From ec9397bab20a628530ce3051167d3d0fcc2c1af7 Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Fri, 21 Jan 2005 05:04:36 +0000 Subject: [PATCH] upgrade to linux 2.6.9-1.11_FC2 --- CREDITS | 156 +- Documentation/DMA-API.txt | 79 + Documentation/DocBook/kernel-hacking.tmpl | 4 +- Documentation/cachetlb.txt | 4 - Documentation/cciss.txt | 3 +- Documentation/cdrom/cdrom-standard.tex | 12 +- Documentation/devices.txt | 120 +- Documentation/filesystems/ntfs.txt | 33 +- Documentation/filesystems/proc.txt | 45 +- Documentation/i386/zero-page.txt | 3 +- Documentation/ioctl-number.txt | 1 + Documentation/kernel-parameters.txt | 90 +- Documentation/laptop-mode.txt | 2 +- Documentation/networking/ip-sysctl.txt | 5 + Documentation/pci.txt | 11 +- Documentation/power/swsusp.txt | 32 +- Documentation/scsi/scsi_mid_low_api.txt | 252 +- .../sound/alsa/ALSA-Configuration.txt | 31 +- .../alsa/DocBook/writing-an-alsa-driver.tmpl | 456 +- Documentation/sysctl/kernel.txt | 20 + Documentation/sysctl/vm.txt | 2 +- Documentation/sysrq.txt | 8 - Documentation/vm/hugetlbpage.txt | 9 +- MAINTAINERS | 165 +- Makefile | 336 +- TAGS | 367509 --------------- arch/alpha/Kconfig | 108 +- arch/alpha/Makefile | 16 +- arch/alpha/defconfig | 140 +- arch/alpha/kernel/core_cia.c | 4 +- arch/alpha/kernel/core_irongate.c | 20 +- arch/alpha/kernel/core_marvel.c | 227 +- arch/alpha/kernel/core_titan.c | 50 +- arch/alpha/kernel/err_titan.c | 2 +- arch/alpha/kernel/irq.c | 44 +- arch/alpha/kernel/machvec_impl.h | 101 +- arch/alpha/kernel/osf_sys.c | 142 +- arch/alpha/kernel/process.c | 3 +- arch/alpha/kernel/ptrace.c | 21 +- arch/alpha/kernel/signal.c | 41 +- arch/alpha/kernel/smp.c | 21 +- arch/alpha/kernel/sys_dp264.c | 13 +- arch/alpha/kernel/sys_eiger.c | 1 - arch/alpha/kernel/sys_ruffian.c | 1 - arch/alpha/kernel/sys_sx164.c | 1 - arch/alpha/kernel/sys_takara.c | 1 - arch/alpha/kernel/systbls.S | 1 + arch/alpha/kernel/time.c | 6 +- arch/alpha/kernel/traps.c | 4 +- arch/alpha/lib/csum_partial_copy.c | 5 +- arch/alpha/mm/fault.c | 2 +- arch/alpha/mm/numa.c | 2 +- arch/arm/Kconfig | 199 +- arch/arm/Makefile | 18 +- arch/arm/boot/Makefile | 10 + arch/arm/boot/compressed/Makefile | 13 +- arch/arm/boot/compressed/head-xscale.S | 31 +- arch/arm/boot/compressed/head.S | 39 + arch/arm/common/dmabounce.c | 34 +- arch/arm/common/sa1111.c | 17 +- arch/arm/kernel/Makefile | 5 +- arch/arm/kernel/armksyms.c | 93 +- arch/arm/kernel/asm-offsets.c | 16 +- arch/arm/kernel/bios32.c | 61 +- arch/arm/kernel/debug.S | 98 +- arch/arm/kernel/ecard.c | 82 +- arch/arm/kernel/entry-armv.S | 220 +- arch/arm/kernel/irq.c | 19 +- arch/arm/kernel/process.c | 6 + arch/arm/kernel/ptrace.c | 9 +- arch/arm/kernel/semaphore.c | 8 +- arch/arm/kernel/setup.c | 3 +- arch/arm/kernel/signal.c | 152 +- arch/arm/kernel/sys_arm.c | 9 +- arch/arm/kernel/time.c | 76 +- arch/arm/kernel/traps.c | 6 +- arch/arm/mach-integrator/cpu.c | 8 +- arch/arm/mach-integrator/impd1.c | 191 + arch/arm/mach-integrator/integrator_cp.c | 76 + arch/arm/mach-iop3xx/arch.c | 58 +- arch/arm/mach-iop3xx/iop321-time.c | 64 +- arch/arm/mach-lh7a40x/arch-lpd7a40x.c | 11 +- arch/arm/mach-omap/Makefile | 10 +- arch/arm/mach-omap/board-generic.c | 56 +- arch/arm/mach-omap/board-innovator.c | 58 +- arch/arm/mach-omap/board-osk.c | 4 +- arch/arm/mach-omap/board-perseus2.c | 15 +- arch/arm/mach-omap/common.h | 1 - arch/arm/mach-omap/dma.c | 156 +- arch/arm/mach-omap/gpio.c | 28 +- arch/arm/mach-omap/irq.c | 20 +- arch/arm/mach-pxa/Kconfig | 7 +- arch/arm/mach-pxa/dma.c | 1 + arch/arm/mach-pxa/generic.c | 8 + arch/arm/mach-pxa/idp.c | 3 +- arch/arm/mach-pxa/leds-lubbock.c | 1 + arch/arm/mach-pxa/lubbock.c | 1 + arch/arm/mach-pxa/pm.c | 18 +- arch/arm/mach-s3c2410/Kconfig | 42 +- arch/arm/mach-s3c2410/Makefile | 25 +- arch/arm/mach-s3c2410/mach-bast.c | 52 +- arch/arm/mach-s3c2410/mach-h1940.c | 46 +- arch/arm/mach-s3c2410/mach-vr1000.c | 34 +- arch/arm/mach-s3c2410/s3c2410.c | 78 +- arch/arm/mach-s3c2410/s3c2410.h | 32 +- arch/arm/mach-sa1100/cpu-sa1100.c | 4 +- arch/arm/mach-sa1100/cpu-sa1110.c | 4 +- arch/arm/mach-versatile/core.c | 211 +- arch/arm/mm/Kconfig | 6 +- arch/arm/mm/cache-v6.S | 17 + arch/arm/mm/consistent.c | 30 +- arch/arm/mm/fault-armv.c | 67 +- arch/arm/mm/init.c | 13 +- arch/arm/mm/proc-xscale.S | 105 +- arch/arm/tools/mach-types | 60 +- arch/arm26/Kconfig | 117 +- arch/arm26/kernel/irq.c | 6 +- arch/arm26/kernel/ptrace.c | 9 +- arch/arm26/mm/init.c | 6 +- arch/cris/Kconfig | 56 +- arch/cris/Makefile | 6 +- arch/cris/arch-v10/kernel/debugport.c | 2 +- arch/cris/arch-v10/kernel/process.c | 2 +- arch/cris/arch-v10/kernel/ptrace.c | 15 +- arch/cris/arch-v10/kernel/signal.c | 8 +- arch/cris/kernel/Makefile | 2 +- arch/cris/kernel/irq.c | 8 +- arch/h8300/Kconfig | 75 +- arch/h8300/kernel/Makefile | 2 +- arch/h8300/kernel/h8300_ksyms.c | 59 +- arch/h8300/kernel/process.c | 2 +- arch/h8300/kernel/ptrace.c | 17 +- arch/h8300/kernel/signal.c | 8 +- arch/h8300/kernel/vmlinux.lds.S | 3 - arch/h8300/platform/h8300h/generic/timer.c | 4 +- arch/i386/Kconfig | 338 +- arch/i386/Kconfig.debug | 149 +- arch/i386/Kconfig.debug~ | 71 - arch/i386/Makefile | 35 +- arch/i386/boot/Makefile | 4 +- arch/i386/boot/edd.S | 42 +- arch/i386/boot/setup.S | 2 +- arch/i386/boot/video.S | 40 +- arch/i386/kernel/Makefile | 8 +- arch/i386/kernel/acpi/boot.c | 22 +- arch/i386/kernel/acpi/sleep.c | 37 +- arch/i386/kernel/acpi/wakeup.S | 15 - arch/i386/kernel/apic.c | 89 +- arch/i386/kernel/apm.c | 45 +- arch/i386/kernel/asm-offsets.c | 17 +- arch/i386/kernel/cpu/Makefile | 2 +- arch/i386/kernel/cpu/common.c | 31 +- arch/i386/kernel/cpu/cpufreq/gx-suspmod.c | 1 + arch/i386/kernel/cpu/cpufreq/longhaul.c | 309 +- arch/i386/kernel/cpu/cpufreq/longrun.c | 42 +- arch/i386/kernel/cpu/cpufreq/p4-clockmod.c | 4 +- arch/i386/kernel/cpu/cpufreq/powernow-k7.c | 74 +- arch/i386/kernel/cpu/cpufreq/powernow-k8.c | 16 +- arch/i386/kernel/cpu/cpufreq/powernow-k8.h | 2 +- .../kernel/cpu/cpufreq/speedstep-centrino.c | 250 +- arch/i386/kernel/cpu/cpufreq/speedstep-ich.c | 117 +- arch/i386/kernel/cpu/cpufreq/speedstep-smi.c | 7 +- arch/i386/kernel/cpu/intel.c | 134 +- arch/i386/kernel/cpu/mcheck/k7.c | 1 + arch/i386/kernel/cpu/mcheck/non-fatal.c | 1 + arch/i386/kernel/cpu/mcheck/p4.c | 3 + arch/i386/kernel/cpu/mcheck/p5.c | 1 + arch/i386/kernel/cpu/mcheck/p6.c | 1 + arch/i386/kernel/cpu/mcheck/winchip.c | 1 + arch/i386/kernel/cpu/proc.c | 6 +- arch/i386/kernel/dmi_scan.c | 86 +- arch/i386/kernel/doublefault.c | 7 +- arch/i386/kernel/entry.S | 264 +- arch/i386/kernel/head.S | 3 - arch/i386/kernel/i386_ksyms.c | 34 +- arch/i386/kernel/i387.c | 39 +- arch/i386/kernel/i8259.c | 88 +- arch/i386/kernel/init_task.c | 16 +- arch/i386/kernel/io_apic.c | 192 +- arch/i386/kernel/irq.c | 209 +- arch/i386/kernel/ldt.c | 141 +- arch/i386/kernel/microcode.c | 1 + arch/i386/kernel/mpparse.c | 2 +- arch/i386/kernel/nmi.c | 78 +- arch/i386/kernel/process.c | 159 +- arch/i386/kernel/ptrace.c | 13 +- arch/i386/kernel/reboot.c | 40 +- arch/i386/kernel/setup.c | 43 +- arch/i386/kernel/signal.c | 178 +- arch/i386/kernel/smp.c | 60 +- arch/i386/kernel/smpboot.c | 277 +- arch/i386/kernel/sysenter.c | 13 +- arch/i386/kernel/time_hpet.c | 11 +- arch/i386/kernel/timers/timer_tsc.c | 7 +- arch/i386/kernel/traps.c | 341 +- arch/i386/kernel/vm86.c | 8 +- arch/i386/kernel/vmlinux.lds.S | 49 +- arch/i386/kernel/vsyscall-sysenter.S | 5 - arch/i386/kernel/vsyscall.lds | 64 - arch/i386/lib/checksum.S | 6 +- arch/i386/lib/getuser.S | 1 - arch/i386/lib/memcpy.c | 6 +- arch/i386/lib/usercopy.c | 64 +- arch/i386/mach-es7000/es7000.h | 9 +- arch/i386/mach-generic/bigsmp.c | 8 +- arch/i386/mach-voyager/voyager_smp.c | 32 +- arch/i386/math-emu/fpu_proto.h | 1 - arch/i386/math-emu/fpu_system.h | 3 +- arch/i386/mm/discontig.c | 23 +- arch/i386/mm/fault.c | 37 +- arch/i386/mm/highmem.c | 37 +- arch/i386/mm/hugetlbpage.c | 140 + arch/i386/mm/init.c | 448 +- arch/i386/mm/ioremap.c | 22 +- arch/i386/mm/pageattr.c | 29 +- arch/i386/mm/pgtable.c | 103 +- arch/i386/oprofile/op_model_p4.c | 40 +- arch/i386/pci/fixup.c | 218 +- arch/i386/pci/mmconfig.c | 5 +- arch/i386/power/cpu.c | 4 +- arch/i386/power/swsusp.S | 76 +- arch/ia64/Kconfig | 127 +- arch/ia64/Makefile | 18 +- arch/ia64/configs/sn2_defconfig | 49 +- arch/ia64/hp/common/sba_iommu.c | 4 +- arch/ia64/ia32/binfmt_elf32.c | 91 +- arch/ia64/ia32/ia32_entry.S | 8 +- arch/ia64/ia32/ia32_signal.c | 182 +- arch/ia64/ia32/ia32_support.c | 38 +- arch/ia64/ia32/ia32priv.h | 19 +- arch/ia64/ia32/sys_ia32.c | 349 +- arch/ia64/kernel/Makefile | 12 +- arch/ia64/kernel/acpi.c | 85 +- arch/ia64/kernel/asm-offsets.c | 1 + arch/ia64/kernel/cyclone.c | 5 +- arch/ia64/kernel/efi.c | 14 +- arch/ia64/kernel/entry.S | 4 +- arch/ia64/kernel/fsys.S | 367 +- arch/ia64/kernel/head.S | 3 +- arch/ia64/kernel/ia64_ksyms.c | 6 +- arch/ia64/kernel/iosapic.c | 78 +- arch/ia64/kernel/irq.c | 52 +- arch/ia64/kernel/irq_ia64.c | 7 +- arch/ia64/kernel/mca.c | 41 +- arch/ia64/kernel/module.c | 20 +- arch/ia64/kernel/palinfo.c | 4 +- arch/ia64/kernel/perfmon.c | 68 +- arch/ia64/kernel/process.c | 38 +- arch/ia64/kernel/ptrace.c | 111 +- arch/ia64/kernel/sal.c | 38 + arch/ia64/kernel/setup.c | 2 +- arch/ia64/kernel/signal.c | 92 +- arch/ia64/kernel/smp.c | 2 +- arch/ia64/kernel/smpboot.c | 30 +- arch/ia64/kernel/time.c | 218 +- arch/ia64/kernel/traps.c | 34 +- arch/ia64/kernel/unwind.c | 45 +- arch/ia64/mm/contig.c | 17 +- arch/ia64/mm/discontig.c | 60 +- arch/ia64/mm/fault.c | 8 +- arch/ia64/mm/init.c | 36 +- arch/ia64/mm/tlb.c | 2 +- arch/ia64/pci/pci.c | 11 +- arch/ia64/sn/Makefile | 6 +- arch/ia64/sn/kernel/Makefile | 3 +- arch/ia64/sn/kernel/bte.c | 129 +- arch/ia64/sn/kernel/idle.c | 12 +- arch/ia64/sn/kernel/irq.c | 518 +- arch/ia64/sn/kernel/mca.c | 43 +- arch/ia64/sn/kernel/setup.c | 396 +- arch/ia64/sn/kernel/sn2/io.c | 60 +- arch/ia64/sn/kernel/sn2/prominfo_proc.c | 256 +- arch/ia64/sn/kernel/sn2/ptc_deadlock.S | 4 +- arch/ia64/sn/kernel/sn2/sn2_smp.c | 131 +- arch/ia64/sn/kernel/sn2/sn_proc_fs.c | 15 +- arch/ia64/sn/kernel/sn2/timer.c | 19 +- arch/ia64/sn/kernel/sn2/timer_interrupt.c | 15 +- arch/m68k/Kconfig | 43 +- arch/m68k/Makefile | 2 +- arch/m68k/kernel/bios32.c | 5 - arch/m68k/kernel/process.c | 2 +- arch/m68k/kernel/ptrace.c | 9 +- arch/m68k/kernel/signal.c | 8 +- arch/m68k/kernel/vmlinux-std.lds | 3 - arch/m68k/kernel/vmlinux-sun3.lds | 3 - arch/m68k/q40/q40ints.c | 2 +- arch/m68knommu/Kconfig | 66 +- arch/m68knommu/kernel/comempci.c | 2 - arch/m68knommu/kernel/m68k_ksyms.c | 49 +- arch/m68knommu/kernel/process.c | 2 +- arch/m68knommu/kernel/ptrace.c | 15 +- arch/mips/Kconfig | 146 +- arch/mips/Makefile | 8 +- arch/mips/baget/irq.c | 7 +- arch/mips/configs/jaguar-atx_defconfig | 8 +- arch/mips/configs/ocelot_c_defconfig | 2 +- arch/mips/configs/tb0226_defconfig | 1 - arch/mips/configs/tb0229_defconfig | 1 - arch/mips/kernel/Makefile | 2 +- arch/mips/kernel/irixsig.c | 4 +- arch/mips/kernel/irq.c | 45 +- arch/mips/kernel/mips_ksyms.c | 44 +- arch/mips/kernel/ptrace.c | 2 +- arch/mips/kernel/ptrace32.c | 2 +- arch/mips/kernel/signal.c | 17 +- arch/mips/kernel/signal32.c | 8 +- arch/mips/kernel/signal_n32.c | 4 +- arch/mips/kernel/smp.c | 23 +- arch/mips/kernel/syscall.c | 4 +- arch/mips/kernel/sysirix.c | 4 +- arch/mips/kernel/time.c | 20 +- arch/mips/momentum/jaguar_atx/prom.c | 4 +- arch/mips/momentum/ocelot_c/prom.c | 6 +- arch/mips/pci/fixup-au1000.c | 4 - arch/mips/pci/fixup-capcella.c | 4 - arch/mips/pci/fixup-tb0226.c | 4 - arch/mips/pci/fixup-yosemite.c | 4 - arch/mips/vr41xx/common/giu.c | 7 +- arch/mips/vr41xx/common/icu.c | 222 +- arch/mips/vr41xx/common/serial.c | 4 +- arch/mips/vr41xx/common/vrc4173.c | 90 + arch/parisc/Kconfig | 70 +- arch/parisc/kernel/Makefile | 2 +- arch/parisc/kernel/asm-offsets.c | 4 +- arch/parisc/kernel/cache.c | 5 +- arch/parisc/kernel/hardware.c | 2 +- arch/parisc/kernel/process.c | 2 +- arch/parisc/kernel/ptrace.c | 9 +- arch/parisc/kernel/smp.c | 23 +- arch/parisc/kernel/vmlinux.lds.S | 4 +- arch/parisc/mm/init.c | 2 +- arch/ppc/8260_io/fcc_enet.c | 4 +- arch/ppc/8xx_io/uart.c | 2 +- arch/ppc/Kconfig | 165 +- arch/ppc/Makefile | 34 +- arch/ppc/boot/Makefile | 4 +- arch/ppc/boot/common/misc-common.c | 30 +- arch/ppc/boot/simple/Makefile | 7 +- arch/ppc/boot/simple/misc.c | 16 +- arch/ppc/kernel/Makefile | 3 +- arch/ppc/kernel/align.c | 163 +- arch/ppc/kernel/asm-offsets.c | 7 + arch/ppc/kernel/cputable.c | 115 +- arch/ppc/kernel/entry.S | 4 +- arch/ppc/kernel/head.S | 18 +- arch/ppc/kernel/head_44x.S | 237 +- arch/ppc/kernel/irq.c | 44 +- arch/ppc/kernel/misc.S | 41 +- arch/ppc/kernel/ppc_ksyms.c | 4 + arch/ppc/kernel/process.c | 7 +- arch/ppc/kernel/ptrace.c | 2 +- arch/ppc/kernel/setup.c | 8 +- arch/ppc/kernel/signal.c | 33 +- arch/ppc/kernel/smp.c | 10 +- arch/ppc/kernel/time.c | 43 +- arch/ppc/kernel/traps.c | 51 +- arch/ppc/kernel/vmlinux.lds.S | 4 +- arch/ppc/mm/hashtable.S | 4 +- arch/ppc/mm/init.c | 5 + arch/ppc/mm/pgtable.c | 13 + arch/ppc/platforms/4xx/ebony.c | 168 +- arch/ppc/platforms/4xx/ebony.h | 18 +- arch/ppc/platforms/4xx/ocotea.c | 271 +- arch/ppc/platforms/4xx/ocotea.h | 15 +- arch/ppc/platforms/Makefile | 8 +- arch/ppc/platforms/est8260.h | 3 + arch/ppc/platforms/pmac_cpufreq.c | 12 +- arch/ppc/platforms/pmac_feature.c | 2 +- arch/ppc/platforms/pmac_setup.c | 3 - arch/ppc/platforms/pmac_sleep.S | 2 +- arch/ppc/platforms/pplus.c | 2 - arch/ppc/platforms/prep_setup.c | 218 +- arch/ppc/platforms/sandpoint.c | 4 - arch/ppc/platforms/sbc82xx.c | 58 +- arch/ppc/platforms/sbc82xx.h | 4 + arch/ppc/platforms/tqm8260.h | 4 + arch/ppc/platforms/tqm8260_setup.c | 41 +- arch/ppc/syslib/Makefile | 4 +- arch/ppc/syslib/m8260_setup.c | 84 +- arch/ppc/syslib/m8xx_setup.c | 6 + arch/ppc/syslib/open_pic.c | 10 +- arch/ppc/syslib/ppc4xx_pic.c | 2 +- arch/ppc/syslib/prom_init.c | 24 +- arch/ppc64/Kconfig | 146 +- arch/ppc64/Makefile | 23 +- arch/ppc64/boot/Makefile | 20 +- arch/ppc64/boot/main.c | 1 + arch/ppc64/boot/zImage.lds | 2 +- arch/ppc64/configs/iSeries_defconfig | 109 +- arch/ppc64/kernel/ItLpQueue.c | 2 +- arch/ppc64/kernel/Makefile | 17 +- arch/ppc64/kernel/asm-offsets.c | 19 +- arch/ppc64/kernel/eeh.c | 352 +- arch/ppc64/kernel/entry.S | 47 +- arch/ppc64/kernel/head.S | 264 +- arch/ppc64/kernel/iSeries_pci.c | 2 + arch/ppc64/kernel/iSeries_setup.c | 178 +- arch/ppc64/kernel/idle.c | 226 +- arch/ppc64/kernel/ioctl32.c | 2 - arch/ppc64/kernel/iommu.c | 26 +- arch/ppc64/kernel/irq.c | 72 +- arch/ppc64/kernel/lparcfg.c | 250 +- arch/ppc64/kernel/mf_proc.c | 30 +- arch/ppc64/kernel/misc.S | 137 +- arch/ppc64/kernel/open_pic.c | 5 - arch/ppc64/kernel/pSeries_lpar.c | 82 +- arch/ppc64/kernel/pSeries_pci.c | 610 +- arch/ppc64/kernel/pacaData.c | 31 +- arch/ppc64/kernel/pci.c | 154 +- arch/ppc64/kernel/pci.h | 8 +- arch/ppc64/kernel/pci_dn.c | 8 +- arch/ppc64/kernel/pmac_smp.c | 1 - arch/ppc64/kernel/ppc_ksyms.c | 15 +- arch/ppc64/kernel/process.c | 29 +- arch/ppc64/kernel/prom.c | 2439 +- arch/ppc64/kernel/ptrace.c | 5 +- arch/ppc64/kernel/ptrace32.c | 2 +- arch/ppc64/kernel/ras.c | 8 +- arch/ppc64/kernel/rtas-proc.c | 2 +- arch/ppc64/kernel/rtas.c | 131 +- arch/ppc64/kernel/rtasd.c | 146 +- arch/ppc64/kernel/rtc.c | 2 +- arch/ppc64/kernel/setup.c | 909 +- arch/ppc64/kernel/signal.c | 33 +- arch/ppc64/kernel/signal32.c | 51 +- arch/ppc64/kernel/smp.c | 380 +- arch/ppc64/kernel/sys_ppc32.c | 36 +- arch/ppc64/kernel/sysfs.c | 84 +- arch/ppc64/kernel/time.c | 103 +- arch/ppc64/kernel/traps.c | 245 +- arch/ppc64/kernel/udbg.c | 56 +- arch/ppc64/kernel/vio.c | 4 + arch/ppc64/kernel/viopath.c | 2 +- arch/ppc64/kernel/xics.c | 2 +- arch/ppc64/mm/Makefile | 4 +- arch/ppc64/mm/hash_utils.c | 95 +- arch/ppc64/mm/hugetlbpage.c | 104 +- arch/ppc64/mm/init.c | 264 +- arch/ppc64/mm/numa.c | 374 +- arch/ppc64/mm/tlb.c | 2 +- arch/ppc64/oprofile/common.c | 21 +- arch/ppc64/oprofile/op_model_power4.c | 33 +- arch/ppc64/xmon/xmon.c | 42 +- arch/s390/Kconfig | 187 +- arch/s390/Makefile | 34 +- arch/s390/defconfig | 34 +- arch/s390/kernel/Makefile | 4 +- arch/s390/kernel/binfmt_elf32.c | 29 +- arch/s390/kernel/compat_exec.c | 14 +- arch/s390/kernel/compat_linux.c | 5 +- arch/s390/kernel/compat_signal.c | 45 +- arch/s390/kernel/debug.c | 13 +- arch/s390/kernel/entry.S | 103 +- arch/s390/kernel/entry64.S | 107 +- arch/s390/kernel/head.S | 6 +- arch/s390/kernel/head64.S | 6 +- arch/s390/kernel/process.c | 97 +- arch/s390/kernel/ptrace.c | 2 +- arch/s390/kernel/s390_ksyms.c | 21 +- arch/s390/kernel/setup.c | 51 +- arch/s390/kernel/signal.c | 25 +- arch/s390/kernel/smp.c | 30 +- arch/s390/kernel/time.c | 42 +- arch/s390/kernel/traps.c | 120 +- arch/s390/mm/fault.c | 8 +- arch/sh/Kconfig | 162 +- arch/sh/Makefile | 4 +- arch/sh/boot/compressed/Makefile | 2 +- arch/sh/drivers/pci/pci-sh7751.c | 9 +- arch/sh/kernel/Makefile | 2 +- arch/sh/kernel/irq.c | 8 +- arch/sh/kernel/kgdb_stub.c | 2 +- arch/sh/kernel/process.c | 2 +- arch/sh/kernel/ptrace.c | 2 +- arch/sh/kernel/sh_ksyms.c | 3 +- arch/sh/kernel/smp.c | 10 +- arch/sh/kernel/time.c | 35 +- arch/sh/kernel/vmlinux.lds.S | 4 +- arch/sh/mm/init.c | 6 +- arch/sh/mm/tlb-sh3.c | 1 - arch/sparc/Kconfig | 80 +- arch/sparc/Makefile | 2 +- arch/sparc/kernel/init_task.c | 2 +- arch/sparc/kernel/irq.c | 1 - arch/sparc/kernel/process.c | 2 - arch/sparc/kernel/ptrace.c | 9 +- arch/sparc/kernel/setup.c | 1 - arch/sparc/kernel/signal.c | 37 +- arch/sparc/kernel/smp.c | 1 - arch/sparc/kernel/sparc_ksyms.c | 8 +- arch/sparc/kernel/sun4m_smp.c | 18 +- arch/sparc/kernel/systbls.S | 2 +- arch/sparc/kernel/time.c | 53 +- arch/sparc/mm/sun4c.c | 4 +- arch/sparc64/Kconfig | 113 +- arch/sparc64/Makefile | 8 +- arch/sparc64/defconfig | 63 +- arch/sparc64/kernel/auxio.c | 11 +- arch/sparc64/kernel/head.S | 5 +- arch/sparc64/kernel/irq.c | 20 +- arch/sparc64/kernel/pci.c | 8 - arch/sparc64/kernel/pci_psycho.c | 28 +- arch/sparc64/kernel/pci_schizo.c | 24 +- arch/sparc64/kernel/power.c | 11 +- arch/sparc64/kernel/process.c | 2 - arch/sparc64/kernel/ptrace.c | 9 +- arch/sparc64/kernel/setup.c | 1 - arch/sparc64/kernel/signal.c | 37 +- arch/sparc64/kernel/signal32.c | 135 +- arch/sparc64/kernel/smp.c | 15 +- arch/sparc64/kernel/sparc64_ksyms.c | 40 +- arch/sparc64/kernel/sys32.S | 2 +- arch/sparc64/kernel/sys_sparc32.c | 38 +- arch/sparc64/kernel/systbls.S | 4 +- arch/sparc64/kernel/time.c | 181 +- arch/sparc64/kernel/traps.c | 141 +- arch/sparc64/lib/Makefile | 11 +- arch/sparc64/lib/debuglocks.c | 2 +- arch/sparc64/mm/fault.c | 11 +- arch/sparc64/mm/init.c | 19 +- arch/um/Kconfig | 103 +- arch/um/Kconfig_block | 13 +- arch/um/Kconfig_char | 4 + arch/um/Kconfig_net | 2 +- arch/um/Makefile | 143 +- arch/um/Makefile-i386 | 30 +- arch/um/Makefile-skas | 9 +- arch/um/defconfig | 35 +- arch/um/drivers/Makefile | 1 - arch/um/drivers/chan_kern.c | 54 +- arch/um/drivers/chan_user.c | 27 +- arch/um/drivers/daemon_user.c | 2 +- arch/um/drivers/fd.c | 2 +- arch/um/drivers/harddog_user.c | 2 +- arch/um/drivers/hostaudio_kern.c | 10 +- arch/um/drivers/line.c | 15 +- arch/um/drivers/mconsole_kern.c | 14 +- arch/um/drivers/net_kern.c | 9 +- arch/um/drivers/net_user.c | 13 +- arch/um/drivers/port_user.c | 6 +- arch/um/drivers/pty.c | 4 +- arch/um/drivers/slirp_user.c | 2 +- arch/um/drivers/ssl.c | 6 +- arch/um/drivers/stdio_console.c | 6 +- arch/um/drivers/tty.c | 4 +- arch/um/drivers/ubd_kern.c | 139 +- arch/um/drivers/ubd_user.c | 26 +- arch/um/include/mem.h | 2 +- arch/um/include/mem_user.h | 4 +- arch/um/include/os.h | 31 +- arch/um/include/sysdep-i386/checksum.h | 3 +- arch/um/include/sysdep-i386/syscalls.h | 2 +- arch/um/include/ubd_user.h | 2 +- arch/um/include/um_uaccess.h | 2 +- arch/um/kernel/Makefile | 38 +- arch/um/kernel/frame_kern.c | 2 +- arch/um/kernel/helper.c | 17 +- arch/um/kernel/initrd_user.c | 2 +- arch/um/kernel/irq.c | 51 +- arch/um/kernel/ksyms.c | 5 +- arch/um/kernel/mem.c | 4 +- arch/um/kernel/mem_user.c | 33 - arch/um/kernel/process.c | 68 +- arch/um/kernel/process_kern.c | 10 +- arch/um/kernel/ptrace.c | 9 +- arch/um/kernel/sigio_kern.c | 2 +- arch/um/kernel/sigio_user.c | 8 +- arch/um/kernel/signal_kern.c | 25 +- arch/um/kernel/skas/Makefile | 16 +- arch/um/kernel/skas/include/mode.h | 4 +- arch/um/kernel/skas/include/ptrace-skas.h | 10 + arch/um/kernel/skas/mem_user.c | 4 +- arch/um/kernel/skas/process.c | 69 +- arch/um/kernel/skas/process_kern.c | 76 +- arch/um/kernel/skas/sys-i386/sigcontext.c | 4 +- arch/um/kernel/skas/util/Makefile | 11 +- arch/um/kernel/smp.c | 25 +- arch/um/kernel/sys_call_table.c | 2 - arch/um/kernel/syscall_kern.c | 13 +- arch/um/kernel/time.c | 4 +- arch/um/kernel/time_kern.c | 4 +- arch/um/kernel/trap_kern.c | 8 +- arch/um/kernel/tt/process_kern.c | 36 +- arch/um/kernel/tt/tracer.c | 3 +- arch/um/kernel/tty_log.c | 6 +- arch/um/kernel/um_arch.c | 4 +- arch/um/kernel/umid.c | 3 +- arch/um/kernel/user_util.c | 12 +- arch/um/os-Linux/Makefile | 10 +- arch/um/os-Linux/drivers/tuntap_user.c | 2 +- arch/um/os-Linux/file.c | 285 +- arch/um/os-Linux/process.c | 8 +- arch/um/sys-i386/Makefile | 5 +- arch/um/sys-i386/bugs.c | 10 +- arch/um/sys-i386/fault.c | 2 +- arch/um/sys-i386/ptrace_user.c | 4 +- arch/um/sys-i386/util/Makefile | 8 +- arch/um/util/Makefile | 7 +- arch/v850/Kconfig | 32 +- arch/v850/kernel/irq.c | 6 +- arch/v850/kernel/ptrace.c | 19 +- arch/v850/kernel/setup.c | 4 +- arch/v850/kernel/time.c | 23 +- arch/v850/kernel/vmlinux.lds.S | 3 - arch/x86_64/Kconfig | 172 +- arch/x86_64/Makefile | 11 +- arch/x86_64/boot/video.S | 4 +- arch/x86_64/defconfig | 60 +- arch/x86_64/ia32/ia32_binfmt.c | 17 +- arch/x86_64/ia32/ia32_ioctl.c | 15 - arch/x86_64/ia32/ia32_signal.c | 64 +- arch/x86_64/ia32/ia32entry.S | 50 +- arch/x86_64/ia32/ptrace32.c | 6 +- arch/x86_64/ia32/sys_ia32.c | 152 +- arch/x86_64/ia32/syscall32.c | 25 +- arch/x86_64/kernel/Makefile | 6 +- arch/x86_64/kernel/apic.c | 30 + arch/x86_64/kernel/e820.c | 2 - arch/x86_64/kernel/i8259.c | 69 +- arch/x86_64/kernel/init_task.c | 3 +- arch/x86_64/kernel/io_apic.c | 272 +- arch/x86_64/kernel/irq.c | 49 +- arch/x86_64/kernel/ldt.c | 10 +- arch/x86_64/kernel/mce.c | 134 +- arch/x86_64/kernel/msr.c | 325 +- arch/x86_64/kernel/pci-gart.c | 290 +- arch/x86_64/kernel/process.c | 85 +- arch/x86_64/kernel/ptrace.c | 23 +- arch/x86_64/kernel/reboot.c | 83 +- arch/x86_64/kernel/setup.c | 189 +- arch/x86_64/kernel/setup64.c | 39 +- arch/x86_64/kernel/signal.c | 58 +- arch/x86_64/kernel/smp.c | 57 +- arch/x86_64/kernel/smpboot.c | 28 +- arch/x86_64/kernel/suspend.c | 2 +- arch/x86_64/kernel/sys_x86_64.c | 88 + arch/x86_64/kernel/time.c | 160 +- arch/x86_64/kernel/traps.c | 92 +- arch/x86_64/kernel/vmlinux.lds.S | 4 +- arch/x86_64/kernel/x8664_ksyms.c | 87 +- arch/x86_64/lib/Makefile | 2 +- arch/x86_64/lib/copy_user.S | 16 +- arch/x86_64/lib/csum-wrappers.c | 2 + arch/x86_64/lib/usercopy.c | 2 + arch/x86_64/mm/fault.c | 100 +- arch/x86_64/mm/init.c | 23 +- arch/x86_64/mm/ioremap.c | 12 +- arch/x86_64/mm/numa.c | 57 +- arch/x86_64/pci/mmconfig.c | 3 - configs/kernel-2.6.9-i686-planetlab.config | 1128 + crypto/Kconfig | 14 +- crypto/Makefile | 3 + crypto/api.c | 6 +- crypto/sha1.c | 3 +- crypto/tcrypt.c | 22 +- crypto/tcrypt.h | 255 +- crypto/twofish.c | 4 +- drivers/Makefile | 12 +- drivers/acpi/Kconfig | 26 + drivers/acpi/acpi_ksyms.c | 2 + drivers/acpi/asus_acpi.c | 184 +- drivers/acpi/bus.c | 96 +- drivers/acpi/button.c | 9 + drivers/acpi/debug.c | 105 +- drivers/acpi/dispatcher/dsopcode.c | 4 +- drivers/acpi/ec.c | 13 +- drivers/acpi/events/evxface.c | 191 +- drivers/acpi/executer/exoparg2.c | 43 +- drivers/acpi/namespace/nsalloc.c | 2 +- drivers/acpi/osl.c | 88 +- drivers/acpi/pci_link.c | 80 +- drivers/acpi/power.c | 80 + drivers/acpi/processor.c | 81 +- drivers/acpi/scan.c | 193 +- drivers/acpi/sleep/main.c | 36 +- drivers/acpi/tables.c | 4 +- drivers/acpi/tables/tbconvrt.c | 18 +- drivers/acpi/thermal.c | 88 +- drivers/acpi/utilities/utglobal.c | 4 +- drivers/atm/ambassador.c | 5 +- drivers/atm/firestream.c | 5 +- drivers/atm/fore200e.h | 2 +- drivers/atm/he.c | 17 +- drivers/atm/idt77252.c | 81 +- drivers/atm/lanai.c | 12 +- drivers/base/bus.c | 30 +- drivers/base/class.c | 47 +- drivers/base/core.c | 22 +- drivers/base/driver.c | 16 +- drivers/base/firmware.c | 4 +- drivers/base/firmware_class.c | 5 +- drivers/base/node.c | 13 +- drivers/base/platform.c | 16 +- drivers/base/sys.c | 16 +- drivers/block/DAC960.c | 42 +- drivers/block/Kconfig | 11 +- drivers/block/Makefile | 1 + drivers/block/cciss.c | 175 +- drivers/block/cfq-iosched.c | 2 +- drivers/block/cpqarray.c | 15 +- drivers/block/genhd.c | 4 + drivers/block/ioctl.c | 3 +- drivers/block/ll_rw_blk.c | 307 +- drivers/block/paride/paride.c | 4 +- drivers/block/paride/paride.h | 2 - drivers/block/rd.c | 9 +- drivers/block/scsi_ioctl.c | 42 +- drivers/block/umem.c | 10 +- drivers/bluetooth/hci_ldisc.c | 8 +- drivers/bluetooth/hci_usb.c | 2 +- drivers/cdrom/cdrom.c | 179 +- drivers/cdrom/cdu31a.c | 396 +- drivers/cdrom/cdu31a.h | 4 +- drivers/cdrom/viocd.c | 119 +- drivers/char/Kconfig | 53 +- drivers/char/Makefile | 9 +- drivers/char/agp/Kconfig | 4 +- drivers/char/agp/agp.h | 10 - drivers/char/agp/ali-agp.c | 8 + drivers/char/agp/amd-k7-agp.c | 62 +- drivers/char/agp/amd64-agp.c | 87 +- drivers/char/agp/ati-agp.c | 51 +- drivers/char/agp/generic.c | 46 +- drivers/char/agp/hp-agp.c | 51 +- drivers/char/agp/intel-agp.c | 242 +- drivers/char/agp/intel-mch-agp.c | 48 +- drivers/char/agp/nvidia-agp.c | 29 +- drivers/char/agp/sis-agp.c | 4 + drivers/char/agp/sworks-agp.c | 69 +- drivers/char/agp/via-agp.c | 33 +- drivers/char/applicom.c | 28 +- drivers/char/cyclades.c | 648 +- drivers/char/drm/Kconfig | 29 +- drivers/char/drm/drmP.h | 233 +- drivers/char/drm/drm_agpsupport.h | 5 +- drivers/char/drm/drm_bufs.h | 137 +- drivers/char/drm/drm_context.h | 20 +- drivers/char/drm/drm_dma.h | 53 +- drivers/char/drm/drm_drv.h | 532 +- drivers/char/drm/drm_fops.h | 15 +- drivers/char/drm/drm_ioctl.h | 6 +- drivers/char/drm/drm_memory_debug.h | 2 +- drivers/char/drm/drm_os_linux.h | 42 +- drivers/char/drm/drm_vm.h | 44 +- drivers/char/drm/ffb.h | 4 - drivers/char/drm/ffb_drv.c | 214 +- drivers/char/drm/gamma.h | 39 +- drivers/char/drm/gamma_dma.c | 78 +- drivers/char/drm/gamma_drv.c | 1 + drivers/char/drm/i810.h | 47 - drivers/char/drm/i810_dma.c | 46 +- drivers/char/drm/i830.h | 50 - drivers/char/drm/i830_dma.c | 58 +- drivers/char/drm/i830_drv.c | 18 +- drivers/char/drm/i830_irq.c | 12 +- drivers/char/drm/mga.h | 35 - drivers/char/drm/mga_dma.c | 59 +- drivers/char/drm/mga_drv.c | 17 +- drivers/char/drm/mga_drv.h | 6 + drivers/char/drm/mga_irq.c | 4 +- drivers/char/drm/r128.h | 45 - drivers/char/drm/r128_cce.c | 45 +- drivers/char/drm/r128_drv.c | 18 +- drivers/char/drm/r128_drv.h | 7 +- drivers/char/drm/r128_irq.c | 4 +- drivers/char/drm/r128_state.c | 36 +- drivers/char/drm/radeon.h | 61 - drivers/char/drm/radeon_cp.c | 54 +- drivers/char/drm/radeon_drv.c | 18 +- drivers/char/drm/radeon_drv.h | 9 +- drivers/char/drm/radeon_irq.c | 4 +- drivers/char/drm/radeon_state.c | 83 +- drivers/char/drm/sis_mm.c | 18 +- drivers/char/drm/tdfx.h | 2 - drivers/char/drm/tdfx_drv.c | 20 +- drivers/char/esp.c | 21 +- drivers/char/ip2main.c | 17 +- drivers/char/ipmi/ipmi_bt_sm.c | 2 +- drivers/char/ipmi/ipmi_devintf.c | 2 +- drivers/char/ipmi/ipmi_kcs_sm.c | 2 +- drivers/char/ipmi/ipmi_msghandler.c | 58 +- drivers/char/ipmi/ipmi_si_intf.c | 360 +- drivers/char/ipmi/ipmi_smic_sm.c | 2 +- drivers/char/ipmi/ipmi_watchdog.c | 71 +- drivers/char/istallion.c | 40 +- drivers/char/keyboard.c | 33 +- drivers/char/mem.c | 19 +- drivers/char/moxa.c | 3 - drivers/char/mxser.c | 150 +- drivers/char/n_tty.c | 382 +- drivers/char/pcmcia/synclink_cs.c | 637 +- drivers/char/pty.c | 171 +- drivers/char/random.c | 236 +- drivers/char/rocket.c | 38 +- drivers/char/selection.c | 14 +- drivers/char/sonypi.c | 5 +- drivers/char/sonypi.h | 2 - drivers/char/stallion.c | 13 +- drivers/char/synclinkmp.c | 783 +- drivers/char/sysrq.c | 13 +- drivers/char/tty_io.c | 704 +- drivers/char/tty_ioctl.c | 63 +- drivers/char/vt.c | 58 +- drivers/char/vt_ioctl.c | 3 +- drivers/char/watchdog/Kconfig | 6 + drivers/char/watchdog/Makefile | 1 + drivers/char/watchdog/cpu5wdt.c | 3 +- drivers/char/watchdog/i8xx_tco.c | 2 +- drivers/char/watchdog/ib700wdt.c | 1 + drivers/char/watchdog/indydog.c | 1 + drivers/char/watchdog/machzwd.c | 1 + drivers/char/watchdog/mixcomwd.c | 1 + drivers/char/watchdog/sa1100_wdt.c | 5 + drivers/char/watchdog/sc1200wdt.c | 1 + drivers/char/watchdog/scx200_wdt.c | 1 + drivers/char/watchdog/wdt_pci.c | 2 +- drivers/cpufreq/cpufreq.c | 172 +- drivers/cpufreq/cpufreq_userspace.c | 27 + drivers/firmware/Kconfig | 5 +- drivers/firmware/edd.c | 8 +- drivers/i2c/algos/i2c-algo-bit.c | 4 +- drivers/i2c/busses/Kconfig | 34 + drivers/i2c/busses/Makefile | 3 + drivers/i2c/busses/i2c-ali1563.c | 2 +- drivers/i2c/busses/i2c-ali15x3.c | 6 +- drivers/i2c/busses/i2c-amd756.c | 2 +- drivers/i2c/busses/i2c-amd8111.c | 2 +- drivers/i2c/busses/i2c-elektor.c | 10 +- drivers/i2c/busses/i2c-i801.c | 6 +- drivers/i2c/busses/i2c-ibm_iic.c | 8 +- drivers/i2c/busses/i2c-keywest.c | 9 +- drivers/i2c/busses/i2c-nforce2.c | 5 +- drivers/i2c/busses/i2c-parport-light.c | 4 +- drivers/i2c/busses/i2c-parport.h | 2 +- drivers/i2c/busses/i2c-piix4.c | 2 +- drivers/i2c/busses/i2c-sis5595.c | 6 +- drivers/i2c/busses/i2c-sis630.c | 17 +- drivers/i2c/busses/i2c-sis96x.c | 2 +- drivers/i2c/busses/i2c-via.c | 2 +- drivers/i2c/busses/i2c-viapro.c | 8 +- drivers/i2c/busses/i2c-voodoo3.c | 2 +- drivers/i2c/busses/scx200_acb.c | 6 +- drivers/i2c/busses/scx200_i2c.c | 10 +- drivers/i2c/chips/Kconfig | 27 +- drivers/i2c/chips/Makefile | 3 + drivers/i2c/chips/adm1021.c | 2 +- drivers/i2c/chips/asb100.c | 9 +- drivers/i2c/chips/eeprom.c | 2 +- drivers/i2c/chips/it87.c | 60 +- drivers/i2c/chips/lm78.c | 4 +- drivers/i2c/chips/lm83.c | 23 +- drivers/i2c/chips/lm85.c | 9 +- drivers/i2c/chips/via686a.c | 4 +- drivers/i2c/chips/w83627hf.c | 16 +- drivers/i2c/chips/w83781d.c | 13 +- drivers/ide/Kconfig | 25 +- drivers/ide/ide-cd.c | 195 +- drivers/ide/ide-disk.c | 212 +- drivers/ide/ide-dma.c | 14 +- drivers/ide/ide-floppy.c | 39 +- drivers/ide/ide-io.c | 299 +- drivers/ide/ide-iops.c | 109 +- drivers/ide/ide-pnp.c | 2 +- drivers/ide/ide-probe.c | 82 +- drivers/ide/ide-proc.c | 336 +- drivers/ide/ide-tape.c | 74 - drivers/ide/ide-taskfile.c | 241 +- drivers/ide/ide.c | 639 +- drivers/ide/legacy/ide-cs.c | 24 +- drivers/ide/legacy/pdc4030.c | 116 +- drivers/ide/pci/Makefile | 2 + drivers/ide/pci/aec62xx.c | 49 +- drivers/ide/pci/aec62xx.h | 7 - drivers/ide/pci/alim15x3.c | 5 +- drivers/ide/pci/amd74xx.c | 5 +- drivers/ide/pci/atiixp.c | 2 +- drivers/ide/pci/cmd64x.c | 19 +- drivers/ide/pci/cmd64x.h | 4 - drivers/ide/pci/cs5520.c | 6 +- drivers/ide/pci/generic.c | 69 +- drivers/ide/pci/generic.h | 31 +- drivers/ide/pci/hpt34x.h | 2 - drivers/ide/pci/hpt366.c | 49 +- drivers/ide/pci/it8172.c | 4 +- drivers/ide/pci/ns87415.c | 2 +- drivers/ide/pci/opti621.c | 2 +- drivers/ide/pci/pdc202xx_new.c | 2 +- drivers/ide/pci/pdc202xx_old.c | 16 +- drivers/ide/pci/pdc202xx_old.h | 71 - drivers/ide/pci/piix.c | 45 +- drivers/ide/pci/rz1000.c | 2 +- drivers/ide/pci/sc1200.c | 2 +- drivers/ide/pci/serverworks.c | 22 +- drivers/ide/pci/sgiioc4.c | 29 +- drivers/ide/pci/siimage.c | 73 +- drivers/ide/pci/sis5513.c | 12 +- drivers/ide/pci/sl82c105.c | 2 +- drivers/ide/pci/slc90e66.c | 2 +- drivers/ide/pci/triflex.c | 64 +- drivers/ide/pci/trm290.c | 3 +- drivers/ide/pci/via82cxxx.c | 2 +- drivers/ide/setup-pci.c | 92 +- drivers/ieee1394/eth1394.c | 4 +- drivers/input/gameport/vortex.c | 6 +- drivers/input/joydev.c | 6 +- drivers/input/joystick/grip_mp.c | 3 +- drivers/input/keyboard/atkbd.c | 289 +- drivers/input/misc/Kconfig | 2 +- drivers/input/misc/uinput.c | 3 + drivers/input/mouse/Kconfig | 2 - drivers/input/mousedev.c | 237 +- drivers/input/serio/Kconfig | 18 +- drivers/input/serio/ambakmi.c | 44 +- drivers/input/serio/i8042-io.h | 31 + drivers/input/serio/i8042.c | 390 +- drivers/input/serio/sa1111ps2.c | 41 +- drivers/input/serio/serport.c | 49 +- drivers/input/tsdev.c | 301 +- drivers/isdn/act2000/act2000_isa.c | 5 +- drivers/isdn/capi/capi.c | 90 +- drivers/isdn/capi/capidrv.c | 3 +- drivers/isdn/hardware/eicon/capifunc.c | 5 +- drivers/isdn/hardware/eicon/debug.c | 488 +- drivers/isdn/hardware/eicon/diddfunc.c | 4 +- drivers/isdn/hardware/eicon/divamnt.c | 236 +- drivers/isdn/hardware/eicon/divasfunc.c | 12 +- drivers/isdn/hardware/eicon/idifunc.c | 4 +- drivers/isdn/hardware/eicon/maintidi.c | 51 +- drivers/isdn/hardware/eicon/mntfunc.c | 103 +- drivers/isdn/hisax/diva.c | 2 +- drivers/isdn/hisax/st5481_usb.c | 3 - drivers/isdn/i4l/isdn_net.c | 2 +- drivers/isdn/i4l/isdn_tty.c | 21 +- drivers/macintosh/mediabay.c | 5 +- drivers/macintosh/therm_adt746x.c | 80 +- drivers/md/Kconfig | 18 + drivers/md/Makefile | 3 +- drivers/md/dm-table.c | 25 +- drivers/md/dm-target.c | 5 +- drivers/md/dm.c | 142 +- drivers/md/dm.h | 4 + drivers/md/linear.c | 8 +- drivers/md/md.c | 207 +- drivers/md/multipath.c | 45 +- drivers/md/raid1.c | 134 +- drivers/md/raid5.c | 45 +- drivers/md/raid6main.c | 43 +- drivers/media/dvb/b2c2/skystar2.c | 2 +- drivers/media/dvb/dvb-core/dvb_ca_en50221.c | 27 +- drivers/media/dvb/dvb-core/dvb_net.c | 4 +- drivers/media/dvb/frontends/stv0299.c | 12 +- drivers/media/dvb/frontends/tda1004x.c | 2 - drivers/media/dvb/ttusb-dec/ttusb_dec.c | 2 +- drivers/media/radio/miropcm20-rds.c | 4 +- drivers/media/radio/radio-cadet.c | 6 +- drivers/media/video/Kconfig | 2 +- drivers/media/video/bttv-cards.c | 90 +- drivers/media/video/bttv-driver.c | 13 +- drivers/media/video/bttv-i2c.c | 12 + drivers/media/video/bttv-risc.c | 30 +- drivers/media/video/bttv.h | 6 + drivers/media/video/bttvp.h | 1 + drivers/media/video/cpia.c | 49 +- drivers/media/video/dpc7146.c | 1 + drivers/media/video/meye.c | 2 +- drivers/media/video/msp3400.c | 7 +- drivers/media/video/saa7134/saa6752hs.c | 7 +- drivers/media/video/saa7134/saa7134-cards.c | 132 +- drivers/media/video/saa7134/saa7134-core.c | 7 +- drivers/media/video/saa7134/saa7134-i2c.c | 2 + drivers/media/video/saa7134/saa7134-oss.c | 2 - drivers/media/video/saa7134/saa7134-tvaudio.c | 8 +- drivers/media/video/saa7134/saa7134-video.c | 48 +- drivers/media/video/saa7134/saa7134.h | 8 +- drivers/media/video/tda7432.c | 8 +- drivers/media/video/tda9875.c | 7 +- drivers/media/video/tda9887.c | 67 +- drivers/media/video/tuner.c | 21 +- drivers/media/video/tvaudio.c | 8 +- drivers/media/video/tvmixer.c | 8 +- drivers/media/video/videodev.c | 2 +- drivers/media/video/zoran_driver.c | 4 +- drivers/media/video/zr36120.c | 2 +- drivers/message/fusion/Kconfig | 33 - drivers/message/fusion/mptbase.c | 1057 +- drivers/message/fusion/mptbase.h | 170 +- drivers/message/fusion/mptctl.c | 169 +- drivers/message/fusion/mptlan.c | 154 +- drivers/message/fusion/mptscsih.c | 1831 +- drivers/message/i2o/Makefile | 1 + drivers/message/i2o/i2o_block.c | 2321 +- drivers/message/i2o/i2o_config.c | 1371 +- drivers/message/i2o/i2o_proc.c | 4032 +- drivers/message/i2o/i2o_scsi.c | 1401 +- drivers/misc/ibmasm/module.c | 12 +- drivers/mtd/chips/cfi_cmdset_0001.c | 5 +- drivers/mtd/chips/jedec_probe.c | 44 +- drivers/mtd/maps/Kconfig | 9 + drivers/mtd/maps/Makefile | 1 + drivers/mtd/maps/amd76xrom.c | 15 +- drivers/mtd/maps/ceiva.c | 4 +- drivers/mtd/maps/edb7312.c | 8 +- drivers/mtd/maps/impa7.c | 4 +- drivers/mtd/maps/lubbock-flash.c | 10 +- drivers/mtd/maps/nettel.c | 2 +- drivers/mtd/maps/sa1100-flash.c | 4 +- drivers/mtd/maps/tqm8xxl.c | 8 +- drivers/mtd/maps/uclinux.c | 7 +- drivers/mtd/nftlmount.c | 6 +- drivers/net/3c507.c | 2 +- drivers/net/3c527.c | 13 +- drivers/net/3c59x.c | 104 +- drivers/net/8139too.c | 71 +- drivers/net/8390.h | 12 +- drivers/net/Kconfig | 96 +- drivers/net/Makefile | 6 +- drivers/net/acenic.c | 156 +- drivers/net/acenic.h | 2 +- drivers/net/arcnet/arcnet.c | 3 +- drivers/net/arcnet/com90xx.c | 4 +- drivers/net/b44.c | 331 +- drivers/net/b44.h | 118 +- drivers/net/bonding/bond_main.c | 1 + drivers/net/cs89x0.c | 29 +- drivers/net/defxx.c | 22 +- drivers/net/e100.c | 110 +- drivers/net/e1000/e1000.h | 25 +- drivers/net/e1000/e1000_ethtool.c | 149 +- drivers/net/e1000/e1000_hw.c | 16 +- drivers/net/e1000/e1000_hw.h | 3 +- drivers/net/e1000/e1000_main.c | 721 +- drivers/net/e1000/e1000_param.c | 48 +- drivers/net/eepro100.c | 17 - drivers/net/epic100.c | 432 +- drivers/net/forcedeth.c | 107 +- drivers/net/gianfar.c | 1864 + drivers/net/gianfar.h | 535 + drivers/net/gianfar_ethtool.c | 525 + drivers/net/gianfar_phy.c | 661 + drivers/net/gianfar_phy.h | 213 + drivers/net/gt96100eth.c | 119 +- drivers/net/hamachi.c | 2 +- drivers/net/hamradio/dmascc.c | 290 +- drivers/net/hp100.c | 21 +- drivers/net/ibmveth.c | 30 +- drivers/net/irda/irda-usb.c | 3 - drivers/net/irda/irtty-sir.c | 7 - drivers/net/ixgb/ixgb_main.c | 136 +- drivers/net/lasi_82596.c | 2 - drivers/net/loopback.c | 13 + drivers/net/natsemi.c | 282 +- drivers/net/ne.c | 30 +- drivers/net/netconsole.c | 120 +- drivers/net/ns83820.c | 1 + drivers/net/pcmcia/smc91c92_cs.c | 2 +- drivers/net/plip.c | 2 +- drivers/net/ppp_async.c | 31 +- drivers/net/ppp_generic.c | 1 + drivers/net/ppp_synctty.c | 15 + drivers/net/pppoe.c | 4 +- drivers/net/r8169.c | 670 +- drivers/net/rrunner.c | 86 +- drivers/net/s2io.c | 8 +- drivers/net/sis900.c | 1 + drivers/net/sk98lin/h/skdrv2nd.h | 54 - drivers/net/sk98lin/skge.c | 747 +- drivers/net/skfp/skfddi.c | 20 +- drivers/net/smc9194.c | 255 +- drivers/net/sundance.c | 2 +- drivers/net/sungem.c | 246 +- drivers/net/sungem.h | 7 +- drivers/net/sunhme.c | 77 +- drivers/net/tg3.c | 920 +- drivers/net/tg3.h | 17 +- drivers/net/tokenring/Kconfig | 3 +- drivers/net/tokenring/ibmtr.c | 2 +- drivers/net/tokenring/olympic.c | 117 +- drivers/net/tulip/21142.c | 2 +- drivers/net/tulip/Kconfig | 4 +- drivers/net/tulip/de2104x.c | 1 + drivers/net/tulip/de4x5.c | 16 +- drivers/net/tulip/dmfe.c | 31 +- drivers/net/tulip/eeprom.c | 1 + drivers/net/tulip/interrupt.c | 2 +- drivers/net/tulip/media.c | 1 + drivers/net/tulip/pnic.c | 1 + drivers/net/tulip/pnic2.c | 2 +- drivers/net/tulip/timer.c | 1 + drivers/net/tulip/tulip.h | 15 +- drivers/net/tulip/tulip_core.c | 3 +- drivers/net/tulip/winbond-840.c | 1 + drivers/net/tulip/xircom_tulip_cb.c | 1 + drivers/net/typhoon.c | 53 +- drivers/net/via-rhine.c | 739 +- drivers/net/wan/dscc4.c | 33 +- drivers/net/wan/hd6457x.c | 6 +- drivers/net/wan/pc300_tty.c | 54 +- drivers/net/wan/syncppp.c | 8 +- drivers/net/wireless/Kconfig | 191 + drivers/net/wireless/Makefile | 3 + drivers/net/wireless/airo.c | 140 +- drivers/net/wireless/atmel.c | 5 +- drivers/net/wireless/hermes.h | 133 +- drivers/net/wireless/orinoco.c | 2805 +- drivers/net/wireless/orinoco_pci.c | 52 +- drivers/net/wireless/orinoco_plx.c | 204 +- drivers/net/wireless/orinoco_tmd.c | 56 +- drivers/net/wireless/prism54/isl_38xx.c | 12 +- drivers/net/wireless/prism54/isl_38xx.h | 14 +- drivers/net/wireless/prism54/isl_ioctl.c | 5 +- drivers/net/wireless/prism54/islpci_dev.c | 8 +- drivers/net/wireless/prism54/islpci_dev.h | 2 +- drivers/net/wireless/ray_cs.c | 157 +- drivers/net/wireless/strip.c | 25 +- drivers/oprofile/buffer_sync.c | 279 +- drivers/oprofile/cpu_buffer.c | 101 +- drivers/parisc/superio.c | 3 +- drivers/parport/daisy.c | 155 +- drivers/parport/ieee1284.c | 4 +- drivers/parport/parport_pc.c | 39 +- drivers/parport/probe.c | 1 - drivers/parport/procfs.c | 3 - drivers/parport/share.c | 1 - drivers/pci/Makefile | 5 + drivers/pci/hotplug/acpiphp.h | 16 + drivers/pci/hotplug/acpiphp_core.c | 127 +- drivers/pci/hotplug/acpiphp_glue.c | 14 - drivers/pci/hotplug/cpci_hotplug_core.c | 18 +- drivers/pci/hotplug/cpcihp_zt5550.c | 4 +- drivers/pci/hotplug/cpqphp_core.c | 4 +- drivers/pci/hotplug/ibmphp.h | 6 - drivers/pci/hotplug/ibmphp_core.c | 4 +- drivers/pci/hotplug/ibmphp_hpc.c | 20 +- drivers/pci/hotplug/pci_hotplug_core.c | 2 +- drivers/pci/hotplug/pciehp.h | 21 +- drivers/pci/hotplug/pciehp_core.c | 24 +- drivers/pci/hotplug/pciehp_ctrl.c | 385 +- drivers/pci/hotplug/pciehp_hpc.c | 40 +- drivers/pci/hotplug/pciehp_pci.c | 8 + drivers/pci/hotplug/pciehprm_acpi.c | 43 +- drivers/pci/hotplug/pcihp_skeleton.c | 2 +- drivers/pci/hotplug/rpadlpar_core.c | 170 +- drivers/pci/hotplug/rpaphp.h | 4 +- drivers/pci/hotplug/rpaphp_core.c | 155 +- drivers/pci/hotplug/rpaphp_pci.c | 107 +- drivers/pci/hotplug/rpaphp_slot.c | 23 +- drivers/pci/hotplug/rpaphp_vio.c | 4 +- drivers/pci/hotplug/shpchp_core.c | 6 +- drivers/pci/hotplug/shpchp_ctrl.c | 487 +- drivers/pci/hotplug/shpchp_hpc.c | 11 +- drivers/pci/hotplug/shpchprm_acpi.c | 6 +- drivers/pci/pci-driver.c | 22 +- drivers/pci/pci.c | 7 +- drivers/pci/pci.h | 2 +- drivers/pci/pci.ids | 572 +- drivers/pci/probe.c | 13 +- drivers/pci/quirks.c | 438 +- drivers/pcmcia/cardbus.c | 2 +- drivers/pcmcia/cistpl.c | 12 +- drivers/pcmcia/cs.c | 37 +- drivers/pcmcia/ds.c | 6 +- drivers/pcmcia/i82092.c | 20 +- drivers/pcmcia/i82365.c | 17 +- drivers/pcmcia/rsrc_mgr.c | 71 +- drivers/pcmcia/sa1100_h3600.c | 4 +- drivers/pcmcia/tcic.c | 12 +- drivers/pcmcia/yenta_socket.c | 11 +- drivers/pnp/isapnp/core.c | 4 +- drivers/pnp/pnpbios/bioscalls.c | 16 +- drivers/pnp/pnpbios/core.c | 10 +- drivers/s390/block/dasd.c | 15 +- drivers/s390/block/dasd_devmap.c | 183 +- drivers/s390/block/dasd_diag.c | 18 +- drivers/s390/block/dasd_eckd.c | 81 +- drivers/s390/block/dasd_fba.c | 59 +- drivers/s390/block/dasd_int.h | 6 +- drivers/s390/char/sclp.c | 43 +- drivers/s390/cio/cio.c | 15 +- drivers/s390/cio/cmf.c | 95 +- drivers/s390/cio/css.c | 5 +- drivers/s390/cio/device.c | 26 +- drivers/s390/cio/device_fsm.c | 1 + drivers/s390/cio/device_id.c | 4 +- drivers/s390/cio/qdio.c | 4 +- drivers/s390/net/ctctty.c | 12 +- drivers/s390/net/lcs.c | 456 +- drivers/s390/net/lcs.h | 17 +- drivers/s390/net/qeth.h | 6 +- drivers/s390/net/qeth_main.c | 279 +- drivers/s390/scsi/zfcp_aux.c | 554 +- drivers/s390/scsi/zfcp_def.h | 188 +- drivers/s390/scsi/zfcp_erp.c | 276 +- drivers/s390/scsi/zfcp_ext.h | 30 +- drivers/s390/scsi/zfcp_fsf.c | 344 +- drivers/s390/scsi/zfcp_scsi.c | 113 +- drivers/s390/scsi/zfcp_sysfs_adapter.c | 45 +- drivers/s390/scsi/zfcp_sysfs_driver.c | 4 +- drivers/s390/scsi/zfcp_sysfs_port.c | 37 +- drivers/s390/scsi/zfcp_sysfs_unit.c | 29 +- drivers/sbus/char/cpwatchdog.c | 82 +- drivers/sbus/char/display7seg.c | 2 +- drivers/sbus/char/envctrl.c | 65 +- drivers/sbus/char/flash.c | 3 +- drivers/sbus/dvma.c | 11 - drivers/scsi/3w-xxxx.c | 15 +- drivers/scsi/53c700.c | 61 +- drivers/scsi/53c700.h | 8 +- drivers/scsi/BusLogic.c | 6396 +- drivers/scsi/Kconfig | 44 +- drivers/scsi/Makefile | 6 +- drivers/scsi/NCR53C9x.c | 16 +- drivers/scsi/NCR53c406a.c | 11 +- drivers/scsi/NCR_D700.c | 3 + drivers/scsi/NCR_Q720.c | 21 +- drivers/scsi/aacraid/README | 14 +- drivers/scsi/aacraid/aachba.c | 71 +- drivers/scsi/aacraid/aacraid.h | 25 +- drivers/scsi/aacraid/commctrl.c | 2 +- drivers/scsi/aacraid/commsup.c | 29 +- drivers/scsi/aacraid/linit.c | 179 +- drivers/scsi/advansys.c | 20 +- drivers/scsi/advansys.h | 26 - drivers/scsi/aha1542.c | 4 +- drivers/scsi/aic7xxx/aic79xx_core.c | 1 - drivers/scsi/aic7xxx/aic79xx_osm.c | 60 +- drivers/scsi/aic7xxx/aic79xx_osm_pci.c | 10 +- drivers/scsi/aic7xxx/aic79xx_pci.c | 35 +- drivers/scsi/aic7xxx/aic7xxx_core.c | 1 - drivers/scsi/aic7xxx/aic7xxx_osm.c | 17 +- drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 6 +- drivers/scsi/aic7xxx_old.c | 9 +- drivers/scsi/arm/cumana_1.c | 1 + drivers/scsi/arm/ecoscsi.c | 1 + drivers/scsi/arm/eesox.c | 30 +- drivers/scsi/arm/fas216.c | 4 +- drivers/scsi/arm/oak.c | 1 + drivers/scsi/ata_piix.c | 201 +- drivers/scsi/atp870u.c | 6 +- drivers/scsi/cpqfcTScontrol.c | 1 - drivers/scsi/cpqfcTSinit.c | 51 +- drivers/scsi/dc395x.c | 46 +- drivers/scsi/dmx3191d.c | 3 +- drivers/scsi/dtc.c | 1 + drivers/scsi/eata_pio.c | 5 +- drivers/scsi/esp.h | 4 +- drivers/scsi/fd_mcs.c | 11 +- drivers/scsi/fdomain.c | 51 +- drivers/scsi/g_NCR5380.c | 6 +- drivers/scsi/gdth.c | 121 +- drivers/scsi/gdth.h | 2 +- drivers/scsi/hosts.c | 43 +- drivers/scsi/ide-scsi.c | 2 +- drivers/scsi/imm.c | 2 +- drivers/scsi/ips.c | 168 +- drivers/scsi/ips.h | 63 +- drivers/scsi/lasi700.c | 3 + drivers/scsi/libata-core.c | 1449 +- drivers/scsi/libata-scsi.c | 510 +- drivers/scsi/libata.h | 8 +- drivers/scsi/mac_scsi.c | 1 + drivers/scsi/mca_53c9x.c | 14 +- drivers/scsi/megaraid.c | 25 +- drivers/scsi/nsp32.c | 8 +- drivers/scsi/nsp32.h | 1 - drivers/scsi/pas16.c | 1 + drivers/scsi/pcmcia/nsp_cs.c | 2 +- drivers/scsi/qla1280.c | 1049 +- drivers/scsi/qla1280.h | 57 +- drivers/scsi/qla2xxx/ql2100.c | 1 + drivers/scsi/qla2xxx/ql2200.c | 1 + drivers/scsi/qla2xxx/ql2300.c | 1 + drivers/scsi/qla2xxx/ql2300_fw.c | 13378 +- drivers/scsi/qla2xxx/ql2322.c | 1 + drivers/scsi/qla2xxx/ql2322_fw.c | 12001 +- drivers/scsi/qla2xxx/ql6312.c | 1 + drivers/scsi/qla2xxx/ql6312_fw.c | 12741 +- drivers/scsi/qla2xxx/ql6322.c | 1 + drivers/scsi/qla2xxx/ql6322_fw.c | 11193 +- drivers/scsi/qla2xxx/qla_dbg.c | 94 +- drivers/scsi/qla2xxx/qla_def.h | 37 +- drivers/scsi/qla2xxx/qla_gbl.h | 3 +- drivers/scsi/qla2xxx/qla_init.c | 240 +- drivers/scsi/qla2xxx/qla_inline.h | 15 +- drivers/scsi/qla2xxx/qla_iocb.c | 21 +- drivers/scsi/qla2xxx/qla_isr.c | 283 +- drivers/scsi/qla2xxx/qla_mbx.c | 41 +- drivers/scsi/qla2xxx/qla_os.c | 467 +- drivers/scsi/qla2xxx/qla_rscn.c | 31 +- drivers/scsi/qla2xxx/qla_sup.c | 22 +- drivers/scsi/qla2xxx/qla_version.h | 4 +- drivers/scsi/qlogicpti.c | 2 +- drivers/scsi/qlogicpti.h | 4 +- drivers/scsi/sata_promise.c | 136 +- drivers/scsi/sata_sil.c | 27 +- drivers/scsi/sata_sis.c | 62 +- drivers/scsi/sata_svw.c | 79 +- drivers/scsi/sata_via.c | 55 +- drivers/scsi/sata_vsc.c | 20 +- drivers/scsi/scsi.c | 59 +- drivers/scsi/scsi_devinfo.c | 42 +- drivers/scsi/scsi_error.c | 63 +- drivers/scsi/scsi_ioctl.c | 72 +- drivers/scsi/scsi_lib.c | 219 +- drivers/scsi/scsi_priv.h | 21 +- drivers/scsi/scsi_scan.c | 169 +- drivers/scsi/scsi_syms.c | 4 +- drivers/scsi/scsi_sysfs.c | 203 +- drivers/scsi/scsi_transport_fc.c | 490 +- drivers/scsi/scsi_transport_spi.c | 263 +- drivers/scsi/scsicam.c | 9 +- drivers/scsi/scsiiom.c | 172 +- drivers/scsi/sd.c | 190 +- drivers/scsi/sg.c | 66 +- drivers/scsi/sim710.c | 3 + drivers/scsi/sr.c | 14 +- drivers/scsi/sr_ioctl.c | 15 +- drivers/scsi/st.c | 6 +- drivers/scsi/sym53c8xx_2/sym_glue.c | 94 +- drivers/scsi/t128.c | 1 + drivers/scsi/tmscsim.c | 615 +- drivers/scsi/tmscsim.h | 1 - drivers/scsi/wd7000.c | 47 +- drivers/serial/68360serial.c | 18 +- drivers/serial/8250.c | 187 +- drivers/serial/8250_pci.c | 60 +- drivers/serial/Kconfig | 15 +- drivers/serial/Makefile | 1 + drivers/serial/amba-pl011.c | 1 - drivers/serial/bast_sio.c | 31 +- drivers/serial/pxa.c | 1 + drivers/serial/serial_core.c | 29 +- drivers/serial/sunsab.c | 20 +- drivers/serial/sunsu.c | 89 +- drivers/serial/sunzilog.c | 79 +- drivers/tc/zs.c | 49 +- drivers/telephony/ixj.c | 53 +- drivers/telephony/ixj.h | 4 +- drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 4 +- drivers/usb/class/audio.c | 12 +- drivers/usb/class/bluetty.c | 12 +- drivers/usb/class/cdc-acm.c | 39 +- drivers/usb/class/usb-midi.c | 26 +- drivers/usb/class/usblp.c | 14 +- drivers/usb/core/config.c | 7 +- drivers/usb/core/devices.c | 5 +- drivers/usb/core/devio.c | 16 +- drivers/usb/core/hcd-pci.c | 4 +- drivers/usb/core/hcd.c | 49 +- drivers/usb/core/hcd.h | 5 +- drivers/usb/core/hub.c | 702 +- drivers/usb/core/hub.h | 14 +- drivers/usb/core/inode.c | 19 +- drivers/usb/core/message.c | 65 +- drivers/usb/core/urb.c | 11 +- drivers/usb/core/usb.c | 2 + drivers/usb/core/usb.h | 1 + drivers/usb/gadget/Kconfig | 51 +- drivers/usb/gadget/dummy_hcd.c | 9 +- drivers/usb/gadget/ether.c | 19 +- drivers/usb/gadget/file_storage.c | 171 +- drivers/usb/gadget/gadget_chips.h | 6 + drivers/usb/gadget/inode.c | 145 +- drivers/usb/gadget/net2280.c | 113 +- drivers/usb/gadget/pxa2xx_udc.c | 7 +- drivers/usb/gadget/serial.c | 293 +- drivers/usb/gadget/zero.c | 13 +- drivers/usb/host/ehci-dbg.c | 43 +- drivers/usb/host/ehci-hcd.c | 22 +- drivers/usb/host/ehci-hub.c | 6 +- drivers/usb/host/ehci-mem.c | 8 +- drivers/usb/host/ehci-q.c | 18 +- drivers/usb/host/ehci-sched.c | 20 +- drivers/usb/host/ehci.h | 81 +- drivers/usb/host/hc_simple.c | 5 - drivers/usb/host/ohci-dbg.c | 18 +- drivers/usb/host/ohci-hcd.c | 5 +- drivers/usb/host/ohci-hub.c | 98 +- drivers/usb/host/ohci-omap.c | 557 +- drivers/usb/host/ohci-pci.c | 3 +- drivers/usb/host/ohci-q.c | 36 +- drivers/usb/host/ohci.h | 35 +- drivers/usb/host/uhci-hcd.c | 25 +- drivers/usb/host/uhci-hcd.h | 14 +- drivers/usb/host/uhci-hub.c | 6 +- drivers/usb/image/microtek.c | 4 +- drivers/usb/input/aiptek.c | 20 +- drivers/usb/input/ati_remote.c | 4 +- drivers/usb/input/hid-core.c | 132 +- drivers/usb/input/hiddev.c | 35 +- drivers/usb/input/kbtab.c | 11 +- drivers/usb/input/wacom.c | 14 +- drivers/usb/media/Kconfig | 84 +- drivers/usb/media/Makefile | 5 +- drivers/usb/media/dabusb.c | 4 +- drivers/usb/media/dsbr100.c | 2 +- drivers/usb/media/ibmcam.c | 30 +- drivers/usb/media/konicawc.c | 20 +- drivers/usb/media/ov511.c | 75 +- drivers/usb/media/se401.c | 4 +- drivers/usb/media/stv680.c | 7 +- drivers/usb/media/ultracam.c | 16 +- drivers/usb/media/usbvideo.c | 2 +- drivers/usb/misc/Kconfig | 12 - drivers/usb/misc/Makefile | 1 - drivers/usb/misc/auerswald.c | 12 +- drivers/usb/misc/legousbtower.c | 65 +- drivers/usb/misc/speedtch.c | 1373 - drivers/usb/misc/tiglusb.c | 2 +- drivers/usb/misc/usbtest.c | 37 +- drivers/usb/net/kaweth.c | 10 +- drivers/usb/net/pegasus.c | 16 +- drivers/usb/net/rtl8150.c | 6 +- drivers/usb/net/usbnet.c | 13 +- drivers/usb/serial/cyberjack.c | 34 +- drivers/usb/serial/digi_acceleport.c | 19 +- drivers/usb/serial/empeg.c | 4 - drivers/usb/serial/ftdi_sio.c | 122 +- drivers/usb/serial/ftdi_sio.h | 17 + drivers/usb/serial/io_ti.c | 23 +- drivers/usb/serial/ipaq.c | 2 + drivers/usb/serial/ipaq.h | 1 + drivers/usb/serial/ir-usb.c | 4 + drivers/usb/serial/keyspan_pda.c | 8 +- drivers/usb/serial/kl5kusb105.c | 2 + drivers/usb/serial/mct_u232.c | 6 +- drivers/usb/serial/pl2303.c | 2 +- drivers/usb/serial/usb-serial.c | 137 +- drivers/usb/serial/visor.c | 83 +- drivers/usb/serial/whiteheat.c | 5 +- drivers/usb/storage/datafab.c | 25 +- drivers/usb/storage/isd200.c | 90 +- drivers/usb/storage/jumpshot.c | 24 +- drivers/usb/storage/scsiglue.c | 60 +- drivers/usb/storage/scsiglue.h | 8 +- drivers/usb/storage/sddr09.c | 27 +- drivers/usb/storage/shuttle_usbat.c | 42 +- drivers/usb/storage/shuttle_usbat.h | 2 +- drivers/usb/storage/transport.c | 44 +- drivers/usb/storage/unusual_devs.h | 57 +- drivers/usb/storage/usb.c | 32 +- drivers/usb/storage/usb.h | 13 +- drivers/video/68328fb.c | 25 +- drivers/video/Kconfig | 56 +- drivers/video/Makefile | 122 +- drivers/video/acornfb.c | 9 +- drivers/video/aty/atyfb_base.c | 22 +- drivers/video/aty/radeon_base.c | 192 +- drivers/video/aty/radeon_monitor.c | 18 +- drivers/video/aty/radeonfb.h | 8 +- drivers/video/cirrusfb.c | 17 +- drivers/video/console/Kconfig | 6 +- drivers/video/console/fbcon.c | 501 +- drivers/video/console/fbcon.h | 21 +- drivers/video/cyber2000fb.c | 18 +- drivers/video/fbmem.c | 763 +- drivers/video/hgafb.c | 7 +- drivers/video/imsttfb.c | 15 +- drivers/video/kyro/fbdev.c | 12 +- drivers/video/matrox/matroxfb_base.c | 8 + drivers/video/matrox/matroxfb_base.h | 31 +- drivers/video/matrox/matroxfb_crtc2.c | 3 + drivers/video/modedb.c | 265 +- drivers/video/neofb.c | 451 +- drivers/video/pm2fb.c | 15 +- drivers/video/q40fb.c | 6 +- drivers/video/radeonfb.c | 57 +- drivers/video/riva/fbdev.c | 491 +- drivers/video/riva/riva_hw.c | 12 +- drivers/video/riva/rivafb.h | 7 +- drivers/video/sa1100fb.c | 6 +- drivers/video/sis/sis.h | 14 +- drivers/video/sis/sis_main.c | 58 +- drivers/video/sis/sis_main.h | 2 +- drivers/video/skeletonfb.c | 13 +- drivers/video/softcursor.c | 18 +- drivers/video/sstfb.c | 11 +- drivers/video/tdfxfb.c | 156 +- drivers/video/tgafb.c | 25 +- drivers/video/tridentfb.c | 24 +- drivers/video/vesafb.c | 67 +- drivers/video/vfb.c | 11 +- drivers/video/vga16fb.c | 9 +- fs/Kconfig | 61 +- fs/Makefile | 2 + fs/affs/amigaffs.c | 26 +- fs/affs/bitmap.c | 44 +- fs/affs/inode.c | 11 +- fs/affs/super.c | 8 +- fs/afs/cmservice.c | 2 +- fs/afs/dir.c | 16 +- fs/afs/fsclient.c | 6 +- fs/afs/mntpt.c | 3 +- fs/afs/vlclient.c | 17 +- fs/afs/vlocation.c | 3 +- fs/aio.c | 667 +- fs/attr.c | 2 +- fs/autofs/root.c | 10 +- fs/autofs4/autofs_i.h | 1 - fs/autofs4/expire.c | 8 +- fs/autofs4/root.c | 24 +- fs/befs/befs.h | 1 - fs/befs/debug.c | 2 + fs/befs/linuxvfs.c | 18 +- fs/binfmt_aout.c | 19 +- fs/binfmt_elf.c | 182 +- fs/bio.c | 151 +- fs/block_dev.c | 25 +- fs/buffer.c | 104 +- fs/char_dev.c | 44 +- fs/cifs/AUTHORS | 5 +- fs/cifs/CHANGES | 4 +- fs/cifs/asn1.c | 27 +- fs/cifs/cifs_debug.c | 16 +- fs/cifs/cifsfs.c | 27 +- fs/cifs/cifsglob.h | 18 +- fs/cifs/cifspdu.h | 879 +- fs/cifs/cifsproto.h | 2 +- fs/cifs/cifssmb.c | 727 +- fs/cifs/connect.c | 519 +- fs/cifs/file.c | 131 +- fs/cifs/inode.c | 45 +- fs/cifs/link.c | 11 +- fs/cifs/misc.c | 28 +- fs/cifs/transport.c | 66 +- fs/coda/inode.c | 2 +- fs/coda/psdev.c | 2 +- fs/compat.c | 136 +- fs/compat_ioctl.c | 12 +- fs/dcache.c | 112 +- fs/devfs/base.c | 1 - fs/devpts/Makefile | 1 - fs/devpts/inode.c | 110 +- fs/devpts/xattr_security.c | 29 +- fs/direct-io.c | 75 +- fs/dquot.c | 3 +- fs/eventpoll.c | 6 +- fs/exec.c | 175 +- fs/exportfs/expfs.c | 22 +- fs/ext2/acl.c | 45 +- fs/ext2/acl.h | 3 - fs/ext2/balloc.c | 4 +- fs/ext2/file.c | 8 +- fs/ext2/ialloc.c | 10 +- fs/ext2/inode.c | 40 +- fs/ext2/namei.c | 16 +- fs/ext2/super.c | 85 +- fs/ext2/symlink.c | 16 +- fs/ext2/xattr.c | 331 +- fs/ext2/xattr.h | 32 +- fs/ext2/xattr_security.c | 11 +- fs/ext2/xattr_trusted.c | 11 +- fs/ext2/xattr_user.c | 27 +- fs/ext3/Makefile | 2 +- fs/ext3/acl.c | 45 +- fs/ext3/balloc.c | 817 +- fs/ext3/file.c | 14 +- fs/ext3/ialloc.c | 18 +- fs/ext3/inode.c | 180 +- fs/ext3/ioctl.c | 70 +- fs/ext3/namei.c | 53 +- fs/ext3/resize.c | 996 + fs/ext3/super.c | 221 +- fs/ext3/symlink.c | 16 +- fs/ext3/xattr.c | 326 +- fs/ext3/xattr.h | 32 +- fs/ext3/xattr_security.c | 14 +- fs/ext3/xattr_trusted.c | 13 +- fs/ext3/xattr_user.c | 13 +- fs/fat/dir.c | 8 +- fs/fat/fatfs_syms.c | 9 - fs/fat/file.c | 6 - fs/fat/inode.c | 52 +- fs/fcntl.c | 32 +- fs/file_table.c | 59 +- fs/fs-writeback.c | 32 +- fs/hfs/catalog.c | 2 +- fs/hfs/inode.c | 26 +- fs/hfs/super.c | 7 +- fs/hfsplus/bnode.c | 12 +- fs/hfsplus/brec.c | 8 +- fs/hfsplus/catalog.c | 8 +- fs/hfsplus/inode.c | 10 +- fs/hfsplus/wrapper.c | 10 +- fs/hostfs/hostfs_kern.c | 1030 + fs/hostfs/hostfs_user.c | 365 + fs/hpfs/super.c | 2 +- fs/hugetlbfs/inode.c | 54 +- fs/inode.c | 33 +- fs/ioctl.c | 6 +- fs/isofs/compress.c | 4 +- fs/isofs/inode.c | 3 +- fs/isofs/rock.c | 18 +- fs/jbd/commit.c | 50 +- fs/jbd/journal.c | 51 +- fs/jbd/revoke.c | 19 +- fs/jbd/transaction.c | 18 +- fs/jffs2/super.c | 7 +- fs/jfs/acl.c | 13 +- fs/jfs/jfs_dtree.c | 65 +- fs/jfs/jfs_extent.c | 26 +- fs/jfs/jfs_imap.c | 30 +- fs/jfs/jfs_metapage.c | 1 + fs/jfs/jfs_mount.c | 3 - fs/jfs/jfs_txnmgr.c | 3 - fs/jfs/jfs_xtree.c | 61 +- fs/jfs/namei.c | 39 +- fs/jfs/super.c | 4 +- fs/jfs/xattr.c | 51 +- fs/lockd/clntlock.c | 18 +- fs/lockd/clntproc.c | 22 +- fs/lockd/host.c | 30 +- fs/lockd/mon.c | 4 +- fs/lockd/svc.c | 62 +- fs/lockd/svc4proc.c | 15 +- fs/lockd/svclock.c | 66 +- fs/lockd/svcproc.c | 8 +- fs/lockd/svcsubs.c | 7 +- fs/lockd/xdr.c | 49 +- fs/lockd/xdr4.c | 13 +- fs/locks.c | 181 +- fs/mbcache.c | 101 +- fs/minix/inode.c | 7 +- fs/mpage.c | 33 +- fs/namei.c | 49 +- fs/namespace.c | 48 +- fs/ncpfs/dir.c | 30 +- fs/ncpfs/file.c | 22 +- fs/ncpfs/inode.c | 30 +- fs/ncpfs/ioctl.c | 4 +- fs/ncpfs/mmap.c | 10 +- fs/ncpfs/ncplib_kernel.c | 192 +- fs/ncpfs/ncplib_kernel.h | 42 +- fs/nfs/dir.c | 150 +- fs/nfs/direct.c | 47 +- fs/nfs/file.c | 279 +- fs/nfs/inode.c | 389 +- fs/nfs/nfs2xdr.c | 70 +- fs/nfs/nfs3xdr.c | 48 +- fs/nfs/nfs4proc.c | 1272 +- fs/nfs/nfs4state.c | 371 +- fs/nfs/nfs4xdr.c | 563 +- fs/nfs/proc.c | 63 +- fs/nfs/read.c | 62 +- fs/nfs/symlink.c | 62 +- fs/nfs/write.c | 170 +- fs/nfsd/auth.c | 2 +- fs/nfsd/export.c | 12 +- fs/nfsd/lockd.c | 7 +- fs/nfsd/nfs3xdr.c | 10 +- fs/nfsd/nfs4proc.c | 19 +- fs/nfsd/nfs4state.c | 148 +- fs/nfsd/nfs4xdr.c | 140 +- fs/nfsd/nfsctl.c | 96 +- fs/nfsd/nfsfh.c | 43 +- fs/nfsd/nfsproc.c | 5 +- fs/nfsd/vfs.c | 297 +- fs/ntfs/ChangeLog | 147 +- fs/ntfs/Makefile | 4 +- fs/ntfs/aops.c | 127 +- fs/ntfs/attrib.c | 904 +- fs/ntfs/attrib.h | 36 +- fs/ntfs/compress.c | 38 +- fs/ntfs/debug.c | 19 +- fs/ntfs/debug.h | 2 +- fs/ntfs/dir.c | 195 +- fs/ntfs/endian.h | 72 +- fs/ntfs/file.c | 99 +- fs/ntfs/inode.c | 492 +- fs/ntfs/inode.h | 20 +- fs/ntfs/layout.h | 767 +- fs/ntfs/logfile.c | 8 +- fs/ntfs/logfile.h | 76 +- fs/ntfs/mft.c | 27 +- fs/ntfs/mst.c | 23 +- fs/ntfs/namei.c | 46 +- fs/ntfs/ntfs.h | 3 +- fs/ntfs/super.c | 380 +- fs/ntfs/time.h | 6 +- fs/ntfs/types.h | 26 +- fs/ntfs/unistr.c | 12 +- fs/ntfs/upcase.c | 3 +- fs/ntfs/volume.h | 18 +- fs/open.c | 5 + fs/partitions/ibm.c | 9 + fs/partitions/msdos.c | 3 + fs/posix_acl.c | 42 - fs/proc/array.c | 104 +- fs/proc/base.c | 202 +- fs/proc/inode.c | 2 +- fs/proc/proc_misc.c | 105 +- fs/proc/proc_tty.c | 12 +- fs/proc/root.c | 8 +- fs/proc/task_mmu.c | 56 +- fs/qnx4/inode.c | 11 +- fs/quota_v2.c | 10 +- fs/ramfs/inode.c | 8 +- fs/read_write.c | 3 + fs/reiserfs/file.c | 13 +- fs/reiserfs/inode.c | 5 +- fs/reiserfs/ioctl.c | 2 +- fs/reiserfs/journal.c | 94 +- fs/reiserfs/super.c | 33 +- fs/reiserfs/xattr.c | 21 +- fs/select.c | 21 +- fs/smbfs/inode.c | 2 +- fs/smbfs/proc.c | 23 +- fs/smbfs/request.c | 59 +- fs/super.c | 26 +- fs/sysfs/bin.c | 46 +- fs/sysfs/dir.c | 369 +- fs/sysfs/file.c | 96 +- fs/sysfs/group.c | 8 +- fs/sysfs/inode.c | 97 +- fs/sysfs/mount.c | 16 +- fs/sysfs/symlink.c | 72 +- fs/sysfs/sysfs.h | 75 +- fs/sysv/inode.c | 5 +- fs/sysv/itree.c | 36 +- fs/udf/dir.c | 4 +- fs/udf/misc.c | 14 +- fs/udf/namei.c | 36 +- fs/udf/super.c | 59 +- fs/ufs/balloc.c | 33 +- fs/xattr.c | 130 + fs/xfs/Makefile | 3 +- fs/xfs/linux-2.6/xfs_ioctl.c | 133 +- fs/xfs/linux-2.6/xfs_iops.c | 30 +- fs/xfs/linux-2.6/xfs_super.c | 217 +- fs/xfs/linux-2.6/xfs_vnode.c | 82 +- fs/xfs/quota/xfs_qm.c | 61 +- fs/xfs/quota/xfs_qm_syscalls.c | 40 +- fs/xfs/xfs_acl.h | 4 +- fs/xfs/xfs_attr.c | 33 +- fs/xfs/xfs_bmap.c | 75 +- fs/xfs/xfs_bmap.h | 2 +- fs/xfs/xfs_bmap_btree.c | 2 +- fs/xfs/xfs_bmap_btree.h | 11 +- fs/xfs/xfs_buf_item.c | 2 - fs/xfs/xfs_da_btree.c | 2 +- fs/xfs/xfs_dinode.h | 27 +- fs/xfs/xfs_fs.h | 60 +- fs/xfs/xfs_fsops.c | 20 +- fs/xfs/xfs_inode.c | 68 +- fs/xfs/xfs_inode.h | 1 - fs/xfs/xfs_iomap.c | 100 +- fs/xfs/xfs_itable.c | 12 +- fs/xfs/xfs_itable.h | 10 +- fs/xfs/xfs_log.c | 57 +- fs/xfs/xfs_log_recover.c | 23 +- fs/xfs/xfs_mount.c | 32 +- fs/xfs/xfs_mount.h | 2 +- fs/xfs/xfs_rtalloc.c | 14 +- fs/xfs/xfs_trans.c | 5 +- fs/xfs/xfs_trans_item.c | 2 +- fs/xfs/xfs_vfsops.c | 118 +- fs/xfs/xfs_vnodeops.c | 120 +- include/acpi/acpi_drivers.h | 58 +- include/acpi/acpiosxf.h | 19 +- include/acpi/actbl2.h | 2 + include/acpi/platform/aclinux.h | 3 - include/asm-alpha/bitops.h | 5 +- include/asm-alpha/core_lca.h | 223 +- include/asm-alpha/core_mcpcia.h | 267 +- include/asm-alpha/core_polaris.h | 146 +- include/asm-alpha/io.h | 687 +- include/asm-alpha/module.h | 3 + include/asm-alpha/page.h | 1 + include/asm-alpha/pgtable.h | 2 +- include/asm-alpha/resource.h | 2 +- include/asm-alpha/semaphore.h | 23 +- include/asm-alpha/spinlock.h | 27 +- include/asm-alpha/system.h | 6 +- include/asm-alpha/uaccess.h | 2 - include/asm-alpha/unistd.h | 5 +- include/asm-arm/arch-ebsa110/uncompress.h | 2 +- include/asm-arm/arch-iop3xx/memory.h | 26 +- include/asm-arm/arch-omap/hardware.h | 48 +- include/asm-arm/arch-omap/memory.h | 2 +- include/asm-arm/arch-omap/mux.h | 36 +- include/asm-arm/arch-omap/uncompress.h | 2 +- include/asm-arm/arch-pxa/dma.h | 2 +- include/asm-arm/arch-pxa/hardware.h | 9 +- include/asm-arm/arch-pxa/irqs.h | 54 +- include/asm-arm/arch-pxa/pxa-regs.h | 56 +- include/asm-arm/arch-rpc/uncompress.h | 6 +- include/asm-arm/arch-versatile/uncompress.h | 2 +- include/asm-arm/atomic.h | 56 +- include/asm-arm/cacheflush.h | 26 +- include/asm-arm/checksum.h | 2 +- include/asm-arm/fpstate.h | 19 +- include/asm-arm/memory.h | 21 +- include/asm-arm/module.h | 5 + include/asm-arm/page.h | 2 +- include/asm-arm/resource.h | 2 +- include/asm-arm/system.h | 43 +- include/asm-arm/thread_info.h | 29 +- include/asm-arm/unistd.h | 52 +- include/asm-arm26/atomic.h | 21 + include/asm-arm26/resource.h | 2 +- include/asm-arm26/tlb.h | 2 +- include/asm-cris/module.h | 5 + include/asm-cris/resource.h | 2 +- include/asm-cris/semaphore.h | 33 +- include/asm-generic/pgtable.h | 8 + include/asm-generic/siginfo.h | 1 + include/asm-generic/vmlinux.lds.h | 22 + include/asm-h8300/bitops.h | 2 + include/asm-h8300/hardirq.h | 40 - include/asm-h8300/module.h | 5 + include/asm-h8300/resource.h | 2 +- include/asm-h8300/semaphore.h | 33 +- include/asm-i386/acpi.h | 13 + include/asm-i386/agp.h | 4 +- include/asm-i386/apic.h | 27 +- include/asm-i386/atomic.h | 42 + include/asm-i386/bitops.h | 12 +- include/asm-i386/checksum.h | 35 +- include/asm-i386/cpufeature.h | 13 +- include/asm-i386/desc.h | 50 +- include/asm-i386/dma-mapping.h | 13 +- include/asm-i386/elf.h | 4 +- include/asm-i386/fixmap.h | 54 +- include/asm-i386/highmem.h | 12 +- include/asm-i386/hw_irq.h | 40 - include/asm-i386/i387.h | 2 - include/asm-i386/irq.h | 6 + include/asm-i386/kmap_types.h | 53 +- include/asm-i386/mach-es7000/mach_ipi.h | 2 +- include/asm-i386/mach-es7000/mach_mpparse.h | 3 +- include/asm-i386/mach-es7000/mach_mpspec.h | 2 +- include/asm-i386/mach-summit/mach_apic.h | 8 +- include/asm-i386/mach-visws/mach_apic.h | 1 + include/asm-i386/mmu.h | 5 +- include/asm-i386/mmu_context.h | 24 +- include/asm-i386/module.h | 5 + include/asm-i386/page.h | 38 +- include/asm-i386/pgtable-2level.h | 7 + include/asm-i386/pgtable-3level.h | 8 + include/asm-i386/pgtable.h | 53 +- include/asm-i386/processor.h | 56 +- include/asm-i386/resource.h | 2 +- include/asm-i386/setup.h | 2 +- include/asm-i386/smp.h | 1 + include/asm-i386/spinlock.h | 18 +- include/asm-i386/string.h | 23 - include/asm-i386/thread_info.h | 8 +- include/asm-i386/timer.h | 1 + include/asm-i386/timex.h | 13 +- include/asm-i386/tlbflush.h | 11 +- include/asm-i386/uaccess.h | 196 +- include/asm-i386/unistd.h | 9 +- include/asm-ia64/acpi.h | 4 +- include/asm-ia64/dma-mapping.h | 2 +- include/asm-ia64/gcc_intrin.h | 24 +- include/asm-ia64/ia32.h | 4 +- include/asm-ia64/iosapic.h | 11 +- include/asm-ia64/machvec_sn2.h | 2 - include/asm-ia64/module.h | 5 + include/asm-ia64/page.h | 18 +- include/asm-ia64/pal.h | 2 +- include/asm-ia64/pci.h | 2 + include/asm-ia64/pgtable.h | 12 +- include/asm-ia64/processor.h | 30 +- include/asm-ia64/resource.h | 2 +- include/asm-ia64/signal.h | 4 +- include/asm-ia64/smp.h | 8 +- include/asm-ia64/sn/addrs.h | 311 +- include/asm-ia64/sn/arch.h | 21 +- include/asm-ia64/sn/bte.h | 4 +- include/asm-ia64/sn/clksupport.h | 30 +- include/asm-ia64/sn/fetchop.h | 2 +- include/asm-ia64/sn/geo.h | 131 +- include/asm-ia64/sn/intr.h | 43 +- include/asm-ia64/sn/io.h | 286 +- include/asm-ia64/sn/klconfig.h | 480 +- include/asm-ia64/sn/leds.h | 8 +- include/asm-ia64/sn/module.h | 131 +- include/asm-ia64/sn/nodepda.h | 69 +- include/asm-ia64/sn/pda.h | 7 +- include/asm-ia64/sn/router.h | 51 +- include/asm-ia64/sn/rw_mmr.h | 2 +- include/asm-ia64/sn/simulator.h | 8 +- include/asm-ia64/sn/sn_cpuid.h | 88 +- include/asm-ia64/sn/sn_fru.h | 2 +- include/asm-ia64/sn/sn_sal.h | 283 +- include/asm-ia64/sn/sndrv.h | 14 +- include/asm-ia64/sn/types.h | 4 +- include/asm-ia64/spinlock.h | 4 +- include/asm-ia64/system.h | 4 +- include/asm-ia64/thread_info.h | 8 - include/asm-ia64/tlb.h | 2 + include/asm-ia64/uaccess.h | 123 +- include/asm-ia64/unistd.h | 4 +- include/asm-m68k/cacheflush.h | 12 +- include/asm-m68k/module.h | 5 + include/asm-m68k/resource.h | 2 +- include/asm-mips/module.h | 10 + include/asm-mips/processor.h | 4 +- include/asm-mips/ptrace.h | 1 + include/asm-mips/resource.h | 2 +- include/asm-mips/semaphore.h | 36 +- include/asm-mips/uaccess.h | 1 + include/asm-mips/vr41xx/vrc4173.h | 106 + include/asm-parisc/cacheflush.h | 12 +- include/asm-parisc/module.h | 8 + include/asm-parisc/resource.h | 2 +- include/asm-parisc/unistd.h | 2 +- include/asm-ppc/dma-mapping.h | 1 - include/asm-ppc/ibm44x.h | 4 +- include/asm-ppc/ide.h | 8 +- include/asm-ppc/io.h | 74 +- include/asm-ppc/module.h | 5 + include/asm-ppc/mpc8260.h | 4 + include/asm-ppc/ppc_asm.h | 2 +- include/asm-ppc/ppcboot.h | 36 +- include/asm-ppc/ptrace.h | 6 + include/asm-ppc/reg_booke.h | 6 +- include/asm-ppc/resource.h | 2 +- include/asm-ppc/serial.h | 12 +- include/asm-ppc64/bitops.h | 88 +- include/asm-ppc64/eeh.h | 156 +- include/asm-ppc64/hardirq.h | 45 - include/asm-ppc64/io.h | 113 +- include/asm-ppc64/iommu.h | 13 +- include/asm-ppc64/machdep.h | 8 +- include/asm-ppc64/mmu.h | 244 +- include/asm-ppc64/mmu_context.h | 218 +- include/asm-ppc64/mmzone.h | 4 +- include/asm-ppc64/module.h | 5 + include/asm-ppc64/naca.h | 3 - include/asm-ppc64/paca.h | 27 +- include/asm-ppc64/page.h | 26 +- include/asm-ppc64/pci-bridge.h | 6 +- include/asm-ppc64/pci.h | 2 + include/asm-ppc64/pgalloc.h | 1 + include/asm-ppc64/pgtable.h | 33 +- include/asm-ppc64/ppc32.h | 30 +- include/asm-ppc64/processor.h | 58 +- include/asm-ppc64/prom.h | 71 +- include/asm-ppc64/ptrace-common.h | 2 + include/asm-ppc64/ptrace.h | 8 +- include/asm-ppc64/resource.h | 2 +- include/asm-ppc64/rtas.h | 143 +- include/asm-ppc64/smp.h | 24 +- include/asm-ppc64/spinlock.h | 278 +- include/asm-ppc64/system.h | 3 + include/asm-ppc64/systemcfg.h | 49 +- include/asm-ppc64/thread_info.h | 2 + include/asm-ppc64/uaccess.h | 3 + include/asm-ppc64/unistd.h | 6 +- include/asm-s390/elf.h | 11 +- include/asm-s390/module.h | 3 + include/asm-s390/page.h | 19 + include/asm-s390/pgtable.h | 23 +- include/asm-s390/processor.h | 19 + include/asm-s390/resource.h | 2 +- include/asm-s390/thread_info.h | 38 +- include/asm-s390/uaccess.h | 3 + include/asm-sh/dma-mapping.h | 1 - include/asm-sh/module.h | 5 + include/asm-sh/resource.h | 2 +- include/asm-sparc/bug.h | 17 +- include/asm-sparc/cacheflush.h | 10 +- include/asm-sparc/hardirq.h | 41 - include/asm-sparc/module.h | 5 + include/asm-sparc/resource.h | 2 +- include/asm-sparc/semaphore.h | 36 +- include/asm-sparc/unistd.h | 11 +- include/asm-sparc64/atomic.h | 6 + include/asm-sparc64/bitops.h | 35 +- include/asm-sparc64/bug.h | 19 +- include/asm-sparc64/cacheflush.h | 11 +- include/asm-sparc64/checksum.h | 37 +- include/asm-sparc64/hardirq.h | 41 - include/asm-sparc64/ide.h | 12 +- include/asm-sparc64/io.h | 162 +- include/asm-sparc64/module.h | 5 + include/asm-sparc64/resource.h | 2 +- include/asm-sparc64/siginfo.h | 54 +- include/asm-sparc64/spinlock.h | 180 +- include/asm-sparc64/tlb.h | 2 + include/asm-sparc64/uaccess.h | 55 +- include/asm-sparc64/unistd.h | 12 +- include/asm-um/bug.h | 26 +- include/asm-um/common.lds.S | 14 +- include/asm-um/dma-mapping.h | 2 + include/asm-um/page.h | 4 +- include/asm-um/pgtable.h | 10 +- include/asm-um/processor-generic.h | 6 +- include/asm-um/processor-i386.h | 7 + include/asm-um/smp.h | 4 - include/asm-um/thread_info.h | 4 +- include/asm-um/uaccess.h | 2 +- include/asm-v850/module.h | 5 + include/asm-v850/resource.h | 2 +- include/asm-x86_64/acpi.h | 9 + include/asm-x86_64/agp.h | 5 +- include/asm-x86_64/apicdef.h | 3 + include/asm-x86_64/atomic.h | 25 + include/asm-x86_64/bitops.h | 143 +- include/asm-x86_64/bootsetup.h | 2 +- include/asm-x86_64/hw_irq.h | 37 +- include/asm-x86_64/i387.h | 24 +- include/asm-x86_64/ia32.h | 10 +- include/asm-x86_64/ia32_unistd.h | 3 +- include/asm-x86_64/io.h | 59 +- include/asm-x86_64/irq.h | 2 + include/asm-x86_64/module.h | 5 + include/asm-x86_64/mpspec.h | 3 +- include/asm-x86_64/msi.h | 3 +- include/asm-x86_64/pgtable.h | 3 +- include/asm-x86_64/processor.h | 26 +- include/asm-x86_64/ptrace.h | 1 + include/asm-x86_64/resource.h | 2 +- include/asm-x86_64/semaphore.h | 35 +- include/asm-x86_64/smp.h | 14 +- include/asm-x86_64/spinlock.h | 4 +- include/asm-x86_64/topology.h | 9 +- include/asm-x86_64/uaccess.h | 3 + include/asm-x86_64/unistd.h | 22 +- include/linux/acct.h | 23 +- include/linux/acpi.h | 7 +- include/linux/affs_fs.h | 3 +- include/linux/aio.h | 28 +- include/linux/ata.h | 71 +- include/linux/atmdev.h | 1 - include/linux/binfmts.h | 5 + include/linux/bio.h | 3 + include/linux/bitmap.h | 3 + include/linux/blkdev.h | 24 + include/linux/bootmem.h | 3 + include/linux/buffer_head.h | 25 +- include/linux/capability.h | 2 +- include/linux/cdev.h | 2 - include/linux/cdrom.h | 4 +- include/linux/compat.h | 12 + include/linux/compat_ioctl.h | 25 +- include/linux/compiler-gcc+.h | 6 +- include/linux/compiler-gcc3.h | 12 +- include/linux/compiler.h | 14 +- include/linux/config.h | 2 +- include/linux/cpu.h | 2 +- include/linux/cpufreq.h | 7 - include/linux/cpumask.h | 5 +- include/linux/dcache.h | 4 +- include/linux/delay.h | 8 +- include/linux/device.h | 4 +- include/linux/dma-mapping.h | 30 + include/linux/edd.h | 4 + include/linux/elf.h | 7 +- include/linux/errno.h | 1 + include/linux/ext2_fs.h | 148 +- include/linux/ext3_fs.h | 238 +- include/linux/ext3_fs_i.h | 29 +- include/linux/ext3_fs_sb.h | 7 +- include/linux/ext3_jbd.h | 18 +- include/linux/fb.h | 180 +- include/linux/fs.h | 127 +- include/linux/gfp.h | 2 +- include/linux/highmem.h | 11 +- include/linux/hugetlb.h | 1 + include/linux/i2c-id.h | 4 + include/linux/i2c.h | 4 +- include/linux/i2o-dev.h | 262 +- include/linux/i2o.h | 746 +- include/linux/ide.h | 96 +- include/linux/if_bridge.h | 2 +- include/linux/inetdevice.h | 20 +- include/linux/interrupt.h | 2 +- include/linux/ipmi.h | 6 + include/linux/iso_fs.h | 12 +- include/linux/jbd.h | 51 +- include/linux/kernel.h | 11 + include/linux/kernel_stat.h | 1 - include/linux/kmalloc_sizes.h | 1 - include/linux/kmod.h | 1 + include/linux/kobject.h | 11 +- include/linux/libata.h | 101 +- include/linux/lockd/debug.h | 9 + include/linux/lockd/xdr.h | 15 +- include/linux/mbcache.h | 5 +- include/linux/miscdevice.h | 1 + include/linux/mm.h | 117 +- include/linux/mmzone.h | 10 +- include/linux/module.h | 19 +- include/linux/moduleparam.h | 7 +- include/linux/msdos_fs.h | 8 - include/linux/mtd/map.h | 2 +- include/linux/ncp_fs.h | 10 +- include/linux/net.h | 30 + include/linux/netdevice.h | 25 +- include/linux/netfilter.h | 8 +- include/linux/netfilter_ipv4/ip_conntrack.h | 48 +- .../linux/netfilter_ipv4/ip_conntrack_tuple.h | 6 + include/linux/netfilter_ipv4/ip_tables.h | 6 - include/linux/netfilter_ipv6/ip6_tables.h | 4 - include/linux/netlink.h | 8 +- include/linux/netpoll.h | 4 +- include/linux/nfs_fs.h | 116 +- include/linux/nfs_mount.h | 2 +- include/linux/nfsd/nfsd.h | 13 +- include/linux/nfsd/state.h | 2 +- include/linux/nfsd/xdr4.h | 6 +- include/linux/notifier.h | 10 +- include/linux/page-flags.h | 15 +- include/linux/pagevec.h | 7 +- include/linux/parport.h | 13 - include/linux/pci.h | 24 +- include/linux/pci_ids.h | 42 +- include/linux/personality.h | 11 - include/linux/pid.h | 2 + include/linux/pkt_sched.h | 20 + include/linux/pm.h | 16 +- include/linux/poll.h | 8 +- include/linux/posix_acl.h | 1 - include/linux/prctl.h | 2 + include/linux/proc_fs.h | 11 +- include/linux/ptrace.h | 2 +- include/linux/quota.h | 1 - include/linux/quotaio_v2.h | 44 +- include/linux/raid/linear.h | 4 +- include/linux/random.h | 2 - include/linux/rcupdate.h | 142 +- include/linux/reboot.h | 15 +- include/linux/reiserfs_fs.h | 20 +- include/linux/reiserfs_fs_i.h | 2 +- include/linux/reiserfs_fs_sb.h | 5 +- include/linux/resource.h | 6 + include/linux/rmap.h | 18 +- include/linux/rtnetlink.h | 151 +- include/linux/sched.h | 255 +- include/linux/security.h | 56 +- include/linux/sem.h | 1 + include/linux/serial_core.h | 2 + include/linux/serio.h | 66 +- include/linux/shm.h | 1 + include/linux/shmem_fs.h | 14 +- include/linux/signal.h | 2 +- include/linux/skbuff.h | 29 +- include/linux/slab.h | 10 +- include/linux/socket.h | 1 - include/linux/spinlock.h | 264 +- include/linux/sunrpc/cache.h | 5 +- include/linux/sunrpc/gss_asn1.h | 1 - include/linux/suspend.h | 20 - include/linux/swap.h | 43 +- include/linux/syscalls.h | 10 +- include/linux/sysctl.h | 20 +- include/linux/sysfs.h | 19 +- include/linux/tcp.h | 28 +- include/linux/time.h | 15 + include/linux/times.h | 20 + include/linux/timex.h | 21 +- include/linux/tty.h | 40 +- include/linux/tty_ldisc.h | 10 + include/linux/types.h | 13 + include/linux/usb.h | 13 +- include/linux/usb_gadget.h | 6 - include/linux/videodev.h | 1 + include/linux/vs_context.h | 24 +- include/linux/vs_dlimit.h | 17 +- include/linux/vs_network.h | 41 +- include/linux/vserver/context.h | 34 +- include/linux/vserver/dlimit.h | 12 +- include/linux/vserver/inode.h | 8 +- include/linux/vserver/network.h | 18 +- include/linux/vserver/sched.h | 126 +- include/linux/vt_kern.h | 2 +- include/linux/wait.h | 43 +- include/linux/writeback.h | 24 +- include/linux/xattr.h | 16 + include/linux/xfrm.h | 1 + include/net/addrconf.h | 4 +- include/net/dst.h | 7 +- include/net/ip.h | 1 + include/net/ip6_fib.h | 1 + include/net/ip6_route.h | 12 + include/net/ipv6.h | 2 +- include/net/neighbour.h | 2 +- include/net/pkt_sched.h | 16 +- include/net/route.h | 5 - include/net/sctp/sctp.h | 1 + include/net/sock.h | 17 +- include/net/tcp.h | 246 +- include/net/tux.h | 14 +- include/net/xfrm.h | 118 +- include/pcmcia/ss.h | 6 +- include/rxrpc/call.h | 6 +- include/scsi/scsi.h | 10 +- include/scsi/scsi_device.h | 73 +- include/scsi/scsi_eh.h | 1 - include/scsi/scsi_host.h | 10 + include/scsi/scsi_ioctl.h | 2 + include/scsi/scsi_transport.h | 29 +- include/scsi/scsi_transport_fc.h | 61 +- include/scsi/scsi_transport_spi.h | 95 +- include/sound/ac97_codec.h | 42 +- include/sound/asound.h | 1 - include/sound/core.h | 19 +- include/sound/cs46xx.h | 21 +- include/sound/emu10k1.h | 27 +- include/sound/initval.h | 33 - include/sound/timer.h | 3 +- include/sound/trident.h | 1 - include/sound/version.h | 4 +- include/sound/ymfpci.h | 1 - include/video/neomagic.h | 3 + init/Kconfig | 28 +- init/do_mounts_rd.c | 20 +- init/main.c | 144 +- ipc/mqueue.c | 2 +- ipc/msg.c | 247 +- ipc/sem.c | 125 +- ipc/shm.c | 14 +- ipc/util.c | 107 +- ipc/util.h | 12 +- kernel/Makefile | 7 +- kernel/acct.c | 10 +- kernel/auditsc.c | 9 +- kernel/capability.c | 1 + kernel/ckrm/ckrm.c | 31 +- kernel/ckrm/ckrm_cpu_class.c | 4 +- kernel/ckrm/ckrm_cpu_monitor.c | 3 + kernel/ckrm/ckrm_tc.c | 4 + kernel/ckrm/ckrmutils.c | 19 +- kernel/ckrm/rbce/rbcemod.c | 4 + kernel/compat.c | 189 +- kernel/cpu.c | 21 +- kernel/exit.c | 519 +- kernel/fork.c | 196 +- kernel/futex.c | 4 +- kernel/kallsyms.c | 1 + kernel/kmod.c | 29 +- kernel/kthread.c | 2 +- kernel/module.c | 72 +- kernel/panic.c | 51 +- kernel/params.c | 10 + kernel/pid.c | 120 +- kernel/posix-timers.c | 24 +- kernel/power/Makefile | 7 +- kernel/power/pm.c | 31 - kernel/power/process.c | 8 +- kernel/power/swsusp.c | 1386 +- kernel/printk.c | 36 +- kernel/ptrace.c | 2 +- kernel/rcupdate.c | 311 +- kernel/sched.c | 2133 +- kernel/signal.c | 390 +- kernel/softirq.c | 2 - kernel/sys.c | 213 +- kernel/sysctl.c | 60 +- kernel/time.c | 100 +- kernel/timer.c | 194 +- kernel/user.c | 2 +- kernel/vserver/context.c | 185 +- kernel/vserver/dlimit.c | 72 +- kernel/vserver/inode.c | 14 +- kernel/vserver/network.c | 138 +- kernel/vserver/sysctl.c | 154 +- kernel/workqueue.c | 22 +- lib/Makefile | 8 +- lib/bitmap.c | 82 + lib/idr.c | 168 +- lib/kobject.c | 57 +- lib/rbtree.c | 13 + lib/rwsem.c | 8 +- lib/zlib_inflate/inftrees.c | 34 +- mm/Makefile | 6 +- mm/bootmem.c | 25 +- mm/filemap.c | 422 +- mm/fremap.c | 4 +- mm/highmem.c | 26 +- mm/hugetlb.c | 6 +- mm/memory.c | 134 +- mm/mlock.c | 35 +- mm/mmap.c | 88 +- mm/mprotect.c | 2 + mm/mremap.c | 3 + mm/nommu.c | 2 +- mm/oom_kill.c | 29 +- mm/page-writeback.c | 27 + mm/page_alloc.c | 355 +- mm/pdflush.c | 4 - mm/readahead.c | 42 +- mm/rmap.c | 305 +- mm/shmem.c | 397 +- mm/slab.c | 365 +- mm/swap_state.c | 2 +- mm/swapfile.c | 27 +- mm/truncate.c | 3 + mm/vmalloc.c | 27 +- mm/vmscan.c | 122 +- net/802/tr.c | 22 +- net/8021q/vlan.c | 10 +- net/8021q/vlan_dev.c | 8 +- net/Kconfig | 31 +- net/Makefile | 3 +- net/appletalk/ddp.c | 12 +- net/atm/br2684.c | 2 +- net/atm/clip.c | 319 +- net/atm/common.c | 3 +- net/atm/mpoa_proc.c | 2 +- net/ax25/af_ax25.c | 9 +- net/bluetooth/l2cap.c | 19 +- net/bridge/br_notify.c | 4 +- net/bridge/br_private.h | 2 +- net/bridge/netfilter/ebtables.c | 2 +- net/compat.c | 22 +- net/core/Makefile | 2 +- net/core/dev.c | 324 +- net/core/dst.c | 3 - net/core/neighbour.c | 25 +- net/core/net-sysfs.c | 1 - net/core/netfilter.c | 14 +- net/core/netpoll.c | 99 +- net/core/pktgen.c | 116 +- net/core/rtnetlink.c | 157 +- net/core/skbuff.c | 8 +- net/core/sock.c | 52 +- net/decnet/dn_dev.c | 125 +- net/decnet/dn_route.c | 43 +- net/econet/af_econet.c | 10 +- net/ethernet/eth.c | 6 +- net/ipv4/Kconfig | 40 +- net/ipv4/Makefile | 4 +- net/ipv4/af_inet.c | 119 +- net/ipv4/ah4.c | 17 +- net/ipv4/arp.c | 249 +- net/ipv4/devinet.c | 112 +- net/ipv4/esp4.c | 55 +- net/ipv4/fib_frontend.c | 4 +- net/ipv4/fib_hash.c | 841 +- net/ipv4/fib_semantics.c | 2 + net/ipv4/icmp.c | 48 +- net/ipv4/igmp.c | 102 +- net/ipv4/ip_fragment.c | 52 +- net/ipv4/ip_gre.c | 33 +- net/ipv4/ip_input.c | 3 +- net/ipv4/ip_options.c | 2 + net/ipv4/ip_output.c | 113 +- net/ipv4/ip_sockglue.c | 5 +- net/ipv4/ipcomp.c | 221 +- net/ipv4/ipconfig.c | 5 + net/ipv4/ipip.c | 14 +- net/ipv4/ipvs/ip_vs_sync.c | 28 +- net/ipv4/ipvs/ip_vs_xmit.c | 30 +- net/ipv4/netfilter/Kconfig | 190 +- net/ipv4/netfilter/Makefile | 11 +- net/ipv4/netfilter/arp_tables.c | 22 +- net/ipv4/netfilter/ip_conntrack_amanda.c | 15 +- net/ipv4/netfilter/ip_conntrack_core.c | 392 +- net/ipv4/netfilter/ip_conntrack_ftp.c | 1 + .../netfilter/ip_conntrack_proto_generic.c | 24 +- net/ipv4/netfilter/ip_conntrack_proto_icmp.c | 185 +- net/ipv4/netfilter/ip_conntrack_proto_tcp.c | 1055 +- net/ipv4/netfilter/ip_conntrack_proto_udp.c | 89 +- net/ipv4/netfilter/ip_conntrack_standalone.c | 507 +- net/ipv4/netfilter/ip_fw_compat_masq.c | 11 +- net/ipv4/netfilter/ip_nat_core.c | 131 +- net/ipv4/netfilter/ip_nat_snmp_basic.c | 6 +- net/ipv4/netfilter/ip_nat_standalone.c | 27 +- net/ipv4/netfilter/ip_tables.c | 61 +- net/ipv4/netfilter/ipt_LOG.c | 170 +- net/ipv4/netfilter/ipt_MASQUERADE.c | 4 +- net/ipv4/netfilter/ipt_REJECT.c | 27 +- net/ipv4/netfilter/ipt_ULOG.c | 35 +- net/ipv4/netfilter/ipt_helper.c | 1 + net/ipv4/netfilter/ipt_owner.c | 2 +- net/ipv4/proc.c | 2 +- net/ipv4/raw.c | 49 + net/ipv4/route.c | 164 +- net/ipv4/sysctl_net_ipv4.c | 12 +- net/ipv4/tcp.c | 15 +- net/ipv4/tcp_input.c | 403 +- net/ipv4/tcp_ipv4.c | 27 +- net/ipv4/tcp_minisocks.c | 17 +- net/ipv4/tcp_output.c | 329 +- net/ipv4/tcp_timer.c | 8 +- net/ipv4/udp.c | 4 +- net/ipv4/xfrm4_policy.c | 21 +- net/ipv4/xfrm4_tunnel.c | 14 +- net/ipv6/Makefile | 3 +- net/ipv6/addrconf.c | 176 +- net/ipv6/af_inet6.c | 156 +- net/ipv6/ah6.c | 29 +- net/ipv6/anycast.c | 63 +- net/ipv6/datagram.c | 4 +- net/ipv6/esp6.c | 52 +- net/ipv6/exthdrs.c | 3 + net/ipv6/icmp.c | 25 +- net/ipv6/ip6_flowlabel.c | 3 +- net/ipv6/ip6_input.c | 3 +- net/ipv6/ip6_output.c | 96 +- net/ipv6/ip6_tunnel.c | 18 + net/ipv6/ipcomp6.c | 229 +- net/ipv6/ipv6_syms.c | 4 - net/ipv6/mcast.c | 27 +- net/ipv6/ndisc.c | 91 +- net/ipv6/netfilter/ip6_tables.c | 4 +- net/ipv6/netfilter/ip6t_LOG.c | 7 +- net/ipv6/netfilter/ip6t_owner.c | 2 +- net/ipv6/raw.c | 60 +- net/ipv6/reassembly.c | 39 +- net/ipv6/route.c | 184 +- net/ipv6/sit.c | 16 +- net/ipv6/tcp_ipv6.c | 84 +- net/ipv6/udp.c | 12 +- net/ipv6/xfrm6_policy.c | 26 +- net/ipx/af_ipx.c | 2 + net/key/af_key.c | 24 +- net/llc/af_llc.c | 1 - net/netlink/af_netlink.c | 526 +- net/netrom/af_netrom.c | 2 - net/packet/af_packet.c | 37 +- net/rose/af_rose.c | 2 - net/rxrpc/call.c | 65 +- net/rxrpc/connection.c | 37 +- net/rxrpc/rxrpc_syms.c | 15 - net/rxrpc/transport.c | 12 +- net/sched/Kconfig | 18 +- net/sched/Makefile | 5 +- net/sched/cls_api.c | 16 +- net/sched/cls_fw.c | 2 +- net/sched/cls_u32.c | 7 +- net/sched/estimator.c | 10 +- net/sched/sch_api.c | 40 +- net/sched/sch_atm.c | 2 +- net/sched/sch_cbq.c | 21 +- net/sched/sch_generic.c | 73 +- net/sched/sch_hfsc.c | 315 +- net/sched/sch_htb.c | 1 - net/sched/sch_ingress.c | 14 +- net/sched/sch_red.c | 8 +- net/sctp/ipv6.c | 24 +- net/sctp/protocol.c | 36 +- net/sctp/socket.c | 32 +- net/socket.c | 7 +- net/sunrpc/auth_gss/Makefile | 4 + net/sunrpc/auth_gss/auth_gss.c | 4 +- net/sunrpc/auth_gss/gss_generic_token.c | 2 +- net/sunrpc/auth_gss/gss_krb5_unseal.c | 2 +- net/sunrpc/auth_gss/svcauth_gss.c | 2 - net/sunrpc/cache.c | 5 +- net/sunrpc/clnt.c | 41 +- net/sunrpc/svcauth_unix.c | 12 +- net/sunrpc/xprt.c | 8 +- net/tux/abuf.c | 8 +- net/tux/accept.c | 2 +- net/tux/cgi.c | 21 +- net/tux/directory.c | 17 +- net/tux/extcgi.c | 4 +- net/tux/input.c | 16 +- net/tux/logger.c | 65 +- net/tux/main.c | 22 +- net/tux/output.c | 12 +- net/tux/proc.c | 105 +- net/tux/proto_ftp.c | 28 +- net/tux/proto_http.c | 12 +- net/tux/redirect.c | 10 +- net/wanrouter/af_wanpipe.c | 1 - net/x25/af_x25.c | 2 - net/xfrm/xfrm_export.c | 10 - net/xfrm/xfrm_policy.c | 60 +- net/xfrm/xfrm_state.c | 58 +- net/xfrm/xfrm_user.c | 56 +- scripts/Makefile | 17 +- scripts/Makefile.modinst | 2 +- scripts/Makefile.modpost | 5 +- scripts/basic/fixdep.c | 11 +- scripts/kconfig/Makefile | 2 +- scripts/kconfig/mconf.c | 161 +- scripts/kernel-2.6-planetlab.spec | 7 +- security/commoncap.c | 11 +- security/dummy.c | 15 +- security/selinux/Kconfig | 24 + security/selinux/avc.c | 559 +- security/selinux/hooks.c | 435 +- security/selinux/include/av_perm_to_string.h | 1 + security/selinux/include/av_permissions.h | 1 + security/selinux/include/avc.h | 50 +- security/selinux/include/netif.h | 11 +- security/selinux/include/objsec.h | 7 - security/selinux/netif.c | 120 +- security/selinux/selinuxfs.c | 504 +- security/selinux/ss/avtab.c | 5 + security/selinux/ss/avtab.h | 1 + security/selinux/ss/services.c | 3 + security/selinux/ss/sidtab.c | 21 +- sound/arm/sa11xx-uda1341.c | 19 +- sound/core/control.c | 51 +- sound/core/init.c | 4 +- sound/core/ioctl32/ioctl32.c | 2 +- sound/core/ioctl32/pcm32.c | 55 +- sound/core/memalloc.c | 412 +- sound/core/oss/pcm_oss.c | 52 +- sound/core/oss/pcm_plugin.c | 133 +- sound/core/oss/route.c | 2 +- sound/core/pcm_lib.c | 78 +- sound/core/pcm_memory.c | 122 +- sound/core/pcm_misc.c | 708 +- sound/core/pcm_native.c | 390 +- sound/core/rawmidi.c | 62 +- sound/core/seq/Makefile | 58 +- sound/core/seq/instr/Makefile | 34 +- sound/core/seq/oss/seq_oss.c | 9 +- sound/core/seq/oss/seq_oss_init.c | 4 +- sound/core/seq/seq.c | 3 +- sound/core/seq/seq_clientmgr.c | 80 +- sound/core/seq/seq_dummy.c | 23 +- sound/core/seq/seq_midi.c | 6 +- sound/core/sound.c | 42 +- sound/core/timer.c | 67 +- sound/drivers/dummy.c | 102 +- sound/drivers/mpu401/mpu401.c | 21 +- sound/drivers/mtpav.c | 16 +- sound/drivers/opl3/opl3_lib.c | 10 +- sound/drivers/opl3/opl3_oss.c | 16 +- sound/drivers/opl3/opl3_seq.c | 9 +- sound/drivers/opl4/opl4_seq.c | 10 +- sound/drivers/serial-u16550.c | 34 +- sound/drivers/virmidi.c | 9 +- sound/isa/Kconfig | 8 + sound/isa/ad1816a/ad1816a.c | 15 +- sound/isa/ad1848/ad1848.c | 12 +- sound/isa/ad1848/ad1848_lib.c | 16 +- sound/isa/als100.c | 15 +- sound/isa/azt2320.c | 16 +- sound/isa/cmi8330.c | 18 +- sound/isa/cs423x/cs4231.c | 14 +- sound/isa/cs423x/cs4231_lib.c | 22 +- sound/isa/cs423x/cs4236.c | 20 +- sound/isa/dt019x.c | 14 +- sound/isa/es1688/es1688.c | 11 +- sound/isa/es18xx.c | 31 +- sound/isa/gus/gusclassic.c | 13 +- sound/isa/gus/gusextreme.c | 17 +- sound/isa/gus/gusmax.c | 13 +- sound/isa/gus/interwave.c | 60 +- sound/isa/opl3sa2.c | 39 +- sound/isa/opti9xx/opti92x-ad1848.c | 57 +- sound/isa/sb/emu8000_patch.c | 2 +- sound/isa/sb/es968.c | 13 +- sound/isa/sb/sb16.c | 21 +- sound/isa/sb/sb8.c | 13 +- sound/isa/sgalaxy.c | 9 +- sound/isa/sscape.c | 24 +- sound/isa/wavefront/wavefront.c | 19 +- sound/isa/wavefront/wavefront_fx.c | 54 +- sound/isa/wavefront/wavefront_synth.c | 6 + sound/oss/Kconfig | 11 +- sound/oss/Makefile | 2 +- sound/oss/aci.c | 3 +- sound/oss/aci.h | 1 - sound/oss/ad1848.c | 56 +- sound/oss/ad1889.c | 79 +- sound/oss/audio.c | 4 +- sound/oss/audio_syms.c | 3 - sound/oss/awe_wave.c | 4 +- sound/oss/cmpci.c | 83 +- sound/oss/dev_table.c | 4 +- sound/oss/dev_table.h | 1 - sound/oss/gus_wave.c | 14 +- sound/oss/i810_audio.c | 13 +- sound/oss/kahlua.c | 4 + sound/oss/maui.c | 63 +- sound/oss/mpu401.c | 26 +- sound/oss/msnd.c | 55 +- sound/oss/msnd.h | 4 - sound/oss/opl3sa2.c | 59 +- sound/oss/pss.c | 142 +- sound/oss/sb_card.c | 9 +- sound/oss/sound_calls.h | 1 - sound/oss/sound_syms.c | 3 - sound/oss/sscape.c | 215 +- sound/oss/trident.c | 1 - sound/oss/v_midi.c | 5 +- sound/oss/waveartist.c | 6 +- sound/oss/wavfront.c | 6 +- sound/oss/wf_midi.c | 5 +- sound/parisc/harmony.c | 75 +- sound/pci/Kconfig | 14 +- sound/pci/ac97/ac97_codec.c | 417 +- sound/pci/ac97/ac97_local.h | 14 +- sound/pci/ac97/ac97_patch.c | 257 +- sound/pci/ac97/ac97_pcm.c | 9 +- sound/pci/ac97/ac97_proc.c | 18 +- sound/pci/ali5451/ali5451.c | 78 +- sound/pci/als4000.c | 64 +- sound/pci/atiixp.c | 127 +- sound/pci/au88x0/au88x0.c | 16 +- sound/pci/au88x0/au88x0.h | 2 - sound/pci/au88x0/au88x0_a3d.c | 14 +- sound/pci/au88x0/au88x0_core.c | 2 +- sound/pci/au88x0/au88x0_eq.c | 160 +- sound/pci/au88x0/au88x0_game.c | 2 +- sound/pci/au88x0/au88x0_pcm.c | 7 +- sound/pci/azt3328.c | 115 +- sound/pci/bt87x.c | 96 +- sound/pci/cmipci.c | 223 +- sound/pci/cs4281.c | 151 +- sound/pci/cs46xx/cs46xx.c | 9 +- sound/pci/cs46xx/cs46xx_lib.c | 346 +- sound/pci/cs46xx/dsp_spos_scb_lib.c | 2 +- sound/pci/emu10k1/emu10k1.c | 19 +- sound/pci/emu10k1/emu10k1_main.c | 57 +- sound/pci/emu10k1/emufx.c | 374 +- sound/pci/emu10k1/emumixer.c | 21 +- sound/pci/ens1370.c | 140 +- sound/pci/es1938.c | 224 +- sound/pci/es1968.c | 208 +- sound/pci/fm801.c | 79 +- sound/pci/ice1712/Makefile | 2 +- sound/pci/ice1712/aureon.c | 307 +- sound/pci/ice1712/delta.c | 4 +- sound/pci/ice1712/ews.c | 26 +- sound/pci/ice1712/ice1712.c | 125 +- sound/pci/ice1712/ice1712.h | 6 - sound/pci/ice1712/ice1724.c | 381 +- sound/pci/ice1712/revo.c | 4 +- sound/pci/intel8x0.c | 350 +- sound/pci/intel8x0m.c | 187 +- sound/pci/korg1212/korg1212.c | 202 +- sound/pci/maestro3.c | 97 +- sound/pci/mixart/mixart.c | 126 +- sound/pci/nm256/nm256.c | 97 +- sound/pci/rme32.c | 844 +- sound/pci/rme96.c | 375 +- sound/pci/rme9652/hdsp.c | 481 +- sound/pci/rme9652/rme9652.c | 311 +- sound/pci/sonicvibes.c | 130 +- sound/pci/trident/trident.c | 8 +- sound/pci/trident/trident_main.c | 165 +- sound/pci/via82xx.c | 206 +- sound/pci/vx222/vx222.c | 42 +- sound/pci/ymfpci/ymfpci.c | 10 +- sound/pci/ymfpci/ymfpci_main.c | 186 +- sound/pcmcia/pdaudiocf/pdaudiocf.c | 16 +- sound/pcmcia/pdaudiocf/pdaudiocf_core.c | 12 +- sound/pcmcia/pdaudiocf/pdaudiocf_irq.c | 4 +- sound/pcmcia/vx/vxpocket.c | 7 +- sound/ppc/pmac.c | 93 +- sound/ppc/pmac.h | 14 +- sound/ppc/powermac.c | 24 +- sound/ppc/tumbler.c | 71 +- sound/sparc/amd7930.c | 24 +- sound/sparc/cs4231.c | 49 +- sound/synth/emux/emux_oss.c | 14 +- sound/usb/usbaudio.c | 108 +- sound/usb/usbaudio.h | 7 +- sound/usb/usbmixer.c | 62 +- sound/usb/usbquirks.h | 89 +- 2652 files changed, 129643 insertions(+), 474542 deletions(-) delete mode 100644 TAGS delete mode 100644 arch/i386/Kconfig.debug~ delete mode 100644 arch/i386/kernel/vsyscall.lds create mode 100644 configs/kernel-2.6.9-i686-planetlab.config create mode 100644 drivers/net/gianfar.c create mode 100644 drivers/net/gianfar.h create mode 100644 drivers/net/gianfar_ethtool.c create mode 100644 drivers/net/gianfar_phy.c create mode 100644 drivers/net/gianfar_phy.h create mode 100644 fs/ext3/resize.c create mode 100644 fs/hostfs/hostfs_kern.c create mode 100644 fs/hostfs/hostfs_user.c diff --git a/CREDITS b/CREDITS index cc0cffd96..22252bdf5 100644 --- a/CREDITS +++ b/CREDITS @@ -281,6 +281,11 @@ S: Code 930.5, Goddard Space Flight Center S: Greenbelt, Maryland 20771 S: USA +N: Adam Belay +E: ambx1@neo.rr.com +D: Linux Plug and Play Support +S: USA + N: Daniele Bellucci E: bellucda@tiscali.it D: Various Janitor work. @@ -513,6 +518,14 @@ S: 25-29 St Giles S: Oxford S: United Kingdom +N: Luiz Fernando N. Capitulino +E: lcapitulino@terra.com.br +E: lcapitulino@prefeitura.sp.gov.br +W: http://www.telecentros.sp.gov.br +D: Little fixes and a lot of janitorial work +S: E-GOV Telecentros SP +S: Brazil + N: Remy Card E: Remy.Card@masi.ibp.fr E: Remy.Card@linux.org @@ -625,6 +638,14 @@ E: nconway.list@ukaea.org.uk D: Assorted sched/mm titbits S: Oxfordshire, UK. +N: Kees Cook +E: kees@outflux.net +W: http://outflux.net/ +P: 1024D/17063E6D 9FA3 C49C 23C9 D1BC 2E30 1975 1FFF 4BA9 1706 3E6D +D: Minor updates to SCSI code for the Communications type +S: (ask for current address) +S: USA + N: Mark Corner E: mcorner@umich.edu W: http://www.eecs.umich.edu/~mcorner/ @@ -639,14 +660,6 @@ D: Kernel module SMART utilities S: Santa Cruz, California S: USA -N: Kees Cook -E: kees@outflux.net -W: http://outflux.net/ -P: 1024D/17063E6D 9FA3 C49C 23C9 D1BC 2E30 1975 1FFF 4BA9 1706 3E6D -D: Minor updates to SCSI code for the Communications type -S: (ask for current address) -S: USA - N: Alan Cox W: http://www.linux.org.uk/diary/ D: Linux Networking (0.99.10->2.0.29) @@ -735,6 +748,12 @@ S: Schimmelsrain 1 S: D-69231 Rauenberg S: Germany +N: Jean Delvare +E: khali@linux-fr.org +W: http://khali.linux-fr.org/ +D: Several hardware monitoring drivers +S: France + N: Peter Denison E: peterd@pnd-pc.demon.co.uk W: http://www.pnd-pc.demon.co.uk/promise/ @@ -754,7 +773,7 @@ W: http://luxik.cdi.cz/~devik/qos/ D: HTB qdisc and random networking hacks N: Alex deVries -E: adevries@thepuffingroup.com +E: alex@onefishtwo.ca D: Various SGI parts, bits of HAL2 and Newport, PA-RISC Linux. S: 41.5 William Street S: Ottawa, Ontario @@ -905,6 +924,10 @@ S: Brevia 1043 S: S-114 79 Stockholm S: Sweden +N: David Engebretsen +E: engebret@us.ibm.com +D: Linux port to 64-bit PowerPC architecture + N: Michael Engel E: engel@unix-ag.org D: DECstation framebuffer drivers @@ -1049,6 +1072,12 @@ S: R. Tocantins, 89 - Cristo Rei S: 80050-430 - Curitiba - Paraná S: Brazil +N: Kumar Gala +E: kumar.gala@freescale.com +D: Embedded PowerPC 6xx/7xx/74xx/82xx/85xx support +S: Austin, Texas 78729 +S: USA + N: Nigel Gamble E: nigel@nrg.org D: Interrupt-driven printer driver @@ -1060,12 +1089,6 @@ S: USA N: Jeff Garzik E: jgarzik@pobox.com -N: Kumar Gala -E: kumar.gala@freescale.com -D: Embedded PowerPC 6xx/7xx/74xx/82xx/85xx support -S: Austin, Texas 78729 -S: USA - N: Jacques Gelinas E: jacques@solucorp.qc.ca D: Author of the Umsdos file system @@ -1563,10 +1586,37 @@ D: Backport/Forwardport merge monkey. D: Various Janitor work. S: United Kingdom +N: Martin Josfsson +E: gandalf@wlug.westbo.se +P: 1024D/F6B6D3B1 7610 7CED 5C34 4AA6 DBA2 8BE1 5A6D AF95 F6B6 D3B1 +D: netfilter: SAME target +D: netfilter: helper target +D: netfilter: various other hacks +S: Ronneby +S: Sweden + N: Ani Joshi E: ajoshi@shell.unixbox.com D: fbdev hacking +N: Jesper Juhl +E: juhl-lkml@dif.dk +D: Various small janitor fixes, cleanups etc. +S: Lemnosvej 1, 3.tv +S: 2300 Copenhagen S +S: Denmark + +N: Jozsef Kadlecsik +E: kadlec@blackhole.kfki.hu +P: 1024D/470DB964 4CB3 1A05 713E 9BF7 FAC5 5809 DD8C B7B1 470D B964 +D: netfilter: TCP window tracking code +D: netfilter: raw table +D: netfilter: iprange match +D: netfilter: new logging interfaces +D: netfilter: various other hacks +S: Tata +S: Hungary + N: Bernhard Kaindl E: bkaindl@netway.at E: edv@bartelt.via.at @@ -1818,11 +1868,6 @@ S: Sindlovy Dvory 117 S: 370 01 Ceske Budejovice S: Czech Republic -N: Adam Belay -E: ambx1@neo.rr.com -D: Linux Plug and Play Support -S: USA - N: Bas Laarhoven E: sjml@xs4all.nl D: Loadable modules and ftape driver @@ -1954,12 +1999,6 @@ S: 8786 Niwot Road S: Niwot, Colorado 80503 S: USA -N: Pete Popov -E: pete_popov@yahoo.com -D: Linux/MIPS AMD/Alchemy Port and mips hacking and debugging -S: San Jose, CA 95134 -S: USA - N: Robert M. Love E: rml@tech9.net E: rml@novell.com @@ -2127,6 +2166,16 @@ D: OV511 driver S: (address available on request) S: USA +N: Patrick McHardy +E: kaber@trash.net +P: 1024D/12155E80 B128 7DE6 FF0A C2B2 48BE AB4C C9D4 964E 1215 5E80 +D: netfilter: endless number of bugfixes +D: netfilter: CLASSIFY target +D: netfilter: addrtype match +D: tc: HFSC scheduler +S: Freiburg +S: Germany + N: Mike McLagan E: mike.mclagan@linux.org W: http://www.invlogic.com/~mmclagan @@ -2214,14 +2263,13 @@ S: 7546 JA Enschede S: Netherlands N: David S. Miller -E: davem@redhat.com +E: davem@davemloft.net D: Sparc and blue box hacker D: Vger Linux mailing list co-maintainer D: Linux Emacs elf/qmagic support + other libc/gcc things D: Yee bore de yee bore! ;-) -S: 750 N. Shoreline Blvd. -S: Apt. #111 -S: Mountain View, California 94043 +S: 575 Harrison St. #103 +S: San Francisco, CA 94105 S: USA N: Rick Miller @@ -2570,6 +2618,7 @@ N: Nicolas Pitre E: nico@cam.org D: StrongARM SA1100 support integrator & hacker D: Xscale PXA architecture +D: unified SMC 91C9x/91C11x ethernet driver (smc91x) S: Montreal, Quebec, Canada N: Ken Pizzini @@ -2582,6 +2631,12 @@ P: 1024D/EDBB6147 7B36 0E07 04BC 11DC A7A0 D3F7 7185 9E7A EDBB 6147 D: sonypi, meye drivers, mct_u232 usb serial hacks S: Paris, France +N: Pete Popov +E: pete_popov@yahoo.com +D: Linux/MIPS AMD/Alchemy Port and mips hacking and debugging +S: San Jose, CA 95134 +S: USA + N: Matt Porter E: mporter@kernel.crashing.org D: Motorola PowerPC PReP support @@ -2797,7 +2852,7 @@ S: Germany N: Paul `Rusty' Russell E: rusty@rustcorp.com.au -W: http://www.samba.org/netfilter +W: http://ozlabs.org/~rusty D: Ruggedly handsome. D: netfilter, ipchains with Michael Neuling. S: 52 Moore St @@ -2821,7 +2876,6 @@ S: I/3 Walter St S: Wellington S: New Zealand - N: Sampo Saaristo E: sambo@cs.tut.fi D: Co-author of Multi-Protocol Over ATM (MPOA) @@ -2838,6 +2892,9 @@ S: Markusstrasse 18 S: 8006 Zuerich S: Switzerland +N: Manuel Estrada Sainz +D: Firmware loader (request_firmware) + N: Wayne Salamon E: wsalamon@tislabs.com E: wsalamon@nai.com @@ -3289,14 +3346,6 @@ S: Chudenicka 8 S: 10200 Prague 10, Hostivar S: Czech Republic -N: James R. Van Zandt -E: jrv@vanzandt.mv.com -P: 1024/E298966D F0 37 4F FD E5 7E C5 E6 F1 A0 1E 22 6F 46 DA 0C -D: Author and maintainer of the Double Talk speech synthesizer driver -S: 27 Spencer Drive -S: Nashua, New Hampshire 03062 -S: USA - N: Heikki Vatiainen E: hessu@cs.tut.fi D: Co-author of Multi-Protocol Over ATM (MPOA), some LANE hacks @@ -3387,6 +3436,18 @@ S: UC Berkeley S: Berkeley, CA 94720-1776 S: USA +N: Harald Welte +E: laforge@netfilter.org +P: 1024D/30F48BFF DBDE 6912 8831 9A53 879B 9190 5DA5 C655 30F4 8BFF +W: http://gnumonks.org/users/laforge +D: netfilter: new nat helper infrastructure +D: netfilter: ULOG, ECN, DSCP target +D: netfilter: TTL match +D: netfilter: IPv6 mangle table +D: netfilter: various other hacks +S: Berlin +S: Germany + N: Bill Wendling E: wendling@ganymede.isdn.uiuc.edu W: http://www.ncsa.uiuc.edu/~wendling/ @@ -3578,6 +3639,14 @@ S: ARCO Tower 1-8-1 Shimomeguro Meguro-ku S: Tokyo 153 S: Japan +N: James R. Van Zandt +E: jrv@vanzandt.mv.com +P: 1024/E298966D F0 37 4F FD E5 7E C5 E6 F1 A0 1E 22 6F 46 DA 0C +D: Author and maintainer of the Double Talk speech synthesizer driver +S: 27 Spencer Drive +S: Nashua, New Hampshire 03062 +S: USA + N: Orest Zborowski E: orestz@eskimo.com D: XFree86 and kernel development @@ -3619,13 +3688,6 @@ D: MD driver D: EISA/sysfs subsystem S: France -N: Luiz Fernando N. Capitulino -E: lcapitulino@terra.com.br -E: lcapitulino@prefeitura.sp.gov.br -W: http://www.telecentros.sp.gov.br -D: Little fixes and a lot of janitorial work -S: E-GOV Telecentros SP -S: Brazil # Don't add your name here, unless you really _are_ after Marc # alphabetically. Leonard used to be very proud of being the diff --git a/Documentation/DMA-API.txt b/Documentation/DMA-API.txt index 11caa2d64..8787c4d09 100644 --- a/Documentation/DMA-API.txt +++ b/Documentation/DMA-API.txt @@ -444,4 +444,83 @@ dma_alloc_noncoherent(), starting at virtual address vaddr and continuing on for size. Again, you *must* observe the cache line boundaries when doing this. +int +dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, + dma_addr_t device_addr, size_t size, int + flags) + + +Declare region of memory to be handed out by dma_alloc_coherent when +it's asked for coherent memory for this device. + +bus_addr is the physical address to which the memory is currently +assigned in the bus responding region (this will be used by the +platform to perform the mapping) + +device_addr is the physical address the device needs to be programmed +with actually to address this memory (this will be handed out as the +dma_addr_t in dma_alloc_coherent()) + +size is the size of the area (must be multiples of PAGE_SIZE). + +flags can be or'd together and are + +DMA_MEMORY_MAP - request that the memory returned from +dma_alloc_coherent() be directly writeable. + +DMA_MEMORY_IO - request that the memory returned from +dma_alloc_coherent() be addressable using read/write/memcpy_toio etc. + +One or both of these flags must be present + +DMA_MEMORY_INCLUDES_CHILDREN - make the declared memory be allocated by +dma_alloc_coherent of any child devices of this one (for memory residing +on a bridge). + +DMA_MEMORY_EXCLUSIVE - only allocate memory from the declared regions. +Do not allow dma_alloc_coherent() to fall back to system memory when +it's out of memory in the declared region. + +The return value will be either DMA_MEMORY_MAP or DMA_MEMORY_IO and +must correspond to a passed in flag (i.e. no returning DMA_MEMORY_IO +if only DMA_MEMORY_MAP were passed in) for success or zero for +failure. + +Note, for DMA_MEMORY_IO returns, all subsequent memory returned by +dma_alloc_coherent() may no longer be accessed directly, but instead +must be accessed using the correct bus functions. If your driver +isn't prepared to handle this contingency, it should not specify +DMA_MEMORY_IO in the input flags. + +As a simplification for the platforms, only *one* such region of +memory may be declared per device. + +For reasons of efficiency, most platforms choose to track the declared +region only at the granularity of a page. For smaller allocations, +you should use the dma_pool() API. + +void +dma_release_declared_memory(struct device *dev) + +Remove the memory region previously declared from the system. This +API performs *no* in-use checking for this region and will return +unconditionally having removed all the required structures. It is the +drivers job to ensure that no parts of this memory region are +currently in use. + +void * +dma_mark_declared_memory_occupied(struct device *dev, + dma_addr_t device_addr, size_t size) + +This is used to occupy specific regions of the declared space +(dma_alloc_coherent() will hand out the first free region it finds). + +device_addr is the *device* address of the region requested + +size is the size (and should be a page sized multiple). + +The return value will be either a pointer to the processor virtual +address of the memory, or an error (via PTR_ERR()) if any part of the +region is occupied. + diff --git a/Documentation/DocBook/kernel-hacking.tmpl b/Documentation/DocBook/kernel-hacking.tmpl index 0424c92f5..cd1bc1574 100644 --- a/Documentation/DocBook/kernel-hacking.tmpl +++ b/Documentation/DocBook/kernel-hacking.tmpl @@ -145,7 +145,7 @@ In user context, the current pointer (indicating the task we are currently executing) is valid, and in_interrupt() - (include/asm/hardirq.h) is false + (include/linux/interrupt.h) is false . @@ -241,7 +241,7 @@ You can tell you are in a softirq (or bottom half, or tasklet) using the in_softirq() macro - (include/asm/hardirq.h). + (include/linux/interrupt.h). diff --git a/Documentation/cachetlb.txt b/Documentation/cachetlb.txt index 26bb2b405..9e2f988a8 100644 --- a/Documentation/cachetlb.txt +++ b/Documentation/cachetlb.txt @@ -354,10 +354,6 @@ maps this page at its virtual address. of arbitrary user pages (f.e. for ptrace()) it will use these two routines. - The page has been kmap()'d, and flush_cache_page() has - just been called for the user mapping of this page (if - necessary). - Any necessary cache flushing or other coherency operations that need to occur should happen here. If the processor's instruction cache does not snoop cpu stores, it is very diff --git a/Documentation/cciss.txt b/Documentation/cciss.txt index 7d8f67e5c..5bbc54667 100644 --- a/Documentation/cciss.txt +++ b/Documentation/cciss.txt @@ -14,8 +14,7 @@ This driver is known to work with the following cards: * SA 6400 * SA 6400 U320 Expansion Module * SA 6i - * SA 6422 - * SA V100 + * SA P600 If nodes are not already created in the /dev/cciss directory diff --git a/Documentation/cdrom/cdrom-standard.tex b/Documentation/cdrom/cdrom-standard.tex index 0a51967fe..92f94e597 100644 --- a/Documentation/cdrom/cdrom-standard.tex +++ b/Documentation/cdrom/cdrom-standard.tex @@ -360,13 +360,11 @@ up the disc, etc. % and device-use count \subsection{$Void\ release(struct\ cdrom_device_info * cdi)$} -In case of module support, a single call $MOD_DEC_USE_COUNT$ should be -coded here. Possibly other device-specific actions should be taken -such as spinning down the device. However, strategic actions such as -ejection of the tray, or unlocking the door, should be left over to -the general routine $cdrom_release()$. Also, the invalidation of the -allocated buffers in the VFS is taken care of by the routine in -\cdromc. This is the only function returning type $void$. + +Device-specific actions should be taken such as spinning down the device. +However, strategic actions such as ejection of the tray, or unlocking +the door, should be left over to the general routine $cdrom_release()$. +This is the only function returning type $void$. \subsection{$Int\ drive_status(struct\ cdrom_device_info * cdi, int\ slot_nr)$} \label{drive status} diff --git a/Documentation/devices.txt b/Documentation/devices.txt index 954e49636..c46f5961a 100644 --- a/Documentation/devices.txt +++ b/Documentation/devices.txt @@ -1,9 +1,9 @@ LINUX ALLOCATED DEVICES - Maintained by John Cagle + Maintained by Torben Mathiasen - Last revised: 15 March 2004 + Last revised: 04 August 2004 This list is the Linux Device List, the official registry of allocated device numbers and /dev directory nodes for the Linux operating @@ -410,6 +410,7 @@ Your cooperation is appreciated. 199 = /dev/scanners/cuecat :CueCat barcode scanner 200 = /dev/net/tun TAP/TUN network device 201 = /dev/button/gulpb Transmeta GULP-B buttons + 202 = /dev/emd/ctl Enhanced Metadisk RAID (EMD) control 204 = /dev/video/em8300 EM8300 DVD decoder control 205 = /dev/video/em8300_mv EM8300 DVD decoder video 206 = /dev/video/em8300_ma EM8300 DVD decoder audio @@ -1682,11 +1683,16 @@ Your cooperation is appreciated. 1 = /dev/dcxx1 Second capture card ... - 94 block Inverse NAND Flash Translation Layer - 0 = /dev/inftla First INFTL layer - 16 = /dev/inftlb Second INFTL layer + 94 block IBM S/390 DASD block storage + 0 = /dev/dasda First DASD device, major + 1 = /dev/dasda1 First DASD device, block 1 + 2 = /dev/dasda2 First DASD device, block 2 + 3 = /dev/dasda3 First DASD device, block 3 + 4 = /dev/dasdb Second DASD device, major + 5 = /dev/dasdb1 Second DASD device, block 1 + 6 = /dev/dasdb2 Second DASD device, block 2 + 7 = /dev/dasdb3 Second DASD device, block 3 ... - 240 = /dev/inftlp 16th INTFL layer 95 char IP filter 0 = /dev/ipl Filter control device/log file @@ -1695,15 +1701,9 @@ Your cooperation is appreciated. 3 = /dev/ipauth Authentication control device/log file ... - 95 block IBM S/390 DASD block storage - 0 = /dev/dasd0 First DASD device, major - 1 = /dev/dasd0a First DASD device, block 1 - 2 = /dev/dasd0b First DASD device, block 2 - 3 = /dev/dasd0c First DASD device, block 3 - 4 = /dev/dasd1 Second DASD device, major - 5 = /dev/dasd1a Second DASD device, block 1 - 6 = /dev/dasd1b Second DASD device, block 2 - 7 = /dev/dasd1c Second DASD device, block 3 + 95 block IBM S/390 VM/ESA minidisk + 0 = /dev/msd0 First VM/ESA minidisk + 1 = /dev/msd1 Second VM/ESA minidisk ... 96 char Parallel port ATAPI tape devices @@ -1714,10 +1714,11 @@ Your cooperation is appreciated. 129 = /dev/npt1 Second p.p. ATAPI tape, no rewind ... - 96 block IBM S/390 VM/ESA minidisk - 0 = /dev/msd0 First VM/ESA minidisk - 1 = /dev/msd1 Second VM/ESA minidisk + 96 block Inverse NAND Flash Translation Layer + 0 = /dev/inftla First INFTL layer + 16 = /dev/inftlb Second INFTL layer ... + 240 = /dev/inftlp 16th INTFL layer 97 char Parallel port generic ATAPI interface 0 = /dev/pg0 First parallel port ATAPI device @@ -1796,14 +1797,15 @@ Your cooperation is appreciated. partitions is 15. 103 char Arla network file system - 0 = /dev/xfs0 Arla XFS + 0 = /dev/nnpfs0 First NNPFS device + 1 = /dev/nnpfs1 Second NNPFS device Arla is a free clone of the Andrew File System, AFS. - Any resemblance with the Swedish milk producer is - coincidental. For more information about the project, - write to or subscribe - to the arla announce mailing list by sending a mail to - . + The NNPFS device gives user mode filesystem + implementations a kernel presence for caching and easy + mounting. For more information about the project, + write to or see + http://www.stacken.kth.se/project/arla/ 103 block Audit device 0 = /dev/audit Audit device @@ -2060,12 +2062,10 @@ Your cooperation is appreciated. device names. For example, /dev/hda5 would become /dev/evms/hda5. -118 char Solidum ??? - 0 = /dev/solnp0 - 1 = /dev/solnp1 - ... - 128 = /dev/solnpctl0 - 129 = /dev/solnpctl1 +118 char IBM Cryptographic Accelerator + 0 = /dev/ica Virtual interface to all IBM Crypto Accelerators + 1 = /dev/ica0 IBMCA Device 0 + 2 = /dev/ica1 IBMCA Device 1 ... 119 char VMware virtual network control @@ -2310,6 +2310,11 @@ Your cooperation is appreciated. 1 = /dev/aureal1 Second Aureal Vortex ... +147 block Distributed Replicated Block Device (DRBD) + 0 = /dev/drbd0 First DRBD device + 1 = /dev/drbd1 Second DRBD device + ... + 148 char Technology Concepts serial card 0 = /dev/ttyT0 First TCL port 1 = /dev/ttyT1 Second TCL port @@ -2346,6 +2351,22 @@ Your cooperation is appreciated. ... 15 = /dev/spi15 Sixteenth SPI device on the bus +153 block Enhanced Metadisk RAID (EMD) storage units + 0 = /dev/emd/0 First unit + 1 = /dev/emd/0p1 Partition 1 on First unit + 2 = /dev/emd/0p2 Partition 2 on First unit + ... + 15 = /dev/emd/0p15 Partition 15 on First unit + + 16 = /dev/emd/1 Second unit + 32 = /dev/emd/2 Third unit + ... + 240 = /dev/emd/15 Sixteenth unit + + Partitions are handled in the same way as for IDE + disks (see major number 3) except that the limit on + partitions is 15. + 154 char Specialix RIO serial card 0 = /dev/ttySR0 First RIO port ... @@ -2371,23 +2392,24 @@ Your cooperation is appreciated. 1 = /dev/gfax1 GammaLink channel 1 ... -159 RESERVED +159 char RESERVED +159 block RESERVED 160 char General Purpose Instrument Bus (GPIB) 0 = /dev/gpib0 First GPIB bus 1 = /dev/gpib1 Second GPIB bus ... -160 block Promise SX8 8-port SATA Disks on First Controller - 0 = /dev/sx8/0 SATA disk 0 whole disk - 1 = /dev/sx8/0p1 SATA disk 0 partition 1 +160 block Carmel 8-port SATA Disks on First Controller + 0 = /dev/carmel/0 SATA disk 0 whole disk + 1 = /dev/carmel/0p1 SATA disk 0 partition 1 ... - 31 = /dev/sx8/0p31 SATA disk 0 partition 31 + 31 = /dev/carmel/0p31 SATA disk 0 partition 31 - 32 = /dev/sx8/1 SATA disk 1 whole disk - 64 = /dev/sx8/2 SATA disk 2 whole disk + 32 = /dev/carmel/1 SATA disk 1 whole disk + 64 = /dev/carmel/2 SATA disk 2 whole disk ... - 224 = /dev/sx8/7 SATA disk 7 whole disk + 224 = /dev/carmel/7 SATA disk 7 whole disk Partitions are handled in the same way as for IDE disks (see major number 3) except that the limit on @@ -2401,16 +2423,16 @@ Your cooperation is appreciated. 17 = /dev/irlpt1 Second IrLPT device ... -161 block Promise SX8 8-port SATA Disks on Second Controller - 0 = /dev/sx8/8 SATA disk 8 whole disk - 1 = /dev/sx8/8p1 SATA disk 8 partition 1 +161 block Carmel 8-port SATA Disks on Second Controller + 0 = /dev/carmel/8 SATA disk 8 whole disk + 1 = /dev/carmel/8p1 SATA disk 8 partition 1 ... - 31 = /dev/sx8/8p31 SATA disk 8 partition 31 + 31 = /dev/carmel/8p31 SATA disk 8 partition 31 - 32 = /dev/sx8/9 SATA disk 9 whole disk - 64 = /dev/sx8/10 SATA disk 10 whole disk + 32 = /dev/carmel/9 SATA disk 9 whole disk + 64 = /dev/carmel/10 SATA disk 10 whole disk ... - 224 = /dev/sx8/15 SATA disk 15 whole disk + 224 = /dev/carmel/15 SATA disk 15 whole disk Partitions are handled in the same way as for IDE disks (see major number 3) except that the limit on @@ -2720,6 +2742,11 @@ Your cooperation is appreciated. ... 39 = /dev/ttyDB7 DataBooster serial port 7 40 = /dev/ttySG0 SGI Altix console port + 41 = /dev/ttySMX0 Motorola i.MX - port 0 + 42 = /dev/ttySMX1 Motorola i.MX - port 1 + 43 = /dev/ttySMX2 Motorola i.MX - port 2 + 44 = /dev/ttyMM0 Marvell MPSC - port 0 + 45 = /dev/ttyMM1 Marvell MPSC - port 1 205 char Low-density serial ports (alternate device) 0 = /dev/culu0 Callout device for ttyLU0 @@ -2745,6 +2772,9 @@ Your cooperation is appreciated. ... 39 = /dev/cudb7 Callout device for ttyDB7 40 = /dev/cusg0 Callout device for ttySG0 + 41 = /dev/ttySMX0 Callout device for ttySMX0 + 42 = /dev/ttySMX1 Callout device for ttySMX1 + 43 = /dev/ttySMX2 Callout device for ttySMX2 206 char OnStream SC-x0 tape devices 0 = /dev/osst0 First OnStream SCSI tape, mode 0 diff --git a/Documentation/filesystems/ntfs.txt b/Documentation/filesystems/ntfs.txt index 200862dd6..7d600c0f4 100644 --- a/Documentation/filesystems/ntfs.txt +++ b/Documentation/filesystems/ntfs.txt @@ -30,7 +30,7 @@ fault-tolerance, encryption or journalling) and very limited, but safe, write support. For fault tolerance and raid support (i.e. volume and stripe sets), you can -use the kernel's Software RAID / MD driver. See section "Using Software RAID +use the kernel's Software RAID / MD driver. See section "Using Software RAID with NTFS" for details. @@ -64,14 +64,18 @@ Features time find . -type f -exec md5sum "{}" \; run three times in sequence with each driver (after a reboot) on a 1.4GiB NTFS partition, showed the new driver to be 20% faster in total time elapsed - (from 9:43 minutes on average down to 7:53). The time spent in user space + (from 9:43 minutes on average down to 7:53). The time spent in user space was unchanged but the time spent in the kernel was decreased by a factor of 2.5 (from 85 CPU seconds down to 33). -- The driver does not support short file names in general. For backwards +- The driver does not support short file names in general. For backwards compatibility, we implement access to files using their short file names if - they exist. The driver will not create short file names however, and a rename - will discard any existing short file name. + they exist. The driver will not create short file names however, and a + rename will discard any existing short file name. - The new driver supports exporting of mounted NTFS volumes via NFS. +- The new driver supports async io (aio). +- The new driver supports fsync(2), fdatasync(2), and msync(2). +- The new driver supports readv(2) and writev(2). +- The new driver supports access time updates (including mtime and ctime). Supported mount options @@ -273,6 +277,25 @@ ChangeLog Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. +2.1.20: + - Fix two stupid bugs introduced in 2.1.18 release. +2.1.19: + - Minor bugfix in handling of the default upcase table. + - Many internal cleanups and improvements. Many thanks to Linus + Torvalds and Al Viro for the help and advice with the sparse + annotations and cleanups. +2.1.18: + - Fix scheduling latencies at mount time. (Ingo Molnar) + - Fix endianness bug in a little traversed portion of the attribute + lookup code. +2.1.17: + - Fix bugs in mount time error code paths. +2.1.16: + - Implement access time updates (including mtime and ctime). + - Implement fsync(2), fdatasync(2), and msync(2) system calls. + - Enable the readv(2) and writev(2) system calls. + - Enable access via the asynchronous io (aio) API by adding support for + the aio_read(3) and aio_write(3) functions. 2.1.15: - Invalidate quotas when (re)mounting read-write. NOTE: This now only leave user space journalling on the side. (See diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 9d626596d..0dad0f2b0 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -55,7 +55,7 @@ This work is based on the 2.2.* kernel version and the upcoming 2.4.*. I'm afraid it's still far from complete, but we hope it will be useful. As far as we know, it is the first 'all-in-one' document about the /proc file system. It is focused on the Intel x86 hardware, so if you are looking for PPC, ARM, -SPARC, APX, etc., features, you probably won't find what you are looking for. +SPARC, AXP, etc., features, you probably won't find what you are looking for. It also only covers IPv4 networking, not IPv6 nor other protocols - sorry. But additions and patches are welcome and will be added to this document if you mail them to Bodo. @@ -169,16 +169,18 @@ information. The statm file contains more detailed information about the process memory usage. Its seven fields are explained in Table 1-2. -Table 1-2: Contents of the statm files +Table 1-2: Contents of the statm files (as of 2.6.8-rc3) .............................................................................. - File Content - size total program size - resident size of memory portions - shared number of pages that are shared - trs number of pages that are 'code' - drs number of pages of data/stack - lrs number of pages of library - dt number of dirty pages + Field Content + size total program size (pages) (same as VmSize in status) + resident size of memory portions (pages) (same as VmRSS in status) + shared number of pages that are shared (i.e. backed by a file) + trs number of pages that are 'code' (not including libs; broken, + includes data segment) + lrs number of pages of library (always 0 on 2.6) + drs number of pages of data/stack (including libs; broken, + includes library text) + dt number of dirty pages (always 0 on 2.6) .............................................................................. 1.2 Kernel data @@ -1109,6 +1111,23 @@ modprobe The location where the modprobe binary is located. The kernel uses this program to load modules on demand. +unknown_nmi_panic +----------------- + +The value in this file affects behavior of handling NMI. When the value is +non-zero, unknown NMI is trapped and then panic occurs. At that time, kernel +debugging information is displayed on console. + +NMI switch that most IA32 servers have fires unknown NMI up, for example. +If a system hangs up, try pressing the NMI switch. + +[NOTE] + This function and oprofile share a NMI callback. Therefore this function + cannot be enabled when oprofile is activated. + And NMI watchdog will be disabled when the value in this file is set to + non-zero. + + 2.4 /proc/sys/vm - The virtual memory subsystem ----------------------------------------------- @@ -1157,6 +1176,12 @@ for writeout by the pdflush daemons. It is expressed in 100'ths of a second. Data which has been dirty in-memory for longer than this interval will be written out next time a pdflush daemon wakes up. +legacy_va_layout +---------------- + +If non-zero, this sysctl disables the new 32-bit mmap mmap layout - the kernel +will use the legacy (2.4) layout for all processes. + lower_zone_protection --------------------- diff --git a/Documentation/i386/zero-page.txt b/Documentation/i386/zero-page.txt index bbdf7261e..30badb4e3 100644 --- a/Documentation/i386/zero-page.txt +++ b/Documentation/i386/zero-page.txt @@ -28,7 +28,8 @@ Offset Type Description 0xa0 16 bytes System description table truncated to 16 bytes. ( struct sys_desc_table_struct ) - 0xb0 - 0x1c3 Free. Add more parameters here if you really need them. + 0xb0 - 0x13f Free. Add more parameters here if you really need them. + 0x140- 0x1be EDID_INFO Video mode setup 0x1c4 unsigned long EFI system table pointer 0x1c8 unsigned long EFI memory descriptor size diff --git a/Documentation/ioctl-number.txt b/Documentation/ioctl-number.txt index 2be1218a6..bd7a19777 100644 --- a/Documentation/ioctl-number.txt +++ b/Documentation/ioctl-number.txt @@ -117,6 +117,7 @@ Code Seq# Include File Comments 'c' 00-7F linux/comstats.h conflict! 'c' 00-7F linux/coda.h conflict! +'d' 00-FF linux/char/drm/drm/h conflict! 'd' 00-1F linux/devfs_fs.h conflict! 'd' 00-DF linux/video_decoder.h conflict! 'd' F0-FF linux/digi1.h diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 13839bd74..1b8691daa 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -29,6 +29,7 @@ restrictions referred to are that the relevant option is valid if: CD Appropriate CD support is enabled. DEVFS devfs support is enabled. DRM Direct Rendering Management support is enabled. + EDD BIOS Enhanced Disk Drive Services (EDD) is enabled EFI EFI Partitioning (GPT) is enabled EIDE EIDE/ATAPI support is enabled. FB The frame buffer device is enabled. @@ -97,9 +98,6 @@ running once the system is up. See header of drivers/scsi/53c7xx.c. See also Documentation/scsi/ncr53c7xx.txt. - 98busmouse.irq= [HW,MOUSE] PC-9801 Bus Mouse Driver - Format: , default is 13 - acpi= [HW,ACPI] Advanced Configuration and Power Interface Format: { force | off | ht | strict } force -- enable ACPI if default was off @@ -138,6 +136,20 @@ running once the system is up. Recognize and ignore IRQ0/pin2 Interrupt Override. For broken nForce2 BIOS resulting in XT-PIC timer. + acpi_dbg_layer= [HW,ACPI] + Format: + Each bit of the indicates an acpi debug layer, + 1: enable, 0: disable. It is useful for boot time + debugging. After system has booted up, it can be set + via /proc/acpi/debug_layer. + + acpi_dbg_level= [HW,ACPI] + Format: + Each bit of the indicates an acpi debug level, + 1: enable, 0: disable. It is useful for boot time + debugging. After system has booted up, it can be set + via /proc/acpi/debug_level. + ad1816= [HW,OSS] Format: ,,, See also Documentation/sound/oss/AD1816. @@ -189,6 +201,11 @@ running once the system is up. Disable APC CPU standby support. SPARCstation-Fox does not play well with APC CPU idle - disable it if you have APC and your system crashes randomly. + + apic= [APIC,i386] Change the output verbosity whilst booting + Format: { quiet (default) | verbose | debug } + Change the amount of debugging information output + when initialising the APIC and IO-APIC components. apm= [APM] Advanced Power Management See header of arch/i386/kernel/apm.c. @@ -375,6 +392,10 @@ running once the system is up. edb= [HW,PS2] + edd [EDD] + Format: {"of[f]" | "sk[ipmbr]"} + See comment in arch/i386/boot/edd.S + eicon= [HW,ISDN] Format: ,, @@ -448,6 +469,11 @@ running once the system is up. hd?= [HW] (E)IDE subsystem hd?lun= See Documentation/ide.txt. + highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact + size of . This works even on boxes that have no + highmem otherwise. This also works to reduce highmem + size on bigger boxes. + hisax= [HW,ISDN] See Documentation/isdn/README.HiSax. @@ -523,6 +549,18 @@ running once the system is up. isapnp= [ISAPNP] Format: , , , + isolcpus= [KNL,SMP] Isolate CPUs from the general scheduler. + Format: , ..., + This option can be used to specify one or more CPUs + to isolate from the general SMP balancing and scheduling + algorithms. The only way to move a process onto or off + an "isolated" CPU is via the CPU affinity syscalls. + + This option is the preferred way to isolate CPUs. The + alternative - manually setting the CPU mask of all tasks + in the system can cause problems and suboptimal load + balancer performance. + isp16= [HW,CD] Format: ,,, @@ -574,6 +612,20 @@ running once the system is up. so, the driver will manage that printer. See also header of drivers/char/lp.c. + lpj=n [KNL] + Sets loops_per_jiffy to given constant, thus avoiding + time-consuming boot-time autodetection (up to 250 ms per + CPU). 0 enables autodetection (default). To determine + the correct value for your kernel, boot with normal + autodetection and see what value is printed. Note that + on SMP systems the preset will be applied to all CPUs, + which is likely to cause problems if your CPUs need + significantly divergent settings. An incorrect value + will cause delays in the kernel to be wrong, leading to + unpredictable I/O errors and other breakage. Although + unlikely, in the extreme case this might damage your + hardware. + ltpc= [NET] Format: ,, @@ -650,6 +702,12 @@ running once the system is up. mga= [HW,DRM] + mousedev.tap_time= + [MOUSE] Maximum time between finger touching and + leaving touchpad surface for touch to be considered + a tap and be reported as a left button click (for + touchpads working in absolute mode only). + Format: mousedev.xres= [MOUSE] Horizontal screen resolution, used for devices reporting absolute coordinates, such as tablets mousedev.yres= [MOUSE] Vertical screen resolution, used for devices @@ -707,6 +765,9 @@ running once the system is up. noasync [HW,M68K] Disables async and sync negotiation for all devices. + nobats [PPC] Do not use BATs for mapping kernel lowmem + on "Classic" PPC cores. + nocache [ARM] nodisconnect [HW,SCSI,M68K] Disables SCSI disconnects. @@ -739,8 +800,13 @@ running once the system is up. nolapic [IA-32,APIC] Do not enable or use the local APIC. + noltlbs [PPC] Do not use large page/tlb entries for kernel + lowmem mapping on PPC40x. + nomce [IA-32] Machine Check Exception + noresidual [PPC] Don't use residual data on PReP machines. + noresume [SWSUSP] Disables resume and restore original swap space. no-scroll [VGA] Disables scrollback. @@ -852,6 +918,13 @@ running once the system is up. noacpi [IA-32] Do not use ACPI for IRQ routing or for PCI scanning. + firmware [ARM] Do not re-enumerate the bus but + instead just use the configuration + from the bootloader. This is currently + used on IXP2000 systems where the + bus has to be configured a certain way + for adjunct CPUs. + pcmv= [HW,PCMCIA] BadgePAD 4 pd. [PARIDE] @@ -887,7 +960,10 @@ running once the system is up. Ranges are in pairs (memory base and size). profile= [KNL] Enable kernel profiling via /proc/profile - (param: profile step/bucket size as a power of 2) + { schedule | } + (param: schedule - profile schedule points} + (param: profile step/bucket size as a power of 2 for + statistical time based profiling) prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk before loading. @@ -1250,6 +1326,12 @@ running once the system is up. This is actually a boot loader parameter; the value is passed to the kernel using a special protocol. + vmalloc=nn[KMG] [KNL,BOOT] forces the vmalloc area to have an exact + size of . This can be used to increase the + minimum size (128MB on x86). It can also be used to + decrease the size and leave more room for directly + mapped kernel RAM. + vmhalt= [KNL,S390] vmpoff= [KNL,S390] diff --git a/Documentation/laptop-mode.txt b/Documentation/laptop-mode.txt index 065e59cbb..dc4e810af 100644 --- a/Documentation/laptop-mode.txt +++ b/Documentation/laptop-mode.txt @@ -249,7 +249,7 @@ MINIMUM_BATTERY_MINUTES=10 # playing. #READAHEAD=4096 -# Shall we remount journaled fs. with appropiate commit interval? (1=yes) +# Shall we remount journaled fs. with appropriate commit interval? (1=yes) #DO_REMOUNTS=1 # And shall we add the "noatime" option to that as well? (1=yes) diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index 10304b436..c9ead70d5 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt @@ -837,6 +837,11 @@ bridge-nf-call-iptables - BOOLEAN 0 : disable this. Default: 1 +bridge-nf-call-ip6tables - BOOLEAN + 1 : pass bridged IPv6 traffic to ip6tables' chains. + 0 : disable this. + Default: 1 + bridge-nf-filter-vlan-tagged - BOOLEAN 1 : pass bridged vlan-tagged ARP/IP traffic to arptables/iptables. 0 : disable this. diff --git a/Documentation/pci.txt b/Documentation/pci.txt index 411947638..a1a2bd557 100644 --- a/Documentation/pci.txt +++ b/Documentation/pci.txt @@ -25,6 +25,7 @@ on (either the old or the new way), it needs to perform the following steps: Discover resources (addresses and IRQ numbers) provided by the device Allocate these resources Communicate with the device + Disable the device Most of these topics are covered by the following sections, for the rest look at , it's hopefully well commented. @@ -162,8 +163,8 @@ You must eventually (possibly at module unload) decrement the reference count on these devices by calling pci_dev_put(). -3. Enabling devices -~~~~~~~~~~~~~~~~~~~ +3. Enabling and disabling devices +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Before you do anything with the device you've found, you need to enable it by calling pci_enable_device() which enables I/O and memory regions of the device, allocates an IRQ if necessary, assigns missing resources if @@ -180,6 +181,12 @@ and also ensures that the cache line size register is set correctly. Make sure to check the return value of pci_set_mwi(), not all architectures may support Memory-Write-Invalidate. + If your driver decides to stop using the device (e.g., there was an +error while setting it up or the driver module is being unloaded), it +should call pci_disable_device() to deallocate any IRQ resources, disable +PCI bus-mastering, etc. You should not do anything with the device after +calling pci_disable_device(). + 4. How to access PCI config space ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can use pci_(read|write)_config_(byte|word|dword) to access the config diff --git a/Documentation/power/swsusp.txt b/Documentation/power/swsusp.txt index 5cdab4c55..cbbbc9c07 100644 --- a/Documentation/power/swsusp.txt +++ b/Documentation/power/swsusp.txt @@ -20,26 +20,6 @@ From kernel/suspend.c: You need to append resume=/dev/your_swap_partition to kernel command line. Then you suspend by echo 4 > /proc/acpi/sleep. -Pavel's unreliable guide to swsusp mess -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -There are currently two versions of swap suspend in the kernel, the old -"Pavel's" version in kernel/power/swsusp.c and the new "Patrick's" -version in kernel/power/pmdisk.c. They provide the same functionality; -the old version looks ugly but was tested, while the new version looks -nicer but did not receive so much testing. echo 4 > /proc/acpi/sleep -calls the old version, echo disk > /sys/power/state calls the new one. - -[In the future, when the new version is stable enough, two things can -happen: - -* the new version is moved into swsusp.c, and swsusp is renamed to swap - suspend (Pavel prefers this) - -* pmdisk is kept as is and swsusp.c is removed from the kernel] - - - Article about goals and implementation of Software Suspend for Linux ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Author: G‚ábor Kuti @@ -75,10 +55,6 @@ hardware! About the code Things to implement -- SMP support. I've done an SMP support but since I don't have access to a kind - of this one I cannot test it. Please SMP people test it. .. Tested it, - doesn't work. Had no time to figure out why. There is some mess with - interrupts AFAIK.. - We should only make a copy of data related to kernel segment, since any process data won't be changed. - Should make more sanity checks. Or are these enough? @@ -90,11 +66,6 @@ Not so important ideas for implementing - We should not free pages at the beginning so aggressively, most of them go there anyway.. -Drivers that need support -- pc_keyb -- perhaps we can wait for vojtech's input patches -- do IDE cdroms need some kind of support? -- IDE CD-RW -- how to deal with that? - Sleep states summary (thanx, Ducrot) ==================================== @@ -109,7 +80,8 @@ and perhaps echo 4b > /proc/acpi/sleep # for suspend to disk via s4bios -FAQ: +Frequently Asked Questions +========================== Q: well, suspending a server is IMHO a really stupid thing, but... (Diego Zuccato): diff --git a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/scsi/scsi_mid_low_api.txt index 463dfc72f..e0ea1b9e3 100644 --- a/Documentation/scsi/scsi_mid_low_api.txt +++ b/Documentation/scsi/scsi_mid_low_api.txt @@ -35,7 +35,7 @@ ISA or MCA adapters).] The SCSI mid level isolates an LLD from other layers such as the SCSI upper layer drivers and the block layer. -This version of the document roughly matches linux kernel version 2.6.0-test4. +This version of the document roughly matches linux kernel version 2.6.8 . Documentation ============= @@ -323,6 +323,16 @@ struct Scsi_Host: instance. If the reference count reaches 0 then the given instance is freed +The Scsi_device structure has had reference counting infrastructure added. +This effectively spreads the ownership of struct Scsi_device instances +across the various SCSI layers which use them. Previously such instances +were exclusively owned by the mid level. See the access functions declared +towards the end of include/scsi/scsi_device.h . If an LLD wants to keep +a copy of a pointer to a Scsi_device instance it should use scsi_device_get() +to bump its reference count. When it is finished with the pointer it can +use scsi_device_put() to decrement its reference count (and potentially +delete it). + ^^ struct Scsi_Host actually has 2 reference counts which are manipulated in parallel by these functions. @@ -416,7 +426,7 @@ struct scsi_device * scsi_add_device(struct Scsi_Host *shost, /** * scsi_add_host - perform sysfs registration and SCSI bus scan. * @shost: pointer to scsi host instance - * @dev: pointer to struct device host instance + * @dev: pointer to struct device of type scsi class * * Returns 0 on success, negative errno of failure (e.g. -ENOMEM) * @@ -453,7 +463,7 @@ void scsi_add_timer(struct scsi_cmnd *scmd, int timeout, /** * scsi_adjust_queue_depth - change the queue depth on a SCSI device - * @SDpnt: pointer to SCSI device to change queue depth on + * @sdev: pointer to SCSI device to change queue depth on * @tagged: 0 - no tagged queuing * MSG_SIMPLE_TAG - simple (unordered) tagged queuing * MSG_ORDERED_TAG - ordered tagged queuing @@ -474,8 +484,8 @@ void scsi_add_timer(struct scsi_cmnd *scmd, int timeout, * Defined in: drivers/scsi/scsi.c [see source code for more notes] * **/ -void scsi_adjust_queue_depth(struct scsi_device * SDpnt, int tagged, - int num_tags) +void scsi_adjust_queue_depth(struct scsi_device * sdev, int tagged, + int tags) /** @@ -510,7 +520,7 @@ unsigned char *scsi_bios_ptable(struct block_device *dev) /** * scsi_block_requests - prevent further commands being queued to given host * - * @SHpnt: pointer to host to block commands on + * @shost: pointer to host to block commands on * * Returns nothing * @@ -521,7 +531,7 @@ unsigned char *scsi_bios_ptable(struct block_device *dev) * * Defined in: drivers/scsi/scsi_lib.c **/ -void scsi_block_requests(struct Scsi_Host * SHpnt) +void scsi_block_requests(struct Scsi_Host * shost) /** @@ -543,9 +553,10 @@ int scsi_delete_timer(struct scsi_cmnd *scmd) /** - * scsi_host_alloc - create and register a scsi host adapter instance. - * @shost_tp: pointer to scsi host template - * @xtr_bytes: extra bytes to allocate in hostdata array (which is the + * scsi_host_alloc - create a scsi host adapter instance and perform basic + * initialization. + * @sht: pointer to scsi host template + * @privsize: extra bytes to allocate in hostdata array (which is the * last member of the returned Scsi_Host instance) * * Returns pointer to new Scsi_Host instance or NULL on failure @@ -555,12 +566,15 @@ int scsi_delete_timer(struct scsi_cmnd *scmd) * Notes: When this call returns to the LLD, the SCSI bus scan on * this host has _not_ yet been done. * The hostdata array (by default zero length) is a per host scratch - * area for the LLD. + * area for the LLD's exclusive use. * Both associated refcounting objects have their refcount set to 1. + * Full registration (in sysfs) and a bus scan are performed later when + * scsi_add_host() is called. * * Defined in: drivers/scsi/hosts.c . **/ -struct Scsi_Host * scsi_host_alloc(struct scsi_host_template *, int xtr_bytes) +struct Scsi_Host * scsi_host_alloc(struct scsi_host_template * sht, + int privsize) /** @@ -619,8 +633,8 @@ int scsi_partsize(unsigned char *buf, unsigned long capacity, /** * scsi_register - create and register a scsi host adapter instance. - * @shost_tp: pointer to scsi host template - * @xtr_bytes: extra bytes to allocate in hostdata array (which is the + * @sht: pointer to scsi host template + * @privsize: extra bytes to allocate in hostdata array (which is the * last member of the returned Scsi_Host instance) * * Returns pointer to new Scsi_Host instance or NULL on failure @@ -634,7 +648,8 @@ int scsi_partsize(unsigned char *buf, unsigned long capacity, * * Defined in: drivers/scsi/hosts.c . **/ -struct Scsi_Host * scsi_register(struct scsi_host_template *, int xtr_bytes) +struct Scsi_Host * scsi_register(struct scsi_host_template * sht, + int privsize) /** @@ -711,15 +726,17 @@ void scsi_set_device(struct Scsi_Host * shost, struct device * dev) * scsi_to_pci_dma_dir - convert SCSI subsystem direction flag to PCI * @scsi_data_direction: SCSI subsystem direction flag * - * Returns PCI_DMA_TODEVICE given SCSI_DATA_WRITE, - * PCI_DMA_FROMDEVICE given SCSI_DATA_READ - * PCI_DMA_BIDIRECTIONAL given SCSI_DATA_UNKNOWN - * else returns PCI_DMA_NONE + * Returns DMA_TO_DEVICE given SCSI_DATA_WRITE, + * DMA_FROM_DEVICE given SCSI_DATA_READ + * DMA_BIDIRECTIONAL given SCSI_DATA_UNKNOWN + * else returns DMA_NONE * * Might block: no * * Notes: The SCSI subsystem now uses the same values for these * constants as the PCI subsystem so this function is a nop. + * The recommendation is not to use this conversion function anymore + * (in the 2.6 kernel series) as it is not needed. * * Defined in: drivers/scsi/scsi.h . **/ @@ -730,13 +747,15 @@ int scsi_to_pci_dma_dir(unsigned char scsi_data_direction) * scsi_to_sbus_dma_dir - convert SCSI subsystem direction flag to SBUS * @scsi_data_direction: SCSI subsystem direction flag * - * Returns SBUS_DMA_TODEVICE given SCSI_DATA_WRITE, - * SBUS_DMA_FROMDEVICE given SCSI_DATA_READ - * SBUS_DMA_BIDIRECTIONAL given SCSI_DATA_UNKNOWN - * else returns SBUS_DMA_NONE + * Returns DMA_TO_DEVICE given SCSI_DATA_WRITE, + * FROM_DEVICE given SCSI_DATA_READ + * DMA_BIDIRECTIONAL given SCSI_DATA_UNKNOWN + * else returns DMA_NONE * * Notes: The SCSI subsystem now uses the same values for these * constants as the SBUS subsystem so this function is a nop. + * The recommendation is not to use this conversion function anymore + * (in the 2.6 kernel series) as it is not needed. * * Might block: no * @@ -749,7 +768,7 @@ int scsi_to_sbus_dma_dir(unsigned char scsi_data_direction) * scsi_track_queue_full - track successive QUEUE_FULL events on given * device to determine if and when there is a need * to adjust the queue depth on the device. - * @SDptr: pointer to SCSI device instance + * @sdev: pointer to SCSI device instance * @depth: Current number of outstanding SCSI commands on this device, * not counting the one returned as QUEUE_FULL. * @@ -765,13 +784,13 @@ int scsi_to_sbus_dma_dir(unsigned char scsi_data_direction) * * Defined in: drivers/scsi/scsi.c . **/ -int scsi_track_queue_full(Scsi_Device *SDptr, int depth) +int scsi_track_queue_full(Scsi_Device *sdev, int depth) /** * scsi_unblock_requests - allow further commands to be queued to given host * - * @SHpnt: pointer to host to unblock commands on + * @shost: pointer to host to unblock commands on * * Returns nothing * @@ -779,7 +798,7 @@ int scsi_track_queue_full(Scsi_Device *SDptr, int depth) * * Defined in: drivers/scsi/scsi_lib.c . **/ -void scsi_unblock_requests(struct Scsi_Host * SHpnt) +void scsi_unblock_requests(struct Scsi_Host * shost) /** @@ -901,20 +920,20 @@ Details: * * Returns: * - * EH_HANDLED: I fixed the error, please complete the command - * EH_RESET_TIMER: I need more time, reset the timer and - * begin counting again - * EH_NOT_HANDLED Begin normal error recovery - + * EH_HANDLED: I fixed the error, please complete the command + * EH_RESET_TIMER: I need more time, reset the timer and + * begin counting again + * EH_NOT_HANDLED Begin normal error recovery + * * * Locks: None held * * Calling context: interrupt * - * Notes: This is to give the LLD an opportunity to do local recovery. - * This recovery is limited to determining if the outstanding command - * will ever complete. You may not abort and restart the command from - * this callback. + * Notes: This is to give the LLD an opportunity to do local recovery. + * This recovery is limited to determining if the outstanding command + * will ever complete. You may not abort and restart the command from + * this callback. * * Optionally defined in: LLD **/ @@ -1072,10 +1091,6 @@ Details: * mid level does not recognize it, then the LLD that controls * the device receives the ioctl. According to recent Unix standards * unsupported ioctl() 'cmd' numbers should return -ENOTTY. - * However the mid level returns -EINVAL for unrecognized 'cmd' - * numbers when this function is not supplied by the driver. - * Unfortunately some applications expect -EINVAL and react badly - * when -ENOTTY is returned; stick with -EINVAL. * * Optionally defined in: LLD **/ @@ -1110,7 +1125,7 @@ Details: * Optionally defined in: LLD **/ int proc_info(char * buffer, char ** start, off_t offset, - int length, int hostno, int writeto1_read0) + int length, int host_no, int writeto1_read0) /** @@ -1120,42 +1135,42 @@ Details: * * Returns 0 on success. * - * If there's a failure, return either: + * If there's a failure, return either: * - * SCSI_MLQUEUE_DEVICE_BUSY if the device queue is full, or - * SCSI_MLQUEUE_HOST_BUSY if the entire host queue is full + * SCSI_MLQUEUE_DEVICE_BUSY if the device queue is full, or + * SCSI_MLQUEUE_HOST_BUSY if the entire host queue is full * - * On both of these returns, the mid-layer will requeue the I/O + * On both of these returns, the mid-layer will requeue the I/O * - * - if the return is SCSI_MLQUEUE_DEVICE_BUSY, only that particular - * device will be paused, and it will be unpaused when a command to - * the device returns (or after a brief delay if there are no more - * outstanding commands to it). Commands to other devices continue - * to be processed normally. + * - if the return is SCSI_MLQUEUE_DEVICE_BUSY, only that particular + * device will be paused, and it will be unpaused when a command to + * the device returns (or after a brief delay if there are no more + * outstanding commands to it). Commands to other devices continue + * to be processed normally. * - * - if the return is SCSI_MLQUEUE_HOST_BUSY, all I/O to the host - * is paused and will be unpaused when any command returns from - * the host (or after a brief delay if there are no outstanding - * commands to the host). + * - if the return is SCSI_MLQUEUE_HOST_BUSY, all I/O to the host + * is paused and will be unpaused when any command returns from + * the host (or after a brief delay if there are no outstanding + * commands to the host). * - * For compatibility with earlier versions of queuecommand, any - * other return value is treated the same as - * SCSI_MLQUEUE_HOST_BUSY. + * For compatibility with earlier versions of queuecommand, any + * other return value is treated the same as + * SCSI_MLQUEUE_HOST_BUSY. * - * Other types of errors that are detected immediately may be - * flagged by setting scp->result to an appropriate value, - * invoking the 'done' callback, and then returning 0 from this - * function. If the command is not performed immediately (and the - * LLD is starting (or will start) the given command) then this - * function should place 0 in scp->result and return 0. + * Other types of errors that are detected immediately may be + * flagged by setting scp->result to an appropriate value, + * invoking the 'done' callback, and then returning 0 from this + * function. If the command is not performed immediately (and the + * LLD is starting (or will start) the given command) then this + * function should place 0 in scp->result and return 0. * - * Command ownership. If the driver returns zero, it owns the - * command and must take responsibility for ensuring the 'done' - * callback is executed. Note: the driver may call done before - * returning zero, but after it has called done, it may not - * return any value other than zero. If the driver makes a - * non-zero return, it must not execute the command's done - * callback at any time. + * Command ownership. If the driver returns zero, it owns the + * command and must take responsibility for ensuring the 'done' + * callback is executed. Note: the driver may call done before + * returning zero, but after it has called done, it may not + * return any value other than zero. If the driver makes a + * non-zero return, it must not execute the command's done + * callback at any time. * * Locks: struct Scsi_Host::host_lock held on entry (with "irqsave") * and is expected to be held on return. @@ -1317,7 +1332,12 @@ of interest: sg_tablesize - maximum scatter gather elements allowed by host. 0 implies scatter gather not supported by host max_sectors - maximum number of sectors (usually 512 bytes) allowed - in a single SCSI command. 0 implies no maximum. + in a single SCSI command. The default value of 0 leads + to a setting of SCSI_DEFAULT_MAX_SECTORS (defined in + scsi_host.h) which is currently set to 1024. So for a + disk the maximum transfer size is 512 KB when max_sectors + is not defined. Note that this size may not be sufficient + for disk firmware uploads. cmd_per_lun - maximum number of commands that can be queued on devices controlled by the host. Overridden by LLD calls to scsi_adjust_queue_depth(). @@ -1328,6 +1348,9 @@ of interest: 0=>disallow SCSI command merging hostt - pointer to driver's struct scsi_host_template from which this struct Scsi_Host instance was spawned + hostt->proc_name - name of LLD. This is the driver name that sysfs uses + transportt - pointer to driver's struct scsi_transport_template instance + (if any). FC and SPI transports currently supported. sh_list - a double linked list of pointers to all struct Scsi_Host instances (currently ordered by ascending host_no) my_devices - a double linked list of pointers to struct scsi_device @@ -1335,7 +1358,8 @@ of interest: hostdata[0] - area reserved for LLD at end of struct Scsi_Host. Size is set by the second argument (named 'xtr_bytes') to scsi_host_alloc() or scsi_register(). -The structure is defined in include/scsi/scsi_host.h + +The scsi_host structure is defined in include/scsi/scsi_host.h struct scsi_device ------------------ @@ -1347,11 +1371,66 @@ The structure is defined in include/scsi/scsi_device.h struct scsi_cmnd ---------------- Instances of this structure convey SCSI commands to the LLD and responses -back to the mid level. The SCSI mid level will ensure that no more SCSI -commands become queued against the LLD than are indicated by -scsi_adjust_queue_depth() (or struct Scsi_Host::cmd_per_lun). There will -be at least one instance of struct scsi_cmnd available for each SCSI device. -The structure is defined in include/scsi/scsi_cmnd.h +back to the mid level. The SCSI mid level will ensure that no more SCSI +commands become queued against the LLD than are indicated by +scsi_adjust_queue_depth() (or struct Scsi_Host::cmd_per_lun). There will +be at least one instance of struct scsi_cmnd available for each SCSI device. +Members of interest: + cmnd - array containing SCSI command + cmnd_len - length (in bytes) of SCSI command + sc_data_direction - direction of data transfer in data phase. See + "enum dma_data_direction" in include/linux/dma-mapping.h + request_bufflen - number of data bytes to transfer (0 if no data phase) + use_sg - ==0 -> no scatter gather list, hence transfer data + to/from request_buffer + - >0 -> scatter gather list (actually an array) in + request_buffer with use_sg elements + request_buffer - either contains data buffer or scatter gather list + depending on the setting of use_sg. Scatter gather + elements are defined by 'struct scatterlist' found + in include/asm/scatterlist.h . + done - function pointer that should be invoked by LLD when the + SCSI command is completed (successfully or otherwise). + Should only be called by an LLD if the LLD has accepted + the command (i.e. queuecommand() returned or will return + 0). The LLD may invoke 'done' prior to queuecommand() + finishing. + result - should be set by LLD prior to calling 'done'. A value + of 0 implies a successfully completed command (and all + data (if any) has been transferred to or from the SCSI + target device). 'result' is a 32 bit unsigned integer that + can be viewed as 4 related bytes. The SCSI status value is + in the LSB. See include/scsi/scsi.h status_byte(), + msg_byte(), host_byte() and driver_byte() macros and + related constants. + sense_buffer - an array (maximum size: SCSI_SENSE_BUFFERSIZE bytes) that + should be written when the SCSI status (LSB of 'result') + is set to CHECK_CONDITION (2). When CHECK_CONDITION is + set, if the top nibble of sense_buffer[0] has the value 7 + then the mid level will assume the sense_buffer array + contains a valid SCSI sense buffer; otherwise the mid + level will issue a REQUEST_SENSE SCSI command to + retrieve the sense buffer. The latter strategy is error + prone in the presence of command queuing so the LLD should + always "auto-sense". + device - pointer to scsi_device object that this command is + associated with. + resid - an LLD should set this signed integer to the requested + transfer length (i.e. 'request_bufflen') less the number + of bytes that are actually transferred. 'resid' is + preset to 0 so an LLD can ignore it if it cannot detect + underruns (overruns should be rare). If possible an LLD + should set 'resid' prior to invoking 'done'. The most + interesting case is data transfers from a SCSI target + device device (i.e. READs) that underrun. + underflow - LLD should place (DID_ERROR << 16) in 'result' if + actual number of bytes transferred is less than this + figure. Not many LLDs implement this check and some that + do just output an error message to the log rather than + report a DID_ERROR. Better for an LLD to implement + 'resid'. + +The scsi_cmnd structure is defined in include/scsi/scsi_cmnd.h Locks @@ -1420,15 +1499,16 @@ to support it. Credits ======= The following people have contributed to this document: - Mike Anderson - James Bottomley - Patrick Mansfield - Christoph Hellwig - Doug Ledford - Andries Brouwer - Randy Dunlap + Mike Anderson + James Bottomley + Patrick Mansfield + Christoph Hellwig + Doug Ledford + Andries Brouwer + Randy Dunlap + Alan Stern Douglas Gilbert -dgilbert@interlog.com -29th August 2003 +dgilbert at interlog dot com +25th August 2004 diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 10c5bed26..a0c42609f 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt @@ -188,6 +188,13 @@ Module parameters This module supports up to 8 cards and autoprobe. + Module snd-atiixp-modem + ----------------------- + + Module for ATI IXP 150/200/250 AC97 modem controllers. + + Module supports up to 8 cards. + Module snd-au8810, snd-au8820, snd-au8830 ----------------------------------------- @@ -516,6 +523,13 @@ Module parameters Module for ForteMedia FM801 based PCI soundcards. + tea575x_tuner - Enable TEA575x tuner + - 1 = MediaForte 256-PCS + - 2 = MediaForte 256-PCPR + - 3 = MediaForte 64-PCR + - High 16-bits are video (radio) device number + 1 + - example: 0x10002 (MediaForte 256-PCPR, device 1) + Module supports up to 8 cards and autoprobe. Module snd-gusclassic @@ -613,7 +627,7 @@ Module parameters model - Use the given board model, one of the following: delta1010, dio2496, delta66, delta44, audiophile, delta410, delta1010lt, vx442, ewx2496, ews88mt, ews88mt_new, ews88d, - dmx6fire, dsp24, dsp24_71, ez8 + dmx6fire, dsp24, dsp24_value, dsp24_71, ez8 omni - Omni I/O support for MidiMan M-Audio Delta44/66 cs8427_timeout - reset timeout for the CS8427 chip (S/PDIF transciever) in msec resolution, default value is 500 (0.5 sec) @@ -631,7 +645,8 @@ Module parameters * TerraTec Aureon Sky-5.1, Space-7.1 model - Use the given board model, one of the following: - revo71, amp2000, prodigy71, aureon51, aureon71 + revo71, amp2000, prodigy71, aureon51, aureon71, + k8x800 Module supports up to 8 cards and autoprobe. @@ -655,6 +670,8 @@ Module parameters 2 = swap headphone and master controls 3 = for AD1985, turn on OMS bit and use headphone 4 = for ALC65x, turn on the jack sense mode + buggy_irq - Enable workaround for buggy interrupts on some + motherboards (default off) Module supports autoprobe and multiple bus-master chips (max 8). @@ -1103,6 +1120,16 @@ Module parameters This module supports up to 8 cards, autoprobe and hotplugging. + Module snd-usb-usx2y + -------------------- + + Module for Tascam USB US-122, US-224 and US-428 devices. + + This module supports up to 8 cards, autoprobe and hotplugging. + + Note: you need to load the firmware via usx2yloader utility included + in alsa-tools and alsa-firmware packages. + Module snd-via82xx ------------------ diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index fae0c98cf..557786cc0 100644 --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl @@ -18,8 +18,8 @@ - Mar. 6, 2004 - 0.3.1 + July 11, 2004 + 0.3.3 @@ -395,7 +395,6 @@ #include #include #include - #define SNDRV_GET_ID #include // module parameters (see "Module Parameters") @@ -411,10 +410,6 @@ // "PCI Resource Managements" }; - // this should be go into - // (see "Management of Cards and Components") - #define mychip_t_magic 0xa15a4501 - // chip-specific destructor // (see "PCI Resource Managements") static int snd_mychip_free(mychip_t *chip) @@ -426,8 +421,7 @@ // (see "Management of Cards and Components") static int snd_mychip_dev_free(snd_device_t *device) { - mychip_t *chip = snd_magic_cast(mychip_t, - device->device_data, return -ENXIO); + mychip_t *chip = device->device_data; return snd_mychip_free(chip); } @@ -448,8 +442,8 @@ // check PCI availability here // (see "PCI Resource Managements") - // allocate a chip-specific data with magic-alloc - chip = snd_magic_kcalloc(mychip_t, 0, GFP_KERNEL); + // allocate a chip-specific data with zero filled + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -744,7 +738,6 @@ #include #include #include - #define SNDRV_GET_ID #include ]]> @@ -905,13 +898,6 @@ - - You might have objections against such a typedef, but this - typedef is necessary if you use a magic-cast - (explained later). - - In general, there are two ways to allocate the chip record. @@ -943,9 +929,8 @@ - With this method, you don't have to allocate twice. But you - cannot use magic-cast for this record pointer, - instead. + With this method, you don't have to allocate twice. + The record is released together with the card instance. @@ -956,7 +941,7 @@ After allocating a card instance via snd_card_new() (with NULL on the 4th arg), call - snd_magic_kcalloc(). + kcalloc(). @@ -965,13 +950,10 @@ mychip_t *chip; card = snd_card_new(index[dev], id[dev], THIS_MODULE, NULL); ..... - chip = snd_magic_kcalloc(mychip_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); ]]> - - Once when the record is allocated via snd_magic stuff, you - can use magic-cast for the void pointer. @@ -1002,21 +984,6 @@ - - Also, you need to define a magic-value for mychip_t. - - - - - - - (the detail will be described in the - - next subsection). - - Next, initialize the fields, and register this chip record as a low-level device with a specified @@ -1045,8 +1012,7 @@ device_data, - return -ENXIO); + mychip_t *chip = device->device_data; return snd_mychip_free(chip); } ]]> @@ -1056,126 +1022,6 @@ where snd_mychip_free() is the real destructor. - -
- Not a magic but a logic - - Now, you might have a question: What is the advantage of the - second method? Obviously, it looks far more complicated. - - As I wrote many times, the second method allows a - magic-cast for mychip_t. If you - have a void pointer (such as - pcm->private_data), the pointer type - is unknown at the compile time, and you cannot know even if a - wrong pointer type is passed. The compiler would accept - it. The magic-cast checks the pointer type at the runtime (and - whether it's a null pointer, too). Hence, the cast will be - much safer and good for debugging. - - - - As you have already seen, allocation with a magic-header can - be done via snd_magic_kmalloc() or - snd_magic_kcalloc(). - - - - - - - - The difference of these two functions is whether the area is - zero-cleared (kcalloc) or not - (kmalloc). - - - - The first argument of the allocator is the type of the - record. The magic-constant has to be defined for this type - beforehand. In this case, we'll need to define - mychip_t_magic, for example, as already - seen, - - - - - - - - The value is arbitrary but should be unique. - This is usually defined in - <include/sndmagic.h> or - <include/amagic.h> for alsa-driver tree, - but you may define it locally in the code at the early - development stage, since changing - sndmagic.h will lead to the recompilation - of the whole driver codes. - - - - The second argument is the extra-data length. It is usually - zero. The third argument is the flags to be passed to kernel - memory allocator, GFP_XXX. Normally, - GFP_KERNEL is passed. - - - - For casting a pointer, use - snd_magic_cast() macro: - - - - - - - - where source_pointer is the pointer to - be casted (e.g. pcm->private_data), and - action is the action to do if the cast - fails (e.g. return -EINVAL). - - - - For releasing the magic-allocated data, you need to call - snd_magic_kfree() function instead of - kfree(). - - - - - - - - - - If you call kfree() for the - magic-allocated value, it will lead to memory leaks. - When the ALSA drivers are compiled with - CONFIG_SND_DEBUG_MEMORY kernel config (or - configured with ), the - non-matching free will be checked and you'll see warning - messages. - - - - If you are 100% sure that your code is bug-free, you can - compile the driver without - CONFIG_SND_DEBUG_MEMORY kernel config, - so that the magic-allocator and the magic-cast will be - replaced to the normal kmalloc and cast. - -
@@ -1238,8 +1084,6 @@ struct pci_dev *pci; unsigned long port; - struct resource *res_port; - int irq; }; @@ -1248,16 +1092,13 @@ // disable hardware here if any // (not implemented in this document) - // release the i/o port - if (chip->res_port) { - release_resource(chip->res_port); - kfree_nocheck(chip->res_port); - } // release the irq if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + // release the i/o ports + pci_release_regions(chip->pci); // release the data - snd_magic_kfree(chip); + kfree(chip); return 0; } @@ -1283,7 +1124,7 @@ return -ENXIO; } - chip = snd_magic_kcalloc(mychip_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -1293,18 +1134,16 @@ chip->irq = -1; // (1) PCI resource allocation - chip->port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 8, - "My Chip")) == NULL) { - snd_mychip_free(chip); - printk(KERN_ERR "cannot allocate the port\n"); - return -EBUSY; + if ((err = pci_request_regions(pci, "My Chip")) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_mychip_interrupt, SA_INTERRUPT|SA_SHIRQ, "My Chip", (void *)chip)) { + printk(KERN_ERR "cannot grab irq %d\n", pci->irq); snd_mychip_free(chip); - printk(KERN_ERR "cannot grab irq\n"); return -EBUSY; } chip->irq = pci->irq; @@ -1420,8 +1259,6 @@ snd_card_t *card; unsigned long port; - struct resource *res_port; - int irq; }; ]]> @@ -1436,7 +1273,7 @@ need to initialize this number as -1 before actual allocation, since irq 0 is valid. The port address and its resource pointer can be initialized as null by - snd_magic_kcalloc() automatically, so you + kcalloc() automatically, so you don't have to take care of resetting them. @@ -1446,14 +1283,11 @@ port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 8, - "My Chip")) == NULL) { - printk(KERN_ERR "cannot allocate the port 0x%lx\n", - chip->port); - snd_mychip_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "My Chip")) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); ]]> @@ -1477,8 +1311,8 @@ if (request_irq(pci->irq, snd_mychip_interrupt, SA_INTERRUPT|SA_SHIRQ, "My Chip", (void *)chip)) { - snd_mychip_free(chip); printk(KERN_ERR "cannot grab irq %d\n", pci->irq); + snd_mychip_free(chip); return -EBUSY; } chip->irq = pci->irq; @@ -1517,16 +1351,13 @@ static irqreturn_t snd_mychip_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mychip_t *chip = snd_magic_cast(mychip_t, dev_id, return); + mychip_t *chip = dev_id; .... return IRQ_HANDLED; } ]]> - - Again the magic-cast is used here to get the correct pointer - from the second argument. @@ -1538,7 +1369,45 @@ For releasing the resources, check-and-release - method is a safer way. For the i/o port, do like this: + method is a safer way. For the interrupt, do like this: + + + +irq >= 0) + free_irq(chip->irq, (void *)chip); +]]> + + + + Since the irq number can start from 0, you should initialize + chip->irq with a negative value (e.g. -1), so that you can + check the validity of the irq number as above. + + + + When you requested I/O ports or memory regions via + pci_request_region() or + pci_request_regions() like this example, + release the resource(s) using the corresponding function, + pci_release_region() or + pci_release_regions(). + + + +pci); +]]> + + + + + + When you requested manually via request_region() + or request_mem_region, you can release it via + release_resource(). Suppose that you keep + the resource pointer returned from request_region() + in chip->res_port, the release procedure looks like below: @@ -1550,10 +1419,8 @@ ]]> - - - As you can see, the i/o resource pointer is also to be freed + As you can see, the resource pointer is also to be freed via kfree_nocheck() after release_resource() is called. You cannot use kfree() here, because on ALSA, @@ -1567,35 +1434,19 @@ - For releasing the interrupt, do like this: - - - -irq >= 0) - free_irq(chip->irq, (void *)chip); -]]> - - - And finally, release the chip-specific record. - The chip instance is freed via - snd_magic_kfree(). Please use this function - for the object allocated by - snd_magic_kmalloc(). If you free it with - kfree(), it won't work properly and will - result in the memory leak. Also, again, remember that you cannot + Again, remember that you cannot set __devexit prefix for this destructor. @@ -1629,7 +1480,6 @@ .... unsigned long iobase_phys; unsigned long iobase_virt; - struct resource *res_iobase; }; ]]> @@ -1640,15 +1490,14 @@ iobase_phys = pci_resource_start(pci, 0); chip->iobase_virt = (unsigned long) - ioremap_nocache(chip->iobase_phys, 512); - if ((chip->res_port = request_mem_region(chip->iobase_phys, 512, - "My Chip")) == NULL) { - printk(KERN_ERR "cannot allocate the memory region\n"); - snd_mychip_free(chip); - return -EBUSY; - } + ioremap_nocache(chip->iobase_phys, + pci_resource_len(pci, 0)); ]]> @@ -1663,10 +1512,8 @@ .... if (chip->iobase_virt) iounmap((void *)chip->iobase_virt); - if (chip->res_iobase) { - release_resource(chip->res_iobase); - kfree_nocheck(chip->res_iobase); - } + .... + pci_release_regions(chip->pci); .... } ]]> @@ -1857,9 +1704,6 @@ #include .... - #define chip_t mychip_t - .... - /* hardware definition */ static snd_pcm_hardware_t snd_mychip_playback_hw = { .info = (SNDRV_PCM_INFO_MMAP | @@ -2224,8 +2068,7 @@ private_data, return); + mychip_t *chip = snd_pcm_chip(pcm); // free your own data kfree(chip->my_private_pcm_data); // do what you like else... @@ -2653,8 +2496,11 @@ struct _snd_pcm_runtime { done in the open callback. - Since it's a void pointer, you should use magic-kmalloc and - magic-cast for such an object. + Don't mix this with pcm->private_data. + The pcm->private_data usually points the + chip instance assigned statically at the creation of PCM, while the + runtime->private_data points a dynamic + data created at the PCM open callback. @@ -2663,7 +2509,7 @@ struct _snd_pcm_runtime { { my_pcm_data_t *data; .... - data = snd_magic_kmalloc(my_pcm_data_t, 0, GFP_KERNEL); + data = kmalloc(sizeof(*data), GFP_KERNEL); substream->runtime->private_data = data; .... } @@ -2710,8 +2556,6 @@ struct _snd_pcm_runtime { - - - It's expanded with a magic-cast, so the cast-error is - automatically checked. You should define chip_t at - the beginning of the code, since this will be referred in many - places of pcm and control interfaces. + The macro reads substream->private_data, + which is a copy of pcm->private_data. + You can override the former if you need to assign different data + records per PCM substream. For example, cmi8330 driver assigns + different private_data for playback and capture directions, + because it uses two different codecs (SB- and AD-compatible) for + different directions.
@@ -2803,7 +2648,7 @@ struct _snd_pcm_runtime { static int snd_xxx_close(snd_pcm_substream_t *substream) { .... - snd_magic_kfree(substream->runtime->private_data); + kfree(substream->runtime->private_data); .... } ]]> @@ -2887,10 +2732,10 @@ struct _snd_pcm_runtime { Another note is that this callback is non-atomic (schedulable). This is important, because the - prepare callback + trigger callback is atomic (non-schedulable). That is, mutex or any - schedule-related functions are available only in - hw_params callback. + schedule-related functions are not available in + trigger callback. Please see the subsection Atomicity for details. @@ -2956,7 +2801,8 @@ struct _snd_pcm_runtime { - As mentioned above, this callback is atomic. + Note that this callback became non-atomic since the recent version. + You can use schedule-related fucntions safely in this callback now. @@ -3041,7 +2887,12 @@ struct _snd_pcm_runtime { - This callback is also atomic. + As mentioned, this callback is atomic. You cannot call + the function going to sleep. + The trigger callback should be as minimal as possible, + just really triggering the DMA. The other stuff should be + initialized hw_params and prepare callbacks properly + beforehand.
@@ -3176,7 +3027,7 @@ struct _snd_pcm_runtime { static irqreturn_t snd_mychip_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mychip_t *chip = snd_magic_cast(mychip_t, dev_id, return); + mychip_t *chip = dev_id; spin_lock(&chip->lock); .... if (pcm_irq_invoked(chip)) { @@ -3220,7 +3071,7 @@ struct _snd_pcm_runtime { static irqreturn_t snd_mychip_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - mychip_t *chip = snd_magic_cast(mychip_t, dev_id, return); + mychip_t *chip = dev_id; spin_lock(&chip->lock); .... if (pcm_irq_invoked(chip)) { @@ -3287,7 +3138,7 @@ struct _snd_pcm_runtime { As already seen, some pcm callbacks are atomic and some are not. For example, hw_params callback is - non-atomic, while prepare callback is + non-atomic, while trigger callback is atomic. This means, the latter is called already in a spinlock held by the PCM middle layer. Please take this atomicity into account when you use a spinlock or a semaphore in the callbacks. @@ -3298,7 +3149,7 @@ struct _snd_pcm_runtime { schedule or go to sleep. The semaphore and mutex do sleep, and hence they cannot be used inside the atomic callbacks - (e.g. prepare callback). + (e.g. trigger callback). For taking a certain delay in such a callback, please use udelay() or mdelay(). @@ -3325,7 +3176,7 @@ struct _snd_pcm_runtime { static unsigned int rates[] = {4000, 10000, 22050, 44100}; static snd_pcm_hw_constraint_list_t constraints_rates = { - .count = sizeof(rates) / sizeof(rates[0]), + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -3988,8 +3839,7 @@ struct _snd_pcm_runtime { static unsigned short snd_mychip_ac97_read(ac97_t *ac97, unsigned short reg) { - mychip_t *chip = snd_magic_cast(mychip_t, - ac97->private_data, return 0); + mychip_t *chip = ac97->private_data; .... // read a register value here from the codec return the_register_value; @@ -3998,26 +3848,26 @@ struct _snd_pcm_runtime { static void snd_mychip_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - mychip_t *chip = snd_magic_cast(mychip_t, - ac97->private_data, return 0); + mychip_t *chip = ac97->private_data; .... // write the given register value to the codec } static int snd_mychip_ac97(mychip_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *bus; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_mychip_ac97_write, + .read = snd_mychip_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_mychip_ac97_write; - bus.read = snd_mychip_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &bus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; - return snd_ac97_mixer(pbus, &ac97, &chip->ac97); + return snd_ac97_mixer(bus, &ac97, &chip->ac97); } ]]> @@ -4030,18 +3880,18 @@ struct _snd_pcm_runtime { Constructor For creating an ac97 instance, first call snd_ac97_bus - with ac97_bus_t record including callback functions. + with an ac97_bus_ops_t record with callback functions. @@ -4050,13 +3900,13 @@ struct _snd_pcm_runtime { - And then call snd_ac97_mixer() with an ac97_t + And then call snd_ac97_mixer() with an ac97_template_t record together with the bus pointer created above. private_data, return 0); + mychip_t *chip = ac97->private_data; .... return the_register_value; } @@ -4241,7 +4090,7 @@ struct _snd_pcm_runtime { On some chip, the clock of the codec isn't 48000 but using a PCI clock (to save a quartz!). In this case, change the field - ac97->clock to the corresponding + bus->clock to the corresponding value. For example, intel8x0 and es1968 drivers have the auto-measurement function of the clock. @@ -4375,7 +4224,7 @@ struct _snd_pcm_runtime { private_data, ); + mpu = rmidi->private_data; ]]> @@ -4546,16 +4395,15 @@ struct _snd_pcm_runtime { You can then pass any pointer value to the - private_data. Again, it should be a - magic-allocated record, so that the cast can be checked more - safely. If you assign a private data, you should define the + private_data. + If you assign a private data, you should define the destructor, too. The destructor function is set to private_free field. private_data = p; hw->private_free = mydata_free; ]]> @@ -4569,9 +4417,8 @@ struct _snd_pcm_runtime { private_data, return); - snd_magic_kfree(p); + mydata_t *p = hw->private_data; + kfree(p); } ]]> @@ -5097,8 +4944,7 @@ struct _snd_pcm_runtime { static void my_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - chip_t *cm = snd_magic_cast(mychip_t, - entry->private_data, return); + chip_t *chip = entry->private_data; snd_iprintf(buffer, "This is my chip!\n"); snd_iprintf(buffer, "Port = %ld\n", chip->port); @@ -5267,8 +5113,7 @@ struct _snd_pcm_runtime { static int mychip_suspend(snd_card_t *card, unsigned int state) { // (1) - mychip_t *chip = snd_magic_cast(mychip_t, card->pm_private_data, - return -ENXIO); + mychip_t *chip = card->pm_private_data; // (2) snd_pcm_suspend_all(chip->pcm); // (3) @@ -5310,8 +5155,7 @@ struct _snd_pcm_runtime { static void mychip_resume(mychip_t *chip) { // (1) - mychip_t *chip = snd_magic_cast(mychip_t, card->pm_private_data, - return -ENXIO); + mychip_t *chip = card->pm_private_data; // (2) pci_enable_device(chip->pci); // (3) @@ -5428,19 +5272,7 @@ struct _snd_pcm_runtime { The module parameters must be declared with the standard module_param()(), module_param_array()() and - MODULE_PARM_DESC() macros. The ALSA provides - an additional macro, MODULE_PARM_SYNTAX(), - for describing its syntax. The strings will be written to - /lib/modules/XXX/modules.generic_string - file. - - - - For convenience, the typical string arguments given to - MODULE_PARM_SYNTAX() are defined in - <sound/initval.h>, such as - SNDRV_ID_DESC or - SNDRV_ENABLED. + MODULE_PARM_DESC() macros. @@ -5454,13 +5286,10 @@ struct _snd_pcm_runtime { static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); - MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); - MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); - MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); ]]> @@ -5479,9 +5308,8 @@ struct _snd_pcm_runtime { @@ -5636,14 +5464,14 @@ struct _snd_pcm_runtime { SND_TOPDIR=../.. endif - include $(TOPDIR)/toplevel.config - include $(TOPDIR)/Makefile.conf + include $(SND_TOPDIR)/toplevel.config + include $(SND_TOPDIR)/Makefile.conf snd-xyz-objs := xyz.o abc.o def.o obj-$(CONFIG_SND_XYZ) += snd-xyz.o - include $(TOPDIR)/Rules.make + include $(SND_TOPDIR)/Rules.make ]]> diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 351591769..65285a4c1 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt @@ -49,6 +49,7 @@ show up in /proc/sys/kernel: - shmmax [ sysv ipc ] - shmmni - stop-a [ SPARC only ] +- suid_dumpable - sysrq ==> Documentation/sysrq.txt - tainted - threads-max @@ -300,6 +301,25 @@ kernel. This value defaults to SHMMAX. ============================================================== +suid_dumpable: + +This value can be used to query and set the core dump mode for setuid +or otherwise protected/tainted binaries. The modes are + +0 - (default) - traditional behaviour. Any process which has changed + privilege levels or is execute only will not be dumped +1 - (debug) - all processes dump core when possible. The core dump is + owned by the current user and no security is applied. This is + intended for system debugging situations only. +2 - (suidsafe) - any binary which normally not be dumped is dumped + readable by root only. This allows the end user to remove + such a dump but not access it directly. For security reasons + core dumps in this mode will not overwrite one another or + other files. This mode is appropriate when adminstrators are + attempting to debug problems in a normal environment. + +============================================================== + tainted: Non-zero if the kernel has been tainted. Numeric values, which diff --git a/Documentation/sysctl/vm.txt b/Documentation/sysctl/vm.txt index b0349d8aa..57c6fbc84 100644 --- a/Documentation/sysctl/vm.txt +++ b/Documentation/sysctl/vm.txt @@ -47,7 +47,7 @@ of free memory left when userspace requests more memory. When this flag is 1, the kernel pretends there is always enough memory until it actually runs out. -When this flag is 2, the kernel uses a "strict overcommit" +When this flag is 2, the kernel uses a "never overcommit" policy that attempts to prevent any overcommit of memory. This feature can be very useful because there are a lot of diff --git a/Documentation/sysrq.txt b/Documentation/sysrq.txt index d298eaf3d..63581ae72 100644 --- a/Documentation/sysrq.txt +++ b/Documentation/sysrq.txt @@ -53,10 +53,6 @@ On all - write a character to /proc/sysrq-trigger. eg: 'b' - Will immediately reboot the system without syncing or unmounting your disks. -'c' - Intentionally crash the system without syncing or unmounting - your disks. This is most useful if the NETDUMP client package - has been installed. - 'o' - Will shut your system off (if configured and supported). 's' - Will attempt to sync all mounted filesystems. @@ -105,10 +101,6 @@ useful when you want to exit a program that will not let you switch consoles. re'B'oot is good when you're unable to shut down. But you should also 'S'ync and 'U'mount first. -'C'rash immediately crashes your system. This is most useful if the machine -has been configured as a NETDUMP client because an OOPS report is generated -and a kernel crash dump is sent to the NETDUMP server. - 'S'ync is great when your system is locked up, it allows you to sync your disks and will certainly lessen the chance of data loss and fscking. Note that the sync hasn't taken place until you see the "OK" and "Done" appear diff --git a/Documentation/vm/hugetlbpage.txt b/Documentation/vm/hugetlbpage.txt index 61ae09f49..47a7121b4 100644 --- a/Documentation/vm/hugetlbpage.txt +++ b/Documentation/vm/hugetlbpage.txt @@ -91,9 +91,12 @@ A regular chown, chgrp and chmod commands (with right permissions) could be used to change the file attributes on hugetlbfs. Also, it is important to note that no such mount command is required if the -applications are going to use only shmat/shmget system calls. It is possible -for same or different applications to use any combination of mmaps and shm* -calls. Though the mount of filesystem will be required for using mmaps. +applications are going to use only shmat/shmget system calls. Users who +wish to use hugetlb page via shared memory segment should be a member of +a supplementary group and system admin needs to configure that gid into +/proc/sys/vm/hugetlb_shm_group. It is possible for same or different +applications to use any combination of mmaps and shm* calls. Though the +mount of filesystem will be required for using mmaps. /* Example of using hugepage in user application using Sys V shared memory * system calls. In this example, app is requesting memory of size 256MB that diff --git a/MAINTAINERS b/MAINTAINERS index 523f115fb..f09c76c18 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -169,7 +169,7 @@ ACI MIXER DRIVER P: Robert Siemer M: Robert.Siemer@gmx.de L: linux-sound@vger.kernel.org -W: http://www.uni-karlsruhe.de/~Robert.Siemer/Private/ +W: http://www.stud.uni-karlsruhe.de/~uh1b/ S: Maintained ACP/MWAVE MODEM @@ -195,8 +195,14 @@ S: Maintained AD1816 SOUND DRIVER P: Thorsten Knabe -W: http://www.student.informatik.tu-darmstadt.de/~tek/projects/linux.html -W: http://www.tu-darmstadt.de/~tek01/projects/linux.html +M: Thorsten Knabe +W: http://linux.thorsten-knabe.de +S: Maintained + +ADM1025 HARDWARE MONITOR DRIVER +P: Jean Delvare +M: khali@linux-fr.org +L: sensors@stimpy.netroedge.com S: Maintained ADT746X FAN DRIVER @@ -563,7 +569,7 @@ CRYPTO API P: James Morris M: jmorris@redhat.com P: David S. Miller -M: davem@redhat.com +M: davem@davemloft.net W http://samba.org/~jamesm/crypto/ L: linux-kernel@vger.kernel.org S: Maintained @@ -621,12 +627,14 @@ DC390/AM53C974 SCSI driver P: Kurt Garloff M: garloff@suse.de W: http://www.garloff.de/kurt/linux/dc390/ +P: Guennadi Liakhovetski +M: g.liakhovetski@gmx.de S: Maintained DECnet NETWORK LAYER -P: Steven Whitehouse -M: SteveW@ACM.org -W: http://www.sucs.swan.ac.uk/~rohan/DECnet/index.html +P: Patrick Caulfield +M: patrick@tykepenguin.com +W: http://linux-decnet.sourceforge.net L: linux-decnet-user@lists.sourceforge.net S: Maintained @@ -648,8 +656,9 @@ W: http://sources.redhat.com/dm S: Maintained DEVICE NUMBER REGISTRY -P: John Cagle +P: Torben Mathiasen M: device@lanana.org +W: http://lanana.org/docs/device-list/index.html L: linux-kernel@vger.kernel.org S: Maintained @@ -762,12 +771,17 @@ M: saw@saw.sw.com.sg S: Maintained EMU10K1 SOUND DRIVER -P: Rui Sousa -M: rui.p.m.sousa@clix.pt +P: James Courtier-Dutton +M: James@superbug.demon.co.uk L: emu10k1-devel@lists.sourceforge.net W: http://sourceforge.net/projects/emu10k1/ S: Maintained +EPSON 1355 FRAMEBUFFER DRIVER +P: Christopher Hoover +M: ch@murgatroid.com, ch@hpl.hp.com +S: Maintained + ETHEREXPRESS-16 NETWORK DRIVER P: Philip Blundell M: Philip.Blundell@pobox.com @@ -822,10 +836,8 @@ M: viro@math.psu.edu S: Maintained FIRMWARE LOADER (request_firmware) -P: Manuel Estrada Sainz -M: ranty@debian.org L: linux-kernel@vger.kernel.org -S: Maintained +S: Orphan FPU EMULATOR P: Bill Metzenthen @@ -905,18 +917,18 @@ L: linux-hippi@sunsite.dk S: Maintained HEWLETT-PACKARD FIBRE CHANNEL 64-bit/66MHz PCI non-intelligent HBA -P: Chase Maupin -M: chase.maupin@hp.com +P: Chirag Kantharia +M: chirag.kantharia@hp.com L: iss_storagedev@hp.com S: Maintained HEWLETT-PACKARD SMART2 RAID DRIVER -P: Francis Wiran -M: francis.wiran@hp.com +P: Chirag Kantharia +M: chirag.kantharia@hp.com L: iss_storagedev@hp.com S: Maintained -HEWLETT-PACKARD SMART CISS RAID DRIVER +HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss) P: Mike Miller M: mike.miller@hp.com L: iss_storagedev@hp.com @@ -947,6 +959,12 @@ L: sensors@stimpy.netroedge.com W: http://www.lm-sensors.nu/ S: Maintained +I2O +P: Markus Lidel +M: markus.lidel@shadowconnect.com +W: http://i2o.shadowconnect.com/ +S: Maintained + i386 BOOT CODE P: Riley H. Williams M: Riley@Williams.Name @@ -1060,6 +1078,19 @@ M: lethal@chaoticdreams.org L: linux-fbdev-devel@lists.sourceforge.net S: Maintained +INPUT (KEYBOARD, MOUSE, JOYSTICK) DRIVERS +P: Vojtech Pavlik +M: vojtech@suse.cz +L: linux-input@atrey.karlin.mff.cuni.cz +L: linux-joystick@atrey.karlin.mff.cuni.cz +S: Maintained + +INTEL 810/815 FRAMEBUFFER DRIVER +P: Antonino Daplas +M: adaplas@pol.net +L: linux-fbdev-devel@lists.sourceforge.net +S: Maintained + INTEL APIC/IOAPIC, LOWLEVEL X86 SMP SUPPORT P: Ingo Molnar M: mingo@redhat.com @@ -1178,13 +1209,6 @@ L: jfs-discussion@oss.software.ibm.com W: http://oss.software.ibm.com/jfs/ S: Supported -JOYSTICK DRIVER -P: Vojtech Pavlik -M: vojtech@suse.cz -L: linux-joystick@atrey.karlin.mff.cuni.cz -W: http://www.suse.cz/development/joystick/ -S: Maintained - KCONFIG P: Roman Zippel M: zippel@linux-m68k.org @@ -1277,16 +1301,26 @@ S: Maintained LINUX FOR POWERPC P: Paul Mackerras M: paulus@samba.org -W: http://www.fsmlabs.com/linuxppcbk.html +W: http://www.penguinppc.org/ +L: linuxppc-dev@lists.linuxppc.org S: Supported LINUX FOR POWER MACINTOSH P: Benjamin Herrenschmidt M: benh@kernel.crashing.org -W: http://www.linuxppc.org/ +W: http://www.penguinppc.org/ L: linuxppc-dev@lists.linuxppc.org S: Maintained +LINUX FOR POWERPC EMBEDDED MPC52XX +P: Sylvain Munaut +M: tnt@246tNt.com +W: http://www.246tNt.com/mpc52xx/ +W: http://www.penguinppc.org/ +L: linuxppc-dev@ozlabs.org +L: linuxppc-embedded@ozlabs.org +S: Maintained + LINUX FOR POWERPC EMBEDDED PPC4XX P: Matt Porter M: mporter@kernel.crashing.org @@ -1314,9 +1348,11 @@ M: acme@conectiva.com.br S: Maintained LINUX FOR 64BIT POWERPC -P: David Engebretsen (stable kernel) -M: engebret@us.ibm.com -P: Anton Blanchard (development kernel) +P: Paul Mackerras +M: paulus@samba.org +M: paulus@au.ibm.com +P: Anton Blanchard +M: anton@samba.org M: anton@au.ibm.com W: http://linuxppc64.org L: linuxppc64-dev@lists.linuxppc.org @@ -1329,6 +1365,18 @@ L: linux-security-module@wirex.com W: http://lsm.immunix.org S: Supported +LM83 HARDWARE MONITOR DRIVER +P: Jean Delvare +M: khali@linux-fr.org +L: sensors@stimpy.netroedge.com +S: Maintained + +LM90 HARDWARE MONITOR DRIVER +P: Jean Delvare +M: khali@linux-fr.org +L: sensors@stimpy.netroedge.com +S: Maintained + LOGICAL DISK MANAGER SUPPORT (LDM, Windows 2000/XP Dynamic Disks) P: Richard Russon (FlatCap) M: ldm@flatcap.org @@ -1506,7 +1554,7 @@ S: Maintained NETWORKING [IPv4/IPv6] P: David S. Miller -M: davem@redhat.com +M: davem@davemloft.net P: Alexey Kuznetsov M: kuznet@ms2.inr.ac.ru P: Pekka Savola (ipv6) @@ -1520,6 +1568,14 @@ M: kaber@coreworks.de L: netdev@oss.sgi.com S: Maintained +IPVS +P: Wensong Zhang +M: wensong@linux-vs.org +P: Julian Anastasov +M: ja@ssi.bg +L: lvs-users@linuxvirtualserver.org +S: Maintained + NFS CLIENT P: Trond Myklebust M: trond.myklebust@fys.uio.no @@ -1597,6 +1653,8 @@ L: oprofile-list@lists.sf.net S: Maintained ORINOCO DRIVER +P: Pavel Roskin +M: proski@gnu.org P: David Gibson M: hermes@gibson.dropbear.id.au W: http://www.ozlabs.org/people/dgibson/dldwd @@ -1611,14 +1669,14 @@ P: David Campbell M: campbell@torque.net P: Andrea Arcangeli M: andrea@e-mind.com -L: linux-parport@torque.net +L: linux-parport@lists.infradead.org W: http://people.redhat.com/twaugh/parport/ S: Maintained PARIDE DRIVERS FOR PARALLEL PORT IDE DEVICES P: Tim Waugh M: tim@cyberelk.net -L: linux-parport@torque.net +L: linux-parport@lists.infradead.org W: http://www.torque.net/linux-pp.html S: Maintained @@ -1719,6 +1777,12 @@ M: promise@pnd-pc.demon.co.uk W: http://www.pnd-pc.demon.co.uk/promise/ S: Maintained +PXA2xx SUPPORT +P: Nicolas Pitre +M: nico@cam.org +L: linux-arm-kernel@lists.arm.linux.org.uk +S: Maintained + QNX4 FILESYSTEM P: Anders Larsen M: al@alarsen.net @@ -1795,12 +1859,6 @@ M: michael@mihu.de W: http://www.mihu.de/linux/saa7146 S: Maintained -SA1100 SUPPORT -P: Nicolas Pitre -M: nico@cam.org -L: linux-arm@lists.arm.linux.org.uk -S: Maintained - SBPCD CDROM DRIVER P: Eberhard Moenkeberg M: emoenke@gwdg.de @@ -1906,6 +1964,12 @@ M: thomas@winischhofer.net W: http://www.winischhofer.net/linuxsisvga.shtml S: Maintained +SMSC47M1 HARDWARE MONITOR DRIVER +P: Jean Delvare +M: khali@linux-fr.org +L: sensors@stimpy.netroedge.com +S: Odd Fixes + SMB FILESYSTEM P: Urban Widmark M: urban@teststation.com @@ -1913,6 +1977,11 @@ W: http://samba.org/ L: samba@samba.org S: Maintained +SMC91x ETHERNET DRIVER +P: Nicolas Pitre +M: nico@cam.org +S: Maintained + SNA NETWORK LAYER P: Jay Schulist M: jschlst@samba.org @@ -1956,7 +2025,7 @@ S: Maintained UltraSPARC (sparc64): P: David S. Miller -M: davem@redhat.com +M: davem@davemloft.net P: Eddie C. Dost M: ecd@skynet.be P: Jakub Jelinek @@ -2176,12 +2245,11 @@ M: dbrownell@users.sourceforge.net L: linux-usb-devel@lists.sourceforge.net S: Maintained -USB HID/HIDBP/INPUT DRIVERS +USB HID/HIDBP DRIVERS P: Vojtech Pavlik M: vojtech@suse.cz L: linux-usb-users@lists.sourceforge.net L: linux-usb-devel@lists.sourceforge.net -W: http://www.suse.cz/development/input/ S: Maintained USB HUB DRIVER @@ -2310,6 +2378,13 @@ L: linux-usb-devel@lists.sourceforge.net W: http://www.connecttech.com S: Supported +USB SN9C10[12] DRIVER +P: Luca Risolia +M: luca.risolia@studio.unibo.it +L: linux-usb-devel@lists.sourceforge.net +W: http://go.lamarinapunto.com +S: Maintained + USB SUBSYSTEM P: Greg Kroah-Hartman M: greg@kroah.com @@ -2403,6 +2478,12 @@ M: johnpol@2ka.mipt.ru L: sensors@stimpy.netroedge.com S: Maintained +W83L785TS HARDWARE MONITOR DRIVER +P: Jean Delvare +M: khali@linux-fr.org +L: sensors@stimpy.netroedge.com +S: Odd Fixes + WAN ROUTER & SANGOMA WANPIPE DRIVERS & API (X.25, FRAME RELAY, PPP, CISCO HDLC) P: Nenad Corbic M: ncorbic@sangoma.com diff --git a/Makefile b/Makefile index c57684382..e316acab7 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ VERSION = 2 PATCHLEVEL = 6 -SUBLEVEL = 8 -EXTRAVERSION = -1.521.3.planetlab -NAME=Zonked Quokka +SUBLEVEL = 9 +EXTRAVERSION = -1.11_FC2.1.planetlab +NAME=AC 1 # *DOCUMENTATION* # To see a list of typical targets execute "make help" @@ -102,7 +102,7 @@ ifneq ($(KBUILD_OUTPUT),) # check that the output directory actually exists saved-output := $(KBUILD_OUTPUT) KBUILD_OUTPUT := $(shell cd $(KBUILD_OUTPUT) && /bin/pwd) -$(if $(wildcard $(KBUILD_OUTPUT)),, \ +$(if $(KBUILD_OUTPUT),, \ $(error output directory "$(saved-output)" does not exist)) .PHONY: $(MAKECMDGOALS) @@ -141,7 +141,25 @@ VPATH := $(srctree) export srctree objtree VPATH TOPDIR -KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) +nullstring := +space := $(nullstring) # end of line + +# Take the contents of any files called localversion* and the config +# variable CONFIG_LOCALVERSION and append them to KERNELRELEASE. Be +# careful not to include files twice if building in the source +# directory. LOCALVERSION from the command line override all of this + +ifeq ($(objtree),$(srctree)) +localversion-files := $(wildcard $(srctree)/localversion*) +else +localversion-files := $(wildcard $(objtree)/localversion* $(srctree)/localversion*) +endif + +LOCALVERSION = $(subst $(space),, \ + $(shell cat /dev/null $(localversion-files)) \ + $(subst ",,$(CONFIG_LOCALVERSION))) + +KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(LOCALVERSION) # SUBARCH tells the usermode build what the underlying arch is. That is set # first, and if a usermode build is happening, the "ARCH=um" on the command @@ -256,9 +274,32 @@ ifneq ($(findstring s,$(MAKEFLAGS)),) quiet=silent_ endif -check_gcc = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) +export quiet Q KBUILD_VERBOSE + +###### +# cc support functions to be used (only) in arch/$(ARCH)/Makefile +# See documentation in Documentation/kbuild/makefiles.txt + +# cc-option +# Usage: cflags-y += $(call gcc-option, -march=winchip-c6, -march=i586) + +cc-option = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ + > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) + +# For backward compatibility +check_gcc = $(warning check_gcc is deprecated - use cc-option) \ + $(call cc-option, $(1),$(2)) + +# cc-option-yn +# Usage: flag := $(call gcc-option-yn, -march=winchip-c6) +cc-option-yn = $(shell if $(CC) $(CFLAGS) $(1) -S -o /dev/null -xc /dev/null \ + > /dev/null 2>&1; then echo "y"; else echo "n"; fi;) + +# cc-version +# Usage gcc-ver := $(call cc-version $(CC)) +cc-version = $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh \ + $(if $(1), $(1), $(CC))) -export quiet Q KBUILD_VERBOSE check_gcc # Look for make include files relative to root of kernel src MAKEFLAGS += --include-dir=$(srctree) @@ -285,6 +326,7 @@ DEPMOD = /sbin/depmod KALLSYMS = scripts/kallsyms PERL = perl CHECK = sparse +CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ MODFLAGS = -DMODULE CFLAGS_MODULE = $(MODFLAGS) AFLAGS_MODULE = $(MODFLAGS) @@ -294,19 +336,23 @@ AFLAGS_KERNEL = NOSTDINC_FLAGS = -nostdinc -iwithprefix include -CPPFLAGS := -D__KERNEL__ -Iinclude \ - $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) +# Use LINUXINCLUDE when you must reference the include/ directory. +# Needed to be compatible with the O= option +LINUXINCLUDE := -Iinclude \ + $(if $(KBUILD_SRC),-Iinclude2 -I$(srctree)/include) + +CPPFLAGS := -D__KERNEL__ $(LINUXINCLUDE) CFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common AFLAGS := -D__ASSEMBLY__ -export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \ - CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ +export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION LOCALVERSION KERNELRELEASE \ + ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \ - HOSTCXX HOSTCXXFLAGS LDFLAGS_BLOB LDFLAGS_MODULE CHECK + HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS -export CPPFLAGS NOSTDINC_FLAGS OBJCOPYFLAGS LDFLAGS +export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE @@ -428,15 +474,6 @@ else include/linux/autoconf.h: ; endif -include $(srctree)/arch/$(ARCH)/Makefile - -# Default kernel image to build when no specific target is given. -# KBUILD_IMAGE may be overruled on the commandline or -# set in the environment -# Also any assingments in arch/$(ARCH)/Makefiel take precedence over -# this default value -export KBUILD_IMAGE ?= vmlinux - # The all: target is the default when no target is given on the # command line. # This allow a user to issue only 'make' to build a kernel including modules @@ -462,7 +499,16 @@ CFLAGS += -g endif # warn about C99 declaration after statement -CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,) +CFLAGS += $(call cc-option,-Wdeclaration-after-statement,) + +include $(srctree)/arch/$(ARCH)/Makefile + +# Default kernel image to build when no specific target is given. +# KBUILD_IMAGE may be overruled on the commandline or +# set in the environment +# Also any assingments in arch/$(ARCH)/Makefiel take precedence over +# this default value +export KBUILD_IMAGE ?= vmlinux # # INSTALL_PATH specifies where to place the updated kernel and system map @@ -503,67 +549,93 @@ libs-y := $(libs-y1) $(libs-y2) # Build vmlinux # --------------------------------------------------------------------------- +# vmlinux is build from the objects selected by $(vmlinux-init) and +# $(vmlinux-main). Most are built-in.o files from top-level directories +# in the kernel tree, others are specified in arch/$(ARCH)Makefile. +# Ordering when linking is important, and $(vmlinux-init) must be first. +# +# vmlinux +# ^ +# | +# +-< $(vmlinux-init) +# | +--< init/version.o + more +# | +# +--< $(vmlinux-main) +# | +--< driver/built-in.o mm/built-in.o + more +# | +# +-< kallsyms.o (see description in CONFIG_KALLSYMS section) +# +# vmlinux version (uname -v) cannot be updated during normal +# descending-into-subdirs phase since we do not yet know if we need to +# update vmlinux. +# Therefore this step is delayed until just before final link of vmlinux - +# except in the kallsyms case where it is done just before adding the +# symbols to the kernel. +# +# System.map is generated to document addresses of all kernel symbols + +vmlinux-init := $(head-y) $(init-y) +vmlinux-main := $(core-y) $(libs-y) $(drivers-y) $(net-y) +vmlinux-all := $(vmlinux-init) $(vmlinux-main) +vmlinux-lds := arch/$(ARCH)/kernel/vmlinux.lds + +# Rule to link vmlinux - also used during CONFIG_KALLSYMS +# May be overridden by arch/$(ARCH)/Makefile +quiet_cmd_vmlinux__ ?= LD $@ + cmd_vmlinux__ ?= $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) -o $@ \ + -T $(vmlinux-lds) $(vmlinux-init) \ + --start-group $(vmlinux-main) --end-group \ + $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE ,$^) + +# Generate new vmlinux version +quiet_cmd_vmlinux_version = GEN .version + cmd_vmlinux_version = set -e; \ + . $(srctree)/scripts/mkversion > .tmp_version; \ + mv -f .tmp_version .version; \ + $(MAKE) $(build)=init + +# Generate System.map +quiet_cmd_sysmap = SYSMAP + cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap + +# Link of vmlinux +# If CONFIG_KALLSYMS is set .version is already updated +# Generate System.map and verify that the content is consistent -# This is a bit tricky: If we need to relink vmlinux, we want -# the version number incremented, which means recompile init/version.o -# and relink init/init.o. However, we cannot do this during the -# normal descending-into-subdirs phase, since at that time -# we cannot yet know if we will need to relink vmlinux. -# So we descend into init/ inside the rule for vmlinux again. -head-y += $(HEAD) -vmlinux-objs := $(head-y) $(init-y) $(core-y) $(libs-y) $(drivers-y) $(net-y) - -quiet_cmd_vmlinux__ = LD $@ -define cmd_vmlinux__ - $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) $(head-y) $(init-y) \ - --start-group \ - $(core-y) \ - $(libs-y) \ - $(drivers-y) \ - $(net-y) \ - --end-group \ - $(filter .tmp_kallsyms%,$^) \ - -o $@ -endef +define rule_vmlinux__ + $(if $(CONFIG_KALLSYMS),,+$(call cmd,vmlinux_version)) -# set -e makes the rule exit immediately on error + $(call cmd,vmlinux__) + $(Q)echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd -define rule_vmlinux__ - +set -e; \ - $(if $(filter .tmp_kallsyms%,$^),, \ - echo ' GEN .version'; \ - . $(srctree)/scripts/mkversion > .tmp_version; \ - mv -f .tmp_version .version; \ - $(MAKE) $(build)=init; \ - ) \ - $(if $($(quiet)cmd_vmlinux__), \ - echo ' $($(quiet)cmd_vmlinux__)' &&) \ - $(cmd_vmlinux__); \ - echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd + $(Q)$(if $($(quiet)cmd_sysmap), \ + echo ' $($(quiet)cmd_sysmap) System.map' &&) \ + $(cmd_sysmap) $@ System.map; \ + if [ $$? -ne 0 ]; then \ + rm -f $@; \ + /bin/false; \ + fi; + $(verify_kallsyms) endef -do_system_map = $(NM) $(1) | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > $(2) - -LDFLAGS_vmlinux += -T arch/$(ARCH)/kernel/vmlinux.lds.s - -# Generate section listing all symbols and add it into vmlinux -# It's a three stage process: -# o .tmp_vmlinux1 has all symbols and sections, but __kallsyms is -# empty -# Running kallsyms on that gives us .tmp_kallsyms1.o with -# the right size -# o .tmp_vmlinux2 now has a __kallsyms section of the right size, -# but due to the added section, some addresses have shifted -# From here, we generate a correct .tmp_kallsyms2.o -# o The correct .tmp_kallsyms2.o is linked into the final vmlinux. -# o Verify that the System.map from vmlinux matches the map from -# .tmp_vmlinux2, just in case we did not generate kallsyms correctly. -# o If CONFIG_KALLSYMS_EXTRA_PASS is set, do an extra pass using -# .tmp_vmlinux3 and .tmp_kallsyms3.o. This is only meant as a -# temporary bypass to allow the kernel to be built while the -# maintainers work out what went wrong with kallsyms. ifdef CONFIG_KALLSYMS +# Generate section listing all symbols and add it into vmlinux $(kallsyms.o) +# It's a three stage process: +# o .tmp_vmlinux1 has all symbols and sections, but __kallsyms is +# empty +# Running kallsyms on that gives us .tmp_kallsyms1.o with +# the right size - vmlinux version (uname -v) is updated during this step +# o .tmp_vmlinux2 now has a __kallsyms section of the right size, +# but due to the added section, some addresses have shifted. +# From here, we generate a correct .tmp_kallsyms2.o +# o The correct .tmp_kallsyms2.o is linked into the final vmlinux. +# o Verify that the System.map from vmlinux matches the map from +# .tmp_vmlinux2, just in case we did not generate kallsyms correctly. +# o If CONFIG_KALLSYMS_EXTRA_PASS is set, do an extra pass using +# .tmp_vmlinux3 and .tmp_kallsyms3.o. This is only meant as a +# temporary bypass to allow the kernel to be built while the +# maintainers work out what went wrong with kallsyms. ifdef CONFIG_KALLSYMS_EXTRA_PASS last_kallsyms := 3 @@ -573,47 +645,58 @@ endif kallsyms.o := .tmp_kallsyms$(last_kallsyms).o -define rule_verify_kallsyms - @$(call do_system_map, .tmp_vmlinux$(last_kallsyms), .tmp_System.map) - @cmp -s System.map .tmp_System.map || \ - (echo Inconsistent kallsyms data, try setting CONFIG_KALLSYMS_EXTRA_PASS ; rm .tmp_kallsyms* ; false) +define verify_kallsyms + $(Q)$(if $($(quiet)cmd_sysmap), \ + echo ' $($(quiet)cmd_sysmap) .tmp_System.map' &&) \ + $(cmd_sysmap) .tmp_vmlinux$(last_kallsyms) .tmp_System.map + $(Q)cmp -s System.map .tmp_System.map || \ + (echo Inconsistent kallsyms data; \ + echo Try setting CONFIG_KALLSYMS_EXTRA_PASS; \ + rm .tmp_kallsyms* ; /bin/false ) endef +# Update vmlinux version before link +# Use + in front of this rule to silent warning about make -j1 +cmd_ksym_ld = $(cmd_vmlinux__) +define rule_ksym_ld + +$(call cmd,vmlinux_version) + $(call cmd,vmlinux__) + $(Q)echo 'cmd_$@ := $(cmd_vmlinux__)' > $(@D)/.$(@F).cmd +endef + +# Generate .S file with all kernel symbols quiet_cmd_kallsyms = KSYM $@ -cmd_kallsyms = $(NM) -n $< | $(KALLSYMS) $(foreach x,$(CONFIG_KALLSYMS_ALL),--all-symbols) > $@ + cmd_kallsyms = $(NM) -n $< | $(KALLSYMS) \ + $(if $(CONFIG_KALLSYMS_ALL),--all-symbols) > $@ .tmp_kallsyms1.o .tmp_kallsyms2.o .tmp_kallsyms3.o: %.o: %.S scripts FORCE $(call if_changed_dep,as_o_S) -.tmp_kallsyms%.S: .tmp_vmlinux% +.tmp_kallsyms%.S: .tmp_vmlinux% $(KALLSYMS) $(call cmd,kallsyms) -.tmp_vmlinux1: $(vmlinux-objs) arch/$(ARCH)/kernel/vmlinux.lds.s FORCE - $(call if_changed_rule,vmlinux__) - -.tmp_vmlinux2: $(vmlinux-objs) .tmp_kallsyms1.o arch/$(ARCH)/kernel/vmlinux.lds.s FORCE - $(call if_changed_rule,vmlinux__) - -.tmp_vmlinux3: $(vmlinux-objs) .tmp_kallsyms2.o arch/$(ARCH)/kernel/vmlinux.lds.s FORCE - $(call if_changed_rule,vmlinux__) +# .tmp_vmlinux1 must be complete except kallsyms, so update vmlinux version +.tmp_vmlinux1: $(vmlinux-lds) $(vmlinux-all) FORCE + $(call if_changed_rule,ksym_ld) -endif +.tmp_vmlinux2: $(vmlinux-lds) $(vmlinux-all) .tmp_kallsyms1.o FORCE + $(call if_changed,vmlinux__) -# Finally the vmlinux rule +.tmp_vmlinux3: $(vmlinux-lds) $(vmlinux-all) .tmp_kallsyms2.o FORCE + $(call if_changed,vmlinux__) -define rule_vmlinux - $(rule_vmlinux__); \ - $(call do_system_map, $@, System.map) - $(rule_verify_kallsyms) -endef +# Needs to visit scripts/ before $(KALLSYMS) can be used. +$(KALLSYMS): scripts ; -vmlinux: $(vmlinux-objs) $(kallsyms.o) arch/$(ARCH)/kernel/vmlinux.lds.s FORCE - $(call if_changed_rule,vmlinux) +endif # ifdef CONFIG_KALLSYMS -# The actual objects are generated when descending, -# make sure no implicit rule kicks in +# vmlinux image - including updated kernel symbols +vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE + $(call if_changed_rule,vmlinux__) -$(sort $(vmlinux-objs)) arch/$(ARCH)/kernel/vmlinux.lds.s: $(vmlinux-dirs) ; +# The actual objects are generated when descending, +# make sure no implicit rule kicks in +$(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; # Handle descending into subdirectories listed in $(vmlinux-dirs) # Preset locale variables to speed up the build process. Limit locale @@ -636,10 +719,10 @@ $(vmlinux-dirs): prepare-all scripts # using a seperate output directory. This allows convinient use # of make in output directory prepare2: - $(Q)if [ ! $(srctree) -ef $(objtree) ]; then \ - $(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \ - $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) \ - > $(objtree)/Makefile; \ + $(Q)if /usr/bin/env test ! $(srctree) -ef $(objtree); then \ + $(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \ + $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) \ + > $(objtree)/Makefile; \ fi # prepare1 is used to check if we are building in a separate output directory, @@ -671,7 +754,7 @@ prepare-all: prepare0 prepare # Leave this as default for preprocessing vmlinux.lds.S, which is now # done in arch/$(ARCH)/kernel/Makefile -export AFLAGS_vmlinux.lds.o += -P -C -U$(ARCH) +export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) # Single targets # --------------------------------------------------------------------------- @@ -710,8 +793,8 @@ include/config/MARKER: include/linux/autoconf.h # Generate some files # --------------------------------------------------------------------------- -# version.h changes when $(KERNELRELEASE) etc change, as defined in -# this Makefile +# KERNELRELEASE can change from a few different places, meaning version.h +# needs to be updated, so this check is forced on all builds uts_len := 64 @@ -726,7 +809,7 @@ define filechk_version.h ) endef -include/linux/version.h: Makefile +include/linux/version.h: $(srctree)/Makefile FORCE $(call filechk,version.h) # --------------------------------------------------------------------------- @@ -926,7 +1009,13 @@ help: @echo ' rpm - Build a kernel as an RPM package' @echo ' tags/TAGS - Generate tags file for editors' @echo ' cscope - Generate cscope index' + @echo '' + @echo 'Static analysers' + @echo ' buildcheck - List dangling references to vmlinux discarded sections' + @echo ' and init sections from non-init sections' @echo ' checkstack - Generate a list of stack hogs' + @echo ' namespacecheck - Name space analysis on compiled kernel' + @echo '' @echo 'Kernel packaging:' @$(MAKE) -f $(package-dir)/Makefile help @echo '' @@ -944,7 +1033,8 @@ help: @echo ' make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build' @echo ' make O=dir [targets] Locate all output files in "dir", including .config' - @echo ' make C=1 [targets] Check all c source with checker tool' + @echo ' make C=1 [targets] Check all c source with $$CHECK (sparse)' + @echo ' make C=2 [targets] Force check of all c source with $$CHECK (sparse)' @echo '' @echo 'Execute "make" or "make all" to build all targets marked with [*] ' @echo 'For further info see the ./README file' @@ -1085,8 +1175,11 @@ versioncheck: | xargs $(PERL) -w scripts/checkversion.pl buildcheck: - $(PERL) scripts/reference_discarded.pl - $(PERL) scripts/reference_init.pl + $(PERL) $(srctree)/scripts/reference_discarded.pl + $(PERL) $(srctree)/scripts/reference_init.pl + +namespacecheck: + $(PERL) $(srctree)/scripts/namespace.pl endif #ifeq ($(config-targets),1) endif #ifeq ($(mixed-targets),1) @@ -1123,13 +1216,22 @@ ifneq ($(cmd_files),) include $(cmd_files) endif +# Execute command and generate cmd file +if_changed = $(if $(strip $? \ + $(filter-out $(cmd_$(1)),$(cmd_$@))\ + $(filter-out $(cmd_$@),$(cmd_$(1)))),\ + @set -e; \ + $(if $($(quiet)cmd_$(1)),echo ' $(subst ','\'',$($(quiet)cmd_$(1)))';) \ + $(cmd_$(1)); \ + echo 'cmd_$@ := $(subst $$,$$$$,$(subst ','\'',$(cmd_$(1))))' > $(@D)/.$(@F).cmd) + + # execute the command and also postprocess generated .d dependencies # file - if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\ $(filter-out $(cmd_$(1)),$(cmd_$@))\ $(filter-out $(cmd_$@),$(cmd_$(1)))),\ - @set -e; \ + $(Q)set -e; \ $(if $($(quiet)cmd_$(1)),echo ' $(subst ','\'',$($(quiet)cmd_$(1)))';) \ $(cmd_$(1)); \ scripts/basic/fixdep $(depfile) $@ '$(subst $$,$$$$,$(subst ','\'',$(cmd_$(1))))' > $(@D)/.$(@F).tmp; \ @@ -1143,7 +1245,7 @@ if_changed_dep = $(if $(strip $? $(filter-out FORCE $(wildcard $^),$^)\ if_changed_rule = $(if $(strip $? \ $(filter-out $(cmd_$(1)),$(cmd_$(@F)))\ $(filter-out $(cmd_$(@F)),$(cmd_$(1)))),\ - @$(rule_$(1))) + $(Q)$(rule_$(1))) # If quiet is set, only print short version of command diff --git a/TAGS b/TAGS deleted file mode 100644 index 28a0efd15..000000000 --- a/TAGS +++ /dev/null @@ -1,367509 +0,0 @@ - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/nubus/proc.c,331 -get_nubus_dev_info(29,1039 -static struct proc_dir_entry *proc_bus_nubus_dir;61,1698 -static void nubus_proc_subdir(63,1749 -static void nubus_proc_populate(83,2298 -int nubus_proc_attach_device(112,3015 -int nubus_proc_detach_device(145,3802 -void __init proc_bus_nubus_add_devices(158,4049 -void __init nubus_proc_init(166,4206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/nubus/nubus_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/nubus/nubus.c,1672 -#define FORMAT_BLOCK_SIZE 33,715 -#define ROM_DIR_OFFSET 34,744 -#define NUBUS_TEST_PATTERN 36,773 -struct nubus_dev* nubus_devices;48,1086 -struct nubus_board* nubus_boards;49,1121 -static inline int not_useful(74,2117 -static unsigned long nubus_get_rom(83,2258 -static void nubus_rewind(101,2527 -static void nubus_advance(120,2791 -static void nubus_move(135,3031 -static inline long nubus_expand32(150,3459 -static inline void *nubus_rom_addr(157,3585 -static unsigned char *nubus_dirptr(166,3796 -void nubus_get_rsrc_mem(179,4206 -void nubus_get_rsrc_str(191,4451 -int nubus_get_root_dir(205,4714 -int nubus_get_func_dir(215,4954 -int nubus_get_board_dir(224,5142 -int nubus_get_subdir(242,5540 -int nubus_readdir(251,5722 -int nubus_rewinddir(279,6324 -nubus_find_device(288,6486 -nubus_find_type(309,6919 -nubus_find_slot(326,7234 -nubus_find_rsrc(341,7478 -static int __init nubus_show_display_resource(360,8093 -static int __init nubus_show_network_resource(378,8583 -static int __init nubus_show_cpu_resource(402,9100 -static int __init nubus_show_private_resource(429,9750 - nubus_get_functional_resource(450,10261 -static int __init nubus_get_vidnames(545,12875 - struct vidmode vidmode551,13103 -static int __init nubus_get_icon(585,13922 -static int __init nubus_get_vendorinfo(612,14542 -static int __init nubus_get_board_resource(640,15297 -static void __init nubus_find_rom_dir(713,17573 -static struct nubus_board* __init nubus_add_board(789,20288 -void __init nubus_probe_slot(905,23926 -static int sprint_nubus_board(951,24846 -static int nubus_read_proc(962,25041 -void __init nubus_scan_bus(997,25757 -static int __init nubus_init(1010,25977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/hardware/hwacpi.c,110 -#define _COMPONENT 49,2146 - ACPI_MODULE_NAME 50,2188 -acpi_hw_set_mode 107,3421 -acpi_hw_get_mode 202,6080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/hardware/hwregs.c,324 -#define _COMPONENT 51,2261 - ACPI_MODULE_NAME 52,2303 -acpi_get_sleep_type_data 133,4507 -acpi_hw_get_bit_register_info 229,7533 -acpi_get_register 260,8488 -acpi_set_register 328,10374 -acpi_hw_register_read 478,14794 -acpi_hw_register_write 590,17602 -acpi_hw_low_level_read 707,20416 -acpi_hw_low_level_write 779,22170 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/hardware/hwsleep.c,609 -#define _COMPONENT 47,2131 -#define METHOD_NAME__BFS 51,2209 -#define METHOD_NAME__GTS 52,2250 -#define METHOD_NAME__PTS 53,2291 -#define METHOD_NAME__SST 54,2332 -#define METHOD_NAME__WAK 55,2377 -#define ACPI_SST_INDICATOR_OFF 57,2419 -#define ACPI_SST_WORKING 58,2453 -#define ACPI_SST_WAKING 59,2487 -#define ACPI_SST_SLEEPING 60,2521 -#define ACPI_SST_SLEEP_CONTEXT 61,2555 -acpi_set_firmware_waking_vector 78,3050 -acpi_get_firmware_waking_vector 115,4018 -acpi_enter_sleep_state_prep 157,5142 -acpi_enter_sleep_state 244,7353 -acpi_enter_sleep_state_s4bios 410,12079 -acpi_leave_sleep_state 475,13673 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/hardware/hwgpe.c,393 -#define _COMPONENT 48,2171 - ACPI_MODULE_NAME 49,2213 -acpi_hw_clear_gpe 106,3697 -acpi_hw_get_gpe_status 140,4523 -acpi_hw_disable_gpe_block 213,6274 -acpi_hw_clear_gpe_block 251,7227 -acpi_hw_enable_runtime_gpe_block 290,8245 -acpi_hw_enable_wakeup_gpe_block 335,9438 -acpi_hw_disable_all_gpes 376,10441 -acpi_hw_enable_all_runtime_gpes 404,11138 -acpi_hw_enable_all_wakeup_gpes 431,11789 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/hardware/hwtimer.c,114 -#define _COMPONENT 47,2134 - ACPI_MODULE_NAME 48,2176 -acpi_get_timer 98,3354 -acpi_get_timer_duration 147,5048 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/motherboard.c,417 -#define _COMPONENT 32,1166 -#define ACPI_MB_HID1 36,1290 -#define ACPI_MB_HID2 37,1323 -#define IS_RESERVED_ADDR(IS_RESERVED_ADDR44,1549 -acpi_reserve_io_ranges 55,1899 -static int acpi_motherboard_add 92,3172 -static struct acpi_driver acpi_motherboard_driver1 102,3371 -static struct acpi_driver acpi_motherboard_driver2 111,3538 -acpi_reserve_resources 121,3724 -static int __init acpi_motherboard_init(160,5274 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/toshiba_acpi.c,1748 -#define TOSHIBA_ACPI_VERSION 36,1177 -#define PROC_INTERFACE_VERSION 37,1213 -#define MY_LOGPREFIX 52,1546 -#define MY_ERR 53,1584 -#define MY_NOTICE 54,1621 -#define MY_INFO 55,1664 -#define METHOD_LCD_BRIGHTNESS 58,1736 -#define METHOD_HCI_1 59,1795 -#define METHOD_HCI_2 60,1836 -#define METHOD_VIDEO_OUT 61,1877 -#define HCI_WORDS 73,2345 -#define HCI_SET 76,2385 -#define HCI_GET 77,2411 -#define HCI_SUCCESS 80,2457 -#define HCI_FAILURE 81,2486 -#define HCI_NOT_SUPPORTED 82,2515 -#define HCI_EMPTY 83,2549 -#define HCI_FAN 86,2593 -#define HCI_SYSTEM_EVENT 87,2619 -#define HCI_VIDEO_OUT 88,2652 -#define HCI_HOTKEY_EVENT 89,2683 -#define HCI_LCD_BRIGHTNESS 90,2716 -#define HCI_LCD_BRIGHTNESS_BITS 93,2776 -#define HCI_LCD_BRIGHTNESS_SHIFT 94,2811 -#define HCI_LCD_BRIGHTNESS_LEVELS 95,2873 -#define HCI_VIDEO_OUT_LCD 96,2938 -#define HCI_VIDEO_OUT_CRT 97,2969 -#define HCI_VIDEO_OUT_TV 98,3000 -_set_bit(104,3070 -is_valid_acpi_path(113,3202 -write_acpi_int(123,3396 -read_acpi_int(140,3802 -static const char* method_hci 156,4186 -hci_raw(162,4337 -hci_write1(199,5266 -hci_read1(209,5515 -static struct proc_dir_entry* toshiba_proc_dir 219,5761 -static int force_fan;220,5817 -static int last_key_event;221,5841 -static int key_event_valid;222,5870 -typedef struct _ProcItem_ProcItem224,5901 -} ProcItem;ProcItem229,6033 -dispatch_read(235,6084 -dispatch_write(255,6452 -read_lcd(278,7032 -write_lcd(297,7455 -read_video(316,7862 -write_video(337,8433 -read_fan(387,9740 -write_fan(404,10090 -read_keys(424,10445 -write_keys(456,11268 -read_version(471,11496 -#define PROC_TOSHIBA 482,11713 -ProcItem proc_items[484,11746 -add_device(495,12002 -remove_device(515,12426 -toshiba_acpi_init(525,12599 -toshiba_acpi_exit(564,13513 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/bus.c,543 -#define _COMPONENT 40,1336 -ACPI_MODULE_NAME 41,1375 -#define STRUCT_TO_INT(STRUCT_TO_INT51,1610 -acpi_bus_get_status 86,2452 -acpi_bus_get_power 136,3769 -acpi_bus_set_power 189,4972 -static spinlock_t acpi_bus_event_lock 281,7472 -acpi_bus_generate_event 289,7647 -acpi_bus_receive_event 325,8451 -acpi_bus_check_device 375,9605 -acpi_bus_check_scope 432,10898 -acpi_bus_notify 466,11526 -acpi_bus_init_irq 551,13913 -acpi_machine_reset(594,14909 -acpi_early_init 623,15924 -acpi_bus_init 709,18017 -static int __init acpi_init 781,19807 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/scan.c,1199 -#define _COMPONENT 12,235 -#define STRUCT_TO_INT(STRUCT_TO_INT15,302 -ACPI_MODULE_NAME 13,274 -#define ACPI_BUS_CLASS 20,383 -#define ACPI_BUS_HID 21,421 -#define ACPI_BUS_DRIVER_NAME 22,455 -#define ACPI_BUS_DEVICE_NAME 23,503 -static struct kobj_type ktype_acpi_ns 37,867 -static struct kset acpi_namespace_kset 41,946 -static void acpi_device_register(50,1085 -acpi_device_unregister 79,1896 -acpi_bus_data_handler 88,2021 -acpi_bus_get_power_flags 101,2192 -acpi_match_ids 165,4034 -acpi_bus_extract_wakeup_device_power_package 196,4659 -acpi_bus_get_wakeup_device_flags 244,6097 -acpi_bus_get_perf_flags 291,7468 -acpi_bus_match 313,8059 -acpi_bus_driver_init 328,8404 -static int acpi_driver_attach(372,9305 -static int acpi_driver_detach(401,10051 -acpi_bus_register_driver 434,10970 -acpi_bus_unregister_driver 463,11561 -acpi_bus_find_driver 490,12109 -acpi_bus_get_flags 527,13059 -static void acpi_device_get_busid(582,14673 -static void acpi_device_set_id(618,15532 -int acpi_device_set_context(698,17580 -void acpi_device_get_debug_info(723,18244 -acpi_bus_add 766,19418 -static int acpi_bus_scan 912,22763 -acpi_bus_scan_fixed 1016,25084 -static int __init acpi_scan_init(1042,25586 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/event.c,255 -#define _COMPONENT 15,339 -ACPI_MODULE_NAME 16,381 -acpi_system_read_event 43,963 -acpi_system_close_event(92,1952 -acpi_system_poll_event(101,2158 -static struct file_operations acpi_system_event_ops 111,2356 -static int __init acpi_event_init(118,2555 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/numa.c,267 -#define ACPI_NUMA 35,1207 -#define _COMPONENT 36,1236 - ACPI_MODULE_NAME 37,1265 -acpi_parse_slit 88,2744 -acpi_parse_processor_affinity 108,3110 -acpi_parse_memory_affinity 128,3556 -acpi_parse_srat 148,3978 -acpi_table_parse_srat 162,4198 -acpi_numa_init(173,4445 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exoparg2.c,159 -#define _COMPONENT 52,2251 - ACPI_MODULE_NAME 53,2293 -acpi_ex_opcode_2A_2T_1R 193,6379 -acpi_ex_opcode_2A_1T_1R 290,8748 -acpi_ex_opcode_2A_0T_1R 552,15666 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exoparg6.c,90 -#define _COMPONENT 52,2225 - ACPI_MODULE_NAME 53,2267 -acpi_ex_opcode_6A_0T_1R 169,4977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exstorob.c,97 -#define _COMPONENT 50,2185 - ACPI_MODULE_NAME 51,2227 -acpi_ex_store_string_to_string 142,4763 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exfldio.c,387 -#define _COMPONENT 52,2223 - ACPI_MODULE_NAME 53,2265 -acpi_ex_access_region 198,7142 -acpi_ex_register_overflow 291,10058 -acpi_ex_field_datum_io 337,11447 -acpi_ex_write_with_update_rule 528,16749 -acpi_ex_get_buffer_datum 632,19858 -acpi_ex_set_buffer_datum 700,21640 -acpi_ex_common_buffer_setup 767,23478 -acpi_ex_extract_from_field 832,25604 -acpi_ex_insert_into_field 980,30300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exresop.c,91 -#define _COMPONENT 52,2225 - ACPI_MODULE_NAME 53,2267 -acpi_ex_resolve_operands 132,4601 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exsystem.c,316 -#define _COMPONENT 50,2182 - ACPI_MODULE_NAME 51,2224 -acpi_ex_system_do_stall 128,4464 -acpi_ex_system_do_suspend 169,5446 -acpi_ex_system_acquire_mutex 208,6507 -acpi_ex_system_release_mutex 252,7799 -acpi_ex_system_signal_event 292,8802 -acpi_ex_system_wait_event 325,9684 -acpi_ex_system_reset_event 357,10443 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exresolv.c,133 -#define _COMPONENT 54,2272 - ACPI_MODULE_NAME 55,2314 -acpi_ex_resolve_object_to_value 135,4799 -acpi_ex_resolve_multiple 321,9304 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exresnte.c,56 -#define _COMPONENT 54,2272 - ACPI_MODULE_NAME 55,2314 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exoparg1.c,159 -#define _COMPONENT 54,2278 - ACPI_MODULE_NAME 55,2320 -acpi_ex_opcode_1A_1T_0R 169,5367 -acpi_ex_opcode_1A_1T_1R 216,6487 -acpi_ex_opcode_1A_0T_1R 515,14626 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exmutex.c,187 -#define _COMPONENT 49,2165 - ACPI_MODULE_NAME 50,2207 -acpi_ex_link_mutex 105,3513 -acpi_ex_acquire_mutex 145,4460 -acpi_ex_release_mutex 232,7007 -acpi_ex_release_all_mutexes 325,9676 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exstore.c,136 -#define _COMPONENT 53,2247 - ACPI_MODULE_NAME 54,2289 -acpi_ex_store_object_to_index 261,7919 -acpi_ex_store_object_to_node 423,12594 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exfield.c,94 -#define _COMPONENT 50,2205 - ACPI_MODULE_NAME 51,2247 -acpi_ex_write_data_to_field 207,6947 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exconfig.c,146 -#define _COMPONENT 54,2312 - ACPI_MODULE_NAME 55,2354 -acpi_ex_load_table_op 146,4791 -acpi_ex_load_op 280,8449 -acpi_ex_unload_table 445,12851 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/excreate.c,299 -#define _COMPONENT 53,2259 - ACPI_MODULE_NAME 54,2301 -acpi_ex_create_event 167,5655 -acpi_ex_create_mutex 223,7016 -acpi_ex_create_region 286,8740 -acpi_ex_create_table_region 376,11064 -acpi_ex_create_processor 473,13491 -acpi_ex_create_power_resource 525,14982 -acpi_ex_create_method 576,16419 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exprep.c,174 -#define _COMPONENT 52,2233 - ACPI_MODULE_NAME 53,2275 -acpi_ex_decode_field_access 198,7656 -acpi_ex_prep_common_field_object 292,10277 -acpi_ex_prep_field_value 417,14734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exmisc.c,186 -#define _COMPONENT 51,2202 - ACPI_MODULE_NAME 52,2244 -acpi_ex_concat_template 163,5160 -acpi_ex_do_concatenate 236,7378 -acpi_ex_do_math_op 386,11200 -acpi_ex_do_logical_op 476,13559 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exoparg3.c,90 -#define _COMPONENT 52,2225 - ACPI_MODULE_NAME 53,2267 -acpi_ex_opcode_3A_1T_1R 158,5187 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exutils.c,358 -#define DEFINE_AML_GLOBALS60,2693 -#define _COMPONENT 67,2825 - ACPI_MODULE_NAME 68,2867 -acpi_ex_exit_interpreter 122,4406 -acpi_ex_truncate_for32bit_table 153,5136 -acpi_ex_acquire_global_lock 195,6320 -acpi_ex_release_global_lock 238,7409 -acpi_ex_digits_needed 277,8361 -acpi_ex_eisa_id_to_string 320,9398 -acpi_ex_unsigned_integer_to_string 357,10619 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exregion.c,265 -#define _COMPONENT 50,2179 - ACPI_MODULE_NAME 51,2221 -acpi_ex_system_io_space_handler 277,8447 -acpi_ex_pci_config_space_handler 338,10228 -acpi_ex_cmos_space_handler 415,12594 -acpi_ex_pci_bar_space_handler 452,13831 -acpi_ex_data_table_space_handler 489,15073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exconvrt.c,206 -#define _COMPONENT 50,2183 - ACPI_MODULE_NAME 51,2225 -acpi_ex_convert_to_buffer 205,6208 -acpi_ex_convert_to_ascii 306,8668 -acpi_ex_convert_to_string 417,11129 -acpi_ex_convert_to_target_type 581,15232 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exstoren.c,97 -#define _COMPONENT 52,2254 - ACPI_MODULE_NAME 53,2296 -acpi_ex_store_object_to_object 201,6965 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exdump.c,282 -#define _COMPONENT 51,2241 - ACPI_MODULE_NAME 52,2283 -acpi_ex_dump_operands 400,9758 -acpi_ex_out_string 460,11292 -acpi_ex_out_pointer 468,11452 -acpi_ex_out_integer 476,11613 -acpi_ex_out_address 484,11773 -acpi_ex_dump_node 510,12419 -acpi_ex_dump_object_descriptor 548,13648 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/executer/exnames.c,281 -#define _COMPONENT 50,2193 -#define ACPI_AML_PACKAGE_TYPE1 56,2307 -#define ACPI_AML_PACKAGE_TYPE2 57,2345 -#define ACPI_AML_PACKAGE_TYPE3 58,2385 -#define ACPI_AML_PACKAGE_TYPE4 59,2427 - ACPI_MODULE_NAME 51,2235 -acpi_ex_name_segment 164,5234 -acpi_ex_get_name_string 251,7499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/pci_root.c,599 -#define _COMPONENT 39,1391 -#define ACPI_PCI_ROOT_CLASS 42,1462 -#define ACPI_PCI_ROOT_HID 43,1504 -#define ACPI_PCI_ROOT_DRIVER_NAME 44,1541 -#define ACPI_PCI_ROOT_DEVICE_NAME 45,1605 -static struct acpi_driver acpi_pci_root_driver 50,1790 -struct acpi_pci_root acpi_pci_root60,2027 -static struct acpi_pci_driver *sub_driver;69,2182 -int acpi_pci_register_driver(71,2226 -void acpi_pci_unregister_driver(94,2645 -get_root_bridge_busnr_callback 117,3092 -try_get_root_bridge_busnr(136,3610 -acpi_pci_root_add 151,3970 -acpi_pci_root_remove 307,7792 -static int __init acpi_pci_root_init 326,8109 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/uteval.c,357 -#define _COMPONENT 50,2173 - ACPI_MODULE_NAME 51,2216 -acpi_ut_evaluate_object 130,4497 -acpi_ut_evaluate_numeric_object 242,7328 -acpi_ut_copy_id_string 288,8646 -acpi_ut_execute_HID 328,9752 -acpi_ut_translate_one_cid 382,11256 -acpi_ut_execute_CID 432,12476 -acpi_ut_execute_UID 537,15205 -acpi_ut_execute_STA 590,16638 -acpi_ut_execute_sxds 644,18009 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utcopy.c,489 -#define _COMPONENT 49,2177 - ACPI_MODULE_NAME 50,2220 -acpi_ut_copy_ielement_to_eelement 198,6235 -acpi_ut_copy_ipackage_to_epackage 285,8864 -acpi_ut_copy_iobject_to_eobject 347,10893 -acpi_ut_copy_esimple_to_isimple 402,12567 -acpi_ut_copy_epackage_to_ipackage 509,15401 -acpi_ut_copy_eobject_to_iobject 569,17156 -acpi_ut_copy_simple_object 615,18361 -acpi_ut_copy_ielement_to_ielement 714,21150 -acpi_ut_copy_ipackage_to_ipackage 823,23910 -acpi_ut_copy_iobject_to_iobject 881,25674 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utmisc.c,1219 -#define _COMPONENT 49,2156 - ACPI_MODULE_NAME 50,2199 -acpi_ut_dword_byte_swap 156,4462 -acpi_ut_set_integer_width 200,5466 -acpi_ut_display_init_pathname 233,6359 -acpi_ut_valid_acpi_name 303,7955 -acpi_ut_valid_acpi_character 342,8845 -#define NEGATIVE 367,9585 -#define POSITIVE 368,9607 -acpi_ut_strtoul64 371,9642 -acpi_ut_strupr 513,12231 -acpi_ut_mutex_initialize 546,12869 -acpi_ut_mutex_terminate 584,13641 -acpi_ut_create_mutex 618,14297 -acpi_ut_delete_mutex 655,15187 -acpi_ut_acquire_mutex 690,16008 -acpi_ut_release_mutex 768,18248 -acpi_ut_create_update_state_and_push 854,20665 -acpi_ut_create_pkg_state_and_push 896,21660 -acpi_ut_push_generic_state 932,22574 -acpi_ut_pop_generic_state 961,23267 -acpi_ut_create_generic_state 997,24075 -acpi_ut_create_thread_state 1031,24792 -acpi_ut_create_update_state 1073,25903 -acpi_ut_create_pkg_state 1115,26940 -acpi_ut_create_control_state 1159,28099 -acpi_ut_delete_generic_state 1198,29006 -acpi_ut_delete_generic_state_cache 1223,29589 -acpi_ut_walk_package_tree 1247,30136 -acpi_ut_generate_checksum 1364,33524 -acpi_ut_get_resource_end_tag 1394,34238 -acpi_ut_report_error 1449,35679 -acpi_ut_report_warning 1476,36505 -acpi_ut_report_info 1502,37335 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utalloc.c,553 -#define _COMPONENT 47,2144 - ACPI_MODULE_NAME 48,2187 -acpi_ut_acquire_from_cache 122,4216 -acpi_ut_delete_generic_cache 194,5970 -acpi_ut_validate_buffer 230,6897 -acpi_ut_initialize_buffer 273,7909 -acpi_ut_allocate 350,9604 -acpi_ut_callocate 400,10924 -acpi_ut_allocate_and_track 465,12847 -acpi_ut_callocate_and_track 511,14279 -acpi_ut_free_and_track 561,15808 -acpi_ut_find_allocation 616,17456 -acpi_ut_track_allocation 665,18682 -acpi_ut_remove_allocation 751,21113 -acpi_ut_dump_allocation_info 821,22788 -acpi_ut_dump_allocations 881,24595 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utdebug.c,406 -#define _COMPONENT 47,2122 - ACPI_MODULE_NAME 48,2165 -acpi_ut_track_stack_ptr 94,3162 -acpi_ut_debug_print 133,4384 -acpi_ut_debug_print_raw 204,6563 -acpi_ut_trace 242,7635 -acpi_ut_trace_ptr 274,8607 -acpi_ut_trace_str 306,9647 -acpi_ut_trace_u32 339,10676 -acpi_ut_exit 371,11645 -acpi_ut_status_exit 402,12611 -acpi_ut_value_exit 442,13883 -acpi_ut_ptr_exit 475,14950 -acpi_ut_dump_buffer 506,15792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utxface.c,296 -#define _COMPONENT 52,2283 - ACPI_MODULE_NAME 53,2326 -acpi_enable_subsystem 138,4400 -acpi_initialize_objects 232,6996 -acpi_terminate 309,9057 -acpi_subsystem_status 360,10086 -acpi_get_system_info 391,11048 -acpi_install_initialization_handler 475,13029 -acpi_purge_cached_objects 506,13655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utmath.c,137 -#define _COMPONENT 48,2133 - ACPI_MODULE_NAME 49,2176 -acpi_ut_divide 136,4845 -acpi_ut_short_divide 271,8694 -acpi_ut_divide 301,9351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utdelete.c,249 -#define _COMPONENT 50,2231 - ACPI_MODULE_NAME 51,2274 -acpi_ut_delete_internal_object_list 259,7423 -acpi_ut_update_ref_count 295,8320 -acpi_ut_update_object_reference 411,11063 -acpi_ut_add_reference 611,16491 -acpi_ut_remove_reference 644,17242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utobject.c,411 -#define _COMPONENT 50,2202 - ACPI_MODULE_NAME 51,2245 -acpi_ut_create_buffer_object 148,5087 -acpi_ut_valid_internal_object 203,6435 -acpi_ut_allocate_object_desc_dbg 253,7732 -acpi_ut_delete_object_desc 296,8859 -acpi_ut_delete_object_cache 331,9723 -acpi_ut_get_simple_object_size 360,10547 -acpi_ut_get_element_length 478,13515 -acpi_ut_get_package_object_size 543,15213 -acpi_ut_get_object_size(594,16670 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utinit.c,152 -#define _COMPONENT 49,2191 - ACPI_MODULE_NAME 50,2234 -acpi_ut_validate_fadt 94,3537 -acpi_ut_terminate 174,5592 -acpi_ut_subsystem_shutdown 224,6854 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utilities/utglobal.c,2187 -#define DEFINE_ACPI_GLOBALS44,2117 -#define _COMPONENT 49,2197 - ACPI_MODULE_NAME 50,2240 -u32 acpi_dbg_level 145,4365 -u32 acpi_dbg_layer 149,4484 -u32 acpi_gbl_nesting_level 150,4580 -u8 acpi_gbl_db_terminate_threads 155,4670 -u8 acpi_gbl_abort_method 156,4745 -u8 acpi_gbl_method_executing 157,4812 -u32 acpi_gbl_startup_flags 161,4904 -u8 acpi_gbl_shutdown 165,5004 -const u8 acpi_gbl_decode_to8bit 167,5067 -const char *acpi_gbl_sleep_state_names[169,5157 -const char *acpi_gbl_highest_dstate_names[179,5314 -const char *acpi_gbl_valid_osi_strings[191,5561 -const struct acpi_predefined_names acpi_gbl_pre_defined_names[219,6197 -const u8 acpi_gbl_ns_properties[240,7008 -static const char acpi_gbl_hex_to_ascii[278,9072 -acpi_ut_hex_to_ascii_char 297,9707 -struct acpi_table_list acpi_gbl_table_lists[319,10389 -struct acpi_table_support acpi_gbl_table_data[321,10470 -struct acpi_bit_register_info acpi_gbl_bit_register_info[341,11851 -struct acpi_fixed_event_info acpi_gbl_fixed_event_info[371,14895 -const char *acpi_gbl_region_types[394,16197 -acpi_ut_get_region_name 410,16520 -static const char *acpi_gbl_event_types[442,17173 -acpi_ut_get_event_name 453,17350 -static const char acpi_gbl_bad_type[486,18213 -#define TYPE_NAME_LENGTH 487,18284 -static const char *acpi_gbl_ns_type_names[489,18378 -acpi_ut_get_type_name 526,19174 -acpi_ut_get_object_type_name 540,19377 -acpi_ut_get_node_name 566,19966 -static const char *acpi_gbl_desc_type_names[619,21024 -acpi_ut_get_descriptor_name 641,21545 -acpi_ut_get_mutex_name 678,22304 -acpi_ut_valid_object_type 706,22857 -acpi_ut_allocate_owner_id 732,23410 -acpi_ut_init_globals 797,24761 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/blacklist.c,477 -enum acpi_blacklist_predicatesacpi_blacklist_predicates37,1281 - all_versions,39,1314 - less_than_or_equal,40,1336 - equal,41,1364 - greater_than_or_equal,42,1379 -struct acpi_blacklist_itemacpi_blacklist_item45,1414 -static struct acpi_blacklist_item acpi_blacklist[60,1878 -static struct acpi_blacklist_item acpi_blacklist[] __initdata 60,1878 -blacklist_by_year(79,2634 -static inline int blacklist_by_year(112,3195 -acpi_blacklisted(116,3270 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/battery.c,1457 -#define ACPI_BATTERY_VALUE_UNKNOWN 37,1316 -#define ACPI_BATTERY_FORMAT_BIF 39,1363 -#define ACPI_BATTERY_FORMAT_BST 40,1411 -#define ACPI_BATTERY_COMPONENT 42,1451 -#define ACPI_BATTERY_CLASS 43,1494 -#define ACPI_BATTERY_HID 44,1532 -#define ACPI_BATTERY_DRIVER_NAME 45,1568 -#define ACPI_BATTERY_DEVICE_NAME 46,1623 -#define ACPI_BATTERY_FILE_INFO 47,1666 -#define ACPI_BATTERY_FILE_STATUS 48,1705 -#define ACPI_BATTERY_FILE_ALARM 49,1746 -#define ACPI_BATTERY_NOTIFY_STATUS 50,1787 -#define ACPI_BATTERY_NOTIFY_INFO 51,1827 -#define ACPI_BATTERY_UNITS_WATTS 52,1865 -#define ACPI_BATTERY_UNITS_AMPS 53,1903 -#define _COMPONENT 56,1943 -ACPI_MODULE_NAME 57,1986 -struct acpi_battery_status acpi_battery_status76,2486 -struct acpi_battery_info acpi_battery_info83,2637 -struct acpi_battery_flags acpi_battery_flags99,3107 -struct acpi_battery_trips acpi_battery_trips106,3271 -struct acpi_battery acpi_battery111,3349 -acpi_battery_get_info 125,3743 -acpi_battery_get_status 186,5192 -acpi_battery_set_alarm 248,6650 -acpi_battery_check 279,7283 -struct proc_dir_entry *acpi_battery_dir;343,8904 -acpi_battery_read_info 346,8958 -acpi_battery_read_state 445,11584 -acpi_battery_read_alarm 535,13847 -acpi_battery_write_alarm 583,14762 -acpi_battery_add_fs 616,15449 -acpi_battery_remove_fs 676,16979 -acpi_battery_notify 702,17694 -acpi_battery_add 735,18322 -acpi_battery_remove 789,19542 -acpi_battery_init 818,20143 -acpi_battery_exit 840,20594 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/utils.c,273 -#define _COMPONENT 34,1264 -#define acpi_util_eval_error(acpi_util_eval_error43,1577 -#define acpi_util_eval_error(acpi_util_eval_error50,1867 -acpi_extract_package 55,1924 -acpi_evaluate_integer 239,6472 -acpi_evaluate_string 275,7312 -acpi_evaluate_reference 324,8536 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evregion.c,465 -#define _COMPONENT 50,2231 -#define ACPI_NUM_DEFAULT_SPACES 53,2307 - ACPI_MODULE_NAME 51,2271 -acpi_ev_install_region_handlers 75,2922 -acpi_ev_initialize_op_regions 147,4983 -acpi_ev_execute_reg_method 192,6135 -acpi_ev_address_space_dispatch 278,8534 -acpi_ev_detach_region(438,13357 -acpi_ev_attach_region 574,17177 -acpi_ev_install_handler 625,18740 -acpi_ev_install_space_handler 756,22411 -acpi_ev_execute_reg_methods 979,28298 -acpi_ev_reg_run 1015,29314 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evgpe.c,344 -#define _COMPONENT 48,2196 - ACPI_MODULE_NAME 49,2236 -acpi_ev_update_gpe_enable_masks 115,3932 -acpi_ev_enable_gpe 181,5879 -acpi_ev_disable_gpe 251,7460 -acpi_ev_get_gpe_event_info 317,9214 -acpi_ev_gpe_detect 383,11123 -acpi_ev_asynch_execute_gpe_method 498,14531 -acpi_ev_gpe_dispatch 596,17447 -acpi_ev_check_for_wake_only_gpe 730,21315 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evrgnini.c,292 -#define _COMPONENT 49,2191 - ACPI_MODULE_NAME 50,2231 -acpi_ev_io_space_region_setup 123,4454 -acpi_ev_pci_config_region_setup 161,5493 -acpi_ev_pci_bar_region_setup 334,10818 -acpi_ev_cmos_region_setup 365,11729 -acpi_ev_default_region_setup 394,12586 -acpi_ev_initialize_region 437,13915 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evevent.c,214 -#define _COMPONENT 47,2161 - ACPI_MODULE_NAME 48,2201 -acpi_ev_install_xrupt_handlers 118,3874 -acpi_ev_fixed_event_initialize 165,4982 -acpi_ev_fixed_event_detect 208,6022 -acpi_ev_fixed_event_dispatch 263,7706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evxfregn.c,100 -#define _COMPONENT 50,2247 - ACPI_MODULE_NAME 51,2287 -acpi_remove_address_space_handler 136,4638 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evxface.c,317 -#define _COMPONENT 50,2218 - ACPI_MODULE_NAME 51,2258 -acpi_remove_fixed_event_handler 140,4633 -acpi_install_notify_handler 202,6440 -acpi_remove_notify_handler 370,10940 -acpi_install_gpe_handler 528,15253 -acpi_remove_gpe_handler 622,17823 -acpi_acquire_global_lock 723,20426 -acpi_release_global_lock 764,21302 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evmisc.c,423 -#define _COMPONENT 49,2226 - ACPI_MODULE_NAME 50,2266 -static const char *acpi_notify_value_names[102,3603 -acpi_ev_queue_notify_request 116,3838 -acpi_ev_notify_dispatch 223,6887 -acpi_ev_global_lock_thread 291,8852 -acpi_ev_global_lock_handler 326,9901 -acpi_ev_init_global_lock_handler 373,11162 -acpi_ev_acquire_global_lock 414,12265 -acpi_ev_release_global_lock 483,13998 -acpi_ev_terminate 538,15348 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evxfevnt.c,403 -#define _COMPONENT 49,2203 - ACPI_MODULE_NAME 50,2243 -acpi_disable 113,3663 -acpi_enable_event 160,4800 -acpi_set_gpe_type 220,6309 -acpi_enable_gpe 269,7615 -acpi_disable_gpe 326,9084 -acpi_disable_event 379,10377 -acpi_clear_event 435,11733 -acpi_clear_gpe 476,12706 -acpi_get_event_status 530,14085 -acpi_get_gpe_status 576,15284 -acpi_install_gpe_block 634,16891 -acpi_remove_gpe_block 723,19061 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evgpeblk.c,459 -#define _COMPONENT 48,2194 - ACPI_MODULE_NAME 49,2234 -acpi_ev_walk_gpe_list 117,4018 -acpi_ev_delete_gpe_handlers 173,5459 -acpi_ev_save_method_info 228,7254 -acpi_ev_match_prw_and_gpe 342,10763 -acpi_ev_get_gpe_xrupt_block 463,14567 -acpi_ev_delete_gpe_xrupt 542,16700 -acpi_ev_install_gpe_block 599,18106 -acpi_ev_delete_gpe_block 660,19693 -acpi_ev_create_gpe_info_blocks 728,21374 -acpi_ev_create_gpe_block 864,25821 -acpi_ev_gpe_initialize 1014,30223 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/events/evsci.c,167 -#define _COMPONENT 49,2242 - ACPI_MODULE_NAME 50,2282 -acpi_ev_gpe_xrupt_handler 111,3961 -acpi_ev_install_sci_handler 149,4847 -acpi_ev_remove_sci_handler 183,5884 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/button.c,1658 -#define ACPI_BUTTON_COMPONENT 36,1316 -#define ACPI_BUTTON_DRIVER_NAME 37,1358 -#define ACPI_BUTTON_CLASS 38,1412 -#define ACPI_BUTTON_FILE_INFO 39,1448 -#define ACPI_BUTTON_FILE_STATE 40,1486 -#define ACPI_BUTTON_TYPE_UNKNOWN 41,1526 -#define ACPI_BUTTON_NOTIFY_STATUS 42,1564 -#define ACPI_BUTTON_SUBCLASS_POWER 44,1604 -#define ACPI_BUTTON_HID_POWER 45,1647 -#define ACPI_BUTTON_DEVICE_NAME_POWER 46,1689 -#define ACPI_BUTTON_DEVICE_NAME_POWERF 47,1747 -#define ACPI_BUTTON_TYPE_POWER 48,1806 -#define ACPI_BUTTON_TYPE_POWERF 49,1843 -#define ACPI_BUTTON_SUBCLASS_SLEEP 51,1882 -#define ACPI_BUTTON_HID_SLEEP 52,1925 -#define ACPI_BUTTON_DEVICE_NAME_SLEEP 53,1966 -#define ACPI_BUTTON_DEVICE_NAME_SLEEPF 54,2024 -#define ACPI_BUTTON_TYPE_SLEEP 55,2083 -#define ACPI_BUTTON_TYPE_SLEEPF 56,2120 -#define ACPI_BUTTON_SUBCLASS_LID 58,2159 -#define ACPI_BUTTON_HID_LID 59,2198 -#define ACPI_BUTTON_DEVICE_NAME_LID 60,2237 -#define ACPI_BUTTON_TYPE_LID 61,2286 -#define _COMPONENT 63,2322 -ACPI_MODULE_NAME 64,2364 -struct acpi_button acpi_button86,3038 -static struct file_operations acpi_button_info_fops 93,3176 -static struct file_operations acpi_button_state_fops 100,3343 -static struct proc_dir_entry *acpi_button_dir;110,3722 -static int acpi_button_info_seq_show(112,3770 -static int acpi_button_info_open_fs(127,4114 -static int acpi_button_state_seq_show(132,4268 -static int acpi_button_state_open_fs(154,4798 -acpi_button_add_fs 160,4964 -acpi_button_remove_fs 232,6708 -acpi_button_notify 279,7927 -acpi_button_notify_fixed 306,8412 -acpi_button_add 323,8739 -acpi_button_remove 482,12760 -acpi_button_init 523,13696 -acpi_button_exit 545,14139 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/power.c,1239 -#define _COMPONENT 48,1810 -#define ACPI_POWER_COMPONENT 51,1885 -#define ACPI_POWER_CLASS 52,1926 -#define ACPI_POWER_DRIVER_NAME 53,1969 -#define ACPI_POWER_DEVICE_NAME 54,2030 -#define ACPI_POWER_FILE_INFO 55,2079 -#define ACPI_POWER_FILE_STATUS 56,2116 -#define ACPI_POWER_RESOURCE_STATE_OFF 57,2156 -#define ACPI_POWER_RESOURCE_STATE_ON 58,2199 -#define ACPI_POWER_RESOURCE_STATE_UNKNOWN 59,2241 -static struct acpi_driver acpi_power_driver 65,2472 -struct acpi_power_resourceacpi_power_resource75,2689 -static struct list_head acpi_power_resource_list;85,2832 -static struct file_operations acpi_power_fops 87,2884 -acpi_power_get_context 99,3265 -acpi_power_get_state 127,3816 -acpi_power_get_list_state 155,4414 -acpi_power_on 192,5165 -acpi_power_off_device 239,6281 -int acpi_enable_wakeup_device_power 296,7764 -int acpi_disable_wakeup_device_power 336,8814 -acpi_power_get_inferred_state 377,9953 -acpi_power_transition 418,10770 -struct proc_dir_entry *acpi_power_dir;482,12419 -static int acpi_power_seq_show(484,12460 -static int acpi_power_open_fs(519,13190 -acpi_power_add_fs 525,13342 -acpi_power_remove_fs 559,14045 -acpi_power_add 580,14589 -acpi_power_remove 646,16241 -static int __init acpi_power_init 667,16608 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/pci_bind.c,210 -#define _COMPONENT 39,1386 -ACPI_MODULE_NAME 40,1425 -struct acpi_pci_data acpi_pci_data42,1457 -acpi_pci_data_handler 50,1560 -acpi_os_get_pci_id 71,2039 -acpi_pci_bind 120,3172 -acpi_pci_bind_root 262,7217 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/processor.c,4746 -#define ACPI_PROCESSOR_COMPONENT 56,1919 -#define ACPI_PROCESSOR_CLASS 57,1963 -#define ACPI_PROCESSOR_DRIVER_NAME 58,2005 -#define ACPI_PROCESSOR_DEVICE_NAME 59,2064 -#define ACPI_PROCESSOR_FILE_INFO 60,2111 -#define ACPI_PROCESSOR_FILE_POWER 61,2151 -#define ACPI_PROCESSOR_FILE_THROTTLING 62,2193 -#define ACPI_PROCESSOR_FILE_LIMIT 63,2245 -#define ACPI_PROCESSOR_FILE_PERFORMANCE 64,2287 -#define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 65,2341 -#define ACPI_PROCESSOR_NOTIFY_POWER 66,2388 -#define US_TO_PM_TIMER_TICKS(US_TO_PM_TIMER_TICKS68,2430 -#define C2_OVERHEAD 69,2504 -#define C3_OVERHEAD 70,2559 -#define ACPI_PROCESSOR_LIMIT_USER 73,2616 -#define ACPI_PROCESSOR_LIMIT_THERMAL 74,2652 -#define _COMPONENT 76,2692 -ACPI_MODULE_NAME 77,2737 -struct acpi_processor_errata acpi_processor_errata103,3656 -static struct file_operations acpi_processor_info_fops 113,3792 -static struct file_operations acpi_processor_power_fops 120,3966 -static struct file_operations acpi_processor_throttling_fops 127,4142 -static struct file_operations acpi_processor_limit_fops 134,4328 -static struct acpi_processor *processors[141,4504 -static struct acpi_processor_errata errata;142,4555 -acpi_processor_errata_piix4 151,4848 -acpi_processor_errata 256,7538 -ticks_elapsed 284,8164 -acpi_processor_power_activate 298,8380 -acpi_processor_idle 331,9034 -acpi_processor_set_power_policy 517,14066 -acpi_processor_get_power_info 597,17077 -static int acpi_processor_ppc_is_init 765,21774 -static int acpi_processor_ppc_notifier(767,21818 -static struct notifier_block acpi_ppc_notifier_block 801,22437 -acpi_processor_get_platform_limit 807,22557 -static int acpi_processor_ppc_has_changed(834,23183 -static void acpi_processor_ppc_init(845,23386 -static void acpi_processor_ppc_exit(853,23633 -static int acpi_processor_set_pdc 865,24006 -acpi_processor_get_performance_control 893,24769 -acpi_processor_get_performance_states 960,26393 -acpi_processor_get_performance_info 1040,28567 -static struct file_operations acpi_processor_perf_fops 1081,29568 -static int acpi_processor_perf_seq_show(1088,29742 -static int acpi_processor_perf_open_fs(1120,30577 -acpi_processor_write_performance 1127,30757 -acpi_cpufreq_add_file 1173,31923 -acpi_cpufreq_remove_file 1201,32660 -static void acpi_cpufreq_add_file 1219,33003 -static void acpi_cpufreq_remove_file 1220,33077 -acpi_processor_register_performance 1225,33208 -acpi_processor_unregister_performance 1266,33947 -static void acpi_processor_ppc_init(1301,34592 -static void acpi_processor_ppc_exit(1302,34646 -static int acpi_processor_ppc_has_changed(1304,34701 -acpi_processor_get_throttling 1321,35283 -acpi_processor_set_throttling 1372,36254 -acpi_processor_get_throttling_info 1447,37900 -acpi_processor_apply_limit 1544,40464 -static unsigned int cpufreq_thermal_reduction_pctg[1594,41564 -static unsigned int acpi_thermal_cpufreq_is_init 1595,41625 -static int cpu_has_cpufreq(1598,41681 -static int acpi_thermal_cpufreq_increase(1609,41886 -static int acpi_thermal_cpufreq_decrease(1624,42155 -static int acpi_thermal_cpufreq_notifier(1639,42425 -static struct notifier_block acpi_thermal_cpufreq_notifier_block 1659,42819 -static void acpi_thermal_cpufreq_init(1664,42942 -static void acpi_thermal_cpufreq_exit(1675,43209 -static void acpi_thermal_cpufreq_init(1684,43454 -static void acpi_thermal_cpufreq_exit(1685,43510 -static int acpi_thermal_cpufreq_increase(1686,43566 -static int acpi_thermal_cpufreq_decrease(1687,43645 -acpi_processor_set_thermal_limit 1694,43739 -acpi_processor_get_limit_info 1798,45993 -struct proc_dir_entry *acpi_processor_dir 1817,46431 -static int acpi_processor_info_seq_show(1819,46483 -static int acpi_processor_info_open_fs(1845,47131 -static int acpi_processor_power_seq_show(1851,47296 -static int acpi_processor_power_open_fs(1900,48459 -static int acpi_processor_throttling_seq_show(1906,48626 -static int acpi_processor_throttling_open_fs(1944,49584 -acpi_processor_write_throttling 1951,49776 -static int acpi_processor_limit_seq_show(1980,50505 -static int acpi_processor_limit_open_fs(2005,51098 -acpi_processor_write_limit 2012,51280 -acpi_processor_add_fs 2059,52402 -acpi_processor_remove_fs 2133,54424 -#define convert_acpiid_to_cpu(convert_acpiid_to_cpu2153,55061 -#define arch_acpiid_to_apicid 2157,55133 -#define arch_cpu_to_apicid 2158,55187 -#define ARCH_BAD_APICID 2159,55235 -#define arch_acpiid_to_apicid 2161,55275 -#define arch_cpu_to_apicid 2162,55327 -#define ARCH_BAD_APICID 2163,55373 -static u8 convert_acpiid_to_cpu(2166,55413 -acpi_processor_get_info 2188,55905 -acpi_processor_notify 2296,59006 -acpi_processor_add 2333,59731 -acpi_processor_remove 2405,61403 -acpi_processor_init 2448,62355 -acpi_processor_exit 2477,62965 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbutils.c,163 -#define _COMPONENT 49,2158 - ACPI_MODULE_NAME 50,2198 -acpi_tb_validate_table_header 116,4248 -acpi_tb_verify_table_checksum 178,6075 -acpi_tb_checksum 218,7156 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbrsdt.c,156 -#define _COMPONENT 49,2154 - ACPI_MODULE_NAME 50,2194 -acpi_tb_get_rsdt_address 167,4954 -acpi_tb_validate_rsdt 202,5811 -acpi_tb_get_table_rsdt 265,7318 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbgetall.c,132 -#define _COMPONENT 49,2159 - ACPI_MODULE_NAME 50,2199 -acpi_tb_get_secondary_table 134,4369 -acpi_tb_get_required_tables 205,6251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbconvrt.c,269 -#define _COMPONENT 49,2162 - ACPI_MODULE_NAME 50,2202 -acpi_tb_convert_to_xsdt 108,3739 -acpi_tb_init_generic_address 178,5652 -acpi_tb_convert_fadt1 207,6532 -acpi_tb_convert_fadt2 324,10929 -acpi_tb_convert_table_fadt 423,14413 -acpi_tb_build_common_facs 513,16947 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbinstal.c,314 -#define _COMPONENT 49,2166 - ACPI_MODULE_NAME 50,2206 -acpi_tb_install_table 126,4349 -acpi_tb_recognize_table 180,6151 -acpi_tb_init_table_descriptor 238,7794 -acpi_tb_delete_all_tables 351,10838 -acpi_tb_delete_tables_by_type 380,11519 -acpi_tb_delete_single_table 462,13199 -acpi_tb_uninstall_table 510,14289 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbxfroot.c,192 -#define _COMPONENT 49,2162 - ACPI_MODULE_NAME 50,2202 -acpi_get_firmware_table 130,4718 -acpi_find_root_pointer 327,9701 -acpi_tb_scan_memory_for_rsdp 367,10857 -acpi_tb_find_rsdp 427,12845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbxface.c,168 -#define _COMPONENT 51,2254 - ACPI_MODULE_NAME 52,2294 -acpi_load_table 157,5153 -acpi_unload_table 235,6983 -acpi_get_table_header 295,8986 -acpi_get_table 370,11338 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables/tbget.c,224 -#define _COMPONENT 49,2152 - ACPI_MODULE_NAME 50,2192 -acpi_tb_get_table_header 118,4198 -acpi_tb_get_table_body 195,6593 -acpi_tb_table_override 242,7756 -acpi_tb_get_this_table 316,10068 -acpi_tb_get_table_ptr 431,13166 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsio.c,216 -#define _COMPONENT 48,2158 - ACPI_MODULE_NAME 49,2201 -acpi_rs_fixed_io_resource 172,5818 -acpi_rs_io_stream 241,7707 -acpi_rs_fixed_io_stream 325,9669 -acpi_rs_dma_resource 391,11578 -acpi_rs_dma_stream 495,14243 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rslist.c,132 -#define _COMPONENT 48,2150 - ACPI_MODULE_NAME 49,2193 -acpi_rs_byte_stream_to_list 119,3993 -acpi_rs_list_to_byte_stream 353,9977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rscalc.c,138 -#define _COMPONENT 50,2215 - ACPI_MODULE_NAME 51,2258 -acpi_rs_get_list_length 306,8927 -acpi_rs_get_pci_routing_table_length 742,19187 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsdump.c,536 -#define _COMPONENT 48,2174 - ACPI_MODULE_NAME 49,2217 -acpi_rs_dump_dma 112,3889 -acpi_rs_dump_start_depend_fns 192,5596 -acpi_rs_dump_io 257,7081 -acpi_rs_dump_fixed_io 300,8085 -acpi_rs_dump_vendor_specific 333,8883 -acpi_rs_dump_memory24 369,9774 -acpi_rs_dump_memory32 414,10871 -acpi_rs_dump_fixed_memory32 459,11964 -acpi_rs_dump_address16 498,12963 -acpi_rs_dump_address32 646,16639 -acpi_rs_dump_address64 793,20329 -acpi_rs_dump_extended_irq 940,24157 -acpi_rs_dump_resource_list 1001,25771 -acpi_rs_dump_irq_list 1105,28125 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rscreate.c,137 -#define _COMPONENT 50,2212 - ACPI_MODULE_NAME 51,2255 -acpi_rs_create_pci_routing_table 152,5736 -acpi_rs_create_byte_stream 380,12842 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsmemory.c,257 -#define _COMPONENT 48,2157 - ACPI_MODULE_NAME 49,2200 -acpi_rs_memory24_stream 164,5740 -acpi_rs_memory32_range_resource 251,8156 -acpi_rs_fixed_memory32_resource 354,11262 -acpi_rs_memory32_range_stream 429,13450 -acpi_rs_fixed_memory32_stream 512,15544 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsxface.c,343 -#define _COMPONENT 48,2171 - ACPI_MODULE_NAME 49,2214 -acpi_get_current_resources 131,5202 -acpi_get_possible_resources 183,6952 -acpi_walk_resources 233,8579 -acpi_set_current_resources 334,11135 -#define ACPI_COPY_FIELD(ACPI_COPY_FIELD359,11661 -#define ACPI_COPY_ADDRESS(ACPI_COPY_ADDRESS360,11731 -acpi_resource_to_address64 393,13221 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsaddr.c,240 -#define _COMPONENT 48,2168 - ACPI_MODULE_NAME 49,2211 -acpi_rs_address16_stream 293,8987 -acpi_rs_address32_resource 457,13448 -acpi_rs_address32_stream 680,19133 -acpi_rs_address64_resource 843,23513 -acpi_rs_address64_stream 1069,29284 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsutils.c,204 -#define _COMPONENT 50,2192 - ACPI_MODULE_NAME 51,2235 -acpi_rs_get_crs_method_data 126,4583 -acpi_rs_get_prs_method_data 180,6171 -acpi_rs_get_method_data 234,7763 -acpi_rs_set_srs_method_data 288,9370 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsirq.c,164 -#define _COMPONENT 48,2152 - ACPI_MODULE_NAME 49,2195 -acpi_rs_irq_stream 204,6762 -acpi_rs_extended_irq_resource 300,9538 -acpi_rs_extended_irq_stream 489,14547 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/resources/rsmisc.c,327 -#define _COMPONENT 48,2163 - ACPI_MODULE_NAME 49,2206 -acpi_rs_end_tag_stream 127,4732 -acpi_rs_vendor_resource 184,6520 -acpi_rs_vendor_stream 284,9135 -acpi_rs_start_depend_fns_resource 364,11505 -acpi_rs_end_depend_fns_resource 456,14320 -acpi_rs_start_depend_fns_stream 510,15865 -acpi_rs_end_depend_fns_stream 574,17695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/thermal.c,3199 -#define ACPI_THERMAL_COMPONENT 47,1707 -#define ACPI_THERMAL_CLASS 48,1750 -#define ACPI_THERMAL_DRIVER_NAME 49,1793 -#define ACPI_THERMAL_DEVICE_NAME 50,1853 -#define ACPI_THERMAL_FILE_STATE 51,1901 -#define ACPI_THERMAL_FILE_TEMPERATURE 52,1942 -#define ACPI_THERMAL_FILE_TRIP_POINTS 53,1994 -#define ACPI_THERMAL_FILE_COOLING_MODE 54,2046 -#define ACPI_THERMAL_FILE_POLLING_FREQ 55,2100 -#define ACPI_THERMAL_NOTIFY_TEMPERATURE 56,2159 -#define ACPI_THERMAL_NOTIFY_THRESHOLDS 57,2204 -#define ACPI_THERMAL_NOTIFY_DEVICES 58,2248 -#define ACPI_THERMAL_NOTIFY_CRITICAL 59,2289 -#define ACPI_THERMAL_NOTIFY_HOT 60,2331 -#define ACPI_THERMAL_MODE_ACTIVE 61,2369 -#define ACPI_THERMAL_MODE_PASSIVE 62,2407 -#define ACPI_THERMAL_MODE_CRT 63,2446 -#define ACPI_THERMAL_PATH_POWEROFF 64,2484 -#define ACPI_THERMAL_MAX_ACTIVE 66,2537 -#define KELVIN_TO_CELSIUS(KELVIN_TO_CELSIUS68,2573 -#define CELSIUS_TO_KELVIN(CELSIUS_TO_KELVIN69,2675 -#define _COMPONENT 71,2718 -ACPI_MODULE_NAME 72,2761 -struct acpi_thermal_state acpi_thermal_state104,4066 -struct acpi_thermal_state_flags acpi_thermal_state_flags113,4201 -struct acpi_thermal_critical acpi_thermal_critical119,4289 -struct acpi_thermal_hot acpi_thermal_hot124,4393 -struct acpi_thermal_passive acpi_thermal_passive129,4492 -struct acpi_thermal_active acpi_thermal_active138,4692 -struct acpi_thermal_trips acpi_thermal_trips144,4828 -struct acpi_thermal_flags acpi_thermal_flags151,5029 -struct acpi_thermal acpi_thermal157,5142 -static struct file_operations acpi_thermal_state_fops 172,5512 -static struct file_operations acpi_thermal_temp_fops 179,5683 -static struct file_operations acpi_thermal_trip_fops 186,5852 -static struct file_operations acpi_thermal_cooling_fops 194,6064 -static struct file_operations acpi_thermal_polling_fops 202,6283 -acpi_thermal_get_temperature 215,6721 -acpi_thermal_get_polling_frequency 238,7180 -acpi_thermal_set_polling 259,7634 -acpi_thermal_set_cooling_mode 277,8002 -acpi_thermal_get_trip_points 313,8786 -acpi_thermal_get_devices 407,11613 -acpi_thermal_call_usermode 426,11947 -acpi_thermal_critical 450,12362 -acpi_thermal_hot 482,13230 -acpi_thermal_passive 513,13925 -acpi_thermal_active 581,15903 -acpi_thermal_run 648,17740 -acpi_thermal_check 659,17962 -struct proc_dir_entry *acpi_thermal_dir;776,21305 -static int acpi_thermal_state_seq_show(778,21348 -static int acpi_thermal_state_open_fs(807,22020 -static int acpi_thermal_temp_seq_show(813,22178 -static int acpi_thermal_temp_open_fs(834,22597 -static int acpi_thermal_trip_seq_show(840,22753 -static int acpi_thermal_trip_open_fs(887,24093 -acpi_thermal_write_trip_points 893,24263 -static int acpi_thermal_cooling_seq_show(943,25761 -static int acpi_thermal_cooling_open_fs(966,26270 -acpi_thermal_write_cooling_mode 973,26453 -static int acpi_thermal_polling_seq_show(1008,27220 -static int acpi_thermal_polling_open_fs(1029,27643 -acpi_thermal_write_polling 1036,27826 -acpi_thermal_add_fs 1071,28587 -acpi_thermal_remove_fs 1156,30906 -acpi_thermal_notify 1185,31800 -acpi_thermal_get_info 1226,32628 -acpi_thermal_add 1285,34313 -acpi_thermal_remove 1344,35567 -acpi_thermal_init 1393,36755 -acpi_thermal_exit 1415,37206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/debug.c,522 -#define _COMPONENT 11,195 -#define ACPI_SYSTEM_FILE_DEBUG_LAYER 14,266 -#define ACPI_SYSTEM_FILE_DEBUG_LEVEL 15,317 -#define MODULE_PARAM_PREFIX21,431 -struct acpi_dlayer acpi_dlayer25,544 -struct acpi_dlevel acpi_dlevel29,609 -#define ACPI_DEBUG_INIT(ACPI_DEBUG_INIT33,674 -const struct acpi_dlayer acpi_debug_layers[35,729 -const struct acpi_dlevel acpi_debug_levels[53,1253 -#define NUM_OF(NUM_OF90,2390 -acpi_system_read_debug 93,2447 -acpi_system_write_debug 157,3871 -static int __init acpi_debug_init(189,4556 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/fan.c,597 -#define ACPI_FAN_COMPONENT 37,1308 -#define ACPI_FAN_CLASS 38,1347 -#define ACPI_FAN_HID 39,1378 -#define ACPI_FAN_DRIVER_NAME 40,1411 -#define ACPI_FAN_DEVICE_NAME 41,1459 -#define ACPI_FAN_FILE_STATE 42,1495 -#define ACPI_FAN_NOTIFY_STATUS 43,1532 -#define _COMPONENT 45,1570 -ACPI_MODULE_NAME 46,1609 -struct acpi_fan acpi_fan65,2055 -struct proc_dir_entry *acpi_fan_dir;74,2311 -acpi_fan_read_state 78,2362 -acpi_fan_write_state 115,2975 -acpi_fan_add_fs 145,3585 -acpi_fan_remove_fs 182,4419 -acpi_fan_add 203,4955 -acpi_fan_remove 249,5866 -acpi_fan_init 271,6202 -acpi_fan_exit 293,6614 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/ec.c,1453 -#define _COMPONENT 37,1367 -#define ACPI_EC_COMPONENT 40,1436 -#define ACPI_EC_CLASS 41,1474 -#define ACPI_EC_HID 42,1520 -#define ACPI_EC_DRIVER_NAME 43,1552 -#define ACPI_EC_DEVICE_NAME 44,1615 -#define ACPI_EC_FILE_INFO 45,1666 -#define ACPI_EC_FLAG_OBF 48,1702 -#define ACPI_EC_FLAG_IBF 49,1757 -#define ACPI_EC_FLAG_SCI 50,1811 -#define ACPI_EC_EVENT_OBF 52,1864 -#define ACPI_EC_EVENT_IBE 53,1920 -#define ACPI_EC_UDELAY 55,1977 -#define ACPI_EC_UDELAY_COUNT 56,2035 -#define ACPI_EC_UDELAY_GLK 57,2104 -#define ACPI_EC_COMMAND_READ 59,2176 -#define ACPI_EC_COMMAND_WRITE 60,2210 -#define ACPI_EC_COMMAND_QUERY 61,2245 -static struct acpi_driver acpi_ec_driver 68,2520 -struct acpi_ec acpi_ec80,2774 -static struct acpi_ec *ec_ecdt;92,3115 -static struct acpi_device *first_ec;95,3205 -acpi_ec_wait 102,3466 -acpi_ec_read 139,4175 -acpi_ec_write 191,5174 -ec_read(245,6290 -ec_write(267,6555 -acpi_ec_query 284,6751 -struct acpi_ec_query_data acpi_ec_query_data336,7964 -acpi_ec_gpe_query 342,8042 -acpi_ec_gpe_handler 385,9210 -acpi_ec_space_setup 410,9842 -acpi_ec_space_handler 430,10225 -struct proc_dir_entry *acpi_ec_dir;483,11344 -acpi_ec_read_info 487,11394 -acpi_ec_add_fs 524,12132 -acpi_ec_remove_fs 551,12715 -acpi_ec_add 571,13245 -acpi_ec_remove 641,14959 -acpi_ec_io_ports 663,15247 -acpi_ec_start 697,16002 -acpi_ec_stop 753,17382 -acpi_ec_ecdt_probe 781,17930 -static int __init acpi_ec_init 847,19572 -acpi_ec_exit 875,20131 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/acpi_ksyms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/system.c,562 -#define _COMPONENT 33,1210 -#define ACPI_SYSTEM_CLASS 36,1287 -#define ACPI_SYSTEM_DRIVER_NAME 37,1323 -#define ACPI_SYSTEM_DEVICE_NAME 38,1377 -#define ACPI_SYSTEM_FILE_INFO 39,1419 -#define ACPI_SYSTEM_FILE_EVENT 40,1457 -#define ACPI_SYSTEM_FILE_DSDT 41,1497 -#define ACPI_SYSTEM_FILE_FADT 42,1535 -acpi_system_read_info 51,1832 -static struct file_operations acpi_system_dsdt_ops 82,2390 -acpi_system_read_dsdt 87,2498 -static struct file_operations acpi_system_fadt_ops 113,3091 -acpi_system_read_fadt 118,3199 -static int __init acpi_system_init 142,3706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/ac.c,813 -#define ACPI_AC_COMPONENT 36,1316 -#define ACPI_AC_CLASS 37,1354 -#define ACPI_AC_HID 38,1391 -#define ACPI_AC_DRIVER_NAME 39,1425 -#define ACPI_AC_DEVICE_NAME 40,1479 -#define ACPI_AC_FILE_STATE 41,1521 -#define ACPI_AC_NOTIFY_STATUS 42,1557 -#define ACPI_AC_STATUS_OFFLINE 43,1593 -#define ACPI_AC_STATUS_ONLINE 44,1630 -#define ACPI_AC_STATUS_UNKNOWN 45,1666 -#define _COMPONENT 47,1704 -ACPI_MODULE_NAME 48,1742 -struct acpi_ac acpi_ac68,2246 -static struct file_operations acpi_ac_fops 73,2312 -acpi_ac_get_state 85,2685 -struct proc_dir_entry *acpi_ac_dir;111,3317 -int acpi_ac_seq_show(113,3355 -static int acpi_ac_open_fs(143,3917 -acpi_ac_add_fs 149,4063 -acpi_ac_remove_fs 182,4783 -acpi_ac_notify 204,5315 -acpi_ac_add 236,5856 -acpi_ac_remove 290,6940 -acpi_ac_init 319,7489 -acpi_ac_exit 341,7893 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dswload.c,187 -#define _COMPONENT 57,2359 - ACPI_MODULE_NAME 58,2403 -acpi_ds_load1_begin_op 124,4302 -acpi_ds_load1_end_op 347,10517 -acpi_ds_load2_begin_op 459,13783 -acpi_ds_load2_end_op 690,19632 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsmethod.c,221 -#define _COMPONENT 53,2291 - ACPI_MODULE_NAME 54,2335 -acpi_ds_begin_method_execution 194,6353 -acpi_ds_call_control_method 260,8226 -acpi_ds_restart_control_method 411,12641 -acpi_ds_terminate_control_method 479,14487 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dswstate.c,754 -#define _COMPONENT 50,2230 - ACPI_MODULE_NAME 51,2274 -acpi_ds_result_remove 129,4538 -acpi_ds_result_pop 193,6247 -acpi_ds_result_pop_from_bottom 254,7884 -acpi_ds_result_push 319,9628 -acpi_ds_result_stack_push 372,11119 -acpi_ds_result_stack_pop 408,11968 -acpi_ds_obj_stack_delete_all 450,13021 -acpi_ds_obj_stack_push 486,13898 -acpi_ds_obj_stack_pop_object 531,15165 -acpi_ds_obj_stack_pop 591,16766 -acpi_ds_obj_stack_pop_and_delete 638,18018 -acpi_ds_obj_stack_get_value 692,19653 -acpi_ds_get_current_walk_state 731,20664 -acpi_ds_push_walk_state 763,21391 -acpi_ds_pop_walk_state 792,22220 -acpi_ds_create_walk_state 834,23262 -acpi_ds_init_aml_walk 903,25203 -acpi_ds_delete_walk_state 1013,28358 -acpi_ds_delete_walk_state_cache 1081,29944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsinit.c,93 -#define _COMPONENT 49,2191 - ACPI_MODULE_NAME 50,2235 -acpi_ds_initialize_objects 194,6196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsmthdat.c,382 -#define _COMPONENT 52,2257 - ACPI_MODULE_NAME 53,2301 -acpi_ds_method_data_delete_all 128,4683 -acpi_ds_method_data_init_args 184,6303 -acpi_ds_method_data_get_node 236,7889 -acpi_ds_method_data_set_value 301,9710 -acpi_ds_method_data_get_type 355,11341 -acpi_ds_method_data_get_value 409,12935 -acpi_ds_method_data_delete_value 499,15391 -acpi_ds_store_object_to_local 562,17180 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsutils.c,238 -#define _COMPONENT 53,2284 - ACPI_MODULE_NAME 54,2328 -acpi_ds_delete_result_if_not_used 241,7752 -acpi_ds_resolve_operands 291,9002 -acpi_ds_clear_operands 330,10034 -acpi_ds_create_operand 375,11258 -acpi_ds_create_operands 598,18089 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsobject.c,215 -#define _COMPONENT 52,2274 - ACPI_MODULE_NAME 53,2318 -acpi_ds_build_internal_buffer_obj 140,5049 -acpi_ds_build_internal_package_obj 249,8152 -acpi_ds_create_node 366,11354 -acpi_ds_init_object_from_op 435,13296 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsopcode.c,504 -#define _COMPONENT 54,2353 - ACPI_MODULE_NAME 55,2397 -acpi_ds_get_buffer_field_arguments 179,5596 -acpi_ds_get_buffer_arguments 225,6989 -acpi_ds_get_package_arguments 272,8213 -acpi_ds_get_region_arguments 319,9431 -acpi_ds_initialize_region 369,10752 -acpi_ds_init_buffer_field 403,11730 -acpi_ds_eval_buffer_field_operands 587,16520 -acpi_ds_eval_region_operands 674,18969 -acpi_ds_eval_data_object_operands 772,21664 -acpi_ds_exec_begin_control_op 865,24128 -acpi_ds_exec_end_control_op 945,26059 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dswexec.c,155 -#define _COMPONENT 56,2379 - ACPI_MODULE_NAME 57,2423 -acpi_ds_get_predicate_value 88,3265 -acpi_ds_exec_begin_op 201,6244 -acpi_ds_exec_end_op 342,9865 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dswscope.c,162 -#define _COMPONENT 49,2155 -#define STACK_POP(STACK_POP53,2236 - ACPI_MODULE_NAME 50,2199 -acpi_ds_scope_stack_push 102,3604 -acpi_ds_scope_stack_pop 187,6040 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/dispatcher/dsfield.c,235 -#define _COMPONENT 53,2262 - ACPI_MODULE_NAME 54,2306 -acpi_ds_get_field_names 209,6758 -acpi_ds_create_field 336,10226 -acpi_ds_init_field_objects 395,11914 -acpi_ds_create_bank_field 478,13991 -acpi_ds_create_index_field 551,16157 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/pstree.c,146 -#define _COMPONENT 49,2198 - ACPI_MODULE_NAME 50,2238 -acpi_ps_append_arg 121,3939 -acpi_ps_get_child 197,5532 -acpi_ps_get_depth_next 266,6879 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/psparse.c,216 -#define _COMPONENT 61,2635 - ACPI_MODULE_NAME 62,2675 -acpi_ps_peek_opcode 110,3733 -acpi_ps_complete_this_op 146,4495 -acpi_ps_next_parse_state 302,8854 -acpi_ps_parse_loop 423,11679 -acpi_ps_parse_aml 1062,29172 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/psscope.c,211 -#define _COMPONENT 48,2167 - ACPI_MODULE_NAME 49,2207 -acpi_ps_has_completed_scope 87,3318 -acpi_ps_init_scope 109,3974 -acpi_ps_push_scope 153,5223 -acpi_ps_pop_scope 212,6825 -acpi_ps_cleanup_scope 268,8312 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/psxface.c,56 -#define _COMPONENT 52,2237 - ACPI_MODULE_NAME 53,2277 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/psutils.c,292 -#define _COMPONENT 50,2226 - ACPI_MODULE_NAME 51,2266 -acpi_ps_init_op 99,3359 -acpi_ps_alloc_op 129,4285 -acpi_ps_free_op 197,5872 -acpi_ps_delete_parse_cache 229,6616 -acpi_ps_is_leading_char 254,7147 -acpi_ps_is_prefix_char 265,7319 -acpi_ps_get_name 276,7492 -acpi_ps_set_name 297,7792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/psopcode.c,8860 -#define _COMPONENT 50,2200 -#define _UNK 54,2277 -#define _ASC 60,2475 -#define _NAM 61,2516 -#define _PFX 62,2557 -#define _UNKNOWN_OPCODE 63,2598 -#define MAX_EXTENDED_OPCODE 65,2675 -#define NUM_EXTENDED_OPCODE 66,2716 -#define MAX_INTERNAL_OPCODE67,2778 -#define NUM_INTERNAL_OPCODE 68,2806 -#define ARGP_ACCESSFIELD_OP 89,3557 -#define ARGP_ACQUIRE_OP 90,3626 -#define ARGP_ADD_OP 91,3710 -#define ARGP_ALIAS_OP 92,3812 -#define ARGP_ARG0 93,3892 -#define ARGP_ARG1 94,3941 -#define ARGP_ARG2 95,3990 -#define ARGP_ARG3 96,4039 -#define ARGP_ARG4 97,4088 -#define ARGP_ARG5 98,4137 -#define ARGP_ARG6 99,4186 -#define ARGP_BANK_FIELD_OP 100,4235 -#define ARGP_BIT_AND_OP 101,4388 -#define ARGP_BIT_NAND_OP 102,4490 -#define ARGP_BIT_NOR_OP 103,4592 -#define ARGP_BIT_NOT_OP 104,4694 -#define ARGP_BIT_OR_OP 105,4776 -#define ARGP_BIT_XOR_OP 106,4878 -#define ARGP_BREAK_OP 107,4980 -#define ARGP_BREAK_POINT_OP 108,5029 -#define ARGP_BUFFER_OP 109,5078 -#define ARGP_BYTE_OP 110,5182 -#define ARGP_BYTELIST_OP 111,5249 -#define ARGP_CONCAT_OP 112,5318 -#define ARGP_CONCAT_RES_OP 113,5420 -#define ARGP_COND_REF_OF_OP 114,5522 -#define ARGP_CONTINUE_OP 115,5607 -#define ARGP_COPY_OP 116,5656 -#define ARGP_CREATE_BIT_FIELD_OP 117,5742 -#define ARGP_CREATE_BYTE_FIELD_OP 118,5842 -#define ARGP_CREATE_DWORD_FIELD_OP 119,5942 -#define ARGP_CREATE_FIELD_OP 120,6042 -#define ARGP_CREATE_QWORD_FIELD_OP 121,6158 -#define ARGP_CREATE_WORD_FIELD_OP 122,6258 -#define ARGP_DATA_REGION_OP 123,6358 -#define ARGP_DEBUG_OP 124,6477 -#define ARGP_DECREMENT_OP 125,6526 -#define ARGP_DEREF_OF_OP 126,6594 -#define ARGP_DEVICE_OP 127,6660 -#define ARGP_DIVIDE_OP 128,6763 -#define ARGP_DWORD_OP 129,6881 -#define ARGP_ELSE_OP 130,6949 -#define ARGP_EVENT_OP 131,7033 -#define ARGP_FATAL_OP 132,7096 -#define ARGP_FIELD_OP 133,7199 -#define ARGP_FIND_SET_LEFT_BIT_OP 134,7320 -#define ARGP_FIND_SET_RIGHT_BIT_OP 135,7402 -#define ARGP_FROM_BCD_OP 136,7484 -#define ARGP_IF_OP 137,7566 -#define ARGP_INCREMENT_OP 138,7670 -#define ARGP_INDEX_FIELD_OP 139,7738 -#define ARGP_INDEX_OP 140,7875 -#define ARGP_LAND_OP 141,7977 -#define ARGP_LEQUAL_OP 142,8060 -#define ARGP_LGREATER_OP 143,8143 -#define ARGP_LGREATEREQUAL_OP 144,8226 -#define ARGP_LLESS_OP 145,8309 -#define ARGP_LLESSEQUAL_OP 146,8392 -#define ARGP_LNOT_OP 147,8475 -#define ARGP_LNOTEQUAL_OP 148,8541 -#define ARGP_LOAD_OP 149,8624 -#define ARGP_LOAD_TABLE_OP 150,8709 -#define ARGP_LOCAL0 151,8859 -#define ARGP_LOCAL1 152,8908 -#define ARGP_LOCAL2 153,8957 -#define ARGP_LOCAL3 154,9006 -#define ARGP_LOCAL4 155,9055 -#define ARGP_LOCAL5 156,9104 -#define ARGP_LOCAL6 157,9153 -#define ARGP_LOCAL7 158,9202 -#define ARGP_LOR_OP 159,9251 -#define ARGP_MATCH_OP 160,9334 -#define ARGP_METHOD_OP 161,9485 -#define ARGP_METHODCALL_OP 162,9605 -#define ARGP_MID_OP 163,9674 -#define ARGP_MOD_OP 164,9792 -#define ARGP_MULTIPLY_OP 165,9894 -#define ARGP_MUTEX_OP 166,9996 -#define ARGP_NAME_OP 167,10080 -#define ARGP_NAMEDFIELD_OP 168,10163 -#define ARGP_NAMEPATH_OP 169,10232 -#define ARGP_NOOP_OP 170,10301 -#define ARGP_NOTIFY_OP 171,10350 -#define ARGP_ONE_OP 172,10433 -#define ARGP_ONES_OP 173,10482 -#define ARGP_PACKAGE_OP 174,10531 -#define ARGP_POWER_RES_OP 175,10638 -#define ARGP_PROCESSOR_OP 176,10773 -#define ARGP_QWORD_OP 177,10924 -#define ARGP_REF_OF_OP 178,10992 -#define ARGP_REGION_OP 179,11060 -#define ARGP_RELEASE_OP 180,11179 -#define ARGP_RESERVEDFIELD_OP 181,11247 -#define ARGP_RESET_OP 182,11316 -#define ARGP_RETURN_OP 183,11384 -#define ARGP_REVISION_OP 184,11450 -#define ARGP_SCOPE_OP 185,11499 -#define ARGP_SHIFT_LEFT_OP 186,11603 -#define ARGP_SHIFT_RIGHT_OP 187,11705 -#define ARGP_SIGNAL_OP 188,11807 -#define ARGP_SIZE_OF_OP 189,11875 -#define ARGP_SLEEP_OP 190,11943 -#define ARGP_STALL_OP 191,12009 -#define ARGP_STATICSTRING_OP 192,12075 -#define ARGP_STORE_OP 193,12144 -#define ARGP_STRING_OP 194,12229 -#define ARGP_SUBTRACT_OP 195,12296 -#define ARGP_THERMAL_ZONE_OP 196,12398 -#define ARGP_TO_BCD_OP 197,12501 -#define ARGP_TO_BUFFER_OP 198,12583 -#define ARGP_TO_DEC_STR_OP 199,12665 -#define ARGP_TO_HEX_STR_OP 200,12747 -#define ARGP_TO_INTEGER_OP 201,12829 -#define ARGP_TO_STRING_OP 202,12911 -#define ARGP_TYPE_OP 203,13013 -#define ARGP_UNLOAD_OP 204,13081 -#define ARGP_VAR_PACKAGE_OP 205,13149 -#define ARGP_WAIT_OP 206,13256 -#define ARGP_WHILE_OP 207,13339 -#define ARGP_WORD_OP 208,13443 -#define ARGP_ZERO_OP 209,13510 -#define ARGI_ACCESSFIELD_OP 220,13827 -#define ARGI_ACQUIRE_OP 221,13887 -#define ARGI_ADD_OP 222,13970 -#define ARGI_ALIAS_OP 223,14075 -#define ARGI_ARG0 224,14135 -#define ARGI_ARG1 225,14184 -#define ARGI_ARG2 226,14233 -#define ARGI_ARG3 227,14282 -#define ARGI_ARG4 228,14331 -#define ARGI_ARG5 229,14380 -#define ARGI_ARG6 230,14429 -#define ARGI_BANK_FIELD_OP 231,14478 -#define ARGI_BIT_AND_OP 232,14538 -#define ARGI_BIT_NAND_OP 233,14643 -#define ARGI_BIT_NOR_OP 234,14748 -#define ARGI_BIT_NOT_OP 235,14853 -#define ARGI_BIT_OR_OP 236,14938 -#define ARGI_BIT_XOR_OP 237,15043 -#define ARGI_BREAK_OP 238,15148 -#define ARGI_BREAK_POINT_OP 239,15197 -#define ARGI_BUFFER_OP 240,15246 -#define ARGI_BYTE_OP 241,15312 -#define ARGI_BYTELIST_OP 242,15372 -#define ARGI_CONCAT_OP 243,15432 -#define ARGI_CONCAT_RES_OP 244,15537 -#define ARGI_COND_REF_OF_OP 245,15642 -#define ARGI_CONTINUE_OP 246,15727 -#define ARGI_COPY_OP 247,15787 -#define ARGI_CREATE_BIT_FIELD_OP 248,15876 -#define ARGI_CREATE_BYTE_FIELD_OP 249,15981 -#define ARGI_CREATE_DWORD_FIELD_OP 250,16086 -#define ARGI_CREATE_FIELD_OP 251,16191 -#define ARGI_CREATE_QWORD_FIELD_OP 252,16315 -#define ARGI_CREATE_WORD_FIELD_OP 253,16420 -#define ARGI_DATA_REGION_OP 254,16525 -#define ARGI_DEBUG_OP 255,16627 -#define ARGI_DECREMENT_OP 256,16676 -#define ARGI_DEREF_OF_OP 257,16746 -#define ARGI_DEVICE_OP 258,16818 -#define ARGI_DIVIDE_OP 259,16878 -#define ARGI_DWORD_OP 260,17002 -#define ARGI_ELSE_OP 261,17062 -#define ARGI_EVENT_OP 262,17122 -#define ARGI_FATAL_OP 263,17182 -#define ARGI_FIELD_OP 264,17285 -#define ARGI_FIND_SET_LEFT_BIT_OP 265,17345 -#define ARGI_FIND_SET_RIGHT_BIT_OP 266,17430 -#define ARGI_FROM_BCD_OP 267,17515 -#define ARGI_IF_OP 268,17600 -#define ARGI_INCREMENT_OP 269,17660 -#define ARGI_INDEX_FIELD_OP 270,17730 -#define ARGI_INDEX_OP 271,17790 -#define ARGI_LAND_OP 272,17895 -#define ARGI_LEQUAL_OP 273,17978 -#define ARGI_LGREATER_OP 274,18065 -#define ARGI_LGREATEREQUAL_OP 275,18152 -#define ARGI_LLESS_OP 276,18212 -#define ARGI_LLESSEQUAL_OP 277,18299 -#define ARGI_LNOT_OP 278,18359 -#define ARGI_LNOTEQUAL_OP 279,18425 -#define ARGI_LOAD_OP 280,18485 -#define ARGI_LOAD_TABLE_OP 281,18574 -#define ARGI_LOCAL0 282,18725 -#define ARGI_LOCAL1 283,18774 -#define ARGI_LOCAL2 284,18823 -#define ARGI_LOCAL3 285,18872 -#define ARGI_LOCAL4 286,18921 -#define ARGI_LOCAL5 287,18970 -#define ARGI_LOCAL6 288,19019 -#define ARGI_LOCAL7 289,19068 -#define ARGI_LOR_OP 290,19117 -#define ARGI_MATCH_OP 291,19200 -#define ARGI_METHOD_OP 292,19354 -#define ARGI_METHODCALL_OP 293,19414 -#define ARGI_MID_OP 294,19474 -#define ARGI_MOD_OP 295,19598 -#define ARGI_MULTIPLY_OP 296,19703 -#define ARGI_MUTEX_OP 297,19808 -#define ARGI_NAME_OP 298,19868 -#define ARGI_NAMEDFIELD_OP 299,19928 -#define ARGI_NAMEPATH_OP 300,19988 -#define ARGI_NOOP_OP 301,20048 -#define ARGI_NOTIFY_OP 302,20097 -#define ARGI_ONE_OP 303,20180 -#define ARGI_ONES_OP 304,20229 -#define ARGI_PACKAGE_OP 305,20278 -#define ARGI_POWER_RES_OP 306,20344 -#define ARGI_PROCESSOR_OP 307,20404 -#define ARGI_QWORD_OP 308,20464 -#define ARGI_REF_OF_OP 309,20524 -#define ARGI_REGION_OP 310,20593 -#define ARGI_RELEASE_OP 311,20676 -#define ARGI_RESERVEDFIELD_OP 312,20740 -#define ARGI_RESET_OP 313,20800 -#define ARGI_RETURN_OP 314,20864 -#define ARGI_REVISION_OP 315,20924 -#define ARGI_SCOPE_OP 316,20973 -#define ARGI_SHIFT_LEFT_OP 317,21033 -#define ARGI_SHIFT_RIGHT_OP 318,21138 -#define ARGI_SIGNAL_OP 319,21243 -#define ARGI_SIZE_OF_OP 320,21307 -#define ARGI_SLEEP_OP 321,21376 -#define ARGI_STALL_OP 322,21442 -#define ARGI_STATICSTRING_OP 323,21508 -#define ARGI_STORE_OP 324,21568 -#define ARGI_STRING_OP 325,21653 -#define ARGI_SUBTRACT_OP 326,21713 -#define ARGI_THERMAL_ZONE_OP 327,21818 -#define ARGI_TO_BCD_OP 328,21878 -#define ARGI_TO_BUFFER_OP 329,21966 -#define ARGI_TO_DEC_STR_OP 330,22054 -#define ARGI_TO_HEX_STR_OP 331,22142 -#define ARGI_TO_INTEGER_OP 332,22230 -#define ARGI_TO_STRING_OP 333,22318 -#define ARGI_TYPE_OP 334,22426 -#define ARGI_UNLOAD_OP 335,22492 -#define ARGI_VAR_PACKAGE_OP 336,22560 -#define ARGI_WAIT_OP 337,22626 -#define ARGI_WHILE_OP 338,22709 -#define ARGI_WORD_OP 339,22769 -#define ARGI_ZERO_OP 340,22829 - ACPI_MODULE_NAME 51,2240 -static const u8 acpi_gbl_short_op_index[619,52517 -static const u8 acpi_gbl_long_op_index[658,54587 -acpi_ps_get_opcode_info 698,56365 -acpi_ps_get_opcode_name 752,57628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/pswalk.c,130 -#define _COMPONENT 49,2196 - ACPI_MODULE_NAME 50,2236 -acpi_ps_delete_completed_op 229,7021 -acpi_ps_delete_parse_tree 251,7537 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/parser/psargs.c,274 -#define _COMPONENT 50,2207 - ACPI_MODULE_NAME 51,2247 -acpi_ps_get_next_package_end 139,4499 -acpi_ps_get_next_namestring 173,5524 -acpi_ps_get_next_namepath 253,7531 -acpi_ps_get_next_simple_arg 396,11710 -acpi_ps_get_next_field 490,13683 -acpi_ps_get_next_arg 598,16219 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/osl.c,1971 -#define _COMPONENT 47,1549 -#define PREFIX 50,1612 -struct acpi_os_dpcacpi_os_dpc52,1638 -int acpi_in_debugger;65,1881 -static unsigned int acpi_irq_irq;69,1957 -static acpi_osd_handler acpi_irq_handler;70,1991 -static void *acpi_irq_context;71,2033 -static struct workqueue_struct *kacpid_wq;72,2064 -acpi_os_initialize(75,2120 -acpi_os_initialize1(81,2177 -acpi_os_terminate(100,2616 -acpi_os_printf(113,2801 -acpi_os_vprintf(122,2928 -acpi_os_allocate(140,3195 -acpi_os_free(146,3273 -acpi_os_get_root_pointer(152,3327 -acpi_os_map_memory(177,3963 -acpi_os_unmap_memory(203,4522 -acpi_os_get_physical_address(209,4612 -#define ACPI_MAX_OVERRIDE_LEN 219,4780 -static char acpi_os_name[221,4815 -acpi_os_predefined_override 224,4877 -acpi_os_table_override 241,5272 -acpi_irq(259,5681 -acpi_os_install_interrupt_handler(265,5824 -acpi_os_remove_interrupt_handler(293,6530 -acpi_os_sleep(309,6777 -acpi_os_stall(316,6904 -acpi_os_read_port(330,7070 -acpi_os_write_port(359,7401 -acpi_os_read_memory(383,7663 -acpi_os_write_memory(428,8465 -acpi_os_read_pci_configuration 470,9197 -acpi_os_write_pci_configuration 501,9703 -acpi_os_derive_pci_id_2 530,10233 -acpi_os_derive_pci_id 582,11661 -acpi_os_write_pci_configuration 596,11977 -acpi_os_read_pci_configuration 606,12127 -acpi_os_derive_pci_id 616,12263 -acpi_os_execute_deferred 626,12456 -acpi_os_queue_for_execution(647,12794 -acpi_os_wait_events_complete(694,14125 -acpi_os_create_lock 704,14281 -acpi_os_delete_lock 727,14664 -acpi_os_acquire_lock 747,15083 -acpi_os_release_lock 769,15483 -acpi_os_create_semaphore(788,15850 -acpi_os_delete_semaphore(820,16625 -acpi_os_wait_semaphore(848,17319 -acpi_os_signal_semaphore(931,18968 -acpi_os_get_line(953,19400 -acpi_os_readable(973,19696 -acpi_os_writable(983,19918 -acpi_os_get_thread_id 991,20120 -acpi_os_signal 1000,20220 -acpi_os_name_setup(1027,20746 -acpi_osi_setup(1057,21232 -acpi_serialize_setup(1075,21613 -acpi_wake_gpes_always_on_setup(1096,22125 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/asus_acpi.c,2610 -#define ASUS_ACPI_VERSION 45,1532 -#define PROC_ASUS 47,1566 -#define PROC_MLED 48,1613 -#define PROC_WLED 49,1644 -#define PROC_TLED 50,1675 -#define PROC_INFO 51,1706 -#define PROC_LCD 52,1737 -#define PROC_BRN 53,1767 -#define PROC_DISP 54,1797 -#define ACPI_HOTK_NAME 56,1829 -#define ACPI_HOTK_CLASS 57,1894 -#define ACPI_HOTK_DEVICE_NAME 58,1935 -#define ACPI_HOTK_HID 59,1976 -#define BR_UP 64,2067 -#define BR_DOWN 65,2100 -#define MLED_ON 70,2158 -#define WLED_ON 71,2198 -#define TLED_ON 72,2223 -static uid_t asus_uid;79,2358 -static gid_t asus_gid;80,2381 -struct model_data model_data89,2699 -struct asus_hotk asus_hotk112,3856 - A1x 119,4172 - A2x,120,4201 - D1x,121,4222 - L2D,122,4239 - L3C,123,4260 - L3D,124,4281 - L3H,125,4302 - L4R,126,4337 - L5x,127,4358 - L8L,128,4380 - M1A,129,4401 - M2E,130,4422 - M6N,131,4451 - M6R,132,4472 - P30,133,4493 - S1x,134,4516 - S2x,135,4572 - xxN,136,4623 - END_MODEL138,4702 -#define A1x_PREFIX 144,4855 -#define L3C_PREFIX 145,4896 -#define M1A_PREFIX 146,4939 -#define P30_PREFIX 147,4981 -#define S1x_PREFIX 148,5023 -#define S2x_PREFIX 149,5061 -#define xxN_PREFIX 150,5091 -static struct model_data model_conf[152,5134 -static struct proc_dir_entry *asus_proc_dir;380,10986 -static struct acpi_table_header *asus_info;387,11223 -static struct asus_hotk *hotk;390,11312 -static struct acpi_driver asus_hotk_driver 397,11505 -static int write_acpi_int(414,11985 -static int read_acpi_int(431,12457 -proc_read_info(451,13055 -read_led(514,15471 -static int parse_arg(528,15755 -write_led(545,16122 -proc_read_mled(572,16700 -proc_write_mled(580,16888 -proc_read_wled(590,17104 -proc_write_wled(597,17291 -proc_read_tled(607,17507 -proc_write_tled(614,17694 -static int get_lcd_state(621,17867 -static int set_lcd_state(662,19015 -proc_read_lcd(688,19679 -proc_write_lcd(696,19835 -static int read_brightness(708,20055 -static void set_brightness(728,20641 -proc_read_brn(755,21359 -proc_write_brn(762,21516 -static void set_display(779,21913 -proc_read_disp(793,22312 -proc_write_disp(811,22997 -typedef int (proc_readfunc)proc_readfunc826,23301 -typedef int (proc_writefunc)proc_writefunc828,23422 -__init asus_proc_add(832,23566 -static int __init asus_hotk_add_fs(850,24091 -static int asus_hotk_remove_fs(915,25904 -static void asus_hotk_notify(937,26748 -static int __init asus_hotk_get_info(959,27341 -static int __init asus_hotk_check(1095,32255 -static int __init asus_hotk_add(1114,32578 -static int asus_hotk_remove(1180,34288 -static int __init asus_acpi_init(1200,34699 -static void __exit asus_acpi_exit(1225,35201 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/sleep/wakeup.c,176 -#define _COMPONENT 13,222 -ACPI_MODULE_NAME 14,264 -acpi_enable_wakeup_device(56,1320 -acpi_disable_wakeup_device 107,2823 -static int __init acpi_wakeup_device_init(150,4093 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/sleep/proc.c,778 -#define ACPI_SYSTEM_FILE_SLEEP 16,267 -#define ACPI_SYSTEM_FILE_ALARM 17,307 -#define ACPI_SYSTEM_FILE_WAKEUP_DEVICE 18,347 -#define _COMPONENT 20,398 -ACPI_MODULE_NAME 21,440 -static int acpi_system_sleep_open_fs(43,836 -acpi_system_write_sleep 49,1006 -static int acpi_system_alarm_seq_show(82,1603 -static int acpi_system_alarm_open_fs(157,3658 -get_date_field 164,3825 -acpi_system_write_alarm 194,4317 -acpi_system_wakeup_device_seq_show(360,7518 -acpi_system_write_wakeup_device 388,8361 -acpi_system_wakeup_device_open_fs(422,9112 -static struct file_operations acpi_system_wakeup_device_fops 427,9272 -static struct file_operations acpi_system_sleep_fops 435,9501 -static struct file_operations acpi_system_alarm_fops 443,9706 -static int acpi_sleep_proc_init(452,9912 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/sleep/sleep.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/sleep/main.c,479 -u8 sleep_states[20,386 -static struct pm_ops acpi_pm_ops;22,424 -static u32 acpi_suspend_states[27,545 -static int init_8259A_after_S1;34,731 -static int acpi_pm_prepare(45,1047 -static int acpi_pm_enter(77,1995 -static int acpi_pm_finish(139,3323 -int acpi_suspend(157,3714 -static struct pm_ops acpi_pm_ops 170,3954 -static int __init init_ints_after_s1(181,4190 -static struct dmi_system_id __initdata acpisleep_dmi_table[188,4359 -static int __init acpi_sleep_init(197,4578 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/sleep/poweroff.c,61 -acpi_power_off 14,293 -static int acpi_poweroff_init(24,566 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/tables.c,659 -#define PREFIX 38,1298 -#define ACPI_MAX_TABLES 40,1325 -static char *acpi_table_signatures[42,1355 -static char *mps_inti_flags_polarity[64,1879 -static char *mps_inti_flags_trigger[65,1953 -struct acpi_table_sdt acpi_table_sdt68,2072 -static unsigned long sdt_pa;74,2191 -static unsigned long sdt_count;75,2245 -static struct acpi_table_sdt sdt_entry[77,2297 -acpi_table_print 80,2360 -acpi_table_print_madt_entry 113,3108 -acpi_table_compute_checksum 222,6071 -acpi_get_table_header_early 244,6442 -acpi_table_parse_madt_family 302,7724 -acpi_table_parse_madt 366,9243 -acpi_table_parse 377,9490 -acpi_table_get_sdt 404,9947 -acpi_table_init 570,14257 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/pci_irq.c,207 -#define _COMPONENT 42,1480 -ACPI_MODULE_NAME 43,1519 -acpi_pci_irq_add_entry 88,2572 -acpi_pci_irq_add_prt 153,4403 -acpi_pci_irq_lookup 231,6390 -acpi_pci_irq_derive 273,7414 -acpi_pci_irq_enable 326,8722 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/pci_link.c,1752 -#define _COMPONENT 46,1676 -#define ACPI_PCI_LINK_CLASS 49,1747 -#define ACPI_PCI_LINK_HID 50,1794 -#define ACPI_PCI_LINK_DRIVER_NAME 51,1831 -#define ACPI_PCI_LINK_DEVICE_NAME 52,1898 -#define ACPI_PCI_LINK_FILE_INFO 53,1953 -#define ACPI_PCI_LINK_FILE_STATUS 54,1993 -#define ACPI_PCI_LINK_MAX_POSSIBLE 56,2036 -static struct acpi_driver acpi_pci_link_driver 61,2207 -struct acpi_pci_link_irq acpi_pci_link_irq71,2444 -struct acpi_pci_link acpi_pci_link81,2687 -} acpi_link;91,2877 -acpi_pci_link_check_possible 102,3191 -acpi_pci_link_get_possible 166,4922 -acpi_pci_link_check_current 191,5454 -acpi_pci_link_get_current 246,6577 -acpi_pci_link_set 301,7783 -#define ACPI_MAX_IRQS 441,12329 -#define ACPI_MAX_ISA_IRQ 442,12356 -#define PIRQ_PENALTY_PCI_AVAILABLE 444,12385 -#define PIRQ_PENALTY_PCI_POSSIBLE 445,12424 -#define PIRQ_PENALTY_PCI_USING 446,12466 -#define PIRQ_PENALTY_ISA_TYPICAL 447,12509 -#define PIRQ_PENALTY_ISA_USED 448,12556 -#define PIRQ_PENALTY_ISA_ALWAYS 449,12604 -static int acpi_irq_penalty[451,12658 -acpi_irq_penalty_init(472,13491 -static int acpi_irq_balance;513,14516 -static int acpi_pci_link_allocate(515,14574 -acpi_pci_link_get_irq 582,16261 -acpi_pci_link_add 631,17552 -acpi_pci_link_resume 699,18998 -irqrouter_resume(712,19247 -acpi_pci_link_remove 735,19676 -static int __init acpi_irq_penalty_update(759,20099 -static int __init acpi_irq_isa(794,20749 -static int __init acpi_irq_pci(805,21049 -static int __init acpi_irq_nobalance_set(811,21178 -int __init acpi_irq_balance_set(818,21325 -static struct sysdev_class irqrouter_sysdev_class 826,21460 -static struct sys_device device_irqrouter 832,21591 -static int __init irqrouter_init_sysfs(838,21692 -static int __init acpi_pci_link_init 857,22076 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsload.c,195 -#define _COMPONENT 50,2206 - ACPI_MODULE_NAME 51,2249 -acpi_ns_load_table_by_type 160,5462 -acpi_ns_load_namespace 285,8235 -acpi_ns_delete_subtree 340,9693 -acpi_ns_unload_namespace 428,11879 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nswalk.c,89 -#define _COMPONENT 49,2169 - ACPI_MODULE_NAME 50,2212 -acpi_ns_walk_namespace 157,5769 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsdump.c,215 -#define _COMPONENT 50,2188 - ACPI_MODULE_NAME 51,2231 -acpi_ns_dump_pathname 112,3818 -acpi_ns_dump_one_object 150,4914 -acpi_ns_dump_objects 567,14854 -acpi_ns_dump_tables 604,15979 -acpi_ns_dump_entry 648,17045 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsutils.c,701 -#define _COMPONENT 51,2301 - ACPI_MODULE_NAME 52,2344 -acpi_ns_report_method_error 130,4638 -acpi_ns_print_node_pathname 170,5928 -acpi_ns_valid_root_prefix 212,6938 -acpi_ns_valid_path_separator 233,7447 -acpi_ns_get_type 252,7902 -acpi_ns_local 279,8580 -acpi_ns_get_internal_name_length 311,9432 -acpi_ns_build_internal_name 385,11338 -acpi_ns_internalize_name 506,14488 -acpi_ns_externalize_name 566,16096 -acpi_ns_map_handle_to_node 725,19776 -acpi_ns_convert_entry_to_handle 766,20609 -acpi_ns_terminate 808,21336 -acpi_ns_opens_scope 854,22427 -acpi_ns_get_node_by_path 894,23919 -acpi_ns_find_parent_name 965,25799 -acpi_ns_get_parent_node 1010,26990 -acpi_ns_get_next_valid_node 1052,27988 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsdumpdv.c,92 -#define _COMPONENT 49,2161 - ACPI_MODULE_NAME 50,2204 -acpi_ns_dump_root_devices 116,4120 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsxfname.c,111 -#define _COMPONENT 50,2232 - ACPI_MODULE_NAME 51,2275 -acpi_get_name 151,5117 -acpi_get_object_info 231,7100 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsalloc.c,309 -#define _COMPONENT 49,2175 - ACPI_MODULE_NAME 50,2218 -acpi_ns_delete_node 103,3423 -acpi_ns_compare_names 176,5172 -acpi_ns_install_node 233,6929 -acpi_ns_delete_children 369,10330 -acpi_ns_delete_namespace_subtree 469,12718 -acpi_ns_remove_reference 552,14669 -acpi_ns_delete_namespace_by_owner 605,15983 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsaccess.c,81 -#define _COMPONENT 51,2234 - ACPI_MODULE_NAME 52,2277 -acpi_ns_lookup 286,8626 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsnames.c,171 -#define _COMPONENT 50,2186 - ACPI_MODULE_NAME 51,2229 -acpi_ns_get_external_pathname 140,4640 -acpi_ns_get_pathname_length 183,5720 -acpi_ns_handle_to_pathname 224,6796 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nssearch.c,128 -#define _COMPONENT 49,2149 - ACPI_MODULE_NAME 50,2192 -acpi_ns_search_parent_tree 186,6810 -acpi_ns_search_and_enter 277,9765 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsparse.c,86 -#define _COMPONENT 51,2217 - ACPI_MODULE_NAME 52,2260 -acpi_ns_parse_table 129,4343 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsinit.c,161 -#define _COMPONENT 50,2206 - ACPI_MODULE_NAME 51,2249 -acpi_ns_initialize_devices 129,4545 -acpi_ns_init_one_object 193,6267 -acpi_ns_init_one_device 334,9480 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nseval.c,206 -#define _COMPONENT 52,2287 - ACPI_MODULE_NAME 53,2330 -acpi_ns_evaluate_by_name 184,6247 -acpi_ns_evaluate_by_handle 267,8524 -acpi_ns_execute_control_method 375,11333 -acpi_ns_get_object_value 445,13371 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsxfeval.c,266 -#define _COMPONENT 51,2260 - ACPI_MODULE_NAME 52,2303 -acpi_evaluate_object 169,6028 -acpi_walk_namespace 390,12764 -acpi_ns_get_device_callback 446,14350 -acpi_get_devices 555,17607 -acpi_attach_data 619,19352 -acpi_detach_data 671,20558 -acpi_get_data 722,21766 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsobject.c,263 -#define _COMPONENT 50,2217 - ACPI_MODULE_NAME 51,2260 -acpi_ns_detach_object 206,6495 -acpi_ns_get_attached_object 261,7892 -acpi_ns_get_secondary_object 297,8909 -acpi_ns_attach_data 329,9898 -acpi_ns_detach_data 391,11416 -acpi_ns_get_attached_data 439,12670 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acpi/namespace/nsxfobj.c,113 -#define _COMPONENT 50,2230 - ACPI_MODULE_NAME 51,2273 -acpi_get_parent 126,4086 -acpi_get_next_object 195,5833 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/block/mfm.S,590 -hdc63463_irqdata:hdc63463_irqdata7,225 -hdc63463_baseaddress:hdc63463_baseaddress10,300 -hdc63463_irqpolladdress:hdc63463_irqpolladdress14,367 -hdc63463_irqpollmask:hdc63463_irqpollmask18,435 -hdc63463_dataptr:hdc63463_dataptr23,550 -hdc63463_dataleft:hdc63463_dataleft28,642 -hdc63463_writedma:hdc63463_writedma36,969 -writedma_again:writedma_again41,1063 -writedma_loop:writedma_loop74,1925 -writedma_end:writedma_end95,2620 -hdc63463_readdma:hdc63463_readdma106,3020 -readdma_again:readdma_again111,3113 -readdma_loop:readdma_loop142,3980 -readdma_end:readdma_end158,4421 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/block/mfmhd.c,4011 -static struct request_queue *mfm_queue;126,5068 -static spinlock_t mfm_lock 127,5108 -#define MAJOR_NR 129,5158 -#define QUEUE 130,5191 -#define CURRENT 131,5217 -#define HDIO_GETGEO 136,5371 -struct hd_geometry hd_geometry137,5397 -#define MFM_MAXDRIVES 151,5615 -#define ONBOARD_MFM_ADDRESS 155,5714 -struct mfm_info mfm_info171,6009 -#define NO_TRACK 177,6153 -#define NEED_1_RECAL 178,6173 -#define NEED_2_RECAL 179,6197 -} mfm_info[186,6302 -#define MFM_DRV_INFO 188,6330 -static int lastspecifieddrive;200,6791 -static unsigned Busy;201,6822 -static unsigned int PartFragRead;203,6845 -static unsigned int PartFragRead_RestartBlock;208,7046 -static unsigned int PartFragRead_SectorsLeft;209,7134 -static int Sectors256LeftInCurrent;211,7222 -static int SectorsLeftInRequest;212,7302 -static int Copy_Sector;213,7398 -static char *Copy_buffer;215,7521 -static unsigned int mfm_addr;225,7767 -static unsigned int mfm_IRQPollLoc;226,7823 -static unsigned int mfm_irqenable;227,7901 -static unsigned char mfm_irq;228,7969 -static int mfm_drives 229,8023 -static int mfm_status 230,8074 -static int *errors;231,8125 -static struct rawcmd rawcmd233,8146 -} raw_cmd;242,8350 -static unsigned char result[244,8362 -static struct cont cont246,8396 -} *cont 251,8595 -static struct tq_struct mfm_tq 254,8618 -int number_mfm_drives 257,8695 -#define MFM_COMMAND 264,8877 -#define MFM_DATAOUT 265,8912 -#define MFM_STATUS 266,8947 -#define MFM_DATAIN 267,8982 -#define CMD_ABT 269,9018 -#define CMD_SPC 270,9052 -#define CMD_TST 271,9088 -#define CMD_RCLB 272,9121 -#define CMD_SEK 273,9161 -#define CMD_WFS 274,9194 -#define CMD_WFM 275,9240 -#define CMD_MTB 276,9281 -#define CMD_CMPD 277,9326 -#define CMD_WD 278,9367 -#define CMD_RED 279,9405 -#define CMD_RIS 280,9453 -#define CMD_FID 281,9494 -#define CMD_RID 282,9530 -#define CMD_BTM 283,9566 -#define CMD_CKD 284,9611 -#define CMD_RD 285,9650 -#define CMD_OPBW 286,9687 -#define CMD_OPBR 287,9733 -#define CMD_CKV 288,9778 -#define CMD_CKE 289,9818 -#define CMD_POD 290,9856 -#define CMD_POL 291,9900 -#define CMD_RCAL 292,9943 -#define STAT_BSY 294,9979 -#define STAT_CPR 295,10014 -#define STAT_CED 296,10072 -#define STAT_SED 297,10114 -#define STAT_DER 298,10153 -#define STAT_ABN 299,10195 -#define STAT_POL 300,10238 -static void console_printf(304,10387 -#define DBG(DBG321,10722 -#define DBG(DBG323,10764 -static void print_status(326,10790 -static void issue_command(375,11901 -static void wait_for_completion(411,12893 -static void wait_for_command_end(416,12988 -static void mfm_rw_intr(433,13327 -static void mfm_setup_rw(566,17699 -static void mfm_recal_intr(574,17857 -static void mfm_seek_intr(607,18649 -#define IDEA2640,19382 -#define SPEC_SL 642,19410 -#define SPEC_SH 643,19431 -#define SPEC_SL 645,19515 -#define SPEC_SH 646,19569 -static void mfm_setupspecify 649,19654 -static void mfm_specify 669,20679 -static void mfm_seek(682,21030 -static void mfm_initialise(710,21656 -static void request_done(716,21726 -static void error_handler(763,23257 -static void rw_interrupt(774,23506 -static struct cont rw_cont 779,23569 -static void issue_request(791,23802 -static void mfm_rerequest(870,26400 -static struct gendisk *mfm_gendisk[878,26497 -static void mfm_request(880,26537 -static void do_mfm_request(949,28278 -static void mfm_interrupt_handler(955,28394 -static void mfm_geometry(993,29184 -static int mfm_detectdrive 1017,30005 -static int mfm_initdrives(1105,31911 -static int mfm_ioctl(1156,33185 -void mfm_setup(1179,33828 -void xd_set_geometry(1189,34078 -static struct block_device_operations mfm_fops 1219,34941 -static int mfm_probecontroller 1232,35346 -static int mfm_do_init(1259,35855 -static void mfm_do_exit(1337,37527 -static int __devinit mfm_probe(1352,37810 -static void __devexit mfm_remove(1365,38117 -static const struct ecard_id mfm_cids[1371,38270 -static struct ecard_driver mfm_driver 1376,38372 -static int __init mfm_init 1391,38736 -static void __exit mfm_exit(1406,39064 -module_init(1414,39204 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/block/fd1772dma.S,630 -fdc1772_fiqdata:fdc1772_fiqdata8,95 -fdc1772_bytestogo:fdc1772_bytestogo11,170 -fdc1772_dataaddr:fdc1772_dataaddr15,262 -fdc1772_fdc_int_done:fdc1772_fdc_int_done19,324 -fdc1772_comendstatus:fdc1772_comendstatus22,387 -fdc1772_comendhandler:fdc1772_comendhandler27,487 -fdc1772_dma_read:fdc1772_dma_read41,881 -fdc1772_dma_read_notours:fdc1772_dma_read_notours54,1459 -fdc1772_dma_read_end:fdc1772_dma_read_end59,1637 -fdc1772_dma_write:fdc1772_dma_write62,1690 -fdc1772_dma_write_notours:fdc1772_dma_write_notours75,2205 -fdc1772_dma_write_end:fdc1772_dma_write_end81,2386 -fdc1772_setupdma:fdc1772_setupdma89,2549 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/block/fd1772.c,4151 -#define FD_MAX_UNITS 162,7316 -#define FD_MAX_UNITS 166,7381 -#define TRACKBUFFER 167,7404 -#define DPRINT(DPRINT171,7458 -#define DPRINT(DPRINT173,7491 -static struct request_queue *floppy_queue;176,7517 -#define MAJOR_NR 178,7561 -#define FLOPPY_DMA 179,7591 -#define DEVICE_NAME 180,7612 -#define QUEUE 181,7641 -#define CURRENT 182,7670 -static struct archy_disk_type archy_disk_type185,7739 -} disk_type[190,7919 -#define NUM_DISK_TYPES 200,8321 -#define MAX_DISK_SIZE 206,8495 -static struct gendisk *disks[208,8522 -static struct archy_floppy_struct archy_floppy_struct211,8598 -} unit[222,9000 -#define FDC1772BASE 230,9317 -#define FDC1772_READ(FDC1772_READ232,9365 -void FDC1772_WRITE(240,9795 -#define FD1772_MAX_SECTORS 252,10124 -unsigned char *DMABuffer;254,10155 -#define PhysDMABuffer 257,10325 -unsigned char *TrackBuffer;260,10380 -#define PhysTrackBuffer 261,10437 -static int BufferDrive,262,10496 -static int BufferDrive, BufferSide,262,10496 -static int BufferDrive, BufferSide, BufferTrack;262,10496 -static int read_track;263,10545 -#define SECTOR_BUFFER(SECTOR_BUFFER265,10620 -#define IS_BUFFERED(IS_BUFFERED266,10678 -static int SelectedDrive 275,10958 -static int ReqCmd,276,10988 -static int ReqCmd, ReqBlock;276,10988 -static int ReqSide,277,11017 -static int ReqSide, ReqTrack,277,11017 -static int ReqSide, ReqTrack, ReqSector,277,11017 -static int ReqSide, ReqTrack, ReqSector, ReqCnt;277,11017 -static int HeadSettleFlag 278,11066 -static unsigned char *ReqData,279,11097 -static unsigned char *ReqData, *ReqBuffer;279,11097 -static int MotorOn 280,11140 -static volatile int fdc_busy 283,11220 -static unsigned long changed_floppies 288,11332 -#define CHECK_CHANGE_DELAY 289,11395 -#define FD_MOTOR_OFF_DELAY 292,11505 -#define FD_MOTOR_OFF_MAXTRY 293,11540 -#define FLOPPY_TIMEOUT 295,11577 -#define RECALIBRATE_ERRORS 296,11608 -#define MAX_ERRORS 298,11706 -#define START_MOTOR_OFF_TIMER(START_MOTOR_OFF_TIMER301,11791 -#define START_CHECK_CHANGE_TIMER(START_CHECK_CHANGE_TIMER308,11971 -#define START_TIMEOUT(START_TIMEOUT313,12095 -#define STOP_TIMEOUT(STOP_TIMEOUT318,12208 -#define ENABLE_IRQ(ENABLE_IRQ323,12300 -#define DISABLE_IRQ(DISABLE_IRQ325,12349 -static int Probing 335,12642 -static int NeedSeek 340,12763 -static struct timer_list motor_off_timer 379,14181 -static struct timer_list readtrack_timer 383,14290 -static struct timer_list timeout_timer 387,14387 -static struct timer_list fd_timer 390,14469 -int stdma_islocked(394,14590 -static void fd_select_side(401,14663 -static void fd_select_drive(410,14828 -static void fd_deselect(433,15327 -static void fd_motor_off_timer(450,15762 -static void check_change(502,17058 -static inline void set_head_settle_flag(541,17948 -static inline int get_head_settle_flag(546,18034 -static inline void copy_buffer(558,18184 -static void floppy_irqconsequencehandler(569,18406 -static void fd_error(595,19057 -#define SET_IRQ_HANDLER(SET_IRQ_HANDLER615,19520 -static void do_fd_action(627,20060 -static void fd_calibrate(676,21143 -static void fd_calibrate_done(695,21581 -static void fd_seek(715,21988 -static void fd_seek_done(743,22664 -static int MultReadInProgress 769,23253 -static void fd_rwsec(773,23297 -static void fd_readtrack_check(874,26285 -static void fd_rwsec_done(926,27705 -static void fd_times_out(1044,30767 -static void finish_fdc(1066,31463 -static void finish_fdc_done(1089,32020 -static int fd_ref[1121,32782 -static int fd_device[1122,32804 -static void floppy_off(1125,32852 -static int check_floppy_change(1141,33490 -static int floppy_revalidate(1163,34010 -static void setup_req_params(1182,34487 -static void redo_fd_request(1201,34957 -static void fd1772_checkint(1265,36331 -static void do_fd_request(1278,36646 -static int invalidate_drive(1300,36999 -static int fd_ioctl(1312,37265 -static void fd_probe(1332,37636 -static int fd_test_drive_present(1356,38411 -static void config_types(1417,40488 -static int floppy_open(1456,41542 -static int floppy_release(1491,42195 -static struct block_device_operations floppy_fops 1505,42455 -static struct kobject *floppy_find(1514,42662 -int fd1772_init(1523,42880 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/char/defkeymap-l7200.c,2252 -#define KTn 17,340 -#define KTf 19,377 -#define KTs 21,447 -#define KIGNORE 22,464 -#define KENTER 23,504 -#define KREGS 24,542 -#define KMEM 25,578 -#define KSTAT 26,612 -#define KINTR 27,649 -#define Ksl 28,685 -#define KCAPSLK 29,718 -#define KNUMLK 30,761 -#define KSCRLLK 31,802 -#define KSCRLFOR 32,847 -#define KSCRLBAK 33,895 -#define KREBOOT 34,940 -#define KCAPSON 35,980 -#define KCOMPOSE 36,1021 -#define KSAK 37,1062 -#define CONS_DEC 38,1096 -#define CONS_INC 39,1141 -#define KFLOPPY 40,1187 -#define KTp 42,1301 -#define KPAD_0 43,1318 -#define KPAD_1 44,1345 -#define KPAD_2 45,1373 -#define KPAD_3 46,1400 -#define KPAD_4 47,1427 -#define KPAD_5 48,1454 -#define KPAD_6 49,1481 -#define KPAD_7 50,1508 -#define KPAD_8 51,1535 -#define KPAD_9 52,1562 -#define KPAD_PL 53,1589 -#define KPAD_MI 54,1617 -#define KPAD_ML 55,1645 -#define KPAD_DV 56,1673 -#define KPAD_EN 57,1701 -#define KPAD_DT 58,1729 -#define KPAD_HS 59,1757 -#define KCn 61,1809 -#define KTc 63,1839 -#define Kcd 64,1856 -#define Kcl 65,1888 -#define Kcr 66,1920 -#define Kcu 67,1953 -#define KMd 69,2013 -#define KSHIFT 70,2030 -#define KALTGR 71,2057 -#define KCTRL 72,2084 -#define KALT 73,2110 -#define KMt 75,2146 -#define KAs 76,2163 -#define KPADA_0 77,2180 -#define KPADA_1 78,2208 -#define KPADA_2 79,2236 -#define KPADA_3 80,2264 -#define KPADA_4 81,2292 -#define KPADA_5 82,2320 -#define KPADA_6 83,2348 -#define KPADA_7 84,2376 -#define KPADA_8 85,2404 -#define KPADA_9 86,2432 -#define KPADB_0 87,2460 -#define KPADB_1 88,2488 -#define KPADB_2 89,2516 -#define KPADB_3 90,2544 -#define KPADB_4 91,2572 -#define KPADB_5 92,2600 -#define KPADB_6 93,2628 -#define KPADB_7 94,2656 -#define KPADB_8 95,2684 -#define KPADB_9 96,2712 -#define KLk 98,2759 -#define KTl 100,2790 -u_short plain_map[125,3690 -u_short shift_map[145,4768 -u_short altgr_map[165,5847 -u_short ctrl_map[185,7369 -u_short shift_ctrl_map[205,8446 -u_short alt_map[225,9973 -u_short ctrl_alt_map[245,11493 -ushort *key_maps[265,13018 -unsigned int keymap_count 272,13165 -char func_buf[280,13410 -char *funcbufptr 311,14255 -int funcbufsize 312,14284 -int funcbufleft 313,14320 -char *func_table[315,14368 -struct kbdiacr accent_table[349,14874 -unsigned int accent_table_size 386,16327 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/char/i2c.c,898 -static struct i2c_client *rtc_client;34,795 -static const unsigned char days_in_mon[35,833 -#define CMOS_CHECKSUM 38,934 -#define CMOS_YEAR 44,1040 -static inline int rtc_command(46,1070 -static int rtc_update_year(60,1364 -static void get_rtc_time(91,1981 -static int set_rtc_time(132,2969 -static int k_set_rtc_time(165,3706 -static int rtc_ioctl(194,4536 -static struct file_operations rtc_fops 240,5707 -static struct miscdevice rtc_dev 244,5775 -#define FORCE_ONES 252,5902 -#define SCL 253,5926 -#define SDA 254,5944 -static u_int force_ones;262,6184 -static void ioc_setscl(264,6210 -static void ioc_setsda(279,6466 -static int ioc_getscl(294,6722 -static int ioc_getsda(299,6806 -static struct i2c_algo_bit_data ioc_data 304,6890 -static int ioc_client_reg(314,7083 -static int ioc_client_unreg(335,7535 -static struct i2c_adapter ioc_ops 345,7678 -static int __init i2c_ioc_init(352,7845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/char/pcf8583.c,564 -static struct i2c_driver pcf8583_driver;22,515 -static unsigned short ignore[24,557 -static unsigned short normal_addr[25,610 -static struct i2c_client_address_data addr_data 27,675 -#define DAT(DAT37,901 -pcf8583_attach(40,965 -pcf8583_probe(66,1481 -pcf8583_detach(72,1590 -pcf8583_get_datetime(80,1703 -pcf8583_set_datetime(113,2397 -pcf8583_get_ctrl(142,3002 -pcf8583_set_ctrl(149,3116 -pcf8583_read_mem(161,3323 -pcf8583_write_mem(179,3687 -pcf8583_command(197,4038 -static struct i2c_driver pcf8583_driver 226,4606 -static __init int pcf8583_init(235,4827 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/acorn/char/pcf8583.h,439 -struct rtc_tm rtc_tm10,275 -struct mem mem21,465 -#define RTC_GETDATETIME 27,541 -#define RTC_SETTIME 28,567 -#define RTC_SETDATETIME 29,589 -#define RTC_GETCTRL 30,615 -#define RTC_SETCTRL 31,637 -#define MEM_READ 32,659 -#define MEM_WRITE 33,678 -#define CTRL_STOP 35,699 -#define CTRL_HOLD 36,722 -#define CTRL_32KHZ 37,745 -#define CTRL_MASK 38,769 -#define CTRL_ALARMEN 39,792 -#define CTRL_ALARM 40,818 -#define CTRL_TIMER 41,842 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/uPD98402.h,2505 -#define DRIVERS_ATM_uPD98402_H7,149 -#define uPD98402_CMR 13,202 -#define uPD98402_MDR 14,252 -#define uPD98402_PICR 15,299 -#define uPD98402_PIMR 16,362 -#define uPD98402_ACR 17,424 -#define uPD98402_ACMR 18,478 -#define uPD98402_PCR 19,538 -#define uPD98402_PCMR 20,598 -#define uPD98402_IACM 21,664 -#define uPD98402_B1ECT 22,733 -#define uPD98402_B2ECT 23,792 -#define uPD98402_B3ECT 24,851 -#define uPD98402_PFECB 25,909 -#define uPD98402_LECCT 26,969 -#define uPD98402_HECCT 27,1029 -#define uPD98402_FJCT 28,1089 -#define uPD98402_PCOCR 29,1157 -#define uPD98402_PCOMR 30,1225 -#define uPD98402_C11T 31,1292 -#define uPD98402_C12T 32,1345 -#define uPD98402_C13T 33,1398 -#define uPD98402_F1T 34,1451 -#define uPD98402_K2T 35,1502 -#define uPD98402_C2T 36,1553 -#define uPD98402_F2T 37,1604 -#define uPD98402_C11R 38,1655 -#define uPD98402_C12R 39,1708 -#define uPD98402_C13R 40,1761 -#define uPD98402_F1R 41,1814 -#define uPD98402_K2R 42,1865 -#define uPD98402_C2R 43,1916 -#define uPD98402_F2R 44,1967 -#define uPD98402_CMR_PFRF 47,2040 -#define uPD98402_CMR_LFRF 48,2092 -#define uPD98402_CMR_PAIS 49,2144 -#define uPD98402_CMR_LAIS 50,2195 -#define uPD98402_MDR_ALP 53,2268 -#define uPD98402_MDR_TPLP 54,2323 -#define uPD98402_MDR_RPLP 55,2382 -#define uPD98402_MDR_SS0 56,2444 -#define uPD98402_MDR_SS1 57,2484 -#define uPD98402_MDR_SS_MASK 58,2524 -#define uPD98402_MDR_SS_SHIFT 59,2569 -#define uPD98402_MDR_HEC 60,2613 -#define uPD98402_MDR_FSR 61,2680 -#define uPD98402_MDR_CSR 62,2740 -#define uPD98402_INT_PFM 65,2839 -#define uPD98402_INT_ALM 66,2907 -#define uPD98402_INT_RFO 67,2954 -#define uPD98402_INT_PCO 68,3012 -#define uPD98402_INT_OTD 69,3077 -#define uPD98402_INT_LOS 70,3130 -#define uPD98402_INT_LOF 71,3181 -#define uPD98402_ALM_PFRF 74,3270 -#define uPD98402_ALM_LFRF 75,3317 -#define uPD98402_ALM_PAIS 76,3364 -#define uPD98402_ALM_LAIS 77,3410 -#define uPD98402_ALM_LOD 78,3456 -#define uPD98402_ALM_LOP 79,3512 -#define uPD98402_ALM_OOF 80,3564 -#define uPD98402_PFM_PFEB 83,3652 -#define uPD98402_PFM_LFEB 84,3699 -#define uPD98402_PFM_B3E 85,3746 -#define uPD98402_PFM_B2E 86,3791 -#define uPD98402_PFM_B1E 87,3836 -#define uPD98402_PFM_FJ 88,3881 -#define uPD98402_IACM_PFRF 91,3964 -#define uPD98402_IACM_LFRF 92,4027 -#define uPD98402_PCO_B1EC 95,4133 -#define uPD98402_PCO_B2EC 96,4185 -#define uPD98402_PCO_B3EC 97,4237 -#define uPD98402_PCO_PFBC 98,4289 -#define uPD98402_PCO_LFBC 99,4341 -#define uPD98402_PCO_HECC 100,4393 -#define uPD98402_PCO_FJC 101,4445 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/idt77252.h,13674 -#define _IDT77252_H 34,1584 -#define VPCI2VC(VPCI2VC47,2091 -#define DBG_RAW_CELL 56,2588 -#define DBG_TINY 57,2620 -#define DBG_GENERAL 58,2648 -#define DBG_XGENERAL 59,2683 -#define DBG_INIT 60,2718 -#define DBG_DEINIT 61,2753 -#define DBG_INTERRUPT 62,2788 -#define DBG_OPEN_CONN 63,2823 -#define DBG_CLOSE_CONN 64,2858 -#define DBG_RX_DATA 65,2893 -#define DBG_TX_DATA 66,2928 -#define CPRINTK(CPRINTK70,2998 -#define OPRINTK(OPRINTK71,3083 -#define IPRINTK(IPRINTK72,3168 -#define INTPRINTK(INTPRINTK73,3253 -#define DIPRINTK(DIPRINTK74,3338 -#define TXPRINTK(TXPRINTK75,3423 -#define RXPRINTK(RXPRINTK76,3508 -#define XPRINTK(XPRINTK77,3593 -#define DPRINTK(DPRINTK78,3678 -#define NPRINTK(NPRINTK79,3763 -#define RPRINTK(RPRINTK80,3846 -#define CPRINTK(CPRINTK84,3939 -#define OPRINTK(OPRINTK85,3980 -#define IPRINTK(IPRINTK86,4021 -#define INTPRINTK(INTPRINTK87,4062 -#define DIPRINTK(DIPRINTK88,4105 -#define TXPRINTK(TXPRINTK89,4147 -#define RXPRINTK(RXPRINTK90,4189 -#define XPRINTK(XPRINTK91,4231 -#define DPRINTK(DPRINTK92,4272 -#define NPRINTK(NPRINTK93,4313 -#define RPRINTK(RPRINTK94,4354 -#define SCHED_UBR0 98,4404 -#define SCHED_UBR 99,4426 -#define SCHED_VBR 100,4447 -#define SCHED_ABR 101,4468 -#define SCHED_CBR 102,4489 -#define SCQFULL_TIMEOUT 104,4511 -#define SAR_FB_SIZE_0 111,4940 -#define SAR_FB_SIZE_1 112,4976 -#define SAR_FB_SIZE_2 113,5012 -#define SAR_FB_SIZE_3 114,5048 -#define SAR_FBQ0_LOW 116,5086 -#define SAR_FBQ0_HIGH 117,5110 -#define SAR_FBQ1_LOW 118,5135 -#define SAR_FBQ1_HIGH 119,5159 -#define SAR_FBQ2_LOW 120,5184 -#define SAR_FBQ2_HIGH 121,5208 -#define SAR_FBQ3_LOW 122,5233 -#define SAR_FBQ3_HIGH 123,5257 -#define SAR_TST_RESERVED 126,5289 -#define SAR_TST_RESERVED 128,5362 -#define TCT_CBR 131,5436 -#define TCT_UBR 132,5465 -#define TCT_VBR 133,5494 -#define TCT_ABR 134,5523 -#define TCT_TYPE 135,5552 -#define TCT_RR 137,5582 -#define TCT_LMCR 138,5610 -#define TCT_SCD_MASK 139,5639 -#define TCT_TSIF 141,5673 -#define TCT_HALT 142,5702 -#define TCT_IDLE 143,5731 -#define TCT_FLAG_UBR 144,5760 -struct scqescqe152,6195 -#define SCQ_ENTRIES 160,6269 -#define SCQ_SIZE 161,6292 -#define SCQ_MASK 162,6345 -struct scq_infoscq_info164,6378 -struct rx_pool rx_pool179,6659 -struct aal1 aal1186,6772 -struct rate_estimator rate_estimator193,6884 -struct vc_map vc_map204,7063 -#define VCF_TX 207,7124 -#define VCF_RX 208,7142 -#define VCF_IDLE 209,7160 -#define VCF_RSV 210,7179 -struct rct_entryrct_entry235,7959 -#define SAR_RSQE_VALID 249,8455 -#define SAR_RSQE_IDLE 250,8494 -#define SAR_RSQE_BUF_MASK 251,8533 -#define SAR_RSQE_BUF_ASGN 252,8572 -#define SAR_RSQE_NZGFC 253,8611 -#define SAR_RSQE_EPDU 254,8650 -#define SAR_RSQE_BUF_CONT 255,8689 -#define SAR_RSQE_EFCIE 256,8728 -#define SAR_RSQE_CLP 257,8767 -#define SAR_RSQE_CRC 258,8806 -#define SAR_RSQE_CELLCNT 259,8845 -#define RSQSIZE 262,8886 -#define RSQ_NUM_ENTRIES 263,8918 -#define RSQ_ALIGNMENT 264,8960 -struct rsq_entry rsq_entry266,8993 -struct rsq_info rsq_info273,9076 -} rsq_info;278,9189 -#define SAR_TSQE_INVALID 287,9604 -#define SAR_TSQE_TIMESTAMP 288,9648 -#define SAR_TSQE_TYPE 289,9692 -#define SAR_TSQE_TYPE_TIMER 290,9727 -#define SAR_TSQE_TYPE_TSR 291,9771 -#define SAR_TSQE_TYPE_IDLE 292,9815 -#define SAR_TSQE_TYPE_TBD_COMP 293,9859 -#define SAR_TSQE_TAG(SAR_TSQE_TAG295,9904 -#define TSQSIZE 297,9956 -#define TSQ_NUM_ENTRIES 298,9988 -#define TSQ_ALIGNMENT 299,10020 -struct tsq_entrytsq_entry301,10053 -struct tsq_infotsq_info307,10106 -struct tst_infotst_info315,10223 -#define TSTE_MASK 321,10279 -#define TSTE_OPC_MASK 323,10310 -#define TSTE_OPC_NULL 324,10344 -#define TSTE_OPC_CBR 325,10378 -#define TSTE_OPC_VAR 326,10411 -#define TSTE_OPC_JMP 327,10444 -#define TSTE_PUSH_IDLE 329,10478 -#define TSTE_PUSH_ACTIVE 330,10513 -#define TST_SWITCH_DONE 332,10550 -#define TST_SWITCH_PENDING 333,10577 -#define TST_SWITCH_WAIT 334,10606 -#define FBQ_SHIFT 336,10634 -#define FBQ_SIZE 337,10655 -#define FBQ_MASK 338,10690 -struct sb_poolsb_pool340,10724 -#define POOL_HANDLE(POOL_HANDLE346,10800 -#define POOL_QUEUE(POOL_QUEUE347,10866 -#define POOL_INDEX(POOL_INDEX348,10917 -struct idt77252_devidt77252_dev350,10966 -#define IDT77252_BIT_INIT 421,13418 -#define IDT77252_BIT_INTERRUPT 422,13447 -#define ATM_CELL_PAYLOAD 425,13483 -#define FREEBUF_ALIGNMENT 427,13520 -#define ALIGN_ADDRESS(ALIGN_ADDRESS434,13957 -#define SAR_REG_DR0 444,14480 -#define SAR_REG_DR1 445,14523 -#define SAR_REG_DR2 446,14566 -#define SAR_REG_DR3 447,14609 -#define SAR_REG_CMD 448,14652 -#define SAR_REG_CFG 449,14695 -#define SAR_REG_STAT 450,14738 -#define SAR_REG_RSQB 451,14782 -#define SAR_REG_RSQT 452,14826 -#define SAR_REG_RSQH 453,14870 -#define SAR_REG_CDC 454,14914 -#define SAR_REG_VPEC 455,14957 -#define SAR_REG_ICC 456,15001 -#define SAR_REG_RAWCT 457,15044 -#define SAR_REG_TMR 458,15089 -#define SAR_REG_TSTB 459,15132 -#define SAR_REG_TSQB 460,15176 -#define SAR_REG_TSQT 461,15220 -#define SAR_REG_TSQH 462,15264 -#define SAR_REG_GP 463,15308 -#define SAR_REG_VPM 464,15350 -#define SAR_REG_RXFD 465,15393 -#define SAR_REG_RXFT 466,15437 -#define SAR_REG_RXFH 467,15481 -#define SAR_REG_RAWHND 468,15525 -#define SAR_REG_RXSTAT 469,15571 -#define SAR_REG_ABRSTD 470,15617 -#define SAR_REG_ABRRQ 471,15663 -#define SAR_REG_VBRRQ 472,15708 -#define SAR_REG_RTBL 473,15753 -#define SAR_REG_MDFCT 474,15797 -#define SAR_REG_TXSTAT 475,15842 -#define SAR_REG_TCMDQ 476,15888 -#define SAR_REG_IRCP 477,15933 -#define SAR_REG_FBQP0 478,15977 -#define SAR_REG_FBQP1 479,16022 -#define SAR_REG_FBQP2 480,16067 -#define SAR_REG_FBQP3 481,16112 -#define SAR_REG_FBQS0 482,16157 -#define SAR_REG_FBQS1 483,16202 -#define SAR_REG_FBQS2 484,16247 -#define SAR_REG_FBQS3 485,16292 -#define SAR_REG_FBQWP0 486,16337 -#define SAR_REG_FBQWP1 487,16383 -#define SAR_REG_FBQWP2 488,16429 -#define SAR_REG_FBQWP3 489,16475 -#define SAR_REG_NOW 490,16521 -#define SAR_CMD_NO_OPERATION 499,16967 -#define SAR_CMD_OPENCLOSE_CONNECTION 500,17015 -#define SAR_CMD_WRITE_SRAM 501,17063 -#define SAR_CMD_READ_SRAM 502,17111 -#define SAR_CMD_READ_UTILITY 503,17159 -#define SAR_CMD_WRITE_UTILITY 504,17207 -#define SAR_CMD_OPEN_CONNECTION 506,17256 -#define SAR_CMD_CLOSE_CONNECTION 507,17336 -#define SAR_CFG_SWRST 516,17805 -#define SAR_CFG_LOOP 517,17885 -#define SAR_CFG_RXPTH 518,17965 -#define SAR_CFG_IDLE_CLP 519,18045 -#define SAR_CFG_TX_FIFO_SIZE_1 520,18125 -#define SAR_CFG_TX_FIFO_SIZE_2 521,18205 -#define SAR_CFG_TX_FIFO_SIZE_4 522,18285 -#define SAR_CFG_TX_FIFO_SIZE_9 523,18365 -#define SAR_CFG_NO_IDLE 524,18445 -#define SAR_CFG_RSVD1 525,18525 -#define SAR_CFG_RXSTQ_SIZE_2k 526,18605 -#define SAR_CFG_RXSTQ_SIZE_4k 527,18685 -#define SAR_CFG_RXSTQ_SIZE_8k 528,18765 -#define SAR_CFG_RXSTQ_SIZE_R 529,18845 -#define SAR_CFG_ICAPT 530,18925 -#define SAR_CFG_IGGFC 531,19005 -#define SAR_CFG_VPVCS_0 532,19085 -#define SAR_CFG_VPVCS_1 533,19165 -#define SAR_CFG_VPVCS_2 534,19245 -#define SAR_CFG_VPVCS_8 535,19325 -#define SAR_CFG_CNTBL_1k 536,19405 -#define SAR_CFG_CNTBL_4k 537,19485 -#define SAR_CFG_CNTBL_16k 538,19565 -#define SAR_CFG_CNTBL_512 539,19645 -#define SAR_CFG_VPECA 540,19725 -#define SAR_CFG_RXINT_NOINT 541,19805 -#define SAR_CFG_RXINT_NODELAY 542,19885 -#define SAR_CFG_RXINT_256US 543,19965 -#define SAR_CFG_RXINT_505US 544,20045 -#define SAR_CFG_RXINT_742US 545,20125 -#define SAR_CFG_RAWIE 546,20205 -#define SAR_CFG_RQFIE 547,20285 -#define SAR_CFG_RSVD2 548,20365 -#define SAR_CFG_CACHE 549,20445 -#define SAR_CFG_TMOIE 550,20525 -#define SAR_CFG_FBIE 551,20605 -#define SAR_CFG_TXEN 552,20685 -#define SAR_CFG_TXINT 553,20765 -#define SAR_CFG_TXUIE 554,20845 -#define SAR_CFG_UMODE 555,20925 -#define SAR_CFG_TXSFI 556,21005 -#define SAR_CFG_PHYIE 557,21085 -#define SAR_CFG_TX_FIFO_SIZE_MASK 559,21166 -#define SAR_CFG_RXSTQSIZE_MASK 560,21246 -#define SAR_CFG_CNTBL_MASK 561,21288 -#define SAR_CFG_RXINT_MASK 562,21330 -#define SAR_STAT_FRAC_3 571,21775 -#define SAR_STAT_FRAC_2 572,21852 -#define SAR_STAT_FRAC_1 573,21929 -#define SAR_STAT_FRAC_0 574,22006 -#define SAR_STAT_TSIF 575,22083 -#define SAR_STAT_TXICP 576,22160 -#define SAR_STAT_RSVD1 577,22237 -#define SAR_STAT_TSQF 578,22314 -#define SAR_STAT_TMROF 579,22391 -#define SAR_STAT_PHYI 580,22468 -#define SAR_STAT_CMDBZ 581,22545 -#define SAR_STAT_FBQ3A 582,22622 -#define SAR_STAT_FBQ2A 583,22699 -#define SAR_STAT_RSQF 584,22776 -#define SAR_STAT_EPDU 585,22853 -#define SAR_STAT_RAWCF 586,22930 -#define SAR_STAT_FBQ1A 587,23008 -#define SAR_STAT_FBQ0A 588,23085 -#define SAR_STAT_RSQAF 589,23162 -#define SAR_STAT_RSVD2 590,23241 -#define SAR_GP_TXNCC_MASK 599,23721 -#define SAR_GP_EEDI 600,23800 -#define SAR_GP_BIGE 601,23879 -#define SAR_GP_RM_NORMAL 602,23958 -#define SAR_GP_RM_TO_RCQ 603,24037 -#define SAR_GP_RM_RSVD 604,24116 -#define SAR_GP_RM_INHIBIT 605,24195 -#define SAR_GP_PHY_RESET 606,24274 -#define SAR_GP_EESCLK 607,24353 -#define SAR_GP_EECS 608,24414 -#define SAR_GP_EEDO 609,24479 -#define SAR_SRAM_SCD_SIZE 618,24944 -#define SAR_SRAM_TCT_SIZE 619,24980 -#define SAR_SRAM_RCT_SIZE 620,25016 -#define SAR_SRAM_TCT_128_BASE 622,25053 -#define SAR_SRAM_TCT_128_TOP 623,25094 -#define SAR_SRAM_RCT_128_BASE 624,25135 -#define SAR_SRAM_RCT_128_TOP 625,25176 -#define SAR_SRAM_FB0_128_BASE 626,25217 -#define SAR_SRAM_FB0_128_TOP 627,25258 -#define SAR_SRAM_FB1_128_BASE 628,25299 -#define SAR_SRAM_FB1_128_TOP 629,25340 -#define SAR_SRAM_FB2_128_BASE 630,25381 -#define SAR_SRAM_FB2_128_TOP 631,25422 -#define SAR_SRAM_FB3_128_BASE 632,25463 -#define SAR_SRAM_FB3_128_TOP 633,25504 -#define SAR_SRAM_SCD_128_BASE 634,25545 -#define SAR_SRAM_SCD_128_TOP 635,25586 -#define SAR_SRAM_TST1_128_BASE 636,25627 -#define SAR_SRAM_TST1_128_TOP 637,25668 -#define SAR_SRAM_TST2_128_BASE 638,25709 -#define SAR_SRAM_TST2_128_TOP 639,25750 -#define SAR_SRAM_ABRSTD_128_BASE 640,25791 -#define SAR_SRAM_ABRSTD_128_TOP 641,25832 -#define SAR_SRAM_RT_128_BASE 642,25873 -#define SAR_SRAM_RT_128_TOP 643,25914 -#define SAR_SRAM_FIFO_128_BASE 645,25956 -#define SAR_SRAM_FIFO_128_TOP 646,25997 -#define SAR_SRAM_TCT_32_BASE 655,26441 -#define SAR_SRAM_TCT_32_TOP 656,26482 -#define SAR_SRAM_RCT_32_BASE 657,26523 -#define SAR_SRAM_RCT_32_TOP 658,26564 -#define SAR_SRAM_FB0_32_BASE 659,26605 -#define SAR_SRAM_FB0_32_TOP 660,26646 -#define SAR_SRAM_FB1_32_BASE 661,26687 -#define SAR_SRAM_FB1_32_TOP 662,26728 -#define SAR_SRAM_FB2_32_BASE 663,26769 -#define SAR_SRAM_FB2_32_TOP 664,26810 -#define SAR_SRAM_FB3_32_BASE 665,26851 -#define SAR_SRAM_FB3_32_TOP 666,26892 -#define SAR_SRAM_SCD_32_BASE 667,26933 -#define SAR_SRAM_SCD_32_TOP 668,26974 -#define SAR_SRAM_TST1_32_BASE 669,27015 -#define SAR_SRAM_TST1_32_TOP 670,27056 -#define SAR_SRAM_TST2_32_BASE 671,27097 -#define SAR_SRAM_TST2_32_TOP 672,27138 -#define SAR_SRAM_ABRSTD_32_BASE 673,27179 -#define SAR_SRAM_ABRSTD_32_TOP 674,27220 -#define SAR_SRAM_RT_32_BASE 675,27261 -#define SAR_SRAM_RT_32_TOP 676,27302 -#define SAR_SRAM_FIFO_32_BASE 677,27343 -#define SAR_SRAM_FIFO_32_TOP 678,27384 -#define SAR_TSR_TYPE_TSR 687,27828 -#define SAR_TSR_TYPE_TBD 688,27865 -#define SAR_TSR_TSIF 689,27902 -#define SAR_TSR_TAG_MASK 690,27939 -#define SAR_TBD_EPDU 699,28379 -#define SAR_TBD_TSIF 700,28416 -#define SAR_TBD_OAM 701,28453 -#define SAR_TBD_AAL0 702,28490 -#define SAR_TBD_AAL34 703,28527 -#define SAR_TBD_AAL5 704,28564 -#define SAR_TBD_GTSI 705,28601 -#define SAR_TBD_TAG_MASK 706,28638 -#define SAR_TBD_VPI_MASK 708,28676 -#define SAR_TBD_VCI_MASK 709,28713 -#define SAR_TBD_VC_MASK 710,28750 -#define SAR_TBD_VPI_SHIFT 712,28815 -#define SAR_TBD_VCI_SHIFT 713,28844 -#define SAR_RXFD_SIZE_MASK 722,29275 -#define SAR_RXFD_SIZE_512 723,29317 -#define SAR_RXFD_SIZE_1K 724,29397 -#define SAR_RXFD_SIZE_2K 725,29477 -#define SAR_RXFD_SIZE_4K 726,29557 -#define SAR_RXFD_SIZE_8K 727,29637 -#define SAR_RXFD_SIZE_16K 728,29717 -#define SAR_RXFD_SIZE_32K 729,29797 -#define SAR_RXFD_SIZE_64K 730,29877 -#define SAR_RXFD_SIZE_128K 731,29957 -#define SAR_RXFD_SIZE_256K 732,30037 -#define SAR_RXFD_ADDR_MASK 733,30117 -#define SAR_ABRSTD_SIZE_MASK 742,30562 -#define SAR_ABRSTD_SIZE_512 743,30604 -#define SAR_ABRSTD_SIZE_1K 744,30684 -#define SAR_ABRSTD_SIZE_2K 745,30764 -#define SAR_ABRSTD_SIZE_4K 746,30844 -#define SAR_ABRSTD_SIZE_8K 747,30924 -#define SAR_ABRSTD_SIZE_16K 748,31004 -#define SAR_ABRSTD_ADDR_MASK 749,31084 -#define SAR_RCTE_IL_MASK 758,31529 -#define SAR_RCTE_IC_MASK 759,31609 -#define SAR_RCTE_RSVD 760,31689 -#define SAR_RCTE_LCD 761,31769 -#define SAR_RCTE_CI_VC 762,31849 -#define SAR_RCTE_FBP_01 763,31929 -#define SAR_RCTE_FBP_1 764,32009 -#define SAR_RCTE_FBP_2 765,32089 -#define SAR_RCTE_FBP_3 766,32169 -#define SAR_RCTE_NZ_GFC 767,32249 -#define SAR_RCTE_CONNECTOPEN 768,32329 -#define SAR_RCTE_AAL_MASK 769,32409 -#define SAR_RCTE_RAWCELLINTEN 770,32489 -#define SAR_RCTE_RXCONCELLADDR 771,32569 -#define SAR_RCTE_BUFFSTAT_MASK 772,32649 -#define SAR_RCTE_EFCI 773,32729 -#define SAR_RCTE_CLP 774,32809 -#define SAR_RCTE_CRC 775,32889 -#define SAR_RCTE_CELLCNT_MASK 776,32969 -#define SAR_RCTE_AAL0 778,33050 -#define SAR_RCTE_AAL34 779,33130 -#define SAR_RCTE_AAL5 780,33172 -#define SAR_RCTE_RCQ 781,33214 -#define SAR_RCTE_OAM 782,33256 -#define TCMDQ_START 784,33299 -#define TCMDQ_LACR 785,33331 -#define TCMDQ_START_LACR 786,33362 -#define TCMDQ_INIT_ER 787,33398 -#define TCMDQ_HALT 788,33432 -struct idt77252_skb_prv idt77252_skb_prv791,33465 -#define IDT77252_PRV_TBD(IDT77252_PRV_TBD797,33615 -#define IDT77252_PRV_PADDR(IDT77252_PRV_PADDR799,33701 -#define IDT77252_PRV_POOL(IDT77252_PRV_POOL801,33791 -#define PCI_VENDOR_ID_IDT 811,34307 -#define PCI_DEVICE_ID_IDT_IDT77252 815,34407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/zatm.h,790 -#define DRIVER_ATM_ZATM_H7,158 -#define DEV_LABEL 17,336 -#define MAX_AAL5_PDU 19,362 -#define MAX_RX_SIZE_LD 20,431 -#define LOW_MARK 22,497 -#define HIGH_MARK 23,564 -#define OFF_CNG_THRES 24,629 -#define RX_SIZE 26,689 -#define NR_POOLS 27,746 -#define POOL_SIZE 28,803 -#define NR_SHAPERS 29,858 -#define SHAPER_SIZE 30,904 -#define VC_SIZE 31,961 -#define RING_ENTRIES 33,1022 -#define RING_WORDS 34,1088 -#define RING_SIZE 35,1133 -#define NR_MBX 37,1204 -#define MBX_RX_0 38,1243 -#define MBX_RX_1 39,1284 -#define MBX_TX_0 40,1303 -#define MBX_TX_1 41,1322 -struct zatm_vcc zatm_vcc43,1342 -struct zatm_dev zatm_dev58,1932 -#define ZATM_DEV(ZATM_DEV92,3325 -#define ZATM_VCC(ZATM_VCC93,3381 -struct zatm_skb_prv zatm_skb_prv96,3439 -#define ZATM_PRV_DSC(ZATM_PRV_DSC101,3552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/idt77105.c,866 -#define DPRINTK(DPRINTK28,619 -#define DPRINTK(DPRINTK30,690 -struct idt77105_priv idt77105_priv34,731 -static spinlock_t idt77105_priv_lock 42,998 -#define PRIV(PRIV44,1058 -#define PUT(PUT46,1118 -#define GET(GET47,1181 -static struct timer_list stats_timer 53,1349 -static struct timer_list restart_timer 55,1444 -static int start_timer 57,1543 -static struct idt77105_priv *idt77105_all 58,1571 -static u16 get_counter(64,1742 -static void idt77105_stats_timer_func(86,2461 -static void idt77105_restart_timer_func(115,3620 -static int fetch_stats(144,4697 -static int set_loopback(161,5212 -static int idt77105_ioctl(191,5874 -static void idt77105_int(215,6572 -static int idt77105_start(263,8419 -int idt77105_stop(326,10499 -static const struct atmphy_ops idt77105_ops 355,11255 -int idt77105_init(363,11414 -static void __exit idt77105_exit(371,11527 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/ambassador.h,5501 -#define AMBASSADOR_H24,940 -#define DEBUG_AMBASSADOR29,1024 -#define DEV_LABEL 32,1057 -#define PCI_VENDOR_ID_MADGE 35,1135 -#define PCI_DEVICE_ID_MADGE_AMBASSADOR 38,1231 -#define PCI_DEVICE_ID_MADGE_AMBASSADOR_BAD 41,1331 -#define PRINTK(PRINTK46,1411 -#define DBG_ERR 51,1535 -#define DBG_WARN 52,1559 -#define DBG_INFO 53,1583 -#define DBG_INIT 54,1607 -#define DBG_LOAD 55,1631 -#define DBG_VCC 56,1655 -#define DBG_QOS 57,1679 -#define DBG_CMD 58,1703 -#define DBG_TX 59,1727 -#define DBG_RX 60,1751 -#define DBG_SKB 61,1775 -#define DBG_POOL 62,1799 -#define DBG_IRQ 63,1823 -#define DBG_FLOW 64,1847 -#define DBG_REGS 65,1871 -#define DBG_DATA 66,1895 -#define DBG_MASK 67,1919 -#define PRINTDB(PRINTDB71,2098 -#define PRINTDM(PRINTDM73,2217 -#define PRINTDE(PRINTDE75,2311 -#define PRINTD(PRINTD77,2410 -#define PRINTD(PRINTD82,2541 -#define PRINTDB(PRINTDB83,2577 -#define PRINTDM(PRINTDM84,2614 -#define PRINTDE(PRINTDE85,2651 -#define PRINTDD(PRINTDD89,2697 -#define PRINTDDB(PRINTDDB90,2734 -#define PRINTDDM(PRINTDDM91,2768 -#define PRINTDDE(PRINTDDE92,2802 -#define COM_Q_ENTRIES 97,2897 -#define TX_Q_ENTRIES 98,2928 -#define RX_Q_ENTRIES 99,2959 -#define AMB_EXTENT 104,3020 -#define MIN_QUEUE_SIZE 107,3101 -#define NUM_RX_POOLS 110,3195 -#define MIN_RX_BUFFERS 113,3285 -#define MIN_PCI_LATENCY 116,3372 -#define NUM_VPI_BITS 119,3449 -#define NUM_VCI_BITS 120,3478 -#define NUM_VCS 121,3507 -#define RX_ERR 124,3581 -#define CRC_ERR 125,3649 -#define LEN_ERR 126,3691 -#define ABORT_ERR 127,3735 -#define UNUSED_ERR 128,3799 -#define SRB_OPEN_VC 132,3873 -#define SRB_CLOSE_VC 148,4213 -#define SRB_GET_BIA 151,4272 -#define SRB_GET_SUNI_STATS 156,4378 -#define SRB_SET_BITS_8 159,4454 -#define SRB_SET_BITS_16 160,4480 -#define SRB_SET_BITS_32 161,4507 -#define SRB_CLEAR_BITS_8 162,4534 -#define SRB_CLEAR_BITS_16 163,4561 -#define SRB_CLEAR_BITS_32 164,4589 -#define SRB_SET_8 168,4687 -#define SRB_SET_16 169,4709 -#define SRB_SET_32 170,4732 -#define SRB_GET_32 174,4825 -#define SRB_GET_VERSION 179,4942 -#define SRB_FLUSH_BUFFER_Q 184,5063 -#define SRB_GET_DMA_SPEEDS 188,5217 -#define SRB_MODIFY_VC_RATE 193,5359 -#define SRB_MODIFY_VC_FLAGS 197,5481 -#define SRB_RATE_SHIFT 212,5772 -#define SRB_POOL_SHIFT 213,5807 -#define SRB_FLAGS_SHIFT 214,5859 -#define SRB_STOP_TASKING 216,5895 -#define SRB_START_TASKING 217,5923 -#define SRB_SHUT_DOWN 218,5952 -#define MAX_SRB 219,5978 -#define SRB_COMPLETE 221,6000 -#define TX_FRAME 223,6034 -#define NUM_OF_SRB 226,6130 -#define MAX_RATE_BITS 229,6195 -#define TX_UBR 231,6220 -#define TX_UBR_CAPPED 232,6251 -#define TX_ABR 233,6282 -#define TX_FRAME_NOTCAP 234,6313 -#define TX_FRAME_CAPPED 235,6344 -#define FP_155_RATE 237,6376 -#define FP_25_RATE 238,6403 -#define VERSION_NUMBER 253,7071 -#define DMA_VALID 256,7177 -#define FLASH_BASE 258,7231 -#define FLASH_SIZE 259,7261 -#define BIA_BASE 260,7304 -#define BIA_ADDRESS 261,7366 -#define PLX_BASE 262,7407 - host_memory_test 265,7451 - read_adapter_memory,266,7475 - write_adapter_memory,267,7498 - adapter_start,268,7522 - get_version_number,269,7539 - interrupt_host,270,7561 - flash_erase_sector,271,7579 - adap_download_block 272,7601 - adap_download_block = 0x20,272,7601 - adap_erase_flash,273,7631 - adap_run_in_iram,274,7651 - adap_end_download275,7671 -} loader_command;loader_command276,7691 -#define BAD_COMMAND 278,7710 -#define COMMAND_IN_PROGRESS 279,7755 -#define COMMAND_PASSED_TEST 280,7797 -#define COMMAND_FAILED_TEST 281,7839 -#define COMMAND_READ_DATA_OK 282,7881 -#define COMMAND_READ_BAD_ADDRESS 283,7923 -#define COMMAND_WRITE_DATA_OK 284,7965 -#define COMMAND_WRITE_BAD_ADDRESS 285,8007 -#define COMMAND_WRITE_FLASH_FAILURE 286,8049 -#define COMMAND_COMPLETE 287,8091 -#define COMMAND_FLASH_ERASE_FAILURE 288,8133 -#define COMMAND_WRITE_BAD_DATA 289,8172 -#define GPINT_TST_FAILURE 293,8255 -#define SUNI_DATA_PATTERN_FAILURE 294,8312 -#define SUNI_DATA_BITS_FAILURE 295,8363 -#define SUNI_UTOPIA_FAILURE 296,8414 -#define SUNI_FIFO_FAILURE 297,8465 -#define SRAM_FAILURE 298,8516 -#define SELF_TEST_FAILURE 299,8567 -#define UNUSED_LOADER_MAILBOXES 310,8977 -} amb_mem;amb_mem332,9396 -#define AMB_RESET_BITS 335,9484 -#define AMB_INTERRUPT_BITS 336,9521 -#define AMB_DOORBELL_BITS 337,9559 -#define MAX_COMMAND_DATA 341,9621 -#define MAX_TRANSFER_DATA 342,9649 -} transfer_block;transfer_block348,9755 -} loader_block;loader_block360,9949 -} command;command409,10660 -} tx_frag;tx_frag422,11010 -} tx_frag_end;tx_frag_end437,11294 -} tx_simple;tx_simple443,11397 -} tx_descr;tx_descr449,11480 -} tx_in;tx_in458,11633 -} tx_out;tx_out464,11713 -} rx_out;rx_out478,12031 -} rx_in;rx_in485,12124 -} adap_talk_block;adap_talk_block519,13207 -} suni_stats;suni_stats535,13543 - dead538,13573 -} amb_flags;amb_flags539,13580 -#define NEXTQ(NEXTQ541,13594 -} amb_cq_ptrs;amb_cq_ptrs549,13773 -} amb_cq;amb_cq558,13968 -} amb_txq;amb_txq576,14290 -} amb_rxq;amb_rxq596,14672 -} amb_stats;amb_stats608,14896 -} amb_tx_info;amb_tx_info615,15045 -} amb_rx_info;amb_rx_info619,15103 -} amb_vcc;amb_vcc626,15254 -struct amb_dev amb_dev628,15266 -typedef struct amb_dev amb_dev;amb_dev655,15801 -#define AMB_DEV(AMB_DEV657,15834 -#define AMB_VCC(AMB_VCC658,15893 -} region;region665,16026 -static region ucode_regions[667,16037 -static u32 ucode_data[668,16068 -static u32 ucode_start;669,16093 - round_up,674,16154 - round_down,675,16166 - round_nearest676,16180 -} rounding;rounding677,16196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/he.c,3784 -#define USE_TASKLET81,2462 -#define USE_RBPS84,2564 -#define USE_TPD_POOL87,2695 -typedef void irqreturn_t;irqreturn_t93,2822 -#define IRQ_NONE94,2848 -#define IRQ_HANDLED95,2865 -#define IRQ_RETVAL(IRQ_RETVAL96,2885 -#define __devexit_p(__devexit_p100,2962 -#define MODULE_LICENSE(MODULE_LICENSE104,3025 -#define pci_set_drvdata(pci_set_drvdata108,3106 -#define pci_get_drvdata(pci_get_drvdata109,3177 -#define hprintk(hprintk118,3304 -#define HPRINTK(HPRINTK122,3423 -#define HPRINTK(HPRINTK124,3523 -static char *version 130,3616 -struct he_dev *he_devs 150,4425 -static short disable64 151,4456 -static short nvpibits 152,4485 -static short nvcibits 153,4513 -static short rx_skb_reserve 154,4541 -static short irq_coalesce 155,4575 -static short sdh 156,4606 -static struct atmdev_ops he_ops 158,4629 -#define he_writel(he_writel170,4847 -#define he_readl(he_readl171,4941 -he_writel_internal(176,5068 -#define he_writel_rcm(he_writel_rcm185,5388 -#define he_writel_tcm(he_writel_tcm188,5482 -#define he_writel_mbox(he_writel_mbox191,5576 -he_readl_internal(195,5688 -#define he_readl_rcm(he_readl_rcm202,5923 -#define he_readl_tcm(he_readl_tcm205,6001 -#define he_readl_mbox(he_readl_mbox208,6079 -#define he_mkcid(he_mkcid214,6192 -#define he_writel_tsr0(he_writel_tsr0218,6322 -#define he_readl_tsr0(he_readl_tsr0220,6418 -#define he_writel_tsr1(he_writel_tsr1223,6503 -#define he_writel_tsr2(he_writel_tsr2226,6600 -#define he_writel_tsr3(he_writel_tsr3229,6697 -#define he_writel_tsr4(he_writel_tsr4232,6794 -#define he_writel_tsr4_upper(he_writel_tsr4_upper243,7158 -#define he_readl_tsr4(he_readl_tsr4250,7378 -#define he_writel_tsr5(he_writel_tsr5253,7463 -#define he_writel_tsr6(he_writel_tsr6256,7560 -#define he_writel_tsr7(he_writel_tsr7259,7657 -#define he_writel_tsr8(he_writel_tsr8263,7755 -#define he_writel_tsr9(he_writel_tsr9266,7852 -#define he_writel_tsr10(he_writel_tsr10269,7949 -#define he_writel_tsr11(he_writel_tsr11272,8047 -#define he_writel_tsr12(he_writel_tsr12276,8146 -#define he_writel_tsr13(he_writel_tsr13279,8244 -#define he_writel_tsr14(he_writel_tsr14283,8343 -#define he_writel_tsr14_upper(he_writel_tsr14_upper286,8430 -#define he_writel_rsr0(he_writel_rsr0295,8692 -#define he_readl_rsr0(he_readl_rsr0297,8784 -#define he_writel_rsr1(he_writel_rsr1300,8865 -#define he_writel_rsr2(he_writel_rsr2303,8958 -#define he_writel_rsr3(he_writel_rsr3306,9051 -#define he_writel_rsr4(he_writel_rsr4309,9144 -#define he_writel_rsr5(he_writel_rsr5312,9237 -#define he_writel_rsr6(he_writel_rsr6315,9330 -#define he_writel_rsr7(he_writel_rsr7318,9423 -__find_vcc(322,9550 -he_init_one(347,10076 -he_remove_one 404,11316 -rate_to_atmf(424,11658 -#define NONZERO 426,11719 -he_init_rx_lbfp0(443,11930 -he_init_rx_lbfp1(474,12843 -he_init_tx_lbfp(505,13776 -he_init_tpdrq(535,14695 -he_init_cs_block(557,15294 -he_init_cs_block_rcm(653,18201 -#define RTGTBL_OFFSET 760,20826 -he_init_group(774,21036 -he_init_irq(944,26616 -he_start(1006,28392 -#define LAT_TIMER 1076,30244 -he_stop(1585,44952 -__alloc_tpd(1708,48372 -#define AAL5_LEN(AAL5_LEN1748,49454 -#define TCP_CKSUM(TCP_CKSUM1758,49714 -he_service_rbrq(1763,49851 -he_service_tbrq(1958,54887 -he_service_rbpl(2048,57023 -he_service_rbps(2076,57701 -he_tasklet(2104,58385 -he_irq_handler(2204,60946 -__enqueue_tpd(2246,62134 -he_open(2311,63926 -he_close(2530,69418 -#define MAX_RETRY 2538,69624 -he_send(2688,73517 -#define HE_TPD_BUFSIZE 2698,73760 -he_ioctl(2811,76455 -he_phy_put(2868,77729 -he_phy_get(2883,78174 -he_proc_read(2898,78540 -read_prom_byte(2983,80730 -static struct pci_device_id he_pci_tbl[3048,82764 -static struct pci_driver he_driver 3054,82905 -static int __init he_init(3061,83051 -static void __exit he_cleanup(3066,83125 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/zatm.c,3008 -#define DPRINTK(DPRINTK50,1079 -#define DPRINTK(DPRINTK52,1150 -#define NULLCHECK(NULLCHECK58,1222 -#define EVENT(EVENT60,1244 -static void event_dump(63,1267 -#define NULLCHECK(NULLCHECK75,1344 -#define EV 83,1562 -static const char *ev[85,1577 -static unsigned long ev_a[86,1604 -static unsigned long ev_a[EV],ev_b[86,1604 -static int ec 87,1644 -static void EVENT(90,1665 -static void event_dump(99,1799 -#define RING_BUSY 116,2123 -static struct atm_dev *zatm_boards 119,2209 -static unsigned long dummy[120,2252 -#define zin_n(zin_n123,2293 -#define zin(zin124,2334 -#define zout(zout125,2384 -#define zwait 126,2440 -static const int mbx_entries[129,2513 -static const int mbx_esize[130,2577 -#define MBX_SIZE(MBX_SIZE132,2656 -static void zpokel(138,2790 -static u32 zpeekl(147,2995 -struct rx_buffer_head rx_buffer_head169,3481 -static void refill_pool(176,3679 -static void drain_free(254,6198 -static int pool_index(260,6303 -static void use_pool(276,6618 -static void unuse_pool(304,7500 -static void exception(314,7722 -static const char *err_txt[337,8392 -static void poll_rx(357,8644 - error 390,9571 - skb 399,9886 - do_gettimeofday(&skb->stamp)400,9949 - size 411,10320 - chan 414,10476 - skb->len 465,11910 - ATM_SKB(skb)->vcc 466,11929 - atomic_inc(&vcc->stats->rx)468,11978 -static int open_rx_first(478,12167 -static int open_rx_second(530,13759 -static void close_rx(552,14372 -static int start_rx(594,15638 -static int do_tx(626,16654 -static inline void dequeue_tx(704,18898 -static void poll_tx(736,19753 -static int alloc_shaper(781,20873 -static void dealloc_shaper(844,22478 -static void close_tx(862,22949 - sleep_on(&zatm_vcc->tx_wait)882,23372 -once 884,23407 - sleep_on(&zatm_vcc->tx_wait)892,23615 - spin_lock_irqsave(&zatm_dev->lock,894,23650 - spin_lock_irqsave(&zatm_dev->lock, flags)894,23650 - zwait;896,23700 - zwait;899,23784 - zwait;901,23861 - spin_unlock_irqrestore(&zatm_dev->lock,905,24010 - spin_unlock_irqrestore(&zatm_dev->lock, flags)905,24010 - zatm_vcc->tx_chan 906,24059 - zatm_dev->tx_map[907,24083 -static int open_tx_first(916,24297 -static int open_tx_second(974,26139 -static int start_tx(997,26845 -static irqreturn_t zatm_int(1020,27444 -static void __init eprom_set(1100,29497 -static unsigned long __init eprom_get(1111,29759 -static void __init eprom_put_bits(1124,30045 -static void __init eprom_get_byte(1139,30401 -static unsigned char __init eprom_try_esi(1155,30752 -static void __init eprom_get_esi(1176,31429 -static int __init zatm_init(1186,31700 -static int __init zatm_start(1265,34351 -static void zatm_close(1360,37317 -static int zatm_open(1376,37716 -static int zatm_change_qos(1424,39005 -static int zatm_ioctl(1432,39151 -static int zatm_getsockopt(1506,41280 -static int zatm_setsockopt(1513,41409 -static int zatm_send(1519,41537 -static void zatm_phy_put(1542,42081 -static unsigned char zatm_phy_get(1555,42366 -static const struct atmdev_ops ops 1568,42665 -static int __init zatm_module_init(1580,42944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/fore200e.h,12012 -#define _FORE200E_H3,80 -#define SMALL_BUFFER_SIZE 10,169 -#define LARGE_BUFFER_SIZE 11,276 -#define RBD_BLK_SIZE 14,385 -#define MAX_PDU_SIZE 17,462 -#define BUFFER_S1_SIZE 20,539 -#define BUFFER_L1_SIZE 21,627 -#define BUFFER_S2_SIZE 23,716 -#define BUFFER_L2_SIZE 24,804 -#define BUFFER_S1_NBR 26,893 -#define BUFFER_L1_NBR 27,941 -#define BUFFER_S2_NBR 29,990 -#define BUFFER_L2_NBR 30,1038 -#define QUEUE_SIZE_CMD 33,1088 -#define QUEUE_SIZE_RX 34,1160 -#define QUEUE_SIZE_TX 35,1230 -#define QUEUE_SIZE_BS 36,1300 -#define FORE200E_VPI_BITS 38,1373 -#define FORE200E_VCI_BITS 39,1405 -#define NBR_CONNECT 40,1437 -#define TSD_FIXED 43,1543 -#define TSD_EXTENSION 44,1574 -#define TSD_NBR 45,1605 -#define RSD_REQUIRED 53,1914 -#define RSD_FIXED 55,2020 -#define RSD_EXTENSION 62,2321 -#define RSD_NBR 63,2377 -#define FORE200E_DEV(FORE200E_DEV66,2431 -#define FORE200E_VCC(FORE200E_VCC67,2500 -#define BITFIELD2(BITFIELD272,2642 -#define BITFIELD3(BITFIELD373,2695 -#define BITFIELD4(BITFIELD474,2752 -#define BITFIELD5(BITFIELD575,2813 -#define BITFIELD6(BITFIELD676,2878 -#define BITFIELD2(BITFIELD278,2984 -#define BITFIELD3(BITFIELD379,3053 -#define BITFIELD4(BITFIELD480,3122 -#define BITFIELD5(BITFIELD581,3191 -#define BITFIELD6(BITFIELD682,3260 -typedef struct atm_header atm_header90,3419 - BITFIELD5(BITFIELD591,3447 -} atm_header_t;atm_header_t98,3758 -typedef enum fore200e_aal fore200e_aal103,3807 - FORE200E_AAL0 104,3835 - FORE200E_AAL34 105,3859 - FORE200E_AAL5 106,3883 -} fore200e_aal_t;fore200e_aal_t107,3907 -typedef struct tpd_spec tpd_spec112,3972 - BITFIELD4(BITFIELD4113,3998 -} tpd_spec_t;tpd_spec_t119,4323 -typedef struct tpd_ratetpd_rate124,4372 - BITFIELD2(BITFIELD2126,4398 -} tpd_rate_t;tpd_rate_t130,4562 -typedef struct tsd tsd135,4613 -} tsd_t;tsd_t138,4740 -typedef struct tpd tpd143,4782 -} tpd_t;tpd_t149,5183 -typedef struct rsd rsd154,5228 -} rsd_t;rsd_t157,5371 -typedef struct rpd rpd162,5412 -} rpd_t;rpd_t166,5658 -typedef enum buffer_scheme buffer_scheme171,5690 - BUFFER_SCHEME_ONE,172,5719 - BUFFER_SCHEME_TWO,173,5742 - BUFFER_SCHEME_NBR 174,5765 -} buffer_scheme_t;buffer_scheme_t175,5808 -typedef enum buffer_magn buffer_magn180,5853 - BUFFER_MAGN_SMALL,181,5880 - BUFFER_MAGN_LARGE,182,5903 - BUFFER_MAGN_NBR 183,5926 -} buffer_magn_t;buffer_magn_t184,5967 -typedef struct rbd rbd189,6019 -} rbd_t;rbd_t192,6166 -typedef struct rbd_block rbd_block197,6216 -} rbd_block_t;rbd_block_t199,6314 -typedef struct tpd_haddr tpd_haddr204,6354 - BITFIELD3(BITFIELD3205,6381 -} tpd_haddr_t;tpd_haddr_t210,6625 -#define TPD_HADDR_SHIFT 212,6641 -typedef struct cp_txq_entry cp_txq_entry216,6748 -} cp_txq_entry_t;cp_txq_entry_t219,6944 -typedef struct cp_rxq_entry cp_rxq_entry224,7003 -} cp_rxq_entry_t;cp_rxq_entry_t227,7173 -typedef struct cp_bsq_entry cp_bsq_entry232,7238 -} cp_bsq_entry_t;cp_bsq_entry_t235,7414 -} status_t;status_t245,7782 -typedef enum opcode opcode250,7821 - OPCODE_INITIALIZE 251,7843 - OPCODE_ACTIVATE_VCIN,252,7924 - OPCODE_ACTIVATE_VCOUT,253,8005 - OPCODE_DEACTIVATE_VCIN,254,8086 - OPCODE_DEACTIVATE_VCOUT,255,8167 - OPCODE_GET_STATS,256,8248 - OPCODE_SET_OC3,257,8329 - OPCODE_GET_OC3,258,8410 - OPCODE_RESET_STATS,259,8491 - OPCODE_GET_PROM,260,8572 - OPCODE_SET_VPI_BITS,261,8653 - OPCODE_REQUEST_INTR 264,8826 -} opcode_t;opcode_t265,8907 -typedef struct vpvc vpvc270,8970 - BITFIELD3(BITFIELD3271,8992 -} vpvc_t;vpvc_t276,9187 -typedef struct activate_opcode activate_opcode281,9233 - BITFIELD4(BITFIELD4282,9266 -} activate_opcode_t;activate_opcode_t288,9547 -typedef struct activate_block activate_block293,9603 -} activate_block_t;activate_block_t298,9852 -typedef struct deactivate_opcode deactivate_opcode303,9910 - BITFIELD2(BITFIELD2304,9945 -} deactivate_opcode_t;deactivate_opcode_t308,10070 -typedef struct deactivate_block deactivate_block313,10130 -} deactivate_block_t;deactivate_block_t316,10314 -typedef struct oc3_regs oc3_regs321,10360 -} oc3_regs_t;oc3_regs_t325,10555 -typedef struct oc3_opcode oc3_opcode330,10611 - BITFIELD4(BITFIELD4331,10639 -} oc3_opcode_t;oc3_opcode_t339,11035 -typedef struct oc3_block oc3_block344,11092 -} oc3_block_t;oc3_block_t347,11279 -typedef struct stats_phy stats_phy352,11332 -} stats_phy_t;stats_phy_t356,11572 -typedef struct stats_oc3 stats_oc3361,11612 -} stats_oc3_t;stats_oc3_t370,12231 -typedef struct stats_atm stats_atm375,12270 -} stats_atm_t;stats_atm_t383,12787 -typedef struct stats_aal0 stats_aal0387,12826 -} stats_aal0_t;stats_aal0_t392,13070 -typedef struct stats_aal34 stats_aal34397,13113 -} stats_aal34_t;stats_aal34_t408,13932 -typedef struct stats_aal5 stats_aal5413,13974 -} stats_aal5_t;stats_aal5_t424,14777 -typedef struct stats_aux stats_aux429,14823 -} stats_aux_t;stats_aux_t437,15319 -typedef struct stats stats442,15367 -} stats_t;stats_t450,15866 -typedef struct stats_opcode stats_opcode455,15916 - BITFIELD2(BITFIELD2456,15946 -} stats_opcode_t;stats_opcode_t460,16071 -typedef struct stats_block stats_block465,16127 -} stats_block_t;stats_block_t468,16314 -typedef struct prom_data prom_data473,16375 -} prom_data_t;prom_data_t477,16558 -typedef struct prom_opcode prom_opcode482,16621 - BITFIELD2(BITFIELD2483,16650 -} prom_opcode_t;prom_opcode_t487,16775 -typedef struct prom_block prom_block492,16839 -} prom_block_t;prom_block_t495,17019 -typedef union cmd cmd500,17055 -} cmd_t;cmd_t508,17607 -typedef struct cp_cmdq_entry cp_cmdq_entry513,17651 -} cp_cmdq_entry_t;cp_cmdq_entry_t517,17907 -typedef struct host_txq_entry host_txq_entry522,17970 -} host_txq_entry_t;host_txq_entry_t532,18655 -typedef struct host_rxq_entry host_rxq_entry537,18718 -} host_rxq_entry_t;host_rxq_entry_t542,19066 -typedef struct host_bsq_entry host_bsq_entry547,19135 -} host_bsq_entry_t;host_bsq_entry_t552,19547 -typedef struct host_cmdq_entry host_cmdq_entry557,19610 -} host_cmdq_entry_t;host_cmdq_entry_t560,19798 -typedef struct chunk chunk565,19844 -} chunk_t;chunk_t572,20245 -#define dma_size 574,20257 -typedef struct buffer buffer579,20358 -} buffer_t;buffer_t588,20823 -#define FORE200E_BUF2HDL(FORE200E_BUF2HDL592,20863 -#define FORE200E_HDL2BUF(FORE200E_HDL2BUF593,20915 -#define FORE200E_BUF2HDL(FORE200E_BUF2HDL595,21018 -#define FORE200E_HDL2BUF(FORE200E_HDL2BUF596,21077 -typedef struct host_cmdq host_cmdq602,21207 -} host_cmdq_t;host_cmdq_t606,21542 -typedef struct host_txq host_txq611,21595 -} host_txq_t;host_txq_t618,22239 -typedef struct host_rxq host_rxq623,22290 -} host_rxq_t;host_rxq_t628,22732 -typedef struct host_bsq host_bsq633,22790 -} host_bsq_t;host_bsq_t641,23558 -typedef struct fw_header fw_header646,23610 -} fw_header_t;fw_header_t651,23933 -#define FW_HEADER_MAGIC 653,23949 -typedef struct bs_spec bs_spec658,24060 -} bs_spec_t;bs_spec_t664,24361 -typedef struct init_block init_block669,24449 -} init_block_t;init_block_t682,25411 -typedef enum media_type media_type685,25429 - MEDIA_TYPE_CAT5_UTP 686,25455 - MEDIA_TYPE_CAT5_UTP = 0x06,686,25455 - MEDIA_TYPE_MM_OC3_ST 687,25521 - MEDIA_TYPE_MM_OC3_ST = 0x16,687,25521 - MEDIA_TYPE_MM_OC3_SC 688,25587 - MEDIA_TYPE_MM_OC3_SC = 0x26,688,25587 - MEDIA_TYPE_SM_OC3_ST 689,25653 - MEDIA_TYPE_SM_OC3_ST = 0x36,689,25653 - MEDIA_TYPE_SM_OC3_SC 690,25719 - MEDIA_TYPE_SM_OC3_SC = 0x46 690,25719 -} media_type_t;media_type_t691,25785 -#define FORE200E_MEDIA_INDEX(FORE200E_MEDIA_INDEX693,25802 -typedef struct cp_queues cp_queues698,25891 -} cp_queues_t;cp_queues_t716,27302 -typedef enum boot_status boot_status721,27338 - BSTAT_COLD_START 722,27365 - BSTAT_COLD_START = (u32)722,27365 - BSTAT_COLD_START = (u32) 0xc01dc01d,722,27365 - BSTAT_SELFTEST_OK 723,27442 - BSTAT_SELFTEST_OK = (u32)723,27442 - BSTAT_SELFTEST_OK = (u32) 0x02201958,723,27442 - BSTAT_SELFTEST_FAIL 724,27519 - BSTAT_SELFTEST_FAIL = (u32)724,27519 - BSTAT_SELFTEST_FAIL = (u32) 0xadbadbad,724,27519 - BSTAT_CP_RUNNING 725,27596 - BSTAT_CP_RUNNING = (u32)725,27596 - BSTAT_CP_RUNNING = (u32) 0xce11feed,725,27596 - BSTAT_MON_TOO_BIG 726,27673 - BSTAT_MON_TOO_BIG = (u32)726,27673 - BSTAT_MON_TOO_BIG = (u32) 0x10aded00 726,27673 -} boot_status_t;boot_status_t727,27750 -typedef struct soft_uart soft_uart732,27790 -} soft_uart_t;soft_uart_t735,27893 -#define FORE200E_CP_MONITOR_UART_FREE 737,27909 -#define FORE200E_CP_MONITOR_UART_AVAIL 738,27962 -typedef struct cp_monitor cp_monitor743,28037 -} cp_monitor_t;cp_monitor_t748,28314 -typedef enum fore200e_state fore200e_state753,28352 - FORE200E_STATE_BLANK,754,28382 - FORE200E_STATE_REGISTER,755,28456 - FORE200E_STATE_CONFIGURE,756,28530 - FORE200E_STATE_MAP,757,28604 - FORE200E_STATE_RESET,758,28678 - FORE200E_STATE_LOAD_FW,759,28752 - FORE200E_STATE_START_FW,760,28826 - FORE200E_STATE_INITIALIZE,761,28900 - FORE200E_STATE_INIT_CMDQ,762,28974 - FORE200E_STATE_INIT_TXQ,763,29048 - FORE200E_STATE_INIT_RXQ,764,29122 - FORE200E_STATE_INIT_BSQ,765,29196 - FORE200E_STATE_ALLOC_BUF,766,29270 - FORE200E_STATE_IRQ,767,29344 - FORE200E_STATE_COMPLETE 768,29418 -} fore200e_state;fore200e_state769,29492 -typedef struct fore200e_pca_regs fore200e_pca_regs774,29538 -} fore200e_pca_regs_t;fore200e_pca_regs_t778,29789 -typedef struct fore200e_sba_regs fore200e_sba_regs783,29840 -} fore200e_sba_regs_t;fore200e_sba_regs_t787,30109 -typedef union fore200e_regs fore200e_regs792,30166 -} fore200e_regs;fore200e_regs795,30320 -typedef struct fore200e_bus fore200e_bus802,30383 -} fore200e_bus_t;fore200e_bus_t828,32224 -typedef struct fore200e_vc_map fore200e_vc_map832,32261 -} fore200e_vc_map_t;fore200e_vc_map_t835,32414 -#define FORE200E_VC_MAP(FORE200E_VC_MAP837,32436 -typedef struct fore200e fore200e843,32579 -} fore200e_t;fore200e_t883,35286 -typedef struct fore200e_vcc fore200e_vcc888,35322 -} fore200e_vcc_t;fore200e_vcc_t897,36056 -#define FORE200E_CP_MONITOR_OFFSET 903,36117 -#define FORE200E_CP_QUEUES_OFFSET 904,36195 -#define PCA200E_IOSPACE_LENGTH 909,36304 -#define PCA200E_HCR_OFFSET 911,36355 -#define PCA200E_IMR_OFFSET 912,36426 -#define PCA200E_PSR_OFFSET 913,36497 -#define PCA200E_HCR_RESET 918,36608 -#define PCA200E_HCR_HOLD_LOCK 919,36667 -#define PCA200E_HCR_I960FAIL 920,36726 -#define PCA200E_HCR_INTRB 921,36785 -#define PCA200E_HCR_HOLD_ACK 922,36844 -#define PCA200E_HCR_INTRA 923,36903 -#define PCA200E_HCR_OUTFULL 924,36962 -#define PCA200E_HCR_CLRINTR 925,37021 -#define PCA200E_HCR_ESPHOLD 926,37080 -#define PCA200E_HCR_INFULL 927,37139 -#define PCA200E_HCR_TESTMODE 928,37198 -#define PCA200E_PCI_LATENCY 933,37328 -#define PCA200E_PCI_MASTER_CTRL 934,37408 -#define PCA200E_PCI_THRESHOLD 935,37488 -#define PCA200E_CTRL_DIS_CACHE_RD 939,37604 -#define PCA200E_CTRL_DIS_WRT_INVAL 940,37708 -#define PCA200E_CTRL_2_CACHE_WRT_INVAL 941,37812 -#define PCA200E_CTRL_IGN_LAT_TIMER 942,37916 -#define PCA200E_CTRL_ENA_CONT_REQ_MODE 943,38020 -#define PCA200E_CTRL_LARGE_PCI_BURSTS 944,38124 -#define PCA200E_CTRL_CONVERT_ENDIAN 945,38228 -#define SBA200E_PROM_NAME 949,38335 -#define SBA200E_HCR_LENGTH 954,38452 -#define SBA200E_BSR_LENGTH 955,38488 -#define SBA200E_ISR_LENGTH 956,38524 -#define SBA200E_RAM_LENGTH 957,38560 -#define SBA200E_BSR_BURST4 962,38648 -#define SBA200E_BSR_BURST8 963,38682 -#define SBA200E_BSR_BURST16 964,38716 -#define SBA200E_HCR_RESET 969,38790 -#define SBA200E_HCR_HOLD_LOCK 970,38861 -#define SBA200E_HCR_I960FAIL 971,38932 -#define SBA200E_HCR_I960SETINTR 972,39003 -#define SBA200E_HCR_OUTFULL 973,39074 -#define SBA200E_HCR_INTR_CLR 974,39145 -#define SBA200E_HCR_INTR_ENA 975,39216 -#define SBA200E_HCR_ESPHOLD 976,39287 -#define SBA200E_HCR_INFULL 977,39358 -#define SBA200E_HCR_TESTMODE 978,39429 -#define SBA200E_HCR_INTR_REQ 979,39500 -#define SBA200E_HCR_STICKY 981,39572 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/idt77252.c,2763 -static char const rcsid[32,1563 -static unsigned int vpibits 63,2253 -#define CONFIG_ATM_IDT77252_SEND_IDLE 66,2288 -#define DEBUG_MODULE 72,2353 -static unsigned long debug 76,2455 -#define SAR_RX_DELAY 80,2506 -static struct atmdev_ops idt77252_ops 140,4500 -static struct idt77252_dev *idt77252_chain 154,4842 -static unsigned int idt77252_sram_write_errors 155,4893 -waitfor_idle(164,5359 -read_sram(174,5517 -write_sram(188,5839 -read_utility(209,6497 -write_utility(229,6914 -static u32 rdsrtab[247,7327 -static u32 wrentab[268,7669 -static u32 rdtab[289,8011 -static u32 wrtab[310,8351 -static u32 clktab[331,8669 -idt77252_read_gp(353,8871 -idt77252_write_gp(365,9043 -idt77252_eeprom_read_status(382,9449 -idt77252_eeprom_read_byte(416,10109 -idt77252_eeprom_write_byte(464,11078 -idt77252_eeprom_init(515,12213 -dump_tct(535,12677 -idt77252_tx_dump(550,12973 -sb_pool_add(585,13823 -sb_pool_remove(605,14235 -sb_pool_skb(624,14567 -alloc_scq(640,14850 -free_scq(674,15645 -push_on_scq(709,16334 -drain_scq(796,18476 -queue_skb(835,19290 -get_free_scd(939,21650 -fill_scd(954,21916 -clear_scd(963,22178 -init_rsq(975,22674 -deinit_rsq(1009,23561 -dequeue_rx(1016,23701 -idt77252_rx(1220,28735 -idt77252_rx_raw(1249,29367 -init_tsq(1385,32911 -deinit_tsq(1410,33566 -idt77252_tx(1417,33706 -tst_timer(1544,36546 -__fill_tst(1607,38087 -fill_tst(1667,39212 -__clear_tst(1685,39618 -clear_tst(1710,40132 -change_tst(1728,40507 -set_tct(1749,40944 -idt77252_fbq_level(1800,42464 -idt77252_fbq_full(1806,42609 -push_rx_skb(1812,42743 -add_rx_skb(1858,43578 -recycle_rx_skb(1901,44443 -flush_rx_pool(1919,44921 -recycle_rx_pool_skb(1928,45078 -idt77252_phy_put(1950,45770 -idt77252_phy_get(1956,45937 -idt77252_send_skb(1962,46079 -idt77252_send(2013,47189 -idt77252_send_oam(2019,47301 -idt77252_fls(2039,47786 -idt77252_int_to_atmfp(2067,48077 -idt77252_rate_logindex(2084,48378 -idt77252_est_timer(2095,48620 -idt77252_init_est(2138,49584 -idt77252_init_cbr(2164,50203 -idt77252_init_ubr(2234,51952 -idt77252_init_tx(2266,52601 -idt77252_init_rx(2344,54128 -idt77252_open(2408,55502 -idt77252_close(2512,57908 -idt77252_change_qos(2596,59868 -idt77252_proc_read(2654,61051 -idt77252_collect_stat(2728,63246 -idt77252_interrupt(2780,64132 -idt77252_softint(2872,66515 -open_card_oam(2913,67215 -close_card_oam(2958,68181 -open_card_ubr0(2991,68912 -idt77252_dev_open(3031,69900 -idt77252_dev_close(3075,71192 -deinit_card(3108,72418 -init_sram(3179,73846 -init_card(3328,78914 -idt77252_preset(3611,86902 -probe_sram(3653,88187 -idt77252_init_one(3675,88638 -static struct pci_device_id idt77252_pci_tbl[3815,91847 -static struct pci_driver idt77252_driver 3822,91998 -static int __init idt77252_init(3828,92130 -static void __exit idt77252_exit(3850,92702 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/nicstarmac.h,54 -typedef void __iomem *virt_addr_t;virt_addr_t10,220 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/eni.h,631 -#define DRIVER_ATM_ENI_H7,171 -#define KERNEL_OFFSET 21,419 -#define DEV_LABEL 22,491 -#define UBR_BUFFER 24,516 -#define RX_DMA_BUF 26,569 -#define TX_DMA_BUF 27,627 -#define DEFAULT_RX_MULT 29,685 -#define DEFAULT_TX_MULT 30,730 -#define ENI_ZEROES_SIZE 32,776 -struct eni_free eni_free35,848 -struct eni_tx eni_tx40,929 -struct eni_vcc eni_vcc52,1373 -struct eni_dev eni_dev68,2034 -#define ENI_DEV(ENI_DEV115,4122 -#define ENI_VCC(ENI_VCC116,4176 -struct eni_skb_prv eni_skb_prv119,4232 -#define ENI_PRV_SIZE(ENI_PRV_SIZE126,4438 -#define ENI_PRV_POS(ENI_PRV_POS127,4507 -#define ENI_PRV_PADDR(ENI_PRV_PADDR128,4574 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/atmtcp.c,995 -#define PRIV(PRIV19,401 -struct atmtcp_dev_data atmtcp_dev_data22,468 -#define DEV_LABEL 28,600 -#define MAX_VPI_BITS 30,631 -#define MAX_VCI_BITS 31,677 -static int atmtcp_send_control(41,867 -static int atmtcp_recv_control(87,2125 -static void atmtcp_v_dev_close(112,2708 -static int atmtcp_v_open(118,2815 -static void atmtcp_v_close(142,3461 -static int atmtcp_v_ioctl(155,3784 -static int atmtcp_v_send(190,4722 -static int atmtcp_v_proc(234,5943 -static void atmtcp_c_close(245,6232 -static int atmtcp_c_send(277,6942 -static struct atmdev_ops atmtcp_v_dev_ops 337,8368 -static struct atmdev_ops atmtcp_c_dev_ops 353,8670 -static struct atm_dev atmtcp_control_dev 359,8772 -static int atmtcp_create(367,8916 -int atmtcp_attach(391,9474 -int atmtcp_create_persistent(422,10144 -int atmtcp_remove_persistent(428,10223 -static int atmtcp_ioctl(449,10648 -static struct atm_ioctl atmtcp_ioctl_ops 478,11281 -static __init int atmtcp_init(483,11378 -static void __exit atmtcp_exit(490,11471 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/ambassador.c,3174 -#define maintainer_string 41,1309 -#define description_string 42,1393 -#define version_string 43,1450 -static inline void __init show_version 45,1482 -#define UCODE(UCODE293,10828 -#define UCODE(UCODE295,10870 -#define UCODE2(UCODE2297,10913 -static u32 __initdata ucode_start 299,10935 -static region __initdata ucode_regions[303,10997 -static u32 __initdata ucode_data[308,11081 -static amb_dev * amb_devs 316,11240 -static struct timer_list housekeeping 317,11274 -static unsigned short debug 319,11357 -static unsigned int cmds 320,11390 -static unsigned int txs 321,11420 -static unsigned int rxs[322,11450 -static unsigned int rxs_bs[323,11510 -static unsigned int rx_lats 324,11584 -static unsigned char pci_lat 325,11617 -static const unsigned long onegigmask 327,11652 -static inline void wr_plain 331,11746 -static inline u32 rd_plain 340,11994 -static inline void wr_mem 350,12254 -static inline u32 rd_mem 360,12539 -static inline void dump_registers 373,12875 -static inline void dump_loader_block 393,13404 -static inline void dump_command 407,13842 -static inline void dump_skb 421,14185 -static inline int check_area 441,14682 -static inline void amb_kfree_skb 460,15298 -static inline void tx_complete 470,15527 -static void rx_complete 491,15978 -static int command_do 576,18324 -static inline int tx_give 654,20477 -static inline int tx_take 686,21359 -static inline int rx_give 714,22026 -static inline int rx_take 739,22742 -static inline void drain_rx_pool 772,23680 -static void drain_rx_pools 798,24478 -static inline void fill_rx_pool 807,24687 -static void fill_rx_pools 842,25750 -static inline void interrupts_on 855,26029 -static inline void interrupts_off 863,26273 -static irqreturn_t interrupt_handler(871,26514 -static unsigned int make_rate 943,28421 -static int amb_open 1067,31491 -static void amb_close 1280,37440 -static int amb_send 1368,40204 -static void amb_free_rx_skb 1448,42514 -static int amb_proc_read 1484,43544 -static const struct atmdev_ops amb_ops 1547,45210 -static void do_housekeeping 1556,45426 -static int __init create_queues 1579,45934 -static void destroy_queues 1695,48495 -static unsigned int command_timeouts 1710,48912 -unsigned int command_successes 1725,49282 -static int decode_loader_result 1739,49821 -static int __init do_loader_command 1809,51265 -static int __init get_loader_version 1866,52903 -static int __init loader_write 1882,53281 -static int __init loader_verify 1901,53833 -static int __init loader_start 1926,54457 -static inline void sf 1936,54734 -static int amb_reset 1941,54829 -static int __init ucode_init 2007,56763 -static inline u32 bus_addr(2053,58030 -static int __init amb_talk 2057,58120 -static void __init amb_ucode_version 2106,59729 -u8 bit_swap 2121,60189 -static void __init amb_esi 2133,60429 -static void fixup_plx_window 2165,61157 -static int __init amb_init 2179,61582 -static void setup_dev(2221,62524 -static int setup_pci_dev(2260,63928 -static int __init do_pci_device(2287,64515 -static int __init amb_probe 2373,66404 -static void __init amb_check_args 2398,66950 -static int __init amb_module_init 2460,68991 -static void __exit amb_module_exit 2490,69602 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/horizon.c,3336 -#define maintainer_string 52,1572 -#define description_string 53,1656 -#define version_string 54,1718 -static inline void __init show_version 56,1750 -static hrz_dev * hrz_devs 357,13043 -static struct timer_list housekeeping;358,13077 -static unsigned short debug 360,13117 -static unsigned short vpi_bits 361,13150 -static int max_tx_size 362,13186 -static int max_rx_size 363,13217 -static unsigned char pci_lat 364,13248 -static inline void wr_regl 369,13362 -static inline u32 rd_regl 373,13493 -static inline void wr_regw 377,13613 -static inline u16 rd_regw 381,13744 -static inline void wrs_regb 385,13864 -static inline void rds_regb 389,14000 -static inline void wr_mem 396,14325 -static inline u32 rd_mem 402,14565 -static inline void wr_framer 408,14795 -static inline u32 rd_framer 413,14974 -static inline void FLUSH_RX_CHANNEL 422,15207 -static inline void WAIT_FLUSH_RX_COMPLETE 427,15350 -static inline void SELECT_RX_CHANNEL 433,15490 -static inline void WAIT_UPDATE_COMPLETE 438,15618 -static inline void SELECT_TX_CHANNEL 446,15782 -static inline void update_tx_channel_config 453,15992 -static inline u16 query_tx_channel_config 460,16245 -static inline void dump_skb 468,16513 -static inline void dump_regs 484,16894 -static inline void dump_framer 498,17426 -static inline int channel_to_vpivci 515,17835 -static inline int vpivci_to_channel 525,18138 -static inline u16 rx_q_entry_to_length 536,18484 -static inline u16 rx_q_entry_to_rx_channel 540,18573 -#define BR_UKN 590,20596 -#define BR_HRZ 591,20620 -#define BR_ULT 592,20644 -#define CR_MIND 595,20689 -#define CR_MAXD 596,20707 -#define CR_MAXPEXP 599,20762 -static int make_rate 601,20785 -static int make_rate_with_tolerance 708,23523 -static int hrz_open_rx 733,24302 -static void hrz_change_vc_qos 792,26124 -static inline void hrz_kfree_skb 799,26322 -static void hrz_close_rx 809,26559 -static void rx_schedule 948,30733 -static inline void rx_bus_master_complete_handler 1079,34191 -static inline int tx_hold 1092,34575 -static inline void tx_release 1106,35027 -static void tx_schedule 1114,35257 -static inline void tx_bus_master_complete_handler 1237,38505 -static inline u32 rx_queue_entry_next 1251,38938 -static inline void rx_disabled_handler 1266,39401 -static inline void rx_data_av_handler 1275,39687 -static irqreturn_t interrupt_handler(1387,42740 -static void set_timer 1465,45253 -static void do_housekeeping 1471,45395 -static inline short setup_idle_tx_channel 1493,46117 -static int hrz_send 1617,49709 -static void hrz_reset 1791,54651 -static inline void WRITE_IT_WAIT 1812,55318 -static inline void CLOCK_IT 1818,55439 -static u16 __init read_bia 1825,55627 -static int __init hrz_init 1881,56724 -static int check_max_sdu 2101,62715 -static int atm_pcr_check 2133,63633 -static int hrz_open 2163,64856 -static void hrz_close 2551,75595 -static int hrz_getsockopt 2604,77159 -static int hrz_setsockopt 2624,77578 -static int hrz_ioctl 2646,78010 -unsigned char hrz_phy_get 2652,78175 -static void hrz_phy_put 2658,78337 -static int hrz_change_qos 2664,78510 -static int hrz_proc_read 2673,78739 -static const struct atmdev_ops hrz_ops 2714,79890 -static int __init hrz_probe 2722,80053 -static void __init hrz_check_args 2875,84294 -static int __init hrz_module_init 2914,85550 -static void __exit hrz_module_exit 2947,86274 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/nicstar.c,2559 -#define TXPRINTK(TXPRINTK89,2598 -#define TXPRINTK(TXPRINTK91,2643 -#define RXPRINTK(RXPRINTK95,2708 -#define RXPRINTK(RXPRINTK97,2753 -#define PRINTK(PRINTK101,2823 -#define PRINTK(PRINTK103,2866 -#define XPRINTK(XPRINTK107,2937 -#define XPRINTK(XPRINTK109,2981 -#define CMD_BUSY(CMD_BUSY115,3115 -#define NS_DELAY 117,3187 -#define ALIGN_BUS_ADDR(ALIGN_BUS_ADDR119,3215 -#define ALIGN_ADDRESS(ALIGN_ADDRESS121,3341 -#define ATM_SKB(ATM_SKB127,3478 -#define ns_grab_int_lock(ns_grab_int_lock132,3597 -#define ns_grab_res_lock(ns_grab_res_lock157,4805 -#define ns_grab_scq_lock(ns_grab_scq_lock175,5627 -#define ns_grab_int_lock(ns_grab_int_lock201,6856 -#define ns_grab_res_lock(ns_grab_res_lock203,6948 -#define ns_grab_scq_lock(ns_grab_scq_lock205,7040 -static struct ns_dev *cards[255,9472 -static unsigned num_cards;256,9515 -static struct atmdev_ops atm_ops 257,9542 -static struct timer_list ns_timer;268,9773 -static char *mac[269,9808 -static int __devinit nicstar_init_one(276,10005 -static void __devexit nicstar_remove_one(298,10384 -static struct pci_device_id nicstar_pci_tbl[360,12000 -static struct pci_device_id nicstar_pci_tbl[] __devinitdata 360,12000 -static struct pci_driver nicstar_driver 370,12227 -static int __init nicstar_init(379,12402 -static void __exit nicstar_cleanup(408,13107 -static u32 ns_read_sram(421,13332 -static void ns_write_sram(439,13819 -static int __devinit ns_init_card(460,14512 -static void __devinit ns_init_card_error(935,29500 -static scq_info *get_scq(991,30634 -static void free_scq(1037,31842 -static void push_rxbufs(1082,32973 -static irqreturn_t ns_irq_handler(1190,35620 -static int ns_open(1375,40887 -static void ns_close(1560,46592 -static void fill_tst(1728,51634 -static int ns_send(1783,52960 -static int push_scqe(1877,55768 -static void process_tsq(1990,59103 -static void drain_scq(2070,61222 -static void process_rsq(2113,62224 -static void dequeue_rx(2135,62717 -static void ns_sb_destructor(2516,74705 -static void ns_lb_destructor(2539,75283 -static void ns_hb_destructor(2562,75859 -static void recycle_rx_buf(2582,76245 -static void recycle_iovec_rx_bufs(2597,76684 -static void recycle_iov_buf(2620,77309 -static void dequeue_sm_buf(2633,77554 -static void dequeue_lg_buf(2666,78466 -static int ns_proc_read(2699,79374 -static int ns_ioctl(2769,81636 -static void which_list(2984,87960 -static void ns_poll(2994,88266 -static int ns_parse_mac(3030,89096 -static short ns_h2i(3056,89570 -static void ns_phy_put(3069,89812 -static unsigned char ns_phy_get(3086,90256 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/he.h,16763 -#define _HE_H_46,1552 -#define DEV_LABEL 48,1568 -#define CONFIG_DEFAULT_VCIBITS 50,1598 -#define CONFIG_DEFAULT_VPIBITS 51,1632 -#define CONFIG_IRQ_SIZE 53,1666 -#define CONFIG_IRQ_THRESH 54,1695 -#define CONFIG_NUMTPDS 56,1742 -#define CONFIG_TPDRQ_SIZE 58,1771 -#define TPDRQ_MASK(TPDRQ_MASK59,1801 -#define CONFIG_RBRQ_SIZE 61,1875 -#define CONFIG_RBRQ_THRESH 62,1904 -#define RBRQ_MASK(RBRQ_MASK63,1935 -#define CONFIG_TBRQ_SIZE 65,2007 -#define CONFIG_TBRQ_THRESH 66,2036 -#define TBRQ_MASK(TBRQ_MASK67,2067 -#define CONFIG_RBPL_SIZE 69,2139 -#define CONFIG_RBPL_THRESH 70,2168 -#define CONFIG_RBPL_BUFSIZE 71,2198 -#define RBPL_MASK(RBPL_MASK72,2231 -#define CONFIG_RBPS_SIZE 74,2303 -#define CONFIG_RBPS_THRESH 75,2333 -#define CONFIG_RBPS_BUFSIZE 76,2363 -#define RBPS_MASK(RBPS_MASK77,2395 -#define CONFIG_RSRA 81,2509 -#define CONFIG_RCMLBM 82,2538 -#define CONFIG_RCMABR 83,2569 -#define CONFIG_RSRB 84,2600 -#define CONFIG_TSRA 86,2630 -#define CONFIG_TSRB 87,2659 -#define CONFIG_TSRC 88,2688 -#define CONFIG_TSRD 89,2717 -#define CONFIG_TMABR 90,2746 -#define CONFIG_TPDBA 91,2776 -#define HE_MAXCIDBITS 93,2807 -struct he_irq he_irq97,2869 -#define IRQ_ALIGNMENT 101,2908 -#define NEXT_ENTRY(NEXT_ENTRY103,2939 -#define ITYPE_INVALID 106,3040 -#define ITYPE_TBRQ_THRESH 107,3074 -#define ITYPE_TPD_COMPLETE 108,3107 -#define ITYPE_RBPS_THRESH 109,3141 -#define ITYPE_RBPL_THRESH 110,3174 -#define ITYPE_RBRQ_THRESH 111,3207 -#define ITYPE_RBRQ_TIMER 112,3240 -#define ITYPE_PHY 113,3272 -#define ITYPE_OTHER 114,3298 -#define ITYPE_PARITY 115,3324 -#define ITYPE_ABORT 116,3351 -#define ITYPE_GROUP(ITYPE_GROUP118,3378 -#define ITYPE_TYPE(ITYPE_TYPE119,3412 -#define HE_NUM_GROUPS 121,3447 -struct he_tpd he_tpd125,3512 -#define TPD_MAXIOV 132,3604 -#define address0 137,3675 -#define length0 138,3706 -#define TPD_ALIGNMENT 153,3937 -#define TPD_LEN_MASK 154,3962 -#define TPD_ADDR_SHIFT 156,3991 -#define TPD_MASK 157,4017 -#define TPD_ADDR(TPD_ADDR158,4045 -#define TPD_INDEX(TPD_INDEX159,4082 -struct he_tbrq he_tbrq164,4186 -#define TBRQ_ALIGNMENT 168,4227 -#define TBRQ_TPD(TBRQ_TPD170,4268 -#define TBRQ_EOS(TBRQ_EOS171,4320 -#define TBRQ_MULTIPLE(TBRQ_MULTIPLE172,4368 -struct he_rbrq he_rbrq176,4491 -#define RBRQ_ALIGNMENT 181,4554 -#define RBRQ_ADDR(RBRQ_ADDR183,4595 -#define RBRQ_CRC_ERR(RBRQ_CRC_ERR184,4648 -#define RBRQ_LEN_ERR(RBRQ_LEN_ERR185,4699 -#define RBRQ_END_PDU(RBRQ_END_PDU186,4750 -#define RBRQ_AAL5_PROT(RBRQ_AAL5_PROT187,4801 -#define RBRQ_CON_CLOSED(RBRQ_CON_CLOSED188,4854 -#define RBRQ_HBUF_ERR(RBRQ_HBUF_ERR189,4908 -#define RBRQ_CID(RBRQ_CID190,4955 -#define RBRQ_BUFLEN(RBRQ_BUFLEN191,5013 -struct he_tpdrq he_tpdrq195,5123 -#define TPDRQ_ALIGNMENT 200,5183 -#define HSP_ALIGNMENT 204,5268 -struct he_hsp he_hsp206,5330 - struct he_hsp_entry he_hsp_entry207,5346 -struct he_rbp he_rbp217,5551 -#define RBP_INDEX_OFF 228,5867 -#define RBP_INDEX(RBP_INDEX229,5891 -#define RBP_LOANED 230,5952 -#define RBP_SMALLBUF 231,5982 -struct he_virt he_virt233,6015 -#define RBPL_ALIGNMENT 237,6049 -#define RBPS_ALIGNMENT 238,6089 -struct he_group he_group241,6144 -#define HE_LOOKUP_VCC(HE_LOOKUP_VCC250,6285 -struct he_vcc_table he_vcc_table252,6351 -struct he_cs_stperhe_cs_stper257,6400 -#define HE_NUM_CS_STPER 263,6448 -struct he_dev he_dev265,6477 -struct he_ioveche_iovec358,8459 -#define HE_MAXIOV 364,8510 -struct he_vcche_vcc366,8532 -#define HE_VCC(HE_VCC378,8707 -#define PCI_VENDOR_ID_FORE 380,8763 -#define PCI_DEVICE_ID_FORE_HE 381,8797 -#define HE_DMA_MASK 383,8834 -#define GEN_CNTL_0 385,8867 -#define INT_PROC_ENBL 386,8894 -#define SLAVE_ENDIAN_MODE 387,8926 -#define MRL_ENB 388,8961 -#define MRM_ENB 389,8986 -#define INIT_ENB 390,9011 -#define IGNORE_TIMEOUT 391,9037 -#define ENBL_64 392,9069 -#define MIN_PCI_LATENCY 394,9095 -#define HE_DEV(HE_DEV396,9143 -#define he_is622(he_is622398,9200 -#define HE_REGMAP_SIZE 400,9244 -#define RESET_CNTL 402,9277 -#define BOARD_RST_STATUS 403,9304 -#define HOST_CNTL 405,9338 -#define PCI_BUS_SIZE64 406,9364 -#define DESC_RD_STATIC_64 407,9398 -#define DATA_RD_STATIC_64 408,9434 -#define DATA_WR_STATIC_64 409,9470 -#define ID_CS 410,9506 -#define ID_WREN 411,9532 -#define ID_DOUT 412,9559 -#define ID_DOFFSET 413,9586 -#define ID_DIN 414,9612 -#define ID_CLOCK 415,9638 -#define QUICK_RD_RETRY 416,9665 -#define QUICK_WR_RETRY 417,9698 -#define OUTFF_ENB 418,9731 -#define CMDFF_ENB 419,9759 -#define PERR_INT_ENB 420,9787 -#define IGNORE_INTR 421,9818 -#define LB_SWAP 423,9849 -#define SWAP_RNUM_MAX(SWAP_RNUM_MAX424,9874 -#define DATA_WR_SWAP 425,9908 -#define DESC_RD_SWAP 426,9939 -#define DATA_RD_SWAP 427,9970 -#define INTR_SWAP 428,10001 -#define DESC_WR_SWAP 429,10029 -#define SDRAM_INIT 430,10060 -#define BIG_ENDIAN_HOST 431,10089 -#define XFER_SIZE 432,10122 -#define LB_MEM_ADDR 434,10150 -#define LB_MEM_DATA 435,10178 -#define LB_MEM_ACCESS 437,10207 -#define LB_MEM_HNDSHK 438,10237 -#define LM_MEM_WRITE 439,10269 -#define LM_MEM_READ 440,10298 -#define SDRAM_CTL 442,10327 -#define LB_64_ENB 443,10353 -#define LB_TWR 444,10380 -#define LB_TRP 445,10405 -#define LB_TRAS 446,10430 -#define INT_FIFO 448,10456 -#define INT_MASK_D 449,10481 -#define INT_MASK_C 450,10510 -#define INT_MASK_B 451,10539 -#define INT_MASK_A 452,10568 -#define INT_CLEAR_D 453,10597 -#define INT_CLEAR_C 454,10627 -#define INT_CLEAR_B 455,10657 -#define INT_CLEAR_A 456,10686 -#define ABORT_ADDR 458,10716 -#define IRQ0_BASE 460,10744 -#define IRQ_BASE(IRQ_BASE461,10770 -#define IRQ_MASK 462,10800 -#define IRQ_TAIL(IRQ_TAIL463,10860 -#define IRQ0_HEAD 464,10916 -#define IRQ_SIZE(IRQ_SIZE465,10942 -#define IRQ_THRESH(IRQ_THRESH466,10972 -#define IRQ_HEAD(IRQ_HEAD467,11004 -#define IRQ0_CNTL 469,11093 -#define IRQ_ADDRSEL(IRQ_ADDRSEL470,11119 -#define IRQ_INT_A 471,11151 -#define IRQ_INT_B 472,11178 -#define IRQ_INT_C 473,11205 -#define IRQ_INT_D 474,11232 -#define IRQ_TYPE_ADDR 475,11259 -#define IRQ_TYPE_LINE 476,11287 -#define IRQ0_DATA 477,11315 -#define IRQ1_BASE 479,11342 -#define IRQ1_HEAD 480,11368 -#define IRQ1_CNTL 481,11394 -#define IRQ1_DATA 482,11420 -#define IRQ2_BASE 484,11447 -#define IRQ2_HEAD 485,11473 -#define IRQ2_CNTL 486,11499 -#define IRQ2_DATA 487,11525 -#define IRQ3_BASE 489,11552 -#define IRQ3_HEAD 490,11578 -#define IRQ3_CNTL 491,11604 -#define IRQ3_DATA 492,11630 -#define GRP_10_MAP 494,11657 -#define GRP_32_MAP 495,11684 -#define GRP_54_MAP 496,11711 -#define GRP_76_MAP 497,11738 -#define G0_RBPS_S 499,11766 -#define G0_RBPS_T 500,11792 -#define RBP_TAIL(RBP_TAIL501,11818 -#define RBP_MASK(RBP_MASK502,11849 -#define G0_RBPS_QI 503,11884 -#define RBP_QSIZE(RBP_QSIZE504,11911 -#define RBP_INT_ENB 505,11944 -#define RBP_THRESH(RBP_THRESH506,11974 -#define G0_RBPS_BS 507,12002 -#define G0_RBPL_S 508,12029 -#define G0_RBPL_T 509,12055 -#define G0_RBPL_QI 510,12081 -#define G0_RBPL_BS 511,12109 -#define G1_RBPS_S 513,12137 -#define G1_RBPS_T 514,12163 -#define G1_RBPS_QI 515,12189 -#define G1_RBPS_BS 516,12216 -#define G1_RBPL_S 517,12243 -#define G1_RBPL_T 518,12269 -#define G1_RBPL_QI 519,12295 -#define G1_RBPL_BS 520,12322 -#define G2_RBPS_S 522,12350 -#define G2_RBPS_T 523,12376 -#define G2_RBPS_QI 524,12402 -#define G2_RBPS_BS 525,12429 -#define G2_RBPL_S 526,12456 -#define G2_RBPL_T 527,12482 -#define G2_RBPL_QI 528,12508 -#define G2_RBPL_BS 529,12535 -#define G3_RBPS_S 531,12563 -#define G3_RBPS_T 532,12589 -#define G3_RBPS_QI 533,12615 -#define G3_RBPS_BS 534,12642 -#define G3_RBPL_S 535,12669 -#define G3_RBPL_T 536,12695 -#define G3_RBPL_QI 537,12721 -#define G3_RBPL_BS 538,12748 -#define G4_RBPS_S 540,12776 -#define G4_RBPS_T 541,12802 -#define G4_RBPS_QI 542,12828 -#define G4_RBPS_BS 543,12855 -#define G4_RBPL_S 544,12882 -#define G4_RBPL_T 545,12908 -#define G4_RBPL_QI 546,12934 -#define G4_RBPL_BS 547,12961 -#define G5_RBPS_S 549,12989 -#define G5_RBPS_T 550,13015 -#define G5_RBPS_QI 551,13041 -#define G5_RBPS_BS 552,13068 -#define G5_RBPL_S 553,13095 -#define G5_RBPL_T 554,13121 -#define G5_RBPL_QI 555,13147 -#define G5_RBPL_BS 556,13174 -#define G6_RBPS_S 558,13202 -#define G6_RBPS_T 559,13228 -#define G6_RBPS_QI 560,13254 -#define G6_RBPS_BS 561,13281 -#define G6_RBPL_S 562,13308 -#define G6_RBPL_T 563,13334 -#define G6_RBPL_QI 564,13360 -#define G6_RBPL_BS 565,13387 -#define G7_RBPS_S 567,13415 -#define G7_RBPS_T 568,13441 -#define G7_RBPS_QI 569,13467 -#define G7_RBPS_BS 570,13494 -#define G7_RBPL_S 572,13522 -#define G7_RBPL_T 573,13548 -#define G7_RBPL_QI 574,13574 -#define G7_RBPL_BS 575,13601 -#define G0_RBRQ_ST 577,13629 -#define G0_RBRQ_H 578,13656 -#define G0_RBRQ_Q 579,13682 -#define RBRQ_THRESH(RBRQ_THRESH580,13708 -#define RBRQ_SIZE(RBRQ_SIZE581,13743 -#define G0_RBRQ_I 582,13770 -#define RBRQ_TIME(RBRQ_TIME583,13796 -#define RBRQ_COUNT(RBRQ_COUNT584,13828 -#define G0_TBRQ_B_T 588,13886 -#define G0_TBRQ_H 589,13914 -#define G0_TBRQ_S 590,13940 -#define G0_TBRQ_THRESH 591,13966 -#define TBRQ_THRESH(TBRQ_THRESH592,13997 -#define RH_CONFIG 596,14056 -#define PHY_INT_ENB 597,14082 -#define OAM_GID(OAM_GID598,14111 -#define PTMR_PRE(PTMR_PRE599,14138 -#define G0_INMQ_S 601,14164 -#define G0_INMQ_L 602,14190 -#define G1_INMQ_S 603,14216 -#define G1_INMQ_L 604,14242 -#define G2_INMQ_S 605,14268 -#define G2_INMQ_L 606,14294 -#define G3_INMQ_S 607,14320 -#define G3_INMQ_L 608,14346 -#define G4_INMQ_S 609,14372 -#define G4_INMQ_L 610,14398 -#define G5_INMQ_S 611,14424 -#define G5_INMQ_L 612,14450 -#define G6_INMQ_S 613,14476 -#define G6_INMQ_L 614,14502 -#define G7_INMQ_S 615,14528 -#define G7_INMQ_L 616,14554 -#define TPDRQ_B_H 618,14581 -#define TPDRQ_T 619,14607 -#define TPDRQ_S 620,14632 -#define UBUFF_BA 622,14658 -#define RLBF0_H 624,14684 -#define RLBF0_T 625,14709 -#define RLBF1_H 626,14734 -#define RLBF1_T 627,14759 -#define RLBC_H 628,14784 -#define RLBC_T 629,14808 -#define RLBC_H2 630,14832 -#define TLBF_H 631,14857 -#define TLBF_T 632,14881 -#define RLBF0_C 633,14905 -#define RLBF1_C 634,14930 -#define RXTHRSH 635,14955 -#define LITHRSH 636,14980 -#define LBARB 638,15006 -#define SLICE_X(SLICE_X639,15029 -#define ARB_RNUM_MAX(ARB_RNUM_MAX640,15059 -#define TH_PRTY(TH_PRTY641,15093 -#define RH_PRTY(RH_PRTY642,15123 -#define TL_PRTY(TL_PRTY643,15153 -#define RL_PRTY(RL_PRTY644,15183 -#define BUS_MULTI(BUS_MULTI645,15213 -#define NET_PREF(NET_PREF646,15244 -#define SDRAMCON 648,15272 -#define BANK_ON 649,15297 -#define WIDE_DATA 650,15323 -#define TWR_WAIT 651,15351 -#define TRP_WAIT 652,15378 -#define TRAS_WAIT 653,15405 -#define REF_RATE(REF_RATE654,15433 -#define LBSTAT 656,15460 -#define RCC_STAT 658,15485 -#define RCC_BUSY 659,15510 -#define TCMCONFIG 661,15534 -#define TM_DESL2 662,15560 -#define TM_BANK_WAIT(TM_BANK_WAIT663,15587 -#define TM_ADD_BANK4(TM_ADD_BANK4664,15619 -#define TM_PAR_CHECK(TM_PAR_CHECK665,15651 -#define TM_RW_WAIT(TM_RW_WAIT666,15683 -#define TM_SRAM_TYPE(TM_SRAM_TYPE667,15714 -#define TSRB_BA 669,15744 -#define TSRC_BA 670,15770 -#define TMABR_BA 671,15796 -#define TPD_BA 672,15822 -#define TSRD_BA 673,15847 -#define TX_CONFIG 675,15874 -#define DRF_THRESH(DRF_THRESH676,15900 -#define TX_UT_MODE(TX_UT_MODE677,15932 -#define TX_VCI_MASK(TX_VCI_MASK678,15964 -#define LBFREE_CNT(LBFREE_CNT679,15997 -#define TXAAL5_PROTO 681,16026 -#define CPCS_UU(CPCS_UU682,16055 -#define CPI(CPI683,16083 -#define RCMCONFIG 685,16106 -#define RM_DESL2(RM_DESL2686,16132 -#define RM_BANK_WAIT(RM_BANK_WAIT687,16162 -#define RM_ADD_BANK(RM_ADD_BANK688,16194 -#define RM_PAR_CHECK(RM_PAR_CHECK689,16226 -#define RM_RW_WAIT(RM_RW_WAIT690,16258 -#define RM_SRAM_TYPE(RM_SRAM_TYPE691,16289 -#define RCMRSRB_BA 693,16319 -#define RCMLBM_BA 694,16346 -#define RCMABR_BA 695,16372 -#define RC_CONFIG 697,16399 -#define UT_RD_DELAY(UT_RD_DELAY698,16425 -#define WRAP_MODE(WRAP_MODE699,16458 -#define RC_UT_MODE(RC_UT_MODE700,16489 -#define RX_ENABLE 701,16520 -#define RX_VALVP(RX_VALVP702,16547 -#define RX_VALVC(RX_VALVC703,16576 -#define MCC 705,16603 -#define OEC 706,16624 -#define DCC 707,16645 -#define CEC 708,16666 -#define HSP_BA 710,16688 -#define LB_CONFIG 712,16713 -#define LB_SIZE(LB_SIZE713,16739 -#define CON_DAT 715,16765 -#define CON_CTL 716,16790 -#define CON_CTL_MBOX 717,16815 -#define CON_CTL_TCM 718,16846 -#define CON_CTL_RCM 719,16876 -#define CON_CTL_WRITE 720,16906 -#define CON_CTL_READ 721,16938 -#define CON_CTL_BUSY 722,16969 -#define CON_BYTE_DISABLE_3 723,17000 -#define CON_BYTE_DISABLE_2 724,17050 -#define CON_BYTE_DISABLE_1 725,17100 -#define CON_BYTE_DISABLE_0 726,17149 -#define CON_CTL_ADDR(CON_CTL_ADDR727,17197 -#define FRAMER 729,17227 -#define CS_STPER0 733,17329 -#define CS_STPER31 735,17362 -#define CS_STTIM0 737,17388 -#define CS_STTIM31 739,17423 -#define CS_TGRLD0 741,17449 -#define CS_TGRLD15 743,17484 -#define CS_ERTHR0 745,17510 -#define CS_ERTHR1 746,17534 -#define CS_ERTHR2 747,17558 -#define CS_ERTHR3 748,17582 -#define CS_ERTHR4 749,17606 -#define CS_ERCTL0 750,17630 -#define TX_ENABLE 751,17654 -#define ER_ENABLE 752,17682 -#define CS_ERCTL1 753,17710 -#define CS_ERCTL2 754,17734 -#define CS_ERSTAT0 755,17758 -#define CS_ERSTAT1 756,17783 -#define CS_RTCCT 758,17809 -#define CS_RTFWC 759,17832 -#define CS_RTFWR 760,17855 -#define CS_RTFTC 761,17878 -#define CS_RTATR 762,17901 -#define CS_TFBSET 764,17925 -#define CS_TFBADD 765,17949 -#define CS_TFBSUB 766,17973 -#define CS_WCRMAX 767,17997 -#define CS_WCRMIN 768,18021 -#define CS_WCRINC 769,18045 -#define CS_WCRDEC 770,18069 -#define CS_WCRCEIL 771,18093 -#define CS_BWDCNT 772,18118 -#define CS_OTPPER 774,18143 -#define CS_OTWPER 775,18167 -#define CS_OTTLIM 776,18191 -#define CS_OTTCNT 777,18215 -#define CS_HGRRT0 779,18240 -#define CS_HGRRT7 781,18275 -#define CS_ORPTRS 783,18300 -#define RXCON_CLOSE 785,18325 -#define RCM_MEM_SIZE 788,18353 -#define TCM_MEM_SIZE 789,18412 -#define TSR0_CONN_STATE(TSR0_CONN_STATE793,18520 -#define TSR0_USE_WMIN 794,18563 -#define TSR0_GROUP(TSR0_GROUP795,18594 -#define TSR0_ABR 796,18633 -#define TSR0_UBR 797,18659 -#define TSR0_CBR 798,18685 -#define TSR0_PROT 799,18711 -#define TSR0_AAL0_SDU 800,18738 -#define TSR0_AAL0 801,18769 -#define TSR0_AAL5 802,18796 -#define TSR0_HALT_ER 803,18823 -#define TSR0_MARK_CI 804,18853 -#define TSR0_MARK_ER 805,18883 -#define TSR0_UPDATE_GER 806,18912 -#define TSR0_RC_INDEX(TSR0_RC_INDEX807,18944 -#define TSR1_PCR(TSR1_PCR809,18981 -#define TSR1_MCR(TSR1_MCR810,19021 -#define TSR2_ACR(TSR2_ACR812,19056 -#define TSR3_NRM_CNT(TSR3_NRM_CNT814,19097 -#define TSR3_CRM_CNT(TSR3_CRM_CNT815,19139 -#define TSR4_FLUSH_CONN 817,19178 -#define TSR4_SESSION_ENDED 818,19211 -#define TSR4_CRC10 819,19246 -#define TSR4_NULL_CRC10 820,19274 -#define TSR4_PROT 821,19307 -#define TSR4_AAL0_SDU 822,19334 -#define TSR4_AAL0 823,19365 -#define TSR4_AAL5 824,19392 -#define TSR9_OPEN_CONN 826,19420 -#define TSR11_ICR(TSR11_ICR828,19453 -#define TSR11_TRM(TSR11_TRM829,19494 -#define TSR11_NRM(TSR11_NRM830,19532 -#define TSR11_ADTF(TSR11_ADTF831,19570 -#define TSR13_RDF(TSR13_RDF833,19606 -#define TSR13_RIF(TSR13_RIF834,19644 -#define TSR13_CDF(TSR13_CDF835,19682 -#define TSR13_CRM(TSR13_CRM836,19720 -#define TSR14_DELETE 838,19756 -#define TSR14_ABR_CLOSE 839,19786 -#define RSR0_START_PDU 843,19873 -#define RSR0_OPEN_CONN 844,19904 -#define RSR0_CLOSE_CONN 845,19934 -#define RSR0_PPD_ENABLE 846,19965 -#define RSR0_EPD_ENABLE 847,19996 -#define RSR0_TCP_CKSUM 848,20027 -#define RSR0_AAL5 849,20057 -#define RSR0_AAL0 850,20080 -#define RSR0_AAL0_SDU 851,20103 -#define RSR0_RAWCELL 852,20130 -#define RSR0_RAWCELL_CRC10 853,20156 -#define RSR1_AQI_ENABLE 855,20188 -#define RSR1_RBPL_ONLY 856,20220 -#define RSR1_GROUP(RSR1_GROUP857,20251 -#define RSR4_AQI_ENABLE 859,20284 -#define RSR4_GROUP(RSR4_GROUP860,20316 -#define RSR4_RBPL_ONLY 861,20348 -#define TPD_USERCELL 865,20420 -#define TPD_SEGMENT_OAMF5 866,20446 -#define TPD_END2END_OAMF5 867,20476 -#define TPD_RMCELL 868,20506 -#define TPD_CELLTYPE(TPD_CELLTYPE869,20530 -#define TPD_EOS 870,20562 -#define TPD_CLP 871,20587 -#define TPD_INT 872,20612 -#define TPD_LST 873,20637 -#define PROD_ID 877,20706 -#define PROD_ID_LEN 878,20741 -#define HW_REV 879,20765 -#define M_SN 880,20799 -#define MEDIA 881,20832 -#define HE155MM 882,20866 -#define HE155SM 883,20888 -#define HE622MM 884,20910 -#define HE622SM 885,20932 -#define MAC_ADDR 886,20954 -#define CS_LOW 888,20990 -#define CS_HIGH 889,21010 -#define CLK_LOW 890,21061 -#define CLK_HIGH 891,21082 -#define SI_HIGH 892,21138 -#define EEPROM_DELAY 893,21194 -unsigned int readtab[896,21275 -unsigned int clocktab[917,21751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/zeprom.h,389 -#define DRIVER_ATM_ZEPROM_H7,161 -#define ZEPROM_V1_REG 11,248 -#define ZEPROM_V2_REG 12,303 -#define ZEPROM_SK 16,362 -#define ZEPROM_CS 17,431 -#define ZEPROM_DI 18,478 -#define ZEPROM_DO 19,524 -#define ZEPROM_SIZE 21,572 -#define ZEPROM_V1_ESI_OFF 22,611 -#define ZEPROM_V2_ESI_OFF 23,673 -#define ZEPROM_CMD_LEN 25,735 -#define ZEPROM_ADDR_LEN 26,791 -#define ZEPROM_CMD_READ 30,873 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/suni.c,807 -#define DPRINTK(DPRINTK27,552 -#define DPRINTK(DPRINTK29,623 -struct suni_priv suni_priv33,664 -#define PRIV(PRIV41,875 -#define PUT(PUT43,931 -#define GET(GET44,990 -#define REG_CHANGE(REG_CHANGE45,1041 -static struct timer_list poll_timer;49,1141 -static struct suni_priv *sunis 50,1178 -static spinlock_t sunis_lock 51,1217 -#define ADD_LIMITED(ADD_LIMITED54,1270 -static void suni_hz(59,1399 -static int fetch_stats(98,2602 -#define HANDLE_FLAG(HANDLE_FLAG110,2939 -static int change_diag(118,3102 -static int get_diag(138,3790 -static int set_loopback(155,4422 -static int suni_ioctl(178,4823 -static void poll_los(212,5748 -static void suni_int(219,5889 -static int suni_start(227,6090 -static int suni_stop(266,7198 -static const struct atmphy_ops suni_ops 284,7621 -int suni_init(292,7761 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/fore200e_mkfirm.c,196 -char* default_basename 17,421 -char* default_infname 18,511 -char* default_outfname 19,547 -char* progname;21,585 -int verbose 22,601 -int inkernel 23,621 -void usage(26,643 -int main(35,789 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/uPD98402.c,656 -#define DPRINTK(DPRINTK20,399 -#define DPRINTK(DPRINTK22,470 -struct uPD98402_priv uPD98402_priv26,511 -#define PRIV(PRIV34,701 -#define PUT(PUT36,761 -#define GET(GET37,824 -static int fetch_stats(40,881 -static int set_framing(58,1413 -static int get_sense(86,2030 -static int set_loopback(102,2469 -static int uPD98402_ioctl(135,3095 -#define ADD_LIMITED(ADD_LIMITED163,3894 -static void stat_event(169,4081 -static void uPD98402_int(185,4508 -static int uPD98402_start(210,5211 -static int uPD98402_stop(232,6033 -static const struct atmphy_ops uPD98402_ops 240,6169 -int uPD98402_init(248,6329 -static __init int uPD98402_module_init(260,6490 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/tonga.h,268 -#define DRIVER_ATM_TONGA_H7,162 -#define PCI_TONGA_CTRL 9,190 -#define END_SWAP_DMA 11,242 -#define END_SWAP_BYTE 12,293 -#define END_SWAP_WORD 13,361 -#define SEPROM_MAGIC 14,429 -#define SEPROM_DATA 15,498 -#define SEPROM_CLK 16,560 -#define SEPROM_ESI_BASE 18,623 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/fore200e.c,4094 -#define FORE200E_USE_TASKLET60,1904 -#define FORE200E_BSQ_DEBUG64,2007 -#define FORE200E_52BYTE_AAL0_SDU68,2129 -#define FORE200E_VERSION 74,2211 -#define FORE200E 76,2244 -#define CONFIG_ATM_FORE200E_DEBUG 79,2312 -#define DPRINTK(DPRINTK82,2429 -#define DPRINTK(DPRINTK85,2620 -#define FORE200E_ALIGN(FORE200E_ALIGN89,2686 -#define FORE200E_DMA_INDEX(FORE200E_DMA_INDEX92,2826 -#define FORE200E_INDEX(FORE200E_INDEX94,2916 -#define FORE200E_NEXT_ENTRY(FORE200E_NEXT_ENTRY96,3002 -#define MSECS(MSECS99,3086 -#define ASSERT(ASSERT103,3132 -#define ASSERT(ASSERT109,3334 -static const struct atmdev_ops fore200e_ops;113,3384 -static const struct fore200e_bus fore200e_bus[114,3431 -static struct fore200e* fore200e_boards 116,3481 -static const int fore200e_rx_buf_nbr[124,3750 -static const int fore200e_rx_buf_size[129,3910 -static const char* fore200e_traffic_class[136,4150 -fore200e_fore2atm_aal(142,4293 -fore200e_atm2fore_aal(156,4548 -fore200e_irq_itoa(171,4808 -fore200e_kmalloc(184,4990 -fore200e_kfree(198,5250 -fore200e_chunk_alloc(208,5461 -fore200e_chunk_free(237,6206 -fore200e_spin(246,6424 -fore200e_poll(254,6561 -fore200e_io_poll(278,7014 -fore200e_free_rx_buf(301,7475 -fore200e_uninit_bs_queue(325,8000 -fore200e_reset(346,8552 -fore200e_shutdown(374,9203 -static u32 fore200e_pca_read(443,11068 -static void fore200e_pca_write(451,11270 -fore200e_pca_dma_map(460,11493 -fore200e_pca_dma_unmap(472,11877 -fore200e_pca_dma_sync_for_cpu(482,12188 -fore200e_pca_dma_sync_for_device(490,12506 -fore200e_pca_dma_chunk_alloc(502,13008 -fore200e_pca_dma_chunk_free(523,13556 -fore200e_pca_irq_check(533,13774 -fore200e_pca_irq_ack(549,14190 -fore200e_pca_reset(556,14313 -fore200e_pca_map(565,14500 -fore200e_pca_unmap(589,15271 -fore200e_pca_configure(599,15484 -fore200e_pca_detect(640,16820 -fore200e_pca_prom_read(673,17627 -#define swap_here(swap_here707,18715 -fore200e_pca_proc_read(719,18946 -fore200e_sba_read(733,19308 -fore200e_sba_write(740,19393 -fore200e_sba_dma_map(747,19486 -fore200e_sba_dma_unmap(759,19871 -fore200e_sba_dma_sync_for_cpu(769,20186 -fore200e_sba_dma_sync_for_device(777,20511 -fore200e_sba_dma_chunk_alloc(789,21017 -fore200e_sba_dma_chunk_free(811,21587 -fore200e_sba_irq_enable(821,21811 -fore200e_sba_irq_check(829,22037 -fore200e_sba_irq_ack(836,22184 -fore200e_sba_reset(844,22408 -fore200e_sba_map(853,22623 -fore200e_sba_unmap(885,23833 -fore200e_sba_configure(895,24179 -fore200e_sba_detect(903,24328 -fore200e_sba_prom_read(946,25343 -fore200e_sba_proc_read(970,26055 -fore200e_tx_irq(980,26342 -int bsq_audit(1078,29115 -fore200e_supply(1120,30302 -fore200e_push_rpd(1178,31910 -fore200e_collect_rpd(1272,34520 -fore200e_rx_irq(1305,35333 -fore200e_irq(1360,36710 -fore200e_interrupt(1376,37077 -fore200e_tx_tasklet(1401,37720 -fore200e_rx_tasklet(1415,38079 -fore200e_select_scheme(1430,38462 -fore200e_activate_vcin(1443,38779 -#define FORE200E_MAX_BACK2BACK_CELLS 1505,40734 -fore200e_rate_ctrl(1508,40817 -fore200e_open(1524,41257 -fore200e_close(1633,44534 -fore200e_send(1683,45916 -fore200e_getstats(1870,51304 -fore200e_getsockopt(1914,52588 -fore200e_setsockopt(1926,52951 -fore200e_get_oc3(1939,53351 -fore200e_set_oc3(1979,54516 -fore200e_setloop(2015,55518 -fore200e_swap(2051,56151 -fore200e_fetch_stats(2062,56279 -fore200e_ioctl(2091,57550 -fore200e_change_qos(2120,58327 -fore200e_irq_request(2169,59845 -fore200e_get_esi(2192,60545 -fore200e_alloc_rx_buf(2224,61404 -fore200e_init_bs_queue(2289,62968 -fore200e_init_rx_queue(2352,65030 -fore200e_init_tx_queue(2413,66923 -fore200e_init_cmd_queue(2477,69040 -fore200e_param_bs_queue(2520,70338 -fore200e_initialize(2534,70965 -fore200e_monitor_putc(2586,72659 -fore200e_monitor_getc(2598,72926 -fore200e_monitor_puts(2623,73457 -fore200e_start_fw(2638,73793 -fore200e_load_fw(2669,74647 -fore200e_register(2695,75416 -fore200e_init(2722,76073 -fore200e_module_init(2774,77153 -fore200e_module_cleanup(2814,78104 -fore200e_proc_read(2828,78366 -static const struct atmdev_ops fore200e_ops 3120,88617 -static const struct fore200e_bus fore200e_bus[3143,89243 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/eni.c,3201 -#define ioremap_nocache(ioremap_nocache36,820 -#define DPRINTK(DPRINTK67,1442 -#define DPRINTK(DPRINTK69,1513 -#define CONFIG_ATM_ENI_BURST_TX_8W74,1588 -#define CONFIG_ATM_ENI_BURST_RX_4W75,1623 -#define NULLCHECK(NULLCHECK82,1698 -#define EVENT(EVENT84,1720 -static void event_dump(87,1743 -#define NULLCHECK(NULLCHECK99,1820 -#define EV 108,2051 -static const char *ev[110,2066 -static unsigned long ev_a[111,2093 -static unsigned long ev_a[EV],ev_b[111,2093 -static int ec 112,2133 -static void EVENT(115,2154 -static void event_dump(124,2288 -#define NEPJOK(NEPJOK146,2665 -#define EEPJOK(EEPJOK148,2765 -#define NEPMOK(NEPMOK150,2865 -#define EEPMOK(EEPMOK151,2918 -static int tx_complete 154,2973 -static struct atm_dev *eni_boards 158,3133 -static u32 *cpu_zeroes 160,3176 -static dma_addr_t zeroes;161,3236 -#define eni_in(eni_in164,3298 -#define eni_out(eni_out165,3342 -static void dump_mem(171,3478 -static void dump(182,3695 -static void eni_put_free(206,4344 -static void __iomem *eni_alloc_mem(239,5152 -static void eni_free_mem(276,6264 -#define ENI_VCC_NOS 313,7320 -static void rx_ident_err(316,7365 -static int do_rx_dma(347,8395 -static void discard(494,12390 -static int rx_aal0(512,12942 -static int rx_aal5(549,13793 -static inline int rx_vcc(618,15746 -static void poll_rx(657,17034 -static void get_service(682,17586 -static void dequeue_rx(726,18777 -static int open_rx_first(781,20173 -static int open_rx_second(810,20965 -static void close_rx(841,21981 -static int start_rx(905,23875 -enum enq_res enq_res932,24635 -enum enq_res { enq_ok,932,24635 -enum enq_res { enq_ok,enq_next,932,24635 -enum enq_res { enq_ok,enq_next,enq_jam 932,24635 -static inline void put_dma(935,24679 -static enum enq_res do_tx(1034,27729 -static void poll_tx(1182,32775 -static void dequeue_tx(1206,33236 -static struct eni_tx *alloc_tx(1240,34157 -static int comp_tx(1250,34334 -static int reserve_or_set_tx(1287,35272 -static int open_tx_first(1375,37661 -static int open_tx_second(1384,37872 -static void close_tx(1390,37956 -static int start_tx(1433,39163 -static void foo(1459,39730 -static void bug_int(1472,40105 -static irqreturn_t eni_int(1493,40724 -static void eni_tasklet(1529,41639 -static const char *media_name[1576,42881 -static const char *media_name[] __devinitdata 1576,42881 -#define SET_SEPROM 1588,43288 -#define GET_SEPROM 1593,43464 -static int __devinit get_esi_asic(1600,43642 -static int __devinit get_esi_fpga(1692,45547 -static int __devinit eni_do_init(1703,45798 -static int __devinit eni_start(1793,48832 -static void eni_close(1873,51506 -static int eni_open(1889,51837 -static int eni_change_qos(1937,53082 -static int eni_ioctl(1976,54411 -static int eni_getsockopt(2016,55559 -static int eni_setsockopt(2023,55687 -static int eni_send(2030,55815 -static void eni_phy_put(2065,56652 -static unsigned char eni_phy_get(2073,56789 -static int eni_proc_read(2079,56909 -static const struct atmdev_ops ops 2200,60210 -static int __devinit eni_init_one(2214,60509 -static struct pci_device_id eni_pci_tbl[2260,61535 -static void __devexit eni_remove_one(2270,61826 -static struct pci_driver eni_driver 2276,61906 -static int __init eni_init(2284,62064 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/midway.h,4805 -#define DRIVERS_ATM_MIDWAY_H7,167 -#define NR_VCI 10,198 -#define NR_VCI_LD 11,241 -#define NR_DMA_RX 12,282 -#define NR_DMA_TX 13,332 -#define NR_SERVICE 14,382 -#define NR_CHAN 15,433 -#define TS_CLOCK 16,481 -#define MAP_MAX_SIZE 18,546 -#define EPROM_SIZE 19,613 -#define MEM_VALID 20,643 -#define PHY_BASE 21,706 -#define REG_BASE 22,767 -#define RAM_BASE 23,832 -#define RAM_INCREMENT 24,885 -#define MID_VCI_BASE 26,951 -#define MID_DMA_RX_BASE 27,981 -#define MID_DMA_TX_BASE 28,1030 -#define MID_SERVICE_BASE 29,1084 -#define MID_FREE_BASE 30,1139 -#define MAC_LEN 32,1194 -#define MID_MIN_BUF_SIZE 34,1225 -#define MID_MAX_BUF_SIZE 35,1282 -#define RX_DESCR_SIZE 37,1343 -#define TX_DESCR_SIZE 38,1401 -#define AAL5_TRAILER 39,1460 -#define TX_GAP 41,1537 -#define MID_RES_ID_MCON 49,1685 -#define MID_ID 51,1738 -#define MID_SHIFT 52,1786 -#define MID_MOTHER_ID 53,1807 -#define MID_MOTHER_SHIFT 54,1862 -#define MID_CON_TI 55,1889 -#define MID_CON_SUNI 56,1950 -#define MID_CON_V6 57,2007 -#define DAUGTHER_ID 59,2106 -#define MID_ISA 65,2239 -#define MID_IS 66,2297 -#define MID_IE 67,2342 -#define MID_TX_COMPLETE_7 69,2388 -#define MID_TX_COMPLETE_6 70,2457 -#define MID_TX_COMPLETE_5 71,2513 -#define MID_TX_COMPLETE_4 72,2550 -#define MID_TX_COMPLETE_3 73,2587 -#define MID_TX_COMPLETE_2 74,2624 -#define MID_TX_COMPLETE_1 75,2661 -#define MID_TX_COMPLETE_0 76,2698 -#define MID_TX_COMPLETE 77,2735 -#define MID_TX_DMA_OVFL 78,2783 -#define MID_TX_IDENT_MISM 79,2848 -#define MID_DMA_LERR_ACK 80,2920 -#define MID_DMA_ERR_ACK 81,2976 -#define MID_RX_DMA_COMPLETE 82,3027 -#define MID_TX_DMA_COMPLETE 83,3089 -#define MID_SERVICE 84,3153 -#define MID_SUNI_INT 85,3216 -#define MID_STAT_OVFL 86,3274 -#define MID_MC_S 92,3367 -#define MID_INT_SELECT 94,3390 -#define MID_INT_SEL_SHIFT 95,3457 -#define MID_TX_LOCK_MODE 96,3485 -#define MID_DMA_ENABLE 97,3558 -#define MID_TX_ENABLE 99,3658 -#define MID_RX_ENABLE 101,3762 -#define MID_WAIT_1MS 102,3809 -#define MID_WAIT_500US 105,3948 -#define MID_STAT 113,4065 -#define MID_VCI_TRASH 115,4089 -#define MID_VCI_TRASH_SHIFT 116,4162 -#define MID_OVFL_TRASH 117,4193 -#define MID_SERV_WRITE 123,4297 -#define MID_DMA_ADDR 124,4369 -#define MID_DMA_WR_RX 125,4434 -#define MID_DMA_RD_RX 126,4480 -#define MID_DMA_WR_TX 127,4507 -#define MID_DMA_RD_TX 128,4534 -#define MID_TX_PLACE(MID_TX_PLACE134,4615 -#define MID_SIZE 136,4653 -#define MID_SIZE_SHIFT 137,4708 -#define MID_LOCATION 138,4734 -#define MID_LOC_SKIP 140,4807 -#define MID_TX_RDPTR(MID_TX_RDPTR147,4970 -#define MID_READ_PTR 149,5008 -#define MID_TX_DESCRSTART(MID_TX_DESCRSTART155,5123 -#define MID_DESCR_START 157,5166 -#define ENI155_MAGIC 159,5231 -struct midway_eprom midway_eprom161,5264 -#define MID_VCI_IN_SERVICE 173,5434 -#define MID_VCI_SIZE 175,5527 -#define MID_VCI_SIZE_SHIFT 177,5611 -#define MID_VCI_LOCATION 178,5641 -#define MID_VCI_LOCATION_SHIFT 179,5699 -#define MID_VCI_PTI_MODE 180,5733 -#define MID_VCI_MODE 181,5797 -#define MID_VCI_MODE_SHIFT 182,5830 -#define MID_VCI_READ 183,5860 -#define MID_VCI_READ_SHIFT 184,5893 -#define MID_VCI_DESCR 185,5922 -#define MID_VCI_DESCR_SHIFT 186,5956 -#define MID_VCI_COUNT 187,5987 -#define MID_VCI_COUNT_SHIFT 188,6021 -#define MID_VCI_STATE 189,6051 -#define MID_VCI_STATE_SHIFT 190,6085 -#define MID_VCI_WRITE 191,6116 -#define MID_VCI_WRITE_SHIFT 192,6150 -#define MID_MODE_TRASH 194,6182 -#define MID_MODE_RAW 195,6207 -#define MID_MODE_AAL5 196,6230 -#define MID_RED_COUNT 202,6295 -#define MID_RED_CRC_ERR 203,6329 -#define MID_RED_T 204,6365 -#define MID_RED_CE 205,6395 -#define MID_RED_CLP 206,6426 -#define MID_RED_IDEN 207,6458 -#define MID_RED_SHIFT 208,6491 -#define MID_RED_RX_ID 210,6518 -#define MID_SEG_COUNT 216,6616 -#define MID_SEG_RATE 217,6653 -#define MID_SEG_RATE_SHIFT 218,6686 -#define MID_SEG_PR 219,6716 -#define MID_SEG_PR_SHIFT 220,6747 -#define MID_SEG_AAL5 221,6775 -#define MID_SEG_ID 222,6808 -#define MID_SEG_ID_SHIFT 223,6839 -#define MID_SEG_MAX_RATE 224,6867 -#define MID_SEG_CLP 226,6896 -#define MID_SEG_PTI 227,6928 -#define MID_SEG_PTI_SHIFT 228,6960 -#define MID_SEG_VCI 229,6988 -#define MID_SEG_VCI_SHIFT 230,7020 -#define MID_SEG_TX_ID 232,7049 -#define MID_DMA_COUNT 238,7125 -#define MID_DMA_COUNT_SHIFT 239,7159 -#define MID_DMA_END 240,7190 -#define MID_DMA_TYPE 241,7222 -#define MID_DT_JK 243,7256 -#define MID_DT_WORD 244,7278 -#define MID_DT_2W 245,7302 -#define MID_DT_4W 246,7324 -#define MID_DT_8W 247,7346 -#define MID_DT_16W 248,7368 -#define MID_DT_2WM 249,7391 -#define MID_DT_4WM 250,7414 -#define MID_DT_8WM 251,7437 -#define MID_DT_16WM 252,7460 -#define MID_DMA_VCI 255,7502 -#define MID_DMA_VCI_SHIFT 256,7534 -#define MID_DMA_CHAN 259,7581 -#define MID_DMA_CHAN_SHIFT 260,7614 -#define MID_DT_BYTE 262,7644 -#define MID_DT_HWORD 263,7668 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/firestream.c,3340 -static int loopback 58,1805 -static int num=59,1830 -#define NP 84,3027 -int rx_buf_sizes[85,3055 -int rx_pool_sizes[89,3210 -int rx_pool_sizes[92,3300 -static char *res_strings[151,5378 -static char *irq_bitname[214,6762 -#define PHY_EOF 245,7099 -#define PHY_CLEARALL 246,7118 -struct reginit_item reginit_item248,7143 -struct reginit_item PHY_NTC_INIT[253,7185 -struct reginit_item PHY_NTC_INIT[] __devinitdata 253,7185 -#define DEBUG288,8444 -#define fs_dprintk(fs_dprintk291,8472 -#define fs_dprintk(fs_dprintk293,8539 -static int fs_keystream 297,8592 -static int fs_debug 302,8787 -#define fs_debug 304,8818 -#define FS_DEBUG_FLOW 318,9074 -#define FS_DEBUG_OPEN 319,9110 -#define FS_DEBUG_QUEUE 320,9146 -#define FS_DEBUG_IRQ 321,9182 -#define FS_DEBUG_INIT 322,9218 -#define FS_DEBUG_SEND 323,9254 -#define FS_DEBUG_PHY 324,9290 -#define FS_DEBUG_CLEANUP 325,9326 -#define FS_DEBUG_QOS 326,9362 -#define FS_DEBUG_TXQ 327,9398 -#define FS_DEBUG_ALLOC 328,9434 -#define FS_DEBUG_TXMEM 329,9470 -#define FS_DEBUG_QSIZE 330,9506 -#define func_enter(func_enter333,9544 -#define func_exit(func_exit334,9624 -struct fs_dev *fs_boards 337,9706 -static void my_hd 341,9754 -static void my_hd 364,10219 -static inline void fs_kfree_skb 372,10492 -#define ROUND_UP 440,12577 -#define ROUND_DOWN 441,12601 -#define ROUND_NEAREST 442,12625 -static unsigned int make_rate 445,12719 -static inline void write_fs 573,15834 -static inline u32 read_fs 579,15945 -static inline struct FS_QENTRY *get_qentry 586,16048 -static void submit_qentry 592,16203 -static struct FS_QENTRY pq[628,17070 -static int qp;629,17102 -static struct FS_BPENTRY dq[631,17118 -static int qd;632,17151 -static void *da[633,17166 -static void submit_queue 636,17196 -#define submit_command 660,17620 -static void submit_command 663,17663 -static void process_return_queue 675,17896 -static void process_txdone_queue 701,18528 -static void process_incoming 771,20448 -#define DO_DIRECTION(DO_DIRECTION855,23006 -static int fs_open(857,23066 -static void fs_close(1097,30084 -static int fs_send 1158,32013 -static int fs_ioctl(1223,33598 -static int fs_getsockopt(1231,33732 -static int fs_setsockopt(1240,33884 -static void fs_phy_put(1249,34036 -static unsigned char fs_phy_get(1257,34166 -static int fs_change_qos(1265,34286 -static const struct atmdev_ops ops 1275,34419 -static void __devinit undocumented_pci_fix 1291,34842 -static void __devinit write_phy 1315,35455 -static int __devinit init_phy 1321,35623 -static void reset_chip 1341,36054 -static void __devinit *aligned_kmalloc 1377,37171 -static int __devinit init_q 1394,37608 -static int __devinit init_fp 1430,38523 -static inline int nr_buffers_in_freepool 1452,39056 -static void top_off_fp 1467,39442 -static void __devexit free_queue 1516,40980 -static void __devexit free_freepool 1532,41348 -static irqreturn_t fs_irq 1547,41666 -static void fs_poll 1640,44269 -static int __devinit fs_init 1650,44467 -static int __devinit firestream_init_one 1884,51183 -void __devexit firestream_remove_one 1924,52053 -int __init fs_detect(2017,54469 -int __init init_PCI 2045,55003 -static struct pci_device_id firestream_pci_tbl[2075,55580 -static struct pci_driver firestream_driver 2085,55896 -static int __init firestream_init_module 2092,56084 -static void __exit firestream_cleanup_module(2102,56242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/suni.h,4154 -#define DRIVER_ATM_SUNI_H7,153 -#define SUNI_MRI 15,256 -#define SUNI_MC 17,332 -#define SUNI_MIS 18,382 -#define SUNI_MCM 20,454 -#define SUNI_MCT 21,504 -#define SUNI_CSCS 22,548 -#define SUNI_CRCS 23,613 -#define SUNI_RSOP_CIE 25,710 -#define SUNI_RSOP_SIS 26,774 -#define SUNI_RSOP_SBL 27,837 -#define SUNI_RSOP_SBM 28,894 -#define SUNI_TSOP_CTRL 29,951 -#define SUNI_TSOP_DIAG 30,999 -#define SUNI_RLOP_CS 32,1083 -#define SUNI_RLOP_IES 33,1136 -#define SUNI_RLOP_LBL 34,1199 -#define SUNI_RLOP_LB 35,1256 -#define SUNI_RLOP_LBM 36,1308 -#define SUNI_RLOP_LFL 37,1365 -#define SUNI_RLOP_LF 38,1418 -#define SUNI_RLOP_LFM 39,1467 -#define SUNI_TLOP_CTRL 40,1520 -#define SUNI_TLOP_DIAG 41,1568 -#define SUNI_RPOP_SC 43,1652 -#define SUNI_RPOP_IS 44,1705 -#define SUNI_RPOP_IE 46,1788 -#define SUNI_RPOP_PSL 48,1876 -#define SUNI_RPOP_PBL 49,1933 -#define SUNI_RPOP_PBM 50,1987 -#define SUNI_RPOP_PFL 51,2041 -#define SUNI_RPOP_PFM 52,2094 -#define SUNI_RPOP_PBC 54,2175 -#define SUNI_TPOP_CD 56,2272 -#define SUNI_TPOP_PC 57,2329 -#define SUNI_TPOP_APL 59,2416 -#define SUNI_TPOP_APM 60,2477 -#define SUNI_TPOP_PSL 62,2566 -#define SUNI_TPOP_PS 63,2623 -#define SUNI_RACP_CS 65,2706 -#define SUNI_RACP_IES 66,2759 -#define SUNI_RACP_MHP 67,2822 -#define SUNI_RACP_MHM 68,2882 -#define SUNI_RACP_CHEC 69,2939 -#define SUNI_RACP_UHEC 70,3007 -#define SUNI_RACP_RCCL 71,3075 -#define SUNI_RACP_RCC 72,3140 -#define SUNI_RACP_RCCM 73,3200 -#define SUNI_RACP_CFG 74,3265 -#define SUNI_TACP_CS 76,3351 -#define SUNI_TACP_IUCHP 77,3404 -#define SUNI_TACP_IUCPOP 78,3474 -#define SUNI_TACP_FIFO 80,3566 -#define SUNI_TACP_TCCL 81,3625 -#define SUNI_TACP_TCC 82,3691 -#define SUNI_TACP_TCCM 83,3752 -#define SUNI_TACP_CFG 84,3818 -#define SUNI_MT 86,3904 -#define SUNI_MRI_ID 93,4027 -#define SUNI_MRI_ID_SHIFT 94,4083 -#define SUNI_MRI_TYPE 95,4112 -#define SUNI_MRI_TYPE_SHIFT 96,4173 -#define SUNI_MRI_RESET 97,4204 -#define SUNI_MCT_LOOPT 101,4343 -#define SUNI_MCT_DLE 103,4422 -#define SUNI_MCT_LLE 104,4479 -#define SUNI_MCT_FIXPTR 105,4530 -#define SUNI_MCT_LCDV 110,4732 -#define SUNI_MCT_LCDE 111,4794 -#define SUNI_RSOP_CIE_OOFE 114,4910 -#define SUNI_RSOP_CIE_LOFE 116,5005 -#define SUNI_RSOP_CIE_LOSE 118,5102 -#define SUNI_RSOP_CIE_BIPEE 120,5200 -#define SUNI_RSOP_CIE_FOOF 122,5296 -#define SUNI_RSOP_CIE_DDS 124,5386 -#define SUNI_RSOP_SIS_OOFV 127,5474 -#define SUNI_RSOP_SIS_LOFV 128,5528 -#define SUNI_RSOP_SIS_LOSV 129,5583 -#define SUNI_RSOP_SIS_OOFI 130,5639 -#define SUNI_RSOP_SIS_LOFI 131,5703 -#define SUNI_RSOP_SIS_LOSI 132,5768 -#define SUNI_RSOP_SIS_BIPEI 133,5834 -#define SUNI_TSOP_CTRL_LAIS 136,5929 -#define SUNI_TSOP_CTRL_DS 137,5999 -#define SUNI_TSOP_DIAG_DFP 140,6084 -#define SUNI_TSOP_DIAG_DBIP8 141,6152 -#define SUNI_TSOP_DIAG_DLOS 142,6222 -#define SUNI_TLOP_DIAG_DBIP 145,6324 -#define SUNI_TPOP_DIAG_PAIS 148,6427 -#define SUNI_TPOP_DIAG_DB3 149,6499 -#define SUNI_TPOP_APM_APTR 152,6600 -#define SUNI_TPOP_APM_APTR_SHIFT 154,6682 -#define SUNI_TPOP_APM_S 155,6717 -#define SUNI_TPOP_APM_S_SHIFT 157,6798 -#define SUNI_TPOP_APM_NDF 158,6830 -#define SUNI_TPOP_APM_NDF_SHIFT 159,6881 -#define SUNI_TPOP_S_SONET 161,6916 -#define SUNI_TPOP_S_SDH 162,6967 -#define SUNI_RACP_IES_FOVRI 165,7045 -#define SUNI_RACP_IES_UHCSI 166,7100 -#define SUNI_RACP_IES_CHCSI 167,7166 -#define SUNI_RACP_IES_OOCDI 168,7230 -#define SUNI_RACP_IES_FIFOE 170,7313 -#define SUNI_RACP_IES_HCSE 171,7386 -#define SUNI_RACP_IES_OOCDE 172,7455 -#define SUNI_TACP_CS_FIFORST 176,7580 -#define SUNI_TACP_CS_DSCR 177,7653 -#define SUNI_TACP_CS_HCAADD 178,7721 -#define SUNI_TACP_CS_DHCS 179,7792 -#define SUNI_TACP_CS_FOVRI 180,7851 -#define SUNI_TACP_CS_TSOCI 181,7905 -#define SUNI_TACP_CS_FIFOE 182,7962 -#define SUNI_TACP_IUCHP_CLP 185,8064 -#define SUNI_TACP_IUCHP_PTI 187,8151 -#define SUNI_TACP_IUCHP_PTI_SHIFT 189,8243 -#define SUNI_TACP_IUCHP_GFC 190,8279 -#define SUNI_TACP_IUCHP_GFC_SHIFT 192,8371 -#define SUNI_MT_HIZIO 195,8429 -#define SUNI_MT_HIZDATA 197,8517 -#define SUNI_MT_IOTST 198,8580 -#define SUNI_MT_DBCTRL 199,8635 -#define SUNI_MT_PMCTST 200,8701 -#define SUNI_MT_DS27_53 201,8753 -#define SUNI_IDLE_PATTERN 204,8824 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/iphase.h,17173 -#define IPHASE_H 44,2320 -#define IF_IADBG_INIT_ADAPTER 50,2468 -#define IF_IADBG_TX 51,2539 -#define IF_IADBG_RX 52,2601 -#define IF_IADBG_QUERY_INFO 53,2663 -#define IF_IADBG_SHUTDOWN 54,2735 -#define IF_IADBG_INTR 55,2809 -#define IF_IADBG_TXPKT 56,2882 -#define IF_IADBG_RXPKT 57,2945 -#define IF_IADBG_ERR 58,3008 -#define IF_IADBG_EVENT 59,3080 -#define IF_IADBG_DIS_INTR 60,3145 -#define IF_IADBG_EN_INTR 61,3222 -#define IF_IADBG_LOUD 62,3298 -#define IF_IADBG_VERY_LOUD 63,3366 -#define IF_IADBG_CBR 64,3444 -#define IF_IADBG_UBR 65,3494 -#define IF_IADBG_ABR 66,3544 -#define IF_IADBG_DESC 67,3597 -#define IF_IADBG_SUNI_STAT 68,3650 -#define IF_IADBG_RESET 69,3719 -#define IF_IADBG(IF_IADBG71,3771 -#define IF_LOUD(IF_LOUD75,3864 -#define IF_ERR(IF_ERR76,3913 -#define IF_VERY_LOUD(IF_VERY_LOUD77,3960 -#define IF_INIT_ADAPTER(IF_INIT_ADAPTER79,4022 -#define IF_INIT(IF_INIT80,4089 -#define IF_SUNI_STAT(IF_SUNI_STAT81,4148 -#define IF_QUERY_INFO(IF_QUERY_INFO82,4209 -#define IF_COPY_OVER(IF_COPY_OVER83,4272 -#define IF_INTR(IF_INTR85,4334 -#define IF_DIS_INTR(IF_DIS_INTR86,4385 -#define IF_EN_INTR(IF_EN_INTR87,4444 -#define IF_TX(IF_TX89,4502 -#define IF_RX(IF_RX90,4549 -#define IF_TXPKT(IF_TXPKT91,4596 -#define IF_RXPKT(IF_RXPKT92,4649 -#define IF_SHUTDOWN(IF_SHUTDOWN94,4703 -#define IF_CBR(IF_CBR95,4760 -#define IF_UBR(IF_UBR96,4809 -#define IF_ABR(IF_ABR97,4858 -#define IF_EVENT(IF_EVENT98,4907 -#define IF_LOUD(IF_LOUD101,4983 -#define IF_VERY_LOUD(IF_VERY_LOUD102,5002 -#define IF_INIT_ADAPTER(IF_INIT_ADAPTER103,5026 -#define IF_INIT(IF_INIT104,5053 -#define IF_SUNI_STAT(IF_SUNI_STAT105,5072 -#define IF_PVC_CHKPKT(IF_PVC_CHKPKT106,5096 -#define IF_QUERY_INFO(IF_QUERY_INFO107,5121 -#define IF_COPY_OVER(IF_COPY_OVER108,5146 -#define IF_HANG(IF_HANG109,5170 -#define IF_INTR(IF_INTR110,5189 -#define IF_DIS_INTR(IF_DIS_INTR111,5208 -#define IF_EN_INTR(IF_EN_INTR112,5231 -#define IF_TX(IF_TX113,5253 -#define IF_RX(IF_RX114,5270 -#define IF_TXDEBUG(IF_TXDEBUG115,5287 -#define IF_VC(IF_VC116,5309 -#define IF_ERR(IF_ERR117,5326 -#define IF_CBR(IF_CBR118,5345 -#define IF_UBR(IF_UBR119,5363 -#define IF_ABR(IF_ABR120,5381 -#define IF_SHUTDOWN(IF_SHUTDOWN121,5399 -#define DbgPrint(DbgPrint122,5422 -#define IF_EVENT(IF_EVENT123,5442 -#define IF_TXPKT(IF_TXPKT124,5462 -#define IF_RXPKT(IF_RXPKT125,5483 -#define isprint(isprint128,5538 -#define ATM_DESC(ATM_DESC129,5583 -#define IA_SKB_STATE(IA_SKB_STATE130,5621 -#define IA_DLED 131,5663 -#define IA_TX_DONE 132,5683 -#define IA_CMD 135,5725 -} IA_CMDBUF, *PIA_CMDBUF;PIA_CMDBUF143,5879 -#define MEMDUMP 146,5917 -#define MEMDUMP_SEGREG 149,5960 -#define MEMDUMP_DEV 150,5996 -#define MEMDUMP_REASSREG 151,6023 -#define MEMDUMP_FFL 152,6059 -#define READ_REG 153,6095 -#define WAKE_DBG_WAIT 154,6131 -#define Boolean(Boolean158,6241 -#define NR_VCI 159,6278 -#define NR_VCI_LD 160,6322 -#define NR_VCI_4K 161,6365 -#define NR_VCI_4K_LD 162,6413 -#define MEM_VALID 163,6459 -#define PCI_VENDOR_ID_IPHASE 166,6558 -#define PCI_DEVICE_ID_IPHASE_5575 169,6641 -#define DEV_LABEL 171,6693 -#define PCR 172,6719 -#define ICR 173,6740 -#define MCR 174,6761 -#define TBE 175,6777 -#define FRTT 176,6796 -#define RIF 177,6813 -#define RDF 178,6831 -#define NRMCODE 179,6847 -#define TRMCODE 180,6879 -#define CDFCODE 181,6911 -#define ATDFCODE 182,6931 -#define TX_PACKET_RAM 185,7041 -#define DFL_TX_BUF_SZ 186,7116 -#define DFL_TX_BUFFERS 187,7165 -#define REASS_RAM_SIZE 189,7266 -#define RX_PACKET_RAM 190,7326 -#define DFL_RX_BUF_SZ 191,7403 -#define DFL_RX_BUFFERS 192,7451 -struct cpcs_trailer cpcs_trailer195,7555 -struct cpcs_trailer_desccpcs_trailer_desc202,7641 -struct ia_vcc ia_vcc208,7722 -struct abr_vc_table abr_vc_table222,8008 -struct main_vc main_vc235,8245 -#define ABR 238,8283 -#define UBR 239,8304 -#define CBR 240,8326 -#define UIOLI 259,8821 -#define CRC_APPEND 260,8842 -#define ABR_STATE 261,8909 -struct ext_vc ext_vc267,8971 -#define DLE_ENTRIES 276,9137 -#define DMA_INT_ENABLE 277,9163 -#define TX_DLE_PSI 278,9224 -#define DLE_TOTAL_SIZE 279,9252 -struct dle dle282,9349 -struct dle_q dle_q291,9473 -struct free_desc_q free_desc_q299,9588 -struct tx_buf_desc tx_buf_desc305,9687 -struct rx_buf_desc rx_buf_desc316,9963 -#define EPROM_SIZE 333,10411 -#define MAC1_LEN 334,10471 -#define MAC2_LEN 335,10501 -#define IPHASE5575_PCI_CONFIG_REG_BASE 338,10600 -#define IPHASE5575_BUS_CONTROL_REG_BASE 339,10648 -#define IPHASE5575_FRAG_CONTROL_REG_BASE 340,10723 -#define IPHASE5575_REASS_CONTROL_REG_BASE 341,10773 -#define IPHASE5575_DMA_CONTROL_REG_BASE 342,10824 -#define IPHASE5575_FRONT_END_REG_BASE 343,10873 -#define IPHASE5575_FRAG_CONTROL_RAM_BASE 344,10945 -#define IPHASE5575_REASS_CONTROL_RAM_BASE 345,10996 -#define IPHASE5575_BUS_CONTROL_REG 348,11120 -#define IPHASE5575_BUS_STATUS_REG 349,11162 -#define IPHASE5575_MAC1 350,11228 -#define IPHASE5575_REV 351,11261 -#define IPHASE5575_MAC2 352,11293 -#define IPHASE5575_EXT_RESET 353,11358 -#define IPHASE5575_INT_RESET 354,11395 -#define IPHASE5575_PCI_ADDR_PAGE 355,11458 -#define IPHASE5575_EEPROM_ACCESS 356,11522 -#define IPHASE5575_CELL_FIFO_QUEUE_SZ 357,11587 -#define IPHASE5575_CELL_FIFO_MARK_STATE 358,11632 -#define IPHASE5575_CELL_FIFO_READ_PTR 359,11679 -#define IPHASE5575_CELL_FIFO_WRITE_PTR 360,11724 -#define IPHASE5575_CELL_FIFO_CELLS_AVL 361,11770 -#define CTRL_FE_RST 364,11888 -#define CTRL_LED 365,11921 -#define CTRL_25MBPHY 366,11951 -#define CTRL_ENCMBMEM 367,11985 -#define CTRL_ENOFFSEG 368,12020 -#define CTRL_ERRMASK 369,12055 -#define CTRL_DLETMASK 370,12089 -#define CTRL_DLERMASK 371,12124 -#define CTRL_FEMASK 372,12159 -#define CTRL_SEGMASK 373,12192 -#define CTRL_REASSMASK 374,12226 -#define CTRL_CSPREEMPT 375,12262 -#define CTRL_B128 376,12298 -#define CTRL_B64 377,12329 -#define CTRL_B48 378,12359 -#define CTRL_B32 379,12389 -#define CTRL_B16 380,12419 -#define CTRL_B8 381,12449 -#define STAT_CMEMSIZ 384,12525 -#define STAT_ADPARCK 385,12559 -#define STAT_RESVD 386,12593 -#define STAT_ERRINT 387,12625 -#define STAT_MARKINT 388,12658 -#define STAT_DLETINT 389,12692 -#define STAT_DLERINT 390,12726 -#define STAT_FEINT 391,12760 -#define STAT_SEGINT 392,12792 -#define STAT_REASSINT 393,12825 -#define IDLEHEADHI 399,13074 -#define IDLEHEADLO 400,13100 -#define MAXRATE 401,13126 -#define RATE155 403,13222 -#define MAX_ATM_155 404,13271 -#define RATE25 405,13324 -#define STPARMS 407,13352 -#define STPARMS_1K 408,13376 -#define STPARMS_2K 409,13404 -#define STPARMS_4K 410,13432 -#define COMP_EN 411,13460 -#define CBR_EN 412,13486 -#define ABR_EN 413,13511 -#define UBR_EN 414,13536 -#define ABRUBR_ARB 416,13564 -#define RM_TYPE 417,13590 -#define RM_TYPE_4_0 419,13690 -#define SEG_COMMAND_REG 421,13722 -#define RESET_SEG 423,13794 -#define RESET_SEG_STATE 424,13821 -#define RESET_TX_CELL_CTR 425,13854 -#define CBR_PTR_BASE 427,13892 -#define ABR_SBPTR_BASE 428,13920 -#define UBR_SBPTR_BASE 429,13950 -#define ABRWQ_BASE 430,13981 -#define UBRWQ_BASE 431,14007 -#define VCT_BASE 432,14033 -#define VCTE_BASE 433,14057 -#define CBR_TAB_BEG 434,14082 -#define CBR_TAB_END 435,14109 -#define PRQ_ST_ADR 436,14136 -#define PRQ_ED_ADR 437,14162 -#define PRQ_RD_PTR 438,14188 -#define PRQ_WR_PTR 439,14214 -#define TCQ_ST_ADR 440,14240 -#define TCQ_ED_ADR 441,14266 -#define TCQ_RD_PTR 442,14293 -#define TCQ_WR_PTR 443,14319 -#define SEG_QUEUE_BASE 444,14345 -#define SEG_DESC_BASE 445,14375 -#define MODE_REG_0 446,14404 -#define T_ONLINE 447,14430 -#define MODE_REG_1 449,14487 -#define MODE_REG_1_VAL 450,14513 -#define SEG_INTR_STATUS_REG 452,14582 -#define SEG_MASK_REG 453,14617 -#define TRANSMIT_DONE 454,14645 -#define TCQ_NOT_EMPTY 455,14674 -#define CELL_CTR_HIGH_AUTO 458,14807 -#define CELL_CTR_HIGH_NOAUTO 459,14841 -#define CELL_CTR_LO_AUTO 460,14877 -#define CELL_CTR_LO_NOAUTO 461,14909 -#define NEXTDESC 464,14975 -#define NEXTVC 465,15000 -#define PSLOTCNT 466,15023 -#define NEWDN 467,15047 -#define NEWVC 468,15069 -#define SBPTR 469,15091 -#define ABRWQ_WRPTR 470,15113 -#define ABRWQ_RDPTR 471,15140 -#define UBRWQ_WRPTR 472,15167 -#define UBRWQ_RDPTR 473,15194 -#define CBR_VC 474,15221 -#define ABR_SBVC 475,15244 -#define UBR_SBVC 476,15268 -#define ABRNEXTLINK 477,15292 -#define UBRNEXTLINK 478,15319 -#define MODE_REG 484,15562 -#define R_ONLINE 485,15586 -#define IGN_RAW_FL 486,15637 -#define PROTOCOL_ID 488,15671 -#define REASS_MASK_REG 489,15698 -#define REASS_INTR_STATUS_REG 490,15728 -#define RX_PKT_CTR_OF 492,15804 -#define RX_ERR_CTR_OF 493,15835 -#define RX_CELL_CTR_OF 494,15866 -#define RX_FREEQ_EMPT 495,15898 -#define RX_EXCPQ_FL 496,15929 -#define RX_RAWQ_FL 497,15958 -#define RX_EXCP_RCVD 498,15986 -#define RX_PKT_RCVD 499,16016 -#define RX_RAW_RCVD 500,16045 -#define DRP_PKT_CNTR 502,16077 -#define ERR_CNTR 503,16105 -#define RAW_BASE_ADR 504,16129 -#define CELL_CTR0 505,16157 -#define CELL_CTR1 506,16182 -#define REASS_COMMAND_REG 507,16207 -#define RESET_REASS 509,16276 -#define RESET_REASS_STATE 510,16305 -#define RESET_DRP_PKT_CNTR 511,16340 -#define RESET_ERR_CNTR 512,16376 -#define RESET_CELL_CNTR 513,16408 -#define RESET_REASS_ALL_REGS 514,16441 -#define REASS_DESC_BASE 516,16482 -#define VC_LKUP_BASE 517,16513 -#define REASS_TABLE_BASE 518,16541 -#define REASS_QUEUE_BASE 519,16573 -#define PKT_TM_CNT 520,16605 -#define TMOUT_RANGE 521,16631 -#define INTRVL_CNTR 522,16658 -#define TMOUT_INDX 523,16685 -#define VP_LKUP_BASE 524,16711 -#define VP_FILTER 525,16739 -#define ABR_LKUP_BASE 526,16764 -#define FREEQ_ST_ADR 527,16793 -#define FREEQ_ED_ADR 528,16821 -#define FREEQ_RD_PTR 529,16849 -#define FREEQ_WR_PTR 530,16877 -#define PCQ_ST_ADR 531,16905 -#define PCQ_ED_ADR 532,16931 -#define PCQ_RD_PTR 533,16957 -#define PCQ_WR_PTR 534,16983 -#define EXCP_Q_ST_ADR 535,17009 -#define EXCP_Q_ED_ADR 536,17038 -#define EXCP_Q_RD_PTR 537,17067 -#define EXCP_Q_WR_PTR 538,17096 -#define CC_FIFO_ST_ADR 539,17125 -#define CC_FIFO_ED_ADR 540,17155 -#define CC_FIFO_RD_PTR 541,17185 -#define CC_FIFO_WR_PTR 542,17215 -#define STATE_REG 543,17245 -#define BUF_SIZE 544,17270 -#define XTRA_RM_OFFSET 545,17294 -#define DRP_PKT_CNTR_NC 546,17324 -#define ERR_CNTR_NC 547,17355 -#define CELL_CNTR0_NC 548,17382 -#define CELL_CNTR1_NC 549,17411 -#define EXCPQ_EMPTY 552,17471 -#define PCQ_EMPTY 553,17500 -#define FREEQ_EMPTY 554,17527 -#define IPHASE5575_TX_COUNTER 564,17883 -#define IPHASE5575_RX_COUNTER 565,17943 -#define IPHASE5575_TX_LIST_ADDR 566,18003 -#define IPHASE5575_RX_LIST_ADDR 567,18065 -#define TX_DESC_BASE 573,18343 -#define TX_COMP_Q 574,18402 -#define PKT_RDY_Q 575,18459 -#define CBR_SCHED_TABLE 576,18511 -#define UBR_SCHED_TABLE 577,18560 -#define UBR_WAIT_Q 578,18609 -#define ABR_SCHED_TABLE 579,18658 -#define ABR_WAIT_Q 580,18707 -#define EXT_VC_TABLE 581,18756 -#define MAIN_VC_TABLE 582,18810 -#define SCHEDSZ 583,18861 -#define TX_DESC_TABLE_SZ 584,18925 -#define DESC_MODE 588,19110 -#define VC_INDEX 589,19134 -#define BYTE_CNT 590,19157 -#define PKT_START_HI 591,19180 -#define PKT_START_LO 592,19207 -#define EOM_EN 595,19271 -#define AAL5 596,19295 -#define APP_CRC32 597,19317 -#define CMPL_INT 598,19344 -#define TABLE_ADDRESS(TABLE_ADDRESS600,19372 -#define RX_DESC_BASE 604,19513 -#define VP_TABLE 605,19573 -#define EXCEPTION_Q 606,19614 -#define FREE_BUF_DESC_Q 607,19665 -#define PKT_COMP_Q 608,19733 -#define REASS_TABLE 609,19789 -#define RX_VC_TABLE 610,19841 -#define ABR_VC_TABLE 611,19885 -#define RX_DESC_TABLE_SZ 612,19934 -#define VP_TABLE_SZ 614,20036 -#define RX_VC_TABLE_SZ 615,20099 -#define REASS_TABLE_SZ 616,20167 -#define RX_ACT 618,20275 -#define RX_VPVC 619,20299 -#define RX_CNG 620,20324 -#define RX_CER 621,20348 -#define RX_PTE 622,20372 -#define RX_OFL 623,20396 -#define NUM_RX_EXCP 624,20420 -#define NO_AAL5_PKT 627,20471 -#define AAL5_PKT_REASSEMBLED 628,20500 -#define AAL5_PKT_TERMINATED 629,20538 -#define RAW_PKT 630,20575 -#define REASS_ABR 631,20601 -#define REG_BASE 634,20694 -#define RAM_BASE 635,20745 -#define PHY_BASE 636,20797 -#define SEG_BASE 637,20846 -#define REASS_BASE 638,20898 -typedef volatile u_int freg_t;freg_t640,20954 -typedef u_int rreg_t;rreg_t641,20986 -typedef struct _ffredn_t _ffredn_t643,21011 -} ffredn_t;ffredn_t716,26027 -typedef struct _rfredn_t _rfredn_t718,26040 -} rfredn_t;rfredn_t775,29858 -} ia_regs_t;ia_regs_t781,30061 -} f_vc_abr_entry;f_vc_abr_entry800,30695 -} r_vc_abr_entry;r_vc_abr_entry806,30932 -#define MRM 808,30954 -typedef struct srv_cls_param srv_cls_param810,30969 -} srv_cls_param_t;srv_cls_param_t838,32531 -struct testTable_t testTable_t840,32551 -} RX_ERROR_Q;RX_ERROR_Q849,32660 -#define VC_ACTIVE 856,32746 -#define VC_ABR 857,32770 -#define VC_UBR 858,32791 -} vcstatus_t;vcstatus_t859,32812 -struct ia_rfL_t ia_rfL_t861,32829 -struct ia_ffL_t ia_ffL_t872,33393 -struct desc_tbl_t desc_tbl_t881,33816 -typedef struct ia_rtn_q ia_rtn_q887,33925 -} IARTN_Q;IARTN_Q890,34011 -#define SUNI_LOSV 892,34023 -} IA_SUNI;IA_SUNI964,38830 -typedef struct _SUNI_STATS__SUNI_STATS_967,38843 -} IA_SUNI_STATS;IA_SUNI_STATS995,40328 -typedef struct iadev_t iadev_t997,40347 -} IADEV;IADEV1067,43338 -#define INPH_IA_DEV(INPH_IA_DEV1070,43353 -#define INPH_IA_VCC(INPH_IA_VCC1071,43404 -} ia_mb25_t;ia_mb25_t1081,43905 -#define MB25_MC_UPLO 1086,43944 -#define MB25_MC_DREC 1087,43990 -#define MB25_MC_ECEIO 1088,44056 -#define MB25_MC_TDPC 1089,44124 -#define MB25_MC_DRIC 1090,44189 -#define MB25_MC_HALTTX 1091,44254 -#define MB25_MC_UMS 1092,44304 -#define MB25_MC_ENABLED 1093,44361 -#define MB25_IS_GSB 1098,44448 -#define MB25_IS_HECECR 1099,44503 -#define MB25_IS_SCR 1100,44567 -#define MB25_IS_TPE 1101,44626 -#define MB25_IS_RSCC 1102,44685 -#define MB25_IS_RCSE 1103,44752 -#define MB25_IS_RFIFOO 1104,44817 -#define MB25_DC_FTXCD 1109,44909 -#define MB25_DC_RXCOS 1110,44971 -#define MB25_DC_ECEIO 1111,45034 -#define MB25_DC_RLFLUSH 1112,45102 -#define MB25_DC_IXPE 1113,45163 -#define MB25_DC_IXHECE 1114,45227 -#define MB25_DC_LB_MASK 1115,45289 -#define MB25_DC_LL 1117,45353 -#define MB25_DC_PL 1118,45404 -#define MB25_DC_NM 1119,45455 -#define FE_MASK 1121,45482 -#define FE_MULTI_MODE 1122,45506 -#define FE_SINGLE_MODE 1123,45535 -#define FE_UTP_OPTION 1124,45567 -#define FE_25MBIT_PHY 1125,45598 -#define FE_DS3_PHY 1126,45627 -#define FE_E3_PHY 1127,45677 -typedef struct _suni_pm7345_t_suni_pm7345_t1132,45847 -}suni_pm7345_t;suni_pm7345_t1247,49777 -#define SUNI_PM7345_T 1249,49794 -#define SUNI_PM7345 1250,49830 -#define SUNI_PM5346 1251,49891 -#define SUNI_PM7345_CLB 1255,49988 -#define SUNI_PM7345_PLB 1256,50055 -#define SUNI_PM7345_DLB 1257,50122 -#define SUNI_PM7345_LLB 1258,50189 -#define SUNI_PM7345_E3ENBL 1259,50256 -#define SUNI_PM7345_LOOPT 1260,50323 -#define SUNI_PM7345_FIFOBP 1261,50390 -#define SUNI_PM7345_FRMRBP 1262,50457 -#define SUNI_DS3_COFAE 1266,50560 -#define SUNI_DS3_REDE 1267,50635 -#define SUNI_DS3_CBITE 1268,50710 -#define SUNI_DS3_FERFE 1269,50785 -#define SUNI_DS3_IDLE 1270,50866 -#define SUNI_DS3_AISE 1271,50941 -#define SUNI_DS3_OOFE 1272,51022 -#define SUNI_DS3_LOSE 1273,51097 -#define SUNI_DS3_ACE 1278,51200 -#define SUNI_DS3_REDV 1279,51275 -#define SUNI_DS3_CBITV 1280,51350 -#define SUNI_DS3_FERFV 1281,51425 -#define SUNI_DS3_IDLV 1282,51500 -#define SUNI_DS3_AISV 1283,51575 -#define SUNI_DS3_OOFV 1284,51650 -#define SUNI_DS3_LOSV 1285,51725 -#define SUNI_E3_CZDI 1290,51836 -#define SUNI_E3_LOSI 1291,51911 -#define SUNI_E3_LCVI 1292,51986 -#define SUNI_E3_COFAI 1293,52061 -#define SUNI_E3_OOFI 1294,52136 -#define SUNI_E3_LOS 1295,52211 -#define SUNI_E3_OOF 1296,52286 -#define SUNI_E3_AISD 1301,52399 -#define SUNI_E3_FERF_RAI 1302,52474 -#define SUNI_E3_FEBE 1303,52549 -#define SUNI_DS3_HCSPASS 1308,52655 -#define SUNI_DS3_HCSDQDB 1309,52730 -#define SUNI_DS3_HCSADD 1310,52805 -#define SUNI_DS3_HCK 1311,52880 -#define SUNI_DS3_BLOCK 1312,52958 -#define SUNI_DS3_DSCR 1313,53033 -#define SUNI_DS3_OOCDV 1314,53108 -#define SUNI_DS3_FIFORST 1315,53183 -#define SUNI_DS3_OOCDE 1320,53298 -#define SUNI_DS3_HCSE 1321,53373 -#define SUNI_DS3_FIFOE 1322,53448 -#define SUNI_DS3_OOCDI 1323,53523 -#define SUNI_DS3_UHCSI 1324,53598 -#define SUNI_DS3_COCAI 1325,53673 -#define SUNI_DS3_FOVRI 1326,53748 -#define SUNI_DS3_FUDRI 1327,53823 -#define MEM_SIZE_MASK 1334,54047 -#define MEM_SIZE_128K 1335,54128 -#define MEM_SIZE_512K 1336,54196 -#define MEM_SIZE_1M 1337,54267 -#define FE_MASK 1340,54418 -#define FE_MULTI_MODE 1341,54496 -#define FE_SINGLE_MODE 1342,54567 -#define FE_UTP_OPTION 1343,54640 -#define NOVRAM_SIZE 1345,54710 -#define CMD_LEN 1346,54733 -#define EXTEND 1362,55026 -#define IAWRITE 1363,55047 -#define IAREAD 1364,55069 -#define ERASE 1365,55090 -#define EWDS 1367,55111 -#define WRAL 1368,55129 -#define ERAL 1369,55147 -#define EWEN 1370,55165 -#define NVCE 1377,55326 -#define NVSK 1378,55344 -#define NVDO 1379,55362 -#define NVDI 1380,55381 -#define CFG_AND(CFG_AND1388,55565 -#define CFG_OR(CFG_OR1402,55890 -#define NVRAM_CMD(NVRAM_CMD1419,56301 -#define NVRAM_CLR_CE 1436,56640 -#define NVRAM_CLKOUT(NVRAM_CLKOUT1445,56860 -#define NVRAM_CLKIN(NVRAM_CLKIN1459,57153 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/nicstarmac.c,594 -#define CYCLE_DELAY 10,123 -#define osp_MicroDelay(osp_MicroDelay16,298 -#define CS_HIGH 30,822 -#define CS_LOW 31,870 -#define CLK_HIGH 32,928 -#define CLK_LOW 33,970 -#define SI_HIGH 34,1012 -#define SI_LOW 35,1066 -static u_int32_t rdsrtab[38,1159 -static u_int32_t readtab[61,1676 -static u_int32_t clocktab[86,2208 -#define NICSTAR_REG_WRITE(NICSTAR_REG_WRITE108,2482 -#define NICSTAR_REG_READ(NICSTAR_REG_READ111,2593 -#define NICSTAR_REG_GENERAL_PURPOSE 113,2650 -nicstar_read_eprom_status(122,2872 -read_eprom_byte(165,4075 -nicstar_init_eprom(214,5487 -nicstar_read_eprom(247,6268 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/lanai.c,13358 -#define NUM_VCI 75,2810 -#define DEBUG80,2869 -#define FULL_MEMORY_TEST92,3195 -#define SERVICE_ENTRIES 99,3412 -#define TX_FIFO_DEPTH 116,3974 -#define LANAI_POLL_PERIOD 123,4160 -#define AAL5_RX_MULTIPLIER 130,4373 -#define AAL5_TX_MULTIPLIER 136,4493 -#define AAL0_TX_MULTIPLIER 144,4746 -#define AAL0_RX_BUFFER_SIZE 151,4945 -#define DEV_LABEL 162,5241 -#define DPRINTK(DPRINTK166,5282 -#define APRINTK(APRINTK168,5367 -#define DPRINTK(DPRINTK176,5532 -#define APRINTK(APRINTK177,5565 -#define RWDEBUG(RWDEBUG182,5642 -#define RWDEBUG(RWDEBUG185,5749 -#define LANAI_MAPPING_SIZE 190,5836 -#define LANAI_EEPROM_SIZE 191,5873 -typedef int vci_t;vci_t193,5906 -typedef void __iomem *bus_addr_t;bus_addr_t194,5925 -struct lanai_buffer lanai_buffer197,6021 -struct lanai_vcc_stats lanai_vcc_stats204,6193 -struct lanai_vcc lanai_vcc228,6839 -enum lanai_type lanai_type246,7356 - lanai2 247,7374 - lanai2 = PCI_VENDOR_ID_EF_ATM_LANAI2,247,7374 - lanaihb 248,7413 - lanaihb = PCI_VENDOR_ID_EF_ATM_LANAIHB248,7413 -struct lanai_dev_stats lanai_dev_stats251,7457 -struct lanai_dev lanai_dev269,8039 -static void vci_bitfield_iterate(305,9208 -#define LANAI_PAGE_SIZE 323,9714 -static void lanai_buf_allocate(332,10029 -static inline size_t lanai_buf_size(366,11035 -static void lanai_buf_deallocate(371,11175 -static int lanai_buf_size_cardorder(382,11469 -enum lanai_register lanai_register395,11810 - Reset_Reg 396,11832 - Reset_Reg = 0x00,396,11832 -#define RESET_GET_BOARD_REV(RESET_GET_BOARD_REV397,11891 -#define RESET_GET_BOARD_ID(RESET_GET_BOARD_ID398,11965 -#define BOARD_ID_LANAI256 399,12033 - Endian_Reg 400,12093 - Endian_Reg = 0x04,400,12093 - IntStatus_Reg 401,12135 - IntStatus_Reg = 0x08,401,12135 - IntStatusMasked_Reg 402,12182 - IntStatusMasked_Reg = 0x0C,402,12182 - IntAck_Reg 403,12243 - IntAck_Reg = 0x10,403,12243 - IntAckMasked_Reg 404,12292 - IntAckMasked_Reg = 0x14,404,12292 - IntStatusSet_Reg 405,12355 - IntStatusSet_Reg = 0x18,405,12355 - IntStatusSetMasked_Reg 406,12415 - IntStatusSetMasked_Reg = 0x1C,406,12415 - IntControlEna_Reg 407,12481 - IntControlEna_Reg = 0x20,407,12481 - IntControlDis_Reg 408,12539 - IntControlDis_Reg = 0x24,408,12539 - Status_Reg 409,12598 - Status_Reg = 0x28,409,12598 -#define STATUS_PROMDATA 410,12632 -#define STATUS_WAITING 411,12692 -#define STATUS_SOOL 412,12761 -#define STATUS_LOCD 413,12815 -#define STATUS_LED 414,12869 -#define STATUS_GPIN 415,12930 -#define STATUS_BUTTBUSY 416,12982 - Config1_Reg 417,13053 - Config1_Reg = 0x2C,417,13053 -#define CONFIG1_PROMDATA 418,13102 -#define CONFIG1_PROMCLK 419,13163 -#define CONFIG1_SET_READMODE(CONFIG1_SET_READMODE420,13222 -#define READMODE_PLAIN 421,13296 -#define READMODE_LINE 422,13358 -#define READMODE_MULTIPLE 423,13418 -#define CONFIG1_DMA_ENABLE 424,13486 -#define CONFIG1_POWERDOWN 425,13547 -#define CONFIG1_SET_LOOPMODE(CONFIG1_SET_LOOPMODE426,13611 -#define LOOPMODE_NORMAL 427,13688 -#define LOOPMODE_TIME 428,13750 -#define LOOPMODE_DIAG 429,13784 -#define LOOPMODE_LINE 430,13818 -#define CONFIG1_MASK_LOOPMODE 431,13852 -#define CONFIG1_SET_LEDMODE(CONFIG1_SET_LEDMODE432,13898 -#define LEDMODE_NOT_SOOL 433,13971 -#define LEDMODE_OFF 434,14023 -#define LEDMODE_ON 435,14071 -#define LEDMODE_NOT_LOCD 436,14118 -#define LEDMORE_GPIN 437,14170 -#define LEDMODE_NOT_GPIN 438,14218 -#define CONFIG1_MASK_LEDMODE 439,14270 -#define CONFIG1_GPOUT1 440,14315 -#define CONFIG1_GPOUT2 441,14377 -#define CONFIG1_GPOUT3 442,14435 - Config2_Reg 443,14495 - Config2_Reg = 0x30,443,14495 -#define CONFIG2_HOWMANY 444,14544 -#define CONFIG2_PTI7_MODE 445,14601 -#define CONFIG2_VPI_CHK_DIS 446,14672 -#define CONFIG2_HEC_DROP 447,14742 -#define CONFIG2_VCI0_NORMAL 448,14814 -#define CONFIG2_CBR_ENABLE 449,14885 -#define CONFIG2_TRASH_ALL 450,14956 -#define CONFIG2_TX_DISABLE 451,15028 -#define CONFIG2_SET_TRASH 452,15101 - Statistics_Reg 453,15166 - Statistics_Reg = 0x34,453,15166 -#define STATS_GET_FIFO_OVFL(STATS_GET_FIFO_OVFL454,15215 -#define STATS_GET_HEC_ERR(STATS_GET_HEC_ERR455,15290 -#define STATS_GET_BAD_VCI(STATS_GET_BAD_VCI456,15361 -#define STATS_GET_BUF_OVFL(STATS_GET_BUF_OVFL457,15433 - ServiceStuff_Reg 458,15508 - ServiceStuff_Reg = 0x38,458,15508 -#define SSTUFF_SET_SIZE(SSTUFF_SET_SIZE459,15561 -#define SSTUFF_SET_ADDR(SSTUFF_SET_ADDR460,15636 - ServWrite_Reg 461,15706 - ServWrite_Reg = 0x3C,461,15706 - ServRead_Reg 462,15754 - ServRead_Reg = 0x40,462,15754 - TxDepth_Reg 463,15800 - TxDepth_Reg = 0x44,463,15800 - Butt_Reg 464,15848 - Butt_Reg = 0x48,464,15848 - CBR_ICG_Reg 465,15887 - CBR_ICG_Reg = 0x50,465,15887 - CBR_PTR_Reg 466,15909 - CBR_PTR_Reg = 0x54,466,15909 - PingCount_Reg 467,15931 - PingCount_Reg = 0x58,467,15931 - DMA_Addr_Reg 468,15972 - DMA_Addr_Reg = 0x5C 468,15972 -static inline bus_addr_t reg_addr(471,16016 -static inline u32 reg_read(477,16139 -static inline void reg_write(487,16370 -static inline void conf1_write(495,16597 -static inline void conf2_write(500,16710 -static inline void conf2_write_if_powerup(506,16889 -static inline void reset_board(515,17102 -#define SRAM_START 535,17804 -#define SRAM_BYTES 536,17833 -static inline bus_addr_t sram_addr(538,17900 -static inline u32 sram_read(543,18026 -static inline void sram_write(548,18143 -static int __init sram_test_word(554,18271 -static int __init sram_test_pass(569,18690 -static int __init sram_test_and_clear(577,18931 -enum lanai_vcc_offset lanai_vcc_offset594,19359 - vcc_rxaddr1 595,19383 - vcc_rxaddr1 = 0x00,595,19383 -#define RXADDR1_SET_SIZE(RXADDR1_SET_SIZE596,19433 -#define RXADDR1_SET_RMMODE(RXADDR1_SET_RMMODE597,19503 -#define RMMODE_TRASH 598,19579 -#define RMMODE_PRESERVE 599,19627 -#define RMMODE_PIPE 600,19684 -#define RMMODE_PIPEALL 601,19744 -#define RXADDR1_OAM_PRESERVE 602,19802 -#define RXADDR1_SET_MODE(RXADDR1_SET_MODE603,19877 -#define RXMODE_TRASH 604,19945 -#define RXMODE_AAL0 605,19993 -#define RXMODE_AAL5 606,20047 -#define RXMODE_AAL5_STREAM 607,20108 - vcc_rxaddr2 608,20176 - vcc_rxaddr2 = 0x04,608,20176 - vcc_rxcrc1 609,20214 - vcc_rxcrc1 = 0x08,609,20214 - vcc_rxcrc2 610,20266 - vcc_rxcrc2 = 0x0C,610,20266 - vcc_rxwriteptr 611,20287 - vcc_rxwriteptr = 0x10,611,20287 -#define RXWRITEPTR_LASTEFCI 612,20342 -#define RXWRITEPTR_DROPPING 613,20414 -#define RXWRITEPTR_TRASHING 614,20484 - vcc_rxbufstart 615,20543 - vcc_rxbufstart = 0x14,615,20543 -#define RXBUFSTART_CLP 616,20598 -#define RXBUFSTART_CI 617,20637 - vcc_rxreadptr 618,20676 - vcc_rxreadptr = 0x18,618,20676 - vcc_txicg 619,20717 - vcc_txicg = 0x1C,619,20717 - vcc_txaddr1 620,20750 - vcc_txaddr1 = 0x20,620,20750 -#define TXADDR1_SET_SIZE(TXADDR1_SET_SIZE621,20800 -#define TXADDR1_ABR 622,20870 - vcc_txaddr2 623,20936 - vcc_txaddr2 = 0x24,623,20936 - vcc_txcrc1 624,20974 - vcc_txcrc1 = 0x28,624,20974 - vcc_txcrc2 625,21026 - vcc_txcrc2 = 0x2C,625,21026 - vcc_txreadptr 626,21047 - vcc_txreadptr = 0x30,626,21047 -#define TXREADPTR_GET_PTR(TXREADPTR_GET_PTR627,21100 -#define TXREADPTR_MASK_DELTA 628,21145 - vcc_txendptr 629,21197 - vcc_txendptr = 0x34,629,21197 -#define TXENDPTR_CLP 630,21248 -#define TXENDPTR_MASK_PDUMODE 631,21285 -#define PDUMODE_AAL0 632,21354 -#define PDUMODE_AAL5 633,21392 -#define PDUMODE_AAL5STREAM 634,21430 - vcc_txwriteptr 635,21474 - vcc_txwriteptr = 0x38,635,21474 -#define TXWRITEPTR_GET_PTR(TXWRITEPTR_GET_PTR636,21517 - vcc_txcbr_next 637,21562 - vcc_txcbr_next = 0x3C 637,21562 -#define TXCBR_NEXT_BOZO 638,21618 -#define CARDVCC_SIZE 641,21678 -static inline bus_addr_t cardvcc_addr(643,21707 -static inline u32 cardvcc_read(649,21839 -static inline void cardvcc_write(660,22132 -static inline int aal5_size(678,22830 -static inline int aal5_spacefor(687,23027 -static inline void lanai_free_skb(695,23165 -static void host_vcc_start_rx(705,23385 -static void host_vcc_start_tx(729,24290 -static void lanai_shutdown_rx_vci(749,24998 -static void lanai_shutdown_tx_vci(774,25924 -static inline int aal0_buffer_allocate(830,27894 -static inline void aal0_buffer_free(838,28161 -#define EEPROM_COPYRIGHT 847,28421 -#define EEPROM_COPYRIGHT_LEN 848,28450 -#define EEPROM_CHECKSUM 849,28484 -#define EEPROM_CHECKSUM_REV 850,28514 -#define EEPROM_MAC 851,28547 -#define EEPROM_MAC_REV 852,28572 -#define EEPROM_SERIAL 853,28601 -#define EEPROM_SERIAL_REV 854,28630 -#define EEPROM_MAGIC 855,28662 -#define EEPROM_MAGIC_REV 856,28690 -#define EEPROM_MAGIC_VALUE 858,28722 -static int __init eeprom_read(863,28842 -static int __init eeprom_validate(871,29041 -static int __init eeprom_read(880,29201 -#define set_config1(set_config1885,29295 -#define clock_h(clock_h887,29384 -#define clock_l(clock_l888,29447 -#define data_h(data_h889,29511 -#define data_l(data_l890,29574 -#define pre_read(pre_read891,29638 -#define read_pin(read_pin892,29707 -#define send_stop(send_stop893,29775 -static inline u32 eeprom_be4(950,31404 -static int __init eeprom_validate(956,31579 -static inline const u8 *eeprom_mac(1034,34381 -#define INT_STATS 1042,34568 -#define INT_SOOL 1043,34633 -#define INT_LOCD 1044,34688 -#define INT_LED 1045,34743 -#define INT_GPIN 1046,34805 -#define INT_PING 1047,34860 -#define INT_WAKE 1048,34917 -#define INT_CBR0 1049,34969 -#define INT_LOCK 1050,35025 -#define INT_MISMATCH 1051,35083 -#define INT_AAL0_STR 1052,35146 -#define INT_AAL0 1053,35214 -#define INT_SERVICE 1054,35274 -#define INT_TABORTSENT 1055,35344 -#define INT_TABORTBM 1056,35413 -#define INT_TIMEOUTBM 1057,35479 -#define INT_PCIPARITY 1058,35546 -#define INT_ALL 1061,35632 -#define INT_STATUS 1062,35683 -#define INT_DMASHUT 1063,35745 -#define INT_SEGSHUT 1064,35809 -static inline u32 intr_pending(1066,35876 -static inline void intr_enable(1071,35989 -static inline void intr_disable(1076,36104 -static void status_message(1083,36265 -static void lanai_check_status(1090,36492 -#define e(e1095,36648 -static void pcistatus_got(1105,36857 -static void pcistatus_check(1110,36987 -#define e(e1131,37721 -static inline int vcc_tx_space(1148,38311 -static inline int vcc_is_backlogged(1161,38666 -#define DESCRIPTOR_MAGIC 1167,38841 -#define DESCRIPTOR_AAL5 1168,38879 -#define DESCRIPTOR_AAL5_STREAM 1169,38917 -#define DESCRIPTOR_CLP 1170,38961 -static inline void vcc_tx_add_aal5_descriptor(1173,39044 -static inline void vcc_tx_add_aal5_trailer(1200,40230 -static inline void vcc_tx_memcpy(1211,40628 -static inline void vcc_tx_memzero(1228,41048 -static inline void lanai_endtx(1247,41506 -static void lanai_send_one_aal5(1292,43023 -static void vcc_tx_unqueue_aal5(1312,43763 -static void vcc_tx_aal5(1341,44551 -static void vcc_tx_unqueue_aal0(1360,45127 -static void vcc_tx_aal0(1367,45304 -static inline void vcc_rx_memcpy(1378,45672 -static void vcc_rx_aal5(1392,46110 -static void vcc_rx_aal0(1436,47524 -#define VCCTABLE_GETFREEPAGE1447,47941 -static int __init vcc_table_allocate(1452,48011 -static inline void vcc_table_deallocate(1469,48541 -static inline struct lanai_vcc *new_lanai_vcc(1479,48790 -static int lanai_get_sized_buffer(1498,49268 -static inline int lanai_setup_rx_vci_aal5(1519,49982 -static int lanai_setup_tx_vci(1527,50267 -static inline void host_vcc_bind(1544,50749 -static inline void host_vcc_unbind(1562,51231 -static void lanai_reset(1581,51674 -static int __init service_buffer_allocate(1599,52143 -static inline void service_buffer_deallocate(1619,52861 -#define SERVICE_TX 1625,53020 -#define SERVICE_TRASH 1626,53080 -#define SERVICE_CRCERR 1627,53142 -#define SERVICE_CI 1628,53207 -#define SERVICE_CLP 1629,53265 -#define SERVICE_STREAM 1630,53325 -#define SERVICE_GET_VCI(SERVICE_GET_VCI1631,53382 -#define SERVICE_GET_END(SERVICE_GET_END1632,53427 -static int handle_service(1637,53566 -static void iter_transmit(1719,56261 -static void run_service(1730,56596 -static void get_statistics(1753,57255 -static void iter_dequeue(1766,57681 -static void lanai_timed_poll(1780,58066 -static inline void lanai_timed_poll_start(1807,58883 -static inline void lanai_timed_poll_stop(1816,59150 -static inline void lanai_int_1(1823,59300 -static irqreturn_t lanai_int(1896,61359 -static int check_board_id_and_rev(1938,62466 -static int __init lanai_pci_start(1955,62985 -static inline int vci0_is_ok(2014,64867 -static int vci_is_ok(2031,65283 -static int lanai_normalize_ci(2060,66196 -#define CBRICG_FRAC_BITS 2094,66974 -#define CBRICG_MAX 2095,67003 -static int pcr_to_cbricg(2112,67544 -static inline void lanai_cbr_setup(2134,68098 -static inline void lanai_cbr_shutdown(2142,68341 -static int __init lanai_dev_open(2151,68544 -static void lanai_dev_close(2292,73285 -static void lanai_close(2317,73978 -static int lanai_open(2353,74984 -static int lanai_ioctl(2438,77432 -#define lanai_ioctl 2519,80079 -static int lanai_send(2522,80120 -static int lanai_change_qos(2564,81406 -#define lanai_proc_read 2571,81577 -static int lanai_proc_read(2573,81612 -static const struct atmdev_ops ops 2675,85464 -static int __devinit lanai_init_one(2691,85828 -static struct pci_device_id lanai_pci_tbl[2726,86647 -static struct pci_driver lanai_driver 2739,86950 -static int __init lanai_module_init(2745,87077 -static void __exit lanai_module_exit(2755,87247 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/atmdev_init.c,31 -int __init atmdev_init(33,691 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/uPD98401.h,7255 -#define DRIVERS_ATM_uPD98401_H7,150 -#define MAX_CRAM_SIZE 10,183 -#define RAM_INCREMENT 11,232 -#define uPD98401_PORTS 13,292 -#define uPD98401_OPEN_CHAN 20,365 -#define uPD98401_CHAN_ADDR 21,422 -#define uPD98401_CHAN_ADDR_SHIFT 22,482 -#define uPD98401_CLOSE_CHAN 23,517 -#define uPD98401_CHAN_RT 24,576 -#define uPD98401_DEACT_CHAN 25,637 -#define uPD98401_TX_READY 26,701 -#define uPD98401_ADD_BAT 27,753 -#define uPD98401_POOL 28,807 -#define uPD98401_POOL_SHIFT 29,859 -#define uPD98401_POOL_NUMBAT 30,890 -#define uPD98401_NOP 31,954 -#define uPD98401_IND_ACC 32,997 -#define uPD98401_IA_RW 33,1055 -#define uPD98401_IA_B3 34,1118 -#define uPD98401_IA_B2 35,1181 -#define uPD98401_IA_B1 36,1216 -#define uPD98401_IA_B0 37,1251 -#define uPD98401_IA_BALL 38,1286 -#define uPD98401_IA_TGT 39,1345 -#define uPD98401_IA_TGT_SHIFT 40,1394 -#define uPD98401_IA_TGT_CM 41,1427 -#define uPD98401_IA_TGT_SAR 42,1482 -#define uPD98401_IA_TGT_PHY 43,1542 -#define uPD98401_IA_ADDR 44,1596 -#define uPD98401_BUSY 50,1668 -#define uPD98401_LOCKED 51,1720 -#define uPD98401_AAL5_UINFO 58,1852 -#define uPD98401_AAL5_UINFO_SHIFT 59,1923 -#define uPD98401_AAL5_SIZE 60,1960 -#define uPD98401_AAL5_CHAN 61,2029 -#define uPD98401_AAL5_CHAN_SHIFT 62,2088 -#define uPD98401_AAL5_ERR 63,2124 -#define uPD98401_AAL5_CI 64,2184 -#define uPD98401_AAL5_CLP 65,2248 -#define uPD98401_AAL5_ES 66,2317 -#define uPD98401_AAL5_ES_SHIFT 67,2372 -#define uPD98401_AAL5_ES_NONE 68,2405 -#define uPD98401_AAL5_ES_FREE 69,2455 -#define uPD98401_AAL5_ES_FIFO 70,2524 -#define uPD98401_AAL5_ES_TOOBIG 71,2587 -#define uPD98401_AAL5_ES_CRC 72,2655 -#define uPD98401_AAL5_ES_ABORT 73,2705 -#define uPD98401_AAL5_ES_LENGTH 74,2758 -#define uPD98401_AAL5_ES_T1 75,2820 -#define uPD98401_AAL5_ES_DEACT 76,2878 -#define uPD98401_AAL5_POOL 77,2948 -#define uPD98401_RAW_UINFO 80,3043 -#define uPD98401_RAW_UINFO_SHIFT 81,3090 -#define uPD98401_RAW_HEC 82,3149 -#define uPD98401_RAW_CHAN 83,3195 -#define uPD98401_RAW_CHAN_SHIFT 84,3240 -#define uPD98401_TXI_CONN 87,3324 -#define uPD98401_TXI_CONN_SHIFT 88,3385 -#define uPD98401_TXI_ACTIVE 89,3420 -#define uPD98401_TXI_PQP 90,3488 -#define uPD98401_GMR 96,3594 -#define uPD98401_GSR 97,3648 -#define uPD98401_IMR 98,3704 -#define uPD98401_RQU 99,3760 -#define uPD98401_RQA 100,3815 -#define uPD98401_ADDR 101,3867 -#define uPD98401_VER 102,3919 -#define uPD98401_SWR 103,3966 -#define uPD98401_CMR 104,4013 -#define uPD98401_CMR_L 105,4062 -#define uPD98401_CER 106,4129 -#define uPD98401_CER_L 107,4188 -#define uPD98401_MSH(uPD98401_MSH109,4255 -#define uPD98401_MSL(uPD98401_MSL110,4325 -#define uPD98401_MBA(uPD98401_MBA111,4395 -#define uPD98401_MTA(uPD98401_MTA112,4461 -#define uPD98401_MWA(uPD98401_MWA113,4525 -#define uPD98401_GMR_ONE 116,4612 -#define uPD98401_GMR_SLM 117,4673 -#define uPD98401_GMR_CPE 118,4745 -#define uPD98401_GMR_LP 119,4816 -#define uPD98401_GMR_WA 120,4867 -#define uPD98401_GMR_RA 121,4935 -#define uPD98401_GMR_SZ 122,4998 -#define uPD98401_BURST16 123,5058 -#define uPD98401_BURST8 124,5114 -#define uPD98401_BURST4 125,5170 -#define uPD98401_BURST2 126,5226 -#define uPD98401_GMR_AD 127,5282 -#define uPD98401_GMR_BO 128,5359 -#define uPD98401_GMR_PM 129,5430 -#define uPD98401_GMR_PC 130,5504 -#define uPD98401_GMR_BPE 131,5578 -#define uPD98401_GMR_DR 132,5638 -#define uPD98401_GMR_SE 133,5712 -#define uPD98401_GMR_RE 134,5769 -#define uPD98401_INT_PI 137,5865 -#define uPD98401_INT_RQA 138,5921 -#define uPD98401_INT_RQU 139,5983 -#define uPD98401_INT_RD 140,6048 -#define uPD98401_INT_SPE 141,6111 -#define uPD98401_INT_CPE 142,6173 -#define uPD98401_INT_SBE 143,6243 -#define uPD98401_INT_IND 144,6302 -#define uPD98401_INT_RCR 145,6364 -#define uPD98401_INT_RCR_SHIFT 146,6424 -#define uPD98401_INT_MF 147,6457 -#define uPD98401_INT_MF_SHIFT 148,6512 -#define uPD98401_INT_MM 149,6544 -#define uPD98401_MAJOR 152,6625 -#define uPD98401_MAJOR_SHIFT 153,6681 -#define uPD98401_MINOR 154,6712 -#define uPD98401_IM(uPD98401_IM160,6813 -#define uPD98401_X(uPD98401_X161,6876 -#define uPD98401_Y(uPD98401_Y162,6932 -#define uPD98401_PC(uPD98401_PC163,6988 -#define uPD98401_PS(uPD98401_PS164,7057 -#define uPD98401_IM_I 167,7151 -#define uPD98401_IM_I_SHIFT 168,7193 -#define uPD98401_IM_M 169,7224 -#define uPD98401_PC_P 172,7285 -#define uPD98401_PC_P_SHIFT 173,7327 -#define uPD98401_PC_C 174,7358 -#define uPD98401_PC_C_SHIFT 175,7400 -#define uPD98401_PC_p 176,7431 -#define uPD98401_PC_p_SHIFT 177,7473 -#define uPD98401_PC_c 178,7503 -#define uPD98401_PS_PRIO 181,7564 -#define uPD98401_PS_PRIO_SHIFT 182,7632 -#define uPD98401_PS_S 183,7665 -#define uPD98401_PS_R 184,7727 -#define uPD98401_PS_A 185,7784 -#define uPD98401_PS_E 186,7836 -#define uPD98401_TOS 188,7879 -#define uPD98401_SMA 189,7950 -#define uPD98401_PMA 190,8022 -#define uPD98401_T1R 191,8099 -#define uPD98401_VRR 192,8146 -#define uPD98401_TSR 193,8223 -#define uPD98401_VRR_SDM 196,8303 -#define uPD98401_VRR_SHIFT 197,8359 -#define uPD98401_VRR_SHIFT_SHIFT 198,8417 -#define uPD98401_VRR_MASK 199,8453 -#define uPD98401_TXPD_SIZE 205,8542 -#define uPD98401_TXPD_V 207,8609 -#define uPD98401_TXPD_DP 208,8661 -#define uPD98401_TXPD_SM 209,8733 -#define uPD98401_TXPD_CLPM 210,8802 -#define uPD98401_CLPM_0 211,8855 -#define uPD98401_CLPM_1 212,8902 -#define uPD98401_CLPM_LAST 213,8949 -#define uPD98401_TXPD_CLPM_SHIFT 214,9011 -#define uPD98401_TXPD_PTI 215,9047 -#define uPD98401_TXPD_PTI_SHIFT 216,9102 -#define uPD98401_TXPD_GFC 217,9137 -#define uPD98401_TXPD_GFC_SHIFT 218,9192 -#define uPD98401_TXPD_C10 219,9227 -#define uPD98401_TXPD_AAL5 220,9284 -#define uPD98401_TXPD_MB 221,9344 -#define uPD98401_TXPD_UU 222,9404 -#define uPD98401_TXPD_UU_SHIFT 223,9454 -#define uPD98401_TXPD_CPI 224,9487 -#define uPD98401_TXBD_SIZE 230,9567 -#define uPD98401_TXBD_LAST 232,9633 -#define uPD98401_TXVC_L 239,9790 -#define uPD98401_TXVC_SHP 240,9844 -#define uPD98401_TXVC_SHP_SHIFT 241,9901 -#define uPD98401_TXVC_VPI 242,9936 -#define uPD98401_TXVC_VPI_SHIFT 243,9983 -#define uPD98401_TXVC_VCI 244,10018 -#define uPD98401_TXVC_QRP 245,10065 -#define uPD98401_RXFP_ALERT 251,10178 -#define uPD98401_RXFP_ALERT_SHIFT 252,10238 -#define uPD98401_RXFP_BFSZ 253,10275 -#define uPD98401_RXFP_BFSZ_SHIFT 254,10339 -#define uPD98401_RXFP_BTSZ 255,10375 -#define uPD98401_RXFP_BTSZ_SHIFT 256,10435 -#define uPD98401_RXFP_REMAIN 257,10471 -#define uPD98401_RXVC_BTSZ 263,10567 -#define uPD98401_RXVC_BTSZ_SHIFT 264,10643 -#define uPD98401_RXVC_MB 265,10679 -#define uPD98401_RXVC_POOL 266,10739 -#define uPD98401_RXVC_POOL_SHIFT 267,10807 -#define uPD98401_RXVC_UINFO 268,10843 -#define uPD98401_RXVC_T1 269,10914 -#define uPD98401_RXVC_T1_SHIFT 270,10969 -#define uPD98401_RXVC_PR 271,11003 -#define uPD98401_RXVC_DR 272,11073 -#define uPD98401_RXVC_OD 273,11125 -#define uPD98401_RXVC_AR 274,11182 -#define uPD98401_RXVC_MAXSEG 275,11252 -#define uPD98401_RXVC_REM 276,11329 -#define uPD98401_RXVC_REM_SHIFT 277,11403 -#define uPD98401_RXVC_CLP 278,11438 -#define uPD98401_RXVC_BFA 279,11494 -#define uPD98401_RXVC_BTA 280,11553 -#define uPD98401_RXVC_CI 281,11611 -#define uPD98401_RXVC_DD 282,11675 -#define uPD98401_RXVC_DP 283,11741 -#define uPD98401_RXVC_CURSEG 284,11793 -#define uPD98401_RXLT_ENBL 290,11889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/idt77105.h,1871 -#define DRIVER_ATM_IDT77105_H7,178 -#define IDT77105_MCR 15,289 -#define IDT77105_ISTAT 16,345 -#define IDT77105_DIAG 17,403 -#define IDT77105_LEDHEC 18,457 -#define IDT77105_CTRLO 19,524 -#define IDT77105_CTRHI 20,584 -#define IDT77105_CTRSEL 21,645 -#define IDT77105_MCR_UPLO 26,752 -#define IDT77105_MCR_DREC 27,820 -#define IDT77105_MCR_ECEIO 28,890 -#define IDT77105_MCR_TDPC 30,1010 -#define IDT77105_MCR_DRIC 31,1079 -#define IDT77105_MCR_HALTTX 32,1149 -#define IDT77105_MCR_UMODE 33,1201 -#define IDT77105_MCR_EIP 34,1268 -#define IDT77105_ISTAT_GOODSIG 37,1343 -#define IDT77105_ISTAT_HECERR 38,1404 -#define IDT77105_ISTAT_SCR 39,1462 -#define IDT77105_ISTAT_TPE 40,1528 -#define IDT77105_ISTAT_RSCC 41,1596 -#define IDT77105_ISTAT_RSE 42,1670 -#define IDT77105_ISTAT_RFO 43,1732 -#define IDT77105_DIAG_FTD 46,1806 -#define IDT77105_DIAG_ROS 47,1870 -#define IDT77105_DIAG_MPCS 48,1936 -#define IDT77105_DIAG_RFLUSH 49,2005 -#define IDT77105_DIAG_ITPE 50,2069 -#define IDT77105_DIAG_ITHE 51,2136 -#define IDT77105_DIAG_UMODE 52,2199 -#define IDT77105_DIAG_LCMASK 53,2267 -#define IDT77105_DIAG_LC_NORMAL 55,2330 -#define IDT77105_DIAG_LC_PHY_LOOPBACK 56,2402 -#define IDT77105_DIAG_LC_LINE_LOOPBACK 57,2445 -#define IDT77105_LEDHEC_DRHC 60,2503 -#define IDT77105_LEDHEC_DTHC 61,2569 -#define IDT77105_LEDHEC_RPWMASK 62,2641 -#define IDT77105_LEDHEC_TFS 63,2714 -#define IDT77105_LEDHEC_TLS 64,2781 -#define IDT77105_LEDHEC_RLS 65,2845 -#define IDT77105_LEDHEC_RPW_1 67,2910 -#define IDT77105_LEDHEC_RPW_2 68,2982 -#define IDT77105_LEDHEC_RPW_4 69,3054 -#define IDT77105_LEDHEC_RPW_8 70,3126 -#define IDT77105_CTRSEL_SEC 73,3212 -#define IDT77105_CTRSEL_TCC 74,3275 -#define IDT77105_CTRSEL_RCC 75,3333 -#define IDT77105_CTRSEL_RHEC 76,3391 -int idt77105_init(79,3474 -#define IDT77105_STATS_TIMER_PERIOD 88,3677 -#define IDT77105_RESTART_TIMER_PERIOD 90,3791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/nicstar.h,11310 -#define _LINUX_NICSTAR_H_16,392 -#define NS_MAX_CARDS 33,767 -#define NS_TST_NUM_ENTRIES 39,978 -#define NS_TST_RESERVED 40,1031 -#define NS_SMBUFSIZE 42,1102 -#define NS_LGBUFSIZE 43,1153 -#define NS_RSQSIZE 44,1212 -#define NS_VPIBITS 45,1262 -#define NS_MAX_RCTSIZE 47,1305 -#define NUM_SB 59,1772 -#define NUM_LB 60,1809 -#define NUM_HB 61,1846 -#define NUM_IOVB 62,1896 -#define MIN_SB 65,1977 -#define MIN_LB 66,2013 -#define MIN_HB 67,2049 -#define MIN_IOVB 68,2066 -#define MAX_SB 71,2126 -#define MAX_LB 72,2171 -#define MAX_HB 73,2216 -#define MAX_IOVB 74,2234 -#define TOP_SB 77,2317 -#define TOP_LB 78,2363 -#define TOP_HB 79,2409 -#define TOP_IOVB 80,2427 -#define MAX_TBD_PER_VC 83,2450 -#define MAX_TBD_PER_SCQ 84,2509 -#define SCQFULL_TIMEOUT 88,2604 -#define NS_POLL_PERIOD 90,2638 -#define PCR_TOLERANCE 92,2667 -#define NICSTAR_EPROM_MAC_ADDR_OFFSET 98,2783 -#define NICSTAR_EPROM_MAC_ADDR_OFFSET_ALT 99,2826 -#define NS_IOREMAP_SIZE 104,2957 -#define BUF_SM 106,2987 -#define BUF_LG 107,3056 -#define NS_HBUFSIZE 109,3125 -#define NS_MAX_IOVECS 110,3179 -#define NS_IOVBUFSIZE 112,3294 -#define NS_SMBUFSIZE_USABLE 114,3358 -#define NS_LGBUFSIZE_USABLE 115,3421 -#define NS_AAL0_HEADER 117,3485 -#define NS_SMSKBSIZE 119,3557 -#define NS_LGSKBSIZE 120,3610 -typedef struct ns_rsqens_rsqe132,3840 -} ns_rsqe;ns_rsqe138,3942 -#define ns_rsqe_vpi(ns_rsqe_vpi140,3954 -#define ns_rsqe_vci(ns_rsqe_vci142,4049 -#define NS_RSQE_VALID 145,4137 -#define NS_RSQE_NZGFC 146,4175 -#define NS_RSQE_EOPDU 147,4213 -#define NS_RSQE_BUFSIZE 148,4251 -#define NS_RSQE_CONGESTION 149,4289 -#define NS_RSQE_CLP 150,4327 -#define NS_RSQE_CRCERR 151,4365 -#define NS_RSQE_BUFSIZE_SM 153,4404 -#define NS_RSQE_BUFSIZE_LG 154,4442 -#define ns_rsqe_valid(ns_rsqe_valid156,4481 -#define ns_rsqe_nzgfc(ns_rsqe_nzgfc158,4573 -#define ns_rsqe_eopdu(ns_rsqe_eopdu160,4665 -#define ns_rsqe_bufsize(ns_rsqe_bufsize162,4757 -#define ns_rsqe_congestion(ns_rsqe_congestion164,4853 -#define ns_rsqe_clp(ns_rsqe_clp166,4955 -#define ns_rsqe_crcerr(ns_rsqe_crcerr168,5043 -#define ns_rsqe_cellcount(ns_rsqe_cellcount171,5138 -#define ns_rsqe_init(ns_rsqe_init173,5231 -#define NS_RSQ_NUM_ENTRIES 176,5321 -#define NS_RSQ_ALIGNMENT 177,5366 -typedef struct cell_payloadcell_payload186,5491 -} cell_payload;cell_payload189,5538 -typedef struct ns_rcqens_rcqe191,5555 -} ns_rcqe;ns_rcqe198,5665 -#define NS_RCQE_SIZE 200,5677 -#define ns_rcqe_islast(ns_rcqe_islast202,5715 -#define ns_rcqe_cellheader(ns_rcqe_cellheader204,5806 -#define ns_rcqe_nextbufhandle(ns_rcqe_nextbufhandle206,5887 -typedef struct ns_scqens_scqe216,6073 -} ns_scqe;ns_scqe222,6158 -#define NS_SCQE_TYPE_TBD 227,6294 -#define NS_SCQE_TYPE_TSR 228,6330 -#define NS_TBD_EOPDU 231,6368 -#define NS_TBD_AAL0 232,6400 -#define NS_TBD_AAL34 233,6432 -#define NS_TBD_AAL5 234,6464 -#define NS_TBD_VPI_MASK 236,6497 -#define NS_TBD_VCI_MASK 237,6532 -#define NS_TBD_VC_MASK 238,6567 -#define NS_TBD_VPI_SHIFT 240,6627 -#define NS_TBD_VCI_SHIFT 241,6655 -#define ns_tbd_mkword_1(ns_tbd_mkword_1243,6683 -#define ns_tbd_mkword_1_novbr(ns_tbd_mkword_1_novbr245,6794 -#define ns_tbd_mkword_3(ns_tbd_mkword_3247,6894 -#define ns_tbd_mkword_4(ns_tbd_mkword_4249,6985 -#define NS_TSR_INTENABLE 253,7117 -#define NS_TSR_SCDISVBR 255,7154 -#define ns_tsr_mkword_1(ns_tsr_mkword_1257,7217 -#define ns_tsr_mkword_2(ns_tsr_mkword_2259,7300 -#define ns_scqe_is_tsr(ns_scqe_is_tsr262,7397 -#define VBR_SCQ_NUM_ENTRIES 265,7494 -#define VBR_SCQSIZE 266,7526 -#define CBR_SCQ_NUM_ENTRIES 267,7551 -#define CBR_SCQSIZE 268,7582 -#define NS_SCQE_SIZE 270,7608 -typedef struct ns_tsins_tsi279,7728 -} ns_tsi;ns_tsi283,7782 -#define NS_TSI_EMPTY 289,8001 -#define NS_TSI_TIMESTAMP_MASK 290,8042 -#define ns_tsi_isempty(ns_tsi_isempty292,8084 -#define ns_tsi_gettimestamp(ns_tsi_gettimestamp294,8174 -#define ns_tsi_init(ns_tsi_init297,8279 -#define NS_TSQSIZE 301,8368 -#define NS_TSQ_NUM_ENTRIES 302,8392 -#define NS_TSQ_ALIGNMENT 303,8424 -#define NS_TSI_SCDISVBR 306,8456 -#define ns_tsi_tmrof(ns_tsi_tmrof308,8497 -#define ns_tsi_getscdindex(ns_tsi_getscdindex310,8584 -#define ns_tsi_getscqpos(ns_tsi_getscqpos312,8684 -typedef struct ns_rctens_rcte326,8957 -} ns_rcte;ns_rcte332,9058 -#define NS_RCTE_BSFB 334,9070 -#define NS_RCTE_NZGFC 335,9132 -#define NS_RCTE_CONNECTOPEN 336,9175 -#define NS_RCTE_AALMASK 337,9218 -#define NS_RCTE_AAL0 338,9261 -#define NS_RCTE_AAL34 339,9304 -#define NS_RCTE_AAL5 340,9347 -#define NS_RCTE_RCQ 341,9390 -#define NS_RCTE_RAWCELLINTEN 342,9433 -#define NS_RCTE_RXCONSTCELLADDR 343,9476 -#define NS_RCTE_BUFFVALID 344,9519 -#define NS_RCTE_FBDSIZE 345,9562 -#define NS_RCTE_EFCI 346,9605 -#define NS_RCTE_CLP 347,9648 -#define NS_RCTE_CRCERROR 348,9691 -#define NS_RCTE_CELLCOUNT_MASK 349,9734 -#define NS_RCTE_FBDSIZE_SM 351,9778 -#define NS_RCTE_FBDSIZE_LG 352,9816 -#define NS_RCT_ENTRY_SIZE 354,9855 -typedef struct ns_fbdns_fbd366,10146 -} ns_fbd;ns_fbd370,10212 -typedef u32 ns_tste;ns_tste380,10300 -#define NS_TST_OPCODE_MASK 382,10322 -#define NS_TST_OPCODE_NULL 384,10361 -#define NS_TST_OPCODE_FIXED 385,10426 -#define NS_TST_OPCODE_VARIABLE 386,10505 -#define NS_TST_OPCODE_END 387,10547 -#define ns_tste_make(ns_tste_make389,10601 -typedef struct ns_scdns_scd406,11019 -} ns_scd;ns_scd414,11155 -#define NS_SCD_BASE_MASK_VAR 416,11166 -#define NS_SCD_BASE_MASK_FIX 417,11227 -#define NS_SCD_TAIL_MASK_VAR 418,11285 -#define NS_SCD_TAIL_MASK_FIX 419,11325 -#define NS_SCD_HEAD_MASK_VAR 420,11365 -#define NS_SCD_HEAD_MASK_FIX 421,11405 -#define NS_SCD_XMITFOREVER 422,11445 -#define NS_RCT 433,11726 -#define NS_RCT_32_END 434,11759 -#define NS_RCT_128_END 435,11792 -#define NS_UNUSED_32 436,11825 -#define NS_UNUSED_128 437,11858 -#define NS_UNUSED_END 438,11891 -#define NS_TST_FRSCD 439,11924 -#define NS_TST_FRSCD_END 440,11957 -#define NS_VRSCD2 441,11990 -#define NS_VRSCD2_END 442,12023 -#define NS_VRSCD1 443,12056 -#define NS_VRSCD1_END 444,12089 -#define NS_VRSCD0 445,12122 -#define NS_VRSCD0_END 446,12155 -#define NS_RXFIFO 447,12188 -#define NS_RXFIFO_END 448,12221 -#define NS_SMFBQ 449,12254 -#define NS_SMFBQ_END 450,12287 -#define NS_LGFBQ 451,12320 -#define NS_LGFBQ_END 452,12353 -enum ns_regsns_regs461,12546 - DR0 463,12561 - DR0 = 0x00,463,12561 - DR1 464,12608 - DR1 = 0x04,464,12608 - DR2 465,12654 - DR2 = 0x08,465,12654 - DR3 466,12700 - DR3 = 0x0C,466,12700 - CMD 467,12746 - CMD = 0x10,467,12746 - CFG 468,12784 - CFG = 0x14,468,12784 - STAT 469,12830 - STAT = 0x18,469,12830 - RSQB 470,12869 - RSQB = 0x1C,470,12869 - RSQT 471,12925 - RSQT = 0x20,471,12925 - RSQH 472,12981 - RSQH = 0x24,472,12981 - CDC 473,13037 - CDC = 0x28,473,13037 - VPEC 474,13091 - VPEC = 0x2C,474,13091 - ICC 475,13154 - ICC = 0x30,475,13154 - RAWCT 476,13209 - RAWCT = 0x34,476,13209 - TMR 477,13253 - TMR = 0x38,477,13253 - TSTB 478,13289 - TSTB = 0x3C,478,13289 - TSQB 479,13350 - TSQB = 0x40,479,13350 - TSQT 480,13407 - TSQT = 0x44,480,13407 - TSQH 481,13464 - TSQH = 0x48,481,13464 - GP 482,13521 - GP = 0x4C,482,13521 - VPM 483,13569 - VPM = 0x50 483,13569 -#define NS_CMD_NO_OPERATION 492,13763 -#define NS_CMD_OPENCLOSE_CONNECTION 495,13841 -#define NS_CMD_WRITE_SRAM 498,13940 -#define NS_CMD_READ_SRAM 501,14036 -#define NS_CMD_WRITE_FREEBUFQ 504,14115 -#define NS_CMD_READ_UTILITY 507,14201 -#define NS_CMD_WRITE_UTILITY 510,14320 -#define NS_CMD_OPEN_CONNECTION 513,14439 -#define NS_CMD_CLOSE_CONNECTION 514,14513 -#define NS_CFG_SWRST 519,14657 -#define NS_CFG_RXPATH 520,14722 -#define NS_CFG_SMBUFSIZE_MASK 521,14792 -#define NS_CFG_LGBUFSIZE_MASK 522,14868 -#define NS_CFG_EFBIE 523,14944 -#define NS_CFG_RSQSIZE_MASK 525,15082 -#define NS_CFG_ICACCEPT 526,15158 -#define NS_CFG_IGNOREGFC 527,15228 -#define NS_CFG_VPIBITS_MASK 528,15306 -#define NS_CFG_RCTSIZE_MASK 529,15381 -#define NS_CFG_VCERRACCEPT 530,15461 -#define NS_CFG_RXINT_MASK 531,15537 -#define NS_CFG_RAWIE 533,15672 -#define NS_CFG_RSQAFIE 534,15752 -#define NS_CFG_RXRM 536,15892 -#define NS_CFG_TMRROIE 537,15959 -#define NS_CFG_TXEN 539,16089 -#define NS_CFG_TXIE 540,16165 -#define NS_CFG_TXURIE 542,16295 -#define NS_CFG_UMODE 544,16428 -#define NS_CFG_TSQFIE 545,16509 -#define NS_CFG_PHYIE 547,16650 -#define NS_CFG_SMBUFSIZE_48 549,16722 -#define NS_CFG_SMBUFSIZE_96 550,16764 -#define NS_CFG_SMBUFSIZE_240 551,16806 -#define NS_CFG_SMBUFSIZE_2048 552,16848 -#define NS_CFG_LGBUFSIZE_2048 554,16891 -#define NS_CFG_LGBUFSIZE_4096 555,16933 -#define NS_CFG_LGBUFSIZE_8192 556,16975 -#define NS_CFG_LGBUFSIZE_16384 557,17017 -#define NS_CFG_RSQSIZE_2048 559,17060 -#define NS_CFG_RSQSIZE_4096 560,17099 -#define NS_CFG_RSQSIZE_8192 561,17138 -#define NS_CFG_VPIBITS_0 563,17178 -#define NS_CFG_VPIBITS_1 564,17214 -#define NS_CFG_VPIBITS_2 565,17250 -#define NS_CFG_VPIBITS_8 566,17286 -#define NS_CFG_RCTSIZE_4096_ENTRIES 568,17323 -#define NS_CFG_RCTSIZE_8192_ENTRIES 569,17371 -#define NS_CFG_RCTSIZE_16384_ENTRIES 570,17419 -#define NS_CFG_RXINT_NOINT 572,17468 -#define NS_CFG_RXINT_NODELAY 573,17508 -#define NS_CFG_RXINT_314US 574,17548 -#define NS_CFG_RXINT_624US 575,17588 -#define NS_CFG_RXINT_899US 576,17628 -#define NS_STAT_SFBQC_MASK 581,17752 -#define NS_STAT_LFBQC_MASK 582,17833 -#define NS_STAT_TSIF 583,17914 -#define NS_STAT_TXICP 584,17992 -#define NS_STAT_TSQF 585,18062 -#define NS_STAT_TMROF 586,18135 -#define NS_STAT_PHYI 587,18196 -#define NS_STAT_CMDBZ 588,18263 -#define NS_STAT_SFBQF 589,18322 -#define NS_STAT_LFBQF 590,18392 -#define NS_STAT_RSQF 591,18462 -#define NS_STAT_EOPDU 592,18534 -#define NS_STAT_RAWCF 593,18591 -#define NS_STAT_SFBQE 594,18651 -#define NS_STAT_LFBQE 595,18722 -#define NS_STAT_RSQAF 596,18793 -#define ns_stat_sfbqc_get(ns_stat_sfbqc_get598,18873 -#define ns_stat_lfbqc_get(ns_stat_lfbqc_get599,18943 -#define NS_TST0 606,19099 -#define NS_TST1 607,19128 -#define NS_FRSCD 609,19185 -#define NS_FRSCD_SIZE 610,19237 -#define NS_FRSCD_NUM 611,19278 -#define NS_CFG_SMBUFSIZE 614,19377 -#define NS_CFG_SMBUFSIZE 616,19449 -#define NS_CFG_SMBUFSIZE 618,19522 -#define NS_CFG_SMBUFSIZE 620,19597 -#define NS_CFG_LGBUFSIZE 626,19750 -#define NS_CFG_LGBUFSIZE 628,19826 -#define NS_CFG_LGBUFSIZE 630,19902 -#define NS_CFG_LGBUFSIZE 632,19979 -#define NS_CFG_RSQSIZE 638,20131 -#define NS_CFG_RSQSIZE 640,20201 -#define NS_CFG_RSQSIZE 642,20271 -#define NS_CFG_VPIBITS 648,20411 -#define NS_CFG_VPIBITS 650,20475 -#define NS_CFG_VPIBITS 652,20539 -#define NS_CFG_VPIBITS 654,20603 -#define NS_CFG_RAWIE_OPT 660,20737 -#define NS_CFG_RAWIE_OPT 662,20781 -#define NS_CFG_TSQFIE_OPT 666,20864 -#define NS_CFG_TSQFIE_OPT 668,20910 -#define PCI_VENDOR_ID_IDT 675,21084 -#define PCI_DEVICE_ID_IDT_IDT77201 679,21184 -typedef struct tsq_infotsq_info687,21352 -} tsq_info;tsq_info693,21443 -typedef struct scq_infoscq_info696,21457 -} scq_info;scq_info716,22180 -typedef struct rsq_inforsq_info720,22195 -} rsq_info;rsq_info726,22289 -typedef struct skb_poolskb_pool729,22303 -} skb_pool;skb_pool733,22421 -typedef struct vc_mapvc_map740,22594 -} vc_map;vc_map750,22962 -struct ns_skb_datans_skb_data753,22974 -#define NS_SKB(NS_SKB759,23034 -typedef struct ns_devns_dev762,23093 -} ns_dev;ns_dev807,24550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/horizon.h,7731 -#define DRIVER_ATM_HORIZON_H31,1133 -#define DEBUG_HORIZON36,1222 -#define DEV_LABEL 39,1252 -#define PCI_VENDOR_ID_MADGE 42,1329 -#define PCI_DEVICE_ID_MADGE_HORIZON 45,1421 -#define PRINTK(PRINTK50,1500 -#define DBG_ERR 55,1621 -#define DBG_WARN 56,1645 -#define DBG_INFO 57,1669 -#define DBG_VCC 58,1693 -#define DBG_QOS 59,1717 -#define DBG_TX 60,1741 -#define DBG_RX 61,1765 -#define DBG_SKB 62,1789 -#define DBG_IRQ 63,1813 -#define DBG_FLOW 64,1837 -#define DBG_BUS 65,1861 -#define DBG_REGS 66,1885 -#define DBG_DATA 67,1909 -#define DBG_MASK 68,1933 -#define PRINTDB(PRINTDB72,2112 -#define PRINTDM(PRINTDM74,2231 -#define PRINTDE(PRINTDE76,2325 -#define PRINTD(PRINTD78,2424 -#define PRINTD(PRINTD83,2555 -#define PRINTDB(PRINTDB84,2591 -#define PRINTDM(PRINTDM85,2628 -#define PRINTDE(PRINTDE86,2665 -#define PRINTDD(PRINTDD90,2711 -#define PRINTDDB(PRINTDDB91,2744 -#define PRINTDDM(PRINTDDM92,2778 -#define PRINTDDE(PRINTDDE93,2812 -#define SPARE_BUFFER_POOL_SIZE 97,2867 -#define HRZ_MAX_VPI 98,2917 -#define MIN_PCI_LATENCY 99,2961 -#define HRZ_IO_EXTENT 104,3080 -#define DATA_PORT_OFF 106,3128 -#define TX_CHANNEL_PORT_OFF 107,3175 -#define TX_DESCRIPTOR_PORT_OFF 108,3222 -#define MEMORY_PORT_OFF 109,3269 -#define MEM_WR_ADDR_REG_OFF 110,3316 -#define MEM_RD_ADDR_REG_OFF 111,3363 -#define CONTROL_0_REG 112,3410 -#define INT_SOURCE_REG_OFF 113,3457 -#define INT_ENABLE_REG_OFF 114,3504 -#define MASTER_RX_ADDR_REG_OFF 115,3551 -#define MASTER_RX_COUNT_REG_OFF 116,3598 -#define MASTER_TX_ADDR_REG_OFF 117,3645 -#define MASTER_TX_COUNT_REG_OFF 118,3692 -#define TX_DESCRIPTOR_REG_OFF 119,3739 -#define TX_CHANNEL_CONFIG_COMMAND_OFF 120,3786 -#define TX_CHANNEL_CONFIG_DATA_OFF 121,3833 -#define TX_FREE_BUFFER_COUNT_OFF 122,3880 -#define RX_FREE_BUFFER_COUNT_OFF 123,3927 -#define TX_CONFIG_OFF 124,3974 -#define TX_STATUS_OFF 125,4021 -#define RX_CONFIG_OFF 126,4068 -#define RX_LINE_CONFIG_OFF 127,4115 -#define RX_QUEUE_RD_PTR_OFF 128,4162 -#define RX_QUEUE_WR_PTR_OFF 129,4209 -#define MAX_AAL5_CELL_COUNT_OFF 130,4256 -#define RX_CHANNEL_PORT_OFF 131,4303 -#define TX_CELL_COUNT_OFF 132,4350 -#define RX_CELL_COUNT_OFF 133,4397 -#define HEC_ERROR_COUNT_OFF 134,4444 -#define UNASSIGNED_CELL_COUNT_OFF 135,4491 -#define SEEPROM_DO 141,4598 -#define SEEPROM_DI 142,4651 -#define SEEPROM_SK 143,4704 -#define SEEPROM_CS 144,4757 -#define DEBUG_BIT_0 145,4810 -#define DEBUG_BIT_1 146,4863 -#define DEBUG_BIT_2 147,4916 -#define DEBUG_BIT_0_OE 149,5022 -#define DEBUG_BIT_1_OE 150,5075 -#define DEBUG_BIT_2_OE 151,5128 -#define DEBUG_BIT_0_STATE 153,5234 -#define DEBUG_BIT_1_STATE 154,5287 -#define DEBUG_BIT_2_STATE 155,5340 -#define GENERAL_BIT_0 157,5446 -#define GENERAL_BIT_1 158,5499 -#define GENERAL_BIT_2 159,5552 -#define GENERAL_BIT_3 160,5605 -#define RESET_HORIZON 161,5658 -#define RESET_ATM 162,5711 -#define RESET_RX 163,5764 -#define RESET_TX 164,5817 -#define RESET_HOST 165,5870 -#define TARGET_RETRY_DISABLE 167,5976 -#define ATM_LAYER_SELECT 168,6029 -#define ATM_LAYER_STATUS 169,6082 -#define RX_DATA_AV 174,6234 -#define RX_DISABLED 175,6287 -#define TIMING_MARKER 176,6340 -#define FORCED 177,6393 -#define RX_BUS_MASTER_COMPLETE 178,6446 -#define TX_BUS_MASTER_COMPLETE 179,6499 -#define ABR_TX_CELL_COUNT_INT 180,6552 -#define DEBUG_INT 181,6605 -#define MAX_PIO_COUNT 186,6741 -#define MAX_TRANSFER_COUNT 188,6859 -#define MASTER_TX_AUTO_APPEND_DESC 189,6920 -#define PCR_TIMER_ACCESS 193,7012 -#define SCR_TIMER_ACCESS 194,7065 -#define BUCKET_CAPACITY_ACCESS 195,7118 -#define BUCKET_FULLNESS_ACCESS 196,7171 -#define RATE_TYPE_ACCESS 197,7224 -#define TX_CHANNEL_CONFIG_MULT 199,7330 -#define BUCKET_MAX_SIZE 201,7436 -#define CLOCK_SELECT_SHIFT 205,7525 -#define CLOCK_DISABLE 206,7573 -#define IDLE_RATE_TYPE 208,7627 -#define ABR_RATE_TYPE 209,7676 -#define VBR_RATE_TYPE 210,7725 -#define CBR_RATE_TYPE 211,7774 -#define DRVR_DRVRBAR_ENABLE 215,7850 -#define TXCLK_MUX_SELECT_RCLK 216,7903 -#define TRANSMIT_TIMING_MARKER 217,7956 -#define LOOPBACK_TIMING_MARKER 218,8009 -#define TX_TEST_MODE_16MHz 219,8062 -#define TX_TEST_MODE_8MHz 220,8115 -#define TX_TEST_MODE_5_33MHz 221,8168 -#define TX_TEST_MODE_4MHz 222,8221 -#define TX_TEST_MODE_3_2MHz 223,8274 -#define TX_TEST_MODE_2_66MHz 224,8327 -#define TX_TEST_MODE_2_29MHz 225,8380 -#define TX_NORMAL_OPERATION 226,8433 -#define ABR_ROUND_ROBIN 227,8486 -#define IDLE_CHANNELS_MASK 231,8566 -#define ABR_CELL_COUNT_REACHED_MULT 232,8619 -#define ABR_CELL_COUNT_REACHED_MASK 233,8673 -#define NON_USER_CELLS_IN_ONE_CHANNEL 237,8751 -#define RX_ENABLE 238,8804 -#define IGNORE_UNUSED_VPI_VCI_BITS_SET 239,8857 -#define NON_USER_UNUSED_VPI_VCI_BITS_SET 240,8910 -#define DISCARD_UNUSED_VPI_VCI_BITS_SET 241,8963 -#define SIGNAL_LOSS 245,9048 -#define FREQUENCY_DETECT_ERROR 246,9101 -#define LOCK_DETECT_ERROR 247,9154 -#define SELECT_INTERNAL_LOOPBACK 248,9207 -#define LOCK_DETECT_ENABLE 249,9260 -#define FREQUENCY_DETECT_ENABLE 250,9313 -#define USER_FRAQ 251,9366 -#define GXTALOUT_SELECT_DIV4 252,9419 -#define GXTALOUT_SELECT_NO_GATING 253,9472 -#define TIMING_MARKER_RECEIVED 254,9525 -#define RX_CHANNEL_MASK 258,9602 -#define FLUSH_CHANNEL 260,9708 -#define RX_CHANNEL_UPDATE_IN_PROGRESS 261,9761 -#define RX_Q_ENTRY_LENGTH_MASK 265,9842 -#define RX_Q_ENTRY_CHANNEL_SHIFT 266,9895 -#define SIMONS_DODGEY_MARKER 267,9940 -#define RX_CONGESTION_EXPERIENCED 268,9993 -#define RX_CRC_10_OK 269,10046 -#define RX_CRC_32_OK 270,10099 -#define RX_COMPLETE_FRAME 271,10152 -#define BUFFER_PTR_MASK 277,10316 -#define RX_INT_THRESHOLD_MULT 278,10369 -#define RX_INT_THRESHOLD_MASK 279,10422 -#define INT_EVERY_N_CELLS 280,10471 -#define CONGESTION_EXPERIENCED 281,10524 -#define FIRST_CELL_OF_AAL5_FRAME 282,10577 -#define CHANNEL_TYPE_AAL5 283,10630 -#define CHANNEL_TYPE_RAW_CELLS 284,10683 -#define CHANNEL_TYPE_AAL3_4 285,10736 -#define BUFF_STATUS_MASK 289,10817 -#define BUFF_STATUS_EMPTY 290,10870 -#define BUFF_STATUS_CELL_AV 291,10923 -#define BUFF_STATUS_LAST_CELL_AV 292,10976 -#define RX_CHANNEL_DISABLED 298,11089 -#define RX_CHANNEL_IDLE 299,11142 -#define INITIAL_CRC 303,11219 -typedef u8 HDW;HDW311,11582 -typedef struct cell_buf cell_buf313,11599 -} cell_buf;cell_buf322,11828 -typedef struct tx_ch_desc tx_ch_desc324,11841 -} tx_ch_desc;tx_ch_desc329,11945 -typedef struct rx_ch_desc rx_ch_desc331,11960 -} rx_ch_desc;rx_ch_desc334,12026 -typedef struct rx_q_entry rx_q_entry336,12041 -} rx_q_entry;rx_q_entry338,12082 -#define TX_CHANS 340,12097 -#define RX_CHANS 341,12116 -#define RX_QS 342,12138 -#define MAX_VCS 343,12157 -#define BUFN1_SIZE 349,12300 -#define BUFN2_SIZE 351,12392 -#define BUFN3_SIZE 353,12464 -#define BUFN4_SIZE 355,12536 -typedef struct MEMMAP MEMMAP361,12688 -} MEMMAP;MEMMAP374,13390 -#define memmap 376,13401 - aal0,381,13479 - aal34,382,13487 - aal5383,13496 -} hrz_aal;hrz_aal384,13503 - tx_busy,387,13530 - rx_busy,388,13541 - ultra389,13552 -} hrz_flags;hrz_flags390,13560 -} hrz_vcc;hrz_vcc405,13919 -struct hrz_dev hrz_dev407,13931 -typedef struct hrz_dev hrz_dev;hrz_dev463,15561 -#define BUF_PTR(BUF_PTR467,15622 -#define INTERESTING_INTERRUPTS 469,15673 -#define TX_AAL5_LIMIT 473,15852 -#define RX_AAL5_LIMIT 476,15987 -#define DW(DW479,16065 -#define HRZ_DEV(HRZ_DEV481,16097 -#define HRZ_VCC(HRZ_VCC482,16156 -#define YELLOW_LED 488,16413 -#define GREEN_LED 489,16447 -#define YELLOW_LED_OE 490,16481 -#define GREEN_LED_OE 491,16518 -#define GREEN_LED_OFF(GREEN_LED_OFF493,16556 -#define GREEN_LED_ON(GREEN_LED_ON495,16679 -#define YELLOW_LED_OFF(YELLOW_LED_OFF497,16803 -#define YELLOW_LED_ON(YELLOW_LED_ON499,16927 - round_up,503,17068 - round_down,504,17080 - round_nearest505,17094 -} rounding;rounding506,17110 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/firestream.h,9804 -#define FS_NR_FREE_POOLS 37,1452 -#define FS_NR_RX_QUEUES 38,1481 -struct FS_QENTRY FS_QENTRY45,1609 -struct FS_BPENTRY FS_BPENTRY52,1684 -#define STATUS_CODE(STATUS_CODE65,1901 -#define QSA 69,1998 -#define QEA 70,2019 -#define QRP 71,2040 -#define QWP 72,2061 -#define QCNF 73,2082 -#define FPCNF 78,2229 -#define FPSA 79,2250 -#define FPEA 80,2271 -#define FPCNT 81,2292 -#define FPCTU 82,2313 -#define Q_SA(Q_SA84,2335 -#define Q_EA(Q_EA85,2366 -#define Q_RP(Q_RP86,2397 -#define Q_WP(Q_WP87,2428 -#define Q_CNF(Q_CNF88,2459 -#define FP_CNF(FP_CNF90,2491 -#define FP_SA(FP_SA91,2523 -#define FP_EA(FP_EA92,2554 -#define FP_CNT(FP_CNT93,2585 -#define FP_CTU(FP_CTU94,2617 -#define Q_FULL 97,2682 -#define Q_EMPTY 98,2706 -#define Q_INCWRAP 99,2730 -#define Q_ADDR_MASK 100,2754 -#define RBFP_RBS 103,2827 -#define RBFP_RBSVAL 104,2859 -#define RBFP_CME 105,2891 -#define RBFP_DLP 106,2923 -#define RBFP_BFPWT 107,2955 -#define QE_CMD_NULL 113,3018 -#define QE_CMD_REG_RD 114,3063 -#define QE_CMD_REG_RDM 115,3108 -#define QE_CMD_REG_WR 116,3153 -#define QE_CMD_REG_WRM 117,3198 -#define QE_CMD_CONFIG_TX 118,3243 -#define QE_CMD_CONFIG_RX 119,3288 -#define QE_CMD_PRP_RD 120,3333 -#define QE_CMD_PRP_RDM 121,3378 -#define QE_CMD_PRP_WR 122,3423 -#define QE_CMD_PRP_WRM 123,3468 -#define QE_CMD_RX_EN 124,3513 -#define QE_CMD_RX_PURGE 125,3558 -#define QE_CMD_RX_PURGE_INH 126,3603 -#define QE_CMD_TX_EN 127,3648 -#define QE_CMD_TX_PURGE 128,3693 -#define QE_CMD_TX_PURGE_INH 129,3738 -#define QE_CMD_RST_CG 130,3783 -#define QE_CMD_SET_CG 131,3828 -#define QE_CMD_RST_CLP 132,3873 -#define QE_CMD_SET_CLP 133,3918 -#define QE_CMD_OVERRIDE 134,3963 -#define QE_CMD_ADD_BFP 135,4008 -#define QE_CMD_DUMP_TX 136,4053 -#define QE_CMD_DUMP_RX 137,4098 -#define QE_CMD_LRAM_RD 138,4143 -#define QE_CMD_LRAM_RDM 139,4188 -#define QE_CMD_LRAM_WR 140,4233 -#define QE_CMD_LRAM_WRM 141,4278 -#define QE_CMD_LRAM_BSET 142,4323 -#define QE_CMD_LRAM_BCLR 143,4368 -#define QE_CMD_CONFIG_SEGM 144,4413 -#define QE_CMD_READ_SEGM 145,4458 -#define QE_CMD_CONFIG_ROUT 146,4503 -#define QE_CMD_READ_ROUT 147,4548 -#define QE_CMD_CONFIG_TM 148,4593 -#define QE_CMD_READ_TM 149,4638 -#define QE_CMD_CONFIG_TXBM 150,4683 -#define QE_CMD_READ_TXBM 151,4728 -#define QE_CMD_CONFIG_RXBM 152,4773 -#define QE_CMD_READ_RXBM 153,4818 -#define QE_CMD_CONFIG_REAS 154,4863 -#define QE_CMD_READ_REAS 155,4908 -#define QE_TRANSMIT_DE 157,4954 -#define QE_CMD_LINKED 158,4998 -#define QE_CMD_IMM 159,5042 -#define QE_CMD_IMM_INQ 160,5086 -#define TD_EPI 162,5131 -#define TD_COMMAND 163,5175 -#define TD_DATA 165,5220 -#define TD_RM_CELL 166,5264 -#define TD_OAM_CELL 167,5308 -#define TD_OAM_CELL_SEGMENT 168,5352 -#define TD_BPI 170,5397 -#define FP_FLAGS_EPI 172,5442 -#define TX_PQ(TX_PQ175,5488 -#define TXB_RQ 176,5527 -#define ST_Q 177,5552 -#define RXB_FP(RXB_FP178,5577 -#define RXB_RQ(RXB_RQ179,5616 -#define TXQ_HP 182,5657 -#define TXQ_LP 183,5674 -#define CMDR0 195,5946 -#define CMDR1 196,5965 -#define CMDR2 197,5984 -#define CMDR3 198,6003 -#define SARMODE0 201,6024 -#define SARMODE0_TXVCS_0 203,6051 -#define SARMODE0_TXVCS_1k 204,6090 -#define SARMODE0_TXVCS_2k 205,6129 -#define SARMODE0_TXVCS_4k 206,6168 -#define SARMODE0_TXVCS_8k 207,6207 -#define SARMODE0_TXVCS_16k 208,6246 -#define SARMODE0_TXVCS_32k 209,6285 -#define SARMODE0_TXVCS_64k 210,6324 -#define SARMODE0_TXVCS_32 211,6363 -#define SARMODE0_ABRVCS_0 213,6403 -#define SARMODE0_ABRVCS_512 214,6442 -#define SARMODE0_ABRVCS_1k 215,6481 -#define SARMODE0_ABRVCS_2k 216,6520 -#define SARMODE0_ABRVCS_4k 217,6559 -#define SARMODE0_ABRVCS_8k 218,6598 -#define SARMODE0_ABRVCS_16k 219,6637 -#define SARMODE0_ABRVCS_32k 220,6676 -#define SARMODE0_ABRVCS_32 221,6715 -#define SARMODE0_RXVCS_0 224,6855 -#define SARMODE0_RXVCS_1k 225,6894 -#define SARMODE0_RXVCS_2k 226,6933 -#define SARMODE0_RXVCS_4k 227,6972 -#define SARMODE0_RXVCS_8k 228,7011 -#define SARMODE0_RXVCS_16k 229,7050 -#define SARMODE0_RXVCS_32k 230,7089 -#define SARMODE0_RXVCS_64k 231,7128 -#define SARMODE0_RXVCS_32 232,7167 -#define SARMODE0_CALSUP_1 234,7208 -#define SARMODE0_CALSUP_2 235,7247 -#define SARMODE0_CALSUP_3 236,7286 -#define SARMODE0_CALSUP_4 237,7325 -#define SARMODE0_PRPWT_FS50_0 239,7365 -#define SARMODE0_PRPWT_FS50_2 240,7408 -#define SARMODE0_PRPWT_FS50_5 241,7451 -#define SARMODE0_PRPWT_FS50_11 242,7494 -#define SARMODE0_PRPWT_FS155_0 244,7538 -#define SARMODE0_PRPWT_FS155_1 245,7581 -#define SARMODE0_PRPWT_FS155_2 246,7624 -#define SARMODE0_PRPWT_FS155_3 247,7667 -#define SARMODE0_SRTS0 249,7711 -#define SARMODE0_SRTS1 250,7750 -#define SARMODE0_RUN 252,7790 -#define SARMODE0_UNLOCK 254,7830 -#define SARMODE0_CWRE 255,7869 -#define SARMODE0_INTMODE_READCLEAR 258,7910 -#define SARMODE0_INTMODE_READNOCLEAR 259,7966 -#define SARMODE0_INTMODE_READNOCLEARINHIBIT 260,8022 -#define SARMODE0_INTMODE_READCLEARINHIBIT 261,8078 -#define SARMODE0_GINT 263,8172 -#define SARMODE0_SHADEN 264,8211 -#define SARMODE1 267,8252 -#define SARMODE1_TRTL_SHIFT 270,8280 -#define SARMODE1_RRTL_SHIFT 271,8331 -#define SARMODE1_TAGM 273,8383 -#define SARMODE1_HECM0 275,8444 -#define SARMODE1_HECM1 276,8484 -#define SARMODE1_HECM2 277,8524 -#define SARMODE1_GFCE 279,8565 -#define SARMODE1_GFCR 280,8605 -#define SARMODE1_PMS 281,8645 -#define SARMODE1_GPRI 282,8685 -#define SARMODE1_GPAS 283,8725 -#define SARMODE1_GVAS 284,8765 -#define SARMODE1_GNAM 285,8805 -#define SARMODE1_GPLEN 286,8845 -#define SARMODE1_DUMPE 287,8885 -#define SARMODE1_OAMCRC 288,8925 -#define SARMODE1_DCOAM 289,8965 -#define SARMODE1_DCRM 290,9005 -#define SARMODE1_TSTLP 291,9045 -#define SARMODE1_DEFHEC 292,9085 -#define ISR 295,9127 -#define IUSR 296,9149 -#define IMR 297,9171 -#define ISR_LPCO 299,9194 -#define ISR_DPCO 300,9232 -#define ISR_RBRQ0_W 301,9270 -#define ISR_RBRQ1_W 302,9308 -#define ISR_RBRQ2_W 303,9346 -#define ISR_RBRQ3_W 304,9384 -#define ISR_RBRQ0_NF 305,9422 -#define ISR_RBRQ1_NF 306,9460 -#define ISR_RBRQ2_NF 307,9498 -#define ISR_RBRQ3_NF 308,9536 -#define ISR_BFP_SC 309,9574 -#define ISR_INIT 310,9612 -#define ISR_INIT_ERR 311,9650 -#define ISR_USCEO 312,9719 -#define ISR_UPEC0 313,9757 -#define ISR_VPFCO 314,9795 -#define ISR_CRCCO 315,9833 -#define ISR_HECO 316,9871 -#define ISR_TBRQ_W 317,9909 -#define ISR_TBRQ_NF 318,9947 -#define ISR_CTPQ_E 319,9985 -#define ISR_GFC_C0 320,10023 -#define ISR_PCI_FTL 321,10061 -#define ISR_CSQ_W 322,10099 -#define ISR_CSQ_NF 323,10137 -#define ISR_EXT_INT 324,10175 -#define ISR_RXDMA_S 325,10213 -#define TMCONF 328,10253 -#define CALPRESCALE 332,10287 -#define CELLOSCONF 335,10325 -#define CELLOSCONF_COTS 336,10349 -#define CELLOSCONF_CEN 337,10387 -#define CELLOSCONF_SC8 338,10425 -#define CELLOSCONF_SC4 339,10463 -#define CELLOSCONF_SC2 340,10501 -#define CELLOSCONF_SC1 341,10539 -#define CELLOSCONF_COBS 343,10578 -#define CELLOSCONF_COPK 344,10616 -#define CELLOSCONF_COST 345,10654 -#define RAS0 348,10705 -#define RAS0_DCD_XHLT 349,10724 -#define RAS0_VPSEL 351,10759 -#define RAS0_VCSEL 352,10793 -#define RAS1 354,10828 -#define RAS1_UTREG 355,10847 -#define DMAMR 358,10882 -#define DMAMR_TX_MODE_FULL 359,10902 -#define DMAMR_TX_MODE_PART 360,10940 -#define DMAMR_TX_MODE_NONE 361,10978 -#define RAS2 365,11031 -#define RAS2_NNI 367,11051 -#define RAS2_USEL 368,11080 -#define RAS2_UBS 369,11109 -struct fs_transmit_config fs_transmit_config373,11141 -#define TC_FLAGS_AAL5 381,11237 -#define TC_FLAGS_TRANSPARENT_PAYLOAD 382,11276 -#define TC_FLAGS_TRANSPARENT_CELL 383,11325 -#define TC_FLAGS_STREAMING 384,11374 -#define TC_FLAGS_PACKET 385,11413 -#define TC_FLAGS_TYPE_ABR 386,11447 -#define TC_FLAGS_TYPE_CBR 387,11486 -#define TC_FLAGS_TYPE_VBR 388,11525 -#define TC_FLAGS_TYPE_UBR 389,11564 -#define TC_FLAGS_CAL0 390,11603 -#define TC_FLAGS_CAL1 391,11642 -#define TC_FLAGS_CAL2 392,11681 -#define TC_FLAGS_CAL3 393,11720 -#define RC_FLAGS_NAM 396,11761 -#define RC_FLAGS_RXBM_PSB 397,11801 -#define RC_FLAGS_RXBM_CIF 398,11841 -#define RC_FLAGS_RXBM_PMB 399,11881 -#define RC_FLAGS_RXBM_STR 400,11921 -#define RC_FLAGS_RXBM_SAF 401,11961 -#define RC_FLAGS_RXBM_POS 402,12001 -#define RC_FLAGS_BFPS 403,12041 -#define RC_FLAGS_BFPS_BFP 405,12082 -#define RC_FLAGS_BFPS_BFP0 407,12123 -#define RC_FLAGS_BFPS_BFP1 408,12163 -#define RC_FLAGS_BFPS_BFP2 409,12203 -#define RC_FLAGS_BFPS_BFP3 410,12243 -#define RC_FLAGS_BFPS_BFP4 411,12283 -#define RC_FLAGS_BFPS_BFP5 412,12323 -#define RC_FLAGS_BFPS_BFP6 413,12363 -#define RC_FLAGS_BFPS_BFP7 414,12403 -#define RC_FLAGS_BFPS_BFP01 415,12443 -#define RC_FLAGS_BFPS_BFP23 416,12483 -#define RC_FLAGS_BFPS_BFP45 417,12523 -#define RC_FLAGS_BFPS_BFP67 418,12563 -#define RC_FLAGS_BFPS_BFP07 419,12603 -#define RC_FLAGS_BFPS_BFP27 420,12643 -#define RC_FLAGS_BFPS_BFP47 421,12683 -#define RC_FLAGS_BFPS 423,12724 -#define RC_FLAGS_BFPP 424,12764 -#define RC_FLAGS_TEVC 425,12804 -#define RC_FLAGS_TEP 426,12844 -#define RC_FLAGS_AAL5 427,12884 -#define RC_FLAGS_TRANSP 428,12924 -#define RC_FLAGS_TRANSC 429,12964 -#define RC_FLAGS_ML 430,13004 -#define RC_FLAGS_TRBRM 431,13044 -#define RC_FLAGS_PRI 432,13084 -#define RC_FLAGS_HOAM 433,13124 -#define RC_FLAGS_CRC10 434,13164 -#define RAC 437,13206 -#define RAM 438,13224 -#define TXQ_NENTRIES 446,13469 -#define RXRQ_NENTRIES 447,13494 -struct fs_vcc fs_vcc450,13523 -struct queue queue457,13615 -struct freepool freepool462,13677 -struct fs_dev fs_dev470,13752 -#define FS50_CHANNEL_BITS 498,14371 -#define FS50_NR_CHANNELS 499,14400 -#define FS_DEV(FS_DEV502,14466 -#define FS_VCC(FS_VCC503,14530 -#define FS_IS50 506,14596 -#define FS_IS155 507,14617 -#define IS_FS50(IS_FS50509,14639 -#define IS_FS155(IS_FS155510,14684 -#define FS155_VPI_BITS 514,14857 -#define FS155_VCI_BITS 515,14882 -#define FS155_CHANNEL_BITS 517,14908 -#define FS155_NR_CHANNELS 518,14970 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/idt77252_tables.h,83 -static unsigned int log_to_rate[6,109 -static unsigned char rate_to_log[266,19351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/atm/iphase.c,2888 -#define swap(swap65,2905 -struct suni_priv suni_priv66,2965 -#define PRIV(PRIV72,3235 -static IADEV *ia_dev[76,3366 -static struct atm_dev *_ia_dev[77,3391 -static int iadev_count;78,3426 -static struct timer_list ia_timer 80,3495 -struct atm_vcc *vcc_close_que[81,3570 -static int IA_TX_BUF 82,3606 -static int IA_RX_BUF 83,3675 -static u32 IADebugFlag 84,3744 -static void ia_init_rtn_q 101,4216 -static void ia_enque_head_rtn_q 107,4308 -static int ia_enque_rtn_q 119,4543 -static IARTN_Q * ia_deque_rtn_q 133,4906 -static void ia_hack_tcq(145,5181 -static u16 get_desc 183,6661 -static void clear_lockup 242,8682 -cellrate_to_float(315,11301 -#define NZ 318,11330 -#define M_BITS 319,11350 -#define E_BITS 320,11402 -#define M_MASK 321,11454 -#define E_MASK 322,11478 -float_to_cellrate(346,11987 -static void init_abr_vc 366,12364 -ia_open_abr_vc(382,12787 -static int ia_cbr_setup 467,15874 -static void ia_cbrVc_close 582,20698 -static int ia_avail_descs(607,21408 -static int ia_que_tx 618,21746 -void ia_tx_poll 646,22517 -static void ia_eeprom_put 708,24347 -static u16 ia_eeprom_get 744,25026 -static void ia_hw_type(768,25470 -static void IaFrontEndIntr(829,27657 -void ia_mb25_init 863,28851 -void ia_suni_pm7345_init 878,29277 -int tcnter 962,31983 -void xdump(963,32011 -static struct atm_dev *ia_boards 998,33106 -#define ACTUAL_RAM_BASE 1000,33152 -#define ACTUAL_SEG_RAM_BASE 1002,33218 -#define ACTUAL_REASS_RAM_BASE 1004,33312 -void desc_dbg(1010,33499 -static void rx_excp_rcvd(1037,34550 -static void free_desc(1066,35699 -static int rx_pkt(1078,36046 -static void rx_intr(1193,39922 -static void rx_dle_intr(1255,41851 -static int open_rx(1358,45325 -static int rx_init(1403,46903 -static void tx_intr(1642,55989 -static void tx_dle_intr(1667,56715 -static int open_tx(1730,58927 -static int tx_init(1881,65051 -static irqreturn_t ia_int(2198,77119 -static int get_esi(2246,78368 -static int reset_sar(2266,78889 -static int __init ia_init(2287,79404 -static void ia_update_stats(2403,83097 -static void ia_led_timer(2415,83655 -static void ia_phy_put(2445,84711 -static unsigned char ia_phy_get(2451,84859 -static void ia_free_tx(2456,84988 -static void ia_free_rx(2476,85494 -static int __init ia_start(2483,85659 -static void ia_close(2591,88808 -static int ia_open(2679,92361 -static int ia_change_qos(2735,93747 -static int ia_ioctl(2741,93892 -static int ia_getsockopt(2876,98695 -static int ia_setsockopt(2883,98875 -static int ia_pkt_tx 2890,99055 -static int ia_send(3070,105435 -static int ia_proc_read(3106,106518 -static const struct atmdev_ops ops 3158,108678 -static int __devinit ia_init_one(3172,109016 -static void __devexit ia_remove_one(3239,110707 -static struct pci_device_id ia_pci_tbl[3264,111280 -static struct pci_driver ia_driver 3271,111494 -static int __init ia_module_init(3278,111669 -static void __exit ia_module_exit(3291,111915 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/map.c,185 -struct kobj_map kobj_map18,409 - struct probe probe19,427 -int kobj_map(31,638 -void kobj_unmap(68,1432 -struct kobject *kobj_lookup(95,1992 -struct kobj_map *kobj_map_init(135,2881 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/bus.c,1488 -#define to_dev(to_dev20,380 -#define to_drv(to_drv21,445 -#define to_bus_attr(to_bus_attr23,520 -#define to_bus(to_bus24,595 -#define to_drv_attr(to_drv_attr30,707 -#define to_driver(to_driver31,785 -drv_attr_show(35,871 -drv_attr_store(47,1156 -static struct sysfs_ops driver_sysfs_ops 59,1464 -static void driver_release(65,1564 -static struct kobj_type ktype_driver 71,1689 -bus_attr_show(83,1848 -bus_attr_store(95,2122 -static struct sysfs_ops bus_sysfs_ops 107,2419 -int bus_create_file(112,2515 -void bus_remove_file(123,2749 -static struct kobj_type ktype_bus 131,2925 -int bus_for_each_dev(157,3739 -int bus_for_each_drv(203,5078 -void device_bind_driver(242,6060 -static int bus_match(266,6823 -static int device_attach(291,7359 -void driver_attach(333,8378 -void device_release_driver(366,9211 -static void driver_detach(385,9600 -static int device_add_attrs(394,9850 -static void device_remove_attrs(415,10221 -int bus_add_device(434,10639 -void bus_remove_device(460,11331 -static int driver_add_attrs(474,11728 -static void driver_remove_attrs(495,12108 -int bus_add_driver(511,12402 -void bus_remove_driver(548,13213 -static int bus_rescan_devices_helper(563,13593 -int bus_rescan_devices(583,14106 -struct bus_type * get_bus(593,14256 -void put_bus(598,14396 -struct bus_type * find_bus(614,14698 -static int bus_add_attrs(626,14944 -static void bus_remove_attrs(645,15276 -int bus_register(663,15713 -void bus_unregister(709,16731 -int __init buses_init(718,16955 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/node.c,265 -static struct sysdev_class node_class 14,263 -static ssize_t node_read_cpumap(19,334 -#define K(K35,784 -static ssize_t node_read_meminfo(36,824 -static ssize_t node_read_numastat(74,1945 -int __init register_node(120,3211 -int __init register_node_type(137,3591 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/init.c,32 -void __init driver_init(28,586 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/cpu.c,279 -struct sysdev_class cpu_sysdev_class 13,211 -static ssize_t show_online(19,338 -static ssize_t store_online(26,524 -static void __init register_cpu_control(49,952 -static inline void register_cpu_control(54,1098 -int __init register_cpu(67,1482 -int __init cpu_dev_init(87,1920 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/firmware.c,96 -int firmware_register(17,314 -void firmware_unregister(23,432 -int __init firmware_init(28,510 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/sys.c,616 -#define to_sysdev(to_sysdev27,695 -#define to_sysdev_attr(to_sysdev_attr28,757 -sysdev_show(32,847 -sysdev_store(44,1133 -static struct sysfs_ops sysfs_ops 55,1439 -static struct kobj_type ktype_sysdev 60,1527 -int sysdev_create_file(65,1599 -void sysdev_remove_file(71,1727 -int sysdev_class_register(84,2002 -void sysdev_class_unregister(94,2281 -int sysdev_driver_register(119,2947 -void sysdev_driver_unregister(144,3563 -int sysdev_register(170,4115 -void sysdev_unregister(217,5193 -void sysdev_shutdown(252,6126 -int sysdev_suspend(304,7467 -int sysdev_resume(351,8577 -int __init system_bus_init(389,9384 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/platform.c,607 -struct device platform_bus 20,444 -platform_get_resource(31,657 -int platform_get_irq(53,1110 -int platform_add_devices(65,1437 -int platform_device_register(86,1809 -void platform_device_unregister(144,3168 -struct platform_object platform_object159,3464 -static void platform_device_release_simple(164,3568 -struct platform_device *platform_device_register_simple(184,4266 -static int platform_match(234,5569 -static int platform_suspend(241,5790 -static int platform_resume(255,6147 -struct bus_type platform_bus_type 269,6464 -int __init platform_bus_init(276,6614 -u64 dma_get_required_mask(283,6768 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/class_simple.c,552 -struct class_simple class_simple16,338 -#define to_class_simple(to_class_simple20,421 -struct simple_dev simple_dev22,493 -#define to_simple_dev(to_simple_dev27,584 -static spinlock_t simple_dev_list_lock 30,691 -static void release_simple_dev(32,753 -static ssize_t show_dev(38,890 -static void class_simple_release(44,1054 -struct class_simple *class_simple_create(62,1724 -void class_simple_destroy(103,2628 -struct class_device *class_simple_device_add(128,3720 -int class_simple_set_hotplug(179,5014 -void class_simple_device_remove(196,5603 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/base.h,112 -static inline struct class_device *to_class_dev(7,208 -struct class_device_attribute *to_class_dev_attr(13,350 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/suspend.c,88 -int suspend_device(38,1123 -int device_suspend(73,2174 -int device_power_down(115,3123 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/shutdown.c,95 -#define to_dev(to_dev17,301 -int device_detach_shutdown(22,411 -void device_shutdown(50,1156 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/sysfs.c,228 -static ssize_t state_show(27,896 -static ssize_t state_store(32,1014 -static struct attribute * power_attrs[51,1384 -static struct attribute_group pm_attr_group 55,1461 -int dpm_sysfs_add(60,1554 -void dpm_sysfs_remove(65,1654 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/power.h,376 - DEVICE_PM_ON,4,9 - DEVICE_PM1,5,24 - DEVICE_PM2,6,37 - DEVICE_PM3,7,50 - DEVICE_PM_OFF,8,63 -static inline struct dev_pm_info * to_pm_info(38,462 -static inline struct device * to_device(43,595 -static inline int device_pm_add(82,1276 -static inline void device_pm_remove(86,1344 -static inline int dpm_runtime_suspend(91,1407 -static inline void dpm_runtime_resume(96,1493 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/resume.c,134 -int resume_device(23,351 -void dpm_resume(32,475 -void device_resume(54,913 -void dpm_power_up(75,1354 -void device_power_up(94,1788 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/runtime.c,133 -static void runtime_resume(13,224 -void dpm_runtime_resume(33,693 -int dpm_runtime_suspend(47,911 -void dpm_set_power_state(76,1550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/power/main.c,182 -static inline void device_pm_hold(36,1035 -static inline void device_pm_release(42,1141 -void device_pm_set_parent(62,1722 -int device_pm_add(71,1976 -void device_pm_remove(87,2372 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/dmapool.c,397 -struct dma_pool dma_pool17,489 -struct dma_page dma_page29,731 -#define POOL_TIMEOUT_JIFFIES 37,909 -#define POOL_POISON_FREED 38,969 -#define POOL_POISON_ALLOCATED 39,1013 -show_pools 44,1115 -dma_pool_create 105,2977 -pool_alloc_page 159,4175 -is_page_busy 191,4928 -pool_free_page 202,5095 -dma_pool_destroy 224,5672 -dma_pool_alloc 265,6831 -pool_find_page 325,8244 -dma_pool_free 354,8910 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/interface.c,118 -static ssize_t detach_show(30,887 -static ssize_t detach_store(35,1001 -struct attribute * dev_default_attrs[48,1277 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/firmware_class.c,1001 - FW_STATUS_LOADING,27,615 - FW_STATUS_DONE,28,635 - FW_STATUS_ABORT,29,652 - FW_STATUS_READY,30,670 -static int loading_timeout 33,692 -struct firmware_priv firmware_priv39,907 -fw_load_abort(50,1139 -firmware_timeout_show(58,1290 -firmware_timeout_store(74,1658 -static struct class firmware_class firmware_class86,2070 -firmware_class_hotplug(93,2209 -firmware_loading_show(114,2721 -firmware_loading_store(131,3269 -firmware_data_read(170,4173 -fw_realloc_buffer(197,4784 -firmware_data_write(230,5559 -static struct bin_attribute firmware_attr_data_tmpl 258,6210 -fw_class_dev_release(266,6417 -firmware_class_timeout(277,6614 -fw_setup_class_device_id(284,6763 -fw_register_class_device(291,6972 -fw_setup_class_device(338,8218 -request_firmware(394,9691 -release_firmware(452,11027 -register_firmware(470,11378 -struct firmware_work firmware_work478,11606 -request_firmware_work_func(488,11810 -request_firmware_nowait(520,12516 -firmware_class_init(555,13221 -firmware_class_exit(573,13633 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/core.c,801 -#define to_dev(to_dev31,624 -#define to_dev_attr(to_dev_attr32,683 -dev_attr_show(37,825 -dev_attr_store(49,1100 -static struct sysfs_ops dev_sysfs_ops 61,1398 -static void device_release(75,1756 -static struct kobj_type ktype_device 89,2040 -static int dev_hotplug_filter(96,2181 -static char *dev_hotplug_name(108,2413 -static int dev_hotplug(115,2550 -static struct kset_hotplug_ops device_hotplug_ops 133,3001 -int device_create_file(152,3406 -void device_remove_file(168,3736 -void device_initialize(188,4249 -int device_add(210,4925 -int device_register(268,6303 -struct device * get_device(284,6624 -void put_device(294,6812 -void device_del(314,7312 -void device_unregister(346,8238 -int device_for_each_child(366,8764 -struct device *device_find(391,9403 -int __init devices_init(399,9574 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/driver.c,297 -#define to_dev(to_dev18,349 -#define to_drv(to_drv19,417 -int driver_create_file(27,603 -void driver_remove_file(45,962 -struct device_driver * get_driver(58,1219 -void put_driver(68,1411 -int driver_register(86,1874 -void driver_unregister(107,2475 -struct device_driver *driver_find(124,2918 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/base/class.c,1642 -#define to_class_attr(to_class_attr20,423 -#define to_class(to_class21,502 -class_attr_show(24,590 -class_attr_store(36,873 -static void class_release(48,1174 -static struct sysfs_ops class_sysfs_ops 61,1478 -static struct kobj_type ktype_class 66,1580 -int class_create_file(75,1792 -void class_remove_file(85,2008 -void class_put(98,2306 -static int add_class_attrs(104,2374 -static void remove_class_attrs(124,2725 -int class_register(134,2917 -void class_unregister(156,3367 -int class_device_create_file(166,3564 -void class_device_remove_file(175,3796 -static int class_device_dev_link(182,3985 -static void class_device_dev_unlink(190,4173 -static int class_device_driver_link(195,4295 -static void class_device_driver_unlink(203,4524 -class_device_attr_show(210,4665 -class_device_attr_store(223,4998 -static struct sysfs_ops class_dev_sysfs_ops 235,5340 -static void class_dev_release(240,5460 -static struct kobj_type ktype_class_device 257,5855 -static int class_hotplug_filter(262,5973 -static char *class_hotplug_name(274,6239 -static int class_hotplug(281,6404 -static struct kset_hotplug_ops class_hotplug_ops 301,6974 -static int class_device_add_attrs(310,7195 -static void class_device_remove_attrs(332,7629 -void class_device_initialize(343,7885 -int class_device_add(350,8066 -int class_device_register(398,9248 -void class_device_del(404,9385 -void class_device_unregister(428,9959 -int class_device_rename(436,10170 -struct class_device * class_device_get(456,10579 -void class_device_put(463,10739 -int class_interface_register(469,10831 -void class_interface_unregister(493,11347 -int __init classes_init(515,11774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/adm1021.c,2248 -#define ADM1021_SYSCTL_TEMP 31,1085 -#define ADM1021_SYSCTL_REMOTE_TEMP 32,1119 -#define ADM1021_SYSCTL_DIE_CODE 33,1159 -#define ADM1021_SYSCTL_ALARMS 34,1197 -#define ADM1021_ALARM_TEMP_HIGH 36,1234 -#define ADM1021_ALARM_TEMP_LOW 37,1272 -#define ADM1021_ALARM_RTEMP_HIGH 38,1309 -#define ADM1021_ALARM_RTEMP_LOW 39,1347 -#define ADM1021_ALARM_RTEMP_NA 40,1385 -static unsigned short normal_i2c[43,1447 -static unsigned short normal_i2c_range[44,1504 -static unsigned int normal_isa[47,1604 -static unsigned int normal_isa_range[48,1663 -#define ADM1021_REG_TEMP 57,1925 -#define ADM1021_REG_REMOTE_TEMP 58,1956 -#define ADM1021_REG_STATUS 59,1994 -#define ADM1021_REG_MAN_ID 60,2027 -#define ADM1021_REG_DEV_ID 61,2134 -#define ADM1021_REG_DIE_CODE 62,2205 -#define ADM1021_REG_CONFIG_R 64,2312 -#define ADM1021_REG_CONFIG_W 65,2347 -#define ADM1021_REG_CONV_RATE_R 66,2382 -#define ADM1021_REG_CONV_RATE_W 67,2420 -#define ADM1021_REG_REM_TEMP_PREC 69,2539 -#define ADM1021_REG_REM_OFFSET 70,2579 -#define ADM1021_REG_REM_OFFSET_PREC 71,2617 -#define ADM1021_REG_REM_TOS_PREC 72,2659 -#define ADM1021_REG_REM_THYST_PREC 73,2698 -#define ADM1021_REG_TOS_R 75,2752 -#define ADM1021_REG_TOS_W 76,2784 -#define ADM1021_REG_REMOTE_TOS_R 77,2816 -#define ADM1021_REG_REMOTE_TOS_W 78,2854 -#define ADM1021_REG_THYST_R 79,2892 -#define ADM1021_REG_THYST_W 80,2926 -#define ADM1021_REG_REMOTE_THYST_R 81,2960 -#define ADM1021_REG_REMOTE_THYST_W 82,3000 -#define ADM1021_REG_ONESHOT 84,3057 -#define TEMP_FROM_REG(TEMP_FROM_REG92,3415 -#define TEMP_TO_REG(TEMP_TO_REG93,3482 -struct adm1021_data adm1021_data103,3879 -static int read_only 138,5019 -static struct i2c_driver adm1021_driver 142,5094 -static int adm1021_id 151,5327 -#define show(show153,5355 -#define show2(show2166,5697 -#define set(set175,5936 -static int adm1021_attach_adapter(201,7107 -static int adm1021_detect(208,7286 -static void adm1021_init_client(335,11071 -static int adm1021_detach_client(344,11414 -static int adm1021_read_value(358,11713 -static int adm1021_write_value(363,11830 -static struct adm1021_data *adm1021_update_device(370,11996 -static int __init sensors_adm1021_init(406,13547 -static void __exit sensors_adm1021_exit(411,13638 -module_init(424,13987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm78.c,2524 -static unsigned short normal_i2c[30,1064 -static unsigned short normal_i2c_range[31,1121 -static unsigned int normal_isa[32,1196 -static unsigned int normal_isa_range[33,1263 -#define LM78_EXTENT 41,1470 -#define LM78_ADDR_REG_OFFSET 44,1569 -#define LM78_DATA_REG_OFFSET 45,1600 -#define LM78_REG_IN_MAX(LM78_REG_IN_MAX48,1657 -#define LM78_REG_IN_MIN(LM78_REG_IN_MIN49,1703 -#define LM78_REG_IN(LM78_REG_IN50,1749 -#define LM78_REG_FAN_MIN(LM78_REG_FAN_MIN52,1788 -#define LM78_REG_FAN(LM78_REG_FAN53,1831 -#define LM78_REG_TEMP 55,1871 -#define LM78_REG_TEMP_OVER 56,1898 -#define LM78_REG_TEMP_HYST 57,1930 -#define LM78_REG_ALARM1 59,1963 -#define LM78_REG_ALARM2 60,1992 -#define LM78_REG_VID_FANDIV 62,2022 -#define LM78_REG_CONFIG 64,2056 -#define LM78_REG_CHIPID 65,2085 -#define LM78_REG_I2C_ADDR 66,2114 -static inline u8 IN_TO_REG(74,2281 -#define IN_FROM_REG(IN_FROM_REG79,2407 -static inline u8 FAN_TO_REG(81,2447 -static inline int FAN_FROM_REG(89,2639 -static inline u8 TEMP_TO_REG(96,2813 -static inline int TEMP_FROM_REG(102,2964 -static inline int VID_FROM_REG(109,3091 -#define ALARMS_FROM_REG(ALARMS_FROM_REG116,3250 -static inline u8 DIV_TO_REG(120,3384 -#define DIV_FROM_REG(DIV_FROM_REG124,3475 -struct lm78_data lm78_data145,4601 -static struct i2c_driver lm78_driver 178,5728 -static ssize_t show_in(188,5963 -static ssize_t show_in_min(194,6138 -static ssize_t show_in_max(200,6321 -static ssize_t set_in_min(206,6504 -static ssize_t set_in_max(217,6868 -#define show_in_offset(show_in_offset228,7233 -static ssize_t show_temp(270,8502 -static ssize_t show_temp_over(276,8671 -static ssize_t set_temp_over(282,8850 -static ssize_t show_temp_hyst(292,9196 -static ssize_t set_temp_hyst(298,9375 -static ssize_t show_fan(315,9965 -static ssize_t show_fan_min(322,10179 -static ssize_t set_fan_min(329,10400 -static ssize_t show_fan_div(340,10802 -static ssize_t set_fan_div(350,11242 -#define show_fan_offset(show_fan_offset375,12035 -static ssize_t set_fan_1_div(397,12883 -static ssize_t set_fan_2_div(403,13012 -static ssize_t show_vid(421,13475 -static ssize_t show_alarms(429,13709 -static int lm78_attach_adapter(440,14144 -int lm78_detect(448,14361 -#define REALLY_SLOW_IO474,14967 -static int lm78_detach_client(631,19855 -static int lm78_read_value(658,20672 -static int lm78_write_value(679,21453 -static void lm78_init_client(693,21913 -static struct lm78_data *lm78_update_device(717,22538 -static int __init sm_lm78_init(772,24043 -static void __exit sm_lm78_exit(777,24123 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/isp1301_omap.c,4333 -#define DRIVER_VERSION 47,1319 -#define DRIVER_NAME 48,1359 -struct isp1301 isp130153,1484 -# define WORK_UPDATE_ISP 69,1791 -# define WORK_UPDATE_OTG 70,1845 -# define WORK_HOST_RESUME 71,1899 -# define WORK_TIMER 72,1946 -# define WORK_STOP 73,1987 -#define OTG_XCEIV_OUTPUTS 79,2063 -#define OTG_XCEIV_INPUTS 81,2152 -#define OTG_CTRL_BITS 83,2253 -#define OTG_CTRL_MASK 87,2391 -static inline int tps65010_set_vbus_draw(109,2814 -static void enable_vbus_draw(117,2940 -static void enable_vbus_source(124,3118 -static inline void notresponding(133,3354 -#define ISP_BASE 144,3588 -static unsigned short normal_i2c[145,3611 -static unsigned short normal_i2c_range[148,3694 -I2C_CLIENT_INSMOD;150,3758 -static struct i2c_driver isp1301_driver;152,3778 -isp1301_get_u8(157,3880 -isp1301_get_u16(163,4004 -isp1301_set_bits(169,4125 -isp1301_clear_bits(175,4267 -#define ISP1301_VENDOR_ID 183,4493 -#define ISP1301_PRODUCT_ID 184,4540 -#define ISP1301_BCD_DEVICE 185,4588 -#define I2C_VENDOR_ID_PHILIPS 187,4637 -#define I2C_PRODUCT_ID_PHILIPS_1301 188,4675 -#define ISP1301_MODE_CONTROL_1 191,4747 -# define MC1_SPEED_REG 192,4813 -# define MC1_SUSPEND_REG 193,4846 -# define MC1_DAT_SE0 194,4881 -# define MC1_TRANSPARENT 195,4912 -# define MC1_BDIS_ACON_EN 196,4947 -# define MC1_OE_INT_EN 197,4982 -# define MC1_UART_EN 198,5015 -# define MC1_MASK 199,5046 -#define ISP1301_MODE_CONTROL_2 200,5070 -# define MC2_GLOBAL_PWR_DN 201,5136 -# define MC2_SPD_SUSP_CTRL 202,5172 -# define MC2_BI_DI 203,5208 -# define MC2_TRANSP_BDIR0 204,5237 -# define MC2_TRANSP_BDIR1 205,5272 -# define MC2_AUDIO_EN 206,5307 -# define MC2_PSW_EN 207,5339 -# define MC2_EN2V7 208,5369 -#define ISP1301_OTG_CONTROL_1 209,5398 -# define OTG1_DP_PULLUP 210,5463 -# define OTG1_DM_PULLUP 211,5497 -# define OTG1_DP_PULLDOWN 212,5531 -# define OTG1_DM_PULLDOWN 213,5566 -# define OTG1_ID_PULLDOWN 214,5601 -# define OTG1_VBUS_DRV 215,5636 -# define OTG1_VBUS_DISCHRG 216,5669 -# define OTG1_VBUS_CHRG 217,5705 -#define ISP1301_OTG_STATUS 218,5739 -# define OTG_B_SESS_END 219,5790 -# define OTG_B_SESS_VLD 220,5824 -#define ISP1301_INTERRUPT_SOURCE 222,5859 -#define ISP1301_INTERRUPT_LATCH 223,5911 -#define ISP1301_INTERRUPT_FALLING 225,5979 -#define ISP1301_INTERRUPT_RISING 226,6047 -# define INTR_VBUS_VLD 229,6163 -# define INTR_SESS_VLD 230,6196 -# define INTR_DP_HI 231,6229 -# define INTR_ID_GND 232,6259 -# define INTR_DM_HI 233,6290 -# define INTR_ID_FLOAT 234,6320 -# define INTR_BDIS_ACON 235,6353 -# define INTR_CR_INT 236,6387 -static const char *state_string(240,6498 -static inline const char *state_name(260,7241 -#define dev_vdbg 266,7357 -#define dev_vdbg(dev_vdbg268,7390 -static void power_down(281,7812 -static void power_up(292,8167 -#define NO_HOST_SUSPEND303,8515 -static int host_suspend(305,8540 -static int host_resume(323,8863 -static int gadget_suspend(338,9092 -#define TIMER_MINUTES 348,9390 -#define TIMER_JIFFIES 349,9415 -isp1301_defer_work(356,9678 -static void a_idle(370,10012 -static void b_idle(390,10507 -dump_regs(410,10983 -static void check_state(438,11806 -static inline void check_state(511,13062 -static void update_otg1(516,13188 -static void update_otg2(550,14021 -static void otg_update_isp(566,14389 -# define toggle(toggle605,15297 -static irqreturn_t omap_otg_irq(674,16896 -static struct platform_device *otg_dev;842,21185 -static int otg_init(844,21226 -static int otg_probe(877,22160 -static int otg_remove(885,22311 -struct device_driver omap_otg_driver 891,22383 -static int otg_bind(898,22526 -static void otg_unbind(920,22913 -static void b_peripheral(935,23182 -static int isp_update_otg(953,23686 -static u8 isp1301_clear_latch(1094,27453 -isp1301_work(1102,27652 -static irqreturn_t isp1301_irq(1183,29541 -static void isp1301_timer(1189,29683 -static void isp1301_release(1196,29860 -static struct isp1301 *the_transceiver;1208,30121 -static int isp1301_detach_client(1210,30162 -static int isp1301_otg_enable(1253,31395 -isp1301_set_host(1275,31929 -isp1301_set_peripheral(1331,33246 -isp1301_set_power(1395,34941 -isp1301_start_srp(1405,35153 -isp1301_start_hnp(1431,35751 -static int isp1301_probe(1483,37107 -static int isp1301_scan_bus(1627,40884 -static struct i2c_driver isp1301_driver 1635,41108 -static int __init isp_init(1647,41466 -static void __exit isp_exit(1653,41568 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm90.c,2457 -static unsigned short normal_i2c[78,3429 -static unsigned short normal_i2c_range[79,3498 -static unsigned int normal_isa[80,3561 -static unsigned int normal_isa_range[81,3620 -#define LM90_REG_R_MAN_ID 93,3800 -#define LM90_REG_R_CHIP_ID 94,3832 -#define LM90_REG_R_CONFIG1 95,3865 -#define LM90_REG_W_CONFIG1 96,3898 -#define LM90_REG_R_CONFIG2 97,3931 -#define LM90_REG_W_CONFIG2 98,3964 -#define LM90_REG_R_CONVRATE 99,3997 -#define LM90_REG_W_CONVRATE 100,4031 -#define LM90_REG_R_STATUS 101,4065 -#define LM90_REG_R_LOCAL_TEMP 102,4097 -#define LM90_REG_R_LOCAL_HIGH 103,4133 -#define LM90_REG_W_LOCAL_HIGH 104,4169 -#define LM90_REG_R_LOCAL_LOW 105,4205 -#define LM90_REG_W_LOCAL_LOW 106,4240 -#define LM90_REG_R_LOCAL_CRIT 107,4275 -#define LM90_REG_W_LOCAL_CRIT 108,4311 -#define LM90_REG_R_REMOTE_TEMPH 109,4347 -#define LM90_REG_R_REMOTE_TEMPL 110,4385 -#define LM90_REG_R_REMOTE_OFFSH 111,4423 -#define LM90_REG_W_REMOTE_OFFSH 112,4461 -#define LM90_REG_R_REMOTE_OFFSL 113,4499 -#define LM90_REG_W_REMOTE_OFFSL 114,4537 -#define LM90_REG_R_REMOTE_HIGHH 115,4575 -#define LM90_REG_W_REMOTE_HIGHH 116,4613 -#define LM90_REG_R_REMOTE_HIGHL 117,4651 -#define LM90_REG_W_REMOTE_HIGHL 118,4689 -#define LM90_REG_R_REMOTE_LOWH 119,4727 -#define LM90_REG_W_REMOTE_LOWH 120,4764 -#define LM90_REG_R_REMOTE_LOWL 121,4801 -#define LM90_REG_W_REMOTE_LOWL 122,4838 -#define LM90_REG_R_REMOTE_CRIT 123,4875 -#define LM90_REG_W_REMOTE_CRIT 124,4912 -#define LM90_REG_R_TCRIT_HYST 125,4949 -#define LM90_REG_W_TCRIT_HYST 126,4985 -#define TEMP1_FROM_REG(TEMP1_FROM_REG137,5335 -#define TEMP1_TO_REG(TEMP1_TO_REG138,5403 -#define TEMP2_FROM_REG(TEMP2_FROM_REG139,5471 -#define TEMP2_TO_REG(TEMP2_TO_REG140,5549 -#define HYST_FROM_REG(HYST_FROM_REG141,5633 -#define HYST_TO_REG(HYST_TO_REG142,5673 -static struct i2c_driver lm90_driver 159,6146 -struct lm90_data lm90_data172,6414 -static int lm90_id 190,6851 -#define show_temp(show_temp196,6899 -#define set_temp1(set_temp1211,7426 -#define set_temp2(set_temp2221,7788 -#define show_temp_hyst(show_temp_hyst239,8554 -static ssize_t set_temp_hyst1(249,8903 -static ssize_t show_alarms(261,9274 -static int lm90_attach_adapter(290,10303 -static int lm90_detect(301,10598 -static void lm90_init_client(445,14716 -static int lm90_detach_client(460,15076 -static struct lm90_data *lm90_update_device(474,15343 -static int __init sensors_lm90_init(554,18102 -static void __exit sensors_lm90_exit(559,18187 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/adm1025.c,1683 -static unsigned short normal_i2c[62,2671 -static unsigned short normal_i2c_range[63,2728 -static unsigned int normal_isa[64,2803 -static unsigned int normal_isa_range[65,2862 -#define ADM1025_REG_MAN_ID 77,3026 -#define ADM1025_REG_CHIP_ID 78,3059 -#define ADM1025_REG_CONFIG 79,3094 -#define ADM1025_REG_STATUS1 80,3127 -#define ADM1025_REG_STATUS2 81,3161 -#define ADM1025_REG_IN(ADM1025_REG_IN82,3195 -#define ADM1025_REG_IN_MAX(ADM1025_REG_IN_MAX83,3237 -#define ADM1025_REG_IN_MIN(ADM1025_REG_IN_MIN84,3287 -#define ADM1025_REG_TEMP(ADM1025_REG_TEMP85,3337 -#define ADM1025_REG_TEMP_HIGH(ADM1025_REG_TEMP_HIGH86,3381 -#define ADM1025_REG_TEMP_LOW(ADM1025_REG_TEMP_LOW87,3433 -#define ADM1025_REG_VID 88,3484 -#define ADM1025_REG_VID4 89,3515 -static int in_scale[96,3647 -#define IN_FROM_REG(IN_FROM_REG98,3714 -#define IN_TO_REG(IN_TO_REG99,3776 -#define TEMP_FROM_REG(TEMP_FROM_REG103,3912 -#define TEMP_TO_REG(TEMP_TO_REG104,3954 -static struct i2c_driver adm1025_driver 122,4507 -struct adm1025_data adm1025_data135,4790 -static int adm1025_id 156,5326 -#define show_in(show_in162,5377 -#define show_temp(show_temp189,6237 -#define set_in(set_in209,6995 -#define set_temp(set_temp243,8139 -static ssize_t show_alarms(271,9230 -static ssize_t show_vid(278,9450 -static ssize_t show_vrm(285,9687 -static ssize_t set_vrm(290,9844 -static int adm1025_attach_adapter(303,10172 -static int adm1025_detect(314,10473 -static void adm1025_init_client(452,14982 -static int adm1025_detach_client(494,16077 -static struct adm1025_data *adm1025_update_device(508,16347 -static int __init sensors_adm1025_init(555,17706 -static void __exit sensors_adm1025_exit(560,17797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/rtc8564.c,1123 -# define _DBG(_DBG27,679 -# define _DBG(_DBG29,803 -#define _DBGRTCTM(_DBGRTCTM32,859 -struct rtc8564_data rtc8564_data37,1129 -static inline u8 _rtc8564_ctrl1(42,1193 -static inline u8 _rtc8564_ctrl2(47,1340 -#define CTRL1(CTRL153,1497 -#define CTRL2(CTRL254,1532 -#define BCD_TO_BIN(BCD_TO_BIN56,1568 -#define BIN_TO_BCD(BIN_TO_BCD57,1621 -static int debug;59,1675 -static struct i2c_driver rtc8564_driver;62,1740 -static unsigned short ignore[64,1782 -static unsigned short normal_addr[65,1835 -static struct i2c_client_address_data addr_data 67,1900 -static int rtc8564_read(80,2274 -static int rtc8564_write(106,2769 -static int rtc8564_attach(141,3409 -static int rtc8564_probe(206,4876 -static int rtc8564_detach(211,4985 -static int rtc8564_get_datetime(218,5118 -rtc8564_set_datetime(252,5989 -static int rtc8564_get_ctrl(294,7056 -static int rtc8564_set_ctrl(305,7263 -static int rtc8564_read_mem(320,7582 -static int rtc8564_write_mem(329,7761 -rtc8564_command(339,7953 -static struct i2c_driver rtc8564_driver 371,8546 -static __init int rtc8564_init(381,8791 -static __exit void rtc8564_exit(386,8874 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/fscher.c,3959 -static unsigned short normal_i2c[40,1264 -static unsigned short normal_i2c_range[41,1327 -static unsigned int normal_isa[42,1390 -static unsigned int normal_isa_range[43,1449 -#define FSCHER_REG_IDENT_0 56,1629 -#define FSCHER_REG_IDENT_1 57,1662 -#define FSCHER_REG_IDENT_2 58,1695 -#define FSCHER_REG_REVISION 59,1728 -#define FSCHER_REG_EVENT_STATE 62,1795 -#define FSCHER_REG_CONTROL 63,1832 -#define FSCHER_REG_WDOG_PRESET 66,1881 -#define FSCHER_REG_WDOG_STATE 67,1918 -#define FSCHER_REG_WDOG_CONTROL 68,1954 -#define FSCHER_REG_FAN0_MIN 71,2005 -#define FSCHER_REG_FAN0_ACT 72,2039 -#define FSCHER_REG_FAN0_STATE 73,2073 -#define FSCHER_REG_FAN0_RIPPLE 74,2109 -#define FSCHER_REG_FAN1_MIN 77,2159 -#define FSCHER_REG_FAN1_ACT 78,2193 -#define FSCHER_REG_FAN1_STATE 79,2227 -#define FSCHER_REG_FAN1_RIPPLE 80,2263 -#define FSCHER_REG_FAN2_MIN 83,2313 -#define FSCHER_REG_FAN2_ACT 84,2347 -#define FSCHER_REG_FAN2_STATE 85,2381 -#define FSCHER_REG_FAN2_RIPPLE 86,2417 -#define FSCHER_REG_VOLT_12 89,2481 -#define FSCHER_REG_VOLT_5 90,2514 -#define FSCHER_REG_VOLT_BATT 91,2546 -#define FSCHER_REG_TEMP0_ACT 94,2602 -#define FSCHER_REG_TEMP0_STATE 95,2637 -#define FSCHER_REG_TEMP1_ACT 98,2695 -#define FSCHER_REG_TEMP1_STATE 99,2730 -#define FSCHER_REG_TEMP2_ACT 102,2788 -#define FSCHER_REG_TEMP2_STATE 103,2823 -static struct i2c_driver fscher_driver 122,3414 -struct fscher_data fscher_data135,3692 -static int fscher_id 159,4393 -#define sysfs_r(sysfs_r165,4443 -#define sysfs_w(sysfs_w174,4812 -#define sysfs_rw_n(sysfs_rw_n184,5323 -#define sysfs_rw(sysfs_rw189,5546 -#define sysfs_ro_n(sysfs_ro_n194,5731 -#define sysfs_ro(sysfs_ro198,5891 -#define sysfs_fan(sysfs_fan202,6018 -#define sysfs_temp(sysfs_temp208,6269 -#define sysfs_in(sysfs_in212,6415 -#define sysfs_revision(sysfs_revision215,6492 -#define sysfs_alarms(sysfs_alarms218,6567 -#define sysfs_control(sysfs_control221,6634 -#define sysfs_watchdog(sysfs_watchdog224,6705 -sysfs_fan(229,6896 -#define device_create_file_fan(device_create_file_fan249,7692 -#define device_create_file_temp(device_create_file_temp257,8030 -#define device_create_file_in(device_create_file_in263,8239 -#define device_create_file_revision(device_create_file_revision268,8374 -#define device_create_file_alarms(device_create_file_alarms273,8497 -#define device_create_file_control(device_create_file_control278,8616 -#define device_create_file_watchdog(device_create_file_watchdog283,8737 -static int fscher_detect(301,9196 -static int fscher_detach_client(378,11417 -static int fscher_read_value(392,11686 -static int fscher_write_value(399,11853 -static void fscher_init_client(408,12111 -static struct fscher_data *fscher_update_device(416,12329 -#define FAN_INDEX_FROM_NUM(FAN_INDEX_FROM_NUM469,14604 -static ssize_t set_fan_status(471,14647 -static ssize_t show_fan_status(482,15003 -static ssize_t set_fan_pwm(488,15215 -static ssize_t show_fan_pwm 497,15525 -static ssize_t set_fan_div(502,15673 -static ssize_t show_fan_div(526,16345 -#define RPM_FROM_REG(RPM_FROM_REG532,16555 -static ssize_t show_fan_input 534,16591 -#define TEMP_INDEX_FROM_NUM(TEMP_INDEX_FROM_NUM541,16757 -static ssize_t set_temp_status(543,16802 -static ssize_t show_temp_status(554,17169 -#define TEMP_FROM_REG(TEMP_FROM_REG560,17376 -static ssize_t show_temp_input(562,17427 -#define VOLT_FROM_REG(VOLT_FROM_REG574,17913 -static ssize_t show_in_input(576,17954 -static ssize_t show_revision(583,18096 -static ssize_t show_alarms(590,18223 -static ssize_t set_control(598,18406 -static ssize_t show_control(609,18730 -static ssize_t set_watchdog_control(617,18913 -static ssize_t show_watchdog_control(630,19297 -static ssize_t set_watchdog_status(636,19502 -static ssize_t show_watchdog_status(647,19835 -static ssize_t set_watchdog_preset(653,20024 -static ssize_t show_watchdog_preset(662,20300 -static int __init sensors_fscher_init(667,20435 -static void __exit sensors_fscher_exit(672,20524 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/smsc47m1.c,2246 -static unsigned short normal_i2c[36,1299 -static unsigned short normal_i2c_range[37,1356 -static unsigned int normal_isa[39,1476 -static unsigned int normal_isa_range[40,1543 -static struct i2c_force_data forces[41,1608 -enum chips chips43,1659 -enum chips { any_chip,43,1659 -enum chips { any_chip, smsc47m1 43,1659 -static struct i2c_address_data addr_data 44,1694 -#define REG 58,2108 -#define VAL 59,2158 -superio_outb(62,2225 -superio_inb(69,2313 -#define superio_select(superio_select76,2412 -superio_enter(79,2482 -superio_exit(85,2544 -#define SUPERIO_REG_ACT 90,2586 -#define SUPERIO_REG_BASE 91,2616 -#define SUPERIO_REG_DEVID 92,2646 -#define SMSC_EXTENT 96,2710 -#define SMSC47M1_REG_ALARM 99,2776 -#define SMSC47M1_REG_TPIN(SMSC47M1_REG_TPIN100,2809 -#define SMSC47M1_REG_PPIN(SMSC47M1_REG_PPIN101,2854 -#define SMSC47M1_REG_PWM(SMSC47M1_REG_PWM102,2899 -#define SMSC47M1_REG_FANDIV 103,2943 -#define SMSC47M1_REG_FAN(SMSC47M1_REG_FAN104,2977 -#define SMSC47M1_REG_FAN_PRELOAD(SMSC47M1_REG_FAN_PRELOAD105,3021 -#define MIN_FROM_REG(MIN_FROM_REG107,3073 -#define FAN_FROM_REG(FAN_FROM_REG109,3158 -#define DIV_FROM_REG(DIV_FROM_REG111,3276 -#define PWM_FROM_REG(PWM_FROM_REG112,3316 -#define PWM_EN_FROM_REG(PWM_EN_FROM_REG113,3365 -#define PWM_TO_REG(PWM_TO_REG114,3413 -struct smsc47m1_data smsc47m1_data116,3462 -static int smsc47m1_id;144,4338 -static struct i2c_driver smsc47m1_driver 146,4363 -static ssize_t get_fan(157,4653 -static ssize_t get_fan_min(171,5208 -static ssize_t get_fan_div(179,5467 -static ssize_t get_fan_pwm(185,5663 -static ssize_t get_fan_pwm_en(191,5855 -static ssize_t get_alarms(197,6053 -static ssize_t set_fan_min(203,6221 -static ssize_t set_fan_div(226,7010 -static ssize_t set_fan_pwm(259,8026 -static ssize_t set_fan_pwm_en(278,8498 -#define fan_present(fan_present298,8963 -static int smsc47m1_attach_adapter(355,11083 -static int smsc47m1_find(362,11264 -static int smsc47m1_detect(400,12247 -static int smsc47m1_detach_client(489,15040 -static int smsc47m1_read_value(505,15356 -static void smsc47m1_write_value(515,15621 -static struct smsc47m1_data *smsc47m1_update_device(522,15876 -static int __init sm_smsc47m1_init(560,16890 -static void __exit sm_smsc47m1_exit(569,17034 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/ds1621.c,1304 -static unsigned short normal_i2c[32,1210 -static unsigned short normal_i2c_range[33,1267 -static unsigned int normal_isa[34,1342 -static unsigned int normal_isa_range[35,1401 -static int polarity 39,1517 -#define DS1621_REG_CONFIG_MASK 47,1849 -#define DS1621_REG_CONFIG_VAL 48,1886 -#define DS1621_REG_CONFIG_POLARITY 49,1922 -#define DS1621_REG_CONFIG_1SHOT 50,1962 -#define DS1621_REG_CONFIG_DONE 51,2000 -#define DS1621_REG_TEMP 54,2065 -#define DS1621_REG_TEMP_MIN 55,2111 -#define DS1621_REG_TEMP_MAX 56,2160 -#define DS1621_REG_CONF 57,2209 -#define DS1621_COM_START 58,2255 -#define DS1621_ALARM_TEMP_HIGH 61,2341 -#define DS1621_ALARM_TEMP_LOW 62,2378 -#define ALARMS_FROM_REG(ALARMS_FROM_REG68,2669 -struct ds1621_data ds1621_data72,2833 -static struct i2c_driver ds1621_driver 90,3504 -static int ds1621_id 99,3732 -static int ds1621_read_value(104,3931 -static int ds1621_write_value(115,4311 -static void ds1621_init_client(123,4547 -#define show(show141,5021 -#define set_temp(set_temp152,5294 -static ssize_t show_alarms(166,5792 -static int ds1621_attach_adapter(178,6246 -int ds1621_detect(184,6413 -static int ds1621_detach_client(264,8739 -static struct ds1621_data *ds1621_update_client(280,9010 -static int __init ds1621_init(321,10100 -static void __exit ds1621_exit(326,10181 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm75.h,152 -#define LM75_TEMP_MIN 31,1211 -#define LM75_TEMP_MAX 32,1242 -static inline u16 LM75_TEMP_TO_REG(36,1353 -static inline int LM75_TEMP_FROM_REG(43,1536 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/rtc8564.h,1395 -struct rtc_tm rtc_tm13,370 -struct mem mem24,580 -#define RTC_GETDATETIME 30,656 -#define RTC_SETTIME 31,682 -#define RTC_SETDATETIME 32,704 -#define RTC_GETCTRL 33,730 -#define RTC_SETCTRL 34,752 -#define MEM_READ 35,774 -#define MEM_WRITE 36,793 -#define RTC8564_REG_CTRL1 38,814 -#define RTC8564_REG_CTRL2 39,870 -#define RTC8564_REG_SEC 40,936 -#define RTC8564_REG_MIN 41,991 -#define RTC8564_REG_HR 42,1046 -#define RTC8564_REG_DAY 43,1100 -#define RTC8564_REG_WDAY 44,1155 -#define RTC8564_REG_MON_CENT 45,1210 -#define RTC8564_REG_YEAR 46,1268 -#define RTC8564_REG_AL_MIN 47,1323 -#define RTC8564_REG_AL_HR 48,1380 -#define RTC8564_REG_AL_DAY 49,1436 -#define RTC8564_REG_AL_WDAY 50,1493 -#define RTC8564_REG_CLKOUT 51,1551 -#define RTC8564_REG_TCTL 52,1612 -#define RTC8564_REG_TIMER 53,1671 -#define RTC8564_CTRL1_TEST1 56,1740 -#define RTC8564_CTRL1_STOP 57,1776 -#define RTC8564_CTRL1_TEST2 58,1811 -#define RTC8564_CTRL2_TIE 60,1848 -#define RTC8564_CTRL2_AIE 61,1882 -#define RTC8564_CTRL2_TF 62,1916 -#define RTC8564_CTRL2_AF 63,1949 -#define RTC8564_CTRL2_TI_TP 64,1982 -#define RTC8564_FD_32768HZ 67,2044 -#define RTC8564_FD_1024HZ 68,2078 -#define RTC8564_FD_32 69,2111 -#define RTC8564_FD_1HZ 70,2141 -#define RTC8564_TD_4096HZ 73,2190 -#define RTC8564_TD_64HZ 74,2223 -#define RTC8564_TD_1HZ 75,2255 -#define RTC8564_TD_1_60HZ 76,2286 -#define I2C_DRIVERID_RTC8564 78,2320 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm75.c,845 -static unsigned short normal_i2c[31,1062 -static unsigned short normal_i2c_range[32,1119 -static unsigned int normal_isa[33,1194 -static unsigned int normal_isa_range[34,1253 -#define LM75_REG_TEMP 42,1436 -#define LM75_REG_CONF 43,1464 -#define LM75_REG_TEMP_HYST 44,1492 -#define LM75_REG_TEMP_OS 45,1524 -struct lm75_data lm75_data48,1598 -static struct i2c_driver lm75_driver 68,2362 -static int lm75_id 77,2580 -#define show(show79,2605 -#define set(set89,2874 -static int lm75_attach_adapter(106,3561 -static int lm75_detect(114,3778 -static int lm75_detach_client(225,7132 -static int lm75_read_value(235,7439 -static int lm75_write_value(246,7813 -static void lm75_init_client(254,8045 -static struct lm75_data *lm75_update_device(260,8183 -static int __init sensors_lm75_init(283,8827 -static void __exit sensors_lm75_exit(288,8912 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/pcf8591.c,1107 -static unsigned short normal_i2c[30,1148 -static unsigned short normal_i2c_range[31,1205 -static unsigned int normal_isa[32,1280 -static unsigned int normal_isa_range[33,1339 -static int input_mode;38,1457 -#define PCF8591_CONTROL_AOEF 52,1903 -#define PCF8591_CONTROL_AIP_MASK 59,2127 -#define PCF8591_CONTROL_AINC 62,2208 -#define PCF8591_CONTROL_AICH_MASK 69,2349 -#define PCF8591_INIT_CONTROL 72,2410 -#define PCF8591_INIT_AOUT 73,2482 -#define REG_TO_SIGNED(REG_TO_SIGNED76,2547 -struct pcf8591_data pcf8591_data78,2612 -static struct i2c_driver pcf8591_driver 93,3098 -static int pcf8591_id 102,3331 -#define show_in_channel(show_in_channel105,3408 -static ssize_t show_out0_ouput(118,3784 -static ssize_t set_out0_output(124,3967 -static ssize_t show_out0_enable(140,4462 -static ssize_t set_out0_enable(146,4673 -static int pcf8591_attach_adapter(164,5166 -int pcf8591_detect(170,5335 -static int pcf8591_detach_client(241,7427 -static void pcf8591_init_client(256,7741 -static int pcf8591_read_channel(269,8136 -static int __init pcf8591_init(297,8924 -static void __exit pcf8591_exit(307,9151 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/pcf8574.c,732 -static unsigned short normal_i2c[45,1616 -static unsigned short normal_i2c_range[46,1673 -static unsigned int normal_isa[47,1760 -static unsigned int normal_isa_range[48,1819 -#define PCF8574_INIT 54,1968 -struct pcf8574_data pcf8574_data57,2071 -static struct i2c_driver pcf8574_driver 71,2580 -static int pcf8574_id 80,2813 -static ssize_t show_read(83,2890 -static ssize_t show_write(91,3103 -static ssize_t set_write(97,3277 -static int pcf8574_attach_adapter(113,3664 -int pcf8574_detect(119,3833 -static int pcf8574_detach_client(187,5618 -static void pcf8574_init_client(202,5932 -static struct pcf8574_data *pcf8574_update_client(209,6126 -static int __init pcf8574_init(222,6473 -static void __exit pcf8574_exit(227,6556 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/max1619.c,1521 -static unsigned short normal_i2c[37,1347 -static unsigned short normal_i2c_range[38,1404 -static unsigned int normal_isa[40,1509 -static unsigned int normal_isa_range[41,1568 -#define MAX1619_REG_R_MAN_ID 53,1724 -#define MAX1619_REG_R_CHIP_ID 54,1759 -#define MAX1619_REG_R_CONFIG 55,1795 -#define MAX1619_REG_W_CONFIG 56,1830 -#define MAX1619_REG_R_CONVRATE 57,1865 -#define MAX1619_REG_W_CONVRATE 58,1902 -#define MAX1619_REG_R_STATUS 59,1939 -#define MAX1619_REG_R_LOCAL_TEMP 60,1974 -#define MAX1619_REG_R_REMOTE_TEMP 61,2012 -#define MAX1619_REG_R_REMOTE_HIGH 62,2051 -#define MAX1619_REG_W_REMOTE_HIGH 63,2090 -#define MAX1619_REG_R_REMOTE_LOW 64,2129 -#define MAX1619_REG_W_REMOTE_LOW 65,2167 -#define MAX1619_REG_R_REMOTE_CRIT 66,2205 -#define MAX1619_REG_W_REMOTE_CRIT 67,2244 -#define MAX1619_REG_R_TCRIT_HYST 68,2283 -#define MAX1619_REG_W_TCRIT_HYST 69,2321 -#define TEMP_FROM_REG(TEMP_FROM_REG75,2402 -#define TEMP_TO_REG(TEMP_TO_REG76,2469 -static struct i2c_driver max1619_driver 93,2954 -struct max1619_data max1619_data105,3207 -static int max1619_id 123,3576 -#define show_temp(show_temp129,3627 -#define set_temp2(set_temp2142,3980 -static ssize_t show_alarms(158,4543 -static int max1619_attach_adapter(180,5258 -static int max1619_detect(191,5559 -static void max1619_init_client(297,8693 -static int max1619_detach_client(312,9063 -static struct max1619_data *max1619_update_device(326,9333 -static int __init sensors_max1619_init(362,10401 -static void __exit sensors_max1619_exit(367,10492 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm83.c,1642 -static unsigned short normal_i2c[43,1595 -static unsigned short normal_i2c_range[44,1652 -static unsigned int normal_isa[46,1752 -static unsigned int normal_isa_range[47,1811 -#define LM83_REG_R_MAN_ID 60,2016 -#define LM83_REG_R_CHIP_ID 61,2048 -#define LM83_REG_R_CONFIG 62,2081 -#define LM83_REG_W_CONFIG 63,2113 -#define LM83_REG_R_STATUS1 64,2145 -#define LM83_REG_R_STATUS2 65,2178 -#define LM83_REG_R_LOCAL_TEMP 66,2211 -#define LM83_REG_R_LOCAL_HIGH 67,2247 -#define LM83_REG_W_LOCAL_HIGH 68,2283 -#define LM83_REG_R_REMOTE1_TEMP 69,2319 -#define LM83_REG_R_REMOTE1_HIGH 70,2357 -#define LM83_REG_W_REMOTE1_HIGH 71,2395 -#define LM83_REG_R_REMOTE2_TEMP 72,2433 -#define LM83_REG_R_REMOTE2_HIGH 73,2471 -#define LM83_REG_W_REMOTE2_HIGH 74,2509 -#define LM83_REG_R_REMOTE3_TEMP 75,2547 -#define LM83_REG_R_REMOTE3_HIGH 76,2585 -#define LM83_REG_W_REMOTE3_HIGH 77,2623 -#define LM83_REG_R_TCRIT 78,2661 -#define LM83_REG_W_TCRIT 79,2692 -#define TEMP_FROM_REG(TEMP_FROM_REG86,2804 -#define TEMP_TO_REG(TEMP_TO_REG87,2878 -static const u8 LM83_REG_R_TEMP[91,3039 -static const u8 LM83_REG_R_HIGH[98,3182 -static const u8 LM83_REG_W_HIGH[105,3325 -static struct i2c_driver lm83_driver 125,3810 -struct lm83_data lm83_data138,4078 -static int lm83_id 155,4408 -#define show_temp(show_temp161,4456 -#define set_temp(set_temp177,4970 -static ssize_t show_alarms(193,5612 -static int lm83_attach_adapter(222,6735 -static int lm83_detect(233,7030 -static int lm83_detach_client(349,10540 -static struct lm83_data *lm83_update_device(363,10807 -static int __init sensors_lm83_init(400,11727 -static void __exit sensors_lm83_exit(405,11812 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm85.c,6040 -static unsigned short normal_i2c[39,1371 -static unsigned short normal_i2c_range[40,1446 -static unsigned int normal_isa[41,1509 -static unsigned int normal_isa_range[42,1568 -#define LM85_REG_IN(LM85_REG_IN49,1735 -#define LM85_REG_IN_MIN(LM85_REG_IN_MIN50,1775 -#define LM85_REG_IN_MAX(LM85_REG_IN_MAX51,1822 -#define LM85_REG_TEMP(LM85_REG_TEMP53,1870 -#define LM85_REG_TEMP_MIN(LM85_REG_TEMP_MIN54,1911 -#define LM85_REG_TEMP_MAX(LM85_REG_TEMP_MAX55,1960 -#define LM85_REG_FAN(LM85_REG_FAN58,2050 -#define LM85_REG_FAN_MIN(LM85_REG_FAN_MIN59,2093 -#define LM85_REG_PWM(LM85_REG_PWM61,2141 -#define ADT7463_REG_OPPOINT(ADT7463_REG_OPPOINT63,2182 -#define ADT7463_REG_TMIN_CTL1 65,2230 -#define ADT7463_REG_TMIN_CTL2 66,2266 -#define LM85_REG_DEVICE 68,2303 -#define LM85_REG_COMPANY 69,2334 -#define LM85_REG_VERSTEP 70,2365 -#define LM85_DEVICE_ADX 72,2453 -#define LM85_COMPANY_NATIONAL 73,2484 -#define LM85_COMPANY_ANALOG_DEV 74,2520 -#define LM85_VERSTEP_GENERIC 75,2558 -#define LM85_VERSTEP_LM85C 76,2593 -#define LM85_VERSTEP_LM85B 77,2626 -#define LM85_VERSTEP_ADM1027 78,2659 -#define LM85_VERSTEP_ADT7463 79,2694 -#define LM85_REG_CONFIG 81,2730 -#define LM85_REG_ALARM1 83,2762 -#define LM85_REG_ALARM2 84,2793 -#define LM85_REG_VID 86,2825 -#define LM85_REG_AFAN_CONFIG(LM85_REG_AFAN_CONFIG89,2882 -#define LM85_REG_AFAN_RANGE(LM85_REG_AFAN_RANGE90,2929 -#define LM85_REG_AFAN_SPIKE1 91,2976 -#define LM85_REG_AFAN_SPIKE2 92,3011 -#define LM85_REG_AFAN_MINPWM(LM85_REG_AFAN_MINPWM93,3046 -#define LM85_REG_AFAN_LIMIT(LM85_REG_AFAN_LIMIT94,3093 -#define LM85_REG_AFAN_CRITICAL(LM85_REG_AFAN_CRITICAL95,3140 -#define LM85_REG_AFAN_HYST1 96,3189 -#define LM85_REG_AFAN_HYST2 97,3223 -#define LM85_REG_TACH_MODE 99,3258 -#define LM85_REG_SPINUP_CTL 100,3291 -#define ADM1027_REG_TEMP_OFFSET(ADM1027_REG_TEMP_OFFSET102,3326 -#define ADM1027_REG_CONFIG2 103,3376 -#define ADM1027_REG_INTMASK1 104,3410 -#define ADM1027_REG_INTMASK2 105,3445 -#define ADM1027_REG_EXTEND_ADC1 106,3480 -#define ADM1027_REG_EXTEND_ADC2 107,3518 -#define ADM1027_REG_CONFIG3 108,3556 -#define ADM1027_REG_FAN_PPR 109,3590 -#define ADT7463_REG_THERM 111,3625 -#define ADT7463_REG_THERM_LIMIT 112,3657 -#define LM85_ALARM_IN0 114,3696 -#define LM85_ALARM_IN1 115,3728 -#define LM85_ALARM_IN2 116,3760 -#define LM85_ALARM_IN3 117,3792 -#define LM85_ALARM_TEMP1 118,3824 -#define LM85_ALARM_TEMP2 119,3857 -#define LM85_ALARM_TEMP3 120,3890 -#define LM85_ALARM_ALARM2 121,3923 -#define LM85_ALARM_IN4 122,3957 -#define LM85_ALARM_RESERVED 123,3989 -#define LM85_ALARM_FAN1 124,4025 -#define LM85_ALARM_FAN2 125,4058 -#define LM85_ALARM_FAN3 126,4091 -#define LM85_ALARM_FAN4 127,4124 -#define LM85_ALARM_TEMP1_FAULT 128,4157 -#define LM85_ALARM_TEMP3_FAULT 129,4196 -#define IN_TO_REG(IN_TO_REG138,4500 -#define INEXT_FROM_REG(INEXT_FROM_REG139,4571 -#define IN_FROM_REG(IN_FROM_REG140,4640 -static int lm85_scaling[143,4741 -#define SCALE(SCALE146,4825 -#define INS_TO_REG(INS_TO_REG147,4888 -#define INSEXT_FROM_REG(INSEXT_FROM_REG148,4969 -#define INS_FROM_REG(INS_FROM_REG149,5051 -#define FAN_TO_REG(FAN_TO_REG152,5154 -#define FAN_FROM_REG(FAN_FROM_REG153,5231 -#define TEMP_TO_REG(TEMP_TO_REG156,5356 -#define TEMPEXT_FROM_REG(TEMPEXT_FROM_REG157,5425 -#define TEMP_FROM_REG(TEMP_FROM_REG158,5484 -#define EXTTEMP_TO_REG(EXTTEMP_TO_REG159,5538 -#define PWM_TO_REG(PWM_TO_REG161,5604 -#define PWM_FROM_REG(PWM_FROM_REG162,5657 -#define EXT_FROM_REG(EXT_FROM_REG164,5691 -static int lm85_range_map[187,6507 -static int RANGE_TO_REG(192,6644 -#define RANGE_FROM_REG(RANGE_FROM_REG202,6841 -static int lm85_smooth_map[209,7155 -static int SMOOTH_TO_REG(213,7312 -#define SMOOTH_FROM_REG(SMOOTH_FROM_REG223,7520 -static int lm85_spinup_map[226,7645 -static int SPINUP_TO_REG(229,7724 -#define SPINUP_FROM_REG(SPINUP_FROM_REG239,7924 -static int lm85_freq_map[242,8028 -static int FREQ_TO_REG(245,8116 -#define FREQ_FROM_REG(FREQ_FROM_REG255,8304 -static int lm85_zone_map[271,8851 -#define ZONE_FROM_REG(ZONE_FROM_REG272,8913 -static int ZONE_TO_REG(276,9028 -#define HYST_TO_REG(HYST_TO_REG290,9274 -#define HYST_FROM_REG(HYST_FROM_REG291,9335 -#define OFFSET_TO_REG(OFFSET_TO_REG293,9375 -#define OFFSET_FROM_REG(OFFSET_FROM_REG294,9437 -#define PPR_MASK(PPR_MASK296,9478 -#define PPR_TO_REG(PPR_TO_REG297,9517 -#define PPR_FROM_REG(PPR_FROM_REG298,9584 -#define VID_FROM_REG(VID_FROM_REG301,9684 -#define ALARMS_FROM_REG(ALARMS_FROM_REG303,9743 -#define LM85_DATA_INTERVAL 324,10615 -#define LM85_CONFIG_INTERVAL 325,10657 -struct lm85_zone lm85_zone336,11124 -struct lm85_autofan lm85_autofan343,11306 -struct lm85_data lm85_data350,11504 -static struct i2c_driver lm85_driver 398,13223 -static int lm85_id 408,13525 -static ssize_t show_fan(412,13564 -static ssize_t show_fan_min(417,13741 -static ssize_t set_fan_min(422,13926 -#define show_fan_offset(show_fan_offset437,14344 -static ssize_t show_vid_reg(462,15149 -static ssize_t show_vrm_reg(470,15398 -static ssize_t store_vrm_reg(476,15562 -static ssize_t show_alarms_reg(489,15906 -static ssize_t show_pwm(499,16165 -static ssize_t set_pwm(504,16342 -static ssize_t show_pwm_enable(518,16743 -#define show_pwm_reg(show_pwm_reg527,17003 -static ssize_t show_in(551,17764 -static ssize_t show_in_min(556,17943 -static ssize_t set_in_min(561,18130 -static ssize_t show_in_max(575,18547 -static ssize_t set_in_max(580,18734 -#define show_in_reg(show_in_reg594,19151 -static ssize_t show_temp(631,20356 -static ssize_t show_temp_min(636,20536 -static ssize_t set_temp_min(641,20724 -static ssize_t show_temp_max(655,21146 -static ssize_t set_temp_max(660,21334 -#define show_temp_reg(show_temp_reg674,21756 -int lm85_attach_adapter(708,22976 -int lm85_detect(713,23088 -int lm85_detach_client(889,29438 -int lm85_read_value(897,29569 -int lm85_write_value(928,30440 -void lm85_init_client(957,31285 -static struct lm85_data *lm85_update_device(999,32733 -static int __init sm_lm85_init(1147,36887 -static void __exit sm_lm85_exit(1152,36967 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm77.c,1295 -static unsigned short normal_i2c[37,1335 -static unsigned short normal_i2c_range[38,1392 -static unsigned int normal_isa[39,1467 -static unsigned int normal_isa_range[40,1526 -#define LM77_REG_TEMP 46,1666 -#define LM77_REG_CONF 47,1694 -#define LM77_REG_TEMP_HYST 48,1722 -#define LM77_REG_TEMP_CRIT 49,1754 -#define LM77_REG_TEMP_MIN 50,1786 -#define LM77_REG_TEMP_MAX 51,1817 -struct lm77_data lm77_data54,1892 -static struct i2c_driver lm77_driver 78,2662 -static int lm77_id 86,2853 -#define LM77_TEMP_MIN 89,2912 -#define LM77_TEMP_MAX 90,2943 -static inline u16 LM77_TEMP_TO_REG(94,3093 -static inline int LM77_TEMP_FROM_REG(100,3241 -#define show(show108,3384 -static ssize_t show_temp_crit_hyst(122,3704 -static ssize_t show_temp_min_hyst(127,3890 -static ssize_t show_temp_max_hyst(132,4074 -#define set(set139,4280 -static ssize_t set_temp_crit_hyst(154,4819 -static ssize_t set_temp_crit(165,5227 -static int lm77_attach_adapter(198,6399 -static int lm77_detect(206,6616 -static int lm77_detach_client(329,10724 -static u16 lm77_read_value(338,10985 -static int lm77_write_value(346,11189 -static void lm77_init_client(354,11421 -static struct lm77_data *lm77_update_device(362,11662 -static int __init sensors_lm77_init(398,12668 -static void __exit sensors_lm77_exit(403,12753 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/asb100.c,3708 -#define ASB100_VERSION 56,1738 -static unsigned short normal_i2c[59,1798 -static unsigned short normal_i2c_range[60,1855 -static unsigned int normal_isa[63,1966 -static unsigned int normal_isa_range[64,2025 -#define ASB100_REG_IN(ASB100_REG_IN72,2301 -#define ASB100_REG_IN_MAX(ASB100_REG_IN_MAX73,2341 -#define ASB100_REG_IN_MIN(ASB100_REG_IN_MIN74,2389 -#define ASB100_REG_FAN(ASB100_REG_FAN77,2465 -#define ASB100_REG_FAN_MIN(ASB100_REG_FAN_MIN78,2506 -static const u16 asb100_reg_temp[81,2584 -static const u16 asb100_reg_temp_max[82,2652 -static const u16 asb100_reg_temp_hyst[83,2724 -#define ASB100_REG_TEMP(ASB100_REG_TEMP85,2798 -#define ASB100_REG_TEMP_MAX(ASB100_REG_TEMP_MAX86,2848 -#define ASB100_REG_TEMP_HYST(ASB100_REG_TEMP_HYST87,2906 -#define ASB100_REG_TEMP2_CONFIG 89,2967 -#define ASB100_REG_TEMP3_CONFIG 90,3006 -#define ASB100_REG_CONFIG 93,3047 -#define ASB100_REG_ALARM1 94,3078 -#define ASB100_REG_ALARM2 95,3109 -#define ASB100_REG_SMIM1 96,3140 -#define ASB100_REG_SMIM2 97,3170 -#define ASB100_REG_VID_FANDIV 98,3200 -#define ASB100_REG_I2C_ADDR 99,3235 -#define ASB100_REG_CHIPID 100,3268 -#define ASB100_REG_I2C_SUBADDR 101,3299 -#define ASB100_REG_PIN 102,3335 -#define ASB100_REG_IRQ 103,3364 -#define ASB100_REG_BANK 104,3393 -#define ASB100_REG_CHIPMAN 105,3423 -#define ASB100_REG_WCHIPID 107,3456 -#define ASB100_REG_PWM1 110,3535 -#define ASB100_IN_MIN 116,3710 -#define ASB100_IN_MAX 117,3739 -static u8 IN_TO_REG(121,3819 -static unsigned IN_FROM_REG(127,3950 -static u8 FAN_TO_REG(132,4009 -static int FAN_FROM_REG(142,4222 -#define ASB100_TEMP_MIN 148,4381 -#define ASB100_TEMP_MAX 149,4415 -static u8 TEMP_TO_REG(153,4523 -static int TEMP_FROM_REG(160,4690 -static u8 ASB100_PWM_TO_REG(167,4832 -static int ASB100_PWM_FROM_REG(173,4933 -#define ALARMS_FROM_REG(ALARMS_FROM_REG178,4995 -#define DIV_FROM_REG(DIV_FROM_REG180,5031 -static u8 DIV_TO_REG(184,5169 -struct asb100_data asb100_data192,5469 -static struct i2c_driver asb100_driver 228,6796 -#define show_in_reg(show_in_reg238,7041 -show_in_reg(245,7260 -#define set_in_reg(set_in_reg249,7317 -#define sysfs_in(sysfs_in265,7791 -#define device_create_file_in(device_create_file_in306,8880 -static ssize_t show_fan_min(320,9373 -static ssize_t show_fan_div(327,9598 -static ssize_t set_fan_min(333,9788 -static ssize_t set_fan_div(348,10441 -#define sysfs_fan(sysfs_fan386,11582 -#define device_create_file_fan(device_create_file_fan420,12633 -static int sprintf_temp_from_reg(427,12922 -#define show_temp_reg(show_temp_reg442,13204 -#define set_temp_reg(set_temp_reg453,13494 -#define sysfs_temp(sysfs_temp476,14118 -#define device_create_file_temp(device_create_file_temp511,15140 -static ssize_t show_vid(517,15404 -#define device_create_file_vid(device_create_file_vid524,15640 -static ssize_t show_vrm(528,15745 -static ssize_t set_vrm(534,15901 -#define device_create_file_vrm(device_create_file_vrm545,16246 -static ssize_t show_alarms(548,16337 -#define device_create_file_alarms(device_create_file_alarms555,16572 -static ssize_t show_pwm1(559,16680 -static ssize_t set_pwm1(565,16865 -static ssize_t show_pwm_enable1(576,17267 -static ssize_t set_pwm_enable1(582,17448 -#define device_create_file_pwm1(device_create_file_pwm1597,18017 -static int asb100_attach_adapter(607,18398 -static int asb100_detect_subclients(614,18575 -static int asb100_detect(698,20927 -static int asb100_detach_client(845,25170 -static int asb100_read_value(868,25648 -static void asb100_write_value(913,26639 -static void asb100_init_client(952,27548 -static struct asb100_data *asb100_update_device(967,28019 -static int __init asb100_init(1036,29908 -static void __exit asb100_exit(1041,29989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/w83781d.c,5805 -#define W83781D_RT 49,1716 -static unsigned short normal_i2c[52,1764 -static unsigned short normal_i2c_range[53,1821 -static unsigned int normal_isa[54,1896 -static unsigned int normal_isa_range[55,1963 -static int init 62,2262 -#define W83781D_EXTENT 69,2451 -#define W83781D_ADDR_REG_OFFSET 72,2555 -#define W83781D_DATA_REG_OFFSET 73,2590 -#define W83781D_REG_IN_MAX(W83781D_REG_IN_MAX77,2707 -#define W83781D_REG_IN_MIN(W83781D_REG_IN_MIN79,2811 -#define W83781D_REG_IN(W83781D_REG_IN81,2915 -#define W83781D_REG_FAN_MIN(W83781D_REG_FAN_MIN84,3004 -#define W83781D_REG_FAN(W83781D_REG_FAN85,3051 -#define W83781D_REG_BANK 87,3095 -#define W83781D_REG_TEMP2_CONFIG 88,3126 -#define W83781D_REG_TEMP3_CONFIG 89,3165 -#define W83781D_REG_TEMP(W83781D_REG_TEMP90,3204 -#define W83781D_REG_TEMP_HYST(W83781D_REG_TEMP_HYST93,3311 -#define W83781D_REG_TEMP_OVER(W83781D_REG_TEMP_OVER96,3420 -#define W83781D_REG_CONFIG 100,3530 -#define W83781D_REG_ALARM1 101,3563 -#define W83781D_REG_ALARM2 102,3596 -#define W83781D_REG_ALARM3 103,3629 -#define W83781D_REG_IRQ 105,3685 -#define W83781D_REG_BEEP_CONFIG 106,3716 -#define W83781D_REG_BEEP_INTS1 107,3754 -#define W83781D_REG_BEEP_INTS2 108,3791 -#define W83781D_REG_BEEP_INTS3 109,3828 -#define W83781D_REG_VID_FANDIV 111,3888 -#define W83781D_REG_CHIPID 113,3926 -#define W83781D_REG_WCHIPID 114,3959 -#define W83781D_REG_CHIPMAN 115,3993 -#define W83781D_REG_PIN 116,4027 -#define W83781D_REG_VBAT 119,4080 -#define W83781D_REG_PWM1 122,4153 -#define W83781D_REG_PWM2 124,4261 -#define W83781D_REG_PWM3 126,4378 -#define W83781D_REG_PWM4 127,4409 -#define W83781D_REG_PWMCLK12 128,4440 -#define W83781D_REG_PWMCLK34 129,4475 -static const u8 regpwm[130,4511 -#define W83781D_REG_PWM(W83781D_REG_PWM134,4616 -#define W83781D_REG_I2C_ADDR 136,4665 -#define W83781D_REG_I2C_SUBADDR 137,4700 -#define W83781D_REG_SCFG1 142,4909 -static const u8 BIT_SCFG1[143,4941 -#define W83781D_REG_SCFG2 145,4994 -static const u8 BIT_SCFG2[146,5026 -#define W83781D_DEFAULT_BETA 148,5079 -#define W83781D_REG_RT_IDX 151,5140 -#define W83781D_REG_RT_VAL 152,5173 -#define IN_TO_REG(IN_TO_REG158,5461 -#define IN_FROM_REG(IN_FROM_REG159,5531 -FAN_TO_REG(162,5595 -#define FAN_FROM_REG(FAN_FROM_REG170,5770 -#define TEMP_TO_REG(TEMP_TO_REG174,5887 -#define TEMP_FROM_REG(TEMP_FROM_REG176,5993 -#define AS99127_TEMP_ADD_TO_REG(AS99127_TEMP_ADD_TO_REG178,6068 -#define AS99127_TEMP_ADD_FROM_REG(AS99127_TEMP_ADD_FROM_REG180,6194 -#define ALARMS_FROM_REG(ALARMS_FROM_REG183,6298 -#define PWM_FROM_REG(PWM_FROM_REG184,6334 -#define PWM_TO_REG(PWM_TO_REG185,6367 -#define BEEP_MASK_FROM_REG(BEEP_MASK_FROM_REG186,6422 -#define BEEP_MASK_TO_REG(BEEP_MASK_TO_REG188,6513 -#define BEEP_ENABLE_TO_REG(BEEP_ENABLE_TO_REG191,6617 -#define BEEP_ENABLE_FROM_REG(BEEP_ENABLE_FROM_REG192,6666 -#define DIV_FROM_REG(DIV_FROM_REG194,6717 -DIV_TO_REG(197,6775 -struct w83781d_data w83781d_data230,8119 -static struct i2c_driver w83781d_driver 281,9957 -#define show_in_reg(show_in_reg291,10235 -#define store_in_reg(store_in_reg301,10526 -#define sysfs_in_offset(sysfs_in_offset317,11016 -#define sysfs_in_reg_offset(sysfs_in_reg_offset325,11258 -#define sysfs_in_offsets(sysfs_in_offsets336,11710 -#define device_create_file_in(device_create_file_in351,12033 -#define show_fan_reg(show_fan_reg358,12295 -store_fan_min(369,12622 -#define sysfs_fan_offset(sysfs_fan_offset384,13040 -#define sysfs_fan_min_offset(sysfs_fan_min_offset391,13278 -#define device_create_file_fan(device_create_file_fan409,13857 -#define show_temp_reg(show_temp_reg415,14058 -#define store_temp_reg(store_temp_reg435,14662 -#define sysfs_temp_offset(sysfs_temp_offset463,15509 -#define sysfs_temp_reg_offset(sysfs_temp_reg_offset471,15754 -#define sysfs_temp_offsets(sysfs_temp_offsets482,16222 -#define device_create_file_temp(device_create_file_temp491,16438 -show_vid_reg(499,16728 -#define device_create_file_vid(device_create_file_vid507,16967 -show_vrm_reg(510,17077 -store_vrm_reg(517,17247 -#define device_create_file_vrm(device_create_file_vrm531,17579 -show_alarms_reg(534,17684 -#define device_create_file_alarms(device_create_file_alarms542,17922 -static ssize_t show_beep_mask 544,18018 -static ssize_t show_beep_enable 550,18236 -#define BEEP_ENABLE 557,18449 -#define BEEP_MASK 558,18497 -store_beep_reg(561,18557 -#define sysfs_beep(sysfs_beep592,19498 -#define device_create_file_beep(device_create_file_beep606,19948 -show_fan_div_reg(613,20141 -store_fan_div_reg(625,20611 -#define sysfs_fan_div(sysfs_fan_div659,21770 -#define device_create_file_fan_div(device_create_file_fan_div674,22266 -show_pwm_reg(680,22419 -show_pwmenable_reg(687,22619 -store_pwm_reg(694,22817 -store_pwmenable_reg(709,23190 -#define sysfs_pwm(sysfs_pwm738,23860 -#define sysfs_pwmenable(sysfs_pwmenable749,24269 -#define device_create_file_pwm(device_create_file_pwm766,24845 -#define device_create_file_pwmenable(device_create_file_pwmenable771,24979 -show_sensor_reg(777,25141 -store_sensor_reg(784,25331 -#define sysfs_sensor(sysfs_sensor826,26639 -#define device_create_file_sensor(device_create_file_sensor841,27129 -show_rt_reg(848,27301 -store_rt_reg(865,27649 -#define sysfs_rt(sysfs_rt884,28154 -#define device_create_file_rt(device_create_file_rt899,28592 -w83781d_attach_adapter(911,28973 -w83781d_detect_subclients(922,29237 -w83781d_detect(1030,32087 - enum vendor vendor1038,32328 - enum vendor { winbond,1038,32328 - enum vendor { winbond, asus 1038,32328 -#define REALLY_SLOW_IO1074,33184 -w83781d_detach_client(1325,40124 -w83781d_read_value(1356,40988 -w83781d_write_value(1425,42893 -w83781d_init_client(1490,44772 -static struct w83781d_data *w83781d_update_device(1584,47583 -sensors_w83781d_init(1703,51404 -sensors_w83781d_exit(1709,51496 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/adm1031.c,3936 -#define ADM1031_REG_FAN_SPEED(ADM1031_REG_FAN_SPEED31,1136 -#define ADM1031_REG_FAN_DIV(ADM1031_REG_FAN_DIV32,1184 -#define ADM1031_REG_PWM 33,1232 -#define ADM1031_REG_FAN_MIN(ADM1031_REG_FAN_MIN34,1265 -#define ADM1031_REG_TEMP_MAX(ADM1031_REG_TEMP_MAX36,1313 -#define ADM1031_REG_TEMP_MIN(ADM1031_REG_TEMP_MIN37,1363 -#define ADM1031_REG_TEMP_CRIT(ADM1031_REG_TEMP_CRIT38,1413 -#define ADM1031_REG_TEMP(ADM1031_REG_TEMP40,1465 -#define ADM1031_REG_AUTO_TEMP(ADM1031_REG_AUTO_TEMP41,1508 -#define ADM1031_REG_STATUS(ADM1031_REG_STATUS43,1557 -#define ADM1031_REG_CONF1 45,1603 -#define ADM1031_REG_CONF2 46,1634 -#define ADM1031_REG_EXT_TEMP 47,1665 -#define ADM1031_CONF1_MONITOR_ENABLE 49,1700 -#define ADM1031_CONF1_PWM_INVERT 50,1766 -#define ADM1031_CONF1_AUTO_MODE 51,1821 -#define ADM1031_CONF2_PWM1_ENABLE 53,1875 -#define ADM1031_CONF2_PWM2_ENABLE 54,1914 -#define ADM1031_CONF2_TACH1_ENABLE 55,1953 -#define ADM1031_CONF2_TACH2_ENABLE 56,1993 -#define ADM1031_CONF2_TEMP_ENABLE(ADM1031_CONF2_TEMP_ENABLE57,2033 -static unsigned short normal_i2c[60,2115 -static unsigned short normal_i2c_range[61,2172 -static unsigned int normal_isa[62,2247 -static unsigned int normal_isa_range[63,2306 -typedef u8 auto_chan_table_t[auto_chan_table_t68,2433 -struct adm1031_data adm1031_data71,2513 -static struct i2c_driver adm1031_driver 107,3501 -static int adm1031_id;115,3701 -static inline u8 adm1031_read_value(117,3725 -adm1031_write_value(123,3866 -#define TEMP_TO_REG(TEMP_TO_REG129,4002 -#define TEMP_FROM_REG(TEMP_FROM_REG132,4096 -#define TEMP_FROM_REG_EXT(TEMP_FROM_REG_EXT134,4140 -#define FAN_FROM_REG(FAN_FROM_REG136,4212 -static int FAN_TO_REG(138,4290 -#define FAN_DIV_FROM_REG(FAN_DIV_FROM_REG145,4432 -#define PWM_TO_REG(PWM_TO_REG147,4487 -#define PWM_FROM_REG(PWM_FROM_REG148,4549 -#define FAN_CHAN_FROM_REG(FAN_CHAN_FROM_REG150,4590 -#define FAN_CHAN_TO_REG(FAN_CHAN_TO_REG151,4641 -#define AUTO_TEMP_MIN_TO_REG(AUTO_TEMP_MIN_TO_REG154,4720 -#define AUTO_TEMP_RANGE_FROM_REG(AUTO_TEMP_RANGE_FROM_REG156,4799 -#define AUTO_TEMP_MIN_FROM_REG(AUTO_TEMP_MIN_FROM_REG157,4864 -#define AUTO_TEMP_MIN_FROM_REG_DEG(AUTO_TEMP_MIN_FROM_REG_DEG159,4939 -#define AUTO_TEMP_OFF_FROM_REG(AUTO_TEMP_OFF_FROM_REG161,5009 -#define AUTO_TEMP_MAX_FROM_REG(AUTO_TEMP_MAX_FROM_REG164,5087 -static int AUTO_TEMP_MAX_TO_REG(168,5193 -#define GET_FAN_AUTO_BITFIELD(GET_FAN_AUTO_BITFIELD182,5535 -static auto_chan_table_t auto_channel_select_table_adm1031 190,5930 -static auto_chan_table_t auto_channel_select_table_adm1030 198,6162 -get_fan_auto_nearest(210,6497 -static ssize_t show_fan_auto_channel(249,7361 -set_fan_auto_channel(256,7577 -#define fan_auto_channel_offset(fan_auto_channel_offset298,8829 -static ssize_t show_auto_temp_off(316,9465 -static ssize_t show_auto_temp_min(322,9684 -set_auto_temp_min(329,9917 -static ssize_t show_auto_temp_max(343,10375 -set_auto_temp_max(350,10608 -#define auto_temp_reg(auto_temp_reg365,11080 -static ssize_t show_pwm(400,12446 -set_pwm(406,12644 -#define pwm_reg(pwm_reg429,13366 -static int trust_fan_readings(452,14012 -static ssize_t show_fan(490,15047 -static ssize_t show_fan_div(500,15337 -static ssize_t show_fan_min(505,15532 -set_fan_min(513,15792 -set_fan_div(532,16310 -#define fan_offset(fan_offset565,17281 -static ssize_t show_temp(602,18592 -static ssize_t show_temp_min(611,18912 -static ssize_t show_temp_max(616,19106 -static ssize_t show_temp_crit(621,19300 -set_temp_min(627,19511 -set_temp_max(643,20008 -set_temp_crit(659,20505 -#define temp_reg(temp_reg675,20992 -static ssize_t show_alarms(721,22714 -static int adm1031_attach_adapter(730,22935 -static int adm1031_detect(738,23158 -static int adm1031_detach_client(850,26977 -static void adm1031_init_client(860,27143 -static struct adm1031_data *adm1031_update_device(885,27943 -static int __init sensors_adm1031_init(970,30322 -static void __exit sensors_adm1031_exit(975,30413 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/w83l785ts.c,1062 -#define MAX_RETRIES 42,1624 -static unsigned short normal_i2c[49,1736 -static unsigned short normal_i2c_range[50,1799 -static unsigned int normal_isa[51,1862 -static unsigned int normal_isa_range[52,1921 -#define W83L785TS_REG_MAN_ID1 65,2125 -#define W83L785TS_REG_MAN_ID2 66,2161 -#define W83L785TS_REG_CHIP_ID 67,2197 -#define W83L785TS_REG_CONFIG 68,2233 -#define W83L785TS_REG_TYPE 69,2268 -#define W83L785TS_REG_TEMP 70,2301 -#define W83L785TS_REG_TEMP_OVER 71,2334 -#define TEMP_FROM_REG(TEMP_FROM_REG78,2471 -static struct i2c_driver w83l785ts_driver 95,2985 -struct w83l785ts_data w83l785ts_data108,3278 -static int w83l785ts_id 122,3543 -static ssize_t show_temp(128,3596 -static ssize_t show_temp_over(134,3775 -static int w83l785ts_attach_adapter(147,4107 -static int w83l785ts_detect(158,4412 -static int w83l785ts_detach_client(262,7302 -static u8 w83l785ts_read_value(276,7574 -static struct w83l785ts_data *w83l785ts_update_device(296,8154 -static int __init sensors_w83l785ts_init(321,8806 -static void __exit sensors_w83l785ts_exit(326,8901 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/gl518sm.c,2343 -static unsigned short normal_i2c[47,1814 -static unsigned short normal_i2c_range[48,1883 -static unsigned int normal_isa[49,1946 -static unsigned int normal_isa_range[50,2005 -#define GL518_REG_CHIP_ID 58,2210 -#define GL518_REG_REVISION 59,2241 -#define GL518_REG_VENDOR_ID 60,2273 -#define GL518_REG_CONF 61,2306 -#define GL518_REG_TEMP_IN 62,2335 -#define GL518_REG_TEMP_MAX 63,2366 -#define GL518_REG_TEMP_HYST 64,2398 -#define GL518_REG_FAN_COUNT 65,2431 -#define GL518_REG_FAN_LIMIT 66,2464 -#define GL518_REG_VIN1_LIMIT 67,2497 -#define GL518_REG_VIN2_LIMIT 68,2531 -#define GL518_REG_VIN3_LIMIT 69,2565 -#define GL518_REG_VDD_LIMIT 70,2599 -#define GL518_REG_VIN3 71,2632 -#define GL518_REG_MISC 72,2661 -#define GL518_REG_ALARM 73,2690 -#define GL518_REG_MASK 74,2720 -#define GL518_REG_INT 75,2749 -#define GL518_REG_VIN2 76,2777 -#define GL518_REG_VIN1 77,2806 -#define GL518_REG_VDD 78,2835 -#define RAW_FROM_REG(RAW_FROM_REG88,3124 -#define BOOL_FROM_REG(BOOL_FROM_REG90,3155 -#define BOOL_TO_REG(BOOL_TO_REG91,3194 -#define TEMP_TO_REG(TEMP_TO_REG93,3232 -#define TEMP_FROM_REG(TEMP_FROM_REG95,3330 -static inline u8 FAN_TO_REG(97,3381 -#define FAN_FROM_REG(FAN_FROM_REG105,3584 -#define IN_TO_REG(IN_TO_REG107,3655 -#define IN_FROM_REG(IN_FROM_REG108,3717 -#define VDD_TO_REG(VDD_TO_REG110,3754 -#define VDD_FROM_REG(VDD_FROM_REG111,3820 -#define DIV_TO_REG(DIV_TO_REG113,3864 -#define DIV_FROM_REG(DIV_FROM_REG114,3926 -#define BEEP_MASK_TO_REG(BEEP_MASK_TO_REG116,3966 -#define BEEP_MASK_FROM_REG(BEEP_MASK_FROM_REG117,4030 -struct gl518_data gl518_data120,4121 -static struct i2c_driver gl518_driver 154,5418 -static int gl518_id 167,5673 -#define show(show173,5722 -#define show_fan(show_fan180,5958 -#define set(set214,7109 -#define set_bits(set_bits225,7504 -#define set_low(set_low238,8024 -#define set_high(set_high240,8118 -static ssize_t set_fan_min1(259,9115 -static ssize_t set_fan_min2(281,9852 -static int gl518_attach_adapter(336,12401 -static int gl518_detect(343,12576 -static void gl518_init_client(454,16303 -static int gl518_detach_client(470,16838 -static int gl518_read_value(488,17271 -static int gl518_write_value(499,17650 -static struct gl518_data *gl518_update_device(507,17893 -static int __init sensors_gl518sm_init(579,20127 -static void __exit sensors_gl518sm_exit(584,20216 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/lm80.c,2200 -static unsigned short normal_i2c[32,1130 -static unsigned short normal_i2c_range[33,1187 -static unsigned int normal_isa[34,1262 -static unsigned int normal_isa_range[35,1321 -#define LM80_REG_IN_MAX(LM80_REG_IN_MAX43,1504 -#define LM80_REG_IN_MIN(LM80_REG_IN_MIN44,1551 -#define LM80_REG_IN(LM80_REG_IN45,1598 -#define LM80_REG_FAN1 47,1639 -#define LM80_REG_FAN2 48,1668 -#define LM80_REG_FAN_MIN(LM80_REG_FAN_MIN49,1697 -#define LM80_REG_TEMP 51,1742 -#define LM80_REG_TEMP_HOT_MAX 52,1771 -#define LM80_REG_TEMP_HOT_HYST 53,1807 -#define LM80_REG_TEMP_OS_MAX 54,1844 -#define LM80_REG_TEMP_OS_HYST 55,1879 -#define LM80_REG_CONFIG 57,1916 -#define LM80_REG_ALARM1 58,1947 -#define LM80_REG_ALARM2 59,1978 -#define LM80_REG_MASK1 60,2009 -#define LM80_REG_MASK2 61,2039 -#define LM80_REG_FANDIV 62,2069 -#define LM80_REG_RES 63,2100 -#define IN_TO_REG(IN_TO_REG71,2385 -#define IN_FROM_REG(IN_FROM_REG72,2445 -static inline unsigned char FAN_TO_REG(74,2482 -#define FAN_FROM_REG(FAN_FROM_REG82,2690 -static inline long TEMP_FROM_REG(85,2776 -#define TEMP_LIMIT_FROM_REG(TEMP_LIMIT_FROM_REG98,2960 -#define TEMP_LIMIT_TO_REG(TEMP_LIMIT_TO_REG100,3032 -#define ALARMS_FROM_REG(ALARMS_FROM_REG103,3135 -#define DIV_FROM_REG(DIV_FROM_REG105,3172 -#define DIV_TO_REG(DIV_TO_REG106,3212 -struct lm80_data lm80_data112,3326 -static int lm80_id 148,4516 -static struct i2c_driver lm80_driver 154,4588 -#define show_in(show_in167,4829 -#define set_in(set_in195,5577 -#define show_fan(show_fan221,6586 -#define show_fan_div(show_fan_div233,7002 -#define set_fan(set_fan242,7286 -static ssize_t set_fan_div(260,8072 -#define set_fan_div(set_fan_div285,8815 -static ssize_t show_temp_input1(294,9027 -#define show_temp(show_temp300,9204 -#define set_temp(set_temp311,9568 -static ssize_t show_alarms(327,10184 -static int lm80_attach_adapter(377,12811 -int lm80_detect(384,12984 -static int lm80_detach_client(487,16911 -static int lm80_read_value(501,17178 -static int lm80_write_value(506,17292 -static void lm80_init_client(512,17469 -static struct lm80_data *lm80_update_device(525,17907 -static int __init sensors_lm80_init(578,19542 -static void __exit sensors_lm80_exit(583,19627 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/it87.c,3500 -static unsigned short normal_i2c[45,1504 -static unsigned short normal_i2c_range[46,1561 -static unsigned int normal_isa[47,1636 -static unsigned int normal_isa_range[48,1703 -#define REG 53,1826 -#define DEV 54,1876 -#define VAL 55,1931 -#define PME 56,1978 -#define DEVID 57,2041 -superio_outb(60,2106 -superio_inb(67,2194 -superio_select(74,2274 -superio_enter(81,2353 -superio_exit(90,2469 -#define IT8712F_DEVID 98,2620 -#define IT87_ACT_REG 99,2649 -#define IT87_BASE_REG 100,2676 -static int update_vbat;103,2761 -static int reset;106,2828 -#define IT87_EXTENT 111,2926 -#define IT87_ADDR_REG_OFFSET 114,3025 -#define IT87_DATA_REG_OFFSET 115,3056 -#define IT87_REG_CONFIG 119,3124 -#define IT87_REG_ALARM1 121,3161 -#define IT87_REG_ALARM2 122,3197 -#define IT87_REG_ALARM3 123,3233 -#define IT87_REG_VID 125,3270 -#define IT87_REG_FAN_DIV 126,3306 -#define IT87_REG_FAN(IT87_REG_FAN130,3421 -#define IT87_REG_FAN_MIN(IT87_REG_FAN_MIN131,3466 -#define IT87_REG_FAN_MAIN_CTRL 132,3511 -#define IT87_REG_VIN(IT87_REG_VIN134,3548 -#define IT87_REG_TEMP(IT87_REG_TEMP135,3593 -#define IT87_REG_VIN_MAX(IT87_REG_VIN_MAX137,3639 -#define IT87_REG_VIN_MIN(IT87_REG_VIN_MIN138,3688 -#define IT87_REG_TEMP_HIGH(IT87_REG_TEMP_HIGH139,3737 -#define IT87_REG_TEMP_LOW(IT87_REG_TEMP_LOW140,3786 -#define IT87_REG_I2C_ADDR 142,3836 -#define IT87_REG_VIN_ENABLE 144,3873 -#define IT87_REG_TEMP_ENABLE 145,3909 -#define IT87_REG_CHIPID 147,3946 -#define IN_TO_REG(IN_TO_REG149,3983 -#define IN_FROM_REG(IN_FROM_REG150,4047 -static inline u8 FAN_TO_REG(152,4086 -#define FAN_FROM_REG(FAN_FROM_REG161,4286 -#define TEMP_TO_REG(TEMP_TO_REG163,4366 -#define TEMP_FROM_REG(TEMP_FROM_REG165,4470 -#define ALARMS_FROM_REG(ALARMS_FROM_REG167,4536 -static int DIV_TO_REG(169,4572 -#define DIV_FROM_REG(DIV_FROM_REG176,4678 -struct it87_data it87_data183,4946 -static struct i2c_driver it87_driver 220,6187 -static int it87_id 229,6405 -static ssize_t show_in(231,6430 -static ssize_t show_in_min(237,6605 -static ssize_t show_in_max(243,6788 -static ssize_t set_in_min(249,6971 -static ssize_t set_in_max(260,7340 -#define show_in_offset(show_in_offset272,7710 -#define limit_in_offset(limit_in_offset280,7960 -static ssize_t show_temp(325,9206 -static ssize_t show_temp_max(330,9386 -static ssize_t show_temp_min(335,9575 -static ssize_t set_temp_max(340,9763 -static ssize_t set_temp_min(350,10129 -#define show_temp_offset(show_temp_offset360,10492 -static ssize_t show_sensor(395,11744 -static ssize_t set_sensor(404,12075 -#define show_sensor_offset(show_sensor_offset423,12636 -static ssize_t show_fan(441,13194 -static ssize_t show_fan_min(447,13409 -static ssize_t show_fan_div(453,13629 -static ssize_t set_fan_min(458,13814 -static ssize_t set_fan_div(468,14205 -#define show_fan_offset(show_fan_offset505,15157 -static ssize_t show_alarms(539,16380 -show_vrm_reg(547,16635 -store_vrm_reg(553,16798 -#define device_create_file_vrm(device_create_file_vrm565,17126 -show_vid_reg(569,17231 -#define device_create_file_vid(device_create_file_vid575,17463 -static int it87_attach_adapter(582,17762 -static int it87_find(590,18006 -int it87_detect(614,18466 -#define REALLY_SLOW_IO637,19028 -static int it87_detach_client(799,24490 -static int it87_read_value(821,25128 -static int it87_write_value(841,25805 -static void it87_init_client(856,26238 -static struct it87_data *it87_update_device(896,27503 -static int __init sm_it87_init(971,29646 -static void __exit sm_it87_exit(981,29791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/via686a.c,3237 -static unsigned short force_addr 46,1642 -static unsigned short normal_i2c[54,1910 -static unsigned short normal_i2c_range[55,1967 -static unsigned int normal_isa[56,2030 -static unsigned int normal_isa_range[57,2097 -#define VIA686A_EXTENT 70,2426 -#define VIA686A_BASE_REG 71,2454 -#define VIA686A_ENABLE_REG 72,2484 -#define VIA686A_REG_IN_MAX(VIA686A_REG_IN_MAX76,2568 -#define VIA686A_REG_IN_MIN(VIA686A_REG_IN_MIN77,2619 -#define VIA686A_REG_IN(VIA686A_REG_IN78,2670 -#define VIA686A_REG_FAN_MIN(VIA686A_REG_FAN_MIN81,2740 -#define VIA686A_REG_FAN(VIA686A_REG_FAN82,2786 -static const u8 regtemp[85,2882 -static const u8 regover[86,2932 -static const u8 reghyst[87,2982 -#define VIA686A_REG_TEMP(VIA686A_REG_TEMP90,3058 -#define VIA686A_REG_TEMP_OVER(VIA686A_REG_TEMP_OVER91,3102 -#define VIA686A_REG_TEMP_HYST(VIA686A_REG_TEMP_HYST92,3150 -#define VIA686A_REG_TEMP_LOW1 93,3198 -#define VIA686A_REG_TEMP_LOW23 94,3245 -#define VIA686A_REG_ALARM1 96,3312 -#define VIA686A_REG_ALARM2 97,3344 -#define VIA686A_REG_FANDIV 98,3376 -#define VIA686A_REG_CONFIG 99,3408 -#define VIA686A_REG_TEMP_MODE 106,3750 -#define VIA686A_TEMP_MODE_MASK 108,3852 -#define VIA686A_TEMP_MODE_CONTINUOUS 109,3888 -static inline u8 IN_TO_REG(127,4619 -static inline long IN_FROM_REG(148,5351 -static inline u8 FAN_TO_REG(167,6124 -#define FAN_FROM_REG(FAN_FROM_REG175,6314 -static const long tempLUT[209,8145 -static const u8 viaLUT[255,10858 -static inline u8 TEMP_TO_REG(274,11826 -#define TEMP_FROM_REG(TEMP_FROM_REG281,12036 -static inline long TEMP_FROM_REG10(284,12125 -#define ALARMS_FROM_REG(ALARMS_FROM_REG298,12466 -#define DIV_FROM_REG(DIV_FROM_REG300,12502 -#define DIV_TO_REG(DIV_TO_REG301,12541 -struct via686a_data via686a_data306,12766 -static struct pci_dev *s_bridge;324,13355 -static inline int via686a_read_value(330,13630 -static inline void via686a_write_value(335,13744 -static ssize_t show_in(347,14086 -static ssize_t show_in_min(352,14272 -static ssize_t show_in_max(357,14466 -static ssize_t set_in_min(362,14660 -static ssize_t set_in_max(372,15040 -#define show_in_offset(show_in_offset382,15420 -static ssize_t show_temp(421,16645 -static ssize_t show_temp_over(425,16834 -static ssize_t show_temp_hyst(429,17031 -static ssize_t set_temp_over(433,17228 -static ssize_t set_temp_hyst(442,17604 -#define show_temp_offset(show_temp_offset451,17980 -static ssize_t show_fan(487,19260 -static ssize_t show_fan_min(492,19481 -static ssize_t show_fan_div(497,19707 -static ssize_t set_fan_min(501,19898 -static ssize_t set_fan_div(510,20300 -#define show_fan_offset(show_fan_offset522,20781 -static ssize_t show_alarms(555,21982 -static struct i2c_driver via686a_driver 563,22374 -static int via686a_attach_adapter(574,22655 -static int via686a_detect(581,22834 -static int via686a_detach_client(692,26806 -static void via686a_init_client(709,27184 -static struct via686a_data *via686a_update_device(723,27655 -static struct pci_device_id via686a_pci_ids[790,29622 -static int __devinit via686a_pci_probe(800,29866 -static void __devexit via686a_pci_remove(827,30712 -static struct pci_driver via686a_pci_driver 832,30819 -static int __init sm_via686a_init(839,31021 -static void __exit sm_via686a_exit(844,31118 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/w83627hf.c,6589 -static u16 force_addr;49,1667 -static u8 force_i2c 53,1806 -static unsigned short normal_i2c[59,1970 -static unsigned short normal_i2c_range[60,2027 -static unsigned int normal_isa[61,2090 -static unsigned int normal_isa_range[62,2152 -static int init 67,2302 -#define REG 72,2465 -#define DEV 73,2515 -#define VAL 74,2570 -#define W83627HF_LD_FDC 77,2674 -#define W83627HF_LD_PRT 78,2704 -#define W83627HF_LD_UART1 79,2734 -#define W83627HF_LD_UART2 80,2765 -#define W83627HF_LD_KBC 81,2796 -#define W83627HF_LD_CIR 82,2826 -#define W83627HF_LD_GAME 83,2876 -#define W83627HF_LD_MIDI 84,2906 -#define W83627HF_LD_GPIO1 85,2936 -#define W83627HF_LD_GPIO5 86,2967 -#define W83627HF_LD_GPIO2 87,3019 -#define W83627HF_LD_GPIO3 88,3050 -#define W83627HF_LD_GPIO4 89,3081 -#define W83627HF_LD_ACPI 90,3133 -#define W83627HF_LD_HWM 91,3163 -#define DEVID 93,3194 -#define W83627THF_GPIO5_IOSR 95,3240 -#define W83627THF_GPIO5_DR 96,3295 -#define W83627THF_GPIO5_INVR 97,3348 -superio_outb(100,3423 -superio_inb(107,3511 -superio_select(114,3591 -superio_enter(121,3671 -superio_exit(128,3751 -#define W627_DEVID 133,3793 -#define W627THF_DEVID 134,3817 -#define W697_DEVID 135,3844 -#define W637_DEVID 136,3868 -#define WINB_ACT_REG 137,3892 -#define WINB_BASE_REG 138,3918 -#define WINB_EXTENT 142,4014 -#define W83781D_ADDR_REG_OFFSET 145,4113 -#define W83781D_DATA_REG_OFFSET 146,4147 -#define W83781D_REG_IN_MAX(W83781D_REG_IN_MAX150,4263 -#define W83781D_REG_IN_MIN(W83781D_REG_IN_MIN152,4364 -#define W83781D_REG_IN(W83781D_REG_IN154,4465 -#define W83781D_REG_FAN_MIN(W83781D_REG_FAN_MIN157,4555 -#define W83781D_REG_FAN(W83781D_REG_FAN158,4601 -#define W83781D_REG_TEMP2_CONFIG 160,4644 -#define W83781D_REG_TEMP3_CONFIG 161,4683 -#define W83781D_REG_TEMP(W83781D_REG_TEMP162,4722 -#define W83781D_REG_TEMP_HYST(W83781D_REG_TEMP_HYST165,4836 -#define W83781D_REG_TEMP_OVER(W83781D_REG_TEMP_OVER168,4952 -#define W83781D_REG_BANK 172,5069 -#define W83781D_REG_CONFIG 174,5100 -#define W83781D_REG_ALARM1 175,5132 -#define W83781D_REG_ALARM2 176,5164 -#define W83781D_REG_ALARM3 177,5196 -#define W83781D_REG_IRQ 179,5230 -#define W83781D_REG_BEEP_CONFIG 180,5259 -#define W83781D_REG_BEEP_INTS1 181,5296 -#define W83781D_REG_BEEP_INTS2 182,5332 -#define W83781D_REG_BEEP_INTS3 183,5368 -#define W83781D_REG_VID_FANDIV 185,5406 -#define W83781D_REG_CHIPID 187,5443 -#define W83781D_REG_WCHIPID 188,5475 -#define W83781D_REG_CHIPMAN 189,5508 -#define W83781D_REG_PIN 190,5541 -#define W83781D_REG_VBAT 192,5571 -#define W83627HF_REG_PWM1 194,5602 -#define W83627HF_REG_PWM2 195,5633 -#define W83627HF_REG_PWMCLK12 196,5664 -#define W83627THF_REG_PWM1 198,5700 -#define W83627THF_REG_PWM2 199,5759 -#define W83627THF_REG_PWM3 200,5818 -#define W83627THF_REG_VRM_OVT_CFG 202,5868 -static const u8 regpwm_627hf[204,5925 -static const u8 regpwm[205,6000 -#define W836X7HF_REG_PWM(W836X7HF_REG_PWM207,6120 -#define W83781D_REG_I2C_ADDR 210,6262 -#define W83781D_REG_I2C_SUBADDR 211,6296 -#define W83781D_REG_SCFG1 214,6357 -static const u8 BIT_SCFG1[215,6388 -#define W83781D_REG_SCFG2 216,6440 -static const u8 BIT_SCFG2[217,6471 -#define W83781D_DEFAULT_BETA 218,6523 -#define IN_TO_REG(IN_TO_REG224,6799 -#define IN_FROM_REG(IN_FROM_REG225,6863 -static inline u8 FAN_TO_REG(227,6902 -#define TEMP_MIN 236,7102 -#define TEMP_MAX 237,7129 -static u8 TEMP_TO_REG(241,7230 -static int TEMP_FROM_REG(248,7404 -#define FAN_FROM_REG(FAN_FROM_REG253,7473 -#define PWM_TO_REG(PWM_TO_REG255,7553 -#define BEEP_MASK_FROM_REG(BEEP_MASK_FROM_REG257,7607 -#define BEEP_MASK_TO_REG(BEEP_MASK_TO_REG258,7647 -#define BEEP_ENABLE_TO_REG(BEEP_ENABLE_TO_REG259,7697 -#define BEEP_ENABLE_FROM_REG(BEEP_ENABLE_FROM_REG260,7742 -#define DIV_FROM_REG(DIV_FROM_REG262,7789 -static inline u8 DIV_TO_REG(264,7829 -struct w83627hf_data w83627hf_data279,8230 -static struct i2c_driver w83627hf_driver 330,10003 -#define show_in_reg(show_in_reg340,10290 -show_in_reg(346,10518 -#define store_in_reg(store_in_reg350,10575 -#define sysfs_in_offset(sysfs_in_offset368,11071 -#define sysfs_in_reg_offset(sysfs_in_reg_offset376,11313 -#define sysfs_in_offsets(sysfs_in_offsets390,11782 -static ssize_t show_regs_in_0(421,12495 -static ssize_t show_regs_in_min0(427,12663 -static ssize_t show_regs_in_max0(433,12838 -static ssize_t store_regs_in_min0(439,13013 -static ssize_t store_regs_in_max0(460,13606 -#define device_create_file_in(device_create_file_in487,14440 -#define show_fan_reg(show_fan_reg494,14702 -store_fan_min(506,15040 -#define sysfs_fan_offset(sysfs_fan_offset521,15460 -#define sysfs_fan_min_offset(sysfs_fan_min_offset528,15698 -#define device_create_file_fan(device_create_file_fan548,16285 -#define show_temp_reg(show_temp_reg554,16486 -#define store_temp_reg(store_temp_reg569,16948 -#define sysfs_temp_offset(sysfs_temp_offset594,17688 -#define sysfs_temp_reg_offset(sysfs_temp_reg_offset602,17933 -#define sysfs_temp_offsets(sysfs_temp_offsets616,18420 -#define device_create_file_temp(device_create_file_temp625,18633 -show_vid_reg(633,18923 -#define device_create_file_vid(device_create_file_vid639,19163 -show_vrm_reg(643,19273 -store_vrm_reg(649,19444 -#define device_create_file_vrm(device_create_file_vrm661,19776 -show_alarms_reg(665,19881 -#define device_create_file_alarms(device_create_file_alarms671,20103 -#define show_beep_reg(show_beep_reg674,20199 -show_beep_reg(681,20454 -#define BEEP_ENABLE 684,20511 -#define BEEP_MASK 685,20559 -#define sysfs_beep(sysfs_beep716,21490 -#define device_create_file_beep(device_create_file_beep732,21948 -show_fan_div_reg(739,22141 -store_fan_div_reg(751,22613 -#define sysfs_fan_div(sysfs_fan_div781,23632 -#define device_create_file_fan_div(device_create_file_fan_div799,24145 -show_pwm_reg(805,24298 -store_pwm_reg(812,24486 -#define sysfs_pwm(sysfs_pwm838,25205 -#define device_create_file_pwm(device_create_file_pwm855,25665 -show_sensor_reg(861,25814 -store_sensor_reg(868,26006 -#define sysfs_sensor(sysfs_sensor911,27343 -#define device_create_file_sensor(device_create_file_sensor928,27841 -static int w83627hf_attach_adapter(938,28193 -static int w83627hf_find(943,28320 -int w83627hf_detect(972,28900 -static int w83627hf_detach_client(1132,33086 -static int w83627hf_read_value(1155,33711 -static int w83627thf_read_gpio5(1190,34715 -static int w83627hf_write_value(1205,35057 -static void w83627hf_init_client(1240,36110 -static struct w83627hf_data *w83627hf_update_device(1329,39037 -static int __init sensors_w83627hf_init(1423,42160 -static void __exit sensors_w83627hf_exit(1435,42339 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/chips/eeprom.c,787 -static unsigned short normal_i2c[39,1444 -static unsigned short normal_i2c_range[40,1501 -static unsigned int normal_isa[41,1576 -static unsigned int normal_isa_range[42,1635 -static int checksum 47,1752 -#define EEPROM_REG_CHECKSUM 53,1912 -#define EEPROM_SIZE 56,1976 -enum eeprom_nature eeprom_nature59,2041 - UNKNOWN,60,2062 - VAIO,61,2072 -struct eeprom_data eeprom_data65,2126 -static struct i2c_driver eeprom_driver 80,2646 -static int eeprom_id 89,2874 -static void eeprom_update_client(91,2901 -static ssize_t eeprom_read(126,3956 -static struct bin_attribute eeprom_attr 154,4807 -static int eeprom_attach_adapter(164,4977 -int eeprom_detect(170,5144 -static int eeprom_detach_client(252,7491 -static int __init eeprom_init(267,7759 -static void __exit eeprom_exit(272,7840 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-pcf.c,871 -#define DEB2(DEB241,1674 -#define DEB3(DEB342,1710 -#define DEBPROTO(DEBPROTO43,1784 -#define DEF_TIMEOUT 45,1880 -static int i2c_debug;49,1930 -#define set_pcf(set_pcf53,2029 -#define get_pcf(get_pcf54,2096 -#define get_own(get_own55,2153 -#define get_clock(get_clock56,2200 -#define i2c_outb(i2c_outb57,2251 -#define i2c_inb(i2c_inb58,2312 -static void i2c_start(62,2439 -static void i2c_repstart(68,2558 -static void i2c_stop(75,2686 -static int wait_for_bb(82,2805 -static int wait_for_pin(102,3178 -static int pcf_init_8584 130,3946 -static inline int try_address(187,5861 -static int pcf_sendbytes(210,6397 -static int pcf_readbytes(245,7240 -static inline int pcf_doAddress(290,8122 -static int pcf_xfer(334,9299 -static u32 pcf_func(415,11495 -static struct i2c_algorithm pcf_algo 423,11711 -int i2c_pcf_add_bus(433,11927 -int i2c_pcf_del_bus(455,12389 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-pca.h,627 -#define I2C_PCA9564_H 2,22 -#define I2C_PCA_STA 4,47 -#define I2C_PCA_TO 5,98 -#define I2C_PCA_DAT 6,148 -#define I2C_PCA_ADR 7,199 -#define I2C_PCA_CON 8,250 -#define I2C_PCA_CON_AA 10,302 -#define I2C_PCA_CON_ENSIO 11,356 -#define I2C_PCA_CON_STA 12,400 -#define I2C_PCA_CON_STO 13,442 -#define I2C_PCA_CON_SI 14,483 -#define I2C_PCA_CON_CR 15,535 -#define I2C_PCA_CON_330kHz 17,589 -#define I2C_PCA_CON_288kHz 18,621 -#define I2C_PCA_CON_217kHz 19,653 -#define I2C_PCA_CON_146kHz 20,685 -#define I2C_PCA_CON_88kHz 21,717 -#define I2C_PCA_CON_59kHz 22,748 -#define I2C_PCA_CON_44kHz 23,779 -#define I2C_PCA_CON_36kHz 24,810 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-ite.h,1408 -#define I2C_ITE_H 34,1663 -#define ITE_I2CHCR 39,1736 -#define ITE_I2CHSR 40,1795 -#define ITE_I2CSAR 41,1854 -#define ITE_I2CSSAR 42,1913 -#define ITE_I2CCKCNT 43,1973 -#define ITE_I2CSHDR 44,2034 -#define ITE_I2CRSUR 45,2094 -#define ITE_I2CPSUR 46,2154 -#define ITE_I2CFDR 48,2215 -#define ITE_I2CFBCR 49,2274 -#define ITE_I2CFCR 50,2334 -#define ITE_I2CFSR 51,2393 -#define ITE_I2CHCR_HCE 55,2493 -#define ITE_I2CHCR_IE 56,2554 -#define ITE_I2CHCR_CP_W 58,2656 -#define ITE_I2CHCR_CP_R 59,2710 -#define ITE_I2CHCR_CP_S 60,2774 -#define ITE_I2CHCR_ST 61,2833 -#define ITE_CMD 64,3003 -#define ITE_WRITE 65,3067 -#define ITE_READ 66,3111 -#define ITE_SREAD 67,3154 -#define ITE_I2CHSR_DB 70,3237 -#define ITE_I2CHSR_DNE 72,3351 -#define ITE_I2CHSR_TDI 73,3426 -#define ITE_I2CHSR_HB 74,3501 -#define ITE_I2CHSR_FER 75,3577 -#define ITE_I2CSAR_SA_MASK 78,3677 -#define ITE_I2CSAR_ASO 79,3741 -#define ITE_I2CSSAR_SUBA_MASK 83,3898 -#define ITE_I2CCKCNT_STOP 86,4012 -#define ITE_I2CCKCNT_HPCC_MASK 87,4064 -#define ITE_I2CCKCNT_LPCC_MASK 88,4130 -#define ITE_I2CSHDR_FM 92,4295 -#define ITE_I2CSHDR_SM 93,4358 -#define ITE_I2CRSUR_FM 97,4535 -#define ITE_I2CRSUR_SM 98,4607 -#define ITE_I2CFDR_MASK 103,4764 -#define ITE_I2CFBCR_MASK 106,4838 -#define ITE_I2CFCR_FLUSH 109,4908 -#define ITE_I2CFSR_FO 112,5037 -#define ITE_I2CFSR_FU 113,5097 -#define ITE_I2CFSR_FF 114,5157 -#define ITE_I2CFSR_FE 115,5214 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-pca.c,895 -#define DRIVER 31,1107 -#define DEB1(DEB133,1138 -#define DEB2(DEB234,1221 -#define DEB3(DEB335,1304 -static int i2c_debug=37,1388 -#define pca_outw(pca_outw39,1413 -#define pca_inw(pca_inw40,1479 -#define pca_status(pca_status42,1534 -#define pca_clock(pca_clock43,1586 -#define pca_own(pca_own44,1632 -#define pca_set_con(pca_set_con45,1674 -#define pca_get_con(pca_get_con46,1738 -#define pca_wait(pca_wait47,1791 -static void pca_start(54,1951 -static void pca_repeated_start(69,2294 -static void pca_stop(88,2797 -static void pca_address(102,3090 -static void pca_tx_byte(127,3619 -static void pca_rx_byte(145,3941 -static void pca_rx_ack(157,4236 -static void pca_reset(174,4537 -static int pca_xfer(180,4745 -static u32 pca_func(329,8847 -static int pca_init(334,8934 -static struct i2c_algorithm pca_algo 352,9392 -int i2c_pca_add_bus(362,9608 -int i2c_pca_del_bus(383,10008 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-pcf.h,995 -#define I2C_PCF8584_H 25,1143 -#define I2C_PCF_PIN 28,1243 -#define I2C_PCF_ESO 29,1268 -#define I2C_PCF_ES1 30,1293 -#define I2C_PCF_ES2 31,1318 -#define I2C_PCF_ENI 32,1343 -#define I2C_PCF_STA 33,1368 -#define I2C_PCF_STO 34,1393 -#define I2C_PCF_ACK 35,1418 -#define I2C_PCF_START 37,1444 -#define I2C_PCF_STOP 38,1525 -#define I2C_PCF_REPSTART 39,1606 -#define I2C_PCF_IDLE 40,1687 -#define I2C_PCF_INI 45,1887 -#define I2C_PCF_STS 46,1941 -#define I2C_PCF_BER 47,1966 -#define I2C_PCF_AD0 48,1991 -#define I2C_PCF_LRB 49,2016 -#define I2C_PCF_AAS 50,2041 -#define I2C_PCF_LAB 51,2066 -#define I2C_PCF_BB 52,2091 -#define I2C_PCF_CLK3 55,2192 -#define I2C_PCF_CLK443 56,2218 -#define I2C_PCF_CLK6 57,2246 -#define I2C_PCF_CLK 58,2272 -#define I2C_PCF_CLK12 59,2297 -#define I2C_PCF_TRNS90 62,2400 -#define I2C_PCF_TRNS45 63,2442 -#define I2C_PCF_TRNS11 64,2484 -#define I2C_PCF_TRNS15 65,2526 -#define I2C_PCF_OWNADR 72,2737 -#define I2C_PCF_INTREG 73,2762 -#define I2C_PCF_CLKREG 74,2797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-ite.c,1094 -#define PM_DSR 51,1822 -#define PM_IBSR 52,1869 -#define GPIO_CCR 53,1925 -#define DEB2(DEB255,1973 -#define DEB3(DEB356,2009 -#define DEF_TIMEOUT 57,2083 -static int i2c_debug;62,2134 -static int iic_test;63,2156 -#define get_clock(get_clock67,2299 -#define iic_outw(iic_outw68,2350 -#define iic_inw(iic_inw69,2418 -static void iic_start(74,2553 -static void iic_stop(79,2648 -static void iic_reset(85,2779 -static int wait_for_bb(91,2896 -static inline void iic_sleep(113,3367 -static int wait_for_pin(122,3681 -static int wait_for_fe(146,4197 -static int iic_init 163,4515 -static int test_bus(203,5559 -static inline int try_address(285,7515 -static int iic_sendbytes(311,8093 -static int iic_readbytes(394,10167 -static int iic_combined_transaction(501,12647 -static inline int iic_doAddress(545,14156 -static int iic_xfer(610,15749 -static int algo_control(680,17700 -static u32 iic_func(715,18471 -static struct i2c_algorithm iic_algo 723,18687 -int i2c_iic_add_bus(738,19010 -int i2c_iic_del_bus(767,19581 -int __init i2c_algo_iic_init 778,19779 -void i2c_algo_iic_exit(785,19887 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/algos/i2c-algo-bit.c,953 -#define DEB(DEB36,1515 -#define DEB2(DEB237,1551 -#define DEBSTAT(DEBSTAT38,1588 -#define DEBPROTO(DEBPROTO39,1666 -static int i2c_debug;47,1870 -static int bit_test;48,1892 -#define setsda(setsda52,2035 -#define setscl(setscl53,2090 -#define getsda(getsda54,2145 -#define getscl(getscl55,2191 -static inline void sdalo(57,2238 -static inline void sdahi(63,2340 -static inline void scllo(69,2442 -static inline int sclhi(79,2639 -static void i2c_start(110,3381 -static void i2c_repstart(118,3527 -static void i2c_stop(131,3734 -static int i2c_outb(149,4121 -static int i2c_inb(190,5353 -static int test_bus(221,6159 -static inline int try_address(309,8420 -static int sendbytes(333,9076 -static inline int readbytes(365,9922 -static inline int bit_doAddress(416,11302 -static int bit_xfer(468,12757 -static u32 bit_func(512,13879 -static struct i2c_algorithm i2c_bit_algo 521,14095 -int i2c_bit_add_bus(531,14317 -int i2c_bit_del_bus(556,14822 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/i2c-sensor-vid.c,183 -struct vrm_model vrm_model26,948 -#define ANY 33,1029 -static struct vrm_model vrm_models[37,1066 -static int find_vrm(51,1684 -int i2c_which_vrm(67,2038 -int i2c_which_vrm(92,2743 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/i2c-core.c,2162 -int i2c_device_probe(41,1578 -int i2c_device_remove(46,1641 -static void i2c_adapter_dev_release(51,1699 -static struct device_driver i2c_adapter_driver 57,1845 -static void i2c_adapter_class_dev_release(64,2005 -static struct class i2c_adapter_class i2c_adapter_class70,2175 -static ssize_t show_adapter_name(75,2290 -static void i2c_client_release(83,2515 -static ssize_t show_client_name(89,2650 -static struct device_attribute dev_attr_client_name 100,3027 -int i2c_add_adapter(116,3493 -int i2c_del_adapter(177,5103 -int i2c_add_driver(244,6974 -int i2c_del_driver(278,7795 -static int __i2c_check_addr(339,9505 -int i2c_check_addr(352,9798 -int i2c_attach_client(363,9985 -int i2c_detach_client(404,11098 -static int i2c_inc_use_client(434,11811 -static void i2c_dec_use_client(447,12055 -int i2c_use_client(453,12191 -int i2c_release_client(476,12589 -void i2c_clients_command(493,12893 -static int i2c_device_match(515,13521 -struct bus_type i2c_bus_type 520,13612 -static int __init i2c_init(525,13694 -static void __exit i2c_exit(538,13937 -int i2c_transfer(553,14303 -int i2c_master_send(571,14693 -int i2c_master_recv(600,15430 -int i2c_control(633,16296 -int i2c_probe(659,16954 -int i2c_adapter_id(783,20754 -struct i2c_adapter* i2c_get_adapter(788,20822 -void i2c_put_adapter(806,21184 -#define POLY 813,21285 -crc8(815,21327 -u8 i2c_smbus_partial_pec(830,21634 -u8 i2c_smbus_pec(842,21878 -int i2c_smbus_add_pec(850,22147 -int i2c_smbus_check_pec(880,22845 -s32 i2c_smbus_write_quick(930,24050 -s32 i2c_smbus_read_byte(936,24240 -s32 i2c_smbus_write_byte(946,24496 -s32 i2c_smbus_read_byte_data(953,24746 -s32 i2c_smbus_write_byte_data(963,25030 -s32 i2c_smbus_read_word_data(972,25328 -s32 i2c_smbus_write_word_data(982,25615 -s32 i2c_smbus_process_call(991,25914 -s32 i2c_smbus_read_block_data(1004,26290 -s32 i2c_smbus_write_block_data(1019,26688 -s32 i2c_smbus_block_process_call(1034,27182 -s32 i2c_smbus_read_i2c_block_data(1053,27763 -s32 i2c_smbus_write_i2c_block_data(1068,28175 -static s32 i2c_smbus_xfer_emulated(1084,28740 -s32 i2c_smbus_xfer(1213,32371 -u32 i2c_get_functionality 1263,34101 -int i2c_check_functionality 1271,34260 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-viapro.c,1423 -#define SMBBA1 48,1476 -#define SMBBA2 49,1501 -#define SMBBA3 50,1527 -static unsigned short vt596_smba;53,1582 -#define SMBHSTSTS 54,1616 -#define SMBHSLVSTS 55,1651 -#define SMBHSTCNT 56,1687 -#define SMBHSTCMD 57,1722 -#define SMBHSTADD 58,1757 -#define SMBHSTDAT0 59,1792 -#define SMBHSTDAT1 60,1828 -#define SMBBLKDAT 61,1864 -#define SMBSLVCNT 62,1899 -#define SMBSHDWCMD 63,1934 -#define SMBSLVEVT 64,1970 -#define SMBSLVDAT 65,2007 -static unsigned short smb_cf_hstcfg 72,2177 -#define SMBHSTCFG 74,2222 -#define SMBSLVC 75,2258 -#define SMBSHDW1 76,2298 -#define SMBSHDW2 77,2338 -#define SMBREV 78,2378 -#define MAX_TIMEOUT 81,2440 -#define ENABLE_INT9 82,2464 -#define VT596_QUICK 85,2512 -#define VT596_BYTE 86,2542 -#define VT596_BYTE_DATA 87,2572 -#define VT596_WORD_DATA 88,2602 -#define VT596_BLOCK_DATA 89,2632 -static int force;94,2760 -static u16 force_addr;100,3002 -static struct i2c_adapter vt596_adapter;107,3175 -static int vt596_transaction(110,3256 -static s32 vt596_access(185,5268 -static u32 vt596_func(277,7674 -static struct i2c_algorithm smbus_algorithm 284,7874 -static struct i2c_adapter vt596_adapter 291,8044 -static int __devinit vt596_probe(298,8191 -static void __devexit vt596_remove(391,10930 -static struct pci_device_id vt596_ids[397,11058 -static struct pci_driver vt596_driver 457,12369 -static int __init i2c_vt596_init(464,12527 -static void __exit i2c_vt596_exit(470,12612 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-keywest.c,796 -#define WRONG_STATE(WRONG_STATE75,2569 -static const char *__kw_state_names[81,2742 -static int probe;91,2897 -wait_interrupt(103,3193 -do_stop(119,3436 -handle_interrupt(128,3655 -keywest_irq(233,6269 -keywest_timeout(250,6748 -keywest_smbus_xfer(271,7240 -keywest_xfer(401,10692 -keywest_func(493,13011 -static struct i2c_algorithm keywest_algorithm 501,13261 -create_iface(511,13473 -dispose_iface(652,17182 -create_iface_macio(697,18269 -dispose_iface_macio(703,18413 -create_iface_of_platform(709,18512 -dispose_iface_of_platform(715,18650 -static struct of_match i2c_keywest_match[720,18738 -static struct macio_driver i2c_keywest_macio_driver 730,18869 -static struct of_platform_driver i2c_keywest_of_platform_driver 738,19054 -i2c_keywest_init(747,19281 -i2c_keywest_cleanup(756,19445 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-parport.c,1037 -struct i2c_par i2c_par38,1549 -static struct i2c_par *adapter_list;45,1684 -static void port_write_data(49,1802 -static void port_write_control(54,1898 -static unsigned char port_read_data(59,2000 -static unsigned char port_read_status(64,2090 -static unsigned char port_read_control(69,2184 -static void (*port_write[74,2280 -static void (*port_write[])(struct parport 74,2280 -static unsigned char (*port_read[80,2395 -static unsigned char (*port_read[])(struct parport 80,2395 -static inline void line_set(88,2593 -static inline int line_get(100,2924 -static void parport_setscl(111,3241 -static void parport_setsda(116,3367 -static int parport_getscl(121,3493 -static int parport_getsda(126,3607 -static struct i2c_algo_bit_data parport_algo_data 136,4034 -static struct i2c_adapter parport_adapter 148,4333 -static void i2c_parport_attach 155,4491 -static void i2c_parport_detach 212,6047 -static struct parport_driver i2c_driver 236,6639 -static int __init i2c_parport_init(244,6853 -static void __exit i2c_parport_exit(257,7148 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-iop3xx.h,1586 -#define I2C_IOP3XX_H 23,1126 -#define IOP321_ICR_FAST_MODE 28,1192 -#define IOP321_ICR_UNIT_RESET 29,1255 -#define IOP321_ICR_SADIE 30,1306 -#define IOP321_ICR_ALDIE 31,1376 -#define IOP321_ICR_SSDIE 32,1449 -#define IOP321_ICR_BERRIE 33,1524 -#define IOP321_ICR_RXFULLIE 34,1592 -#define IOP321_ICR_TXEMPTYIE 35,1665 -#define IOP321_ICR_GCD 36,1741 -#define IOP321_ICR_UE 41,1949 -#define IOP321_ICR_SCLEN 50,2356 -#define IOP321_ICR_MABORT 51,2423 -#define IOP321_ICR_TBYTE 53,2521 -#define IOP321_ICR_NACK 54,2593 -#define IOP321_ICR_MSTOP 55,2649 -#define IOP321_ICR_MSTART 56,2722 -#define IOP321_ISR_BERRD 59,2782 -#define IOP321_ISR_SAD 60,2841 -#define IOP321_ISR_GCAD 61,2903 -#define IOP321_ISR_RXFULL 62,2973 -#define IOP321_ISR_TXEMPTY 63,3027 -#define IOP321_ISR_ALD 64,3084 -#define IOP321_ISR_SSD 65,3149 -#define IOP321_ISR_BBUSY 66,3208 -#define IOP321_ISR_UNITBUSY 67,3257 -#define IOP321_ISR_NACK 68,3310 -#define IOP321_ISR_RXREAD 69,3371 -#define IOP321_ISR_CLEARBITS 71,3449 -#define IOP321_ISAR_SAMASK 73,3486 -#define IOP321_IDBR_MASK 75,3521 -#define IOP321_IBMR_SCL 77,3554 -#define IOP321_IBMR_SDA 78,3586 -#define IOP321_GPOD_I2C0 80,3619 -#define IOP321_GPOD_I2C1 81,3688 -#define MYSAR 83,3758 -#define I2C_ERR 85,3816 -#define I2C_ERR_BERR 86,3838 -#define I2C_ERR_ALD 87,3872 -struct iop3xx_biu iop3xx_biu90,3907 -struct i2c_algo_iop3xx_data i2c_algo_iop3xx_data103,4154 -#define REGION_START(REGION_START112,4286 -#define REGION_END(REGION_END113,4338 -#define REGION_LENGTH(REGION_LENGTH114,4391 -#define IRQ_STATUS_MASK(IRQ_STATUS_MASK116,4458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/scx200_i2c.c,394 -#define NAME 35,1177 -static int scl 41,1338 -static int sda 42,1378 -static void scx200_i2c_setscl(49,1562 -static void scx200_i2c_setsda(54,1650 -static int scx200_i2c_getscl(59,1739 -static int scx200_i2c_getsda(64,1815 -static struct i2c_algo_bit_data scx200_i2c_data 74,2115 -static struct i2c_adapter scx200_i2c_ops 83,2294 -int scx200_i2c_init(89,2436 -void scx200_i2c_cleanup(118,3114 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ixp4xx.c,530 -#define DEBUG 31,1240 -static inline int ixp4xx_scl_pin(43,1484 -static inline int ixp4xx_sda_pin(48,1584 -static void ixp4xx_bit_setscl(53,1684 -static void ixp4xx_bit_setsda(60,1865 -static int ixp4xx_bit_getscl(67,2046 -static int ixp4xx_bit_getsda(77,2220 -struct ixp4xx_i2c_data ixp4xx_i2c_data87,2394 -static int ixp4xx_i2c_remove(93,2525 -static int ixp4xx_i2c_probe(107,2820 -static struct device_driver ixp4xx_i2c_driver 158,4280 -static int __init ixp4xx_i2c_init(165,4447 -static void __exit ixp4xx_i2c_exit(170,4537 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ite.c,841 -#define DEFAULT_BASE 51,1873 -#define ITE_IIC_IO_SIZE 52,1906 -#define DEFAULT_IRQ 53,1935 -#define DEFAULT_CLOCK 54,1959 -#define DEFAULT_OWN 55,2025 -static int base;57,2053 -static int irq;58,2070 -static int clock;59,2086 -static int own;60,2104 -static struct iic_ite gpi;62,2121 -static wait_queue_head_t iic_wait;63,2148 -static int iic_pending;64,2183 -static void iic_ite_setiic(68,2284 -static short iic_ite_getiic(80,2540 -static int iic_ite_getown(93,2848 -static int iic_ite_getclock(99,2915 -static void iic_ite_waitforpin(108,3076 -static void iic_ite_handler(131,3641 -static int iic_hw_resrc_init(143,3914 -static void iic_ite_release(160,4205 -static struct i2c_algo_iic_data iic_ite_data 173,4585 -static struct i2c_adapter iic_ite_ops 183,4772 -static int __init iic_ite_init(196,5128 -static void iic_ite_exit(236,5871 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-i810.c,1469 -#define I810_IOCONTROL_OFFSET 47,1564 -#define I810_HVSYNC 48,1601 -#define I810_GPIOA 49,1642 -#define I810_GPIOB 50,1667 -#define SCL_DIR_MASK 53,1730 -#define SCL_DIR 54,1759 -#define SCL_VAL_MASK 55,1784 -#define SCL_VAL_OUT 56,1813 -#define SCL_VAL_IN 57,1841 -#define SDA_DIR_MASK 58,1868 -#define SDA_DIR 59,1897 -#define SDA_VAL_MASK 60,1922 -#define SDA_VAL_OUT 61,1951 -#define SDA_VAL_IN 62,1979 -#define INIT1 65,2035 -#define INIT2 66,2055 -#define INIT3 67,2075 -#define CYCLE_DELAY 70,2109 -#define TIMEOUT 71,2133 -static void *ioaddr;73,2161 -static void bit_i810i2c_setscl(78,2299 -static void bit_i810i2c_setsda(85,2511 -static int bit_i810i2c_getscl(102,3284 -static int bit_i810i2c_getsda(109,3466 -static void bit_i810ddc_setscl(116,3648 -static void bit_i810ddc_setsda(123,3860 -static int bit_i810ddc_getscl(130,4073 -static int bit_i810ddc_getsda(137,4255 -static int config_i810(144,4437 -static struct i2c_algo_bit_data i810_i2c_bit_data 163,4843 -static struct i2c_adapter i810_i2c_adapter 173,5100 -static struct i2c_algo_bit_data i810_ddc_bit_data 179,5244 -static struct i2c_adapter i810_ddc_adapter 189,5501 -static struct pci_device_id i810_ids[195,5645 -static struct pci_device_id i810_ids[] __devinitdata 195,5645 -static int __devinit i810_probe(204,6060 -static void __devexit i810_remove(226,6605 -static struct pci_driver i810_driver 233,6757 -static int __init i2c_i810_init(240,6910 -static void __exit i2c_i810_exit(245,6992 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-prosavage.c,1170 -#define MAX_BUSSES 68,2240 -struct s_i2c_bus s_i2c_bus70,2262 -struct s_i2c_chip s_i2c_chip78,2386 -#define I2C_HW_B_S3VIA 88,2514 -#define CYCLE_DELAY 92,2594 -#define TIMEOUT 93,2617 -#define PCI_DEVICE_ID_S3_SAVAGE4 100,2716 -#define PCI_DEVICE_ID_S3_PROSAVAGE8 103,2799 -#define VGA_CR_IX 106,2850 -#define VGA_CR_DATA 107,2874 -#define CR_SERIAL1 109,2901 -#define MM_SERIAL1 110,2967 -#define CR_SERIAL2 111,2993 -#define I2C_ENAB 114,3098 -#define I2C_SCL_OUT 115,3120 -#define I2C_SDA_OUT 116,3145 -#define I2C_SCL_IN 117,3170 -#define I2C_SDA_IN 118,3194 -#define SET_CR_IX(SET_CR_IX120,3219 -#define SET_CR_DATA(SET_CR_DATA121,3283 -#define GET_CR_DATA(GET_CR_DATA122,3351 -static void bit_s3via_setscl(132,3580 -static void bit_s3via_setsda(148,3850 -static int bit_s3via_getscl(164,4121 -static int bit_s3via_getsda(172,4287 -static int i2c_register_bus(184,4487 -static void prosavage_remove(215,5161 -static int __devinit prosavage_probe(245,5680 -static struct pci_device_id prosavage_pci_tbl[310,7195 -static struct pci_driver prosavage_driver 316,7385 -static int __init i2c_prosavage_init(323,7554 -static void __exit i2c_prosavage_exit(328,7646 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-parport.h,212 -#define DATA 25,1104 -#define STAT 26,1119 -#define CTRL 27,1134 -struct lineop lineop29,1150 -struct adapter_parm adapter_parm35,1203 -static struct adapter_parm adapter_parm[43,1342 -static int type;85,2323 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-isa.c,208 -static struct i2c_algorithm isa_algorithm 37,1418 -static struct i2c_adapter isa_adapter 44,1580 -static u32 isa_func(52,1771 -static int __init i2c_isa_init(57,1836 -static void __exit i2c_isa_exit(62,1917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-iop3xx.c,1737 -#define PASSERT(PASSERT52,2025 -static inline unsigned char iic_cook_addr(60,2225 -static inline void iop3xx_adap_reset(77,2509 -static inline void iop3xx_adap_set_slave_addr(85,2743 -static inline void iop3xx_adap_enable(90,2869 -static void iop3xx_adap_transaction_cleanup(105,3302 -static void iop3xx_adap_final_cleanup(114,3551 -static irqreturn_t iop3xx_i2c_handler(128,3968 -static int iop3xx_adap_error(145,4412 -static inline u32 get_srstat(158,4612 -typedef int (* compare_func)compare_func175,4992 -static int iop3xx_adap_wait_event(178,5091 -static int all_bits_clear(210,5694 -static int any_bits_set(214,5782 -static int iop3xx_adap_wait_tx_done(219,5869 -static int iop3xx_adap_wait_rx_done(227,6100 -static int iop3xx_adap_wait_idle(235,6323 -static int iop3xx_adap_init 245,6628 -static int iop3xx_adap_send_target_slave_addr(258,6926 -static int iop3xx_adap_write_byte(280,7500 -static int iop3xx_adap_read_byte(299,7922 -static int iop3xx_i2c_writebytes(322,8386 -static int iop3xx_i2c_readbytes(335,8703 -static int iop3xx_handle_msg(355,9287 -static int iop3xx_master_xfer(375,9761 -static int algo_control(398,10263 -static u32 iic_func(404,10372 -static struct i2c_algorithm iic_algo 412,10543 -static int i2c_iop3xx_add_bus(423,10810 -static int i2c_iop3xx_del_bus(457,11639 -static struct iop3xx_biu biu0 471,11994 -static struct iop3xx_biu biu1 480,12164 -#define ADAPTER_NAME_ROOT 489,12334 -static struct i2c_algo_iop3xx_data algo_iop3xx_data0 494,12471 -static struct i2c_algo_iop3xx_data algo_iop3xx_data1 499,12583 -static struct i2c_adapter iop3xx_ops0 505,12696 -static struct i2c_adapter iop3xx_ops1 511,12859 -static int __init i2c_iop3xx_init 518,13023 -static void __exit i2c_iop3xx_exit 524,13149 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-pca-isa.c,567 -#define IO_SIZE 40,1236 -static unsigned long base 45,1291 -static int irq 46,1328 -static int clock 50,1453 -static int own 52,1493 -static wait_queue_head_t pca_wait;54,1520 -static int pca_isa_getown(56,1556 -static int pca_isa_getclock(61,1634 -pca_isa_writebyte(67,1728 -pca_isa_readbyte(77,1984 -static int pca_isa_waitforinterrupt(89,2227 -static irqreturn_t pca_handler(103,2555 -static struct i2c_algo_pca_data pca_isa_data 108,2697 -static struct i2c_adapter pca_isa_ops 116,2929 -static int __init pca_isa_init(123,3091 -static void pca_isa_exit(158,3825 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-mpc.c,1331 -#define MPC_I2C_ADDR 27,709 -#define MPC_I2C_FDR 28,736 -#define MPC_I2C_CR 29,762 -#define MPC_I2C_SR 30,786 -#define MPC_I2C_DR 31,810 -#define MPC_I2C_DFSRR 32,834 -#define MPC_I2C_REGION 33,861 -#define CCR_MEN 35,890 -#define CCR_MIEN 36,912 -#define CCR_MSTA 37,934 -#define CCR_MTX 38,956 -#define CCR_TXAK 39,978 -#define CCR_RSTA 40,1000 -#define CSR_MCF 42,1023 -#define CSR_MAAS 43,1045 -#define CSR_MBB 44,1067 -#define CSR_MAL 45,1089 -#define CSR_SRW 46,1111 -#define CSR_MIF 47,1133 -#define CSR_RXAK 48,1155 -struct mpc_i2c mpc_i2c50,1178 -static __inline__ void writeccr(58,1305 -static irqreturn_t mpc_i2c_isr(63,1406 -static int i2c_wait(75,1765 -static void mpc_i2c_setclock(137,3081 -static void mpc_i2c_start(150,3524 -static void mpc_i2c_stop(158,3684 -static int mpc_write(163,3760 -static int mpc_read(192,4379 -static int mpc_xfer(235,5467 -static u32 mpc_functionality(274,6446 -static struct i2c_algorithm mpc_algo 279,6550 -static struct i2c_adapter mpc_ops 286,6708 -static int __devinit mpc_i2c_probe(296,6913 -static void __devexit mpc_i2c_remove(349,8163 -static struct ocp_device_id mpc_iic_ids[362,8494 -static struct ocp_device_id mpc_iic_ids[] __devinitdata 362,8494 -static struct ocp_driver mpc_iic_driver 369,8690 -static int __init iic_init(376,8844 -static void __exit iic_exit(381,8928 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-amd756.c,1898 -#define SMB_ADDR_OFFSET 53,1767 -#define SMB_IOSIZE 54,1797 -#define SMB_GLOBAL_STATUS 55,1820 -#define SMB_GLOBAL_ENABLE 56,1868 -#define SMB_HOST_ADDRESS 57,1916 -#define SMB_HOST_DATA 58,1963 -#define SMB_HOST_COMMAND 59,2008 -#define SMB_HOST_BLOCK_DATA 60,2055 -#define SMB_HAS_DATA 61,2105 -#define SMB_HAS_DEVICE_ADDRESS 62,2149 -#define SMB_HAS_HOST_ADDRESS 63,2202 -#define SMB_SNOOP_ADDRESS 64,2253 -#define SMBBA 69,2358 -#define SMBBANFORCE 70,2389 -#define SMBGCFG 73,2444 -#define SMBREV 76,2506 -#define MAX_TIMEOUT 79,2550 -#define AMD756_QUICK 82,2598 -#define AMD756_BYTE 83,2625 -#define AMD756_BYTE_DATA 84,2651 -#define AMD756_WORD_DATA 85,2681 -#define AMD756_PROCESS_CALL 86,2711 -#define AMD756_BLOCK_DATA 87,2744 -static unsigned short amd756_ioport 90,2777 -#define GS_ABRT_STS 97,2915 -#define GS_COL_STS 98,2944 -#define GS_PRERR_STS 99,2972 -#define GS_HST_STS 100,3002 -#define GS_HCYC_STS 101,3030 -#define GS_TO_STS 102,3059 -#define GS_SMB_STS 103,3086 -#define GS_CLEAR_STS 105,3116 -#define GE_CYC_TYPE_MASK 108,3213 -#define GE_HOST_STC 109,3242 -#define GE_ABORT 110,3272 -static int amd756_transaction(113,3301 -static s32 amd756_access(198,5580 -static u32 amd756_func(291,8141 -static struct i2c_algorithm smbus_algorithm 298,8369 -static struct i2c_adapter amd756_adapter 305,8541 -enum chiptype chiptype312,8697 -enum chiptype { AMD756,312,8697 -enum chiptype { AMD756, AMD766,312,8697 -enum chiptype { AMD756, AMD766, AMD768,312,8697 -enum chiptype { AMD756, AMD766, AMD768, NFORCE,312,8697 -enum chiptype { AMD756, AMD766, AMD768, NFORCE, AMD8111 312,8697 -static struct pci_device_id amd756_ids[314,8757 -static int __devinit amd756_probe(323,9163 -static void __devexit amd756_remove(390,10856 -static struct pci_driver amd756_driver 396,10997 -static int __init amd756_init(403,11160 -static void __exit amd756_exit(408,11242 -module_init(417,11474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ali15x3.c,1667 -#define SMBHSTSTS 76,2835 -#define SMBHSTCNT 77,2872 -#define SMBHSTSTART 78,2909 -#define SMBHSTCMD 79,2948 -#define SMBHSTADD 80,2985 -#define SMBHSTDAT0 81,3022 -#define SMBHSTDAT1 82,3060 -#define SMBBLKDAT 83,3098 -#define SMBCOM 86,3164 -#define SMBBA 87,3186 -#define SMBATPC 88,3207 -#define SMBHSTCFG 89,3267 -#define SMBSLVC 90,3291 -#define SMBCLK 91,3314 -#define SMBREV 92,3336 -#define MAX_TIMEOUT 95,3380 -#define ALI15X3_SMB_IOSIZE 96,3427 -#define ALI15X3_SMB_DEFAULTBASE 102,3639 -#define ALI15X3_LOCK 105,3711 -#define ALI15X3_ABORT 108,3771 -#define ALI15X3_T_OUT 109,3799 -#define ALI15X3_QUICK 110,3827 -#define ALI15X3_BYTE 111,3855 -#define ALI15X3_BYTE_DATA 112,3882 -#define ALI15X3_WORD_DATA 113,3913 -#define ALI15X3_BLOCK_DATA 114,3944 -#define ALI15X3_BLOCK_CLR 115,3976 -#define ALI15X3_STS_IDLE 118,4043 -#define ALI15X3_STS_BUSY 119,4073 -#define ALI15X3_STS_DONE 120,4103 -#define ALI15X3_STS_DEV 121,4133 -#define ALI15X3_STS_COLL 122,4182 -#define ALI15X3_STS_TERM 123,4243 -#define ALI15X3_STS_ERR 124,4299 -static u16 force_addr 129,4472 -static unsigned short ali15x3_smba 134,4623 -static int ali15x3_setup(136,4664 -static int ali15x3_transaction(229,7529 -static s32 ali15x3_access(342,11112 -static u32 ali15x3_func(458,14082 -static struct i2c_algorithm smbus_algorithm 465,14284 -static struct i2c_adapter ali15x3_adapter 472,14458 -static struct pci_device_id ali15x3_ids[479,14615 -static int __devinit ali15x3_probe(489,14796 -static void __devexit ali15x3_remove(505,15249 -static struct pci_driver ali15x3_driver 511,15399 -static int __init i2c_ali15x3_init(518,15567 -static void __exit i2c_ali15x3_exit(523,15655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ali1535.c,1850 -#define SMBHSTSTS 71,2703 -#define SMBHSTTYP 72,2740 -#define SMBHSTPORT 73,2777 -#define SMBHSTCMD 74,2815 -#define SMBHSTADD 75,2852 -#define SMBHSTDAT0 76,2889 -#define SMBHSTDAT1 77,2927 -#define SMBBLKDAT 78,2965 -#define SMBCOM 81,3031 -#define SMBREV 82,3053 -#define SMBCFG 83,3075 -#define SMBBA 84,3097 -#define SMBHSTCFG 85,3118 -#define SMBCLK 86,3142 -#define MAX_TIMEOUT 89,3186 -#define ALI1535_SMB_IOSIZE 90,3233 -#define ALI1535_SMB_DEFAULTBASE 92,3264 -#define ALI1535_LOCK 95,3336 -#define ALI1535_QUICK 98,3406 -#define ALI1535_BYTE 99,3434 -#define ALI1535_BYTE_DATA 100,3461 -#define ALI1535_WORD_DATA 101,3492 -#define ALI1535_BLOCK_DATA 102,3523 -#define ALI1535_I2C_READ 103,3555 -#define ALI1535_DEV10B_EN 105,3586 -#define ALI1535_T_OUT 107,3674 -#define ALI1535_A_HIGH_BIT9 108,3733 -#define ALI1535_KILL 111,3853 -#define ALI1535_A_HIGH_BIT8 112,3908 -#define ALI1535_D_HI_MASK 116,4031 -#define ALI1535_STS_IDLE 121,4195 -#define ALI1535_STS_BUSY 122,4225 -#define ALI1535_STS_DONE 123,4271 -#define ALI1535_STS_DEV 124,4328 -#define ALI1535_STS_BUSERR 125,4377 -#define ALI1535_STS_FAIL 126,4428 -#define ALI1535_STS_ERR 127,4487 -#define ALI1535_BLOCK_CLR 129,4547 -#define ALI1535_RD_ADDR 132,4651 -#define ALI1535_SMBIO_EN 136,4791 -static unsigned short ali1535_smba;139,4851 -static int ali1535_setup(146,5193 -static int ali1535_transaction(209,6930 -static s32 ali1535_access(339,11067 -u32 ali1535_func(468,14360 -static struct i2c_algorithm smbus_algorithm 475,14555 -static struct i2c_adapter ali1535_adapter 482,14729 -static struct pci_device_id ali1535_ids[489,14886 -static int __devinit ali1535_probe(499,15069 -static void __devexit ali1535_remove(515,15524 -static struct pci_driver ali1535_driver 521,15674 -static int __init i2c_ali1535_init(528,15842 -static void __exit i2c_ali1535_exit(533,15930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-i801.c,1580 -#define HAVE_PEC55,1963 -#define SMBHSTSTS 59,2021 -#define SMBHSTCNT 60,2055 -#define SMBHSTCMD 61,2089 -#define SMBHSTADD 62,2123 -#define SMBHSTDAT0 63,2157 -#define SMBHSTDAT1 64,2192 -#define SMBBLKDAT 65,2227 -#define SMBPEC 66,2261 -#define SMBAUXSTS 67,2309 -#define SMBAUXCTL 68,2360 -#define SMBBA 71,2440 -#define SMBHSTCFG 72,2461 -#define SMBREV 73,2485 -#define SMBHSTCFG_HST_EN 76,2552 -#define SMBHSTCFG_SMB_SMI_EN 77,2579 -#define SMBHSTCFG_I2C_EN 78,2610 -#define MAX_TIMEOUT 81,2659 -#define ENABLE_INT9 82,2684 -#define I801_QUICK 85,2776 -#define I801_BYTE 86,2801 -#define I801_BYTE_DATA 87,2825 -#define I801_WORD_DATA 88,2854 -#define I801_PROC_CALL 89,2883 -#define I801_BLOCK_DATA 90,2950 -#define I801_I2C_BLOCK_DATA 91,2980 -#define I801_BLOCK_LAST 92,3033 -#define I801_I2C_BLOCK_LAST 93,3063 -#define I801_START 94,3116 -#define I801_PEC_EN 95,3141 -static u16 force_addr;101,3335 -static unsigned short i801_smba;111,3641 -static struct pci_dev *I801_dev;112,3674 -static int isich4;113,3707 -static int i801_setup(115,3727 -static int i801_transaction(182,5701 -static int i801_block_transaction(253,7673 -static s32 i801_access(419,11873 -static u32 i801_func(523,14316 -static struct i2c_algorithm smbus_algorithm 536,14692 -static struct i2c_adapter i801_adapter 543,14860 -static struct pci_device_id i801_ids[550,15006 -static int __devinit i801_probe(602,16152 -static void __devexit i801_remove(619,16583 -static struct pci_driver i801_driver 625,16723 -static int __init i2c_i801_init(632,16876 -static void __exit i2c_i801_exit(637,16958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-via.c,880 -#define PM_CFG_REVID 35,1193 -#define PM_CFG_IOBASE0 36,1247 -#define PM_CFG_IOBASE1 37,1275 -#define I2C_DIR 39,1304 -#define I2C_OUT 40,1339 -#define I2C_IN 41,1374 -#define I2C_SCL 42,1408 -#define I2C_SDA 43,1469 -#define IOSPACE 46,1520 -#define IOTEXT 47,1542 -static u16 pm_io_base 49,1569 -static void bit_via_setscl(58,1909 -static void bit_via_setsda(63,2038 -static int bit_via_getscl(68,2167 -static int bit_via_getsda(73,2250 -static struct i2c_algo_bit_data bit_data 79,2334 -static struct i2c_adapter vt586b_adapter 89,2540 -static struct pci_device_id vt586b_ids[97,2696 -static struct pci_device_id vt586b_ids[] __devinitdata 97,2696 -static int __devinit vt586b_probe(102,2831 -static void __devexit vt586b_remove(152,3866 -static struct pci_driver vt586b_driver 160,4016 -static int __init i2c_vt586b_init(167,4179 -static void __exit i2c_vt586b_exit(172,4265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ibm_iic.c,1419 -#define DRIVER_VERSION 48,1314 -static int iic_force_poll;53,1423 -static int iic_force_fast;57,1546 -#define DBG_LEVEL 61,1675 -# define DBG(DBG72,1776 -# define DBG(DBG74,1840 -# define DBG2(DBG277,1897 -# define DBG2(DBG279,1939 -static void dump_iic_regs(82,1998 -# define DUMP_REGS(DUMP_REGS94,2594 -# define DUMP_REGS(DUMP_REGS96,2652 -static struct i2c_timings i2c_timings100,2739 -} timings 106,2869 -static inline void iic_interrupt_mode(125,3149 -static void iic_dev_init(133,3327 -static void iic_dev_reset(178,4364 -static int iic_dc_wait(228,5431 -static int iic_smbus_quick(239,5677 -static irqreturn_t iic_handler(324,7748 -static int iic_xfer_result(343,8330 -static void iic_abort_xfer(376,9226 -static int iic_wait_for_tc(408,10008 -static int iic_xfer_bytes(466,11295 -static inline void iic_address(525,12658 -static inline int iic_invalid_address(544,13139 -static inline int iic_address_neq(549,13283 -static int iic_xfer(560,13578 -static u32 iic_func(632,15700 -static struct i2c_algorithm iic_algo 637,15817 -static inline u8 iic_clckdiv(651,16134 -static int __devinit iic_probe(678,16821 -static void __devexit iic_remove(776,19269 -static struct ocp_device_id ibm_iic_ids[799,19858 -static struct ocp_device_id ibm_iic_ids[] __devinitdata 799,19858 -static struct ocp_driver ibm_iic_driver 807,20054 -static int __init iic_init(819,20271 -static void __exit iic_exit(825,20414 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ixp2000.c,543 -#define DEBUG 31,1140 -static inline int ixp2000_scl_pin(43,1386 -static inline int ixp2000_sda_pin(48,1488 -static void ixp2000_bit_setscl(54,1591 -static void ixp2000_bit_setsda(66,1849 -static int ixp2000_bit_getscl(75,2036 -static int ixp2000_bit_getsda(80,2129 -struct ixp2000_i2c_data ixp2000_i2c_data85,2222 -static int ixp2000_i2c_remove(91,2355 -static int ixp2000_i2c_probe(105,2652 -static struct device_driver ixp2000_i2c_driver 148,3879 -static int __init ixp2000_i2c_init(155,4050 -static void __exit ixp2000_i2c_exit(160,4142 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-sis5595.c,1519 -static int blacklist[68,1929 -#define SIS5595_EXTENT 90,2500 -#define SMB_STS_LO 92,2556 -#define SMB_STS_HI 93,2581 -#define SMB_CTL_LO 94,2606 -#define SMB_CTL_HI 95,2631 -#define SMB_ADDR 96,2656 -#define SMB_CMD 97,2679 -#define SMB_PCNT 98,2702 -#define SMB_CNT 99,2725 -#define SMB_BYTE 100,2748 -#define SMB_DEV 101,2771 -#define SMB_DB0 102,2794 -#define SMB_DB1 103,2817 -#define SMB_HAA 104,2840 -#define SMB_INDEX 107,2892 -#define SMB_DAT 108,2916 -#define SIS5595_ENABLE_REG 109,2939 -#define ACPI_BASE 110,2971 -#define MAX_TIMEOUT 113,3017 -#define SIS5595_QUICK 116,3067 -#define SIS5595_BYTE 117,3095 -#define SIS5595_BYTE_DATA 118,3122 -#define SIS5595_WORD_DATA 119,3153 -#define SIS5595_PROC_CALL 120,3184 -#define SIS5595_BLOCK_DATA 121,3215 -static u16 force_addr 127,3385 -static unsigned short sis5595_base 131,3533 -static u8 sis5595_read(133,3574 -static void sis5595_write(139,3685 -static int sis5595_setup(145,3808 -static int sis5595_transaction(218,6007 -static s32 sis5595_access(279,7719 -static u32 sis5595_func(348,9718 -static struct i2c_algorithm smbus_algorithm 355,9919 -static struct i2c_adapter sis5595_adapter 362,10093 -static struct pci_device_id sis5595_ids[369,10250 -static struct pci_device_id sis5595_ids[] __devinitdata 369,10250 -static int __devinit sis5595_probe(374,10380 -static void __devexit sis5595_remove(389,10826 -static struct pci_driver sis5595_driver 395,10971 -static int __init i2c_sis5595_init(402,11139 -static void __exit i2c_sis5595_exit(407,11227 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-parport-light.c,559 -#define DEFAULT_BASE 37,1485 -static u16 base;39,1513 -static inline void port_write(45,1686 -static inline unsigned char port_read(50,1773 -static inline void line_set(57,1934 -static inline int line_get(68,2224 -static void parport_setscl(78,2512 -static void parport_setsda(83,2613 -static int parport_getscl(88,2714 -static int parport_getsda(93,2803 -static struct i2c_algo_bit_data parport_algo_data 101,3059 -static struct i2c_adapter parport_adapter 113,3358 -static int __init i2c_parport_init(123,3638 -static void __exit i2c_parport_exit(160,4552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-rpx.c,217 -rpx_iic_init(26,682 -static int rpx_install_isr(59,1535 -static struct i2c_algo_8xx_data rpx_data 67,1739 -static struct i2c_adapter rpx_ops 71,1815 -int __init i2c_rpx_init(78,1952 -void __exit i2c_rpx_exit(93,2234 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-sis630.c,1658 -#define SMB_STS 62,1843 -#define SMB_EN 63,1879 -#define SMB_CNT 64,1921 -#define SMBHOST_CNT 65,1944 -#define SMB_ADDR 66,1970 -#define SMB_CMD 67,1993 -#define SMB_PCOUNT 68,2016 -#define SMB_COUNT 69,2063 -#define SMB_BYTE 70,2087 -#define SMBDEV_ADDR 71,2138 -#define SMB_DB0 72,2164 -#define SMB_DB1 73,2187 -#define SMB_SAA 74,2210 -#define SIS630_SMB_IOREGION 77,2274 -#define SIS630_ACPI_BASE_REG 81,2368 -#define SIS630_BIOS_CTL_REG 83,2430 -#define MAX_TIMEOUT 86,2485 -#define SIS630_QUICK 89,2534 -#define SIS630_BYTE 90,2561 -#define SIS630_BYTE_DATA 91,2587 -#define SIS630_WORD_DATA 92,2617 -#define SIS630_PCALL 93,2647 -#define SIS630_BLOCK_DATA 94,2674 -static int high_clock;97,2730 -static int force;98,2753 -static unsigned short acpi_base 105,3009 -static int supported[108,3069 -static inline u8 sis630_read(114,3175 -static inline void sis630_write(119,3247 -static int sis630_transaction_start(124,3331 -static int sis630_transaction_wait(163,4434 -static void sis630_transaction_end(200,5289 -static int sis630_transaction(219,5814 -static int sis630_block_data(233,6106 -static s32 sis630_access(314,8235 -static u32 sis630_func(382,10137 -static int sis630_setup(389,10359 -static struct i2c_algorithm smbus_algorithm 451,11992 -static struct i2c_adapter sis630_adapter 458,12164 -static struct pci_device_id sis630_ids[465,12312 -static struct pci_device_id sis630_ids[] __devinitdata 465,12312 -static int __devinit sis630_probe(471,12497 -static void __devexit sis630_remove(487,12942 -static struct pci_driver sis630_driver 497,13139 -static int __init i2c_sis630_init(504,13302 -static void __exit i2c_sis630_exit(510,13389 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-amd8111.c,2442 -struct amd_smbus amd_smbus27,674 -#define AMD_PCI_MISC 38,820 -#define AMD_PCI_MISC_SCI 40,847 -#define AMD_PCI_MISC_INT 41,895 -#define AMD_PCI_MISC_SPEEDUP 42,947 -#define AMD_EC_DATA 48,1064 -#define AMD_EC_SC 49,1109 -#define AMD_EC_CMD 50,1159 -#define AMD_EC_ICR 51,1206 -#define AMD_EC_SC_SMI 53,1264 -#define AMD_EC_SC_SCI 54,1315 -#define AMD_EC_SC_BURST 55,1366 -#define AMD_EC_SC_CMD 56,1420 -#define AMD_EC_SC_IBF 57,1481 -#define AMD_EC_SC_OBF 58,1549 -#define AMD_EC_CMD_RD 60,1603 -#define AMD_EC_CMD_WR 61,1644 -#define AMD_EC_CMD_BE 62,1686 -#define AMD_EC_CMD_BD 63,1737 -#define AMD_EC_CMD_QR 64,1789 -unsigned int amd_ec_wait_write(70,1893 -unsigned int amd_ec_wait_read(85,2177 -unsigned int amd_ec_read(100,2459 -unsigned int amd_ec_write(117,2835 -#define AMD_SMB_PRTCL 138,3270 -#define AMD_SMB_STS 139,3317 -#define AMD_SMB_ADDR 140,3355 -#define AMD_SMB_CMD 141,3395 -#define AMD_SMB_DATA 142,3434 -#define AMD_SMB_BCNT 143,3484 -#define AMD_SMB_ALRM_A 144,3537 -#define AMD_SMB_ALRM_D 145,3585 -#define AMD_SMB_STS_DONE 147,3639 -#define AMD_SMB_STS_ALRM 148,3669 -#define AMD_SMB_STS_RES 149,3699 -#define AMD_SMB_STS_STATUS 150,3729 -#define AMD_SMB_STATUS_OK 152,3762 -#define AMD_SMB_STATUS_FAIL 153,3793 -#define AMD_SMB_STATUS_DNAK 154,3826 -#define AMD_SMB_STATUS_DERR 155,3859 -#define AMD_SMB_STATUS_CMD_DENY 156,3892 -#define AMD_SMB_STATUS_UNKNOWN 157,3929 -#define AMD_SMB_STATUS_ACC_DENY 158,3965 -#define AMD_SMB_STATUS_TIMEOUT 159,4002 -#define AMD_SMB_STATUS_NOTSUP 160,4038 -#define AMD_SMB_STATUS_BUSY 161,4073 -#define AMD_SMB_STATUS_PEC 162,4106 -#define AMD_SMB_PRTCL_WRITE 164,4139 -#define AMD_SMB_PRTCL_READ 165,4173 -#define AMD_SMB_PRTCL_QUICK 166,4206 -#define AMD_SMB_PRTCL_BYTE 167,4240 -#define AMD_SMB_PRTCL_BYTE_DATA 168,4273 -#define AMD_SMB_PRTCL_WORD_DATA 169,4311 -#define AMD_SMB_PRTCL_BLOCK_DATA 170,4349 -#define AMD_SMB_PRTCL_PROC_CALL 171,4387 -#define AMD_SMB_PRTCL_BLOCK_PROC_CALL 172,4425 -#define AMD_SMB_PRTCL_I2C_BLOCK_DATA 173,4468 -#define AMD_SMB_PRTCL_PEC 174,4510 -s32 amd8111_access(177,4544 -u32 amd8111_func(318,8500 -static struct i2c_algorithm smbus_algorithm 326,8806 -static struct pci_device_id amd8111_ids[334,8983 -static int __devinit amd8111_probe(339,9095 -static void __devexit amd8111_remove(385,10262 -static struct pci_driver amd8111_driver 394,10468 -static int __init i2c_amd8111_init(401,10637 -static void __exit i2c_amd8111_exit(407,10726 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-voodoo3.c,1375 -#define REG 40,1446 -#define REG2 41,1464 -#define DDC_ENAB 44,1521 -#define DDC_SCL_OUT 45,1549 -#define DDC_SDA_OUT 46,1580 -#define DDC_SCL_IN 47,1611 -#define DDC_SDA_IN 48,1641 -#define I2C_ENAB 49,1671 -#define I2C_SCL_OUT 50,1699 -#define I2C_SDA_OUT 51,1730 -#define I2C_SCL_IN 52,1761 -#define I2C_SDA_IN 53,1791 -#define INIT2 56,1850 -#define INIT3 57,1869 -#define CYCLE_DELAY 60,1902 -#define TIMEOUT 61,1925 -static void *ioaddr;64,1953 -static void bit_vooi2c_setscl(69,2091 -static void bit_vooi2c_setsda(81,2320 -static int bit_vooi2c_getscl(97,2728 -static int bit_vooi2c_getsda(102,2825 -static void bit_vooddc_setscl(107,2922 -static void bit_vooddc_setsda(119,3151 -static int bit_vooddc_getscl(131,3380 -static int bit_vooddc_getsda(136,3477 -static int config_v3(141,3574 -static struct i2c_algo_bit_data voo_i2c_bit_data 158,3969 -static struct i2c_adapter voodoo3_i2c_adapter 168,4220 -static struct i2c_algo_bit_data voo_ddc_bit_data 175,4405 -static struct i2c_adapter voodoo3_ddc_adapter 185,4656 -static struct pci_device_id voodoo3_ids[192,4835 -static struct pci_device_id voodoo3_ids[] __devinitdata 192,4835 -static int __devinit voodoo3_probe(198,5037 -static void __devexit voodoo3_remove(219,5543 -static struct pci_driver voodoo3_driver 226,5705 -static int __init i2c_voodoo3_init(233,5873 -static void __exit i2c_voodoo3_exit(238,5961 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/scx200_acb.c,1606 -#define NAME 40,1347 -#define MAX_DEVICES 46,1515 -static int base[47,1537 -static int num_base;48,1586 -#define DBG(DBG53,1738 -#define DBG(DBG55,1793 -#define POLLED_MODE 60,1909 -#define POLL_TIMEOUT 61,1931 -enum scx200_acb_state scx200_acb_state63,1958 - state_idle,64,1982 - state_address,65,1995 - state_command,66,2011 - state_repeat_start,67,2027 - state_quick,68,2048 - state_read,69,2062 - state_write,70,2075 -static const char *scx200_acb_state_name[73,2093 -struct scx200_acb_ifacescx200_acb_iface84,2248 -#define ACBSDA 102,2550 -#define ACBST 103,2584 -#define ACBST_SDAST 104,2617 -#define ACBST_BER 105,2663 -#define ACBST_NEGACK 106,2691 -#define ACBST_STASTR 107,2748 -#define ACBST_MASTER 108,2802 -#define ACBCST 109,2832 -#define ACBCST_BB 110,2866 -#define ACBCTL1 111,2893 -#define ACBCTL1_STASTRE 112,2928 -#define ACBCTL1_NMINTE 113,2960 -#define ACBCTL1_ACK 114,2991 -#define ACBCTL1_STOP 115,3020 -#define ACBCTL1_START 116,3050 -#define ACBADDR 117,3080 -#define ACBCTL2 118,3115 -#define ACBCTL2_ENABLE 119,3150 -static void scx200_acb_machine(123,3258 -static void scx200_acb_timeout(236,5537 -static void scx200_acb_poll(247,5797 -static void scx200_acb_reset(266,6188 -static s32 scx200_acb_smbus_xfer(287,6861 -static u32 scx200_acb_func(391,9038 -static struct i2c_algorithm scx200_acb_algorithm 399,9301 -struct scx200_acb_iface *scx200_acb_list;406,9494 -int scx200_acb_probe(408,9537 -static int __init scx200_acb_create(442,10223 -static int __init scx200_acb_init(506,11609 -static void __exit scx200_acb_cleanup(532,12167 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-piix4.c,1527 -struct sd sd47,1429 -#define SMBHSTSTS 55,1577 -#define SMBHSLVSTS 56,1612 -#define SMBHSTCNT 57,1648 -#define SMBHSTCMD 58,1683 -#define SMBHSTADD 59,1718 -#define SMBHSTDAT0 60,1753 -#define SMBHSTDAT1 61,1789 -#define SMBBLKDAT 62,1825 -#define SMBSLVCNT 63,1860 -#define SMBSHDWCMD 64,1895 -#define SMBSLVEVT 65,1931 -#define SMBSLVDAT 66,1968 -#define SMBIOSIZE 69,2037 -#define SMBBA 72,2086 -#define SMBHSTCFG 73,2107 -#define SMBSLVC 74,2131 -#define SMBSHDW1 75,2154 -#define SMBSHDW2 76,2177 -#define SMBREV 77,2200 -#define MAX_TIMEOUT 80,2244 -#define ENABLE_INT9 81,2268 -#define PIIX4_QUICK 84,2314 -#define PIIX4_BYTE 85,2340 -#define PIIX4_BYTE_DATA 86,2365 -#define PIIX4_WORD_DATA 87,2395 -#define PIIX4_BLOCK_DATA 88,2425 -static int force 94,2577 -static int force_addr 100,2823 -static int fix_hstcfg 108,3108 -static unsigned short piix4_smba 115,3303 -static struct i2c_adapter piix4_adapter;116,3341 -static struct dmi_system_id __devinitdata piix4_dmi_table[118,3383 -static int __devinit piix4_setup(126,3534 -static int piix4_transaction(233,6920 -static s32 piix4_access(304,8890 -static u32 piix4_func(395,11285 -static struct i2c_algorithm smbus_algorithm 402,11485 -static struct i2c_adapter piix4_adapter 409,11655 -static struct pci_device_id piix4_ids[416,11802 -static int __devinit piix4_probe(462,12819 -static void __devexit piix4_remove(486,13363 -static struct pci_driver piix4_driver 495,13540 -static int __init i2c_piix4_init(502,13698 -static void __exit i2c_piix4_exit(507,13782 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ibm_iic.h,1574 -#define __I2C_IBM_IIC_H_23,703 -struct iic_regs iic_regs28,780 -struct ibm_iic_private ibm_iic_private46,979 -#define CNTL_HMT 57,1166 -#define CNTL_AMD 58,1188 -#define CNTL_TCT_MASK 59,1210 -#define CNTL_TCT_SHIFT 60,1237 -#define CNTL_RPST 61,1262 -#define CNTL_CHT 62,1285 -#define CNTL_RW 63,1308 -#define CNTL_PT 64,1330 -#define MDCNTL_FSDB 67,1380 -#define MDCNTL_FMDB 68,1405 -#define MDCNTL_EGC 69,1430 -#define MDCNTL_FSM 70,1454 -#define MDCNTL_ESM 71,1478 -#define MDCNTL_EINT 72,1502 -#define MDCNTL_EUBS 73,1527 -#define MDCNTL_HSCL 74,1552 -#define STS_SSS 77,1602 -#define STS_SLPR 78,1624 -#define STS_MDBS 79,1646 -#define STS_MDBF 80,1668 -#define STS_SCMP 81,1690 -#define STS_ERR 82,1712 -#define STS_IRQA 83,1734 -#define STS_PT 84,1756 -#define EXTSTS_IRQP 87,1805 -#define EXTSTS_BCS_MASK 88,1830 -#define EXTSTS_BCS_FREE 89,1859 -#define EXTSTS_IRQD 90,1891 -#define EXTSTS_LA 91,1916 -#define EXTSTS_ICT 92,1939 -#define EXTSTS_XFRA 93,1963 -#define INTRMSK_EIRC 96,2017 -#define INTRMSK_EIRS 97,2043 -#define INTRMSK_EIWC 98,2069 -#define INTRMSK_EIWS 99,2095 -#define INTRMSK_EIHE 100,2121 -#define INTRMSK_EIIC 101,2147 -#define INTRMSK_EITA 102,2173 -#define INTRMSK_EIMTC 103,2199 -#define XFRCNT_MTC_MASK 106,2254 -#define XTCNTLSS_SRC 109,2313 -#define XTCNTLSS_SRS 110,2339 -#define XTCNTLSS_SWC 111,2365 -#define XTCNTLSS_SWS 112,2391 -#define XTCNTLSS_SRST 113,2417 -#define DIRCNTL_SDAC 116,2476 -#define DIRCNTL_SCC 117,2502 -#define DIRCNTL_MSDA 118,2527 -#define DIRCNTL_MSC 119,2553 -#define DIRCTNL_FREE(DIRCTNL_FREE122,2640 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-nforce2.c,1584 -#define PCI_DEVICE_ID_NVIDIA_NFORCE2_SMBUS 53,1631 -struct nforce2_smbus nforce2_smbus57,1692 -#define NFORCE_PCI_SMB1 68,1853 -#define NFORCE_PCI_SMB2 69,1882 -#define NVIDIA_SMB_PRTCL 75,1971 -#define NVIDIA_SMB_STS 76,2037 -#define NVIDIA_SMB_ADDR 77,2095 -#define NVIDIA_SMB_CMD 78,2155 -#define NVIDIA_SMB_DATA 79,2214 -#define NVIDIA_SMB_BCNT 80,2284 -#define NVIDIA_SMB_ALRM_A 81,2357 -#define NVIDIA_SMB_ALRM_D 82,2424 -#define NVIDIA_SMB_STS_DONE 84,2497 -#define NVIDIA_SMB_STS_ALRM 85,2530 -#define NVIDIA_SMB_STS_RES 86,2563 -#define NVIDIA_SMB_STS_STATUS 87,2595 -#define NVIDIA_SMB_PRTCL_WRITE 89,2631 -#define NVIDIA_SMB_PRTCL_READ 90,2669 -#define NVIDIA_SMB_PRTCL_QUICK 91,2706 -#define NVIDIA_SMB_PRTCL_BYTE 92,2744 -#define NVIDIA_SMB_PRTCL_BYTE_DATA 93,2781 -#define NVIDIA_SMB_PRTCL_WORD_DATA 94,2822 -#define NVIDIA_SMB_PRTCL_BLOCK_DATA 95,2863 -#define NVIDIA_SMB_PRTCL_PROC_CALL 96,2905 -#define NVIDIA_SMB_PRTCL_BLOCK_PROC_CALL 97,2946 -#define NVIDIA_SMB_PRTCL_I2C_BLOCK_DATA 98,2992 -#define NVIDIA_SMB_PRTCL_PEC 99,3038 -#define MAX_TIMEOUT 103,3097 -static struct i2c_algorithm smbus_algorithm 113,3350 -static struct i2c_adapter nforce2_adapter 120,3522 -static s32 nforce2_access(128,3757 -static u32 nforce2_func(285,7898 -static struct pci_device_id nforce2_ids[294,8171 -static int __devinit nforce2_probe_smb 301,8334 -static int __devinit nforce2_probe(337,9401 -static void __devexit nforce2_remove(370,10324 -static struct pci_driver nforce2_driver 385,10706 -static int __init nforce2_init(392,10874 -static void __exit nforce2_exit(397,10958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-hydra.c,835 -#define HYDRA_CPD_PD0 38,1287 -#define HYDRA_CPD_PD1 39,1340 -#define HYDRA_CPD_PD2 40,1373 -#define HYDRA_CPD_PD3 41,1406 -#define HYDRA_SCLK 43,1440 -#define HYDRA_SDAT 44,1473 -#define HYDRA_SCLK_OE 45,1506 -#define HYDRA_SDAT_OE 46,1539 -static inline void pdregw(48,1573 -static inline u32 pdregr(54,1701 -static void hydra_bit_setscl(60,1820 -static void hydra_bit_setsda(72,2016 -static int hydra_bit_getscl(84,2212 -static int hydra_bit_getsda(89,2299 -static struct i2c_algo_bit_data hydra_bit_data 96,2466 -static struct i2c_adapter hydra_adap 106,2686 -static struct pci_device_id hydra_ids[113,2833 -static int __devinit hydra_probe(123,3024 -static void __devexit hydra_remove(150,3750 -static struct pci_driver hydra_driver 160,4031 -static int __init i2c_hydra_init(167,4189 -static void __exit i2c_hydra_exit(173,4274 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-frodo.c,316 -static void frodo_setsda 25,598 -static void frodo_setscl 33,748 -static int frodo_getsda 41,898 -static int frodo_getscl 46,992 -static struct i2c_algo_bit_data bit_frodo_data 51,1086 -static struct i2c_adapter frodo_ops 61,1292 -static int __init i2c_frodo_init 70,1469 -static void __exit i2c_frodo_exit 75,1551 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-elektor.c,684 -#define DEFAULT_BASE 47,1728 -static int base;49,1756 -static int irq;50,1773 -static int clock 51,1789 -static int own 52,1815 -static int mmapped;53,1841 -static wait_queue_head_t pcf_wait;60,2141 -static int pcf_pending;61,2176 -static void pcf_isa_setbyte(65,2277 -static int pcf_isa_getbyte(90,2859 -static int pcf_isa_getown(100,3081 -static int pcf_isa_getclock(106,3140 -static void pcf_isa_waitforpin(111,3202 -static irqreturn_t pcf_isa_handler(128,3441 -static int pcf_isa_init(135,3606 -static struct i2c_algo_pcf_data pcf_isa_data 159,4276 -static struct i2c_adapter pcf_isa_ops 170,4550 -static int __init i2c_pcfisa_init(177,4705 -static void i2c_pcfisa_exit(255,7033 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-savage4.c,1453 -#define PCI_CHIP_SAVAGE3D 42,1481 -#define PCI_CHIP_SAVAGE3D_MV 43,1514 -#define PCI_CHIP_SAVAGE4 44,1550 -#define PCI_CHIP_SAVAGE2000 45,1582 -#define PCI_CHIP_PROSAVAGE_PM 46,1617 -#define PCI_CHIP_PROSAVAGE_KM 47,1654 -#define PCI_CHIP_SAVAGE_MX_MV 48,1691 -#define PCI_CHIP_SAVAGE_MX 49,1728 -#define PCI_CHIP_SAVAGE_IX_MV 50,1762 -#define PCI_CHIP_SAVAGE_IX 51,1799 -#define REG 53,1834 -#define DDC_ENAB 56,1921 -#define DDC_SCL_OUT 57,1950 -#define DDC_SDA_OUT 58,1982 -#define DDC_SCL_IN 59,2014 -#define DDC_SDA_IN 60,2045 -#define I2C_ENAB 61,2076 -#define I2C_SCL_OUT 62,2105 -#define I2C_SDA_OUT 63,2137 -#define I2C_SCL_IN 64,2169 -#define I2C_SDA_IN 65,2200 -#define INIT2 68,2260 -#define INIT3 69,2281 -#define CYCLE_DELAY 72,2316 -#define TIMEOUT 73,2340 -static void *ioaddr;76,2369 -static void bit_savi2c_setscl(81,2507 -static void bit_savi2c_setsda(93,2735 -static int bit_savi2c_getscl(109,3142 -static int bit_savi2c_getsda(114,3239 -static int config_s4(121,3363 -static struct i2c_algo_bit_data sav_i2c_bit_data 138,3740 -static struct i2c_adapter savage4_i2c_adapter 148,3991 -static struct pci_device_id savage4_ids[154,4135 -static struct pci_device_id savage4_ids[] __devinitdata 154,4135 -static int __devinit savage4_probe(160,4316 -static void __devexit savage4_remove(174,4626 -static struct pci_driver savage4_driver 180,4747 -static int __init i2c_savage4_init(187,4915 -static void __exit i2c_savage4_exit(192,5003 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-keywest.h,1379 -#define __I2C_KEYWEST_H__2,26 -#define POLL_TIMEOUT 5,116 - reg_mode 9,184 - reg_control,10,199 - reg_status,11,213 - reg_isr,12,226 - reg_ier,13,236 - reg_addr,14,246 - reg_subaddr,15,257 - reg_data16,271 -} reg_t;reg_t17,281 -#define KW_I2C_MODE_100KHZ 21,312 -#define KW_I2C_MODE_50KHZ 22,344 -#define KW_I2C_MODE_25KHZ 23,375 -#define KW_I2C_MODE_DUMB 24,406 -#define KW_I2C_MODE_STANDARD 25,436 -#define KW_I2C_MODE_STANDARDSUB 26,470 -#define KW_I2C_MODE_COMBINED 27,507 -#define KW_I2C_MODE_MODE_MASK 28,541 -#define KW_I2C_MODE_CHAN_MASK 29,576 -#define KW_I2C_CTL_AAK 32,635 -#define KW_I2C_CTL_XADDR 33,664 -#define KW_I2C_CTL_STOP 34,694 -#define KW_I2C_CTL_START 35,724 -#define KW_I2C_STAT_BUSY 38,777 -#define KW_I2C_STAT_LAST_AAK 39,807 -#define KW_I2C_STAT_LAST_RW 40,841 -#define KW_I2C_STAT_SDA 41,874 -#define KW_I2C_STAT_SCL 42,904 -#define KW_I2C_IRQ_DATA 45,961 -#define KW_I2C_IRQ_ADDR 46,991 -#define KW_I2C_IRQ_STOP 47,1021 -#define KW_I2C_IRQ_START 48,1051 -#define KW_I2C_IRQ_MASK 49,1081 -struct keywest_ifacekeywest_iface52,1137 - state_idle,72,1486 - state_addr,73,1499 - state_read,74,1512 - state_write,75,1525 - state_stop,76,1539 - state_dead77,1552 -struct keywest_chankeywest_chan81,1598 -static inline u8 __read_reg(90,1726 -static inline void __write_reg(96,1882 -#define write_reg(write_reg103,2087 -#define read_reg(read_reg104,2145 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-sis96x.c,1351 -#define SIS96x_VERSION 52,1724 -#define PCI_DEVICE_ID_SI_SMBUS 55,1789 -#define SIS96x_BAR 58,1874 -#define SMB_STS 61,1928 -#define SMB_EN 62,1954 -#define SMB_CNT 63,1980 -#define SMB_HOST_CNT 64,2006 -#define SMB_ADDR 65,2032 -#define SMB_CMD 66,2058 -#define SMB_PCOUNT 67,2084 -#define SMB_COUNT 68,2110 -#define SMB_BYTE 69,2136 -#define SMB_DEV_ADDR 70,2162 -#define SMB_DB0 71,2188 -#define SMB_DB1 72,2214 -#define SMB_SAA 73,2240 -#define SMB_IOSIZE 76,2307 -#define MAX_TIMEOUT 79,2353 -#define SIS96x_QUICK 82,2407 -#define SIS96x_BYTE 83,2438 -#define SIS96x_BYTE_DATA 84,2469 -#define SIS96x_WORD_DATA 85,2500 -#define SIS96x_PROC_CALL 86,2531 -#define SIS96x_BLOCK_DATA 87,2562 -static struct i2c_adapter sis96x_adapter;89,2594 -static u16 sis96x_smbus_base 90,2636 -static inline u8 sis96x_read(92,2671 -static inline void sis96x_write(97,2752 -static int sis96x_transaction(105,2935 -static s32 sis96x_access(176,4713 -static u32 sis96x_func(248,6482 -static struct i2c_algorithm smbus_algorithm 255,6682 -static struct i2c_adapter sis96x_adapter 262,6854 -static struct pci_device_id sis96x_ids[269,7002 -static int __devinit sis96x_probe(281,7188 -static void __devexit sis96x_remove(332,8577 -static struct pci_driver sis96x_driver 341,8778 -static int __init i2c_sis96x_init(348,8941 -static void __exit i2c_sis96x_exit(354,9089 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/busses/i2c-ali1563.c,1671 -#define ALI1563_MAX_TIMEOUT 24,678 -#define ALI1563_SMBBA 25,710 -#define ALI1563_SMB_IOEN 26,738 -#define ALI1563_SMB_HOSTEN 27,765 -#define ALI1563_SMB_IOSIZE 28,794 -#define SMB_HST_STS 30,825 -#define SMB_HST_CNTL1 31,864 -#define SMB_HST_CNTL2 32,905 -#define SMB_HST_CMD 33,946 -#define SMB_HST_ADD 34,985 -#define SMB_HST_DAT0 35,1024 -#define SMB_HST_DAT1 36,1064 -#define SMB_BLK_DAT 37,1104 -#define HST_STS_BUSY 39,1144 -#define HST_STS_INTR 40,1170 -#define HST_STS_DEVERR 41,1196 -#define HST_STS_BUSERR 42,1224 -#define HST_STS_FAIL 43,1252 -#define HST_STS_DONE 44,1278 -#define HST_STS_BAD 45,1304 -#define HST_CNTL1_TIMEOUT 48,1331 -#define HST_CNTL1_LAST 49,1362 -#define HST_CNTL2_KILL 51,1392 -#define HST_CNTL2_START 52,1421 -#define HST_CNTL2_QUICK 53,1451 -#define HST_CNTL2_BYTE 54,1481 -#define HST_CNTL2_BYTE_DATA 55,1510 -#define HST_CNTL2_WORD_DATA 56,1543 -#define HST_CNTL2_BLOCK 57,1576 -static unsigned short ali1563_smba;61,1609 -static int ali1563_transaction(63,1646 -static int ali1563_block_start(113,3280 -static int ali1563_block(161,4830 -static s32 ali1563_access(205,5749 -static u32 ali1563_func(292,7787 -static void ali1563_enable(300,7985 -static int __init ali1563_setup(309,8161 -static void ali1563_shutdown(347,9133 -static struct i2c_algorithm ali1563_algorithm 352,9238 -static struct i2c_adapter ali1563_adapter 359,9414 -static int __init ali1563_probe(365,9543 -static void __exit ali1563_remove(381,9970 -static struct pci_device_id __devinitdata ali1563_id_table[387,10091 -static struct pci_driver ali1563_pci_driver 397,10294 -static int __init ali1563_init(404,10458 -static void __exit ali1563_exit(411,10574 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/i2c-dev.c,1191 -static struct i2c_client i2cdev_client_template;44,1578 -struct i2c_dev i2c_dev46,1628 -#define to_i2c_dev(to_i2c_dev52,1797 -#define I2C_MINORS 54,1863 -static struct i2c_dev *i2c_dev_array[55,1886 -static spinlock_t i2c_dev_array_lock 56,1936 -struct i2c_dev *i2c_dev_get_by_minor(58,1996 -struct i2c_dev *i2c_dev_get_by_adapter(68,2199 -static struct i2c_dev *get_free_i2c_dev(80,2505 -static void return_i2c_dev(104,3104 -static ssize_t show_dev(111,3268 -static ssize_t show_adapter_name(118,3506 -static ssize_t i2cdev_read 125,3754 -static ssize_t i2cdev_write 150,4307 -int i2cdev_ioctl 176,4876 -static int i2cdev_open(373,10488 -static int i2cdev_release(402,11118 -static struct file_operations i2cdev_fops 413,11330 -static void release_i2c_dev(423,11551 -static struct class i2c_dev_class i2c_dev_class429,11685 -static int i2cdev_attach_adapter(434,11778 -static int i2cdev_detach_adapter(467,12770 -static int i2cdev_detach_client(486,13207 -static int i2cdev_command(491,13282 -static struct i2c_driver i2cdev_driver 497,13408 -static struct i2c_client i2cdev_client_template 508,13710 -static int __init i2c_dev_init(515,13847 -static void __exit i2c_dev_exit(546,14402 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/i2c/i2c-sensor-detect.c,24 -int i2c_detect(36,1290 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/68328serial.h,1176 -#define _MC683XX_SERIAL_H12,431 -struct serial_struct serial_struct16,485 -#define S_CLOSING_WAIT_INF 37,1001 -#define S_CLOSING_WAIT_NONE 38,1030 -#define S_HUP_NOTIFY 43,1132 -#define S_FOURPORT 45,1229 -#define S_SAK 46,1302 -#define S_SPLIT_TERMIOS 47,1364 -#define S_SPD_MASK 49,1438 -#define S_SPD_HI 50,1464 -#define S_SPD_VHI 52,1526 -#define S_SPD_CUST 53,1590 -#define S_SKIP_TEST 55,1651 -#define S_AUTO_IRQ 56,1724 -#define S_SESSION_LOCKOUT 57,1799 -#define S_PGRP_LOCKOUT 58,1874 -#define S_CALLOUT_NOHUP 59,1946 -#define S_FLAGS 61,2018 -#define S_USR_MASK 62,2070 -#define S_INITIALIZED 66,2223 -#define S_CALLOUT_ACTIVE 67,2290 -#define S_NORMAL_ACTIVE 68,2358 -#define S_BOOT_AUTOCONF 69,2423 -#define S_CLOSING 70,2493 -#define S_CTS_FLOW 71,2552 -#define S_CHECK_CD 72,2609 -#define USTCNT_TX_INTR_MASK 86,3156 -#define USTCNT_RX_INTR_MASK 109,4124 -#define USTCNT_RX_INTR_MASK 111,4209 -struct m68k_serial m68k_serial126,4551 -#define SERIAL_MAGIC 169,5684 -#define SERIAL_XMIT_SIZE 174,5783 -#define RS_EVENT_WRITE_WAKEUP 180,5930 -#define NR_PORTS 186,6061 -#define UART_IRQ_DEFNS 187,6080 -#define NR_PORTS 189,6124 -#define UART_IRQ_DEFNS 190,6143 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/68328serial.c,2875 -#define USE_INTS66,1950 -static struct m68k_serial m68k_soft[69,1975 -struct m68k_serial *IRQ_ports[70,2022 -static unsigned int uart_irqs[72,2063 -m68328_uart *uart_addr 75,2168 -struct tty_struct m68k_ttys;77,2222 -struct m68k_serial *m68k_consinfo 78,2251 -#define M68K_CLOCK 80,2291 -struct tty_driver *serial_driver;86,2428 -#define SERIAL_TYPE_NORMAL 89,2496 -#define WAKEUP_CHARS 92,2597 -#define RS_ISR_PASS_LIMIT 101,2791 -#define _INLINE_ 103,2822 -#define CONSOLE_BAUD_RATE 112,3063 -#define DEFAULT_CBAUD 113,3096 - #define CONSOLE_BAUD_RATE 118,3249 - #define DEFAULT_CBAUD 119,3282 -#define CONSOLE_BAUD_RATE 125,3368 -#define DEFAULT_CBAUD 126,3399 -static int m68328_console_initted 130,3437 -static int m68328_console_baud 131,3476 -static int m68328_console_cbaud 132,3531 -static unsigned char tmp_buf[144,4061 -static inline int serial_paranoia_check(147,4161 -static int baud_table[171,4707 -#define BAUD_TABLE_SIZE 175,4843 -static inline void m68k_rtsdtr(178,4962 -static inline int get_baud(189,5134 -static void rs_stop(207,5699 -static void rs_put_char(221,6033 -static void rs_start(237,6304 -static void batten_down_hatches(260,6904 -static _INLINE_ void status_handle(265,6977 -static _INLINE_ void receive_chars(292,7720 -static _INLINE_ void transmit_chars(364,9363 -irqreturn_t rs_interrupt(403,10253 -static void do_softint(428,10737 -static void do_serial_hangup(452,11284 -static int startup(465,11479 -static void shutdown(520,12695 - hw_baud_table[547,13222 - hw_baud_table[568,13618 -static void change_speed(595,14480 -static void rs_fair_output(651,15640 -void console_print_68328(685,16326 -static void rs_set_ldisc(701,16570 -static void rs_flush_chars(713,16896 -static int rs_write(760,17876 -static int rs_write_room(827,19495 -static int rs_chars_in_buffer(840,19790 -static void rs_flush_buffer(849,20025 -static void rs_throttle(869,20590 -static void rs_unthrottle(882,20880 -static int get_serial_info(905,21389 -static int set_serial_info(926,21913 -static int get_lsr_info(981,23570 -static void send_break(1002,23987 -static int rs_ioctl(1019,24424 -static void rs_set_termios(1097,26545 -static void rs_close(1124,27317 -void rs_hangup(1213,29748 -static int block_til_ready(1234,30261 -int rs_open(1325,32412 -static void show_serial_version(1356,32983 -static struct pm_dev *serial_pm[1368,33364 -static int serial_pm_callback(1370,33408 -void shutdown_console(1393,33797 -void startup_console(1406,33991 -static struct tty_operations rs_ops 1414,34090 -rs68328_init(1434,34573 -int register_serial(1521,36981 -void unregister_serial(1526,37045 -static void m68328_set_baud(1535,37123 -int m68328_console_setup(1563,37780 -static struct tty_driver *m68328_console_device(1591,38270 -void m68328_console_write 1598,38398 -static struct console m68328_driver 1611,38660 -static int __init m68328_console_init(1621,38867 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/68360serial.c,3898 -#define CONFIG_SERIAL_CONSOLE_PORT 59,1811 -#define CONFIG_SERIAL_CONSOLE_PORT 67,1979 -#define TX_WAKEUP 71,2025 -static char *serial_name 73,2060 -static char *serial_version 74,2106 -static struct tty_driver *serial_driver;76,2145 -#define SERIAL_PARANOIA_CHECK82,2326 -#define CONFIG_SERIAL_NOPAUSE_IO83,2356 -#define SERIAL_DO_RESTART84,2389 -#define _INLINE_ 93,2563 -#define DBG_CNT(DBG_CNT95,2590 -#define smc_scc_num 108,3225 -#define NUM_IS_SCC 109,3250 -#define PORT_NUM(PORT_NUM110,3287 -#define SIPEX_MODE(SIPEX_MODE123,3561 -static uint sipex_mode_bits 125,3613 -struct async_icount_24 async_icount_24138,3888 -} icount;142,4010 -struct serial_state serial_state147,4035 -#define SSTATE_MAGIC 170,4678 -#define USE_SMC2 178,4923 -#define SCC_NUM_BASE 182,4984 -#define SCC_IDX_BASE 190,5381 -static struct serial_state rs_table[201,5801 -#define NR_PORTS 215,6388 -#define RX_NUM_FIFO 219,6510 -#define RX_BUF_SIZE 220,6532 -#define TX_NUM_FIFO 221,6555 -#define TX_BUF_SIZE 222,6577 -#define CONSOLE_NUM_FIFO 224,6601 -#define CONSOLE_BUF_SIZE 225,6628 -char *console_fifos[227,6656 -typedef struct serial_info serial_info232,6816 -} ser_info_t;ser_info_t264,7568 -static ser_info_t quicc_ser_info[268,7669 -static char rx_buf_pool[269,7714 -static char tx_buf_pool[270,7777 -static inline int serial_paranoia_check(275,7959 -static int baud_table[301,8636 - #define CONSOLE_BAUDRATE 307,8862 - #define CONSOLE_BAUDRATE 309,8930 - #define CONSOLE_BAUDRATE 311,9000 - #define CONSOLE_BAUDRATE 314,9081 -static void rs_360_stop(325,9421 -static void rs_360_start(350,10015 -static _INLINE_ void receive_chars(394,11408 -static _INLINE_ void receive_break(536,14931 -static _INLINE_ void transmit_chars(553,15366 -static _INLINE_ void check_modem_status(569,15687 -static void rs_360_interrupt(642,17620 -static void do_softint(694,18809 -static void do_serial_hangup(717,19332 -static int startup(730,19531 -static void shutdown(825,21838 -static void change_speed(882,23221 -#define RELEVANT_IFLAG(RELEVANT_IFLAG964,25172 -static void rs_360_put_char(1020,26810 -static int rs_360_write(1050,27356 -static int rs_360_write_room(1111,28422 -static int rs_360_chars_in_buffer(1132,28848 -static void rs_360_flush_buffer(1141,29058 -static void rs_360_send_xchar(1159,29475 -static void rs_360_throttle(1194,30263 -static void rs_360_unthrottle(1220,30837 -static int get_lsr_info(1265,32099 -static int rs_360_tiocmget(1278,32399 -static int rs_360_tiocmset(1309,33276 -static ushort smc_chan_map[1354,34414 -static ushort scc_chan_map[1359,34484 -static void begin_break(1366,34588 -static void end_break(1384,34942 -static void send_break(1405,35361 -static int rs_360_ioctl(1420,35704 -static void rs_360_set_termios(1562,39803 -static void rs_360_close(1627,41698 -static void rs_360_wait_until_sent(1731,44655 -static void rs_360_hangup(1800,46698 -static int block_til_ready(1824,47280 -static int get_async_struct(1937,50192 -static int rs_360_open(1958,50688 -static inline int line_info(2004,51575 -int rs_360_read_proc(2083,53482 -static _INLINE_ void show_serial_version(2120,54422 -static void my_console_write(2139,54961 -static void serial_console_write(2230,57032 -xmon_360_write(2265,57563 -putDebugChar(2274,57693 -static int my_console_wait_key(2284,57877 -static int serial_console_wait_key(2349,59220 -xmon_360_read_poll(2356,59353 -xmon_360_read_char(2362,59429 -static char kgdb_buf[2369,59527 -static char kgdb_buf[RX_BUF_SIZE], *kgdp;2369,59527 -static int kgdb_chars;2370,59569 -getDebugChar(2373,59607 -void kgdb_interruptible(2384,59763 -void kgdb_map_scc(2387,59802 -static struct tty_struct *serial_console_device(2429,60961 -struct console sercons 2436,61089 -long console_360_init(2451,61382 -static int baud_idx;2463,61664 -static struct tty_operations rs_360_ops 2465,61686 -int rs_360_init(2489,62392 -int serial_console_setup(2850,72853 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/amba-pl011.c,1797 -#define SUPPORT_SYSRQ50,1789 -#define UART_NR 57,1890 -#define SERIAL_AMBA_MAJOR 59,1912 -#define SERIAL_AMBA_MINOR 60,1942 -#define SERIAL_AMBA_NR 61,1971 -#define AMBA_ISR_PASS_LIMIT 63,2004 -#define UART_DUMMY_RSR_RX 65,2037 -struct uart_amba_port uart_amba_port70,2135 -static void pl011_stop_tx(77,2273 -static void pl011_start_tx(85,2492 -static void pl011_stop_rx(93,2712 -static void pl011_enable_ms(102,2983 -pl011_rx_chars(112,3259 -static void pl011_tx_chars(190,5363 -static void pl011_modem_status(222,6133 -static irqreturn_t pl011_int(246,6686 -static unsigned int pl01x_tx_empty(286,7603 -static unsigned int pl01x_get_mctrl(293,7861 -#define BIT(BIT299,8073 -static void pl011_set_mctrl(311,8316 -#define BIT(BIT318,8516 -static void pl011_break_ctl(334,8855 -static int pl011_startup(350,9316 -static void pl011_shutdown(411,10772 -pl011_set_termios(449,11573 -static const char *pl011_type(543,13973 -static void pl010_release_port(551,14147 -static int pl010_request_port(559,14310 -static void pl010_config_port(568,14501 -static int pl010_verify_port(579,14719 -static struct uart_ops amba_pl011_pops 591,15010 -static struct uart_amba_port *amba_ports[610,15550 -pl011_console_write_char(615,15662 -pl011_console_write(626,15902 -pl011_console_get_options(664,16788 -static int __init pl011_console_setup(692,17417 -static struct console amba_console 720,18116 -#define AMBA_CONSOLE 730,18340 -#define AMBA_CONSOLE 732,18383 -static struct uart_driver amba_reg 735,18417 -static int pl011_probe(745,18641 -static int pl011_remove(812,19893 -static struct amba_id pl011_ids[832,20282 -static struct amba_id pl011_ids[] __initdata 832,20282 -static struct amba_driver pl011_driver 840,20395 -static int __init pl011_init(849,20554 -static void __exit pl011_exit(863,20827 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/pxa.c,1769 -#define SUPPORT_SYSRQ46,1553 -struct uart_pxa_port uart_pxa_port52,1616 -static inline unsigned int serial_in(62,1841 -static inline void serial_out(68,1978 -static void serial_pxa_enable_ms(74,2120 -static void serial_pxa_stop_tx(82,2303 -static void serial_pxa_stop_rx(92,2546 -receive_chars(102,2792 -static void transmit_chars(193,5386 -static void serial_pxa_start_tx(226,6123 -static inline void check_modem_status(236,6370 -serial_pxa_irq(261,6962 -static unsigned int serial_pxa_tx_empty(278,7374 -static unsigned int serial_pxa_get_mctrl(291,7715 -static void serial_pxa_set_mctrl(315,8291 -static void serial_pxa_break_ctl(336,8748 -static void serial_pxa_dma_init(351,9126 -static int serial_pxa_startup(375,9615 -static void serial_pxa_shutdown(436,11116 -serial_pxa_set_termios(465,11816 -serial_pxa_pm(572,14523 -static void serial_pxa_release_port(581,14733 -static int serial_pxa_request_port(585,14798 -static void serial_pxa_config_port(590,14873 -serial_pxa_verify_port(597,15044 -serial_pxa_type(604,15221 -#define BOTH_EMPTY 615,15467 -static inline void wait_for_xmitr(620,15578 -serial_pxa_console_write(652,16314 -serial_pxa_console_setup(690,17048 -static struct console serial_pxa_console 708,17470 -serial_pxa_console_init(719,17732 -#define PXA_CONSOLE 727,17862 -#define PXA_CONSOLE 729,17908 -struct uart_ops serial_pxa_pops 732,17941 -static struct uart_pxa_port serial_pxa_ports[752,18577 -static struct uart_driver serial_pxa_reg 798,19500 -static int serial_pxa_suspend(809,19745 -static int serial_pxa_resume(819,20017 -static int serial_pxa_probe(829,20274 -static int serial_pxa_remove(839,20563 -static struct device_driver serial_pxa_driver 851,20783 -int __init serial_pxa_init(861,21077 -void __exit serial_pxa_exit(876,21318 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/dz.h,1739 -#define DZ_SERIAL_H11,218 -#define DZ_TRDY 16,298 -#define DZ_TIE 17,368 -#define DZ_RDONE 18,449 -#define DZ_RIE 19,521 -#define DZ_MSE 20,598 -#define DZ_CLR 21,669 -#define DZ_MAINT 22,734 -#define DZ_RBUF_MASK 27,850 -#define DZ_LINE_MASK 28,934 -#define DZ_DVAL 29,1018 -#define DZ_OERR 30,1091 -#define DZ_FERR 31,1167 -#define DZ_PERR 32,1241 -#define LINE(LINE34,1317 -#define UCHAR(UCHAR35,1411 -#define DZ_LINE_KEYBOARD 40,1512 -#define DZ_LINE_MOUSE 41,1544 -#define DZ_LINE_MODEM 42,1576 -#define DZ_LINE_PRINTER 43,1608 -#define DZ_MODEM_DTR 45,1641 -#define DZ_MODEM_DSR 50,1774 -#define DZ_BRK0 55,1908 -#define DZ_BRK1 56,1987 -#define DZ_BRK2 57,2066 -#define DZ_BRK3 58,2145 -#define DZ_KEYBOARD 63,2280 -#define DZ_MOUSE 64,2350 -#define DZ_MODEM 65,2417 -#define DZ_PRINTER 66,2484 -#define DZ_CSIZE 68,2554 -#define DZ_CS5 69,2637 -#define DZ_CS6 70,2705 -#define DZ_CS7 71,2773 -#define DZ_CS8 72,2841 -#define DZ_CSTOPB 74,2910 -#define DZ_PARENB 76,2991 -#define DZ_PARODD 77,3057 -#define DZ_CBAUD 79,3137 -#define DZ_B50 80,3206 -#define DZ_B75 81,3238 -#define DZ_B110 82,3270 -#define DZ_B134 83,3302 -#define DZ_B150 84,3334 -#define DZ_B300 85,3366 -#define DZ_B600 86,3398 -#define DZ_B1200 87,3430 -#define DZ_B1800 88,3463 -#define DZ_B2000 89,3495 -#define DZ_B2400 90,3527 -#define DZ_B3600 91,3559 -#define DZ_B4800 92,3591 -#define DZ_B7200 93,3623 -#define DZ_B9600 94,3655 -#define DZ_CREAD 96,3688 -#define DZ_RXENAB 97,3756 -#define DZ_CSR 101,3869 -#define DZ_RBUF 102,3940 -#define DZ_LPR 103,3998 -#define DZ_TCR 104,4066 -#define DZ_MSR 105,4138 -#define DZ_TDR 106,4203 -#define DZ_NB_PORT 108,4270 -#define DZ_XMIT_SIZE 110,4292 -#define DZ_WAKEUP_CHARS 111,4354 -int init_module 114,4410 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sn_console.c,2580 -#define SN_SAL_MAX_CHARS 58,2051 -#define SN_SAL_BUFFER_SIZE 62,2210 -#define SN_SAL_UART_FIFO_DEPTH 64,2255 -#define SN_SAL_UART_FIFO_SPEED_CPS 65,2289 -#define TRANSMIT_BUFFERED 68,2372 -#define TRANSMIT_RAW 69,2400 -#define USE_DYNAMIC_MINOR 74,2597 -#define DEVICE_NAME 77,2704 -#define DEVICE_NAME_DYNAMIC 78,2732 -#define DEVICE_MAJOR 80,2874 -#define DEVICE_MINOR 81,2899 -static char sysrq_serial_str[84,2950 -static char *sysrq_serial_ptr 85,2992 -static unsigned long sysrq_requested;86,3042 -struct sn_cons_port sn_cons_port92,3166 - struct sn_sal_ops sn_sal_ops95,3244 -static struct sn_cons_port sal_console_port;106,3550 -static struct miscdevice misc;109,3645 -#define DPRINTF(DPRINTF116,3830 -#define DPRINTF(DPRINTF118,3877 -static struct sn_sal_ops poll_ops 132,4274 -static struct sn_sal_ops intr_ops 140,4490 -static int snt_poll_getc(165,5515 -static int snt_poll_input_pending(177,5686 -static int snt_intr_getc(191,5955 -static int snt_intr_input_pending(200,6105 -static int snt_hw_puts_raw(213,6380 -static int snt_hw_puts_buffered(225,6655 -static const char *snp_type(243,7121 -static unsigned int snp_tx_empty(253,7356 -static void snp_stop_tx(264,7598 -static void snp_release_port(273,7812 -static void snp_enable_ms(282,8006 -static void snp_shutdown(291,8187 -static void snp_set_mctrl(301,8412 -static unsigned int snp_get_mctrl(310,8641 -static void snp_stop_rx(320,8863 -static void snp_start_tx(330,9040 -static void snp_break_ctl(344,9385 -static int snp_startup(353,9575 -snp_set_termios(366,9790 -static int snp_request_port(376,9989 -static void snp_config_port(387,10212 -static struct uart_ops sn_console_ops 393,10345 -static int sn_debug_printf(425,11104 -sn_receive_chars(460,11891 -static void sn_transmit_chars(549,14602 -static irqreturn_t sn_sal_interrupt(626,16478 -static int sn_sal_connect_interrupt(653,17239 -static void sn_sal_timer_poll(674,17873 -static void __init sn_sal_switch_to_asynch(706,18795 -static void __init sn_sal_switch_to_interrupts(758,20524 -static struct console sal_console 791,21324 -#define SAL_CONSOLE 800,21545 -static struct uart_driver sal_console_uart 802,21579 -static int __init sn_sal_module_init(821,22215 -static void __exit sn_sal_module_exit(888,24216 -static void puts_raw_fixed(910,24816 -sn_sal_console_write(943,25942 -static int __init sn_sal_console_setup(1046,28903 -sn_sal_console_write_early(1063,29330 -static struct console sal_console_early __initdata 1070,29575 -int __init sn_serial_console_early_setup(1086,30118 -static int __init sn_sal_serial_console_init(1110,30790 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250.c,3909 -#define SUPPORT_SYSRQ40,1095 -unsigned int share_irqs 51,1342 -#define DEBUG_AUTOCONF(DEBUG_AUTOCONF57,1419 -#define DEBUG_AUTOCONF(DEBUG_AUTOCONF59,1468 -#define DEBUG_INTR(DEBUG_INTR63,1530 -#define DEBUG_INTR(DEBUG_INTR65,1575 -#define PASS_LIMIT 68,1627 -#define is_real_interrupt(is_real_interrupt75,1804 -#define CONFIG_SERIAL_DETECT_IRQ 89,2207 -#define CONFIG_SERIAL_MULTIPORT 92,2285 -#define CONFIG_SERIAL_MANY_PORTS 95,2363 -#define CONFIG_HUB6 102,2501 -#define SERIAL_PORT_DFNS112,2777 -static struct old_serial_port old_serial_port[115,2810 -#define UART_NR 119,2914 -#define PORT_RSA_MAX 123,3022 -static unsigned long probe_rsa[124,3045 -static unsigned int probe_rsa_count;125,3091 -struct uart_8250_port uart_8250_port128,3166 -struct irq_info irq_info150,3797 -static struct irq_info irq_lists[155,3863 -static const struct serial8250_config uart_config[160,3987 -static _INLINE_ unsigned int serial_in(179,4762 -serial_out(200,5207 -#define serial_inp(serial_inp229,5859 -#define serial_outp(serial_outp230,5913 -static void serial_icr_write(236,6009 -static unsigned int serial_icr_read(242,6162 -static inline void serial8250_clear_fifos(257,6474 -static inline void serial8250_set_sleep(272,6940 -static int __enable_rsa(294,7570 -static void enable_rsa(314,7969 -static void disable_rsa(333,8548 -static int size_fifo(362,9259 -static void autoconfig_has_efr(403,10667 -static void autoconfig_8250(489,13184 -static void autoconfig_16550a(512,13847 -static void autoconfig(614,17030 -static void autoconfig_irq(768,21194 -static void serial8250_stop_tx(817,22455 -static void serial8250_start_tx(831,22824 -static void serial8250_stop_rx(848,23244 -static void serial8250_enable_ms(857,23473 -receive_chars(866,23679 -static _INLINE_ void transmit_chars(951,26082 -static _INLINE_ void check_modem_status(985,26846 -serial8250_handle_port(1010,27434 -static irqreturn_t serial8250_interrupt(1037,28290 -static void serial_do_unlink(1088,29501 -static int serial_link_irq_chain(1104,29809 -static void serial_unlink_irq_chain(1130,30347 -static void serial8250_timeout(1148,30800 -static unsigned int serial8250_tx_empty(1166,31244 -static unsigned int serial8250_get_mctrl(1179,31587 -static void serial8250_set_mctrl(1202,32123 -static void serial8250_break_ctl(1223,32620 -static int serial8250_startup(1237,32994 -static void serial8250_shutdown(1375,36516 -static unsigned int serial8250_get_divisor(1422,37587 -serial8250_set_termios(1443,38055 -serial8250_pm(1604,42334 -serial8250_request_std_resource(1621,42796 -serial8250_request_rsa_resource(1646,43281 -static void serial8250_release_port(1676,43916 -static int serial8250_request_port(1719,44739 -static void serial8250_config_port(1753,45466 -serial8250_verify_port(1796,46512 -serial8250_type(1807,46837 -static struct uart_ops serial8250_pops 1816,46989 -static struct uart_8250_port serial8250_ports[1836,47632 -static void __init serial8250_isa_init_ports(1838,47689 -static void __init serial8250_register_ports(1864,48450 -#define BOTH_EMPTY 1890,48978 -static inline void wait_for_xmitr(1895,49089 -serial8250_console_write(1927,49826 -static int __init serial8250_console_setup(1968,50617 -static struct uart_driver serial8250_reg;1998,51272 -static struct console serial8250_console 1999,51314 -static int __init serial8250_console_init(2009,51558 -static int __init serial8250_late_console_init(2017,51735 -#define SERIAL8250_CONSOLE 2025,51938 -#define SERIAL8250_CONSOLE 2027,51991 -static struct uart_driver serial8250_reg 2030,52031 -static int __register_serial(2046,52404 -int register_serial(2090,53657 -int __init early_serial_setup(2095,53745 -void unregister_serial(2113,54191 -void serial8250_get_irq_map(2121,54310 -void serial8250_suspend_port(2139,54742 -void serial8250_resume_port(2151,55042 -static int __init serial8250_init(2156,55151 -static void __exit serial8250_exit(2174,55549 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/mux.c,1850 -#define SUPPORT_SYSRQ34,974 -#define MUX_OFFSET 39,1036 -#define MUX_LINE_OFFSET 40,1061 -#define MUX_FIFO_SIZE 42,1091 -#define MUX_POLL_DELAY 43,1117 -#define IO_DATA_REG_OFFSET 45,1158 -#define IO_DCOUNT_REG_OFFSET 46,1190 -#define MUX_EOFIFO(MUX_EOFIFO48,1225 -#define MUX_STATUS(MUX_STATUS49,1282 -#define MUX_BREAK(MUX_BREAK50,1339 -#define MUX_NR 52,1396 -static unsigned int port_cnt 53,1415 -static struct uart_port mux_ports[54,1449 -static struct uart_driver mux_driver 56,1493 -static struct timer_list mux_timer;65,1655 -#define UART_PUT_CHAR(UART_PUT_CHAR67,1692 -#define UART_GET_FIFO_CNT(UART_GET_FIFO_CNT68,1788 -#define GET_MUX_PORTS(GET_MUX_PORTS69,1881 -static unsigned int mux_tx_empty(79,2231 -static void mux_set_mctrl(95,2646 -static unsigned int mux_get_mctrl(106,2938 -static void mux_stop_tx(118,3229 -static void mux_start_tx(129,3492 -static void mux_stop_rx(139,3707 -static void mux_enable_ms(149,3904 -static void mux_break_ctl(160,4163 -static void mux_write(171,4400 -static void mux_read(215,5315 -static int mux_startup(264,6257 -static void mux_shutdown(276,6495 -mux_set_termios(289,6764 -static const char *mux_type(301,7015 -static void mux_release_port(313,7263 -static int mux_request_port(325,7606 -static void mux_config_port(341,8111 -static int mux_verify_port(354,8437 -static void mux_poll(368,8727 -static void mux_console_write(385,9001 -static int mux_console_setup(391,9147 -struct tty_driver *mux_console_device(396,9234 -static struct console mux_console 402,9368 -#define MUX_CONSOLE 411,9578 -#define MUX_CONSOLE 413,9617 -static struct uart_ops mux_pops 416,9650 -static int __init mux_probe(442,10363 -static struct parisc_device_id mux_tbl[494,11650 -static struct parisc_driver serial_mux_driver 501,11813 -static int __init mux_init(512,12030 -static void __exit mux_exit(522,12231 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/ip22zilog.c,3633 -#define SUPPORT_SYSRQ43,1378 -int ip22serial_current_minor 50,1464 -#define ZSDELAY(ZSDELAY58,1625 -#define ZSDELAY_LONG(ZSDELAY_LONG59,1654 -#define ZS_WSYNC(ZS_WSYNC60,1689 -#define NUM_IP22ZILOG 62,1733 -#define NUM_CHANNELS 63,1757 -#define ZS_CLOCK 65,1799 -#define ZS_CLOCK_DIVISOR 66,1855 -struct uart_ip22zilog_port uart_ip22zilog_port71,1988 -#define IP22ZILOG_FLAG_IS_CONS 81,2219 -#define IP22ZILOG_FLAG_IS_KGDB 82,2262 -#define IP22ZILOG_FLAG_MODEM_STATUS 83,2305 -#define IP22ZILOG_FLAG_IS_CHANNEL_A 84,2352 -#define IP22ZILOG_FLAG_REGS_HELD 85,2399 -#define IP22ZILOG_FLAG_TX_STOPPED 86,2443 -#define IP22ZILOG_FLAG_TX_ACTIVE 87,2488 -#define ZILOG_CHANNEL_FROM_PORT(ZILOG_CHANNEL_FROM_PORT99,2688 -#define UART_ZILOG(UART_ZILOG100,2770 -#define IP22ZILOG_GET_CURR_REG(IP22ZILOG_GET_CURR_REG101,2835 -#define IP22ZILOG_SET_CURR_REG(IP22ZILOG_SET_CURR_REG103,2920 -#define ZS_IS_CONS(ZS_IS_CONS105,3025 -#define ZS_IS_KGDB(ZS_IS_KGDB106,3087 -#define ZS_WANTS_MODEM_STATUS(ZS_WANTS_MODEM_STATUS107,3149 -#define ZS_IS_CHANNEL_A(ZS_IS_CHANNEL_A108,3227 -#define ZS_REGS_HELD(ZS_REGS_HELD109,3299 -#define ZS_TX_STOPPED(ZS_TX_STOPPED110,3365 -#define ZS_TX_ACTIVE(ZS_TX_ACTIVE111,3433 -static unsigned char read_zsreg(121,3891 -static void write_zsreg(134,4116 -static void ip22zilog_clear_fifo(143,4311 -static void __load_zsregs(170,4865 -static void ip22zilog_maybe_update_regs(245,7066 -static void ip22zilog_receive_chars(257,7337 -static void ip22zilog_status_handle(358,9812 -static void ip22zilog_transmit_chars(392,10654 -static irqreturn_t ip22zilog_interrupt(465,12385 -static __inline__ unsigned char ip22zilog_read_channel_status(520,13693 -static unsigned int ip22zilog_tx_empty(538,14090 -static unsigned int ip22zilog_get_mctrl(553,14361 -static void ip22zilog_set_mctrl(572,14721 -static void ip22zilog_stop_tx(596,15367 -static void ip22zilog_start_tx(604,15620 -static void ip22zilog_stop_rx(646,16651 -static void ip22zilog_enable_ms(667,17124 -static void ip22zilog_break_ctl(688,17719 -static void __ip22zilog_startup(715,18416 -static int ip22zilog_startup(730,18812 -static void ip22zilog_shutdown(769,20096 -ip22zilog_convert_to_zs(798,20839 -ip22zilog_set_termios(873,22570 -static const char *ip22zilog_type(900,23310 -static void ip22zilog_release_port(908,23504 -static int ip22zilog_request_port(912,23568 -static void ip22zilog_config_port(918,23702 -static int ip22zilog_verify_port(923,23850 -static struct uart_ops ip22zilog_pops 928,23956 -static struct uart_ip22zilog_port *ip22zilog_port_table;947,24559 -static struct zilog_layout **ip22zilog_chip_regs;948,24616 -static struct uart_ip22zilog_port *ip22zilog_irq_chain;950,24667 -static int zilog_irq 951,24723 -static struct uart_driver ip22zilog_reg 953,24751 -static void * __init alloc_one_table(960,24892 -static void __init ip22zilog_alloc_tables(971,25057 -static struct zilog_layout * __init get_zs(984,25550 -#define ZS_PUT_CHAR_MAX_DELAY 1001,25931 -static void ip22zilog_put_char(1004,26019 -ip22zilog_console_write(1026,26492 -ip22serial_console_termios(1044,26980 -static int __init ip22zilog_console_setup(1074,27692 -static struct console ip22zilog_console 1115,28765 -#define IP22ZILOG_CONSOLE 1124,28997 -static int __init ip22zilog_console_init(1126,29045 -#define IP22ZILOG_CONSOLE 1147,29448 -#define ip22zilog_console_init(ip22zilog_console_init1148,29482 -static void __init ip22zilog_prepare(1151,29540 -static void __init ip22zilog_init_hw(1200,31099 -static int __init ip22zilog_ports_init(1238,32126 -static int __init ip22zilog_init(1276,32969 -static void __exit ip22zilog_exit(1288,33164 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/v850e_uart.c,1477 -#define V850E_UART_INIT_BAUD 37,1258 -#define V850E_UART_INIT_CFLAGS 40,1332 -#define V850E_UART_CHIP_NAME 47,1594 -#define V850E_UART_MINOR_BASE 50,1639 -void v850e_uart_configure 57,1867 -static void v850e_uart_cons_write 140,4548 -static struct console v850e_uart_cons 206,6698 -void v850e_uart_cons_init 217,6951 -static int v850e_uart_console_init 228,7283 -#define V850E_UART_CONSOLE 235,7436 -#define V850E_UART_CONSOLE 238,7520 -void v850e_uart_tx 245,7701 -static irqreturn_t v850e_uart_tx_irq(274,8361 -static irqreturn_t v850e_uart_rx_irq(281,8522 -static void v850e_uart_nop 312,9249 -static int v850e_uart_success 313,9305 -static unsigned v850e_uart_tx_empty 315,9375 -static void v850e_uart_set_mctrl 320,9484 -static unsigned v850e_uart_get_mctrl 327,9651 -static void v850e_uart_start_tx 342,9982 -static void v850e_uart_stop_tx 349,10202 -static void v850e_uart_start_rx 354,10340 -static void v850e_uart_stop_rx 359,10459 -static void v850e_uart_break_ctl 364,10578 -static int v850e_uart_startup 369,10684 -static void v850e_uart_shutdown 392,11170 -v850e_uart_set_termios 407,11593 -static const char *v850e_uart_type 426,12158 -static void v850e_uart_config_port 431,12281 -v850e_uart_verify_port 438,12431 -static struct uart_ops v850e_uart_ops 447,12671 -static struct uart_driver v850e_uart_driver 468,13307 -static struct uart_port v850e_uart_ports[480,13585 -static int __init v850e_uart_init 482,13653 -static void __exit v850e_uart_exit 533,15262 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/bast_sio.c,190 -static int __init serial_bast_register(35,870 -#define SERIAL_BASE 50,1293 -static int port[52,1346 -static int __init serial_bast_init(54,1380 -static void __exit serial_bast_exit(64,1607 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/s3c2410.c,2334 -#define dbg(dbg31,591 -#define dbg(dbg33,627 -#define SERIAL_S3C2410_NAME 36,653 -#define SERIAL_S3C2410_MAJOR 37,690 -#define SERIAL_S3C2410_MINOR 38,723 -#define NR_PORTS 42,811 -static const char serial_s3c2410_name[44,833 -#define TX_IRQ(TX_IRQ48,924 -#define RX_IRQ(RX_IRQ49,963 -#define tx_enabled(tx_enabled51,999 -#define rx_enabled(rx_enabled52,1044 -#define RXSTAT_DUMMY_READ 55,1137 -#define portaddr(portaddr59,1201 -#define rd_regb(rd_regb61,1266 -#define rd_regl(rd_regl62,1328 -#define wr_regb(wr_regb64,1391 -#define wr_regl(wr_regl67,1484 -serial_s3c2410_stop_tx(76,1604 -serial_s3c2410_start_tx(85,1772 -static void serial_s3c2410_stop_rx(93,1930 -static void serial_s3c2410_enable_ms(102,2125 -#define S3C2410_UERSTAT_PARITY 107,2225 -serial_s3c2410_rx_chars(110,2285 -serial_s3c2410_tx_chars(179,3967 -serial_s3c2410_tx_empty(223,4977 -serial_s3c2410_get_mctrl(231,5191 -serial_s3c2410_set_mctrl(242,5427 -static void serial_s3c2410_break_ctl(247,5553 -static int serial_s3c2410_startup(266,5928 -static void serial_s3c2410_shutdown(296,6517 -serial_s3c2410_set_termios(303,6656 -static const char *serial_s3c2410_type(407,9056 -#define MAP_SIZE 412,9179 -serial_s3c2410_release_port(415,9217 -serial_s3c2410_request_port(421,9331 -serial_s3c2410_config_port(428,9497 -serial_s3c2410_verify_port(439,9740 -static struct uart_ops serial_s3c2410_ops 449,9930 -static struct uart_port serial_s3c2410_ports[468,10617 -serial_s3c2410_resetport(508,11313 -static int serial_s3c2410_init_ports(533,11879 -static struct uart_port *cons_uart;589,12992 -serial_s3c2410_console_txrdy(592,13040 -serial_s3c2410_console_write(612,13508 -serial_s3c2410_get_options(634,13984 -serial_s3c2410_console_setup(690,15077 -static struct uart_driver s3c2410_uart_drv;729,15955 -static struct console serial_s3c2410_console 731,16000 -static int __init s3c2410_console_init(742,16271 -#define SERIAL_S3C2410_CONSOLE 752,16480 -#define SERIAL_S3C2410_CONSOLE 754,16541 -static struct uart_driver s3c2410_uart_drv 757,16585 -static struct device_driver s3c2410_serial_drv 772,16980 -#define s3c2410_dev_to_port(s3c2410_dev_to_port781,17194 -static int s3c2410_serial_probe(783,17273 -static int s3c2410_serial_remove(817,18056 -static int __init serial_s3c2410_init(829,18243 -static void __exit serial_s3c2410_exit(847,18570 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/mcfserial.c,2544 -struct timer_list mcfrs_timer_struct;52,1318 -#define CONSOLE_BAUD_RATE 61,1651 -#define DEFAULT_CBAUD 62,1683 -#define CONSOLE_BAUD_RATE 66,1747 -#define DEFAULT_CBAUD 67,1778 -int mcfrs_console_inited 70,1815 -int mcfrs_console_port 71,1845 -int mcfrs_console_baud 72,1874 -int mcfrs_console_cbaud 73,1918 -static struct tty_driver *mcfrs_serial_driver;78,1994 -#define WAKEUP_CHARS 81,2112 -#define IRQBASE 89,2229 -#define IRQBASE 91,2254 -static struct mcf_serial mcfrs_table[97,2342 -#define NR_PORTS 113,2686 -static int mcfrs_baud_table[118,2828 -#define MCFRS_BAUD_TABLE_SIZE 122,2985 -static unsigned char mcfrs_tmp_buf[143,3685 -static inline int serial_paranoia_check(153,3957 -static void mcfrs_setsignals(177,4504 -static int mcfrs_getsignals(213,5242 -static void mcfrs_stop(257,6361 -static void mcfrs_start(273,6748 -static inline void receive_chars(312,8030 -static inline void transmit_chars(363,9240 -irqreturn_t mcfrs_interrupt(398,10023 -static void mcfrs_offintr(419,10560 -void mcfrs_modem_change(434,10790 -unsigned short mcfrs_ppstatus;450,11050 -static void mcfrs_timer(457,11261 -static void do_serial_hangup(491,12088 -static int startup(503,12280 -static void shutdown(557,13566 -static void mcfrs_change_speed(597,14504 -static void mcfrs_flush_chars(717,17370 -static int mcfrs_write(738,17891 -static int mcfrs_write_room(800,19433 -static int mcfrs_chars_in_buffer(813,19728 -static void mcfrs_flush_buffer(822,19963 -static void mcfrs_throttle(845,20591 -static void mcfrs_unthrottle(864,21034 -static int get_serial_info(893,21701 -static int set_serial_info(913,22249 -static int get_lsr_info(969,23948 -static void send_break(986,24350 -static int mcfrs_tiocmget(1003,24750 -static int mcfrs_tiocmset(1015,25057 -static int mcfrs_ioctl(1040,25584 -static void mcfrs_set_termios(1130,27939 -static void mcfrs_close(1159,28768 -mcfrs_wait_until_sent(1259,31450 -#define MCF5272_FIFO_SIZE 1262,31531 -void mcfrs_hangup(1328,33292 -static int block_til_ready(1349,33819 -int mcfrs_open(1451,36445 -static void mcfrs_irqinit(1494,37350 -char *mcfrs_drivername 1574,39426 -int mcfrs_readproc(1580,39544 -static void show_serial_version(1629,40845 -static struct tty_operations mcfrs_ops 1634,40915 -mcfrs_init(1657,41550 -void mcfrs_init_console(1745,44050 -int mcfrs_console_setup(1782,45118 -static struct tty_driver *mcfrs_console_device(1815,45787 -void mcfrs_put_char(1827,46018 -void mcfrs_console_write(1859,46656 -struct console mcfrs_console 1874,46910 -static int __init mcfrs_console_init(1883,47106 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/mpc52xx_uart.c,1630 -#define SUPPORT_SYSRQ70,2619 -#define ISR_PASS_LIMIT 77,2683 -static struct uart_port mpc52xx_uart_ports[80,2759 -#define PSC(PSC89,3151 -#define uart_console(uart_console99,3532 -#define uart_console(uart_console101,3619 -mpc52xx_uart_tx_empty(110,3918 -mpc52xx_uart_set_mctrl(117,4097 -mpc52xx_uart_get_mctrl(123,4213 -mpc52xx_uart_stop_tx(130,4344 -mpc52xx_uart_start_tx(138,4578 -mpc52xx_uart_send_xchar(146,4813 -mpc52xx_uart_stop_rx(163,5236 -mpc52xx_uart_enable_ms(171,5446 -mpc52xx_uart_break_ctl(177,5533 -mpc52xx_uart_startup(191,5842 -mpc52xx_uart_shutdown(218,6578 -mpc52xx_uart_set_termios(231,6900 -mpc52xx_uart_type(317,9249 -mpc52xx_uart_release_port(323,9367 -mpc52xx_uart_request_port(332,9543 -mpc52xx_uart_config_port(341,9780 -mpc52xx_uart_verify_port(349,9973 -static struct uart_ops mpc52xx_uart_ops 365,10364 -mpc52xx_uart_int_rx_chars(393,11423 -mpc52xx_uart_int_tx_chars(466,13208 -mpc52xx_uart_int(507,14117 -mpc52xx_console_get_options(562,15601 -mpc52xx_console_write(592,16423 -mpc52xx_console_setup(629,17366 -static struct console mpc52xx_console 667,18429 -mpc52xx_console_init(679,18736 -#define MPC52xx_PSC_CONSOLE 687,18857 -#define MPC52xx_PSC_CONSOLE 689,18908 -static struct uart_driver mpc52xx_uart_driver 697,19188 -mpc52xx_uart_probe(714,19702 -mpc52xx_uart_remove(782,21516 -mpc52xx_uart_suspend(797,21867 -mpc52xx_uart_resume(807,22069 -static struct ocp_device_id mpc52xx_uart_ids[817,22254 -static struct ocp_device_id mpc52xx_uart_ids[] __devinitdata 817,22254 -static struct ocp_driver mpc52xx_uart_ocp_driver 824,22494 -mpc52xx_uart_init(841,23024 -mpc52xx_uart_exit(857,23279 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250_acpi.c,497 -struct serial_private serial_private24,634 -static acpi_status acpi_serial_mmio(29,692 -static acpi_status acpi_serial_port(46,1194 -static acpi_status acpi_serial_ext_irq(57,1485 -static acpi_status acpi_serial_irq(66,1783 -static acpi_status acpi_serial_resource(75,2049 -static int acpi_serial_add(93,2690 -static int acpi_serial_remove(147,3894 -static struct acpi_driver acpi_serial_driver 163,4204 -static int __init acpi_serial_init(173,4384 -static void __exit acpi_serial_exit(178,4485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/au1x00_uart.c,2904 -#define SUPPORT_SYSRQ39,1217 -#define DEBUG_AUTOCONF(DEBUG_AUTOCONF49,1324 -#define DEBUG_AUTOCONF(DEBUG_AUTOCONF51,1373 -#define DEBUG_INTR(DEBUG_INTR55,1435 -#define DEBUG_INTR(DEBUG_INTR57,1480 -#define PASS_LIMIT 60,1532 -#define is_real_interrupt(is_real_interrupt67,1709 -static struct old_serial_port old_serial_port[69,1754 -#define UART_NR 96,2345 -struct uart_8250_port uart_8250_port98,2390 -struct irq_info irq_info117,2891 -static struct irq_info irq_lists[122,2957 -static const struct serial_uart_config uart_config[127,3081 -static _INLINE_ unsigned int serial_in(136,3313 -serial_out(142,3477 -#define serial_inp(serial_inp147,3604 -#define serial_outp(serial_outp148,3658 -static void autoconfig(157,4067 -static void serial8250_stop_tx(203,5286 -static void serial8250_start_tx(213,5531 -static void serial8250_stop_rx(223,5780 -static void serial8250_enable_ms(232,6009 -receive_chars(241,6215 -static _INLINE_ void transmit_chars(326,8620 -static _INLINE_ void check_modem_status(360,9388 -serial8250_handle_port(385,9976 -static irqreturn_t serial8250_interrupt(412,10832 -static void serial_do_unlink(463,12043 -static int serial_link_irq_chain(479,12351 -static void serial_unlink_irq_chain(505,12889 -static void serial8250_timeout(523,13342 -static unsigned int serial8250_tx_empty(541,13786 -static unsigned int serial8250_get_mctrl(554,14129 -static void serial8250_set_mctrl(577,14665 -static void serial8250_break_ctl(598,15152 -static int serial8250_startup(612,15526 -static void serial8250_shutdown(700,17752 -static unsigned int serial8250_get_divisor(743,18813 -serial8250_set_termios(764,19281 -serial8250_pm(882,22236 -serial8250_request_std_resource(903,22765 -static void serial8250_release_port(928,23255 -static int serial8250_request_port(966,23996 -static void serial8250_config_port(994,24600 -serial8250_verify_port(1016,25133 -serial8250_type(1027,25458 -static struct uart_ops serial8250_pops 1036,25610 -static struct uart_8250_port serial8250_ports[1056,26253 -static void __init serial8250_isa_init_ports(1058,26310 -static void __init serial8250_register_ports(1082,26993 -#define BOTH_EMPTY 1108,27523 -static inline void wait_for_xmitr(1113,27634 -serial8250_console_write(1145,28371 -static int __init serial8250_console_setup(1182,29077 -static struct console serial8250_console 1211,29739 -static int __init serial8250_console_init(1221,29983 -#define SERIAL8250_CONSOLE 1229,30160 -#define SERIAL8250_CONSOLE 1231,30213 -static struct uart_driver serial8250_reg 1234,30253 -static int __register_serial(1250,30626 -int register_serial(1291,31830 -int __init early_serial_setup(1296,31918 -void unregister_serial(1311,32296 -void serial8250_get_irq_map(1319,32415 -void serial8250_suspend_port(1337,32847 -void serial8250_resume_port(1349,33147 -static int __init serial8250_init(1354,33256 -static void __exit serial8250_exit(1370,33553 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/suncore.c,336 -int sunserial_current_minor 26,522 -sunserial_console_termios(31,603 -static struct mouse_baud_cflag mouse_baud_cflag141,3054 -} mouse_baud_table[144,3119 -unsigned int suncore_mouse_baud_cflag_next(153,3246 -int suncore_mouse_baud_detection(174,3711 -static int __init suncore_init(204,4293 -static void __exit suncore_exit(209,4346 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sunsab.c,2209 -#define SUPPORT_SYSRQ44,1245 -struct uart_sunsab_port uart_sunsab_port52,1349 -#define SAB_BASE_BAUD 69,1998 -static char *sab82532_version[71,2039 -#define SAB82532_MAX_TEC_TIMEOUT 78,2251 -#define SAB82532_MAX_CEC_TIMEOUT 79,2327 -#define SAB82532_RECV_FIFO_SIZE 81,2399 -#define SAB82532_XMIT_FIFO_SIZE 82,2471 -static __inline__ void sunsab_tec_wait(84,2507 -static __inline__ void sunsab_cec_wait(92,2695 -receive_chars(101,2910 -static void transmit_chars(237,6554 -static void check_status(292,8045 -static irqreturn_t sunsab_interrupt(311,8632 -static unsigned int sunsab_tx_empty(374,10413 -static void sunsab_set_mctrl(389,10741 -static unsigned int sunsab_get_mctrl(412,11490 -static void sunsab_stop_tx(438,12103 -static void sunsab_start_tx(447,12374 -static void sunsab_send_xchar(477,13202 -static void sunsab_stop_rx(491,13538 -static void sunsab_enable_ms(500,13786 -static void sunsab_break_ctl(506,13927 -static int sunsab_startup(525,14385 -static void sunsab_shutdown(591,16302 -static void calc_ebrg(643,17717 -static void sunsab_convert_to_sab(678,18423 -static void sunsab_set_termios(776,21056 -static const char *sunsab_type(788,21485 -static void sunsab_release_port(797,21685 -static int sunsab_request_port(801,21746 -static void sunsab_config_port(806,21817 -static int sunsab_verify_port(810,21888 -static struct uart_ops sunsab_pops 815,21991 -static struct uart_driver sunsab_reg 835,22577 -static struct uart_sunsab_port *sunsab_ports;843,22743 -static int num_channels;844,22789 -static __inline__ void sunsab_console_putchar(848,22852 -static void sunsab_console_write(860,23108 -static int sunsab_console_setup(873,23404 -static struct console sunsab_console 931,24895 -#define SUNSAB_CONSOLE 940,25115 -static void __init sunsab_console_init(942,25157 -#define SUNSAB_CONSOLE 962,25495 -#define sunsab_console_init(sunsab_console_init963,25526 -static void __init for_each_sab_edev(966,25581 -static void __init sab_count_callback(996,26326 -static void __init sab_attach_callback(1003,26449 -static int __init probe_for_sabs(1031,27218 -static void __init sunsab_init_hw(1053,27669 -static int __init sunsab_init(1095,28807 -static void __exit sunsab_exit(1139,29579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/dz.c,1566 -#define CONSOLE_LINE 48,1405 -#define DZ_INTR_DEBUG 52,1487 -static char *dz_name 54,1512 -static char *dz_version 55,1575 -struct dz_port dz_port57,1610 -static struct dz_port dz_ports[62,1677 -static void debug_console(68,1791 -static inline unsigned short dz_in(89,2262 -static inline void dz_out(96,2452 -static void dz_stop_tx(114,2991 -static void dz_start_tx(127,3410 -static void dz_stop_rx(140,3828 -static void dz_enable_ms(151,4117 -static inline void dz_receive_chars(183,5119 -static inline void dz_transmit_chars(285,7486 -static inline void check_modem_status(326,8559 -static irqreturn_t dz_interrupt(349,9120 -static unsigned int dz_get_mctrl(375,9745 -static void dz_set_mctrl(391,10109 -static int dz_startup(413,10636 -static void dz_shutdown(446,11527 -static unsigned int dz_tx_empty(461,12079 -static void dz_break_ctl(470,12331 -static void dz_set_termios(486,12722 -static const char *dz_type(587,14535 -static void dz_release_port(592,14605 -static int dz_request_port(597,14683 -static void dz_config_port(602,14750 -static int dz_verify_port(611,14930 -static struct uart_ops dz_ops 621,15157 -static void __init dz_init_ports(640,15640 -static void dz_reset(669,16313 -static void dz_console_put_char(683,16558 -static void dz_console_print(711,17365 -static int __init dz_console_setup(726,17692 -static struct console dz_sercons 754,18304 -void __init dz_serial_console_init(764,18515 -#define SERIAL_DZ_CONSOLE 771,18612 -#define SERIAL_DZ_CONSOLE 773,18656 -static struct uart_driver dz_reg 776,18726 -int __init dz_init(790,18990 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250_gsc.c,307 -static void setup_parisc_serial(27,725 -serial_init_chip(48,1292 -static struct parisc_device_id serial_tbl[89,2261 -static struct parisc_device_id lasi_tbl[102,2851 -static struct parisc_driver lasi_driver 118,3551 -static struct parisc_driver serial_driver 124,3675 -int __init probe_serial_gsc(130,3805 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sunzilog.h,4464 -#define _SUNZILOG_H2,20 -struct zilog_channel zilog_channel4,41 -struct zilog_layout zilog_layout11,195 -#define NUM_ZSREGS 16,285 -#define BRG_TO_BPS(BRG_TO_BPS21,393 -#define BPS_TO_BRG(BPS_TO_BRG22,450 -#define FLAG 26,550 -#define R0 29,592 -#define R1 30,629 -#define R2 31,642 -#define R3 32,655 -#define R4 33,668 -#define R5 34,681 -#define R6 35,694 -#define R7 36,707 -#define R8 37,720 -#define R9 38,733 -#define R10 39,746 -#define R11 40,761 -#define R12 41,776 -#define R13 42,791 -#define R14 43,806 -#define R15 44,821 -#define NULLCODE 46,837 -#define POINT_HIGH 47,872 -#define RES_EXT_INT 48,932 -#define SEND_ABORT 49,992 -#define RES_RxINT_FC 50,1033 -#define RES_Tx_P 51,1096 -#define ERR_RES 52,1144 -#define RES_H_IUS 53,1184 -#define RES_Rx_CRC 55,1232 -#define RES_Tx_CRC 56,1283 -#define RES_EOM_L 57,1334 -#define EXT_INT_ENAB 61,1404 -#define TxINT_ENAB 62,1450 -#define PAR_SPEC 63,1493 -#define RxINT_DISAB 65,1549 -#define RxINT_FCERR 66,1592 -#define INT_ALL_Rx 67,1662 -#define INT_ERR_Rx 68,1726 -#define RxINT_MASK 69,1774 -#define WT_RDY_RT 71,1799 -#define WT_FN_RDYFN 72,1846 -#define WT_RDY_ENAB 73,1894 -#define RxENAB 79,2012 -#define SYNC_L_INH 80,2049 -#define ADD_SM 81,2106 -#define RxCRC_ENAB 82,2159 -#define ENT_HM 83,2202 -#define AUTO_ENAB 84,2245 -#define Rx5 85,2287 -#define Rx7 86,2330 -#define Rx6 87,2374 -#define Rx8 88,2418 -#define RxN_MASK 89,2462 -#define PAR_ENAB 93,2509 -#define PAR_EVEN 94,2550 -#define SYNC_ENAB 96,2595 -#define SB1 97,2639 -#define SB15 98,2678 -#define SB2 99,2721 -#define MONSYNC 101,2762 -#define BISYNC 102,2808 -#define SDLC 103,2857 -#define EXTSYNC 104,2913 -#define X1CLK 106,2961 -#define X16CLK 107,3000 -#define X32CLK 108,3042 -#define X64CLK 109,3084 -#define XCLK_MASK 110,3126 -#define TxCRC_ENAB 114,3174 -#define RTS 115,3217 -#define SDLC_CRC 116,3244 -#define TxENAB 117,3283 -#define SND_BRK 118,3319 -#define Tx5 119,3358 -#define Tx7 120,3411 -#define Tx6 121,3455 -#define Tx8 122,3499 -#define TxN_MASK 123,3543 -#define DTR 124,3565 -#define VIS 133,3800 -#define NV 134,3843 -#define DLC 135,3872 -#define MIE 136,3912 -#define STATHI 137,3956 -#define NORESET 138,3994 -#define CHRB 139,4042 -#define CHRA 140,4082 -#define FHWRES 141,4122 -#define BIT6 144,4214 -#define LOOPMODE 145,4251 -#define ABUNDER 146,4291 -#define MARKIDLE 147,4348 -#define GAOP 148,4391 -#define NRZ 149,4433 -#define NRZI 150,4462 -#define FM1 151,4496 -#define FM0 152,4540 -#define CRCPS 153,4584 -#define TRxCXT 156,4670 -#define TRxCTC 157,4712 -#define TRxCBR 158,4757 -#define TRxCDP 159,4807 -#define TRxCOI 160,4849 -#define TCRTxCP 161,4881 -#define TCTRxCP 162,4931 -#define TCBR 163,4981 -#define TCDPLL 164,5042 -#define RCRTxCP 165,5097 -#define RCTRxCP 166,5146 -#define RCBR 167,5198 -#define RCDPLL 168,5258 -#define RTxCX 169,5312 -#define BRENAB 176,5550 -#define BRSRC 177,5601 -#define DTRREQ 178,5650 -#define AUTOECHO 179,5694 -#define LOOPBAK 180,5729 -#define SEARCH 181,5771 -#define RMC 182,5815 -#define DISDPLL 183,5858 -#define SSBR 184,5898 -#define SSRTxC 185,5953 -#define SFMM 186,6002 -#define SNRZI 187,6038 -#define ZCIE 190,6138 -#define DCDIE 191,6173 -#define SYNCIE 192,6202 -#define CTSIE 193,6241 -#define TxUIE 194,6273 -#define BRKIE 195,6317 -#define Rx_CH_AV 199,6381 -#define ZCOUNT 200,6431 -#define Tx_BUF_EMP 201,6468 -#define DCD 202,6513 -#define SYNC 203,6540 -#define CTS 204,6575 -#define TxEOM 205,6603 -#define BRK_ABRT 206,6641 -#define ALL_SNT 209,6704 -#define RES3 211,6789 -#define RES4 212,6817 -#define RES5 213,6845 -#define RES6 214,6873 -#define RES7 215,6901 -#define RES8 216,6929 -#define RES18 217,6957 -#define RES28 218,6986 -#define PAR_ERR 220,7053 -#define Rx_OVR 221,7094 -#define CRC_ERR 222,7138 -#define END_FR 223,7184 -#define CHB_Tx_EMPTY 226,7290 -#define CHB_EXT_STAT 227,7316 -#define CHB_Rx_AVAIL 228,7342 -#define CHB_SPECIAL 229,7368 -#define CHA_Tx_EMPTY 230,7393 -#define CHA_EXT_STAT 231,7419 -#define CHA_Rx_AVAIL 232,7445 -#define CHA_SPECIAL 233,7471 -#define STATUS_MASK 234,7496 -#define CHBEXT 237,7583 -#define CHBTxIP 238,7631 -#define CHBRxIP 239,7674 -#define CHAEXT 240,7717 -#define CHATxIP 241,7765 -#define CHARxIP 242,7809 -#define ONLOOP 247,7944 -#define LOOPSEND 248,7976 -#define CLK2MIS 249,8018 -#define CLK1MIS 250,8065 -#define ZS_CLEARERR(ZS_CLEARERR259,8309 -#define ZS_CLEARSTAT(ZS_CLEARSTAT262,8421 -#define ZS_CLEARFIFO(ZS_CLEARFIFO265,8537 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/uart00.c,2778 -#define SUPPORT_SYSRQ43,1431 -#define UART00_TYPE 48,1524 -#define UART_NR 52,1632 -#define SERIAL_UART00_NAME 54,1652 -#define SERIAL_UART00_MAJOR 55,1687 -#define SERIAL_UART00_MINOR 56,1719 -#define SERIAL_UART00_NR 57,1795 -#define UART_PORT_SIZE 58,1828 -#define UART00_ISR_PASS_LIMIT 60,1857 -#define UART_GET_INT_STATUS(UART_GET_INT_STATUS65,1937 -#define UART_PUT_IES(UART_PUT_IES66,1996 -#define UART_GET_IES(UART_GET_IES67,2059 -#define UART_PUT_IEC(UART_PUT_IEC68,2119 -#define UART_GET_IEC(UART_GET_IEC69,2182 -#define UART_PUT_CHAR(UART_PUT_CHAR70,2242 -#define UART_GET_CHAR(UART_GET_CHAR71,2304 -#define UART_GET_RSR(UART_GET_RSR72,2363 -#define UART_GET_RDS(UART_GET_RDS73,2423 -#define UART_GET_MSR(UART_GET_MSR74,2483 -#define UART_GET_MCR(UART_GET_MCR75,2543 -#define UART_PUT_MCR(UART_PUT_MCR76,2603 -#define UART_GET_MC(UART_GET_MC77,2666 -#define UART_PUT_MC(UART_PUT_MC78,2725 -#define UART_GET_TSR(UART_GET_TSR79,2787 -#define UART_GET_DIV_HI(UART_GET_DIV_HI80,2847 -#define UART_PUT_DIV_HI(UART_PUT_DIV_HI81,2905 -#define UART_GET_DIV_LO(UART_GET_DIV_LO82,2968 -#define UART_PUT_DIV_LO(UART_PUT_DIV_LO83,3026 -#define UART_RX_DATA(UART_RX_DATA84,3089 -#define UART_TX_READY(UART_TX_READY85,3144 -static void uart00_stop_tx(88,3279 -static void uart00_stop_rx(93,3397 -static void uart00_enable_ms(98,3491 -uart00_rx_chars(104,3599 -static void uart00_tx_chars(191,5540 -static void uart00_start_tx(227,6369 -static void uart00_modem_status(233,6513 -static irqreturn_t uart00_int(255,7036 -static unsigned int uart00_tx_empty(277,7575 -static unsigned int uart00_get_mctrl(282,7710 -static void uart00_set_mctrl_null(300,8090 -static void uart00_break_ctl(304,8173 -uart00_set_termios(320,8523 -static int uart00_startup(405,10571 -static void uart00_shutdown(429,11121 -static const char *uart00_type(445,11428 -static void uart00_release_port(453,11608 -static int uart00_request_port(467,11905 -static void uart00_config_port(476,12109 -static int uart00_verify_port(495,12482 -static struct uart_ops uart00_pops 507,12776 -static struct uart_port epxa10db_port 528,13361 -static void uart00_console_write(542,13682 -uart00_console_get_options(583,14525 -static int __init uart00_console_setup(616,15156 -static struct console uart00_console 638,15668 -static int __init uart00_console_init(648,15907 -#define UART00_CONSOLE 655,16042 -#define UART00_CONSOLE 657,16087 -static struct uart_driver uart00_reg 660,16123 -struct dev_port_entry{dev_port_entry670,16368 -static struct dev_port_entry dev_port_map[677,16472 -struct uart00_ps_data{uart00_ps_data684,16650 -int uart00_add_device(689,16720 -int uart00_remove_devices(731,17714 -struct pld_hotswap_ops uart00_pldhs_ops=753,18101 -static int __init uart00_init(761,18251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sunzilog.c,4616 -#define SUPPORT_SYSRQ47,1209 -#define ZSDELAY(ZSDELAY61,1551 -#define ZSDELAY_LONG(ZSDELAY_LONG62,1580 -#define ZS_WSYNC(ZS_WSYNC63,1615 -#define ZSDELAY(ZSDELAY65,1664 -#define ZSDELAY_LONG(ZSDELAY_LONG66,1682 -#define ZS_WSYNC(ZS_WSYNC67,1705 -static int num_sunzilog;71,1780 -#define NUM_SUNZILOG 72,1805 -#define NUM_CHANNELS 73,1839 -#define KEYBOARD_LINE 75,1880 -#define MOUSE_LINE 76,1906 -#define ZS_CLOCK 78,1933 -#define ZS_CLOCK_DIVISOR 79,1989 -struct uart_sunzilog_port uart_sunzilog_port84,2122 -#define SUNZILOG_FLAG_CONS_KEYB 94,2351 -#define SUNZILOG_FLAG_CONS_MOUSE 95,2395 -#define SUNZILOG_FLAG_IS_CONS 96,2439 -#define SUNZILOG_FLAG_IS_KGDB 97,2481 -#define SUNZILOG_FLAG_MODEM_STATUS 98,2523 -#define SUNZILOG_FLAG_IS_CHANNEL_A 99,2569 -#define SUNZILOG_FLAG_REGS_HELD 100,2615 -#define SUNZILOG_FLAG_TX_STOPPED 101,2659 -#define SUNZILOG_FLAG_TX_ACTIVE 102,2703 -#define ZILOG_CHANNEL_FROM_PORT(ZILOG_CHANNEL_FROM_PORT115,2906 -#define UART_ZILOG(UART_ZILOG116,2988 -#define ZS_IS_KEYB(ZS_IS_KEYB118,3053 -#define ZS_IS_MOUSE(ZS_IS_MOUSE119,3116 -#define ZS_IS_CONS(ZS_IS_CONS120,3181 -#define ZS_IS_KGDB(ZS_IS_KGDB121,3242 -#define ZS_WANTS_MODEM_STATUS(ZS_WANTS_MODEM_STATUS122,3303 -#define ZS_IS_CHANNEL_A(ZS_IS_CHANNEL_A123,3380 -#define ZS_REGS_HELD(ZS_REGS_HELD124,3451 -#define ZS_TX_STOPPED(ZS_TX_STOPPED125,3516 -#define ZS_TX_ACTIVE(ZS_TX_ACTIVE126,3583 -static unsigned char read_zsreg(136,4040 -static void write_zsreg(149,4275 -static void sunzilog_clear_fifo(158,4480 -static void __load_zsregs(185,5048 -static void sunzilog_maybe_update_regs(260,7253 -static void sunzilog_change_mouse_baud(272,7521 -static void sunzilog_kbdms_receive_chars(286,7944 -sunzilog_receive_chars(317,8600 -static void sunzilog_status_handle(421,11108 -static void sunzilog_transmit_chars(473,12326 -static irqreturn_t sunzilog_interrupt(546,14070 -static __inline__ unsigned char sunzilog_read_channel_status(610,15530 -static unsigned int sunzilog_tx_empty(628,15931 -static unsigned int sunzilog_get_mctrl(643,16200 -static void sunzilog_set_mctrl(662,16558 -static void sunzilog_stop_tx(686,17201 -static void sunzilog_start_tx(694,17450 -static void sunzilog_stop_rx(736,18487 -static void sunzilog_enable_ms(752,18844 -static void sunzilog_break_ctl(768,19327 -static void __sunzilog_startup(795,20021 -static int sunzilog_startup(810,20419 -static void sunzilog_shutdown(849,21700 -sunzilog_convert_to_zs(878,22440 -sunzilog_set_termios(953,24169 -static const char *sunzilog_type(980,24901 -static void sunzilog_release_port(988,25092 -static int sunzilog_request_port(992,25155 -static void sunzilog_config_port(998,25288 -static int sunzilog_verify_port(1003,25435 -static struct uart_ops sunzilog_pops 1008,25540 -static struct uart_sunzilog_port *sunzilog_port_table;1027,26126 -static struct zilog_layout **sunzilog_chip_regs;1028,26181 -static struct uart_sunzilog_port *sunzilog_irq_chain;1030,26231 -static int zilog_irq 1031,26285 -static struct uart_driver sunzilog_reg 1033,26313 -static void * __init alloc_one_table(1041,26474 -static void __init sunzilog_alloc_tables(1052,26639 -static struct zilog_layout * __init get_zs_sun4u(1070,27215 -static struct zilog_layout * __init get_zs_sun4cmd(1142,29020 -static struct zilog_layout * __init get_zs(1236,31661 -#define ZS_PUT_CHAR_MAX_DELAY 1269,32333 -static void sunzilog_put_char(1271,32381 -static spinlock_t sunzilog_serio_lock 1294,32872 -static int sunzilog_serio_write(1296,32933 -static int sunzilog_serio_open(1310,33260 -static void sunzilog_serio_close(1327,33599 -sunzilog_console_write(1341,33933 -static int __init sunzilog_console_setup(1358,34411 -static struct console sunzilog_console 1400,35548 -#define SUNZILOG_CONSOLE 1409,35778 -static int __init sunzilog_console_init(1411,35824 -#define SUNZILOG_CONSOLE 1433,36240 -#define sunzilog_console_init(sunzilog_console_init1434,36272 -#define ZS_PROPSIZE 1444,36645 -#define ZS_SCAN_DEPTH 1445,36670 -struct zs_probe_scan zs_probe_scan1447,36695 -static int __inline__ sunzilog_node_ok(1455,36827 -static void __init sunzilog_scan(1463,37035 -static void __init sunzilog_prepare(1483,37491 -static void __init sunzilog_init_kbdms(1529,38989 -static void __init sunzilog_register_serio(1553,39689 -static void __init sunzilog_init_hw(1587,40560 -static void __init sunzilog_scan_probe(1639,41991 -static int __init sunzilog_ports_init(1645,42145 -static void __init sunzilog_scan_count(1707,43582 -static int __init sunzilog_ports_count(1712,43676 -static int __init sunzilog_init(1729,44007 -static void __exit sunzilog_exit(1744,44223 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/amba-pl010.c,2626 -#define SUPPORT_SYSRQ49,1757 -#define UART_NR 56,1858 -#define SERIAL_AMBA_MAJOR 58,1878 -#define SERIAL_AMBA_MINOR 59,1908 -#define SERIAL_AMBA_NR 60,1937 -#define AMBA_ISR_PASS_LIMIT 62,1970 -#define UART_GET_INT_STATUS(UART_GET_INT_STATUS67,2046 -#define UART_PUT_ICR(UART_PUT_ICR68,2111 -#define UART_GET_FR(UART_GET_FR69,2178 -#define UART_GET_CHAR(UART_GET_CHAR70,2235 -#define UART_PUT_CHAR(UART_PUT_CHAR71,2293 -#define UART_GET_RSR(UART_GET_RSR72,2360 -#define UART_GET_CR(UART_GET_CR73,2419 -#define UART_PUT_CR(UART_PUT_CR74,2476 -#define UART_GET_LCRL(UART_GET_LCRL75,2540 -#define UART_PUT_LCRL(UART_PUT_LCRL76,2600 -#define UART_GET_LCRM(UART_GET_LCRM77,2668 -#define UART_PUT_LCRM(UART_PUT_LCRM78,2728 -#define UART_GET_LCRH(UART_GET_LCRH79,2796 -#define UART_PUT_LCRH(UART_PUT_LCRH80,2856 -#define UART_RX_DATA(UART_RX_DATA81,2924 -#define UART_TX_READY(UART_TX_READY82,2980 -#define UART_TX_EMPTY(UART_TX_EMPTY83,3036 -#define UART_DUMMY_RSR_RX 85,3104 -#define UART_PORT_SIZE 86,3139 -#define SC_CTRLC 95,3346 -#define SC_CTRLS 96,3425 -struct uart_amba_port uart_amba_port101,3572 -static void pl010_stop_tx(108,3701 -static void pl010_start_tx(117,3871 -static void pl010_stop_rx(126,4042 -static void pl010_enable_ms(135,4209 -pl010_rx_chars(146,4391 -static void pl010_tx_chars(224,6354 -static void pl010_modem_status(256,7030 -static irqreturn_t pl010_int(283,7657 -static unsigned int pl010_tx_empty(319,8440 -static unsigned int pl010_get_mctrl(324,8568 -static void pl010_set_mctrl(340,8887 -static void pl010_break_ctl(359,9292 -static int pl010_startup(374,9643 -static void pl010_shutdown(400,10154 -pl010_set_termios(418,10488 -static const char *pl010_type(514,12842 -static void pl010_release_port(522,13010 -static int pl010_request_port(530,13182 -static void pl010_config_port(539,13382 -static int pl010_verify_port(550,13600 -static struct uart_ops amba_pl010_pops 562,13891 -static struct uart_amba_port amba_ports[581,14431 -pl010_console_write(617,15214 -pl010_console_get_options(656,16026 -static int __init pl010_console_setup(681,16551 -static struct console amba_console 707,17202 -#define AMBA_CONSOLE 717,17425 -#define AMBA_CONSOLE 719,17466 -static struct uart_driver amba_reg 722,17500 -static int pl010_probe(732,17722 -static int pl010_remove(749,18049 -static int pl010_suspend(761,18257 -static int pl010_resume(771,18443 -static struct amba_id pl010_ids[781,18616 -static struct amba_id pl010_ids[] __initdata 781,18616 -static struct amba_driver pl010_driver 789,18729 -static int __init pl010_init(800,18941 -static void __exit pl010_exit(815,19222 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/pmac_zilog.c,2273 -static char version[75,2315 -static char version[] __initdata 75,2315 -#define PWRDBG(PWRDBG80,2574 -static struct uart_pmac_port pmz_ports[87,2760 -static int pmz_ports_count;88,2814 -static struct uart_driver pmz_uart_reg 91,2880 -static void pmz_load_zsregs(105,3223 -static void pmz_maybe_update_regs(187,5432 -static struct tty_struct *pmz_receive_chars(199,5712 -static void pmz_status_handle(340,9423 -static void pmz_transmit_chars(370,10261 -static irqreturn_t pmz_interrupt(440,11958 -static inline u8 pmz_peek_status(505,13496 -static unsigned int pmz_tx_empty(521,13810 -static void pmz_set_mctrl(541,14318 -static unsigned int pmz_get_mctrl(583,15368 -static void pmz_stop_tx(611,15988 -static void pmz_start_tx(620,16198 -static void pmz_stop_rx(667,17332 -static void pmz_enable_ms(687,17733 -static void pmz_break_ctl(709,18247 -static int pmz_set_scc_power(745,19107 -static void pmz_fix_zero_bug_scc(794,20817 -static int __pmz_startup(838,22240 -static void pmz_irda_reset(894,23548 -static int pmz_startup(910,23918 -static void pmz_shutdown(973,25448 -static void pmz_convert_to_zs(1029,26700 -static void pmz_irda_setup(1133,29195 -static void __pmz_set_termios(1267,31876 -static void pmz_set_termios(1316,33570 -static const char *pmz_type(1341,34262 -static void pmz_release_port(1355,34644 -static int pmz_request_port(1359,34702 -static void pmz_config_port(1365,34830 -static int pmz_verify_port(1370,34972 -static struct uart_ops pmz_pops 1375,35072 -static int __init pmz_init_port(1399,35781 - struct slot_names_prop slot_names_prop1403,35893 -static void pmz_dispose_port(1507,38642 -static int pmz_attach(1523,39006 -static int pmz_detach(1550,39763 -static int pmz_suspend(1568,40124 -static int pmz_resume(1629,41570 -static int __init pmz_probe(1704,43415 -static struct console pmz_console 1773,45263 -#define PMACZILOG_CONSOLE 1783,45479 -#define PMACZILOG_CONSOLE 1785,45562 -static int __init pmz_register(1792,45721 -static struct of_match pmz_match[1829,46495 -static struct macio_driver pmz_driver 1844,46700 -static int __init init_pmz(1854,46902 -static void __exit exit_pmz(1895,47857 -static void pmz_console_write(1919,48419 -static int __init pmz_console_setup(1953,49309 -static int __init pmz_console_init(2006,50460 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/serial_lh7a40x.c,2573 -#define SUPPORT_SYSRQ43,1257 -#define DEV_MAJOR 50,1349 -#define DEV_MINOR 51,1371 -#define DEV_NR 52,1392 -#define ISR_LOOP_LIMIT 54,1411 -#define UR(UR56,1439 -#define _UR(_UR57,1477 -#define BIT_CLR(BIT_CLR58,1552 -#define BIT_SET(BIT_SET59,1614 -#define UART_REG_SIZE 61,1677 -#define UARTEN 63,1703 -#define SIRDIS 64,1745 -#define RxEmpty 66,1807 -#define TxEmpty 67,1831 -#define TxFull 68,1855 -#define nRxRdy 69,1878 -#define nTxRdy 70,1902 -#define TxBusy 71,1925 -#define RxBreak 73,1949 -#define RxOverrunError 74,1975 -#define RxParityError 75,2007 -#define RxFramingError 76,2038 -#define RxError 77,2070 -#define DCD 79,2151 -#define DSR 80,2171 -#define CTS 81,2191 -#define RxInt 83,2212 -#define TxInt 84,2234 -#define ModemInt 85,2256 -#define RxTimeoutInt 86,2280 -#define MSEOI 88,2309 -#define WLEN_8 90,2332 -#define WLEN_7 91,2355 -#define WLEN_6 92,2378 -#define WLEN_5 93,2401 -#define WLEN 94,2424 -#define STP2 95,2481 -#define PEN 96,2502 -#define EPS 97,2542 -#define FEN 98,2584 -#define BRK 99,2622 -struct uart_port_lh7a40x uart_port_lh7a40x102,2661 -static void lh7a40xuart_stop_tx 107,2780 -static void lh7a40xuart_start_tx 112,2903 -static void lh7a40xuart_stop_rx 122,3160 -static void lh7a40xuart_enable_ms 127,3275 -lh7a40xuart_rx_chars 134,3413 -static void lh7a40xuart_tx_chars 207,5348 -static void lh7a40xuart_modem_status 244,6320 -static irqreturn_t lh7a40xuart_int 269,6945 -static unsigned int lh7a40xuart_tx_empty 298,7553 -static unsigned int lh7a40xuart_get_mctrl 303,7689 -static void lh7a40xuart_set_mctrl 318,7980 -static void lh7a40xuart_break_ctl 337,8523 -static int lh7a40xuart_startup 349,8854 -static void lh7a40xuart_shutdown 371,9381 -static void lh7a40xuart_set_termios 378,9551 -static const char* lh7a40xuart_type 459,11744 -static void lh7a40xuart_release_port 464,11865 -static int lh7a40xuart_request_port 469,11984 -static void lh7a40xuart_config_port 476,12157 -static int lh7a40xuart_verify_port 484,12334 -static struct uart_ops lh7a40x_uart_ops 498,12675 -static struct uart_port_lh7a40x lh7a40x_ports[517,13312 -# define LH7A40X_CONSOLE 560,14228 -# define LH7A40X_CONSOLE 562,14264 -static void lh7a40xuart_console_write 565,14308 -static void __init lh7a40xuart_console_get_options 597,15129 -static int __init lh7a40xuart_console_setup 624,15780 -static struct console lh7a40x_console 645,16331 -static int __init lh7a40xuart_console_init(655,16572 -static struct uart_driver lh7a40x_reg 665,16729 -static int __init lh7a40xuart_init(675,16940 -static void __exit lh7a40xuart_exit(693,17241 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/icom.c,2421 -#define SERIAL_DO_RESTART25,883 -#define ICOM_DRIVER_NAME 68,1900 -#define ICOM_VERSION_STR 69,1932 -#define NR_PORTS 70,1965 -#define ICOM_PORT 71,1993 -#define to_icom_adapter(to_icom_adapter72,2038 -static const struct pci_device_id icom_pci_table[74,2109 -struct lookup_proc_table start_proc[106,3059 -struct lookup_proc_table stop_proc[114,3218 -struct lookup_int_table int_mask_tbl[121,3371 -static spinlock_t icom_lock;134,3683 -static inline void trace(137,3731 -static inline void trace(139,3809 -static void msleep(142,3917 -static void free_port_memory(148,4048 -static int __init get_port_memory(176,4795 -static void stop_processor(289,8676 -static void start_processor(320,9472 -static void load_code(349,10272 -static int startup(513,14876 -static void shutdown(582,16770 -static int icom_write(622,17794 -static inline void check_modem_status(670,19032 -static void xmit_interrupt(701,19907 -static void recv_interrupt(732,20717 -static void process_interrupt(848,23895 -static irqreturn_t icom_interrupt(864,24305 -static unsigned int icom_tx_empty(940,26552 -static void icom_set_mctrl(956,26869 -static unsigned int icom_get_mctrl(982,27420 -static void icom_stop_tx(998,27806 -static void icom_start_tx(1009,28062 -static void icom_send_xchar(1022,28377 -static void icom_stop_rx(1048,28994 -static void icom_enable_ms(1056,29176 -static void icom_break(1061,29245 -static int icom_open(1077,29679 -static void icom_close(1093,29944 -static void icom_set_termios(1109,30266 -static const char *icom_type(1286,34919 -static void icom_release_port(1291,34993 -static int icom_request_port(1295,35052 -static void icom_config_port(1300,35121 -static struct uart_ops icom_ops 1305,35215 -#define ICOM_CONSOLE 1324,35719 -static struct uart_driver icom_uart_driver 1326,35746 -static int __devinit icom_init_ports(1336,35965 -static void icom_port_active(1388,37356 -static int __init icom_load_ports(1406,38066 -static int __devinit icom_alloc_adapter(1434,38773 -static void icom_free_adapter(1468,39552 -static void icom_remove_adapter(1474,39690 -static void icom_kobj_release(1508,40541 -static struct kobj_type icom_kobj_type 1516,40710 -static int __devinit icom_probe(1520,40788 -static void __devexit icom_remove(1635,43909 -static struct pci_driver icom_pci_driver 1652,44306 -static int __init icom_init(1659,44470 -static void __exit icom_exit(1678,44789 -static inline void trace(1688,44982 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250_acorn.c,539 -#define MAX_PORTS 25,600 -struct serial_card_type serial_card_type27,621 -struct serial_card_info serial_card_info34,754 -serial_register_onedev(40,851 -serial_card_probe(57,1254 -static void __devexit serial_card_remove(92,2139 -static struct serial_card_type atomwide_type 106,2426 -static struct serial_card_type serport_type 113,2593 -static const struct ecard_id serial_cids[120,2751 -static struct ecard_driver serial_card_driver 126,2938 -static int __init serial_card_init(135,3132 -static void __exit serial_card_exit(140,3230 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/icom.h,3541 -#define BAUD_TABLE_LIMIT 25,864 -static int icom_acfg_baud[26,932 -struct icom_regs icom_regs50,1128 -struct func_dram func_dram66,1711 -#define V2_HARDWARE 86,2689 -#define ICOM_HDW_ACTIVE 87,2718 -#define ICOM_CONTROL_START_A 117,3978 -#define ICOM_CONTROL_STOP_A 118,4026 -#define ICOM_CONTROL_START_B 119,4074 -#define ICOM_CONTROL_STOP_B 120,4122 -#define ICOM_CONTROL_START_C 121,4170 -#define ICOM_CONTROL_STOP_C 122,4218 -#define ICOM_CONTROL_START_D 123,4266 -#define ICOM_CONTROL_STOP_D 124,4314 -#define ICOM_IRAM_OFFSET 125,4362 -#define ICOM_IRAM_SIZE 126,4406 -#define ICOM_DCE_IRAM_OFFSET 127,4450 -#define ICOM_CABLE_ID_VALID 128,4494 -#define ICOM_CABLE_ID_MASK 129,4536 -#define ICOM_DISABLE 130,4578 -#define CMD_XMIT_RCV_ENABLE 131,4620 -#define CMD_XMIT_ENABLE 132,4662 -#define CMD_RCV_DISABLE 133,4704 -#define CMD_RCV_ENABLE 134,4746 -#define CMD_RESTART 135,4788 -#define CMD_HOLD_XMIT 136,4830 -#define CMD_SND_BREAK 137,4872 -#define RS232_CABLE 138,4914 -#define V24_CABLE 139,4956 -#define V35_CABLE 140,4998 -#define V36_CABLE 141,5040 -#define NO_CABLE 142,5082 -#define START_DOWNLOAD 143,5124 -#define ICOM_INT_MASK_PRC_A 144,5166 -#define ICOM_INT_MASK_PRC_B 145,5214 -#define ICOM_INT_MASK_PRC_C 146,5262 -#define ICOM_INT_MASK_PRC_D 147,5310 -#define INT_RCV_COMPLETED 148,5358 -#define INT_XMIT_COMPLETED 149,5402 -#define INT_IDLE_DETECT 150,5446 -#define INT_RCV_DISABLED 151,5490 -#define INT_XMIT_DISABLED 152,5534 -#define INT_RCV_XMIT_SHUTDOWN 153,5578 -#define INT_FATAL_ERROR 154,5622 -#define INT_CABLE_PULL 155,5666 -#define INT_SIGNAL_CHANGE 156,5710 -#define HDLC_PPP_PURE_ASYNC 157,5754 -#define HDLC_FF_FILL 158,5796 -#define HDLC_HDW_FLOW 159,5838 -#define START_XMIT 160,5880 -#define ICOM_ACFG_DRIVE1 161,5922 -#define ICOM_ACFG_NO_PARITY 162,5964 -#define ICOM_ACFG_PARITY_ENAB 163,6006 -#define ICOM_ACFG_PARITY_ODD 164,6048 -#define ICOM_ACFG_8BPC 165,6090 -#define ICOM_ACFG_7BPC 166,6132 -#define ICOM_ACFG_6BPC 167,6174 -#define ICOM_ACFG_5BPC 168,6216 -#define ICOM_ACFG_1STOP_BIT 169,6258 -#define ICOM_ACFG_2STOP_BIT 170,6300 -#define ICOM_DTR 171,6342 -#define ICOM_RTS 172,6384 -#define ICOM_RI 173,6426 -#define ICOM_DSR 174,6468 -#define ICOM_DCD 175,6510 -#define ICOM_CTS 176,6552 -#define NUM_XBUFFS 178,6595 -#define NUM_RBUFFS 179,6616 -#define RCV_BUFF_SZ 180,6637 -#define XMIT_BUFF_SZ 181,6664 -struct statusArea statusArea182,6692 - struct xmit_status_area{xmit_status_area186,6868 -#define SA_FLAGS_DONE 194,7126 -#define SA_FLAGS_CONTINUED 195,7189 -#define SA_FLAGS_IDLE 196,7248 -#define SA_FLAGS_READY_TO_XMIT 197,7313 -#define SA_FLAGS_STAT_MASK 198,7352 -#define SA_FL_RCV_DONE 212,7832 -#define SA_FLAGS_OVERRUN 213,7889 -#define SA_FLAGS_PARITY_ERROR 214,7929 -#define SA_FLAGS_FRAME_ERROR 215,7969 -#define SA_FLAGS_FRAME_TRUNC 216,8009 -#define SA_FLAGS_BREAK_DET 217,8049 -#define SA_FLAGS_RCV_MASK 218,8144 -#define ICOM_MAJOR 225,8231 -#define ICOM_MINOR_START 226,8260 -struct icom_port icom_port228,8288 -#define ICOM_UNKNOWN 231,8353 -#define ICOM_RVX 232,8377 -#define ICOM_IMBED_MODEM 233,8397 -#define ICOM_PORT_ACTIVE 252,8859 -#define ICOM_PORT_OFF 253,8905 -struct icom_adapter icom_adapter258,9015 -#define ADAPTER_V1 266,9204 -#define ADAPTER_V2 267,9230 -#define FOUR_PORT_MODEL 269,9275 -#define V2_TWO_PORTS_RVX 270,9309 -#define V2_ONE_PORT_RVX_ONE_PORT_IMBED_MDM 271,9343 -struct lookup_proc_table lookup_proc_table280,9528 -struct lookup_int_table lookup_int_table285,9614 -#define MSECS_TO_JIFFIES(MSECS_TO_JIFFIES290,9696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250.h,438 -struct old_serial_port old_serial_port24,663 -struct serial8250_config serial8250_config39,972 -#define UART_CAP_FIFO 46,1093 -#define UART_CAP_EFR 47,1144 -#define UART_CAP_SLEEP 48,1193 -#define SERIAL_INLINE53,1349 -#define _INLINE_ 57,1402 -#define _INLINE_59,1432 -#define PROBE_RSA 62,1457 -#define PROBE_ANY 63,1484 -#define HIGH_BITS_OFFSET 65,1508 -#define SERIAL8250_SHARE_IRQS 68,1601 -#define SERIAL8250_SHARE_IRQS 70,1639 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/clps711x.c,1722 -#define SUPPORT_SYSRQ44,1416 -#define UART_NR 51,1514 -#define SERIAL_CLPS711X_MAJOR 53,1534 -#define SERIAL_CLPS711X_MINOR 54,1568 -#define SERIAL_CLPS711X_NR 55,1601 -#define UBRLCR(UBRLCR60,1718 -#define UARTDR(UARTDR61,1777 -#define SYSFLG(SYSFLG62,1836 -#define SYSCON(SYSCON63,1895 -#define TX_IRQ(TX_IRQ65,1955 -#define RX_IRQ(RX_IRQ66,1991 -#define UART_ANY_ERR 68,2032 -#define tx_enabled(tx_enabled70,2102 -clps711xuart_stop_tx(73,2160 -clps711xuart_start_tx(82,2326 -static void clps711xuart_stop_rx(90,2482 -static void clps711xuart_enable_ms(95,2572 -static irqreturn_t clps711xuart_int_rx(99,2636 -static irqreturn_t clps711xuart_int_tx(175,4250 -static unsigned int clps711xuart_tx_empty(210,5065 -static unsigned int clps711xuart_get_mctrl(216,5235 -clps711xuart_set_mctrl_null(237,5657 -static void clps711xuart_break_ctl(241,5734 -static int clps711xuart_startup(256,6100 -static void clps711xuart_shutdown(288,6678 -clps711xuart_set_termios(314,7210 -static const char *clps711xuart_type(388,8834 -static void clps711xuart_config_port(396,9001 -static void clps711xuart_release_port(402,9139 -static int clps711xuart_request_port(406,9206 -static struct uart_ops clps711x_pops 411,9283 -static struct uart_port clps711x_ports[429,9896 -clps711xuart_console_write(460,10603 -clps711xuart_console_get_options(501,11479 -static int __init clps711xuart_console_setup(527,12004 -static struct console clps711x_console 551,12647 -static int __init clps711xuart_console_init(561,12892 -#define CLPS711X_CONSOLE 568,13041 -#define CLPS711X_CONSOLE 570,13090 -static struct uart_driver clps711x_reg 573,13128 -static int __init clps711xuart_init(583,13342 -static void __exit clps711xuart_exit(599,13638 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/serial_cs.c,1037 -static int pc_debug 61,2198 -#define DEBUG(DEBUG63,2262 -static char *version 64,2330 -#define DEBUG(DEBUG66,2414 -static u_int irq_mask 74,2613 -static int irq_list[75,2645 -static unsigned int irq_list_count;76,2669 -static int do_sound 79,2732 -static int buggy_uart;81,2787 -struct multi_id multi_id92,3088 -static struct multi_id multi_id[98,3196 -#define MULTI_COUNT 107,3614 -struct serial_info serial_info109,3678 -static dev_info_t dev_info 123,3950 -static dev_link_t *dev_list 128,4075 -static void serial_remove(137,4390 -static void serial_suspend(165,4996 -static void serial_resume(181,5309 -static dev_link_t *serial_attach(205,5931 -static void serial_detach(269,7820 -static int setup_serial(307,8609 -first_tuple(339,9481 -next_tuple(352,9798 -static int simple_config(366,10176 -static int multi_config(471,13502 -void serial_config(590,17145 -serial_event(698,20333 -static struct pcmcia_driver serial_cs_driver 736,21134 -static int __init init_serial_cs(745,21303 -static void __exit exit_serial_cs(750,21398 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sh-sci.c,3239 -#define DEBUG21,674 -#define SUPPORT_SYSRQ62,1596 -static struct sci_port *kgdb_sci_port;73,1853 -static struct sci_port *serial_console_port 77,1957 -static struct sci_port sci_ports[88,2445 -static struct uart_driver sci_uart_driver;89,2491 -static void handle_error(93,2600 -static int get_char(98,2729 -static const char hexchars[121,3222 -static __inline__ char highhex(123,3274 -static __inline__ char lowhex(128,3352 -static void put_char(141,3648 -static void put_string(159,4010 -static int kgdb_is_char_ready(215,5335 -static void kgdb_put_char(226,5613 -static int kgdb_get_char(240,5994 -static int kgdb_sci_getchar(256,6401 -static void kgdb_sci_putchar(267,6672 -static void kgdb_handle_error(274,6789 -static void kgdb_break_interrupt(280,6987 -enum { sci_disable,298,7453 -enum { sci_disable, sci_enable 298,7453 -static void h8300_sci_enable(300,7488 -static void sci_init_pins_sci(316,7892 -static void sci_init_pins_sci(327,8264 -static void sci_init_pins_scif(336,8482 -static void sci_init_pins_irda(367,9245 -static void sci_init_pins_scif(380,9456 -static void sci_transmit_chars(399,9982 -#define STEPFN(STEPFN476,11665 -static inline void sci_receive_chars(478,11728 -#define SCI_BREAK_JIFFIES 577,14310 -static void sci_schedule_break_timer(585,14634 -static void sci_break_timer(591,14851 -static inline int sci_handle_errors(604,15204 -static inline int sci_handle_breaks(656,16557 -static irqreturn_t sci_rx_interrupt(695,17471 -static irqreturn_t sci_tx_interrupt(708,17792 -static irqreturn_t sci_er_interrupt(717,17956 -static irqreturn_t sci_br_interrupt(753,18798 -static irqreturn_t sci_mpxed_interrupt(764,19030 -static int sci_notifier(793,19976 -static struct notifier_block sci_nb 824,20844 -static int sci_request_irq(827,20940 -static void sci_free_irq(862,21860 -static unsigned int sci_tx_empty(881,22272 -static void sci_set_mctrl(887,22376 -static unsigned int sci_get_mctrl(894,22658 -static void sci_start_tx(902,22851 -static void sci_stop_tx(911,23076 -static void sci_start_rx(924,23394 -static void sci_stop_rx(937,23732 -static void sci_enable_ms(950,24050 -static void sci_break_ctl(955,24132 -static int sci_startup(960,24231 -static void sci_shutdown(975,24480 -static void sci_set_termios(988,24712 -static const char *sci_type(1058,26434 -static void sci_release_port(1069,26626 -static int sci_request_port(1074,26711 -static void sci_config_port(1080,26806 -static int sci_verify_port(1094,27158 -static struct uart_ops sci_uart_ops 1107,27467 -static struct sci_port sci_ports[1126,27972 -static void serial_console_write(1425,34390 -static int __init serial_console_setup(1431,34528 -static struct console serial_console 1476,35610 -static int __init sci_console_init(1486,35844 -static void __init kgdb_console_get_options(1503,36307 -int __init kgdb_console_setup(1518,36783 -static struct console kgdb_console 1542,37397 -static int __init kgdb_console_init(1552,37700 -#define SCI_CONSOLE 1562,37909 -#define SCI_CONSOLE 1564,37987 -#define SCI_CONSOLE 1566,38029 -static char banner[1569,38060 -static char banner[] __initdata 1569,38060 -static struct uart_driver sci_uart_driver 1572,38144 -static int __init sci_init(1585,38410 -static void __exit sci_exit(1620,39254 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/21285.c,1942 -#define BAUD_BASE 25,547 -#define SERIAL_21285_NAME 27,587 -#define SERIAL_21285_MAJOR 28,621 -#define SERIAL_21285_MINOR 29,652 -#define RXSTAT_DUMMY_READ 31,682 -#define RXSTAT_FRAME 32,719 -#define RXSTAT_PARITY 33,750 -#define RXSTAT_OVERRUN 34,782 -#define RXSTAT_ANYERR 35,815 -#define H_UBRLCR_BREAK 37,883 -#define H_UBRLCR_PARENB 38,916 -#define H_UBRLCR_PAREVN 39,950 -#define H_UBRLCR_STOPB 40,984 -#define H_UBRLCR_FIFO 41,1017 -static const char serial21285_name[43,1050 -#define tx_enabled(tx_enabled45,1109 -#define rx_enabled(rx_enabled46,1154 -serial21285_stop_tx(60,1582 -serial21285_start_tx(69,1744 -static void serial21285_stop_rx(77,1896 -static void serial21285_enable_ms(85,2035 -static irqreturn_t serial21285_rx_chars(89,2098 -static irqreturn_t serial21285_tx_chars(152,3641 -static unsigned int serial21285_tx_empty(187,4417 -static unsigned int serial21285_get_mctrl(193,4563 -static void serial21285_set_mctrl(198,4677 -static void serial21285_break_ctl(202,4760 -static int serial21285_startup(217,5096 -static void serial21285_shutdown(236,5461 -serial21285_set_termios(243,5591 -static const char *serial21285_type(332,7536 -static void serial21285_release_port(337,7654 -static int serial21285_request_port(342,7760 -static void serial21285_config_port(348,7915 -static int serial21285_verify_port(357,8146 -static struct uart_ops serial21285_ops 369,8442 -static struct uart_port serial21285_port 388,9078 -static void serial21285_setup_ports(399,9301 -serial21285_console_write(407,9444 -serial21285_get_options(425,9758 -static int __init serial21285_console_setup(460,10304 -static struct console serial21285_console 486,10956 -static int __init rs285_console_init(497,11215 -#define SERIAL_21285_CONSOLE 505,11381 -#define SERIAL_21285_CONSOLE 507,11437 -static struct uart_driver serial21285_reg 510,11479 -static int __init serial21285_init(521,11748 -static void __exit serial21285_exit(536,12032 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/mcfserial.h,101 -#define _MCF_SERIAL_H15,460 -struct mcf_stats mcf_stats26,605 -struct mcf_serial mcf_serial41,902 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/serial_core.c,2807 -#define DPRINTK(DPRINTK41,1334 -#define DPRINTK(DPRINTK43,1372 -#define HIGH_BITS_OFFSET 51,1521 -#define uart_users(uart_users53,1578 -#define uart_console(uart_console56,1708 -#define uart_console(uart_console58,1795 -void uart_write_wakeup(69,2191 -static void uart_stop(75,2313 -static void __uart_start(86,2587 -static void uart_start(96,2869 -static void uart_tasklet_action(107,3134 -uart_update_mctrl(114,3296 -#define uart_set_mctrl(uart_set_mctrl127,3633 -#define uart_clear_mctrl(uart_clear_mctrl128,3696 -static int uart_startup(134,3890 -static void uart_shutdown(202,5450 -uart_update_timeout(264,6896 -uart_get_baud_rate(323,8217 -uart_get_divisor(388,9541 -uart_change_speed(406,9886 -__uart_put_char(438,10641 -__uart_user_write(454,11008 -__uart_kern_write(494,11881 -static void uart_put_char(518,12403 -static void uart_flush_chars(525,12578 -uart_write(531,12665 -static int uart_write_room(551,13098 -static int uart_chars_in_buffer(558,13251 -static void uart_flush_buffer(565,13412 -static void uart_send_xchar(583,13869 -static void uart_throttle(601,14276 -static void uart_unthrottle(612,14520 -static int uart_get_info(628,14851 -static int uart_set_info(657,15716 -static int uart_get_lsr_info(851,20994 -static int uart_tiocmget(873,21606 -uart_tiocmset(891,22002 -static void uart_break_ctl(908,22400 -static int uart_do_autoconfig(923,22703 -uart_wait_modem_status(973,23830 -static int uart_get_count(1031,25218 -uart_ioctl(1061,26075 -static void uart_set_termios(1145,27563 -#define RELEVANT_IFLAG(RELEVANT_IFLAG1157,27887 -static void uart_close(1204,29340 -static void uart_wait_until_sent(1297,31633 -static void uart_hangup(1362,33577 -static void uart_update_termios(1388,34353 -uart_block_til_ready(1422,35156 -static struct uart_state *uart_get(1499,36949 -static int uart_open(1554,38278 -static const char *uart_type(1636,40310 -static int uart_line_info(1651,40515 -#define INFOBIT(INFOBIT1693,41575 -#define STATBIT(STATBIT1697,41703 -static int uart_read_proc(1724,42252 -uart_get_console(1760,43153 -uart_parse_options(1789,44040 -struct baud_rates baud_rates1804,44304 -static struct baud_rates baud_rates[1809,44369 -uart_set_options(1834,44997 -static void uart_change_pm(1877,45802 -int uart_suspend_port(1885,46012 -int uart_resume_port(1925,46796 -uart_report_port(1959,47486 -uart_configure_port(1979,47950 -uart_unconfigure_port(2029,49147 -static struct tty_operations uart_ops 2063,49744 -int uart_register_driver(2102,50915 -void uart_unregister_driver(2170,52677 -struct tty_driver *uart_console_device(2179,52868 -int uart_add_one_port(2196,53443 -int uart_remove_one_port(2243,54462 -static int uart_match_port(2270,54967 -uart_find_match_or_unused(2291,55450 -int uart_register_port(2342,57029 -void uart_unregister_port(2399,58533 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sunsab.h,5599 -#define _SUNSAB_H7,145 -struct sab82532_async_rd_regs sab82532_async_rd_regs9,164 -struct sab82532_async_wr_regs sab82532_async_wr_regs40,1240 -struct sab82532_async_rw_regs sab82532_async_rw_regs76,2145 -union sab82532_async_regs sab82532_async_regs112,2585 -union sab82532_irq_status sab82532_irq_status118,2759 -#define SAB82532_ALLS 127,2903 -#define SAB82532_XPR 128,2938 -#define SAB82532_RSTAT_PE 131,2997 -#define SAB82532_RSTAT_FE 132,3029 -#define SAB82532_RSTAT_PARITY 133,3061 -#define SAB82532_STAR_XDOV 136,3127 -#define SAB82532_STAR_XFW 137,3160 -#define SAB82532_STAR_RFNE 138,3192 -#define SAB82532_STAR_FCS 139,3225 -#define SAB82532_STAR_TEC 140,3257 -#define SAB82532_STAR_CEC 141,3289 -#define SAB82532_STAR_CTS 142,3321 -#define SAB82532_CMDR_RMC 145,3384 -#define SAB82532_CMDR_RRES 146,3416 -#define SAB82532_CMDR_RFRD 147,3449 -#define SAB82532_CMDR_STI 148,3482 -#define SAB82532_CMDR_XF 149,3514 -#define SAB82532_CMDR_XRES 150,3545 -#define SAB82532_MODE_FRTS 153,3606 -#define SAB82532_MODE_FCTS 154,3639 -#define SAB82532_MODE_FLON 155,3672 -#define SAB82532_MODE_RAC 156,3705 -#define SAB82532_MODE_RTS 157,3737 -#define SAB82532_MODE_TRS 158,3769 -#define SAB82532_MODE_TLP 159,3801 -#define SAB82532_TIMR_CNT_MASK 162,3862 -#define SAB82532_TIMR_VALUE_MASK 163,3899 -#define SAB82532_DAFO_XBRK 166,3963 -#define SAB82532_DAFO_STOP 167,3996 -#define SAB82532_DAFO_PAR_SPACE 168,4029 -#define SAB82532_DAFO_PAR_ODD 169,4067 -#define SAB82532_DAFO_PAR_EVEN 170,4103 -#define SAB82532_DAFO_PAR_MARK 171,4140 -#define SAB82532_DAFO_PARE 172,4177 -#define SAB82532_DAFO_CHL8 173,4210 -#define SAB82532_DAFO_CHL7 174,4243 -#define SAB82532_DAFO_CHL6 175,4276 -#define SAB82532_DAFO_CHL5 176,4309 -#define SAB82532_RFC_DPS 179,4378 -#define SAB82532_RFC_DXS 180,4409 -#define SAB82532_RFC_RFDF 181,4440 -#define SAB82532_RFC_RFTH_1 182,4472 -#define SAB82532_RFC_RFTH_4 183,4506 -#define SAB82532_RFC_RFTH_16 184,4540 -#define SAB82532_RFC_RFTH_32 185,4575 -#define SAB82532_RFC_TCDE 186,4610 -#define SAB82532_RBCH_DMA 189,4681 -#define SAB82532_RBCH_CAS 190,4713 -#define SAB82532_XBCH_DMA 193,4784 -#define SAB82532_XBCH_CAS 194,4816 -#define SAB82532_XBCH_XC 195,4848 -#define SAB82532_CCR0_PU 198,4926 -#define SAB82532_CCR0_MCE 199,4957 -#define SAB82532_CCR0_SC_NRZ 200,4989 -#define SAB82532_CCR0_SC_NRZI 201,5024 -#define SAB82532_CCR0_SC_FM0 202,5060 -#define SAB82532_CCR0_SC_FM1 203,5095 -#define SAB82532_CCR0_SC_MANCH 204,5130 -#define SAB82532_CCR0_SM_HDLC 205,5167 -#define SAB82532_CCR0_SM_SDLC_LOOP 206,5203 -#define SAB82532_CCR0_SM_BISYNC 207,5243 -#define SAB82532_CCR0_SM_ASYNC 208,5281 -#define SAB82532_CCR1_ODS 211,5365 -#define SAB82532_CCR1_BCR 212,5397 -#define SAB82532_CCR1_CM_MASK 213,5429 -#define SAB82532_CCR2_SOC1 216,5512 -#define SAB82532_CCR2_SOC0 217,5545 -#define SAB82532_CCR2_BR9 218,5578 -#define SAB82532_CCR2_BR8 219,5610 -#define SAB82532_CCR2_BDF 220,5642 -#define SAB82532_CCR2_SSEL 221,5674 -#define SAB82532_CCR2_XCS0 222,5707 -#define SAB82532_CCR2_RCS0 223,5740 -#define SAB82532_CCR2_TOE 224,5773 -#define SAB82532_CCR2_RWX 225,5805 -#define SAB82532_CCR2_DIV 226,5837 -#define SAB82532_CCR3_PSD 229,5916 -#define SAB82532_TSAX_TSNX_MASK 232,6001 -#define SAB82532_TSAX_XCS2 233,6039 -#define SAB82532_TSAX_XCS1 234,6092 -#define SAB82532_TSAR_TSNR_MASK 237,6177 -#define SAB82532_TSAR_RCS2 238,6215 -#define SAB82532_TSAR_RCS1 239,6268 -#define SAB82532_VSTR_CD 242,6339 -#define SAB82532_VSTR_DPLA 243,6370 -#define SAB82532_VSTR_VN_MASK 244,6403 -#define SAB82532_VSTR_VN_1 245,6439 -#define SAB82532_VSTR_VN_2 246,6472 -#define SAB82532_VSTR_VN_3_2 247,6505 -#define SAB82532_GIS_PI 250,6586 -#define SAB82532_GIS_ISA1 251,6617 -#define SAB82532_GIS_ISA0 252,6649 -#define SAB82532_GIS_ISB1 253,6681 -#define SAB82532_GIS_ISB0 254,6713 -#define SAB82532_IVA_MASK 257,6783 -#define SAB82532_IPC_VIS 260,6857 -#define SAB82532_IPC_SLA1 261,6888 -#define SAB82532_IPC_SLA0 262,6920 -#define SAB82532_IPC_CASM 263,6952 -#define SAB82532_IPC_IC_OPEN_DRAIN 264,6984 -#define SAB82532_IPC_IC_ACT_LOW 265,7024 -#define SAB82532_IPC_IC_ACT_HIGH 266,7062 -#define SAB82532_ISR0_TCD 269,7142 -#define SAB82532_ISR0_TIME 270,7174 -#define SAB82532_ISR0_PERR 271,7207 -#define SAB82532_ISR0_FERR 272,7240 -#define SAB82532_ISR0_PLLA 273,7273 -#define SAB82532_ISR0_CDSC 274,7306 -#define SAB82532_ISR0_RFO 275,7339 -#define SAB82532_ISR0_RPF 276,7371 -#define SAB82532_ISR1_BRK 279,7445 -#define SAB82532_ISR1_BRKT 280,7477 -#define SAB82532_ISR1_ALLS 281,7510 -#define SAB82532_ISR1_XOFF 282,7543 -#define SAB82532_ISR1_TIN 283,7576 -#define SAB82532_ISR1_CSC 284,7608 -#define SAB82532_ISR1_XON 285,7640 -#define SAB82532_ISR1_XPR 286,7672 -#define SAB82532_IMR0_TCD 289,7744 -#define SAB82532_IMR0_TIME 290,7776 -#define SAB82532_IMR0_PERR 291,7809 -#define SAB82532_IMR0_FERR 292,7842 -#define SAB82532_IMR0_PLLA 293,7875 -#define SAB82532_IMR0_CDSC 294,7908 -#define SAB82532_IMR0_RFO 295,7941 -#define SAB82532_IMR0_RPF 296,7973 -#define SAB82532_IMR1_BRK 299,8045 -#define SAB82532_IMR1_BRKT 300,8077 -#define SAB82532_IMR1_ALLS 301,8110 -#define SAB82532_IMR1_XOFF 302,8143 -#define SAB82532_IMR1_TIN 303,8176 -#define SAB82532_IMR1_CSC 304,8208 -#define SAB82532_IMR1_XON 305,8240 -#define SAB82532_IMR1_XPR 306,8272 -#define SAB82532_PIS_SYNC_B 309,8348 -#define SAB82532_PIS_DTR_B 310,8382 -#define SAB82532_PIS_DTR_A 311,8415 -#define SAB82532_PIS_SYNC_A 312,8448 -#define SAB82532_CCR4_MCK4 315,8529 -#define SAB82532_CCR4_EBRG 316,8562 -#define SAB82532_CCR4_TST1 317,8595 -#define SAB82532_CCR4_ICD 318,8628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sunsu.c,2931 -#define SUPPORT_SYSRQ50,1394 -#define SU_BASE_BAUD 60,1579 -enum su_type su_type62,1616 -enum su_type { SU_PORT_NONE,62,1616 -enum su_type { SU_PORT_NONE, SU_PORT_MS,62,1616 -enum su_type { SU_PORT_NONE, SU_PORT_MS, SU_PORT_KBD,62,1616 -enum su_type { SU_PORT_NONE, SU_PORT_MS, SU_PORT_KBD, SU_PORT_PORT 62,1616 -static char *su_typev[63,1686 -static const struct serial_uart_config uart_config[68,1846 -struct uart_sunsu_port uart_sunsu_port85,2522 -#define _INLINE_106,2920 -static _INLINE_ unsigned int serial_in(108,2938 -serial_out(126,3332 -#define serial_inp(serial_inp163,4431 -#define serial_outp(serial_outp164,4485 -static void serial_icr_write(170,4581 -static unsigned int serial_icr_read(177,4764 -static int __enable_rsa(195,5210 -static void enable_rsa(215,5610 -static void disable_rsa(234,6190 -static void sunsu_stop_tx(259,6788 -static void sunsu_start_tx(273,7155 -static void sunsu_stop_rx(290,7573 -static void sunsu_enable_ms(302,7913 -receive_chars(314,8245 -static _INLINE_ void transmit_chars(406,10776 -static _INLINE_ void check_modem_status(438,11510 -static irqreturn_t sunsu_serial_interrupt(459,12028 -static void sunsu_change_mouse_baud(498,12936 -static void receive_kbd_ms_chars(515,13311 -static irqreturn_t sunsu_kbd_ms_interrupt(545,13989 -static unsigned int sunsu_tx_empty(560,14380 -static unsigned int sunsu_get_mctrl(573,14721 -static void sunsu_set_mctrl(596,15255 -static void sunsu_break_ctl(615,15694 -static int sunsu_startup(629,16066 -static void sunsu_shutdown(739,18883 -sunsu_change_speed(786,19947 -sunsu_set_termios(915,23243 -static void sunsu_release_port(929,23604 -static int sunsu_request_port(933,23664 -static void sunsu_config_port(938,23734 -sunsu_verify_port(953,24145 -sunsu_type(959,24256 -static struct uart_ops sunsu_pops 968,24403 -#define UART_NR 987,24938 -static struct uart_sunsu_port sunsu_ports[989,24957 -static spinlock_t sunsu_serio_lock 993,25031 -static int sunsu_serio_write(995,25089 -static int sunsu_serio_open(1015,25490 -static void sunsu_serio_close(1032,25817 -static void sunsu_autoconfig(1044,26089 -#define IRQ_4M(IRQ_4M1131,28198 -static struct uart_driver sunsu_reg 1279,32449 -static int __init sunsu_kbd_ms_init(1287,32614 -#define BOTH_EMPTY 1350,34161 -static __inline__ void wait_for_xmitr(1355,34272 -static void sunsu_console_write(1384,34950 -static int __init sunsu_console_setup(1428,35867 -static struct console sunsu_cons 1459,36557 -#define SUNSU_CONSOLE 1468,36770 -static int __init sunsu_serial_console_init(1474,36836 -#define SUNSU_CONSOLE 1497,37223 -#define sunsu_serial_console_init(sunsu_serial_console_init1498,37254 -static int __init sunsu_serial_init(1501,37315 -static int su_node_ok(1555,38418 -#define SU_PROPSIZE 1579,38924 -struct su_probe_scan su_probe_scan1586,39090 -static void __init su_probe_any(1598,39498 -static int __init sunsu_probe(1641,40556 -static void __exit sunsu_exit(1713,42214 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/suncore.h,135 -#define _SERIAL_SUN_H14,293 -#define SUNKBD_RESET 17,369 -#define SUNKBD_L1 18,396 -#define SUNKBD_UP 19,420 -#define SUNKBD_A 20,444 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/pmac_zilog.h,6311 -#define __PMAC_ZILOG_H__2,25 -#define pmz_debug(pmz_debug4,51 -#define MAX_ZS_PORTS 9,169 -#define NUM_ZSREGS 14,261 -struct uart_pmac_port uart_pmac_port16,287 -#define PMACZILOG_FLAG_IS_CONS 34,753 -#define PMACZILOG_FLAG_IS_KGDB 35,796 -#define PMACZILOG_FLAG_MODEM_STATUS 36,839 -#define PMACZILOG_FLAG_IS_CHANNEL_A 37,886 -#define PMACZILOG_FLAG_REGS_HELD 38,933 -#define PMACZILOG_FLAG_TX_STOPPED 39,977 -#define PMACZILOG_FLAG_TX_ACTIVE 40,1022 -#define PMACZILOG_FLAG_ENABLED 41,1066 -#define PMACZILOG_FLAG_IS_IRDA 42,1117 -#define PMACZILOG_FLAG_IS_INTMODEM 43,1160 -#define PMACZILOG_FLAG_HAS_DMA 44,1206 -#define PMACZILOG_FLAG_RSRC_REQUESTED 45,1249 -#define PMACZILOG_FLAG_IS_ASLEEP 46,1298 -#define PMACZILOG_FLAG_IS_OPEN 47,1342 -#define PMACZILOG_FLAG_IS_IRQ_ON 48,1385 -#define PMACZILOG_FLAG_IS_EXTCLK 49,1429 -#define to_pmz(to_pmz65,1769 -static inline struct uart_pmac_port *pmz_get_port_A(67,1819 -static inline u8 read_zsreg(80,2220 -static inline void write_zsreg(87,2373 -static inline u8 read_zsdata(94,2540 -static inline void write_zsdata(99,2634 -static inline void zssync(104,2740 -#define BRG_TO_BPS(BRG_TO_BPS112,2915 -#define BPS_TO_BRG(BPS_TO_BRG113,2972 -#define ZS_CLOCK 115,3042 -#define FLAG 119,3141 -#define R0 122,3183 -#define R1 123,3220 -#define R2 124,3233 -#define R3 125,3246 -#define R4 126,3259 -#define R5 127,3272 -#define R6 128,3285 -#define R7 129,3298 -#define R8 130,3311 -#define R9 131,3324 -#define R10 132,3337 -#define R11 133,3352 -#define R12 134,3367 -#define R13 135,3382 -#define R14 136,3397 -#define R15 137,3412 -#define R7P 138,3427 -#define NULLCODE 140,3443 -#define POINT_HIGH 141,3478 -#define RES_EXT_INT 142,3538 -#define SEND_ABORT 143,3598 -#define RES_RxINT_FC 144,3639 -#define RES_Tx_P 145,3702 -#define ERR_RES 146,3750 -#define RES_H_IUS 147,3790 -#define RES_Rx_CRC 149,3838 -#define RES_Tx_CRC 150,3889 -#define RES_EOM_L 151,3940 -#define EXT_INT_ENAB 155,4010 -#define TxINT_ENAB 156,4056 -#define PAR_SPEC 157,4099 -#define RxINT_DISAB 159,4155 -#define RxINT_FCERR 160,4198 -#define INT_ALL_Rx 161,4268 -#define INT_ERR_Rx 162,4332 -#define RxINT_MASK 163,4380 -#define WT_RDY_RT 165,4405 -#define WT_FN_RDYFN 166,4470 -#define WT_RDY_ENAB 167,4542 -#define RxENABLE 173,4659 -#define SYNC_L_INH 174,4703 -#define ADD_SM 175,4760 -#define RxCRC_ENAB 176,4813 -#define ENT_HM 177,4856 -#define AUTO_ENAB 178,4899 -#define Rx5 179,4941 -#define Rx7 180,4984 -#define Rx6 181,5028 -#define Rx8 182,5072 -#define RxN_MASK 183,5116 -#define PAR_ENAB 187,5163 -#define PAR_EVEN 188,5211 -#define SYNC_ENAB 190,5256 -#define SB1 191,5300 -#define SB15 192,5339 -#define SB2 193,5382 -#define SB_MASK 194,5422 -#define MONSYNC 196,5444 -#define BISYNC 197,5490 -#define SDLC 198,5539 -#define EXTSYNC 199,5595 -#define X1CLK 201,5643 -#define X16CLK 202,5682 -#define X32CLK 203,5724 -#define X64CLK 204,5766 -#define XCLK_MASK 205,5808 -#define TxCRC_ENAB 209,5856 -#define RTS 210,5899 -#define SDLC_CRC 211,5926 -#define TxENABLE 212,5965 -#define SND_BRK 213,6009 -#define Tx5 214,6048 -#define Tx7 215,6101 -#define Tx6 216,6145 -#define Tx8 217,6189 -#define TxN_MASK 218,6233 -#define DTR 219,6255 -#define ENEXREAD 226,6454 -#define VIS 231,6611 -#define NV 232,6654 -#define DLC 233,6683 -#define MIE 234,6723 -#define STATHI 235,6767 -#define NORESET 236,6805 -#define CHRB 237,6853 -#define CHRA 238,6893 -#define FHWRES 239,6933 -#define BIT6 242,7025 -#define LOOPMODE 243,7062 -#define ABUNDER 244,7102 -#define MARKIDLE 245,7159 -#define GAOP 246,7202 -#define NRZ 247,7244 -#define NRZI 248,7273 -#define FM1 249,7307 -#define FM0 250,7351 -#define CRCPS 251,7395 -#define TRxCXT 254,7481 -#define TRxCTC 255,7523 -#define TRxCBR 256,7568 -#define TRxCDP 257,7618 -#define TRxCOI 258,7660 -#define TCRTxCP 259,7692 -#define TCTRxCP 260,7742 -#define TCBR 261,7792 -#define TCDPLL 262,7853 -#define RCRTxCP 263,7908 -#define RCTRxCP 264,7957 -#define RCBR 265,8009 -#define RCDPLL 266,8069 -#define RTxCX 267,8123 -#define BRENAB 274,8361 -#define BRSRC 275,8411 -#define DTRREQ 276,8460 -#define AUTOECHO 277,8504 -#define LOOPBAK 278,8539 -#define SEARCH 279,8581 -#define RMC 280,8625 -#define DISDPLL 281,8668 -#define SSBR 282,8708 -#define SSRTxC 283,8763 -#define SFMM 284,8812 -#define SNRZI 285,8848 -#define EN85C30 288,8948 -#define ZCIE 289,9009 -#define ENSTFIFO 290,9044 -#define DCDIE 291,9095 -#define SYNCIE 292,9124 -#define CTSIE 293,9163 -#define TxUIE 294,9195 -#define BRKIE 295,9239 -#define Rx_CH_AV 299,9303 -#define ZCOUNT 300,9353 -#define Tx_BUF_EMP 301,9390 -#define DCD 302,9435 -#define SYNC_HUNT 303,9462 -#define CTS 304,9501 -#define TxEOM 305,9529 -#define BRK_ABRT 306,9567 -#define ALL_SNT 309,9630 -#define RES3 311,9715 -#define RES4 312,9743 -#define RES5 313,9771 -#define RES6 314,9799 -#define RES7 315,9827 -#define RES8 316,9855 -#define RES18 317,9883 -#define RES28 318,9912 -#define PAR_ERR 320,9979 -#define Rx_OVR 321,10020 -#define CRC_ERR 322,10064 -#define END_FR 323,10110 -#define CHB_Tx_EMPTY 326,10216 -#define CHB_EXT_STAT 327,10242 -#define CHB_Rx_AVAIL 328,10268 -#define CHB_SPECIAL 329,10294 -#define CHA_Tx_EMPTY 330,10319 -#define CHA_EXT_STAT 331,10345 -#define CHA_Rx_AVAIL 332,10371 -#define CHA_SPECIAL 333,10397 -#define STATUS_MASK 334,10422 -#define CHBEXT 337,10509 -#define CHBTxIP 338,10557 -#define CHBRxIP 339,10600 -#define CHAEXT 340,10643 -#define CHATxIP 341,10691 -#define CHARxIP 342,10735 -#define ONLOOP 347,10870 -#define LOOPSEND 348,10902 -#define CLK2MIS 349,10944 -#define CLK1MIS 350,10991 -#define ZS_CLEARERR(ZS_CLEARERR359,11235 -#define ZS_CLEARFIFO(ZS_CLEARFIFO360,11296 -#define ZS_IS_CONS(ZS_IS_CONS366,11500 -#define ZS_IS_KGDB(ZS_IS_KGDB367,11564 -#define ZS_IS_CHANNEL_A(ZS_IS_CHANNEL_A368,11628 -#define ZS_REGS_HELD(ZS_REGS_HELD369,11701 -#define ZS_TX_STOPPED(ZS_TX_STOPPED370,11768 -#define ZS_TX_ACTIVE(ZS_TX_ACTIVE371,11837 -#define ZS_WANTS_MODEM_STATUS(ZS_WANTS_MODEM_STATUS372,11904 -#define ZS_IS_IRDA(ZS_IS_IRDA373,11982 -#define ZS_IS_INTMODEM(ZS_IS_INTMODEM374,12046 -#define ZS_HAS_DMA(ZS_HAS_DMA375,12124 -#define ZS_IS_ASLEEP(ZS_IS_ASLEEP376,12188 -#define ZS_IS_OPEN(ZS_IS_OPEN377,12262 -#define ZS_IS_IRQ_ON(ZS_IS_IRQ_ON378,12332 -#define ZS_IS_EXTCLK(ZS_IS_EXTCLK379,12406 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/ip22zilog.h,4480 -#define _IP22_ZILOG_H2,22 -struct zilog_channel zilog_channel6,73 -struct zilog_layout zilog_layout20,425 -#define NUM_ZSREGS 25,515 -#define BRG_TO_BPS(BRG_TO_BPS30,623 -#define BPS_TO_BRG(BPS_TO_BRG31,680 -#define FLAG 35,780 -#define R0 38,822 -#define R1 39,859 -#define R2 40,872 -#define R3 41,885 -#define R4 42,898 -#define R5 43,911 -#define R6 44,924 -#define R7 45,937 -#define R8 46,950 -#define R9 47,963 -#define R10 48,976 -#define R11 49,991 -#define R12 50,1006 -#define R13 51,1021 -#define R14 52,1036 -#define R15 53,1051 -#define NULLCODE 55,1067 -#define POINT_HIGH 56,1102 -#define RES_EXT_INT 57,1162 -#define SEND_ABORT 58,1222 -#define RES_RxINT_FC 59,1263 -#define RES_Tx_P 60,1326 -#define ERR_RES 61,1374 -#define RES_H_IUS 62,1414 -#define RES_Rx_CRC 64,1462 -#define RES_Tx_CRC 65,1513 -#define RES_EOM_L 66,1564 -#define EXT_INT_ENAB 70,1634 -#define TxINT_ENAB 71,1680 -#define PAR_SPEC 72,1723 -#define RxINT_DISAB 74,1779 -#define RxINT_FCERR 75,1822 -#define INT_ALL_Rx 76,1892 -#define INT_ERR_Rx 77,1956 -#define RxINT_MASK 78,2004 -#define WT_RDY_RT 80,2029 -#define WT_FN_RDYFN 81,2076 -#define WT_RDY_ENAB 82,2124 -#define RxENAB 88,2242 -#define SYNC_L_INH 89,2279 -#define ADD_SM 90,2336 -#define RxCRC_ENAB 91,2389 -#define ENT_HM 92,2432 -#define AUTO_ENAB 93,2475 -#define Rx5 94,2517 -#define Rx7 95,2560 -#define Rx6 96,2604 -#define Rx8 97,2648 -#define RxN_MASK 98,2692 -#define PAR_ENAB 102,2739 -#define PAR_EVEN 103,2780 -#define SYNC_ENAB 105,2825 -#define SB1 106,2869 -#define SB15 107,2908 -#define SB2 108,2951 -#define MONSYNC 110,2992 -#define BISYNC 111,3038 -#define SDLC 112,3087 -#define EXTSYNC 113,3143 -#define X1CLK 115,3191 -#define X16CLK 116,3230 -#define X32CLK 117,3272 -#define X64CLK 118,3314 -#define XCLK_MASK 119,3356 -#define TxCRC_ENAB 123,3404 -#define RTS 124,3447 -#define SDLC_CRC 125,3474 -#define TxENAB 126,3513 -#define SND_BRK 127,3549 -#define Tx5 128,3588 -#define Tx7 129,3641 -#define Tx6 130,3685 -#define Tx8 131,3729 -#define TxN_MASK 132,3773 -#define DTR 133,3795 -#define VIS 142,4030 -#define NV 143,4073 -#define DLC 144,4102 -#define MIE 145,4142 -#define STATHI 146,4186 -#define NORESET 147,4224 -#define CHRB 148,4272 -#define CHRA 149,4312 -#define FHWRES 150,4352 -#define BIT6 153,4444 -#define LOOPMODE 154,4481 -#define ABUNDER 155,4521 -#define MARKIDLE 156,4578 -#define GAOP 157,4621 -#define NRZ 158,4663 -#define NRZI 159,4692 -#define FM1 160,4726 -#define FM0 161,4770 -#define CRCPS 162,4814 -#define TRxCXT 165,4900 -#define TRxCTC 166,4942 -#define TRxCBR 167,4987 -#define TRxCDP 168,5037 -#define TRxCOI 169,5079 -#define TCRTxCP 170,5111 -#define TCTRxCP 171,5161 -#define TCBR 172,5211 -#define TCDPLL 173,5272 -#define RCRTxCP 174,5327 -#define RCTRxCP 175,5376 -#define RCBR 176,5428 -#define RCDPLL 177,5488 -#define RTxCX 178,5542 -#define BRENAB 185,5780 -#define BRSRC 186,5831 -#define DTRREQ 187,5880 -#define AUTOECHO 188,5924 -#define LOOPBAK 189,5959 -#define SEARCH 190,6001 -#define RMC 191,6045 -#define DISDPLL 192,6088 -#define SSBR 193,6128 -#define SSRTxC 194,6183 -#define SFMM 195,6232 -#define SNRZI 196,6268 -#define ZCIE 199,6368 -#define DCDIE 200,6403 -#define SYNCIE 201,6432 -#define CTSIE 202,6471 -#define TxUIE 203,6503 -#define BRKIE 204,6547 -#define Rx_CH_AV 208,6611 -#define ZCOUNT 209,6661 -#define Tx_BUF_EMP 210,6698 -#define DCD 211,6743 -#define SYNC 212,6770 -#define CTS 213,6805 -#define TxEOM 214,6833 -#define BRK_ABRT 215,6871 -#define ALL_SNT 218,6934 -#define RES3 220,7019 -#define RES4 221,7047 -#define RES5 222,7075 -#define RES6 223,7103 -#define RES7 224,7131 -#define RES8 225,7159 -#define RES18 226,7187 -#define RES28 227,7216 -#define PAR_ERR 229,7283 -#define Rx_OVR 230,7324 -#define CRC_ERR 231,7368 -#define END_FR 232,7414 -#define CHB_Tx_EMPTY 235,7520 -#define CHB_EXT_STAT 236,7546 -#define CHB_Rx_AVAIL 237,7572 -#define CHB_SPECIAL 238,7598 -#define CHA_Tx_EMPTY 239,7623 -#define CHA_EXT_STAT 240,7649 -#define CHA_Rx_AVAIL 241,7675 -#define CHA_SPECIAL 242,7701 -#define STATUS_MASK 243,7726 -#define CHBEXT 246,7813 -#define CHBTxIP 247,7861 -#define CHBRxIP 248,7904 -#define CHAEXT 249,7947 -#define CHATxIP 250,7995 -#define CHARxIP 251,8039 -#define ONLOOP 256,8174 -#define LOOPSEND 257,8206 -#define CLK2MIS 258,8248 -#define CLK1MIS 259,8295 -#define ZS_CLEARERR(ZS_CLEARERR268,8539 -#define ZS_CLEARSTAT(ZS_CLEARSTAT271,8646 -#define ZS_CLEARFIFO(ZS_CLEARFIFO274,8757 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sa1100.c,2775 -#define SUPPORT_SYSRQ43,1385 -#define SERIAL_SA1100_MAJOR 49,1521 -#define MINOR_START 50,1553 -#define NR_PORTS 52,1577 -#define SA1100_ISR_PASS_LIMIT 54,1598 -#define SM_TO_UTSR0(SM_TO_UTSR059,1707 -#define SM_TO_UTSR1(SM_TO_UTSR160,1743 -#define UTSR0_TO_SM(UTSR0_TO_SM61,1777 -#define UTSR1_TO_SM(UTSR1_TO_SM62,1806 -#define UART_GET_UTCR0(UART_GET_UTCR064,1841 -#define UART_GET_UTCR1(UART_GET_UTCR165,1914 -#define UART_GET_UTCR2(UART_GET_UTCR266,1987 -#define UART_GET_UTCR3(UART_GET_UTCR367,2060 -#define UART_GET_UTSR0(UART_GET_UTSR068,2133 -#define UART_GET_UTSR1(UART_GET_UTSR169,2206 -#define UART_GET_CHAR(UART_GET_CHAR70,2279 -#define UART_PUT_UTCR0(UART_PUT_UTCR072,2351 -#define UART_PUT_UTCR1(UART_PUT_UTCR173,2431 -#define UART_PUT_UTCR2(UART_PUT_UTCR274,2511 -#define UART_PUT_UTCR3(UART_PUT_UTCR375,2591 -#define UART_PUT_UTSR0(UART_PUT_UTSR076,2671 -#define UART_PUT_UTSR1(UART_PUT_UTSR177,2751 -#define UART_PUT_CHAR(UART_PUT_CHAR78,2831 -#define UART_PORT_SIZE 83,2970 -#define MCTRL_TIMEOUT 91,3245 -struct sa1100_port sa1100_port93,3282 -static void sa1100_mctrl_check(102,3462 -static void sa1100_timeout(130,4138 -static void sa1100_stop_tx(147,4519 -static void sa1100_start_tx(160,4852 -static void sa1100_stop_rx(176,5283 -static void sa1100_enable_ms(188,5544 -sa1100_rx_chars(196,5708 -static void sa1100_tx_chars(274,7531 -static irqreturn_t sa1100_int(315,8476 -static unsigned int sa1100_tx_empty(357,9607 -static unsigned int sa1100_get_mctrl(364,9792 -static void sa1100_set_mctrl(369,9901 -static void sa1100_break_ctl(376,10017 -static int sa1100_startup(392,10428 -static void sa1100_shutdown(421,10999 -sa1100_set_termios(442,11346 -static const char *sa1100_type(546,13960 -static void sa1100_release_port(556,14198 -static int sa1100_request_port(566,14436 -static void sa1100_config_port(577,14702 -sa1100_verify_port(592,15126 -static struct uart_ops sa1100_pops 614,15696 -static struct sa1100_port sa1100_ports[633,16248 -static void __init sa1100_init_ports(647,16800 -void __init sa1100_register_uart_fns(675,17502 -void __init sa1100_register_uart(686,17772 -sa1100_console_write(727,18804 -sa1100_console_get_options(770,19783 -sa1100_console_setup(802,20431 -static struct console sa1100_console 828,21097 -static int __init sa1100_rs_console_init(838,21326 -#define SA1100_CONSOLE 846,21489 -#define SA1100_CONSOLE 848,21534 -static struct uart_driver sa1100_reg 851,21570 -static int sa1100_serial_suspend(862,21818 -static int sa1100_serial_resume(872,22052 -static int sa1100_serial_probe(882,22271 -static int sa1100_serial_remove(907,22827 -static struct device_driver sa11x0_serial_driver 919,23044 -static int __init sa1100_serial_init(928,23290 -static void __exit sa1100_serial_exit(945,23611 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/sh-sci.h,6647 -#define SCIx_ERI_IRQ 27,832 -#define SCIx_RXI_IRQ 28,855 -#define SCIx_TXI_IRQ 29,878 -#define SCI_IRQS 32,947 -#define SH3_SCIF_IRQS 33,991 -#define SH3_IRDA_IRQS 34,1035 -#define SH4_SCIF_IRQS 35,1079 -#define STB1_SCIF1_IRQS 36,1123 -#define SH7760_SCIF0_IRQS 37,1167 -#define SH7760_SCIF1_IRQS 38,1212 -#define SH7760_SCIF2_IRQS 39,1257 -#define SH7300_SCIF0_IRQS 40,1302 -#define H8300H_SCI_IRQS0 41,1349 -#define H8300H_SCI_IRQS1 42,1393 -#define H8300H_SCI_IRQS2 43,1437 -#define H8S_SCI_IRQS0 44,1481 -#define H8S_SCI_IRQS1 45,1522 -#define H8S_SCI_IRQS2 46,1563 -#define SH5_SCIF_IRQS 47,1604 -# define SCI_NPORTS 50,1685 -# define SCSPTR 51,1707 -# define SCSCR_INIT(SCSCR_INIT52,1746 -# define SCI_ONLY53,1814 -# define SCI_NPORTS 55,1911 -# define SCPCR 56,1933 -# define SCPDR 57,1986 -# define SCSCR_INIT(SCSCR_INIT58,2039 -# define SCI_AND_SCIF59,2107 -# define SCI_NPORTS 61,2165 -# define SCSPTR1 62,2187 -# define SCSPTR2 63,2232 -# define SCIF_ORER 64,2278 -# define SCSCR_INIT(SCSCR_INIT65,2330 -# define SCIF_ONLY66,2396 -# define SCI_NPORTS 68,2494 -# define SCSPTR1 69,2516 -# define SCSPTR2 70,2561 -# define SCIF_ORER 71,2607 -# define SCSCR_INIT(SCSCR_INIT72,2659 -# define SCI_AND_SCIF75,2798 -# define SCI_NPORTS 77,2861 -# define SCSPTR0 78,2883 -# define SCSPTR1 79,2929 -# define SCSPTR2 80,2975 -# define SCIF_ORER 81,3021 -# define SCSCR_INIT(SCSCR_INIT82,3072 -# define SCIF_ONLY83,3147 -# define SCI_NPORTS 85,3207 -# define SCPCR 86,3229 -# define SCPDR 87,3281 -# define SCSCR_INIT(SCSCR_INIT88,3333 -# define SCIF_ONLY89,3395 -# define SCI_NPORTS 91,3457 -# define SCSPTR1 92,3479 -# define SCSPTR2 93,3525 -# define SCIF_ORER 94,3571 -# define SCSCR_INIT(SCSCR_INIT95,3623 -# define SCIF_ONLY96,3698 -# define SCIF_BASE_ADDR 99,3825 -# define SCIF_ADDR_SH5 100,3863 -# define SCIF_PTR2_OFFS 101,3927 -# define SCIF_LSR2_OFFS 102,3964 -# define SCI_NPORTS 103,4001 -# define SCI_INIT 104,4023 -# define SCSPTR2 108,4115 -# define SCLSR2 109,4193 -# define SCSCR_INIT(SCSCR_INIT110,4271 -# define SCIF_ONLY112,4377 -# define SCI_NPORTS 114,4451 -# define SCSCR_INIT(SCSCR_INIT115,4473 -# define SCI_ONLY116,4541 -# define H8300_SCI_DR(H8300_SCI_DR117,4559 -# define SCI_NPORTS 119,4666 -# define SCSCR_INIT(SCSCR_INIT120,4688 -# define SCI_ONLY121,4756 -# define H8300_SCI_DR(H8300_SCI_DR122,4774 -#define SCI_CTRL_FLAGS_TIE 128,4909 -#define SCI_CTRL_FLAGS_RIE 129,4952 -#define SCI_CTRL_FLAGS_TE 130,4995 -#define SCI_CTRL_FLAGS_RE 131,5038 -#define SCI_CTRL_FLAGS_REIE 133,5158 -#define SCI_CTRL_FLAGS_REIE 135,5213 -#define SCI_TDRE 143,5554 -#define SCI_RDRF 144,5622 -#define SCI_ORER 145,5690 -#define SCI_FER 146,5758 -#define SCI_PER 147,5826 -#define SCI_TEND 148,5894 -#define SCI_ERRORS 152,6099 -#define SCIF_ER 155,6168 -#define SCIF_TEND 156,6232 -#define SCIF_TDFE 157,6296 -#define SCIF_BRK 158,6360 -#define SCIF_FER 159,6424 -#define SCIF_PER 160,6488 -#define SCIF_RDF 161,6552 -#define SCIF_DR 162,6616 -#define SCIF_ORER 165,6720 -#define SCIF_ERRORS 166,6748 -#define SCIF_RFDC_MASK 167,6824 -#define SCIF_TXROOM_MAX 168,6854 -#define SCIF_ERRORS 170,6887 -#define SCIF_RFDC_MASK 171,6951 -#define SCIF_TXROOM_MAX 172,6981 -# define SCxSR_TEND(SCxSR_TEND176,7038 -# define SCxSR_ERRORS(SCxSR_ERRORS177,7074 -# define SCxSR_RDxF(SCxSR_RDxF178,7114 -# define SCxSR_TDxE(SCxSR_TDxE179,7163 -# define SCxSR_ORER(SCxSR_ORER180,7212 -# define SCxSR_FER(SCxSR_FER181,7248 -# define SCxSR_PER(SCxSR_PER182,7282 -# define SCxSR_BRK(SCxSR_BRK183,7316 -# define SCxSR_RDxF_CLEAR(SCxSR_RDxF_CLEAR184,7347 -# define SCxSR_ERROR_CLEAR(SCxSR_ERROR_CLEAR185,7385 -# define SCxSR_TDxE_CLEAR(SCxSR_TDxE_CLEAR186,7423 -# define SCxSR_BREAK_CLEAR(SCxSR_BREAK_CLEAR187,7461 -# define SCxSR_TEND(SCxSR_TEND189,7527 -# define SCxSR_ERRORS(SCxSR_ERRORS190,7564 -# define SCxSR_RDxF(SCxSR_RDxF191,7605 -# define SCxSR_TDxE(SCxSR_TDxE192,7654 -# define SCxSR_ORER(SCxSR_ORER194,7743 -# define SCxSR_ORER(SCxSR_ORER196,7786 -# define SCxSR_FER(SCxSR_FER198,7827 -# define SCxSR_PER(SCxSR_PER199,7862 -# define SCxSR_BRK(SCxSR_BRK200,7897 -# define SCxSR_RDxF_CLEAR(SCxSR_RDxF_CLEAR202,7971 -# define SCxSR_ERROR_CLEAR(SCxSR_ERROR_CLEAR203,8039 -# define SCxSR_TDxE_CLEAR(SCxSR_TDxE_CLEAR204,8107 -# define SCxSR_BREAK_CLEAR(SCxSR_BREAK_CLEAR205,8175 -# define SCxSR_RDxF_CLEAR(SCxSR_RDxF_CLEAR207,8249 -# define SCxSR_ERROR_CLEAR(SCxSR_ERROR_CLEAR208,8289 -# define SCxSR_TDxE_CLEAR(SCxSR_TDxE_CLEAR209,8329 -# define SCxSR_BREAK_CLEAR(SCxSR_BREAK_CLEAR210,8369 -# define SCxSR_TEND(SCxSR_TEND213,8425 -# define SCxSR_ERRORS(SCxSR_ERRORS214,8506 -# define SCxSR_RDxF(SCxSR_RDxF215,8591 -# define SCxSR_TDxE(SCxSR_TDxE216,8677 -# define SCxSR_ORER(SCxSR_ORER217,8764 -# define SCxSR_FER(SCxSR_FER218,8848 -# define SCxSR_PER(SCxSR_PER219,8934 -# define SCxSR_BRK(SCxSR_BRK220,9020 -# define SCxSR_RDxF_CLEAR(SCxSR_RDxF_CLEAR221,9106 -# define SCxSR_ERROR_CLEAR(SCxSR_ERROR_CLEAR222,9184 -# define SCxSR_TDxE_CLEAR(SCxSR_TDxE_CLEAR223,9262 -# define SCxSR_BREAK_CLEAR(SCxSR_BREAK_CLEAR224,9340 -#define SCFCR_RFRST 228,9438 -#define SCFCR_TFRST 229,9465 -#define SCFCR_TCRST 230,9492 -#define SCFCR_MCE 231,9519 -#define SCI_MAJOR 233,9547 -#define SCI_MINOR_START 234,9570 -#define SCI_RX_THROTTLE 237,9625 -#define SCI_MAGIC 239,9661 -#define SCI_EVENT_WRITE_WAKEUP 245,9807 -struct sci_port sci_port247,9841 -#define SCI_IN(SCI_IN256,10060 -#define SCI_OUT(SCI_OUT263,10266 -#define CPU_SCIx_FNS(CPU_SCIx_FNS271,10481 -#define CPU_SCIF_FNS(CPU_SCIF_FNS289,11099 -#define CPU_SCI_FNS(CPU_SCI_FNS299,11449 -#define SCIF_FNS(SCIF_FNS311,11853 -#define SCIx_FNS(SCIx_FNS314,11953 -#define SCIF_FNS(SCIF_FNS318,12237 -#define SCIx_FNS(SCIx_FNS322,12435 -#define SCIF_FNS(SCIF_FNS326,12684 -#define SCIx_FNS(SCIx_FNS328,12777 -#define SCIF_FNS(SCIF_FNS332,13047 -SCIF_FNS(337,13236 -#define sci_in(sci_in362,14309 -#define sci_out(sci_out363,14356 -} h8300_sci_pins[370,14636 -static inline int sci_rxd_in(408,15373 -static inline int sci_rxd_in(415,15604 -static inline int sci_rxd_in(426,16002 -static inline int sci_rxd_in(439,16333 -static inline int sci_rxd_in(449,16701 -static inline int sci_rxd_in(456,16925 -static inline int sci_rxd_in(465,17212 -static inline int sci_rxd_in(470,17382 -#define PCLK 509,18677 -#define SCBRR_VALUE(SCBRR_VALUE512,18772 -#define SCBRR_VALUE(SCBRR_VALUE514,18875 -#define SCBRR_VALUE(SCBRR_VALUE516,18933 -#define BPS_2400 518,19002 -#define BPS_4800 519,19043 -#define BPS_9600 520,19084 -#define BPS_19200 521,19125 -#define BPS_38400 522,19167 -#define BPS_57600 523,19209 -#define BPS_115200 524,19251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/cpm_uart/cpm_uart_cpm2.c,292 -void cpm_line_cr_cmd(50,1528 -void smc1_lineif(88,2364 -void smc2_lineif(103,2699 -void scc1_lineif(118,3034 -void scc2_lineif(135,3512 -void scc3_lineif(148,3871 -void scc4_lineif(161,4230 -int cpm_uart_allocbuf(181,4839 -void cpm_uart_freebuf(230,6102 -int cpm_uart_init_portdesc(242,6437 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/cpm_uart/cpm_uart.h,653 -#define CPM_UART_H10,166 -#define SERIAL_CPM_MAJOR 21,353 -#define SERIAL_CPM_MINOR 22,388 -#define SERIAL_CPM_MAJOR 24,422 -#define SERIAL_CPM_MINOR 25,451 -#define IS_SMC(IS_SMC28,487 -#define IS_DISCARDING(IS_DISCARDING29,537 -#define FLAG_DISCARDING 30,599 -#define FLAG_SMC 31,664 -#define FLAG_CONSOLE 32,692 -#define UART_SMC1 34,725 -#define UART_SMC2 35,745 -#define UART_SCC1 36,765 -#define UART_SCC2 37,785 -#define UART_SCC3 38,805 -#define UART_SCC4 39,825 -#define UART_NR 41,846 -#define RX_NUM_FIFO 43,865 -#define RX_BUF_SIZE 44,887 -#define TX_NUM_FIFO 45,910 -#define TX_BUF_SIZE 46,932 -struct uart_cpm_port uart_cpm_port48,956 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/cpm_uart/cpm_uart_core.c,1594 -#define SUPPORT_SYSRQ49,1609 -int cpm_uart_port_map[60,1843 -int cpm_uart_nr;62,1919 -static unsigned int cpm_uart_tx_empty(76,2354 -static void cpm_uart_set_mctrl(98,2753 -static unsigned int cpm_uart_get_mctrl(103,2858 -static void cpm_uart_stop_tx(112,3021 -static void cpm_uart_start_tx(129,3407 -static void cpm_uart_stop_rx(156,3961 -static void cpm_uart_enable_ms(173,4337 -static void cpm_uart_break_ctl(181,4477 -static void cpm_uart_int_tx(198,4915 -static void cpm_uart_int_rx(208,5097 -static irqreturn_t cpm_uart_int(327,7837 -static int cpm_uart_startup(359,8696 -static void cpm_uart_shutdown(385,9225 -static void cpm_uart_set_termios(414,10055 -#define RELEVANT_IFLAG(RELEVANT_IFLAG477,11384 -static const char *cpm_uart_type(530,12938 -static int cpm_uart_verify_port(540,13162 -static int cpm_uart_tx_pump(559,13583 -static void cpm_uart_initbd(631,15101 -static void cpm_uart_init_scc(670,16282 -static void cpm_uart_init_smc(731,17793 -static int cpm_uart_request_port(774,18869 -static void cpm_uart_release_port(810,19653 -static void cpm_uart_config_port(821,19886 -static struct uart_ops cpm_uart_pops 830,20104 -struct uart_cpm_port cpm_uart_ports[849,20690 -static void cpm_uart_console_write(933,22566 -static int __init cpm_uart_console_setup(1014,24439 -static struct console cpm_scc_uart_console 1075,25725 -int __init cpm_uart_console_init(1085,25950 -#define CPM_UART_CONSOLE 1096,26141 -#define CPM_UART_CONSOLE 1098,26194 -static struct uart_driver cpm_reg 1101,26232 -static int __init cpm_uart_init(1110,26433 -static void __exit cpm_uart_exit(1138,26980 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/cpm_uart/cpm_uart_cpm1.h,358 -#define CPM_UART_CPM1_H11,147 -#define SMC1_IRQ 16,222 -#define SMC2_IRQ 17,270 -#define SCC1_IRQ 18,318 -#define SCC2_IRQ 19,366 -#define SCC3_IRQ 20,414 -#define SCC4_IRQ 21,462 -#define CPM_ADDR 24,533 -static inline void cpm_set_brg(26,561 -static inline void cpm_set_scc_fcr(31,640 -static inline void cpm_set_smc_fcr(37,779 -#define DPRAM_BASE 43,893 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/cpm_uart/cpm_uart_cpm1.c,290 -void cpm_line_cr_cmd(50,1523 -void smc1_lineif(82,2184 -void smc2_lineif(93,2374 -void scc1_lineif(99,2490 -void scc2_lineif(105,2606 -void scc3_lineif(111,2722 -void scc4_lineif(117,2838 -int cpm_uart_allocbuf(129,3202 -void cpm_uart_freebuf(178,4498 -int cpm_uart_init_portdesc(190,4833 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/cpm_uart/cpm_uart_cpm2.h,358 -#define CPM_UART_CPM2_H11,147 -#define SMC1_IRQ 16,218 -#define SMC2_IRQ 17,248 -#define SCC1_IRQ 18,278 -#define SCC2_IRQ 19,308 -#define SCC3_IRQ 20,338 -#define SCC4_IRQ 21,368 -#define CPM_ADDR 24,421 -static inline void cpm_set_brg(26,452 -static inline void cpm_set_scc_fcr(31,531 -static inline void cpm_set_smc_fcr(37,702 -#define DPRAM_BASE 43,848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250_pci.c,4600 -#define FL_BASE_MASK 38,944 -#define FL_BASE0 39,973 -#define FL_BASE1 40,998 -#define FL_BASE2 41,1023 -#define FL_BASE3 42,1048 -#define FL_BASE4 43,1073 -#define FL_GET_BASE(FL_GET_BASE44,1098 -#define FL_BASE_BARS 48,1241 -#define FL_NOIRQ 51,1298 -#define FL_REGION_SZ_CAP 54,1388 -struct pci_board pci_board56,1421 -struct pci_serial_quirk pci_serial_quirk71,1701 -#define PCI_NUM_BAR_RESOURCES 82,1961 -struct serial_private serial_private84,1994 -static void moan_device(91,2143 -setup_port(103,2633 -afavlab_setup(140,3575 -static int __devinit pci_hp_diva_init(163,4275 -pci_hp_diva_setup(193,4887 -static int __devinit pci_inteli960ni_init(222,5476 -static int __devinit pci_plx9050_init(244,6075 -static void __devexit pci_plx9050_exit(287,7045 -sbs_setup(311,7483 -#define OCT_REG_CR_OFF 338,8295 -static int __devinit sbs_init(340,8326 -static void __devexit sbs_exit(364,8808 -#define PCI_DEVICE_ID_SIIG_1S_10x 396,10017 -#define PCI_DEVICE_ID_SIIG_2S_10x 397,10092 -static int pci_siig10x_init(399,10168 -#define PCI_DEVICE_ID_SIIG_2S_20x 426,10652 -#define PCI_DEVICE_ID_SIIG_2S1P_20x 427,10727 -static int pci_siig20x_init(429,10807 -int pci_siig10x_fn(446,11316 -int pci_siig20x_fn(454,11444 -static unsigned short timedia_single_port[470,11848 -static unsigned short timedia_dual_port[474,11943 -static unsigned short timedia_quad_port[482,12234 -static unsigned short timedia_eight_port[489,12468 -static struct timedia_struct timedia_struct494,12620 -} timedia_data[497,12683 -static int __devinit pci_timedia_init(505,12832 -pci_timedia_setup(524,13224 -titan_400l_800l_setup(557,13800 -static int __devinit pci_xircom_init(577,14170 -pci_default_setup(584,14269 -#define PCI_VENDOR_ID_SBSMODULARIO 605,14823 -#define PCI_SUBVENDOR_ID_SBSMODULARIO 606,14865 -#define PCI_DEVICE_ID_OCTPRO 607,14910 -#define PCI_SUBDEVICE_ID_OCTPRO232 608,14947 -#define PCI_SUBDEVICE_ID_OCTPRO422 609,14989 -#define PCI_SUBDEVICE_ID_POCTAL232 610,15031 -#define PCI_SUBDEVICE_ID_POCTAL422 611,15073 -static struct pci_serial_quirk pci_serial_quirks[621,15413 -static inline int quirk_id_matches(951,23210 -static struct pci_serial_quirk *find_quirk(956,23330 -get_pci_irq(970,23763 -enum pci_board_num_t pci_board_num_t995,24448 - pbn_default 996,24471 - pbn_b0_1_115200,998,24490 - pbn_b0_2_115200,999,24508 - pbn_b0_4_115200,1000,24526 - pbn_b0_5_115200,1001,24544 - pbn_b0_1_921600,1003,24563 - pbn_b0_2_921600,1004,24581 - pbn_b0_4_921600,1005,24599 - pbn_b0_bt_1_115200,1007,24618 - pbn_b0_bt_2_115200,1008,24639 - pbn_b0_bt_8_115200,1009,24660 - pbn_b0_bt_1_460800,1011,24682 - pbn_b0_bt_2_460800,1012,24703 - pbn_b0_bt_4_460800,1013,24724 - pbn_b0_bt_1_921600,1015,24746 - pbn_b0_bt_2_921600,1016,24767 - pbn_b0_bt_4_921600,1017,24788 - pbn_b0_bt_8_921600,1018,24809 - pbn_b1_1_115200,1020,24831 - pbn_b1_2_115200,1021,24849 - pbn_b1_4_115200,1022,24867 - pbn_b1_8_115200,1023,24885 - pbn_b1_1_921600,1025,24904 - pbn_b1_2_921600,1026,24922 - pbn_b1_4_921600,1027,24940 - pbn_b1_8_921600,1028,24958 - pbn_b1_bt_2_921600,1030,24977 - pbn_b1_2_1382400,1032,24999 - pbn_b1_4_1382400,1033,25018 - pbn_b1_8_1382400,1034,25037 - pbn_b2_1_115200,1036,25057 - pbn_b2_8_115200,1037,25075 - pbn_b2_1_460800,1039,25094 - pbn_b2_4_460800,1040,25112 - pbn_b2_8_460800,1041,25130 - pbn_b2_16_460800,1042,25148 - pbn_b2_1_921600,1044,25168 - pbn_b2_4_921600,1045,25186 - pbn_b2_8_921600,1046,25204 - pbn_b2_bt_1_115200,1048,25223 - pbn_b2_bt_2_115200,1049,25244 - pbn_b2_bt_4_115200,1050,25265 - pbn_b2_bt_2_921600,1052,25287 - pbn_b2_bt_4_921600,1053,25308 - pbn_b3_4_115200,1055,25330 - pbn_b3_8_115200,1056,25348 - pbn_panacom,1061,25405 - pbn_panacom2,1062,25419 - pbn_panacom4,1063,25434 - pbn_plx_romulus,1064,25449 - pbn_oxsemi,1065,25467 - pbn_intel_i960,1066,25480 - pbn_sgi_ioc3,1067,25497 - pbn_nec_nile4,1068,25512 - pbn_computone_4,1069,25528 - pbn_computone_6,1070,25546 - pbn_computone_8,1071,25564 - pbn_sbsxrsio,1072,25582 - pbn_exar_XR17C152,1073,25597 - pbn_exar_XR17C154,1074,25617 - pbn_exar_XR17C158,1075,25637 -static struct pci_board pci_boards[1088,26044 -static struct pci_board pci_boards[] __devinitdata 1088,26044 -serial_pci_guess_board(1528,34355 -serial_pci_matches(1593,35984 -pciserial_init_one(1608,36464 -static void __devexit pciserial_remove_one(1724,39179 -static int pciserial_suspend_one(1756,39764 -static int pciserial_resume_one(1769,40001 -static struct pci_device_id serial_pci_tbl[1788,40341 -static struct pci_driver serial_pci_driver 2213,54027 -static int __init serial8250_pci_init(2222,54274 -static void __exit serial8250_pci_exit(2227,54368 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/serial/8250_pnp.c,547 -#define UNKNOWN_DEV 35,915 -static const struct pnp_device_id pnp_dev_table[38,944 -static char *modem_names[333,9692 -static char *modem_names[] __devinitdata 333,9692 -static int __devinit check_name(340,9954 -static int __devinit check_resources(351,10106 -static int __devinit serial_pnp_guess_board(382,11007 -serial_pnp_probe(397,11335 -static void __devexit serial_pnp_remove(426,12173 -static struct pnp_driver serial_pnp_driver 433,12321 -static int __init serial8250_pnp_init(440,12493 -static void __exit serial8250_pnp_exit(445,12591 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/fcp_impl.h,1758 -#define _FCP_SCSI_H8,208 -#define FCP_SCSI_USE_NEW_EH_CODE 23,414 -#define FC_CLASS_OUTBOUND 25,450 -#define FC_CLASS_INBOUND 26,481 -#define FC_CLASS_SIMPLE 27,511 -#define FC_CLASS_IO_WRITE 28,541 -#define FC_CLASS_IO_READ 29,572 -#define FC_CLASS_UNSOLICITED 30,602 -#define FC_CLASS_OFFLINE 31,636 -#define PROTO_OFFLINE 33,667 -#define PROTO_REPORT_AL_MAP 34,695 -#define PROTO_FORCE_LIP 35,728 -typedef struct fcp_cmnd fcp_cmnd39,781 -} fcp_cmnd;59,1270 -} fcp_posmap;fcp_posmap64,1345 -typedef struct _fc_channel _fc_channel66,1360 -} fc_channel;fc_channel109,2379 -#define FC_STATE_UNINITED 113,2427 -#define FC_STATE_ONLINE 114,2455 -#define FC_STATE_OFFLINE 115,2482 -#define FC_STATE_RESETING 116,2509 -#define FC_STATE_FPORT_OK 117,2537 -#define FC_STATE_MAYBEOFFLINE 118,2565 -#define FC_STATUS_OK 120,2598 -#define FC_STATUS_P_RJT 121,2623 -#define FC_STATUS_F_RJT 122,2651 -#define FC_STATUS_P_BSY 123,2679 -#define FC_STATUS_F_BSY 124,2707 -#define FC_STATUS_ERR_OFFLINE 125,2735 -#define FC_STATUS_TIMEOUT 126,2771 -#define FC_STATUS_ERR_OVERRUN 127,2803 -#define FC_STATUS_POINTTOPOINT 128,2839 -#define FC_STATUS_AL 129,2876 -#define FC_STATUS_UNKNOWN_CQ_TYPE 130,2904 -#define FC_STATUS_BAD_SEG_CNT 131,2943 -#define FC_STATUS_MAX_XCHG_EXCEEDED 132,2979 -#define FC_STATUS_BAD_XID 133,3020 -#define FC_STATUS_XCHG_BUSY 134,3052 -#define FC_STATUS_BAD_POOL_ID 135,3086 -#define FC_STATUS_INSUFFICIENT_CQES 136,3122 -#define FC_STATUS_ALLOC_FAIL 137,3163 -#define FC_STATUS_BAD_SID 138,3198 -#define FC_STATUS_NO_SEQ_INIT 139,3230 -#define FC_STATUS_TIMED_OUT 140,3266 -#define FC_STATUS_BAD_RSP 141,3298 -#define for_each_fc_channel(for_each_fc_channel151,3665 -#define for_each_online_fc_channel(for_each_online_fc_channel154,3747 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/soc.h,3854 -#define __SOC_H7,158 -#define CFG 14,287 -#define SAE 15,329 -#define CMD 16,383 -#define IMASK 17,437 -#define SOC_CFG_EXT_RAM_BANK_MASK 20,512 -#define SOC_CFG_EEPROM_BANK_MASK 21,557 -#define SOC_CFG_BURST64_MASK 22,601 -#define SOC_CFG_SBUS_PARITY_TEST 23,642 -#define SOC_CFG_SBUS_PARITY_CHECK 24,686 -#define SOC_CFG_SBUS_ENHANCED 25,731 -#define SOC_CFG_BURST_MASK 26,773 -#define SOC_CFG_BURST_4 28,825 -#define SOC_CFG_BURST_16 29,862 -#define SOC_CFG_BURST_32 30,899 -#define SOC_CFG_BURST_64 31,936 -#define SOC_SAE_ALIGNMENT 34,1008 -#define SOC_SAE_UNSUPPORTED 35,1046 -#define SOC_SAE_PARITY 36,1086 -#define SOC_CMD_RSP_QALL 39,1155 -#define SOC_CMD_RSP_Q0 40,1192 -#define SOC_CMD_RSP_Q1 41,1228 -#define SOC_CMD_RSP_Q2 42,1264 -#define SOC_CMD_RSP_Q3 43,1300 -#define SOC_CMD_REQ_QALL 44,1336 -#define SOC_CMD_REQ_Q0 45,1373 -#define SOC_CMD_REQ_Q1 46,1409 -#define SOC_CMD_REQ_Q2 47,1445 -#define SOC_CMD_REQ_Q3 48,1481 -#define SOC_CMD_SAE 49,1517 -#define SOC_CMD_INTR_PENDING 50,1550 -#define SOC_CMD_NON_QUEUED 51,1591 -#define SOC_CMD_IDLE 52,1630 -#define SOC_CMD_SOFT_RESET 53,1664 -#define SOC_IMASK_RSP_QALL 56,1734 -#define SOC_IMASK_RSP_Q0 57,1773 -#define SOC_IMASK_RSP_Q1 58,1810 -#define SOC_IMASK_RSP_Q2 59,1847 -#define SOC_IMASK_RSP_Q3 60,1884 -#define SOC_IMASK_REQ_QALL 61,1921 -#define SOC_IMASK_REQ_Q0 62,1960 -#define SOC_IMASK_REQ_Q1 63,1997 -#define SOC_IMASK_REQ_Q2 64,2034 -#define SOC_IMASK_REQ_Q3 65,2071 -#define SOC_IMASK_SAE 66,2108 -#define SOC_IMASK_NON_QUEUED 67,2143 -#define SOC_INTR(SOC_INTR69,2185 -#define SOC_SETIMASK(SOC_SETIMASK73,2290 -typedef void __iomem *xram_p;xram_p84,2536 -static inline u32 xram_get_32(87,2600 -static inline u32 xram_get_32low(94,2784 -static inline u16 xram_get_16(99,2870 -static inline u8 xram_get_8(104,2938 -static inline void xram_copy_from(114,3105 -static inline void xram_copy_to(126,3355 -static inline void xram_bzero(138,3595 -#define SOC_CQ_REQ_OFFSET 146,3743 -#define SOC_CQ_RSP_OFFSET 147,3791 -} soc_hw_cq;soc_hw_cq155,3919 -#define SOC_PORT_A 157,3933 -#define SOC_PORT_B 158,3980 -#define SOC_FC_HDR 159,4027 -#define SOC_NORSP 160,4079 -#define SOC_NOINT 161,4149 -#define SOC_XFERRDY 162,4217 -#define SOC_IGNOREPARAM 163,4268 -#define SOC_COMPLETE 164,4341 -#define SOC_UNSOLICITED 165,4394 -#define SOC_STATUS 167,4539 -} soc_hdr;175,4687 -} soc_data;soc_data180,4743 -#define SOC_CQTYPE_OUTBOUND 182,4756 -#define SOC_CQTYPE_INBOUND 183,4789 -#define SOC_CQTYPE_SIMPLE 184,4821 -#define SOC_CQTYPE_IO_WRITE 185,4852 -#define SOC_CQTYPE_IO_READ 186,4885 -#define SOC_CQTYPE_UNSOLICITED 187,4917 -#define SOC_CQTYPE_DIAG 188,4953 -#define SOC_CQTYPE_OFFLINE 189,4983 -#define SOC_CQTYPE_RESPONSE 190,5015 -#define SOC_CQTYPE_INLINE 191,5048 -#define SOC_CQFLAGS_CONT 193,5080 -#define SOC_CQFLAGS_FULL 194,5110 -#define SOC_CQFLAGS_BADHDR 195,5140 -#define SOC_CQFLAGS_BADPKT 196,5172 -} soc_req;soc_req206,5327 -#define SOC_OK 208,5339 -#define SOC_P_RJT 209,5358 -#define SOC_F_RJT 210,5379 -#define SOC_P_BSY 211,5400 -#define SOC_F_BSY 212,5421 -#define SOC_ONLINE 213,5442 -#define SOC_OFFLINE 214,5467 -#define SOC_TIMEOUT 215,5493 -#define SOC_OVERRUN 216,5519 -#define SOC_UNKOWN_CQ_TYPE 217,5545 -#define SOC_BAD_SEG_CNT 218,5577 -#define SOC_MAX_XCHG_EXCEEDED 219,5607 -#define SOC_BAD_XID 220,5642 -#define SOC_XCHG_BUSY 221,5668 -#define SOC_BAD_POOL_ID 222,5696 -#define SOC_INSUFFICIENT_CQES 223,5726 -#define SOC_ALLOC_FAIL 224,5761 -#define SOC_BAD_SID 225,5790 -#define SOC_NO_SEG_INIT 226,5816 -} soc_rsp;soc_rsp238,5997 -#define SOC_CQ_REQ0_SIZE 244,6099 -#define SOC_CQ_REQ1_SIZE 245,6126 -#define SOC_CQ_RSP0_SIZE 246,6154 -#define SOC_CQ_RSP1_SIZE 247,6181 -#define SOC_SOLICITED_RSP_Q 249,6209 -#define SOC_UNSOLICITED_RSP_Q 250,6239 -} soc_port;soc_port260,6391 -} soc_cq;soc_cq269,6528 -struct soc soc271,6539 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/fc.h,4601 -#define __FC_H11,317 -#define NAAID_IEEE 14,355 -#define NAAID_IEEE_EXT 15,377 -#define NAAID_LOCAL 16,403 -#define NAAID_IP 17,426 -#define NAAID_IEEE_REG 18,446 -#define NAAID_IEEE_REG_EXT 19,472 -#define NAAID_CCITT 20,501 -#define NAAID_CCITT_GRP 21,525 -} fc_wwn;fc_wwn29,659 -#define R_CTL_DEVICE_DATA 34,725 -#define R_CTL_EXTENDED_SVC 35,784 -#define R_CTL_FC4_SVC 36,847 -#define R_CTL_VIDEO 37,901 -#define R_CTL_BASIC_SVC 38,950 -#define R_CTL_LINK_CTL 39,1008 -#define R_CTL_UNCATEGORIZED 41,1091 -#define R_CTL_SOLICITED_DATA 42,1124 -#define R_CTL_UNSOL_CONTROL 43,1158 -#define R_CTL_SOLICITED_CONTROL 44,1191 -#define R_CTL_UNSOL_DATA 45,1228 -#define R_CTL_XFER_RDY 46,1258 -#define R_CTL_COMMAND 47,1287 -#define R_CTL_STATUS 48,1315 -#define R_CTL_LS_NOP 50,1371 -#define R_CTL_LS_ABTS 51,1398 -#define R_CTL_LS_RMC 52,1426 -#define R_CTL_LS_BA_ACC 53,1453 -#define R_CTL_LS_BA_RJT 54,1483 -#define R_CTL_ELS_REQ 56,1545 -#define R_CTL_ELS_RSP 57,1573 -#define R_CTL_ACK_1 59,1627 -#define R_CTL_ACK_N 60,1653 -#define R_CTL_P_RJT 61,1679 -#define R_CTL_F_RJT 62,1705 -#define R_CTL_P_BSY 63,1731 -#define R_CTL_F_BSY_DF 64,1757 -#define R_CTL_F_BSY_LC 65,1786 -#define R_CTL_LCR 66,1815 -#define TYPE_BASIC_LS 69,1857 -#define TYPE_EXTENDED_LS 70,1885 -#define TYPE_IS8802 71,1915 -#define TYPE_IS8802_SNAP 72,1941 -#define TYPE_SCSI_FCP 73,1971 -#define TYPE_SCSI_GPP 74,1999 -#define TYPE_HIPP_FP 75,2027 -#define TYPE_IPI3_MASTER 76,2054 -#define TYPE_IPI3_SLAVE 77,2084 -#define TYPE_IPI3_PEER 78,2114 -#define F_CTL_FILL_BYTES 81,2162 -#define F_CTL_XCHG_REASSEMBLE 82,2196 -#define F_CTL_RO_PRESENT 83,2235 -#define F_CTL_ABORT_SEQ 84,2269 -#define F_CTL_CONTINUE_SEQ 85,2303 -#define F_CTL_INVALIDATE_XID 86,2339 -#define F_CTL_XID_REASSIGNED 87,2377 -#define F_CTL_SEQ_INITIATIVE 88,2415 -#define F_CTL_CHAINED_SEQ 89,2453 -#define F_CTL_END_CONNECT 90,2488 -#define F_CTL_END_SEQ 91,2523 -#define F_CTL_LAST_SEQ 92,2555 -#define F_CTL_FIRST_SEQ 93,2588 -#define F_CTL_SEQ_CONTEXT 94,2622 -#define F_CTL_XCHG_CONTEXT 95,2657 -} fc_hdr;fc_hdr104,2848 -#define FILL_FCHDR_RCTL_DID(FILL_FCHDR_RCTL_DID106,2933 -#define FILL_FCHDR_SID(FILL_FCHDR_SID107,3019 -#define FILL_FCHDR_TYPE_FCTL(FILL_FCHDR_TYPE_FCTL108,3079 -#define FILL_FCHDR_SEQ_DF_SEQ(FILL_FCHDR_SEQ_DF_SEQ109,3172 -#define FILL_FCHDR_OXRX(FILL_FCHDR_OXRX110,3301 -#define FS_GENERAL_MULTICAST 113,3419 -#define FS_WELL_KNOWN_MULTICAST 114,3457 -#define FS_HUNT_GROUP 115,3498 -#define FS_MANAGEMENT_SERVER 116,3530 -#define FS_TIME_SERVER 117,3568 -#define FS_NAME_SERVER 118,3601 -#define FS_FABRIC_CONTROLLER 119,3634 -#define FS_FABRIC_F_PORT 120,3672 -#define FS_BROADCAST 121,3706 -} rjt_param;rjt_param130,3882 -#define RJT_RETRY 133,3922 -#define RJT_NONRETRY 134,3947 -#define RJT_INVALID_DID 137,4002 -#define RJT_INVALID_SID 138,4033 -#define RJT_NPORT_NOT_AVAIL_TEMP 139,4064 -#define RJT_NPORT_NOT_AVAIL_PERM 140,4102 -#define RJT_CLASS_NOT_SUPPORTED 141,4140 -#define RJT_DELIMITER_ERROR 142,4178 -#define RJT_TYPE_NOT_SUPPORTED 143,4212 -#define RJT_INVALID_LINK_CONTROL 144,4249 -#define RJT_INVALID_R_CTL 145,4287 -#define RJT_INVALID_F_CTL 146,4319 -#define RJT_INVALID_OX_ID 147,4351 -#define RJT_INVALID_RX_ID 148,4383 -#define RJT_INVALID_SEQ_ID 149,4415 -#define RJT_INVALID_DF_CTL 150,4448 -#define RJT_INVALID_SEQ_CNT 151,4481 -#define RJT_INVALID_PARAMETER 152,4515 -#define RJT_EXCHANGE_ERROR 153,4551 -#define RJT_PROTOCOL_ERROR 154,4584 -#define RJT_INCORRECT_LENGTH 155,4617 -#define RJT_UNEXPECTED_ACK 156,4652 -#define RJT_UNEXPECTED_LINK_RESP 157,4685 -#define RJT_LOGIN_REQUIRED 158,4723 -#define RJT_EXCESSIVE_SEQUENCES 159,4756 -#define RJT_CANT_ESTABLISH_EXCHANGE 160,4794 -#define RJT_SECURITY_NOT_SUPPORTED 161,4835 -#define RJT_FABRIC_NA 162,4875 -#define RJT_VENDOR_UNIQUE 163,4904 -#define SP_F_PORT_LOGIN 166,4938 -#define LS_RJT 169,4998 -#define LS_ACC 170,5026 -#define LS_PRLI_ACC 171,5054 -#define LS_PLOGI 172,5086 -#define LS_FLOGI 173,5115 -#define LS_LOGO 174,5144 -#define LS_ABTX 175,5173 -#define LS_RCS 176,5202 -#define LS_RES 177,5230 -#define LS_RSS 178,5258 -#define LS_RSI 179,5286 -#define LS_ESTS 180,5314 -#define LS_ESTC 181,5343 -#define LS_ADVC 182,5372 -#define LS_RTV 183,5401 -#define LS_RLS 184,5429 -#define LS_ECHO 185,5457 -#define LS_TEST 186,5486 -#define LS_RRQ 187,5515 -#define LS_IDENT 188,5543 -#define LS_PRLI 189,5572 -#define LS_DISPLAY 190,5601 -#define LS_PRLO 191,5632 -#define LS_PDISC 192,5661 -#define LS_ADISC 193,5690 -} common_svc_parm;common_svc_parm205,5894 -} svc_parm;svc_parm217,6086 -} logi;logi228,6258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/fc-al.h,250 -#define __FC_AL_H10,233 -#define FC_AL_LISM 13,287 -#define FC_AL_LIFA 14,350 -#define FC_AL_LIPA 15,426 -#define FC_AL_LIHA 16,508 -#define FC_AL_LISA 17,584 -#define FC_AL_LIRP 18,660 -#define FC_AL_LILP 19,736 -} fc_al_posmap;fc_al_posmap25,864 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/soc.c,729 -static char *version 20,968 -#define soc_printk 55,1751 -#define SOD(SOD58,1826 -#define SOD(SOD60,1862 -#define for_each_soc(for_each_soc63,1885 -struct soc *socs 64,1940 -static inline void soc_disable(66,1966 -static inline void soc_enable(72,2100 -static void soc_reset(82,2421 -static inline void soc_solicited 106,2830 -static inline void soc_request 167,4546 -static inline void soc_unsolicited 186,5288 -static irqreturn_t soc_intr(337,9183 -#define TOKEN(TOKEN355,9698 -static int soc_hw_enque 357,9764 -static inline void soc_download_fw(521,14664 -static inline void soc_init_bursts(532,14960 -static inline void soc_init(549,15473 -static int __init soc_probe(714,20439 -static void __exit soc_cleanup(738,20867 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/socal.h,5494 -#define __SOCAL_H7,166 -#define CFG 14,297 -#define SAE 15,316 -#define CMD 16,335 -#define IMASK 17,354 -#define REQP 18,375 -#define RESP 19,395 -#define SOCAL_CFG_EXT_RAM_BANK_MASK 22,438 -#define SOCAL_CFG_EEPROM_BANK_MASK 23,485 -#define SOCAL_CFG_BURST64_MASK 24,531 -#define SOCAL_CFG_SBUS_PARITY_TEST 25,574 -#define SOCAL_CFG_SBUS_PARITY_CHECK 26,620 -#define SOCAL_CFG_SBUS_ENHANCED 27,667 -#define SOCAL_CFG_BURST_MASK 28,711 -#define SOCAL_CFG_BURST_4 30,765 -#define SOCAL_CFG_BURST_8 31,803 -#define SOCAL_CFG_BURST_16 32,841 -#define SOCAL_CFG_BURST_32 33,880 -#define SOCAL_CFG_BURST_64 34,919 -#define SOCAL_CFG_BURST_128 35,958 -#define SOCAL_SAE_ALIGNMENT 38,1033 -#define SOCAL_SAE_UNSUPPORTED 39,1073 -#define SOCAL_SAE_PARITY 40,1115 -#define SOCAL_CMD_RSP_QALL 43,1185 -#define SOCAL_CMD_RSP_Q0 44,1224 -#define SOCAL_CMD_RSP_Q1 45,1261 -#define SOCAL_CMD_RSP_Q2 46,1298 -#define SOCAL_CMD_RSP_Q3 47,1335 -#define SOCAL_CMD_REQ_QALL 48,1372 -#define SOCAL_CMD_REQ_Q0 49,1411 -#define SOCAL_CMD_REQ_Q1 50,1448 -#define SOCAL_CMD_REQ_Q2 51,1485 -#define SOCAL_CMD_REQ_Q3 52,1522 -#define SOCAL_CMD_SAE 53,1559 -#define SOCAL_CMD_INTR_PENDING 54,1594 -#define SOCAL_CMD_NON_QUEUED 55,1637 -#define SOCAL_CMD_IDLE 56,1678 -#define SOCAL_CMD_SOFT_RESET 57,1714 -#define SOCAL_IMASK_RSP_QALL 60,1786 -#define SOCAL_IMASK_RSP_Q0 61,1827 -#define SOCAL_IMASK_RSP_Q1 62,1866 -#define SOCAL_IMASK_RSP_Q2 63,1905 -#define SOCAL_IMASK_RSP_Q3 64,1944 -#define SOCAL_IMASK_REQ_QALL 65,1983 -#define SOCAL_IMASK_REQ_Q0 66,2024 -#define SOCAL_IMASK_REQ_Q1 67,2063 -#define SOCAL_IMASK_REQ_Q2 68,2102 -#define SOCAL_IMASK_REQ_Q3 69,2141 -#define SOCAL_IMASK_SAE 70,2180 -#define SOCAL_IMASK_NON_QUEUED 71,2217 -#define SOCAL_INTR(SOCAL_INTR73,2261 -#define SOCAL_SETIMASK(SOCAL_SETIMASK77,2372 -#define SOCAL_MAX_EXCHANGES 82,2482 -#define SOCAL_CQ_REQ_OFFSET 93,2736 -#define SOCAL_CQ_RSP_OFFSET 94,2770 -} socal_hw_cq;socal_hw_cq102,2884 -#define SOCAL_PORT_A 104,2900 -#define SOCAL_PORT_B 105,2949 -#define SOCAL_FC_HDR 106,2998 -#define SOCAL_NORSP 107,3052 -#define SOCAL_NOINT 108,3124 -#define SOCAL_XFERRDY 109,3194 -#define SOCAL_IGNOREPARAM 110,3247 -#define SOCAL_COMPLETE 111,3322 -#define SOCAL_UNSOLICITED 112,3377 -#define SOCAL_STATUS 114,3524 -#define SOCAL_RSP_HDR 115,3585 -} socal_hdr;123,3741 -} socal_data;socal_data128,3799 -#define SOCAL_CQTYPE_NOP 130,3814 -#define SOCAL_CQTYPE_OUTBOUND 131,3844 -#define SOCAL_CQTYPE_INBOUND 132,3879 -#define SOCAL_CQTYPE_SIMPLE 133,3913 -#define SOCAL_CQTYPE_IO_WRITE 134,3946 -#define SOCAL_CQTYPE_IO_READ 135,3981 -#define SOCAL_CQTYPE_UNSOLICITED 136,4015 -#define SOCAL_CQTYPE_BYPASS_DEV 137,4053 -#define SOCAL_CQTYPE_DIAG 138,4090 -#define SOCAL_CQTYPE_OFFLINE 139,4121 -#define SOCAL_CQTYPE_ADD_POOL 140,4155 -#define SOCAL_CQTYPE_DELETE_POOL 141,4190 -#define SOCAL_CQTYPE_ADD_BUFFER 142,4228 -#define SOCAL_CQTYPE_ADD_POOL_BUFFER 143,4265 -#define SOCAL_CQTYPE_REQUEST_ABORT 144,4307 -#define SOCAL_CQTYPE_REQUEST_LIP 145,4347 -#define SOCAL_CQTYPE_REPORT_MAP 146,4385 -#define SOCAL_CQTYPE_RESPONSE 147,4422 -#define SOCAL_CQTYPE_INLINE 148,4457 -#define SOCAL_CQFLAGS_CONT 150,4491 -#define SOCAL_CQFLAGS_FULL 151,4523 -#define SOCAL_CQFLAGS_BADHDR 152,4555 -#define SOCAL_CQFLAGS_BADPKT 153,4589 -} socal_req;socal_req163,4749 -#define SOCAL_OK 165,4763 -#define SOCAL_P_RJT 166,4783 -#define SOCAL_F_RJT 167,4806 -#define SOCAL_P_BSY 168,4829 -#define SOCAL_F_BSY 169,4852 -#define SOCAL_ONLINE 170,4875 -#define SOCAL_OFFLINE 171,4902 -#define SOCAL_TIMEOUT 172,4930 -#define SOCAL_OVERRUN 173,4958 -#define SOCAL_ONLINE_LOOP 174,4986 -#define SOCAL_OLD_PORT 175,5017 -#define SOCAL_AL_PORT 176,5046 -#define SOCAL_UNKOWN_CQ_TYPE 177,5074 -#define SOCAL_BAD_SEG_CNT 178,5108 -#define SOCAL_MAX_XCHG_EXCEEDED 179,5139 -#define SOCAL_BAD_XID 180,5176 -#define SOCAL_XCHG_BUSY 181,5204 -#define SOCAL_BAD_POOL_ID 182,5234 -#define SOCAL_INSUFFICIENT_CQES 183,5265 -#define SOCAL_ALLOC_FAIL 184,5302 -#define SOCAL_BAD_SID 185,5332 -#define SOCAL_NO_SEG_INIT 186,5360 -#define SOCAL_BAD_DID 187,5391 -#define SOCAL_ABORTED 188,5419 -#define SOCAL_ABORT_FAILED 189,5447 -} socal_rsp;socal_rsp202,5647 -} socal_cmdonly;socal_cmdonly211,5763 -#define SOCAL_DIAG_NOP 213,5781 -#define SOCAL_DIAG_INT_LOOP 214,5810 -#define SOCAL_DIAG_EXT_LOOP 215,5843 -#define SOCAL_DIAG_REM_LOOP 216,5876 -#define SOCAL_DIAG_XRAM_TEST 217,5909 -#define SOCAL_DIAG_SOC_TEST 218,5943 -#define SOCAL_DIAG_HCB_TEST 219,5976 -#define SOCAL_DIAG_SOCLB_TEST 220,6009 -#define SOCAL_DIAG_SRDSLB_TEST 221,6044 -#define SOCAL_DIAG_EXTOE_TEST 222,6080 -} socal_diag_req;socal_diag_req232,6230 -#define SOCAL_POOL_MASK_RCTL 234,6249 -#define SOCAL_POOL_MASK_DID 235,6287 -#define SOCAL_POOL_MASK_SID 236,6324 -#define SOCAL_POOL_MASK_TYPE 237,6361 -#define SOCAL_POOL_MASK_F_CTL 238,6399 -#define SOCAL_POOL_MASK_SEQ_ID 239,6438 -#define SOCAL_POOL_MASK_D_CTL 240,6478 -#define SOCAL_POOL_MASK_SEQ_CNT 241,6517 -#define SOCAL_POOL_MASK_OX_ID 242,6558 -#define SOCAL_POOL_MASK_PARAM 243,6597 -} socal_pool_req;socal_pool_req257,6824 -#define SOCAL_CQ_REQ0_SIZE 263,6933 -#define SOCAL_CQ_REQ1_SIZE 264,6962 -#define SOCAL_CQ_RSP0_SIZE 265,6993 -#define SOCAL_CQ_RSP1_SIZE 266,7022 -#define SOCAL_CQ_RSP2_SIZE 267,7051 -#define SOCAL_SOLICITED_RSP_Q 269,7081 -#define SOCAL_SOLICITED_BAD_RSP_Q 270,7113 -#define SOCAL_UNSOLICITED_RSP_Q 271,7149 -} socal_port;socal_port281,7307 -} socal_cq;socal_cq290,7449 -struct socal socal292,7462 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/fcp.h,1661 -#define __FCP_H8,138 -#define FCP_CNTL_WRITE 14,302 -#define FCP_CNTL_READ 15,359 -#define FCP_CNTL_ABORT_TSK 16,414 -#define FCP_CNTL_CLR_TASK 17,473 -#define FCP_CNTL_RESET 18,531 -#define FCP_CNTL_CLR_ACA 19,578 -#define FCP_CNTL_KILL_TASK 20,630 -#define FCP_CNTL_QTYPE_MASK 21,689 -#define FCP_CNTL_QTYPE_SIMPLE 22,755 -#define FCP_CNTL_QTYPE_HEAD_OF_Q 23,798 -#define FCP_CNTL_QTYPE_ORDERED 24,843 -#define FCP_CNTL_QTYPE_ACA_Q_TAG 25,887 -#define FCP_CNTL_QTYPE_UNTAGGED 26,932 -} fcp_cmd;fcp_cmd33,1064 -#define FCP_STATUS_MASK 36,1099 -#define FCP_STATUS_RSP_LEN 37,1164 -#define FCP_STATUS_SENSE_LEN 38,1226 -#define FCP_STATUS_RESID 39,1287 -} fcp_rsp;fcp_rsp49,1525 -#define FCP_RSP_SCSI_BUS_ERR 54,1581 -#define FCP_RSP_SCSI_PORT_ERR 55,1615 -#define FCP_RSP_CARD_ERR 56,1650 -#define FCP_RSP_CMD_COMPLETE 59,1704 -#define FCP_RSP_CMD_INCOMPLETE 60,1740 -#define FCP_RSP_CMD_DMA_ERR 61,1778 -#define FCP_RSP_CMD_TRAN_ERR 62,1813 -#define FCP_RSP_CMD_RESET 63,1849 -#define FCP_RSP_CMD_ABORTED 64,1882 -#define FCP_RSP_CMD_TIMEOUT 65,1917 -#define FCP_RSP_CMD_OVERRUN 66,1952 -#define FCP_RSP_ST_GOT_BUS 69,2016 -#define FCP_RSP_ST_GOT_TARGET 70,2050 -#define FCP_RSP_ST_SENT_CMD 71,2087 -#define FCP_RSP_ST_XFRD_DATA 72,2122 -#define FCP_RSP_ST_GOT_STATUS 73,2158 -#define FCP_RSP_ST_GOT_SENSE 74,2195 -#define FCP_RSP_STAT_DISC 77,2259 -#define FCP_RSP_STAT_SYNC 78,2292 -#define FCP_RSP_STAT_PERR 79,2325 -#define FCP_RSP_STAT_BUS_RESET 80,2358 -#define FCP_RSP_STAT_DEV_RESET 81,2396 -#define FCP_RSP_STAT_ABORTED 82,2434 -#define FCP_RSP_STAT_TIMEOUT 83,2470 -#define FCP_RSP_STAT_NEGOTIATE 84,2506 -} fcp_scsi_err;fcp_scsi_err92,2650 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/fc.c,1972 -#define fc_printk 45,1580 -#define FCD(FCD48,1649 -#define FCND(FCND49,1678 -#define FCD(FCD51,1727 -#define FCND(FCND52,1742 -#define dma_alloc_consistent(dma_alloc_consistent56,1783 -#define dma_free_consistent(dma_free_consistent57,1848 -#define dma_map_single(dma_map_single58,1915 -#define dma_unmap_single(dma_unmap_single59,1976 -#define dma_map_sg(dma_map_sg60,2041 -#define dma_unmap_sg(dma_unmap_sg61,2094 -#define dma_alloc_consistent(dma_alloc_consistent63,2157 -#define dma_free_consistent(dma_free_consistent64,2221 -#define dma_map_single(dma_map_single65,2287 -#define dma_unmap_single(dma_unmap_single66,2347 -#define dma_map_sg(dma_map_sg67,2411 -#define dma_unmap_sg(dma_unmap_sg68,2463 -#define FCP_CMND(FCP_CMND71,2541 -#define FC_SCMND(FC_SCMND72,2593 -#define SC_FCMND(SC_FCMND73,2668 -static void fcp_scsi_insert_queue 78,2866 -static void fcp_scsi_remove_queue 92,3166 -fc_channel *fc_channels 104,3421 -#define LSMAGIC 106,3454 -} ls;ls117,3663 -#define LSOMAGIC 119,3670 -} lso;lso128,3842 -#define LSEMAGIC 130,3850 -} lse;lse137,3988 -static void fcp_login_timeout(139,3996 -static void fcp_login_done(146,4113 -static void fcp_report_map_done(243,7154 -void fcp_register(337,10055 -static inline void fcp_scsi_receive(384,11559 -void fcp_receive_solicited(464,13730 -void fcp_state_change(521,15184 -int fcp_initialize(532,15560 -int fcp_forceoffline(663,19709 -int fcp_init(714,21030 -void fcp_release(738,21411 -static void fcp_scsi_done 766,22016 -static int fcp_scsi_queue_it(776,22272 -int fcp_scsi_queuecommand(850,24813 -void fcp_queue_empty(873,25468 -int fcp_scsi_abort(886,25724 -void fcp_scsi_reset_done(926,26995 -#define FCP_RESET_TIMEOUT 934,27168 -int fcp_scsi_dev_reset(936,27202 -int fcp_scsi_bus_reset(1009,29378 -int fcp_scsi_host_reset(1015,29470 -static int fcp_els_queue_it(1036,29910 -static int fc_do_els(1048,30199 -int fc_do_plogi(1104,31680 -} prli;prli1137,32645 -int fc_do_prli(1139,32654 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/socal.c,885 -static char *version 15,485 -#define socal_printk 52,1315 -#define SOD(SOD55,1398 -#define SOD(SOD57,1436 -#define for_each_socal(for_each_socal60,1459 -struct socal *socals 61,1518 -static void socal_copy_from_xram(63,1548 -static void socal_copy_to_xram(73,1741 -static void socal_bzero(85,1973 -static inline void socal_disable(95,2128 -static inline void socal_enable(101,2268 -static void socal_reset(111,2600 -static inline void socal_solicited(135,3021 -static inline void socal_request 227,5664 -static inline void socal_unsolicited 244,6330 -static irqreturn_t socal_intr(407,10373 -#define TOKEN(TOKEN435,11149 -static int socal_hw_enque 437,11215 -static inline void socal_download_fw(607,16507 -static inline void socal_init_bursts(621,16967 -static inline void socal_init(658,18064 -static int __init socal_probe(851,24024 -static void __exit socal_cleanup(877,24470 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/fc4/fc_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/clps711xfb.c,571 -struct fb_info *cfb;37,1202 -#define CMAP_MAX_SIZE 39,1224 -static struct proc_dir_entry *clps7111fb_backlight_proc_entry 42,1291 -static unsigned int lcd_ac_prescale 54,1836 -clps7111fb_setcolreg(60,1963 -clps7111fb_check_var(100,2779 -clps7111fb_set_par(121,3183 -static int clps7111fb_blank(170,4546 -static struct fb_ops clps7111fb_ops 213,5646 -clps7111fb_proc_backlight_read(226,5989 -clps7111fb_proc_backlight_write(243,6367 -static void __init clps711x_guess_lcd_params(275,6872 -int __init clps711xfb_init(363,9017 -static void __exit clps711xfb_exit(424,10401 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cg14.c,2613 -static struct fb_ops cg14_ops 43,1064 -#define CG14_MCR_INTENABLE_SHIFT 55,1372 -#define CG14_MCR_INTENABLE_MASK 56,1407 -#define CG14_MCR_VIDENABLE_SHIFT 57,1445 -#define CG14_MCR_VIDENABLE_MASK 58,1480 -#define CG14_MCR_PIXMODE_SHIFT 59,1518 -#define CG14_MCR_PIXMODE_MASK 60,1552 -#define CG14_MCR_TMR_SHIFT 61,1588 -#define CG14_MCR_TMR_MASK 62,1618 -#define CG14_MCR_TMENABLE_SHIFT 63,1650 -#define CG14_MCR_TMENABLE_MASK 64,1685 -#define CG14_MCR_RESET_SHIFT 65,1722 -#define CG14_MCR_RESET_MASK 66,1754 -#define CG14_REV_REVISION_SHIFT 67,1788 -#define CG14_REV_REVISION_MASK 68,1823 -#define CG14_REV_IMPL_SHIFT 69,1860 -#define CG14_REV_IMPL_MASK 70,1891 -#define CG14_VBR_FRAMEBASE_SHIFT 71,1924 -#define CG14_VBR_FRAMEBASE_MASK 72,1960 -#define CG14_VMCR1_SETUP_SHIFT 73,2004 -#define CG14_VMCR1_SETUP_MASK 74,2038 -#define CG14_VMCR1_VCONFIG_SHIFT 75,2080 -#define CG14_VMCR1_VCONFIG_MASK 76,2115 -#define CG14_VMCR2_REFRESH_SHIFT 77,2159 -#define CG14_VMCR2_REFRESH_MASK 78,2194 -#define CG14_VMCR2_TESTROWCNT_SHIFT 79,2238 -#define CG14_VMCR2_TESTROWCNT_MASK 80,2276 -#define CG14_VMCR2_FBCONFIG_SHIFT 81,2322 -#define CG14_VMCR2_FBCONFIG_MASK 82,2358 -#define CG14_VCR_REFRESHREQ_SHIFT 83,2402 -#define CG14_VCR_REFRESHREQ_MASK 84,2438 -#define CG14_VCR1_REFRESHENA_SHIFT 85,2482 -#define CG14_VCR1_REFRESHENA_MASK 86,2520 -#define CG14_VCA_CAD_SHIFT 87,2565 -#define CG14_VCA_CAD_MASK 88,2595 -#define CG14_VCA_VERS_SHIFT 89,2633 -#define CG14_VCA_VERS_MASK 90,2665 -#define CG14_VCA_RAMSPEED_SHIFT 91,2704 -#define CG14_VCA_RAMSPEED_MASK 92,2740 -#define CG14_VCA_8MB_SHIFT 93,2783 -#define CG14_VCA_8MB_MASK 94,2814 -#define CG14_MCR_PIXMODE_8 96,2853 -#define CG14_MCR_PIXMODE_16 97,2883 -#define CG14_MCR_PIXMODE_32 98,2914 -struct cg14_regs{cg14_regs100,2946 -#define CG14_CCR_ENABLE 135,4214 -#define CG14_CCR_SELECT 136,4243 -struct cg14_cursor cg14_cursor138,4294 -struct cg14_dac cg14_dac152,4738 -struct cg14_xlut{cg14_xlut162,4966 -struct cg14_clut cg14_clut180,5618 -#define CG14_MMAP_ENTRIES 187,5765 -struct cg14_par cg14_par189,5795 -#define CG14_FLAG_BLANKED 196,5926 -static void __cg14_reset(210,6174 -static int cg14_pan_display(220,6369 -static int cg14_setcolreg(246,7217 -static int cg14_mmap(267,7696 -static int cg14_ioctl(276,7949 -static void cg14_init_fix(355,9627 -static struct sbus_mmap_map __cg14_mmap_map[369,9977 -static struct sbus_mmap_map __cg14_mmap_map[CG14_MMAP_ENTRIES] __initdata 369,9977 -struct all_info all_info448,11198 -static void cg14_init_one(455,11317 -int __init cg14_init(582,14770 -void __exit cg14_exit(612,15338 -cg14_setup(626,15611 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/tgafb.c,757 -static const char *mode_option 52,1588 -static struct fb_ops tgafb_ops 59,1673 -static struct pci_device_id const tgafb_pci_table[76,2035 -static struct pci_driver tgafb_driver 81,2177 -tgafb_check_var(95,2576 -tgafb_set_par(129,3493 -#define DIFFCHECK(DIFFCHECK325,9677 -tgafb_set_pll(337,9987 -tgafb_setcolreg(425,12201 -tgafb_blank(457,13128 -tgafb_imageblit(523,14935 -tgafb_fillrect(782,22737 -copyarea_line_8bpp(911,26815 -copyarea_line_32bpp(956,27875 -copyarea_foreward_8bpp(1004,29005 -copyarea_backward_8bpp(1163,33032 -tgafb_copyarea(1264,35481 -tgafb_init_fix(1325,37112 -tgafb_pci_register(1368,38176 - struct all_info all_info1377,38396 -tgafb_pci_unregister(1482,41235 -tgafb_exit(1497,41563 -tgafb_setup(1505,41670 -tgafb_init(1527,42026 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pmag-ba-fb.c,407 -struct pmag_ba_ramdac_regs pmag_ba_ramdac_regs39,1225 -static struct fb_info pmagba_fb_info[52,1476 -static struct fb_var_screeninfo pmagbafb_defined 54,1518 -static struct fb_fix_screeninfo pmagbafb_fix 70,1863 -void pmagbafb_erase_cursor(81,2091 -static int pmagbafb_setcolreg(91,2267 -static struct fb_ops pmagbafb_ops 112,2898 -int __init pmagbafb_init_one(121,3120 -int __init pmagbafb_init(158,3956 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_maven.h,80 -#define __MATROXFB_MAVEN_H__2,29 -struct i2c_bit_adapter i2c_bit_adapter9,167 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_base.h,9602 -#define __MATROXFB_H__9,178 -#define CONFIG_FB_MATROX_32MB62,1430 -#define DEBUG66,1484 -#define DBG(DBG67,1498 -#define DBG_HEAVY(DBG_HEAVY70,1585 -#define DBG_HEAVY(DBG_HEAVY72,1646 -#define DBG_LOOP(DBG_LOOP76,1745 -#define DBG_LOOP(DBG_LOOP78,1804 -#define DBG_REG(DBG_REG82,1899 -#define DBG_REG(DBG_REG84,1956 -#define DBG(DBG89,2050 -#define DBG_HEAVY(DBG_HEAVY90,2076 -#define DBG_REG(DBG_REG91,2113 -#define DBG_LOOP(DBG_LOOP92,2146 -#define ioremap_nocache(ioremap_nocache98,2282 -#define READx_WORKS103,2430 -#define MEMCPYTOIO_WORKS104,2450 -#define READx_FAILS109,2671 -#define MEMCPYTOIO_WRITEL110,2691 -#define MAP_BUSTOVIRT114,2750 -#define MAP_IOREMAP116,2778 -#define dprintk(dprintk120,2819 -#define dprintk(dprintk122,2857 -#define PCI_SS_VENDOR_ID_SIEMENS_NIXDORF 126,2928 -#define PCI_SS_VENDOR_ID_MATROX 129,3015 -#define PCI_SS_ID_MATROX_GENERIC 133,3122 -#define PCI_SS_ID_MATROX_PRODUCTIVA_G100_AGP 134,3163 -#define PCI_SS_ID_MATROX_MYSTIQUE_G200_AGP 135,3215 -#define PCI_SS_ID_MATROX_MILLENIUM_G200_AGP 136,3265 -#define PCI_SS_ID_MATROX_MARVEL_G200_AGP 137,3316 -#define PCI_SS_ID_MATROX_MGA_G100_PCI 138,3364 -#define PCI_SS_ID_MATROX_MGA_G100_AGP 139,3410 -#define PCI_SS_ID_MATROX_MILLENNIUM_G400_MAX_AGP 140,3456 -#define PCI_SS_ID_SIEMENS_MGA_G100_AGP 141,3512 -#define PCI_SS_ID_SIEMENS_MGA_G200_AGP 142,3568 -#define MX_VISUAL_TRUECOLOR 145,3632 -#define MX_VISUAL_DIRECTCOLOR 146,3682 -#define MX_VISUAL_PSEUDOCOLOR 147,3732 -#define CNVT_TOHW(CNVT_TOHW149,3785 -#define NEED_DAC1064 154,3997 -} vaddr_t;vaddr_t159,4071 -static inline unsigned int mga_readb(162,4102 -static inline unsigned int mga_readw(166,4207 -static inline u_int32_t mga_readl(170,4312 -static inline void mga_writeb(174,4414 -static inline void mga_writew(178,4529 -static inline void mga_writel(182,4645 -static inline unsigned int mga_readb(186,4766 -static inline unsigned int mga_readw(190,4877 -static inline u_int32_t mga_readl(194,4988 -static inline void mga_writeb(198,5096 -static inline void mga_writew(202,5217 -static inline void mga_writel(206,5339 -static inline void mga_memcpy_toio(211,5468 -static inline void vaddr_add(241,6079 -static inline void __iomem* vaddr_va(245,6166 -#define MGA_IOREMAP_NORMAL 249,6238 -#define MGA_IOREMAP_NOCACHE 250,6267 -#define MGA_IOREMAP_FB 252,6298 -#define MGA_IOREMAP_MMIO 253,6342 -static inline int mga_ioremap(254,6387 -static inline void mga_iounmap(270,6863 -struct my_timming my_timming276,6957 -enum { M_SYSTEM_PLL,294,7326 -enum { M_SYSTEM_PLL, M_PIXEL_PLL_A,294,7326 -enum { M_SYSTEM_PLL, M_PIXEL_PLL_A, M_PIXEL_PLL_B,294,7326 -enum { M_SYSTEM_PLL, M_PIXEL_PLL_A, M_PIXEL_PLL_B, M_PIXEL_PLL_C,294,7326 -enum { M_SYSTEM_PLL, M_PIXEL_PLL_A, M_PIXEL_PLL_B, M_PIXEL_PLL_C, M_VIDEO_PLL 294,7326 -struct matrox_pll_cache matrox_pll_cache296,7408 -struct matrox_pll_limits matrox_pll_limits304,7538 -struct matrox_pll_features matrox_pll_features309,7613 -struct matroxfb_parmatroxfb_par319,7836 -struct matrox_DAC1064_features matrox_DAC1064_features332,8037 -struct matrox_accel_features matrox_accel_features337,8116 -struct mavenregs mavenregs342,8203 -struct matrox_crtc2 matrox_crtc2353,8333 -struct matrox_hw_state matrox_hw_state357,8375 -struct matrox_accel_data matrox_accel_data377,8823 -struct matrox_altout matrox_altout388,9011 -#define MATROXFB_SRC_NONE 402,9461 -#define MATROXFB_SRC_CRTC1 403,9489 -#define MATROXFB_SRC_CRTC2 404,9518 -enum mga_chip mga_chip406,9548 -enum mga_chip { MGA_2064,406,9548 -enum mga_chip { MGA_2064, MGA_2164,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064, MGA_1164,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064, MGA_1164, MGA_G100,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064, MGA_1164, MGA_G100, MGA_G200,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064, MGA_1164, MGA_G100, MGA_G200, MGA_G400,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064, MGA_1164, MGA_G100, MGA_G200, MGA_G400, MGA_G450,406,9548 -enum mga_chip { MGA_2064, MGA_2164, MGA_1064, MGA_1164, MGA_G100, MGA_G200, MGA_G400, MGA_G450, MGA_G550 406,9548 -struct matrox_bios matrox_bios408,9657 -struct matrox_vsync matrox_vsync426,9995 -struct matrox_fb_info matrox_fb_info431,10066 -#define MATROXFB_MAX_OUTPUTS 469,10784 -#define MATROXFB_MAX_FB_DRIVERS 478,10984 -#define info2minfo(info2minfo596,13442 -#define ACCESS_FBINFO2(ACCESS_FBINFO2599,13551 -#define ACCESS_FBINFO(ACCESS_FBINFO600,13593 -#define MINFO 602,13643 -#define WPMINFO2 604,13664 -#define WPMINFO 605,13710 -#define CPMINFO2 606,13738 -#define CPMINFO 607,13790 -#define PMINFO2 608,13818 -#define PMINFO 609,13841 -#define MINFO_FROM(MINFO_FROM611,13869 -#define ACCESS_FBINFO(ACCESS_FBINFO616,13988 -#define ACCESS_FBINFO2(ACCESS_FBINFO2617,14040 -#define MINFO 619,14100 -#define WPMINFO2 621,14141 -#define WPMINFO622,14163 -#define CPMINFO2 623,14179 -#define CPMINFO624,14201 -#define PMINFO2625,14217 -#define PMINFO626,14233 -#define MINFO_FROM(MINFO_FROM628,14249 -#define MINFO_FROM_INFO(MINFO_FROM_INFO632,14280 -struct matrox_switch matrox_switch634,14334 -struct matroxfb_driver matroxfb_driver641,14484 -#define PCI_OPTION_REG 651,14782 -#define PCI_OPTION_ENABLE_ROM 652,14810 -#define PCI_MGA_INDEX 654,14855 -#define PCI_MGA_DATA 655,14882 -#define PCI_OPTION2_REG 656,14908 -#define PCI_OPTION3_REG 657,14937 -#define PCI_MEMMISC_REG 658,14966 -#define M_DWGCTL 660,14996 -#define M_MACCESS 661,15020 -#define M_CTLWTST 662,15045 -#define M_PLNWT 664,15071 -#define M_BCOL 666,15096 -#define M_FCOL 667,15119 -#define M_SGN 669,15143 -#define M_LEN 670,15165 -#define M_AR0 671,15187 -#define M_AR1 672,15209 -#define M_AR2 673,15231 -#define M_AR3 674,15253 -#define M_AR4 675,15275 -#define M_AR5 676,15297 -#define M_AR6 677,15319 -#define M_CXBNDRY 679,15342 -#define M_FXBNDRY 680,15367 -#define M_YDSTLEN 681,15392 -#define M_PITCH 682,15417 -#define M_YDST 683,15441 -#define M_YDSTORG 684,15464 -#define M_YTOP 685,15489 -#define M_YBOT 686,15512 -#define M_CACHEFLUSH 689,15556 -#define M_EXEC 691,15585 -#define M_DWG_TRAP 693,15609 -#define M_DWG_BITBLT 694,15633 -#define M_DWG_ILOAD 695,15659 -#define M_DWG_LINEAR 697,15685 -#define M_DWG_SOLID 698,15713 -#define M_DWG_ARZERO 699,15740 -#define M_DWG_SGNZERO 700,15768 -#define M_DWG_SHIFTZERO 701,15797 -#define M_DWG_REPLACE 703,15829 -#define M_DWG_REPLACE2 704,15862 -#define M_DWG_XOR 705,15908 -#define M_DWG_BFCOL 707,15938 -#define M_DWG_BMONOWF 708,15969 -#define M_DWG_TRANSC 710,16003 -#define M_FIFOSTATUS 712,16036 -#define M_STATUS 713,16064 -#define M_ICLEAR 714,16088 -#define M_IEN 715,16112 -#define M_VCOUNT 717,16135 -#define M_RESET 719,16160 -#define M_MEMRDBK 720,16184 -#define M_AGP2PLL 722,16210 -#define M_OPMODE 724,16236 -#define M_OPMODE_DMA_GEN_WRITE 725,16260 -#define M_OPMODE_DMA_BLIT 726,16300 -#define M_OPMODE_DMA_VECTOR_WRITE 727,16336 -#define M_OPMODE_DMA_LE 728,16379 -#define M_OPMODE_DMA_BE_8BPP 729,16456 -#define M_OPMODE_DMA_BE_16BPP 730,16496 -#define M_OPMODE_DMA_BE_32BPP 731,16537 -#define M_OPMODE_DIR_LE 732,16578 -#define M_OPMODE_DIR_BE_8BPP 733,16656 -#define M_OPMODE_DIR_BE_16BPP 734,16698 -#define M_OPMODE_DIR_BE_32BPP 735,16741 -#define M_ATTR_INDEX 737,16785 -#define M_ATTR_DATA 738,16813 -#define M_MISC_REG 740,16841 -#define M_3C2_RD 741,16867 -#define M_SEQ_INDEX 743,16892 -#define M_SEQ_DATA 744,16919 -#define M_MISC_REG_READ 746,16946 -#define M_GRAPHICS_INDEX 748,16978 -#define M_GRAPHICS_DATA 749,17010 -#define M_CRTC_INDEX 751,17042 -#define M_ATTR_RESET 753,17071 -#define M_3DA_WR 754,17099 -#define M_INSTS1 755,17123 -#define M_EXTVGA_INDEX 757,17148 -#define M_EXTVGA_DATA 758,17178 -#define M_SRCORG 761,17224 -#define M_DSTORG 762,17248 -#define M_RAMDAC_BASE 764,17273 -#define M_DAC_REG 767,17350 -#define M_DAC_VAL 768,17386 -#define M_PALETTE_MASK 769,17422 -#define M_X_INDEX 771,17464 -#define M_X_DATAREG 772,17487 -#define DAC_XGENIOCTRL 774,17513 -#define DAC_XGENIODATA 775,17542 -#define M_C2CTL 777,17572 -#define MX_OPTION_BSWAP 780,17620 -#define M_OPMODE_4BPP 782,17657 -#define M_OPMODE_8BPP 783,17735 -#define M_OPMODE_16BPP 784,17813 -#define M_OPMODE_24BPP 785,17892 -#define M_OPMODE_32BPP 786,17971 -#define MX_OPTION_BSWAP 789,18076 -#define M_OPMODE_4BPP 791,18113 -#define M_OPMODE_8BPP 792,18202 -#define M_OPMODE_16BPP 793,18292 -#define M_OPMODE_24BPP 794,18383 -#define M_OPMODE_32BPP 795,18488 -#define mga_inb(mga_inb801,18660 -#define mga_inl(mga_inl802,18727 -#define mga_outb(mga_outb803,18794 -#define mga_outw(mga_outw804,18874 -#define mga_outl(mga_outl805,18954 -#define mga_readr(mga_readr806,19034 -#define mga_setr(mga_setr808,19129 -#define mga_setr(mga_setr810,19203 -#define mga_fifo(mga_fifo813,19307 -#define WaitTillIdle(WaitTillIdle815,19379 -#define isInterleave(isInterleave819,19498 -#define isMillenium(isMillenium820,19539 -#define isMilleniumII(isMilleniumII821,19578 -#define isInterleave(isInterleave823,19626 -#define isMillenium(isMillenium824,19655 -#define isMilleniumII(isMilleniumII825,19683 -#define matroxfb_DAC_lock(matroxfb_DAC_lock828,19720 -#define matroxfb_DAC_unlock(matroxfb_DAC_unlock829,19802 -#define matroxfb_DAC_lock_irqsave(matroxfb_DAC_lock_irqsave830,19886 -#define matroxfb_DAC_unlock_irqrestore(matroxfb_DAC_unlock_irqrestore831,19982 -#define CRITBEGIN 840,20451 -#define CRITEND 841,20528 -#define CRITFLAGS 842,20610 -#define CRITBEGIN844,20660 -#define CRITEND845,20678 -#define CRITFLAGS846,20694 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_DAC1064.c,1804 -#define outDAC1064 25,532 -#define inDAC1064 26,568 -#define DAC1064_OPT_SCLK_PCI 28,603 -#define DAC1064_OPT_SCLK_PLL 29,637 -#define DAC1064_OPT_SCLK_EXT 30,671 -#define DAC1064_OPT_SCLK_MASK 31,705 -#define DAC1064_OPT_GDIV1 32,740 -#define DAC1064_OPT_GDIV3 33,806 -#define DAC1064_OPT_MDIV1 34,837 -#define DAC1064_OPT_MDIV2 35,868 -#define DAC1064_OPT_RESERVED 36,899 -static void DAC1064_calcclock(38,934 -static const unsigned char MGA1064_DAC_regs[61,1416 -static const unsigned char MGA1064_DAC[72,1963 -static void DAC1064_setpclk(85,2535 -static void DAC1064_setmclk(96,2819 -static void g450_set_plls(159,5075 -void DAC1064_global_init(250,8208 -void DAC1064_global_restore(323,11050 -static int DAC1064_init_1(340,11752 -static int DAC1064_init_2(376,13112 -static void DAC1064_restore_1(418,14152 -static void DAC1064_restore_2(448,14891 -static int m1064_compute(468,15387 -#define minfo 469,15447 -static struct matrox_altout m1064 496,15928 -static int g450_compute(502,16054 -#define minfo 503,16113 -static struct matrox_altout g450out 514,16391 -static int MGA1064_init(523,16556 -static int MGAG100_init(545,17113 -static void MGA1064_ramdac_init(568,17714 -static int x7AF4 588,18500 -static int def50 591,18635 -static void MGAG100_progPixClock(594,18761 -static void MGAG100_setPixClock(638,20307 -static int MGA1064_preinit(649,20580 -static void MGA1064_reset(687,21882 -static void g450_mclk_init(697,22041 -static void g450_memory_init(725,23353 -static void g450_preinit(767,25165 -static inline void g450_preinit(815,26559 -static int MGAG100_preinit(819,26613 -static void MGAG100_reset(964,31932 -static void MGA1064_restore(1021,33815 -static void MGAG100_restore(1047,34342 -struct matrox_switch matrox_mystique 1074,34942 -struct matrox_switch matrox_G100 1081,35119 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_misc.h,72 -#define __MATROXFB_MISC_H__2,28 -static inline int PLL_calcclock(9,272 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/g450_pll.c,858 -static inline unsigned int g450_vco2f(20,449 -static inline unsigned int g450_f2vco(24,579 -static unsigned int g450_mnp2vco(28,706 -unsigned int g450_mnp2f(36,922 -static inline unsigned int pll_freq_delta(40,1028 -#define NO_MORE_MNP 49,1186 -#define G450_MNP_FREQBITS 50,1217 -static unsigned int g450_nextpll(52,1312 -static unsigned int g450_firstpll(98,2247 -static inline unsigned int g450_setpll(127,2796 -static inline unsigned int g450_cmppll(162,3977 -static inline int g450_isplllocked(196,5100 -static int g450_testpll(214,5478 -static void updatehwstate_clk(218,5614 -void matroxfb_g450_setpll_cond(228,5846 -static inline unsigned int g450_findworkingpll(234,5998 -static void g450_addcache(277,7071 -static int g450_checkcache(286,7418 -static int __g450_setclk(306,7879 -#define MNP_TABLE_SIZE 456,11629 -int matroxfb_g450_setclk(458,11657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/g450_pll.h,28 -#define __G450_PLL_H__2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_base.c,5979 -static int default_vmode 120,4012 -static int default_cmode 121,4052 -static struct fb_var_screeninfo vesafb_defined 134,4352 -static void update_crtc2(156,4929 -static void matroxfb_crtc1_panpos(179,5699 -static irqreturn_t matrox_irq(200,6230 -int matroxfb_enable_irq(225,6789 -static void matroxfb_disable_irq(254,7499 -int matroxfb_wait_for_sync(266,7898 -static void matrox_pan_var(305,8695 -static void matroxfb_remove(358,10234 -static int matroxfb_open(392,11389 -static int matroxfb_release(408,11639 -static int matroxfb_pan_display(425,11957 -static int matroxfb_get_final_bppShift(435,12134 -static int matroxfb_test_and_set_rounding(451,12403 -static int matroxfb_pitch_adjust(482,13085 -static int matroxfb_get_cmap_len(510,13720 -static int matroxfb_decode_var(532,14525 - struct RGBT RGBT533,14654 -#define SETCLR(SETCLR626,17416 -static int matroxfb_setcolreg(648,18062 -static void matroxfb_init_fix(708,19888 -static void matroxfb_update_fix(723,20283 -static int matroxfb_check_var(732,20578 -static int matroxfb_set_par(748,20906 -static int matroxfb_get_vblank(841,24098 -static struct matrox_altout panellink_output 869,25024 -static int matroxfb_ioctl(873,25107 -static int matroxfb_blank(1171,32609 -static struct fb_ops matroxfb_ops 1202,33259 -#define RSDepth(RSDepth1218,33780 -#define RS8bpp 1219,33819 -#define RS15bpp 1220,33839 -#define RS16bpp 1221,33860 -#define RS32bpp 1222,33881 -#define RS4bpp 1223,33902 -#define RS24bpp 1224,33922 -#define RSText 1225,33943 -#define RSText8 1226,33963 -static struct { struct fb_bitfield red, green, blue, transp; int bits_per_pixel; } colors[1228,33994 -static unsigned int mem;1240,34728 -static int option_precise_width 1241,34780 -static int inv24;1242,34885 -static int cross4MB 1243,34926 -static int disabled;1244,34977 -static int noaccel;1245,35024 -static int nopan;1246,35069 -static int no_pci_retry;1247,35110 -static int novga;1248,35162 -static int nobios;1249,35203 -static int noinit 1250,35246 -static int inverse;1251,35291 -static int sgram;1252,35336 -static int mtrr 1254,35396 -static int grayscale;1256,35448 -static int dev 1257,35497 -static unsigned int vesa 1258,35545 -static int depth 1259,35603 -static unsigned int xres;1260,35655 -static unsigned int yres;1261,35708 -static unsigned int upper 1262,35761 -static unsigned int lower 1263,35821 -static unsigned int vslen;1264,35881 -static unsigned int left 1265,35936 -static unsigned int right 1266,35994 -static unsigned int hslen;1267,36054 -static unsigned int pixclock;1268,36109 -static int sync 1269,36170 -static unsigned int fv;1270,36220 -static unsigned int fh;1271,36270 -static unsigned int maxclk;1272,36321 -static int dfp;1273,36378 -static int dfp_type 1274,36415 -static int memtype 1275,36464 -static char outputs[1276,36517 -static char videomode[1279,36586 -static int matroxfb_getmemory(1282,36666 -struct video_board video_board1333,38141 -static struct video_board vbMillennium 1340,38284 -static struct video_board vbMillennium2 1341,38396 -static struct video_board vbMillennium2A 1342,38509 -static struct video_board vbMystique 1345,38699 -static struct video_board vbG100 1348,38876 -static struct video_board vbG200 1349,38975 -static struct video_board vbG400 1353,39233 -static struct video_board vbG400 1355,39338 -#define DEVF_VIDEO64BIT 1359,39452 -#define DEVF_SWAPS 1360,39484 -#define DEVF_SRCORG 1361,39511 -#define DEVF_DUALHEAD 1362,39539 -#define DEVF_CROSS4MB 1363,39569 -#define DEVF_TEXT4B 1364,39599 -#define DEVF_SUPPORT32MB 1367,39697 -#define DEVF_ANY_VXRES 1368,39729 -#define DEVF_TEXT16B 1369,39760 -#define DEVF_CRTC2 1370,39789 -#define DEVF_MAVEN_CAPABLE 1371,39816 -#define DEVF_PANELLINK_CAPABLE 1372,39850 -#define DEVF_G450DAC 1373,39888 -#define DEVF_GCORE 1375,39918 -#define DEVF_G2CORE 1376,39984 -#define DEVF_G100 1377,40110 -#define DEVF_G200 1378,40167 -#define DEVF_G400 1379,40199 -#define DEVF_G450 1381,40319 -#define DEVF_G550 1382,40459 -static struct board board1384,40490 - } dev_list[1391,40670 -static struct fb_videomode defaultmode 1533,43756 -static int hotplug 1540,43934 -static void setDefaultOutputs(1542,43959 -static int initMatrox2(1575,44905 -#define matroxfb_l(matroxfb_l1899,56814 -#define matroxfb_driver_l(matroxfb_driver_l1900,56882 -int matroxfb_register_driver(1901,56955 -void matroxfb_unregister_driver(1921,57467 -static void matroxfb_register_device(1942,58054 -static void matroxfb_unregister_device(1962,58605 -static int matroxfb_probe(1974,58898 -static void pci_remove_matrox(2073,61489 -static struct pci_device_id matroxfb_devices[2080,61638 -static struct pci_driver matroxfb_driver 2114,62774 -#define RSResolution(RSResolution2123,63012 -#define RS640x400 2124,63049 -#define RS640x480 2125,63069 -#define RS800x600 2126,63089 -#define RS1024x768 2127,63109 -#define RS1280x1024 2128,63130 -#define RS1600x1200 2129,63152 -#define RS768x576 2130,63174 -#define RS960x720 2131,63194 -#define RS1152x864 2132,63214 -#define RS1408x1056 2133,63235 -#define RS640x350 2134,63258 -#define RS1056x344 2135,63279 -#define RS1056x400 2136,63321 -#define RS1056x480 2137,63363 -#define RSNoxNo 2138,63405 -static struct { int xres, yres, left, right, upper, lower, hslen, vslen, vfreq; } timmings[2140,63437 -static struct { int xres, yres, left, right, upper, lower, hslen, vslen, vfreq; } timmings[] __initdata 2140,63437 -#define RSCreate(RSCreate2158,64238 -static struct { unsigned int vesa; unsigned int info; } *RSptr,2159,64279 -static struct { unsigned int vesa; unsigned int info; } *RSptr, vesamap[2159,64279 -static struct { unsigned int vesa; unsigned int info; } *RSptr, vesamap[] __initdata 2159,64279 -static void __init matroxfb_init_params(2215,66704 -static void __init matrox_init(2259,67834 -static void __exit matrox_done(2267,68064 -int __init matroxfb_setup(2275,68244 -static int __initdata initialized 2414,72579 -int __init matroxfb_init(2416,72619 -int __init init_module(2528,78103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_crtc2.c,1396 -static int mem 22,470 -static int matroxfb_dh_setcolreg(29,652 -#define m2info 32,805 -static void matroxfb_dh_restore(62,1681 -static void matroxfb_dh_disable(159,4508 -static void matroxfb_dh_cfbX_init(166,4744 -static void matroxfb_dh_pan_var(171,4896 -static int matroxfb_dh_decode_var(192,5537 -static int matroxfb_dh_open(266,7409 -#define m2info 267,7471 -static int matroxfb_dh_release(285,7784 -#define m2info 286,7849 -static void matroxfb_dh_init_fix(297,8086 -static int matroxfb_dh_check_var(312,8508 -#define m2info 313,8596 -static int matroxfb_dh_set_par(322,8796 -#define m2info 323,8851 -static int matroxfb_dh_pan_display(394,11090 -#define m2info 395,11180 -static int matroxfb_dh_get_vblank(401,11314 -static int matroxfb_dh_ioctl(421,12129 -#define m2info 426,12267 -static int matroxfb_dh_blank(551,15324 -#define m2info 552,15388 -static struct fb_ops matroxfb_dh_ops 565,15583 -static struct fb_var_screeninfo matroxfb_dh_defined 581,16059 -static int matroxfb_dh_regit(600,16487 -#define minfo 601,16562 -static int matroxfb_dh_registerfb(652,18220 -#define minfo 653,18292 -static void matroxfb_dh_deregisterfb(665,18652 -#define minfo 666,18727 -static void* matroxfb_crtc2_probe(692,19562 -static void matroxfb_crtc2_remove(713,20188 -static struct matroxfb_driver crtc2 718,20319 -static int matroxfb_crtc2_init(723,20462 -static void matroxfb_crtc2_exit(731,20614 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_maven.c,2664 -#define MAVEN_I2CID 23,472 -#define MGATVO_B 25,500 -#define MGATVO_C 26,519 -static const struct maven_gamma maven_gamma28,539 -} maven_gamma[38,780 -struct mctl mctl61,1728 -#define BLMIN 66,1792 -#define WLMAX 67,1812 -static const struct mctl maven_controls[69,1833 -#define MAVCTRLS 108,3023 -static int get_ctrl_id(113,3253 -struct maven_data maven_data130,3565 -static int* get_ctrl_ptr(136,3674 -static int maven_get_reg(140,3809 -static int maven_set_reg(152,4160 -static int maven_set_reg_pair(161,4361 -static const struct matrox_pll_features maven_pll 170,4571 -struct matrox_pll_features2 matrox_pll_features2178,4665 -struct matrox_pll_ctl matrox_pll_ctl188,4893 -static const struct matrox_pll_features2 maven1000_pll 193,4964 -static const struct matrox_pll_ctl maven_PAL 201,5075 -static const struct matrox_pll_ctl maven_NTSC 206,5145 -static int matroxfb_PLL_mavenclock(211,5258 -static unsigned int matroxfb_mavenclock(282,6897 -static void DAC1064_calcclock(305,7439 -static unsigned char maven_compute_deflicker 324,7842 -static void maven_compute_bwlevel 342,8169 -static const struct maven_gamma* maven_compute_gamma 351,8448 -static void maven_init_TVdata(356,8603 -#define LR(LR507,12058 -#define LRP(LRP508,12108 -static void maven_init_TV(509,12188 -static int maven_find_exact_clocks(707,15810 -static inline int maven_compute_timming(737,16468 -#define MATROX_USE64BIT_DIVIDE869,19981 -static inline int maven_program_timming(971,22369 -static inline int maven_resync(1009,23053 -static int maven_get_queryctrl 1015,23214 -static int maven_set_control 1037,23626 -static int maven_get_control 1118,25589 -static int maven_out_compute(1130,25847 -#define mdinfo 1131,25911 -#define minfo 1132,25951 -static int maven_out_program(1138,26083 -#define mdinfo 1139,26124 -#define minfo 1140,26164 -static int maven_out_start(1146,26292 -static int maven_out_verify_mode(1150,26360 -static int maven_out_get_queryctrl(1160,26576 -static int maven_out_get_ctrl(1164,26695 -static int maven_out_set_ctrl(1168,26798 -static struct matrox_altout maven_altout 1172,26901 -static int maven_init_client(1183,27214 -static int maven_shutdown_client(1215,28106 -static unsigned short normal_i2c[1232,28606 -static unsigned short normal_i2c_range[1233,28676 -I2C_CLIENT_INSMOD;1234,28765 -static struct i2c_driver maven_driver;1236,28785 -static int maven_detect_client(1238,28825 -static int maven_attach_adapter(1274,29826 -static int maven_detach_client(1280,30018 -static int maven_command(1292,30266 -static struct i2c_driver maven_driver=1296,30422 -static int matroxfb_maven_init(1308,30705 -static void matroxfb_maven_exit(1319,30910 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_accel.h,34 -#define __MATROXFB_ACCEL_H__2,29 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_Ti3026.h,35 -#define __MATROXFB_TI3026_H__2,30 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_g450.h,132 -#define __MATROXFB_G450_H__2,28 -static inline void matroxfb_g450_connect(10,197 -static inline void matroxfb_g450_shutdown(11,253 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_g450.c,1054 -struct mctl mctl24,511 -#define BLMIN 29,575 -#define WLMAX 30,594 -static const struct mctl g450_controls[32,615 -#define G450CTRLS 60,1456 -static int get_ctrl_id(65,1685 -static inline int* get_ctrl_ptr(82,1995 -static void tvo_fill_defaults(86,2117 -static int cve2_get_reg(94,2284 -static void cve2_set_reg(105,2526 -static void cve2_set_reg10(114,2754 -static void g450_compute_bwlevel(125,3071 -static int g450_query_ctrl(133,3314 -static int g450_set_ctrl(154,3702 -static int g450_get_ctrl(208,4833 -struct output_desc output_desc218,5025 -static void computeRegs(228,5221 -static void cve2_init_TVdata(350,8161 -#define LR(LR492,11391 -static void cve2_init_TV(493,11444 -static int matroxfb_g450_compute(508,11685 -static int matroxfb_g450_program(546,13125 -static int matroxfb_g450_verify_mode(555,13326 -static int g450_dvi_compute(565,13546 -static struct matrox_altout matroxfb_g450_altout 575,13828 -static struct matrox_altout matroxfb_g450_dvi 585,14115 -void matroxfb_g450_connect(590,14223 -void matroxfb_g450_shutdown(606,14899 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/i2c-matroxfb.c,1113 -#define MAT_CLK 19,376 -#define MAT_DATA 20,398 -#define DDC1_CLK 22,477 -#define DDC1_DATA 23,499 -#define DDC1B_CLK 25,575 -#define DDC1B_DATA 26,598 -#define DDC2_CLK 28,656 -#define DDC2_DATA 29,678 -struct matroxfb_dh_maven_info matroxfb_dh_maven_info33,760 -static int matroxfb_read_gpio(39,887 -static void matroxfb_set_gpio(49,1114 -static inline void matroxfb_i2c_set(62,1562 -static void matroxfb_gpio_setsda(70,1742 -static void matroxfb_gpio_setscl(75,1888 -static int matroxfb_gpio_getsda(80,2035 -static int matroxfb_gpio_getscl(85,2182 -static struct i2c_adapter matrox_i2c_adapter_template 90,2330 -static struct i2c_algo_bit_data matrox_i2c_algo_template 96,2438 -static int i2c_bus_reg(106,2616 -static void i2c_bit_bus_del(125,3146 -static inline void i2c_maven_done(132,3286 -static inline void i2c_ddc1_done(136,3398 -static inline void i2c_ddc2_done(140,3508 -static void* i2c_matroxfb_probe(144,3618 -static void i2c_matroxfb_remove(189,5082 -static struct matroxfb_driver i2c_matroxfb 198,5298 -static int __init i2c_matroxfb_init(205,5483 -static void __exit i2c_matroxfb_exit(213,5673 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_misc.c,939 -void matroxfb_DAC_out(91,3065 -int matroxfb_DAC_in(97,3225 -void matroxfb_var2my(103,3375 -int matroxfb_PLL_calcclock(125,4136 -int matroxfb_vgaHWinit(186,5874 -void matroxfb_vgaHWrestore(342,9858 -static void get_pins(394,11167 -static void get_bios_version(430,11938 -static void get_bios_output(455,12683 -static void get_bios_tvout(465,12871 -static void parse_bios(492,13534 -#define get_u16(get_u16508,13962 -#define get_u32(get_u32509,14023 -static int parse_pins1(510,14084 -static void default_pins1(529,14638 -static int parse_pins2(537,14853 -static void default_pins2(549,15409 -static int parse_pins3(558,15668 -static void default_pins3(573,16371 -static int parse_pins4(584,16699 -static void default_pins4(601,17592 -static int parse_pins5(613,17949 -static void default_pins5(647,19755 -static int matroxfb_set_limits(671,20547 -void matroxfb_read_pins(724,22061 -struct matrox_fb_info matroxfb_global_mxinfo;768,23641 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_accel.c,635 -#define curr_ydstorg(curr_ydstorg84,2865 -#define mga_ydstlen(mga_ydstlen86,2929 -static inline void matrox_cfb4_pal(88,3003 -static inline void matrox_cfb8_pal(97,3159 -void matrox_cfbX_init(112,3750 -static void matrox_accel_bmove(205,6811 -static void matrox_accel_bmove_lin(241,7673 -static void matroxfb_cfb4_copyarea(278,8581 -static void matroxfb_copyarea(287,8939 -static void matroxfb_accel_clear(293,9187 -static void matroxfb_fillrect(311,9547 -static void matroxfb_cfb4_clear(321,9841 -static void matroxfb_cfb4_fillrect(376,11117 -static void matroxfb_1bpp_imageblit(386,11415 -static void matroxfb_imageblit(484,13826 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_Ti3026.c,7882 -#define outTi3026 90,3036 -#define inTi3026 91,3071 -#define TVP3026_INDEX 93,3105 -#define TVP3026_PALWRADD 94,3133 -#define TVP3026_PALDATA 95,3163 -#define TVP3026_PIXRDMSK 96,3193 -#define TVP3026_PALRDADD 97,3223 -#define TVP3026_CURCOLWRADD 98,3253 -#define TVP3026_CLOVERSCAN 99,3286 -#define TVP3026_CLCOLOR0 100,3323 -#define TVP3026_CLCOLOR1 101,3358 -#define TVP3026_CLCOLOR2 102,3393 -#define TVP3026_CURCOLDATA 103,3428 -#define TVP3026_CURCOLRDADD 104,3460 -#define TVP3026_CURCTRL 105,3493 -#define TVP3026_X_DATAREG 106,3523 -#define TVP3026_CURRAMDATA 107,3554 -#define TVP3026_CURPOSXL 108,3586 -#define TVP3026_CURPOSXH 109,3616 -#define TVP3026_CURPOSYL 110,3646 -#define TVP3026_CURPOSYH 111,3676 -#define TVP3026_XSILICONREV 113,3707 -#define TVP3026_XCURCTRL 114,3740 -#define TVP3026_XCURCTRL_DIS 115,3770 -#define TVP3026_XCURCTRL_3COLOR 116,3865 -#define TVP3026_XCURCTRL_XGA 117,3933 -#define TVP3026_XCURCTRL_XWIN 118,4007 -#define TVP3026_XCURCTRL_BLANK2048 119,4083 -#define TVP3026_XCURCTRL_BLANK4096 120,4127 -#define TVP3026_XCURCTRL_INTERLACED 121,4171 -#define TVP3026_XCURCTRL_ODD 122,4216 -#define TVP3026_XCURCTRL_EVEN 123,4281 -#define TVP3026_XCURCTRL_INDIRECT 124,4347 -#define TVP3026_XCURCTRL_DIRECT 125,4390 -#define TVP3026_XLATCHCTRL 126,4431 -#define TVP3026_XLATCHCTRL_1_1 127,4463 -#define TVP3026_XLATCHCTRL_2_1 128,4503 -#define TVP3026_XLATCHCTRL_4_1 129,4543 -#define TVP3026_XLATCHCTRL_8_1 130,4583 -#define TVP3026_XLATCHCTRL_16_1 131,4623 -#define TVP3026A_XLATCHCTRL_4_3 132,4664 -#define TVP3026A_XLATCHCTRL_8_3 133,4756 -#define TVP3026B_XLATCHCTRL_4_3 134,4797 -#define TVP3026B_XLATCHCTRL_8_3 135,4838 -#define TVP3026_XTRUECOLORCTRL 136,4930 -#define TVP3026_XTRUECOLORCTRL_VRAM_SHIFT_ACCEL 137,4966 -#define TVP3026_XTRUECOLORCTRL_VRAM_SHIFT_TVP 138,5023 -#define TVP3026_XTRUECOLORCTRL_PSEUDOCOLOR 139,5078 -#define TVP3026_XTRUECOLORCTRL_TRUECOLOR 140,5131 -#define TVP3026_XTRUECOLORCTRL_DIRECTCOLOR 141,5198 -#define TVP3026_XTRUECOLORCTRL_24_ALTERNATE 142,5251 -#define TVP3026_XTRUECOLORCTRL_RGB_888 143,5338 -#define TVP3026_XTRUECOLORCTRL_BGR_888 144,5414 -#define TVP3026_XTRUECOLORCTRL_ORGB_8888 145,5463 -#define TVP3026_XTRUECOLORCTRL_BGRO_8888 146,5514 -#define TVP3026_XTRUECOLORCTRL_RGB_565 147,5565 -#define TVP3026_XTRUECOLORCTRL_ORGB_1555 148,5614 -#define TVP3026_XTRUECOLORCTRL_RGB_664 149,5665 -#define TVP3026_XTRUECOLORCTRL_RGBO_4444 150,5714 -#define TVP3026_XMUXCTRL 151,5765 -#define TVP3026_XMUXCTRL_MEMORY_8BIT 152,5795 -#define TVP3026_XMUXCTRL_MEMORY_16BIT 153,5851 -#define TVP3026_XMUXCTRL_MEMORY_32BIT 154,5908 -#define TVP3026_XMUXCTRL_MEMORY_64BIT 155,5981 -#define TVP3026_XMUXCTRL_PIXEL_4BIT 156,6062 -#define TVP3026_XMUXCTRL_PIXEL_4BIT_SWAPPED 157,6131 -#define TVP3026_XMUXCTRL_PIXEL_8BIT 158,6207 -#define TVP3026_XMUXCTRL_PIXEL_16BIT 159,6255 -#define TVP3026_XMUXCTRL_PIXEL_32BIT 160,6303 -#define TVP3026_XMUXCTRL_VGA 161,6351 -#define TVP3026_XCLKCTRL 162,6421 -#define TVP3026_XCLKCTRL_DIV1 163,6451 -#define TVP3026_XCLKCTRL_DIV2 164,6490 -#define TVP3026_XCLKCTRL_DIV4 165,6529 -#define TVP3026_XCLKCTRL_DIV8 166,6568 -#define TVP3026_XCLKCTRL_DIV16 167,6607 -#define TVP3026_XCLKCTRL_DIV32 168,6647 -#define TVP3026_XCLKCTRL_DIV64 169,6687 -#define TVP3026_XCLKCTRL_CLKSTOPPED 170,6727 -#define TVP3026_XCLKCTRL_SRC_CLK0 171,6772 -#define TVP3026_XCLKCTRL_SRC_CLK1 172,6815 -#define TVP3026_XCLKCTRL_SRC_CLK2 173,6860 -#define TVP3026_XCLKCTRL_SRC_NCLK2 174,6927 -#define TVP3026_XCLKCTRL_SRC_ECLK2 175,7000 -#define TVP3026_XCLKCTRL_SRC_PLL 176,7082 -#define TVP3026_XCLKCTRL_SRC_DIS 177,7124 -#define TVP3026_XCLKCTRL_SRC_CLK0VGA 178,7206 -#define TVP3026_XPALETTEPAGE 179,7252 -#define TVP3026_XGENCTRL 180,7286 -#define TVP3026_XGENCTRL_HSYNC_POS 181,7316 -#define TVP3026_XGENCTRL_HSYNC_NEG 182,7360 -#define TVP3026_XGENCTRL_VSYNC_POS 183,7404 -#define TVP3026_XGENCTRL_VSYNC_NEG 184,7448 -#define TVP3026_XGENCTRL_LITTLE_ENDIAN 185,7492 -#define TVP3026_XGENCTRL_BIG_ENDIAN 186,7540 -#define TVP3026_XGENCTRL_BLACK_0IRE 187,7588 -#define TVP3026_XGENCTRL_BLACK_75IRE 188,7634 -#define TVP3026_XGENCTRL_NO_SYNC_ON_GREEN 189,7680 -#define TVP3026_XGENCTRL_SYNC_ON_GREEN 190,7731 -#define TVP3026_XGENCTRL_OVERSCAN_DIS 191,7779 -#define TVP3026_XGENCTRL_OVERSCAN_EN 192,7826 -#define TVP3026_XMISCCTRL 193,7872 -#define TVP3026_XMISCCTRL_DAC_PUP 194,7903 -#define TVP3026_XMISCCTRL_DAC_PDOWN 195,7946 -#define TVP3026_XMISCCTRL_DAC_EXT 196,7991 -#define TVP3026_XMISCCTRL_DAC_6BIT 197,8063 -#define TVP3026_XMISCCTRL_DAC_8BIT 198,8107 -#define TVP3026_XMISCCTRL_PSEL_DIS 199,8151 -#define TVP3026_XMISCCTRL_PSEL_EN 200,8195 -#define TVP3026_XMISCCTRL_PSEL_LOW 201,8238 -#define TVP3026_XMISCCTRL_PSEL_HIGH 202,8318 -#define TVP3026_XGENIOCTRL 203,8412 -#define TVP3026_XGENIODATA 204,8444 -#define TVP3026_XPLLADDR 205,8476 -#define TVP3026_XPLLADDR_X(TVP3026_XPLLADDR_X206,8506 -#define TVP3026_XPLLDATA_N 207,8588 -#define TVP3026_XPLLDATA_M 208,8625 -#define TVP3026_XPLLDATA_P 209,8662 -#define TVP3026_XPLLDATA_STAT 210,8699 -#define TVP3026_XPIXPLLDATA 211,8738 -#define TVP3026_XMEMPLLDATA 212,8771 -#define TVP3026_XLOOPPLLDATA 213,8804 -#define TVP3026_XCOLKEYOVRMIN 214,8838 -#define TVP3026_XCOLKEYOVRMAX 215,8873 -#define TVP3026_XCOLKEYREDMIN 216,8908 -#define TVP3026_XCOLKEYREDMAX 217,8943 -#define TVP3026_XCOLKEYGREENMIN 218,8978 -#define TVP3026_XCOLKEYGREENMAX 219,9015 -#define TVP3026_XCOLKEYBLUEMIN 220,9052 -#define TVP3026_XCOLKEYBLUEMAX 221,9088 -#define TVP3026_XCOLKEYCTRL 222,9124 -#define TVP3026_XCOLKEYCTRL_OVR_EN 223,9157 -#define TVP3026_XCOLKEYCTRL_RED_EN 224,9201 -#define TVP3026_XCOLKEYCTRL_GREEN_EN 225,9245 -#define TVP3026_XCOLKEYCTRL_BLUE_EN 226,9291 -#define TVP3026_XCOLKEYCTRL_NEGATE 227,9336 -#define TVP3026_XCOLKEYCTRL_ZOOM1 228,9380 -#define TVP3026_XCOLKEYCTRL_ZOOM2 229,9423 -#define TVP3026_XCOLKEYCTRL_ZOOM4 230,9466 -#define TVP3026_XCOLKEYCTRL_ZOOM8 231,9509 -#define TVP3026_XCOLKEYCTRL_ZOOM16 232,9552 -#define TVP3026_XCOLKEYCTRL_ZOOM32 233,9596 -#define TVP3026_XMEMPLLCTRL 234,9640 -#define TVP3026_XMEMPLLCTRL_DIV(TVP3026_XMEMPLLCTRL_DIV235,9673 -#define TVP3026_XMEMPLLCTRL_STROBEMKC4 236,9801 -#define TVP3026_XMEMPLLCTRL_MCLK_DOTCLOCK 237,9849 -#define TVP3026_XMEMPLLCTRL_MCLK_MCLKPLL 238,9911 -#define TVP3026_XMEMPLLCTRL_RCLK_PIXPLL 239,9972 -#define TVP3026_XMEMPLLCTRL_RCLK_LOOPPLL 240,10021 -#define TVP3026_XMEMPLLCTRL_RCLK_DOTDIVN 241,10071 -#define TVP3026_XSENSETEST 242,10170 -#define TVP3026_XTESTMODEDATA 243,10202 -#define TVP3026_XCRCREML 244,10237 -#define TVP3026_XCRCREMH 245,10267 -#define TVP3026_XCRCBITSEL 246,10297 -#define TVP3026_XID 247,10329 -static const unsigned char DACseq[249,10356 -#define POS3026_XLATCHCTRL 262,10868 -#define POS3026_XTRUECOLORCTRL 263,10897 -#define POS3026_XMUXCTRL 264,10930 -#define POS3026_XCLKCTRL 265,10957 -#define POS3026_XGENCTRL 266,10984 -#define POS3026_XMISCCTRL 267,11011 -#define POS3026_XMEMPLLCTRL 268,11039 -#define POS3026_XCURCTRL 269,11070 -static const unsigned char MGADACbpp32[271,11099 -static int Ti3026_calcclock(284,11748 -static int Ti3026_setpclk(297,12075 -static int Ti3026_init(366,13963 -static void ti3026_setMCLK(438,17293 -static void ti3026_ramdac_init(537,20472 -static void Ti3026_restore(553,20955 -static void Ti3026_reset(665,24077 -static struct matrox_altout ti3026_output 672,24168 -static int Ti3026_preinit(676,24246 -struct matrox_switch matrox_millennium 734,26333 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_crtc2.h,88 -#define __MATROXFB_CRTC2_H__2,29 -struct matroxfb_dh_fb_info matroxfb_dh_fb_info9,167 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/matrox/matroxfb_DAC1064.h,6687 -#define __MATROXFB_DAC1064_H__2,31 -#define M1064_INDEX 20,441 -#define M1064_PALWRADD 21,466 -#define M1064_PALDATA 22,494 -#define M1064_PIXRDMSK 23,521 -#define M1064_PALRDADD 24,549 -#define M1064_X_DATAREG 25,577 -#define M1064_CURPOSXL 26,606 -#define M1064_CURPOSXH 27,665 -#define M1064_CURPOSYL 28,693 -#define M1064_CURPOSYH 29,721 -#define M1064_XCURADDL 31,750 -#define M1064_XCURADDH 32,779 -#define M1064_XCURCTRL 33,808 -#define M1064_XCURCTRL_DIS 34,837 -#define M1064_XCURCTRL_3COLOR 35,931 -#define M1064_XCURCTRL_XGA 36,997 -#define M1064_XCURCTRL_XWIN 37,1070 -#define M1064_XCURCOL0RED 38,1145 -#define M1064_XCURCOL0GREEN 39,1176 -#define M1064_XCURCOL0BLUE 40,1209 -#define M1064_XCURCOL1RED 41,1241 -#define M1064_XCURCOL1GREEN 42,1272 -#define M1064_XCURCOL1BLUE 43,1305 -#define M1064_XCURCOL2RED 44,1337 -#define M1064_XCURCOL2GREEN 45,1368 -#define M1064_XCURCOL2BLUE 46,1401 -#define DAC1064_XVREFCTRL 47,1433 -#define DAC1064_XVREFCTRL_INTERNAL 48,1464 -#define DAC1064_XVREFCTRL_EXTERNAL 49,1510 -#define DAC1064_XVREFCTRL_G100_DEFAULT 50,1556 -#define M1064_XMULCTRL 51,1605 -#define M1064_XMULCTRL_DEPTH_8BPP 52,1634 -#define M1064_XMULCTRL_DEPTH_15BPP_1BPP 53,1701 -#define M1064_XMULCTRL_DEPTH_16BPP 54,1790 -#define M1064_XMULCTRL_DEPTH_24BPP 55,1859 -#define M1064_XMULCTRL_DEPTH_24BPP_8BPP 56,1928 -#define M1064_XMULCTRL_2G8V16 57,2024 -#define M1064_XMULCTRL_G16V16 58,2118 -#define M1064_XMULCTRL_DEPTH_32BPP 59,2217 -#define M1064_XMULCTRL_GRAPHICS_PALETIZED 60,2301 -#define M1064_XMULCTRL_VIDEO_PALETIZED 61,2353 -#define M1064_XPIXCLKCTRL 62,2402 -#define M1064_XPIXCLKCTRL_SRC_PCI 63,2433 -#define M1064_XPIXCLKCTRL_SRC_PLL 64,2478 -#define M1064_XPIXCLKCTRL_SRC_EXT 65,2523 -#define M1064_XPIXCLKCTRL_SRC_SYS 66,2568 -#define M1064_XPIXCLKCTRL_SRC_PLL2 67,2629 -#define M1064_XPIXCLKCTRL_SRC_MASK 68,2686 -#define M1064_XPIXCLKCTRL_EN 69,2732 -#define M1064_XPIXCLKCTRL_DIS 70,2772 -#define M1064_XPIXCLKCTRL_PLL_DOWN 71,2813 -#define M1064_XPIXCLKCTRL_PLL_UP 72,2859 -#define M1064_XGENCTRL 73,2903 -#define M1064_XGENCTRL_VS_0 74,2932 -#define M1064_XGENCTRL_VS_1 75,2971 -#define M1064_XGENCTRL_ALPHA_DIS 76,3010 -#define M1064_XGENCTRL_ALPHA_EN 77,3054 -#define M1064_XGENCTRL_BLACK_0IRE 78,3097 -#define M1064_XGENCTRL_BLACK_75IRE 79,3142 -#define M1064_XGENCTRL_SYNC_ON_GREEN 80,3188 -#define M1064_XGENCTRL_NO_SYNC_ON_GREEN 81,3235 -#define M1064_XGENCTRL_SYNC_ON_GREEN_MASK 82,3285 -#define M1064_XMISCCTRL 83,3337 -#define M1064_XMISCCTRL_DAC_DIS 84,3367 -#define M1064_XMISCCTRL_DAC_EN 85,3410 -#define M1064_XMISCCTRL_MFC_VGA 86,3452 -#define M1064_XMISCCTRL_MFC_MAFC 87,3495 -#define M1064_XMISCCTRL_MFC_DIS 88,3539 -#define GX00_XMISCCTRL_MFC_MAFC 89,3582 -#define GX00_XMISCCTRL_MFC_PANELLINK 90,3625 -#define GX00_XMISCCTRL_MFC_DIS 91,3672 -#define GX00_XMISCCTRL_MFC_MASK 92,3714 -#define M1064_XMISCCTRL_DAC_6BIT 93,3757 -#define M1064_XMISCCTRL_DAC_8BIT 94,3801 -#define M1064_XMISCCTRL_DAC_WIDTHMASK 95,3845 -#define M1064_XMISCCTRL_LUT_DIS 96,3893 -#define M1064_XMISCCTRL_LUT_EN 97,3936 -#define G400_XMISCCTRL_VDO_MAFC12 98,3978 -#define G400_XMISCCTRL_VDO_BYPASS656 99,4023 -#define G400_XMISCCTRL_VDO_C2_MAFC12 100,4070 -#define G400_XMISCCTRL_VDO_C2_BYPASS656 101,4117 -#define G400_XMISCCTRL_VDO_MASK 102,4167 -#define M1064_XGENIOCTRL 103,4210 -#define M1064_XGENIODATA 104,4240 -#define DAC1064_XSYSPLLM 105,4270 -#define DAC1064_XSYSPLLN 106,4300 -#define DAC1064_XSYSPLLP 107,4330 -#define DAC1064_XSYSPLLSTAT 108,4360 -#define M1064_XZOOMCTRL 109,4393 -#define M1064_XZOOMCTRL_1 110,4423 -#define M1064_XZOOMCTRL_2 111,4461 -#define M1064_XZOOMCTRL_4 112,4499 -#define M1064_XSENSETEST 113,4537 -#define M1064_XSENSETEST_BCOMP 114,4567 -#define M1064_XSENSETEST_GCOMP 115,4609 -#define M1064_XSENSETEST_RCOMP 116,4651 -#define M1064_XSENSETEST_PDOWN 117,4693 -#define M1064_XSENSETEST_PUP 118,4735 -#define M1064_XCRCREML 119,4775 -#define M1064_XCRCREMH 120,4804 -#define M1064_XCRCBITSEL 121,4833 -#define M1064_XCOLKEYMASKL 122,4863 -#define M1064_XCOLKEYMASKH 123,4895 -#define M1064_XCOLKEYL 124,4927 -#define M1064_XCOLKEYH 125,4956 -#define M1064_XPIXPLLAM 126,4985 -#define M1064_XPIXPLLAN 127,5015 -#define M1064_XPIXPLLAP 128,5045 -#define M1064_XPIXPLLBM 129,5075 -#define M1064_XPIXPLLBN 130,5105 -#define M1064_XPIXPLLBP 131,5135 -#define M1064_XPIXPLLCM 132,5165 -#define M1064_XPIXPLLCN 133,5195 -#define M1064_XPIXPLLCP 134,5225 -#define M1064_XPIXPLLSTAT 135,5255 -#define M1064_XTVO_IDX 137,5287 -#define M1064_XTVO_DATA 138,5316 -#define M1064_XOUTPUTCONN 140,5347 -#define M1064_XSYNCCTRL 141,5378 -#define M1064_XVIDPLLSTAT 142,5408 -#define M1064_XVIDPLLP 143,5439 -#define M1064_XVIDPLLM 144,5468 -#define M1064_XVIDPLLN 145,5497 -#define M1064_XPWRCTRL 147,5527 -#define M1064_XPANMODE 149,5557 -enum POS1064 POS1064151,5587 - POS1064_XCURADDL=152,5602 - POS1064_XCURADDL=0, POS1064_XCURADDH,152,5602 - POS1064_XCURADDL=0, POS1064_XCURADDH, POS1064_XCURCTRL,152,5602 - POS1064_XCURCOL0RED,153,5659 - POS1064_XCURCOL0RED, POS1064_XCURCOL0GREEN,153,5659 - POS1064_XCURCOL0RED, POS1064_XCURCOL0GREEN, POS1064_XCURCOL0BLUE,153,5659 - POS1064_XCURCOL1RED,154,5726 - POS1064_XCURCOL1RED, POS1064_XCURCOL1GREEN,154,5726 - POS1064_XCURCOL1RED, POS1064_XCURCOL1GREEN, POS1064_XCURCOL1BLUE,154,5726 - POS1064_XCURCOL2RED,155,5793 - POS1064_XCURCOL2RED, POS1064_XCURCOL2GREEN,155,5793 - POS1064_XCURCOL2RED, POS1064_XCURCOL2GREEN, POS1064_XCURCOL2BLUE,155,5793 - POS1064_XVREFCTRL,156,5860 - POS1064_XVREFCTRL, POS1064_XMULCTRL,156,5860 - POS1064_XVREFCTRL, POS1064_XMULCTRL, POS1064_XPIXCLKCTRL,156,5860 - POS1064_XVREFCTRL, POS1064_XMULCTRL, POS1064_XPIXCLKCTRL, POS1064_XGENCTRL,156,5860 - POS1064_XMISCCTRL,157,5937 - POS1064_XGENIOCTRL,158,5957 - POS1064_XGENIOCTRL, POS1064_XGENIODATA,158,5957 - POS1064_XGENIOCTRL, POS1064_XGENIODATA, POS1064_XZOOMCTRL,158,5957 - POS1064_XGENIOCTRL, POS1064_XGENIODATA, POS1064_XZOOMCTRL, POS1064_XSENSETEST,158,5957 - POS1064_XCRCBITSEL,159,6037 - POS1064_XCOLKEYMASKL,160,6058 - POS1064_XCOLKEYMASKL, POS1064_XCOLKEYMASKH,160,6058 - POS1064_XCOLKEYMASKL, POS1064_XCOLKEYMASKH, POS1064_XCOLKEYL,160,6058 - POS1064_XCOLKEYMASKL, POS1064_XCOLKEYMASKH, POS1064_XCOLKEYL, POS1064_XCOLKEYH,160,6058 - POS1064_XOUTPUTCONN,161,6139 - POS1064_XOUTPUTCONN, POS1064_XPANMODE,161,6139 - POS1064_XOUTPUTCONN, POS1064_XPANMODE, POS1064_XPWRCTRL 161,6139 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cyber2000fb.c,2229 -struct cfb_info cfb_info64,2014 -static char default_font_storage[95,2553 -static char *default_font 96,2591 -#define cyber2000fb_writel(cyber2000fb_writel103,2747 -#define cyber2000fb_writew(cyber2000fb_writew104,2820 -#define cyber2000fb_writeb(cyber2000fb_writeb105,2893 -#define cyber2000fb_readb(cyber2000fb_readb107,2967 -cyber2000_crtcw(110,3049 -cyber2000_grphw(116,3204 -cyber2000_grphr(122,3367 -cyber2000_attrw(129,3524 -cyber2000_seqw(138,3762 -cyber2000fb_fillrect(149,4032 -cyber2000fb_copyarea(181,4998 -cyber2000fb_imageblit(225,6292 -static int cyber2000fb_sync(235,6522 -static inline u32 convert_bitfield(258,7012 -cyber2000fb_setcolreg(269,7266 -struct par_info par_info408,10887 -static const u_char crtc_idx[428,11123 -static void cyber2000fb_write_ramdac_ctrl(434,11278 -static void cyber2000fb_set_timing(446,11616 -cyber2000fb_update_start(527,13946 -cyber2000fb_decode_crtc(550,14435 -#define BIT(BIT555,14645 -cyber2000fb_decode_clock(651,17281 -cyber2000fb_check_var(745,19212 -static int cyber2000fb_set_par(854,21631 -cyber2000fb_pan_display(963,24465 -static int cyber2000fb_blank(999,25510 -static struct fb_ops cyber2000fb_ops 1056,26953 -static struct cfb_info *int_cfb_info;1075,27583 -void cyber2000fb_enable_extregs(1080,27673 -void cyber2000fb_disable_extregs(1096,27980 -void cyber2000fb_get_fb_var(1112,28327 -int cyber2000fb_attach(1120,28542 -void cyber2000fb_detach(1140,29149 -static struct fb_videomode __devinitdata cyber2000fb_default_mode 1154,29454 -static char igs_regs[1169,29802 -static void cyberpro_init_hw(1207,30724 -cyberpro_alloc_fb_info(1223,31105 -cyberpro_free_fb_info(1293,32499 -cyber2000fb_setup(1310,32734 -static int __devinit cyberpro_common_probe(1340,33479 -static void cyberpro_common_resume(1408,35552 -cyberpro_vl_probe(1430,36025 -static int cyberpro_pci_enable_mmio(1499,37748 -cyberpro_pci_probe(1557,39051 -static void __devexit cyberpro_pci_remove(1637,40689 -static int cyberpro_pci_suspend(1666,41336 -static int cyberpro_pci_resume(1674,41462 -static struct pci_device_id cyberpro_pci_table[1686,41657 -static struct pci_driver cyberpro_driver 1701,42194 -int __init cyber2000fb_init(1718,42650 -static void __exit cyberpro_exit(1746,43073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/epson1355fb.c,2008 -struct epson1355_par epson1355_par63,1658 -static inline u8 epson1355_read_reg(71,1813 -static inline void epson1355_write_reg(76,1905 -# define EPSON1355FB_BASE_PHYS 85,2095 -static inline u8 epson1355_read_reg(88,2157 -static inline void epson1355_write_reg(93,2280 -#define EPSON1355FB_REGS_OFS 106,2577 -#define EPSON1355FB_REGS_PHYS 107,2610 -#define EPSON1355FB_REGS_LEN 108,2687 -#define EPSON1355FB_FB_OFS 110,2722 -#define EPSON1355FB_FB_PHYS 111,2762 -#define EPSON1355FB_FB_LEN 112,2835 -static inline u16 epson1355_read_reg16(116,2962 -static inline void epson1355_write_reg16(124,3155 -static inline u32 epson1355_read_reg20(133,3381 -static inline void epson1355_write_reg20(142,3639 -static void set_lut(155,4018 -static int epson1355fb_setcolreg(175,4755 -static int epson1355fb_pan_display(219,5908 -static void lcd_enable(240,6414 -static void backlight_enable(253,6665 -static void backlight_enable(264,6885 -static int epson1355fb_blank(286,7586 -static inline void epson1355fb_fb_writel(317,8226 -static inline unsigned long epson1355fb_fb_readl(327,8408 -#define FB_READL 336,8585 -#define FB_WRITEL 337,8623 -static inline unsigned long copy_from_user16(341,8745 -static inline unsigned long copy_to_user16(372,9174 -epson1355fb_read(402,9603 -epson1355fb_write(433,10320 -static struct fb_ops epson1355fb_fbops 472,11224 -static __init unsigned int get_fb_size(487,11682 -static int epson1355_width_tab[503,11999 -static int epson1355_width_tab[2][4] __initdata 503,11999 -static int epson1355_bpp_tab[505,12090 -static int epson1355_bpp_tab[8] __initdata 505,12090 -static void __init fetch_hw_state(507,12160 -static void clearfb16(590,14422 -static void epson1355fb_platform_release(604,14638 -static int epson1355fb_remove(608,14707 -int __init epson1355fb_probe(631,15251 -static struct device_driver epson1355fb_driver 724,17810 -static struct platform_device epson1355fb_device 731,17977 -int __init epson1355fb_init(739,18124 -static void __exit epson1355fb_exit(758,18469 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/amifb.c,10811 -#define DEBUG67,1881 -#define CONFIG_FB_AMIGA_OCS 70,1996 -# define IS_OCS 74,2128 -# define IS_OCS 76,2216 -# define CONFIG_FB_AMIGA_OCS_ONLY78,2260 -# define IS_OCS 79,2295 -# define IS_ECS 83,2358 -# define IS_ECS 85,2446 -# define CONFIG_FB_AMIGA_ECS_ONLY87,2490 -# define IS_ECS 88,2525 -# define IS_AGA 92,2588 -# define IS_AGA 94,2676 -# define CONFIG_FB_AMIGA_AGA_ONLY96,2720 -# define IS_AGA 97,2755 -# define DPRINTK(DPRINTK101,2797 -# define DPRINTK(DPRINTK103,2889 -#define CUSTOM_OFS(CUSTOM_OFS375,15126 -#define BPC0_HIRES 381,15238 -#define BPC0_BPU2 382,15266 -#define BPC0_BPU1 383,15320 -#define BPC0_BPU0 384,15347 -#define BPC0_HAM 385,15374 -#define BPC0_DPF 386,15415 -#define BPC0_COLOR 387,15464 -#define BPC0_GAUD 388,15516 -#define BPC0_UHRES 389,15570 -#define BPC0_SHRES 390,15623 -#define BPC0_BYPASS 391,15675 -#define BPC0_BPU3 392,15727 -#define BPC0_LPEN 393,15764 -#define BPC0_LACE 394,15814 -#define BPC0_ERSY 395,15857 -#define BPC0_ECSENA 396,15906 -#define BPC2_ZDBPSEL2 402,16006 -#define BPC2_ZDBPSEL1 403,16076 -#define BPC2_ZDBPSEL0 404,16107 -#define BPC2_ZDBPEN 405,16138 -#define BPC2_ZDCTEN 406,16203 -#define BPC2_KILLEHB 407,16275 -#define BPC2_RDRAM 408,16331 -#define BPC2_SOGEN 409,16408 -#define BPC2_PF2PRI 410,16468 -#define BPC2_PF2P2 411,16525 -#define BPC2_PF2P1 412,16584 -#define BPC2_PF2P0 413,16612 -#define BPC2_PF1P2 414,16640 -#define BPC2_PF1P1 415,16684 -#define BPC2_PF1P0 416,16712 -#define BPC3_BANK2 422,16800 -#define BPC3_BANK1 423,16869 -#define BPC3_BANK0 424,16897 -#define BPC3_PF2OF2 425,16925 -#define BPC3_PF2OF1 426,16997 -#define BPC3_PF2OF0 427,17026 -#define BPC3_LOCT 428,17055 -#define BPC3_SPRES1 429,17125 -#define BPC3_SPRES0 430,17183 -#define BPC3_BRDRBLNK 431,17212 -#define BPC3_BRDRTRAN 432,17265 -#define BPC3_ZDCLKEN 433,17322 -#define BPC3_BRDRSPRT 434,17396 -#define BPC3_EXTBLKEN 435,17452 -#define BPC4_BPLAM7 441,17568 -#define BPC4_BPLAM6 442,17628 -#define BPC4_BPLAM5 443,17657 -#define BPC4_BPLAM4 444,17686 -#define BPC4_BPLAM3 445,17715 -#define BPC4_BPLAM2 446,17744 -#define BPC4_BPLAM1 447,17773 -#define BPC4_BPLAM0 448,17802 -#define BPC4_ESPRM7 449,17831 -#define BPC4_ESPRM6 450,17901 -#define BPC4_ESPRM5 451,17930 -#define BPC4_ESPRM4 452,17959 -#define BPC4_OSPRM7 453,17988 -#define BPC4_OSPRM6 454,18057 -#define BPC4_OSPRM5 455,18086 -#define BPC4_OSPRM4 456,18115 -#define BMC0_HARDDIS 462,18193 -#define BMC0_LPENDIS 463,18253 -#define BMC0_VARVBEN 464,18313 -#define BMC0_LOLDIS 465,18380 -#define BMC0_CSCBEN 466,18446 -#define BMC0_VARVSYEN 467,18502 -#define BMC0_VARHSYEN 468,18569 -#define BMC0_VARBEAMEN 469,18638 -#define BMC0_DUAL 470,18706 -#define BMC0_PAL 471,18780 -#define BMC0_VARCSYEN 472,18832 -#define BMC0_BLANKEN 473,18900 -#define BMC0_CSYTRUE 474,18973 -#define BMC0_VSYTRUE 475,19022 -#define BMC0_HSYTRUE 476,19071 -#define FMODE_SSCAN2 483,19179 -#define FMODE_BSCAN2 484,19236 -#define FMODE_SPAGEM 485,19305 -#define FMODE_SPR32 486,19358 -#define FMODE_BPAGEM 487,19413 -#define FMODE_BPL32 488,19468 -enum { TAG_SHRES,496,19656 -enum { TAG_SHRES, TAG_HIRES,496,19656 -enum { TAG_SHRES, TAG_HIRES, TAG_LORES 496,19656 -enum { TAG_OCS,502,19756 -enum { TAG_OCS, TAG_ECS,502,19756 -enum { TAG_OCS, TAG_ECS, TAG_AGA 502,19756 -enum { TAG_FMODE_1,508,19850 -enum { TAG_FMODE_1, TAG_FMODE_2,508,19850 -enum { TAG_FMODE_1, TAG_FMODE_2, TAG_FMODE_4 508,19850 -static u_long pixclock[518,20045 -static u_short maxdepth[519,20115 -static u_short maxfmode,520,20186 -static u_short maxfmode, chipset;520,20186 -#define PAL_DIWSTRT_H 530,20361 -#define PAL_DIWSTRT_V 531,20413 -#define PAL_HTOTAL 532,20440 -#define PAL_VTOTAL 533,20466 -#define NTSC_DIWSTRT_H 535,20492 -#define NTSC_DIWSTRT_V 536,20546 -#define NTSC_HTOTAL 537,20574 -#define NTSC_VTOTAL 538,20601 -#define up2(up2545,20658 -#define down2(down2546,20689 -#define div2(div2547,20717 -#define mod2(mod2548,20743 -#define up4(up4550,20771 -#define down4(down4551,20802 -#define mul4(mul4552,20830 -#define div4(div4553,20856 -#define mod4(mod4554,20882 -#define up8(up8556,20910 -#define down8(down8557,20941 -#define div8(div8558,20969 -#define mod8(mod8559,20995 -#define up16(up16561,21023 -#define down16(down16562,21057 -#define div16(div16563,21087 -#define mod16(mod16564,21113 -#define up32(up32566,21142 -#define down32(down32567,21176 -#define div32(div32568,21206 -#define mod32(mod32569,21232 -#define up64(up64571,21261 -#define down64(down64572,21295 -#define div64(div64573,21325 -#define mod64(mod64574,21351 -#define upx(upx576,21380 -#define downx(downx577,21418 -#define modx(modx578,21450 -#define DIVUL(DIVUL582,21572 -#define DIVUL(DIVUL586,21783 -#define highw(highw590,21927 -#define loww(loww591,21971 -#define VBlankOn(VBlankOn593,22012 -#define VBlankOff(VBlankOff594,22066 -#define VIDEOMEMSIZE_AGA_2M 604,22255 -#define VIDEOMEMSIZE_AGA_1M 605,22330 -#define VIDEOMEMSIZE_ECS_2M 606,22405 -#define VIDEOMEMSIZE_ECS_1M 607,22480 -#define VIDEOMEMSIZE_OCS 608,22555 -#define SPRITEMEMSIZE 610,22628 -#define DUMMYSPRITEMEMSIZE 611,22679 -static u_long spritememory;612,22710 -#define CHIPRAM_SAFETY_LIMIT 614,22739 -static u_long videomemory;616,22777 -static u_long min_fstrt 624,22984 -#define assignchunk(assignchunk626,23016 -#define CMOVE(CMOVE637,23144 -#define CMOVE2(CMOVE2638,23199 -#define CWAIT(CWAIT639,23258 -#define CEND 640,23332 -} copins;copins646,23404 -static struct copdisplay copdisplay648,23415 -} copdisplay;653,23514 -static u_short currentcop 655,23529 -#define FBIOGET_FCURSORINFO 663,23698 -#define FBIOGET_VCURSORINFO 664,23737 -#define FBIOPUT_VCURSORINFO 665,23776 -#define FBIOGET_CURSORSTATE 666,23815 -#define FBIOPUT_CURSORSTATE 667,23854 -struct fb_fix_cursorinfo fb_fix_cursorinfo670,23895 -struct fb_var_cursorinfo fb_var_cursorinfo679,24235 -struct fb_cursorstate fb_cursorstate687,24380 -#define FB_CURSOR_OFF 693,24453 -#define FB_CURSOR_ON 694,24478 -#define FB_CURSOR_FLASH 695,24502 -static int cursorrate 702,24561 -static u_short cursorstate 703,24625 -static u_short cursormode 704,24658 -static u_short *lofsprite,706,24702 -static u_short *lofsprite, *shfsprite,706,24702 -static u_short *lofsprite, *shfsprite, *dummysprite;706,24702 -static struct amifb_par amifb_par712,24789 -} currentpar;775,26313 -static struct fb_info fb_info 778,26329 -static u_char red0,791,26543 -static u_char red0, green0,791,26543 -static u_char red0, green0, blue0;791,26543 -static u_short ecs_palette[795,26613 -static u_short do_vmode_full 803,26710 -static u_short do_vmode_pan 804,26772 -static short do_blank 805,26833 -static u_short do_cursor 806,26893 -static u_short is_blanked 813,26976 -static u_short is_lace 814,27032 -static struct fb_videomode ami_modedb[821,27125 -static struct fb_videomode ami_modedb[] __initdata 821,27125 -#define NUM_TOTAL_MODES 936,30878 -static char *mode_option __initdata 938,30927 -static int round_down_bpp 939,30971 -#define DEFMODE_PAL 946,31060 -#define DEFMODE_NTSC 947,31114 -#define DEFMODE_AMBER_PAL 948,31171 -#define DEFMODE_AMBER_NTSC 949,31248 -#define DEFMODE_AGA 950,31327 -static int amifb_ilbm 953,31378 -static int amifb_inverse 954,31443 -#define hscroll2hw(hscroll2hw994,32422 -#define diwstrt2hw(diwstrt2hw1000,32645 -#define diwstop2hw(diwstop2hw1002,32745 -#define diwhigh2hw(diwhigh2hw1004,32845 -#define ddfstrt2hw(ddfstrt2hw1011,33126 -#define ddfstop2hw(ddfstop2hw1012,33168 -#define hsstrt2hw(hsstrt2hw1016,33283 -#define hsstop2hw(hsstop2hw1017,33324 -#define htotal2hw(htotal2hw1018,33365 -#define vsstrt2hw(vsstrt2hw1019,33408 -#define vsstop2hw(vsstop2hw1020,33449 -#define vtotal2hw(vtotal2hw1021,33490 -#define hcenter2hw(hcenter2hw1022,33533 -#define hbstrt2hw(hbstrt2hw1026,33630 -#define hbstop2hw(hbstop2hw1027,33706 -#define vbstrt2hw(vbstrt2hw1028,33782 -#define vbstop2hw(vbstop2hw1029,33823 -#define rgb2hw8_high(rgb2hw8_high1033,33879 -#define rgb2hw8_low(rgb2hw8_low1035,33979 -#define rgb2hw4(rgb2hw41037,34078 -#define rgb2hw2(rgb2hw21039,34173 -#define spr2hw_pos(spr2hw_pos1044,34311 -#define spr2hw_ctl(spr2hw_ctl1046,34399 -#define get_vbpos(get_vbpos1052,34665 -#define COPINITSIZE 1058,34789 - cip_bplcon01061,34837 -#define COPLISTSIZE 1069,34976 - cop_wait,1072,35024 - cop_wait, cop_bplcon0,1072,35024 - cop_spr0ptrh,1073,35048 - cop_spr0ptrh, cop_spr0ptrl,1073,35048 - cop_diwstrt,1074,35077 - cop_diwstrt, cop_diwstop,1074,35077 - cop_diwhigh,1075,35104 -static u_short bplpixmode[1082,35174 -static u_short sprpixmode[1088,35286 -static u_short bplfetchmode[1098,35473 -static u_short sprfetchmode[1104,35590 -static struct fb_ops amifb_ops 1178,37900 -static void __init amifb_setup_mcap(1192,38276 -int __init amifb_setup(1229,39128 -static int amifb_check_var(1261,39790 -static int amifb_set_par(1277,40102 -static int amifb_pan_display(1331,41387 -#define BYTES_PER_LONG 1359,42155 -#define SHIFT_PER_LONG 1360,42180 -#define BYTES_PER_LONG 1362,42231 -#define SHIFT_PER_LONG 1363,42256 -#define Please 1365,42287 -static inline unsigned long comp(1374,42454 -static inline unsigned long xor(1381,42582 -static void bitcpy(1392,42792 -static void bitcpy_rev(1532,45615 -static void bitcpy_not(1684,48768 -static void bitfill32(1824,51619 -static void bitxor32(1880,52561 -static inline void fill_one_line(1927,53350 -static inline void xor_one_line(1942,53684 -static void amifb_fillrect(1958,54019 -static inline void copy_one_line(2001,55220 -static inline void copy_one_line_rev(2018,55647 -static void amifb_copyarea(2036,56091 -static inline void expand_one_line(2097,57749 -static void amifb_imageblit(2126,58511 -static int amifb_ioctl(2176,59878 -static u_long unaligned_chipptr 2231,61226 -static inline u_long __init chipalloc(2233,61264 -static inline void chipfree(2243,61552 -int __init amifb_init(2254,61691 -static void amifb_deinit(2469,67316 -static int amifb_blank(2482,67523 -static int flash_cursor(2492,67687 -static irqreturn_t amifb_interrupt(2511,67965 -static int ami_decode_var(2551,68733 -static int ami_encode_var(2939,79111 -static void ami_pan_var(3038,81891 -static int ami_update_par(3058,82243 -static int amifb_setcolreg(3126,84253 -static void ami_update_display(3191,85933 -static void ami_init_display(3206,86263 -static void ami_do_blank(3261,87667 -static int ami_get_fix_cursorinfo(3340,90035 -static int ami_get_var_cursorinfo(3351,90313 -static int ami_set_var_cursorinfo(3426,92261 -static int ami_get_cursorstate(3545,95474 -static int ami_set_cursorstate(3555,95689 -static void ami_set_sprite(3567,95963 -static void __init ami_init_copper(3621,97623 -static void ami_reinit_copper(3651,98380 -static void ami_build_copper(3663,98649 -static void ami_rebuild_copper(3740,101216 -void cleanup_module(3829,103703 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cyberfb.c,3140 -#define DPRINTK(DPRINTK104,3305 -#define DPRINTK(DPRINTK107,3424 -#define wb_64(wb_64110,3462 -#define rb_64(rb_64111,3540 -#define ww_64(ww_64113,3610 -struct cyberfb_par cyberfb_par115,3689 -static struct cyberfb_par current_par;123,3810 -static int current_par_valid 125,3850 -static struct display disp;127,3885 -static struct fb_info fb_info;128,3913 -static char cyberfb_name[135,3978 -static unsigned char Cyber_colour_table 142,4067 -static unsigned long CyberSize;143,4117 -static volatile unsigned char *CyberBase;144,4149 -static volatile unsigned char *CyberMem;145,4191 -static volatile unsigned char *CyberRegs;146,4232 -static unsigned long CyberMem_phys;147,4274 -static unsigned long CyberRegs_phys;148,4310 -} cyberfb_predefined[157,4457 -} cyberfb_predefined[] __initdata 157,4457 -#define NUM_TOTAL_MODES 221,6808 -static int Cyberfb_inverse 223,6867 -#define CYBER8_DEFMODE 229,6933 -#define CYBER16_DEFMODE 230,6964 -static struct fb_var_screeninfo cyberfb_default;232,6996 -static int cyberfb_usermode __initdata 233,7045 -static struct display_switch fbcon_cyber8;266,7999 -static int Cyber_init(325,9796 -static int Cyber_encode_fix(391,11517 -static int Cyber_decode_var(427,12410 -static int Cyber_encode_var(470,13691 -static int cyberfb_setcolreg(516,14853 -static int Cyber_getcolreg(551,15569 -static int cyberfb_blank(579,16243 -static void Cyber_WaitQueue 614,17057 -static void Cyber_WaitBlit 628,17389 -static void Cyber_BitBLT 642,17691 -static void Cyber_RectFill 687,18915 -static void Cyber_MoveCursor 717,19792 -static void cyberfb_get_par(745,20505 -static void cyberfb_set_par(757,20709 -static void cyber_set_video(766,20854 -static int do_fb_set_var(778,21098 -static int cyberfb_get_fix(803,21627 -static int cyberfb_get_var(824,22032 -static void cyberfb_set_disp(844,22432 -static int cyberfb_set_var(892,23474 -static int cyberfb_get_cmap(931,24576 -static struct fb_ops cyberfb_ops 950,25198 -int __init cyberfb_setup(961,25486 -int __init cyberfb_init(1002,26436 -static int Cyberfb_switch(1075,28768 -static int Cyberfb_updatevar(1100,29390 -static int __init get_video_mode(1111,29527 -static void fbcon_cyber8_bmove(1133,29922 -static void fbcon_cyber8_clear(1144,30293 -static void fbcon_cyber8_putc(1161,30714 -static void fbcon_cyber8_putcs(1170,30920 -static void fbcon_cyber8_revc(1180,31175 -static struct display_switch fbcon_cyber8 1188,31334 -int init_module(1204,31679 -#define MAXPIXELCLOCK 1218,31893 -long cv64_memclk 1221,31967 -long cv64_memclk 1223,32002 -static unsigned char clocks[1228,32064 -unsigned char cvconscolors[1294,35208 -inline unsigned char RAttr 1317,35788 -inline unsigned char RSeq 1326,35990 -inline unsigned char RCrt 1334,36180 -inline unsigned char RGfx 1342,36375 -inline void cv64_write_port 1353,36593 -inline void cvscreen 1384,37251 -inline void gfx_on_off(1400,37621 -static unsigned short cv64_compute_clock(1426,38302 -static int cv_has_4mb 1468,39246 -static void cv64_board_init 1513,40043 -static void cv64_load_video_mode 1770,47937 -void cvision_bitblt 2154,57360 -void cvision_clear 2193,58338 -static void cv64_dump 2213,58919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cfbcopyarea.c,348 -#define LONG_MASK 32,931 -#define FB_WRITEL 35,995 -#define FB_READL 36,1023 -#define SHIFT_PER_LONG 37,1050 -#define BYTES_PER_LONG 38,1075 -#define FB_WRITEL 40,1106 -#define FB_READL 41,1134 -#define SHIFT_PER_LONG 42,1161 -#define BYTES_PER_LONG 43,1186 -static void bitcpy(46,1219 -static void bitcpy_rev(189,4675 -void cfb_copyarea(341,8430 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/retz3fb.c,1975 -#define DEBUG 48,1226 -#define PAT_MEM_SIZE 56,1347 -#define PAT_MEM_OFF 57,1373 -struct retz3fb_par retz3fb_par59,1424 -struct display_data display_data85,1952 -struct retz3_fb_info retz3_fb_info100,2496 -static char fontname[116,2852 -static char fontname[40] __initdata 116,2852 -#define retz3info(retz3info118,2898 -#define fbinfo(fbinfo119,2955 -static char retz3fb_name[126,3037 -} retz3fb_predefined[173,4428 -} retz3fb_predefined[] __initdata 173,4428 -#define NUM_TOTAL_MODES 253,7020 -static struct fb_var_screeninfo retz3fb_default;255,7079 -static int z3fb_inverse 257,7129 -static int z3fb_mode __initdata 258,7158 -static struct display_switch fbcon_retz3_8;295,8145 -static unsigned short find_fq(338,9485 -static int retz3_set_video(382,10122 -static int retz3_encode_fix(776,21230 -static int retz3_decode_var(812,22041 -static int retz3_encode_var(849,22914 -static int retz3fb_setcolreg(895,23927 -static int retz3_getcolreg(929,24667 -static inline void retz3_busy(949,25185 -static void retz3_bitblt 964,25520 -static void retz3_MoveCursor 1044,27315 -static void retz3fb_get_par(1055,27502 -static void retz3fb_set_par(1066,27741 -static int do_fb_set_var(1075,27930 -static int retz3fb_get_fix(1102,28524 -static int retz3fb_get_var(1120,28891 -static void retz3fb_set_disp(1135,29175 -static int retz3fb_set_var(1190,30323 -static int retz3fb_get_cmap(1274,32504 -static int retz3fb_blank(1291,32988 -static struct fb_ops retz3fb_ops 1314,33579 -int __init retz3fb_setup(1325,33867 -int __init retz3fb_init(1351,34330 -static int z3fb_switch(1441,36846 -static int z3fb_updatevar(1463,37417 -static int __init get_video_mode(1472,37521 -int init_module(1488,37793 -static void retz3_8_bmove(1500,37912 -static void retz3_8_clear(1520,38380 -static void retz3_putc(1545,38920 -static void retz3_putcs(1553,39076 -static void retz3_revc(1562,39267 -static void retz3_clear_margins(1569,39376 -static struct display_switch fbcon_retz3_8 1577,39541 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/valkyriefb.c,910 -static int default_vmode 75,2182 -static int default_cmode 76,2227 -static int default_vmode 78,2269 -static int default_cmode 79,2309 -struct fb_par_valkyrie fb_par_valkyrie82,2357 -struct fb_info_valkyrie fb_info_valkyrie89,2473 -static struct fb_ops valkyriefb_ops 129,3754 -static int valkyriefb_set_par(142,4133 -static inline int valkyrie_par_to_var(172,4892 -valkyriefb_check_var(179,5071 -static int valkyriefb_blank(200,5789 -static int valkyriefb_setcolreg(231,6585 -static inline int valkyrie_vram_reqd(259,7304 -static void set_valkyrie_clock(269,7561 -static void __init valkyrie_choose_mode(284,7848 -int __init valkyriefb_init(320,9008 -static int read_valkyrie_sense(413,11436 -static int valkyrie_var_to_par(463,13391 -static void valkyrie_init_fix(516,14836 -static void valkyrie_par_to_fix(534,15321 -static void __init valkyrie_init_info(544,15654 -int __init valkyriefb_setup(558,16030 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/tcx.c,1310 -static struct fb_ops tcx_ops 44,1074 -#define TCX_THC_MISC_REV_SHIFT 57,1387 -#define TCX_THC_MISC_REV_MASK 58,1427 -#define TCX_THC_MISC_VSYNC_DIS 59,1467 -#define TCX_THC_MISC_HSYNC_DIS 60,1514 -#define TCX_THC_MISC_RESET 61,1561 -#define TCX_THC_MISC_VIDEO 62,1608 -#define TCX_THC_MISC_SYNC 63,1655 -#define TCX_THC_MISC_VSYNC 64,1701 -#define TCX_THC_MISC_SYNC_ENAB 65,1747 -#define TCX_THC_MISC_CURS_RES 66,1793 -#define TCX_THC_MISC_INT_ENAB 67,1839 -#define TCX_THC_MISC_INT 68,1885 -#define TCX_THC_MISC_INIT 69,1931 -#define TCX_THC_REV_REV_SHIFT 70,1973 -#define TCX_THC_REV_REV_MASK 71,2013 -#define TCX_THC_REV_MINREV_SHIFT 72,2053 -#define TCX_THC_REV_MINREV_MASK 73,2093 -struct tcx_tec tcx_tec76,2165 -struct tcx_thc tcx_thc82,2259 -struct bt_regs bt_regs98,2745 -#define TCX_MMAP_ENTRIES 105,2856 -struct tcx_par tcx_par107,2885 -#define TCX_FLAG_BLANKED 115,3028 -static void __tcx_set_control_plane 128,3291 -static void tcx_reset 146,3631 -static int tcx_setcolreg(165,4302 -tcx_blank(198,5080 -static struct sbus_mmap_map __tcx_mmap_map[240,5902 -static int tcx_mmap(296,6678 -static int tcx_ioctl(306,6953 -tcx_init_fix(322,7300 -struct all_info all_info342,7717 -static void tcx_init_one(349,7834 -int __init tcx_init(466,10986 -void __exit tcx_exit(482,11229 -tcx_setup(496,11500 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sbuslib.h,147 -#define _SBUSLIB_H3,70 -struct sbus_mmap_map sbus_mmap_map5,90 -#define SBUS_MMAP_FBSIZE(SBUS_MMAP_FBSIZE11,180 -#define SBUS_MMAP_EMPTY 12,213 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/STG4000InitDevice.c,1628 -#define SDRAM_CFG_0 20,480 -#define SDRAM_CFG_1 21,509 -#define SDRAM_CFG_2 22,538 -#define SDRAM_ARB_CFG 23,565 -#define SDRAM_REFRESH 24,592 -#define PMX2_SOFTRESET_DAC_RST 27,639 -#define PMX2_SOFTRESET_C1_RST 28,678 -#define PMX2_SOFTRESET_C2_RST 29,716 -#define PMX2_SOFTRESET_3D_RST 30,754 -#define PMX2_SOFTRESET_VIDIN_RST 31,792 -#define PMX2_SOFTRESET_TLB_RST 32,832 -#define PMX2_SOFTRESET_SD_RST 33,871 -#define PMX2_SOFTRESET_VGA_RST 34,909 -#define PMX2_SOFTRESET_ROM_RST 35,948 -#define PMX2_SOFTRESET_TA_RST 36,1020 -#define PMX2_SOFTRESET_REG_RST 37,1058 -#define PMX2_SOFTRESET_ALL 38,1097 -#define CORE_PLL_FREQ 41,1155 -#define REF_FREQ 44,1213 -static u16 CorePllControl 47,1257 -#define PCI_CONFIG_SUBSYS_ID 49,1292 -#define CORE_PLL_MODE_REG_0_7 52,1338 -#define CORE_PLL_MODE_REG_8_15 53,1375 -#define CORE_PLL_MODE_CONFIG_REG 54,1412 -#define DAC_PLL_CONFIG_REG 55,1449 -#define STG_MAX_VCO 57,1487 -#define STG_MIN_VCO 58,1514 -#define STG4K3_PLL_SCALER 61,1558 -#define STG4K3_PLL_MIN_R 62,1642 -#define STG4K3_PLL_MAX_R 63,1703 -#define STG4K3_PLL_MIN_F 64,1750 -#define STG4K3_PLL_MAX_F 65,1808 -#define STG4K3_PLL_MIN_OD 66,1856 -#define STG4K3_PLL_MAX_OD 67,1925 -#define STG4K3_PLL_MIN_VCO_SC 68,1971 -#define STG4K3_PLL_MAX_VCO_SC 69,2057 -#define STG4K3_PLL_MINR_VCO_SC 70,2143 -#define STG4K3_PLL_MAXR_VCO_SC 71,2242 -#define STG4K3_PLL_MINR_VCO 72,2341 -#define STG4K3_PLL_MAX_VCO 73,2417 -#define STG4K3_PLL_MAXR_VCO 74,2480 -#define OS_DELAY(OS_DELAY76,2557 -u32 InitSDRAMRegisters(82,2644 -u32 ProgramClock(116,3717 -int SetCoreClockPLL(242,7415 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/STG4000OverlayDevice.c,1119 -#define STG4000_NO_SCALING 20,451 -#define STG4000_NO_DECIMATION 21,487 -#define STG4000_PRIM_NUM_PIX 24,551 -#define STG4000_PRIM_ALIGN 25,584 -#define STG4000_PRIM_ADDR_BITS 26,617 -#define STG4000_PRIM_MIN_WIDTH 28,652 -#define STG4000_PRIM_MAX_WIDTH 29,688 -#define STG4000_PRIM_MIN_HEIGHT 30,725 -#define STG4000_PRIM_MAX_HEIGHT 31,761 -#define STG4000_OVRL_NUM_PIX 34,821 -#define STG4000_OVRL_ALIGN 35,854 -#define STG4000_OVRL_ADDR_BITS 36,887 -#define STG4000_OVRL_NUM_MODES 37,921 -#define STG4000_OVRL_MIN_WIDTH 39,955 -#define STG4000_OVRL_MAX_WIDTH 40,989 -#define STG4000_OVRL_MIN_HEIGHT 41,1025 -#define STG4000_OVRL_MAX_HEIGHT 42,1059 -u32 adwDecim8[45,1125 -typedef struct _OVRL_SRC_DEST _OVRL_SRC_DEST55,1577 -} OVRL_SRC_DEST;OVRL_SRC_DEST73,1959 -static u32 ovlWidth,75,1977 -static u32 ovlWidth, ovlHeight,75,1977 -static u32 ovlWidth, ovlHeight, ovlStride;75,1977 -static int ovlLinear;76,2020 -void ResetOverlayRegisters(78,2043 -int CreateOverlaySurface(139,3681 -int SetOverlayBlendMode(241,6256 -void EnableOverlayPlane(287,7060 -static u32 Overlap(301,7390 -int SetOverlayViewPort(316,7580 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/STG4000Reg.h,1508 -#define _STG4000REG_H12,291 -#define DWFILL 14,314 -#define WFILL 15,347 -#define STG_WRITE_REG(STG_WRITE_REG24,587 -#define STG_READ_REG(STG_READ_REG25,663 -#define STG_WRITE_REG(STG_WRITE_REG27,738 -#define STG_READ_REG(STG_READ_REG28,792 -#define SET_BIT(SET_BIT31,863 -#define CLEAR_BIT(CLEAR_BIT32,891 -#define CLEAR_BITS_FRM_TO(CLEAR_BITS_FRM_TO33,929 -#define CLEAR_BIT_2(CLEAR_BIT_242,1046 -#define CLEAR_BITS_FRM_TO_2(CLEAR_BITS_FRM_TO_243,1089 -typedef enum _LUT_USES _LUT_USES53,1228 - NO_LUT 54,1253 - NO_LUT = 0, RESERVED,54,1253 - NO_LUT = 0, RESERVED, GRAPHICS,54,1253 - NO_LUT = 0, RESERVED, GRAPHICS, OVERLAY54,1253 -} LUT_USES;LUT_USES55,1294 -typedef enum _PIXEL_FORMAT _PIXEL_FORMAT58,1349 - _8BPP 59,1378 - _8BPP = 0, _15BPP,59,1378 - _8BPP = 0, _15BPP, _16BPP,59,1378 - _8BPP = 0, _15BPP, _16BPP, _24BPP,59,1378 - _8BPP = 0, _15BPP, _16BPP, _24BPP, _32BPP59,1378 -} PIXEL_FORMAT;PIXEL_FORMAT60,1421 -typedef enum _BLEND_MODE _BLEND_MODE63,1473 - GRAPHICS_MODE 64,1500 - GRAPHICS_MODE = 0, COLOR_KEY,64,1500 - GRAPHICS_MODE = 0, COLOR_KEY, PER_PIXEL_ALPHA,64,1500 - GRAPHICS_MODE = 0, COLOR_KEY, PER_PIXEL_ALPHA, GLOBAL_ALPHA,64,1500 - CK_PIXEL_ALPHA,65,1562 - CK_PIXEL_ALPHA, CK_GLOBAL_ALPHA65,1562 -} OVRL_BLEND_MODE;OVRL_BLEND_MODE66,1595 -typedef enum _OVRL_PIX_FORMAT _OVRL_PIX_FORMAT69,1649 - UYVY,70,1681 - UYVY, VYUY,70,1681 - UYVY, VYUY, YUYV,70,1681 - UYVY, VYUY, YUYV, YVYU70,1681 -} OVRL_PIX_FORMAT;OVRL_PIX_FORMAT71,1705 -} STG4000REG;STG4000REG281,10849 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/STG4000Interface.h,35 -#define _STG4000INTERFACE_H12,303 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/STG4000Ramdac.c,194 -static u32 STG_PIXEL_BUS_WIDTH 19,428 -static u32 REF_CLOCK 20,495 -STG4000REG *pSTGReg;21,525 -int InitialiseRamdac(23,547 -void DisableRamdacOutput(148,3518 -void EnableRamdacOutput(157,3725 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/fbdev.c,2298 -#define PCI_VENDOR_ID_ST 40,848 -#define PCI_DEVICE_ID_STG4000 41,880 -#define KHZ2PICOS(KHZ2PICOS43,918 -static struct fb_fix_screeninfo kyro_fix __initdata 46,1038 -static struct fb_var_screeninfo kyro_var __initdata 53,1209 -static struct kyrofb_info *currentpar;76,1713 -} device_info_t;device_info_t84,2101 -static device_info_t deviceInfo;87,2176 -static char *mode_option __initdata 89,2210 -static int nopan __initdata 90,2254 -static int nowrap __initdata 91,2287 -static int nomtrr __initdata 93,2340 -static struct fb_videomode kyro_modedb[100,2540 -static struct fb_videomode kyro_modedb[] __initdata 100,2540 -#define NUM_TOTAL_MODES 268,7689 - VMODE_640_350_85,274,7815 - VMODE_640_400_85,275,7834 - VMODE_720_400_85,276,7853 - VMODE_640_480_60,277,7872 - VMODE_640_480_72,278,7891 - VMODE_640_480_75,279,7910 - VMODE_640_480_85,280,7929 - VMODE_800_600_56,281,7948 - VMODE_800_600_60,282,7967 - VMODE_800_600_72,283,7986 - VMODE_800_600_75,284,8005 - VMODE_800_600_85,285,8024 - VMODE_1024_768_60,286,8043 - VMODE_1024_768_70,287,8063 - VMODE_1024_768_75,288,8083 - VMODE_1024_768_85,289,8103 - VMODE_1152_864_75,290,8123 - VMODE_1280_960_60,291,8143 - VMODE_1280_960_85,292,8163 - VMODE_1280_1024_60,293,8183 - VMODE_1280_1024_75,294,8204 - VMODE_1280_1024_85,295,8225 - VMODE_1600_1200_60,296,8246 - VMODE_1600_1200_65,297,8267 - VMODE_1600_1200_70,298,8288 - VMODE_1600_1200_75,299,8309 - VMODE_1600_1200_85,300,8330 - VMODE_1792_1344_60,301,8351 - VMODE_1792_1344_75,302,8372 - VMODE_1856_1392_60,303,8393 - VMODE_1856_1392_75,304,8414 - VMODE_1920_1440_60,305,8435 - VMODE_1920_1440_75,306,8456 -int kyro_dev_video_mode_set(310,8497 -int kyro_dev_overlay_create(342,9327 -int kyro_dev_overlay_viewport_set(379,10310 -static inline unsigned long get_line_length(398,10776 -static int kyrofb_check_var(403,10891 -static int kyrofb_set_par(479,12924 -static int kyrofb_setcolreg(536,14600 -int __init kyrofb_setup(561,15188 -static int kyrofb_ioctl(587,15631 -static struct pci_device_id kyrofb_pci_tbl[641,17112 -static struct pci_driver kyrofb_pci_driver 649,17298 -static struct fb_ops kyrofb_ops 656,17463 -static int __devinit kyrofb_probe(668,17774 -static void __devexit kyrofb_remove(758,20077 -int __init kyrofb_init(788,20739 -static void __exit kyrofb_exit(800,20944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/kyro/STG4000VTG.c,90 -void DisableVGA(17,374 -void StopVTG(38,784 -void StartVTG(48,999 -void SetupVTG(59,1220 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/softcursor.c,24 -int soft_cursor(20,483 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/q40fb.c,410 -#define Q40_PHYS_SCREEN_ADDR 31,715 -static struct fb_fix_screeninfo q40fb_fix __initdata 33,756 -static struct fb_var_screeninfo q40fb_var __initdata 42,972 -static int q40fb_setcolreg(57,1298 -static struct fb_ops q40fb_ops 81,1830 -static int __init q40fb_probe(90,2046 -static struct device_driver q40fb_driver 132,3055 -static struct platform_device q40fb_device 138,3173 -int __init q40fb_init(142,3242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/g364fb.c,1423 -#define G364_MEM_BASE 37,895 -#define G364_PORT_BASE 38,930 -#define ID_REG 39,965 -#define BOOT_REG 40,1009 -#define TIMING_REG 41,1038 -#define DISPLAY_REG 42,1102 -#define VDISPLAY_REG 43,1134 -#define MASK_REG 44,1167 -#define CTLA_REG 45,1196 -#define CURS_TOGGLE 46,1225 -#define BIT_PER_PIX 47,1255 -#define DELAY_SAMPLE 48,1317 -#define PORT_INTER 49,1350 -#define PIX_PIPE_DEL 50,1378 -#define PIX_PIPE_DEL2 51,1442 -#define TR_CYCLE_TOG 52,1512 -#define VRAM_ADR_INC 53,1542 -#define BLANK_OFF 54,1606 -#define FORCE_BLANK 55,1633 -#define BLK_FUN_SWTCH 56,1662 -#define BLANK_IO 57,1693 -#define BLANK_LEVEL 58,1719 -#define A_VID_FORM 59,1748 -#define D_SYNC_FORM 60,1776 -#define FRAME_FLY_PAT 61,1805 -#define OP_MODE 62,1836 -#define INTL_STAND 63,1862 -#define SCRN_FORM 64,1890 -#define ENABLE_VTG 65,1917 -#define TOP_REG 66,1945 -#define CURS_PAL_REG 67,1973 -#define CHKSUM_REG 68,2024 -#define CURS_POS_REG 69,2082 -#define CLR_PAL_REG 70,2115 -#define CURS_PAT_REG 71,2165 -#define MON_ID_REG 72,2216 -#define RESET_REG 73,2260 -static struct fb_info fb_info;75,2308 -static struct fb_fix_screeninfo fb_fix __initdata 77,2340 -static struct fb_var_screeninfo fb_var __initdata 86,2586 -static struct fb_ops g364fb_ops 117,3468 -int g364fb_cursor(128,3754 -static int g364fb_pan_display(152,4256 -static int g364fb_blank(165,4536 -static int g364fb_setcolreg(177,4789 -int __init g364fb_init(197,5147 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/p9100.c,901 -static struct fb_ops p9100_ops 42,973 -#define P9100_SYSCTL_OFF 55,1304 -#define P9100_VIDEOCTL_OFF 56,1335 -#define P9100_VRAMCTL_OFF 57,1370 -#define P9100_RAMDAC_OFF 58,1405 -#define P9100_VIDEOCOPROC_OFF 59,1439 -#define P9100_CMD_OFF 62,1509 -#define P9100_FB_OFF 65,1569 -#define SYS_CONFIG_PIXELSIZE_SHIFT 68,1642 -#define SCREENPAINT_TIMECTL1_ENABLE_VIDEO 70,1682 -struct p9100_regs p9100_regs72,1752 -struct p9100_cmd_parameng p9100_cmd_parameng124,3186 -struct p9100_par p9100_par130,3312 -#define P9100_FLAG_BLANKED 135,3391 -static int p9100_setcolreg(153,3967 -p9100_blank(186,4823 -static struct sbus_mmap_map p9100_mmap_map[219,5669 -static int p9100_mmap(224,5790 -static int p9100_ioctl(234,6072 -p9100_init_fix(249,6423 -struct all_info all_info263,6769 -static void p9100_init_one(270,6890 -int __init p9100_init(338,8633 -void __exit p9100_exit(354,8884 -p9100_setup(368,9159 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sticore.h,1799 -#define STICORE_H2,18 -#define DPRINTK(DPRINTK7,85 -#define DPRINTK(DPRINTK9,119 -#define MAX_STI_ROMS 12,147 -#define STI_REGION_MAX 14,220 -#define STI_DEV_NAME_LENGTH 15,275 -#define STI_MONITOR_MAX 16,306 -#define STI_FONT_HPROMAN8 18,335 -#define STI_FONT_KANA8 19,363 -#define STI_WAIT 37,1125 -#define STI_PTR(STI_PTR43,1215 -#define PTR_STI(PTR_STI44,1238 -static inline int STI_CALL(45,1261 -#define STI_PTR(STI_PTR55,1524 -#define PTR_STI(PTR_STI56,1563 -#define STI_CALL(STI_CALL57,1608 -#define sti_onscreen_x(sti_onscreen_x68,2050 -#define sti_onscreen_y(sti_onscreen_y69,2106 -#define sti_font_x(sti_font_x72,2209 -#define sti_font_y(sti_font_y73,2261 -typedef union region region78,2358 -} region_t;region_t89,2718 -#define REGION_OFFSET_TO_PHYS(REGION_OFFSET_TO_PHYS91,2731 -struct sti_glob_cfg_ext sti_glob_cfg_ext94,2818 -struct sti_glob_cfg sti_glob_cfg103,3164 -struct sti_init_flags sti_init_flags120,3820 -struct sti_init_inptr_ext sti_init_inptr_ext143,4961 -struct sti_init_inptr sti_init_inptr150,5191 -struct sti_init_outptr sti_init_outptr156,5349 -struct sti_conf_flags sti_conf_flags166,5567 -struct sti_conf_inptr sti_conf_inptr172,5739 -struct sti_conf_outptr_ext sti_conf_outptr_ext176,5814 -struct sti_conf_outptr sti_conf_outptr182,5946 -struct sti_rom sti_rom198,6640 -struct sti_rom_font sti_rom_font247,7421 -struct sti_cooked_font sti_cooked_font262,7676 -struct sti_cooked_rom sti_cooked_rom267,7775 -struct sti_font_inptr sti_font_inptr274,7911 -struct sti_font_flags sti_font_flags284,8302 -struct sti_font_outptr sti_font_outptr291,8548 -struct sti_blkmv_flags sti_blkmv_flags298,8696 -struct sti_blkmv_inptr sti_blkmv_inptr307,9027 -struct sti_blkmv_outptr sti_blkmv_outptr319,9499 -struct sti_struct sti_struct327,9655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sstfb.c,3095 -#define SST_DEBUG_REG 70,2365 -#define SST_DEBUG_FUNC 71,2391 -#define SST_DEBUG_VAR 72,2417 -#define DEFAULT_MODE 83,2674 -static int vgapass;106,3064 -static int mem;107,3120 -static int clipping 108,3175 -static int gfxclk;109,3235 -static int slowpci;110,3295 -static char *mode_option __devinitdata;112,3341 - ID_VOODOO1 115,3389 - ID_VOODOO2 116,3406 -#define IS_VOODOO2(IS_VOODOO2119,3427 -static struct sst_spec voodoo_spec[121,3480 -static struct sst_spec voodoo_spec[] __devinitdata 121,3480 -static struct fb_var_screeninfo sstfb_default 126,3693 - 0, FB_VMODE_NONINTERLACED 140,4259 - 0, FB_VMODE_NONINTERLACED 147,4514 - 0, FB_VMODE_NONINTERLACED 154,4768 -static void sst_dbg_print_read_reg(169,5017 -static void sst_dbg_print_write_reg(187,5597 -# define sst_dbg_print_read_reg(sst_dbg_print_read_reg205,6212 -# define sst_dbg_print_write_reg(sst_dbg_print_write_reg206,6270 -#define sst_read(sst_read214,6423 -#define sst_write(sst_write215,6479 -#define sst_set_bits(sst_set_bits216,6545 -#define sst_unset_bits(sst_unset_bits217,6617 -#define sst_dac_read(sst_dac_read218,6693 -#define sst_dac_write(sst_dac_write219,6756 -#define dac_i_read(dac_i_read220,6830 -#define dac_i_write(dac_i_write221,6890 -static inline u32 __sst_read(223,6961 -static inline void __sst_write(230,7097 -static inline void __sst_set_bits(236,7228 -static inline void __sst_unset_bits(242,7405 -#define sst_wait_idle(sst_wait_idle255,7764 -static int __sst_wait_idle(257,7822 -static u8 __sst_dac_read(282,8491 -static void __sst_dac_write(296,8782 -static u32 __dac_i_read(304,9006 -static void __dac_i_write(313,9222 -static int sst_calc_pll(331,9819 -static void sstfb_clear_screen(374,10906 -static int sstfb_check_var(386,11249 -static int sstfb_set_par(547,15351 -static int sstfb_setcolreg(752,22193 -static int sstfb_ioctl(777,22906 -static void sstfb_copyarea(835,24577 -static void sstfb_fillrect(860,25319 -static int __devinit sst_get_memsize(887,26080 -static int __devinit sst_detect_att(930,27285 -static int __devinit sst_detect_ti(955,27980 -static int __devinit sst_detect_ics(991,29212 -static int sst_set_pll_att_ti(1027,30330 -static int sst_set_pll_ics(1081,31942 -static void sst_set_vidmod_att_ti(1119,33139 -static void sst_set_vidmod_ics(1154,34009 -static struct dac_switch dacs[1182,34634 -static struct dac_switch dacs[] __devinitdata 1182,34634 -static int __devinit sst_detect_dactype(1198,35074 -static int __devinit sst_init(1216,35427 -static void __devexit sst_shutdown(1313,38317 -int __init sstfb_setup(1346,39467 -static struct fb_ops sstfb_ops 1380,40296 -static int __devinit sstfb_probe(1392,40644 - struct all_info all_info1401,40850 -static void __devexit sstfb_remove(1538,44419 -static struct pci_device_id sstfb_id_tbl[1556,44847 -static struct pci_driver sstfb_driver 1564,45101 -int __devinit sstfb_init(1572,45257 -void __devexit sstfb_exit(1584,45457 -static int sstfb_dump_regs(1594,45577 -static void sstfb_fillrect_softw(1644,46826 -static void sstfb_drawrect_XY(1664,47338 -static void sstfb_drawdebugimage(1681,47703 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/igafb.c,814 -struct pci_mmap_map pci_mmap_map55,1604 -struct iga_par iga_par63,1760 -struct fb_info fb_info;69,1871 -struct fb_fix_screeninfo igafb_fix __initdata 71,1896 -struct fb_var_screeninfo default_var 77,2029 -struct fb_var_screeninfo default_var_1024x768 __initdata 101,2547 -struct fb_var_screeninfo default_var_1152x900 __initdata 124,3114 -struct fb_var_screeninfo default_var_1280x1024 __initdata 147,3684 -#define pci_inb(pci_inb175,4373 -#define pci_outb(pci_outb176,4432 -static inline unsigned int iga_inb(178,4498 -static inline void iga_outb(185,4673 -static void iga_blank_border(198,5012 -static int igafb_mmap(222,5740 -static int igafb_setcolreg(280,7143 -static struct fb_ops igafb_ops 324,8292 -static int __init iga_init(335,8532 -int __init igafb_init(375,9607 -int __init igafb_setup(566,15610 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/virgefb.h,7716 -#define S3_CRTC_ADR 29,806 -#define S3_CRTC_DATA 30,836 -#define S3_REG_LOCK2 32,867 -#define S3_HGC_MODE 33,893 -#define S3_HWGC_ORGX_H 35,919 -#define S3_HWGC_ORGX_L 36,947 -#define S3_HWGC_ORGY_H 37,975 -#define S3_HWGC_ORGY_L 38,1003 -#define S3_HWGC_DX 39,1031 -#define S3_HWGC_DY 40,1055 -#define S3_LAW_CTL 42,1080 -#define GREG_MISC_OUTPUT_R 59,1565 -#define GREG_MISC_OUTPUT_W 60,1599 -#define GREG_FEATURE_CONTROL_R 61,1634 -#define GREG_FEATURE_CONTROL_W 62,1673 -#define GREG_INPUT_STATUS0_R 63,1711 -#define GREG_INPUT_STATUS1_R 64,1747 -#define SREG_VIDEO_SUBS_ENABLE 67,1807 -#define ACT_ADDRESS 70,1886 -#define ACT_ADDRESS_R 71,1914 -#define ACT_ADDRESS_W 72,1944 -#define ACT_ADDRESS_RESET 73,1974 -#define ACT_ID_PALETTE0 74,2007 -#define ACT_ID_PALETTE1 75,2037 -#define ACT_ID_PALETTE2 76,2067 -#define ACT_ID_PALETTE3 77,2097 -#define ACT_ID_PALETTE4 78,2127 -#define ACT_ID_PALETTE5 79,2157 -#define ACT_ID_PALETTE6 80,2187 -#define ACT_ID_PALETTE7 81,2217 -#define ACT_ID_PALETTE8 82,2247 -#define ACT_ID_PALETTE9 83,2277 -#define ACT_ID_PALETTE10 84,2307 -#define ACT_ID_PALETTE11 85,2337 -#define ACT_ID_PALETTE12 86,2367 -#define ACT_ID_PALETTE13 87,2397 -#define ACT_ID_PALETTE14 88,2427 -#define ACT_ID_PALETTE15 89,2457 -#define ACT_ID_ATTR_MODE_CNTL 90,2487 -#define ACT_ID_OVERSCAN_COLOR 91,2522 -#define ACT_ID_COLOR_PLANE_ENA 92,2557 -#define ACT_ID_HOR_PEL_PANNING 93,2593 -#define ACT_ID_COLOR_SELECT 94,2629 -#define GCT_ADDRESS 97,2737 -#define GCT_ADDRESS_R 98,2765 -#define GCT_ADDRESS_W 99,2795 -#define GCT_ID_SET_RESET 100,2825 -#define GCT_ID_ENABLE_SET_RESET 101,2855 -#define GCT_ID_COLOR_COMPARE 102,2892 -#define GCT_ID_DATA_ROTATE 103,2926 -#define GCT_ID_READ_MAP_SELECT 104,2958 -#define GCT_ID_GRAPHICS_MODE 105,2994 -#define GCT_ID_MISC 106,3028 -#define GCT_ID_COLOR_XCARE 107,3054 -#define GCT_ID_BITMASK 108,3086 -#define SEQ_ADDRESS 111,3133 -#define SEQ_ADDRESS_R 112,3161 -#define SEQ_ADDRESS_W 113,3191 -#define SEQ_ID_RESET 114,3221 -#define SEQ_ID_CLOCKING_MODE 115,3248 -#define SEQ_ID_MAP_MASK 116,3282 -#define SEQ_ID_CHAR_MAP_SELECT 117,3312 -#define SEQ_ID_MEMORY_MODE 118,3348 -#define SEQ_ID_UNKNOWN1 119,3380 -#define SEQ_ID_UNKNOWN2 120,3410 -#define SEQ_ID_UNKNOWN3 121,3440 -#define SEQ_ID_UNLOCK_EXT 123,3490 -#define SEQ_ID_EXT_SEQ_REG9 124,3521 -#define SEQ_ID_BUS_REQ_CNTL 125,3600 -#define SEQ_ID_EXT_MISC_SEQ 126,3633 -#define SEQ_ID_UNKNOWN4 127,3666 -#define SEQ_ID_EXT_SEQ 128,3696 -#define SEQ_ID_UNKNOWN5 129,3725 -#define SEQ_ID_UNKNOWN6 130,3755 -#define SEQ_ID_MCLK_LO 131,3785 -#define SEQ_ID_MCLK_HI 132,3814 -#define SEQ_ID_DCLK_LO 133,3843 -#define SEQ_ID_DCLK_HI 134,3872 -#define SEQ_ID_CLKSYN_CNTL_1 135,3901 -#define SEQ_ID_CLKSYN_CNTL_2 136,3935 -#define SEQ_ID_CLKSYN_TEST_HI 137,3969 -#define SEQ_ID_CLKSYN_TEST_LO 138,4041 -#define SEQ_ID_RAMDAC_CNTL 139,4111 -#define SEQ_ID_MORE_MAGIC 140,4143 -#define SEQ_ID_SIGNAL_SELECT 141,4174 -#define CRT_ADDRESS 144,4251 -#define CRT_ADDRESS_R 145,4279 -#define CRT_ADDRESS_W 146,4309 -#define CRT_ID_HOR_TOTAL 147,4339 -#define CRT_ID_HOR_DISP_ENA_END 148,4369 -#define CRT_ID_START_HOR_BLANK 149,4406 -#define CRT_ID_END_HOR_BLANK 150,4442 -#define CRT_ID_START_HOR_RETR 151,4476 -#define CRT_ID_END_HOR_RETR 152,4511 -#define CRT_ID_VER_TOTAL 153,4544 -#define CRT_ID_OVERFLOW 154,4574 -#define CRT_ID_PRESET_ROW_SCAN 155,4604 -#define CRT_ID_MAX_SCAN_LINE 156,4640 -#define CRT_ID_CURSOR_START 157,4674 -#define CRT_ID_CURSOR_END 158,4707 -#define CRT_ID_START_ADDR_HIGH 159,4738 -#define CRT_ID_START_ADDR_LOW 160,4774 -#define CRT_ID_CURSOR_LOC_HIGH 161,4809 -#define CRT_ID_CURSOR_LOC_LOW 162,4845 -#define CRT_ID_START_VER_RETR 163,4880 -#define CRT_ID_END_VER_RETR 164,4915 -#define CRT_ID_VER_DISP_ENA_END 165,4948 -#define CRT_ID_SCREEN_OFFSET 166,4985 -#define CRT_ID_UNDERLINE_LOC 167,5019 -#define CRT_ID_START_VER_BLANK 168,5053 -#define CRT_ID_END_VER_BLANK 169,5089 -#define CRT_ID_MODE_CONTROL 170,5123 -#define CRT_ID_LINE_COMPARE 171,5156 -#define CRT_ID_GD_LATCH_RBACK 172,5189 -#define CRT_ID_ACT_TOGGLE_RBACK 173,5224 -#define CRT_ID_ACT_INDEX_RBACK 174,5261 -#define CRT_ID_DEVICE_HIGH 176,5335 -#define CRT_ID_DEVICE_LOW 177,5367 -#define CRT_ID_REVISION 178,5398 -#define CRT_ID_CHIP_ID_REV 179,5428 -#define CRT_ID_MEMORY_CONF 180,5460 -#define CRT_ID_BACKWAD_COMP_1 181,5492 -#define CRT_ID_BACKWAD_COMP_2 182,5527 -#define CRT_ID_BACKWAD_COMP_3 183,5562 -#define CRT_ID_REGISTER_LOCK 184,5597 -#define CRT_ID_CONFIG_1 185,5631 -#define CRT_ID_CONFIG_2 186,5661 -#define CRT_ID_REGISTER_LOCK_1 187,5691 -#define CRT_ID_REGISTER_LOCK_2 188,5727 -#define CRT_ID_MISC_1 189,5763 -#define CRT_ID_DISPLAY_FIFO 190,5791 -#define CRT_ID_LACE_RETR_START 191,5824 -#define CRT_ID_SYSTEM_CONFIG 193,5907 -#define CRT_ID_BIOS_FLAG 194,5941 -#define CRT_ID_LACE_CONTROL 195,5971 -#define CRT_ID_EXT_MODE 196,6004 -#define CRT_ID_HWGC_MODE 197,6034 -#define CRT_ID_HWGC_ORIGIN_X_HI 198,6102 -#define CRT_ID_HWGC_ORIGIN_X_LO 199,6139 -#define CRT_ID_HWGC_ORIGIN_Y_HI 200,6176 -#define CRT_ID_HWGC_ORIGIN_Y_LO 201,6213 -#define CRT_ID_HWGC_FG_STACK 202,6250 -#define CRT_ID_HWGC_BG_STACK 203,6284 -#define CRT_ID_HWGC_START_AD_HI 204,6318 -#define CRT_ID_HWGC_START_AD_LO 205,6355 -#define CRT_ID_HWGC_DSTART_X 206,6392 -#define CRT_ID_HWGC_DSTART_Y 207,6426 -#define CRT_ID_EXT_SYS_CNTL_1 209,6509 -#define CRT_ID_EXT_SYS_CNTL_2 210,6571 -#define CRT_ID_EXT_BIOS_FLAG_1 211,6606 -#define CRT_ID_EXT_MEM_CNTL_1 212,6642 -#define CRT_ID_EXT_MEM_CNTL_2 213,6677 -#define CRT_ID_EXT_DAC_CNTL 214,6712 -#define CRT_ID_EX_SYNC_1 215,6745 -#define CRT_ID_EX_SYNC_2 216,6775 -#define CRT_ID_LAW_CNTL 217,6805 -#define CRT_ID_LAW_POS_HI 218,6869 -#define CRT_ID_LAW_POS_LO 219,6900 -#define CRT_ID_GOUT_PORT 220,6931 -#define CRT_ID_EXT_HOR_OVF 221,6961 -#define CRT_ID_EXT_VER_OVF 222,6993 -#define CRT_ID_EXT_MEM_CNTL_3 223,7025 -#define CRT_ID_EXT_MEM_CNTL_4 224,7087 -#define CRT_ID_EX_SYNC_3 225,7122 -#define CRT_ID_EXT_MISC_CNTL 226,7179 -#define CRT_ID_EXT_MISC_CNTL_1 227,7213 -#define CRT_ID_EXT_MISC_CNTL_2 228,7249 -#define CRT_ID_CONFIG_3 229,7285 -#define CRT_ID_EXT_SYS_CNTL_3 230,7315 -#define CRT_ID_EXT_SYS_CNTL_4 231,7350 -#define CRT_ID_EXT_BIOS_FLAG_3 232,7385 -#define CRT_ID_EXT_BIOS_FLAG_4 233,7421 -#define CRT_ID_EXT_BIOS_FLAG_5 235,7517 -#define CRT_ID_EXT_DAC_TEST 236,7553 -#define CRT_ID_CONFIG_4 237,7586 -#define VDAC_ADDRESS 240,7633 -#define VDAC_ADDRESS_W 241,7662 -#define VDAC_ADDRESS_R 242,7693 -#define VDAC_STATE 243,7724 -#define VDAC_DATA 244,7751 -#define VDAC_MASK 245,7777 -#define MR_SUBSYSTEM_STATUS_R 248,7834 -#define MR_SUBSYSTEM_CNTL_W 249,7892 -#define MR_ADVANCED_FUNCTION_CONTROL 250,7948 -#define BLT_COMMAND_SET 253,8028 -#define BLT_SIZE_X_Y 254,8060 -#define BLT_SRC_X_Y 255,8089 -#define BLT_DEST_X_Y 256,8117 -#define BLT_SRC_BASE 258,8147 -#define BLT_DEST_BASE 259,8176 -#define BLT_CLIP_LEFT_RIGHT 260,8206 -#define BLT_CLIP_TOP_BOTTOM 261,8241 -#define BLT_SRC_DEST_STRIDE 262,8276 -#define BLT_MONO_PATTERN_0 263,8311 -#define BLT_MONO_PATTERN_1 264,8345 -#define BLT_PATTERN_COLOR 265,8379 -#define L2D_COMMAND_SET 267,8413 -#define L2D_CLIP_LEFT_RIGHT 268,8445 -#define L2D_CLIP_TOP_BOTTOM 269,8480 -#define P2D_COMMAND_SET 271,8516 -#define P2D_CLIP_LEFT_RIGHT 272,8548 -#define P2D_CLIP_TOP_BOTTOM 273,8583 -#define CMD_NOP 275,8619 -#define S3V_BITBLT 276,8677 -#define S3V_RECTFILL 277,8708 -#define S3V_AUTOEXE 278,8741 -#define S3V_HWCLIP 279,8766 -#define S3V_DRAW 280,8790 -#define S3V_DST_8BPP 281,8812 -#define S3V_DST_16BPP 282,8838 -#define S3V_DST_24BPP 283,8865 -#define S3V_MONO_PAT 284,8892 -#define S3V_BLT_COPY 286,8920 -#define S3V_BLT_CLEAR 287,8952 -#define S3V_BLT_SET 288,8985 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/leo.c,2230 -static struct fb_ops leo_ops 44,1102 -#define LEO_OFF_LC_SS0_KRN 57,1430 -#define LEO_OFF_LC_SS0_USR 58,1470 -#define LEO_OFF_LC_SS1_KRN 59,1510 -#define LEO_OFF_LC_SS1_USR 60,1550 -#define LEO_OFF_LD_SS0 61,1590 -#define LEO_OFF_LD_SS1 62,1627 -#define LEO_OFF_LD_GBL 63,1664 -#define LEO_OFF_LX_KRN 64,1701 -#define LEO_OFF_LX_CURSOR 65,1738 -#define LEO_OFF_SS0 66,1777 -#define LEO_OFF_SS1 67,1811 -#define LEO_OFF_UNK 68,1845 -#define LEO_OFF_UNK2 69,1879 -#define LEO_CUR_ENABLE 71,1915 -#define LEO_CUR_UPDATE 72,1950 -#define LEO_CUR_PROGRESS 73,1985 -#define LEO_CUR_UPDATECMAP 74,2021 -#define LEO_CUR_TYPE_MASK 76,2060 -#define LEO_CUR_TYPE_IMAGE 77,2097 -#define LEO_CUR_TYPE_CMAP 78,2135 -struct leo_cursor leo_cursor80,2173 -#define LEO_KRN_TYPE_CLUT0 88,2310 -#define LEO_KRN_TYPE_CLUT1 89,2348 -#define LEO_KRN_TYPE_CLUT2 90,2386 -#define LEO_KRN_TYPE_WID 91,2424 -#define LEO_KRN_TYPE_UNK 92,2460 -#define LEO_KRN_TYPE_VIDEO 93,2496 -#define LEO_KRN_TYPE_CLUTDATA 94,2534 -#define LEO_KRN_CSR_ENABLE 95,2575 -#define LEO_KRN_CSR_PROGRESS 96,2613 -#define LEO_KRN_CSR_UNK 97,2653 -#define LEO_KRN_CSR_UNK2 98,2689 -struct leo_lx_krn leo_lx_krn100,2726 -struct leo_lc_ss0_krn leo_lc_ss0_krn106,2822 -struct leo_lc_ss0_usr leo_lc_ss0_usr112,2910 -struct leo_lc_ss1_krn leo_lc_ss1_krn124,3119 -struct leo_lc_ss1_usr leo_lc_ss1_usr128,3160 -struct leo_ld leo_ld132,3201 -#define LEO_SS1_MISC_ENABLE 170,4319 -#define LEO_SS1_MISC_STEREO 171,4358 -struct leo_ld_ss1 leo_ld_ss1172,4397 -struct leo_ld_gbl leo_ld_gbl177,4463 -struct leo_par leo_par181,4500 -#define LEO_FLAG_BLANKED 192,4737 -static void leo_wait(201,4878 -static int leo_setcolreg(221,5526 -static int leo_blank(263,6557 -static struct sbus_mmap_map leo_mmap_map[296,7318 -static int leo_mmap(365,8394 -static int leo_ioctl(375,8668 -leo_init_fix(389,8977 -static void leo_wid_put(403,9291 -static void leo_init_wids(441,10153 -static void leo_switch_from_graph(465,10627 -static int leo_pan_display(497,11579 -static void leo_init_hw(509,11843 -static void leo_fixup_var_rgb(521,12104 -struct all_info all_info533,12359 -static void leo_init_one(540,12476 -int __init leo_init(624,14760 -void __exit leo_exit(640,15003 -leo_setup(654,15274 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cirrusfb.c,3408 -#define CIRRUSFB_VERSION 37,949 -#define isPReP 64,1512 -#define isPReP 66,1558 -#define DPRINTK(DPRINTK87,1909 -#define DPRINTK(DPRINTK89,1999 -#define assert(assert94,2088 -#define assert(assert100,2257 -#define TRUE 109,2350 -#define FALSE 110,2366 -#define MB_ 112,2383 -#define KB_ 113,2407 -#define MAX_NUM_BOARDS 115,2427 - BT_NONE 126,2588 - BT_SD64,127,2602 - BT_PICCOLO,128,2612 - BT_PICASSO,129,2625 - BT_SPECTRUM,130,2638 - BT_PICASSO4,131,2652 - BT_ALPINE,132,2679 - BT_GD5480,133,2707 - BT_LAGUNA,134,2719 -} cirrusfb_board_t;cirrusfb_board_t135,2744 -static const struct cirrusfb_board_info_rec cirrusfb_board_info_rec147,3118 -} cirrusfb_board_info[163,3771 -#define CHIP(CHIP277,6038 -static struct pci_device_id cirrusfb_pci_table[280,6150 -static const struct zorro_device_id cirrusfb_zorro_table[300,6826 -} cirrusfb_zorro_table2[323,7371 -struct cirrusfb_regs cirrusfb_regs348,7835 - CRT,382,8412 - SEQ383,8425 -} cirrusfb_dbg_reg_class_t;cirrusfb_dbg_reg_class_t384,8437 -struct cirrusfb_info cirrusfb_info391,8545 -static unsigned cirrusfb_def_mode 420,9086 -static int noaccel 421,9125 -} cirrusfb_predefined[430,9259 -#define NUM_TOTAL_MODES 511,11036 -static struct fb_ops cirrusfb_ops 537,12187 -static int opencount 600,14871 -int cirrusfb_open 603,14978 -int cirrusfb_release 611,15181 -static long cirrusfb_get_mclk 623,15573 -int cirrusfb_check_var(663,16547 -static int cirrusfb_decode_var 846,20880 -static void cirrusfb_set_mclk 990,24403 -static int cirrusfb_set_par_foo 1014,25255 -int cirrusfb_set_par 1576,42099 -int cirrusfb_setcolreg 1582,42215 -int cirrusfb_pan_display 1635,43498 -int cirrusfb_blank 1705,45444 -static void init_vgachip 1770,47498 -static void switch_monitor 1957,55681 -static void cirrusfb_prim_fillrect(2014,56921 -void cirrusfb_fillrect 2035,57586 -static void cirrusfb_prim_copyarea(2063,58311 -void cirrusfb_copyarea(2085,58957 -void cirrusfb_imageblit(2120,59969 -#define PREP_VIDEO_BASE 2130,60188 -#define PREP_IO_BASE 2131,60250 -static void get_prep_addrs 2132,60314 -static int release_io_ports 2146,60567 -static unsigned int cirrusfb_get_memsize 2152,60835 -static void get_pci_addrs 2182,61571 -static void cirrusfb_pci_unmap 2210,62147 -static void __devexit cirrusfb_zorro_unmap 2228,62566 -static int cirrusfb_set_fbinfo(2244,62980 -static int cirrusfb_register(2294,64502 -static void __devexit cirrusfb_cleanup 2343,65722 -static int cirrusfb_pci_register 2360,66050 -void __devexit cirrusfb_pci_unregister 2459,68748 -static struct pci_driver cirrusfb_pci_driver 2469,68933 -static int cirrusfb_zorro_register(2485,69274 -void __devexit cirrusfb_zorro_unregister(2587,72118 -static struct zorro_driver cirrusfb_zorro_driver 2597,72302 -int __init cirrusfb_init(2605,72530 -int __init cirrusfb_setup(2629,72900 -void __exit cirrusfb_exit 2664,73624 -static void WGen 2689,74397 -static unsigned char RGen 2705,74863 -static void AttrOn 2720,75317 -static void WHDR 2748,76230 -static void WSFR 2789,77262 -static void WSFR2 2799,77525 -static void WClut 2812,77874 -static void RClut 2838,78683 -static void cirrusfb_WaitBLT 2868,79608 -static void cirrusfb_BitBLT 2881,79956 -static void cirrusfb_RectFill 2972,82777 -static void bestclock 3051,85653 -void cirrusfb_dbg_print_byte 3143,87392 -void cirrusfb_dbg_print_regs 3170,88139 -void cirrusfb_dump 3213,88816 -void cirrusfb_dbg_reg_dump 3230,89219 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/stifb.c,5529 - #define REGION_BASE(REGION_BASE77,2800 - #define REGION_BASE(REGION_BASE80,2913 -#define NGLEDEVDEPROM_CRT_REGION 84,3005 -} video_setup_t;video_setup_t97,3293 -} ngle_rom_t;ngle_rom_t107,3547 -struct stifb_info stifb_info109,3562 -static int __initdata bpp 117,3700 -static int __initdata stifb_force_bpp[118,3761 -#define REG_1 124,3946 -#define REG_2 125,3970 -#define REG_3 126,3994 -#define REG_4 127,4018 -#define REG_6 128,4042 -#define REG_8 129,4066 -#define REG_9 130,4090 -#define REG_10 131,4114 -#define REG_11 132,4139 -#define REG_12 133,4164 -#define REG_13 134,4189 -#define REG_14 135,4214 -#define REG_15 136,4240 -#define REG_15b0 137,4265 -#define REG_16b1 138,4291 -#define REG_16b3 139,4317 -#define REG_21 140,4343 -#define REG_22 141,4368 -#define REG_23 142,4393 -#define REG_26 143,4418 -#define REG_27 144,4443 -#define REG_32 145,4468 -#define REG_33 146,4493 -#define REG_34 147,4518 -#define REG_35 148,4543 -#define REG_38 149,4568 -#define REG_39 150,4593 -#define REG_40 151,4618 -#define REG_42 152,4643 -#define REG_43 153,4668 -#define REG_44 154,4693 -#define REG_45 155,4718 -#define READ_BYTE(READ_BYTE157,4744 -#define READ_WORD(READ_WORD158,4818 -# define DEBUG_OFF(DEBUG_OFF162,4919 -# define DEBUG_ON(DEBUG_ON163,4941 -# define WRITE_BYTE(WRITE_BYTE164,4962 -# define WRITE_WORD(WRITE_WORD165,5052 - static int debug_on 167,5148 -# define DEBUG_OFF(DEBUG_OFF168,5175 -# define DEBUG_ON(DEBUG_ON169,5208 -# define WRITE_BYTE(WRITE_BYTE170,5241 -# define WRITE_WORD(WRITE_WORD174,5507 -#define ENABLE 181,5805 -#define DISABLE 182,5859 -#define NGLE_LOCK(NGLE_LOCK184,5878 -#define NGLE_UNLOCK(NGLE_UNLOCK185,5923 -SETUP_HW(188,5982 -SETUP_FB(201,6154 -START_IMAGE_COLORMAP_ACCESS(238,6919 -WRITE_IMAGE_COLOR(247,7105 -FINISH_IMAGE_COLORMAP_ACCESS(255,7276 -SETUP_RAMDAC(270,7643 -CRX24_SETUP_RAMDAC(278,7787 -HCRX_SETUP_RAMDAC(291,8091 -CRX24_SET_OVLY_MASK(298,8194 -ENABLE_DISABLE_DISPLAY(310,8490 -CRX24_ENABLE_DISABLE_DISPLAY(319,8728 -ARTIST_ENABLE_DISABLE_DISPLAY(329,8986 -#define GET_ROMTABLE_INDEX(GET_ROMTABLE_INDEX344,9474 -#define HYPER_CONFIG_PLANES_24 347,9539 -#define IS_24_DEVICE(IS_24_DEVICE349,9583 -#define IS_888_DEVICE(IS_888_DEVICE352,9664 -#define GET_FIFO_SLOTS(GET_FIFO_SLOTS355,9716 -#define IndexedDcd 361,9854 -#define Otc04 362,9922 -#define Otc32 363,9985 -#define Ots08 364,10049 -#define OtsIndirect 365,10112 -#define AddrLong 366,10181 -#define BINovly 367,10245 -#define BINapp0I 368,10289 -#define BINapp1I 369,10350 -#define BINapp0F8 370,10411 -#define BINattr 371,10482 -#define RopSrc 372,10529 -#define BitmapExtent08 373,10553 -#define BitmapExtent32 374,10624 -#define DataDynamic 375,10695 -#define MaskDynamic 376,10771 -#define MaskOtc 377,10847 -#define MaskAddrOffset(MaskAddrOffset379,10918 -#define StaticReg(StaticReg380,10958 -#define BGx(BGx381,10985 -#define FGx(FGx382,11006 -#define BAJustPoint(BAJustPoint384,11028 -#define BAIndexBase(BAIndexBase385,11065 -#define BA(BA386,11098 -#define IBOvals(IBOvals389,11194 -#define NGLE_QUICK_SET_IMAGE_BITMAP_OP(NGLE_QUICK_SET_IMAGE_BITMAP_OP392,11305 -#define NGLE_QUICK_SET_DST_BM_ACCESS(NGLE_QUICK_SET_DST_BM_ACCESS395,11385 -#define NGLE_QUICK_SET_CTL_PLN_REG(NGLE_QUICK_SET_CTL_PLN_REG398,11463 -#define NGLE_REALLY_SET_IMAGE_PLANEMASK(NGLE_REALLY_SET_IMAGE_PLANEMASK401,11539 -#define NGLE_REALLY_SET_IMAGE_FG_COLOR(NGLE_REALLY_SET_IMAGE_FG_COLOR404,11630 -#define NGLE_SET_TRANSFERDATA(NGLE_SET_TRANSFERDATA407,11712 -#define NGLE_SET_DSTXY(NGLE_SET_DSTXY410,11782 -#define NGLE_LONG_FB_ADDRESS(NGLE_LONG_FB_ADDRESS413,11845 -#define NGLE_BINC_SET_DSTADDR(NGLE_BINC_SET_DSTADDR419,12017 -#define NGLE_BINC_SET_SRCADDR(NGLE_BINC_SET_SRCADDR422,12089 -#define NGLE_BINC_SET_DSTMASK(NGLE_BINC_SET_DSTMASK425,12161 -#define NGLE_BINC_WRITE32(NGLE_BINC_WRITE32428,12234 -#define START_COLORMAPLOAD(START_COLORMAPLOAD431,12307 -#define SET_LENXY_START_RECFILL(SET_LENXY_START_RECFILL434,12403 -HYPER_ENABLE_DISABLE_DISPLAY(438,12491 -#define BUFF0_CMAP0 453,12830 -#define BUFF1_CMAP0 454,12861 -#define BUFF1_CMAP3 455,12892 -#define ARTIST_CMAP0 456,12923 -#define HYPER_CMAP8 457,12955 -#define HYPER_CMAP24 458,12986 -SETUP_ATTR_ACCESS(461,13031 -SET_ATTR_SIZE(471,13276 -FINISH_ATTR_ACCESS(487,13796 -elkSetupPlanes(494,13908 -ngleSetupAttrPlanes(501,13998 -rattlerSetupPlanes(511,14213 -#define HYPER_CMAP_TYPE 528,14569 -#define NGLE_CMAP_INDEXED0_TYPE 529,14598 -#define NGLE_CMAP_OVERLAY_TYPE 530,14634 -} NgleLutBltCtl;NgleLutBltCtl545,15150 -setNgleLutBltCtl(550,15196 -setHyperLutBltCtl(589,16119 -static void hyperUndoITE(612,16711 -ngleDepth8_ClearImagePlanes(647,17670 -ngleDepth24_ClearImagePlanes(653,17753 -ngleResetAttrPlanes(659,17836 -ngleClearOverlayPlanes(711,19403 -hyperResetPlanes(746,20391 -ngleGetDeviceRomData(803,21832 -#define HYPERBOWL_MODE_FOR_8_OVER_88_LUT0_NO_TRANSPARENCIES 864,23296 -#define HYPERBOWL_MODE01_8_24_LUT0_TRANSPARENT_LUT1_OPAQUE 865,23358 -#define HYPERBOWL_MODE01_8_24_LUT0_OPAQUE_LUT1_OPAQUE 866,23419 -#define HYPERBOWL_MODE2_8_24 867,23477 -SETUP_HCRX(871,23578 -#define TMPBUFLEN 914,24794 -stifb_read(917,24833 -stifb_write(950,25633 -stifb_setcolreg(992,26549 -stifb_blank(1044,27587 -stifb_init_display(1073,28224 -static struct fb_ops stifb_ops 1132,29459 -stifb_init_fb(1150,29795 -static int stifb_disabled __initdata;1377,35896 -stifb_init(1383,35986 -stifb_cleanup(1416,36510 -stifb_setup(1438,36987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/edid.h,2744 -#define __EDID_H__19,536 -#define EDID_LENGTH 21,556 -#define EDID_HEADER 22,584 -#define EDID_HEADER_END 23,612 -#define ID_MANUFACTURER_NAME 25,645 -#define ID_MANUFACTURER_NAME_END 26,681 -#define ID_MODEL 27,720 -#define ID_SERIAL_NUMBER 29,746 -#define MANUFACTURE_WEEK 31,779 -#define MANUFACTURE_YEAR 32,811 -#define EDID_STRUCT_VERSION 34,844 -#define EDID_STRUCT_REVISION 35,879 -#define EDID_STRUCT_DISPLAY 37,916 -#define DPMS_FLAGS 39,970 -#define ESTABLISHED_TIMING_1 40,997 -#define ESTABLISHED_TIMING_2 41,1033 -#define MANUFACTURERS_TIMINGS 42,1069 -#define STD_TIMING 45,1140 -#define STD_TIMING_DESCRIPTION_SIZE 46,1190 -#define STD_TIMING_DESCRIPTIONS_START 47,1240 -#define DETAILED_TIMING_DESCRIPTIONS_START 49,1294 -#define DETAILED_TIMING_DESCRIPTION_SIZE 50,1342 -#define NO_DETAILED_TIMING_DESCRIPTIONS 51,1386 -#define DETAILED_TIMING_DESCRIPTION_1 53,1430 -#define DETAILED_TIMING_DESCRIPTION_2 54,1474 -#define DETAILED_TIMING_DESCRIPTION_3 55,1518 -#define DETAILED_TIMING_DESCRIPTION_4 56,1562 -#define DESCRIPTOR_DATA 58,1607 -#define UPPER_NIBBLE(UPPER_NIBBLE60,1637 -#define LOWER_NIBBLE(LOWER_NIBBLE63,1704 -#define COMBINE_HI_8LO(COMBINE_HI_8LO66,1759 -#define COMBINE_HI_4LO(COMBINE_HI_4LO69,1844 -#define PIXEL_CLOCK_LO 72,1929 -#define PIXEL_CLOCK_HI 73,1977 -#define PIXEL_CLOCK 74,2025 -#define H_ACTIVE_LO 75,2104 -#define H_BLANKING_LO 76,2152 -#define H_ACTIVE_HI 77,2200 -#define H_ACTIVE 78,2264 -#define H_BLANKING_HI 79,2334 -#define H_BLANKING 80,2398 -#define V_ACTIVE_LO 82,2473 -#define V_BLANKING_LO 83,2521 -#define V_ACTIVE_HI 84,2569 -#define V_ACTIVE 85,2633 -#define V_BLANKING_HI 86,2703 -#define V_BLANKING 87,2767 -#define H_SYNC_OFFSET_LO 89,2842 -#define H_SYNC_WIDTH_LO 90,2890 -#define V_SYNC_OFFSET_LO 92,2939 -#define V_SYNC_WIDTH_LO 93,3004 -#define V_SYNC_WIDTH_HI 95,3070 -#define V_SYNC_OFFSET_HI 96,3129 -#define H_SYNC_WIDTH_HI 98,3196 -#define H_SYNC_OFFSET_HI 99,3264 -#define V_SYNC_WIDTH 101,3334 -#define V_SYNC_OFFSET 102,3412 -#define H_SYNC_WIDTH 104,3493 -#define H_SYNC_OFFSET 105,3571 -#define H_SIZE_LO 107,3652 -#define V_SIZE_LO 108,3701 -#define H_SIZE_HI 110,3751 -#define V_SIZE_HI 111,3816 -#define H_SIZE 113,3882 -#define V_SIZE 114,3948 -#define H_BORDER 116,4015 -#define V_BORDER 117,4064 -#define FLAGS 119,4114 -#define INTERLACED 121,4164 -#define SYNC_TYPE 122,4203 -#define SYNC_SEPARATE 123,4258 -#define HSYNC_POSITIVE 124,4292 -#define VSYNC_POSITIVE 125,4331 -#define V_MIN_RATE 127,4371 -#define V_MAX_RATE 128,4414 -#define H_MIN_RATE 129,4457 -#define H_MAX_RATE 130,4500 -#define MAX_PIXEL_CLOCK 131,4543 -#define GTF_SUPPORT 132,4600 -#define DPMS_ACTIVE_OFF 134,4632 -#define DPMS_SUSPEND 135,4666 -#define DPMS_STANDBY 136,4697 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/fbsysfs.c,134 -struct fb_info *framebuffer_alloc(34,1072 -#define BYTES_PER_LONG 36,1141 -#define PADDING 37,1182 -void framebuffer_release(68,1829 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cfbimgblt.c,613 -#define DEBUG38,1489 -#define DPRINTK(DPRINTK41,1517 -#define DPRINTK(DPRINTK43,1604 -static u32 cfb_tab8[46,1642 -static u32 cfb_tab16[62,2162 -static u32 cfb_tab32[72,2395 -#define FB_WRITEL 76,2450 -#define FB_READL 77,2478 -#define LEFT_POS(LEFT_POS80,2533 -#define SHIFT_HIGH(SHIFT_HIGH81,2575 -#define SHIFT_LOW(SHIFT_LOW82,2624 -#define LEFT_POS(LEFT_POS84,2679 -#define SHIFT_HIGH(SHIFT_HIGH85,2714 -#define SHIFT_LOW(SHIFT_LOW86,2763 -static inline void color_imageblit(89,2820 -static inline void slow_imageblit(148,4237 -static inline void fast_imageblit(222,6023 -void cfb_imageblit(271,7023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_pearl_8x8.c,119 -#define FONTDATAMAX 14,516 -static unsigned char fontdata_pearl8x8[16,542 -struct font_desc font_pearl_8x8 2580,55565 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/fonts.c,172 -#define NO_FONTS24,612 -static struct font_desc *fonts[26,630 -#define num_fonts 61,1229 -struct font_desc *find_font(79,1532 -struct font_desc *get_default_font(103,1977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/promcon.c,814 -static short pw 27,657 -static short px,28,696 -static short px, py;28,696 -static unsigned long promcon_uni_pagedir[29,717 -#define PROMCON_COLOR 34,827 -#define inverted(inverted37,870 -#define inverted(inverted39,933 -promcon_puts(43,1009 -promcon_start(49,1096 -promcon_end(80,1823 -const char __init *promcon_startup(112,2587 -promcon_init_unimap(137,3161 -promcon_init(166,3713 -promcon_deinit(191,4327 -promcon_switch(201,4592 -promcon_repaint_line(207,4669 -promcon_putcs(237,5147 -promcon_putc(327,6689 -promcon_clear(339,6871 -promcon_bmove(408,8198 -promcon_cursor(438,8968 -promcon_blank(460,9344 -promcon_scroll(472,9556 -static u8 promcon_build_attr(553,11031 -static int promcon_dummy(563,11260 -#define DUMMY 568,11314 -const struct consw prom_con 570,11352 -void __init prom_con_init(590,11871 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_8x16.c,113 -#define FONTDATAMAX 9,271 -static unsigned char fontdata_8x16[11,297 -struct font_desc font_vga_8x16 4624,95765 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_acorn_8x8.c,85 -static unsigned char acorndata_8x8[6,114 -struct font_desc font_acorn_8x8 265,15865 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_mini_4x6.c,118 -#define FONTDATAMAX 44,874 -static unsigned char fontdata_mini_4x6[46,900 -struct font_desc font_mini_4x6 2150,55756 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/sticon.c,1327 -#define BLANK 53,1529 -static int vga_is_gfx;54,1545 -static struct sti_struct *sticon_sti;57,1620 -static unsigned long softback_buf,60,1685 -static unsigned long softback_buf, softback_curr;60,1685 -static unsigned long softback_in;61,1735 -static unsigned long /* softback_top, */ softback_end;62,1769 -static int softback_lines;63,1824 -static int cursor_drawn;66,1874 -#define CURSOR_DRAW_DELAY 67,1899 -#define DEFAULT_CURSOR_BLINK_RATE 68,1930 -static int vbl_cursor_cnt;70,1970 -static inline void cursor_undrawn(72,1998 -static const char *__init sticon_startup(78,2089 -static int sticon_set_palette(83,2167 -static void sticon_putc(88,2263 -static void sticon_putcs(111,2747 -static void sticon_cursor(139,3340 -static int sticon_scroll(164,3906 -static void sticon_bmove(188,4486 -static void sticon_init(204,4973 -static void sticon_deinit(225,5609 -static void sticon_clear(229,5659 -static int sticon_switch(238,5868 -static int sticon_set_origin(243,5957 -static int sticon_blank(248,6027 -static int sticon_scrolldelta(262,6322 -static u16 *sticon_screen_pos(267,6404 -static unsigned long sticon_getxy(283,6885 -static u8 sticon_build_attr(319,7896 -static void sticon_invert_region(331,8166 -static void sticon_save_screen(347,8497 -static struct consw sti_con 351,8555 -int __init sticonsole_init(376,9257 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/vgacon.c,2341 -static spinlock_t vga_lock 55,1559 -static struct vgastate state;56,1608 -#define BLANK 58,1639 -#define CAN_LOAD_EGA_FONTS 60,1661 -#define CAN_LOAD_PALETTE 61,1732 -static unsigned long vgacon_uni_pagedir[89,2903 -static unsigned long vga_vram_base;93,2993 -static unsigned long vga_vram_end;94,3057 -static u16 vga_video_port_reg;95,3119 -static u16 vga_video_port_val;96,3184 -static unsigned int vga_video_num_columns;97,3248 -static unsigned int vga_video_num_lines;98,3320 -static int vga_can_do_color 99,3388 -static unsigned int vga_default_font_height;100,3450 -static unsigned char vga_video_type;101,3530 -static unsigned char vga_hardscroll_enabled;102,3584 -static unsigned char vga_hardscroll_user_enable 103,3629 -static unsigned char vga_font_is_default 104,3682 -static int vga_vesa_blanked;105,3728 -static int vga_palette_blanked;106,3758 -static int vga_is_gfx;107,3792 -static int vga_512_chars;108,3817 -static int vga_video_font_height;109,3845 -static int vga_scan_lines;110,3881 -static unsigned int vga_rolled_over 111,3910 -static int __init no_scroll(113,3953 -static inline void write_vga(133,4635 -static const char __init *vgacon_startup(158,5263 -static void vgacon_init(326,9939 -static inline void vga_set_mem_top(347,10595 -static void vgacon_deinit(352,10714 -static u8 vgacon_build_attr(364,11030 -static void vgacon_invert_region(392,11640 -static void vgacon_set_cursor_size(407,11963 -static void vgacon_cursor(439,12742 -static int vgacon_switch(494,14076 -static void vga_set_palette(509,14524 -static int vgacon_set_palette(521,14875 -} vga_state;548,15898 -static void vga_vesa_blank(550,15912 -static void vga_vesa_unblank(620,18821 -static void vga_pal_blank(651,20180 -static int vgacon_blank(663,20432 -#define colourmap 715,21745 -#define blackwmap 718,21884 -#define cmapsz 719,21910 -static int vgacon_do_font_op(721,21931 -static int vgacon_adjust_height(857,25785 -static int vgacon_font_set(910,27645 -static int vgacon_font_get(930,28119 -#define vgacon_font_set 945,28444 -#define vgacon_font_get 946,28473 -static int vgacon_scrolldelta(950,28511 -static int vgacon_set_origin(982,29305 -static void vgacon_save_screen(993,29634 -static int vgacon_scroll(1011,30099 -static int vgacon_dummy(1066,31571 -#define DUMMY 1071,31630 -const struct consw vga_con 1073,31667 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_8x8.c,111 -#define FONTDATAMAX 9,271 -static unsigned char fontdata_8x8[11,297 -struct font_desc font_vga_8x8 2576,50708 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_6x11.c,113 -#define FONTDATAMAX 9,271 -static unsigned char fontdata_6x11[11,301 -struct font_desc font_vga_6x11 3344,67994 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_sun12x22.c,116 -#define FONTDATAMAX 3,25 -static unsigned char fontdata_sun12x22[5,52 -struct font_desc font_sun_12x22 6209,186351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/font_sun8x16.c,112 -#define FONTDATAMAX 3,25 -static unsigned char fontdata_sun8x16[5,51 -struct font_desc font_sun_8x16 264,22382 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/newport_con.c,1784 -#define FONT_DATA 37,880 -#define REFCOUNT(REFCOUNT40,965 -#define FNTSIZE(FNTSIZE41,1006 -#define FNTCHARCNT(FNTCHARCNT42,1046 -#define FONT_EXTRA_WORDS 43,1089 -static unsigned char *font_data[45,1117 -static struct newport_regs *npregs;47,1168 -static int logo_active;49,1205 -static int topscan;50,1229 -static int xcurs_correction 51,1249 -static int newport_xsize;52,1283 -static int newport_ysize;53,1309 -#define BMASK(BMASK57,1405 -#define RENDER(RENDER59,1433 -#define TESTVAL 70,2133 -#define XSTI_TO_FXSTART(XSTI_TO_FXSTART71,2160 -static inline void newport_render_background(73,2215 -static inline void newport_init_cmap(88,2702 -static void newport_show_logo(101,2964 -static inline void newport_clear_screen(129,3736 -static inline void newport_clear_lines(145,4177 -void newport_reset(152,4397 -void newport_get_screensize(196,5587 -static void newport_get_revisions(236,6753 -#define L(L275,8019 -static const char *newport_startup(287,8475 -static void newport_init(314,8972 -static void newport_deinit(321,9127 -static void newport_clear(330,9296 -static void newport_putc(351,9861 -static void newport_putcs(380,10617 -static void newport_cursor(421,11582 -static int newport_switch(446,12275 -static int newport_blank(462,12496 -static int newport_set_font(480,12923 -static int newport_set_def_font(534,14314 -static int newport_font_default(546,14578 -static int newport_font_set(551,14718 -static int newport_set_palette(556,14858 -static int newport_scrolldelta(561,14953 -static int newport_scroll(567,15102 -static void newport_bmove(666,17379 -static int newport_dummy(696,18233 -#define DUMMY 701,18293 -const struct consw newport_con 703,18331 -static int __init newport_console_init(725,19003 -static void __exit newport_console_exit(730,19121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/dummycon.c,345 -#define DUMMY_COLUMNS 21,436 -#define DUMMY_ROWS 22,474 -#define DUMMY_COLUMNS 26,629 -#define DUMMY_ROWS 27,680 -#define DUMMY_COLUMNS 29,731 -#define DUMMY_ROWS 30,756 -static const char *dummycon_startup(33,786 -static void dummycon_init(38,860 -static int dummycon_dummy(48,1085 -#define DUMMY 53,1136 -const struct consw dummy_con 61,1282 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/fbcon.c,4405 -# define DPRINTK(DPRINTK98,2558 -# define DPRINTK(DPRINTK100,2650 -struct display fb_display[103,2690 -signed char con2fb_map[104,2734 -static int logo_height;105,2775 -static int logo_lines;106,2799 -static int logo_shown 107,2822 -int fbcon_softback_size 109,2876 -static unsigned long softback_buf,110,2909 -static unsigned long softback_buf, softback_curr;110,2909 -static unsigned long softback_in;111,2959 -static unsigned long softback_top,112,2993 -static unsigned long softback_top, softback_end;112,2993 -static int softback_lines;113,3042 -static int first_fb_vc;115,3092 -static int last_fb_vc 116,3116 -static int fbcon_is_default 117,3161 -static char fontname[119,3211 -static int info_idx 122,3260 -#define REFCOUNT(REFCOUNT124,3288 -#define FNTSIZE(FNTSIZE125,3329 -#define FNTCHARCNT(FNTCHARCNT126,3369 -#define FNTSUM(FNTSUM127,3412 -#define FONT_EXTRA_WORDS 128,3451 -#define CM_SOFTBACK 130,3479 -#define advance_row(advance_row132,3504 -#define CURSOR_DRAW_DELAY 137,3697 -#define ARM_CURSOR_BLINK_RATE 140,3775 -#define ATARI_CURSOR_BLINK_RATE 141,3811 -#define MAC_CURSOR_BLINK_RATE 142,3849 -#define DEFAULT_CURSOR_BLINK_RATE 143,3885 -static int vbl_cursor_cnt;145,3925 -#define divides(divides147,3953 -static int vbl_detected;192,5803 -static irqreturn_t fb_vbl_detect(194,5829 -static void fb_flashcursor(201,5954 -static int cursor_blink_rate;220,6540 -static irqreturn_t fb_vbl_handler(221,6570 -static void cursor_timer_handler(233,6836 -int __init fb_console_setup(241,7032 -static int search_fb_in_map(295,8193 -static int search_for_mapped_con(306,8340 -static int fbcon_takeover(317,8488 -static int set_con2fb_map(347,9092 -static inline int get_color(429,11053 -#define FBCON_ATTRIBUTE_UNDERLINE 469,11883 -#define FBCON_ATTRIBUTE_REVERSE 470,11919 -#define FBCON_ATTRIBUTE_BOLD 471,11955 -static inline int get_attribute(473,11992 -static inline void update_attr(489,12330 -void accel_bmove(510,12872 -void accel_clear(525,13289 -void accel_putcs(541,13748 -void accel_clear_margins(640,16577 -static int var_to_display(676,17560 -static void display_to_var(699,18202 -static const char *fbcon_startup(717,18722 -static void fbcon_init(872,22697 -static void fbcon_deinit(1030,27350 -static __inline__ int real_y(1064,28537 -static void fbcon_clear(1073,28687 -static void fbcon_putcs(1101,29418 -static void fbcon_putc(1118,29867 -static void fbcon_cursor(1123,30004 -static int scrollback_phys_max 1256,33413 -static int scrollback_max 1257,33449 -static int scrollback_current 1258,33480 -int update_var(1260,33516 -static void fbcon_set_disp(1267,33649 -static __inline__ void ywrap_up(1320,35169 -static __inline__ void ywrap_down(1338,35731 -static __inline__ void ypan_up(1356,36251 -static __inline__ void ypan_up_redraw(1378,36949 -static __inline__ void ypan_down(1403,37678 -static __inline__ void ypan_down_redraw(1425,38320 -static void fbcon_redraw_softback(1449,38993 -static void fbcon_redraw_move(1544,41235 -static void fbcon_redraw(1580,42072 -static inline void fbcon_softback_note(1637,43342 -static int fbcon_scroll(1662,43950 -static void fbcon_bmove(1858,49465 -static void fbcon_bmove_rec(1881,50137 -static __inline__ void updatescrollmode(1922,51326 -static int fbcon_resize(1958,52632 -static int fbcon_switch(2011,54157 -static int fbcon_blank(2113,56784 -static void fbcon_free_font(2174,58539 -static int fbcon_get_font(2182,58752 -static int fbcon_do_set_font(2233,59945 -static int fbcon_copy_font(2341,62774 -static int fbcon_set_font(2357,63206 -static int fbcon_set_def_font(2446,65249 -static u16 palette_red[2461,65672 -static u16 palette_green[2462,65700 -static u16 palette_blue[2463,65730 -static struct fb_cmap palette_cmap 2465,65760 -static int fbcon_set_palette(2469,65858 -static u16 *fbcon_screen_pos(2500,66673 -static unsigned long fbcon_getxy(2517,67116 -static void fbcon_invert_region(2558,68143 -static int fbcon_scrolldelta(2578,68656 -static int fbcon_set_origin(2666,70877 -static void fbcon_suspended(2673,71023 -static void fbcon_resumed(2680,71190 -static void fbcon_modechanged(2691,71360 -static int fbcon_mode_deleted(2728,72328 -static int fbcon_fb_registered(2754,72857 -static int fbcon_event_notify(2766,73001 -const struct consw fb_con 2809,74065 -static struct notifier_block fbcon_event_notifier 2835,74869 -int __init fb_console_init(2839,74965 -void __exit fb_console_exit(2867,75380 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/fbcon.h,562 -#define _VIDEO_FBCON_H12,339 -struct display display26,621 -#define attr_fgcol(attr_fgcol56,1475 -#define attr_bgcol(attr_bgcol58,1539 -#define attr_bgcol_ec(attr_bgcol_ec60,1603 -#define attr_fgcol_ec(attr_fgcol_ec62,1703 -#define attr_bold(attr_bold66,1821 -#define attr_reverse(attr_reverse68,1859 -#define attr_underline(attr_underline70,1900 -#define attr_blink(attr_blink72,1943 -#define SCROLL_MOVE 125,3687 -#define SCROLL_PAN_MOVE 126,3716 -#define SCROLL_WRAP_MOVE 127,3749 -#define SCROLL_REDRAW 128,3782 -#define SCROLL_PAN_REDRAW 129,3813 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/sticore.c,2081 -#define STI_DRIVERVERSION 31,788 -struct sti_struct *default_sti;33,830 -static int num_sti_roms;35,863 -static struct sti_struct *sti_roms[36,918 -static const u8 col_trans[52,1284 -#define c_fg(c_fg57,1360 -#define c_bg(c_bg58,1406 -#define c_index(c_index59,1452 -static const struct sti_init_flags default_init_flags 61,1490 -sti_init_graph(72,1675 -static const struct sti_conf_flags default_conf_flags 99,2312 -sti_inq_conf(104,2398 -static const struct sti_font_flags default_font_flags 120,2770 -sti_putc(126,2873 -static const struct sti_blkmv_flags clear_blkmv_flags 148,3445 -sti_set(155,3560 -sti_clear(181,4134 -static const struct sti_blkmv_flags default_blkmv_flags 206,4827 -sti_bmove(211,4916 -static void sti_flush(236,5623 -sti_rom_copy(244,5798 -static char default_sti_path[269,6252 -static int __init sti_setup(272,6302 -static char __initdata *font_name[291,6773 -static int __initdata font_index[292,6839 - font_height[293,6888 - font_width[294,6918 -static int __init sti_font_setup(296,6962 -sti_dump_globcfg(350,8615 -sti_dump_outptr(390,9741 -sti_init_glob_cfg(404,10015 -sti_select_fbfont(497,12649 -sti_select_fbfont(554,13973 -sti_select_font(561,14103 -sti_dump_rom(588,14720 -sti_cook_fonts(606,15371 -sti_search_font(641,16125 -#define BMODE_RELOCATE(BMODE_RELOCATE653,16405 -#define BMODE_LAST_ADDR_OFFS 654,16466 -sti_bmode_font_raw(657,16531 -sti_bmode_rom_copy(676,16880 -sti_get_bmode_rom 691,17195 -sti_get_wmode_rom 727,18167 -sti_read_rom(743,18506 -sti_try_rom_generic(802,19946 -static void __init sticore_check_for_default_sti(917,22822 -static int __init sticore_pa_init(928,23144 -static int __devinit sticore_pci_init(956,23789 -static void __devexit sticore_pci_remove(999,24932 -static struct pci_device_id sti_pci_tbl[1005,25007 -static struct pci_driver pci_sti_driver 1015,25564 -static struct parisc_device_id sti_pa_tbl[1022,25722 -static struct parisc_driver pa_sti_driver 1028,25906 -static int sticore_initialized;1039,26116 -static void __init sti_init_roms(1041,26149 -struct sti_struct * sti_get_rom(1065,26667 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/console/mdacon.c,2602 -static spinlock_t mda_lock 50,1314 -static unsigned long mda_vram_base;54,1406 -static unsigned long mda_vram_len;55,1470 -static unsigned int mda_num_columns;56,1533 -static unsigned int mda_num_lines;57,1599 -static unsigned int mda_index_port;59,1663 -static unsigned int mda_value_port;60,1727 -static unsigned int mda_mode_port;61,1790 -static unsigned int mda_status_port;62,1850 -static unsigned int mda_gfx_port;63,1916 -static int mda_origin_loc=67,2010 -static int mda_cursor_loc=68,2040 -static int mda_cursor_size_from=69,2070 -static int mda_cursor_size_to=70,2106 -static enum { TYPE_MDA,72,2141 -static enum { TYPE_MDA, TYPE_HERC,72,2141 -static enum { TYPE_MDA, TYPE_HERC, TYPE_HERCPLUS,72,2141 -static enum { TYPE_MDA, TYPE_HERC, TYPE_HERCPLUS, TYPE_HERCCOLOR 72,2141 -static enum { TYPE_MDA, TYPE_HERC, TYPE_HERCPLUS, TYPE_HERCCOLOR } mda_type;72,2141 -static char *mda_type_name;73,2218 -static int mda_first_vc 77,2274 -static int mda_last_vc 78,2303 -static struct vc_data *mda_display_fg 80,2334 -#define MDA_CURSOR_BLINKING 88,2484 -#define MDA_CURSOR_OFF 89,2517 -#define MDA_CURSOR_SLOWBLINK 90,2546 -#define MDA_MODE_GRAPHICS 92,2581 -#define MDA_MODE_VIDEO_EN 93,2612 -#define MDA_MODE_BLINK_EN 94,2643 -#define MDA_MODE_GFX_PAGE1 95,2674 -#define MDA_STATUS_HSYNC 97,2707 -#define MDA_STATUS_VSYNC 98,2737 -#define MDA_STATUS_VIDEO 99,2767 -#define MDA_CONFIG_COL132 101,2798 -#define MDA_GFX_MODE_EN 102,2829 -#define MDA_GFX_PAGE_EN 103,2859 -static void write_mda_b(110,2961 -static void write_mda_w(122,3195 -static int test_mda_b(135,3521 -static inline void mda_set_origin(151,3825 -static inline void mda_set_cursor(161,3995 -static inline void mda_set_cursor_size(171,4166 -static int __init mdacon_setup(189,4553 -static int __init mda_detect(212,4960 -static void __init mda_initialize(297,6764 -static const char __init *mdacon_startup(322,7617 -static void mdacon_init(357,8302 -static void mdacon_deinit(375,8699 -static inline u16 mda_convert_attr(383,8843 -static u8 mdacon_build_attr(400,9280 -static void mdacon_invert_region(417,9657 -#define MDA_ADDR(MDA_ADDR425,9813 -static void mdacon_putc(427,9889 -static void mdacon_putcs(432,10010 -static void mdacon_clear(442,10239 -static void mdacon_bmove(459,10671 -static int mdacon_switch(491,11407 -static int mdacon_set_palette(496,11490 -static int mdacon_blank(501,11583 -static int mdacon_scrolldelta(520,12057 -static void mdacon_cursor(525,12133 -static int mdacon_scroll(545,12701 -const struct consw mda_con 579,13402 -int __init mda_console_init(598,13950 -void __exit mda_console_exit(606,14106 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/radeonfb.c,5170 -#define RADEON_VERSION 32,1082 -#define DEBUG 83,1983 -#define RTRACE 86,2010 -#define RTRACE 88,2039 -enum radeon_chips radeon_chips95,2110 - RADEON_QD,96,2130 - RADEON_QE,97,2142 - RADEON_QF,98,2154 - RADEON_QG,99,2166 - RADEON_QY,100,2178 - RADEON_QZ,101,2190 - RADEON_LW,102,2202 - RADEON_LX,103,2214 - RADEON_LY,104,2226 - RADEON_LZ,105,2238 - RADEON_QL,106,2250 - RADEON_QN,107,2262 - RADEON_QO,108,2274 - RADEON_Ql,109,2286 - RADEON_BB,110,2298 - RADEON_QW,111,2310 - RADEON_QX,112,2322 - RADEON_Id,113,2334 - RADEON_Ie,114,2346 - RADEON_If,115,2358 - RADEON_Ig,116,2370 - RADEON_Ya,117,2382 - RADEON_Yd,118,2394 - RADEON_Ld,119,2406 - RADEON_Le,120,2418 - RADEON_Lf,121,2430 - RADEON_Lg,122,2442 - RADEON_ND,123,2454 - RADEON_NE,124,2466 - RADEON_NF,125,2478 - RADEON_NG,126,2490 - RADEON_QM127,2502 -enum radeon_arch radeon_arch130,2517 - RADEON_R100,131,2536 - RADEON_RV100,132,2550 - RADEON_R200,133,2565 - RADEON_RV200,134,2579 - RADEON_RV250,135,2594 - RADEON_R300,136,2609 - RADEON_M6,137,2623 - RADEON_M7,138,2635 - RADEON_M9139,2647 -static struct radeon_chip_info radeon_chip_info142,2662 -} radeon_chip_info[145,2735 -} radeon_chip_info[] __devinitdata 145,2735 -enum radeon_montyperadeon_montype179,3600 - MT_NONE,181,3622 - MT_CRT,182,3632 - MT_LCD,183,3652 - MT_DFP,184,3672 - MT_CTV,185,3692 - MT_STV 186,3721 -static struct pci_device_id radeonfb_pci_table[190,3753 -} reg_val;reg_val231,6878 -static reg_val common_regs[237,6990 -static reg_val common_regs_m6[249,7234 -} __attribute__ ((packed)packed282,8066 -struct pll_info pll_info285,8106 -struct ram_info ram_info294,8198 -struct radeon_regs radeon_regs307,8321 -struct radeonfb_info radeonfb_info351,9055 -static struct fb_var_screeninfo radeonfb_default_var 417,10186 -#define INREG8(INREG8428,10449 -#define OUTREG8(OUTREG8429,10502 -#define INREG(INREG430,10565 -#define OUTREG(OUTREG431,10617 -#define OUTPLL(OUTPLL433,10680 -#define OUTPLLP(OUTPLLP439,10827 -#define OUTREGP(OUTREGP447,11011 -static __inline__ u32 _INPLL(456,11196 -#define INPLL(INPLL462,11350 -#define PRIMARY_MONITOR(PRIMARY_MONITOR464,11392 -static char *GET_MON_NAME(469,11594 -static __inline__ void radeon_engine_flush 502,11974 -static __inline__ void _radeon_fifo_wait 517,12264 -static __inline__ void _radeon_engine_idle 527,12447 -#define radeon_engine_idle(radeon_engine_idle543,12749 -#define radeon_fifo_wait(radeon_fifo_wait544,12806 -static __inline__ u32 radeon_get_dstbpp(552,12903 -static inline int var_to_depth(569,13131 -static void _radeon_engine_reset(577,13311 -#define radeon_engine_reset(radeon_engine_reset621,14309 -static __inline__ u8 radeon_get_post_div_bitval(624,14370 -static __inline__ int round_div(648,14969 -static __inline__ int min_bits_req(655,15066 -static __inline__ int _max(671,15358 -static char *mode_option __initdata;685,15559 -static char noaccel 686,15596 -static char mirror 687,15621 -static int panel_yres __initdata 688,15645 -static char force_dfp __initdata 689,15683 -static struct radeonfb_info *board_list 690,15721 -static char nomtrr __initdata 691,15769 -static struct pmu_sleep_notifier radeon_sleep_notifier 722,17192 -static struct backlight_controller radeon_backlight_controller 729,17488 -static void __iomem *radeon_find_rom(738,17681 -static void radeon_get_pllinfo(807,20034 -static void radeon_get_moninfo 920,23419 -static void radeon_get_EDID(970,24478 -static int radeon_get_EDID_OF(982,24721 -static int radeon_dfp_parse_EDID(1006,25485 -static void radeon_update_default_var(1045,26667 -static int radeon_get_dfpinfo_BIOS(1078,27636 -static int radeon_get_dfpinfo 1130,29039 -static int radeon_read_OF 1217,31191 -static void radeon_engine_init 1236,31492 -static int __devinit radeon_init_disp 1288,32702 -static int radeon_init_disp_var 1308,33156 -static int radeon_do_maximize(1334,33775 -static int radeonfb_check_var 1396,36134 -static int radeonfb_pan_display 1503,39571 -static int radeonfb_ioctl 1521,40115 -static int radeonfb_blank 1610,41839 -static int radeonfb_setcolreg 1661,43178 -static void radeon_save_state 1735,45053 -static int radeonfb_set_par 1768,46300 -static void radeon_write_mode 2119,57506 -static struct fb_ops radeonfb_ops 2222,60695 -static int __devinit radeon_set_fbinfo 2244,61257 -static int backlight_conv_m6[2287,62538 -static int backlight_conv_m7[2291,62673 -#define BACKLIGHT_LVDS_OFF2296,62809 -static int radeon_set_backlight_enable(2304,63039 -static int radeon_set_backlight_level(2353,64565 -static u32 dbg_clk;2362,64746 -static void radeon_pm_save_regs(2370,64965 -static void radeon_pm_restore_regs(2410,66625 -static void radeon_pm_disable_iopad(2449,68088 -static void radeon_pm_program_v2clk(2463,68529 -static void radeon_pm_low_current(2473,68700 -static void radeon_pm_setup_for_suspend(2522,70180 -static void radeon_set_suspend(2658,75107 -int radeon_sleep_notify(2736,77024 -static int radeonfb_pci_register 2805,78623 -static void __devexit radeonfb_pci_unregister 3095,86227 -static struct pci_driver radeonfb_driver 3128,87037 -int __init radeonfb_old_init 3137,87273 -void __exit radeonfb_old_exit 3150,87497 -int __init radeonfb_old_setup 3156,87583 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sa1100fb.c,3455 -#define DEBUG 190,6678 -#define DEBUG_VAR 194,6737 -static struct sa1100fb_rgb rgb_8 206,6963 -static struct sa1100fb_rgb def_rgb_16 213,7170 -static struct sa1100fb_mach_info lq039q2ds54_info __initdata 227,7604 -static struct sa1100fb_mach_info pal_info __initdata 241,8024 -static struct sa1100fb_mach_info h3800_info __initdata 256,8422 -static struct sa1100fb_mach_info h3600_info __initdata 272,8831 -static struct sa1100fb_rgb h3600_rgb_16 286,9206 -static struct sa1100fb_mach_info h3100_info __initdata 295,9454 -static struct sa1100fb_mach_info brutus_info __initdata 313,9957 -static struct sa1100fb_mach_info collie_info __initdata 330,10426 -static struct sa1100fb_mach_info freebird_info __initdata 347,10911 -static struct sa1100fb_rgb freebird_rgb_16 361,11322 -static struct sa1100fb_mach_info graphicsclient_info __initdata 370,11582 -static struct sa1100fb_mach_info huw_webpanel_info __initdata 384,11985 -static struct sa1100fb_mach_info lart_grey_info __initdata 405,12548 -static struct sa1100fb_mach_info lart_color_info __initdata 421,13027 -static struct sa1100fb_mach_info lart_video_info __initdata 434,13415 -static struct sa1100fb_mach_info lart_kit01_info __initdata 450,13863 -static struct sa1100fb_mach_info shannon_info __initdata 464,14240 -static struct sa1100fb_mach_info omnimeter_info __initdata 480,14658 -static struct sa1100fb_mach_info pangolin_info __initdata 503,15301 -static struct sa1100fb_mach_info stork_tft_info __initdata 525,15959 -static struct sa1100fb_rgb stork_tft_rgb_16 537,16318 -static struct sa1100fb_mach_info stork_dstn_info __initdata 546,16562 -static struct sa1100fb_rgb stork_dstn_rgb_16 562,17008 -static struct sa1100fb_mach_info system3_info __initdata 582,17547 -static struct sa1100fb_mach_info xp860_info __initdata 598,17992 -sa1100fb_get_machine_info(614,18392 -static inline void sa1100fb_schedule_work(733,20783 -static inline u_int chan_to_field(758,21589 -static inline u_int palette_pbs(768,21802 -sa1100fb_setpalettereg(780,22039 -sa1100fb_setcolreg(801,22499 -static unsigned int sa1100fb_display_dma_period(861,24046 -sa1100fb_check_var(877,24509 -static inline void sa1100fb_set_truecolor(934,25897 -static int sa1100fb_set_par(956,26400 -sa1100fb_set_cmap(1006,27759 -static int sa1100fb_blank(1056,29601 -static struct fb_ops sa1100fb_ops 1083,30355 -static inline unsigned int get_pcd(1100,30831 -static int sa1100fb_activate_var(1115,31228 -static inline void __sa1100fb_backlight_power(1223,34822 -static inline void __sa1100fb_lcd_power(1231,35018 -static void sa1100fb_setup_gpio(1239,35196 -static void sa1100fb_enable_controller(1271,35969 -static void sa1100fb_disable_controller(1312,37005 -static irqreturn_t sa1100fb_handle_irq(1359,38283 -static void set_ctrlr_state(1378,38736 -static void sa1100fb_task(1474,40839 -static unsigned int sa1100fb_min_dma_period(1488,41192 -sa1100fb_freq_transition(1527,41981 -sa1100fb_freq_policy(1549,42492 -static int sa1100fb_suspend(1580,43283 -static int sa1100fb_resume(1589,43521 -#define sa1100fb_suspend 1598,43718 -#define sa1100fb_resume 1599,43748 -static int __init sa1100fb_map_video_memory(1610,44163 -static struct fb_monspecs monspecs __initdata 1636,44953 -static struct sa1100fb_info * __init sa1100fb_init_fbinfo(1644,45070 -static int __init sa1100fb_probe(1727,47454 -static struct device_driver sa1100fb_driver 1797,49011 -int __init sa1100fb_init(1805,49201 -int __init sa1100fb_setup(1813,49338 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pvr2fb.c,3705 -# define PCI_DEVICE_ID_NEC_NEON250 82,2488 -#define DISP_BASE 86,2564 -#define DISP_BRDRCOLR 87,2597 -#define DISP_DIWMODE 88,2638 -#define DISP_DIWADDRL 89,2678 -#define DISP_DIWADDRS 90,2719 -#define DISP_DIWSIZE 91,2760 -#define DISP_SYNCCONF 92,2800 -#define DISP_BRDRHORZ 93,2841 -#define DISP_SYNCSIZE 94,2882 -#define DISP_BRDRVERT 95,2923 -#define DISP_DIWCONF 96,2964 -#define DISP_DIWHSTRT 97,3004 -#define DISP_DIWVSTRT 98,3045 -#define TV_CLK 101,3149 -#define VGA_CLK 102,3170 -#define PAL_HTOTAL 105,3261 -#define PAL_VTOTAL 106,3284 -#define NTSC_HTOTAL 107,3307 -#define NTSC_VTOTAL 108,3331 -enum { CT_VGA,111,3384 -enum { CT_VGA, CT_NONE,111,3384 -enum { CT_VGA, CT_NONE, CT_RGB,111,3384 -enum { CT_VGA, CT_NONE, CT_RGB, CT_COMPOSITE 111,3384 -enum { VO_PAL,114,3468 -enum { VO_PAL, VO_NTSC,114,3468 -enum { VO_PAL, VO_NTSC, VO_VGA 114,3468 -enum { PAL_ARGB1555,117,3533 -enum { PAL_ARGB1555, PAL_RGB565,117,3533 -enum { PAL_ARGB1555, PAL_RGB565, PAL_ARGB4444,117,3533 -enum { PAL_ARGB1555, PAL_RGB565, PAL_ARGB4444, PAL_ARGB8888 117,3533 -struct pvr2_params pvr2_params119,3597 -static struct pvr2_params cables[120,3651 -static struct pvr2_params cables[] __initdata 120,3651 -static struct pvr2_params outputs[124,3775 -static struct pvr2_params outputs[] __initdata 124,3775 -static struct pvr2fb_par pvr2fb_par132,3939 -} *currentpar;148,4678 -static struct fb_info *fb_info;150,4694 -static struct fb_fix_screeninfo pvr2_fix __initdata 152,4727 -static struct fb_var_screeninfo pvr2_var __initdata 161,4936 -static int cable_type 176,5256 -static int video_output 177,5288 -static int nopan 179,5323 -static int nowrap 180,5345 -static unsigned int do_vmode_full 185,5449 -static unsigned int do_vmode_pan 186,5516 -static short do_blank 187,5582 -static unsigned int is_blanked 189,5638 -static struct sq_mapping *pvr2fb_map;192,5735 -static unsigned int shdma 196,5802 -static unsigned int pvr2dma 197,5849 -static struct fb_ops pvr2fb_ops 221,6941 -static struct fb_videomode pvr2_modedb[236,7313 -static struct fb_videomode pvr2_modedb[] __initdata 236,7313 -#define NUM_TOTAL_MODES 259,8045 -#define DEFMODE_NTSC 261,8095 -#define DEFMODE_PAL 262,8118 -#define DEFMODE_VGA 263,8140 -static int defmode 265,8163 -static char *mode_option __initdata 266,8198 -static inline void pvr2fb_set_pal_type(268,8243 -static inline void pvr2fb_set_pal_entry(275,8410 -static int pvr2fb_blank(282,8583 -static inline unsigned long get_line_length(288,8688 -static void set_color_bitfields(293,8825 -static int pvr2fb_setcolreg(319,9736 -static int pvr2fb_set_par(362,10993 -static int pvr2fb_check_var(439,13477 -static void pvr2_update_display(544,16472 -static void pvr2_init_display(562,17050 -#define BLANK_BIT 614,19104 -static void pvr2_do_blank(616,19130 -static irqreturn_t pvr2fb_interrupt(630,19431 -#define PCTRA 654,19969 -#define PDTRA 655,19994 -#define VOUTC 656,20019 -static int pvr2_init_cable(658,20045 -static ssize_t pvr2fb_write(678,20511 -static int __init pvr2fb_common_init(769,22914 -static int __init pvr2fb_dc_init(853,25444 -static void pvr2fb_dc_exit(907,26701 -static int __devinit pvr2fb_pci_probe(917,26868 -static void __devexit pvr2fb_pci_remove(946,27527 -static struct pci_device_id pvr2fb_pci_tbl[951,27622 -static struct pci_device_id pvr2fb_pci_tbl[] __devinitdata 951,27622 -static struct pci_driver pvr2fb_pci_driver 959,27828 -static int __init pvr2fb_pci_init(966,28001 -static void pvr2fb_pci_exit(971,28091 -static int __init pvr2_get_param(977,28198 -int __init pvr2fb_setup(1005,28950 -static struct pvr2_board pvr2_board1041,29743 -} board_list[1045,29827 -int __init pvr2fb_init(1055,30022 -static void __exit pvr2fb_exit(1099,30828 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/68328fb.c,834 -#define MC68X328FB_MONO_VISUAL 55,1611 -#define MC68X328FB_MONO_VISUAL 57,1665 -static u_long videomemory;60,1721 -static u_long videomemorysize;61,1748 -static struct fb_info fb_info;63,1780 -static u32 mc68x328fb_pseudo_palette[64,1811 -static struct fb_var_screeninfo mc68x328fb_default __initdata 66,1854 -static struct fb_fix_screeninfo mc68x328fb_fix __initdata 83,2302 -static struct fb_ops mc68x328fb_ops 108,3066 -static u_long get_line_length(124,3456 -static int mc68x328fb_check_var(142,3933 -static int mc68x328fb_set_par(275,7248 -static int mc68x328fb_setcolreg(288,7639 -#define CNVT_TOHW(CNVT_TOHW325,9005 -static int mc68x328fb_pan_display(376,10293 -static int mc68x328fb_mmap(402,10957 -int __init mc68x328fb_setup(417,11226 -int __init mc68x328fb_init(440,11562 -static void __exit mc68x328fb_cleanup(498,13417 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cyberfb.h,10185 -#define S3_BITBLT 28,787 -#define S3_TWOPOINTLINE 29,818 -#define S3_FILLEDRECT 30,849 -#define S3_FIFO_EMPTY 32,881 -#define S3_HDW_BUSY 33,910 -#define S3_READ_SEL 37,985 -#define S3_MULT_MISC 38,1032 -#define S3_ERR_TERM 39,1079 -#define S3_FRGD_COLOR 40,1111 -#define S3_BKGD_COLOR 41,1143 -#define S3_PIXEL_CNTL 42,1175 -#define S3_FRGD_MIX 43,1222 -#define S3_BKGD_MIX 44,1254 -#define S3_CUR_Y 45,1286 -#define S3_CUR_X 46,1318 -#define S3_DESTY_AXSTP 47,1350 -#define S3_DESTX_DIASTP 48,1382 -#define S3_MIN_AXIS_PCNT 49,1414 -#define S3_MAJ_AXIS_PCNT 50,1461 -#define S3_CMD 51,1493 -#define S3_GP_STAT 52,1525 -#define S3_ADVFUNC_CNTL 53,1557 -#define S3_WRT_MASK 54,1589 -#define S3_RD_MASK 55,1621 -#define S3_ALT_CURXY 58,1717 -#define S3_ALT_CURXY2 59,1749 -#define S3_ALT_STEP 60,1781 -#define S3_ALT_STEP2 61,1813 -#define S3_ALT_ERR 62,1845 -#define S3_ALT_CMD 63,1877 -#define S3_ALT_MIX 64,1909 -#define S3_ALT_PCNT 65,1941 -#define S3_ALT_PAT 66,1973 -#define S3_NOTCUR 69,2026 -#define S3_LOGICALZERO 70,2060 -#define S3_LOGICALONE 71,2094 -#define S3_LEAVEASIS 72,2128 -#define S3_NOTNEW 73,2162 -#define S3_CURXORNEW 74,2196 -#define S3_NOT_CURXORNEW 75,2230 -#define S3_NEW 76,2264 -#define S3_NOTCURORNOTNEW 77,2298 -#define S3_CURORNOTNEW 78,2332 -#define S3_NOTCURORNEW 79,2366 -#define S3_CURORNEW 80,2400 -#define S3_CURANDNEW 81,2434 -#define S3_NOTCURANDNEW 82,2468 -#define S3_CURANDNOTNEW 83,2502 -#define S3_NOTCURANDNOTNEW 84,2536 -#define S3_CRTC_ADR 86,2571 -#define S3_CRTC_DATA 87,2601 -#define S3_REG_LOCK2 89,2632 -#define S3_HGC_MODE 90,2658 -#define S3_HWGC_ORGX_H 92,2685 -#define S3_HWGC_ORGX_L 93,2713 -#define S3_HWGC_ORGY_H 94,2741 -#define S3_HWGC_ORGY_L 95,2769 -#define S3_HWGC_DX 96,2797 -#define S3_HWGC_DY 97,2825 -#define S3_LAW_CTL 99,2854 -#define GRFBBOPclear 105,3012 -#define GRFBBOPand 106,3046 -#define GRFBBOPandReverse 107,3088 -#define GRFBBOPcopy 108,3140 -#define GRFBBOPandInverted 109,3175 -#define GRFBBOPnoop 110,3228 -#define GRFBBOPxor 111,3263 -#define GRFBBOPor 112,3305 -#define GRFBBOPnor 113,3345 -#define GRFBBOPequiv 114,3395 -#define GRFBBOPinvert 115,3443 -#define GRFBBOPorReverse 116,3484 -#define GRFBBOPcopyInverted 117,3534 -#define GRFBBOPorInverted 118,3580 -#define GRFBBOPnand 119,3631 -#define GRFBBOPset 120,3681 -#define vgaw16(vgaw16124,3747 -#define GREG_MISC_OUTPUT_R 140,4251 -#define GREG_MISC_OUTPUT_W 141,4285 -#define GREG_FEATURE_CONTROL_R 142,4320 -#define GREG_FEATURE_CONTROL_W 143,4358 -#define GREG_INPUT_STATUS0_R 144,4396 -#define GREG_INPUT_STATUS1_R 145,4432 -#define SREG_OPTION_SELECT 148,4492 -#define SREG_VIDEO_SUBS_ENABLE 149,4526 -#define ACT_ADDRESS 152,4593 -#define ACT_ADDRESS_R 153,4621 -#define ACT_ADDRESS_W 154,4651 -#define ACT_ADDRESS_RESET 155,4681 -#define ACT_ID_PALETTE0 156,4714 -#define ACT_ID_PALETTE1 157,4744 -#define ACT_ID_PALETTE2 158,4774 -#define ACT_ID_PALETTE3 159,4804 -#define ACT_ID_PALETTE4 160,4834 -#define ACT_ID_PALETTE5 161,4864 -#define ACT_ID_PALETTE6 162,4894 -#define ACT_ID_PALETTE7 163,4924 -#define ACT_ID_PALETTE8 164,4954 -#define ACT_ID_PALETTE9 165,4984 -#define ACT_ID_PALETTE10 166,5014 -#define ACT_ID_PALETTE11 167,5044 -#define ACT_ID_PALETTE12 168,5074 -#define ACT_ID_PALETTE13 169,5104 -#define ACT_ID_PALETTE14 170,5134 -#define ACT_ID_PALETTE15 171,5164 -#define ACT_ID_ATTR_MODE_CNTL 172,5194 -#define ACT_ID_OVERSCAN_COLOR 173,5229 -#define ACT_ID_COLOR_PLANE_ENA 174,5264 -#define ACT_ID_HOR_PEL_PANNING 175,5300 -#define ACT_ID_COLOR_SELECT 176,5336 -#define GCT_ADDRESS 179,5397 -#define GCT_ADDRESS_R 180,5425 -#define GCT_ADDRESS_W 181,5455 -#define GCT_ID_SET_RESET 182,5485 -#define GCT_ID_ENABLE_SET_RESET 183,5515 -#define GCT_ID_COLOR_COMPARE 184,5552 -#define GCT_ID_DATA_ROTATE 185,5586 -#define GCT_ID_READ_MAP_SELECT 186,5618 -#define GCT_ID_GRAPHICS_MODE 187,5654 -#define GCT_ID_MISC 188,5688 -#define GCT_ID_COLOR_XCARE 189,5714 -#define GCT_ID_BITMASK 190,5746 -#define SEQ_ADDRESS 193,5793 -#define SEQ_ADDRESS_R 194,5821 -#define SEQ_ADDRESS_W 195,5851 -#define SEQ_ID_RESET 196,5881 -#define SEQ_ID_CLOCKING_MODE 197,5908 -#define SEQ_ID_MAP_MASK 198,5942 -#define SEQ_ID_CHAR_MAP_SELECT 199,5972 -#define SEQ_ID_MEMORY_MODE 200,6008 -#define SEQ_ID_UNKNOWN1 201,6040 -#define SEQ_ID_UNKNOWN2 202,6070 -#define SEQ_ID_UNKNOWN3 203,6100 -#define SEQ_ID_UNLOCK_EXT 205,6150 -#define SEQ_ID_EXT_SEQ_REG9 206,6181 -#define SEQ_ID_BUS_REQ_CNTL 207,6214 -#define SEQ_ID_EXT_MISC_SEQ 208,6247 -#define SEQ_ID_UNKNOWN4 209,6280 -#define SEQ_ID_EXT_SEQ 210,6310 -#define SEQ_ID_UNKNOWN5 211,6339 -#define SEQ_ID_UNKNOWN6 212,6369 -#define SEQ_ID_MCLK_LO 213,6399 -#define SEQ_ID_MCLK_HI 214,6428 -#define SEQ_ID_DCLK_LO 215,6457 -#define SEQ_ID_DCLK_HI 216,6486 -#define SEQ_ID_CLKSYN_CNTL_1 217,6515 -#define SEQ_ID_CLKSYN_CNTL_2 218,6549 -#define SEQ_ID_CLKSYN_TEST_HI 219,6583 -#define SEQ_ID_CLKSYN_TEST_LO 220,6655 -#define SEQ_ID_RAMDAC_CNTL 221,6727 -#define SEQ_ID_MORE_MAGIC 222,6759 -#define CRT_ADDRESS 225,6813 -#define CRT_ADDRESS_R 226,6841 -#define CRT_ADDRESS_W 227,6871 -#define CRT_ID_HOR_TOTAL 228,6901 -#define CRT_ID_HOR_DISP_ENA_END 229,6931 -#define CRT_ID_START_HOR_BLANK 230,6968 -#define CRT_ID_END_HOR_BLANK 231,7004 -#define CRT_ID_START_HOR_RETR 232,7038 -#define CRT_ID_END_HOR_RETR 233,7073 -#define CRT_ID_VER_TOTAL 234,7106 -#define CRT_ID_OVERFLOW 235,7136 -#define CRT_ID_PRESET_ROW_SCAN 236,7166 -#define CRT_ID_MAX_SCAN_LINE 237,7202 -#define CRT_ID_CURSOR_START 238,7236 -#define CRT_ID_CURSOR_END 239,7269 -#define CRT_ID_START_ADDR_HIGH 240,7300 -#define CRT_ID_START_ADDR_LOW 241,7336 -#define CRT_ID_CURSOR_LOC_HIGH 242,7371 -#define CRT_ID_CURSOR_LOC_LOW 243,7407 -#define CRT_ID_START_VER_RETR 244,7442 -#define CRT_ID_END_VER_RETR 245,7477 -#define CRT_ID_VER_DISP_ENA_END 246,7510 -#define CRT_ID_SCREEN_OFFSET 247,7547 -#define CRT_ID_UNDERLINE_LOC 248,7581 -#define CRT_ID_START_VER_BLANK 249,7615 -#define CRT_ID_END_VER_BLANK 250,7651 -#define CRT_ID_MODE_CONTROL 251,7685 -#define CRT_ID_LINE_COMPARE 252,7718 -#define CRT_ID_GD_LATCH_RBACK 253,7751 -#define CRT_ID_ACT_TOGGLE_RBACK 254,7786 -#define CRT_ID_ACT_INDEX_RBACK 255,7823 -#define CRT_ID_DEVICE_HIGH 257,7897 -#define CRT_ID_DEVICE_LOW 258,7929 -#define CRT_ID_REVISION 259,7960 -#define CRT_ID_CHIP_ID_REV 260,7990 -#define CRT_ID_MEMORY_CONF 261,8022 -#define CRT_ID_BACKWAD_COMP_1 262,8054 -#define CRT_ID_BACKWAD_COMP_2 263,8089 -#define CRT_ID_BACKWAD_COMP_3 264,8124 -#define CRT_ID_REGISTER_LOCK 265,8159 -#define CRT_ID_CONFIG_1 266,8193 -#define CRT_ID_CONFIG_2 267,8223 -#define CRT_ID_REGISTER_LOCK_1 268,8253 -#define CRT_ID_REGISTER_LOCK_2 269,8289 -#define CRT_ID_MISC_1 270,8325 -#define CRT_ID_DISPLAY_FIFO 271,8353 -#define CRT_ID_LACE_RETR_START 272,8386 -#define CRT_ID_SYSTEM_CONFIG 274,8469 -#define CRT_ID_BIOS_FLAG 275,8503 -#define CRT_ID_LACE_CONTROL 276,8533 -#define CRT_ID_EXT_MODE 277,8566 -#define CRT_ID_HWGC_MODE 278,8596 -#define CRT_ID_HWGC_ORIGIN_X_HI 279,8664 -#define CRT_ID_HWGC_ORIGIN_X_LO 280,8701 -#define CRT_ID_HWGC_ORIGIN_Y_HI 281,8738 -#define CRT_ID_HWGC_ORIGIN_Y_LO 282,8775 -#define CRT_ID_HWGC_FG_STACK 283,8812 -#define CRT_ID_HWGC_BG_STACK 284,8846 -#define CRT_ID_HWGC_START_AD_HI 285,8880 -#define CRT_ID_HWGC_START_AD_LO 286,8917 -#define CRT_ID_HWGC_DSTART_X 287,8954 -#define CRT_ID_HWGC_DSTART_Y 288,8988 -#define CRT_ID_EXT_SYS_CNTL_1 290,9071 -#define CRT_ID_EXT_SYS_CNTL_2 291,9106 -#define CRT_ID_EXT_BIOS_FLAG_1 292,9141 -#define CRT_ID_EXT_MEM_CNTL_1 293,9177 -#define CRT_ID_EXT_MEM_CNTL_2 294,9212 -#define CRT_ID_EXT_DAC_CNTL 295,9247 -#define CRT_ID_EX_SYNC_1 296,9280 -#define CRT_ID_EX_SYNC_2 297,9310 -#define CRT_ID_LAW_CNTL 298,9340 -#define CRT_ID_LAW_POS_HI 299,9404 -#define CRT_ID_LAW_POS_LO 300,9435 -#define CRT_ID_GOUT_PORT 301,9466 -#define CRT_ID_EXT_HOR_OVF 302,9496 -#define CRT_ID_EXT_VER_OVF 303,9528 -#define CRT_ID_EXT_MEM_CNTL_3 304,9560 -#define CRT_ID_EX_SYNC_3 305,9595 -#define CRT_ID_EXT_MISC_CNTL 306,9625 -#define CRT_ID_EXT_MISC_CNTL_1 307,9659 -#define CRT_ID_EXT_MISC_CNTL_2 308,9695 -#define CRT_ID_CONFIG_3 309,9731 -#define CRT_ID_EXT_SYS_CNTL_3 310,9761 -#define CRT_ID_EXT_SYS_CNTL_4 311,9796 -#define CRT_ID_EXT_BIOS_FLAG_3 312,9831 -#define CRT_ID_EXT_BIOS_FLAG_4 313,9867 -#define ECR_SUBSYSTEM_STAT 316,9939 -#define ECR_SUBSYSTEM_CNTL 317,9973 -#define ECR_ADV_FUNC_CNTL 318,10007 -#define ECR_CURRENT_Y_POS 319,10040 -#define ECR_CURRENT_Y_POS2 320,10073 -#define ECR_CURRENT_X_POS 321,10125 -#define ECR_CURRENT_X_POS2 322,10158 -#define ECR_DEST_Y__AX_STEP 323,10210 -#define ECR_DEST_Y2__AX_STEP2 324,10245 -#define ECR_DEST_X__DIA_STEP 325,10300 -#define ECR_DEST_X2__DIA_STEP2 326,10336 -#define ECR_ERR_TERM 327,10392 -#define ECR_ERR_TERM2 328,10421 -#define ECR_MAJ_AXIS_PIX_CNT 329,10469 -#define ECR_MAJ_AXIS_PIX_CNT2 330,10505 -#define ECR_GP_STAT 331,10560 -#define ECR_DRAW_CMD 332,10618 -#define ECR_DRAW_CMD2 333,10647 -#define ECR_SHORT_STROKE 334,10695 -#define ECR_BKGD_COLOR 335,10727 -#define ECR_FRGD_COLOR 336,10782 -#define ECR_BITPLANE_WRITE_MASK 337,10837 -#define ECR_BITPLANE_READ_MASK 338,10876 -#define ECR_COLOR_COMPARE 339,10914 -#define ECR_BKGD_MIX 340,10947 -#define ECR_FRGD_MIX 341,10976 -#define ECR_READ_REG_DATA 342,11005 -#define ECR_ID_MIN_AXIS_PIX_CNT 343,11038 -#define ECR_ID_SCISSORS_TOP 344,11075 -#define ECR_ID_SCISSORS_LEFT 345,11108 -#define ECR_ID_SCISSORS_BUTTOM 346,11142 -#define ECR_ID_SCISSORS_RIGHT 347,11178 -#define ECR_ID_PIX_CNTL 348,11213 -#define ECR_ID_MULT_CNTL_MISC_2 349,11243 -#define ECR_ID_MULT_CNTL_MISC 350,11280 -#define ECR_ID_READ_SEL 351,11315 -#define ECR_PIX_TRANS 352,11345 -#define ECR_PIX_TRANS_EXT 353,11375 -#define ECR_PATTERN_Y 354,11408 -#define ECR_PATTERN_X 355,11456 -#define PASS_ADDRESS 359,11525 -#define PASS_ADDRESS_W 360,11555 -#define VDAC_ADDRESS 363,11604 -#define VDAC_ADDRESS_W 364,11633 -#define VDAC_ADDRESS_R 365,11664 -#define VDAC_STATE 366,11695 -#define VDAC_DATA 367,11722 -#define VDAC_MASK 368,11748 -#define WGfx(WGfx371,11776 -#define WSeq(WSeq374,11884 -#define WCrt(WCrt377,11992 -#define WAttr(WAttr380,12100 -#define SetTextPlane(SetTextPlane388,12279 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/vga16fb.c,2536 -#define GRAPHICS_ADDR_REG 28,811 -#define GRAPHICS_DATA_REG 29,880 -#define SET_RESET_INDEX 31,947 -#define ENABLE_SET_RESET_INDEX 32,1021 -#define DATA_ROTATE_INDEX 33,1109 -#define GRAPHICS_MODE_INDEX 34,1189 -#define BIT_MASK_INDEX 35,1267 -#define dac_reg 37,1340 -#define dac_val 38,1369 -#define VGA_FB_PHYS 40,1398 -#define VGA_FB_PHYS_LEN 41,1426 -#define MODE_SKIP4 43,1457 -#define MODE_8BPP 44,1478 -#define MODE_CFB 45,1498 -#define MODE_TEXT 46,1517 -static struct fb_info vga16fb;54,1642 -static struct vga16fb_par vga16fb_par56,1675 -} vga16_par;78,2659 -static struct fb_var_screeninfo vga16fb_defined 82,2750 -static struct fb_fix_screeninfo vga16fb_fix __initdata 102,3178 -static inline void rmw(126,4104 -static inline int setmode(134,4293 -static inline int selectmask(145,4551 -static inline void setmask(152,4732 -static inline int setop(160,4965 -static inline int setsr(172,5278 -static inline int setcolor(183,5528 -static inline int getindex(194,5787 -static inline void setindex(200,5916 -static void vga16fb_pan_var(205,5997 -static void vga16fb_update_fix(236,7048 -static void vga16fb_clock_chip(263,7900 -#define FAIL(FAIL299,8767 -static int vga16fb_open(301,8799 -static int vga16fb_release(316,9168 -static int vga16fb_check_var(330,9449 -static int vga16fb_set_par(536,14913 -static void ega16_setpalette(654,17801 -static void vga16_setpalette(668,18224 -static int vga16fb_setcolreg(676,18430 -static int vga16fb_pan_display(706,19175 -#define attrib_port 725,19796 -#define seq_port_reg 726,19828 -#define seq_port_val 727,19860 -#define gr_port_reg 728,19892 -#define gr_port_val 729,19923 -#define video_misc_rd 730,19954 -#define video_misc_wr 731,19987 -#define vga_video_port_reg 732,20020 -#define vga_video_port_val 733,20058 -static void vga_vesa_blank(735,20097 -static void vga_vesa_unblank(801,22589 -static void vga_pal_blank(838,23702 -static int vga16fb_blank(851,23927 -void vga_8planes_fillrect(878,24486 -void vga16fb_fillrect(932,26081 -void vga_8planes_copyarea(1007,27637 -void vga16fb_copyarea(1061,29521 -static unsigned int transl_l[1151,31735 -static unsigned int transl_h[1153,31835 -static unsigned int transl_h[1158,32009 -static unsigned int transl_l[1160,32109 -void vga_8planes_imageblit(1168,32353 -void vga_imageblit_expand(1199,33284 -void vga_imageblit_color(1262,34670 -void vga16fb_imageblit(1305,35544 -static struct fb_ops vga16fb_ops 1313,35773 -int vga16fb_setup(1328,36217 -int __init vga16fb_init(1341,36412 -static void __exit vga16fb_exit(1418,38198 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810_main.c,3322 -static const char *i810_pci_list[60,1919 -static const char *i810_pci_list[] __devinitdata 60,1919 -static struct pci_device_id i810fb_pci_tbl[69,2385 -static struct pci_driver i810fb_driver 86,3037 -static int vram __initdata 95,3273 -static int bpp __initdata 96,3311 -static int mtrr __initdata 97,3349 -static int accel __initdata 98,3387 -static int hsync1 __initdata 99,3425 -static int hsync2 __initdata 100,3463 -static int vsync1 __initdata 101,3501 -static int vsync2 __initdata 102,3539 -static int xres __initdata 103,3577 -static int yres __initdata 104,3617 -static int vyres __initdata 105,3657 -static int sync __initdata 106,3695 -static int ext_vga __initdata 107,3733 -static int dcolor __initdata 108,3771 -static void i810_screen_off(124,4226 -static void i810_dram_off(148,4784 -static void i810_protect_regs(167,5241 -static void i810_load_pll(187,5682 -static void i810_load_vga(213,6270 -static void i810_load_vgax(256,7785 -static void i810_load_2d(281,8559 -static void i810_hires(304,9090 -static void i810_load_pitch(321,9467 -static void i810_load_color(352,10278 -static void i810_load_regs(373,10762 -static void i810_write_dac(392,11177 -static void i810_read_dac(401,11419 -static void i810_restore_pll(413,11851 -static void i810_restore_dac(433,12311 -static void i810_restore_vgax(445,12569 -static void i810_restore_vga(478,13642 -static void i810_restore_addr_map(492,14021 -static void i810_restore_2d(504,14318 -static void i810_restore_vga_state(535,15163 -static void i810_save_vgax(557,15806 -static void i810_save_vga(580,16642 -static void i810_save_2d(594,17017 -static void i810_save_vga_state(611,17667 -u32 get_line_length(630,18214 -static void i810_calc_dclk(653,18894 -void i810_enable_cursor(719,20518 -static void i810_reset_cursor_image(730,20732 -static void i810_load_cursor_image(744,21000 -static void i810_load_cursor_colors(766,21498 -static void i810_init_cursor(797,22322 -static void i810_round_off(818,23077 -static void set_color_bitfields(887,24529 -static int i810_check_params(938,25905 -static int encode_fix(1013,27584 -static void decode_var(1060,28736 -static int i810fb_getcolreg(1123,30192 -static int i810fb_open(1162,31354 -static int i810fb_release(1181,31783 -static int i810fb_setcolreg(1201,32120 -static int i810fb_pan_display(1295,34693 -static int i810fb_blank 1308,34987 -static int i810fb_set_par(1346,35713 -static int i810fb_check_var(1368,36272 -static int i810fb_cursor(1391,36729 -static struct fb_ops i810fb_ops __devinitdata 1470,38781 -static int i810fb_suspend(1489,39550 -static int i810fb_resume(1526,40317 -static void __devinit i810_fix_pointers(1552,41090 -static void __devinit i810_fix_offsets(1564,41537 -static int __devinit i810_alloc_agp_mem(1584,42208 -static void __devinit i810_init_monspecs(1649,44031 -static void __devinit i810_init_defaults(1681,44782 -static void __devinit i810_init_device(1725,45613 -i810_allocate_pci_resource(1746,46041 -int __init i810fb_setup(1804,47670 -static int __devinit i810fb_init_pci 1850,49187 -static void i810fb_release_resource(1941,51927 -static void __exit i810fb_remove_pci(1978,52835 -int __init i810fb_init(1990,53231 -int __init i810fb_init(2011,53723 -static void __exit i810fb_exit(2068,55763 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810_dvt.c,219 -struct mode_registers std_modes[18,447 -void round_off_xres(194,8933 -inline void round_off_yres(210,9188 -void i810fb_encode_registers(215,9269 -void i810fb_fill_var_timings(240,9936 -u32 i810_get_watermark(274,10997 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810_regs.h,4714 -#define __I810_REGS_H__30,734 -#define FENCE 33,826 -#define PGTBL_CTL 34,880 -#define PGTBL_ER 35,919 -#define LRING 36,972 -#define IRING 37,1010 -#define HWS_PGA 38,1048 -#define IPEIR 39,1087 -#define IPEHR 40,1125 -#define INSTDONE 41,1164 -#define NOPID 42,1203 -#define HWSTAM 43,1241 -#define IER 44,1280 -#define IIR 45,1318 -#define IMR 46,1356 -#define ISR 47,1395 -#define EIR 48,1434 -#define EMR 49,1473 -#define ESR 50,1512 -#define INSTPM 51,1551 -#define INSTPS 52,1589 -#define BBP_PTR 53,1628 -#define ABB_SRT 54,1667 -#define ABB_END 55,1705 -#define DMA_FADD 56,1743 -#define FW_BLC 57,1782 -#define MEM_MODE 58,1820 -#define DRT 61,1915 -#define DRAMCL 62,1953 -#define DRAMCH 63,1991 -#define UI_SC_CTL 67,2076 -#define HVSYNC 70,2160 -#define GPIOA 71,2199 -#define GPIOB 72,2237 -#define DCLK_0D 75,2344 -#define DCLK_1D 76,2382 -#define DCLK_2D 77,2420 -#define LCD_CLKD 78,2458 -#define DCLK_0DS 79,2496 -#define PWR_CLKC 80,2534 -#define GTT 83,2639 -#define OVOADDR 86,2722 -#define DOVOSTA 87,2760 -#define GAMMA 88,2798 -#define OBUF_0Y 89,2836 -#define OBUF_1Y 90,2874 -#define OBUF_0U 91,2912 -#define OBUF_0V 92,2950 -#define OBUF_1U 93,2988 -#define OBUF_1V 94,3026 -#define OVOSTRIDE 95,3065 -#define YRGB_VPH 96,3103 -#define UV_VPH 97,3141 -#define HORZ_PH 98,3179 -#define INIT_PH 99,3217 -#define DWINPOS 100,3255 -#define DWINSZ 101,3294 -#define SWID 102,3332 -#define SWIDQW 103,3370 -#define SHEIGHT 104,3408 -#define YRGBSCALE 105,3446 -#define UVSCALE 106,3485 -#define OVOCLRCO 107,3523 -#define OVOCLRC1 108,3561 -#define DCLRKV 109,3599 -#define DLCRKM 110,3637 -#define SCLRKVH 111,3675 -#define SCLRKVL 112,3713 -#define SCLRKM 113,3751 -#define OVOCONF 114,3789 -#define OVOCMD 115,3827 -#define AWINPOS 116,3865 -#define AWINZ 117,3903 -#define BR00 120,4000 -#define BRO1 121,4038 -#define BR02 122,4076 -#define BR03 123,4114 -#define BR04 124,4152 -#define BR05 125,4190 -#define BR06 126,4228 -#define BR07 127,4266 -#define BR08 128,4304 -#define BR09 129,4342 -#define BR10 130,4380 -#define BR11 131,4418 -#define BR12 132,4456 -#define BR13 133,4494 -#define BR14 134,4532 -#define BR15 135,4570 -#define BR16 136,4608 -#define BR17 137,4646 -#define BR18 138,4684 -#define BR19 139,4722 -#define SSLADD 140,4760 -#define DSLH 141,4798 -#define DSLRADD 142,4836 -#define HTOTAL 147,4947 -#define HBLANK 148,4985 -#define HSYNC 149,5023 -#define VTOTAL 150,5061 -#define VBLANK 151,5099 -#define VSYNC 152,5137 -#define LCDTV_C 153,5175 -#define OVRACT 154,5213 -#define BCLRPAT 155,5251 -#define DISP_SL 158,5350 -#define DISP_SLC 159,5388 -#define PIXCONF 160,5426 -#define PIXCONF1 161,5464 -#define BLTCNTL 162,5502 -#define SWF 163,5540 -#define DPLYBASE 164,5578 -#define DPLYSTAS 165,5616 -#define CURCNTR 166,5654 -#define CURBASE 167,5692 -#define CURPOS 168,5730 -#define SMRAM 174,5813 -#define GR_INDEX 177,5882 -#define GR_DATA 178,5918 -#define GR10 180,5955 -#define GR11 181,5990 -#define CR_INDEX_MDA 184,6057 -#define CR_INDEX_CGA 185,6093 -#define CR_DATA_MDA 186,6129 -#define CR_DATA_CGA 187,6165 -#define CR30 189,6202 -#define CR31 190,6237 -#define CR32 191,6272 -#define CR33 192,6307 -#define CR35 193,6342 -#define CR39 194,6377 -#define CR40 195,6412 -#define CR41 196,6447 -#define CR42 197,6482 -#define CR70 198,6517 -#define CR80 199,6552 -#define CR81 200,6588 -#define ST00 205,6697 -#define ST01_MDA 206,6733 -#define ST01_CGA 207,6769 -#define FRC_READ 208,6805 -#define FRC_WRITE_MDA 209,6841 -#define FRC_WRITE_CGA 210,6877 -#define MSR_READ 211,6913 -#define MSR_WRITE 212,6949 -#define SR_INDEX 215,7012 -#define SR_DATA 216,7048 -#define SR01 218,7085 -#define SR02 219,7120 -#define SR03 220,7155 -#define SR04 221,7190 -#define SR07 222,7225 -#define GR00 225,7297 -#define GR01 226,7335 -#define GR02 227,7370 -#define GR03 228,7405 -#define GR04 229,7440 -#define GR05 230,7475 -#define GR06 231,7510 -#define GR07 232,7545 -#define GR08 233,7580 -#define ATTR_WRITE 236,7655 -#define ATTR_READ 237,7693 -#define CLUT_DATA 242,7778 -#define CLUT_INDEX_READ 243,7835 -#define CLUT_INDEX_WRITE 244,7890 -#define DACMASK 245,7945 -#define CR00 248,8013 -#define CR01 249,8048 -#define CR02 250,8083 -#define CR03 251,8118 -#define CR04 252,8153 -#define CR05 253,8188 -#define CR06 254,8223 -#define CR07 255,8258 -#define CR08 256,8293 -#define CR09 257,8328 -#define CR0A 258,8363 -#define CR0B 259,8398 -#define CR0C 260,8433 -#define CR0D 261,8468 -#define CR0E 262,8503 -#define CR0F 263,8538 -#define CR10 264,8573 -#define CR11 265,8608 -#define CR12 266,8643 -#define CR13 267,8678 -#define CR14 268,8713 -#define CR15 269,8748 -#define CR16 270,8783 -#define CR17 271,8818 -#define CR18 272,8853 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810_gtf.c,433 -struct wm_info wm_info24,675 -struct wm_info i810_wm_8_100[29,721 -struct wm_info i810_wm_16_100[43,1459 -struct wm_info i810_wm_24_100[57,2176 -struct wm_info i810_wm_8_133[70,2850 -struct wm_info i810_wm_16_133[84,3588 -struct wm_info i810_wm_24_133[98,4305 -void round_off_xres(111,4979 -void round_off_yres(112,5014 -void i810fb_encode_registers(123,5324 -void i810fb_fill_var_timings(208,7666 -u32 i810_get_watermark(222,7982 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810_accel.c,750 -static u32 i810fb_rop[18,474 -#define PUT_RING(PUT_RING24,583 -static inline void i810_report_error(35,1023 -static inline int wait_for_space(58,1637 -static inline int wait_for_engine_idle(89,2486 -static inline u32 begin_iring(117,3269 -static inline void end_iring(134,3725 -static inline void source_copy_blit(160,4531 -static inline void color_blit(194,5531 -static inline void mono_src_copy_imm_blit(234,6743 -static inline void mono_src_copy_blit(277,8044 -static inline void load_front(298,8606 -static inline void i810fb_iring_enable(326,9282 -void i810fb_fillrect(340,9556 -void i810fb_copyarea(366,10277 -void i810fb_imageblit(405,11249 -int i810fb_sync(441,12216 -void i810fb_load_front(451,12425 -void i810fb_init_ringbuffer(471,13000 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810_main.h,481 -#define __I810_MAIN_H__15,453 -static u32 v_offset_default __initdata;47,1974 -static u32 voffset __initdata 48,2066 -inline void flush_cache(88,3781 -#define flush_cache(flush_cache93,3858 -#define KERNEL_HAS_MTRR 97,3924 -static inline void __devinit set_mtrr(98,3950 -static inline void unset_mtrr(108,4239 -#define KERNEL_HAS_MTRR 115,4423 -#define set_mtrr(set_mtrr116,4449 -#define unset_mtrr(unset_mtrr118,4523 -#define IS_DVT 122,4614 -#define IS_DVT 124,4639 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/i810/i810.h,4592 -#define __I810_H__14,395 -#define TILEWALK_X 22,528 -#define TILEWALK_Y 23,568 -#define COLOR_COPY_ROP 26,626 -#define PAT_COPY_ROP 27,661 -#define CLEAR_ROP 28,696 -#define WHITE_ROP 29,731 -#define INVERT_ROP 30,766 -#define XOR_ROP 31,801 -#define SOLIDPATTERN 34,865 -#define NONSOLID 35,906 -#define BPP8 36,947 -#define BPP16 37,987 -#define BPP24 38,1027 -#define PIXCONF8 40,1068 -#define PIXCONF15 41,1108 -#define PIXCONF16 42,1148 -#define PIXCONF24 43,1188 -#define PIXCONF32 44,1228 -#define DYN_COLOR_EN 46,1269 -#define DYN_COLOR_DIS 47,1309 -#define INCREMENT 48,1349 -#define DECREMENT 49,1390 -#define ARB_ON 50,1433 -#define ARB_OFF 51,1474 -#define SYNC_FLIP 52,1515 -#define ASYNC_FLIP 53,1556 -#define OPTYPE_MASK 54,1597 -#define PARSER_MASK 55,1638 -#define D2_MASK 56,1680 -#define PARSER 60,1807 -#define BLIT 61,1848 -#define RENDER 62,1891 -#define NOP 65,1960 -#define BP_INT 66,2037 -#define USR_INT 67,2115 -#define WAIT_FOR_EVNT 68,2187 -#define FLUSH 69,2259 -#define CONTEXT_SEL 70,2316 -#define REPORT_HEAD 71,2359 -#define ARB_ON_OFF 72,2402 -#define OVERLAY_FLIP 73,2445 -#define LOAD_SCAN_INC 74,2488 -#define LOAD_SCAN_EX 75,2531 -#define FRONT_BUFFER 76,2574 -#define DEST_BUFFER 77,2617 -#define Z_BUFFER 78,2660 -#define STORE_DWORD_IMM 80,2711 -#define STORE_DWORD_IDX 81,2754 -#define BATCH_BUFFER 82,2797 -#define SETUP_BLIT 85,2852 -#define SETUP_MONO_PATTERN_SL_BLT 86,2897 -#define PIXEL_BLT 87,2950 -#define SCANLINE_BLT 88,3003 -#define TEXT_BLT 89,3056 -#define TEXT_IMM_BLT 90,3109 -#define COLOR_BLT 91,3162 -#define MONO_PAT_BLIT 92,3215 -#define SOURCE_COPY_BLIT 93,3268 -#define MONO_SOURCE_COPY_BLIT 94,3321 -#define SOURCE_COPY_IMMEDIATE 95,3374 -#define MONO_SOURCE_COPY_IMMEDIATE 96,3427 -#define VERSION_MAJOR 98,3481 -#define VERSION_MINOR 99,3516 -#define VERSION_TEENIE 100,3551 -#define BRANCH_VERSION 101,3586 - #define PCI_DEVICE_ID_INTEL_82815_100 106,3684 - #define PCI_DEVICE_ID_INTEL_82815_NOAGP 109,3788 - #define PCI_DEVICE_ID_INTEL_82815_FULL_CTRL 112,3896 -#define I810_PAGESIZE 116,3984 -#define MAX_DMA_SIZE 117,4025 -#define SAREA_SIZE 118,4075 -#define PCI_I810_MISCC 119,4116 -#define MMIO_SIZE 120,4157 -#define GTT_SIZE 121,4204 -#define RINGBUFFER_SIZE 122,4251 -#define CURSOR_SIZE 123,4297 -#define OFF 124,4339 -#define ON 125,4377 -#define MAX_KEY 126,4415 -#define WAIT_COUNT 127,4455 -#define IRING_PAD 128,4500 -#define FONTDATAMAX 129,4538 -#define FB_START_MASK 131,4610 -#define MMIO_ADDR_MASK 132,4665 -#define FREQ_MASK 133,4723 -#define SCR_OFF 134,4765 -#define DRAM_ON 135,4806 -#define DRAM_OFF 136,4859 -#define PG_ENABLE_MASK 137,4900 -#define RING_SIZE_MASK 138,4941 -#define ADDR_MAP_MASK 141,5049 -#define DISP_CTRL 142,5097 -#define PIXCONF_0 143,5136 -#define PIXCONF_2 144,5184 -#define PIXCONF_1 145,5233 -#define MN_MASK 146,5282 -#define P_OR 147,5328 -#define DAC_BIT 148,5395 -#define INTERLACE_BIT 149,5441 -#define IER_MASK 150,5486 -#define IMR_MASK 151,5532 -#define DPMS_MASK 154,5602 -#define POWERON 155,5646 -#define STANDBY 156,5690 -#define SUSPEND 157,5734 -#define POWERDOWN 158,5778 -#define EMR_MASK 159,5822 -#define FW_BLC_MASK 160,5864 -#define RBUFFER_START_MASK 163,5958 -#define RBUFFER_SIZE_MASK 164,6005 -#define RBUFFER_HEAD_MASK 165,6052 -#define RBUFFER_TAIL_MASK 166,6099 -#define REF_FREQ 169,6167 -#define TARGET_N_MAX 170,6212 -#define MAX_PIXELCLOCK 172,6252 -#define MIN_PIXELCLOCK 173,6298 -#define VFMAX 174,6344 -#define VFMIN 175,6383 -#define HFMAX 176,6422 -#define HFMIN 177,6464 -#define CURSOR_ENABLE_MASK 180,6520 -#define CURSOR_MODE_64_TRANS 181,6576 -#define CURSOR_MODE_64_XOR 182,6614 -#define CURSOR_MODE_64_3C 183,6647 -#define COORD_INACTIVE 184,6680 -#define COORD_ACTIVE 185,6718 -#define EXTENDED_PALETTE 186,6763 -#define AGP_NORMAL_MEMORY 189,6819 -#define AGP_DCACHE_MEMORY 190,6857 -#define AGP_PHYSICAL_MEMORY 191,6889 -#define FRAMEBUFFER_REQ 194,6959 -#define MMIO_REQ 195,6997 -#define PCI_DEVICE_ENABLED 196,7035 -#define HAS_FONTCACHE 197,7073 -#define HAS_MTRR 200,7132 -#define HAS_ACCELERATION 201,7170 -#define ALWAYS_SYNC 202,7208 -#define LOCKUP 203,7246 -struct gtt_data gtt_data205,7285 -struct mode_registers mode_registers210,7383 -struct heap_data heap_data223,7669 -struct state_registers state_registers230,7765 -struct i810fb_par i810fb_par243,8132 -#define i810_readb(i810_readb279,8904 -#define i810_readw(i810_readw280,8956 -#define i810_readl(i810_readl281,9008 -#define i810_writeb(i810_writeb282,9060 -#define i810_writew(i810_writew283,9125 -#define i810_writel(i810_writel284,9189 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/platinumfb.c,1109 -static int default_vmode 43,1147 -static int default_cmode 44,1187 -struct fb_info_platinum fb_info_platinum46,1228 -static struct fb_ops platinumfb_ops 103,2668 -static int platinumfb_check_var 118,3031 -static int platinumfb_set_par 126,3211 -static int platinumfb_blank(153,4089 -static int platinumfb_setcolreg(183,5090 -static inline int platinum_vram_reqd(222,5996 -#define STORE_D2(STORE_D2228,6186 -static void set_platinum_clock(233,6283 -static void platinum_set_hardware(260,6992 -static void __devinit platinum_init_info(309,8614 -static int __devinit platinum_init_fb(334,9425 -static int read_platinum_sense(405,11548 -static int platinum_var_to_par(435,12598 -int __init platinumfb_setup(485,14170 -#define invalidate_cache(invalidate_cache519,14873 -#define invalidate_cache(invalidate_cache523,14991 -static int __devinit platinumfb_probe(526,15030 -static int __devexit platinumfb_remove(624,18058 -static struct of_match platinumfb_match[650,18722 -static struct of_platform_driver platinum_driver 660,18861 -int __init platinumfb_init(668,19038 -void __exit platinumfb_exit(682,19261 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/c2p.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/fm2fb.c,952 -#define FRAMEMASTER_SIZE 120,4113 -#define FRAMEMASTER_REG 121,4147 -#define FRAMEMASTER_NOLACE 123,4182 -#define FRAMEMASTER_ENABLE 124,4211 -#define FRAMEMASTER_COMPL 125,4240 -#define FRAMEMASTER_ROM 126,4268 -static volatile unsigned char *fm2fb_reg;128,4296 -static struct fb_fix_screeninfo fb_fix __devinitdata 130,4339 -static int fm2fb_mode __devinitdata 139,4566 -#define FM2FB_MODE_PAL 141,4609 -#define FM2FB_MODE_NTSC 142,4634 -static struct fb_var_screeninfo fb_var_modes[144,4661 -static struct fb_var_screeninfo fb_var_modes[] __devinitdata 144,4661 -static struct fb_ops fm2fb_ops 168,5463 -static int fm2fb_blank(181,5747 -static int fm2fb_setcolreg(196,6160 -static struct zorro_device_id fm2fb_devices[216,6604 -static struct zorro_device_id fm2fb_devices[] __devinitdata 216,6604 -static struct zorro_driver fm2fb_driver 222,6752 -static int __devinit fm2fb_probe(228,6871 -int __init fm2fb_init(297,8814 - char *this_opt;308,8997 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/hgafb.c,2426 -#define DPRINTK(DPRINTK49,1779 -#define DPRINTK(DPRINTK51,1849 -#define CHKINFO(CHKINFO55,1888 -#define CHKINFO(CHKINFO57,2032 -static unsigned long hga_vram_base;62,2103 -static unsigned long hga_vram_len;63,2167 -#define HGA_ROWADDR(HGA_ROWADDR65,2231 -#define HGA_TXT 66,2285 -#define HGA_GFX 67,2305 -static inline u8* rowaddr(69,2326 -static int hga_mode 74,2443 -static enum { TYPE_HERC,76,2500 -static enum { TYPE_HERC, TYPE_HERCPLUS,76,2500 -static enum { TYPE_HERC, TYPE_HERCPLUS, TYPE_HERCCOLOR 76,2500 -static enum { TYPE_HERC, TYPE_HERCPLUS, TYPE_HERCCOLOR } hga_type;76,2500 -static char *hga_type_name;77,2567 -#define HGA_INDEX_PORT 79,2596 -#define HGA_VALUE_PORT 80,2654 -#define HGA_MODE_PORT 81,2711 -#define HGA_STATUS_PORT 82,2765 -#define HGA_GFX_PORT 83,2826 -#define HGA_CURSOR_BLINKING 87,2911 -#define HGA_CURSOR_OFF 88,2944 -#define HGA_CURSOR_SLOWBLINK 89,2973 -#define HGA_MODE_GRAPHICS 91,3008 -#define HGA_MODE_VIDEO_EN 92,3039 -#define HGA_MODE_BLINK_EN 93,3070 -#define HGA_MODE_GFX_PAGE1 94,3101 -#define HGA_STATUS_HSYNC 96,3134 -#define HGA_STATUS_VSYNC 97,3164 -#define HGA_STATUS_VIDEO 98,3194 -#define HGA_CONFIG_COL132 100,3225 -#define HGA_GFX_MODE_EN 101,3256 -#define HGA_GFX_PAGE_EN 102,3286 -static spinlock_t hga_reg_lock 106,3337 -static struct fb_var_screeninfo hga_default_var 110,3428 -static struct fb_fix_screeninfo hga_fix 124,3703 -static struct fb_info fb_info;134,3929 -static int release_io_port 137,4027 -static int release_io_ports 138,4059 -static int nologo 139,4092 -static void write_hga_b(147,4312 -static void write_hga_w(153,4439 -static int test_hga_b(159,4641 -static void hga_clear_screen(167,4831 -static void hga_txt_mode(182,5200 -static void hga_gfx_mode(213,6190 -static void hga_show_logo(244,7191 -static void hga_pan(257,7480 -static void hga_blank(269,7804 -static int __init hga_card_detect(282,8106 -static int hgafb_open(360,9868 -static int hgafb_release(374,10181 -static int hgafb_setcolreg(395,10707 -int hgafb_pan_display(414,11323 -static int hgafb_blank(445,12153 -static void hgafb_fillrect(455,12307 -static void hgafb_copyarea(475,12681 -static void hgafb_imageblit(505,13361 -#define hgafb_fillrect 518,13673 -#define hgafb_copyarea 519,13709 -#define hgafb_imageblit 520,13745 -static struct fb_ops hgafb_ops 524,13818 -int __init hgafb_init(548,14439 -int __init hgafb_setup(587,15380 -static void __exit hgafb_exit(593,15448 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/fbmem.c,1547 -#define FBPIXMAPSIZE 54,1171 -static struct notifier_block *fb_notifier_list;56,1199 -struct fb_info *registered_fb[57,1247 -int num_registered_fb;58,1286 -int fb_get_color_depth(64,1329 -void fb_iomove_buf_aligned(82,1753 -void fb_sysmove_buf_aligned(95,2013 -void fb_iomove_buf_unaligned(109,2291 -void fb_sysmove_buf_unaligned(140,3048 -char* fb_get_buffer_offset(175,3771 -static inline unsigned safe_shift(210,4690 -static void fb_set_logocmap(215,4782 -static void fb_set_logo_truepalette(249,5661 -static void fb_set_logo_directpalette(279,6808 -static void fb_set_logo(294,7198 -static struct logo_data logo_data357,9208 -} fb_logo;363,9350 -int fb_prepare_logo(365,9362 -int fb_show_logo(411,10485 -int fb_prepare_logo(476,12161 -int fb_show_logo(477,12217 -static int fbmem_read_proc(480,12296 -fb_read(501,12761 -fb_write(572,14195 -static void try_to_load(644,15677 -fb_load_cursor_image(651,15773 -fb_cursor(663,16070 -fb_pan_display(759,18684 -fb_set_var(781,19411 -fb_blank(847,20909 -fb_ioctl(867,21430 -fb_mmap(972,24409 -fb_open(1068,27136 -fb_release(1093,27654 -static struct file_operations fb_fops 1107,27935 -static struct class_simple *fb_class;1120,28210 -register_framebuffer(1133,28472 -unregister_framebuffer(1209,30401 -int fb_register_client(1233,31015 -int fb_unregister_client(1242,31234 -void fb_set_suspend(1256,31640 -fbmem_init(1280,32167 -#define NR_FB_DRIVERS 1297,32608 -static char *video_options[1298,32633 -static int ofonly;1299,32676 -int fb_get_options(1309,32927 -int __init video_setup(1354,33909 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/init301.c,5089 -#define SET_EMI 68,3296 -#define COMPAL_HACK 71,3353 -#define COMPAQ_HACK 72,3413 -#define ASUS_HACK 73,3482 -#define SiS_I2CDELAY 85,3649 -#define SiS_I2CDELAYSHORT 86,3680 -SiS_UnLockCRT2(95,3921 -SiS_LockCRT2(104,4139 -SiS_SetRegSR11ANDOR(117,4509 -GetLCDStructPtr661(132,4929 -GetLCDStructPtr661_2(154,5554 -SiS_AdjustCRT2Rate(177,6219 -SiS_GetRatePtr(268,8828 -SiS_SaveCRT2Info(367,11922 -SiS_CR36BIOSWord23b(384,12397 -SiS_CR36BIOSWord23d(400,12817 -SiS_DDC2Delay(421,13379 -SiS_GenericDelay(432,13585 -SiS_LongDelay(449,13862 -SiS_ShortDelay(459,14036 -SiS_PanelDelay(468,14169 -SiS_PanelDelayLoop(574,17346 -SiS_WaitRetrace1(589,17723 -SiS_WaitRetrace2(604,18127 -SiS_WaitVBRetrace(616,18406 -SiS_VBWait(641,19015 -SiS_VBLongWait(662,19407 -SiS_Is301B(677,19734 -SiS_CRT2IsLCD(685,19875 -SiS_IsDualEdge(699,20173 -SiS_IsVAMode(715,20531 -SiS_IsVAorLCD(730,20832 -SiS_IsDualLink(739,21029 -SiS_TVEnabled(754,21352 -SiS_LCDAEnabled(766,21674 -SiS_WeHaveBacklightCtrl(775,21855 -SiS_IsNotM650orLater(786,22119 -SiS_IsYPbPr(803,22555 -SiS_IsChScart(817,22837 -SiS_IsTVOrYPbPrOrScart(831,23121 -SiS_IsLCDOrLCDA(851,23695 -SiS_BridgeIsOn(869,24132 -SiS_BridgeIsEnabled(883,24425 -SiS_BridgeInSlavemode(901,24843 -SiS_SetChrontelGPIO(916,25226 -SiS_GetVBInfo(942,26099 -SiS_SetYPbPr(1199,34114 -SiS_SetTVMode(1242,35260 -SiS_GetBIOSLCDResInfo(1443,42086 -SiS_GetLCDInfoBIOS(1453,42362 -SiS_GetLCDResInfo(1505,44224 -SiS_GetVCLK2Ptr(2017,64097 -SiS_SetCRT2ModeRegs(2237,71708 -SiS_GetResInfo(2603,82192 -SiS_GetCRT2ResInfo(2610,82453 -SiS_GetLVDSCRT1Ptr(2717,85691 -SiS_GetCRT2Ptr(2803,88427 -SiS_GetRAMDAC2DATA(2975,93920 -SiS_GetCRT2DataLVDS(3033,95503 -SiS_GetCRT2Data301(3180,102034 -SiS_GetCRT2Data(3475,113278 -SiS_GetLVDSDesPtr(3504,114190 -SiS_GetLVDSDesData(3559,115949 -SiS_DisableBridge(3693,121910 -SiS_EnableBridge(4090,133307 -SiS_SetCRT2Offset(4643,150297 -SiS_SetCRT2Sync(4667,150981 -SiS_SetCRT2FIFO_300(4832,156245 -SiS_SetCRT2FIFO_310(5122,164319 -SiS_GetVGAHT2(5144,165045 -SiS_SetGroup1_301(5156,165382 -SiS_SetGroup1_LVDS(5481,175307 -SiS_SetGroup1(6037,193890 -SiS_GetGroup2CLVXPtr(6415,205904 -SiS_SetGroup2_C_ELV(6455,207039 -SiS_GetCRT2Part2Ptr(6480,207830 -SiS_Group2LCDSpecial(6512,208657 -SiS_Set300Part2Regs(6572,210757 -SiS_SetTVSpecial(6617,212403 -SiS_SetGroup2_Tail(6658,213833 -SiS_SetGroup2(6717,215655 -SiS_SetGroup3(7371,236769 -SiS_ShiftXPos(7433,238434 -SiS_SetGroup4_C_ELV(7453,239277 -SiS_SetCRT2VCLK(7510,241319 -SiS_SetGroup4(7547,242561 -SiS_SetGroup5(7759,248974 -SiS_ModCRT1CRTC(7778,249518 -SiS_SetCRT2ECLK(7894,255139 -SiS_SetCHTVReg(7949,256964 -SiS_Chrontel701xBLOn(8214,266582 -SiS_Chrontel701xBLOff(8231,266970 -SiS_ChrontelPowerSequencing(8246,267307 -SiS_SetCH701xForLCD(8286,268841 -SiS_ChrontelResetVSync(8363,272074 -SiS_Chrontel701xOn(8380,272544 -SiS_Chrontel701xOff(8425,273928 -SiS_ChrontelResetDB(8447,274450 -SiS_ChrontelInitTVVSync(8498,275794 -SiS_ChrontelDoSomething3(8527,276547 -SiS_ChrontelDoSomething2(8578,277941 -SiS_ChrontelDoSomething1(8624,279169 -SiS_SetCRT2Group(8683,281038 -SiS_SiS30xBLOn(8882,287314 -SiS_SiS30xBLOff(8896,287722 -SiS_SetupDDCN(8909,288119 -SiS_SetTrumpBlockLoop(8921,288431 -SiS_SetTrumpionBlock(8955,289458 -SiS_SetChReg(8984,290297 -SiS_SetTrumpReg(9014,291347 -SiS_SetCH700x(9028,291859 -SiS_SetCH701x(9053,292772 -SiS_SetCH70xx(9064,293193 -SiS_GetChReg(9073,293376 -SiS_GetTrumpReg(9104,294519 -SiS_GetCH700x(9119,295016 -SiS_GetCH701x(9150,295848 -SiS_GetCH70xx(9166,296356 -SiS_InitDDCRegs(9176,296578 -SiS_WriteDABDDC(9290,299249 -SiS_PrepareReadDDC(9303,299525 -SiS_PrepareDDC(9313,299730 -SiS_SendACK(9321,299916 -SiS_DoProbeDDC(9339,300357 -SiS_ProbeDDC(9389,301535 -SiS_ReadDDC(9405,301919 -SiS_HandleDDC(9458,303477 -checkedid1(9501,304783 -checkedid2(9527,305403 -SiS_SenseLCDDDC(9546,305862 -SiS_SenseVGA2DDC(10132,326057 -SiS_SetCH70xxANDOR(10224,328740 -SiS_SetSwitchDDC2(10236,329027 -SiS_ReadDDC1Bit(10246,329188 -SiS_SetStart(10255,329423 -SiS_SetStop(10274,330157 -SiS_WriteDDC2Data(10292,330807 -SiS_ReadDDC2Data(10318,331633 -SiS_SetSCLKLow(10338,332126 -SiS_SetSCLKHigh(10349,332379 -SiS_CheckACK(10373,332998 -GetRAMDACromptr(10397,333750 -GetLCDromptr(10415,334188 -GetTVromptr(10433,334631 -GetLCDPtrIndexBIOS(10451,335073 -GetLCDPtrIndex(10478,335878 -GetTVPtrIndex(10489,336147 -GetOEMTVPtr661_2_GEN(10510,336538 -GetOEMTVPtr661_2_OLD(10536,337268 -GetOEMTVPtr661_2_NEW(10543,337378 -GetOEMTVPtr661(10550,337487 -SetDelayComp(10573,338191 -SetAntiFlicker(10874,346811 -SetEdgeEnhance(10918,348009 -SetYFilter(10957,349102 -SetPhaseIncr(10990,350244 -SiS_OEM310Setting(11079,353301 -SetDelayComp661(11097,353864 -SetCRT2SyncDither661(11205,357665 -SetPanelParms661(11250,358951 -SiS_OEM661Setting(11283,359872 -SiS_FinalizeLCD(11314,360936 -SetOEMLCDData2(11518,367889 -GetOEMLCDPtr(11562,369176 -SetOEMLCDDelay(11620,370953 -SetOEMLCDData(11694,372967 -GetOEMTVPtr(11727,374140 -SetOEMTVDelay(11745,374644 -SetOEMAntiFlicker(11778,375468 -SetOEMPhaseIncr(11807,376185 -SetOEMYFilter(11848,377329 -SiS_SearchVBModeID(11894,378767 -SiS_OEM300Setting(11918,379403 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/init301.h,501 -#define _INIT301_54,2545 -const UCHAR SiS_YPbPrTable[85,3050 -const UCHAR SiS_HiTVGroup3_1[130,4668 -const UCHAR SiS_HiTVGroup3_2[141,5116 -static const UCHAR SiS_Part2CLVX_1[154,5613 -static const UCHAR SiS_Part2CLVX_2[162,6012 -static const UCHAR SiS_Part2CLVX_3[170,6411 -static const UCHAR SiS_Part2CLVX_4[189,7559 -static const UCHAR SiS_Part2CLVX_5[208,8695 -static const UCHAR SiS_Part2CLVX_6[217,9122 -static const UCHAR SiS_LCDStruct661[228,9610 -static UCHAR SiS300_TrumpionData[263,11321 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/oem300.h,515 -const UCHAR SiS300_OEMTVDelay301[53,2516 -const UCHAR SiS300_OEMTVDelayLVDS[65,2754 -const UCHAR SiS300_OEMTVFlicker[77,2993 -const UCHAR SiS300_OEMLCDDelay1[90,3257 -const UCHAR SiS300_OEMLCDDelay2[107,3625 -const UCHAR SiS300_OEMLCDDelay4[176,5275 -const UCHAR SiS300_OEMLCDDelay5[193,5639 -const UCHAR SiS300_OEMLCDDelay3[230,6479 -const UCHAR SiS300_Phase1[297,8076 -const UCHAR SiS300_Phase2[358,9224 -const UCHAR SiS300_Filter1[418,10371 -const UCHAR SiS300_Filter2[602,14377 -const UCHAR barco_p1[717,18091 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/sis.h,5910 -#define _SIS_H23,929 -#define VER_MAJOR 38,1174 -#define VER_MINOR 39,1210 -#define VER_LEVEL 40,1246 -#define SIS_CONFIG_COMPAT48,1434 -#define SIS_CONFIG_COMPAT54,1618 -#define DPRINTK(DPRINTK61,1696 -#define TWDEBUG(TWDEBUG62,1780 -#define DPRINTK(DPRINTK64,1831 -#define TWDEBUG(TWDEBUG65,1861 -#define SISFAIL(SISFAIL68,1888 -#define PCI_DEVICE_ID_SI_650_VGA 72,2023 -#define PCI_DEVICE_ID_SI_650 75,2100 -#define PCI_DEVICE_ID_SI_651 78,2177 -#define PCI_DEVICE_ID_SI_740 81,2254 -#define PCI_DEVICE_ID_SI_330 84,2331 -#define PCI_DEVICE_ID_SI_660_VGA 87,2412 -#define PCI_DEVICE_ID_SI_661 90,2489 -#define PCI_DEVICE_ID_SI_741 93,2566 -#define PCI_DEVICE_ID_SI_660 96,2643 -#define PCI_DEVICE_ID_SI_760 99,2720 -#define FB_ACCEL_SIS_GLAMOUR_2 104,2829 -#define FB_ACCEL_SIS_XABRE 107,2934 -#define MAX_ROM_SCAN 110,3009 -#define HW_CURSOR_CAP 113,3071 -#define TURBO_QUEUE_CAP 114,3110 -#define AGP_CMD_QUEUE_CAP 115,3149 -#define VM_CMD_QUEUE_CAP 116,3188 -#define MMIO_CMD_QUEUE_CAP 117,3227 -#define TURBO_QUEUE_AREA_SIZE 120,3288 -#define HW_CURSOR_AREA_SIZE_300 121,3341 -#define COMMAND_QUEUE_AREA_SIZE 124,3420 -#define COMMAND_QUEUE_THRESHOLD 125,3473 -#define HW_CURSOR_AREA_SIZE_315 126,3512 -#define SIS_OH_ALLOC_SIZE 128,3565 -#define SENTINEL 129,3604 -#define SEQ_ADR 131,3650 -#define SEQ_DATA 132,3689 -#define DAC_ADR 133,3728 -#define DAC_DATA 134,3767 -#define CRTC_ADR 135,3806 -#define CRTC_DATA 136,3845 -#define DAC2_ADR 137,3884 -#define DAC2_DATA 138,3930 -#define VB_PART1_ADR 139,3976 -#define VB_PART1_DATA 140,4022 -#define VB_PART2_ADR 141,4068 -#define VB_PART2_DATA 142,4114 -#define VB_PART3_ADR 143,4160 -#define VB_PART3_DATA 144,4206 -#define VB_PART4_ADR 145,4252 -#define VB_PART4_DATA 146,4298 -#define SISSR 148,4345 -#define SISCR 149,4387 -#define SISDACA 150,4445 -#define SISDACD 151,4503 -#define SISPART1 152,4561 -#define SISPART2 153,4624 -#define SISPART3 154,4687 -#define SISPART4 155,4750 -#define SISPART5 156,4813 -#define SISDAC2A 157,4876 -#define SISDAC2D 158,4919 -#define SISMISCR 159,4968 -#define SISMISCW 160,5032 -#define SISINPSTAT 161,5090 -#define SISPEL 162,5142 -#define IND_SIS_PASSWORD 164,5186 -#define IND_SIS_COLOR_MODE 165,5236 -#define IND_SIS_RAMDAC_CONTROL 166,5275 -#define IND_SIS_DRAM_SIZE 167,5314 -#define IND_SIS_MODULE_ENABLE 168,5353 -#define IND_SIS_PCI_ADDRESS_SET 169,5392 -#define IND_SIS_TURBOQUEUE_ADR 170,5431 -#define IND_SIS_TURBOQUEUE_SET 171,5470 -#define IND_SIS_POWER_ON_TRAP 172,5509 -#define IND_SIS_POWER_ON_TRAP2 173,5548 -#define IND_SIS_CMDQUEUE_SET 174,5587 -#define IND_SIS_CMDQUEUE_THRESHOLD 175,5626 -#define IND_SIS_AGP_IO_PAD 177,5668 -#define SIS_CRT2_WENABLE_300 179,5708 -#define SIS_CRT2_WENABLE_315 180,5758 -#define SIS_PASSWORD 182,5796 -#define SIS_INTERLACED_MODE 183,5847 -#define SIS_8BPP_COLOR_MODE 184,5898 -#define SIS_15BPP_COLOR_MODE 185,5936 -#define SIS_16BPP_COLOR_MODE 186,5974 -#define SIS_32BPP_COLOR_MODE 187,6012 -#define SIS_ENABLE_2D 189,6051 -#define SIS_MEM_MAP_IO_ENABLE 191,6103 -#define SIS_PCI_ADDR_ENABLE 192,6154 -#define SIS_AGP_CMDQUEUE_ENABLE 194,6194 -#define SIS_VRAM_CMDQUEUE_ENABLE 195,6260 -#define SIS_MMIO_CMD_ENABLE 196,6299 -#define SIS_CMD_QUEUE_SIZE_512k 197,6338 -#define SIS_CMD_QUEUE_SIZE_1M 198,6377 -#define SIS_CMD_QUEUE_SIZE_2M 199,6416 -#define SIS_CMD_QUEUE_SIZE_4M 200,6455 -#define SIS_CMD_QUEUE_RESET 201,6494 -#define SIS_CMD_AUTO_CORR 202,6533 -#define SIS_SIMULTANEOUS_VIEW_ENABLE 204,6567 -#define SIS_MODE_SELECT_CRT2 205,6622 -#define SIS_VB_OUTPUT_COMPOSITE 206,6661 -#define SIS_VB_OUTPUT_SVIDEO 207,6700 -#define SIS_VB_OUTPUT_SCART 208,6739 -#define SIS_VB_OUTPUT_LCD 209,6778 -#define SIS_VB_OUTPUT_CRT2 210,6817 -#define SIS_VB_OUTPUT_HIVISION 211,6856 -#define SIS_VB_OUTPUT_DISABLE 213,6896 -#define SIS_DRIVER_MODE 214,6947 -#define SIS_VB_COMPOSITE 216,6987 -#define SIS_VB_SVIDEO 217,7038 -#define SIS_VB_SCART 218,7077 -#define SIS_VB_LCD 219,7116 -#define SIS_VB_CRT2 220,7155 -#define SIS_CRT1 221,7194 -#define SIS_VB_HIVISION 222,7233 -#define SIS_VB_YPBPR 223,7272 -#define SIS_VB_TV 224,7311 -#define SIS_EXTERNAL_CHIP_MASK 227,7466 -#define SIS_EXTERNAL_CHIP_SIS301 228,7533 -#define SIS_EXTERNAL_CHIP_LVDS 229,7603 -#define SIS_EXTERNAL_CHIP_TRUMPION 230,7651 -#define SIS_EXTERNAL_CHIP_LVDS_CHRONTEL 231,7699 -#define SIS_EXTERNAL_CHIP_CHRONTEL 232,7747 -#define SIS310_EXTERNAL_CHIP_LVDS 233,7795 -#define SIS310_EXTERNAL_CHIP_LVDS_CHRONTEL 234,7843 -#define SIS_AGP_2X 236,7892 -#define HW_DEVICE_EXTENSION 238,7944 -#define PHW_DEVICE_EXTENSION 239,7986 -#define inSISREG(inSISREG242,8054 -#define outSISREG(outSISREG243,8096 -#define orSISREG(orSISREG244,8143 -#define andSISREG(andSISREG248,8354 -#define inSISIDXREG(inSISIDXREG252,8565 -#define outSISIDXREG(outSISIDXREG255,8731 -#define orSISIDXREG(orSISIDXREG258,8900 -#define andSISIDXREG(andSISIDXREG264,9241 -#define setSISIDXREG(setSISIDXREG270,9582 -#define MMIO_IN8(MMIO_IN8278,9980 -#define MMIO_IN16(MMIO_IN16279,10033 -#define MMIO_IN32(MMIO_IN32280,10086 -#define MMIO_OUT8(MMIO_OUT8282,10140 -#define MMIO_OUT16(MMIO_OUT16283,10213 -#define MMIO_OUT32(MMIO_OUT32284,10287 -#define Q_BASE_ADDR 287,10397 -#define Q_WRITE_PTR 288,10463 -#define Q_READ_PTR 289,10520 -#define Q_STATUS 290,10575 -#define MMIO_QUEUE_PHYBASE 292,10621 -#define MMIO_QUEUE_WRITEPORT 293,10665 -#define MMIO_QUEUE_READPORT 294,10709 -enum _SIS_CMDTYPE _SIS_CMDTYPE296,10753 - MMIO_CMD 297,10773 - AGP_CMD_QUEUE,298,10788 - VM_CMD_QUEUE,299,10804 -typedef unsigned int SIS_CMDTYPE;SIS_CMDTYPE301,10822 -struct sis_video_info sis_video_info304,10873 - struct sisfb_monitor sisfb_monitor336,11518 -typedef struct _SIS_OH _SIS_OH484,14452 -} SIS_OH;SIS_OH489,14577 -typedef struct _SIS_OHALLOC _SIS_OHALLOC491,14588 -} SIS_OHALLOC;SIS_OHALLOC494,14667 -typedef struct _SIS_HEAP _SIS_HEAP496,14683 -} SIS_HEAP;SIS_HEAP503,14866 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/init.c,2905 -InitCommonPointer(87,3671 -InitTo300Pointer(216,9905 -InitTo310Pointer(398,18619 -SiSInitPtr(580,27148 -SiS_GetModeID(616,27827 -SiS_GetModeID_LCD(756,32520 -SiS_GetModeID_TV(981,39160 -SiS_GetModeID_VGA2(1088,42702 -SiS_SetReg(1187,45735 -SiS_SetRegByte(1194,45861 -SiS_SetRegShort(1200,45945 -SiS_SetRegLong(1206,46030 -SiS_GetReg(1212,46114 -SiS_GetRegByte(1219,46230 -SiS_GetRegShort(1225,46305 -SiS_GetRegLong(1231,46380 -SiS_SetRegANDOR(1237,46453 -SiS_SetRegAND(1247,46658 -SiS_SetRegOR(1257,46828 -SiS_DisplayOn(1271,47140 -SiS_DisplayOff(1277,47231 -SiSRegInit(1288,47468 -SiS_GetSysFlags(1318,48882 -SiSInitPCIetc(1381,50781 -SiSSetLVDSetc(1433,52178 -SiS_SetEnableDstn(1497,53987 -SiS_SetEnableFstn(1503,54093 -SiSDetermineROMLayout661(1513,54347 -SiSDetermineROMUsage(1547,55311 -SiS_SetSegRegLower(1591,56759 -SiS_SetSegRegUpper(1605,57107 -SiS_SetSegmentReg(1619,57455 -SiS_ResetSegmentReg(1626,57601 -SiS_SetSegmentRegOver(1632,57692 -SiS_ResetSegmentRegOver(1643,57917 -SiS_ResetSegmentRegisters(1649,58016 -SiS_GetVBType(1662,58372 -SiS_CheckMemorySize(1708,59670 -SiS_Get310DRAMType(1739,60527 -SiS_GetMCLK(1775,61456 -SiS_ClearBuffer(1801,62154 -SiS_SearchModeID(1831,63034 -SiS_GetModePtr(1871,64214 -SiS_DoLowModeTest(1889,64675 -SiS_SetLowModeTest(1916,65509 -SiS_SetupCR5x(1928,65849 -SiS_HandleCRT1(1947,66414 -SiS_GetColorDepth(1965,66914 -SiS_GetOffset(1991,67628 -SiS_SetSeqRegs(2022,68448 -SiS_SetMiscRegs(2080,70153 -SiS_SetCRTCRegs(2102,70718 -SiS_SetATTRegs(2136,71874 -SiS_SetGRCRegs(2202,74164 -SiS_ClearExt1Regs(2223,74687 -SiS_ResetCRT1VCLK(2246,75235 -SiS_SetCRT1Sync(2282,76401 -SiS_SetCRT1CRTC(2302,76876 -SiS_SetCRT1Offset(2377,79189 -SiS_SetCRT1VCLK(2412,80183 -SiS_DoCalcDelay(2453,81403 -SiS_CalcDelay(2500,82697 -SiS_SetCRT1FIFO_300(2513,83047 -SiS_CalcDelay2(2581,85088 -SiS_SetCRT1FIFO_630(2628,86486 -SiS_SetCRT1FIFO_310(2832,91450 -SiS_SetVCLKState(2869,92466 -SiS_SetCRT1ModeRegs(2933,94078 -SiS_ClearDAC(3113,99388 -SiS_WriteDAC(3126,99573 -SiS_LoadDAC(3158,100155 -SiS_SetCRT1Group(3257,102727 -SiS_ResetVB(3347,105560 -SiS_StrangeStuff(3372,106417 -SiS_SetPitchCRT1(3390,107104 -SiS_SetPitchCRT2(3400,107372 -SiS_SetPitch(3416,107828 -SiSSetMode(3447,108833 -SiSBIOSSetMode(3630,113999 -SiSBIOSSetModeCRT2(3663,115078 -SiSBIOSSetModeCRT1(3844,120367 -SiS_GetPanelID(4019,125682 -#define BITMASK(BITMASK4095,128037 -#define GENMASK(GENMASK4096,128103 -#define GETBITS(GETBITS4097,128151 -#define GETBITSTR(GETBITSTR4098,128218 -SiS_CalcCRRegisters(4102,128302 -SiS_CalcLCDACRT1Timing(4163,131169 -SiS_CheckBuildCustomMode(4277,134816 -#define Midx 4284,135061 -#define Nidx 4285,135084 -#define VLDidx 4286,135107 -#define Pidx 4287,135130 -#define PSNidx 4288,135153 -SiSBuildBuiltInModeList(4412,139739 -SiSTranslateToVESA(4943,157069 -sisfb_mode_rate_to_dclock(4978,157852 -sisfb_gettotalfrommode(5017,158861 -sisfb_mode_rate_to_ddata(5064,160366 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/sis_main.h,2903 -#define _SISFB_MAIN24,959 -#define MODE_INDEX_NONE 31,1048 -static struct fb_var_screeninfo my_default_var 34,1130 -static int sisfb_off 64,1879 -static int sisfb_parm_mem 65,1905 -static int sisfb_accel 66,1936 -static int sisfb_ypan 67,1965 -static int sisfb_max 68,1993 -static int sisfb_userom 69,2020 -static int sisfb_useoem 70,2049 -static int sisfb_mode_idx 73,2141 -static int sisfb_mode_idx 75,2179 -static int sisfb_mode_idx 78,2291 -static int sisfb_parm_rate 80,2397 -static int sisfb_crt1off 81,2430 -static int sisfb_forcecrt1 82,2460 -static int sisfb_crt2type 83,2493 -static int sisfb_crt2flags 84,2573 -static int sisfb_pdc 85,2605 -static int sisfb_pdca 86,2634 -static int sisfb_scalelcd 87,2664 -static int sisfb_specialtiming 88,2696 -static int sisfb_lvdshl 89,2739 -static int sisfb_dstn 90,2769 -static int sisfb_fstn 91,2796 -static int sisfb_tvplug 92,2823 -static int sisfb_tvstd 93,2904 -static int sisfb_tvxposoffset 94,2934 -static int sisfb_tvyposoffset 95,2969 -static int sisfb_filter 96,3004 -static int sisfb_nocrt2rate 97,3034 -static int sisfb_inverse 99,3114 -static char sisfb_fontname[100,3145 -static int sisfb_resetcard 103,3231 -static int sisfb_videoram 104,3263 -static struct sisfb_chip_info sisfb_chip_info108,3332 -} sisfb_chip_info[115,3485 -} sisfb_chip_info[] __devinitdata 115,3485 -static struct pci_device_id __devinitdata sisfb_pci_table[128,4485 -static struct sis_video_info *card_list 148,5478 -SIS_HEAP sisfb_heap;156,5784 -#define MD_SIS300 158,5813 -#define MD_SIS315 159,5833 -static const struct _sisbios_mode _sisbios_mode162,5871 -} sisbios_mode[174,6133 -#define DEFAULT_MODE 218,10434 -#define DEFAULT_LCDMODE 219,10497 -#define DEFAULT_TVMODE 220,10560 -#define SIS_LCD_NUMBER 312,19263 -static const struct _sis_lcd_data _sis_lcd_data313,19289 -} sis_lcd_data[318,19384 -const USHORT sis300paneltype[339,20060 -const USHORT sis310paneltype[345,20355 -const USHORT sis661paneltype[351,20652 -#define FL_550_DSTN 357,20949 -#define FL_550_FSTN 358,20974 -#define FL_300 359,20999 -#define FL_315 360,21024 -static struct _sis_crt2type _sis_crt2type362,21050 -} sis_crt2type[367,21138 -} sis_crt2type[] __initdata 367,21138 -static struct _sis_tvtype _sis_tvtype391,22539 -} sis_tvtype[394,22596 -} sis_tvtype[] __initdata 394,22596 -static const struct _sis_vrate _sis_vrate403,22776 -} sisfb_vrate[409,22882 -static const struct _sisfbddcsmodes _sisfbddcsmodes457,25357 -} sisfb_ddcsmodes[462,25430 -static const struct _sisfbddcfmodes _sisfbddcfmodes478,25834 -} sisfb_ddcfmodes[484,25912 -static struct _chswtable _chswtable496,26268 -} mychswtable[501,26381 -} mychswtable[] __devinitdata 501,26381 -static struct _customttable _customttable508,26558 -} mycustomttable[521,26877 -} mycustomttable[] __devinitdata 521,26877 -static const struct _sis_TV_filter _sis_TV_filter650,30120 -} sis_TV_filter[652,30175 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/310vtbl.h,7845 -static const SiS_StStruct SiS310_SModeIDTable[53,2533 -static const SiS_ExtStruct SiS310_EModeIDTable[77,3627 -static const SiS_Ext2Struct SiS310_RefIndex[178,11557 -static const SiS_CRT1TableStruct SiS310_CRT1Table[262,16868 -static const SiS_MCLKDataStruct SiS310_MCLKData_0_315[530,26948 -static const SiS_MCLKDataStruct SiS310_MCLKData_0_650[542,27203 -static const SiS_MCLKDataStruct SiS310_MCLKData_0_330[554,27458 -static const SiS_MCLKDataStruct SiS310_MCLKData_0_660[566,27713 -static const SiS_MCLKDataStruct SiS310_MCLKData_0_760[578,27968 -static const SiS_MCLKDataStruct SiS310_MCLKData_1[590,28223 -static SiS_VCLKDataStruct SiS310_VCLKData[602,28492 -static SiS_VBVCLKDataStruct SiS310_VBVCLKData[713,32309 -static const DRAM4Type SiS310_SR15[830,36736 -static UCHAR SiS310_SR07 843,36994 -static const DRAM4Type SiS310_CR40[845,37028 -static UCHAR SiS310_CR49[853,37193 -static UCHAR SiS310_SR1F 854,37235 -static UCHAR SiS310_SR21 855,37268 -static UCHAR SiS310_SR22 856,37301 -static UCHAR SiS310_SR23 857,37334 -static UCHAR SiS310_SR24 858,37367 -static UCHAR SiS310_SR25[859,37400 -static UCHAR SiS310_SR31 860,37441 -static UCHAR SiS310_SR32 861,37474 -static UCHAR SiS310_SR33 862,37507 -static UCHAR SiS310_CRT2Data_1_2 863,37540 -static UCHAR SiS310_CRT2Data_4_D 864,37582 -static UCHAR SiS310_CRT2Data_4_E 865,37624 -static UCHAR SiS310_CRT2Data_4_10 866,37666 -static const USHORT SiS310_RGBSenseData 867,37708 -static const USHORT SiS310_VideoSenseData 868,37759 -static const USHORT SiS310_YCSenseData 869,37810 -static const USHORT SiS310_RGBSenseData2 870,37861 -static const USHORT SiS310_VideoSenseData2 871,37915 -static const USHORT SiS310_YCSenseData2 872,37968 -static const SiS_PanelDelayTblStruct SiS310_PanelDelayTbl[875,38029 -static const SiS_PanelDelayTblStruct SiS310_PanelDelayTblLVDS[895,38358 -static const SiS_LCDDataStruct SiS310_St2LCD1024x768Data[919,38880 -static const SiS_LCDDataStruct SiS310_ExtLCD1024x768Data[930,39199 -static const SiS_LCDDataStruct SiS310_St2LCD1280x1024Data[941,39511 -static const SiS_LCDDataStruct SiS310_ExtLCD1280x1024Data[953,39859 -static const SiS_Part2PortTblStruct SiS310_CRT2Part2_1024x768_1[965,40207 -static const SiS_LVDSDataStruct SiS_LCDA1600x1200Data_1[979,40768 -static const SiS_LVDSDataStruct SiS310_CHTVUPALData[1003,41399 -static const SiS_LVDSDataStruct SiS310_CHTVOPALData[1014,41628 -static const SiS_LVDSDataStruct SiS310_CHTVUPALMData[1025,41864 -static const SiS_LVDSDataStruct SiS310_CHTVOPALMData[1036,42101 -static const SiS_LVDSDataStruct SiS310_CHTVUPALNData[1047,42338 -static const SiS_LVDSDataStruct SiS310_CHTVOPALNData[1058,42568 -static const SiS_LVDSDataStruct SiS310_CHTVSOPALData[1069,42805 -static const SiS_LVDSDesStruct SiS310_PanelType00_1[1081,43088 -static const SiS_LVDSDesStruct SiS310_PanelType01_1[1094,43254 -static const SiS_LVDSDesStruct SiS310_PanelType02_1[1107,43423 -static const SiS_LVDSDesStruct SiS310_PanelType03_1[1122,43605 -static const SiS_LVDSDesStruct SiS310_PanelType04_1[1135,43756 -static const SiS_LVDSDesStruct SiS310_PanelType05_1[1148,43937 -static const SiS_LVDSDesStruct SiS310_PanelType06_1[1161,44118 -static const SiS_LVDSDesStruct SiS310_PanelType07_1[1174,44299 -static const SiS_LVDSDesStruct SiS310_PanelType08_1[1187,44480 -static const SiS_LVDSDesStruct SiS310_PanelType09_1[1202,44669 -static const SiS_LVDSDesStruct SiS310_PanelType0a_1[1217,44857 -static const SiS_LVDSDesStruct SiS310_PanelType0b_1[1232,45045 -static const SiS_LVDSDesStruct SiS310_PanelType0c_1[1244,45219 -static const SiS_LVDSDesStruct SiS310_PanelType0d_1[1256,45393 -static const SiS_LVDSDesStruct SiS310_PanelType0e_1[1269,45574 -static const SiS_LVDSDesStruct SiS310_PanelType0f_1[1282,45755 -static const SiS_LVDSDesStruct SiS310_PanelType00_2[1295,45936 -static const SiS_LVDSDesStruct SiS310_PanelType01_2[1308,46110 -static const SiS_LVDSDesStruct SiS310_PanelType02_2[1321,46291 -static const SiS_LVDSDesStruct SiS310_PanelType03_2[1336,46500 -static const SiS_LVDSDesStruct SiS310_PanelType04_2[1347,46645 -static const SiS_LVDSDesStruct SiS310_PanelType05_2[1360,46814 -static const SiS_LVDSDesStruct SiS310_PanelType06_2[1373,46995 -static const SiS_LVDSDesStruct SiS310_PanelType07_2[1386,47176 -static const SiS_LVDSDesStruct SiS310_PanelType08_2[1399,47357 -static const SiS_LVDSDesStruct SiS310_PanelType09_2[1414,47589 -static const SiS_LVDSDesStruct SiS310_PanelType0a_2[1427,47791 -static const SiS_LVDSDesStruct SiS310_PanelType0b_2[1453,48161 -static const SiS_LVDSDesStruct SiS310_PanelType0c_2[1466,48359 -static const SiS_LVDSDesStruct SiS310_PanelType0d_2[1479,48557 -static const SiS_LVDSDesStruct SiS310_PanelType0e_2[1492,48738 -static const SiS_LVDSDesStruct SiS310_PanelType0f_2[1505,48919 -static const SiS_LVDSDesStruct SiS310_PanelTypeNS_1[1518,49101 -static const SiS_LVDSDesStruct SiS310_PanelTypeNS_2[1532,49282 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT1800x600_1[1548,49495 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT1800x600_1_H[1570,50106 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT1800x600_2[1592,50719 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT1800x600_2_H[1614,51329 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11024x768_1[1636,51942 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11024x768_1_H[1661,52637 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11024x768_2[1686,53336 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11024x768_2_H[1711,54038 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11280x1024_1[1736,54742 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11280x1024_1_H[1764,55527 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11280x1024_2[1789,56225 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11280x1024_2_H[1817,57010 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11400x1050_1[1842,57708 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11400x1050_1_H[1902,59426 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11400x1050_2[1962,61117 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11400x1050_2_H[2022,62807 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11600x1200_1[2082,64499 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11600x1200_1_H[2148,66364 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11600x1200_2[2214,68231 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT11600x1200_2_H[2280,70096 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT1XXXxXXX_1[2346,71963 -static const SiS_LVDSCRT1DataStruct SiS310_LVDSCRT1XXXxXXX_1_H[2377,72835 -static const SiS_LVDSCRT1DataStruct SiS310_CHTVCRT1UNTSC[2405,73577 -static const SiS_LVDSCRT1DataStruct SiS310_CHTVCRT1ONTSC[2430,74274 -static const SiS_LVDSCRT1DataStruct SiS310_CHTVCRT1UPAL[2455,74971 -static const SiS_LVDSCRT1DataStruct SiS310_CHTVCRT1OPAL[2480,75667 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_UNTSC[2506,76364 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_ONTSC[2526,77637 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_UPAL[2537,78304 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_OPAL[2548,78970 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_UPALM[2559,79636 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_OPALM[2575,80607 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_UPALN[2591,81578 -static const SiS_CHTVRegDataStruct SiS310_CHTVReg_OPALN[2607,82554 -static const UCHAR SiS310_CHTVVCLKUNTSC[2623,83530 -static const UCHAR SiS310_CHTVVCLKONTSC[2624,83612 -static const UCHAR SiS310_CHTVVCLKUPAL[2626,83695 -static const UCHAR SiS310_CHTVVCLKOPAL[2627,83777 -static const UCHAR SiS310_CHTVVCLKUPALM[2629,83860 -static const UCHAR SiS310_CHTVVCLKOPALM[2630,83942 -static const UCHAR SiS310_CHTVVCLKUPALN[2632,84025 -static const UCHAR SiS310_CHTVVCLKOPALN[2633,84107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/vstruct.h,3127 -#define EXTERN54,2573 -#define EXTERN 56,2594 -#define _VSTRUCT_60,2655 -typedef struct _SiS_PanelDelayTblStruct_SiS_PanelDelayTblStruct62,2674 -} SiS_PanelDelayTblStruct;SiS_PanelDelayTblStruct65,2734 -typedef struct _SiS_LCDDataStruct_SiS_LCDDataStruct67,2762 -} SiS_LCDDataStruct;SiS_LCDDataStruct75,2895 -typedef struct _SiS_TVDataStruct_SiS_TVDataStruct77,2917 -} SiS_TVDataStruct;SiS_TVDataStruct92,3170 -typedef struct _SiS_LVDSDataStruct_SiS_LVDSDataStruct94,3191 -} SiS_LVDSDataStruct;SiS_LVDSDataStruct100,3288 -typedef struct _SiS_LVDSDesStruct_SiS_LVDSDesStruct102,3311 -} SiS_LVDSDesStruct;SiS_LVDSDesStruct106,3381 -typedef struct _SiS_LVDSCRT1DataStruct_SiS_LVDSCRT1DataStruct108,3403 -} SiS_LVDSCRT1DataStruct;SiS_LVDSCRT1DataStruct111,3460 -typedef struct _SiS_LCDACRT1DataStruct_SiS_LCDACRT1DataStruct113,3487 -} SiS_LCDACRT1DataStruct;SiS_LCDACRT1DataStruct116,3544 -typedef struct _SiS_CHTVRegDataStruct_SiS_CHTVRegDataStruct118,3571 -} SiS_CHTVRegDataStruct;SiS_CHTVRegDataStruct121,3628 -typedef struct _SiS_StStruct_SiS_StStruct123,3654 -} SiS_StStruct;SiS_StStruct134,3891 -typedef struct _SiS_VBModeStruct_SiS_VBModeStruct136,3908 -} SiS_VBModeStruct;SiS_VBModeStruct146,4135 -typedef struct _SiS_StandTableStruct_SiS_StandTableStruct148,4156 -} SiS_StandTableStruct;SiS_StandTableStruct159,4350 -typedef struct _SiS_ExtStruct_SiS_ExtStruct161,4375 -} SiS_ExtStruct;SiS_ExtStruct173,4654 -typedef struct _SiS_Ext2Struct_SiS_Ext2Struct175,4672 -} SiS_Ext2Struct;SiS_Ext2Struct186,4878 -typedef struct _SiS_Part2PortTblStruct_SiS_Part2PortTblStruct188,4897 -} SiS_Part2PortTblStruct;SiS_Part2PortTblStruct191,4955 -typedef struct _SiS_CRT1TableStruct_SiS_CRT1TableStruct193,4982 -} SiS_CRT1TableStruct;SiS_CRT1TableStruct196,5036 -typedef struct _SiS_MCLKDataStruct_SiS_MCLKDataStruct198,5060 -} SiS_MCLKDataStruct;SiS_MCLKDataStruct202,5136 -typedef struct _SiS_VCLKDataStruct_SiS_VCLKDataStruct204,5159 -} SiS_VCLKDataStruct;SiS_VCLKDataStruct208,5230 -typedef struct _SiS_VBVCLKDataStruct_SiS_VBVCLKDataStruct210,5253 -} SiS_VBVCLKDataStruct;SiS_VBVCLKDataStruct214,5332 -typedef struct _SiS_StResInfoStruct_SiS_StResInfoStruct216,5357 -} SiS_StResInfoStruct;SiS_StResInfoStruct220,5427 -typedef struct _SiS_ModeResInfoStruct_SiS_ModeResInfoStruct222,5451 -} SiS_ModeResInfoStruct;SiS_ModeResInfoStruct228,5553 -typedef UCHAR DRAM4Type[DRAM4Type232,5581 -#define CUT_NONE 236,5689 -#define CUT_FORCENONE 237,5717 -#define CUT_BARCO1366 238,5745 -#define CUT_BARCO1024 239,5773 -#define CUT_COMPAQ1280 240,5801 -#define CUT_COMPAQ12802 241,5829 -#define CUT_PANEL848 242,5857 -#define CUT_CLEVO1024 243,5885 -#define CUT_CLEVO10242 244,5913 -#define CUT_CLEVO1400 245,5941 -#define CUT_CLEVO14002 246,5969 -#define CUT_UNIWILL1024 247,5998 -#define CUT_ASUSL3000D 248,6027 -#define CUT_UNIWILL10242 249,6056 -#define CUT_ACER1280 250,6085 -#define CUT_COMPAL1400_1 251,6114 -#define CUT_COMPAL1400_2 252,6143 -#define CUT_ASUSA2H_1 253,6172 -#define CUT_ASUSA2H_2 254,6201 -typedef struct _SiS_Private_SiS_Private256,6231 -} SiS_Private;SiS_Private676,20940 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/300vtbl.h,7045 -static const SiS_StStruct SiS300_SModeIDTable[53,2529 -static const SiS_ExtStruct SiS300_EModeIDTable[77,3565 -static const SiS_Ext2Struct SiS300_RefIndex[169,10661 -static const SiS_VBModeStruct SiS300_VBModeIDTable[238,14855 -static const SiS_CRT1TableStruct SiS300_CRT1Table[305,17687 -static const SiS_MCLKDataStruct SiS300_MCLKData_630[570,27080 -static const SiS_MCLKDataStruct SiS300_MCLKData_300[582,27334 -static SiS_VCLKDataStruct SiS300_VCLKData[594,27588 -static UCHAR SiS300_SR07 673,30807 -static const DRAM4Type SiS300_SR15[676,30848 -static UCHAR SiS300_SR1F 689,31104 -static UCHAR SiS300_SR21 690,31137 -static UCHAR SiS300_SR22 691,31170 -static UCHAR SiS300_SR23 692,31203 -static UCHAR SiS300_SR24 693,31236 -static UCHAR SiS300_SR25[694,31269 -static UCHAR SiS300_SR31 695,31309 -static UCHAR SiS300_SR32 696,31342 -static UCHAR SiS300_SR33 697,31375 -static UCHAR SiS300_CRT2Data_1_2 698,31408 -static UCHAR SiS300_CRT2Data_4_D 699,31449 -static UCHAR SiS300_CRT2Data_4_E 700,31490 -static UCHAR SiS300_CRT2Data_4_10 701,31531 -static const USHORT SiS300_RGBSenseData 703,31574 -static const USHORT SiS300_VideoSenseData 704,31622 -static const USHORT SiS300_YCSenseData 705,31672 -static const USHORT SiS300_RGBSenseData2 706,31719 -static const USHORT SiS300_VideoSenseData2 707,31770 -static const USHORT SiS300_YCSenseData2 708,31823 -static const DRAM4Type SiS300_CR40[710,31874 -static UCHAR SiS300_CR49[712,31914 -static const SiS_PanelDelayTblStruct SiS300_PanelDelayTbl[715,31951 -static const SiS_PanelDelayTblStruct SiS300_PanelDelayTblLVDS[736,32281 -static const SiS_LCDDataStruct SiS300_St2LCD1024x768Data[761,32914 -static const SiS_LCDDataStruct SiS300_ExtLCD1024x768Data[772,33226 -static const SiS_LCDDataStruct SiS300_St2LCD1280x1024Data[789,33748 -static const SiS_LCDDataStruct SiS300_ExtLCD1280x1024Data[801,34096 -static const SiS_Part2PortTblStruct SiS300_CRT2Part2_1024x768_1[813,34444 -static const SiS_Part2PortTblStruct SiS300_CRT2Part2_1024x768_2[824,35004 -static const SiS_Part2PortTblStruct SiS300_CRT2Part2_1024x768_3[835,35555 -static const SiS_Part2PortTblStruct SiS300_CRT2Part2_1280x1024_1[840,35694 -static const SiS_Part2PortTblStruct SiS300_CRT2Part2_1280x1024_2[845,35835 -static const SiS_Part2PortTblStruct SiS300_CRT2Part2_1280x1024_3[850,35975 -static const SiS_LVDSDataStruct SiS300_CHTVUPALData[859,36312 -static const SiS_LVDSDataStruct SiS300_CHTVOPALData[869,36518 -static const SiS_LVDSDataStruct SiS300_CHTVSOPALData[879,36724 -static const SiS_LVDSDesStruct SiS300_PanelType00_1[890,36932 -static const SiS_LVDSDesStruct SiS300_PanelType01_1[914,37262 -static const SiS_LVDSDesStruct SiS300_PanelType02_1[938,37609 -static const SiS_LVDSDesStruct SiS300_PanelType03_1[962,37938 -static const SiS_LVDSDesStruct SiS300_PanelType04_1[975,38126 -static const SiS_LVDSDesStruct SiS300_PanelType05_1[988,38330 -static const SiS_LVDSDesStruct SiS300_PanelType06_1[1001,38518 -static const SiS_LVDSDesStruct SiS300_PanelType07_1[1014,38736 -static const SiS_LVDSDesStruct SiS300_PanelType08_1[1027,38924 -static const SiS_LVDSDesStruct SiS300_PanelType09_1[1040,39112 -static const SiS_LVDSDesStruct SiS300_PanelType0a_1[1053,39300 -static const SiS_LVDSDesStruct SiS300_PanelType0b_1[1066,39488 -static const SiS_LVDSDesStruct SiS300_PanelType0c_1[1079,39676 -static const SiS_LVDSDesStruct SiS300_PanelType0d_1[1092,39864 -static const SiS_LVDSDesStruct SiS300_PanelType0e_1[1105,40052 -static const SiS_LVDSDesStruct SiS300_PanelType0f_1[1118,40347 -static const SiS_LVDSDesStruct SiS300_PanelType00_2[1131,40535 -static const SiS_LVDSDesStruct SiS300_PanelType01_2[1144,40714 -static const SiS_LVDSDesStruct SiS300_PanelType02_2[1157,40902 -static const SiS_LVDSDesStruct SiS300_PanelType03_2[1170,41081 -static const SiS_LVDSDesStruct SiS300_PanelType04_2[1183,41269 -static const SiS_LVDSDesStruct SiS300_PanelType05_2[1196,41457 -static const SiS_LVDSDesStruct SiS300_PanelType06_2[1209,41645 -static const SiS_LVDSDesStruct SiS300_PanelType07_2[1222,41833 -static const SiS_LVDSDesStruct SiS300_PanelType08_2[1235,42027 -static const SiS_LVDSDesStruct SiS300_PanelType09_2[1248,42215 -static const SiS_LVDSDesStruct SiS300_PanelType0a_2[1261,42412 -static const SiS_LVDSDesStruct SiS300_PanelType0b_2[1274,42600 -static const SiS_LVDSDesStruct SiS300_PanelType0c_2[1287,42806 -static const SiS_LVDSDesStruct SiS300_PanelType0d_2[1300,43003 -static const SiS_LVDSDesStruct SiS300_PanelType0e_2[1313,43200 -static const SiS_LVDSDesStruct SiS300_PanelType0f_2[1326,43397 -static const SiS_LVDSDesStruct SiS300_PanelTypeNS_1[1339,43594 -static const SiS_LVDSDesStruct SiS300_PanelTypeNS_2[1353,43775 -static const SiS_LVDSDesStruct SiS300_PanelType04_1a[1368,44006 -static const SiS_LVDSDesStruct SiS300_PanelType04_2a[1381,44369 -static const SiS_LVDSDesStruct SiS300_PanelType04_1b[1395,44617 -static const SiS_LVDSDesStruct SiS300_PanelType04_2b[1406,44887 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT1800x600_1[1419,45081 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT1800x600_1_H[1441,45692 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11024x768_1[1463,46305 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11024x768_1_H[1488,47000 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11280x1024_1[1537,48337 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11280x1024_1_H[1562,49040 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT1800x600_2[1587,49745 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT1800x600_2_H[1609,50356 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11024x768_2[1631,50969 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11024x768_2_H[1656,51671 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11280x1024_2[1681,52375 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT11280x1024_2_H[1706,53078 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT1XXXxXXX_1[1731,53782 -static const SiS_LVDSCRT1DataStruct SiS300_LVDSCRT1XXXxXXX_1_H[1762,54654 -static const SiS_LVDSCRT1DataStruct SiS300_CHTVCRT1UNTSC[1788,55351 -static const SiS_LVDSCRT1DataStruct SiS300_CHTVCRT1ONTSC[1810,55958 -static const SiS_LVDSCRT1DataStruct SiS300_CHTVCRT1UPAL[1832,56565 -static const SiS_LVDSCRT1DataStruct SiS300_CHTVCRT1OPAL[1854,57171 -static const SiS_LVDSCRT1DataStruct SiS300_CHTVCRT1SOPAL[1876,57777 -static const SiS_CHTVRegDataStruct SiS300_CHTVReg_UNTSC[1898,58408 -static const SiS_CHTVRegDataStruct SiS300_CHTVReg_ONTSC[1908,58858 -static const SiS_CHTVRegDataStruct SiS300_CHTVReg_UPAL[1918,59306 -static const SiS_CHTVRegDataStruct SiS300_CHTVReg_OPAL[1929,59752 -static const SiS_CHTVRegDataStruct SiS300_CHTVReg_SOPAL[1940,60228 -static const UCHAR SiS300_CHTVVCLKUNTSC[1950,60712 -static const UCHAR SiS300_CHTVVCLKONTSC[1952,60791 -static const UCHAR SiS300_CHTVVCLKSONTSC[1954,60870 -static const UCHAR SiS300_CHTVVCLKUPAL[1956,60949 -static const UCHAR SiS300_CHTVVCLKOPAL[1958,61028 -static const UCHAR SiS300_CHTVVCLKSOPAL[1960,61107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/sis_main.c,3966 -sisfb_setdefaultparms(98,2855 -sisfb_search_vesamode(147,3951 -sisfb_search_mode(187,5071 -sisfb_get_vga_mode_from_kernel(263,7385 -sisfb_search_crt2type(291,8141 -sisfb_search_tvstd(318,8828 -sisfb_search_specialtiming(336,9200 -sisfb_interpret_edid(376,10404 -sisfb_handle_ddc(477,13943 -sisfb_verify_rate(529,15730 -sisfb_validate_mode(576,16915 -sisfb_search_refresh_rate(647,18795 -sisfb_bridgeisslave(694,20264 -sisfballowretracecrt1(710,20669 -sisfbcheckvretracecrt1(724,20908 -sisfbwaitretracecrt1(733,21108 -sisfbcheckvretracecrt2(746,21400 -sisfb_CheckVBRetrace(762,21754 -sisfb_setupvbblankflags(775,22084 -sisfb_myblank(821,23717 -sisfb_get_cmap_len(945,26801 -sisfb_set_vparms(951,26921 -sisfb_calc_maxyres(978,27526 -sisfb_calc_pitch(988,27766 -sisfb_set_pitch(1001,28134 -sisfb_bpp_to_var(1024,28971 -sisfb_do_set_var(1057,29727 -sisfb_pan_var(1195,33995 -sisfb_crtc_to_var(1246,35409 -sis_getcolreg(1442,40149 -sisfb_setcolreg(1458,40560 -sisfb_set_disp(1504,41740 -sisfb_do_install_cmap(1562,43290 -sisfb_get_var(1577,43709 -sisfb_set_var(1595,44114 -sisfb_get_cmap(1631,44935 -sisfb_set_cmap(1657,45502 -sisfb_pan_display(1681,46093 -sisfb_update_var(1704,46708 -sisfb_switch(1712,46903 -sisfb_blank(1747,47771 -sisfb_open(1760,48059 -sisfb_release(1766,48133 -sisfb_setcolreg(1772,48210 -sisfb_set_par(1808,49169 -sisfb_check_var(1822,49371 -sisfb_pan_display(2007,55303 -sisfb_blank(2035,55956 -sisfb_ioctl(2047,56202 -sisfb_get_fix(2196,60525 -static struct fb_ops sisfb_ops 2229,61589 -static struct fb_ops sisfb_ops 2242,61931 -static struct pci_dev * sisfb_get_northbridge(2262,62550 -static int __devinit sisfb_get_dram_size(2298,63652 -static void __devinit sisfb_detect_VB_connect(2372,65428 -static void __devinit sisfb_get_VB_type(2488,69180 -static BOOLEAN __devinit sisfb_test_DDC1(2613,72692 -static void __devinit sisfb_sense_crt1(2625,72989 -static int __devinit SISDoSense(2705,75080 -static void __devinit SiS_Sense30x(2734,75911 -static void __devinit SiS_SenseCh(2860,79756 -sisfb_getheapstart(2987,84011 -sisfb_heap_init(3028,85023 -sisfb_poh_new_node(3128,87926 -sisfb_poh_allocate(3161,88589 -sisfb_delete_node(3215,89564 -sisfb_insert_node(3228,89770 -sisfb_poh_free(3242,89994 -sisfb_free_node(3311,91369 -sis_malloc(3320,91508 -sis_free(3343,92084 -sisfb_pre_setmode(3361,92447 -sisfb_fixup_SR11(3515,97428 -static void sisfb_set_TVxposoffset(3534,97843 -static void sisfb_set_TVyposoffset(3591,99254 -sisfb_post_setmode(3639,100267 -int __init sisfb_setup(3840,105742 -static void __iomem * __devinit sis_find_rom(3955,109876 -sisfb_chkbuswidth300(4040,112309 -sisfb_setramsize300(4080,113401 -static void __devinit sisfb_post_sis300(4170,117865 -static void __devinit sisfb_post_sis315330(4338,123637 -int __devinit sisfb_probe(4736,134918 -static void __devexit sisfb_remove(5644,165304 -static struct pci_driver sisfb_driver 5713,167591 -int __init sisfb_init(5720,167750 -static char *mode 5746,168288 -static int vesa 5747,168322 -static unsigned int rate 5748,168353 -static unsigned int crt1off 5749,168383 -static unsigned int mem 5750,168416 -static char *forcecrt2type 5751,168445 -static int forcecrt1 5752,168488 -static int pdc 5753,168524 -static int pdc1 5754,168554 -static int noaccel 5755,168585 -static int noypan 5756,168619 -static int nomax 5757,168653 -static int inverse 5759,168727 -static int userom 5761,168767 -static int useoem 5762,168800 -static char *tvstandard 5763,168833 -static int nocrt2rate 5764,168873 -static int scalelcd 5765,168904 -static char *specialtiming 5766,168939 -static int lvdshl 5767,168978 -static int tvxposoffset 5768,169006 -static int filter 5769,169057 -static int resetcard 5771,169132 -static int videoram 5772,169162 -int __init sisfb_init_module(5976,177838 -static void __exit sisfb_remove_module(6046,179456 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/osdef.h,710 -#define LINUX_KERNEL 55,2594 -#define SIS30090,3247 -#define SIS315H94,3295 -#define OutPortByte(OutPortByte102,3463 -#define OutPortWord(OutPortWord103,3520 -#define OutPortLong(OutPortLong104,3578 -#define InPortByte(InPortByte105,3636 -#define InPortWord(InPortWord106,3684 -#define InPortLong(InPortLong107,3732 -#define SiS_SetMemory(SiS_SetMemory108,3780 -#define SIS300116,4124 -#define SIS315H117,4139 -#define OutPortByte(OutPortByte119,4156 -#define OutPortWord(OutPortWord120,4213 -#define OutPortLong(OutPortLong121,4271 -#define InPortByte(InPortByte122,4329 -#define InPortWord(InPortWord123,4374 -#define InPortLong(InPortLong124,4419 -#define SiS_SetMemory(SiS_SetMemory125,4464 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/oem310.h,1344 -static const UCHAR SiS310_LCDDelayCompensation_301[53,2520 -static const UCHAR SiS310_LCDDelayCompensation_650301LV[73,3261 -static const UCHAR SiS310_LCDDelayCompensation_651301LV[92,3917 -static const UCHAR SiS310_LCDDelayCompensation_651302LV[111,4618 -static const UCHAR SiS310_LCDDelayCompensation_3xx301B[130,5287 -static const UCHAR SiS310_LCDDelayCompensation_3xx301LV[149,5944 -static const UCHAR SiS310_TVDelayCompensation_301[168,6645 -static const UCHAR SiS310_TVDelayCompensation_301B[175,6837 -static const UCHAR SiS310_TVDelayCompensation_740301B[182,6958 -static const UCHAR SiS310_TVDelayCompensation_651301LV[189,7089 -static const UCHAR SiS310_TVDelayCompensation_651302LV[196,7218 -static const UCHAR SiS_TVDelay661_301[203,7347 -static const UCHAR SiS_TVDelay661_301B[213,7495 -static const UCHAR SiS310_TVDelayCompensation_LVDS[223,7651 -static const UCHAR SiS310_TVAntiFlick1[230,7765 -static const UCHAR SiS310_TVEdge1[240,7920 -static const UCHAR SiS310_TVYFilter1[250,8070 -static const UCHAR SiS310_TVYFilter2[304,9175 -static const UCHAR SiS310_TVPhaseIncr1[363,11078 -static const UCHAR SiS310_TVPhaseIncr2[379,11295 -static const UCHAR SiS661_TVPhase[395,11512 -static const SiS_LCDDataStruct SiS310_ExtCompaq1280x1024Data[420,12198 -static const SiS_Part2PortTblStruct SiS310_CRT2Part2_Asus1024x768_3[434,12571 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/initdef.h,14241 -#define _INITDEF_54,2554 -#define IS_SIS330 56,2573 -#define IS_SIS550 57,2623 -#define IS_SIS650 58,2673 -#define IS_SIS740 59,2759 -#define IS_SIS651 60,2809 -#define IS_SISM650 61,2882 -#define IS_SIS65x 62,2970 -#define IS_SIS661 63,3069 -#define IS_SIS741 64,3119 -#define IS_SIS660 65,3169 -#define IS_SIS760 66,3219 -#define IS_SIS661741660760 67,3269 -#define IS_SIS650740 68,3347 -#define IS_SIS550650740 69,3445 -#define IS_SIS650740660 70,3505 -#define IS_SIS550650740660 71,3584 -#define SISGETROMW(SISGETROMW73,3648 -#define VB_SIS301 76,3728 -#define VB_SIS301B 77,3760 -#define VB_SIS302B 78,3794 -#define VB_SIS301LV 79,3828 -#define VB_SIS302LV 80,3860 -#define VB_SIS302ELV 81,3892 -#define VB_SIS301C 82,3921 -#define VB_NoLCD 83,3960 -#define VB_SIS301BLV302BLV 84,3992 -#define VB_SIS301B302B 85,4096 -#define VB_SIS301LV302LV 86,4163 -#define VB_SISVB 87,4234 -#define VB_SISTMDS 88,4285 -#define VB_SISLVDS 89,4334 -#define SetSimuScanMode 92,4385 -#define SwitchCRT2 93,4438 -#define SetCRT2ToAVIDEO 94,4477 -#define SetCRT2ToSVIDEO 95,4516 -#define SetCRT2ToSCART 96,4555 -#define SetCRT2ToLCD 97,4594 -#define SetCRT2ToRAMDAC 98,4633 -#define SetCRT2ToHiVision 99,4672 -#define SetCRT2ToCHYPbPr 100,4736 -#define SetNTSCTV 101,4807 -#define SetPALTV 102,4860 -#define SetInSlaveMode 103,4940 -#define SetNotSimuMode 104,4979 -#define SetNotSimuTVMode 105,5018 -#define SetDispDevSwitch 106,5065 -#define SetCRT2ToYPbPr525750 107,5104 -#define LoadDACFlag 108,5143 -#define DisableCRT2Display 109,5182 -#define DriverMode 110,5221 -#define HotKeySwitch 111,5260 -#define SetCRT2ToLCDA 112,5299 -#define SetCRT2ToTV 115,5397 -#define SetCRT2ToTVNoYPbPrHiVision 116,5517 -#define SetCRT2ToTVNoHiVision 117,5605 -#define ModeText 120,5733 -#define ModeCGA 121,5770 -#define ModeEGA 122,5807 -#define ModeVGA 123,5844 -#define Mode15Bpp 124,5881 -#define Mode16Bpp 125,5918 -#define Mode24Bpp 126,5955 -#define Mode32Bpp 127,5992 -#define ModeInfoFlag 129,6030 -#define IsTextMode 130,6067 -#define DACInfoFlag 132,6105 -#define MemoryInfoFlag 133,6144 -#define MemorySizeShift 134,6183 -#define Charx8Dot 137,6233 -#define LineCompareOff 138,6272 -#define CRT2Mode 139,6311 -#define HalfDCLK 140,6350 -#define NoSupportSimuTV 141,6389 -#define NoSupportLCDScale 142,6428 -#define DoubleScanMode 143,6516 -#define SupportTV 146,6571 -#define SupportTV1024 147,6610 -#define SupportCHTV 148,6649 -#define Support64048060Hz 149,6678 -#define SupportHiVision 150,6748 -#define SupportYPbPr750p 151,6787 -#define SupportLCD 152,6826 -#define SupportRAMDAC2 153,6865 -#define SupportRAMDAC2_135 154,6936 -#define SupportRAMDAC2_162 155,7008 -#define SupportRAMDAC2_202 156,7080 -#define InterlaceMode 157,7152 -#define SyncPP 158,7191 -#define SyncPN 159,7230 -#define SyncNP 160,7269 -#define SyncNN 161,7308 -#define ProgrammingCRT2 164,7362 -#define LowModeTests 165,7401 -#define LCDVESATiming 168,7540 -#define EnableLVDSDDA 169,7579 -#define SetDispDevSwitchFlag 170,7618 -#define CheckWinDos 171,7657 -#define SetDOSMode 172,7696 -#define TVSetPAL 175,7754 -#define TVSetNTSCJ 176,7779 -#define TVSetPALM 177,7806 -#define TVSetPALN 178,7832 -#define TVSetCHOverScan 179,7858 -#define TVSetYPbPr525i 180,7890 -#define TVSetYPbPr525p 181,7936 -#define TVSetYPbPr750p 182,7982 -#define TVSetHiVision 183,8028 -#define TVSetTVSimuMode 184,8107 -#define TVRPLLDIV2XO 185,8168 -#define TVSetNTSC1024 186,8215 -#define TVAspect43 187,8275 -#define TVAspect169 188,8302 -#define TVAspect43LB 189,8330 -#define YPbPr525p 192,8412 -#define YPbPr750p 193,8451 -#define YPbPr525i 194,8490 -#define YPbPrHiVision 195,8529 -#define YPbPrModeMask 196,8568 -#define SF_Is651 199,8699 -#define SF_IsM650 200,8738 -#define SF_Is652 201,8777 -#define SF_IsM652 202,8802 -#define SF_IsM653 203,8828 -#define SF_IsM661 204,8854 -#define SF_IsM741 205,8880 -#define SF_IsM760 206,8906 -#define SF_760LFB 207,8932 -#define TVOverScan 223,9398 -#define TVOverScanShift 224,9435 -#define LCDRGB18Bit 276,10763 -#define LCDNonExpanding 277,10800 -#define LCDSync 278,10837 -#define LCDPass11 279,10874 -#define LCDDualLink 280,10954 -#define DontExpandLCD 282,10988 -#define LCDNonExpandingShift 283,11032 -#define DontExpandLCDShift 284,11069 -#define LCDSyncBit 285,11120 -#define LCDSyncShift 286,11157 -#define EnableDualEdge 289,11219 -#define SetToLCDA 290,11249 -#define EnableCHScart 291,11334 -#define EnableCHYPbPr 292,11424 -#define EnableSiSYPbPr 293,11525 -#define EnableYPbPr525i 294,11606 -#define EnableYPbPr525p 295,11704 -#define EnableYPbPr750p 296,11802 -#define EnableYPbPr1080i 297,11900 -#define EnablePALM 298,11999 -#define EnablePALN 299,12057 -#define EnableNTSCJ 300,12115 -#define EnablePALMN 312,12370 -#define LCDPass1_1 315,12467 -#define Enable302LV_DualLink 316,12543 -#define Panel300_800x600 350,13447 -#define Panel300_1024x768 351,13495 -#define Panel300_1280x1024 352,13532 -#define Panel300_1280x960 353,13569 -#define Panel300_640x480 354,13606 -#define Panel300_1024x600 355,13643 -#define Panel300_1152x768 356,13680 -#define Panel300_1280x768 357,13717 -#define Panel300_320x480 358,13754 -#define Panel300_Custom 359,13830 -#define Panel300_Barco1366 360,13860 -#define Panel310_800x600 362,13898 -#define Panel310_1024x768 363,13935 -#define Panel310_1280x1024 364,13972 -#define Panel310_640x480 365,14009 -#define Panel310_1024x600 366,14046 -#define Panel310_1152x864 367,14083 -#define Panel310_1280x960 368,14120 -#define Panel310_1152x768 369,14157 -#define Panel310_1400x1050 370,14210 -#define Panel310_1280x768 371,14247 -#define Panel310_1600x1200 372,14284 -#define Panel310_640x480_2 373,14321 -#define Panel310_640x480_3 374,14358 -#define Panel310_320x480 375,14395 -#define Panel310_Custom 376,14477 -#define Panel661_800x600 378,14508 -#define Panel661_1024x768 379,14545 -#define Panel661_1280x1024 380,14582 -#define Panel661_640x480 381,14619 -#define Panel661_1024x600 382,14656 -#define Panel661_1152x864 383,14693 -#define Panel661_1280x960 384,14730 -#define Panel661_1152x768 385,14767 -#define Panel661_1400x1050 386,14804 -#define Panel661_1280x768 387,14841 -#define Panel661_1600x1200 388,14878 -#define Panel661_1280x800 389,14915 -#define Panel661_1680x1050 390,14952 -#define Panel661_1280x720 391,14989 -#define Panel661_Custom 392,15026 -#define Panel_800x600 394,15057 -#define Panel_1024x768 395,15115 -#define Panel_1280x1024 396,15193 -#define Panel_640x480 397,15230 -#define Panel_1024x600 398,15267 -#define Panel_1152x864 399,15304 -#define Panel_1280x960 400,15341 -#define Panel_1152x768 401,15378 -#define Panel_1400x1050 402,15431 -#define Panel_1280x768 403,15468 -#define Panel_1600x1200 404,15547 -#define Panel_1280x800 405,15584 -#define Panel_1680x1050 406,15630 -#define Panel_1280x720 407,15684 -#define Panel_Custom 408,15730 -#define Panel_320x480 409,15799 -#define Panel_Barco1366 410,15889 -#define Panel_848x480 411,15926 -#define Panel_640x480_2 412,15954 -#define Panel_640x480_3 413,16001 -#define Panel_1280x768_2 414,16048 -#define Panel_1280x768_3 415,16097 -#define SIS_RI_320x200 418,16183 -#define SIS_RI_320x240 419,16211 -#define SIS_RI_320x400 420,16239 -#define SIS_RI_400x300 421,16267 -#define SIS_RI_512x384 422,16295 -#define SIS_RI_640x400 423,16323 -#define SIS_RI_640x480 424,16351 -#define SIS_RI_800x600 425,16379 -#define SIS_RI_1024x768 426,16407 -#define SIS_RI_1280x1024 427,16435 -#define SIS_RI_1600x1200 428,16463 -#define SIS_RI_1920x1440 429,16491 -#define SIS_RI_2048x1536 430,16519 -#define SIS_RI_720x480 431,16547 -#define SIS_RI_720x576 432,16575 -#define SIS_RI_1280x960 433,16603 -#define SIS_RI_800x480 434,16631 -#define SIS_RI_1024x576 435,16659 -#define SIS_RI_1280x720 436,16687 -#define SIS_RI_856x480 437,16715 -#define SIS_RI_1280x768 438,16743 -#define SIS_RI_1400x1050 439,16771 -#define SIS_RI_1152x864 440,16799 -#define SIS_RI_848x480 441,16860 -#define SIS_RI_1360x768 442,16888 -#define SIS_RI_1024x600 443,16916 -#define SIS_RI_1152x768 444,16944 -#define SIS_RI_768x576 445,16972 -#define SIS_RI_1360x1024 446,17000 -#define SIS_RI_1680x1050 447,17028 -#define SIS_RI_1280x800 448,17056 -#define SIS_RI_1920x1080 449,17084 -#define SIS_RI_960x540 450,17112 -#define IsM650 453,17152 -#define NTSCHT 456,17208 -#define NTSC2HT 457,17245 -#define NTSCVT 458,17282 -#define PALHT 459,17318 -#define PALVT 460,17355 -#define StHiTVHT 461,17391 -#define StHiTVVT 462,17427 -#define StHiTextTVHT 463,17464 -#define StHiTextTVVT 464,17501 -#define ExtHiTVHT 465,17538 -#define ExtHiTVVT 466,17575 -#define VCLK28 470,17651 -#define VCLK40 471,17734 -#define VCLK65_300 472,17817 -#define VCLK108_2_300 473,17892 -#define VCLK81_300 474,17967 -#define VCLK108_3_300 475,18030 -#define VCLK100_300 476,18105 -#define VCLK34_300 477,18180 -#define VCLK_CUSTOM_300 478,18255 -#define VCLK65_315 479,18285 -#define VCLK108_2_315 480,18364 -#define VCLK81_315 481,18443 -#define VCLK162_315 482,18510 -#define VCLK108_3_315 483,18589 -#define VCLK100_315 484,18666 -#define VCLK34_315 485,18743 -#define VCLK68_315 486,18780 -#define VCLK69_315 487,18805 -#define VCLK83_315 488,18883 -#define VCLK121_315 489,18948 -#define VCLK_1280x720 490,19014 -#define VCLK_1280x768_2 491,19042 -#define VCLK_1280x768_3 492,19072 -#define VCLK_CUSTOM_315 493,19102 -#define VCLK_1280x720_2 494,19132 -#define VCLK_720x480 495,19162 -#define VCLK_720x576 496,19189 -#define VCLK_768x576 497,19216 -#define VCLK_848x480 498,19243 -#define VCLK_856x480 499,19270 -#define VCLK_800x480 500,19297 -#define VCLK_1024x576 501,19324 -#define VCLK_1152x864 502,19352 -#define VCLK_1360x768 503,19380 -#define TVCLKBASE_300 505,19409 -#define TVCLKBASE_315 506,19490 -#define TVVCLKDIV2 507,19582 -#define TVVCLK 508,19655 -#define HiTVVCLKDIV2 509,19728 -#define HiTVVCLK 510,19801 -#define HiTVSimuVCLK 511,19874 -#define HiTVTextVCLK 512,19947 -#define YPbPr750pVCLK 513,20020 -#define SetSCARTOutput 517,20146 -#define HotPlugFunction 519,20184 -#define StStructSize 521,20222 -#define SIS_VIDEO_CAPTURE 523,20260 -#define SIS_VIDEO_PLAYBACK 524,20304 -#define SIS_CRT2_PORT_04 525,20348 -#define SIS_CRT2_PORT_10 526,20392 -#define SIS_CRT2_PORT_12 527,20436 -#define SIS_CRT2_PORT_14 528,20480 -#define ADR_CRT2PtrData 530,20525 -#define offset_Zurac 531,20563 -#define ADR_LVDSDesPtrData 532,20641 -#define ADR_LVDSCRT1DataPtr 533,20679 -#define ADR_CHTVVCLKPtr 534,20717 -#define ADR_CHTVRegDataPtr 535,20755 -#define LCDDataLen 537,20794 -#define HiTVDataLen 538,20828 -#define TVDataLen 539,20863 -#define LVDSDataLen 541,20899 -#define LVDSDesDataLen 542,20933 -#define ActiveNonExpanding 543,20967 -#define ActiveNonExpandingShift 544,21004 -#define ActivePAL 545,21038 -#define ActivePALShift 546,21075 -#define ModeSwitchStatus 547,21109 -#define SoftTVType 548,21146 -#define SoftSettingAddr 549,21183 -#define ModeSettingAddr 550,21220 -#define _PanelType00 552,21258 -#define _PanelType01 553,21296 -#define _PanelType02 554,21334 -#define _PanelType03 555,21372 -#define _PanelType04 556,21410 -#define _PanelType05 557,21448 -#define _PanelType06 558,21486 -#define _PanelType07 559,21524 -#define _PanelType08 560,21562 -#define _PanelType09 561,21600 -#define _PanelType0A 562,21638 -#define _PanelType0B 563,21676 -#define _PanelType0C 564,21714 -#define _PanelType0D 565,21752 -#define _PanelType0E 566,21790 -#define _PanelType0F 567,21828 -#define PRIMARY_VGA 569,21867 -#define BIOSIDCodeAddr 571,21952 -#define OEMUtilIDCodeAddr 572,22027 -#define VBModeIDTableAddr 573,22065 -#define OEMTVPtrAddr 574,22103 -#define PhaseTableAddr 575,22141 -#define NTSCFilterTableAddr 576,22179 -#define PALFilterTableAddr 577,22217 -#define OEMLCDPtr_1Addr 578,22255 -#define OEMLCDPtr_2Addr 579,22293 -#define LCDHPosTable_1Addr 580,22331 -#define LCDHPosTable_2Addr 581,22369 -#define LCDVPosTable_1Addr 582,22407 -#define LCDVPosTable_2Addr 583,22445 -#define OEMLCDPIDTableAddr 584,22483 -#define VBModeStructSize 586,22522 -#define PhaseTableSize 587,22556 -#define FilterTableSize 588,22590 -#define LCDHPosTableSize 589,22624 -#define LCDVPosTableSize 590,22658 -#define OEMLVDSPIDTableSize 591,22692 -#define LVDSHPosTableSize 592,22726 -#define LVDSVPosTableSize 593,22760 -#define VB_ModeID 595,22795 -#define VB_TVTableIndex 596,22829 -#define VB_LCDTableIndex 597,22863 -#define VB_LCDHIndex 598,22897 -#define VB_LCDVIndex 599,22931 -#define OEMLCDEnable 601,22966 -#define OEMLCDDelayEnable 602,23005 -#define OEMLCDPOSEnable 603,23044 -#define OEMTVEnable 604,23083 -#define OEMTVDelayEnable 605,23122 -#define OEMTVFlickerEnable 606,23161 -#define OEMTVPhaseEnable 607,23200 -#define OEMTVFilterEnable 608,23239 -#define OEMLCDPanelIDSupport 610,23279 -#define SoftDRAMType 617,23493 -#define SoftSetting_OFFSET 618,23526 -#define SR07_OFFSET 619,23559 -#define SR15_OFFSET 620,23585 -#define SR16_OFFSET 621,23611 -#define SR17_OFFSET 622,23637 -#define SR19_OFFSET 623,23663 -#define SR1F_OFFSET 624,23689 -#define SR21_OFFSET 625,23715 -#define SR22_OFFSET 626,23741 -#define SR23_OFFSET 627,23767 -#define SR24_OFFSET 628,23793 -#define SR25_OFFSET 629,23819 -#define SR31_OFFSET 630,23845 -#define SR32_OFFSET 631,23871 -#define SR33_OFFSET 632,23897 -#define CR40_OFFSET 634,23924 -#define SR25_1_OFFSET 635,23950 -#define CR49_OFFSET 636,23978 -#define VB310Data_1_2_Offset 638,24005 -#define VB310Data_4_D_Offset 639,24040 -#define VB310Data_4_E_Offset 640,24075 -#define VB310Data_4_10_Offset 641,24110 -#define RGBSenseDataOffset 643,24146 -#define YCSenseDataOffset 644,24181 -#define VideoSenseDataOffset 645,24216 -#define OutputSelectOffset 646,24251 -#define ECLK_MCLK_DISTANCE 648,24287 -#define VBIOSTablePointerStart 649,24320 -#define StandTablePtrOffset 650,24360 -#define EModeIDTablePtrOffset 651,24422 -#define CRT1TablePtrOffset 652,24484 -#define ScreenOffsetPtrOffset 653,24546 -#define VCLKDataPtrOffset 654,24608 -#define MCLKDataPtrOffset 655,24670 -#define CRT2PtrDataPtrOffset 656,24732 -#define TVAntiFlickPtrOffset 657,24794 -#define TVDelayPtr1Offset 658,24856 -#define TVPhaseIncrPtr1Offset 659,24918 -#define TVYFilterPtr1Offset 660,24980 -#define LCDDelayPtr1Offset 661,25042 -#define TVEdgePtr1Offset 662,25104 -#define CRT2Delay1Offset 663,25166 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/sis_accel.c,880 -static const u8 sisALUConv[55,1677 -static const u8 sisPatALUConv[75,2889 -static const int myrops[96,4112 -SiS300Sync(104,4313 -SiS300SetupForScreenToScreenCopy(110,4384 -SiS300SetupForSolidFill(165,5653 -SiS300SubsequentSolidFillRect(175,5932 -SiS310Sync(195,6363 -SiS310SetupForScreenToScreenCopy(201,6434 -SiS310SetupForSolidFill(264,8334 -SiS310SubsequentSolidFillRect(274,8641 -int sisfb_initaccel(294,9053 -void sisfb_syncaccel(302,9198 -int fbcon_sis_sync(317,9527 -void fbcon_sis_fillrect(338,9898 -void fbcon_sis_copyarea(392,11284 -void fbcon_sis_bmove(454,12998 -static void fbcon_sis_clear(515,14468 -void fbcon_sis_clear8(545,15246 -void fbcon_sis_clear16(562,15663 -void fbcon_sis_clear32(579,16120 -void fbcon_sis_revc(596,16570 -struct display_switch fbcon_sis8 640,17558 -struct display_switch fbcon_sis16 652,17913 -struct display_switch fbcon_sis32 664,18273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/init.h,8508 -#define _INIT_54,2538 -const USHORT ModeIndex_320x200[88,3105 -const USHORT ModeIndex_320x240[89,3172 -const USHORT ModeIndex_320x240_FSTN[90,3239 -const USHORT ModeIndex_400x300[91,3318 -const USHORT ModeIndex_512x384[92,3385 -const USHORT ModeIndex_640x400[93,3452 -const USHORT ModeIndex_640x480[94,3519 -const USHORT ModeIndex_720x480[95,3586 -const USHORT ModeIndex_720x576[96,3653 -const USHORT ModeIndex_768x576[97,3720 -const USHORT ModeIndex_800x480[98,3787 -const USHORT ModeIndex_800x600[99,3854 -const USHORT ModeIndex_848x480[100,3921 -const USHORT ModeIndex_856x480[101,3988 -const USHORT ModeIndex_960x540[102,4055 -const USHORT ModeIndex_1024x768[103,4145 -const USHORT ModeIndex_1024x576[104,4212 -const USHORT ModeIndex_1024x600[105,4279 -const USHORT ModeIndex_1280x1024[106,4369 -const USHORT ModeIndex_1280x960[107,4436 -const USHORT ModeIndex_1152x768[108,4503 -const USHORT ModeIndex_1152x864[109,4593 -const USHORT ModeIndex_300_1280x768[110,4660 -const USHORT ModeIndex_310_1280x768[111,4727 -const USHORT ModeIndex_1280x720[112,4794 -const USHORT ModeIndex_1280x800[113,4861 -const USHORT ModeIndex_1360x768[114,4928 -const USHORT ModeIndex_300_1360x1024[115,4995 -const USHORT ModeIndex_1400x1050[116,5092 -const USHORT ModeIndex_1680x1050[117,5182 -const USHORT ModeIndex_1600x1200[118,5272 -const USHORT ModeIndex_1920x1080[119,5339 -const USHORT ModeIndex_1920x1440[120,5429 -const USHORT ModeIndex_300_2048x1536[121,5496 -const USHORT ModeIndex_310_2048x1536[122,5563 -const USHORT SiS_DRAMType[124,5631 -const USHORT SiS_SDRDRAM_TYPE[144,6162 -const USHORT SiS_DDRDRAM_TYPE[161,6479 -const USHORT SiS_MDA_DAC[169,6606 -const USHORT SiS_CGA_DAC[181,7025 -const USHORT SiS_EGA_DAC[193,7451 -const USHORT SiS_VGA_DAC[205,7877 -static const SiS_StResInfoStruct SiS_StResInfo[219,8316 -static const SiS_ModeResInfoStruct SiS_ModeResInfo[228,8436 -static SiS_StandTableStruct SiS_StandTable[266,9659 -static const UCHAR SiS_SoftSetting 710,21882 -static const UCHAR SiS_OutputSelect 712,21947 -static const UCHAR SiS_NTSCTiming[714,21992 -static const UCHAR SiS_PALTiming[725,22371 -static const UCHAR SiS_HiTVExtTiming[736,22749 -static const UCHAR SiS_HiTVSt1Timing[747,23138 -static const UCHAR SiS_HiTVSt2Timing[758,23527 -static const UCHAR SiS_HiTVTextTiming[770,23922 -static const UCHAR SiS_HiTVGroup3Data[782,24326 -static const UCHAR SiS_HiTVGroup3Simu[793,24711 -static const UCHAR SiS_HiTVGroup3Text[805,25102 -static const UCHAR SiS_NTSCPhase[817,25494 -static const UCHAR SiS_PALPhase[818,25557 -static const UCHAR SiS_PALMPhase[819,25620 -static const UCHAR SiS_PALNPhase[820,25683 -static const UCHAR SiS_NTSCPhase2[821,25746 -static const UCHAR SiS_PALPhase2[822,25809 -static const UCHAR SiS_PALMPhase2[823,25872 -static const UCHAR SiS_PALNPhase2[824,25935 -static const UCHAR SiS_SpecialPhase[825,25998 -static const UCHAR SiS_SpecialPhaseM[826,26061 -static const UCHAR SiS_SpecialPhaseJ[827,26124 -static const SiS_TVDataStruct SiS_StPALData[829,26188 -static const SiS_TVDataStruct SiS_ExtPALData[839,26662 -static const SiS_TVDataStruct SiS_StNTSCData[854,27675 -static const SiS_TVDataStruct SiS_ExtNTSCData[863,28080 -static const SiS_TVDataStruct SiS_StHiTVData[878,29149 -static const SiS_TVDataStruct SiS_St2HiTVData[888,29670 -static const SiS_TVDataStruct SiS_ExtHiTVData[898,30182 -static const SiS_TVDataStruct SiS_St525pData[913,31172 -static const SiS_TVDataStruct SiS_St750pData[922,31617 -static const SiS_TVDataStruct SiS_Ext750pData[931,32062 -static const SiS_LCDDataStruct SiS_LCD1280x720Data[972,34754 -static const SiS_LCDDataStruct SiS_StLCD1280x768_2Data[993,35564 -static const SiS_LCDDataStruct SiS_ExtLCD1280x768_2Data[1006,36062 -static const SiS_LCDDataStruct SiS_LCD1280x768_3Data[1019,36554 -static const SiS_LCDDataStruct SiS_LCD1280x800Data[1032,37115 -static const SiS_LCDDataStruct SiS_LCD1280x960Data[1045,37609 -static const SiS_LCDDataStruct SiS_StLCD1400x1050Data[1058,38030 -static const SiS_LCDDataStruct SiS_ExtLCD1400x1050Data[1071,38454 -static const SiS_LCDDataStruct SiS_LCD1680x1050Data[1089,39334 -static const SiS_LCDDataStruct SiS_StLCD1600x1200Data[1106,40109 -static const SiS_LCDDataStruct SiS_ExtLCD1600x1200Data[1120,40513 -static const SiS_LCDDataStruct SiS_NoScaleData[1136,41140 -static const SiS_LVDSDataStruct SiS_LVDS320x480Data_1[1174,43004 -static const SiS_LVDSDataStruct SiS_LVDS640x480Data_1[1187,43283 -static const SiS_LVDSDataStruct SiS_LVDS640x480Data_2[1199,43591 -static const SiS_LVDSDataStruct SiS_LVDS800x600Data_1[1211,43861 -static const SiS_LVDSDataStruct SiS_LVDS800x600Data_2[1222,44092 -static const SiS_LVDSDataStruct SiS_LVDS1024x768Data_1[1233,44323 -static const SiS_LVDSDataStruct SiS_LVDS1024x768Data_2[1244,44605 -static const SiS_LVDSDataStruct SiS_LVDS1280x1024Data_1[1255,44838 -static const SiS_LVDSDataStruct SiS_LVDS1280x1024Data_2[1267,45095 -static const SiS_LVDSDataStruct SiS_LVDS1400x1050Data_1[1279,45352 -static const SiS_LVDSDataStruct SiS_LVDS1400x1050Data_2[1292,45649 -static const SiS_LVDSDataStruct SiS_LVDS1600x1200Data_1[1305,45947 -static const SiS_LVDSDataStruct SiS_LVDS1600x1200Data_2[1331,46534 -static const SiS_LVDSDataStruct SiS_LVDS1280x960Data_1[1345,46856 -static const SiS_LVDSDataStruct SiS_LVDS1280x960Data_2[1358,47136 -static const SiS_LVDSDataStruct SiS_LVDS1280x768Data_1[1371,47416 -static const SiS_LVDSDataStruct SiS_LVDS1280x768Data_2[1384,47705 -static const SiS_LVDSDataStruct SiS_LVDS1024x600Data_1[1397,47994 -static const SiS_LVDSDataStruct SiS_LVDS1024x600Data_2[1408,48227 -static const SiS_LVDSDataStruct SiS_LVDS1152x768Data_1[1419,48460 -static const SiS_LVDSDataStruct SiS_LVDS1152x768Data_2[1430,48693 -static const SiS_LVDSDataStruct SiS_LVDSXXXxXXXData_1[1442,48946 -static const SiS_LVDSDataStruct SiS_LVDSBARCO1366Data_1[1457,49416 -static const SiS_LVDSDataStruct SiS_LVDSBARCO1366Data_2[1471,49755 -static const SiS_LVDSDataStruct SiS_LVDSBARCO1024Data_1[1485,50094 -static const SiS_LVDSDataStruct SiS_LVDSBARCO1024Data_2[1497,50417 -static const SiS_LVDSDataStruct SiS_LVDS848x480Data_1[1509,50696 -static const SiS_LVDSDataStruct SiS_LVDS848x480Data_2[1527,51214 -static const SiS_LVDSDataStruct SiS_CHTVUNTSCData[1544,51672 -static const SiS_LVDSDataStruct SiS_CHTVONTSCData[1555,51906 -static const SiS_LVDSDesStruct SiS_CHTVUNTSCDesData[1568,52164 -static const SiS_LVDSDesStruct SiS_CHTVONTSCDesData[1579,52309 -static const SiS_LVDSDesStruct SiS_CHTVUPALDesData[1590,52454 -static const SiS_LVDSDesStruct SiS_CHTVOPALDesData[1601,52602 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1320x480_1[1614,52788 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1640x480_1[1639,53486 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1640x480_1_H[1661,54088 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1640x480_2[1680,54603 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1640x480_2_H[1705,55294 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1640x480_3[1730,55987 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT1640x480_3_H[1755,56678 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11024x600_1[1780,57371 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11024x600_1_H[1805,58063 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11024x600_2[1830,58757 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11024x600_2_H[1855,59449 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11152x768_1[1880,60143 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11152x768_1_H[1905,60835 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11152x768_2[1930,61529 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11152x768_2_H[1955,62221 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11280x768_1[1980,62915 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11280x768_1_H[2011,63785 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11280x768_2[2042,64657 -static const SiS_LVDSCRT1DataStruct SiS_LVDSCRT11280x768_2_H[2073,65527 -#define SIS_PL_HSYNCP 2108,66595 -#define SIS_PL_HSYNCN 2109,66622 -#define SIS_PL_VSYNCP 2110,66649 -#define SIS_PL_VSYNCN 2111,66676 -#define SIS_PL_DVI 2112,66703 -typedef struct _SiS_PlasmaModes_SiS_PlasmaModes2114,66731 -} SiS_PlasmaModes;SiS_PlasmaModes2121,66925 -typedef struct _SiS_PlasmaTables_SiS_PlasmaTables2123,66945 -} SiS_PlasmaTables;SiS_PlasmaTables2132,67188 -static const SiS_PlasmaModes SiS_PlasmaMode[2134,67209 -static const SiS_PlasmaTables SiS_PlasmaTable[2242,70557 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/sis_accel.h,4200 -#define _SISFB_ACCEL_H32,1225 -#define CRITBEGIN 39,1409 -#define CRITEND 40,1478 -#define CRITFLAGS 41,1552 -#define CRITBEGIN43,1602 -#define CRITEND44,1620 -#define CRITFLAGS45,1636 -#define PATREGSIZE 50,1715 -#define BR(BR51,1792 -#define PBR(PBR52,1828 -#define BITBLT 55,1894 -#define COLOREXP 56,1949 -#define ENCOLOREXP 57,2012 -#define MULTIPLE_SCANLINE 58,2084 -#define LINE 59,2136 -#define TRAPAZOID_FILL 60,2196 -#define TRANSPARENT_BITBLT 61,2261 -#define ALPHA_BLEND 64,2370 -#define A3D_FUNCTION 65,2423 -#define CLEAR_Z_BUFFER 66,2476 -#define GRADIENT_FILL 67,2520 -#define SRCVIDEO 70,2596 -#define SRCSYSTEM 71,2666 -#define SRCCPUBLITBUF 72,2740 -#define SRCAGP 73,2840 -#define PATFG 76,2936 -#define PATPATREG 77,3003 -#define PATMONO 78,3088 -#define X_INC 81,3195 -#define X_DEC 82,3238 -#define Y_INC 83,3281 -#define Y_DEC 84,3324 -#define NOCLIP 87,3389 -#define NOMERGECLIP 88,3432 -#define CLIPENABLE 89,3475 -#define CLIPWITHOUTMERGE 90,3518 -#define OPAQUE 93,3581 -#define TRANSPARENT 94,3624 -#define DSTAGP 97,3676 -#define DSTVIDEO 98,3719 -#define COLOR_TO_MONO 101,3828 -#define AA_TEXT 102,3862 -#define SRC_ADDR 105,3936 -#define SRC_PITCH 106,3961 -#define AGP_BASE 107,3987 -#define SRC_Y 108,4046 -#define SRC_X 109,4069 -#define DST_Y 110,4092 -#define DST_X 111,4115 -#define DST_ADDR 112,4138 -#define DST_PITCH 113,4163 -#define DST_HEIGHT 114,4189 -#define RECT_WIDTH 115,4216 -#define RECT_HEIGHT 116,4243 -#define PAT_FGCOLOR 117,4271 -#define PAT_BGCOLOR 118,4299 -#define SRC_FGCOLOR 119,4327 -#define SRC_BGCOLOR 120,4355 -#define MONO_MASK 121,4383 -#define LEFT_CLIP 122,4409 -#define TOP_CLIP 123,4435 -#define RIGHT_CLIP 124,4460 -#define BOTTOM_CLIP 125,4487 -#define COMMAND_READY 126,4515 -#define FIRE_TRIGGER 127,4545 -#define PATTERN_REG 129,4580 -#define TRANS_DST_KEY_HIGH 132,4677 -#define TRANS_DST_KEY_LOW 133,4716 -#define TRANS_SRC_KEY_HIGH 134,4754 -#define TRANS_SRC_KEY_LOW 135,4793 -#define CmdQueLen 138,4864 -#define SiS300Idle 152,5190 -#define SiS300SetupSRCBase(SiS300SetupSRCBase161,5598 -#define SiS300SetupSRCPitch(SiS300SetupSRCPitch166,5728 -#define SiS300SetupSRCXY(SiS300SetupSRCXY171,5861 -#define SiS300SetupDSTBase(SiS300SetupDSTBase176,5998 -#define SiS300SetupDSTXY(SiS300SetupDSTXY181,6128 -#define SiS300SetupDSTRect(SiS300SetupDSTRect186,6265 -#define SiS300SetupDSTColorDepth(SiS300SetupDSTColorDepth191,6404 -#define SiS300SetupRect(SiS300SetupRect196,6540 -#define SiS300SetupPATFG(SiS300SetupPATFG201,6676 -#define SiS300SetupPATBG(SiS300SetupPATBG206,6806 -#define SiS300SetupSRCFG(SiS300SetupSRCFG211,6936 -#define SiS300SetupSRCBG(SiS300SetupSRCBG216,7066 -#define SiS300SetupSRCTrans(SiS300SetupSRCTrans225,7321 -#define SiS300SetupDSTTrans(SiS300SetupDSTTrans231,7507 -#define SiS300SetupMONOPAT(SiS300SetupMONOPAT237,7695 -#define SiS300SetupClipLT(SiS300SetupClipLT243,7874 -#define SiS300SetupClipRB(SiS300SetupClipRB248,8034 -#define SiS300SetupROP(SiS300SetupROP254,8216 -#define SiS300SetupCMDFlag(SiS300SetupCMDFlag257,8281 -#define SiS300DoCMD 260,8350 -#define SiS310Idle 282,9009 -#define SiS310SetupSRCBase(SiS310SetupSRCBase289,9219 -#define SiS310SetupSRCPitch(SiS310SetupSRCPitch294,9352 -#define SiS310SetupSRCXY(SiS310SetupSRCXY299,9489 -#define SiS310SetupDSTBase(SiS310SetupDSTBase304,9626 -#define SiS310SetupDSTXY(SiS310SetupDSTXY309,9759 -#define SiS310SetupDSTRect(SiS310SetupDSTRect314,9896 -#define SiS310SetupDSTColorDepth(SiS310SetupDSTColorDepth319,10039 -#define SiS310SetupRect(SiS310SetupRect324,10176 -#define SiS310SetupPATFG(SiS310SetupPATFG329,10317 -#define SiS310SetupPATBG(SiS310SetupPATBG334,10453 -#define SiS310SetupSRCFG(SiS310SetupSRCFG339,10589 -#define SiS310SetupSRCBG(SiS310SetupSRCBG344,10725 -#define SiS310SetupSRCTrans(SiS310SetupSRCTrans349,10861 -#define SiS310SetupDSTTrans(SiS310SetupDSTTrans355,11070 -#define SiS310SetupMONOPAT(SiS310SetupMONOPAT361,11281 -#define SiS310SetupClipLT(SiS310SetupClipLT367,11468 -#define SiS310SetupClipRB(SiS310SetupClipRB372,11631 -#define SiS310SetupROP(SiS310SetupROP377,11803 -#define SiS310SetupCMDFlag(SiS310SetupCMDFlag380,11868 -#define SiS310DoCMD 383,11937 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sis/vgatypes.h,2489 -#define _VGATYPES_54,2573 -#define FALSE 66,2793 -#define TRUE 70,2832 -#define NULL 74,2871 -typedef char CHAR;CHAR78,2910 -typedef short SHORT;SHORT82,2951 -typedef long LONG;LONG86,2993 -typedef unsigned char UCHAR;UCHAR90,3035 -typedef unsigned short USHORT;USHORT94,3087 -typedef unsigned long ULONG;ULONG98,3140 -typedef UCHAR BOOLEAN;BOOLEAN102,3193 -typedef UCHAR bool;bool106,3237 -typedef unsigned long SISIOADDRESS;SISIOADDRESS110,3285 -typedef unsigned long IOADDRESS;IOADDRESS115,3406 -typedef unsigned long SISIOADDRESS;SISIOADDRESS116,3439 -typedef IOADDRESS SISIOADDRESS;SISIOADDRESS118,3481 -enum _SIS_CHIP_TYPE _SIS_CHIP_TYPE122,3528 - SIS_VGALegacy 123,3550 - SIS_530,124,3573 - SIS_OLD,125,3586 - SIS_300,126,3599 - SIS_630,127,3612 - SIS_730,128,3625 - SIS_540,129,3638 - SIS_315H,130,3651 - SIS_315,131,3681 - SIS_315PRO,132,3694 - SIS_550,133,3710 - SIS_650,134,3723 - SIS_740,135,3736 - SIS_330,136,3749 - SIS_661,137,3762 - SIS_741,138,3775 - SIS_660,139,3788 - SIS_760,140,3801 - SIS_761,141,3814 - SIS_340,142,3827 - MAX_SIS_CHIP143,3840 -enum _SIS_LCD_TYPE _SIS_LCD_TYPE147,3881 - LCD_INVALID 148,3902 - LCD_800x600,149,3923 - LCD_1024x768,150,3940 - LCD_1280x1024,151,3958 - LCD_1280x960,152,3977 - LCD_640x480,153,3995 - LCD_1600x1200,154,4012 - LCD_1920x1440,155,4031 - LCD_2048x1536,156,4050 - LCD_320x480,157,4069 - LCD_1400x1050,158,4103 - LCD_1152x864,159,4122 - LCD_1152x768,160,4140 - LCD_1280x768,161,4158 - LCD_1024x600,162,4176 - LCD_640x480_2,163,4194 - LCD_640x480_3,164,4228 - LCD_848x480,165,4262 - LCD_1280x800,166,4279 - LCD_1680x1050,167,4297 - LCD_1280x720,168,4316 - LCD_CUSTOM,169,4334 - LCD_UNKNOWN170,4350 -typedef unsigned int SIS_LCD_TYPE;SIS_LCD_TYPE172,4369 -typedef struct _SIS_HW_INFO SIS_HW_INFO,SIS_HW_INFO177,4433 -typedef struct _SIS_HW_INFO SIS_HW_INFO, *PSIS_HW_INFO;PSIS_HW_INFO177,4433 -typedef BOOLEAN (*PSIS_QUERYSPACE)PSIS_QUERYSPACE179,4491 -struct _SIS_HW_INFO_SIS_HW_INFO181,4568 -#define SISFB_GET_INFO_SIZE 218,5842 -#define SISFB_GET_INFO 219,5881 -#define SISFB_GET_INFO_OLD 221,6037 -#define SISFB_SET_TVPOSOFFSET 224,6122 -#define SISFB_SET_LOCK 227,6204 -typedef struct _SISFB_INFO sisfb_info,sisfb_info230,6291 -typedef struct _SISFB_INFO sisfb_info, *psisfb_info;psisfb_info230,6291 -struct _SISFB_INFO _SISFB_INFO232,6345 -#define SISFB_ID 235,6439 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/logo/logo.c,47 -const struct linux_logo *fb_find_logo(37,1093 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sa1100fb.h,805 -struct sa1100fb_rgb sa1100fb_rgb17,447 -struct sa1100fb_mach_info sa1100fb_mach_info27,651 -struct sa1100fb_lcd_reg sa1100fb_lcd_reg53,1049 -#define RGB_8 60,1167 -#define RGB_16 61,1185 -#define NR_RGB 62,1204 -struct sa1100fb_info sa1100fb_info64,1222 -#define __type_entry(__type_entry113,2114 -#define TO_INF(TO_INF115,2201 -#define SA1100_PALETTE_MODE_VAL(SA1100_PALETTE_MODE_VAL117,2275 -#define C_DISABLE 122,2391 -#define C_ENABLE 123,2414 -#define C_DISABLE_CLKCHANGE 124,2436 -#define C_ENABLE_CLKCHANGE 125,2468 -#define C_REENABLE 126,2499 -#define C_DISABLE_PM 127,2523 -#define C_ENABLE_PM 128,2549 -#define C_STARTUP 129,2574 -#define SA1100_NAME 131,2598 -# define DPRINTK(DPRINTK137,2663 -# define DPRINTK(DPRINTK139,2744 -#define MIN_XRES 145,2822 -#define MIN_YRES 146,2842 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/virgefb.c,4987 -#define DPRINTK(DPRINTK61,1490 -#define DPRINTK(DPRINTK63,1580 -#define DUMP 68,1666 -#define DUMP70,1697 -static inline void mb_inline(77,1774 -#define SelectIO 81,1878 -#define SelectMMIO 88,2006 -#define SelectCFG 95,2136 -#define SetVSwitch(SetVSwitch104,2315 -#define ENDIAN_BYTE 112,2461 -#define ENDIAN_WORD 113,2483 -#define ENDIAN_LONG 114,2505 -#define Select_Zorro2_FrameBuffer(Select_Zorro2_FrameBuffer116,2528 -#define SetPortVal(SetPortVal129,2795 -#define byte_access_io(byte_access_io138,2930 -#define byte_access_mmio(byte_access_mmio139,3008 -#define wb_vgaio(wb_vgaio143,3130 -#define rb_vgaio(rb_vgaio152,3379 -#define rb_mmio(rb_mmio166,3599 -#define wb_mmio(wb_mmio172,3743 -#define rl_mmio(rl_mmio180,3918 -#define wl_mmio(wl_mmio186,4074 -#define wgfx(wgfx194,4257 -#define wseq(wseq198,4399 -#define wcrt(wcrt202,4546 -#define watr(watr206,4688 -struct virgefb_par virgefb_par217,4922 -static struct virgefb_par current_par;225,5053 -static int current_par_valid 227,5093 -static struct display disp;229,5128 -static struct fb_info fb_info;230,5156 -} fbcon_cmap;239,5301 -static struct fb_hwswitch fb_hwswitch245,5362 -} *fbhw;259,5858 -static unsigned char blit_maybe_busy 261,5868 -static char virgefb_name[267,5943 -static unsigned char virgefb_colour_table 273,6039 -static unsigned long v_ram;274,6091 -static unsigned long v_ram_size;275,6119 -static volatile unsigned char *mmio_regs;276,6152 -static volatile unsigned char *vgaio_regs;277,6194 -static unsigned long v_ram_phys;279,6238 -static unsigned long mmio_regs_phys;280,6271 -static unsigned long vcode_switch_base;281,6308 -static unsigned char on_zorro2;282,6348 -#define CYBMEM_OFFSET_8 289,6475 -#define CYBMEM_OFFSET_16 292,6550 -#define CYBMEM_OFFSET_32 295,6625 -#define MEMCLOCK 302,6753 -} virgefb_predefined[311,6889 -} virgefb_predefined[] __initdata 311,6889 -#define arraysize(arraysize619,16481 -#define NUM_TOTAL_MODES 620,16527 -#define VIRGE8_DEFMODE 627,16677 -#define VIRGE16_DEFMODE 631,16735 -#define VIRGE32_DEFMODE 635,16794 -static struct fb_var_screeninfo virgefb_default;638,16831 -static int virgefb_inverse 639,16880 -static struct display_switch fbcon_virge8;671,17812 -static struct display_switch fbcon_virge16;675,17886 -static struct display_switch fbcon_virge32;679,17961 -static inline unsigned char rattr(735,19870 -static inline unsigned char rseq(746,20092 -static inline unsigned char rcrt(754,20239 -static inline unsigned char rgfx(762,20391 -void virgefb_pci_init(775,20545 -static int virge_init(802,21068 -static int virgefb_encode_fix(959,25699 -static int virgefb_decode_var(1021,27213 -static int virgefb_encode_var(1085,29162 -static int virgefb_setcolreg(1126,30519 -static int virgefb_getcolreg(1179,31914 -static void virgefb_gfx_on_off(1209,32561 -static inline void wait_3d_fifo_slots(1221,32704 -static inline void virgefb_wait_for_idle(1228,32853 -static void virgefb_BitBLT(1238,33036 -static void virgefb_RectFill(1298,34496 -static void virgefb_move_cursor(1341,35494 -static struct fb_hwswitch virgefb_hw_switch 1350,35697 -static void virgefb_get_par(1367,36074 -static void virgefb_set_par(1379,36278 -static void virgefb_set_video(1388,36423 -static int virgefb_do_fb_set_var(1415,37183 -static int virgefb_get_fix(1442,37784 -static int virgefb_get_var(1465,38195 -static void virgefb_set_disp(1483,38593 -static int virgefb_set_var(1568,40620 -static int virgefb_get_cmap(1609,41734 -static struct fb_ops virgefb_ops 1628,42379 -int __init virgefb_setup(1639,42667 -static int __init virgefb_get_video_mode(1688,43762 -int __init virgefb_init(1721,44470 -static int virgefb_switch(1817,47507 -static int virgefb_updatevar(1840,48123 -static int virgefb_blank(1851,48273 -static void fbcon_virge8_bmove(1865,48472 -static void fbcon_virge8_clear(1874,48859 -static void fbcon_virge8_putc(1886,49283 -static void fbcon_virge8_putcs(1894,49499 -static void fbcon_virge8_revc(1902,49745 -static void fbcon_virge8_clear_margins(1909,49893 -static struct display_switch fbcon_virge8 1917,50123 -static void fbcon_virge16_bmove(1930,50501 -static void fbcon_virge16_clear(1939,50911 -static void fbcon_virge16_putc(1951,51358 -static void fbcon_virge16_putcs(1959,51576 -static void fbcon_virge16_revc(1967,51824 -static void fbcon_virge16_clear_margins(1974,51974 -static struct display_switch fbcon_virge16 1982,52206 -static void fbcon_virge32_bmove(1995,52592 -static void fbcon_virge32_clear(2004,53029 -static void fbcon_virge32_putc(2016,53504 -static void fbcon_virge32_putcs(2024,53722 -static void fbcon_virge32_revc(2032,53970 -static void fbcon_virge32_clear_margins(2039,54120 -static struct display_switch fbcon_virge32 2047,54352 -int init_module(2062,54753 -static int cv3d_has_4mb(2068,54824 -#define REFCLOCK 2130,55981 -static unsigned short virgefb_compute_clock(2132,56008 -static void virgefb_load_video_mode(2165,56787 -static inline void gfx_on_off(2405,64151 -static void cv64_dump(2424,64480 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/vfb.c,872 -#define VIDEOMEMSIZE 34,847 -static void *videomemory;36,894 -static u_long videomemorysize 37,920 -static struct fb_var_screeninfo vfb_default __initdata 40,1002 -static struct fb_fix_screeninfo vfb_fix __initdata 62,1539 -static int vfb_enable __initdata 72,1761 -static struct fb_ops vfb_ops 91,2379 -static u_long get_line_length(107,2727 -static int vfb_check_var(125,3204 -static int vfb_set_par(249,6307 -static int vfb_setcolreg(262,6691 -#define CNVT_TOHW(CNVT_TOHW299,8050 -static int vfb_pan_display(350,9338 -static int vfb_mmap(376,9995 -int __init vfb_setup(382,10112 -static void vfb_platform_release(404,10427 -static int __init vfb_probe(409,10546 -static int vfb_remove(468,11875 -static struct device_driver vfb_driver 480,12085 -static struct platform_device vfb_device 487,12220 -int __init vfb_init(495,12343 -static void __exit vfb_exit(523,12744 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/amba-clcd.c,770 -#define to_clcd(to_clcd29,716 -static const char *clcd_name 32,845 -static inline void clcdfb_sleep(38,1040 -static inline void clcdfb_set_start(47,1155 -static void clcdfb_disable(59,1487 -static void clcdfb_enable(84,1899 -clcdfb_set_bitfields(113,2345 -static int clcdfb_check_var(173,3541 -static int clcdfb_set_par(186,3811 -static inline u32 convert_bitfield(229,4924 -clcdfb_setcolreg(241,5231 -static int clcdfb_blank(291,6730 -static struct fb_ops clcdfb_ops 303,6941 -static int clcdfb_register(315,7252 -static int clcdfb_probe(414,9830 -static int clcdfb_remove(459,10661 -static struct amba_id clcdfb_id_table[480,10987 -static struct amba_driver clcd_driver 488,11095 -int __init amba_clcdfb_init(497,11263 -static void __exit amba_clcdfb_exit(507,11434 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pm3fb.c,4380 -static const char permedia3_name[94,4800 -struct pm3fb_par pm3fb_par97,4888 -struct pm3fb_timingspm3fb_timings121,5675 -typedef enum pm3fb_timing_result pm3fb_timing_result129,5820 -typedef enum pm3fb_timing_result { pm3fb_timing_ok,129,5820 -typedef enum pm3fb_timing_result { pm3fb_timing_ok, pm3fb_timing_problem,129,5820 -typedef enum pm3fb_timing_result { pm3fb_timing_ok, pm3fb_timing_problem, pm3fb_timing_retry 129,5820 -typedef enum pm3fb_timing_result { pm3fb_timing_ok, pm3fb_timing_problem, pm3fb_timing_retry } pm3fb_timing_result;pm3fb_timing_result129,5820 -#define PM3FB_UNKNOWN_TIMING_VALUE 130,5936 -#define PM3FB_UNKNOWN_TIMINGS 131,5991 -struct pm3fb_info pm3fb_info134,6201 -} mode_base[173,7392 -} mode_base[] __initdata 173,7392 -static struct pm3fb_info fb_info[544,19826 -static struct pm3fb_par current_par[545,19875 -static int current_par_valid[546,19927 -short bus[548,20015 -short slot[549,20041 -short func[550,20068 -short disable[551,20095 -short noaccel[552,20125 -char fontn[553,20155 -short depth[554,20201 -short flatpanel[555,20229 -static struct display disp[556,20261 -static char g_options[557,20304 -static char g_options[PM3_OPTIONS_SIZE] __initdata 557,20304 -short printtimings 558,20372 -short forcesize[559,20396 -struct fbgen_hwswitch pm3fb_switch 669,25632 -static struct fb_ops pm3fb_ops 675,25857 -struct fbgen_hwswitch pm3fb_switch 682,26095 -static struct fb_ops pm3fb_ops 688,26304 -static struct display_switch pm3fb_cfb32 703,26726 -static struct display_switch pm3fb_cfb16 712,27068 -static struct display_switch pm3fb_cfb8 721,27409 -struct pm3fb_card_timings pm3fb_card_timings734,27864 -static struct pm3fb_card_timings t_FormacProFormance3[739,27986 -static struct pm3fb_card_timings t_AppianJeronimo2000[744,28213 -static struct pm3fb_card_timings t_3DLabsOxygenVX1[749,28441 -} cardbase[761,29076 -static void pm3fb_j2000_setup(785,30038 -static pm3fb_timing_result pm3fb_preserve_memory_timings(799,30518 -static pm3fb_timing_result pm3fb_try_memory_timings(819,31410 -static void pm3fb_write_memory_timings(845,32290 -static unsigned long pm3fb_read_dac_reg(877,33401 -static unsigned long pm3fb_CalculateClock(888,33716 -static int pm3fb_Shiftbpp(926,34640 -static int pm3fb_Unshiftbpp(945,34932 -static void pm3fb_mapIO(964,35228 -static void pm3fb_unmapIO(979,35678 -static void pm3fb_show_cur_mode(990,35952 -static void pm3fb_show_cur_timing(1041,38261 -static void pm3fb_write_mode(1069,39258 -static void pm3fb_read_mode(1276,45967 -static unsigned long pm3fb_size_memory(1392,49372 -static void pm3fb_clear_memory(1560,54274 -static void pm3fb_clear_colormap(1581,54757 -static void pm3fb_common_init(1593,55026 -static void pm3fb_wait_pm3(1656,57085 -static void pm3fb_init_engine(1669,57372 -static void pm3fb_cfb32_clear(1829,62532 -static void pm3fb_cfb32_clear_margins(1909,64860 -static void pm3fb_cfb16_clear(1976,66805 -static void pm3fb_cfb16_clear_margins(2028,68258 -static void pm3fb_cfb8_clear(2118,71051 -static void pm3fb_cfb8_clear_margins(2161,72099 -static void pm3fb_cfbX_bmove(2230,74105 -static void pm3fb_cfbX_putc(2286,75716 -static void pm3fb_cfbX_putcs(2395,78740 -static void pm3fb_cfbX_revc(2510,81937 -static void pm3fb_mode_setup(2563,83478 -static void pm3fb_pciid_setup(2593,84285 -static void pm3fb_font_setup(2625,85076 -static void pm3fb_bootdepth_setup(2636,85315 -static void pm3fb_forcesize_setup(2648,85621 -static char *pm3fb_boardnum_setup(2660,85922 -static void pm3fb_real_setup(2682,86375 -static int pm3fb_encode_fix(2768,89008 -static int pm3fb_decode_var(2802,90013 -static void pm3fb_encode_depth(2982,95246 -static int pm3fb_encode_var(3038,96444 -static void pm3fb_get_par(3097,98082 -static void pm3fb_set_par(3115,98578 -static void pm3fb_set_color(3131,98942 -static int pm3fb_getcolreg(3143,99285 -static int pm3fb_setcolreg(3168,99928 -static int pm3fb_blank(3231,101454 -static void pm3fb_set_disp(3287,102836 -static void pm3fb_detect(3358,104499 -static int pm3fb_pan_display(3514,108824 -static int pm3fb_ioctl(3533,109365 -int __init pm3fb_setup(3594,110872 -int __init pm3fb_init(3615,111304 -__initfunc(3638,111816 -static char *mode[3716,113814 -static short off[3721,114036 -static char *pciid[3724,114159 -static char *font[3729,114386 -void pm3fb_build_options(3744,114951 -int init_module(3787,115968 -void cleanup_module(3798,116059 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pxafb.c,1687 -#define DEBUG_VAR 53,1364 -#define LCCR0_INVALID_CONFIG_MASK 58,1476 -#define LCCR3_INVALID_CONFIG_MASK 59,1601 -#define PXAFB_OPTIONS_SIZE 68,1941 -static char g_options[69,1972 -static char g_options[PXAFB_OPTIONS_SIZE] __initdata 69,1972 -static inline void pxafb_schedule_work(72,2039 -static inline u_int chan_to_field(97,2839 -pxafb_setpalettereg(105,2997 -pxafb_setcolreg(126,3482 -static int pxafb_bpp_to_lccr3(184,4906 -static unsigned int pxafb_display_dma_period(204,5506 -static int pxafb_check_var(225,6175 -static inline void pxafb_set_truecolor(270,7401 -static int pxafb_set_par(280,7654 -static int pxafb_blank(366,10515 -static struct fb_ops pxafb_ops 396,11369 -static inline unsigned int get_pcd(438,12574 -static int pxafb_activate_var(458,13229 -#define BYTES_PER_PANEL 562,16706 -static inline void __pxafb_backlight_power(637,19913 -static inline void __pxafb_lcd_power(645,20099 -static void pxafb_setup_gpio(653,20265 -static void pxafb_enable_controller(710,21752 -static void pxafb_disable_controller(738,22738 -static irqreturn_t pxafb_handle_irq(758,23270 -static void set_ctrlr_state(777,23717 -static void pxafb_task(874,25854 -pxafb_freq_transition(891,26261 -pxafb_freq_policy(912,26761 -static int pxafb_suspend(946,27656 -static int pxafb_resume(955,27888 -#define pxafb_suspend 964,28079 -#define pxafb_resume 965,28106 -static int __init pxafb_map_video_memory(976,28509 -static struct pxafb_info * __init pxafb_init_fbinfo(1013,29690 -static int __init pxafb_parse_options(1086,31791 -int __init pxafb_probe(1237,37711 -static struct device_driver pxafb_driver 1353,40997 -int __devinit pxafb_setup(1364,41214 -int __devinit pxafb_init(1378,41556 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/macmodes.h,1062 -#define _VIDEO_MACMODES_H12,319 -#define VMODE_NVRAM 20,479 -#define VMODE_512_384_60I 21,502 -#define VMODE_512_384_60 22,568 -#define VMODE_640_480_50I 23,615 -#define VMODE_640_480_60I 24,680 -#define VMODE_640_480_60 25,746 -#define VMODE_640_480_67 26,799 -#define VMODE_640_870_75P 27,846 -#define VMODE_768_576_50I 28,905 -#define VMODE_800_600_56 29,970 -#define VMODE_800_600_60 30,1017 -#define VMODE_800_600_72 31,1065 -#define VMODE_800_600_75 32,1113 -#define VMODE_832_624_75 33,1161 -#define VMODE_1024_768_60 34,1209 -#define VMODE_1024_768_70 35,1259 -#define VMODE_1024_768_75V 36,1320 -#define VMODE_1024_768_75 37,1378 -#define VMODE_1152_870_75 38,1428 -#define VMODE_1280_960_75 39,1478 -#define VMODE_1280_1024_75 40,1528 -#define VMODE_1152_768_60 41,1580 -#define VMODE_1600_1024_60 42,1653 -#define VMODE_MAX 43,1724 -#define VMODE_CHOOSE 44,1746 -#define CMODE_NVRAM 46,1772 -#define CMODE_CHOOSE 47,1796 -#define CMODE_8 48,1821 -#define CMODE_16 49,1860 -#define CMODE_32 50,1914 -#define NV_VMODE 67,2435 -#define NV_CMODE 68,2460 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/controlfb.c,1473 -struct fb_par_control fb_par_control59,1723 -#define DIRTY(DIRTY70,1916 -#define DIRTY_CMAP(DIRTY_CMAP71,1952 -static inline int PAR_EQUAL(72,2021 -static inline int VAR_MATCH(88,2419 -struct fb_info_control fb_info_control96,2693 -#define CNTRL_REG(CNTRL_REG119,3211 -static struct fb_info_control *control_fb;162,4899 -static int default_vmode __initdata 164,4943 -static int default_cmode __initdata 165,4994 -static struct fb_ops controlfb_ops 168,5047 -int init_module(188,5560 -void cleanup_module(199,5711 -static int controlfb_check_var 208,5802 -static int controlfb_set_par 224,6085 -static inline void set_screen_start(250,6729 -static int controlfb_pan_display(262,7012 -static int controlfb_mmap(290,7702 -static int controlfb_blank(325,8879 -static int controlfb_setcolreg(357,9454 -static void set_control_clock(397,10317 -static int __init init_control(416,10665 -#define RADACAL_WRITE(RADACAL_WRITE491,12648 -static void control_set_hardware(497,12865 -int __init control_init(556,14391 -static void __init find_vram_size(577,14813 -static int __init control_of_init(652,16620 -static int read_control_sense(732,18619 -#define CONTROL_PIXCLOCK_BASE 761,19587 -#define CONTROL_PIXCLOCK_MIN 762,19624 -static int calc_clock_params(768,19792 -static int control_var_to_par(807,20435 -static void control_par_to_var(943,23796 -static void __init control_init_info(1013,25689 -static void control_cleanup(1037,26473 -void __init control_setup(1066,27099 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/offb.c,517 - cmap_unknown,40,914 - cmap_m64,41,929 - cmap_r128,42,958 - cmap_M3A,43,989 - cmap_M3B,44,1035 - cmap_radeon,45,1081 - cmap_gxt2000,46,1113 -struct offb_par offb_par49,1151 -struct offb_par default_par;56,1274 -#define mach_eieio(mach_eieio59,1323 -#define mach_eieio(mach_eieio61,1358 -static struct fb_ops offb_ops 83,1934 -static int offb_setcolreg(99,2398 -static int offb_blank(176,4273 -int __init offb_init(247,5813 -static void __init offb_init_nodriver(348,8536 -static void __init offb_init_fb(397,9803 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/neofb.c,2351 -#define NEOFB_VERSION 87,2069 -static int internal;91,2177 -static int external;92,2198 -static int libretto;93,2219 -static int nostretch;94,2240 -static int nopciburst;95,2262 -static char *mode_option __initdata 96,2285 -static biosMode bios8[122,3175 -static biosMode bios16[131,3322 -static biosMode bios24[140,3470 -static biosMode bios32[148,3623 -static inline u32 read_le32(155,3720 -static inline void write_le32(160,3853 -static int neoFindMode(165,3996 -#define REF_FREQ 213,4863 -#define MAX_N 214,4924 -#define MAX_D 215,4942 -#define MAX_F 216,4959 -static void neoCalcVCLK(218,4976 -static int vgaHWInit(274,6467 -static void vgaHWLock(379,9501 -static void vgaHWUnlock(385,9649 -static void neoLock(391,9764 -static void neoUnlock(397,9871 -static int paletteEnabled 406,9982 -inline void VGAenablePalette(408,10014 -inline void VGAdisablePalette(415,10132 -inline void VGAwATTR(422,10251 -void vgaHWProtect(433,10418 -static void vgaHWRestore(458,10950 -static inline int neo2200_sync(491,11639 -static inline void neo2200_wait_fifo(501,11834 -static inline void neo2200_accel_init(530,12383 -neofb_open(566,13179 -neofb_release(581,13523 -neofb_check_var(596,13802 -static int neofb_set_par(763,18092 -static void neofb_update_start(1221,30464 -static int neofb_pan_display(1256,31361 -static int neofb_setcolreg(1283,31924 -int neofb_blank(1323,32808 -neo2200_fillrect(1410,35632 -neo2200_copyarea(1445,36492 -neo2200_imageblit(1478,37435 -neofb_fillrect(1541,39460 -neofb_copyarea(1557,39805 -neofb_imageblit(1573,40151 -neofb_sync(1589,40496 -static struct fb_ops neofb_ops 1661,42172 -static struct fb_videomode __devinitdata mode800x480 1679,42677 -static int __devinit neo_map_mmio(1693,43056 -static void neo_unmap_mmio(1721,43787 -static int __devinit neo_map_video(1734,44046 -static void neo_unmap_video(1780,45381 -static int __devinit neo_scan_monitor(1799,45748 -static int __devinit neo_init_hw(1878,48124 -static struct fb_info *__devinit neo_alloc_fb_info(1998,50756 -static void neo_free_fb_info(2065,52459 -static int __devinit neofb_probe(2078,52704 -static void __devexit neofb_remove(2168,54758 -static struct pci_device_id neofb_devices[2197,55368 -static struct pci_driver neofb_driver 2230,56412 -int __init neofb_setup(2239,56645 -int __init neofb_init(2268,57220 -static void __exit neofb_exit(2283,57461 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/fbmon.c,2085 -#define DPRINTK(DPRINTK47,1164 -#define DPRINTK(DPRINTK49,1220 -#define FBMON_FIX_HEADER 52,1258 -struct broken_edid broken_edid55,1316 -static struct broken_edid brokendb[61,1385 -const unsigned char edid_v1_header[69,1547 -const unsigned char edid_v1_descriptor_flag[72,1639 -static void copy_string(74,1704 -static void fix_broken_edid(84,1905 -static int edid_checksum(113,2744 -static int edid_check_header(140,3247 -static void parse_vendor_block(159,3536 -static void get_dpms_capabilities(177,4242 -static void get_chroma(193,4754 -static int edid_is_serial_block(248,6271 -static int edid_is_ascii_block(258,6484 -static int edid_is_limits_block(268,6696 -static int edid_is_monitor_block(278,6909 -static void calc_mode_timings(288,7123 -static int get_est_timing(311,7743 -static int get_std_timing(396,9662 -static int get_dst_timing(435,10443 -static void get_detailed_timing(446,10667 -struct fb_videomode *fb_create_modedb(491,12162 -void fb_destroy_modedb(560,13810 -int fb_get_monitor_limits(566,13897 -static void get_monspecs(627,15646 -static int edid_is_timing_block(748,18353 -int fb_parse_edid(757,18538 -void fb_edid_to_monspecs(800,19633 -char *get_EDID_from_firmware(848,21021 -#define FLYBACK 864,21290 -#define V_FRONTPORCH 865,21330 -#define H_OFFSET 866,21368 -#define H_SCALEFACTOR 867,21407 -#define H_BLANKSCALE 868,21446 -#define H_GRADIENT 869,21486 -#define C_VAL 870,21526 -#define M_VAL 871,21565 -struct __fb_timings __fb_timings873,21606 -static u32 fb_get_vblank(900,22146 -static u32 fb_get_hblank_by_hfreq(929,22849 -static u32 fb_get_hblank_by_dclk(963,23799 -static u32 fb_get_hfreq(997,24555 -static void fb_timings_vfreq(1006,24748 -static void fb_timings_hfreq(1017,25174 -static void fb_timings_dclk(1028,25584 -int fb_get_mode(1073,27330 -int fb_parse_edid(1161,29803 -void fb_edid_to_monspecs(1165,29888 -char *get_EDID_from_firmware(1169,29980 -struct fb_videomode *fb_create_modedb(1173,30047 -void fb_destroy_modedb(1177,30137 -int fb_get_monitor_limits(1180,30193 -int fb_get_mode(1184,30282 -int fb_validate_mode(1203,30718 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/tridentfb.c,3715 -#define VERSION 27,759 -struct tridentfb_par tridentfb_par29,792 -unsigned char eng_oper;34,898 -static struct fb_ops tridentfb_ops;35,945 -static struct tridentfb_par default_par;37,982 -static struct fb_info fb_info;40,1060 -static int pseudo_pal[41,1091 -static struct fb_var_screeninfo default_var;44,1120 -static struct fb_fix_screeninfo tridentfb_fix 46,1166 -static int chip_id;54,1346 -static int defaultaccel;56,1367 -static int displaytype;57,1392 -static char * mode 63,1495 -static int bpp 64,1527 -static int noaccel;66,1548 -static int center;68,1569 -static int stretch;69,1588 -static int fp;71,1609 -static int crt;72,1624 -static int memsize;74,1641 -static int memdiff;75,1661 -static int nativex;76,1681 -static int chip3D;91,1948 -static int chipcyber;92,1967 -int is3Dchip(94,1990 -int iscyber(107,2451 -#define CRT 140,3049 - #define TRIDENT_MMIO 143,3132 - #define t_outb(t_outb147,3181 - #define t_inb(t_inb148,3273 - #define t_outb(t_outb150,3360 - #define t_inb(t_inb151,3399 -static struct accel_switch accel_switch155,3437 -} *acc;160,3638 -#define writemmr(writemmr162,3647 -#define readmmr(readmmr163,3731 -#define point(point171,3851 -#define STA 172,3884 -#define CMD 173,3903 -#define ROP 174,3922 -#define CLR 175,3941 -#define SR1 176,3960 -#define SR2 177,3979 -#define DR1 178,3998 -#define DR2 179,4017 -#define ROP_S 181,4037 -static void blade_init_accel(183,4057 -static void blade_wait_engine(206,4501 -static void blade_fill_rect(211,4577 -static void blade_copy_rect(221,4818 -static struct accel_switch accel_blade 243,5310 -#define ROP_P 255,5484 -#define masked_point(masked_point256,5503 -static void xp_init_accel(258,5562 -static void xp_wait_engine(297,6198 -static void xp_fill_rect(322,6551 -static void xp_copy_rect(333,6833 -static struct accel_switch accel_xp 366,7479 -static void image_init_accel(377,7637 -static void image_wait_engine(402,8271 -static void image_fill_rect(407,8350 -static void image_copy_rect(420,8638 -static struct accel_switch accel_image 443,9177 -static void tridentfb_fillrect(454,9383 -static void tridentfb_copyarea(472,9829 -#define tridentfb_fillrect 478,10041 -#define tridentfb_copyarea 479,10081 -static inline unsigned char read3X4(487,10197 -static inline void write3X4(494,10392 -static inline unsigned char read3C4(501,10596 -static inline void write3C4(507,10689 -static inline unsigned char read3CE(513,10792 -static inline void writeAttr(519,10885 -static inline unsigned char readAttr(526,11079 -static inline void write3CE(533,11263 -static inline void enable_mmio(539,11366 -#define crtc_unlock(crtc_unlock555,11613 -static int __init get_nativex(558,11735 -static void set_lwidth(581,12159 -static void screen_stretch(588,12363 -static void screen_center(599,12664 -static void set_screen_start(606,12874 -#define calc_freq(calc_freq615,13237 -static void set_vclk(618,13352 -static void set_number_of_lines(647,13828 -static unsigned int __init get_displaytype(665,14210 -static unsigned int __init get_memsize(675,14441 -static int tridentfb_check_var(722,15605 -static int tridentfb_pan_display(770,16649 -#define shadowmode_on(shadowmode_on785,16998 -#define shadowmode_off(shadowmode_off786,17075 -static int tridentfb_set_par(789,17204 -static int tridentfb_setcolreg(973,22417 -static int tridentfb_blank(1008,23221 -static int __devinit trident_pci_probe(1050,24085 -static void __devexit trident_pci_remove(1177,27347 -static struct pci_device_id trident_devices[1188,27759 -static struct pci_driver tridentfb_pci_driver 1214,29229 -int __init tridentfb_init(1223,29447 -void __exit tridentfb_exit(1236,29723 -int tridentfb_setup(1247,29920 -static struct fb_ops tridentfb_ops 1278,30721 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/valkyriefb.h,788 -#define VALKYRIE_REG_PADSIZE 44,1503 -#define VALKYRIE_REG_PADSIZE 46,1540 -struct cmap_regs cmap_regs52,1653 -struct vpreg vpreg62,1825 -struct valkyrie_regs valkyrie_regs68,1920 -struct valkyrie_regvals valkyrie_regvals85,2278 -static struct valkyrie_regvals valkyrie_reg_init_17 104,2882 -static struct valkyrie_regvals valkyrie_reg_init_15 120,3534 -static struct valkyrie_regvals valkyrie_reg_init_14 131,3862 -static struct valkyrie_regvals valkyrie_reg_init_11 139,4071 -static struct valkyrie_regvals valkyrie_reg_init_13 148,4302 -static struct valkyrie_regvals valkyrie_reg_init_10 156,4508 -static struct valkyrie_regvals valkyrie_reg_init_6 165,4782 -static struct valkyrie_regvals valkyrie_reg_init_5 173,4989 -static struct valkyrie_regvals *valkyrie_reg_init[180,5148 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/platinumfb.h,1610 -struct cmap_regs cmap_regs25,756 -struct preg preg39,996 -struct platinum_regs platinum_regs44,1098 -struct platinum_regvals platinum_regvals59,1595 -#define DIV2 69,1792 -#define DIV4 70,1810 -#define DIV8 71,1828 -#define DIV16 72,1846 -static struct platinum_regvals platinum_reg_init_20 75,1893 -static struct platinum_regvals platinum_reg_init_19 87,2251 -static struct platinum_regvals platinum_reg_init_18 99,2609 -static struct platinum_regvals platinum_reg_init_17 111,2973 -static struct platinum_regvals platinum_reg_init_16 123,3338 -static struct platinum_regvals platinum_reg_init_15 135,3702 -static struct platinum_regvals platinum_reg_init_14 147,4072 -static struct platinum_regvals platinum_reg_init_13 159,4448 -static struct platinum_regvals platinum_reg_init_12 171,4873 -static struct platinum_regvals platinum_reg_init_11 183,5243 -static struct platinum_regvals platinum_reg_init_10 195,5616 -static struct platinum_regvals platinum_reg_init_9 207,6028 -static struct platinum_regvals platinum_reg_init_8 219,6412 -static struct platinum_regvals platinum_reg_init_7 231,6787 -static struct platinum_regvals platinum_reg_init_6 243,7152 -static struct platinum_regvals platinum_reg_init_5 255,7518 -static struct platinum_regvals platinum_reg_init_4 267,7900 -static struct platinum_regvals platinum_reg_init_3 279,8282 -static struct platinum_regvals platinum_reg_init_2 291,8648 -static struct platinum_regvals platinum_reg_init_1 303,9031 -static struct platinum_regvals *platinum_reg_init[314,9374 -struct vmode_attr vmode_attr337,9913 -struct vmode_attr vmode_attrs[344,9988 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/hitfb.c,745 -#define WIDTH 38,926 -static struct fb_var_screeninfo hitfb_var __initdata 40,945 -static struct fb_fix_screeninfo hitfb_fix __initdata 47,1104 -static u32 pseudo_palette[54,1271 -static struct fb_info fb_info;55,1302 -static inline void hitfb_accel_wait(57,1334 -static inline void hitfb_accel_start(62,1444 -static inline void hitfb_accel_set_dest(71,1596 -static inline void hitfb_accel_solidfill(86,1924 -static inline void hitfb_accel_bitblt(98,2234 -static void hitfb_fillrect(146,3486 -static void hitfb_copyarea(170,4120 -static int hitfb_pan_display(178,4364 -int hitfb_blank(192,4606 -static int hitfb_setcolreg(235,5578 -static struct fb_ops hitfb_ops 257,6137 -int __init hitfb_init(268,6431 -static void __exit hitfb_exit(342,8319 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/acornfb.c,1519 -#define DEFAULT_XRES 53,1272 -#define DEFAULT_YRES 54,1297 -#define DEFAULT_BPP 55,1322 -#define NR_MONTYPES 68,1642 -static struct fb_monspecs monspecs[69,1664 -static struct fb_monspecs monspecs[NR_MONTYPES] __initdata 69,1664 -static struct fb_info fb_info;103,2227 -static struct acornfb_par current_par;104,2258 -static struct vidc_timing current_vidc;105,2297 -#define MAX_SIZE 111,2408 -struct pixclock pixclock127,2702 -static struct pixclock arc_clocks[134,2795 -static struct pixclock a5k_clocks[143,3173 -acornfb_valid_pixrate(154,3669 -acornfb_set_timing(192,4471 -acornfb_setcolreg(339,9127 -#define MAX_SIZE 364,9565 -static void acornfb_set_timing(376,9851 -acornfb_setcolreg(529,15293 -acornfb_adjust_timing(580,16507 -acornfb_validate_timing(685,18984 -acornfb_update_dma(708,19632 -acornfb_check_var(720,19915 -static int acornfb_set_par(793,21352 -acornfb_pan_display(868,22945 -acornfb_mmap(886,23273 -static struct fb_ops acornfb_ops 919,24225 -static struct fb_videomode modedb[935,24632 -static struct fb_videomode modedb[] __initdata 935,24632 -acornfb_default_mode 988,26317 -static void __init acornfb_init_fbinfo(1004,26591 -acornfb_parse_mon(1081,28667 -acornfb_parse_montype(1129,29681 -acornfb_parse_dram(1171,30691 -static struct options options1193,30958 -} opt_table[1196,31022 -} opt_table[] __initdata 1196,31022 -acornfb_setup(1204,31199 -acornfb_detect_monitortype(1242,31838 -free_unused_pages(1253,32068 -static struct device acornfb_device 1283,32663 -acornfb_init(1289,32776 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cg6.c,3753 -static struct fb_ops cg6_ops 47,1275 -#define CG6_ROM_OFFSET 67,1853 -#define CG6_BROOKTREE_OFFSET 68,1888 -#define CG6_DHC_OFFSET 69,1928 -#define CG6_ALT_OFFSET 70,1968 -#define CG6_FHC_OFFSET 71,2008 -#define CG6_THC_OFFSET 72,2048 -#define CG6_FBC_OFFSET 73,2088 -#define CG6_TEC_OFFSET 74,2128 -#define CG6_RAM_OFFSET 75,2168 -#define CG6_FHC_FBID_SHIFT 78,2231 -#define CG6_FHC_FBID_MASK 79,2271 -#define CG6_FHC_REV_SHIFT 80,2312 -#define CG6_FHC_REV_MASK 81,2352 -#define CG6_FHC_FROP_DISABLE 82,2392 -#define CG6_FHC_ROW_DISABLE 83,2439 -#define CG6_FHC_SRC_DISABLE 84,2486 -#define CG6_FHC_DST_DISABLE 85,2533 -#define CG6_FHC_RESET 86,2580 -#define CG6_FHC_LITTLE_ENDIAN 87,2627 -#define CG6_FHC_RES_MASK 88,2674 -#define CG6_FHC_1024 89,2721 -#define CG6_FHC_1152 90,2768 -#define CG6_FHC_1280 91,2815 -#define CG6_FHC_1600 92,2862 -#define CG6_FHC_CPU_MASK 93,2909 -#define CG6_FHC_CPU_SPARC 94,2955 -#define CG6_FHC_CPU_68020 95,3001 -#define CG6_FHC_CPU_386 96,3047 -#define CG6_FHC_TEST 97,3093 -#define CG6_FHC_TEST_X_SHIFT 98,3129 -#define CG6_FHC_TEST_X_MASK 99,3165 -#define CG6_FHC_TEST_Y_SHIFT 100,3201 -#define CG6_FHC_TEST_Y_MASK 101,3237 -#define CG6_FBC_BLIT_IGNORE 104,3301 -#define CG6_FBC_BLIT_NOSRC 105,3341 -#define CG6_FBC_BLIT_SRC 106,3380 -#define CG6_FBC_BLIT_ILLEGAL 107,3417 -#define CG6_FBC_BLIT_MASK 108,3458 -#define CG6_FBC_VBLANK 110,3497 -#define CG6_FBC_MODE_IGNORE 112,3534 -#define CG6_FBC_MODE_COLOR8 113,3574 -#define CG6_FBC_MODE_COLOR1 114,3614 -#define CG6_FBC_MODE_HRMONO 115,3654 -#define CG6_FBC_MODE_MASK 116,3694 -#define CG6_FBC_DRAW_IGNORE 118,3733 -#define CG6_FBC_DRAW_RENDER 119,3773 -#define CG6_FBC_DRAW_PICK 120,3813 -#define CG6_FBC_DRAW_ILLEGAL 121,3851 -#define CG6_FBC_DRAW_MASK 122,3892 -#define CG6_FBC_BWRITE0_IGNORE 124,3931 -#define CG6_FBC_BWRITE0_ENABLE 125,3974 -#define CG6_FBC_BWRITE0_DISABLE 126,4017 -#define CG6_FBC_BWRITE0_ILLEGAL 127,4061 -#define CG6_FBC_BWRITE0_MASK 128,4105 -#define CG6_FBC_BWRITE1_IGNORE 130,4147 -#define CG6_FBC_BWRITE1_ENABLE 131,4190 -#define CG6_FBC_BWRITE1_DISABLE 132,4233 -#define CG6_FBC_BWRITE1_ILLEGAL 133,4277 -#define CG6_FBC_BWRITE1_MASK 134,4321 -#define CG6_FBC_BREAD_IGNORE 136,4363 -#define CG6_FBC_BREAD_0 137,4404 -#define CG6_FBC_BREAD_1 138,4441 -#define CG6_FBC_BREAD_ILLEGAL 139,4478 -#define CG6_FBC_BREAD_MASK 140,4520 -#define CG6_FBC_BDISP_IGNORE 142,4560 -#define CG6_FBC_BDISP_0 143,4601 -#define CG6_FBC_BDISP_1 144,4638 -#define CG6_FBC_BDISP_ILLEGAL 145,4675 -#define CG6_FBC_BDISP_MASK 146,4717 -#define CG6_FBC_INDEX_MOD 148,4757 -#define CG6_FBC_INDEX_MASK 149,4795 -#define CG6_THC_MISC_REV_SHIFT 152,4857 -#define CG6_THC_MISC_REV_MASK 153,4897 -#define CG6_THC_MISC_RESET 154,4937 -#define CG6_THC_MISC_VIDEO 155,4984 -#define CG6_THC_MISC_SYNC 156,5031 -#define CG6_THC_MISC_VSYNC 157,5077 -#define CG6_THC_MISC_SYNC_ENAB 158,5123 -#define CG6_THC_MISC_CURS_RES 159,5169 -#define CG6_THC_MISC_INT_ENAB 160,5215 -#define CG6_THC_MISC_INT 161,5261 -#define CG6_THC_MISC_INIT 162,5307 -struct cg6_tec cg6_tec165,5381 -struct cg6_thc cg6_thc171,5475 -struct cg6_fbc cg6_fbc186,5950 -struct bt_regs bt_regs244,7381 -struct cg6_par cg6_par251,7492 -#define CG6_FLAG_BLANKED 260,7655 -static int cg6_sync(269,7796 -static void cg6_fillrect(292,8421 -static void cg6_imageblit(327,9569 -static int cg6_setcolreg(416,11704 -cg6_blank(449,12502 -static struct sbus_mmap_map cg6_mmap_map[482,13235 -static int cg6_mmap(526,13892 -static int cg6_ioctl(536,14166 -cg6_init_fix(550,14481 -static void cg6_bt_init(594,15451 -static void cg6_chip_init(608,15896 -struct all_info all_info665,17699 -static void cg6_init_one(672,17816 -int __init cg6_init(758,20266 -void __exit cg6_exit(775,20557 -cg6_setup(789,20828 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/maxinefb.c,409 -static struct fb_info fb_info;43,1332 -static struct fb_var_screeninfo maxinefb_defined 45,1364 -static struct fb_fix_screeninfo maxinefb_fix 60,1679 -void maxinefb_ims332_write_register(73,2065 -unsigned int maxinefb_ims332_read_register(83,2378 -static int maxinefb_setcolreg(97,2745 -static struct fb_ops maxinefb_ops 114,3287 -int __init maxinefb_init(123,3512 -static void __exit maxinefb_exit(174,4753 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/gbefb.c,1822 -static struct sgi_gbe *gbe;36,841 -struct gbefb_par gbefb_par38,870 -#define GBE_BASE 45,991 -#define GBE_BASE 49,1064 -#define pgprot_fb(pgprot_fb55,1236 -#define pgprot_fb(pgprot_fb57,1326 -#define pgprot_fb(pgprot_fb61,1436 -#define TILE_SHIFT 72,1672 -#define TILE_SIZE 73,1694 -#define TILE_MASK 74,1730 -static unsigned int gbe_mem_size 76,1765 -static void *gbe_mem;77,1831 -static dma_addr_t gbe_dma_addr;78,1853 -unsigned long gbe_mem_phys;79,1885 -} gbe_tiles;84,1963 -static int gbe_revision;86,1977 -static struct fb_info fb_info;88,2003 -static int ypan,89,2034 -static int ypan, ywrap;89,2034 -static uint32_t pseudo_palette[91,2059 -static char *mode_option __initdata 93,2097 -static struct fb_var_screeninfo default_var_CRT __initdata 96,2165 -static struct fb_var_screeninfo default_var_LCD __initdata 127,2837 -static struct fb_videomode default_mode_CRT __initdata 159,3518 -static struct fb_videomode default_mode_LCD __initdata 174,3849 -struct fb_videomode *default_mode 188,4139 -struct fb_var_screeninfo *default_var 189,4194 -static int flat_panel_enabled 191,4253 -static struct gbefb_par par_current;193,4289 -static void gbe_reset(195,4327 -void gbe_turn_off(210,4646 -static void gbe_turn_on(320,7281 -static int gbefb_blank(383,8589 -static void gbefb_setup_flatpanel(405,8921 -struct gbe_pll_info gbe_pll_info438,9797 -static struct gbe_pll_info gbe_pll_table[444,9870 -static int compute_gbe_timing(449,9958 -static void gbe_set_timing_info(525,12211 -static int gbefb_set_par(634,15437 -static void gbefb_encode_fix(814,20847 -static int gbefb_setcolreg(846,21740 -static int gbefb_check_var(893,22747 -static int gbefb_mmap(985,25271 -static struct fb_ops gbefb_ops 1034,26463 -int __init gbefb_setup(1051,26819 -int __init gbefb_init(1082,27685 -void __exit gbefb_exit(1189,30474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/modedb.c,754 -#define name_matches(name_matches21,487 -#define res_matches(res_matches23,593 -#define DPRINTK(DPRINTK27,679 -#define DPRINTK(DPRINTK29,769 -const char *global_mode_option 33,808 -#define DEFAULT_MODEDB_INDEX 40,926 -static const __init struct fb_videomode modedb[42,958 -const struct fb_videomode vesa_modes[255,8206 -static int my_atoi(381,13807 -int fb_try_mode(409,14314 -int fb_find_mode(471,16405 -void fb_var_to_videomode(581,19281 -void fb_videomode_to_var(623,20411 -int fb_mode_is_equal(647,21037 -struct fb_videomode *fb_find_best_mode(680,22145 -struct fb_videomode *fb_match_mode(715,23001 -int fb_add_videomode(740,23576 -void fb_delete_videomode(775,24313 -void fb_destroy_modelist(795,24757 -void fb_videomode_to_modelist(811,25095 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cyber2000fb.h,13060 -#define MMIO_OFFSET 17,402 -#define MMIO_SIZE 18,433 -#define NR_PALETTE 20,463 -static void debug_printf(23,534 -#define debug_printf(debug_printf36,740 -#define RAMDAC_RAMPWRDN 39,792 -#define RAMDAC_DAC8BIT 40,822 -#define RAMDAC_VREFEN 41,851 -#define RAMDAC_BYPASS 42,879 -#define RAMDAC_DACPWRDN 43,907 -#define EXT_CRT_VRTOFL 45,938 -#define EXT_CRT_VRTOFL_LINECOMP10 46,967 -#define EXT_CRT_VRTOFL_INTERLACE 47,1006 -#define EXT_CRT_IRQ 49,1045 -#define EXT_CRT_IRQ_ENABLE 50,1071 -#define EXT_CRT_IRQ_ACT_HIGH 51,1104 -#define EXT_CRT_TEST 53,1140 -#define EXT_SYNC_CTL 55,1168 -#define EXT_SYNC_CTL_HS_NORMAL 56,1195 -#define EXT_SYNC_CTL_HS_0 57,1232 -#define EXT_SYNC_CTL_HS_1 58,1264 -#define EXT_SYNC_CTL_HS_HSVS 59,1296 -#define EXT_SYNC_CTL_VS_NORMAL 60,1331 -#define EXT_SYNC_CTL_VS_0 61,1368 -#define EXT_SYNC_CTL_VS_1 62,1400 -#define EXT_SYNC_CTL_VS_COMP 63,1432 -#define EXT_BUS_CTL 65,1468 -#define EXT_BUS_CTL_LIN_1MB 66,1494 -#define EXT_BUS_CTL_LIN_2MB 67,1528 -#define EXT_BUS_CTL_LIN_4MB 68,1562 -#define EXT_BUS_CTL_ZEROWAIT 69,1596 -#define EXT_BUS_CTL_PCIBURST_WRITE 70,1631 -#define EXT_BUS_CTL_PCIBURST_READ 71,1671 -#define EXT_SEG_WRITE_PTR 73,1736 -#define EXT_SEG_READ_PTR 74,1767 -#define EXT_BIU_MISC 75,1797 -#define EXT_BIU_MISC_LIN_ENABLE 76,1824 -#define EXT_BIU_MISC_COP_ENABLE 77,1862 -#define EXT_BIU_MISC_COP_BFC 78,1900 -#define EXT_FUNC_CTL 80,1936 -#define EXT_FUNC_CTL_EXTREGENBL 81,1963 -#define PCI_BM_CTL 83,2034 -#define PCI_BM_CTL_ENABLE 84,2059 -#define PCI_BM_CTL_BURST 85,2117 -#define PCI_BM_CTL_BACK2BACK 86,2170 -#define PCI_BM_CTL_DUMMY 87,2233 -#define X_V2_VID_MEM_START 89,2292 -#define X_V2_VID_SRC_WIDTH 90,2324 -#define X_V2_X_START 91,2356 -#define X_V2_X_END 92,2383 -#define X_V2_Y_START 93,2408 -#define X_V2_Y_END 94,2435 -#define X_V2_VID_SRC_WIN_WIDTH 95,2460 -#define Y_V2_DDA_X_INC 97,2497 -#define Y_V2_DDA_Y_INC 98,2526 -#define Y_V2_VID_FIFO_CTL 99,2555 -#define Y_V2_VID_FMT 100,2586 -#define Y_V2_VID_DISP_CTL1 101,2613 -#define Y_V2_VID_FIFO_CTL1 102,2645 -#define J_X2_VID_MEM_START 104,2678 -#define J_X2_VID_SRC_WIDTH 105,2710 -#define J_X2_X_START 106,2742 -#define J_X2_X_END 107,2769 -#define J_X2_Y_START 108,2794 -#define J_X2_Y_END 109,2821 -#define J_X2_VID_SRC_WIN_WIDTH 110,2846 -#define K_X2_DDA_X_INIT 112,2883 -#define K_X2_DDA_X_INC 113,2913 -#define K_X2_DDA_Y_INIT 114,2942 -#define K_X2_DDA_Y_INC 115,2972 -#define K_X2_VID_FMT 116,3001 -#define K_X2_VID_DISP_CTL1 117,3028 -#define K_CAP_X2_CTL1 119,3061 -#define CURS_H_START 121,3090 -#define CURS_H_PRESET 122,3117 -#define CURS_V_START 123,3145 -#define CURS_V_PRESET 124,3172 -#define CURS_CTL 125,3200 -#define EXT_ATTRIB_CTL 127,3224 -#define EXT_ATTRIB_CTL_EXT 128,3253 -#define EXT_OVERSCAN_RED 130,3287 -#define EXT_OVERSCAN_GREEN 131,3317 -#define EXT_OVERSCAN_BLUE 132,3349 -#define CAP_X_START 134,3381 -#define CAP_X_END 135,3407 -#define CAP_Y_START 136,3431 -#define CAP_Y_END 137,3457 -#define CAP_DDA_X_INIT 138,3481 -#define CAP_DDA_X_INC 139,3510 -#define CAP_DDA_Y_INIT 140,3538 -#define CAP_DDA_Y_INC 141,3567 -#define EXT_MEM_CTL0 143,3596 -#define EXT_MEM_CTL0_7CLK 144,3623 -#define EXT_MEM_CTL0_RAS_1 145,3655 -#define EXT_MEM_CTL0_RAS2CAS_1 146,3688 -#define EXT_MEM_CTL0_MULTCAS 147,3725 -#define EXT_MEM_CTL0_ASYM 148,3760 -#define EXT_MEM_CTL0_CAS1ON 149,3792 -#define EXT_MEM_CTL0_FIFOFLUSH 150,3826 -#define EXT_MEM_CTL0_SEQRESET 151,3863 -#define EXT_MEM_CTL1 153,3900 -#define EXT_MEM_CTL1_PAR 154,3927 -#define EXT_MEM_CTL1_SERPAR 155,3958 -#define EXT_MEM_CTL1_SER 156,3992 -#define EXT_MEM_CTL1_SYNC 157,4023 -#define EXT_MEM_CTL1_VRAM 158,4055 -#define EXT_MEM_CTL1_4K_REFRESH 159,4087 -#define EXT_MEM_CTL1_256Kx4 160,4125 -#define EXT_MEM_CTL1_512Kx8 161,4159 -#define EXT_MEM_CTL1_1Mx16 162,4193 -#define EXT_MEM_CTL2 164,4227 -#define MEM_CTL2_SIZE_1MB 165,4254 -#define MEM_CTL2_SIZE_2MB 166,4286 -#define MEM_CTL2_SIZE_4MB 167,4318 -#define MEM_CTL2_SIZE_MASK 168,4350 -#define MEM_CTL2_64BIT 169,4383 -#define EXT_HIDDEN_CTL1 171,4414 -#define EXT_FIFO_CTL 173,4445 -#define EXT_SEQ_MISC 175,4473 -#define EXT_SEQ_MISC_8 176,4500 -#define EXT_SEQ_MISC_16_RGB565 177,4530 -#define EXT_SEQ_MISC_32 178,4567 -#define EXT_SEQ_MISC_24_RGB888 179,4598 -#define EXT_SEQ_MISC_16_RGB555 180,4635 -#define EXT_SEQ_MISC_8_RGB332 181,4672 -#define EXT_SEQ_MISC_16_RGB444 182,4708 -#define EXT_HIDDEN_CTL4 184,4746 -#define CURS_MEM_START 186,4777 -#define CAP_PIP_X_START 188,4826 -#define CAP_PIP_X_END 189,4856 -#define CAP_PIP_Y_START 190,4884 -#define CAP_PIP_Y_END 191,4914 -#define EXT_CAP_CTL1 193,4943 -#define EXT_CAP_CTL2 195,4971 -#define EXT_CAP_CTL2_ODDFRAMEIRQ 196,4998 -#define EXT_CAP_CTL2_ANYFRAMEIRQ 197,5036 -#define BM_CTRL0 199,5075 -#define BM_CTRL1 200,5098 -#define EXT_CAP_MODE1 202,5122 -#define EXT_CAP_MODE1_8BIT 203,5150 -#define EXT_CAP_MODE1_CCIR656 204,5215 -#define EXT_CAP_MODE1_IGNOREVGT 205,5273 -#define EXT_CAP_MODE1_ALTFIFO 206,5331 -#define EXT_CAP_MODE1_SWAPUV 207,5404 -#define EXT_CAP_MODE1_MIRRORY 208,5461 -#define EXT_CAP_MODE1_MIRRORX 209,5523 -#define EXT_CAP_MODE2 211,5588 -#define EXT_CAP_MODE2_CCIRINVOE 212,5616 -#define EXT_CAP_MODE2_CCIRINVVGT 213,5654 -#define EXT_CAP_MODE2_CCIRINVHGT 214,5692 -#define EXT_CAP_MODE2_CCIRINVDG 215,5730 -#define EXT_CAP_MODE2_DATEND 216,5768 -#define EXT_CAP_MODE2_CCIRDGH 217,5803 -#define EXT_CAP_MODE2_FIXSONY 218,5839 -#define EXT_CAP_MODE2_SYNCFREEZE 219,5875 -#define EXT_TV_CTL 221,5914 -#define EXT_DCLK_MULT 223,5940 -#define EXT_DCLK_DIV 224,5968 -#define EXT_DCLK_DIV_VFSEL 225,5995 -#define EXT_MCLK_MULT 226,6028 -#define EXT_MCLK_DIV 227,6056 -#define EXT_LATCH1 229,6084 -#define EXT_LATCH1_VAFC_EN 230,6109 -#define EXT_FEATURE 232,6164 -#define EXT_FEATURE_BUS_MASK 233,6190 -#define EXT_FEATURE_BUS_PCI 234,6247 -#define EXT_FEATURE_BUS_VL_STD 235,6281 -#define EXT_FEATURE_BUS_VL_LINEAR 236,6318 -#define EXT_FEATURE_1682 237,6357 -#define EXT_LATCH2 239,6419 -#define EXT_LATCH2_I2C_CLKEN 240,6444 -#define EXT_LATCH2_I2C_CLK 241,6479 -#define EXT_LATCH2_I2C_DATEN 242,6512 -#define EXT_LATCH2_I2C_DAT 243,6547 -#define EXT_XT_CTL 245,6581 -#define EXT_XT_CAP16 246,6606 -#define EXT_XT_LINEARFB 247,6634 -#define EXT_XT_PAL 248,6665 -#define EXT_MEM_START 250,6692 -#define HOR_PHASE_SHIFT 251,6754 -#define EXT_SRC_WIDTH 252,6806 -#define EXT_SRC_HEIGHT 253,6868 -#define EXT_X_START 254,6919 -#define EXT_X_END 255,6975 -#define EXT_Y_START 256,7029 -#define EXT_Y_END 257,7085 -#define EXT_SRC_WIN_WIDTH 258,7139 -#define EXT_COLOUR_COMPARE 259,7187 -#define EXT_DDA_X_INIT 260,7237 -#define EXT_DDA_X_INC 261,7295 -#define EXT_DDA_Y_INIT 262,7352 -#define EXT_DDA_Y_INC 263,7410 -#define EXT_VID_FIFO_CTL 265,7468 -#define EXT_VID_FMT 267,7499 -#define EXT_VID_FMT_YUV422 268,7525 -#define EXT_VID_FMT_RGB555 269,7602 -#define EXT_VID_FMT_RGB565 270,7635 -#define EXT_VID_FMT_RGB888_24 271,7668 -#define EXT_VID_FMT_RGB888_32 272,7704 -#define EXT_VID_FMT_RGB8 273,7740 -#define EXT_VID_FMT_RGB4444 274,7771 -#define EXT_VID_FMT_RGB8T 275,7805 -#define EXT_VID_FMT_DUP_PIX_ZOON 276,7837 -#define EXT_VID_FMT_MOD_3RD_PIX 277,7904 -#define EXT_VID_FMT_DBL_H_PIX 278,7977 -#define EXT_VID_FMT_YUV128 279,8041 -#define EXT_VID_DISP_CTL1 281,8105 -#define EXT_VID_DISP_CTL1_INTRAM 282,8136 -#define EXT_VID_DISP_CTL1_IGNORE_CCOMP 283,8212 -#define EXT_VID_DISP_CTL1_NOCLIP 284,8294 -#define EXT_VID_DISP_CTL1_UV_AVG 285,8366 -#define EXT_VID_DISP_CTL1_Y128 286,8433 -#define EXT_VID_DISP_CTL1_VINTERPOL_OFF 287,8513 -#define EXT_VID_DISP_CTL1_FULL_WIN 288,8595 -#define EXT_VID_DISP_CTL1_ENABLE_WINDOW 289,8664 -#define EXT_VID_FIFO_CTL1 291,8738 -#define EXT_VID_FIFO_CTL1_OE_HIGH 292,8769 -#define EXT_VID_FIFO_CTL1_INTERLEAVE 293,8808 -#define EXT_ROM_UCB4GH 295,8888 -#define EXT_ROM_UCB4GH_FREEZE 296,8917 -#define EXT_ROM_UCB4GH_ODDFRAME 297,8976 -#define EXT_ROM_UCB4GH_1HL 298,9044 -#define EXT_ROM_UCB4GH_ODD 299,9127 -#define EXT_ROM_UCB4GH_INTSTAT 300,9188 -#define VFAC_CTL1 302,9250 -#define VFAC_CTL1_CAPTURE 303,9274 -#define VFAC_CTL1_VFAC_ENABLE 304,9349 -#define VFAC_CTL1_FREEZE_CAPTURE 305,9406 -#define VFAC_CTL1_FREEZE_CAPTURE_SYNC 306,9467 -#define VFAC_CTL1_VALIDFRAME_SRC 307,9538 -#define VFAC_CTL1_PHILIPS 308,9609 -#define VFAC_CTL1_MODVINTERPOLCLK 309,9669 -#define VFAC_CTL2 311,9751 -#define VFAC_CTL2_INVERT_VIDDATAVALID 312,9775 -#define VFAC_CTL2_INVERT_GRAPHREADY 313,9849 -#define VFAC_CTL2_INVERT_DATACLK 314,9928 -#define VFAC_CTL2_INVERT_HSYNC 315,9998 -#define VFAC_CTL2_INVERT_VSYNC 316,10062 -#define VFAC_CTL2_INVERT_FRAME 317,10126 -#define VFAC_CTL2_INVERT_BLANK 318,10198 -#define VFAC_CTL2_INVERT_OVSYNC 319,10263 -#define VFAC_CTL3 321,10334 -#define VFAC_CTL3_CAP_LARGE_FIFO 322,10358 -#define VFAC_CTL3_CAP_INTERLACE 323,10423 -#define VFAC_CTL3_CAP_HOLD_4NS 324,10496 -#define VFAC_CTL3_CAP_HOLD_2NS 325,10566 -#define VFAC_CTL3_CAP_HOLD_6NS 326,10636 -#define VFAC_CTL3_CAP_HOLD_0NS 327,10706 -#define VFAC_CTL3_CHROMAKEY 328,10776 -#define VFAC_CTL3_CAP_IRQ 329,10849 -#define CAP_MEM_START 331,10914 -#define CAP_MAP_WIDTH 332,10960 -#define CAP_PITCH 333,11010 -#define CAP_CTL_MISC 335,11052 -#define CAP_CTL_MISC_HDIV 336,11079 -#define CAP_CTL_MISC_HDIV4 337,11111 -#define CAP_CTL_MISC_ODDEVEN 338,11144 -#define CAP_CTL_MISC_HSYNCDIV2 339,11179 -#define CAP_CTL_MISC_SYNCTZHIGH 340,11216 -#define CAP_CTL_MISC_SYNCTZOR 341,11254 -#define CAP_CTL_MISC_DISPUSED 342,11290 -#define REG_BANK 344,11327 -#define REG_BANK_X 345,11350 -#define REG_BANK_Y 346,11376 -#define REG_BANK_W 347,11402 -#define REG_BANK_T 348,11428 -#define REG_BANK_J 349,11454 -#define REG_BANK_K 350,11480 -#define BM_VID_ADDR_LOW 355,11528 -#define BM_VID_ADDR_HIGH 356,11561 -#define BM_ADDRESS_LOW 357,11594 -#define BM_ADDRESS_HIGH 358,11626 -#define BM_LENGTH 359,11659 -#define BM_CONTROL 360,11686 -#define BM_CONTROL_ENABLE 361,11714 -#define BM_CONTROL_IRQEN 362,11770 -#define BM_CONTROL_INIT 363,11837 -#define BM_COUNT 364,11901 -#define TV_VBLANK_EVEN_START 369,11971 -#define TV_VBLANK_EVEN_END 370,12008 -#define TV_VBLANK_ODD_START 371,12043 -#define TV_VBLANK_ODD_END 372,12079 -#define TV_SYNC_YGAIN 373,12113 -#define TV_UV_GAIN 374,12144 -#define TV_PED_UVDET 375,12172 -#define TV_UV_BURST_AMP 376,12202 -#define TV_HSYNC_START 377,12235 -#define TV_HSYNC_END 378,12267 -#define TV_Y_DELAY1 379,12297 -#define TV_Y_DELAY2 380,12326 -#define TV_UV_DELAY1 381,12355 -#define TV_BURST_START 382,12385 -#define TV_BURST_END 383,12417 -#define TV_HBLANK_START 384,12447 -#define TV_HBLANK_END 385,12480 -#define TV_PED_EVEN_START 386,12511 -#define TV_PED_EVEN_END 387,12545 -#define TV_PED_ODD_START 388,12578 -#define TV_PED_ODD_END 389,12611 -#define TV_VSYNC_EVEN_START 390,12643 -#define TV_VSYNC_EVEN_END 391,12679 -#define TV_VSYNC_ODD_START 392,12713 -#define TV_VSYNC_ODD_END 393,12748 -#define TV_SCFL 394,12781 -#define TV_SCFH 395,12807 -#define TV_SCP 396,12833 -#define TV_DELAYBYPASS 397,12858 -#define TV_EQL_END 398,12890 -#define TV_SERR_START 399,12918 -#define TV_SERR_END 400,12949 -#define TV_CTL 401,12978 -#define TV_VSYNC_VGA_HS 402,13062 -#define TV_FLICK_XMIN 403,13095 -#define TV_FLICK_XMAX 404,13126 -#define TV_FLICK_YMIN 405,13157 -#define TV_FLICK_YMAX 406,13188 -#define CO_REG_CONTROL 411,13252 -#define CO_CTRL_BUSY 412,13284 -#define CO_CTRL_CMDFULL 413,13312 -#define CO_CTRL_FIFOEMPTY 414,13343 -#define CO_CTRL_READY 415,13375 -#define CO_REG_SRC_WIDTH 417,13405 -#define CO_REG_PIXFMT 418,13438 -#define CO_PIXFMT_32BPP 419,13469 -#define CO_PIXFMT_24BPP 420,13500 -#define CO_PIXFMT_16BPP 421,13531 -#define CO_PIXFMT_8BPP 422,13562 -#define CO_REG_FGMIX 424,13593 -#define CO_FG_MIX_ZERO 425,13623 -#define CO_FG_MIX_SRC_AND_DST 426,13653 -#define CO_FG_MIX_SRC_AND_NDST 427,13689 -#define CO_FG_MIX_SRC 428,13726 -#define CO_FG_MIX_NSRC_AND_DST 429,13755 -#define CO_FG_MIX_DST 430,13792 -#define CO_FG_MIX_SRC_XOR_DST 431,13821 -#define CO_FG_MIX_SRC_OR_DST 432,13857 -#define CO_FG_MIX_NSRC_AND_NDST 433,13892 -#define CO_FG_MIX_SRC_XOR_NDST 434,13930 -#define CO_FG_MIX_NDST 435,13967 -#define CO_FG_MIX_SRC_OR_NDST 436,13997 -#define CO_FG_MIX_NSRC 437,14033 -#define CO_FG_MIX_NSRC_OR_DST 438,14063 -#define CO_FG_MIX_NSRC_OR_NDST 439,14099 -#define CO_FG_MIX_ONES 440,14136 -#define CO_REG_FGCOLOUR 442,14167 -#define CO_REG_BGCOLOUR 443,14200 -#define CO_REG_PIXWIDTH 444,14233 -#define CO_REG_PIXHEIGHT 445,14266 -#define CO_REG_X_PHASE 446,14299 -#define CO_REG_CMD_L 447,14331 -#define CO_CMD_L_PATTERN_FGCOL 448,14361 -#define CO_CMD_L_INC_LEFT 449,14400 -#define CO_CMD_L_INC_UP 450,14434 -#define CO_REG_CMD_H 452,14468 -#define CO_CMD_H_BGSRCMAP 453,14498 -#define CO_CMD_H_FGSRCMAP 454,14558 -#define CO_CMD_H_BLITTER 455,14618 -#define CO_REG_SRC1_PTR 457,14652 -#define CO_REG_SRC2_PTR 458,14685 -#define CO_REG_DEST_PTR 459,14718 -#define CO_REG_DEST_WIDTH 460,14751 -struct cyberpro_info cyberpro_info467,14832 -#define ID_IGA_1682 493,15488 -#define ID_CYBERPRO_2000 494,15511 -#define ID_CYBERPRO_2010 495,15538 -#define ID_CYBERPRO_5000 496,15565 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/retz3fb.h,6681 -#define reg_w(reg_w19,423 -#define reg_r(reg_r20,474 -#define seq_w(seq_w25,557 -#define crt_w(crt_w31,711 -#define gfx_w(gfx_w37,870 -#define attr_w(attr_w43,1030 -#define pll_w(pll_w49,1174 -#define VIDEO_MEM_OFFSET 58,1361 -#define ACM_OFFSET 59,1397 -#define ACM_PRIMARY_OFFSET 64,1464 -#define ACM_SECONDARY_OFFSET 65,1496 -#define ACM_MODE_CONTROL 66,1530 -#define ACM_CURSOR_POSITION 67,1560 -#define ACM_START_STATUS 68,1593 -#define ACM_CONTROL 69,1623 -#define ACM_RASTEROP_ROTATION 70,1649 -#define ACM_BITMAP_DIMENSION 71,1684 -#define ACM_DESTINATION 72,1718 -#define ACM_SOURCE 73,1748 -#define ACM_PATTERN 74,1773 -#define ACM_FOREGROUND 75,1799 -#define ACM_BACKGROUND 76,1828 -#define VDAC_ADDRESS 81,1888 -#define VDAC_ADDRESS_W 82,1917 -#define VDAC_ADDRESS_R 83,1948 -#define VDAC_STATE 84,1979 -#define VDAC_DATA 85,2006 -#define VDAC_MASK 86,2032 -#define SEQ_IDX 91,2079 -#define SEQ_DATA 92,2126 -#define SEQ_RESET 93,2151 -#define SEQ_CLOCKING_MODE 94,2175 -#define SEQ_MAP_MASK 95,2206 -#define SEQ_CHAR_MAP_SELECT 96,2233 -#define SEQ_MEMORY_MODE 97,2266 -#define SEQ_EXTENDED_ENABLE 98,2296 -#define SEQ_UNKNOWN1 99,2350 -#define SEQ_UNKNOWN2 100,2385 -#define SEQ_CHIP_ID 101,2420 -#define SEQ_UNKNOWN3 102,2446 -#define SEQ_CURSOR_COLOR1 103,2481 -#define SEQ_CURSOR_COLOR0 104,2512 -#define SEQ_CURSOR_CONTROL 105,2543 -#define SEQ_CURSOR_X_LOC_HI 106,2575 -#define SEQ_CURSOR_X_LOC_LO 107,2608 -#define SEQ_CURSOR_Y_LOC_HI 108,2641 -#define SEQ_CURSOR_Y_LOC_LO 109,2674 -#define SEQ_CURSOR_X_INDEX 110,2707 -#define SEQ_CURSOR_Y_INDEX 111,2739 -#define SEQ_CURSOR_STORE_HI 112,2771 -#define SEQ_CURSOR_STORE_LO 113,2804 -#define SEQ_CURSOR_ST_OFF_HI 114,2837 -#define SEQ_CURSOR_ST_OFF_LO 115,2871 -#define SEQ_CURSOR_PIXELMASK 116,2905 -#define SEQ_PRIM_HOST_OFF_HI 117,2939 -#define SEQ_PRIM_HOST_OFF_LO 118,2973 -#define SEQ_LINEAR_0 119,3007 -#define SEQ_LINEAR_1 120,3034 -#define SEQ_SEC_HOST_OFF_HI 121,3061 -#define SEQ_SEC_HOST_OFF_LO 122,3094 -#define SEQ_EXTENDED_MEM_ENA 123,3127 -#define SEQ_EXT_CLOCK_MODE 124,3161 -#define SEQ_EXT_VIDEO_ADDR 125,3193 -#define SEQ_EXT_PIXEL_CNTL 126,3225 -#define SEQ_BUS_WIDTH_FEEDB 127,3257 -#define SEQ_PERF_SELECT 128,3290 -#define SEQ_COLOR_EXP_WFG 129,3320 -#define SEQ_COLOR_EXP_WBG 130,3351 -#define SEQ_EXT_RW_CONTROL 131,3382 -#define SEQ_MISC_FEATURE_SEL 132,3414 -#define SEQ_COLOR_KEY_CNTL 133,3448 -#define SEQ_COLOR_KEY_MATCH0 134,3480 -#define SEQ_COLOR_KEY_MATCH1 135,3514 -#define SEQ_COLOR_KEY_MATCH2 136,3549 -#define SEQ_UNKNOWN6 137,3584 -#define SEQ_CRC_CONTROL 138,3619 -#define SEQ_CRC_DATA_LOW 139,3649 -#define SEQ_CRC_DATA_HIGH 140,3679 -#define SEQ_MEMORY_MAP_CNTL 141,3710 -#define SEQ_ACM_APERTURE_1 142,3743 -#define SEQ_ACM_APERTURE_2 143,3775 -#define SEQ_ACM_APERTURE_3 144,3807 -#define SEQ_BIOS_UTILITY_0 145,3839 -#define SEQ_BIOS_UTILITY_1 146,3871 -#define GFX_IDX 151,3934 -#define GFX_DATA 152,3959 -#define GFX_SET_RESET 153,3984 -#define GFX_ENABLE_SET_RESET 154,4012 -#define GFX_COLOR_COMPARE 155,4046 -#define GFX_DATA_ROTATE 156,4077 -#define GFX_READ_MAP_SELECT 157,4107 -#define GFX_GRAPHICS_MODE 158,4140 -#define GFX_MISC 159,4171 -#define GFX_COLOR_XCARE 160,4194 -#define GFX_BITMASK 161,4224 -#define CRT_IDX 166,4276 -#define CRT_DATA 167,4301 -#define CRT_HOR_TOTAL 168,4326 -#define CRT_HOR_DISP_ENA_END 169,4354 -#define CRT_START_HOR_BLANK 170,4388 -#define CRT_END_HOR_BLANK 171,4421 -#define CRT_START_HOR_RETR 172,4452 -#define CRT_END_HOR_RETR 173,4484 -#define CRT_VER_TOTAL 174,4514 -#define CRT_OVERFLOW 175,4542 -#define CRT_PRESET_ROW_SCAN 176,4569 -#define CRT_MAX_SCAN_LINE 177,4602 -#define CRT_CURSOR_START 178,4633 -#define CRT_CURSOR_END 179,4663 -#define CRT_START_ADDR_HIGH 180,4692 -#define CRT_START_ADDR_LOW 181,4725 -#define CRT_CURSOR_LOC_HIGH 182,4757 -#define CRT_CURSOR_LOC_LOW 183,4790 -#define CRT_START_VER_RETR 184,4822 -#define CRT_END_VER_RETR 185,4854 -#define CRT_VER_DISP_ENA_END 186,4884 -#define CRT_OFFSET 187,4918 -#define CRT_UNDERLINE_LOC 188,4943 -#define CRT_START_VER_BLANK 189,4974 -#define CRT_END_VER_BLANK 190,5007 -#define CRT_MODE_CONTROL 191,5038 -#define CRT_LINE_COMPARE 192,5068 -#define CRT_UNKNOWN1 193,5098 -#define CRT_UNKNOWN2 194,5133 -#define CRT_UNKNOWN3 195,5168 -#define CRT_UNKNOWN4 196,5203 -#define CRT_UNKNOWN5 197,5238 -#define CRT_UNKNOWN6 198,5273 -#define CRT_UNKNOWN7 199,5308 -#define CRT_UNKNOWN8 200,5343 -#define CRT_UNKNOWN9 201,5378 -#define CRT_UNKNOWN10 202,5405 -#define CRT_UNKNOWN11 203,5433 -#define CRT_UNKNOWN12 204,5466 -#define CRT_UNKNOWN13 205,5499 -#define CRT_UNKNOWN14 206,5532 -#define CRT_UNKNOWN15 207,5565 -#define CRT_UNKNOWN16 208,5598 -#define CRT_UNKNOWN17 209,5631 -#define CRT_UNKNOWN18 210,5664 -#define CRT_UNKNOWN19 211,5697 -#define CRT_UNKNOWN20 212,5730 -#define CRT_UNKNOWN21 213,5763 -#define CRT_UNKNOWN22 214,5796 -#define CRT_UNKNOWN23 215,5829 -#define CRT_EXT_HOR_TIMING1 216,5862 -#define CRT_EXT_START_ADDR 217,5920 -#define CRT_EXT_HOR_TIMING2 218,5952 -#define CRT_EXT_VER_TIMING 219,5985 -#define CRT_MONITOR_POWER 220,6017 -#define GREG_STATUS0_R 225,6077 -#define GREG_STATUS1_R 226,6108 -#define GREG_MISC_OUTPUT_R 227,6139 -#define GREG_MISC_OUTPUT_W 228,6173 -#define GREG_FEATURE_CONTROL_R 229,6208 -#define GREG_FEATURE_CONTROL_W 230,6246 -#define GREG_POS 231,6284 -#define ACT_IDX 236,6341 -#define ACT_ADDRESS_R 237,6366 -#define ACT_DATA 238,6396 -#define ACT_ADDRESS_RESET 239,6421 -#define ACT_PALETTE0 240,6454 -#define ACT_PALETTE1 241,6481 -#define ACT_PALETTE2 242,6508 -#define ACT_PALETTE3 243,6535 -#define ACT_PALETTE4 244,6562 -#define ACT_PALETTE5 245,6589 -#define ACT_PALETTE6 246,6616 -#define ACT_PALETTE7 247,6643 -#define ACT_PALETTE8 248,6670 -#define ACT_PALETTE9 249,6697 -#define ACT_PALETTE10 250,6724 -#define ACT_PALETTE11 251,6752 -#define ACT_PALETTE12 252,6780 -#define ACT_PALETTE13 253,6808 -#define ACT_PALETTE14 254,6836 -#define ACT_PALETTE15 255,6864 -#define ACT_ATTR_MODE_CNTL 256,6892 -#define ACT_OVERSCAN_COLOR 257,6924 -#define ACT_COLOR_PLANE_ENA 258,6956 -#define ACT_HOR_PEL_PANNING 259,6989 -#define ACT_COLOR_SELECT 260,7022 -#define PLL_IDX 265,7067 -#define PLL_DATA 266,7092 -#define Z3BLTclear 271,7147 -#define Z3BLTand 272,7180 -#define Z3BLTandReverse 273,7221 -#define Z3BLTcopy 274,7273 -#define Z3BLTandInverted 275,7307 -#define Z3BLTnoop 276,7359 -#define Z3BLTxor 277,7393 -#define Z3BLTor 278,7434 -#define Z3BLTnor 279,7474 -#define Z3BLTequiv 280,7523 -#define Z3BLTinvert 281,7570 -#define Z3BLTorReverse 282,7610 -#define Z3BLTcopyInverted 283,7660 -#define Z3BLTorInverted 284,7705 -#define Z3BLTnand 285,7756 -#define Z3BLTset 286,7805 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/skeletonfb.c,801 -static struct fb_fix_screeninfo xxxfb_fix __initdata 82,3554 -static struct fb_info info;120,5445 -static struct xxx_par __initdata current_par;126,5642 -static int xxxfb_open(143,6237 -static int xxxfb_release(160,6821 -static int xxxfb_check_var(187,8100 -static int xxxfb_set_par(207,8934 -static int xxxfb_setcolreg(236,10280 -#define CNVT_TOHW(CNVT_TOHW273,11758 -static int xxxfb_pan_display(335,13810 -static int xxxfb_blank(358,14607 -void xxfb_fillrect(387,15634 -void xxxfb_copyarea(413,16661 -void xxxfb_imageblit(438,17600 -int xxxfb_cursor(469,18827 -void xxxfb_rotate(494,19661 -void xxxfb_poll(507,20088 -void xxxfb_sync(520,20540 -int __init xxxfb_init(528,20622 -static void __exit xxxfb_cleanup(583,22139 -int __init xxxfb_setup(613,22721 -static struct fb_ops xxxfb_ops 624,22949 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pxafb.h,594 -#define __PXAFB_H__2,20 -struct pxafb_lcd_reg pxafb_lcd_reg25,733 -struct pxafb_dma_descriptor pxafb_dma_descriptor33,873 -struct pxafb_info pxafb_info40,990 -#define TO_INF(TO_INF98,2387 -#define C_DISABLE 103,2510 -#define C_ENABLE 104,2533 -#define C_DISABLE_CLKCHANGE 105,2555 -#define C_ENABLE_CLKCHANGE 106,2587 -#define C_REENABLE 107,2618 -#define C_DISABLE_PM 108,2642 -#define C_ENABLE_PM 109,2668 -#define C_STARTUP 110,2693 -#define PXA_NAME 112,2717 -# define DPRINTK(DPRINTK118,2775 -# define DPRINTK(DPRINTK120,2856 -#define MIN_XRES 126,2934 -#define MIN_YRES 127,2954 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/hpfb.c,825 -static struct fb_info fb_info;22,478 -unsigned long fb_regs;24,510 -unsigned char fb_bitmask;25,533 -#define TC_WEN 27,560 -#define TC_REN 28,583 -#define TC_FBEN 29,606 -#define TC_NBLANK 30,630 -#define BUSY 33,675 -#define WMRR 34,696 -#define SOURCE_X 35,717 -#define SOURCE_Y 36,741 -#define DEST_X 37,765 -#define DEST_Y 38,788 -#define WHEIGHT 39,811 -#define WWIDTH 40,835 -#define WMOVE 41,858 -static struct fb_fix_screeninfo hpfb_fix __initdata 43,881 -static struct fb_var_screeninfo hpfb_defined 52,1104 -static int hpfb_setcolreg(73,1611 -void hpfb_copyarea(89,2118 -static struct fb_ops hpfb_ops 102,2553 -#define TOPCAT_FBOMSB 111,2768 -#define TOPCAT_FBOLSB 112,2795 -int __init hpfb_init_one(114,2823 -#define topcat_sid_ok(topcat_sid_ok174,4287 -int __init hpfb_init(181,4482 -#define INTFBADDR 193,4889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/tx3912fb.c,461 -static struct fb_info fb_info;33,841 -static u32 cfb8[34,872 -static struct fb_fix_screeninfo tx3912fb_fix __initdata 36,894 -static struct fb_var_screeninfo tx3912fb_var 51,1211 -#define get_line_length(get_line_length92,2024 -static struct fb_ops tx3912fb_ops 98,2206 -static int tx3912fb_check_var(107,2428 -static int tx3912fb_set_par(120,2710 -static int tx3912fb_setcolreg(197,4842 -int __init tx3912fb_init(216,5257 -int __init tx3912fb_setup(325,8310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/bw2.c,1646 -static struct fb_ops bw2_ops 46,1035 -#define BWTWO_REGISTER_OFFSET 58,1338 -struct bt_regs bt_regs60,1378 -struct bw2_regs bw2_regs67,1489 -#define BWTWO_SR_RES_MASK 88,2001 -#define BWTWO_SR_1600_1280 89,2032 -#define BWTWO_SR_1152_900_76_A 90,2064 -#define BWTWO_SR_1152_900_76_B 91,2100 -#define BWTWO_SR_ID_MASK 92,2136 -#define BWTWO_SR_ID_MONO 93,2166 -#define BWTWO_SR_ID_MONO_ECL 94,2196 -#define BWTWO_SR_ID_MSYNC 95,2230 -#define BWTWO_SR_ID_NOCONN 96,2261 -#define BWTWO_CTL_ENABLE_INTS 99,2327 -#define BWTWO_CTL_ENABLE_VIDEO 100,2364 -#define BWTWO_CTL_ENABLE_TIMING 101,2401 -#define BWTWO_CTL_ENABLE_CURCMP 102,2438 -#define BWTWO_CTL_XTAL_MASK 103,2475 -#define BWTWO_CTL_DIVISOR_MASK 104,2512 -#define BWTWO_STAT_PENDING_INT 107,2582 -#define BWTWO_STAT_MSENSE_MASK 108,2619 -#define BWTWO_STAT_ID_MASK 109,2656 -struct bw2_par bw2_par111,2694 -#define BW2_FLAG_BLANKED 116,2770 -bw2_blank(131,3111 -static struct sbus_mmap_map bw2_mmap_map[164,3854 -static int bw2_mmap(171,3957 -static int bw2_ioctl(183,4263 -bw2_init_fix(197,4571 -static u8 bw2regs_1600[209,4838 -static u8 bw2regs_1600[] __initdata 209,4838 -static u8 bw2regs_ecl[216,5044 -static u8 bw2regs_ecl[] __initdata 216,5044 -static u8 bw2regs_analog[223,5249 -static u8 bw2regs_analog[] __initdata 223,5249 -static u8 bw2regs_76hz[230,5457 -static u8 bw2regs_76hz[] __initdata 230,5457 -static u8 bw2regs_66hz[237,5663 -static u8 bw2regs_66hz[] __initdata 237,5663 -static void bw2_do_default_mode(244,5869 -struct all_info all_info289,6795 -static void bw2_init_one(296,6912 -int __init bw2_init(384,9266 -void __exit bw2_exit(403,9561 -bw2_setup(416,9796 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pm2fb.c,1748 -#define PM2FB_BE_APERTURE51,1379 -#define DPRINTK(DPRINTK60,1541 -#define DPRINTK(DPRINTK62,1627 -static char *mode __initdata 78,2130 -static int lowhsync __initdata 89,2614 -static int lowvsync __initdata 90,2650 -struct pm2fb_parpm2fb_par96,2776 -static struct fb_fix_screeninfo pm2fb_fix __initdata 110,3192 -static struct fb_var_screeninfo pm2fb_var __initdata 124,3536 -inline static u32 RD32(152,4063 -inline static void WR32(157,4151 -inline static u32 pm2_RD(162,4244 -inline static void pm2_WR(167,4334 -inline static u32 pm2_RDAC_RD(172,4428 -inline static void pm2_RDAC_WR(188,4783 -inline static u32 pm2v_RDAC_RD(204,5142 -inline static void pm2v_RDAC_WR(211,5301 -#define WAIT_FIFO(WAIT_FIFO219,5501 -inline static void WAIT_FIFO(221,5530 -#define PACKPP(PACKPP231,5720 -} pp_table[235,5823 -static u32 partprod(254,6710 -static u32 to3264(265,6918 -static void pm2_mnp(285,7196 -static void pm2v_mnp(314,7729 -static void clear_palette(339,8214 -static void reset_card(354,8532 -static void reset_config(371,8894 -static void set_aperture(427,10874 -static void set_color(452,11355 -static void set_pixclock(465,11686 -static void set_video(500,12602 -static int pm2fb_check_var(555,14128 -static int pm2fb_set_par(649,16628 -static int pm2fb_setcolreg(831,22022 -#define CNVT_TOHW(CNVT_TOHW872,23459 -static int pm2fb_pan_display(936,25283 -static int pm2fb_blank(969,26351 -static struct fb_ops pm2fb_ops 1006,27380 -static int __devinit pm2fb_probe(1032,27892 -static void __devexit pm2fb_remove(1175,31746 -static struct pci_device_id pm2fb_id_table[1191,32162 -static struct pci_driver pm2fb_driver 1204,32610 -int __init pm2fb_init(1220,32880 -static void __exit pm2fb_exit(1237,33098 -int __init pm2fb_setup(1251,33302 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/macfb.c,1288 -#define DAC_BASE 44,1320 -#define DAFB_BASE 47,1383 -#define CIVIC_BASE 50,1476 -#define GSC_BASE 53,1582 -#define CSC_BASE 56,1660 -} *valkyrie_cmap_regs;88,2947 -} *v8_brazil_cmap_regs;93,3037 -} *rbv_cmap_regs;101,3245 -} *dafb_cmap_regs;108,3379 -} *civic_cmap_regs;119,3706 -} *csc_cmap_regs;128,3953 -struct mdc_cmap_regs mdc_cmap_regs131,4034 -struct toby_cmap_regs toby_cmap_regs138,4139 -struct jet_cmap_regs jet_cmap_regs145,4319 -#define PIXEL_TO_MM(PIXEL_TO_MM151,4409 -static int video_slot 154,4487 -static struct fb_var_screeninfo macfb_defined 156,4516 -static struct fb_fix_screeninfo macfb_fix 168,4768 -static struct fb_info fb_info;174,4896 -static u32 pseudo_palette[175,4927 -static int inverse 176,4958 -static int vidtest 177,4984 -static int valkyrie_setpalette 179,5011 -static int dafb_setpalette 210,5785 -static int v8_brazil_setpalette 257,6996 -static int rbv_setpalette 292,7998 -static int mdc_setpalette(329,9107 -static int toby_setpalette(355,9799 -static int jet_setpalette(381,10540 -static int civic_setpalette 415,11565 -#define CIVIC_VBL_OFFSET 442,12116 -static int csc_setpalette 508,13883 -static int macfb_setcolreg(520,14187 -static struct fb_ops macfb_ops 586,15816 -void __init macfb_setup(595,16032 -void __init macfb_init(613,16381 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/asiliantfb.c,1744 -const unsigned Fref 49,1634 -#define mmio_base 51,1667 -#define mm_write_ind(mm_write_ind53,1714 -static void mm_write_xr(57,1842 -#define write_xr(write_xr61,1946 -static void mm_write_fr(63,1999 -#define write_fr(write_fr67,2103 -static void mm_write_cr(69,2156 -#define write_cr(write_cr73,2260 -static void mm_write_gr(75,2313 -#define write_gr(write_gr79,2417 -static void mm_write_sr(81,2470 -#define write_sr(write_sr85,2574 -static void mm_write_ar(87,2627 -#define write_ar(write_ar92,2758 -static struct fb_ops asiliantfb_ops 106,3216 -static void asiliant_calc_dclk2(119,3604 -static void asiliant_set_timing(183,5427 -static int asiliantfb_check_var(234,7229 -static int asiliantfb_set_par(278,8473 -static int asiliantfb_setcolreg(315,9786 -struct chips_init_reg chips_init_reg360,10676 -#define N_ELTS(N_ELTS365,10746 -static struct chips_init_reg chips_init_sr[367,10792 -static struct chips_init_reg chips_init_gr[375,10984 -static struct chips_init_reg chips_init_ar[383,11180 -static struct chips_init_reg chips_init_cr[391,11387 -static struct chips_init_reg chips_init_fr[403,11731 -static struct chips_init_reg chips_init_xr[445,12312 -static void __init chips_hw_init(468,12972 -static struct fb_fix_screeninfo asiliantfb_fix __initdata 491,13814 -static struct fb_var_screeninfo asiliantfb_var __initdata 500,14052 -static void __init init_asiliant(521,14515 -asiliantfb_pci_init(544,15072 -static void __devexit asiliantfb_remove(585,15982 -static struct pci_device_id asiliantfb_pci_tbl[596,16270 -static struct pci_device_id asiliantfb_pci_tbl[] __devinitdata 596,16270 -static struct pci_driver asiliantfb_driver 603,16466 -int __init asiliantfb_init(610,16648 -static void __exit asiliantfb_exit(620,16822 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/ffb.c,4494 -static struct fb_ops ffb_ops 49,1371 -#define FFB_SFB8R_VOFF 66,1833 -#define FFB_SFB8G_VOFF 67,1868 -#define FFB_SFB8B_VOFF 68,1903 -#define FFB_SFB8X_VOFF 69,1938 -#define FFB_SFB32_VOFF 70,1973 -#define FFB_SFB64_VOFF 71,2008 -#define FFB_FBC_REGS_VOFF 72,2043 -#define FFB_BM_FBC_REGS_VOFF 73,2080 -#define FFB_DFB8R_VOFF 74,2120 -#define FFB_DFB8G_VOFF 75,2155 -#define FFB_DFB8B_VOFF 76,2190 -#define FFB_DFB8X_VOFF 77,2225 -#define FFB_DFB24_VOFF 78,2260 -#define FFB_DFB32_VOFF 79,2295 -#define FFB_DFB422A_VOFF 80,2330 -#define FFB_DFB422AD_VOFF 81,2396 -#define FFB_DFB24B_VOFF 82,2471 -#define FFB_DFB422B_VOFF 83,2539 -#define FFB_DFB422BD_VOFF 84,2605 -#define FFB_SFB16Z_VOFF 85,2680 -#define FFB_SFB8Z_VOFF 86,2742 -#define FFB_SFB422_VOFF 87,2802 -#define FFB_SFB422D_VOFF 88,2870 -#define FFB_FBC_KREGS_VOFF 89,2944 -#define FFB_DAC_VOFF 90,2982 -#define FFB_PROM_VOFF 91,3015 -#define FFB_EXP_VOFF 92,3049 -#define FFB_SFB8R_POFF 94,3083 -#define FFB_SFB8G_POFF 95,3120 -#define FFB_SFB8B_POFF 96,3157 -#define FFB_SFB8X_POFF 97,3194 -#define FFB_SFB32_POFF 98,3231 -#define FFB_SFB64_POFF 99,3268 -#define FFB_FBC_REGS_POFF 100,3305 -#define FFB_BM_FBC_REGS_POFF 101,3344 -#define FFB_DFB8R_POFF 102,3386 -#define FFB_DFB8G_POFF 103,3423 -#define FFB_DFB8B_POFF 104,3460 -#define FFB_DFB8X_POFF 105,3497 -#define FFB_DFB24_POFF 106,3534 -#define FFB_DFB32_POFF 107,3571 -#define FFB_FBC_KREGS_POFF 108,3608 -#define FFB_DAC_POFF 109,3648 -#define FFB_PROM_POFF 110,3683 -#define FFB_EXP_POFF 111,3719 -#define FFB_DFB422A_POFF 112,3754 -#define FFB_DFB422AD_POFF 113,3792 -#define FFB_DFB24B_POFF 114,3831 -#define FFB_DFB422B_POFF 115,3869 -#define FFB_DFB422BD_POFF 116,3907 -#define FFB_SFB16Z_POFF 117,3946 -#define FFB_SFB8Z_POFF 118,3984 -#define FFB_SFB422_POFF 119,4021 -#define FFB_SFB422D_POFF 120,4059 -#define FFB_DRAWOP_DOT 123,4120 -#define FFB_DRAWOP_AADOT 124,4149 -#define FFB_DRAWOP_BRLINECAP 125,4179 -#define FFB_DRAWOP_BRLINEOPEN 126,4213 -#define FFB_DRAWOP_DDLINE 127,4248 -#define FFB_DRAWOP_AALINE 128,4279 -#define FFB_DRAWOP_TRIANGLE 129,4310 -#define FFB_DRAWOP_POLYGON 130,4343 -#define FFB_DRAWOP_RECTANGLE 131,4375 -#define FFB_DRAWOP_FASTFILL 132,4409 -#define FFB_DRAWOP_BCOPY 133,4442 -#define FFB_DRAWOP_VSCROLL 134,4472 -#define FFB_PPC_FW_DISABLE 138,4551 -#define FFB_PPC_FW_ENABLE 139,4587 -#define FFB_PPC_ACE_DISABLE 141,4643 -#define FFB_PPC_ACE_AUX_SUB 142,4680 -#define FFB_PPC_ACE_AUX_ADD 143,4717 -#define FFB_PPC_DCE_DISABLE 145,4770 -#define FFB_PPC_DCE_ENABLE 146,4807 -#define FFB_PPC_ABE_DISABLE 148,4861 -#define FFB_PPC_ABE_ENABLE 149,4898 -#define FFB_PPC_VCE_DISABLE 151,4950 -#define FFB_PPC_VCE_2D 152,4987 -#define FFB_PPC_VCE_3D 153,5020 -#define FFB_PPC_APE_DISABLE 155,5072 -#define FFB_PPC_APE_ENABLE 156,5109 -#define FFB_PPC_TBE_OPAQUE 158,5174 -#define FFB_PPC_TBE_TRANSPARENT 159,5210 -#define FFB_PPC_ZS_VAR 161,5266 -#define FFB_PPC_ZS_CONST 162,5299 -#define FFB_PPC_YS_VAR 164,5348 -#define FFB_PPC_YS_CONST 165,5381 -#define FFB_PPC_XS_WID 167,5430 -#define FFB_PPC_XS_VAR 168,5463 -#define FFB_PPC_XS_CONST 169,5496 -#define FFB_PPC_CS_VAR 171,5555 -#define FFB_PPC_CS_CONST 172,5588 -#define FFB_ROP_NEW 174,5623 -#define FFB_ROP_OLD 175,5665 -#define FFB_ROP_NEW_XOR_OLD 176,5707 -#define FFB_UCSR_FIFO_MASK 178,5750 -#define FFB_UCSR_FB_BUSY 179,5792 -#define FFB_UCSR_RP_BUSY 180,5834 -#define FFB_UCSR_ALL_BUSY 181,5876 -#define FFB_UCSR_READ_ERR 182,5943 -#define FFB_UCSR_FIFO_OVFL 183,5985 -#define FFB_UCSR_ALL_ERRORS 184,6027 -struct ffb_fbc ffb_fbc186,6098 -struct ffb_dac ffb_dac332,8854 -struct ffb_par ffb_par339,8959 -#define FFB_FLAG_AFB 345,9056 -#define FFB_FLAG_BLANKED 346,9089 -static void FFBFifo(365,9403 -static void FFBWait(378,9674 -static int ffb_sync(394,10001 -static __inline__ void ffb_rop(402,10122 -static void ffb_switch_from_graph(411,10299 -static int ffb_pan_display(442,11104 -static void ffb_fillrect(464,11783 -ffb_copyarea(508,12955 -static void ffb_imageblit(544,13971 -static void ffb_fixup_var_rgb(621,15592 -static int ffb_setcolreg(642,16278 -ffb_blank(667,16804 -static struct sbus_mmap_map ffb_mmap_map[704,17631 -static int ffb_mmap(843,19876 -static int ffb_ioctl(852,20113 -ffb_init_fix(866,20423 -static int ffb_apply_upa_parent_ranges(890,21010 -struct all_info all_info921,21769 -static void ffb_init_one(929,21912 -static void ffb_scan_siblings(1035,24950 -int __init ffb_init(1048,25356 -void __exit ffb_exit(1065,25684 -ffb_setup(1079,25955 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/controlfb.h,346 -struct cmap_regs cmap_regs23,683 -#define PAD(PAD37,1039 -struct preg preg39,1066 -struct control_regs control_regs44,1136 -struct control_regints control_regints77,2512 -struct control_regvals control_regvals103,3513 -#define CTRLFB_OFF 110,3670 -struct max_cmodes max_cmodes116,3778 -static struct max_cmodes control_mac_modes[123,3890 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/imsttfb.c,7732 -#define eieio(eieio44,1277 - S1SA 49,1383 - S2SA 50,1406 - SP 51,1429 - DSA 52,1450 - CNT 53,1472 - DP_OCTL 54,1494 - CLR 55,1520 - BI 56,1542 - MBC 57,1563 - BLTCTL 58,1585 - HES 61,1650 - HEB 62,1672 - HSB 63,1694 - HT 64,1716 - VES 65,1737 - VEB 66,1759 - VSB 67,1781 - VT 68,1803 - HCIV 69,1824 - VCIV 70,1847 - TCDR 71,1870 - VIL 72,1893 - STGCTL 73,1915 - SSR 76,1983 - HRIR 77,2005 - SPR 78,2028 - CMR 79,2050 - SRGCTL 80,2072 - RRCIV 83,2137 - RRSC 84,2161 - RRCR 85,2184 - GIOE 88,2232 - GIO 89,2255 - SCR 90,2277 - SSTATUS 91,2299 - PRC 92,2325 - DVID 96,2376 - DVID = 0x00000000L,96,2376 - SC 97,2397 - SC = 0x00000004L,97,2397 - CCR 98,2416 - CCR = 0x00000008L,98,2416 - OG 99,2436 - OG = 0x0000000CL,99,2436 - BARM 100,2455 - BARM = 0x00000010L,100,2455 - BARER 101,2476 - BARER = 0x00000030L,101,2476 - PADDRW 107,2554 - PADDRW = 0x00,107,2554 - PDATA 108,2570 - PDATA = 0x04,108,2570 - PPMASK 109,2585 - PPMASK = 0x08,109,2585 - PADDRR 110,2601 - PADDRR = 0x0c,110,2601 - PIDXLO 111,2617 - PIDXLO = 0x10,111,2617 - PIDXHI 112,2634 - PIDXHI = 0x14,112,2634 - PIDXDATA=113,2651 - PIDXDATA= 0x18,113,2651 - PIDXCTL 114,2668 - PIDXCTL = 0x1c114,2668 - CLKCTL 119,2735 - CLKCTL = 0x02,119,2735 - SYNCCTL 120,2793 - SYNCCTL = 0x03,120,2793 - HSYNCPOS 121,2837 - HSYNCPOS = 0x04,121,2837 - PWRMNGMT 122,2893 - PWRMNGMT = 0x05,122,2893 - DACOP 123,2941 - DACOP = 0x06,123,2941 - PALETCTL 124,2984 - PALETCTL = 0x07,124,2984 - SYSCLKCTL 125,3031 - SYSCLKCTL = 0x08,125,3031 - PIXFMT 126,3084 - PIXFMT = 0x0a,126,3084 - BPP8 127,3139 - BPP8 = 0x0b,127,3139 - BPP16 128,3184 - BPP16 = 0x0c,128,3184 - BPP24 129,3250 - BPP24 = 0x0d,129,3250 - BPP32 130,3297 - BPP32 = 0x0e,130,3297 - PIXCTL1 131,3344 - PIXCTL1 = 0x10,131,3344 - PIXCTL2 132,3395 - PIXCTL2 = 0x11,132,3395 - SYSCLKN 133,3446 - SYSCLKN = 0x15,133,3446 - SYSCLKM 134,3519 - SYSCLKM = 0x16,134,3519 - SYSCLKP 135,3586 - SYSCLKP = 0x17,135,3586 - SYSCLKC 136,3628 - SYSCLKC = 0x18,136,3628 - PIXM0 141,3809 - PIXM0 = 0x20,141,3809 - PIXN0 142,3844 - PIXN0 = 0x21,142,3844 - PIXP0 143,3879 - PIXP0 = 0x22,143,3879 - PIXC0 144,3914 - PIXC0 = 0x23,144,3914 - CURSCTL 145,3949 - CURSCTL = 0x30,145,3949 - CURSXLO 146,3995 - CURSXLO = 0x31,146,3995 - CURSXHI 147,4052 - CURSXHI = 0x32,147,4052 - CURSYLO 148,4110 - CURSYLO = 0x33,148,4110 - CURSYHI 149,4167 - CURSYHI = 0x34,149,4167 - CURSHOTX 150,4225 - CURSHOTX = 0x35,150,4225 - CURSHOTY 151,4270 - CURSHOTY = 0x36,151,4270 - CURSACCTL 152,4315 - CURSACCTL = 0x37,152,4315 - CURSACATTR 153,4374 - CURSACATTR = 0x38,153,4374 - CURS1R 154,4429 - CURS1R = 0x40,154,4429 - CURS1G 155,4468 - CURS1G = 0x41,155,4468 - CURS1B 156,4509 - CURS1B = 0x42,156,4509 - CURS2R 157,4549 - CURS2R = 0x43,157,4549 - CURS2G 158,4588 - CURS2G = 0x44,158,4588 - CURS2B 159,4629 - CURS2B = 0x45,159,4629 - CURS3R 160,4669 - CURS3R = 0x46,160,4669 - CURS3G 161,4708 - CURS3G = 0x47,161,4708 - CURS3B 162,4749 - CURS3B = 0x48,162,4749 - BORDR 163,4789 - BORDR = 0x60,163,4789 - BORDG 164,4831 - BORDG = 0x61,164,4831 - BORDB 165,4875 - BORDB = 0x62,165,4875 - MISCTL1 166,4918 - MISCTL1 = 0x70,166,4918 - MISCTL2 167,4973 - MISCTL2 = 0x71,167,4973 - MISCTL3 168,5028 - MISCTL3 = 0x72,168,5028 - KEYCTL 169,5083 - KEYCTL = 0x78 169,5083 - TVPADDRW 174,5190 - TVPADDRW = 0x00,174,5190 - TVPPDATA 175,5256 - TVPPDATA = 0x04,175,5256 - TVPPMASK 176,5305 - TVPPMASK = 0x08,176,5305 - TVPPADRR 177,5348 - TVPPADRR = 0x0c,177,5348 - TVPCADRW 178,5407 - TVPCADRW = 0x10,178,5407 - TVPCDATA 179,5470 - TVPCDATA = 0x14,179,5470 - TVPCADRR 181,5546 - TVPCADRR = 0x1c,181,5546 - TVPDCCTL 183,5630 - TVPDCCTL = 0x24,183,5630 - TVPIDATA 184,5679 - TVPIDATA = 0x28,184,5679 - TVPCRDAT 185,5717 - TVPCRDAT = 0x2c,185,5717 - TVPCXPOL 186,5760 - TVPCXPOL = 0x30,186,5760 - TVPCXPOH 187,5809 - TVPCXPOH = 0x34,187,5809 - TVPCYPOL 188,5858 - TVPCYPOL = 0x38,188,5858 - TVPCYPOH 189,5907 - TVPCYPOH = 0x3c,189,5907 - TVPIRREV 194,6011 - TVPIRREV = 0x01,194,6011 - TVPIRICC 195,6057 - TVPIRICC = 0x06,195,6057 - TVPIRBRC 196,6113 - TVPIRBRC = 0x07,196,6113 - TVPIRLAC 197,6165 - TVPIRLAC = 0x0f,197,6165 - TVPIRTCC 198,6212 - TVPIRTCC = 0x18,198,6212 - TVPIRMXC 199,6264 - TVPIRMXC = 0x19,199,6264 - TVPIRCLS 200,6314 - TVPIRCLS = 0x1a,200,6314 - TVPIRPPG 201,6362 - TVPIRPPG = 0x1c,201,6362 - TVPIRGEC 202,6407 - TVPIRGEC = 0x1d,202,6407 - TVPIRMIC 203,6456 - TVPIRMIC = 0x1e,203,6456 - TVPIRPLA 204,6509 - TVPIRPLA = 0x2c,204,6509 - TVPIRPPD 205,6545 - TVPIRPPD = 0x2d,205,6545 - TVPIRMPD 206,6590 - TVPIRMPD = 0x2e,206,6590 - TVPIRLPD 207,6636 - TVPIRLPD = 0x2f,207,6636 - TVPIRCKL 208,6680 - TVPIRCKL = 0x30,208,6680 - TVPIRCKH 209,6726 - TVPIRCKH = 0x31,209,6726 - TVPIRCRL 210,6773 - TVPIRCRL = 0x32,210,6773 - TVPIRCRH 211,6815 - TVPIRCRH = 0x33,211,6815 - TVPIRCGL 212,6858 - TVPIRCGL = 0x34,212,6858 - TVPIRCGH 213,6902 - TVPIRCGH = 0x35,213,6902 - TVPIRCBL 214,6947 - TVPIRCBL = 0x36,214,6947 - TVPIRCBH 215,6990 - TVPIRCBH = 0x37,215,6990 - TVPIRCKC 216,7034 - TVPIRCKC = 0x38,216,7034 - TVPIRMLC 217,7085 - TVPIRMLC = 0x39,217,7085 - TVPIRSEN 218,7140 - TVPIRSEN = 0x3a,218,7140 - TVPIRTMD 219,7184 - TVPIRTMD = 0x3b,219,7184 - TVPIRRML 220,7223 - TVPIRRML = 0x3c,220,7223 - TVPIRRMM 221,7270 - TVPIRRMM = 0x3d,221,7270 - TVPIRRMS 222,7317 - TVPIRRMS = 0x3e,222,7317 - TVPIRDID 223,7362 - TVPIRDID = 0x3f,223,7362 - TVPIRRES 224,7410 - TVPIRRES = 0xff 224,7410 -struct initvalues initvalues227,7458 -static struct initvalues ibm_initregs[231,7501 -static struct initvalues ibm_initregs[] __initdata 231,7501 -static struct initvalues tvp_initregs[278,8510 -static struct initvalues tvp_initregs[] __initdata 278,8510 -struct imstt_regvals imstt_regvals311,9199 -struct imstt_par imstt_par320,9481 - IBM 329,9621 - TVP 330,9631 -#define USE_NV_MODES 333,9644 -#define INIT_BPP 334,9668 -#define INIT_XRES 335,9688 -#define INIT_YRES 336,9711 -static int inverse 338,9735 -static char fontname[339,9759 -static char fontname[40] __initdata 339,9759 -static signed char init_vmode __initdata 341,9828 -static struct imstt_regvals tvp_reg_init_2 344,9911 -static struct imstt_regvals tvp_reg_init_6 351,10104 -static struct imstt_regvals tvp_reg_init_12 358,10297 -static struct imstt_regvals tvp_reg_init_13 365,10487 -static struct imstt_regvals tvp_reg_init_17 372,10681 -static struct imstt_regvals tvp_reg_init_18 379,10876 -static struct imstt_regvals tvp_reg_init_19 386,11071 -static struct imstt_regvals tvp_reg_init_20 393,11266 -static inline u32 read_reg_le32(409,11651 -static inline void write_reg_le32(418,11839 -getclkMHz(428,12049 -setclkMHz(440,12278 -compute_imstt_regvals_ibm(472,12837 -compute_imstt_regvals_tvp(523,14004 -compute_imstt_regvals 557,14603 -set_imstt_regvals_ibm 566,14827 -set_imstt_regvals_tvp 586,15470 -set_imstt_regvals 658,17387 -set_offset 750,19863 -set_555 759,20167 -set_565 772,20483 -imsttfb_check_var(785,20791 -imsttfb_set_par(864,22995 -imsttfb_setcolreg 881,23378 -imsttfb_pan_display(923,24392 -imsttfb_blank(936,24730 -imsttfb_fillrect(990,26339 -imsttfb_copyarea(1034,27833 -imsttfb_load_cursor_image(1089,29202 -imstt_set_cursor(1159,31560 -imsttfb_cursor(1196,32778 -#define FBIMSTT_SETREG 1258,34997 -#define FBIMSTT_GETREG 1259,35030 -#define FBIMSTT_SETCMAPREG 1260,35063 -#define FBIMSTT_GETCMAPREG 1261,35099 -#define FBIMSTT_SETIDXREG 1262,35135 -#define FBIMSTT_GETIDXREG 1263,35170 -imsttfb_ioctl(1266,35217 -static struct pci_device_id imsttfb_pci_tbl[1320,37018 -static struct pci_driver imsttfb_pci_driver 1330,37297 -static struct fb_ops imsttfb_ops 1337,37465 -init_imstt(1352,37882 -imsttfb_probe(1463,41256 -imsttfb_remove(1534,43108 -imsttfb_setup(1550,43494 -int __init imsttfb_init(1603,44567 -static void __exit imsttfb_exit(1616,44778 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/acornfb.h,3330 -#define VIDC_PALETTE_SIZE 14,375 -#define VIDC_NAME 15,405 -#define VIDC_PALETTE_SIZE 18,488 -#define VIDC_NAME 19,517 -#define EXTEND8(EXTEND822,551 -#define EXTEND4(EXTEND423,583 -struct vidc20_palette vidc20_palette25,631 -struct vidc_palette vidc_palette33,735 -union palette palette43,867 -struct acornfb_par acornfb_par49,955 -struct vidc_timing vidc_timing64,1259 -struct modey_params modey_params86,1612 -struct modex_params modex_params94,1715 -#define VID_CTL_VS_NVSYNC 106,1884 -#define VID_CTL_HS_NHSYNC 107,1919 -#define VID_CTL_24MHz 108,1954 -#define VID_CTL_25MHz 109,1981 -#define VID_CTL_36MHz 110,2008 -#define VIDC_CTRL_CSYNC 112,2036 -#define VIDC_CTRL_INTERLACE 113,2070 -#define VIDC_CTRL_FIFO_0_4 114,2107 -#define VIDC_CTRL_FIFO_1_5 115,2143 -#define VIDC_CTRL_FIFO_2_6 116,2179 -#define VIDC_CTRL_FIFO_3_7 117,2215 -#define VIDC_CTRL_1BPP 118,2251 -#define VIDC_CTRL_2BPP 119,2284 -#define VIDC_CTRL_4BPP 120,2317 -#define VIDC_CTRL_8BPP 121,2350 -#define VIDC_CTRL_DIV3 122,2383 -#define VIDC_CTRL_DIV2 123,2416 -#define VIDC_CTRL_DIV1_5 124,2449 -#define VIDC_CTRL_DIV1 125,2483 -#define VIDC20_CTRL 133,2570 -#define VIDC20_CTRL_PIX_VCLK 134,2602 -#define VIDC20_CTRL_PIX_HCLK 135,2640 -#define VIDC20_CTRL_PIX_RCLK 136,2678 -#define VIDC20_CTRL_PIX_CK 137,2716 -#define VIDC20_CTRL_PIX_CK2 138,2752 -#define VIDC20_CTRL_PIX_CK3 139,2789 -#define VIDC20_CTRL_PIX_CK4 140,2826 -#define VIDC20_CTRL_PIX_CK5 141,2863 -#define VIDC20_CTRL_PIX_CK6 142,2900 -#define VIDC20_CTRL_PIX_CK7 143,2937 -#define VIDC20_CTRL_PIX_CK8 144,2974 -#define VIDC20_CTRL_1BPP 145,3011 -#define VIDC20_CTRL_2BPP 146,3045 -#define VIDC20_CTRL_4BPP 147,3079 -#define VIDC20_CTRL_8BPP 148,3113 -#define VIDC20_CTRL_16BPP 149,3147 -#define VIDC20_CTRL_32BPP 150,3182 -#define VIDC20_CTRL_FIFO_NS 151,3217 -#define VIDC20_CTRL_FIFO_4 152,3254 -#define VIDC20_CTRL_FIFO_8 153,3290 -#define VIDC20_CTRL_FIFO_12 154,3326 -#define VIDC20_CTRL_FIFO_16 155,3363 -#define VIDC20_CTRL_FIFO_20 156,3400 -#define VIDC20_CTRL_FIFO_24 157,3437 -#define VIDC20_CTRL_FIFO_28 158,3474 -#define VIDC20_CTRL_INT 159,3511 -#define VIDC20_CTRL_DUP 160,3546 -#define VIDC20_CTRL_PDOWN 161,3581 -#define VIDC20_ECTL 163,3618 -#define VIDC20_ECTL_REG(VIDC20_ECTL_REG164,3650 -#define VIDC20_ECTL_ECK 165,3690 -#define VIDC20_ECTL_REDPED 166,3724 -#define VIDC20_ECTL_GREENPED 167,3760 -#define VIDC20_ECTL_BLUEPED 168,3798 -#define VIDC20_ECTL_DAC 169,3836 -#define VIDC20_ECTL_LCDGS 170,3871 -#define VIDC20_ECTL_HRM 171,3907 -#define VIDC20_ECTL_HS_MASK 173,3943 -#define VIDC20_ECTL_HS_HSYNC 174,3981 -#define VIDC20_ECTL_HS_NHSYNC 175,4020 -#define VIDC20_ECTL_HS_CSYNC 176,4060 -#define VIDC20_ECTL_HS_NCSYNC 177,4099 -#define VIDC20_ECTL_VS_MASK 179,4140 -#define VIDC20_ECTL_VS_VSYNC 180,4178 -#define VIDC20_ECTL_VS_NVSYNC 181,4217 -#define VIDC20_ECTL_VS_CSYNC 182,4257 -#define VIDC20_ECTL_VS_NCSYNC 183,4296 -#define VIDC20_DCTL 185,4337 -#define VIDC20_DCTL_SNA 187,4409 -#define VIDC20_DCTL_HDIS 188,4444 -#define VIDC20_DCTL_BUS_NS 189,4479 -#define VIDC20_DCTL_BUS_D31_0 190,4516 -#define VIDC20_DCTL_BUS_D63_32 191,4556 -#define VIDC20_DCTL_BUS_D63_0 192,4597 -#define VIDC20_DCTL_VRAM_DIS 193,4637 -#define VIDC20_DCTL_VRAM_PXCLK 194,4676 -#define VIDC20_DCTL_VRAM_PXCLK2 195,4717 -#define VIDC20_DCTL_VRAM_PXCLK4 196,4759 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cg3.c,1766 -static struct fb_ops cg3_ops 44,1078 -#define CG3_CR_ENABLE_INTS 58,1403 -#define CG3_CR_ENABLE_VIDEO 59,1440 -#define CG3_CR_ENABLE_TIMING 60,1477 -#define CG3_CR_ENABLE_CURCMP 61,1514 -#define CG3_CR_XTAL_MASK 62,1551 -#define CG3_CR_DIVISOR_MASK 63,1588 -#define CG3_SR_PENDING_INT 66,1658 -#define CG3_SR_RES_MASK 67,1695 -#define CG3_SR_1152_900_76_A 68,1732 -#define CG3_SR_1152_900_76_B 69,1769 -#define CG3_SR_ID_MASK 70,1806 -#define CG3_SR_ID_COLOR 71,1843 -#define CG3_SR_ID_MONO 72,1880 -#define CG3_SR_ID_MONO_ECL 73,1917 -enum cg3_type cg3_type75,1955 - CG3_AT_66HZ 76,1971 - CG3_AT_76HZ,77,1989 - CG3_RDI78,2003 -struct bt_regs bt_regs81,2016 -struct cg3_regs cg3_regs88,2127 -#define CG3_REGS_OFFSET 109,2664 -#define CG3_RAM_OFFSET 110,2704 -struct cg3_par cg3_par112,2744 -#define CG3_FLAG_BLANKED 118,2857 -#define CG3_FLAG_RDI 119,2893 -static int cg3_setcolreg(142,3679 -#define D4M3(D4M3167,4160 -#define D4M4(D4M4168,4222 -cg3_blank(190,4711 -static struct sbus_mmap_map cg3_mmap_map[223,5447 -static int cg3_mmap(232,5603 -static int cg3_ioctl(242,5877 -cg3_init_fix(256,6188 -static void cg3_rdi_maybe_fixup_var(270,6528 -static u8 cg3regvals_66hz[294,7054 -static u8 cg3regvals_66hz[] __initdata 294,7054 -static u8 cg3regvals_76hz[301,7287 -static u8 cg3regvals_76hz[] __initdata 301,7287 -static u8 cg3regvals_rdi[308,7520 -static u8 cg3regvals_rdi[] __initdata 308,7520 -static u8 *cg3_regvals[315,7751 -static u8 *cg3_regvals[] __initdata 315,7751 -static u_char cg3_dacvals[319,7845 -static u_char cg3_dacvals[] __initdata 319,7845 -static void cg3_do_default_mode(323,7931 -struct all_info all_info361,8785 -static void cg3_init_one(368,8902 -int __init cg3_init(442,10817 -void __exit cg3_exit(459,11107 -cg3_setup(473,11378 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sgivwfb.c,1139 -#define INCLUDE_TIMING_TABLE_DATA24,610 -#define DBE_REG_BASE 25,644 -struct sgivw_par sgivw_par28,701 -#define FLATPANEL_SGI_1600SW 34,782 -static int ypan 47,1096 -static int ywrap 48,1117 -static int flatpanel_id 50,1140 -static struct fb_fix_screeninfo sgivwfb_fix __initdata 52,1171 -static struct fb_var_screeninfo sgivwfb_var __initdata 62,1444 -static struct fb_var_screeninfo sgivwfb_var1600sw __initdata 84,1897 -static struct fb_ops sgivwfb_ops 119,2786 -static unsigned long bytes_per_pixel(134,3129 -static unsigned long get_line_length(149,3353 -static void dbe_TurnOffDma(162,3699 -static int sgivwfb_check_var(228,5404 -static void sgivwfb_setup_flatpanel(367,9335 -static int sgivwfb_set_par(409,10534 -static int sgivwfb_setcolreg(687,18553 -static int sgivwfb_mmap(708,19072 -int __init sgivwfb_setup(731,19761 -static void sgivwfb_release(752,20160 -static int __init sgivwfb_probe(756,20216 -static int sgivwfb_remove(837,22395 -static struct device_driver sgivwfb_driver 853,22721 -static struct platform_device sgivwfb_device 860,22872 -int __init sgivwfb_init(868,22998 -static void __exit sgivwfb_exit(893,23409 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/vgastate.c,487 -struct regstate regstate23,639 -static inline unsigned char vga_rcrtcs(35,794 -static inline void vga_wcrtcs(42,989 -static void save_vga_text(49,1190 -static void restore_vga_text(137,4275 -static void save_vga_mode(231,7722 -static void restore_vga_mode(262,8552 -static void save_vga_cmap(314,9927 -static void restore_vga_cmap(327,10269 -static void vga_cleanup(340,10612 -int save_vga(360,11057 -int restore_vga 467,13280 -int init_module(494,13761 -void cleanup_module(495,13798 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/fbcmap.c,745 -static u16 red2[22,532 -static u16 green2[25,576 -static u16 blue2[28,622 -static u16 red4[32,668 -static u16 green4[35,728 -static u16 blue4[38,790 -static u16 red8[42,852 -static u16 green8[45,944 -static u16 blue8[48,1038 -static u16 red16[52,1132 -static u16 green16[56,1293 -static u16 blue16[60,1456 -static struct fb_cmap default_2_colors 65,1619 -static struct fb_cmap default_8_colors 68,1701 -static struct fb_cmap default_4_colors 71,1783 -static struct fb_cmap default_16_colors 74,1865 -int fb_alloc_cmap(92,2281 -void fb_dealloc_cmap(131,3124 -int fb_copy_cmap(150,3508 -int fb_cmap_to_user(174,4127 -int fb_set_cmap(213,5112 -int fb_set_user_cmap(241,5699 -struct fb_cmap *fb_default_cmap(282,6698 -void fb_invert_cmaps(301,7010 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/radeon_monitor.c,800 -static struct fb_var_screeninfo radeonfb_default_var 9,143 -static char *radeon_get_mon_name(16,385 -static int __devinit radeon_parse_montype_prop(52,1045 -static int __devinit radeon_probe_OF_head(102,2559 -static int __devinit radeon_get_panel_info_BIOS(150,3776 -static void __devinit radeon_parse_connector_info(238,7088 -static int __devinit radeon_crt_is_connected(284,8408 -static int __devinit radeon_parse_monitor_layout(356,10471 -void __devinit radeon_probe_screens(416,11626 -static void radeon_fixup_panel_info(633,18329 -static void radeon_var_to_panel_info(681,19949 -static void radeon_var_to_videomode(707,21062 -static void radeon_videomode_to_var(723,21575 -void __devinit radeon_check_modes(747,22344 -static int radeon_compare_modes(891,27070 -int radeon_match_mode(915,27927 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/ati_ids.h,5747 -#define PCI_CHIP_RS100_4136 7,141 -#define PCI_CHIP_RS200_4137 8,177 -#define PCI_CHIP_R300_AD 9,213 -#define PCI_CHIP_R300_AE 10,246 -#define PCI_CHIP_R300_AF 11,279 -#define PCI_CHIP_R300_AG 12,312 -#define PCI_CHIP_R350_AH 13,345 -#define PCI_CHIP_R350_AI 14,392 -#define PCI_CHIP_R350_AJ 15,439 -#define PCI_CHIP_R350_AK 16,486 -#define PCI_CHIP_RV350_AP 17,533 -#define PCI_CHIP_RV350_AQ 18,580 -#define PCI_CHIP_RV360_AR 19,627 -#define PCI_CHIP_RV350_AS 20,674 -#define PCI_CHIP_RV350_AT 21,721 -#define PCI_CHIP_RV350_AV 22,768 -#define PCI_CHIP_MACH32 23,815 -#define PCI_CHIP_RS250_4237 24,848 -#define PCI_CHIP_R200_BB 25,884 -#define PCI_CHIP_R200_BC 26,917 -#define PCI_CHIP_RS100_4336 27,950 -#define PCI_CHIP_RS200_4337 28,986 -#define PCI_CHIP_MACH64CT 29,1022 -#define PCI_CHIP_MACH64CX 30,1056 -#define PCI_CHIP_RS250_4437 31,1090 -#define PCI_CHIP_MACH64ET 32,1126 -#define PCI_CHIP_MACH64GB 33,1160 -#define PCI_CHIP_MACH64GD 34,1194 -#define PCI_CHIP_MACH64GI 35,1228 -#define PCI_CHIP_MACH64GL 36,1262 -#define PCI_CHIP_MACH64GM 37,1296 -#define PCI_CHIP_MACH64GN 38,1330 -#define PCI_CHIP_MACH64GO 39,1364 -#define PCI_CHIP_MACH64GP 40,1398 -#define PCI_CHIP_MACH64GQ 41,1432 -#define PCI_CHIP_MACH64GR 42,1466 -#define PCI_CHIP_MACH64GS 43,1500 -#define PCI_CHIP_MACH64GT 44,1534 -#define PCI_CHIP_MACH64GU 45,1568 -#define PCI_CHIP_MACH64GV 46,1602 -#define PCI_CHIP_MACH64GW 47,1636 -#define PCI_CHIP_MACH64GX 48,1670 -#define PCI_CHIP_MACH64GY 49,1704 -#define PCI_CHIP_MACH64GZ 50,1738 -#define PCI_CHIP_RV250_Id 51,1772 -#define PCI_CHIP_RV250_Ie 52,1806 -#define PCI_CHIP_RV250_If 53,1840 -#define PCI_CHIP_RV250_Ig 54,1874 -#define PCI_CHIP_MACH64LB 55,1908 -#define PCI_CHIP_MACH64LD 56,1942 -#define PCI_CHIP_RAGE128LE 57,1976 -#define PCI_CHIP_RAGE128LF 58,2011 -#define PCI_CHIP_MACH64LG 59,2046 -#define PCI_CHIP_MACH64LI 60,2080 -#define PCI_CHIP_MACH64LM 61,2114 -#define PCI_CHIP_MACH64LN 62,2148 -#define PCI_CHIP_MACH64LP 63,2182 -#define PCI_CHIP_MACH64LQ 64,2216 -#define PCI_CHIP_MACH64LR 65,2250 -#define PCI_CHIP_MACH64LS 66,2284 -#define PCI_CHIP_RADEON_LW 67,2318 -#define PCI_CHIP_RADEON_LX 68,2353 -#define PCI_CHIP_RADEON_LY 69,2388 -#define PCI_CHIP_RADEON_LZ 70,2423 -#define PCI_CHIP_RV250_Ld 71,2458 -#define PCI_CHIP_RV250_Le 72,2492 -#define PCI_CHIP_RV250_Lf 73,2526 -#define PCI_CHIP_RV250_Lg 74,2560 -#define PCI_CHIP_RAGE128MF 75,2594 -#define PCI_CHIP_RAGE128ML 76,2629 -#define PCI_CHIP_R300_ND 77,2664 -#define PCI_CHIP_R300_NE 78,2697 -#define PCI_CHIP_R300_NF 79,2730 -#define PCI_CHIP_R300_NG 80,2763 -#define PCI_CHIP_R350_NH 81,2796 -#define PCI_CHIP_R350_NI 82,2845 -#define PCI_CHIP_R360_NJ 83,2894 -#define PCI_CHIP_R350_NK 84,2943 -#define PCI_CHIP_RV350_NP 85,2992 -#define PCI_CHIP_RV350_NQ 86,3039 -#define PCI_CHIP_RV350_NR 87,3086 -#define PCI_CHIP_RV350_NS 88,3133 -#define PCI_CHIP_RV350_NT 89,3180 -#define PCI_CHIP_RV350_NV 90,3227 -#define PCI_CHIP_RAGE128PA 91,3274 -#define PCI_CHIP_RAGE128PB 92,3309 -#define PCI_CHIP_RAGE128PC 93,3344 -#define PCI_CHIP_RAGE128PD 94,3379 -#define PCI_CHIP_RAGE128PE 95,3414 -#define PCI_CHIP_RAGE128PF 96,3449 -#define PCI_CHIP_RAGE128PG 97,3484 -#define PCI_CHIP_RAGE128PH 98,3519 -#define PCI_CHIP_RAGE128PI 99,3554 -#define PCI_CHIP_RAGE128PJ 100,3589 -#define PCI_CHIP_RAGE128PK 101,3624 -#define PCI_CHIP_RAGE128PL 102,3659 -#define PCI_CHIP_RAGE128PM 103,3694 -#define PCI_CHIP_RAGE128PN 104,3729 -#define PCI_CHIP_RAGE128PO 105,3764 -#define PCI_CHIP_RAGE128PP 106,3799 -#define PCI_CHIP_RAGE128PQ 107,3834 -#define PCI_CHIP_RAGE128PR 108,3869 -#define PCI_CHIP_RAGE128PS 109,3904 -#define PCI_CHIP_RAGE128PT 110,3939 -#define PCI_CHIP_RAGE128PU 111,3974 -#define PCI_CHIP_RAGE128PV 112,4009 -#define PCI_CHIP_RAGE128PW 113,4044 -#define PCI_CHIP_RAGE128PX 114,4079 -#define PCI_CHIP_RADEON_QD 115,4114 -#define PCI_CHIP_RADEON_QE 116,4149 -#define PCI_CHIP_RADEON_QF 117,4184 -#define PCI_CHIP_RADEON_QG 118,4219 -#define PCI_CHIP_R200_QH 119,4254 -#define PCI_CHIP_R200_QI 120,4287 -#define PCI_CHIP_R200_QJ 121,4320 -#define PCI_CHIP_R200_QK 122,4353 -#define PCI_CHIP_R200_QL 123,4386 -#define PCI_CHIP_R200_QM 124,4419 -#define PCI_CHIP_R200_QN 125,4452 -#define PCI_CHIP_R200_QO 126,4485 -#define PCI_CHIP_RV200_QW 127,4518 -#define PCI_CHIP_RV200_QX 128,4552 -#define PCI_CHIP_RV100_QY 129,4586 -#define PCI_CHIP_RV100_QZ 130,4620 -#define PCI_CHIP_RAGE128RE 131,4654 -#define PCI_CHIP_RAGE128RF 132,4689 -#define PCI_CHIP_RAGE128RG 133,4724 -#define PCI_CHIP_RAGE128RK 134,4759 -#define PCI_CHIP_RAGE128RL 135,4794 -#define PCI_CHIP_RAGE128SE 136,4829 -#define PCI_CHIP_RAGE128SF 137,4864 -#define PCI_CHIP_RAGE128SG 138,4899 -#define PCI_CHIP_RAGE128SH 139,4934 -#define PCI_CHIP_RAGE128SK 140,4969 -#define PCI_CHIP_RAGE128SL 141,5004 -#define PCI_CHIP_RAGE128SM 142,5039 -#define PCI_CHIP_RAGE128SN 143,5074 -#define PCI_CHIP_RAGE128TF 144,5109 -#define PCI_CHIP_RAGE128TL 145,5144 -#define PCI_CHIP_RAGE128TR 146,5179 -#define PCI_CHIP_RAGE128TS 147,5214 -#define PCI_CHIP_RAGE128TT 148,5249 -#define PCI_CHIP_RAGE128TU 149,5284 -#define PCI_CHIP_MACH64VT 150,5319 -#define PCI_CHIP_MACH64VU 151,5353 -#define PCI_CHIP_MACH64VV 152,5387 -#define PCI_CHIP_RS300_5834 153,5421 -#define PCI_CHIP_RS300_5835 154,5457 -#define PCI_CHIP_RS300_5836 155,5493 -#define PCI_CHIP_RS300_5837 156,5529 -#define PCI_CHIP_RV280_5960 157,5565 -#define PCI_CHIP_RV280_5961 158,5601 -#define PCI_CHIP_RV280_5962 159,5637 -#define PCI_CHIP_RV280_5963 160,5673 -#define PCI_CHIP_RV280_5964 161,5709 -#define PCI_CHIP_RV280_5968 162,5745 -#define PCI_CHIP_RV280_5969 163,5781 -#define PCI_CHIP_RV280_596A 164,5817 -#define PCI_CHIP_RV280_596B 165,5853 -#define PCI_CHIP_RV280_5C61 166,5889 -#define PCI_CHIP_RV280_5C63 167,5925 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/aty128fb.c,4599 -#define DBG(DBG93,2226 -#define DBG(DBG95,2321 -static struct fb_var_screeninfo default_var __initdata 100,2398 -static struct fb_var_screeninfo default_var 111,2810 -static struct fb_videomode defaultmode __initdata 123,3235 - rage_128,140,3553 - rage_128_pci,141,3564 - rage_128_pro,142,3579 - rage_128_pro_pci,143,3594 - rage_M3,144,3613 - rage_M3_pci,145,3623 - rage_M4,146,3637 - rage_128_ultra,147,3647 -static const char *r128_family[151,3696 -static const char *r128_family[] __devinitdata 151,3696 -static struct pci_device_id aty128_pci_tbl[172,4180 -static struct pci_driver aty128fb_driver 272,8999 -} __attribute__ ((packed)packed306,9725 -struct aty128_meminfo aty128_meminfo310,9822 -static const struct aty128_meminfo sdr_128 325,10006 -static const struct aty128_meminfo sdr_64 327,10118 -static const struct aty128_meminfo sdr_sgram 329,10229 -static const struct aty128_meminfo ddr_sgram 331,10340 -static struct fb_fix_screeninfo aty128fb_fix __initdata 334,10446 -static char *mode_option __initdata 344,10687 -static int default_vmode __initdata 347,10755 -static int default_cmode __initdata 348,10812 -static int default_crt_on __initdata 352,10892 -static int default_lcd_on __initdata 353,10934 -static int mtrr 357,11003 -struct aty128_constants aty128_constants361,11052 -struct aty128_crtc aty128_crtc371,11189 -struct aty128_pll aty128_pll382,11388 -struct aty128_ddafifo aty128_ddafifo388,11465 -struct aty128fb_par aty128fb_par394,11569 -#define round_div(round_div424,12361 -#define BIOS_IN8(BIOS_IN8466,14072 -#define BIOS_IN16(BIOS_IN16467,14114 -#define BIOS_IN32(BIOS_IN32469,14194 -static struct fb_ops aty128fb_ops 475,14354 -static struct backlight_controller aty128_backlight_controller 494,14935 -static inline u32 _aty_ld_le32(505,15278 -static inline void _aty_st_le32(511,15430 -static inline u8 _aty_ld_8(517,15585 -static inline void _aty_st_8(523,15719 -#define aty_ld_le32(aty_ld_le32529,15864 -#define aty_st_le32(aty_st_le32530,15923 -#define aty_ld_8(aty_ld_8531,15991 -#define aty_st_8(aty_st_8532,16044 -#define aty_ld_pll(aty_ld_pll538,16181 -#define aty_st_pll(aty_st_pll539,16240 -static u32 _aty_ld_pll(542,16310 -static void _aty_st_pll(550,16500 -static int aty_pll_readupdate(559,16757 -static void aty_pll_wait_readupdate(565,16885 -static void aty_pll_writeupdate(582,17263 -static int __init register_test(592,17508 -static void do_wait_for_fifo(615,17949 -static void wait_for_idle(630,18213 -static void wait_for_fifo(649,18523 -static void aty128_flush_pixel_cache(657,18684 -static void aty128_reset_engine(673,18977 -static void aty128_init_engine(701,19739 -static u32 depth_to_dst(769,21600 -static void __init aty128_unmap_ROM(791,21923 -static void * __init aty128_map_ROM(809,22403 -static void __init aty128_get_pllinfo(906,25210 -static void * __devinit aty128_find_mem_vbios(928,25927 -static void __init aty128_timings(953,26822 -static void aty128_set_crtc(1024,28475 -static int aty128_var_to_crtc(1040,29091 -static int aty128_pix_width_to_var(1168,32382 -static int aty128_crtc_to_var(1231,33774 -static void aty128_set_crt_enable(1288,35671 -static void aty128_set_lcd_enable(1297,35982 -static void aty128_set_pll(1324,36665 -static int aty128_var_to_pll(1363,37768 -static int aty128_pll_to_var(1405,38849 -static void aty128_set_fifo(1413,38997 -static int aty128_ddafifo(1421,39190 -static int aty128fb_set_par(1481,40291 -static int aty128_decode_var(1553,42248 -static int aty128_encode_var(1578,42763 -static int aty128fb_check_var(1600,43145 -static int aty128fb_pan_display(1616,43452 -static void aty128_st_pal(1649,44228 -static int aty128fb_sync(1672,44932 -int __init aty128fb_setup(1681,45088 -static int __init aty128_init(1740,46284 -static int __init aty128_probe(1881,50206 -static void __devexit aty128_remove(1998,53256 -static int aty128fb_blank(2032,54007 -static int aty128fb_setcolreg(2072,55000 -#define ATY_MIRROR_LCD_ON 2132,56449 -#define ATY_MIRROR_CRT_ON 2133,56486 -#define FBIO_ATY128_GET_MIRROR 2136,56571 -#define FBIO_ATY128_SET_MIRROR 2138,56668 -static int aty128fb_ioctl(2140,56720 -static int backlight_conv[2173,57555 -#define BACKLIGHT_LVDS_OFF2182,57858 -static int aty128_set_backlight_enable(2186,57966 -static int aty128_set_backlight_level(2233,59207 -static inline void aty128_rectcopy(2244,59413 -static void fbcon_aty128_bmove(2288,60617 -static void aty128_set_suspend(2303,61009 -static int aty128_pci_suspend(2346,62433 -static int aty128_pci_resume(2402,63868 -int __init aty128fb_init(2440,64574 -static void __exit aty128fb_exit(2453,64784 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/radeonfb.h,2607 -#define __RADEONFB_H__2,23 -enum radeon_family radeon_family29,618 - CHIP_FAMILY_UNKNOW,30,639 - CHIP_FAMILY_LEGACY,31,660 - CHIP_FAMILY_RADEON,32,681 - CHIP_FAMILY_RV100,33,702 - CHIP_FAMILY_RS100,34,722 - CHIP_FAMILY_RV200,35,778 - CHIP_FAMILY_RS200,36,798 - CHIP_FAMILY_R200,37,895 - CHIP_FAMILY_RV250,38,914 - CHIP_FAMILY_RS300,39,934 - CHIP_FAMILY_RV280,40,979 - CHIP_FAMILY_R300,41,999 - CHIP_FAMILY_R350,42,1018 - CHIP_FAMILY_RV350,43,1037 - CHIP_FAMILY_LAST,44,1057 -enum radeon_chip_flags radeon_chip_flags50,1101 - CHIP_FAMILY_MASK 51,1126 - CHIP_FAMILY_MASK = 0x0000ffffUL,51,1126 - CHIP_FLAGS_MASK 52,1160 - CHIP_FLAGS_MASK = 0xffff0000UL,52,1160 - CHIP_IS_MOBILITY 53,1194 - CHIP_IS_MOBILITY = 0x00010000UL,53,1194 - CHIP_IS_IGP 54,1228 - CHIP_IS_IGP = 0x00020000UL,54,1228 - CHIP_HAS_CRTC2 55,1258 - CHIP_HAS_CRTC2 = 0x00040000UL,55,1258 -enum radeon_montype radeon_montype62,1321 - MT_NONE 63,1343 - MT_CRT,64,1357 - MT_LCD,65,1377 - MT_DFP,66,1397 - MT_CTV,67,1417 - MT_STV 68,1446 -enum ddc_type ddc_type74,1501 - ddc_none,75,1517 - ddc_monid,76,1528 - ddc_dvi,77,1540 - ddc_vga,78,1550 - ddc_crt2,79,1560 -enum conn_type conn_type85,1601 - conn_none,86,1618 - conn_proprietary,87,1630 - conn_crt,88,1649 - conn_DVI_I,89,1660 - conn_DVI_D,90,1673 -struct pll_info pll_info97,1711 -struct ram_info ram_info108,1829 -struct radeon_regs radeon_regs127,2237 -struct panel_info panel_info228,4305 -struct radeon_i2c_chan radeon_i2c_chan245,4631 -struct radeonfb_info radeonfb_info253,4778 -#define PRIMARY_MONITOR(PRIMARY_MONITOR328,6093 -#define DEBUG 335,6202 -#define DEBUG 337,6225 -#define RTRACE 341,6260 -#define RTRACE 343,6289 -#define INREG8(INREG8351,6348 -#define OUTREG8(OUTREG8352,6401 -#define INREG(INREG353,6464 -#define OUTREG(OUTREG354,6516 -static inline void R300_cg_workardound(356,6579 -#define __OUTPLL(__OUTPLL366,6832 -static inline u32 __INPLL(373,6981 -static inline u32 _INPLL(383,7219 -#define INPLL(INPLL394,7468 -#define OUTPLL(OUTPLL396,7510 -#define OUTPLLP(OUTPLLP404,7708 -#define OUTREGP(OUTREGP416,8082 -#define MS_TO_HZ(MS_TO_HZ428,8453 -#define BIOS_IN8(BIOS_IN8430,8506 -#define BIOS_IN16(BIOS_IN16431,8559 -#define BIOS_IN32(BIOS_IN32433,8661 -static inline int round_div(441,8891 -static inline int var_to_depth(446,8982 -static inline u32 radeon_get_dstbpp(453,9161 -static inline void radeon_engine_flush 472,9480 -static inline void _radeon_fifo_wait 489,9829 -static inline void _radeon_engine_idle 502,10074 -#define radeon_engine_idle(radeon_engine_idle519,10432 -#define radeon_fifo_wait(radeon_fifo_wait520,10489 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/mach64_accel.c,229 -void aty_reset_engine(16,212 -static void reset_GTC_3D_engine(34,700 -void aty_init_engine(44,970 -static inline void draw_rect(163,4668 -void atyfb_copyarea(173,4959 -void atyfb_fillrect(219,6155 -void atyfb_imageblit(254,7086 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/xlinit.c,558 -#define MPLL_GAIN 45,1819 -#define VPLL_GAIN 46,1848 - VICTORIA 49,1885 - XPERT98,50,1900 - NUM_XL_CARDS51,1910 -#define DEFAULT_CARD 56,1973 -static int xl_card 57,2002 -static const struct xl_card_cfg_t xl_card_cfg_t59,2038 -} card_cfg[72,2294 -} lcd_tbl_t;lcd_tbl_t90,2656 -static const lcd_tbl_t lcd_tbl[92,2670 -static inline u32 aty_ld_lcd(108,3009 -static inline void aty_st_lcd(114,3150 -static void reset_gui(121,3308 -static void reset_sdram(129,3487 -static void init_dll(148,3989 -static void reset_clocks(163,4274 -int atyfb_xl_init(185,4845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/radeon_pm.c,923 -#define CONFIG_RADEON_HAS_D2 9,129 -static inline int radeon_suspend_to_d2(16,299 -static inline int radeon_suspend_to_d2(21,416 -void radeon_pm_disable_dynamic_mode(39,924 -void radeon_pm_enable_dynamic_mode(111,2915 -static void OUTMC(209,5537 -static u32 INMC(215,5702 -static void radeon_pm_save_regs(221,5825 -static void radeon_pm_restore_regs(261,7485 -static void radeon_pm_disable_iopad(306,9195 -static void radeon_pm_program_v2clk(320,9636 -static void radeon_pm_low_current(348,10555 -static void radeon_pm_setup_for_suspend(388,11705 -static void radeon_pm_yclk_mclk_sync(598,18424 -static void radeon_pm_program_mode_reg(620,19320 -static void radeon_pm_enable_dll(642,20051 -#define DLL_RESET_DELAY 644,20117 -#define DLL_SLEEP_DELAY 645,20144 -static void radeon_pm_full_reset_sdram(721,22384 -static void radeon_set_suspend(778,24136 -int radeonfb_pci_suspend(851,26099 -int radeonfb_pci_resume(904,27354 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/radeon_base.c,2328 -#define RADEON_VERSION 52,1977 -#define MAX_MAPPED_VRAM 102,2932 -#define MIN_MAPPED_VRAM 103,2970 -#define CHIP_DEF(CHIP_DEF105,3008 -static struct pci_device_id radeonfb_pci_table[108,3142 -} reg_val;reg_val209,7758 -static reg_val common_regs[215,7870 -static char *mode_option;232,8165 -static char *monitor_layout;233,8191 -static int noaccel 234,8220 -static int nomodeset 235,8244 -static int ignore_edid 236,8270 -static int mirror 237,8298 -static int panel_yres 238,8321 -static int force_dfp 239,8348 -static int force_measure_pll 240,8374 -static int nomtrr 242,8427 -static struct backlight_controller radeon_backlight_controller 255,8665 -static void __devexit radeon_unmap_ROM(263,8857 -static int __devinit radeon_map_ROM(283,9438 -static int __devinit radeon_find_mem_vbios(390,12653 -static int __devinit radeon_read_xtal_OF 425,13761 -static int __devinit radeon_probe_pll_params(458,14517 -static void __devinit radeon_get_pllinfo(596,17453 -static int radeonfb_check_var 720,21285 -static int radeonfb_pan_display 846,25248 -static int radeonfb_ioctl 865,25794 -static int radeon_screen_blank 937,27220 -int radeonfb_blank 979,28350 -static int radeonfb_setcolreg 1001,28830 -static void radeon_save_state 1083,30878 -static void radeon_write_pll_regs(1112,32106 -static void radeon_lvds_timer_func(1200,35308 -static void radeon_write_mode 1217,35748 -static void radeon_calc_pll_regs(1307,38722 -int radeonfb_set_par(1405,41595 -static struct fb_ops radeonfb_ops 1710,51466 -static int __devinit radeon_set_fbinfo 1726,51912 -static int backlight_conv_m6[1769,53220 -static int backlight_conv_m7[1773,53355 -#define BACKLIGHT_LVDS_OFF1778,53491 -static int radeon_set_backlight_enable(1785,53720 -static int radeon_set_backlight_level(1854,56010 -static void fixup_memory_mappings(1874,56855 -static ssize_t radeon_show_one_edid(1951,59047 -static ssize_t radeon_show_edid1(1965,59290 -static ssize_t radeon_show_edid2(1976,59661 -static struct bin_attribute edid1_attr 1986,60031 -static struct bin_attribute edid2_attr 1996,60204 -static int radeonfb_pci_register 2007,60378 -static void __devexit radeonfb_pci_unregister 2321,69529 -static struct pci_driver radeonfb_driver 2365,70560 -int __init radeonfb_init 2378,70906 -void __exit radeonfb_exit 2391,71118 -int __init radeonfb_setup 2396,71199 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/mach64_ct.c,384 -#define FAIL(FAIL15,175 -static void aty_st_pll(29,702 -static int aty_dsp_gt(45,1131 -static int aty_valid_pll_ct(114,2889 -void aty_calc_pll_ct(153,4165 -static int aty_var_to_pll_ct(213,5209 -static u32 aty_pll_ct_to_var(227,5585 -void aty_set_pll_ct(240,5972 -static int dummy(266,6833 -const struct aty_dac_ops aty_dac_ct 271,6872 -const struct aty_pll_ops aty_pll_ct 275,6944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/atyfb_base.c,5422 -#define GUI_RESERVE 100,2424 -#define FAIL(FAIL104,2502 -struct aty_cmap_regs aty_cmap_regs111,2631 -struct pci_mmap_map pci_mmap_map119,2711 -static struct fb_fix_screeninfo atyfb_fix __initdata 127,2852 -static struct fb_ops atyfb_ops 192,4916 -static char curblink __initdata 212,5418 -static char noaccel __initdata 213,5455 -static u32 default_vram __initdata 214,5491 -static int default_pll __initdata 215,5531 -static int default_mclk __initdata 216,5570 -static char *mode_option __initdata 219,5626 -static int default_vmode __initdata 223,5696 -static int default_cmode __initdata 224,5748 -static unsigned int mach64_count __initdata 228,5828 -static unsigned long phys_vmembase[229,5877 -static unsigned long phys_vmembase[FB_MAX] __initdata 229,5877 -static unsigned long phys_size[230,5941 -static unsigned long phys_size[FB_MAX] __initdata 230,5941 -static unsigned long phys_guiregbase[231,6001 -static unsigned long phys_guiregbase[FB_MAX] __initdata 231,6001 -static char m64n_gx[235,6099 -static char m64n_gx[] __initdata 235,6099 -static char m64n_cx[236,6159 -static char m64n_cx[] __initdata 236,6159 -static char m64n_ct[239,6273 -static char m64n_ct[] __initdata 239,6273 -static char m64n_et[240,6331 -static char m64n_et[] __initdata 240,6331 -static char m64n_vta3[241,6389 -static char m64n_vta3[] __initdata 241,6389 -static char m64n_vta4[242,6451 -static char m64n_vta4[] __initdata 242,6451 -static char m64n_vtb[243,6513 -static char m64n_vtb[] __initdata 243,6513 -static char m64n_vt4[244,6574 -static char m64n_vt4[] __initdata 244,6574 -static char m64n_gt[245,6635 -static char m64n_gt[] __initdata 245,6635 -static char m64n_gtb[246,6686 -static char m64n_gtb[] __initdata 246,6686 -static char m64n_iic_p[247,6743 -static char m64n_iic_p[] __initdata 247,6743 -static char m64n_iic_a[248,6802 -static char m64n_iic_a[] __initdata 248,6802 -static char m64n_lt[249,6861 -static char m64n_lt[] __initdata 249,6861 -static char m64n_ltg[250,6910 -static char m64n_ltg[] __initdata 250,6910 -static char m64n_gtc_ba[251,6962 -static char m64n_gtc_ba[] __initdata 251,6962 -static char m64n_gtc_ba1[252,7027 -static char m64n_gtc_ba1[] __initdata 252,7027 -static char m64n_gtc_bp[253,7102 -static char m64n_gtc_bp[] __initdata 253,7102 -static char m64n_gtc_pp[254,7167 -static char m64n_gtc_pp[] __initdata 254,7167 -static char m64n_gtc_ppl[255,7233 -static char m64n_gtc_ppl[] __initdata 255,7233 -static char m64n_xl[257,7316 -static char m64n_xl[] __initdata 257,7316 -static char m64n_ltp_a[258,7367 -static char m64n_ltp_a[] __initdata 258,7367 -static char m64n_ltp_p[259,7429 -static char m64n_ltp_p[] __initdata 259,7429 -static char m64n_mob_p[260,7491 -static char m64n_mob_p[] __initdata 260,7491 -static char m64n_mob_a[261,7555 -static char m64n_mob_a[] __initdata 261,7555 -} aty_chips[270,7763 -} aty_chips[] __initdata 270,7763 -static char ram_dram[393,12558 -static char ram_dram[] __initdata 393,12558 -static char ram_vram[395,12626 -static char ram_vram[] __initdata 395,12626 -static char ram_edo[398,12724 -static char ram_edo[] __initdata 398,12724 -static char ram_sdram[399,12766 -static char ram_sdram[] __initdata 399,12766 -static char ram_sgram[400,12812 -static char ram_sgram[] __initdata 400,12812 -static char ram_wram[401,12858 -static char ram_wram[] __initdata 401,12858 -static char ram_off[402,12902 -static char ram_off[] __initdata 402,12902 -static char ram_resv[404,12974 -static char ram_resv[] __initdata 404,12974 -static u32 pseudo_palette[406,13019 -static char *aty_gx_ram[409,13075 -static char *aty_gx_ram[8] __initdata 409,13075 -static char *aty_ct_ram[416,13259 -static char *aty_ct_ram[8] __initdata 416,13259 -static int __init read_aty_sense(429,13488 -static void aty_st_lcd(465,14647 -static u32 aty_ld_lcd(476,14936 -static void aty_set_crtc(494,15397 -static int aty_var_to_crtc(506,15872 -static int aty_crtc_to_var(636,19609 -static int atyfb_set_par(769,23121 -static int atyfb_check_var(866,25727 -static void set_off_pitch(888,26324 -static int atyfb_open(906,26751 -struct fb_var_screeninfo default_var 919,26955 -static int atyfb_release(927,27213 -static int atyfb_pan_display(979,28347 -#define ATYIO_CLKR 999,28914 -#define ATYIO_CLKW 1000,28958 -struct atyclk atyclk1002,29003 -#define ATYIO_FEATR 1016,29324 -#define ATYIO_FEATW 1017,29369 -static int atyfb_ioctl(1020,29422 -static int atyfb_sync(1111,32136 -static int atyfb_mmap(1121,32324 -} atyfb_save;1199,34146 -static void atyfb_save_palette(1201,34161 -static void atyfb_palette(1226,34910 -static struct fb_info *first_display 1256,35469 -static int aty_power_mgmt_LT(1264,35751 -static int aty_power_mgmt_LTPro(1320,37213 -static int aty_power_mgmt(1375,38599 -static int aty_sleep_notify(1385,38873 -static struct pmu_sleep_notifier aty_sleep_notifier 1449,40402 -static int backlight_conv[1460,40611 -static int aty_set_backlight_enable(1465,40744 -static int aty_set_backlight_level(1483,41280 -static struct backlight_controller aty_backlight_controller 1488,41393 -static struct fb_info *fb_list 1500,41592 -static int __init aty_init(1502,41632 -int __init atyfb_do_init(1905,52627 -int __init atyfb_init(2382,64592 -int __init atyfb_setup(2396,64790 -static int __init store_video_par(2467,66495 -static int atyfb_blank(2517,67729 -static int atyfb_setcolreg(2559,68746 -int __init init_module(2605,70011 -void cleanup_module(2611,70090 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/radeon_accel.c,284 -static void radeonfb_prim_fillrect(7,137 -void radeonfb_fillrect(28,844 -static void radeonfb_prim_copyarea(56,1572 -void radeonfb_copyarea(89,2396 -void radeonfb_imageblit(124,3414 -int radeonfb_sync(135,3643 -void radeonfb_engine_reset(146,3820 -void radeonfb_engine_init 242,6265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/radeon_i2c.c,390 -#define RADEON_DDC 20,348 -static void radeon_gpio_setscl(22,374 -static void radeon_gpio_setsda(36,684 -static int radeon_gpio_getscl(50,996 -static int radeon_gpio_getsda(61,1213 -static int radeon_setup_i2c_bus(72,1431 -void radeon_create_i2c_busses(104,2340 -void radeon_delete_i2c_busses(123,2869 -static u8 *radeon_do_probe_i2c_edid(143,3329 -int radeon_probe_i2c_connector(174,3905 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/atyfb.h,1260 -struct crtc crtc10,164 -struct pll_514 pll_51423,392 -struct pll_18818 pll_1881828,427 -struct pll_ct pll_ct35,526 -union aty_pll aty_pll49,797 -struct aty_cursor aty_cursor59,949 -struct atyfb_par atyfb_par65,1017 -#define M64_HAS(M64_HAS99,1675 -#define M64F_RESET_3D 101,1738 -#define M64F_MAGIC_FIFO 102,1772 -#define M64F_GTB_DSP 103,1808 -#define M64F_FIFO_24 104,1841 -#define M64F_SDRAM_MAGIC_PLL 105,1874 -#define M64F_MAGIC_POSTDIV 106,1914 -#define M64F_INTEGRATED 107,1952 -#define M64F_CT_BUS 108,1988 -#define M64F_VT_BUS 109,2020 -#define M64F_MOBIL_BUS 110,2052 -#define M64F_GX 111,2087 -#define M64F_CT 112,2116 -#define M64F_VT 113,2145 -#define M64F_GT 114,2174 -#define M64F_MAGIC_VRAM_SIZE 115,2203 -#define M64F_G3_PB_1_1 116,2243 -#define M64F_G3_PB_1024x768 117,2278 -#define M64F_EXTRA_BRIGHT 118,2317 -#define M64F_LT_SLEEP 119,2354 -#define M64F_XL_DLL 120,2388 -static inline u32 aty_ld_le32(127,2462 -static inline void aty_st_le32(140,2791 -static inline u8 aty_ld_8(154,3138 -static inline void aty_st_8(166,3441 -static inline u8 aty_ld_pll(180,3760 -struct aty_dac_ops aty_dac_ops196,4036 -struct aty_pll_ops aty_pll_ops212,4536 -static inline void wait_for_fifo(249,5809 -static inline void wait_for_idle(255,5976 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/mach64_gx.c,1866 -#define REF_FREQ_2595 17,236 -#define REF_DIV_2595 18,306 -#define MAX_FREQ_2595 20,399 -#define MIN_FREQ_2595 21,467 -#define ABS_MIN_FREQ_2595 23,569 -#define N_ADJ_2595 24,637 -#define STOP_BITS_2595 26,671 -#define MIN_N_408 29,707 -#define MIN_N_1703 31,729 -#define MIN_M 33,752 -#define MAX_M 34,769 -#define MIN_N 35,787 -#define MAX_N 36,805 -static void aty_dac_waste4(43,870 -static void aty_StrobeClock(53,1113 -static void aty_st_514(69,1366 -static int aty_set_dac_514(80,1669 -static int aty_var_to_pll_514(123,2708 -static u32 aty_pll_514_to_var(162,3766 -static void aty_set_pll_514(176,4145 -const struct aty_dac_ops aty_dac_ibm514 191,4715 -const struct aty_pll_ops aty_pll_ibm514 195,4792 -static int aty_set_dac_ATI68860_B(206,4980 -#define A860_DELAY_L 266,6246 -const struct aty_dac_ops aty_dac_ati68860b 280,6588 -static int aty_set_dac_ATT21C498(289,6716 -const struct aty_dac_ops aty_dac_att21c498 333,7489 -static int aty_var_to_pll_18818(342,7632 -static u32 aty_pll_18818_to_var(401,8786 -static void aty_ICS2595_put1bit(407,8940 -static void aty_set_pll18818(430,9438 -const struct aty_pll_ops aty_pll_ati18818_1 487,11029 -static int aty_var_to_pll_1703(498,11230 -static u32 aty_pll_1703_to_var(567,12802 -static void aty_set_pll_1703(573,12961 -const struct aty_pll_ops aty_pll_stg1703 603,13812 -static int aty_var_to_pll_8398(614,14013 -static u32 aty_pll_8398_to_var(686,15620 -static void aty_set_pll_8398(692,15779 -const struct aty_pll_ops aty_pll_ch8398 727,16737 -static int aty_var_to_pll_408(738,16935 -static u32 aty_pll_408_to_var(804,18473 -static void aty_set_pll_408(810,18630 -const struct aty_pll_ops aty_pll_att20c408 874,20060 -static int aty_set_dac_unsupported(885,20266 -static int dummy(899,20670 -const struct aty_dac_ops aty_dac_unsupported 904,20709 -const struct aty_pll_ops aty_pll_unsupported 908,20799 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/aty/mach64_cursor.c,382 -static const u8 cursor_pixel_map[26,358 -static const u8 cursor_color_map[27,407 -static const u8 cursor_bits_lookup[29,459 -static const u8 cursor_mask_lookup[34,603 -void aty_set_cursor_color(39,747 -void aty_set_cursor_shape(71,1520 -static void aty_set_cursor(105,2301 -int atyfb_cursor(157,3432 -struct aty_cursor *__init aty_init_cursor(178,3819 -int atyfb_set_font(209,4533 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sun3fb.c,1160 -#define CGFOUR_OBMEM_ADDR 54,1523 -#define BWTWO_OBMEM_ADDR 55,1560 -#define BWTWO_OBMEM50_ADDR 56,1596 -#define DEFAULT_CURSOR_BLINK_RATE 64,1719 -#define CURSOR_SHAPE 66,1769 -#define CURSOR_BLINK 67,1794 -#define mymemset(mymemset69,1820 -static char fontname[78,1967 -static char fontname[40] __initdata 78,1967 -static int curblink __initdata 79,2012 -static struct fb_ops sun3fb_ops 111,3180 -static void sun3fb_clear_margin(122,3464 -static void sun3fb_disp_setup(181,5360 -static int sun3fb_get_fix(194,5579 -static int sun3fb_get_var(207,5859 -static int sun3fb_set_var(220,6139 -static unsigned char hw_cursor_cmap[240,6709 -sun3fb_cursor_timer_handler(243,6776 -static void sun3fb_cursor(258,7151 -static int sun3fb_get_cmap(303,8546 -static int sun3fb_set_cmap(319,9026 -void __init sun3fb_setup(346,9705 -static int sun3fbcon_switch(369,10118 -static int sun3fbcon_updatevar(404,11295 -static int sun3fb_blank(414,11431 -static int sun3fb_getcolreg(430,11812 -static int sun3fb_setcolreg(451,12499 -static int sun3fb_set_font(467,12878 -void sun3fb_palette(493,13519 -static int __init sun3fb_init_fb(518,14085 -int __init sun3fb_init(654,17304 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/pmagb-b-fb.c,371 -struct pmagb_b_ramdac_regs pmagb_b_ramdac_regs42,1262 -static struct fb_info pmagbb_fb_info[55,1513 -static struct fb_var_screeninfo pmagbbfb_defined 57,1555 -static struct fb_fix_screeninfo pmagbafb_fix 73,1906 -static int pmagbbfb_setcolreg(94,2311 -static struct fb_ops pmagbbfb_ops 115,2942 -int __init pmagbbfb_init_one(124,3164 -int __init pmagbbfb_init(161,4001 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/macmodes.c,373 -#define DEFAULT_MODEDB_INDEX 32,766 -static const struct fb_videomode mac_modedb[34,798 -static const struct mode_map mode_map140,4956 -} mac_modes[143,5039 -static const struct monitor_map monitor_map177,6029 -} mac_monitors[180,6093 -int mac_vmode_to_var(217,7582 -int mac_var_to_vmode(299,9582 -int mac_map_monitor_sense(342,10591 -int __init mac_find_mode(373,11435 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/atafb.c,5959 -#define ATAFB_TT45,2152 -#define ATAFB_STE46,2169 -#define ATAFB_EXT47,2187 -#define ATAFB_FALCON48,2205 -#define SWITCH_ACIA 84,2967 -#define SWITCH_SND6 85,3028 -#define SWITCH_SND7 86,3053 -#define SWITCH_NONE 87,3078 -#define up(up90,3105 -static int default_par=93,3153 -static unsigned long default_mem_req=95,3214 -static int hwscroll=97,3255 -static int use_hwscroll 99,3280 -static int sttt_xres=101,3310 -static int sttt_xres_virtual=102,3360 -static int ovsc_offset=103,3416 -static struct atafb_par atafb_par105,3458 - struct falcon_hw falcon_hw116,3650 -} current_par;138,4149 -static int DontCalcRes 143,4370 -#define HHT 146,4420 -#define HBB 147,4446 -#define HBE 148,4472 -#define HDB 149,4498 -#define HDE 150,4524 -#define HSS 151,4550 -#define VFT 152,4576 -#define VBB 153,4602 -#define VBE 154,4628 -#define VDB 155,4654 -#define VDE 156,4680 -#define VSS 157,4706 -#define VCO_CLOCK25 158,4732 -#define VCO_CSYPOS 159,4758 -#define VCO_VSYPOS 160,4783 -#define VCO_HSYPOS 161,4808 -#define VCO_SHORTOFFS 162,4833 -#define VMO_DOUBLE 163,4861 -#define VMO_INTER 164,4886 -#define VMO_PREMASK 165,4910 -static struct fb_info fb_info;168,4944 -static void *screen_base;170,4976 -static void *real_screen_base;171,5031 -static int screen_len;173,5089 -static int current_par_valid=175,5113 -static int mono_moni=177,5147 -static struct display disp;179,5172 -static unsigned external_xres;185,5250 -static unsigned external_xres_virtual;186,5283 -static unsigned external_yres;187,5324 -static unsigned external_depth;192,5483 -static int external_pmode;193,5517 -static void *external_addr 194,5547 -static unsigned long external_len;195,5579 -static unsigned long external_vgaiobase 196,5614 -static unsigned int external_bitspercol 197,5659 -enum cardtype cardtype205,5817 -enum cardtype { IS_VGA,205,5817 -enum cardtype { IS_VGA, IS_MV300 205,5817 -static enum cardtype external_card_type 206,5853 -static int MV300_reg_1bit[212,6021 -static int MV300_reg_4bit[213,6057 -static int MV300_reg_8bit[215,6145 -static int *MV300_reg 233,7367 -static struct { unsigned char red,green,blue,pad; } ext_color[240,7558 -static int inverse=244,7651 -static struct fb_hwswitch fb_hwswitch306,10123 -} *fbhw;323,10811 -static char *autodetect_names[325,10821 -static char *stlow_names[326,10877 -static char *stmid_names[327,10923 -static char *sthigh_names[328,10981 -static char *ttlow_names[329,11041 -static char *ttmid_names[330,11087 -static char *tthigh_names[331,11144 -static char *vga2_names[332,11203 -static char *vga4_names[333,11247 -static char *vga16_names[334,11291 -static char *vga256_names[335,11349 -static char *falh2_names[336,11397 -static char *falh16_names[337,11443 -static char **fb_var_names[339,11492 -static struct fb_var_screeninfo atafb_predefined[361,12026 -static int num_atafb_predefined=419,14019 -get_video_mode(423,14094 -static int tt_encode_fix(448,14506 -static int tt_decode_var(476,15179 -static int tt_encode_var(557,17039 -static void tt_get_par(653,19235 -static void tt_set_par(664,19545 -static int tt_getcolreg(674,19817 -static int tt_setcolreg(702,20350 -static int tt_detect(719,20829 -static int mon_type;749,21596 -static int f030_bus_width;750,21649 -#define F_MON_SM 751,21721 -#define F_MON_SC 752,21740 -#define F_MON_VGA 753,21759 -#define F_MON_TV 754,21779 -static struct pixel_clock pixel_clock756,21799 -f25 764,22143 -static int vdl_prescale[769,22351 -static long h_syncs[772,22475 -static u16 fbcon_cfb16_cmap[775,22562 -static inline int hxx_prescale(778,22603 -static int falcon_encode_fix(784,22743 -static int falcon_decode_var(815,23570 -static int falcon_encode_var(1297,37954 -static int f_change_mode 1461,42666 -static struct falcon_hw f_new_mode;1462,42696 -static int f_pan_display 1463,42732 -static void falcon_get_par(1465,42763 -static void falcon_set_par(1502,43781 -static irqreturn_t falcon_vbl_switcher(1525,44405 -static int falcon_pan_display(1586,46090 -static int falcon_getcolreg(1617,46991 -static int falcon_setcolreg(1637,47473 -static int falcon_blank(1661,48150 -static int falcon_detect(1700,49029 -static int stste_encode_fix(1745,50155 -static int stste_decode_var(1777,50854 -static int stste_encode_var(1835,52236 -static void stste_get_par(1913,53943 -static void stste_set_par(1925,54290 -static int stste_getcolreg(1935,54565 -static int stste_setcolreg(1971,55318 -static int stste_detect(1994,55881 -static void stste_set_screen_base(2016,56442 -#define LINE_DELAY 2044,57367 -#define SYNC_DELAY 2045,57409 -static void st_ovsc_switch(2048,57527 -static int ext_encode_fix(2090,58684 -static int ext_decode_var(2140,60024 -static int ext_encode_var(2156,60406 -static void ext_get_par(2198,61360 -static void ext_set_par(2203,61449 -#define OUTB(OUTB2207,61503 -#define INB(INB2209,61593 -#define DACDelay 2211,61674 -static int ext_getcolreg(2217,61779 -static int ext_setcolreg(2231,62114 -static int ext_detect(2268,62904 -static void set_screen_base(2286,63309 -static int pan_display(2297,63607 -static struct fb_hwswitch tt_switch 2316,64175 -static struct fb_hwswitch falcon_switch 2324,64379 -static struct fb_hwswitch st_switch 2332,64626 -static struct fb_hwswitch ext_switch 2340,64853 -static void atafb_get_par(2348,65027 -static void atafb_set_par(2358,65161 -fb_update_var(2375,65527 -do_fb_set_var(2388,65836 -atafb_get_fix(2403,66195 -atafb_get_var(2418,66534 -atafb_set_disp(2431,66770 -atafb_set_var(2504,68374 -atafb_get_cmap(2536,69364 -atafb_pan_display(2550,69813 -atafb_ioctl(2574,70443 -atafb_blank(2605,71126 -static struct fb_ops atafb_ops 2626,71538 -check_default_par(2639,71853 -atafb_switch(2680,72960 -int __init atafb_init(2693,73300 -static void __init atafb_setup_ext(2827,77138 -static void __init atafb_setup_int(2936,79729 -static void __init atafb_setup_mcap(2976,80860 -static void __init atafb_setup_user(3014,81738 -int __init atafb_setup(3038,82373 -int init_module(3094,83751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/S3triofb.c,2120 -#define mem_in8(mem_in850,1260 -#define mem_in16(mem_in1651,1313 -#define mem_in32(mem_in3252,1369 -#define mem_out8(mem_out854,1426 -#define mem_out16(mem_out1655,1485 -#define mem_out32(mem_out3256,1547 -#define IO_OUT16VAL(IO_OUT16VAL58,1610 -static struct display disp;60,1662 -static struct fb_info fb_info;61,1690 -static struct { u_char red, green, blue, pad; } palette[62,1721 -static char s3trio_name[63,1783 -static char *s3trio_base;64,1824 -static struct fb_fix_screeninfo fb_fix;66,1851 -static struct fb_var_screeninfo fb_var 67,1891 -static struct display_switch fbcon_trio8;102,3028 -static struct fb_ops s3trio_ops 126,3725 -static int s3trio_get_fix(142,4104 -static int s3trio_get_var(154,4324 -static int s3trio_set_var(166,4544 -static int s3trio_pan_display(191,5342 -static int s3trio_get_cmap(217,5970 -int __init s3triofb_init(230,6429 -void __init s3trio_resetaccel(240,6573 -#define EC01_ENH_ENB 243,6612 -#define EC01_LAW_ENB 244,6643 -#define EC01_MMIO_ENB 245,6674 -#define EC00_RESET 247,6706 -#define EC00_ENABLE 248,6737 -#define MF_MULT_MISC 249,6768 -#define SRC_FOREGROUND 250,6799 -#define SRC_BACKGROUND 251,6830 -#define MIX_SRC 252,6861 -#define MF_T_CLIP 253,6900 -#define MF_L_CLIP 254,6931 -#define MF_B_CLIP 255,6962 -#define MF_R_CLIP 256,6993 -#define MF_PIX_CONTROL 257,7024 -#define MFA_SRC_FOREGR_MIX 258,7055 -#define MF_PIX_CONTROL 259,7094 -int __init s3trio_init(283,7852 -static void __init s3triofb_of_init(344,9644 -static int s3triofbcon_switch(548,15994 -static int s3triofbcon_updatevar(564,16394 -static int s3triofb_blank(574,16538 -static int s3trio_getcolreg(589,16945 -static int s3trio_setcolreg(606,17426 -static void Trio_WaitQueue(627,18008 -static void Trio_WaitBlit(638,18180 -static void Trio_BitBLT(649,18341 -static void Trio_RectFill(690,19088 -static void Trio_MoveCursor(710,19485 -static void fbcon_trio8_bmove(733,20155 -static void fbcon_trio8_clear(742,20480 -static void fbcon_trio8_putc(757,20849 -static void fbcon_trio8_putcs(764,21017 -static void fbcon_trio8_revc(771,21224 -static struct display_switch fbcon_trio8 777,21346 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/c2p.c,438 -#define _transp(_transp23,480 -static inline u32 get_mask(30,649 -#define transp_nx1(transp_nx156,955 -#define transp_nx2(transp_nx269,1274 -#define transp_nx4(transp_nx480,1544 -#define transp(transp89,1765 -static void c2p_8bpp(99,2011 -static const int perm_c2p_8bpp[113,2246 -static inline unsigned long comp(121,2445 -static inline void store_planar(132,2652 -static inline void store_planar_masked(145,2909 -void c2p(168,3739 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/rivafb-i2c.c,403 -#define RIVA_DDC 28,618 -static void riva_gpio_setscl(30,642 -static void riva_gpio_setsda(48,1060 -static int riva_gpio_getscl(66,1478 -static int riva_gpio_getsda(81,1798 -#define I2C_ALGO_RIVA 94,2077 -static int riva_setup_i2c_bus(95,2110 -void riva_create_i2c_busses(128,3033 -void riva_delete_i2c_busses(165,3701 -static u8 *riva_do_probe_i2c_edid(177,3940 -int riva_probe_i2c_connector(207,4503 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/nvreg.h,4488 -#define __NVREG_H_27,1306 -#define BITMASK(BITMASK30,1396 -#define MASKEXPAND(MASKEXPAND31,1463 -#define SetBF(SetBF34,1581 -#define GetBF(GetBF35,1629 -#define MaskAndSetBF(MaskAndSetBF37,1708 -#define DEVICE_BASE(DEVICE_BASE40,1849 -#define DEVICE_SIZE(DEVICE_SIZE41,1895 -#define DEVICE_ACCESS(DEVICE_ACCESS44,2033 -#define DEVICE_WRITE(DEVICE_WRITE47,2107 -#define DEVICE_READ(DEVICE_READ48,2180 -#define DEVICE_PRINT(DEVICE_PRINT49,2245 -#define DEVICE_DEF(DEVICE_DEF51,2347 -#define DEVICE_VALUE(DEVICE_VALUE53,2448 -#define DEVICE_MASK(DEVICE_MASK54,2522 -#define PDAC_Write(PDAC_Write56,2589 -#define PDAC_Read(PDAC_Read57,2658 -#define PDAC_Print(PDAC_Print58,2720 -#define PDAC_Def(PDAC_Def59,2783 -#define PDAC_Val(PDAC_Val60,2851 -#define PDAC_Mask(PDAC_Mask61,2921 -#define PFB_Write(PFB_Write63,2985 -#define PFB_Read(PFB_Read64,3053 -#define PFB_Print(PFB_Print65,3114 -#define PFB_Def(PFB_Def66,3176 -#define PFB_Val(PFB_Val67,3243 -#define PFB_Mask(PFB_Mask68,3312 -#define PRM_Write(PRM_Write70,3375 -#define PRM_Read(PRM_Read71,3443 -#define PRM_Print(PRM_Print72,3504 -#define PRM_Def(PRM_Def73,3566 -#define PRM_Val(PRM_Val74,3633 -#define PRM_Mask(PRM_Mask75,3702 -#define PGRAPH_Write(PGRAPH_Write77,3765 -#define PGRAPH_Read(PGRAPH_Read78,3836 -#define PGRAPH_Print(PGRAPH_Print79,3900 -#define PGRAPH_Def(PGRAPH_Def80,3965 -#define PGRAPH_Val(PGRAPH_Val81,4035 -#define PGRAPH_Mask(PGRAPH_Mask82,4107 -#define PDMA_Write(PDMA_Write84,4173 -#define PDMA_Read(PDMA_Read85,4242 -#define PDMA_Print(PDMA_Print86,4304 -#define PDMA_Def(PDMA_Def87,4367 -#define PDMA_Val(PDMA_Val88,4435 -#define PDMA_Mask(PDMA_Mask89,4505 -#define PTIMER_Write(PTIMER_Write91,4569 -#define PTIMER_Read(PTIMER_Read92,4640 -#define PTIMER_Print(PTIMER_Print93,4704 -#define PTIMER_Def(PTIMER_Def94,4769 -#define PTIMER_Val(PTIMER_Val95,4839 -#define PTIMER_Mask(PTIMER_Mask96,4911 -#define PEXTDEV_Write(PEXTDEV_Write98,4977 -#define PEXTDEV_Read(PEXTDEV_Read99,5050 -#define PEXTDEV_Print(PEXTDEV_Print100,5116 -#define PEXTDEV_Def(PEXTDEV_Def101,5183 -#define PEXTDEV_Val(PEXTDEV_Val102,5255 -#define PEXTDEV_Mask(PEXTDEV_Mask103,5329 -#define PFIFO_Write(PFIFO_Write105,5397 -#define PFIFO_Read(PFIFO_Read106,5467 -#define PFIFO_Print(PFIFO_Print107,5530 -#define PFIFO_Def(PFIFO_Def108,5594 -#define PFIFO_Val(PFIFO_Val109,5663 -#define PFIFO_Mask(PFIFO_Mask110,5734 -#define PRAM_Write(PRAM_Write112,5799 -#define PRAM_Read(PRAM_Read113,5868 -#define PRAM_Print(PRAM_Print114,5930 -#define PRAM_Def(PRAM_Def115,5993 -#define PRAM_Val(PRAM_Val116,6061 -#define PRAM_Mask(PRAM_Mask117,6131 -#define PRAMFC_Write(PRAMFC_Write119,6195 -#define PRAMFC_Read(PRAMFC_Read120,6266 -#define PRAMFC_Print(PRAMFC_Print121,6330 -#define PRAMFC_Def(PRAMFC_Def122,6395 -#define PRAMFC_Val(PRAMFC_Val123,6465 -#define PRAMFC_Mask(PRAMFC_Mask124,6537 -#define PMC_Write(PMC_Write126,6603 -#define PMC_Read(PMC_Read127,6671 -#define PMC_Print(PMC_Print128,6732 -#define PMC_Def(PMC_Def129,6794 -#define PMC_Val(PMC_Val130,6861 -#define PMC_Mask(PMC_Mask131,6930 -#define PMC_Write(PMC_Write133,6993 -#define PMC_Read(PMC_Read134,7061 -#define PMC_Print(PMC_Print135,7122 -#define PMC_Def(PMC_Def136,7184 -#define PMC_Val(PMC_Val137,7251 -#define PMC_Mask(PMC_Mask138,7320 -#define PBUS_Write(PBUS_Write141,7384 -#define PBUS_Read(PBUS_Read142,7451 -#define PBUS_Print(PBUS_Print143,7511 -#define PBUS_Def(PBUS_Def144,7572 -#define PBUS_Val(PBUS_Val145,7638 -#define PBUS_Mask(PBUS_Mask146,7706 -#define PRAMDAC_Write(PRAMDAC_Write149,7769 -#define PRAMDAC_Read(PRAMDAC_Read150,7842 -#define PRAMDAC_Print(PRAMDAC_Print151,7908 -#define PRAMDAC_Def(PRAMDAC_Def152,7975 -#define PRAMDAC_Val(PRAMDAC_Val153,8047 -#define PRAMDAC_Mask(PRAMDAC_Mask154,8121 -#define PDAC_ReadExt(PDAC_ReadExt157,8190 -#define PDAC_WriteExt(PDAC_WriteExt162,8362 -#define CRTC_Write(CRTC_Write167,8549 -#define CRTC_Read(CRTC_Read168,8622 -#define PCRTC_Write(PCRTC_Write170,8680 -#define PCRTC_Read(PCRTC_Read171,8748 -#define PCRTC_Def(PCRTC_Def173,8803 -#define PCRTC_Val(PCRTC_Val174,8871 -#define PCRTC_Mask(PCRTC_Mask175,8941 -#define SR_Write(SR_Write177,9005 -#define SR_Read(SR_Read178,9073 -typedef enum {NV1,182,9167 -typedef enum {NV1,NV3,182,9167 -typedef enum {NV1,NV3,NV4,182,9167 -typedef enum {NV1,NV3,NV4,NumNVChips}182,9167 -typedef enum {NV1,NV3,NV4,NumNVChips} NVChipType;NVChipType182,9167 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/nv_driver.c,254 -#define PFX 49,1902 -static inline unsigned char MISCin(51,1926 -riva_is_connected(57,2044 -riva_override_CRTC(90,2698 -riva_is_second(104,2993 -unsigned long riva_get_memlen(137,3742 -unsigned long riva_get_maxdclk(251,5954 -riva_common_setup(293,6696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/riva_tbl.h,1671 -static unsigned RivaTablePMC[53,3490 -static unsigned RivaTablePTIMER[59,3620 -static unsigned RivaTableFIFO[66,3783 -static unsigned nv3TablePFIFO[77,4064 -static unsigned nv3TablePGRAPH[106,4885 -static unsigned nv3TablePGRAPH_8BPP[142,5917 -static unsigned nv3TablePGRAPH_15BPP[146,5994 -static unsigned nv3TablePGRAPH_32BPP[150,6072 -static unsigned nv3TablePRAMIN[154,6150 -static unsigned nv3TablePRAMIN_8BPP[223,8172 -static unsigned nv3TablePRAMIN_15BPP[236,8563 -static unsigned nv3TablePRAMIN_32BPP[249,8955 -static unsigned nv4TableFIFO[262,9347 -static unsigned nv4TablePFIFO[266,9417 -static unsigned nv4TablePGRAPH[288,10032 -static unsigned nv4TablePGRAPH_8BPP[346,11724 -static unsigned nv4TablePGRAPH_15BPP[352,11861 -static unsigned nv4TablePGRAPH_16BPP[358,11999 -static unsigned nv4TablePGRAPH_32BPP[364,12137 -static unsigned nv4TablePRAMIN[370,12275 -static unsigned nv4TablePRAMIN_8BPP[458,14726 -static unsigned nv4TablePRAMIN_15BPP[474,15207 -static unsigned nv4TablePRAMIN_16BPP[490,15689 -static unsigned nv4TablePRAMIN_32BPP[506,16171 -static unsigned nv10TableFIFO[522,16653 -static unsigned nv10TablePFIFO[526,16724 -static unsigned nv10TablePGRAPH[548,17336 -static unsigned nv10TablePGRAPH_8BPP[621,19479 -static unsigned nv10TablePGRAPH_15BPP[627,19617 -static unsigned nv10TablePGRAPH_16BPP[633,19756 -static unsigned nv10TablePGRAPH_32BPP[639,19895 -static unsigned nv10tri05TablePGRAPH[645,20034 -static unsigned nv10TablePRAMIN[819,25896 -static unsigned nv10TablePRAMIN_8BPP[940,28967 -static unsigned nv10TablePRAMIN_15BPP[957,29479 -static unsigned nv10TablePRAMIN_16BPP[974,29993 -static unsigned nv10TablePRAMIN_32BPP[991,30506 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/rivafb.h,389 -#define __RIVAFB_H2,19 -#define NUM_SEQ_REGS 14,245 -#define NUM_CRT_REGS 15,272 -#define NUM_GRC_REGS 16,299 -#define NUM_ATC_REGS 17,326 -#define DDC_SCL_READ_MASK 20,364 -#define DDC_SCL_WRITE_MASK 21,405 -#define DDC_SDA_READ_MASK 22,446 -#define DDC_SDA_WRITE_MASK 23,487 -struct riva_regs riva_regs27,634 -struct riva_i2c_chan riva_i2c_chan38,806 -struct riva_par riva_par45,944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/nv4ref.h,119937 -#define __NV4REF_H__53,3591 -#define NV_CIO_SR_LOCK_INDEX 56,3661 -#define NV_CIO_SR_UNLOCK_RW_VALUE 57,3721 -#define NV_CIO_SR_UNLOCK_RO_VALUE 58,3805 -#define NV_CIO_SR_LOCK_VALUE 59,3889 -#define UNLOCK_EXT_MAGIC 61,3974 -#define LOCK_EXT_MAGIC 62,4004 -#define LOCK_EXT_INDEX 64,4073 -#define NV_PCRTC_HORIZ_TOTAL 66,4101 -#define NV_PCRTC_HORIZ_DISPLAY_END 67,4167 -#define NV_PCRTC_HORIZ_BLANK_START 68,4233 -#define NV_PCRTC_HORIZ_BLANK_END 70,4300 -#define NV_PCRTC_HORIZ_BLANK_END_EVRA 71,4366 -#define NV_PCRTC_HORIZ_BLANK_END_DISPLAY_END_SKEW 72,4431 -#define NV_PCRTC_HORIZ_BLANK_END_HORIZ_BLANK_END 73,4496 -#define NV_PCRTC_HORIZ_RETRACE_START 75,4562 -#define NV_PCRTC_HORIZ_RETRACE_END 77,4629 -#define NV_PCRTC_HORIZ_RETRACE_END_HORIZ_BLANK_END_5 78,4695 -#define NV_PCRTC_HORIZ_RETRACE_END_HORIZ_RETRACE_SKEW 79,4760 -#define NV_PCRTC_HORIZ_RETRACE_END_HORIZ_RETRACE_END 80,4825 -#define NV_PCRTC_VERT_TOTAL 82,4891 -#define NV_PCRTC_OVERFLOW 84,4958 -#define NV_PCRTC_OVERFLOW_VERT_RETRACE_START_9 85,5024 -#define NV_PCRTC_OVERFLOW_VERT_DISPLAY_END_9 86,5089 -#define NV_PCRTC_OVERFLOW_VERT_TOTAL_9 87,5154 -#define NV_PCRTC_OVERFLOW_LINE_COMPARE_8 88,5219 -#define NV_PCRTC_OVERFLOW_VERT_BLANK_START_8 89,5284 -#define NV_PCRTC_OVERFLOW_VERT_RETRACE_START_8 90,5349 -#define NV_PCRTC_OVERFLOW_VERT_DISPLAY_END_8 91,5414 -#define NV_PCRTC_OVERFLOW_VERT_TOTAL_8 92,5479 -#define NV_PCRTC_PRESET_ROW_SCAN 94,5545 -#define NV_PCRTC_MAX_SCAN_LINE 96,5612 -#define NV_PCRTC_MAX_SCAN_LINE_DOUBLE_SCAN 97,5678 -#define NV_PCRTC_MAX_SCAN_LINE_LINE_COMPARE_9 98,5743 -#define NV_PCRTC_MAX_SCAN_LINE_VERT_BLANK_START_9 99,5808 -#define NV_PCRTC_MAX_SCAN_LINE_MAX_SCAN_LINE 100,5873 -#define NV_PCRTC_CURSOR_START 102,5939 -#define NV_PCRTC_CURSOR_END 103,6005 -#define NV_PCRTC_START_ADDR_HIGH 104,6071 -#define NV_PCRTC_START_ADDR_LOW 105,6137 -#define NV_PCRTC_CURSOR_LOCATION_HIGH 106,6203 -#define NV_PCRTC_CURSOR_LOCATION_LOW 107,6269 -#define NV_PCRTC_VERT_RETRACE_START 109,6336 -#define NV_PCRTC_VERT_RETRACE_END 110,6402 -#define NV_PCRTC_VERT_DISPLAY_END 111,6468 -#define NV_PCRTC_OFFSET 112,6534 -#define NV_PCRTC_UNDERLINE_LOCATION 113,6600 -#define NV_PCRTC_VERT_BLANK_START 114,6666 -#define NV_PCRTC_VERT_BLANK_END 115,6732 -#define NV_PCRTC_MODE_CONTROL 116,6798 -#define NV_PCRTC_LINE_COMPARE 117,6864 -#define NV_PCRTC_REPAINT0 120,6971 -#define NV_PCRTC_REPAINT0_OFFSET_10_8 121,7037 -#define NV_PCRTC_REPAINT0_START_ADDR_20_16 122,7103 -#define NV_PCRTC_HORIZ_EXTRA 125,7199 -#define NV_PCRTC_HORIZ_EXTRA_INTER_HALF_START_8 126,7265 -#define NV_PCRTC_HORIZ_EXTRA_HORIZ_RETRACE_START_8 127,7330 -#define NV_PCRTC_HORIZ_EXTRA_HORIZ_BLANK_START_8 128,7395 -#define NV_PCRTC_HORIZ_EXTRA_DISPLAY_END_8 129,7460 -#define NV_PCRTC_HORIZ_EXTRA_DISPLAY_TOTAL_8 130,7525 -#define NV_PCRTC_EXTRA 133,7617 -#define NV_PCRTC_EXTRA_OFFSET_11 134,7683 -#define NV_PCRTC_EXTRA_HORIZ_BLANK_END_6 135,7748 -#define NV_PCRTC_EXTRA_VERT_BLANK_START_10 136,7813 -#define NV_PCRTC_EXTRA_VERT_RETRACE_START_10 137,7878 -#define NV_PCRTC_EXTRA_VERT_DISPLAY_END_10 138,7943 -#define NV_PCRTC_EXTRA_VERT_TOTAL_10 139,8008 -#define NV_PCRTC_FIFO_CONTROL 142,8129 -#define NV_PCRTC_FIFO_CONTROL_UNDERFLOW_WARN 143,8195 -#define NV_PCRTC_FIFO_CONTROL_BURST_LENGTH 144,8260 -#define NV_PCRTC_FIFO_CONTROL_BURST_LENGTH_8 145,8325 -#define NV_PCRTC_FIFO_CONTROL_BURST_LENGTH_32 146,8390 -#define NV_PCRTC_FIFO_CONTROL_BURST_LENGTH_64 147,8455 -#define NV_PCRTC_FIFO_CONTROL_BURST_LENGTH_128 148,8520 -#define NV_PCRTC_FIFO_CONTROL_BURST_LENGTH_256 149,8585 -#define NV_PCRTC_FIFO 156,8899 -#define NV_PCRTC_FIFO_RESET 157,8965 -#define NV_PCRTC_FIFO_WATERMARK 158,9030 -#define NV_PCRTC_REPAINT1 161,9116 -#define NV_PCRTC_REPAINT1_HSYNC 162,9182 -#define NV_PCRTC_REPAINT1_HYSNC_DISABLE 163,9247 -#define NV_PCRTC_REPAINT1_HYSNC_ENABLE 164,9313 -#define NV_PCRTC_REPAINT1_VSYNC 165,9379 -#define NV_PCRTC_REPAINT1_VYSNC_DISABLE 166,9444 -#define NV_PCRTC_REPAINT1_VYSNC_ENABLE 167,9510 -#define NV_PCRTC_REPAINT1_COMPATIBLE_TEXT 168,9576 -#define NV_PCRTC_REPAINT1_COMPATIBLE_TEXT_ENABLE 169,9641 -#define NV_PCRTC_REPAINT1_COMPATIBLE_TEXT_DISABLE 170,9707 -#define NV_PCRTC_REPAINT1_LARGE_SCREEN 171,9773 -#define NV_PCRTC_REPAINT1_LARGE_SCREEN_DISABLE 172,9839 -#define NV_PCRTC_REPAINT1_LARGE_SCREEN_ENABLE 173,9905 -#define NV_PCRTC_REPAINT1_PALETTE_WIDTH 174,9984 -#define NV_PCRTC_REPAINT1_PALETTE_WIDTH_8BITS 175,10049 -#define NV_PCRTC_REPAINT1_PALETTE_WIDTH_6BITS 176,10115 -#define NV_PCRTC_GRCURSOR0 178,10182 -#define NV_PCRTC_GRCURSOR0_START_ADDR_21_16 179,10248 -#define NV_PCRTC_GRCURSOR1 181,10314 -#define NV_PCRTC_GRCURSOR1_START_ADDR_15_11 182,10380 -#define NV_PCRTC_GRCURSOR1_SCAN_DBL 183,10445 -#define NV_PCRTC_GRCURSOR1_SCAN_DBL_DISABLE 184,10510 -#define NV_PCRTC_GRCURSOR1_SCAN_DBL_ENABLE 185,10573 -#define NV_PCRTC_GRCURSOR1_CURSOR 186,10636 -#define NV_PCRTC_GRCURSOR1_CURSOR_DISABLE 187,10701 -#define NV_PCRTC_GRCURSOR1_CURSOR_ENABLE 188,10765 -#define NV_PCRTC_PIXEL 191,10882 -#define NV_PCRTC_PIXEL_MODE 192,10932 -#define NV_PCRTC_PIXEL_MODE_TV 193,10981 -#define NV_PCRTC_PIXEL_MODE_VGA 194,11031 -#define NV_PCRTC_PIXEL_TV_MODE 195,11081 -#define NV_PCRTC_PIXEL_TV_MODE_NTSC 196,11130 -#define NV_PCRTC_PIXEL_TV_MODE_PAL 197,11180 -#define NV_PCRTC_PIXEL_TV_HORIZ_ADJUST 198,11230 -#define NV_PCRTC_PIXEL_FORMAT 199,11279 -#define NV_PCRTC_PIXEL_FORMAT_VGA 200,11328 -#define NV_PCRTC_PIXEL_FORMAT_8BPP 201,11378 -#define NV_PCRTC_PIXEL_FORMAT_16BPP 202,11428 -#define NV_PCRTC_PIXEL_FORMAT_32BPP 203,11478 -#define NV_PRAMDAC 206,11563 -#define NV_PRAMDAC_GRCURSOR_START_POS 207,11643 -#define NV_PRAMDAC_GRCURSOR_START_POS_X 208,11723 -#define NV_PRAMDAC_GRCURSOR_START_POS_Y 209,11803 -#define NV_PRAMDAC_NVPLL_COEFF 210,11883 -#define NV_PRAMDAC_NVPLL_COEFF_MDIV 211,11963 -#define NV_PRAMDAC_NVPLL_COEFF_NDIV 212,12043 -#define NV_PRAMDAC_NVPLL_COEFF_PDIV 213,12123 -#define NV_PRAMDAC_MPLL_COEFF 214,12203 -#define NV_PRAMDAC_MPLL_COEFF_MDIV 215,12283 -#define NV_PRAMDAC_MPLL_COEFF_NDIV 216,12363 -#define NV_PRAMDAC_MPLL_COEFF_PDIV 217,12443 -#define NV_PRAMDAC_VPLL_COEFF 218,12523 -#define NV_PRAMDAC_VPLL_COEFF_MDIV 219,12603 -#define NV_PRAMDAC_VPLL_COEFF_NDIV 220,12683 -#define NV_PRAMDAC_VPLL_COEFF_PDIV 221,12763 -#define NV_PRAMDAC_PLL_COEFF_SELECT 222,12843 -#define NV_PRAMDAC_PLL_COEFF_SELECT_DLL_BYPASS 223,12923 -#define NV_PRAMDAC_PLL_COEFF_SELECT_DLL_BYPASS_FALSE 224,13003 -#define NV_PRAMDAC_PLL_COEFF_SELECT_DLL_BYPASS_TRUE 225,13083 -#define NV_PRAMDAC_PLL_COEFF_SELECT_MPLL_SOURCE 226,13163 -#define NV_PRAMDAC_PLL_COEFF_SELECT_MPLL_SOURCE_DEFAULT 227,13243 -#define NV_PRAMDAC_PLL_COEFF_SELECT_MPLL_SOURCE_PROG 228,13323 -#define NV_PRAMDAC_PLL_COEFF_SELECT_MPLL_BYPASS 229,13403 -#define NV_PRAMDAC_PLL_COEFF_SELECT_MPLL_BYPASS_FALSE 230,13483 -#define NV_PRAMDAC_PLL_COEFF_SELECT_MPLL_BYPASS_TRUE 231,13563 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VPLL_SOURCE 232,13643 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VPLL_SOURCE_DEFAULT 233,13723 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VPLL_SOURCE_PROG 234,13803 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VPLL_BYPASS 235,13883 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VPLL_BYPASS_FALSE 236,13963 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VPLL_BYPASS_TRUE 237,14043 -#define NV_PRAMDAC_PLL_COEFF_SELECT_PCLK_SOURCE 238,14123 -#define NV_PRAMDAC_PLL_COEFF_SELECT_PCLK_SOURCE_VPLL 239,14203 -#define NV_PRAMDAC_PLL_COEFF_SELECT_PCLK_SOURCE_VIP 240,14283 -#define NV_PRAMDAC_PLL_COEFF_SELECT_PCLK_SOURCE_XTALOSC 241,14363 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VCLK_RATIO 242,14443 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VCLK_RATIO_DB1 243,14523 -#define NV_PRAMDAC_PLL_COEFF_SELECT_VCLK_RATIO_DB2 244,14603 -#define NV_PRAMDAC_GENERAL_CONTROL 245,14683 -#define NV_PRAMDAC_GENERAL_CONTROL_FF_COEFF 246,14763 -#define NV_PRAMDAC_GENERAL_CONTROL_FF_COEFF_DEF 247,14843 -#define NV_PRAMDAC_GENERAL_CONTROL_IDC_MODE 248,14923 -#define NV_PRAMDAC_GENERAL_CONTROL_IDC_MODE_GAMMA 249,15003 -#define NV_PRAMDAC_GENERAL_CONTROL_IDC_MODE_INDEX 250,15083 -#define NV_PRAMDAC_GENERAL_CONTROL_VGA_STATE 251,15163 -#define NV_PRAMDAC_GENERAL_CONTROL_VGA_STATE_NOTSE 252,15243 -#define NV_PRAMDAC_GENERAL_CONTROL_VGA_STATE_SEL 253,15323 -#define NV_PRAMDAC_GENERAL_CONTROL_565_MODE 254,15403 -#define NV_PRAMDAC_GENERAL_CONTROL_565_MODE_NOTSEL 255,15483 -#define NV_PRAMDAC_GENERAL_CONTROL_565_MODE_SEL 256,15563 -#define NV_PRAMDAC_GENERAL_CONTROL_BLK_PEDSTL 257,15643 -#define NV_PRAMDAC_GENERAL_CONTROL_BLK_PEDSTL_OFF 258,15723 -#define NV_PRAMDAC_GENERAL_CONTROL_BLK_PEDSTL_ON 259,15803 -#define NV_PRAMDAC_GENERAL_CONTROL_TERMINATION 260,15883 -#define NV_PRAMDAC_GENERAL_CONTROL_TERMINATION_37OHM 261,15963 -#define NV_PRAMDAC_GENERAL_CONTROL_TERMINATION_75OHM 262,16043 -#define NV_PRAMDAC_GENERAL_CONTROL_BPC 263,16123 -#define NV_PRAMDAC_GENERAL_CONTROL_BPC_6BITS 264,16203 -#define NV_PRAMDAC_GENERAL_CONTROL_BPC_8BITS 265,16283 -#define NV_PRAMDAC_GENERAL_CONTROL_DAC_SLEEP 266,16363 -#define NV_PRAMDAC_GENERAL_CONTROL_DAC_SLEEP_DIS 267,16443 -#define NV_PRAMDAC_GENERAL_CONTROL_DAC_SLEEP_EN 268,16523 -#define NV_PRAMDAC_GENERAL_CONTROL_PALETTE_CLK 269,16603 -#define NV_PRAMDAC_GENERAL_CONTROL_PALETTE_CLK_EN 270,16683 -#define NV_PRAMDAC_GENERAL_CONTROL_PALETTE_CLK_DIS 271,16763 -#define NV_PMC 274,16865 -#define NV_PMC_BOOT_0 275,16945 -#define NV_PMC_BOOT_0_MINOR_REVISION 276,17025 -#define NV_PMC_BOOT_0_MINOR_REVISION_0 277,17105 -#define NV_PMC_BOOT_0_MAJOR_REVISION 278,17185 -#define NV_PMC_BOOT_0_MAJOR_REVISION_A 279,17265 -#define NV_PMC_BOOT_0_MAJOR_REVISION_B 280,17345 -#define NV_PMC_BOOT_0_IMPLEMENTATION 281,17425 -#define NV_PMC_BOOT_0_IMPLEMENTATION_NV4_0 282,17505 -#define NV_PMC_BOOT_0_ARCHITECTURE 283,17585 -#define NV_PMC_BOOT_0_ARCHITECTURE_NV0 284,17665 -#define NV_PMC_BOOT_0_ARCHITECTURE_NV1 285,17745 -#define NV_PMC_BOOT_0_ARCHITECTURE_NV2 286,17825 -#define NV_PMC_BOOT_0_ARCHITECTURE_NV3 287,17905 -#define NV_PMC_BOOT_0_ARCHITECTURE_NV4 288,17985 -#define NV_PMC_BOOT_0_FIB_REVISION 289,18065 -#define NV_PMC_BOOT_0_FIB_REVISION_0 290,18145 -#define NV_PMC_BOOT_0_MASK_REVISION 291,18225 -#define NV_PMC_BOOT_0_MASK_REVISION_A 292,18305 -#define NV_PMC_BOOT_0_MASK_REVISION_B 293,18385 -#define NV_PMC_BOOT_0_MANUFACTURER 294,18465 -#define NV_PMC_BOOT_0_MANUFACTURER_NVIDIA 295,18545 -#define NV_PMC_BOOT_0_FOUNDRY 296,18625 -#define NV_PMC_BOOT_0_FOUNDRY_SGS 297,18705 -#define NV_PMC_BOOT_0_FOUNDRY_HELIOS 298,18785 -#define NV_PMC_BOOT_0_FOUNDRY_TSMC 299,18865 -#define NV_PMC_INTR_0 300,18945 -#define NV_PMC_INTR_0_PMEDIA 301,19025 -#define NV_PMC_INTR_0_PMEDIA_NOT_PENDING 302,19105 -#define NV_PMC_INTR_0_PMEDIA_PENDING 303,19185 -#define NV_PMC_INTR_0_PFIFO 304,19265 -#define NV_PMC_INTR_0_PFIFO_NOT_PENDING 305,19345 -#define NV_PMC_INTR_0_PFIFO_PENDING 306,19425 -#define NV_PMC_INTR_0_PGRAPH 307,19505 -#define NV_PMC_INTR_0_PGRAPH_NOT_PENDING 308,19585 -#define NV_PMC_INTR_0_PGRAPH_PENDING 309,19665 -#define NV_PMC_INTR_0_PVIDEO 310,19745 -#define NV_PMC_INTR_0_PVIDEO_NOT_PENDING 311,19825 -#define NV_PMC_INTR_0_PVIDEO_PENDING 312,19905 -#define NV_PMC_INTR_0_PTIMER 313,19985 -#define NV_PMC_INTR_0_PTIMER_NOT_PENDING 314,20065 -#define NV_PMC_INTR_0_PTIMER_PENDING 315,20145 -#define NV_PMC_INTR_0_PCRTC 316,20225 -#define NV_PMC_INTR_0_PCRTC_NOT_PENDING 317,20305 -#define NV_PMC_INTR_0_PCRTC_PENDING 318,20385 -#define NV_PMC_INTR_0_PBUS 319,20465 -#define NV_PMC_INTR_0_PBUS_NOT_PENDING 320,20545 -#define NV_PMC_INTR_0_PBUS_PENDING 321,20625 -#define NV_PMC_INTR_0_SOFTWARE 322,20705 -#define NV_PMC_INTR_0_SOFTWARE_NOT_PENDING 323,20785 -#define NV_PMC_INTR_0_SOFTWARE_PENDING 324,20865 -#define NV_PMC_INTR_EN_0 325,20945 -#define NV_PMC_INTR_EN_0_INTA 326,21025 -#define NV_PMC_INTR_EN_0_INTA_DISABLED 327,21105 -#define NV_PMC_INTR_EN_0_INTA_HARDWARE 328,21185 -#define NV_PMC_INTR_EN_0_INTA_SOFTWARE 329,21265 -#define NV_PMC_INTR_READ_0 330,21345 -#define NV_PMC_INTR_READ_0_INTA 331,21425 -#define NV_PMC_INTR_READ_0_INTA_LOW 332,21505 -#define NV_PMC_INTR_READ_0_INTA_HIGH 333,21585 -#define NV_PMC_ENABLE 334,21665 -#define NV_PMC_ENABLE_PMEDIA 335,21745 -#define NV_PMC_ENABLE_PMEDIA_DISABLED 336,21825 -#define NV_PMC_ENABLE_PMEDIA_ENABLED 337,21905 -#define NV_PMC_ENABLE_PFIFO 338,21985 -#define NV_PMC_ENABLE_PFIFO_DISABLED 339,22065 -#define NV_PMC_ENABLE_PFIFO_ENABLED 340,22145 -#define NV_PMC_ENABLE_PGRAPH 341,22225 -#define NV_PMC_ENABLE_PGRAPH_DISABLED 342,22305 -#define NV_PMC_ENABLE_PGRAPH_ENABLED 343,22385 -#define NV_PMC_ENABLE_PPMI 344,22465 -#define NV_PMC_ENABLE_PPMI_DISABLED 345,22545 -#define NV_PMC_ENABLE_PPMI_ENABLED 346,22625 -#define NV_PMC_ENABLE_PFB 347,22705 -#define NV_PMC_ENABLE_PFB_DISABLED 348,22785 -#define NV_PMC_ENABLE_PFB_ENABLED 349,22865 -#define NV_PMC_ENABLE_PCRTC 350,22945 -#define NV_PMC_ENABLE_PCRTC_DISABLED 351,23025 -#define NV_PMC_ENABLE_PCRTC_ENABLED 352,23105 -#define NV_PMC_ENABLE_PVIDEO 353,23185 -#define NV_PMC_ENABLE_PVIDEO_DISABLED 354,23265 -#define NV_PMC_ENABLE_PVIDEO_ENABLED 355,23345 -#define NV_PTIMER 358,23446 -#define NV_PTIMER_INTR_0 359,23526 -#define NV_PTIMER_INTR_0_ALARM 360,23606 -#define NV_PTIMER_INTR_0_ALARM_NOT_PENDING 361,23686 -#define NV_PTIMER_INTR_0_ALARM_PENDING 362,23766 -#define NV_PTIMER_INTR_0_ALARM_RESET 363,23846 -#define NV_PTIMER_INTR_EN_0 364,23926 -#define NV_PTIMER_INTR_EN_0_ALARM 365,24006 -#define NV_PTIMER_INTR_EN_0_ALARM_DISABLED 366,24086 -#define NV_PTIMER_INTR_EN_0_ALARM_ENABLED 367,24166 -#define NV_PTIMER_NUMERATOR 368,24246 -#define NV_PTIMER_NUMERATOR_VALUE 369,24326 -#define NV_PTIMER_NUMERATOR_VALUE_0 370,24406 -#define NV_PTIMER_DENOMINATOR 371,24486 -#define NV_PTIMER_DENOMINATOR_VALUE 372,24566 -#define NV_PTIMER_DENOMINATOR_VALUE_0 373,24646 -#define NV_PTIMER_TIME_0 374,24726 -#define NV_PTIMER_TIME_0_NSEC 375,24806 -#define NV_PTIMER_TIME_1 376,24886 -#define NV_PTIMER_TIME_1_NSEC 377,24966 -#define NV_PTIMER_ALARM_0 378,25046 -#define NV_PTIMER_ALARM_0_NSEC 379,25126 -#define NV_PFIFO 382,25226 -#define NV_PFIFO_DELAY_0 383,25306 -#define NV_PFIFO_DELAY_0_WAIT_RETRY 384,25386 -#define NV_PFIFO_DELAY_0_WAIT_RETRY_0 385,25466 -#define NV_PFIFO_DMA_TIMESLICE 386,25546 -#define NV_PFIFO_DMA_TIMESLICE_SELECT 387,25626 -#define NV_PFIFO_DMA_TIMESLICE_SELECT_1 388,25706 -#define NV_PFIFO_DMA_TIMESLICE_SELECT_16K 389,25786 -#define NV_PFIFO_DMA_TIMESLICE_SELECT_32K 390,25866 -#define NV_PFIFO_DMA_TIMESLICE_SELECT_64K 391,25946 -#define NV_PFIFO_DMA_TIMESLICE_SELECT_128K 392,26026 -#define NV_PFIFO_DMA_TIMESLICE_TIMEOUT 393,26106 -#define NV_PFIFO_DMA_TIMESLICE_TIMEOUT_DISABLED 394,26186 -#define NV_PFIFO_DMA_TIMESLICE_TIMEOUT_ENABLED 395,26266 -#define NV_PFIFO_PIO_TIMESLICE 396,26346 -#define NV_PFIFO_PIO_TIMESLICE_SELECT 397,26426 -#define NV_PFIFO_PIO_TIMESLICE_SELECT_1 398,26506 -#define NV_PFIFO_PIO_TIMESLICE_SELECT_16K 399,26586 -#define NV_PFIFO_PIO_TIMESLICE_SELECT_32K 400,26666 -#define NV_PFIFO_PIO_TIMESLICE_SELECT_64K 401,26746 -#define NV_PFIFO_PIO_TIMESLICE_SELECT_128K 402,26826 -#define NV_PFIFO_PIO_TIMESLICE_TIMEOUT 403,26906 -#define NV_PFIFO_PIO_TIMESLICE_TIMEOUT_DISABLED 404,26986 -#define NV_PFIFO_PIO_TIMESLICE_TIMEOUT_ENABLED 405,27066 -#define NV_PFIFO_TIMESLICE 406,27146 -#define NV_PFIFO_TIMESLICE_TIMER 407,27226 -#define NV_PFIFO_TIMESLICE_TIMER_EXPIRED 408,27306 -#define NV_PFIFO_NEXT_CHANNEL 409,27386 -#define NV_PFIFO_NEXT_CHANNEL_CHID 410,27466 -#define NV_PFIFO_NEXT_CHANNEL_MODE 411,27546 -#define NV_PFIFO_NEXT_CHANNEL_MODE_PIO 412,27626 -#define NV_PFIFO_NEXT_CHANNEL_MODE_DMA 413,27706 -#define NV_PFIFO_NEXT_CHANNEL_SWITCH 414,27786 -#define NV_PFIFO_NEXT_CHANNEL_SWITCH_NOT_PENDING 415,27866 -#define NV_PFIFO_NEXT_CHANNEL_SWITCH_PENDING 416,27946 -#define NV_PFIFO_DEBUG_0 417,28026 -#define NV_PFIFO_DEBUG_0_CACHE_ERROR0 418,28106 -#define NV_PFIFO_DEBUG_0_CACHE_ERROR0_NOT_PENDING 419,28186 -#define NV_PFIFO_DEBUG_0_CACHE_ERROR0_PENDING 420,28266 -#define NV_PFIFO_DEBUG_0_CACHE_ERROR1 421,28346 -#define NV_PFIFO_DEBUG_0_CACHE_ERROR1_NOT_PENDING 422,28426 -#define NV_PFIFO_DEBUG_0_CACHE_ERROR1_PENDING 423,28506 -#define NV_PFIFO_INTR_0 424,28586 -#define NV_PFIFO_INTR_0_CACHE_ERROR 425,28666 -#define NV_PFIFO_INTR_0_CACHE_ERROR_NOT_PENDING 426,28746 -#define NV_PFIFO_INTR_0_CACHE_ERROR_PENDING 427,28826 -#define NV_PFIFO_INTR_0_CACHE_ERROR_RESET 428,28906 -#define NV_PFIFO_INTR_0_RUNOUT 429,28986 -#define NV_PFIFO_INTR_0_RUNOUT_NOT_PENDING 430,29066 -#define NV_PFIFO_INTR_0_RUNOUT_PENDING 431,29146 -#define NV_PFIFO_INTR_0_RUNOUT_RESET 432,29226 -#define NV_PFIFO_INTR_0_RUNOUT_OVERFLOW 433,29306 -#define NV_PFIFO_INTR_0_RUNOUT_OVERFLOW_NOT_PENDING 434,29386 -#define NV_PFIFO_INTR_0_RUNOUT_OVERFLOW_PENDING 435,29466 -#define NV_PFIFO_INTR_0_RUNOUT_OVERFLOW_RESET 436,29546 -#define NV_PFIFO_INTR_0_DMA_PUSHER 437,29626 -#define NV_PFIFO_INTR_0_DMA_PUSHER_NOT_PENDING 438,29706 -#define NV_PFIFO_INTR_0_DMA_PUSHER_PENDING 439,29786 -#define NV_PFIFO_INTR_0_DMA_PUSHER_RESET 440,29866 -#define NV_PFIFO_INTR_0_DMA_PT 441,29946 -#define NV_PFIFO_INTR_0_DMA_PT_NOT_PENDING 442,30026 -#define NV_PFIFO_INTR_0_DMA_PT_PENDING 443,30106 -#define NV_PFIFO_INTR_0_DMA_PT_RESET 444,30186 -#define NV_PFIFO_INTR_EN_0 445,30266 -#define NV_PFIFO_INTR_EN_0_CACHE_ERROR 446,30346 -#define NV_PFIFO_INTR_EN_0_CACHE_ERROR_DISABLED 447,30426 -#define NV_PFIFO_INTR_EN_0_CACHE_ERROR_ENABLED 448,30506 -#define NV_PFIFO_INTR_EN_0_RUNOUT 449,30586 -#define NV_PFIFO_INTR_EN_0_RUNOUT_DISABLED 450,30666 -#define NV_PFIFO_INTR_EN_0_RUNOUT_ENABLED 451,30746 -#define NV_PFIFO_INTR_EN_0_RUNOUT_OVERFLOW 452,30826 -#define NV_PFIFO_INTR_EN_0_RUNOUT_OVERFLOW_DISABLED 453,30906 -#define NV_PFIFO_INTR_EN_0_RUNOUT_OVERFLOW_ENABLED 454,30986 -#define NV_PFIFO_INTR_EN_0_DMA_PUSHER 455,31066 -#define NV_PFIFO_INTR_EN_0_DMA_PUSHER_DISABLED 456,31146 -#define NV_PFIFO_INTR_EN_0_DMA_PUSHER_ENABLED 457,31226 -#define NV_PFIFO_INTR_EN_0_DMA_PT 458,31306 -#define NV_PFIFO_INTR_EN_0_DMA_PT_DISABLED 459,31386 -#define NV_PFIFO_INTR_EN_0_DMA_PT_ENABLED 460,31466 -#define NV_PFIFO_RAMHT 461,31546 -#define NV_PFIFO_RAMHT_BASE_ADDRESS 462,31626 -#define NV_PFIFO_RAMHT_BASE_ADDRESS_10000 463,31706 -#define NV_PFIFO_RAMHT_SIZE 464,31786 -#define NV_PFIFO_RAMHT_SIZE_4K 465,31866 -#define NV_PFIFO_RAMHT_SIZE_8K 466,31946 -#define NV_PFIFO_RAMHT_SIZE_16K 467,32026 -#define NV_PFIFO_RAMHT_SIZE_32K 468,32106 -#define NV_PFIFO_RAMHT_SEARCH 469,32186 -#define NV_PFIFO_RAMHT_SEARCH_16 470,32266 -#define NV_PFIFO_RAMHT_SEARCH_32 471,32346 -#define NV_PFIFO_RAMHT_SEARCH_64 472,32426 -#define NV_PFIFO_RAMHT_SEARCH_128 473,32506 -#define NV_PFIFO_RAMFC 474,32586 -#define NV_PFIFO_RAMFC_BASE_ADDRESS 475,32666 -#define NV_PFIFO_RAMFC_BASE_ADDRESS_11000 476,32746 -#define NV_PFIFO_RAMRO 477,32826 -#define NV_PFIFO_RAMRO_BASE_ADDRESS 478,32906 -#define NV_PFIFO_RAMRO_BASE_ADDRESS_11200 479,32986 -#define NV_PFIFO_RAMRO_BASE_ADDRESS_12000 480,33066 -#define NV_PFIFO_RAMRO_SIZE 481,33146 -#define NV_PFIFO_RAMRO_SIZE_512 482,33226 -#define NV_PFIFO_RAMRO_SIZE_8K 483,33306 -#define NV_PFIFO_CACHES 484,33386 -#define NV_PFIFO_CACHES_REASSIGN 485,33466 -#define NV_PFIFO_CACHES_REASSIGN_DISABLED 486,33546 -#define NV_PFIFO_CACHES_REASSIGN_ENABLED 487,33626 -#define NV_PFIFO_CACHES_DMA_SUSPEND 488,33706 -#define NV_PFIFO_CACHES_DMA_SUSPEND_IDLE 489,33786 -#define NV_PFIFO_CACHES_DMA_SUSPEND_BUSY 490,33866 -#define NV_PFIFO_MODE 491,33946 -#define NV_PFIFO_MODE_CHANNEL_0 492,34026 -#define NV_PFIFO_MODE_CHANNEL_0_PIO 493,34106 -#define NV_PFIFO_MODE_CHANNEL_0_DMA 494,34186 -#define NV_PFIFO_MODE_CHANNEL_1 495,34266 -#define NV_PFIFO_MODE_CHANNEL_1_PIO 496,34346 -#define NV_PFIFO_MODE_CHANNEL_1_DMA 497,34426 -#define NV_PFIFO_MODE_CHANNEL_2 498,34506 -#define NV_PFIFO_MODE_CHANNEL_2_PIO 499,34586 -#define NV_PFIFO_MODE_CHANNEL_2_DMA 500,34666 -#define NV_PFIFO_MODE_CHANNEL_3 501,34746 -#define NV_PFIFO_MODE_CHANNEL_3_PIO 502,34826 -#define NV_PFIFO_MODE_CHANNEL_3_DMA 503,34906 -#define NV_PFIFO_MODE_CHANNEL_4 504,34986 -#define NV_PFIFO_MODE_CHANNEL_4_PIO 505,35066 -#define NV_PFIFO_MODE_CHANNEL_4_DMA 506,35146 -#define NV_PFIFO_MODE_CHANNEL_5 507,35226 -#define NV_PFIFO_MODE_CHANNEL_5_PIO 508,35306 -#define NV_PFIFO_MODE_CHANNEL_5_DMA 509,35386 -#define NV_PFIFO_MODE_CHANNEL_6 510,35466 -#define NV_PFIFO_MODE_CHANNEL_6_PIO 511,35546 -#define NV_PFIFO_MODE_CHANNEL_6_DMA 512,35626 -#define NV_PFIFO_MODE_CHANNEL_7 513,35706 -#define NV_PFIFO_MODE_CHANNEL_7_PIO 514,35786 -#define NV_PFIFO_MODE_CHANNEL_7_DMA 515,35866 -#define NV_PFIFO_MODE_CHANNEL_8 516,35946 -#define NV_PFIFO_MODE_CHANNEL_8_PIO 517,36026 -#define NV_PFIFO_MODE_CHANNEL_8_DMA 518,36106 -#define NV_PFIFO_MODE_CHANNEL_9 519,36186 -#define NV_PFIFO_MODE_CHANNEL_9_PIO 520,36266 -#define NV_PFIFO_MODE_CHANNEL_9_DMA 521,36346 -#define NV_PFIFO_MODE_CHANNEL_10 522,36426 -#define NV_PFIFO_MODE_CHANNEL_10_PIO 523,36506 -#define NV_PFIFO_MODE_CHANNEL_10_DMA 524,36586 -#define NV_PFIFO_MODE_CHANNEL_11 525,36666 -#define NV_PFIFO_MODE_CHANNEL_11_PIO 526,36746 -#define NV_PFIFO_MODE_CHANNEL_11_DMA 527,36826 -#define NV_PFIFO_MODE_CHANNEL_12 528,36906 -#define NV_PFIFO_MODE_CHANNEL_12_PIO 529,36986 -#define NV_PFIFO_MODE_CHANNEL_12_DMA 530,37066 -#define NV_PFIFO_MODE_CHANNEL_13 531,37146 -#define NV_PFIFO_MODE_CHANNEL_13_PIO 532,37226 -#define NV_PFIFO_MODE_CHANNEL_13_DMA 533,37306 -#define NV_PFIFO_MODE_CHANNEL_14 534,37386 -#define NV_PFIFO_MODE_CHANNEL_14_PIO 535,37466 -#define NV_PFIFO_MODE_CHANNEL_14_DMA 536,37546 -#define NV_PFIFO_MODE_CHANNEL_15 537,37626 -#define NV_PFIFO_MODE_CHANNEL_15_PIO 538,37706 -#define NV_PFIFO_MODE_CHANNEL_15_DMA 539,37786 -#define NV_PFIFO_DMA 540,37866 -#define NV_PFIFO_DMA_CHANNEL_0 541,37946 -#define NV_PFIFO_DMA_CHANNEL_0_NOT_PENDING 542,38026 -#define NV_PFIFO_DMA_CHANNEL_0_PENDING 543,38106 -#define NV_PFIFO_DMA_CHANNEL_1 544,38186 -#define NV_PFIFO_DMA_CHANNEL_1_NOT_PENDING 545,38266 -#define NV_PFIFO_DMA_CHANNEL_1_PENDING 546,38346 -#define NV_PFIFO_DMA_CHANNEL_2 547,38426 -#define NV_PFIFO_DMA_CHANNEL_2_NOT_PENDING 548,38506 -#define NV_PFIFO_DMA_CHANNEL_2_PENDING 549,38586 -#define NV_PFIFO_DMA_CHANNEL_3 550,38666 -#define NV_PFIFO_DMA_CHANNEL_3_NOT_PENDING 551,38746 -#define NV_PFIFO_DMA_CHANNEL_3_PENDING 552,38826 -#define NV_PFIFO_DMA_CHANNEL_4 553,38906 -#define NV_PFIFO_DMA_CHANNEL_4_NOT_PENDING 554,38986 -#define NV_PFIFO_DMA_CHANNEL_4_PENDING 555,39066 -#define NV_PFIFO_DMA_CHANNEL_5 556,39146 -#define NV_PFIFO_DMA_CHANNEL_5_NOT_PENDING 557,39226 -#define NV_PFIFO_DMA_CHANNEL_5_PENDING 558,39306 -#define NV_PFIFO_DMA_CHANNEL_6 559,39386 -#define NV_PFIFO_DMA_CHANNEL_6_NOT_PENDING 560,39466 -#define NV_PFIFO_DMA_CHANNEL_6_PENDING 561,39546 -#define NV_PFIFO_DMA_CHANNEL_7 562,39626 -#define NV_PFIFO_DMA_CHANNEL_7_NOT_PENDING 563,39706 -#define NV_PFIFO_DMA_CHANNEL_7_PENDING 564,39786 -#define NV_PFIFO_DMA_CHANNEL_8 565,39866 -#define NV_PFIFO_DMA_CHANNEL_8_NOT_PENDING 566,39946 -#define NV_PFIFO_DMA_CHANNEL_8_PENDING 567,40026 -#define NV_PFIFO_DMA_CHANNEL_9 568,40106 -#define NV_PFIFO_DMA_CHANNEL_9_NOT_PENDING 569,40186 -#define NV_PFIFO_DMA_CHANNEL_9_PENDING 570,40266 -#define NV_PFIFO_DMA_CHANNEL_10 571,40346 -#define NV_PFIFO_DMA_CHANNEL_10_NOT_PENDING 572,40426 -#define NV_PFIFO_DMA_CHANNEL_10_PENDING 573,40506 -#define NV_PFIFO_DMA_CHANNEL_11 574,40586 -#define NV_PFIFO_DMA_CHANNEL_11_NOT_PENDING 575,40666 -#define NV_PFIFO_DMA_CHANNEL_11_PENDING 576,40746 -#define NV_PFIFO_DMA_CHANNEL_12 577,40826 -#define NV_PFIFO_DMA_CHANNEL_12_NOT_PENDING 578,40906 -#define NV_PFIFO_DMA_CHANNEL_12_PENDING 579,40986 -#define NV_PFIFO_DMA_CHANNEL_13 580,41066 -#define NV_PFIFO_DMA_CHANNEL_13_NOT_PENDING 581,41146 -#define NV_PFIFO_DMA_CHANNEL_13_PENDING 582,41226 -#define NV_PFIFO_DMA_CHANNEL_14 583,41306 -#define NV_PFIFO_DMA_CHANNEL_14_NOT_PENDING 584,41386 -#define NV_PFIFO_DMA_CHANNEL_14_PENDING 585,41466 -#define NV_PFIFO_DMA_CHANNEL_15 586,41546 -#define NV_PFIFO_DMA_CHANNEL_15_NOT_PENDING 587,41626 -#define NV_PFIFO_DMA_CHANNEL_15_PENDING 588,41706 -#define NV_PFIFO_SIZE 589,41786 -#define NV_PFIFO_SIZE_CHANNEL_0 590,41866 -#define NV_PFIFO_SIZE_CHANNEL_0_124_BYTES 591,41946 -#define NV_PFIFO_SIZE_CHANNEL_0_512_BYTES 592,42026 -#define NV_PFIFO_SIZE_CHANNEL_1 593,42106 -#define NV_PFIFO_SIZE_CHANNEL_1_124_BYTES 594,42186 -#define NV_PFIFO_SIZE_CHANNEL_1_512_BYTES 595,42266 -#define NV_PFIFO_SIZE_CHANNEL_2 596,42346 -#define NV_PFIFO_SIZE_CHANNEL_2_124_BYTES 597,42426 -#define NV_PFIFO_SIZE_CHANNEL_2_512_BYTES 598,42506 -#define NV_PFIFO_SIZE_CHANNEL_3 599,42586 -#define NV_PFIFO_SIZE_CHANNEL_3_124_BYTES 600,42666 -#define NV_PFIFO_SIZE_CHANNEL_3_512_BYTES 601,42746 -#define NV_PFIFO_SIZE_CHANNEL_4 602,42826 -#define NV_PFIFO_SIZE_CHANNEL_4_124_BYTES 603,42906 -#define NV_PFIFO_SIZE_CHANNEL_4_512_BYTES 604,42986 -#define NV_PFIFO_SIZE_CHANNEL_5 605,43066 -#define NV_PFIFO_SIZE_CHANNEL_5_124_BYTES 606,43146 -#define NV_PFIFO_SIZE_CHANNEL_5_512_BYTES 607,43226 -#define NV_PFIFO_SIZE_CHANNEL_6 608,43306 -#define NV_PFIFO_SIZE_CHANNEL_6_124_BYTES 609,43386 -#define NV_PFIFO_SIZE_CHANNEL_6_512_BYTES 610,43466 -#define NV_PFIFO_SIZE_CHANNEL_7 611,43546 -#define NV_PFIFO_SIZE_CHANNEL_7_124_BYTES 612,43626 -#define NV_PFIFO_SIZE_CHANNEL_7_512_BYTES 613,43706 -#define NV_PFIFO_SIZE_CHANNEL_8 614,43786 -#define NV_PFIFO_SIZE_CHANNEL_8_124_BYTES 615,43866 -#define NV_PFIFO_SIZE_CHANNEL_8_512_BYTES 616,43946 -#define NV_PFIFO_SIZE_CHANNEL_9 617,44026 -#define NV_PFIFO_SIZE_CHANNEL_9_124_BYTES 618,44106 -#define NV_PFIFO_SIZE_CHANNEL_9_512_BYTES 619,44186 -#define NV_PFIFO_SIZE_CHANNEL_10 620,44266 -#define NV_PFIFO_SIZE_CHANNEL_10_124_BYTES 621,44346 -#define NV_PFIFO_SIZE_CHANNEL_10_512_BYTES 622,44426 -#define NV_PFIFO_SIZE_CHANNEL_11 623,44506 -#define NV_PFIFO_SIZE_CHANNEL_11_124_BYTES 624,44586 -#define NV_PFIFO_SIZE_CHANNEL_11_512_BYTES 625,44666 -#define NV_PFIFO_SIZE_CHANNEL_12 626,44746 -#define NV_PFIFO_SIZE_CHANNEL_12_124_BYTES 627,44826 -#define NV_PFIFO_SIZE_CHANNEL_12_512_BYTES 628,44906 -#define NV_PFIFO_SIZE_CHANNEL_13 629,44986 -#define NV_PFIFO_SIZE_CHANNEL_13_124_BYTES 630,45066 -#define NV_PFIFO_SIZE_CHANNEL_13_512_BYTES 631,45146 -#define NV_PFIFO_SIZE_CHANNEL_14 632,45226 -#define NV_PFIFO_SIZE_CHANNEL_14_124_BYTES 633,45306 -#define NV_PFIFO_SIZE_CHANNEL_14_512_BYTES 634,45386 -#define NV_PFIFO_SIZE_CHANNEL_15 635,45466 -#define NV_PFIFO_SIZE_CHANNEL_15_124_BYTES 636,45546 -#define NV_PFIFO_SIZE_CHANNEL_15_512_BYTES 637,45626 -#define NV_PFIFO_CACHE0_PUSH0 638,45706 -#define NV_PFIFO_CACHE0_PUSH0_ACCESS 639,45786 -#define NV_PFIFO_CACHE0_PUSH0_ACCESS_DISABLED 640,45866 -#define NV_PFIFO_CACHE0_PUSH0_ACCESS_ENABLED 641,45946 -#define NV_PFIFO_CACHE1_PUSH0 642,46026 -#define NV_PFIFO_CACHE1_PUSH0_ACCESS 643,46106 -#define NV_PFIFO_CACHE1_PUSH0_ACCESS_DISABLED 644,46186 -#define NV_PFIFO_CACHE1_PUSH0_ACCESS_ENABLED 645,46266 -#define NV_PFIFO_CACHE0_PUSH1 646,46346 -#define NV_PFIFO_CACHE0_PUSH1_CHID 647,46426 -#define NV_PFIFO_CACHE1_PUSH1 648,46506 -#define NV_PFIFO_CACHE1_PUSH1_CHID 649,46586 -#define NV_PFIFO_CACHE1_PUSH1_MODE 650,46666 -#define NV_PFIFO_CACHE1_PUSH1_MODE_PIO 651,46746 -#define NV_PFIFO_CACHE1_PUSH1_MODE_DMA 652,46826 -#define NV_PFIFO_CACHE1_DMA_PUSH 653,46906 -#define NV_PFIFO_CACHE1_DMA_PUSH_ACCESS 654,46986 -#define NV_PFIFO_CACHE1_DMA_PUSH_ACCESS_DISABLED 655,47066 -#define NV_PFIFO_CACHE1_DMA_PUSH_ACCESS_ENABLED 656,47146 -#define NV_PFIFO_CACHE1_DMA_PUSH_STATE 657,47226 -#define NV_PFIFO_CACHE1_DMA_PUSH_STATE_IDLE 658,47306 -#define NV_PFIFO_CACHE1_DMA_PUSH_STATE_BUSY 659,47386 -#define NV_PFIFO_CACHE1_DMA_PUSH_BUFFER 660,47466 -#define NV_PFIFO_CACHE1_DMA_PUSH_BUFFER_NOT_EMPTY 661,47546 -#define NV_PFIFO_CACHE1_DMA_PUSH_BUFFER_EMPTY 662,47626 -#define NV_PFIFO_CACHE1_DMA_PUSH_STATUS 663,47706 -#define NV_PFIFO_CACHE1_DMA_PUSH_STATUS_RUNNING 664,47786 -#define NV_PFIFO_CACHE1_DMA_PUSH_STATUS_SUSPENDED 665,47866 -#define NV_PFIFO_CACHE1_DMA_FETCH 666,47946 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG 667,48026 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_8_BYTES 668,48106 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_16_BYTES 669,48186 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_24_BYTES 670,48266 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_32_BYTES 671,48346 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_40_BYTES 672,48426 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_48_BYTES 673,48506 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_56_BYTES 674,48586 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_64_BYTES 675,48666 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_72_BYTES 676,48746 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_80_BYTES 677,48826 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_88_BYTES 678,48906 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_96_BYTES 679,48986 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_104_BYTES 680,49066 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_112_BYTES 681,49146 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_120_BYTES 682,49226 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_128_BYTES 683,49306 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_136_BYTES 684,49386 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_144_BYTES 685,49466 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_152_BYTES 686,49546 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_160_BYTES 687,49626 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_168_BYTES 688,49706 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_176_BYTES 689,49786 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_184_BYTES 690,49866 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_192_BYTES 691,49946 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_200_BYTES 692,50026 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_208_BYTES 693,50106 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_216_BYTES 694,50186 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_224_BYTES 695,50266 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_232_BYTES 696,50346 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_240_BYTES 697,50426 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_248_BYTES 698,50506 -#define NV_PFIFO_CACHE1_DMA_FETCH_TRIG_256_BYTES 699,50586 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE 700,50666 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_32_BYTES 701,50746 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_64_BYTES 702,50826 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_96_BYTES 703,50906 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_128_BYTES 704,50986 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_160_BYTES 705,51066 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_192_BYTES 706,51146 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_224_BYTES 707,51226 -#define NV_PFIFO_CACHE1_DMA_FETCH_SIZE_256_BYTES 708,51306 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS 709,51386 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_0 710,51466 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_1 711,51546 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_2 712,51626 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_3 713,51706 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_4 714,51786 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_5 715,51866 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_6 716,51946 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_7 717,52026 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_8 718,52106 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_9 719,52186 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_10 720,52266 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_11 721,52346 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_12 722,52426 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_13 723,52506 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_14 724,52586 -#define NV_PFIFO_CACHE1_DMA_FETCH_MAX_REQS_15 725,52666 -#define NV_PFIFO_CACHE1_DMA_PUT 726,52746 -#define NV_PFIFO_CACHE1_DMA_PUT_OFFSET 727,52826 -#define NV_PFIFO_CACHE1_DMA_GET 728,52906 -#define NV_PFIFO_CACHE1_DMA_GET_OFFSET 729,52986 -#define NV_PFIFO_CACHE1_DMA_STATE 730,53066 -#define NV_PFIFO_CACHE1_DMA_STATE_METHOD 731,53146 -#define NV_PFIFO_CACHE1_DMA_STATE_SUBCHANNEL 732,53226 -#define NV_PFIFO_CACHE1_DMA_STATE_METHOD_COUNT 733,53306 -#define NV_PFIFO_CACHE1_DMA_STATE_METHOD_COUNT_0 734,53386 -#define NV_PFIFO_CACHE1_DMA_STATE_ERROR 735,53466 -#define NV_PFIFO_CACHE1_DMA_STATE_ERROR_NONE 736,53546 -#define NV_PFIFO_CACHE1_DMA_STATE_ERROR_NON_CACHE 737,53626 -#define NV_PFIFO_CACHE1_DMA_STATE_ERROR_RESERVED_CMD 738,53706 -#define NV_PFIFO_CACHE1_DMA_STATE_ERROR_PROTECTION 739,53786 -#define NV_PFIFO_CACHE1_DMA_INSTANCE 740,53866 -#define NV_PFIFO_CACHE1_DMA_INSTANCE_ADDRESS 741,53946 -#define NV_PFIFO_CACHE1_DMA_CTL 742,54026 -#define NV_PFIFO_CACHE1_DMA_CTL_ADJUST 743,54106 -#define NV_PFIFO_CACHE1_DMA_CTL_PAGE_TABLE 744,54186 -#define NV_PFIFO_CACHE1_DMA_CTL_PAGE_TABLE_NOT_PRESENT 745,54266 -#define NV_PFIFO_CACHE1_DMA_CTL_PAGE_TABLE_PRESENT 746,54346 -#define NV_PFIFO_CACHE1_DMA_CTL_PAGE_ENTRY 747,54426 -#define NV_PFIFO_CACHE1_DMA_CTL_PAGE_ENTRY_NOT_LINEAR 748,54506 -#define NV_PFIFO_CACHE1_DMA_CTL_PAGE_ENTRY_LINEAR 749,54586 -#define NV_PFIFO_CACHE1_DMA_CTL_TARGET_NODE 750,54666 -#define NV_PFIFO_CACHE1_DMA_CTL_TARGET_NODE_PCI 751,54746 -#define NV_PFIFO_CACHE1_DMA_CTL_TARGET_NODE_AGP 752,54826 -#define NV_PFIFO_CACHE1_DMA_CTL_AT_INFO 753,54906 -#define NV_PFIFO_CACHE1_DMA_CTL_AT_INFO_INVALID 754,54986 -#define NV_PFIFO_CACHE1_DMA_CTL_AT_INFO_VALID 755,55066 -#define NV_PFIFO_CACHE1_DMA_LIMIT 756,55146 -#define NV_PFIFO_CACHE1_DMA_LIMIT_OFFSET 757,55226 -#define NV_PFIFO_CACHE1_DMA_TLB_TAG 758,55306 -#define NV_PFIFO_CACHE1_DMA_TLB_TAG_ADDRESS 759,55386 -#define NV_PFIFO_CACHE1_DMA_TLB_TAG_STATE 760,55466 -#define NV_PFIFO_CACHE1_DMA_TLB_TAG_STATE_INVALID 761,55546 -#define NV_PFIFO_CACHE1_DMA_TLB_TAG_STATE_VALID 762,55626 -#define NV_PFIFO_CACHE1_DMA_TLB_PTE 763,55706 -#define NV_PFIFO_CACHE1_DMA_TLB_PTE_FRAME_ADDRESS 764,55786 -#define NV_PFIFO_CACHE0_PULL0 765,55866 -#define NV_PFIFO_CACHE0_PULL0_ACCESS 766,55946 -#define NV_PFIFO_CACHE0_PULL0_ACCESS_DISABLED 767,56026 -#define NV_PFIFO_CACHE0_PULL0_ACCESS_ENABLED 768,56106 -#define NV_PFIFO_CACHE0_PULL0_HASH 769,56186 -#define NV_PFIFO_CACHE0_PULL0_HASH_SUCCEEDED 770,56266 -#define NV_PFIFO_CACHE0_PULL0_HASH_FAILED 771,56346 -#define NV_PFIFO_CACHE0_PULL0_DEVICE 772,56426 -#define NV_PFIFO_CACHE0_PULL0_DEVICE_HARDWARE 773,56506 -#define NV_PFIFO_CACHE0_PULL0_DEVICE_SOFTWARE 774,56586 -#define NV_PFIFO_CACHE0_PULL0_HASH_STATE 775,56666 -#define NV_PFIFO_CACHE0_PULL0_HASH_STATE_IDLE 776,56746 -#define NV_PFIFO_CACHE0_PULL0_HASH_STATE_BUSY 777,56826 -#define NV_PFIFO_CACHE1_PULL0 778,56906 -#define NV_PFIFO_CACHE1_PULL0_ACCESS 779,56986 -#define NV_PFIFO_CACHE1_PULL0_ACCESS_DISABLED 780,57066 -#define NV_PFIFO_CACHE1_PULL0_ACCESS_ENABLED 781,57146 -#define NV_PFIFO_CACHE1_PULL0_HASH 782,57226 -#define NV_PFIFO_CACHE1_PULL0_HASH_SUCCEEDED 783,57306 -#define NV_PFIFO_CACHE1_PULL0_HASH_FAILED 784,57386 -#define NV_PFIFO_CACHE1_PULL0_DEVICE 785,57466 -#define NV_PFIFO_CACHE1_PULL0_DEVICE_HARDWARE 786,57546 -#define NV_PFIFO_CACHE1_PULL0_DEVICE_SOFTWARE 787,57626 -#define NV_PFIFO_CACHE1_PULL0_HASH_STATE 788,57706 -#define NV_PFIFO_CACHE1_PULL0_HASH_STATE_IDLE 789,57786 -#define NV_PFIFO_CACHE1_PULL0_HASH_STATE_BUSY 790,57866 -#define NV_PFIFO_CACHE0_PULL1 791,57946 -#define NV_PFIFO_CACHE0_PULL1_ENGINE 792,58026 -#define NV_PFIFO_CACHE0_PULL1_ENGINE_SW 793,58106 -#define NV_PFIFO_CACHE0_PULL1_ENGINE_GRAPHICS 794,58186 -#define NV_PFIFO_CACHE0_PULL1_ENGINE_DVD 795,58266 -#define NV_PFIFO_CACHE1_PULL1 796,58346 -#define NV_PFIFO_CACHE1_PULL1_ENGINE 797,58426 -#define NV_PFIFO_CACHE1_PULL1_ENGINE_SW 798,58506 -#define NV_PFIFO_CACHE1_PULL1_ENGINE_GRAPHICS 799,58586 -#define NV_PFIFO_CACHE1_PULL1_ENGINE_DVD 800,58666 -#define NV_PFIFO_CACHE0_HASH 801,58746 -#define NV_PFIFO_CACHE0_HASH_INSTANCE 802,58826 -#define NV_PFIFO_CACHE0_HASH_VALID 803,58906 -#define NV_PFIFO_CACHE1_HASH 804,58986 -#define NV_PFIFO_CACHE1_HASH_INSTANCE 805,59066 -#define NV_PFIFO_CACHE1_HASH_VALID 806,59146 -#define NV_PFIFO_CACHE0_STATUS 807,59226 -#define NV_PFIFO_CACHE0_STATUS_LOW_MARK 808,59306 -#define NV_PFIFO_CACHE0_STATUS_LOW_MARK_NOT_EMPTY 809,59386 -#define NV_PFIFO_CACHE0_STATUS_LOW_MARK_EMPTY 810,59466 -#define NV_PFIFO_CACHE0_STATUS_HIGH_MARK 811,59546 -#define NV_PFIFO_CACHE0_STATUS_HIGH_MARK_NOT_FULL 812,59626 -#define NV_PFIFO_CACHE0_STATUS_HIGH_MARK_FULL 813,59706 -#define NV_PFIFO_CACHE1_STATUS 814,59786 -#define NV_PFIFO_CACHE1_STATUS_LOW_MARK 815,59866 -#define NV_PFIFO_CACHE1_STATUS_LOW_MARK_NOT_EMPTY 816,59946 -#define NV_PFIFO_CACHE1_STATUS_LOW_MARK_EMPTY 817,60026 -#define NV_PFIFO_CACHE1_STATUS_HIGH_MARK 818,60106 -#define NV_PFIFO_CACHE1_STATUS_HIGH_MARK_NOT_FULL 819,60186 -#define NV_PFIFO_CACHE1_STATUS_HIGH_MARK_FULL 820,60266 -#define NV_PFIFO_CACHE1_STATUS1 821,60346 -#define NV_PFIFO_CACHE1_STATUS1_RANOUT 822,60426 -#define NV_PFIFO_CACHE1_STATUS1_RANOUT_FALSE 823,60506 -#define NV_PFIFO_CACHE1_STATUS1_RANOUT_TRUE 824,60586 -#define NV_PFIFO_CACHE0_PUT 825,60666 -#define NV_PFIFO_CACHE0_PUT_ADDRESS 826,60746 -#define NV_PFIFO_CACHE1_PUT 827,60826 -#define NV_PFIFO_CACHE1_PUT_ADDRESS 828,60906 -#define NV_PFIFO_CACHE0_GET 829,60986 -#define NV_PFIFO_CACHE0_GET_ADDRESS 830,61066 -#define NV_PFIFO_CACHE1_GET 831,61146 -#define NV_PFIFO_CACHE1_GET_ADDRESS 832,61226 -#define NV_PFIFO_CACHE0_ENGINE 833,61306 -#define NV_PFIFO_CACHE0_ENGINE_0 834,61386 -#define NV_PFIFO_CACHE0_ENGINE_0_SW 835,61466 -#define NV_PFIFO_CACHE0_ENGINE_0_GRAPHICS 836,61546 -#define NV_PFIFO_CACHE0_ENGINE_0_DVD 837,61626 -#define NV_PFIFO_CACHE0_ENGINE_1 838,61706 -#define NV_PFIFO_CACHE0_ENGINE_1_SW 839,61786 -#define NV_PFIFO_CACHE0_ENGINE_1_GRAPHICS 840,61866 -#define NV_PFIFO_CACHE0_ENGINE_1_DVD 841,61946 -#define NV_PFIFO_CACHE0_ENGINE_2 842,62026 -#define NV_PFIFO_CACHE0_ENGINE_2_SW 843,62106 -#define NV_PFIFO_CACHE0_ENGINE_2_GRAPHICS 844,62186 -#define NV_PFIFO_CACHE0_ENGINE_2_DVD 845,62266 -#define NV_PFIFO_CACHE0_ENGINE_3 846,62346 -#define NV_PFIFO_CACHE0_ENGINE_3_SW 847,62426 -#define NV_PFIFO_CACHE0_ENGINE_3_GRAPHICS 848,62506 -#define NV_PFIFO_CACHE0_ENGINE_3_DVD 849,62586 -#define NV_PFIFO_CACHE0_ENGINE_4 850,62666 -#define NV_PFIFO_CACHE0_ENGINE_4_SW 851,62746 -#define NV_PFIFO_CACHE0_ENGINE_4_GRAPHICS 852,62826 -#define NV_PFIFO_CACHE0_ENGINE_4_DVD 853,62906 -#define NV_PFIFO_CACHE0_ENGINE_5 854,62986 -#define NV_PFIFO_CACHE0_ENGINE_5_SW 855,63066 -#define NV_PFIFO_CACHE0_ENGINE_5_GRAPHICS 856,63146 -#define NV_PFIFO_CACHE0_ENGINE_5_DVD 857,63226 -#define NV_PFIFO_CACHE0_ENGINE_6 858,63306 -#define NV_PFIFO_CACHE0_ENGINE_6_SW 859,63386 -#define NV_PFIFO_CACHE0_ENGINE_6_GRAPHICS 860,63466 -#define NV_PFIFO_CACHE0_ENGINE_6_DVD 861,63546 -#define NV_PFIFO_CACHE0_ENGINE_7 862,63626 -#define NV_PFIFO_CACHE0_ENGINE_7_SW 863,63706 -#define NV_PFIFO_CACHE0_ENGINE_7_GRAPHICS 864,63786 -#define NV_PFIFO_CACHE0_ENGINE_7_DVD 865,63866 -#define NV_PFIFO_CACHE1_ENGINE 866,63946 -#define NV_PFIFO_CACHE1_ENGINE_0 867,64026 -#define NV_PFIFO_CACHE1_ENGINE_0_SW 868,64106 -#define NV_PFIFO_CACHE1_ENGINE_0_GRAPHICS 869,64186 -#define NV_PFIFO_CACHE1_ENGINE_0_DVD 870,64266 -#define NV_PFIFO_CACHE1_ENGINE_1 871,64346 -#define NV_PFIFO_CACHE1_ENGINE_1_SW 872,64426 -#define NV_PFIFO_CACHE1_ENGINE_1_GRAPHICS 873,64506 -#define NV_PFIFO_CACHE1_ENGINE_1_DVD 874,64586 -#define NV_PFIFO_CACHE1_ENGINE_2 875,64666 -#define NV_PFIFO_CACHE1_ENGINE_2_SW 876,64746 -#define NV_PFIFO_CACHE1_ENGINE_2_GRAPHICS 877,64826 -#define NV_PFIFO_CACHE1_ENGINE_2_DVD 878,64906 -#define NV_PFIFO_CACHE1_ENGINE_3 879,64986 -#define NV_PFIFO_CACHE1_ENGINE_3_SW 880,65066 -#define NV_PFIFO_CACHE1_ENGINE_3_GRAPHICS 881,65146 -#define NV_PFIFO_CACHE1_ENGINE_3_DVD 882,65226 -#define NV_PFIFO_CACHE1_ENGINE_4 883,65306 -#define NV_PFIFO_CACHE1_ENGINE_4_SW 884,65386 -#define NV_PFIFO_CACHE1_ENGINE_4_GRAPHICS 885,65466 -#define NV_PFIFO_CACHE1_ENGINE_4_DVD 886,65546 -#define NV_PFIFO_CACHE1_ENGINE_5 887,65626 -#define NV_PFIFO_CACHE1_ENGINE_5_SW 888,65706 -#define NV_PFIFO_CACHE1_ENGINE_5_GRAPHICS 889,65786 -#define NV_PFIFO_CACHE1_ENGINE_5_DVD 890,65866 -#define NV_PFIFO_CACHE1_ENGINE_6 891,65946 -#define NV_PFIFO_CACHE1_ENGINE_6_SW 892,66026 -#define NV_PFIFO_CACHE1_ENGINE_6_GRAPHICS 893,66106 -#define NV_PFIFO_CACHE1_ENGINE_6_DVD 894,66186 -#define NV_PFIFO_CACHE1_ENGINE_7 895,66266 -#define NV_PFIFO_CACHE1_ENGINE_7_SW 896,66346 -#define NV_PFIFO_CACHE1_ENGINE_7_GRAPHICS 897,66426 -#define NV_PFIFO_CACHE1_ENGINE_7_DVD 898,66506 -#define NV_PFIFO_CACHE0_METHOD(NV_PFIFO_CACHE0_METHOD899,66586 -#define NV_PFIFO_CACHE0_METHOD__SIZE_1 900,66666 -#define NV_PFIFO_CACHE0_METHOD_ADDRESS 901,66746 -#define NV_PFIFO_CACHE0_METHOD_SUBCHANNEL 902,66826 -#define NV_PFIFO_CACHE1_METHOD(NV_PFIFO_CACHE1_METHOD903,66906 -#define NV_PFIFO_CACHE1_METHOD__SIZE_1 904,66986 -#define NV_PFIFO_CACHE1_METHOD_ADDRESS 905,67066 -#define NV_PFIFO_CACHE1_METHOD_SUBCHANNEL 906,67146 -#define NV_PFIFO_CACHE1_METHOD_ALIAS(NV_PFIFO_CACHE1_METHOD_ALIAS907,67226 -#define NV_PFIFO_CACHE1_METHOD_ALIAS__SIZE_1 908,67306 -#define NV_PFIFO_CACHE0_DATA(NV_PFIFO_CACHE0_DATA909,67386 -#define NV_PFIFO_CACHE0_DATA__SIZE_1 910,67466 -#define NV_PFIFO_CACHE0_DATA_VALUE 911,67546 -#define NV_PFIFO_CACHE1_DATA(NV_PFIFO_CACHE1_DATA912,67626 -#define NV_PFIFO_CACHE1_DATA__SIZE_1 913,67706 -#define NV_PFIFO_CACHE1_DATA_VALUE 914,67786 -#define NV_PFIFO_CACHE1_DATA_ALIAS(NV_PFIFO_CACHE1_DATA_ALIAS915,67866 -#define NV_PFIFO_CACHE1_DATA_ALIAS__SIZE_1 916,67946 -#define NV_PFIFO_DEVICE(NV_PFIFO_DEVICE917,68026 -#define NV_PFIFO_DEVICE__SIZE_1 918,68106 -#define NV_PFIFO_DEVICE_CHID 919,68186 -#define NV_PFIFO_DEVICE_SWITCH 920,68266 -#define NV_PFIFO_DEVICE_SWITCH_UNAVAILABLE 921,68346 -#define NV_PFIFO_DEVICE_SWITCH_AVAILABLE 922,68426 -#define NV_PFIFO_RUNOUT_STATUS 923,68506 -#define NV_PFIFO_RUNOUT_STATUS_RANOUT 924,68586 -#define NV_PFIFO_RUNOUT_STATUS_RANOUT_FALSE 925,68666 -#define NV_PFIFO_RUNOUT_STATUS_RANOUT_TRUE 926,68746 -#define NV_PFIFO_RUNOUT_STATUS_LOW_MARK 927,68826 -#define NV_PFIFO_RUNOUT_STATUS_LOW_MARK_NOT_EMPTY 928,68906 -#define NV_PFIFO_RUNOUT_STATUS_LOW_MARK_EMPTY 929,68986 -#define NV_PFIFO_RUNOUT_STATUS_HIGH_MARK 930,69066 -#define NV_PFIFO_RUNOUT_STATUS_HIGH_MARK_NOT_FULL 931,69146 -#define NV_PFIFO_RUNOUT_STATUS_HIGH_MARK_FULL 932,69226 -#define NV_PFIFO_RUNOUT_PUT 933,69306 -#define NV_PFIFO_RUNOUT_PUT_ADDRESS 934,69386 -#define NV_PFIFO_RUNOUT_PUT_ADDRESS__SIZE_0 935,69466 -#define NV_PFIFO_RUNOUT_PUT_ADDRESS__SIZE_1 936,69546 -#define NV_PFIFO_RUNOUT_GET 937,69626 -#define NV_PFIFO_RUNOUT_GET_ADDRESS 938,69706 -#define NV_PGRAPH 940,69809 -#define NV_PGRAPH_DEBUG_0 941,69889 -#define NV_PGRAPH_DEBUG_1 942,69969 -#define NV_PGRAPH_DEBUG_2 943,70049 -#define NV_PGRAPH_DEBUG_3 944,70129 -#define NV_PGRAPH_INTR 945,70209 -#define NV_PGRAPH_INTR_NOTIFY 946,70289 -#define NV_PGRAPH_INTR_NOTIFY_NOT_PENDING 947,70369 -#define NV_PGRAPH_INTR_NOTIFY_PENDING 948,70449 -#define NV_PGRAPH_INTR_NOTIFY_RESET 949,70529 -#define NV_PGRAPH_INTR_MISSING_HW 950,70609 -#define NV_PGRAPH_INTR_MISSING_HW_NOT_PENDING 951,70689 -#define NV_PGRAPH_INTR_MISSING_HW_PENDING 952,70769 -#define NV_PGRAPH_INTR_MISSING_HW_RESET 953,70849 -#define NV_PGRAPH_INTR_TLB_PRESENT_A 954,70929 -#define NV_PGRAPH_INTR_TLB_PRESENT_A_NOT_PENDING 955,71009 -#define NV_PGRAPH_INTR_TLB_PRESENT_A_PENDING 956,71089 -#define NV_PGRAPH_INTR_TLB_PRESENT_A_RESET 957,71169 -#define NV_PGRAPH_INTR_TLB_PRESENT_B 958,71249 -#define NV_PGRAPH_INTR_TLB_PRESENT_B_NOT_PENDING 959,71329 -#define NV_PGRAPH_INTR_TLB_PRESENT_B_PENDING 960,71409 -#define NV_PGRAPH_INTR_TLB_PRESENT_B_RESET 961,71489 -#define NV_PGRAPH_INTR_CONTEXT_SWITCH 962,71569 -#define NV_PGRAPH_INTR_CONTEXT_SWITCH_NOT_PENDING 963,71649 -#define NV_PGRAPH_INTR_CONTEXT_SWITCH_PENDING 964,71729 -#define NV_PGRAPH_INTR_CONTEXT_SWITCH_RESET 965,71809 -#define NV_PGRAPH_INTR_BUFFER_NOTIFY 966,71889 -#define NV_PGRAPH_INTR_BUFFER_NOTIFY_NOT_PENDING 967,71969 -#define NV_PGRAPH_INTR_BUFFER_NOTIFY_PENDING 968,72049 -#define NV_PGRAPH_INTR_BUFFER_NOTIFY_RESET 969,72129 -#define NV_PGRAPH_NSTATUS 970,72209 -#define NV_PGRAPH_NSTATUS_STATE_IN_USE 971,72289 -#define NV_PGRAPH_NSTATUS_STATE_IN_USE_NOT_PENDING 972,72369 -#define NV_PGRAPH_NSTATUS_STATE_IN_USE_PENDING 973,72449 -#define NV_PGRAPH_NSTATUS_INVALID_STATE 974,72529 -#define NV_PGRAPH_NSTATUS_INVALID_STATE_NOT_PENDING 975,72609 -#define NV_PGRAPH_NSTATUS_INVALID_STATE_PENDING 976,72689 -#define NV_PGRAPH_NSTATUS_BAD_ARGUMENT 977,72769 -#define NV_PGRAPH_NSTATUS_BAD_ARGUMENT_NOT_PENDING 978,72849 -#define NV_PGRAPH_NSTATUS_BAD_ARGUMENT_PENDING 979,72929 -#define NV_PGRAPH_NSTATUS_PROTECTION_FAULT 980,73009 -#define NV_PGRAPH_NSTATUS_PROTECTION_FAULT_NOT_PENDING 981,73089 -#define NV_PGRAPH_NSTATUS_PROTECTION_FAULT_PENDING 982,73169 -#define NV_PGRAPH_NSOURCE 983,73249 -#define NV_PGRAPH_NSOURCE_NOTIFICATION 984,73329 -#define NV_PGRAPH_NSOURCE_NOTIFICATION_NOT_PENDING 985,73409 -#define NV_PGRAPH_NSOURCE_NOTIFICATION_PENDING 986,73489 -#define NV_PGRAPH_NSOURCE_DATA_ERROR 987,73569 -#define NV_PGRAPH_NSOURCE_DATA_ERROR_NOT_PENDING 988,73649 -#define NV_PGRAPH_NSOURCE_DATA_ERROR_PENDING 989,73729 -#define NV_PGRAPH_NSOURCE_PROTECTION_ERROR 990,73809 -#define NV_PGRAPH_NSOURCE_PROTECTION_ERROR_NOT_PENDING 991,73889 -#define NV_PGRAPH_NSOURCE_PROTECTION_ERROR_PENDING 992,73969 -#define NV_PGRAPH_NSOURCE_RANGE_EXCEPTION 993,74049 -#define NV_PGRAPH_NSOURCE_RANGE_EXCEPTION_NOT_PENDING 994,74129 -#define NV_PGRAPH_NSOURCE_RANGE_EXCEPTION_PENDING 995,74209 -#define NV_PGRAPH_NSOURCE_LIMIT_COLOR 996,74289 -#define NV_PGRAPH_NSOURCE_LIMIT_COLOR_NOT_PENDING 997,74369 -#define NV_PGRAPH_NSOURCE_LIMIT_COLOR_PENDING 998,74449 -#define NV_PGRAPH_NSOURCE_LIMIT_ZETA_ 999,74529 -#define NV_PGRAPH_NSOURCE_LIMIT_ZETA_NOT_PENDING 1000,74609 -#define NV_PGRAPH_NSOURCE_LIMIT_ZETA_PENDING 1001,74689 -#define NV_PGRAPH_NSOURCE_ILLEGAL_MTHD 1002,74769 -#define NV_PGRAPH_NSOURCE_ILLEGAL_MTHD_NOT_PENDING 1003,74849 -#define NV_PGRAPH_NSOURCE_ILLEGAL_MTHD_PENDING 1004,74929 -#define NV_PGRAPH_NSOURCE_DMA_R_PROTECTION 1005,75009 -#define NV_PGRAPH_NSOURCE_DMA_R_PROTECTION_NOT_PENDING 1006,75089 -#define NV_PGRAPH_NSOURCE_DMA_R_PROTECTION_PENDING 1007,75169 -#define NV_PGRAPH_NSOURCE_DMA_W_PROTECTION 1008,75249 -#define NV_PGRAPH_NSOURCE_DMA_W_PROTECTION_NOT_PENDING 1009,75329 -#define NV_PGRAPH_NSOURCE_DMA_W_PROTECTION_PENDING 1010,75409 -#define NV_PGRAPH_NSOURCE_FORMAT_EXCEPTION 1011,75489 -#define NV_PGRAPH_NSOURCE_FORMAT_EXCEPTION_NOT_PENDING 1012,75569 -#define NV_PGRAPH_NSOURCE_FORMAT_EXCEPTION_PENDING 1013,75649 -#define NV_PGRAPH_NSOURCE_PATCH_EXCEPTION 1014,75729 -#define NV_PGRAPH_NSOURCE_PATCH_EXCEPTION_NOT_PENDING 1015,75809 -#define NV_PGRAPH_NSOURCE_PATCH_EXCEPTION_PENDING 1016,75889 -#define NV_PGRAPH_NSOURCE_STATE_INVALID 1017,75969 -#define NV_PGRAPH_NSOURCE_STATE_INVALID_NOT_PENDING 1018,76049 -#define NV_PGRAPH_NSOURCE_STATE_INVALID_PENDING 1019,76129 -#define NV_PGRAPH_NSOURCE_DOUBLE_NOTIFY 1020,76209 -#define NV_PGRAPH_NSOURCE_DOUBLE_NOTIFY_NOT_PENDING 1021,76289 -#define NV_PGRAPH_NSOURCE_DOUBLE_NOTIFY_PENDING 1022,76369 -#define NV_PGRAPH_NSOURCE_NOTIFY_IN_USE 1023,76449 -#define NV_PGRAPH_NSOURCE_NOTIFY_IN_USE_NOT_PENDING 1024,76529 -#define NV_PGRAPH_NSOURCE_NOTIFY_IN_USE_PENDING 1025,76609 -#define NV_PGRAPH_NSOURCE_METHOD_CNT 1026,76689 -#define NV_PGRAPH_NSOURCE_METHOD_CNT_NOT_PENDING 1027,76769 -#define NV_PGRAPH_NSOURCE_METHOD_CNT_PENDING 1028,76849 -#define NV_PGRAPH_NSOURCE_BFR_NOTIFICATION 1029,76929 -#define NV_PGRAPH_NSOURCE_BFR_NOTIFICATION_NOT_PENDING 1030,77009 -#define NV_PGRAPH_NSOURCE_BFR_NOTIFICATION_PENDING 1031,77089 -#define NV_PGRAPH_INTR_EN 1032,77169 -#define NV_PGRAPH_INTR_EN_NOTIFY 1033,77249 -#define NV_PGRAPH_INTR_EN_NOTIFY_DISABLED 1034,77329 -#define NV_PGRAPH_INTR_EN_NOTIFY_ENABLED 1035,77409 -#define NV_PGRAPH_INTR_EN_MISSING_HW 1036,77489 -#define NV_PGRAPH_INTR_EN_MISSING_HW_DISABLED 1037,77569 -#define NV_PGRAPH_INTR_EN_MISSING_HW_ENABLED 1038,77649 -#define NV_PGRAPH_INTR_EN_TLB_PRESENT_A 1039,77729 -#define NV_PGRAPH_INTR_EN_TLB_PRESENT_A_DISABLED 1040,77809 -#define NV_PGRAPH_INTR_EN_TLB_PRESENT_A_ENABLED 1041,77889 -#define NV_PGRAPH_INTR_EN_TLB_PRESENT_B 1042,77969 -#define NV_PGRAPH_INTR_EN_TLB_PRESENT_B_DISABLED 1043,78049 -#define NV_PGRAPH_INTR_EN_TLB_PRESENT_B_ENABLED 1044,78129 -#define NV_PGRAPH_INTR_EN_CONTEXT_SWITCH 1045,78209 -#define NV_PGRAPH_INTR_EN_CONTEXT_SWITCH_DISABLED 1046,78289 -#define NV_PGRAPH_INTR_EN_CONTEXT_SWITCH_ENABLED 1047,78369 -#define NV_PGRAPH_INTR_EN_BUFFER_NOTIFY 1048,78449 -#define NV_PGRAPH_INTR_EN_BUFFER_NOTIFY_DISABLED 1049,78529 -#define NV_PGRAPH_INTR_EN_BUFFER_NOTIFY_ENABLED 1050,78609 -#define NV_PGRAPH_CTX_SWITCH1 1051,78689 -#define NV_PGRAPH_CTX_SWITCH1_GRCLASS 1052,78769 -#define NV_PGRAPH_CTX_SWITCH1_CHROMA_KEY 1053,78849 -#define NV_PGRAPH_CTX_SWITCH1_CHROMA_KEY_DISABLE 1054,78929 -#define NV_PGRAPH_CTX_SWITCH1_CHROMA_KEY_ENABLE 1055,79009 -#define NV_PGRAPH_CTX_SWITCH1_USER_CLIP 1056,79089 -#define NV_PGRAPH_CTX_SWITCH1_USER_CLIP_DISABLE 1057,79169 -#define NV_PGRAPH_CTX_SWITCH1_USER_CLIP_ENABLE 1058,79249 -#define NV_PGRAPH_CTX_SWITCH1_SWIZZLE 1059,79329 -#define NV_PGRAPH_CTX_SWITCH1_SWIZZLE_DISABLE 1060,79409 -#define NV_PGRAPH_CTX_SWITCH1_SWIZZLE_ENABLE 1061,79489 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG 1062,79569 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG_SRCCOPY_AND 1063,79649 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG_ROP_AND 1064,79729 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG_BLEND_AND 1065,79809 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG_SRCCOPY 1066,79889 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG_SRCCOPY_PRE 1067,79969 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_CONFIG_BLEND_PRE 1068,80049 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_STATUS 1069,80129 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_STATUS_INVALID 1070,80209 -#define NV_PGRAPH_CTX_SWITCH1_PATCH_STATUS_VALID 1071,80289 -#define NV_PGRAPH_CTX_SWITCH1_CONTEXT_SURFACE 1072,80369 -#define NV_PGRAPH_CTX_SWITCH1_CONTEXT_SURFACE_INVALID 1073,80449 -#define NV_PGRAPH_CTX_SWITCH1_CONTEXT_SURFACE_VALID 1074,80529 -#define NV_PGRAPH_CTX_SWITCH1_VOLATILE_RESET 1075,80609 -#define NV_PGRAPH_CTX_SWITCH1_VOLATILE_RESET_IGNORE 1076,80689 -#define NV_PGRAPH_CTX_SWITCH1_VOLATILE_RESET_ENABLED 1077,80769 -#define NV_PGRAPH_CTX_SWITCH2 1078,80849 -#define NV_PGRAPH_CTX_SWITCH2_MONO_FORMAT 1079,80929 -#define NV_PGRAPH_CTX_SWITCH2_MONO_FORMAT_INVALID 1080,81009 -#define NV_PGRAPH_CTX_SWITCH2_MONO_FORMAT_CGA6_M1 1081,81089 -#define NV_PGRAPH_CTX_SWITCH2_MONO_FORMAT_LE_M1 1082,81169 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT 1083,81249 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_INVALID 1084,81329 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_Y8 1085,81409 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X16A8Y8 1086,81489 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X24Y8 1087,81569 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_A1R5G5B5 1088,81649 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X1R5G5B5 1089,81729 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X16A1R5G5B5 1090,81809 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X17R5G5B5 1091,81889 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_R5G6B5 1092,81969 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_A16R5G6B5 1093,82049 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X16R5G6B5 1094,82129 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_A8R8G8B8 1095,82209 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X8R8G8B8 1096,82289 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_Y16 1097,82369 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_A16Y16 1098,82449 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_X16Y16 1099,82529 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_V8YB8U8YA8 1100,82609 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_YB8V8YA8U8 1101,82689 -#define NV_PGRAPH_CTX_SWITCH2_COLOR_FORMAT_LE_Y32 1102,82769 -#define NV_PGRAPH_CTX_SWITCH2_NOTIFY_INSTANCE 1103,82849 -#define NV_PGRAPH_CTX_SWITCH2_NOTIFY_INSTANCE_INVALID 1104,82929 -#define NV_PGRAPH_CTX_SWITCH3 1105,83009 -#define NV_PGRAPH_CTX_SWITCH3_DMA_INSTANCE_0 1106,83089 -#define NV_PGRAPH_CTX_SWITCH3_DMA_INSTANCE_0_INVALID 1107,83169 -#define NV_PGRAPH_CTX_SWITCH3_DMA_INSTANCE_1 1108,83249 -#define NV_PGRAPH_CTX_SWITCH3_DMA_INSTANCE_1_INVALID 1109,83329 -#define NV_PGRAPH_CTX_SWITCH4 1110,83409 -#define NV_PGRAPH_CTX_SWITCH4_USER_INSTANCE 1111,83489 -#define NV_PGRAPH_CTX_SWITCH4_USER_INSTANCE_INVALID 1112,83569 -#define NV_PGRAPH_CTX_CACHE1(NV_PGRAPH_CTX_CACHE11113,83649 -#define NV_PGRAPH_CTX_CACHE1__SIZE_1 1114,83729 -#define NV_PGRAPH_CTX_CACHE1_GRCLASS 1115,83809 -#define NV_PGRAPH_CTX_CACHE1_CHROMA_KEY 1116,83889 -#define NV_PGRAPH_CTX_CACHE1_USER_CLIP 1117,83969 -#define NV_PGRAPH_CTX_CACHE1_SWIZZLE 1118,84049 -#define NV_PGRAPH_CTX_CACHE1_PATCH_CONFIG 1119,84129 -#define NV_PGRAPH_CTX_CACHE1_SPARE1 1120,84209 -#define NV_PGRAPH_CTX_CACHE1_PATCH_STATUS 1121,84289 -#define NV_PGRAPH_CTX_CACHE1_CONTEXT_SURFACE 1122,84369 -#define NV_PGRAPH_CTX_CACHE2(NV_PGRAPH_CTX_CACHE21123,84449 -#define NV_PGRAPH_CTX_CACHE2__SIZE_1 1124,84529 -#define NV_PGRAPH_CTX_CACHE2_MONO_FORMAT 1125,84609 -#define NV_PGRAPH_CTX_CACHE2_COLOR_FORMAT 1126,84689 -#define NV_PGRAPH_CTX_CACHE2_NOTIFY_INSTANCE 1127,84769 -#define NV_PGRAPH_CTX_CACHE3(NV_PGRAPH_CTX_CACHE31128,84849 -#define NV_PGRAPH_CTX_CACHE3__SIZE_1 1129,84929 -#define NV_PGRAPH_CTX_CACHE3_DMA_INSTANCE_0 1130,85009 -#define NV_PGRAPH_CTX_CACHE3_DMA_INSTANCE_1 1131,85089 -#define NV_PGRAPH_CTX_CACHE4(NV_PGRAPH_CTX_CACHE41132,85169 -#define NV_PGRAPH_CTX_CACHE4__SIZE_1 1133,85249 -#define NV_PGRAPH_CTX_CACHE4_USER_INSTANCE 1134,85329 -#define NV_PGRAPH_CTX_CONTROL 1135,85409 -#define NV_PGRAPH_CTX_CONTROL_MINIMUM_TIME 1136,85489 -#define NV_PGRAPH_CTX_CONTROL_MINIMUM_TIME_33US 1137,85569 -#define NV_PGRAPH_CTX_CONTROL_MINIMUM_TIME_262US 1138,85649 -#define NV_PGRAPH_CTX_CONTROL_MINIMUM_TIME_2MS 1139,85729 -#define NV_PGRAPH_CTX_CONTROL_MINIMUM_TIME_17MS 1140,85809 -#define NV_PGRAPH_CTX_CONTROL_TIME 1141,85889 -#define NV_PGRAPH_CTX_CONTROL_TIME_EXPIRED 1142,85969 -#define NV_PGRAPH_CTX_CONTROL_TIME_NOT_EXPIRED 1143,86049 -#define NV_PGRAPH_CTX_CONTROL_CHID 1144,86129 -#define NV_PGRAPH_CTX_CONTROL_CHID_INVALID 1145,86209 -#define NV_PGRAPH_CTX_CONTROL_CHID_VALID 1146,86289 -#define NV_PGRAPH_CTX_CONTROL_CHANGE 1147,86369 -#define NV_PGRAPH_CTX_CONTROL_CHANGE_UNAVAILABLE 1148,86449 -#define NV_PGRAPH_CTX_CONTROL_CHANGE_AVAILABLE 1149,86529 -#define NV_PGRAPH_CTX_CONTROL_SWITCHING 1150,86609 -#define NV_PGRAPH_CTX_CONTROL_SWITCHING_IDLE 1151,86689 -#define NV_PGRAPH_CTX_CONTROL_SWITCHING_BUSY 1152,86769 -#define NV_PGRAPH_CTX_CONTROL_DEVICE 1153,86849 -#define NV_PGRAPH_CTX_CONTROL_DEVICE_DISABLED 1154,86929 -#define NV_PGRAPH_CTX_CONTROL_DEVICE_ENABLED 1155,87009 -#define NV_PGRAPH_CTX_USER 1156,87089 -#define NV_PGRAPH_CTX_USER_SUBCH 1157,87169 -#define NV_PGRAPH_CTX_USER_SUBCH_0 1158,87249 -#define NV_PGRAPH_CTX_USER_CHID 1159,87329 -#define NV_PGRAPH_CTX_USER_CHID_0 1160,87409 -#define NV_PGRAPH_FIFO 1161,87489 -#define NV_PGRAPH_FIFO_ACCESS 1162,87569 -#define NV_PGRAPH_FIFO_ACCESS_DISABLED 1163,87649 -#define NV_PGRAPH_FIFO_ACCESS_ENABLED 1164,87729 -#define NV_PGRAPH_FFINTFC_FIFO_0(NV_PGRAPH_FFINTFC_FIFO_01165,87809 -#define NV_PGRAPH_FFINTFC_FIFO_0__SIZE_1 1166,87889 -#define NV_PGRAPH_FFINTFC_FIFO_0_TAG 1167,87969 -#define NV_PGRAPH_FFINTFC_FIFO_0_TAG_MTHD 1168,88049 -#define NV_PGRAPH_FFINTFC_FIFO_0_TAG_CHSW 1169,88129 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH 1170,88209 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_0 1171,88289 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_1 1172,88369 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_2 1173,88449 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_3 1174,88529 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_4 1175,88609 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_5 1176,88689 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_6 1177,88769 -#define NV_PGRAPH_FFINTFC_FIFO_0_SUBCH_7 1178,88849 -#define NV_PGRAPH_FFINTFC_FIFO_0_MTHD 1179,88929 -#define NV_PGRAPH_FFINTFC_FIFO_0_MTHD_CTX_SWITCH 1180,89009 -#define NV_PGRAPH_FFINTFC_FIFO_1(NV_PGRAPH_FFINTFC_FIFO_11181,89089 -#define NV_PGRAPH_FFINTFC_FIFO_1__SIZE_1 1182,89169 -#define NV_PGRAPH_FFINTFC_FIFO_1_ARGUMENT 1183,89249 -#define NV_PGRAPH_FFINTFC_FIFO_PTR 1184,89329 -#define NV_PGRAPH_FFINTFC_FIFO_PTR_WRITE 1185,89409 -#define NV_PGRAPH_FFINTFC_FIFO_PTR_WRITE_0 1186,89489 -#define NV_PGRAPH_FFINTFC_FIFO_PTR_READ 1187,89569 -#define NV_PGRAPH_FFINTFC_FIFO_PTR_READ_0 1188,89649 -#define NV_PGRAPH_FFINTFC_ST2 1189,89729 -#define NV_PGRAPH_FFINTFC_ST2_STATUS 1190,89809 -#define NV_PGRAPH_FFINTFC_ST2_STATUS_INVALID 1191,89889 -#define NV_PGRAPH_FFINTFC_ST2_STATUS_VALID 1192,89969 -#define NV_PGRAPH_FFINTFC_ST2_MTHD 1193,90049 -#define NV_PGRAPH_FFINTFC_ST2_MTHD_CTX_SWITCH 1194,90129 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH 1195,90209 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_0 1196,90289 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_1 1197,90369 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_2 1198,90449 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_3 1199,90529 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_4 1200,90609 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_5 1201,90689 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_6 1202,90769 -#define NV_PGRAPH_FFINTFC_ST2_SUBCH_7 1203,90849 -#define NV_PGRAPH_FFINTFC_ST2_CHID 1204,90929 -#define NV_PGRAPH_FFINTFC_ST2_CHID_0 1205,91009 -#define NV_PGRAPH_FFINTFC_ST2_CHID_1 1206,91089 -#define NV_PGRAPH_FFINTFC_ST2_CHID_2 1207,91169 -#define NV_PGRAPH_FFINTFC_ST2_CHID_3 1208,91249 -#define NV_PGRAPH_FFINTFC_ST2_CHID_4 1209,91329 -#define NV_PGRAPH_FFINTFC_ST2_CHID_5 1210,91409 -#define NV_PGRAPH_FFINTFC_ST2_CHID_6 1211,91489 -#define NV_PGRAPH_FFINTFC_ST2_CHID_7 1212,91569 -#define NV_PGRAPH_FFINTFC_ST2_CHID_8 1213,91649 -#define NV_PGRAPH_FFINTFC_ST2_CHID_9 1214,91729 -#define NV_PGRAPH_FFINTFC_ST2_CHID_10 1215,91809 -#define NV_PGRAPH_FFINTFC_ST2_CHID_11 1216,91889 -#define NV_PGRAPH_FFINTFC_ST2_CHID_12 1217,91969 -#define NV_PGRAPH_FFINTFC_ST2_CHID_13 1218,92049 -#define NV_PGRAPH_FFINTFC_ST2_CHID_14 1219,92129 -#define NV_PGRAPH_FFINTFC_ST2_CHID_15 1220,92209 -#define NV_PGRAPH_FFINTFC_ST2_CHID_STATUS 1221,92289 -#define NV_PGRAPH_FFINTFC_ST2_CHID_STATUS_INVALID 1222,92369 -#define NV_PGRAPH_FFINTFC_ST2_CHID_STATUS_VALID 1223,92449 -#define NV_PGRAPH_FFINTFC_ST2_D 1224,92529 -#define NV_PGRAPH_FFINTFC_ST2_D_ARGUMENT 1225,92609 -#define NV_PGRAPH_FFINTFC_ST2_D_ARGUMENT_0 1226,92689 -#define NV_PGRAPH_STATUS 1227,92769 -#define NV_PGRAPH_STATUS_STATE 1228,92849 -#define NV_PGRAPH_STATUS_STATE_IDLE 1229,92929 -#define NV_PGRAPH_STATUS_STATE_BUSY 1230,93009 -#define NV_PGRAPH_STATUS_XY_LOGIC 1231,93089 -#define NV_PGRAPH_STATUS_XY_LOGIC_IDLE 1232,93169 -#define NV_PGRAPH_STATUS_XY_LOGIC_BUSY 1233,93249 -#define NV_PGRAPH_STATUS_FE 1234,93329 -#define NV_PGRAPH_STATUS_FE_IDLE 1235,93409 -#define NV_PGRAPH_STATUS_FE_BUSY 1236,93489 -#define NV_PGRAPH_STATUS_RASTERIZER 1237,93569 -#define NV_PGRAPH_STATUS_RASTERIZER_IDLE 1238,93649 -#define NV_PGRAPH_STATUS_RASTERIZER_BUSY 1239,93729 -#define NV_PGRAPH_STATUS_PORT_NOTIFY 1240,93809 -#define NV_PGRAPH_STATUS_PORT_NOTIFY_IDLE 1241,93889 -#define NV_PGRAPH_STATUS_PORT_NOTIFY_BUSY 1242,93969 -#define NV_PGRAPH_STATUS_PORT_REGISTER 1243,94049 -#define NV_PGRAPH_STATUS_PORT_REGISTER_IDLE 1244,94129 -#define NV_PGRAPH_STATUS_PORT_REGISTER_BUSY 1245,94209 -#define NV_PGRAPH_STATUS_PORT_DMA 1246,94289 -#define NV_PGRAPH_STATUS_PORT_DMA_IDLE 1247,94369 -#define NV_PGRAPH_STATUS_PORT_DMA_BUSY 1248,94449 -#define NV_PGRAPH_STATUS_DMA_ENGINE 1249,94529 -#define NV_PGRAPH_STATUS_DMA_ENGINE_IDLE 1250,94609 -#define NV_PGRAPH_STATUS_DMA_ENGINE_BUSY 1251,94689 -#define NV_PGRAPH_STATUS_DMA_NOTIFY 1252,94769 -#define NV_PGRAPH_STATUS_DMA_NOTIFY_IDLE 1253,94849 -#define NV_PGRAPH_STATUS_DMA_NOTIFY_BUSY 1254,94929 -#define NV_PGRAPH_STATUS_DMA_BUFFER_NOTIFY 1255,95009 -#define NV_PGRAPH_STATUS_DMA_BUFFER_NOTIFY_IDLE 1256,95089 -#define NV_PGRAPH_STATUS_DMA_BUFFER_NOTIFY_BUSY 1257,95169 -#define NV_PGRAPH_STATUS_D3D 1258,95249 -#define NV_PGRAPH_STATUS_D3D_IDLE 1259,95329 -#define NV_PGRAPH_STATUS_D3D_BUSY 1260,95409 -#define NV_PGRAPH_STATUS_CACHE 1261,95489 -#define NV_PGRAPH_STATUS_CACHE_IDLE 1262,95569 -#define NV_PGRAPH_STATUS_CACHE_BUSY 1263,95649 -#define NV_PGRAPH_STATUS_LIGHTING 1264,95729 -#define NV_PGRAPH_STATUS_LIGHTING_IDLE 1265,95809 -#define NV_PGRAPH_STATUS_LIGHTING_BUSY 1266,95889 -#define NV_PGRAPH_STATUS_PREROP 1267,95969 -#define NV_PGRAPH_STATUS_PREROP_IDLE 1268,96049 -#define NV_PGRAPH_STATUS_PREROP_BUSY 1269,96129 -#define NV_PGRAPH_STATUS_ROP 1270,96209 -#define NV_PGRAPH_STATUS_ROP_IDLE 1271,96289 -#define NV_PGRAPH_STATUS_ROP_BUSY 1272,96369 -#define NV_PGRAPH_STATUS_PORT_USER 1273,96449 -#define NV_PGRAPH_STATUS_PORT_USER_IDLE 1274,96529 -#define NV_PGRAPH_STATUS_PORT_USER_BUSY 1275,96609 -#define NV_PGRAPH_TRAPPED_ADDR 1276,96689 -#define NV_PGRAPH_TRAPPED_ADDR_MTHD 1277,96769 -#define NV_PGRAPH_TRAPPED_ADDR_SUBCH 1278,96849 -#define NV_PGRAPH_TRAPPED_ADDR_CHID 1279,96929 -#define NV_PGRAPH_TRAPPED_DATA 1280,97009 -#define NV_PGRAPH_TRAPPED_DATA_VALUE 1281,97089 -#define NV_PGRAPH_SURFACE 1282,97169 -#define NV_PGRAPH_SURFACE_TYPE 1283,97249 -#define NV_PGRAPH_SURFACE_TYPE_INVALID 1284,97329 -#define NV_PGRAPH_SURFACE_TYPE_NON_SWIZZLE 1285,97409 -#define NV_PGRAPH_SURFACE_TYPE_SWIZZLE 1286,97489 -#define NV_PGRAPH_NOTIFY 1287,97569 -#define NV_PGRAPH_NOTIFY_BUFFER_REQ 1288,97649 -#define NV_PGRAPH_NOTIFY_BUFFER_REQ_NOT_PENDING 1289,97729 -#define NV_PGRAPH_NOTIFY_BUFFER_REQ_PENDING 1290,97809 -#define NV_PGRAPH_NOTIFY_BUFFER_STYLE 1291,97889 -#define NV_PGRAPH_NOTIFY_BUFFER_STYLE_WRITE_ONLY 1292,97969 -#define NV_PGRAPH_NOTIFY_BUFFER_STYLE_WRITE_THEN_AWAKEN 1293,98049 -#define NV_PGRAPH_NOTIFY_REQ 1294,98129 -#define NV_PGRAPH_NOTIFY_REQ_NOT_PENDING 1295,98209 -#define NV_PGRAPH_NOTIFY_REQ_PENDING 1296,98289 -#define NV_PGRAPH_NOTIFY_STYLE 1297,98369 -#define NV_PGRAPH_NOTIFY_STYLE_WRITE_ONLY 1298,98449 -#define NV_PGRAPH_NOTIFY_STYLE_WRITE_THEN_AWAKEN 1299,98529 -#define NV_PGRAPH_BOFFSET(NV_PGRAPH_BOFFSET1300,98609 -#define NV_PGRAPH_BOFFSET__SIZE_1 1301,98689 -#define NV_PGRAPH_BOFFSET_LINADRS 1302,98769 -#define NV_PGRAPH_BOFFSET_LINADRS_0 1303,98849 -#define NV_PGRAPH_BOFFSET0 1304,98929 -#define NV_PGRAPH_BOFFSET0__ALIAS_1 1305,99009 -#define NV_PGRAPH_BOFFSET0_LINADRS 1306,99089 -#define NV_PGRAPH_BOFFSET0_LINADRS_0 1307,99169 -#define NV_PGRAPH_BOFFSET1 1308,99249 -#define NV_PGRAPH_BOFFSET1__ALIAS_1 1309,99329 -#define NV_PGRAPH_BOFFSET1_LINADRS 1310,99409 -#define NV_PGRAPH_BOFFSET1_LINADRS_0 1311,99489 -#define NV_PGRAPH_BOFFSET2 1312,99569 -#define NV_PGRAPH_BOFFSET2__ALIAS_1 1313,99649 -#define NV_PGRAPH_BOFFSET2_LINADRS 1314,99729 -#define NV_PGRAPH_BOFFSET2_LINADRS_0 1315,99809 -#define NV_PGRAPH_BOFFSET3 1316,99889 -#define NV_PGRAPH_BOFFSET3__ALIAS_1 1317,99969 -#define NV_PGRAPH_BOFFSET3_LINADRS 1318,100049 -#define NV_PGRAPH_BOFFSET3_LINADRS_0 1319,100129 -#define NV_PGRAPH_BOFFSET4 1320,100209 -#define NV_PGRAPH_BOFFSET4__ALIAS_1 1321,100289 -#define NV_PGRAPH_BOFFSET4_LINADRS 1322,100369 -#define NV_PGRAPH_BOFFSET4_LINADRS_0 1323,100449 -#define NV_PGRAPH_BOFFSET5 1324,100529 -#define NV_PGRAPH_BOFFSET5__ALIAS_1 1325,100609 -#define NV_PGRAPH_BOFFSET5_LINADRS 1326,100689 -#define NV_PGRAPH_BOFFSET5_LINADRS_0 1327,100769 -#define NV_PGRAPH_BBASE(NV_PGRAPH_BBASE1328,100849 -#define NV_PGRAPH_BBASE__SIZE_1 1329,100929 -#define NV_PGRAPH_BBASE_LINADRS 1330,101009 -#define NV_PGRAPH_BBASE_LINADRS_0 1331,101089 -#define NV_PGRAPH_BBASE0 1332,101169 -#define NV_PGRAPH_BBASE0__ALIAS_1 1333,101249 -#define NV_PGRAPH_BBASE0_LINADRS 1334,101329 -#define NV_PGRAPH_BBASE0_LINADRS_0 1335,101409 -#define NV_PGRAPH_BBASE1 1336,101489 -#define NV_PGRAPH_BBASE1__ALIAS_1 1337,101569 -#define NV_PGRAPH_BBASE1_LINADRS 1338,101649 -#define NV_PGRAPH_BBASE1_LINADRS_0 1339,101729 -#define NV_PGRAPH_BBASE2 1340,101809 -#define NV_PGRAPH_BBASE2__ALIAS_1 1341,101889 -#define NV_PGRAPH_BBASE2_LINADRS 1342,101969 -#define NV_PGRAPH_BBASE2_LINADRS_0 1343,102049 -#define NV_PGRAPH_BBASE3 1344,102129 -#define NV_PGRAPH_BBASE3__ALIAS_1 1345,102209 -#define NV_PGRAPH_BBASE3_LINADRS 1346,102289 -#define NV_PGRAPH_BBASE3_LINADRS_0 1347,102369 -#define NV_PGRAPH_BBASE4 1348,102449 -#define NV_PGRAPH_BBASE4__ALIAS_1 1349,102529 -#define NV_PGRAPH_BBASE4_LINADRS 1350,102609 -#define NV_PGRAPH_BBASE4_LINADRS_0 1351,102689 -#define NV_PGRAPH_BBASE5 1352,102769 -#define NV_PGRAPH_BBASE5__ALIAS_1 1353,102849 -#define NV_PGRAPH_BBASE5_LINADRS 1354,102929 -#define NV_PGRAPH_BBASE5_LINADRS_0 1355,103009 -#define NV_PGRAPH_BPITCH(NV_PGRAPH_BPITCH1356,103089 -#define NV_PGRAPH_BPITCH__SIZE_1 1357,103169 -#define NV_PGRAPH_BPITCH_VALUE 1358,103249 -#define NV_PGRAPH_BPITCH_VALUE_0 1359,103329 -#define NV_PGRAPH_BPITCH0 1360,103409 -#define NV_PGRAPH_BPITCH0__ALIAS_1 1361,103489 -#define NV_PGRAPH_BPITCH0_VALUE 1362,103569 -#define NV_PGRAPH_BPITCH0_VALUE_0 1363,103649 -#define NV_PGRAPH_BPITCH1 1364,103729 -#define NV_PGRAPH_BPITCH1__ALIAS_1 1365,103809 -#define NV_PGRAPH_BPITCH1_VALUE 1366,103889 -#define NV_PGRAPH_BPITCH1_VALUE_0 1367,103969 -#define NV_PGRAPH_BPITCH2 1368,104049 -#define NV_PGRAPH_BPITCH2__ALIAS_1 1369,104129 -#define NV_PGRAPH_BPITCH2_VALUE 1370,104209 -#define NV_PGRAPH_BPITCH2_VALUE_0 1371,104289 -#define NV_PGRAPH_BPITCH3 1372,104369 -#define NV_PGRAPH_BPITCH3__ALIAS_1 1373,104449 -#define NV_PGRAPH_BPITCH3_VALUE 1374,104529 -#define NV_PGRAPH_BPITCH3_VALUE_0 1375,104609 -#define NV_PGRAPH_BPITCH4 1376,104689 -#define NV_PGRAPH_BPITCH4__ALIAS_1 1377,104769 -#define NV_PGRAPH_BPITCH4_VALUE 1378,104849 -#define NV_PGRAPH_BPITCH4_VALUE_0 1379,104929 -#define NV_PGRAPH_BLIMIT(NV_PGRAPH_BLIMIT1380,105009 -#define NV_PGRAPH_BLIMIT__SIZE_1 1381,105089 -#define NV_PGRAPH_BLIMIT_VALUE 1382,105169 -#define NV_PGRAPH_BLIMIT_TYPE 1383,105249 -#define NV_PGRAPH_BLIMIT_TYPE_IN_MEMORY 1384,105329 -#define NV_PGRAPH_BLIMIT_TYPE_NULL 1385,105409 -#define NV_PGRAPH_BLIMIT0 1386,105489 -#define NV_PGRAPH_BLIMIT0__ALIAS_1 1387,105569 -#define NV_PGRAPH_BLIMIT0_VALUE 1388,105649 -#define NV_PGRAPH_BLIMIT0_TYPE 1389,105729 -#define NV_PGRAPH_BLIMIT0_TYPE_IN_MEMORY 1390,105809 -#define NV_PGRAPH_BLIMIT0_TYPE_NULL 1391,105889 -#define NV_PGRAPH_BLIMIT1 1392,105969 -#define NV_PGRAPH_BLIMIT1__ALIAS_1 1393,106049 -#define NV_PGRAPH_BLIMIT1_VALUE 1394,106129 -#define NV_PGRAPH_BLIMIT1_TYPE 1395,106209 -#define NV_PGRAPH_BLIMIT1_TYPE_IN_MEMORY 1396,106289 -#define NV_PGRAPH_BLIMIT1_TYPE_NULL 1397,106369 -#define NV_PGRAPH_BLIMIT2 1398,106449 -#define NV_PGRAPH_BLIMIT2__ALIAS_1 1399,106529 -#define NV_PGRAPH_BLIMIT2_VALUE 1400,106609 -#define NV_PGRAPH_BLIMIT2_TYPE 1401,106689 -#define NV_PGRAPH_BLIMIT2_TYPE_IN_MEMORY 1402,106769 -#define NV_PGRAPH_BLIMIT2_TYPE_NULL 1403,106849 -#define NV_PGRAPH_BLIMIT3 1404,106929 -#define NV_PGRAPH_BLIMIT3__ALIAS_1 1405,107009 -#define NV_PGRAPH_BLIMIT3_VALUE 1406,107089 -#define NV_PGRAPH_BLIMIT3_TYPE 1407,107169 -#define NV_PGRAPH_BLIMIT3_TYPE_IN_MEMORY 1408,107249 -#define NV_PGRAPH_BLIMIT3_TYPE_NULL 1409,107329 -#define NV_PGRAPH_BLIMIT4 1410,107409 -#define NV_PGRAPH_BLIMIT4__ALIAS_1 1411,107489 -#define NV_PGRAPH_BLIMIT4_VALUE 1412,107569 -#define NV_PGRAPH_BLIMIT4_TYPE 1413,107649 -#define NV_PGRAPH_BLIMIT4_TYPE_IN_MEMORY 1414,107729 -#define NV_PGRAPH_BLIMIT4_TYPE_NULL 1415,107809 -#define NV_PGRAPH_BLIMIT5 1416,107889 -#define NV_PGRAPH_BLIMIT5__ALIAS_1 1417,107969 -#define NV_PGRAPH_BLIMIT5_VALUE 1418,108049 -#define NV_PGRAPH_BLIMIT5_TYPE 1419,108129 -#define NV_PGRAPH_BLIMIT5_TYPE_IN_MEMORY 1420,108209 -#define NV_PGRAPH_BLIMIT5_TYPE_NULL 1421,108289 -#define NV_PGRAPH_BSWIZZLE2 1422,108369 -#define NV_PGRAPH_BSWIZZLE2_WIDTH 1423,108449 -#define NV_PGRAPH_BSWIZZLE2_WIDTH_0 1424,108529 -#define NV_PGRAPH_BSWIZZLE2_HEIGHT 1425,108609 -#define NV_PGRAPH_BSWIZZLE2_HEIGHT_0 1426,108689 -#define NV_PGRAPH_BSWIZZLE5 1427,108769 -#define NV_PGRAPH_BSWIZZLE5_WIDTH 1428,108849 -#define NV_PGRAPH_BSWIZZLE5_WIDTH_0 1429,108929 -#define NV_PGRAPH_BSWIZZLE5_HEIGHT 1430,109009 -#define NV_PGRAPH_BSWIZZLE5_HEIGHT_0 1431,109089 -#define NV_PGRAPH_BPIXEL 1432,109169 -#define NV_PGRAPH_BPIXEL_DEPTH0 1433,109249 -#define NV_PGRAPH_BPIXEL_DEPTH0_INVALID 1434,109329 -#define NV_PGRAPH_BPIXEL_DEPTH0_Y8 1435,109409 -#define NV_PGRAPH_BPIXEL_DEPTH0_X1R5G5B5_Z1R5G5B5 1436,109489 -#define NV_PGRAPH_BPIXEL_DEPTH0_X1R5G5B5_O1R5G5B5 1437,109569 -#define NV_PGRAPH_BPIXEL_DEPTH0_A1R5G5B5 1438,109649 -#define NV_PGRAPH_BPIXEL_DEPTH0_R5G6B5 1439,109729 -#define NV_PGRAPH_BPIXEL_DEPTH0_Y16 1440,109809 -#define NV_PGRAPH_BPIXEL_DEPTH0_X8R8G8B8_Z8R8G8B8 1441,109889 -#define NV_PGRAPH_BPIXEL_DEPTH0_X8R8G8B8_O1Z7R8G8B8 1442,109969 -#define NV_PGRAPH_BPIXEL_DEPTH0_X1A7R8G8B8_Z1A7R8G8B8 1443,110049 -#define NV_PGRAPH_BPIXEL_DEPTH0_X1A7R8G8B8_O1A7R8G8B8 1444,110129 -#define NV_PGRAPH_BPIXEL_DEPTH0_X8R8G8B8_O8R8G8B8 1445,110209 -#define NV_PGRAPH_BPIXEL_DEPTH0_A8R8G8B8 1446,110289 -#define NV_PGRAPH_BPIXEL_DEPTH0_Y32 1447,110369 -#define NV_PGRAPH_BPIXEL_DEPTH0_V8YB8U8YA8 1448,110449 -#define NV_PGRAPH_BPIXEL_DEPTH0_YB8V8YA8U8 1449,110529 -#define NV_PGRAPH_BPIXEL_DEPTH1 1450,110610 -#define NV_PGRAPH_BPIXEL_DEPTH1_INVALID 1451,110690 -#define NV_PGRAPH_BPIXEL_DEPTH1_Y8 1452,110770 -#define NV_PGRAPH_BPIXEL_DEPTH1_X1R5G5B5_Z1R5G5B5 1453,110850 -#define NV_PGRAPH_BPIXEL_DEPTH1_X1R5G5B5_O1R5G5B5 1454,110930 -#define NV_PGRAPH_BPIXEL_DEPTH1_A1R5G5B5 1455,111010 -#define NV_PGRAPH_BPIXEL_DEPTH1_R5G6B5 1456,111090 -#define NV_PGRAPH_BPIXEL_DEPTH1_Y16 1457,111170 -#define NV_PGRAPH_BPIXEL_DEPTH1_X8R8G8B8_Z8R8G8B8 1458,111250 -#define NV_PGRAPH_BPIXEL_DEPTH1_X8R8G8B8_O1Z7R8G8B8 1459,111330 -#define NV_PGRAPH_BPIXEL_DEPTH1_X1A7R8G8B8_Z1A7R8G8B8 1460,111410 -#define NV_PGRAPH_BPIXEL_DEPTH1_X1A7R8G8B8_O1A7R8G8B8 1461,111490 -#define NV_PGRAPH_BPIXEL_DEPTH1_X8R8G8B8_O8R8G8B8 1462,111570 -#define NV_PGRAPH_BPIXEL_DEPTH1_A8R8G8B8 1463,111650 -#define NV_PGRAPH_BPIXEL_DEPTH1_Y32 1464,111730 -#define NV_PGRAPH_BPIXEL_DEPTH1_V8YB8U8YA8 1465,111810 -#define NV_PGRAPH_BPIXEL_DEPTH1_YB8V8YA8U8 1466,111890 -#define NV_PGRAPH_BPIXEL_DEPTH2 1467,111971 -#define NV_PGRAPH_BPIXEL_DEPTH2_INVALID 1468,112051 -#define NV_PGRAPH_BPIXEL_DEPTH2_Y8 1469,112131 -#define NV_PGRAPH_BPIXEL_DEPTH2_X1R5G5B5_Z1R5G5B5 1470,112211 -#define NV_PGRAPH_BPIXEL_DEPTH2_X1R5G5B5_O1R5G5B5 1471,112291 -#define NV_PGRAPH_BPIXEL_DEPTH2_A1R5G5B5 1472,112371 -#define NV_PGRAPH_BPIXEL_DEPTH2_R5G6B5 1473,112451 -#define NV_PGRAPH_BPIXEL_DEPTH2_Y16 1474,112531 -#define NV_PGRAPH_BPIXEL_DEPTH2_X8R8G8B8_Z8R8G8B8 1475,112611 -#define NV_PGRAPH_BPIXEL_DEPTH2_X8R8G8B8_O1Z7R8G8B8 1476,112691 -#define NV_PGRAPH_BPIXEL_DEPTH2_X1A7R8G8B8_Z1A7R8G8B8 1477,112771 -#define NV_PGRAPH_BPIXEL_DEPTH2_X1A7R8G8B8_O1A7R8G8B8 1478,112851 -#define NV_PGRAPH_BPIXEL_DEPTH2_X8R8G8B8_O8R8G8B8 1479,112931 -#define NV_PGRAPH_BPIXEL_DEPTH2_A8R8G8B8 1480,113011 -#define NV_PGRAPH_BPIXEL_DEPTH2_Y32 1481,113091 -#define NV_PGRAPH_BPIXEL_DEPTH2_V8YB8U8YA8 1482,113171 -#define NV_PGRAPH_BPIXEL_DEPTH2_YB8V8YA8U8 1483,113251 -#define NV_PGRAPH_BPIXEL_DEPTH3 1484,113332 -#define NV_PGRAPH_BPIXEL_DEPTH3_INVALID 1485,113412 -#define NV_PGRAPH_BPIXEL_DEPTH3_Y8 1486,113492 -#define NV_PGRAPH_BPIXEL_DEPTH3_X1R5G5B5_Z1R5G5B5 1487,113572 -#define NV_PGRAPH_BPIXEL_DEPTH3_X1R5G5B5_O1R5G5B5 1488,113652 -#define NV_PGRAPH_BPIXEL_DEPTH3_A1R5G5B5 1489,113732 -#define NV_PGRAPH_BPIXEL_DEPTH3_R5G6B5 1490,113812 -#define NV_PGRAPH_BPIXEL_DEPTH3_Y16 1491,113892 -#define NV_PGRAPH_BPIXEL_DEPTH3_X8R8G8B8_Z8R8G8B8 1492,113972 -#define NV_PGRAPH_BPIXEL_DEPTH3_X8R8G8B8_O1Z7R8G8B8 1493,114052 -#define NV_PGRAPH_BPIXEL_DEPTH3_X1A7R8G8B8_Z1A7R8G8B8 1494,114132 -#define NV_PGRAPH_BPIXEL_DEPTH3_X1A7R8G8B8_O1A7R8G8B8 1495,114212 -#define NV_PGRAPH_BPIXEL_DEPTH3_X8R8G8B8_O8R8G8B8 1496,114292 -#define NV_PGRAPH_BPIXEL_DEPTH3_A8R8G8B8 1497,114372 -#define NV_PGRAPH_BPIXEL_DEPTH3_Y32 1498,114452 -#define NV_PGRAPH_BPIXEL_DEPTH3_V8YB8U8YA8 1499,114532 -#define NV_PGRAPH_BPIXEL_DEPTH3_YB8V8YA8U8 1500,114612 -#define NV_PGRAPH_BPIXEL_DEPTH4 1501,114693 -#define NV_PGRAPH_BPIXEL_DEPTH4_INVALID 1502,114773 -#define NV_PGRAPH_BPIXEL_DEPTH4_Y8 1503,114853 -#define NV_PGRAPH_BPIXEL_DEPTH4_X1R5G5B5_Z1R5G5B5 1504,114933 -#define NV_PGRAPH_BPIXEL_DEPTH4_X1R5G5B5_O1R5G5B5 1505,115013 -#define NV_PGRAPH_BPIXEL_DEPTH4_A1R5G5B5 1506,115093 -#define NV_PGRAPH_BPIXEL_DEPTH4_R5G6B5 1507,115173 -#define NV_PGRAPH_BPIXEL_DEPTH4_Y16 1508,115253 -#define NV_PGRAPH_BPIXEL_DEPTH4_X8R8G8B8_Z8R8G8B8 1509,115333 -#define NV_PGRAPH_BPIXEL_DEPTH4_X8R8G8B8_O1Z7R8G8B8 1510,115413 -#define NV_PGRAPH_BPIXEL_DEPTH4_X1A7R8G8B8_Z1A7R8G8B8 1511,115493 -#define NV_PGRAPH_BPIXEL_DEPTH4_X1A7R8G8B8_O1A7R8G8B8 1512,115573 -#define NV_PGRAPH_BPIXEL_DEPTH4_X8R8G8B8_O8R8G8B8 1513,115653 -#define NV_PGRAPH_BPIXEL_DEPTH4_A8R8G8B8 1514,115733 -#define NV_PGRAPH_BPIXEL_DEPTH4_Y32 1515,115813 -#define NV_PGRAPH_BPIXEL_DEPTH4_V8YB8U8YA8 1516,115893 -#define NV_PGRAPH_BPIXEL_DEPTH4_YB8V8YA8U8 1517,115973 -#define NV_PGRAPH_BPIXEL_DEPTH5 1518,116054 -#define NV_PGRAPH_BPIXEL_DEPTH5_INVALID 1519,116134 -#define NV_PGRAPH_BPIXEL_DEPTH5_Y8 1520,116214 -#define NV_PGRAPH_BPIXEL_DEPTH5_X1R5G5B5_Z1R5G5B5 1521,116294 -#define NV_PGRAPH_BPIXEL_DEPTH5_X1R5G5B5_O1R5G5B5 1522,116374 -#define NV_PGRAPH_BPIXEL_DEPTH5_A1R5G5B5 1523,116454 -#define NV_PGRAPH_BPIXEL_DEPTH5_R5G6B5 1524,116534 -#define NV_PGRAPH_BPIXEL_DEPTH5_Y16 1525,116614 -#define NV_PGRAPH_BPIXEL_DEPTH5_X8R8G8B8_Z8R8G8B8 1526,116694 -#define NV_PGRAPH_BPIXEL_DEPTH5_X8R8G8B8_O1Z7R8G8B8 1527,116774 -#define NV_PGRAPH_BPIXEL_DEPTH5_X1A7R8G8B8_Z1A7R8G8B8 1528,116854 -#define NV_PGRAPH_BPIXEL_DEPTH5_X1A7R8G8B8_O1A7R8G8B8 1529,116934 -#define NV_PGRAPH_BPIXEL_DEPTH5_X8R8G8B8_O8R8G8B8 1530,117014 -#define NV_PGRAPH_BPIXEL_DEPTH5_A8R8G8B8 1531,117094 -#define NV_PGRAPH_BPIXEL_DEPTH5_Y32 1532,117174 -#define NV_PGRAPH_BPIXEL_DEPTH5_V8YB8U8YA8 1533,117254 -#define NV_PGRAPH_BPIXEL_DEPTH5_YB8V8YA8U8 1534,117334 -#define NV_PGRAPH_LIMIT_VIOL_PIX 1535,117415 -#define NV_PGRAPH_LIMIT_VIOL_PIX_ADRS 1536,117495 -#define NV_PGRAPH_LIMIT_VIOL_PIX_ADRS_0 1537,117575 -#define NV_PGRAPH_LIMIT_VIOL_PIX_BLIT 1538,117655 -#define NV_PGRAPH_LIMIT_VIOL_PIX_BLIT_NO_VIOL 1539,117735 -#define NV_PGRAPH_LIMIT_VIOL_PIX_BLIT_VIOL 1540,117815 -#define NV_PGRAPH_LIMIT_VIOL_PIX_LIMIT 1541,117895 -#define NV_PGRAPH_LIMIT_VIOL_PIX_LIMIT_NO_VIOL 1542,117975 -#define NV_PGRAPH_LIMIT_VIOL_PIX_LIMIT_VIOL 1543,118055 -#define NV_PGRAPH_LIMIT_VIOL_PIX_OVRFLW 1544,118135 -#define NV_PGRAPH_LIMIT_VIOL_PIX_OVRFLW_NO_VIOL 1545,118215 -#define NV_PGRAPH_LIMIT_VIOL_PIX_OVRFLW_VIOL 1546,118295 -#define NV_PGRAPH_LIMIT_VIOL_Z 1547,118375 -#define NV_PGRAPH_LIMIT_VIOL_Z_ADRS 1548,118455 -#define NV_PGRAPH_LIMIT_VIOL_Z_ADRS_0 1549,118535 -#define NV_PGRAPH_LIMIT_VIOL_Z_LIMIT 1550,118615 -#define NV_PGRAPH_LIMIT_VIOL_Z_LIMIT_NO_VIOL 1551,118695 -#define NV_PGRAPH_LIMIT_VIOL_Z_LIMIT_VIOL 1552,118775 -#define NV_PGRAPH_LIMIT_VIOL_Z_OVRFLW 1553,118855 -#define NV_PGRAPH_LIMIT_VIOL_Z_OVRFLW_NO_VIOL 1554,118935 -#define NV_PGRAPH_LIMIT_VIOL_Z_OVRFLW_VIOL 1555,119015 -#define NV_PGRAPH_STATE 1556,119095 -#define NV_PGRAPH_STATE_BUFFER_0 1557,119175 -#define NV_PGRAPH_STATE_BUFFER_0_INVALID 1558,119255 -#define NV_PGRAPH_STATE_BUFFER_0_VALID 1559,119335 -#define NV_PGRAPH_STATE_BUFFER_1 1560,119415 -#define NV_PGRAPH_STATE_BUFFER_1_INVALID 1561,119495 -#define NV_PGRAPH_STATE_BUFFER_1_VALID 1562,119575 -#define NV_PGRAPH_STATE_BUFFER_2 1563,119655 -#define NV_PGRAPH_STATE_BUFFER_2_INVALID 1564,119735 -#define NV_PGRAPH_STATE_BUFFER_2_VALID 1565,119815 -#define NV_PGRAPH_STATE_BUFFER_3 1566,119895 -#define NV_PGRAPH_STATE_BUFFER_3_INVALID 1567,119975 -#define NV_PGRAPH_STATE_BUFFER_3_VALID 1568,120055 -#define NV_PGRAPH_STATE_BUFFER_4 1569,120135 -#define NV_PGRAPH_STATE_BUFFER_4_INVALID 1570,120215 -#define NV_PGRAPH_STATE_BUFFER_4_VALID 1571,120295 -#define NV_PGRAPH_STATE_BUFFER_5 1572,120375 -#define NV_PGRAPH_STATE_BUFFER_5_INVALID 1573,120455 -#define NV_PGRAPH_STATE_BUFFER_5_VALID 1574,120535 -#define NV_PGRAPH_STATE_PITCH_0 1575,120615 -#define NV_PGRAPH_STATE_PITCH_0_INVALID 1576,120695 -#define NV_PGRAPH_STATE_PITCH_0_VALID 1577,120775 -#define NV_PGRAPH_STATE_PITCH_1 1578,120855 -#define NV_PGRAPH_STATE_PITCH_1_INVALID 1579,120935 -#define NV_PGRAPH_STATE_PITCH_1_VALID 1580,121015 -#define NV_PGRAPH_STATE_PITCH_2 1581,121095 -#define NV_PGRAPH_STATE_PITCH_2_INVALID 1582,121175 -#define NV_PGRAPH_STATE_PITCH_2_VALID 1583,121255 -#define NV_PGRAPH_STATE_PITCH_3 1584,121335 -#define NV_PGRAPH_STATE_PITCH_3_INVALID 1585,121415 -#define NV_PGRAPH_STATE_PITCH_3_VALID 1586,121495 -#define NV_PGRAPH_STATE_PITCH_4 1587,121575 -#define NV_PGRAPH_STATE_PITCH_4_INVALID 1588,121655 -#define NV_PGRAPH_STATE_PITCH_4_VALID 1589,121735 -#define NV_PGRAPH_STATE_CHROMA_COLOR 1590,121815 -#define NV_PGRAPH_STATE_CHROMA_COLOR_INVALID 1591,121895 -#define NV_PGRAPH_STATE_CHROMA_COLOR_VALID 1592,121975 -#define NV_PGRAPH_STATE_CHROMA_COLORFMT 1593,122055 -#define NV_PGRAPH_STATE_CHROMA_COLORFMT_INVALID 1594,122135 -#define NV_PGRAPH_STATE_CHROMA_COLORFMT_VALID 1595,122215 -#define NV_PGRAPH_STATE_CPATTERN_COLORFMT 1596,122295 -#define NV_PGRAPH_STATE_CPATTERN_COLORFMT_INVALID 1597,122375 -#define NV_PGRAPH_STATE_CPATTERN_COLORFMT_VALID 1598,122455 -#define NV_PGRAPH_STATE_CPATTERN_MONOFMT 1599,122535 -#define NV_PGRAPH_STATE_CPATTERN_MONOFMT_INVALID 1600,122615 -#define NV_PGRAPH_STATE_CPATTERN_MONOFMT_VALID 1601,122695 -#define NV_PGRAPH_STATE_CPATTERN_SELECT 1602,122775 -#define NV_PGRAPH_STATE_CPATTERN_SELECT_INVALID 1603,122855 -#define NV_PGRAPH_STATE_CPATTERN_SELECT_VALID 1604,122935 -#define NV_PGRAPH_STATE_PATTERN_COLOR0 1605,123015 -#define NV_PGRAPH_STATE_PATTERN_COLOR0_INVALID 1606,123095 -#define NV_PGRAPH_STATE_PATTERN_COLOR0_VALID 1607,123175 -#define NV_PGRAPH_STATE_PATTERN_COLOR1 1608,123255 -#define NV_PGRAPH_STATE_PATTERN_COLOR1_INVALID 1609,123335 -#define NV_PGRAPH_STATE_PATTERN_COLOR1_VALID 1610,123415 -#define NV_PGRAPH_STATE_PATTERN_PATT0 1611,123495 -#define NV_PGRAPH_STATE_PATTERN_PATT0_INVALID 1612,123575 -#define NV_PGRAPH_STATE_PATTERN_PATT0_VALID 1613,123655 -#define NV_PGRAPH_STATE_PATTERN_PATT1 1614,123735 -#define NV_PGRAPH_STATE_PATTERN_PATT1_INVALID 1615,123815 -#define NV_PGRAPH_STATE_PATTERN_PATT1_VALID 1616,123895 -#define NV_PGRAPH_CACHE_INDEX 1617,123975 -#define NV_PGRAPH_CACHE_INDEX_BANK 1618,124055 -#define NV_PGRAPH_CACHE_INDEX_BANK_10 1619,124135 -#define NV_PGRAPH_CACHE_INDEX_BANK_32 1620,124215 -#define NV_PGRAPH_CACHE_INDEX_ADRS 1621,124295 -#define NV_PGRAPH_CACHE_INDEX_ADRS_0 1622,124375 -#define NV_PGRAPH_CACHE_INDEX_ADRS_1024 1623,124455 -#define NV_PGRAPH_CACHE_INDEX_OP 1624,124535 -#define NV_PGRAPH_CACHE_INDEX_OP_WR_CACHE 1625,124615 -#define NV_PGRAPH_CACHE_INDEX_OP_RD_CACHE 1626,124695 -#define NV_PGRAPH_CACHE_INDEX_OP_RD_INDEX 1627,124775 -#define NV_PGRAPH_CACHE_RAM 1628,124855 -#define NV_PGRAPH_CACHE_RAM_VALUE 1629,124935 -#define NV_PGRAPH_DMA_PITCH 1630,125015 -#define NV_PGRAPH_DMA_PITCH_S0 1631,125095 -#define NV_PGRAPH_DMA_PITCH_S1 1632,125175 -#define NV_PGRAPH_DVD_COLORFMT 1633,125255 -#define NV_PGRAPH_DVD_COLORFMT_IMAGE 1634,125335 -#define NV_PGRAPH_DVD_COLORFMT_IMAGE_FORMAT_INVALID 1635,125415 -#define NV_PGRAPH_DVD_COLORFMT_IMAGE_FORMAT_LE_V8YB8U8YA8 1636,125495 -#define NV_PGRAPH_DVD_COLORFMT_IMAGE_FORMAT_LE_YB8V8YA8U8 1637,125575 -#define NV_PGRAPH_DVD_COLORFMT_OVLY 1638,125655 -#define NV_PGRAPH_DVD_COLORFMT_OVLY_FORMAT_INVALID 1639,125735 -#define NV_PGRAPH_DVD_COLORFMT_OVLY_FORMAT_LE_A8Y8U8V8 1640,125815 -#define NV_PGRAPH_DVD_COLORFMT_OVLY_FORMAT_LE_A4V6YB6A4U6YA6 1641,125895 -#define NV_PGRAPH_DVD_COLORFMT_OVLY_FORMAT_TRANSPARENT 1642,125975 -#define NV_PGRAPH_SCALED_FORMAT 1643,126055 -#define NV_PGRAPH_SCALED_FORMAT_ORIGIN 1644,126135 -#define NV_PGRAPH_SCALED_FORMAT_ORIGIN_INVALID 1645,126215 -#define NV_PGRAPH_SCALED_FORMAT_ORIGIN_CENTER 1646,126295 -#define NV_PGRAPH_SCALED_FORMAT_ORIGIN_CORNER 1647,126375 -#define NV_PGRAPH_SCALED_FORMAT_INTERPOLATOR 1648,126455 -#define NV_PGRAPH_SCALED_FORMAT_INTERPOLATOR_ZOH 1649,126535 -#define NV_PGRAPH_SCALED_FORMAT_INTERPOLATOR_FOH 1650,126615 -#define NV_PGRAPH_PATT_COLOR0 1651,126695 -#define NV_PGRAPH_PATT_COLOR0_VALUE 1652,126775 -#define NV_PGRAPH_PATT_COLOR1 1653,126855 -#define NV_PGRAPH_PATT_COLOR1_VALUE 1654,126935 -#define NV_PGRAPH_PATT_COLORRAM(NV_PGRAPH_PATT_COLORRAM1655,127015 -#define NV_PGRAPH_PATT_COLORRAM__SIZE_1 1656,127095 -#define NV_PGRAPH_PATT_COLORRAM_VALUE 1657,127175 -#define NV_PGRAPH_PATTERN(NV_PGRAPH_PATTERN1658,127255 -#define NV_PGRAPH_PATTERN__SIZE_1 1659,127335 -#define NV_PGRAPH_PATTERN_BITMAP 1660,127415 -#define NV_PGRAPH_PATTERN_SHAPE 1661,127495 -#define NV_PGRAPH_PATTERN_SHAPE_VALUE 1662,127575 -#define NV_PGRAPH_PATTERN_SHAPE_VALUE_8X_8Y 1663,127655 -#define NV_PGRAPH_PATTERN_SHAPE_VALUE_64X_1Y 1664,127735 -#define NV_PGRAPH_PATTERN_SHAPE_VALUE_1X_64Y 1665,127815 -#define NV_PGRAPH_PATTERN_SHAPE_SELECT 1666,127895 -#define NV_PGRAPH_PATTERN_SHAPE_SELECT_2COLOR 1667,127975 -#define NV_PGRAPH_PATTERN_SHAPE_SELECT_FULLCOLOR 1668,128055 -#define NV_PGRAPH_MONO_COLOR0 1669,128135 -#define NV_PGRAPH_MONO_COLOR0_VALUE 1670,128215 -#define NV_PGRAPH_ROP3 1671,128295 -#define NV_PGRAPH_ROP3_VALUE 1672,128375 -#define NV_PGRAPH_CHROMA 1673,128455 -#define NV_PGRAPH_CHROMA_VALUE 1674,128535 -#define NV_PGRAPH_BETA_AND 1675,128615 -#define NV_PGRAPH_BETA_AND_VALUE_FRACTION 1676,128695 -#define NV_PGRAPH_BETA_PREMULT 1677,128775 -#define NV_PGRAPH_BETA_PREMULT_VALUE 1678,128855 -#define NV_PGRAPH_CONTROL0 1679,128935 -#define NV_PGRAPH_CONTROL1 1680,129015 -#define NV_PGRAPH_CONTROL2 1681,129095 -#define NV_PGRAPH_BLEND 1682,129175 -#define NV_PGRAPH_DPRAM_INDEX 1683,129255 -#define NV_PGRAPH_DPRAM_INDEX_ADRS 1684,129335 -#define NV_PGRAPH_DPRAM_INDEX_ADRS_0 1685,129415 -#define NV_PGRAPH_DPRAM_INDEX_SELECT 1686,129495 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_ADRS_0 1687,129575 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_ADRS_1 1688,129655 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_DATA_0 1689,129735 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_DATA_1 1690,129815 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_WE_0 1691,129895 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_WE_1 1692,129975 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_ALPHA_0 1693,130055 -#define NV_PGRAPH_DPRAM_INDEX_SELECT_ALPHA_1 1694,130135 -#define NV_PGRAPH_DPRAM_DATA 1695,130215 -#define NV_PGRAPH_DPRAM_DATA_VALUE 1696,130295 -#define NV_PGRAPH_DPRAM_ADRS_0 1697,130375 -#define NV_PGRAPH_DPRAM_ADRS_0__ALIAS_1 1698,130455 -#define NV_PGRAPH_DPRAM_ADRS_0_VALUE 1699,130535 -#define NV_PGRAPH_DPRAM_ADRS_1 1700,130615 -#define NV_PGRAPH_DPRAM_ADRS_1__ALIAS_1 1701,130695 -#define NV_PGRAPH_DPRAM_ADRS_1_VALUE 1702,130775 -#define NV_PGRAPH_DPRAM_DATA_0 1703,130855 -#define NV_PGRAPH_DPRAM_DATA_0__ALIAS_1 1704,130935 -#define NV_PGRAPH_DPRAM_DATA_0_VALUE 1705,131015 -#define NV_PGRAPH_DPRAM_DATA_1 1706,131095 -#define NV_PGRAPH_DPRAM_DATA_1__ALIAS_1 1707,131175 -#define NV_PGRAPH_DPRAM_DATA_1_VALUE 1708,131255 -#define NV_PGRAPH_DPRAM_WE_0 1709,131335 -#define NV_PGRAPH_DPRAM_WE_0__ALIAS_1 1710,131415 -#define NV_PGRAPH_DPRAM_WE_0_VALUE 1711,131495 -#define NV_PGRAPH_DPRAM_WE_1 1712,131575 -#define NV_PGRAPH_DPRAM_WE_1__ALIAS_1 1713,131655 -#define NV_PGRAPH_DPRAM_WE_1_VALUE 1714,131735 -#define NV_PGRAPH_DPRAM_ALPHA_0 1715,131815 -#define NV_PGRAPH_DPRAM_ALPHA_0__ALIAS_1 1716,131895 -#define NV_PGRAPH_DPRAM_ALPHA_0_VALUE 1717,131975 -#define NV_PGRAPH_DPRAM_ALPHA_1 1718,132055 -#define NV_PGRAPH_DPRAM_ALPHA_1__ALIAS_1 1719,132135 -#define NV_PGRAPH_DPRAM_ALPHA_1_VALUE 1720,132215 -#define NV_PGRAPH_STORED_FMT 1721,132295 -#define NV_PGRAPH_STORED_FMT_MONO0 1722,132375 -#define NV_PGRAPH_STORED_FMT_PATT0 1723,132455 -#define NV_PGRAPH_STORED_FMT_PATT1 1724,132535 -#define NV_PGRAPH_STORED_FMT_CHROMA 1725,132615 -#define NV_PGRAPH_FORMATS 1726,132695 -#define NV_PGRAPH_FORMATS_ROP 1727,132775 -#define NV_PGRAPH_FORMATS_ROP_Y8 1728,132855 -#define NV_PGRAPH_FORMATS_ROP_RGB15 1729,132935 -#define NV_PGRAPH_FORMATS_ROP_RGB16 1730,133015 -#define NV_PGRAPH_FORMATS_ROP_Y16 1731,133095 -#define NV_PGRAPH_FORMATS_ROP_INVALID 1732,133175 -#define NV_PGRAPH_FORMATS_ROP_RGB24 1733,133255 -#define NV_PGRAPH_FORMATS_ROP_RGB30 1734,133335 -#define NV_PGRAPH_FORMATS_ROP_Y32 1735,133415 -#define NV_PGRAPH_FORMATS_SRC 1736,133495 -#define NV_PGRAPH_FORMATS_SRC_INVALID 1737,133575 -#define NV_PGRAPH_FORMATS_SRC_LE_Y8 1738,133655 -#define NV_PGRAPH_FORMATS_SRC_LE_X16A8Y8 1739,133735 -#define NV_PGRAPH_FORMATS_SRC_LE_X24Y8 1740,133815 -#define NV_PGRAPH_FORMATS_SRC_LE_A1R5G5B5 1741,133895 -#define NV_PGRAPH_FORMATS_SRC_LE_X1R5G5B5 1742,133975 -#define NV_PGRAPH_FORMATS_SRC_LE_X16A1R5G5B5 1743,134055 -#define NV_PGRAPH_FORMATS_SRC_LE_X17R5G5B5 1744,134135 -#define NV_PGRAPH_FORMATS_SRC_LE_R5G6B5 1745,134215 -#define NV_PGRAPH_FORMATS_SRC_LE_A16R5G6B5 1746,134295 -#define NV_PGRAPH_FORMATS_SRC_LE_X16R5G6B5 1747,134375 -#define NV_PGRAPH_FORMATS_SRC_LE_A8R8G8B8 1748,134455 -#define NV_PGRAPH_FORMATS_SRC_LE_X8R8G8B8 1749,134535 -#define NV_PGRAPH_FORMATS_SRC_LE_Y16 1750,134615 -#define NV_PGRAPH_FORMATS_SRC_LE_A16Y16 1751,134695 -#define NV_PGRAPH_FORMATS_SRC_LE_X16Y16 1752,134775 -#define NV_PGRAPH_FORMATS_SRC_LE_V8YB8U8YA8 1753,134855 -#define NV_PGRAPH_FORMATS_SRC_LE_YB8V8YA8U8 1754,134935 -#define NV_PGRAPH_FORMATS_SRC_LE_Y32 1755,135015 -#define NV_PGRAPH_FORMATS_FB 1756,135095 -#define NV_PGRAPH_FORMATS_FB_INVALID 1757,135175 -#define NV_PGRAPH_FORMATS_FB_Y8 1758,135255 -#define NV_PGRAPH_FORMATS_FB_X1R5G5B5_Z1R5G5B5 1759,135335 -#define NV_PGRAPH_FORMATS_FB_X1R5G5B5_O1R5G5B5 1760,135415 -#define NV_PGRAPH_FORMATS_FB_A1R5G5B5 1761,135495 -#define NV_PGRAPH_FORMATS_FB_R5G6B5 1762,135575 -#define NV_PGRAPH_FORMATS_FB_Y16 1763,135655 -#define NV_PGRAPH_FORMATS_FB_X8R8G8B8_Z8R8G8B8 1764,135735 -#define NV_PGRAPH_FORMATS_FB_X8R8G8B8_O1Z7R8G8B8 1765,135815 -#define NV_PGRAPH_FORMATS_FB_X1A7R8G8B8_Z1A7R8G8B8 1766,135895 -#define NV_PGRAPH_FORMATS_FB_X1A7R8G8B8_O1A7R8G8B8 1767,135975 -#define NV_PGRAPH_FORMATS_FB_X8R8G8B8_O8R8G8B8 1768,136055 -#define NV_PGRAPH_FORMATS_FB_A8R8G8B8 1769,136135 -#define NV_PGRAPH_FORMATS_FB_Y32 1770,136215 -#define NV_PGRAPH_FORMATS_FB_V8YB8U8YA8 1771,136295 -#define NV_PGRAPH_FORMATS_FB_YB8V8YA8U8 1772,136375 -#define NV_PGRAPH_ABS_X_RAM(NV_PGRAPH_ABS_X_RAM1773,136456 -#define NV_PGRAPH_ABS_X_RAM__SIZE_1 1774,136536 -#define NV_PGRAPH_ABS_X_RAM_VALUE 1775,136616 -#define NV_PGRAPH_X_RAM_BPORT(NV_PGRAPH_X_RAM_BPORT1776,136696 -#define NV_PGRAPH_X_RAM_BPORT__SIZE_1 1777,136776 -#define NV_PGRAPH_X_RAM_BPORT_VALUE 1778,136856 -#define NV_PGRAPH_ABS_Y_RAM(NV_PGRAPH_ABS_Y_RAM1779,136936 -#define NV_PGRAPH_ABS_Y_RAM__SIZE_1 1780,137016 -#define NV_PGRAPH_ABS_Y_RAM_VALUE 1781,137096 -#define NV_PGRAPH_Y_RAM_BPORT(NV_PGRAPH_Y_RAM_BPORT1782,137176 -#define NV_PGRAPH_Y_RAM_BPORT__SIZE_1 1783,137256 -#define NV_PGRAPH_Y_RAM_BPORT_VALUE 1784,137336 -#define NV_PGRAPH_XY_LOGIC_MISC0 1785,137416 -#define NV_PGRAPH_XY_LOGIC_MISC0_COUNTER 1786,137496 -#define NV_PGRAPH_XY_LOGIC_MISC0_COUNTER_0 1787,137576 -#define NV_PGRAPH_XY_LOGIC_MISC0_DIMENSION 1788,137656 -#define NV_PGRAPH_XY_LOGIC_MISC0_DIMENSION_NONZERO 1789,137736 -#define NV_PGRAPH_XY_LOGIC_MISC0_DIMENSION_ZERO 1790,137816 -#define NV_PGRAPH_XY_LOGIC_MISC0_INDEX 1791,137896 -#define NV_PGRAPH_XY_LOGIC_MISC0_INDEX_0 1792,137976 -#define NV_PGRAPH_XY_LOGIC_MISC1 1793,138056 -#define NV_PGRAPH_XY_LOGIC_MISC1_INITIAL 1794,138136 -#define NV_PGRAPH_XY_LOGIC_MISC1_INITIAL_NEEDED 1795,138216 -#define NV_PGRAPH_XY_LOGIC_MISC1_INITIAL_DONE 1796,138296 -#define NV_PGRAPH_XY_LOGIC_MISC1_XTRACLIPX 1797,138376 -#define NV_PGRAPH_XY_LOGIC_MISC1_XTRACLIPX_NOTNULL 1798,138456 -#define NV_PGRAPH_XY_LOGIC_MISC1_XTRACLIPX_NULL 1799,138536 -#define NV_PGRAPH_XY_LOGIC_MISC1_XTRACLIPY 1800,138616 -#define NV_PGRAPH_XY_LOGIC_MISC1_XTRACLIPY_NOTNULL 1801,138696 -#define NV_PGRAPH_XY_LOGIC_MISC1_XTRACLIPY_NULL 1802,138776 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_XIMAX 1803,138856 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_XIMAX_UUMAX 1804,138936 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_XIMAX_IMAGEMAX 1805,139016 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_YIMAX 1806,139096 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_YIMAX_UUMAX 1807,139176 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_YIMAX_IMAGEMAX 1808,139256 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_XXTRA 1809,139336 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_XXTRA_CLIPMAX 1810,139416 -#define NV_PGRAPH_XY_LOGIC_MISC1_SEL_XXTRA_IMAGEMAX 1811,139496 -#define NV_PGRAPH_XY_LOGIC_MISC2 1812,139576 -#define NV_PGRAPH_XY_LOGIC_MISC2_HANDOFF 1813,139656 -#define NV_PGRAPH_XY_LOGIC_MISC2_HANDOFF_DISABLE 1814,139736 -#define NV_PGRAPH_XY_LOGIC_MISC2_HANDOFF_ENABLE 1815,139816 -#define NV_PGRAPH_XY_LOGIC_MISC2_XTRACLIPX 1816,139896 -#define NV_PGRAPH_XY_LOGIC_MISC2_XTRACLIPX_NOTNULL 1817,139976 -#define NV_PGRAPH_XY_LOGIC_MISC2_XTRACLIPX_NULL 1818,140056 -#define NV_PGRAPH_XY_LOGIC_MISC2_XTRACLIPY 1819,140136 -#define NV_PGRAPH_XY_LOGIC_MISC2_XTRACLIPY_NOTNULL 1820,140216 -#define NV_PGRAPH_XY_LOGIC_MISC2_XTRACLIPY_NULL 1821,140296 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_XIMAX 1822,140376 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_XIMAX_UCMAX 1823,140456 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_XIMAX_IMAGEMAX 1824,140536 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_YIMAX 1825,140616 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_YIMAX_UCMAX 1826,140696 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_YIMAX_IMAGEMAX 1827,140776 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_XXTRA 1828,140856 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_XXTRA_CLIPMAX 1829,140936 -#define NV_PGRAPH_XY_LOGIC_MISC2_SEL_XXTRA_IMAGEMAX 1830,141016 -#define NV_PGRAPH_XY_LOGIC_MISC3 1831,141096 -#define NV_PGRAPH_XY_LOGIC_MISC3_WDIMY_EQ_0 1832,141176 -#define NV_PGRAPH_XY_LOGIC_MISC3_WDIMY_EQ_0_NULL 1833,141256 -#define NV_PGRAPH_XY_LOGIC_MISC3_WDIMY_EQ_0_TRUE 1834,141336 -#define NV_PGRAPH_XY_LOGIC_MISC3_RELOAD_WDIMY 1835,141416 -#define NV_PGRAPH_XY_LOGIC_MISC3_RELOAD_WDIMY_NULL 1836,141496 -#define NV_PGRAPH_XY_LOGIC_MISC3_RELOAD_WDIMY_TRUE 1837,141576 -#define NV_PGRAPH_XY_LOGIC_MISC3_RELOAD_WX 1838,141656 -#define NV_PGRAPH_XY_LOGIC_MISC3_RELOAD_WX_NULL 1839,141736 -#define NV_PGRAPH_XY_LOGIC_MISC3_RELOAD_WX_TRUE 1840,141816 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_ALG 1841,141896 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_ALG_NULL 1842,141976 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_ALG_TRUE 1843,142056 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_DIMX 1844,142136 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_DIMX_0 1845,142216 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_WDIMX 1846,142296 -#define NV_PGRAPH_XY_LOGIC_MISC3_TEXT_WDIMX_0 1847,142376 -#define NV_PGRAPH_X_MISC 1848,142456 -#define NV_PGRAPH_X_MISC_BIT33_0 1849,142536 -#define NV_PGRAPH_X_MISC_BIT33_0_0 1850,142616 -#define NV_PGRAPH_X_MISC_BIT33_1 1851,142696 -#define NV_PGRAPH_X_MISC_BIT33_1_0 1852,142776 -#define NV_PGRAPH_X_MISC_BIT33_2 1853,142856 -#define NV_PGRAPH_X_MISC_BIT33_2_0 1854,142936 -#define NV_PGRAPH_X_MISC_BIT33_3 1855,143016 -#define NV_PGRAPH_X_MISC_BIT33_3_0 1856,143096 -#define NV_PGRAPH_X_MISC_RANGE_0 1857,143176 -#define NV_PGRAPH_X_MISC_RANGE_0_0 1858,143256 -#define NV_PGRAPH_X_MISC_RANGE_1 1859,143336 -#define NV_PGRAPH_X_MISC_RANGE_1_0 1860,143416 -#define NV_PGRAPH_X_MISC_RANGE_2 1861,143496 -#define NV_PGRAPH_X_MISC_RANGE_2_0 1862,143576 -#define NV_PGRAPH_X_MISC_RANGE_3 1863,143656 -#define NV_PGRAPH_X_MISC_RANGE_3_0 1864,143736 -#define NV_PGRAPH_X_MISC_ADDER_OUTPUT 1865,143816 -#define NV_PGRAPH_X_MISC_ADDER_OUTPUT_EQ_0 1866,143896 -#define NV_PGRAPH_X_MISC_ADDER_OUTPUT_LT_0 1867,143976 -#define NV_PGRAPH_X_MISC_ADDER_OUTPUT_GT_0 1868,144056 -#define NV_PGRAPH_Y_MISC 1869,144136 -#define NV_PGRAPH_Y_MISC_BIT33_0 1870,144216 -#define NV_PGRAPH_Y_MISC_BIT33_0_0 1871,144296 -#define NV_PGRAPH_Y_MISC_BIT33_1 1872,144376 -#define NV_PGRAPH_Y_MISC_BIT33_1_0 1873,144456 -#define NV_PGRAPH_Y_MISC_BIT33_2 1874,144536 -#define NV_PGRAPH_Y_MISC_BIT33_2_0 1875,144616 -#define NV_PGRAPH_Y_MISC_BIT33_3 1876,144696 -#define NV_PGRAPH_Y_MISC_BIT33_3_0 1877,144776 -#define NV_PGRAPH_Y_MISC_RANGE_0 1878,144856 -#define NV_PGRAPH_Y_MISC_RANGE_0_0 1879,144936 -#define NV_PGRAPH_Y_MISC_RANGE_1 1880,145016 -#define NV_PGRAPH_Y_MISC_RANGE_1_0 1881,145096 -#define NV_PGRAPH_Y_MISC_RANGE_2 1882,145176 -#define NV_PGRAPH_Y_MISC_RANGE_2_0 1883,145256 -#define NV_PGRAPH_Y_MISC_RANGE_3 1884,145336 -#define NV_PGRAPH_Y_MISC_RANGE_3_0 1885,145416 -#define NV_PGRAPH_Y_MISC_ADDER_OUTPUT 1886,145496 -#define NV_PGRAPH_Y_MISC_ADDER_OUTPUT_EQ_0 1887,145576 -#define NV_PGRAPH_Y_MISC_ADDER_OUTPUT_LT_0 1888,145656 -#define NV_PGRAPH_Y_MISC_ADDER_OUTPUT_GT_0 1889,145736 -#define NV_PGRAPH_ABS_UCLIP_XMIN 1890,145816 -#define NV_PGRAPH_ABS_UCLIP_XMIN_VALUE 1891,145896 -#define NV_PGRAPH_ABS_UCLIP_XMAX 1892,145976 -#define NV_PGRAPH_ABS_UCLIP_XMAX_VALUE 1893,146056 -#define NV_PGRAPH_ABS_UCLIP_YMIN 1894,146136 -#define NV_PGRAPH_ABS_UCLIP_YMIN_VALUE 1895,146216 -#define NV_PGRAPH_ABS_UCLIP_YMAX 1896,146296 -#define NV_PGRAPH_ABS_UCLIP_YMAX_VALUE 1897,146376 -#define NV_PGRAPH_ABS_UCLIPA_XMIN 1898,146456 -#define NV_PGRAPH_ABS_UCLIPA_XMIN_VALUE 1899,146536 -#define NV_PGRAPH_ABS_UCLIPA_XMAX 1900,146616 -#define NV_PGRAPH_ABS_UCLIPA_XMAX_VALUE 1901,146696 -#define NV_PGRAPH_ABS_UCLIPA_YMIN 1902,146776 -#define NV_PGRAPH_ABS_UCLIPA_YMIN_VALUE 1903,146856 -#define NV_PGRAPH_ABS_UCLIPA_YMAX 1904,146936 -#define NV_PGRAPH_ABS_UCLIPA_YMAX_VALUE 1905,147016 -#define NV_PGRAPH_SOURCE_COLOR 1906,147096 -#define NV_PGRAPH_SOURCE_COLOR_VALUE 1907,147176 -#define NV_PGRAPH_SOURCE_COLOR_VALUE_0 1908,147256 -#define NV_PGRAPH_VALID1 1909,147336 -#define NV_PGRAPH_VALID1_VLD 1910,147416 -#define NV_PGRAPH_VALID1_VLD_0 1911,147496 -#define NV_PGRAPH_VALID1_CLIP_MIN 1912,147576 -#define NV_PGRAPH_VALID1_CLIP_MIN_NO_ERROR 1913,147656 -#define NV_PGRAPH_VALID1_CLIP_MIN_ONLY 1914,147736 -#define NV_PGRAPH_VALID1_CLIPA_MIN 1915,147816 -#define NV_PGRAPH_VALID1_CLIPA_MIN_NO_ERROR 1916,147896 -#define NV_PGRAPH_VALID1_CLIPA_MIN_ONLY 1917,147976 -#define NV_PGRAPH_VALID1_CLIP_MAX 1918,148056 -#define NV_PGRAPH_VALID1_CLIP_MAX_NO_ERROR 1919,148136 -#define NV_PGRAPH_VALID1_CLIP_MAX_ONLY 1920,148216 -#define NV_PGRAPH_VALID1_CLIPA_MAX 1921,148296 -#define NV_PGRAPH_VALID1_CLIPA_MAX_NO_ERROR 1922,148376 -#define NV_PGRAPH_VALID1_CLIPA_MAX_ONLY 1923,148456 -#define NV_PGRAPH_VALID2 1924,148536 -#define NV_PGRAPH_VALID2_VLD2 1925,148616 -#define NV_PGRAPH_VALID2_VLD2_0 1926,148696 -#define NV_PGRAPH_ABS_ICLIP_XMAX 1927,148776 -#define NV_PGRAPH_ABS_ICLIP_XMAX_VALUE 1928,148856 -#define NV_PGRAPH_ABS_ICLIP_YMAX 1929,148936 -#define NV_PGRAPH_ABS_ICLIP_YMAX_VALUE 1930,149016 -#define NV_PGRAPH_CLIPX_0 1931,149096 -#define NV_PGRAPH_CLIPX_0_CLIP0_MIN 1932,149176 -#define NV_PGRAPH_CLIPX_0_CLIP0_MIN_GT 1933,149256 -#define NV_PGRAPH_CLIPX_0_CLIP0_MIN_LT 1934,149336 -#define NV_PGRAPH_CLIPX_0_CLIP0_MIN_EQ 1935,149416 -#define NV_PGRAPH_CLIPX_0_CLIP0_MAX 1936,149496 -#define NV_PGRAPH_CLIPX_0_CLIP0_MAX_LT 1937,149576 -#define NV_PGRAPH_CLIPX_0_CLIP0_MAX_GT 1938,149656 -#define NV_PGRAPH_CLIPX_0_CLIP0_MAX_EQ 1939,149736 -#define NV_PGRAPH_CLIPX_0_CLIP1_MIN 1940,149816 -#define NV_PGRAPH_CLIPX_0_CLIP1_MIN_GT 1941,149896 -#define NV_PGRAPH_CLIPX_0_CLIP1_MIN_LT 1942,149976 -#define NV_PGRAPH_CLIPX_0_CLIP1_MIN_EQ 1943,150056 -#define NV_PGRAPH_CLIPX_0_CLIP1_MAX 1944,150136 -#define NV_PGRAPH_CLIPX_0_CLIP1_MAX_LT 1945,150216 -#define NV_PGRAPH_CLIPX_0_CLIP1_MAX_GT 1946,150296 -#define NV_PGRAPH_CLIPX_0_CLIP1_MAX_EQ 1947,150376 -#define NV_PGRAPH_CLIPX_0_CLIP2_MIN 1948,150456 -#define NV_PGRAPH_CLIPX_0_CLIP2_MIN_GT 1949,150536 -#define NV_PGRAPH_CLIPX_0_CLIP2_MIN_LT 1950,150616 -#define NV_PGRAPH_CLIPX_0_CLIP2_MIN_EQ 1951,150696 -#define NV_PGRAPH_CLIPX_0_CLIP2_MAX 1952,150776 -#define NV_PGRAPH_CLIPX_0_CLIP2_MAX_LT 1953,150856 -#define NV_PGRAPH_CLIPX_0_CLIP2_MAX_GT 1954,150936 -#define NV_PGRAPH_CLIPX_0_CLIP2_MAX_EQ 1955,151016 -#define NV_PGRAPH_CLIPX_0_CLIP3_MIN 1956,151096 -#define NV_PGRAPH_CLIPX_0_CLIP3_MIN_GT 1957,151176 -#define NV_PGRAPH_CLIPX_0_CLIP3_MIN_LT 1958,151256 -#define NV_PGRAPH_CLIPX_0_CLIP3_MIN_EQ 1959,151336 -#define NV_PGRAPH_CLIPX_0_CLIP3_MAX 1960,151416 -#define NV_PGRAPH_CLIPX_0_CLIP3_MAX_LT 1961,151496 -#define NV_PGRAPH_CLIPX_0_CLIP3_MAX_GT 1962,151576 -#define NV_PGRAPH_CLIPX_0_CLIP3_MAX_EQ 1963,151656 -#define NV_PGRAPH_CLIPX_0_CLIP4_MIN 1964,151736 -#define NV_PGRAPH_CLIPX_0_CLIP4_MIN_GT 1965,151816 -#define NV_PGRAPH_CLIPX_0_CLIP4_MIN_LT 1966,151896 -#define NV_PGRAPH_CLIPX_0_CLIP4_MIN_EQ 1967,151976 -#define NV_PGRAPH_CLIPX_0_CLIP4_MAX 1968,152056 -#define NV_PGRAPH_CLIPX_0_CLIP4_MAX_LT 1969,152136 -#define NV_PGRAPH_CLIPX_0_CLIP4_MAX_GT 1970,152216 -#define NV_PGRAPH_CLIPX_0_CLIP4_MAX_EQ 1971,152296 -#define NV_PGRAPH_CLIPX_0_CLIP5_MIN 1972,152376 -#define NV_PGRAPH_CLIPX_0_CLIP5_MIN_GT 1973,152456 -#define NV_PGRAPH_CLIPX_0_CLIP5_MIN_LT 1974,152536 -#define NV_PGRAPH_CLIPX_0_CLIP5_MIN_EQ 1975,152616 -#define NV_PGRAPH_CLIPX_0_CLIP5_MAX 1976,152696 -#define NV_PGRAPH_CLIPX_0_CLIP5_MAX_LT 1977,152776 -#define NV_PGRAPH_CLIPX_0_CLIP5_MAX_GT 1978,152856 -#define NV_PGRAPH_CLIPX_0_CLIP5_MAX_EQ 1979,152936 -#define NV_PGRAPH_CLIPX_0_CLIP6_MIN 1980,153016 -#define NV_PGRAPH_CLIPX_0_CLIP6_MIN_GT 1981,153096 -#define NV_PGRAPH_CLIPX_0_CLIP6_MIN_LT 1982,153176 -#define NV_PGRAPH_CLIPX_0_CLIP6_MIN_EQ 1983,153256 -#define NV_PGRAPH_CLIPX_0_CLIP6_MAX 1984,153336 -#define NV_PGRAPH_CLIPX_0_CLIP6_MAX_LT 1985,153416 -#define NV_PGRAPH_CLIPX_0_CLIP6_MAX_GT 1986,153496 -#define NV_PGRAPH_CLIPX_0_CLIP6_MAX_EQ 1987,153576 -#define NV_PGRAPH_CLIPX_0_CLIP7_MIN 1988,153656 -#define NV_PGRAPH_CLIPX_0_CLIP7_MIN_GT 1989,153736 -#define NV_PGRAPH_CLIPX_0_CLIP7_MIN_LT 1990,153816 -#define NV_PGRAPH_CLIPX_0_CLIP7_MIN_EQ 1991,153896 -#define NV_PGRAPH_CLIPX_0_CLIP7_MAX 1992,153976 -#define NV_PGRAPH_CLIPX_0_CLIP7_MAX_LT 1993,154056 -#define NV_PGRAPH_CLIPX_0_CLIP7_MAX_GT 1994,154136 -#define NV_PGRAPH_CLIPX_0_CLIP7_MAX_EQ 1995,154216 -#define NV_PGRAPH_CLIPX_1 1996,154296 -#define NV_PGRAPH_CLIPX_1_CLIP8_MIN 1997,154376 -#define NV_PGRAPH_CLIPX_1_CLIP8_MIN_GT 1998,154456 -#define NV_PGRAPH_CLIPX_1_CLIP8_MIN_LT 1999,154536 -#define NV_PGRAPH_CLIPX_1_CLIP8_MIN_EQ 2000,154616 -#define NV_PGRAPH_CLIPX_1_CLIP8_MAX 2001,154696 -#define NV_PGRAPH_CLIPX_1_CLIP8_MAX_LT 2002,154776 -#define NV_PGRAPH_CLIPX_1_CLIP8_MAX_GT 2003,154856 -#define NV_PGRAPH_CLIPX_1_CLIP8_MAX_EQ 2004,154936 -#define NV_PGRAPH_CLIPX_1_CLIP9_MIN 2005,155016 -#define NV_PGRAPH_CLIPX_1_CLIP9_MIN_GT 2006,155096 -#define NV_PGRAPH_CLIPX_1_CLIP9_MIN_LT 2007,155176 -#define NV_PGRAPH_CLIPX_1_CLIP9_MIN_EQ 2008,155256 -#define NV_PGRAPH_CLIPX_1_CLIP9_MAX 2009,155336 -#define NV_PGRAPH_CLIPX_1_CLIP9_MAX_LT 2010,155416 -#define NV_PGRAPH_CLIPX_1_CLIP9_MAX_GT 2011,155496 -#define NV_PGRAPH_CLIPX_1_CLIP9_MAX_EQ 2012,155576 -#define NV_PGRAPH_CLIPX_1_CLIP10_MIN 2013,155656 -#define NV_PGRAPH_CLIPX_1_CLIP10_MIN_GT 2014,155736 -#define NV_PGRAPH_CLIPX_1_CLIP10_MIN_LT 2015,155816 -#define NV_PGRAPH_CLIPX_1_CLIP10_MIN_EQ 2016,155896 -#define NV_PGRAPH_CLIPX_1_CLIP10_MAX 2017,155976 -#define NV_PGRAPH_CLIPX_1_CLIP10_MAX_LT 2018,156056 -#define NV_PGRAPH_CLIPX_1_CLIP10_MAX_GT 2019,156136 -#define NV_PGRAPH_CLIPX_1_CLIP10_MAX_EQ 2020,156216 -#define NV_PGRAPH_CLIPX_1_CLIP11_MIN 2021,156296 -#define NV_PGRAPH_CLIPX_1_CLIP11_MIN_GT 2022,156376 -#define NV_PGRAPH_CLIPX_1_CLIP11_MIN_LT 2023,156456 -#define NV_PGRAPH_CLIPX_1_CLIP11MIN_EQ 2024,156536 -#define NV_PGRAPH_CLIPX_1_CLIP11_MAX 2025,156616 -#define NV_PGRAPH_CLIPX_1_CLIP11_MAX_LT 2026,156696 -#define NV_PGRAPH_CLIPX_1_CLIP11_MAX_GT 2027,156776 -#define NV_PGRAPH_CLIPX_1_CLIP11_MAX_EQ 2028,156856 -#define NV_PGRAPH_CLIPX_1_CLIP12_MIN 2029,156936 -#define NV_PGRAPH_CLIPX_1_CLIP12_MIN_GT 2030,157016 -#define NV_PGRAPH_CLIPX_1_CLIP12_MIN_LT 2031,157096 -#define NV_PGRAPH_CLIPX_1_CLIP12_MIN_EQ 2032,157176 -#define NV_PGRAPH_CLIPX_1_CLIP12_MAX 2033,157256 -#define NV_PGRAPH_CLIPX_1_CLIP12_MAX_LT 2034,157336 -#define NV_PGRAPH_CLIPX_1_CLIP12_MAX_GT 2035,157416 -#define NV_PGRAPH_CLIPX_1_CLIP12_MAX_EQ 2036,157496 -#define NV_PGRAPH_CLIPX_1_CLIP13_MIN 2037,157576 -#define NV_PGRAPH_CLIPX_1_CLIP13_MIN_GT 2038,157656 -#define NV_PGRAPH_CLIPX_1_CLIP13_MIN_LT 2039,157736 -#define NV_PGRAPH_CLIPX_1_CLIP13_MIN_EQ 2040,157816 -#define NV_PGRAPH_CLIPX_1_CLIP13_MAX 2041,157896 -#define NV_PGRAPH_CLIPX_1_CLIP13_MAX_LT 2042,157976 -#define NV_PGRAPH_CLIPX_1_CLIP13_MAX_GT 2043,158056 -#define NV_PGRAPH_CLIPX_1_CLIP13_MAX_EQ 2044,158136 -#define NV_PGRAPH_CLIPX_1_CLIP14_MIN 2045,158216 -#define NV_PGRAPH_CLIPX_1_CLIP14_MIN_GT 2046,158296 -#define NV_PGRAPH_CLIPX_1_CLIP14_MIN_LT 2047,158376 -#define NV_PGRAPH_CLIPX_1_CLIP14_MIN_EQ 2048,158456 -#define NV_PGRAPH_CLIPX_1_CLIP14_MAX 2049,158536 -#define NV_PGRAPH_CLIPX_1_CLIP14_MAX_LT 2050,158616 -#define NV_PGRAPH_CLIPX_1_CLIP14_MAX_GT 2051,158696 -#define NV_PGRAPH_CLIPX_1_CLIP14_MAX_EQ 2052,158776 -#define NV_PGRAPH_CLIPX_1_CLIP15_MIN 2053,158856 -#define NV_PGRAPH_CLIPX_1_CLIP15_MIN_GT 2054,158936 -#define NV_PGRAPH_CLIPX_1_CLIP15_MIN_LT 2055,159016 -#define NV_PGRAPH_CLIPX_1_CLIP15_MIN_EQ 2056,159096 -#define NV_PGRAPH_CLIPX_1_CLIP15_MAX 2057,159176 -#define NV_PGRAPH_CLIPX_1_CLIP15_MAX_LT 2058,159256 -#define NV_PGRAPH_CLIPX_1_CLIP15_MAX_GT 2059,159336 -#define NV_PGRAPH_CLIPX_1_CLIP15_MAX_EQ 2060,159416 -#define NV_PGRAPH_CLIPY_0 2061,159496 -#define NV_PGRAPH_CLIPY_0_CLIP0_MIN 2062,159576 -#define NV_PGRAPH_CLIPY_0_CLIP0_MIN_GT 2063,159656 -#define NV_PGRAPH_CLIPY_0_CLIP0_MIN_LT 2064,159736 -#define NV_PGRAPH_CLIPY_0_CLIP0_MIN_EQ 2065,159816 -#define NV_PGRAPH_CLIPY_0_CLIP0_MAX 2066,159896 -#define NV_PGRAPH_CLIPY_0_CLIP0_MAX_LT 2067,159976 -#define NV_PGRAPH_CLIPY_0_CLIP0_MAX_GT 2068,160056 -#define NV_PGRAPH_CLIPY_0_CLIP0_MAX_EQ 2069,160136 -#define NV_PGRAPH_CLIPY_0_CLIP1_MIN 2070,160216 -#define NV_PGRAPH_CLIPY_0_CLIP1_MIN_GT 2071,160296 -#define NV_PGRAPH_CLIPY_0_CLIP1_MIN_LT 2072,160376 -#define NV_PGRAPH_CLIPY_0_CLIP1_MIN_EQ 2073,160456 -#define NV_PGRAPH_CLIPY_0_CLIP1_MAX 2074,160536 -#define NV_PGRAPH_CLIPY_0_CLIP1_MAX_LT 2075,160616 -#define NV_PGRAPH_CLIPY_0_CLIP1_MAX_GT 2076,160696 -#define NV_PGRAPH_CLIPY_0_CLIP1_MAX_EQ 2077,160776 -#define NV_PGRAPH_CLIPY_0_CLIP2_MIN 2078,160856 -#define NV_PGRAPH_CLIPY_0_CLIP2_MIN_GT 2079,160936 -#define NV_PGRAPH_CLIPY_0_CLIP2_MIN_LT 2080,161016 -#define NV_PGRAPH_CLIPY_0_CLIP2_MIN_EQ 2081,161096 -#define NV_PGRAPH_CLIPY_0_CLIP2_MAX 2082,161176 -#define NV_PGRAPH_CLIPY_0_CLIP2_MAX_LT 2083,161256 -#define NV_PGRAPH_CLIPY_0_CLIP2_MAX_GT 2084,161336 -#define NV_PGRAPH_CLIPY_0_CLIP2_MAX_EQ 2085,161416 -#define NV_PGRAPH_CLIPY_0_CLIP3_MIN 2086,161496 -#define NV_PGRAPH_CLIPY_0_CLIP3_MIN_GT 2087,161576 -#define NV_PGRAPH_CLIPY_0_CLIP3_MIN_LT 2088,161656 -#define NV_PGRAPH_CLIPY_0_CLIP3_MIN_EQ 2089,161736 -#define NV_PGRAPH_CLIPY_0_CLIP3_MAX 2090,161816 -#define NV_PGRAPH_CLIPY_0_CLIP3_MAX_LT 2091,161896 -#define NV_PGRAPH_CLIPY_0_CLIP3_MAX_GT 2092,161976 -#define NV_PGRAPH_CLIPY_0_CLIP3_MAX_EQ 2093,162056 -#define NV_PGRAPH_CLIPY_0_CLIP4_MIN 2094,162136 -#define NV_PGRAPH_CLIPY_0_CLIP4_MIN_GT 2095,162216 -#define NV_PGRAPH_CLIPY_0_CLIP4_MIN_LT 2096,162296 -#define NV_PGRAPH_CLIPY_0_CLIP4_MIN_EQ 2097,162376 -#define NV_PGRAPH_CLIPY_0_CLIP4_MAX 2098,162456 -#define NV_PGRAPH_CLIPY_0_CLIP4_MAX_LT 2099,162536 -#define NV_PGRAPH_CLIPY_0_CLIP4_MAX_GT 2100,162616 -#define NV_PGRAPH_CLIPY_0_CLIP4_MAX_EQ 2101,162696 -#define NV_PGRAPH_CLIPY_0_CLIP5_MIN 2102,162776 -#define NV_PGRAPH_CLIPY_0_CLIP5_MIN_GT 2103,162856 -#define NV_PGRAPH_CLIPY_0_CLIP5_MIN_LT 2104,162936 -#define NV_PGRAPH_CLIPY_0_CLIP5_MIN_EQ 2105,163016 -#define NV_PGRAPH_CLIPY_0_CLIP5_MAX 2106,163096 -#define NV_PGRAPH_CLIPY_0_CLIP5_MAX_LT 2107,163176 -#define NV_PGRAPH_CLIPY_0_CLIP5_MAX_GT 2108,163256 -#define NV_PGRAPH_CLIPY_0_CLIP5_MAX_EQ 2109,163336 -#define NV_PGRAPH_CLIPY_0_CLIP6_MIN 2110,163416 -#define NV_PGRAPH_CLIPY_0_CLIP6_MIN_GT 2111,163496 -#define NV_PGRAPH_CLIPY_0_CLIP6_MIN_LT 2112,163576 -#define NV_PGRAPH_CLIPY_0_CLIP6_MIN_EQ 2113,163656 -#define NV_PGRAPH_CLIPY_0_CLIP6_MAX 2114,163736 -#define NV_PGRAPH_CLIPY_0_CLIP6_MAX_LT 2115,163816 -#define NV_PGRAPH_CLIPY_0_CLIP6_MAX_GT 2116,163896 -#define NV_PGRAPH_CLIPY_0_CLIP6_MAX_EQ 2117,163976 -#define NV_PGRAPH_CLIPY_0_CLIP7_MIN 2118,164056 -#define NV_PGRAPH_CLIPY_0_CLIP7_MIN_GT 2119,164136 -#define NV_PGRAPH_CLIPY_0_CLIP7_MIN_LT 2120,164216 -#define NV_PGRAPH_CLIPY_0_CLIP7_MIN_EQ 2121,164296 -#define NV_PGRAPH_CLIPY_0_CLIP7_MAX 2122,164376 -#define NV_PGRAPH_CLIPY_0_CLIP7_MAX_LT 2123,164456 -#define NV_PGRAPH_CLIPY_0_CLIP7_MAX_GT 2124,164536 -#define NV_PGRAPH_CLIPY_0_CLIP7_MAX_EQ 2125,164616 -#define NV_PGRAPH_CLIPY_1 2126,164696 -#define NV_PGRAPH_CLIPY_1_CLIP8_MIN 2127,164776 -#define NV_PGRAPH_CLIPY_1_CLIP8_MIN_GT 2128,164856 -#define NV_PGRAPH_CLIPY_1_CLIP8_MIN_LT 2129,164936 -#define NV_PGRAPH_CLIPY_1_CLIP8_MIN_EQ 2130,165016 -#define NV_PGRAPH_CLIPY_1_CLIP8_MAX 2131,165096 -#define NV_PGRAPH_CLIPY_1_CLIP8_MAX_LT 2132,165176 -#define NV_PGRAPH_CLIPY_1_CLIP8_MAX_GT 2133,165256 -#define NV_PGRAPH_CLIPY_1_CLIP8_MAX_EQ 2134,165336 -#define NV_PGRAPH_CLIPY_1_CLIP9_MIN 2135,165416 -#define NV_PGRAPH_CLIPY_1_CLIP9_MIN_GT 2136,165496 -#define NV_PGRAPH_CLIPY_1_CLIP9_MIN_LT 2137,165576 -#define NV_PGRAPH_CLIPY_1_CLIP9_MIN_EQ 2138,165656 -#define NV_PGRAPH_CLIPY_1_CLIP9_MAX 2139,165736 -#define NV_PGRAPH_CLIPY_1_CLIP9_MAX_LT 2140,165816 -#define NV_PGRAPH_CLIPY_1_CLIP9_MAX_GT 2141,165896 -#define NV_PGRAPH_CLIPY_1_CLIP9_MAX_EQ 2142,165976 -#define NV_PGRAPH_CLIPY_1_CLIP10_MIN 2143,166056 -#define NV_PGRAPH_CLIPY_1_CLIP10_MIN_GT 2144,166136 -#define NV_PGRAPH_CLIPY_1_CLIP10_MIN_LT 2145,166216 -#define NV_PGRAPH_CLIPY_1_CLIP10_MIN_EQ 2146,166296 -#define NV_PGRAPH_CLIPY_1_CLIP10_MAX 2147,166376 -#define NV_PGRAPH_CLIPY_1_CLIP10_MAX_LT 2148,166456 -#define NV_PGRAPH_CLIPY_1_CLIP10_MAX_GT 2149,166536 -#define NV_PGRAPH_CLIPY_1_CLIP10_MAX_EQ 2150,166616 -#define NV_PGRAPH_CLIPY_1_CLIP11_MIN 2151,166696 -#define NV_PGRAPH_CLIPY_1_CLIP11_MIN_GT 2152,166776 -#define NV_PGRAPH_CLIPY_1_CLIP11_MIN_LT 2153,166856 -#define NV_PGRAPH_CLIPY_1_CLIP11MIN_EQ 2154,166936 -#define NV_PGRAPH_CLIPY_1_CLIP11_MAX 2155,167016 -#define NV_PGRAPH_CLIPY_1_CLIP11_MAX_LT 2156,167096 -#define NV_PGRAPH_CLIPY_1_CLIP11_MAX_GT 2157,167176 -#define NV_PGRAPH_CLIPY_1_CLIP11_MAX_EQ 2158,167256 -#define NV_PGRAPH_CLIPY_1_CLIP12_MIN 2159,167336 -#define NV_PGRAPH_CLIPY_1_CLIP12_MIN_GT 2160,167416 -#define NV_PGRAPH_CLIPY_1_CLIP12_MIN_LT 2161,167496 -#define NV_PGRAPH_CLIPY_1_CLIP12_MIN_EQ 2162,167576 -#define NV_PGRAPH_CLIPY_1_CLIP12_MAX 2163,167656 -#define NV_PGRAPH_CLIPY_1_CLIP12_MAX_LT 2164,167736 -#define NV_PGRAPH_CLIPY_1_CLIP12_MAX_GT 2165,167816 -#define NV_PGRAPH_CLIPY_1_CLIP12_MAX_EQ 2166,167896 -#define NV_PGRAPH_CLIPY_1_CLIP13_MIN 2167,167976 -#define NV_PGRAPH_CLIPY_1_CLIP13_MIN_GT 2168,168056 -#define NV_PGRAPH_CLIPY_1_CLIP13_MIN_LT 2169,168136 -#define NV_PGRAPH_CLIPY_1_CLIP13_MIN_EQ 2170,168216 -#define NV_PGRAPH_CLIPY_1_CLIP13_MAX 2171,168296 -#define NV_PGRAPH_CLIPY_1_CLIP13_MAX_LT 2172,168376 -#define NV_PGRAPH_CLIPY_1_CLIP13_MAX_GT 2173,168456 -#define NV_PGRAPH_CLIPY_1_CLIP13_MAX_EQ 2174,168536 -#define NV_PGRAPH_CLIPY_1_CLIP14_MIN 2175,168616 -#define NV_PGRAPH_CLIPY_1_CLIP14_MIN_GT 2176,168696 -#define NV_PGRAPH_CLIPY_1_CLIP14_MIN_LT 2177,168776 -#define NV_PGRAPH_CLIPY_1_CLIP14_MIN_EQ 2178,168856 -#define NV_PGRAPH_CLIPY_1_CLIP14_MAX 2179,168936 -#define NV_PGRAPH_CLIPY_1_CLIP14_MAX_LT 2180,169016 -#define NV_PGRAPH_CLIPY_1_CLIP14_MAX_GT 2181,169096 -#define NV_PGRAPH_CLIPY_1_CLIP14_MAX_EQ 2182,169176 -#define NV_PGRAPH_CLIPY_1_CLIP15_MIN 2183,169256 -#define NV_PGRAPH_CLIPY_1_CLIP15_MIN_GT 2184,169336 -#define NV_PGRAPH_CLIPY_1_CLIP15_MIN_LT 2185,169416 -#define NV_PGRAPH_CLIPY_1_CLIP15_MIN_EQ 2186,169496 -#define NV_PGRAPH_CLIPY_1_CLIP15_MAX 2187,169576 -#define NV_PGRAPH_CLIPY_1_CLIP15_MAX_LT 2188,169656 -#define NV_PGRAPH_CLIPY_1_CLIP15_MAX_GT 2189,169736 -#define NV_PGRAPH_CLIPY_1_CLIP15_MAX_EQ 2190,169816 -#define NV_PGRAPH_MISC24_0 2191,169896 -#define NV_PGRAPH_MISC24_0_VALUE 2192,169976 -#define NV_PGRAPH_MISC24_1 2193,170056 -#define NV_PGRAPH_MISC24_1_VALUE 2194,170136 -#define NV_PGRAPH_MISC24_2 2195,170216 -#define NV_PGRAPH_MISC24_2_VALUE 2196,170296 -#define NV_PGRAPH_PASSTHRU_0 2197,170376 -#define NV_PGRAPH_PASSTHRU_0_VALUE 2198,170456 -#define NV_PGRAPH_PASSTHRU_1 2199,170536 -#define NV_PGRAPH_PASSTHRU_1_VALUE 2200,170616 -#define NV_PGRAPH_PASSTHRU_2 2201,170696 -#define NV_PGRAPH_PASSTHRU_2_VALUE 2202,170776 -#define NV_PGRAPH_U_RAM(NV_PGRAPH_U_RAM2203,170856 -#define NV_PGRAPH_U_RAM__SIZE_1 2204,170936 -#define NV_PGRAPH_U_RAM_VALUE 2205,171016 -#define NV_PGRAPH_V_RAM(NV_PGRAPH_V_RAM2206,171096 -#define NV_PGRAPH_V_RAM__SIZE_1 2207,171176 -#define NV_PGRAPH_V_RAM_VALUE 2208,171256 -#define NV_PGRAPH_M_RAM(NV_PGRAPH_M_RAM2209,171336 -#define NV_PGRAPH_M_RAM__SIZE_1 2210,171416 -#define NV_PGRAPH_M_RAM_VALUE 2211,171496 -#define NV_PGRAPH_DMA_START_0 2212,171576 -#define NV_PGRAPH_DMA_START_0_VALUE 2213,171656 -#define NV_PGRAPH_DMA_START_1 2214,171736 -#define NV_PGRAPH_DMA_START_1_VALUE 2215,171816 -#define NV_PGRAPH_DMA_LENGTH 2216,171896 -#define NV_PGRAPH_DMA_LENGTH_VALUE 2217,171976 -#define NV_PGRAPH_DMA_MISC 2218,172056 -#define NV_PGRAPH_DMA_MISC_COUNT 2219,172136 -#define NV_PGRAPH_DMA_MISC_FMT_SRC 2220,172216 -#define NV_PGRAPH_DMA_MISC_FMT_DST 2221,172296 -#define NV_PGRAPH_DMA_DATA_0 2222,172376 -#define NV_PGRAPH_DMA_DATA_0_VALUE 2223,172456 -#define NV_PGRAPH_DMA_DATA_1 2224,172536 -#define NV_PGRAPH_DMA_DATA_1_VALUE 2225,172616 -#define NV_PGRAPH_DMA_RM 2226,172696 -#define NV_PGRAPH_DMA_RM_ASSIST_A 2227,172776 -#define NV_PGRAPH_DMA_RM_ASSIST_A_NOT_PENDING 2228,172856 -#define NV_PGRAPH_DMA_RM_ASSIST_A_PENDING 2229,172936 -#define NV_PGRAPH_DMA_RM_ASSIST_A_RESET 2230,173016 -#define NV_PGRAPH_DMA_RM_ASSIST_B 2231,173096 -#define NV_PGRAPH_DMA_RM_ASSIST_B_NOT_PENDING 2232,173176 -#define NV_PGRAPH_DMA_RM_ASSIST_B_PENDING 2233,173256 -#define NV_PGRAPH_DMA_RM_ASSIST_B_RESET 2234,173336 -#define NV_PGRAPH_DMA_RM_WRITE_REQ 2235,173416 -#define NV_PGRAPH_DMA_RM_WRITE_REQ_NOT_PENDING 2236,173496 -#define NV_PGRAPH_DMA_RM_WRITE_REQ_PENDING 2237,173576 -#define NV_PGRAPH_DMA_A_XLATE_INST 2238,173656 -#define NV_PGRAPH_DMA_A_XLATE_INST_VALUE 2239,173736 -#define NV_PGRAPH_DMA_A_CONTROL 2240,173816 -#define NV_PGRAPH_DMA_A_CONTROL_PAGE_TABLE 2241,173896 -#define NV_PGRAPH_DMA_A_CONTROL_PAGE_TABLE_NOT_PRESENT 2242,173976 -#define NV_PGRAPH_DMA_A_CONTROL_PAGE_TABLE_PRESENT 2243,174056 -#define NV_PGRAPH_DMA_A_CONTROL_PAGE_ENTRY 2244,174136 -#define NV_PGRAPH_DMA_A_CONTROL_PAGE_ENTRY_NOT_LINEAR 2245,174216 -#define NV_PGRAPH_DMA_A_CONTROL_PAGE_ENTRY_LINEAR 2246,174296 -#define NV_PGRAPH_DMA_A_CONTROL_TARGET_NODE 2247,174376 -#define NV_PGRAPH_DMA_A_CONTROL_TARGET_NODE_NVM 2248,174456 -#define NV_PGRAPH_DMA_A_CONTROL_TARGET_NODE_PCI 2249,174536 -#define NV_PGRAPH_DMA_A_CONTROL_TARGET_NODE_AGP 2250,174616 -#define NV_PGRAPH_DMA_A_CONTROL_ADJUST 2251,174696 -#define NV_PGRAPH_DMA_A_LIMIT 2252,174776 -#define NV_PGRAPH_DMA_A_LIMIT_OFFSET 2253,174856 -#define NV_PGRAPH_DMA_A_TLB_PTE 2254,174936 -#define NV_PGRAPH_DMA_A_TLB_PTE_ACCESS 2255,175016 -#define NV_PGRAPH_DMA_A_TLB_PTE_ACCESS_READ_ONLY 2256,175096 -#define NV_PGRAPH_DMA_A_TLB_PTE_ACCESS_READ_WRITE 2257,175176 -#define NV_PGRAPH_DMA_A_TLB_PTE_FRAME_ADDRESS 2258,175256 -#define NV_PGRAPH_DMA_A_TLB_TAG 2259,175336 -#define NV_PGRAPH_DMA_A_TLB_TAG_ADDRESS 2260,175416 -#define NV_PGRAPH_DMA_A_ADJ_OFFSET 2261,175496 -#define NV_PGRAPH_DMA_A_ADJ_OFFSET_VALUE 2262,175576 -#define NV_PGRAPH_DMA_A_OFFSET 2263,175656 -#define NV_PGRAPH_DMA_A_OFFSET_VALUE 2264,175736 -#define NV_PGRAPH_DMA_A_SIZE 2265,175816 -#define NV_PGRAPH_DMA_A_SIZE_VALUE 2266,175896 -#define NV_PGRAPH_DMA_A_Y_SIZE 2267,175976 -#define NV_PGRAPH_DMA_A_Y_SIZE_VALUE 2268,176056 -#define NV_PGRAPH_DMA_B_XLATE_INST 2269,176136 -#define NV_PGRAPH_DMA_B_XLATE_INST_VALUE 2270,176216 -#define NV_PGRAPH_DMA_B_CONTROL 2271,176296 -#define NV_PGRAPH_DMA_B_CONTROL_PAGE_TABLE 2272,176376 -#define NV_PGRAPH_DMA_B_CONTROL_PAGE_TABLE_NOT_PRESENT 2273,176456 -#define NV_PGRAPH_DMA_B_CONTROL_PAGE_TABLE_PRESENT 2274,176536 -#define NV_PGRAPH_DMA_B_CONTROL_PAGE_ENTRY 2275,176616 -#define NV_PGRAPH_DMA_B_CONTROL_PAGE_ENTRY_NOT_LINEAR 2276,176696 -#define NV_PGRAPH_DMA_B_CONTROL_PAGE_ENTRY_LINEAR 2277,176776 -#define NV_PGRAPH_DMA_B_CONTROL_TARGET_NODE 2278,176856 -#define NV_PGRAPH_DMA_B_CONTROL_TARGET_NODE_NVM 2279,176936 -#define NV_PGRAPH_DMA_B_CONTROL_TARGET_NODE_PCI 2280,177016 -#define NV_PGRAPH_DMA_B_CONTROL_TARGET_NODE_AGP 2281,177096 -#define NV_PGRAPH_DMA_B_CONTROL_ADJUST 2282,177176 -#define NV_PGRAPH_DMA_B_LIMIT 2283,177256 -#define NV_PGRAPH_DMA_B_LIMIT_OFFSET 2284,177336 -#define NV_PGRAPH_DMA_B_TLB_PTE 2285,177416 -#define NV_PGRAPH_DMA_B_TLB_PTE_ACCESS 2286,177496 -#define NV_PGRAPH_DMA_B_TLB_PTE_ACCESS_READ_ONLY 2287,177576 -#define NV_PGRAPH_DMA_B_TLB_PTE_ACCESS_READ_WRITE 2288,177656 -#define NV_PGRAPH_DMA_B_TLB_PTE_FRAME_ADDRESS 2289,177736 -#define NV_PGRAPH_DMA_B_TLB_TAG 2290,177816 -#define NV_PGRAPH_DMA_B_TLB_TAG_ADDRESS 2291,177896 -#define NV_PGRAPH_DMA_B_ADJ_OFFSET 2292,177976 -#define NV_PGRAPH_DMA_B_ADJ_OFFSET_VALUE 2293,178056 -#define NV_PGRAPH_DMA_B_OFFSET 2294,178136 -#define NV_PGRAPH_DMA_B_OFFSET_VALUE 2295,178216 -#define NV_PGRAPH_DMA_B_SIZE 2296,178296 -#define NV_PGRAPH_DMA_B_SIZE_VALUE 2297,178376 -#define NV_PGRAPH_DMA_B_Y_SIZE 2298,178456 -#define NV_PGRAPH_DMA_B_Y_SIZE_VALUE 2299,178536 -#define NV_PFB 2302,178645 -#define NV_PFB_BOOT_0 2303,178725 -#define NV_PFB_BOOT_0_RAM_AMOUNT 2304,178805 -#define NV_PFB_BOOT_0_RAM_AMOUNT_32MB 2305,178885 -#define NV_PFB_BOOT_0_RAM_AMOUNT_4MB 2306,178965 -#define NV_PFB_BOOT_0_RAM_AMOUNT_8MB 2307,179045 -#define NV_PFB_BOOT_0_RAM_AMOUNT_16MB 2308,179125 -#define NV_PFB_BOOT_0_RAM_WIDTH_128 2309,179205 -#define NV_PFB_BOOT_0_RAM_WIDTH_128_OFF 2310,179285 -#define NV_PFB_BOOT_0_RAM_WIDTH_128_ON 2311,179365 -#define NV_PFB_BOOT_0_RAM_TYPE 2312,179445 -#define NV_PFB_BOOT_0_RAM_TYPE_256K 2313,179525 -#define NV_PFB_BOOT_0_RAM_TYPE_512K_2BANK 2314,179605 -#define NV_PFB_BOOT_0_RAM_TYPE_512K_4BANK 2315,179685 -#define NV_PFB_BOOT_0_RAM_TYPE_1024K_2BANK 2316,179765 -#define NV_PFB_CONFIG_0 2317,179845 -#define NV_PFB_CONFIG_0_TYPE 2318,179925 -#define NV_PFB_CONFIG_0_TYPE_OLD1024_FIXED_8BPP 2319,180005 -#define NV_PFB_CONFIG_0_TYPE_OLD1024_FIXED_16BPP 2320,180085 -#define NV_PFB_CONFIG_0_TYPE_OLD1024_FIXED_32BPP 2321,180165 -#define NV_PFB_CONFIG_0_TYPE_OLD1024_VAR_8BPP 2322,180245 -#define NV_PFB_CONFIG_0_TYPE_OLD1024_VAR_16BPP 2323,180325 -#define NV_PFB_CONFIG_0_TYPE_OLD1024_VAR_32BPP 2324,180405 -#define NV_PFB_CONFIG_0_TYPE_TETRIS 2325,180485 -#define NV_PFB_CONFIG_0_TYPE_NOTILING 2326,180565 -#define NV_PFB_CONFIG_0_TETRIS_MODE 2327,180645 -#define NV_PFB_CONFIG_0_TETRIS_MODE_PASS 2328,180725 -#define NV_PFB_CONFIG_0_TETRIS_MODE_1 2329,180805 -#define NV_PFB_CONFIG_0_TETRIS_MODE_2 2330,180885 -#define NV_PFB_CONFIG_0_TETRIS_MODE_3 2331,180965 -#define NV_PFB_CONFIG_0_TETRIS_MODE_4 2332,181045 -#define NV_PFB_CONFIG_0_TETRIS_MODE_5 2333,181125 -#define NV_PFB_CONFIG_0_TETRIS_MODE_6 2334,181205 -#define NV_PFB_CONFIG_0_TETRIS_MODE_7 2335,181285 -#define NV_PFB_CONFIG_0_TETRIS_SHIFT 2336,181365 -#define NV_PFB_CONFIG_0_TETRIS_SHIFT_0 2337,181445 -#define NV_PFB_CONFIG_0_TETRIS_SHIFT_1 2338,181525 -#define NV_PFB_CONFIG_0_TETRIS_SHIFT_2 2339,181605 -#define NV_PFB_CONFIG_0_BANK_SWAP 2340,181685 -#define NV_PFB_CONFIG_0_BANK_SWAP_OFF 2341,181765 -#define NV_PFB_CONFIG_0_BANK_SWAP_1M 2342,181845 -#define NV_PFB_CONFIG_0_BANK_SWAP_2M 2343,181925 -#define NV_PFB_CONFIG_0_BANK_SWAP_4M 2344,182005 -#define NV_PFB_CONFIG_0_UNUSED 2345,182085 -#define NV_PFB_CONFIG_0_SCRAMBLE_EN 2346,182165 -#define NV_PFB_CONFIG_0_SCRAMBLE_EN_INIT 2347,182245 -#define NV_PFB_CONFIG_0_SCRAMBLE_ACTIVE 2348,182325 -#define NV_PFB_CONFIG_0_PRAMIN_WR 2349,182405 -#define NV_PFB_CONFIG_0_PRAMIN_WR_INIT 2350,182485 -#define NV_PFB_CONFIG_0_PRAMIN_WR_DISABLED 2351,182565 -#define NV_PFB_CONFIG_0_PRAMIN_WR_MASK 2352,182645 -#define NV_PFB_CONFIG_0_PRAMIN_WR_MASK_INIT 2353,182725 -#define NV_PFB_CONFIG_0_PRAMIN_WR_MASK_CLEAR 2354,182805 -#define NV_PFB_CONFIG_1 2355,182885 -#define NV_PFB_RTL 2356,182965 -#define NV_PFB_RTL_H 2357,183045 -#define NV_PFB_RTL_H_DEFAULT 2358,183125 -#define NV_PFB_RTL_MC 2359,183205 -#define NV_PFB_RTL_MC_DEFAULT 2360,183285 -#define NV_PFB_RTL_V 2361,183365 -#define NV_PFB_RTL_V_DEFAULT 2362,183445 -#define NV_PFB_RTL_G 2363,183525 -#define NV_PFB_RTL_G_DEFAULT 2364,183605 -#define NV_PFB_RTL_GB 2365,183685 -#define NV_PFB_RTL_GB_DEFAULT 2366,183765 -#define NV_PFB_CONFIG_0_RESOLUTION 2367,183845 -#define NV_PFB_CONFIG_0_RESOLUTION_320_PIXELS 2368,183925 -#define NV_PFB_CONFIG_0_RESOLUTION_400_PIXELS 2369,184005 -#define NV_PFB_CONFIG_0_RESOLUTION_480_PIXELS 2370,184085 -#define NV_PFB_CONFIG_0_RESOLUTION_512_PIXELS 2371,184165 -#define NV_PFB_CONFIG_0_RESOLUTION_640_PIXELS 2372,184245 -#define NV_PFB_CONFIG_0_RESOLUTION_800_PIXELS 2373,184325 -#define NV_PFB_CONFIG_0_RESOLUTION_960_PIXELS 2374,184405 -#define NV_PFB_CONFIG_0_RESOLUTION_1024_PIXELS 2375,184485 -#define NV_PFB_CONFIG_0_RESOLUTION_1152_PIXELS 2376,184565 -#define NV_PFB_CONFIG_0_RESOLUTION_1280_PIXELS 2377,184645 -#define NV_PFB_CONFIG_0_RESOLUTION_1600_PIXELS 2378,184725 -#define NV_PFB_CONFIG_0_RESOLUTION_DEFAULT 2379,184805 -#define NV_PFB_CONFIG_0_PIXEL_DEPTH 2380,184885 -#define NV_PFB_CONFIG_0_PIXEL_DEPTH_8_BITS 2381,184965 -#define NV_PFB_CONFIG_0_PIXEL_DEPTH_16_BITS 2382,185045 -#define NV_PFB_CONFIG_0_PIXEL_DEPTH_32_BITS 2383,185125 -#define NV_PFB_CONFIG_0_PIXEL_DEPTH_DEFAULT 2384,185205 -#define NV_PFB_CONFIG_0_TILING 2385,185285 -#define NV_PFB_CONFIG_0_TILING_ENABLED 2386,185365 -#define NV_PFB_CONFIG_0_TILING_DISABLED 2387,185445 -#define NV_PFB_CONFIG_1_SGRAM100 2388,185525 -#define NV_PFB_CONFIG_1_SGRAM100_ENABLED 2389,185605 -#define NV_PFB_CONFIG_1_SGRAM100_DISABLED 2390,185685 -#define NV_PFB_DEBUG_0_CKE_ALWAYSON 2391,185765 -#define NV_PFB_DEBUG_0_CKE_ALWAYSON_OFF 2392,185845 -#define NV_PFB_DEBUG_0_CKE_ALWAYSON_ON 2393,185925 -#define NV_PEXTDEV 2395,186006 -#define NV_PEXTDEV_BOOT_0 2396,186086 -#define NV_PEXTDEV_BOOT_0_STRAP_BUS_SPEED 2397,186166 -#define NV_PEXTDEV_BOOT_0_STRAP_BUS_SPEED_33MHZ 2398,186246 -#define NV_PEXTDEV_BOOT_0_STRAP_BUS_SPEED_66MHZ 2399,186326 -#define NV_PEXTDEV_BOOT_0_STRAP_SUB_VENDOR 2400,186406 -#define NV_PEXTDEV_BOOT_0_STRAP_SUB_VENDOR_NO_BIOS 2401,186486 -#define NV_PEXTDEV_BOOT_0_STRAP_SUB_VENDOR_BIOS 2402,186566 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_TYPE 2403,186646 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_TYPE_SGRAM_256K 2404,186726 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_TYPE_SGRAM_512K_2BANK 2405,186806 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_TYPE_SGRAM_512K_4BANK 2406,186887 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_TYPE_1024K_2BANK 2407,186968 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_WIDTH 2408,187048 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_WIDTH_64 2409,187128 -#define NV_PEXTDEV_BOOT_0_STRAP_RAM_WIDTH_128 2410,187208 -#define NV_PEXTDEV_BOOT_0_STRAP_BUS_TYPE 2411,187288 -#define NV_PEXTDEV_BOOT_0_STRAP_BUS_TYPE_PCI 2412,187368 -#define NV_PEXTDEV_BOOT_0_STRAP_BUS_TYPE_AGP 2413,187448 -#define NV_PEXTDEV_BOOT_0_STRAP_CRYSTAL 2414,187528 -#define NV_PEXTDEV_BOOT_0_STRAP_CRYSTAL_13500K 2415,187608 -#define NV_PEXTDEV_BOOT_0_STRAP_CRYSTAL_14318180 2416,187688 -#define NV_PEXTDEV_BOOT_0_STRAP_TVMODE 2417,187768 -#define NV_PEXTDEV_BOOT_0_STRAP_TVMODE_SECAM 2418,187848 -#define NV_PEXTDEV_BOOT_0_STRAP_TVMODE_NTSC 2419,187928 -#define NV_PEXTDEV_BOOT_0_STRAP_TVMODE_PAL 2420,188008 -#define NV_PEXTDEV_BOOT_0_STRAP_TVMODE_DISABLED 2421,188088 -#define NV_PEXTDEV_BOOT_0_STRAP_OVERWRITE 2422,188168 -#define NV_PEXTDEV_BOOT_0_STRAP_OVERWRITE_DISABLED 2423,188248 -#define NV_PEXTDEV_BOOT_0_STRAP_OVERWRITE_ENABLED 2424,188328 -#define NV_PRAMIN 2427,188422 -#define NV_PNVM 2429,188574 -#define NV_CHAN0 2431,188726 -#define NV_UROP 2434,188818 -#define NV_UCHROMA 2435,188869 -#define NV_UCLIP 2436,188920 -#define NV_UPATT 2437,188971 -#define NV_ULIN 2438,189022 -#define NV_UTRI 2439,189073 -#define NV_URECT 2440,189124 -#define NV_UBLIT 2441,189175 -#define NV_UGLYPH 2442,189226 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/riva_hw.c,2265 -static int nv3Busy60,3734 -static int nv4Busy67,3882 -static int nv10Busy74,4030 -static void vgaLockUnlock82,4180 -static void nv3LockUnlock95,4445 -static void nv4LockUnlock105,4649 -static int ShowHideCursor116,4854 -#define DEFAULT_GR_LWM 139,5829 -#define DEFAULT_VID_LWM 140,5856 -#define DEFAULT_GR_BURST_SIZE 141,5884 -#define DEFAULT_VID_BURST_SIZE 142,5918 -#define VIDEO 143,5953 -#define GRAPHICS 144,5970 -#define MPORT 145,5989 -#define ENGINE 146,6006 -#define GFIFO_SIZE 147,6024 -#define GFIFO_SIZE_128 148,6047 -#define MFIFO_SIZE 149,6074 -#define VFIFO_SIZE 150,6097 -} nv3_arb_info;nv3_arb_info174,6524 -} nv3_fifo_info;nv3_fifo_info184,6729 -} nv3_sim_state;nv3_sim_state197,6971 -} nv4_fifo_info;nv4_fifo_info204,7106 -} nv4_sim_state;nv4_sim_state217,7348 -} nv10_fifo_info;nv10_fifo_info224,7483 -} nv10_sim_state;nv10_sim_state238,7745 -static int nv3_iterate(239,7763 -static char nv3_arb(424,14852 -static char nv3_get_param(531,19068 -static void nv3CalcArbitration 558,19767 -static void nv3UpdateArbitrationSettings606,21366 -static void nv4CalcArbitration 649,22576 -static void nv4UpdateArbitrationSettings793,26783 -static void nv10CalcArbitration 833,28173 -static void nv10UpdateArbitrationSettings1054,35450 -static void nForceUpdateArbitrationSettings1096,36917 -static int CalcVClock1156,38871 -static void CalcStateExt1219,40458 -#define LOAD_FIXED_STATE(LOAD_FIXED_STATE1323,44382 -#define LOAD_FIXED_STATE_8BPP(LOAD_FIXED_STATE_8BPP1326,44591 -#define LOAD_FIXED_STATE_15BPP(LOAD_FIXED_STATE_15BPP1329,44816 -#define LOAD_FIXED_STATE_16BPP(LOAD_FIXED_STATE_16BPP1332,45043 -#define LOAD_FIXED_STATE_32BPP(LOAD_FIXED_STATE_32BPP1335,45270 -static void UpdateFifoState1338,45497 -static void LoadStateExt1365,46204 -static void UnloadStateExt1700,60447 -static void SetStartAddress1789,64285 -static void SetStartAddress31798,64404 -static void nv3SetSurfaces2D1830,65340 -static void nv4SetSurfaces2D1846,65750 -static void nv10SetSurfaces2D1861,66125 -static void nv3SetSurfaces3D1876,66501 -static void nv4SetSurfaces3D1892,66911 -static void nv10SetSurfaces3D1907,67286 -static void nv3GetConfig1929,68092 -static void nv4GetConfig2001,70230 -static void nv10GetConfig2059,71926 -int RivaGetConfig2169,74998 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/riva_hw.h,1391 -#define __RIVA_HW_H__49,3460 -#define RIVA_SW_VERSION 50,3482 -typedef int Bool;Bool53,3531 -#define TRUE 57,3570 -#define FALSE 60,3606 -#define NULL 63,3642 -typedef unsigned char U008;U00869,3715 -typedef unsigned short U016;U01670,3744 -typedef unsigned int U032;U03271,3773 -#define NV_WR08(NV_WR0878,3876 -#define NV_RD08(NV_RD0879,3913 -#define NV_WR08(NV_WR0881,3950 -#define NV_RD08(NV_RD0882,3997 -#define NV_WR16(NV_WR1684,4047 -#define NV_RD16(NV_RD1685,4098 -#define NV_WR32(NV_WR3286,4145 -#define NV_RD32(NV_RD3287,4196 -#define VGA_WR08(VGA_WR0888,4243 -#define VGA_RD08(VGA_RD0889,4282 -#define NV_ARCH_03 94,4362 -#define NV_ARCH_04 95,4387 -#define NV_ARCH_10 96,4412 -#define NV_ARCH_20 97,4437 -#define NV_ARCH_30 98,4462 -#define NV_ARCH_40 99,4487 -} RivaRop;121,5130 -} RivaPattern;140,5440 -} RivaClip;156,5692 -} RivaRectangle;174,5985 -} RivaScreenBlt;191,6261 -} RivaPixmap;210,6577 -} RivaBitmap;276,7864 -} RivaTexturedTriangle03;309,8464 -} RivaTexturedTriangle05;344,9135 -} RivaLine;379,10873 -} RivaSurface;394,11090 -} RivaSurface3D;408,11337 -#define FP_ENABLE 416,11750 -#define FP_DITHER 417,11771 -typedef struct _riva_hw_inst_riva_hw_inst424,11911 -} RIVA_HW_INST;RIVA_HW_INST493,13909 -typedef struct _riva_hw_state_riva_hw_state497,13968 -} RIVA_HW_STATE;RIVA_HW_STATE533,14603 -#define RIVA_FIFO_FREE(RIVA_FIFO_FREE542,14777 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/nv_type.h,1884 -#define __NV_STRUCT_H__4,135 -#define NV_CHIP_RIVA_128 6,160 -#define NV_CHIP_TNT 7,261 -#define NV_CHIP_TNT2 8,354 -#define NV_CHIP_UTNT2 9,448 -#define NV_CHIP_VTNT2 10,543 -#define NV_CHIP_UVTNT2 11,638 -#define NV_CHIP_ITNT2 12,734 -#define NV_CHIP_GEFORCE_256 13,829 -#define NV_CHIP_GEFORCE_DDR 14,930 -#define NV_CHIP_QUADRO 15,1031 -#define NV_CHIP_GEFORCE2_MX 16,1127 -#define NV_CHIP_GEFORCE2_MX_100 17,1229 -#define NV_CHIP_QUADRO2_MXR 18,1335 -#define NV_CHIP_GEFORCE2_GO 19,1437 -#define NV_CHIP_GEFORCE2_GTS 20,1539 -#define NV_CHIP_GEFORCE2_TI 21,1642 -#define NV_CHIP_GEFORCE2_ULTRA 22,1744 -#define NV_CHIP_QUADRO2_PRO 23,1849 -#define NV_CHIP_GEFORCE4_MX_460 24,1951 -#define NV_CHIP_GEFORCE4_MX_440 25,2057 -#define NV_CHIP_GEFORCE4_MX_420 26,2163 -#define NV_CHIP_GEFORCE4_440_GO 27,2269 -#define NV_CHIP_GEFORCE4_420_GO 28,2375 -#define NV_CHIP_GEFORCE4_420_GO_M32 29,2481 -#define NV_CHIP_QUADRO4_500XGL 30,2591 -#define NV_CHIP_GEFORCE4_440_GO_M64 31,2696 -#define NV_CHIP_QUADRO4_200 32,2806 -#define NV_CHIP_QUADRO4_550XGL 33,2908 -#define NV_CHIP_QUADRO4_500_GOGL 34,3013 -#define NV_CHIP_0x0180 35,3120 -#define NV_CHIP_0x0181 36,3196 -#define NV_CHIP_0x0182 37,3272 -#define NV_CHIP_0x0188 38,3348 -#define NV_CHIP_0x018A 39,3424 -#define NV_CHIP_0x018B 40,3500 -#define NV_CHIP_IGEFORCE2 41,3576 -#define NV_CHIP_0x01F0 42,3676 -#define NV_CHIP_GEFORCE3 43,3752 -#define NV_CHIP_GEFORCE3_TI_200 44,3851 -#define NV_CHIP_GEFORCE3_TI_500 45,3957 -#define NV_CHIP_QUADRO_DCC 46,4063 -#define NV_CHIP_GEFORCE4_TI_4600 47,4164 -#define NV_CHIP_GEFORCE4_TI_4400 48,4271 -#define NV_CHIP_GEFORCE4_TI_4200 49,4378 -#define NV_CHIP_QUADRO4_900XGL 50,4485 -#define NV_CHIP_QUADRO4_750XGL 51,4590 -#define NV_CHIP_QUADRO4_700XGL 52,4695 -#define NV_CHIP_0x0280 53,4800 -#define NV_CHIP_0x0281 54,4876 -#define NV_CHIP_0x0288 55,4952 -#define NV_CHIP_0x0289 56,5028 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/riva/fbdev.c,3185 -#define RIVAFB_VERSION 63,1572 -#define NVTRACE 71,1838 -#define NVTRACE 73,1876 -#define NVTRACE_ENTER(NVTRACE_ENTER76,1922 -#define NVTRACE_LEAVE(NVTRACE_LEAVE77,1986 -#define assert(assert80,2077 -#define assert(assert87,2228 -#define PFX 90,2257 -#define SetBitField(SetBitField93,2330 -#define SetBit(SetBit94,2393 -#define Set8Bits(Set8Bits95,2421 -#define MAX_CURS 98,2489 -static struct pci_device_id rivafb_pci_tbl[114,2939 -static int flatpanel __initdata 206,7208 -static int forceCRTC __initdata 207,7269 -static int nomtrr __initdata 209,7326 -static char *mode_option __initdata 212,7368 -static int strictmode 213,7412 -static struct fb_fix_screeninfo __initdata rivafb_fix 215,7447 -static struct fb_var_screeninfo __initdata rivafb_default_var 221,7574 -static const struct riva_regs reg_template 246,8106 -static int riva_backlight_levels[271,8973 -static struct backlight_controller riva_backlight_controller 292,9321 -static inline void CRTCout(304,9667 -static inline unsigned char CRTCin(311,9847 -static inline void GRAout(318,10021 -static inline unsigned char GRAin(325,10199 -static inline void SEQout(332,10371 -static inline unsigned char SEQin(339,10549 -static inline void ATTRout(346,10721 -static inline unsigned char ATTRin(353,10901 -static inline void MISCout(360,11075 -static inline unsigned char MISCin(365,11187 -static u8 byte_rev[370,11292 -static inline void reverse_order(405,12892 -static void rivafb_load_cursor_image(438,13913 -static void riva_wclut(490,15024 -static void riva_rclut(514,15628 -static void riva_save_state(537,16209 -static void riva_load_state(576,17053 -static void riva_load_video_mode(621,17974 -static void riva_update_var(763,22831 -static int rivafb_do_maximize(800,23807 -riva_set_pattern(887,26430 -inline void wait_for_idle(897,26735 -riva_set_rop_solid(906,26903 -void riva_setup_accel(914,27109 -static int riva_get_cmap_len(939,27678 -static int riva_set_backlight_enable(967,28310 -static int riva_set_backlight_level(984,28807 -static int rivafb_open(996,29149 -static int rivafb_release(1024,29895 -static int rivafb_check_var(1046,30420 -static int rivafb_set_par(1155,33166 -static int rivafb_pan_display(1191,34232 -static int rivafb_blank(1228,35194 -static int rivafb_setcolreg(1285,36339 -static void rivafb_fillrect(1376,38605 -static void rivafb_copyarea(1427,39738 -static inline void convert_bgcolor_16(1439,40129 -static void rivafb_imageblit(1464,40854 -static int rivafb_cursor(1550,43144 -static int rivafb_sync(1629,45400 -static struct fb_ops riva_fb_ops 1644,45761 -static int __devinit riva_set_fbinfo(1660,46214 -static int __devinit riva_get_EDID_OF(1692,47120 -static int __devinit riva_get_EDID_i2c(1725,48006 -static void __devinit riva_update_default_var(1744,48438 -static void __devinit riva_get_EDID(1779,49284 -static void __devinit riva_get_edidinfo(1793,49641 -static u32 __devinit riva_get_arch(1814,50297 -static int __devinit rivafb_probe(1852,51292 -static void __exit rivafb_remove(2051,56742 -int __init rivafb_setup(2093,57706 -static struct pci_driver rivafb_driver 2126,58400 -int __devinit rivafb_init(2141,58744 -static void __exit rivafb_exit(2160,59064 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/tdfxfb.c,2417 -#define DPRINTK(DPRINTK83,2959 -#define DPRINTK(DPRINTK85,3042 -#define BANSHEE_MAX_PIXCLOCK 88,3075 -#define VOODOO3_MAX_PIXCLOCK 89,3111 -#define VOODOO5_MAX_PIXCLOCK 90,3147 -static struct fb_fix_screeninfo tdfx_fix __initdata 92,3184 -static struct fb_var_screeninfo tdfx_var __initdata 101,3394 -static struct pci_device_id tdfxfb_id_table[132,4092 -static struct pci_driver tdfxfb_driver 145,4532 -static struct fb_ops tdfxfb_ops 173,5596 -static int nopan 203,6385 -static int nowrap 204,6410 -static int inverse 205,6465 -static char *mode_option __initdata 206,6490 -static inline u8 vga_inb(213,6764 -static inline u16 vga_inw(214,6842 -static inline u16 vga_inl(215,6920 -static inline void vga_outb(217,6999 -static inline void vga_outw(218,7087 -static inline void vga_outl(219,7175 -static inline u8 vga_inb(221,7269 -static inline u16 vga_inw(224,7372 -static inline u16 vga_inl(227,7475 -static inline void vga_outb(230,7578 -static inline void vga_outw(233,7691 -static inline void vga_outl(236,7804 -static inline void gra_outb(241,7925 -static inline u8 gra_inb(245,8052 -static inline void seq_outb(249,8169 -static inline u8 seq_inb(253,8296 -static inline void crt_outb(257,8413 -static inline u8 crt_inb(261,8540 -static inline void att_outb(265,8657 -static inline u8 att_inb(274,8838 -static inline void vga_disable_video(283,9008 -static inline void vga_enable_video(293,9204 -static inline void vga_disable_palette(303,9399 -static inline void vga_enable_palette(309,9517 -static inline u32 tdfx_inl(315,9634 -static inline void tdfx_outl(320,9747 -static inline void banshee_make_room(325,9869 -static int banshee_wait_idle(332,10093 -static inline void do_setpalentry(350,10452 -static u32 do_calc_pll(357,10628 -static void do_write_regs(386,11304 -static unsigned long do_lfb_size(451,13110 -static int tdfxfb_check_var(492,14314 -static int tdfxfb_set_par(581,16799 -#define CNVT_TOHW(CNVT_TOHW800,22613 -static int tdfxfb_setcolreg(802,22681 -static int tdfxfb_blank(833,23767 -static int tdfxfb_pan_display(877,24763 -static void tdfxfb_fillrect(901,25391 -static void tdfxfb_copyarea(930,26331 -static void tdfxfb_imageblit(963,27282 -static int tdfxfb_cursor(1033,29439 -static int __devinit tdfxfb_probe(1180,33948 -static void __devexit tdfxfb_remove(1343,38662 -int __init tdfxfb_init(1363,39263 -static void __exit tdfxfb_exit(1376,39472 -void tdfxfb_setup(1390,39760 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/sbuslib.c,192 -void sbusfb_fill_var(17,315 -static unsigned long sbusfb_mmapsize(30,671 -int sbusfb_mmap_helper(37,841 -#define POFF_MASK 64,1639 -#define POFF_MASK 66,1681 -int sbusfb_ioctl_helper(90,2127 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/chipsfb.c,1724 -static struct fb_info chipsfb_info;45,1177 -#define write_ind(write_ind47,1214 -#define read_ind(read_ind50,1310 -#define write_xr(write_xr55,1430 -#define read_xr(read_xr56,1491 -#define write_fr(write_fr58,1577 -#define read_fr(read_fr59,1638 -#define write_cr(write_cr61,1718 -#define read_cr(read_cr62,1779 -#define write_gr(write_gr64,1863 -#define read_gr(read_gr65,1924 -#define write_sr(write_sr67,2009 -#define read_sr(read_sr68,2070 -#define write_ar(write_ar70,2174 -#define read_ar(read_ar73,2270 -static unsigned char *save_framebuffer;78,2390 -static struct pmu_sleep_notifier chips_sleep_notifier 80,2497 -static struct fb_ops chipsfb_ops 98,3061 -static int chipsfb_check_var(110,3377 -static int chipsfb_set_par(126,3826 -static int chipsfb_blank(162,4870 -static int chipsfb_setcolreg(173,5223 -struct chips_init_reg chips_init_reg190,5524 -#define N_ELTS(N_ELTS195,5594 -static struct chips_init_reg chips_init_sr[197,5640 -static struct chips_init_reg chips_init_gr[204,5760 -static struct chips_init_reg chips_init_ar[210,5863 -static struct chips_init_reg chips_init_cr[216,5966 -static struct chips_init_reg chips_init_fr[247,6494 -static struct chips_init_reg chips_init_xr[275,7025 -static void __init chips_hw_init(300,7509 -static struct fb_fix_screeninfo chipsfb_fix __initdata 319,8226 -static struct fb_var_screeninfo chipsfb_var __initdata 336,8849 -static void __init init_chips(357,9284 -chipsfb_pci_init(381,9787 -static void __devexit chipsfb_remove(433,11112 -static struct pci_device_id chipsfb_pci_tbl[449,11541 -static struct pci_driver chipsfb_driver 456,11717 -int __init chips_init(463,11884 -static void __exit chipsfb_exit(473,12042 -chips_sleep_notify(484,12265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/cfbfillrect.c,714 -#define FB_WRITEL 27,823 -#define FB_READL 28,851 -#define BYTES_PER_LONG 29,878 -#define SHIFT_PER_LONG 30,903 -#define FB_WRITEL 32,934 -#define FB_READL 33,962 -#define BYTES_PER_LONG 34,989 -#define SHIFT_PER_LONG 35,1014 -#define EXP1(EXP138,1047 -#define EXP2(EXP239,1078 -#define EXP4(EXP440,1109 -typedef u32 pixel_t;pixel_t42,1147 -static const u32 bpp1tab[44,1169 -static const u32 bpp2tab[48,1226 -static const u32 bpp4tab[52,1301 -static inline unsigned long comp(62,1622 -static inline u32 pixel_to_pat32(68,1752 -static inline unsigned long pixel_to_pat(102,2308 -void bitfill32(122,2780 -void bitfill(181,4058 -void bitfill32_rev(231,5139 -void bitfill_rev(303,6712 -void cfb_fillrect(362,7987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/vesafb.c,791 -#define dac_reg 28,601 -#define dac_val 29,625 -static struct fb_var_screeninfo vesafb_defined __initdata 33,727 -static struct fb_fix_screeninfo vesafb_fix __initdata 44,968 -static int inverse 50,1106 -static int mtrr 51,1144 -static int vram __initdata 52,1182 -static int pmi_setpal 53,1259 -static int ypan 54,1332 -static unsigned short *pmi_base 55,1408 -static int vesafb_pan_display(61,1612 -static void vesa_setpalette(90,2405 -static int vesafb_setcolreg(121,3392 -static struct fb_ops vesafb_ops 176,4756 -int __init vesafb_setup(186,5013 -static int __init vesafb_probe(218,5730 -static struct device_driver vesafb_driver 400,12247 -static struct platform_device vesafb_device 406,12368 -int __init vesafb_init(410,12439 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/video/dnfb.c,1808 -#define AP_IOBASE 30,697 -#define AP_STATUS 31,764 -#define AP_WRITE_ENABLE 32,840 -#define AP_DEVICE_ID 33,921 -#define AP_ROP_1 34,999 -#define AP_DIAG_MEM_REQ 35,1085 -#define AP_CONTROL_0 36,1176 -#define AP_CONTROL_1 37,1261 -#define AP_CONTROL_3A 38,1348 -#define AP_CONTROL_2 39,1435 -#define FRAME_BUFFER_START 42,1523 -#define FRAME_BUFFER_LEN 43,1560 -#define VECTOR_MODE 46,1607 -#define DBLT_MODE 47,1648 -#define NORMAL_MODE 48,1689 -#define SHIFT_BITS 49,1730 -#define AD_BLT 53,1819 -#define NORMAL 54,1860 -#define INVERSE 55,1933 -#define PIX_BLT 56,2014 -#define AD_HIBIT 58,2056 -#define ROP_EN 60,2102 -#define DST_EQ_SRC 61,2147 -#define nRESET_SYNC 62,2192 -#define SYNC_ENAB 63,2237 -#define BLANK_DISP 65,2283 -#define ENAB_DISP 66,2328 -#define NORM_CREG1 68,2374 -#define S_DATA_1s 76,2534 -#define S_DATA_PIX 77,2621 -#define S_DATA_PLN 78,2722 -# define RESET_CREG 82,2861 -#define ROP(ROP86,3007 -#define DEST_ZERO 87,3083 -#define SRC_AND_DEST 88,3119 -#define SRC_AND_nDEST 89,3147 -#define SRC 90,3175 -#define nSRC_AND_DEST 91,3219 -#define DEST 92,3247 -#define SRC_XOR_DEST 93,3283 -#define SRC_OR_DEST 94,3311 -#define SRC_NOR_DEST 95,3347 -#define SRC_XNOR_DEST 96,3375 -#define nDEST 97,3403 -#define SRC_OR_nDEST 98,3439 -#define nSRC 99,3467 -#define nSRC_OR_DEST 100,3503 -#define SRC_NAND_DEST 101,3531 -#define DEST_ONE 102,3559 -#define SWAP(SWAP104,3596 -static struct fb_ops dn_fb_ops 111,3808 -struct fb_var_screeninfo dnfb_var __devinitdata 120,4016 -static struct fb_fix_screeninfo dnfb_fix __devinitdata 131,4238 -static int dnfb_blank(140,4486 -void dnfb_copyarea(150,4640 -static int __devinit dnfb_probe(229,6577 -static struct device_driver dnfb_driver 273,7666 -static struct platform_device dnfb_device 279,7781 -int __init dnfb_init(283,7848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/atm/usb_atm.c,1679 -# define DEBUG92,3161 -#define UDSL_ASSERT(UDSL_ASSERT98,3221 -#define UDSL_ASSERT(UDSL_ASSERT100,3263 -#define PACKETDEBUG(PACKETDEBUG105,3463 -#define vdbg(vdbg106,3515 -#define PACKETDEBUG(PACKETDEBUG108,3553 -#define vdbg(vdbg109,3581 -#define DRIVER_AUTHOR 112,3610 -#define DRIVER_VERSION 113,3685 -#define DRIVER_DESC 114,3714 -static unsigned int num_rcv_urbs 116,3791 -static unsigned int num_snd_urbs 117,3849 -static unsigned int num_rcv_bufs 118,3907 -static unsigned int num_snd_bufs 119,3965 -static unsigned int rcv_buf_size 120,4023 -static unsigned int snd_buf_size 121,4085 -static struct atmdev_ops udsl_atm_devops 168,5917 -static inline void udsl_pop(182,6202 -static inline struct udsl_vcc_data *udsl_find_vcc(194,6388 -static void udsl_extract_cells(205,6665 -static const unsigned char zeros[314,9794 -static void udsl_groom_skb(316,9847 -static unsigned int udsl_write_cells(355,11021 -static void udsl_complete_receive(429,13057 -static void udsl_process_receive(459,14041 -static void udsl_complete_send(523,16018 -static void udsl_process_send(545,16706 -static void udsl_cancel_send(644,19707 -static int udsl_atm_send(671,20565 -static void udsl_destroy_instance(714,21420 -void udsl_get_instance(725,21714 -void udsl_put_instance(730,21811 -static void udsl_atm_dev_close(739,21968 -static int udsl_atm_proc_read(747,22133 -static int udsl_atm_open(805,23639 -static void udsl_atm_close(881,25584 -static int udsl_atm_ioctl(921,26519 -int udsl_instance_setup(936,26788 -void udsl_instance_disconnect(1088,30527 -static int __init udsl_usb_init(1149,32000 -static void __exit udsl_usb_exit(1169,32547 -static int udsl_print_packet(1186,32831 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/atm/speedtch.c,2014 -# define DEBUG53,1698 -# define USE_FW_LOADER59,1811 -#define PACKETDEBUG(PACKETDEBUG64,1929 -#define vdbg(vdbg65,1981 -#define PACKETDEBUG(PACKETDEBUG67,2019 -#define vdbg(vdbg68,2047 -#define DRIVER_AUTHOR 71,2076 -#define DRIVER_VERSION 72,2151 -#define DRIVER_DESC 73,2180 -static const char speedtch_driver_name[75,2257 -#define SPEEDTOUCH_VENDORID 77,2313 -#define SPEEDTOUCH_PRODUCTID 78,2349 -#define CTRL_TIMEOUT 81,2412 -#define DATA_TIMEOUT 82,2440 -#define OFFSET_7 84,2469 -#define OFFSET_b 85,2503 -#define OFFSET_d 86,2537 -#define OFFSET_e 87,2571 -#define OFFSET_f 88,2605 -#define TOTAL 89,2639 -#define SIZE_7 91,2660 -#define SIZE_b 92,2677 -#define SIZE_d 93,2694 -#define SIZE_e 94,2711 -#define SIZE_f 95,2728 -static int dl_512_first 97,2746 -static int sw_buffering 98,2775 -#define UDSL_IOCTL_LINE_UP 106,3022 -#define UDSL_IOCTL_LINE_DOWN 107,3052 -#define SPEEDTCH_ENDPOINT_INT 109,3085 -#define SPEEDTCH_ENDPOINT_DATA 110,3121 -#define SPEEDTCH_ENDPOINT_FIRMWARE 111,3158 -#define hex2int(hex2int113,3199 -static struct usb_device_id speedtch_usb_ids[115,3278 -struct speedtch_instance_data speedtch_instance_data122,3440 -static struct usb_driver speedtch_usb_driver 141,4061 -static void speedtch_got_firmware(154,4355 -static int speedtch_set_swbuff(205,5956 -static void speedtch_test_sequence(224,6463 -static int speedtch_start_synchro(265,7573 -static void speedtch_handle_int(283,8091 -static int speedtch_get_status(339,9556 -static void speedtch_poll_status(390,10712 -static void speedtch_timer_poll(456,12496 -static void speedtch_upload_firmware(465,12725 -static int speedtch_find_firmware(592,16764 -static int speedtch_load_firmware(624,17815 -static void speedtch_firmware_start(653,18577 -static int speedtch_firmware_wait(691,19441 -static int speedtch_usb_ioctl(705,19795 -static int speedtch_usb_probe(730,20412 -static void speedtch_usb_disconnect(808,22741 -static int __init speedtch_usb_init(843,23429 -static void __exit speedtch_usb_cleanup(850,23580 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/atm/usb_atm.h,1037 -#define UDSL_MAX_RCV_URBS 31,1222 -#define UDSL_MAX_SND_URBS 32,1251 -#define UDSL_MAX_RCV_BUFS 33,1280 -#define UDSL_MAX_SND_BUFS 34,1309 -#define UDSL_MAX_RCV_BUF_SIZE 35,1338 -#define UDSL_MAX_SND_BUF_SIZE 36,1390 -#define UDSL_DEFAULT_RCV_URBS 37,1442 -#define UDSL_DEFAULT_SND_URBS 38,1475 -#define UDSL_DEFAULT_RCV_BUFS 39,1508 -#define UDSL_DEFAULT_SND_BUFS 40,1541 -#define UDSL_DEFAULT_RCV_BUF_SIZE 41,1574 -#define UDSL_DEFAULT_SND_BUF_SIZE 42,1627 -#define ATM_CELL_HEADER 44,1681 -#define UDSL_NUM_CELLS(UDSL_NUM_CELLS45,1742 -struct udsl_receive_buffer udsl_receive_buffer49,1854 -struct udsl_receiver udsl_receiver55,1961 -struct udsl_vcc_data udsl_vcc_data62,2105 -struct udsl_send_buffer udsl_send_buffer75,2285 -struct udsl_sender udsl_sender82,2415 -struct udsl_control udsl_control89,2554 -#define UDSL_SKB(UDSL_SKB98,2781 -enum udsl_status udsl_status102,2860 - UDSL_NO_FIRMWARE,103,2879 - UDSL_LOADING_FIRMWARE,104,2898 - UDSL_LOADED_FIRMWARE105,2922 -struct udsl_instance_data udsl_instance_data108,2948 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/dpcm.c,28 -int dpcm_transport(48,1418 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/initializers.c,70 -int usb_stor_euscsi_init(48,1948 -int usb_stor_ucr61s2b_init(64,2371 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/unusual_devs.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/jumpshot.c,384 -static inline int jumpshot_bulk_read(64,2008 -static inline int jumpshot_bulk_write(77,2306 -static int jumpshot_get_status(90,2608 -static int jumpshot_read_data(113,3064 -static int jumpshot_write_data(189,5108 -static int jumpshot_id_device(279,7640 -static int jumpshot_handle_mode_sense(325,8613 -static void jumpshot_info_destructor(423,10866 -int jumpshot_transport(433,11065 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/freecom.c,830 -#define ERR_STAT 48,1406 -#define DRQ_STAT 49,1429 -struct freecom_cb_wrap freecom_cb_wrap52,1506 -struct freecom_xfer_wrap freecom_xfer_wrap59,1692 -struct freecom_ide_out freecom_ide_out66,1894 -struct freecom_ide_in freecom_ide_in73,2033 -struct freecom_status freecom_status78,2118 -#define FCM_INT_STATUS 87,2297 -#define FCM_STATUS_BUSY 88,2343 -#define FCM_PACKET_ATAPI 92,2482 -#define FCM_PACKET_STATUS 93,2512 -#define FCM_PACKET_INPUT 97,2673 -#define FCM_PACKET_OUTPUT 100,2742 -#define FCM_PACKET_IDE_WRITE 104,2880 -#define FCM_PACKET_IDE_READ 105,2914 -#define FCM_PACKET_LENGTH 108,3005 -#define FCM_STATUS_PACKET_LENGTH 109,3035 -freecom_readdata 112,3082 -freecom_writedata 146,4097 -int freecom_transport(183,5163 -freecom_init 388,11301 -int usb_stor_freecom_reset(427,12388 -static void pdump 436,12577 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/datafab.h,80 -#define _USB_DATAFAB_MDCFE_B_H25,941 -struct datafab_info datafab_info29,1047 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/sddr09.c,1725 -#define short_pack(short_pack58,1737 -#define LSB_of(LSB_of59,1804 -#define MSB_of(MSB_of60,1833 -struct nand_flash_dev nand_flash_dev71,2078 -#define NAND_MFR_AMD 84,2468 -#define NAND_MFR_NATSEMI 85,2495 -#define NAND_MFR_TOSHIBA 86,2525 -#define NAND_MFR_SAMSUNG 87,2555 -static inline char *nand_flash_manufacturer(89,2586 -static struct nand_flash_dev nand_flash_ids[111,3094 -#define SIZE(SIZE136,3872 -nand_find_id(139,3947 -static unsigned char parity[151,4149 -static unsigned char ecc2[152,4183 -static void nand_init_ecc(154,4216 -static void nand_compute_ecc(178,4652 -static int nand_compare_ecc(205,5302 -static void nand_store_ecc(209,5447 -#define CONTROL_SHIFT 223,5860 -#define LUN 230,6021 -#define LUNBITS 231,6035 -#define UNDEF 236,6120 -#define SPARE 237,6148 -#define UNUSABLE 238,6176 -static int erase_bad_lba_entries 240,6205 -sddr09_send_command(245,6332 -sddr09_send_scsi_command(268,6920 -sddr09_test_unit_ready(280,7183 -sddr09_request_sense(301,7565 -sddr09_readX(350,9165 -sddr09_read20(399,10422 -sddr09_read21(422,11140 -sddr09_read22(440,11677 -sddr09_read23(465,12464 -sddr09_erase(484,13022 -sddr09_writeX(533,14429 -sddr09_write_inplace(577,15599 -sddr09_read_sg_test_only(598,16221 -sddr09_read_status(671,17969 -sddr09_read_data(695,18554 -sddr09_find_unused_pba(785,20946 -sddr09_write_lba(811,21508 -sddr09_write_data(918,24365 -sddr09_read_control(991,26319 -sddr09_read_deviceID(1015,26991 -sddr09_get_wp(1039,27579 -sddr09_reset(1069,28256 -sddr09_get_cardinfo(1082,28491 -sddr09_read_map(1141,29984 -#define SDDR09_READ_MAP_BUFSZ 1160,30614 -sddr09_card_info_destructor(1335,34802 -sddr09_init_card_info(1346,35003 -sddr09_init(1362,35502 -int sddr09_transport(1407,36712 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/datafab.c,343 -datafab_bulk_read(71,2387 -datafab_bulk_write(82,2664 -static int datafab_read_data(92,2925 -static int datafab_write_data(174,5042 -static int datafab_determine_lun(270,7520 -static int datafab_id_device(337,8967 -static int datafab_handle_mode_sense(393,10277 -static void datafab_info_destructor(495,12702 -int datafab_transport(504,12898 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/dpcm.h,38 -#define _MICROTECH_DPCM_USB_H30,1016 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/shuttle_usbat.h,574 -#define _USB_SHUTTLE_USBAT_H27,982 -#define USBAT_EPP_PORT 29,1012 -#define USBAT_EPP_REGISTER 30,1041 -#define USBAT_ATA 31,1073 -#define USBAT_ISA 32,1097 -#define USBAT_UIO_EPAD 36,1157 -#define USBAT_UIO_CDT 37,1223 -#define USBAT_UIO_1 39,1315 -#define USBAT_UIO_0 40,1350 -#define USBAT_UIO_EPP_ATA 41,1385 -#define USBAT_UIO_UI1 42,1442 -#define USBAT_UIO_UI0 43,1481 -#define USBAT_UIO_INTR_ACK 44,1520 -#define USBAT_UIO_DRVRST 48,1633 -#define USBAT_UIO_ACKD 49,1683 -#define USBAT_UIO_OE1 50,1734 -#define USBAT_UIO_OE0 52,1834 -#define USBAT_UIO_ADPRST 53,1892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/shuttle_usbat.c,680 -#define short_pack(short_pack56,2024 -#define LSB_of(LSB_of57,2091 -#define MSB_of(MSB_of58,2120 -int transferred 60,2148 -static int usbat_read(62,2170 -static int usbat_write(81,2448 -static int usbat_set_shuttle_features(100,2747 -static int usbat_read_block(132,3405 -static int usbat_wait_not_busy(178,4323 -static int usbat_write_block(223,5462 -static int usbat_rw_block_test(266,6318 -static int usbat_multiple_write(437,11004 -static int usbat_read_user_io(485,11987 -static int usbat_write_user_io(501,12205 -static int usbat_handle_read10(524,12613 -static int hp_8200e_select_and_test_registers(635,15750 -int init_8200e(684,17018 -int hp8200e_transport(810,19706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/sddr09.h,120 -#define _USB_SHUTTLE_EUSB_SDDR09_H28,1024 -struct sddr09_card_info sddr09_card_info34,1162 -#define SDDR09_WP 45,1610 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/protocol.c,325 -static void fix_inquiry_data(64,2429 -static void fix_read_capacity(96,3208 -void usb_stor_qic157_command(125,3985 -void usb_stor_ATAPI_command(146,4567 -void usb_stor_ufi_command(171,5191 -void usb_stor_transparent_scsi_command(218,6464 -unsigned int usb_stor_access_xfer_buf(246,7548 -void usb_stor_set_xfer_buf(332,10215 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/transport.c,832 -static void usb_stor_blocking_completion(112,4905 -static void timeout_handler(122,5176 -static int usb_stor_msg_common(138,5675 -int usb_stor_control_msg(214,7960 -int usb_stor_clear_halt(255,9530 -static int interpret_urb_result(284,10257 -int usb_stor_ctrl_transfer(352,12096 -int usb_stor_intr_transfer(386,13156 -int usb_stor_bulk_transfer_buf(414,14017 -int usb_stor_bulk_transfer_sglist(439,14809 -int usb_stor_bulk_transfer_sg(493,16510 -void usb_stor_invoke_transport(528,17566 -void usb_stor_stop_transport(731,23601 -int usb_stor_CBI_transport(755,24291 -int usb_stor_CB_transport(855,27246 -int usb_stor_Bulk_max_lun(909,28869 -int usb_stor_Bulk_transport(946,29895 -static int usb_stor_reset_common(1102,35244 -#define CB_RESET_CMD_SIZE 1163,37007 -int usb_stor_CB_reset(1165,37037 -int usb_stor_Bulk_reset(1180,37496 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/sddr55.h,42 -#define _USB_SHUTTLE_EUSB_SDDR55_H27,913 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/debug.c,71 -void usb_stor_show_command(55,2043 -void usb_stor_show_sense(159,6826 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/usb.h,1112 -#define _USB_H_45,1837 -struct us_unusual_dev us_unusual_dev59,2041 -#define US_FL_SINGLE_LUN 69,2271 -#define US_FL_MODE_XLATE 70,2349 -#define US_FL_NEED_OVERRIDE 71,2428 -#define US_FL_IGNORE_SER 72,2507 -#define US_FL_SCM_MULT_TARG 73,2569 -#define US_FL_FIX_INQUIRY 74,2646 -#define US_FL_FIX_CAPACITY 75,2725 -#define US_FLIDX_URB_ACTIVE 78,2860 -#define US_FLIDX_SG_ACTIVE 79,2933 -#define US_FLIDX_ABORTING 80,3005 -#define US_FLIDX_DISCONNECTING 81,3076 -#define ABORTING_OR_DISCONNECTING 82,3152 -#define US_FLIDX_RESETTING 84,3257 -#define US_STATE_IDLE 88,3371 -#define US_STATE_RUNNING 89,3396 -#define US_STATE_RESETTING 90,3423 -#define US_STATE_ABORTING 91,3452 -#define USB_STOR_STRING_LEN 93,3481 -#define US_IOBUF_SIZE 102,3759 -typedef int (*trans_cmnd)trans_cmnd104,3826 -typedef int (*trans_reset)trans_reset105,3890 -typedef void (*proto_cmnd)proto_cmnd106,3935 -typedef void (*extra_data_destructor)extra_data_destructor107,3999 -struct us_data us_data110,4143 -#define scsi_unlock(scsi_unlock179,6612 -#define scsi_lock(scsi_lock180,6671 -#define USB_VENDOR_ID_GENESYS 184,6792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/initializers.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/scsiglue.h,29 -#define _SCSIGLUE_H_42,1786 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/transport.h,1281 -#define _TRANSPORT_H_42,1788 -#define US_PR_CBI 52,1917 -#define US_PR_CB 53,1970 -#define US_PR_BULK 54,2026 -#define US_PR_SCM_ATAPI 56,2101 -#define US_PR_EUSB_SDDR09 59,2194 -#define US_PR_SDDR55 62,2299 -#define US_PR_DPCM_USB 64,2357 -#define US_PR_FREECOM 67,2450 -#define US_PR_DATAFAB 71,2536 -#define US_PR_JUMPSHOT 75,2632 -#define US_PR_DEVICE 78,2691 -struct bulk_cb_wrap bulk_cb_wrap85,2809 -#define US_BULK_CB_WRAP_LEN 95,3110 -#define US_BULK_CB_SIGN 96,3141 -#define US_BULK_FLAG_IN 97,3198 -#define US_BULK_FLAG_OUT 98,3225 -struct bulk_cs_wrap bulk_cs_wrap101,3282 -#define US_BULK_CS_WRAP_LEN 109,3492 -#define US_BULK_CS_SIGN 110,3523 -#define US_BULK_CS_OLYMPUS_SIGN 112,3633 -#define US_BULK_STAT_OK 113,3701 -#define US_BULK_STAT_FAIL 114,3728 -#define US_BULK_STAT_PHASE 115,3756 -#define US_BULK_RESET_REQUEST 118,3826 -#define US_BULK_GET_MAX_LUN 119,3861 -#define USB_STOR_XFER_GOOD 125,3970 -#define USB_STOR_XFER_SHORT 126,4035 -#define USB_STOR_XFER_STALLED 127,4102 -#define USB_STOR_XFER_LONG 128,4170 -#define USB_STOR_XFER_ERROR 129,4235 -#define USB_STOR_TRANSPORT_GOOD 135,4336 -#define USB_STOR_TRANSPORT_FAILED 136,4413 -#define USB_STOR_TRANSPORT_NO_SENSE 137,4491 -#define USB_STOR_TRANSPORT_ERROR 138,4569 -#define US_CBI_ADSC 152,5042 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/protocol.h,443 -#define _PROTOCOL_H_42,1784 -#define US_SC_RBC 49,1860 -#define US_SC_8020 50,1915 -#define US_SC_QIC 51,1953 -#define US_SC_UFI 52,1997 -#define US_SC_8070 53,2034 -#define US_SC_SCSI 54,2081 -#define US_SC_ISD200 55,2124 -#define US_SC_MIN 56,2171 -#define US_SC_MAX 57,2199 -#define US_SC_DEVICE 59,2231 -enum xfer_buf_dir xfer_buf_dir69,2674 -enum xfer_buf_dir {TO_XFER_BUF,69,2674 -enum xfer_buf_dir {TO_XFER_BUF, FROM_XFER_BUF}69,2674 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/freecom.h,30 -#define _FREECOM_USB_H30,990 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/sddr55.c,725 -#define short_pack(short_pack41,1101 -#define LSB_of(LSB_of42,1168 -#define MSB_of(MSB_of43,1197 -#define PAGESIZE 44,1224 -#define set_sense_info(set_sense_info46,1247 -struct sddr55_card_info sddr55_card_info54,1408 -#define NOT_ALLOCATED 72,2160 -#define BAD_BLOCK 73,2194 -#define CIS_BLOCK 74,2220 -#define UNUSED_BLOCK 75,2245 -sddr55_bulk_transport(78,2285 -static int sddr55_status(94,2796 -static int sddr55_read_data(157,4405 -static int sddr55_write_data(275,7189 -static int sddr55_read_deviceID(479,12502 -int sddr55_reset(516,13315 -static unsigned long sddr55_get_capacity(521,13369 -static int sddr55_read_map(605,14921 -static void sddr55_card_info_destructor(725,17937 -int sddr55_transport(741,18232 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/usb.c,801 -#define UNUSUAL_DEV(UNUSUAL_DEV110,3432 -static struct usb_device_id storage_usb_ids 115,3663 -#define UNUSUAL_DEV(UNUSUAL_DEV163,5936 -static struct us_unusual_dev us_unusual_dev_list[175,6289 -struct usb_driver usb_storage_driver 226,7769 -void fill_inquiry_response(243,8318 -static int usb_stor_control_thread(275,9578 -static int associate_dev(427,13927 -static void get_device_info(464,15113 -static int get_transport(547,17903 -static int get_protocol(645,20176 -static int get_pipes(696,21286 -static int usb_stor_acquire_resources(753,23024 -void usb_stor_release_resources(814,24502 -static void dissociate_dev(866,25922 -static int storage_probe(886,26444 -static void storage_disconnect(982,29120 -static int __init usb_stor_init(1008,29943 -static void __exit usb_stor_exit(1024,30307 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/isd200.h,29 -#define _USB_ISD200_H26,934 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/jumpshot.h,75 -#define _USB_JUMPSHOT_H25,932 -struct jumpshot_info jumpshot_info29,1032 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/isd200.c,3569 -#define ISD200_ENUM_BSY_TIMEOUT 67,2088 -#define ISD200_ENUM_DETECT_TIMEOUT 68,2124 -#define ISD200_DEFAULT_TIMEOUT 69,2167 -#define DF_ATA_DEVICE 72,2222 -#define DF_MEDIA_STATUS_ENABLED 73,2252 -#define DF_REMOVABLE_MEDIA 74,2291 -#define CAPABILITY_DMA 77,2359 -#define CAPABILITY_LBA 78,2388 -#define COMMANDSET_REMOVABLE 81,2453 -#define COMMANDSET_MEDIA_STATUS 82,2487 -#define ATA_ADDRESS_DEVHEAD_STD 85,2559 -#define ATA_ADDRESS_DEVHEAD_LBA_MODE 86,2601 -#define ATA_ADDRESS_DEVHEAD_SLAVE 87,2647 -#define ACTION_SELECT_0 90,2715 -#define ACTION_SELECT_1 91,2749 -#define ACTION_SELECT_2 92,2783 -#define ACTION_SELECT_3 93,2817 -#define ACTION_SELECT_4 94,2851 -#define ACTION_SELECT_5 95,2885 -#define ACTION_SELECT_6 96,2919 -#define ACTION_SELECT_7 97,2953 -#define REG_ALTERNATE_STATUS 100,3015 -#define REG_DEVICE_CONTROL 101,3049 -#define REG_ERROR 102,3081 -#define REG_FEATURES 103,3105 -#define REG_SECTOR_COUNT 104,3132 -#define REG_SECTOR_NUMBER 105,3162 -#define REG_CYLINDER_LOW 106,3193 -#define REG_CYLINDER_HIGH 107,3223 -#define REG_DEVICE_HEAD 108,3254 -#define REG_STATUS 109,3284 -#define REG_COMMAND 110,3309 -#define ATA_ERROR_MEDIA_CHANGE 113,3387 -#define ATA_COMMAND_GET_MEDIA_STATUS 116,3478 -#define ATA_COMMAND_MEDIA_EJECT 117,3520 -#define ATA_DC_DISABLE_INTERRUPTS 120,3595 -#define ATA_DC_RESET_CONTROLLER 121,3634 -#define ATA_DC_REENABLE_CONTROLLER 122,3672 -#define ISD200_ERROR 128,3755 -#define ISD200_GOOD 129,3780 -#define ISD200_TRANSPORT_GOOD 135,3839 -#define ISD200_TRANSPORT_FAILED 136,3918 -#define ISD200_TRANSPORT_ERROR 137,3997 -#define ACTION_READ_STATUS 140,4103 -#define ACTION_RESET 141,4132 -#define ACTION_REENABLE 142,4156 -#define ACTION_SOFT_RESET 143,4183 -#define ACTION_ENUM 144,4211 -#define ACTION_IDENTIFY 145,4234 -union ata_cdb ata_cdb153,4290 -#define DIRECT_ACCESS_DEVICE 219,6023 -#define DEVICE_REMOVABLE 220,6076 -struct inquiry_data inquiry_data222,6108 -#define INQUIRYDATABUFFERSIZE 241,6560 -#define ATACFG_TIMING 248,6632 -#define ATACFG_ATAPI_RESET 249,6661 -#define ATACFG_MASTER 250,6697 -#define ATACFG_BLOCKSIZE 251,6726 -#define ATACFGE_LAST_LUN 253,6763 -#define ATACFGE_DESC_OVERRIDE 254,6799 -#define ATACFGE_STATE_SUSPEND 255,6835 -#define ATACFGE_SKIP_BOOT 256,6871 -#define ATACFGE_CONF_DESC2 257,6907 -#define ATACFGE_INIT_STATUS 258,6943 -#define CFG_CAPABILITY_SRST 260,6980 -struct isd200_config isd200_config262,7017 -struct isd200_info isd200_info278,7356 -struct read_capacity_data read_capacity_data297,7731 -struct read_block_limits read_block_limits308,7964 -#define SENSE_ERRCODE 319,8122 -#define SENSE_ERRCODE_VALID 320,8152 -#define SENSE_FLAG_SENSE_KEY 321,8189 -#define SENSE_FLAG_BAD_LENGTH 322,8226 -#define SENSE_FLAG_END_OF_MEDIA 323,8263 -#define SENSE_FLAG_FILE_MARK 324,8300 -struct sense_data sense_data325,8337 -#define SENSE_BUFFER_SIZE 342,8782 -static void isd200_build_sense(357,9221 -static int isd200_action(410,10879 -static int isd200_read_regs(513,13999 -static void isd200_invoke_transport(542,14907 -static void isd200_log_config(640,17486 -static int isd200_write_config(685,19309 -static int isd200_read_config(728,20369 -static int isd200_atapi_soft_reset(773,21445 -static int isd200_srst(799,22073 -static int isd200_try_enum(840,23157 -static int isd200_manual_enum(945,26126 -static int isd200_get_inquiry_data(989,27360 -static int isd200_scsi_to_ata(1133,32310 -static void isd200_free_info_ptrs(1346,39470 -static int isd200_init_info(1364,39856 -int isd200_Initialization(1400,40781 -void isd200_ata_command(1431,41633 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/debug.h,277 -#define _DEBUG_H_45,1855 -#define USB_STORAGE 52,1946 -#define US_DEBUGP(US_DEBUGP58,2154 -#define US_DEBUGPX(US_DEBUGPX59,2213 -#define US_DEBUG(US_DEBUG60,2250 -#define US_DEBUGP(US_DEBUGP62,2279 -#define US_DEBUGPX(US_DEBUGPX63,2303 -#define US_DEBUG(US_DEBUG64,2328 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/storage/scsiglue.c,700 -static const char* host_info(68,2466 -static int slave_alloc 73,2579 -static int slave_configure(87,2976 -static int queuecommand(153,5559 -static int command_abort(191,6662 -static int device_reset(238,8172 -static int bus_reset(273,9228 -void usb_stor_report_device_reset(315,10609 -#define SPRINTF(SPRINTF332,11094 -#define DO_FLAG(DO_FLAG334,11194 -static int proc_info 337,11289 -static ssize_t show_max_sectors(391,12699 -static ssize_t store_max_sectors(399,12932 -static struct device_attribute *sysfs_device_attr_list[415,13348 -struct scsi_host_template usb_stor_host_template 424,13523 -unsigned char usb_stor_sense_notready[475,14771 -unsigned char usb_stor_sense_invalidCDB[484,15074 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/safe_serial.c,1309 -#define CONFIG_USB_SAFE_PADDED 79,2701 -static int debug;82,2742 -static int safe 83,2760 -static int padded 84,2781 -#define DRIVER_VERSION 86,2826 -#define DRIVER_AUTHOR 87,2857 -#define DRIVER_DESC 88,2909 -static __u16 vendor;99,3257 -static __u16 product;100,3293 -#define CDC_DEVICE_CLASS 116,3822 -#define CDC_INTERFACE_CLASS 118,3876 -#define CDC_INTERFACE_SUBCLASS 119,3929 -#define LINEO_INTERFACE_CLASS 121,3983 -#define LINEO_INTERFACE_SUBCLASS_SAFENET 123,4037 -#define LINEO_SAFENET_CRC 124,4090 -#define LINEO_SAFENET_CRC_PADDED 125,4143 -#define LINEO_INTERFACE_SUBCLASS_SAFESERIAL 127,4197 -#define LINEO_SAFESERIAL_CRC 128,4250 -#define LINEO_SAFESERIAL_CRC_PADDED 129,4303 -#define MY_USB_DEVICE(MY_USB_DEVICE132,4358 -static struct usb_device_id id_table[141,4737 -static struct usb_driver safe_driver 162,6088 -static __u16 crc10_table[170,6270 -#define CRC10_INITFCS 189,8116 -#define CRC10_GOODFCS 190,8169 -#define CRC10_FCS(CRC10_FCS191,8225 -static __u16 __inline__ fcs_compute10 202,8568 -static void safe_read_bulk_callback 208,8714 -static int safe_write 276,10530 -static int safe_write_room 370,12895 -static int safe_startup 386,13194 -static struct usb_serial_device_type safe_device 400,13459 -static int __init safe_init 414,13832 -static void __exit safe_exit 449,14707 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/kl5kusb105.c,1486 -static int debug;62,2244 -#define DRIVER_VERSION 67,2293 -#define DRIVER_AUTHOR 68,2324 -#define DRIVER_DESC 69,2378 -static struct usb_device_id id_table 111,4046 -static struct usb_driver kl5kusb105d_driver 119,4262 -static struct usb_serial_device_type kl5kusb105d_device 127,4451 -struct klsi_105_port_settings klsi_105_port_settings154,5389 -#define NUM_URBS 163,5612 -#define URB_TRANSFER_BUFFER_SIZE 164,5633 -struct klsi_105_private klsi_105_private165,5669 -#define KLSI_TIMEOUT 182,6001 -static int klsi_105_chg_port_settings(184,6060 -static unsigned long klsi_105_status2linestate(209,6934 -#define KLSI_STATUSBUF_LEN 224,7322 -static int klsi_105_get_line_state(225,7351 -static int klsi_105_startup 261,8210 -static void klsi_105_shutdown 319,9610 -static int klsi_105_open 359,10650 -static void klsi_105_close 450,13317 -#define KLSI_105_DATA_OFFSET 484,14415 -static int klsi_105_write 487,14483 -static void klsi_105_write_bulk_callback 568,16793 -static int klsi_105_chars_in_buffer 586,17309 -static int klsi_105_write_room 607,17782 -static void klsi_105_read_bulk_callback 629,18247 -static void klsi_105_set_termios 709,20936 -static void mct_u232_break_ctl(856,25041 -static int klsi_105_tiocmget 871,25448 -static int klsi_105_tiocmset 893,26087 -static int klsi_105_ioctl 922,26921 -static void klsi_105_throttle 996,28946 -static void klsi_105_unthrottle 1002,29096 -static int __init klsi_105_init 1017,29420 -static void __exit klsi_105_exit 1036,29825 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/digi_acceleport.c,5718 -#define DRIVER_VERSION 256,12239 -#define DRIVER_AUTHOR 257,12274 -#define DRIVER_DESC 258,12374 -#define DIGI_OUT_BUF_SIZE 262,12581 -#define DIGI_IN_BUF_SIZE 266,12753 -#define DIGI_RETRY_TIMEOUT 269,12818 -#define DIGI_CLOSE_TIMEOUT 274,13008 -#define DIGI_VENDOR_ID 280,13085 -#define DIGI_2_ID 281,13117 -#define DIGI_4_ID 282,13156 -#define DIGI_CMD_SET_BAUD_RATE 288,13308 -#define DIGI_CMD_SET_WORD_SIZE 289,13358 -#define DIGI_CMD_SET_PARITY 290,13408 -#define DIGI_CMD_SET_STOP_BITS 291,13455 -#define DIGI_CMD_SET_INPUT_FLOW_CONTROL 292,13505 -#define DIGI_CMD_SET_OUTPUT_FLOW_CONTROL 293,13563 -#define DIGI_CMD_SET_DTR_SIGNAL 294,13621 -#define DIGI_CMD_SET_RTS_SIGNAL 295,13672 -#define DIGI_CMD_READ_INPUT_SIGNALS 296,13723 -#define DIGI_CMD_IFLUSH_FIFO 297,13777 -#define DIGI_CMD_RECEIVE_ENABLE 298,13825 -#define DIGI_CMD_BREAK_CONTROL 299,13877 -#define DIGI_CMD_LOCAL_LOOPBACK 300,13928 -#define DIGI_CMD_TRANSMIT_IDLE 301,13980 -#define DIGI_CMD_READ_UART_REGISTER 302,14031 -#define DIGI_CMD_WRITE_UART_REGISTER 303,14086 -#define DIGI_CMD_AND_UART_REGISTER 304,14142 -#define DIGI_CMD_OR_UART_REGISTER 305,14196 -#define DIGI_CMD_SEND_DATA 306,14249 -#define DIGI_CMD_RECEIVE_DATA 307,14296 -#define DIGI_CMD_RECEIVE_DISABLE 308,14346 -#define DIGI_CMD_GET_PORT_TYPE 309,14398 -#define DIGI_BAUD_50 312,14467 -#define DIGI_BAUD_75 313,14493 -#define DIGI_BAUD_110 314,14519 -#define DIGI_BAUD_150 315,14546 -#define DIGI_BAUD_200 316,14573 -#define DIGI_BAUD_300 317,14600 -#define DIGI_BAUD_600 318,14627 -#define DIGI_BAUD_1200 319,14654 -#define DIGI_BAUD_1800 320,14682 -#define DIGI_BAUD_2400 321,14710 -#define DIGI_BAUD_4800 322,14738 -#define DIGI_BAUD_7200 323,14767 -#define DIGI_BAUD_9600 324,14796 -#define DIGI_BAUD_14400 325,14825 -#define DIGI_BAUD_19200 326,14855 -#define DIGI_BAUD_28800 327,14885 -#define DIGI_BAUD_38400 328,14915 -#define DIGI_BAUD_57600 329,14945 -#define DIGI_BAUD_76800 330,14975 -#define DIGI_BAUD_115200 331,15005 -#define DIGI_BAUD_153600 332,15035 -#define DIGI_BAUD_230400 333,15065 -#define DIGI_BAUD_460800 334,15095 -#define DIGI_WORD_SIZE_5 337,15142 -#define DIGI_WORD_SIZE_6 338,15171 -#define DIGI_WORD_SIZE_7 339,15200 -#define DIGI_WORD_SIZE_8 340,15229 -#define DIGI_PARITY_NONE 342,15259 -#define DIGI_PARITY_ODD 343,15288 -#define DIGI_PARITY_EVEN 344,15317 -#define DIGI_PARITY_MARK 345,15346 -#define DIGI_PARITY_SPACE 346,15375 -#define DIGI_STOP_BITS_1 348,15406 -#define DIGI_STOP_BITS_2 349,15435 -#define DIGI_INPUT_FLOW_CONTROL_XON_XOFF 351,15465 -#define DIGI_INPUT_FLOW_CONTROL_RTS 352,15508 -#define DIGI_INPUT_FLOW_CONTROL_DTR 353,15547 -#define DIGI_OUTPUT_FLOW_CONTROL_XON_XOFF 355,15587 -#define DIGI_OUTPUT_FLOW_CONTROL_CTS 356,15631 -#define DIGI_OUTPUT_FLOW_CONTROL_DSR 357,15671 -#define DIGI_DTR_INACTIVE 359,15712 -#define DIGI_DTR_ACTIVE 360,15742 -#define DIGI_DTR_INPUT_FLOW_CONTROL 361,15771 -#define DIGI_RTS_INACTIVE 363,15811 -#define DIGI_RTS_ACTIVE 364,15841 -#define DIGI_RTS_INPUT_FLOW_CONTROL 365,15870 -#define DIGI_RTS_TOGGLE 366,15909 -#define DIGI_FLUSH_TX 368,15939 -#define DIGI_FLUSH_RX 369,15966 -#define DIGI_RESUME_TX 370,15993 -#define DIGI_TRANSMIT_NOT_IDLE 372,16050 -#define DIGI_TRANSMIT_IDLE 373,16085 -#define DIGI_DISABLE 375,16117 -#define DIGI_ENABLE 376,16143 -#define DIGI_DEASSERT 378,16169 -#define DIGI_ASSERT 379,16196 -#define DIGI_OVERRUN_ERROR 382,16249 -#define DIGI_PARITY_ERROR 383,16280 -#define DIGI_FRAMING_ERROR 384,16310 -#define DIGI_BREAK_ERROR 385,16342 -#define DIGI_NO_ERROR 388,16398 -#define DIGI_BAD_FIRST_PARAMETER 389,16425 -#define DIGI_BAD_SECOND_PARAMETER 390,16461 -#define DIGI_INVALID_LINE 391,16498 -#define DIGI_INVALID_OPCODE 392,16528 -#define DIGI_READ_INPUT_SIGNALS_SLOT 395,16581 -#define DIGI_READ_INPUT_SIGNALS_ERR 396,16621 -#define DIGI_READ_INPUT_SIGNALS_BUSY 397,16660 -#define DIGI_READ_INPUT_SIGNALS_PE 398,16700 -#define DIGI_READ_INPUT_SIGNALS_CTS 399,16738 -#define DIGI_READ_INPUT_SIGNALS_DSR 400,16778 -#define DIGI_READ_INPUT_SIGNALS_RI 401,16818 -#define DIGI_READ_INPUT_SIGNALS_DCD 402,16857 -struct digi_serial digi_serial407,16918 -struct digi_port digi_port414,17112 -static int debug;475,19761 -static struct usb_device_id id_table_combined 477,19780 -static struct usb_device_id id_table_2 483,19959 -static struct usb_device_id id_table_4 488,20087 -static struct usb_driver digi_driver 495,20262 -static struct usb_serial_device_type digi_acceleport_2_device 506,20514 -static struct usb_serial_device_type digi_acceleport_4_device 533,21317 -static inline long cond_wait_interruptible_timeout_irqrestore(573,22509 -static void digi_wakeup_write_lock(605,23033 -static void digi_wakeup_write(617,23336 -static int digi_write_oob_command(642,23925 -static int digi_write_inb_command(711,25859 -static int digi_set_modem_signals(798,28157 -static int digi_transmit_idle(876,30562 -static void digi_rx_throttle(918,31537 -static void digi_rx_unthrottle(937,32003 -static void digi_set_termios(983,33174 -static void digi_break_ctl(1191,38126 -static int digi_tiocmget(1207,38400 -static int digi_tiocmset(1222,38791 -static int digi_ioctl(1238,39273 -static int digi_write(1265,39764 -static void digi_write_bulk_callback(1352,42260 -static int digi_write_room(1428,44444 -static int digi_chars_in_buffer(1452,44954 -static int digi_open(1471,45457 -static void digi_close(1536,47208 -static int digi_startup_device(1641,49924 -static int digi_startup(1679,50794 -static void digi_shutdown(1747,52809 -static void digi_read_bulk_callback(1769,53389 -static int digi_read_inb_callback(1827,55081 -static int digi_read_oob_callback(1934,58007 -static int __init digi_init 2023,60401 -static void __exit digi_exit 2046,60992 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa19_fw.h,68 -static const struct ezusb_hex_record keyspan_usa19_firmware[25,916 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_16654.h,3841 -#define _16654_H14,540 -#define THR 33,1164 -#define RDR 34,1219 -#define IER 35,1272 -#define FCR 36,1319 -#define ISR 37,1370 -#define LCR 38,1422 -#define MCR 39,1463 -#define LSR 40,1505 -#define MSR 41,1545 -#define SPR 42,1586 -#define DLL 43,1625 -#define DLM 44,1673 -#define EFR 45,1721 -#define XON1 47,1813 -#define XON2 48,1851 -#define XOFF1 49,1889 -#define XOFF2 50,1929 -#define NUM_16654_REGS 52,1970 -#define IS_REG_2ND_BANK(IS_REG_2ND_BANK54,1998 -#define IER_RX 60,2084 -#define IER_TX 61,2134 -#define IER_RXS 62,2185 -#define IER_MDM 63,2243 -#define IER_SLEEP 64,2299 -#define IER_XOFF 65,2344 -#define IER_RTS 66,2411 -#define IER_CTS 67,2458 -#define IER_ENABLE_ALL 68,2505 -#define FCR_FIFO_EN 71,2555 -#define FCR_RXCLR 72,2597 -#define FCR_TXCLR 73,2638 -#define FCR_DMA_BLK 74,2679 -#define FCR_TX_LEVEL_MASK 75,2730 -#define FCR_TX_LEVEL_8 76,2787 -#define FCR_TX_LEVEL_16 77,2844 -#define FCR_TX_LEVEL_32 78,2902 -#define FCR_TX_LEVEL_56 79,2960 -#define FCR_RX_LEVEL_MASK 80,3018 -#define FCR_RX_LEVEL_8 81,3075 -#define FCR_RX_LEVEL_16 82,3132 -#define FCR_RX_LEVEL_56 83,3190 -#define FCR_RX_LEVEL_60 84,3248 -#define ISR_INT_MDM_STATUS 87,3308 -#define ISR_INT_NONE 88,3368 -#define ISR_INT_TXRDY 89,3419 -#define ISR_INT_RXRDY 90,3471 -#define ISR_INT_LINE_STATUS 91,3523 -#define ISR_INT_RX_TIMEOUT 92,3583 -#define ISR_INT_RX_XOFF 93,3641 -#define ISR_INT_RTS_CTS 94,3694 -#define ISR_FIFO_ENABLED 95,3754 -#define ISR_INT_BITS_MASK 96,3813 -#define LCR_BITS_5 99,3882 -#define LCR_BITS_6 100,3922 -#define LCR_BITS_7 101,3962 -#define LCR_BITS_8 102,4002 -#define LCR_BITS_MASK 103,4042 -#define LCR_STOP_1 105,4099 -#define LCR_STOP_1_5 106,4138 -#define LCR_STOP_2 107,4201 -#define LCR_STOP_MASK 108,4262 -#define LCR_PAR_NONE 110,4319 -#define LCR_PAR_ODD 111,4359 -#define LCR_PAR_EVEN 112,4399 -#define LCR_PAR_MARK 113,4441 -#define LCR_PAR_SPACE 114,4493 -#define LCR_PAR_MASK 115,4546 -#define LCR_SET_BREAK 117,4599 -#define LCR_DL_ENABLE 118,4650 -#define LCR_ACCESS_EFR 120,4713 -#define MCR_DTR 125,4861 -#define MCR_RTS 126,4898 -#define MCR_OUT1 127,4935 -#define MCR_MASTER_IE 128,4993 -#define MCR_LOOPBACK 129,5049 -#define MCR_XON_ANY 130,5116 -#define MCR_IR_ENABLE 131,5179 -#define MCR_BRG_DIV_4 132,5232 -#define LSR_RX_AVAIL 135,5306 -#define LSR_OVER_ERR 136,5354 -#define LSR_PAR_ERR 137,5395 -#define LSR_FRM_ERR 138,5440 -#define LSR_BREAK 139,5486 -#define LSR_TX_EMPTY 140,5541 -#define LSR_TX_ALL_EMPTY 141,5585 -#define LSR_FIFO_ERR 142,5651 -#define EDGEPORT_MSR_DELTA_CTS 145,5722 -#define EDGEPORT_MSR_DELTA_DSR 146,5788 -#define EDGEPORT_MSR_DELTA_RI 147,5854 -#define EDGEPORT_MSR_DELTA_CD 148,5916 -#define EDGEPORT_MSR_CTS 149,5981 -#define EDGEPORT_MSR_DSR 150,6035 -#define EDGEPORT_MSR_RI 151,6089 -#define EDGEPORT_MSR_CD 152,6142 -#define EFR_SWFC_NONE 158,6252 -#define EFR_SWFC_RX1 159,6294 -#define EFR_SWFC_RX2 160,6337 -#define EFR_SWFC_RX12 161,6380 -#define EFR_SWFC_TX1 162,6432 -#define EFR_SWFC_TX1_RX1 163,6475 -#define EFR_SWFC_TX1_RX2 164,6522 -#define EFR_SWFC_TX1_RX12 165,6569 -#define EFR_SWFC_TX2 166,6625 -#define EFR_SWFC_TX2_RX1 167,6668 -#define EFR_SWFC_TX2_RX2 168,6715 -#define EFR_SWFC_TX2_RX12 169,6762 -#define EFR_SWFC_TX12 170,6818 -#define EFR_SWFC_TX12_RX1 171,6869 -#define EFR_SWFC_TX12_RX2 172,6924 -#define EFR_SWFC_TX12_RX12 173,6979 -#define EFR_TX_FC_MASK 175,7044 -#define EFR_TX_FC_NONE 176,7108 -#define EFR_TX_FC_X1 177,7168 -#define EFR_TX_FC_X2 178,7218 -#define EFR_TX_FC_X1_2 179,7268 -#define EFR_RX_FC_MASK 181,7325 -#define EFR_RX_FC_NONE 182,7389 -#define EFR_RX_FC_X1 183,7449 -#define EFR_RX_FC_X2 184,7508 -#define EFR_RX_FC_X1_2 185,7567 -#define EFR_SWFC_MASK 188,7634 -#define EFR_ENABLE_16654 189,7702 -#define EFR_SPEC_DETECT 190,7758 -#define EFR_AUTO_RTS 191,7833 -#define EFR_AUTO_CTS 192,7891 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/bus.c,255 -static int usb_serial_device_match 19,480 -struct bus_type usb_serial_bus_type 40,901 -static int usb_serial_device_probe 45,1004 -static int usb_serial_device_remove 81,1742 -int usb_serial_bus_register(112,2418 -void usb_serial_bus_deregister(129,2839 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa49msg.h,1069 -#define __USA49MSG__112,3908 -struct keyspan_usa49_portControlMessagekeyspan_usa49_portControlMessage124,4109 -#define USA_DATABITS_5 193,6623 -#define USA_DATABITS_6 194,6652 -#define USA_DATABITS_7 195,6681 -#define USA_DATABITS_8 196,6710 -#define STOPBITS_5678_1 197,6739 -#define STOPBITS_5_1p5 198,6802 -#define STOPBITS_678_2 199,6863 -#define USA_PARITY_NONE 200,6926 -#define USA_PARITY_ODD 201,6956 -#define USA_PARITY_EVEN 202,6985 -#define PARITY_1 203,7015 -#define PARITY_0 204,7039 -struct keyspan_usa49_globalControlMessagekeyspan_usa49_globalControlMessage218,7590 -struct keyspan_usa49_portStatusMessage keyspan_usa49_portStatusMessage238,8162 -#define RXERROR_OVERRUN 254,8731 -#define RXERROR_PARITY 255,8760 -#define RXERROR_FRAMING 256,8788 -#define RXERROR_BREAK 257,8817 -struct keyspan_usa49_globalStatusMessagekeyspan_usa49_globalStatusMessage259,8845 -struct keyspan_usa49_globalDebugMessagekeyspan_usa49_globalDebugMessage266,9024 -#define MAX_DATA_LEN 274,9245 -#define STATUS_UPDATE_INTERVAL 277,9328 -#define STATUS_RATION 280,9431 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa28_fw.h,68 -static const struct ezusb_hex_record keyspan_usa28_firmware[25,915 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/whiteheat_fw.h,301 -#define whiteheat_DATE 44,1794 -struct whiteheat_hex_record whiteheat_hex_record46,1829 -static const struct whiteheat_hex_record whiteheat_firmware[52,1912 -static const struct whiteheat_hex_record whiteheat_loader[1109,112168 -static const struct whiteheat_hex_record whiteheat_loader[1397,138760 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/ezusb.c,85 -#define CPUCS_REG 22,629 -int ezusb_writememory 24,658 -int ezusb_set_reset 46,1381 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_pda_fw.h,66 -static const struct ezusb_hex_record keyspan_pda_firmware[15,413 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa28msg.h,629 -#define __USA28MSG__91,3239 -struct keyspan_usa28_portControlMessagekeyspan_usa28_portControlMessage94,3262 -struct keyspan_usa28_portStatusMessagekeyspan_usa28_portStatusMessage147,5280 -#define TX_OFF 166,5886 -#define TX_XOFF 167,5943 -struct keyspan_usa28_globalControlMessagekeyspan_usa28_globalControlMessage169,6004 -struct keyspan_usa28_globalStatusMessagekeyspan_usa28_globalStatusMessage176,6204 -struct keyspan_usa28_globalDebugMessagekeyspan_usa28_globalDebugMessage183,6355 -#define MAX_DATA_LEN 191,6549 -#define RX_PARITY_BIT 194,6626 -#define TX_PARITY_BIT 195,6655 -#define STATUS_UPDATE_INTERVAL 198,6741 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan.c,2600 -static int debug;114,4261 -#define DRIVER_VERSION 119,4310 -#define DRIVER_AUTHOR 120,4342 -#define DRIVER_DESC 121,4394 -#define INSTAT_BUFLEN 123,4456 -#define GLOCONT_BUFLEN 124,4481 -struct keyspan_serial_private keyspan_serial_private127,4552 -struct keyspan_port_private keyspan_port_private138,4811 - enum {flow_none,168,5578 - enum {flow_none, flow_cts,168,5578 - enum {flow_none, flow_cts, flow_xon}168,5578 -static int __init keyspan_init 192,6285 -static void __exit keyspan_exit 226,7229 -static void keyspan_rx_throttle 238,7553 -static void keyspan_rx_unthrottle 244,7672 -static void keyspan_break_ctl 250,7793 -static void keyspan_set_termios 267,8097 -static int keyspan_tiocmget(300,9142 -static int keyspan_tiocmset(317,9605 -static int keyspan_ioctl(337,10050 -static int keyspan_write(345,10315 -static void usa26_indat_callback(425,12546 -static void usa2x_outdat_callback(483,14133 -static void usa26_inack_callback(496,14491 -static void usa26_outcont_callback(502,14598 -static void usa26_instat_callback(516,14988 -static void usa26_glocont_callback(578,16837 -static void usa28_indat_callback(585,16946 -static void usa28_inack_callback(633,18204 -static void usa28_outcont_callback(638,18308 -static void usa28_instat_callback(652,18697 -static void usa28_glocont_callback(713,20518 -static void usa49_glocont_callback(719,20625 -static void usa49_instat_callback(743,21220 -static void usa49_inack_callback(806,23074 -static void usa49_indat_callback(811,23178 -static void usa49_outcont_callback(864,24613 -static void usa90_indat_callback(869,24719 -static void usa90_instat_callback(943,26608 -static void usa90_outcont_callback(994,27994 -static int keyspan_write_room 1008,28384 -static int keyspan_chars_in_buffer 1040,29170 -static int keyspan_open 1046,29255 -static inline void stop_urb(1125,31473 -static void keyspan_close(1133,31636 -static int keyspan_fake_startup 1175,32629 -static struct urb *keyspan_setup_urb 1290,35492 -static struct callbacks callbacks1314,36172 -} keyspan_callbacks[1321,36570 -static void keyspan_setup_urbs(1359,37866 -static int keyspan_usa19_calc_baud(1431,40082 -static int keyspan_usa19hs_calc_baud(1478,41269 -static int keyspan_usa19w_calc_baud(1512,42106 -static int keyspan_usa28_calc_baud(1578,43682 -static int keyspan_usa26_send_setup(1628,44865 -static int keyspan_usa28_send_setup(1785,48819 -static int keyspan_usa49_send_setup(1910,52013 -static int keyspan_usa90_send_setup(2077,56227 -static void keyspan_send_setup(2215,59709 -static int keyspan_startup 2245,60491 -static void keyspan_shutdown 2297,62058 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/ipaq.c,1022 -#define KP_RETRIES 62,2068 -#define DRIVER_VERSION 68,2123 -#define DRIVER_AUTHOR 69,2153 -#define DRIVER_DESC 70,2217 -static __u16 product,72,2264 -static __u16 product, vendor;72,2264 -static int debug;73,2294 -static struct usb_device_id ipaq_id_table 92,3237 -static struct usb_driver ipaq_driver 139,5384 -static struct usb_serial_device_type ipaq_device 149,5621 -static spinlock_t write_list_lock;168,6149 -static int bytes_in;169,6184 -static int bytes_out;170,6206 -static int ipaq_open(172,6230 -static void ipaq_close(282,9266 -static void ipaq_read_bulk_callback(301,9805 -static int ipaq_write(342,11189 -static int ipaq_write_bulk(365,11752 -static void ipaq_write_gather(417,13158 -static void ipaq_write_bulk_callback(458,14340 -static int ipaq_write_room(487,15173 -static int ipaq_chars_in_buffer(495,15376 -static void ipaq_destroy_lists(503,15587 -static int ipaq_startup(525,16103 -static void ipaq_shutdown(536,16404 -static int __init ipaq_init(541,16488 -static void __exit ipaq_exit(565,17003 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/ftdi_sio.h,7520 -#define FTDI_VID 25,910 -#define FTDI_SIO_PID 26,950 -#define FTDI_8U232AM_PID 27,1023 -#define FTDI_8U232AM_ALT_PID 28,1089 -#define FTDI_8U2232C_PID 29,1162 -#define FTDI_RELAIS_PID 30,1220 -#define FTDI_NF_RIC_VID 31,1291 -#define FTDI_NF_RIC_PID 32,1338 -#define FTDI_IRTRANS_PID 35,1415 -#define FTDI_XF_632_PID 39,1636 -#define FTDI_XF_634_PID 40,1701 -#define FTDI_XF_547_PID 41,1766 -#define FTDI_XF_633_PID 42,1825 -#define FTDI_XF_631_PID 43,1900 -#define FTDI_XF_635_PID 44,1965 -#define FTDI_XF_640_PID 45,2030 -#define FTDI_XF_642_PID 46,2089 -#define FTDI_VNHCPCUSB_D_PID 51,2384 -#define FTDI_MTXORB_0_PID 57,2566 -#define FTDI_MTXORB_1_PID 58,2637 -#define FTDI_MTXORB_2_PID 59,2708 -#define FTDI_MTXORB_3_PID 60,2779 -#define FTDI_MTXORB_4_PID 61,2850 -#define FTDI_MTXORB_5_PID 62,2921 -#define FTDI_MTXORB_6_PID 63,2992 -#define INTERBIOMETRICS_VID 67,3153 -#define INTERBIOMETRICS_IOBOARD_PID 68,3201 -#define INTERBIOMETRICS_MINI_IOBOARD_PID 69,3249 -#define FTDI_PERLE_ULTRAPORT_PID 75,3394 -#define SEALEVEL_VID 82,3686 -#define SEALEVEL_2101_PID 83,3740 -#define SEALEVEL_2102_PID 84,3803 -#define SEALEVEL_2103_PID 85,3861 -#define SEALEVEL_2104_PID 86,3920 -#define SEALEVEL_2201_1_PID 87,3979 -#define SEALEVEL_2201_2_PID 88,4048 -#define SEALEVEL_2202_1_PID 89,4117 -#define SEALEVEL_2202_2_PID 90,4186 -#define SEALEVEL_2203_1_PID 91,4255 -#define SEALEVEL_2203_2_PID 92,4320 -#define SEALEVEL_2401_1_PID 93,4385 -#define SEALEVEL_2401_2_PID 94,4454 -#define SEALEVEL_2401_3_PID 95,4523 -#define SEALEVEL_2401_4_PID 96,4592 -#define SEALEVEL_2402_1_PID 97,4661 -#define SEALEVEL_2402_2_PID 98,4730 -#define SEALEVEL_2402_3_PID 99,4799 -#define SEALEVEL_2402_4_PID 100,4868 -#define SEALEVEL_2403_1_PID 101,4937 -#define SEALEVEL_2403_2_PID 102,5002 -#define SEALEVEL_2403_3_PID 103,5067 -#define SEALEVEL_2403_4_PID 104,5132 -#define SEALEVEL_2801_1_PID 105,5197 -#define SEALEVEL_2801_2_PID 106,5266 -#define SEALEVEL_2801_3_PID 107,5335 -#define SEALEVEL_2801_4_PID 108,5404 -#define SEALEVEL_2801_5_PID 109,5473 -#define SEALEVEL_2801_6_PID 110,5542 -#define SEALEVEL_2801_7_PID 111,5611 -#define SEALEVEL_2801_8_PID 112,5680 -#define SEALEVEL_2802_1_PID 113,5749 -#define SEALEVEL_2802_2_PID 114,5818 -#define SEALEVEL_2802_3_PID 115,5887 -#define SEALEVEL_2802_4_PID 116,5956 -#define SEALEVEL_2802_5_PID 117,6025 -#define SEALEVEL_2802_6_PID 118,6094 -#define SEALEVEL_2802_7_PID 119,6163 -#define SEALEVEL_2802_8_PID 120,6232 -#define SEALEVEL_2803_1_PID 121,6301 -#define SEALEVEL_2803_2_PID 122,6366 -#define SEALEVEL_2803_3_PID 123,6432 -#define SEALEVEL_2803_4_PID 124,6498 -#define SEALEVEL_2803_5_PID 125,6564 -#define SEALEVEL_2803_6_PID 126,6630 -#define SEALEVEL_2803_7_PID 127,6696 -#define SEALEVEL_2803_8_PID 128,6762 -#define FTDI_DSS20_PID 134,6884 -#define FTDI_HE_TIRA1_PID 139,6988 -#define FTDI_USB_UIRT_PID 143,7184 -#define FTDI_ELV_UO100_PID 146,7290 -#define IDTECH_VID 151,7402 -#define IDTECH_IDT1221U_PID 152,7453 -#define OCT_VID 157,7601 -#define OCT_US101_PID 160,7769 -#define FTDI_PIEGROUP_PID 163,7894 -#define PROTEGO_SPECIAL_1 168,7975 -#define PROTEGO_R2X0 169,8037 -#define PROTEGO_SPECIAL_3 170,8114 -#define PROTEGO_SPECIAL_4 171,8176 -#define FTDI_GUDEADS_E808_PID 176,8286 -#define FTDI_GUDEADS_E809_PID 177,8326 -#define FTDI_GUDEADS_E80A_PID 178,8366 -#define FTDI_GUDEADS_E80B_PID 179,8406 -#define FTDI_GUDEADS_E80C_PID 180,8446 -#define FTDI_GUDEADS_E80D_PID 181,8486 -#define FTDI_GUDEADS_E80E_PID 182,8526 -#define FTDI_GUDEADS_E80F_PID 183,8566 -#define FTDI_GUDEADS_E888_PID 184,8606 -#define FTDI_GUDEADS_E889_PID 185,8677 -#define FTDI_GUDEADS_E88A_PID 186,8746 -#define FTDI_GUDEADS_E88B_PID 187,8786 -#define FTDI_GUDEADS_E88C_PID 188,8826 -#define FTDI_GUDEADS_E88D_PID 189,8866 -#define FTDI_GUDEADS_E88E_PID 190,8906 -#define FTDI_GUDEADS_E88F_PID 191,8946 -#define LINX_SDMUSBQSS_PID 196,9027 -#define LINX_MASTERDEVEL2_PID 197,9085 -#define LINX_FUTURE_0_PID 198,9160 -#define LINX_FUTURE_1_PID 199,9222 -#define LINX_FUTURE_2_PID 200,9284 -#define FTDI_CCSICDU20_0_PID 204,9464 -#define FTDI_CCSICDU40_1_PID 205,9508 -#define INSIDE_ACCESSO 208,9619 -#define INTREPID_VID 213,9734 -#define INTREPID_VALUECAN_PID 214,9763 -#define INTREPID_NEOVI_PID 215,9800 -#define FALCOM_VID 220,9881 -#define FALCOM_TWIST_PID 221,9924 -#define FTDI_SUUNTO_SPORTS_PID 226,10020 -#define FTDI_SIO_RESET 229,10105 -#define FTDI_SIO_MODEM_CTRL 230,10153 -#define FTDI_SIO_SET_FLOW_CTRL 231,10221 -#define FTDI_SIO_SET_BAUD_RATE 232,10286 -#define FTDI_SIO_SET_DATA 233,10339 -#define FTDI_SIO_GET_MODEM_STATUS 234,10414 -#define FTDI_SIO_SET_EVENT_CHAR 235,10505 -#define FTDI_SIO_SET_ERROR_CHAR 236,10569 -#define INTERFACE_A 239,10672 -#define INTERFACE_B 240,10695 -#define PIT_DEFAULT 254,10979 -#define PIT_SIOA 255,11014 -#define PIT_SIOB 257,11111 -#define PIT_PARALLEL 258,11142 -#define FTDI_SIO_RESET_REQUEST 261,11203 -#define FTDI_SIO_RESET_REQUEST_TYPE 262,11249 -#define FTDI_SIO_RESET_SIO 263,11290 -#define FTDI_SIO_RESET_PURGE_RX 264,11319 -#define FTDI_SIO_RESET_PURGE_TX 265,11353 -#define FTDI_SIO_SET_BAUDRATE_REQUEST_TYPE 294,12042 -#define FTDI_SIO_SET_BAUDRATE_REQUEST 295,12090 - SIO 349,14588 - FT8U232AM 350,14598 - FT232BM 351,14614 - FT2232C 352,14628 -} ftdi_chip_type_t;ftdi_chip_type_t353,14642 - ftdi_sio_b300 356,14678 - ftdi_sio_b600 357,14699 - ftdi_sio_b1200 358,14720 - ftdi_sio_b2400 359,14741 - ftdi_sio_b4800 360,14762 - ftdi_sio_b9600 361,14783 - ftdi_sio_b19200 362,14804 - ftdi_sio_b38400 363,14826 - ftdi_sio_b57600 364,14848 - ftdi_sio_b115200 365,14870 -} FTDI_SIO_baudrate_t FTDI_SIO_baudrate_t366,14892 -#define FTDI_SIO_SET_DATA_REQUEST 373,15042 -#define FTDI_SIO_SET_DATA_REQUEST_TYPE 374,15094 -#define FTDI_SIO_SET_DATA_PARITY_NONE 375,15138 -#define FTDI_SIO_SET_DATA_PARITY_ODD 376,15188 -#define FTDI_SIO_SET_DATA_PARITY_EVEN 377,15237 -#define FTDI_SIO_SET_DATA_PARITY_MARK 378,15287 -#define FTDI_SIO_SET_DATA_PARITY_SPACE 379,15337 -#define FTDI_SIO_SET_DATA_STOP_BITS_1 380,15388 -#define FTDI_SIO_SET_DATA_STOP_BITS_15 381,15439 -#define FTDI_SIO_SET_DATA_STOP_BITS_2 382,15491 -#define FTDI_SIO_SET_BREAK 383,15542 -#define FTDI_SIO_SET_MODEM_CTRL_REQUEST_TYPE 417,16204 -#define FTDI_SIO_SET_MODEM_CTRL_REQUEST 418,16254 -#define FTDI_SIO_SET_DTR_MASK 433,16708 -#define FTDI_SIO_SET_DTR_HIGH 434,16742 -#define FTDI_SIO_SET_DTR_LOW 435,16810 -#define FTDI_SIO_SET_RTS_MASK 436,16878 -#define FTDI_SIO_SET_RTS_HIGH 437,16912 -#define FTDI_SIO_SET_RTS_LOW 438,16980 -#define FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE 459,17419 -#define FTDI_SIO_SET_FLOW_CTRL_REQUEST 460,17468 -#define FTDI_SIO_DISABLE_FLOW_CTRL 461,17530 -#define FTDI_SIO_RTS_CTS_HS 462,17570 -#define FTDI_SIO_DTR_DSR_HS 463,17609 -#define FTDI_SIO_XON_XOFF_HS 464,17648 -#define FTDI_SIO_SET_EVENT_CHAR_REQUEST 500,18692 -#define FTDI_SIO_SET_EVENT_CHAR_REQUEST_TYPE 501,18757 -#define FTDI_SIO_GET_MODEM_STATUS_REQUEST_TYPE 545,19731 -#define FTDI_SIO_GET_MODEM_STATUS_REQUEST 546,19783 -#define FTDI_SIO_CTS_MASK 547,19851 -#define FTDI_SIO_DSR_MASK 548,19882 -#define FTDI_SIO_RI_MASK 549,19913 -#define FTDI_SIO_RLSD_MASK 550,19944 -#define FTDI_RS0_CTS 675,23939 -#define FTDI_RS0_DSR 676,23969 -#define FTDI_RS0_RI 677,23999 -#define FTDI_RS0_RLSD 678,24028 -#define FTDI_RS_DR 680,24060 -#define FTDI_RS_OE 681,24082 -#define FTDI_RS_PE 682,24108 -#define FTDI_RS_FE 683,24134 -#define FTDI_RS_BI 684,24160 -#define FTDI_RS_THRE 685,24186 -#define FTDI_RS_TEMT 686,24214 -#define FTDI_RS_FIFO 687,24242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_fw_down3.h,211 -static int IMAGE_SIZE 8,290 -struct EDGE_FIRMWARE_VERSION_INFOEDGE_FIRMWARE_VERSION_INFO10,322 -static struct EDGE_FIRMWARE_VERSION_INFO IMAGE_VERSION_NAME 17,454 -static unsigned char IMAGE_ARRAY_NAME[23,557 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_ti.c,3480 -static int debug;43,1142 -#define DRIVER_VERSION 48,1191 -#define DRIVER_AUTHOR 49,1221 -#define DRIVER_DESC 50,1301 -#define IMAGE_VERSION_NAME 54,1378 -#define IMAGE_ARRAY_NAME 55,1440 -#define IMAGE_SIZE 56,1493 -#define EPROM_PAGE_SIZE 59,1608 -struct edgeport_uart_buf_desc edgeport_uart_buf_desc62,1638 -#define HARDWARE_TYPE_930 67,1759 -#define HARDWARE_TYPE_TIUMP 68,1787 -#define TI_MODE_CONFIGURING 71,1859 -#define TI_MODE_BOOT 72,1931 -#define TI_MODE_DOWNLOAD 73,1981 -#define TI_MODE_TRANSITIONING 74,2038 -struct product_infoproduct_info78,2184 -struct edgeport_port edgeport_port85,2311 -struct edgeport_serial edgeport_serial107,2883 -static struct usb_device_id edgeport_1port_id_table 117,3147 -static struct usb_device_id edgeport_2port_id_table 122,3280 -static struct usb_device_id id_table_combined 136,3982 -static struct usb_driver io_driver 152,4750 -static struct EDGE_FIRMWARE_VERSION_INFO OperationalCodeImageVersion;161,4934 -static int TIStayInBootMode 163,5005 -static int ignore_cpu_rev 164,5038 -static int TIReadVendorRequestSync 170,5163 -static int TISendVendorRequestSync 200,5697 -static int TIWriteCommandSync 231,6233 -static int TIPurgeDataSync 246,6609 -static int TIReadDownloadMemory(268,7221 -static int TIReadRam 317,8434 -static int TIReadBootMemory 327,8699 -static int TIWriteBootMemory 354,9474 -static int TIWriteDownloadI2C 386,10305 -static int TIIsTxActive 456,12522 -static void TIChasePort(513,13854 -static int TIChooseConfiguration 583,15460 -static int TIReadRom 601,16116 -static int TIWriteRom 621,16568 -static int TIGetDescriptorAddress 642,17063 -static int ValidChecksum(668,17682 -static int TiValidateI2cImage 684,18032 -static int TIReadManufDescriptor 759,19942 -static int BuildI2CFirmwareHeader 803,21290 -static int TIGetI2cTypeInBootMode 865,23398 -static int TISendBulkTransferSync 909,24699 -static int TIDownloadCodeImage 924,25069 -static int TIConfigureBootDevice 950,25651 -static int TIDownloadFirmware 961,25937 - #define HEADER_SIZE 1162,32784 -static int TISetDtr 1391,39515 -static int TIClearDtr 1406,39848 -static int TISetRts 1421,40186 -static int TIClearRts 1436,40519 -static int TISetLoopBack 1451,40857 -static int TIClearLoopBack 1465,41170 -static int TISetBreak 1479,41487 -static int TIClearBreak 1493,41794 -static int TIRestoreMCR 1507,42105 -static __u8 MapLineStatus 1540,42623 -#define MAP_FLAG(MAP_FLAG1544,42681 -static void handle_new_msr 1560,43213 -static void handle_new_lsr 1587,43891 -static void edge_interrupt_callback 1623,44819 -static void edge_bulk_in_callback 1713,47236 -static void edge_bulk_out_callback 1778,49140 -static int edge_open 1803,49772 -static void edge_close 1954,53858 -static int edge_write 1998,55149 -static int edge_write_room 2052,56555 -static int edge_chars_in_buffer 2073,57013 -static void edge_throttle 2094,57500 -static void edge_unthrottle 2127,58231 -static void change_port_settings 2166,59141 -static void edge_set_termios 2318,63422 -static int edge_tiocmset 2359,64534 -static int edge_tiocmget(2388,65165 -static int get_serial_info 2412,65909 -static int edge_ioctl 2440,66603 -static void edge_break 2502,68553 -static int edge_startup 2523,69035 -static void edge_shutdown 2565,70171 -static struct usb_serial_device_type edgeport_1port_device 2580,70490 -static struct usb_serial_device_type edgeport_2port_device 2605,71185 -static int __init edgeport_init(2631,71881 -static void __exit edgeport_exit 2653,72468 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_fw_boot.h,377 -#define DEFINED_EDGE_FIRMWARE_IMAGE_RECORD14,588 - struct edge_firmware_image_record edge_firmware_image_record15,631 - struct edge_firmware_version_info edge_firmware_version_info22,795 -#define IMAGE_ARRAY_NAME 31,968 -#define IMAGE_VERSION_NAME 32,1008 -static unsigned char IMAGE_ARRAY_NAME[35,1064 -static struct edge_firmware_version_info IMAGE_VERSION_NAME 550,47428 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_fw_down.h,382 - #define DEFINED_EDGE_FIRMWARE_IMAGE_RECORD14,588 - struct edge_firmware_image_record edge_firmware_image_record15,632 - struct edge_firmware_version_info edge_firmware_version_info22,795 - #define IMAGE_ARRAY_NAME 31,966 - #define IMAGE_VERSION_NAME 32,1006 -static unsigned char IMAGE_ARRAY_NAME[35,1063 -static struct edge_firmware_version_info IMAGE_VERSION_NAME 1223,115792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/whiteheat.h,3435 -#define __LINUX_USB_SERIAL_WHITEHEAT_H20,591 -#define FALSE 23,632 -#define TRUE 24,648 -#define WHITEHEAT_OPEN 28,690 -#define WHITEHEAT_CLOSE 29,737 -#define WHITEHEAT_SETUP_PORT 30,786 -#define WHITEHEAT_SET_RTS 31,845 -#define WHITEHEAT_SET_DTR 32,899 -#define WHITEHEAT_SET_BREAK 33,953 -#define WHITEHEAT_DUMP 34,1011 -#define WHITEHEAT_STATUS 35,1056 -#define WHITEHEAT_PURGE 36,1101 -#define WHITEHEAT_GET_DTR_RTS 37,1156 -#define WHITEHEAT_GET_HW_INFO 38,1236 -#define WHITEHEAT_REPORT_TX_DONE 39,1308 -#define WHITEHEAT_EVENT 40,1371 -#define WHITEHEAT_ECHO 41,1432 -#define WHITEHEAT_DO_TEST 42,1505 -#define WHITEHEAT_CMD_COMPLETE 43,1568 -#define WHITEHEAT_CMD_FAILURE 44,1636 -struct whiteheat_simple whiteheat_simple59,1857 -#define WHITEHEAT_PAR_NONE 67,1958 -#define WHITEHEAT_PAR_EVEN 68,2005 -#define WHITEHEAT_PAR_ODD 69,2054 -#define WHITEHEAT_PAR_SPACE 70,2101 -#define WHITEHEAT_PAR_MARK 71,2162 -#define WHITEHEAT_SFLOW_NONE 73,2222 -#define WHITEHEAT_SFLOW_RX 74,2286 -#define WHITEHEAT_SFLOW_TX 75,2361 -#define WHITEHEAT_SFLOW_RXTX 76,2439 -#define WHITEHEAT_HFLOW_NONE 78,2506 -#define WHITEHEAT_HFLOW_RTS_TOGGLE 79,2572 -#define WHITEHEAT_HFLOW_DTR 80,2659 -#define WHITEHEAT_HFLOW_CTS 81,2735 -#define WHITEHEAT_HFLOW_DSR 82,2819 -#define WHITEHEAT_HFLOW_RTS 83,2903 -struct whiteheat_port_settings whiteheat_port_settings85,2980 -#define WHITEHEAT_RTS_OFF 104,3609 -#define WHITEHEAT_RTS_ON 105,3640 -#define WHITEHEAT_DTR_OFF 106,3670 -#define WHITEHEAT_DTR_ON 107,3701 -#define WHITEHEAT_BREAK_OFF 108,3731 -#define WHITEHEAT_BREAK_ON 109,3764 -struct whiteheat_set_rdb whiteheat_set_rdb111,3797 -#define WHITEHEAT_DUMP_MEM_DATA 120,3938 -#define WHITEHEAT_DUMP_MEM_IDATA 121,3987 -#define WHITEHEAT_DUMP_MEM_BDATA 122,4037 -#define WHITEHEAT_DUMP_MEM_XDATA 123,4087 -struct whiteheat_dump whiteheat_dump140,4563 -#define WHITEHEAT_PURGE_RX 150,4779 -#define WHITEHEAT_PURGE_TX 151,4832 -struct whiteheat_purge whiteheat_purge153,4886 -struct whiteheat_echo whiteheat_echo162,5029 -#define WHITEHEAT_TEST_UART_RW 172,5227 -#define WHITEHEAT_TEST_UART_INTR 173,5297 -#define WHITEHEAT_TEST_SETUP_CONT 174,5357 -#define WHITEHEAT_TEST_PORT_CONT 175,5436 -#define WHITEHEAT_TEST_PORT_DISCONT 176,5494 -#define WHITEHEAT_TEST_UART_CLK_START 177,5558 -#define WHITEHEAT_TEST_UART_CLK_STOP 178,5630 -#define WHITEHEAT_TEST_MODEM_FT 179,5700 -#define WHITEHEAT_TEST_ERASE_EEPROM 180,5796 -#define WHITEHEAT_TEST_READ_EEPROM 181,5857 -#define WHITEHEAT_TEST_PROGRAM_EEPROM 182,5916 -struct whiteheat_test whiteheat_test184,5982 -#define WHITEHEAT_EVENT_MODEM 199,6199 -#define WHITEHEAT_EVENT_ERROR 200,6262 -#define WHITEHEAT_EVENT_FLOW 201,6325 -#define WHITEHEAT_EVENT_CONNECT 202,6386 -#define WHITEHEAT_FLOW_NONE 204,6454 -#define WHITEHEAT_FLOW_HARD_OUT 205,6517 -#define WHITEHEAT_FLOW_HARD_IN 206,6609 -#define WHITEHEAT_FLOW_SOFT_OUT 207,6680 -#define WHITEHEAT_FLOW_SOFT_IN 208,6773 -#define WHITEHEAT_FLOW_TX_DONE 209,6857 -struct whiteheat_status_info whiteheat_status_info211,6918 -struct whiteheat_dr_info whiteheat_dr_info224,7378 -struct whiteheat_hw_info whiteheat_hw_info232,7488 - struct whiteheat_hw_eeprom_info whiteheat_hw_eeprom_info236,7663 -struct whiteheat_event_info whiteheat_event_info260,8454 -#define WHITEHEAT_TEST_FAIL 270,8685 -#define WHITEHEAT_TEST_UNKNOWN 271,8737 -#define WHITEHEAT_TEST_PASS 272,8803 -struct whiteheat_test_info whiteheat_test_info274,8856 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/ir-usb.c,1307 -#define DRIVER_VERSION 66,2282 -#define DRIVER_AUTHOR 67,2312 -#define DRIVER_DESC 68,2372 -#define USB_CLASS_IRDA 71,2454 -#define USB_DT_IRDA 72,2483 -#define IU_REQ_GET_CLASS_DESC 73,2509 -#define SPEED_2400 74,2544 -#define SPEED_9600 75,2569 -#define SPEED_19200 76,2594 -#define SPEED_38400 77,2620 -#define SPEED_57600 78,2646 -#define SPEED_115200 79,2672 -#define SPEED_576000 80,2699 -#define SPEED_1152000 81,2726 -#define SPEED_4000000 82,2754 -struct irda_class_desc irda_class_desc84,2783 -static int debug;97,3031 -static int buffer_size;101,3147 -static int xbof 103,3243 -static u8 ir_baud 113,3808 -static u8 ir_xbof 114,3831 -static u8 ir_add_bof 115,3854 -static struct usb_device_id id_table 117,3881 -static struct usb_driver ir_driver 127,4238 -static struct usb_serial_device_type ir_device 136,4414 -static inline void irda_usb_dump_class_desc(153,4837 -static struct irda_class_desc *irda_usb_find_class_desc(179,5826 -static u8 ir_xbof_change(215,6696 -static int ir_startup 236,7109 -static int ir_open 275,8327 -static void ir_close 320,9632 -static int ir_write 328,9828 -static void ir_write_bulk_callback 390,11343 -static void ir_read_bulk_callback 411,11804 -static void ir_set_termios 499,13739 -static int __init ir_init 586,16130 -static void __exit ir_exit 604,16502 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/belkin_sa.c,911 -static int debug;81,3107 -#define DRIVER_VERSION 86,3156 -#define DRIVER_AUTHOR 87,3186 -#define DRIVER_DESC 88,3252 -static struct usb_device_id id_table_combined 103,4231 -static struct usb_driver belkin_driver 115,4659 -static struct usb_serial_device_type belkin_device 124,4909 -struct belkin_sa_private belkin_sa_private146,5570 -#define WDR_TIMEOUT 161,5957 -#define BSA_USB_CMD(BSA_USB_CMD164,6072 -static int belkin_sa_startup 169,6325 -static void belkin_sa_shutdown 194,7065 -static int belkin_sa_open 211,7428 -static void belkin_sa_close 240,8179 -static void belkin_sa_read_int_callback 251,8487 -static void belkin_sa_set_termios 336,10698 -static void belkin_sa_break_ctl(481,15738 -static int belkin_sa_tiocmget 490,15981 -static int belkin_sa_tiocmset 506,16361 -static int belkin_sa_ioctl 558,17441 -static int __init belkin_sa_init 580,17911 -static void __exit belkin_sa_exit 598,18301 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_edgeport.h,1165 -#define _IO_EDGEPORT_H_16,549 -#define MAX_RS232_PORTS 19,575 - #define TRUE 23,702 - #define FALSE 26,742 - #define LOW8(LOW829,782 - #define HIGH8(HIGH832,849 - #define NUM_ENTRIES(NUM_ENTRIES35,931 -#define __KERNEL__39,1009 -#define MAX_EDGEPORTS 48,1181 -struct comMapper comMapper50,1207 -#define EDGEPORT_CONFIG_DEVICE 58,1491 -#define PROC_GET_MAPPING_TO_PATH 63,1699 -#define PROC_GET_COM_ENTRY 64,1735 -#define PROC_GET_EDGE_MANUF_DESCRIPTOR 65,1765 -#define PROC_GET_BOOT_DESCRIPTOR 66,1806 -#define PROC_GET_PRODUCT_INFO 67,1841 -#define PROC_GET_STRINGS 68,1874 -#define PROC_GET_CURRENT_COM_MAPPING 69,1902 -#define PROC_READ_SETUP(PROC_READ_SETUP72,1995 -#define PROC_SET_COM_MAPPING 76,2121 -#define PROC_SET_COM_ENTRY 77,2154 -struct procWrite procWrite81,2239 -struct edgeport_product_info edgeport_product_info92,2424 -#define EDGESTRING_MANUFNAME 126,3739 -#define EDGESTRING_PRODNAME 127,3794 -#define EDGESTRING_SERIALNUM 128,3844 -#define EDGESTRING_ASSEMNUM 129,3896 -#define EDGESTRING_OEMASSEMNUM 130,3949 -#define EDGESTRING_MANUFDATE 131,4009 -#define EDGESTRING_ORIGSERIALNUM 132,4064 -struct string_block string_block134,4120 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa18x_fw.h,69 -static const struct ezusb_hex_record keyspan_usa18x_firmware[24,916 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/console.c,355 -static int debug;22,541 -struct usbcons_info usbcons_info26,585 -static struct usbcons_info usbcons_info;32,675 -static struct console usbcons;33,716 -static int __init usb_console_setup(57,1520 -static void usb_console_write(198,4280 -static struct console usbcons 229,5050 -void usb_serial_console_init 237,5207 -void usb_serial_console_exit 260,5846 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_pda.c,2099 -static int debug;83,2997 -struct ezusb_hex_record ezusb_hex_record85,3016 - #define KEYSPAN93,3274 - #define XIRCOM98,3402 -#define DRIVER_VERSION 116,3602 -#define DRIVER_AUTHOR 117,3632 -#define DRIVER_DESC 118,3689 -struct keyspan_pda_private keyspan_pda_private120,3745 -#define KEYSPAN_VENDOR_ID 128,3890 -#define KEYSPAN_PDA_FAKE_ID 129,3924 -#define KEYSPAN_PDA_ID 130,3960 -#define XIRCOM_VENDOR_ID 133,4077 -#define XIRCOM_FAKE_ID 134,4110 -#define ENTREGRA_VENDOR_ID 135,4142 -#define ENTREGRA_FAKE_ID 136,4177 -static struct usb_device_id id_table_combined 138,4211 -static struct usb_driver keyspan_pda_driver 152,4607 -static struct usb_device_id id_table_std 160,4805 -static struct usb_device_id id_table_fake 166,4958 -static struct usb_device_id id_table_fake_xircom 173,5123 -static void keyspan_pda_wakeup_write(180,5367 -static void keyspan_pda_request_unthrottle(192,5605 -static void keyspan_pda_rx_interrupt 215,6157 -static void keyspan_pda_rx_throttle 278,7633 -static void keyspan_pda_rx_unthrottle 292,8164 -static int keyspan_pda_setbaud 303,8501 -static void keyspan_pda_break_ctl 338,9405 -static void keyspan_pda_set_termios 362,10162 -static int keyspan_pda_get_modem_info(411,12193 -static int keyspan_pda_set_modem_info(426,12549 -static int keyspan_pda_tiocmget(437,12856 -static int keyspan_pda_tiocmset(457,13370 -static int keyspan_pda_ioctl(481,13889 -static int keyspan_pda_write(496,14238 -static void keyspan_pda_write_bulk_callback 609,17475 -static int keyspan_pda_write_room 621,17793 -static int keyspan_pda_chars_in_buffer 635,18148 -static int keyspan_pda_open 649,18525 -static void keyspan_pda_close(699,19786 -static int keyspan_pda_fake_startup 716,20286 -static int keyspan_pda_startup 759,21524 -static void keyspan_pda_shutdown 780,22128 -static struct usb_serial_device_type keyspan_pda_fake_device 788,22288 -static struct usb_serial_device_type xircom_pgs_fake_device 802,22669 -static struct usb_serial_device_type keyspan_pda_device 815,23051 -static int __init keyspan_pda_init 843,23925 -static void __exit keyspan_pda_exit 881,24792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa19w_fw.h,69 -static const struct ezusb_hex_record keyspan_usa19w_firmware[24,916 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa28xb_fw.h,70 -static const struct ezusb_hex_record keyspan_usa28xb_firmware[25,919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/usb-serial.h,923 -#define __LINUX_USB_SERIAL_H55,1582 -#define SERIAL_TTY_MAJOR 60,1663 -#define SERIAL_TTY_MINORS 61,1720 -#define MAX_NUM_PORTS 63,1777 -#define RELEVANT_IFLAG(RELEVANT_IFLAG66,1889 -struct usb_serial_port usb_serial_port93,3240 -#define to_usb_serial_port(to_usb_serial_port116,3767 -static inline void *usb_get_serial_port_data 119,3908 -static inline void usb_set_serial_port_data 124,4026 -struct usb_serial usb_serial147,5103 -#define to_usb_serial(to_usb_serial163,5513 -#define NUM_DONT_CARE 165,5580 -static inline void *usb_get_serial_data 168,5675 -static inline void usb_set_serial_data 173,5773 -struct usb_serial_device_type usb_serial_device_type216,8074 -#define to_usb_serial_driver(to_usb_serial_driver256,9774 -static inline void usb_serial_console_init 273,10599 -static inline void usb_serial_console_exit 274,10669 -static inline void usb_serial_debug_data(297,11977 -#define dbg(dbg314,12348 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/generic.c,825 -static int debug;24,593 -static __u16 vendor 27,645 -static __u16 product 28,676 -static struct usb_device_id generic_device_ids[36,893 -struct usb_serial_device_type usb_serial_generic_device 39,1042 -static struct usb_device_id generic_serial_ids[53,1491 -static int generic_probe(58,1574 -static struct usb_driver generic_driver 69,1864 -int usb_serial_generic_register 78,2069 -void usb_serial_generic_deregister 100,2641 -int usb_serial_generic_open 109,2848 -static void generic_cleanup 141,3935 -void usb_serial_generic_close 156,4300 -int usb_serial_generic_write 162,4461 -int usb_serial_generic_write_room 217,6032 -int usb_serial_generic_chars_in_buffer 233,6385 -void usb_serial_generic_read_bulk_callback 249,6766 -void usb_serial_generic_write_bulk_callback 294,8287 -void usb_serial_generic_shutdown 310,8685 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/empeg.c,1149 -static int debug;68,2069 -#define DRIVER_VERSION 73,2118 -#define DRIVER_AUTHOR 74,2148 -#define DRIVER_DESC 75,2246 -#define EMPEG_VENDOR_ID 77,2296 -#define EMPEG_PRODUCT_ID 78,2329 -static struct usb_device_id id_table 101,3434 -static struct usb_driver empeg_driver 108,3605 -static struct usb_serial_device_type empeg_device 116,3782 -#define NUM_URBS 139,4420 -#define URB_TRANSFER_BUFFER_SIZE 140,4442 -static struct urb *write_urb_pool[142,4481 -static spinlock_t write_urb_pool_lock;143,4526 -static int bytes_in;144,4565 -static int bytes_out;145,4587 -static int empeg_open 150,4807 -static void empeg_close 183,5550 -static int empeg_write 194,5918 -static int empeg_write_room 281,7940 -static int empeg_chars_in_buffer 307,8449 -static void empeg_write_bulk_callback 333,8964 -static void empeg_read_bulk_callback 348,9316 -static void empeg_throttle 406,10814 -static void empeg_unthrottle 413,10962 -static int empeg_startup 430,11306 -static void empeg_shutdown 450,11711 -static int empeg_ioctl 456,11799 -static void empeg_set_termios 464,12006 -static int __init empeg_init 523,13935 -static void __exit empeg_exit 570,14990 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/pl2303.c,2012 -#define DRIVER_VERSION 58,1516 -#define DRIVER_DESC 59,1547 -static int debug;61,1615 -static struct usb_device_id id_table 63,1634 -static struct usb_driver pl2303_driver 84,2566 -#define SET_LINE_REQUEST_TYPE 92,2745 -#define SET_LINE_REQUEST 93,2781 -#define SET_CONTROL_REQUEST_TYPE 95,2813 -#define SET_CONTROL_REQUEST 96,2851 -#define CONTROL_DTR 97,2885 -#define CONTROL_RTS 98,2912 -#define BREAK_REQUEST_TYPE 100,2940 -#define BREAK_REQUEST 101,2973 -#define BREAK_ON 102,3003 -#define BREAK_OFF 103,3029 -#define GET_LINE_REQUEST_TYPE 105,3057 -#define GET_LINE_REQUEST 106,3093 -#define VENDOR_WRITE_REQUEST_TYPE 108,3125 -#define VENDOR_WRITE_REQUEST 109,3164 -#define VENDOR_READ_REQUEST_TYPE 111,3200 -#define VENDOR_READ_REQUEST 112,3238 -#define UART_STATE 114,3273 -#define UART_STATE_TRANSIENT_MASK 115,3299 -#define UART_DCD 116,3338 -#define UART_DSR 117,3362 -#define UART_BREAK_ERROR 118,3386 -#define UART_RING 119,3417 -#define UART_FRAME_ERROR 120,3442 -#define UART_PARITY_ERROR 121,3473 -#define UART_OVERRUN_ERROR 122,3505 -#define UART_CTS 123,3538 -static struct usb_serial_device_type pl2303_device 146,4785 -enum pl2303_type pl2303_type169,5449 - type_0,170,5468 - type_1,171,5529 - HX,172,5593 -struct pl2303_private pl2303_private175,5639 -static int pl2303_startup 185,5805 -static int set_control_lines 214,6610 -static int pl2303_write 225,6919 -static void pl2303_set_termios 262,7898 -static int pl2303_open 427,12610 -#define FISH(FISH444,13080 -#define SOUP(SOUP449,13283 -static void pl2303_close 505,15289 -static int pl2303_tiocmset 548,16398 -static int pl2303_tiocmget 570,17041 -static int wait_modem_info(597,17799 -static int pl2303_ioctl 633,18748 -static void pl2303_break_ctl 650,19164 -static void pl2303_shutdown 672,19738 -static void pl2303_read_int_callback 685,19988 -static void pl2303_read_bulk_callback 732,21274 -static void pl2303_write_bulk_callback 815,23704 -static int __init pl2303_init 839,24434 -static void __exit pl2303_exit 857,24821 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_usbvend.h,8865 -#define _USBVEND_H19,733 -#define USB_VENDOR_ID_ION 31,991 -#define USB_VENDOR_ID_TI 32,1036 -#define ION_OEM_ID_ION 43,1356 -#define ION_OEM_ID_NLYNX 44,1410 -#define ION_OEM_ID_GENERIC 45,1459 -#define ION_OEM_ID_MAC 46,1508 -#define ION_OEM_ID_MEGAWOLF 47,1554 -#define ION_OEM_ID_MULTITECH 48,1626 -#define ION_OEM_ID_AGILENT 49,1686 -#define ION_DEVICE_ID_80251_NETCHIP 55,1847 -#define ION_DEVICE_ID_GENERATION_1 58,1989 -#define ION_DEVICE_ID_GENERATION_2 59,2062 -#define ION_DEVICE_ID_GENERATION_3 60,2130 -#define ION_DEVICE_ID_GENERATION_4 61,2215 -#define ION_GENERATION_MASK 62,2287 -#define ION_DEVICE_ID_HUB_MASK 64,2322 -#define EDGEPORT_DEVICE_ID_MASK 68,2506 -#define ION_DEVICE_ID_UNCONFIGURED_EDGE_DEVICE 70,2589 -#define ION_DEVICE_ID_EDGEPORT_4 71,2667 -#define ION_DEVICE_ID_EDGEPORT_8R 72,2727 -#define ION_DEVICE_ID_RAPIDPORT_4 73,2798 -#define ION_DEVICE_ID_EDGEPORT_4T 74,2854 -#define ION_DEVICE_ID_EDGEPORT_2 75,2944 -#define ION_DEVICE_ID_EDGEPORT_4I 76,3004 -#define ION_DEVICE_ID_EDGEPORT_2I 77,3065 -#define ION_DEVICE_ID_EDGEPORT_8RR 78,3132 -#define ION_DEVICE_ID_EDGEPORT_PARALLEL_PORT 81,3479 -#define ION_DEVICE_ID_EDGEPORT_421 82,3571 -#define ION_DEVICE_ID_EDGEPORT_21 83,3648 -#define ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU 84,3720 -#define ION_DEVICE_ID_EDGEPORT_8 85,3826 -#define ION_DEVICE_ID_EDGEPORT_2_DIN 86,3893 -#define ION_DEVICE_ID_EDGEPORT_4_DIN 87,3982 -#define ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU 88,4071 -#define ION_DEVICE_ID_EDGEPORT_COMPATIBLE 89,4170 -#define ION_DEVICE_ID_EDGEPORT_8I 90,4271 -#define ION_DEVICE_ID_EDGEPORT_1 91,4345 -#define ION_DEVICE_ID_EPOS44 92,4405 -#define ION_DEVICE_ID_EDGEPORT_42 93,4478 -#define ION_DEVICE_ID_EDGEPORT_412_8 94,4534 -#define ION_DEVICE_ID_EDGEPORT_412_4 95,4606 -#define ION_DEVICE_ID_EDGEPORT_22I 96,4678 -#define ION_DEVICE_ID_EDGEPORT_2C 99,4855 -#define ION_DEVICE_ID_EDGEPORT_221C 100,4948 -#define ION_DEVICE_ID_EDGEPORT_22C 102,5097 -#define ION_DEVICE_ID_EDGEPORT_21C 104,5228 -#define ION_DEVICE_ID_TI3410_EDGEPORT_1 116,5637 -#define ION_DEVICE_ID_TI3410_EDGEPORT_1I 117,5704 -#define ION_DEVICE_ID_EDGEPORT_4S 120,5838 -#define ION_DEVICE_ID_EDGEPORT_8S 121,5922 -#define ION_DEVICE_ID_EDGEPORT_E 124,6033 -#define ION_DEVICE_ID_TI_EDGEPORT_4 127,6133 -#define ION_DEVICE_ID_TI_EDGEPORT_2 128,6197 -#define ION_DEVICE_ID_TI_EDGEPORT_4I 129,6261 -#define ION_DEVICE_ID_TI_EDGEPORT_2I 130,6327 -#define ION_DEVICE_ID_TI_EDGEPORT_421 131,6399 -#define ION_DEVICE_ID_TI_EDGEPORT_21 132,6519 -#define ION_DEVICE_ID_TI_EDGEPORT_8 133,6631 -#define ION_DEVICE_ID_TI_EDGEPORT_1 134,6702 -#define ION_DEVICE_ID_TI_EDGEPORT_42 135,6766 -#define ION_DEVICE_ID_TI_EDGEPORT_22I 136,6840 -#define ION_DEVICE_ID_TI_EDGEPORT_2C 137,6962 -#define ION_DEVICE_ID_TI_EDGEPORT_221C 138,7028 -#define ION_DEVICE_ID_TI_EDGEPORT_22C 140,7181 -#define ION_DEVICE_ID_TI_EDGEPORT_21C 142,7316 -#define ION_DEVICE_ID_TI_TI3410_EDGEPORT_1 145,7485 -#define ION_DEVICE_ID_TI_TI3410_EDGEPORT_1I 146,7554 -#define ION_DEVICE_ID_TI_EDGEPORT_4S 149,7691 -#define ION_DEVICE_ID_IT_EDGEPORT_8S 150,7778 -#define ION_DEVICE_ID_WP_UNSERIALIZED 160,8139 -#define ION_DEVICE_ID_WP_PROXIMITY 161,8243 -#define ION_DEVICE_ID_WP_MOTION 162,8313 -#define ION_DEVICE_ID_WP_MOISTURE 163,8368 -#define ION_DEVICE_ID_WP_TEMPERATURE 164,8424 -#define ION_DEVICE_ID_WP_HUMIDITY 165,8483 -#define ION_DEVICE_ID_WP_POWER 167,8540 -#define ION_DEVICE_ID_WP_LIGHT 168,8592 -#define ION_DEVICE_ID_WP_RADIATION 169,8644 -#define ION_DEVICE_ID_WP_ACCELERATION 170,8699 -#define ION_DEVICE_ID_WP_DISTANCE 171,8759 -#define ION_DEVICE_ID_WP_PROX_DIST 172,8828 -#define ION_DEVICE_ID_PLUS_PWR_HP4CD 175,8940 -#define ION_DEVICE_ID_PLUS_PWR_HP4C 176,9027 -#define ION_DEVICE_ID_PLUS_PWR_PCI 177,9102 -#define USB_VENDOR_ID_AXIOHM 183,9240 -#define AXIOHM_DEVICE_ID_MASK 185,9293 -#define AXIOHM_DEVICE_ID_EPIC_A758 186,9332 -#define AXIOHM_DEVICE_ID_EPIC_A794 187,9375 -#define AXIOHM_DEVICE_ID_EPIC_A225 188,9418 -#define USB_VENDOR_ID_NCR 194,9508 -#define NCR_DEVICE_ID_MASK 196,9555 -#define NCR_DEVICE_ID_EPIC_0202 197,9591 -#define NCR_DEVICE_ID_EPIC_0203 198,9632 -#define NCR_DEVICE_ID_EPIC_0310 199,9673 -#define NCR_DEVICE_ID_EPIC_0311 200,9714 -#define NCR_DEVICE_ID_EPIC_0312 201,9755 -#define USB_VENDOR_ID_SYMBOL 207,9846 -#define SYMBOL_DEVICE_ID_MASK 208,9898 -#define SYMBOL_DEVICE_ID_KEYFOB 209,9937 -#define ION_DEVICE_ID_MT4X56USB 214,10020 -#define GENERATION_ID_FROM_USB_PRODUCT_ID(GENERATION_ID_FROM_USB_PRODUCT_ID217,10077 -#define MAKE_USB_PRODUCT_ID(MAKE_USB_PRODUCT_ID220,10196 -#define DEVICE_ID_FROM_USB_PRODUCT_ID(DEVICE_ID_FROM_USB_PRODUCT_ID223,10297 -#define OEM_ID_FROM_USB_PRODUCT_ID(OEM_ID_FROM_USB_PRODUCT_ID226,10411 -#define EDGE_FW_GET_TX_CREDITS_SEND_THRESHOLD(EDGE_FW_GET_TX_CREDITS_SEND_THRESHOLD237,10817 -#define EDGE_FW_BULK_MAX_PACKET_SIZE 239,10942 -#define EDGE_FW_BULK_READ_BUFFER_SIZE 240,11029 -#define EDGE_FW_INT_MAX_PACKET_SIZE 242,11104 -#define EDGE_FW_INT_INTERVAL 245,11292 -#define USB_REQUEST_ION_RESET_DEVICE 265,11880 -#define USB_REQUEST_ION_GET_EPIC_DESC 266,11966 -#define USB_REQUEST_ION_READ_RAM 268,12083 -#define USB_REQUEST_ION_WRITE_RAM 269,12158 -#define USB_REQUEST_ION_READ_ROM 270,12234 -#define USB_REQUEST_ION_WRITE_ROM 271,12309 -#define USB_REQUEST_ION_EXEC_DL_CODE 272,12385 -#define USB_REQUEST_ION_ENABLE_SUSPEND 275,12548 -#define USB_REQUEST_ION_SEND_IOSP 278,12676 -#define USB_REQUEST_ION_RECV_IOSP 279,12776 -#define USB_REQUEST_ION_DIS_INT_TIMER 282,12882 -struct edge_compatibility_bitsedge_compatibility_bits301,13463 -struct edge_compatibility_descriptoredge_compatibility_descriptor337,15196 -#define EDGE_DOWNLOAD_FILE_NONE 361,16082 -#define EDGE_DOWNLOAD_FILE_INTERNAL 362,16142 -#define EDGE_DOWNLOAD_FILE_I930 363,16239 -#define EDGE_DOWNLOAD_FILE_80251 364,16333 -#define EDGE_MANUF_DESC_ADDR_V1 373,16531 -#define EDGE_MANUF_DESC_LEN_V1 374,16575 -#define EDGE_MANUF_DESC_ADDR 378,16766 -#define EDGE_MANUF_DESC_LEN 379,16807 -#define EDGE_BOOT_DESC_ADDR 382,16900 -#define EDGE_BOOT_DESC_LEN 383,16940 -#define MAX_SIZE_REQ_ION_READ_MEM 387,17098 -#define MAX_SIZE_REQ_ION_WRITE_MEM 388,17147 -#define MAX_SERIALNUMBER_LEN 421,18741 -#define MAX_ASSEMBLYNUMBER_LEN 422,18773 -struct edge_manuf_descriptor edge_manuf_descriptor424,18808 -#define MANUF_DESC_VER_1 472,20954 -#define MANUF_DESC_VER_2 473,21018 -#define MANUF_UART_EXAR_654_EARLY 480,21267 -#define MANUF_UART_EXAR_654 481,21346 -#define MANUF_UART_EXAR_2852 482,21392 -#define MANUF_CPU_REV_AD4 493,21808 -#define MANUF_CPU_REV_AD5 494,21879 -#define MANUF_CPU_80251 495,21954 -#define MANUF_BOARD_REV_A 498,22002 -#define MANUF_BOARD_REV_B 499,22067 -#define MANUF_BOARD_REV_C 500,22135 -#define MANUF_BOARD_REV_GENERATION_2 501,22203 -#define MANUF_CPU_REV_1 506,22373 -#define MANUF_BOARD_REV_A 508,22447 -#define MANUF_SERNUM_LENGTH 510,22512 -#define MANUF_ASSYNUM_LENGTH 511,22599 -#define MANUF_OEMASSYNUM_LENGTH 512,22689 -#define MANUF_MANUFDATE_LENGTH 513,22781 -#define MANUF_ION_CONFIG_DIAG_NO_LOOP 515,22869 -#define MANUF_ION_CONFIG_DIAG 516,22949 -#define MANUF_ION_CONFIG_MASTER 518,23093 -struct edge_boot_descriptor edge_boot_descriptor529,23583 -#define BOOT_DESC_VER_1 556,24569 -#define BOOT_DESC_VER_2 557,24634 -#define BOOT_CAP_RESET_CMD 562,24739 -#define UMP5152 570,25056 -#define UMP3410 571,25079 -#define I2C_DESC_TYPE_INFO_BASIC 577,25283 -#define I2C_DESC_TYPE_FIRMWARE_BASIC 578,25321 -#define I2C_DESC_TYPE_DEVICE 579,25363 -#define I2C_DESC_TYPE_CONFIG 580,25398 -#define I2C_DESC_TYPE_STRING 581,25433 -#define I2C_DESC_TYPE_FIRMWARE_AUTO 582,25468 -#define I2C_DESC_TYPE_CONFIG_KLUDGE 583,25530 -#define I2C_DESC_TYPE_WATCHPORT_VERSION 584,25583 -#define I2C_DESC_TYPE_WATCHPORT_CALIBRATION_DATA 585,25669 -#define I2C_DESC_TYPE_FIRMWARE_BLANK 587,25754 -#define I2C_DESC_TYPE_ION 590,25831 -struct ti_i2c_descti_i2c_desc593,25883 -struct ti_i2c_firmware_recti_i2c_firmware_rec603,26234 -struct watchport_firmware_versionwatchport_firmware_version611,26433 -struct ti_i2c_image_headerti_i2c_image_header620,26667 -struct ti_basic_descriptorti_basic_descriptor626,26754 -#define TI_CPU_REV_5052 645,27224 -#define TI_CPU_REV_3410 646,27276 -#define TI_BOARD_REV_TI_EP 648,27329 -#define TI_BOARD_REV_COMPACT 649,27386 -#define TI_BOARD_REV_WATCHPORT 650,27435 -#define TI_GET_CPU_REVISION(TI_GET_CPU_REVISION653,27484 -#define TI_GET_BOARD_REVISION(TI_GET_BOARD_REVISION654,27540 -#define TI_I2C_SIZE_MASK 656,27593 -#define TI_GET_I2C_SIZE(TI_GET_I2C_SIZE657,27635 -#define TI_MAX_I2C_SIZE 659,27699 -#define TI_MANUF_VERSION_0 661,27740 -#define TI_CONFIG2_RS232 664,27791 -#define TI_CONFIG2_RS422 665,27822 -#define TI_CONFIG2_RS485 666,27853 -#define TI_CONFIG2_SWITCHABLE 667,27884 -#define TI_CONFIG2_WATCHPORT 669,27921 -struct edge_ti_manuf_descriptoredge_ti_manuf_descriptor672,27958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/mct_u232.h,2233 -#define __LINUX_USB_SERIAL_MCT_U232_H24,1087 -#define MCT_U232_VID 26,1126 -#define MCT_U232_PID 27,1186 -#define MCT_U232_SITECOM_PID 30,1285 -#define MCT_U232_DU_H3SP_PID 33,1374 -#define MCT_U232_BELKIN_F5U109_VID 36,1490 -#define MCT_U232_BELKIN_F5U109_PID 37,1548 -#define MCT_U232_SET_REQUEST_TYPE 42,1643 -#define MCT_U232_GET_REQUEST_TYPE 43,1682 -#define MCT_U232_GET_MODEM_STAT_REQUEST 45,1722 -#define MCT_U232_GET_MODEM_STAT_SIZE 46,1803 -#define MCT_U232_GET_LINE_CTRL_REQUEST 48,1846 -#define MCT_U232_GET_LINE_CTRL_SIZE 49,1927 -#define MCT_U232_SET_BAUD_RATE_REQUEST 51,2005 -#define MCT_U232_SET_BAUD_RATE_SIZE 52,2075 -#define MCT_U232_SET_LINE_CTRL_REQUEST 54,2118 -#define MCT_U232_SET_LINE_CTRL_SIZE 55,2198 -#define MCT_U232_SET_MODEM_CTRL_REQUEST 57,2241 -#define MCT_U232_SET_MODEM_CTRL_SIZE 58,2323 -#define MCT_U232_SET_UNKNOWN1_REQUEST 63,2515 -#define MCT_U232_SET_UNKNOWN1_SIZE 64,2587 -#define MCT_U232_SET_UNKNOWN2_REQUEST 72,2917 -#define MCT_U232_SET_UNKNOWN2_SIZE 73,2989 -#define MCT_U232_SET_BREAK 86,3406 -#define MCT_U232_PARITY_SPACE 88,3452 -#define MCT_U232_PARITY_MARK 89,3488 -#define MCT_U232_PARITY_EVEN 90,3523 -#define MCT_U232_PARITY_ODD 91,3558 -#define MCT_U232_PARITY_NONE 92,3592 -#define MCT_U232_DATA_BITS_5 94,3628 -#define MCT_U232_DATA_BITS_6 95,3673 -#define MCT_U232_DATA_BITS_7 96,3718 -#define MCT_U232_DATA_BITS_8 97,3763 -#define MCT_U232_STOP_BITS_2 99,3809 -#define MCT_U232_STOP_BITS_1 100,3854 -#define MCT_U232_MCR_NONE 105,3939 -#define MCT_U232_MCR_RTS 106,4016 -#define MCT_U232_MCR_DTR 107,4083 -#define MCT_U232_MSR_INDEX 112,4189 -#define MCT_U232_MSR_CD 113,4255 -#define MCT_U232_MSR_RI 114,4320 -#define MCT_U232_MSR_DSR 115,4385 -#define MCT_U232_MSR_CTS 116,4451 -#define MCT_U232_MSR_DCD 117,4517 -#define MCT_U232_MSR_DRI 118,4580 -#define MCT_U232_MSR_DDSR 119,4643 -#define MCT_U232_MSR_DCTS 120,4707 -#define MCT_U232_LSR_INDEX 125,4809 -#define MCT_U232_LSR_ERR 126,4875 -#define MCT_U232_LSR_TEMT 127,4947 -#define MCT_U232_LSR_THRE 128,5025 -#define MCT_U232_LSR_BI 129,5111 -#define MCT_U232_LSR_FE 130,5181 -#define MCT_U232_LSR_OE 131,5249 -#define MCT_U232_LSR_PE 132,5317 -#define MCT_U232_LSR_OE 133,5384 -#define MCT_U232_LSR_DR 134,5452 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/kobil_sct.c,1081 -static int debug;54,1417 -#define DRIVER_VERSION 57,1462 -#define DRIVER_AUTHOR 58,1498 -#define DRIVER_DESC 59,1564 -#define KOBIL_VENDOR_ID 61,1639 -#define KOBIL_ADAPTER_B_PRODUCT_ID 62,1672 -#define KOBIL_ADAPTER_K_PRODUCT_ID 63,1714 -#define KOBIL_USBTWIN_PRODUCT_ID 64,1756 -#define KOBIL_KAAN_SIM_PRODUCT_ID 65,1796 -#define KOBIL_TIMEOUT 67,1844 -#define KOBIL_BUF_LENGTH 68,1871 -static struct usb_device_id id_table 88,2829 -static struct usb_driver kobil_driver 99,3192 -static struct usb_serial_device_type kobil_device 108,3370 -struct kobil_private kobil_private129,3909 -static int kobil_startup 141,4244 -static void kobil_shutdown 201,6243 -static int kobil_open 216,6609 -static void kobil_close 349,11301 -static void kobil_read_int_callback(364,11632 -static void kobil_write_callback(417,13154 -static int kobil_write 422,13235 -static int kobil_write_room 512,16033 -static int kobil_tiocmget(519,16161 -static int kobil_tiocmset(562,17404 -static int kobil_ioctl(629,19425 -static int __init kobil_init 749,22857 -static void __exit kobil_exit 770,23265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_mpr_fw.h,66 -static const struct ezusb_hex_record keyspan_mpr_firmware[27,995 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa49w_fw.h,69 -static const struct ezusb_hex_record keyspan_usa49w_firmware[25,917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan.h,4437 -#define __LINUX_USB_SERIAL_KEYSPAN_H34,1132 -struct ezusb_hex_record ezusb_hex_record105,3758 - static const struct ezusb_hex_record *keyspan_usa28_firmware 118,4116 - static const struct ezusb_hex_record *keyspan_usa28x_firmware 124,4272 - static const struct ezusb_hex_record *keyspan_usa28xa_firmware 130,4431 - static const struct ezusb_hex_record *keyspan_usa28xb_firmware 136,4591 - static const struct ezusb_hex_record *keyspan_usa19_firmware 142,4747 - static const struct ezusb_hex_record *keyspan_usa19qi_firmware 148,4905 - static const struct ezusb_hex_record *keyspan_mpr_firmware 154,5064 - static const struct ezusb_hex_record *keyspan_usa19qw_firmware 160,5220 - static const struct ezusb_hex_record *keyspan_usa18x_firmware 166,5378 - static const struct ezusb_hex_record *keyspan_usa19w_firmware 172,5535 - static const struct ezusb_hex_record *keyspan_usa49w_firmware 178,5692 - static const struct ezusb_hex_record *keyspan_usa49wlc_firmware 184,5860 -#define KEYSPAN_INVALID_BAUD_RATE 188,6003 -#define KEYSPAN_BAUD_RATE_OK 189,6043 -#define KEYSPAN_USA18X_BAUDCLK 190,6078 -#define KEYSPAN_USA19_BAUDCLK 191,6137 -#define KEYSPAN_USA19W_BAUDCLK 192,6181 -#define KEYSPAN_USA19HS_BAUDCLK 193,6226 -#define KEYSPAN_USA28_BAUDCLK 194,6272 -#define KEYSPAN_USA28X_BAUDCLK 195,6315 -#define KEYSPAN_USA49W_BAUDCLK 196,6360 -#define KEYSPAN_MAX_NUM_PORTS 199,6462 -#define KEYSPAN_MAX_FLIPS 200,6498 -#define KEYSPAN_VENDOR_ID 204,6632 -#define keyspan_usa18x_pre_product_id 207,6733 -#define keyspan_usa19_pre_product_id 208,6779 -#define keyspan_usa19qi_pre_product_id 209,6824 -#define keyspan_mpr_pre_product_id 210,6871 -#define keyspan_usa19qw_pre_product_id 211,6914 -#define keyspan_usa19w_pre_product_id 212,6961 -#define keyspan_usa28_pre_product_id 213,7007 -#define keyspan_usa28x_pre_product_id 214,7052 -#define keyspan_usa28xa_pre_product_id 215,7098 -#define keyspan_usa28xb_pre_product_id 216,7145 -#define keyspan_usa49w_pre_product_id 217,7192 -#define keyspan_usa49wlc_pre_product_id 218,7238 -#define keyspan_usa18x_product_id 223,7440 -#define keyspan_usa19_product_id 224,7482 -#define keyspan_usa19qi_product_id 225,7523 -#define keyspan_usa19hs_product_id 226,7566 -#define keyspan_mpr_product_id 227,7609 -#define keyspan_usa19qw_product_id 228,7649 -#define keyspan_usa19w_product_id 229,7692 -#define keyspan_usa28_product_id 230,7734 -#define keyspan_usa28x_product_id 231,7775 -#define keyspan_usa28xa_product_id 232,7817 -#define keyspan_usa28xb_product_id 233,7860 -#define keyspan_usa49w_product_id 234,7903 -#define keyspan_usa49wlc_product_id 235,7945 -struct keyspan_device_details keyspan_device_details238,7991 - enum {msg_usa26,242,8065 - enum {msg_usa26, msg_usa28,242,8065 - enum {msg_usa26, msg_usa28, msg_usa49,242,8065 - enum {msg_usa26, msg_usa28, msg_usa49, msg_usa90}242,8065 -static const struct keyspan_device_details usa18x_device_details 281,9138 -static const struct keyspan_device_details usa19_device_details 297,9601 -static const struct keyspan_device_details usa19qi_device_details 313,10058 -static const struct keyspan_device_details mpr_device_details 329,10519 -static const struct keyspan_device_details usa19qw_device_details 345,10972 -static const struct keyspan_device_details usa19w_device_details 361,11437 -static const struct keyspan_device_details usa19hs_device_details 377,11900 -static const struct keyspan_device_details usa28_device_details 393,12363 -static const struct keyspan_device_details usa28x_device_details 409,12848 -static const struct keyspan_device_details usa28xa_device_details 425,13335 -static const struct keyspan_device_details usa49w_device_details 443,13908 -static const struct keyspan_device_details usa49wlc_device_details 459,14427 -static const struct keyspan_device_details *keyspan_devices[475,14950 -static struct usb_device_id keyspan_ids_combined[492,15380 -static struct usb_driver keyspan_driver 523,17141 -static struct usb_device_id keyspan_pre_ids[532,17422 -static struct usb_device_id keyspan_1port_ids[548,18310 -static struct usb_device_id keyspan_2port_ids[559,18835 -static struct usb_device_id keyspan_4port_ids[567,19173 -static struct usb_serial_device_type keyspan_pre_device 574,19443 -static struct usb_serial_device_type keyspan_1port_device 586,19795 -static struct usb_serial_device_type keyspan_2port_device 611,20563 -static struct usb_serial_device_type keyspan_4port_device 636,21331 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa49wlc_fw.h,72 -static const struct ezusb_hex_record keyspan_usa49wlc_firmware[34,1088 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/xircom_pgs_fw.h,65 -static const struct ezusb_hex_record xircom_pgs_firmware[15,499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa19qi_fw.h,70 -static const struct ezusb_hex_record keyspan_usa19qi_firmware[25,919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/ipaq.h,2026 -#define __LINUX_USB_SERIAL_IPAQ_H15,405 -#define ASKEY_VENDOR_ID 17,440 -#define ASKEY_PRODUCT_ID 18,472 -#define BCOM_VENDOR_ID 20,505 -#define BCOM_0065_ID 21,536 -#define BCOM_0066_ID 22,565 -#define BCOM_0067_ID 23,594 -#define CASIO_VENDOR_ID 25,624 -#define CASIO_2001_ID 26,656 -#define CASIO_EM500_ID 27,686 -#define COMPAQ_VENDOR_ID 29,718 -#define COMPAQ_IPAQ_ID 30,750 -#define COMPAQ_0032_ID 31,781 -#define DELL_VENDOR_ID 33,813 -#define DELL_AXIM_ID 34,844 -#define FSC_VENDOR_ID 36,874 -#define FSC_LOOX_ID 37,904 -#define HP_VENDOR_ID 39,933 -#define HP_JORNADA_548_ID 40,962 -#define HP_JORNADA_568_ID 41,995 -#define HP_2016_ID 42,1028 -#define HP_2116_ID 43,1055 -#define HP_2216_ID 44,1082 -#define HP_3016_ID 45,1109 -#define HP_3116_ID 46,1136 -#define HP_3216_ID 47,1163 -#define HP_4016_ID 48,1190 -#define HP_4116_ID 49,1217 -#define HP_4216_ID 50,1244 -#define HP_5016_ID 51,1271 -#define HP_5116_ID 52,1298 -#define HP_5216_ID 53,1325 -#define LINKUP_VENDOR_ID 55,1353 -#define LINKUP_PRODUCT_ID 56,1385 -#define MICROSOFT_VENDOR_ID 58,1419 -#define MICROSOFT_00CE_ID 59,1454 -#define PORTATEC_VENDOR_ID 61,1488 -#define PORTATEC_PRODUCT_ID 62,1522 -#define ROVER_VENDOR_ID 64,1558 -#define ROVER_P5_ID 65,1590 -#define SAGEM_VENDOR_ID 67,1619 -#define SAGEM_WIRELESS_ID 68,1651 -#define SOCKET_VENDOR_ID 70,1685 -#define SOCKET_PRODUCT_ID 71,1717 -#define TOSHIBA_VENDOR_ID 73,1751 -#define TOSHIBA_PRODUCT_ID 74,1784 -#define TOSHIBA_E310_ID 75,1818 -#define TOSHIBA_E740_ID 76,1850 -#define TOSHIBA_E335_ID 77,1882 -#define HTC_VENDOR_ID 79,1915 -#define HTC_PRODUCT_ID 80,1945 -#define HTC_HIMALAYA_ID 81,1976 -#define NEC_VENDOR_ID 83,2009 -#define NEC_PRODUCT_ID 84,2039 -#define ASUS_VENDOR_ID 86,2071 -#define ASUS_A600_PRODUCT_ID 87,2102 -#define ASUS_VENDOR_ID 89,2139 -#define ASUS_A620_PRODUCT_ID 90,2170 -struct ipaq_packet ipaq_packet110,3080 -struct ipaq_private ipaq_private117,3178 -#define URBDATA_SIZE 125,3307 -#define URBDATA_QUEUE_MAX 126,3334 -#define PACKET_SIZE 127,3372 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/usb-serial.c,1486 -#define DRIVER_VERSION 345,13726 -#define DRIVER_AUTHOR 346,13756 -#define DRIVER_DESC 347,13844 -static struct usb_driver usb_serial_driver 350,13943 -static int debug;364,14398 -static struct usb_serial *serial_table[365,14416 -struct usb_serial *usb_serial_get_by_index(368,14543 -static struct usb_serial *get_free_serial 377,14714 -static void return_serial 408,15402 -static void destroy_serial(424,15627 -static int serial_open 484,17306 -static void serial_close(532,18524 -static int serial_write 559,19166 -static int serial_write_room 578,19684 -static int serial_chars_in_buffer 597,20116 -static void serial_throttle 616,20558 -static void serial_unthrottle 635,20979 -static int serial_ioctl 654,21405 -static void serial_set_termios 676,22000 -static void serial_break 695,22474 -static int serial_read_proc 714,22941 -static int serial_tiocmget 757,24307 -static int serial_tiocmset 775,24708 -void usb_serial_port_softint(794,25166 -static void port_release(811,25441 -static struct usb_serial * create_serial 834,26007 -int usb_serial_probe(856,26595 -void usb_serial_disconnect(1190,36852 -static struct tty_operations serial_ops 1206,37258 -struct tty_driver *usb_serial_tty_driver;1222,37711 -static int __init usb_serial_init(1224,37754 -static void __exit usb_serial_exit(1289,39536 -#define set_to_generic_if_null(set_to_generic_if_null1305,39871 -static void fixup_generic(1314,40145 -int usb_serial_register(1326,40579 -void usb_serial_deregister(1351,41098 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/kobil_sct.h,1479 -#define SUSBCRequest_SetBaudRateParityAndStopBits 1,0 -#define SUSBCR_SBR_MASK 2,58 -#define SUSBCR_SBR_1200 3,92 -#define SUSBCR_SBR_9600 4,126 -#define SUSBCR_SBR_19200 5,160 -#define SUSBCR_SBR_28800 6,194 -#define SUSBCR_SBR_38400 7,228 -#define SUSBCR_SBR_57600 8,262 -#define SUSBCR_SBR_115200 9,296 -#define SUSBCR_SPASB_MASK 11,332 -#define SUSBCR_SPASB_NoParity 12,367 -#define SUSBCR_SPASB_OddParity 13,406 -#define SUSBCR_SPASB_EvenParity 14,446 -#define SUSBCR_SPASB_STPMASK 16,488 -#define SUSBCR_SPASB_1StopBit 17,526 -#define SUSBCR_SPASB_2StopBits 18,565 -#define SUSBCRequest_SetStatusLinesOrQueues 20,606 -#define SUSBCR_SSL_SETRTS 21,652 -#define SUSBCR_SSL_CLRRTS 22,687 -#define SUSBCR_SSL_SETDTR 23,722 -#define SUSBCR_SSL_CLRDTR 24,757 -#define SUSBCR_SSL_PURGE_TXABORT 26,793 -#define SUSBCR_SSL_PURGE_RXABORT 27,888 -#define SUSBCR_SSL_PURGE_TXCLEAR 28,982 -#define SUSBCR_SSL_PURGE_RXCLEAR 29,1061 -#define SUSBCRequest_GetStatusLineState 31,1143 -#define SUSBCR_GSL_RXCHAR 32,1186 -#define SUSBCR_GSL_TXEMPTY 33,1248 -#define SUSBCR_GSL_CTS 34,1310 -#define SUSBCR_GSL_DSR 35,1365 -#define SUSBCR_GSL_RLSD 36,1420 -#define SUSBCR_GSL_BREAK 37,1477 -#define SUSBCR_GSL_ERR 38,1530 -#define SUSBCR_GSL_RING 39,1594 -#define SUSBCRequest_Misc 41,1654 -#define SUSBCR_MSC_ResetReader 42,1684 -#define SUSBCR_MSC_ResetAllQueues 43,1759 -#define SUSBCRequest_GetMisc 45,1860 -#define SUSBCR_MSC_GetFWVersion 46,1896 -#define SUSBCR_MSC_GetHWVersion 54,2176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/visor.h,1784 -#define __LINUX_USB_SERIAL_VISOR_H17,493 -#define HANDSPRING_VENDOR_ID 20,530 -#define HANDSPRING_VISOR_ID 21,567 -#define HANDSPRING_TREO_ID 22,603 -#define HANDSPRING_TREO600_ID 23,638 -#define PALM_VENDOR_ID 25,677 -#define PALM_M500_ID 26,709 -#define PALM_M505_ID 27,739 -#define PALM_M515_ID 28,769 -#define PALM_I705_ID 29,799 -#define PALM_M125_ID 30,829 -#define PALM_M130_ID 31,859 -#define PALM_TUNGSTEN_T_ID 32,889 -#define PALM_TUNGSTEN_Z_ID 33,924 -#define PALM_ZIRE31_ID 34,959 -#define PALM_ZIRE_ID 35,991 -#define PALM_M100_ID 36,1021 -#define SONY_VENDOR_ID 38,1052 -#define SONY_CLIE_3_5_ID 39,1084 -#define SONY_CLIE_4_0_ID 40,1117 -#define SONY_CLIE_S360_ID 41,1150 -#define SONY_CLIE_4_1_ID 42,1184 -#define SONY_CLIE_NX60_ID 43,1217 -#define SONY_CLIE_NZ90V_ID 44,1251 -#define SONY_CLIE_UX50_ID 45,1286 -#define SONY_CLIE_TJ25_ID 46,1320 -#define SAMSUNG_VENDOR_ID 48,1355 -#define SAMSUNG_SCH_I330_ID 49,1389 -#define SAMSUNG_SPH_I500_ID 50,1425 -#define GARMIN_VENDOR_ID 52,1462 -#define GARMIN_IQUE_3600_ID 53,1495 -#define ACEECA_VENDOR_ID 55,1532 -#define ACEECA_MEZ1000_ID 56,1565 -#define KYOCERA_VENDOR_ID 58,1600 -#define KYOCERA_7135_ID 59,1634 -#define VISOR_REQUEST_BYTES_AVAILABLE 73,2452 -#define VISOR_CLOSE_NOTIFICATION 79,2795 -#define VISOR_GET_CONNECTION_INFORMATION 85,3115 -struct visor_connection_info visor_connection_info91,3393 -#define VISOR_ENDPOINT_1 101,3577 -#define VISOR_ENDPOINT_2 102,3608 -#define VISOR_FUNCTION_GENERIC 105,3715 -#define VISOR_FUNCTION_DEBUGGER 106,3752 -#define VISOR_FUNCTION_HOTSYNC 107,3790 -#define VISOR_FUNCTION_CONSOLE 108,3827 -#define VISOR_FUNCTION_REMOTE_FILE_SYS 109,3864 -#define PALM_GET_EXT_CONNECTION_INFORMATION 116,4224 -struct palm_ext_connection_info palm_ext_connection_info135,5126 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_ti.h,2951 -#define _IO_TI_H_18,590 -#define DTK_ADDR_SPACE_XDATA 21,629 -#define DTK_ADDR_SPACE_I2C_TYPE_II 22,700 -#define DTK_ADDR_SPACE_I2C_TYPE_III 23,773 -#define UMPMEM_BASE_UART1 26,864 -#define UMPMEM_BASE_UART2 27,937 -#define UMPMEM_OFFS_UART_LSR 28,1010 -#define UMP_UART_CHAR5BITS 31,1112 -#define UMP_UART_CHAR6BITS 32,1145 -#define UMP_UART_CHAR7BITS 33,1178 -#define UMP_UART_CHAR8BITS 34,1211 -#define UMP_UART_NOPARITY 37,1258 -#define UMP_UART_ODDPARITY 38,1290 -#define UMP_UART_EVENPARITY 39,1323 -#define UMP_UART_MARKPARITY 40,1357 -#define UMP_UART_SPACEPARITY 41,1391 -#define UMP_UART_STOPBIT1 44,1443 -#define UMP_UART_STOPBIT15 45,1475 -#define UMP_UART_STOPBIT2 46,1508 -#define UMP_UART_LSR_OV_MASK 49,1574 -#define UMP_UART_LSR_PE_MASK 50,1609 -#define UMP_UART_LSR_FE_MASK 51,1644 -#define UMP_UART_LSR_BR_MASK 52,1679 -#define UMP_UART_LSR_ER_MASK 53,1714 -#define UMP_UART_LSR_RX_MASK 54,1749 -#define UMP_UART_LSR_TX_MASK 55,1784 -#define UMP_UART_LSR_DATA_MASK 57,1820 -#define UMP_MASK_UART_FLAGS_RTS_FLOW 60,1926 -#define UMP_MASK_UART_FLAGS_RTS_DISABLE 61,1971 -#define UMP_MASK_UART_FLAGS_PARITY 62,2019 -#define UMP_MASK_UART_FLAGS_OUT_X_DSR_FLOW 63,2062 -#define UMP_MASK_UART_FLAGS_OUT_X_CTS_FLOW 64,2112 -#define UMP_MASK_UART_FLAGS_OUT_X 65,2162 -#define UMP_MASK_UART_FLAGS_OUT_XA 66,2204 -#define UMP_MASK_UART_FLAGS_IN_X 67,2247 -#define UMP_MASK_UART_FLAGS_DTR_FLOW 68,2288 -#define UMP_MASK_UART_FLAGS_DTR_DISABLE 69,2333 -#define UMP_MASK_UART_FLAGS_RECEIVE_MS_INT 70,2381 -#define UMP_MASK_UART_FLAGS_AUTO_START_ON_ERR 71,2431 -#define UMP_DMA_MODE_CONTINOUS 73,2485 -#define UMP_PIPE_TRANS_TIMEOUT_ENA 74,2523 -#define UMP_PIPE_TRANSFER_MODE_MASK 75,2564 -#define UMP_PIPE_TRANS_TIMEOUT_MASK 76,2606 -#define UMP_PORT_DIR_OUT 79,2686 -#define UMP_PORT_DIR_IN 80,2718 -#define UMPM_UART1_PORT 83,2772 -#define UMPC_SET_CONFIG 86,2818 -#define UMPC_OPEN_PORT 87,2849 -#define UMPC_CLOSE_PORT 88,2880 -#define UMPC_START_PORT 89,2911 -#define UMPC_STOP_PORT 90,2942 -#define UMPC_TEST_PORT 91,2973 -#define UMPC_PURGE_PORT 92,3004 -#define UMPC_COMPLETE_READ 94,3036 -#define UMPC_HARDWARE_RESET 95,3120 -#define UMPC_COPY_DNLD_TO_I2C 96,3187 -#define UMPC_WRITE_SFR 102,3461 -#define UMPC_READ_SFR 105,3547 -#define UMPC_SET_CLR_DTR 108,3670 -#define UMPC_SET_CLR_RTS 111,3772 -#define UMPC_SET_CLR_LOOPBACK 114,3878 -#define UMPC_SET_CLR_BREAK 117,3987 -#define UMPC_READ_MSR 120,4057 -#define UMPC_MEMORY_READ 124,4135 -#define UMPC_MEMORY_WRITE 125,4169 -#define UMPD_OEDB1_ADDRESS 130,4234 -#define UMPD_OEDB2_ADDRESS 131,4269 -struct out_endpoint_desc_blockout_endpoint_desc_block133,4305 -struct ump_uart_config ump_uart_config150,4567 -struct ump_interrupt ump_interrupt168,5207 -#define TIUMP_GET_PORT_FROM_CODE(TIUMP_GET_PORT_FROM_CODE175,5411 -#define TIUMP_GET_FUNC_FROM_CODE(TIUMP_GET_FUNC_FROM_CODE176,5464 -#define TIUMP_INTERRUPT_CODE_LSR 177,5513 -#define TIUMP_INTERRUPT_CODE_MSR 178,5551 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/ftdi_sio.c,2798 -#define DRIVER_VERSION 267,10781 -#define DRIVER_AUTHOR 268,10813 -#define DRIVER_DESC 269,10936 -static int debug;271,10993 -static struct usb_device_id id_table_sio 273,11012 -static struct usb_device_id id_table_8U232AM 295,11816 -static struct usb_device_id id_table_FT232BM 375,16693 -static struct usb_device_id id_table_USB_UIRT 485,23925 -static struct usb_device_id id_table_HE_TIRA1 491,24063 -static struct usb_device_id id_table_FT2232C[497,24220 -static struct usb_device_id id_table_combined 503,24355 -static struct usb_driver ftdi_driver 603,29416 -#define BUFSZ 612,29625 -#define PKTSZ 613,29643 -#define THROTTLED 616,29676 -#define ACTUALLY_THROTTLED 617,29700 -struct ftdi_private ftdi_private619,29733 -#define FTDI_STATUS_B0_MASK 643,30857 -#define FTDI_STATUS_B1_MASK 644,30945 -#define FTDI_IMPL_ASYNC_FLAGS 647,31008 -static struct usb_serial_device_type ftdi_SIO_device 679,33080 -static struct usb_serial_device_type ftdi_8U232AM_device 705,33830 -static struct usb_serial_device_type ftdi_FT232BM_device 731,34607 -static struct usb_serial_device_type ftdi_FT2232C_device 757,35384 -static struct usb_serial_device_type ftdi_USB_UIRT_device 783,36161 -static struct usb_serial_device_type ftdi_HE_TIRA1_device 811,37073 -#define WDR_TIMEOUT 839,37870 -#define HIGH 842,37971 -#define LOW 843,37986 -static unsigned short int ftdi_232am_baud_base_to_divisor(851,38187 -static unsigned short int ftdi_232am_baud_to_divisor(865,38726 -static __u32 ftdi_232bm_baud_base_to_divisor(870,38853 -static __u32 ftdi_232bm_baud_to_divisor(883,39315 -static int set_rts(888,39429 -static int set_dtr(918,40150 -static int change_speed(951,40934 -static __u32 get_ftdi_divisor(983,41674 -static int get_serial_info(1088,45496 -static int set_serial_info(1105,45959 -static int ftdi_common_startup 1172,48108 -static int ftdi_SIO_startup 1224,49446 -static int ftdi_8U232AM_startup 1246,49864 -static int ftdi_FT232BM_startup 1266,50397 -static int ftdi_FT2232C_startup 1286,50929 -static int ftdi_USB_UIRT_startup 1315,51700 -static int ftdi_HE_TIRA1_startup 1336,52214 -static void ftdi_shutdown 1366,52920 -static int ftdi_open 1385,53354 -static void ftdi_close 1452,55459 -static int ftdi_write 1503,56883 -static void ftdi_write_bulk_callback 1615,59837 -static int ftdi_write_room(1633,60304 -static int ftdi_chars_in_buffer 1646,60614 -static void ftdi_read_bulk_callback 1661,60983 -static void ftdi_process_read 1715,62444 -static void ftdi_break_ctl(1860,66767 -static void ftdi_set_termios 1895,67864 -static int ftdi_tiocmget 2054,73261 -static int ftdi_tiocmset(2103,74739 -static int ftdi_ioctl 2137,75405 -static void ftdi_throttle 2255,78568 -static void ftdi_unthrottle 2268,78887 -static int __init ftdi_init 2285,79368 -static void __exit ftdi_exit 2331,80623 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa19qw_fw.h,70 -static const struct ezusb_hex_record keyspan_usa19qw_firmware[25,919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/belkin_sa.h,2305 -#define __LINUX_USB_SERIAL_BSA_H34,1192 -#define BELKIN_DOCKSTATION_VID 36,1226 -#define BELKIN_DOCKSTATION_PID 37,1280 -#define BELKIN_SA_VID 39,1336 -#define BELKIN_SA_PID 40,1381 -#define BELKIN_OLD_VID 42,1428 -#define BELKIN_OLD_PID 43,1489 -#define PERACOM_VID 45,1575 -#define PERACOM_PID 46,1628 -#define GOHUBS_VID 48,1706 -#define GOHUBS_PID 49,1755 -#define HANDYLINK_PID 50,1862 -#define BELKIN_SA_SET_BAUDRATE_REQUEST 53,1982 -#define BELKIN_SA_SET_STOP_BITS_REQUEST 54,2044 -#define BELKIN_SA_SET_DATA_BITS_REQUEST 55,2113 -#define BELKIN_SA_SET_PARITY_REQUEST 56,2186 -#define BELKIN_SA_SET_DTR_REQUEST 58,2262 -#define BELKIN_SA_SET_RTS_REQUEST 59,2319 -#define BELKIN_SA_SET_BREAK_REQUEST 60,2376 -#define BELKIN_SA_SET_FLOW_CTRL_REQUEST 62,2438 -#define BELKIN_SA_SET_MAGIC_REQUEST 66,2536 -#define BELKIN_SA_RESET 68,2673 -#define BELKIN_SA_GET_MODEM_STATUS 69,2723 -#define BELKIN_SA_SET_REQUEST_TYPE 72,2813 -#define BELKIN_SA_BAUD(BELKIN_SA_BAUD74,2854 -#define BELKIN_SA_STOP_BITS(BELKIN_SA_STOP_BITS76,2893 -#define BELKIN_SA_DATA_BITS(BELKIN_SA_DATA_BITS78,2932 -#define BELKIN_SA_PARITY_NONE 80,2971 -#define BELKIN_SA_PARITY_EVEN 81,3004 -#define BELKIN_SA_PARITY_ODD 82,3037 -#define BELKIN_SA_PARITY_MARK 83,3069 -#define BELKIN_SA_PARITY_SPACE 84,3102 -#define BELKIN_SA_FLOW_NONE 86,3137 -#define BELKIN_SA_FLOW_OCTS 87,3195 -#define BELKIN_SA_FLOW_ODSR 88,3270 -#define BELKIN_SA_FLOW_IDSR 89,3345 -#define BELKIN_SA_FLOW_IDTR 90,3419 -#define BELKIN_SA_FLOW_IRTS 91,3499 -#define BELKIN_SA_FLOW_ORTS 92,3579 -#define BELKIN_SA_FLOW_ERRSUB 93,3664 -#define BELKIN_SA_FLOW_OXON 94,3749 -#define BELKIN_SA_FLOW_IXON 95,3828 -#define BELKIN_SA_LSR_INDEX 102,4121 -#define BELKIN_SA_LSR_RDR 103,4180 -#define BELKIN_SA_LSR_OE 104,4237 -#define BELKIN_SA_LSR_PE 105,4288 -#define BELKIN_SA_LSR_FE 106,4338 -#define BELKIN_SA_LSR_BI 107,4389 -#define BELKIN_SA_LSR_THE 108,4442 -#define BELKIN_SA_LSR_TE 109,4512 -#define BELKIN_SA_LSR_ERR 110,4573 -#define BELKIN_SA_MSR_INDEX 112,4630 -#define BELKIN_SA_MSR_DCTS 113,4690 -#define BELKIN_SA_MSR_DDSR 114,4739 -#define BELKIN_SA_MSR_DRI 115,4788 -#define BELKIN_SA_MSR_DCD 116,4835 -#define BELKIN_SA_MSR_CTS 117,4882 -#define BELKIN_SA_MSR_DSR 118,4932 -#define BELKIN_SA_MSR_RI 119,4982 -#define BELKIN_SA_MSR_CD 120,5030 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_fw_down2.h,382 - #define DEFINED_EDGE_FIRMWARE_IMAGE_RECORD14,588 - struct edge_firmware_image_record edge_firmware_image_record15,632 - struct edge_firmware_version_info edge_firmware_version_info22,796 - #define IMAGE_ARRAY_NAME 31,969 - #define IMAGE_VERSION_NAME 32,1009 -static unsigned char IMAGE_ARRAY_NAME[35,1066 -static struct edge_firmware_version_info IMAGE_VERSION_NAME 1127,106111 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_fw_boot2.h,377 -#define DEFINED_EDGE_FIRMWARE_IMAGE_RECORD14,588 - struct edge_firmware_image_record edge_firmware_image_record15,631 - struct edge_firmware_version_info edge_firmware_version_info22,795 -#define IMAGE_ARRAY_NAME 31,968 -#define IMAGE_VERSION_NAME 32,1008 -static unsigned char IMAGE_ARRAY_NAME[35,1064 -static struct edge_firmware_version_info IMAGE_VERSION_NAME 540,46205 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/whiteheat.c,2617 -static int debug;87,2716 -#define CMSPAR 90,2750 -#define DRIVER_VERSION 96,2805 -#define DRIVER_AUTHOR 97,2835 -#define DRIVER_DESC 98,2939 -#define CONNECT_TECH_VENDOR_ID 100,2995 -#define CONNECT_TECH_FAKE_WHITE_HEAT_ID 101,3034 -#define CONNECT_TECH_WHITE_HEAT_ID 102,3081 -static struct usb_device_id id_table_std 111,3464 -static struct usb_device_id id_table_prerenumeration 116,3619 -static struct usb_device_id id_table_combined 121,3791 -static struct usb_driver whiteheat_driver 129,4072 -static struct usb_serial_device_type whiteheat_fake_device 159,5893 -static struct usb_serial_device_type whiteheat_device 172,6316 -struct whiteheat_command_private whiteheat_command_private200,7192 -#define THROTTLED 209,7425 -#define ACTUALLY_THROTTLED 210,7449 -static int urb_pool_size 212,7482 -struct whiteheat_urb_wrap whiteheat_urb_wrap214,7513 -struct whiteheat_private whiteheat_private219,7588 -#define COMMAND_PORT 255,9076 -#define COMMAND_TIMEOUT 256,9100 -#define CLOSING_DELAY 257,9169 -static int whiteheat_firmware_download 277,10045 -static int whiteheat_firmware_attach 335,11660 -static int whiteheat_attach 345,12021 -static void whiteheat_shutdown 547,17960 -static int whiteheat_open 590,19004 -static void whiteheat_close(641,20178 -static int whiteheat_write(705,21848 -static int whiteheat_write_room(769,23587 -static int whiteheat_tiocmget 789,24063 -static int whiteheat_tiocmset 806,24471 -static int whiteheat_ioctl 829,25040 -static void whiteheat_set_termios 874,26195 -static void whiteheat_break_ctl(899,26773 -static int whiteheat_chars_in_buffer(904,26894 -static void whiteheat_throttle 926,27487 -static void whiteheat_unthrottle 941,27817 -static void command_port_write_callback 964,28511 -static void command_port_read_callback 975,28704 -static void whiteheat_read_callback(1025,30513 -static void whiteheat_write_callback(1067,31627 -static int firm_send_command 1100,32595 -static int firm_open(1162,34476 -static int firm_close(1170,34728 -static int firm_setup_port(1178,34986 -static int firm_set_rts(1251,37439 -static int firm_set_dtr(1260,37734 -static int firm_set_break(1269,38029 -static int firm_purge(1278,38336 -static int firm_get_dtr_rts(1287,38632 -static int firm_report_tx_done(1295,38906 -static int start_command_port(1306,39388 -static void stop_command_port(1335,40182 -static int start_port_read(1351,40664 -static struct whiteheat_urb_wrap *urb_to_wrap(1389,41610 -static struct list_head *list_first(1404,41907 -static void rx_data_softint(1410,41993 -static int __init whiteheat_init 1474,43851 -static void __exit whiteheat_exit 1497,44409 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/xircom_pgs.S,4871 -rx_ring_in:rx_ring_in183,7053 -rx_ring_out:rx_ring_out184,7073 -tx_ring_in:tx_ring_in185,7094 -tx_ring_out:tx_ring_out186,7114 -tx_unthrottle_threshold:tx_unthrottle_threshold187,7135 -USB_Jump_Table:USB_Jump_Table190,7218 -start:start219,7664 -clear_tx_ring_loop:clear_tx_ring_loop234,7951 -clear_rx_ring_loop:clear_rx_ring_loop241,8060 -send:send348,10268 -wait1:wait1354,10338 -renum_wait1:renum_wait1375,10684 -renum_wait2:renum_wait2377,10709 -renum_wait3:renum_wait3379,10734 -main:main388,10973 -ISR_Sudav:ISR_Sudav392,10993 -setup_bmreq_type_not_standard:setup_bmreq_type_not_standard427,11639 -setup_bmreq_type_not_standard__do_stall:setup_bmreq_type_not_standard__do_stall437,12063 -setup_ctrl_not_00:setup_ctrl_not_00439,12122 -setup_ctrl_not_01:setup_ctrl_not_01443,12241 -setup_ctrl_not_02:setup_ctrl_not_02447,12349 -setup_ctrl_not_03:setup_ctrl_not_03452,12520 -setup_ctrl_do_break_on:setup_ctrl_do_break_on462,12825 -setup_ctrl_not_04:setup_ctrl_not_04473,13072 -setup_ctrl_not_05:setup_ctrl_not_05477,13189 -setup_ctrl_06_not_00:setup_ctrl_06_not_00486,13446 -setup_ctrl_06_not_01:setup_ctrl_06_not_01493,13635 -setup_ctrl_not_06:setup_ctrl_not_06495,13676 -setup_ctrl_not_07:setup_ctrl_not_07500,13856 -setup_bmreq_type_not_vendor:setup_bmreq_type_not_vendor503,13895 -setup_bmreq_is_standard:setup_bmreq_is_standard507,13944 -setup_return_two_zero_bytes:setup_return_two_zero_bytes514,14246 -setup_Get_Status_not_device:setup_Get_Status_not_device524,14404 -setup_Get_Status_not_endpoint:setup_Get_Status_not_endpoint530,14636 -setup_Get_Status_not_interface:setup_Get_Status_not_interface534,14793 -setup_breq_not_00:setup_breq_not_00537,14846 -setup_Clear_Feature_not_stall:setup_Clear_Feature_not_stall543,15090 -setup_Clear_Feature_not_rwake:setup_Clear_Feature_not_rwake547,15232 -setup_breq_not_01:setup_breq_not_01550,15283 -setup_Set_Feature_not_stall:setup_Set_Feature_not_stall556,15519 -setup_Set_Feature_not_rwake:setup_Set_Feature_not_rwake560,15655 -setup_breq_not_03:setup_breq_not_03563,15704 -setup_Get_Descriptor_not_device:setup_Get_Descriptor_not_device575,16049 -setup_Get_Descriptor_not_config:setup_Get_Descriptor_not_config587,16382 -setup_Get_Descriptor_not_string:setup_Get_Descriptor_not_string629,17758 -setup_breq_not_06:setup_breq_not_06632,17811 -setup_return_one_byte:setup_return_one_byte637,17947 -setup_breq_not_08:setup_breq_not_08644,18068 -setup_breq_not_09:setup_breq_not_09648,18179 -setup_breq_not_0a:setup_breq_not_0a654,18405 -setup_breq_not_0b:setup_breq_not_0b658,18550 -setup_done_ack:setup_done_ack662,18591 -setup_stall:setup_stall668,18691 -setup_done:setup_done677,18833 -set_baud:set_baud688,18978 -set_baud__badbaud:set_baud__badbaud716,19593 -control_pins:control_pins721,19699 -control_pins_out:control_pins_out723,19746 -control_pins_in:control_pins_in735,20068 -ISR_Ep2in:ISR_Ep2in743,20207 -ISR_Ep2out:ISR_Ep2out779,20684 -OUT_loop:OUT_loop811,21256 -OUT_no_overflow:OUT_no_overflow819,21452 -OUT_overflow:OUT_overflow825,21583 -OUT_done:OUT_done828,21634 -dump_stat:dump_stat849,21905 -dump_stat__no_tx_running:dump_stat__no_tx_running881,22463 -dump_stat__tx_ring_loop:dump_stat__tx_ring_loop888,22591 -dump_stat__rx_ring_loop:dump_stat__rx_ring_loop906,22847 -dump_stat__done:dump_stat__done921,23055 -maybe_start_tx:maybe_start_tx926,23148 -start_tx:start_tx929,23235 -start_tx__work:start_tx__work934,23347 -start_tx_done:start_tx_done942,23559 -start_tx_really_done:start_tx_really_done948,23726 -start_tx__maybe_unthrottle_tx:start_tx__maybe_unthrottle_tx950,23753 -serial_int:serial_int966,24209 -serial_int__not_tx:serial_int__not_tx978,24420 -serial_int__not_rx:serial_int__not_rx982,24509 -get_rx_char:get_rx_char992,24604 -get_rx_char__no_overflow:get_rx_char__no_overflow1003,24864 -start_in:start_in1009,24953 -start_in__have_work:start_in__have_work1024,25346 -start_in__loop:start_in__loop1036,25730 -start_inlocal_irq_enablell_copying:start_inlocal_irq_enablell_copying1040,25843 -start_in__kick:start_in__kick1050,26044 -start_in__done:start_in__done1061,26309 -start_in__do_tx_unthrottle:start_in__do_tx_unthrottle1064,26348 -putchar:putchar1079,26587 -putchar_wait:putchar_wait1082,26617 -baud_table:baud_table1088,26669 -desc_device:desc_device1120,27350 -desc_config1:desc_config11126,27604 -desc_strings:desc_strings1132,27835 -desc_strings_end:desc_strings_end1134,27914 -string_langids:string_langids1136,27933 -string_langids_end:string_langids_end1139,28007 -string_mfg:string_mfg1152,28341 -string_mfg_end:string_mfg_end1156,28619 -string_product:string_product1158,28637 -string_product_end:string_product_end1162,29005 -string_serial:string_serial1164,29027 -string_serial_end:string_serial_end1168,29132 -tx_ring:tx_ring1185,29671 -rx_ring:rx_ring1187,29706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/cyberjack.c,926 -#define CYBERJACK_LOCAL_BUF_SIZE 40,1142 -static int debug;42,1179 -#define DRIVER_VERSION 47,1228 -#define DRIVER_AUTHOR 48,1259 -#define DRIVER_DESC 49,1301 -#define CYBERJACK_VENDOR_ID 52,1386 -#define CYBERJACK_PRODUCT_ID 53,1421 -static struct usb_device_id id_table 67,2183 -static struct usb_driver cyberjack_driver 74,2360 -static struct usb_serial_device_type cyberjack_device 82,2545 -struct cyberjack_private cyberjack_private102,3162 -static int cyberjack_startup 111,3522 -static void cyberjack_shutdown 145,4331 -static int cyberjack_open 159,4695 -static void cyberjack_close 186,5417 -static int cyberjack_write 197,5706 -static int cyberjack_write_room(294,8472 -static void cyberjack_read_int_callback(299,8575 -static void cyberjack_read_bulk_callback 356,10189 -static void cyberjack_write_bulk_callback 413,11895 -static int __init cyberjack_init 483,13994 -static void __exit cyberjack_exit 503,14418 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa28x_fw.h,69 -static const struct ezusb_hex_record keyspan_usa28x_firmware[25,917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/pl2303.h,950 -#define PL2303_VENDOR_ID 10,326 -#define PL2303_PRODUCT_ID 11,358 -#define PL2303_PRODUCT_ID_RSAQ2 12,391 -#define ATEN_VENDOR_ID 14,431 -#define ATEN_VENDOR_ID2 15,462 -#define ATEN_PRODUCT_ID 16,494 -#define IODATA_VENDOR_ID 18,527 -#define IODATA_PRODUCT_ID 19,559 -#define ELCOM_VENDOR_ID 21,593 -#define ELCOM_PRODUCT_ID 22,625 -#define ITEGNO_VENDOR_ID 24,658 -#define ITEGNO_PRODUCT_ID 25,690 -#define MA620_VENDOR_ID 27,724 -#define MA620_PRODUCT_ID 28,756 -#define RATOC_VENDOR_ID 30,789 -#define RATOC_PRODUCT_ID 31,821 -#define TRIPP_VENDOR_ID 33,854 -#define TRIPP_PRODUCT_ID 34,886 -#define RADIOSHACK_VENDOR_ID 36,919 -#define RADIOSHACK_PRODUCT_ID 37,955 -#define DCU10_VENDOR_ID 39,993 -#define DCU10_PRODUCT_ID 40,1025 -#define SITECOM_VENDOR_ID 42,1058 -#define SITECOM_PRODUCT_ID 43,1091 -#define ALCATEL_VENDOR_ID 46,1160 -#define ALCATEL_PRODUCT_ID 47,1193 -#define SAMSUNG_VENDOR_ID 50,1260 -#define SAMSUNG_PRODUCT_ID 51,1299 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa28xa_fw.h,70 -static const struct ezusb_hex_record keyspan_usa28xa_firmware[27,918 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_ionsp.h,2404 -struct int_status_pkt int_status_pkt91,3430 -#define GET_INT_STATUS_SIZE(GET_INT_STATUS_SIZE99,3674 -#define IOSP_DATA_HDR_SIZE 109,3891 -#define IOSP_CMD_HDR_SIZE 110,3921 -#define IOSP_MAX_DATA_LENGTH 112,3951 -#define IOSP_PORT_MASK 114,4007 -#define IOSP_CMD_STAT_BIT 115,4069 -#define IS_CMD_STAT_HDR(IS_CMD_STAT_HDR117,4144 -#define IS_DATA_HDR(IS_DATA_HDR118,4206 -#define IOSP_GET_HDR_PORT(IOSP_GET_HDR_PORT120,4262 -#define IOSP_GET_HDR_DATA_LEN(IOSP_GET_HDR_DATA_LEN121,4332 -#define IOSP_GET_STATUS_CODE(IOSP_GET_STATUS_CODE122,4430 -#define IOSP_BUILD_DATA_HDR1(IOSP_BUILD_DATA_HDR1128,4571 -#define IOSP_BUILD_DATA_HDR2(IOSP_BUILD_DATA_HDR2129,4674 -#define IOSP_BUILD_CMD_HDR1(IOSP_BUILD_CMD_HDR1135,4803 -#define IOSP_WRITE_UART_REG(IOSP_WRITE_UART_REG163,5729 -#define IOSP_EXT_CMD 169,5894 -#define IOSP_CMD_OPEN_PORT 178,6075 -#define IOSP_CMD_CLOSE_PORT 179,6147 -#define IOSP_CMD_CHASE_PORT 180,6225 -#define IOSP_CMD_SET_RX_FLOW 181,6313 -#define IOSP_CMD_SET_TX_FLOW 182,6384 -#define IOSP_CMD_SET_XON_CHAR 183,6455 -#define IOSP_CMD_SET_XOFF_CHAR 184,6525 -#define IOSP_CMD_RX_CHECK_REQ 185,6597 -#define IOSP_CMD_SET_BREAK 189,6748 -#define IOSP_CMD_CLEAR_BREAK 190,6815 -#define MAKE_CMD_WRITE_REG(MAKE_CMD_WRITE_REG197,6945 -#define MAKE_CMD_EXT_CMD(MAKE_CMD_EXT_CMD206,7215 -#define IOSP_RX_FLOW_RTS 240,8057 -#define IOSP_RX_FLOW_DTR 241,8132 -#define IOSP_RX_FLOW_DSR_SENSITIVITY 242,8207 -#define IOSP_RX_FLOW_XON_XOFF 245,8327 -#define IOSP_TX_FLOW_CTS 261,8738 -#define IOSP_TX_FLOW_DSR 262,8801 -#define IOSP_TX_FLOW_DCD 263,8864 -#define IOSP_TX_FLOW_XON_XOFF 264,8927 -#define IOSP_TX_FLOW_XOFF_CONTINUE 269,9125 -#define IOSP_TX_TOGGLE_RTS 277,9415 -#define IOSP_STATUS_LSR 369,12239 -#define IOSP_STATUS_MSR 380,12590 -#define IOSP_STATUS_LSR_DATA 400,13076 -#define IOSP_EXT_STATUS 405,13261 -#define IOSP_EXT_STATUS_CHASE_RSP 410,13396 -#define IOSP_EXT_STATUS_CHASE_PASS 411,13475 -#define IOSP_EXT_STATUS_CHASE_FAIL 412,13557 -#define IOSP_EXT_STATUS_RX_CHECK_RSP 416,13670 -#define IOSP_STATUS_OPEN_RSP 419,13759 -#define GET_TX_BUFFER_SIZE(GET_TX_BUFFER_SIZE427,13961 -#define IOSP_EXT4_STATUS 436,14166 -#define IOSP_GET_STATUS_LEN(IOSP_GET_STATUS_LEN449,14367 -#define IOSP_STATUS_IS_2BYTE(IOSP_STATUS_IS_2BYTE451,14447 -#define IOSP_STATUS_IS_3BYTE(IOSP_STATUS_IS_3BYTE452,14500 -#define IOSP_STATUS_IS_4BYTE(IOSP_STATUS_IS_4BYTE453,14576 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/omninet.c,947 -static int debug;52,1474 -#define DRIVER_VERSION 57,1523 -#define DRIVER_AUTHOR 58,1553 -#define DRIVER_DESC 59,1594 -#define ZYXEL_VENDOR_ID 61,1652 -#define ZYXEL_OMNINET_ID 62,1684 -#define BT_IGNITIONPRO_ID 63,1716 -static struct usb_device_id id_table 74,2381 -static struct usb_driver omninet_driver 82,2606 -static struct usb_serial_device_type zyxel_omninet_device 91,2788 -struct omninet_headeromninet_header133,4131 -struct omninet_dataomninet_data141,4215 -static int omninet_open 146,4295 -static void omninet_close 177,5243 -#define OMNINET_DATAOFFSET 195,5637 -#define OMNINET_HEADERLEN 196,5669 -#define OMNINET_BULKOUTSIZE 197,5725 -static void omninet_read_bulk_callback 199,5780 -static int omninet_write 244,7106 -static int omninet_write_room 299,8605 -static void omninet_write_bulk_callback 314,8967 -static void omninet_shutdown 332,9475 -static int __init omninet_init 338,9565 -static void __exit omninet_exit 356,9968 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_edgeport.c,2919 -#define DRIVER_VERSION 270,8981 -#define DRIVER_AUTHOR 271,9011 -#define DRIVER_DESC 272,9091 -#define IMAGE_ARRAY_NAME 275,9208 -#define IMAGE_VERSION_NAME 276,9252 -#define IMAGE_ARRAY_NAME 280,9439 -#define IMAGE_VERSION_NAME 281,9483 -#define IMAGE_ARRAY_NAME 285,9719 -#define IMAGE_VERSION_NAME 286,9770 -#define IMAGE_ARRAY_NAME 290,9936 -#define IMAGE_VERSION_NAME 291,9987 -#define MAX_NAME_LEN 294,10115 -#define CHASE_TIMEOUT 296,10141 -#define OPEN_TIMEOUT 297,10188 -#define COMMAND_TIMEOUT 298,10234 -static int debug;300,10284 -enum RXSTATE RXSTATE303,10328 - EXPECT_HDR1 304,10343 - EXPECT_HDR2 305,10388 - EXPECT_DATA 306,10433 - EXPECT_HDR3 307,10488 -struct TxFifo TxFifo316,10787 -struct edgeport_port edgeport_port325,11146 -struct edgeport_serial edgeport_serial359,12551 -struct divisor_table_entry divisor_table_entry390,14035 -static struct divisor_table_entry divisor_table[400,14241 -static int CmdUrbs 423,14735 -static struct usb_driver io_driver 453,16429 -static void update_edgeport_E2PROM 501,18977 -static int get_string 588,21839 -static int get_string_desc 623,22697 -static void get_product_info(650,23309 -static void edge_interrupt_callback 750,28064 -static void edge_bulk_in_callback 841,30949 -static void edge_bulk_out_data_callback 888,32579 -static void edge_bulk_out_cmd_callback 919,33556 -static int edge_open 967,34960 -static void block_until_chase_response(1109,39728 -static void block_until_tx_empty 1160,41082 -static void edge_close 1201,42040 -static int edge_write 1265,43903 -static void send_more_port_data(1360,47035 -static int edge_write_room 1467,50881 -static int edge_chars_in_buffer 1503,51982 -static void edge_throttle 1534,52844 -static void edge_unthrottle 1583,54083 -static void edge_set_termios 1631,55273 -static int get_lsr_info(1688,57083 -static int get_number_bytes_avail(1703,57435 -static int edge_tiocmset 1720,57841 -static int edge_tiocmget(1749,58507 -static int get_serial_info(1773,59249 -static int edge_ioctl 1806,60165 -static void edge_break 1888,62747 -static int process_rcvd_data 1924,63873 -static void process_rcvd_status 2065,68265 -static void handle_new_msr(2166,72085 -static void handle_new_lsr(2202,73052 -static int sram_write 2252,74388 -static int rom_write 2297,75821 -static int rom_read 2342,77246 -static int send_iosp_ext_cmd 2384,78523 -static int write_cmd_usb 2419,79515 -static int send_cmd_write_baud_rate 2473,81122 -static int calc_baud_rate_divisor 2523,82735 -static int send_cmd_write_uart_register 2567,83822 -static void change_port_settings 2604,84918 -static void unicode_to_ascii 2745,89025 -static void get_manufacturing_desc 2763,89536 -static void get_boot_desc 2802,91544 -static void load_application_firmware 2831,92817 -static int edge_startup 2898,95002 -static void edge_shutdown 2985,97769 -static int __init edgeport_init(3005,98378 -static void __exit edgeport_exit 3038,99375 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/kl5kusb105.h,928 -#define PALMCONNECT_VID 6,133 -#define PALMCONNECT_PID 7,165 -#define KLSI_VID 9,198 -#define KLSI_KL5KUSB105D_PID 10,223 - kl5kusb105a_sio_b115200 20,366 - kl5kusb105a_sio_b57600 21,397 - kl5kusb105a_sio_b38400 22,428 - kl5kusb105a_sio_b19200 23,459 - kl5kusb105a_sio_b14400 24,490 - kl5kusb105a_sio_b9600 25,521 - kl5kusb105a_sio_b4800 26,552 - kl5kusb105a_sio_b2400 27,601 - kl5kusb105a_sio_b1200 28,650 - kl5kusb105a_sio_b1200 = 0xa,28,650 - kl5kusb105a_sio_b600 29,700 - kl5kusb105a_sio_b600 = 0xb 29,700 -#define kl5kusb105a_dtb_7 33,770 -#define kl5kusb105a_dtb_8 34,800 -#define KL5KUSB105A_SIO_SET_DATA 39,849 -#define KL5KUSB105A_SIO_POLL 40,885 -#define KL5KUSB105A_SIO_CONFIGURE 41,921 -#define KL5KUSB105A_SIO_CONFIGURE_READ_ON 43,1018 -#define KL5KUSB105A_SIO_CONFIGURE_READ_OFF 44,1067 -#define KL5KUSB105A_DSR 52,1349 -#define KL5KUSB105A_CTS 53,1393 -#define KL5KUSB105A_WANTS_TO_SEND 55,1438 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/mct_u232.c,1265 -#define DRIVER_VERSION 85,3129 -#define DRIVER_AUTHOR 86,3159 -#define DRIVER_DESC 87,3221 -static int write_blocking;97,3665 -static int debug;100,3726 -static struct usb_device_id id_table_combined 135,5089 -static struct usb_driver mct_u232_driver 145,5447 -static struct usb_serial_device_type mct_u232_device 153,5639 -struct mct_u232_private mct_u232_private179,6445 -#define WDR_TIMEOUT 191,6797 -static int mct_u232_calculate_baud_rate(198,7057 -static int mct_u232_set_baud_rate(238,8261 -static int mct_u232_set_line_ctrl(286,10226 -static int mct_u232_set_modem_ctrl(300,10743 -static int mct_u232_get_modem_stat(323,11477 -static void mct_u232_msr_to_state(339,12010 -static int mct_u232_startup 365,12666 -static void mct_u232_shutdown 398,13513 -static int mct_u232_open 413,13854 -static void mct_u232_close 477,15842 -static int mct_u232_write 493,16249 -static void mct_u232_write_bulk_callback 561,17966 -static void mct_u232_read_int_callback 592,18694 -static void mct_u232_set_termios 684,21169 -static void mct_u232_break_ctl(784,24059 -static int mct_u232_tiocmget 804,24564 -static int mct_u232_tiocmset 819,24940 -static int mct_u232_ioctl 846,25692 -static int __init mct_u232_init 872,26251 -static void __exit mct_u232_exit 890,26646 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/io_tables.h,469 -#define IO_TABLES_H15,384 -static struct usb_device_id edgeport_2port_id_table 17,405 -static struct usb_device_id edgeport_4port_id_table 26,791 -static struct usb_device_id edgeport_8port_id_table 40,1509 -static struct usb_device_id id_table_combined 51,2007 -static struct usb_serial_device_type edgeport_2port_device 78,3504 -static struct usb_serial_device_type edgeport_4port_device 103,4193 -static struct usb_serial_device_type edgeport_8port_device 128,4882 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/visor.c,1691 -#define DRIVER_VERSION 164,5301 -#define DRIVER_AUTHOR 165,5331 -#define DRIVER_DESC 166,5391 -static int debug;191,7047 -static __u16 vendor;192,7065 -static __u16 product;193,7086 -static struct usb_device_id id_table 195,7109 -static struct usb_device_id clie_id_5_table 250,9809 -static struct usb_device_id clie_id_3_5_table 257,10041 -static struct usb_device_id id_table_combined 262,10182 -static struct usb_driver visor_driver 296,11763 -static struct usb_serial_device_type handspring_device 305,12032 -static struct usb_serial_device_type clie_5_device 333,12920 -static struct usb_serial_device_type clie_3_5_device 361,13775 -struct visor_private visor_private384,14434 -#define URB_UPPER_LIMIT 392,14606 -static int stats;394,14634 -static int visor_open 399,14860 -static void visor_close 454,16480 -static int visor_write 483,17311 -static int visor_write_room 555,19107 -static int visor_chars_in_buffer 568,19395 -static void visor_write_bulk_callback 582,19710 -static void visor_read_bulk_callback 605,20354 -static void visor_read_int_callback 653,21943 -static void visor_throttle 692,22964 -static void visor_unthrottle 699,23112 -static int palm_os_3_probe 711,23443 -static int palm_os_4_probe 809,26058 -static int visor_probe 842,26975 -static int visor_calc_num_ports 863,27471 -static int generic_startup(873,27669 -static int clie_3_5_startup 889,28021 -static int treo_attach 931,29159 -#define COPY_PORT(COPY_PORT951,29927 -static int clie_5_attach 971,30588 -static void visor_shutdown 992,31160 -static int visor_ioctl 997,31246 -static void visor_set_termios 1006,31539 -static int __init visor_init 1072,33355 -static void __exit visor_exit 1127,34885 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_pda.S,4861 -rx_ring_in:rx_ring_in181,7008 -rx_ring_out:rx_ring_out182,7028 -tx_ring_in:tx_ring_in183,7049 -tx_ring_out:tx_ring_out184,7069 -tx_unthrottle_threshold:tx_unthrottle_threshold185,7090 -USB_Jump_Table:USB_Jump_Table188,7173 -start:start217,7619 -clear_tx_ring_loop:clear_tx_ring_loop232,7906 -clear_rx_ring_loop:clear_rx_ring_loop239,8015 -send:send310,9594 -wait1:wait1316,9664 -renum_wait1:renum_wait1337,10010 -renum_wait2:renum_wait2339,10035 -renum_wait3:renum_wait3341,10060 -main:main350,10299 -ISR_Sudav:ISR_Sudav354,10319 -setup_bmreq_type_not_standard:setup_bmreq_type_not_standard389,10965 -setup_bmreq_type_not_standard__do_stall:setup_bmreq_type_not_standard__do_stall399,11389 -setup_ctrl_not_00:setup_ctrl_not_00401,11448 -setup_ctrl_not_01:setup_ctrl_not_01405,11567 -setup_ctrl_not_02:setup_ctrl_not_02409,11675 -setup_ctrl_not_03:setup_ctrl_not_03414,11846 -setup_ctrl_do_break_on:setup_ctrl_do_break_on424,12151 -setup_ctrl_not_04:setup_ctrl_not_04435,12398 -setup_ctrl_not_05:setup_ctrl_not_05439,12515 -setup_ctrl_06_not_00:setup_ctrl_06_not_00448,12772 -setup_ctrl_06_not_01:setup_ctrl_06_not_01455,12961 -setup_ctrl_not_06:setup_ctrl_not_06457,13002 -setup_ctrl_not_07:setup_ctrl_not_07462,13182 -setup_bmreq_type_not_vendor:setup_bmreq_type_not_vendor465,13221 -setup_bmreq_is_standard:setup_bmreq_is_standard469,13270 -setup_return_two_zero_bytes:setup_return_two_zero_bytes476,13572 -setup_Get_Status_not_device:setup_Get_Status_not_device486,13730 -setup_Get_Status_not_endpoint:setup_Get_Status_not_endpoint492,13962 -setup_Get_Status_not_interface:setup_Get_Status_not_interface496,14119 -setup_breq_not_00:setup_breq_not_00499,14172 -setup_Clear_Feature_not_stall:setup_Clear_Feature_not_stall505,14416 -setup_Clear_Feature_not_rwake:setup_Clear_Feature_not_rwake509,14558 -setup_breq_not_01:setup_breq_not_01512,14609 -setup_Set_Feature_not_stall:setup_Set_Feature_not_stall518,14845 -setup_Set_Feature_not_rwake:setup_Set_Feature_not_rwake522,14981 -setup_breq_not_03:setup_breq_not_03525,15030 -setup_Get_Descriptor_not_device:setup_Get_Descriptor_not_device537,15375 -setup_Get_Descriptor_not_config:setup_Get_Descriptor_not_config549,15708 -setup_Get_Descriptor_not_string:setup_Get_Descriptor_not_string591,17084 -setup_breq_not_06:setup_breq_not_06594,17137 -setup_return_one_byte:setup_return_one_byte599,17273 -setup_breq_not_08:setup_breq_not_08606,17394 -setup_breq_not_09:setup_breq_not_09610,17505 -setup_breq_not_0a:setup_breq_not_0a616,17731 -setup_breq_not_0b:setup_breq_not_0b620,17876 -setup_done_ack:setup_done_ack624,17917 -setup_stall:setup_stall630,18017 -setup_done:setup_done639,18159 -set_baud:set_baud650,18304 -set_baud__badbaud:set_baud__badbaud678,18919 -control_pins:control_pins683,19025 -control_pins_out:control_pins_out685,19072 -control_pins_in:control_pins_in696,19395 -ISR_Ep2in:ISR_Ep2in704,19534 -ISR_Ep2out:ISR_Ep2out729,19818 -OUT_loop:OUT_loop754,20289 -OUT_no_overflow:OUT_no_overflow762,20485 -OUT_overflow:OUT_overflow768,20616 -OUT_done:OUT_done771,20667 -dump_stat:dump_stat788,20836 -dump_stat__no_tx_running:dump_stat__no_tx_running820,21394 -dump_stat__tx_ring_loop:dump_stat__tx_ring_loop827,21522 -dump_stat__rx_ring_loop:dump_stat__rx_ring_loop845,21778 -dump_stat__done:dump_stat__done860,21986 -maybe_start_tx:maybe_start_tx865,22079 -start_tx:start_tx868,22166 -start_tx__work:start_tx__work873,22278 -start_tx_done:start_tx_done881,22490 -start_tx_really_done:start_tx_really_done887,22657 -start_tx__maybe_unthrottle_tx:start_tx__maybe_unthrottle_tx889,22684 -serial_int:serial_int905,23140 -serial_int__not_tx:serial_int__not_tx917,23351 -serial_int__not_rx:serial_int__not_rx921,23440 -get_rx_char:get_rx_char931,23535 -get_rx_char__no_overflow:get_rx_char__no_overflow942,23795 -start_in:start_in948,23884 -start_in__have_work:start_in__have_work959,24233 -start_in__loop:start_in__loop971,24617 -start_inlocal_irq_enablell_copying:start_inlocal_irq_enablell_copying975,24730 -start_in__kick:start_in__kick985,24931 -start_in__done:start_in__done993,25106 -start_in__do_tx_unthrottle:start_in__do_tx_unthrottle996,25145 -putchar:putchar1011,25384 -putchar_wait:putchar_wait1014,25414 -baud_table:baud_table1020,25466 -desc_device:desc_device1052,26147 -desc_config1:desc_config11058,26401 -desc_strings:desc_strings1064,26632 -desc_strings_end:desc_strings_end1066,26711 -string_langids:string_langids1068,26730 -string_langids_end:string_langids_end1071,26804 -string_mfg:string_mfg1084,27138 -string_mfg_end:string_mfg_end1088,27416 -string_product:string_product1090,27434 -string_product_end:string_product_end1094,27802 -string_serial:string_serial1096,27824 -string_serial_end:string_serial_end1100,27929 -tx_ring:tx_ring1117,28468 -rx_ring:rx_ring1119,28503 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa26msg.h,1069 -#define __USA26MSG__113,3851 -struct keyspan_usa26_portControlMessagekeyspan_usa26_portControlMessage116,3874 -#define USA_DATABITS_5 190,6862 -#define USA_DATABITS_6 191,6891 -#define USA_DATABITS_7 192,6920 -#define USA_DATABITS_8 193,6949 -#define STOPBITS_5678_1 194,6978 -#define STOPBITS_5_1p5 195,7040 -#define STOPBITS_678_2 196,7100 -#define USA_PARITY_NONE 197,7162 -#define USA_PARITY_ODD 198,7192 -#define USA_PARITY_EVEN 199,7221 -#define PARITY_1 200,7251 -#define PARITY_0 201,7274 -struct keyspan_usa26_portStatusMessage keyspan_usa26_portStatusMessage205,7368 -#define RXERROR_OVERRUN 221,7986 -#define RXERROR_PARITY 222,8015 -#define RXERROR_FRAMING 223,8043 -#define RXERROR_BREAK 224,8072 -struct keyspan_usa26_globalControlMessagekeyspan_usa26_globalControlMessage226,8100 -struct keyspan_usa26_globalStatusMessagekeyspan_usa26_globalStatusMessage233,8300 -struct keyspan_usa26_globalDebugMessagekeyspan_usa26_globalDebugMessage240,8451 -#define MAX_DATA_LEN 250,8589 -#define STATUS_UPDATE_INTERVAL 253,8672 -#define STATUS_RATION 256,8775 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/serial/keyspan_usa90msg.h,1574 -#define __USA90MSG__45,1784 -struct keyspan_usa90_portControlMessagekeyspan_usa90_portControlMessage47,1806 -#define USA_DATABITS_5 120,4218 -#define USA_DATABITS_6 121,4248 -#define USA_DATABITS_7 122,4278 -#define USA_DATABITS_8 123,4308 -#define STOPBITS_5678_1 124,4338 -#define STOPBITS_5_1p5 125,4402 -#define STOPBITS_678_2 126,4464 -#define USA_PARITY_NONE 127,4526 -#define USA_PARITY_ODD 128,4557 -#define USA_PARITY_EVEN 129,4587 -#define PARITY_MARK_1 130,4618 -#define PARITY_SPACE_0 131,4673 -#define TXFLOW_CTS 133,4727 -#define TXFLOW_DSR 134,4755 -#define TXFLOW_XOFF 135,4782 -#define TXFLOW_XOFF_ANY 136,4811 -#define TXFLOW_XOFF_BITS 137,4843 -#define RXFLOW_XOFF 139,4902 -#define RXFLOW_RTS 140,4931 -#define RXFLOW_DTR 141,4959 -#define RXFLOW_DSR_SENSITIVITY 142,4986 -#define RXMODE_BYHAND 144,5024 -#define RXMODE_DMA 145,5054 -#define TXMODE_BYHAND 147,5083 -#define TXMODE_DMA 148,5113 -struct keyspan_usa90_portStatusMessage keyspan_usa90_portStatusMessage153,5213 -#define RXERROR_OVERRUN 173,5970 -#define RXERROR_PARITY 174,6000 -#define RXERROR_FRAMING 175,6029 -#define RXERROR_BREAK 176,6059 -#define PORTSTATE_ENABLED 178,6088 -#define PORTSTATE_TXFLUSH 179,6119 -#define PORTSTATE_TXBREAK 180,6150 -#define PORTSTATE_LOOPBACK 181,6181 -#define USA_MSR_dCTS 185,6228 -#define USA_MSR_dDSR 186,6297 -#define USA_MSR_dRI 187,6327 -#define USA_MSR_dDCD 188,6354 -#define USA_MSR_CTS 190,6385 -#define USA_MSR_DSR 191,6439 -#define USA_USA_MSR_RI 192,6466 -#define MSR_DCD 193,6496 -#define MAX_DATA_LEN 196,6569 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/usb-skeleton.c,794 -#define USB_SKEL_VENDOR_ID 28,742 -#define USB_SKEL_PRODUCT_ID 29,776 -static struct usb_device_id skel_table 32,862 -#define USB_SKEL_MINOR_BASE 40,1108 -struct usb_skel usb_skel43,1198 -#define to_skel_dev(to_skel_dev52,1653 -static struct usb_driver skel_driver;54,1716 -static void skel_delete(56,1755 -static int skel_open(65,1917 -static int skel_release(98,2562 -static ssize_t skel_read(111,2826 -static void skel_write_bulk_callback(136,3460 -static ssize_t skel_write(156,4010 -static struct file_operations skel_fops 212,5356 -static struct usb_class_driver skel_class 224,5668 -static int skel_probe(231,5869 -static void skel_disconnect(308,8233 -static struct usb_driver skel_driver 330,8714 -static int __init usb_skel_init(338,8883 -static void __exit usb_skel_exit(350,9114 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/image/microtek.c,2116 -#define DRIVER_VERSION 146,5207 -#define DRIVER_AUTHOR 147,5239 -#define DRIVER_DESC 148,5352 -static struct usb_device_id mts_usb_ids 160,5656 -static struct usb_driver mts_usb_driver 162,5701 -#define MTS_VERSION 173,5912 -#define MTS_NAME 174,5940 -#define MTS_WARNING(MTS_WARNING176,5997 -#define MTS_ERROR(MTS_ERROR178,6060 -#define MTS_INT_ERROR(MTS_INT_ERROR180,6117 -#define MTS_MESSAGE(MTS_MESSAGE182,6161 -#define MTS_DEBUG(MTS_DEBUG187,6248 -#define MTS_DEBUG_GOT_HERE(MTS_DEBUG_GOT_HERE190,6308 -#define MTS_DEBUG_INT(MTS_DEBUG_INT192,6420 -#define MTS_NUL_STATEMENT 200,6778 -#define MTS_DEBUG(MTS_DEBUG202,6821 -#define MTS_DEBUG_GOT_HERE(MTS_DEBUG_GOT_HERE203,6863 -#define MTS_DEBUG_INT(MTS_DEBUG_INT204,6910 -#define MTS_INT_INIT(MTS_INT_INIT210,6963 -static inline void mts_debug_dump(216,7119 -static inline void mts_show_command(229,7525 -static inline void mts_show_command(313,11125 -static inline void mts_debug_dump(317,11185 -static inline void mts_urb_abort(323,11256 -static int mts_scsi_abort 330,11394 -static int mts_scsi_host_reset 341,11595 -void mts_int_submit_urb 360,12124 -static void mts_transfer_cleanup(394,12748 -static void mts_transfer_done(404,12943 -static void mts_get_status(417,13186 -static void mts_data_done(430,13466 -static void mts_command_done(447,13886 -static void mts_do_sg 488,14857 -static const u8 mts_read_image_sig[511,15556 -static const u8 mts_read_image_sig_len 512,15617 -static const unsigned char mts_direction[513,15661 -#define MTS_DIRECTION_IS_IN(MTS_DIRECTION_IS_IN521,15913 -mts_build_transfer_context(524,15996 -int mts_scsi_queuecommand(576,17387 -static Scsi_Host_Template mts_scsi_host_template 630,18583 -struct vendor_productvendor_product645,18965 - mts_sup_unknown=650,19011 - mts_sup_alpha,651,19032 - mts_sup_full652,19049 -const static struct vendor_product mts_supported_products[659,19162 -static struct usb_device_id mts_usb_ids 675,19686 -static int mts_usb_probe(692,20101 -static void mts_usb_disconnect 819,23551 -static int __init microtek_drv_init(834,23827 -static void __exit microtek_drv_exit(839,23913 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/image/microtek.h,309 -typedef void (*mts_scsi_cmnd_callback)mts_scsi_cmnd_callback11,250 -struct mts_transfer_contextmts_transfer_context14,305 -struct mts_desc mts_desc29,571 -#define MTS_EP_OUT 48,850 -#define MTS_EP_RESPONSE 49,873 -#define MTS_EP_IMAGE 50,901 -#define MTS_EP_TOTAL 51,926 -#define MTS_SCSI_ERR_MASK 53,952 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/image/hpusbscsi.h,495 -typedef void (*scsi_callback)scsi_callback9,292 -#define SENSE_COMMAND_SIZE 11,337 -#define HPUSBSCSI_SENSE_LENGTH 12,366 -struct hpusbscsihpusbscsi14,403 -#define SCSI_ERR_MASK 42,945 -static const unsigned char scsi_command_direction[44,975 -#define DIRECTION_IS_IN(DIRECTION_IS_IN51,1235 -#define HP_STATE_FREE 65,2039 -#define HP_STATE_BEGINNING 66,2108 -#define HP_STATE_WORKING 67,2174 -#define HP_STATE_ERROR 68,2236 -#define HP_STATE_WAIT 69,2304 -#define HP_STATE_PREMATURE 70,2379 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/image/mdc800.c,1801 -#define DRIVER_VERSION 105,3226 -#define DRIVER_AUTHOR 106,3271 -#define DRIVER_DESC 107,3336 -#define MDC800_VENDOR_ID 110,3440 -#define MDC800_PRODUCT_ID 111,3473 -#define TO_DOWNLOAD_GET_READY 114,3529 -#define TO_DOWNLOAD_GET_BUSY 115,3565 -#define TO_WRITE_GET_READY 116,3600 -#define TO_DEFAULT_COMMAND 117,3633 -#define TO_READ_FROM_IRQ 118,3666 -#define TO_GET_READY 119,3712 -#define MDC800_DEVICE_MINOR_BASE 122,3829 - NOT_CONNECTED,131,4055 - NOT_CONNECTED, READY,131,4055 - NOT_CONNECTED, READY, WORKING,131,4055 - NOT_CONNECTED, READY, WORKING, DOWNLOAD131,4055 -} mdc800_state;mdc800_state132,4096 -struct mdc800_datamdc800_data136,4140 -static struct usb_endpoint_descriptor mdc800_ed 183,5236 -static struct mdc800_data* mdc800;193,5466 -static int mdc800_endpoint_equals 200,5687 -static int mdc800_isBusy 213,6017 -static int mdc800_isReady 229,6192 -static void mdc800_usb_irq 246,6364 -static int mdc800_usb_waitForIRQ 312,7775 -static void mdc800_usb_write_notify 352,8617 -static void mdc800_usb_download_notify 372,8977 -static struct usb_driver mdc800_usb_driver;401,9689 -static struct file_operations mdc800_device_ops;402,9733 -static struct usb_class_driver mdc800_class 403,9782 -static int mdc800_usb_probe 414,10053 -static void mdc800_usb_disconnect 532,12310 -static int mdc800_getAnswerSize 564,13093 -static int mdc800_device_open 595,13492 -static int mdc800_device_release 644,14342 -static ssize_t mdc800_device_read 670,14808 -static ssize_t mdc800_device_write 770,17120 -static struct file_operations mdc800_device_ops 939,21031 -static struct usb_device_id mdc800_table 950,21238 -static struct usb_driver mdc800_usb_driver 959,21463 -#define try(try974,21848 -static int __init usb_mdc800_init 976,21906 -static void __exit usb_mdc800_cleanup 1036,23310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/image/hpusbscsi.c,863 -#define DEBUG(DEBUG18,387 -static char *states[21,434 -#define TRACE_STATE 23,521 -static Scsi_Host_Template hpusbscsi_scsi_host_template 25,633 -hpusbscsi_usb_probe(41,1049 -hpusbscsi_usb_disconnect(133,3512 -static struct usb_device_id hpusbscsi_usb_ids[148,3825 -static struct usb_driver hpusbscsi_usb_driver 166,4510 -hpusbscsi_init 177,4756 -hpusbscsi_exit 183,4847 -static int hpusbscsi_scsi_queuecommand 191,4975 -static int hpusbscsi_scsi_host_reset 266,6947 -static int hpusbscsi_scsi_abort 278,7269 -static void handle_usb_error 292,7664 -static void control_interrupt_callback 301,7889 -static void simple_command_callback(359,9483 -static void scatter_gather_callback(378,9973 -static void simple_done 418,11144 -static void simple_payload_callback 445,11844 -static void request_sense_callback 477,12497 -static void issue_request_sense 504,13098 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/rio500.c,761 -#define DRIVER_VERSION 49,1421 -#define DRIVER_AUTHOR 50,1451 -#define DRIVER_DESC 51,1507 -#define RIO_MINOR 53,1549 -#define NAK_TIMEOUT 56,1604 -#define IBUF_SIZE 58,1630 -#define OBUF_SIZE 61,1685 -struct rio_usb_data rio_usb_data63,1712 -static struct rio_usb_data rio_instance;74,2264 -static int open_rio(76,2306 -static int close_rio(97,2624 -ioctl_rio(108,2797 -write_rio(268,6827 -read_rio(354,8610 -file_operations usb_rio_fops 434,10396 -static struct usb_class_driver usb_rio_class 443,10561 -static int probe_rio(450,10750 -static void disconnect_rio(490,11748 -static struct usb_device_id rio_table 516,12257 -static struct usb_driver rio_driver 523,12422 -static int __init usb_rio_init(531,12585 -static void __exit usb_rio_cleanup(545,12765 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/usbtest.c,2563 -# define DEBUG3,77 -struct usbtest_param usbtest_param21,466 -#define USBTEST_REQUEST 32,665 -#define GENERIC 36,807 -struct usbtest_info usbtest_info47,1222 -struct usbtest_dev usbtest_dev63,1691 -#define TBUF_SIZE 73,1918 -static struct usb_device *testdev_to_usbdev 77,1956 -#define INTERRUPT_RATE 83,2146 -#define xprintk(xprintk85,2193 -#define DBG(DBG89,2308 -#define DBG(DBG92,2388 -#define VDBG 97,2472 -#define VDBG(VDBG99,2495 -#define ERROR(ERROR103,2567 -#define WARN(WARN105,2641 -#define INFO(INFO107,2718 -get_endpoints 113,2883 -static void simple_callback 205,5132 -static struct urb *simple_alloc_urb 210,5253 -static unsigned pattern 240,5982 -static inline void simple_fill_buf 244,6111 -static inline int simple_check_buf 263,6441 -static void simple_free_urb 297,7224 -static int simple_io 304,7398 -static void free_sglist 360,8736 -alloc_sglist 375,8999 -static int perform_sglist 412,9670 -static unsigned realworld 462,10997 -static int get_altsetting 466,11137 -static int set_altsetting 487,11648 -static int is_good_config 501,11983 -static int ch9_postconfig 554,13682 -struct ctrl_ctx ctrl_ctx710,18776 -#define NUM_SUBCASES 722,18988 -struct subcase subcase724,19049 -static void ctrl_complete 730,19133 -test_ctrl_queue 833,21751 -static void unlink1_callback 1034,27870 -static int unlink1 1047,28166 -static int unlink_simple 1106,29884 -static int verify_not_halted 1119,30200 -static int verify_halted 1140,30688 -static int test_halt 1164,31282 -static int halt_simple 1201,32206 -static int ctrl_out 1239,33198 -struct iso_context iso_context1316,34939 -static void iso_callback 1325,35096 -static struct urb *iso_alloc_urb 1363,35857 -test_iso_queue 1410,37026 -usbtest_ioctl 1499,39639 -static unsigned force_interrupt 1816,48479 -static unsigned short vendor;1821,48645 -static unsigned short product;1825,48765 -usbtest_probe 1831,48907 -static void usbtest_disconnect 1931,51520 -static struct usbtest_info ez1_info 1954,52355 -static struct usbtest_info ez2_info 1962,52495 -static struct usbtest_info fw_info 1971,52665 -static struct usbtest_info gz_info 1986,53113 -static struct usbtest_info um_info 1993,53231 -static struct usbtest_info um2_info 1999,53344 -static struct usbtest_info ibot2_info 2010,53594 -static struct usbtest_info generic_info 2019,53767 -static struct usbtest_info hact_info 2026,53889 -static struct usb_device_id id_table 2034,54001 -static struct usb_driver usbtest_driver 2112,56040 -static int __init usbtest_init 2123,56319 -static void __exit usbtest_exit 2133,56525 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/usbled.c,539 - #define DEBUG 14,337 -#define DRIVER_AUTHOR 24,511 -#define DRIVER_DESC 25,570 -#define VENDOR_ID 27,608 -#define PRODUCT_ID 28,633 -static struct usb_device_id id_table 31,710 -struct usb_led usb_led37,841 -#define BLUE 44,955 -#define RED 45,973 -#define GREEN 46,990 -static void change_color(47,1009 -#define show_set(show_set83,1731 -static int led_probe(106,2475 -static void led_disconnect(135,3193 -static struct usb_driver led_driver 153,3617 -static int __init usb_led_init(161,3779 -static void __exit usb_led_exit(171,3960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/rio500_usb.h,160 -#define RIO_SEND_COMMAND 23,920 -#define RIO_RECV_COMMAND 24,951 -#define RIO_DIR_OUT 26,983 -#define RIO_DIR_IN 27,1030 -struct RioCommand RioCommand29,1057 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/emi26_fw.h,138 -static INTEL_HEX_RECORD g_bitstream[24,979 -static INTEL_HEX_RECORD g_Firmware[4413,456125 -static INTEL_HEX_RECORD g_Loader[5676,572700 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/speedtch.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/emi62_fw_s.h,145 -static INTEL_HEX_RECORD g_emi62bs[6,128 -static INTEL_HEX_RECORD g_HexSpdifFw62[6115,622779 -static INTEL_HEX_RECORD g_emi62_loader[8627,790972 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/tiglusb.c,681 -#define DRIVER_VERSION 44,1312 -#define DRIVER_AUTHOR 45,1342 -#define DRIVER_DESC 46,1431 -#define DRIVER_LICENSE 47,1498 -static tiglusb_t tiglusb[51,1604 -static int timeout 52,1639 -static struct class_simple *tiglusb_class;53,1709 -clear_device 61,1878 -clear_pipes 75,2090 -tiglusb_open 97,2509 -tiglusb_release 139,3195 -tiglusb_read 161,3540 -tiglusb_write 218,4877 -tiglusb_ioctl 278,6268 -static struct file_operations tiglusb_fops 323,7021 -tiglusb_probe 336,7324 -tiglusb_disconnect 420,9106 -static struct usb_device_id tiglusb_ids[454,9827 -static struct usb_driver tiglusb_driver 461,9954 -tiglusb_setup 476,10288 -tiglusb_init 494,10562 -tiglusb_cleanup 545,11582 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/phidgetservo.c,767 -#define DEBUG 30,973 -#define DRIVER_AUTHOR 39,1145 -#define DRIVER_DESC 40,1196 -#define VENDOR_ID_GLAB 42,1243 -#define DEVICE_ID_GLAB_PHIDGETSERVO_QUAD 43,1276 -#define DEVICE_ID_GLAB_PHIDGETSERVO_UNI 44,1324 -#define VENDOR_ID_WISEGROUP 46,1373 -#define VENDOR_ID_WISEGROUP_PHIDGETSERVO_QUAD 47,1410 -#define VENDOR_ID_WISEGROUP_PHIDGETSERVO_UNI 48,1463 -#define SERVO_VERSION_30 50,1516 -#define SERVO_COUNT_QUAD 51,1548 -static struct usb_device_id id_table[53,1581 -struct phidget_servo phidget_servo77,2125 -change_position_v30(86,2251 -change_position_v20(159,4016 -#define show_set(show_set209,5058 -servo_probe(253,6361 -servo_disconnect(288,7406 -static struct usb_driver servo_driver 311,8025 -phidget_servo_init(320,8215 -phidget_servo_exit(332,8402 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/emi62_fw_m.h,144 -static INTEL_HEX_RECORD g_emi62bs[6,127 -static INTEL_HEX_RECORD g_HexMidiFw62[6115,616673 -static INTEL_HEX_RECORD g_emi62_loader[8644,784711 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/cytherm.c,1147 -#define DRIVER_VERSION 24,651 -#define DRIVER_AUTHOR 25,681 -#define DRIVER_DESC 26,718 -#define USB_SKEL_VENDOR_ID 28,772 -#define USB_SKEL_PRODUCT_ID 29,806 -static struct usb_device_id id_table 31,842 -struct usb_cytherm usb_cytherm38,1047 -static struct usb_driver cytherm_driver 52,1503 -#define PING 62,1745 -#define READ_ROM 63,1769 -#define READ_RAM 64,1831 -#define WRITE_RAM 65,1893 -#define READ_PORT 66,1967 -#define WRITE_PORT 67,2030 -static int vendor_command(71,2146 -#define BRIGHTNESS 85,2516 -#define BRIGHTNESS_SEM 86,2584 -static ssize_t show_brightness(88,2657 -static ssize_t set_brightness(96,2891 -#define TEMP 138,3995 -#define SIGN 139,4048 -static ssize_t show_temp(141,4107 -static ssize_t set_temp(177,4943 -#define BUTTON 185,5096 -static ssize_t show_button(187,5117 -static ssize_t set_button(218,5727 -static ssize_t show_port0(226,5888 -static ssize_t set_port0(252,6430 -static ssize_t show_port1(286,7154 -static ssize_t set_port1(312,7699 -static int cytherm_probe(348,8425 -static void cytherm_disconnect(383,9328 -static int __init usb_cytherm_init(404,9891 -static void __exit usb_cytherm_exit(419,10136 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/usblcd.c,773 -#define DRIVER_VERSION 21,1123 -#define USBLCD_MINOR 23,1176 -#define IOCTL_GET_HARD_VERSION 25,1203 -#define IOCTL_GET_DRV_VERSION 26,1236 -#define NAK_TIMEOUT 29,1305 -#define IBUF_SIZE 31,1334 -#define OBUF_SIZE 32,1359 -struct lcd_usb_data lcd_usb_data34,1386 -static struct lcd_usb_data lcd_instance;44,1757 -static int open_lcd(46,1799 -static int close_lcd(62,2058 -ioctl_lcd(73,2234 -write_lcd(108,3030 -read_lcd(174,4554 -file_operations usb_lcd_fops 238,6094 -static struct usb_class_driver usb_lcd_class 247,6259 -static int probe_lcd(254,6448 -static void disconnect_lcd(307,7709 -static struct usb_device_id id_table 330,8154 -static struct usb_driver lcd_driver 337,8314 -static int __init usb_lcd_init(345,8484 -static void __exit usb_lcd_cleanup(359,8733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/legousbtower.c,1707 - static int debug 92,3875 - static int debug 94,3904 -#define dbg(dbg99,3974 -#define DRIVER_VERSION 103,4125 -#define DRIVER_AUTHOR 104,4156 -#define DRIVER_DESC 105,4222 -static int read_buffer_size 118,4673 -static int write_buffer_size 128,5114 -static int packet_timeout 142,5754 -static int read_timeout 150,6047 -static int interrupt_in_interval 163,6690 -static int interrupt_out_interval 167,6846 -#define LEGO_USB_TOWER_VENDOR_ID 172,7053 -#define LEGO_USB_TOWER_PRODUCT_ID 173,7093 -#define LEGO_USB_TOWER_REQUEST_RESET 176,7157 -#define LEGO_USB_TOWER_REQUEST_GET_VERSION 177,7200 -struct tower_reset_reply tower_reset_reply179,7249 -struct tower_get_version_reply tower_get_version_reply185,7369 -static struct usb_device_id tower_table 196,7611 -#define LEGO_USB_TOWER_MINOR_BASE 203,7806 -struct lego_usb_tower lego_usb_tower207,7903 -static struct file_operations tower_fops 262,10051 -static struct usb_class_driver tower_class 276,10414 -static struct usb_driver tower_driver 285,10712 -static inline void lego_usb_tower_debug_data 297,10927 -static inline void tower_delete 315,11267 -static int tower_open 340,11765 -static int tower_release 442,13994 -static void tower_abort_transfers 494,15147 -static void tower_check_for_read_packet 530,16018 -static unsigned int tower_poll 546,16442 -static loff_t tower_llseek 575,16986 -static ssize_t tower_read 584,17120 -static ssize_t tower_write 675,19325 -static void tower_interrupt_in_callback 760,21378 -static void tower_interrupt_out_callback 816,23054 -static int tower_probe 845,23980 -static void tower_disconnect 1010,28756 -static int __init lego_usb_tower_init(1051,29479 -static void __exit lego_usb_tower_exit(1078,29974 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/auerswald.c,4643 -#define dump(dump38,1586 -#define dump(dump47,1766 -#define DRIVER_VERSION 52,1896 -#define DRIVER_AUTHOR 53,1928 -#define DRIVER_DESC 54,1993 -#define ID_AUERSWALD 60,2232 -#define AUER_MINOR_BASE 62,2263 -#define AUER_MAX_DEVICES 65,2393 -#define AU_RBUFFERS 69,2468 -#define AUCH_ELEMENTS 72,2550 -#define AU_RETRIES 75,2619 -#define AUH_INDIRMASK 80,2804 -#define AUH_DIRECT 81,2871 -#define AUH_INDIRECT 82,2932 -#define AUH_SPLITMASK 84,2991 -#define AUH_UNSPLIT 85,3048 -#define AUH_SPLIT 86,3110 -#define AUH_TYPEMASK 89,3239 -#define AUH_TYPESIZE 90,3308 -#define AUH_DCHANNEL 91,3362 -#define AUH_B1CHANNEL 92,3415 -#define AUH_B2CHANNEL 93,3476 -#define AUH_COMMAND 95,3608 -#define AUH_BPROT 96,3662 -#define AUH_DPROTANA 97,3729 -#define AUH_TAPI 98,3795 -#define AUH_UNASSIGNED 100,3925 -#define AUH_FIRSTUSERCH 101,4002 -#define AUH_SIZE 103,4091 -#define AUS_STARTMASK 106,4201 -#define AUS_FIRST 107,4278 -#define AUS_FOLLOW 108,4328 -#define AUS_ENDMASK 110,4383 -#define AUS_END 111,4459 -#define AUS_NOEND 112,4508 -#define AUS_LENMASK 114,4566 -#define AUT_RREQ 117,4659 -#define AUT_WREQ 118,4754 -#define AUV_GETINFO 121,4873 -#define AUV_WBLOCK 122,4925 -#define AUV_RBLOCK 123,4975 -#define AUV_CHANNELCTL 124,5024 -#define AUV_DUMMY 125,5078 -#define AUDI_NUMBCH 128,5152 -#define AUDI_OUTFSIZE 129,5221 -#define AUDI_MBCTRANS 130,5287 -#define AU_IRQENDP 133,5400 -#define AU_IRQCMDID 134,5454 -#define AU_BLOCKRDY 135,5509 -#define AU_IRQMINSIZE 136,5589 -#define AUSI_VENDOR 139,5688 -#define AUSI_DEVICE 140,5745 -#define AUSI_SERIALNR 141,5795 -#define AUSI_MSN 142,5840 -#define AUSI_DLEN 144,5917 -#define AUV_RETRY 146,5980 -} audevinfo_t,*paudevinfo_t;paudevinfo_t154,6332 -#define IOCTL_AU_SLEN 157,6380 -#define IOCTL_AU_DEVINFO 158,6481 -#define IOCTL_AU_SERVREQ 159,6573 -#define IOCTL_AU_BUFLEN 160,6654 -#define IOCTL_AU_RXAVAIL 161,6761 -#define IOCTL_AU_CONNECT 162,6861 -#define IOCTL_AU_TXREADY 163,6969 -} auerchainelement_t,*pauerchainelement_t;pauerchainelement_t179,7862 -typedef struct auerchainauerchain182,7922 -} auerchain_t,*pauerchain_t;pauerchain_t188,8241 -} auerchain_chs_t,*pauerchain_chs_t;pauerchain_chs_t195,8429 -} auerbuf_t,*pauerbuf_t;pauerbuf_t209,9118 -typedef struct auerbufctlauerbufctl212,9176 -} auerbufctl_t,*pauerbufctl_t;pauerbufctl_t217,9405 -typedef void (*auer_dispatch_t)auer_dispatch_t222,9586 -typedef void (*auer_disconn_t)auer_disconn_t223,9649 -typedef struct auersconauerscon224,9700 -} auerscon_t,*pauerscon_t;pauerscon_t229,9951 -} auerswald_t,*pauerswald_t;pauerswald_t250,11171 -} auerchar_t,*pauerchar_t;pauerchar_t265,11910 -static struct usb_driver auerswald_driver;272,12180 -static void auerchain_complete 280,12485 -static int auerchain_submit_urb_list 347,15037 -static int auerchain_submit_urb 421,17595 -static int auerchain_unlink_urb 430,17902 -static void auerchain_unlink_all 486,19994 -static void auerchain_free 527,21399 -static void auerchain_init 553,22176 -static int auerchain_setup 566,22543 -static void auerchain_blocking_completion 596,23541 -static int auerchain_start_wait_urb 606,23795 -static int auerchain_control_msg 677,25966 -static void auerbuf_free 719,27124 -static void auerbuf_free_list 734,27350 -static void auerbuf_init 751,27695 -static void auerbuf_free_buffers 760,27936 -static int auerbuf_setup 775,28298 -static void auerbuf_releasebuf(810,29559 -static int auerswald_status_retry 852,31039 -static void auerchar_ctrlwrite_complete 870,31358 -static void auerswald_ctrlread_wretcomplete 883,31811 -static void auerswald_ctrlread_complete 922,33388 -static void auerswald_int_complete 994,36077 -static void auerswald_int_free 1107,39868 -static int auerswald_int_open 1123,40300 -static int auerswald_int_release 1174,41892 -static void auerchar_disconnect 1196,42499 -static void auerchar_ctrlread_dispatch 1206,42799 -static void auerswald_delete(1249,44337 -static void auerchar_delete(1269,44730 -static int auerswald_addservice 1297,45260 -static void auerswald_removeservice 1342,46804 -static int auerchar_open 1382,48364 -static int auerchar_ioctl 1449,49908 -static ssize_t auerchar_read 1585,53294 -static ssize_t auerchar_write 1715,56602 -static int auerchar_release 1850,60188 -static struct file_operations auerswald_fops 1888,61089 -static struct usb_class_driver auerswald_class 1899,61326 -static int auerswald_probe 1928,62607 -static void auerswald_disconnect 2070,67224 -static struct usb_device_id auerswald_ids 2122,68710 -static struct usb_driver auerswald_driver 2134,69255 -static int __init auerswald_init 2149,69697 -static void __exit auerswald_cleanup 2166,70043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/emi62.c,878 -#define MAX_INTEL_HEX_RECORD_LENGTH 19,531 -typedef struct _INTEL_HEX_RECORD_INTEL_HEX_RECORD20,570 -} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;PINTEL_HEX_RECORD26,690 -#define SPDIF 31,813 -#define EMI62_VENDOR_ID 40,1037 -#define EMI62_PRODUCT_ID 41,1107 -#define ANCHOR_LOAD_INTERNAL 43,1173 -#define ANCHOR_LOAD_EXTERNAL 44,1307 -#define ANCHOR_LOAD_FPGA 45,1410 -#define MAX_INTERNAL_ADDRESS 46,1527 -#define CPUCS_REG 47,1626 -#define INTERNAL_RAM(INTERNAL_RAM48,1723 -static int emi62_writememory 60,2313 -static int emi62_set_reset 78,2917 -#define FW_LOAD_SIZE 90,3220 -static int emi62_load_firmware 92,3248 -static __devinitdata struct usb_device_id id_table 244,7794 -static int emi62_probe(251,8019 -static void emi62_disconnect(266,8457 -static struct usb_driver emi62_driver 270,8519 -static int __init emi62_init 278,8706 -static void __exit emi62_exit 287,8882 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/tiglusb.h,304 -#define _TIGLUSB_H13,326 -#define MAXTIGL 18,389 -#define BULK_RCV_MAX 23,457 -#define BULK_SND_MAX 24,481 -typedef enum { _stopped=30,539 -typedef enum { _stopped=0, _started 30,539 -typedef enum { _stopped=0, _started } driver_state_t;driver_state_t30,539 -} tiglusb_t, *ptiglusb_t;ptiglusb_t45,934 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/emi26.c,839 -#define MAX_INTEL_HEX_RECORD_LENGTH 19,524 -typedef struct _INTEL_HEX_RECORD_INTEL_HEX_RECORD20,563 -} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;PINTEL_HEX_RECORD26,683 -#define EMI26_VENDOR_ID 31,782 -#define EMI26_PRODUCT_ID 32,852 -#define ANCHOR_LOAD_INTERNAL 34,917 -#define ANCHOR_LOAD_EXTERNAL 35,1051 -#define ANCHOR_LOAD_FPGA 36,1154 -#define MAX_INTERNAL_ADDRESS 37,1271 -#define CPUCS_REG 38,1370 -#define INTERNAL_RAM(INTERNAL_RAM39,1467 -static int emi26_writememory 51,2057 -static int emi26_set_reset 69,2661 -#define FW_LOAD_SIZE 81,3024 -static int emi26_load_firmware 83,3052 -static struct usb_device_id id_table 204,6584 -static int emi26_probe(211,6795 -static void emi26_disconnect(225,7195 -static struct usb_driver emi26_driver 229,7257 -static int __init emi26_init 237,7444 -static void __exit emi26_exit 242,7522 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/misc/uss720.c,1899 -#define DRIVER_VERSION 51,1749 -#define DRIVER_AUTHOR 52,1779 -#define DRIVER_DESC 53,1843 -struct parport_uss720_private parport_uss720_private57,2021 -static int get_1284_register(66,2247 -static int set_1284_register(99,3443 -#define ECR_SPP 123,4182 -#define ECR_PS2 124,4201 -#define ECR_PPF 125,4220 -#define ECR_ECP 126,4239 -#define ECR_EPP 127,4258 -static int change_mode(130,4323 -static int clear_epp_timeout(178,5525 -static int uss720_irq(191,5703 -static void parport_uss720_write_data(206,6163 -static unsigned char parport_uss720_read_data(211,6273 -static void parport_uss720_write_control(220,6427 -static unsigned char parport_uss720_read_control(230,6672 -static unsigned char parport_uss720_frob_control(236,6852 -static unsigned char parport_uss720_read_status(250,7190 -static void parport_uss720_disable_irq(259,7353 -static void parport_uss720_enable_irq(270,7584 -static void parport_uss720_data_forward 281,7813 -static void parport_uss720_data_reverse 292,8046 -static void parport_uss720_init_state(303,8278 -static void parport_uss720_save_state(309,8441 -static void parport_uss720_restore_state(319,8693 -static size_t parport_uss720_epp_read_data(326,8897 -static size_t parport_uss720_epp_write_data(346,9328 -static size_t parport_uss720_epp_read_addr(385,10274 -static size_t parport_uss720_epp_write_addr(405,10705 -static size_t parport_uss720_ecp_write_data(427,11208 -static size_t parport_uss720_ecp_read_data(445,11736 -static size_t parport_uss720_ecp_write_addr(463,12249 -static size_t parport_uss720_write_compat(478,12580 -static struct parport_operations parport_uss720_ops 498,13183 -static int uss720_probe(536,14433 -static void uss720_disconnect(609,16769 -static struct usb_device_id uss720_table 628,17204 -static struct usb_driver uss720_driver 639,17465 -static int __init uss720_init(653,17808 -static void __exit uss720_cleanup(665,17988 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/usblp.c,2792 -#define DRIVER_VERSION 63,2136 -#define DRIVER_AUTHOR 64,2167 -#define DRIVER_DESC 65,2276 -#define USBLP_BUF_SIZE 67,2331 -#define USBLP_DEVICE_ID_SIZE 68,2360 -#define LPGETSTATUS 71,2409 -#define IOCNR_GET_DEVICE_ID 72,2473 -#define IOCNR_GET_PROTOCOLS 73,2504 -#define IOCNR_SET_PROTOCOL 74,2535 -#define IOCNR_HP_SET_CHANNEL 75,2565 -#define IOCNR_GET_BUS_ADDRESS 76,2597 -#define IOCNR_GET_VID_PID 77,2630 -#define IOCNR_SOFT_RESET 78,2659 -#define LPIOC_GET_DEVICE_ID(LPIOC_GET_DEVICE_ID80,2715 -#define LPIOC_GET_PROTOCOLS(LPIOC_GET_PROTOCOLS85,3015 -#define LPIOC_SET_PROTOCOL 87,3148 -#define LPIOC_HP_SET_CHANNEL 89,3275 -#define LPIOC_GET_BUS_ADDRESS(LPIOC_GET_BUS_ADDRESS91,3412 -#define LPIOC_GET_VID_PID(LPIOC_GET_VID_PID93,3552 -#define LPIOC_SOFT_RESET 95,3668 -#define USBLP_REQ_GET_ID 109,4214 -#define USBLP_REQ_GET_STATUS 110,4246 -#define USBLP_REQ_RESET 111,4282 -#define USBLP_REQ_HP_CHANNEL_CHANGE_REQUEST 112,4314 -#define USBLP_MINORS 114,4389 -#define USBLP_MINOR_BASE 115,4414 -#define USBLP_WRITE_TIMEOUT 117,4442 -#define USBLP_FIRST_PROTOCOL 119,4496 -#define USBLP_LAST_PROTOCOL 120,4527 -#define USBLP_MAX_PROTOCOLS 121,4557 -#define STATUS_BUF_SIZE 127,4725 -struct usblp usblp129,4753 -static void usblp_dump(160,6023 -struct quirk_printer_struct quirk_printer_struct193,7144 -#define USBLP_QUIRK_BIDIR 199,7235 -#define USBLP_QUIRK_USB_INIT 200,7333 -static struct quirk_printer_struct quirk_printers[202,7402 -static struct usb_driver usblp_driver;224,8542 -static int usblp_ctrl_msg(230,8631 -#define usblp_read_status(usblp_read_status250,9403 -#define usblp_get_id(usblp_get_id252,9553 -#define usblp_reset(usblp_reset254,9712 -#define usblp_hp_channel_change_request(usblp_hp_channel_change_request257,9839 -static int proto_bias 265,10201 -static void usblp_bulk_read(271,10255 -static void usblp_bulk_write(285,10622 -static char *usblp_messages[303,11031 -static int usblp_check_status(305,11113 -static int usblp_open(336,11669 -static void usblp_cleanup 396,12869 -static void usblp_unlink_urbs(407,13104 -static int usblp_release(414,13247 -static unsigned int usblp_poll(429,13581 -static int usblp_ioctl(437,13885 -static ssize_t usblp_write(622,17990 -static ssize_t usblp_read(718,20391 -static unsigned int usblp_quirks 817,23040 -static struct file_operations usblp_fops 829,23308 -static struct usb_class_driver usblp_class 839,23519 -static int usblp_probe(846,23707 -static int usblp_select_alts(994,28225 -static int usblp_set_protocol(1074,30463 -static int usblp_cache_device_id_string(1113,31612 -static void usblp_disconnect(1141,32421 -static struct usb_device_id usblp_ids 1170,33079 -static struct usb_driver usblp_driver 1182,33396 -static int __init usblp_init(1190,33564 -static void __exit usblp_exit(1201,33742 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/audio.h,1635 -#define CS_AUDIO_UNDEFINED 1,0 -#define CS_AUDIO_DEVICE 2,33 -#define CS_AUDIO_CONFIGURATION 3,64 -#define CS_AUDIO_STRING 4,101 -#define CS_AUDIO_INTERFACE 5,132 -#define CS_AUDIO_ENDPOINT 6,165 -#define HEADER 8,198 -#define INPUT_TERMINAL 9,221 -#define OUTPUT_TERMINAL 10,251 -#define MIXER_UNIT 11,282 -#define SELECTOR_UNIT 12,308 -#define FEATURE_UNIT 13,337 -#define PROCESSING_UNIT 14,365 -#define EXTENSION_UNIT 15,396 -#define AS_GENERAL 17,427 -#define FORMAT_TYPE 18,453 -#define FORMAT_SPECIFIC 19,480 -#define EP_GENERAL 21,512 -#define MAX_CHAN 23,539 -#define MAX_FREQ 24,560 -#define MAX_IFACE 25,582 -#define MAX_FORMAT 26,604 -#define MAX_ALT 27,627 -struct usb_audio_terminalusb_audio_terminal29,708 -struct usb_audio_formatusb_audio_format39,830 -struct usb_audio_interfaceusb_audio_interface49,938 -#define AU_IFACE_FOUND 57,1071 -struct usb_audio_deviceusb_audio_device61,1146 -#define SET_CUR 78,1458 -#define GET_CUR 79,1482 -#define SET_MIN 80,1506 -#define GET_MIN 81,1530 -#define SET_MAX 82,1554 -#define GET_MAX 83,1578 -#define SET_RES 84,1602 -#define GET_RES 85,1626 -#define SET_MEM 86,1650 -#define GET_MEM 87,1674 -#define GET_STAT 88,1698 -#define COPY_PROTECT_CONTROL 92,1757 -#define MUTE_CONTROL 96,1836 -#define VOLUME_CONTROL 97,1876 -#define BASS_CONTROL 98,1916 -#define MID_CONTROL 99,1956 -#define TREBLE_CONTROL 100,1996 -#define GRAPHIC_EQUALIZER_CONTROL 101,2036 -#define AUTOMATIC_GAIN_CONTROL 102,2076 -#define DELAY_CONTROL 103,2116 -#define BASS_BOOST_CONTROL 104,2156 -#define LOUDNESS_CONTROL 105,2196 -#define SAMPLING_FREQ_CONTROL 109,2271 -#define PITCH_CONTROL 110,2311 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/bluetty.c,2341 -#define DEBUG116,4383 -#define DRIVER_VERSION 122,4451 -#define DRIVER_AUTHOR 123,4482 -#define DRIVER_DESC 124,4546 -#define WIRELESS_CLASS_CODE 130,4755 -#define RF_SUBCLASS_CODE 131,4790 -#define BLUETOOTH_PROGRAMMING_PROTOCOL_CODE 132,4822 -#define BLUETOOTH_TTY_MAJOR 135,4873 -#define BLUETOOTH_TTY_MINORS 136,4937 -#define USB_BLUETOOTH_MAGIC 138,5007 -#define BLUETOOTH_CONTROL_REQUEST_TYPE 140,5083 -#define CMD_PKT 143,5157 -#define ACL_PKT 144,5180 -#define SCO_PKT 145,5203 -#define EVENT_PKT 146,5226 -#define ERROR_PKT 147,5250 -#define NEG_PKT 148,5274 -#define MAX_EVENT_SIZE 151,5318 -#define EVENT_HDR_SIZE 152,5347 -#define EVENT_BUFFER_SIZE 153,5423 -#define MAX_ACL_SIZE 155,5484 -#define ACL_HDR_SIZE 156,5513 -#define ACL_BUFFER_SIZE 157,5587 -#define RELEVANT_IFLAG(RELEVANT_IFLAG160,5667 -#define CHAR2INT16(CHAR2INT16162,5744 -#define NUM_BULK_URBS 164,5820 -#define NUM_CONTROL_URBS 165,5846 -struct usb_bluetooth usb_bluetooth167,5875 -static struct usb_device_id usb_bluetooth_ids 228,8246 -static struct usb_driver usb_bluetooth_driver 235,8482 -static struct tty_driver *bluetooth_tty_driver;243,8684 -static struct usb_bluetooth *bluetooth_table[244,8732 -static inline int bluetooth_paranoia_check 247,8802 -static inline struct usb_bluetooth* get_usb_bluetooth 262,9117 -static inline struct usb_bluetooth *get_bluetooth_by_index 275,9468 -static int bluetooth_ctrl_msg 281,9577 -static int bluetooth_open 345,11471 -static void bluetooth_close 407,13490 -static int bluetooth_write 436,14122 -static int bluetooth_write_room 558,16939 -static int bluetooth_chars_in_buffer 571,17202 -static void bluetooth_throttle 585,17492 -static void bluetooth_unthrottle 606,17882 -static int bluetooth_ioctl 625,18263 -static void bluetooth_set_termios 645,18713 -void btusb_enable_bulk_read(667,19112 -void btusb_disable_bulk_read(693,19881 -static void bluetooth_int_callback 718,20503 -static void bluetooth_ctrl_callback 829,23320 -static void bluetooth_read_bulk_callback 847,23743 -static void bluetooth_write_bulk_callback 964,27259 -static void bluetooth_softint(988,27911 -static int usb_bluetooth_probe 1001,28149 -static void usb_bluetooth_disconnect(1169,33661 -static struct tty_operations bluetooth_ops 1217,34988 -static int usb_bluetooth_init(1229,35347 -static void usb_bluetooth_exit(1278,36840 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/cdc-acm.h,1054 -#define CMSPAR 14,174 -#define ACM_TTY_MAJOR 21,237 -#define ACM_TTY_MINORS 22,264 -#define USB_RT_ACM 28,313 -#define ACM_REQ_COMMAND 30,373 -#define ACM_REQ_RESPONSE 31,403 -#define ACM_REQ_SET_FEATURE 32,433 -#define ACM_REQ_GET_FEATURE 33,466 -#define ACM_REQ_CLEAR_FEATURE 34,499 -#define ACM_REQ_SET_LINE 36,535 -#define ACM_REQ_GET_LINE 37,565 -#define ACM_REQ_SET_CONTROL 38,595 -#define ACM_REQ_SEND_BREAK 39,628 -#define ACM_IRQ_NETWORK 45,678 -#define ACM_IRQ_LINE_STATE 46,708 -#define ACM_CTRL_DTR 52,774 -#define ACM_CTRL_RTS 53,801 -#define ACM_CTRL_DCD 59,877 -#define ACM_CTRL_DSR 60,904 -#define ACM_CTRL_BRK 61,931 -#define ACM_CTRL_RI 62,958 -#define ACM_CTRL_FRAMING 64,985 -#define ACM_CTRL_PARITY 65,1015 -#define ACM_CTRL_OVERRUN 66,1045 -struct acm_line acm_line72,1121 -struct acm acm83,1268 -struct union_desc union_desc109,2778 -#define CDC_CALL_MANAGEMENT_TYPE 120,3022 -#define CDC_AC_MANAGEMENT_TYPE 121,3060 -#define CDC_UNION_TYPE 122,3097 -#define CDC_COUNTRY_TYPE 123,3127 -#define CDC_DATA_INTERFACE_TYPE 125,3159 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/usb-midi.c,3258 -#define MIDI_IN_BUFSIZ 49,1482 -#define HAVE_SUPPORT_USB_MIDI_CLASS51,1511 -static int singlebyte 57,1655 -static int maxdevices 61,1805 -static int uvendor 65,1937 -static int uproduct 69,2076 -static int uinterface 73,2218 -static int ualt 77,2366 -static int umin 81,2514 -static int umout 85,2648 -static int ucable 89,2785 -static unsigned short ulangid 97,3139 -#define MS_DESCRIPTOR_UNDEFINED 109,3605 -#define MS_HEADER 110,3639 -#define MIDI_IN_JACK 111,3660 -#define MIDI_OUT_JACK 112,3684 -#define ELEMENT_DESCRIPTOR 114,3735 -#define MS_HEADER_LENGTH 116,3768 -#define DESCRIPTOR_UNDEFINED 120,3863 -#define MS_GENERAL_ENDPOINT 122,3923 -#define JACK_TYPE_UNDEFINED 126,4004 -#define EMBEDDED_JACK 128,4061 -#define EXTERNAL_JACK 130,4113 -struct usb_midi_state usb_midi_state149,4552 -struct midi_out_endpoint midi_out_endpoint164,4883 -struct midi_in_endpoint midi_in_endpoint180,5220 -struct usb_mididev usb_mididev198,5706 -static int remains_80e0[236,6545 -static int remains_f0f6[249,6856 -static int cin_f0ff[262,7163 -static int cin_to_len[287,7758 -static struct list_head mididevs 297,7923 -static void usb_write_callback(305,8143 -static int usb_write(314,8370 -static void usb_bulk_read(363,9409 -static int flush_midi_buffer(418,10877 -static int get_remains(440,11329 -static int get_CIN(461,11713 -static int put_one_midi_event(501,12493 -static int midi_write(534,13307 -static loff_t usb_midi_llseek(629,16027 -static ssize_t usb_midi_read(642,16355 -static ssize_t usb_midi_write(722,18051 -static unsigned int usb_midi_poll(768,19000 -static int usb_midi_open(804,20052 -static int usb_midi_release(929,23102 -static struct file_operations usb_midi_fops 968,24077 -static struct midi_in_endpoint *alloc_midi_in_endpoint(989,24596 -static int remove_midi_in_endpoint(1043,26137 -static struct midi_out_endpoint *alloc_midi_out_endpoint(1061,26520 -static int remove_midi_out_endpoint(1103,27569 -static struct usb_mididev *allocMidiDev(1120,27953 -static void release_midi_device(1170,29084 -static void *find_descriptor(1222,30500 -static void *find_csinterface_descriptor(1256,31378 -static struct usb_midi_device *parse_descriptor(1276,31979 -static int on_bits(1489,37356 -static int get_alt_setting(1510,37623 -static int alloc_usb_midi_device(1557,38813 -static int detect_yamaha_device(1776,45273 -static int detect_vendor_specific_device(1830,46496 -static int detect_midi_subclass(1856,47131 -static int detect_by_hand(1917,48817 -static int usb_midi_probe(1957,49737 -static void usb_midi_disconnect(1994,50644 -static struct usb_device_id id_table[2029,51395 -static struct usb_driver usb_midi_driver 2034,51468 -static int __init usb_midi_init(2044,51724 -static void __exit usb_midi_exit(2049,51807 -#define SNDRV_MAIN_OBJECT_FILE2058,51970 -static int snd_usbmidi_input_close(2066,52218 -static int snd_usbmidi_input_open(2071,52306 -static void snd_usbmidi_input_trigger(2076,52394 -static int snd_usbmidi_output_close(2084,52575 -static int snd_usbmidi_output_open(2089,52664 -static void snd_usb_midi_output_trigger(2094,52752 -static snd_rawmidi_ops_t snd_usbmidi_output 2102,52939 -static snd_rawmidi_ops_t snd_usbmidi_input 2108,53141 -int snd_usbmidi_midi(2115,53340 -int snd_usbmidi_create(2139,53982 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/audio.c,4731 -#define DRIVER_VERSION 205,9789 -#define DRIVER_AUTHOR 206,9821 -#define DRIVER_DESC 207,9920 -#define AUDIO_DEBUG 209,9966 -#define SND_DEV_DSP16 211,9989 -#define dprintk(dprintk213,10016 -static struct list_head audiodevs 220,10159 -#define MAXFORMATS 229,10371 -#define DMABUFSHIFT 230,10405 -#define NRSGBUF 231,10466 -#define DESCFRAMES 240,10677 -#define SYNCFRAMES 241,10699 -#define MIXFLG_STEREOIN 243,10731 -#define MIXFLG_STEREOOUT 244,10759 -struct mixerchannel mixerchannel246,10788 -struct audioformat audioformat257,10978 -struct dmabuf dmabuf265,11125 -#define FLG_URB0RUNNING 292,11682 -#define FLG_URB1RUNNING 293,11710 -#define FLG_SYNC0RUNNING 294,11738 -#define FLG_SYNC1RUNNING 295,11766 -#define FLG_RUNNING 296,11794 -#define FLG_CONNECTED 297,11822 -struct my_data_urb my_data_urb299,11851 -struct my_sync_urb my_sync_urb303,11894 -struct usb_audiodev usb_audiodev308,11938 - struct usbin usbin319,12155 - struct usbout usbout336,12972 -struct usb_mixerdev usb_mixerdev360,14015 -struct usb_audio_state usb_audio_state376,14356 -#define AFMT_STEREO 389,14643 -#define AFMT_ISSTEREO(AFMT_ISSTEREO390,14681 -#define AFMT_IS16BIT(AFMT_IS16BIT391,14728 -#define AFMT_ISUNSIGNED(AFMT_ISUNSIGNED392,14813 -#define AFMT_BYTESSHIFT(AFMT_BYTESSHIFT393,14882 -#define AFMT_BYTES(AFMT_BYTES394,14966 -static inline unsigned ld2(398,15095 -static void dmabuf_release(435,15850 -static int dmabuf_init(450,16131 -static int dmabuf_mmap(500,17806 -static void dmabuf_copyin(519,18340 -static void dmabuf_copyout(542,18877 -static int dmabuf_copyin_user(565,19409 -static int dmabuf_copyout_user(590,19989 -static void usbin_stop(620,20707 -static inline void usbin_release(661,22079 -static void usbin_disc(666,22159 -static void conversion(678,22410 -static void usbin_convert(801,24871 -static int usbin_prepare_desc(823,25448 -static int usbin_retire_desc(841,26031 -static void usbin_completed(884,27330 -static int usbin_sync_prepare_desc(921,28370 -static int usbin_sync_retire_desc(940,28831 -static void usbin_sync_completed(950,29112 -static int usbin_start(984,30157 -static void usbout_stop(1099,34124 -static inline void usbout_release(1140,35499 -static void usbout_disc(1145,35581 -static void usbout_convert(1156,35835 -static int usbout_prepare_desc(1178,36415 -static int usbout_retire_desc(1231,37753 -static void usbout_completed(1244,38050 -static int usbout_sync_prepare_desc(1278,39071 -static int usbout_sync_retire_desc(1293,39410 -static void usbout_sync_completed(1317,40211 -static int usbout_start(1351,41264 -static unsigned int format_goodness(1468,45325 -static int find_format(1487,45862 -static int set_format_in(1503,46236 -static int set_format_out(1592,50103 -static int set_format(1688,54379 -static int wrmixer(1727,55288 -static int get_rec_src(1808,58069 -static int set_rec_src(1839,58989 -static void release(1898,60911 -static inline int prog_dmabuf_in(1935,61837 -static inline int prog_dmabuf_out(1941,61954 -static int usb_audio_open_mixdev(1949,62151 -static int usb_audio_release_mixdev(1980,62816 -static int usb_audio_ioctl_mixdev(1993,63088 -static /*const*/ struct file_operations usb_mixer_fops 2091,66006 -static int drain_out(2101,66296 -static ssize_t usb_audio_read(2141,67360 -static ssize_t usb_audio_write(2207,68962 -static unsigned int usb_audio_poll(2290,71327 -static int usb_audio_mmap(2324,72346 -static int usb_audio_ioctl(2352,72979 -static int usb_audio_open(2633,81761 -static int usb_audio_release(2690,83364 -static /*const*/ struct file_operations usb_audio_fops 2723,84240 -static struct usb_device_id usb_audio_ids 2741,84773 -static struct usb_driver usb_audio_driver 2749,85063 -static void *find_descriptor(2757,85247 -static void *find_csinterface_descriptor(2787,85898 -static void *find_audiocontrol_unit(2800,86311 -static void usb_audio_parsestreaming(2813,86731 -struct consmixstate consmixstate3057,96700 -static struct mixerchannel *getmixchannel(3072,97069 -static unsigned int getvolchannel(3090,97547 -static void prepmixch(3121,98826 -static inline int checkmixbmap(3254,103664 -static void usb_audio_mixerunit(3269,104095 -static struct mixerchannel *slctsrc_findunit(3333,105915 -static void usb_audio_selectorunit(3343,106145 -static void usb_audio_processingunit(3388,107635 -static void usb_audio_featureunit(3401,107984 -static void usb_audio_recurseunit(3524,111841 -static void usb_audio_constructmixer(3607,114123 -#define USB_MAXINTERFACES 3644,115494 -static struct usb_audio_state *usb_audio_parsecontrol(3646,115524 -static int usb_audio_probe(3778,120432 -static void usb_audio_disconnect(3809,121294 -static int __init usb_audio_init(3858,122696 -static void __exit usb_audio_cleanup(3867,122863 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/usb-midi.h,869 -#define _USB_MIDI_H_25,883 -#define USB_SUBCLASS_MIDISTREAMING 28,940 -#define USB_VENDOR_ID_ROLAND 34,1092 -#define USBMIDI_ROLAND_UA100G 35,1129 -#define USBMIDI_ROLAND_MPU64 36,1167 -#define USBMIDI_ROLAND_SC8850 37,1204 -#define USBMIDI_ROLAND_SC8820 38,1242 -#define USBMIDI_ROLAND_UM2 39,1280 -#define USBMIDI_ROLAND_UM1 40,1315 -#define USBMIDI_ROLAND_PC300 41,1350 -#define USB_VENDOR_ID_YAMAHA 44,1414 -#define USBMIDI_YAMAHA_MU1000 45,1451 -#define USB_VENDOR_ID_STEINBERG 48,1519 -#define USBMIDI_STEINBERG_USB2MIDI 49,1559 -#define USB_VENDOR_ID_MOTU 52,1641 -#define USBMIDI_MOTU_FASTLANE 53,1676 -struct usb_midi_endpoint usb_midi_endpoint58,1820 -struct usb_midi_device usb_midi_device63,1940 -static struct usb_midi_device usb_midi_devices[75,2158 -#define VENDOR_SPECIFIC_USB_MIDI_DEVICES 140,3933 -static struct usb_device_id usb_midi_ids 144,4057 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/class/cdc-acm.c,1451 -#define DRIVER_VERSION 71,2569 -#define DRIVER_AUTHOR 72,2600 -#define DRIVER_DESC 73,2685 -static struct usb_driver acm_driver;75,2775 -static struct tty_driver *acm_tty_driver;76,2812 -static struct acm *acm_table[77,2854 -#define ACM_READY(ACM_READY81,2934 -static int acm_ctrl_msg(87,3036 -#define acm_set_control(acm_set_control100,3537 -#define acm_set_line(acm_set_line101,3632 -#define acm_send_break(acm_send_break102,3735 -static void acm_ctrl_irq(109,3957 -static void acm_read_bulk(175,5748 -static void acm_rx_tasklet(190,6120 -static void acm_write_bulk(232,7245 -static void acm_softint(248,7603 -static int acm_tty_open(262,7789 -static void acm_tty_close(312,8855 -static int acm_tty_write(338,9433 -static int acm_tty_write_room(375,10433 -static int acm_tty_chars_in_buffer(383,10621 -static void acm_tty_throttle(391,10837 -static void acm_tty_unthrottle(401,11058 -static void acm_tty_break_ctl(415,11392 -static int acm_tty_tiocmget(424,11605 -static int acm_tty_tiocmset(439,12059 -static int acm_tty_ioctl(459,12616 -static __u32 acm_tty_speed[469,12827 -static __u8 acm_tty_size[477,13080 -static void acm_tty_set_termios(481,13127 -static int acm_probe 519,14315 -static void acm_disconnect(751,21404 -static struct usb_device_id acm_ids[798,22483 -static struct usb_driver acm_driver 813,22974 -static struct tty_operations acm_ops 825,23170 -static int __init acm_init(844,23627 -static void __exit acm_exit(881,24650 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/kawethfw.h,345 -static __u8 kaweth_trigger_code[11,431 -static __u8 kaweth_trigger_code_fix[41,1824 -static __u8 kaweth_new_code[52,2174 -static __u8 kaweth_new_code_fix[470,23672 -const int len_kaweth_trigger_code 554,27763 -const int len_kaweth_trigger_code_fix 555,27828 -const int len_kaweth_new_code 556,27901 -const int len_kaweth_new_code_fix 557,27958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/rtl8150.c,4071 -#define DRIVER_VERSION 23,602 -#define DRIVER_AUTHOR 24,647 -#define DRIVER_DESC 25,716 -#define IDR 27,773 -#define MAR 28,794 -#define CR 29,815 -#define TCR 30,835 -#define RCR 31,856 -#define TSR 32,877 -#define RSR 33,898 -#define CON0 34,919 -#define CON1 35,941 -#define MSR 36,963 -#define PHYADD 37,984 -#define PHYDAT 38,1008 -#define PHYCNT 39,1032 -#define GPPC 40,1056 -#define BMCR 41,1078 -#define BMSR 42,1100 -#define ANAR 43,1122 -#define ANLP 44,1144 -#define AER 45,1166 -#define CSCR 46,1187 -#define CSCR_LINK_STATUS 47,1245 -#define IDR_EEPROM 49,1280 -#define PHY_READ 51,1308 -#define PHY_WRITE 52,1328 -#define PHY_GO 53,1352 -#define MII_TIMEOUT 55,1375 -#define INTBUFSIZE 56,1399 -#define RTL8150_REQT_READ 58,1422 -#define RTL8150_REQT_WRITE 59,1453 -#define RTL8150_REQ_GET_REGS 60,1485 -#define RTL8150_REQ_SET_REGS 61,1519 -#define TSR_ECOL 65,1593 -#define TSR_LCOL 66,1618 -#define TSR_LOSS_CRS 67,1643 -#define TSR_JBR 68,1672 -#define TSR_ERRORS 69,1697 -#define RSR_CRC 71,1801 -#define RSR_FAE 72,1826 -#define RSR_ERRORS 73,1851 -#define MSR_DUPLEX 76,1932 -#define MSR_SPEED 77,1959 -#define MSR_LINK 78,1985 -#define INT_TSR 81,2037 -#define INT_RSR 82,2060 -#define INT_MSR 83,2083 -#define INT_WAKSR 84,2106 -#define INT_TXOK_CNT 85,2130 -#define INT_RXLOST_CNT 86,2157 -#define INT_CRERR_CNT 87,2186 -#define INT_COL_CNT 88,2214 -#define TSR_ECOL 91,2279 -#define TSR_LCOL 92,2304 -#define TSR_LOSS_CRS 93,2329 -#define TSR_JBR 94,2358 -#define TSR_ERRORS 95,2383 -#define RSR_CRC 97,2487 -#define RSR_FAE 98,2512 -#define RSR_ERRORS 99,2537 -#define MSR_DUPLEX 102,2618 -#define MSR_SPEED 103,2645 -#define MSR_LINK 104,2671 -#define INT_TSR 107,2723 -#define INT_RSR 108,2746 -#define INT_MSR 109,2769 -#define INT_WAKSR 110,2792 -#define INT_TXOK_CNT 111,2816 -#define INT_RXLOST_CNT 112,2843 -#define INT_CRERR_CNT 113,2872 -#define INT_COL_CNT 114,2900 -#define RTL8150_MTU 117,2928 -#define RTL8150_TX_TIMEOUT 118,2954 -#define RX_SKB_POOL_SIZE 119,2986 -#define RTL8150_HW_CRC 122,3034 -#define RX_REG_SET 123,3060 -#define RTL8150_UNPLUG 124,3082 -#define RX_URB_FAIL 125,3108 -#define VENDOR_ID_REALTEK 128,3179 -#define VENDOR_ID_MELCO 129,3213 -#define VENDOR_ID_MICRONET 130,3246 -#define VENDOR_ID_LONGSHINE 131,3281 -#define PRODUCT_ID_RTL8150 133,3318 -#define PRODUCT_ID_LUAKTX 134,3353 -#define PRODUCT_ID_LCS8138TX 135,3387 -#define PRODUCT_ID_SP128AR 136,3424 -static struct usb_device_id rtl8150_table[141,3531 -struct rtl8150 rtl8150151,3847 -typedef struct rtl8150 rtl8150_t;rtl8150_t168,4253 -static unsigned long multicast_filter_limit 170,4288 -static const char driver_name 179,4625 -static struct usb_driver rtl8150_driver 181,4672 -static int get_registers(194,4901 -static int set_registers(201,5137 -static void ctrl_callback(208,5374 -static int async_set_registers(226,5671 -static int read_mii_word(250,6356 -static int write_mii_word(274,6859 -static inline void set_ethernet_addr(296,7295 -static int rtl8150_set_mac_address(304,7481 -static int rtl8150_reset(345,8585 -static int alloc_all_urbs(358,8799 -static void free_all_urbs(385,9362 -static void unlink_all_urbs(393,9526 -static inline struct sk_buff *pull_skb(401,9700 -static void read_bulk_callback(416,9959 -static void rx_fixup(484,11460 -static void write_bulk_callback(518,12250 -static void intr_callback(534,12617 -static void fill_skb_pool(594,13900 -static void free_skb_pool(612,14210 -static int enable_net_traffic(621,14372 -static void disable_net_traffic(643,14885 -static struct net_device_stats *rtl8150_netdev_stats(652,15027 -static void rtl8150_tx_timeout(657,15152 -static void rtl8150_set_multicast(670,15420 -static int rtl8150_start_xmit(692,16044 -static void set_carrier(718,16711 -static int rtl8150_open(730,16940 -static int rtl8150_close(762,17847 -static int rtl8150_ethtool_ioctl(779,18124 -static int rtl8150_ioctl(852,20086 -static int rtl8150_probe(883,20702 -static void rtl8150_disconnect(961,22510 -static int __init usb_rtl8150_init(980,22922 -static void __exit usb_rtl8150_exit(986,23046 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/usbnet.c,9187 -# define DEBUG117,5608 -#define DRIVER_VERSION 137,6074 -#define RX_QLEN(RX_QLEN149,6517 -#define TX_QLEN(TX_QLEN150,6588 -#define MIN_PACKET 154,6767 -#define MAX_PACKET 155,6808 -#define TX_TIMEOUT_JIFFIES 158,6906 -#define THROTTLE_JIFFIES 162,7087 -#define CONTROL_TIMEOUT_MS 165,7162 -#define CONTROL_TIMEOUT_JIFFIES 166,7208 -#define UNLINK_TIMEOUT_MS 169,7293 -static u8 node_id 174,7440 -struct usbnet usbnet177,7514 -# define EVENT_TX_HALT 204,8083 -# define EVENT_RX_HALT 205,8109 -# define EVENT_RX_MEMORY 206,8135 -struct driver_info driver_info210,8210 -#define FLAG_FRAMING_NC 215,8342 -#define FLAG_FRAMING_GL 216,8411 -#define FLAG_FRAMING_Z 217,8474 -#define FLAG_FRAMING_RN 218,8533 -#define FLAG_NO_SETINT 220,8604 -#define FLAG_ETHER 221,8670 -enum skb_state skb_state254,9714 - illegal 255,9731 - tx_start,256,9745 - tx_start, tx_done,256,9745 - rx_start,257,9765 - rx_start, rx_done,257,9765 - rx_start, rx_done, rx_cleanup257,9765 -struct skb_data skb_data260,9800 -static const char driver_name 267,9932 -static int msg_level 270,10037 -#define RUN_CONTEXT 275,10168 -#define devdbg(devdbg279,10281 -#define devdbg(devdbg282,10392 -#define deverr(deverr285,10451 -#define devwarn(devwarn287,10554 -#define devinfo(devinfo290,10663 -static int always_connected 303,11221 -get_endpoints 310,11370 -static void skb_return 360,12550 -#define HAVE_HARDWARE381,13063 -static const struct driver_info ali_m5632_info 389,13287 -#define HAVE_HARDWARE398,13407 -static const struct driver_info an2720_info 411,13906 -#define HAVE_HARDWARE425,14224 -#define NEED_MII426,14246 -#define AX_CMD_SET_SW_MII 430,14290 -#define AX_CMD_READ_MII_REG 431,14322 -#define AX_CMD_WRITE_MII_REG 432,14356 -#define AX_CMD_SET_HW_MII 433,14391 -#define AX_CMD_READ_EEPROM 434,14423 -#define AX_CMD_WRITE_EEPROM 435,14456 -#define AX_CMD_WRITE_RX_CTL 436,14490 -#define AX_CMD_READ_IPG012 437,14524 -#define AX_CMD_WRITE_IPG0 438,14557 -#define AX_CMD_WRITE_IPG1 439,14589 -#define AX_CMD_WRITE_IPG2 440,14621 -#define AX_CMD_WRITE_MULTI_FILTER 441,14653 -#define AX_CMD_READ_NODE_ID 442,14692 -#define AX_CMD_READ_PHY_ID 443,14726 -#define AX_CMD_WRITE_MEDIUM_MODE 444,14759 -#define AX_CMD_READ_MONITOR_MODE 445,14797 -#define AX_CMD_WRITE_MONITOR_MODE 446,14835 -#define AX_CMD_WRITE_GPIOS 447,14874 -#define AX_MONITOR_MODE 449,14908 -#define AX_MONITOR_LINK 450,14939 -#define AX_MONITOR_MAGIC 451,14970 -#define AX_MONITOR_HSFS 452,15001 -#define AX_MCAST_FILTER_SIZE 454,15033 -#define AX_MAX_MCAST 455,15065 -#define AX_INTERRUPT_BUFSIZE 457,15092 -struct ax8817x_data ax8817x_data460,15199 -static int ax8817x_read_cmd(466,15301 -static int ax8817x_write_cmd(481,15604 -static void ax8817x_async_cmd_callback(496,15910 -static void ax8817x_interrupt_complete(508,16205 -static void ax8817x_write_cmd_async(532,16851 -static void ax8817x_set_multicast(568,17854 -static int ax8817x_mdio_read(611,19012 -static void ax8817x_mdio_write(624,19375 -static void ax8817x_get_wol(635,19734 -static int ax8817x_set_wol(655,20250 -static int ax8817x_get_eeprom(675,20696 -static void ax8817x_get_drvinfo 697,21245 -static int ax8817x_get_settings(705,21436 -static int ax8817x_set_settings(712,21614 -static struct ethtool_ops ax8817x_ethtool_ops 722,21961 -static int ax8817x_bind(734,22342 -static void ax8817x_unbind(824,24971 -static const struct driver_info ax8817x_info 833,25200 -static const struct driver_info dlink_dub_e100_info 841,25396 -static const struct driver_info netgear_fa120_info 849,25597 -static const struct driver_info hawking_uf200_info 857,25797 -#define HAVE_HARDWARE870,26057 -static const struct driver_info belkin_info 880,26383 -#define NEED_GENERIC_CDC896,26797 -#define NEED_GENERIC_CDC901,26925 -#define NEED_GENERIC_CDC906,27054 -struct header_desc header_desc913,27173 -struct union_desc union_desc922,27353 -struct ether_desc ether_desc933,27632 -struct cdc_state cdc_state945,27860 -static struct usb_driver usbnet_driver;953,28023 -static int generic_cdc_bind 960,28267 -static void cdc_unbind 1118,32869 -#define HAVE_HARDWARE1143,33593 -static u8 nibble 1159,34102 -get_ethernet_addr 1170,34285 -static int cdc_bind 1189,34746 -static const struct driver_info cdc_info 1211,35300 -#define HAVE_HARDWARE1224,35558 -static const struct driver_info epson2888_info 1239,36122 -#define HAVE_HARDWARE1250,36333 -#define GENELINK_CONNECT_WRITE 1274,37376 -#define GENELINK_INTERRUPT_PIPE 1276,37438 -#define INTERRUPT_BUFSIZE 1278,37507 -#define GENELINK_INTERRUPT_INTERVAL 1280,37573 -#define GL_MAX_TRANSMIT_PACKETS 1282,37658 -#define GL_MAX_PACKET_LEN 1284,37716 -#define GL_RCV_BUF_SIZE 1286,37777 -struct gl_packet gl_packet1289,37864 -struct gl_header gl_header1294,37932 -struct gl_priv gl_priv1305,38190 -static inline int gl_control_write 1310,38270 -static void gl_interrupt_complete 1326,38660 -static int gl_interrupt_read 1352,39230 -static int genelink_check_connect 1370,39654 -static int genelink_init 1395,40315 -static int genelink_free 1428,41087 -static int genelink_rx_fixup 1453,41525 -genelink_tx_fixup 1516,43047 -static const struct driver_info genelink_info 1559,44068 -#define HAVE_HARDWARE1577,44418 -#define dev_packet_id 1586,44678 -#define frame_errors 1587,44708 -struct nc_header nc_header1602,45142 -#define MIN_HEADER 1606,45315 -#define PAD_BYTE 1613,45469 -struct nc_trailer nc_trailer1615,45509 -#define FRAMED_SIZE(FRAMED_SIZE1620,45629 -#define MIN_FRAMED 1626,45773 -#define NC_READ_TTL_MS 1635,46093 -#define REG_USBCTL 1640,46189 -#define REG_TTL 1641,46219 -#define REG_STATUS 1642,46247 -#define REQUEST_REGISTER 1647,46332 -#define REQUEST_EEPROM 1648,46368 -nc_vendor_read 1651,46415 -nc_register_read 1668,46809 -nc_vendor_write 1675,47017 -nc_register_write 1687,47315 -static void nc_dump_registers 1694,47445 -#define USBCTL_WRITABLE_MASK 1733,48153 -#define USBCTL_ENABLE_LANG 1735,48217 -#define USBCTL_ENABLE_MFGR 1736,48254 -#define USBCTL_ENABLE_PROD 1737,48291 -#define USBCTL_ENABLE_SERIAL 1738,48328 -#define USBCTL_ENABLE_DEFAULTS 1739,48366 -#define USBCTL_FLUSH_OTHER 1741,48432 -#define USBCTL_FLUSH_THIS 1742,48468 -#define USBCTL_DISCONN_OTHER 1743,48503 -#define USBCTL_DISCONN_THIS 1744,48541 -static inline void nc_dump_usbctl 1746,48579 -#define STATUS_PORT_A 1775,49417 -#define STATUS_CONN_OTHER 1777,49451 -#define STATUS_SUSPEND_OTHER 1778,49487 -#define STATUS_MAILBOX_OTHER 1779,49526 -#define STATUS_PACKETS_OTHER(STATUS_PACKETS_OTHER1780,49565 -#define STATUS_CONN_THIS 1782,49619 -#define STATUS_SUSPEND_THIS 1783,49653 -#define STATUS_MAILBOX_THIS 1784,49690 -#define STATUS_PACKETS_THIS(STATUS_PACKETS_THIS1785,49727 -#define STATUS_UNSPEC_MASK 1787,49780 -#define STATUS_NOISE_MASK 1788,49814 -static inline void nc_dump_status 1791,49879 -#define TTL_THIS(TTL_THIS1825,50762 -#define TTL_OTHER(TTL_OTHER1826,50799 -#define MK_TTL(MK_TTL1827,50844 -static inline void nc_dump_ttl 1829,50910 -static int net1080_reset 1844,51234 -static int net1080_check_connect 1896,52423 -static void nc_flush_complete 1916,52861 -static void nc_ensure_sync 1922,52979 -static int net1080_rx_fixup 1970,54052 -net1080_tx_fixup 2042,56063 -static const struct driver_info net1080_info 2079,57070 -#define HAVE_HARDWARE2093,57378 -#define PL_S_EN 2108,57895 -#define PL_TX_READY 2110,57993 -#define PL_RESET_OUT 2111,58059 -#define PL_RESET_IN 2112,58112 -#define PL_TX_C 2113,58163 -#define PL_TX_REQ 2114,58216 -#define PL_PEER_E 2115,58270 -pl_vendor_req 2118,58333 -pl_clear_QuickLink_features 2130,58598 -pl_set_QuickLink_features 2136,58724 -static int pl_reset 2143,58909 -static const struct driver_info prolific_info 2153,59177 -#define HAVE_HARDWARE2165,59446 -static const struct driver_info linuxdev_info 2184,60259 -static const struct driver_info yopy_info 2189,60381 -static const struct driver_info blob_info 2194,60491 -#define HAVE_HARDWARE2203,60676 -zaurus_tx_fixup 2223,61409 -static const struct driver_info zaurus_sl5x00_info 2251,62005 -static const struct driver_info zaurus_pxa_info 2259,62247 -static int usbnet_change_mtu 2277,62704 -static struct net_device_stats *usbnet_get_stats 2303,63447 -static void defer_bh 2314,63783 -static void defer_kevent 2334,64382 -static void rx_submit 2347,64762 -static inline void rx_process 2431,66746 -static void rx_complete 2450,67209 -static int unlink_urbs 2537,69532 -static int usbnet_stop 2570,70354 -static int usbnet_open 2617,71672 -static void usbnet_get_drvinfo 2667,72982 -static u32 usbnet_get_link 2678,73384 -static u32 usbnet_get_msglevel 2690,73689 -static void usbnet_set_msglevel 2697,73808 -static int usbnet_ioctl 2704,73940 -kevent 2725,74537 -static void tx_complete 2776,75812 -static void usbnet_tx_timeout 2818,76860 -static int usbnet_start_xmit 2830,77151 -static void usbnet_bh 2946,80325 -static void usbnet_disconnect 3013,81980 -static struct ethtool_ops usbnet_ethtool_ops;3045,82643 -usbnet_probe 3050,82745 -static const struct usb_device_id products 3186,86175 -static struct usb_driver usbnet_driver 3436,93078 -static struct ethtool_ops usbnet_ethtool_ops 3445,93334 -static int __init usbnet_init 3454,93612 -static void __exit usbnet_exit 3470,93980 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/pegasus.c,2312 -#define DRIVER_VERSION 48,1708 -#define DRIVER_AUTHOR 49,1754 -#define DRIVER_DESC 50,1823 -static const char driver_name[52,1885 -#define BMSR_MEDIA 55,1959 -static int loopback 58,2061 -static int mii_mode 59,2086 -static int multicast_filter_limit 60,2111 -static struct usb_eth_dev usb_dev_id[62,2152 -#define PEGASUS_DEV(PEGASUS_DEV63,2195 -static struct usb_device_id pegasus_ids[70,2362 -#define PEGASUS_DEV(PEGASUS_DEV71,2408 -static void ctrl_callback(90,3007 -static int get_registers(117,3540 -static int set_registers(166,4888 -static int set_register(215,6185 -static int update_eth_regs_async(262,7432 -static int read_mii_word(285,8088 -static int mdio_read(309,8660 -static int write_mii_word(318,8864 -static void mdio_write(339,9364 -static int read_eprom_word(346,9538 -static inline void enable_eprom_write(372,10110 -static inline void disable_eprom_write(380,10287 -static int write_eprom_word(389,10504 -static inline void get_node_id(413,11120 -static void set_ethernet_addr(424,11319 -static inline int reset_mac(433,11545 -static int enable_net_traffic(470,12495 -static void fill_skb_pool(500,13342 -static void free_skb_pool(519,13769 -static inline struct sk_buff *pull_skb(531,13969 -static void read_bulk_callback(546,14240 -static void rx_fixup(641,16600 -static void write_bulk_callback(678,17547 -static void intr_callback(711,18252 -static void pegasus_tx_timeout(755,19173 -static int pegasus_start_xmit(768,19449 -static struct net_device_stats *pegasus_netdev_stats(805,20447 -static inline void disable_net_traffic(810,20572 -static inline void get_interrupt_interval(817,20696 -static void set_carrier(833,21070 -static void free_all_urbs(847,21317 -static void unlink_all_urbs(855,21501 -static int alloc_urbs(863,21695 -static int pegasus_open(891,22323 -static int pegasus_close(934,23584 -static int pegasus_ethtool_ioctl(948,23894 -static int pegasus_ethtool_ioctl(1027,25874 -static int pegasus_ioctl(1108,28073 -static void pegasus_set_multicast(1136,28696 -static __u8 mii_phy_probe(1157,29342 -static inline void setup_pegasus_II(1173,29599 -static int pegasus_probe(1204,30290 -static void pegasus_disconnect(1292,32453 -static struct usb_driver pegasus_driver 1313,32937 -static int __init pegasus_init(1320,33093 -static void __exit pegasus_exit(1326,33213 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/pegasus.h,3176 -#define PEGASUS_II 12,301 -#define HAS_HOME_PNA 13,332 -#define PEGASUS_MTU 15,366 -#define RX_SKBS 16,392 -#define EPROM_WRITE 18,413 -#define EPROM_READ 19,439 -#define EPROM_DONE 20,464 -#define EPROM_WR_ENABLE 21,489 -#define EPROM_LOAD 22,519 -#define PHY_DONE 24,545 -#define PHY_READ 25,568 -#define PHY_WRITE 26,591 -#define DEFAULT_GPIO_RESET 27,615 -#define LINKSYS_GPIO_RESET 28,647 -#define DEFAULT_GPIO_SET 29,679 -#define PEGASUS_PRESENT 31,710 -#define PEGASUS_RUNNING 32,746 -#define PEGASUS_TX_BUSY 33,782 -#define PEGASUS_RX_BUSY 34,818 -#define CTRL_URB_RUNNING 35,854 -#define CTRL_URB_SLEEP 36,890 -#define PEGASUS_UNPLUG 37,925 -#define PEGASUS_RX_URB_FAIL 38,960 -#define ETH_REGS_CHANGE 39,999 -#define ETH_REGS_CHANGED 40,1035 -#define RX_MULTICAST 42,1072 -#define RX_PROMISCUOUS 43,1096 -#define REG_TIMEOUT 45,1123 -#define PEGASUS_TX_TIMEOUT 46,1149 -#define TX_UNDERRUN 48,1185 -#define EXCESSIVE_COL 49,1211 -#define LATE_COL 50,1239 -#define NO_CARRIER 51,1262 -#define LOSS_CARRIER 52,1287 -#define JABBER_TIMEOUT 53,1314 -#define LINK_STATUS 55,1344 -#define PEGASUS_REQT_READ 57,1371 -#define PEGASUS_REQT_WRITE 58,1402 -#define PEGASUS_REQ_GET_REGS 59,1434 -#define PEGASUS_REQ_SET_REGS 60,1468 -#define PEGASUS_REQ_SET_REG 61,1502 -enum pegasus_registers pegasus_registers63,1552 - EthCtrl0 64,1577 - EthCtrl1 65,1592 - EthCtrl2 66,1607 - EthID 67,1622 - EthID = 0x10,67,1622 - Reg1d 68,1637 - Reg1d = 0x1d,68,1637 - EpromOffset 69,1652 - EpromOffset = 0x20,69,1652 - EpromData 70,1673 - EpromData = 0x21,70,1673 - EpromCtrl 71,1723 - EpromCtrl = 0x23,71,1723 - PhyAddr 72,1742 - PhyAddr = 0x25,72,1742 - PhyData 73,1759 - PhyData = 0x26,73,1759 - PhyCtrl 74,1808 - PhyCtrl = 0x28,74,1808 - UsbStst 75,1825 - UsbStst = 0x2a,75,1825 - EthTxStat0 76,1842 - EthTxStat0 = 0x2b,76,1842 - EthTxStat1 77,1862 - EthTxStat1 = 0x2c,77,1862 - EthRxStat 78,1882 - EthRxStat = 0x2d,78,1882 - Reg7b 79,1901 - Reg7b = 0x7b,79,1901 - Gpio0 80,1916 - Gpio0 = 0x7e,80,1916 - Gpio1 81,1931 - Gpio1 = 0x7f,81,1931 - Reg81 82,1946 - Reg81 = 0x81,82,1946 -typedef struct pegasus pegasus86,1966 -} pegasus_t;pegasus_t108,2532 -struct usb_eth_dev usb_eth_dev111,2547 -#define VENDOR_3COM 118,2661 -#define VENDOR_ABOCOM 119,2689 -#define VENDOR_ACCTON 120,2719 -#define VENDOR_ADMTEK 121,2749 -#define VENDOR_AEILAB 122,2779 -#define VENDOR_ALLIEDTEL 123,2809 -#define VENDOR_ATEN 124,2841 -#define VENDOR_BELKIN 125,2869 -#define VENDOR_BILLIONTON 126,2899 -#define VENDOR_COMPAQ 127,2932 -#define VENDOR_COREGA 128,2962 -#define VENDOR_DLINK 129,2992 -#define VENDOR_ELCON 130,3021 -#define VENDOR_ELSA 131,3050 -#define VENDOR_GIGABYTE 132,3078 -#define VENDOR_HAWKING 133,3110 -#define VENDOR_HP 134,3141 -#define VENDOR_IODATA 135,3167 -#define VENDOR_KINGSTON 136,3197 -#define VENDOR_LANEED 137,3229 -#define VENDOR_LINKSYS 138,3259 -#define VENDOR_MELCO 139,3290 -#define VENDOR_MICROSOFT 140,3319 -#define VENDOR_MOBILITY 141,3351 -#define VENDOR_NETGEAR 142,3383 -#define VENDOR_OCT 143,3414 -#define VENDOR_SMARTBRIDGES 144,3441 -#define VENDOR_SMC 145,3476 -#define VENDOR_SOHOWARE 146,3503 -#define VENDOR_SIEMENS 147,3535 -PEGASUS_DEV(152,3593 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/kaweth.c,3001 -#define kaweth_dbg(kaweth_dbg68,2324 -#define kaweth_dbg(kaweth_dbg70,2417 -#define kaweth_err(kaweth_err72,2475 -#define kaweth_info(kaweth_info73,2560 -#define kaweth_warn(kaweth_warn74,2648 -#define KAWETH_MTU 79,2764 -#define KAWETH_BUF_SIZE 80,2790 -#define KAWETH_TX_TIMEOUT 81,2821 -#define KAWETH_SCRATCH_SIZE 82,2857 -#define KAWETH_FIRMWARE_BUF_SIZE 83,2889 -#define KAWETH_CONTROL_TIMEOUT 84,2927 -#define KAWETH_STATUS_BROKEN 86,2970 -#define KAWETH_STATUS_CLOSING 87,3010 -#define KAWETH_PACKET_FILTER_PROMISCUOUS 89,3052 -#define KAWETH_PACKET_FILTER_ALL_MULTICAST 90,3098 -#define KAWETH_PACKET_FILTER_DIRECTED 91,3146 -#define KAWETH_PACKET_FILTER_BROADCAST 92,3190 -#define KAWETH_PACKET_FILTER_MULTICAST 93,3235 -#define KAWETH_COMMAND_GET_ETHERNET_DESC 96,3295 -#define KAWETH_COMMAND_MULTICAST_FILTERS 97,3341 -#define KAWETH_COMMAND_SET_PACKET_FILTER 98,3394 -#define KAWETH_COMMAND_STATISTICS 99,3440 -#define KAWETH_COMMAND_SET_TEMP_MAC 100,3493 -#define KAWETH_COMMAND_GET_TEMP_MAC 101,3539 -#define KAWETH_COMMAND_SET_URB_SIZE 102,3592 -#define KAWETH_COMMAND_SET_SOFS_WAIT 103,3634 -#define KAWETH_COMMAND_SCAN 104,3677 -#define KAWETH_SOFS_TO_WAIT 106,3713 -#define INTBUFFERSIZE 108,3749 -#define STATE_OFFSET 110,3777 -#define STATE_MASK 111,3803 -#define STATE_SHIFT 112,3830 -static const char driver_name[119,4103 -static struct usb_device_id usb_klsi_table[134,4657 -static struct usb_driver kaweth_driver 175,6830 -typedef __u8 eth_addr_t[eth_addr_t183,7014 -struct usb_eth_dev usb_eth_dev188,7195 -struct kaweth_ethernet_configurationkaweth_ethernet_configuration199,7468 -struct kaweth_devicekaweth_device214,7850 -static int kaweth_control(255,8661 -static int kaweth_read_configuration(298,9581 -static int kaweth_set_urb_size(320,10165 -static int kaweth_set_sofs_wait(342,10743 -static int kaweth_set_receive_filter(364,11328 -static int kaweth_download_firmware(387,11950 -static int kaweth_trigger_firmware(427,13108 -static int kaweth_reset(455,13932 -static void kaweth_resubmit_int_urb(484,14626 -static void int_callback(502,15068 -static void kaweth_resubmit_tl(532,15751 -static int kaweth_resubmit_rx_urb(550,16232 -static void kaweth_usb_receive(583,17169 -static int kaweth_open(652,19054 -static int kaweth_close(690,19921 -static int netdev_ethtool_ioctl(713,20371 -static int kaweth_ioctl(736,20962 -static void kaweth_usb_transmit_complete(748,21320 -static int kaweth_start_xmit(763,21807 -static void kaweth_set_rx_mode(834,23547 -static void kaweth_async_set_rx_mode(860,24390 -static struct net_device_stats *kaweth_netdev_stats(891,25181 -static void kaweth_tx_timeout(899,25473 -static int kaweth_probe(913,25877 -static void kaweth_disconnect(1163,33154 -struct usb_api_data usb_api_data1213,34439 -static void usb_api_blocking_completion(1221,34714 -static int usb_start_wait_urb(1234,35171 -static int kaweth_internal_control_msg(1282,36489 -static int __init kaweth_init(1311,37271 -static void __exit kaweth_exit(1320,37533 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/net/catc.c,4512 -#define DRIVER_VERSION 57,1624 -#define DRIVER_AUTHOR 58,1654 -#define DRIVER_DESC 59,1711 -#define SHORT_DRIVER_DESC 60,1774 -static const char driver_name[66,1919 -#define STATS_UPDATE 72,1988 -#define TX_TIMEOUT 73,2048 -#define PKT_SZ 74,2115 -#define RX_MAX_BURST 75,2168 -#define TX_MAX_BURST 76,2237 -#define CTRL_QUEUE 77,2311 -#define RX_PKT_SZ 78,2386 -enum control_requests control_requests84,2484 - ReadMem 85,2508 - ReadMem = 0xf1,85,2508 - GetMac 86,2525 - GetMac = 0xf2,86,2525 - Reset 87,2541 - Reset = 0xf4,87,2541 - SetMac 88,2557 - SetMac = 0xf5,88,2557 - SetRxMode 89,2573 - SetRxMode = 0xf5,89,2573 - WriteROM 90,2615 - WriteROM = 0xf8,90,2615 - SetReg 91,2633 - SetReg = 0xfa,91,2633 - GetReg 92,2649 - GetReg = 0xfb,92,2649 - WriteMem 93,2665 - WriteMem = 0xfc,93,2665 - ReadROM 94,2683 - ReadROM = 0xfd,94,2683 -enum register_offsets register_offsets101,2726 - TxBufCount 102,2750 - TxBufCount = 0x20,102,2750 - RxBufCount 103,2770 - RxBufCount = 0x21,103,2770 - OpModes 104,2790 - OpModes = 0x22,104,2790 - TxQed 105,2807 - TxQed = 0x23,105,2807 - RxQed 106,2823 - RxQed = 0x24,106,2823 - MaxBurst 107,2839 - MaxBurst = 0x25,107,2839 - RxUnit 108,2857 - RxUnit = 0x60,108,2857 - EthStatus 109,2873 - EthStatus = 0x61,109,2873 - StationAddr0 110,2892 - StationAddr0 = 0x67,110,2892 - EthStats 111,2914 - EthStats = 0x69,111,2914 - LEDCtrl 112,2932 - LEDCtrl = 0x81,112,2932 -enum eth_stats eth_stats115,2953 - TxSingleColl 116,2970 - TxSingleColl = 0x00,116,2970 - TxMultiColl 117,2992 - TxMultiColl = 0x02,117,2992 - TxExcessColl 118,3020 - TxExcessColl = 0x04,118,3020 - RxFramErr 119,3049 - RxFramErr = 0x06,119,3049 -enum op_mode_bits op_mode_bits122,3079 - Op3MemWaits 123,3099 - Op3MemWaits = 0x03,123,3099 - OpLenInclude 124,3120 - OpLenInclude = 0x08,124,3120 - OpRxMerge 125,3142 - OpRxMerge = 0x10,125,3142 - OpTxMerge 126,3161 - OpTxMerge = 0x20,126,3161 - OpWin95bugfix 127,3180 - OpWin95bugfix = 0x40,127,3180 - OpLoopback 128,3203 - OpLoopback = 0x80,128,3203 -enum rx_filter_bits rx_filter_bits131,3227 - RxEnable 132,3249 - RxEnable = 0x01,132,3249 - RxPolarity 133,3267 - RxPolarity = 0x02,133,3267 - RxForceOK 134,3287 - RxForceOK = 0x04,134,3287 - RxMultiCast 135,3306 - RxMultiCast = 0x08,135,3306 - RxPromisc 136,3327 - RxPromisc = 0x10,136,3327 - AltRxPromisc 137,3346 - AltRxPromisc = 0x20,137,3346 -enum led_values led_values140,3405 - LEDFast 141,3423 - LEDFast = 0x01,141,3423 - LEDSlow 142,3441 - LEDSlow = 0x02,142,3441 - LEDFlash 143,3458 - LEDFlash = 0x03,143,3458 - LEDPulse 144,3476 - LEDPulse = 0x04,144,3476 - LEDLink 145,3494 - LEDLink = 0x08,145,3494 -enum link_status link_status148,3515 - LinkNoChange 149,3534 - LinkGood 150,3553 - LinkBad 151,3572 -#define CTRL_RUNNING 158,3622 -#define RX_RUNNING 159,3645 -#define TX_RUNNING 160,3666 -struct catc catc162,3688 - struct ctrl_queue ctrl_queue186,4178 -#define catc_get_mac(catc_get_mac207,4602 -#define catc_reset(catc_reset208,4693 -#define catc_set_reg(catc_set_reg209,4776 -#define catc_get_reg(catc_get_reg210,4875 -#define catc_write_mem(catc_write_mem211,4971 -#define catc_read_mem(catc_read_mem212,5081 -#define f5u011_rxmode(f5u011_rxmode214,5190 -#define f5u011_rxmode_async(f5u011_rxmode_async215,5289 -#define f5u011_mchash_async(f5u011_mchash_async216,5402 -#define catc_set_reg_async(catc_set_reg_async218,5513 -#define catc_get_reg_async(catc_get_reg_async219,5625 -#define catc_write_mem_async(catc_write_mem_async220,5731 -static void catc_rx_done(226,5884 -static void catc_irq_done(292,7386 -static void catc_tx_run(359,8886 -static void catc_tx_done(379,9362 -static int catc_hard_start_xmit(412,10079 -static void catc_tx_timeout(443,10907 -static int catc_ctrl_msg(456,11144 -static void catc_ctrl_run(464,11476 -static void catc_ctrl_done(491,12300 -static int catc_ctrl_async(524,13020 -static void catc_stats_done(563,13855 -static void catc_stats_timer(594,14556 -static struct net_device_stats *catc_get_stats(605,14794 -static void catc_multicast(615,14987 -static void catc_set_multicast_list(623,15145 -static int netdev_ethtool_ioctl(670,16406 -static int catc_ioctl(725,18010 -static int catc_open(740,18288 -static int catc_stop(759,18667 -static int catc_probe(780,19013 -static void catc_disconnect(953,23866 -static struct usb_device_id catc_id_table 973,24262 -static struct usb_driver catc_driver 982,24551 -static int __init catc_init(990,24724 -static void __exit catc_exit(998,24879 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/message.c,950 - #define DEBUG8,103 -static void usb_api_blocking_completion(25,433 -static void timeout_kill(31,564 -static int usb_start_wait_urb(45,1012 -int usb_internal_control_msg(83,2010 -int usb_control_msg(130,3724 -int usb_bulk_msg(180,5525 -static void sg_clean 200,5989 -static void sg_complete 213,6280 -int usb_sg_init 300,9305 -void usb_sg_wait 441,13351 -void usb_sg_cancel 512,15218 -int usb_get_descriptor(562,16821 -int usb_get_string(608,18335 -static int usb_string_sub(626,18809 -int usb_string(677,20628 -int usb_get_device_descriptor(753,22852 -int usb_get_status(798,24324 -int usb_clear_halt(828,25603 -void usb_disable_endpoint(875,27110 -void usb_disable_interface(896,27713 -void usb_disable_device(917,28458 -void usb_enable_endpoint(966,29914 -void usb_enable_interface(992,30746 -int usb_set_interface(1035,32615 -int usb_reset_configuration(1137,36032 -static void release_interface(1188,37377 -int usb_set_configuration(1232,39332 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/devio.c,1876 -struct async async53,1875 -static int usbfs_snoop 64,2082 -#define snoop(snoop68,2229 -#define MAX_USBFS_BUFFER_SIZE 75,2361 -static inline int connected 77,2398 -static loff_t usbdev_lseek(82,2501 -static ssize_t usbdev_read(106,2823 -static struct async *alloc_async(186,4518 -static void free_async(201,4945 -static inline void async_newpending(211,5202 -static inline void async_removepending(221,5492 -static inline struct async *async_getcompleted(231,5765 -static inline struct async *async_getpending(245,6206 -static void async_completed(261,6657 -static void destroy_async 280,7195 -static void destroy_async_on_interface 302,7812 -static inline void destroy_all_async(316,8235 -static int driver_probe 327,8537 -static void driver_disconnect(333,8648 -struct usb_driver usbdevfs_driver 356,9213 -static int claimintf(363,9355 -static int releaseintf(388,9960 -static int checkintf(411,10517 -static int findintfep(423,10909 -static int check_ctrlrecip(448,11596 -static int usbdev_open(472,12056 -static int usbdev_release(513,12921 -static int proc_control(535,13449 -static int proc_bulk(606,15762 -static int proc_resetep(667,17248 -static int proc_clearhalt(682,17583 -static int proc_getdriver(703,18060 -static int proc_connectinfo(724,18593 -static int proc_resetdevice(735,18844 -static int proc_setintf(741,18937 -static int proc_setconfig(754,19266 -static int proc_submiturb(802,20478 -static int proc_unlinkurb(972,25863 -static int processcompl(983,26052 -static int proc_reapurb(1012,26882 -static int proc_reapurbnonblock(1048,27663 -static int proc_disconnectsignal(1066,28011 -static int proc_claiminterface(1079,28344 -static int proc_releaseinterface(1088,28540 -static int proc_ioctl 1101,28825 -static int usbdev_ioctl(1186,31055 -static unsigned int usbdev_poll(1304,33916 -struct file_operations usbdevfs_device_file_operations 1317,34306 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/config.c,437 -#define DEBUG4,51 -#define USB_MAXALTSETTING 15,225 -#define USB_MAXENDPOINTS 16,273 -#define USB_MAXCONFIG 18,320 -static inline const char *plural(21,370 -static int find_next_descriptor(26,444 -static int usb_parse_endpoint(50,1036 -void usb_release_interface_cache(109,2973 -static int usb_parse_interface(119,3208 -int usb_parse_configuration(224,6256 -void usb_destroy_configuration(405,11569 -int usb_get_configuration(436,12275 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/hcd-pci.c,191 - #define DEBUG22,802 -static void hcd_pci_release(41,1149 -int usb_hcd_pci_probe 64,1835 -void usb_hcd_pci_remove 229,6110 -int usb_hcd_pci_suspend 276,7244 -int usb_hcd_pci_resume 338,8911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/urb.c,294 - #define DEBUG9,177 -#define to_urb(to_urb16,260 -static void urb_destroy(18,313 -void usb_init_urb(38,983 -struct urb *usb_alloc_urb(63,1751 -void usb_free_urb(88,2448 -struct urb * usb_get_urb(104,2904 -int usb_submit_urb(227,8812 -int usb_unlink_urb(449,16166 -void usb_kill_urb(482,17447 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/sysfs.c,730 - #define DEBUG17,311 -#define usb_actconfig_show(usb_actconfig_show26,429 -#define usb_actconfig_attr(usb_actconfig_attr39,814 -usb_actconfig_attr 43,992 -#define usb_string_attr(usb_string_attr68,1752 -show_speed 89,2348 -show_devnum 115,2799 -show_version 125,3020 -show_maxchild 136,3302 -#define usb_descriptor_attr(usb_descriptor_attr146,3540 -usb_descriptor_attr 157,3891 -static struct attribute_group dev_attr_grp 185,4761 -void usb_create_sysfs_dev_files 189,4833 -void usb_remove_sysfs_dev_files 203,5231 -#define usb_intf_attr(usb_intf_attr218,5649 -usb_intf_attr 228,5995 -static struct attribute_group intf_attr_grp 246,6576 -void usb_create_sysfs_intf_files 250,6650 -void usb_remove_sysfs_intf_files 255,6771 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/inode.c,2790 -static struct super_operations usbfs_ops;44,1512 -static struct file_operations default_file_operations;45,1554 -static struct inode_operations usbfs_dir_inode_operations;46,1609 -static struct vfsmount *usbdevfs_mount;47,1668 -static struct vfsmount *usbfs_mount;48,1708 -static int usbdevfs_mount_count;49,1745 -static int usbfs_mount_count;50,1788 -static int ignore_mount 51,1828 -static struct dentry *devices_usbdevfs_dentry;53,1858 -static struct dentry *devices_usbfs_dentry;54,1905 -static int num_buses;55,1949 -static uid_t devuid;57,1982 -static uid_t busuid;58,2013 -static uid_t listuid;59,2044 -static gid_t devgid;60,2076 -static gid_t busgid;61,2107 -static gid_t listgid;62,2138 -static umode_t devmode 63,2170 -static umode_t busmode 64,2214 -static umode_t listmode 65,2258 - Opt_devuid,68,2301 - Opt_devuid, Opt_devgid,68,2301 - Opt_devuid, Opt_devgid, Opt_devmode,68,2301 - Opt_busuid,69,2339 - Opt_busuid, Opt_busgid,69,2339 - Opt_busuid, Opt_busgid, Opt_busmode,69,2339 - Opt_listuid,70,2377 - Opt_listuid, Opt_listgid,70,2377 - Opt_listuid, Opt_listgid, Opt_listmode,70,2377 - Opt_err,71,2418 -static match_table_t tokens 74,2432 -static int parse_options(87,2749 -static void update_special(166,4379 -static void update_dev(173,4555 -static void update_bus(180,4708 -static void update_sb(197,5041 -static int remount(226,5592 -static struct inode *usbfs_get_inode 249,6078 -static int usbfs_mknod 280,6840 -static int usbfs_mkdir 297,7153 -static int usbfs_create 308,7380 -static inline int usbfs_positive 314,7544 -static int usbfs_empty 319,7654 -static int usbfs_unlink 337,7984 -static int usbfs_rmdir(348,8212 -static ssize_t default_read_file 371,8648 -static ssize_t default_write_file 377,8769 -static loff_t default_file_lseek 383,8902 -static int default_open 408,9347 -static struct file_operations default_file_operations 416,9499 -static struct inode_operations usbfs_dir_inode_operations 423,9675 -static struct super_operations usbfs_ops 427,9767 -static int usbfs_fill_super(433,9903 -static struct dentry * get_dentry(459,10468 -static int fs_create_by_name 479,10976 -static struct dentry *fs_create_file 515,11859 -static void fs_remove_file 542,12438 -static struct file_system_type usbdevice_fs_type;571,13093 -static struct super_block *usb_get_sb(573,13144 -static struct file_system_type usbdevice_fs_type 579,13330 -static struct file_system_type usb_fs_type 586,13486 -static int create_special_files 595,13710 -static void remove_special_files 658,15283 -void usbfs_update_special 670,15647 -void usbfs_add_bus(686,16022 -void usbfs_remove_bus(723,16865 -void usbfs_add_device(744,17251 -void usbfs_remove_device(785,18498 -static struct proc_dir_entry *usbdir 816,19291 -int __init usbfs_init(819,19345 -void usbfs_cleanup(847,19865 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/otg_whitelist.h,84 -static struct usb_device_id whitelist_table 19,558 -static int is_targeted(49,1376 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/devices.c,1502 -#define MAX_TOPO_LEVEL 64,2611 -#define ALLOW_SERIAL_NUMBER67,2719 -static char *format_topo 69,2748 -static char *format_string_manufacturer 73,2937 -static char *format_string_product 77,3039 -static char *format_string_serialnumber 82,3153 -static char *format_bandwidth 87,3262 -static char *format_device1 91,3406 -static char *format_device2 95,3580 -static char *format_config 99,3703 -static char *format_iface 103,3830 -static char *format_endpt 107,4011 -static unsigned int conndiscevcnt 119,4372 -struct usb_device_status usb_device_status122,4485 -struct class_info class_info126,4538 -static const struct class_info clas_info[131,4593 -void usbdevfs_conn_disc_event(152,5241 -static const char *class_decode(158,5329 -static char *usb_dump_endpoint_descriptor 168,5522 -static char *usb_dump_interface_descriptor(235,7109 -static char *usb_dump_interface(263,7864 -static char *usb_dump_config_descriptor(290,8510 -static char *usb_dump_config 303,8891 -static char *usb_dump_device_descriptor(336,9677 -static char *usb_dump_device_strings 359,10329 -static char *usb_dump_desc(391,11154 -static char *usb_dump_hub_descriptor(419,11746 -static char *usb_dump_string(435,12135 -static ssize_t usb_device_dump(456,12914 -static ssize_t usb_device_read(570,16243 -static unsigned int usb_device_poll(607,17193 -static int usb_device_open(645,18129 -static int usb_device_release(651,18254 -static loff_t usb_device_lseek(661,18436 -struct file_operations usbdevfs_devices_fops 685,18763 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/hcd.h,2541 -#define USB_PID_UNDEF_0 29,929 -#define USB_PID_OUT 30,960 -#define USB_PID_ACK 31,987 -#define USB_PID_DATA0 32,1014 -#define USB_PID_PING 33,1043 -#define USB_PID_SOF 34,1085 -#define USB_PID_NYET 35,1112 -#define USB_PID_DATA2 36,1154 -#define USB_PID_SPLIT 37,1197 -#define USB_PID_IN 38,1240 -#define USB_PID_NAK 39,1266 -#define USB_PID_DATA1 40,1293 -#define USB_PID_PREAMBLE 41,1322 -#define USB_PID_ERR 42,1370 -#define USB_PID_SETUP 43,1427 -#define USB_PID_STALL 44,1456 -#define USB_PID_MDATA 45,1485 -struct usb_hcd usb_hcd58,1888 -#define HCD_BUFFER_POOLS 87,2658 -# define __ACTIVE 91,2744 -# define __SUSPEND 92,2768 -# define __TRANSIENT 93,2793 -# define USB_STATE_HALT 95,2821 -# define USB_STATE_RUNNING 96,2848 -# define USB_STATE_QUIESCING 97,2886 -# define USB_STATE_RESUMING 98,2948 -# define HCD_STATE_SUSPENDED 99,3000 -#define HCD_IS_RUNNING(HCD_IS_RUNNING101,3042 -#define HCD_IS_SUSPENDED(HCD_IS_SUSPENDED102,3093 -static inline struct usb_bus *hcd_to_bus 112,3428 -struct hcd_dev hcd_dev118,3517 -struct hcd_timeout hcd_timeout128,3794 -struct usb_operations usb_operations140,4101 -struct hc_driver hc_driver165,4876 -#define HCD_MEMORY 172,5040 -#define HCD_USB11 173,5103 -#define HCD_USB2 174,5143 -#define DeviceRequest 270,8434 -#define DeviceOutRequest 272,8512 -#define InterfaceRequest 275,8595 -#define EndpointRequest 278,8680 -#define EndpointOutRequest 280,8763 -#define ClearHubFeature 285,8972 -#define ClearPortFeature 286,9030 -#define GetHubDescriptor 287,9088 -#define GetHubStatus 288,9147 -#define GetPortStatus 289,9199 -#define SetHubFeature 290,9252 -#define SetPortFeature 291,9306 -#define FRAME_TIME_USECS 299,9499 -#define BitTime(BitTime300,9530 -#define NS_TO_US(NS_TO_US305,9771 -#define BW_HOST_DELAY 316,10123 -#define BW_HUB_LS_SETUP 317,10170 -#define FRAME_TIME_BITS 320,10279 -#define FRAME_TIME_MAX_BITS_ALLOC 321,10347 -#define FRAME_TIME_MAX_USECS_ALLOC 322,10412 -#define USB2_HOST_DELAY 331,10730 -#define HS_USECS(HS_USECS332,10774 -#define HS_USECS_ISO(HS_USECS_ISO335,10902 -static inline int hcd_register_root 352,11458 -#define usb_endpoint_out(usb_endpoint_out380,12354 -static inline void usbfs_add_bus(403,12922 -static inline void usbfs_remove_bus(404,12979 -static inline void usbfs_add_device(405,13039 -static inline void usbfs_remove_device(406,13102 -static inline void usbfs_update_special 407,13168 -static inline int usbfs_init(409,13219 -static inline void usbfs_cleanup(410,13268 -#define bitmap 418,13531 -#define RUN_CONTEXT 425,13664 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/hcd.c,1820 -#define DEBUG28,1025 -#define USB_MAXBUS 92,3146 -struct usb_busmap usb_busmap93,3169 -static struct usb_busmap busmap;96,3257 -static spinlock_t hcd_data_lock 103,3468 -#define KERNEL_REL 116,3813 -#define KERNEL_VER 117,3869 -static const u8 usb2_rh_dev_descriptor 120,3966 -static const u8 usb11_rh_dev_descriptor 143,4753 -static const u8 fs_rh_config_descriptor 168,5562 -static const u8 hs_rh_config_descriptor 215,7245 -static int ascii2utf 268,9140 -static int rh_string 290,9748 -static int rh_call_control 328,10575 -static int rh_status_urb 485,14766 -static void rh_report_status 512,15507 -static int rh_urb_enqueue 556,16573 -int usb_rh_status_dequeue 575,17040 -struct usb_bus *usb_bus_get 593,17474 -void usb_bus_put 608,17726 -static void usb_host_release(616,17896 -static struct class usb_host_class usb_host_class624,18049 -int usb_host_init(629,18145 -void usb_host_cleanup(634,18215 -void usb_bus_init 646,18484 -struct usb_bus *usb_alloc_bus 675,19280 -int usb_register_bus(699,19918 -void usb_deregister_bus 744,21129 -int usb_register_root_hub 776,22150 -long usb_calc_bus_time 828,23919 -int usb_check_bandwidth 891,25955 -void usb_claim_bandwidth 944,27559 -void usb_release_bandwidth 974,28474 -static int hcd_alloc_dev 1003,29283 -static void urb_unlink 1036,30070 -static int hcd_submit_urb 1059,30688 -static int hcd_get_frame_number 1158,33547 -unlink1 1174,34127 -static int hcd_unlink_urb 1200,34743 -static void hcd_endpoint_disable 1301,37549 -static int hcd_hub_suspend 1386,39821 -static int hcd_hub_resume 1396,40031 -int usb_bus_start_enum(1423,40797 -static int hcd_free_dev 1454,41819 -struct usb_operations usb_hcd_operations 1494,42809 -void usb_hcd_giveback_urb 1525,43894 -irqreturn_t usb_hcd_irq 1571,45454 -static void hcd_panic 1591,45961 -void usb_hc_died 1615,46725 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/hub.c,3188 - #define DEBUG13,255 -static spinlock_t device_state_lock 40,835 -static spinlock_t hub_event_lock 43,915 -static pid_t khubd_pid 48,1087 -static int blinkenlights 52,1238 -static inline char *portspeed 58,1392 -static inline struct device *hubdev 70,1660 -static int get_hub_descriptor(76,1809 -static int clear_hub_feature(86,2101 -static int clear_port_feature(95,2333 -static int set_port_feature(104,2581 -static void set_port_led(114,2884 -#define LED_CYCLE_PERIOD 136,3404 -static void led_work 138,3441 -static int get_hub_status(210,5131 -static int get_port_status(221,5419 -static void hub_irq(230,5757 -hub_clear_tt_buffer 282,7093 -static void hub_tt_kevent 295,7580 -void usb_hub_tt_clear_buffer 338,9002 -static void hub_power_on(371,10091 -static int hub_hub_status(387,10547 -static int hub_configure(404,10926 -static unsigned highspeed_hubs;627,17037 -static void hub_quiesce(629,17070 -static void hub_reactivate(642,17360 -static void hub_disconnect(656,17676 -static int hub_probe(698,18419 -hub_ioctl(763,20037 -static int hub_reset(798,20826 -static void hub_start_disconnect(829,21474 -static void recursively_mark_NOTATTACHED(848,21848 -static int locktree(864,22346 -void usb_set_device_state(930,24351 -static void choose_address(946,24746 -static void release_address(967,25298 -void usb_disconnect(990,26057 -static int choose_configuration(1046,27623 -static void show_string(1080,28610 -static inline void show_string(1094,28892 -int usb_new_device(1122,29923 -static int hub_port_status(1262,33521 -#define PORT_RESET_TRIES 1283,34036 -#define SET_ADDRESS_TRIES 1284,34063 -#define GET_DESCRIPTOR_TRIES 1285,34091 -#define SET_CONFIG_TRIES 1286,34122 -#define HUB_ROOT_RESET_TIME 1288,34150 -#define HUB_SHORT_RESET_TIME 1289,34205 -#define HUB_LONG_RESET_TIME 1290,34237 -#define HUB_RESET_TIMEOUT 1291,34269 -static int hub_port_wait_reset(1293,34300 -static int hub_port_reset(1343,35610 -static int hub_port_disable(1382,36622 -static int hub_port_suspend(1411,37524 -static int __usb_suspend_device 1476,39636 -int usb_suspend_device(1591,43095 -static int finish_port_resume(1601,43414 -hub_port_resume(1685,45699 -#define LIVE_FLAGS 1707,46266 -int usb_resume_device(1752,47573 -static int remote_wakeup(1794,48499 -static int hub_suspend(1812,48900 -static int hub_resume(1840,49531 -int usb_suspend_device(1888,50674 -int usb_resume_device(1893,50749 -#define hub_suspend 1898,50812 -#define hub_resume 1899,50838 -#define remote_wakeup(remote_wakeup1900,50863 -#define HUB_DEBOUNCE_TIMEOUT 1925,51726 -#define HUB_DEBOUNCE_STEP 1926,51760 -#define HUB_DEBOUNCE_STABLE 1927,51791 -static int hub_port_debounce(1929,51825 -static int hub_set_address(1970,52877 -hub_port_init 1997,53769 -check_highspeed 2149,58035 -hub_power_remaining 2173,58654 -static void hub_port_connect_change(2223,59873 -static void hub_events(2394,64282 -static int hub_thread(2563,68459 -static struct usb_device_id hub_id_table 2585,68980 -static struct usb_driver hub_driver 2595,69294 -int usb_hub_init(2606,69526 -void usb_hub_cleanup(2630,69946 -static int config_descriptors_changed(2650,70437 -int __usb_reset_device(2711,72658 -int usb_reset_device(2813,75410 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/usb.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/buffer.c,187 - #define DEBUG21,501 -static const size_t pool_max 35,670 -int hcd_buffer_create 61,1376 -void hcd_buffer_destroy 89,2012 -void *hcd_buffer_alloc 108,2392 -void hcd_buffer_free 131,2881 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/usb.c,1737 - #define DEBUG27,846 -const char *usbcore_name 60,1544 -int nousb;62,1583 -static int generic_probe 66,1682 -static int generic_remove 70,1743 -static struct device_driver usb_generic_driver 75,1806 -static int usb_generic_driver_data;82,1952 -int usb_probe_interface(85,2054 -int usb_unbind_interface(109,2657 -int usb_register(142,3701 -void usb_deregister(179,4702 -struct usb_interface *usb_ifnum_to_if(207,5779 -struct usb_host_interface *usb_altnum_to_altsetting(240,6893 -usb_epnum_to_ep_desc(267,7866 -int usb_driver_claim_interface(310,9287 -void usb_driver_release_interface(343,10394 -usb_match_id(423,13829 -struct usb_interface *usb_find_interface(500,16319 -static int usb_device_match 524,16857 -static int usb_hotplug 562,17959 -static int usb_hotplug 661,20643 -static void usb_release_dev(676,21024 -usb_alloc_dev(702,21759 -struct usb_device *usb_get_dev(779,23962 -void usb_put_dev(793,24337 -struct usb_interface *usb_get_intf(812,24907 -void usb_put_intf(827,25313 -static struct usb_device *match_device(833,25401 -struct usb_device *usb_find_device(877,26741 -int usb_get_current_frame_number(912,27768 -int __usb_get_extra_descriptor(923,28096 -void *usb_buffer_alloc 972,29714 -void usb_buffer_free 995,30385 -struct urb *usb_buffer_map 1023,31324 -void usb_buffer_dmasync 1064,32560 -void usb_buffer_unmap 1096,33314 -int usb_buffer_map_sg 1149,35262 -void usb_buffer_dmasync_sg 1184,36388 -void usb_buffer_unmap_sg 1210,37095 -static int usb_generic_suspend(1226,37470 -static int usb_generic_resume(1246,37932 -struct bus_type usb_bus_type 1267,38405 -static int __init usb_setup_disable(1277,38592 -int usb_disabled(1291,38820 -static int __init usb_init(1299,38878 -static void __exit usb_exit(1343,39634 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/hub.h,2659 -#define __LINUX_HUB_H2,22 -#define USB_RT_HUB 19,326 -#define USB_RT_PORT 20,381 -#define HUB_CLEAR_TT_BUFFER 26,498 -#define HUB_RESET_TT 27,528 -#define HUB_GET_TT_STATE 28,552 -#define HUB_STOP_TT 29,580 -#define C_HUB_LOCAL_POWER 35,673 -#define C_HUB_OVER_CURRENT 36,701 -#define USB_PORT_FEAT_CONNECTION 42,794 -#define USB_PORT_FEAT_ENABLE 43,829 -#define USB_PORT_FEAT_SUSPEND 44,861 -#define USB_PORT_FEAT_OVER_CURRENT 45,894 -#define USB_PORT_FEAT_RESET 46,931 -#define USB_PORT_FEAT_POWER 47,962 -#define USB_PORT_FEAT_LOWSPEED 48,993 -#define USB_PORT_FEAT_HIGHSPEED 49,1027 -#define USB_PORT_FEAT_C_CONNECTION 50,1063 -#define USB_PORT_FEAT_C_ENABLE 51,1101 -#define USB_PORT_FEAT_C_SUSPEND 52,1136 -#define USB_PORT_FEAT_C_OVER_CURRENT 53,1172 -#define USB_PORT_FEAT_C_RESET 54,1212 -#define USB_PORT_FEAT_TEST 55,1246 -#define USB_PORT_FEAT_INDICATOR 56,1289 -struct usb_port_status usb_port_status62,1426 -#define USB_PORT_STAT_CONNECTION 71,1588 -#define USB_PORT_STAT_ENABLE 72,1628 -#define USB_PORT_STAT_SUSPEND 73,1665 -#define USB_PORT_STAT_OVERCURRENT 74,1703 -#define USB_PORT_STAT_RESET 75,1744 -#define USB_PORT_STAT_POWER 77,1811 -#define USB_PORT_STAT_LOW_SPEED 78,1847 -#define USB_PORT_STAT_HIGH_SPEED 79,1887 -#define USB_PORT_STAT_TEST 80,1934 -#define USB_PORT_STAT_INDICATOR 81,1981 -#define USB_PORT_STAT_C_CONNECTION 89,2175 -#define USB_PORT_STAT_C_ENABLE 90,2217 -#define USB_PORT_STAT_C_SUSPEND 91,2256 -#define USB_PORT_STAT_C_OVERCURRENT 92,2296 -#define USB_PORT_STAT_C_RESET 93,2339 -#define HUB_CHAR_LPSM 99,2459 -#define HUB_CHAR_COMPOUND 100,2504 -#define HUB_CHAR_OCPM 101,2552 -#define HUB_CHAR_TTTT 102,2597 -#define HUB_CHAR_PORTIND 103,2651 -struct usb_hub_status usb_hub_status105,2706 -#define HUB_STATUS_LOCAL_POWER 116,2975 -#define HUB_STATUS_OVERCURRENT 117,3013 -#define HUB_CHANGE_LOCAL_POWER 118,3051 -#define HUB_CHANGE_OVERCURRENT 119,3089 -#define USB_DT_HUB 127,3189 -#define USB_DT_HUB_NONVAR_SIZE 128,3234 -struct usb_hub_descriptor usb_hub_descriptor130,3269 -#define HUB_LED_AUTO 144,3696 -#define HUB_LED_AMBER 145,3719 -#define HUB_LED_GREEN 146,3743 -#define HUB_LED_OFF 147,3767 -enum hub_led_mode hub_led_mode149,3790 - INDICATOR_AUTO 150,3810 - INDICATOR_CYCLE,151,3831 - INDICATOR_GREEN_BLINK,153,3917 - INDICATOR_GREEN_BLINK, INDICATOR_GREEN_BLINK_OFF,153,3917 - INDICATOR_AMBER_BLINK,154,3968 - INDICATOR_AMBER_BLINK, INDICATOR_AMBER_BLINK_OFF,154,3968 - INDICATOR_ALT_BLINK,155,4019 - INDICATOR_ALT_BLINK, INDICATOR_ALT_BLINK_OFF155,4019 -struct usb_tt usb_tt170,4566 -struct usb_tt_clear usb_tt_clear180,4846 -struct usb_hub usb_hub188,5006 -hub_set_power_budget 226,6161 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/core/file.c,468 - #define DEBUG25,692 -#define MAX_USB_MINORS 31,758 -static struct file_operations *usb_minors[32,785 -static spinlock_t minor_lock 33,844 -static int usb_open(35,896 -static struct file_operations usb_fops 64,1539 -static void release_usb_class_dev(69,1629 -static struct class usb_class usb_class75,1771 -int usb_major_init(80,1862 -void usb_major_cleanup(103,2247 -static ssize_t show_dev(110,2372 -int usb_register_dev(137,3522 -void usb_deregister_dev(221,5911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/pxa2xx_udc.c,3587 -#define DRIVER_VERSION 82,2732 -#define DRIVER_DESC 83,2769 -static const char driver_name 86,2830 -static const char ep0name 88,2880 -#define UDC_PROC_FILE96,3014 -static int use_dma 119,3387 -#define DMASTR 127,3657 -#define DMASTR 129,3695 -#define DMASTR 133,3751 -#define SIZE_STR 138,3838 -#define SIZE_STR 140,3872 -static ushort fifo_mode 149,4108 -static void pio_irq_enable(163,4639 -static void pio_irq_disable(174,4919 -#define UDCCR_MASK_BITS 188,5319 -static inline void udc_set_mask_UDCCR(190,5388 -static inline void udc_clear_mask_UDCCR(195,5504 -static inline void udc_ack_int_UDCCR(200,5623 -static int pxa2xx_ep_enable 222,6475 -static int pxa2xx_ep_disable 300,8686 -pxa2xx_ep_alloc_request 341,9633 -pxa2xx_ep_free_request 359,9959 -pxa2xx_ep_alloc_buffer(375,10467 -pxa2xx_ep_free_buffer(387,10721 -static void done(398,10961 -static inline void ep0_idle 421,11534 -write_packet(428,11644 -write_fifo 453,12210 -void ep0start(520,14039 -write_ep0_fifo 530,14282 -read_fifo 588,15769 -read_ep0_fifo 665,17919 -#define MAX_IN_DMA 703,18717 -start_dma_nodesc(706,18786 -static void kick_dma(748,19940 -static void cancel_dma(776,20731 -static void dma_nodesc_handler(800,21377 -pxa2xx_ep_queue(880,23402 -static void nuke(1004,26510 -static int pxa2xx_ep_dequeue(1025,26929 -static int pxa2xx_ep_set_halt(1067,27877 -static int pxa2xx_ep_fifo_status(1123,29291 -static void pxa2xx_ep_fifo_flush(1142,29770 -static struct usb_ep_ops pxa2xx_ep_ops 1168,30447 -static int pxa2xx_udc_get_frame(1192,31121 -static int pxa2xx_udc_wakeup(1197,31234 -static const struct usb_gadget_ops pxa2xx_udc_ops 1206,31444 -static const char proc_node_name 1217,31722 -udc_proc_read(1220,31786 -#define create_proc_files(create_proc_files1366,35400 -#define remove_proc_files(remove_proc_files1368,35499 -#define create_proc_files(create_proc_files1372,35598 -#define remove_proc_files(remove_proc_files1373,35642 -show_function 1379,35763 -static void udc_disable(1396,36237 -static void udc_reinit(1422,36741 -static void udc_enable 1450,37393 -int usb_gadget_register_driver(1531,39750 -stop_activity(1577,40858 -int usb_gadget_unregister_driver(1604,41516 -#define enable_disconnect_irq(enable_disconnect_irq1643,42487 -#define disable_disconnect_irq(disable_disconnect_irq1645,42586 -usb_connection_irq(1649,42707 -#define enable_disconnect_irq(enable_disconnect_irq1686,43601 -#define disable_disconnect_irq(disable_disconnect_irq1687,43650 -static inline void clear_ep_state 1693,43787 -static void udc_watchdog(1704,44090 -static void handle_ep0 1719,44423 -static void handle_ep(1946,50288 -pxa2xx_udc_irq(2013,52006 -static void nop_release 2120,54406 -static struct pxa2xx_udc memory 2129,54666 -#define CP15R0_VENDOR_MASK 2374,59837 -#define CP15R0_XSCALE_VALUE 2377,59905 -#define CP15R0_XSCALE_VALUE 2380,60002 -#define CP15R0_PROD_MASK 2384,60073 -#define PXA25x 2385,60109 -#define PXA210 2386,60154 -#define CP15R0_REV_MASK 2388,60183 -#define CP15R0_PRODREV_MASK 2390,60220 -#define PXA255_A0 2392,60286 -#define PXA250_C0 2393,60335 -#define PXA250_B2 2394,60384 -#define PXA250_B1 2395,60414 -#define PXA250_B0 2396,60463 -#define PXA250_A1 2397,60493 -#define PXA250_A0 2398,60523 -#define PXA210_C0 2400,60554 -#define PXA210_B2 2401,60584 -#define PXA210_B1 2402,60614 -#define PXA210_B0 2403,60644 -#define IXP425_A0 2404,60674 -static int __init pxa2xx_udc_probe(2409,60753 -static int __exit pxa2xx_udc_remove(2519,63437 -static struct device_driver udc_driver 2542,63948 -static int __init udc_init(2553,64217 -static void __exit udc_exit(2560,64384 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/config.c,67 -usb_descriptor_fillbuf(43,1488 -int usb_gadget_config_buf(85,2990 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/net2280.h,15917 -struct net2280_regs net2280_regs37,1352 -#define LOCAL_CLOCK_FREQUENCY 40,1407 -#define FORCE_PCI_RESET 41,1473 -#define PCI_ID 42,1539 -#define PCI_ENABLE 43,1605 -#define FIFO_SOFT_RESET 44,1671 -#define CFG_SOFT_RESET 45,1737 -#define PCI_SOFT_RESET 46,1803 -#define USB_SOFT_RESET 47,1869 -#define M8051_RESET 48,1935 -#define EEPROM_ADDRESS_WIDTH 50,2014 -#define EEPROM_CHIP_SELECT_ACTIVE 51,2081 -#define EEPROM_PRESENT 52,2148 -#define EEPROM_VALID 53,2215 -#define EEPROM_BUSY 54,2282 -#define EEPROM_CHIP_SELECT_ENABLE 55,2349 -#define EEPROM_BYTE_READ_START 56,2416 -#define EEPROM_BYTE_WRITE_START 57,2483 -#define EEPROM_READ_DATA 58,2550 -#define EEPROM_WRITE_DATA 59,2616 -#define SETUP_PACKET_INTERRUPT_ENABLE 65,2784 -#define ENDPOINT_F_INTERRUPT_ENABLE 66,2850 -#define ENDPOINT_E_INTERRUPT_ENABLE 67,2916 -#define ENDPOINT_D_INTERRUPT_ENABLE 68,2982 -#define ENDPOINT_C_INTERRUPT_ENABLE 69,3048 -#define ENDPOINT_B_INTERRUPT_ENABLE 70,3114 -#define ENDPOINT_A_INTERRUPT_ENABLE 71,3180 -#define ENDPOINT_0_INTERRUPT_ENABLE 72,3246 -#define PCI_INTERRUPT_ENABLE 74,3330 -#define POWER_STATE_CHANGE_INTERRUPT_ENABLE 75,3397 -#define PCI_ARBITER_TIMEOUT_INTERRUPT_ENABLE 76,3464 -#define PCI_PARITY_ERROR_INTERRUPT_ENABLE 77,3531 -#define PCI_MASTER_ABORT_RECEIVED_INTERRUPT_ENABLE 78,3598 -#define PCI_TARGET_ABORT_RECEIVED_INTERRUPT_ENABLE 79,3665 -#define PCI_TARGET_ABORT_ASSERTED_INTERRUPT_ENABLE 80,3732 -#define PCI_RETRY_ABORT_INTERRUPT_ENABLE 81,3799 -#define PCI_MASTER_CYCLE_DONE_INTERRUPT_ENABLE 82,3866 -#define GPIO_INTERRUPT_ENABLE 83,3933 -#define DMA_D_INTERRUPT_ENABLE 84,4000 -#define DMA_C_INTERRUPT_ENABLE 85,4067 -#define DMA_B_INTERRUPT_ENABLE 86,4134 -#define DMA_A_INTERRUPT_ENABLE 87,4201 -#define EEPROM_DONE_INTERRUPT_ENABLE 88,4267 -#define VBUS_INTERRUPT_ENABLE 89,4333 -#define CONTROL_STATUS_INTERRUPT_ENABLE 90,4399 -#define ROOT_PORT_RESET_INTERRUPT_ENABLE 91,4465 -#define SUSPEND_REQUEST_INTERRUPT_ENABLE 92,4531 -#define SUSPEND_REQUEST_CHANGE_INTERRUPT_ENABLE 93,4597 -#define RESUME_INTERRUPT_ENABLE 94,4663 -#define SOF_INTERRUPT_ENABLE 95,4729 -#define SETUP_PACKET_INTERRUPT_ENABLE 97,4841 -#define ENDPOINT_F_INTERRUPT_ENABLE 98,4907 -#define ENDPOINT_E_INTERRUPT_ENABLE 99,4973 -#define ENDPOINT_D_INTERRUPT_ENABLE 100,5039 -#define ENDPOINT_C_INTERRUPT_ENABLE 101,5105 -#define ENDPOINT_B_INTERRUPT_ENABLE 102,5171 -#define ENDPOINT_A_INTERRUPT_ENABLE 103,5237 -#define ENDPOINT_0_INTERRUPT_ENABLE 104,5303 -#define CPU_INTERRUPT_ENABLE 106,5388 -#define POWER_STATE_CHANGE_INTERRUPT_ENABLE 107,5455 -#define PCI_ARBITER_TIMEOUT_INTERRUPT_ENABLE 108,5522 -#define PCI_PARITY_ERROR_INTERRUPT_ENABLE 109,5589 -#define PCI_INTA_INTERRUPT_ENABLE 110,5656 -#define PCI_PME_INTERRUPT_ENABLE 111,5723 -#define PCI_SERR_INTERRUPT_ENABLE 112,5790 -#define PCI_PERR_INTERRUPT_ENABLE 113,5857 -#define PCI_MASTER_ABORT_RECEIVED_INTERRUPT_ENABLE 114,5924 -#define PCI_TARGET_ABORT_RECEIVED_INTERRUPT_ENABLE 115,5991 -#define PCI_RETRY_ABORT_INTERRUPT_ENABLE 116,6058 -#define PCI_MASTER_CYCLE_DONE_INTERRUPT_ENABLE 117,6125 -#define GPIO_INTERRUPT_ENABLE 118,6192 -#define DMA_D_INTERRUPT_ENABLE 119,6259 -#define DMA_C_INTERRUPT_ENABLE 120,6326 -#define DMA_B_INTERRUPT_ENABLE 121,6393 -#define DMA_A_INTERRUPT_ENABLE 122,6460 -#define EEPROM_DONE_INTERRUPT_ENABLE 123,6526 -#define VBUS_INTERRUPT_ENABLE 124,6592 -#define CONTROL_STATUS_INTERRUPT_ENABLE 125,6658 -#define ROOT_PORT_RESET_INTERRUPT_ENABLE 126,6724 -#define SUSPEND_REQUEST_INTERRUPT_ENABLE 127,6790 -#define SUSPEND_REQUEST_CHANGE_INTERRUPT_ENABLE 128,6856 -#define RESUME_INTERRUPT_ENABLE 129,6922 -#define SOF_INTERRUPT_ENABLE 130,6988 -#define USB_INTERRUPT_ENABLE 135,7107 -#define POWER_STATE_CHANGE_INTERRUPT_ENABLE 136,7174 -#define PCI_ARBITER_TIMEOUT_INTERRUPT_ENABLE 137,7241 -#define PCI_PARITY_ERROR_INTERRUPT_ENABLE 138,7308 -#define PCI_INTA_INTERRUPT_ENABLE 139,7375 -#define PCI_PME_INTERRUPT_ENABLE 140,7442 -#define PCI_SERR_INTERRUPT_ENABLE 141,7509 -#define PCI_PERR_INTERRUPT_ENABLE 142,7576 -#define PCI_MASTER_ABORT_RECEIVED_INTERRUPT_ENABLE 143,7643 -#define PCI_TARGET_ABORT_RECEIVED_INTERRUPT_ENABLE 144,7710 -#define PCI_RETRY_ABORT_INTERRUPT_ENABLE 145,7777 -#define PCI_MASTER_CYCLE_DONE_INTERRUPT_ENABLE 146,7844 -#define GPIO_INTERRUPT_ENABLE 147,7911 -#define DMA_D_INTERRUPT_ENABLE 148,7978 -#define DMA_C_INTERRUPT_ENABLE 149,8045 -#define DMA_B_INTERRUPT_ENABLE 150,8112 -#define DMA_A_INTERRUPT_ENABLE 151,8179 -#define EEPROM_DONE_INTERRUPT_ENABLE 152,8245 -#define VBUS_INTERRUPT_ENABLE 153,8311 -#define CONTROL_STATUS_INTERRUPT_ENABLE 154,8377 -#define ROOT_PORT_RESET_INTERRUPT_ENABLE 155,8443 -#define SUSPEND_REQUEST_INTERRUPT_ENABLE 156,8509 -#define SUSPEND_REQUEST_CHANGE_INTERRUPT_ENABLE 157,8575 -#define RESUME_INTERRUPT_ENABLE 158,8641 -#define SOF_INTERRUPT_ENABLE 159,8707 -#define INTA_ASSERTED 161,8789 -#define SETUP_PACKET_INTERRUPT 162,8856 -#define ENDPOINT_F_INTERRUPT 163,8922 -#define ENDPOINT_E_INTERRUPT 164,8988 -#define ENDPOINT_D_INTERRUPT 165,9054 -#define ENDPOINT_C_INTERRUPT 166,9120 -#define ENDPOINT_B_INTERRUPT 167,9186 -#define ENDPOINT_A_INTERRUPT 168,9252 -#define ENDPOINT_0_INTERRUPT 169,9318 -#define POWER_STATE_CHANGE_INTERRUPT 171,9400 -#define PCI_ARBITER_TIMEOUT_INTERRUPT 172,9467 -#define PCI_PARITY_ERROR_INTERRUPT 173,9534 -#define PCI_INTA_INTERRUPT 174,9601 -#define PCI_PME_INTERRUPT 175,9668 -#define PCI_SERR_INTERRUPT 176,9735 -#define PCI_PERR_INTERRUPT 177,9802 -#define PCI_MASTER_ABORT_RECEIVED_INTERRUPT 178,9869 -#define PCI_TARGET_ABORT_RECEIVED_INTERRUPT 179,9936 -#define PCI_RETRY_ABORT_INTERRUPT 180,10003 -#define PCI_MASTER_CYCLE_DONE_INTERRUPT 181,10070 -#define GPIO_INTERRUPT 182,10137 -#define DMA_D_INTERRUPT 183,10204 -#define DMA_C_INTERRUPT 184,10271 -#define DMA_B_INTERRUPT 185,10338 -#define DMA_A_INTERRUPT 186,10405 -#define EEPROM_DONE_INTERRUPT 187,10471 -#define VBUS_INTERRUPT 188,10537 -#define CONTROL_STATUS_INTERRUPT 189,10603 -#define ROOT_PORT_RESET_INTERRUPT 190,10669 -#define SUSPEND_REQUEST_INTERRUPT 191,10735 -#define SUSPEND_REQUEST_CHANGE_INTERRUPT 192,10801 -#define RESUME_INTERRUPT 193,10867 -#define SOF_INTERRUPT 194,10933 -#define PCI_BASE2_RANGE 199,11062 -#define IGNORE_FIFO_AVAILABILITY 200,11129 -#define PCI_BASE2_SELECT 201,11195 -#define FIFO_CONFIGURATION_SELECT 202,11261 -#define START 206,11376 -#define DIRECTION 207,11443 -#define FIFO_DIAGNOSTIC_SELECT 208,11510 -#define MEMORY_ADDRESS 209,11577 -#define GPIO3_LED_SELECT 215,11724 -#define GPIO3_INTERRUPT_ENABLE 216,11791 -#define GPIO2_INTERRUPT_ENABLE 217,11858 -#define GPIO1_INTERRUPT_ENABLE 218,11925 -#define GPIO0_INTERRUPT_ENABLE 219,11991 -#define GPIO3_OUTPUT_ENABLE 220,12057 -#define GPIO2_OUTPUT_ENABLE 221,12123 -#define GPIO1_OUTPUT_ENABLE 222,12189 -#define GPIO0_OUTPUT_ENABLE 223,12255 -#define GPIO3_DATA 224,12321 -#define GPIO2_DATA 225,12387 -#define GPIO1_DATA 226,12453 -#define GPIO0_DATA 227,12519 -#define GPIO3_INTERRUPT 229,12601 -#define GPIO2_INTERRUPT 230,12667 -#define GPIO1_INTERRUPT 231,12733 -#define GPIO0_INTERRUPT 232,12799 -struct net2280_usb_regs net2280_usb_regs236,12927 -#define STALL_UNSUPPORTED_REQUESTS 239,12985 -#define SET_TEST_MODE 240,13052 -#define GET_OTHER_SPEED_CONFIGURATION 241,13119 -#define GET_DEVICE_QUALIFIER 242,13186 -#define SET_ADDRESS 243,13253 -#define ENDPOINT_SET_CLEAR_HALT 244,13320 -#define DEVICE_SET_CLEAR_DEVICE_REMOTE_WAKEUP 245,13387 -#define GET_STRING_DESCRIPTOR_2 246,13454 -#define GET_STRING_DESCRIPTOR_1 247,13521 -#define GET_STRING_DESCRIPTOR_0 248,13587 -#define GET_SET_INTERFACE 249,13653 -#define GET_SET_CONFIGURATION 250,13719 -#define GET_CONFIGURATION_DESCRIPTOR 251,13785 -#define GET_DEVICE_DESCRIPTOR 252,13851 -#define GET_ENDPOINT_STATUS 253,13917 -#define GET_INTERFACE_STATUS 254,13983 -#define GET_DEVICE_STATUS 255,14049 -#define PRODUCT_ID 257,14133 -#define VENDOR_ID 258,14200 -#define SERIAL_NUMBER_INDEX 261,14294 -#define PRODUCT_ID_STRING_ENABLE 262,14361 -#define VENDOR_ID_STRING_ENABLE 263,14428 -#define USB_ROOT_PORT_WAKEUP_ENABLE 264,14495 -#define VBUS_PIN 265,14562 -#define TIMED_DISCONNECT 266,14629 -#define SUSPEND_IMMEDIATELY 267,14695 -#define SELF_POWERED_USB_DEVICE 268,14761 -#define REMOTE_WAKEUP_SUPPORT 269,14827 -#define PME_POLARITY 270,14893 -#define USB_DETECT_ENABLE 271,14959 -#define PME_WAKEUP_ENABLE 272,15025 -#define DEVICE_REMOTE_WAKEUP_ENABLE 273,15091 -#define SELF_POWERED_STATUS 274,15157 -#define HIGH_SPEED 277,15256 -#define FULL_SPEED 278,15322 -#define GENERATE_RESUME 279,15388 -#define GENERATE_DEVICE_REMOTE_WAKEUP 280,15454 -#define FORCE_HIGH_SPEED_MODE 282,15536 -#define FORCE_FULL_SPEED_MODE 283,15603 -#define USB_TEST_MODE 284,15670 -#define LINE_STATE 285,15737 -#define TRANSCEIVER_OPERATION_MODE 286,15804 -#define TRANSCEIVER_SELECT 287,15870 -#define TERMINATION_SELECT 288,15936 -#define FORCE_IMMEDIATE 294,16085 -#define OUR_USB_ADDRESS 295,16151 -struct net2280_pci_regs net2280_pci_regs300,16296 -#define PCI_ARBITER_PARK_SELECT 303,16358 -#define PCI_MULTI 304,16425 -#define PCI_RETRY_ABORT_ENABLE 305,16492 -#define DMA_MEMORY_WRITE_AND_INVALIDATE_ENABLE 306,16559 -#define DMA_READ_MULTIPLE_ENABLE 307,16626 -#define DMA_READ_LINE_ENABLE 308,16692 -#define PCI_MASTER_COMMAND_SELECT 309,16758 -#define MEM_READ_OR_WRITE 310,16824 -#define IO_READ_OR_WRITE 311,16894 -#define CFG_READ_OR_WRITE 312,16964 -#define PCI_MASTER_START 313,17034 -#define PCI_MASTER_READ_WRITE 314,17100 -#define PCI_MASTER_WRITE 315,17166 -#define PCI_MASTER_READ 316,17236 -#define PCI_MASTER_BYTE_WRITE_ENABLES 317,17306 -#define PCI_ARBITER_CLEAR 321,17429 -#define PCI_EXTERNAL_ARBITER 322,17495 -#define PCI_HOST_MODE 323,17561 -struct net2280_dma_regs net2280_dma_regs330,17843 -#define DMA_SCATTER_GATHER_DONE_INTERRUPT_ENABLE 333,17940 -#define DMA_CLEAR_COUNT_ENABLE 334,18007 -#define DESCRIPTOR_POLLING_RATE 335,18074 -#define POLL_CONTINUOUS 336,18141 -#define POLL_1_USEC 337,18211 -#define POLL_100_USEC 338,18281 -#define POLL_1_MSEC 339,18351 -#define DMA_VALID_BIT_POLLING_ENABLE 340,18421 -#define DMA_VALID_BIT_ENABLE 341,18488 -#define DMA_SCATTER_GATHER_ENABLE 342,18555 -#define DMA_OUT_AUTO_START_ENABLE 343,18622 -#define DMA_PREEMPT_ENABLE 344,18688 -#define DMA_FIFO_VALIDATE 345,18754 -#define DMA_ENABLE 346,18820 -#define DMA_ADDRESS_HOLD 347,18886 -#define DMA_SCATTER_GATHER_DONE_INTERRUPT 349,18967 -#define DMA_TRANSACTION_DONE_INTERRUPT 350,19034 -#define DMA_ABORT 351,19101 -#define DMA_START 352,19167 -#define VALID_BIT 356,19313 -#define DMA_DIRECTION 357,19380 -#define DMA_DONE_INTERRUPT_ENABLE 358,19447 -#define END_OF_CHAIN 359,19514 -#define DMA_BYTE_COUNT_MASK 360,19581 -#define DMA_BYTE_COUNT 361,19661 -struct net2280_dep_regs net2280_dep_regs369,19853 -struct net2280_ep_regs net2280_ep_regs381,20268 -#define ENDPOINT_BYTE_COUNT 384,20386 -#define ENDPOINT_ENABLE 385,20453 -#define ENDPOINT_TYPE 386,20520 -#define ENDPOINT_DIRECTION 387,20586 -#define ENDPOINT_NUMBER 388,20652 -#define SET_NAK_OUT_PACKETS 390,20732 -#define SET_EP_HIDE_STATUS_PHASE 391,20799 -#define SET_EP_FORCE_CRC_ERROR 392,20866 -#define SET_INTERRUPT_MODE 393,20933 -#define SET_CONTROL_STATUS_PHASE_HANDSHAKE 394,21000 -#define SET_NAK_OUT_PACKETS_MODE 395,21067 -#define SET_ENDPOINT_TOGGLE 396,21134 -#define SET_ENDPOINT_HALT 397,21200 -#define CLEAR_NAK_OUT_PACKETS 398,21266 -#define CLEAR_EP_HIDE_STATUS_PHASE 399,21332 -#define CLEAR_EP_FORCE_CRC_ERROR 400,21398 -#define CLEAR_INTERRUPT_MODE 401,21464 -#define CLEAR_CONTROL_STATUS_PHASE_HANDSHAKE 402,21530 -#define CLEAR_NAK_OUT_PACKETS_MODE 403,21596 -#define CLEAR_ENDPOINT_TOGGLE 404,21662 -#define CLEAR_ENDPOINT_HALT 405,21728 -#define SHORT_PACKET_OUT_DONE_INTERRUPT_ENABLE 407,21811 -#define SHORT_PACKET_TRANSFERRED_INTERRUPT_ENABLE 408,21877 -#define DATA_PACKET_RECEIVED_INTERRUPT_ENABLE 409,21943 -#define DATA_PACKET_TRANSMITTED_INTERRUPT_ENABLE 410,22009 -#define DATA_OUT_PING_TOKEN_INTERRUPT_ENABLE 411,22075 -#define DATA_IN_TOKEN_INTERRUPT_ENABLE 412,22141 -#define FIFO_VALID_COUNT 414,22222 -#define HIGH_BANDWIDTH_OUT_TRANSACTION_PID 415,22289 -#define TIMEOUT 416,22356 -#define USB_STALL_SENT 417,22423 -#define USB_IN_NAK_SENT 418,22490 -#define USB_IN_ACK_RCVD 419,22557 -#define USB_OUT_PING_NAK_SENT 420,22624 -#define USB_OUT_ACK_SENT 421,22691 -#define FIFO_OVERFLOW 422,22758 -#define FIFO_UNDERFLOW 423,22825 -#define FIFO_FULL 424,22892 -#define FIFO_EMPTY 425,22959 -#define FIFO_FLUSH 426,23026 -#define SHORT_PACKET_OUT_DONE_INTERRUPT 427,23092 -#define SHORT_PACKET_TRANSFERRED_INTERRUPT 428,23158 -#define NAK_OUT_PACKETS 429,23224 -#define DATA_PACKET_RECEIVED_INTERRUPT 430,23290 -#define DATA_PACKET_TRANSMITTED_INTERRUPT 431,23356 -#define DATA_OUT_PING_TOKEN_INTERRUPT 432,23422 -#define DATA_IN_TOKEN_INTERRUPT 433,23488 -get_idx_reg 449,23910 -set_idx_reg 457,24103 -#define REG_DIAG 467,24308 -#define RETRY_COUNTER 468,24330 -#define FORCE_PCI_SERR 469,24397 -#define FORCE_PCI_INTERRUPT 470,24464 -#define FORCE_USB_INTERRUPT 471,24531 -#define FORCE_CPU_INTERRUPT 472,24597 -#define ILLEGAL_BYTE_ENABLES 473,24663 -#define FAST_TIMES 474,24729 -#define FORCE_RECEIVE_ERROR 475,24795 -#define FORCE_TRANSMIT_CRC_ERROR 476,24861 -#define REG_FRAME 477,24927 -#define REG_CHIPREV 478,24971 -#define REG_HS_NAK_RATE 479,25010 -#define CHIPREV_1 481,25065 -#define CHIPREV_1A 482,25090 -#define REG_EP_MAXPKT(REG_EP_MAXPKT489,25220 -struct net2280_dma net2280_dma497,25485 -struct net2280_ep net2280_ep508,25772 -static inline void allow_status 529,26275 -static inline void set_fifo_bytecount 540,26582 -struct net2280_request net2280_request545,26720 -struct net2280 net2280554,26889 -static inline void set_halt 580,27570 -static inline void clear_halt 590,27872 -static inline void net2280_led_init 604,28274 -void net2280_led_speed 617,28643 -static inline void net2280_led_active 637,29141 -static inline void net2280_led_shutdown 648,29405 -#define net2280_led_init(net2280_led_init657,29591 -#define net2280_led_speed(net2280_led_speed658,29639 -#define net2280_led_shutdown(net2280_led_shutdown659,29694 -#define xprintk(xprintk665,29833 -#define DEBUG(DEBUG671,29981 -#define DEBUG(DEBUG674,30063 -#define VDEBUG 679,30149 -#define VDEBUG(VDEBUG681,30176 -#define ERROR(ERROR685,30250 -#define WARN(WARN687,30324 -#define INFO(INFO689,30401 -static inline void start_out_naking 694,30555 -static inline void assert_out_naking 703,30808 -#define ASSERT_OUT_NAKING(ASSERT_OUT_NAKING714,31109 -#define ASSERT_OUT_NAKING(ASSERT_OUT_NAKING716,31180 -static inline void stop_out_naking 719,31234 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/omap_udc.h,3577 -#define UDC_REG(UDC_REG11,177 -#define UDC_REV_REG 13,244 -#define UDC_EP_NUM_REG 14,294 -# define UDC_SETUP_SEL 15,353 -# define UDC_EP_SEL 16,386 -# define UDC_EP_DIR 17,416 -#define UDC_DATA_REG 19,484 -#define UDC_CTRL_REG 20,541 -# define UDC_CLR_HALT 21,601 -# define UDC_SET_HALT 22,633 -# define UDC_SET_FIFO_EN 23,665 -# define UDC_CLR_EP 24,700 -# define UDC_RESET_EP 25,730 -#define UDC_STAT_FLG_REG 26,762 -# define UDC_NO_RXPACKET 27,824 -# define UDC_MISS_IN 28,860 -# define UDC_DATA_FLUSH 29,892 -# define UDC_ISO_ERR 30,927 -# define UDC_ISO_FIFO_EMPTY 31,959 -# define UDC_ISO_FIFO_FULL 32,996 -# define UDC_EP_HALTED 33,1032 -# define UDC_STALL 34,1065 -# define UDC_NAK 35,1094 -# define UDC_ACK 36,1122 -# define UDC_FIFO_EN 37,1150 -# define UDC_NON_ISO_FIFO_EMPTY 38,1181 -# define UDC_NON_ISO_FIFO_FULL 39,1222 -#define UDC_RXFSTAT_REG 40,1262 -#define UDC_SYSCON1_REG 41,1322 -# define UDC_CFG_LOCK 42,1384 -# define UDC_DATA_ENDIAN 43,1416 -# define UDC_DMA_ENDIAN 44,1451 -# define UDC_NAK_EN 45,1485 -# define UDC_AUTODECODE_DIS 46,1515 -# define UDC_SELF_PWR 47,1552 -# define UDC_SOFF_DIS 48,1584 -# define UDC_PULLUP_EN 49,1616 -#define UDC_SYSCON2_REG 50,1649 -# define UDC_RMT_WKP 51,1711 -# define UDC_STALL_CMD 52,1742 -# define UDC_DEV_CFG 53,1775 -# define UDC_CLR_CFG 54,1806 -#define UDC_DEVSTAT_REG 55,1837 -# define UDC_B_HNP_ENABLE 56,1897 -# define UDC_A_HNP_SUPPORT 57,1932 -# define UDC_A_ALT_HNP_SUPPORT 58,1968 -# define UDC_R_WK_OK 59,2008 -# define UDC_USB_RESET 60,2039 -# define UDC_SUS 61,2072 -# define UDC_CFG 62,2100 -# define UDC_ADD 63,2128 -# define UDC_DEF 64,2156 -# define UDC_ATT 65,2184 -#define UDC_SOF_REG 66,2212 -# define UDC_FT_LOCK 67,2269 -# define UDC_TS_OK 68,2301 -# define UDC_TS 69,2331 -#define UDC_IRQ_EN_REG 70,2356 -# define UDC_SOF_IE 71,2418 -# define UDC_EPN_RX_IE 72,2448 -# define UDC_EPN_TX_IE 73,2481 -# define UDC_DS_CHG_IE 74,2514 -# define UDC_EP0_IE 75,2547 -#define UDC_DMA_IRQ_EN_REG 76,2577 -# define UDC_TX_DONE_IE(UDC_TX_DONE_IE78,2687 -# define UDC_RX_CNT_IE(UDC_RX_CNT_IE79,2735 -# define UDC_RX_EOT_IE(UDC_RX_EOT_IE80,2782 -#define UDC_IRQ_SRC_REG 81,2829 -# define UDC_TXN_DONE 82,2892 -# define UDC_RXN_CNT 83,2925 -# define UDC_RXN_EOT 84,2956 -# define UDC_SOF 85,2987 -# define UDC_EPN_RX 86,3015 -# define UDC_EPN_TX 87,3045 -# define UDC_DS_CHG 88,3075 -# define UDC_SETUP 89,3105 -# define UDC_EP0_RX 90,3134 -# define UDC_EP0_TX 91,3164 -# define UDC_IRQ_SRC_MASK 92,3194 -#define UDC_EPN_STAT_REG 93,3226 -#define UDC_DMAN_STAT_REG 94,3286 -# define UDC_DMA_RX_SB 95,3348 -# define UDC_DMA_RX_SRC(UDC_DMA_RX_SRC96,3382 -# define UDC_DMA_TX_SRC(UDC_DMA_TX_SRC97,3426 -#define UDC_RXDMA_CFG_REG 101,3549 -#define UDC_TXDMA_CFG_REG 102,3613 -#define UDC_DATA_DMA_REG 103,3677 -#define UDC_TXDMA_REG(UDC_TXDMA_REG106,3796 -# define UDC_TXN_EOT 107,3856 -# define UDC_TXN_START 108,3911 -# define UDC_TXN_TSC 109,3966 -#define UDC_RXDMA_REG(UDC_RXDMA_REG110,4016 -# define UDC_RXN_STOP 111,4076 -# define UDC_RXN_TC 112,4130 -#define UDC_EP_RX_REG(UDC_EP_RX_REG119,4286 -# define UDC_EPN_RX_VALID 120,4348 -# define UDC_EPN_RX_DB 121,4384 -# define UDC_EPN_RX_ISO 123,4452 -#define UDC_EP_TX_REG(UDC_EP_TX_REG125,4524 -struct omap_req omap_req130,4701 -struct omap_ep omap_ep137,4820 -struct omap_udc omap_udc156,5217 -#define DBG(DBG179,5757 -#define DBG(DBG181,5819 -# define VDBG 185,5878 -# define VDBG(VDBG187,5906 -#define ERR(ERR190,5954 -#define WARN(WARN191,6008 -#define INFO(INFO192,6067 -#define HMC_1610 197,6259 -#define HMC 198,6302 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/pxa2xx_udc.h,2071 -#define __LINUX_USB_GADGET_PXA2XX_H25,980 -#define UFNRH_SIR 32,1190 -#define UFNRH_SIM 33,1245 -#define UFNRH_IPE14 34,1297 -#define UFNRH_IPE9 35,1355 -#define UFNRH_IPE4 36,1411 -#define UDCCFR 39,1536 -#define UDCCFR_AREN 40,1597 -#define UDCCFR_ACM 41,1658 -struct pxa2xx_ep pxa2xx_ep47,1825 -#define drcmr(drcmr74,2502 -#define drcmr(drcmr76,2554 -struct pxa2xx_request pxa2xx_request80,2584 -enum ep0_state ep0_state85,2666 - EP0_IDLE,86,2684 - EP0_IN_DATA_PHASE,87,2695 - EP0_OUT_DATA_PHASE,88,2715 - EP0_END_XFER,89,2736 - EP0_STALL,90,2751 -#define EP0_FIFO_SIZE 93,2767 -#define BULK_FIFO_SIZE 94,2804 -#define ISO_FIFO_SIZE 95,2842 -#define INT_FIFO_SIZE 96,2880 -struct udc_stats udc_stats98,2917 - struct ep0stats ep0stats99,2936 -#define PXA_UDC_NUM_ENDPOINTS 109,3148 -#define PXA_UDC_NUM_ENDPOINTS 113,3218 -struct pxa2xx_udc pxa2xx_udc116,3259 -#define start_watchdog(start_watchdog129,3531 -#define HEX_DISPLAY(HEX_DISPLAY145,3971 -#define LED_CONNECTED_ON 147,4043 -#define LED_CONNECTED_OFF 149,4123 -#define LED_EP0_ON 151,4220 -#define LED_EP0_OFF 152,4291 -#define HEX_DISPLAY(HEX_DISPLAY161,4521 -#define LED_CONNECTED_ON 165,4593 -#define LED_CONNECTED_OFF 166,4633 -#define LED_EP0_ON 169,4700 -#define LED_EP0_OFF 170,4736 -static struct pxa2xx_udc *the_controller;175,4860 -static inline int is_usb_connected(178,4959 -static inline void make_usb_disappear(186,5178 -static inline void let_usb_appear(193,5341 -#define DBG_NORMAL 206,5729 -#define DBG_VERBOSE 207,5794 -#define DBG_NOISY 208,5855 -#define DBG_VERY_NOISY 209,5910 -static const char *state_name[213,5984 -#define DMSG(DMSG219,6110 -# define UDC_DEBUG 222,6182 -# define UDC_DEBUG 224,6222 -static void __attribute__ 227,6263 -static void __attribute__ 243,6721 -static void __attribute__ 260,7230 -#define DMSG(DMSG301,8179 -#define dump_udccr(dump_udccr303,8217 -#define dump_udccs0(dump_udccs0304,8252 -#define dump_state(dump_state305,8288 -#define UDC_DEBUG 307,8324 -#define DBG(DBG311,8365 -#define WARN(WARN313,8442 -#define INFO(INFO314,8500 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/goku_udc.h,3400 -struct goku_udc_regs goku_udc_regs17,503 -#define INT_SUSPEND 21,595 -#define INT_USBRESET 22,641 -#define INT_ENDPOINT0 23,671 -#define INT_SETUP 24,702 -#define INT_STATUS 25,729 -#define INT_STATUSNAK 26,757 -#define INT_EPxDATASET(INT_EPxDATASET27,788 -# define INT_EP1DATASET 28,847 -# define INT_EP2DATASET 29,880 -# define INT_EP3DATASET 30,913 -#define INT_EPnNAK(INT_EPnNAK31,946 -# define INT_EP1NAK 32,1002 -# define INT_EP2NAK 33,1031 -# define INT_EP3NAK 34,1060 -#define INT_SOF 35,1089 -#define INT_ERR 36,1115 -#define INT_MSTWRSET 37,1141 -#define INT_MSTWREND 38,1171 -#define INT_MSTWRTMOUT 39,1201 -#define INT_MSTRDEND 40,1233 -#define INT_SYSERROR 41,1263 -#define INT_PWRDETECT 42,1293 -#define INT_DEVWIDE 44,1325 -#define INT_EP0 45,1412 -#define MST_EOPB_DIS 48,1503 -#define MST_EOPB_ENA 49,1532 -#define MST_TIMEOUT_DIS 50,1561 -#define MST_TIMEOUT_ENA 51,1593 -#define MST_RD_EOPB 52,1625 -#define MST_RD_RESET 53,1671 -#define MST_WR_RESET 54,1700 -#define MST_RD_ENA 55,1729 -#define MST_WR_ENA 56,1781 -#define MST_CONNECTION 57,1833 -#define MST_R_BITS 59,1891 -#define MST_W_BITS 61,1971 -#define MST_RW_BITS 63,2057 -#define UDC_MSTWR_ENDPOINT 67,2187 -#define UDC_MSTRD_ENDPOINT 68,2223 -#define PW_DETECT 81,2445 -#define PW_RESETB 82,2469 -#define PW_PULLUP 83,2493 -#define EPxSTATUS_TOGGLE 94,2707 -#define EPxSTATUS_SUSPEND 95,2737 -#define EPxSTATUS_EP_MASK 96,2768 -# define EPxSTATUS_EP_READY 97,2804 -# define EPxSTATUS_EP_DATAIN 98,2839 -# define EPxSTATUS_EP_FULL 99,2875 -# define EPxSTATUS_EP_TX_ERR 100,2909 -# define EPxSTATUS_EP_RX_ERR 101,2945 -# define EPxSTATUS_EP_BUSY 102,2981 -# define EPxSTATUS_EP_STALL 103,3015 -# define EPxSTATUS_EP_INVALID 104,3050 -#define EPxSTATUS_FIFO_DISABLE 105,3087 -#define EPxSTATUS_STAGE_ERROR 106,3123 -#define PACKET_ACTIVE 110,3201 -#define DATASIZE 111,3231 -#define DATASET_A(DATASET_A136,3765 -#define DATASET_B(DATASET_B137,3807 -#define DATASET_AB(DATASET_AB138,3849 -#define USBSTATE_CONFIGURED 142,3927 -#define USBSTATE_ADDRESSED 143,3960 -#define USBSTATE_DEFAULT 144,3992 -#define COMMAND_SETDATA0 149,4061 -#define COMMAND_RESET 150,4088 -#define COMMAND_STALL 151,4113 -#define COMMAND_INVALID 152,4138 -#define COMMAND_FIFO_DISABLE 153,4165 -#define COMMAND_FIFO_ENABLE 154,4196 -#define COMMAND_INIT_DESCRIPTOR 155,4226 -#define COMMAND_FIFO_CLEAR 156,4260 -#define COMMAND_STALL_CLEAR 157,4307 -#define COMMAND_EP(COMMAND_EP158,4338 -#define ICONTROL_STATUSNAK 165,4457 -#define G_REQMODE_SET_INTF 169,4563 -#define G_REQMODE_GET_INTF 170,4597 -#define G_REQMODE_SET_CONF 171,4631 -#define G_REQMODE_GET_CONF 172,4665 -#define G_REQMODE_GET_DESC 173,4699 -#define G_REQMODE_SET_FEAT 174,4733 -#define G_REQMODE_CLEAR_FEAT 175,4767 -#define G_REQMODE_GET_STATUS 176,4803 -#define DESC_LEN 191,5127 -#define MAX_FIFO_SIZE 197,5243 -#define MAX_EP0_SIZE 198,5268 -struct goku_ep goku_ep205,5450 -struct goku_request goku_request224,5780 -enum ep0state ep0state231,5881 - EP0_DISCONNECT,232,5897 - EP0_IDLE,233,5929 - EP0_IN,234,5983 - EP0_IN, EP0_OUT,234,5983 - EP0_STATUS,235,6019 - EP0_STALL,236,6052 - EP0_SUSPEND,237,6093 -struct goku_udc goku_udc240,6130 -#define xprintk(xprintk265,6695 -#define DBG(DBG270,6830 -#define DBG(DBG273,6910 -#define VDBG 278,6994 -#define VDBG(VDBG280,7017 -#define ERROR(ERROR284,7089 -#define WARN(WARN286,7163 -#define INFO(INFO288,7240 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/lh7a40x_udc.h,3285 -#define __LH7A40X_H_25,949 -#define USB_FA 61,1682 -#define USB_PM 62,1741 -#define USB_IN_INT 64,1801 -#define USB_OUT_INT 65,1874 -#define USB_INT 66,1945 -#define USB_IN_INT_EN 68,2004 -#define USB_OUT_INT_EN 69,2076 -#define USB_INT_EN 70,2150 -#define USB_FRM_NUM1 72,2222 -#define USB_FRM_NUM2 73,2282 -#define USB_INDEX 74,2342 -#define USB_IN_MAXP 76,2393 -#define USB_IN_CSR1 77,2447 -#define USB_EP0_CSR 78,2518 -#define USB_IN_CSR2 79,2589 -#define USB_OUT_MAXP 80,2643 -#define USB_OUT_CSR1 82,2699 -#define USB_OUT_CSR2 83,2754 -#define USB_OUT_FIFO_WC1 84,2809 -#define USB_OUT_FIFO_WC2 85,2880 -#define USB_RESET 87,2952 -#define USB_EP0_FIFO 89,3007 -#define USB_EP1_FIFO 90,3041 -#define USB_EP2_FIFO 91,3075 -#define USB_EP3_FIFO 92,3109 -#define USB_RESET_APB 97,3173 -#define USB_RESET_IO 98,3240 -#define USB_FA_ADDR_UPDATE 103,3338 -#define USB_FA_FUNCTION_ADDR 104,3373 -#define PM_USB_DCP 109,3446 -#define PM_USB_ENABLE 110,3475 -#define PM_USB_RESET 111,3506 -#define PM_UC_RESUME 112,3536 -#define PM_SUSPEND_MODE 113,3566 -#define PM_ENABLE_SUSPEND 114,3599 -#define USB_IN_INT_EP3 119,3666 -#define USB_IN_INT_EP1 120,3699 -#define USB_IN_INT_EP0 121,3732 -#define USB_OUT_INT_EP2 126,3799 -#define USB_INT_RESET_INT 131,3867 -#define USB_INT_RESUME_INT 132,3902 -#define USB_INT_SUSPEND_INT 133,3938 -#define USB_INT_EN_USB_RESET_INTER 138,4016 -#define USB_INT_EN_RESUME_INTER 139,4059 -#define USB_INT_EN_SUSPEND_INTER 140,4100 -#define USB_IN_CSR1_CLR_DATA_TOGGLE 145,4168 -#define USB_IN_CSR1_SENT_STALL 146,4212 -#define USB_IN_CSR1_SEND_STALL 147,4252 -#define USB_IN_CSR1_FIFO_FLUSH 148,4292 -#define USB_IN_CSR1_FIFO_NOT_EMPTY 149,4332 -#define USB_IN_CSR1_IN_PKT_RDY 150,4375 -#define USB_IN_CSR2_AUTO_SET 155,4442 -#define USB_IN_CSR2_USB_DMA_EN 156,4480 -#define USB_OUT_CSR1_CLR_DATA_REG 161,4549 -#define USB_OUT_CSR1_SENT_STALL 162,4591 -#define USB_OUT_CSR1_SEND_STALL 163,4632 -#define USB_OUT_CSR1_FIFO_FLUSH 164,4673 -#define USB_OUT_CSR1_FIFO_FULL 165,4714 -#define USB_OUT_CSR1_OUT_PKT_RDY 166,4754 -#define USB_OUT_CSR2_AUTO_CLR 171,4824 -#define USB_OUT_CSR2_USB_DMA_EN 172,4863 -#define EP0_CLR_SETUP_END 177,4923 -#define EP0_CLR_OUT 178,4990 -#define EP0_SEND_STALL 179,5059 -#define EP0_SETUP_END 180,5123 -#define EP0_DATA_END 182,5176 -#define EP0_SENT_STALL 183,5226 -#define EP0_IN_PKT_RDY 184,5289 -#define EP0_OUT_PKT_RDY 185,5348 -#define OUT_PKT_RDY 188,5427 -#define IN_PKT_RDY 189,5455 -#define USB_OUT_MAXP_MAXP 194,5514 -#define USB_IN_MAXP_MAXP 195,5548 -#define EP0_PACKETSIZE 199,5638 -#define EP0_MAXPACKETSIZE 200,5667 -#define UDC_MAX_ENDPOINTS 202,5701 -#define WAIT_FOR_SETUP 204,5736 -#define DATA_STATE_XMIT 205,5770 -#define DATA_STATE_NEED_ZLP 206,5804 -#define WAIT_FOR_OUT_STATUS 207,5838 -#define DATA_STATE_RECV 208,5872 -typedef enum ep_type ep_type214,6018 - ep_control,215,6041 - ep_control, ep_bulk_in,215,6041 - ep_control, ep_bulk_in, ep_bulk_out,215,6041 - ep_control, ep_bulk_in, ep_bulk_out, ep_interrupt215,6041 -} ep_type_t;ep_type_t216,6092 -struct lh7a40x_ep lh7a40x_ep218,6106 -struct lh7a40x_request lh7a40x_request236,6379 -struct lh7a40x_udc lh7a40x_udc241,6458 -#define ep_is_in(ep_is_in257,6766 -#define ep_index(ep_index258,6839 -#define ep_maxpacket(ep_maxpacket259,6891 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/inode.c,3214 -#define DRIVER_DESC 73,2979 -#define DRIVER_VERSION 74,3023 -static const char driver_desc 76,3061 -static const char shortname 77,3109 -#define GADGETFS_MAGIC 86,3325 -#define DMA_ADDR_INVALID 87,3360 -enum ep0_state ep0_state90,3463 - STATE_DEV_DISABLED 93,3519 - STATE_OPENED,100,3796 - STATE_UNCONNECTED,107,4050 - STATE_CONNECTED,108,4070 - STATE_SETUP,109,4088 - STATE_DEV_UNBOUND,114,4234 -#define N_EVENT 118,4322 -struct dev_data dev_data120,4343 -static inline void get_dev 154,5190 -static void put_dev 159,5274 -static struct dev_data *dev_new 168,5470 -enum ep_state ep_state187,5949 - STATE_EP_DISABLED 188,5965 - STATE_EP_READY,189,5989 - STATE_EP_DEFER_ENABLE,190,6006 - STATE_EP_ENABLED,191,6030 - STATE_EP_UNBOUND,192,6049 -struct ep_data ep_data195,6072 -static inline void get_ep 212,6480 -static void put_ep 217,6562 -static const char *CHIP;237,7223 -#define xprintk(xprintk246,7520 -#define DBG(DBG250,7621 -#define DBG(DBG253,7701 -#define VDEBUG 258,7785 -#define VDEBUG(VDEBUG260,7810 -#define ERROR(ERROR264,7882 -#define WARN(WARN266,7956 -#define INFO(INFO268,8033 -static void epio_complete 281,8438 -get_ready_ep 298,8834 -ep_io 343,9892 -ep_read 389,11023 -ep_write 433,12161 -ep_release 477,13238 -static int ep_ioctl 491,13553 -struct kiocb_priv kiocb_priv526,14378 -static int ep_aio_cancel(534,14508 -static ssize_t ep_aio_read_retry(555,14985 -static void ep_aio_complete(572,15385 -ep_aio_rwtail(612,16448 -ep_aio_read(677,17766 -ep_aio_write(692,18169 -static struct file_operations ep_io_operations 712,18735 -ep_config 739,19518 -ep_open 845,21924 -static struct file_operations ep_config_operations 870,22572 -static inline void ep0_readable 888,23079 -static void clean_req 894,23207 -static void ep0_complete 907,23529 -static int setup_req 928,24076 -ep0_read 948,24525 -next_event 1099,28191 -ep0_write 1141,29269 -ep0_fasync 1194,30597 -static struct usb_gadget_driver gadgetfs_driver;1202,30853 -dev_release 1205,30914 -static int dev_ioctl 1228,31468 -static struct file_operations ep0_io_operations 1240,31788 -static void make_qualifier 1261,32323 -config_buf 1286,32956 -gadgetfs_setup 1315,33507 -static void destroy_ep_files 1530,39147 -static int activate_ep_files 1580,40307 -gadgetfs_unbind 1625,41256 -static struct dev_data *the_device;1646,41756 -gadgetfs_bind 1649,41805 -gadgetfs_disconnect 1687,42644 -gadgetfs_suspend 1705,43030 -static struct usb_gadget_driver gadgetfs_driver 1724,43458 -static void gadgetfs_nop(1747,43966 -static int gadgetfs_probe 1749,44020 -static struct usb_gadget_driver probe_driver 1755,44118 -static int is_valid_config 1796,45662 -dev_config 1808,46095 -dev_open 1905,48614 -static struct file_operations dev_init_operations 1920,48901 -static unsigned default_uid;1944,49504 -static unsigned default_gid;1945,49533 -static unsigned default_perm 1946,49562 -gadgetfs_make_inode 1954,49758 -gadgetfs_create_file 1978,50357 -static struct super_operations gadget_fs_operations 2004,50934 -gadgetfs_fill_super 2010,51068 -gadgetfs_get_sb 2067,52350 -gadgetfs_kill_sb 2074,52516 -static struct file_system_type gadgetfs_type 2085,52731 -static int __init init 2094,52964 -static void __exit cleanup 2106,53194 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/goku_udc.c,2096 -#define DRIVER_DESC 55,1512 -#define DRIVER_VERSION 56,1566 -#define DMA_ADDR_INVALID 58,1605 -static const char driver_name 60,1648 -static const char driver_desc 61,1695 -static unsigned use_dma 76,2167 -command(93,2560 -goku_ep_enable(100,2709 -static void ep_reset(194,5093 -static int goku_ep_disable(246,6341 -goku_alloc_request(272,6907 -goku_free_request(289,7206 -#define USE_KMALLOC314,7996 -#define USE_KMALLOC317,8079 -#define USE_KMALLOC320,8165 -goku_alloc_buffer(329,8421 -goku_free_buffer(359,9140 -done(378,9593 -write_packet(416,10547 -static int write_fifo(430,10880 -static int read_fifo(489,12278 -pio_irq_enable(584,14779 -pio_irq_disable(592,15001 -pio_advance(600,15225 -static int start_dma(614,15590 -static void dma_advance(669,17121 -static void abort_dma(717,18371 -goku_queue(790,20495 -static void nuke(872,22665 -static int goku_dequeue(888,23001 -static void goku_clear_halt(938,24235 -static int goku_set_halt(959,24730 -static int goku_fifo_status(1001,25714 -static void goku_fifo_flush(1023,26243 -static struct usb_ep_ops goku_ep_ops 1052,26962 -static int goku_get_frame(1072,27434 -static const struct usb_gadget_ops goku_ops 1077,27514 -static inline char *dmastr(1085,27716 -# define UDC_PROC_FILE1098,28008 -static const char proc_node_name 1103,28062 -#define FOURBITS 1105,28115 -#define EIGHTBITS 1106,28143 -dump_intmask(1109,28192 -udc_proc_read(1147,29263 -static void udc_reinit 1319,33677 -static void udc_reset(1353,34483 -static void ep0_start(1370,34871 -static void udc_enable(1405,35833 -static struct goku_udc *the_controller;1424,36321 -int usb_gadget_register_driver(1432,36646 -stop_activity(1473,37588 -int usb_gadget_unregister_driver(1496,38060 -static void ep0_setup(1521,38643 -#define ACK(ACK1624,41505 -static irqreturn_t goku_irq(1630,41612 -static void gadget_release(1796,45547 -static void goku_remove(1805,45729 -static int goku_probe(1845,46713 -static struct pci_device_id pci_ids 1955,49298 -static struct pci_driver goku_pci_driver 1967,49603 -static int __init init 1977,49796 -static void __exit cleanup 1983,49895 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/ether.c,6249 -#define DRIVER_DESC 86,2862 -#define DRIVER_VERSION 87,2901 -static const char shortname 89,2950 -static const char driver_desc 90,2992 -#define RX_EXTRA 92,3041 -#define rndis_init(rndis_init97,3149 -#define rndis_exit(rndis_exit98,3172 -struct eth_dev eth_dev103,3293 -#define WORK_RX_MEMORY 125,3796 -static const char *EP_IN_NAME;135,4062 -static const char *EP_OUT_NAME;136,4093 -static const char *EP_STATUS_NAME;137,4125 -#define CDC_VENDOR_NUM 148,4508 -#define CDC_PRODUCT_NUM 149,4553 -#define SIMPLE_VENDOR_NUM 162,5210 -#define SIMPLE_PRODUCT_NUM 163,5243 -#define RNDIS_VENDOR_NUM 170,5524 -#define RNDIS_PRODUCT_NUM 171,5570 -static ushort __initdata idVendor;179,5848 -static ushort __initdata idProduct;183,5970 -static ushort __initdata bcdDevice;187,6096 -static char *__initdata iManufacturer;191,6232 -static char *__initdata iProduct;195,6377 -static char *__initdata dev_addr;200,6577 -static char *__initdata host_addr;205,6751 -#define DEV_CONFIG_CDC215,7063 -#define DEV_CONFIG_CDC219,7129 -#define DEV_CONFIG_CDC223,7190 -#define DEV_CONFIG_CDC227,7253 -#define DEV_CONFIG_CDC231,7314 -#define DEV_CONFIG_SUBSET239,7507 -#define DEV_CONFIG_SUBSET243,7569 -#define DEV_CONFIG_CDC247,7636 -#define DEV_CONFIG_SUBSET252,7745 -#define DEFAULT_QLEN 258,7859 -static unsigned qmult 262,7953 -#define qlen(qlen267,8089 -#define TX_DELAY 271,8215 -#define BITRATE(BITRATE273,8239 -#define qlen(qlen276,8360 -#define BITRATE(BITRATE278,8395 -#define xprintk(xprintk284,8510 -#define DEBUG(DEBUG289,8629 -#define DEBUG(DEBUG292,8711 -#define VDEBUG 297,8797 -#define VDEBUG(VDEBUG299,8824 -#define ERROR(ERROR303,8896 -#define WARN(WARN305,8970 -#define INFO(INFO307,9047 -#define STRING_MANUFACTURER 328,9886 -#define STRING_PRODUCT 329,9917 -#define STRING_ETHADDR 330,9944 -#define STRING_DATA 331,9971 -#define STRING_CONTROL 332,9995 -#define STRING_RNDIS_CONTROL 333,10022 -#define STRING_CDC 334,10054 -#define STRING_SUBSET 335,10077 -#define STRING_RNDIS 336,10103 -#define USB_BUFSIZ 338,10129 -#define DEV_CONFIG_VALUE 351,10546 -#define DEV_RNDIS_CONFIG_VALUE 352,10593 -device_desc 355,10685 -otg_descriptor 373,11141 -eth_config 381,11300 -rndis_config 395,11669 -control_intf 420,12474 -rndis_control_intf 436,12904 -struct header_desc header_desc452,13413 -static const struct header_desc header_desc 460,13535 -struct union_desc union_desc469,13791 -static const struct union_desc union_desc 479,13997 -struct call_mgmt_descriptor call_mgmt_descriptor493,14373 -static const struct call_mgmt_descriptor call_mgmt_descriptor 502,14536 -struct acm_descriptor acm_descriptor513,14846 -static struct acm_descriptor acm_descriptor 521,14982 -struct ether_desc ether_desc534,15275 -static const struct ether_desc ether_desc 546,15497 -#define LOG2_STATUS_INTERVAL_MSEC 578,16709 -#define STATUS_BYTECOUNT 579,16769 -fs_status_desc 582,16863 -data_nop_intf 598,17272 -data_intf 613,17639 -rndis_data_intf 633,18067 -subset_data_intf 656,18592 -fs_source_desc 673,18948 -fs_sink_desc 682,19157 -static const struct usb_descriptor_header *fs_eth_function 690,19327 -static inline void __init fs_subset_descriptors(709,20066 -static const struct usb_descriptor_header *fs_rndis_function 722,20463 -hs_status_desc 748,21412 -hs_source_desc 759,21723 -hs_sink_desc 768,21948 -dev_qualifier 777,22172 -static const struct usb_descriptor_header *hs_eth_function 787,22381 -static inline void __init hs_subset_descriptors(806,23120 -static const struct usb_descriptor_header *hs_rndis_function 819,23517 -#define ep_desc(ep_desc838,24273 -#define ep_desc(ep_desc843,24413 -static inline void __init hs_subset_descriptors(845,24442 -static char manufacturer 855,24667 -static char product_desc 856,24701 -static char ethaddr 860,24840 -static struct usb_string strings 864,24922 -static struct usb_gadget_strings stringtab 883,25454 -config_buf 893,25680 -#define which_fn(which_fn905,26006 -#define which_fn(which_fn907,26085 -static inline int ether_alt_ep_setup 944,27015 -static inline int ether_ep_setup 990,28380 -set_ether_config 1029,29269 -static void eth_reset_config 1119,31390 -eth_set_config 1166,32493 -#define CDC_NOTIFY_NETWORK_CONNECTION 1235,34110 -#define CDC_NOTIFY_RESPONSE_AVAILABLE 1236,34175 -#define CDC_NOTIFY_SPEED_CHANGE 1237,34240 -struct cdc_notification cdc_notification1241,34324 -static void eth_status_complete 1252,34493 -static void issue_start_status 1287,35594 -static void eth_setup_complete 1345,37210 -#define CDC_SEND_ENCAPSULATED_COMMAND 1358,37696 -#define CDC_GET_ENCAPSULATED_RESPONSE 1359,37755 -#define CDC_SET_ETHERNET_MULTICAST_FILTERS 1360,37814 -#define CDC_SET_ETHERNET_PM_PATTERN_FILTER 1361,37877 -#define CDC_GET_ETHERNET_PM_PATTERN_FILTER 1362,37940 -#define CDC_SET_ETHERNET_PACKET_FILTER 1363,38003 -#define CDC_GET_ETHERNET_STATISTIC 1364,38063 -#define CDC_PACKET_TYPE_PROMISCUOUS 1367,38155 -#define CDC_PACKET_TYPE_ALL_MULTICAST 1368,38201 -#define CDC_PACKET_TYPE_DIRECTED 1369,38265 -#define CDC_PACKET_TYPE_BROADCAST 1370,38308 -#define CDC_PACKET_TYPE_MULTICAST 1371,38352 -static void rndis_response_complete 1375,38441 -static void rndis_command_complete 1384,38738 -eth_setup 1409,39550 -eth_disconnect 1649,46049 -static int eth_change_mtu 1671,46670 -static struct net_device_stats *eth_get_stats 1686,47101 -static int eth_ethtool_ioctl 1691,47225 -static int eth_ioctl 1730,48293 -static void defer_kevent 1740,48488 -rx_submit 1753,48828 -static void rx_complete 1802,50314 -static int prealloc 1874,51966 -static int alloc_requests 1914,52666 -static void rx_fill 1930,53018 -static void eth_work 1955,53632 -static void tx_complete 1970,53936 -static int eth_start_xmit 1998,54574 -static void rndis_send_media_state 2087,56900 -static void rndis_control_ack_complete 2101,57148 -static int rndis_control_ack 2111,57474 -static void eth_start 2158,58646 -static int eth_open 2178,59087 -static int eth_stop 2188,59304 -eth_unbind 2230,60398 -static u8 __init nibble 2257,61011 -static void __init get_ether_addr 2267,61183 -eth_bind 2288,61566 -eth_suspend 2611,70940 -eth_resume 2620,71096 -static struct usb_gadget_driver eth_driver 2630,71317 -static int __init init 2659,71875 -static void __exit cleanup 2665,71980 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/omap_udc.c,3114 -#define USE_DMA63,1747 -#define USE_ISO66,1778 -#define DRIVER_DESC 69,1796 -#define DRIVER_VERSION 70,1834 -#define DMA_ADDR_INVALID 72,1875 -static unsigned fifo_mode 96,3027 -static unsigned fifo_mode 98,3064 -static unsigned use_dma 109,3321 -#define use_dma 119,3578 -static const char driver_name 123,3621 -static const char driver_desc 124,3668 -static void use_ep(132,3906 -static inline void deselect_ep(142,4139 -static int omap_ep_enable(152,4407 -static int omap_ep_disable(247,7017 -omap_alloc_request(275,7669 -omap_free_request(289,7936 -omap_alloc_buffer(300,8190 -static void omap_free_buffer(329,8781 -done(348,9166 -#define FIFO_FULL 393,10325 -#define FIFO_UNWRITABLE 394,10387 -#define FIFO_EMPTY 396,10440 -#define FIFO_UNREADABLE 397,10505 -write_packet(400,10578 -static int write_fifo(426,11078 -read_packet(465,11933 -static int read_fifo(488,12400 -static void next_in_dma(554,13904 -static void finish_in_dma(583,14816 -static void next_out_dma(610,15514 -finish_out_dma(637,16417 -static void dma_irq(662,17078 -static void dma_error(713,18301 -static void dma_channel_claim(724,18592 -static void dma_channel_release(811,20779 -omap_ep_queue(867,22152 -static int omap_ep_dequeue(1013,25853 -static int omap_ep_set_halt(1050,26807 -static struct usb_ep_ops omap_ep_ops 1119,28448 -static int omap_get_frame(1139,28934 -static int omap_wakeup(1145,29072 -omap_set_selfpowered(1175,29802 -static int can_pullup(1194,30223 -static void pullup_enable(1199,30333 -static void pullup_disable(1208,30515 -static int omap_vbus_session(1221,30810 -static int omap_vbus_draw(1238,31237 -static int omap_pullup(1248,31476 -static struct usb_gadget_ops omap_gadget_ops 1264,31843 -static void nuke(1276,32219 -static void udc_quiesce(1297,32678 -static void update_otg(1309,32986 -static void ep0_irq(1333,33589 -#define OTG_FLAGS 1615,41435 -static void devstate_irq(1617,41513 -omap_udc_irq(1705,43704 -omap_udc_pio_irq(1745,44665 -omap_udc_iso_irq(1807,46132 -static struct omap_udc *udc;1869,47500 -int usb_gadget_register_driver 1871,47530 -int usb_gadget_unregister_driver 1945,49185 -static const char proc_filename[1981,49934 -#define FOURBITS 1983,49985 -#define EIGHTBITS 1984,50013 -static void proc_ep_show(1986,50050 -static char *trx_mode(2028,51402 -static int proc_udc_show(2039,51573 -static int proc_udc_open(2226,57442 -static struct file_operations proc_ops 2231,57557 -static void create_proc_file(2238,57700 -static void remove_proc_file(2247,57861 -static inline void create_proc_file(2254,57946 -static inline void remove_proc_file(2255,57991 -omap_ep_setup(2266,58349 -static void omap_udc_release(2348,60330 -omap_udc_setup(2356,60448 -#define OMAP_BULK_EP(OMAP_BULK_EP2405,61771 -#define OMAP_INT_EP(OMAP_INT_EP2408,61888 -#define OMAP_ISO_EP(OMAP_ISO_EP2411,62010 -static int __init omap_udc_probe(2482,64165 -static int __exit omap_udc_remove(2598,66887 -static int omap_udc_suspend(2634,67627 -static int omap_udc_resume(2646,67898 -static struct device_driver udc_driver 2663,68327 -static int __init udc_init(2672,68560 -static void __exit udc_exit(2687,68948 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/lh7a40x_udc.c,3501 -# define DEBUG_EP0(DEBUG_EP031,1052 -# define DEBUG_SETUP(DEBUG_SETUP34,1111 -# define NO_STATES37,1166 -# define DEBUG(DEBUG38,1185 -#define DRIVER_DESC 41,1221 -#define DRIVER_VERSION 42,1275 -#define _BIT(_BIT45,1375 -struct lh7a40x_udc *the_controller;48,1408 -static const char driver_name[50,1445 -static const char driver_desc[51,1494 -static const char ep0name[52,1541 -#define UDC_PROC_FILE57,1615 -static char *state_names[60,1656 -static struct usb_ep_ops lh7a40x_ep_ops 100,3242 -static __inline__ int write_packet(120,3688 -static __inline__ void usb_set_index(144,4167 -static __inline__ u32 usb_read(149,4259 -static __inline__ void usb_write(154,4344 -static __inline__ void usb_set(159,4439 -static __inline__ void usb_clear(166,4596 -#define GPIO_PORTC_DR 175,4835 -#define GPIO_PORTC_DDR 176,4871 -#define GPIO_PORTC_PDR 177,4908 -#define get_portc_pdr(get_portc_pdr180,4981 -#define get_portc_ddr(get_portc_ddr182,5097 -#define set_portc_dr(set_portc_dr184,5203 -#define set_portc_ddr(set_portc_ddr186,5356 -#define is_usb_connected(is_usb_connected193,5589 -static const char proc_node_name[197,5658 -udc_proc_read(200,5721 -#define create_proc_files(create_proc_files248,6770 -#define remove_proc_files(remove_proc_files249,6867 -#define create_proc_files(create_proc_files253,6968 -#define remove_proc_files(remove_proc_files254,7012 -static void udc_disable(261,7143 -static void udc_reinit(291,7735 -#define BYTES2MAXP(BYTES2MAXP318,8325 -#define MAXP2BYTES(MAXP2BYTES319,8355 -static void udc_enable(324,8473 -int usb_gadget_register_driver(417,10659 -int usb_gadget_unregister_driver(467,11872 -static int write_fifo(499,12676 -static int read_fifo(553,14058 -static void done(617,15698 -static void pio_irq_enable(650,16537 -static void pio_irq_disable(671,16902 -void nuke(694,17285 -static void flush(740,18115 -static void lh7a40x_in_epn(765,18599 -static void lh7a40x_out_epn(805,19420 -static void stop_activity(857,20508 -static void lh7a40x_reset_intr(889,21243 -static irqreturn_t lh7a40x_udc_irq(924,21952 -static int lh7a40x_ep_enable(1017,24101 -static int lh7a40x_ep_disable(1076,25780 -static struct usb_request *lh7a40x_alloc_request(1109,26447 -static void lh7a40x_free_request(1126,26756 -static void *lh7a40x_alloc_buffer(1137,27014 -static void lh7a40x_free_buffer(1150,27336 -static int lh7a40x_queue(1161,27579 -static int lh7a40x_dequeue(1241,29571 -static int lh7a40x_set_halt(1275,30327 -static int lh7a40x_fifo_status(1346,32066 -static void lh7a40x_fifo_flush(1378,32703 -static int write_fifo_ep0(1397,33259 -static __inline__ int lh7a40x_fifo_read(1432,33968 -static __inline__ void lh7a40x_fifo_write(1447,34276 -static int read_fifo_ep0(1456,34521 -static void udc_set_address(1519,36083 -static void lh7a40x_ep0_out(1537,36678 -static int lh7a40x_ep0_in(1579,37583 -static int lh7a40x_handle_get_status(1632,38778 -static void lh7a40x_ep0_setup(1717,41024 -static void lh7a40x_ep0_in_zlp(1824,43750 -static void lh7a40x_handle_ep0(1836,44008 -static void lh7a40x_ep0_kick(1946,46657 -static int lh7a40x_udc_get_frame(1972,47303 -static int lh7a40x_udc_wakeup(1980,47599 -static const struct usb_gadget_ops lh7a40x_udc_ops 1989,47828 -static void nop_release(1995,48007 -static struct lh7a40x_udc memory 2000,48102 -static int lh7a40x_udc_probe(2087,49741 -static int lh7a40x_udc_remove(2121,50420 -static struct device_driver udc_driver 2142,50819 -static int __init udc_init(2152,51102 -static void __exit udc_exit(2158,51252 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/ndis.h,6775 -#define _LINUX_NDIS_H22,649 -#define NDIS_STATUS_MULTICAST_FULL 25,673 -#define NDIS_STATUS_MULTICAST_EXISTS 26,721 -#define NDIS_STATUS_MULTICAST_NOT_FOUND 27,774 -enum NDIS_DEVICE_POWER_STATE NDIS_DEVICE_POWER_STATE29,828 - NdisDeviceStateUnspecified 30,859 - NdisDeviceStateD0,31,892 - NdisDeviceStateD1,32,912 - NdisDeviceStateD2,33,932 - NdisDeviceStateD3,34,952 - NdisDeviceStateMaximum35,972 -struct NDIS_PM_WAKE_UP_CAPABILITIES NDIS_PM_WAKE_UP_CAPABILITIES38,1000 -#define NDIS_DEVICE_WAKE_UP_ENABLE 45,1240 -#define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 46,1301 -#define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 47,1362 -struct NDIS_PNP_CAPABILITIES NDIS_PNP_CAPABILITIES49,1424 -struct NDIS_PM_PACKET_PATTERN NDIS_PM_PACKET_PATTERN54,1532 -#define OID_GEN_SUPPORTED_LIST 65,1704 -#define OID_GEN_HARDWARE_STATUS 66,1757 -#define OID_GEN_MEDIA_SUPPORTED 67,1810 -#define OID_GEN_MEDIA_IN_USE 68,1863 -#define OID_GEN_MAXIMUM_LOOKAHEAD 69,1916 -#define OID_GEN_MAXIMUM_FRAME_SIZE 70,1969 -#define OID_GEN_LINK_SPEED 71,2022 -#define OID_GEN_TRANSMIT_BUFFER_SPACE 72,2075 -#define OID_GEN_RECEIVE_BUFFER_SPACE 73,2128 -#define OID_GEN_TRANSMIT_BLOCK_SIZE 74,2181 -#define OID_GEN_RECEIVE_BLOCK_SIZE 75,2234 -#define OID_GEN_VENDOR_ID 76,2287 -#define OID_GEN_VENDOR_DESCRIPTION 77,2340 -#define OID_GEN_CURRENT_PACKET_FILTER 78,2393 -#define OID_GEN_CURRENT_LOOKAHEAD 79,2446 -#define OID_GEN_DRIVER_VERSION 80,2499 -#define OID_GEN_MAXIMUM_TOTAL_SIZE 81,2552 -#define OID_GEN_PROTOCOL_OPTIONS 82,2605 -#define OID_GEN_MAC_OPTIONS 83,2658 -#define OID_GEN_MEDIA_CONNECT_STATUS 84,2711 -#define OID_GEN_MAXIMUM_SEND_PACKETS 85,2764 -#define OID_GEN_VENDOR_DRIVER_VERSION 86,2817 -#define OID_GEN_SUPPORTED_GUIDS 87,2870 -#define OID_GEN_NETWORK_LAYER_ADDRESSES 88,2923 -#define OID_GEN_TRANSPORT_HEADER_OFFSET 89,2976 -#define OID_GEN_MACHINE_NAME 90,3029 -#define OID_GEN_RNDIS_CONFIG_PARAMETER 91,3082 -#define OID_GEN_VLAN_ID 92,3135 -#define OID_GEN_MEDIA_CAPABILITIES 95,3209 -#define OID_GEN_PHYSICAL_MEDIUM 96,3262 -#define OID_GEN_XMIT_OK 99,3347 -#define OID_GEN_RCV_OK 100,3400 -#define OID_GEN_XMIT_ERROR 101,3453 -#define OID_GEN_RCV_ERROR 102,3506 -#define OID_GEN_RCV_NO_BUFFER 103,3559 -#define OID_GEN_DIRECTED_BYTES_XMIT 106,3644 -#define OID_GEN_DIRECTED_FRAMES_XMIT 107,3697 -#define OID_GEN_MULTICAST_BYTES_XMIT 108,3750 -#define OID_GEN_MULTICAST_FRAMES_XMIT 109,3803 -#define OID_GEN_BROADCAST_BYTES_XMIT 110,3856 -#define OID_GEN_BROADCAST_FRAMES_XMIT 111,3909 -#define OID_GEN_DIRECTED_BYTES_RCV 112,3962 -#define OID_GEN_DIRECTED_FRAMES_RCV 113,4015 -#define OID_GEN_MULTICAST_BYTES_RCV 114,4068 -#define OID_GEN_MULTICAST_FRAMES_RCV 115,4121 -#define OID_GEN_BROADCAST_BYTES_RCV 116,4174 -#define OID_GEN_BROADCAST_FRAMES_RCV 117,4227 -#define OID_GEN_RCV_CRC_ERROR 118,4280 -#define OID_GEN_TRANSMIT_QUEUE_LENGTH 119,4333 -#define OID_GEN_GET_TIME_CAPS 120,4386 -#define OID_GEN_GET_NETCARD_TIME 121,4439 -#define OID_GEN_NETCARD_LOAD 122,4492 -#define OID_GEN_DEVICE_PROFILE 123,4545 -#define OID_GEN_INIT_TIME_MS 124,4598 -#define OID_GEN_RESET_COUNTS 125,4651 -#define OID_GEN_MEDIA_SENSE_COUNTS 126,4704 -#define OID_GEN_FRIENDLY_NAME 127,4757 -#define OID_GEN_MINIPORT_INFO 128,4810 -#define OID_GEN_RESET_VERIFY_PARAMETERS 129,4863 -#define NDIS_802_3_MAC_OPTION_PRIORITY 132,4950 -#define OID_802_3_PERMANENT_ADDRESS 134,5004 -#define OID_802_3_CURRENT_ADDRESS 135,5057 -#define OID_802_3_MULTICAST_LIST 136,5110 -#define OID_802_3_MAXIMUM_LIST_SIZE 137,5163 -#define OID_802_3_MAC_OPTIONS 138,5216 -#define OID_802_3_RCV_ERROR_ALIGNMENT 139,5269 -#define OID_802_3_XMIT_ONE_COLLISION 140,5322 -#define OID_802_3_XMIT_MORE_COLLISIONS 141,5375 -#define OID_802_3_XMIT_DEFERRED 142,5428 -#define OID_802_3_XMIT_MAX_COLLISIONS 143,5481 -#define OID_802_3_RCV_OVERRUN 144,5534 -#define OID_802_3_XMIT_UNDERRUN 145,5587 -#define OID_802_3_XMIT_HEARTBEAT_FAILURE 146,5640 -#define OID_802_3_XMIT_TIMES_CRS_LOST 147,5693 -#define OID_802_3_XMIT_LATE_COLLISIONS 148,5746 -#define NDIS_MINIPORT_BUS_MASTER 151,5838 -#define NDIS_MINIPORT_WDM_DRIVER 152,5903 -#define NDIS_MINIPORT_SG_LIST 153,5968 -#define NDIS_MINIPORT_SUPPORTS_MEDIA_QUERY 154,6033 -#define NDIS_MINIPORT_INDICATES_PACKETS 155,6098 -#define NDIS_MINIPORT_IGNORE_PACKET_QUEUE 156,6163 -#define NDIS_MINIPORT_IGNORE_REQUEST_QUEUE 157,6228 -#define NDIS_MINIPORT_IGNORE_TOKEN_RING_ERRORS 158,6293 -#define NDIS_MINIPORT_INTERMEDIATE_DRIVER 159,6358 -#define NDIS_MINIPORT_IS_NDIS_5 160,6423 -#define NDIS_MINIPORT_IS_CO 161,6488 -#define NDIS_MINIPORT_DESERIALIZE 162,6553 -#define NDIS_MINIPORT_REQUIRES_MEDIA_POLLING 163,6618 -#define NDIS_MINIPORT_SUPPORTS_MEDIA_SENSE 164,6683 -#define NDIS_MINIPORT_NETBOOT_CARD 165,6748 -#define NDIS_MINIPORT_PM_SUPPORTED 166,6813 -#define NDIS_MINIPORT_SUPPORTS_MAC_ADDRESS_OVERWRITE 167,6878 -#define NDIS_MINIPORT_USES_SAFE_BUFFER_APIS 168,6943 -#define NDIS_MINIPORT_HIDDEN 169,7008 -#define NDIS_MINIPORT_SWENUM 170,7073 -#define NDIS_MINIPORT_SURPRISE_REMOVE_OK 171,7138 -#define NDIS_MINIPORT_NO_HALT_ON_SUSPEND 172,7203 -#define NDIS_MINIPORT_HARDWARE_DEVICE 173,7268 -#define NDIS_MINIPORT_SUPPORTS_CANCEL_SEND_PACKETS 174,7333 -#define NDIS_MINIPORT_64BITS_DMA 175,7398 -#define NDIS_MEDIUM_802_3 177,7464 -#define NDIS_MEDIUM_802_5 178,7502 -#define NDIS_MEDIUM_FDDI 179,7540 -#define NDIS_MEDIUM_WAN 180,7577 -#define NDIS_MEDIUM_LOCAL_TALK 181,7614 -#define NDIS_MEDIUM_DIX 182,7657 -#define NDIS_MEDIUM_ARCENT_RAW 183,7694 -#define NDIS_MEDIUM_ARCENT_878_2 184,7737 -#define NDIS_MEDIUM_ATM 185,7781 -#define NDIS_MEDIUM_WIRELESS_LAN 186,7818 -#define NDIS_MEDIUM_IRDA 187,7862 -#define NDIS_MEDIUM_BPC 188,7899 -#define NDIS_MEDIUM_CO_WAN 189,7936 -#define NDIS_MEDIUM_1394 190,7975 -#define NDIS_PACKET_TYPE_DIRECTED 192,8013 -#define NDIS_PACKET_TYPE_MULTICAST 193,8058 -#define NDIS_PACKET_TYPE_ALL_MULTICAST 194,8104 -#define NDIS_PACKET_TYPE_BROADCAST 195,8154 -#define NDIS_PACKET_TYPE_SOURCE_ROUTING 196,8200 -#define NDIS_PACKET_TYPE_PROMISCUOUS 197,8251 -#define NDIS_PACKET_TYPE_SMT 198,8299 -#define NDIS_PACKET_TYPE_ALL_LOCAL 199,8340 -#define NDIS_PACKET_TYPE_GROUP 200,8386 -#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 201,8429 -#define NDIS_PACKET_TYPE_FUNCTIONAL 202,8480 -#define NDIS_PACKET_TYPE_MAC_FRAME 203,8527 -#define NDIS_MEDIA_STATE_CONNECTED 205,8574 -#define NDIS_MEDIA_STATE_DISCONNECTED 206,8620 -#define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 208,8670 -#define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 209,8729 -#define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 210,8788 -#define NDIS_MAC_OPTION_NO_LOOPBACK 211,8847 -#define NDIS_MAC_OPTION_FULL_DUPLEX 212,8906 -#define NDIS_MAC_OPTION_EOTX_INDICATION 213,8965 -#define NDIS_MAC_OPTION_8021P_PRIORITY 214,9024 -#define NDIS_MAC_OPTION_RESERVED 215,9083 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/dummy_hcd.c,2601 -#define DEBUG37,1405 -#define DRIVER_DESC 67,1983 -#define DRIVER_VERSION 68,2030 -static const char driver_name 70,2068 -static const char driver_desc 71,2116 -static const char gadget_name 73,2180 -struct dummy_ep dummy_ep82,2441 -struct dummy_request dummy_request93,2717 -static const char ep0name 114,3458 -static const char *const ep_name 116,3497 -#define DUMMY_ENDPOINTS 131,4050 -#define FIFO_SIZE 133,4108 -struct dummy dummy135,4131 -static struct dummy *the_controller;164,4681 -static inline struct dummy *ep_to_dummy 166,4719 -static inline struct dummy *gadget_dev_to_dummy 171,4843 -#define hardware 180,5122 -static struct device_driver dummy_driver 184,5247 -#define is_enabled(is_enabled198,5677 -dummy_enable 202,5766 -static void nuke 315,8662 -static int dummy_disable 330,9020 -dummy_alloc_request 353,9517 -dummy_free_request 371,9858 -dummy_alloc_buffer 386,10218 -dummy_free_buffer 402,10470 -fifo_complete 413,10602 -dummy_queue 421,10747 -static int dummy_dequeue 477,12253 -dummy_set_halt 514,13096 -static const struct usb_ep_ops dummy_ep_ops 534,13523 -static int dummy_g_get_frame 554,14070 -static int dummy_wakeup 562,14205 -static int dummy_set_selfpowered 577,14621 -static const struct usb_gadget_ops dummy_ops 589,14907 -show_function 599,15189 -dummy_udc_release 626,16149 -dummy_hc_release 634,16282 -dummy_register_udc 642,16409 -dummy_unregister_udc 657,16735 -usb_gadget_register_driver 666,16958 -stop_activity 736,18787 -usb_gadget_unregister_driver 758,19317 -int net2280_set_fifo_mode 790,20044 -static int dummy_urb_enqueue 810,20654 -static int dummy_urb_dequeue 842,21456 -static void maybe_set_status 848,21596 -transfer 858,21840 -static int periodic_bytes 980,25049 -#define is_active(is_active997,25410 -static struct dummy_ep *find_endpoint 1002,25597 -#define Dev_Request 1023,25982 -#define Dev_InRequest 1024,26041 -#define Intf_Request 1025,26090 -#define Intf_InRequest 1026,26153 -#define Ep_Request 1027,26204 -#define Ep_InRequest 1028,26264 -static void dummy_timer 1033,26435 -#define PORT_C_MASK 1352,34209 -static int dummy_hub_status 1359,34416 -hub_descriptor 1381,34886 -static int dummy_hub_control 1392,35164 -static struct usb_hcd *dummy_alloc 1527,38599 -static void dummy_free 1538,38791 -show_urb 1550,39053 -show_urbs 1576,39782 -static const struct hc_driver dummy_hcd;1602,40324 -static int dummy_start 1604,40366 -static void dummy_stop 1706,42955 -static int dummy_h_get_frame 1739,43753 -static const struct hc_driver dummy_hcd 1744,43840 -static int __init init 1765,44326 -static void __exit cleanup 1786,44677 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/usbstring.c,67 -static int utf8_to_utf16le(23,548 -usb_gadget_get_string 105,2756 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/zero.c,2687 -#define DEBUG 62,2852 -#define DRIVER_VERSION 97,3614 -static const char shortname 99,3663 -static const char longname 100,3704 -static const char source_sink 102,3752 -static const char loopback 103,3811 -static const char *EP_IN_NAME;114,4157 -static const char *EP_OUT_NAME;115,4202 -#define USB_BUFSIZ 120,4374 -struct zero_dev zero_dev122,4398 -#define xprintk(xprintk138,4789 -#define DBG(DBG142,4897 -#define DBG(DBG145,4977 -#define VDBG 150,5061 -#define VDBG(VDBG152,5084 -#define ERROR(ERROR156,5156 -#define WARN(WARN158,5230 -#define INFO(INFO160,5307 -static unsigned buflen 165,5461 -static unsigned qlen 166,5492 -static unsigned pattern 167,5519 -static unsigned autoresume 177,5807 -static int loopdefault 186,6137 -#define DRIVER_VENDOR_NUM 198,6536 -#define DRIVER_PRODUCT_NUM 199,6584 -#define DRIVER_VENDOR_NUM 201,6655 -#define DRIVER_PRODUCT_NUM 202,6715 -#define STRING_MANUFACTURER 212,6953 -#define STRING_PRODUCT 213,6985 -#define STRING_SERIAL 214,7013 -#define STRING_SOURCE_SINK 215,7041 -#define STRING_LOOPBACK 216,7073 -#define CONFIG_SOURCE_SINK 222,7226 -#define CONFIG_LOOPBACK 223,7255 -device_desc 226,7319 -source_sink_config 242,7777 -loopback_config 255,8162 -otg_descriptor 268,8532 -source_sink_intf 278,8743 -loopback_intf 288,8990 -fs_source_desc 300,9289 -fs_sink_desc 309,9498 -static const struct usb_descriptor_header *fs_source_sink_function 317,9668 -static const struct usb_descriptor_header *fs_loopback_function 325,9957 -hs_source_desc 345,10597 -hs_sink_desc 354,10822 -dev_qualifier 363,11046 -static const struct usb_descriptor_header *hs_source_sink_function 373,11262 -static const struct usb_descriptor_header *hs_loopback_function 381,11551 -#define ep_desc(ep_desc390,11900 -#define ep_desc(ep_desc395,12040 -static char manufacturer 399,12112 -static char serial 400,12146 -static struct usb_string strings 403,12206 -static struct usb_gadget_strings stringtab 412,12451 -config_buf 436,13324 -alloc_ep_req 481,14442 -static void free_ep_req 498,14768 -check_read_data 510,15101 -reinit_write_data 544,15809 -static void source_sink_complete 568,16281 -source_sink_start_ep 616,17524 -set_source_sink_config 644,18078 -static void loopback_complete 698,19459 -set_loopback_config 748,20784 -static void zero_reset_config 816,22491 -zero_set_config 849,23418 -static void zero_setup_complete 902,24636 -zero_setup 918,25223 -zero_disconnect 1085,29929 -zero_autoresume 1105,30487 -zero_unbind 1122,30928 -zero_bind 1137,31254 -zero_suspend 1278,35636 -zero_resume 1293,35968 -static struct usb_gadget_driver zero_driver 1304,36196 -static int __init init 1332,36715 -static void __exit cleanup 1343,37013 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/rndis.h,3297 -#define _LINUX_RNDIS_H18,544 -#define RNDIS_MAXIMUM_FRAME_SIZE 22,587 -#define RNDIS_MAX_TOTAL_SIZE 23,625 -#define RNDIS_MAJOR_VERSION 26,688 -#define RNDIS_MINOR_VERSION 27,719 -#define RNDIS_STATUS_SUCCESS 30,771 -#define RNDIS_STATUS_FAILURE 31,837 -#define RNDIS_STATUS_INVALID_DATA 32,903 -#define RNDIS_STATUS_NOT_SUPPORTED 33,973 -#define RNDIS_STATUS_MEDIA_CONNECT 34,1046 -#define RNDIS_STATUS_MEDIA_DISCONNECT 35,1117 -#define REMOTE_NDIS_INITIALIZE_MSG 41,1333 -#define REMOTE_NDIS_HALT_MSG 42,1404 -#define REMOTE_NDIS_QUERY_MSG 43,1446 -#define REMOTE_NDIS_SET_MSG 44,1489 -#define REMOTE_NDIS_RESET_MSG 45,1530 -#define REMOTE_NDIS_INDICATE_STATUS_MSG 46,1573 -#define REMOTE_NDIS_KEEPALIVE_MSG 47,1625 -#define REMOTE_NDIS_INITIALIZE_CMPLT 50,1697 -#define REMOTE_NDIS_QUERY_CMPLT 51,1746 -#define REMOTE_NDIS_SET_CMPLT 52,1791 -#define REMOTE_NDIS_RESET_CMPLT 53,1834 -#define REMOTE_NDIS_KEEPALIVE_CMPLT 54,1879 -#define RNDIS_DF_CONNECTIONLESS 57,1947 -#define RNDIS_DF_CONNECTION_ORIENTED 58,1992 -#define RNDIS_MEDIUM_802_3 60,2042 -#define OID_PNP_CAPABILITIES 63,2127 -#define OID_PNP_SET_POWER 64,2169 -#define OID_PNP_QUERY_POWER 65,2208 -#define OID_PNP_ADD_WAKE_UP_PATTERN 66,2249 -#define OID_PNP_REMOVE_WAKE_UP_PATTERN 67,2297 -#define OID_PNP_ENABLE_WAKE_UP 68,2348 -static const u32 oid_supported_list 72,2415 -typedef struct rndis_init_msg_type rndis_init_msg_type155,4416 -} rndis_init_msg_type;rndis_init_msg_type163,4568 -typedef struct rndis_init_cmplt_typerndis_init_cmplt_type165,4592 -} rndis_init_cmplt_type;rndis_init_cmplt_type180,4881 -typedef struct rndis_halt_msg_typerndis_halt_msg_type182,4907 -} rndis_halt_msg_type;rndis_halt_msg_type187,4998 -typedef struct rndis_query_msg_typerndis_query_msg_type189,5022 -} rndis_query_msg_type;rndis_query_msg_type198,5205 -typedef struct rndis_query_cmplt_typerndis_query_cmplt_type200,5230 -} rndis_query_cmplt_type;rndis_query_cmplt_type208,5397 -typedef struct rndis_set_msg_typerndis_set_msg_type210,5424 -} rndis_set_msg_type;rndis_set_msg_type219,5605 -typedef struct rndis_set_cmplt_typerndis_set_cmplt_type221,5628 -} rndis_set_cmplt_type;rndis_set_cmplt_type227,5733 -typedef struct rndis_reset_msg_typerndis_reset_msg_type229,5758 -} rndis_reset_msg_type;rndis_reset_msg_type234,5849 -typedef struct rndis_reset_cmplt_typerndis_reset_cmplt_type236,5874 -} rndis_reset_cmplt_type;rndis_reset_cmplt_type242,5987 -typedef struct rndis_indicate_status_msg_typerndis_indicate_status_msg_type244,6014 -} rndis_indicate_status_msg_type;rndis_indicate_status_msg_type251,6163 -typedef struct rndis_keepalive_msg_typerndis_keepalive_msg_type253,6198 -} rndis_keepalive_msg_type;rndis_keepalive_msg_type258,6294 -typedef struct rndis_keepalive_cmplt_typerndis_keepalive_cmplt_type260,6323 -} rndis_keepalive_cmplt_type;rndis_keepalive_cmplt_type266,6434 -struct rndis_packet_msg_typerndis_packet_msg_type268,6465 -struct rndis_config_parameterrndis_config_parameter283,6719 -enum rndis_staterndis_state293,6911 - RNDIS_UNINITIALIZED,295,6930 - RNDIS_INITIALIZED,296,6952 - RNDIS_DATA_INITIALIZED,297,6972 -typedef struct rndis_resp_trndis_resp_t300,7001 -} rndis_resp_t;rndis_resp_t306,7095 -typedef struct rndis_paramsrndis_params308,7112 -} rndis_params;rndis_params324,7453 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/rndis.c,1352 -#define DEBUG(DEBUG56,1559 -static int rndis_debug 60,1665 -#define rndis_debug 67,1791 -#define DEBUG(DEBUG68,1814 -#define RNDIS_MAX_CONFIGS 71,1862 -static struct proc_dir_entry *rndis_connect_dir;73,1891 -static struct proc_dir_entry *rndis_connect_state 74,1940 -static rndis_params rndis_per_dev_params 76,2012 -static const u32 rndis_driver_version 79,2096 -static int gen_ndis_query_resp 93,2670 -static int gen_ndis_set_resp 696,18631 -static int rndis_init_response 807,21336 -static int rndis_query_response 848,22759 -static int rndis_set_response 886,23975 -static int rndis_reset_response 928,25278 -static int rndis_keepalive_response 952,25987 -static int rndis_indicate_status_msg 981,26799 -int rndis_signal_connect 1009,27641 -int rndis_signal_disconnect 1017,27846 -void rndis_set_host_mac 1025,28059 -int rndis_msg_parser 1033,28196 -int rndis_register 1127,30458 -void rndis_deregister 1144,30819 -int rndis_set_param_dev 1154,30994 -int rndis_set_param_vendor 1167,31316 -int rndis_set_param_medium 1179,31639 -void rndis_add_hdr 1190,31900 -void rndis_free_response 1203,32311 -u8 *rndis_get_next_response 1219,32622 -static rndis_resp_t *rndis_add_response 1240,32996 -int rndis_rm_hdr 1256,33329 -int rndis_proc_read 1278,33784 -int rndis_proc_write 1323,34839 -int __init rndis_init 1368,35583 -void rndis_exit 1416,36869 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/file_storage.c,8623 -#define DRIVER_DESC 249,12054 -#define DRIVER_NAME 250,12104 -#define DRIVER_VERSION 251,12142 -static const char longname[253,12182 -static const char shortname[254,12226 -#define DRIVER_VENDOR_ID 264,12559 -#define DRIVER_PRODUCT_ID 265,12602 -#define xprintk(xprintk277,12938 -#define yprintk(yprintk279,13032 -#define DBG(DBG283,13132 -#define LDBG(LDBG285,13206 -#define MDBG(MDBG287,13281 -#define DBG(DBG290,13366 -#define LDBG(LDBG292,13415 -#define MDBG(MDBG294,13465 -#define VDBG 301,13578 -#define VLDBG 302,13595 -#define VDBG(VDBG304,13620 -#define VLDBG(VLDBG306,13670 -#define ERROR(ERROR310,13743 -#define LERROR(LERROR312,13817 -#define WARN(WARN315,13893 -#define LWARN(LWARN317,13970 -#define INFO(INFO320,14049 -#define LINFO(LINFO322,14123 -#define MINFO(MINFO325,14199 -#define MAX_LUNS 333,14408 -static char *file[336,14493 -static int ro[337,14534 -} mod_data 358,14912 -#define USB_PR_CBI 415,16800 -#define USB_PR_CB 416,16851 -#define USB_PR_BULK 417,16905 -#define USB_SC_RBC 420,16999 -#define USB_SC_8020 421,17058 -#define USB_SC_QIC 422,17120 -#define USB_SC_UFI 423,17163 -#define USB_SC_8070 424,17204 -#define USB_SC_SCSI 425,17255 -struct bulk_cb_wrap bulk_cb_wrap430,17363 -#define USB_BULK_CB_WRAP_LEN 440,17658 -#define USB_BULK_CB_SIG 441,17690 -#define USB_BULK_IN_FLAG 442,17745 -struct bulk_cs_wrap bulk_cs_wrap445,17805 -#define USB_BULK_CS_WRAP_LEN 452,17975 -#define USB_BULK_CS_SIG 453,18007 -#define USB_STATUS_PASS 454,18064 -#define USB_STATUS_FAIL 455,18091 -#define USB_STATUS_PHASE_ERROR 456,18118 -#define USB_BULK_RESET_REQUEST 459,18192 -#define USB_BULK_GET_MAX_LUN_REQUEST 460,18229 -struct interrupt_data interrupt_data464,18308 -#define CBI_INTERRUPT_DATA_LEN 469,18359 -#define USB_CBI_ADSC_REQUEST 472,18443 -#define MAX_COMMAND_SIZE 475,18480 -#define SC_FORMAT_UNIT 478,18586 -#define SC_INQUIRY 479,18616 -#define SC_MODE_SELECT_6 480,18642 -#define SC_MODE_SELECT_10 481,18673 -#define SC_MODE_SENSE_6 482,18705 -#define SC_MODE_SENSE_10 483,18736 -#define SC_PREVENT_ALLOW_MEDIUM_REMOVAL 484,18767 -#define SC_READ_6 485,18812 -#define SC_READ_10 486,18837 -#define SC_READ_12 487,18863 -#define SC_READ_CAPACITY 488,18889 -#define SC_READ_FORMAT_CAPACITIES 489,18920 -#define SC_RELEASE 490,18959 -#define SC_REQUEST_SENSE 491,18985 -#define SC_RESERVE 492,19016 -#define SC_SEND_DIAGNOSTIC 493,19042 -#define SC_START_STOP_UNIT 494,19075 -#define SC_SYNCHRONIZE_CACHE 495,19108 -#define SC_TEST_UNIT_READY 496,19143 -#define SC_VERIFY 497,19176 -#define SC_WRITE_6 498,19201 -#define SC_WRITE_10 499,19227 -#define SC_WRITE_12 500,19254 -#define SS_NO_SENSE 503,19346 -#define SS_COMMUNICATION_FAILURE 504,19371 -#define SS_INVALID_COMMAND 505,19414 -#define SS_INVALID_FIELD_IN_CDB 506,19452 -#define SS_LOGICAL_BLOCK_ADDRESS_OUT_OF_RANGE 507,19495 -#define SS_LOGICAL_UNIT_NOT_SUPPORTED 508,19550 -#define SS_MEDIUM_NOT_PRESENT 509,19598 -#define SS_MEDIUM_REMOVAL_PREVENTED 510,19639 -#define SS_NOT_READY_TO_READY_TRANSITION 511,19685 -#define SS_RESET_OCCURRED 512,19735 -#define SS_SAVING_PARAMETERS_NOT_SUPPORTED 513,19772 -#define SS_UNRECOVERED_READ_ERROR 514,19824 -#define SS_WRITE_ERROR 515,19868 -#define SS_WRITE_PROTECTED 516,19903 -#define SK(SK518,19942 -#define ASC(ASC519,20000 -#define ASCQ(ASCQ520,20034 -#define transport_is_bbb(transport_is_bbb534,20420 -#define transport_is_cbi(transport_is_cbi535,20488 -#define protocol_is_scsi(protocol_is_scsi536,20555 -#define transport_is_bbb(transport_is_bbb540,20630 -#define transport_is_cbi(transport_is_cbi541,20659 -#define protocol_is_scsi(protocol_is_scsi542,20688 -struct lun lun547,20762 -#define backing_file_is_open(backing_file_is_open563,21028 -static inline struct lun *dev_to_lun(565,21091 -#define EP0_BUFSIZE 572,21246 -#define DELAYED_STATUS 573,21270 -#define NUM_BUFFERS 576,21414 -enum fsg_buffer_state fsg_buffer_state578,21437 - BUF_STATE_EMPTY 579,21461 - BUF_STATE_FULL,580,21483 - BUF_STATE_BUSY581,21500 -struct fsg_buffhd fsg_buffhd584,21520 -enum fsg_state fsg_state601,21993 - FSG_STATE_COMMAND_PHASE 602,22010 - FSG_STATE_DATA_PHASE,603,22075 - FSG_STATE_STATUS_PHASE,604,22098 - FSG_STATE_IDLE 606,22124 - FSG_STATE_ABORT_BULK_OUT,607,22145 - FSG_STATE_RESET,608,22172 - FSG_STATE_INTERFACE_CHANGE,609,22190 - FSG_STATE_CONFIG_CHANGE,610,22219 - FSG_STATE_DISCONNECT,611,22245 - FSG_STATE_EXIT,612,22268 - FSG_STATE_TERMINATED613,22285 -enum data_direction data_direction616,22311 - DATA_DIR_UNKNOWN 617,22333 - DATA_DIR_FROM_HOST,618,22356 - DATA_DIR_TO_HOST,619,22377 - DATA_DIR_NONE620,22396 -struct fsg_dev fsg_dev623,22415 -#define REGISTERED 655,23336 -#define CLEAR_BULK_HALTS 656,23358 -#define SUSPENDED 657,23385 -typedef void (*fsg_routine_t)fsg_routine_t698,24488 -static int inline exception_in_progress(700,24538 -static void inline set_bulk_out_req_length(706,24707 -static struct fsg_dev *the_fsg;718,25010 -static struct usb_gadget_driver fsg_driver;719,25044 -static void dump_msg(729,25299 -static void inline dump_cdb(757,25818 -static void inline dump_msg(762,25878 -static void inline dump_cdb(766,25988 -static int fsg_set_halt(779,26238 -static u16 inline get_be16(798,26634 -static u32 inline get_be32(803,26721 -static void inline put_be16(809,26857 -static void inline put_be32(815,26943 -#define STRING_MANUFACTURER 831,27354 -#define STRING_PRODUCT 832,27384 -#define STRING_SERIAL 833,27410 -#define CONFIG_VALUE 836,27475 -device_desc 839,27536 -config_desc 858,28107 -intf_desc 872,28486 -fs_bulk_in_desc 886,28926 -fs_bulk_out_desc 896,29183 -fs_intr_in_desc 906,29442 -static const struct usb_descriptor_header *fs_function[916,29697 -dev_qualifier 936,30330 -hs_bulk_in_desc 947,30585 -hs_bulk_out_desc 957,30880 -hs_intr_in_desc 968,31217 -static const struct usb_descriptor_header *hs_function[978,31524 -#define ep_desc(ep_desc987,31865 -#define ep_desc(ep_desc992,32021 -static char manufacturer[999,32190 -static char serial[1000,32223 -static struct usb_string strings[1003,32328 -static struct usb_gadget_strings stringtab 1010,32470 -static int populate_config_buf(1021,32782 -static void wakeup_thread(1049,33500 -static void raise_exception(1057,33673 -static void fsg_disconnect(1084,34627 -static int ep0_queue(1093,34823 -static void ep0_complete(1107,35112 -static void bulk_in_complete(1129,35795 -static void bulk_out_complete(1148,36408 -static void intr_in_complete(1171,37148 -static void intr_in_complete(1191,37769 -static void received_cbi_adsc(1201,38066 -static void received_cbi_adsc(1243,39268 -static int class_setup_req(1248,39389 -static int standard_setup_req(1328,41218 -static int fsg_setup(1452,44536 -static void start_transfer(1489,45580 -static int sleep_thread(1518,46344 -static int do_read(1532,46676 -static int do_write(1655,50121 -static int fsync_sub(1835,55357 -static void fsync_all(1862,55937 -static int do_synchronize_cache(1870,56056 -static void invalidate_sub(1886,56408 -static int do_verify(1896,56666 -static int do_inquiry(1992,59299 -static int do_request_sense(2019,59985 -static int do_read_capacity(2069,61466 -static int do_mode_sense(2088,61940 -static int do_start_stop(2166,64106 -static int do_prevent_allow(2216,65285 -static int do_read_format_capacities(2239,65768 -static int do_mode_select(2256,66185 -static int halt_bulk_in_endpoint(2268,66471 -static int pad_with_zeros(2291,66959 -static int throw_away_data(2321,67748 -static int finish_reply(2369,69008 -static int send_status(2473,72158 -static int check_command(2560,74576 -static int do_scsi_command(2692,78450 -static int received_cbw(2910,84409 -static int get_next_command(2969,86111 -static int enable_endpoint(3028,87710 -static int alloc_request(3040,87968 -static int do_set_interface(3055,88417 -static int do_set_config(3157,91158 -static void handle_exception(3191,91944 -static int fsg_main_thread(3354,96170 -static int open_backing_file(3435,98404 -static void close_backing_file(3507,100133 -static void close_all_backing_files(3516,100298 -static ssize_t show_ro(3525,100441 -static ssize_t show_file(3532,100582 -ssize_t store_ro(3560,101202 -ssize_t store_file(3584,101816 -static void lun_release(3625,102951 -static void fsg_unbind(3632,103096 -static int __init check_parameters(3685,104468 -static int __init fsg_bind(3781,107655 -static void fsg_suspend(3992,113518 -static void fsg_resume(4000,113692 -static struct usb_gadget_driver fsg_driver 4011,113946 -static int __init fsg_alloc(4034,114388 -static void fsg_free(4052,114718 -static int __init fsg_init(4059,114798 -static void __exit fsg_cleanup(4080,115176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/net2280.c,2975 -#define DRIVER_DESC 72,2380 -#define DRIVER_VERSION 73,2442 -#define DMA_ADDR_INVALID 75,2481 -#define EP_DONTUSE 76,2523 -#define USE_RDK_LEDS 78,2561 -#define USE_SYSFS_DEBUG_FILES79,2618 -static const char driver_name 82,2650 -static const char driver_desc 83,2696 -static const char ep0name 85,2745 -static const char *ep_name 86,2783 -static int use_dma 100,3319 -static int use_dma_chaining 101,3343 -static ushort fifo_mode 112,3667 -#define DIR_STRING(DIR_STRING118,3780 -static char *type_string 121,3907 -#define valid_bit 134,4196 -#define dma_done_ie 135,4254 -net2280_enable 140,4421 -static int handshake 256,8107 -static struct usb_ep_ops net2280_ep_ops;273,8414 -static void ep_reset 275,8456 -static int net2280_disable 340,10211 -net2280_alloc_request 369,10940 -net2280_free_request 405,11703 -#define USE_KMALLOC436,12781 -#define USE_KMALLOC439,12867 -#define USE_KMALLOC442,12950 -net2280_alloc_buffer 452,13270 -net2280_free_buffer 486,14011 -write_fifo 516,14769 -static void out_flush 576,16421 -read_fifo 610,17379 -fill_dma_desc 699,19827 -static const u32 dmactl_default 728,20704 -static inline void spin_stop_dma 739,21104 -static inline void stop_dma 744,21234 -static void start_queue 750,21395 -static void start_dma 770,21913 -queue_dma 834,23707 -done 854,24104 -net2280_queue 890,25032 -dma_done 1008,28136 -static void scan_dma_completions 1021,28381 -static void restart_dma 1076,29938 -static void abort_dma 1140,31581 -static void nuke 1153,31918 -static int net2280_dequeue 1170,32254 -net2280_set_halt 1271,34823 -net2280_fifo_status 1310,35821 -net2280_fifo_flush 1330,36287 -static struct usb_ep_ops net2280_ep_ops 1344,36622 -static int net2280_get_frame 1364,37124 -static int net2280_wakeup 1379,37493 -static int net2280_set_selfpowered 1399,37964 -static int net2280_pullup(1421,38444 -static const struct usb_gadget_ops net2280_ops 1444,38961 -show_function 1457,39307 -show_registers 1470,39659 -show_queues 1625,43253 -#define device_create_file(device_create_file1725,45580 -#define device_remove_file 1726,45628 -static void set_fifo_mode 1736,45891 -int net2280_set_fifo_mode 1781,47657 -static struct net2280 *the_controller;1827,48772 -static void usb_reset 1829,48812 -static void usb_reinit 1865,49684 -static void ep0_start 1905,50623 -int usb_gadget_register_driver 1954,52347 -stop_activity 2012,53776 -int usb_gadget_unregister_driver 2037,54320 -static void handle_ep_small 2073,55318 -get_ep_by_addr 2283,60743 -static void handle_stat0_irqs 2303,61201 -#define DMA_INTERRUPTS 2504,66684 -#define PCI_ERROR_INTERRUPTS 2509,66826 -static void handle_stat1_irqs 2514,66996 -static irqreturn_t net2280_irq 2675,71470 -static void gadget_release 2694,71919 -static void net2280_remove 2703,72103 -static int net2280_probe 2749,73314 -static struct pci_device_id pci_ids 2908,77612 -static struct pci_driver net2280_pci_driver 2921,77949 -static int __init init 2935,78244 -static void __exit cleanup 2943,78385 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/epautoconf.c,222 -static __initdata unsigned epnum;37,1149 -static __initdata unsigned in_epnum;42,1274 -ep_matches 60,1893 -find_ep 187,4929 -struct usb_ep * __init usb_ep_autoconfig 228,6700 -void __init usb_ep_autoconfig_reset 295,8729 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/gadget_chips.h,869 -#define gadget_is_net2280(gadget_is_net228012,461 -#define gadget_is_net2280(gadget_is_net228014,526 -#define gadget_is_dummy(gadget_is_dummy18,600 -#define gadget_is_dummy(gadget_is_dummy20,665 -#define gadget_is_pxa(gadget_is_pxa24,734 -#define gadget_is_pxa(gadget_is_pxa26,798 -#define gadget_is_goku(gadget_is_goku30,863 -#define gadget_is_goku(gadget_is_goku32,926 -#define gadget_is_sh(gadget_is_sh36,994 -#define gadget_is_sh(gadget_is_sh38,1054 -#define gadget_is_sa1100(gadget_is_sa110042,1121 -#define gadget_is_sa1100(gadget_is_sa110044,1188 -#define gadget_is_lh7a40x(gadget_is_lh7a40x48,1259 -#define gadget_is_lh7a40x(gadget_is_lh7a40x50,1328 -#define gadget_is_mq11xx(gadget_is_mq11xx54,1399 -#define gadget_is_mq11xx(gadget_is_mq11xx56,1466 -#define gadget_is_omap(gadget_is_omap60,1534 -#define gadget_is_omap(gadget_is_omap62,1597 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/gadget/serial.c,4319 -#define __wait_cond_interruptible(__wait_cond_interruptible56,1470 -#define wait_cond_interruptible(wait_cond_interruptible79,2104 -#define __wait_cond_interruptible_timeout(__wait_cond_interruptible_timeout88,2327 -#define wait_cond_interruptible_timeout(wait_cond_interruptible_timeout115,3097 -#define GS_VERSION_STR 128,3376 -#define GS_VERSION_NUM 129,3408 -#define GS_LONG_NAME 131,3441 -#define GS_SHORT_NAME 132,3480 -#define GS_MAJOR 134,3516 -#define GS_MINOR_START 135,3539 -#define GS_NUM_PORTS 137,3567 -#define GS_NUM_CONFIGS 139,3594 -#define GS_NO_CONFIG_ID 140,3621 -#define GS_BULK_CONFIG_ID 141,3649 -#define GS_NUM_INTERFACES 143,3679 -#define GS_INTERFACE_ID 144,3708 -#define GS_ALT_INTERFACE_ID 145,3736 -#define GS_NUM_ENDPOINTS 147,3768 -#define GS_MAX_DESC_LEN 149,3797 -#define GS_DEFAULT_READ_Q_SIZE 151,3828 -#define GS_DEFAULT_WRITE_Q_SIZE 152,3863 -#define GS_DEFAULT_WRITE_BUF_SIZE 154,3900 -#define GS_TMP_BUF_SIZE 155,3939 -#define GS_CLOSE_TIMEOUT 157,3971 -static int debug 161,4041 -#define gs_debug(gs_debug163,4077 -#define gs_debug_level(gs_debug_level165,4175 -#define gs_debug(gs_debug170,4301 -#define gs_debug_level(gs_debug_level172,4353 -#define GS_VENDOR_ID 184,4657 -#define GS_PRODUCT_ID 185,4700 -struct gs_buf gs_buf193,4818 -struct gs_req_entry gs_req_entry201,4940 -struct gs_port gs_port207,5100 -struct gs_dev gs_dev219,5501 -static struct gs_dev *gs_device;302,8898 -static const char *EP_IN_NAME;304,8932 -static const char *EP_OUT_NAME;305,8963 -static struct semaphore gs_open_close_sem[307,8996 -static unsigned int read_q_size 309,9054 -static unsigned int write_q_size 310,9112 -static unsigned int write_buf_size 312,9173 -static unsigned char gs_tmp_buf[314,9238 -static struct semaphore gs_tmp_buf_sem;315,9288 -static struct tty_operations gs_tty_ops 318,9353 -static struct tty_driver *gs_tty_driver;332,9730 -static struct usb_gadget_driver gs_gadget_driver 335,9799 -#define GS_MANUFACTURER_STR_ID 357,10220 -#define GS_PRODUCT_STR_ID 358,10253 -#define GS_SERIAL_STR_ID 359,10281 -#define GS_CONFIG_STR_ID 360,10308 -static char manufacturer[363,10372 -static struct usb_string gs_strings[364,10402 -static struct usb_gadget_strings gs_string_table 372,10612 -static struct usb_device_descriptor gs_device_desc 377,10728 -static const struct usb_config_descriptor gs_config_desc 390,11196 -static const struct usb_interface_descriptor gs_interface_desc 401,11579 -static struct usb_endpoint_descriptor gs_fullspeed_in_desc 409,11837 -static struct usb_endpoint_descriptor gs_fullspeed_out_desc 416,12051 -static struct usb_endpoint_descriptor gs_highspeed_in_desc 423,12267 -static struct usb_endpoint_descriptor gs_highspeed_out_desc 430,12496 -static struct usb_qualifier_descriptor gs_qualifier_desc 438,12761 -static int __init gs_module_init(476,13842 -static void __exit gs_module_exit(525,15276 -static int gs_open(539,15564 -static void gs_close(676,18821 -static int gs_write(757,20703 -static void gs_put_char(826,22250 -static void gs_flush_chars(862,23196 -static int gs_write_room(899,23994 -static int gs_chars_in_buffer(927,24522 -static void gs_throttle(953,25055 -static void gs_unthrottle(960,25132 -static void gs_break(967,25206 -static int gs_ioctl(974,25292 -static void gs_set_termios(995,25729 -static int gs_send(1008,26106 -static int gs_send_packet(1069,27613 -static int gs_recv_packet(1117,28735 -static void gs_read_complete(1167,29873 -static void gs_write_complete(1209,30687 -static int gs_bind(1260,31655 -static void gs_unbind(1372,34962 -static int gs_setup(1400,35627 -static void gs_setup_complete(1522,38746 -static void gs_disconnect(1537,39226 -static int gs_set_config(1568,40068 -static void gs_reset_config(1688,43019 -static int gs_build_config_desc(1728,43979 -static struct usb_request *gs_alloc_req(1768,45121 -static void gs_free_req(1795,45603 -static struct gs_req_entry *gs_alloc_req_entry(1811,45964 -static void gs_free_req_entry(1835,46413 -static int gs_alloc_ports(1852,46820 -static void gs_free_ports(1886,47620 -static struct gs_buf *gs_buf_alloc(1927,48469 -void gs_buf_free(1955,48956 -void gs_buf_clear(1969,49154 -unsigned int gs_buf_data_avail(1982,49398 -unsigned int gs_buf_space_avail(1996,49664 -unsigned int gs_buf_put(2012,50012 -unsigned int gs_buf_get(2050,50774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/ibmcam.c,4597 -#define IBMCAM_VENDOR_ID 24,595 -#define IBMCAM_PRODUCT_ID 25,627 -#define NETCAM_PRODUCT_ID 26,660 -#define VEO_800C_PRODUCT_ID 27,731 -#define VEO_800D_PRODUCT_ID 28,805 -#define MAX_IBMCAM 30,880 -#define USES_IBMCAM_PUTPIXEL 31,945 -#define HDRSIG_MODEL1_128x96 36,1077 -#define HDRSIG_MODEL1_176x144 37,1129 -#define HDRSIG_MODEL1_352x288 38,1182 -#define IBMCAM_MODEL_1 40,1236 -#define IBMCAM_MODEL_2 41,1300 -#define IBMCAM_MODEL_3 42,1366 -#define IBMCAM_MODEL_4 43,1432 -#define VIDEOSIZE_128x96 46,1522 -#define VIDEOSIZE_176x144 47,1566 -#define VIDEOSIZE_352x288 48,1611 -#define VIDEOSIZE_320x240 49,1656 -#define VIDEOSIZE_352x240 50,1701 -#define VIDEOSIZE_640x480 51,1746 -#define VIDEOSIZE_160x120 52,1791 - SIZE_128x96 56,1872 - SIZE_160x120,57,1890 - SIZE_176x144,58,1905 - SIZE_320x240,59,1920 - SIZE_352x240,60,1935 - SIZE_352x288,61,1950 - SIZE_640x480,62,1965 - SIZE_LastItem64,2031 -} ibmcam_t;ibmcam_t74,2248 -#define IBMCAM_T(IBMCAM_T75,2260 -static struct usbvideo *cams;77,2316 -static int debug;79,2347 -static int flags;81,2366 -static const int min_canvasWidth 83,2436 -static const int min_canvasHeight 84,2475 -static int lighting 86,2515 -#define SHARPNESS_MIN 88,2554 -#define SHARPNESS_MAX 89,2578 -static int sharpness 90,2602 -#define FRAMERATE_MIN 92,2659 -#define FRAMERATE_MAX 93,2683 -static int framerate 94,2707 -static int size 96,2735 -static int init_brightness 112,3413 -static int init_contrast 113,3447 -static int init_color 114,3479 -static int init_hue 115,3508 -static int hue_correction 116,3535 -static int init_model2_rg2 119,3603 -static int init_model2_sat 120,3636 -static int init_model2_yb 121,3669 -static int init_model3_input 125,3788 -static const unsigned short unknown_88 166,5855 -static const unsigned short unknown_89 167,5904 -static const unsigned short bright_3x[168,5953 -static const unsigned short contrast_14 169,6024 -static const unsigned short light_27 170,6074 -static const unsigned short sharp_13 171,6121 -static const unsigned short mod2_brightness 174,6208 -static const unsigned short mod2_set_framerate 175,6293 -static const unsigned short mod2_color_balance_rg2 176,6378 -static const unsigned short mod2_saturation 177,6468 -static const unsigned short mod2_color_balance_yb 178,6556 -static const unsigned short mod2_hue 179,6649 -static const unsigned short mod2_sensitivity 180,6731 -struct struct_initData struct_initData182,6815 -static videosize_t ibmcam_size_to_videosize(196,7194 -static enum ParseState ibmcam_find_header(239,8070 -static enum ParseState ibmcam_parse_lines(387,11995 -static enum ParseState ibmcam_model2_320x240_parse_lines(652,20481 -static enum ParseState ibmcam_model3_parse_lines(806,24908 -static enum ParseState ibmcam_model4_128x96_parse_lines(951,29611 -void ibmcam_ProcessIsocData(1039,31899 -static int ibmcam_veio(1117,34229 -static int ibmcam_calculate_fps(1185,35844 -static void ibmcam_send_FF_04_02(1199,36115 -static void ibmcam_send_00_04_06(1206,36284 -static void ibmcam_send_x_00(1213,36453 -static void ibmcam_send_x_00_05(1219,36598 -static void ibmcam_send_x_00_05_02(1225,36735 -static void ibmcam_send_x_01_00_05(1233,36962 -static void ibmcam_send_x_00_05_02_01(1241,37189 -static void ibmcam_send_x_00_05_02_08_01(1250,37457 -static void ibmcam_Packet_Format1(1260,37766 -static void ibmcam_PacketFormat2(1274,38218 -static void ibmcam_model2_Packet2(1281,38425 -static void ibmcam_model2_Packet1(1287,38557 -static void ibmcam_model3_Packet1(1308,39028 -static void ibmcam_model4_BrightnessPacket(1317,39312 -static void ibmcam_adjust_contrast(1343,40079 -static void ibmcam_change_lighting_conditions(1418,42154 -static void ibmcam_set_sharpness(1464,43612 -static void ibmcam_set_brightness(1533,45567 -static void ibmcam_set_hue(1598,47391 -static void ibmcam_adjust_picture(1694,50078 -static int ibmcam_model1_setup(1701,50215 -static int ibmcam_model2_setup(1898,56760 -static void ibmcam_model1_setup_after_video_if(1956,59237 -static void ibmcam_model2_setup_after_video_if(1968,59648 -static void ibmcam_model4_setup_after_video_if(2144,65630 -static void ibmcam_model3_setup_after_video_if(2694,86757 -#define NUM_INIT_DATA 3240,99381 -static void ibmcam_video_stop(3475,109522 -static void ibmcam_reinit_iso(3536,111223 -static void ibmcam_video_start(3560,111845 -static int ibmcam_setup_on_open(3570,112052 -static void ibmcam_configure_video(3592,112625 -static int ibmcam_probe(3646,114336 -static struct usb_device_id id_table[3891,120612 -static int __init ibmcam_init(3910,121437 -static void __exit ibmcam_cleanup(3932,121987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/dsbr100.c,1099 -#define DRIVER_VERSION 81,2670 -#define DRIVER_AUTHOR 82,2701 -#define DRIVER_DESC 83,2773 -#define DSB100_VENDOR 85,2832 -#define DSB100_PRODUCT 86,2861 -#define DSB100_TUNE 89,2940 -#define DSB100_ONOFF 90,2962 -#define TB_LEN 92,2986 -#define FREQ_MIN 96,3114 -#define FREQ_MAX 97,3137 -#define FREQ_MUL 98,3160 -static int radio_nr 109,3602 -} dsbr100_device;dsbr100_device121,3868 -static struct file_operations usb_dsbr100_fops 125,3916 -static struct video_device dsbr100_videodev_template=134,4142 -static struct usb_device_id usb_dsbr100_device_table 144,4385 -static struct usb_driver usb_dsbr100_driver 152,4615 -static int dsbr100_start(163,4886 -static int dsbr100_stop(179,5399 -static int dsbr100_setfreq(194,5962 -static void dsbr100_getstat(219,6901 -static int usb_dsbr100_probe(235,7354 -static void usb_dsbr100_disconnect(271,8535 -static int usb_dsbr100_do_ioctl(290,8883 -static int usb_dsbr100_ioctl(379,10837 -static int usb_dsbr100_open(385,11025 -static int usb_dsbr100_close(399,11345 -static int __init dsbr100_init(412,11586 -static void __exit dsbr100_exit(419,11732 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/usbvideo.c,2102 -#define virt_to_page(virt_to_page33,1009 -static int video_nr 36,1071 -unsigned long usbvideo_kvirt_to_pa(68,2267 -static void *usbvideo_rvmalloc(78,2504 -static void usbvideo_rvfree(99,2894 -static void RingQueue_Initialize(115,3164 -static void RingQueue_Allocate(121,3277 -static int RingQueue_IsAllocated(142,3731 -static void RingQueue_Free(149,3875 -int RingQueue_Dequeue(159,4067 -int RingQueue_Enqueue(193,4788 -static void RingQueue_InterruptibleSleepOn(225,5408 -void RingQueue_WakeUpInterruptible(231,5534 -void RingQueue_Flush(240,5732 -static void usbvideo_VideosizeToString(259,6056 -static void usbvideo_OverlayChar(278,6454 -static void usbvideo_OverlayString(333,7507 -static void usbvideo_OverlayStats(351,7874 -static void usbvideo_ReportStatistics(474,11523 -void usbvideo_DrawLine(529,13234 -void usbvideo_TestPattern(602,14682 -void usbvideo_HexDump(684,16607 -void usbvideo_SayAndWait(706,17070 -static void usbvideo_ClientIncModCount(719,17429 -static void usbvideo_ClientDecModCount(739,17874 -int usbvideo_register(756,18245 -void usbvideo_Deregister(868,21444 -static void usbvideo_Disconnect(938,23618 -static void usbvideo_CameraRelease(990,24795 -static int usbvideo_find_struct(1013,25337 -static struct file_operations usbvideo_fops 1037,25797 -static struct video_device usbvideo_template 1046,26046 -struct uvd *usbvideo_AllocateDevice(1053,26225 -int usbvideo_RegisterVideoDevice(1104,27461 -static int usbvideo_v4l_mmap(1156,28973 -static int usbvideo_v4l_open(1200,30251 -static int usbvideo_v4l_close(1314,33578 -static int usbvideo_v4l_do_ioctl(1361,34623 -static int usbvideo_v4l_ioctl(1573,40163 -static ssize_t usbvideo_v4l_read(1590,40649 -static int usbvideo_CompressIsochronous(1743,45415 -static void usbvideo_IsocIrq(1773,46138 -static int usbvideo_StartDataPump(1833,47567 -static void usbvideo_StopDataPump(1901,49549 -static int usbvideo_NewFrame(1944,50634 -static void usbvideo_CollectRawData(2020,53573 -static int usbvideo_GetFrame(2050,54284 -void usbvideo_DeinterlaceFrame(2182,58788 -static void usbvideo_SoftwareContrastAdjustment(2252,60755 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102_tas5110c1b.c,253 -static struct sn9c102_sensor tas5110c1b;25,1572 -static int tas5110c1b_init(28,1615 -static int tas5110c1b_set_ctrl(48,2178 -static int tas5110c1b_set_crop(63,2596 -static struct sn9c102_sensor tas5110c1b 83,3163 -int sn9c102_probe_tas5110c1b(126,3955 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/usbvideo.h,2414 -#define usbvideo_h17,708 -#define assert(assert24,839 -#define USBVIDEO_REPORT_STATS 26,928 -#define FLAGS_RETRY_VIDIOCSYNC 29,1031 -#define FLAGS_MONOCHROME 30,1072 -#define FLAGS_DISPLAY_HINTS 31,1107 -#define FLAGS_OVERLAY_STATS 32,1145 -#define FLAGS_FORCE_TESTPATTERN 33,1183 -#define FLAGS_SEPARATE_FRAMES 34,1225 -#define FLAGS_CLEAN_FRAMES 35,1265 -#define FLAGS_NO_DECODING 36,1302 -#define USBVIDEO_FRAME_FLAG_SOFTWARE_CONTRAST 39,1412 -#define CAMERA_URB_FRAMES 42,1504 -#define CAMERA_MAX_ISO_PACKET 43,1539 -#define FRAMES_PER_DESC 44,1611 -#define FRAME_SIZE_PER_DESC 45,1656 -#define RESTRICT_TO_RANGE(RESTRICT_TO_RANGE48,1774 -#define V4L_BYTES_PER_PIXEL 50,1875 -#define VIDEOSIZE(VIDEOSIZE64,2561 -#define VIDEOSIZE_X(VIDEOSIZE_X65,2628 -#define VIDEOSIZE_Y(VIDEOSIZE_Y66,2669 -typedef unsigned long videosize_t;videosize_t67,2718 -#define CAMERA_IS_OPERATIONAL(CAMERA_IS_OPERATIONAL74,2948 -#define LIMIT_RGB(LIMIT_RGB99,3687 -#define YUV_TO_RGB_BY_THE_BOOK(YUV_TO_RGB_BY_THE_BOOK100,3752 -#define RING_QUEUE_SIZE 114,4194 -#define RING_QUEUE_ADVANCE_INDEX(RING_QUEUE_ADVANCE_INDEX115,4257 -#define RING_QUEUE_DEQUEUE_BYTES(RING_QUEUE_DEQUEUE_BYTES116,4349 -#define RING_QUEUE_PEEK(RING_QUEUE_PEEK117,4422 -struct RingQueue RingQueue119,4508 -enum ScanState ScanState127,4793 - ScanState_Scanning,128,4810 - ScanState_Lines 129,4857 -enum ParseState ParseState133,4942 - scan_Continue,134,4960 - scan_NextFrame,135,5004 - scan_Out,136,5055 - scan_EndParse 137,5099 -enum FrameState FrameState140,5137 - FrameState_Unused,141,5155 - FrameState_Ready,142,5202 - FrameState_Grabbing,143,5251 - FrameState_Done,144,5316 - FrameState_Done_Hold,145,5383 - FrameState_Error,146,5435 -enum Deinterlace Deinterlace153,5625 - Deinterlace_None=154,5644 - Deinterlace_FillOddLines,155,5665 - Deinterlace_FillEvenLines156,5692 -#define USBVIDEO_NUMFRAMES 159,5723 -#define USBVIDEO_NUMSBUF 160,5787 -struct usbvideo_sbuf usbvideo_sbuf163,5918 -struct usbvideo_frame usbvideo_frame168,5976 -struct usbvideo_statistics usbvideo_statistics190,6745 -struct uvd uvd202,7304 -struct usbvideo_cb usbvideo_cb253,9296 -struct usbvideo usbvideo271,10003 -#define GET_CALLBACK(GET_CALLBACK288,10635 -#define VALID_CALLBACK(VALID_CALLBACK297,11031 -static inline int RingQueue_GetLength(305,11411 -static inline int RingQueue_GetFreeSpace(310,11539 -static inline void RGB24_PUTPIXEL(356,13245 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/w9968cf.c,4529 -static int ovmod_load 65,3038 -static int vppmod_load 66,3082 -static unsigned short simcams 67,3128 -static short video_nr[68,3177 -static unsigned int packet_size[69,3257 -static unsigned short max_buffers[71,3386 -static int double_buffer[73,3515 -static int clamping[75,3632 -static unsigned short filter_type[76,3708 -static int largeview[78,3839 -static unsigned short decompression[79,3916 -static int upscaling[81,4055 -static unsigned short force_palette[82,4132 -static int force_rgb[83,4209 -static int autobright[84,4287 -static int autoexp[85,4367 -static unsigned short lightfreq[86,4441 -static int bandingfilter[88,4568 -static short clockdiv[90,4683 -static int backlight[91,4761 -static int mirror[92,4839 -static int monochrome[93,4911 -static unsigned int brightness[94,4989 -static unsigned int hue[96,5115 -static unsigned int colour[97,5190 -static unsigned int contrast[98,5269 -static unsigned int whiteness[100,5389 -static unsigned short debug 103,5533 -static int specific_debug 104,5584 -static unsigned int param_nv[107,5644 -static struct file_operations w9968cf_fops;410,20838 -struct w9968cf_symbolic_list w9968cf_symbolic_list508,26215 -symbolic(518,26616 -static struct w9968cf_symbolic_list camlist[529,26803 -static struct w9968cf_symbolic_list senlist[547,27566 -static struct w9968cf_symbolic_list v4l1_plist[560,27892 -static struct w9968cf_symbolic_list decoder_errlist[581,28590 -static struct w9968cf_symbolic_list urb_errlist[592,29050 -static inline unsigned long kvirt_to_pa(617,30155 -static void* rvmalloc(628,30398 -static void rvfree(650,30780 -static void w9968cf_deallocate_memory(670,31240 -static int w9968cf_allocate_memory(709,32314 -static void w9968cf_urb_complete(813,35872 -static int w9968cf_start_transfer(932,39346 -static int w9968cf_stop_transfer(1037,42375 -static int w9968cf_write_reg(1084,43667 -static int w9968cf_read_reg(1106,44438 -static int w9968cf_write_fsb(1129,45224 -static int w9968cf_write_sb(1153,45992 -static int w9968cf_read_sb(1168,46428 -static int w9968cf_upload_quantizationtables(1184,46898 -static int w9968cf_smbus_start(1212,47971 -static int w9968cf_smbus_stop(1223,48195 -static int w9968cf_smbus_write_byte(1234,48418 -static int w9968cf_smbus_read_byte(1254,48836 -static int w9968cf_smbus_write_ack(1271,49138 -static int w9968cf_smbus_read_ack(1283,49431 -static int w9968cf_smbus_refresh_bus(1302,49892 -w9968cf_i2c_adap_fastwrite_byte_data(1319,50213 -w9968cf_i2c_adap_read_byte_data(1388,52569 -w9968cf_i2c_adap_read_byte(1428,53744 -w9968cf_i2c_adap_write_byte(1459,54518 -w9968cf_i2c_smbus_xfer(1473,54956 -static u32 w9968cf_i2c_func(1530,56351 -static int w9968cf_i2c_attach_inform(1538,56527 -static int w9968cf_i2c_detach_inform(1564,57141 -w9968cf_i2c_control(1579,57462 -static int w9968cf_i2c_init(1586,57585 -static int w9968cf_turn_on_led(1632,59082 -static int w9968cf_init_chip(1657,59971 -static inline u16 w9968cf_valid_palette(1714,62460 -static inline u16 w9968cf_valid_depth(1730,62907 -static inline u8 w9968cf_need_decompression(1743,63293 -w9968cf_set_picture(1760,63791 -w9968cf_set_window(1855,66406 - #define __SC(__SC1863,66636 - #define __UNSC(__UNSC1864,66665 -w9968cf_adjust_window_size(2018,70911 -static void w9968cf_init_framelist(2051,71893 -static void w9968cf_push_frame(2067,72363 -w9968cf_pop_frame(2090,73138 -w9968cf_postprocess_frame(2114,73836 - #define _PSWAP(_PSWAP2128,74252 -w9968cf_sensor_set_control(2179,75740 -w9968cf_sensor_get_control(2194,75981 -w9968cf_sensor_cmd(2210,76235 -static int w9968cf_sensor_update_settings(2228,76839 -static int w9968cf_sensor_get_picture(2277,78218 -w9968cf_sensor_update_picture(2316,79303 -static int w9968cf_sensor_init(2380,81432 -w9968cf_configure_camera(2455,83453 -static void w9968cf_release_resources(2686,91188 -static int w9968cf_open(2708,91815 -static int w9968cf_release(2797,93992 -w9968cf_read(2827,94570 -static int w9968cf_mmap(2896,96052 -w9968cf_ioctl(2937,97096 -static int w9968cf_v4l_ioctl(2967,97726 - #define V4L1_IOCTL(V4L1_IOCTL2980,98240 -static struct file_operations w9968cf_fops 3507,111349 -w9968cf_usb_probe(3524,111831 -static void w9968cf_usb_disconnect(3654,115566 -static struct usb_driver w9968cf_usb_driver 3692,116418 -static int w9968cf_vppmod_detect(3706,116868 -static void w9968cf_vppmod_release(3737,117475 -int w9968cf_vppmod_register(3752,117786 -int w9968cf_vppmod_deregister(3771,118143 -static int __init w9968cf_module_init(3806,118831 -static void __exit w9968cf_module_exit(3823,119103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/w9968cf_decoder.h,535 -#define _W9968CF_DECODER_H_22,1493 -#define W9968CF_DEC_FAST_LOWQUALITY_VIDEO25,1592 -static const unsigned char Y_QUANTABLE[28,1676 -static const unsigned char UV_QUANTABLE[39,2046 -static const unsigned char Y_QUANTABLE[50,2422 -static const unsigned char UV_QUANTABLE[61,2792 -#define W9968CF_DEC_ERR_CORRUPTED_DATA 73,3170 -#define W9968CF_DEC_ERR_BUF_OVERFLOW 74,3213 -#define W9968CF_DEC_ERR_NO_SOI 75,3256 -#define W9968CF_DEC_ERR_NO_SOF0 76,3299 -#define W9968CF_DEC_ERR_NO_SOS 77,3342 -#define W9968CF_DEC_ERR_NO_EOI 78,3385 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/vicam.c,2014 -#define ADBG(ADBG50,1853 -#define DBG(DBG51,1937 -#define DBG(DBG53,2031 -#define DRIVER_AUTHOR 56,2079 -#define DRIVER_DESC 57,2143 -#define USB_VICAM_VENDOR_ID 60,2245 -#define USB_VICAM_PRODUCT_ID 61,2280 -#define VICAM_BYTES_PER_PIXEL 63,2317 -#define VICAM_MAX_READ_SIZE 64,2351 -#define VICAM_MAX_FRAME_SIZE 65,2397 -#define VICAM_FRAMES 66,2461 -#define VICAM_HEADER_SIZE 68,2496 -#define clamp(clamp70,2532 -static unsigned char setup1[81,2967 -static unsigned char setup2[89,3237 -static unsigned char setup3[94,3336 -static unsigned char setup4[98,3422 -static unsigned char setup5[312,13787 -static unsigned long kvirt_to_pa(354,15723 -static void *rvmalloc(371,16185 -static void rvfree(392,16566 -struct vicam_camera vicam_camera408,16827 -static int __send_control_msg(438,17667 -static int send_control_msg(466,18243 -initialize_camera(483,18592 -set_camera_power(511,19256 -vicam_ioctl(526,19501 -vicam_open(766,24217 -vicam_close(826,25455 -static void vicam_decode_color(859,26013 -read_frame(932,27361 -vicam_read(1002,28916 -vicam_mmap(1037,29545 -static struct proc_dir_entry *vicam_proc_root 1075,30449 -static int vicam_read_helper(1077,30504 -static int vicam_read_proc_shutter(1098,30828 -static int vicam_read_proc_gain(1105,31045 -vicam_write_proc_shutter(1113,31261 -vicam_write_proc_gain(1136,31699 -vicam_create_proc_root(1159,32116 -vicam_destroy_proc_root(1171,32367 -vicam_create_proc_entry(1178,32475 -vicam_destroy_proc_entry(1219,33456 -static inline void vicam_create_proc_root(1236,33810 -static inline void vicam_destroy_proc_root(1237,33862 -static inline void vicam_create_proc_entry(1238,33915 -static inline void vicam_destroy_proc_entry(1239,33988 -static struct file_operations vicam_fops 1242,34055 -static struct video_device vicam_template 1252,34266 -static struct usb_device_id vicam_table[1262,34531 -static struct usb_driver vicam_driver 1269,34709 -vicam_probe(1286,35074 -vicam_disconnect(1353,36953 -usb_vicam_init(1399,37950 -usb_vicam_exit(1411,38207 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-dec1.c,56 -void pwc_dec1_init(31,1219 -void pwc_dec1_exit(36,1294 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-dec23.h,79 -#define PWC_DEC23_H26,1174 -struct pwc_dec23_privatepwc_dec23_private28,1195 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-nala.h,1071 - {0, 0, {0x04,3,20 - {0, 0, {0x04, 0x01,3,20 - {0, 0, {0x04, 0x01, 0x03}3,20 - {7, 0, {0x08,5,88 - {7, 0, {0x08, 0x01,5,88 - {7, 0, {0x08, 0x01, 0x03}5,88 - {6, 0, {0x0C,7,156 - {6, 0, {0x0C, 0x01,7,156 - {6, 0, {0x0C, 0x01, 0x03}7,156 - {4, 0, {0x14,9,224 - {4, 0, {0x14, 0x01,9,224 - {4, 0, {0x14, 0x01, 0x03}9,224 - {0, 0, {0x04,25,430 - {0, 0, {0x04, 0x01,25,430 - {0, 0, {0x04, 0x01, 0x02}25,430 - {7, 0, {0x08,27,498 - {7, 0, {0x08, 0x01,27,498 - {7, 0, {0x08, 0x01, 0x02}27,498 - {5, 0, {0x0C,29,566 - {5, 0, {0x0C, 0x01,29,566 - {5, 0, {0x0C, 0x01, 0x02}29,566 - {1, 0, {0x14,31,634 - {1, 0, {0x14, 0x01,31,634 - {1, 0, {0x14, 0x01, 0x02}31,634 - {4, 0, {0x04,47,838 - {4, 0, {0x04, 0x01,47,838 - {4, 0, {0x04, 0x01, 0x01}47,838 - {6, 1, {0x08,49,906 - {6, 1, {0x08, 0x03,49,906 - {6, 1, {0x08, 0x03, 0x01}49,906 - {3, 1, {0x0C,51,974 - {3, 1, {0x0C, 0x03,51,974 - {3, 1, {0x0C, 0x03, 0x01}51,974 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-timon.c,96 -const struct Timon_table_entry Timon_table[43,1888 -const unsigned int TimonRomTable 324,16316 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-ioctl.h,2301 -#define PWC_IOCTL_H2,20 -#define PSZ_SQCIF 56,2085 -#define PSZ_QSIF 57,2108 -#define PSZ_QCIF 58,2130 -#define PSZ_SIF 59,2152 -#define PSZ_CIF 60,2174 -#define PSZ_VGA 61,2196 -#define PSZ_MAX 62,2218 -#define PWC_FPS_SHIFT 72,2548 -#define PWC_FPS_MASK 73,2574 -#define PWC_FPS_FRMASK 74,2607 -#define PWC_FPS_SNAPSHOT 75,2642 -struct pwc_coordpwc_coord79,2730 -struct pwc_probepwc_probe87,2848 -struct pwc_serialpwc_serial93,2898 -#define PWC_WB_INDOOR 99,3032 -#define PWC_WB_OUTDOOR 100,3057 -#define PWC_WB_FL 101,3083 -#define PWC_WB_MANUAL 102,3104 -#define PWC_WB_AUTO 103,3129 -struct pwc_whitebalancepwc_whitebalance113,3520 -struct pwc_wb_speedpwc_wb_speed125,3852 -struct pwc_ledspwc_leds133,3952 -struct pwc_imagesizepwc_imagesize140,4118 -#define PWC_MPT_PAN 147,4224 -#define PWC_MPT_TILT 148,4250 -#define PWC_MPT_TIMEOUT 149,4277 -struct pwc_mpt_anglespwc_mpt_angles156,4546 -struct pwc_mpt_rangepwc_mpt_range165,4742 -struct pwc_mpt_statuspwc_mpt_status171,4838 -struct pwc_video_commandpwc_video_command183,5100 -#define PWCX_FLAG_PLANAR 197,5561 -#define PWCX_FLAG_BAYER 198,5593 -#define VIDIOCPWCRUSER 204,5681 -#define VIDIOCPWCSUSER 206,5745 -#define VIDIOCPWCFACTORY 208,5815 -#define VIDIOCPWCSCQUAL 218,6365 -#define VIDIOCPWCGCQUAL 220,6451 -#define VIDIOCPWCGSERIAL 224,6537 -#define VIDIOCPWCPROBE 236,7147 -#define VIDIOCPWCSAGC 239,7279 -#define VIDIOCPWCGAGC 241,7383 -#define VIDIOCPWCSSHUTTER 243,7497 -#define VIDIOCPWCSAWB 246,7591 -#define VIDIOCPWCGAWB 247,7663 -#define VIDIOCPWCSAWBSPEED 250,7757 -#define VIDIOCPWCGAWBSPEED 251,7820 -#define VIDIOCPWCSLED 254,7929 -#define VIDIOCPWCGLED 255,7993 -#define VIDIOCPWCSCONTOUR 258,8120 -#define VIDIOCPWCGCONTOUR 259,8166 -#define VIDIOCPWCSBACKLIGHT 262,8267 -#define VIDIOCPWCGBACKLIGHT 263,8315 -#define VIDIOCPWCSFLICKER 266,8412 -#define VIDIOCPWCGFLICKER 267,8458 -#define VIDIOCPWCSDYNNOISE 270,8572 -#define VIDIOCPWCGDYNNOISE 271,8619 -#define VIDIOCPWCGREALSIZE 274,8777 -#define VIDIOCPWCMPTRESET 277,8881 -#define VIDIOCPWCMPTGRANGE 278,8927 -#define VIDIOCPWCMPTSANGLE 279,8991 -#define VIDIOCPWCMPTGANGLE 280,9056 -#define VIDIOCPWCMPTSTATUS 281,9121 -#define VIDIOCPWCGVIDCMD 284,9257 -struct pwc_table_init_buffer pwc_table_init_buffer285,9323 -#define VIDIOCPWCGVIDTABLE 290,9387 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-kiara.h,79 -#define PWC_KIARA_H28,1224 -struct Kiara_table_entryKiara_table_entry32,1269 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-dec1.h,27 -#define PWC_DEC1_H28,1175 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-misc.c,99 -struct pwc_coord pwc_image_sizes[31,1276 -int pwc_decode_size(42,1452 -void pwc_construct(82,2504 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-uncompress.c,28 -int pwc_decompress(35,1352 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc.h,1075 -#define PWC_H26,1164 -#define PWC_MAGIC 45,1606 -#define PWC_DEBUG 49,1696 -#define TRACE_MODULE 52,1759 -#define TRACE_PROBE 53,1787 -#define TRACE_OPEN 54,1814 -#define TRACE_READ 55,1840 -#define TRACE_MEMORY 56,1866 -#define TRACE_FLOW 57,1894 -#define TRACE_SIZE 58,1920 -#define TRACE_PWCX 59,1946 -#define TRACE_SEQUENCE 60,1972 -#define Trace(Trace62,2003 -#define Debug(Debug63,2079 -#define Info(Info64,2133 -#define Err(Err65,2187 -#define TOUCAM_HEADER_SIZE 69,2276 -#define TOUCAM_TRAILER_SIZE 70,2306 -#define FEATURE_MOTOR_PANTILT 72,2338 -#define PWC_MAJOR 75,2397 -#define PWC_MINOR 76,2417 -#define PWC_VERSION 77,2437 -#define PWC_NAME 78,2477 -#define PWC_INT_PIPE 81,2537 -#define FRAME_LOWMARK 84,2632 -#define MAX_ISO_BUFS 87,2708 -#define ISO_FRAMES_PER_DESC 88,2732 -#define ISO_MAX_FRAME_SIZE 89,2763 -#define ISO_BUFFER_SIZE 90,2794 -#define MAX_FRAMES 93,2932 -#define PWC_FRAME_SIZE 95,3030 -#define MAX_IMAGES 98,3170 -struct pwc_iso_bufpwc_iso_buf101,3276 -struct pwc_frame_bufpwc_frame_buf110,3416 -struct pwc_devicepwc_device120,3615 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-kiara.c,96 -const struct Kiara_table_entry Kiara_table[45,1917 -const unsigned int KiaraRomTable 328,10209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-uncompress.h,67 -#define PWC_UNCOMPRESS_H31,1422 -#define PWCX_FLAG_PLANAR 38,1520 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-if.c,1806 -static struct usb_device_id pwc_device_table 78,2883 -static struct usb_driver pwc_driver 114,4532 -#define MAX_DEV_HINTS 122,4768 -#define MAX_ISOC_ERRORS 123,4793 -static int default_size 125,4821 -static int default_fps 126,4857 -static int default_fbufs 127,4886 -static int default_mbufs 128,4956 - int pwc_trace 129,5025 -static int power_save 130,5088 -static int led_on 131,5115 - int pwc_preferred_compression 132,5199 -} device_hint[138,5369 -static struct file_operations pwc_fops 151,5902 -static struct video_device pwc_template 161,6171 -static inline unsigned long kvirt_to_pa(208,8150 -static void * rvmalloc(218,8407 -static void rvfree(239,8807 -static int pwc_allocate_buffers(259,9099 -static void pwc_free_buffers(359,11861 -static inline int pwc_next_fill_frame(470,16209 -static void pwc_reset_buffers(522,17616 -static int pwc_handle_frame(552,18381 -static inline void pwc_next_image(605,19923 -static void pwc_isoc_handler(615,20236 -static int pwc_isoc_init(813,26707 -static void pwc_isoc_cleanup(919,29584 -int pwc_try_video_mode(955,30414 -static int pwc_video_open(989,31566 -static int pwc_video_close(1106,35089 -static ssize_t pwc_video_read(1173,37027 -static unsigned int pwc_video_poll(1242,39466 -static int pwc_video_do_ioctl(1262,39901 -static int pwc_video_ioctl(1600,48921 -static int pwc_video_mmap(1607,49104 -static int usb_pwc_probe(1644,49989 -static void usb_pwc_disconnect(1957,58867 -static int pwc_atoi(2013,60392 -static char *size 2030,60598 -static int fps 2031,60624 -static int fbufs 2032,60644 -static int mbufs 2033,60666 -static int trace 2034,60688 -static int compression 2035,60711 -static int leds[2036,60740 -static char *dev_hint[2037,60773 -static int __init usb_pwc_init(2062,61857 -static void __exit usb_pwc_exit(2202,66101 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-dec23.c,542 -static void fill_table_a000(40,1339 -static void fill_table_d000(66,2048 -void fill_table_color(90,2423 -void fill_table_dc00_d800(153,3902 -static unsigned int table_ops[185,4602 -static unsigned int MulIdx[208,6029 -void pwc_dec23_init(229,6854 -#define fill_nbits(fill_nbits294,8239 -#define get_nbits(get_nbits302,8479 -static void DecompressBand23(311,8770 -#define USE_SIGNED_INT_FOR_COLOR468,12920 -# define CLAMP(CLAMP470,12985 -# define CLAMP(CLAMP472,13036 -void pwc_dec23_decompress(562,14796 -void pwc_dec23_exit(618,16143 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-timon.h,79 -#define PWC_TIMON_H43,1885 -struct Timon_table_entryTimon_table_entry47,1930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/pwc/pwc-ctrl.c,4515 -#define SET_LUM_CTL 55,1998 -#define GET_LUM_CTL 56,2025 -#define SET_CHROM_CTL 57,2052 -#define GET_CHROM_CTL 58,2081 -#define SET_STATUS_CTL 59,2110 -#define GET_STATUS_CTL 60,2140 -#define SET_EP_STREAM_CTL 61,2170 -#define GET_EP_STREAM_CTL 62,2202 -#define SET_MPT_CTL 63,2234 -#define GET_MPT_CTL 64,2261 -#define AGC_MODE_FORMATTER 67,2347 -#define PRESET_AGC_FORMATTER 68,2383 -#define SHUTTER_MODE_FORMATTER 69,2421 -#define PRESET_SHUTTER_FORMATTER 70,2461 -#define PRESET_CONTOUR_FORMATTER 71,2502 -#define AUTO_CONTOUR_FORMATTER 72,2543 -#define BACK_LIGHT_COMPENSATION_FORMATTER 73,2583 -#define CONTRAST_FORMATTER 74,2632 -#define DYNAMIC_NOISE_CONTROL_FORMATTER 75,2668 -#define FLICKERLESS_MODE_FORMATTER 76,2716 -#define AE_CONTROL_SPEED 77,2759 -#define BRIGHTNESS_FORMATTER 78,2793 -#define GAMMA_FORMATTER 79,2831 -#define WB_MODE_FORMATTER 82,2928 -#define AWB_CONTROL_SPEED_FORMATTER 83,2963 -#define AWB_CONTROL_DELAY_FORMATTER 84,3007 -#define PRESET_MANUAL_RED_GAIN_FORMATTER 85,3051 -#define PRESET_MANUAL_BLUE_GAIN_FORMATTER 86,3099 -#define COLOUR_MODE_FORMATTER 87,3148 -#define SATURATION_MODE_FORMATTER1 88,3187 -#define SATURATION_MODE_FORMATTER2 89,3230 -#define SAVE_USER_DEFAULTS_FORMATTER 92,3332 -#define RESTORE_USER_DEFAULTS_FORMATTER 93,3377 -#define RESTORE_FACTORY_DEFAULTS_FORMATTER 94,3425 -#define READ_AGC_FORMATTER 95,3475 -#define READ_SHUTTER_FORMATTER 96,3511 -#define READ_RED_GAIN_FORMATTER 97,3551 -#define READ_BLUE_GAIN_FORMATTER 98,3592 -#define SENSOR_TYPE_FORMATTER1 99,3633 -#define READ_RAW_Y_MEAN_FORMATTER 100,3673 -#define SET_POWER_SAVE_MODE_FORMATTER 101,3715 -#define MIRROR_IMAGE_FORMATTER 102,3761 -#define LED_FORMATTER 103,3801 -#define SENSOR_TYPE_FORMATTER2 104,3833 -#define VIDEO_OUTPUT_CONTROL_FORMATTER 107,3944 -#define PT_RELATIVE_CONTROL_FORMATTER 110,4053 -#define PT_RESET_CONTROL_FORMATTER 111,4097 -#define PT_STATUS_FORMATTER 112,4138 -static char *size2name[114,4174 -struct Nala_table_entry Nala_table_entry132,4508 -static struct Nala_table_entry Nala_table[139,4683 -#define SendControlMsg(SendControlMsg148,4849 -#define RecvControlMsg(RecvControlMsg156,5087 -void pwc_hexdump(166,5339 -static inline int send_video_command(189,5720 -static inline int set_video_mode_Nala(202,6017 -static inline int set_video_mode_Timon(289,8197 -static inline int set_video_mode_Kiara(342,9728 -int pwc_set_video_mode(429,12397 -void pwc_set_image_buffer_size(478,13792 -int pwc_get_brightness(518,14799 -int pwc_set_brightness(529,14982 -int pwc_get_contrast(543,15232 -int pwc_set_contrast(554,15411 -int pwc_get_gamma(568,15655 -int pwc_set_gamma(579,15829 -int pwc_get_saturation(594,16073 -int pwc_set_saturation(607,16356 -static inline int pwc_set_agc(624,16743 -static inline int pwc_get_agc(649,17208 -static inline int pwc_set_shutter_speed(679,17825 -int pwc_camera_power(724,18623 -static inline int pwc_restore_user(742,18998 -static inline int pwc_save_user(748,19162 -static inline int pwc_restore_factory(754,19320 -static inline int pwc_set_awb(772,19787 -static inline int pwc_get_awb(792,20100 -static inline int pwc_set_red_gain(804,20295 -static inline int pwc_get_red_gain(817,20596 -static inline int pwc_set_blue_gain(830,20843 -static inline int pwc_get_blue_gain(843,21139 -static inline int pwc_read_red_gain(860,21562 -static inline int pwc_read_blue_gain(872,21798 -static inline int pwc_set_wb_speed(885,22037 -static inline int pwc_get_wb_speed(894,22262 -static inline int pwc_set_wb_delay(907,22504 -static inline int pwc_get_wb_delay(916,22729 -int pwc_set_leds(929,22969 -int pwc_get_leds(952,23398 -static inline int pwc_set_contour(971,23740 -static inline int pwc_get_contour(996,24275 -static inline int pwc_set_backlight(1018,24703 -static inline int pwc_get_backlight(1029,24930 -static inline int pwc_set_flicker(1042,25177 -static inline int pwc_get_flicker(1053,25391 -static inline int pwc_set_dynamic_noise(1066,25625 -static inline int pwc_get_dynamic_noise(1078,25872 -int pwc_mpt_reset(1090,26112 -static inline int pwc_mpt_set_angle(1098,26324 -static inline int pwc_mpt_get_status(1116,26941 -int pwc_get_cmos_sensor(1131,27328 -#define ARG_DEF(ARG_DEF1167,28303 -#define ARG_IN(ARG_IN1170,28401 -#define ARGR(ARGR1172,28475 -#define ARGA(ARGA1174,28533 -#define ARG_OUT(ARG_OUT1176,28598 -#define ARG_DEF(ARG_DEF1180,28646 -#define ARG_IN(ARG_IN1182,28703 -#define ARGR(ARGR1187,28818 -#define ARGA(ARGA1188,28850 -#define ARG_OUT(ARG_OUT1189,28883 -int pwc_ioctl(1197,29006 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/dabfirmware.h,81 -static INTEL_HEX_RECORD firmware[5,59 -static unsigned char bitstream[652,40016 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102.h,1614 -#define _SN9C102_H_22,1485 -#define SN9C102_DEBUG40,1899 -#define SN9C102_DEBUG_LEVEL 41,1921 -#define SN9C102_MAX_DEVICES 42,1957 -#define SN9C102_PRESERVE_IMGSCALE 43,1994 -#define SN9C102_MAX_FRAMES 44,2030 -#define SN9C102_URBS 45,2067 -#define SN9C102_ISO_PACKETS 46,2103 -#define SN9C102_ALTERNATE_SETTING 47,2139 -#define SN9C102_CTRL_TIMEOUT 48,2175 -#define SN9C102_MODULE_NAME 52,2297 -#define SN9C102_MODULE_AUTHOR 53,2377 -#define SN9C102_AUTHOR_EMAIL 54,2433 -#define SN9C102_MODULE_LICENSE 55,2498 -#define SN9C102_MODULE_VERSION 56,2536 -#define SN9C102_MODULE_VERSION_CODE 57,2577 -SN9C102_ID_TABLE;59,2639 -SN9C102_SENSOR_TABLE;60,2657 -enum sn9c102_frame_state sn9c102_frame_state62,2680 - F_UNUSED,63,2707 - F_QUEUED,64,2718 - F_GRABBING,65,2729 - F_DONE,66,2742 - F_ERROR,67,2751 -struct sn9c102_frame_t sn9c102_frame_t70,2765 -enum sn9c102_dev_state sn9c102_dev_state78,2922 - DEV_INITIALIZED 79,2947 - DEV_INITIALIZED = 0x01,79,2947 - DEV_DISCONNECTED 80,2972 - DEV_DISCONNECTED = 0x02,80,2972 - DEV_MISCONFIGURED 81,2998 - DEV_MISCONFIGURED = 0x04,81,2998 -enum sn9c102_io_method sn9c102_io_method84,3029 - IO_NONE,85,3054 - IO_READ,86,3064 - IO_MMAP,87,3074 -enum sn9c102_stream_state sn9c102_stream_state90,3088 - STREAM_OFF,91,3116 - STREAM_INTERRUPT,92,3129 - STREAM_ON,93,3148 -struct sn9c102_sysfs_attr sn9c102_sysfs_attr96,3164 -struct sn9c102_device sn9c102_device103,3313 -sn9c102_attach_sensor(136,4034 -# define DBG(DBG149,4357 -# define KDBG(KDBG161,5093 -# define KDBG(KDBG172,5710 -# define DBG(DBG173,5762 -#define PDBG(PDBG177,5833 -#define PDBGG(PDBGG181,6003 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/dabusb.h,1098 -#define _BULK_DATA_LEN 1,0 -}bulk_transfer_t,*pbulk_transfer_t;pbulk_transfer_t7,120 -#define DABUSB_MINOR 9,157 -#define DABUSB_VERSION 10,215 -#define IOCTL_DAB_BULK 11,245 -#define IOCTL_DAB_OVERRUNS 12,315 -#define IOCTL_DAB_VERSION 13,368 -typedef enum { _stopped=17,446 -typedef enum { _stopped=0, _started 17,446 -typedef enum { _stopped=0, _started } driver_state_t;driver_state_t17,446 -} dabusb_t,*pdabusb_t;pdabusb_t37,879 -} buff_t,*pbuff_t;pbuff_t44,983 -} bulk_completion_context_t, *pbulk_completion_context_t;pbulk_completion_context_t49,1045 -#define _DABUSB_IF 52,1105 -#define _DABUSB_ISOPIPE 53,1126 -#define _ISOPIPESIZE 54,1155 -#define _BULK_DATA_LEN 56,1183 -#define ANCHOR_LOAD_INTERNAL 59,1307 -#define CPUCS_REG 62,1409 -#define _TOTAL_BUFFERS 63,1437 -#define MAX_INTEL_HEX_RECORD_LENGTH 65,1465 -#define _BYTE_DEFINED68,1527 -typedef unsigned char BYTE;BYTE69,1549 -#define _WORD_DEFINED73,1625 -typedef unsigned short WORD;WORD74,1647 -typedef struct _INTEL_HEX_RECORD_INTEL_HEX_RECORD77,1702 -} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;PINTEL_HEX_RECORD83,1831 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/se401.h,2789 -#define __LINUX_se401_H3,25 -#define se401_DEBUG 9,132 -# define PDEBUG(PDEBUG12,201 -# define PDEBUG(PDEBUG15,329 -#define wait_interruptible(wait_interruptible19,453 -#define SE401_REQ_GET_CAMERA_DESCRIPTOR 31,725 -#define SE401_REQ_START_CONTINUOUS_CAPTURE 32,771 -#define SE401_REQ_STOP_CONTINUOUS_CAPTURE 33,819 -#define SE401_REQ_CAPTURE_FRAME 34,866 -#define SE401_REQ_GET_BRT 35,905 -#define SE401_REQ_SET_BRT 36,938 -#define SE401_REQ_GET_WIDTH 37,971 -#define SE401_REQ_SET_WIDTH 38,1006 -#define SE401_REQ_GET_HEIGHT 39,1041 -#define SE401_REQ_SET_HEIGHT 40,1077 -#define SE401_REQ_GET_OUTPUT_MODE 41,1113 -#define SE401_REQ_SET_OUTPUT_MODE 42,1153 -#define SE401_REQ_GET_EXT_FEATURE 43,1193 -#define SE401_REQ_SET_EXT_FEATURE 44,1233 -#define SE401_REQ_CAMERA_POWER 45,1273 -#define SE401_REQ_LED_CONTROL 46,1311 -#define SE401_REQ_BIOS 47,1348 -#define SE401_BIOS_READ 49,1380 -#define SE401_FORMAT_BAYER 51,1413 -#define HV7131_REG_MODE_A 56,1564 -#define HV7131_REG_MODE_B 57,1596 -#define HV7131_REG_MODE_C 58,1628 -#define HV7131_REG_FRSU 60,1683 -#define HV7131_REG_FRSL 61,1713 -#define HV7131_REG_FCSU 62,1743 -#define HV7131_REG_FCSL 63,1773 -#define HV7131_REG_FWHU 64,1803 -#define HV7131_REG_FWHL 65,1833 -#define HV7131_REG_FWWU 66,1863 -#define HV7131_REG_FWWL 67,1893 -#define HV7131_REG_THBU 69,1947 -#define HV7131_REG_THBL 70,1977 -#define HV7131_REG_TVBU 71,2007 -#define HV7131_REG_TVBL 72,2037 -#define HV7131_REG_TITU 73,2067 -#define HV7131_REG_TITM 74,2097 -#define HV7131_REG_TITL 75,2127 -#define HV7131_REG_TMCD 76,2157 -#define HV7131_REG_ARLV 78,2211 -#define HV7131_REG_ARCG 79,2241 -#define HV7131_REG_AGCG 80,2271 -#define HV7131_REG_ABCG 81,2301 -#define HV7131_REG_APBV 82,2331 -#define HV7131_REG_ASLP 83,2361 -#define HV7131_REG_OFSR 85,2415 -#define HV7131_REG_OFSG 86,2445 -#define HV7131_REG_OFSB 87,2475 -#define HV7131_REG_LOREFNOH 89,2545 -#define HV7131_REG_LOREFNOL 90,2578 -#define HV7131_REG_HIREFNOH 91,2611 -#define HV7131_REG_HIREFNOL 92,2644 -#define SE401_OPERATINGMODE 95,2700 -#define SE401_PACKETSIZE 99,2765 -#define SE401_NUMSBUF 101,2859 -#define SE401_VIDEO_ENDPOINT 103,2925 -#define SE401_BUTTON_ENDPOINT 104,2956 -#define SE401_NUMFRAMES 106,3037 -#define SE401_NUMSCRATCH 108,3119 -#define SE401_VLCDATALEN 110,3195 -#define SE401_MAX_NULLPACKETS 112,3296 -#define SE401_MAX_ERRORS 114,3389 -struct se401_sbuf se401_sbuf118,3439 - FRAME_UNUSED,123,3492 - FRAME_READY,124,3535 - FRAME_GRABBING,125,3580 - FRAME_DONE,126,3641 - FRAME_ERROR,127,3704 - FMT_BAYER,131,3776 - FMT_JANGGU,132,3788 - BUFFER_UNUSED,136,3812 - BUFFER_READY,137,3828 - BUFFER_BUSY,138,3843 - BUFFER_DONE,139,3857 -struct se401_scratch se401_scratch142,3875 -struct se401_frame se401_frame149,3971 -struct usb_se401 usb_se401159,4144 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/ov511.h,7453 -#define __LINUX_OV511_H2,24 -#define OV511_DEBUG 9,154 - #define PDEBUG(PDEBUG12,223 - #define PDEBUG(PDEBUG16,351 -#define RESTRICT_TO_RANGE(RESTRICT_TO_RANGE20,476 -#define VEND_OMNIVISION 30,720 -#define PROD_OV511 31,751 -#define PROD_OV511PLUS 32,777 -#define PROD_OV518 33,807 -#define PROD_OV518PLUS 34,833 -#define VEND_MATTEL 36,864 -#define PROD_ME2CAM 37,891 -#define R511_CAM_DELAY 44,1080 -#define R511_CAM_EDGE 45,1109 -#define R511_CAM_PXCNT 46,1137 -#define R511_CAM_LNCNT 47,1166 -#define R511_CAM_PXDIV 48,1195 -#define R511_CAM_LNDIV 49,1224 -#define R511_CAM_UV_EN 50,1253 -#define R511_CAM_LINE_MODE 51,1282 -#define R511_CAM_OPTS 52,1314 -#define R511_SNAP_FRAME 55,1397 -#define R511_SNAP_PXCNT 56,1427 -#define R511_SNAP_LNCNT 57,1457 -#define R511_SNAP_PXDIV 58,1487 -#define R511_SNAP_LNDIV 59,1517 -#define R511_SNAP_UV_EN 60,1547 -#define R511_SNAP_OPTS 61,1577 -#define R511_DRAM_FLOW_CTL 64,1635 -#define R511_DRAM_ARCP 65,1667 -#define R511_DRAM_MRC 66,1696 -#define R511_DRAM_RFC 67,1724 -#define R51x_FIFO_PSIZE 70,1785 -#define R511_FIFO_OPTS 71,1846 -#define R511_PIO_OPTS 74,1911 -#define R511_PIO_DATA 75,1939 -#define R511_PIO_BIST 76,1967 -#define R518_GPIO_IN 77,1995 -#define R518_GPIO_OUT 78,2042 -#define R518_GPIO_CTL 79,2090 -#define R518_GPIO_PULSE_IN 80,2138 -#define R518_GPIO_PULSE_CLEAR 81,2190 -#define R518_GPIO_PULSE_POL 82,2245 -#define R518_GPIO_PULSE_EN 83,2298 -#define R518_GPIO_RESET 84,2350 -#define R511_I2C_CTL 87,2421 -#define R518_I2C_CTL 88,2448 -#define R51x_I2C_W_SID 89,2495 -#define R51x_I2C_SADDR_3 90,2524 -#define R51x_I2C_SADDR_2 91,2554 -#define R51x_I2C_R_SID 92,2584 -#define R51x_I2C_DATA 93,2613 -#define R51x_I2C_CLOCK 94,2641 -#define R51x_I2C_TIMEOUT 95,2670 -#define R511_SI2C_SADDR_3 98,2730 -#define R511_SI2C_DATA 99,2761 -#define R51x_SYS_RESET 102,2822 -#define OV511_RESET_UDC 104,2882 -#define OV511_RESET_I2C 105,2913 -#define OV511_RESET_FIFO 106,2944 -#define OV511_RESET_OMNICE 107,2975 -#define OV511_RESET_DRAM 108,3008 -#define OV511_RESET_CAM_INT 109,3039 -#define OV511_RESET_OV511 110,3073 -#define OV511_RESET_NOREGS 111,3105 -#define OV511_RESET_ALL 112,3165 -#define R511_SYS_CLOCK_DIV 114,3197 -#define R51x_SYS_SNAP 115,3229 -#define R51x_SYS_INIT 116,3257 -#define R511_SYS_PWR_CLK 117,3293 -#define R511_SYS_LED_CTL 118,3350 -#define R511_SYS_USER 119,3398 -#define R511_SYS_CUST_ID 120,3426 -#define R511_COMP_PHY 123,3494 -#define R511_COMP_PHUV 124,3522 -#define R511_COMP_PVY 125,3551 -#define R511_COMP_PVUV 126,3579 -#define R511_COMP_QHY 127,3608 -#define R511_COMP_QHUV 128,3636 -#define R511_COMP_QVY 129,3665 -#define R511_COMP_QVUV 130,3693 -#define R511_COMP_EN 131,3722 -#define R511_COMP_LUT_EN 132,3749 -#define R511_COMP_LUT_BEGIN 133,3781 -#define OV511_ALT_SIZE_992 140,4002 -#define OV511_ALT_SIZE_993 141,4031 -#define OV511_ALT_SIZE_768 142,4060 -#define OV511_ALT_SIZE_769 143,4089 -#define OV511_ALT_SIZE_512 144,4118 -#define OV511_ALT_SIZE_513 145,4147 -#define OV511_ALT_SIZE_257 146,4176 -#define OV511_ALT_SIZE_0 147,4205 -#define OV511PLUS_ALT_SIZE_0 150,4300 -#define OV511PLUS_ALT_SIZE_33 151,4331 -#define OV511PLUS_ALT_SIZE_129 152,4363 -#define OV511PLUS_ALT_SIZE_257 153,4396 -#define OV511PLUS_ALT_SIZE_385 154,4429 -#define OV511PLUS_ALT_SIZE_513 155,4462 -#define OV511PLUS_ALT_SIZE_769 156,4495 -#define OV511PLUS_ALT_SIZE_961 157,4528 -#define OV518_ALT_SIZE_0 160,4631 -#define OV518_ALT_SIZE_128 161,4658 -#define OV518_ALT_SIZE_256 162,4687 -#define OV518_ALT_SIZE_384 163,4716 -#define OV518_ALT_SIZE_512 164,4745 -#define OV518_ALT_SIZE_640 165,4774 -#define OV518_ALT_SIZE_768 166,4803 -#define OV518_ALT_SIZE_896 167,4832 -#define OV7610_REG_GAIN 174,5006 -#define OV7610_REG_BLUE 175,5069 -#define OV7610_REG_RED 176,5134 -#define OV7610_REG_SAT 177,5198 -#define OV7610_REG_CNT 179,5276 -#define OV7610_REG_BRT 180,5331 -#define OV7610_REG_BLUE_BIAS 182,5414 -#define OV7610_REG_RED_BIAS 183,5482 -#define OV7610_REG_GAMMA_COEFF 184,5550 -#define OV7610_REG_WB_RANGE 185,5609 -#define OV7610_REG_EXP 186,5676 -#define OV7610_REG_CLOCK 187,5744 -#define OV7610_REG_COM_A 188,5813 -#define OV7610_REG_COM_B 189,5874 -#define OV7610_REG_COM_C 190,5935 -#define OV7610_REG_COM_D 191,5996 -#define OV7610_REG_FIELD_DIVIDE 192,6057 -#define OV7610_REG_HWIN_START 193,6130 -#define OV7610_REG_HWIN_END 194,6198 -#define OV7610_REG_VWIN_START 195,6264 -#define OV7610_REG_VWIN_END 196,6330 -#define OV7610_REG_PIXEL_SHIFT 197,6394 -#define OV7610_REG_ID_HIGH 198,6450 -#define OV7610_REG_ID_LOW 199,6514 -#define OV7610_REG_COM_E 201,6604 -#define OV7610_REG_YOFFSET 202,6665 -#define OV7610_REG_UOFFSET 203,6726 -#define OV7610_REG_ECW 205,6810 -#define OV7610_REG_ECB 206,6883 -#define OV7610_REG_COM_F 207,6956 -#define OV7610_REG_COM_G 208,7014 -#define OV7610_REG_COM_H 209,7072 -#define OV7610_REG_COM_I 210,7130 -#define OV7610_REG_FRAMERATE_H 211,7188 -#define OV7610_REG_FRAMERATE_L 212,7254 -#define OV7610_REG_ALC 213,7313 -#define OV7610_REG_COM_J 214,7385 -#define OV7610_REG_VOFFSET 215,7443 -#define OV7610_REG_ARRAY_BIAS 216,7515 -#define OV7610_REG_YGAMMA 218,7610 -#define OV7610_REG_BIAS_ADJUST 219,7680 -#define OV7610_REG_COM_L 220,7743 -#define OV7610_REG_COM_K 222,7827 -#define OV7xx0_SID 228,8008 -#define OV6xx0_SID 229,8034 -#define OV8xx0_SID 230,8060 -#define KS0127_SID 231,8086 -#define SAA7111A_SID 232,8112 -#define I2C_CLOCK_PRESCALER 238,8260 -#define FRAMES_PER_DESC 240,8295 -#define MAX_FRAME_SIZE_PER_DESC 241,8358 -#define PIXELS_PER_SEG 242,8431 -#define OV511_ENDPOINT_ADDRESS 244,8485 -#define OV511_NUMFRAMES 246,8546 -#define OV511_NUMSBUF 251,8656 -#define OV511_CBUF_SIZE 254,8724 -#define OV511_USB_PATH_LEN 257,8789 - BRG_UNKNOWN,261,8846 - BRG_OV511,262,8860 - BRG_OV511PLUS,263,8872 - BRG_OV518,264,8888 - BRG_OV518PLUS,265,8900 - BCL_UNKNOWN,270,8948 - BCL_OV511,271,8962 - BCL_OV518,272,8974 - SEN_UNKNOWN,277,9016 - SEN_OV76BE,278,9030 - SEN_OV7610,279,9043 - SEN_OV7620,280,9056 - SEN_OV7620AE,281,9069 - SEN_OV6620,282,9084 - SEN_OV6630,283,9097 - SEN_OV6630AE,284,9110 - SEN_OV6630AF,285,9125 - SEN_OV8600,286,9140 - SEN_KS0127,287,9153 - SEN_KS0127B,288,9166 - SEN_SAA7111A,289,9180 - STATE_SCANNING,293,9206 - STATE_HEADER,294,9249 - STATE_LINES,295,9286 - BUF_NOT_ALLOCATED,300,9352 - BUF_ALLOCATED,301,9372 -#define OV511_INTERFACE_VER 306,9449 - LED_OFF,310,9507 - LED_ON,311,9517 - LED_AUTO,312,9526 - RAWFMT_INVALID,317,9572 - RAWFMT_YUV400,318,9589 - RAWFMT_YUV420,319,9605 - RAWFMT_YUV422,320,9621 - RAWFMT_GBR422,321,9637 -struct ov511_i2c_struct ov511_i2c_struct324,9657 -#define OV511IOC_WI2C 332,9947 -#define OV511IOC_RI2C 334,10044 -struct ov511_sbuf ov511_sbuf340,10243 - FRAME_UNUSED,349,10363 - FRAME_READY,350,10406 - FRAME_GRABBING,351,10451 - FRAME_DONE,352,10512 - FRAME_ERROR,353,10575 -struct ov511_regvals ov511_regvals356,10640 - OV511_DONE_BUS,358,10671 - OV511_REG_BUS,359,10689 - OV511_I2C_BUS,360,10706 -struct ov511_frame ov511_frame366,10775 -#define DECOMP_INTERFACE_VER 396,11795 -struct ov51x_decomp_ops ov51x_decomp_ops399,11863 -struct usb_ov511 usb_ov511409,12189 -struct symbolic_list symbolic_list506,15094 -#define NOT_DEFINED_STR 511,15144 -symbolic(517,15353 -#define OV511_QUANTABLESIZE 530,15561 -#define OV518_QUANTABLESIZE 531,15592 -#define OV511_YQUANTABLE 533,15624 -#define OV511_UVQUANTABLE 544,15872 -#define OV518_YQUANTABLE 555,16121 -#define OV518_UVQUANTABLE 562,16261 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/stv680.c,1743 -static int video_nr 73,2833 -static int swapRGB 74,2859 -static int swapRGB_on 75,2915 -static unsigned int debug 77,3010 -#define PDEBUG(PDEBUG79,3042 -#define DRIVER_VERSION 89,3216 -#define DRIVER_AUTHOR 90,3247 -#define DRIVER_DESC 91,3309 -static inline unsigned long kvirt_to_pa 125,4577 -static void *rvmalloc 135,4820 -static void rvfree 155,5203 -static int stv_sndctrl 176,5641 -static int stv_set_config 220,6937 -static int stv_stop_video 235,7411 -static int stv_set_video_mode 281,8804 -static int stv_init 328,9836 -static inline struct usb_stv *cd_to_stv(515,15530 -#define stv680_file(stv680_file521,15683 -static void stv680_create_sysfs_files(539,16391 -static void stv680_remove_sysfs_files(551,16973 -static int stv680_get_pict 567,17714 -static int stv680_set_pict 581,18101 -static void stv680_video_irq 605,18647 -static int stv680_start_stream 664,20284 -static int stv680_stop_stream 717,21798 -static int stv680_set_size 741,22269 -#define RED 799,24251 -#define GREEN 800,24265 -#define BLUE 801,24281 -#define AD(AD802,24296 -static void bayer_unshuffle 804,24335 -static int stv680_newframe 1005,30651 -static int stv_open 1049,32153 -static int stv_close 1073,32726 -static int stv680_do_ioctl 1099,33369 -static int stv680_ioctl(1267,37351 -static int stv680_mmap 1273,37524 -static ssize_t stv680_read 1311,38395 -static struct file_operations stv680_fops 1359,39671 -static struct video_device stv680_template 1368,39896 -static int stv680_probe 1378,40143 -static inline void usb_stv680_remove_disconnected 1447,42127 -static void stv680_disconnect 1473,42761 -static struct usb_driver stv680_driver 1494,43228 -static int __init usb_stv680_init 1506,43564 -static void __exit usb_stv680_exit 1518,43856 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102_pas106b.c,274 -static struct sn9c102_sensor pas106b;26,1597 -static int pas106b_init(29,1637 -static int pas106b_get_ctrl(61,2620 -static int pas106b_set_ctrl(96,3450 -static int pas106b_set_crop(126,4176 -static struct sn9c102_sensor pas106b 141,4578 -int sn9c102_probe_pas106b(227,6324 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102_pas202bcb.c,288 -static struct sn9c102_sensor pas202bcb;28,1751 -static int pas202bcb_init(31,1793 -static int pas202bcb_get_ctrl(61,2690 -static int pas202bcb_set_ctrl(91,3393 -static int pas202bcb_set_crop(118,4030 -static struct sn9c102_sensor pas202bcb 133,4438 -int sn9c102_probe_pas202bcb(210,5956 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/konicawc.c,2328 -#define MAX_BRIGHTNESS 22,376 -#define MAX_CONTRAST 23,403 -#define MAX_SATURATION 24,428 -#define MAX_SHARPNESS 25,455 -#define MAX_WHITEBAL 26,481 -#define MAX_SPEED 27,506 -#define MAX_CAMERAS 30,528 -#define DRIVER_VERSION 32,551 -#define DRIVER_DESC 33,581 -enum ctrl_req ctrl_req35,625 - SetWhitebal 36,641 - SetWhitebal = 0x01,36,641 - SetBrightness 37,662 - SetBrightness = 0x02,37,662 - SetSharpness 38,685 - SetSharpness = 0x03,38,685 - SetContrast 39,714 - SetContrast = 0x04,39,714 - SetSaturation 40,735 - SetSaturation = 0x05,40,735 -enum frame_sizes frame_sizes44,763 - SIZE_160X120 45,782 - SIZE_160X136 46,801 - SIZE_176X144 47,820 - SIZE_320X240 48,839 -#define MAX_FRAME_SIZE 52,864 -static struct usbvideo *cams;54,901 -static int debug;57,956 -#define DEBUG(DEBUG58,974 -#define DEBUG(DEBUG63,1118 -static const int debug 64,1143 -static int size;71,1262 -static int speed 72,1280 -static int brightness 73,1348 -static int contrast 74,1390 -static int saturation 75,1428 -static int sharpness 76,1470 -static int whitebal 77,1510 -static int spd_to_iface[79,1553 -static int spd_to_fps[86,1752 -struct cam_size cam_size91,1948 -static struct cam_size camera_sizes[97,2004 -struct konicawc konicawc102,2146 -#define konicawc_set_misc(konicawc_set_misc127,2896 -#define konicawc_get_misc(konicawc_get_misc128,3011 -#define konicawc_set_value(konicawc_set_value129,3133 -static int konicawc_ctrl_msg(132,3245 -static inline void konicawc_camera_on(141,3571 -static inline void konicawc_camera_off(148,3709 -static void konicawc_set_camera_size(155,3849 -static int konicawc_setup_on_open(169,4308 -static void konicawc_adjust_picture(195,5224 -static int konicawc_compress_iso(221,6195 -static void resubmit_urb(319,8581 -static void konicawc_isoc_irq(335,9012 -static int konicawc_start_data(378,10128 -static void konicawc_stop_data(462,12494 -static void konicawc_process_isoc(497,13264 -static int konicawc_find_fps(571,15471 -static int konicawc_set_video_mode(596,16005 -static int konicawc_calculate_fps(662,17724 -static void konicawc_configure_video(669,17866 -static int konicawc_probe(726,19678 -static void konicawc_free_uvd(874,24170 -static struct usb_device_id id_table[889,24459 -static int __init konicawc_init(895,24588 -static void __exit konicawc_cleanup(920,25241 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102_tas5130d1b.c,253 -static struct sn9c102_sensor tas5130d1b;25,1572 -static int tas5130d1b_init(28,1615 -static int tas5130d1b_set_ctrl(48,2178 -static int tas5130d1b_set_crop(63,2596 -static struct sn9c102_sensor tas5130d1b 83,3165 -int sn9c102_probe_tas5130d1b(126,3957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/ultracam.c,1377 -#define ULTRACAM_VENDOR_ID 15,248 -#define ULTRACAM_PRODUCT_ID 16,282 -#define MAX_CAMERAS 18,318 -} ultracam_t;ultracam_t27,592 -#define ULTRACAM_T(ULTRACAM_T28,606 -static struct usbvideo *cams 30,666 -static int debug 32,704 -static int flags 34,727 -static const int min_canvasWidth 36,799 -static const int min_canvasHeight 37,838 -#define FRAMERATE_MIN 39,878 -#define FRAMERATE_MAX 40,902 -static int framerate 41,926 -static int init_brightness 57,1599 -static int init_contrast 58,1633 -static int init_color 59,1665 -static int init_hue 60,1694 -static int hue_correction 61,1721 -static void ultracam_ProcessIsocData(98,3040 -static int ultracam_veio(134,3871 -static int ultracam_calculate_fps(188,4925 -static void ultracam_adjust_contrast(196,5057 -static void ultracam_set_brightness(205,5208 -static void ultracam_set_hue(209,5266 -static void ultracam_adjust_picture(219,5476 -static void ultracam_video_stop(232,5762 -static void ultracam_reinit_iso(243,6037 -static void ultracam_video_start(247,6104 -static int ultracam_resetPipe(252,6189 -static int ultracam_alternateSetting(258,6296 -static int ultracam_setup_on_open(274,6657 -static void ultracam_configure_video(462,15240 -static int ultracam_probe(512,16724 -static struct usb_device_id id_table[642,20426 -static int __init ultracam_init(652,20636 -static void __exit ultracam_cleanup(674,21207 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/w9968cf_vpp.h,76 -#define _W9968CF_VPP_H_23,1566 -struct w9968cf_vpp_t w9968cf_vpp_t28,1641 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/w9968cf.h,3233 -#define _W9968CF_H_22,1485 -#define W9968CF_OVMOD_LOAD 46,2104 -#define W9968CF_VPPMOD_LOAD 47,2182 -#define W9968CF_DEBUG50,2343 -#define W9968CF_DEBUG_LEVEL 53,2423 -#define W9968CF_SPECIFIC_DEBUG 54,2503 -#define W9968CF_MAX_DEVICES 56,2550 -#define W9968CF_SIMCAMS 57,2584 -#define W9968CF_MAX_BUFFERS 59,2663 -#define W9968CF_BUFFERS 60,2696 -static const u16 wMaxPacketSize[63,2842 -#define W9968CF_PACKET_SIZE 65,2999 -#define W9968CF_MIN_PACKET_SIZE 66,3074 -#define W9968CF_ISO_PACKETS 67,3130 -#define W9968CF_USB_CTRL_TIMEOUT 68,3210 -#define W9968CF_URBS 69,3285 -#define W9968CF_I2C_BUS_DELAY 71,3365 -#define W9968CF_I2C_RW_RETRIES 72,3445 -struct w9968cf_format w9968cf_format75,3548 -static const struct w9968cf_format w9968cf_formatlist[81,3637 -#define W9968CF_DECOMPRESSION 96,4433 -#define W9968CF_PALETTE_DECOMP_OFF 97,4513 -#define W9968CF_PALETTE_DECOMP_FORCE 98,4592 -#define W9968CF_PALETTE_DECOMP_ON 99,4671 -#define W9968CF_FORCE_RGB 101,4751 -#define W9968CF_MAX_WIDTH 103,4830 -#define W9968CF_MAX_HEIGHT 104,4902 -#define W9968CF_WIDTH 105,4974 -#define W9968CF_HEIGHT 106,5047 -#define W9968CF_CLAMPING 108,5121 -#define W9968CF_FILTER_TYPE 109,5200 -#define W9968CF_DOUBLE_BUFFER 110,5275 -#define W9968CF_LARGEVIEW 111,5348 -#define W9968CF_UPSCALING 112,5407 -#define W9968CF_MONOCHROME 114,5467 -#define W9968CF_BRIGHTNESS 115,5544 -#define W9968CF_HUE 116,5603 -#define W9968CF_COLOUR 117,5662 -#define W9968CF_CONTRAST 118,5721 -#define W9968CF_WHITENESS 119,5780 -#define W9968CF_AUTOBRIGHT 121,5840 -#define W9968CF_AUTOEXP 122,5920 -#define W9968CF_LIGHTFREQ 123,5998 -#define W9968CF_BANDINGFILTER 124,6077 -#define W9968CF_BACKLIGHT 125,6151 -#define W9968CF_MIRROR 126,6226 -#define W9968CF_CLOCKDIV 128,6307 -#define W9968CF_DEF_CLOCKDIVISOR 129,6378 -#define W9968CF_MODULE_NAME 136,6693 -#define W9968CF_MODULE_VERSION 138,6821 -#define W9968CF_MODULE_AUTHOR 139,6868 -#define W9968CF_AUTHOR_EMAIL 140,6929 -#define W9968CF_MODULE_LICENSE 141,6994 -static const struct usb_device_id winbond_id_table[143,7033 -enum w9968cf_model_id w9968cf_model_id158,7433 - W9968CF_MOD_GENERIC 159,7457 - W9968CF_MOD_CLVBWGP 160,7521 - W9968CF_MOD_ADPVDMA 161,7594 - W9986CF_MOD_AAU 162,7665 - W9968CF_MOD_CLVBWG 163,7719 - W9968CF_MOD_LL 164,7790 - W9968CF_MOD_EEEMC 165,7838 - W9968CF_MOD_OOE 166,7897 - W9968CF_MOD_ODPVDMPC 167,7952 - W9968CF_MOD_PDPII 168,8025 - W9968CF_MOD_PDP480 169,8077 -enum w9968cf_frame_status w9968cf_frame_status172,8133 - F_READY,173,8161 - F_GRABBING,174,8232 - F_ERROR,175,8296 - F_UNUSED 176,8363 -struct w9968cf_frame_t w9968cf_frame_t179,8421 -enum w9968cf_vpp_flag w9968cf_vpp_flag189,8590 - VPP_NONE 190,8614 - VPP_NONE = 0x00,190,8614 - VPP_UPSCALE 191,8632 - VPP_UPSCALE = 0x01,191,8632 - VPP_SWAP_YUV_BYTES 192,8653 - VPP_SWAP_YUV_BYTES = 0x02,192,8653 - VPP_DECOMPRESSION 193,8681 - VPP_DECOMPRESSION = 0x04,193,8681 - VPP_UYVY_TO_RGBX 194,8708 - VPP_UYVY_TO_RGBX = 0x08,194,8708 -static struct w9968cf_vpp_t* w9968cf_vpp;197,8738 -struct w9968cf_device w9968cf_device207,9144 -# define DBG(DBG299,13239 -# define KDBG(KDBG315,14229 -# define DBG(DBG328,14949 -# define KDBG(KDBG329,15000 -#define PDBG(PDBG333,15072 -#define PDBGG(PDBGG337,15242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/ov511.c,6104 -#define DRIVER_VERSION 59,2025 -#define EMAIL 60,2070 -#define DRIVER_AUTHOR 61,2108 -#define DRIVER_DESC 64,2323 -#define OV511_I2C_RETRIES 66,2370 -#define ENABLE_Y_QUANTABLE 67,2398 -#define ENABLE_UV_QUANTABLE 68,2427 -#define OV511_MAX_UNIT_VIDEO 70,2458 -#define MAX_FRAME_SIZE(MAX_FRAME_SIZE73,2540 -#define MAX_DATA_SIZE(MAX_DATA_SIZE75,2590 -#define MAX_RAW_DATA_SIZE(MAX_RAW_DATA_SIZE78,2747 -#define FATAL_ERROR(FATAL_ERROR80,2807 -static int autobright 88,3145 -static int autogain 89,3173 -static int autoexp 90,3199 -static int debug;91,3224 -static int snapshot;92,3242 -static int cams 93,3263 -static int compress;94,3286 -static int testpat;95,3307 -static int dumppix;96,3327 -static int led 97,3347 -static int dump_bridge;98,3370 -static int dump_sensor;99,3394 -static int printph;100,3418 -static int phy 101,3438 -static int phuv 102,3463 -static int pvy 103,3489 -static int pvuv 104,3514 -static int qhy 105,3540 -static int qhuv 106,3565 -static int qvy 107,3591 -static int qvuv 108,3616 -static int lightfreq;109,3642 -static int bandingfilter;110,3664 -static int clockdiv 111,3690 -static int packetsize 112,3717 -static int framedrop 113,3746 -static int fastset;114,3774 -static int force_palette;115,3794 -static int backlight;116,3820 -static int unit_video[117,3842 -static int remove_zeros;118,3887 -static int mirror;119,3912 -static int ov518_color;120,3931 -static int num_uv;185,6864 -static struct usb_driver ov511_driver;205,7596 -static struct ov51x_decomp_ops *ov511_decomp_ops;207,7636 -static struct ov51x_decomp_ops *ov511_mmx_decomp_ops;208,7686 -static struct ov51x_decomp_ops *ov518_decomp_ops;209,7740 -static struct ov51x_decomp_ops *ov518_mmx_decomp_ops;210,7790 -static int i2c_detect_tries 214,7968 -#define ov51x_mmx_available 218,8128 -#define ov51x_mmx_available 220,8176 -static struct usb_device_id device_table 223,8216 -static unsigned char yQuanTable511[234,8575 -static unsigned char uvQuanTable511[235,8632 -static unsigned char yQuanTable518[236,8691 -static unsigned char uvQuanTable518[237,8748 -static struct symbolic_list camlist[244,9004 -static struct symbolic_list v4l1_plist[269,9805 -static struct symbolic_list brglist[289,10440 -static struct symbolic_list senlist[297,10612 -static struct symbolic_list urb_errlist[314,11037 -kvirt_to_pa(332,11664 -rvmalloc(343,11892 -rvfree(365,12272 -reg_w(389,12730 -reg_r(413,13321 -reg_w_mask(443,14114 -ov518_reg_w32(468,14668 -ov511_upload_quan_tables(493,15186 -ov518_upload_quan_tables(533,15989 -ov51x_reset(572,16735 -ov518_i2c_write_internal(603,17554 -ov511_i2c_write_internal(631,18085 -ov518_i2c_read_internal(688,19250 -ov511_i2c_read_internal(717,19834 -i2c_r(794,21279 -i2c_w(811,21527 -ov51x_i2c_write_mask_internal(829,21854 -i2c_w_mask(865,22854 -i2c_set_slave_internal(885,23346 -i2c_w_slave(902,23665 -i2c_r_slave(930,24228 -ov51x_set_slave_ids(959,24804 -write_regvals(977,25098 -dump_i2c_range(999,25576 -dump_i2c_regs(1010,25763 -dump_reg_range(1017,25868 -ov511_dump_regs(1028,26054 -ov518_dump_regs(1054,26765 -ov51x_stop(1084,27619 -ov51x_restart(1097,27969 -ov51x_wait_frames_inactive(1115,28303 -ov51x_clear_snapshot(1122,28471 -ov51x_check_snapshot(1139,28973 -init_ov_sensor(1164,29533 -ov511_set_packet_size(1201,30212 -ov518_set_packet_size(1276,31928 -ov511_init_compression(1340,33293 -ov518_init_compression(1368,33841 -sensor_set_contrast(1389,34240 -sensor_get_contrast(1454,35301 -sensor_set_brightness(1500,36150 -sensor_get_brightness(1549,37018 -sensor_set_saturation(1583,37657 -sensor_get_saturation(1633,38603 -sensor_set_hue(1679,39483 -sensor_get_hue(1735,40515 -sensor_set_picture(1773,41137 -sensor_get_picture(1804,41730 -sensor_set_exposure(1839,42495 -sensor_get_exposure(1884,43284 -ov51x_led_control(1920,43928 -sensor_set_light_freq(1942,44539 -sensor_set_banding_filter(2001,45956 -sensor_set_auto_brightness(2029,46541 -sensor_set_auto_exposure(2057,47125 -sensor_set_backlight(2097,48036 -sensor_set_mirror(2136,48989 -get_depth(2168,49668 -get_frame_length(2180,49988 -mode_init_ov_sensor_regs(2190,50158 -set_ov_sensor_window(2352,54507 -ov511_mode_init_regs(2462,57364 -ov518_mode_init_regs(2555,59768 -mode_init_regs(2695,63473 -ov51x_set_default_params(2774,65110 -decoder_set_input(2811,66109 -decoder_get_input_name(2833,66503 -decoder_set_norm(2855,66918 -make_8x8(2901,67980 -yuv400raw_to_yuv400p(2926,68594 -yuv420raw_to_yuv420p(2983,70485 -request_decompressor(3035,71745 -release_decompressor(3095,73036 -decompress(3118,73366 -deinterlace(3163,74611 -ov51x_postprocess_grey(3230,76091 -ov51x_postprocess_yuv420(3255,76782 -ov51x_postprocess(3283,77662 -ov511_move_data(3313,78462 -ov518_move_data(3483,83001 -ov51x_isoc_irq(3633,87061 -ov51x_init_isoc(3719,89103 -ov51x_unlink_isoc(3826,91567 -ov51x_stop_isoc(3841,91844 -ov51x_new_frame(3859,92129 -ov51x_do_dealloc(3915,93561 -ov51x_alloc(3959,94401 -ov51x_dealloc(4026,95864 -ov51x_v4l1_open(4042,96203 -ov51x_v4l1_close(4099,97209 -ov51x_v4l1_ioctl_internal(4140,97974 -ov51x_v4l1_ioctl(4580,106940 -ov51x_v4l1_read(4597,107320 -ov51x_v4l1_mmap(4751,111002 -static struct file_operations ov511_fops 4792,111927 -static struct video_device vdev_template 4802,112160 -ov7xx0_configure(4822,112754 -ov6xx0_configure(5040,119066 -ks0127_configure(5201,124752 -saa7111a_configure(5258,125989 -ov511_configure(5355,128840 -ov518_configure(5514,133102 -static inline struct usb_ov511 *cd_to_ov(5692,137809 -static ssize_t show_custom_id(5698,137963 -static ssize_t show_model(5705,138185 -static ssize_t show_bridge(5712,138391 -static ssize_t show_sensor(5719,138621 -static ssize_t show_brightness(5726,138851 -static ssize_t show_saturation(5738,139155 -static ssize_t show_contrast(5750,139459 -static ssize_t show_hue(5762,139755 -static ssize_t show_exposure(5774,140031 -static void ov_create_sysfs(5786,140332 -ov51x_probe(5804,141128 -ov51x_disconnect(5988,145195 -static struct usb_driver ov511_driver 6034,145985 -ov511_register_decomp_module(6050,146370 -ov511_deregister_decomp_module(6105,147345 -usb_ov511_init(6125,147638 -usb_ov511_exit(6140,147825 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/dabusb.c,1379 -#define DRIVER_VERSION 48,1444 -#define DRIVER_AUTHOR 49,1475 -#define DRIVER_DESC 50,1527 -#define NRDABUSB 55,1703 -#define NRDABUSB 57,1730 -static dabusb_t dabusb[62,1830 -static int buffers 63,1864 -static struct usb_driver dabusb_driver;64,1890 -static int dabusb_add_buf_tail 68,2004 -static void dump_urb 89,2480 -static int dabusb_cancel_queue 109,3385 -static int dabusb_free_queue 131,3863 -static int dabusb_free_buffers 156,4356 -static void dabusb_iso_complete 172,4720 -static int dabusb_alloc_buffers 210,5923 -static int dabusb_bulk 271,7581 -static int dabusb_writemem 305,8362 -static int dabusb_8051_reset 323,8886 -static int dabusb_loadmem 329,9130 -static int dabusb_fpga_clear 355,9777 -static int dabusb_fpga_init 368,10062 -static int dabusb_fpga_download 381,10345 -static int dabusb_stop 427,11213 -static int dabusb_startrek 440,11432 -static ssize_t dabusb_read 479,12325 -static int dabusb_open 582,14355 -static int dabusb_release 622,15095 -static int dabusb_ioctl 644,15500 -static struct file_operations dabusb_fops 703,16591 -static struct usb_class_driver dabusb_class 713,16784 -static int dabusb_probe 722,17051 -static void dabusb_disconnect 782,18421 -static struct usb_device_id dabusb_ids 808,19004 -static struct usb_driver dabusb_driver 816,19228 -static int __init dabusb_init 826,19478 -static void __exit dabusb_cleanup 858,20129 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/se401.c,1748 -static const char version[28,1061 -static int flickerless=39,1297 -static int video_nr 40,1323 -static struct usb_device_id device_table 42,1350 -static struct usb_driver se401_driver;60,2005 -static inline unsigned long kvirt_to_pa(72,2335 -static void *rvmalloc(82,2577 -static void rvfree(103,2958 -static int se401_sndctrl(127,3423 -static int se401_set_feature(143,3925 -static unsigned short se401_get_feature(163,4469 -static int se401_send_pict(191,5223 -static void se401_set_exposure(204,5882 -static int se401_get_pict(220,6289 -static int se401_set_pict(237,6609 -static void se401_auto_resetlevel(264,7232 -static void se401_button_irq(300,8323 -static void se401_video_irq(336,9088 -static void se401_send_size(397,10646 -static int se401_start_stream(444,12075 -static int se401_stop_stream(502,13511 -static int se401_set_size(530,14141 -static inline void enhance_picture(569,15155 -static inline void decode_JangGu_integrate(577,15305 -static inline void decode_JangGu_vlc 599,15939 -static inline void decode_JangGu 644,16754 -static inline void decode_bayer 708,18849 -static int se401_newframe(828,21629 -static void usb_se401_remove_disconnected 879,23135 -static int se401_open(915,23936 -static int se401_close(933,24323 -static int se401_do_ioctl(954,24870 -static int se401_ioctl(1118,28187 -static ssize_t se401_read(1124,28364 -static int se401_mmap(1165,29374 -static struct file_operations se401_fops 1202,30228 -static struct video_device se401_template 1211,30502 -static int se401_init(1222,30767 -static int se401_probe(1316,33481 -static void se401_disconnect(1395,35984 -static struct usb_driver se401_driver 1416,36442 -static int __init usb_se401_init(1432,36821 -static void __exit usb_se401_exit(1443,37104 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102_core.c,2521 -static short video_nr[55,2356 -static unsigned int nv;56,2420 -static unsigned short debug 71,3087 -typedef char sn9c102_sof_header_t[sn9c102_sof_header_t87,3746 -typedef char sn9c102_eof_header_t[sn9c102_eof_header_t88,3785 -static sn9c102_sof_header_t sn9c102_sof_header[90,3824 -static sn9c102_eof_header_t sn9c102_eof_header[96,3972 -static inline unsigned long kvirt_to_pa(105,4218 -static void* rvmalloc(116,4435 -static void rvfree(140,4781 -static u32 sn9c102_request_buffers(160,5056 -static void sn9c102_release_buffers(193,5925 -static void sn9c102_empty_framequeues(203,6124 -static void sn9c102_queue_unusedframes(217,6387 -int sn9c102_write_reg(233,6857 -static int sn9c102_read_reg(256,7399 -int sn9c102_pread_reg(272,7824 -sn9c102_i2c_wait(282,7965 -sn9c102_i2c_detect_read_error(302,8296 -sn9c102_i2c_detect_write_error(312,8530 -sn9c102_i2c_try_read(322,8759 -sn9c102_i2c_try_raw_write(373,10290 -sn9c102_i2c_try_write(412,11472 -int sn9c102_i2c_read(421,11772 -int sn9c102_i2c_write(430,11929 -static void* sn9c102_find_sof_header(440,12185 -static void* sn9c102_find_eof_header(456,12596 -static void sn9c102_urb_complete(470,12942 -static int sn9c102_start_transfer(632,16957 -static int sn9c102_stop_transfer(717,19092 -static u8 sn9c102_strtou8(741,19601 -static ssize_t sn9c102_show_reg(772,20236 -sn9c102_store_reg(795,20642 -static ssize_t sn9c102_show_val(827,21252 -sn9c102_store_val(858,21795 -static ssize_t sn9c102_show_i2c_reg(896,22499 -sn9c102_store_i2c_reg(921,22948 -static ssize_t sn9c102_show_i2c_val(953,23553 -sn9c102_store_i2c_val(984,24104 -sn9c102_store_green(1023,24834 -static void sn9c102_create_sysfs(1051,25702 -static int sn9c102_set_scale(1066,26270 -static int sn9c102_set_crop(1089,26650 -static int sn9c102_init(1120,27600 -static void sn9c102_release_resources(1188,29151 -static int sn9c102_open(1203,29536 -static int sn9c102_release(1275,31115 -sn9c102_read(1304,31677 -static unsigned int sn9c102_poll(1395,33702 -static void sn9c102_vm_open(1440,34587 -static void sn9c102_vm_close(1447,34721 -static struct vm_operations_struct sn9c102_vm_ops 1455,34896 -static int sn9c102_mmap(1461,35009 -static int sn9c102_v4l2_ioctl(1526,36546 -static int sn9c102_ioctl(2204,52297 -static struct file_operations sn9c102_fops 2233,52948 -sn9c102_usb_probe(2248,53377 -static void sn9c102_usb_disconnect(2365,56338 -static struct usb_driver sn9c102_usb_driver 2403,57149 -static int __init sn9c102_module_init(2413,57442 -static void __exit sn9c102_module_exit(2427,57695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/stv680.h,877 -#define STV680_PACKETSIZE 25,1013 -#define STV680_NUMSBUF 28,1116 -#define STV680_NUMFRAMES 31,1192 -#define STV680_NUMSCRATCH 34,1292 -#define STV680_MAX_NULLPACKETS 37,1392 -#define STV680_MAX_ERRORS 40,1486 -#define USB_PENCAM_VENDOR_ID 42,1517 -#define USB_PENCAM_PRODUCT_ID 43,1553 -#define PENCAM_TIMEOUT 44,1590 -#define STV_VIDEO_PALETTE 46,1639 -static struct usb_device_id device_table[48,1692 -struct stv680_sbuf stv680_sbuf54,1849 - FRAME_UNUSED,59,1903 - FRAME_READY,60,1946 - FRAME_GRABBING,61,1991 - FRAME_DONE,62,2052 - FRAME_ERROR,63,2115 - BUFFER_UNUSED,67,2187 - BUFFER_READY,68,2203 - BUFFER_BUSY,69,2218 - BUFFER_DONE,70,2232 -struct stv680_scratch stv680_scratch74,2299 -struct stv680_frame stv680_frame82,2455 -struct usb_stv usb_stv91,2704 -static unsigned char red[149,4344 -static unsigned char green[174,5647 -static unsigned char blue[199,6961 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/media/sn9c102_sensor.h,466 -#define _SN9C102_SENSOR_H_22,1492 -#define SN9C102_SENSOR_TABLE 75,3700 -#define SN9C102_ID_TABLE 90,4471 -enum sn9c102_i2c_frequency sn9c102_i2c_frequency152,7873 - SN9C102_I2C_100KHZ 153,7949 - SN9C102_I2C_100KHZ = 0x01,153,7949 - SN9C102_I2C_400KHZ 154,7977 - SN9C102_I2C_400KHZ = 0x02,154,7977 -enum sn9c102_i2c_interface sn9c102_i2c_interface157,8009 - SN9C102_I2C_2WIRES,158,8038 - SN9C102_I2C_3WIRES,159,8059 -struct sn9c102_sensor sn9c102_sensor162,8084 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-mem.c,245 -static struct usb_hcd *ohci_hcd_alloc 26,836 -static void ohci_hcd_free 43,1291 -static int ohci_mem_init 50,1451 -static void ohci_mem_cleanup 69,1954 -dma_to_td 85,2346 -td_alloc 98,2582 -td_free 115,2920 -ed_alloc 132,3368 -ed_free 147,3627 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-lh7a404.c,555 -static void lh7a404_start_hc(28,727 -static void lh7a404_stop_hc(45,1149 -static irqreturn_t usb_hcd_lh7a404_hcim_irq 57,1430 -int usb_hcd_lh7a404_probe 82,2141 -void usb_hcd_lh7a404_remove 192,4619 -ohci_lh7a404_start 226,5390 -static const struct hc_driver ohci_lh7a404_hc_driver 269,6273 -static int ohci_hcd_lh7a404_drv_probe(315,7218 -static int ohci_hcd_lh7a404_drv_remove(334,7590 -static struct device_driver ohci_hcd_lh7a404_driver 361,8203 -static int __init ohci_hcd_lh7a404_init 370,8490 -static void __exit ohci_hcd_lh7a404_cleanup 379,8716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-hub.c,835 -#define read_roothub(read_roothub22,637 -static u32 roothub_a 31,908 -static inline u32 roothub_b 33,997 -static inline u32 roothub_status 35,1094 -static u32 roothub_portstatus 37,1201 -#define dbg_port(dbg_port42,1399 -#define OHCI_SCHED_ENABLES 67,2170 -static int ohci_hub_suspend 73,2395 -static inline struct ed *find_head 158,4800 -static int ohci_hub_resume 169,5025 -static void ohci_rh_resume 300,8782 -static void ohci_rh_resume 311,8973 -ohci_hub_status_data 324,9307 -ohci_hub_descriptor 399,11113 -static int ohci_start_port_reset 440,12209 -#define ohci_start_port_reset 463,12713 -#define PORT_RESET_MSEC 476,13117 -#define PORT_RESET_MSEC 478,13151 -#define PORT_RESET_HW_MSEC 482,13239 -#define tick_before(tick_before485,13323 -static inline void root_port_reset 488,13427 -static int ohci_hub_control 521,14329 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci-sched.c,1246 -periodic_next_shadow 47,1830 -static int periodic_unlink 64,2222 -periodic_usecs 99,3313 -static int same_tt 166,5098 -static int tt_no_collision 182,5502 -static int enable_periodic 254,7111 -static int disable_periodic 279,7727 -static void intr_deschedule 305,8316 -static int check_period 361,9709 -static int check_intr_schedule 401,10588 -static int qh_schedule 446,11907 -static int intr_submit 524,13979 -iso_stream_alloc 579,15286 -iso_stream_init 595,15629 -iso_stream_put(682,17662 -iso_stream_get 737,18978 -iso_stream_find 745,19128 -iso_sched_alloc 790,20316 -itd_sched_init 805,20675 -iso_sched_free 846,21771 -itd_urb_transaction 859,22009 -itd_slot_ok 928,23656 -sitd_slot_ok 950,24046 -#define SCHEDULE_SLOP 1027,26087 -iso_stream_schedule 1030,26137 -itd_init 1130,28678 -itd_patch 1146,29008 -itd_link 1177,29805 -itd_link_urb 1190,30243 -#define ISO_ERRS 1265,32263 -itd_complete 1268,32356 -static int itd_submit 1355,34773 -sitd_sched_init 1414,36370 -sitd_urb_transaction 1463,37656 -sitd_patch 1532,39398 -sitd_link 1561,40077 -sitd_link_urb 1574,40522 -#define SITD_ERRS 1639,42293 -sitd_complete 1643,42427 -static int sitd_submit 1717,44312 -sitd_submit 1773,45663 -sitd_complete 1780,45829 -scan_periodic 1794,46107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/uhci-hcd.h,4101 -#define __LINUX_UHCI_HCD_H2,27 -#define usb_packetid(usb_packetid7,103 -#define PIPE_DEVEP_MASK 8,176 -#define USBCMD 15,311 -#define USBCMD_RS 16,329 -#define USBCMD_HCRESET 17,372 -#define USBCMD_GRESET 18,421 -#define USBCMD_EGSM 19,472 -#define USBCMD_FGR 20,528 -#define USBCMD_SWDBG 21,583 -#define USBCMD_CF 22,634 -#define USBCMD_MAXP 23,690 -#define USBSTS 26,777 -#define USBSTS_USBINT 27,795 -#define USBSTS_ERROR 28,854 -#define USBSTS_RD 29,914 -#define USBSTS_HSE 30,962 -#define USBSTS_HCPE 31,1040 -#define USBSTS_HCH 32,1131 -#define USBINTR 35,1209 -#define USBINTR_TIMEOUT 36,1228 -#define USBINTR_RESUME 37,1292 -#define USBINTR_IOC 38,1354 -#define USBINTR_SP 39,1419 -#define USBFRNUM 41,1485 -#define USBFLBASEADD 42,1504 -#define USBSOF 43,1527 -#define USBPORTSC1 46,1591 -#define USBPORTSC2 47,1613 -#define USBPORTSC_CCS 48,1635 -#define USBPORTSC_CSC 49,1715 -#define USBPORTSC_PE 50,1775 -#define USBPORTSC_PEC 51,1824 -#define USBPORTSC_DPLUS 52,1881 -#define USBPORTSC_DMINUS 53,1942 -#define USBPORTSC_RD 54,2004 -#define USBPORTSC_RES1 55,2055 -#define USBPORTSC_LSDA 56,2112 -#define USBPORTSC_PR 57,2176 -#define USBPORTSC_OC 59,2289 -#define USBPORTSC_OCC 60,2349 -#define USBPORTSC_SUSP 61,2412 -#define USBPORTSC_RES2 62,2458 -#define USBPORTSC_RES3 63,2519 -#define USBPORTSC_RES4 64,2580 -#define USBLEGSUP 67,2672 -#define USBLEGSUP_DEFAULT 68,2696 -#define UHCI_NULL_DATA_SIZE 70,2759 -#define UHCI_PTR_BITS 72,2823 -#define UHCI_PTR_TERM 73,2866 -#define UHCI_PTR_QH 74,2909 -#define UHCI_PTR_DEPTH 75,2950 -#define UHCI_PTR_BREADTH 76,2994 -#define UHCI_NUMFRAMES 78,3040 -#define UHCI_MAX_SOF_NUMBER 79,3101 -#define CAN_SCHEDULE_FRAMES 80,3157 -struct uhci_frame_list uhci_frame_list82,3236 -struct uhci_qh uhci_qh106,4044 -#define td_status(td_status124,4442 -#define TD_CTRL_SPD 125,4491 -#define TD_CTRL_C_ERR_MASK 126,4548 -#define TD_CTRL_C_ERR_SHIFT 127,4610 -#define TD_CTRL_LS 128,4641 -#define TD_CTRL_IOS 129,4694 -#define TD_CTRL_IOC 130,4750 -#define TD_CTRL_ACTIVE 131,4809 -#define TD_CTRL_STALLED 132,4859 -#define TD_CTRL_DBUFERR 133,4911 -#define TD_CTRL_BABBLE 134,4970 -#define TD_CTRL_NAK 135,5026 -#define TD_CTRL_CRCTIMEO 136,5076 -#define TD_CTRL_BITSTUFF 137,5136 -#define TD_CTRL_ACTLEN_MASK 138,5193 -#define TD_CTRL_ANY_ERROR 140,5266 -#define uhci_maxerr(uhci_maxerr143,5390 -#define uhci_status_bits(uhci_status_bits144,5447 -#define uhci_actual_length(uhci_actual_length145,5506 -#define td_token(td_token150,5639 -#define TD_TOKEN_DEVADDR_SHIFT 151,5686 -#define TD_TOKEN_TOGGLE_SHIFT 152,5719 -#define TD_TOKEN_TOGGLE 153,5752 -#define TD_TOKEN_EXPLEN_SHIFT 154,5787 -#define TD_TOKEN_EXPLEN_MASK 155,5820 -#define TD_TOKEN_PID_MASK 156,5896 -#define uhci_explen(uhci_explen158,5928 -#define uhci_expected_length(uhci_expected_length160,5987 -#define uhci_toggle(uhci_toggle161,6070 -#define uhci_endpoint(uhci_endpoint162,6138 -#define uhci_devaddr(uhci_devaddr163,6191 -#define uhci_devep(uhci_devep164,6264 -#define uhci_packetid(uhci_packetid165,6336 -#define uhci_packetout(uhci_packetout166,6395 -#define uhci_packetin(uhci_packetin167,6462 -struct uhci_td uhci_td186,7304 -#define UHCI_NUM_SKELQH 247,9154 -#define skel_int128_qh 248,9182 -#define skel_int64_qh 249,9216 -#define skel_int32_qh 250,9249 -#define skel_int16_qh 251,9282 -#define skel_int8_qh 252,9315 -#define skel_int4_qh 253,9347 -#define skel_int2_qh 254,9379 -#define skel_int1_qh 255,9411 -#define skel_ls_control_qh 256,9443 -#define skel_fs_control_qh 257,9480 -#define skel_bulk_qh 258,9517 -#define skel_term_qh 259,9550 -static inline int __interval_to_skel(272,9983 -enum uhci_state uhci_state307,10974 - UHCI_RESET,308,10992 - UHCI_RUNNING_GRACE,309,11005 - UHCI_RUNNING,310,11048 - UHCI_SUSPENDING_GRACE,311,11088 - UHCI_SUSPENDED 312,11136 - UHCI_RESUMING_1,313,11195 - UHCI_RESUMING_2314,11213 -#define hcd_to_uhci(hcd_to_uhci317,11234 -#define uhci_dev(uhci_dev318,11307 -struct uhci_hcd uhci_hcd326,11510 -struct urb_priv urb_priv380,13163 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/hc_sl811.h,7684 -#define GET_FRAME_NUMBER(GET_FRAME_NUMBER9,115 -#define MAX_ROOT_PORTS 14,218 -#define HcRevision 17,315 -#define HcControl 18,340 -#define HcCommandStatus 19,364 -#define HcInterruptStatus 20,394 -#define HcInterruptEnable 21,425 -#define HcInterruptDisable 22,456 -#define HcFmInterval 23,488 -#define HcFmRemaining 24,515 -#define HcFmNumber 25,543 -#define HcLSThreshold 26,568 -#define HcRhDescriptorA 27,596 -#define HcRhDescriptorB 28,626 -#define HcRhStatus 29,656 -#define HcRhPortStatus 30,681 -#define HcHardwareConfiguration 32,711 -#define HcDMAConfiguration 33,748 -#define HcTransferCounter 34,780 -#define HcuPInterrupt 35,811 -#define HcuPInterruptEnable 36,839 -#define HcChipID 37,872 -#define HcScratch 38,895 -#define HcSoftwareReset 39,919 -#define HcITLBufferLength 40,949 -#define HcATLBufferLength 41,980 -#define HcBufferStatus 42,1011 -#define HcReadBackITL0Length 43,1040 -#define HcReadBackITL1Length 44,1074 -#define HcITLBufferPort 45,1108 -#define HcATLBufferPort 46,1138 -#define OHCI_CTRL_HCFS 53,1260 -#define OHCI_CTRL_RWC 54,1314 -#define OHCI_CTRL_RWE 55,1376 -#define OHCI_USB_RESET 58,1471 -#define OHCI_USB_RESUME 59,1504 -#define OHCI_USB_OPER 60,1538 -#define OHCI_USB_SUSPEND 61,1570 -#define OHCI_HCR 66,1658 -#define OHCI_SO 67,1712 -#define OHCI_INTR_SO 75,1922 -#define OHCI_INTR_SF 77,1978 -#define OHCI_INTR_RD 78,2026 -#define OHCI_INTR_UE 79,2076 -#define OHCI_INTR_FNO 80,2132 -#define OHCI_INTR_RHSC 81,2191 -#define OHCI_INTR_ATD 82,2252 -#define OHCI_INTR_MIE 84,2309 -#define InterruptPinEnable 89,2406 -#define InterruptPinTrigger 90,2442 -#define InterruptOutputPolarity 91,2479 -#define DataBusWidth16 92,2520 -#define DREQOutputPolarity 93,2553 -#define DACKInputPolarity 94,2589 -#define EOTInputPolarity 95,2624 -#define DACKMode 96,2658 -#define AnalogOCEnable 97,2685 -#define SuspendClkNotStop 98,2719 -#define DownstreamPort15KRSel 99,2755 -#define DMAReadWriteSelect 104,2826 -#define ITL_ATL_DataSelect 105,2863 -#define DMACounterSelect 106,2899 -#define DMAEnable 107,2933 -#define BurstLen_1 108,2961 -#define BurstLen_4 109,2983 -#define BurstLen_8 110,3012 -#define SOFITLInt 115,3066 -#define ATLInt 116,3094 -#define AllEOTInterrupt 117,3120 -#define OPR_Reg 118,3154 -#define HCSuspended 119,3181 -#define ClkReady 120,3211 -#define ITL0BufferFull 125,3264 -#define ITL1BufferFull 126,3297 -#define ATLBufferFull 127,3330 -#define ITL0BufferDone 128,3362 -#define ITL1BufferDone 129,3395 -#define ATLBufferDone 130,3428 -#define RH_PS_CCS 135,3531 -#define RH_PS_PES 136,3600 -#define RH_PS_PSS 137,3665 -#define RH_PS_POCI 138,3731 -#define RH_PS_PRS 139,3805 -#define RH_PS_PPS 140,3869 -#define RH_PS_LSDA 141,3933 -#define RH_PS_CSC 142,4005 -#define RH_PS_PESC 143,4073 -#define RH_PS_PSSC 144,4145 -#define RH_PS_OCIC 145,4218 -#define RH_PS_PRSC 146,4294 -#define RH_HS_LPS 149,4392 -#define RH_HS_OCI 150,4447 -#define RH_HS_DRWE 151,4506 -#define RH_HS_LPSC 152,4571 -#define RH_HS_OCIC 153,4634 -#define RH_HS_CRWE 154,4701 -#define RH_B_DR 157,4788 -#define RH_B_PPCM 158,4846 -#define RH_A_NDP 161,4929 -#define RH_A_PSM 162,4992 -#define RH_A_NPS 163,5046 -#define RH_A_DT 164,5098 -#define RH_A_OCPM 165,5150 -#define RH_A_NOCP 166,5214 -#define RH_A_POTPGT 167,5276 -#define URB_DEL 169,5345 -#define PORT_STAT_DEFAULT 171,5364 -#define PORT_CONNECT_STAT 172,5398 -#define PORT_ENABLE_STAT 173,5431 -#define PORT_SUSPEND_STAT 174,5461 -#define PORT_OVER_CURRENT_STAT 175,5492 -#define PORT_RESET_STAT 176,5528 -#define PORT_POWER_STAT 177,5559 -#define PORT_LOW_SPEED_DEV_ATTACH_STAT 178,5591 -#define PORT_CHANGE_DEFAULT 180,5637 -#define PORT_CONNECT_CHANGE 181,5670 -#define PORT_ENABLE_CHANGE 182,5703 -#define PORT_SUSPEND_CHANGE 183,5735 -#define PORT_OVER_CURRENT_CHANGE 184,5768 -#define PORT_RESET_CHANGE 185,5805 -typedef struct portstat portstat189,5870 -} portstat_t;portstat_t192,5934 -typedef struct hcipriv hcipriv194,5949 -} hcipriv_t;hcipriv_t220,6535 -#define cClt 223,6561 -#define cISO 224,6595 -#define cBULK 225,6625 -#define cInt 226,6656 -#define ISO_BIT 227,6692 -#define cMemStart 232,6938 -#define EP0Buf 233,6967 -#define EP0Len 234,7036 -#define EP1Buf 235,7102 -#define EP1Len 236,7131 -#define uBufA 241,7375 -#define uBufB 242,7437 -#define uXferLen 243,7499 -#define sMemSize 244,7546 -#define cMemEnd 245,7604 -#define EP0Control 254,7977 -#define EP0Address 255,8006 -#define EP0XferLen 256,8035 -#define EP0Status 257,8064 -#define EP0Counter 258,8093 -#define EP1Control 260,8123 -#define EP1Address 261,8152 -#define EP1XferLen 262,8181 -#define EP1Status 263,8210 -#define EP1Counter 264,8239 -#define CtrlReg 266,8269 -#define IntEna 267,8298 -#define IntStatus 269,8351 -#define cDATASet 270,8380 -#define cSOFcnt 271,8409 -#define IntMask 272,8438 -#define HostMask 273,8506 -#define ReadMask 274,8577 -#define GET_STATUS 280,8838 -#define CLEAR_FEATURE 281,8867 -#define SET_FEATURE 282,8896 -#define SET_ADDRESS 283,8925 -#define GET_DESCRIPTOR 284,8954 -#define SET_DESCRIPTOR 285,8983 -#define GET_CONFIG 286,9012 -#define SET_CONFIG 287,9041 -#define GET_INTERFACE 288,9070 -#define SET_INTERFACE 289,9099 -#define SYNCH_FRAME 290,9128 -#define DEVICE 292,9158 -#define CONFIGURATION 293,9187 -#define STRING 294,9216 -#define INTERFACE 295,9245 -#define ENDPOINT 296,9274 -#define DATA0_WR 302,9487 -#define DATA1_WR 303,9548 -#define ZDATA0_WR 304,9612 -#define ZDATA1_WR 305,9687 -#define DATA0_RD 306,9762 -#define DATA1_RD 307,9825 -#define PID_SETUP 309,9889 -#define PID_SOF 310,9957 -#define PID_IN 311,9979 -#define PID_OUT 312,10000 -#define MAX_RETRY 314,10023 -#define TIMEOUT 315,10048 -#define SL11H_HOSTCTLREG 317,10086 -#define SL11H_BUFADDRREG 318,10113 -#define SL11H_BUFLNTHREG 319,10140 -#define SL11H_PKTSTATREG 320,10167 -#define SL11H_PIDEPREG 321,10205 -#define SL11H_XFERCNTREG 322,10243 -#define SL11H_DEVADDRREG 323,10281 -#define SL11H_CTLREG1 324,10320 -#define SL11H_INTENBLREG 325,10345 -#define SL11H_HOSTCTLREG_B 327,10373 -#define SL11H_BUFADDRREG_B 328,10402 -#define SL11H_BUFLNTHREG_B 329,10431 -#define SL11H_PKTSTATREG_B 330,10463 -#define SL11H_PIDEPREG_B 331,10506 -#define SL11H_XFERCNTREG_B 332,10548 -#define SL11H_DEVADDRREG_B 333,10591 -#define SL11H_INTSTATREG 335,10636 -#define SL11H_HWREVREG 336,10693 -#define SL11H_SOFLOWREG 337,10733 -#define SL11H_SOFTMRREG 338,10775 -#define SL11H_CTLREG2 339,10816 -#define SL11H_DATA_START 340,10856 -#define SL11H_HCTLMASK_ARM 343,10929 -#define SL11H_HCTLMASK_ENBLEP 344,10958 -#define SL11H_HCTLMASK_WRITE 345,10990 -#define SL11H_HCTLMASK_ISOCH 346,11021 -#define SL11H_HCTLMASK_AFTERSOF 347,11055 -#define SL11H_HCTLMASK_SEQ 348,11092 -#define SL11H_HCTLMASK_PREAMBLE 349,11124 -#define SL11H_STATMASK_ACK 352,11205 -#define SL11H_STATMASK_ERROR 353,11234 -#define SL11H_STATMASK_TMOUT 354,11265 -#define SL11H_STATMASK_SEQ 355,11296 -#define SL11H_STATMASK_SETUP 356,11325 -#define SL11H_STATMASK_OVF 357,11359 -#define SL11H_STATMASK_NAK 358,11391 -#define SL11H_STATMASK_STALL 359,11423 -#define SL11H_CTL1MASK_DSBLSOF 362,11497 -#define SL11H_CTL1MASK_NOTXEOF2 363,11530 -#define SL11H_CTL1MASK_DSTATE 364,11564 -#define SL11H_CTL1MASK_NSPD 365,11599 -#define SL11H_CTL1MASK_SUSPEND 366,11632 -#define SL11H_CTL1MASK_CLK12 367,11668 -#define SL11H_CTL1VAL_RESET 369,11703 -#define SL11H_INTMASK_XFERDONE 372,11812 -#define SL11H_INTMASK_SOFINTR 373,11845 -#define SL11H_INTMASK_INSRMV 374,11880 -#define SL11H_INTMASK_USBRESET 375,11914 -#define SL11H_INTMASK_DSTATE 376,11950 -#define SL11H_HWRMASK_HWREV 379,12059 -#define SL11H_CTL2MASK_SOFHI 382,12140 -#define SL11H_CTL2MASK_DSWAP 383,12174 -#define SL11H_CTL2MASK_HOSTMODE 384,12208 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-q.c,508 -static void urb_free_priv 10,238 -finish_urb 37,788 -static int balance 93,2469 -static void periodic_link 129,3429 -static int ed_schedule 169,4461 -static void periodic_unlink 253,6929 -static void ed_deschedule 301,8644 -static struct ed *ed_get 381,11083 -static void start_ed_unlink 471,13303 -td_fill 503,14319 -static void td_submit_urb 578,16541 -static void td_done 710,20600 -ed_halted 788,22770 -static struct td *dl_reverse_done_list 863,24799 -finish_unlinks 906,25867 -dl_done_list 1051,29606 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/hc_simple.h,2150 -#define US_BULK 11,281 -#define US_BULK0 12,300 -#define US_CTRL_SETUP 14,344 -#define US_CTRL_DATA 15,368 -#define US_CTRL_ACK 16,391 -#define NUM_EDS 22,541 -typedef struct epd epd24,561 -} epd_t;epd_t31,743 -struct hci_device hci_device33,753 -#define usb_to_hci(usb_to_hci41,901 -struct virt_root_hub virt_root_hub43,963 -#define RH_INTERFACE 55,1354 -#define RH_ENDPOINT 56,1381 -#define RH_OTHER 57,1407 -#define RH_CLASS 59,1431 -#define RH_VENDOR 60,1454 -#define RH_GET_STATUS 63,1525 -#define RH_CLEAR_FEATURE 64,1555 -#define RH_SET_FEATURE 65,1587 -#define RH_SET_ADDRESS 66,1618 -#define RH_GET_DESCRIPTOR 67,1649 -#define RH_SET_DESCRIPTOR 68,1682 -#define RH_GET_CONFIGURATION 69,1715 -#define RH_SET_CONFIGURATION 70,1751 -#define RH_GET_STATE 71,1787 -#define RH_GET_INTERFACE 72,1816 -#define RH_SET_INTERFACE 73,1848 -#define RH_SYNC_FRAME 74,1880 -#define RH_SET_EP 76,1944 -#define RH_PORT_CONNECTION 79,1995 -#define RH_PORT_ENABLE 80,2027 -#define RH_PORT_SUSPEND 81,2056 -#define RH_PORT_OVER_CURRENT 82,2086 -#define RH_PORT_RESET 83,2120 -#define RH_PORT_POWER 84,2148 -#define RH_PORT_LOW_SPEED 85,2176 -#define RH_C_PORT_CONNECTION 87,2208 -#define RH_C_PORT_ENABLE 88,2242 -#define RH_C_PORT_SUSPEND 89,2272 -#define RH_C_PORT_OVER_CURRENT 90,2303 -#define RH_C_PORT_RESET 91,2339 -#define RH_C_HUB_LOCAL_POWER 94,2389 -#define RH_C_HUB_OVER_CURRENT 95,2423 -#define RH_DEVICE_REMOTE_WAKEUP 97,2459 -#define RH_ENDPOINT_STALL 98,2496 -#define MAX_TRANS 106,2642 -typedef struct td td108,2664 -} td_t;td_t112,2732 -typedef struct td_array td_array114,2741 -} td_array_t;td_array_t117,2798 -typedef struct hci hci119,2813 -} hci_t;hci_t145,3684 -#define TD_CC_NOERROR 151,3829 -#define TD_CC_CRC 152,3857 -#define TD_CC_BITSTUFFING 153,3881 -#define TD_CC_DATATOGGLEM 154,3912 -#define TD_CC_STALL 155,3943 -#define TD_DEVNOTRESP 156,3969 -#define TD_PIDCHECKFAIL 157,3997 -#define TD_UNEXPECTEDPID 158,4027 -#define TD_DATAOVERRUN 159,4057 -#define TD_DATAUNDERRUN 160,4086 -#define TD_BUFFEROVERRUN 161,4116 -#define TD_BUFFERUNDERRUN 162,4146 -#define TD_NOTACCESSED 163,4177 -static void urb_print 196,5320 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci-mem.c,450 -static struct usb_hcd *ehci_hcd_alloc 39,1437 -static void ehci_hcd_free 53,1743 -static inline void ehci_qtd_init 62,1982 -static struct ehci_qtd *ehci_qtd_alloc 72,2256 -static inline void ehci_qtd_free 84,2492 -static void qh_destroy 90,2629 -static struct ehci_qh *ehci_qh_alloc 106,3066 -static inline struct ehci_qh *qh_get 134,3699 -static inline void qh_put 140,3796 -static void ehci_mem_cleanup 152,4130 -static int ehci_mem_init 189,4967 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-sa1111.c,582 -static void sa1111_start_hc(30,781 -static void sa1111_stop_hc(65,1642 -static void dump_hci_status(95,2319 -static irqreturn_t usb_hcd_sa1111_hcim_irq 108,2837 -int usb_hcd_sa1111_probe 150,4017 -void usb_hcd_sa1111_remove 238,6038 -ohci_sa1111_start 270,6757 -static const struct hc_driver ohci_sa1111_hc_driver 307,7506 -static int ohci_hcd_sa1111_drv_probe(357,8534 -static int ohci_hcd_sa1111_drv_remove(373,8806 -static struct sa1111_driver ohci_hcd_sa1111_driver 384,9001 -static int __init ohci_hcd_sa1111_init 393,9206 -static void __exit ohci_hcd_sa1111_cleanup 402,9425 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci-hcd.c,1473 - #define DEBUG22,805 -#define DRIVER_VERSION 100,3675 -#define DRIVER_AUTHOR 101,3712 -#define DRIVER_DESC 102,3751 -static const char hcd_name 104,3823 -#define EHCI_STATS111,3931 -#define EHCI_TUNE_CERR 115,4013 -#define EHCI_TUNE_RL_HS 116,4078 -#define EHCI_TUNE_RL_TT 117,4133 -#define EHCI_TUNE_MULT_HS 118,4160 -#define EHCI_TUNE_MULT_TT 119,4226 -#define EHCI_TUNE_FLS 120,4254 -#define EHCI_IAA_JIFFIES 122,4313 -#define EHCI_IO_JIFFIES 123,4373 -#define EHCI_ASYNC_JIFFIES 124,4438 -#define EHCI_SHRINK_JIFFIES 125,4499 -static int log2_irq_thresh 128,4612 -#define INTR_MASK 132,4776 -static int handshake 158,5807 -static int ehci_halt 183,6379 -static int ehci_reset 197,6732 -static void ehci_ready 210,7107 -static void ehci_watchdog 255,8215 -static int bios_handoff 289,9112 -ehci_reboot 321,9854 -static int ehci_hc_reset 335,10186 -static int ehci_start 393,11692 -static void ehci_stop 579,17406 -static int ehci_get_frame 629,18789 -static int ehci_suspend 646,19257 -static int ehci_resume 665,19652 -static void ehci_work 694,20322 -static irqreturn_t ehci_irq 722,21229 -static int ehci_urb_enqueue 831,23998 -static int ehci_urb_dequeue 866,24829 -ehci_endpoint_disable 949,26832 -static const struct hc_driver ehci_driver 1009,28391 -static const struct pci_device_id pci_ids 1063,29486 -static struct pci_driver ehci_pci_driver 1073,29820 -#define DRIVER_INFO 1089,30089 -static int __init init 1095,30231 -static void __exit cleanup 1109,30558 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-omap.c,773 -static int omap_ohci_clock_power(42,1064 -static int omap_ohci_transceiver_power(97,2477 -static int omap_1510_local_bus_power(121,3130 -static int omap_1510_local_bus_init(140,3608 -static void start_hnp(170,4528 -static int omap_start_hc(188,4969 -static void omap_stop_hc(251,6489 -int usb_hcd_omap_probe 283,7265 -void usb_hcd_omap_remove 388,9857 -ohci_omap_start 425,10650 -static const struct hc_driver ohci_omap_hc_driver 470,11656 -static int ohci_hcd_omap_drv_probe(517,12609 -static int ohci_hcd_omap_drv_remove(523,12748 -static int ohci_omap_suspend(547,13414 -static int ohci_omap_resume(572,14063 -static struct device_driver ohci_hcd_omap_driver 610,14998 -static int __init ohci_hcd_omap_init 621,15298 -static void __exit ohci_hcd_omap_cleanup 633,15598 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci.h,3981 -struct ed ed17,445 -#define ED_DEQUEUE 21,592 -#define ED_ISO 23,684 -#define ED_SKIP 24,732 -#define ED_LOWSPEED 25,781 -#define ED_OUT 26,833 -#define ED_IN 27,884 -#define ED_C 30,1025 -#define ED_H 31,1087 -#define ED_IDLE 48,1710 -#define ED_UNLINK 49,1756 -#define ED_OPER 50,1810 -#define ED_MASK 64,2139 -struct td td72,2367 -#define TD_CC 77,2524 -#define TD_CC_GET(TD_CC_GET78,2578 -#define TD_DI 80,2708 -#define TD_DI_SET(TD_DI_SET81,2771 -#define TD_DONE 85,2952 -#define TD_ISO 86,3011 -#define TD_EC 89,3102 -#define TD_T 90,3153 -#define TD_T_DATA0 91,3210 -#define TD_T_DATA1 92,3256 -#define TD_T_TOGGLE 93,3302 -#define TD_DP 94,3352 -#define TD_DP_SETUP 95,3405 -#define TD_DP_IN 96,3454 -#define TD_DP_OUT 97,3501 -#define TD_R 99,3578 -#define MAXPSW 108,3864 -#define TD_MASK 124,4341 -#define TD_CC_NOERROR 129,4487 -#define TD_CC_CRC 130,4519 -#define TD_CC_BITSTUFFING 131,4551 -#define TD_CC_DATATOGGLEM 132,4583 -#define TD_CC_STALL 133,4615 -#define TD_DEVNOTRESP 134,4647 -#define TD_PIDCHECKFAIL 135,4679 -#define TD_UNEXPECTEDPID 136,4711 -#define TD_DATAOVERRUN 137,4743 -#define TD_DATAUNDERRUN 138,4775 -#define TD_BUFFEROVERRUN 140,4850 -#define TD_BUFFERUNDERRUN 141,4882 -#define TD_NOTACCESSED 143,4952 -static const int cc_to_error 147,5039 -struct ohci_hcca ohci_hcca172,5933 -#define NUM_INTS 173,5952 -#define OHCI_FRAME_NO(OHCI_FRAME_NO182,6253 -struct ohci_regs ohci_regs194,6716 - struct ohci_roothub_regs ohci_roothub_regs220,7248 -#define MAX_ROOT_PORTS 224,7314 -#define OHCI_CTRL_CBSR 238,7632 -#define OHCI_CTRL_PLE 239,7697 -#define OHCI_CTRL_IE 240,7755 -#define OHCI_CTRL_CLE 241,7810 -#define OHCI_CTRL_BLE 242,7867 -#define OHCI_CTRL_HCFS 243,7921 -#define OHCI_CTRL_IR 244,7992 -#define OHCI_CTRL_RWC 245,8046 -#define OHCI_CTRL_RWE 246,8107 -# define OHCI_USB_RESET 249,8201 -# define OHCI_USB_RESUME 250,8234 -# define OHCI_USB_OPER 251,8268 -# define OHCI_USB_SUSPEND 252,8300 -#define OHCI_HCR 257,8389 -#define OHCI_CLF 258,8443 -#define OHCI_BLF 259,8497 -#define OHCI_OCR 260,8548 -#define OHCI_SOC 261,8607 -#define OHCI_INTR_SO 269,8819 -#define OHCI_INTR_WDH 270,8874 -#define OHCI_INTR_SF 271,8934 -#define OHCI_INTR_RD 272,8982 -#define OHCI_INTR_UE 273,9032 -#define OHCI_INTR_FNO 274,9088 -#define OHCI_INTR_RHSC 275,9147 -#define OHCI_INTR_OC 276,9208 -#define OHCI_INTR_MIE 277,9262 -#define RH_PS_CCS 283,9397 -#define RH_PS_PES 284,9469 -#define RH_PS_PSS 285,9536 -#define RH_PS_POCI 286,9605 -#define RH_PS_PRS 287,9682 -#define RH_PS_PPS 288,9748 -#define RH_PS_LSDA 289,9815 -#define RH_PS_CSC 290,9891 -#define RH_PS_PESC 291,9960 -#define RH_PS_PSSC 292,10035 -#define RH_PS_OCIC 293,10112 -#define RH_PS_PRSC 294,10192 -#define RH_HS_LPS 297,10293 -#define RH_HS_OCI 298,10353 -#define RH_HS_DRWE 299,10417 -#define RH_HS_LPSC 300,10487 -#define RH_HS_OCIC 301,10555 -#define RH_HS_CRWE 302,10627 -#define RH_B_DR 305,10719 -#define RH_B_PPCM 306,10777 -#define RH_A_NDP 309,10860 -#define RH_A_PSM 310,10923 -#define RH_A_NPS 311,10977 -#define RH_A_DT 312,11029 -#define RH_A_OCPM 313,11081 -#define RH_A_NOCP 314,11145 -#define RH_A_POTPGT 315,11207 -typedef struct urb_priv urb_priv319,11309 -} urb_priv_t;urb_priv_t326,11509 -#define TD_HASH_SIZE 328,11524 -#define TD_HASH_FUNC(TD_HASH_FUNC330,11612 -struct ohci_hcd ohci_hcd340,11852 -#define OHCI_QUIRK_AMD756 388,13092 -#define OHCI_QUIRK_SUPERIO 389,13142 -#define hcd_to_ohci(hcd_to_ohci398,13296 -static inline void disable 402,13449 -#define FI 407,13540 -#define DEFAULT_FMINTERVAL 408,13593 -#define LSTHRESH 409,13659 -static inline void periodic_reinit 411,13714 -#define STUB_DEBUG_FILES421,14031 -#define ohci_dbg(ohci_dbg424,14076 -#define ohci_err(ohci_err426,14171 -#define ohci_info(ohci_info428,14266 -#define ohci_warn(ohci_warn430,14363 -# define ohci_vdbg 434,14487 -# define ohci_vdbg(ohci_vdbg436,14521 -static inline unsigned int ohci_readl 445,14829 -static inline unsigned int ohci_readl 453,15054 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/hc_simple.c,932 -static spinlock_t usb_urb_lock 29,1239 -static inline int hcs_urb_queue 47,1892 -static int hcs_return_urb 91,3210 -static int hci_submit_urb 138,4562 -static int hci_unlink_urb 187,5825 -static int hci_alloc_dev 248,7368 -static int hci_free_dev 282,8134 -static int hci_get_current_frame_number 303,8649 -static struct usb_operations hci_device_operations 316,9063 -static void qu_urb_timeout 357,10580 -static inline int qu_pipeindex 375,11033 -static inline void qu_seturbstate 394,11652 -static inline int qu_urbstate 410,12123 -static inline void qu_queue_active_urb 433,12796 -static int qu_queue_urb 487,14242 -static struct urb *qu_next_urb 525,15394 -static struct urb *qu_return_urb 566,16502 -static int sh_scan_iso_urb_list 590,17288 -static int sh_scan_urb_list 634,18473 -static int sh_schedule_trans 682,19911 -static int sh_add_packet 742,21690 -static int cc_to_error 852,24703 -static int sh_done_list 879,25561 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-pci.c,405 -# define CONFIG_PM23,577 -ohci_pci_reset 34,793 -ohci_pci_start 44,986 -static int ohci_pci_suspend 119,2927 -static int ohci_pci_resume 155,3785 -static const struct hc_driver ohci_pci_hc_driver 198,4820 -static const struct pci_device_id pci_ids 251,5896 -static struct pci_driver ohci_pci_driver 260,6230 -static int __init ohci_hcd_pci_init 274,6482 -static void __exit ohci_hcd_pci_cleanup 288,6889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci.h,4515 -#define __LINUX_EHCI_HCD_H20,781 -struct ehci_stats ehci_stats25,908 -#define EHCI_MAX_ROOT_PORTS 47,1451 -struct ehci_hcd ehci_hcd49,1506 -#define DEFAULT_I_TDPS 59,1742 -# define COUNT(COUNT96,2923 -# define COUNT(COUNT98,2971 -#define hcd_to_ehci(hcd_to_ehci103,3072 -enum ehci_timer_action ehci_timer_action106,3147 - TIMER_IO_WATCHDOG,107,3172 - TIMER_IAA_WATCHDOG,108,3192 - TIMER_ASYNC_SHRINK,109,3213 - TIMER_ASYNC_OFF,110,3234 -timer_action_done 114,3275 -timer_action 120,3409 -struct ehci_caps ehci_caps158,4460 -#define HC_LENGTH(HC_LENGTH163,4618 -#define HC_VERSION(HC_VERSION164,4674 -#define HCS_DEBUG_PORT(HCS_DEBUG_PORT166,4784 -#define HCS_INDICATOR(HCS_INDICATOR167,4856 -#define HCS_N_CC(HCS_N_CC168,4929 -#define HCS_N_PCC(HCS_N_PCC169,4999 -#define HCS_PORTROUTED(HCS_PORTROUTED170,5066 -#define HCS_PPC(HCS_PPC171,5133 -#define HCS_N_PORTS(HCS_N_PORTS172,5200 -#define HCC_EXT_CAPS(HCC_EXT_CAPS175,5320 -#define HCC_ISOC_CACHE(HCC_ISOC_CACHE176,5389 -#define HCC_ISOC_THRES(HCC_ISOC_THRES177,5470 -#define HCC_CANPARK(HCC_CANPARK178,5549 -#define HCC_PGM_FRAMELISTLEN(HCC_PGM_FRAMELISTLEN179,5622 -#define HCC_64BIT_ADDR(HCC_64BIT_ADDR180,5703 -struct ehci_regs ehci_regs186,5929 -#define CMD_PARK 191,6059 -#define CMD_PARK_CNT(CMD_PARK_CNT192,6117 -#define CMD_LRESET 193,6191 -#define CMD_IAAD 194,6254 -#define CMD_ASE 195,6320 -#define CMD_PSE 196,6373 -#define CMD_RESET 198,6468 -#define CMD_RUN 199,6517 -#define STS_ASS 203,6604 -#define STS_PSS 204,6658 -#define STS_RECL 205,6715 -#define STS_HALT 206,6759 -#define STS_IAA 209,6902 -#define STS_FATAL 210,6962 -#define STS_FLR 211,7025 -#define STS_PCD 212,7079 -#define STS_ERR 213,7129 -#define STS_INT 214,7195 -#define FLAG_CF 232,7725 -#define PORT_WKOC_E 237,7881 -#define PORT_WKDISC_E 238,7945 -#define PORT_WKCONN_E 239,8010 -#define PORT_LED_OFF 241,8101 -#define PORT_LED_AMBER 242,8130 -#define PORT_LED_GREEN 243,8161 -#define PORT_LED_MASK 244,8192 -#define PORT_OWNER 245,8222 -#define PORT_POWER 246,8290 -#define PORT_USB11(PORT_USB11247,8350 -#define PORT_RESET 250,8507 -#define PORT_SUSPEND 251,8551 -#define PORT_RESUME 252,8599 -#define PORT_OCC 253,8643 -#define PORT_OC 254,8694 -#define PORT_PEC 255,8745 -#define PORT_PE 256,8795 -#define PORT_CSC 257,8838 -#define PORT_CONNECT 258,8891 -#define QTD_NEXT(QTD_NEXT264,9052 -struct ehci_qtd ehci_qtd274,9397 -#define QTD_TOGGLE 279,9601 -#define QTD_LENGTH(QTD_LENGTH280,9648 -#define QTD_IOC 281,9695 -#define QTD_CERR(QTD_CERR282,9750 -#define QTD_PID(QTD_PID283,9792 -#define QTD_STS_ACTIVE 284,9832 -#define QTD_STS_HALT 285,9890 -#define QTD_STS_DBE 286,9942 -#define QTD_STS_BABBLE 287,10003 -#define QTD_STS_XACT 288,10074 -#define QTD_STS_MMF 289,10139 -#define QTD_STS_STS 290,10203 -#define QTD_STS_PING 291,10262 -#define QTD_MASK 303,10683 -#define IS_SHORT_READ(IS_SHORT_READ305,10732 -#define Q_NEXT_TYPE(Q_NEXT_TYPE310,10939 -#define Q_TYPE_ITD 313,11038 -#define Q_TYPE_QH 314,11089 -#define Q_TYPE_SITD 315,11139 -#define Q_TYPE_FSTN 316,11192 -#define QH_NEXT(QH_NEXT319,11312 -#define EHCI_LIST_END 322,11444 -union ehci_shadow ehci_shadow332,11839 -struct ehci_qh ehci_qh351,12381 -#define QH_HEAD 355,12526 -#define QH_STATE_LINKED 378,13162 -#define QH_STATE_UNLINK 379,13209 -#define QH_STATE_IDLE 380,13265 -#define QH_STATE_UNLINK_WAIT 381,13317 -#define QH_STATE_COMPLETING 382,13379 -#define NO_FRAME 390,13697 -struct ehci_iso_packet ehci_iso_packet397,13989 -struct ehci_iso_sched ehci_iso_sched410,14431 -struct ehci_iso_stream ehci_iso_stream420,14656 -struct ehci_itd ehci_itd466,15802 -#define EHCI_ISOC_ACTIVE 470,15960 -#define EHCI_ISOC_BUF_ERR 471,16041 -#define EHCI_ISOC_BABBLE 472,16112 -#define EHCI_ISOC_XACTERR 473,16181 -#define EHCI_ITD_LENGTH(EHCI_ITD_LENGTH474,16262 -#define EHCI_ITD_IOC 475,16314 -#define ITD_ACTIVE 477,16375 -struct ehci_sitd ehci_sitd505,17336 -#define SITD_IOC 512,17610 -#define SITD_PAGE 513,17667 -#define SITD_LENGTH(SITD_LENGTH514,17712 -#define SITD_STS_ACTIVE 515,17755 -#define SITD_STS_ERR 516,17814 -#define SITD_STS_DBE 517,17864 -#define SITD_STS_BABBLE 518,17926 -#define SITD_STS_XACT 519,17985 -#define SITD_STS_MMF 520,18042 -#define SITD_STS_STS 521,18107 -#define SITD_ACTIVE 523,18168 -struct ehci_fstn ehci_fstn551,19164 -#define ehci_is_ARC(ehci_is_ARC571,19793 -ehci_port_speed(575,19938 -#define ehci_is_ARC(ehci_is_ARC593,20242 -#define ehci_port_speed(ehci_port_speed595,20272 -#define STUB_DEBUG_FILES601,20440 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci-dbg.c,1474 -#define ehci_dbg(ehci_dbg21,793 -#define ehci_err(ehci_err23,888 -#define ehci_info(ehci_info25,983 -#define ehci_warn(ehci_warn27,1080 -# define vdbg 31,1204 -# define ehci_vdbg 32,1222 -# define vdbg(vdbg34,1256 -# define ehci_vdbg(ehci_vdbg35,1300 -static void dbg_hcs_params 44,1516 -static inline void dbg_hcs_params 78,2393 -static void dbg_hcc_params 88,2630 -static inline void dbg_hcc_params 112,3351 -static void __attribute__(118,3448 -static void __attribute__(134,3995 -static void __attribute__(143,4304 -static void __attribute__(173,5406 -static int __attribute__(187,5897 -static int __attribute__(206,6495 -static const char *const fls_strings 221,6932 -static int dbg_command_buf 224,7011 -dbg_port_buf 243,7619 -static inline void __attribute__(274,8505 -static inline int __attribute__(278,8620 -static inline int __attribute__(282,8747 -static inline int __attribute__(286,8876 -static inline int __attribute__(290,9001 -#define dbg_status(dbg_status297,9221 -#define dbg_cmd(dbg_cmd303,9375 -#define dbg_port(dbg_port309,9529 -static inline void create_debug_files 319,9795 -static inline void remove_debug_files 320,9860 -#define speed_char(speed_char326,9987 -static inline char token_mark 334,10214 -static void qh_lines 347,10468 -show_async 440,12784 -#define DBG_SCHED_LIMIT 479,13773 -show_periodic 482,13816 -show_registers 624,17134 -static inline void create_debug_files 735,20056 -static inline void remove_debug_files 742,20366 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/hc_sl811.c,1748 -#define SL811_DEBUG_ERR47,1644 -#define DBGERR(DBGERR50,1692 -#define DBGERR(DBGERR52,1747 -#define DBG(DBG56,1803 -#define DBG(DBG58,1855 -#define DBGFUNC(DBGFUNC62,1913 -#define DBGFUNC(DBGFUNC64,1969 -#define DBGDATAR(DBGDATAR68,2031 -#define DBGDATAW(DBGDATAW69,2082 -#define DBGDATAR(DBGDATAR71,2139 -#define DBGDATAW(DBGDATAW72,2170 -#define DBGVERBOSE(DBGVERBOSE76,2236 -#define DBGVERBOSE(DBGVERBOSE78,2295 -#define TRUE 81,2336 -#define FALSE 82,2351 -#define HC_SWITCH_INT84,2368 -static int urb_debug 88,2436 -static int base_addr 98,2717 -static int data_reg_addr 99,2752 -static int irq 100,2791 -static int sofWaitCnt 107,2964 -char SL811Read 131,3786 -void SL811Write 153,4390 -void SL811BufRead 173,5019 -void SL811BufWrite 201,5830 -int regTest 235,6831 -void regShow 276,7738 -static int USBReset 295,8301 -static inline void hc_mark_last_trans 382,10705 -static inline void hc_flush_data_cache 396,10989 -static inline int hc_add_trans 425,12097 -static inline int hc_parse_trans 501,14199 -static void hc_start_int 567,16065 -static void hc_stop_int 586,16603 -void handleInsRmvIntr 605,17184 -int SL11StartXaction 658,18563 -static void hc_interrupt 740,20830 -static int hc_reset 858,23950 -static int hc_alloc_trans_buffer 882,24499 -static __u32 getPortStatusAndChange 917,25349 -static void setPortChange 941,25969 -static void clrPortChange 984,26910 -static void clrPortStatus 1022,27790 -static void setPortStatus 1056,28573 -static int hc_start 1089,29307 -static hci_t *__devinit hc_alloc_hci 1110,29779 -static void hc_release_hci 1182,31324 -void init_irq 1227,32194 -static int __devinit hc_found_hci 1247,32728 -static int __init hci_hcd_init 1319,34293 -static void __exit hci_hcd_cleanup 1344,34800 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/hc_sl811_rh.c,388 -static __u8 root_hub_dev_des[42,1760 -static __u8 root_hub_config_des[64,2390 -static int rh_send_irq 113,4148 -static void rh_int_timer_do 178,5881 -static int rh_init_int_timer 218,6869 -static int ascii2utf 235,7409 -static int root_hub_string 246,7615 -#define OK(OK281,8375 -static int rh_submit_urb 292,8727 -static int rh_unlink_urb 524,14022 -static int rh_connect_rh 557,14818 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci-q.c,583 -qtd_fill 46,1924 -qh_update 89,3048 -static void qtd_copy_status 101,3435 -ehci_urb_done 177,5717 -#define HALT_BIT 233,7200 -qh_completions 235,7270 -#define hb_mult(hb_mult390,11377 -#define max_packet(max_packet392,11509 -static void qtd_list_free 398,11698 -qh_urb_transaction 418,12125 -clear_toggle 562,15932 -qh_make 586,16852 -static void qh_link_async 722,20583 -#define QH_ADDR_MASK 759,21539 -static struct ehci_qh *qh_append_tds 767,21819 -submit_async 885,25013 -static void end_unlink_async 936,26458 -static void start_unlink_async 979,27532 -scan_async 1037,28902 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-hcd.c,646 -# define DEBUG80,3342 -#define DRIVER_VERSION 112,4071 -#define DRIVER_AUTHOR 113,4108 -#define DRIVER_DESC 114,4167 -#define OHCI_CONTROL_INIT 121,4431 -#define OHCI_INTR_INIT 122,4473 -static const char hcd_name 127,4641 -static int power_switching 138,4850 -static int ohci_urb_enqueue 147,5141 -static int ohci_urb_dequeue 281,8727 -ohci_endpoint_disable 322,9797 -static int ohci_get_frame 383,11318 -static int hc_reset 396,11652 -static int hc_start 493,14503 -static irqreturn_t ohci_irq 594,17347 -static void ohci_stop 667,19406 -static void mark_children_gone 699,20203 -static int hc_restart 711,20457 -#define DRIVER_INFO 791,22619 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/uhci-hub.c,319 -static __u8 root_hub_hub_des[15,481 -#define UHCI_RH_MAXCHILD 28,936 -#define WZ_BITS 31,991 -#define RWC_BITS 34,1113 -static int uhci_hub_status_data(36,1179 -#define OK(OK50,1492 -#define CLR_RH_PORTSTAT(CLR_RH_PORTSTAT52,1526 -#define SET_RH_PORTSTAT(SET_RH_PORTSTAT59,1691 -static int uhci_hub_control(67,1877 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ehci-hub.c,316 -static int ehci_hub_suspend 33,1087 -static int ehci_hub_resume 85,2560 -#define ehci_hub_suspend 149,4369 -#define ehci_hub_resume 150,4399 -static int check_reset_complete 156,4533 -ehci_hub_status_data 196,5470 -ehci_hub_descriptor 246,6701 -#define PORT_WAKE_BITS 275,7571 -static int ehci_hub_control 277,7638 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/uhci-hcd.c,3549 -#define DEBUG32,1318 -#define DRIVER_VERSION 67,2017 -#define DRIVER_AUTHOR 68,2047 -#define DRIVER_DESC 71,2210 -static int debug 81,2553 -static int debug 83,2581 -static char *errbuf;87,2695 -#define ERRBUF_LEN 88,2716 -static kmem_cache_t *uhci_up_cachep;93,2798 -#define IDLE_TIMEOUT 106,3444 -#define FSBR_DELAY 107,3486 -#define DEPTH_INTERVAL 112,3729 -static inline void uhci_set_next_interrupt(122,4177 -static inline void uhci_clear_next_interrupt(127,4301 -static inline void uhci_moveto_complete(132,4427 -static struct uhci_td *uhci_alloc_td(138,4580 -static inline void uhci_fill_td(164,5040 -static void uhci_insert_td_frame_list(175,5321 -static void uhci_remove_td(201,5977 -static void uhci_insert_tds_in_qh(235,6803 -static void uhci_free_td(271,7611 -static struct uhci_qh *uhci_alloc_qh(286,8056 -static void uhci_free_qh(311,8499 -static void uhci_insert_qh(330,9031 -static void uhci_remove_qh(376,10294 -static int uhci_fixup_toggle(447,12042 -static void uhci_append_queued_urb(473,12632 -static void uhci_delete_queued_urb(523,13912 -static struct urb_priv *uhci_alloc_urb_priv(594,15923 -static void uhci_add_td_to_urb(619,16429 -static void uhci_remove_td_from_urb(628,16620 -static void uhci_destroy_urb_priv(638,16765 -static void uhci_inc_fsbr(679,17778 -static void uhci_dec_fsbr(690,18128 -static int uhci_map_status(708,18646 -static int uhci_submit_control(733,19205 -static int usb_control_retrigger_status(857,22405 -static int uhci_result_control(871,22737 -static int uhci_submit_common(981,25124 -static int uhci_result_common(1084,28016 -static inline int uhci_submit_bulk(1148,29456 -static inline int uhci_submit_interrupt(1163,29798 -static int isochronous_find_limits(1176,30265 -static int isochronous_find_start(1209,31081 -static int uhci_submit_isochronous(1238,31698 -static int uhci_result_isochronous(1273,32577 -static struct urb *uhci_find_urb_ep(1312,33392 -static int uhci_urb_enqueue(1341,34076 -static void uhci_transfer_result(1414,35695 -static void uhci_unlink_generic(1476,37233 -static int uhci_urb_dequeue(1525,38746 -static int uhci_fsbr_timeout(1556,39525 -static int uhci_get_current_frame_number(1598,40486 -static void stall_callback(1605,40645 -static int init_stall_timer(1668,42245 -static void uhci_free_pending_qhs(1681,42574 -static void uhci_free_pending_tds(1698,42896 -static void uhci_finish_urb(1715,43218 -static void uhci_finish_completion(1726,43500 -static void uhci_remove_pending_urbps(1745,43956 -static irqreturn_t uhci_irq(1752,44160 -static void reset_hc(1826,46295 -static void suspend_hc(1847,46795 -static void wakeup_hc(1857,47030 -static int ports_active(1897,48041 -static int suspend_allowed(1909,48294 -static void hc_state_transitions(1936,49043 -static void start_hc(1974,49835 -static void release_uhci(2014,50893 -static int uhci_reset(2053,51626 -static int uhci_start(2082,52529 -static void uhci_stop(2319,59040 -static int uhci_suspend(2349,59707 -static int uhci_resume(2363,60033 -static struct usb_hcd *uhci_hcd_alloc(2395,60942 -static void uhci_hcd_free(2408,61210 -static int urbs_for_ep_list(2414,61363 -static int urbs_for_ep(2431,61744 -static void uhci_hcd_endpoint_disable(2444,62162 -static int uhci_hcd_get_frame_number(2453,62388 -static const char hcd_name[2458,62508 -static const struct hc_driver uhci_driver 2460,62552 -static const struct pci_device_id uhci_pci_ids[2489,63190 -static struct pci_driver uhci_pci_driver 2498,63465 -static int __init uhci_hcd_init(2511,63729 -static void __exit uhci_hcd_cleanup(2562,64619 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/ohci-dbg.c,948 -#define edstring(edstring14,329 -#define pipestring(pipestring21,574 -static void __attribute__(26,729 -#define ohci_dbg_sw(ohci_dbg_sw75,1976 -static void ohci_dump_intr_mask 86,2228 -static void maybe_print_eds 108,2785 -static char *hcfs2string 119,2974 -ohci_dump_status 132,3266 -#define dbg_port_sw(dbg_port_sw191,5219 -ohci_dump_roothub 214,5879 -static void ohci_dump 264,7106 -static const char data0 276,7468 -static const char data1 277,7506 -static void ohci_dump_td 279,7545 -static void __attribute__(335,9214 -static inline void ohci_dump 382,10551 -static inline void create_debug_files 392,10778 -static inline void remove_debug_files 393,10843 -static inline struct ohci_hcd *dev_to_ohci 397,10916 -show_list 405,11074 -show_async 471,12627 -#define DBG_SCHED_LIMIT 494,13242 -show_periodic 497,13285 -show_registers 597,15509 -static inline void create_debug_files 677,17433 -static inline void remove_debug_files 685,17785 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/host/uhci-debug.c,810 -static inline void lprintk(21,511 -static inline int uhci_is_skeleton_qh(37,731 -static int uhci_show_td(48,919 -static int uhci_show_qh(102,2314 -#define show_frame_num(show_frame_num201,4677 -static const char *qh_names[208,4810 -#define show_qh_name(show_qh_name217,5068 -static int uhci_show_sc(223,5182 -static int uhci_show_status(248,5958 -static int uhci_show_urbp(301,7807 -static int uhci_show_lists(348,9223 -static int uhci_sprint_schedule(408,10714 -#define MAX_OUTPUT 508,13042 -static struct proc_dir_entry *uhci_proc_root 510,13074 -struct uhci_proc uhci_proc512,13128 -static int uhci_proc_open(518,13199 -static loff_t uhci_proc_lseek(546,13703 -static ssize_t uhci_proc_read(570,14085 -static int uhci_proc_release(577,14306 -static struct file_operations uhci_proc_operations 587,14467 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/mtouchusb.c,1269 - #define DEBUG42,1706 -#define MTOUCHUSB_MIN_XC 54,1912 -#define MTOUCHUSB_MAX_XC 55,1956 -#define MTOUCHUSB_XC_FUZZ 56,2003 -#define MTOUCHUSB_XC_FLAT 57,2047 -#define MTOUCHUSB_MIN_YC 58,2091 -#define MTOUCHUSB_MAX_YC 59,2135 -#define MTOUCHUSB_YC_FUZZ 60,2182 -#define MTOUCHUSB_YC_FLAT 61,2226 -#define MTOUCHUSB_ASYNC_REPORT 63,2271 -#define MTOUCHUSB_RESET 64,2313 -#define MTOUCHUSB_REPORT_DATA_SIZE 65,2355 -#define MTOUCHUSB_REQ_CTRLLR_ID 66,2398 -#define MTOUCHUSB_GET_XC(MTOUCHUSB_GET_XC68,2442 -#define MTOUCHUSB_GET_YC(MTOUCHUSB_GET_YC69,2505 -#define MTOUCHUSB_GET_TOUCHED(MTOUCHUSB_GET_TOUCHED70,2569 -#define DRIVER_VERSION 72,2635 -#define DRIVER_AUTHOR 73,2665 -#define DRIVER_DESC 74,2726 -#define DRIVER_LICENSE 75,2774 -struct mtouch_usb mtouch_usb77,2804 -static struct usb_device_id mtouchusb_devices 88,3041 -static void mtouchusb_irq(93,3150 -static int mtouchusb_open 136,4761 -static void mtouchusb_close 153,5114 -static int mtouchusb_alloc_buffers(161,5301 -static void mtouchusb_free_buffers(174,5657 -static int mtouchusb_probe(183,5949 -static void mtouchusb_disconnect(315,11056 -static struct usb_driver mtouchusb_driver 333,11672 -static int __init mtouchusb_init(341,11916 -static void __exit mtouchusb_cleanup(346,12050 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/usbmouse.c,545 -#define DRIVER_VERSION 39,1256 -#define DRIVER_AUTHOR 40,1286 -#define DRIVER_DESC 41,1342 -#define DRIVER_LICENSE 42,1399 -struct usb_mouse usb_mouse48,1525 -static void usb_mouse_irq(60,1704 -static int usb_mouse_open(100,2747 -static void usb_mouse_close(116,3004 -static int usb_mouse_probe(124,3153 -static void usb_mouse_disconnect(220,5951 -static struct usb_device_id usb_mouse_id_table 234,6312 -static struct usb_driver usb_mouse_driver 241,6489 -static int __init usb_mouse_init(249,6683 -static void __exit usb_mouse_exit(257,6849 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid-core.c,5371 -#define DRIVER_VERSION 40,835 -#define DRIVER_AUTHOR 41,865 -#define DRIVER_DESC 42,917 -#define DRIVER_LICENSE 43,959 -static char *hid_types[45,989 -static struct hid_report *hid_register_report(52,1180 -static struct hid_field *hid_register_field(82,1888 -static int open_collection(109,2634 -static int close_collection(159,4009 -static unsigned hid_lookup_collection(174,4301 -static int hid_add_usage(187,4709 -static int hid_add_field(205,5189 -static __inline__ __u32 item_udata(266,7187 -static __inline__ __s32 item_sdata(276,7385 -static int hid_parser_global(290,7617 -static int hid_parser_local(381,9927 -static int hid_parser_main(473,11812 -static int hid_parser_reserved(510,12671 -static void hid_free_report(522,12988 -static void hid_free_device(535,13210 -static u8 *fetch_item(561,13743 -static struct hid_device *hid_parse_report(629,14974 -static __inline__ __s32 snto32(730,17599 -static __inline__ __u32 s32ton(744,17908 -static __inline__ __u32 extract(756,18165 -static __inline__ void implement(762,18372 -static __inline__ int search(774,18711 -static void hid_process_event(783,18852 -static void hid_input_field(798,19383 -static int hid_input_report(854,20997 -static void hid_irq_in(916,22384 -static void hid_output_field(946,23048 -static void hid_output_report(965,23537 -int hid_set_field(982,23906 -int hid_find_field(1003,24422 -int hid_find_report_by_usage(1026,25084 -static int hid_find_field_in_report(1046,25656 -static int hid_submit_out(1061,25980 -static int hid_submit_ctrl(1081,26402 -static void hid_irq_out(1133,27918 -static void hid_ctrl(1170,28723 -void hid_submit_report(1206,29656 -int hid_wait_io(1254,30907 -static int hid_get_class_descriptor(1277,31413 -int hid_open(1285,31707 -void hid_close(1298,31882 -void hid_init_reports(1308,32007 -#define USB_VENDOR_ID_WACOM 1373,34159 -#define USB_DEVICE_ID_WACOM_PENPARTNER 1374,34195 -#define USB_DEVICE_ID_WACOM_GRAPHIRE 1375,34241 -#define USB_DEVICE_ID_WACOM_INTUOS 1376,34285 -#define USB_DEVICE_ID_WACOM_PL 1377,34327 -#define USB_DEVICE_ID_WACOM_INTUOS2 1378,34366 -#define USB_DEVICE_ID_WACOM_VOLITO 1379,34409 -#define USB_DEVICE_ID_WACOM_PTU 1380,34456 -#define USB_VENDOR_ID_KBGEAR 1382,34504 -#define USB_DEVICE_ID_KBGEAR_JAMSTUDIO 1383,34551 -#define USB_VENDOR_ID_AIPTEK 1385,34599 -#define USB_DEVICE_ID_AIPTEK_01 1386,34636 -#define USB_DEVICE_ID_AIPTEK_10 1387,34676 -#define USB_DEVICE_ID_AIPTEK_20 1388,34716 -#define USB_DEVICE_ID_AIPTEK_21 1389,34756 -#define USB_DEVICE_ID_AIPTEK_22 1390,34796 -#define USB_DEVICE_ID_AIPTEK_23 1391,34836 -#define USB_DEVICE_ID_AIPTEK_24 1392,34876 -#define USB_VENDOR_ID_GRIFFIN 1394,34917 -#define USB_DEVICE_ID_POWERMATE 1395,34955 -#define USB_DEVICE_ID_SOUNDKNOB 1396,34995 -#define USB_VENDOR_ID_ATEN 1398,35036 -#define USB_DEVICE_ID_ATEN_UC100KM 1399,35084 -#define USB_DEVICE_ID_ATEN_CS124U 1400,35130 -#define USB_DEVICE_ID_ATEN_2PORTKVM 1401,35176 -#define USB_DEVICE_ID_ATEN_4PORTKVM 1402,35222 -#define USB_DEVICE_ID_ATEN_4PORTKVMC 1403,35268 -#define USB_VENDOR_ID_TOPMAX 1405,35315 -#define USB_DEVICE_ID_TOPMAX_COBRAPAD 1406,35361 -#define USB_VENDOR_ID_HAPP 1408,35408 -#define USB_DEVICE_ID_UGCI_DRIVING 1409,35454 -#define USB_DEVICE_ID_UGCI_FLYING 1410,35500 -#define USB_DEVICE_ID_UGCI_FIGHTING 1411,35546 -#define USB_VENDOR_ID_MGE 1413,35593 -#define USB_DEVICE_ID_MGE_UPS 1414,35639 -#define USB_DEVICE_ID_MGE_UPS1 1415,35685 -#define USB_VENDOR_ID_ONTRAK 1417,35732 -#define USB_DEVICE_ID_ONTRAK_ADU100 1418,35769 -#define USB_VENDOR_ID_TANGTOP 1420,35813 -#define USB_DEVICE_ID_TANGTOP_USBPS2 1421,35859 -#define USB_VENDOR_ID_ESSENTIAL_REALITY 1423,35906 -#define USB_DEVICE_ID_ESSENTIAL_REALITY_P5 1424,35953 -#define USB_VENDOR_ID_A4TECH 1426,36004 -#define USB_DEVICE_ID_A4TECH_WCP32PU 1427,36041 -#define USB_VENDOR_ID_CYPRESS 1429,36086 -#define USB_DEVICE_ID_CYPRESS_MOUSE 1430,36124 -#define USB_VENDOR_ID_BERKSHIRE 1432,36168 -#define USB_DEVICE_ID_BERKSHIRE_PCWD 1433,36208 -#define USB_VENDOR_ID_ALPS 1435,36253 -#define USB_DEVICE_ID_IBM_GAMEPAD 1436,36288 -#define USB_VENDOR_ID_SAITEK 1438,36330 -#define USB_DEVICE_ID_SAITEK_RUMBLEPAD 1439,36367 -#define USB_VENDOR_ID_NEC 1441,36414 -#define USB_DEVICE_ID_NEC_USB_GAME_PAD 1442,36448 -#define USB_VENDOR_ID_CHIC 1444,36495 -#define USB_DEVICE_ID_CHIC_GAMEPAD 1445,36530 -#define USB_VENDOR_ID_GLAB 1447,36573 -#define USB_DEVICE_ID_4_PHIDGETSERVO_30 1448,36608 -#define USB_DEVICE_ID_1_PHIDGETSERVO_30 1449,36655 -#define USB_DEVICE_ID_8_8_8_IF_KIT 1450,36702 -#define USB_DEVICE_ID_0_0_4_IF_KIT 1451,36744 -#define USB_DEVICE_ID_0_8_8_IF_KIT 1452,36786 -#define USB_VENDOR_ID_WISEGROUP 1454,36829 -#define USB_DEVICE_ID_1_PHIDGETSERVO_20 1455,36869 -#define USB_DEVICE_ID_4_PHIDGETSERVO_20 1456,36916 -#define USB_VENDOR_ID_CODEMERCS 1458,36964 -#define USB_DEVICE_ID_CODEMERCS_IOW40 1459,37004 -#define USB_DEVICE_ID_CODEMERCS_IOW24 1460,37049 -static struct hid_blacklist hid_blacklist1463,37096 -} hid_blacklist[1467,37179 -static int hid_alloc_buffers(1548,42524 -static void hid_free_buffers(1562,43037 -static struct hid_device *usb_hid_configure(1574,43466 -static void hid_disconnect(1746,48347 -static int hid_probe 1772,48892 -static struct usb_device_id hid_usb_ids 1828,50252 -static struct usb_driver hid_driver 1836,50478 -static int __init hid_init(1844,50643 -static void __exit hid_exit(1862,50953 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/powermate.c,1264 -#define POWERMATE_VENDOR 39,1766 -#define POWERMATE_PRODUCT_NEW 40,1829 -#define POWERMATE_PRODUCT_OLD 41,1890 -#define CONTOUR_VENDOR 43,1952 -#define CONTOUR_JOG 44,2010 -#define SET_STATIC_BRIGHTNESS 47,2117 -#define SET_PULSE_ASLEEP 48,2153 -#define SET_PULSE_AWAKE 49,2189 -#define SET_PULSE_MODE 50,2225 -#define UPDATE_STATIC_BRIGHTNESS 53,2337 -#define UPDATE_PULSE_ASLEEP 54,2377 -#define UPDATE_PULSE_AWAKE 55,2417 -#define UPDATE_PULSE_MODE 56,2457 -#define POWERMATE_PAYLOAD_SIZE_MAX 61,2669 -#define POWERMATE_PAYLOAD_SIZE_MIN 62,2706 -struct powermate_device powermate_device63,2743 -static char pm_name_powermate[81,3150 -static char pm_name_soundknob[82,3205 -static void powermate_irq(87,3420 -static void powermate_sync_state(121,4336 -static void powermate_config_complete(195,7326 -static void powermate_pulse_led(209,7758 -static int powermate_input_event(254,9067 -static int powermate_alloc_buffers(279,10024 -static void powermate_free_buffers(293,10394 -static int powermate_probe(304,10781 -static void powermate_disconnect(413,14211 -static struct usb_device_id powermate_devices 430,14596 -static struct usb_driver powermate_driver 439,14891 -static int __init powermate_init(447,15131 -static void __exit powermate_cleanup(452,15216 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/xpad.c,693 -#define DRIVER_VERSION 66,2152 -#define DRIVER_AUTHOR 67,2184 -#define DRIVER_DESC 68,2247 -#define XPAD_PKT_LEN 70,2287 -static struct xpad_device xpad_device72,2312 -} xpad_device[76,2384 -static signed short xpad_btn[83,2610 -static signed short xpad_abs[89,2818 -static struct usb_device_id xpad_table 97,3040 -struct usb_xpad usb_xpad104,3211 -static void xpad_process_packet(126,3786 -static void xpad_irq_in(167,5206 -static int xpad_open 196,5863 -static void xpad_close 212,6128 -static int xpad_probe(220,6279 -static void xpad_disconnect(322,8990 -static struct usb_driver xpad_driver 336,9356 -static int __init usb_xpad_init(344,9523 -static void __exit usb_xpad_exit(352,9682 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/usbkbd.c,712 -#define DRIVER_VERSION 39,1257 -#define DRIVER_AUTHOR 40,1283 -#define DRIVER_DESC 41,1339 -#define DRIVER_LICENSE 42,1399 -static unsigned char usb_kbd_keycode[48,1525 -struct usb_kbd usb_kbd67,2614 -static void usb_kbd_irq(85,2937 -int usb_kbd_event(136,4189 -static void usb_kbd_led(162,4855 -static int usb_kbd_open(178,5219 -static void usb_kbd_close(194,5460 -static int usb_kbd_alloc_mem(202,5599 -static void usb_kbd_free_mem(218,6101 -static int usb_kbd_probe(232,6489 -static void usb_kbd_disconnect(340,9559 -static struct usb_device_id usb_kbd_id_table 353,9851 -static struct usb_driver usb_kbd_driver 360,10021 -static int __init usb_kbd_init(368,10203 -static void __exit usb_kbd_exit(376,10364 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/pid.h,450 -#define FF_EFFECTS_MAX 26,939 -#define FF_PID_FLAGS_USED 28,966 -#define FF_PID_FLAGS_UPDATING 29,1022 -#define FF_PID_FLAGS_PLAYING 30,1092 -#define FF_PID_FALSE 32,1171 -#define FF_PID_TRUE 33,1194 -struct hid_pid_effect hid_pid_effect35,1217 -struct hid_ff_pid hid_ff_pid42,1371 -#define FF_PID_USAGE_BLOCK_LOAD 59,1682 -#define FF_PID_USAGE_BLOCK_FREE 60,1722 -#define FF_PID_USAGE_NEW_EFFECT 61,1762 -#define FF_PID_USAGE_POOL_REPORT 62,1802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/fixp-arith.h,344 -#define _FIXP_ARITH_H2,22 -typedef s16 fixp_t;fixp_t35,1095 -#define FRAC_N 37,1116 -#define FRAC_MASK 38,1133 -static fixp_t cos_table[41,1215 -static inline fixp_t fixp_new(52,1639 -static inline fixp_t fixp_new16(61,1764 -static inline fixp_t fixp_cos(66,1839 -static inline fixp_t fixp_sin(80,2105 -static inline fixp_t fixp_mult(85,2195 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid-input.c,441 -#define unk 37,1224 -static unsigned char hid_keyboard[39,1249 -} hid_hat_to_axis[61,2387 -static struct input_dev *find_input(63,2494 -static void hidinput_configure_usage(91,3127 -void hidinput_hid_event(425,13301 -void hidinput_report_event(498,15677 -static int hidinput_input_event(509,15937 -static int hidinput_open(529,16424 -static void hidinput_close(535,16540 -int hidinput_connect(547,16808 -void hidinput_disconnect(633,19296 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid.h,5274 -#define __HID_H2,16 -#define USB_INTERFACE_CLASS_HID 39,1244 -#define HID_REQ_GET_REPORT 45,1310 -#define HID_REQ_GET_IDLE 46,1343 -#define HID_REQ_GET_PROTOCOL 47,1374 -#define HID_REQ_SET_REPORT 48,1409 -#define HID_REQ_SET_IDLE 49,1442 -#define HID_REQ_SET_PROTOCOL 50,1473 -#define HID_DT_HID 56,1547 -#define HID_DT_REPORT 57,1592 -#define HID_DT_PHYSICAL 58,1640 -struct hid_item hid_item66,1868 -#define HID_ITEM_FORMAT_SHORT 86,2133 -#define HID_ITEM_FORMAT_LONG 87,2165 -#define HID_ITEM_TAG_LONG 93,2242 -#define HID_ITEM_TYPE_MAIN 99,2332 -#define HID_ITEM_TYPE_GLOBAL 100,2362 -#define HID_ITEM_TYPE_LOCAL 101,2394 -#define HID_ITEM_TYPE_RESERVED 102,2425 -#define HID_MAIN_ITEM_TAG_INPUT 108,2508 -#define HID_MAIN_ITEM_TAG_OUTPUT 109,2544 -#define HID_MAIN_ITEM_TAG_FEATURE 110,2580 -#define HID_MAIN_ITEM_TAG_BEGIN_COLLECTION 111,2618 -#define HID_MAIN_ITEM_TAG_END_COLLECTION 112,2664 -#define HID_MAIN_ITEM_CONSTANT 118,2761 -#define HID_MAIN_ITEM_VARIABLE 119,2799 -#define HID_MAIN_ITEM_RELATIVE 120,2837 -#define HID_MAIN_ITEM_WRAP 121,2875 -#define HID_MAIN_ITEM_NONLINEAR 122,2910 -#define HID_MAIN_ITEM_NO_PREFERRED 123,2949 -#define HID_MAIN_ITEM_NULL_STATE 124,2990 -#define HID_MAIN_ITEM_VOLATILE 125,3029 -#define HID_MAIN_ITEM_BUFFERED_BYTE 126,3067 -#define HID_COLLECTION_PHYSICAL 132,3165 -#define HID_COLLECTION_APPLICATION 133,3200 -#define HID_COLLECTION_LOGICAL 134,3237 -#define HID_GLOBAL_ITEM_TAG_USAGE_PAGE 140,3322 -#define HID_GLOBAL_ITEM_TAG_LOGICAL_MINIMUM 141,3364 -#define HID_GLOBAL_ITEM_TAG_LOGICAL_MAXIMUM 142,3410 -#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MINIMUM 143,3456 -#define HID_GLOBAL_ITEM_TAG_PHYSICAL_MAXIMUM 144,3503 -#define HID_GLOBAL_ITEM_TAG_UNIT_EXPONENT 145,3550 -#define HID_GLOBAL_ITEM_TAG_UNIT 146,3594 -#define HID_GLOBAL_ITEM_TAG_REPORT_SIZE 147,3630 -#define HID_GLOBAL_ITEM_TAG_REPORT_ID 148,3673 -#define HID_GLOBAL_ITEM_TAG_REPORT_COUNT 149,3714 -#define HID_GLOBAL_ITEM_TAG_PUSH 150,3757 -#define HID_GLOBAL_ITEM_TAG_POP 151,3794 -#define HID_LOCAL_ITEM_TAG_USAGE 157,3881 -#define HID_LOCAL_ITEM_TAG_USAGE_MINIMUM 158,3917 -#define HID_LOCAL_ITEM_TAG_USAGE_MAXIMUM 159,3960 -#define HID_LOCAL_ITEM_TAG_DESIGNATOR_INDEX 160,4003 -#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MINIMUM 161,4049 -#define HID_LOCAL_ITEM_TAG_DESIGNATOR_MAXIMUM 162,4097 -#define HID_LOCAL_ITEM_TAG_STRING_INDEX 163,4145 -#define HID_LOCAL_ITEM_TAG_STRING_MINIMUM 164,4188 -#define HID_LOCAL_ITEM_TAG_STRING_MAXIMUM 165,4232 -#define HID_LOCAL_ITEM_TAG_DELIMITER 166,4276 -#define HID_USAGE_PAGE 172,4346 -#define HID_UP_GENDESK 174,4382 -#define HID_UP_KEYBOARD 175,4418 -#define HID_UP_LED 176,4454 -#define HID_UP_BUTTON 177,4486 -#define HID_UP_ORDINAL 178,4521 -#define HID_UP_CONSUMER 179,4557 -#define HID_UP_DIGITIZER 180,4593 -#define HID_UP_PID 181,4630 -#define HID_UP_HPVENDOR 182,4662 -#define HID_USAGE 184,4706 -#define HID_GD_POINTER 186,4737 -#define HID_GD_MOUSE 187,4772 -#define HID_GD_JOYSTICK 188,4805 -#define HID_GD_GAMEPAD 189,4841 -#define HID_GD_HATSWITCH 190,4876 -#define HID_INPUT_REPORT 196,4972 -#define HID_OUTPUT_REPORT 197,4999 -#define HID_FEATURE_REPORT 198,5027 -#define HID_QUIRK_INVERT 204,5087 -#define HID_QUIRK_NOTOUCH 205,5120 -#define HID_QUIRK_IGNORE 206,5154 -#define HID_QUIRK_NOGET 207,5187 -#define HID_QUIRK_HIDDEV 208,5220 -#define HID_QUIRK_BADPAD 209,5253 -#define HID_QUIRK_MULTI_INPUT 210,5286 -#define HID_QUIRK_2WHEEL_MOUSE_HACK_BACK 211,5324 -#define HID_QUIRK_2WHEEL_MOUSE_HACK_EXTRA 212,5371 -#define HID_QUIRK_2WHEEL_MOUSE_HACK_ON 213,5419 -struct hid_global hid_global221,5651 -#define HID_MAX_DESCRIPTOR_SIZE 238,5998 -#define HID_MAX_USAGES 239,6036 -#define HID_DEFAULT_NUM_COLLECTIONS 240,6066 -struct hid_local hid_local242,6106 -struct hid_collection hid_collection256,6475 -struct hid_usage hid_usage262,6553 -struct hid_field hid_field271,6833 -#define HID_MAX_FIELDS 293,7764 -struct hid_report hid_report295,7791 -struct hid_report_enum hid_report_enum305,8149 -#define HID_REPORT_TYPES 311,8270 -#define HID_BUFFER_SIZE 313,8298 -#define HID_CONTROL_FIFO_SIZE 314,8386 -#define HID_OUTPUT_FIFO_SIZE 315,8461 -struct hid_control_fifo hid_control_fifo317,8494 -#define HID_CLAIMED_INPUT 322,8572 -#define HID_CLAIMED_HIDDEV 323,8600 -#define HID_CTRL_RUNNING 325,8630 -#define HID_OUT_RUNNING 326,8657 -struct hid_input hid_input328,8685 -struct hid_device hid_device334,8785 -#define HID_GLOBAL_STACK_SIZE 391,11303 -#define HID_COLLECTION_STACK_SIZE 392,11335 -struct hid_parser hid_parser394,11372 -struct hid_class_descriptor hid_class_descriptor404,11702 -struct hid_descriptor hid_descriptor409,11811 -#define hid_dump_input(hid_dump_input422,12045 -#define hid_dump_device(hid_dump_device423,12090 -#define hid_dump_field(hid_dump_field424,12134 -#define resolv_usage(resolv_usage425,12179 -#define IS_INPUT_APPLICATION(IS_INPUT_APPLICATION433,12390 -#define IS_INPUT_APPLICATION(IS_INPUT_APPLICATION439,12827 -static inline void hidinput_hid_event(440,12863 -static inline void hidinput_report_event(441,13014 -static inline int hidinput_connect(442,13110 -static inline void hidinput_disconnect(443,13189 -static inline int hid_ff_init(459,13837 -static inline void hid_ff_exit(461,13913 -static inline int hid_ff_event(466,14012 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/ati_remote.c,1719 -#define ATI_REMOTE_VENDOR_ID 102,4062 -#define ATI_REMOTE_PRODUCT_ID 103,4099 -#define LOLA_REMOTE_PRODUCT_ID 104,4136 -#define DRIVER_VERSION 106,4175 -#define DRIVER_AUTHOR 107,4215 -#define DRIVER_DESC 108,4285 -#define NAME_BUFSIZE 110,4350 -#define DATA_BUFSIZE 111,4423 -#define ATI_INPUTNUM 112,4486 -static unsigned long channel_mask 114,4559 -static int debug 118,4720 -#define dbginfo(dbginfo122,4847 -#define err(err124,4956 -static struct usb_device_id ati_remote_table[126,5019 -#define HI(HI135,5316 -#define LO(LO136,5358 -#define SEND_FLAG_IN_PROGRESS 138,5403 -#define SEND_FLAG_COMPLETE 139,5435 -static char init1[142,5501 -static char init2[143,5551 -static char accel[146,5673 -#define FILTER_TIME 156,6074 -struct ati_remote ati_remote160,6144 -#define KIND_END 190,6924 -#define KIND_LITERAL 191,6950 -#define KIND_FILTERED 192,7012 -#define KIND_LU 193,7092 -#define KIND_RU 194,7166 -#define KIND_LD 195,7213 -#define KIND_RD 196,7260 -#define KIND_ACCEL 197,7307 -} ati_remote_tbl[207,7550 -static struct usb_driver ati_remote_driver 300,12698 -static void ati_remote_dump(311,12952 -static int ati_remote_open(326,13403 -static void ati_remote_close(353,13974 -static void ati_remote_irq_out(375,14486 -static int ati_remote_sendpacket(395,14901 -static int ati_remote_event_lookup(435,16021 -static void ati_remote_input_report(456,16496 -static void ati_remote_irq_in(593,20739 -static void ati_remote_delete(622,21448 -static void ati_remote_input_init(651,22119 -static int ati_remote_initialize(677,22960 -static int ati_remote_probe(720,24408 -static void ati_remote_disconnect(833,27764 -static int __init ati_remote_init(859,28285 -static void __exit ati_remote_exit(875,28562 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/kbtab.c,564 -#define DRIVER_VERSION 18,457 -#define DRIVER_AUTHOR 19,489 -#define DRIVER_DESC 20,546 -#define DRIVER_LICENSE 21,604 -#define USB_VENDOR_ID_KBGEAR 27,730 -static int kb_pressure_click 29,767 -struct kbtab kbtab33,916 -static void kbtab_irq(47,1130 -static struct usb_device_id kbtab_ids[97,2397 -static int kbtab_open(104,2553 -static void kbtab_close(120,2802 -static int kbtab_probe(128,2943 -static void kbtab_disconnect(202,5026 -static struct usb_driver kbtab_driver 216,5379 -static int __init kbtab_init(224,5547 -static void __exit kbtab_exit(235,5724 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/pid.c,517 -#define DEBUG40,1276 -#define CHECK_OWNERSHIP(CHECK_OWNERSHIP42,1291 -static void hid_pid_ctrl_out(49,1548 -static void hid_pid_exit(54,1689 -static int pid_upload_periodic(64,1903 -static int pid_upload_constant(69,2090 -static int pid_upload_condition(74,2277 -static int pid_upload_ramp(79,2466 -static int hid_pid_event(84,2643 -static void hid_pid_ctrl_playback(98,2966 -static int hid_pid_erase(110,3205 -static int hid_pid_flush(154,4361 -static int hid_pid_upload_effect(174,5020 -int hid_pid_init(270,7725 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid-lgff.c,998 -#define PERIOD 44,1248 -#define RUN_AT(RUN_AT46,1272 -#define EFFECT_STARTED 49,1327 -#define EFFECT_PLAYING 51,1424 -#define EFFECT_USED 52,1482 -#define DEVICE_CLOSING 55,1534 -#define CHECK_OWNERSHIP(CHECK_OWNERSHIP58,1660 -#define LGFF_CHECK_OWNERSHIP(LGFF_CHECK_OWNERSHIP61,1755 -#define LGFF_EFFECTS 66,1926 -struct device_type device_type68,1950 -struct lgff_effect lgff_effect74,2025 -struct lgff_device lgff_device84,2250 -static signed short ff_rumble[117,3412 -static signed short ff_joystick[122,3468 -static struct device_type devices[127,3528 -int hid_lgff_init(133,3665 -static struct hid_report* hid_lgff_duplicate_report(214,5721 -static void hid_lgff_delete_report(241,6300 -static void hid_lgff_input_init(250,6463 -static void hid_lgff_exit(275,7129 -static int hid_lgff_event(289,7438 -static int hid_lgff_flush(333,8581 -static int hid_lgff_erase(357,9239 -static int hid_lgff_upload_effect(372,9594 -static void hid_lgff_timer(432,11048 -#define CLAMP(CLAMP495,12983 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/touchkitusb.c,1194 -#define DEBUG35,1267 -#define TOUCHKIT_MIN_XC 40,1313 -#define TOUCHKIT_MAX_XC 41,1343 -#define TOUCHKIT_XC_FUZZ 42,1376 -#define TOUCHKIT_XC_FLAT 43,1406 -#define TOUCHKIT_MIN_YC 44,1436 -#define TOUCHKIT_MAX_YC 45,1466 -#define TOUCHKIT_YC_FUZZ 46,1499 -#define TOUCHKIT_YC_FLAT 47,1529 -#define TOUCHKIT_REPORT_DATA_SIZE 48,1559 -#define TOUCHKIT_DOWN 50,1596 -#define TOUCHKIT_POINT_TOUCH 51,1625 -#define TOUCHKIT_POINT_NOTOUCH 52,1660 -#define TOUCHKIT_GET_TOUCHED(TOUCHKIT_GET_TOUCHED54,1698 -#define TOUCHKIT_GET_X(TOUCHKIT_GET_X55,1771 -#define TOUCHKIT_GET_Y(TOUCHKIT_GET_Y56,1829 -#define DRIVER_VERSION 58,1888 -#define DRIVER_AUTHOR 59,1920 -#define DRIVER_DESC 60,1979 -struct touchkit_usb touchkit_usb62,2047 -static struct usb_device_id touchkit_devices[73,2230 -static void touchkit_irq(79,2351 -static int touchkit_open(122,3471 -static void touchkit_close(139,3751 -static int touchkit_alloc_buffers(147,3915 -static void touchkit_free_buffers(159,4202 -static int touchkit_probe(167,4430 -static void touchkit_disconnect(267,7422 -static struct usb_driver touchkit_driver 287,7934 -static int __init touchkit_init(295,8126 -static void __exit touchkit_cleanup(300,8209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid-debug.h,336 -struct hid_usage_entry hid_usage_entry30,1145 -static const struct hid_usage_entry hid_usage_table[36,1233 -static void resolv_usage_page(308,10551 -static void resolv_usage(319,10780 -__inline__ static void tab(336,11180 -static void hid_dump_field(340,11245 -static void __attribute__(432,14297 -static void __attribute__(460,15061 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid-ff.c,186 -struct hid_ff_initializer hid_ff_initializer47,1583 -static struct hid_ff_initializer inits[53,1680 -static struct hid_ff_initializer *hid_get_ff_init(68,2120 -int hid_ff_init(81,2420 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hid-tmff.c,820 -#define THRUSTMASTER_USAGE_RUMBLE_LR 42,1367 -#define DELAY_CALC(DELAY_CALC43,1428 -#define EFFECT_STARTED 46,1502 -#define EFFECT_PLAYING 47,1573 -#define EFFECT_USED 48,1622 -#define DEVICE_CLOSING 51,1677 -#define CHECK_OWNERSHIP(CHECK_OWNERSHIP54,1799 -#define TMFF_CHECK_ID(TMFF_CHECK_ID57,1894 -#define TMFF_CHECK_OWNERSHIP(TMFF_CHECK_OWNERSHIP59,1956 -#define TMFF_EFFECTS 63,2091 -struct tmff_effect tmff_effect65,2115 -struct tmff_device tmff_device77,2398 -int hid_tmff_init(109,3430 -static void hid_tmff_exit(191,5681 -static int hid_tmff_event(206,5976 -static int hid_tmff_flush(244,6885 -static int hid_tmff_erase(266,7527 -static int hid_tmff_upload_effect(287,7964 -static void hid_tmff_recalculate_timer(333,9121 -static inline int hid_tmff_scale(385,10291 -static void hid_tmff_timer(397,10526 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/aiptek.c,4949 -#define DRIVER_VERSION 87,3950 -#define DRIVER_AUTHOR 88,3994 -#define DRIVER_DESC 89,4051 -#define USB_VENDOR_ID_AIPTEK 188,8045 -#define USB_REQ_GET_REPORT 189,8084 -#define USB_REQ_SET_REPORT 190,8119 -#define AIPTEK_POINTER_ONLY_MOUSE_MODE 194,8182 -#define AIPTEK_POINTER_ONLY_STYLUS_MODE 195,8225 -#define AIPTEK_POINTER_EITHER_MODE 196,8269 -#define AIPTEK_POINTER_ALLOW_MOUSE_MODE(AIPTEK_POINTER_ALLOW_MOUSE_MODE198,8309 -#define AIPTEK_POINTER_ALLOW_STYLUS_MODE(AIPTEK_POINTER_ALLOW_STYLUS_MODE201,8434 -#define AIPTEK_COORDINATE_RELATIVE_MODE 207,8590 -#define AIPTEK_COORDINATE_ABSOLUTE_MODE 208,8634 -#define AIPTEK_TILT_MIN 212,8723 -#define AIPTEK_TILT_MAX 213,8758 -#define AIPTEK_TILT_DISABLE 214,8790 -#define AIPTEK_WHEEL_MIN 218,8853 -#define AIPTEK_WHEEL_MAX 219,8883 -#define AIPTEK_WHEEL_DISABLE 220,8916 -#define TOOL_BUTTON(TOOL_BUTTON229,9227 -#define TOOL_BUTTON_FIRED(TOOL_BUTTON_FIRED230,9268 -#define TOOL_BUTTON_FIRED_BIT 231,9314 -#define AIPTEK_TOOL_BUTTON_PEN_MODE 234,9377 -#define AIPTEK_TOOL_BUTTON_PEN_MODE 235,9428 -#define AIPTEK_TOOL_BUTTON_PENCIL_MODE 236,9479 -#define AIPTEK_TOOL_BUTTON_BRUSH_MODE 237,9536 -#define AIPTEK_TOOL_BUTTON_AIRBRUSH_MODE 238,9591 -#define AIPTEK_TOOL_BUTTON_ERASER_MODE 239,9651 -#define AIPTEK_TOOL_BUTTON_MOUSE_MODE 240,9708 -#define AIPTEK_TOOL_BUTTON_LENS_MODE 241,9763 -#define AIPTEK_DIAGNOSTIC_NA 245,9851 -#define AIPTEK_DIAGNOSTIC_SENDING_RELATIVE_IN_ABSOLUTE 246,9885 -#define AIPTEK_DIAGNOSTIC_SENDING_ABSOLUTE_IN_RELATIVE 247,9942 -#define AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED 248,9999 -#define AIPTEK_JITTER_DELAY_DEFAULT 253,10142 -#define AIPTEK_PROGRAMMABLE_DELAY_25 259,10336 -#define AIPTEK_PROGRAMMABLE_DELAY_50 260,10377 -#define AIPTEK_PROGRAMMABLE_DELAY_100 261,10418 -#define AIPTEK_PROGRAMMABLE_DELAY_200 262,10461 -#define AIPTEK_PROGRAMMABLE_DELAY_300 263,10504 -#define AIPTEK_PROGRAMMABLE_DELAY_400 264,10547 -#define AIPTEK_PROGRAMMABLE_DELAY_DEFAULT 265,10590 -#define AIPTEK_MOUSE_LEFT_BUTTON 269,10697 -#define AIPTEK_MOUSE_RIGHT_BUTTON 270,10736 -#define AIPTEK_MOUSE_MIDDLE_BUTTON 271,10776 -#define AIPTEK_STYLUS_LOWER_BUTTON 275,10853 -#define AIPTEK_STYLUS_UPPER_BUTTON 276,10894 -#define AIPTEK_PACKET_LENGTH 280,10987 -#define AIPTEK_REPORT_TOOL_UNKNOWN 287,11233 -#define AIPTEK_REPORT_TOOL_STYLUS 288,11274 -#define AIPTEK_REPORT_TOOL_MOUSE 289,11314 -static int programmableDelay 291,11354 -static int jitterDelay 292,11420 -struct aiptek_features aiptek_features294,11475 -struct aiptek_settings aiptek_settings304,11910 -struct aiptek aiptek320,12660 -static int macroKeyEvents[343,13787 -static int aiptek_convert_from_2s_complement(356,14302 -static void aiptek_irq(403,16178 -struct usb_device_id aiptek_ids[799,28989 -static int aiptek_open(815,29494 -static void aiptek_close(835,29905 -aiptek_set_report(849,30303 -aiptek_get_report(862,30712 -aiptek_command(878,31230 -aiptek_query(907,32000 -static int aiptek_program_tablet(943,32872 -static ssize_t show_tabletSize(1030,35304 -static ssize_t show_tabletProductId(1053,36049 -static ssize_t show_tabletVendorId(1069,36473 -static ssize_t show_tabletManufacturer(1084,36887 -static ssize_t show_tabletProduct(1101,37333 -static ssize_t show_tabletPointerMode(1119,37855 -store_tabletPointerMode(1148,38351 -static ssize_t show_tabletCoordinateMode(1173,39173 -store_tabletCoordinateMode(1198,39621 -static ssize_t show_tabletToolMode(1222,40356 -store_tabletToolMode(1267,41109 -static ssize_t show_tabletXtilt(1300,42313 -store_tabletXtilt(1316,42668 -static ssize_t show_tabletYtilt(1342,43365 -store_tabletYtilt(1358,43720 -static ssize_t show_tabletJitterDelay(1384,44418 -store_tabletJitterDelay(1395,44663 -static ssize_t show_tabletProgrammableDelay(1414,45214 -store_tabletProgrammableDelay(1426,45474 -static ssize_t show_tabletInputDevice(1445,46028 -static ssize_t show_tabletEventsReceived(1462,46519 -static ssize_t show_tabletDiagnosticMessage(1478,46995 -static ssize_t show_tabletStylusUpper(1520,48095 -store_tabletStylusUpper(1545,48527 -static ssize_t show_tabletStylusLower(1570,49257 -store_tabletStylusLower(1595,49689 -static ssize_t show_tabletMouseLeft(1620,50417 -store_tabletMouseLeft(1649,50901 -static ssize_t show_tabletMouseMiddle(1674,51712 -store_tabletMouseMiddle(1703,52200 -static ssize_t show_tabletMouseRight(1730,53036 -store_tabletMouseRight(1759,53522 -static ssize_t show_tabletWheel(1785,54339 -store_tabletWheel(1801,54695 -static ssize_t show_tabletExecute(1819,55225 -store_tabletExecute(1834,55571 -static ssize_t show_tabletODMCode(1860,56295 -static ssize_t show_tabletModelCode(1876,56763 -static ssize_t show_firmwareCode(1892,57242 -static void aiptek_delete_files(1909,57701 -static int aiptek_add_files(1942,59083 -aiptek_probe(1982,60988 -static struct usb_driver aiptek_driver 2240,69941 -static void aiptek_disconnect(2251,70241 -static int __init aiptek_init(2273,70804 -static void __exit aiptek_exit(2283,70992 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/wacom.c,879 -#define DRIVER_VERSION 75,3066 -#define DRIVER_AUTHOR 76,3097 -#define DRIVER_DESC 77,3153 -#define DRIVER_LICENSE 78,3225 -#define USB_VENDOR_ID_WACOM 84,3351 -struct wacom_features wacom_features86,3387 -struct wacom wacom97,3535 -#define USB_REQ_SET_REPORT 110,3758 -static int usb_set_report(111,3790 -static void wacom_pl_irq(121,4181 -static void wacom_ptu_irq(211,7027 -static void wacom_penpartner_irq(264,8385 -static void wacom_graphire_irq(302,9520 -static void wacom_intuos_irq(384,11580 -static struct wacom_features wacom_features[530,16456 -static struct usb_device_id wacom_ids[559,18450 -static int wacom_open(590,19641 -static void wacom_close(606,19890 -static int wacom_probe(614,20031 -static void wacom_disconnect(726,23765 -static struct usb_driver wacom_driver 740,24118 -static int __init wacom_init(748,24286 -static void __exit wacom_exit(756,24443 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/usb/input/hiddev.c,1095 -#define HIDDEV_MINOR_BASE 41,1323 -#define HIDDEV_MINORS 42,1351 -#define HIDDEV_MINOR_BASE 44,1384 -#define HIDDEV_MINORS 45,1413 -#define HIDDEV_BUFFER_SIZE 47,1446 -struct hiddev hiddev49,1477 -struct hiddev_list hiddev_list57,1597 -static struct hiddev *hiddev_table[67,1796 -hiddev_lookup_report(76,2150 -hiddev_lookup_usage(122,3355 -static void hiddev_send_event(155,4204 -void hiddev_hid_event(180,4825 -void hiddev_report_event(200,5441 -static int hiddev_fasync(218,5949 -static int hiddev_release(230,6189 -static int hiddev_open(257,6683 -static ssize_t hiddev_write(285,7278 -static ssize_t hiddev_read(293,7429 -static unsigned int hiddev_poll(368,9324 -static int hiddev_ioctl(382,9644 -static struct file_operations hiddev_fops 727,18203 -static struct usb_class_driver hiddev_class 738,18447 -int hiddev_connect(748,18717 -static struct usb_class_driver hiddev_class;791,19715 -void hiddev_disconnect(792,19760 -static int hiddev_usbd_probe(826,20923 -static /* const */ struct usb_driver hiddev_driver 833,21053 -int __init hiddev_init(839,21184 -void hiddev_exit(845,21282 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/dio/dio.c,703 -#define CONFIG_DIO_CONSTANTS36,1703 -struct dionamedioname47,2164 -#define DIONAME(DIONAME54,2246 -#define DIOFBNAME(DIOFBNAME55,2294 -static struct dioname names[57,2379 -#define NUMNAMES 79,3363 -static const char *unknowndioname 81,3422 -static const char *dio_getname(84,3540 -static char dio_no_name[97,3858 -#define dio_getname(dio_getname98,3893 -struct dioboarddioboard103,4057 -static struct dioboard *blist 113,4500 -static int __init dio_find_slow(115,4539 -int dio_find(154,5862 -static int __init dio_init(171,6205 -void *dio_scodetoviraddr(234,8351 -int dio_scodetoipl(251,8839 -const char *dio_scodetoname(267,9199 -void dio_config_board(283,9573 -void dio_unconfig_board(298,10020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/firmware/pcdp.h,694 -#define PCDP_CONSOLE 16,537 -#define PCDP_DEBUG 17,562 -#define PCDP_CONSOLE_OUTPUT 18,585 -#define PCDP_CONSOLE_INPUT 19,616 -#define PCDP_UART 21,647 -#define PCDP_VGA 22,676 -#define PCDP_USB 23,704 -#define PCDP_CONSOLE_UART 26,775 -#define PCDP_DEBUG_UART 27,829 -#define PCDP_CONSOLE_VGA 28,880 -#define PCDP_CONSOLE_USB 29,940 -#define PCDP_UART_EDGE_SENSITIVE 32,1022 -#define PCDP_UART_ACTIVE_LOW 33,1064 -#define PCDP_UART_PRIMARY_CONSOLE 34,1103 -#define PCDP_UART_IRQ 35,1146 -#define PCDP_UART_PCI 36,1209 -struct pcdp_uart pcdp_uart38,1273 -struct pcdp_vga pcdp_vga57,1582 -#define PCDP_PRIMARY_CONSOLE 62,1674 -struct pcdp_device pcdp_device64,1706 -struct pcdp pcdp71,1789 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/firmware/efivars.c,1340 -#define EFIVARS_VERSION 84,3018 -#define EFIVARS_DATE 85,3049 -static spinlock_t efivars_lock 100,3570 -struct efi_variable efi_variable110,3843 -struct efivar_entry efivar_entry120,4079 -#define get_efivar_entry(get_efivar_entry126,4177 -struct efivar_attribute efivar_attribute128,4247 -#define EFI_ATTR(EFI_ATTR135,4438 -#define EFIVAR_ATTR(EFIVAR_ATTR142,4653 -#define VAR_SUBSYS_ATTR(VAR_SUBSYS_ATTR149,4874 -#define to_efivar_attr(to_efivar_attr156,5103 -#define to_efivar_entry(to_efivar_entry157,5184 -utf8_strlen(169,5518 -utf8_strsize(183,5840 -get_var_data(189,6005 -efivar_guid_read(209,6418 -efivar_attr_read(225,6699 -efivar_size_read(248,7243 -efivar_data_read(266,7581 -efivar_store_raw(286,7994 -efivar_show_raw(330,9150 -static ssize_t efivar_attr_show(350,9533 -static ssize_t efivar_attr_store(366,9891 -static struct sysfs_ops efivar_attr_ops 382,10275 -static void efivar_release(387,10379 -static struct attribute *def_attrs[402,10901 -static struct kobj_type ktype_efivar 411,11087 -dummy(418,11236 -efivar_unregister(424,11317 -efivar_create(431,11415 -efivar_delete(491,13028 -static struct subsys_attribute *var_subsys_attrs[553,14643 -systab_read(564,14865 -static struct subsys_attribute *efi_subsys_attrs[591,15558 -efivar_create_sysfs_entry(609,16082 -efivars_init(664,17852 -efivars_exit(742,19547 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/firmware/edd.c,1715 -#define EDD_VERSION 46,1521 -#define EDD_DATE 47,1548 -#define left 54,1752 -struct edd_device edd_device56,1794 -struct edd_attribute edd_attribute63,1914 -static struct edd_device *edd_devices[73,2225 -#define EDD_DEVICE_ATTR(EDD_DEVICE_ATTR75,2282 -edd_has_mbr_signature(83,2514 -edd_has_edd_info(89,2660 -edd_dev_get_info(95,2810 -edd_dev_set_info(101,2896 -#define to_edd_attr(to_edd_attr110,3110 -#define to_edd_device(to_edd_device111,3183 -edd_attr_show(114,3267 -static struct sysfs_ops edd_attr_ops 125,3531 -edd_show_host_bus(130,3615 -edd_show_interface(176,4980 -edd_show_raw_data(240,7308 -edd_show_version(262,7784 -edd_show_mbr_signature(277,8070 -edd_show_extensions(285,8243 -edd_show_info_flags(311,8970 -edd_show_legacy_max_cylinder(341,10062 -edd_show_legacy_max_head(356,10367 -edd_show_legacy_sectors_per_track(371,10664 -edd_show_default_cylinders(386,10979 -edd_show_default_heads(401,11292 -edd_show_default_sectors_per_track(416,11597 -edd_show_sectors(431,11914 -edd_has_legacy_max_cylinder(457,12630 -edd_has_legacy_max_head(469,12842 -edd_has_legacy_sectors_per_track(481,13046 -edd_has_default_cylinders(493,13268 -edd_has_default_heads(505,13487 -edd_has_default_sectors_per_track(517,13698 -edd_has_edd30(529,13921 -static struct attribute * def_attrs[588,15857 -static struct edd_attribute * edd_attrs[593,15982 -static void edd_release(620,16663 -static struct kobj_type ktype_edd 626,16776 -edd_dev_is_type(643,17163 -edd_get_pci_dev(665,17636 -edd_create_symlink_to_pcidev(679,17983 -edd_device_unregister(689,18208 -static void edd_populate_dir(694,18294 -edd_device_register(712,18649 -static inline int edd_num_devices(729,18997 -edd_init(740,19269 -edd_exit(777,19935 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/firmware/pcdp.c,216 -uart_irq_supported(25,690 -uart_pci(33,857 -uart_active_high_low(41,1014 -uart_edge_level(49,1207 -setup_serial_console(59,1453 -setup_vga_console(122,3358 -efi_setup_pcdp_console(138,3683 -hcdp_early_uart 180,4685 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/module.c,275 -static int __init ibmasm_init_one(60,2028 -static void __exit ibmasm_remove_one(164,5044 -static struct pci_device_id ibmasm_pci_table[181,5532 -static struct pci_driver ibmasm_driver 187,5637 -static void __exit ibmasm_exit 194,5810 -static int __init ibmasm_init(202,6013 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/ibmasm.h,1470 -#define DRIVER_NAME 39,1197 -#define DRIVER_VERSION 40,1226 -#define DRIVER_AUTHOR 41,1256 -#define DRIVER_DESC 42,1293 -#define err(err44,1353 -#define info(info45,1416 -#define IBMASM_CMD_PENDING 48,1483 -#define IBMASM_CMD_COMPLETE 49,1513 -#define IBMASM_CMD_FAILED 50,1544 -#define IBMASM_CMD_TIMEOUT_NORMAL 52,1573 -#define IBMASM_CMD_TIMEOUT_EXTRA 53,1610 -#define IBMASM_CMD_MAX_BUFFER_SIZE 55,1648 -#define REVERSE_HEARTBEAT_TIMEOUT 57,1691 -#define HEARTBEAT_BUFFER_SIZE 59,1730 -#define IBMASM_DRIVER_VPD 62,1780 -#define IBMASM_DRIVER_VPD 64,1831 -#define SYSTEM_STATE_OS_UP 67,1884 -#define SYSTEM_STATE_OS_DOWN 68,1918 -#define IBMASM_NAME_SIZE 70,1953 -#define IBMASM_NUM_EVENTS 72,1982 -#define IBMASM_EVENT_MAX_SIZE 73,2011 -struct command command76,2049 -#define to_command(to_command84,2210 -static inline void command_put(86,2271 -static inline void command_get(91,2361 -struct ibmasm_event ibmasm_event97,2452 -struct event_buffer event_buffer103,2576 -struct event_reader event_reader110,2739 -struct reverse_heartbeat reverse_heartbeat118,2920 -struct mouse_event mouse_event125,3029 -struct keyboard_event keyboard_event132,3126 -struct remote_event remote_event137,3204 -#define DRIVER_REMOTE_QUEUE_SIZE 145,3331 -struct remote_queue remote_queue147,3369 -struct service_processor service_processor158,3571 -#define ibmasm_register_uart(ibmasm_register_uart227,6725 -#define ibmasm_unregister_uart(ibmasm_unregister_uart228,6774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/event.c,325 -static void wake_up_event_readers(38,1180 -void ibmasm_receive_event(55,1738 -static inline int event_available(78,2468 -int ibmasm_get_next_event(89,2765 -void ibmasm_event_reader_register(119,3593 -void ibmasm_event_reader_unregister(130,3954 -int ibmasm_event_buffer_init(141,4224 -void ibmasm_event_buffer_exit(165,4678 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/ibmasmfs.c,1918 -#define IBMASMFS_MAGIC 96,2713 -static struct super_block *ibmasmfs_get_super(105,3027 -static struct super_operations ibmasmfs_s_ops 111,3214 -static struct file_operations *ibmasmfs_dir_ops 116,3332 -static struct file_system_type ibmasmfs_type 118,3407 -static int ibmasmfs_fill_super 125,3600 -static struct inode *ibmasmfs_make_inode(153,4205 -static struct dentry *ibmasmfs_create_file 167,4521 -static struct dentry *ibmasmfs_create_dir 199,5128 -int ibmasmfs_register(227,5695 -void ibmasmfs_unregister(232,5773 -void ibmasmfs_add_sp(237,5849 -struct ibmasmfs_command_data ibmasmfs_command_data243,6007 -struct ibmasmfs_event_data ibmasmfs_event_data249,6158 -struct ibmasmfs_heartbeat_data ibmasmfs_heartbeat_data256,6337 -static int command_file_open(262,6458 -static int command_file_close(279,6857 -static ssize_t command_file_read(290,7100 -static ssize_t command_file_write(327,7961 -static int event_file_open(368,8994 -static int event_file_close(389,9446 -static ssize_t event_file_read(398,9683 -static ssize_t event_file_write(424,10286 -static int r_heartbeat_file_open(439,10617 -static int r_heartbeat_file_close(457,11076 -static ssize_t r_heartbeat_file_read(465,11245 -static ssize_t r_heartbeat_file_write(493,11943 -static int remote_settings_file_open(510,12305 -static int remote_settings_file_close(516,12441 -static ssize_t remote_settings_file_read(521,12535 -static ssize_t remote_settings_file_write(555,13201 -static int remote_event_file_open(586,13812 -static int remote_event_file_close(610,14319 -static ssize_t remote_event_file_read(621,14571 -static struct file_operations command_fops 655,15403 -static struct file_operations event_fops 662,15574 -static struct file_operations r_heartbeat_fops 669,15735 -static struct file_operations remote_settings_fops 676,15926 -static struct file_operations remote_event_fops 683,16137 -static void ibmasmfs_create_files 690,16299 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/dot_command.c,193 -void ibmasm_receive_message(31,1018 -#define INIT_BUFFER_SIZE 56,1638 -int ibmasm_send_driver_vpd(62,1747 -struct os_state_command os_state_command104,2757 -int ibmasm_send_os_state(118,3219 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/remote.c,346 -int ibmasm_init_remote_queue(30,957 -void ibmasm_free_remote_queue(52,1451 -void ibmasm_advance_reader(57,1548 -size_t ibmasm_events_available(64,1687 -static int space_free(72,1840 -static void set_mouse_event(80,2004 -static void set_keyboard_event(98,2466 -static int add_to_driver_queue(104,2669 -void ibmasm_handle_mouse_interrupt(134,3238 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/i2o.h,288 -struct i2o_header i2o_header25,873 -#define I2O_HEADER_TEMPLATE 37,1073 -#define I2O_MESSAGE_SIZE 46,1340 -#define I2O_COMMAND_SIZE 47,1372 -struct i2o_message i2o_message50,1461 -static inline unsigned short outgoing_message_size(56,1543 -static inline u32 incoming_data_size(74,1885 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/remote.h,1763 -#define _IBMASM_REMOTE_H_27,922 -#define CONDOR_MOUSE_DATA 32,988 -#define CONDOR_MOUSE_ISR_CONTROL 33,1026 -#define CONDOR_MOUSE_ISR_STATUS 34,1064 -#define CONDOR_MOUSE_Q_READER 35,1102 -#define CONDOR_MOUSE_Q_WRITER 36,1138 -#define CONDOR_MOUSE_Q_BEGIN 37,1174 -#define CONDOR_MOUSE_MAX_X 38,1209 -#define CONDOR_MOUSE_MAX_Y 39,1242 -#define CONDOR_INPUT_DESKTOP_INFO 41,1276 -#define CONDOR_INPUT_DISPLAY_RESX 42,1316 -#define CONDOR_INPUT_DISPLAY_RESY 43,1356 -#define CONDOR_INPUT_DISPLAY_BITS 44,1396 -#define CONDOR_OUTPUT_VNC_STATUS 45,1436 -#define CONDOR_MOUSE_INTR_STATUS_MASK 47,1476 -#define INPUT_TYPE_MOUSE 49,1526 -#define INPUT_TYPE_KEYBOARD 50,1555 -#define REMOTE_MOUSE_DOUBLE_CLICK 54,1632 -#define REMOTE_MOUSE_BUTTON_LEFT 55,1671 -#define REMOTE_MOUSE_BUTTON_MIDDLE 56,1709 -#define REMOTE_MOUSE_BUTTON_RIGHT 57,1749 -struct mouse_input mouse_input60,1790 -struct keyboard_input keyboard_input66,1854 -struct remote_input remote_input74,1960 -#define mouse_addr(mouse_addr86,2161 -#define display_width(display_width87,2223 -#define display_height(display_height88,2292 -#define display_depth(display_depth89,2362 -#define vnc_status(vnc_status90,2431 -#define mouse_interrupt_pending(mouse_interrupt_pending92,2498 -#define clear_mouse_interrupt(clear_mouse_interrupt93,2583 -#define enable_mouse_interrupts(enable_mouse_interrupts94,2669 -#define disable_mouse_interrupts(disable_mouse_interrupts95,2758 -#define REMOTE_QUEUE_SIZE 98,2885 -#define get_queue_writer(get_queue_writer100,2915 -#define get_queue_reader(get_queue_reader101,2990 -#define set_queue_reader(set_queue_reader102,3065 -#define queue_begin 104,3158 -#define get_queue_entry(get_queue_entry106,3217 -static inline int advance_queue_reader(109,3316 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/lowlevel.c,123 -static struct i2o_header header 30,962 -int ibmasm_send_i2o_message(33,1019 -irqreturn_t ibmasm_interrupt_handler(57,1606 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/uart.c,72 -void ibmasm_register_uart(34,1039 -void ibmasm_unregister_uart(65,1894 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/heartbeat.c,328 -static int suspend_heartbeats 29,932 -static int panic_happened(44,1674 -static struct notifier_block panic_notifier 50,1795 -void ibmasm_register_panic_notifier(52,1871 -void ibmasm_unregister_panic_notifier(57,1983 -int ibmasm_heartbeat_init(63,2100 -void ibmasm_heartbeat_exit(72,2279 -void ibmasm_receive_heartbeat(77,2370 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/lowlevel.h,1246 -#define __IBMASM_CONDOR_H__27,947 -#define VENDORID_IBM 31,997 -#define DEVICEID_RSA 32,1025 -#define GET_MFA_ADDR(GET_MFA_ADDR34,1054 -#define MAILBOX_FULL(MAILBOX_FULL36,1097 -#define NO_MFAS_AVAILABLE 38,1140 -#define INBOUND_QUEUE_PORT 41,1183 -#define OUTBOUND_QUEUE_PORT 42,1258 -#define SP_INTR_MASK 44,1334 -#define UART_INTR_MASK 45,1366 -#define INTR_STATUS_REGISTER 47,1401 -#define INTR_CONTROL_REGISTER 48,1439 -#define SCOUT_COM_A_BASE 50,1478 -#define SCOUT_COM_B_BASE 51,1518 -#define SCOUT_COM_C_BASE 52,1561 -#define SCOUT_COM_D_BASE 53,1604 -static inline int sp_interrupt_pending(55,1648 -static inline int uart_interrupt_pending(60,1779 -static inline void ibmasm_enable_interrupts(65,1914 -static inline void ibmasm_disable_interrupts(71,2094 -static inline void enable_sp_interrupts(77,2274 -static inline void disable_sp_interrupts(82,2394 -static inline void enable_uart_interrupts(87,2516 -static inline void disable_uart_interrupts(92,2641 -#define valid_mfa(valid_mfa97,2768 -static inline u32 get_mfa_outbound(99,2823 -static inline void set_mfa_outbound(112,3042 -static inline u32 get_mfa_inbound(117,3165 -static inline void set_mfa_inbound(127,3328 -static inline struct i2o_message *get_i2o_message(132,3449 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/r_heartbeat.c,155 -} rhb_dot_cmd 37,1148 -void ibmasm_init_reverse_heartbeat(48,1300 -int ibmasm_start_reverse_heartbeat(60,1692 -void ibmasm_stop_reverse_heartbeat(94,2461 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/dot_command.h,403 -#define __DOT_COMMAND_H__25,883 -#define sp_write 35,1114 -#define sp_write_next 36,1134 -#define sp_read 37,1159 -#define sp_read_next 38,1179 -#define sp_command_response 39,1203 -#define sp_event 40,1233 -#define sp_heartbeat 41,1253 -struct dot_command_header dot_command_header44,1294 -static inline size_t get_dot_command_size(53,1411 -static inline unsigned int get_dot_command_timeout(59,1623 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/misc/ibmasm/command.c,422 -static struct kobj_type ibmasm_cmd_kobj_type 30,989 -struct command *ibmasm_new_command(35,1069 -static void free_command(66,1702 -static void enqueue_command(75,1860 -static struct command *dequeue_command(80,1998 -static inline void do_exec_command(95,2294 -void ibmasm_exec_command(111,2786 -static void exec_next_command(129,3160 -void ibmasm_wait_for_response(152,3761 -void ibmasm_receive_command_response(165,4106 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/tc/tc.c,451 -#define TC_DEBUG26,687 -slot_info tc_bus[29,728 -static int max_tcslot;30,756 -static tcinfo *info;31,779 -unsigned long system_base;33,801 -int search_tc_card(43,1045 -void claim_tc_card(58,1298 -void release_tc_card(68,1514 -unsigned long get_tc_base_addr(78,1732 -unsigned long get_tc_irq_nr(83,1810 -unsigned long get_tc_speed(88,1885 -static void __init my_dbe_handler(96,2026 -static void __init tc_probe(101,2108 -void __init tc_init(168,3836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/tc/lk201-remap.c,37 -unsigned char scancodeRemap[42,1567 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/tc/lk201.h,1213 -#define LK_PARAM 5,46 -#define LK_CMD_RESUME 7,101 -#define LK_CMD_INHIBIT 8,129 -#define LK_CMD_LEDS_ON 9,158 -#define LK_CMD_LEDS_OFF 10,214 -#define LK_CMD_DIS_KEYCLK 11,271 -#define LK_CMD_ENB_KEYCLK 12,302 -#define LK_CMD_DIS_CTLCLK 13,355 -#define LK_CMD_ENB_CTLCLK 14,386 -#define LK_CMD_SOUND_CLK 15,417 -#define LK_CMD_DIS_BELL 16,447 -#define LK_CMD_ENB_BELL 17,477 -#define LK_CMD_BELL 18,529 -#define LK_CMD_TMP_NORPT 19,555 -#define LK_CMD_ENB_RPT 20,585 -#define LK_CMD_DIS_RPT 21,614 -#define LK_CMD_RPT_TO_DOWN 22,643 -#define LK_CMD_REQ_ID 23,675 -#define LK_CMD_POWER_UP 24,703 -#define LK_CMD_TEST_MODE 25,733 -#define LK_CMD_SET_DEFAULTS 26,763 -#define LK_PARAM_LED_MASK(LK_PARAM_LED_MASK29,864 -#define LK_PARAM_VOLUME(LK_PARAM_VOLUME32,958 -#define LK_MODE_DOWN 35,1042 -#define LK_MODE_RPT_DOWN 36,1068 -#define LK_MODE_DOWN_UP 37,1097 -#define LK_CMD_MODE(LK_CMD_MODE38,1126 -#define LK_SHIFT 40,1176 -#define LK_CTRL 41,1198 -#define LK_LOCK 42,1219 -#define LK_COMP 43,1240 -#define LK_KEY_SHIFT 45,1262 -#define LK_KEY_CTRL 46,1287 -#define LK_KEY_LOCK 47,1311 -#define LK_KEY_COMP 48,1335 -#define LK_KEY_RELEASE 49,1359 -#define LK_KEY_REPEAT 50,1386 -#define LK_KEY_ACK 51,1412 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/tc/lk201.c,522 -unsigned char lk201_sysrq_xlate[28,653 -unsigned char *kbd_sysrq_xlate 29,691 -#define KEYB_LINE 32,751 -struct zs_hook lk201_kbdhook 38,937 -static unsigned char lk201_reset_string[47,1139 -static int __init lk201_reset(71,1901 -void kbd_leds(83,2164 -int kbd_setkeycode(88,2212 -int kbd_getkeycode(93,2298 -int kbd_translate(98,2362 -char kbd_unexpected_up(105,2485 -static void lk201_kbd_rx_char(110,2550 -static void __init lk201_info(159,3833 -static int __init lk201_init(163,3893 -void __init kbd_init_hw(203,4630 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/tc/zs.h,5317 -#define _DECSERIAL_H10,297 -#define NUM_ZSREGS 12,319 -struct serial_struct serial_struct14,345 -#define ZILOG_CLOSING_WAIT_INF 35,815 -#define ZILOG_CLOSING_WAIT_NONE 36,848 -#define ZILOG_HUP_NOTIFY 41,958 -#define ZILOG_FOURPORT 43,1058 -#define ZILOG_SAK 44,1135 -#define ZILOG_SPLIT_TERMIOS 45,1201 -#define ZILOG_SPD_MASK 47,1279 -#define ZILOG_SPD_HI 48,1309 -#define ZILOG_SPD_VHI 50,1375 -#define ZILOG_SPD_CUST 51,1443 -#define ZILOG_SKIP_TEST 53,1508 -#define ZILOG_AUTO_IRQ 54,1585 -#define ZILOG_SESSION_LOCKOUT 55,1664 -#define ZILOG_PGRP_LOCKOUT 56,1743 -#define ZILOG_CALLOUT_NOHUP 57,1819 -#define ZILOG_FLAGS 59,1895 -#define ZILOG_USR_MASK 60,1955 -#define ZILOG_INITIALIZED 64,2112 -#define ZILOG_CALLOUT_ACTIVE 65,2183 -#define ZILOG_NORMAL_ACTIVE 66,2255 -#define ZILOG_BOOT_AUTOCONF 67,2324 -#define ZILOG_CLOSING 68,2398 -#define ZILOG_CTS_FLOW 69,2461 -#define ZILOG_CHECK_CD 70,2522 -struct dec_zschannel dec_zschannel84,2843 -struct zs_hook zs_hook94,3029 -struct dec_serial dec_serial104,3338 -#define SERIAL_MAGIC 158,4861 -#define SERIAL_XMIT_SIZE 163,4960 -#define RS_EVENT_WRITE_WAKEUP 169,5107 -#define BRG_TO_BPS(BRG_TO_BPS176,5247 -#define BPS_TO_BRG(BPS_TO_BRG177,5304 -#define FLAG 181,5404 -#define R0 184,5446 -#define R1 185,5483 -#define R2 186,5496 -#define R3 187,5509 -#define R4 188,5522 -#define R5 189,5535 -#define R6 190,5548 -#define R7 191,5561 -#define R8 192,5574 -#define R9 193,5587 -#define R10 194,5600 -#define R11 195,5615 -#define R12 196,5630 -#define R13 197,5645 -#define R14 198,5660 -#define R15 199,5675 -#define NULLCODE 201,5691 -#define POINT_HIGH 202,5726 -#define RES_EXT_INT 203,5786 -#define SEND_ABORT 204,5846 -#define RES_RxINT_FC 205,5887 -#define RES_Tx_P 206,5950 -#define ERR_RES 207,5998 -#define RES_H_IUS 208,6038 -#define RES_Rx_CRC 210,6086 -#define RES_Tx_CRC 211,6137 -#define RES_EOM_L 212,6188 -#define EXT_INT_ENAB 216,6258 -#define TxINT_ENAB 217,6304 -#define PAR_SPEC 218,6347 -#define RxINT_DISAB 220,6403 -#define RxINT_FCERR 221,6446 -#define INT_ALL_Rx 222,6516 -#define INT_ERR_Rx 223,6580 -#define WT_RDY_RT 225,6629 -#define WT_FN_RDYFN 226,6676 -#define WT_RDY_ENAB 227,6724 -#define RxENABLE 233,6842 -#define SYNC_L_INH 234,6879 -#define ADD_SM 235,6936 -#define RxCRC_ENAB 236,6989 -#define ENT_HM 237,7032 -#define AUTO_ENAB 238,7075 -#define Rx5 239,7117 -#define Rx7 240,7160 -#define Rx6 241,7204 -#define Rx8 242,7248 -#define RxNBITS_MASK 243,7292 -#define PAR_ENA 247,7343 -#define PAR_EVEN 248,7384 -#define SYNC_ENAB 250,7429 -#define SB1 251,7473 -#define SB15 252,7512 -#define SB2 253,7555 -#define SB_MASK 254,7595 -#define MONSYNC 256,7617 -#define BISYNC 257,7663 -#define SDLC 258,7712 -#define EXTSYNC 259,7768 -#define X1CLK 261,7816 -#define X16CLK 262,7855 -#define X32CLK 263,7897 -#define X64CLK 264,7939 -#define XCLK_MASK 265,7981 -#define TxCRC_ENAB 269,8029 -#define RTS 270,8072 -#define SDLC_CRC 271,8099 -#define TxENAB 272,8138 -#define SND_BRK 273,8174 -#define Tx5 274,8213 -#define Tx7 275,8266 -#define Tx6 276,8310 -#define Tx8 277,8354 -#define TxNBITS_MASK 278,8398 -#define DTR 279,8424 -#define VIS 288,8659 -#define NV 289,8702 -#define DLC 290,8731 -#define MIE 291,8771 -#define STATHI 292,8815 -#define SOFTACK 293,8853 -#define NORESET 294,8914 -#define CHRB 295,8962 -#define CHRA 296,9002 -#define FHWRES 297,9042 -#define BIT6 300,9134 -#define LOOPMODE 301,9171 -#define ABUNDER 302,9211 -#define MARKIDLE 303,9268 -#define GAOP 304,9311 -#define NRZ 305,9353 -#define NRZI 306,9382 -#define FM1 307,9416 -#define FM0 308,9460 -#define CRCPS 309,9504 -#define TRxCXT 312,9590 -#define TRxCTC 313,9632 -#define TRxCBR 314,9677 -#define TRxCDP 315,9727 -#define TRxCOI 316,9769 -#define TCRTxCP 317,9801 -#define TCTRxCP 318,9851 -#define TCBR 319,9901 -#define TCDPLL 320,9962 -#define RCRTxCP 321,10017 -#define RCTRxCP 322,10066 -#define RCBR 323,10118 -#define RCDPLL 324,10178 -#define RTxCX 325,10232 -#define BRENABL 332,10470 -#define BRSRC 333,10521 -#define DTRREQ 334,10570 -#define AUTOECHO 335,10614 -#define LOOPBAK 336,10649 -#define SEARCH 337,10691 -#define RMC 338,10735 -#define DISDPLL 339,10778 -#define SSBR 340,10818 -#define SSRTxC 341,10873 -#define SFMM 342,10922 -#define SNRZI 343,10958 -#define ZCIE 346,11058 -#define DCDIE 347,11093 -#define SYNCIE 348,11122 -#define CTSIE 349,11161 -#define TxUIE 350,11193 -#define BRKIE 351,11237 -#define Rx_CH_AV 355,11301 -#define ZCOUNT 356,11351 -#define Tx_BUF_EMP 357,11388 -#define DCD 358,11433 -#define SYNC_HUNT 359,11460 -#define CTS 360,11499 -#define TxEOM 361,11527 -#define BRK_ABRT 362,11565 -#define ALL_SNT 365,11628 -#define RES3 367,11713 -#define RES4 368,11741 -#define RES5 369,11769 -#define RES6 370,11797 -#define RES7 371,11825 -#define RES8 372,11853 -#define RES18 373,11881 -#define RES28 374,11910 -#define PAR_ERR 376,11977 -#define Rx_OVR 377,12018 -#define FRM_ERR 378,12062 -#define END_FR 379,12108 -#define CHBEXT 384,12276 -#define CHBTxIP 385,12324 -#define CHBRxIP 386,12367 -#define CHAEXT 387,12410 -#define CHATxIP 388,12458 -#define CHARxIP 389,12502 -#define ONLOOP 394,12637 -#define LOOPSEND 395,12669 -#define CLK2MIS 396,12711 -#define CLK1MIS 397,12758 -#define ZS_CLEARERR(ZS_CLEARERR406,13002 -#define ZS_CLEARFIFO(ZS_CLEARFIFO407,13069 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/tc/zs.c,3902 -unsigned long system_base;78,2187 -#define NUM_SERIAL 94,2498 -#define NUM_CHANNELS 95,2559 -#define CHANNEL_A_NR 96,2623 -#define ZS_CHAN_IO_SIZE 98,2782 -#define ZS_CLOCK 99,2808 -#define RECOVERY_DELAY 101,2876 -struct zs_parms zs_parms103,2911 -static struct zs_parms *zs_parms;112,3043 -static struct zs_parms ds_parms 115,3108 -static struct zs_parms baget_parms 125,3286 -#define DS_BUS_PRESENT 136,3488 -#define DS_BUS_PRESENT 138,3526 -#define BAGET_BUS_PRESENT 142,3584 -#define BAGET_BUS_PRESENT 144,3649 -#define BUS_PRESENT 147,3685 -struct dec_zschannel zs_channels[149,3744 -struct dec_serial zs_soft[150,3792 -int zs_channels_found;151,3833 -struct dec_serial *zs_chain;152,3856 -struct tty_struct zs_ttys[154,3913 -static struct console sercons;157,3984 -static unsigned long break_pressed;161,4114 -static unsigned char zs_init_regs[164,4182 -static unsigned char zs_init_regs[16] __initdata 164,4182 -static struct tty_driver *serial_driver;182,4843 -#define SERIAL_TYPE_NORMAL 185,4918 -#define WAKEUP_CHARS 188,5018 -#define _tty_name(_tty_name202,5250 -#define RS_STROBE_TIME 205,5303 -#define RS_ISR_PASS_LIMIT 206,5329 -#define _INLINE_ 208,5360 -static unsigned char tmp_buf[223,6014 -static inline int serial_paranoia_check(226,6109 -static int baud_table[250,6653 -static inline unsigned char read_zsreg(257,6837 -static inline void write_zsreg(271,7110 -static inline unsigned char read_zsdata(283,7374 -static inline void write_zsdata(292,7533 -static inline void load_zsregs(300,7688 -static inline void zs_rtsdtr(324,8469 -static inline int get_zsbaud(342,8920 -static inline void rs_recv_clear(358,9466 -static int tty_break;375,10028 -static _INLINE_ void rs_sched_event(381,10231 -static _INLINE_ void receive_chars(389,10406 -static void transmit_chars(468,12222 -static _INLINE_ void status_handle(497,12941 -void rs_interrupt(546,13962 -#define CHAN_IRQMASK 558,14404 -void zs_dump 586,14962 -static void rs_stop(618,15808 -static void rs_start(636,16235 -static void do_serial_bh(667,17269 -static void do_softint(672,17337 -int zs_startup(686,17593 -static void shutdown(763,19633 -static void change_speed(805,20685 -static void rs_flush_chars(912,23260 -static int rs_write(930,23675 -static int rs_write_room(975,24819 -static int rs_chars_in_buffer(988,25112 -static void rs_flush_buffer(997,25344 -static void rs_throttle(1017,25907 -static void rs_unthrottle(1045,26484 -static int get_serial_info(1083,27287 -static int set_serial_info(1103,27818 -static int get_lsr_info(1158,29500 -static int rs_tiocmget(1169,29695 -static int rs_tiocmset(1202,30550 -static void rs_break(1238,31391 -static int rs_ioctl(1257,31876 -static void rs_set_termios(1310,33262 -static void rs_close(1333,33867 -static void rs_wait_until_sent(1419,36333 -void rs_hangup(1453,37357 -static int block_til_ready(1474,37870 -int rs_open(1583,40653 -static void __init show_serial_version(1654,42121 -static void __init probe_sccs(1662,42268 -static struct tty_operations serial_ops 1783,45324 -int __init zs_init(1805,45881 -int register_serial(1900,48487 -void unregister_serial(1905,48551 -zs_poll_tx_char(1914,48640 -zs_poll_rx_char(1950,49398 -unsigned int register_zs_hook(1971,49861 -unsigned int unregister_zs_hook(1996,50339 -static void serial_console_write(2022,51025 -static struct tty_driver *serial_console_device(2037,51301 -static int __init serial_console_setup(2049,51632 -static struct console sercons 2168,53707 -void __init zs_serial_console_init(2180,53935 -struct dec_zschannel *zs_kgdbchan;2187,54070 -static unsigned char scc_inittab[2188,54105 -void putDebugChar(2202,54595 -char getDebugChar(2209,54775 -void kgdb_interruptible(2216,54945 -static int kgdbhook_init_channel(2234,55320 -static void kgdbhook_init_info(2239,55395 -static void kgdbhook_rx_char(2243,55456 -static inline void kgdb_chaninit(2255,55820 -struct zs_hook zs_kgdbhook 2275,56459 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/raw1394-private.h,641 -#define IEEE1394_RAW1394_PRIVATE_H2,35 -#define RAW1394_DEVICE_MAJOR 7,173 -#define RAW1394_DEVICE_NAME 8,211 -#define RAW1394_MAX_USER_CSR_DIRS 10,256 -struct iso_block_store iso_block_store12,294 -enum raw1394_iso_state raw1394_iso_state18,403 -enum raw1394_iso_state { RAW1394_ISO_INACTIVE 18,403 - RAW1394_ISO_RECV 19,454 - RAW1394_ISO_XMIT 20,480 -struct file_info file_info22,509 - enum { opened,25,560 - enum { opened, initialized,25,560 - enum { opened, initialized, connected 25,560 -struct arm_addr arm_addr58,1421 -struct pending_request pending_request70,1772 -struct host_info host_info80,2026 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394_transactions.c,981 -#define PREP_ASYNC_HEAD_ADDRESS(PREP_ASYNC_HEAD_ADDRESS27,500 -static void fill_async_readquad(35,813 -static void fill_async_readblock(43,1036 -static void fill_async_writequad(52,1314 -static void fill_async_writeblock(61,1589 -static void fill_async_lock(70,1912 -static void fill_iso_packet(80,2243 -static void fill_phy_packet(92,2634 -static void fill_async_stream_packet(103,3026 -int hpsb_get_tlabel(133,4199 -void hpsb_free_tlabel(172,5259 -int hpsb_packet_success(190,5656 -struct hpsb_packet *hpsb_make_readpacket(263,8162 -struct hpsb_packet *hpsb_make_writepacket 291,8667 -struct hpsb_packet *hpsb_make_streampacket(325,9356 -struct hpsb_packet *hpsb_make_lockpacket(354,9973 -struct hpsb_packet *hpsb_make_lock64packet(391,10637 -struct hpsb_packet *hpsb_make_phypacket(432,11437 -struct hpsb_packet *hpsb_make_isopacket(446,11735 -int hpsb_read(468,12197 -int hpsb_write(508,13158 -int hpsb_lock(539,13830 -int hpsb_lock64(569,14590 -int hpsb_send_gasp(598,15284 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/raw1394.c,2888 -#define int2ptr(int2ptr58,1548 -#define ptr2int(ptr2int59,1601 -#define RAW1394_DEBUG62,1696 -#define DBGMSG(DBGMSG66,1747 -#define DBGMSG(DBGMSG69,1832 -static int host_count;73,1903 -static spinlock_t host_info_lock 74,1926 -static atomic_t internal_generation 75,1981 -static atomic_t iso_buffer_size;77,2036 -static const int iso_buffer_max 78,2069 -static struct hpsb_highlevel raw1394_highlevel;80,2132 -static struct hpsb_address_ops arm_ops 90,2746 -static struct pending_request *__alloc_pending_request(99,2936 -static inline struct pending_request *alloc_pending_request(113,3347 -static void free_pending_request(118,3471 -static void __queue_complete_req(133,3938 -static void queue_complete_req(143,4203 -static void queue_complete_cb(153,4486 -static void add_host(189,5610 -static struct host_info *find_host_info(211,6223 -static void remove_host(222,6473 -static void host_reset(253,7325 -static void iso_receive(287,8750 -static void fcp_request(347,11021 -static ssize_t raw1394_read(408,13259 -static int state_opened(453,14634 -static int state_initialized(478,15537 -static void handle_iso_listen(557,18562 -static void handle_fcp_listen(594,19943 -static int handle_async_request(615,20553 -static int handle_iso_send(758,25289 -static int handle_async_send(798,26571 -static int arm_read 859,28835 -static int arm_write 992,35511 -static int arm_lock 1116,41655 -static int arm_lock64 1309,52170 -static int arm_register(1511,63168 -static int arm_unregister(1658,69981 -static int arm_get_buf(1741,73570 -static int arm_set_buf(1794,75224 -static int reset_notification(1843,76812 -static int write_phypacket(1857,77465 -static int get_config_rom(1884,78518 -static int update_config_rom(1913,79639 -static int modify_config_rom(1937,80573 -static int state_connected(2048,83746 -static ssize_t raw1394_write(2136,86907 -static inline int __rawiso_event_in_queue(2183,88172 -static void queue_rawiso_event(2195,88475 -static void rawiso_activity_cb(2220,89133 -static void raw1394_iso_fill_status(2240,89638 -static int raw1394_iso_xmit_init(2252,90073 -static int raw1394_iso_recv_init(2284,90815 -static int raw1394_iso_get_status(2312,91478 -static int raw1394_iso_recv_packets(2328,91896 -static int raw1394_iso_send_packets(2359,92811 -static void raw1394_iso_shutdown(2392,93696 -static int raw1394_mmap(2402,93917 -static int raw1394_ioctl(2413,94211 -static unsigned int raw1394_poll(2501,96804 -static int raw1394_open(2517,97245 -static int raw1394_release(2542,97972 -static struct ieee1394_device_id raw1394_id_table[2675,103126 -static struct hpsb_protocol_driver raw1394_driver 2691,103599 -static struct hpsb_highlevel raw1394_highlevel 2704,103868 -static struct cdev raw1394_cdev;2713,104130 -static struct file_operations raw1394_fops 2714,104163 -static int __init init_raw1394(2725,104461 -static void __exit cleanup_raw1394(2759,105471 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394_hotplug.h,407 -#define _IEEE1394_HOTPLUG_H2,28 -#define AVC_UNIT_SPEC_ID_ENTRY 9,203 -#define AVC_SW_VERSION_ENTRY 10,246 -#define CAMERA_UNIT_SPEC_ID_ENTRY 11,287 -#define CAMERA_SW_VERSION_ENTRY 12,332 -#define IEEE1394_MATCH_VENDOR_ID 17,467 -#define IEEE1394_MATCH_MODEL_ID 18,507 -#define IEEE1394_MATCH_SPECIFIER_ID 19,547 -#define IEEE1394_MATCH_VERSION 20,590 -struct ieee1394_device_id ieee1394_device_id22,630 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ohci1394.h,7893 -#define _OHCI1394_H22,931 -#define OHCI1394_DRIVER_NAME 27,1001 -#define OHCI1394_MAX_AT_REQ_RETRIES 29,1047 -#define OHCI1394_MAX_AT_RESP_RETRIES 30,1087 -#define OHCI1394_MAX_PHYS_RESP_RETRIES 31,1128 -#define OHCI1394_MAX_SELF_ID_ERRORS 32,1171 -#define AR_REQ_NUM_DESC 34,1211 -#define AR_REQ_BUF_SIZE 35,1274 -#define AR_REQ_SPLIT_BUF_SIZE 36,1338 -#define AR_RESP_NUM_DESC 38,1405 -#define AR_RESP_BUF_SIZE 39,1469 -#define AR_RESP_SPLIT_BUF_SIZE 40,1534 -#define IR_NUM_DESC 42,1602 -#define IR_BUF_SIZE 43,1658 -#define IR_SPLIT_BUF_SIZE 44,1713 -#define IT_NUM_DESC 46,1776 -#define AT_REQ_NUM_DESC 48,1832 -#define AT_RESP_NUM_DESC 49,1895 -#define OHCI_LOOP_COUNT 51,1960 -#define OHCI_CONFIG_ROM_LEN 53,2031 -#define OHCI1394_SI_DMA_BUF_SIZE 55,2108 -#define OHCI1394_PCI_HCI_Control 58,2221 -struct dma_cmd dma_cmd60,2260 -struct at_dma_prg at_dma_prg73,2576 -enum context_type context_type81,2796 -enum context_type { DMA_CTX_ASYNC_REQ,81,2796 -enum context_type { DMA_CTX_ASYNC_REQ, DMA_CTX_ASYNC_RESP,81,2796 -enum context_type { DMA_CTX_ASYNC_REQ, DMA_CTX_ASYNC_RESP, DMA_CTX_ISO 81,2796 -struct dma_rcv_ctx dma_rcv_ctx84,2897 -struct dma_trm_ctx dma_trm_ctx114,3493 -struct ohci1394_iso_tasklet ohci1394_iso_tasklet143,4105 - enum { OHCI_ISO_TRANSMIT,147,4205 - enum { OHCI_ISO_TRANSMIT, OHCI_ISO_RECEIVE,147,4205 - OHCI_ISO_MULTICHANNEL_RECEIVE 148,4250 -struct ti_ohci ti_ohci151,4300 - OHCI_INIT_ALLOC_HOST,155,4355 - OHCI_INIT_HAVE_MEM_REGION,156,4379 - OHCI_INIT_HAVE_IOMAPPING,157,4408 - OHCI_INIT_HAVE_CONFIG_ROM_BUFFER,158,4436 - OHCI_INIT_HAVE_SELFID_BUFFER,159,4472 - OHCI_INIT_HAVE_TXRX_BUFFERS__MAYBE,160,4504 - OHCI_INIT_HAVE_IRQ,161,4542 - OHCI_INIT_DONE,162,4564 -static inline int cross_bound(237,6562 -static inline void reg_write(251,6808 -static inline u32 reg_read(256,6940 -#define OHCI1394_REGISTER_SIZE 263,7097 -#define OHCI1394_ContextControlSet 267,7205 -#define OHCI1394_ContextControlClear 268,7257 -#define OHCI1394_ContextCommandPtr 269,7309 -#define OHCI1394_Version 272,7381 -#define OHCI1394_GUID_ROM 273,7433 -#define OHCI1394_ATRetries 274,7485 -#define OHCI1394_CSRData 275,7537 -#define OHCI1394_CSRCompareData 276,7589 -#define OHCI1394_CSRControl 277,7641 -#define OHCI1394_ConfigROMhdr 278,7693 -#define OHCI1394_BusID 279,7745 -#define OHCI1394_BusOptions 280,7797 -#define OHCI1394_GUIDHi 281,7849 -#define OHCI1394_GUIDLo 282,7901 -#define OHCI1394_ConfigROMmap 283,7953 -#define OHCI1394_PostedWriteAddressLo 284,8005 -#define OHCI1394_PostedWriteAddressHi 285,8057 -#define OHCI1394_VendorID 286,8109 -#define OHCI1394_HCControlSet 287,8161 -#define OHCI1394_HCControlClear 288,8213 -#define OHCI1394_HCControl_noByteSwap 289,8265 -#define OHCI1394_HCControl_programPhyEnable 290,8316 -#define OHCI1394_HCControl_aPhyEnhanceEnable 291,8372 -#define OHCI1394_HCControl_LPS 292,8429 -#define OHCI1394_HCControl_postedWriteEnable 293,8474 -#define OHCI1394_HCControl_linkEnable 294,8531 -#define OHCI1394_HCControl_softReset 295,8582 -#define OHCI1394_SelfIDBuffer 296,8632 -#define OHCI1394_SelfIDCount 297,8684 -#define OHCI1394_IRMultiChanMaskHiSet 298,8736 -#define OHCI1394_IRMultiChanMaskHiClear 299,8788 -#define OHCI1394_IRMultiChanMaskLoSet 300,8840 -#define OHCI1394_IRMultiChanMaskLoClear 301,8892 -#define OHCI1394_IntEventSet 302,8944 -#define OHCI1394_IntEventClear 303,8996 -#define OHCI1394_IntMaskSet 304,9048 -#define OHCI1394_IntMaskClear 305,9100 -#define OHCI1394_IsoXmitIntEventSet 306,9152 -#define OHCI1394_IsoXmitIntEventClear 307,9204 -#define OHCI1394_IsoXmitIntMaskSet 308,9256 -#define OHCI1394_IsoXmitIntMaskClear 309,9308 -#define OHCI1394_IsoRecvIntEventSet 310,9360 -#define OHCI1394_IsoRecvIntEventClear 311,9412 -#define OHCI1394_IsoRecvIntMaskSet 312,9464 -#define OHCI1394_IsoRecvIntMaskClear 313,9516 -#define OHCI1394_InitialBandwidthAvailable 314,9568 -#define OHCI1394_InitialChannelsAvailableHi 315,9620 -#define OHCI1394_InitialChannelsAvailableLo 316,9672 -#define OHCI1394_FairnessControl 317,9724 -#define OHCI1394_LinkControlSet 318,9776 -#define OHCI1394_LinkControlClear 319,9828 -#define OHCI1394_LinkControl_RcvSelfID 320,9880 -#define OHCI1394_LinkControl_RcvPhyPkt 321,9932 -#define OHCI1394_LinkControl_CycleTimerEnable 322,9984 -#define OHCI1394_LinkControl_CycleMaster 323,10042 -#define OHCI1394_LinkControl_CycleSource 324,10095 -#define OHCI1394_NodeID 325,10148 -#define OHCI1394_PhyControl 326,10200 -#define OHCI1394_IsochronousCycleTimer 327,10252 -#define OHCI1394_AsReqFilterHiSet 328,10304 -#define OHCI1394_AsReqFilterHiClear 329,10356 -#define OHCI1394_AsReqFilterLoSet 330,10408 -#define OHCI1394_AsReqFilterLoClear 331,10460 -#define OHCI1394_PhyReqFilterHiSet 332,10512 -#define OHCI1394_PhyReqFilterHiClear 333,10564 -#define OHCI1394_PhyReqFilterLoSet 334,10616 -#define OHCI1394_PhyReqFilterLoClear 335,10668 -#define OHCI1394_PhyUpperBound 336,10720 -#define OHCI1394_AsReqTrContextBase 338,10773 -#define OHCI1394_AsReqTrContextControlSet 339,10825 -#define OHCI1394_AsReqTrContextControlClear 340,10877 -#define OHCI1394_AsReqTrCommandPtr 341,10929 -#define OHCI1394_AsRspTrContextBase 343,10982 -#define OHCI1394_AsRspTrContextControlSet 344,11034 -#define OHCI1394_AsRspTrContextControlClear 345,11086 -#define OHCI1394_AsRspTrCommandPtr 346,11138 -#define OHCI1394_AsReqRcvContextBase 348,11191 -#define OHCI1394_AsReqRcvContextControlSet 349,11243 -#define OHCI1394_AsReqRcvContextControlClear 350,11295 -#define OHCI1394_AsReqRcvCommandPtr 351,11347 -#define OHCI1394_AsRspRcvContextBase 353,11400 -#define OHCI1394_AsRspRcvContextControlSet 354,11452 -#define OHCI1394_AsRspRcvContextControlClear 355,11504 -#define OHCI1394_AsRspRcvCommandPtr 356,11556 -#define OHCI1394_IsoXmitContextBase 360,11679 -#define OHCI1394_IsoXmitContextControlSet 361,11731 -#define OHCI1394_IsoXmitContextControlClear 362,11783 -#define OHCI1394_IsoXmitCommandPtr 363,11835 -#define OHCI1394_IsoRcvContextBase 367,11957 -#define OHCI1394_IsoRcvContextControlSet 368,12009 -#define OHCI1394_IsoRcvContextControlClear 369,12061 -#define OHCI1394_IsoRcvCommandPtr 370,12113 -#define OHCI1394_IsoRcvContextMatch 371,12165 -#define OHCI1394_reqTxComplete 375,12248 -#define OHCI1394_respTxComplete 376,12300 -#define OHCI1394_ARRQ 377,12352 -#define OHCI1394_ARRS 378,12404 -#define OHCI1394_RQPkt 379,12456 -#define OHCI1394_RSPkt 380,12508 -#define OHCI1394_isochTx 381,12560 -#define OHCI1394_isochRx 382,12612 -#define OHCI1394_postedWriteErr 383,12664 -#define OHCI1394_lockRespErr 384,12716 -#define OHCI1394_selfIDComplete 385,12768 -#define OHCI1394_busReset 386,12820 -#define OHCI1394_phy 387,12872 -#define OHCI1394_cycleSynch 388,12924 -#define OHCI1394_cycle64Seconds 389,12976 -#define OHCI1394_cycleLost 390,13028 -#define OHCI1394_cycleInconsistent 391,13080 -#define OHCI1394_unrecoverableError 392,13132 -#define OHCI1394_cycleTooLong 393,13184 -#define OHCI1394_phyRegRcvd 394,13236 -#define OHCI1394_masterIntEnable 395,13288 -#define DMA_CTL_OUTPUT_MORE 398,13365 -#define DMA_CTL_OUTPUT_LAST 399,13417 -#define DMA_CTL_INPUT_MORE 400,13469 -#define DMA_CTL_INPUT_LAST 401,13521 -#define DMA_CTL_UPDATE 402,13573 -#define DMA_CTL_IMMEDIATE 403,13625 -#define DMA_CTL_IRQ 404,13677 -#define DMA_CTL_BRANCH 405,13729 -#define DMA_CTL_WAIT 406,13781 -#define EVT_NO_STATUS 409,13896 -#define EVT_RESERVED_A 410,13945 -#define EVT_LONG_PACKET 411,14002 -#define EVT_MISSING_ACK 412,14075 -#define EVT_UNDERRUN 414,14203 -#define EVT_OVERRUN 416,14292 -#define EVT_DESCRIPTOR_READ 418,14381 -#define EVT_DATA_READ 420,14501 -#define EVT_DATA_WRITE 423,14673 -#define EVT_BUS_RESET 427,14903 -#define EVT_TIMEOUT 429,15027 -#define EVT_TCODE_ERR 432,15229 -#define EVT_RESERVED_B 434,15337 -#define EVT_RESERVED_C 435,15394 -#define EVT_UNKNOWN 436,15451 -#define EVT_FLUSHED 438,15590 -#define OHCI1394_TCODE_PHY 441,15731 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/dv1394-private.h,1055 -#define _DV_1394_PRIVATE_H27,1132 -struct CIP_header CIP_header44,1452 -static inline void fill_cip_header(46,1496 -struct output_more_immediate output_more_immediate80,2180 -struct output_more output_more81,2224 -struct output_last output_last82,2258 -struct input_more input_more83,2292 -struct input_last input_last84,2325 -static inline void fill_output_more_immediate(88,2374 -static inline void fill_output_more(113,3092 -static inline void fill_output_last(123,3334 -static inline void fill_input_more(149,3888 -static inline void fill_input_last(168,4652 -struct DMA_descriptor_block DMA_descriptor_block223,6682 -struct frame frame276,7855 - FRAME_CLEAR 290,8225 - FRAME_READY291,8244 -#define MAX_PACKETS 305,8664 -struct packet packet367,10667 -enum modes modes389,11216 - MODE_RECEIVE,390,11229 - MODE_TRANSMIT391,11244 -struct video_card video_card394,11263 -static inline int video_card_initialized(567,16751 -#define CIP_N_NTSC 580,17166 -#define CIP_D_NTSC 581,17196 -#define CIP_N_PAL 583,17227 -#define CIP_D_PAL 584,17248 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/amdtp.h,275 -#define __AMDTP_H4,51 - AMDTP_FORMAT_RAW,61,2797 - AMDTP_FORMAT_IEC958_PCM,62,2816 - AMDTP_FORMAT_IEC958_AC363,2842 - AMDTP_MODE_BLOCKING,67,2878 - AMDTP_MODE_NON_BLOCKING,68,2900 - AMDTP_INPUT_LE16,72,2937 - AMDTP_INPUT_BE16,73,2956 -struct amdtp_ioctl amdtp_ioctl76,2979 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394.h,2076 -#define _IEEE1394_IEEE1394_H6,70 -#define TCODE_WRITEQ 8,100 -#define TCODE_WRITEB 9,137 -#define TCODE_WRITE_RESPONSE 10,174 -#define TCODE_READQ 11,211 -#define TCODE_READB 12,248 -#define TCODE_READQ_RESPONSE 13,285 -#define TCODE_READB_RESPONSE 14,322 -#define TCODE_CYCLE_START 15,359 -#define TCODE_LOCK_REQUEST 16,396 -#define TCODE_ISO_DATA 17,433 -#define TCODE_STREAM_DATA 18,470 -#define TCODE_LOCK_RESPONSE 19,507 -#define RCODE_COMPLETE 21,545 -#define RCODE_CONFLICT_ERROR 22,582 -#define RCODE_DATA_ERROR 23,619 -#define RCODE_TYPE_ERROR 24,656 -#define RCODE_ADDRESS_ERROR 25,693 -#define EXTCODE_MASK_SWAP 27,731 -#define EXTCODE_COMPARE_SWAP 28,768 -#define EXTCODE_FETCH_ADD 29,805 -#define EXTCODE_LITTLE_ADD 30,842 -#define EXTCODE_BOUNDED_ADD 31,879 -#define EXTCODE_WRAP_ADD 32,916 -#define ACK_COMPLETE 34,954 -#define ACK_PENDING 35,991 -#define ACK_BUSY_X 36,1028 -#define ACK_BUSY_A 37,1065 -#define ACK_BUSY_B 38,1102 -#define ACK_TARDY 39,1139 -#define ACK_CONFLICT_ERROR 40,1176 -#define ACK_DATA_ERROR 41,1213 -#define ACK_TYPE_ERROR 42,1250 -#define ACK_ADDRESS_ERROR 43,1287 -#define ACKX_NONE 46,1373 -#define ACKX_SEND_ERROR 47,1411 -#define ACKX_ABORTED 48,1449 -#define ACKX_TIMEOUT 49,1487 -#define IEEE1394_SPEED_100 52,1527 -#define IEEE1394_SPEED_200 53,1560 -#define IEEE1394_SPEED_400 54,1593 -#define IEEE1394_SPEED_800 55,1626 -#define IEEE1394_SPEED_1600 56,1659 -#define IEEE1394_SPEED_3200 57,1693 -#define IEEE1394_SPEED_MAX 59,1793 -#define SELFID_PWRCL_NO_POWER 65,1939 -#define SELFID_PWRCL_PROVIDE_15W 66,1976 -#define SELFID_PWRCL_PROVIDE_30W 67,2013 -#define SELFID_PWRCL_PROVIDE_45W 68,2050 -#define SELFID_PWRCL_USE_1W 69,2087 -#define SELFID_PWRCL_USE_3W 70,2124 -#define SELFID_PWRCL_USE_6W 71,2161 -#define SELFID_PWRCL_USE_10W 72,2198 -#define SELFID_PORT_CHILD 74,2236 -#define SELFID_PORT_PARENT 75,2273 -#define SELFID_PORT_NCONN 76,2310 -#define SELFID_PORT_NONE 77,2347 -struct selfid selfid84,2444 -struct ext_selfid ext_selfid104,2954 -struct selfid selfid132,3654 -struct ext_selfid ext_selfid152,4164 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/csr1212.c,2375 -#define __I 45,1960 -#define __C 46,2005 -#define __D 47,2051 -#define __L 48,2096 -static const u_int8_t csr1212_key_id_type_map[49,2136 -#define quads_to_bytes(quads_to_bytes85,3028 -#define bytes_to_quads(bytes_to_quads86,3082 -static inline void free_keyval(88,3163 -static u_int16_t csr1212_crc16(96,3326 -static u_int16_t csr1212_msft_crc16(119,3918 -static inline struct csr1212_dentry *csr1212_find_keyval(139,4349 -static inline struct csr1212_keyval *csr1212_find_keyval_offset(153,4644 -struct csr1212_csr *csr1212_create_csr(167,4933 -void csr1212_init_local_csr(206,5873 -static struct csr1212_keyval *csr1212_new_keyval(216,6130 -struct csr1212_keyval *csr1212_new_immediate(240,6555 -struct csr1212_keyval *csr1212_new_leaf(252,6802 -struct csr1212_keyval *csr1212_new_csr_offset(279,7340 -struct csr1212_keyval *csr1212_new_directory(293,7618 -int csr1212_associate_keyval(308,7951 -int csr1212_attach_keyval_to_directory(347,9112 -struct csr1212_keyval *csr1212_new_extended_immediate(376,9794 -struct csr1212_keyval *csr1212_new_extended_leaf(405,10497 -struct csr1212_keyval *csr1212_new_descriptor_leaf(434,11212 -struct csr1212_keyval *csr1212_new_textual_descriptor_leaf(455,11715 -static int csr1212_check_minimal_ascii(484,12492 -struct csr1212_keyval *csr1212_new_string_descriptor_leaf(513,13585 -struct csr1212_keyval *csr1212_new_icon_descriptor_leaf(523,13907 -struct csr1212_keyval *csr1212_new_modifiable_descriptor_leaf(563,15140 -static int csr1212_check_keyword(580,15646 -struct csr1212_keyval *csr1212_new_keyword_leaf(598,15975 -void csr1212_detach_keyval_from_directory(638,16995 -void csr1212_disassociate_keyval(666,17653 -void _csr1212_destroy_keyval(681,18142 -void csr1212_destroy_csr(730,19133 -static int csr1212_append_new_cache(757,19535 -static inline void csr1212_remove_cache(808,21103 -static int csr1212_generate_layout_subdir(829,21612 -size_t csr1212_generate_layout_order(898,23510 -struct csr1212_keyval *csr1212_generate_positions(921,24056 -static void csr1212_generate_tree_subdir(964,25003 -void csr1212_fill_cache(1029,26849 -int csr1212_generate_csr_image(1073,28075 -int csr1212_read(1166,30709 -static int csr1212_parse_bus_info_block(1191,31405 -static inline int csr1212_parse_dir_entry(1252,33445 -int csr1212_parse_keyval(1328,35328 -int _csr1212_read_keyval(1392,36862 -int csr1212_parse_csr(1548,41103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/highlevel.h,180 -#define IEEE1394_HIGHLEVEL_H3,30 -struct hpsb_address_serve hpsb_address_serve6,61 -struct hpsb_highlevel hpsb_highlevel25,529 -struct hpsb_address_ops hpsb_address_ops69,2410 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394_core.h,1189 -#define _IEEE1394_CORE_H3,26 -struct hpsb_packet hpsb_packet12,183 - enum { hpsb_async,28,835 - enum { hpsb_async, hpsb_iso,28,835 - enum { hpsb_async, hpsb_iso, hpsb_raw 28,835 - enum { hpsb_async, hpsb_iso, hpsb_raw } __attribute__(__attribute__28,835 - hpsb_unused,36,1157 - hpsb_unused, hpsb_queued,36,1157 - hpsb_unused, hpsb_queued, hpsb_pending,36,1157 - hpsb_unused, hpsb_queued, hpsb_pending, hpsb_complete36,1157 - } __attribute__(__attribute__37,1227 -static inline unsigned int get_hpsb_generation(104,3153 -#define IEEE1394_MAJOR 201,6502 -#define IEEE1394_MINOR_BLOCK_RAW1394 203,6544 -#define IEEE1394_MINOR_BLOCK_VIDEO1394 204,6589 -#define IEEE1394_MINOR_BLOCK_DV1394 205,6634 -#define IEEE1394_MINOR_BLOCK_AMDTP 206,6679 -#define IEEE1394_MINOR_BLOCK_EXPERIMENTAL 207,6724 -#define IEEE1394_CORE_DEV 209,6770 -#define IEEE1394_RAW1394_DEV 210,6822 -#define IEEE1394_VIDEO1394_DEV 211,6909 -#define IEEE1394_DV1394_DEV 212,7000 -#define IEEE1394_AMDTP_DEV 213,7085 -#define IEEE1394_EXPERIMENTAL_DEV 214,7168 -static inline unsigned char ieee1394_file_to_instance(217,7328 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/hosts.c,383 -static void delayed_reset_bus(33,681 -static int dummy_transmit_packet(61,1556 -static int dummy_devctl(66,1656 -static int dummy_isoctl(71,1753 -static struct hpsb_host_driver dummy_driver 76,1860 -static int alloc_hostnum_cb(82,2036 -struct hpsb_host *hpsb_alloc_host(109,2901 -int hpsb_add_host(174,4514 -void hpsb_remove_host(186,4691 -int hpsb_update_config_rom_image(203,5039 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/cmp.h,81 -#define __CMP_H2,16 -struct cmp_mpr cmp_mpr4,33 -struct cmp_pcr cmp_pcr13,200 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/sbp2.h,6224 -#define SBP2_H23,886 -#define SBP2_DEVICE_NAME 25,902 -#define ORB_DIRECTION_WRITE_TO_MEDIA 31,984 -#define ORB_DIRECTION_READ_FROM_MEDIA 32,1028 -#define ORB_DIRECTION_NO_DATA_TRANSFER 33,1072 -#define ORB_SET_NULL_PTR(ORB_SET_NULL_PTR35,1117 -#define ORB_SET_NOTIFY(ORB_SET_NOTIFY36,1173 -#define ORB_SET_RQ_FMT(ORB_SET_RQ_FMT37,1243 -#define ORB_SET_NODE_ID(ORB_SET_NODE_ID38,1328 -#define ORB_SET_DATA_SIZE(ORB_SET_DATA_SIZE39,1386 -#define ORB_SET_PAGE_SIZE(ORB_SET_PAGE_SIZE40,1451 -#define ORB_SET_PAGE_TABLE_PRESENT(ORB_SET_PAGE_TABLE_PRESENT41,1521 -#define ORB_SET_MAX_PAYLOAD(ORB_SET_MAX_PAYLOAD42,1591 -#define ORB_SET_SPEED(ORB_SET_SPEED43,1661 -#define ORB_SET_DIRECTION(ORB_SET_DIRECTION44,1731 -struct sbp2_command_orb sbp2_command_orb46,1802 -#define LOGIN_REQUEST 55,1960 -#define QUERY_LOGINS_REQUEST 56,1988 -#define RECONNECT_REQUEST 57,2022 -#define SET_PASSWORD_REQUEST 58,2053 -#define LOGOUT_REQUEST 59,2087 -#define ABORT_TASK_REQUEST 60,2116 -#define ABORT_TASK_SET 61,2148 -#define LOGICAL_UNIT_RESET 62,2177 -#define TARGET_RESET_REQUEST 63,2209 -#define ORB_SET_LUN(ORB_SET_LUN65,2244 -#define ORB_SET_FUNCTION(ORB_SET_FUNCTION66,2309 -#define ORB_SET_RECONNECT(ORB_SET_RECONNECT67,2379 -#define ORB_SET_EXCLUSIVE(ORB_SET_EXCLUSIVE68,2449 -#define ORB_SET_LOGIN_RESP_LENGTH(ORB_SET_LOGIN_RESP_LENGTH69,2519 -#define ORB_SET_PASSWD_LENGTH(ORB_SET_PASSWD_LENGTH70,2584 -struct sbp2_login_orb sbp2_login_orb72,2658 -#define RESPONSE_GET_LOGIN_ID(RESPONSE_GET_LOGIN_ID83,2853 -#define RESPONSE_GET_LENGTH(RESPONSE_GET_LENGTH84,2918 -#define RESPONSE_GET_RECONNECT_HOLD(RESPONSE_GET_RECONNECT_HOLD85,2991 -struct sbp2_login_response sbp2_login_response87,3057 -#define ORB_SET_LOGIN_ID(ORB_SET_LOGIN_ID94,3191 -#define ORB_SET_QUERY_LOGINS_RESP_LENGTH(ORB_SET_QUERY_LOGINS_RESP_LENGTH96,3257 -struct sbp2_query_logins_orb sbp2_query_logins_orb98,3323 -#define RESPONSE_GET_MAX_LOGINS(RESPONSE_GET_MAX_LOGINS109,3522 -#define RESPONSE_GET_ACTIVE_LOGINS(RESPONSE_GET_ACTIVE_LOGINS110,3587 -struct sbp2_query_logins_response sbp2_query_logins_response112,3676 -struct sbp2_reconnect_orb sbp2_reconnect_orb119,3803 -struct sbp2_logout_orb sbp2_logout_orb130,3991 -#define PAGE_TABLE_SET_SEGMENT_BASE_HI(PAGE_TABLE_SET_SEGMENT_BASE_HI141,4176 -#define PAGE_TABLE_SET_SEGMENT_LENGTH(PAGE_TABLE_SET_SEGMENT_LENGTH142,4241 -struct sbp2_unrestricted_page_table sbp2_unrestricted_page_table144,4315 -#define RESP_STATUS_REQUEST_COMPLETE 149,4408 -#define RESP_STATUS_TRANSPORT_FAILURE 150,4450 -#define RESP_STATUS_ILLEGAL_REQUEST 151,4493 -#define RESP_STATUS_VENDOR_DEPENDENT 152,4534 -#define SBP2_STATUS_NO_ADDITIONAL_INFO 154,4577 -#define SBP2_STATUS_REQ_TYPE_NOT_SUPPORTED 155,4621 -#define SBP2_STATUS_SPEED_NOT_SUPPORTED 156,4668 -#define SBP2_STATUS_PAGE_SIZE_NOT_SUPPORTED 157,4713 -#define SBP2_STATUS_ACCESS_DENIED 158,4761 -#define SBP2_STATUS_LU_NOT_SUPPORTED 159,4800 -#define SBP2_STATUS_MAX_PAYLOAD_TOO_SMALL 160,4842 -#define SBP2_STATUS_RESOURCES_UNAVAILABLE 161,4888 -#define SBP2_STATUS_FUNCTION_REJECTED 162,4934 -#define SBP2_STATUS_LOGIN_ID_NOT_RECOGNIZED 163,4977 -#define SBP2_STATUS_DUMMY_ORB_COMPLETED 164,5025 -#define SBP2_STATUS_REQUEST_ABORTED 165,5070 -#define SBP2_STATUS_UNSPECIFIED_ERROR 166,5111 -#define SFMT_CURRENT_ERROR 168,5156 -#define SFMT_DEFERRED_ERROR 169,5189 -#define SFMT_VENDOR_DEPENDENT_STATUS 170,5223 -#define SBP2_SCSI_STATUS_GOOD 172,5266 -#define SBP2_SCSI_STATUS_CHECK_CONDITION 173,5302 -#define SBP2_SCSI_STATUS_CONDITION_MET 174,5347 -#define SBP2_SCSI_STATUS_BUSY 175,5391 -#define SBP2_SCSI_STATUS_RESERVATION_CONFLICT 176,5427 -#define SBP2_SCSI_STATUS_COMMAND_TERMINATED 177,5478 -#define SBP2_SCSI_STATUS_SELECTION_TIMEOUT 179,5528 -#define STATUS_GET_ORB_OFFSET_HI(STATUS_GET_ORB_OFFSET_HI181,5577 -#define STATUS_GET_SBP_STATUS(STATUS_GET_SBP_STATUS182,5642 -#define STATUS_GET_LENGTH(STATUS_GET_LENGTH183,5713 -#define STATUS_GET_DEAD_BIT(STATUS_GET_DEAD_BIT184,5783 -#define STATUS_GET_RESP(STATUS_GET_RESP185,5853 -#define STATUS_GET_SRC(STATUS_GET_SRC186,5923 -struct sbp2_status_block sbp2_status_block188,5994 -#define SBP2_STATUS_FIFO_ADDRESS 215,7088 -#define SBP2_STATUS_FIFO_ADDRESS_HI 216,7142 -#define SBP2_STATUS_FIFO_ADDRESS_LO 217,7213 -#define SBP2_STATUS_FIFO_ENTRY_TO_OFFSET(SBP2_STATUS_FIFO_ENTRY_TO_OFFSET219,7282 -#define SBP2_STATUS_FIFO_OFFSET_TO_ENTRY(SBP2_STATUS_FIFO_OFFSET_TO_ENTRY220,7347 -#define SBP2_UNIT_DIRECTORY_OFFSET_KEY 222,7414 -#define SBP2_CSR_OFFSET_KEY 223,7461 -#define SBP2_UNIT_SPEC_ID_KEY 224,7498 -#define SBP2_UNIT_SW_VERSION_KEY 225,7537 -#define SBP2_COMMAND_SET_SPEC_ID_KEY 226,7578 -#define SBP2_COMMAND_SET_KEY 227,7623 -#define SBP2_UNIT_CHARACTERISTICS_KEY 228,7661 -#define SBP2_DEVICE_TYPE_AND_LUN_KEY 229,7707 -#define SBP2_FIRMWARE_REVISION_KEY 230,7752 -#define SBP2_DEVICE_TYPE(SBP2_DEVICE_TYPE232,7796 -#define SBP2_DEVICE_LUN(SBP2_DEVICE_LUN233,7849 -#define SBP2_AGENT_STATE_OFFSET 235,7896 -#define SBP2_AGENT_RESET_OFFSET 236,7940 -#define SBP2_ORB_POINTER_OFFSET 237,7984 -#define SBP2_DOORBELL_OFFSET 238,8028 -#define SBP2_UNSOLICITED_STATUS_ENABLE_OFFSET 239,8069 -#define SBP2_UNSOLICITED_STATUS_VALUE 240,8125 -#define SBP2_BUSY_TIMEOUT_ADDRESS 242,8171 -#define SBP2_BUSY_TIMEOUT_VALUE 243,8226 -#define SBP2_AGENT_RESET_DATA 245,8267 -#define SBP2_UNIT_SPEC_ID_ENTRY 251,8369 -#define SBP2_SW_VERSION_ENTRY 252,8416 -#define SBP2_128KB_BROKEN_FIRMWARE 257,8491 -#define SBP2_DEVICE_TYPE_LUN_UNINITIALIZED 259,8539 -#define SBP2_MAX_SG_ELEMENT_LENGTH 265,8627 -#define SBP2_MAX_UDS_PER_NODE 266,8669 -#define SBP2_MAX_SECTORS 267,8739 -#define TYPE_SDAD 270,8816 -#define DIN 285,9260 -#define DOU 286,9305 -#define DNO 287,9349 -#define DUN 288,9395 -static unchar sbp2scsi_direction_table[290,9415 -#define SBP2_MAX_CMDS 310,10550 -enum cmd_dma_types cmd_dma_types313,10633 - CMD_DMA_NONE,314,10654 - CMD_DMA_PAGE,315,10669 - CMD_DMA_SINGLE316,10684 -struct sbp2_command_info sbp2_command_info322,10778 -#define SBP2_BREAKAGE_128K_MAX_TRANSFER 342,11365 -#define SBP2_BREAKAGE_INQUIRY_HACK 343,11410 -struct scsi_id_instance_data scsi_id_instance_data352,11560 -struct sbp2scsi_host_info sbp2scsi_host_info420,13309 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/nodemgr.c,4015 -static int ignore_drivers 33,804 -struct nodemgr_csr_info nodemgr_csr_info37,953 -static char *nodemgr_find_oui_name(44,1053 - extern struct oui_list_struct oui_list_struct47,1129 -static int nodemgr_bus_read(61,1330 -static int nodemgr_get_max_rom(81,1785 -static struct csr1212_bus_ops nodemgr_csr_ops 86,1919 -struct host_info host_info114,3009 -struct bus_type ieee1394_bus_type 131,3547 -static void host_cls_release(136,3641 -struct class hpsb_host_class hpsb_host_class141,3785 -static void ne_cls_release(146,3879 -struct class nodemgr_ne_class nodemgr_ne_class151,4022 -static void ud_cls_release(156,4115 -struct class nodemgr_ud_class nodemgr_ud_class163,4399 -static struct hpsb_highlevel nodemgr_highlevel;169,4516 -static void nodemgr_release_ud(172,4566 -static void nodemgr_release_ne(184,4855 -static void nodemgr_release_host(195,5068 -static int nodemgr_ud_platform_data;204,5250 -static struct device nodemgr_dev_template_ud 206,5288 -static struct device nodemgr_dev_template_ne 212,5447 -struct device nodemgr_dev_template_host 217,5561 -#define fw_attr(fw_attr223,5673 -#define fw_attr_td(fw_attr_td235,6148 -#define fw_drv_attr(fw_drv_attr256,6848 -static ssize_t fw_show_ne_bus_options(269,7343 -static ssize_t fw_show_ne_tlabels_free(285,7937 -static ssize_t fw_show_ne_tlabels_allocations(293,8227 -static ssize_t fw_show_ne_tlabels_mask(301,8520 -static ssize_t fw_set_ignore_driver(313,8916 -static ssize_t fw_get_ignore_driver(328,9342 -static ssize_t fw_set_destroy_node(337,9642 -static ssize_t fw_get_destroy_node(351,9934 -static int nodemgr_rescan_bus_thread(357,10192 -static ssize_t fw_set_rescan(367,10363 -static ssize_t fw_get_rescan(379,10736 -static ssize_t fw_set_ignore_drivers(387,10985 -static ssize_t fw_get_ignore_drivers(398,11219 -struct bus_attribute *const fw_bus_attrs[405,11439 -fw_attr(413,11568 -fw_attr(439,12452 -fw_attr(457,13241 -static ssize_t fw_show_drv_device_ids(478,13979 -fw_drv_attr(528,15208 -static void nodemgr_create_drv_files(536,15361 -static void nodemgr_remove_drv_files(546,15588 -static void nodemgr_create_ne_dev_files(556,15815 -static void nodemgr_create_host_dev_files(566,16018 -static void nodemgr_update_host_dev_links(578,16320 -static void nodemgr_create_ud_dev_files(595,16937 -static int nodemgr_bus_match(623,17698 -static void nodemgr_remove_uds(663,18900 -static void nodemgr_remove_ne(680,19274 -static void nodemgr_remove_host_dev(700,19677 -static void nodemgr_update_bus_options(713,20034 -static struct node_entry *nodemgr_create_node(741,21148 -static struct node_entry *find_entry_by_guid(794,22657 -static struct node_entry *find_entry_by_nodeid(815,23089 -static struct unit_directory *nodemgr_process_unit_directory840,23773 -static void nodemgr_process_root_directory(992,27908 -static int nodemgr_hotplug(1043,29302 -#define PUT_ENVP(PUT_ENVP1058,29635 -static int nodemgr_hotplug(1085,30259 -int hpsb_register_protocol(1094,30429 -void hpsb_unregister_protocol(1106,30654 -static void nodemgr_update_node(1122,31214 -static void nodemgr_node_scan_one(1157,32081 -static void nodemgr_node_scan(1217,33863 -static void nodemgr_suspend_ne(1238,34481 -static void nodemgr_resume_ne(1265,35227 -static void nodemgr_update_pdrv(1290,35908 -static void nodemgr_probe_ne(1315,36598 -static void nodemgr_node_probe(1342,37289 -static int nodemgr_do_irm_duties(1382,38959 -static int nodemgr_check_irm_capability(1431,40429 -static int nodemgr_host_thread(1464,41287 -struct node_entry *hpsb_guid_get_entry(1556,43657 -struct node_entry *hpsb_nodeid_get_entry(1567,43854 -int nodemgr_for_each_host(1579,44074 -void hpsb_node_fill_packet(1613,45253 -int hpsb_node_read(1621,45452 -int hpsb_node_write(1631,45683 -int hpsb_node_lock(1641,45918 -static void nodemgr_add_host(1651,46164 -static void nodemgr_host_reset(1680,46793 -static void nodemgr_remove_host(1693,47120 -static struct hpsb_highlevel nodemgr_highlevel 1712,47524 -int init_ieee1394_nodemgr(1719,47708 -void cleanup_ieee1394_nodemgr(1738,48000 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394_transactions.h,38 -#define _IEEE1394_TRANSACTIONS_H2,33 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394-ioctl.h,1620 -#define __IEEE1394_IOCTL_H5,134 -#define AMDTP_IOC_CHANNEL 12,233 -#define AMDTP_IOC_PLUG 13,295 -#define AMDTP_IOC_PING 14,355 -#define AMDTP_IOC_ZAP 15,415 -#define DV1394_IOC_INIT 22,619 -#define DV1394_IOC_SHUTDOWN 25,736 -#define DV1394_IOC_SUBMIT_FRAMES 30,970 -#define DV1394_IOC_WAIT_FRAMES 35,1201 -#define DV1394_IOC_RECEIVE_FRAMES 40,1443 -#define DV1394_IOC_START_RECEIVE 43,1533 -#define DV1394_IOC_GET_STATUS 46,1635 -#define VIDEO1394_IOC_LISTEN_CHANNEL 51,1731 -#define VIDEO1394_IOC_UNLISTEN_CHANNEL 53,1812 -#define VIDEO1394_IOC_LISTEN_QUEUE_BUFFER 55,1877 -#define VIDEO1394_IOC_LISTEN_WAIT_BUFFER 57,1962 -#define VIDEO1394_IOC_TALK_CHANNEL 59,2046 -#define VIDEO1394_IOC_UNTALK_CHANNEL 61,2125 -#define VIDEO1394_IOC_TALK_QUEUE_BUFFER 68,2341 -#define VIDEO1394_IOC_TALK_WAIT_BUFFER 70,2410 -#define VIDEO1394_IOC_LISTEN_POLL_BUFFER 72,2493 -#define RAW1394_IOC_ISO_XMIT_INIT 77,2609 -#define RAW1394_IOC_ISO_RECV_INIT 79,2691 -#define RAW1394_IOC_ISO_RECV_START 81,2773 -#define RAW1394_IOC_ISO_XMIT_START 83,2858 -#define RAW1394_IOC_ISO_XMIT_RECV_STOP 85,2943 -#define RAW1394_IOC_ISO_GET_STATUS 87,3003 -#define RAW1394_IOC_ISO_SHUTDOWN 89,3086 -#define RAW1394_IOC_ISO_QUEUE_ACTIVITY 91,3140 -#define RAW1394_IOC_ISO_RECV_LISTEN_CHANNEL 93,3200 -#define RAW1394_IOC_ISO_RECV_UNLISTEN_CHANNEL 95,3279 -#define RAW1394_IOC_ISO_RECV_SET_CHANNEL_MASK 97,3360 -#define RAW1394_IOC_ISO_RECV_PACKETS 99,3433 -#define RAW1394_IOC_ISO_RECV_RELEASE_PACKETS 101,3519 -#define RAW1394_IOC_ISO_XMIT_PACKETS 103,3598 -#define RAW1394_IOC_ISO_XMIT_SYNC 105,3684 -#define RAW1394_IOC_ISO_RECV_FLUSH 107,3739 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/raw1394.h,2509 -#define IEEE1394_RAW1394_H2,27 -#define RAW1394_KERNELAPI_VERSION 6,120 -#define RAW1394_REQ_INITIALIZE 9,177 -#define RAW1394_REQ_LIST_CARDS 12,239 -#define RAW1394_REQ_SET_CARD 13,275 -#define RAW1394_REQ_ASYNC_READ 16,335 -#define RAW1394_REQ_ASYNC_WRITE 17,375 -#define RAW1394_REQ_LOCK 18,415 -#define RAW1394_REQ_LOCK64 19,455 -#define RAW1394_REQ_ISO_SEND 20,495 -#define RAW1394_REQ_ASYNC_SEND 21,535 -#define RAW1394_REQ_ASYNC_STREAM 22,575 -#define RAW1394_REQ_ISO_LISTEN 24,616 -#define RAW1394_REQ_FCP_LISTEN 25,656 -#define RAW1394_REQ_RESET_BUS 26,696 -#define RAW1394_REQ_GET_ROM 27,736 -#define RAW1394_REQ_UPDATE_ROM 28,776 -#define RAW1394_REQ_ECHO 29,816 -#define RAW1394_REQ_MODIFY_ROM 30,856 -#define RAW1394_REQ_ARM_REGISTER 32,897 -#define RAW1394_REQ_ARM_UNREGISTER 33,937 -#define RAW1394_REQ_ARM_SET_BUF 34,977 -#define RAW1394_REQ_ARM_GET_BUF 35,1017 -#define RAW1394_REQ_RESET_NOTIFY 37,1058 -#define RAW1394_REQ_PHYPACKET 39,1099 -#define RAW1394_REQ_BUS_RESET 42,1161 -#define RAW1394_REQ_ISO_RECEIVE 43,1204 -#define RAW1394_REQ_FCP_REQUEST 44,1247 -#define RAW1394_REQ_ARM 45,1290 -#define RAW1394_REQ_RAWISO_ACTIVITY 46,1333 -#define RAW1394_ERROR_NONE 49,1395 -#define RAW1394_ERROR_COMPAT 50,1431 -#define RAW1394_ERROR_STATE_ORDER 51,1473 -#define RAW1394_ERROR_GENERATION 52,1515 -#define RAW1394_ERROR_INVALID_ARG 53,1557 -#define RAW1394_ERROR_MEMFAULT 54,1599 -#define RAW1394_ERROR_ALREADY 55,1641 -#define RAW1394_ERROR_EXCESSIVE 57,1684 -#define RAW1394_ERROR_UNTIDY_LEN 58,1726 -#define RAW1394_ERROR_SEND_ERROR 60,1769 -#define RAW1394_ERROR_ABORTED 61,1811 -#define RAW1394_ERROR_TIMEOUT 62,1853 -#define ARM_READ 65,1912 -#define ARM_WRITE 66,1933 -#define ARM_LOCK 67,1954 -#define RAW1394_LONG_RESET 69,1976 -#define RAW1394_SHORT_RESET 70,2006 -#define RAW1394_NOTIFY_OFF 73,2062 -#define RAW1394_NOTIFY_ON 74,2091 -struct raw1394_request raw1394_request78,2145 -struct raw1394_khost_list raw1394_khost_list94,2371 -typedef struct arm_request arm_request99,2447 -} *arm_request_t;arm_request_t109,2832 -typedef struct arm_response arm_response111,2851 -} *arm_response_t;arm_response_t115,2999 -typedef struct arm_request_response arm_request_response117,3019 -} *arm_request_response_t;arm_request_response_t120,3148 -struct raw1394_iso_packet_info raw1394_iso_packet_info127,3333 -struct raw1394_iso_packets raw1394_iso_packets137,3540 -struct raw1394_iso_config raw1394_iso_config142,3638 -struct raw1394_iso_status raw1394_iso_status163,4202 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/dv1394.h,444 -#define _DV_1394_H27,1116 -#define DV1394_API_VERSION 31,1205 -#define DV1394_MAX_FRAMES 191,6702 -#define DV1394_NTSC_PACKETS_PER_FRAME 194,6788 -#define DV1394_PAL_PACKETS_PER_FRAME 195,6830 -#define DV1394_NTSC_FRAME_SIZE 198,6926 -#define DV1394_PAL_FRAME_SIZE 199,6995 -enum pal_or_ntsc pal_or_ntsc206,7118 - DV1394_NTSC 207,7137 - DV1394_PAL208,7155 -struct dv1394_init dv1394_init215,7216 -struct dv1394_status dv1394_status275,9409 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/eth1394.c,3532 -#define ETH1394_PRINT_G(ETH1394_PRINT_G81,2566 -#define ETH1394_PRINT(ETH1394_PRINT84,2662 -#define DEBUG(DEBUG87,2780 -#define TRACE(TRACE89,2897 -static char version[91,2993 -static char version[] __devinitdata 91,2993 -struct fragment_info fragment_info94,3083 -struct partial_datagram partial_datagram100,3157 -struct pdg_list pdg_list110,3316 -struct eth1394_host_info eth1394_host_info116,3509 -struct eth1394_node_ref eth1394_node_ref121,3590 -struct eth1394_node_info eth1394_node_info126,3672 -#define ETH1394_DRIVER_NAME 135,3939 -static const char driver_name[136,3977 -static kmem_cache_t *packet_task_cache;138,4033 -static struct hpsb_highlevel eth1394_highlevel;140,4074 -static const int hdr_type_len[143,4167 -#define ETH1394_SPEED_DEF 151,4402 -#define ETH1394_DATA_LEN 154,4511 -static const u16 eth1394_speedto_maxpayload[156,4550 -static int max_partial_datagrams 175,5384 -static struct hpsb_address_ops addr_ops 203,6683 -static struct hpsb_highlevel eth1394_highlevel 208,6800 -static int ether1394_open 217,7025 -static int ether1394_stop 255,8047 -static struct net_device_stats *ether1394_stats 262,8177 -static void ether1394_tx_timeout 269,8453 -static int ether1394_change_mtu(279,8748 -static inline void purge_partial_datagram(293,9094 -static struct eth1394_node_ref *eth1394_find_node(312,9591 -static struct eth1394_node_ref *eth1394_find_node_guid(324,9828 -static struct eth1394_node_ref *eth1394_find_node_nodeid(336,10070 -static int eth1394_probe(348,10324 -static int eth1394_remove(388,11299 -static int eth1394_update(427,12292 -static struct ieee1394_device_id eth1394_id_table[470,13275 -static struct hpsb_protocol_driver eth1394_proto_driver 482,13557 -static void ether1394_reset_priv 495,13852 -static void ether1394_init_dev 534,15012 -static void ether1394_add_host 568,16111 -static void ether1394_remove_host 669,18845 -static void ether1394_host_reset 693,19341 -static int ether1394_header(743,20693 -static int ether1394_rebuild_header(773,21486 -static int ether1394_header_parse(794,21934 -static int ether1394_header_cache(802,22120 -static void ether1394_header_cache_update(821,22627 -static int ether1394_mac_addr(828,22829 -static inline u16 ether1394_type_trans(845,23230 -static inline u16 ether1394_parse_encap(880,24077 -static inline int fragment_overlap(963,26820 -static inline struct list_head *find_partial_datagram(975,27105 -static inline int new_fragment(987,27399 -static inline int new_partial_datagram(1039,28728 -static inline int update_partial_datagram(1079,29656 -static inline int is_datagram_complete(1098,30174 -static int ether1394_data_handler(1110,30647 -static int ether1394_write(1299,35886 -static void ether1394_iso(1317,36385 -static inline void ether1394_arp_to_1394arp(1384,38360 -static inline unsigned int ether1394_encapsulate_prep(1407,39228 -static inline unsigned int ether1394_encapsulate(1428,39883 -static inline struct hpsb_packet *ether1394_alloc_common_packet(1470,41133 -static inline int ether1394_prep_write_packet(1483,41389 -static inline void ether1394_prep_gasp_packet(1513,42141 -static inline void ether1394_free_packet(1537,42993 -static int ether1394_send_packet(1546,43214 -static inline void ether1394_dg_complete(1581,44098 -static void ether1394_complete_cb(1606,44730 -static int ether1394_tx 1634,45426 -static int ether1394_do_ioctl(1771,49096 -static int ether1394_ethtool_ioctl(1787,49482 -static int __init ether1394_init_module 1819,50184 -static void __exit ether1394_exit_module 1830,50499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394_types.h,1142 -#define _IEEE1394_TYPES_H3,27 -struct hpsb_tlabel_pool hpsb_tlabel_pool17,297 -#define HPSB_TPOOL_INIT(HPSB_TPOOL_INIT25,425 -typedef u32 quadlet_t;quadlet_t35,637 -typedef u64 octlet_t;octlet_t36,660 -typedef u16 nodeid_t;nodeid_t37,682 -typedef u8 byte_t;byte_t39,705 -typedef u64 nodeaddr_t;nodeaddr_t40,725 -typedef u16 arm_length_t;arm_length_t41,749 -#define BUS_MASK 43,776 -#define BUS_SHIFT 44,801 -#define NODE_MASK 45,821 -#define LOCAL_BUS 46,846 -#define ALL_NODES 47,871 -#define NODEID_TO_BUS(NODEID_TO_BUS49,897 -#define NODEID_TO_NODE(NODEID_TO_NODE50,962 -#define NODE_BUS_FMT 53,1070 -#define NODE_BUS_ARGS(NODE_BUS_ARGS54,1107 -#define HPSB_PRINT(HPSB_PRINT57,1213 -#define HPSB_DEBUG(HPSB_DEBUG59,1300 -#define HPSB_INFO(HPSB_INFO60,1371 -#define HPSB_NOTICE(HPSB_NOTICE61,1440 -#define HPSB_WARN(HPSB_WARN62,1513 -#define HPSB_ERR(HPSB_ERR63,1585 -#define HPSB_VERBOSE(HPSB_VERBOSE66,1689 -#define HPSB_VERBOSE(HPSB_VERBOSE68,1768 -#define HPSB_PANIC(HPSB_PANIC71,1811 -#define HPSB_TRACE(HPSB_TRACE73,1884 -static __inline__ void *memcpy_le32(78,2013 -static __inline__ void *memcpy_le32(94,2277 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/config_roms.c,618 -struct hpsb_config_rom_entry hpsb_config_rom_entry24,453 -int hpsb_default_host_entry(44,860 -static struct csr1212_keyval *ip1394_ud;85,1830 -static int config_rom_ip1394_init(87,1872 -static void config_rom_ip1394_cleanup(131,3150 -static int config_rom_ip1394_add(139,3277 -static void config_rom_ip1394_remove(151,3512 -static struct hpsb_config_rom_entry ip1394_entry 156,3652 -static struct hpsb_config_rom_entry *const config_rom_entries[167,3960 -int hpsb_init_config_roms(175,4104 -void hpsb_cleanup_config_roms(195,4517 -int hpsb_add_extra_config_roms(205,4688 -void hpsb_remove_extra_config_roms(223,5097 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/hosts.h,1086 -#define _IEEE1394_HOSTS_H2,26 -struct hpsb_host hpsb_host19,292 -enum devctl_cmd devctl_cmd78,1652 - RESET_BUS,82,1861 - GET_CYCLE_COUNTER,85,1958 - SET_CYCLE_COUNTER,89,2118 - SET_BUS_ID,92,2215 - ACT_CYCLE_MASTER,96,2340 - CANCEL_REQUESTS,100,2470 - ISO_LISTEN_CHANNEL,105,2695 - ISO_UNLISTEN_CHANNEL106,2723 -enum isoctl_cmd isoctl_cmd109,2756 - XMIT_INIT,119,3094 - XMIT_START,120,3106 - XMIT_STOP,121,3119 - XMIT_QUEUE,122,3131 - XMIT_SHUTDOWN,123,3144 - RECV_INIT,125,3161 - RECV_LISTEN_CHANNEL,126,3173 - RECV_UNLISTEN_CHANNEL,127,3222 - RECV_SET_CHANNEL_MASK,128,3271 - RECV_START,129,3335 - RECV_STOP,130,3348 - RECV_RELEASE,131,3360 - RECV_SHUTDOWN,132,3375 - RECV_FLUSH133,3391 -enum reset_types reset_types136,3407 - LONG_RESET,139,3548 - SHORT_RESET,143,3684 - LONG_RESET_FORCE_ROOT,146,3773 - LONG_RESET_FORCE_ROOT, SHORT_RESET_FORCE_ROOT,146,3773 - LONG_RESET_NO_FORCE_ROOT,149,3891 - LONG_RESET_NO_FORCE_ROOT, SHORT_RESET_NO_FORCE_ROOT149,3891 -struct hpsb_host_driver hpsb_host_driver152,3948 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/csr1212.h,11238 -#define __CSR1212_H__31,1657 -#define CSR1212_MALLOC(CSR1212_MALLOC44,1882 -#define CSR1212_FREE(CSR1212_FREE45,1928 -#define CSR1212_BE16_TO_CPU(CSR1212_BE16_TO_CPU46,1966 -#define CSR1212_CPU_TO_BE16(CSR1212_CPU_TO_BE1647,2018 -#define CSR1212_BE32_TO_CPU(CSR1212_BE32_TO_CPU48,2070 -#define CSR1212_CPU_TO_BE32(CSR1212_CPU_TO_BE3249,2122 -#define CSR1212_BE64_TO_CPU(CSR1212_BE64_TO_CPU50,2174 -#define CSR1212_CPU_TO_BE64(CSR1212_CPU_TO_BE6451,2226 -#define CSR1212_LE16_TO_CPU(CSR1212_LE16_TO_CPU53,2279 -#define CSR1212_CPU_TO_LE16(CSR1212_CPU_TO_LE1654,2331 -#define CSR1212_LE32_TO_CPU(CSR1212_LE32_TO_CPU55,2383 -#define CSR1212_CPU_TO_LE32(CSR1212_CPU_TO_LE3256,2435 -#define CSR1212_LE64_TO_CPU(CSR1212_LE64_TO_CPU57,2487 -#define CSR1212_CPU_TO_LE64(CSR1212_CPU_TO_LE6458,2539 -#define CSR1212_SUCCESS 61,2617 -#define CSR1212_EINVAL 62,2645 -#define CSR1212_ENOMEM 63,2678 -#define CSR1212_ENOENT 64,2711 -#define CSR1212_EIO 65,2744 -#define CSR1212_EBUSY 66,2771 -#define CSR1212_MALLOC(CSR1212_MALLOC72,2869 -#define CSR1212_FREE(CSR1212_FREE73,2912 -#define CSR1212_BE16_TO_CPU(CSR1212_BE16_TO_CPU77,3027 -#define CSR1212_CPU_TO_BE16(CSR1212_CPU_TO_BE1678,3076 -#define CSR1212_BE32_TO_CPU(CSR1212_BE32_TO_CPU79,3125 -#define CSR1212_CPU_TO_BE32(CSR1212_CPU_TO_BE3280,3174 -#define CSR1212_BE64_TO_CPU(CSR1212_BE64_TO_CPU81,3223 -#define CSR1212_CPU_TO_BE64(CSR1212_CPU_TO_BE6482,3272 -#define CSR1212_LE16_TO_CPU(CSR1212_LE16_TO_CPU84,3322 -#define CSR1212_CPU_TO_LE16(CSR1212_CPU_TO_LE1685,3363 -#define CSR1212_LE32_TO_CPU(CSR1212_LE32_TO_CPU86,3404 -#define CSR1212_CPU_TO_LE32(CSR1212_CPU_TO_LE3287,3445 -#define CSR1212_LE64_TO_CPU(CSR1212_LE64_TO_CPU88,3486 -#define CSR1212_CPU_TO_LE64(CSR1212_CPU_TO_LE6489,3527 -#define CSR1212_BE16_TO_CPU(CSR1212_BE16_TO_CPU91,3574 -#define CSR1212_CPU_TO_BE16(CSR1212_CPU_TO_BE1692,3615 -#define CSR1212_BE32_TO_CPU(CSR1212_BE32_TO_CPU93,3656 -#define CSR1212_CPU_TO_BE32(CSR1212_CPU_TO_BE3294,3697 -#define CSR1212_BE64_TO_CPU(CSR1212_BE64_TO_CPU95,3738 -#define CSR1212_CPU_TO_BE64(CSR1212_CPU_TO_BE6496,3779 -#define CSR1212_LE16_TO_CPU(CSR1212_LE16_TO_CPU98,3821 -#define CSR1212_CPU_TO_LE16(CSR1212_CPU_TO_LE1699,3870 -#define CSR1212_LE32_TO_CPU(CSR1212_LE32_TO_CPU100,3919 -#define CSR1212_CPU_TO_LE32(CSR1212_CPU_TO_LE32101,3968 -#define CSR1212_LE64_TO_CPU(CSR1212_LE64_TO_CPU102,4017 -#define CSR1212_CPU_TO_LE64(CSR1212_CPU_TO_LE64103,4066 -#define CSR1212_SUCCESS 107,4142 -#define CSR1212_EINVAL 108,4170 -#define CSR1212_ENOMEM 109,4202 -#define CSR1212_ENOENT 110,4234 -#define CSR1212_EIO 111,4266 -#define CSR1212_EBUSY 112,4292 -#define CSR1212_KV_VAL_MASK 117,4332 -#define CSR1212_KV_KEY_SHIFT 118,4371 -#define CSR1212_KV_KEY_TYPE_SHIFT 119,4405 -#define CSR1212_KV_KEY_ID_MASK 120,4442 -#define CSR1212_KV_KEY_TYPE_MASK 121,4480 -#define CSR1212_KV_TYPE_IMMEDIATE 125,4564 -#define CSR1212_KV_TYPE_CSR_OFFSET 126,4601 -#define CSR1212_KV_TYPE_LEAF 127,4639 -#define CSR1212_KV_TYPE_DIRECTORY 128,4672 -#define CSR1212_KV_ID_DESCRIPTOR 132,4734 -#define CSR1212_KV_ID_BUS_DEPENDENT_INFO 133,4773 -#define CSR1212_KV_ID_VENDOR 134,4819 -#define CSR1212_KV_ID_HARDWARE_VERSION 135,4855 -#define CSR1212_KV_ID_MODULE 136,4900 -#define CSR1212_KV_ID_NODE_CAPABILITIES 137,4936 -#define CSR1212_KV_ID_EUI_64 138,4982 -#define CSR1212_KV_ID_UNIT 139,5018 -#define CSR1212_KV_ID_SPECIFIER_ID 140,5052 -#define CSR1212_KV_ID_VERSION 141,5093 -#define CSR1212_KV_ID_DEPENDENT_INFO 142,5130 -#define CSR1212_KV_ID_UNIT_LOCATION 143,5173 -#define CSR1212_KV_ID_MODEL 144,5215 -#define CSR1212_KV_ID_INSTANCE 145,5250 -#define CSR1212_KV_ID_KEYWORD 146,5288 -#define CSR1212_KV_ID_FEATURE 147,5325 -#define CSR1212_KV_ID_EXTENDED_ROM 148,5362 -#define CSR1212_KV_ID_EXTENDED_KEY_SPECIFIER_ID 149,5403 -#define CSR1212_KV_ID_EXTENDED_KEY 150,5456 -#define CSR1212_KV_ID_EXTENDED_DATA 151,5497 -#define CSR1212_KV_ID_MODIFIABLE_DESCRIPTOR 152,5539 -#define CSR1212_KV_ID_DIRECTORY_ID 153,5588 -#define CSR1212_KV_ID_REVISION 154,5629 -#define CSR1212_ALL_SPACE_BASE 158,5703 -#define CSR1212_ALL_SPACE_SIZE 159,5756 -#define CSR1212_ALL_SPACE_END 160,5802 -#define CSR1212_MEMORY_SPACE_BASE 162,5885 -#define CSR1212_MEMORY_SPACE_SIZE 163,5941 -#define CSR1212_MEMORY_SPACE_END 164,6029 -#define CSR1212_PRIVATE_SPACE_BASE 166,6121 -#define CSR1212_PRIVATE_SPACE_SIZE 167,6178 -#define CSR1212_PRIVATE_SPACE_END 168,6239 -#define CSR1212_REGISTER_SPACE_BASE 170,6334 -#define CSR1212_REGISTER_SPACE_SIZE 171,6392 -#define CSR1212_REGISTER_SPACE_END 172,6454 -#define CSR1212_CSR_ARCH_REG_SPACE_BASE 174,6552 -#define CSR1212_CSR_ARCH_REG_SPACE_SIZE 175,6613 -#define CSR1212_CSR_ARCH_REG_SPACE_END 176,6660 -#define CSR1212_CSR_ARCH_REG_SPACE_OFFSET 177,6769 -#define CSR1212_CSR_BUS_DEP_REG_SPACE_BASE 179,6877 -#define CSR1212_CSR_BUS_DEP_REG_SPACE_SIZE 180,6941 -#define CSR1212_CSR_BUS_DEP_REG_SPACE_END 181,6991 -#define CSR1212_CSR_BUS_DEP_REG_SPACE_OFFSET 182,7108 -#define CSR1212_CONFIG_ROM_SPACE_BASE 184,7222 -#define CSR1212_CONFIG_ROM_SPACE_SIZE 185,7282 -#define CSR1212_CONFIG_ROM_SPACE_END 186,7329 -#define CSR1212_CONFIG_ROM_SPACE_OFFSET 187,7432 -#define CSR1212_UNITS_SPACE_BASE 189,7536 -#define CSR1212_UNITS_SPACE_SIZE 190,7591 -#define CSR1212_UNITS_SPACE_END 191,7659 -#define CSR1212_UNITS_SPACE_OFFSET 192,7747 -#define CSR1212_EXTENDED_ROM_SIZE 194,7842 -struct csr1212_bus_info_block_img csr1212_bus_info_block_img198,7944 -#define CSR1212_KV_KEY(CSR1212_KV_KEY207,8131 -#define CSR1212_KV_KEY_TYPE(CSR1212_KV_KEY_TYPE208,8213 -#define CSR1212_KV_KEY_ID(CSR1212_KV_KEY_ID209,8299 -#define CSR1212_KV_VAL(CSR1212_KV_VAL210,8380 -#define CSR1212_SET_KV_KEY(CSR1212_SET_KV_KEY212,8461 -#define CSR1212_SET_KV_VAL(CSR1212_SET_KV_VAL214,8589 -#define CSR1212_SET_KV_TYPEID(CSR1212_SET_KV_TYPEID216,8717 -typedef u_int32_t csr1212_quad_t;csr1212_quad_t221,8959 -struct csr1212_keyval_img csr1212_keyval_img224,8995 -struct csr1212_leaf csr1212_leaf232,9158 -struct csr1212_dentry csr1212_dentry237,9212 -struct csr1212_directory csr1212_directory242,9305 -struct csr1212_keyval csr1212_keyval247,9401 -struct csr1212_cache_region csr1212_cache_region268,9905 -struct csr1212_csr_rom_cache csr1212_csr_rom_cache274,10064 -struct csr1212_csr csr1212_csr287,10421 -struct csr1212_bus_ops csr1212_bus_ops303,10909 -#define CSR1212_DESCRIPTOR_LEAF_TYPE_SHIFT 333,12078 -#define CSR1212_DESCRIPTOR_LEAF_SPECIFIER_ID_MASK 334,12124 -#define CSR1212_DESCRIPTOR_LEAF_OVERHEAD 335,12183 -#define CSR1212_DESCRIPTOR_LEAF_TYPE(CSR1212_DESCRIPTOR_LEAF_TYPE337,12249 -#define CSR1212_DESCRIPTOR_LEAF_SPECIFIER_ID(CSR1212_DESCRIPTOR_LEAF_SPECIFIER_ID339,12379 -#define CSR1212_DESCRIPTOR_LEAF_DATA(CSR1212_DESCRIPTOR_LEAF_DATA342,12527 -#define CSR1212_DESCRIPTOR_LEAF_SET_TYPE(CSR1212_DESCRIPTOR_LEAF_SET_TYPE345,12602 -#define CSR1212_DESCRIPTOR_LEAF_SET_SPECIFIER_ID(CSR1212_DESCRIPTOR_LEAF_SET_SPECIFIER_ID349,12810 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_WIDTH_SHIFT 356,13129 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_WIDTH_MASK 357,13184 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_CHAR_SET_SHIFT 358,13257 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_CHAR_SET_MASK 359,13315 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_LANGUAGE_MASK 360,13394 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_OVERHEAD 361,13455 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_WIDTH(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_WIDTH363,13529 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_CHAR_SET(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_CHAR_SET366,13681 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_LANGUAGE(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_LANGUAGE370,13904 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_DATA373,14060 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_SET_WIDTH(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_SET_WIDTH376,14143 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_SET_CHAR_SET(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_SET_CHAR_SET384,14544 -#define CSR1212_TEXTUAL_DESCRIPTOR_LEAF_SET_LANGUAGE(CSR1212_TEXTUAL_DESCRIPTOR_LEAF_SET_LANGUAGE392,14966 -#define CSR1212_ICON_DESCRIPTOR_LEAF_VERSION_MASK 401,15321 -#define CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE_DEPTH_SHIFT 402,15380 -#define CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE_DEPTH_MASK 403,15440 -#define CSR1212_ICON_DESCRIPTOR_LEAF_COLOR_SPACE_SHIFT 404,15518 -#define CSR1212_ICON_DESCRIPTOR_LEAF_COLOR_SPACE_MASK 405,15576 -#define CSR1212_ICON_DESCRIPTOR_LEAF_LANGUAGE_MASK 406,15652 -#define CSR1212_ICON_DESCRIPTOR_LEAF_HSCAN_SHIFT 407,15710 -#define CSR1212_ICON_DESCRIPTOR_LEAF_HSCAN_MASK 408,15762 -#define CSR1212_ICON_DESCRIPTOR_LEAF_VSCAN_MASK 409,15835 -#define CSR1212_ICON_DESCRIPTOR_LEAF_OVERHEAD 410,15890 -#define CSR1212_ICON_DESCRIPTOR_LEAF_VERSION(CSR1212_ICON_DESCRIPTOR_LEAF_VERSION412,15961 -#define CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE_DEPTH(CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE_DEPTH416,16110 -#define CSR1212_ICON_DESCRIPTOR_LEAF_COLOR_SPACE(CSR1212_ICON_DESCRIPTOR_LEAF_COLOR_SPACE420,16273 -#define CSR1212_ICON_DESCRIPTOR_LEAF_LANGUAGE(CSR1212_ICON_DESCRIPTOR_LEAF_LANGUAGE425,16487 -#define CSR1212_ICON_DESCRIPTOR_LEAF_HSCAN(CSR1212_ICON_DESCRIPTOR_LEAF_HSCAN429,16638 -#define CSR1212_ICON_DESCRIPTOR_LEAF_VSCAN(CSR1212_ICON_DESCRIPTOR_LEAF_VSCAN434,16846 -#define CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE(CSR1212_ICON_DESCRIPTOR_LEAF_PALETTE438,16991 -static inline u_int32_t *CSR1212_ICON_DESCRIPTOR_LEAF_PIXELS(441,17074 -#define CSR1212_ICON_DESCRIPTOR_LEAF_SET_VERSION(CSR1212_ICON_DESCRIPTOR_LEAF_SET_VERSION452,17437 -#define CSR1212_ICON_DESCRIPTOR_LEAF_SET_PALETTE_DEPTH(CSR1212_ICON_DESCRIPTOR_LEAF_SET_PALETTE_DEPTH459,17730 -#define CSR1212_ICON_DESCRIPTOR_LEAF_SET_COLOR_SPACE(CSR1212_ICON_DESCRIPTOR_LEAF_SET_COLOR_SPACE468,18173 -#define CSR1212_ICON_DESCRIPTOR_LEAF_SET_LANGUAGE(CSR1212_ICON_DESCRIPTOR_LEAF_SET_LANGUAGE477,18602 -#define CSR1212_ICON_DESCRIPTOR_LEAF_SET_HSCAN(CSR1212_ICON_DESCRIPTOR_LEAF_SET_HSCAN484,18900 -#define CSR1212_ICON_DESCRIPTOR_LEAF_SET_VSCAN(CSR1212_ICON_DESCRIPTOR_LEAF_SET_VSCAN493,19287 -#define CSR1212_MODIFIABLE_DESCRIPTOR_LEAF_MAX_SIZE_SHIFT 502,19624 -#define CSR1212_MODIFIABLE_DESCRIPTOR_LEAF_MAX_SIZE_MASK 503,19685 -#define CSR1212_MODIFIABLE_DESCRIPTOR_LEAF_ADDR_HI_SHIFT 504,19749 -#define CSR1212_MODIFIABLE_DESCRIPTOR_LEAF_ADDR_HI_MASK 505,19809 -#define CSR1212_MODIFIABLE_DESCRIPTOR_LEAF_ADDR_LO_MASK 506,19872 -#define CSR1212_MODIFIABLE_DESCRIPTOR_MAX_SIZE(CSR1212_MODIFIABLE_DESCRIPTOR_MAX_SIZE508,19943 -#define CSR1212_MODIFIABLE_DESCRIPTOR_ADDRESS(CSR1212_MODIFIABLE_DESCRIPTOR_ADDRESS511,20092 -#define CSR1212_MODIFIABLE_DESCRIPTOR_SET_MAX_SIZE(CSR1212_MODIFIABLE_DESCRIPTOR_SET_MAX_SIZE516,20318 -#define CSR1212_MODIFIABLE_DESCRIPTOR_SET_ADDRESS_HI(CSR1212_MODIFIABLE_DESCRIPTOR_SET_ADDRESS_HI525,20743 -#define CSR1212_MODIFIABLE_DESCRIPTOR_SET_ADDRESS_LO(CSR1212_MODIFIABLE_DESCRIPTOR_SET_ADDRESS_LO532,21048 -static inline struct csr1212_csr_rom_cache *csr1212_rom_cache_malloc(645,26266 -static inline struct csr1212_keyval *csr1212_get_keyval(670,26888 -static inline void csr1212_keep_keyval(684,27275 -static inline void csr1212_release_keyval(694,27625 -#define csr1212_for_each_dir_entry(csr1212_for_each_dir_entry714,28291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/config_roms.h,82 -#define _IEEE1394_CONFIG_ROMS_H2,32 -#define HPSB_CONFIG_ROM_ENTRY_IP1394 25,695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/video1394.c,1960 -#define ISO_CHANNELS 62,1941 -#define virt_to_page(virt_to_page65,1987 -#define vmalloc_32(vmalloc_3269,2048 -struct it_dma_prg it_dma_prg72,2089 -struct dma_iso_ctx dma_iso_ctx79,2241 -struct file_ctx file_ctx120,3198 -#define VIDEO1394_DEBUG127,3345 -#define DBGMSG(DBGMSG135,3436 -#define DBGMSG(DBGMSG138,3540 -#define PRINT_G(PRINT_G142,3634 -#define PRINT(PRINT146,3759 -static struct hpsb_highlevel video1394_highlevel;152,3943 -static int free_dma_iso_ctx(154,3994 -alloc_dma_iso_ctx(195,4765 -static void reset_ir_status(376,10223 -static void initialize_dma_ir_prg(386,10529 -static void initialize_dma_ir_ctx(444,12945 -find_ctx(478,13878 -void wakeup_dma_ir_ctx(490,14091 -static inline void put_timestamp(511,14542 -void wakeup_dma_it_ctx(563,15934 -static void initialize_dma_it_prg(587,16489 -static void initialize_dma_it_prg_var_packet_queue(638,18179 -static void initialize_dma_it_ctx(684,19510 -static int video1394_ioctl(702,19996 -int video1394_mmap(1164,32006 -static int video1394_open(1179,32381 -static int video1394_release(1204,32975 -static struct cdev video1394_cdev;1236,33849 -static struct file_operations video1394_fops=1237,33884 -static struct ieee1394_device_id video1394_id_table[1250,34226 -static struct hpsb_protocol_driver video1394_driver 1261,34527 -static void video1394_add_host 1271,34741 -static void video1394_remove_host 1297,35459 -static struct hpsb_highlevel video1394_highlevel 1308,35681 -#define VIDEO1394_IOC32_LISTEN_QUEUE_BUFFER 1321,36068 -#define VIDEO1394_IOC32_LISTEN_WAIT_BUFFER 1323,36161 -#define VIDEO1394_IOC32_TALK_WAIT_BUFFER 1325,36254 -#define VIDEO1394_IOC32_LISTEN_POLL_BUFFER 1327,36347 -struct video1394_wait32 video1394_wait321330,36441 -static int video1394_wr_wait32(1336,36531 -static int video1394_w_wait32(1381,38003 -static int video1394_queue_buf32(1415,39054 -static void __exit video1394_exit_module 1429,39383 -static int __init video1394_init_module 1457,40428 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/dv1394.c,2077 -#define virt_to_page(virt_to_page127,4833 -#define vmalloc_32(vmalloc_32131,4894 -#define DV1394_DEBUG_LEVEL 142,5181 -#define irq_printk(irq_printk148,5359 -#define irq_printk(irq_printk150,5410 -#define debug_printk(debug_printk154,5476 -#define debug_printk(debug_printk156,5528 -static inline void flush_pci_write(162,5670 -static spinlock_t dv1394_cards_lock 175,5968 -static inline struct video_card* file_to_video_card(179,6104 -static void frame_reset(186,6308 -static struct frame* frame_new(200,6609 -static void frame_delete(241,7969 -static void frame_prepare(259,8471 -frame_put_packet 749,24419 -static void start_dma_receive(785,25686 -static void receive_packets(851,27567 -static int do_dv1394_init(905,29207 -static int do_dv1394_init_default(1098,35789 -static void stop_dma(1115,36245 -static void do_dv1394_shutdown(1174,37731 -int dv1394_mmap(1275,40759 -static unsigned int dv1394_poll(1298,41283 -static int dv1394_fasync(1322,41848 -static ssize_t dv1394_write(1336,42187 -static ssize_t dv1394_read(1433,44344 -static int dv1394_ioctl(1546,47035 -static int dv1394_open(1793,52105 -static int dv1394_release(1839,53114 -static void it_tasklet_func(1858,53548 -static void ir_tasklet_func(2003,57420 -static struct cdev dv1394_cdev;2163,62653 -static struct file_operations dv1394_fops=2164,62685 -static struct ieee1394_device_id dv1394_id_table[2182,63137 -static struct hpsb_protocol_driver dv1394_driver 2193,63426 -static int dv1394_init(2205,63695 -static void dv1394_un_init(2290,65878 -static void dv1394_remove_host 2306,66266 -static void dv1394_add_host 2341,67065 -static void dv1394_host_reset(2368,67805 -static struct hpsb_highlevel dv1394_highlevel 2480,71066 -#define DV1394_IOC32_INIT 2489,71264 -#define DV1394_IOC32_GET_STATUS 2490,71334 -struct dv1394_init32 dv1394_init322492,71407 -struct dv1394_status32 dv1394_status322502,71535 -static int handle_dv1394_init(2510,71677 -static int handle_dv1394_get_status(2541,72418 -static void __exit dv1394_exit_module(2587,73744 -static int __init dv1394_init_module(2610,74502 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/amdtp.c,2941 -#define FMT_AMDTP 98,3142 -#define FDF_AM824 99,3165 -#define FDF_SFC_32KHZ 100,3188 -#define FDF_SFC_44K1HZ 101,3217 -#define FDF_SFC_48KHZ 102,3246 -#define FDF_SFC_88K2HZ 103,3275 -#define FDF_SFC_96KHZ 104,3304 -#define FDF_SFC_176K4HZ 105,3333 -#define FDF_SFC_192KHZ 106,3362 -struct descriptor_block descriptor_block108,3392 - struct output_more_immediate output_more_immediate109,3418 - struct output_last output_last117,3535 -struct packet packet125,3641 -struct iso_packet iso_packet136,3828 -struct iso_packet iso_packet160,4303 -struct fraction fraction188,4776 -#define PACKET_LIST_SIZE 194,4846 -#define MAX_PACKET_LISTS 195,4875 -struct packet_list packet_list197,4903 -#define BUFFER_SIZE 203,5017 -struct buffer buffer207,5105 -struct stream stream212,5183 -struct amdtp_host amdtp_host271,7029 -static struct hpsb_highlevel amdtp_highlevel;278,7162 -#define OHCI1394_CONTEXT_CYCLE_MATCH 283,7252 -#define OHCI1394_CONTEXT_RUN 284,7300 -#define OHCI1394_CONTEXT_WAKE 285,7348 -#define OHCI1394_CONTEXT_DEAD 286,7396 -#define OHCI1394_CONTEXT_ACTIVE 287,7444 -void ohci1394_start_it_ctx(289,7493 -void ohci1394_wake_it_ctx(301,7961 -void ohci1394_stop_it_ctx(307,8114 -static struct packet_list *stream_get_free_packet_list(335,8885 -static void stream_start_dma(351,9276 -static void stream_put_dma_packet_list(372,10055 -static void stream_shift_packet_lists(397,10937 -static struct packet *stream_current_packet(464,13138 -static void stream_queue_packet(473,13393 -static void fraction_init(490,13953 -static __inline__ void fraction_add(497,14147 -static __inline__ void fraction_sub_int(515,14656 -static __inline__ int fraction_floor(523,14875 -static __inline__ int fraction_ceil(528,14963 -void packet_initialize(533,15082 -struct packet_list *packet_list_alloc(562,15937 -void packet_list_free(591,16567 -static struct buffer *buffer_alloc(603,16856 -static unsigned char *buffer_get_bytes(618,17075 -static unsigned char *buffer_put_bytes(634,17372 -static u32 get_iec958_header_bits(655,17806 -static u32 get_header_bits(692,18664 -static void fill_payload_le16(707,18946 -static void fill_packet(728,19450 -static void stream_flush(790,21336 -static int stream_alloc_packet_lists(835,22733 -static void stream_free_packet_lists(863,23453 -static void plug_update(882,24071 -static int stream_configure(900,24516 -struct stream *stream_alloc(1013,27209 -void stream_free(1065,28427 -static ssize_t amdtp_write(1098,29326 -static int amdtp_ioctl(1143,30613 -static unsigned int amdtp_poll(1163,31028 -static int amdtp_open(1175,31275 -static int amdtp_release(1191,31608 -static struct cdev amdtp_cdev;1200,31748 -static struct file_operations amdtp_fops 1201,31779 -static void amdtp_add_host(1213,32003 -static void amdtp_remove_host(1241,32654 -static struct hpsb_highlevel amdtp_highlevel 1251,32843 -static int __init amdtp_init_module 1265,33220 -static void __exit amdtp_exit_module 1296,33985 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ieee1394_core.c,1512 -static int disable_nodemgr 55,1384 -const char *hpsb_speedto_str[63,1614 -static void dump_packet(66,1738 -#define dump_packet(dump_packet79,1983 -void hpsb_set_packet_complete_task(94,2407 -struct hpsb_packet *hpsb_alloc_packet(123,3569 -void hpsb_free_packet(160,4428 -int hpsb_reset_bus(169,4613 -int hpsb_bus_reset(180,4847 -static int check_selfids(206,5442 -static void build_speed_map(269,7497 -void hpsb_selfid_received(343,10276 -void hpsb_selfid_complete(354,10658 -void hpsb_packet_sent(401,12223 -int hpsb_send_phy_config(446,13686 -int hpsb_send_packet(498,15164 -static void complete_packet(575,17732 -int hpsb_send_packet_and_wait(580,17816 -static void send_packet_nocare(594,18108 -static void handle_packet_response(602,18269 -static struct hpsb_packet *create_reply_packet(686,20682 -#define PREP_ASYNC_HEAD_RCODE(PREP_ASYNC_HEAD_RCODE712,21300 -static void fill_async_readquad_resp(719,21553 -static void fill_async_readblock_resp(728,21804 -static void fill_async_write_resp(740,22149 -static void fill_async_lock_resp(748,22348 -#define PREP_REPLY_PACKET(PREP_REPLY_PACKET760,22669 -static void handle_incoming_packet(764,22816 -void hpsb_packet_received(895,28102 -void abort_requests(942,29374 -void abort_timedouts(958,29742 -static int khpsbpkt_pid 1003,31176 -struct sk_buff_head hpsbpkt_queue;1005,31267 -static void queue_packet_complete(1009,31347 -static int hpsbpkt_thread(1024,31651 -static int __init ieee1394_init(1058,32321 -static void __exit ieee1394_cleanup(1154,34516 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/pcilynx.h,9460 -#define __PCILYNX_H__2,22 -#define PCILYNX_DRIVER_NAME 6,72 -#define PCILYNX_MAJOR 7,115 -#define PCILYNX_MINOR_AUX_START 9,153 -#define PCILYNX_MINOR_ROM_START 10,188 -#define PCILYNX_MINOR_RAM_START 11,224 -#define PCILYNX_MAX_REGISTER 13,261 -#define PCILYNX_MAX_MEMORY 14,300 -#define PCI_DEVICE_ID_TI_PCILYNX 16,341 -#define MAX_PCILYNX_CARDS 17,381 -#define LOCALRAM_SIZE 18,416 -#define NUM_ISORCV_PCL 20,455 -#define MAX_ISORCV_SIZE 21,490 -#define ISORCV_PER_PAGE 22,528 -#define ISORCV_PAGES 23,591 -#define CHANNEL_LOCALBUS 25,660 -#define CHANNEL_ASYNC_RCV 26,695 -#define CHANNEL_ISO_RCV 27,730 -#define CHANNEL_ASYNC_SEND 28,765 -#define CHANNEL_ISO_SEND 29,800 -#define PCILYNX_CONFIG_ROM_LENGTH 31,836 -typedef int pcl_t;pcl_t33,878 -struct ti_lynx ti_lynx35,898 - enum { clear,48,1147 - enum { clear, have_intr,48,1147 - enum { clear, have_intr, have_aux_buf,48,1147 - enum { clear, have_intr, have_aux_buf, have_pcl_mem,48,1147 - have_1394_buffers,49,1208 - have_1394_buffers, have_iomappings,49,1208 - have_1394_buffers, have_iomappings, is_host 49,1208 - struct lynx_send_data lynx_send_data98,2479 -struct memdata memdata123,3377 - enum { rom 128,3542 - enum { rom = 0x10000,128,3542 - enum { rom = 0x10000, aux 128,3542 - enum { rom = 0x10000, aux = 0x20000,128,3542 - enum { rom = 0x10000, aux = 0x20000, ram 128,3542 -static inline void reg_write(136,3661 -static inline u32 reg_read(141,3793 -static inline void reg_set_bits(146,3913 -static inline void reg_clear_bits(152,4098 -#define PCI_LATENCY_CACHELINE 162,4330 -#define MISC_CONTROL 164,4378 -#define MISC_CONTROL_SWRESET 165,4425 -#define SERIAL_EEPROM_CONTROL 167,4475 -#define PCI_INT_STATUS 169,4523 -#define PCI_INT_ENABLE 170,4570 -#define PCI_INT_INT_PEND 172,4668 -#define PCI_INT_FORCED_INT 173,4718 -#define PCI_INT_SLV_ADR_PERR 174,4768 -#define PCI_INT_SLV_DAT_PERR 175,4818 -#define PCI_INT_MST_DAT_PERR 176,4868 -#define PCI_INT_MST_DEV_TIMEOUT 177,4918 -#define PCI_INT_INTERNAL_SLV_TIMEOUT 178,4968 -#define PCI_INT_AUX_TIMEOUT 179,5018 -#define PCI_INT_AUX_INT 180,5068 -#define PCI_INT_1394 181,5118 -#define PCI_INT_DMA4_PCL 182,5168 -#define PCI_INT_DMA4_HLT 183,5217 -#define PCI_INT_DMA3_PCL 184,5266 -#define PCI_INT_DMA3_HLT 185,5315 -#define PCI_INT_DMA2_PCL 186,5364 -#define PCI_INT_DMA2_HLT 187,5413 -#define PCI_INT_DMA1_PCL 188,5462 -#define PCI_INT_DMA1_HLT 189,5511 -#define PCI_INT_DMA0_PCL 190,5560 -#define PCI_INT_DMA0_HLT 191,5609 -#define PCI_INT_DMA_ALL 193,5693 -#define PCI_INT_DMA_HLT(PCI_INT_DMA_HLT195,5742 -#define PCI_INT_DMA_PCL(PCI_INT_DMA_PCL196,5802 -#define LBUS_ADDR 198,5867 -#define LBUS_ADDR_SEL_RAM 199,5914 -#define LBUS_ADDR_SEL_ROM 200,5966 -#define LBUS_ADDR_SEL_AUX 201,6018 -#define LBUS_ADDR_SEL_ZV 202,6070 -#define GPIO_CTRL_A 204,6123 -#define GPIO_CTRL_B 205,6170 -#define GPIO_DATA_BASE 206,6217 -#define DMA_BREG(DMA_BREG208,6265 -#define DMA_SREG(DMA_SREG209,6328 -#define DMA0_PREV_PCL 211,6392 -#define DMA1_PREV_PCL 212,6440 -#define DMA2_PREV_PCL 213,6488 -#define DMA3_PREV_PCL 214,6536 -#define DMA4_PREV_PCL 215,6584 -#define DMA_PREV_PCL(DMA_PREV_PCL216,6632 -#define DMA0_CURRENT_PCL 218,6707 -#define DMA1_CURRENT_PCL 219,6755 -#define DMA2_CURRENT_PCL 220,6803 -#define DMA3_CURRENT_PCL 221,6851 -#define DMA4_CURRENT_PCL 222,6899 -#define DMA_CURRENT_PCL(DMA_CURRENT_PCL223,6947 -#define DMA0_CHAN_STAT 225,7025 -#define DMA1_CHAN_STAT 226,7073 -#define DMA2_CHAN_STAT 227,7121 -#define DMA3_CHAN_STAT 228,7169 -#define DMA4_CHAN_STAT 229,7217 -#define DMA_CHAN_STAT(DMA_CHAN_STAT230,7265 -#define DMA_CHAN_STAT_SELFID 232,7379 -#define DMA_CHAN_STAT_ISOPKT 233,7429 -#define DMA_CHAN_STAT_PCIERR 234,7479 -#define DMA_CHAN_STAT_PKTERR 235,7529 -#define DMA_CHAN_STAT_PKTCMPL 236,7579 -#define DMA_CHAN_STAT_SPECIALACK 237,7629 -#define DMA0_CHAN_CTRL 240,7681 -#define DMA1_CHAN_CTRL 241,7729 -#define DMA2_CHAN_CTRL 242,7777 -#define DMA3_CHAN_CTRL 243,7825 -#define DMA4_CHAN_CTRL 244,7873 -#define DMA_CHAN_CTRL(DMA_CHAN_CTRL245,7921 -#define DMA_CHAN_CTRL_ENABLE 247,8033 -#define DMA_CHAN_CTRL_BUSY 248,8083 -#define DMA_CHAN_CTRL_LINK 249,8133 -#define DMA0_READY 251,8184 -#define DMA1_READY 252,8232 -#define DMA2_READY 253,8280 -#define DMA3_READY 254,8328 -#define DMA4_READY 255,8376 -#define DMA_READY(DMA_READY256,8424 -#define DMA_GLOBAL_REGISTER 258,8496 -#define FIFO_SIZES 260,8545 -#define FIFO_CONTROL 262,8594 -#define FIFO_CONTROL_GRF_FLUSH 263,8642 -#define FIFO_CONTROL_ITF_FLUSH 264,8691 -#define FIFO_CONTROL_ATF_FLUSH 265,8740 -#define FIFO_XMIT_THRESHOLD 267,8790 -#define DMA0_WORD0_CMP_VALUE 269,8839 -#define DMA1_WORD0_CMP_VALUE 270,8887 -#define DMA2_WORD0_CMP_VALUE 271,8935 -#define DMA3_WORD0_CMP_VALUE 272,8983 -#define DMA4_WORD0_CMP_VALUE 273,9031 -#define DMA_WORD0_CMP_VALUE(DMA_WORD0_CMP_VALUE274,9079 -#define DMA0_WORD0_CMP_ENABLE 276,9161 -#define DMA1_WORD0_CMP_ENABLE 277,9209 -#define DMA2_WORD0_CMP_ENABLE 278,9257 -#define DMA3_WORD0_CMP_ENABLE 279,9305 -#define DMA4_WORD0_CMP_ENABLE 280,9353 -#define DMA_WORD0_CMP_ENABLE(DMA_WORD0_CMP_ENABLE281,9401 -#define DMA0_WORD1_CMP_VALUE 283,9483 -#define DMA1_WORD1_CMP_VALUE 284,9531 -#define DMA2_WORD1_CMP_VALUE 285,9579 -#define DMA3_WORD1_CMP_VALUE 286,9627 -#define DMA4_WORD1_CMP_VALUE 287,9675 -#define DMA_WORD1_CMP_VALUE(DMA_WORD1_CMP_VALUE288,9723 -#define DMA0_WORD1_CMP_ENABLE 290,9805 -#define DMA1_WORD1_CMP_ENABLE 291,9853 -#define DMA2_WORD1_CMP_ENABLE 292,9901 -#define DMA3_WORD1_CMP_ENABLE 293,9949 -#define DMA4_WORD1_CMP_ENABLE 294,9997 -#define DMA_WORD1_CMP_ENABLE(DMA_WORD1_CMP_ENABLE295,10045 -#define DMA_WORD1_CMP_MATCH_OTHERBUS 297,10160 -#define DMA_WORD1_CMP_MATCH_BROADCAST 298,10210 -#define DMA_WORD1_CMP_MATCH_BUS_BCAST 299,10260 -#define DMA_WORD1_CMP_MATCH_LOCAL_NODE 300,10310 -#define DMA_WORD1_CMP_MATCH_EXACT 301,10360 -#define DMA_WORD1_CMP_ENABLE_SELF_ID 302,10410 -#define DMA_WORD1_CMP_ENABLE_MASTER 303,10460 -#define LINK_ID 305,10510 -#define LINK_ID_BUS(LINK_ID_BUS306,10558 -#define LINK_ID_NODE(LINK_ID_NODE307,10609 -#define LINK_CONTROL 309,10661 -#define LINK_CONTROL_BUSY 310,10709 -#define LINK_CONTROL_TX_ISO_EN 311,10759 -#define LINK_CONTROL_RX_ISO_EN 312,10809 -#define LINK_CONTROL_TX_ASYNC_EN 313,10859 -#define LINK_CONTROL_RX_ASYNC_EN 314,10909 -#define LINK_CONTROL_RESET_TX 315,10959 -#define LINK_CONTROL_RESET_RX 316,11009 -#define LINK_CONTROL_CYCMASTER 317,11059 -#define LINK_CONTROL_CYCSOURCE 318,11109 -#define LINK_CONTROL_CYCTIMEREN 319,11159 -#define LINK_CONTROL_RCV_CMP_VALID 320,11208 -#define LINK_CONTROL_SNOOP_ENABLE 321,11257 -#define CYCLE_TIMER 323,11307 -#define LINK_PHY 325,11356 -#define LINK_PHY_READ 326,11404 -#define LINK_PHY_WRITE 327,11454 -#define LINK_PHY_ADDR(LINK_PHY_ADDR328,11504 -#define LINK_PHY_WDATA(LINK_PHY_WDATA329,11557 -#define LINK_PHY_RADDR(LINK_PHY_RADDR330,11610 -#define LINK_INT_STATUS 333,11664 -#define LINK_INT_ENABLE 334,11712 -#define LINK_INT_LINK_INT 336,11811 -#define LINK_INT_PHY_TIMEOUT 337,11861 -#define LINK_INT_PHY_REG_RCVD 338,11911 -#define LINK_INT_PHY_BUSRESET 339,11961 -#define LINK_INT_TX_RDY 340,12011 -#define LINK_INT_RX_DATA_RDY 341,12061 -#define LINK_INT_ISO_STUCK 342,12111 -#define LINK_INT_ASYNC_STUCK 343,12161 -#define LINK_INT_SENT_REJECT 344,12211 -#define LINK_INT_HDR_ERR 345,12261 -#define LINK_INT_TX_INVALID_TC 346,12311 -#define LINK_INT_CYC_SECOND 347,12361 -#define LINK_INT_CYC_START 348,12411 -#define LINK_INT_CYC_DONE 349,12461 -#define LINK_INT_CYC_PENDING 350,12510 -#define LINK_INT_CYC_LOST 351,12559 -#define LINK_INT_CYC_ARB_FAILED 352,12608 -#define LINK_INT_GRF_OVERFLOW 353,12657 -#define LINK_INT_ITF_UNDERFLOW 354,12706 -#define LINK_INT_ATF_UNDERFLOW 355,12755 -#define LINK_INT_ISOARB_FAILED 356,12804 -#define PHY_VENDORID_TI 359,12874 -#define PHY_PRODUCTID_TSB41LV03 360,12923 -struct ti_pcl ti_pcl364,13040 -#define pcloffs(pcloffs378,13396 -static inline void put_pcl(383,13497 -static inline void get_pcl(395,13838 -static inline u32 pcl_bus(407,14173 -static inline void put_pcl(414,14372 -static inline void get_pcl(421,14630 -static inline u32 pcl_bus(429,14902 -typedef struct ti_pcl pcltmp_t;pcltmp_t438,15161 -static inline struct ti_pcl *edit_pcl(440,15194 -static inline void commit_pcl(447,15386 -typedef int pcltmp_t;pcltmp_t454,15548 -static inline struct ti_pcl *edit_pcl(456,15590 -static inline void commit_pcl(462,15789 -static inline void run_sub_pcl(469,15918 -static inline void run_pcl(478,16277 -#define PCL_NEXT_INVALID 483,16409 -#define PCL_CMD_RCV 486,16466 -#define PCL_CMD_RCV_AND_UPDATE 487,16507 -#define PCL_CMD_XMT 488,16548 -#define PCL_CMD_UNFXMT 489,16589 -#define PCL_CMD_PCI_TO_LBUS 490,16630 -#define PCL_CMD_LBUS_TO_PCI 491,16671 -#define PCL_CMD_NOP 494,16732 -#define PCL_CMD_LOAD 495,16773 -#define PCL_CMD_STOREQ 496,16814 -#define PCL_CMD_STORED 497,16855 -#define PCL_CMD_STORE0 498,16896 -#define PCL_CMD_STORE1 499,16937 -#define PCL_CMD_COMPARE 500,16978 -#define PCL_CMD_SWAP_COMPARE 501,17019 -#define PCL_CMD_ADD 502,17060 -#define PCL_CMD_BRANCH 503,17101 -#define PCL_COND_DMARDY_SET 506,17172 -#define PCL_COND_DMARDY_CLEAR 507,17213 -#define PCL_GEN_INTR 509,17255 -#define PCL_LAST_BUFF 510,17294 -#define PCL_LAST_CMD 511,17333 -#define PCL_WAITSTAT 512,17380 -#define PCL_BIGENDIAN 513,17419 -#define PCL_ISOMODE 514,17458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/ohci1394.c,3759 -#define OHCI1394_DEBUG129,3660 -#define DBGMSG(DBGMSG137,3749 -#define DBGMSG(DBGMSG140,3880 -#define OHCI_DMA_ALLOC(OHCI_DMA_ALLOC144,3955 -#define OHCI_DMA_FREE(OHCI_DMA_FREE147,4104 -static int global_outstanding_dmas 150,4251 -#define OHCI_DMA_ALLOC(OHCI_DMA_ALLOC152,4297 -#define OHCI_DMA_FREE(OHCI_DMA_FREE153,4334 -#define PRINT_G(PRINT_G157,4429 -#define PRINT(PRINT161,4570 -static char version[164,4698 -static char version[] __devinitdata 164,4698 -static int phys_dma 168,4812 -static unsigned hdr_sizes[188,5573 -static inline void packet_swab(205,5943 -#define packet_swab(packet_swab217,6215 -static u8 get_phy_reg(224,6382 -static void set_phy_reg(252,6977 -static void set_phy_reg_mask(280,7578 -static void handle_selfid(291,7751 -static void ohci_soft_reset(357,9330 -static void initialize_dma_rcv_ctx(372,9704 -static void initialize_dma_trm_ctx(432,11400 -static int get_nb_iso_ctx(455,11985 -static void ohci_initialize(474,12343 -static void insert_packet(645,17846 -static void dma_trm_flush(823,25170 -static int ohci_transmit(873,26566 -static int ohci_devctl(931,28191 -struct ohci_iso_recv ohci_iso_recv1150,34054 - enum { BUFFER_FILL_MODE 1156,34155 - PACKET_PER_BUFFER_MODE 1157,34185 -static int ohci_iso_recv_init(1198,35374 -static void ohci_iso_recv_stop(1327,39250 -static void ohci_iso_recv_shutdown(1338,39545 -static void ohci_iso_recv_program(1354,39916 -static void ohci_iso_recv_change_channel(1407,41535 -static void ohci_iso_recv_set_channel_mask(1427,42108 -static int ohci_iso_recv_start(1451,42786 -static void ohci_iso_recv_release_block(1542,45118 -static void ohci_iso_recv_bufferfill_release(1576,46233 -static inline void ohci_iso_recv_release(1601,46896 -static void ohci_iso_recv_bufferfill_parse(1612,47270 -static void ohci_iso_recv_bufferfill_task(1717,50105 -static void ohci_iso_recv_packetperbuf_task(1775,51650 -static void ohci_iso_recv_task(1851,53594 -struct ohci_iso_xmit ohci_iso_xmit1866,53995 -struct iso_xmit_cmd iso_xmit_cmd1881,54315 -static int ohci_iso_xmit_init(1893,54670 -static void ohci_iso_xmit_stop(1936,55716 -static void ohci_iso_xmit_shutdown(1953,56272 -static void ohci_iso_xmit_task(1968,56595 -static int ohci_iso_xmit_queue(2013,57755 -static int ohci_iso_xmit_start(2109,60752 -static int ohci_isoctl(2158,62166 -static void dma_trm_reset(2220,63722 -static void ohci_schedule_iso_tasklets(2259,64788 -static irqreturn_t ohci_irq_handler(2281,65298 -static void insert_dma_buffer(2538,73916 -#define cond_le32_to_cpu(cond_le32_to_cpu2559,74594 -static const int TCODE_SIZE[2562,74673 -static __inline__ int packet_length(2569,74909 -static void dma_rcv_tasklet 2597,75738 -static void dma_trm_tasklet 2736,79798 -static void stop_dma_rcv_ctx(2863,83993 -static void free_dma_rcv_ctx(2879,84372 -alloc_dma_rcv_ctx(2918,85247 -static void free_dma_trm_ctx(3030,88509 -alloc_dma_trm_ctx(3057,89066 -static void ohci_set_hw_config_rom(3129,91258 -static quadlet_t ohci_hw_csr_reg(3140,91592 -static struct hpsb_host_driver ohci1394_driver 3160,92092 -#define FAIL(FAIL3176,92497 -static int __devinit ohci1394_pci_probe(3183,92663 -#define PCI_DEVICE_ID_NVIDIA_NFORCE2_FW 3230,94171 -static void ohci1394_pci_remove(3386,99944 -static int ohci1394_pci_resume 3494,103028 -static int ohci1394_pci_suspend 3513,103337 -#define PCI_CLASS_FIREWIRE_OHCI 3530,103628 -static struct pci_device_id ohci1394_pci_tbl[3532,103707 -static struct pci_driver ohci1394_pci_driver 3546,103991 -int ohci1394_stop_context(3564,104468 -void ohci1394_init_iso_tasklet(3587,104939 -int ohci1394_register_iso_tasklet(3597,105310 -void ohci1394_unregister_iso_tasklet(3634,106159 -static void __exit ohci1394_cleanup 3672,107187 -static int __init ohci1394_init(3677,107281 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/csr.c,968 -static int fcp 35,786 -static struct csr1212_keyval *node_cap 39,909 -static struct hpsb_highlevel csr_highlevel 61,2136 -static struct hpsb_address_ops map_ops 68,2298 -static struct hpsb_address_ops fcp_ops 72,2365 -static struct hpsb_address_ops reg_ops 76,2433 -static struct hpsb_address_ops config_rom_ops 83,2566 -struct csr1212_bus_ops csr_bus_ops 87,2646 -static u16 csr_crc16(93,2773 -static void host_reset(110,3270 -static inline void calculate_expire(161,5093 -static void add_host(181,5587 -static void remove_host(263,8269 -int hpsb_update_config_rom(289,9036 -static int read_maps(323,10167 -#define out 345,10823 -static int read_regs(347,10861 -static int write_regs(461,14663 -static int lock_regs(549,17506 -static int lock64_regs(696,22340 -static int write_fcp(787,24966 -static int read_config_rom(809,25601 -static u64 allocate_addr_range(820,25916 -static void release_addr_range(832,26249 -int init_csr(839,26420 -void cleanup_csr(852,26695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/eth1394.h,1718 -#define __ETH1394_H25,984 -#define ETHER1394_REGION_ADDR_LEN 33,1182 -#define ETHER1394_INVALID_ADDR 35,1222 -#define ETHER1394_GASP_SPECIFIER_ID 38,1315 -#define ETHER1394_GASP_SPECIFIER_ID_HI 39,1360 -#define ETHER1394_GASP_SPECIFIER_ID_LO 40,1445 -#define ETHER1394_GASP_VERSION 41,1521 -#define ETHER1394_GASP_OVERHEAD 43,1556 -#define ETHER1394_GASP_BUFFERS 45,1641 -#define NODE_SET 48,1697 -enum eth1394_bc_states eth1394_bc_states50,1733 -enum eth1394_bc_states { ETHER1394_BC_ERROR,50,1733 - ETHER1394_BC_RUNNING,51,1778 - ETHER1394_BC_STOPPED 52,1804 -struct eth1394_priv eth1394_priv56,1882 -#define ETH1394_ALEN 76,2841 -#define ETH1394_HLEN 77,2866 -struct eth1394hdr eth1394hdr79,2893 -static inline struct eth1394hdr *eth1394_hdr(87,3108 -typedef enum {ETH1394_GASP,93,3235 -typedef enum {ETH1394_GASP, ETH1394_WRREQ}93,3235 -typedef enum {ETH1394_GASP, ETH1394_WRREQ} eth1394_tx_type;eth1394_tx_type93,3235 -struct eth1394_uf_hdr eth1394_uf_hdr100,3398 -struct eth1394_uf_hdr eth1394_uf_hdr106,3557 -struct eth1394_ff_hdr eth1394_ff_hdr117,3748 -struct eth1394_ff_hdr eth1394_ff_hdr126,3988 -struct eth1394_sf_hdr eth1394_sf_hdr140,4244 -struct eth1394_sf_hdr eth1394_sf_hdr150,4491 -struct eth1394_common_hdr eth1394_common_hdr164,4711 -struct eth1394_common_hdr eth1394_common_hdr169,4830 -struct eth1394_hdr_words eth1394_hdr_words177,4954 -union eth1394_hdr eth1394_hdr184,5033 -#define ETH1394_HDR_LF_UF 195,5256 -#define ETH1394_HDR_LF_FF 196,5304 -#define ETH1394_HDR_LF_LF 197,5353 -#define ETH1394_HDR_LF_IF 198,5401 -#define IP1394_HW_ADDR_LEN 200,5454 -struct eth1394_arp eth1394_arp203,5542 -#define ETHER1394_TIMEOUT 221,6115 -struct packet_task packet_task224,6225 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/dma.h,221 -#define IEEE1394_DMA_H11,233 -struct dma_prog_region dma_prog_region22,443 -static inline dma_addr_t dma_prog_region_offset_to_bus(34,960 -struct dma_region dma_region45,1234 -#define dma_region_i(dma_region_i72,2419 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/cmp.c,648 -struct plug plug45,1407 -struct cmp_host cmp_host54,1547 - CMP_P2P_CONNECTION,71,1775 - CMP_BC_CONNECTION72,1796 -#define CSR_PCR_MAP 75,1819 -#define CSR_PCR_MAP_END 76,1850 -static struct hpsb_highlevel cmp_highlevel;78,1882 -static struct hpsb_highlevel cmp_highlevel 87,2291 -static struct hpsb_address_ops pcr_ops 93,2417 -cmp_register_opcr(100,2520 -void cmp_unregister_opcr(125,3098 -static void reset_plugs(138,3391 -static void cmp_add_host(150,3641 -static void cmp_host_reset(171,4127 -static int pcr_read(184,4352 -static int pcr_lock(220,5254 -static int __init cmp_init_module 294,7263 -static void __exit cmp_exit_module 303,7398 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/sbp2.c,4431 -static char version[80,2402 -static char version[] __devinitdata 80,2402 -static int max_speed 95,2877 -static int serialize_io 104,3232 -static int max_sectors 116,3777 -static int exclusive_login 131,4556 -static int force_inquiry_hack 145,5126 -static struct ieee1394_device_id sbp2_id_table[153,5366 -#define SBP2_ORB_DEBUG(SBP2_ORB_DEBUG176,6006 -static u32 global_outstanding_command_orbs 177,6092 -#define outstanding_orb_incr 178,6140 -#define outstanding_orb_decr 179,6203 -#define SBP2_ORB_DEBUG(SBP2_ORB_DEBUG181,6272 -#define outstanding_orb_incr182,6309 -#define outstanding_orb_decr183,6338 -#define SBP2_DMA_ALLOC(SBP2_DMA_ALLOC187,6413 -#define SBP2_DMA_FREE(SBP2_DMA_FREE190,6543 -static u32 global_outstanding_dmas 193,6671 -#define SBP2_DMA_ALLOC(SBP2_DMA_ALLOC195,6717 -#define SBP2_DMA_FREE(SBP2_DMA_FREE196,6754 -#define SBP2_DEBUG(SBP2_DEBUG200,6834 -#define SBP2_INFO(SBP2_INFO201,6898 -#define SBP2_NOTICE(SBP2_NOTICE202,6962 -#define SBP2_WARN(SBP2_WARN203,7027 -#define SBP2_DEBUG(SBP2_DEBUG205,7129 -#define SBP2_INFO(SBP2_INFO206,7195 -#define SBP2_NOTICE(SBP2_NOTICE207,7260 -#define SBP2_WARN(SBP2_WARN208,7328 -#define SBP2_DEBUG(SBP2_DEBUG210,7399 -#define SBP2_INFO(SBP2_INFO211,7432 -#define SBP2_NOTICE(SBP2_NOTICE212,7497 -#define SBP2_WARN(SBP2_WARN213,7571 -#define SBP2_ERR(SBP2_ERR216,7651 -static Scsi_Host_Template scsi_driver_template;230,8000 -const u8 sbp2_speedto_max_payload[232,8049 -static struct hpsb_highlevel sbp2_highlevel 240,8315 -static struct hpsb_address_ops sbp2_ops 245,8427 -static struct hpsb_address_ops sbp2_physdma_ops 250,8547 -static struct hpsb_protocol_driver sbp2_driver 256,8696 -static u32 sbp2_broken_inquiry_list[270,9029 -#define NUM_BROKEN_INQUIRY_DEVS 277,9257 -static __inline__ void sbp2util_be32_to_cpu_buffer(289,9575 -static __inline__ void sbp2util_cpu_to_be32_buffer(302,9855 -#define sbp2util_be32_to_cpu_buffer(sbp2util_be32_to_cpu_buffer313,10109 -#define sbp2util_cpu_to_be32_buffer(sbp2util_cpu_to_be32_buffer314,10150 -static void sbp2util_packet_dump(321,10296 -#define sbp2util_packet_dump(sbp2util_packet_dump349,10827 -static int sbp2util_down_timeout(355,10942 -static void sbp2_free_packet(368,11244 -int sbp2util_node_write_no_wait(377,11502 -static int sbp2util_create_command_orb_pool(404,12163 -static void sbp2util_remove_command_orb_pool(442,13432 -static struct sbp2_command_info *sbp2util_find_command_for_orb(475,14500 -static struct sbp2_command_info *sbp2util_find_command_for_SCpnt(501,15279 -static struct sbp2_command_info *sbp2util_allocate_command_orb(522,15948 -static void sbp2util_free_command_dma(547,16788 -static void sbp2util_mark_command_completed(585,17877 -static int sbp2_probe(603,18511 -static int sbp2_remove(627,19055 -static int sbp2_update(643,19365 -static struct scsi_id_instance_data *sbp2_alloc_device(689,20662 -static void sbp2_host_reset(768,22961 -static int sbp2_start_device(786,23381 -static void sbp2_remove_device(946,27975 -static int sbp2_handle_physdma_write(1027,30097 -static int sbp2_handle_physdma_read(1043,30681 -static __inline__ int sbp2_command_conversion_device_type(1064,31324 -static int sbp2_query_logins(1075,31607 -static int sbp2_login_device(1174,35395 -static int sbp2_logout_device(1312,40185 -static int sbp2_reconnect_device(1377,42069 -static int sbp2_set_busy_timeout(1471,44778 -static void sbp2_parse_unit_directory(1495,45346 -static int sbp2_max_speed_and_size(1629,50067 -static int sbp2_agent_reset(1662,51161 -static int sbp2_create_command_orb(1698,51951 -static int sbp2_link_orb_command(1949,59695 -static int sbp2_send_command(2034,62314 -static void sbp2_check_sbp2_command(2102,64299 -static unsigned int sbp2_status_to_sense_data(2205,66215 -static void sbp2_check_sbp2_response(2236,67112 -static int sbp2_handle_status_write(2310,68945 -static int sbp2scsi_queuecommand 2458,73236 -static void sbp2scsi_complete_all_commands(2533,75074 -static void sbp2scsi_complete_command(2568,76209 -static int sbp2scsi_slave_configure 2680,78951 -static int sbp2scsi_abort 2692,79224 -static int sbp2scsi_reset 2740,80550 -static const char *sbp2scsi_info 2755,80860 -static ssize_t sbp2_sysfs_ieee1394_id_show(2760,80984 -static struct device_attribute *sbp2_sysfs_sdev_attrs[2782,81617 -static Scsi_Host_Template scsi_driver_template 2793,81910 -static int sbp2_module_init(2813,82545 -static void __exit sbp2_module_exit(2845,83314 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/highlevel.c,1473 -struct hl_host_info hl_host_info33,632 -static rwlock_t hl_irqs_lock 46,851 -static rwlock_t addr_space_lock 48,901 -static struct hpsb_address_ops dummy_ops 51,1026 -static struct hpsb_address_serve dummy_zero_addr,52,1097 -static struct hpsb_address_serve dummy_zero_addr, dummy_max_addr;52,1097 -static struct hl_host_info *hl_get_hostinfo(55,1165 -void *hpsb_get_hostinfo(78,1669 -void *hpsb_create_hostinfo(90,1925 -int hpsb_set_hostinfo(126,2644 -void hpsb_destroy_hostinfo(147,3085 -void hpsb_set_hostinfo_key(164,3417 -unsigned long hpsb_get_hostinfo_key(176,3616 -void *hpsb_get_hostinfo_bykey(188,3808 -struct hpsb_host *hpsb_get_host_bykey(209,4161 -static int highlevel_for_each_host_reg(229,4533 -void hpsb_register_highlevel(245,4883 -static void __delete_addr(266,5362 -static void __unregister_host(273,5488 -static int highlevel_for_each_host_unreg(308,6530 -void hpsb_unregister_highlevel(317,6697 -u64 hpsb_allocate_and_register_addrspace(330,6995 -int hpsb_register_addrspace(405,9052 -int hpsb_unregister_addrspace(457,10455 -int hpsb_listen_channel(481,11150 -void hpsb_unlisten_channel(496,11578 -static void init_hpsb_highlevel(509,11986 -void highlevel_add_host(525,12515 -void highlevel_remove_host(544,12981 -void highlevel_host_reset(554,13210 -void highlevel_iso_receive(566,13496 -void highlevel_fcp_request(579,13909 -int highlevel_read(594,14362 -int highlevel_write(636,15567 -int highlevel_lock(679,16784 -int highlevel_lock64(708,17644 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/pcilynx.c,2063 -#define PRINT_G(PRINT_G64,2039 -#define PRINT(PRINT66,2159 -#define PRINT_GD(PRINT_GD69,2291 -#define PRINTD(PRINTD70,2374 -#define PRINT_GD(PRINT_GD72,2476 -#define PRINTD(PRINTD73,2530 -static int skip_eeprom 78,2621 -static struct hpsb_host_driver lynx_driver;83,2790 -static unsigned int card_id;84,2834 -static void bit_setscl(94,2942 -static void bit_setsda(104,3252 -static int bit_getscl(114,3562 -static int bit_getsda(119,3680 -static int bit_reg(124,3798 -static int bit_unreg(129,3860 -static struct i2c_algo_bit_data bit_data 134,3924 -static struct i2c_adapter bit_ops 144,4123 -static pcl_t alloc_pcl(157,4356 -static void free_pcl(183,5032 -static void pretty_print_pcl(205,5563 -static void print_pcl(222,6131 -static int get_phy_reg(238,6418 -static int set_phy_reg(277,7492 -static int sel_phy_reg_page(303,8222 -static int sel_phy_reg_port(325,8769 -static u32 get_phy_vendorid(347,9281 -static u32 get_phy_productid(358,9612 -static quadlet_t generate_own_selfid(369,9933 -static void handle_selfid(405,11194 -static void send_next(474,13462 -static int lynx_transmit(528,15302 -static int lynx_devctl(572,16536 -static struct file_operations aux_ops 850,25791 -static void aux_setup_pcls(861,26071 -static int mem_open(870,26290 - enum { t_rom,873,26385 - enum { t_rom, t_aux,873,26385 - enum { t_rom, t_aux, t_ram 873,26385 -static int mem_release(924,28014 -static unsigned int aux_poll(930,28135 -loff_t mem_llseek(952,28808 -static short mem_mindma 981,29602 -static ssize_t mem_dmaread(985,29750 -static ssize_t mem_read(1045,31680 -static ssize_t mem_write(1123,33985 -static irqreturn_t lynx_irq_handler(1163,35223 -static void iso_rcv_bh(1396,45372 -static void remove_card(1440,47013 -static int __devinit add_card(1507,49318 -#define FAIL(FAIL1510,49446 -static struct pci_device_id pci_table[1897,64759 -static struct pci_driver lynx_pci_driver 1907,65029 -static struct hpsb_host_driver lynx_driver 1914,65213 -static int __init pcilynx_init(1929,65708 -static void __exit pcilynx_cleanup(1957,66393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/csr.h,1388 -#define _IEEE1394_CSR_H3,25 -#define CSR_REGISTER_BASE 11,127 -#define CSR_STATE_CLEAR 14,226 -#define CSR_STATE_SET 15,264 -#define CSR_NODE_IDS 16,302 -#define CSR_RESET_START 17,340 -#define CSR_SPLIT_TIMEOUT_HI 18,378 -#define CSR_SPLIT_TIMEOUT_LO 19,417 -#define CSR_CYCLE_TIME 20,456 -#define CSR_BUS_TIME 21,496 -#define CSR_BUSY_TIMEOUT 22,536 -#define CSR_BUS_MANAGER_ID 23,576 -#define CSR_BANDWIDTH_AVAILABLE 24,616 -#define CSR_CHANNELS_AVAILABLE 25,656 -#define CSR_CHANNELS_AVAILABLE_HI 26,696 -#define CSR_CHANNELS_AVAILABLE_LO 27,736 -#define CSR_BROADCAST_CHANNEL 28,776 -#define CSR_CONFIG_ROM 29,816 -#define CSR_CONFIG_ROM_END 30,856 -#define CSR_FCP_COMMAND 31,896 -#define CSR_FCP_RESPONSE 32,936 -#define CSR_FCP_END 33,976 -#define CSR_TOPOLOGY_MAP 34,1016 -#define CSR_TOPOLOGY_MAP_END 35,1057 -#define CSR_SPEED_MAP 36,1098 -#define CSR_SPEED_MAP_END 37,1139 -#define IEEE1394_KV_ID_POWER_REQUIREMENTS 40,1236 -#define CSR_BUS_INFO_SIZE 43,1335 -#define CSR_IRMC_SHIFT 45,1386 -#define CSR_CMC_SHIFT 46,1412 -#define CSR_ISC_SHIFT 47,1438 -#define CSR_BMC_SHIFT 48,1464 -#define CSR_PMC_SHIFT 49,1490 -#define CSR_CYC_CLK_ACC_SHIFT 50,1516 -#define CSR_MAX_REC_SHIFT 51,1549 -#define CSR_MAX_ROM_SHIFT 52,1578 -#define CSR_GENERATION_SHIFT 53,1606 -#define CSR_SET_BUS_INFO_GENERATION(CSR_SET_BUS_INFO_GENERATION55,1638 -struct csr_control csr_control61,1872 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/iso.h,555 -#define IEEE1394_ISO_H13,261 -struct hpsb_iso_packet_info hpsb_iso_packet_info34,1010 -enum hpsb_iso_type hpsb_iso_type52,1486 -enum hpsb_iso_type { HPSB_ISO_RECV 52,1486 -enum hpsb_iso_type { HPSB_ISO_RECV = 0, HPSB_ISO_XMIT 52,1486 -enum raw1394_iso_dma_recv_mode raw1394_iso_dma_recv_mode55,1625 - HPSB_ISO_DMA_DEFAULT 56,1658 - HPSB_ISO_DMA_OLD_ABI 57,1686 - HPSB_ISO_DMA_BUFFERFILL 58,1713 - HPSB_ISO_DMA_PACKET_PER_BUFFER 59,1743 -struct hpsb_iso hpsb_iso62,1783 -#define HPSB_ISO_DRIVER_INIT 115,3215 -#define HPSB_ISO_DRIVER_STARTED 116,3255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/video1394.h,493 -#define _VIDEO_1394_H22,937 -#define VIDEO1394_DRIVER_NAME 26,989 -#define VIDEO1394_MAX_SIZE 28,1032 - VIDEO1394_BUFFER_FREE 31,1077 - VIDEO1394_BUFFER_QUEUED,32,1105 - VIDEO1394_BUFFER_READY33,1131 -#define VIDEO1394_SYNC_FRAMES 36,1159 -#define VIDEO1394_INCLUDE_ISO_HEADERS 37,1209 -#define VIDEO1394_VARIABLE_PACKET_SIZE 38,1259 -struct video1394_mmap video1394_mmap40,1310 -struct video1394_queue_variable video1394_queue_variable53,1698 -struct video1394_wait video1394_wait60,1875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/iso.c,780 -void hpsb_iso_stop(16,305 -void hpsb_iso_shutdown(26,543 -static struct hpsb_iso* hpsb_iso_common_init(39,851 -int hpsb_iso_n_ready(123,3023 -struct hpsb_iso* hpsb_iso_xmit_init(136,3231 -struct hpsb_iso* hpsb_iso_recv_init(164,3889 -int hpsb_iso_recv_listen_channel(190,4516 -int hpsb_iso_recv_unlisten_channel(197,4759 -int hpsb_iso_recv_set_channel_mask(204,5031 -int hpsb_iso_recv_flush(211,5262 -static int do_iso_xmit_start(218,5419 -int hpsb_iso_xmit_start(228,5638 -int hpsb_iso_recv_start(260,6275 -static int hpsb_iso_check_offset_len(296,7037 -int hpsb_iso_xmit_queue_packet(319,7558 -int hpsb_iso_xmit_sync(366,8587 -void hpsb_iso_packet_sent(374,8778 -void hpsb_iso_packet_received(397,9393 -int hpsb_iso_recv_release_packets(422,10012 -void hpsb_iso_wake(445,10554 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/dma.c,519 -void dma_prog_region_init(18,350 -int dma_prog_region_alloc(26,492 -void dma_prog_region_free(45,949 -void dma_region_init(59,1225 -int dma_region_alloc(68,1376 -void dma_region_free(122,2729 -static inline int dma_region_find(144,3194 -dma_addr_t dma_region_offset_to_bus(163,3538 -void dma_region_sync_for_cpu(171,3756 -void dma_region_sync_for_device(185,4108 -dma_region_pagefault(204,4545 -static struct vm_operations_struct dma_region_vm_ops 229,5188 -int dma_region_mmap(233,5282 -int dma_region_mmap(259,5784 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ieee1394/nodemgr.h,570 -#define _IEEE1394_NODEMGR_H21,848 -#define IEEE1394_BUSID_MAGIC 29,1013 -struct bus_options bus_options34,1244 -#define UNIT_DIRECTORY_VENDOR_ID 48,1712 -#define UNIT_DIRECTORY_MODEL_ID 49,1751 -#define UNIT_DIRECTORY_SPECIFIER_ID 50,1790 -#define UNIT_DIRECTORY_VERSION 51,1832 -#define UNIT_DIRECTORY_HAS_LUN_DIRECTORY 52,1870 -#define UNIT_DIRECTORY_LUN_DIRECTORY 53,1916 -struct unit_directory unit_directory60,2148 -struct node_entry node_entry87,2736 -struct hpsb_protocol_driver hpsb_protocol_driver116,3457 -static inline int hpsb_node_entry_valid(146,4467 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/oprofile_files.c,549 -unsigned long fs_buffer_size 17,291 -unsigned long fs_cpu_buffer_size 18,330 -unsigned long fs_buffer_watershed 19,371 -static ssize_t pointer_size_read(22,435 -static struct file_operations pointer_size_fops 28,614 -static ssize_t cpu_type_read(33,700 -static struct file_operations cpu_type_fops 39,883 -static ssize_t enable_read(44,963 -static ssize_t enable_write(50,1138 -static struct file_operations enable_fops 73,1513 -static ssize_t dump_write(79,1612 -static struct file_operations dump_fops 86,1760 -void oprofile_create_files(90,1832 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/oprof.h,23 -#define OPROF_H11,172 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/cpu_buffer.c,532 -struct oprofile_cpu_buffer cpu_buffer[28,730 -struct oprofile_cpu_buffer cpu_buffer[NR_CPUS] __cacheline_aligned;28,730 -#define DEFAULT_TIMER_EXPIRE 32,836 -int work_enabled;33,875 -static void __free_cpu_buffers(35,894 -int alloc_cpu_buffers(46,1041 -void free_cpu_buffers(77,1607 -void start_cpu_work(83,1671 -void end_cpu_work(101,1967 -static unsigned long nr_available_slots(118,2226 -static void increment_head(130,2472 -void oprofile_add_sample(154,3139 -void cpu_buffer_reset(195,4181 -static void wq_sync_buffer(213,4669 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/cpu_buffer.h,159 -#define OPROFILE_CPU_BUFFER_H11,191 -struct op_sample op_sample29,561 -struct oprofile_cpu_buffer oprofile_cpu_buffer34,627 -} ____cacheline_aligned;45,939 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/buffer_sync.c,1258 -cpumask_t marked_cpus 37,950 -static spinlock_t task_mortuary 38,989 -static int task_free_notify(47,1299 -static int task_exit_notify(60,1683 -static int munmap_notify(75,2181 -static int module_load_notify(101,2881 -static struct notifier_block task_free_nb 117,3223 -static struct notifier_block task_exit_nb 121,3309 -static struct notifier_block munmap_nb 125,3395 -static struct notifier_block module_load_nb 129,3475 -static void end_sync(134,3567 -int sync_start(143,3713 -void sync_stop(176,4306 -static inline unsigned long fast_get_dcookie(190,4757 -static unsigned long get_exec_dcookie(207,5240 -static unsigned long lookup_dcookie(235,5872 -static unsigned long last_cookie 258,6368 -static void add_cpu_switch(260,6411 -static void add_kernel_ctx_switch(268,6558 -add_user_ctx_switch(278,6778 -static void add_cookie_switch(291,7119 -static void add_sample_entry(299,7273 -static void add_us_sample(306,7402 -static void add_sample(331,7938 -static void release_mm(343,8188 -static struct mm_struct * take_tasks_mm(352,8297 -static inline int is_ctx_switch(361,8463 -static unsigned long get_slots(368,8593 -static void increment_tail(394,9322 -void process_task_mortuary(413,9784 -static void mark_done(437,10284 -void sync_buffer(463,10845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/buffer_sync.h,38 -#define OPROFILE_BUFFER_SYNC_H11,193 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/event_buffer.h,303 -#define EVENT_BUFFER_H11,186 -#define ESCAPE_CODE 27,533 -#define CTX_SWITCH_CODE 28,560 -#define CPU_SWITCH_CODE 29,588 -#define COOKIE_SWITCH_CODE 30,616 -#define KERNEL_ENTER_SWITCH_CODE 31,647 -#define KERNEL_EXIT_SWITCH_CODE 32,682 -#define MODULE_LOADED_CODE 33,717 -#define CTX_TGID_CODE 34,747 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/event_buffer.c,527 -static unsigned long buffer_opened;28,651 -static unsigned long * event_buffer;30,732 -static unsigned long buffer_size;31,769 -static unsigned long buffer_watershed;32,803 -static size_t buffer_pos;33,842 -static atomic_t buffer_ready 35,934 -void add_event_entry(41,1116 -void wake_up_buffer_waiter(60,1573 -int alloc_event_buffer(69,1706 -void free_event_buffer(91,2080 -int event_buffer_open(97,2138 -int event_buffer_release(133,2788 -ssize_t event_buffer_read(145,3032 -struct file_operations event_buffer_fops 182,3779 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/oprofile_stats.c,126 -struct oprofile_stat_struct oprofile_stats;18,300 -void oprofile_reset_stats(20,346 -void oprofile_create_stats_files(37,716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/oprofilefs.c,1171 -#define OPROFILEFS_MAGIC 22,379 -spinlock_t oprofilefs_lock 24,416 -static struct inode * oprofilefs_get_inode(26,466 -static struct super_operations s_ops 42,814 -ssize_t oprofilefs_str_to_user(48,925 -#define TMPBUFSIZE 54,1101 -ssize_t oprofilefs_ulong_to_user(56,1124 -int oprofilefs_ulong_from_user(66,1437 -static ssize_t ulong_read_file(88,1844 -static ssize_t ulong_write_file(95,2054 -static int default_open(111,2363 -static struct file_operations ulong_fops 119,2516 -static struct file_operations ulong_ro_fops 126,2646 -static struct dentry * __oprofilefs_create_file(132,2750 -int oprofilefs_create_ulong(156,3304 -int oprofilefs_create_ro_ulong(169,3591 -static ssize_t atomic_read_file(182,3884 -static struct file_operations atomic_ro_fops 189,4103 -int oprofilefs_create_ro_atomic(195,4210 -int oprofilefs_create_file(208,4501 -int oprofilefs_create_file_perm(217,4721 -struct dentry * oprofilefs_mkdir(226,4956 -static int oprofilefs_fill_super(250,5516 -static struct super_block *oprofilefs_get_sb(280,6225 -static struct file_system_type oprofilefs_type 287,6424 -int __init oprofilefs_register(295,6590 -void __exit oprofilefs_unregister(301,6680 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/timer_int.c,229 -static int timer_notify(18,342 -static struct notifier_block timer_notifier 29,621 -static int timer_start(34,707 -static void timer_stop(40,794 -static struct oprofile_operations timer_ops 46,876 -void __init timer_init(53,995 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/oprof.c,354 -struct oprofile_operations * oprofile_ops;23,443 -unsigned long oprofile_started;24,486 -static unsigned long is_setup;25,518 -static int timer 32,698 -int oprofile_setup(34,721 -int oprofile_start(75,1450 -void oprofile_stop(102,1772 -void oprofile_shutdown(116,1999 -static int __init oprofile_init(132,2261 -static void __exit oprofile_exit(164,2836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/oprofile/oprofile_stats.h,89 -#define OPROFILE_STATS_H11,164 -struct oprofile_stat_struct oprofile_stat_struct15,216 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divasmain.c,2396 -static char *main_revision 44,1079 -static int major;46,1134 -static int dbgmask;48,1153 -static char *DRIVERNAME 57,1394 -static char *DRIVERLNAME 59,1477 -static char *DEVNAME 60,1513 -char *DRIVERRELEASE_DIVAS 61,1545 -typedef struct _diva_os_thread_dpc _diva_os_thread_dpc71,1892 -} diva_os_thread_dpc_t;diva_os_thread_dpc_t74,1996 -#define PCI_DEVICE_ID_EICON_MAESTRAP_2 89,2579 -#define PCI_DEVICE_ID_EICON_4BRI_VOIP 93,2683 -#define PCI_DEVICE_ID_EICON_4BRI_2_VOIP 97,2789 -#define PCI_DEVICE_ID_EICON_BRI2M_2 101,2891 -#define PCI_DEVICE_ID_EICON_MAESTRAP_2_VOIP 105,3001 -#define PCI_DEVICE_ID_EICON_2F 109,3098 -#define PCI_DEVICE_ID_EICON_BRI2M_2_VOIP 113,3205 -static struct pci_device_id divas_pci_tbl[119,3320 -static struct pci_driver diva_pci_driver 162,5332 -static char *getrev(172,5651 -void diva_log_info(185,5843 -void divas_get_version(197,6059 -byte diva_os_get_pci_bus(209,6473 -byte diva_os_get_pci_func(215,6620 -unsigned long divasa_get_pci_irq(221,6762 -unsigned long divasa_get_pci_bar(232,6998 -void PCIwrite(259,7569 -void PCIread(300,8504 -static void *diva_pci_alloc_consistent(343,9552 -void diva_init_dma_map(355,9811 -void diva_free_dma_map(392,10704 -diva_os_register_io_port(424,11521 -void *divasa_remap_pci_bar(438,11835 -void divasa_unmap_pci_bar(447,12061 -byte __inline__ inpp(457,12274 -word __inline__ inppw(462,12349 -void __inline__ inppw_buffer(467,12425 -void __inline__ outppw_buffer(472,12546 -void __inline__ outppw(477,12669 -void __inline__ outpp(482,12749 -int diva_os_register_irq(490,13014 -void diva_os_remove_irq(497,13203 -static void diva_os_dpc_proc(505,13474 -int diva_os_initialize_soft_isr(513,13704 -int diva_os_schedule_soft_isr(532,14229 -int diva_os_cancel_soft_isr(544,14473 -void diva_os_remove_soft_isr(549,14551 -xdi_copy_to_user(568,14948 -xdi_copy_from_user(577,15125 -static int divas_open(588,15328 -static int divas_release(593,15408 -static ssize_t divas_write(601,15573 -static ssize_t divas_read(632,16259 -static unsigned int divas_poll(663,16951 -static struct file_operations divas_fops 671,17107 -static void divas_unregister_chrdev(681,17327 -static int DIVA_INIT_FUNCTION divas_register_chrdev(687,17434 -static int __devinit divas_init_one(703,17920 -static void __devexit divas_remove_one(764,19595 -static int DIVA_INIT_FUNCTION divas_init(782,20122 -static void DIVA_EXIT_FUNCTION divas_exit(847,21628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/um_xdi.h,1327 -#define __DIVA_USER_MODE_XDI_H__4,96 -typedef struct _diva_um_idi_adapter_features _diva_um_idi_adapter_features11,228 -} diva_um_idi_adapter_features_t;diva_um_idi_adapter_features_t17,361 -#define DIVA_UM_IDI_REQ_MASK 19,396 -#define DIVA_UM_IDI_REQ_TYPE_MASK 20,438 -#define DIVA_UM_IDI_GET_FEATURES 21,499 -#define DIVA_UM_IDI_REQ 22,569 -#define DIVA_UM_IDI_REQ_TYPE_MAN 23,598 -#define DIVA_UM_IDI_REQ_TYPE_SIG 24,643 -#define DIVA_UM_IDI_REQ_TYPE_NET 25,688 -#define DIVA_UM_IDI_REQ_MAN 26,733 -#define DIVA_UM_IDI_REQ_SIG 27,808 -#define DIVA_UM_IDI_REQ_NET 28,883 -typedef struct _diva_um_idi_req_hdr _diva_um_idi_req_hdr32,1012 -} diva_um_idi_req_hdr_t;diva_um_idi_req_hdr_t37,1109 -typedef struct _diva_um_idi_ind_parameters _diva_um_idi_ind_parameters39,1135 -} diva_um_idi_ind_parameters_t;diva_um_idi_ind_parameters_t42,1206 -typedef struct _diva_um_idi_rc_parameters _diva_um_idi_rc_parameters44,1239 -} diva_um_idi_rc_parameters_t;diva_um_idi_rc_parameters_t47,1307 -typedef union _diva_um_idi_ind _diva_um_idi_ind49,1339 -} diva_um_idi_ind_t;diva_um_idi_ind_t53,1482 -#define DIVA_UM_IDI_IND_FEATURES 55,1504 -#define DIVA_UM_IDI_IND 56,1566 -#define DIVA_UM_IDI_IND_RC 57,1602 -typedef struct _diva_um_idi_ind_hdr _diva_um_idi_ind_hdr62,1696 -} diva_um_idi_ind_hdr_t;diva_um_idi_ind_hdr_t66,1791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/helpers.h,52 -#define __DIVA_XDI_CARD_CONFIG_HELPERS_INC__27,922 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/message.c,8359 -#define FILE_ 41,1029 -#define dprintf42,1055 -dword diva_xdi_extended_features 58,1506 -#define DIVA_CAPI_USE_CMA 60,1545 -#define DIVA_CAPI_XDI_PROVIDES_SDRAM_BAR 61,1598 -#define DIVA_CAPI_XDI_PROVIDES_NO_CANCEL 62,1651 -#define DIVA_CAPI_XDI_PROVIDES_RX_DMA 63,1704 -#define DIVA_CAPI_SUPPORTS_NO_CANCEL(DIVA_CAPI_SUPPORTS_NO_CANCEL69,1877 -#define MapId(MapId231,11108 -#define UnMapId(UnMapId232,11178 -byte remove_started 257,11897 -PLCI dummy_plci;258,11926 -struct _ftable _ftable261,11945 -} ftable[265,12085 -byte * cip_bc[294,13983 -byte * cip_hlc[327,15830 -#define V120_HEADER_LENGTH 362,17109 -#define V120_HEADER_EXTEND_BIT 363,17138 -#define V120_HEADER_BREAK_BIT 364,17175 -#define V120_HEADER_C1_BIT 365,17212 -#define V120_HEADER_C2_BIT 366,17249 -#define V120_HEADER_FLUSH_COND 367,17286 -static byte v120_default_header[369,17385 -static byte v120_break_header[376,17507 -word api_put(388,17842 -word api_parse(597,24283 -void api_save_msg(636,24972 -void api_load_msg(668,25534 -word api_remove_start(685,25946 -void init_internal_command_queue 719,26724 -void start_internal_command 732,27009 -void next_internal_command 754,27512 -static dword ncci_mapping_bug 780,28390 -static word get_ncci 782,28426 -static void ncci_free_receive_buffers 856,30395 -static void cleanup_ncci_data 921,31870 -static void ncci_remove 948,32615 -static void plci_free_msg_in_queue 1021,34766 -void plci_remove(1051,35512 -void set_group_ind_mask 1097,36638 -void set_group_ind_mask_bit 1105,36793 -void clear_group_ind_mask_bit 1110,36918 -byte test_group_ind_mask_bit 1115,37046 -void clear_c_ind_mask 1124,37401 -byte c_ind_mask_empty 1132,37531 -void set_c_ind_mask_bit 1142,37707 -void clear_c_ind_mask_bit 1147,37815 -byte test_c_ind_mask_bit 1152,37926 -void dump_c_ind_mask 1157,38050 -#define dump_plcis(dump_plcis1196,38762 -byte connect_req(1204,39001 -byte connect_res(1421,45659 -byte connect_a_res(1577,49888 -byte disconnect_req(1583,50059 -byte disconnect_res(1638,51421 -byte listen_req(1665,52199 -byte info_req(1714,53723 -byte info_res(1823,56213 -byte alert_req(1829,56374 -byte facility_req(1859,56992 -byte facility_res(2609,82058 -byte connect_b3_req(2615,82227 -byte connect_b3_res(2849,91843 -byte connect_b3_a_res(2964,95837 -byte disconnect_b3_req(2984,96448 -byte disconnect_b3_res(3040,97847 -byte data_b3_req(3096,99720 -byte data_b3_res(3173,101840 -byte reset_b3_req(3206,102656 -byte reset_b3_res(3247,103531 -byte connect_b3_t90_a_res(3271,104034 -byte select_b_req(3305,104879 -byte manufacturer_req(3424,108847 -byte manufacturer_res(3752,118248 -void callback(3827,120635 -void control_rc(4084,127836 -void data_rc(4750,146714 -void data_ack(4786,147718 -void sig_ind(4812,148443 -#define MAXPARMSIDS 4824,148656 -static void SendSetupInfo(6106,189605 -void SendInfo(6180,191460 -byte SendMultiIE(6356,196326 -void SendSSExtInd(6429,198183 -void nl_ind(6475,198984 -word get_plci(7257,227685 -static void add_p(7335,229671 -static void add_s(7347,230039 -static void add_ss(7355,230370 -static byte getChannel(7371,230931 -static void add_ie(7390,231386 -void add_d(7416,232043 -void add_ai(7434,232557 -word add_b1(7455,233109 -word add_b23(7919,249159 -static word add_modem_b23 8557,272632 -void sig_req(8694,276727 -void nl_req_ncci(8716,277552 -void send_req(8738,278288 -void send_data(8794,279904 -void listen_check(8873,282557 -void IndParse(8916,283919 -byte ie_compare(9001,286282 -word find_cip(9010,286483 -static byte AddInfo(9024,286774 -void SetVoiceChannel(9078,288137 -void VoiceChannelOff(9096,288670 -word AdvCodecSupport(9109,288949 -void CodecIdCheck(9205,292215 -static void diva_ask_for_xdi_sdram_bar 9229,292894 -static void diva_get_extended_adapter_features 9250,293672 -void AutomaticLaw(9299,295650 -word CapiRelease(9323,296232 -static word plci_remove_check(9440,299420 -static byte plci_nl_busy 9474,300274 -} dtmf_digit_map[9495,300887 -#define DTMF_DIGIT_MAP_ENTRIES 9573,304655 -static void dtmf_enable_receiver 9576,304741 -static void dtmf_send_digits 9614,306040 -static void dtmf_rec_clear_config 9647,307155 -static void dtmf_send_clear_config 9663,307533 -static void dtmf_prepare_switch 9676,307851 -static word dtmf_save_config 9687,308097 -static word dtmf_restore_config 9697,308323 -static void dtmf_command 9734,309300 -static byte dtmf_request 9905,314096 -static void dtmf_confirmation 10103,320654 -static void dtmf_indication 10126,321282 -static void dtmf_parameter_write 10176,322669 -static void dtmf_parameter_clear_config 10195,323268 -static void dtmf_parameter_prepare_switch 10206,323535 -static word dtmf_parameter_save_config 10215,323727 -static word dtmf_parameter_restore_config 10225,323973 -LI_CONFIG *li_config_table;10268,325240 -word li_total_channels;10269,325270 -static byte chi_to_channel 10282,325936 -static void mixer_set_bchannel_id_esc 10381,328290 -static void mixer_set_bchannel_id 10436,330553 -#define MIXER_MAX_DUMP_CHANNELS 10495,332895 -static void mixer_calculate_coefs 10497,332931 -} mixer_write_prog_pri[10750,341743 -} mixer_write_prog_bri[10764,342064 -static byte mixer_swapped_index_bri[10804,344149 -} xconnect_write_prog[10849,345334 -static void xconnect_query_addresses 10858,345502 -static void xconnect_write_coefs 10895,346626 -static byte xconnect_write_coefs_process 10907,346965 -static void mixer_notify_update 11245,361427 -static void mixer_clear_config 11318,363958 -static void mixer_prepare_switch 11382,366096 -static word mixer_save_config 11395,366387 -static word mixer_restore_config 11420,367096 -static void mixer_command 11503,369785 -static void li_update_connect 11630,374155 -static void li2_update_connect 11773,379211 -static word li_check_main_plci 11881,383887 -static PLCI *li_check_plci_b 11902,384445 -static PLCI *li2_check_plci_b 11965,386891 -static byte mixer_request 12028,389278 -static void mixer_indication_coefs_set 12431,406531 -static void mixer_indication_xconnect_from 12493,408402 -static void mixer_indication_xconnect_to 12536,409997 -static byte mixer_notify_source_removed 12545,410230 -static void mixer_remove 12565,410981 -static void ec_write_parameters 12619,412792 -static void ec_clear_config 12640,413431 -static void ec_prepare_switch 12653,413778 -static word ec_save_config 12662,413946 -static word ec_restore_config 12672,414168 -static void ec_command 12709,415088 -static byte ec_request 12822,418210 -static void ec_indication 13012,425145 -static void adv_voice_write_coefs 13068,426878 -static void adv_voice_clear_config 13223,432563 -static void adv_voice_prepare_switch 13285,434567 -static word adv_voice_save_config 13294,434749 -static word adv_voice_restore_config 13304,434985 -static byte b1_facilities_table[13350,436296 -static word get_b1_facilities 13394,438094 -static byte add_b1_facilities 13426,439257 -static void adjust_b1_facilities 13531,441938 -static void adjust_b_clear 13565,442963 -static word adjust_b_process 13576,443203 -static void adjust_b1_resource 13928,453831 -static void adjust_b_restore 13950,454730 -static void reset_b3_command 13996,456083 -static void select_b_command 14036,457332 -static void fax_connect_ack_command 14095,459278 -static void fax_edata_ack_command 14144,460744 -static void fax_connect_info_command 14184,461854 -static void fax_adjust_b23_command 14235,463313 -static void fax_disconnect_command 14283,464766 -static void rtp_connect_b3_req_command 14326,465916 -static void rtp_connect_b3_res_command 14379,467460 -static void hold_save_command 14433,469016 -static void retrieve_restore_command 14474,470283 -static void init_b1_config 14513,471593 -static void clear_b1_config 14539,472101 -static void channel_flow_control_remove 14573,473018 -static void channel_x_on 14584,473283 -static void channel_x_off 14591,473473 -static void channel_request_xon 14600,473771 -static void channel_xmit_extended_xon 14610,474058 -static int find_channel_with_pending_x_on 14636,474671 -static void channel_xmit_xon 14666,475466 -static int channel_can_xon 14689,476072 -void disable_adapter(14724,476921 -void enable_adapter(14771,478192 -static word CPN_filter_ok(14788,478671 -void group_optimization(14803,479445 -word CapiRegister(14919,484025 -void VSwitchReqInd(14970,485480 -static int diva_get_dma_descriptor 15058,487665 -static void diva_free_dma_descriptor 15092,488978 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/di_defs.h,3256 -#define _DI_DEFS_27,897 -typedef struct get_name_s GET_NAME;GET_NAME29,986 -typedef struct entity_s ENTITY;ENTITY32,1117 -typedef struct buffers_s BUFFERS;BUFFERS33,1149 -typedef struct postcall_s POSTCALL;POSTCALL34,1183 -typedef struct get_para_s GET_PARA;GET_PARA35,1219 -#define BOARD_NAME_LENGTH 36,1255 -#define IDI_CALL_LINK_T37,1283 -#define IDI_CALL_ENTITY_T38,1307 -typedef void (IDI_CALL_LINK_T * IDI_CALL)IDI_CALL43,1513 -} DBUFFER;DBUFFER47,1743 -struct get_name_s get_name_s48,1754 -struct postcall_s postcall_s52,1856 -#define REQ_PARA 58,2137 -#define REQ_PARA_LEN 59,2212 -#define L1_STARTUP_DOWN_POS 60,2276 -#define L1_STARTUP_DOWN_MSK 61,2355 -struct get_para_s get_para_s62,2444 -struct buffers_s buffers_s67,2636 -struct entity_s entity_s71,2688 -} DESCRIPTOR;DESCRIPTOR105,4693 -#define IDI_ADAPTER_S 107,4750 -#define IDI_ADAPTER_PR 108,4784 -#define IDI_ADAPTER_DIVA 109,4818 -#define IDI_ADAPTER_MAESTRA 110,4852 -#define IDI_VADAPTER 111,4886 -#define IDI_DRIVER 112,4923 -#define IDI_DADAPTER 113,4960 -#define IDI_DIDDPNP 114,4997 -#define IDI_DIMAINT 115,5034 -#define HW_ID_DIVA_PRO 117,5106 -#define HW_ID_MAESTRA 118,5172 -#define HW_ID_PICCOLA 119,5238 -#define HW_ID_DIVA_PRO20 120,5267 -#define HW_ID_DIVA20 121,5296 -#define HW_ID_DIVA_PRO20_U 122,5325 -#define HW_ID_DIVA20_U 123,5354 -#define HW_ID_DIVA30 124,5383 -#define HW_ID_DIVA30_U 125,5413 -#define HW_ID_EICON_PCI 127,5474 -#define HW_ID_SIEMENS_PCI 128,5518 -#define HW_ID_PROTTYPE_CORNETN 129,5615 -#define HW_ID_FUJITSU_SIEMENS_PCI 130,5705 -#define HW_ID_GS03_PCI 131,5788 -#define HW_ID_DIVA_PRO20_PCI 132,5884 -#define HW_ID_DIVA20_PCI 133,5928 -#define HW_ID_DIVA_PRO20_PCI_U 134,5972 -#define HW_ID_DIVA20_PCI_U 135,6016 -#define HW_ID_DIVA201_PCI 136,6060 -#define HW_ID_DIVA_CT_ST 137,6104 -#define HW_ID_DIVA_CT_U 138,6148 -#define HW_ID_DIVA_CTL_ST 139,6192 -#define HW_ID_DIVA_CTL_U 140,6236 -#define HW_ID_DIVA_ISDN_V90_PCI 141,6280 -#define HW_ID_DIVA202_PCI_ST 142,6324 -#define HW_ID_DIVA202_PCI_U 143,6368 -#define HW_ID_DIVA_PRO30_PCI 144,6412 -#define HW_ID_MAESTRA_PCI 145,6456 -#define HW_ID_MAESTRAQ_PCI 146,6500 -#define HW_ID_DSRV_Q8M_V2_PCI 147,6544 -#define HW_ID_MAESTRAP_PCI 148,6588 -#define HW_ID_DSRV_P30M_V2_PCI 149,6632 -#define HW_ID_DSRV_VOICE_Q8M_PCI 150,6676 -#define HW_ID_DSRV_VOICE_Q8M_V2_PCI 151,6720 -#define HW_ID_DSRV_B2M_V2_PCI 152,6764 -#define HW_ID_DSRV_VOICE_P30M_V2_PCI 153,6808 -#define HW_ID_DSRV_B2F_PCI 154,6852 -#define HW_ID_DSRV_VOICE_B2M_V2_PCI 155,6896 -#define EICON_USB_VENDOR_ID 157,6971 -#define HW_ID_DIVA_USB_REV1 158,7015 -#define HW_ID_DIVA_USB_REV2 159,7059 -#define HW_ID_TELEDAT_SURF_USB_REV2 160,7103 -#define HW_ID_TELEDAT_SURF_USB_REV1 161,7147 -typedef void (IDI_CALL_LINK_T* didd_adapter_change_callback_t)didd_adapter_change_callback_t165,7395 -#define DI_VOICE 167,7613 -#define DI_FAX3 168,7665 -#define DI_MODEM 169,7695 -#define DI_POST 170,7725 -#define DI_V110 171,7755 -#define DI_V120 172,7785 -#define DI_POTS 173,7816 -#define DI_CODEC 174,7847 -#define DI_MANAGE 175,7878 -#define DI_V_42 176,7909 -#define DI_EXTD_FAX 177,7942 -#define DI_AT_PARSER 178,8018 -#define DI_VOICE_OVER_IP 179,8086 -typedef void (IDI_CALL_LINK_T* _IDI_CALL)_IDI_CALL180,8147 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/di.c,669 - #define dprintf34,1033 -#define PR_RAM 38,1093 -#define RAM 39,1130 -#define XDI_A_NR(XDI_A_NR61,2160 -#define XDI_A_NR(XDI_A_NR63,2232 -byte xdi_xlog_sec 65,2271 -void pr_out(81,3057 -static byte pr_ready(242,8392 -byte pr_dpc(258,8910 -byte pr_test_int(348,12468 -void pr_clear_int(352,12540 -void scom_out(359,12822 -static byte scom_ready(462,15914 -byte scom_dpc(476,16316 -byte scom_test_int(534,18056 -void scom_clear_int(538,18129 -void quadro_clear_int(542,18199 -byte isdn_rc(550,18517 -byte isdn_ind(752,25772 -void xdi_xlog 921,31725 -static void xdi_xlog_rc_event 951,33237 -static void xdi_xlog_request 975,34474 -static void xdi_xlog_ind 1014,36423 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/io.h,665 -#define __DIVA_XDI_COMMON_IO_H_INC__27,922 -#define DI_MAX_LINKS 31,989 -#define ISDN_MAX_NUM_LEN 32,1025 -} ADAPTER_LIST_ENTRY, *PADAPTER_LIST_ENTRY PADAPTER_LIST_ENTRY41,1414 -#define MAX_MAPPED_ENTRIES 45,1656 -} ADAPTER_MEMORY ADAPTER_MEMORY49,1738 -#define DIVA_XDI_CAPI_CFG_1_DYNAMIC_L1_ON 53,1961 -#define DIVA_XDI_CAPI_CFG_1_GROUP_POPTIMIZATION_ON 54,2013 -typedef struct _diva_xdi_capi_cfg _diva_xdi_capi_cfg55,2069 -} diva_xdi_capi_cfg_t;diva_xdi_capi_cfg_t57,2119 -struct _ISDN_ADAPTER _ISDN_ADAPTER61,2339 -struct e_info_s e_info_s231,9647 -struct s_load s_load239,10021 -#define PR_RAM 252,10196 -#define RAM 253,10233 -} Xdesc Xdesc309,13175 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/capifunc.c,1588 -#define DBG_MINIMUM 22,582 -#define DBG_DEFAULT 23,630 -DIVA_CAPI_ADAPTER *adapter 25,685 -APPL *application 26,742 -byte max_appl 27,777 -byte max_adapter 28,803 -static CAPI_MSG *mapped_msg 29,825 -char DRIVERRELEASE_CAPI[32,903 -static diva_os_spin_lock_t api_lock;41,1153 -static dword notify_handle;45,1217 -static DESCRIPTOR MAdapter;47,1280 -static DESCRIPTOR DAdapter;48,1308 -static byte ControllerMap[49,1336 -void xlog(67,1861 -static char *diva_procinfo(88,2282 -static void stop_dbg(96,2386 -static void no_printf(106,2530 -byte MapController(113,2609 -byte UnMapController(135,3081 -static int find_free_id(152,3440 -static diva_card *find_card_by_ctrl(169,3675 -void *TransmitBufferSet(188,4019 -void *TransmitBufferGet(195,4182 -void TransmitBufferFree(203,4356 -void *ReceiveBufferGet(209,4506 -void api_remove_complete(217,4661 -void sendf(225,4776 -static void clean_adapter(346,7747 -static void divacapi_remove_card(391,8975 -static void divacapi_remove_cards(450,10499 -static void sync_callback(472,11014 -static int diva_add_card(486,11323 -static void diva_register_appl(724,19165 -static void diva_release_appl(848,22299 -static u16 diva_send_message(878,22938 -static void DIRequest(1010,26610 -static void didd_callback(1025,26927 -static int divacapi_connect_didd(1051,27574 -static void divacapi_disconnect_didd(1099,28813 -int fax_head_line_time(1115,29151 -static int DIVA_INIT_FUNCTION init_main_structs(1123,29245 -static void remove_main_structs(1151,29986 -static void do_api_remove_start(1164,30196 -void DIVA_EXIT_FUNCTION finit_capifunc(1212,31174 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diddfunc.c,365 -#define DBG_MINIMUM 19,512 -#define DBG_DEFAULT 20,560 -static dword notify_handle;25,690 -static DESCRIPTOR _DAdapter;26,718 -static void *didd_callback(31,781 -static int DIVA_INIT_FUNCTION connect_didd(50,1184 -static void DIVA_EXIT_FUNCTION disconnect_didd(82,2089 -int DIVA_INIT_FUNCTION diddfunc_init(95,2359 -void DIVA_EXIT_FUNCTION diddfunc_finit(110,2586 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/io.c,1110 -#define MIPS_SCOM31,977 -#define ReqFunc(ReqFunc43,1456 -ReqFunc(46,1587 -static byte extended_xdi_features[73,2187 -dump_xlog_buffer 87,2692 -char *(ExceptionCauseTable[121,3765 -dump_trap_frame 157,4354 -void request(201,6713 -void DIDpcRoutine 460,14720 -pcm_req 510,16520 -byte mem_in 595,19249 -word mem_inw 605,19501 -void mem_in_dw 615,19764 -void mem_in_buffer 624,20059 -void mem_look_ahead 630,20336 -void mem_out 638,20658 -void mem_outw 644,20889 -void mem_out_dw 650,21130 -void mem_out_buffer 660,21439 -void mem_inc 666,21718 -byte io_in(676,22194 -word io_inw(685,22451 -void io_in_buffer(694,22710 -void io_look_ahead(713,23239 -void io_out(722,23699 -void io_outw(729,23940 -void io_out_buffer(736,24183 -void io_inc(755,24714 -void free_entity(768,25228 -void assign_queue(778,25579 -byte get_assign(789,26014 -void req_queue(806,26535 -byte look_req(823,27038 -void next_req(829,27168 -ENTITY * entity_ptr(842,27771 -void * PTR_X(848,27920 -void * PTR_R(852,27988 -void * PTR_P(856,28056 -void CALLBACK(860,28120 -void outp_words_from_buffer 868,28417 -void inp_words_to_buffer 878,28604 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/maintidi.c,2212 -#define MODEM_PARSE_ENTRIES 35,1083 -#define FAX_PARSE_ENTRIES 36,1153 -#define LINE_PARSE_ENTRIES 37,1223 -#define STAT_PARSE_ENTRIES 38,1293 -diva_strace_library_interface_t* DivaSTraceLibraryCreateInstance 108,4528 -static int DivaSTraceLibraryStart 192,7780 -static int DivaSTraceLibraryStop 203,8063 -static int SuperTraceLibraryFinit 223,8430 -static void* SuperTraceGetHandle 234,8660 -static int SuperTraceMessageInput 245,8960 -static int ScheduleNextTraceRequest 439,15094 -static int process_idi_event 855,25495 -static int diva_line_event 1032,29814 -static int diva_modem_event 1037,29953 -static int diva_fax_event 1042,30094 -static int process_idi_info 1052,30355 -static int diva_modem_info 1102,31453 -static int diva_fax_info 1135,32410 -static int diva_line_info 1173,33493 -static diva_man_var_header_t* get_next_var 1215,34731 -static diva_man_var_header_t* find_var 1234,35092 -static void diva_create_line_parse_table 1249,35391 -static void diva_create_fax_parse_table 1331,38567 -static void diva_create_modem_parse_table 1395,41141 -static void diva_create_parse_table 1475,44475 -static void diva_trace_error 1852,59291 -static void diva_trace_notify_user 1865,59701 -static int diva_trace_read_variable 1880,60191 -static int diva_strace_read_int 1910,61462 -static int diva_strace_read_uint 1938,61872 -static int diva_strace_read_asz 1974,62411 -static int diva_strace_read_asc 1992,62766 -static int diva_strace_read_ie 2006,63085 -static int SuperTraceSetAudioTap 2018,63340 -static int SuperTraceSetBChannel 2045,63919 -static int SuperTraceSetDChannel 2062,64303 -static int SuperTraceSetInfo 2074,64648 -static int SuperTraceClearCall 2086,64912 -static int diva_ifc_statistics 2102,65256 -static int SuperTraceGetOutgoingCallStatistics 2139,66555 -static int SuperTraceGetIncomingCallStatistics 2145,66755 -static int SuperTraceGetModemStatistics 2151,66955 -static int SuperTraceGetFaxStatistics 2157,67145 -static int SuperTraceGetBLayer1Statistics 2163,67331 -static int SuperTraceGetBLayer2Statistics 2169,67520 -static int SuperTraceGetDLayer1Statistics 2175,67709 -static int SuperTraceGetDLayer2Statistics 2181,67898 -dword DivaSTraceGetMemotyRequirement 2187,68087 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/pr_pc.h,84 -struct pr_ram pr_ram26,877 -} REQ;REQ54,2248 -} RC;RC63,2379 -} IND;IND76,2563 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dsrv4bri.h,308 -#define __DIVA_XDI_DSRV_4_BRI_INC__27,913 -#define PLX9054_P2LDBELL 31,998 -#define PLX9054_L2PDBELL 32,1031 -#define PLX9054_INTCSR 33,1064 -#define PLX9054_INT_ENABLE 34,1097 -#define PLX9054_SOFT_RESET 35,1130 -#define PLX9054_RELOAD_EEPROM 36,1164 -#define DIVA_4BRI_REVISION(DIVA_4BRI_REVISION37,1201 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/capidtmf.h,1348 -#define CAPIDTMF_H_27,899 -#define CAPIDTMF_TONE_GROUP_COUNT 30,1079 -#define CAPIDTMF_LOW_GROUP_FREQUENCIES 31,1126 -#define CAPIDTMF_HIGH_GROUP_FREQUENCIES 32,1173 -#define DSPDTMF_RX_SENSITIVITY_LOW_DEFAULT 33,1220 -#define DSPDTMF_RX_SENSITIVITY_HIGH_DEFAULT 34,1280 -#define DSPDTMF_RX_HIGH_EXCEEDING_LOW_DEFAULT 35,1341 -#define DSPDTMF_RX_LOW_EXCEEDING_HIGH_DEFAULT 36,1399 -#define DSPDTMF_RX_HARMONICS_SEL_DEFAULT 37,1457 -#define CAPIDTMF_RECV_BASE_FREQUENCY_COUNT 38,1510 -#define CAPIDTMF_RECV_GUARD_FREQUENCY_COUNT 39,1622 -#define CAPIDTMF_RECV_TOTAL_FREQUENCY_COUNT 40,1669 -#define CAPIDTMF_RECV_POSITIVE_COEFF_COUNT 41,1789 -#define CAPIDTMF_RECV_NEGATIVE_COEFF_COUNT 42,1837 -#define CAPIDTMF_RECV_ACCUMULATE_CYCLES 43,1957 -#define CAPIDTMF_RECV_FUNDAMENTAL_OFFSET 44,2006 -#define CAPIDTMF_RECV_FUNDAMENTAL_DECREMENT 45,2065 -#define CAPIDTMF_RECV_DIGIT_BUFFER_SIZE 46,2124 -#define CAPIDTMF_RECV_STATE_IDLE 47,2172 -#define CAPIDTMF_RECV_STATE_DTMF_ACTIVE 48,2222 -typedef struct tag_capidtmf_recv_statetag_capidtmf_recv_state49,2272 -} t_capidtmf_recv_state;t_capidtmf_recv_state64,2709 -typedef struct tag_capidtmf_statetag_capidtmf_state65,2734 -} t_capidtmf_state;t_capidtmf_state69,2813 -#define capidtmf_indication(capidtmf_indication75,3217 -#define capidtmf_recv_process_block(capidtmf_recv_process_block76,3391 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/sdp_hdr.h,1465 -#define __DIVA_SOFT_DSP_TASK_ENTRY_H__27,916 -#define DIVA_MIPS_TASK_IMAGE_LINK_OFFS 46,2001 -#define DIVA_MIPS_TASK_IMAGE_GP_OFFS 47,2047 -#define DIVA_MIPS_TASK_IMAGE_ENTRY_OFFS 48,2092 -#define DIVA_MIPS_TASK_IMAGE_LOAD_ADDR_OFFS 49,2139 -#define DIVA_MIPS_TASK_IMAGE_END_ADDR_OFFS 50,2188 -#define DIVA_MIPS_TASK_IMAGE_ID_STRING_OFFS 51,2236 -typedef void (*diva_task_set_prog_gp_proc_t)diva_task_set_prog_gp_proc_t57,2440 -typedef void (*diva_task_sys_reset_proc_t)diva_task_sys_reset_proc_t61,2574 -typedef void (*diva_task_set_main_gp_proc_t)diva_task_set_main_gp_proc_t66,2760 -typedef word (*diva_prt_proc_t)diva_prt_proc_t71,2907 -typedef void (*diva_task_set_prt_proc_t)diva_task_set_prt_proc_t72,2953 -typedef void (*diva_task_set_pid_proc_t)diva_task_set_pid_proc_t76,3063 -typedef int (*diva_task_run_time_init_proc_t)diva_task_run_time_init_proc_t80,3170 -typedef void (*diva_task_callback_proc_t)diva_task_callback_proc_t84,3299 -typedef dword (*diva_task_get_tick_count_proc_t)diva_task_get_tick_count_proc_t88,3413 -typedef void (*diva_task_set_get_time_proc_t)diva_task_set_get_time_proc_t89,3469 -typedef struct _diva_mips_sdp_task_entry _diva_mips_sdp_task_entry91,3570 -} diva_mips_sdp_task_entry_t;diva_mips_sdp_task_entry_t102,4083 -typedef struct _diva_mips_sw_task _diva_mips_sw_task106,4195 -} diva_mips_sw_task_t;diva_mips_sw_task_t110,4356 -#define DIVA_BRI2F_SDP_1_NAME 112,4415 -#define DIVA_BRI2F_SDP_2_NAME 115,4499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/did_vers.h,48 -static char diva_didd_common_code_build[26,877 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/di.h,318 -#define XMOREC 31,1030 -#define XMOREF 32,1050 -#define XBUSY 33,1070 -#define RMORE 34,1090 -#define DIVA_MISC_FLAGS_REMOVE_PENDING 35,1110 -#define DIVA_MISC_FLAGS_NO_RC_CANCELLING 36,1157 -#define DIVA_MISC_FLAGS_RX_DMA 37,1204 -typedef struct adapter_s ADAPTER;ADAPTER40,1393 -struct adapter_s adapter_s41,1427 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/di_dbg.h,87 -#define __DIVA_DI_DBG_INC__27,905 -#define dtrc(dtrc29,953 -#define dbug(dbug32,996 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dqueue.h,215 -#define _DIVA_USER_MODE_IDI_DATA_QUEUE_H__4,106 -#define DIVA_UM_IDI_MAX_MSGS 6,150 -typedef struct _diva_um_idi_data_queue _diva_um_idi_data_queue8,183 -} diva_um_idi_data_queue_t;diva_um_idi_data_queue_t17,383 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dsrv_bri.h,41 -#define __DIVA_XDI_DSRV_BRI_INC__27,911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/capifunc.h,212 -#define __CAPIFUNC_H__14,450 -#define DRRELMAJOR 16,474 -#define DRRELMINOR 17,496 -#define DRRELEXTRA 18,518 -#define M_COMPANY 20,542 -typedef struct _diva_card _diva_card24,613 -} diva_card;diva_card32,787 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diva.c,1358 -#define CARDTYPE_H_WANT_DATA 3,62 -#define CARDTYPE_H_WANT_IDI_DATA 4,104 -#define CARDTYPE_H_WANT_RESOURCE_DATA 5,146 -#define CARDTYPE_H_WANT_FILE_DATA 6,188 -PISDN_ADAPTER IoAdapters[29,615 -#define DivaIdiReqFunc(DivaIdiReqFunc34,813 -DivaIdiReqFunc(41,992 -typedef struct _diva_get_xlog _diva_get_xlog81,1659 -} diva_get_xlog_t;diva_get_xlog_t86,1767 -typedef struct _diva_supported_cards_info _diva_supported_cards_info88,1787 -} diva_supported_cards_info_t;diva_supported_cards_info_t91,1883 -static diva_supported_cards_info_t divas_supported_cards[93,1915 -static diva_os_spin_lock_t adapter_lock;140,2998 -static int diva_find_free_adapters(142,3040 -static diva_os_xdi_adapter_t *diva_q_get_next(155,3202 -void *diva_driver_add_card(168,3619 -int divasa_xdi_driver_entry(250,6079 -static diva_os_xdi_adapter_t *get_and_remove_from_queue(262,6456 -void diva_driver_remove_card(281,7080 -static void *divas_create_pci_card(325,8188 -void divasa_xdi_driver_unload(371,9735 -void *diva_xdi_open_adapter(391,10178 -void diva_xdi_close_adapter(428,11137 -diva_xdi_write(440,11406 -diva_xdi_read(483,12400 -irqreturn_t diva_os_irq_wrapper(518,13269 -static void diva_init_request_array(537,13752 -void diva_xdi_display_adapter_features(573,14867 -void diva_add_slave_adapter(609,16101 -int diva_card_read_xlog(618,16371 -void xdiFreeFile(658,17210 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diva_dma.c,336 -struct _diva_dma_map_entry _diva_dma_map_entry32,1009 -struct _diva_dma_map_entry* diva_alloc_dma_map 41,1320 -void diva_free_dma_mapping 50,1623 -void diva_init_dma_map_entry 58,1784 -int diva_alloc_dma_map_entry 68,2119 -void diva_free_dma_map_entry 81,2386 -void diva_get_dma_map_entry 87,2532 -void* diva_get_entry_handle 92,2735 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_bri.h,37 -#define __DIVA_OS_BRI_REV_1_H__4,95 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/capidtmf.c,2076 -#define FILE_ 41,958 -#define trace(trace46,1068 -static short capidtmf_expand_table_alaw[52,1169 -static short capidtmf_expand_table_ulaw[88,3336 -static short capidtmf_recv_window_function[127,5585 -static byte capidtmf_leading_zeroes_table[157,7567 -#define capidtmf_byte_leading_zeroes(capidtmf_byte_leading_zeroes177,8423 -#define capidtmf_word_leading_zeroes(capidtmf_word_leading_zeroes178,8507 -#define capidtmf_dword_leading_zeroes(capidtmf_dword_leading_zeroes179,8648 -static void capidtmf_goertzel_loop 185,9024 -static void capidtmf_goertzel_result 249,10595 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_697 324,12817 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_770 325,12865 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_852 326,12913 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_941 327,12961 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1209 328,13009 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1336 329,13057 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1477 330,13105 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1633 331,13153 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_635 332,13201 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1010 333,13249 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1140 334,13297 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1272 335,13346 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1405 336,13395 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1555 337,13444 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1715 338,13493 -#define CAPIDTMF_RECV_GUARD_SNR_INDEX_1875 339,13542 -#define CAPIDTMF_RECV_GUARD_SNR_DONTCARE 341,13592 -#define CAPIDTMF_RECV_NO_DIGIT 342,13645 -#define CAPIDTMF_RECV_TIME_GRANULARITY 343,13696 -#define CAPIDTMF_RECV_INDICATION_DIGIT 345,13781 -static long capidtmf_recv_goertzel_coef_table[347,13835 -static word capidtmf_recv_guard_snr_low_table[368,14941 -static word capidtmf_recv_guard_snr_high_table[389,16263 -static void capidtmf_recv_init 412,17683 -void capidtmf_recv_enable 430,18217 -void capidtmf_recv_disable 449,19025 -word capidtmf_recv_indication 464,19443 -#define CAPIDTMF_RECV_WINDOWED_SAMPLES 488,20138 -void capidtmf_recv_block 490,20182 -void capidtmf_init 678,26730 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/mi_pc.h,4551 -#define BRI_MEMORY_BASE 28,978 -#define BRI_MEMORY_SIZE 29,1029 -#define BRI_SHARED_RAM_SIZE 30,1126 -#define BRI_RAY_TAYLOR_DSP_CODE_SIZE 31,1223 -#define BRI_ORG_MAX_DSP_CODE_SIZE 32,1320 -#define BRI_V90D_MAX_DSP_CODE_SIZE 33,1417 -#define BRI_CACHED_ADDR(BRI_CACHED_ADDR34,1514 -#define BRI_UNCACHED_ADDR(BRI_UNCACHED_ADDR35,1590 -#define ADDR 36,1666 -#define ADDRH 37,1682 -#define DATA 38,1698 -#define RESET 39,1714 -#define DEFAULT_ADDRESS 40,1730 -#define DEFAULT_IRQ 41,1760 -#define M_PCI_ADDR 42,1786 -#define M_PCI_ADDRH 43,1835 -#define M_PCI_DATA 44,1884 -#define M_PCI_RESET 45,1933 -#define MP_IRQ_RESET 48,2083 -#define MP_IRQ_RESET_VAL 49,2180 -#define MP_MEMORY_SIZE 50,2277 -#define MP2_MEMORY_SIZE 51,2374 -#define MP_SHARED_RAM_OFFSET 52,2471 -#define MP_SHARED_RAM_SIZE 53,2578 -#define MP_PROTOCOL_OFFSET 54,2675 -#define MP_RAY_TAYLOR_DSP_CODE_SIZE 55,2759 -#define MP_ORG_MAX_DSP_CODE_SIZE 56,2856 -#define MP_V90D_MAX_DSP_CODE_SIZE 57,2953 -#define MP_VOIP_MAX_DSP_CODE_SIZE 58,3050 -#define MP_CACHED_ADDR(MP_CACHED_ADDR59,3152 -#define MP_UNCACHED_ADDR(MP_UNCACHED_ADDR60,3228 -#define MP_RESET 61,3304 -#define _MP_S2M_RESET 63,3424 -#define _MP_LED2 64,3479 -#define _MP_LED1 65,3534 -#define _MP_DSP_RESET 66,3589 -#define _MP_RISC_RESET 67,3644 -typedef struct mp_xcptcontext_s MP_XCPTC;MP_XCPTC69,3804 -struct mp_xcptcontext_s mp_xcptcontext_s70,3846 -struct mp_load mp_load82,4118 -#define MQ_BOARD_REG_OFFSET 98,4804 -#define MQ_BREG_RISC 99,4901 -#define MQ_RISC_COLD_RESET_MASK 100,4998 -#define MQ_RISC_WARM_RESET_MASK 101,5095 -#define MQ_BREG_IRQ_TEST 102,5192 -#define MQ_IRQ_REQ_ON 103,5289 -#define MQ_IRQ_REQ_OFF 104,5333 -#define MQ_BOARD_DSP_OFFSET 105,5377 -#define MQ_DSP1_ADDR_OFFSET 106,5474 -#define MQ_DSP2_ADDR_OFFSET 107,5571 -#define MQ_DSP1_DATA_OFFSET 108,5668 -#define MQ_DSP2_DATA_OFFSET 109,5765 -#define MQ_DSP_JUNK_OFFSET 110,5862 -#define MQ_ISAC_DSP_RESET 111,5959 -#define MQ_BOARD_ISAC_DSP_RESET 112,6056 -#define MQ_INSTANCE_COUNT 113,6153 -#define MQ_MEMORY_SIZE 114,6250 -#define MQ_CTRL_SIZE 115,6347 -#define MQ_SHARED_RAM_SIZE 116,6444 -#define MQ_ORG_MAX_DSP_CODE_SIZE 117,6541 -#define MQ_V90D_MAX_DSP_CODE_SIZE 118,6628 -#define MQ_VOIP_MAX_DSP_CODE_SIZE 119,6722 -#define MQ_CACHED_ADDR(MQ_CACHED_ADDR120,6833 -#define MQ_UNCACHED_ADDR(MQ_UNCACHED_ADDR121,6909 -#define MQ2_BREG_RISC 124,7180 -#define MQ2_BREG_IRQ_TEST 125,7277 -#define MQ2_BOARD_DSP_OFFSET 126,7374 -#define MQ2_DSP1_DATA_OFFSET 127,7471 -#define MQ2_DSP1_ADDR_OFFSET 128,7568 -#define MQ2_DSP2_DATA_OFFSET 129,7665 -#define MQ2_DSP2_ADDR_OFFSET 130,7762 -#define MQ2_DSP_JUNK_OFFSET 131,7859 -#define MQ2_ISAC_DSP_RESET 132,7956 -#define MQ2_BOARD_ISAC_DSP_RESET 133,8053 -#define MQ2_IPACX_CONFIG 134,8150 -#define MQ2_BOARD_IPACX_CONFIG 135,8247 -#define MQ2_MEMORY_SIZE 136,8344 -#define MQ2_CTRL_SIZE 137,8441 -#define BRI2_MEMORY_SIZE 140,8700 -#define BRI2_PROTOCOL_MEMORY_SIZE 141,8797 -#define BRI2_CTRL_SIZE 142,8895 -#define M_INSTANCE_COUNT 143,8992 -#define ID_REG 147,9162 -#define RAS0_BASEREG 148,9243 -#define RAS2_BASEREG 149,9324 -#define CS_BASEREG 150,9353 -#define BOOT_BASEREG 151,9382 -#define GTREGS_BASEREG 152,9411 -#define LOW_RAS0_DREG 158,9641 -#define HI_RAS0_DREG 159,9701 -#define LOW_RAS1_DREG 160,9762 -#define HI_RAS1_DREG 161,9822 -#define LOW_RAS2_DREG 162,9883 -#define HI_RAS2_DREG 163,9943 -#define LOW_RAS3_DREG 164,10004 -#define HI_RAS3_DREG 165,10064 -#define LOW_CS0_DREG 167,10161 -#define HI_CS0_DREG 168,10221 -#define LOW_CS1_DREG 169,10282 -#define HI_CS1_DREG 170,10342 -#define LOW_CS2_DREG 171,10403 -#define HI_CS2_DREG 172,10463 -#define LOW_CS3_DREG 173,10524 -#define HI_CS3_DREG 174,10584 -#define LOW_BOOTCS_DREG 176,10683 -#define HI_BOOTCS_DREG 177,10748 -#define LO_RAS10_GREG 179,10856 -#define HI_RAS10_GREG 180,10925 -#define LO_RAS32_GREG 181,10995 -#define HI_RAS32_GREG 182,11066 -#define LO_CS20_GREG 184,11183 -#define HI_CS20_GREG 185,11251 -#define LO_CS3B_GREG 186,11320 -#define HI_CS3B_GREG 187,11392 -#define PCI_TIMEOUT_RET 189,11508 -#define RAS10_BANKSIZE 190,11573 -#define RAS32_BANKSIZE 191,11638 -#define CS20_BANKSIZE 192,11703 -#define CS3B_BANKSIZE 193,11766 -#define DRAM_SIZE 194,11833 -#define PROM_SIZE 195,11895 -#define OFFS_DIVA_INIT_TASK_COUNT 197,12031 -#define OFFS_DSP_CODE_BASE_ADDR 198,12070 -#define OFFS_XLOG_BUF_ADDR 199,12109 -#define OFFS_XLOG_COUNT_ADDR 200,12148 -#define OFFS_XLOG_OUT_ADDR 201,12187 -#define OFFS_PROTOCOL_END_ADDR 202,12226 -#define OFFS_PROTOCOL_ID_STRING 203,12265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_bri.c,543 -static int bri_bar_length[30,583 -static void diva_bri_set_addresses(48,1304 -int diva_bri_init_card(74,2130 -static int diva_bri_cleanup_adapter(267,7187 -void diva_os_prepare_maestra_functions(324,8508 -static dword diva_bri_get_serial_number(331,8605 -static int diva_bri_reregister_io(362,9525 -diva_bri_cmd_card_proc(394,10247 -static int diva_bri_reset_adapter(514,13179 -diva_bri_write_sdram_block(602,15475 -diva_bri_start_adapter(630,16074 -static void diva_bri_clear_interrupts(746,18873 -static int diva_bri_stop_adapter(769,19325 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dfifo.h,457 -#define __DIVA_IDI_DFIFO_INC__27,908 -#define DIVA_DFIFO_CACHE_SZ 28,939 -#define DIVA_DFIFO_RAW_SZ 32,1105 -#define DIVA_DFIFO_DATA_SZ 33,1143 -#define DIVA_DFIFO_HDR_SZ 34,1175 -#define DIVA_DFIFO_SEGMENT_SZ 35,1206 -#define DIVA_DFIFO_SEGMENTS 36,1276 -#define DIVA_DFIFO_MEM_SZ 37,1354 -#define DIVA_DFIFO_STEP 41,1487 -#define DIVA_DFIFO_WRAP 49,1819 -#define DIVA_DFIFO_READY 50,1889 -#define DIVA_DFIFO_LAST 51,1961 -#define DIVA_DFIFO_AUTO 52,2033 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/main_if.h,29 -# define MAIN_IF___H27,1106 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/xdi_adapter.h,1038 -#define __DIVA_OS_XDI_ADAPTER_H__4,98 -#define DIVAS_XDI_ADAPTER_BUS_PCI 6,133 -#define DIVAS_XDI_ADAPTER_BUS_ISA 7,170 -typedef struct _divas_pci_card_resources _divas_pci_card_resources9,208 -} divas_pci_card_resources_t;divas_pci_card_resources_t20,512 -typedef union _divas_card_resources _divas_card_resources22,543 -} divas_card_resources_t;divas_card_resources_t24,614 -typedef int (*diva_init_card_proc_t)diva_init_card_proc_t27,670 -typedef int (*diva_cmd_card_proc_t)diva_cmd_card_proc_t28,742 -typedef void (*diva_xdi_clear_interrupts_proc_t)diva_xdi_clear_interrupts_proc_t31,873 -#define DIVA_XDI_MBOX_BUSY 34,964 -#define DIVA_XDI_MBOX_WAIT_XLOG 35,995 -typedef struct _xdi_mbox_t _xdi_mbox_t37,1030 -} xdi_mbox_t;xdi_mbox_t42,1145 -typedef struct _diva_os_idi_adapter_interface _diva_os_idi_adapter_interface44,1160 -} diva_os_idi_adapter_interface_t;diva_os_idi_adapter_interface_t47,1285 -typedef struct _diva_os_xdi_adapter _diva_os_xdi_adapter49,1321 -} diva_os_xdi_adapter_t;diva_os_xdi_adapter_t68,1989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dsrv_pri.h,41 -#define __DIVA_XDI_DSRV_PRI_INC__27,911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/pc.h,17250 -#define PC_H_INCLUDED27,908 -} PBUFFER;PBUFFER34,1302 -struct dualdual38,1526 -#define SWREG_DIE_WITH_LEDON 66,3318 -#define SWREG_HALT_CPU 67,3353 -#define ID_MASK 71,3637 -#define GL_ERR_ID 72,3708 -#define DSIG_ID 73,3779 -#define NL_ID 74,3850 -#define BLLC_ID 75,3921 -#define TASK_ID 76,3992 -#define TIMER_ID 77,4063 -#define TEL_ID 78,4134 -#define MAN_ID 79,4205 -#define ASSIGN 83,4489 -#define UREMOVE 84,4510 -#define REMOVE 85,4557 -#define ASSIGN_TIM 89,4791 -#define REMOVE_TIM 90,4815 -#define ASSIGN_TSK 94,5052 -#define REMOVE_TSK 95,5076 -#define LOAD 96,5100 -#define RELOCATE 97,5118 -#define START 98,5140 -#define LOAD2 99,5159 -#define RELOCATE2 100,5178 -#define TSK_B2 104,5414 -#define TSK_WAKEUP 105,5445 -#define TSK_TIMER 106,5476 -#define TSK_TSK 107,5507 -#define TSK_PC 108,5538 -#define ASSIGN_LL 112,5782 -#define REMOVE_LL 113,5853 -#define LL_UDATA 117,6137 -#define LL_ESTABLISH 118,6208 -#define LL_RELEASE 119,6279 -#define LL_DATA 120,6350 -#define LL_LOCAL 121,6421 -#define LL_DATA_PEND 122,6492 -#define LL_REMOTE 123,6563 -#define LL_TEST 124,6634 -#define LL_MDATA 125,6705 -#define LL_BUDATA 126,6776 -#define LL_XID 127,6847 -#define LL_XID_R 128,6918 -#define N_MDATA 132,7202 -#define N_CONNECT 133,7273 -#define N_CONNECT_ACK 134,7344 -#define N_DISC 135,7415 -#define N_DISC_ACK 136,7486 -#define N_RESET 137,7557 -#define N_RESET_ACK 138,7628 -#define N_DATA 139,7699 -#define N_EDATA 140,7770 -#define N_UDATA 141,7841 -#define N_BDATA 142,7912 -#define N_DATA_ACK 143,7983 -#define N_EDATA_ACK 144,8054 -#define N_XON 145,8125 -#define N_COMBI_IND 146,8179 -#define N_Q_BIT 147,8250 -#define N_M_BIT 148,8321 -#define N_D_BIT 149,8392 -#define ASSIGN_SIG 153,8676 -#define UREMOVE_SIG 154,8748 -#define REMOVE_SIG 155,8820 -#define CALL_REQ 159,9105 -#define CALL_CON 160,9176 -#define CALL_IND 161,9247 -#define LISTEN_REQ 162,9318 -#define HANGUP 163,9389 -#define SUSPEND 164,9460 -#define RESUME 165,9531 -#define SUSPEND_REJ 166,9602 -#define USER_DATA 167,9673 -#define CONGESTION 168,9744 -#define INDICATE_REQ 169,9815 -#define INDICATE_IND 170,9886 -#define CALL_RES 171,9957 -#define CALL_ALERT 172,10028 -#define INFO_REQ 173,10099 -#define INFO_IND 174,10170 -#define REJECT 175,10241 -#define RESOURCES 176,10312 -#define HW_CTRL 177,10383 -#define TEL_CTRL 178,10454 -#define STATUS_REQ 179,10525 -#define FAC_REG_REQ 180,10596 -#define FAC_REG_ACK 181,10667 -#define FAC_REG_REJ 182,10738 -#define CALL_COMPLETE 183,10809 -#define SW_CTRL 184,10880 -#define REGISTER_REQ 185,10951 -#define REGISTER_IND 186,11022 -#define FACILITY_REQ 187,11093 -#define FACILITY_IND 188,11164 -#define NCR_INFO_REQ 189,11235 -#define GCR_MIM_REQ 190,11306 -#define SIG_CTRL 191,11377 -#define DSP_CTRL 192,11448 -#define LAW_REQ 193,11519 -#define SPID_CTRL 194,11590 -#define NCR_FACILITY 195,11661 -#define CALL_HOLD 196,11732 -#define CALL_RETRIEVE 197,11803 -#define CALL_HOLD_ACK 198,11874 -#define CALL_RETRIEVE_ACK 199,11945 -#define CALL_HOLD_REJ 200,12016 -#define CALL_RETRIEVE_REJ 201,12087 -#define GCR_RESTART 202,12158 -#define S_SERVICE 203,12229 -#define S_SERVICE_REJ 204,12300 -#define S_SUPPORTED 205,12371 -#define STATUS_ENQ 206,12442 -#define CALL_GUARD 207,12513 -#define CALL_GUARD_HP 208,12584 -#define CALL_GUARD_IF 209,12655 -#define SSEXT_REQ 210,12726 -#define SSEXT_IND 211,12797 -#define INT_3PTY_NIND 213,12913 -#define INT_CF_NIND 214,12984 -#define INT_3PTY_DROP 215,13055 -#define INT_MOVE_CONF 216,13126 -#define INT_MOVE_RC 217,13197 -#define INT_MOVE_FLIPPED_CONF 218,13268 -#define INT_X5NI_OK 219,13339 -#define INT_XDMS_START 220,13410 -#define INT_XDMS_STOP 221,13481 -#define INT_XDMS_STOP2 222,13552 -#define INT_CUSTCONF_REJ 223,13623 -#define INT_CUSTXFER 224,13694 -#define INT_CUSTX_NIND 225,13765 -#define INT_CUSTXREJ_NIND 226,13836 -#define INT_X5NI_CF_XFER 227,13907 -#define VSWITCH_REQ 228,13978 -#define VSWITCH_IND 229,14049 -#define MWI_POLL 230,14120 -#define CALL_PEND_NOTIFY 231,14185 -#define DO_NOTHING 232,14256 -#define INT_CT_REJ 233,14327 -#define CALL_HOLD_COMPLETE 234,14398 -#define CALL_RETRIEVE_COMPLETE 235,14469 -#define MAN_READ 239,14761 -#define MAN_WRITE 240,14787 -#define MAN_EXECUTE 241,14813 -#define MAN_EVENT_ON 242,14839 -#define MAN_EVENT_OFF 243,14865 -#define MAN_LOCK 244,14891 -#define MAN_UNLOCK 245,14917 -#define MAN_INFO_IND 246,14943 -#define MAN_EVENT_IND 247,14969 -#define MAN_TRACE_IND 248,14995 -#define MAN_COMBI_IND 249,15021 -#define MAN_ESC 250,15047 -#define UNKNOWN_COMMAND 254,15289 -#define WRONG_COMMAND 255,15360 -#define WRONG_ID 256,15431 -#define WRONG_CH 257,15502 -#define UNKNOWN_IE 258,15573 -#define WRONG_IE 259,15644 -#define OUT_OF_RESOURCES 260,15715 -#define ISDN_GUARD_REJ 261,15786 -#define N_FLOW_CONTROL 262,15857 -#define ASSIGN_RC 263,15928 -#define ASSIGN_OK 264,15999 -#define OK_FC 265,16070 -#define READY_INT 266,16141 -#define TIMER_INT 267,16212 -#define OK 268,16283 -#define SHIFT 272,16567 -#define MORE 273,16638 -#define SDNCMPL 274,16709 -#define CL 275,16780 -#define SMSG 277,16922 -#define BC 278,16993 -#define CAU 279,17064 -#define CAD 280,17135 -#define CAI 281,17206 -#define CHI 282,17277 -#define LLI 283,17348 -#define CHA 284,17419 -#define FTY 285,17490 -#define DT 286,17561 -#define KEY 287,17632 -#define UID 288,17703 -#define DSP 289,17774 -#define SIG 290,17845 -#define OAD 291,17916 -#define OSA 292,17987 -#define CPN 293,18058 -#define DSA 294,18129 -#define RDX 295,18200 -#define RDN 296,18271 -#define RIN 297,18342 -#define IUP 298,18413 -#define IPU 299,18484 -#define RI 300,18555 -#define MIE 301,18626 -#define LLC 302,18697 -#define HLC 303,18768 -#define UUI 304,18839 -#define ESC 305,18910 -#define DLC 306,18981 -#define NLC 307,19052 -#define REDIRECT_IE 308,19123 -#define REDIRECT_NET_IE 309,19197 -#define SIN 311,19342 -#define CIF 312,19413 -#define DATE 313,19484 -#define CPS 314,19555 -#define MSGTYPEIE 318,19839 -#define CRIE 319,19910 -#define CODESET6IE 320,19981 -#define VSWITCHIE 321,20052 -#define SSEXTIE 322,20123 -#define PROFILEIE 323,20194 -#define RING_ON 327,20478 -#define RING_OFF 328,20507 -#define HANDS_FREE_ON 329,20536 -#define HANDS_FREE_OFF 330,20565 -#define ON_HOOK 331,20594 -#define OFF_HOOK 332,20623 -#define THREE_PTY_BEGIN 334,20711 -#define THREE_PTY_END 335,20750 -#define ECT_EXECUTE 336,20789 -#define ACTIVATION_DIVERSION 337,20828 -#define DEACTIVATION_DIVERSION 338,20867 -#define CALL_DEFLECTION 339,20906 -#define INTERROGATION_DIVERSION 340,20945 -#define INTERROGATION_SERV_USR_NR 341,20984 -#define ACTIVATION_MWI 342,21023 -#define DEACTIVATION_MWI 343,21062 -#define MWI_INDICATION 344,21101 -#define MWI_RESPONSE 345,21140 -#define CONF_BEGIN 346,21179 -#define CONF_ADD 347,21218 -#define CONF_SPLIT 348,21257 -#define CONF_DROP 349,21296 -#define CONF_ISOLATE 350,21335 -#define CONF_REATTACH 351,21374 -#define CONF_PARTYDISC 352,21413 -#define CCBS_INFO_RETAIN 353,21452 -#define CCBS_ERASECALLLINKAGEID 354,21491 -#define CCBS_STOP_ALERTING 355,21530 -#define CCBS_REQUEST 356,21569 -#define CCBS_DEACTIVATE 357,21608 -#define CCBS_INTERROGATE 358,21647 -#define CCBS_STATUS 359,21686 -#define CCBS_ERASE 360,21725 -#define CCBS_B_FREE 361,21764 -#define CCNR_INFO_RETAIN 362,21803 -#define CCBS_REMOTE_USER_FREE 363,21842 -#define CCNR_REQUEST 364,21881 -#define CCNR_INTERROGATE 365,21920 -#define GET_SUPPORTED_SERVICES 366,21959 -#define DIVERSION_PROCEDURE_CFU 367,21998 -#define DIVERSION_PROCEDURE_CFB 368,22039 -#define DIVERSION_PROCEDURE_CFNR 369,22080 -#define DIVERSION_DEACTIVATION_CFU 370,22121 -#define DIVERSION_DEACTIVATION_CFB 371,22162 -#define DIVERSION_DEACTIVATION_CFNR 372,22203 -#define DIVERSION_INTERROGATE_NUM 373,22244 -#define DIVERSION_INTERROGATE_CFU 374,22285 -#define DIVERSION_INTERROGATE_CFB 375,22326 -#define DIVERSION_INTERROGATE_CFNR 376,22367 -#define SMASK_HOLD_RETRIEVE 378,22428 -#define SMASK_TERMINAL_PORTABILITY 379,22474 -#define SMASK_ECT 380,22520 -#define SMASK_3PTY 381,22566 -#define SMASK_CALL_FORWARDING 382,22612 -#define SMASK_CALL_DEFLECTION 383,22658 -#define SMASK_MCID 384,22704 -#define SMASK_CCBS 385,22750 -#define SMASK_MWI 386,22796 -#define SMASK_CCNR 387,22842 -#define SMASK_CONF 388,22888 -#define DIVA_RC_TYPE_NONE 398,23351 -#define DIVA_RC_TYPE_REMOVE_COMPLETE 399,23401 -#define DIVA_RC_TYPE_STREAM_PTR 400,23451 -#define DIVA_RC_TYPE_CMA_PTR 401,23501 -#define DIVA_RC_TYPE_OK_FC 402,23551 -#define DIVA_RC_TYPE_RX_DMA 403,23601 -#define CTRL_L1_SET_SIG_ID 407,23815 -#define CTRL_L1_SET_DAD 408,23851 -#define CTRL_L1_RESOURCES 409,23887 -#define X75T 414,24123 -#define TRF 415,24194 -#define TRF_IN 416,24265 -#define SDLC 417,24336 -#define X75 418,24407 -#define LAPD 419,24478 -#define X25_L2 420,24549 -#define V120_L2 421,24620 -#define V42_IN 422,24691 -#define V42 423,24762 -#define MDM_ATP 424,24833 -#define X75_V42BIS 425,24904 -#define RTPL2_IN 426,24975 -#define RTPL2 427,25046 -#define V120_V42BIS 428,25117 -#define LISTENER 429,25210 -#define MTP2 430,25271 -#define PIAFS_CRC 431,25322 -#define PIAFS_64K 435,25545 -#define PIAFS_VARIABLE_SPEED 436,25579 -#define PIAFS_CHINESE_SPEED 437,25613 -#define PIAFS_UDATA_ABILITY_ID 438,25649 -#define PIAFS_UDATA_ABILITY_DCDON 439,25688 -#define PIAFS_UDATA_ABILITY_DDI 440,25727 -#define LISTENER_FEATURE_MASK_CUMMULATIVE 534,31788 -#define META_CODE_LL_UDATA_RX 538,32017 -#define META_CODE_LL_UDATA_TX 539,32052 -#define META_CODE_LL_DATA_RX 540,32087 -#define META_CODE_LL_DATA_TX 541,32122 -#define META_CODE_LL_MDATA_RX 542,32157 -#define META_CODE_LL_MDATA_TX 543,32192 -#define META_CODE_EMPTY 544,32227 -#define META_CODE_LOST_FRAMES 545,32262 -#define META_FLAG_TRUNCATED 546,32297 -#define GL_INTERNAL_CONTROLLER_SUPPORTED 550,32547 -#define GL_EXTERNAL_EQUIPMENT_SUPPORTED 551,32604 -#define GL_HANDSET_SUPPORTED 552,32661 -#define GL_DTMF_SUPPORTED 553,32718 -#define GL_SUPPLEMENTARY_SERVICES_SUPPORTED 554,32775 -#define GL_CHANNEL_ALLOCATION_SUPPORTED 555,32832 -#define GL_BCHANNEL_OPERATION_SUPPORTED 556,32889 -#define GL_LINE_INTERCONNECT_SUPPORTED 557,32946 -#define B1_HDLC_SUPPORTED 558,33003 -#define B1_TRANSPARENT_SUPPORTED 559,33060 -#define B1_V110_ASYNC_SUPPORTED 560,33117 -#define B1_V110_SYNC_SUPPORTED 561,33174 -#define B1_T30_SUPPORTED 562,33231 -#define B1_HDLC_INVERTED_SUPPORTED 563,33288 -#define B1_TRANSPARENT_R_SUPPORTED 564,33345 -#define B1_MODEM_ALL_NEGOTIATE_SUPPORTED 565,33402 -#define B1_MODEM_ASYNC_SUPPORTED 566,33459 -#define B1_MODEM_SYNC_HDLC_SUPPORTED 567,33516 -#define B2_X75_SUPPORTED 568,33573 -#define B2_TRANSPARENT_SUPPORTED 569,33630 -#define B2_SDLC_SUPPORTED 570,33687 -#define B2_LAPD_SUPPORTED 571,33744 -#define B2_T30_SUPPORTED 572,33801 -#define B2_PPP_SUPPORTED 573,33858 -#define B2_TRANSPARENT_NO_CRC_SUPPORTED 574,33915 -#define B2_MODEM_EC_COMPRESSION_SUPPORTED 575,33972 -#define B2_X75_V42BIS_SUPPORTED 576,34029 -#define B2_V120_ASYNC_SUPPORTED 577,34086 -#define B2_V120_ASYNC_V42BIS_SUPPORTED 578,34143 -#define B2_V120_BIT_TRANSPARENT_SUPPORTED 579,34200 -#define B2_LAPD_FREE_SAPI_SEL_SUPPORTED 580,34257 -#define B3_TRANSPARENT_SUPPORTED 581,34314 -#define B3_T90NL_SUPPORTED 582,34371 -#define B3_ISO8208_SUPPORTED 583,34428 -#define B3_X25_DCE_SUPPORTED 584,34485 -#define B3_T30_SUPPORTED 585,34542 -#define B3_T30_WITH_EXTENSIONS_SUPPORTED 586,34599 -#define B3_RESERVED_SUPPORTED 587,34656 -#define B3_MODEM_SUPPORTED 588,34713 -#define MANUFACTURER_FEATURE_SLAVE_CODEC 589,34770 -#define MANUFACTURER_FEATURE_FAX_MORE_DOCUMENTS 590,34832 -#define MANUFACTURER_FEATURE_HARDDTMF 591,34894 -#define MANUFACTURER_FEATURE_SOFTDTMF_SEND 592,34956 -#define MANUFACTURER_FEATURE_DTMF_PARAMETERS 593,35018 -#define MANUFACTURER_FEATURE_SOFTDTMF_RECEIVE 594,35080 -#define MANUFACTURER_FEATURE_FAX_SUB_SEP_PWD 595,35142 -#define MANUFACTURER_FEATURE_V18 596,35204 -#define MANUFACTURER_FEATURE_MIXER_CH_CH 597,35266 -#define MANUFACTURER_FEATURE_MIXER_CH_PC 598,35328 -#define MANUFACTURER_FEATURE_MIXER_PC_CH 599,35390 -#define MANUFACTURER_FEATURE_MIXER_PC_PC 600,35452 -#define MANUFACTURER_FEATURE_ECHO_CANCELLER 601,35514 -#define MANUFACTURER_FEATURE_RTP 602,35576 -#define MANUFACTURER_FEATURE_T38 603,35638 -#define MANUFACTURER_FEATURE_TRANSP_DELIVERY_CONF 604,35700 -#define MANUFACTURER_FEATURE_XONOFF_FLOW_CONTROL 605,35762 -#define MANUFACTURER_FEATURE_OOB_CHANNEL 606,35824 -#define MANUFACTURER_FEATURE_IN_BAND_CHANNEL 607,35886 -#define MANUFACTURER_FEATURE_IN_BAND_FEATURE 608,35948 -#define MANUFACTURER_FEATURE_PIAFS 609,36010 -#define MANUFACTURER_FEATURE_DTMF_TONE 610,36072 -#define MANUFACTURER_FEATURE_FAX_PAPER_FORMATS 611,36134 -#define MANUFACTURER_FEATURE_OK_FC_LABEL 612,36196 -#define MANUFACTURER_FEATURE_VOWN 613,36258 -#define MANUFACTURER_FEATURE_XCONNECT 614,36320 -#define MANUFACTURER_FEATURE_DMACONNECT 615,36382 -#define MANUFACTURER_FEATURE_AUDIO_TAP 616,36444 -#define MANUFACTURER_FEATURE_FAX_NONSTANDARD 617,36506 -#define MANUFACTURER_FEATURE_SS7 618,36568 -#define MANUFACTURER_FEATURE_MADAPTER 619,36630 -#define MANUFACTURER_FEATURE_MEASURE 620,36692 -#define MANUFACTURER_FEATURE2_LISTENING 621,36754 -#define MANUFACTURER_FEATURE2_SS_DIFFCONTPOSSIBLE 622,36816 -#define MANUFACTURER_FEATURE2_GENERIC_TONE 623,36878 -#define MANUFACTURER_FEATURE2_COLOR_FAX 624,36940 -#define MANUFACTURER_FEATURE2_SS_ECT_DIFFCONTPOSSIBLE 625,37002 -#define RTP_PRIM_PAYLOAD_PCMU_8000 626,37068 -#define RTP_PRIM_PAYLOAD_1016_8000 627,37109 -#define RTP_PRIM_PAYLOAD_G726_32_8000 628,37150 -#define RTP_PRIM_PAYLOAD_GSM_8000 629,37191 -#define RTP_PRIM_PAYLOAD_G723_8000 630,37232 -#define RTP_PRIM_PAYLOAD_DVI4_8000 631,37273 -#define RTP_PRIM_PAYLOAD_DVI4_16000 632,37314 -#define RTP_PRIM_PAYLOAD_LPC_8000 633,37355 -#define RTP_PRIM_PAYLOAD_PCMA_8000 634,37396 -#define RTP_PRIM_PAYLOAD_G722_16000 635,37437 -#define RTP_PRIM_PAYLOAD_QCELP_8000 636,37478 -#define RTP_PRIM_PAYLOAD_G728_8000 637,37520 -#define RTP_PRIM_PAYLOAD_G729_8000 638,37562 -#define RTP_PRIM_PAYLOAD_GSM_HR_8000 639,37604 -#define RTP_PRIM_PAYLOAD_GSM_EFR_8000 640,37646 -#define RTP_ADD_PAYLOAD_BASE 641,37688 -#define RTP_ADD_PAYLOAD_RED 642,37730 -#define RTP_ADD_PAYLOAD_CN_8000 643,37772 -#define RTP_ADD_PAYLOAD_DTMF 644,37814 -#define RTP_PRIM_PAYLOAD_PCMU_8000_SUPPORTED 645,37856 -#define RTP_PRIM_PAYLOAD_1016_8000_SUPPORTED 646,37940 -#define RTP_PRIM_PAYLOAD_G726_32_8000_SUPPORTED 647,38024 -#define RTP_PRIM_PAYLOAD_GSM_8000_SUPPORTED 648,38111 -#define RTP_PRIM_PAYLOAD_G723_8000_SUPPORTED 649,38194 -#define RTP_PRIM_PAYLOAD_DVI4_8000_SUPPORTED 650,38278 -#define RTP_PRIM_PAYLOAD_DVI4_16000_SUPPORTED 651,38362 -#define RTP_PRIM_PAYLOAD_LPC_8000_SUPPORTED 652,38447 -#define RTP_PRIM_PAYLOAD_PCMA_8000_SUPPORTED 653,38530 -#define RTP_PRIM_PAYLOAD_G722_16000_SUPPORTED 654,38614 -#define RTP_PRIM_PAYLOAD_QCELP_8000_SUPPORTED 655,38699 -#define RTP_PRIM_PAYLOAD_G728_8000_SUPPORTED 656,38784 -#define RTP_PRIM_PAYLOAD_G729_8000_SUPPORTED 657,38868 -#define RTP_PRIM_PAYLOAD_GSM_HR_8000_SUPPORTED 658,38952 -#define RTP_PRIM_PAYLOAD_GSM_EFR_8000_SUPPORTED 659,39038 -#define RTP_ADD_PAYLOAD_RED_SUPPORTED 660,39125 -#define RTP_ADD_PAYLOAD_CN_8000_SUPPORTED 661,39227 -#define RTP_ADD_PAYLOAD_DTMF_SUPPORTED 662,39333 -#define VSJOIN 664,39472 -#define VSTRANSPORT 665,39497 -#define VSGETPARAMS 666,39522 -#define VSCAD 667,39547 -#define VSRXCPNAME 668,39572 -#define VSCALLSTAT 669,39597 -#define VSINVOKEID 670,39622 -#define VSCLMRKS 671,39646 -#define VSTBCTIDENT 672,39671 -#define VSETSILINKID 673,39696 -#define VSSAMECONTROLLER 674,39721 -#define VSETSILINKIDRRWC 676,39788 -#define VSETSILINKIDREJECT 677,39820 -#define VSETSILINKIDTIMEOUT 678,39852 -#define VSETSILINKIDFAILCOUNT 679,39884 -#define VSETSILINKIDERROR 680,39916 -#define PROTCAP_TELINDUS 689,40441 -#define PROTCAP_MAN_IF 690,40517 -#define PROTCAP_V_42 691,40593 -#define PROTCAP_V90D 692,40669 -#define PROTCAP_EXTD_FAX 693,40745 -#define PROTCAP_EXTD_RXFC 694,40821 -#define PROTCAP_VOIP 695,40897 -#define PROTCAP_CMA_ALLPR 696,40973 -#define PROTCAP_FREE8 697,41049 -#define PROTCAP_FREE9 698,41125 -#define PROTCAP_FREE10 699,41201 -#define PROTCAP_FREE11 700,41277 -#define PROTCAP_FREE12 701,41353 -#define PROTCAP_FREE13 702,41429 -#define PROTCAP_FREE14 703,41505 -#define PROTCAP_EXTENSION 704,41581 -#define CALL_SETUP 709,41828 -#define MESSAGE_WAITING_INDICATOR 710,41867 -#define ADVICE_OF_CHARGE 713,41992 -#define DATE_AND_TIME 721,42127 -#define CLI_PARAMETER_TYPE 722,42193 -#define CALLED_DIRECTORY_NUMBER_PARAMETER_TYPE 723,42259 -#define REASON_FOR_ABSENCE_OF_CLI_PARAMETER_TYPE 724,42325 -#define NAME_PARAMETER_TYPE 725,42391 -#define REASON_FOR_ABSENCE_OF_CALLING_PARTY_NAME_PARAMETER_TYPE 726,42457 -#define VISUAL_INDICATOR_PARAMETER_TYPE 727,42523 -#define COMPLEMENTARY_CLI_PARAMETER_TYPE 728,42591 -#define CALL_TYPE_PARAMETER_TYPE 729,42660 -#define FIRST_CALLED_LINE_DIRECTORY_NUMBER_PARAMETER_TYPE 730,42729 -#define NETWORK_MESSAGE_SYSTEM_STATUS_PARAMETER_TYPE 731,42798 -#define FORWARDED_CALL_TYPE_PARAMETER_TYPE 732,42867 -#define TYPE_OF_CALLING_USER_PARAMETER_TYPE 733,42936 -#define REDIRECTING_NUMBER_PARAMETER_TYPE 734,43005 -#define EXTENSION_FOR_NETWORK_OPERATOR_USE_PARAMETER_TYPE 735,43074 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divasi.c,1344 -static char *main_revision 30,780 -static int major;32,831 -typedef struct _diva_um_idi_os_context _diva_um_idi_os_context39,1036 -} diva_um_idi_os_context_t;diva_um_idi_os_context_t45,1203 -static char *DRIVERNAME 47,1232 -static char *DRIVERLNAME 48,1308 -static char *DEVNAME 49,1347 -char *DRIVERRELEASE_IDI 50,1382 -static char *getrev(58,1509 -static struct proc_dir_entry *um_idi_proc_entry 88,2297 -um_idi_proc_read(91,2365 -static int DIVA_INIT_FUNCTION create_um_idi_proc(113,3020 -static void remove_um_idi_proc(127,3345 -static struct file_operations divas_idi_fops 135,3494 -static void divas_idi_unregister_chrdev(145,3723 -static int DIVA_INIT_FUNCTION divas_idi_register_chrdev(151,3834 -static int DIVA_INIT_FUNCTION divasi_init(167,4167 -static void DIVA_EXIT_FUNCTION divasi_exit(208,5001 -divas_um_idi_copy_to_user(226,5280 -um_idi_read(234,5433 -divas_um_idi_copy_from_user(287,6407 -static int um_idi_open_adapter(294,6549 -um_idi_write(315,7162 -static unsigned int um_idi_poll(373,8415 -static int um_idi_open(405,8980 -static int um_idi_release(411,9062 -int diva_os_get_context_size(444,9635 -void diva_os_wakeup_read(449,9719 -void diva_os_wakeup_close(456,9889 -void diva_um_timer_function(464,10068 -static int remove_entity(478,10461 -void diva_um_idi_start_wdog(558,12038 -void diva_um_idi_stop_wdog(570,12287 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/cp_vers.h,48 -static char diva_capi_common_code_build[26,877 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_4bri.h,33 -#define __DIVA_OS_4_BRI_H__4,92 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diva_didd.c,576 -static char *main_revision 26,665 -static char *DRIVERNAME 28,720 -static char *DRIVERLNAME 30,802 -char *DRIVERRELEASE_DIDD 31,841 -static char *main_proc_dir 33,876 -#define DBG_MINIMUM 40,1098 -#define DBG_DEFAULT 41,1146 -static struct proc_dir_entry *proc_didd;48,1310 -struct proc_dir_entry *proc_net_eicon 49,1351 -static char *getrev(54,1461 -proc_read(68,1664 -static int DIVA_INIT_FUNCTION create_proc(90,2300 -static void DIVA_EXIT_FUNCTION remove_proc(105,2626 -static int DIVA_INIT_FUNCTION divadidd_init(111,2774 -void DIVA_EXIT_FUNCTION divadidd_exit(143,3429 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/debug_if.h,1190 -#define __DIVA_DEBUG_IF_H__24,900 -#define MSG_TYPE_DRV_ID 25,928 -#define MSG_TYPE_FLAGS 26,960 -#define MSG_TYPE_STRING 27,991 -#define MSG_TYPE_BINARY 28,1023 -#define MSG_TYPE_MLOG 29,1055 -#define MSG_FRAME_MAX_SIZE 31,1089 -typedef struct _diva_dbg_entry_head _diva_dbg_entry_head33,1122 -} diva_dbg_entry_head_t;diva_dbg_entry_head_t42,1299 -#define DIVA_MAX_SELECTIVE_FILTER_LENGTH 60,2122 -#define DITRACE_CMD_GET_DRIVER_INFO 65,2303 -#define DITRACE_READ_DRIVER_DBG_MASK 66,2343 -#define DITRACE_WRITE_DRIVER_DBG_MASK 67,2383 -#define DITRACE_READ_TRACE_ENTRY 68,2423 -#define DITRACE_READ_TRACE_ENTRYS 69,2463 -#define DITRACE_WRITE_SELECTIVE_TRACE_FILTER 70,2503 -#define DITRACE_READ_SELECTIVE_TRACE_FILTER 71,2550 -#define DIVA_MGT_DBG_TRACE 76,2656 -#define DIVA_MGT_DBG_DCHAN 77,2742 -#define DIVA_MGT_DBG_MDM_PROGRESS 78,2832 -#define DIVA_MGT_DBG_FAX_PROGRESS 79,2907 -#define DIVA_MGT_DBG_IFC_STATISTICS 80,2980 -#define DIVA_MGT_DBG_MDM_STATISTICS 81,3059 -#define DIVA_MGT_DBG_FAX_STATISTICS 82,3138 -#define DIVA_MGT_DBG_LINE_EVENTS 83,3217 -#define DIVA_MGT_DBG_IFC_EVENTS 84,3288 -#define DIVA_MGT_DBG_IFC_BCHANNEL 85,3370 -#define DIVA_MGT_DBG_IFC_AUDIO 86,3456 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/cardtype.h,8941 -#define _CARDTYPE_H_27,898 -#define CARDTYPE_H_WANT_DATA 29,948 -#define CARDTYPE_H_WANT_IDI_DATA 32,1021 -#define CARDTYPE_H_WANT_RESOURCE_DATA 35,1102 -#define CARDTYPE_H_WANT_FILE_DATA 38,1183 -#define PROTTYPE_MINVAL 57,2022 -#define PROTTYPE_ETSI 58,2052 -#define PROTTYPE_1TR6 59,2082 -#define PROTTYPE_BELG 60,2112 -#define PROTTYPE_FRANC 61,2142 -#define PROTTYPE_ATEL 62,2172 -#define PROTTYPE_NI 63,2202 -#define PROTTYPE_5ESS 64,2270 -#define PROTTYPE_JAPAN 65,2338 -#define PROTTYPE_SWED 66,2368 -#define PROTTYPE_US 67,2398 -#define PROTTYPE_ITALY 68,2449 -#define PROTTYPE_TWAN 69,2480 -#define PROTTYPE_AUSTRAL 70,2511 -#define PROTTYPE_4ESDN 71,2542 -#define PROTTYPE_4ESDS 72,2573 -#define PROTTYPE_4ELDS 73,2604 -#define PROTTYPE_4EMGC 74,2635 -#define PROTTYPE_4EMGI 75,2666 -#define PROTTYPE_HONGKONG 76,2697 -#define PROTTYPE_RBSCAS 77,2728 -#define PROTTYPE_CORNETN 78,2759 -#define PROTTYPE_QSIG 79,2790 -#define PROTTYPE_NI_EWSD 80,2821 -#define PROTTYPE_5ESS_NI 81,2889 -#define PROTTYPE_T1CORNETN 82,2957 -#define PROTTYPE_CORNETNQ 83,2988 -#define PROTTYPE_T1CORNETNQ 84,3019 -#define PROTTYPE_T1QSIG 85,3050 -#define PROTTYPE_E1UNCH 86,3081 -#define PROTTYPE_T1UNCH 87,3112 -#define PROTTYPE_E1CHAN 88,3143 -#define PROTTYPE_T1CHAN 89,3174 -#define PROTTYPE_R2CAS 90,3205 -#define PROTTYPE_MAXVAL 91,3236 -#define CARD_UNKNOWN 95,3299 -#define CARD_NONE 96,3343 -#define CARDTYPE_DIVA_MCA 98,3406 -#define CARDTYPE_DIVA_ISA 99,3450 -#define CARDTYPE_DIVA_PCM 100,3494 -#define CARDTYPE_DIVAPRO_ISA 101,3538 -#define CARDTYPE_DIVAPRO_PCM 102,3582 -#define CARDTYPE_DIVAPICO_ISA 103,3626 -#define CARDTYPE_DIVAPICO_PCM 104,3670 -#define CARDTYPE_DIVAPRO20_PCI 106,3737 -#define CARDTYPE_DIVA20_PCI 107,3781 -#define CARDTYPE_QUADRO_ISA 109,3841 -#define CARDTYPE_S_ISA 110,3885 -#define CARDTYPE_S_MCA 111,3930 -#define CARDTYPE_SX_ISA 112,3975 -#define CARDTYPE_SX_MCA 113,4020 -#define CARDTYPE_SXN_ISA 114,4065 -#define CARDTYPE_SXN_MCA 115,4110 -#define CARDTYPE_SCOM_ISA 116,4155 -#define CARDTYPE_SCOM_MCA 117,4200 -#define CARDTYPE_PR_ISA 118,4245 -#define CARDTYPE_PR_MCA 119,4290 -#define CARDTYPE_MAESTRA_ISA 121,4401 -#define CARDTYPE_MAESTRA_PCI 122,4446 -#define CARDTYPE_DIVASRV_Q_8M_PCI 124,4556 -#define CARDTYPE_DIVASRV_P_30M_PCI 125,4601 -#define CARDTYPE_DIVASRV_P_2M_PCI 126,4646 -#define CARDTYPE_DIVASRV_P_9M_PCI 127,4691 -#define CARDTYPE_DIVA20_ISA 129,4759 -#define CARDTYPE_DIVA20U_ISA 130,4804 -#define CARDTYPE_DIVA20U_PCI 131,4849 -#define CARDTYPE_DIVAPRO20_ISA 132,4894 -#define CARDTYPE_DIVAPRO20U_ISA 133,4939 -#define CARDTYPE_DIVAPRO20U_PCI 134,4984 -#define CARDTYPE_DIVAMOBILE_PCM 136,5091 -#define CARDTYPE_TDKGLOBALPRO_PCM 137,5136 -#define CARDTYPE_NMC_DIVAPRO_PCM 139,5238 -#define CARDTYPE_BT_EXLANE_PCI 141,5336 -#define CARDTYPE_BT_EXLANE_ISA 142,5381 -#define CARDTYPE_DIVALOW_ISA 144,5497 -#define CARDTYPE_DIVALOWU_ISA 145,5542 -#define CARDTYPE_DIVALOW_PCI 146,5587 -#define CARDTYPE_DIVALOWU_PCI 147,5632 -#define CARDTYPE_DIVAMOBILE_V90_PCM 149,5739 -#define CARDTYPE_TDKGLOBPRO_V90_PCM 150,5784 -#define CARDTYPE_DIVASRV_P_23M_PCI 151,5829 -#define CARDTYPE_DIVALOW_USB 152,5874 -#define CARDTYPE_DIVA_CT_ST 154,5950 -#define CARDTYPE_DIVA_CT_U 155,5995 -#define CARDTYPE_DIVA_CTLITE_ST 156,6040 -#define CARDTYPE_DIVA_CTLITE_U 157,6085 -#define CARDTYPE_DIVAISDN_V90_PCM 159,6165 -#define CARDTYPE_DIVAISDN_V90_PCI 160,6210 -#define CARDTYPE_DIVAISDN_TA 161,6255 -#define CARDTYPE_DIVASRV_VOICE_Q_8M_PCI 163,6332 -#define CARDTYPE_DIVASRV_Q_8M_V2_PCI 165,6406 -#define CARDTYPE_DIVASRV_P_30M_V2_PCI 166,6451 -#define CARDTYPE_DIVASRV_VOICE_Q_8M_V2_PCI 168,6531 -#define CARDTYPE_DIVASRV_VOICE_P_30M_V2_PCI 169,6577 -#define CARDTYPE_DIVAISDN_LAN 171,6643 -#define CARDTYPE_DIVA_202_PCI_ST 172,6688 -#define CARDTYPE_DIVA_202_PCI_U 173,6733 -#define CARDTYPE_DIVASRV_B_2M_V2_PCI 174,6778 -#define CARDTYPE_DIVASRV_B_2F_PCI 175,6823 -#define CARDTYPE_DIVALOW_USBV2 176,6868 -#define CARDTYPE_DIVASRV_VOICE_B_2M_V2_PCI 177,6913 -#define CARDTYPE_DIVA_PRO_30_PCI_ST 178,6959 -#define CARDTYPE_DIVA_CT_ST_V20 179,7004 -#define CARDTYPE_DIVAMOBILE_V2_PCM 181,7102 -#define CARDTYPE_DIVA_V2_PCM 182,7147 -#define CARDTYPE_DIVA_PC_CARD 184,7225 -#define CARDTYPE_MAX 186,7309 -#define FAMILY_DIVA 190,7382 -#define FAMILY_S 191,7406 -#define FAMILY_MAESTRA 192,7427 -#define FAMILY_MAX 193,7453 -#define CARD_DIVA 197,7507 -#define CARD_PRO 198,7563 -#define CARD_PICO 199,7619 -#define CARD_S 200,7669 -#define CARD_SX 201,7715 -#define CARD_SXN 202,7762 -#define CARD_SCOM 203,7809 -#define CARD_QUAD 204,7857 -#define CARD_PR 205,7905 -#define CARD_MAE 206,7952 -#define CARD_MAEQ 207,8006 -#define CARD_MAEP 208,8060 -#define CARD_DIVALOW 209,8114 -#define CARD_CT 210,8159 -#define CARD_DIVATA 211,8209 -#define CARD_DIVALAN 212,8249 -#define CARD_MAE2 213,8290 -#define CARD_MAX 214,8345 -#define CARD_I_NONE 218,8417 -#define CARD_I_S 219,8441 -#define CARD_I_SX 220,8462 -#define CARD_I_SCOM 221,8484 -#define CARD_I_QUAD 222,8508 -#define CARD_I_PR 223,8532 -#define BUS_ISA 227,8589 -#define BUS_PCM 228,8619 -#define BUS_PCI 229,8649 -#define BUS_MCA 230,8679 -#define BUS_USB 231,8709 -#define BUS_COM 232,8739 -#define BUS_LAN 233,8760 -#define CHIP_NONE 237,8830 -#define CHIP_DSP 238,8860 -#define CHIP_HSCX 239,8890 -#define CHIP_IPAC 240,8920 -#define CHIP_SCOUT 241,8950 -#define CHIP_EXTERN 242,8980 -#define CHIP_IPACX 243,9010 -typedef struct CARD_PROPERTIESCARD_PROPERTIES247,9112 -} CARD_PROPERTIES;CARD_PROPERTIES263,10099 -typedef struct CARD_RESOURCECARD_RESOURCE264,10118 -} CARD_RESOURCE;CARD_RESOURCE272,10318 -#define IS_PNP(IS_PNP274,10392 -#define IDI_PROP(IDI_PROP289,10690 -#define IDI_ADAPTER_S 297,11019 -#define IDI_ADAPTER_PR 298,11053 -#define IDI_ADAPTER_DIVA 299,11087 -#define IDI_ADAPTER_MAESTRA 300,11121 -#define DI_VOICE 303,11179 -#define DI_FAX3 304,11231 -#define DI_MODEM 305,11261 -#define DI_POST 306,11291 -#define DI_V110 307,11321 -#define DI_V120 308,11351 -#define DI_POTS 309,11382 -#define DI_CODEC 310,11413 -#define DI_MANAGE 311,11444 -#define DI_V_42 312,11475 -#define DI_EXTD_FAX 313,11508 -#define DI_AT_PARSER 314,11584 -#define DI_VOICE_OVER_IP 315,11652 -#define DI_V1x0 318,11756 -#define DI_NULL 319,11800 -#define SOFT_DSP_ADD_FEATURES 321,11861 -#define SOFT_DSP_ADD_FEATURES 323,11934 -#define DI_SOFT_V110 326,12005 -#define DI_SOFT_V110 328,12041 -CARD_PROPERTIES CardProperties 331,12151 -CARD_RESOURCE CardResource 751,25889 -#define CARD_DSP_CNT 831,32166 -#define CARD_PROT_CNT 832,32190 -#define CARD_FT_UNKNOWN 833,32215 -#define CARD_FT_B 834,32245 -#define CARD_FT_D 835,32267 -#define CARD_FT_S 836,32289 -#define CARD_FT_M 837,32311 -#define CARD_FT_NEW_DSP_COMBIFILE 838,32333 -#define CARD_FILE_NONE 839,32439 -#define CARD_B_S 840,32469 -#define CARD_B_P 841,32490 -#define CARD_D_K1 842,32511 -#define CARD_D_K2 843,32533 -#define CARD_D_H 844,32555 -#define CARD_D_V 845,32576 -#define CARD_D_M 846,32597 -#define CARD_D_F 847,32618 -#define CARD_P_S_E 848,32639 -#define CARD_P_S_1 849,32662 -#define CARD_P_S_B 850,32686 -#define CARD_P_S_F 851,32710 -#define CARD_P_S_A 852,32734 -#define CARD_P_S_N 853,32758 -#define CARD_P_S_5 854,32782 -#define CARD_P_S_J 855,32806 -#define CARD_P_SX_E 856,32830 -#define CARD_P_SX_1 857,32855 -#define CARD_P_SX_B 858,32880 -#define CARD_P_SX_F 859,32905 -#define CARD_P_SX_A 860,32930 -#define CARD_P_SX_N 861,32955 -#define CARD_P_SX_5 862,32980 -#define CARD_P_SX_J 863,33005 -#define CARD_P_SY_E 864,33030 -#define CARD_P_SY_1 865,33055 -#define CARD_P_SY_B 866,33080 -#define CARD_P_SY_F 867,33105 -#define CARD_P_SY_A 868,33130 -#define CARD_P_SY_N 869,33155 -#define CARD_P_SY_5 870,33180 -#define CARD_P_SY_J 871,33205 -#define CARD_P_SQ_E 872,33230 -#define CARD_P_SQ_1 873,33255 -#define CARD_P_SQ_B 874,33280 -#define CARD_P_SQ_F 875,33305 -#define CARD_P_SQ_A 876,33330 -#define CARD_P_SQ_N 877,33355 -#define CARD_P_SQ_5 878,33380 -#define CARD_P_SQ_J 879,33405 -#define CARD_P_P_E 880,33430 -#define CARD_P_P_1 881,33454 -#define CARD_P_P_B 882,33478 -#define CARD_P_P_F 883,33502 -#define CARD_P_P_A 884,33526 -#define CARD_P_P_N 885,33550 -#define CARD_P_P_5 886,33574 -#define CARD_P_P_J 887,33598 -#define CARD_P_M_E 888,33622 -#define CARD_P_M_1 889,33646 -#define CARD_P_M_B 890,33670 -#define CARD_P_M_F 891,33694 -#define CARD_P_M_A 892,33718 -#define CARD_P_M_N 893,33742 -#define CARD_P_M_5 894,33766 -#define CARD_P_M_J 895,33790 -#define CARD_P_S_S 896,33814 -#define CARD_P_SX_S 897,33838 -#define CARD_P_SY_S 898,33863 -#define CARD_P_SQ_S 899,33888 -#define CARD_P_P_S 900,33913 -#define CARD_P_M_S 901,33937 -#define CARD_D_NEW_DSP_COMBIFILE 902,33961 -typedef struct CARD_FILES_DATACARD_FILES_DATA903,33997 -CARD_FILES_DATA;CARD_FILES_DATA908,34071 -typedef struct CARD_FILESCARD_FILES909,34088 -CARD_FILES;CARD_FILES916,34244 -CARD_FILES_DATA CardFData 919,34311 -CARD_FILES CardFiles 986,36131 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/mntfunc.c,504 -#define DBG_MINIMUM 21,517 -#define DBG_DEFAULT 22,565 -static dword notify_handle;26,662 -static DESCRIPTOR DAdapter;27,690 -static DESCRIPTOR MAdapter;28,718 -static DESCRIPTOR MaintDescriptor 29,746 -static void no_printf(37,1048 -static void *didd_callback(47,1183 -static int DIVA_INIT_FUNCTION connect_didd(75,1890 -static void DIVA_EXIT_FUNCTION disconnect_didd(117,3094 -int maint_read_write(136,3598 -int DIVA_INIT_FUNCTION mntfunc_init(303,7231 -void DIVA_EXIT_FUNCTION mntfunc_finit(351,8166 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/xdi_msg.h,1803 -#define __DIVA_XDI_UM_CFG_MESSAGE_H__4,102 -#define DIVA_XDI_UM_CMD_GET_CARD_ORDINAL 14,332 -#define DIVA_XDI_UM_CMD_WRITE_SDRAM_BLOCK 20,479 -#define DIVA_XDI_UM_CMD_WRITE_FPGA 25,590 -#define DIVA_XDI_UM_CMD_READ_SDRAM 30,701 -#define DIVA_XDI_UM_CMD_GET_SERIAL_NR 35,822 -#define DIVA_XDI_UM_CMD_GET_PCI_HW_CONFIG 42,982 -#define DIVA_XDI_UM_CMD_RESET_ADAPTER 48,1092 -#define DIVA_XDI_UM_CMD_START_ADAPTER 56,1312 -#define DIVA_XDI_UM_CMD_STOP_ADAPTER 64,1493 -#define DIVA_XDI_UM_CMD_GET_CARD_STATE 74,1765 -#define DIVA_XDI_UM_CMD_READ_XLOG_ENTRY 79,1847 -#define DIVA_XDI_UM_CMD_SET_PROTOCOL_FEATURES 84,1942 -typedef struct _diva_xdi_um_cfg_cmd_data_set_features _diva_xdi_um_cfg_cmd_data_set_features86,1992 -} diva_xdi_um_cfg_cmd_data_set_features_t;diva_xdi_um_cfg_cmd_data_set_features_t88,2065 -typedef struct _diva_xdi_um_cfg_cmd_data_start _diva_xdi_um_cfg_cmd_data_start90,2109 -} diva_xdi_um_cfg_cmd_data_start_t;diva_xdi_um_cfg_cmd_data_start_t93,2190 -typedef struct _diva_xdi_um_cfg_cmd_data_write_sdram _diva_xdi_um_cfg_cmd_data_write_sdram95,2227 -} diva_xdi_um_cfg_cmd_data_write_sdram_t;diva_xdi_um_cfg_cmd_data_write_sdram_t99,2331 -typedef struct _diva_xdi_um_cfg_cmd_data_write_fpga _diva_xdi_um_cfg_cmd_data_write_fpga101,2374 -} diva_xdi_um_cfg_cmd_data_write_fpga_t;diva_xdi_um_cfg_cmd_data_write_fpga_t104,2469 -typedef struct _diva_xdi_um_cfg_cmd_data_read_sdram _diva_xdi_um_cfg_cmd_data_read_sdram106,2511 -} diva_xdi_um_cfg_cmd_data_read_sdram_t;diva_xdi_um_cfg_cmd_data_read_sdram_t110,2614 -typedef union _diva_xdi_um_cfg_cmd_data _diva_xdi_um_cfg_cmd_data112,2656 -} diva_xdi_um_cfg_cmd_data_t;diva_xdi_um_cfg_cmd_data_t118,2945 -typedef struct _diva_xdi_um_cfg_cmd _diva_xdi_um_cfg_cmd120,2976 -} diva_xdi_um_cfg_cmd_t;diva_xdi_um_cfg_cmd_t125,3172 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/entity.h,364 -#define __DIVAS_USER_MODE_IDI_ENTITY__4,98 -#define DIVA_UM_IDI_RC_PENDING 6,138 -#define DIVA_UM_IDI_REMOVE_PENDING 7,185 -#define DIVA_UM_IDI_TX_FLOW_CONTROL 8,232 -#define DIVA_UM_IDI_REMOVED 9,279 -#define DIVA_UM_IDI_ASSIGN_PENDING 10,326 -typedef struct _divas_um_idi_entity _divas_um_idi_entity12,374 -} divas_um_idi_entity_t;divas_um_idi_entity_t25,908 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_4bri.c,984 -void *diva_xdiLoadFileFile 20,369 -dword diva_xdiLoadFileLength 21,404 -static unsigned long _4bri_bar_length[39,893 -static unsigned long _4bri_v2_bar_length[45,994 -static unsigned long _4bri_v2_bri_bar_length[51,1100 -static int _4bri_is_rev_2_card(77,2085 -static int _4bri_is_rev_2_bri_card(90,2383 -static void diva_4bri_set_addresses(101,2607 -int diva_4bri_init_card(143,4071 -static int diva_4bri_cleanup_adapter(469,13353 -static int _4bri_get_serial_number(529,14558 -static int diva_4bri_cleanup_slave_adapters(581,15712 -diva_4bri_cmd_card_proc(627,16900 -void *xdiLoadFile(818,21555 -void diva_os_set_qBri_functions(832,21817 -void diva_os_set_qBri2_functions(836,21879 -diva_4bri_write_fpga_image(841,21953 -static int diva_4bri_reset_adapter(857,22250 -diva_4bri_write_sdram_block(909,23672 -diva_4bri_start_adapter(933,24199 -static int check_qBri_interrupt(1009,26212 -static void diva_4bri_clear_interrupts(1059,27363 -static int diva_4bri_stop_adapter(1079,27796 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/debug.c,2986 -#define DBG_MAGIC 13,186 -static void DI_format_old 19,483 -static void DiProcessEventLog 20,549 -static dword MaxDumpSize 29,1063 -static dword MaxXlogSize 30,1096 -static char TraceFilter[31,1133 -static int TraceFilterIdent 32,1195 -static int TraceFilterChannel 33,1231 -typedef struct _diva_maint_client _diva_maint_client35,1268 -} diva_maint_client_t;diva_maint_client_t52,1706 -static diva_maint_client_t clients[53,1729 -typedef struct MSG_QUEUE MSG_QUEUE76,2804 -} MSG_QUEUE;MSG_QUEUE84,3168 -typedef struct MSG_HEAD MSG_HEAD86,3182 -#define MSG_INCOMPLETE 88,3269 -} MSG_HEAD;MSG_HEAD89,3342 -#define queueCompleteMsg(queueCompleteMsg91,3355 -#define queueCount(queueCount92,3443 -#define MSG_NEED(MSG_NEED93,3478 -static void queueInit 96,3578 -static byte *queueAllocMsg 104,3777 -static void queueFreeMsg 151,4932 -static byte *queuePeekMsg 169,5285 -static MSG_QUEUE* dbg_queue;188,5763 -static byte* dbg_base;189,5801 -static int external_dbg_queue;190,5838 -static diva_os_spin_lock_t dbg_q_lock;191,5885 -static diva_os_spin_lock_t dbg_adapter_lock;192,5924 -static int dbg_q_busy;193,5969 -static volatile dword dbg_sequence;194,6008 -static dword start_sec;195,6049 -static dword start_usec;196,6087 -int diva_maint_init 207,6344 -void* diva_maint_finit 273,7906 -dword diva_dbg_q_length 303,8460 -diva_dbg_entry_head_t* diva_maint_get_message 312,8636 -void diva_maint_ack_message 335,9262 -void diva_maint_prtComp 354,9704 -static void DI_register 374,10051 -static void DI_deregister 485,13006 -static void DI_format_locked 565,15157 -static void DI_format 572,15377 -int diva_get_driver_info 733,19506 -int diva_get_driver_dbg_mask 785,20992 -int diva_set_driver_dbg_mask 807,21601 -static int diva_get_idi_adapter_info 841,22592 -void diva_mnt_add_xdi_adapter 861,23219 -void diva_mnt_remove_xdi_adapter 1028,28501 -void* SuperTraceOpenAdapter 1115,31034 -int SuperTraceCloseAdapter 1127,31306 -int SuperTraceReadRequest 1131,31375 -int SuperTraceGetNumberOfChannels 1159,32087 -int SuperTraceASSIGN 1169,32285 -int SuperTraceREMOVE 1228,34308 -int SuperTraceTraceOnRequest(1250,34818 -int SuperTraceWriteVar 1277,35533 -int SuperTraceExecuteRequest 1310,36519 -static word SuperTraceCreateReadReq 1336,37212 -static void single_p 1357,37655 -static void diva_maint_xdi_cb 1361,37741 -static void diva_maint_error 1397,38810 -static void print_ie 1407,39243 -static void diva_maint_state_change_notify 1426,39623 -static void diva_maint_trace_notify 1791,58779 -static void diva_change_management_debug_mask 1879,61280 -void diva_mnt_internal_dprintf 1911,62430 -int diva_mnt_shutdown_xdi_adapters 1922,62662 -int diva_set_trace_filter 1985,64586 -int diva_get_trace_filter 2035,66508 -static int diva_dbg_cmp_key 2049,66883 -static int diva_mnt_cmp_nmbr 2060,67234 -static int diva_get_dma_descriptor 2087,67728 -static void diva_free_dma_descriptor 2115,68733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diva.h,196 -#define __DIVA_XDI_OS_PART_H__4,92 -typedef int (*divas_xdi_copy_to_user_fn_t)divas_xdi_copy_to_user_fn_t12,308 -typedef int (*divas_xdi_copy_from_user_fn_t)divas_xdi_copy_from_user_fn_t15,427 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/s_bri.c,519 -#define MAX_XLOG_SIZE 39,1195 -static void bri_cpu_trapped 43,1435 -static void reset_bri_hardware 104,3519 -static void stop_bri_hardware 112,3853 -static dword bri_protocol_load 126,4420 -} bri_download_info bri_download_info235,8594 -static long bri_download_buffer 236,8616 -static dword bri_telindus_load 295,10637 -static int load_bri_hardware 356,12763 -static int load_bri_hardware 468,16031 -static int bri_ISR 473,16199 -static void disable_bri_interrupt 495,16817 -void prepare_maestra_functions 510,17348 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diva_dma.h,128 -#define __DIVA_DMA_MAPPING_IFC_H__27,912 -typedef struct _diva_dma_map_entry diva_dma_map_entry_t;diva_dma_map_entry_t28,947 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_pri.c,663 -#define DIVA_PRI_NO_PCI_BIOS_WORKAROUND 28,701 -static int pri_is_rev_2_card(49,1394 -static void diva_pri_set_addresses(59,1581 -int diva_pri_init_card(94,2724 -static int diva_pri_cleanup_adapter(259,6848 -static int diva_pri_reset_adapter(332,8385 -diva_pri_write_sdram_block(407,10544 -diva_pri_start_adapter(431,11067 -static void diva_pri_clear_interrupts(523,13418 -static int diva_pri_stop_adapter(547,13940 -diva_pri_cmd_card_proc(600,15040 -static int pri_get_serial_number(762,18984 -void diva_os_prepare_pri2_functions(896,23208 -void diva_os_prepare_pri_functions(900,23274 -dsp_check_presence(908,23392 -static dword diva_pri_detect_dsps(951,24301 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_pri.h,37 -#define __DIVA_OS_PRI_REV_1_H__4,95 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dqueue.c,317 -diva_data_q_init(17,451 -int diva_data_q_finit(41,904 -int diva_data_q_get_max_length(57,1178 -void *diva_data_q_get_segment4write(62,1275 -diva_data_q_ack_segment4write(73,1483 -const void *diva_data_q_get_segment4read(86,1730 -int diva_data_q_get_segment_length(95,1881 -void diva_data_q_ack_segment4read(100,1987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dbgioctl.h,1818 -#define __DBGIOCTL_H__30,1117 -} DbgIoctlArgs DbgIoctlArgs43,1362 -#define DBG_COPY_LOGS 45,1380 -#define DBG_FLUSH_LOGS 49,1533 -#define DBG_LIST_DRVS 52,1644 -#define DBG_GET_MASK 54,1713 -#define DBG_SET_MASK 57,1820 -#define DBG_GET_BUFSIZE 61,1965 -#define DBG_SET_BUFSIZE 65,2114 -} OldDbgMessage OldDbgMessage80,2735 -} DbgMessage DbgMessage90,3220 -#define DRV_ID_UNKNOWN 94,3244 -#define MSG_PROC_FLAG 96,3307 -#define MSG_PROC_NO_GET(MSG_PROC_NO_GET97,3335 -#define MSG_PROC_NO_SET(MSG_PROC_NO_SET98,3410 -#define MSG_TYPE_DRV_ID 100,3473 -#define MSG_TYPE_FLAGS 101,3505 -#define MSG_TYPE_STRING 102,3536 -#define MSG_TYPE_BINARY 103,3568 -#define MSG_HEAD_SIZE 105,3601 -#define MSG_ALIGN(MSG_ALIGN106,3670 -#define MSG_SIZE(MSG_SIZE107,3743 -#define MSG_NEXT(MSG_NEXT108,3790 -#define OLD_MSG_HEAD_SIZE 110,3868 -#define OLD_MSG_ALIGN(OLD_MSG_ALIGN111,3944 -#define MSG_FRAME_MAX_SIZE 117,4052 -#define MSG_TEXT_MAX_SIZE 118,4117 -#define MSG_MAX_SIZE 119,4181 -#define DBG_MIN_BUFFER_SIZE 120,4233 -#define DBG_DEF_BUFFER_SIZE 121,4311 -#define DBG_MAX_BUFFER_SIZE 122,4389 -#define DBGDRV_NAME 124,4468 -#define UNIDBG_DRIVER 125,4505 -#define DEBUG_DRIVER 126,4584 -#define DBGVXD_NAME 127,4662 -#define DEBUG_VXD 128,4693 -#define DBG_IDI_SIG_REQ 134,4822 -#define DBG_IDI_SIG_IND 135,4873 -#define DBG_IDI_NL_REQ 136,4924 -#define DBG_IDI_NL_IND 137,4974 -} DbgIdiAct, *DbgIdiAction DbgIdiAction149,5287 -#define CTL_CODE(CTL_CODE163,5704 -#define CTL_CODE(CTL_CODE171,5946 -#define METHOD_BUFFERED 175,6103 -#define METHOD_IN_DIRECT 176,6145 -#define METHOD_OUT_DIRECT 177,6187 -#define METHOD_NEITHER 178,6229 -#define FILE_ANY_ACCESS 180,6272 -#define FILE_READ_ACCESS 181,6314 -#define FILE_WRITE_ACCESS 182,6377 -#define IOCTL_DRIVER_LNK 193,6653 -#define IOCTL_DRIVER_DBG 195,6739 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dsp_tst.h,977 -#define __DIVA_PRI_HOST_TEST_DSPS_H__4,102 -#define DSP1_PORT 9,182 -#define DSP2_PORT 10,213 -#define DSP3_PORT 11,243 -#define DSP4_PORT 12,275 -#define DSP5_PORT 13,307 -#define DSP6_PORT 14,339 -#define DSP7_PORT 15,371 -#define DSP8_PORT 16,403 -#define DSP9_PORT 17,435 -#define DSP10_PORT 18,467 -#define DSP11_PORT 19,499 -#define DSP12_PORT 20,531 -#define DSP13_PORT 21,563 -#define DSP14_PORT 22,595 -#define DSP15_PORT 23,627 -#define DSP16_PORT 24,659 -#define DSP17_PORT 25,691 -#define DSP18_PORT 26,724 -#define DSP19_PORT 27,757 -#define DSP20_PORT 28,790 -#define DSP21_PORT 29,823 -#define DSP22_PORT 30,856 -#define DSP23_PORT 31,889 -#define DSP24_PORT 32,922 -#define DSP25_PORT 33,955 -#define DSP26_PORT 34,988 -#define DSP27_PORT 35,1021 -#define DSP28_PORT 36,1054 -#define DSP29_PORT 37,1087 -#define DSP30_PORT 38,1120 -#define DSP_ADR_OFFS 39,1153 -#define DSP_SIGNATURE_PROBE_WORD 44,1350 -#define dsp_make_address_ex(dsp_make_address_ex45,1390 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/pc_maint.h,1166 -#define POINTER_32BIT 28,945 -#define POINTER_32BIT 30,980 -#define BUFFER_SZ 33,1040 -#define MAINT_OFFS 34,1062 -#define BUFFER_SZ 36,1093 -#define MAINT_OFFS 38,1133 -#define MAINT_OFFS 40,1165 -#define MIPS_BUFFER_SZ 43,1205 -#define MIPS_MAINT_OFFS 45,1250 -#define MIPS_MAINT_OFFS 47,1287 -#define LOG 49,1325 -#define MEMR 50,1359 -#define MEMW 51,1393 -#define IOR 52,1427 -#define IOW 53,1461 -#define B1TEST 54,1495 -#define B2TEST 55,1529 -#define BTESTOFF 56,1563 -#define DSIG_STATS 57,1597 -#define B_CH_STATS 58,1631 -#define D_CH_STATS 59,1666 -#define BL1_STATS 60,1701 -#define BL1_STATS_C 61,1736 -#define GET_VERSION 62,1771 -#define OS_STATS 63,1806 -#define XLOG_SET_MASK 64,1841 -#define XLOG_GET_MASK 65,1876 -#define DSP_READ 66,1911 -#define DSP_WRITE 67,1946 -#define OK 68,1981 -#define MORE_EVENTS 69,1997 -#define NO_EVENT 70,2022 -struct DSigStrucDSigStruc71,2041 -struct BL1Struc BL1Struc83,2189 -struct L2Struc L2Struc95,2358 -struct OSStruc OSStruc101,2440 -} BUFFER;BUFFER114,2753 -} MIPS_BUFFER;MIPS_BUFFER125,3055 -struct pc_maintpc_maint127,3094 -struct pc_maintpc_maint138,3225 -struct mi_pc_maintmi_pc_maint150,3441 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dspdids.h,1764 -#define DSPDIDS_H_27,896 -#define DSP_DID_INVALID 29,995 -#define DSP_DID_DIVA 30,1023 -#define DSP_DID_DIVA_PRO 31,1048 -#define DSP_DID_DIVA_PRO_20 32,1076 -#define DSP_DID_DIVA_PRO_PCCARD 33,1107 -#define DSP_DID_DIVA_SERVER_BRI_1M 34,1142 -#define DSP_DID_DIVA_SERVER_BRI_2M 35,1179 -#define DSP_DID_DIVA_SERVER_PRI_2M_TX 36,1216 -#define DSP_DID_DIVA_SERVER_PRI_2M_RX 37,1256 -#define DSP_DID_DIVA_SERVER_PRI_30M 38,1296 -#define DSP_DID_TASK_HSCX 39,1334 -#define DSP_DID_TASK_HSCX_PRI_2M_TX 40,1365 -#define DSP_DID_TASK_HSCX_PRI_2M_RX 41,1405 -#define DSP_DID_TASK_V110KRNL 42,1445 -#define DSP_DID_OVERLAY_V1100 43,1480 -#define DSP_DID_OVERLAY_V1101 44,1515 -#define DSP_DID_OVERLAY_V1102 45,1550 -#define DSP_DID_OVERLAY_V1103 46,1585 -#define DSP_DID_OVERLAY_V1104 47,1620 -#define DSP_DID_OVERLAY_V1105 48,1655 -#define DSP_DID_OVERLAY_V1106 49,1690 -#define DSP_DID_OVERLAY_V1107 50,1725 -#define DSP_DID_OVERLAY_V1108 51,1760 -#define DSP_DID_OVERLAY_V1109 52,1795 -#define DSP_DID_TASK_V110_PRI_2M_TX 53,1830 -#define DSP_DID_TASK_V110_PRI_2M_RX 54,1870 -#define DSP_DID_TASK_MODEM 55,1910 -#define DSP_DID_TASK_FAX05 56,1942 -#define DSP_DID_TASK_VOICE 57,1974 -#define DSP_DID_TASK_TIKRNL81 58,2006 -#define DSP_DID_OVERLAY_DIAL 59,2041 -#define DSP_DID_OVERLAY_V22 60,2075 -#define DSP_DID_OVERLAY_V32 61,2108 -#define DSP_DID_OVERLAY_FSK 62,2141 -#define DSP_DID_OVERLAY_FAX 63,2174 -#define DSP_DID_OVERLAY_VXX 64,2207 -#define DSP_DID_OVERLAY_V8 65,2240 -#define DSP_DID_OVERLAY_INFO 66,2272 -#define DSP_DID_OVERLAY_V34 67,2306 -#define DSP_DID_OVERLAY_DFX 68,2339 -#define DSP_DID_PARTIAL_OVERLAY_DIAL 69,2372 -#define DSP_DID_PARTIAL_OVERLAY_FSK 70,2413 -#define DSP_DID_PARTIAL_OVERLAY_FAX 71,2453 -#define DSP_DID_TASK_TIKRNL05 72,2493 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divamnt.c,1013 -static char *main_revision 27,698 -static int major;29,753 -int buffer_length 36,959 -unsigned long diva_dbg_mem 38,1017 -static char *DRIVERNAME 41,1082 -static char *DRIVERLNAME 43,1166 -static char *DEVNAME 44,1205 -char *DRIVERRELEASE_MNT 45,1242 -static wait_queue_head_t msgwaitq;47,1276 -static unsigned long opened;48,1311 -static struct timeval start_time;49,1340 -static char *getrev(58,1551 -int diva_os_copy_to_user(76,1788 -int diva_os_copy_from_user(81,1927 -void diva_os_get_time(90,2092 -static unsigned int maint_poll(119,2705 -static int maint_open(131,2969 -static int maint_close(143,3220 -static ssize_t divas_maint_write(156,3453 -static ssize_t divas_maint_read(162,3630 -static struct file_operations divas_maint_fops 168,3783 -static void divas_maint_unregister_chrdev(178,4019 -static int DIVA_INIT_FUNCTION divas_maint_register_chrdev(184,4132 -void diva_maint_wakeup_read(200,4473 -static int DIVA_INIT_FUNCTION maint_init(208,4570 -static void DIVA_EXIT_FUNCTION maint_exit(246,5456 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/debuglib.c,256 -static DIVA_DI_PRINTF dprintf;30,925 -_DbgHandle_ myDriverDebugHandle 33,987 -DIVA_DI_PRINTF dprintf 34,1064 -#define DBG_FUNC(DBG_FUNC36,1180 -DBG_FUNC(46,1449 -DBG_FUNC(61,1763 -DbgSetLevel 126,3567 -DbgDeregister 132,3762 -void xdi_dbg_xlog 140,3950 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/pc_init.h,9510 -#define PC_INIT_H_27,896 -#define PCINIT_END_OF_LIST 77,2885 -#define PCINIT_MODEM_GUARD_TONE 78,2932 -#define PCINIT_MODEM_MIN_SPEED 79,2979 -#define PCINIT_MODEM_MAX_SPEED 80,3026 -#define PCINIT_MODEM_PROTOCOL_OPTIONS 81,3073 -#define PCINIT_FAX_OPTIONS 82,3120 -#define PCINIT_FAX_MAX_SPEED 83,3167 -#define PCINIT_MODEM_OPTIONS 84,3214 -#define PCINIT_MODEM_NEGOTIATION_MODE 85,3261 -#define PCINIT_MODEM_MODULATIONS_MASK 86,3308 -#define PCINIT_MODEM_TRANSMIT_LEVEL 87,3355 -#define PCINIT_FAX_DISABLED_RESOLUTIONS 88,3402 -#define PCINIT_FAX_MAX_RECORDING_WIDTH 89,3449 -#define PCINIT_FAX_MAX_RECORDING_LENGTH 90,3496 -#define PCINIT_FAX_MIN_SCANLINE_TIME 91,3543 -#define PCINIT_US_EKTS_CACH_HANDLES 92,3590 -#define PCINIT_US_EKTS_BEGIN_CONF 93,3637 -#define PCINIT_US_EKTS_DROP_CONF 94,3684 -#define PCINIT_US_EKTS_CALL_TRANSFER 95,3731 -#define PCINIT_RINGERTONE_OPTION 96,3778 -#define PCINIT_CARD_ADDRESS 97,3825 -#define PCINIT_FPGA_FEATURES 98,3872 -#define PCINIT_US_EKTS_MWI 99,3919 -#define PCINIT_MODEM_SPEAKER_CONTROL 100,3966 -#define PCINIT_MODEM_SPEAKER_VOLUME 101,4013 -#define PCINIT_MODEM_CARRIER_WAIT_TIME 102,4060 -#define PCINIT_MODEM_CARRIER_LOSS_TIME 103,4107 -#define PCINIT_UNCHAN_B_MASK 104,4154 -#define PCINIT_PART68_LIMITER 105,4201 -#define PCINIT_XDI_FEATURES 106,4248 -#define PCINIT_QSIG_DIALECT 107,4295 -#define PCINIT_DISABLE_AUTOSPID_FLAG 108,4342 -#define PCINIT_FORCE_VOICE_MAIL_ALERT 109,4389 -#define PCINIT_PIAFS_TURNAROUND_FRAMES 110,4436 -#define PCINIT_L2_COUNT 111,4483 -#define PCINIT_QSIG_FEATURES 112,4530 -#define PCINIT_NO_SIGNALLING 113,4577 -#define PCINIT_CARD_SN 114,4624 -#define PCINIT_CARD_PORT 115,4671 -#define PCINIT_ALERTTO 116,4718 -#define PCINIT_MODEM_EYE_SETUP 117,4765 -#define PCINIT_FAX_V34_OPTIONS 118,4812 -#define PCINIT_MODEM_GUARD_TONE_NONE 120,4930 -#define PCINIT_MODEM_GUARD_TONE_550HZ 121,4983 -#define PCINIT_MODEM_GUARD_TONE_1800HZ 122,5036 -#define PCINIT_MODEM_GUARD_TONE_CHOICES 123,5089 -#define PCINIT_MODEMPROT_DISABLE_V42_V42BIS 124,5142 -#define PCINIT_MODEMPROT_DISABLE_MNP_MNP5 125,5197 -#define PCINIT_MODEMPROT_REQUIRE_PROTOCOL 126,5252 -#define PCINIT_MODEMPROT_DISABLE_V42_DETECT 127,5307 -#define PCINIT_MODEMPROT_DISABLE_COMPRESSION 128,5362 -#define PCINIT_MODEMPROT_REQUIRE_PROTOCOL_V34UP 129,5417 -#define PCINIT_MODEMPROT_NO_PROTOCOL_IF_1200 130,5472 -#define PCINIT_MODEMPROT_BUFFER_IN_V42_DETECT 131,5527 -#define PCINIT_MODEMPROT_DISABLE_V42_SREJ 132,5582 -#define PCINIT_MODEMPROT_DISABLE_MNP3 133,5637 -#define PCINIT_MODEMPROT_DISABLE_MNP4 134,5692 -#define PCINIT_MODEMPROT_DISABLE_MNP10 135,5747 -#define PCINIT_MODEMPROT_NO_PROTOCOL_IF_V22BIS 136,5802 -#define PCINIT_MODEMPROT_NO_PROTOCOL_IF_V32BIS 137,5857 -#define PCINIT_MODEMCONFIG_LEASED_LINE_MODE 138,5912 -#define PCINIT_MODEMCONFIG_4_WIRE_OPERATION 139,5972 -#define PCINIT_MODEMCONFIG_DISABLE_BUSY_DETECT 140,6032 -#define PCINIT_MODEMCONFIG_DISABLE_CALLING_TONE 141,6092 -#define PCINIT_MODEMCONFIG_DISABLE_ANSWER_TONE 142,6152 -#define PCINIT_MODEMCONFIG_ENABLE_DIAL_TONE_DET 143,6212 -#define PCINIT_MODEMCONFIG_USE_POTS_INTERFACE 144,6272 -#define PCINIT_MODEMCONFIG_FORCE_RAY_TAYLOR_FAX 145,6332 -#define PCINIT_MODEMCONFIG_DISABLE_RETRAIN 146,6392 -#define PCINIT_MODEMCONFIG_DISABLE_STEPDOWN 147,6452 -#define PCINIT_MODEMCONFIG_DISABLE_SPLIT_SPEED 148,6512 -#define PCINIT_MODEMCONFIG_DISABLE_TRELLIS 149,6572 -#define PCINIT_MODEMCONFIG_ALLOW_RDL_TEST_LOOP 150,6632 -#define PCINIT_MODEMCONFIG_DISABLE_STEPUP 151,6692 -#define PCINIT_MODEMCONFIG_DISABLE_FLUSH_TIMER 152,6752 -#define PCINIT_MODEMCONFIG_REVERSE_DIRECTION 153,6812 -#define PCINIT_MODEMCONFIG_DISABLE_TX_REDUCTION 154,6872 -#define PCINIT_MODEMCONFIG_DISABLE_PRECODING 155,6932 -#define PCINIT_MODEMCONFIG_DISABLE_PREEMPHASIS 156,6992 -#define PCINIT_MODEMCONFIG_DISABLE_SHAPING 157,7052 -#define PCINIT_MODEMCONFIG_DISABLE_NONLINEAR_EN 158,7112 -#define PCINIT_MODEMCONFIG_DISABLE_MANUALREDUCT 159,7172 -#define PCINIT_MODEMCONFIG_DISABLE_16_POINT_TRN 160,7232 -#define PCINIT_MODEMCONFIG_DISABLE_2400_SYMBOLS 161,7292 -#define PCINIT_MODEMCONFIG_DISABLE_2743_SYMBOLS 162,7352 -#define PCINIT_MODEMCONFIG_DISABLE_2800_SYMBOLS 163,7412 -#define PCINIT_MODEMCONFIG_DISABLE_3000_SYMBOLS 164,7472 -#define PCINIT_MODEMCONFIG_DISABLE_3200_SYMBOLS 165,7532 -#define PCINIT_MODEMCONFIG_DISABLE_3429_SYMBOLS 166,7592 -#define PCINIT_MODEM_NEGOTIATE_HIGHEST 167,7652 -#define PCINIT_MODEM_NEGOTIATE_DISABLED 168,7705 -#define PCINIT_MODEM_NEGOTIATE_IN_CLASS 169,7758 -#define PCINIT_MODEM_NEGOTIATE_V100 170,7811 -#define PCINIT_MODEM_NEGOTIATE_V8 171,7864 -#define PCINIT_MODEM_NEGOTIATE_V8BIS 172,7917 -#define PCINIT_MODEM_NEGOTIATE_CHOICES 173,7970 -#define PCINIT_MODEMMODULATION_DISABLE_V21 174,8023 -#define PCINIT_MODEMMODULATION_DISABLE_V23 175,8083 -#define PCINIT_MODEMMODULATION_DISABLE_V22 176,8143 -#define PCINIT_MODEMMODULATION_DISABLE_V22BIS 177,8203 -#define PCINIT_MODEMMODULATION_DISABLE_V32 178,8263 -#define PCINIT_MODEMMODULATION_DISABLE_V32BIS 179,8323 -#define PCINIT_MODEMMODULATION_DISABLE_V34 180,8383 -#define PCINIT_MODEMMODULATION_DISABLE_V90 181,8443 -#define PCINIT_MODEMMODULATION_DISABLE_BELL103 182,8503 -#define PCINIT_MODEMMODULATION_DISABLE_BELL212A 183,8563 -#define PCINIT_MODEMMODULATION_DISABLE_VFC 184,8623 -#define PCINIT_MODEMMODULATION_DISABLE_K56FLEX 185,8683 -#define PCINIT_MODEMMODULATION_DISABLE_X2 186,8743 -#define PCINIT_MODEMMODULATION_ENABLE_V29FDX 187,8803 -#define PCINIT_MODEMMODULATION_ENABLE_V33 188,8863 -#define PCINIT_MODEMMODULATION_ENABLE_V90A 189,8923 -#define PCINIT_MODEM_TRANSMIT_LEVEL_CHOICES 190,8983 -#define PCINIT_MODEM_SPEAKER_OFF 191,9036 -#define PCINIT_MODEM_SPEAKER_DURING_TRAIN 192,9089 -#define PCINIT_MODEM_SPEAKER_TIL_CONNECT 193,9142 -#define PCINIT_MODEM_SPEAKER_ALWAYS_ON 194,9195 -#define PCINIT_MODEM_SPEAKER_CHOICES 195,9248 -#define PCINIT_MODEM_SPEAKER_VOLUME_MIN 196,9301 -#define PCINIT_MODEM_SPEAKER_VOLUME_LOW 197,9354 -#define PCINIT_MODEM_SPEAKER_VOLUME_HIGH 198,9407 -#define PCINIT_MODEM_SPEAKER_VOLUME_MAX 199,9460 -#define PCINIT_MODEM_SPEAKER_VOLUME_CHOICES 200,9513 -#define PCINIT_FAXCONFIG_DISABLE_FINE 202,9637 -#define PCINIT_FAXCONFIG_DISABLE_ECM 203,9692 -#define PCINIT_FAXCONFIG_ECM_64_BYTES 204,9747 -#define PCINIT_FAXCONFIG_DISABLE_2D_CODING 205,9802 -#define PCINIT_FAXCONFIG_DISABLE_T6_CODING 206,9857 -#define PCINIT_FAXCONFIG_DISABLE_UNCOMPR 207,9912 -#define PCINIT_FAXCONFIG_REFUSE_POLLING 208,9967 -#define PCINIT_FAXCONFIG_HIDE_TOTAL_PAGES 209,10022 -#define PCINIT_FAXCONFIG_HIDE_ALL_HEADLINE 210,10077 -#define PCINIT_FAXCONFIG_HIDE_PAGE_INFO 211,10132 -#define PCINIT_FAXCONFIG_HEADLINE_OPTIONS_MASK 212,10187 -#define PCINIT_FAXCONFIG_DISABLE_FEATURE_FALLBACK 213,10242 -#define PCINIT_FAXCONFIG_V34FAX_CONTROL_RATE_1200 214,10299 -#define PCINIT_FAXCONFIG_DISABLE_V34FAX 215,10356 -#define PCINIT_FAXCONFIG_DISABLE_R8_0770_OR_200 216,10411 -#define PCINIT_FAXCONFIG_DISABLE_R8_1540 217,10464 -#define PCINIT_FAXCONFIG_DISABLE_R16_1540_OR_400 218,10517 -#define PCINIT_FAXCONFIG_DISABLE_R4_0385_OR_100 219,10571 -#define PCINIT_FAXCONFIG_DISABLE_300_300 220,10624 -#define PCINIT_FAXCONFIG_DISABLE_INCH_BASED 221,10677 -#define PCINIT_FAXCONFIG_DISABLE_METRIC_BASED 222,10730 -#define PCINIT_FAXCONFIG_REC_WIDTH_ISO_A3 223,10783 -#define PCINIT_FAXCONFIG_REC_WIDTH_ISO_B4 224,10833 -#define PCINIT_FAXCONFIG_REC_WIDTH_ISO_A4 225,10883 -#define PCINIT_FAXCONFIG_REC_WIDTH_COUNT 226,10933 -#define PCINIT_FAXCONFIG_REC_LENGTH_UNLIMITED 227,10983 -#define PCINIT_FAXCONFIG_REC_LENGTH_ISO_B4 228,11033 -#define PCINIT_FAXCONFIG_REC_LENGTH_ISO_A4 229,11083 -#define PCINIT_FAXCONFIG_REC_LENGTH_COUNT 230,11133 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_00_00_00 231,11183 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_05_05_05 232,11233 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_10_05_05 233,11283 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_10_10_10 234,11333 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_20_10_10 235,11383 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_20_20_20 236,11433 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_40_20_20 237,11483 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_40_40_40 238,11533 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_RES_8 239,11583 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_RES_9 240,11633 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_RES_10 241,11683 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_10_10_05 242,11734 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_20_10_05 243,11785 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_20_20_10 244,11836 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_40_20_10 245,11887 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_40_40_20 246,11938 -#define PCINIT_FAXCONFIG_SCANLINE_TIME_COUNT 247,11989 -#define PCINIT_FAXCONFIG_DISABLE_TX_REDUCTION 248,12040 -#define PCINIT_FAXCONFIG_DISABLE_PRECODING 249,12100 -#define PCINIT_FAXCONFIG_DISABLE_PREEMPHASIS 250,12160 -#define PCINIT_FAXCONFIG_DISABLE_SHAPING 251,12220 -#define PCINIT_FAXCONFIG_DISABLE_NONLINEAR_EN 252,12280 -#define PCINIT_FAXCONFIG_DISABLE_MANUALREDUCT 253,12340 -#define PCINIT_FAXCONFIG_DISABLE_16_POINT_TRN 254,12400 -#define PCINIT_FAXCONFIG_DISABLE_2400_SYMBOLS 255,12460 -#define PCINIT_FAXCONFIG_DISABLE_2743_SYMBOLS 256,12520 -#define PCINIT_FAXCONFIG_DISABLE_2800_SYMBOLS 257,12580 -#define PCINIT_FAXCONFIG_DISABLE_3000_SYMBOLS 258,12640 -#define PCINIT_FAXCONFIG_DISABLE_3200_SYMBOLS 259,12700 -#define PCINIT_FAXCONFIG_DISABLE_3429_SYMBOLS 260,12760 -#define PCINIT_XDI_CMA_FOR_ALL_NL_PRIMITIVES 262,12899 -#define PCINIT_FPGA_PLX_ACCESS_SUPPORTED 264,13031 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divacapi.h,30659 -#define IMPLEMENT_DTMF 39,912 -#define IMPLEMENT_LINE_INTERCONNECT2 40,937 -#define IMPLEMENT_ECHO_CANCELLER 41,976 -#define IMPLEMENT_RTP 42,1011 -#define IMPLEMENT_T38 43,1035 -#define IMPLEMENT_FAX_SUB_SEP_PWD 44,1059 -#define IMPLEMENT_V18 45,1095 -#define IMPLEMENT_DTMF_TONE 46,1119 -#define IMPLEMENT_PIAFS 47,1149 -#define IMPLEMENT_FAX_PAPER_FORMATS 48,1175 -#define IMPLEMENT_VOWN 49,1213 -#define IMPLEMENT_CAPIDTMF 50,1238 -#define IMPLEMENT_FAX_NONSTANDARD 51,1267 -#define VSWITCH_SUPPORT 52,1303 -#define IMPLEMENT_LINE_INTERCONNECT 55,1331 -#define IMPLEMENT_MARKED_OK_AFTER_FC 56,1369 -#define MAX_APPL 64,1646 -#define MAX_NCCI 65,1667 -#define MSG_IN_QUEUE_SIZE 67,1699 -#define MSG_IN_OVERHEAD 70,1779 -#define MAX_NL_CHANNEL 72,1824 -#define MAX_DATA_B3 73,1855 -#define MAX_DATA_ACK 74,1884 -#define MAX_MULTI_IE 75,1923 -#define MAX_MSG_SIZE 76,1952 -#define MAX_MSG_PARMS 77,1983 -#define MAX_CPN_MASK_SIZE 78,2013 -#define MAX_MSN_CONFIG 79,2043 -#define EXT_CONTROLLER 80,2073 -#define CODEC 81,2105 -#define CODEC_PERMANENT 82,2137 -#define ADV_VOICE 83,2169 -#define MAX_CIP_TYPES 84,2201 -#define C_IND_MASK_DWORDS 85,2278 -#define FAX_CONNECT_INFO_BUFFER_SIZE 88,2328 -#define NCPI_BUFFER_SIZE 89,2370 -#define MAX_CHANNELS_PER_PLCI 91,2413 -#define MAX_INTERNAL_COMMAND_LEVELS 92,2453 -#define INTERNAL_REQ_BUFFER_SIZE 93,2493 -#define INTERNAL_IND_BUFFER_SIZE 95,2536 -#define DTMF_PARAMETER_BUFFER_SIZE 97,2579 -#define ADV_VOICE_COEF_BUFFER_SIZE 98,2620 -#define LI_PLCI_B_QUEUE_ENTRIES 100,2662 -typedef struct _APPL APPL;APPL104,2707 -typedef struct _PLCI PLCI;PLCI105,2734 -typedef struct _NCCI NCCI;NCCI106,2761 -typedef struct _DIVA_CAPI_ADAPTER DIVA_CAPI_ADAPTER;DIVA_CAPI_ADAPTER107,2788 -typedef struct _DATA_B3_DESC DATA_B3_DESC;DATA_B3_DESC108,2841 -typedef struct _DATA_ACK_DESC DATA_ACK_DESC;DATA_ACK_DESC109,2884 -typedef struct manufacturer_profile_s MANUFACTURER_PROFILE;MANUFACTURER_PROFILE110,2929 -typedef struct fax_ncpi_s FAX_NCPI;FAX_NCPI111,2989 -typedef struct api_parse_s API_PARSE;API_PARSE112,3025 -typedef struct api_save_s API_SAVE;API_SAVE113,3063 -typedef struct msn_config_s MSN_CONFIG;MSN_CONFIG114,3099 -typedef struct msn_config_max_s MSN_CONFIG_MAX;MSN_CONFIG_MAX115,3139 -typedef struct msn_ld_s MSN_LD;MSN_LD116,3187 -struct manufacturer_profile_s manufacturer_profile_s118,3220 -struct fax_ncpi_s fax_ncpi_s124,3344 -struct msn_config_s msn_config_s129,3399 -struct msn_config_max_s msn_config_max_s133,3456 -struct msn_ld_s msn_ld_s137,3528 -struct api_parse_s api_parse_s142,3577 -struct api_save_s api_save_s147,3646 -struct _DATA_B3_DESC _DATA_B3_DESC152,3746 -struct _DATA_ACK_DESC _DATA_ACK_DESC160,3885 -typedef void (* t_std_internal_command)t_std_internal_command165,3961 -struct _APPL _APPL169,4186 -struct _PLCI _PLCI214,4989 -struct _NCCI _NCCI338,8587 -struct _DIVA_CAPI_ADAPTER _DIVA_CAPI_ADAPTER348,8804 -#define APPL_FLAG_OLD_LI_SPEC 409,10768 -#define APPL_FLAG_PRIV_EC_SPEC 410,10813 -#define X75_TTX 417,11074 -#define TRF 418,11145 -#define TRF_IN 419,11216 -#define SDLC 420,11287 -#define X75_BTX 421,11358 -#define LAPD 422,11429 -#define X25_L2 423,11500 -#define V120_L2 424,11571 -#define V42_IN 425,11642 -#define V42 426,11713 -#define MDM_ATP 427,11784 -#define X75_V42BIS 428,11855 -#define RTPL2_IN 429,11953 -#define RTPL2 430,12024 -#define V120_V42BIS 431,12095 -#define T70NL 433,12189 -#define X25PLP 434,12215 -#define T70NLX 435,12241 -#define TRANSPARENT_NL 436,12267 -#define ISO8208 437,12293 -#define T30 438,12319 -#define CAPI_MAX_HEAD_LINE_SPACE 445,12561 -#define CAPI_MAX_DATE_TIME_LENGTH 446,12604 -#define T30_MAX_STATION_ID_LENGTH 448,12648 -#define T30_MAX_SUBADDRESS_LENGTH 449,12691 -#define T30_MAX_PASSWORD_LENGTH 450,12734 -typedef struct t30_info_s T30_INFO;T30_INFO452,12778 -struct t30_info_s t30_info_s453,12814 -#define T30_RESOLUTION_R8_0385 481,13656 -#define T30_RESOLUTION_R8_0770_OR_200 482,13701 -#define T30_RESOLUTION_R8_1540 483,13746 -#define T30_RESOLUTION_R16_1540_OR_400 484,13791 -#define T30_RESOLUTION_R4_0385_OR_100 485,13836 -#define T30_RESOLUTION_300_300 486,13881 -#define T30_RESOLUTION_INCH_BASED 487,13926 -#define T30_RESOLUTION_METRIC_BASED 488,13971 -#define T30_RECORDING_WIDTH_ISO_A4 490,14017 -#define T30_RECORDING_WIDTH_ISO_B4 491,14059 -#define T30_RECORDING_WIDTH_ISO_A3 492,14101 -#define T30_RECORDING_WIDTH_COUNT 493,14143 -#define T30_RECORDING_LENGTH_ISO_A4 495,14186 -#define T30_RECORDING_LENGTH_ISO_B4 496,14228 -#define T30_RECORDING_LENGTH_UNLIMITED 497,14270 -#define T30_RECORDING_LENGTH_COUNT 498,14312 -#define T30_MIN_SCANLINE_TIME_00_00_00 500,14355 -#define T30_MIN_SCANLINE_TIME_05_05_05 501,14397 -#define T30_MIN_SCANLINE_TIME_10_05_05 502,14439 -#define T30_MIN_SCANLINE_TIME_10_10_10 503,14481 -#define T30_MIN_SCANLINE_TIME_20_10_10 504,14523 -#define T30_MIN_SCANLINE_TIME_20_20_20 505,14565 -#define T30_MIN_SCANLINE_TIME_40_20_20 506,14607 -#define T30_MIN_SCANLINE_TIME_40_40_40 507,14649 -#define T30_MIN_SCANLINE_TIME_RES_8 508,14691 -#define T30_MIN_SCANLINE_TIME_RES_9 509,14733 -#define T30_MIN_SCANLINE_TIME_RES_10 510,14775 -#define T30_MIN_SCANLINE_TIME_10_10_05 511,14818 -#define T30_MIN_SCANLINE_TIME_20_10_05 512,14861 -#define T30_MIN_SCANLINE_TIME_20_20_10 513,14904 -#define T30_MIN_SCANLINE_TIME_40_20_10 514,14947 -#define T30_MIN_SCANLINE_TIME_40_40_20 515,14990 -#define T30_MIN_SCANLINE_TIME_COUNT 516,15033 -#define T30_DATA_FORMAT_SFF 518,15077 -#define T30_DATA_FORMAT_ASCII 519,15119 -#define T30_DATA_FORMAT_NATIVE 520,15161 -#define T30_DATA_FORMAT_COUNT 521,15203 -#define T30_OPERATING_MODE_STANDARD 524,15247 -#define T30_OPERATING_MODE_CLASS2 525,15289 -#define T30_OPERATING_MODE_CLASS1 526,15331 -#define T30_OPERATING_MODE_CAPI 527,15373 -#define T30_OPERATING_MODE_CAPI_NEG 528,15415 -#define T30_OPERATING_MODE_COUNT 529,15457 -#define EDATA_T30_DIS 532,15538 -#define EDATA_T30_FTT 533,15573 -#define EDATA_T30_MCF 534,15608 -#define EDATA_T30_PARAMETERS 535,15643 -#define EDATA_T30_DCS 538,15716 -#define EDATA_T30_TRAIN_OK 539,15751 -#define EDATA_T30_EOP 540,15786 -#define EDATA_T30_MPS 541,15821 -#define EDATA_T30_EOM 542,15856 -#define EDATA_T30_DTC 543,15891 -#define EDATA_T30_PAGE_END 544,15926 -#define EDATA_T30_EOP_CAPI 545,16029 -#define T30_SUCCESS 548,16066 -#define T30_ERR_NO_DIS_RECEIVED 549,16111 -#define T30_ERR_TIMEOUT_NO_RESPONSE 550,16156 -#define T30_ERR_RETRY_NO_RESPONSE 551,16201 -#define T30_ERR_TOO_MANY_REPEATS 552,16246 -#define T30_ERR_UNEXPECTED_MESSAGE 553,16291 -#define T30_ERR_UNEXPECTED_DCN 554,16336 -#define T30_ERR_DTC_UNSUPPORTED 555,16381 -#define T30_ERR_ALL_RATES_FAILED 556,16426 -#define T30_ERR_TOO_MANY_TRAINS 557,16471 -#define T30_ERR_RECEIVE_CORRUPTED 558,16516 -#define T30_ERR_UNEXPECTED_DISC 559,16562 -#define T30_ERR_APPLICATION_DISC 560,16608 -#define T30_ERR_INCOMPATIBLE_DIS 561,16654 -#define T30_ERR_INCOMPATIBLE_DCS 562,16700 -#define T30_ERR_TIMEOUT_NO_COMMAND 563,16746 -#define T30_ERR_RETRY_NO_COMMAND 564,16792 -#define T30_ERR_TIMEOUT_COMMAND_TOO_LONG 565,16838 -#define T30_ERR_TIMEOUT_RESPONSE_TOO_LONG 566,16884 -#define T30_ERR_NOT_IDENTIFIED 567,16930 -#define T30_ERR_SUPERVISORY_TIMEOUT 568,16976 -#define T30_ERR_TOO_LONG_SCAN_LINE 569,17022 -#define T30_ERR_RETRY_NO_PAGE_RECEIVED 571,17120 -#define T30_ERR_RETRY_NO_DCS_AFTER_FTT 572,17166 -#define T30_ERR_RETRY_NO_DCS_AFTER_EOM 573,17212 -#define T30_ERR_RETRY_NO_DCS_AFTER_MPS 574,17258 -#define T30_ERR_RETRY_NO_DCN_AFTER_MCF 575,17304 -#define T30_ERR_RETRY_NO_DCN_AFTER_RTN 576,17350 -#define T30_ERR_RETRY_NO_CFR 577,17396 -#define T30_ERR_RETRY_NO_MCF_AFTER_EOP 578,17442 -#define T30_ERR_RETRY_NO_MCF_AFTER_EOM 579,17488 -#define T30_ERR_RETRY_NO_MCF_AFTER_MPS 580,17534 -#define T30_ERR_SUB_SEP_UNSUPPORTED 581,17580 -#define T30_ERR_PWD_UNSUPPORTED 582,17626 -#define T30_ERR_SUB_SEP_PWD_UNSUPPORTED 583,17672 -#define T30_ERR_INVALID_COMMAND_FRAME 584,17718 -#define T30_ERR_UNSUPPORTED_PAGE_CODING 585,17764 -#define T30_ERR_INVALID_PAGE_CODING 586,17810 -#define T30_ERR_INCOMPATIBLE_PAGE_CONFIG 587,17856 -#define T30_ERR_TIMEOUT_FROM_APPLICATION 588,17902 -#define T30_ERR_V34FAX_NO_REACTION_ON_MARK 589,17948 -#define T30_ERR_V34FAX_TRAINING_TIMEOUT 590,17994 -#define T30_ERR_V34FAX_UNEXPECTED_V21 591,18040 -#define T30_ERR_V34FAX_PRIMARY_CTS_ON 592,18086 -#define T30_ERR_V34FAX_TURNAROUND_POLLING 593,18132 -#define T30_ERR_V34FAX_V8_INCOMPATIBILITY 594,18178 -#define T30_CONTROL_BIT_DISABLE_FINE 597,18226 -#define T30_CONTROL_BIT_ENABLE_ECM 598,18276 -#define T30_CONTROL_BIT_ECM_64_BYTES 599,18326 -#define T30_CONTROL_BIT_ENABLE_2D_CODING 600,18376 -#define T30_CONTROL_BIT_ENABLE_T6_CODING 601,18426 -#define T30_CONTROL_BIT_ENABLE_UNCOMPR 602,18476 -#define T30_CONTROL_BIT_ACCEPT_POLLING 603,18526 -#define T30_CONTROL_BIT_REQUEST_POLLING 604,18576 -#define T30_CONTROL_BIT_MORE_DOCUMENTS 605,18626 -#define T30_CONTROL_BIT_ACCEPT_SUBADDRESS 606,18676 -#define T30_CONTROL_BIT_ACCEPT_SEL_POLLING 607,18726 -#define T30_CONTROL_BIT_ACCEPT_PASSWORD 608,18776 -#define T30_CONTROL_BIT_ENABLE_V34FAX 609,18826 -#define T30_CONTROL_BIT_EARLY_CONNECT 610,18876 -#define T30_CONTROL_BIT_ALL_FEATURES 612,18927 -#define T30_FEATURE_BIT_FINE 614,19134 -#define T30_FEATURE_BIT_ECM 615,19184 -#define T30_FEATURE_BIT_ECM_64_BYTES 616,19234 -#define T30_FEATURE_BIT_2D_CODING 617,19284 -#define T30_FEATURE_BIT_T6_CODING 618,19334 -#define T30_FEATURE_BIT_UNCOMPR_ENABLED 619,19384 -#define T30_FEATURE_BIT_POLLING 620,19434 -#define T30_FEATURE_BIT_MORE_DOCUMENTS 621,19484 -#define T30_FEATURE_BIT_V34FAX 622,19534 -#define T30_NSF_CONTROL_BIT_ENABLE_NSF 625,19586 -#define T30_NSF_CONTROL_BIT_RAW_INFO 626,19636 -#define T30_NSF_CONTROL_BIT_NEGOTIATE_IND 627,19686 -#define T30_NSF_CONTROL_BIT_NEGOTIATE_RESP 628,19736 -#define T30_NSF_ELEMENT_NSF_FIF 630,19787 -#define T30_NSF_ELEMENT_NSC_FIF 631,19835 -#define T30_NSF_ELEMENT_NSS_FIF 632,19883 -#define T30_NSF_ELEMENT_COMPANY_NAME 633,19931 -typedef struct async_s ASYNC_FORMAT;ASYNC_FORMAT640,20195 -struct async_s async_s641,20232 -#define IDLE 654,20599 -#define OUTG_CON_PENDING 655,20633 -#define INC_CON_PENDING 656,20667 -#define INC_CON_ALERT 657,20701 -#define INC_CON_ACCEPT 658,20735 -#define INC_ACT_PENDING 659,20769 -#define LISTENING 660,20803 -#define CONNECTED 661,20837 -#define OUTG_DIS_PENDING 662,20871 -#define INC_DIS_PENDING 663,20905 -#define LOCAL_CONNECT 664,20939 -#define INC_RES_PENDING 665,20974 -#define OUTG_RES_PENDING 666,21009 -#define SUSPENDING 667,21044 -#define ADVANCED_VOICE_SIG 668,21079 -#define ADVANCED_VOICE_NOSIG 669,21114 -#define RESUMING 670,21149 -#define INC_CON_CONNECTED_ALERT 671,21184 -#define OUTG_REJ_PENDING 672,21219 -#define IDLE 679,21470 -#define HOLD_REQUEST 680,21500 -#define HOLD_INDICATE 681,21530 -#define CALL_HELD 682,21560 -#define RETRIEVE_REQUEST 683,21590 -#define RETRIEVE_INDICATION 684,21620 -#define ESC_CAUSE 689,21864 -#define ESC_MSGTYPE 690,21935 -#define ESC_CHI 691,22006 -#define ESC_LAW 692,22077 -#define ESC_CR 693,22148 -#define ESC_PROFILE 694,22219 -#define ESC_SSEXT 695,22290 -#define ESC_VSWITCH 696,22361 -#define CST 697,22432 -#define PI 698,22503 -#define NI 699,22574 -#define CONN_NR 700,22645 -#define CONG_RNR 701,22716 -#define CONG_RR 702,22787 -#define RESERVED 703,22858 -#define ON_BOARD_CODEC 704,22929 -#define HANDSET 705,23000 -#define HOOK_SUPPORT 706,23071 -#define SCR 707,23142 -#define HOOK_OFF_REQ 709,23214 -#define HOOK_ON_REQ 710,23285 -#define SUSPEND_REQ 711,23356 -#define RESUME_REQ 712,23427 -#define USELAW_REQ 713,23498 -#define LISTEN_SIG_ASSIGN_PEND 714,23569 -#define PERM_LIST_REQ 715,23608 -#define C_HOLD_REQ 716,23679 -#define C_RETRIEVE_REQ 717,23711 -#define C_NCR_FAC_REQ 718,23743 -#define PERM_COD_ASSIGN 719,23775 -#define PERM_COD_CALL 720,23807 -#define PERM_COD_HOOK 721,23839 -#define PERM_COD_CONN_PEND 722,23871 -#define PTY_REQ_PEND 723,23942 -#define CD_REQ_PEND 724,23974 -#define CF_START_PEND 725,24006 -#define CF_STOP_PEND 726,24038 -#define ECT_REQ_PEND 727,24070 -#define GETSERV_REQ_PEND 728,24102 -#define BLOCK_PLCI 729,24134 -#define INTERR_NUMBERS_REQ_PEND 730,24166 -#define INTERR_DIVERSION_REQ_PEND 731,24213 -#define MWI_ACTIVATE_REQ_PEND 732,24260 -#define MWI_DEACTIVATE_REQ_PEND 733,24307 -#define SSEXT_REQ_COMMAND 734,24354 -#define SSEXT_NC_REQ_COMMAND 735,24401 -#define START_L1_SIG_ASSIGN_PEND 736,24448 -#define REM_L1_SIG_ASSIGN_PEND 737,24495 -#define CONF_BEGIN_REQ_PEND 738,24542 -#define CONF_ADD_REQ_PEND 739,24589 -#define CONF_SPLIT_REQ_PEND 740,24636 -#define CONF_DROP_REQ_PEND 741,24683 -#define CONF_ISOLATE_REQ_PEND 742,24730 -#define CONF_REATTACH_REQ_PEND 743,24777 -#define VSWITCH_REQ_PEND 744,24824 -#define GET_MWI_STATE 745,24871 -#define CCBS_REQUEST_REQ_PEND 746,24918 -#define CCBS_DEACTIVATE_REQ_PEND 747,24965 -#define CCBS_INTERROGATE_REQ_PEND 748,25012 -#define NO_INTERNAL_COMMAND 750,25060 -#define DTMF_COMMAND_1 751,25102 -#define DTMF_COMMAND_2 752,25144 -#define DTMF_COMMAND_3 753,25186 -#define MIXER_COMMAND_1 754,25228 -#define MIXER_COMMAND_2 755,25270 -#define MIXER_COMMAND_3 756,25312 -#define ADV_VOICE_COMMAND_CONNECT_1 757,25354 -#define ADV_VOICE_COMMAND_CONNECT_2 758,25396 -#define ADV_VOICE_COMMAND_CONNECT_3 759,25438 -#define ADV_VOICE_COMMAND_DISCONNECT_1 760,25480 -#define ADV_VOICE_COMMAND_DISCONNECT_2 761,25523 -#define ADV_VOICE_COMMAND_DISCONNECT_3 762,25566 -#define ADJUST_B_RESTORE_1 763,25609 -#define ADJUST_B_RESTORE_2 764,25652 -#define RESET_B3_COMMAND_1 765,25695 -#define SELECT_B_COMMAND_1 766,25738 -#define FAX_CONNECT_INFO_COMMAND_1 767,25781 -#define FAX_CONNECT_INFO_COMMAND_2 768,25824 -#define FAX_ADJUST_B23_COMMAND_1 769,25867 -#define FAX_ADJUST_B23_COMMAND_2 770,25910 -#define EC_COMMAND_1 771,25953 -#define EC_COMMAND_2 772,25996 -#define EC_COMMAND_3 773,26039 -#define RTP_CONNECT_B3_REQ_COMMAND_1 774,26082 -#define RTP_CONNECT_B3_REQ_COMMAND_2 775,26125 -#define RTP_CONNECT_B3_REQ_COMMAND_3 776,26168 -#define RTP_CONNECT_B3_RES_COMMAND_1 777,26211 -#define RTP_CONNECT_B3_RES_COMMAND_2 778,26254 -#define RTP_CONNECT_B3_RES_COMMAND_3 779,26297 -#define HOLD_SAVE_COMMAND_1 780,26340 -#define RETRIEVE_RESTORE_COMMAND_1 781,26383 -#define FAX_DISCONNECT_COMMAND_1 782,26426 -#define FAX_DISCONNECT_COMMAND_2 783,26469 -#define FAX_DISCONNECT_COMMAND_3 784,26512 -#define FAX_EDATA_ACK_COMMAND_1 785,26555 -#define FAX_EDATA_ACK_COMMAND_2 786,26598 -#define FAX_CONNECT_ACK_COMMAND_1 787,26641 -#define FAX_CONNECT_ACK_COMMAND_2 788,26684 -#define STD_INTERNAL_COMMAND_COUNT 789,26727 -#define UID 791,26771 -#define CALL_DIR_OUT 793,26844 -#define CALL_DIR_IN 794,26925 -#define CALL_DIR_ORIGINATE 795,26963 -#define CALL_DIR_ANSWER 796,27044 -#define CALL_DIR_FORCE_OUTG_NL 797,27125 -#define AWAITING_MANUF_CON 799,27217 -#define SPOOFING_REQUIRED 800,27290 -#define AWAITING_SELECT_B 801,27322 -#define DSP_CTRL_OLD_SET_MIXER_COEFFICIENTS 807,27569 -#define DSP_CTRL_SET_BCHANNEL_PASSIVATION_BRI 808,27622 -#define DSP_CTRL_SET_DTMF_PARAMETERS 809,27675 -#define MANUFACTURER_FEATURE_SLAVE_CODEC 811,27729 -#define MANUFACTURER_FEATURE_FAX_MORE_DOCUMENTS 812,27791 -#define MANUFACTURER_FEATURE_HARDDTMF 813,27853 -#define MANUFACTURER_FEATURE_SOFTDTMF_SEND 814,27915 -#define MANUFACTURER_FEATURE_DTMF_PARAMETERS 815,27977 -#define MANUFACTURER_FEATURE_SOFTDTMF_RECEIVE 816,28039 -#define MANUFACTURER_FEATURE_FAX_SUB_SEP_PWD 817,28101 -#define MANUFACTURER_FEATURE_V18 818,28163 -#define MANUFACTURER_FEATURE_MIXER_CH_CH 819,28225 -#define MANUFACTURER_FEATURE_MIXER_CH_PC 820,28287 -#define MANUFACTURER_FEATURE_MIXER_PC_CH 821,28349 -#define MANUFACTURER_FEATURE_MIXER_PC_PC 822,28411 -#define MANUFACTURER_FEATURE_ECHO_CANCELLER 823,28473 -#define MANUFACTURER_FEATURE_RTP 824,28535 -#define MANUFACTURER_FEATURE_T38 825,28597 -#define MANUFACTURER_FEATURE_TRANSP_DELIVERY_CONF 826,28659 -#define MANUFACTURER_FEATURE_XONOFF_FLOW_CONTROL 827,28721 -#define MANUFACTURER_FEATURE_OOB_CHANNEL 828,28783 -#define MANUFACTURER_FEATURE_IN_BAND_CHANNEL 829,28845 -#define MANUFACTURER_FEATURE_IN_BAND_FEATURE 830,28907 -#define MANUFACTURER_FEATURE_PIAFS 831,28969 -#define MANUFACTURER_FEATURE_DTMF_TONE 832,29031 -#define MANUFACTURER_FEATURE_FAX_PAPER_FORMATS 833,29093 -#define MANUFACTURER_FEATURE_OK_FC_LABEL 834,29155 -#define MANUFACTURER_FEATURE_VOWN 835,29217 -#define MANUFACTURER_FEATURE_XCONNECT 836,29279 -#define MANUFACTURER_FEATURE_DMACONNECT 837,29341 -#define MANUFACTURER_FEATURE_AUDIO_TAP 838,29403 -#define MANUFACTURER_FEATURE_FAX_NONSTANDARD 839,29465 -#define DTMF_DIGIT_TONE_LOW_GROUP_697_HZ 846,29743 -#define DTMF_DIGIT_TONE_LOW_GROUP_770_HZ 847,29796 -#define DTMF_DIGIT_TONE_LOW_GROUP_852_HZ 848,29849 -#define DTMF_DIGIT_TONE_LOW_GROUP_941_HZ 849,29902 -#define DTMF_DIGIT_TONE_LOW_GROUP_MASK 850,29955 -#define DTMF_DIGIT_TONE_HIGH_GROUP_1209_HZ 851,30008 -#define DTMF_DIGIT_TONE_HIGH_GROUP_1336_HZ 852,30061 -#define DTMF_DIGIT_TONE_HIGH_GROUP_1477_HZ 853,30114 -#define DTMF_DIGIT_TONE_HIGH_GROUP_1633_HZ 854,30167 -#define DTMF_DIGIT_TONE_HIGH_GROUP_MASK 855,30220 -#define DTMF_DIGIT_TONE_CODE_0 856,30273 -#define DTMF_DIGIT_TONE_CODE_1 857,30326 -#define DTMF_DIGIT_TONE_CODE_2 858,30379 -#define DTMF_DIGIT_TONE_CODE_3 859,30432 -#define DTMF_DIGIT_TONE_CODE_4 860,30485 -#define DTMF_DIGIT_TONE_CODE_5 861,30538 -#define DTMF_DIGIT_TONE_CODE_6 862,30591 -#define DTMF_DIGIT_TONE_CODE_7 863,30644 -#define DTMF_DIGIT_TONE_CODE_8 864,30697 -#define DTMF_DIGIT_TONE_CODE_9 865,30750 -#define DTMF_DIGIT_TONE_CODE_STAR 866,30803 -#define DTMF_DIGIT_TONE_CODE_HASHMARK 867,30856 -#define DTMF_DIGIT_TONE_CODE_A 868,30909 -#define DTMF_DIGIT_TONE_CODE_B 869,30962 -#define DTMF_DIGIT_TONE_CODE_C 870,31015 -#define DTMF_DIGIT_TONE_CODE_D 871,31068 -#define DTMF_UDATA_REQUEST_SEND_DIGITS 873,31122 -#define DTMF_UDATA_REQUEST_ENABLE_RECEIVER 874,31175 -#define DTMF_UDATA_REQUEST_DISABLE_RECEIVER 875,31228 -#define DTMF_UDATA_INDICATION_DIGITS_SENT 876,31281 -#define DTMF_UDATA_INDICATION_DIGITS_RECEIVED 877,31334 -#define DTMF_UDATA_INDICATION_MODEM_CALLING_TONE 878,31387 -#define DTMF_UDATA_INDICATION_FAX_CALLING_TONE 879,31440 -#define DTMF_UDATA_INDICATION_ANSWER_TONE 880,31493 -#define UDATA_REQUEST_MIXER_TAP_DATA 882,31547 -#define UDATA_INDICATION_MIXER_TAP_DATA 883,31594 -#define DTMF_LISTEN_ACTIVE_FLAG 885,31642 -#define DTMF_SEND_DIGIT_FLAG 886,31686 -#define LI2_FLAG_PCCONNECT_A_B 894,31947 -#define LI2_FLAG_PCCONNECT_B_A 895,31989 -#define MIXER_BCHANNELS_BRI 897,32032 -#define MIXER_IC_CHANNELS_BRI 898,32065 -#define MIXER_IC_CHANNEL_BASE 899,32116 -#define MIXER_CHANNELS_BRI 900,32167 -#define MIXER_CHANNELS_PRI 901,32244 -typedef struct li_config_s LI_CONFIG;LI_CONFIG903,32279 -struct xconnect_card_address_s xconnect_card_address_s905,32318 -struct xconnect_transfer_address_s xconnect_transfer_address_s910,32382 -struct li_config_s li_config_s915,32486 -#define LI_CHANNEL_INVOLVED 930,32873 -#define LI_CHANNEL_ACTIVE 931,32913 -#define LI_CHANNEL_TX_DATA 932,32953 -#define LI_CHANNEL_RX_DATA 933,32993 -#define LI_CHANNEL_CONFERENCE 934,33033 -#define LI_CHANNEL_ADDRESSES_SET 935,33073 -#define LI_CHFLAG_MONITOR 937,33114 -#define LI_CHFLAG_MIX 938,33154 -#define LI_CHFLAG_LOOP 939,33194 -#define LI_FLAG_INTERCONNECT 941,33235 -#define LI_FLAG_MONITOR 942,33275 -#define LI_FLAG_MIX 943,33315 -#define LI_FLAG_PCCONNECT 944,33355 -#define LI_FLAG_CONFERENCE 945,33395 -#define LI_FLAG_ANNOUNCEMENT 946,33435 -#define LI_COEF_CH_CH 948,33476 -#define LI_COEF_CH_PC 949,33516 -#define LI_COEF_PC_CH 950,33556 -#define LI_COEF_PC_PC 951,33596 -#define LI_COEF_CH_CH_SET 952,33636 -#define LI_COEF_CH_PC_SET 953,33676 -#define LI_COEF_PC_CH_SET 954,33716 -#define LI_COEF_PC_PC_SET 955,33756 -#define LI_REQ_SILENT_UPDATE 957,33797 -#define LI_PLCI_B_LAST_FLAG 959,33840 -#define LI_PLCI_B_DISC_FLAG 960,33897 -#define LI_PLCI_B_SKIP_FLAG 961,33954 -#define LI_PLCI_B_FLAG_MASK 962,34011 -#define UDATA_REQUEST_SET_MIXER_COEFS_BRI 964,34069 -#define UDATA_REQUEST_SET_MIXER_COEFS_PRI_SYNC 965,34120 -#define UDATA_REQUEST_SET_MIXER_COEFS_PRI_ASYN 966,34171 -#define UDATA_INDICATION_MIXER_COEFS_SET 967,34222 -#define MIXER_FEATURE_ENABLE_TX_DATA 969,34274 -#define MIXER_FEATURE_ENABLE_RX_DATA 970,34325 -#define MIXER_COEF_LINE_CHANNEL_MASK 972,34377 -#define MIXER_COEF_LINE_FROM_PC_FLAG 973,34426 -#define MIXER_COEF_LINE_TO_PC_FLAG 974,34475 -#define MIXER_COEF_LINE_ROW_FLAG 975,34524 -#define UDATA_REQUEST_XCONNECT_FROM 977,34574 -#define UDATA_INDICATION_XCONNECT_FROM 978,34621 -#define UDATA_REQUEST_XCONNECT_TO 979,34668 -#define UDATA_INDICATION_XCONNECT_TO 980,34715 -#define XCONNECT_CHANNEL_PORT_B 982,34763 -#define XCONNECT_CHANNEL_PORT_PC 983,34814 -#define XCONNECT_CHANNEL_PORT_MASK 984,34865 -#define XCONNECT_CHANNEL_NUMBER_MASK 985,34916 -#define XCONNECT_CHANNEL_PORT_COUNT 986,34967 -#define XCONNECT_SUCCESS 988,35014 -#define XCONNECT_ERROR 989,35056 -#define PRIVATE_ECHO_CANCELLER 997,35315 -#define PRIV_SELECTOR_ECHO_CANCELLER 999,35357 -#define EC_ENABLE_OPERATION 1001,35401 -#define EC_DISABLE_OPERATION 1002,35442 -#define EC_FREEZE_COEFFICIENTS 1003,35483 -#define EC_RESUME_COEFFICIENT_UPDATE 1004,35524 -#define EC_RESET_COEFFICIENTS 1005,35565 -#define EC_DISABLE_NON_LINEAR_PROCESSING 1007,35607 -#define EC_DO_NOT_REQUIRE_REVERSALS 1008,35659 -#define EC_DETECT_DISABLE_TONE 1009,35711 -#define EC_SUCCESS 1011,35764 -#define EC_UNSUPPORTED_OPERATION 1012,35811 -#define EC_BYPASS_DUE_TO_CONTINUOUS_2100HZ 1014,35859 -#define EC_BYPASS_DUE_TO_REVERSED_2100HZ 1015,35906 -#define EC_BYPASS_RELEASED 1016,35953 -#define DSP_CTRL_SET_LEC_PARAMETERS 1018,36001 -#define LEC_ENABLE_ECHO_CANCELLER 1020,36052 -#define LEC_ENABLE_2100HZ_DETECTOR 1021,36104 -#define LEC_REQUIRE_2100HZ_REVERSALS 1022,36156 -#define LEC_MANUAL_DISABLE 1023,36208 -#define LEC_ENABLE_NONLINEAR_PROCESSING 1024,36260 -#define LEC_FREEZE_COEFFICIENTS 1025,36312 -#define LEC_RESET_COEFFICIENTS 1026,36364 -#define LEC_MAX_SUPPORTED_TAIL_LENGTH 1028,36417 -#define LEC_UDATA_INDICATION_DISABLE_DETECT 1030,36466 -#define LEC_DISABLE_TYPE_CONTIGNUOUS_2100HZ 1032,36514 -#define LEC_DISABLE_TYPE_REVERSED_2100HZ 1033,36564 -#define LEC_DISABLE_RELEASED 1034,36614 -#define B1_RTP 1042,36881 -#define B2_RTP 1043,36916 -#define B3_RTP 1044,36951 -#define PRIVATE_RTP 1046,36987 -#define RTP_PRIM_PAYLOAD_PCMU_8000 1048,37029 -#define RTP_PRIM_PAYLOAD_1016_8000 1049,37070 -#define RTP_PRIM_PAYLOAD_G726_32_8000 1050,37111 -#define RTP_PRIM_PAYLOAD_GSM_8000 1051,37152 -#define RTP_PRIM_PAYLOAD_G723_8000 1052,37193 -#define RTP_PRIM_PAYLOAD_DVI4_8000 1053,37234 -#define RTP_PRIM_PAYLOAD_DVI4_16000 1054,37275 -#define RTP_PRIM_PAYLOAD_LPC_8000 1055,37316 -#define RTP_PRIM_PAYLOAD_PCMA_8000 1056,37357 -#define RTP_PRIM_PAYLOAD_G722_16000 1057,37398 -#define RTP_PRIM_PAYLOAD_QCELP_8000 1058,37439 -#define RTP_PRIM_PAYLOAD_G728_8000 1059,37481 -#define RTP_PRIM_PAYLOAD_G729_8000 1060,37523 -#define RTP_PRIM_PAYLOAD_GSM_HR_8000 1061,37565 -#define RTP_PRIM_PAYLOAD_GSM_EFR_8000 1062,37607 -#define RTP_ADD_PAYLOAD_BASE 1064,37650 -#define RTP_ADD_PAYLOAD_RED 1065,37692 -#define RTP_ADD_PAYLOAD_CN_8000 1066,37734 -#define RTP_ADD_PAYLOAD_DTMF 1067,37776 -#define RTP_SUCCESS 1069,37819 -#define RTP_ERR_SSRC_OR_PAYLOAD_CHANGE 1070,37865 -#define UDATA_REQUEST_RTP_RECONFIGURE 1072,37912 -#define UDATA_INDICATION_RTP_CHANGE 1073,37959 -#define BUDATA_REQUEST_QUERY_RTCP_REPORT 1074,38006 -#define BUDATA_INDICATION_RTCP_REPORT 1075,38052 -#define RTP_CONNECT_OPTION_DISC_ON_SSRC_CHANGE 1077,38099 -#define RTP_CONNECT_OPTION_DISC_ON_PT_CHANGE 1078,38161 -#define RTP_CONNECT_OPTION_DISC_ON_UNKNOWN_PT 1079,38223 -#define RTP_CONNECT_OPTION_NO_SILENCE_TRANSMIT 1080,38285 -#define RTP_PAYLOAD_OPTION_VOICE_ACTIVITY_DETECT 1082,38348 -#define RTP_PAYLOAD_OPTION_DISABLE_POST_FILTER 1083,38405 -#define RTP_PAYLOAD_OPTION_G723_LOW_CODING_RATE 1084,38462 -#define RTP_PACKET_FILTER_IGNORE_UNKNOWN_SSRC 1086,38520 -#define RTP_CHANGE_FLAG_SSRC_CHANGE 1088,38583 -#define RTP_CHANGE_FLAG_PAYLOAD_TYPE_CHANGE 1089,38645 -#define RTP_CHANGE_FLAG_UNKNOWN_PAYLOAD_TYPE 1090,38707 -#define B1_T38 1098,38986 -#define B2_T38 1099,39021 -#define B3_T38 1100,39056 -#define PRIVATE_T38 1102,39092 -#define B1_PIAFS 1110,39351 -#define B2_PIAFS 1111,39386 -#define PRIVATE_PIAFS 1113,39422 -#define PIAFS_UDATA_ABILITIES 1141,41174 -#define PRIVATE_FAX_SUB_SEP_PWD 1148,41426 -#define PRIVATE_V18 1157,41685 -#define DTMF_GET_SUPPORTED_DETECT_CODES 1166,41944 -#define DTMF_GET_SUPPORTED_SEND_CODES 1167,41990 -#define DTMF_LISTEN_TONE_START 1168,42036 -#define DTMF_LISTEN_TONE_STOP 1169,42082 -#define DTMF_SEND_TONE 1170,42128 -#define DTMF_LISTEN_MF_START 1171,42174 -#define DTMF_LISTEN_MF_STOP 1172,42220 -#define DTMF_SEND_MF 1173,42266 -#define DTMF_MF_DIGIT_TONE_CODE_1 1175,42313 -#define DTMF_MF_DIGIT_TONE_CODE_2 1176,42366 -#define DTMF_MF_DIGIT_TONE_CODE_3 1177,42419 -#define DTMF_MF_DIGIT_TONE_CODE_4 1178,42472 -#define DTMF_MF_DIGIT_TONE_CODE_5 1179,42525 -#define DTMF_MF_DIGIT_TONE_CODE_6 1180,42578 -#define DTMF_MF_DIGIT_TONE_CODE_7 1181,42631 -#define DTMF_MF_DIGIT_TONE_CODE_8 1182,42684 -#define DTMF_MF_DIGIT_TONE_CODE_9 1183,42737 -#define DTMF_MF_DIGIT_TONE_CODE_0 1184,42790 -#define DTMF_MF_DIGIT_TONE_CODE_K1 1185,42843 -#define DTMF_MF_DIGIT_TONE_CODE_K2 1186,42896 -#define DTMF_MF_DIGIT_TONE_CODE_KP 1187,42949 -#define DTMF_MF_DIGIT_TONE_CODE_S1 1188,43002 -#define DTMF_MF_DIGIT_TONE_CODE_ST 1189,43055 -#define DTMF_DIGIT_CODE_COUNT 1191,43109 -#define DTMF_MF_DIGIT_CODE_BASE 1192,43160 -#define DTMF_MF_DIGIT_CODE_COUNT 1193,43234 -#define DTMF_TOTAL_DIGIT_CODE_COUNT 1194,43285 -#define DTMF_TONE_DIGIT_BASE 1196,43385 -#define DTMF_SIGNAL_NO_TONE 1198,43439 -#define DTMF_SIGNAL_UNIDENTIFIED_TONE 1199,43514 -#define DTMF_SIGNAL_DIAL_TONE 1201,43590 -#define DTMF_SIGNAL_PABX_INTERNAL_DIAL_TONE 1202,43665 -#define DTMF_SIGNAL_SPECIAL_DIAL_TONE 1203,43740 -#define DTMF_SIGNAL_SECOND_DIAL_TONE 1204,43841 -#define DTMF_SIGNAL_RINGING_TONE 1205,43916 -#define DTMF_SIGNAL_SPECIAL_RINGING_TONE 1206,43991 -#define DTMF_SIGNAL_BUSY_TONE 1207,44066 -#define DTMF_SIGNAL_CONGESTION_TONE 1208,44141 -#define DTMF_SIGNAL_SPECIAL_INFORMATION_TONE 1209,44237 -#define DTMF_SIGNAL_COMFORT_TONE 1210,44313 -#define DTMF_SIGNAL_HOLD_TONE 1211,44389 -#define DTMF_SIGNAL_RECORD_TONE 1212,44465 -#define DTMF_SIGNAL_CALLER_WAITING_TONE 1213,44541 -#define DTMF_SIGNAL_CALL_WAITING_TONE 1214,44617 -#define DTMF_SIGNAL_PAY_TONE 1215,44693 -#define DTMF_SIGNAL_POSITIVE_INDICATION_TONE 1216,44769 -#define DTMF_SIGNAL_NEGATIVE_INDICATION_TONE 1217,44845 -#define DTMF_SIGNAL_WARNING_TONE 1218,44921 -#define DTMF_SIGNAL_INTRUSION_TONE 1219,44997 -#define DTMF_SIGNAL_CALLING_CARD_SERVICE_TONE 1220,45073 -#define DTMF_SIGNAL_PAYPHONE_RECOGNITION_TONE 1221,45149 -#define DTMF_SIGNAL_CPE_ALERTING_SIGNAL 1222,45225 -#define DTMF_SIGNAL_OFF_HOOK_WARNING_TONE 1223,45301 -#define DTMF_SIGNAL_INTERCEPT_TONE 1225,45378 -#define DTMF_SIGNAL_MODEM_CALLING_TONE 1227,45455 -#define DTMF_SIGNAL_FAX_CALLING_TONE 1228,45531 -#define DTMF_SIGNAL_ANSWER_TONE 1229,45607 -#define DTMF_SIGNAL_REVERSED_ANSWER_TONE 1230,45683 -#define DTMF_SIGNAL_ANSAM_TONE 1231,45759 -#define DTMF_SIGNAL_REVERSED_ANSAM_TONE 1232,45835 -#define DTMF_SIGNAL_BELL103_ANSWER_TONE 1233,45911 -#define DTMF_SIGNAL_FAX_FLAGS 1234,45987 -#define DTMF_SIGNAL_G2_FAX_GROUP_ID 1235,46063 -#define DTMF_SIGNAL_HUMAN_SPEECH 1236,46139 -#define DTMF_SIGNAL_ANSWERING_MACHINE_390 1237,46215 -#define DTMF_MF_LISTEN_ACTIVE_FLAG 1239,46292 -#define DTMF_SEND_MF_FLAG 1240,46336 -#define DTMF_TONE_LISTEN_ACTIVE_FLAG 1241,46380 -#define DTMF_SEND_TONE_FLAG 1242,46424 -#define PRIVATE_DTMF_TONE 1244,46469 -#define PRIVATE_FAX_PAPER_FORMATS 1252,46727 -#define PRIVATE_VOWN 1261,46986 -#define PRIVATE_FAX_NONSTANDARD 1270,47245 -#define ADV_VOICE_WRITE_ACTIVATION 1278,47503 -#define ADV_VOICE_WRITE_DEACTIVATION 1279,47543 -#define ADV_VOICE_WRITE_UPDATE 1280,47583 -#define ADV_VOICE_OLD_COEF_COUNT 1282,47624 -#define ADV_VOICE_NEW_COEF_BASE 1283,47662 -#define B1_FACILITY_LOCAL 1289,47955 -#define B1_FACILITY_MIXER 1290,47987 -#define B1_FACILITY_DTMFX 1291,48019 -#define B1_FACILITY_DTMFR 1292,48051 -#define B1_FACILITY_VOICE 1293,48083 -#define B1_FACILITY_EC 1294,48115 -#define ADJUST_B_MODE_SAVE 1296,48148 -#define ADJUST_B_MODE_REMOVE_L23 1297,48191 -#define ADJUST_B_MODE_SWITCH_L1 1298,48234 -#define ADJUST_B_MODE_NO_RESOURCE 1299,48277 -#define ADJUST_B_MODE_ASSIGN_L23 1300,48320 -#define ADJUST_B_MODE_USER_CONNECT 1301,48363 -#define ADJUST_B_MODE_CONNECT 1302,48406 -#define ADJUST_B_MODE_RESTORE 1303,48449 -#define ADJUST_B_START 1305,48493 -#define ADJUST_B_SAVE_MIXER_1 1306,48538 -#define ADJUST_B_SAVE_DTMF_1 1307,48583 -#define ADJUST_B_REMOVE_L23_1 1308,48628 -#define ADJUST_B_REMOVE_L23_2 1309,48673 -#define ADJUST_B_SAVE_EC_1 1310,48718 -#define ADJUST_B_SAVE_DTMF_PARAMETER_1 1311,48763 -#define ADJUST_B_SAVE_VOICE_1 1312,48808 -#define ADJUST_B_SWITCH_L1_1 1313,48853 -#define ADJUST_B_SWITCH_L1_2 1314,48898 -#define ADJUST_B_RESTORE_VOICE_1 1315,48943 -#define ADJUST_B_RESTORE_VOICE_2 1316,48989 -#define ADJUST_B_RESTORE_DTMF_PARAMETER_1 1317,49035 -#define ADJUST_B_RESTORE_DTMF_PARAMETER_2 1318,49081 -#define ADJUST_B_RESTORE_EC_1 1319,49127 -#define ADJUST_B_RESTORE_EC_2 1320,49173 -#define ADJUST_B_ASSIGN_L23_1 1321,49219 -#define ADJUST_B_ASSIGN_L23_2 1322,49265 -#define ADJUST_B_CONNECT_1 1323,49311 -#define ADJUST_B_CONNECT_2 1324,49357 -#define ADJUST_B_CONNECT_3 1325,49403 -#define ADJUST_B_CONNECT_4 1326,49449 -#define ADJUST_B_RESTORE_DTMF_1 1327,49495 -#define ADJUST_B_RESTORE_DTMF_2 1328,49541 -#define ADJUST_B_RESTORE_MIXER_1 1329,49587 -#define ADJUST_B_RESTORE_MIXER_2 1330,49633 -#define ADJUST_B_RESTORE_MIXER_3 1331,49679 -#define ADJUST_B_RESTORE_MIXER_4 1332,49725 -#define ADJUST_B_RESTORE_MIXER_5 1333,49771 -#define ADJUST_B_RESTORE_MIXER_6 1334,49817 -#define ADJUST_B_RESTORE_MIXER_7 1335,49863 -#define ADJUST_B_END 1336,49909 -#define N_CH_XOFF 1341,50169 -#define N_XON_SENT 1342,50206 -#define N_XON_REQ 1343,50243 -#define N_XON_CONNECT_IND 1344,50280 -#define N_RX_FLOW_CONTROL_MASK 1345,50317 -#define N_OK_FC_PENDING 1346,50354 -#define N_TX_FLOW_CONTROL_MASK 1347,50391 -#define NCPI_VALID_CONNECT_B3_IND 1352,50642 -#define NCPI_VALID_CONNECT_B3_ACT 1353,50682 -#define NCPI_VALID_DISC_B3_IND 1354,50722 -#define NCPI_CONNECT_B3_ACT_SENT 1355,50762 -#define NCPI_NEGOTIATE_B3_SENT 1356,50802 -#define NCPI_MDM_CTS_ON_RECEIVED 1357,50842 -#define NCPI_MDM_DCD_ON_RECEIVED 1358,50882 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divasproc.c,724 -static char *divas_proc_name 43,1143 -static char *adapter_dir_name 44,1183 -static char *info_proc_name 45,1226 -static char *grp_opt_proc_name 46,1264 -static char *d_l1_down_proc_name 47,1319 -static struct proc_dir_entry *divas_proc_entry 54,1444 -divas_read(57,1515 -divas_write(96,2358 -static unsigned int divas_poll(101,2465 -static int divas_open(106,2558 -static int divas_close(111,2664 -static struct file_operations divas_fops 116,2745 -int create_divas_proc(126,2963 -void remove_divas_proc(140,3244 -write_grp_opt(152,3433 -write_d_l1_down(183,4094 -read_d_l1_down(215,4735 -read_grp_opt(239,5285 -info_write(263,5827 -info_read(288,6349 -int create_adapter_proc(377,9028 -void remove_adapter_proc(418,10215 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/idifunc.c,764 -#define DBG_MINIMUM 19,513 -#define DBG_DEFAULT 20,561 -static dword notify_handle;28,814 -static DESCRIPTOR DAdapter;29,842 -static DESCRIPTOR MAdapter;30,870 -static void no_printf(32,899 -static void stop_dbg(42,1021 -typedef struct _udiva_card _udiva_card49,1134 -} udiva_card;udiva_card53,1211 -static diva_os_spin_lock_t ll_lock;56,1251 -static udiva_card *find_card_in_list(61,1316 -static void um_new_card(83,1831 -static void um_remove_card(115,2750 -static void DIVA_EXIT_FUNCTION remove_all_idi_proc(135,3264 -static void *didd_callback(156,3800 -static int DIVA_INIT_FUNCTION connect_didd(183,4458 -static void DIVA_EXIT_FUNCTION disconnect_didd(227,5660 -int DIVA_INIT_FUNCTION idifunc_init(242,5943 -void DIVA_EXIT_FUNCTION idifunc_finit(262,6279 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divasync.h,7166 -#define __DIVA_SYNC__H27,902 -#define IDI_SYNC_REQ_REMOVE 28,925 -#define IDI_SYNC_REQ_GET_NAME 29,970 -#define IDI_SYNC_REQ_GET_SERIAL 30,1015 -#define IDI_SYNC_REQ_SET_POSTCALL 31,1060 -#define IDI_SYNC_REQ_GET_XLOG 32,1105 -#define IDI_SYNC_REQ_GET_FEATURES 33,1150 -#define IDI_SYNC_REQ_USB_REGISTER 34,1195 -#define IDI_SYNC_REQ_USB_RELEASE 35,1240 -#define IDI_SYNC_REQ_USB_ADD_DEVICE 36,1285 -#define IDI_SYNC_REQ_USB_START_DEVICE 37,1330 -#define IDI_SYNC_REQ_USB_STOP_DEVICE 38,1375 -#define IDI_SYNC_REQ_USB_REMOVE_DEVICE 39,1420 -#define IDI_SYNC_REQ_GET_CARDTYPE 40,1465 -#define IDI_SYNC_REQ_GET_DBG_XLOG 41,1510 -#define DIVA_USB42,1555 -#define DIVA_USB_REQ 43,1572 -#define DIVA_USB_TEST 44,1617 -#define DIVA_USB_ADD_ADAPTER 45,1662 -#define DIVA_USB_REMOVE_ADAPTER 46,1707 -#define IDI_SYNC_REQ_SERIAL_HOOK 47,1752 -#define IDI_SYNC_REQ_XCHANGE_STATUS 48,1797 -#define IDI_SYNC_REQ_USB_HOOK 49,1842 -#define IDI_SYNC_REQ_PORTDRV_HOOK 50,1887 -#define IDI_SYNC_REQ_SLI 51,1932 -#define IDI_SYNC_REQ_RECONFIGURE 52,2025 -#define IDI_SYNC_REQ_RESET 53,2070 -#define IDI_SYNC_REQ_GET_85X_DEVICE_DATA 54,2115 -#define IDI_SYNC_REQ_LOCK_85X 55,2165 -#define IDI_SYNC_REQ_DIVA_85X_USB_DATA_EXCHANGE 56,2218 -#define IDI_SYNC_REQ_DIPORT_EXCHANGE_REQ 57,2271 -#define IDI_SYNC_REQ_GET_85X_EXT_PORT_TYPE 58,2319 -#define IDI_SYNC_REQ_XDI_GET_EXTENDED_FEATURES 60,2453 -typedef struct _diva_xdi_get_extended_xdi_features _diva_xdi_get_extended_xdi_features75,3158 -} diva_xdi_get_extended_xdi_features_t;diva_xdi_get_extended_xdi_features_t78,3262 -#define DIVA_XDI_EXTENDED_FEATURES_VALID 82,3325 -#define DIVA_XDI_EXTENDED_FEATURE_CMA 83,3380 -#define DIVA_XDI_EXTENDED_FEATURE_SDRAM_BAR 84,3435 -#define DIVA_XDI_EXTENDED_FEATURE_CAPI_PRMS 85,3490 -#define DIVA_XDI_EXTENDED_FEATURE_NO_CANCEL_RC 86,3545 -#define DIVA_XDI_EXTENDED_FEATURE_RX_DMA 87,3600 -#define DIVA_XDI_EXTENDED_FEATURE_MANAGEMENT_DMA 88,3655 -#define DIVA_XDI_EXTENDED_FEATURE_WIDE_ID 89,3710 -#define DIVA_XDI_EXTENDED_FEATURES_MAX_SZ 90,3765 -#define IDI_SYNC_REQ_XDI_GET_ADAPTER_SDRAM_BAR 92,3893 -typedef struct _diva_xdi_get_adapter_sdram_bar _diva_xdi_get_adapter_sdram_bar93,3947 -} diva_xdi_get_adapter_sdram_bar_t;diva_xdi_get_adapter_sdram_bar_t95,4008 -#define IDI_SYNC_REQ_XDI_GET_CAPI_PARAMS 97,4125 -typedef struct _diva_xdi_get_capi_parameters _diva_xdi_get_capi_parameters101,4238 -} diva_xdi_get_capi_parameters_t;diva_xdi_get_capi_parameters_t105,4375 -#define IDI_SYNC_REQ_XDI_GET_LOGICAL_ADAPTER_NUMBER 107,4490 -typedef struct _diva_xdi_get_logical_adapter_number _diva_xdi_get_logical_adapter_number115,4817 -} diva_xdi_get_logical_adapter_number_s_t;diva_xdi_get_logical_adapter_number_s_t119,4950 -#define IDI_SYNC_REQ_UP1DM_OPERATION 121,5074 -#define IDI_SYNC_REQ_DMA_DESCRIPTOR_OPERATION 123,5199 -#define IDI_SYNC_REQ_DMA_DESCRIPTOR_ALLOC 124,5250 -#define IDI_SYNC_REQ_DMA_DESCRIPTOR_FREE 125,5301 -typedef struct _diva_xdi_dma_descriptor_operation _diva_xdi_dma_descriptor_operation126,5352 -} diva_xdi_dma_descriptor_operation_t;diva_xdi_dma_descriptor_operation_t131,5504 -#define IDI_SYNC_REQ_DIDD_REGISTER_ADAPTER_NOTIFY 133,5624 -#define IDI_SYNC_REQ_DIDD_REMOVE_ADAPTER_NOTIFY 134,5681 -#define IDI_SYNC_REQ_DIDD_ADD_ADAPTER 135,5738 -#define IDI_SYNC_REQ_DIDD_REMOVE_ADAPTER 136,5795 -#define IDI_SYNC_REQ_DIDD_READ_ADAPTER_ARRAY 137,5852 -#define IDI_SYNC_REQ_DIDD_GET_CFG_LIB_IFC 138,5909 -typedef struct _diva_didd_adapter_notify _diva_didd_adapter_notify139,5966 -} diva_didd_adapter_notify_t;diva_didd_adapter_notify_t143,6089 -typedef struct _diva_didd_add_adapter _diva_didd_add_adapter144,6119 -} diva_didd_add_adapter_t;diva_didd_add_adapter_t146,6181 -typedef struct _diva_didd_remove_adapter _diva_didd_remove_adapter147,6208 -} diva_didd_remove_adapter_t;diva_didd_remove_adapter_t149,6272 -typedef struct _diva_didd_read_adapter_array _diva_didd_read_adapter_array150,6302 -} diva_didd_read_adapter_array_t;diva_didd_read_adapter_array_t153,6382 -typedef struct _diva_didd_get_cfg_lib_ifc _diva_didd_get_cfg_lib_ifc154,6416 -} diva_didd_get_cfg_lib_ifc_t;diva_didd_get_cfg_lib_ifc_t156,6472 -#define IDI_SYNC_REQ_XDI_GET_STREAM 158,6584 -#define DIVA_XDI_SYNCHRONOUS_SERVICE 159,6628 -#define DIVA_XDI_DMA_SERVICE 160,6672 -#define DIVA_XDI_AUTO_SERVICE 161,6716 -#define DIVA_ISTREAM_COMPLETE_NOTIFY 162,6760 -#define DIVA_ISTREAM_COMPLETE_READ 163,6801 -#define DIVA_ISTREAM_COMPLETE_WRITE 164,6842 -typedef struct _diva_xdi_stream_interface _diva_xdi_stream_interface165,6883 -} diva_xdi_stream_interface_t;diva_xdi_stream_interface_t191,7726 -#define SERIAL_GSM_CELL 198,8002 -#define SERIAL_ON_HOOK 202,8275 -} SERIAL_STATE;SERIAL_STATE203,8339 -typedef int ( * SERIAL_INT_CB)SERIAL_INT_CB204,8355 -typedef int ( * SERIAL_DPC_CB)SERIAL_DPC_CB205,8405 -typedef unsigned char char206,8455 -#define SERIAL_HOOK_ATTACH 212,8799 -#define SERIAL_HOOK_STATUS 213,8831 -#define SERIAL_HOOK_I_SYNC 214,8863 -#define SERIAL_HOOK_NOECHO 215,8895 -#define SERIAL_HOOK_RING 216,8927 -#define SERIAL_HOOK_DETACH 217,8957 -} SERIAL_HOOK;SERIAL_HOOK230,9681 -#define DRIVER_STATUS_BOOT 239,10058 -#define DRIVER_STATUS_INIT_DEV 240,10091 -#define DRIVER_STATUS_RUNNING 241,10127 -#define DRIVER_STATUS_SHUTDOWN 242,10162 -#define DRIVER_STATUS_TRAPPED 243,10198 -#define CRC4_MASK 253,10788 -#define L1_TRISTATE_MASK 254,10819 -#define WATCHDOG_MASK 255,10855 -#define NO_ORDER_CHECK_MASK 256,10889 -#define LOW_CHANNEL_MASK 257,10928 -#define NO_HSCX30_MASK 258,10964 -#define MODE_MASK 259,10999 -#define SET_BOARD 260,11030 -#define SET_CRC4 261,11061 -#define SET_L1_TRISTATE 262,11091 -#define SET_WATCHDOG 263,11127 -#define SET_NO_ORDER_CHECK 264,11160 -#define SET_LOW_CHANNEL 265,11198 -#define SET_NO_HSCX30 266,11234 -#define SET_MODE 267,11268 -#define SET_PROTO 268,11298 -#define SET_CARDTYPE 269,11329 -#define SET_NT2 270,11362 -#define SET_PERMANENT 271,11392 -#define SET_STABLEL2 272,11426 -#define SET_TEI 273,11459 -#define SET_NUMBERLEN 274,11489 -#define GLARE_RESOLVE_MASK 287,11988 -#define DID_MASK 288,12026 -#define BEARER_CAP_MASK 289,12056 -#define SET_GLARE_RESOLVE 290,12092 -#define SET_DID 291,12129 -#define SET_BEARER_CAP 292,12159 -#define CALL_REF_LENGTH1_MASK 298,12384 -#define BRI_CHANNEL_ID_MASK 299,12425 -#define SET_CALL_REF_LENGTH 300,12465 -#define SET_BRI_CHANNEL_ID 301,12505 -#define SET_SPID1 305,12659 -#define SET_NUMBER1 306,12690 -#define SET_SUBADDRESS1 307,12723 -#define SET_SPID2 308,12759 -#define SET_NUMBER2 309,12790 -#define SET_SUBADDRESS2 310,12823 -#define MASK_SET 311,12859 -} isdnProps isdnProps318,13018 -typedef void ( * PORTDRV_HOOK_CB)PORTDRV_HOOK_CB322,13111 -} PORTDRV_HOOK PORTDRV_HOOK332,13683 -#define SLI_INSTALL 334,13754 -#define SLI_UNINSTALL 335,13785 -typedef int ( * SLIENTRYPOINT)SLIENTRYPOINT336,13816 -} SLIENTRYPOINT_REQ SLIENTRYPOINT_REQ346,14498 -typedef int ( * USB_SEND_REQ)USB_SEND_REQ351,14637 -typedef int ( * USB_START_DEV)USB_START_DEV352,14741 -typedef void ( * USB_RECV_NOTIFY)USB_RECV_NOTIFY354,14826 -typedef void ( * USB_XMIT_NOTIFY)USB_XMIT_NOTIFY355,14887 -} IDI_SYNC_REQ;IDI_SYNC_REQ488,20034 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/mdm_msg.h,11564 -#define __EICON_MDM_MSG_H__27,905 -#define DSP_UDATA_INDICATION_DCD_OFF 28,933 -#define DSP_UDATA_INDICATION_DCD_ON 29,976 -#define DSP_UDATA_INDICATION_CTS_OFF 30,1018 -#define DSP_UDATA_INDICATION_CTS_ON 31,1061 -#define DSP_CONNECTED_NORM_UNSPECIFIED 45,1672 -#define DSP_CONNECTED_NORM_V21 46,1718 -#define DSP_CONNECTED_NORM_V23 47,1764 -#define DSP_CONNECTED_NORM_V22 48,1810 -#define DSP_CONNECTED_NORM_V22_BIS 49,1856 -#define DSP_CONNECTED_NORM_V32_BIS 50,1902 -#define DSP_CONNECTED_NORM_V34 51,1948 -#define DSP_CONNECTED_NORM_V8 52,1994 -#define DSP_CONNECTED_NORM_BELL_212A 53,2040 -#define DSP_CONNECTED_NORM_BELL_103 54,2086 -#define DSP_CONNECTED_NORM_V29_LEASED_LINE 55,2132 -#define DSP_CONNECTED_NORM_V33_LEASED_LINE 56,2179 -#define DSP_CONNECTED_NORM_V90 57,2226 -#define DSP_CONNECTED_NORM_V21_CH2 58,2273 -#define DSP_CONNECTED_NORM_V27_TER 59,2320 -#define DSP_CONNECTED_NORM_V29 60,2367 -#define DSP_CONNECTED_NORM_V33 61,2414 -#define DSP_CONNECTED_NORM_V17 62,2461 -#define DSP_CONNECTED_NORM_V32 63,2508 -#define DSP_CONNECTED_NORM_K56_FLEX 64,2555 -#define DSP_CONNECTED_NORM_X2 65,2602 -#define DSP_CONNECTED_NORM_V18 66,2649 -#define DSP_CONNECTED_NORM_V18_LOW_HIGH 67,2696 -#define DSP_CONNECTED_NORM_V18_HIGH_LOW 68,2743 -#define DSP_CONNECTED_NORM_V21_LOW_HIGH 69,2790 -#define DSP_CONNECTED_NORM_V21_HIGH_LOW 70,2837 -#define DSP_CONNECTED_NORM_BELL103_LOW_HIGH 71,2884 -#define DSP_CONNECTED_NORM_BELL103_HIGH_LOW 72,2931 -#define DSP_CONNECTED_NORM_V23_75_1200 73,2978 -#define DSP_CONNECTED_NORM_V23_1200_75 74,3025 -#define DSP_CONNECTED_NORM_EDT_110 75,3072 -#define DSP_CONNECTED_NORM_BAUDOT_45 76,3119 -#define DSP_CONNECTED_NORM_BAUDOT_47 77,3166 -#define DSP_CONNECTED_NORM_BAUDOT_50 78,3213 -#define DSP_CONNECTED_NORM_DTMF 79,3260 -#define DSP_CONNECTED_NORM_V18_RESERVED_13 80,3307 -#define DSP_CONNECTED_NORM_V18_RESERVED_14 81,3354 -#define DSP_CONNECTED_NORM_V18_RESERVED_15 82,3401 -#define DSP_CONNECTED_NORM_VOWN 83,3448 -#define DSP_CONNECTED_NORM_V23_OFF_HOOK 84,3495 -#define DSP_CONNECTED_NORM_V23_ON_HOOK 85,3542 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_3 86,3589 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_4 87,3636 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_5 88,3683 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_6 89,3730 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_7 90,3777 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_8 91,3824 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_9 92,3871 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_10 93,3918 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_11 94,3965 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_12 95,4012 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_13 96,4059 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_14 97,4106 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_15 98,4153 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_16 99,4200 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_17 100,4247 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_18 101,4294 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_19 102,4341 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_20 103,4388 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_21 104,4435 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_22 105,4482 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_23 106,4529 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_24 107,4576 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_25 108,4623 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_26 109,4670 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_27 110,4717 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_28 111,4764 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_29 112,4811 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_30 113,4858 -#define DSP_CONNECTED_NORM_VOWN_RESERVED_31 114,4905 -#define DSP_CONNECTED_OPTION_TRELLIS 115,4952 -#define DSP_CONNECTED_OPTION_V42_TRANS 116,5008 -#define DSP_CONNECTED_OPTION_V42_LAPM 117,5064 -#define DSP_CONNECTED_OPTION_SHORT_TRAIN 118,5120 -#define DSP_CONNECTED_OPTION_TALKER_ECHO_PROTECT 119,5176 -#define DSP_CONNECTED_OPTION_V42BIS 120,5232 -#define DSP_CONNECTED_OPTION_MNP2 121,5288 -#define DSP_CONNECTED_OPTION_MNP3 122,5344 -#define DSP_CONNECTED_OPTION_MNP4 123,5400 -#define DSP_CONNECTED_OPTION_MNP5 124,5456 -#define DSP_CONNECTED_OPTION_MNP10 125,5512 -#define DSP_CONNECTED_OPTION_MASK_V42 126,5568 -#define DSP_CONNECTED_OPTION_MASK_MNP 127,5624 -#define DSP_CONNECTED_OPTION_MASK_ERROR_CORRECT 128,5680 -#define DSP_CONNECTED_OPTION_MASK_COMPRESSION 129,5736 -#define DSP_UDATA_INDICATION_DISCONNECT 130,5792 -#define DLC_MODEMPROT_DISABLE_V42_V42BIS 153,6630 -#define DLC_MODEMPROT_DISABLE_MNP_MNP5 154,6680 -#define DLC_MODEMPROT_REQUIRE_PROTOCOL 155,6730 -#define DLC_MODEMPROT_DISABLE_V42_DETECT 156,6780 -#define DLC_MODEMPROT_DISABLE_COMPRESSION 157,6830 -#define DLC_MODEMPROT_REQUIRE_PROTOCOL_V34UP 158,6880 -#define DLC_MODEMPROT_NO_PROTOCOL_IF_1200 159,6930 -#define DLC_MODEMPROT_BUFFER_IN_V42_DETECT 160,6980 -#define DLC_MODEMPROT_DISABLE_V42_SREJ 161,7030 -#define DLC_MODEMPROT_DISABLE_MNP3 162,7080 -#define DLC_MODEMPROT_DISABLE_MNP4 163,7130 -#define DLC_MODEMPROT_DISABLE_MNP10 164,7180 -#define DLC_MODEMPROT_NO_PROTOCOL_IF_V22BIS 165,7230 -#define DLC_MODEMPROT_NO_PROTOCOL_IF_V32BIS 166,7280 -#define DLC_MODEMPROT_BREAK_DISABLED 167,7330 -#define DLC_MODEMPROT_BREAK_NORMAL 168,7380 -#define DLC_MODEMPROT_BREAK_EXPEDITED 169,7430 -#define DLC_MODEMPROT_BREAK_DESTRUCTIVE 170,7480 -#define DLC_MODEMPROT_BREAK_CONFIG_MASK 171,7530 -#define DLC_MODEMPROT_APPL_EARLY_CONNECT 172,7580 -#define DLC_MODEMPROT_APPL_PASS_INDICATIONS 173,7630 -#define DSP_CAI_HARDWARE_HDLC_64K 205,8766 -#define DSP_CAI_HARDWARE_HDLC_56K 206,8814 -#define DSP_CAI_HARDWARE_TRANSP 207,8862 -#define DSP_CAI_HARDWARE_V110_SYNC 208,8910 -#define DSP_CAI_HARDWARE_V110_ASYNC 209,8958 -#define DSP_CAI_HARDWARE_HDLC_128K 210,9006 -#define DSP_CAI_HARDWARE_FAX 211,9054 -#define DSP_CAI_HARDWARE_MODEM_ASYNC 212,9102 -#define DSP_CAI_HARDWARE_MODEM_SYNC 213,9150 -#define DSP_CAI_HARDWARE_V110_HDLCA 214,9198 -#define DSP_CAI_HARDWARE_ADVANCED_VOICE 215,9246 -#define DSP_CAI_HARDWARE_TRANSP_DTMF 216,9294 -#define DSP_CAI_HARDWARE_DTMF_VOICE_ISDN 217,9342 -#define DSP_CAI_HARDWARE_DTMF_VOICE_LOCAL 218,9390 -#define DSP_CAI_HARDWARE_MASK 219,9438 -#define DSP_CAI_ENABLE_INFO_INDICATIONS 220,9486 -#define DSP_CAI_RATE_ADAPTATION_300 221,9534 -#define DSP_CAI_RATE_ADAPTATION_600 222,9582 -#define DSP_CAI_RATE_ADAPTATION_1200 223,9630 -#define DSP_CAI_RATE_ADAPTATION_2400 224,9678 -#define DSP_CAI_RATE_ADAPTATION_4800 225,9726 -#define DSP_CAI_RATE_ADAPTATION_9600 226,9774 -#define DSP_CAI_RATE_ADAPTATION_19200 227,9822 -#define DSP_CAI_RATE_ADAPTATION_38400 228,9870 -#define DSP_CAI_RATE_ADAPTATION_48000 229,9918 -#define DSP_CAI_RATE_ADAPTATION_56000 230,9966 -#define DSP_CAI_RATE_ADAPTATION_7200 231,10014 -#define DSP_CAI_RATE_ADAPTATION_14400 232,10062 -#define DSP_CAI_RATE_ADAPTATION_28800 233,10110 -#define DSP_CAI_RATE_ADAPTATION_12000 234,10158 -#define DSP_CAI_RATE_ADAPTATION_1200_75 235,10206 -#define DSP_CAI_RATE_ADAPTATION_75_1200 236,10254 -#define DSP_CAI_RATE_ADAPTATION_MASK 237,10302 -#define DSP_CAI_ASYNC_PARITY_ENABLE 238,10350 -#define DSP_CAI_ASYNC_PARITY_SPACE 239,10398 -#define DSP_CAI_ASYNC_PARITY_ODD 240,10446 -#define DSP_CAI_ASYNC_PARITY_EVEN 241,10494 -#define DSP_CAI_ASYNC_PARITY_MARK 242,10542 -#define DSP_CAI_ASYNC_PARITY_MASK 243,10590 -#define DSP_CAI_ASYNC_ONE_STOP_BIT 244,10638 -#define DSP_CAI_ASYNC_TWO_STOP_BITS 245,10686 -#define DSP_CAI_ASYNC_CHAR_LENGTH_8 246,10734 -#define DSP_CAI_ASYNC_CHAR_LENGTH_7 247,10782 -#define DSP_CAI_ASYNC_CHAR_LENGTH_6 248,10830 -#define DSP_CAI_ASYNC_CHAR_LENGTH_5 249,10878 -#define DSP_CAI_ASYNC_CHAR_LENGTH_MASK 250,10926 -#define DSP_CAI_MODEM_LEASED_LINE_MODE 251,10974 -#define DSP_CAI_MODEM_4_WIRE_OPERATION 252,11022 -#define DSP_CAI_MODEM_DISABLE_BUSY_DETECT 253,11070 -#define DSP_CAI_MODEM_DISABLE_CALLING_TONE 254,11118 -#define DSP_CAI_MODEM_DISABLE_ANSWER_TONE 255,11166 -#define DSP_CAI_MODEM_ENABLE_DIAL_TONE_DET 256,11214 -#define DSP_CAI_MODEM_USE_POTS_INTERFACE 257,11262 -#define DSP_CAI_MODEM_FORCE_RAY_TAYLOR_FAX 258,11310 -#define DSP_CAI_MODEM_NEGOTIATE_HIGHEST 259,11358 -#define DSP_CAI_MODEM_NEGOTIATE_DISABLED 260,11406 -#define DSP_CAI_MODEM_NEGOTIATE_IN_CLASS 261,11454 -#define DSP_CAI_MODEM_NEGOTIATE_V100 262,11502 -#define DSP_CAI_MODEM_NEGOTIATE_V8 263,11550 -#define DSP_CAI_MODEM_NEGOTIATE_V8BIS 264,11598 -#define DSP_CAI_MODEM_NEGOTIATE_MASK 265,11646 -#define DSP_CAI_MODEM_GUARD_TONE_NONE 266,11694 -#define DSP_CAI_MODEM_GUARD_TONE_550HZ 267,11742 -#define DSP_CAI_MODEM_GUARD_TONE_1800HZ 268,11790 -#define DSP_CAI_MODEM_GUARD_TONE_MASK 269,11838 -#define DSP_CAI_MODEM_DISABLE_RETRAIN 270,11886 -#define DSP_CAI_MODEM_DISABLE_STEPUPDOWN 271,11934 -#define DSP_CAI_MODEM_DISABLE_SPLIT_SPEED 272,11982 -#define DSP_CAI_MODEM_DISABLE_TRELLIS 273,12030 -#define DSP_CAI_MODEM_ALLOW_RDL_TEST_LOOP 274,12078 -#define DSP_CAI_MODEM_DISABLE_FLUSH_TIMER 275,12126 -#define DSP_CAI_MODEM_REVERSE_DIRECTION 276,12174 -#define DSP_CAI_MODEM_DISABLE_V21 277,12222 -#define DSP_CAI_MODEM_DISABLE_V23 278,12270 -#define DSP_CAI_MODEM_DISABLE_V22 279,12318 -#define DSP_CAI_MODEM_DISABLE_V22BIS 280,12366 -#define DSP_CAI_MODEM_DISABLE_V32 281,12414 -#define DSP_CAI_MODEM_DISABLE_V32BIS 282,12462 -#define DSP_CAI_MODEM_DISABLE_V34 283,12510 -#define DSP_CAI_MODEM_DISABLE_V90 284,12558 -#define DSP_CAI_MODEM_DISABLE_BELL103 285,12606 -#define DSP_CAI_MODEM_DISABLE_BELL212A 286,12654 -#define DSP_CAI_MODEM_DISABLE_VFC 287,12702 -#define DSP_CAI_MODEM_DISABLE_K56FLEX 288,12750 -#define DSP_CAI_MODEM_DISABLE_X2 289,12798 -#define DSP_CAI_MODEM_ENABLE_V29FDX 290,12846 -#define DSP_CAI_MODEM_ENABLE_V33 291,12894 -#define DSP_CAI_MODEM_DISABLE_2400_SYMBOLS 292,12942 -#define DSP_CAI_MODEM_DISABLE_2743_SYMBOLS 293,12990 -#define DSP_CAI_MODEM_DISABLE_2800_SYMBOLS 294,13038 -#define DSP_CAI_MODEM_DISABLE_3000_SYMBOLS 295,13086 -#define DSP_CAI_MODEM_DISABLE_3200_SYMBOLS 296,13134 -#define DSP_CAI_MODEM_DISABLE_3429_SYMBOLS 297,13182 -#define DSP_CAI_MODEM_DISABLE_TX_REDUCTION 298,13230 -#define DSP_CAI_MODEM_DISABLE_PRECODING 299,13278 -#define DSP_CAI_MODEM_DISABLE_PREEMPHASIS 300,13326 -#define DSP_CAI_MODEM_DISABLE_SHAPING 301,13374 -#define DSP_CAI_MODEM_DISABLE_NONLINEAR_EN 302,13422 -#define DSP_CAI_MODEM_SPEAKER_OFF 303,13470 -#define DSP_CAI_MODEM_SPEAKER_DURING_TRAIN 304,13518 -#define DSP_CAI_MODEM_SPEAKER_TIL_CONNECT 305,13566 -#define DSP_CAI_MODEM_SPEAKER_ALWAYS_ON 306,13614 -#define DSP_CAI_MODEM_SPEAKER_CONTROL_MASK 307,13662 -#define DSP_CAI_MODEM_SPEAKER_VOLUME_MIN 308,13710 -#define DSP_CAI_MODEM_SPEAKER_VOLUME_LOW 309,13758 -#define DSP_CAI_MODEM_SPEAKER_VOLUME_HIGH 310,13806 -#define DSP_CAI_MODEM_SPEAKER_VOLUME_MAX 311,13854 -#define DSP_CAI_MODEM_SPEAKER_VOLUME_MASK 312,13902 -#define MDM_WANT_CONNECT_B3_ACTIVE_I 316,14095 -#define MDM_NCPI_VALID 317,14138 -#define MDM_NCPI_CTS_ON_RECEIVED 318,14181 -#define MDM_NCPI_DCD_ON_RECEIVED 319,14224 -#define MDM_NCPI_ECM_V42 323,14418 -#define MDM_NCPI_ECM_MNP 324,14463 -#define MDM_NCPI_TRANSPARENT 325,14508 -#define MDM_NCPI_COMPRESSED 326,14553 -#define MDM_B2_DISABLE_V42bis 330,14754 -#define MDM_B2_DISABLE_MNP 331,14799 -#define MDM_B2_DISABLE_TRANS 332,14844 -#define MDM_B2_DISABLE_V42 333,14889 -#define MDM_B2_DISABLE_COMP 334,14934 -#define MDM_CAPI_DISABLE_RETRAIN 338,15135 -#define MDM_CAPI_DISABLE_RING_TONE 339,15180 -#define MDM_CAPI_GUARD_1800 340,15225 -#define MDM_CAPI_GUARD_550 341,15270 -#define MDM_CAPI_NEG_V8 342,15315 -#define MDM_CAPI_NEG_V100 343,15360 -#define MDM_CAPI_NEG_MOD_CLASS 344,15405 -#define MDM_CAPI_NEG_DISABLED 345,15450 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/s_4bri.c,1001 -#define MAX_XLOG_SIZE 42,1238 -static void qBri_cpu_trapped 47,1462 -static void reset_qBri_hardware 100,3140 -void start_qBri_hardware 128,4250 -static void stop_qBri_hardware 146,4944 -#define FPGA_NAME_OFFSET 184,6343 -static byte * qBri_check_FPGAsrc 186,6382 -#define FPGA_PROG 268,8582 -#define FPGA_BUSY 269,8632 -#define FPGA_CS 270,8686 -#define FPGA_CCLK 271,8736 -#define FPGA_DOUT 272,8763 -#define FPGA_DIN 273,8790 -int qBri_FPGA_download 275,8847 -static int qBri_protocol_load 367,11235 -static long qBri_download_buffer 486,15625 -static dword qBri_telindus_load 528,16943 -static byte* qBri_sdp_load 606,19258 -static int load_qBri_hardware 724,22844 -static int load_qBri_hardware 858,26226 -static int qBri_ISR 866,26484 -static void disable_qBri_interrupt 910,27703 -static void set_common_qBri_functions 932,28492 -static void set_qBri_functions 964,29397 -static void set_qBri2_functions 973,29653 -void prepare_qBri_functions 984,30038 -void prepare_qBri2_functions 993,30355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/capi20.h,12589 -#define _INC_CAPI2027,899 -#define FILE_DEVICE_CAPI20 30,1046 -#define CAPI20_CTL_REGISTER 32,1153 -#define CAPI20_CTL_RELEASE 33,1200 -#define CAPI20_CTL_GET_MANUFACTURER 34,1247 -#define CAPI20_CTL_GET_VERSION 35,1294 -#define CAPI20_CTL_GET_SERIAL 36,1341 -#define CAPI20_CTL_GET_PROFILE 37,1388 -#define CAPI20_CTL_PUT_MESSAGE 39,1512 -#define CAPI20_CTL_GET_MESSAGE 40,1559 -#define CAPI_CTL_CODE(CAPI_CTL_CODE42,1664 -#define IOCTL_CAPI_REGISTER 43,1753 -#define IOCTL_CAPI_RELEASE 44,1844 -#define IOCTL_CAPI_GET_MANUFACTURER 45,1934 -#define IOCTL_CAPI_GET_VERSION 46,2033 -#define IOCTL_CAPI_GET_SERIAL 47,2127 -#define IOCTL_CAPI_GET_PROFILE 48,2220 -#define IOCTL_CAPI_PUT_MESSAGE 49,2314 -#define IOCTL_CAPI_GET_MESSAGE 50,2408 -struct divas_capi_register_params divas_capi_register_params51,2502 -struct divas_capi_version divas_capi_version57,2640 -typedef struct api_profile_s api_profile_s63,2744 -} API_PROFILE;API_PROFILE70,2947 -#define _ALERT_R 72,3033 -#define _CONNECT_R 73,3080 -#define _CONNECT_I 74,3127 -#define _CONNECT_ACTIVE_I 75,3174 -#define _DISCONNECT_R 76,3221 -#define _DISCONNECT_I 77,3268 -#define _LISTEN_R 78,3315 -#define _INFO_R 79,3362 -#define _INFO_I 80,3409 -#define _SELECT_B_REQ 81,3456 -#define _FACILITY_R 82,3503 -#define _FACILITY_I 83,3550 -#define _CONNECT_B3_R 84,3597 -#define _CONNECT_B3_I 85,3644 -#define _CONNECT_B3_ACTIVE_I 86,3691 -#define _DISCONNECT_B3_R 87,3738 -#define _DISCONNECT_B3_I 88,3785 -#define _DATA_B3_R 89,3832 -#define _DATA_B3_I 90,3879 -#define _RESET_B3_R 91,3926 -#define _RESET_B3_I 92,3973 -#define _CONNECT_B3_T90_ACTIVE_I 93,4020 -#define _MANUFACTURER_R 94,4067 -#define _MANUFACTURER_I 95,4114 -#define CONFIRM 97,4232 -#define RESPONSE 99,4342 -#define _DI_MANU_ID 103,4594 -#define _DI_ASSIGN_PLCI 104,4637 -#define _DI_ADV_CODEC 105,4676 -#define _DI_DSP_CTRL 106,4715 -#define _DI_SIG_CTRL 107,4754 -#define _DI_RXT_CTRL 108,4793 -#define _DI_IDI_CTRL 109,4832 -#define _DI_CFG_CTRL 110,4871 -#define _DI_REMOVE_CODEC 111,4910 -#define _DI_OPTIONS_REQUEST 112,4949 -#define _DI_SSEXT_CTRL 113,4988 -#define _DI_NEGOTIATE_B3 114,5027 -} _ALT_REQP;_ALT_REQP121,5413 -} _ALT_CONP;_ALT_CONP125,5527 -} _CON_REQP;_CON_REQP138,6028 -} _CON_CONP;_CON_CONP142,6142 -} _CON_INDP;_CON_INDP154,6604 -} _CON_RESP;_CON_RESP162,6899 -} _CON_A_INDP;_CON_A_INDP168,7140 -} _CON_A_RESP;_CON_A_RESP172,7279 -} _DIS_REQP;_DIS_REQP176,7428 -} _DIS_CONP;_DIS_CONP180,7542 -} _DIS_INDP;_DIS_INDP184,7656 -} _DIS_RESP;_DIS_RESP188,7793 -} _LIS_REQP;_LIS_REQP195,8035 -} _LIS_CONP;_LIS_CONP199,8149 -} _INF_REQP;_INF_REQP204,8344 -} _INF_CONP;_INF_CONP208,8458 -} _INF_INDP;_INF_INDP213,8617 -} _INF_RESP;_INF_RESP217,8754 -} _SEL_B_REQP;_SEL_B_REQP221,8896 -} _SEL_B_CONP;_SEL_B_CONP225,9012 -} _FAC_REQP;_FAC_REQP230,9142 -} _FAC_CON_STRUCTS;_FAC_CON_STRUCTS238,9353 -} _FAC_CONP;_FAC_CONP244,9501 -} _FAC_INDP;_FAC_INDP249,9632 -} _FAC_RESP;_FAC_RESP254,9761 -} _CON_B3_REQP;_CON_B3_REQP258,9897 -} _CON_B3_CONP;_CON_B3_CONP262,10014 -} _CON_B3_INDP;_CON_B3_INDP266,10153 -} _CON_B3_RESP;_CON_B3_RESP271,10307 -} _CON_B3_A_INDP;_CON_B3_A_INDP275,10446 -} _CON_B3_A_RESP;_CON_B3_A_RESP279,10588 -} _DIS_B3_REQP;_DIS_B3_REQP283,10729 -} _DIS_B3_CONP;_DIS_B3_CONP287,10846 -} _DIS_B3_INDP;_DIS_B3_INDP292,10998 -} _DIS_B3_RESP;_DIS_B3_RESP296,11138 -} _DAT_B3_REQP;_DAT_B3_REQP303,11340 -} _DAT_B3_REQ64P;_DAT_B3_REQ64P311,11566 -} _DAT_B3_CONP;_DAT_B3_CONP316,11718 -} _DAT_B3_INDP;_DAT_B3_INDP323,11920 -} _DAT_B3_IND64P;_DAT_B3_IND64P331,12146 -} _DAT_B3_RESP;_DAT_B3_RESP335,12276 -} _RES_B3_REQP;_RES_B3_REQP339,12415 -} _RES_B3_CONP;_RES_B3_CONP343,12532 -} _RES_B3_INDP;_RES_B3_INDP347,12671 -} _RES_B3_RESP;_RES_B3_RESP351,12811 -} _CON_B3_T90_A_INDP;_CON_B3_T90_A_INDP355,12950 -} _CON_B3_T90_A_RESP;_CON_B3_T90_A_RESP360,13110 -typedef struct _API_MSG CAPI_MSG;CAPI_MSG364,13345 -typedef struct _MSG_HEADER CAPI_MSG_HEADER;CAPI_MSG_HEADER365,13379 -struct _API_MSG _API_MSG366,13423 - struct _MSG_HEADER _MSG_HEADER367,13441 -#define _NCPI_IGNORED 429,15692 -#define _FLAGS_IGNORED 430,15731 -#define _ALERT_IGNORED 431,15770 -#define GOOD 435,16022 -#define _TOO_MANY_APPLICATIONS 436,16069 -#define _BLOCK_TOO_SMALL 437,16116 -#define _BUFFER_TOO_BIG 438,16163 -#define _MSG_BUFFER_TOO_SMALL 439,16210 -#define _TOO_MANY_CONNECTIONS 440,16257 -#define _REG_CAPI_BUSY 441,16304 -#define _REG_RESOURCE_ERROR 442,16351 -#define _REG_CAPI_NOT_INSTALLED 443,16398 -#define _WRONG_APPL_ID 444,16445 -#define _BAD_MSG 445,16492 -#define _QUEUE_FULL 446,16539 -#define _GET_NO_MSG 447,16586 -#define _MSG_LOST 448,16633 -#define _WRONG_NOTIFY 449,16680 -#define _CAPI_BUSY 450,16727 -#define _RESOURCE_ERROR 451,16774 -#define _CAPI_NOT_INSTALLED 452,16821 -#define _NO_EXTERNAL_EQUIPMENT 453,16868 -#define _ONLY_EXTERNAL_EQUIPMENT 454,16915 -#define _WRONG_STATE 458,17175 -#define _WRONG_IDENTIFIER 459,17222 -#define _OUT_OF_PLCI 460,17269 -#define _OUT_OF_NCCI 461,17316 -#define _OUT_OF_LISTEN 462,17363 -#define _OUT_OF_FAX 463,17410 -#define _WRONG_MESSAGE_FORMAT 464,17457 -#define _OUT_OF_INTERCONNECT_RESOURCES 465,17504 -#define _B1_NOT_SUPPORTED 469,17764 -#define _B2_NOT_SUPPORTED 470,17816 -#define _B3_NOT_SUPPORTED 471,17868 -#define _B1_PARM_NOT_SUPPORTED 472,17920 -#define _B2_PARM_NOT_SUPPORTED 473,17972 -#define _B3_PARM_NOT_SUPPORTED 474,18024 -#define _B_STACK_NOT_SUPPORTED 475,18076 -#define _NCPI_NOT_SUPPORTED 476,18128 -#define _CIP_NOT_SUPPORTED 477,18180 -#define _FLAGS_NOT_SUPPORTED 478,18232 -#define _FACILITY_NOT_SUPPORTED 479,18284 -#define _DATA_LEN_NOT_SUPPORTED 480,18336 -#define _RESET_NOT_SUPPORTED 481,18388 -#define _SUPPLEMENTARY_SERVICE_NOT_SUPPORTED 482,18440 -#define _REQUEST_NOT_ALLOWED_IN_THIS_STATE 483,18492 -#define _FACILITY_SPECIFIC_FUNCTION_NOT_SUPP 484,18544 -#define _L1_ERROR 488,18809 -#define _L2_ERROR 489,18856 -#define _L3_ERROR 490,18903 -#define _OTHER_APPL_CONNECTED 491,18950 -#define _CAPI_GUARD_ERROR 492,18997 -#define _L3_CAUSE 493,19044 -#define _B_CHANNEL_LOST 497,19304 -#define _B2_ERROR 498,19351 -#define _B3_ERROR 499,19398 -#define _FAX_NO_CONNECTION 503,19658 -#define _FAX_TRAINING_ERROR 504,19705 -#define _FAX_REMOTE_REJECT 505,19752 -#define _FAX_REMOTE_ABORT 506,19799 -#define _FAX_PROTOCOL_ERROR 507,19846 -#define _FAX_TX_UNDERRUN 508,19893 -#define _FAX_RX_OVERFLOW 509,19940 -#define _FAX_LOCAL_ABORT 510,19987 -#define _FAX_PARAMETER_ERROR 511,20034 -#define _LI_USER_INITIATED 515,20294 -#define _LI_LINE_NO_LONGER_AVAILABLE 516,20342 -#define _LI_INTERCONNECT_NOT_ESTABLISHED 517,20390 -#define _LI_LINES_NOT_COMPATIBLE 518,20438 -#define _LI2_USER_INITIATED 519,20486 -#define _LI2_PLCI_HAS_NO_BCHANNEL 520,20534 -#define _LI2_LINES_NOT_COMPATIBLE 521,20582 -#define _LI2_NOT_IN_SAME_INTERCONNECTION 522,20630 -#define GL_INTERNAL_CONTROLLER_SUPPORTED 526,20891 -#define GL_EXTERNAL_EQUIPMENT_SUPPORTED 527,20948 -#define GL_HANDSET_SUPPORTED 528,21005 -#define GL_DTMF_SUPPORTED 529,21062 -#define GL_SUPPLEMENTARY_SERVICES_SUPPORTED 530,21119 -#define GL_CHANNEL_ALLOCATION_SUPPORTED 531,21176 -#define GL_BCHANNEL_OPERATION_SUPPORTED 532,21233 -#define GL_LINE_INTERCONNECT_SUPPORTED 533,21290 -#define GL_ECHO_CANCELLER_SUPPORTED 534,21347 -#define B1_HDLC 538,21617 -#define B1_TRANSPARENT 539,21651 -#define B1_V110_ASYNC 540,21685 -#define B1_V110_SYNC 541,21719 -#define B1_T30 542,21753 -#define B1_HDLC_INVERTED 543,21787 -#define B1_TRANSPARENT_R 544,21821 -#define B1_MODEM_ALL_NEGOTIATE 545,21855 -#define B1_MODEM_ASYNC 546,21889 -#define B1_MODEM_SYNC_HDLC 547,21923 -#define B2_X75 548,21957 -#define B2_TRANSPARENT 549,21991 -#define B2_SDLC 550,22025 -#define B2_LAPD 551,22059 -#define B2_T30 552,22093 -#define B2_PPP 553,22127 -#define B2_TRANSPARENT_NO_CRC 554,22161 -#define B2_MODEM_EC_COMPRESSION 555,22195 -#define B2_X75_V42BIS 556,22229 -#define B2_V120_ASYNC 557,22263 -#define B2_V120_ASYNC_V42BIS 558,22297 -#define B2_V120_BIT_TRANSPARENT 559,22332 -#define B2_LAPD_FREE_SAPI_SEL 560,22367 -#define B3_TRANSPARENT 561,22402 -#define B3_T90NL 562,22436 -#define B3_ISO8208 563,22470 -#define B3_X25_DCE 564,22504 -#define B3_T30 565,22538 -#define B3_T30_WITH_EXTENSIONS 566,22572 -#define B3_RESERVED 567,22606 -#define B3_MODEM 568,22640 -#define SELECTOR_HANDSET 572,22887 -#define SELECTOR_DTMF 573,22925 -#define SELECTOR_V42BIS 574,22963 -#define SELECTOR_SU_SERV 575,23001 -#define SELECTOR_POWER_MANAGEMENT 576,23039 -#define SELECTOR_LINE_INTERCONNECT 577,23077 -#define SELECTOR_ECHO_CANCELLER 578,23115 -#define S_GET_SUPPORTED_SERVICES 582,23366 -#define S_LISTEN 583,23407 -#define S_HOLD 584,23448 -#define S_RETRIEVE 585,23489 -#define S_SUSPEND 586,23530 -#define S_RESUME 587,23571 -#define S_ECT 588,23612 -#define S_3PTY_BEGIN 589,23653 -#define S_3PTY_END 590,23694 -#define S_CALL_DEFLECTION 591,23735 -#define S_CALL_FORWARDING_START 592,23776 -#define S_CALL_FORWARDING_STOP 593,23817 -#define S_INTERROGATE_DIVERSION 594,23858 -#define S_INTERROGATE_NUMBERS 595,23931 -#define S_CCBS_REQUEST 596,23972 -#define S_CCBS_DEACTIVATE 597,24013 -#define S_CCBS_INTERROGATE 598,24054 -#define S_CCBS_CALL 599,24095 -#define S_MWI_ACTIVATE 600,24136 -#define S_MWI_DEACTIVATE 601,24177 -#define S_CONF_BEGIN 602,24218 -#define S_CONF_ADD 603,24256 -#define S_CONF_SPLIT 604,24297 -#define S_CONF_DROP 605,24335 -#define S_CONF_ISOLATE 606,24376 -#define S_CONF_REATTACH 607,24416 -#define S_CCBS_ERASECALLLINKAGEID 608,24457 -#define S_CCBS_STOP_ALERTING 609,24498 -#define S_CCBS_INFO_RETAIN 610,24539 -#define S_MWI_INDICATE 611,24580 -#define S_CONF_PARTYDISC 612,24621 -#define S_CONF_NOTIFICATION 613,24662 -#define MASK_HOLD_RETRIEVE 615,24723 -#define MASK_TERMINAL_PORTABILITY 616,24768 -#define MASK_ECT 617,24813 -#define MASK_3PTY 618,24858 -#define MASK_CALL_FORWARDING 619,24903 -#define MASK_CALL_DEFLECTION 620,24948 -#define MASK_MWI 621,24993 -#define MASK_CCNR 622,25038 -#define MASK_CONF 623,25083 -#define DTMF_LISTEN_START 627,25341 -#define DTMF_LISTEN_STOP 628,25373 -#define DTMF_DIGITS_SEND 629,25405 -#define DTMF_SUCCESS 630,25437 -#define DTMF_INCORRECT_DIGIT 631,25469 -#define DTMF_UNKNOWN_REQUEST 632,25501 -#define LI_GET_SUPPORTED_SERVICES 636,25746 -#define LI_REQ_CONNECT 637,25788 -#define LI_REQ_DISCONNECT 638,25830 -#define LI_IND_CONNECT_ACTIVE 639,25872 -#define LI_IND_DISCONNECT 640,25914 -#define LI_FLAG_CONFERENCE_A_B 641,25956 -#define LI_FLAG_CONFERENCE_B_A 642,26018 -#define LI_FLAG_MONITOR_A 643,26080 -#define LI_FLAG_MONITOR_B 644,26142 -#define LI_FLAG_ANNOUNCEMENT_A 645,26204 -#define LI_FLAG_ANNOUNCEMENT_B 646,26266 -#define LI_FLAG_MIX_A 647,26328 -#define LI_FLAG_MIX_B 648,26390 -#define LI_CONFERENCING_SUPPORTED 649,26452 -#define LI_MONITORING_SUPPORTED 650,26514 -#define LI_ANNOUNCEMENTS_SUPPORTED 651,26576 -#define LI_MIXING_SUPPORTED 652,26638 -#define LI_CROSS_CONTROLLER_SUPPORTED 653,26700 -#define LI2_GET_SUPPORTED_SERVICES 654,26762 -#define LI2_REQ_CONNECT 655,26804 -#define LI2_REQ_DISCONNECT 656,26846 -#define LI2_IND_CONNECT_ACTIVE 657,26888 -#define LI2_IND_DISCONNECT 658,26930 -#define LI2_FLAG_INTERCONNECT_A_B 659,26972 -#define LI2_FLAG_INTERCONNECT_B_A 660,27034 -#define LI2_FLAG_MONITOR_B 661,27096 -#define LI2_FLAG_MIX_B 662,27158 -#define LI2_FLAG_MONITOR_X 663,27220 -#define LI2_FLAG_MIX_X 664,27282 -#define LI2_FLAG_LOOP_B 665,27344 -#define LI2_FLAG_LOOP_PC 666,27406 -#define LI2_FLAG_LOOP_X 667,27468 -#define LI2_CROSS_CONTROLLER_SUPPORTED 668,27530 -#define LI2_ASYMMETRIC_SUPPORTED 669,27592 -#define LI2_MONITORING_SUPPORTED 670,27654 -#define LI2_MIXING_SUPPORTED 671,27716 -#define LI2_REMOTE_MONITORING_SUPPORTED 672,27778 -#define LI2_REMOTE_MIXING_SUPPORTED 673,27840 -#define LI2_B_LOOPING_SUPPORTED 674,27902 -#define LI2_PC_LOOPING_SUPPORTED 675,27964 -#define LI2_X_LOOPING_SUPPORTED 676,28026 -#define EC_GET_SUPPORTED_SERVICES 680,28301 -#define EC_ENABLE_OPERATION 681,28348 -#define EC_DISABLE_OPERATION 682,28395 -#define EC_ENABLE_NON_LINEAR_PROCESSING 683,28442 -#define EC_DO_NOT_REQUIRE_REVERSALS 684,28494 -#define EC_DETECT_DISABLE_TONE 685,28546 -#define EC_ENABLE_ADAPTIVE_PREDELAY 686,28598 -#define EC_NON_LINEAR_PROCESSING_SUPPORTED 687,28650 -#define EC_BYPASS_ON_ANY_2100HZ_SUPPORTED 688,28702 -#define EC_BYPASS_ON_REV_2100HZ_SUPPORTED 689,28754 -#define EC_ADAPTIVE_PREDELAY_SUPPORTED 690,28806 -#define EC_BYPASS_INDICATION 691,28858 -#define EC_BYPASS_DUE_TO_CONTINUOUS_2100HZ 692,28905 -#define EC_BYPASS_DUE_TO_REVERSED_2100HZ 693,28952 -#define EC_BYPASS_RELEASED 694,28999 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dadapter.c,963 -typedef struct _didd_adapter_change_notification _didd_adapter_change_notification35,1207 - * IDI_CALL_ENTITY_T pdidd_adapter_change_notification_t;pdidd_adapter_change_notification_t39,1378 -#define DIVA_DIDD_MAX_NOTIFICATIONS 40,1436 - NotificationTable[42,1519 -static DESCRIPTOR HandleTable[46,1776 -dword Adapters 47,1829 -static void no_printf 52,2081 -static DESCRIPTOR MAdapter 67,2436 -static DESCRIPTOR DAdapter 77,3051 -static diva_os_spin_lock_t didd_spin;89,3694 -void diva_didd_load_time_init 93,3942 -void diva_didd_load_time_finit 101,4368 -int diva_didd_add_descriptor 109,4752 -int diva_didd_remove_descriptor 146,6132 -int diva_didd_read_adapter_array 174,7230 -static void IDI_CALL_LINK_T diva_dadapter_request 211,8493 -static dword diva_register_adapter_callback 269,10545 -static void diva_remove_adapter_callback 292,11503 -static void diva_notify_adapter_change 310,12335 -void IDI_CALL_LINK_T DIVA_DIDD_Read 362,14671 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/um_idi.c,977 -#define DIVAS_MAX_XDI_ADAPTERS 14,265 -static diva_os_spin_lock_t adapter_lock;25,769 -int diva_user_mode_idi_init(42,1595 -diva_user_mode_idi_adapter_features(52,1922 -void diva_user_mode_idi_remove_adapter(83,2880 -void diva_user_mode_idi_finit(103,3442 -int diva_user_mode_idi_create_adapter(121,3996 -static diva_um_idi_adapter_t *diva_um_idi_find_adapter(150,4886 -static void cleanup_adapter(169,5466 -static void cleanup_entity(189,6066 -void *divas_um_idi_create_entity(208,6574 -int divas_um_idi_delete_entity(272,8333 -int diva_um_idi_read(301,9147 -int diva_um_idi_write(381,11149 -static void diva_um_idi_xdi_callback(491,14399 -static int process_idi_request(532,15405 -static int process_idi_rc(624,17592 -static int process_idi_ind(677,18858 -static int write_return_code(733,20411 -int diva_user_mode_idi_ind_ready(759,21167 -void *diva_um_id_get_os_context(799,22119 -int divas_um_idi_entity_assigned(804,22228 -int divas_um_idi_entity_start_remove(835,22993 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/pkmaint.h,63 -#define __DIVA_XDI_OS_DEPENDENT_PACK_MAIN_ON_BYTE_INC__27,933 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/s_pri.c,770 -#define MAX_XLOG_SIZE 39,1195 -static dword pri_ram_offset 43,1453 -static void pri_cpu_trapped 49,1730 -static void reset_pri_hardware 91,3243 -static void stop_pri_hardware 102,3670 -#define DOWNLOAD_ADDR(DOWNLOAD_ADDR129,4719 -static int pri_protocol_load 130,4808 -#define DSP_SIGNATURE_PROBE_WORD 204,8013 -dsp_check_presence 209,8106 -diva_pri_detect_dsps 243,9105 -static long pri_download_buffer 333,11933 -static dword pri_telindus_load 360,13016 -#define MIN_DSPS 403,14629 -static int load_pri_hardware 404,14657 -static int load_pri_hardware 486,16772 -static int pri_ISR 493,17058 -static void disable_pri_interrupt 514,17729 -static void prepare_common_pri_functions 524,18213 -void prepare_pri_functions 554,19456 -void prepare_pri2_functions 562,19844 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/os_capi.h,29 -#define __OS_CAPI_H__14,450 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/capimain.c,428 -static char *main_revision 29,718 -static char *DRIVERNAME 30,768 -static char *DRIVERLNAME 32,861 -static char *getrev(42,1141 -diva_os_message_buffer_s *diva_os_alloc_message_buffer(59,1367 -void diva_os_free_message_buffer(72,1635 -static int diva_ctl_read_proc(80,1766 -void diva_os_set_controller_struct(102,2393 -static int DIVA_INIT_FUNCTION divacapi_init(114,2637 -static void DIVA_EXIT_FUNCTION divacapi_exit(140,3201 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/divasfunc.c,654 -#define DBG_MINIMUM 21,545 -#define DBG_DEFAULT 22,593 -static int debugmask;24,648 -static dword notify_handle;32,795 -static DESCRIPTOR DAdapter;33,823 -static DESCRIPTOR MAdapter;34,851 -static void no_printf(39,1074 -void diva_get_vserial_number(49,1216 -void diva_xdi_didd_register_adapter(64,1526 -void diva_xdi_didd_remove_adapter(95,2533 -static void start_dbg(113,3006 -static void stop_dbg(124,3257 -static void *didd_callback(134,3403 -static int DIVA_INIT_FUNCTION connect_didd(157,3855 -static void DIVA_EXIT_FUNCTION disconnect_didd(198,4880 -int DIVA_INIT_FUNCTION divasfunc_init(213,5163 -void DIVA_EXIT_FUNCTION divasfunc_exit(234,5452 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/platform.h,5256 -#define __PLATFORM_H__15,353 -#define DIVA_BUILD 18,402 -#define DIVA_NO_DEBUGLIB40,873 -#define DIVA_INIT_FUNCTION 43,906 -#define DIVA_EXIT_FUNCTION 44,941 -#define DIVA_USER_MODE_CARD_CONFIG 46,977 -#define USE_EXTENDED_DEBUGS 47,1014 -#define MAX_ADAPTER 49,1045 -#define DIVA_ISTREAM 51,1073 -#define MEMORY_SPACE_TYPE 53,1097 -#define PORT_SPACE_TYPE 54,1126 -#define byte 60,1197 -#define word 64,1236 -#define dword 68,1277 -#define qword 72,1318 -#define TRUE 76,1358 -#define FALSE 80,1395 -#define NULL 84,1432 -#define MIN(MIN88,1478 -#define MAX(MAX92,1537 -#define far96,1596 -#define _pascal100,1632 -#define _loadds104,1672 -#define _cdecl108,1711 -#define MEM_TYPE_RAM 111,1734 -#define MEM_TYPE_PORT 112,1758 -#define MEM_TYPE_PROM 113,1783 -#define MEM_TYPE_CTLREG 114,1808 -#define MEM_TYPE_RESET 115,1835 -#define MEM_TYPE_CFG 116,1861 -#define MEM_TYPE_ADDRESS 117,1885 -#define MEM_TYPE_CONFIG 118,1912 -#define MEM_TYPE_CONTROL 119,1939 -#define MAX_MEM_TYPE 121,1967 -#define DIVA_OS_MEM_ATTACH_RAM(DIVA_OS_MEM_ATTACH_RAM123,1993 -#define DIVA_OS_MEM_ATTACH_PORT(DIVA_OS_MEM_ATTACH_PORT124,2038 -#define DIVA_OS_MEM_ATTACH_PROM(DIVA_OS_MEM_ATTACH_PROM125,2085 -#define DIVA_OS_MEM_ATTACH_CTLREG(DIVA_OS_MEM_ATTACH_CTLREG126,2132 -#define DIVA_OS_MEM_ATTACH_RESET(DIVA_OS_MEM_ATTACH_RESET127,2183 -#define DIVA_OS_MEM_ATTACH_CFG(DIVA_OS_MEM_ATTACH_CFG128,2232 -#define DIVA_OS_MEM_ATTACH_ADDRESS(DIVA_OS_MEM_ATTACH_ADDRESS129,2277 -#define DIVA_OS_MEM_ATTACH_CONFIG(DIVA_OS_MEM_ATTACH_CONFIG130,2330 -#define DIVA_OS_MEM_ATTACH_CONTROL(DIVA_OS_MEM_ATTACH_CONTROL131,2381 -#define DIVA_OS_MEM_DETACH_RAM(DIVA_OS_MEM_DETACH_RAM133,2435 -#define DIVA_OS_MEM_DETACH_PORT(DIVA_OS_MEM_DETACH_PORT134,2488 -#define DIVA_OS_MEM_DETACH_PROM(DIVA_OS_MEM_DETACH_PROM135,2542 -#define DIVA_OS_MEM_DETACH_CTLREG(DIVA_OS_MEM_DETACH_CTLREG136,2596 -#define DIVA_OS_MEM_DETACH_RESET(DIVA_OS_MEM_DETACH_RESET137,2652 -#define DIVA_OS_MEM_DETACH_CFG(DIVA_OS_MEM_DETACH_CFG138,2707 -#define DIVA_OS_MEM_DETACH_ADDRESS(DIVA_OS_MEM_DETACH_ADDRESS139,2760 -#define DIVA_OS_MEM_DETACH_CONFIG(DIVA_OS_MEM_DETACH_CONFIG140,2817 -#define DIVA_OS_MEM_DETACH_CONTROL(DIVA_OS_MEM_DETACH_CONTROL141,2873 -#define DIM(DIM144,2949 -#define DIVA_INVALID_FILE_HANDLE 147,3014 -#define DIVAS_CONTAINING_RECORD(DIVAS_CONTAINING_RECORD149,3063 -typedef void* LIST_ENTRY;LIST_ENTRY154,3235 -typedef char DEVICE_NAME[DEVICE_NAME156,3262 -typedef struct _ISDN_ADAPTER ISDN_ADAPTER;ISDN_ADAPTER157,3295 -typedef struct _ISDN_ADAPTER* PISDN_ADAPTER;PISDN_ADAPTER158,3340 -typedef void (* DIVA_DI_PRINTF)DIVA_DI_PRINTF160,3386 -#define dtrc(dtrc163,3465 -#define dbug(dbug164,3493 -typedef struct e_info_s E_INFO E_INFO167,3525 -typedef char diva_os_dependent_devica_name_t[diva_os_dependent_devica_name_t169,3559 -typedef void* PDEVICE_OBJECT;PDEVICE_OBJECT170,3609 -static __inline__ void* diva_os_malloc 187,3906 -static __inline__ void diva_os_free 196,4089 -typedef struct sk_buff diva_os_message_buffer_s;diva_os_message_buffer_s206,4235 -#define DIVA_MESSAGE_BUFFER_LEN(DIVA_MESSAGE_BUFFER_LEN209,4442 -#define DIVA_MESSAGE_BUFFER_DATA(DIVA_MESSAGE_BUFFER_DATA210,4484 -static __inline__ void diva_os_sleep(215,4555 -static __inline__ void diva_os_wait(219,4623 -typedef struct _diva_os_adapter_irq_info _diva_os_adapter_irq_info248,5309 -} diva_os_adapter_irq_info_t;diva_os_adapter_irq_info_t252,5425 -#define diva_os_in_irq(diva_os_in_irq256,5577 -typedef long diva_os_spin_lock_magic_t;diva_os_spin_lock_magic_t261,5642 -typedef spinlock_t diva_os_spin_lock_t;diva_os_spin_lock_t262,5682 -static __inline__ int diva_os_initialize_spin_lock 263,5722 -static __inline__ void diva_os_enter_spin_lock 265,5849 -static __inline__ void diva_os_leave_spin_lock 268,6054 -#define diva_os_destroy_spin_lock(diva_os_destroy_spin_lock272,6262 -typedef int (*diva_os_isr_callback_t)diva_os_isr_callback_t277,6358 -typedef void (*diva_os_soft_isr_callback_t)diva_os_soft_isr_callback_t278,6420 -typedef struct _diva_os_soft_isr _diva_os_soft_isr280,6518 -} diva_os_soft_isr_t;diva_os_soft_isr_t285,6663 -typedef int diva_os_atomic_t;diva_os_atomic_t300,7135 -diva_os_atomic_increment(302,7200 -diva_os_atomic_decrement(308,7314 -#define NO_CORNETN317,7418 -#define IMPLEMENT_DTMF 318,7437 -#define IMPLEMENT_ECHO_CANCELLER 319,7462 -#define IMPLEMENT_RTP 320,7497 -#define IMPLEMENT_T38 321,7521 -#define IMPLEMENT_FAX_SUB_SEP_PWD 322,7545 -#define IMPLEMENT_V18 323,7581 -#define IMPLEMENT_DTMF_TONE 324,7605 -#define IMPLEMENT_PIAFS 325,7635 -#define IMPLEMENT_FAX_PAPER_FORMATS 326,7661 -#define IMPLEMENT_VOWN 327,7699 -#define IMPLEMENT_CAPIDTMF 328,7724 -#define IMPLEMENT_FAX_NONSTANDARD 329,7753 -#define VSWITCH_SUPPORT 330,7789 -#define IMPLEMENT_MARKED_OK_AFTER_FC 332,7816 -#define DIVA_IDI_RX_DMA 334,7856 -#define READ_WORD(READ_WORD339,7906 -#define READ_DWORD(READ_DWORD340,7944 -#define WRITE_WORD(WRITE_WORD342,7983 -#define WRITE_DWORD(WRITE_DWORD343,8026 - #define PLATFORM_GT_32BIT350,8142 - #define ULongToPtr(ULongToPtr351,8170 -#define diva_os_dump_file_t 365,8345 -#define diva_os_board_trace_t 366,8378 -#define diva_os_dump_file(diva_os_dump_file367,8413 -#define MAX_DESCRIPTORS 372,8496 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dadapter.h,116 -#define __DIVA_DIDD_DADAPTER_INC__27,912 -#define OLD_MAX_DESCRIPTORS 33,1189 -#define NEW_MAX_DESCRIPTORS 34,1224 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/xdi_vers.h,47 -static char diva_xdi_common_code_build[26,902 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/man_defs.h,1107 -#define MI_DIR 55,2866 -#define MI_EXECUTE 56,2937 -#define MI_ASCIIZ 57,3008 -#define MI_ASCII 58,3079 -#define MI_NUMBER 59,3150 -#define MI_TRACE 60,3221 -#define MI_FIXED_LENGTH 62,3293 -#define MI_INT 63,3364 -#define MI_UINT 64,3435 -#define MI_HINT 65,3506 -#define MI_HSTR 66,3577 -#define MI_BOOLEAN 67,3648 -#define MI_IP_ADDRESS 68,3719 -#define MI_BITFLD 69,3790 -#define MI_SPID_STATE 70,3861 -#define MI_WRITE 83,4714 -#define MI_EVENT 84,4785 -#define MI_LOCKED 97,5638 -#define MI_EVENT_ON 98,5709 -#define MI_PROTECTED 99,5780 -typedef struct mi_xlog_hdr_s MI_XLOG_HDR;MI_XLOG_HDR104,6065 -struct mi_xlog_hdr_smi_xlog_hdr_s105,6107 -#define TM_D_CHAN 116,6699 -#define TM_L_LAYER 117,6770 -#define TM_N_LAYER 118,6841 -#define TM_DL_ERR 119,6912 -#define TM_LAYER1 120,6983 -#define TM_C_COMM 121,7054 -#define TM_M_DATA 122,7125 -#define TM_STRING 123,7196 -#define TM_N_USED2 124,7267 -#define TM_N_USED3 125,7338 -#define TM_N_USED4 126,7409 -#define TM_N_USED5 127,7480 -#define TM_N_USED6 128,7551 -#define TM_N_USED7 129,7622 -#define TM_N_USED8 130,7693 -#define TM_REST 131,7764 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/diva_pci.h,38 -#define __DIVA_PCI_INTERFACE_H__4,98 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/maintidi.h,479 -#define __DIVA_EICON_TRACE_IDI_IFC_H__26,915 -typedef struct _diva_strace_path2action _diva_strace_path2action47,1807 -} diva_strace_path2action_t;diva_strace_path2action_t50,1981 -#define DIVA_MAX_MANAGEMENT_TRANSFER_SIZE 52,2011 -typedef struct _diva_strace_context _diva_strace_context54,2059 -} diva_strace_context_t;diva_strace_context_t158,4142 -typedef struct _diva_man_var_header _diva_man_var_header160,4168 -} diva_man_var_header_t;diva_man_var_header_t169,4352 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/dsp_defs.h,5231 -#define DSP_DEFS_H_27,899 -#define dsp_download_reserve_space(dsp_download_reserve_space30,1020 -#define OS_SEEK_SET 37,1239 -#define OS_SEEK_CUR 38,1261 -#define OS_SEEK_END 39,1283 -typedef long ( * OsFileIo)OsFileIo41,1328 -typedef long ( * OsFileSeek)OsFileSeek44,1525 -typedef long ( * OsCardLoad)OsCardLoad47,1725 -typedef struct _OsFileHandle__OsFileHandle_50,1930 -} OsFileHandle OsFileHandle57,2131 -#define DSP_TELINDUS_FILE 61,2334 -#define DSP_QSIG_TELINDUS_FILE 63,2459 -#define DSP_MDM_TELINDUS_FILE 64,2505 -#define DSP_FAX_TELINDUS_FILE 65,2550 -#define DSP_DIRECTORY_ENTRIES 66,2595 -#define DSP_MEMORY_TYPE_EXTERNAL_DM 67,2628 -#define DSP_MEMORY_TYPE_EXTERNAL_PM 68,2674 -#define DSP_MEMORY_TYPE_INTERNAL_DM 69,2720 -#define DSP_MEMORY_TYPE_INTERNAL_PM 70,2766 -#define DSP_DOWNLOAD_FLAG_BOOTABLE 71,2812 -#define DSP_DOWNLOAD_FLAG_2181 72,2863 -#define DSP_DOWNLOAD_FLAG_TIMECRITICAL 73,2914 -#define DSP_DOWNLOAD_FLAG_COMPAND 74,2965 -#define DSP_MEMORY_BLOCK_COUNT 75,3016 -#define DSP_SEGMENT_PM_FLAG 76,3063 -#define DSP_SEGMENT_SHARED_FLAG 77,3114 -#define DSP_SEGMENT_EXTERNAL_DM 78,3165 -#define DSP_SEGMENT_EXTERNAL_PM 79,3237 -#define DSP_SEGMENT_INTERNAL_DM 80,3309 -#define DSP_SEGMENT_INTERNAL_PM 81,3381 -#define DSP_SEGMENT_FIRST_RELOCATABLE 82,3453 -#define DSP_DATA_BLOCK_PM_FLAG 83,3499 -#define DSP_DATA_BLOCK_DWORD_FLAG 84,3550 -#define DSP_DATA_BLOCK_RESOLVE_FLAG 85,3601 -#define DSP_RELOC_NONE 86,3652 -#define DSP_RELOC_SEGMENT_MASK 87,3701 -#define DSP_RELOC_TYPE_MASK 88,3750 -#define DSP_RELOC_TYPE_0 89,3799 -#define DSP_RELOC_TYPE_1 90,3911 -#define DSP_RELOC_TYPE_2 91,4017 -#define DSP_RELOC_TYPE_3 92,4115 -#define DSP_COMBIFILE_FORMAT_IDENTIFICATION_SIZE 93,4217 -#define DSP_COMBIFILE_FORMAT_VERSION_BCD 94,4269 -#define DSP_FILE_FORMAT_IDENTIFICATION_SIZE 95,4320 -#define DSP_FILE_FORMAT_VERSION_BCD 96,4367 -typedef struct tag_dsp_combifile_headertag_dsp_combifile_header97,4418 -} t_dsp_combifile_header;t_dsp_combifile_header107,4846 -typedef struct tag_dsp_combifile_directory_entrytag_dsp_combifile_directory_entry108,4872 -} t_dsp_combifile_directory_entry;t_dsp_combifile_directory_entry112,5006 -typedef struct tag_dsp_file_headertag_dsp_file_header113,5041 -} t_dsp_file_header;t_dsp_file_header133,5906 -typedef struct tag_dsp_memory_block_desctag_dsp_memory_block_desc134,5927 -} t_dsp_memory_block_desc;t_dsp_memory_block_desc140,6142 -typedef struct tag_dsp_segment_desctag_dsp_segment_desc141,6169 -} t_dsp_segment_desc;t_dsp_segment_desc148,6435 -typedef struct tag_dsp_symbol_desctag_dsp_symbol_desc149,6457 -} t_dsp_symbol_desc;t_dsp_symbol_desc155,6652 -typedef struct tag_dsp_data_block_headertag_dsp_data_block_header156,6673 -} t_dsp_data_block_header;t_dsp_data_block_header162,6875 -typedef struct tag_dsp_download_desctag_dsp_download_desc163,6902 -} t_dsp_desc;t_dsp_desc182,7674 -typedef struct tag_dsp_portable_download_desc tag_dsp_portable_download_desc183,7688 -} t_dsp_portable_desc;t_dsp_portable_desc202,8526 -#define DSP_DOWNLOAD_INDEX_KERNEL 203,8549 -#define DSP30TX_DOWNLOAD_INDEX_KERNEL 204,8599 -#define DSP30RX_DOWNLOAD_INDEX_KERNEL 205,8649 -#define DSP_MAX_DOWNLOAD_COUNT 206,8699 -#define DSP_DOWNLOAD_MAX_SEGMENTS 207,8750 -#define DSP_UDATA_REQUEST_RECONFIGURE 208,8795 -#define DSP_RECONFIGURE_TX_FLAG 215,8969 -#define DSP_RECONFIGURE_SHORT_TRAIN_FLAG 216,9018 -#define DSP_RECONFIGURE_ECHO_PROTECT_FLAG 217,9067 -#define DSP_RECONFIGURE_HDLC_FLAG 218,9116 -#define DSP_RECONFIGURE_SYNC_FLAG 219,9165 -#define DSP_RECONFIGURE_PROTOCOL_MASK 220,9214 -#define DSP_RECONFIGURE_IDLE 221,9263 -#define DSP_RECONFIGURE_V25 222,9307 -#define DSP_RECONFIGURE_V21_CH2 223,9351 -#define DSP_RECONFIGURE_V27_2400 224,9395 -#define DSP_RECONFIGURE_V27_4800 225,9439 -#define DSP_RECONFIGURE_V29_7200 226,9483 -#define DSP_RECONFIGURE_V29_9600 227,9527 -#define DSP_RECONFIGURE_V33_12000 228,9571 -#define DSP_RECONFIGURE_V33_14400 229,9615 -#define DSP_RECONFIGURE_V17_7200 230,9659 -#define DSP_RECONFIGURE_V17_9600 231,9703 -#define DSP_RECONFIGURE_V17_12000 232,9748 -#define DSP_RECONFIGURE_V17_14400 233,9793 -#define DSP_UDATA_INDICATION_SYNC 247,10045 -#define DSP_UDATA_INDICATION_DCD_OFF 252,10157 -#define DSP_UDATA_INDICATION_DCD_ON 257,10272 -#define DSP_UDATA_INDICATION_CTS_OFF 265,10471 -#define DSP_UDATA_INDICATION_CTS_ON 270,10586 -#define DSP_CONNECTED_NORM_UNSPECIFIED 278,10785 -#define DSP_CONNECTED_NORM_V21 279,10831 -#define DSP_CONNECTED_NORM_V23 280,10877 -#define DSP_CONNECTED_NORM_V22 281,10923 -#define DSP_CONNECTED_NORM_V22_BIS 282,10969 -#define DSP_CONNECTED_NORM_V32_BIS 283,11015 -#define DSP_CONNECTED_NORM_V34 284,11061 -#define DSP_CONNECTED_NORM_V8 285,11107 -#define DSP_CONNECTED_NORM_BELL_212A 286,11153 -#define DSP_CONNECTED_NORM_BELL_103 287,11199 -#define DSP_CONNECTED_NORM_V29_LEASED_LINE 288,11245 -#define DSP_CONNECTED_NORM_V33_LEASED_LINE 289,11292 -#define DSP_CONNECTED_NORM_TFAST 290,11339 -#define DSP_CONNECTED_NORM_V21_CH2 291,11386 -#define DSP_CONNECTED_NORM_V27_TER 292,11433 -#define DSP_CONNECTED_NORM_V29 293,11480 -#define DSP_CONNECTED_NORM_V33 294,11527 -#define DSP_CONNECTED_NORM_V17 295,11574 -#define DSP_CONNECTED_OPTION_TRELLIS 296,11621 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/istream.c,159 - #define dprintf36,1089 -void diva_xdi_provide_istream_info 56,1692 -int diva_istream_write 70,2344 -int diva_istream_read 148,4640 -void pr_stream 224,6549 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/kst_ifc.h,4191 -#define __DIVA_EICON_TRACE_API__26,909 -#define DIVA_TRACE_LINE_TYPE_LEN 28,943 -#define DIVA_TRACE_IE_LEN 29,979 -#define DIVA_TRACE_FAX_PRMS_LEN 30,1015 -typedef struct _diva_trace_ie _diva_trace_ie32,1053 -} diva_trace_ie_t;diva_trace_ie_t35,1130 -typedef struct _diva_trace_modem_state _diva_trace_modem_state41,1225 -} diva_trace_modem_state_t;diva_trace_modem_state_t70,1626 -typedef struct _diva_trace_fax_state _diva_trace_fax_state75,1708 -} diva_trace_fax_state_t;diva_trace_fax_state_t90,2078 -typedef struct _diva_trace_interface_state _diva_trace_interface_state96,2225 -} diva_trace_interface_state_t;diva_trace_interface_state_t99,2350 -typedef struct _diva_incoming_call_statistics _diva_incoming_call_statistics101,2383 -} diva_incoming_call_statistics_t;diva_incoming_call_statistics_t110,2586 -typedef struct _diva_outgoing_call_statistics _diva_outgoing_call_statistics112,2622 -} diva_outgoing_call_statistics_t;diva_outgoing_call_statistics_t120,2804 -typedef struct _diva_modem_call_statistics _diva_modem_call_statistics122,2840 -} diva_modem_call_statistics_t;diva_modem_call_statistics_t132,3090 -typedef struct _diva_fax_call_statistics _diva_fax_call_statistics134,3123 -} diva_fax_call_statistics_t;diva_fax_call_statistics_t153,3590 -typedef struct _diva_prot_statistics _diva_prot_statistics155,3621 -} diva_prot_statistics_t;diva_prot_statistics_t162,3760 -typedef struct _diva_ifc_statistics _diva_ifc_statistics164,3787 -} diva_ifc_statistics_t;diva_ifc_statistics_t173,4101 -typedef struct _diva_trace_line_state _diva_trace_line_state179,4195 -} diva_trace_line_state_t;diva_trace_line_state_t214,4957 -#define DIVA_SUPER_TRACE_NOTIFY_LINE_CHANGE 216,4985 -#define DIVA_SUPER_TRACE_NOTIFY_MODEM_CHANGE 217,5047 -#define DIVA_SUPER_TRACE_NOTIFY_FAX_CHANGE 218,5109 -#define DIVA_SUPER_TRACE_INTERFACE_CHANGE 219,5171 -#define DIVA_SUPER_TRACE_NOTIFY_STAT_CHANGE 220,5233 -#define DIVA_SUPER_TRACE_NOTIFY_MDM_STAT_CHANGE 221,5295 -#define DIVA_SUPER_TRACE_NOTIFY_FAX_STAT_CHANGE 222,5357 -typedef void (*diva_trace_channel_state_change_proc_t)diva_trace_channel_state_change_proc_t225,5459 -typedef void (*diva_trace_channel_trace_proc_t)diva_trace_channel_trace_proc_t229,5668 -typedef void (*diva_trace_error_proc_t)diva_trace_error_proc_t232,5840 -typedef struct _diva_trace_library_user_interface _diva_trace_library_user_interface240,6082 -} diva_trace_library_user_interface_t;diva_trace_library_user_interface_t245,6326 -typedef int (*DivaSTraceLibraryStart_proc_t)DivaSTraceLibraryStart_proc_t250,6405 -typedef int (*DivaSTraceLibraryFinit_proc_t)DivaSTraceLibraryFinit_proc_t251,6465 -typedef int (*DivaSTraceMessageInput_proc_t)DivaSTraceMessageInput_proc_t252,6525 -typedef void* (*DivaSTraceGetHandle_proc_t)DivaSTraceGetHandle_proc_t253,6585 -typedef int (*DivaSTraceSetAudioTap_proc_t)DivaSTraceSetAudioTap_proc_t259,6736 -typedef int (*DivaSTraceSetBChannel_proc_t)DivaSTraceSetBChannel_proc_t265,6908 -typedef int (*DivaSTraceSetDChannel_proc_t)DivaSTraceSetDChannel_proc_t275,7407 -typedef int (*DivaSTraceGetOutgoingCallStatistics_proc_t)DivaSTraceGetOutgoingCallStatistics_proc_t280,7509 -typedef int (*DivaSTraceGetIncomingCallStatistics_proc_t)DivaSTraceGetIncomingCallStatistics_proc_t281,7580 -typedef int (*DivaSTraceGetModemStatistics_proc_t)DivaSTraceGetModemStatistics_proc_t282,7651 -typedef int (*DivaSTraceGetFaxStatistics_proc_t)DivaSTraceGetFaxStatistics_proc_t283,7715 -typedef int (*DivaSTraceGetBLayer1Statistics_proc_t)DivaSTraceGetBLayer1Statistics_proc_t284,7777 -typedef int (*DivaSTraceGetBLayer2Statistics_proc_t)DivaSTraceGetBLayer2Statistics_proc_t285,7843 -typedef int (*DivaSTraceGetDLayer1Statistics_proc_t)DivaSTraceGetDLayer1Statistics_proc_t286,7909 -typedef int (*DivaSTraceGetDLayer2Statistics_proc_t)DivaSTraceGetDLayer2Statistics_proc_t287,7975 -typedef int (*DivaSTraceClearCall_proc_t)DivaSTraceClearCall_proc_t292,8063 -typedef struct _diva_strace_library_interface _diva_strace_library_interface294,8132 -} diva_strace_library_interface_t;diva_strace_library_interface_t322,9450 -#define DIVA_MAX_ADAPTERS 332,9769 -#define DIVA_MAX_LINES 333,9799 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/adapter.h,208 -#define __DIVA_USER_MODE_IDI_ADAPTER_H__4,101 -#define DIVA_UM_IDI_ADAPTER_REMOVED 6,143 -typedef struct _diva_um_idi_adapter _diva_um_idi_adapter8,191 -} diva_um_idi_adapter_t;diva_um_idi_adapter_t14,366 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/debuglib.h,4536 -#define __DEBUGLIB_H__27,906 -#define DL_LOG 32,990 -#define DL_FTL 33,1047 -#define DL_ERR 34,1104 -#define DL_TRC 35,1161 -#define DL_XLOG 36,1218 -#define DL_MXLOG 37,1276 -#define DL_FTL_MXLOG 38,1331 -#define DL_EVL 39,1393 -#define DL_COMPAT 40,1450 -#define DL_PRIOR_MASK 41,1489 -#define DLI_LOG 42,1568 -#define DLI_FTL 43,1592 -#define DLI_ERR 44,1616 -#define DLI_TRC 45,1640 -#define DLI_XLOG 46,1664 -#define DLI_MXLOG 47,1688 -#define DLI_FTL_MXLOG 48,1713 -#define DLI_EVL 49,1742 -#define DL_REG 53,1826 -#define DL_MEM 54,1883 -#define DL_SPL 55,1940 -#define DL_IRP 56,1997 -#define DL_TIM 57,2054 -#define DL_BLK 58,2111 -#define DL_OS_MASK 59,2168 -#define DLI_REG 60,2241 -#define DLI_MEM 61,2265 -#define DLI_SPL 62,2289 -#define DLI_IRP 63,2313 -#define DLI_TIM 64,2337 -#define DLI_BLK 65,2361 -#define DL_TAPI 69,2441 -#define DL_NDIS 70,2499 -#define DL_CONN 71,2557 -#define DL_STAT 72,2615 -#define DL_SEND 73,2673 -#define DL_RECV 74,2731 -#define DL_DATA 75,2789 -#define DL_ISDN_MASK 76,2826 -#define DLI_TAPI 77,2897 -#define DLI_NDIS 78,2921 -#define DLI_CONN 79,2945 -#define DLI_STAT 80,2969 -#define DLI_SEND 81,2993 -#define DLI_RECV 82,3017 -#define DL_PRV0 86,3096 -#define DL_PRV1 87,3124 -#define DL_PRV2 88,3152 -#define DL_PRV3 89,3180 -#define DL_PRIV_MASK 90,3208 -#define DLI_PRV0 91,3269 -#define DLI_PRV1 92,3293 -#define DLI_PRV2 93,3317 -#define DLI_PRV3 94,3341 -#define DT_INDEX(DT_INDEX95,3365 -#define DL_INDEX(DL_INDEX96,3401 -#define DLI_NAME(DLI_NAME97,3450 -#define DL_TO_KERNEL 103,3661 -#define myDbgPrint_LOG(myDbgPrint_LOG106,3721 -#define myDbgPrint_FTL(myDbgPrint_FTL107,3767 -#define myDbgPrint_ERR(myDbgPrint_ERR108,3813 -#define myDbgPrint_TRC(myDbgPrint_TRC109,3859 -#define myDbgPrint_MXLOG(myDbgPrint_MXLOG110,3905 -#define myDbgPrint_EVL(myDbgPrint_EVL111,3953 -#define myDbgPrint_REG(myDbgPrint_REG112,3999 -#define myDbgPrint_MEM(myDbgPrint_MEM113,4045 -#define myDbgPrint_SPL(myDbgPrint_SPL114,4091 -#define myDbgPrint_IRP(myDbgPrint_IRP115,4137 -#define myDbgPrint_TIM(myDbgPrint_TIM116,4183 -#define myDbgPrint_BLK(myDbgPrint_BLK117,4229 -#define myDbgPrint_TAPI(myDbgPrint_TAPI118,4275 -#define myDbgPrint_NDIS(myDbgPrint_NDIS119,4322 -#define myDbgPrint_CONN(myDbgPrint_CONN120,4369 -#define myDbgPrint_STAT(myDbgPrint_STAT121,4416 -#define myDbgPrint_SEND(myDbgPrint_SEND122,4463 -#define myDbgPrint_RECV(myDbgPrint_RECV123,4510 -#define myDbgPrint_PRV0(myDbgPrint_PRV0124,4557 -#define myDbgPrint_PRV1(myDbgPrint_PRV1125,4604 -#define myDbgPrint_PRV2(myDbgPrint_PRV2126,4651 -#define myDbgPrint_PRV3(myDbgPrint_PRV3127,4698 -#define DBG_TEST(DBG_TEST128,4745 -#define DBG_EVL_ID(DBG_EVL_ID129,4790 -#define DBG_DECL(DBG_DECL135,4926 -DBG_DECL(136,4996 -#define DBG_TEST(DBG_TEST163,5460 -#define DBG_TEST(DBG_TEST174,5764 -#define DBG_EVL_ID(DBG_EVL_ID183,6031 -#define DBG_LOG(DBG_LOG190,6186 -#define DBG_FTL(DBG_FTL191,6229 -#define DBG_ERR(DBG_ERR192,6272 -#define DBG_TRC(DBG_TRC193,6315 -#define DBG_MXLOG(DBG_MXLOG194,6358 -#define DBG_FTL_MXLOG(DBG_FTL_MXLOG195,6405 -#define DBG_EVL(DBG_EVL196,6459 -#define DBG_REG(DBG_REG197,6499 -#define DBG_MEM(DBG_MEM198,6542 -#define DBG_SPL(DBG_SPL199,6585 -#define DBG_IRP(DBG_IRP200,6628 -#define DBG_TIM(DBG_TIM201,6671 -#define DBG_BLK(DBG_BLK202,6714 -#define DBG_TAPI(DBG_TAPI203,6757 -#define DBG_NDIS(DBG_NDIS204,6802 -#define DBG_CONN(DBG_CONN205,6847 -#define DBG_STAT(DBG_STAT206,6892 -#define DBG_SEND(DBG_SEND207,6937 -#define DBG_RECV(DBG_RECV208,6982 -#define DBG_PRV0(DBG_PRV0209,7027 -#define DBG_PRV1(DBG_PRV1210,7072 -#define DBG_PRV2(DBG_PRV2211,7117 -#define DBG_PRV3(DBG_PRV3212,7162 -#define DbgRegister(DbgRegister217,7308 -#define DbgDeregister(DbgDeregister218,7360 -#define DbgSetLevel(DbgSetLevel219,7400 -typedef struct _DbgHandle_ *pDbgHandle pDbgHandle231,7841 -typedef void ( * DbgEnd)DbgEnd232,7882 -typedef void ( * DbgLog)DbgLog233,7922 -typedef void ( * DbgOld)DbgOld234,7988 -typedef void ( * DbgEv)DbgEv235,8049 -typedef void ( * DbgIrq)DbgIrq236,8117 -typedef struct _DbgHandle__DbgHandle_237,8183 -#define DBG_HANDLE_REG_NEW 239,8269 -#define DBG_HANDLE_REG_OLD 240,8332 -#define DBG_HANDLE_VERSION 242,8450 -#define DBG_HANDLE_VER_EXT 243,8517 -} _DbgHandle_ _DbgHandle_260,9504 -typedef struct _OldDbgHandle__OldDbgHandle_262,9561 -} _OldDbgHandle_ _OldDbgHandle_271,9828 -#define DBG_EXT_TYPE_CARD_TRACE 298,10959 -} _DbgExtendedInfo_;_DbgExtendedInfo_314,11404 -#define XDI_USE_XLOG 319,11622 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/eicon/um_idi.h,215 -#define __DIVA_USER_MODE_IDI_CORE_H__4,97 -typedef int (*divas_um_idi_copy_to_user_fn_t)divas_um_idi_copy_to_user_fn_t15,398 -typedef int (*divas_um_idi_copy_from_user_fn_t)divas_um_idi_copy_from_user_fn_t19,539 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/t1pci.c,416 -static char *revision 33,841 -static struct pci_device_id t1pci_pci_tbl[36,958 -static int t1pci_add_card(50,1393 -static void t1pci_remove(156,4201 -static char *t1pci_procinfo(173,4607 -static int __devinit t1pci_probe(191,5126 -static struct pci_driver t1pci_pci_driver 219,5870 -static struct capi_driver capi_driver_t1pci 226,6071 -static int __init t1pci_init(231,6162 -static void __exit t1pci_exit(253,6621 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/b1pci.c,635 -static char *revision 31,785 -static struct pci_device_id b1pci_pci_tbl[35,903 -static char *b1pci_procinfo(47,1285 -static int b1pci_probe(65,1803 -static void b1pci_remove(147,4063 -static char *b1pciv4_procinfo(165,4499 -static int b1pciv4_probe(184,5067 -static void b1pciv4_remove(286,7712 -static int __devinit b1pci_pci_probe(303,8102 -static void __devexit b1pci_pci_remove(348,9400 -static struct pci_driver b1pci_pci_driver 362,9646 -static struct capi_driver capi_driver_b1pci 369,9814 -static struct capi_driver capi_driver_b1pciv4 374,9941 -static int __init b1pci_init(380,10043 -static void __exit b1pci_exit(407,10643 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/avmcard.h,3757 -#define _AVMCARD_H_11,288 -#define AVMB1_PORTLEN 17,391 -#define AVM_MAXVERSION 18,419 -#define AVM_NCCI_PER_CHANNEL 19,445 -#define VER_DRIVER 25,497 -#define VER_CARDTYPE 26,518 -#define VER_HWID 27,541 -#define VER_SERIAL 28,560 -#define VER_OPTION 29,581 -#define VER_PROTO 30,602 -#define VER_PROFILE 31,622 -#define VER_CAPI 32,644 -enum avmcardtype avmcardtype34,664 - avm_b1isa,35,683 - avm_b1pci,36,695 - avm_b1pcmcia,37,707 - avm_m1,38,722 - avm_m2,39,731 - avm_t1isa,40,740 - avm_t1pci,41,752 - avm_c4,42,764 - avm_c243,773 -typedef struct avmcard_dmabuf avmcard_dmabuf46,785 -} avmcard_dmabuf;avmcard_dmabuf50,886 -typedef struct avmcard_dmainfo avmcard_dmainfo52,905 -} avmcard_dmainfo;avmcard_dmainfo60,1109 -typedef struct avmctrl_info avmctrl_info62,1129 -} avmctrl_info;avmctrl_info75,1390 -typedef struct avmcard avmcard77,1407 -} avmcard;101,1876 -#define SEND_POLL 109,1981 -#define SEND_INIT 112,2055 -#define SEND_REGISTER 117,2208 -#define SEND_RELEASE 126,2487 -#define SEND_MESSAGE 130,2587 -#define SEND_DATA_B3_REQ 134,2692 -#define SEND_CONFIG 140,2844 -#define SEND_POLLACK 143,2921 -#define RECEIVE_POLL 149,3035 -#define RECEIVE_INIT 152,3104 -#define RECEIVE_MESSAGE 162,3469 -#define RECEIVE_DATA_B3_IND 167,3606 -#define RECEIVE_START 172,3761 -#define RECEIVE_STOP 175,3822 -#define RECEIVE_NEW_NCCI 178,3882 -#define RECEIVE_FREE_NCCI 182,3987 -#define RECEIVE_RELEASE 185,4066 -#define RECEIVE_TASK_READY 188,4150 -#define RECEIVE_DEBUGMSG 192,4253 -#define RECEIVE_POLLDWORD 196,4337 -#define WRITE_REGISTER 198,4395 -#define READ_REGISTER 199,4424 -#define B1_READ 205,4477 -#define B1_WRITE 206,4500 -#define B1_INSTAT 207,4523 -#define B1_OUTSTAT 208,4547 -#define B1_ANALYSE 209,4572 -#define B1_REVISION 210,4597 -#define B1_RESET 211,4623 -#define B1_STAT0(B1_STAT0214,4648 -#define B1_STAT1(B1_STAT1215,4727 -static inline unsigned char b1outp(219,4842 -static inline int b1_rx_full(228,5021 -static inline unsigned char b1_get_byte(233,5111 -static inline unsigned int b1_get_word(243,5437 -static inline int b1_tx_empty(253,5667 -static inline void b1_put_byte(258,5759 -static inline int b1_save_put_byte(264,5892 -static inline void b1_put_word(273,6145 -static inline unsigned int b1_get_slice(281,6369 -static inline void b1_put_slice(291,6567 -static void b1_wr_reg(300,6751 -static inline unsigned int b1_rd_reg(309,6967 -static inline void b1_reset(318,7186 -static inline unsigned char b1_disable_irq(330,7417 -static inline void b1_set_test_bit(337,7595 -static inline int b1_get_test_bit(344,7768 -#define T1_FASTLINK 352,8021 -#define T1_SLOWLINK 353,8047 -#define T1_READ 355,8074 -#define T1_WRITE 356,8100 -#define T1_INSTAT 357,8127 -#define T1_OUTSTAT 358,8156 -#define T1_IRQENABLE 359,8187 -#define T1_FIFOSTAT 360,8214 -#define T1_RESETLINK 361,8240 -#define T1_ANALYSE 362,8267 -#define T1_IRQMASTER 363,8292 -#define T1_IDENT 364,8319 -#define T1_RESETBOARD 365,8342 -#define T1F_IREADY 367,8371 -#define T1F_IHALF 368,8396 -#define T1F_IFULL 369,8420 -#define T1F_IEMPTY 370,8444 -#define T1F_IFLAGS 371,8469 -#define T1F_OREADY 373,8495 -#define T1F_OHALF 374,8520 -#define T1F_OEMPTY 375,8544 -#define T1F_OFULL 376,8569 -#define T1F_OFLAGS 377,8593 -#define FIFO_OUTBSIZE 380,8670 -#define FIFO_INPBSIZE 381,8697 -#define HEMA_VERSION_ID 383,8725 -#define HEMA_PAL_ID 384,8752 -static inline void t1outp(386,8776 -static inline unsigned char t1inp(393,8909 -static inline int t1_isfastlink(399,9031 -static inline unsigned char t1_fifostatus(404,9132 -static inline unsigned int t1_get_slice(409,9231 -static inline void t1_put_slice(464,10352 -static inline void t1_disable_irq(497,11084 -static inline void t1_reset(502,11182 -static inline void b1_setinterrupt(514,11527 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/avm_cs.c,640 -static int default_irq_list[49,1281 -static int irq_list[50,1354 -static dev_info_t dev_info 85,2473 -static dev_link_t *dev_list 97,2918 -typedef struct local_info_t local_info_t116,3825 -} local_info_t;local_info_t118,3876 -static dev_link_t *avmcs_attach(132,4364 -static void avmcs_detach(212,6890 -static int get_tuple(254,8040 -static int first_tuple(262,8270 -static int next_tuple(270,8494 -static void avmcs_config(278,8716 -static void avmcs_release(442,13189 -static int avmcs_event(474,14318 -static struct pcmcia_driver avmcs_driver 507,15165 -static int __init avmcs_init(516,15321 -static void __exit avmcs_exit(521,15408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/b1.c,668 -static char *revision 31,774 -int b1_irq_table[41,1088 -avmcard *b1_alloc_card(62,1418 -void b1_free_card(94,2075 -int b1_detect(102,2220 -void b1_getrevision(145,3180 -#define FWBUF_SIZE 151,3320 -int b1_load_t4file(152,3343 -int b1_load_config(194,4251 -int b1_loaded(245,5290 -int b1_load_firmware(278,6109 -void b1_reset_ctr(322,7184 -void b1_register_appl(336,7502 -void b1_release_appl(360,8185 -u16 b1_send_message(375,8583 -void b1_parse_version(414,9729 -irqreturn_t b1_interrupt(488,12230 -int b1ctl_read_proc(642,16403 -avmcard_dma_alloc(716,18777 -void avmcard_dma_free(757,19736 -static int __init b1_init(792,20586 -static void __exit b1_exit(809,20876 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/b1pcmcia.c,425 -static char *revision 30,776 -static void b1pcmcia_remove_ctr(40,1082 -static int b1pcmcia_add_card(60,1524 -static char *b1pcmcia_procinfo(141,3765 -int b1pcmcia_addcard_b1(159,4286 -int b1pcmcia_addcard_m1(164,4400 -int b1pcmcia_addcard_m2(169,4508 -int b1pcmcia_delcard(174,4616 -static struct capi_driver capi_driver_b1pcmcia 194,5062 -static int __init b1pcmcia_init(199,5159 -static void __exit b1pcmcia_exit(219,5564 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/t1isa.c,690 -static char *revision 32,819 -static int hema_irq_table[42,1129 -static int t1_detectandinit(61,1377 -static irqreturn_t t1isa_interrupt(134,3617 -static int t1isa_load_firmware(288,7820 -void t1isa_reset_ctr(331,8905 -static void t1isa_remove(346,9249 -static int t1isa_probe(372,9837 -static u16 t1isa_send_message(458,12271 -static char *t1isa_procinfo(497,13425 -#define MAX_CARDS 516,13941 -static struct pci_dev isa_dev[517,13961 -static int io[518,14003 -static int irq[519,14029 -static int cardnr[520,14056 -static int t1isa_add_card(529,14410 -static struct capi_driver capi_driver_t1isa 546,14745 -static int __init t1isa_init(552,14871 -static void __exit t1isa_exit(583,15464 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/b1isa.c,420 -static char *revision 30,759 -static void b1isa_remove(40,1064 -static int b1isa_probe(63,1524 -static char *b1isa_procinfo(149,3920 -#define MAX_CARDS 167,4438 -static struct pci_dev isa_dev[168,4458 -static int io[169,4500 -static int irq[170,4526 -static int b1isa_add_card(177,4761 -static struct capi_driver capi_driver_b1isa 194,5082 -static int __init b1isa_init(200,5208 -static void __exit b1isa_exit(231,5790 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/b1dma.c,2086 -static char *revision 31,807 -static int suppress_pollack 41,1076 -#define AMCC_RXPTR 52,1347 -#define AMCC_RXLEN 53,1371 -#define AMCC_TXPTR 54,1395 -#define AMCC_TXLEN 55,1419 -#define AMCC_INTCSR 57,1444 -# define EN_READ_TC_INT 58,1469 -# define EN_WRITE_TC_INT 59,1506 -# define EN_TX_TC_INT 60,1544 -# define EN_RX_TC_INT 61,1582 -# define AVM_FLAG 62,1621 -# define ANY_S5933_INT 64,1654 -# define READ_TC_INT 65,1690 -# define WRITE_TC_INT 66,1724 -# define TX_TC_INT 67,1759 -# define RX_TC_INT 68,1791 -# define MASTER_ABORT_INT 69,1824 -# define TARGET_ABORT_INT 70,1863 -# define BUS_MASTER_INT 71,1902 -# define ALL_INT 72,1939 -#define AMCC_MCSR 74,1971 -# define A2P_HI_PRIORITY 75,1994 -# define EN_A2P_TRANSFERS 76,2032 -# define P2A_HI_PRIORITY 77,2071 -# define EN_P2A_TRANSFERS 78,2109 -# define RESET_A2P_FLAGS 79,2148 -# define RESET_P2A_FLAGS 80,2186 -static inline void b1dma_writel(84,2294 -static inline u32 b1dma_readl(89,2401 -static inline int b1dma_tx_empty(96,2563 -static inline int b1dma_rx_full(101,2652 -static int b1dma_tolink(106,2740 -static int b1dma_fromlink(120,3128 -static int WriteReg(134,3516 -static u8 ReadReg(145,3744 -static inline void _put_byte(159,4050 -static inline void _put_word(166,4140 -static inline void _put_slice(176,4321 -static inline u8 _get_byte(184,4483 -static inline u32 _get_word(193,4585 -static inline u32 _get_slice(205,4754 -void b1dma_reset(216,4989 -static int b1dma_detect(240,5557 -int t1pci_detect(289,6774 -int b1pciv4_detect(325,7672 -static void b1dma_queue_tx(348,8092 -static void b1dma_dispatch_tx(366,8498 -static void queue_pollack(422,9837 -static void b1dma_handle_rx(444,10270 -static void b1dma_handle_interrupt(577,13642 -irqreturn_t b1dma_interrupt(632,15019 -static int b1dma_loaded(642,15250 -static void b1dma_send_init(674,16105 -int b1dma_load_firmware(697,16580 -void b1dma_reset_ctr(746,17841 -void b1dma_register_appl(763,18292 -void b1dma_release_appl(800,19182 -u16 b1dma_send_message(828,19797 -int b1dmactl_read_proc(848,20345 -int b1dma_init(958,23929 -void b1dma_exit(975,24220 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hardware/avm/c4.c,3309 -static char *revision 37,917 -static int suppress_pollack;41,1035 -static struct pci_device_id c4_pci_tbl[43,1065 -#define DC21285_DRAM_A0MR 61,1750 -#define DC21285_DRAM_A1MR 62,1787 -#define DC21285_DRAM_A2MR 63,1824 -#define DC21285_DRAM_A3MR 64,1861 -#define CAS_OFFSET 66,1899 -#define DC21285_ARMCSR_BASE 68,1924 -#define PCI_OUT_INT_STATUS 70,1964 -#define PCI_OUT_INT_MASK 71,1996 -#define MAILBOX_0 72,2026 -#define MAILBOX_1 73,2050 -#define MAILBOX_2 74,2074 -#define MAILBOX_3 75,2098 -#define DOORBELL 76,2122 -#define DOORBELL_SETUP 77,2145 -#define CHAN_1_CONTROL 79,2175 -#define CHAN_2_CONTROL 80,2204 -#define DRAM_TIMING 81,2233 -#define DRAM_ADDR_SIZE_0 82,2260 -#define DRAM_ADDR_SIZE_1 83,2291 -#define DRAM_ADDR_SIZE_2 84,2322 -#define DRAM_ADDR_SIZE_3 85,2353 -#define SA_CONTROL 86,2384 -#define XBUS_CYCLE 87,2410 -#define XBUS_STROBE 88,2436 -#define DBELL_PCI_MASK 89,2463 -#define DBELL_SA_MASK 90,2493 -#define SDRAM_SIZE 92,2523 -#define MBOX_PEEK_POKE 96,2623 -#define DBELL_ADDR 98,2658 -#define DBELL_DATA 99,2683 -#define DBELL_RNWR 100,2708 -#define DBELL_INIT 101,2733 -#define MBOX_UP_ADDR 105,2828 -#define MBOX_UP_LEN 106,2860 -#define MBOX_DOWN_ADDR 107,2891 -#define MBOX_DOWN_LEN 108,2925 -#define DBELL_UP_HOST 110,2959 -#define DBELL_UP_ARM 111,2993 -#define DBELL_DOWN_HOST 112,3026 -#define DBELL_DOWN_ARM 113,3062 -#define DBELL_RESET_HOST 114,3097 -#define DBELL_RESET_ARM 115,3133 -#define DRAM_TIMING_DEF 119,3239 -#define DRAM_AD_SZ_DEF0 120,3275 -#define DRAM_AD_SZ_NULL 121,3311 -#define SA_CTL_ALLRIGHT 123,3348 -#define INIT_XBUS_CYCLE 125,3385 -#define INIT_XBUS_STROBE 126,3421 -#define RESET_TIMEOUT 130,3527 -#define PEEK_POKE_TIMEOUT 131,3571 -#define c4outmeml(c4outmeml135,3689 -#define c4inmeml(c4inmeml136,3740 -#define c4outmemw(c4outmemw137,3775 -#define c4inmemw(c4inmemw138,3826 -#define c4outmemb(c4outmemb139,3861 -#define c4inmemb(c4inmemb140,3912 -static inline int wait_for_doorbell(144,4017 -static int c4_poke(157,4260 -static int c4_peek(175,4662 -static int c4_load_t4file(193,5089 -static inline void _put_byte(237,6001 -static inline void _put_word(244,6091 -static inline void _put_slice(254,6272 -static inline u8 _get_byte(262,6434 -static inline u32 _get_word(271,6536 -static inline u32 _get_slice(283,6705 -static void c4_reset(294,6940 -static int c4_detect(314,7424 -static void c4_dispatch_tx(408,10616 -static void queue_pollack(477,12207 -static void c4_handle_rx(500,12681 -static irqreturn_t c4_handle_interrupt(663,17016 -static irqreturn_t c4_interrupt(716,18452 -static void c4_send_init(725,18670 -static int queue_sendconfigword(749,19183 -static int queue_sendconfig(772,19642 -static int c4_send_config(802,20290 -static int c4_load_firmware(843,21153 -void c4_reset_ctr(887,22284 -static void c4_remove(908,22750 -void c4_register_appl(935,23297 -void c4_release_appl(980,24403 -static u16 c4_send_message(1014,25216 -static char *c4_procinfo(1038,25922 -static int c4_read_proc(1054,26369 -static int c4_add_card(1124,28678 -static int __devinit c4_probe(1231,31529 -static struct pci_driver c4_pci_driver 1260,32303 -static struct capi_driver capi_driver_c2 1267,32489 -static struct capi_driver capi_driver_c4 1272,32574 -static int __init c4_init(1277,32659 -static void __exit c4_exit(1301,33189 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capilib.c,427 -#define DBG(DBG6,86 -struct capilib_msgidqueue capilib_msgidqueue10,199 -struct capilib_ncci capilib_ncci15,277 -static inline void mq_init(30,651 -static inline int mq_enqueue(44,985 -static inline int mq_dequeue(61,1335 -void capilib_new_ncci(79,1735 -void capilib_free_ncci(103,2314 -void capilib_release_appl(124,2811 -void capilib_release(141,3212 -u16 capilib_data_b3_req(156,3554 -void capilib_data_b3_conf(179,4065 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capifs.c,573 -static char *revision 25,662 -#define CAPIFS_SUPER_MAGIC 29,785 -static struct vfsmount *capifs_mnt;31,828 -static struct dentry *capifs_root;32,864 -} config 40,985 -static int capifs_remount(44,1087 -static struct super_operations capifs_sops 80,1874 -capifs_fill_super(88,1995 -static struct super_block *capifs_get_sb(120,2739 -static struct file_system_type capifs_fs_type 126,2929 -static struct dentry *get_node(133,3083 -void capifs_new_ncci(141,3263 -void capifs_free_ncci(161,3908 -static int __init capifs_init(177,4197 -static void __exit capifs_exit(201,4685 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capidrv.c,3508 -static char *revision 37,915 -static int debugmode 38,963 -struct capidrv_contr capidrv_contr48,1210 - struct capidrv_bchan capidrv_bchan78,1571 - struct capidrv_plci capidrv_plci89,1776 - struct capidrv_ncci capidrv_ncci97,1980 - struct ncci_datahandle_queue ncci_datahandle_queue107,2207 -struct capidrv_data capidrv_data127,2595 -typedef struct capidrv_plci capidrv_plci;capidrv_plci133,2693 -typedef struct capidrv_ncci capidrv_ncci;capidrv_ncci134,2735 -typedef struct capidrv_contr capidrv_contr;capidrv_contr135,2777 -typedef struct capidrv_data capidrv_data;capidrv_data136,2821 -typedef struct capidrv_bchan capidrv_bchan;capidrv_bchan137,2863 -static capidrv_data global;141,2983 -static spinlock_t global_lock 142,3011 -static inline u32 b1prot(149,3235 -static inline u32 b2prot(172,3679 -static inline u32 b3prot(192,4087 -static _cstruct b1config_async_v110(211,4483 -static _cstruct b1config(224,4848 -static inline u16 si2cip(243,5295 -static inline u8 cip2si1(274,5962 -static inline u8 cip2si2(287,6244 -static inline capidrv_contr *findcontrbydriverid(303,6599 -static capidrv_contr *findcontrbynumber(316,6893 -static capidrv_plci *new_plci(332,7267 -static capidrv_plci *find_plci_by_plci(353,7698 -static capidrv_plci *find_plci_by_msgid(362,7885 -static capidrv_plci *find_plci_by_ncci(371,8076 -static void free_plci(380,8274 -static inline capidrv_ncci *new_ncci(400,8823 -static inline capidrv_ncci *find_ncci(426,9350 -static inline capidrv_ncci *find_ncci_by_msgid(440,9627 -static void free_ncci(455,9938 -static int capidrv_add_ack(469,10225 -static int capidrv_del_ack(488,10695 -static void send_message(507,11099 -struct listenstatechange listenstatechange521,11498 -static struct listenstatechange listentable[527,11572 -static void listen_change_state(540,12152 -static void p0(560,12735 -struct plcistatechange plcistatechange574,13067 -static struct plcistatechange plcitable[581,13204 -static void plci_change_state(635,16088 -static _cmsg cmsg;656,16763 -static void n0(658,16783 -struct nccistatechange nccistatechange683,17417 -static struct nccistatechange nccitable[690,17554 -static void ncci_change_state(724,19266 -static inline int new_bchan(751,20105 -static void handle_controller(765,20387 -static void handle_incoming_call(865,23470 -static void handle_plci(990,27151 -static void handle_ncci(1164,32129 -static void handle_data(1345,37160 -static _cmsg s_cmsg;1371,37941 -static void capidrv_recv_message(1373,37963 -#define PUTBYTE_TO_STATUS(PUTBYTE_TO_STATUS1401,38729 -static void handle_dtrace_data(1408,38927 -static _cmsg cmdcmsg;1450,40013 -static int capidrv_ioctl(1452,40036 -struct internal_bchannelinfo internal_bchannelinfo1472,40466 -static int decodeFVteln(1478,40591 -static int FVteln2capi20(1533,41790 -static int capidrv_command(1558,42470 -static int if_command(1803,49988 -static _cmsg sendcmsg;1816,50264 -static int if_sendbuf(1818,50288 -static int if_readstat(1896,52777 -static void enable_dchannel_trace(1917,53257 -static void send_listen(1970,54955 -static void listentimerfunc(1983,55291 -static int capidrv_addcontr(1993,55591 -static int capidrv_delcontr(2093,58484 -static void lower_callback(2174,60549 -static int proc_capidrv_read_proc(2193,60994 -static struct procfsentries procfsentries2211,61454 -} procfsentries[2217,61676 -static void __init proc_init(2222,61793 -static void __exit proc_exit(2234,62112 -static int __init capidrv_init(2248,62405 -static void __exit capidrv_exit(2295,63471 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/kcapi_proc.c,1376 -cardstate2str(19,437 -static void *controller_start(38,989 -static void *controller_next(46,1129 -static void controller_stop(55,1286 -static int controller_show(59,1350 -static int contrstats_show(75,1677 -struct seq_operations seq_controller_ops 92,1978 -struct seq_operations seq_contrstats_ops 99,2133 -static int seq_controller_open(106,2288 -static int seq_contrstats_open(111,2409 -static struct file_operations proc_controller_ops 116,2530 -static struct file_operations proc_contrstats_ops 123,2687 -applications_start(137,3114 -applications_next(146,3263 -applications_stop(156,3427 -applications_show(161,3492 -applstats_show(178,3782 -struct seq_operations seq_applications_ops 195,4072 -struct seq_operations seq_applstats_ops 202,4237 -seq_applications_open(210,4407 -seq_applstats_open(216,4532 -static struct file_operations proc_applications_ops 221,4640 -static struct file_operations proc_applstats_ops 228,4801 -create_seq_entry(236,4968 -static __inline__ struct capi_driver *capi_driver_get_idx(247,5236 -static void *capi_driver_start(262,5520 -static void *capi_driver_next(270,5701 -static void capi_driver_stop(278,5954 -static int capi_driver_show(283,6058 -struct seq_operations seq_capi_driver_ops 290,6243 -seq_capi_driver_open(298,6414 -static struct file_operations proc_driver_ops 305,6548 -kcapi_proc_init(315,6795 -kcapi_proc_exit(327,7234 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capiutil.c,1423 -char *capi_info2str(26,705 -char *capi_info2str(31,764 -} _cdef;_cdef227,8626 -#define _CBYTE 229,8636 -#define _CWORD 230,8660 -#define _CDWORD 231,8684 -#define _CSTRUCT 232,8709 -#define _CMSTRUCT 233,8734 -#define _CEND 234,8759 -static _cdef cdef[236,8783 -static unsigned char *cpars[336,11402 -#define byteTLcpy(byteTLcpy390,14317 -#define wordTLcpy(wordTLcpy391,14370 -#define dwordTLcpy(dwordTLcpy392,14425 -#define structTLcpy(structTLcpy393,14470 -#define structTLcpyovl(structTLcpyovl394,14515 -#define byteTRcpy(byteTRcpy396,14562 -#define wordTRcpy(wordTRcpy397,14615 -#define dwordTRcpy(dwordTRcpy398,14670 -#define structTRcpy(structTRcpy399,14715 -#define structTRcpyovl(structTRcpyovl400,14760 -static unsigned command_2_index(403,14867 -#define TYP 416,15157 -#define OFF 417,15200 -static void jumpcstruct(419,15257 -static void pars_2_message(436,15559 -unsigned capi_cmsg2message(495,16951 -static void message_2_pars(514,17421 -unsigned capi_message2cmsg(558,18385 -unsigned capi_cmsg_header(578,18888 -static char *mnames[593,19291 -char *capi_cmd2str(645,20684 -static char *pnames[654,20895 -static char buf[707,22234 -static char *p 708,22257 -static void bufprint(713,22362 -static void printstructlen(722,22485 -static void printstruct(742,22812 -#define NAME 756,23047 -static void protocol_message_2_pars(758,23090 -char *capi_message2str(814,24451 -char *capi_cmsg2str(838,24967 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/kcapi.h,201 -#define DBG(DBG19,432 -#define DBG(DBG23,550 - CARD_DETECTED 27,599 - CARD_LOADING 28,619 - CARD_RUNNING 29,639 -static inline void kcapi_proc_init(45,941 -static inline void kcapi_proc_exit(46,987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capifs.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capidrv.h,2395 -#define __CAPIDRV_H__13,347 -#define ST_LISTEN_NONE 18,401 -#define ST_LISTEN_WAIT_CONF 19,438 -#define ST_LISTEN_ACTIVE 20,481 -#define ST_LISTEN_ACTIVE_WAIT_CONF 21,519 -#define EV_LISTEN_REQ 24,570 -#define EV_LISTEN_CONF_ERROR 26,637 -#define EV_LISTEN_CONF_EMPTY 28,710 -#define EV_LISTEN_CONF_OK 30,783 -#define ST_PLCI_NONE 36,887 -#define ST_PLCI_OUTGOING 37,922 -#define ST_PLCI_ALLOCATED 38,963 -#define ST_PLCI_ACTIVE 39,1002 -#define ST_PLCI_INCOMING 40,1041 -#define ST_PLCI_FACILITY_IND 41,1079 -#define ST_PLCI_ACCEPTING 42,1121 -#define ST_PLCI_DISCONNECTING 43,1160 -#define ST_PLCI_DISCONNECTED 44,1203 -#define ST_PLCI_RESUMEING 45,1245 -#define ST_PLCI_RESUME 46,1288 -#define ST_PLCI_HELD 47,1328 -#define EV_PLCI_CONNECT_REQ 49,1368 -#define EV_PLCI_CONNECT_CONF_ERROR 51,1467 -#define EV_PLCI_CONNECT_CONF_OK 53,1572 -#define EV_PLCI_FACILITY_IND_UP 55,1675 -#define EV_PLCI_CONNECT_IND 57,1776 -#define EV_PLCI_CONNECT_ACTIVE_IND 59,1873 -#define EV_PLCI_CONNECT_REJECT 61,1978 -#define EV_PLCI_DISCONNECT_REQ 64,2056 -#define EV_PLCI_DISCONNECT_IND 72,2251 -#define EV_PLCI_FACILITY_IND_DOWN 81,2466 -#define EV_PLCI_DISCONNECT_RESP 88,2633 -#define EV_PLCI_CONNECT_RESP 90,2737 -#define EV_PLCI_RESUME_REQ 93,2839 -#define EV_PLCI_RESUME_CONF_OK 95,2940 -#define EV_PLCI_RESUME_CONF_ERROR 97,3047 -#define EV_PLCI_RESUME_IND 99,3154 -#define EV_PLCI_HOLD_IND 101,3255 -#define EV_PLCI_RETRIEVE_IND 103,3355 -#define EV_PLCI_SUSPEND_IND 105,3459 -#define EV_PLCI_CD_IND 107,3559 -#define ST_NCCI_PREVIOUS 113,3687 -#define ST_NCCI_NONE 114,3717 -#define ST_NCCI_OUTGOING 115,3753 -#define ST_NCCI_INCOMING 116,3794 -#define ST_NCCI_ALLOCATED 117,3833 -#define ST_NCCI_ACTIVE 118,3873 -#define ST_NCCI_RESETING 119,3913 -#define ST_NCCI_DISCONNECTING 120,3952 -#define ST_NCCI_DISCONNECTED 121,3996 -#define EV_NCCI_CONNECT_B3_REQ 123,4040 -#define EV_NCCI_CONNECT_B3_IND 124,4094 -#define EV_NCCI_CONNECT_B3_CONF_OK 125,4146 -#define EV_NCCI_CONNECT_B3_CONF_ERROR 126,4203 -#define EV_NCCI_CONNECT_B3_REJECT 127,4263 -#define EV_NCCI_CONNECT_B3_RESP 128,4317 -#define EV_NCCI_CONNECT_B3_ACTIVE_IND 129,4370 -#define EV_NCCI_RESET_B3_REQ 130,4430 -#define EV_NCCI_RESET_B3_IND 131,4482 -#define EV_NCCI_DISCONNECT_B3_IND 132,4534 -#define EV_NCCI_DISCONNECT_B3_CONF_ERROR 133,4589 -#define EV_NCCI_DISCONNECT_B3_REQ 134,4655 -#define EV_NCCI_DISCONNECT_B3_RESP 138,4775 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/kcapi.c,1770 -#define CONFIG_AVMB1_COMPAT13,360 -static char *revision 34,849 -static int showcapimsgs 38,967 -struct capi_notifier capi_notifier47,1207 -static struct capi_version driver_version 57,1389 -static char driver_serial[58,1450 -static char capi_manufakturer[59,1506 -#define NCCI2CTRL(NCCI2CTRL61,1557 -rwlock_t capi_drivers_list_lock 64,1634 -static rwlock_t application_lock 66,1687 -struct capi20_appl *capi_applications[69,1779 -struct capi_ctr *capi_cards[70,1832 -static int ncards;72,1877 -capi_ctr_get(77,2008 -capi_ctr_put(85,2132 -static inline struct capi_ctr *get_capi_ctr_by_nr(92,2268 -static inline struct capi20_appl *get_capi_appl_by_nr(100,2414 -static inline int capi_cmd_valid(110,2641 -static inline int capi_subcmd_valid(133,3083 -static void register_appl(147,3314 -static void release_appl(155,3484 -static void notify_up(165,3703 -static void notify_down(184,4195 -static void notify_handler(200,4563 -static int notify_push(220,4919 -static void recv_handler(240,5333 -void capi_ctr_handle_message(260,5728 -void capi_ctr_ready(318,7317 -void capi_ctr_reseted(341,7829 -void capi_ctr_suspend_output(372,8516 -void capi_ctr_resume_output(382,8721 -attach_capi_ctr(395,8995 -int detach_capi_ctr(440,9958 -void register_capi_driver(460,10355 -void unregister_capi_driver(471,10632 -u16 capi20_isinstalled(486,11098 -u16 capi20_register(498,11337 -u16 capi20_release(552,12519 -u16 capi20_put_message(584,13217 -u16 capi20_get_manufacturer(641,14806 -u16 capi20_get_version(658,15214 -u16 capi20_get_serial(676,15611 -u16 capi20_get_profile(694,16012 -static int old_capi_manufacturer(714,16453 -int capi20_manufacturer(872,20298 -void capi20_set_callback(950,21982 -static int __init kcapi_init(966,22403 -static void __exit kcapi_exit(985,22748 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/capi/capi.c,2801 -static char *revision 48,1260 -static struct class_simple *capi_class;60,1658 -int capi_major 62,1699 -#define CAPINC_NR_PORTS 64,1772 -#define CAPINC_MAX_PORTS 65,1799 -int capi_ttymajor 66,1828 -int capi_ttyminors 67,1853 -#define CAPINC_MAX_RECVQUEUE 78,2181 -#define CAPINC_MAX_SENDQUEUE 79,2213 -#define CAPI_MAX_BLKSIZE 80,2245 -struct capiminor capiminor89,2437 - struct datahandle_queue datahandle_queue111,2900 -struct capincci capincci120,3076 -struct capidev capidev129,3261 -static rwlock_t capidev_list_lock 145,3569 -static rwlock_t capiminor_list_lock 149,3691 -static int capincci_add_ack(156,3932 -static int capiminor_del_ack(173,4294 -static void capiminor_del_all_ack(189,4590 -static struct capiminor *capiminor_alloc(205,4859 -static void capiminor_free(254,5908 -struct capiminor *capiminor_find(270,6278 -static struct capincci *capincci_alloc(291,6747 -static void capincci_free(324,7620 -static struct capincci *capincci_find(360,8426 -static struct capidev *capidev_alloc(373,8684 -static void capidev_free(392,9172 -gen_data_b3_resp_for(416,9726 -static int handle_recv_skb(434,10294 -static void handle_minor_recv(498,11881 -static int handle_minor_send(512,12180 -static void capi_recv_message(578,14004 -capi_read(663,16404 -capi_write(703,17213 -capi_poll(750,18226 -capi_ioctl(766,18578 -capi_open(964,23067 -capi_release(976,23285 -static struct file_operations capi_fops 986,23468 -static int capinc_tty_open(1001,23807 -static void capinc_tty_close(1022,24302 -static int capinc_tty_write(1047,24879 -static void capinc_tty_put_char(1100,26096 -static void capinc_tty_flush_chars(1137,26944 -static int capinc_tty_write_room(1163,27494 -int capinc_tty_chars_in_buffer(1181,27957 -static int capinc_tty_ioctl(1199,28445 -static void capinc_tty_set_termios(1211,28679 -static void capinc_tty_throttle(1218,28843 -static void capinc_tty_unthrottle(1228,29072 -static void capinc_tty_stop(1240,29335 -static void capinc_tty_start(1251,29561 -static void capinc_tty_hangup(1263,29820 -static void capinc_tty_break_ctl(1270,29952 -static void capinc_tty_flush_buffer(1277,30112 -static void capinc_tty_set_ldisc(1284,30256 -static void capinc_tty_send_xchar(1291,30394 -static int capinc_tty_read_proc(1298,30551 -static struct tty_driver *capinc_tty_driver;1304,30673 -static struct tty_operations capinc_ops 1306,30719 -static int capinc_tty_init(1328,31421 -static void capinc_tty_exit(1365,32411 -static int proc_capidev_read_proc(1382,32865 -static int proc_capincci_read_proc(1420,33666 -static struct procfsentries procfsentries1454,34433 -} procfsentries[1460,34655 -static void __init proc_init(1466,34829 -static void __exit proc_exit(1478,35148 -static char rev[1495,35516 -static int __init capi_init(1497,35538 -static void __exit capi_exit(1550,36907 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/module.c,254 -static int mem[28,727 -static int irq[29,760 -static int num_boards;31,794 -struct pcbit_dev * dev_pcbit[32,817 -static int __init pcbit_init(37,967 -static void __exit pcbit_exit(83,1830 -#define MAX_PARA 96,2051 -static int __init pcbit_setup(97,2090 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/edss1.c,368 -char * isdn_state_table[44,1003 -struct CauseValue CauseValue77,1637 -} cvlist[80,1683 -static struct isdn_event_desc isdn_event_desc152,4763 -} isdn_event_table 155,4831 -char * strisdnevent(175,5687 -static struct fsm_timer_entry fsm_timers[190,5915 -static struct fsm_entry fsm_table[200,6108 -static void pcbit_fsm_timer(253,7895 -void pcbit_fsm_event(274,8356 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/capi.h,159 -#define CAPI_H13,318 -#define REQ_CAUSE 16,335 -#define REQ_DISPLAY 17,366 -#define REQ_USER_TO_USER 18,397 -#define AppInfoMask 20,430 -capi_channel(67,2259 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/pcbit.h,1459 -#define PCBIT_H13,311 -#define MAX_PCBIT_CARDS 17,358 -#define BLOCK_TIMER20,386 -struct pcbit_chan pcbit_chan24,426 -struct msn_entry msn_entry40,964 -struct pcbit_dev pcbit_dev45,1025 -#define STATS_TIMER 101,2058 -#define ERRTIME 102,2086 -#define MAXBUFSIZE 105,2125 -#define MRU 106,2150 -#define STATBUF_LEN 108,2176 -struct pcbit_ioctl pcbit_ioctl117,2289 - struct byte_op byte_op119,2319 -#define PCBIT_IOCTL_GETSTAT 129,2427 -#define PCBIT_IOCTL_LWMODE 130,2484 -#define PCBIT_IOCTL_STRLOAD 131,2545 -#define PCBIT_IOCTL_ENDLOAD 132,2604 -#define PCBIT_IOCTL_SETBYTE 133,2661 -#define PCBIT_IOCTL_GETBYTE 134,2713 -#define PCBIT_IOCTL_RUNNING 135,2765 -#define PCBIT_IOCTL_WATCH188 136,2829 -#define PCBIT_IOCTL_PING188 137,2886 -#define PCBIT_IOCTL_FWMODE 138,2938 -#define PCBIT_IOCTL_STOP 139,3001 -#define PCBIT_IOCTL_APION 140,3058 -#define PCBIT_GETSTAT 144,3136 -#define PCBIT_LWMODE 145,3195 -#define PCBIT_STRLOAD 146,3254 -#define PCBIT_ENDLOAD 147,3313 -#define PCBIT_SETBYTE 148,3372 -#define PCBIT_GETBYTE 149,3431 -#define PCBIT_RUNNING 150,3490 -#define PCBIT_WATCH188 151,3549 -#define PCBIT_PING188 152,3608 -#define PCBIT_FWMODE 153,3667 -#define PCBIT_STOP 154,3726 -#define PCBIT_APION 155,3785 -#define MAXSUPERLINE 157,3845 -#define L2_DOWN 161,3880 -#define L2_LOADING 162,3902 -#define L2_LWMODE 163,3924 -#define L2_FWMODE 164,3946 -#define L2_STARTING 165,3968 -#define L2_RUNNING 166,3990 -#define L2_ERROR 167,4012 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/edss1.h,1358 -#define EDSS1_H13,302 -#define ST_NULL 17,338 -#define ST_CALL_INIT 18,361 -#define ST_OVER_SEND 19,408 -#define ST_CALL_PROC 20,484 -#define ST_CALL_DELV 21,532 -#define ST_CALL_PRES 22,555 -#define ST_CALL_RECV 23,620 -#define ST_CONN_REQ 24,666 -#define ST_INCM_PROC 25,729 -#define ST_ACTIVE 26,752 -#define ST_DISC_REQ 27,776 -#define ST_DISC_IND 28,800 -#define ST_SUSP_REQ 29,824 -#define ST_RESM_REQ 30,848 -#define ST_RELS_REQ 31,872 -#define ST_OVER_RECV 32,896 -#define ST_ACTIVE_SELP 34,921 -#define ST_ACTIVE_ACTV 35,982 -#define MAX_STATE 37,1044 -#define EV_NULL 39,1078 -#define EV_USR_SETUP_REQ 40,1110 -#define EV_USR_SETUP_RESP 41,1142 -#define EV_USR_PROCED_REQ 42,1174 -#define EV_USR_RELEASE_REQ 43,1206 -#define EV_USR_REJECT_REQ 44,1238 -#define EV_NET_SETUP 46,1271 -#define EV_NET_CALL_PROC 47,1304 -#define EV_NET_SETUP_ACK 48,1337 -#define EV_NET_CONN 49,1370 -#define EV_NET_CONN_ACK 50,1403 -#define EV_NET_SELP_RESP 52,1437 -#define EV_NET_ACTV_RESP 53,1470 -#define EV_NET_DISC 55,1504 -#define EV_NET_RELEASE 56,1537 -#define EV_NET_RELEASE_COMP 57,1570 -#define EV_TIMER 59,1604 -#define EV_ERROR 60,1637 -#define CAUSE_NORMAL 67,1722 -#define CAUSE_NOCHAN 68,1759 -struct callb_data callb_data70,1796 - struct ConnInfo ConnInfo73,1847 -struct fsm_entry fsm_entry81,1954 -struct fsm_timer_entry fsm_timer_entry88,2122 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/drv.c,674 -static char* pcbit_devname[48,887 -int pcbit_init_dev(73,1499 -void pcbit_terminate(217,4587 -int pcbit_command(241,5084 -static void pcbit_block_timer(304,6434 -int pcbit_xmit(333,6977 -int pcbit_writecmd(392,8151 -void pcbit_l3_receive(476,9725 -static char statbuf[712,15397 -static int stat_st 713,15431 -static int stat_end 714,15455 -int pcbit_stat(716,15481 -static void pcbit_logstat(761,16340 -void pcbit_state_change(784,16800 -static void set_running_timeout(801,17180 -static int set_protocol_running(813,17407 -static int pcbit_ioctl(876,18741 -static void pcbit_clear_msn(993,21229 -static void pcbit_set_msn(1007,21428 -static int pcbit_check_msn(1074,22582 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/layer2.h,2226 -#define LAYER2_H18,456 -#define BANK1 24,532 -#define BANK2 25,572 -#define BANK3 26,612 -#define BANK4 27,650 -#define BANKLEN 29,686 -#define LOAD_ZONE_START 31,711 -#define LOAD_ZONE_END 32,743 -#define LOAD_RETRY 34,776 -#define PREHDR_LEN 39,842 -#define FRAME_HDR_LEN 41,899 -#define MSG_CONN_REQ 43,928 -#define MSG_CONN_CONF 44,961 -#define MSG_CONN_IND 45,995 -#define MSG_CONN_RESP 46,1028 -#define MSG_CONN_ACTV_REQ 48,1063 -#define MSG_CONN_ACTV_CONF 49,1100 -#define MSG_CONN_ACTV_IND 50,1138 -#define MSG_CONN_ACTV_RESP 51,1175 -#define MSG_DISC_REQ 53,1214 -#define MSG_DISC_CONF 54,1247 -#define MSG_DISC_IND 55,1281 -#define MSG_DISC_RESP 56,1314 -#define MSG_TDATA_REQ 58,1349 -#define MSG_TDATA_CONF 59,1383 -#define MSG_TDATA_IND 60,1418 -#define MSG_TDATA_RESP 61,1452 -#define MSG_SELP_REQ 63,1488 -#define MSG_SELP_CONF 64,1521 -#define MSG_ACT_TRANSP_REQ 66,1556 -#define MSG_ACT_TRANSP_CONF 67,1599 -#define MSG_STPROT_REQ 69,1643 -#define MSG_STPROT_CONF 70,1678 -#define MSG_PING188_REQ 72,1715 -#define MSG_PING188_CONF 73,1751 -#define MSG_WATCH188 75,1795 -#define MSG_API_ON 77,1836 -#define MSG_POOL_PCBIT 78,1879 -#define MSG_POOL_PCBIT_CONF 79,1922 -#define MSG_INFO_IND 81,1966 -#define MSG_INFO_RESP 82,2009 -#define MSG_DEBUG_188 84,2053 -#define SET_MSG_SCMD(SET_MSG_SCMD93,2165 -#define SET_MSG_CMD(SET_MSG_CMD94,2241 -#define SET_MSG_PROC(SET_MSG_PROC95,2321 -#define SET_MSG_CPU(SET_MSG_CPU96,2403 -#define GET_MSG_SCMD(GET_MSG_SCMD98,2485 -#define GET_MSG_CMD(GET_MSG_CMD99,2527 -#define GET_MSG_PROC(GET_MSG_PROC100,2573 -#define GET_MSG_CPU(GET_MSG_CPU101,2621 -#define MAX_QUEUED 107,2699 -#define SCHED_READ 109,2721 -#define SCHED_WRITE 110,2748 -#define SET_RUN_TIMEOUT 112,2776 -struct frame_buf frame_buf114,2827 -static __inline__ void log_state(132,3343 -static __inline__ struct pcbit_dev * chan2dev(142,3742 -static __inline__ struct pcbit_dev * finddev(156,4081 -static __inline__ void pcbit_writeb(173,4359 -static __inline__ void pcbit_writew(180,4551 -static __inline__ void memcpy_topcbit(202,5045 -static __inline__ unsigned char pcbit_readb(225,5545 -static __inline__ unsigned short pcbit_readw(236,5778 -static __inline__ void memcpy_frompcbit(260,6291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/callbacks.h,27 -#define CALLBACKS_H13,310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/capi.c,668 -int capi_conn_req(55,1137 -int capi_conn_resp(135,3458 -int capi_conn_active_req(152,3861 -int capi_conn_active_resp(180,4694 -int capi_select_proto_req(198,5027 -int capi_activate_transp_req(264,6619 -int capi_tdata_req(286,7180 -int capi_tdata_resp(322,7871 -int capi_disc_req(339,8259 -int capi_disc_resp(363,8871 -int capi_decode_conn_ind(382,9185 -int capi_decode_conn_conf(492,11644 -int capi_decode_conn_actv_ind(527,12518 -int capi_decode_conn_actv_conf(565,13323 -int capi_decode_sel_proto_conf(579,13620 -int capi_decode_actv_trans_conf(592,13896 -int capi_decode_disc_ind(607,14263 -int capi_decode_disc_conf(630,14686 -int capi_decode_debug_188(641,14910 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/callbacks.c,315 -ushort last_ref_num 37,806 -void cb_out_1(44,861 -void cb_out_2(86,1780 -void cb_out_3(132,2931 -void cb_in_1(149,3241 -void cb_in_2(209,4653 -void cb_in_3(235,5254 -void cb_disc_1(261,5838 -void cb_disc_2(290,6524 -void cb_disc_3(314,7124 -void cb_notdone(325,7386 -void cb_selp_1(333,7524 -void cb_open(355,8057 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/pcbit/layer2.c,354 -pcbit_sched_delivery(82,1692 -pcbit_l2_write(93,1810 -pcbit_tx_update(140,2843 -pcbit_transmit(160,3165 -pcbit_deliver(302,5864 -pcbit_receive(340,6647 -pcbit_fake_conf(483,9830 -pcbit_firmware_bug(498,10087 -pcbit_irq_handler(515,10349 -pcbit_l2_active_conf(577,11677 -pcbit_l2_err_recover(603,12137 -pcbit_l2_error(656,13264 -pcbit_recv_ack(684,13845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/l3_1tr6.h,3907 -#define l3_1tr611,270 -#define PROTO_DIS_N0 13,287 -#define PROTO_DIS_N1 14,313 -#define MT_N0_REG_IND 19,361 -#define MT_N0_CANC_IND 20,388 -#define MT_N0_FAC_STA 21,416 -#define MT_N0_STA_ACK 22,443 -#define MT_N0_STA_REJ 23,470 -#define MT_N0_FAC_INF 24,497 -#define MT_N0_INF_ACK 25,524 -#define MT_N0_INF_REJ 26,551 -#define MT_N0_CLOSE 27,578 -#define MT_N0_CLO_ACK 28,605 -#define MT_N1_ESC 34,655 -#define MT_N1_ALERT 35,678 -#define MT_N1_CALL_SENT 36,703 -#define MT_N1_CONN 37,732 -#define MT_N1_CONN_ACK 38,756 -#define MT_N1_SETUP 39,784 -#define MT_N1_SETUP_ACK 40,809 -#define MT_N1_RES 41,838 -#define MT_N1_RES_ACK 42,861 -#define MT_N1_RES_REJ 43,888 -#define MT_N1_SUSP 44,915 -#define MT_N1_SUSP_ACK 45,939 -#define MT_N1_SUSP_REJ 46,967 -#define MT_N1_USER_INFO 47,995 -#define MT_N1_DET 48,1024 -#define MT_N1_DISC 49,1047 -#define MT_N1_REL 50,1071 -#define MT_N1_REL_ACK 51,1094 -#define MT_N1_CANC_ACK 52,1121 -#define MT_N1_CANC_REJ 53,1149 -#define MT_N1_CON_CON 54,1177 -#define MT_N1_FAC 55,1204 -#define MT_N1_FAC_ACK 56,1227 -#define MT_N1_FAC_CAN 57,1254 -#define MT_N1_FAC_REG 58,1281 -#define MT_N1_FAC_REJ 59,1308 -#define MT_N1_INFO 60,1335 -#define MT_N1_REG_ACK 61,1359 -#define MT_N1_REG_REJ 62,1386 -#define MT_N1_STAT 63,1413 -#define MT_N1_INVALID 64,1437 -#define WE_Shift_F0 70,1484 -#define WE_Shift_F6 71,1509 -#define WE_Shift_OF0 72,1534 -#define WE_Shift_OF6 73,1560 -#define WE0_cause 75,1587 -#define WE0_connAddr 76,1610 -#define WE0_callID 77,1636 -#define WE0_chanID 78,1660 -#define WE0_netSpecFac 79,1684 -#define WE0_display 80,1712 -#define WE0_keypad 81,1737 -#define WE0_origAddr 82,1761 -#define WE0_destAddr 83,1787 -#define WE0_userInfo 84,1813 -#define WE0_moreData 86,1840 -#define WE0_congestLevel 87,1866 -#define WE6_serviceInd 89,1897 -#define WE6_chargingInfo 90,1925 -#define WE6_date 91,1955 -#define WE6_facSelect 92,1977 -#define WE6_facStatus 93,2004 -#define WE6_statusCalled 94,2031 -#define WE6_addTransAttr 95,2061 -#define FAC_Sperre 100,2111 -#define FAC_Sperre_All 101,2135 -#define FAC_Sperre_Fern 102,2163 -#define FAC_Sperre_Intl 103,2192 -#define FAC_Sperre_Interk 104,2221 -#define FAC_Forward1 106,2253 -#define FAC_Forward2 107,2279 -#define FAC_Konferenz 108,2305 -#define FAC_GrabBchan 109,2332 -#define FAC_Reactivate 110,2359 -#define FAC_Konferenz3 111,2387 -#define FAC_Dienstwechsel1 112,2415 -#define FAC_Dienstwechsel2 113,2447 -#define FAC_NummernIdent 114,2479 -#define FAC_GBG 115,2509 -#define FAC_DisplayUebergeben 116,2530 -#define FAC_DisplayUmgeleitet 117,2565 -#define FAC_Unterdruecke 118,2600 -#define FAC_Deactivate 119,2630 -#define FAC_Activate 120,2658 -#define FAC_SPV 121,2684 -#define FAC_Rueckwechsel 122,2705 -#define FAC_Umleitung 123,2735 -#define CAUSE_InvCRef 128,2785 -#define CAUSE_BearerNotImpl 129,2812 -#define CAUSE_CIDunknown 130,2845 -#define CAUSE_CIDinUse 131,2875 -#define CAUSE_NoChans 132,2903 -#define CAUSE_FacNotImpl 133,2930 -#define CAUSE_FacNotSubscr 134,2960 -#define CAUSE_OutgoingBarred 135,2992 -#define CAUSE_UserAccessBusy 136,3026 -#define CAUSE_NegativeGBG 137,3060 -#define CAUSE_UnknownGBG 138,3091 -#define CAUSE_NoSPVknown 139,3121 -#define CAUSE_DestNotObtain 140,3151 -#define CAUSE_NumberChanged 141,3184 -#define CAUSE_OutOfOrder 142,3217 -#define CAUSE_NoUserResponse 143,3247 -#define CAUSE_UserBusy 144,3281 -#define CAUSE_IncomingBarred 145,3309 -#define CAUSE_CallRejected 146,3343 -#define CAUSE_NetworkCongestion 147,3375 -#define CAUSE_RemoteUser 148,3412 -#define CAUSE_LocalProcErr 149,3442 -#define CAUSE_RemoteProcErr 150,3474 -#define CAUSE_RemoteUserSuspend 151,3507 -#define CAUSE_RemoteUserResumed 152,3544 -#define CAUSE_UserInfoDiscarded 153,3581 -#define T303 155,3619 -#define T304 156,3637 -#define T305 157,3656 -#define T308 158,3674 -#define T310 159,3692 -#define T313 160,3712 -#define T318 161,3730 -#define T319 162,3748 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/niccy.c,1037 -const char *niccy_revision 27,661 -#define byteout(byteout29,716 -#define bytein(bytein30,757 -#define ISAC_PCI_DATA 32,789 -#define HSCX_PCI_DATA 33,813 -#define ISAC_PCI_ADDR 34,837 -#define HSCX_PCI_ADDR 35,861 -#define ISAC_PNP 36,885 -#define HSCX_PNP 37,904 -#define NICCY_PNP 40,940 -#define NICCY_PCI 41,960 -#define PCI_IRQ_CTRL_REG 44,997 -#define PCI_IRQ_ENABLE 45,1027 -#define PCI_IRQ_DISABLE 46,1058 -#define PCI_IRQ_ASSERT 47,1092 -readreg(50,1147 -readfifo(60,1305 -writereg(68,1456 -writefifo(75,1591 -ReadISAC(84,1765 -WriteISAC(90,1901 -ReadISACfifo(96,2051 -WriteISACfifo(102,2200 -ReadHSCX(108,2353 -WriteHSCX(115,2522 -#define READHSCX(READHSCX121,2693 -#define WRITEHSCX(WRITEHSCX123,2800 -#define READHSCXFIFO(READHSCXFIFO126,2922 -#define WRITEHSCXFIFO(WRITEHSCXFIFO129,3044 -niccy_interrupt(135,3210 -release_io_niccy(182,4792 -niccy_reset(199,5215 -niccy_card_msg(212,5471 -static struct pci_dev *niccy_dev __initdata 236,5949 -static struct pnp_card *pnp_c __devinitdata 238,6019 -setup_niccy(242,6090 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isurf.c,677 -static const char *ISurf_revision 22,512 -#define byteout(byteout24,574 -#define bytein(bytein25,615 -#define ISURF_ISAR_RESET 27,647 -#define ISURF_ISAC_RESET 28,674 -#define ISURF_ISAR_EA 29,701 -#define ISURF_ARCOFI_RESET 30,726 -#define ISURF_RESET 31,755 -#define ISURF_ISAR_OFFSET 33,835 -#define ISURF_ISAC_OFFSET 34,863 -#define ISURF_IOMEM_SIZE 35,895 -ReadISAC(39,967 -WriteISAC(45,1079 -ReadISACfifo(51,1211 -WriteISACfifo(59,1375 -ReadISAR(74,1699 -WriteISAR(80,1821 -isurf_interrupt(86,1969 -release_io_isurf(126,3053 -reset_isurf(134,3259 -ISurf_card_msg(145,3513 -isurf_auxcmd(178,4286 -static struct pnp_card *pnp_c __initdata 199,4796 -setup_isurf(203,4864 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/amd7930_fn.c,506 -static WORD initAMD[65,1875 -WriteWordAmd7930(101,2838 -ReadWordAmd7930(109,3047 -Amd7930_ph_command(128,3486 -static BYTE i430States[139,3731 -static BYTE stateHelper[153,4497 -Amd7930_get_state(159,4605 -Amd7930_new_ph(168,4786 -Amd7930_bh(235,7245 -Amd7930_empty_Dfifo(271,8219 -Amd7930_fill_Dfifo(345,10389 -void Amd7930_interrupt(416,12325 -Amd7930_l1hw(558,16715 -setstack_Amd7930(669,20052 -DC_Close_Amd7930(680,20243 -dbusy_timer_handler(687,20384 -Amd7930_init(747,22302 -setup_Amd7930(790,23333 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isac.c,467 -#define DBUSY_TIMER_VALUE 23,540 -#define ARCOFI_USE 24,569 -static char *ISACVer[26,591 -static char *ISACVer[] __devinitdata 26,591 -ISACVersion(31,692 -ph_command(40,885 -isac_new_ph(49,1084 -isac_bh(84,1878 -isac_empty_fifo(116,2686 -isac_fill_fifo(145,3386 -isac_interrupt(187,4312 -ISAC_l1hw(438,11879 -setstack_isac(567,15444 -DC_Close_isac(573,15540 -dbusy_timer_handler(585,15773 -initisac(621,16766 -clear_pending_isac_ints(653,17684 -setup_isac(678,18363 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hscx_irq.c,158 -waitforCEC(17,428 -waitforXFW(31,659 -WriteHSCXCMDR(44,900 -hscx_empty_fifo(53,1044 -hscx_fill_fifo(83,1879 -hscx_interrupt(123,2855 -hscx_int_main(225,5551 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/jade.c,215 -JadeVersion(23,493 -jade_write_indirect(50,1087 -modejade(78,1698 -jade_l2l1(134,3472 -close_jadestate(194,5179 -open_jadestate(217,5671 -setstack_jade(247,6471 -clear_pending_jade_ints(261,6743 -initjade(287,7458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/enternow.h,271 -#define BYTE 19,595 -#define WORD 20,628 -#define HIBYTE(HIBYTE21,660 -#define LOBYTE(LOBYTE22,721 -#define InByte(InByte23,774 -#define OutByte(OutByte24,810 -#define TJ_AMD_IRQ 33,1169 -#define TJ_LED1 34,1199 -#define TJ_LED2 35,1226 -#define TJ_AMD_PORT 42,1432 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfcscard.c,397 -static const char *hfcs_revision 21,511 -hfcs_interrupt(24,591 -hfcs_Timer(46,1207 -release_io_hfcs(56,1412 -reset_hfcs(65,1584 -hfcs_card_msg(103,3214 -static struct isapnp_device_id hfc_ids[143,4279 -static struct isapnp_device_id hfc_ids[] __initdata 143,4279 -static struct isapnp_device_id *ipid __initdata 168,5420 -static struct pnp_card *pnp_c __devinitdata 169,5483 -setup_hfcs(173,5554 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/teles_cs.c,802 -static int pc_debug 52,1613 -#define DEBUG(DEBUG54,1677 -static char *version 55,1746 -#define DEBUG(DEBUG58,1820 -static u_long irq_mask 67,2093 -static int irq_list[70,2183 -static int protocol 75,2277 -static dev_info_t dev_info 109,3443 -static dev_link_t *dev_list 121,3890 -typedef struct local_info_t local_info_t147,5174 -} local_info_t;local_info_t152,5312 -static dev_link_t *teles_attach(166,5797 -static void teles_detach(238,8262 -static int get_tuple(275,9301 -static int first_tuple(283,9545 -static int next_tuple(291,9783 -static void teles_cs_config(299,10019 -static void teles_cs_release(429,14213 -static int teles_cs_event(467,15497 -static struct pcmcia_driver teles_cs_driver 508,16749 -static int __init init_teles_cs(517,16914 -static void __exit exit_teles_cs(522,17007 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/config.c,4337 -#define HISAX_STATUS_BUFSIZE 27,757 -#define INCLUDE_INLINE_FUNCS28,791 -const char *CardType[86,3126 -#define DEFAULT_CARD 102,3871 -#define DEFAULT_CFG 103,3908 -#define DEFAULT_CARD 109,4012 -#define DEFAULT_CFG 110,4047 -#define DEFAULT_CARD 116,4163 -#define DEFAULT_CFG 117,4205 -#define DEFAULT_CARD 123,4316 -#define DEFAULT_CFG 124,4357 -#define DEFAULT_CARD 130,4459 -#define DEFAULT_CFG 131,4496 -#define DEFAULT_CARD 137,4604 -#define DEFAULT_CFG 138,4642 -#define DEFAULT_CARD 144,4748 -#define DEFAULT_CFG 145,4785 -#define DEFAULT_CARD 151,4902 -#define DEFAULT_CFG 152,4943 -#define DEFAULT_CARD 158,5051 -#define DEFAULT_CFG 159,5094 -#define DEFAULT_CARD 165,5205 -#define DEFAULT_CFG 166,5247 -#define DEFAULT_CARD 172,5354 -#define DEFAULT_CFG 173,5394 -#define DEFAULT_CARD 179,5503 -#define DEFAULT_CFG 180,5543 -#define DEFAULT_CARD 186,5654 -#define DEFAULT_CFG 187,5696 -#define DEFAULT_CARD 193,5808 -#define DEFAULT_CFG 194,5850 -#define DEFAULT_CARD 200,5955 -#define DEFAULT_CFG 201,5991 -#define DEFAULT_CARD 207,6100 -#define DEFAULT_CFG 208,6141 -#define DEFAULT_CARD 214,6243 -#define DEFAULT_CFG 215,6283 -#define DEFAULT_CARD 221,6392 -#define DEFAULT_CFG 222,6432 -#define DEFAULT_CARD 228,6536 -#define DEFAULT_CFG 229,6575 -#define DEFAULT_CARD 236,6685 -#define DEFAULT_CFG 237,6725 -#define DEFAULT_CARD 243,6833 -#define DEFAULT_CFG 244,6871 -#define DEFAULT_CARD 250,6976 -#define DEFAULT_CFG 251,7014 -#define DEFAULT_CARD 257,7131 -#define DEFAULT_CFG 258,7173 -#define DEFAULT_CARD 264,7282 -#define DEFAULT_CFG 265,7322 -#define DEFAULT_CARD 271,7432 -#define DEFAULT_CFG 272,7475 -#define DEFAULT_CARD 278,7580 -#define DEFAULT_CFG 279,7618 -#define DEFAULT_CARD 285,7726 -#define DEFAULT_CFG 286,7764 -#define DEFAULT_CARD 292,7870 -#define DEFAULT_CFG 293,7911 -#define DEFAULT_PROTO 297,7974 -#define DEFAULT_PROTO_NAME 298,8012 -#define DEFAULT_PROTO 302,8098 -#define DEFAULT_PROTO_NAME 304,8161 -#define DEFAULT_PROTO 308,8247 -#define DEFAULT_PROTO_NAME 310,8311 -#define DEFAULT_PROTO 313,8374 -#define DEFAULT_PROTO_NAME 314,8415 -#define DEFAULT_CARD 317,8480 -#define DEFAULT_CFG 318,8503 -#define FIRST_CARD 321,8541 -struct IsdnCard cards[328,8627 -#define HISAX_IDSIZE 332,8687 -static char HiSaxID[333,8728 -char *HiSax_id 335,8773 -static int type[338,8840 -static int protocol[339,8883 -static int io[340,8930 -#define IO0_IO1343,9011 -#define IO0_IO1347,9075 -static int io0[350,9113 -static int io0[HISAX_MAX_CARDS] __devinitdata 350,9113 -static int io1[351,9169 -static int io1[HISAX_MAX_CARDS] __devinitdata 351,9169 -static int irq[353,9232 -static int irq[HISAX_MAX_CARDS] __devinitdata 353,9232 -static int mem[354,9288 -static int mem[HISAX_MAX_CARDS] __devinitdata 354,9288 -static char *id 355,9344 -#define PARM_PARA 357,9372 -int nrcards;374,9825 -char *HiSax_getrev(382,9972 -void __init HiSaxVersion(396,10164 -#define MAX_ARG 420,10922 -static int __init HiSax_setup(421,10958 -static inline struct IsdnCardState *hisax_findcard(599,14145 -struct IsdnCardState *hisax_get_card(613,14393 -int HiSax_readstatus(621,14563 -int jiftime(660,15531 -static u_char tmpbuf[681,15842 -void VHiSax_putstatus(683,15887 -void HiSax_putstatus(753,17494 -int ll_run(762,17667 -void ll_stop(773,17864 -static void ll_unload(783,18030 -static void closecard(799,18336 -static int init_card(828,18963 -static int checkcard(870,20045 -void HiSax_shiftcards(1190,26812 -int HiSax_inithardware(1198,26958 -void HiSax_closecard(1245,27848 -void HiSax_reportcard(1270,28335 -static int __init HiSax_init(1313,29847 -static void __exit HiSax_exit(1513,34331 -int hisax_init_pcmcia(1527,34566 -int hisax_register(1564,35616 -void hisax_unregister(1610,36673 -static void hisax_sched_event(1619,36870 -static void hisax_bh(1625,37009 -static void hisax_b_sched_event(1645,37521 -static inline void D_L2L1(1651,37659 -static inline void B_L2L1(1657,37810 -static void hisax_d_l1l2(1663,37961 -static void hisax_b_l1l2(1707,39031 -static void hisax_d_l2l1(1754,40240 -static int hisax_cardmsg(1786,41071 -static void hisax_b_l2l1(1791,41157 -static int hisax_bc_setstack(1824,41952 -static void hisax_bc_close(1844,42428 -static void EChannel_proc_rcv(1852,42581 -static struct pci_device_id hisax_pci_tbl[1884,43264 -static struct pci_device_id hisax_pci_tbl[] __initdata 1884,43264 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_2bs0.c,356 -WaitForBusy(21,497 -WaitNoBusy(40,871 -GetFreeFifoBytes(56,1126 -ReadZReg(70,1426 -hfc_clear_fifo(82,1713 -hfc_empty_fifo(143,3574 -hfc_fill_fifo(236,6305 -main_irq_hfc(325,8987 -mode_hfc(398,10873 -hfc_l2l1(452,12202 -close_hfcstate(511,13878 -open_hfcstate(527,14251 -setstack_hfc(541,14564 -init_send(555,14833 -inithfc(569,15105 -releasehfc(583,15449 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481_hdlc.h,171 -#define __ST5481_HDLC_H__14,384 -struct hdlc_vars hdlc_vars16,411 -#define HDLC_FRAMING_ERROR 44,1014 -#define HDLC_CRC_ERROR 45,1047 -#define HDLC_LENGTH_ERROR 46,1080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/jade_irq.c,158 -waitforCEC(14,392 -waitforXFW(28,728 -WriteJADECMDR(34,857 -jade_empty_fifo(43,1009 -jade_fill_fifo(73,1892 -jade_interrupt(114,2878 -jade_int_main(203,5473 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/l3ni1.h,2625 -#define T302 20,599 -#define T303 21,618 -#define T304 22,636 -#define T305 23,655 -#define T308 24,674 -#define T309 27,800 -#define T310 28,819 -#define T313 29,838 -#define T318 30,856 -#define T319 31,874 -#define TSPID 32,892 -#define MT_ALERTING 38,964 -#define MT_CALL_PROCEEDING 39,990 -#define MT_CONNECT 40,1022 -#define MT_CONNECT_ACKNOWLEDGE 41,1047 -#define MT_PROGRESS 42,1083 -#define MT_SETUP 43,1109 -#define MT_SETUP_ACKNOWLEDGE 44,1132 -#define MT_RESUME 45,1166 -#define MT_RESUME_ACKNOWLEDGE 46,1190 -#define MT_RESUME_REJECT 47,1225 -#define MT_SUSPEND 48,1255 -#define MT_SUSPEND_ACKNOWLEDGE 49,1280 -#define MT_SUSPEND_REJECT 50,1316 -#define MT_USER_INFORMATION 51,1347 -#define MT_DISCONNECT 52,1380 -#define MT_RELEASE 53,1408 -#define MT_RELEASE_COMPLETE 54,1433 -#define MT_RESTART 55,1466 -#define MT_RESTART_ACKNOWLEDGE 56,1491 -#define MT_SEGMENT 57,1527 -#define MT_CONGESTION_CONTROL 58,1552 -#define MT_INFORMATION 59,1587 -#define MT_FACILITY 60,1616 -#define MT_NOTIFY 61,1642 -#define MT_STATUS 62,1666 -#define MT_STATUS_ENQUIRY 63,1690 -#define MT_DL_ESTABLISHED 64,1721 -#define IE_SEGMENT 66,1753 -#define IE_BEARER 67,1777 -#define IE_CAUSE 68,1800 -#define IE_CALL_ID 69,1822 -#define IE_CALL_STATE 70,1846 -#define IE_CHANNEL_ID 71,1873 -#define IE_FACILITY 72,1900 -#define IE_PROGRESS 73,1925 -#define IE_NET_FAC 74,1950 -#define IE_NOTIFY 75,1974 -#define IE_DISPLAY 76,1997 -#define IE_DATE 77,2021 -#define IE_KEYPAD 78,2043 -#define IE_SIGNAL 79,2066 -#define IE_SPID 80,2089 -#define IE_ENDPOINT_ID 81,2111 -#define IE_INFORATE 82,2139 -#define IE_E2E_TDELAY 83,2164 -#define IE_TDELAY_SEL 84,2191 -#define IE_PACK_BINPARA 85,2218 -#define IE_PACK_WINSIZE 86,2247 -#define IE_PACK_SIZE 87,2276 -#define IE_CUG 88,2302 -#define IE_REV_CHARGE 89,2323 -#define IE_CONNECT_PN 90,2350 -#define IE_CONNECT_SUB 91,2377 -#define IE_CALLING_PN 92,2405 -#define IE_CALLING_SUB 93,2432 -#define IE_CALLED_PN 94,2460 -#define IE_CALLED_SUB 95,2486 -#define IE_REDIR_NR 96,2513 -#define IE_TRANS_SEL 97,2538 -#define IE_RESTART_IND 98,2564 -#define IE_LLC 99,2592 -#define IE_HLC 100,2613 -#define IE_USER_USER 101,2634 -#define IE_ESCAPE 102,2660 -#define IE_SHIFT 103,2683 -#define IE_MORE_DATA 104,2705 -#define IE_COMPLETE 105,2731 -#define IE_CONGESTION 106,2756 -#define IE_REPEAT 107,2783 -#define IE_MANDATORY 109,2807 -#define IE_MANDATORY_1 111,2869 -#define ERR_IE_COMPREHENSION 113,2900 -#define ERR_IE_UNRECOGNIZED 114,2932 -#define ERR_IE_LENGTH 115,2963 -#define ERR_IE_SEQUENCE 116,2989 - } ni1_proc_priv;ni1_proc_priv128,3481 - } ni1_stk_priv;ni1_stk_priv134,3695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/q931.c,1384 -iecpy(24,578 -struct MessageType MessageType40,808 -} mtlist[43,855 -#define MTSIZE 143,1818 -struct MessageType mt_n0[146,1883 -#define MT_N0_LEN 160,2301 -struct MessageType mt_n1[163,2372 -#define MT_N1_LEN 197,3410 -prbits(201,3486 -skipext(218,3708 -struct CauseValue CauseValue232,3947 -} cvlist[236,4009 -#define CVSIZE 441,7767 -prcause(445,7835 -struct MessageType cause_1tr6[489,8703 -int cause_1tr6_len 519,9927 -prcause_1tr6(522,10011 -prchident(557,10730 -prcalled(569,10909 -prcalling(586,11194 -prbearer(613,11604 -prbearer_ni1(661,12573 -general(718,13759 -general_ni1(745,14201 -prcharge(772,14647 -prtext(789,14965 -prfeatureind(805,15209 -struct DTag DTag841,15851 -} dtaglist[844,15910 -#define DTAGSIZE 868,16566 -disptext_ni1(871,16632 -display(910,17456 -prfacility(939,17895 -struct InformationElement InformationElement969,18427 -} ielist[973,18511 -#define IESIZE 1077,20027 -struct InformationElement ielist_ni1[1080,20099 -#define IESIZE_NI1 1105,21118 -struct InformationElement ielist_ni1_cs5[1108,21198 -#define IESIZE_NI1_CS5 1113,21340 -struct InformationElement ielist_ni1_cs6[1116,21428 -#define IESIZE_NI1_CS6 1120,21522 -static struct InformationElement we_0[1122,21603 -#define WE_0_LEN 1136,22087 -static struct InformationElement we_6[1138,22156 -#define WE_6_LEN 1148,22542 -QuickHex(1151,22615 -LogFrame(1175,22978 -dlogframe(1197,23387 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/l3_1tr6.c,1137 -const char *l3_1tr6_revision 22,555 -#define MsgHead(MsgHead24,612 -l3_1TR6_message(31,737 -l3_1tr6_release_req(44,988 -l3_1tr6_invalid(53,1201 -l3_1tr6_error(62,1364 -l3_1tr6_setup_req(71,1570 -l3_1tr6_setup(160,3604 -l3_1tr6_setup_ack(231,5245 -l3_1tr6_call_sent(259,5903 -l3_1tr6_alert(291,6701 -l3_1tr6_info(302,6939 -l3_1tr6_info_s2(331,7686 -l3_1tr6_connect(339,7814 -l3_1tr6_rel(355,8188 -l3_1tr6_rel_ack(386,8834 -l3_1tr6_disc(399,9108 -l3_1tr6_connect_ack(454,10429 -l3_1tr6_alert_req(470,10805 -l3_1tr6_setup_rsp(477,10954 -l3_1tr6_reset(511,11730 -l3_1tr6_disconnect_req(517,11831 -l3_1tr6_t303(556,12665 -l3_1tr6_t304(570,12935 -l3_1tr6_t305(579,13142 -l3_1tr6_t310(615,13866 -l3_1tr6_t313(624,14073 -l3_1tr6_t308_1(633,14282 -l3_1tr6_t308_2(642,14494 -l3_1tr6_dl_reset(650,14667 -l3_1tr6_dl_release(658,14888 -static struct stateentry downstl[668,15194 -#define DOWNSTL_LEN 701,15994 -static struct stateentry datastln1[704,16064 -#define DATASTLN1_LEN 738,17075 -static struct stateentry manstatelist[741,17149 -#define MANSLLEN 749,17347 -up1tr6(754,17456 -down1tr6(869,20381 -man1tr6(916,21384 -setstack_1tr6(944,22365 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_2bs0.h,980 -#define HFC_CTMT 13,344 -#define HFC_CIRM 14,366 -#define HFC_CIP 15,390 -#define HFC_Z1 16,412 -#define HFC_Z2 17,433 -#define HFC_Z_LOW 18,454 -#define HFC_Z_HIGH 19,477 -#define HFC_F1_INC 20,501 -#define HFC_FIFO_IN 21,525 -#define HFC_F1 22,550 -#define HFC_F2 23,571 -#define HFC_F2_INC 24,592 -#define HFC_FIFO_OUT 25,616 -#define HFC_B1 26,642 -#define HFC_B2 27,671 -#define HFC_REC 28,692 -#define HFC_SEND 29,714 -#define HFC_CHANNEL(HFC_CHANNEL30,736 -#define HFC_STATUS 32,784 -#define HFC_DATA 33,805 -#define HFC_DATA_NODEB 34,824 -#define HFC_BUSY 37,870 -#define HFC_TIMINT 38,892 -#define HFC_EXTINT 39,916 -#define HFC_CLTIMER 42,960 -#define HFC_TIM50MS 43,985 -#define HFC_TIMIRQE 44,1010 -#define HFC_TRANSB2 45,1035 -#define HFC_TRANSB1 46,1060 -#define HFC_RESET 49,1105 -#define HFC_MEM8K 50,1130 -#define HFC_INTA 51,1153 -#define HFC_INTB 52,1175 -#define HFC_INTC 53,1197 -#define HFC_INTD 54,1219 -#define HFC_INTE 55,1241 -#define HFC_INTF 56,1263 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/bkm_ax.h,1403 -#define __BKM_AX_H__14,404 -#define SCT_1 17,460 -#define SCT_2 18,477 -#define SCT_3 19,494 -#define SCT_4 20,511 -#define BKM_A4T 21,528 -#define PLX_ADDR_PLX 23,548 -#define PLX_ADDR_ISAC 24,604 -#define PLX_ADDR_HSCX 25,648 -#define PLX_ADDR_ALE 26,692 -#define PLX_ADDR_ALEPLUS 27,734 -#define PLX_SUBVEN 29,792 -#define PLX_SUBSYS 30,840 -#define sysRESET 57,1997 -#define sysCFG 59,2103 -#define guestWAIT_CFG 62,2264 -#define guestISDN_INT_E 63,2323 -#define guestVID_INT_E 64,2382 -#define guestADI1_INT_R 65,2448 -#define guestADI2_INT_R 66,2510 -#define guestISDN_RES 67,2572 -#define guestADI1_INT_S 68,2633 -#define guestADI2_INT_S 69,2699 -#define guestISDN_INT_S 70,2765 -#define g_A4T_JADE_RES 72,2830 -#define g_A4T_ISAR_RES 73,2888 -#define g_A4T_ISAC_RES 74,2946 -#define g_A4T_JADE_BOOTR 75,3004 -#define g_A4T_ISAR_BOOTR 76,3083 -#define g_A4T_JADE_INT_S 77,3162 -#define g_A4T_ISAR_INT_S 78,3229 -#define g_A4T_ISAC_INT_S 79,3296 -#define intISDN 87,3608 -#define intVID 88,3668 -#define intCOD 89,3727 -#define intPCI 90,3786 -} I20_REGISTER_FILE, *PI20_REGISTER_FILE;PI20_REGISTER_FILE93,3897 -#define PO_OFFSET 99,3982 -#define GCS_0 101,4046 -#define GCS_1 102,4102 -#define GCS_2 103,4128 -#define GCS_3 104,4154 -#define PO_READ 106,4181 -#define PO_WRITE 107,4237 -#define PO_PEND 109,4266 -#define POSTOFFICE(POSTOFFICE111,4295 -#define __WAITI20__(__WAITI20__114,4410 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/sportster.c,799 -const char *sportster_revision 22,572 -#define byteout(byteout24,631 -#define bytein(bytein25,672 -#define SPORTSTER_ISAC 27,704 -#define SPORTSTER_HSCXA 28,736 -#define SPORTSTER_HSCXB 29,768 -#define SPORTSTER_RES_IRQ 30,800 -#define SPORTSTER_RESET 31,834 -#define SPORTSTER_INTE 32,864 -calc_off(35,913 -read_fifo(41,1035 -write_fifo(47,1129 -ReadISAC(55,1254 -WriteISAC(61,1374 -ReadISACfifo(67,1508 -WriteISACfifo(73,1630 -ReadHSCX(79,1756 -WriteHSCX(85,1892 -#define READHSCX(READHSCX94,2077 -#define WRITEHSCX(WRITEHSCX95,2150 -#define READHSCXFIFO(READHSCXFIFO96,2237 -#define WRITEHSCXFIFO(WRITEHSCXFIFO97,2317 -sportster_interrupt(102,2442 -release_io_sportster(136,3259 -reset_sportster(148,3474 -Sportster_card_msg(159,3810 -get_io_range(188,4496 -setup_sportster(213,4949 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/l3dss1.h,2493 -#define T302 12,278 -#define T303 13,297 -#define T304 14,315 -#define T305 15,334 -#define T308 16,353 -#define T309 19,479 -#define T310 20,498 -#define T313 21,517 -#define T318 22,535 -#define T319 23,553 -#define MT_ALERTING 29,597 -#define MT_CALL_PROCEEDING 30,623 -#define MT_CONNECT 31,655 -#define MT_CONNECT_ACKNOWLEDGE 32,680 -#define MT_PROGRESS 33,716 -#define MT_SETUP 34,742 -#define MT_SETUP_ACKNOWLEDGE 35,765 -#define MT_RESUME 36,799 -#define MT_RESUME_ACKNOWLEDGE 37,823 -#define MT_RESUME_REJECT 38,858 -#define MT_SUSPEND 39,888 -#define MT_SUSPEND_ACKNOWLEDGE 40,913 -#define MT_SUSPEND_REJECT 41,949 -#define MT_USER_INFORMATION 42,980 -#define MT_DISCONNECT 43,1013 -#define MT_RELEASE 44,1041 -#define MT_RELEASE_COMPLETE 45,1066 -#define MT_RESTART 46,1099 -#define MT_RESTART_ACKNOWLEDGE 47,1124 -#define MT_SEGMENT 48,1160 -#define MT_CONGESTION_CONTROL 49,1185 -#define MT_INFORMATION 50,1220 -#define MT_FACILITY 51,1249 -#define MT_NOTIFY 52,1275 -#define MT_STATUS 53,1299 -#define MT_STATUS_ENQUIRY 54,1323 -#define IE_SEGMENT 56,1355 -#define IE_BEARER 57,1379 -#define IE_CAUSE 58,1402 -#define IE_CALL_ID 59,1424 -#define IE_CALL_STATE 60,1448 -#define IE_CHANNEL_ID 61,1475 -#define IE_FACILITY 62,1502 -#define IE_PROGRESS 63,1527 -#define IE_NET_FAC 64,1552 -#define IE_NOTIFY 65,1576 -#define IE_DISPLAY 66,1599 -#define IE_DATE 67,1623 -#define IE_KEYPAD 68,1645 -#define IE_SIGNAL 69,1668 -#define IE_INFORATE 70,1691 -#define IE_E2E_TDELAY 71,1716 -#define IE_TDELAY_SEL 72,1743 -#define IE_PACK_BINPARA 73,1770 -#define IE_PACK_WINSIZE 74,1799 -#define IE_PACK_SIZE 75,1828 -#define IE_CUG 76,1854 -#define IE_REV_CHARGE 77,1875 -#define IE_CONNECT_PN 78,1902 -#define IE_CONNECT_SUB 79,1929 -#define IE_CALLING_PN 80,1957 -#define IE_CALLING_SUB 81,1984 -#define IE_CALLED_PN 82,2012 -#define IE_CALLED_SUB 83,2038 -#define IE_REDIR_NR 84,2065 -#define IE_TRANS_SEL 85,2090 -#define IE_RESTART_IND 86,2116 -#define IE_LLC 87,2144 -#define IE_HLC 88,2165 -#define IE_USER_USER 89,2186 -#define IE_ESCAPE 90,2212 -#define IE_SHIFT 91,2235 -#define IE_MORE_DATA 92,2257 -#define IE_COMPLETE 93,2283 -#define IE_CONGESTION 94,2308 -#define IE_REPEAT 95,2335 -#define IE_MANDATORY 97,2359 -#define IE_MANDATORY_1 99,2421 -#define ERR_IE_COMPREHENSION 101,2452 -#define ERR_IE_UNRECOGNIZED 102,2484 -#define ERR_IE_LENGTH 103,2515 -#define ERR_IE_SEQUENCE 104,2541 - } dss1_proc_priv;dss1_proc_priv116,3035 - } dss1_stk_priv;dss1_stk_priv122,3250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/amd7930_fn.h,388 -#define BYTE 17,360 -#define WORD 18,393 -#define rByteAMD(rByteAMD19,425 -#define wByteAMD(wByteAMD20,477 -#define rWordAMD(rWordAMD21,540 -#define wWordAMD(wWordAMD22,595 -#define HIBYTE(HIBYTE23,661 -#define LOBYTE(LOBYTE24,722 -#define AmdIrqOff(AmdIrqOff26,776 -#define AmdIrqOn(AmdIrqOn27,836 -#define AMD_CR 29,896 -#define AMD_DR 30,917 -#define DBUSY_TIMER_VALUE 33,940 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/avm_a1.c,653 -static const char *avm_revision 20,483 -#define AVM_A1_STAT_ISAC 22,543 -#define AVM_A1_STAT_HSCX 23,574 -#define AVM_A1_STAT_TIMER 24,605 -#define byteout(byteout26,638 -#define bytein(bytein27,679 -readreg(30,732 -writereg(36,823 -read_fifo(43,927 -write_fifo(49,1021 -ReadISAC(57,1146 -WriteISAC(63,1257 -ReadISACfifo(69,1382 -WriteISACfifo(75,1508 -ReadHSCX(81,1638 -WriteHSCX(87,1765 -#define READHSCX(READHSCX96,1941 -#define WRITEHSCX(WRITEHSCX97,2005 -#define READHSCXFIFO(READHSCXFIFO98,2083 -#define WRITEHSCXFIFO(WRITEHSCXFIFO99,2167 -avm_a1_interrupt(104,2296 -release_ioregs(139,3353 -AVM_card_msg(157,3826 -setup_avm_a1(182,4316 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/netjet.c,715 -const char *NETjet_revision 28,733 -NETjet_ReadIC(33,823 -NETjet_WriteIC(45,1083 -NETjet_ReadICfifo(54,1331 -NETjet_WriteICfifo(62,1520 -void fill_mem(69,1705 -mode_tiger(89,2045 -static void printframe(168,4880 -#define MAKE_RAW_BYTE 191,5263 -static int make_raw_data(218,5743 -#define MAKE_RAW_BYTE_56K 277,7039 -static int make_raw_data_56k(308,7599 -static void got_frame(382,9149 -static void read_raw(400,9618 -void read_tiger(577,13838 -void netjet_fill_dma(609,14854 -static void write_raw(676,16618 -void write_tiger(766,19425 -tiger_l2l1(795,20391 -close_tigerstate(856,22233 -open_tigerstate(879,22773 -setstack_tiger(904,23437 -inittiger(919,23714 -releasetiger(970,25893 -release_io_netjet(989,26291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/teles3.c,853 -const char *teles3_revision 24,602 -#define byteout(byteout26,658 -#define bytein(bytein27,699 -readreg(30,752 -writereg(36,843 -read_fifo(43,947 -write_fifo(49,1041 -ReadISAC(57,1166 -WriteISAC(63,1280 -ReadISACfifo(69,1408 -WriteISACfifo(75,1537 -ReadHSCX(81,1670 -WriteHSCX(87,1800 -#define READHSCX(READHSCX96,1979 -#define WRITEHSCX(WRITEHSCX97,2046 -#define READHSCXFIFO(READHSCXFIFO98,2127 -#define WRITEHSCXFIFO(WRITEHSCXFIFO99,2214 -teles3_interrupt(104,2346 -#define MAXCOUNT 106,2412 -release_ioregs(147,3620 -release_io_teles3(158,3873 -reset_teles3(175,4247 -Teles_card_msg(231,5365 -static struct isapnp_device_id teles_ids[257,5868 -static struct isapnp_device_id teles_ids[] __initdata 257,5868 -static struct isapnp_device_id *ipid __initdata 270,6402 -static struct pnp_card *pnp_c __devinitdata 271,6467 -setup_teles3(275,6541 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/ipacx.h,3824 -#define INCLUDE_IPACX_H13,251 -#define IPACX_RFIFOD 16,304 -#define IPACX_XFIFOD 17,355 -#define IPACX_ISTAD 18,406 -#define IPACX_MASKD 19,457 -#define IPACX_STARD 20,508 -#define IPACX_CMDRD 21,559 -#define IPACX_MODED 22,610 -#define IPACX_EXMD1 23,661 -#define IPACX_TIMR1 24,712 -#define IPACX_SAP1 25,763 -#define IPACX_SAP2 26,814 -#define IPACX_RBCLD 27,865 -#define IPACX_RBCHD 28,916 -#define IPACX_TEI1 29,967 -#define IPACX_TEI2 30,1018 -#define IPACX_RSTAD 31,1069 -#define IPACX_TMD 32,1120 -#define IPACX_CIR0 33,1171 -#define IPACX_CIX0 34,1222 -#define IPACX_CIR1 35,1273 -#define IPACX_CIX1 36,1324 -#define IPACX_TR_CONF0 39,1407 -#define IPACX_TR_CONF1 40,1458 -#define IPACX_TR_CONF2 41,1509 -#define IPACX_TR_STA 42,1560 -#define IPACX_TR_CMD 43,1611 -#define IPACX_SQRR1 44,1662 -#define IPACX_SQXR1 45,1713 -#define IPACX_SQRR2 46,1764 -#define IPACX_SQXR2 47,1815 -#define IPACX_SQRR3 48,1866 -#define IPACX_SQXR3 49,1917 -#define IPACX_ISTATR 50,1968 -#define IPACX_MASKTR 51,2019 -#define IPACX_TR_MODE 52,2070 -#define IPACX_ACFG1 53,2121 -#define IPACX_ACFG2 54,2172 -#define IPACX_AOE 55,2223 -#define IPACX_ARX 56,2274 -#define IPACX_ATX 57,2325 -#define IPACX_CDA10 60,2408 -#define IPACX_CDA11 61,2459 -#define IPACX_CDA20 62,2510 -#define IPACX_CDA21 63,2561 -#define IPACX_CDA_TSDP10 64,2612 -#define IPACX_CDA_TSDP11 65,2663 -#define IPACX_CDA_TSDP20 66,2714 -#define IPACX_CDA_TSDP21 67,2765 -#define IPACX_BCHA_TSDP_BC1 68,2816 -#define IPACX_BCHA_TSDP_BC2 69,2867 -#define IPACX_BCHB_TSDP_BC1 70,2918 -#define IPACX_BCHB_TSDP_BC2 71,2969 -#define IPACX_TR_TSDP_BC1 72,3020 -#define IPACX_TR_TSDP_BC2 73,3071 -#define IPACX_CDA1_CR 74,3122 -#define IPACX_CDA2_CR 75,3173 -#define IPACX_TR_CR 78,3270 -#define IPACX_TRC_CR 79,3321 -#define IPACX_BCHA_CR 80,3372 -#define IPACX_BCHB_CR 81,3423 -#define IPACX_DCI_CR 82,3474 -#define IPACX_DCIC_CR 83,3525 -#define IPACX_MON_CR 84,3576 -#define IPACX_SDS1_CR 85,3627 -#define IPACX_SDS2_CR 86,3678 -#define IPACX_IOM_CR 87,3729 -#define IPACX_STI 88,3780 -#define IPACX_ASTI 89,3831 -#define IPACX_MSTI 90,3882 -#define IPACX_SDS_CONF 91,3933 -#define IPACX_MCDA 92,3984 -#define IPACX_MOR 93,4035 -#define IPACX_MOX 94,4086 -#define IPACX_MOSR 95,4137 -#define IPACX_MOCR 96,4188 -#define IPACX_MSTA 97,4239 -#define IPACX_MCONF 98,4290 -#define IPACX_ISTA 101,4380 -#define IPACX_MASK 102,4431 -#define IPACX_AUXI 103,4482 -#define IPACX_AUXM 104,4533 -#define IPACX_MODE1 105,4584 -#define IPACX_MODE2 106,4635 -#define IPACX_ID 107,4686 -#define IPACX_SRES 108,4737 -#define IPACX_TIMR2 109,4788 -#define IPACX_OFF_B1 112,4866 -#define IPACX_OFF_B2 113,4899 -#define IPACX_ISTAB 115,4933 -#define IPACX_MASKB 116,4984 -#define IPACX_STARB 117,5035 -#define IPACX_CMDRB 118,5086 -#define IPACX_MODEB 119,5137 -#define IPACX_EXMB 120,5188 -#define IPACX_RAH1 121,5239 -#define IPACX_RAH2 122,5290 -#define IPACX_RBCLB 123,5341 -#define IPACX_RBCHB 124,5392 -#define IPACX_RAL1 125,5443 -#define IPACX_RAL2 126,5494 -#define IPACX_RSTAB 127,5545 -#define IPACX_TMB 128,5596 -#define IPACX_RFIFOB 129,5647 -#define IPACX_XFIFOB 130,5698 -#define IPACX_CMD_TIM 133,5773 -#define IPACX_CMD_RES 134,5802 -#define IPACX_CMD_SSP 135,5831 -#define IPACX_CMD_SCP 136,5860 -#define IPACX_CMD_AR8 137,5889 -#define IPACX_CMD_AR10 138,5918 -#define IPACX_CMD_ARL 139,5947 -#define IPACX_CMD_DI 140,5976 -#define IPACX_IND_DR 143,6032 -#define IPACX_IND_RES 144,6061 -#define IPACX_IND_TMA 145,6090 -#define IPACX_IND_SLD 146,6119 -#define IPACX_IND_RSY 147,6148 -#define IPACX_IND_DR6 148,6177 -#define IPACX_IND_PU 149,6206 -#define IPACX_IND_AR 150,6235 -#define IPACX_IND_ARL 151,6264 -#define IPACX_IND_CVR 152,6293 -#define IPACX_IND_AI8 153,6322 -#define IPACX_IND_AI10 154,6351 -#define IPACX_IND_AIL 155,6380 -#define IPACX_IND_DC 156,6409 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/arcofi.h,237 -#define ARCOFI_USE 13,329 -#define ARCOFI_NOP 16,364 -#define ARCOFI_TRANSMIT 17,385 -#define ARCOFI_RECEIVE 18,411 -#define ARCOFI_START 20,449 -#define ARCOFI_TX_END 21,472 -#define ARCOFI_RX_END 22,496 -#define ARCOFI_TIMEOUT 23,520 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hscx.h,546 -#define HSCX_ISTA 15,370 -#define HSCX_CCR1 16,393 -#define HSCX_CCR2 17,416 -#define HSCX_TSAR 18,439 -#define HSCX_TSAX 19,462 -#define HSCX_XCCR 20,485 -#define HSCX_RCCR 21,508 -#define HSCX_MODE 22,531 -#define HSCX_CMDR 23,554 -#define HSCX_EXIR 24,577 -#define HSCX_XAD1 25,600 -#define HSCX_XAD2 26,623 -#define HSCX_RAH2 27,646 -#define HSCX_RSTA 28,669 -#define HSCX_TIMR 29,692 -#define HSCX_STAR 30,715 -#define HSCX_RBCL 31,738 -#define HSCX_XBCH 32,761 -#define HSCX_VSTR 33,784 -#define HSCX_RLCR 34,807 -#define HSCX_MASK 35,830 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/nj_u.c,255 -const char *NETjet_U_revision 18,416 -static u_char dummyrr(20,474 -static void dummywr(25,561 -netjet_u_interrupt(30,667 -reset_netjet_u(85,2376 -NETjet_U_card_msg(103,3003 -static struct pci_dev *dev_netjet __initdata 132,3617 -setup_netjet_u(135,3682 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481_b.c,386 -static inline void B_L1L2(19,479 -static void usb_b_out(29,678 -static void st5481B_start_xfer(129,3613 -static void led_blink(146,3951 -static void usb_b_out_complete(164,4285 -static void st5481B_mode(195,5039 -static int st5481_setup_b_out(257,6702 -static void st5481_release_b_out(287,7689 -int st5481_setup_b(296,7847 -void st5481_release_b(328,8515 -void st5481_b_l2l1(345,9066 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnl3.h,326 -#define SBIT(SBIT8,208 -#define ALL_STATES 9,239 -#define PROTO_DIS_EURO 11,271 -#define L3_DEB_WARN 13,300 -#define L3_DEB_PROTERR 14,325 -#define L3_DEB_STATE 15,353 -#define L3_DEB_CHARGE 16,379 -#define L3_DEB_CHECK 17,406 -#define L3_DEB_SI 18,432 -struct stateentry stateentry20,456 -#define l3_debug(l3_debug26,557 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnhdlc.h,178 -#define __ISDNHDLC_H__28,1198 -struct isdnhdlc_vars isdnhdlc_vars30,1222 -#define HDLC_FRAMING_ERROR 56,1831 -#define HDLC_CRC_ERROR 57,1864 -#define HDLC_LENGTH_ERROR 58,1897 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_isac.h,142 -#define __HISAX_ISAC_H__2,25 -#define TIMER3_VALUE 8,117 -#define MAX_DFRAME_LEN_L1 9,143 -#define ISAC_IOM1 11,174 -struct isac isac13,195 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/diva.c,2995 -const char *Diva_revision 31,748 -#define byteout(byteout33,802 -#define bytein(bytein34,843 -#define DIVA_HSCX_DATA 36,875 -#define DIVA_HSCX_ADR 37,901 -#define DIVA_ISA_ISAC_DATA 38,926 -#define DIVA_ISA_ISAC_ADR 39,955 -#define DIVA_ISA_CTRL 40,983 -#define DIVA_IPAC_ADR 41,1008 -#define DIVA_IPAC_DATA 42,1033 -#define DIVA_PCI_ISAC_DATA 44,1060 -#define DIVA_PCI_ISAC_ADR 45,1089 -#define DIVA_PCI_CTRL 46,1119 -#define DIVA_ISA 49,1164 -#define DIVA_PCI 50,1183 -#define DIVA_IPAC_ISA 51,1202 -#define DIVA_IPAC_PCI 52,1226 -#define DIVA_IPACX_PCI 53,1250 -#define DIVA_IRQ_STAT 56,1294 -#define DIVA_EEPROM_SDA 57,1321 -#define DIVA_IRQ_REQ 60,1370 -#define DIVA_RESET 61,1396 -#define DIVA_EEPROM_CLK 62,1420 -#define DIVA_PCI_LED_A 63,1449 -#define DIVA_PCI_LED_B 64,1477 -#define DIVA_ISA_LED_A 65,1505 -#define DIVA_ISA_LED_B 66,1533 -#define DIVA_IRQ_CLR 67,1561 -#define PITA_MISC_REG 70,1607 -#define PITA_PARA_SOFTRESET 72,1655 -#define PITA_SER_SOFTRESET 73,1694 -#define PITA_PARA_MPX_MODE 74,1732 -#define PITA_INT0_ENABLE 75,1770 -#define PITA_PARA_SOFTRESET 77,1812 -#define PITA_SER_SOFTRESET 78,1851 -#define PITA_PARA_MPX_MODE 79,1889 -#define PITA_INT0_ENABLE 80,1927 -#define PITA_INT0_STATUS 82,1970 -readreg(85,2022 -readfifo(95,2180 -writereg(103,2331 -writefifo(110,2466 -memreadreg(117,2619 -memwritereg(124,2748 -ReadISAC(135,2938 -WriteISAC(141,3071 -ReadISACfifo(147,3219 -WriteISACfifo(153,3365 -ReadISAC_IPAC(159,3515 -WriteISAC_IPAC(165,3659 -ReadISACfifo_IPAC(171,3817 -WriteISACfifo_IPAC(177,3972 -ReadHSCX(183,4131 -WriteHSCX(190,4296 -MemReadISAC_IPAC(197,4478 -MemWriteISAC_IPAC(203,4609 -MemReadISACfifo_IPAC(209,4754 -MemWriteISACfifo_IPAC(216,4909 -MemReadHSCX(223,5067 -MemWriteHSCX(229,5217 -MemReadISAC_IPACX(236,5424 -MemWriteISAC_IPACX(242,5551 -MemReadISACfifo_IPACX(248,5692 -MemWriteISACfifo_IPACX(255,5845 -MemReadHSCX_IPACX(262,6001 -MemWriteHSCX_IPACX(269,6197 -#define READHSCX(READHSCX279,6437 -#define WRITEHSCX(WRITEHSCX281,6542 -#define READHSCXFIFO(READHSCXFIFO284,6676 -#define WRITEHSCXFIFO(WRITEHSCXFIFO287,6796 -diva_interrupt(293,6960 -diva_irq_ipac_isa(323,8005 -MemwaitforCEC(370,9215 -MemwaitforXFW(384,9452 -MemWriteHSCXCMDR(397,9699 -Memhscx_empty_fifo(404,9850 -Memhscx_fill_fifo(438,10807 -Memhscx_interrupt(480,11855 -Memhscx_int_main(570,14404 -diva_irq_ipac_pci(634,16110 -diva_irq_ipacx_pci(689,17471 -release_io_diva(710,17997 -reset_diva(738,18703 -#define DIVA_ASSIGN 780,20141 -diva_led_handler(783,20176 -Diva_card_msg(820,21207 -static struct pci_dev *dev_diva __initdata 891,22928 -static struct pci_dev *dev_diva_u __initdata 892,22979 -static struct pci_dev *dev_diva201 __initdata 893,23032 -static struct pci_dev *dev_diva202 __initdata 894,23086 -static struct isapnp_device_id diva_ids[897,23159 -static struct isapnp_device_id diva_ids[] __initdata 897,23159 -static struct isapnp_device_id *ipid __initdata 919,24112 -static struct pnp_card *pnp_c __devinitdata 920,24176 -setup_diva(925,24248 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/ipac.h,390 -#define IPAC_CONF 15,370 -#define IPAC_MASK 16,393 -#define IPAC_ISTA 17,416 -#define IPAC_ID 18,439 -#define IPAC_ACFG 19,461 -#define IPAC_AOE 20,484 -#define IPAC_ARX 21,506 -#define IPAC_ATX 22,528 -#define IPAC_PITA1 23,550 -#define IPAC_PITA2 24,574 -#define IPAC_POTA1 25,598 -#define IPAC_POTA2 26,622 -#define IPAC_PCFG 27,646 -#define IPAC_SCFG 28,669 -#define IPAC_TIMR2 29,692 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnl1.h,343 -#define D_RCVBUFREADY 10,232 -#define D_XMTBUFREADY 11,256 -#define D_L1STATECHANGE 12,280 -#define D_CLEARBUSY 13,306 -#define D_RX_MON0 14,328 -#define D_RX_MON1 15,348 -#define D_TX_MON0 16,368 -#define D_TX_MON1 17,388 -#define E_RCVBUFREADY 18,408 -#define B_RCVBUFREADY 20,433 -#define B_XMTBUFREADY 21,457 -#define B_ACKPENDING 22,481 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/callc.c,3108 -const char *lli_revision 24,596 -static struct Fsm callcfsm;32,811 -static int chancount;33,839 -#define ALERT_REJECT 36,937 -#define DEFAULT_B_DELAY 47,1439 -#define FLG_START_B 51,1516 -hisax_findcard(57,1617 -link_debug(69,1822 - ST_NULL,82,2088 - ST_OUT_DIAL,83,2117 - ST_IN_WAIT_LL,84,2180 - ST_IN_ALERT_SENT,85,2250 - ST_IN_WAIT_CONN_ACK,86,2313 - ST_WAIT_BCONN,87,2385 - ST_ACTIVE,88,2470 - ST_WAIT_BRELEASE,89,2528 - ST_WAIT_BREL_DISC,90,2611 - ST_WAIT_DCOMMAND,91,2689 - ST_WAIT_DRELEASE,92,2767 - ST_WAIT_D_REL_CNF,93,2829 - ST_IN_PROCEED_SEND,94,2897 -#define STATE_COUNT 98,2966 -static char *strState[100,3012 - EV_DIAL,118,3304 - EV_SETUP_CNF,119,3324 - EV_ACCEPTB,120,3349 - EV_DISCONNECT_IND,121,3372 - EV_RELEASE,122,3401 - EV_LEASED,123,3425 - EV_LEASED_REL,124,3447 - EV_SETUP_IND,125,3473 - EV_ACCEPTD,126,3498 - EV_SETUP_CMPL_IND,127,3521 - EV_BC_EST,128,3550 - EV_WRITEBUF,129,3572 - EV_HANGUP,130,3596 - EV_BC_REL,131,3618 - EV_CINF,132,3640 - EV_SUSPEND,133,3660 - EV_RESUME,134,3683 - EV_NOSETUP_RSP,135,3705 - EV_SETUP_ERR,136,3732 - EV_CONNECT_ERR,137,3757 - EV_PROCEED,138,3784 - EV_ALERT,139,3807 - EV_REDIR,140,3829 -#define EVENT_COUNT 143,3855 -static char *strEvent[145,3891 -HL_LL(174,4305 -lli_deliver_cause(185,4495 -lli_close(206,5027 -lli_leased_in(216,5237 -lli_init_bchan_out(251,6176 -lli_prep_dialout(264,6512 -lli_resume(282,7024 -lli_go_active(300,7531 -lli_deliver_call(329,8120 -lli_send_dconnect(394,10430 -lli_send_alert(403,10660 -lli_send_redir(412,10886 -lli_init_bchan_in(420,11070 -lli_setup_rsp(435,11478 -lli_suspend(453,11897 -lli_leased_hup(463,12101 -lli_disconnect_req(479,12447 -lli_disconnect_reject(495,12829 -lli_dhup_close(511,13207 -lli_reject_req(527,13524 -lli_disconn_bchan(548,14087 -lli_start_disc(558,14331 -lli_rel_b_disc(570,14547 -lli_bhup_disc(579,14716 -lli_bhup_rel_b(590,14954 -lli_release_bchan(603,15243 -lli_rel_b_dhup(614,15489 -lli_bhup_dhup(623,15658 -lli_abort(634,15895 -lli_release_req(644,16125 -lli_rel_b_release_req(658,16421 -lli_bhup_release_req(667,16598 -lli_charge_info(680,16880 -lli_dchan_not_ready(695,17208 -lli_no_setup_rsp(705,17419 -lli_error(716,17643 -lli_failure_l(722,17751 -lli_rel_b_fail(739,18194 -lli_bhup_fail(748,18362 -lli_failure_a(759,18599 -static struct FsmNode fnlist[769,18839 -static struct FsmNode fnlist[] __initdata 769,18839 -#define FNCOUNT 837,23380 -CallcNew(840,23448 -CallcFree(850,23653 -release_b_st(856,23707 -*selectfreechannel(878,24201 -static void stat_redir_result(915,24877 -dchan_l3l4(926,25137 -dummy_pstack(1011,27318 -init_PStack(1016,27463 -init_d_st(1036,27995 -callc_debug(1074,28893 -init_chan(1087,29153 -CallcNewChan(1122,29966 -release_d_st(1149,30574 -CallcFreeChan(1163,30796 -lldata_handler(1186,31427 -lltrans_handler(1218,32252 -lli_writewakeup(1250,33077 -init_b_st(1265,33407 -leased_l4l3(1337,35405 -leased_l1l2(1360,35922 -distr_debug(1394,36678 -static char tmpbuf[1419,37504 -capi_debug(1422,37542 -lli_got_fac_req(1433,37773 -lli_got_manufacturer(1458,38410 -set_channel_limit(1472,38899 -HiSax_command(1497,39410 -HiSax_writebuf_skb(1742,47470 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/avm_a1p.c,1271 -#define ADDRREG_OFFSET 23,530 -#define DATAREG_OFFSET 24,559 -#define ASL0_OFFSET 25,588 -#define ASL1_OFFSET 26,614 -#define MODREG_OFFSET 27,640 -#define VERREG_OFFSET 28,668 -#define ISAC_FIFO_OFFSET 31,719 -#define ISAC_REG_OFFSET 32,749 -#define HSCX_CH_DIFF 33,779 -#define HSCX_FIFO_OFFSET 34,806 -#define HSCX_REG_OFFSET 35,836 -#define ASL0_R_TIMER 38,888 -#define ASL0_R_ISAC 39,933 -#define ASL0_R_HSCX 40,977 -#define ASL0_R_TESTBIT 41,1021 -#define ASL0_R_IRQPENDING 42,1051 -#define ASL0_W_RESET 45,1140 -#define ASL0_W_TDISABLE 46,1168 -#define ASL0_W_TRESET 47,1198 -#define ASL0_W_IRQENABLE 48,1227 -#define ASL0_W_TESTBIT 49,1258 -#define ASL1_W_LED0 52,1311 -#define ASL1_W_LED1 53,1338 -#define ASL1_W_ENABLE_S0 54,1365 -#define byteout(byteout56,1398 -#define bytein(bytein57,1439 -static const char *avm_revision 59,1471 -ReadISAC(62,1551 -WriteISAC(73,1808 -ReadISACfifo(81,2048 -WriteISACfifo(88,2252 -ReadHSCX(95,2460 -WriteHSCX(107,2735 -ReadHSCXfifo(116,3000 -WriteHSCXfifo(124,3236 -#define READHSCX(READHSCX135,3502 -#define WRITEHSCX(WRITEHSCX136,3554 -#define READHSCXFIFO(READHSCXFIFO137,3620 -#define WRITEHSCXFIFO(WRITEHSCXFIFO138,3691 -avm_a1p_interrupt(143,3806 -AVM_card_msg(175,4668 -setup_avm_a1_pcmcia(217,5714 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_if.h,607 -#define __HISAX_IF_H__14,364 -#define REQUEST 18,415 -#define CONFIRM 19,434 -#define INDICATION 20,453 -#define RESPONSE 21,474 -#define PH_ACTIVATE 23,494 -#define PH_DEACTIVATE 24,521 -#define PH_DATA 25,550 -#define PH_PULL 26,574 -#define PH_DATA_E 27,598 -#define L1_MODE_NULL 29,624 -#define L1_MODE_TRANS 30,647 -#define L1_MODE_HDLC 31,671 -#define L1_MODE_EXTRN 32,694 -#define L1_MODE_HDLC_56K 33,718 -#define L1_MODE_MODEM 34,745 -#define L1_MODE_V32 35,769 -#define L1_MODE_FAX 36,791 -struct hisax_if hisax_if38,814 -struct hisax_b_if hisax_b_if44,976 -struct hisax_d_if hisax_d_if51,1066 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481.h,4902 -#define _ST5481_H_14,377 -#define ST_VENDOR_ID 20,482 -#define ST5481_PRODUCT_ID 21,510 -#define ST5481_PRODUCT_ID_MASK 22,543 -#define EP_CTRL 27,707 -#define EP_INT 28,754 -#define EP_B1_OUT 29,803 -#define EP_B1_IN 30,848 -#define EP_B2_OUT 31,892 -#define EP_B2_IN 32,937 -#define EP_D_OUT 33,981 -#define EP_D_IN 34,1025 -#define NUM_ISO_PACKETS_D 39,1169 -#define NUM_ISO_PACKETS_B 40,1203 -#define SIZE_ISO_PACKETS_D_IN 46,1407 -#define SIZE_ISO_PACKETS_D_OUT 47,1441 -#define SIZE_ISO_PACKETS_B_IN 48,1474 -#define SIZE_ISO_PACKETS_B_OUT 49,1508 -#define B_FLOW_ADJUST 52,1605 -#define LBA 57,1717 -#define SET_DEFAULT 58,1753 -#define LBB 59,1796 -#define STT 60,1844 -#define SDA_MIN 61,1898 -#define SDA_MAX 62,1949 -#define SDELAY_VALUE 63,2000 -#define IN_D_COUNTER 64,2063 -#define OUT_D_COUNTER 65,2127 -#define IN_B1_COUNTER 66,2193 -#define OUT_B1_COUNTER 67,2259 -#define IN_B2_COUNTER 68,2327 -#define OUT_B2_COUNTER 69,2393 -#define FFCTRL_IN_D 70,2461 -#define FFCTRH_IN_D 71,2530 -#define FFCTRL_OUT_D 72,2600 -#define FFCTRH_OUT_D 73,2671 -#define FFCTRL_IN_B1 74,2743 -#define FFCTRH_IN_B1 75,2814 -#define FFCTRL_OUT_B1 76,2886 -#define FFCTRH_OUT_B1 77,2959 -#define FFCTRL_IN_B2 78,3033 -#define FFCTRH_IN_B2 79,3104 -#define FFCTRL_OUT_B2 80,3176 -#define FFCTRH_OUT_B2 81,3249 -#define MPMSK 82,3323 -#define FFMSK_D 83,3388 -#define FFMSK_B1 84,3448 -#define FFMSK_B2 85,3509 -#define GPIO_DIR 86,3570 -#define GPIO_OUT 87,3629 -#define GPIO_IN 88,3684 -#define TXCI 89,3739 -#define MPINT 100,4071 -#define FFINT_D 101,4089 -#define FFINT_B1 102,4109 -#define FFINT_B2 103,4129 -#define CCIST 104,4149 -#define GPIO_INT 105,4167 -#define INT_PKT_SIZE 106,4187 -#define LSD_INT 109,4231 -#define RXCI_INT 110,4299 -#define DEN_INT 111,4355 -#define DCOLL_INT 112,4422 -#define AMIVN_INT 113,4472 -#define INFOI_INT 114,4533 -#define DRXON_INT 115,4577 -#define GPCHG_INT 116,4645 -#define IN_OVERRUN 119,4723 -#define OUT_UNDERRUN 120,4770 -#define IN_UP 121,4821 -#define IN_DOWN 122,4878 -#define OUT_UP 123,4939 -#define OUT_DOWN 124,4998 -#define IN_COUNTER_ZEROED 125,5060 -#define OUT_COUNTER_ZEROED 126,5123 -#define ANY_REC_INT 128,5189 -#define ANY_XMIT_INT 129,5254 -#define ST5481_CMD_DR 133,5391 -#define ST5481_CMD_RES 134,5446 -#define ST5481_CMD_TM1 135,5501 -#define ST5481_CMD_TM2 136,5548 -#define ST5481_CMD_PUP 137,5595 -#define ST5481_CMD_AR8 138,5639 -#define ST5481_CMD_AR10 139,5701 -#define ST5481_CMD_ARL 140,5764 -#define ST5481_CMD_PDN 141,5827 -#define B1_LED 145,5983 -#define B2_LED 146,6005 -#define GREEN_LED 147,6027 -#define RED_LED 148,6051 - ST_DOUT_NONE,152,6113 - ST_DOUT_SHORT_INIT,154,6129 - ST_DOUT_SHORT_WAIT_DEN,155,6150 - ST_DOUT_LONG_INIT,157,6176 - ST_DOUT_LONG_WAIT_DEN,158,6196 - ST_DOUT_NORMAL,159,6220 - ST_DOUT_WAIT_FOR_UNDERRUN,161,6238 - ST_DOUT_WAIT_FOR_NOT_BUSY,162,6266 - ST_DOUT_WAIT_FOR_STOP,163,6301 - ST_DOUT_WAIT_FOR_RESET,164,6325 -#define DOUT_STATE_COUNT 167,6354 - EV_DOUT_START_XMIT,171,6440 - EV_DOUT_COMPLETE,172,6461 - EV_DOUT_DEN,173,6480 - EV_DOUT_RESETED,174,6494 - EV_DOUT_STOPPED,175,6512 - EV_DOUT_COLL,176,6530 - EV_DOUT_UNDERRUN,177,6545 -#define DOUT_EVENT_COUNT 180,6568 - ST_L1_F3,185,6699 - ST_L1_F4,186,6710 - ST_L1_F6,187,6721 - ST_L1_F7,188,6732 - ST_L1_F8,189,6743 -#define L1_STATE_COUNT 192,6758 - EV_IND_DP,198,6920 - EV_IND_1,199,6962 - EV_IND_2,200,6983 - EV_IND_3,201,7004 - EV_IND_RSY,202,7025 - EV_IND_5,203,7062 - EV_IND_6,204,7083 - EV_IND_7,205,7104 - EV_IND_AP,206,7125 - EV_IND_9,207,7165 - EV_IND_10,208,7186 - EV_IND_11,209,7207 - EV_IND_AI8,210,7228 - EV_IND_AI10,211,7279 - EV_IND_AIL,212,7331 - EV_IND_DI,213,7383 - EV_PH_ACTIVATE_REQ,214,7428 - EV_PH_DEACTIVATE_REQ,215,7449 - EV_TIMER3,216,7472 -#define L1_EVENT_COUNT 219,7488 -#define ERR(ERR221,7528 -#define WARN(WARN224,7633 -#define INFO(INFO227,7743 -struct fifo fifo240,8063 -static inline void fifo_init(248,8146 -static inline int fifo_add(258,8332 -static inline int fifo_remove(283,8809 -typedef void (*ctrl_complete_t)ctrl_complete_t309,9302 -typedef struct ctrl_msg ctrl_msg311,9344 -} ctrl_msg;ctrl_msg315,9441 -#define MAX_EP0_MSG 318,9502 -struct ctrl_msg_fifo ctrl_msg_fifo319,9525 -#define MAX_DFRAME_LEN_L1 324,9605 -#define HSCX_BUFMAX 325,9635 -struct st5481_ctrl st5481_ctrl327,9661 -struct st5481_intr st5481_intr333,9757 -struct st5481_d_out st5481_d_out338,9831 -struct st5481_b_out st5481_b_out346,10002 -struct st5481_in st5481_in354,10165 -struct st5481_bcs st5481_bcs371,10601 -struct st5481_adapter st5481_adapter380,10760 -#define TIMER3_VALUE 402,11144 -#define SUBMIT_URB(SUBMIT_URB412,11372 -static inline int get_buf_nr(424,11628 -#define __debug_variable 470,13339 -#define DBG_ISO_PACKET(DBG_ISO_PACKET477,13456 -static void __attribute__(480,13559 -static inline const char *ST5481_CMD_string(507,14204 -#define DBG_ISO_PACKET(DBG_ISO_PACKET529,14672 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_fcpcipnp.c,3604 -#define __debug_variable 42,1015 -static int debug 46,1098 -static struct pci_device_id fcpci_ids[55,1373 -static struct pnp_device_id fcpnp_ids[73,1871 -static struct pnp_device_id fcpnp_ids[] __devinitdata 73,1871 -static int protocol 83,2060 -#define AVM_INDEX 89,2242 -#define AVM_DATA 90,2279 -#define AVM_IDX_HDLC_1 92,2317 -#define AVM_IDX_HDLC_2 93,2347 -#define AVM_IDX_ISAC_FIFO 94,2377 -#define AVM_IDX_ISAC_REG_LOW 95,2409 -#define AVM_IDX_ISAC_REG_HIGH 96,2444 -#define AVM_STATUS0 98,2481 -#define AVM_STATUS0_IRQ_ISAC 100,2519 -#define AVM_STATUS0_IRQ_HDLC 101,2554 -#define AVM_STATUS0_IRQ_TIMER 102,2589 -#define AVM_STATUS0_IRQ_MASK 103,2625 -#define AVM_STATUS0_RESET 105,2661 -#define AVM_STATUS0_DIS_TIMER 106,2693 -#define AVM_STATUS0_RES_TIMER 107,2729 -#define AVM_STATUS0_ENA_IRQ 108,2765 -#define AVM_STATUS0_TESTBIT 109,2799 -#define AVM_STATUS1 111,2834 -#define AVM_STATUS1_ENA_IOM 112,2871 -#define HDLC_FIFO 114,2906 -#define HDLC_STATUS 115,2930 -#define HDLC_CTRL 116,2956 -#define HDLC_MODE_ITF_FLG 118,2981 -#define HDLC_MODE_TRANS 119,3013 -#define HDLC_MODE_CCR_7 120,3043 -#define HDLC_MODE_CCR_16 121,3073 -#define HDLC_MODE_TESTLOOP 122,3104 -#define HDLC_INT_XPR 124,3138 -#define HDLC_INT_XDU 125,3166 -#define HDLC_INT_RPR 126,3194 -#define HDLC_INT_MASK 127,3222 -#define HDLC_STAT_RME 129,3252 -#define HDLC_STAT_RDO 130,3281 -#define HDLC_STAT_CRCVFRRAB 131,3310 -#define HDLC_STAT_CRCVFR 132,3344 -#define HDLC_STAT_RML_MASK 133,3375 -#define HDLC_CMD_XRS 135,3411 -#define HDLC_CMD_XME 136,3439 -#define HDLC_CMD_RRS 137,3467 -#define HDLC_CMD_XML_MASK 138,3495 -#define AVM_HDLC_FIFO_1 140,3530 -#define AVM_HDLC_FIFO_2 141,3567 -#define AVM_HDLC_STATUS_1 143,3605 -#define AVM_HDLC_STATUS_2 144,3642 -#define AVM_ISACSX_INDEX 146,3680 -#define AVM_ISACSX_DATA 147,3717 -static unsigned char fcpci_read_isac(152,3843 -static void fcpci_write_isac(169,4359 -static void fcpci_read_isac_fifo(185,4867 -static void fcpci_write_isac_fifo(197,5222 -static u32 fcpci_read_hdlc_status(209,5580 -static void __fcpci_write_ctrl(222,5937 -static void fcpci_write_ctrl(234,6295 -static unsigned char fcpci2_read_isac(247,6654 -static void fcpci2_write_isac(263,7084 -static void fcpci2_read_isac_fifo(277,7507 -static void fcpci2_write_isac_fifo(291,7896 -static u32 fcpci2_read_hdlc_status(305,8287 -static void fcpci2_write_ctrl(312,8460 -static u32 fcpnp_read_hdlc_status(326,8894 -static void __fcpnp_write_ctrl(341,9347 -static void fcpnp_write_ctrl(361,9932 -static inline void B_L1L2(373,10275 -static void hdlc_fill_fifo(381,10454 -static inline void hdlc_empty_fifo(433,11834 -static inline void hdlc_rpr_irq(468,12806 -static inline void hdlc_xdu_irq(512,13860 -static inline void hdlc_xpr_irq(537,14438 -static void hdlc_irq_one(555,14737 -static inline void hdlc_irq(574,15102 -static void modehdlc(587,15388 -static void fritz_b_l2l1(624,16202 -fcpci2_irq(658,16984 -fcpci_irq(678,17485 -static inline void fcpci2_init(698,17998 -static inline void fcpci_init(705,18178 -static int __devinit fcpcipnp_setup(717,18520 -static void __devexit fcpcipnp_release(830,21441 -new_adapter(842,21750 -static void delete_adapter(873,22490 -static int __devinit fcpci_probe(879,22616 -static int __devinit fcpnp_probe(920,23399 -static void __devexit fcpnp_remove(962,24278 -static struct pnp_driver fcpnp_driver 973,24496 -static void __devexit fcpci_remove(981,24655 -static struct pci_driver fcpci_driver 990,24855 -static int __init hisax_fcpcipnp_init(997,25007 -static void __exit hisax_fcpcipnp_exit(1035,25778 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_2bds0.h,2589 -#define HFCD_CIRM 13,346 -#define HFCD_CTMT 14,371 -#define HFCD_INT_M1 15,394 -#define HFCD_INT_M2 16,421 -#define HFCD_INT_S1 17,448 -#define HFCD_STAT 18,475 -#define HFCD_STAT_DISB 19,500 -#define HFCD_STATES 20,529 -#define HFCD_SCTRL 21,556 -#define HFCD_TEST 22,582 -#define HFCD_SQ 23,607 -#define HFCD_CLKDEL 24,630 -#define HFCD_MST_MODE 25,657 -#define HFCD_CONN 26,684 -#define HFCD_FIFO 28,710 -#define HFCD_Z1 29,733 -#define HFCD_Z2 30,755 -#define HFCD_Z_LOW 31,777 -#define HFCD_Z_HIGH 32,801 -#define HFCD_F1_INC 33,826 -#define HFCD_FIFO_IN 34,851 -#define HFCD_F1 35,877 -#define HFCD_F2 36,899 -#define HFCD_F2_INC 37,921 -#define HFCD_FIFO_OUT 38,946 -#define HFCD_REC 39,973 -#define HFCD_SEND 40,995 -#define HFCB_FIFO 42,1019 -#define HFCB_Z1 43,1042 -#define HFCB_Z2 44,1064 -#define HFCB_Z_LOW 45,1086 -#define HFCB_Z_HIGH 46,1110 -#define HFCB_F1_INC 47,1135 -#define HFCB_FIFO_IN 48,1160 -#define HFCB_F1 49,1186 -#define HFCB_F2 50,1208 -#define HFCB_F2_INC 51,1230 -#define HFCB_FIFO_OUT 52,1255 -#define HFCB_REC 53,1282 -#define HFCB_SEND 54,1304 -#define HFCB_B1 55,1327 -#define HFCB_B2 56,1349 -#define HFCB_CHANNEL(HFCB_CHANNEL57,1371 -#define HFCD_STATUS 59,1422 -#define HFCD_DATA 60,1444 -#define HFCD_DATA_NODEB 61,1464 -#define HFCD_BUSY 64,1511 -#define HFCD_BUSY_NBUSY 65,1534 -#define HFCD_TIMER_ELAP 66,1563 -#define HFCD_STATINT 67,1592 -#define HFCD_FRAMEINT 68,1618 -#define HFCD_ANYINT 69,1645 -#define HFCD_CLTIMER 72,1690 -#define HFCD_TIM25 73,1716 -#define HFCD_TIM50 74,1741 -#define HFCD_TIM400 75,1766 -#define HFCD_TIM800 76,1791 -#define HFCD_AUTO_TIMER 77,1816 -#define HFCD_TRANSB2 78,1845 -#define HFCD_TRANSB1 79,1871 -#define HFCD_RESET 82,1917 -#define HFCD_MEM8K 83,1943 -#define HFCD_INTA 84,1967 -#define HFCD_INTB 85,1990 -#define HFCD_INTC 86,2013 -#define HFCD_INTD 87,2036 -#define HFCD_INTE 88,2059 -#define HFCD_INTF 89,2082 -#define HFCD_INTS_B1TRANS 92,2126 -#define HFCD_INTS_B2TRANS 93,2157 -#define HFCD_INTS_DTRANS 94,2188 -#define HFCD_INTS_B1REC 95,2218 -#define HFCD_INTS_B2REC 96,2248 -#define HFCD_INTS_DREC 97,2278 -#define HFCD_INTS_L1STATE 98,2307 -#define HFCD_INTS_TIMER 99,2338 -#define HFCD_IRQ_ENABLE 102,2382 -#define HFCD_LOAD_STATE 105,2426 -#define HFCD_ACTIVATE 106,2456 -#define HFCD_DO_ACTION 107,2484 -#define HFCD_MASTER 110,2534 -#define SCTRL_B1_ENA 113,2578 -#define SCTRL_B2_ENA 114,2605 -#define SCTRL_LOW_PRIO 115,2632 -#define SCTRL_SQ_ENA 116,2661 -#define SCTRL_TEST 117,2688 -#define SCTRL_NONE_CAP 118,2713 -#define SCTRL_PWR_DOWN 119,2742 -#define HFCD_AUTO_AWAKE 122,2788 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_usb.c,4119 -static const char *hfcusb_revision 41,1305 -#define VERBOSE_USB_DEBUG49,1467 -#define VERBOSE_ISDN_DEBUG50,1493 -#define INCLUDE_INLINE_FUNCS52,1521 -#define TRUE 54,1551 -#define FALSE 55,1567 -#define HFC_CTRL_TIMEOUT 61,1627 -#define HFC_TIMER_T3 63,1725 -#define HFC_TIMER_T4 64,1798 -#define HFCUSB_L1_STATECHANGE 66,1871 -#define HFCUSB_L1_DRX 67,1929 -#define HFCUSB_L1_ERX 68,1987 -#define HFCUSB_L1_DTX 69,2045 -#define MAX_BCH_SIZE 71,2106 -#define HFCUSB_RX_THRESHOLD 73,2178 -#define HFCUSB_TX_THRESHOLD 74,2252 -#define HFCUSB_CHIP_ID 76,2327 -#define HFCUSB_CIRM 77,2391 -#define HFCUSB_USB_SIZE 78,2452 -#define HFCUSB_USB_SIZE_I 79,2513 -#define HFCUSB_F_CROSS 80,2574 -#define HFCUSB_CLKDEL 81,2634 -#define HFCUSB_CON_HDLC 82,2694 -#define HFCUSB_HDLC_PAR 83,2760 -#define HFCUSB_SCTRL 84,2791 -#define HFCUSB_SCTRL_E 85,2860 -#define HFCUSB_SCTRL_R 86,2930 -#define HFCUSB_F_THRES 87,2999 -#define HFCUSB_FIFO 88,3059 -#define HFCUSB_F_USAGE 89,3121 -#define HFCUSB_MST_MODE0 90,3182 -#define HFCUSB_MST_MODE1 91,3213 -#define HFCUSB_P_DATA 92,3244 -#define HFCUSB_INC_RES_F 93,3275 -#define HFCUSB_STATES 94,3306 -#define HFCUSB_CHIPID 96,3338 -#define HFCUSB_NUM_FIFOS 101,3463 -#define HFCUSB_B1_TX 102,3528 -#define HFCUSB_B1_RX 103,3600 -#define HFCUSB_B2_TX 104,3671 -#define HFCUSB_B2_RX 105,3700 -#define HFCUSB_D_TX 106,3729 -#define HFCUSB_D_RX 107,3758 -#define HFCUSB_PCM_TX 108,3787 -#define HFCUSB_PCM_RX 109,3816 -#define USB_INT 115,4013 -#define USB_BULK 116,4032 -#define USB_ISOC 117,4051 -#define ISOC_PACKETS_D 119,4071 -#define ISOC_PACKETS_B 120,4096 -#define ISO_BUFFER_SIZE 121,4121 -#define SINK_MAX 124,4174 -#define SINK_MIN 125,4194 -#define SINK_DMIN 126,4214 -#define SINK_DMAX 127,4235 -#define BITLINE_INF 128,4256 -#define write_usb(write_usb136,4327 -#define read_usb(read_usb137,4436 -#define HFC_CTRL_BUFSIZE 142,4697 -} ctrl_buft;ctrl_buft149,4884 -} vendor_data;vendor_data160,5181 -typedef struct iso_urb_structiso_urb_struct167,5440 -} iso_urb_struct;iso_urb_struct172,5613 -typedef struct usb_fifousb_fifo176,5680 -} usb_fifo;usb_fifo196,6603 -typedef struct hfcusb_datahfcusb_data202,6761 -} hfcusb_data;hfcusb_data244,8336 -static void ctrl_start_transfer(254,8603 -static int queue_control_request(274,9345 -static int control_action_handler(295,9948 -static void ctrl_complete(306,10290 -#define LED_OFF 327,10864 -#define LED_SCHEME1 328,10907 -#define LED_SCHEME2 329,10954 -#define LED_POWER_ON 331,10998 -#define LED_POWER_OFF 332,11021 -#define LED_S0_ON 333,11045 -#define LED_S0_OFF 334,11066 -#define LED_B1_ON 335,11088 -#define LED_B1_OFF 336,11109 -#define LED_B1_DATA 337,11131 -#define LED_B2_ON 338,11154 -#define LED_B2_OFF 339,11175 -#define LED_B2_DATA 340,11197 -#define LED_NORMAL 342,11224 -#define LED_INVERTED 343,11267 -#define LED_TIME 346,11339 -vendor_data vdata[348,11366 -static void write_led(362,12299 -static void led_timer(374,12666 -static void handle_led(402,13429 -static void l1_timer_expire_t3(448,14422 -static void l1_timer_expire_t4(463,14853 -static void state_handler(478,15275 -static void fill_isoc_urb(533,16625 -static int start_isoc_chain(558,17503 -static void stop_isoc_chain(608,18970 -static int iso_packets[633,19484 -static void tx_iso_complete(639,19826 -static void rx_iso_complete(776,24151 -static void collect_rx_frame(843,26117 -static void rx_complete(912,28111 -static void start_int_fifo(956,29360 -static void set_hfcmode(984,30129 -void hfc_usb_l2l1(1039,31647 -#define CNF_4INT3ISO 1102,33763 -#define CNF_3INT3ISO 1103,33815 -#define CNF_4ISO3ISO 1104,33867 -#define CNF_3ISO3ISO 1105,33919 -static int usb_init(1147,35955 -static struct usb_device_id hfc_usb_idtab[1301,41541 -#define EP_NUL 1316,42168 -#define EP_NOP 1317,42229 -#define EP_ISO 1318,42296 -#define EP_BLK 1319,42361 -#define EP_INT 1320,42422 -int validconf[1324,42652 -char *conf_str[1336,43352 -static int hfc_usb_probe(1348,43674 -static void hfc_usb_disconnect(1585,51787 -static struct usb_driver hfc_drv 1640,53350 -static void __exit hfc_usb_exit(1648,53524 -static int __init hfc_usb_init(1657,53751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/l3dss1.c,3757 -const char *dss1_revision 29,737 -#define EXT_BEARER_CAPS 31,791 -#define MsgHead(MsgHead33,818 -static unsigned char new_invoke_id(48,1179 -static void free_invoke_id(73,1839 -*dss1_new_l3_process(86,2241 -dss1_release_l3_process(103,2711 -l3dss1_search_dummy_proc(113,3072 -l3dss1_dummy_return_result(131,3682 -l3dss1_dummy_error_return(164,4895 -l3dss1_dummy_invoke(197,6091 -l3dss1_parse_facility(221,6791 -#define FOO1(FOO1359,9929 -l3dss1_message(499,15253 -l3dss1_message_cause(512,15488 -l3dss1_status_send(533,15868 -l3dss1_msg_without_setup(559,16323 -static int ie_ALERTING[595,17320 -static int ie_CALL_PROCEEDING[598,17471 -static int ie_CONNECT[600,17602 -static int ie_CONNECT_ACKNOWLEDGE[603,17801 -static int ie_DISCONNECT[604,17883 -static int ie_INFORMATION[606,18008 -static int ie_NOTIFY[608,18107 -static int ie_PROGRESS[609,18187 -static int ie_RELEASE[611,18318 -static int ie_RESUME_ACKNOWLEDGE[616,18602 -static int ie_RESUME_REJECT[618,18701 -static int ie_SETUP[619,18776 -static int ie_SETUP_ACKNOWLEDGE[624,19058 -static int ie_STATUS[626,19181 -static int ie_STATUS_ENQUIRY[628,19281 -static int ie_SUSPEND_ACKNOWLEDGE[629,19332 -static int ie_SUSPEND_REJECT[630,19401 -static int ie_FACILITY[638,19795 -static int comp_required[639,19868 -static int l3_valid_states[640,19929 -struct ie_len ie_len642,20006 -struct ie_len max_ie_len[648,20052 -getmax_ie_len(685,20735 -ie_in_set(696,20906 -check_infoelements(713,21164 -l3dss1_check_messagetype_validity(796,22990 -l3dss1_std_ie_err(838,24095 -l3dss1_get_channel_id(864,24621 -l3dss1_get_cause(887,25123 -l3dss1_msg_with_uus(926,25749 -l3dss1_release_req(952,26418 -l3dss1_release_cmpl(964,26697 -EncodeASyncParams(983,27145 -EncodeSyncParams(1048,28015 -DecodeASyncParams(1093,28629 -DecodeSyncParams(1150,29408 -DecodeSI2(1191,30065 -l3dss1_setup_req(1220,30642 -l3dss1_call_proc(1431,35809 -l3dss1_setup_ack(1470,36910 -l3dss1_disconnect(1509,37992 -l3dss1_connect(1547,38958 -l3dss1_alerting(1567,39420 -l3dss1_setup(1585,39817 -l3dss1_reset(1751,44074 -l3dss1_disconnect_req(1757,44179 -l3dss1_setup_rsp(1796,45075 -l3dss1_connect_ack(1812,45479 -l3dss1_reject_req(1830,45883 -l3dss1_release(1859,46460 -l3dss1_alert_req(1893,47373 -l3dss1_proceed_req(1904,47592 -l3dss1_setup_ack_req(1913,47800 -l3dss1_deliver_display(1926,48158 -l3dss1_progress(1949,48706 -l3dss1_notify(2006,49803 -l3dss1_status_enq(2047,50609 -l3dss1_information(2059,50909 -static void l3dss1_redir_req(2084,51537 -static void l3dss1_redir_req_early(2156,54009 -static int l3dss1_cmd_global(2167,54437 -l3dss1_io_timer(2250,57189 -l3dss1_release_ind(2274,57859 -l3dss1_dummy(2299,58420 -l3dss1_t302(2304,58495 -l3dss1_t303(2314,58738 -l3dss1_t304(2329,59077 -l3dss1_t305(2340,59301 -l3dss1_t310(2369,59846 -l3dss1_t313(2379,60069 -l3dss1_t308_1(2389,60294 -l3dss1_t308_2(2398,60491 -l3dss1_t318(2406,60668 -l3dss1_t319(2418,60981 -l3dss1_restart(2428,61220 -l3dss1_status(2436,61407 -l3dss1_facility(2494,62773 -l3dss1_suspend_req(2509,63102 -l3dss1_suspend_ack(2538,63743 -l3dss1_suspend_rej(2555,64217 -l3dss1_resume_req(2583,64918 -l3dss1_resume_ack(2613,65557 -l3dss1_resume_rej(2647,66524 -l3dss1_global_restart(2676,67250 -l3dss1_dl_reset(2730,68459 -l3dss1_dl_release(2739,68723 -l3dss1_dl_reestablish(2749,69021 -l3dss1_dl_reest_status(2757,69239 -static struct stateentry downstatelist[2766,69443 -#define DOWNSLLEN 2824,71054 -static struct stateentry datastatelist[2827,71128 -#define DATASLLEN 2879,72987 -static struct stateentry globalmes_list[2882,73061 -#define GLOBALM_LEN 2892,73265 -static struct stateentry manstatelist[2895,73342 -#define MANSLLEN 2907,73691 -global_handler(2913,73801 -dss1up(2954,74801 -dss1down(3128,79787 -dss1man(3179,80957 -setstack_dss1(3207,81940 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/elsa_cs.c,803 -static int pc_debug 71,2709 -#define DEBUG(DEBUG73,2773 -static char *version 74,2842 -#define DEBUG(DEBUG77,2952 -static u_long irq_mask 86,3225 -static int irq_list[89,3315 -static int protocol 94,3409 -static dev_info_t dev_info 128,4575 -static dev_link_t *dev_list 140,5020 -typedef struct local_info_t local_info_t166,6304 -} local_info_t;local_info_t171,6442 -static dev_link_t *elsa_cs_attach(185,6929 -static void elsa_cs_detach(257,9400 -static int get_tuple(294,10443 -static int first_tuple(302,10687 -static int next_tuple(310,10925 -static void elsa_cs_config(318,11161 -static void elsa_cs_release(448,15344 -static int elsa_cs_event(486,16625 -static struct pcmcia_driver elsa_cs_driver 527,17872 -static int __init init_elsa_cs(536,18039 -static void __exit exit_elsa_cs(541,18130 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/w6692.h,3965 -#define readW6692 14,375 -#define writeW6692 15,402 -#define readW6692fifo 16,431 -#define writeW6692fifo 17,466 -#define READW6692BFIFO(READW6692BFIFO21,546 -#define WRITEW6692BFIFO(WRITEW6692BFIFO24,654 -#define W_D_RFIFO 29,805 -#define W_D_XFIFO 30,836 -#define W_D_CMDR 31,867 -#define W_D_MODE 32,897 -#define W_D_TIMR 33,929 -#define W_ISTA 34,961 -#define W_IMASK 35,994 -#define W_D_EXIR 36,1026 -#define W_D_EXIM 37,1060 -#define W_D_STAR 38,1092 -#define W_D_RSTA 39,1122 -#define W_D_SAM 40,1152 -#define W_D_SAP1 41,1184 -#define W_D_SAP2 42,1216 -#define W_D_TAM 43,1248 -#define W_D_TEI1 44,1280 -#define W_D_TEI2 45,1312 -#define W_D_RBCH 46,1344 -#define W_D_RBCL 47,1374 -#define W_TIMR2 48,1404 -#define W_L1_RC 49,1434 -#define W_D_CTL 50,1466 -#define W_CIR 51,1498 -#define W_CIX 52,1526 -#define W_SQR 53,1554 -#define W_SQX 54,1582 -#define W_PCTL 55,1610 -#define W_MOR 56,1641 -#define W_MOX 57,1669 -#define W_MOSR 58,1699 -#define W_MOCR 59,1732 -#define W_GCR 60,1763 -#define W_B_RFIFO 62,1794 -#define W_B_XFIFO 63,1825 -#define W_B_CMDR 64,1856 -#define W_B_MODE 65,1886 -#define W_B_EXIR 66,1918 -#define W_B_EXIM 67,1952 -#define W_B_STAR 68,1984 -#define W_B_ADM1 69,2014 -#define W_B_ADM2 70,2046 -#define W_B_ADR1 71,2078 -#define W_B_ADR2 72,2110 -#define W_B_RBCL 73,2142 -#define W_B_RBCH 74,2172 -#define W_XADDR 76,2203 -#define W_XDATA 77,2235 -#define W_EPCTL 78,2267 -#define W_D_CMDR_XRST 82,2325 -#define W_D_CMDR_XME 83,2352 -#define W_D_CMDR_XMS 84,2378 -#define W_D_CMDR_STT 85,2404 -#define W_D_CMDR_RRST 86,2430 -#define W_D_CMDR_RACK 87,2457 -#define W_D_MODE_RLP 89,2485 -#define W_D_MODE_DLP 90,2511 -#define W_D_MODE_MFD 91,2537 -#define W_D_MODE_TEE 92,2563 -#define W_D_MODE_TMS 93,2589 -#define W_D_MODE_RACT 94,2615 -#define W_D_MODE_MMS 95,2642 -#define W_INT_B2_EXI 97,2669 -#define W_INT_B1_EXI 98,2695 -#define W_INT_D_EXI 99,2721 -#define W_INT_XINT0 100,2746 -#define W_INT_XINT1 101,2771 -#define W_INT_D_XFR 102,2796 -#define W_INT_D_RME 103,2821 -#define W_INT_D_RMR 104,2846 -#define W_D_EXI_WEXP 106,2872 -#define W_D_EXI_TEXP 107,2898 -#define W_D_EXI_ISC 108,2924 -#define W_D_EXI_MOC 109,2949 -#define W_D_EXI_TIN2 110,2974 -#define W_D_EXI_XCOL 111,3000 -#define W_D_EXI_XDUN 112,3026 -#define W_D_EXI_RDOV 113,3052 -#define W_D_STAR_DRDY 115,3079 -#define W_D_STAR_XBZ 116,3106 -#define W_D_STAR_XDOW 117,3132 -#define W_D_RSTA_RMB 119,3160 -#define W_D_RSTA_CRCE 120,3186 -#define W_D_RSTA_RDOV 121,3213 -#define W_D_CTL_SRST 123,3241 -#define W_CIR_SCC 125,3268 -#define W_CIR_ICC 126,3291 -#define W_CIR_COD_MASK 127,3314 -#define W_B_CMDR_XRST 129,3343 -#define W_B_CMDR_XME 130,3370 -#define W_B_CMDR_XMS 131,3396 -#define W_B_CMDR_RACT 132,3422 -#define W_B_CMDR_RRST 133,3449 -#define W_B_CMDR_RACK 134,3476 -#define W_B_MODE_FTS0 136,3504 -#define W_B_MODE_FTS1 137,3531 -#define W_B_MODE_SW56 138,3558 -#define W_B_MODE_BSW0 139,3585 -#define W_B_MODE_BSW1 140,3612 -#define W_B_MODE_EPCM 141,3639 -#define W_B_MODE_ITF 142,3666 -#define W_B_MODE_MMS 143,3692 -#define W_B_EXI_XDUN 145,3719 -#define W_B_EXI_XFR 146,3745 -#define W_B_EXI_RDOV 147,3770 -#define W_B_EXI_RME 148,3796 -#define W_B_EXI_RMR 149,3821 -#define W_B_STAR_XBZ 151,3847 -#define W_B_STAR_XDOW 152,3873 -#define W_B_STAR_RMB 153,3900 -#define W_B_STAR_CRCE 154,3926 -#define W_B_STAR_RDOV 155,3953 -#define W_B_RBCH_LOV 157,3981 -#define W_L1CMD_ECK 161,4037 -#define W_L1CMD_RST 162,4062 -#define W_L1CMD_SCP 163,4087 -#define W_L1CMD_SSP 164,4112 -#define W_L1CMD_AR8 165,4137 -#define W_L1CMD_AR10 166,4162 -#define W_L1CMD_EAL 167,4188 -#define W_L1CMD_DRC 168,4213 -#define W_L1IND_CE 172,4271 -#define W_L1IND_DRD 173,4295 -#define W_L1IND_LD 174,4320 -#define W_L1IND_ARD 175,4344 -#define W_L1IND_TI 176,4369 -#define W_L1IND_ATI 177,4393 -#define W_L1IND_AI8 178,4418 -#define W_L1IND_AI10 179,4443 -#define W_L1IND_CD 180,4469 -#define W_D_FIFO_THRESH 183,4516 -#define W_B_FIFO_THRESH 184,4543 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnl3.c,1433 -const char *l3_revision 23,595 -static struct Fsm l3fsm;25,647 - ST_L3_LC_REL,28,680 - ST_L3_LC_ESTAB_WAIT,29,695 - ST_L3_LC_REL_DELAY,30,717 - ST_L3_LC_REL_WAIT,31,739 - ST_L3_LC_ESTAB,32,759 -#define L3_STATE_COUNT 35,780 -static char *strL3State[37,823 - EV_ESTABLISH_REQ,47,969 - EV_ESTABLISH_IND,48,988 - EV_ESTABLISH_CNF,49,1007 - EV_RELEASE_REQ,50,1026 - EV_RELEASE_CNF,51,1043 - EV_RELEASE_IND,52,1060 - EV_TIMEOUT,53,1077 -#define L3_EVENT_COUNT 56,1094 -static char *strL3Event[58,1133 -l3m_debug(70,1314 -findie(81,1526 -getcallref(126,2592 -static int OrigCallRef 140,2839 -newcallref(143,2872 -newl3state(153,2989 -L3ExpireTimer(163,3197 -L3InitTimer(169,3290 -L3DelTimer(178,3454 -L3AddTimer(184,3513 -StopAllL3Timer(199,3812 -l3_alloc_skb(205,3897 -no_l3_proto(218,4146 -no_l3_proto_spec(229,4336 -*getl3proc(248,4751 -*new_l3_process(261,4939 -release_l3_process(289,5458 -l3ml3p(328,6452 -setstack_l3dc(342,6705 -isdnl3_trans(394,8048 -releasestack_isdnl3(399,8136 -setstack_l3bc(413,8418 -#define DREL_TIMER_VALUE 429,8800 -lc_activate(432,8844 -lc_connect(441,9041 -lc_connected(461,9535 -lc_start_delay(482,10067 -lc_start_delay_check(491,10309 -lc_release_req(503,10724 -lc_release_ind(519,11150 -lc_release_cnf(530,11404 -static struct FsmNode L3FnList[541,11626 -static struct FsmNode L3FnList[] __initdata 541,11626 -#define L3_FN_COUNT 559,12446 -l3_msg(562,12514 -Isdnl3New(597,13400 -Isdnl3Free(607,13607 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/gazel.c,1270 -const char *gazel_revision 24,572 -#define R647 26,627 -#define R685 27,647 -#define R753 28,667 -#define R742 29,687 -#define PLX_CNTRL 31,708 -#define RESET_GAZEL 32,765 -#define RESET_9050 33,790 -#define PLX_INCSR 34,822 -#define INT_ISAC_EN 35,876 -#define INT_ISAC 36,926 -#define INT_HSCX_EN 37,979 -#define INT_HSCX 38,1029 -#define INT_PCI_EN 39,1081 -#define INT_IPAC_EN 40,1131 -#define byteout(byteout43,1179 -#define bytein(bytein44,1220 -readreg(47,1273 -writereg(53,1363 -read_fifo(60,1468 -write_fifo(66,1562 -readreg_ipac(72,1667 -writereg_ipac(82,1815 -read_fifo_ipac(90,1943 -write_fifo_ipac(97,2079 -ReadISAC(106,2246 -WriteISAC(123,2580 -ReadISACfifo(141,2936 -WriteISACfifo(156,3220 -ReadHSCXfifo(171,3507 -WriteHSCXfifo(186,3814 -ReadHSCX(201,4126 -WriteHSCX(218,4483 -#define READHSCX(READHSCX239,4897 -#define WRITEHSCX(WRITEHSCX240,4949 -#define READHSCXFIFO(READHSCXFIFO241,5015 -#define WRITEHSCXFIFO(WRITEHSCXFIFO242,5085 -gazel_interrupt(247,5200 -#define MAXCOUNT 249,5265 -gazel_interrupt_ipac(278,5953 -release_io_gazel(321,6850 -reset_gazel(349,7422 -Gazel_card_msg(402,8922 -reserve_regions(434,9613 -setup_gazelisa(488,10959 -static struct pci_dev *dev_tel __initdata 535,12390 -setup_gazelpci(538,12459 -setup_gazel(620,14725 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isar.h,5433 -#define ISAR_IRQMSK 13,347 -#define ISAR_IRQSTA 14,372 -#define ISAR_IRQBIT 15,397 -#define ISAR_CTRL_H 16,422 -#define ISAR_CTRL_L 17,447 -#define ISAR_IIS 18,472 -#define ISAR_IIA 19,494 -#define ISAR_HIS 20,516 -#define ISAR_HIA 21,538 -#define ISAR_MBOX 22,560 -#define ISAR_WADR 23,583 -#define ISAR_RADR 24,606 -#define ISAR_HIS_VNR 26,631 -#define ISAR_HIS_DKEY 27,658 -#define ISAR_HIS_FIRM 28,686 -#define ISAR_HIS_STDSP 29,714 -#define ISAR_HIS_DIAG 30,743 -#define ISAR_HIS_WAITSTATE 31,771 -#define ISAR_HIS_TIMERIRQ 32,803 -#define ISAR_HIS_P0CFG 33,834 -#define ISAR_HIS_P12CFG 34,863 -#define ISAR_HIS_SARTCFG 35,893 -#define ISAR_HIS_PUMPCFG 36,924 -#define ISAR_HIS_PUMPCTRL 37,955 -#define ISAR_HIS_IOM2CFG 38,987 -#define ISAR_HIS_IOM2REQ 39,1017 -#define ISAR_HIS_IOM2CTRL 40,1047 -#define ISAR_HIS_BSTREQ 41,1078 -#define ISAR_HIS_PSTREQ 42,1108 -#define ISAR_HIS_SDATA 43,1138 -#define ISAR_HIS_DPS1 44,1167 -#define ISAR_HIS_DPS2 45,1195 -#define SET_DPS(SET_DPS46,1223 -#define ISAR_CMD_TIMERIRQ_OFF 48,1260 -#define ISAR_CMD_TIMERIRQ_ON 49,1295 -#define ISAR_IIS_MSCMSD 52,1331 -#define ISAR_IIS_VNR 53,1361 -#define ISAR_IIS_DKEY 54,1388 -#define ISAR_IIS_FIRM 55,1416 -#define ISAR_IIS_STDSP 56,1444 -#define ISAR_IIS_DIAG 57,1473 -#define ISAR_IIS_GSTEV 58,1501 -#define ISAR_IIS_BSTEV 59,1530 -#define ISAR_IIS_BSTRSP 60,1559 -#define ISAR_IIS_PSTRSP 61,1589 -#define ISAR_IIS_PSTEV 62,1619 -#define ISAR_IIS_IOM2RSP 63,1648 -#define ISAR_IIS_RDATA 64,1678 -#define ISAR_IIS_INVMSG 65,1707 -#define ISAR_CTRL_SWVER 67,1738 -#define ISAR_CTRL_STST 68,1767 -#define ISAR_MSG_HWVER 70,1796 -#define ISAR_DP1_USE 72,1833 -#define ISAR_DP2_USE 73,1856 -#define ISAR_RATE_REQ 74,1879 -#define PMOD_DISABLE 76,1904 -#define PMOD_FAX 77,1927 -#define PMOD_DATAMODEM 78,1946 -#define PMOD_HALFDUPLEX 79,1971 -#define PMOD_V110 80,1997 -#define PMOD_DTMF 81,2017 -#define PMOD_DTMF_TRANS 82,2037 -#define PMOD_BYPASS 83,2063 -#define PCTRL_ORIG 85,2086 -#define PV32P2_V23R 86,2110 -#define PV32P2_V22A 87,2135 -#define PV32P2_V22B 88,2160 -#define PV32P2_V22C 89,2185 -#define PV32P2_V21 90,2210 -#define PV32P2_BEL 91,2234 -#define PV32P3_AMOD 94,2299 -#define PV32P3_V32B 95,2324 -#define PV32P3_V23B 96,2349 -#define PV32P4_48 97,2374 -#define PV32P5_48 98,2397 -#define PV32P4_UT48 99,2420 -#define PV32P5_UT48 100,2445 -#define PV32P4_96 101,2470 -#define PV32P5_96 102,2493 -#define PV32P4_UT96 103,2516 -#define PV32P5_UT96 104,2541 -#define PV32P4_B96 105,2566 -#define PV32P5_B96 106,2590 -#define PV32P4_UTB96 107,2614 -#define PV32P5_UTB96 108,2640 -#define PV32P4_120 109,2666 -#define PV32P5_120 110,2690 -#define PV32P4_UT120 111,2714 -#define PV32P5_UT120 112,2740 -#define PV32P4_144 113,2766 -#define PV32P5_144 114,2790 -#define PV32P4_UT144 115,2814 -#define PV32P5_UT144 116,2840 -#define PV32P6_CTN 117,2866 -#define PV32P6_ATN 118,2890 -#define PFAXP2_CTN 120,2915 -#define PFAXP2_ATN 121,2939 -#define PSEV_10MS_TIMER 123,2964 -#define PSEV_CON_ON 124,2993 -#define PSEV_CON_OFF 125,3018 -#define PSEV_V24_OFF 126,3044 -#define PSEV_CTS_ON 127,3070 -#define PSEV_CTS_OFF 128,3095 -#define PSEV_DCD_ON 129,3121 -#define PSEV_DCD_OFF 130,3146 -#define PSEV_DSR_ON 131,3172 -#define PSEV_DSR_OFF 132,3197 -#define PSEV_REM_RET 133,3223 -#define PSEV_REM_REN 134,3249 -#define PSEV_GSTN_CLR 135,3275 -#define PSEV_RSP_READY 137,3303 -#define PSEV_LINE_TX_H 138,3331 -#define PSEV_LINE_TX_B 139,3359 -#define PSEV_LINE_RX_H 140,3387 -#define PSEV_LINE_RX_B 141,3415 -#define PSEV_RSP_CONN 142,3443 -#define PSEV_RSP_DISC 143,3470 -#define PSEV_RSP_FCERR 144,3497 -#define PSEV_RSP_SILDET 145,3525 -#define PSEV_RSP_SILOFF 146,3554 -#define PSEV_FLAGS_DET 147,3583 -#define PCTRL_CMD_FTH 149,3612 -#define PCTRL_CMD_FRH 150,3639 -#define PCTRL_CMD_FTM 151,3666 -#define PCTRL_CMD_FRM 152,3693 -#define PCTRL_CMD_SILON 153,3720 -#define PCTRL_CMD_CONT 154,3749 -#define PCTRL_CMD_ESC 155,3777 -#define PCTRL_CMD_SILOFF 156,3804 -#define PCTRL_CMD_HALT 157,3834 -#define PCTRL_LOC_RET 159,3863 -#define PCTRL_LOC_REN 160,3890 -#define SMODE_DISABLE 162,3918 -#define SMODE_V14 163,3942 -#define SMODE_HDLC 164,3962 -#define SMODE_BINARY 165,3983 -#define SMODE_FSK_V14 166,4006 -#define SCTRL_HDMC_BOTH 168,4031 -#define SCTRL_HDMC_DTX 169,4060 -#define SCTRL_HDMC_DRX 170,4088 -#define S_P1_OVSP 171,4116 -#define S_P1_SNP 172,4139 -#define S_P1_EOP 173,4161 -#define S_P1_EDP 174,4183 -#define S_P1_NSB 175,4205 -#define S_P1_CHS_8 176,4227 -#define S_P1_CHS_7 177,4251 -#define S_P1_CHS_6 178,4275 -#define S_P1_CHS_5 179,4299 -#define S_P2_BFT_DEF 181,4324 -#define IOM_CTRL_ENA 183,4351 -#define IOM_CTRL_NOPCM 184,4377 -#define IOM_CTRL_ALAW 185,4405 -#define IOM_CTRL_ULAW 186,4432 -#define IOM_CTRL_RCV 187,4459 -#define IOM_P1_TXD 189,4486 -#define HDLC_FED 191,4511 -#define HDLC_FSD 192,4533 -#define HDLC_FST 193,4555 -#define HDLC_ERROR 194,4577 -#define HDLC_ERR_FAD 195,4601 -#define HDLC_ERR_RER 196,4627 -#define HDLC_ERR_CER 197,4653 -#define SART_NMD 198,4679 -#define BSTAT_RDM0 200,4702 -#define BSTAT_RDM1 201,4725 -#define BSTAT_RDM2 202,4748 -#define BSTAT_RDM3 203,4771 -#define BSTEV_TBO 204,4794 -#define BSTEV_RBO 205,4817 -#define STFAX_NULL 208,4865 -#define STFAX_READY 209,4886 -#define STFAX_LINE 210,4908 -#define STFAX_CONT 211,4929 -#define STFAX_ACTIV 212,4950 -#define STFAX_ESCAPE 213,4972 -#define STFAX_SILDET 214,4995 -#define ISDN_FAXPUMP_HALT 216,5019 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_cfg.h,1665 -#define ISDN_CTYPE_16_0 10,290 -#define ISDN_CTYPE_8_0 11,318 -#define ISDN_CTYPE_16_3 12,345 -#define ISDN_CTYPE_PNP 13,373 -#define ISDN_CTYPE_A1 14,400 -#define ISDN_CTYPE_ELSA 15,426 -#define ISDN_CTYPE_ELSA_PNP 16,454 -#define ISDN_CTYPE_TELESPCMCIA 17,485 -#define ISDN_CTYPE_IX1MICROR2 18,519 -#define ISDN_CTYPE_ELSA_PCMCIA 19,552 -#define ISDN_CTYPE_DIEHLDIVA 20,587 -#define ISDN_CTYPE_ASUSCOM 21,620 -#define ISDN_CTYPE_TELEINT 22,651 -#define ISDN_CTYPE_TELES3C 23,682 -#define ISDN_CTYPE_SEDLBAUER 24,713 -#define ISDN_CTYPE_SPORTSTER 25,746 -#define ISDN_CTYPE_MIC 26,779 -#define ISDN_CTYPE_ELSA_PCI 27,807 -#define ISDN_CTYPE_COMPAQ_ISA 28,839 -#define ISDN_CTYPE_NETJET_S 29,873 -#define ISDN_CTYPE_TELESPCI 30,905 -#define ISDN_CTYPE_SEDLBAUER_PCMCIA 31,937 -#define ISDN_CTYPE_AMD7930 32,976 -#define ISDN_CTYPE_NICCY 33,1007 -#define ISDN_CTYPE_S0BOX 34,1036 -#define ISDN_CTYPE_A1_PCMCIA 35,1065 -#define ISDN_CTYPE_FRITZPCI 36,1098 -#define ISDN_CTYPE_SEDLBAUER_FAX 37,1130 -#define ISDN_CTYPE_ISURF 38,1166 -#define ISDN_CTYPE_ACERP10 39,1195 -#define ISDN_CTYPE_HSTSAPHIR 40,1226 -#define ISDN_CTYPE_BKM_A4T 41,1259 -#define ISDN_CTYPE_SCT_QUADRO 42,1290 -#define ISDN_CTYPE_GAZEL 43,1324 -#define ISDN_CTYPE_HFC_PCI 44,1353 -#define ISDN_CTYPE_W6692 45,1384 -#define ISDN_CTYPE_HFC_SX 46,1413 -#define ISDN_CTYPE_NETJET_U 47,1443 -#define ISDN_CTYPE_HFC_SP_PCMCIA 48,1475 -#define ISDN_CTYPE_DYNAMIC 49,1511 -#define ISDN_CTYPE_ENTERNOW 50,1542 -#define ISDN_CTYPE_COUNT 51,1574 -typedef struct IsdnCardState IsdnCardState_t;IsdnCardState_t53,1604 -typedef struct IsdnCard IsdnCard_t;IsdnCard_t54,1650 -struct IsdnCard IsdnCard56,1688 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/s0box.c,551 -const char *s0box_revision 20,471 -writereg(23,544 -static u_char nibtab[34,800 -readreg(39,944 -read_fifo(56,1345 -write_fifo(78,1813 -ReadISAC(97,2166 -WriteISAC(103,2303 -ReadISACfifo(109,2454 -WriteISACfifo(115,2606 -ReadHSCX(121,2762 -WriteHSCX(127,2915 -#define READHSCX(READHSCX136,3117 -#define WRITEHSCX(WRITEHSCX137,3207 -#define READHSCXFIFO(READHSCXFIFO138,3311 -#define WRITEHSCXFIFO(WRITEHSCXFIFO139,3421 -s0box_interrupt(144,3576 -#define MAXCOUNT 146,3641 -release_io_s0box(187,5063 -S0Box_card_msg(193,5165 -setup_s0box(215,5537 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481_init.c,378 -static int protocol 39,907 -static int number_of_leds 42,991 -static int debug 46,1125 -int st5481_debug;48,1174 -static int probe_st5481(61,1450 -static void disconnect_st5481(133,3150 -static struct usb_device_id st5481_ids[161,3743 -static struct usb_driver st5481_usb_driver 182,4700 -static int __init st5481_usb_init(190,4881 -static void __exit st5481_usb_exit(216,5283 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_debug.h,322 -#define __HISAX_DEBUG_H__23,664 -#define DBG(DBG29,745 -#define DBG_PACKET(DBG_PACKET34,897 -#define DBG_SKB(DBG_SKB37,1006 -static void __attribute__(41,1123 -#define DUMP_HDR_SIZE 44,1222 -#define DUMP_TLR_SIZE 45,1247 -#define DBG(DBG75,1820 -#define DBG_PACKET(DBG_PACKET76,1871 -#define DBG_SKB(DBG_SKB77,1924 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnl2.h,291 -#define RR 10,230 -#define RNR 11,250 -#define REJ 12,270 -#define SABME 13,290 -#define SABM 14,310 -#define DM 15,330 -#define UI 16,350 -#define DISC 17,370 -#define UA 18,390 -#define FRMR 19,410 -#define XID 20,430 -#define CMD 22,451 -#define RSP 23,468 -#define LC_FLUSH_WAIT 25,486 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/netjet.h,1247 -#define byteout(byteout17,464 -#define bytein(bytein18,505 -#define NETJET_CTRL 20,537 -#define NETJET_DMACTRL 21,562 -#define NETJET_AUXCTRL 22,590 -#define NETJET_AUXDATA 23,618 -#define NETJET_IRQMASK0 24,646 -#define NETJET_IRQMASK1 25,675 -#define NETJET_IRQSTAT0 26,704 -#define NETJET_IRQSTAT1 27,733 -#define NETJET_DMA_READ_START 28,762 -#define NETJET_DMA_READ_IRQ 29,797 -#define NETJET_DMA_READ_END 30,830 -#define NETJET_DMA_READ_ADR 31,863 -#define NETJET_DMA_WRITE_START 32,896 -#define NETJET_DMA_WRITE_IRQ 33,932 -#define NETJET_DMA_WRITE_END 34,966 -#define NETJET_DMA_WRITE_ADR 35,1000 -#define NETJET_PULSE_CNT 36,1034 -#define NETJET_ISAC_OFF 38,1065 -#define NETJET_ISACIRQ 39,1094 -#define NETJET_IRQM0_READ 40,1122 -#define NETJET_IRQM0_READ_1 41,1153 -#define NETJET_IRQM0_READ_2 42,1186 -#define NETJET_IRQM0_WRITE 43,1219 -#define NETJET_IRQM0_WRITE_1 44,1251 -#define NETJET_IRQM0_WRITE_2 45,1285 -#define NETJET_DMA_TXSIZE 47,1320 -#define NETJET_DMA_RXSIZE 48,1350 -#define HDLC_ZERO_SEARCH 50,1381 -#define HDLC_FLAG_SEARCH 51,1408 -#define HDLC_FLAG_FOUND 52,1435 -#define HDLC_FRAME_FOUND 53,1462 -#define HDLC_NULL 54,1489 -#define HDLC_PART 55,1509 -#define HDLC_FULL 56,1529 -#define HDLC_FLAG_VALUE 58,1550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/saphir.c,756 -static char *saphir_rev 22,514 -#define byteout(byteout24,566 -#define bytein(bytein25,607 -#define ISAC_DATA 27,639 -#define HSCX_DATA 28,659 -#define ADDRESS_REG 29,679 -#define IRQ_REG 30,701 -#define SPARE_REG 31,720 -#define RESET_REG 32,740 -readreg(35,782 -readfifo(45,940 -writereg(53,1091 -writefifo(60,1226 -ReadISAC(69,1400 -WriteISAC(75,1533 -ReadISACfifo(81,1680 -WriteISACfifo(87,1826 -ReadHSCX(93,1976 -WriteHSCX(100,2141 -#define READHSCX(READHSCX106,2308 -#define WRITEHSCX(WRITEHSCX108,2412 -#define READHSCXFIFO(READHSCXFIFO111,2531 -#define WRITEHSCXFIFO(WRITEHSCXFIFO114,2650 -saphir_interrupt(120,2813 -SaphirWatchDog(163,4242 -release_io_saphir(175,4527 -saphir_reset(185,4780 -saphir_card_msg(219,5437 -setup_saphir(245,5934 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isar.c,1341 -#define DBG_LOADFIRM 17,342 -#define DUMP_MBOXFRAME 18,365 -#define DLE 20,391 -#define ETX 21,408 -#define FAXMODCNT 23,426 -const u_char faxmodulation[24,447 -static u_int modmask 25,523 -static int frm_extra_delay 26,554 -static int para_TOA 27,586 -const u_char *FC1_CMD[28,611 -waitforHIA(35,904 -sendmsg(49,1147 -rcv_mbox(89,2063 -get_irq_infos(118,2722 -waitrecmsg(131,3078 -ISARVersion(152,3514 -isar_load_firmware(189,4356 -#define BLK_HEAD_SIZE 204,4699 -#define B_LL_NOCARRIER 435,11107 -#define B_LL_CONNECT 436,11132 -#define B_LL_OK 437,11155 -isar_bh(440,11188 -send_DLE_ETX(452,11556 -dle_count(467,11880 -insert_dle(478,12023 -isar_rcv_frame(488,12245 -isar_fill_fifo(667,17986 -struct BCState *sel_bcs_isar(743,19969 -send_frames(755,20236 -check_send(810,21825 -const char *dmril[831,22137 -const char *dmrim[834,22313 -isar_pump_status_rsp(838,22452 -isar_pump_statev_modem(892,23379 -ll_deliver_faxstat(962,25268 -isar_pump_statev_fax(977,25654 -static char debbuf[1166,31403 -isar_int_main(1169,31434 -ftimer_handler(1265,34152 -setup_pump(1279,34515 -setup_sart(1328,35830 -setup_iom2(1364,36659 -modeisar(1392,37294 -isar_pump_cmd(1452,38910 -isar_setup(1566,42190 -isar_l2l1(1586,42616 -close_isarstate(1685,45473 -open_isarstate(1707,46023 -setstack_isar(1729,46596 -isar_auxcmd(1743,46860 -initisar(1897,51623 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481_hdlc.c,878 - HDLC_FAST_IDLE,18,421 - HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,18,421 - HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,HDLC_GETFLAG_B1A6,18,421 - HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,HDLC_GETFLAG_B1A6,HDLC_GETFLAG_B7,18,421 - HDLC_GET_DATA,19,489 - HDLC_GET_DATA,HDLC_FAST_FLAG19,489 - HDLC_SEND_DATA,23,530 - HDLC_SEND_DATA,HDLC_SEND_CRC1,23,530 - HDLC_SEND_DATA,HDLC_SEND_CRC1,HDLC_SEND_FAST_FLAG,23,530 - HDLC_SEND_FIRST_FLAG,24,582 - HDLC_SEND_FIRST_FLAG,HDLC_SEND_CRC2,24,582 - HDLC_SEND_FIRST_FLAG,HDLC_SEND_CRC2,HDLC_SEND_CLOSING_FLAG,24,582 - HDLC_SEND_IDLE1,25,643 - HDLC_SEND_IDLE1,HDLC_SEND_FAST_IDLE,25,643 - HDLC_SEND_IDLE1,HDLC_SEND_FAST_IDLE,HDLC_SENDFLAG_B0,25,643 - HDLC_SENDFLAG_B1A6,26,698 - HDLC_SENDFLAG_B1A6,HDLC_SENDFLAG_B7,26,698 - HDLC_SENDFLAG_B1A6,HDLC_SENDFLAG_B7,STOPPED26,698 -hdlc_rcv_init(30,753 -hdlc_out_init(48,1115 -int hdlc_decode(105,2947 -int hdlc_encode(327,8194 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hscx.c,236 -static char *HSCXVer[20,457 -HscxVersion(25,594 -modehscx(40,959 -hscx_l2l1(95,2703 -close_hscxstate(155,4435 -open_hscxstate(178,4926 -setstack_hscx(207,5719 -clear_pending_hscx_ints(221,5984 -inithscx(247,6696 -inithscxisac(264,7153 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/mic.c,640 -const char *mic_revision 21,481 -#define byteout(byteout23,534 -#define bytein(bytein24,575 -#define MIC_ISAC 26,607 -#define MIC_HSCX 27,626 -#define MIC_ADR 28,645 -#define MIC_RESET 31,688 -readreg(34,762 -readfifo(44,920 -writereg(52,1071 -writefifo(59,1206 -ReadISAC(68,1380 -WriteISAC(74,1507 -ReadISACfifo(80,1648 -WriteISACfifo(86,1788 -ReadHSCX(92,1932 -WriteHSCX(99,2092 -#define READHSCX(READHSCX109,2301 -#define WRITEHSCX(WRITEHSCX111,2399 -#define READHSCXFIFO(READHSCXFIFO114,2512 -#define WRITEHSCXFIFO(WRITEHSCXFIFO117,2625 -mic_interrupt(123,2782 -release_io_mic(161,3988 -mic_card_msg(170,4136 -setup_mic(193,4561 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/tei.c,1195 -const char *tei_revision 23,592 -#define ID_REQUEST 25,645 -#define ID_ASSIGNED 26,666 -#define ID_DENIED 27,688 -#define ID_CHK_REQ 28,708 -#define ID_CHK_RES 29,729 -#define ID_REMOVE 30,750 -#define ID_VERIFY 31,770 -#define TEI_ENTITY_ID 33,791 -static struct Fsm teifsm;35,818 - ST_TEI_NOP,40,922 - ST_TEI_IDREQ,41,935 - ST_TEI_IDVERIFY,42,950 -#define TEI_STATE_COUNT 45,972 -static char *strTeiState[47,1017 - EV_IDREQ,55,1111 - EV_ASSIGN,56,1122 - EV_DENIED,57,1134 - EV_CHKREQ,58,1146 - EV_REMOVE,59,1158 - EV_VERIFY,60,1170 - EV_T202,61,1182 -#define TEI_EVENT_COUNT 64,1196 -static char *strTeiEvent[66,1233 -random_ri(78,1376 -findtei(87,1494 -put_tei_msg(103,1723 -tei_id_request(126,2224 -tei_id_assign(147,2772 -tei_id_test_dup(175,3644 -tei_id_denied(196,4261 -tei_id_chk_req(210,4600 -tei_id_remove(228,5082 -tei_id_verify(249,5674 -tei_id_req_tout(263,6061 -tei_id_ver_tout(286,6731 -tei_l1l2(309,7407 -tei_l2tei(365,8976 -tei_debug(393,9656 -setstack_tei(404,9855 -init_tei(420,10246 -release_tei(425,10305 -static struct FsmNode TeiFnList[435,10448 -static struct FsmNode TeiFnList[] __initdata 435,10448 -#define TEI_FN_COUNT 450,10977 -TeiNew(453,11053 -TeiFree(463,11268 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnhdlc.c,974 -const unsigned char isdnhdlc_bit_rev_tab[43,1698 - HDLC_FAST_IDLE,63,3070 - HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,63,3070 - HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,HDLC_GETFLAG_B1A6,63,3070 - HDLC_FAST_IDLE,HDLC_GET_FLAG_B0,HDLC_GETFLAG_B1A6,HDLC_GETFLAG_B7,63,3070 - HDLC_GET_DATA,64,3138 - HDLC_GET_DATA,HDLC_FAST_FLAG64,3138 - HDLC_SEND_DATA,68,3179 - HDLC_SEND_DATA,HDLC_SEND_CRC1,68,3179 - HDLC_SEND_DATA,HDLC_SEND_CRC1,HDLC_SEND_FAST_FLAG,68,3179 - HDLC_SEND_FIRST_FLAG,69,3231 - HDLC_SEND_FIRST_FLAG,HDLC_SEND_CRC2,69,3231 - HDLC_SEND_FIRST_FLAG,HDLC_SEND_CRC2,HDLC_SEND_CLOSING_FLAG,69,3231 - HDLC_SEND_IDLE1,70,3292 - HDLC_SEND_IDLE1,HDLC_SEND_FAST_IDLE,70,3292 - HDLC_SEND_IDLE1,HDLC_SEND_FAST_IDLE,HDLC_SENDFLAG_B0,70,3292 - HDLC_SENDFLAG_B1A6,71,3347 - HDLC_SENDFLAG_B1A6,HDLC_SENDFLAG_B7,71,3347 - HDLC_SENDFLAG_B1A6,HDLC_SENDFLAG_B7,STOPPED71,3347 -void isdnhdlc_rcv_init 74,3396 -void isdnhdlc_out_init 91,3766 -int isdnhdlc_decode 148,5608 -int isdnhdlc_encode(370,10872 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/avma1_cs.c,805 -static int pc_debug 43,1194 -#define DEBUG(DEBUG45,1258 -static char *version 46,1327 -#define DEBUG(DEBUG49,1411 -static int default_irq_list[56,1567 -static int irq_list[57,1644 -static int isdnprot 58,1678 -static dev_info_t dev_info 94,2829 -static dev_link_t *dev_list 106,3276 -typedef struct local_info_t local_info_t125,4183 -} local_info_t;local_info_t127,4234 -static dev_link_t *avma1cs_attach(141,4724 -static void avma1cs_detach(223,7331 -static int get_tuple(271,8672 -static int first_tuple(279,8902 -static int next_tuple(287,9126 -static void avma1cs_config(295,9348 -static void avma1cs_release(445,13400 -static int avma1cs_event(481,14636 -static struct pcmcia_driver avma1cs_driver 515,15543 -static int __init init_avma1_cs(526,15786 -static void __exit exit_avma1_cs(531,15879 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_fcpcipnp.h,216 -#define HSCX_BUFMAX 5,70 - AVM_FRITZ_PCI,8,103 - AVM_FRITZ_PNP,9,119 - AVM_FRITZ_PCIV2,10,135 -struct hdlc_stat_reg hdlc_stat_reg13,157 -struct fritz_bcs fritz_bcs27,521 -struct fritz_adapter fritz_adapter46,902 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/enternow_pci.c,334 -const char *enternow_pci_rev 77,2225 -ReadByteAmd7930(85,2420 -WriteByteAmd7930(100,2744 -enpci_setIrqMask(115,3045 -static BYTE dummyrr(123,3257 -static void dummywr(128,3347 -reset_enpci(138,3533 -enpci_card_msg(161,4176 -enpci_interrupt(231,6721 -static struct pci_dev *dev_netjet __initdata 292,8579 -setup_enternow_pci(296,8669 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_sx.c,1213 -static const char *hfcsx_revision 23,607 -static u_char ccd_sp_irqtab[46,1240 -static u_char ccd_sp_irqtab[50,1337 -#define NT_T1_COUNT 54,1417 -#define byteout(byteout56,1492 -#define bytein(bytein57,1533 -Write_hfc(63,1683 -Read_hfc(70,1853 -fifo_select(84,2197 -reset_fifo(102,2779 -write_fifo(118,3407 -read_fifo(208,6219 -release_io_hfcsx(312,9280 -static int set_fifo_size(330,10030 -reset_hfcsx(351,10728 -hfcsx_Timer(422,13543 -Sel_BCS(436,13932 -receive_dmsg(451,14287 -main_rec_hfcsx(477,14833 -hfcsx_fill_dfifo(509,15557 -hfcsx_fill_fifo(527,15892 -dch_nt_l2l1(561,16844 -hfcsx_auxcmd(596,17666 -receive_emsg(653,19625 -hfcsx_interrupt(695,20544 -hfcsx_dbusy_timer(864,25515 -HFCSX_l1hw(872,25696 -setstack_hfcsx(1008,30124 -hfcsx_send_data(1017,30351 -mode_hfcsx(1032,30832 -hfcsx_l2l1(1142,34050 -close_hfcsx(1203,35902 -open_hfcsxstate(1221,36358 -setstack_2b(1238,36788 -hfcsx_bh(1255,37150 -inithfcsx(1333,39370 -hfcsx_card_msg(1351,39844 -static struct isapnp_device_id hfc_ids[1387,40818 -static struct isapnp_device_id hfc_ids[] __initdata 1387,40818 -static struct isapnp_device_id *ipid __initdata 1394,41040 -static struct pnp_card *pnp_c __devinitdata 1395,41103 -setup_hfcsx(1399,41177 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/teles0.c,716 -const char *teles0_revision 26,638 -#define TELES_IOMEM_SIZE 28,694 -#define byteout(byteout29,725 -#define bytein(bytein30,766 -readisac(33,819 -writeisac(39,939 -readhscx(46,1082 -writehscx(53,1240 -read_fifo_isac(60,1419 -write_fifo_isac(69,1616 -read_fifo_hscx(79,1825 -write_fifo_hscx(88,2052 -ReadISAC(100,2304 -WriteISAC(106,2422 -ReadISACfifo(112,2554 -WriteISACfifo(118,2687 -ReadHSCX(124,2824 -WriteHSCX(130,2958 -#define READHSCX(READHSCX139,3141 -#define WRITEHSCX(WRITEHSCX140,3212 -#define READHSCXFIFO(READHSCXFIFO141,3297 -#define WRITEHSCXFIFO(WRITEHSCXFIFO142,3388 -teles0_interrupt(147,3524 -release_io_teles0(187,4685 -reset_teles0(196,4928 -Teles_card_msg(244,5762 -setup_teles0(269,6257 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/icc.h,1228 -#define ICC_MASK 18,553 -#define ICC_ISTA 19,575 -#define ICC_STAR 20,597 -#define ICC_CMDR 21,619 -#define ICC_EXIR 22,641 -#define ICC_ADF2 23,663 -#define ICC_SPCR 24,685 -#define ICC_ADF1 25,707 -#define ICC_CIR0 26,729 -#define ICC_CIX0 27,751 -#define ICC_CIR1 28,773 -#define ICC_CIX1 29,795 -#define ICC_STCR 30,817 -#define ICC_MODE 31,839 -#define ICC_RSTA 32,861 -#define ICC_RBCL 33,883 -#define ICC_RBCH 34,905 -#define ICC_TIMR 35,927 -#define ICC_SQXR 36,949 -#define ICC_MOSR 37,971 -#define ICC_MOCR 38,993 -#define ICC_MOR0 39,1015 -#define ICC_MOX0 40,1037 -#define ICC_MOR1 41,1059 -#define ICC_MOX1 42,1081 -#define ICC_RBCH_XAC 44,1104 -#define ICC_CMD_TIM 46,1131 -#define ICC_CMD_RES 47,1158 -#define ICC_CMD_DU 48,1185 -#define ICC_CMD_EI1 49,1212 -#define ICC_CMD_SSP 50,1239 -#define ICC_CMD_DT 51,1266 -#define ICC_CMD_AR 52,1293 -#define ICC_CMD_ARL 53,1320 -#define ICC_CMD_AI 54,1347 -#define ICC_CMD_DI 55,1374 -#define ICC_IND_DR 57,1402 -#define ICC_IND_FJ 58,1429 -#define ICC_IND_EI1 59,1456 -#define ICC_IND_INT 60,1483 -#define ICC_IND_PU 61,1510 -#define ICC_IND_AR 62,1537 -#define ICC_IND_ARL 63,1564 -#define ICC_IND_AI 64,1591 -#define ICC_IND_AIL 65,1618 -#define ICC_IND_DC 66,1645 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/elsa.c,3236 -const char *Elsa_revision 36,895 -const char *Elsa_Types[37,948 -const char *ITACVer[42,1112 -#define byteout(byteout46,1195 -#define bytein(bytein47,1236 -#define ELSA_ISAC 49,1268 -#define ELSA_ISAC_PCM 50,1288 -#define ELSA_ITAC 51,1312 -#define ELSA_HSCX 52,1332 -#define ELSA_ALE 53,1352 -#define ELSA_ALE_PCM 54,1371 -#define ELSA_CONTROL 55,1394 -#define ELSA_CONFIG 56,1417 -#define ELSA_START_TIMER 57,1439 -#define ELSA_TRIG_IRQ 58,1466 -#define ELSA_PC 60,1491 -#define ELSA_PCC8 61,1514 -#define ELSA_PCC16 62,1537 -#define ELSA_PCF 63,1560 -#define ELSA_PCFPRO 64,1583 -#define ELSA_PCMCIA 65,1606 -#define ELSA_QS1000 66,1629 -#define ELSA_QS3000 67,1652 -#define ELSA_QS1000PCI 68,1675 -#define ELSA_QS3000PCI 69,1700 -#define ELSA_PCMCIA_IPAC 70,1726 -#define ELSA_PCI_IRQ_MASK 73,1771 -#define ITAC_SYS 76,1851 -#define ITAC_ISEN 77,1873 -#define ITAC_RFIE 78,1896 -#define ITAC_XFIE 79,1919 -#define ITAC_SCIE 80,1942 -#define ITAC_STIE 81,1965 -#define ELSA_TIMER_RUN 89,2324 -#define ELSA_TIMER_RUN_PCC8 90,2389 -#define ELSA_IRQ_IDX 91,2459 -#define ELSA_IRQ_IDX_PCC8 92,2522 -#define ELSA_IRQ_IDX_PC 93,2583 -#define ELSA_LINE_LED 96,2676 -#define ELSA_STAT_LED 97,2732 -#define ELSA_ISDN_RESET 98,2789 -#define ELSA_ENA_TIMER_INT 99,2849 -#define ELSA_HW_RELEASE 102,2947 -#define ELSA_S0_POWER_BAD 103,3012 -#define ELSA_TIMER_AKTIV 106,3100 -#define ELSA_BAD_PWR 107,3127 -#define ELSA_ASSIGN 108,3154 -#define RS_ISR_PASS_LIMIT 110,3182 -#define _INLINE_ 111,3212 -#define FLG_MODEM_ACTIVE 112,3236 -#define ELSA_IPAC_LINE_LED 114,3278 -#define ELSA_IPAC_STAT_LED 115,3332 -static struct arcofi_msg ARCOFI_XOP_F 118,3403 -static struct arcofi_msg ARCOFI_XOP_1 120,3500 -static struct arcofi_msg ARCOFI_SOP_F 122,3603 -static struct arcofi_msg ARCOFI_COP_9 124,3719 -static struct arcofi_msg ARCOFI_COP_8 126,3843 -static struct arcofi_msg ARCOFI_COP_7 128,3966 -static struct arcofi_msg ARCOFI_COP_6 130,4071 -static struct arcofi_msg ARCOFI_COP_5 132,4181 -static struct arcofi_msg ARCOFI_VERSION 134,4287 -static struct arcofi_msg ARCOFI_XOP_0 136,4367 -readreg(145,4591 -readfifo(155,4749 -writereg(163,4900 -writefifo(170,5035 -ReadISAC(179,5209 -WriteISAC(185,5338 -ReadISACfifo(191,5481 -WriteISACfifo(197,5623 -ReadISAC_IPAC(203,5769 -WriteISAC_IPAC(209,5908 -ReadISACfifo_IPAC(215,6061 -WriteISACfifo_IPAC(221,6211 -ReadHSCX(227,6365 -WriteHSCX(234,6527 -readitac(241,6712 -writeitac(251,6886 -TimerRun(258,7036 -#define READHSCX(READHSCX273,7377 -#define WRITEHSCX(WRITEHSCX275,7477 -#define READHSCXFIFO(READHSCXFIFO278,7592 -#define WRITEHSCXFIFO(WRITEHSCXFIFO281,7707 -elsa_interrupt(287,7866 -elsa_interrupt_ipac(366,10095 -release_io_elsa(429,11671 -reset_elsa(467,12692 -set_arcofi(512,14323 -check_arcofi(519,14510 -elsa_led_handler(609,17066 -Elsa_card_msg(650,18207 -probe_elsa_adr(776,21339 -probe_elsa(825,22654 -static struct pci_dev *dev_qs1000 __devinitdata 838,22914 -static struct pci_dev *dev_qs3000 __devinitdata 839,22971 -static struct isapnp_device_id elsa_ids[842,23047 -static struct isapnp_device_id elsa_ids[] __initdata 842,23047 -static struct isapnp_device_id *ipid __initdata 852,23422 -static struct pnp_card *pnp_c __devinitdata 853,23486 -setup_elsa(857,23560 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481_d.c,1550 -static struct Fsm l1fsm;22,595 -static char *strL1State[24,621 -static char *strL1Event[33,720 -static inline void D_L1L2(56,1070 -l1_go_f3(64,1257 -l1_go_f6(76,1513 -l1_go_f7(87,1716 -l1_go_f8(98,1970 -l1_timer3(109,2173 -l1_ignore(119,2418 -l1_activate(124,2487 -static struct FsmNode L1FnList[135,2829 -static struct FsmNode L1FnList[] __initdata 135,2829 -static void l1m_debug(170,4111 -static struct Fsm dout_fsm;242,6273 -static char *strDoutState[244,6302 -static char *strDoutEvent[261,6595 -static void dout_debug(272,6769 -static void dout_stop_event(283,6952 -static void usb_d_out(293,7150 -static void fifo_reseted(366,9053 -static void usb_d_out_complete(373,9197 -static void dout_start_xmit(402,9949 -static void dout_short_fifo(456,11188 -static void dout_end_short_frame(465,11484 -static void dout_long_enable_fifo(473,11719 -static void dout_long_den(482,12024 -static void dout_reset(492,12289 -static void dout_stop(501,12591 -static void dout_underrun(510,12893 -static void dout_check_busy(522,13229 -static void dout_reseted(531,13495 -static void dout_complete(542,13798 -static void dout_ignore(550,13976 -static struct FsmNode DoutFnList[554,14048 -static struct FsmNode DoutFnList[] __initdata 554,14048 -void st5481_d_l2l1(581,15134 -static void ph_connect(613,15890 -static void ph_disconnect(641,16712 -static int st5481_setup_d_out(652,16998 -static void st5481_release_d_out(681,17892 -int st5481_setup_d(690,18062 -void st5481_release_d(731,19074 -int __init st5481_d_init(743,19308 -void st5481_d_exit(772,19904 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_2bds0.c,812 -#define byteout(byteout23,509 -#define bytein(bytein24,550 -dummyf(27,594 -ReadReg(33,735 -WriteReg(53,1173 -readreghfcd(70,1593 -writereghfcd(76,1704 -WaitForBusy(82,1836 -WaitNoBusy(96,2082 -SelFiFo(110,2323 -GetFreeFifoBytes_B(141,3027 -GetFreeFifoBytes_D(155,3342 -ReadZReg(169,3647 -*hfc_empty_fifo(181,3887 -hfc_fill_fifo(259,5998 -hfc_send_data(337,8361 -main_rec_2bds0(349,8639 -mode_2bs0(403,10066 -hfc_l2l1(451,11222 -close_2bs0(509,12902 -open_hfcstate(524,13236 -setstack_2b(538,13549 -hfcd_bh(552,13817 -int receive_dmsg(584,14510 -hfc_fill_dfifo(686,17213 -struct BCState *Sel_BCS(751,18908 -hfc2bds0_interrupt(762,19168 -HFCD_l1hw(900,22991 -setstack_hfcd(1008,26344 -hfc_dbusy_timer(1014,26446 -*init_send_hfcd(1019,26513 -init2bds0(1034,26786 -release2bds0(1053,27326 -set_cs_func(1070,27657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/ix1_micro.c,1002 -const char *ix1_revision 28,771 -#define byteout(byteout30,824 -#define bytein(bytein31,865 -#define SPECIAL_PORT_OFFSET 33,897 -#define ISAC_COMMAND_OFFSET 35,928 -#define ISAC_DATA_OFFSET 36,958 -#define HSCX_COMMAND_OFFSET 37,985 -#define HSCX_DATA_OFFSET 38,1015 -#define TIMEOUT 40,1043 -readreg(43,1084 -readfifo(53,1242 -writereg(61,1393 -writefifo(68,1528 -ReadISAC(77,1702 -WriteISAC(83,1834 -ReadISACfifo(89,1980 -WriteISACfifo(95,2125 -ReadHSCX(101,2274 -WriteHSCX(108,2439 -#define READHSCX(READHSCX114,2606 -#define WRITEHSCX(WRITEHSCX116,2709 -#define READHSCXFIFO(READHSCXFIFO119,2827 -#define WRITEHSCXFIFO(WRITEHSCXFIFO122,2945 -ix1micro_interrupt(128,3107 -release_io_ix1micro(166,4362 -ix1_reset(173,4491 -ix1_card_msg(187,4762 -static struct isapnp_device_id itk_ids[213,5279 -static struct isapnp_device_id itk_ids[] __initdata 213,5279 -static struct isapnp_device_id *ipid __initdata 223,5646 -static struct pnp_card *pnp_c __devinitdata 224,5709 -setup_ix1micro(229,5781 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/arcofi.c,168 -#define ARCOFI_TIMER_VALUE 18,409 -add_arcofi_timer(21,452 -send_arcofi(31,769 -arcofi_fsm(54,1424 -arcofi_timer(116,3149 -clear_arcofi(121,3237 -init_arcofi(128,3388 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/bkm_a8.c,1025 -#define ATTEMPT_PCI_REMAPPING 26,569 -const char sct_quadro_revision[30,661 -static const char *sct_quadro_subtypes[32,722 -#define wordout(wordout42,804 -#define wordin(wordin43,845 -readreg(46,898 -readfifo(55,1062 -writereg(65,1257 -writefifo(72,1392 -ReadISAC(83,1602 -WriteISAC(89,1739 -ReadISACfifo(95,1890 -WriteISACfifo(101,2036 -ReadHSCX(108,2187 -WriteHSCX(114,2347 -set_ipac_active(121,2559 -#define READHSCX(READHSCX132,2769 -#define WRITEHSCX(WRITEHSCX134,2869 -#define READHSCXFIFO(READHSCXFIFO136,2983 -#define WRITEHSCXFIFO(WRITEHSCXFIFO138,3097 -bkm_interrupt_ipac(144,3256 -release_io_sct_quadro(197,4616 -enable_bkm_int(205,4799 -reset_bkm(216,5104 -BKM_card_msg(228,5400 -sct_alloc_io(265,6231 -static struct pci_dev *dev_a8 __initdata 276,6436 -static u16 sub_vendor_id __initdata 277,6485 -static u16 sub_sys_id __initdata 278,6527 -static u_char pci_bus __initdata 279,6566 -static u_char pci_device_fn __initdata 280,6604 -static u_char pci_irq __initdata 281,6648 -setup_sct_quadro(286,6723 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/elsa_ser.c,1216 -#define MAX_MODEM_BUF 14,342 -#define WAKEUP_CHARS 15,368 -#define RS_ISR_PASS_LIMIT 16,407 -#define BASE_BAUD 17,437 -static u_char deb[29,716 -const char *ModemIn[30,739 -const char *ModemOut[31,814 -static char *MInit_1 34,898 -static char *MInit_2 35,941 -static char *MInit_3 36,984 -static char *MInit_4 37,1026 -static char *MInit_5 38,1069 -static char *MInit_6 39,1110 -static char *MInit_7 40,1153 -static char *MInit_speed28800 42,1196 -static char *MInit_dialout 44,1249 -static char *MInit_dialin 45,1298 -static inline unsigned int serial_in(48,1348 -static inline unsigned int serial_inp(59,1622 -static inline void serial_out(79,2134 -static inline void serial_outp(87,2347 -static void change_speed(108,2887 -static int mstartup(143,3929 -static void mshutdown(209,5503 -write_modem(241,6310 -modem_fill(279,7274 -static inline void receive_chars(308,8004 -static inline void transmit_chars(351,9125 -static void rs_interrupt_elsa(386,9980 -close_elsastate(426,10995 -modem_write_cmd(446,11458 -modem_set_init(476,12184 -#define RCV_DELAY 479,12242 -modem_set_dial(525,13543 -#define RCV_DELAY 527,13614 -modem_l2l1(547,14121 -setstack_elsa(583,15199 -init_modem(618,15998 -release_modem(645,16665 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_sx.h,3851 -#define HFCSX_BTRANS_THRESHOLD 18,615 -#define HFCSX_BTRANS_THRESMASK 19,650 -#define HFCSX_C_I 23,724 -#define HFCSX_TRxR 24,753 -#define HFCSX_MON1_D 25,782 -#define HFCSX_MON2_D 26,811 -#define HFCSX_B1_SSL 31,880 -#define HFCSX_B2_SSL 32,909 -#define HFCSX_AUX1_SSL 33,938 -#define HFCSX_AUX2_SSL 34,967 -#define HFCSX_B1_RSL 35,996 -#define HFCSX_B2_RSL 36,1025 -#define HFCSX_AUX1_RSL 37,1054 -#define HFCSX_AUX2_RSL 38,1083 -#define HFCSX_B1_D 42,1147 -#define HFCSX_B2_D 43,1176 -#define HFCSX_AUX1_D 44,1205 -#define HFCSX_AUX2_D 45,1234 -#define HFCSX_MST_EMOD 49,1307 -#define HFCSX_MST_MODE 50,1336 -#define HFCSX_CONNECT 51,1364 -#define HFCSX_TRM 56,1432 -#define HFCSX_B_MODE 57,1461 -#define HFCSX_CHIP_ID 58,1490 -#define HFCSX_CIRM 59,1519 -#define HFCSX_CTMT 60,1545 -#define HFCSX_INT_M1 61,1569 -#define HFCSX_INT_M2 62,1597 -#define HFCSX_INT_S1 63,1625 -#define HFCSX_INT_S2 64,1653 -#define HFCSX_STATUS 65,1681 -#define HFCSX_STATES 69,1739 -#define HFCSX_SCTRL 70,1767 -#define HFCSX_SCTRL_E 71,1794 -#define HFCSX_SCTRL_R 72,1823 -#define HFCSX_SQ 73,1852 -#define HFCSX_CLKDEL 74,1876 -#define HFCSX_B1_REC 75,1904 -#define HFCSX_B1_SEND 76,1933 -#define HFCSX_B2_REC 77,1962 -#define HFCSX_B2_SEND 78,1991 -#define HFCSX_D_REC 79,2020 -#define HFCSX_D_SEND 80,2049 -#define HFCSX_E_REC 81,2078 -#define HFCSX_FIF_SEL 86,2165 -#define HFCSX_FIF_Z1L 87,2194 -#define HFCSX_FIF_Z1H 88,2223 -#define HFCSX_FIF_Z2L 89,2252 -#define HFCSX_FIF_Z2H 90,2281 -#define HFCSX_FIF_INCF1 91,2310 -#define HFCSX_FIF_DWR 92,2339 -#define HFCSX_FIF_F1 93,2368 -#define HFCSX_FIF_F2 94,2397 -#define HFCSX_FIF_INCF2 95,2426 -#define HFCSX_FIF_DRD 96,2455 -#define HFCSX_SX_PROC 99,2522 -#define HFCSX_NBUSY 100,2552 -#define HFCSX_TIMER_ELAP 101,2579 -#define HFCSX_STATINT 102,2609 -#define HFCSX_FRAMEINT 103,2637 -#define HFCSX_ANYINT 104,2666 -#define HFCSX_CLTIMER 107,2721 -#define HFCSX_TIM3_125 108,2751 -#define HFCSX_TIM25 109,2781 -#define HFCSX_TIM50 110,2811 -#define HFCSX_TIM400 111,2841 -#define HFCSX_TIM800 112,2871 -#define HFCSX_AUTO_TIMER 113,2901 -#define HFCSX_TRANSB2 114,2931 -#define HFCSX_TRANSB1 115,2961 -#define HFCSX_IRQ_SELMSK 118,3019 -#define HFCSX_IRQ_SELDIS 119,3049 -#define HFCSX_RESET 120,3079 -#define HFCSX_FIFO_RESET 121,3107 -#define HFCSX_INTS_B1TRANS 125,3171 -#define HFCSX_INTS_B2TRANS 126,3204 -#define HFCSX_INTS_DTRANS 127,3237 -#define HFCSX_INTS_B1REC 128,3270 -#define HFCSX_INTS_B2REC 129,3303 -#define HFCSX_INTS_DREC 130,3336 -#define HFCSX_INTS_L1STATE 131,3369 -#define HFCSX_INTS_TIMER 132,3402 -#define HFCSX_PROC_TRANS 135,3457 -#define HFCSX_GCI_I_CHG 136,3490 -#define HFCSX_GCI_MON_REC 137,3523 -#define HFCSX_IRQ_ENABLE 138,3556 -#define HFCSX_STATE_MSK 141,3611 -#define HFCSX_LOAD_STATE 142,3644 -#define HFCSX_ACTIVATE 143,3677 -#define HFCSX_DO_ACTION 144,3709 -#define HFCSX_NT_G2_G3 145,3742 -#define HFCSX_MASTER 148,3804 -#define HFCSX_SLAVE 149,3834 -#define SCTRL_B1_ENA 153,3937 -#define SCTRL_B2_ENA 154,3967 -#define SCTRL_MODE_TE 155,3997 -#define SCTRL_MODE_NT 156,4030 -#define SCTRL_LOW_PRIO 157,4063 -#define SCTRL_SQ_ENA 158,4095 -#define SCTRL_TEST 159,4125 -#define SCTRL_NONE_CAP 160,4153 -#define SCTRL_PWR_DOWN 161,4185 -#define HFCSX_AUTO_AWAKE 164,4241 -#define HFCSX_DBIT_1 165,4274 -#define HFCSX_IGNORE_COL 166,4307 -#define HFCSX_CHG_B1_B2 167,4340 -#define HFCSX_SEL_D_RX 172,4485 -#define HFCSX_SEL_D_TX 173,4515 -#define HFCSX_SEL_B1_RX 174,4545 -#define HFCSX_SEL_B1_TX 175,4575 -#define HFCSX_SEL_B2_RX 176,4605 -#define HFCSX_SEL_B2_TX 177,4635 -#define MAX_D_FRAMES 179,4666 -#define MAX_B_FRAMES 180,4690 -#define B_SUB_VAL_32K 181,4714 -#define B_FIFO_SIZE_32K 182,4749 -#define B_SUB_VAL_8K 183,4801 -#define B_FIFO_SIZE_8K 184,4836 -#define D_FIFO_SIZE 185,4887 -#define D_FREG_MASK 186,4912 -struct hfcsx_extra hfcsx_extra191,5127 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/avm_pci.c,2099 -static const char *avm_pci_rev 25,625 -#define AVM_FRITZ_PCI 27,684 -#define AVM_FRITZ_PNP 28,710 -#define HDLC_FIFO 30,737 -#define HDLC_STATUS 31,761 -#define AVM_HDLC_1 33,788 -#define AVM_HDLC_2 34,814 -#define AVM_ISAC_FIFO 35,840 -#define AVM_ISAC_REG_LOW 36,869 -#define AVM_ISAC_REG_HIGH 37,900 -#define AVM_STATUS0_IRQ_ISAC 39,933 -#define AVM_STATUS0_IRQ_HDLC 40,968 -#define AVM_STATUS0_IRQ_TIMER 41,1003 -#define AVM_STATUS0_IRQ_MASK 42,1039 -#define AVM_STATUS0_RESET 44,1075 -#define AVM_STATUS0_DIS_TIMER 45,1107 -#define AVM_STATUS0_RES_TIMER 46,1143 -#define AVM_STATUS0_ENA_IRQ 47,1179 -#define AVM_STATUS0_TESTBIT 48,1213 -#define AVM_STATUS1_INT_SEL 50,1248 -#define AVM_STATUS1_ENA_IOM 51,1282 -#define HDLC_MODE_ITF_FLG 53,1317 -#define HDLC_MODE_TRANS 54,1349 -#define HDLC_MODE_CCR_7 55,1379 -#define HDLC_MODE_CCR_16 56,1409 -#define HDLC_MODE_TESTLOOP 57,1440 -#define HDLC_INT_XPR 59,1474 -#define HDLC_INT_XDU 60,1502 -#define HDLC_INT_RPR 61,1530 -#define HDLC_INT_MASK 62,1558 -#define HDLC_STAT_RME 64,1588 -#define HDLC_STAT_RDO 65,1617 -#define HDLC_STAT_CRCVFRRAB 66,1646 -#define HDLC_STAT_CRCVFR 67,1680 -#define HDLC_STAT_RML_MASK 68,1711 -#define HDLC_CMD_XRS 70,1747 -#define HDLC_CMD_XME 71,1775 -#define HDLC_CMD_RRS 72,1803 -#define HDLC_CMD_XML_MASK 73,1831 -ReadISAC(79,1908 -WriteISAC(90,2174 -ReadISACfifo(99,2420 -WriteISACfifo(106,2583 -ReadHDLCPCI(113,2756 -WriteHDLCPCI(124,3008 -ReadHDLCPnP(133,3242 -WriteHDLCPnP(144,3496 -ReadHDLC_s(153,3725 -WriteHDLC_s(159,3851 -struct BCState *Sel_BCS(165,3987 -write_ctrl(176,4247 -modehdlc(197,4873 -hdlc_empty_fifo(246,6227 -hdlc_fill_fifo(298,7556 -HDLC_irq(362,9163 -HDLC_irq_main(455,11974 -hdlc_l2l1(491,12810 -close_hdlcstate(551,14542 -open_hdlcstate(574,15022 -setstack_hdlc(602,15773 -clear_pending_hdlc_ints(616,16045 -inithdlc(646,16980 -avm_pcipnp_interrupt(657,17259 -reset_avmpcipnp(685,17958 -AVM_card_msg(697,18393 -static struct pci_dev *dev_avm __initdata 733,19312 -static struct pnp_card *pnp_avm_c __initdata 736,19387 -setup_avm_pcipnp(740,19459 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isac.h,1303 -#define ISAC_MASK 15,370 -#define ISAC_ISTA 16,393 -#define ISAC_STAR 17,416 -#define ISAC_CMDR 18,439 -#define ISAC_EXIR 19,462 -#define ISAC_ADF2 20,485 -#define ISAC_SPCR 21,508 -#define ISAC_ADF1 22,531 -#define ISAC_CIR0 23,554 -#define ISAC_CIX0 24,577 -#define ISAC_CIR1 25,600 -#define ISAC_CIX1 26,623 -#define ISAC_STCR 27,646 -#define ISAC_MODE 28,669 -#define ISAC_RSTA 29,692 -#define ISAC_RBCL 30,715 -#define ISAC_RBCH 31,738 -#define ISAC_TIMR 32,761 -#define ISAC_SQXR 33,784 -#define ISAC_MOSR 34,807 -#define ISAC_MOCR 35,830 -#define ISAC_MOR0 36,853 -#define ISAC_MOX0 37,876 -#define ISAC_MOR1 38,899 -#define ISAC_MOX1 39,922 -#define ISAC_RBCH_XAC 41,946 -#define ISAC_CMD_TIM 43,974 -#define ISAC_CMD_RS 44,999 -#define ISAC_CMD_SCZ 45,1023 -#define ISAC_CMD_SSZ 46,1048 -#define ISAC_CMD_AR8 47,1073 -#define ISAC_CMD_AR10 48,1098 -#define ISAC_CMD_ARL 49,1124 -#define ISAC_CMD_DUI 50,1149 -#define ISAC_IND_RS 52,1175 -#define ISAC_IND_PU 53,1199 -#define ISAC_IND_DR 54,1223 -#define ISAC_IND_SD 55,1247 -#define ISAC_IND_DIS 56,1271 -#define ISAC_IND_EI 57,1296 -#define ISAC_IND_RSY 58,1320 -#define ISAC_IND_ARD 59,1345 -#define ISAC_IND_TI 60,1370 -#define ISAC_IND_ATI 61,1394 -#define ISAC_IND_AI8 62,1419 -#define ISAC_IND_AI10 63,1444 -#define ISAC_IND_DID 64,1470 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnl2.c,3664 -const char *l2_revision 22,569 -static struct Fsm l2fsm;26,681 - ST_L2_1,29,714 - ST_L2_2,30,724 - ST_L2_3,31,734 - ST_L2_4,32,744 - ST_L2_5,33,754 - ST_L2_6,34,764 - ST_L2_7,35,774 - ST_L2_8,36,784 -#define L2_STATE_COUNT 39,798 -static char *strL2State[41,834 - EV_L2_UI,54,971 - EV_L2_SABME,55,982 - EV_L2_DISC,56,996 - EV_L2_DM,57,1009 - EV_L2_UA,58,1020 - EV_L2_FRMR,59,1031 - EV_L2_SUPER,60,1044 - EV_L2_I,61,1058 - EV_L2_DL_DATA,62,1068 - EV_L2_ACK_PULL,63,1084 - EV_L2_DL_UNIT_DATA,64,1101 - EV_L2_DL_ESTABLISH_REQ,65,1122 - EV_L2_DL_RELEASE_REQ,66,1147 - EV_L2_MDL_ASSIGN,67,1170 - EV_L2_MDL_REMOVE,68,1189 - EV_L2_MDL_ERROR,69,1208 - EV_L1_DEACTIVATE,70,1226 - EV_L2_T200,71,1245 - EV_L2_T203,72,1258 - EV_L2_SET_OWN_BUSY,73,1271 - EV_L2_CLEAR_OWN_BUSY,74,1292 - EV_L2_FRAME_ERROR,75,1315 -#define L2_EVENT_COUNT 78,1339 -static char *strL2Event[80,1385 -set_peer_busy(109,1882 -clear_peer_busy(116,2087 -InitWin(122,2236 -freewin1(131,2348 -freewin(146,2564 -ReleaseWin(152,2628 -cansend(161,2787 -clear_exception(173,3044 -l2headersize(182,3253 -l2addrsize(189,3417 -sethdraddr(195,3512 -enqueue_super(216,3893 -#define enqueue_ui(enqueue_ui224,4074 -IsUI(227,4131 -IsUA(233,4201 -IsDM(239,4271 -IsDISC(245,4341 -IsRR(251,4415 -IsSFrame(260,4576 -IsSABME(270,4771 -IsREJ(278,4930 -IsFRMR(284,5074 -IsRNR(290,5148 -iframe_error(296,5285 -super_error(319,5632 -unnum_error(329,5809 -UI_error(345,6077 -FRMR_error(361,6326 -legalnr(392,6980 -setva(403,7240 -send_uframe(431,7946 -get_PollFlag(448,8314 -FreeSkb(454,8437 -get_PollFlagFree(461,8507 -start_t200(471,8652 -restart_t200(478,8815 -stop_t200(485,8984 -st5_dl_release_l2l3(492,9121 -lapb_dl_release_l2l3(505,9341 -establishlink(513,9537 -l2_mdl_error_ua(530,9921 -l2_mdl_error_dm(542,10214 -l2_st8_mdl_error_dm(557,10582 -l2_go_st3(572,10952 -l2_mdl_assign(578,11052 -l2_queue_ui_assign(587,11242 -l2_queue_ui(598,11504 -tx_ui(607,11679 -l2_send_ui(622,11958 -l2_got_ui(632,12144 -l2_establish(647,12459 -l2_discard_i_setl3(656,12633 -l2_l3_reestablish(666,12877 -l2_release(676,13091 -l2_pend_rel(684,13243 -l2_disconnect(692,13397 -l2_start_multi(706,13690 -l2_send_UA(725,14120 -l2_send_DM(734,14309 -l2_restart_multi(743,14498 -l2_stop_multi(778,15290 -l2_connected(795,15652 -l2_released(834,16498 -l2_reestablish(851,16813 -l2_st5_dm_release(863,17057 -l2_st6_dm_release(880,17486 -enquiry_cr(893,17752 -enquiry_response(916,18301 -transmit_enquiry(926,18513 -nrerrorrecovery(938,18746 -invoke_retransmission(948,18960 -l2_st7_got_super(979,19724 -l2_feed_i_if_reest(1040,21186 -l2_feed_i_pull(1054,21533 -l2_feed_iqueue(1066,21853 -l2_got_iframe(1077,22130 -l2_got_tei(1146,23850 -l2_st5_tout_200(1162,24170 -l2_st6_tout_200(1186,24944 -l2_st7_tout_200(1207,25554 -l2_st8_tout_200(1225,25959 -l2_st7_tout_203(1246,26493 -l2_pull_iqueue(1261,26834 -l2_st8_got_super(1325,28524 -l2_got_FRMR(1381,29700 -l2_st24_tei_remove(1398,30146 -l2_st3_tei_remove(1408,30344 -l2_st5_tei_remove(1419,30590 -l2_st6_tei_remove(1433,30882 -l2_tei_remove(1445,31145 -l2_st14_persistant_da(1460,31488 -l2_st5_persistant_da(1471,31782 -l2_st6_persistant_da(1484,32059 -l2_persistant_da(1495,32307 -l2_set_own_busy(1509,32635 -l2_clear_own_busy(1520,32883 -l2_frame_error(1531,33134 -l2_frame_error_reest(1539,33292 -static struct FsmNode L2FnList[1548,33512 -static struct FsmNode L2FnList[] __initdata 1548,33512 -#define L2_FN_COUNT 1640,37403 -isdnl2_l1l2(1643,37478 -isdnl2_l3l2(1725,39869 -releasestack_isdnl2(1771,41125 -l2m_debug(1781,41338 -setstack_isdnl2(1792,41546 -transl2_l3l2(1819,42182 -setstack_transl2(1836,42560 -releasestack_transl2(1842,42635 -Isdnl2New(1847,42691 -Isdnl2Free(1857,42898 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/sedlbauer_cs.c,762 -static int pc_debug 71,2752 -#define DEBUG(DEBUG73,2816 -static char *version 74,2886 -#define DEBUG(DEBUG77,2970 -static u_int irq_mask 87,3248 -static int irq_list[89,3336 -static int protocol 94,3430 -static dev_info_t dev_info 135,4847 -static dev_link_t *dev_list 147,5299 -typedef struct local_info_t local_info_t174,6587 -} local_info_t;local_info_t179,6695 -static dev_link_t *sedlbauer_attach(193,7187 -static void sedlbauer_detach(270,9651 -#define CS_CHECK(CS_CHECK314,10999 -static void sedlbauer_config(317,11106 -static void sedlbauer_release(543,19164 -static int sedlbauer_event(589,20609 -static struct pcmcia_driver sedlbauer_driver 634,21822 -static int __init init_sedlbauer_cs(643,22000 -static void __exit exit_sedlbauer_cs(648,22098 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/w6692.c,1167 -} PCI_ENTRY;PCI_ENTRY27,623 -static const PCI_ENTRY id_list[29,637 -#define W6692_SV_USR 36,886 -#define W6692_SD_USR 37,916 -#define W6692_WINBOND 38,946 -#define W6692_DYNALINK 39,971 -#define W6692_USR 40,996 -const char *w6692_revision 44,1054 -#define DBUSY_TIMER_VALUE 46,1109 -static char *W6692Ver[48,1139 -static char *W6692Ver[] __initdata 48,1139 -W6692Version(53,1244 -ph_command(62,1448 -W6692_new_ph(71,1632 -W6692_bh(105,2405 -W6692_empty_fifo(135,3158 -W6692_fill_fifo(164,3881 -W6692B_empty_fifo(206,4882 -W6692B_fill_fifo(236,5782 -W6692B_interrupt(274,6743 -W6692_interrupt(404,10755 -W6692_l1hw(561,15389 -setstack_W6692(675,18534 -DC_Close_W6692(681,18638 -dbusy_timer_handler(686,18696 -W6692Bmode(727,19850 -W6692_l2l1(758,20657 -close_w6692state(818,22400 -open_w6692state(841,22904 -setstack_w6692(870,23722 -void resetW6692(883,23985 -void __init initW6692(905,24623 -ReadW6692(940,25626 -WriteW6692(946,25739 -ReadISACfifo(952,25866 -WriteISACfifo(958,25999 -ReadW6692B(964,26136 -WriteW6692B(970,26282 -w6692_card_msg(976,26441 -static int id_idx 998,26874 -static struct pci_dev *dev_w6692 __initdata 1000,26895 -setup_w6692(1003,26960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/st5481_usb.c,683 -static void usb_next_ctrl_msg(26,663 -void usb_ctrl_msg(58,1496 -void st5481_usb_device_ctrl_msg(86,2230 -void st5481_usb_pipe_reset(98,2568 -void st5481_ph_command(114,2883 -static void usb_ctrl_complete(126,3214 -static void usb_int_complete(176,4462 -int st5481_setup_usb(239,5822 -void st5481_release_usb(323,7882 -void st5481_start(345,8374 -void st5481_stop(385,9184 -fill_isoc_urb(397,9436 -st5481_setup_isocpipes(422,10107 -void st5481_release_isocpipes(459,10901 -static void usb_in_complete(478,11360 -int st5481_setup_in(536,12754 -void st5481_release_in(563,13259 -int st5481_isoc_flatten(574,13458 -static void st5481_start_rcv(611,14271 -void st5481_in_mode(625,14563 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax.h,10520 -#define ERROR_STATISTIC29,731 -#define REQUEST 31,756 -#define CONFIRM 32,775 -#define INDICATION 33,794 -#define RESPONSE 34,815 -#define HW_ENABLE 36,835 -#define HW_RESET 37,860 -#define HW_POWERUP 38,884 -#define HW_ACTIVATE 39,910 -#define HW_DEACTIVATE 40,937 -#define HW_INFO1 42,967 -#define HW_INFO2 43,991 -#define HW_INFO3 44,1015 -#define HW_INFO4 45,1039 -#define HW_INFO4_P8 46,1063 -#define HW_INFO4_P10 47,1090 -#define HW_RSYNC 48,1118 -#define HW_TESTLOOP 49,1142 -#define CARD_RESET 50,1169 -#define CARD_INIT 51,1195 -#define CARD_RELEASE 52,1220 -#define CARD_TEST 53,1248 -#define CARD_AUX_IND 54,1273 -#define PH_ACTIVATE 56,1302 -#define PH_DEACTIVATE 57,1329 -#define PH_DATA 58,1358 -#define PH_PULL 59,1382 -#define PH_TESTLOOP 60,1406 -#define PH_PAUSE 61,1433 -#define MPH_ACTIVATE 62,1457 -#define MPH_DEACTIVATE 63,1485 -#define MPH_INFORMATION 64,1515 -#define DL_ESTABLISH 66,1547 -#define DL_RELEASE 67,1575 -#define DL_DATA 68,1601 -#define DL_FLUSH 69,1625 -#define DL_UNIT_DATA 70,1649 -#define MDL_BC_RELEASE 72,1678 -#define MDL_BC_ASSIGN 73,1733 -#define MDL_ASSIGN 74,1788 -#define MDL_REMOVE 75,1814 -#define MDL_ERROR 76,1840 -#define MDL_INFO_SETUP 77,1865 -#define MDL_INFO_CONN 78,1895 -#define MDL_INFO_REL 79,1924 -#define CC_SETUP 81,1953 -#define CC_RESUME 82,1977 -#define CC_MORE_INFO 83,2002 -#define CC_IGNORE 84,2030 -#define CC_REJECT 85,2055 -#define CC_SETUP_COMPL 86,2080 -#define CC_PROCEEDING 87,2110 -#define CC_ALERTING 88,2139 -#define CC_PROGRESS 89,2166 -#define CC_CONNECT 90,2193 -#define CC_CHARGE 91,2219 -#define CC_NOTIFY 92,2244 -#define CC_DISCONNECT 93,2269 -#define CC_RELEASE 94,2298 -#define CC_SUSPEND 95,2324 -#define CC_PROCEED_SEND 96,2350 -#define CC_REDIR 97,2381 -#define CC_T302 98,2412 -#define CC_T303 99,2436 -#define CC_T304 100,2460 -#define CC_T305 101,2484 -#define CC_T308_1 102,2508 -#define CC_T308_2 103,2533 -#define CC_T309 104,2558 -#define CC_T310 105,2589 -#define CC_T313 106,2613 -#define CC_T318 107,2637 -#define CC_T319 108,2661 -#define CC_TSPID 109,2685 -#define CC_NOSETUP_RSP 110,2709 -#define CC_SETUP_ERR 111,2739 -#define CC_SUSPEND_ERR 112,2767 -#define CC_RESUME_ERR 113,2797 -#define CC_CONNECT_ERR 114,2826 -#define CC_RELEASE_ERR 115,2856 -#define CC_RESTART 116,2886 -#define CC_TDSS1_IO 117,2912 -#define CC_TNI1_IO 118,2971 -#define MAX_WAITING_CALLS 121,3093 - #define l3dss1_process128,3244 - #define l3ni1_process134,3373 -#define MAX_DFRAME_LEN 139,3474 -#define MAX_DFRAME_LEN_L1 140,3501 -#define HSCX_BUFMAX 141,3531 -#define MAX_DATA_SIZE 142,3556 -#define MAX_DATA_MEM 143,3596 -#define RAW_BUFMAX 144,3636 -#define MAX_HEADER_LEN 145,3681 -#define MAX_WINDOW 146,3706 -#define MAX_MON_FRAME 147,3727 -#define MAX_DLOG_SPACE 148,3752 -#define MAX_BLOG_SPACE 149,3780 -#define I4L_IRQ_FLAG 152,3848 -typedef void (* FSMFNPTR)FSMFNPTR160,3916 -struct Fsm Fsm162,3975 -struct FsmInst FsmInst168,4076 -struct FsmNode FsmNode177,4223 -struct FsmTimer FsmTimer182,4313 -struct L3Timer L3Timer189,4403 -#define FLG_L1_ACTIVATING 195,4483 -#define FLG_L1_ACTIVATED 196,4511 -#define FLG_L1_DEACTTIMER 197,4538 -#define FLG_L1_ACTTIMER 198,4566 -#define FLG_L1_T3RUN 199,4593 -#define FLG_L1_PULL_REQ 200,4617 -#define FLG_L1_UINT 201,4644 -struct Layer1 Layer1203,4668 -#define GROUP_TEI 217,4977 -#define TEI_SAPI 218,4999 -#define CTRL_SAPI 219,5019 -#define PACKET_NOACK 220,5039 -#define FLG_LAPB 224,5085 -#define FLG_LAPD 225,5104 -#define FLG_ORIG 226,5123 -#define FLG_MOD128 227,5142 -#define FLG_PEND_REL 228,5163 -#define FLG_L3_INIT 229,5186 -#define FLG_T200_RUN 230,5208 -#define FLG_ACK_PEND 231,5231 -#define FLG_REJEXC 232,5254 -#define FLG_OWN_BUSY 233,5275 -#define FLG_PEER_BUSY 234,5298 -#define FLG_DCHAN_BUSY 235,5323 -#define FLG_L1_ACTIV 236,5349 -#define FLG_ESTAB_PEND 237,5373 -#define FLG_PTP 238,5399 -#define FLG_FIXED_TEI 239,5419 -#define FLG_L2BLOCK 240,5444 -struct Layer2 Layer2242,5468 -struct Layer3 Layer3265,5966 -struct LLInterface LLInterface279,6313 -#define FLG_LLI_L1WAKEUP 286,6474 -#define FLG_LLI_L2WAKEUP 287,6501 -struct Management Management289,6529 -#define NO_CAUSE 297,6679 -struct Param Param299,6701 -struct PStack PStack311,6956 -struct l3_process l3_process332,7494 -struct hscx_hw hscx_hw356,8094 -struct w6692B_hw w6692B_hw365,8281 -struct isar_reg isar_reg372,8439 -struct isar_hw isar_hw381,8600 -struct hdlc_stat_reg hdlc_stat_reg398,8882 -struct hdlc_hw hdlc_hw412,9246 -struct hfcB_hw hfcB_hw423,9462 -struct tiger_hw tiger_hw429,9522 -struct amd7930_hw amd7930_hw451,9826 -#define BC_FLG_INIT 462,10034 -#define BC_FLG_ACTIV 463,10056 -#define BC_FLG_BUSY 464,10079 -#define BC_FLG_NOFRAME 465,10101 -#define BC_FLG_HALF 466,10126 -#define BC_FLG_EMPTY 467,10148 -#define BC_FLG_ORIG 468,10171 -#define BC_FLG_DLEETX 469,10193 -#define BC_FLG_LASTDLE 470,10217 -#define BC_FLG_FIRST 471,10242 -#define BC_FLG_LASTDATA 472,10266 -#define BC_FLG_NMD_DATA 473,10293 -#define BC_FLG_FTI_RUN 474,10320 -#define BC_FLG_LL_OK 475,10346 -#define BC_FLG_LL_CONN 476,10370 -#define BC_FLG_FTI_FTS 477,10396 -#define BC_FLG_FRH_WAIT 478,10422 -#define L1_MODE_NULL 480,10450 -#define L1_MODE_TRANS 481,10473 -#define L1_MODE_HDLC 482,10497 -#define L1_MODE_EXTRN 483,10520 -#define L1_MODE_HDLC_56K 484,10544 -#define L1_MODE_MODEM 485,10571 -#define L1_MODE_V32 486,10595 -#define L1_MODE_FAX 487,10617 -struct BCState BCState489,10640 -struct Channel Channel526,11500 -struct elsa_hw elsa_hw544,11933 -struct teles3_hw teles3_hw573,12461 -struct teles0_hw teles0_hw581,12601 -struct avm_hw avm_hw587,12694 -struct ix1_hw ix1_hw597,12876 -struct diva_hw diva_hw605,13007 -struct asus_hw asus_hw619,13271 -struct hfc_hw hfc_hw629,13413 -struct sedl_hw sedl_hw639,13585 -struct spt_hw spt_hw652,13821 -struct mic_hw mic_hw659,13931 -struct njet_hw njet_hw666,14033 -struct hfcPCI_hw hfcPCI_hw679,14282 -struct hfcSX_hw hfcSX_hw705,15021 -struct hfcD_hw hfcD_hw730,15596 -struct isurf_hw isurf_hw751,16010 -struct saphir_hw saphir_hw759,16143 -struct bkm_hw bkm_hw768,16296 -struct gazel_hw gazel_hw781,16551 -struct w6692_hw w6692_hw794,16811 -struct te_hw te_hw801,16932 -struct arcofi_msg arcofi_msg813,17146 -struct isac_chip isac_chip820,17243 -struct hfcd_chip hfcd_chip836,17523 -struct hfcpci_chip hfcpci_chip840,17561 -struct hfcsx_chip hfcsx_chip844,17601 -struct w6692_chip w6692_chip848,17640 -struct amd7930_chip amd7930_chip852,17679 -struct icc_chip icc_chip863,17940 -#define HW_IOM1 879,18219 -#define HW_IPAC 880,18239 -#define HW_ISAR 881,18259 -#define HW_ARCOFI 882,18279 -#define FLG_TWO_DCHAN 883,18300 -#define FLG_L1_DBUSY 884,18325 -#define FLG_DBUSY_TIMER 885,18349 -#define FLG_LOCK_ATOMIC 886,18376 -#define FLG_ARCOFI_TIMER 887,18403 -#define FLG_ARCOFI_ERROR 888,18430 -#define FLG_HW_L1_UINT 889,18457 -struct IsdnCardState IsdnCardState891,18485 -#define schedule_event(schedule_event979,20826 -#define MON0_RX 981,20932 -#define MON1_RX 982,20951 -#define MON0_TX 983,20970 -#define MON1_TX 984,20989 -#define CARD_TELES0 992,21087 -#define ISDN_CHIP_ISAC 994,21133 -#define CARD_TELES0 997,21171 -#define CARD_TELES3 1001,21228 -#define ISDN_CHIP_ISAC 1003,21274 -#define CARD_TELES3 1006,21312 -#define CARD_TELESPCI 1010,21373 -#define ISDN_CHIP_ISAC 1012,21421 -#define CARD_TELESPCI 1015,21459 -#define CARD_AVM_A1 1019,21520 -#define ISDN_CHIP_ISAC 1021,21566 -#define CARD_AVM_A1 1024,21604 -#define CARD_AVM_A1_PCMCIA 1028,21670 -#define ISDN_CHIP_ISAC 1030,21723 -#define CARD_AVM_A1_PCMCIA 1033,21761 -#define CARD_FRITZPCI 1037,21829 -#define ISDN_CHIP_ISAC 1039,21877 -#define CARD_FRITZPCI 1042,21915 -#define CARD_ELSA 1046,21974 -#define ISDN_CHIP_ISAC 1048,22018 -#define CARD_ELSA 1051,22056 -#define CARD_IX1MICROR2 1055,22117 -#define ISDN_CHIP_ISAC 1057,22166 -#define CARD_IX1MICROR2 1060,22204 -#define CARD_DIEHLDIVA 1064,22269 -#define ISDN_CHIP_ISAC 1066,22317 -#define CARD_DIEHLDIVA 1069,22355 -#define CARD_ASUSCOM 1073,22417 -#define ISDN_CHIP_ISAC 1075,22463 -#define CARD_ASUSCOM 1078,22501 -#define CARD_TELEINT 1082,22561 -#define ISDN_CHIP_ISAC 1084,22607 -#define CARD_TELEINT 1087,22645 -#define CARD_SEDLBAUER 1091,22707 -#define ISDN_CHIP_ISAC 1093,22755 -#define CARD_SEDLBAUER 1096,22793 -#define CARD_SPORTSTER 1100,22857 -#define ISDN_CHIP_ISAC 1102,22905 -#define CARD_SPORTSTER 1105,22943 -#define CARD_MIC 1109,23001 -#define ISDN_CHIP_ISAC 1111,23043 -#define CARD_MIC 1114,23081 -#define CARD_NETJET_S 1118,23136 -#define ISDN_CHIP_ISAC 1120,23183 -#define CARD_NETJET_S 1123,23221 -#define CARD_HFCS 1127,23278 -#define CARD_HFCS 1129,23305 -#define CARD_HFC_PCI 1133,23362 -#define CARD_HFC_PCI 1135,23392 -#define CARD_HFC_SX 1139,23451 -#define CARD_HFC_SX 1141,23480 -#define CARD_AMD7930 1145,23540 -#define CARD_AMD7930 1147,23569 -#define CARD_NICCY 1151,23626 -#define ISDN_CHIP_ISAC 1153,23670 -#define CARD_NICCY 1156,23708 -#define CARD_ISURF 1160,23763 -#define ISDN_CHIP_ISAC 1162,23807 -#define CARD_ISURF 1165,23845 -#define CARD_S0BOX 1169,23900 -#define ISDN_CHIP_ISAC 1171,23944 -#define CARD_S0BOX 1174,23982 -#define CARD_HSTSAPHIR 1178,24041 -#define ISDN_CHIP_ISAC 1180,24089 -#define CARD_HSTSAPHIR 1183,24127 -#define CARD_TESTEMU 1187,24188 -#define ISDN_CTYPE_TESTEMU 1188,24211 -#define ISDN_CTYPE_COUNT 1190,24265 -#define CARD_TESTEMU 1192,24316 -#define CARD_BKM_A4T 1196,24375 -#define ISDN_CHIP_ISAC 1198,24421 -#define CARD_BKM_A4T 1201,24459 -#define CARD_SCT_QUADRO 1205,24521 -#define ISDN_CHIP_ISAC 1207,24570 -#define CARD_SCT_QUADRO 1210,24608 -#define CARD_GAZEL 1214,24668 -#define ISDN_CHIP_ISAC 1216,24713 -#define CARD_GAZEL 1219,24751 -#define CARD_W6692 1223,24808 -#define ISDN_CHIP_W6692 1225,24853 -#define CARD_W6692 1228,24892 -#define CARD_NETJET_U 1232,24951 -#define ISDN_CHIP_ICC 1234,24997 -#define HISAX_UINTERFACE 1237,25053 -#define CARD_NETJET_U 1240,25093 -#define CARD_FN_ENTERNOW_PCI 1244,25158 -#define TEI_PER_CARD 1247,25197 -#define L1_DEB_WARN 1250,25236 -#define L1_DEB_INTSTAT 1251,25262 -#define L1_DEB_ISAC 1252,25291 -#define L1_DEB_ISAC_FIFO 1253,25317 -#define L1_DEB_HSCX 1254,25347 -#define L1_DEB_HSCX_FIFO 1255,25373 -#define L1_DEB_LAPD 1256,25403 -#define L1_DEB_IPAC 1257,25436 -#define L1_DEB_RECEIVE_FRAME 1258,25469 -#define L1_DEB_MONITOR 1259,25507 -#define DEB_DLOG_HEX 1260,25537 -#define DEB_DLOG_VERBOSE 1261,25565 -#define L2FRAME_DEBUG1263,25597 -#define HZDELAY(HZDELAY1323,27914 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/asuscom.c,1230 -const char *Asuscom_revision 25,617 -#define byteout(byteout27,674 -#define bytein(bytein28,715 -#define ASUS_ISAC 30,747 -#define ASUS_HSCX 31,767 -#define ASUS_ADR 32,787 -#define ASUS_CTRL_U7 33,806 -#define ASUS_CTRL_POTS 34,829 -#define ASUS_IPAC_ALE 36,855 -#define ASUS_IPAC_DATA 37,879 -#define ASUS_ISACHSCX 39,905 -#define ASUS_IPAC 40,929 -#define ASUS_RESET 43,973 -readreg(46,1050 -readfifo(56,1208 -writereg(64,1359 -writefifo(71,1494 -ReadISAC(80,1668 -WriteISAC(86,1797 -ReadISACfifo(92,1940 -WriteISACfifo(98,2082 -ReadISAC_IPAC(104,2228 -WriteISAC_IPAC(110,2367 -ReadISACfifo_IPAC(116,2520 -WriteISACfifo_IPAC(122,2670 -ReadHSCX(128,2824 -WriteHSCX(135,2986 -#define READHSCX(READHSCX145,3197 -#define WRITEHSCX(WRITEHSCX147,3297 -#define READHSCXFIFO(READHSCXFIFO150,3412 -#define WRITEHSCXFIFO(WRITEHSCXFIFO153,3527 -asuscom_interrupt(159,3686 -asuscom_interrupt_ipac(197,4930 -release_io_asuscom(243,6088 -reset_asuscom(252,6243 -Asus_card_msg(274,6980 -static struct isapnp_device_id asus_ids[300,7512 -static struct isapnp_device_id asus_ids[] __initdata 300,7512 -static struct isapnp_device_id *ipid __initdata 316,8194 -static struct pnp_card *pnp_c __devinitdata 317,8258 -setup_asuscom(321,8329 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/telespci.c,1109 -const char *telespci_revision 24,599 -#define ZORAN_PO_RQ_PEN 26,657 -#define ZORAN_PO_WR 27,692 -#define ZORAN_PO_GID0 28,723 -#define ZORAN_PO_GID1 29,756 -#define ZORAN_PO_GREG0 30,789 -#define ZORAN_PO_GREG1 31,823 -#define ZORAN_PO_DMASK 32,857 -#define WRITE_ADDR_ISAC 34,886 -#define READ_DATA_ISAC 35,957 -#define WRITE_DATA_ISAC 36,1013 -#define WRITE_ADDR_HSCX 37,1084 -#define READ_DATA_HSCX 38,1155 -#define WRITE_DATA_HSCX 39,1211 -#define ZORAN_WAIT_NOBUSY 41,1283 -readisac(46,1417 -writeisac(63,1763 -readhscx(79,2085 -writehscx(95,2460 -read_fifo_isac(110,2808 -write_fifo_isac(128,3226 -read_fifo_hscx(145,3613 -write_fifo_hscx(163,4062 -ReadISAC(183,4499 -WriteISAC(189,4617 -ReadISACfifo(195,4749 -WriteISACfifo(201,4882 -ReadHSCX(207,5019 -WriteHSCX(213,5153 -#define READHSCX(READHSCX222,5336 -#define WRITEHSCX(WRITEHSCX223,5407 -#define READHSCXFIFO(READHSCXFIFO224,5492 -#define WRITEHSCXFIFO(WRITEHSCXFIFO225,5583 -telespci_interrupt(230,5719 -release_io_telespci(261,6676 -TelesPCI_card_msg(267,6779 -static struct pci_dev *dev_tel __initdata 288,7162 -setup_telespci(291,7224 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/fsm.h,185 -#define __FSM_H__15,405 -typedef void (* FSMFNPTR)FSMFNPTR21,467 -struct Fsm Fsm23,526 -struct FsmInst FsmInst29,627 -struct FsmNode FsmNode38,774 -struct FsmTimer FsmTimer43,864 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/icc.c,450 -#define DBUSY_TIMER_VALUE 24,643 -#define ARCOFI_USE 25,672 -static char *ICCVer[27,694 -static char *ICCVer[] __initdata 27,694 -ICCVersion(31,789 -ph_command(40,978 -icc_new_ph(49,1176 -icc_bh(80,1849 -icc_empty_fifo(112,2655 -icc_fill_fifo(141,3349 -icc_interrupt(183,4270 -ICC_l1hw(434,11701 -setstack_icc(567,15346 -DC_Close_icc(573,15440 -dbusy_timer_handler(585,15666 -initicc(621,16651 -clear_pending_icc_ints(654,17572 -setup_icc(679,18236 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/isdnl1.c,2471 -const char *l1_revision 21,599 -#define TIMER3_VALUE 27,715 -static struct Fsm l1fsm_b;29,742 -static struct Fsm l1fsm_s;30,769 - ST_L1_F2,33,804 - ST_L1_F3,34,815 - ST_L1_F4,35,826 - ST_L1_F5,36,837 - ST_L1_F6,37,848 - ST_L1_F7,38,859 - ST_L1_F8,39,870 -#define L1S_STATE_COUNT 42,885 -static char *strL1SState[44,923 -struct Fsm l1fsm_u 57,1080 - ST_L1_RESET,61,1135 - ST_L1_DEACT,62,1149 - ST_L1_SYNC2,63,1163 - ST_L1_TRANS,64,1177 -#define L1U_STATE_COUNT 67,1195 -static char *strL1UState[69,1236 - ST_L1_NULL,79,1349 - ST_L1_WAIT_ACT,80,1362 - ST_L1_WAIT_DEACT,81,1379 - ST_L1_ACTIV,82,1398 -#define L1B_STATE_COUNT 85,1416 -static char *strL1BState[87,1457 - EV_PH_ACTIVATE,96,1570 - EV_PH_DEACTIVATE,97,1587 - EV_RESET_IND,98,1606 - EV_DEACT_CNF,99,1621 - EV_DEACT_IND,100,1636 - EV_POWER_UP,101,1651 - EV_RSYNC_IND,102,1665 - EV_INFO2_IND,103,1681 - EV_INFO4_IND,104,1696 - EV_TIMER_DEACT,105,1711 - EV_TIMER_ACT,106,1728 - EV_TIMER3,107,1743 -#define L1_EVENT_COUNT 110,1759 -static char *strL1Event[112,1799 -debugl1(129,2047 -l1m_debug(141,2263 -L1activated(155,2548 -L1deactivated(170,2837 -DChannel_proc_xmt(185,3154 -DChannel_proc_rcv(203,3466 -BChannel_proc_xmt(270,5267 -BChannel_proc_rcv(289,5728 -BChannel_proc_ack(303,6050 -BChannel_bh(317,6293 -HiSax_addlist(330,6593 -HiSax_rmlist(338,6711 -init_bcstate(358,7013 -l2cmd(374,7335 -static char tmpdeb[405,7757 -l2frames(408,7789 -Logl2Frame(438,8320 -l1_reset(454,8692 -l1_deact_cnf(460,8791 -l1_deact_req_s(470,9025 -l1_power_up_s(480,9282 -l1_go_F5(494,9676 -l1_go_F8(500,9775 -l1_info2_ind(506,9874 -l1_info4_ind(520,10173 -l1_timer3(542,10821 -l1_timer_act(560,11264 -l1_timer_deact(570,11509 -l1_activate_s(581,11812 -l1_activate_no(589,11981 -static struct FsmNode L1SFnList[599,12270 -static struct FsmNode L1SFnList[] __initdata 599,12270 -#define L1S_FN_COUNT 647,14102 -l1_deact_req_u(651,14203 -l1_power_up_u(662,14508 -l1_info0_ind(671,14732 -l1_activate_u(677,14838 -static struct FsmNode L1UFnList[684,14995 -static struct FsmNode L1UFnList[] __initdata 684,14995 -#define L1U_FN_COUNT 706,15851 -l1b_activate(711,15936 -l1b_deactivate(720,16151 -l1b_timer_act(729,16362 -l1b_timer_deact(738,16552 -static struct FsmNode L1BFnList[746,16733 -static struct FsmNode L1BFnList[] __initdata 746,16733 -#define L1B_FN_COUNT 754,16983 -Isdnl1New(757,17060 -void Isdnl1Free(793,17892 -dch_l2l1(803,18022 -l1_msg(841,19027 -l1_msg_b(880,19946 -setstack_HiSax(892,20204 -setstack_l1_B(920,20889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hisax_isac.c,5229 -#define __debug_variable 30,805 -static int debug 34,888 -static char *ISACVer[37,936 -#define DBG_WARN 49,1195 -#define DBG_IRQ 50,1224 -#define DBG_L1M 51,1253 -#define DBG_PR 52,1282 -#define DBG_RFIFO 53,1311 -#define DBG_RPACKET 54,1340 -#define DBG_XFIFO 55,1369 -#define DBG_XPACKET 56,1398 -#define TYPE_ISAC 59,1473 -#define TYPE_ISACSX 60,1503 -#define ISAC_MASK 63,1552 -#define ISAC_ISTA 64,1582 -#define ISAC_ISTA_EXI 65,1612 -#define ISAC_ISTA_SIN 66,1642 -#define ISAC_ISTA_CISQ 67,1672 -#define ISAC_ISTA_XPR 68,1702 -#define ISAC_ISTA_RSC 69,1732 -#define ISAC_ISTA_RPF 70,1762 -#define ISAC_ISTA_RME 71,1792 -#define ISAC_STAR 73,1823 -#define ISAC_CMDR 74,1853 -#define ISAC_CMDR_XRES 75,1883 -#define ISAC_CMDR_XME 76,1913 -#define ISAC_CMDR_XTF 77,1943 -#define ISAC_CMDR_RRES 78,1973 -#define ISAC_CMDR_RMC 79,2003 -#define ISAC_EXIR 81,2034 -#define ISAC_EXIR_MOS 82,2064 -#define ISAC_EXIR_XDU 83,2094 -#define ISAC_EXIR_XMR 84,2124 -#define ISAC_ADF2 86,2155 -#define ISAC_SPCR 87,2185 -#define ISAC_ADF1 88,2215 -#define ISAC_CIR0 90,2246 -#define ISAC_CIX0 91,2276 -#define ISAC_CIR0_CIC0 92,2306 -#define ISAC_CIR0_CIC1 93,2336 -#define ISAC_CIR1 95,2367 -#define ISAC_CIX1 96,2397 -#define ISAC_STCR 97,2427 -#define ISAC_MODE 98,2457 -#define ISAC_RSTA 100,2488 -#define ISAC_RSTA_RDO 101,2518 -#define ISAC_RSTA_CRC 102,2548 -#define ISAC_RSTA_RAB 103,2578 -#define ISAC_RBCL 105,2609 -#define ISAC_RBCH 106,2632 -#define ISAC_TIMR 107,2655 -#define ISAC_SQXR 108,2678 -#define ISAC_MOSR 109,2701 -#define ISAC_MOCR 110,2724 -#define ISAC_MOR0 111,2747 -#define ISAC_MOX0 112,2770 -#define ISAC_MOR1 113,2793 -#define ISAC_MOX1 114,2816 -#define ISAC_RBCH_XAC 116,2840 -#define ISAC_CMD_TIM 118,2868 -#define ISAC_CMD_RES 119,2896 -#define ISAC_CMD_SSP 120,2924 -#define ISAC_CMD_SCP 121,2952 -#define ISAC_CMD_AR8 122,2980 -#define ISAC_CMD_AR10 123,3008 -#define ISAC_CMD_ARL 124,3036 -#define ISAC_CMD_DI 125,3064 -#define ISACSX_MASK 127,3093 -#define ISACSX_ISTA 128,3124 -#define ISACSX_ISTA_ICD 129,3155 -#define ISACSX_ISTA_CIC 130,3186 -#define ISACSX_MASKD 132,3218 -#define ISACSX_ISTAD 133,3249 -#define ISACSX_ISTAD_XDU 134,3280 -#define ISACSX_ISTAD_XMR 135,3311 -#define ISACSX_ISTAD_XPR 136,3342 -#define ISACSX_ISTAD_RFO 137,3373 -#define ISACSX_ISTAD_RPF 138,3404 -#define ISACSX_ISTAD_RME 139,3435 -#define ISACSX_CMDRD 141,3467 -#define ISACSX_CMDRD_XRES 142,3498 -#define ISACSX_CMDRD_XME 143,3529 -#define ISACSX_CMDRD_XTF 144,3560 -#define ISACSX_CMDRD_RRES 145,3591 -#define ISACSX_CMDRD_RMC 146,3622 -#define ISACSX_MODED 148,3654 -#define ISACSX_RBCLD 150,3686 -#define ISACSX_RSTAD 152,3718 -#define ISACSX_RSTAD_RAB 153,3749 -#define ISACSX_RSTAD_CRC 154,3780 -#define ISACSX_RSTAD_RDO 155,3811 -#define ISACSX_RSTAD_VFR 156,3842 -#define ISACSX_CIR0 158,3874 -#define ISACSX_CIR0_CIC0 159,3905 -#define ISACSX_CIX0 160,3936 -#define ISACSX_TR_CONF0 162,3968 -#define ISACSX_TR_CONF2 164,4000 -static struct Fsm l1fsm;166,4032 - ST_L1_RESET,169,4065 - ST_L1_F3_PDOWN,170,4079 - ST_L1_F3_PUP,171,4096 - ST_L1_F3_PEND_DEACT,172,4111 - ST_L1_F4,173,4133 - ST_L1_F5,174,4144 - ST_L1_F6,175,4155 - ST_L1_F7,176,4166 - ST_L1_F8,177,4177 -#define L1_STATE_COUNT 180,4192 -static char *strL1State[182,4229 - EV_PH_DR,196,4411 - EV_PH_RES,197,4440 - EV_PH_TMA,198,4469 - EV_PH_SLD,199,4498 - EV_PH_RSY,200,4527 - EV_PH_DR6,201,4556 - EV_PH_EI,202,4585 - EV_PH_PU,203,4614 - EV_PH_AR,204,4643 - EV_PH_9,205,4672 - EV_PH_ARL,206,4701 - EV_PH_CVR,207,4730 - EV_PH_AI8,208,4759 - EV_PH_AI10,209,4788 - EV_PH_AIL,210,4817 - EV_PH_DC,211,4846 - EV_PH_ACTIVATE_REQ,212,4875 - EV_PH_DEACTIVATE_REQ,213,4896 - EV_TIMER3,214,4919 -#define L1_EVENT_COUNT 217,4935 -static char *strL1Event[219,4975 -static inline void D_L1L2(242,5567 -static void ph_command(250,5754 -static void l1_di(265,6143 -static void l1_di_deact_ind(273,6310 -static void l1_go_f3pdown(282,6536 -static void l1_go_f3pend_deact_ind(287,6646 -static void l1_go_f3pend(296,6887 -static void l1_go_f4(304,7069 -static void l1_go_f5(309,7168 -static void l1_go_f6(314,7267 -static void l1_go_f6_deact_ind(319,7366 -static void l1_go_f7_act_ind(327,7560 -static void l1_go_f8(337,7814 -static void l1_go_f8_deact_ind(342,7913 -static void l1_ar8(350,8107 -static void l1_timer3(358,8308 -static struct FsmNode L1FnList[368,8553 -static struct FsmNode L1FnList[] __initdata 368,8553 -static void l1m_debug(430,11576 -static void isac_version(441,11762 -static void isac_empty_fifo(449,11921 -static void isac_fill_fifo(470,12486 -static void isac_retransmit(503,13094 -static inline void isac_cisq_interrupt(514,13267 -static inline void isac_rme_interrupt(530,13665 -static inline void isac_xpr_interrupt(568,14522 -static inline void isac_exi_interrupt(583,14797 -void isac_irq(605,15258 -static inline void isacsx_cic_interrupt(644,16076 -static inline void isacsx_rme_interrupt(656,16349 -static inline void isacsx_xpr_interrupt(698,17318 -static inline void isacsx_icd_interrupt(713,17595 -void isacsx_irq(745,18337 -void isac_init(758,18590 -void isac_setup(773,18895 -void isacsx_setup(824,20397 -void isac_d_l2l1(840,20875 -static int __init hisax_isac_init(871,21556 -static void __exit hisax_isac_exit(882,21862 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/l3ni1.c,4002 -const char *ni1_revision 27,852 -#define EXT_BEARER_CAPS 29,904 -#define MsgHead(MsgHead31,931 -static unsigned char new_invoke_id(46,1292 -static void free_invoke_id(71,1946 -*ni1_new_l3_process(84,2346 -ni1_release_l3_process(101,2810 -l3ni1_search_dummy_proc(111,3168 -l3ni1_dummy_return_result(129,3775 -l3ni1_dummy_error_return(162,4972 -l3ni1_dummy_invoke(195,6152 -l3ni1_parse_facility(219,6841 -l3ni1_message(427,13064 -l3ni1_message_plus_chid(440,13298 -l3ni1_message_cause(461,13758 -l3ni1_status_send(482,14137 -l3ni1_msg_without_setup(508,14591 -static int ie_ALERTING[544,15583 -static int ie_CALL_PROCEEDING[547,15734 -static int ie_CONNECT[549,15865 -static int ie_CONNECT_ACKNOWLEDGE[552,16064 -static int ie_DISCONNECT[553,16146 -static int ie_INFORMATION[555,16271 -static int ie_NOTIFY[557,16370 -static int ie_PROGRESS[558,16450 -static int ie_RELEASE[560,16581 -static int ie_RESUME_ACKNOWLEDGE[565,16865 -static int ie_RESUME_REJECT[567,16964 -static int ie_SETUP[568,17039 -static int ie_SETUP_ACKNOWLEDGE[573,17321 -static int ie_STATUS[575,17444 -static int ie_STATUS_ENQUIRY[577,17544 -static int ie_SUSPEND_ACKNOWLEDGE[578,17595 -static int ie_SUSPEND_REJECT[579,17664 -static int ie_FACILITY[587,18058 -static int comp_required[588,18131 -static int l3_valid_states[589,18192 -struct ie_len ie_len591,18269 -struct ie_len max_ie_len[597,18315 -getmax_ie_len(634,18998 -ie_in_set(645,19169 -check_infoelements(662,19427 -l3ni1_check_messagetype_validity(745,21253 -l3ni1_std_ie_err(787,22354 -l3ni1_get_channel_id(813,22876 -l3ni1_get_cause(836,23377 -l3ni1_msg_with_uus(875,24002 -l3ni1_release_req(901,24664 -l3ni1_release_cmpl(913,24939 -EncodeASyncParams(932,25384 -EncodeSyncParams(997,26253 -DecodeASyncParams(1042,26867 -DecodeSyncParams(1099,27646 -DecodeSI2(1140,28303 -l3ni1_setup_req(1169,28880 - L3DelTimer(&pc->timer)1277,31821 - L3AddTimer(&pc->timer,1278,31846 - L3AddTimer(&pc->timer, T303,1278,31846 - L3AddTimer(&pc->timer, T303, CC_T303)1278,31846 -l3ni1_call_proc(1284,31962 -l3ni1_setup_ack(1323,33057 -l3ni1_disconnect(1362,34133 -l3ni1_connect(1400,35094 -l3ni1_alerting(1420,35553 -l3ni1_setup(1438,35947 -l3ni1_reset(1604,40196 -l3ni1_disconnect_req(1610,40299 -l3ni1_setup_rsp(1649,41189 -l3ni1_connect_ack(1667,41704 -l3ni1_reject_req(1685,42105 -l3ni1_release(1714,42680 -l3ni1_alert_req(1748,43587 -l3ni1_proceed_req(1759,43802 -l3ni1_setup_ack_req(1768,44008 -l3ni1_deliver_display(1781,44364 -l3ni1_progress(1804,44910 -l3ni1_notify(1861,46004 -l3ni1_status_enq(1902,46807 -l3ni1_information(1914,47104 -static void l3ni1_redir_req(1939,47730 -static void l3ni1_redir_req_early(2011,50194 -static int l3ni1_cmd_global(2022,50618 -l3ni1_io_timer(2105,53343 -l3ni1_release_ind(2129,53998 -l3ni1_dummy(2154,54557 -l3ni1_t302(2159,54631 -l3ni1_t303(2169,54872 -l3ni1_t304(2184,55207 -l3ni1_t305(2195,55429 -l3ni1_t310(2224,55973 -l3ni1_t313(2234,56194 -l3ni1_t308_1(2244,56417 -l3ni1_t308_2(2253,56612 -l3ni1_t318(2261,56787 -l3ni1_t319(2273,57098 -l3ni1_restart(2283,57336 -l3ni1_status(2291,57521 -l3ni1_facility(2349,58883 -l3ni1_suspend_req(2364,59209 -l3ni1_suspend_ack(2393,59849 -l3ni1_suspend_rej(2410,60321 -l3ni1_resume_req(2438,61017 -l3ni1_resume_ack(2468,61655 -l3ni1_resume_rej(2502,62616 -l3ni1_global_restart(2531,63336 -l3ni1_dl_reset(2586,64547 -l3ni1_dl_release(2595,64809 -l3ni1_dl_reestablish(2605,65106 -l3ni1_dl_reest_status(2613,65323 -static void l3ni1_SendSpid(2621,65506 -static void l3ni1_spid_send(2663,66443 -void l3ni1_spid_epid(2668,66559 -static void l3ni1_spid_tout(2682,66865 -static struct stateentry downstatelist[2698,67221 -#define DOWNSLLEN 2758,68877 -static struct stateentry datastatelist[2761,68951 -#define DATASLLEN 2813,70787 -static struct stateentry globalmes_list[2816,70861 -#define GLOBALM_LEN 2828,71190 -static struct stateentry manstatelist[2831,71267 -#define MANSLLEN 2843,71612 -global_handler(2849,71722 -ni1up(2893,72761 -ni1down(3079,77804 -ni1man(3130,78967 -setstack_ni1(3158,79945 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/teleint.c,448 -const char *TeleInt_revision 21,483 -#define byteout(byteout23,540 -#define bytein(bytein24,581 -readreg(27,634 -readfifo(45,996 -writereg(66,1437 -writefifo(83,1795 -ReadISAC(105,2258 -WriteISAC(112,2416 -ReadISACfifo(119,2588 -WriteISACfifo(126,2754 -ReadHFC(133,2924 -WriteHFC(149,3284 -TeleInt_interrupt(160,3600 -TeleInt_Timer(184,4279 -release_io_TeleInt(207,4695 -reset_TeleInt(216,4865 -TeleInt_card_msg(228,5185 -setup_TeleInt(265,5989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/ipacx.c,786 -#define DBUSY_TIMER_VALUE 20,433 -#define TIMER3_VALUE 21,462 -#define MAX_DFRAME_LEN_L1 22,493 -#define B_FIFO_SIZE 23,523 -#define D_FIFO_SIZE 24,552 -#define _MASK_IMASK 28,618 -#define _MASKB_IMASK 29,663 -#define _MASKD_IMASK 30,692 -ph_command(61,2320 -cic_int(76,2853 -dch_l2l1(97,3534 -dbusy_timer_handler(203,6588 -ipacx_new_ph(238,7706 -dch_bh(283,8689 -dch_empty_fifo(313,9407 -dch_fill_fifo(348,10301 -dch_int(395,11485 -dch_setstack(490,14124 -dch_init(498,14356 -bch_l2l1(523,15198 -bch_empty_fifo(586,17027 -bch_fill_fifo(627,18174 -bch_int(670,19278 -bch_mode(790,22946 -bch_close_state(838,24672 -bch_open_state(863,25283 -bch_setstack(894,26208 -bch_init(909,26608 -interrupt_ipacx(927,27157 -clear_pending_ints(947,27823 -init_ipacx(969,28536 -setup_ipacx(996,29374 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/nj_s.c,256 -const char *NETjet_S_revision 18,416 -static u_char dummyrr(20,474 -static void dummywr(25,561 -netjet_s_interrupt(30,667 -reset_netjet_s(102,2931 -NETjet_S_card_msg(123,3665 -static struct pci_dev *dev_netjet __initdata 152,4282 -setup_netjet_s(155,4347 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/fsm.c,222 -#define FSM_TIMER_DEBUG 21,520 -FsmNew(24,551 -FsmFree(47,1291 -FsmEvent(53,1359 -FsmChangeState(80,2071 -FsmExpireTimer(89,2248 -FsmInitTimer(99,2443 -FsmDelTimer(112,2721 -FsmAddTimer(122,2912 -FsmRestartTimer(146,3455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/lmgr.c,76 -error_handling_dchan(16,358 -hisax_manager(29,553 -setstack_manager(47,944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/jade.h,2978 -#define __JADE_H__15,393 -#define DIRECT_IO_JADE 18,481 -#define COMM_JADE 19,544 -#define jade_HDLC_RFIFO 24,794 -#define jade_HDLC_XFIFO 25,844 -#define jade_HDLC_STAR 27,895 - #define jadeSTAR_XDOV 28,944 - #define jadeSTAR_XFW 29,975 - #define jadeSTAR_XCEC 30,1025 - #define jadeSTAR_RCEC 31,1057 - #define jadeSTAR_BSY 32,1088 - #define jadeSTAR_RNA 33,1119 - #define jadeSTAR_STR 34,1150 - #define jadeSTAR_STX 35,1181 -#define jade_HDLC_XCMD 37,1212 - #define jadeXCMD_XF 38,1261 - #define jadeXCMD_XME 39,1290 - #define jadeXCMD_XRES 40,1320 - #define jadeXCMD_STX 41,1351 -#define jade_HDLC_RSTA 43,1382 - #define jadeRSTA_VFR 44,1431 - #define jadeRSTA_RDO 45,1464 - #define jadeRSTA_CRC 46,1497 - #define jadeRSTA_RAB 47,1530 - #define jadeRSTA_MASK 48,1563 -#define jade_HDLC_MODE 50,1601 - #define jadeMODE_TMO 51,1647 - #define jadeMODE_RAC 52,1680 - #define jadeMODE_XAC 53,1713 - #define jadeMODE_TLP 54,1746 - #define jadeMODE_ERFS 55,1779 - #define jadeMODE_ETFS 56,1813 -#define jade_HDLC_RBCH 58,1848 -#define jade_HDLC_RBCL 60,1895 -#define jade_HDLC_RCMD 61,1942 - #define jadeRCMD_RMC 62,1989 - #define jadeRCMD_RRES 63,2020 - #define jadeRCMD_RMD 64,2051 - #define jadeRCMD_STR 65,2081 -#define jade_HDLC_CCR0 67,2112 - #define jadeCCR0_PU 68,2158 - #define jadeCCR0_ITF 69,2189 - #define jadeCCR0_C32 70,2219 - #define jadeCCR0_CRL 71,2249 - #define jadeCCR0_RCRC 72,2279 - #define jadeCCR0_XCRC 73,2310 - #define jadeCCR0_RMSB 74,2341 - #define jadeCCR0_XMSB 75,2372 -#define jade_HDLC_CCR1 77,2404 - #define jadeCCR1_RCS0 78,2450 - #define jadeCCR1_RCONT 79,2484 - #define jadeCCR1_RFDIS 80,2519 - #define jadeCCR1_XCS0 81,2554 - #define jadeCCR1_XCONT 82,2588 - #define jadeCCR1_XFDIS 83,2623 -#define jade_HDLC_TSAR 85,2659 -#define jade_HDLC_TSAX 86,2705 -#define jade_HDLC_RCCR 87,2751 -#define jade_HDLC_XCCR 88,2797 -#define jade_HDLC_ISR 90,2844 -#define jade_HDLC_IMR 91,2890 - #define jadeISR_RME 92,2936 - #define jadeISR_RPF 93,2966 - #define jadeISR_RFO 94,2996 - #define jadeISR_XPR 95,3026 - #define jadeISR_XDU 96,3056 - #define jadeISR_ALLS 97,3086 -#define jade_INT 99,3117 - #define jadeINT_HDLC1 100,3153 - #define jadeINT_HDLC2 101,3189 - #define jadeINT_DSP 102,3225 -#define jade_INTR 103,3257 -#define jade_CHIPVERSIONNR 108,3502 -#define jade_HDLCCNTRACCESS 110,3557 - #define jadeINDIRECT_HAH1 111,3595 - #define jadeINDIRECT_HAH2 112,3629 -#define jade_HDLC1SERRXPATH 114,3664 -#define jade_HDLC1SERTXPATH 115,3700 -#define jade_HDLC2SERRXPATH 116,3736 -#define jade_HDLC2SERTXPATH 117,3772 - #define jadeINDIRECT_SLIN1 118,3808 - #define jadeINDIRECT_SLIN0 119,3843 - #define jadeINDIRECT_LMOD1 120,3878 - #define jadeINDIRECT_LMOD0 121,3913 - #define jadeINDIRECT_HHR 122,3948 - #define jadeINDIRECT_HHX 123,3981 -#define jade_RXAUDIOCH1CFG 125,4015 -#define jade_RXAUDIOCH2CFG 126,4050 -#define jade_TXAUDIOCH1CFG 127,4085 -#define jade_TXAUDIOCH2CFG 128,4120 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/bkm_a4t.c,585 -const char *bkm_a4t_revision 26,566 -readreg(30,645 -readfifo(45,944 -writereg(54,1124 -writefifo(65,1380 -ReadISAC(77,1584 -WriteISAC(83,1718 -ReadISACfifo(89,1866 -WriteISACfifo(95,2013 -ReadJADE(101,2164 -WriteJADE(107,2350 -#define READJADE(READJADE116,2585 -#define WRITEJADE(WRITEJADE118,2710 -#define READJADEFIFO(READJADEFIFO121,2850 -#define WRITEJADEFIFO(WRITEJADEFIFO123,2988 -bkm_interrupt(129,3172 -release_io_bkm(171,4286 -enable_bkm_int(180,4428 -reset_bkm(193,4798 -BKM_card_msg(223,5588 -static struct pci_dev *dev_a4t __initdata 259,6383 -setup_bkm_a4t(262,6445 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/sedlbauer.c,2943 -const char *Sedlbauer_revision 54,1591 -const char *Sedlbauer_Types[56,1650 -#define PCI_SUBVENDOR_SPEEDFAX_PYRAMID 61,1860 -#define PCI_SUBVENDOR_HST_SAPHIR3 62,1904 -#define PCI_SUBVENDOR_SEDLBAUER_PCI 63,1943 -#define PCI_SUBVENDOR_SPEEDFAX_PCI 64,1984 -#define PCI_SUB_ID_SEDLBAUER 65,2024 -#define SEDL_SPEED_CARD_WIN 67,2060 -#define SEDL_SPEED_STAR 68,2090 -#define SEDL_SPEED_FAX 69,2117 -#define SEDL_SPEED_WIN2_PC104 70,2143 -#define SEDL_SPEED_STAR2 71,2176 -#define SEDL_SPEED_PCI 72,2204 -#define SEDL_SPEEDFAX_PYRAMID 73,2232 -#define SEDL_SPEEDFAX_PCI 74,2264 -#define HST_SAPHIR3 75,2292 -#define SEDL_CHIP_TEST 77,2316 -#define SEDL_CHIP_ISAC_HSCX 78,2342 -#define SEDL_CHIP_ISAC_ISAR 79,2372 -#define SEDL_CHIP_IPAC 80,2402 -#define SEDL_BUS_ISA 82,2429 -#define SEDL_BUS_PCI 83,2453 -#define SEDL_BUS_PCMCIA 84,2477 -#define byteout(byteout86,2505 -#define bytein(bytein87,2546 -#define SEDL_HSCX_ISA_RESET_ON 89,2578 -#define SEDL_HSCX_ISA_RESET_OFF 90,2611 -#define SEDL_HSCX_ISA_ISAC 91,2645 -#define SEDL_HSCX_ISA_HSCX 92,2674 -#define SEDL_HSCX_ISA_ADR 93,2703 -#define SEDL_HSCX_PCMCIA_RESET 95,2732 -#define SEDL_HSCX_PCMCIA_ISAC 96,2765 -#define SEDL_HSCX_PCMCIA_HSCX 97,2797 -#define SEDL_HSCX_PCMCIA_ADR 98,2829 -#define SEDL_ISAR_ISA_ISAC 100,2861 -#define SEDL_ISAR_ISA_ISAR 101,2891 -#define SEDL_ISAR_ISA_ADR 102,2921 -#define SEDL_ISAR_ISA_ISAR_RESET_ON 103,2950 -#define SEDL_ISAR_ISA_ISAR_RESET_OFF 104,2989 -#define SEDL_IPAC_ANY_ADR 106,3030 -#define SEDL_IPAC_ANY_IPAC 107,3059 -#define SEDL_IPAC_PCI_BASE 109,3090 -#define SEDL_IPAC_PCI_ADR 110,3120 -#define SEDL_IPAC_PCI_IPAC 111,3152 -#define SEDL_ISAR_PCI_ADR 112,3185 -#define SEDL_ISAR_PCI_ISAC 113,3217 -#define SEDL_ISAR_PCI_ISAR 114,3250 -#define SEDL_ISAR_PCI_ISAR_RESET_ON 115,3283 -#define SEDL_ISAR_PCI_ISAR_RESET_OFF 116,3324 -#define SEDL_ISAR_PCI_LED1 117,3366 -#define SEDL_ISAR_PCI_LED2 118,3399 -#define SEDL_RESET 120,3433 -readreg(123,3508 -readfifo(133,3666 -writereg(141,3817 -writefifo(148,3952 -ReadISAC(157,4126 -WriteISAC(163,4255 -ReadISACfifo(169,4398 -WriteISACfifo(175,4540 -ReadISAC_IPAC(181,4686 -WriteISAC_IPAC(187,4825 -ReadISACfifo_IPAC(193,4978 -WriteISACfifo_IPAC(199,5128 -ReadHSCX(205,5282 -WriteHSCX(212,5444 -ReadISAR(225,5768 -WriteISAR(235,6017 -#define READHSCX(READHSCX250,6323 -#define WRITEHSCX(WRITEHSCX252,6423 -#define READHSCXFIFO(READHSCXFIFO255,6538 -#define WRITEHSCXFIFO(WRITEHSCXFIFO258,6653 -sedlbauer_interrupt(264,6812 -sedlbauer_interrupt_ipac(310,8367 -sedlbauer_interrupt_isar(357,9568 -release_io_sedlbauer(398,10803 -reset_sedlbauer(412,11080 -Sedl_card_msg(444,12220 -static struct pci_dev *dev_sedl __devinitdata 516,14255 -static struct isapnp_device_id sedl_ids[519,14328 -static struct isapnp_device_id sedl_ids[] __initdata 519,14328 -static struct isapnp_device_id *ipid __initdata 529,14692 -static struct pnp_card *pnp_c __devinitdata 530,14756 -setup_sedlbauer(534,14830 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_pci.h,3855 -#define HFCPCI_BTRANS_THRESHOLD 17,553 -#define HFCPCI_BTRANS_THRESMASK 18,589 -#define PCI_ENA_MEMIO 24,659 -#define PCI_ENA_MASTER 25,689 -#define HCFPCI_C_I 30,758 -#define HFCPCI_TRxR 31,788 -#define HFCPCI_MON1_D 32,818 -#define HFCPCI_MON2_D 33,848 -#define HFCPCI_B1_SSL 38,918 -#define HFCPCI_B2_SSL 39,948 -#define HFCPCI_AUX1_SSL 40,978 -#define HFCPCI_AUX2_SSL 41,1008 -#define HFCPCI_B1_RSL 42,1038 -#define HFCPCI_B2_RSL 43,1068 -#define HFCPCI_AUX1_RSL 44,1098 -#define HFCPCI_AUX2_RSL 45,1128 -#define HFCPCI_B1_D 49,1193 -#define HFCPCI_B2_D 50,1223 -#define HFCPCI_AUX1_D 51,1253 -#define HFCPCI_AUX2_D 52,1283 -#define HFCPCI_MST_EMOD 56,1357 -#define HFCPCI_MST_MODE 57,1387 -#define HFCPCI_CONNECT 58,1417 -#define HFCPCI_FIFO_EN 63,1487 -#define HFCPCI_TRM 64,1517 -#define HFCPCI_B_MODE 65,1547 -#define HFCPCI_CHIP_ID 66,1577 -#define HFCPCI_CIRM 67,1607 -#define HFCPCI_CTMT 68,1635 -#define HFCPCI_INT_M1 69,1661 -#define HFCPCI_INT_M2 70,1691 -#define HFCPCI_INT_S1 71,1721 -#define HFCPCI_INT_S2 72,1751 -#define HFCPCI_STATUS 73,1781 -#define HFCPCI_STATES 77,1841 -#define HFCPCI_SCTRL 78,1871 -#define HFCPCI_SCTRL_E 79,1900 -#define HFCPCI_SCTRL_R 80,1930 -#define HFCPCI_SQ 81,1960 -#define HFCPCI_CLKDEL 82,1986 -#define HFCPCI_B1_REC 83,2016 -#define HFCPCI_B1_SEND 84,2046 -#define HFCPCI_B2_REC 85,2076 -#define HFCPCI_B2_SEND 86,2106 -#define HFCPCI_D_REC 87,2136 -#define HFCPCI_D_SEND 88,2166 -#define HFCPCI_E_REC 89,2196 -#define HFCPCI_PCI_PROC 93,2265 -#define HFCPCI_NBUSY 94,2296 -#define HFCPCI_TIMER_ELAP 95,2325 -#define HFCPCI_STATINT 96,2356 -#define HFCPCI_FRAMEINT 97,2386 -#define HFCPCI_ANYINT 98,2417 -#define HFCPCI_CLTIMER 101,2474 -#define HFCPCI_TIM3_125 102,2505 -#define HFCPCI_TIM25 103,2536 -#define HFCPCI_TIM50 104,2567 -#define HFCPCI_TIM400 105,2598 -#define HFCPCI_TIM800 106,2629 -#define HFCPCI_AUTO_TIMER 107,2660 -#define HFCPCI_TRANSB2 108,2691 -#define HFCPCI_TRANSB1 109,2722 -#define HFCPCI_AUX_MSK 112,2781 -#define HFCPCI_RESET 113,2812 -#define HFCPCI_B1_REV 114,2842 -#define HFCPCI_B2_REV 115,2873 -#define HFCPCI_INTS_B1TRANS 118,2937 -#define HFCPCI_INTS_B2TRANS 119,2971 -#define HFCPCI_INTS_DTRANS 120,3005 -#define HFCPCI_INTS_B1REC 121,3039 -#define HFCPCI_INTS_B2REC 122,3073 -#define HFCPCI_INTS_DREC 123,3107 -#define HFCPCI_INTS_L1STATE 124,3141 -#define HFCPCI_INTS_TIMER 125,3175 -#define HFCPCI_PROC_TRANS 128,3231 -#define HFCPCI_GCI_I_CHG 129,3265 -#define HFCPCI_GCI_MON_REC 130,3299 -#define HFCPCI_IRQ_ENABLE 131,3333 -#define HFCPCI_PMESEL 132,3367 -#define HFCPCI_STATE_MSK 135,3423 -#define HFCPCI_LOAD_STATE 136,3457 -#define HFCPCI_ACTIVATE 137,3491 -#define HFCPCI_DO_ACTION 138,3525 -#define HFCPCI_NT_G2_G3 139,3559 -#define HFCPCI_MASTER 142,3622 -#define HFCPCI_SLAVE 143,3654 -#define SCTRL_B1_ENA 147,3758 -#define SCTRL_B2_ENA 148,3789 -#define SCTRL_MODE_TE 149,3820 -#define SCTRL_MODE_NT 150,3854 -#define SCTRL_LOW_PRIO 151,3888 -#define SCTRL_SQ_ENA 152,3921 -#define SCTRL_TEST 153,3952 -#define SCTRL_NONE_CAP 154,3981 -#define SCTRL_PWR_DOWN 155,4014 -#define HFCPCI_AUTO_AWAKE 158,4071 -#define HFCPCI_DBIT_1 159,4105 -#define HFCPCI_IGNORE_COL 160,4139 -#define HFCPCI_CHG_B1_B2 161,4173 -#define HFCPCI_FIFOEN_B1 166,4301 -#define HFCPCI_FIFOEN_B2 167,4335 -#define HFCPCI_FIFOEN_DTX 168,4369 -#define HFCPCI_FIFOEN_B1TX 169,4403 -#define HFCPCI_FIFOEN_B1RX 170,4437 -#define HFCPCI_FIFOEN_B2TX 171,4471 -#define HFCPCI_FIFOEN_B2RX 172,4505 -#define MAX_D_FRAMES 178,4655 -#define MAX_B_FRAMES 179,4679 -#define B_SUB_VAL 180,4703 -#define B_FIFO_SIZE 181,4730 -#define D_FIFO_SIZE 182,4772 -#define D_FREG_MASK 183,4797 - } z_type;z_type188,4936 - } dfifo_type;dfifo_type197,5305 - } bzfifo_type;bzfifo_type203,5489 - } fifo_area;fifo_area228,6015 -#define Write_hfc(Write_hfc231,6032 -#define Read_hfc(Read_hfc232,6101 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hisax/hfc_pci.c,1093 -static const char *hfcpci_revision 28,758 -} PCI_ENTRY;PCI_ENTRY36,950 -#define NT_T1_COUNT 38,964 -#define CLKDEL_TE 39,1037 -#define CLKDEL_NT 40,1084 -static const PCI_ENTRY id_list[42,1132 -release_io_hfcpci(74,2951 -reset_hfcpci(97,3973 -hfcpci_Timer(168,7053 -sched_event_D_pci(182,7390 -hfcpci_sched_event(192,7637 -Sel_BCS(203,7939 -static void hfcpci_clear_fifo_rx(216,8307 -static void hfcpci_clear_fifo_tx(243,9324 -hfcpci_empty_fifo(271,10342 -receive_dmsg(329,12018 -hfcpci_empty_fifo_trans(398,14210 -main_rec_hfcpci(450,15645 -hfcpci_fill_dfifo(519,17466 -hfcpci_fill_fifo(590,19562 -dch_nt_l2l1(737,24222 -hfcpci_auxcmd(772,25044 -receive_emsg(832,27236 -hfcpci_interrupt(932,29843 -hfcpci_dbusy_timer(1102,34952 -HFCPCI_l1hw(1110,35134 -setstack_hfcpci(1248,39580 -hfcpci_send_data(1257,39809 -mode_hfcpci(1272,40291 -hfcpci_l2l1(1393,44131 -close_hfcpci(1455,46009 -open_hfcpcistate(1473,46467 -setstack_2b(1490,46898 -hfcpci_bh(1507,47262 -inithfcpci(1583,49452 -hfcpci_card_msg(1602,49979 -static struct pci_dev *dev_hfcpci __initdata 1640,51047 -setup_hfcpci(1645,51140 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/icn/icn.h,2076 -#define icn_h13,336 -#define ICN_IOCTL_SETMMIO 15,351 -#define ICN_IOCTL_GETMMIO 16,381 -#define ICN_IOCTL_SETPORT 17,411 -#define ICN_IOCTL_GETPORT 18,441 -#define ICN_IOCTL_LOADBOOT 19,471 -#define ICN_IOCTL_LOADPROTO 20,501 -#define ICN_IOCTL_LEASEDCFG 21,531 -#define ICN_IOCTL_GETDOUBLE 22,561 -#define ICN_IOCTL_DEBUGVAR 23,591 -#define ICN_IOCTL_ADDCARD 24,621 -typedef struct icn_cdef icn_cdef27,686 -} icn_cdef;icn_cdef31,753 -#define OUTB_P(OUTB_P58,1336 -#define OUTB_P 60,1432 -#define ICN_BASEADDR 64,1510 -#define ICN_PORTLEN 65,1537 -#define ICN_MEMADDR 66,1564 -#define ICN_FLAGS_B1ACTIVE 68,1594 -#define ICN_FLAGS_B2ACTIVE 69,1672 -#define ICN_FLAGS_RUNNING 70,1750 -#define ICN_FLAGS_RBTIMER 71,1828 -#define ICN_BOOT_TIMEOUT1 73,1907 -#define ICN_CHANLOCK_DELAY 74,1985 -#define ICN_TIMER_BCREAD 76,2067 -#define ICN_TIMER_DCREAD 77,2147 -#define ICN_CODE_STAGE1 79,2226 -#define ICN_CODE_STAGE2 80,2304 -#define ICN_MAX_SQUEUE 82,2383 -#define ICN_FRAGSIZE 83,2461 -#define ICN_BCH 84,2539 -#define SHM_DCTL_OFFSET 88,2674 -#define SHM_CCTL_OFFSET 89,2752 -#define SHM_CBUF_OFFSET 90,2830 -#define SHM_DBUF_OFFSET 91,2908 -} frag_buf;frag_buf102,3318 -} icn_shmem;icn_shmem133,4404 -typedef struct icn_card icn_card138,4449 -} icn_card;icn_card170,6459 -typedef struct icn_dev icn_dev175,6499 -} icn_dev;icn_dev184,7035 -typedef icn_dev *icn_devptr;icn_devptr186,7047 -static icn_card *cards 190,7096 -static u_char chan2bank[191,7137 -static icn_dev dev;194,7226 -#define ICN_CFG 201,7352 -#define ICN_MAPRAM 202,7384 -#define ICN_RUN 203,7418 -#define ICN_BANK 204,7452 -#define sbfree 207,7541 -#define sbnext 211,7689 -#define sbuf_n 215,7847 -#define sbuf_d 216,7891 -#define sbuf_l 217,7960 -#define sbuf_f 218,8031 -#define rbavl 221,8161 -#define rbnext 225,8296 -#define rbuf_n 229,8453 -#define rbuf_d 230,8497 -#define rbuf_l 231,8569 -#define rbuf_f 232,8643 -#define cmd_o 235,8761 -#define cmd_i 236,8808 -#define cmd_free 239,8898 -#define msg_o 244,9067 -#define msg_i 245,9114 -#define msg_avail 248,9204 -#define CID 252,9333 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/icn/icn.c,1286 -static int portbase 16,397 -static unsigned long membase 17,433 -static char *icn_id 18,477 -static char *icn_id2 19,505 -*revision 44,1152 -icn_free_queue(55,1367 -icn_shiftout(77,1971 -icn_disable_ram(94,2281 -icn_enable_ram(103,2401 -icn_map_channel(114,2599 -icn_lock_channel(140,3245 -__icn_release_channel(168,3823 -icn_release_channel(181,4048 -icn_trymaplock_channel(195,4310 -icn_maprelease_channel(226,5067 -icn_pollbchan_receive(247,5637 -icn_pollbchan_send(298,7072 -icn_pollbchan(381,9263 -typedef struct icn_stat icn_stat404,9909 -} icn_stat;icn_stat408,9978 -static icn_stat icn_stat_table[410,10009 -icn_parse_status(446,11604 -icn_putmsg(587,15232 -icn_polldchan(603,15669 -icn_sendbuf(703,18411 -icn_check_loader(745,19480 -#define SLEEP(SLEEP787,20406 -#define SLEEP(SLEEP797,20612 -icn_loadboot(801,20650 -icn_loadproto(906,23526 -icn_readstatus(1010,26254 -icn_writecmd(1027,26691 -icn_stopcard(1098,28208 -icn_stopallcards(1119,28717 -icn_disable_cards(1134,28962 -icn_command(1155,29442 -icn_findcard(1443,37379 -if_command(1459,37595 -if_writecmd(1472,37856 -if_readstatus(1487,38191 -if_sendbuf(1502,38523 -icn_initcard(1521,38972 -icn_addcard(1570,40452 -icn_setup(1604,41209 -static int __init icn_init(1630,41644 -static void __exit icn_exit(1653,42130 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_boot.c,315 -#define POF_READ_FILE_HEAD 24,653 -#define POF_READ_TAG_HEAD 25,683 -#define POF_READ_TAG_DATA 26,713 -struct boot_data boot_data32,996 -StartDecryption(57,2052 -DecryptBuf(70,2558 -pof_handle_data(85,3146 -pof_write_buffer(174,6562 -pof_write_open(271,10012 -pof_write_close(314,11614 -EvalSysrTokData(338,12397 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_net.c,430 -unsigned int hynet_enable 27,774 -char *hysdn_net_revision 31,897 -#define MAX_SKB_BUFFERS 33,949 -struct net_local net_local41,1495 -net_get_stats(64,2374 -net_open(77,3004 -flush_tx_buffers(105,3804 -net_close(122,4354 -net_send_packet(137,4702 -hysdn_tx_netack(175,5817 -hysdn_rx_netpkt(201,6514 -hysdn_tx_netget(235,7341 -net_init(253,7770 -hysdn_net_create(273,8505 -hysdn_net_release(315,9999 -hysdn_net_getname(340,10863 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_init.c,302 -static struct pci_device_id hysdn_pci_tbl[24,617 -static char *hysdn_init_revision 36,1273 -int cardmax;37,1332 -hysdn_card *card_root 38,1375 -} pci_subid_map[47,1719 -search_cards(73,2368 -free_resources(133,4475 -stop_cards(151,5044 -hysdn_getrev(175,5935 -hysdn_init(198,6693 -hysdn_exit(234,7955 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/boardergo.h,656 -#define ERG_DPRAM_PAGE_SIZE 17,573 -#define BOOT_IMG_SIZE 18,639 -#define ERG_DPRAM_FILL_SIZE 19,666 -#define ERG_TO_HY_BUF_SIZE 21,733 -#define ERG_TO_PC_BUF_SIZE 22,805 -typedef struct ErgDpram_tag ErgDpram_tag25,932 -} tErgDpram;tErgDpram79,2745 -#define PCI9050_INTR_REG 85,2955 -#define PCI9050_USER_IO 86,3013 -#define PCI9050_INTR_REG_EN1 89,3116 -#define PCI9050_INTR_REG_POL1 90,3188 -#define PCI9050_INTR_REG_STAT1 91,3268 -#define PCI9050_INTR_REG_ENPCI 92,3355 -#define PCI9050_USER_IO_EN3 95,3474 -#define PCI9050_USER_IO_DIR3 96,3552 -#define PCI9050_USER_IO_DAT3 97,3630 -#define PCI9050_E1_RESET 99,3709 -#define PCI9050_E1_RUN 100,3793 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_sched.c,75 -hysdn_sched_rx(32,1199 -hysdn_sched_tx(74,2719 -hysdn_tx_cfgline(147,5657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_pof.h,844 -#define BOOT_BUF_SIZE 16,495 -#define CRYPT_FEEDTERM 17,567 -#define CRYPT_STARTTERM 18,598 -#define POF_READY_TIME_OUT_SEC 22,730 -#define POF_BOOT_LOADER_PAGE_SIZE 38,1272 -#define POF_BOOT_LOADER_TOTAL_SIZE 39,1329 -#define POF_BOOT_LOADER_CODE_SIZE 41,1397 -#define POF_BOOT_LOADER_OFF_IN_PAGE 45,1551 -typedef struct PofFileHdr_tag PofFileHdr_tag49,1721 -} tPofFileHdr;tPofFileHdr53,1877 -typedef struct PofRecHdr_tag PofRecHdr_tag55,1893 -} tPofRecHdr;tPofRecHdr59,2056 -typedef struct PofTimeStamp_tag PofTimeStamp_tag61,2071 -} tPofTimeStamp;tPofTimeStamp66,2231 -#define TAGFILEMAGIC 69,2288 -#define TAG_ABSDATA 71,2364 -#define TAG_BOOTDTA 72,2408 -#define TAG_COMMENT 73,2452 -#define TAG_SYSCALL 74,2480 -#define TAG_FLOWCTRL 75,2508 -#define TAG_TIMESTMP 76,2536 -#define TAG_CABSDATA 77,2597 -#define TAG_CBOOTDTA 78,2649 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hycapi.c,1156 -#define VER_DRIVER 20,537 -#define VER_CARDTYPE 21,558 -#define VER_HWID 22,581 -#define VER_SERIAL 23,600 -#define VER_OPTION 24,621 -#define VER_PROTO 25,642 -#define VER_PROFILE 26,662 -#define VER_CAPI 27,684 -static char hycapi_revision[32,759 -unsigned int hycapi_enable 34,814 -typedef struct _hycapi_appl _hycapi_appl37,890 -} hycapi_appl;hycapi_appl41,1015 -static hycapi_appl hycapi_applications[43,1031 -static inline int _hycapi_appCheck(45,1086 -hycapi_reset_ctr(61,1544 -hycapi_remove_ctr(77,1887 -hycapi_sendmsg_internal(113,2759 -hycapi_register_internal(147,3857 -static void hycapi_restart_internal(192,5697 -hycapi_register_appl(219,6476 -static void hycapi_release_internal(260,7723 -hycapi_release_appl(297,9005 -int hycapi_capi_release(322,9674 -int hycapi_capi_stop(342,10147 -u16 hycapi_send_message(370,10862 -int hycapi_read_proc(443,12796 -int hycapi_load_firmware(491,14416 -char *hycapi_procinfo(500,14585 -hycapi_rx_capipkt(528,15379 -void hycapi_tx_capiack(633,18343 -hycapi_tx_capiget(661,19134 -int hycapi_init(681,19602 -hycapi_cleanup(698,20007 -static void hycapi_fill_profile(708,20249 -hycapi_capi_create(738,21193 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_defs.h,2617 -#define HYSDN_DEFS_H15,449 -#define uchar 26,703 -#define uint 27,731 -#define ulong 28,757 -#define word 29,785 -#define GLOBAL_OPTION_INTERNAL_CONTROLLER 43,1074 -#define GLOBAL_OPTION_EXTERNAL_CONTROLLER 44,1123 -#define GLOBAL_OPTION_HANDSET 45,1172 -#define GLOBAL_OPTION_DTMF 46,1221 -#define GLOBAL_OPTION_SUPPL_SERVICES 47,1270 -#define GLOBAL_OPTION_CHANNEL_ALLOCATION 48,1319 -#define GLOBAL_OPTION_B_CHANNEL_OPERATION 49,1368 -#define B1_PROT_64KBIT_HDLC 51,1418 -#define B1_PROT_64KBIT_TRANSPARENT 52,1460 -#define B1_PROT_V110_ASYNCH 53,1502 -#define B1_PROT_V110_SYNCH 54,1545 -#define B1_PROT_T30 55,1587 -#define B1_PROT_64KBIT_INV_HDLC 56,1629 -#define B1_PROT_56KBIT_TRANSPARENT 57,1671 -#define B2_PROT_ISO7776 59,1714 -#define B2_PROT_TRANSPARENT 60,1756 -#define B2_PROT_SDLC 61,1798 -#define B2_PROT_LAPD 62,1840 -#define B2_PROT_T30 63,1882 -#define B2_PROT_PPP 64,1924 -#define B2_PROT_TRANSPARENT_IGNORE_B1_FRAMING_ERRORS 65,1966 -#define B3_PROT_TRANSPARENT 67,2027 -#define B3_PROT_T90NL 68,2069 -#define B3_PROT_ISO8208 69,2111 -#define B3_PROT_X25_DCE 70,2153 -#define B3_PROT_T30 71,2195 -#define B3_PROT_T30EXT 72,2237 -#define HYSDN_MAXVERSION 74,2280 -#define HYSDN_MAX_CAPI_SKB 77,2351 -#define LOG_MAX_LINELEN 84,2578 -#define DEB_OUT_SYSLOG 85,2606 -#define LOG_MEM_ERR 86,2683 -#define LOG_POF_OPEN 87,2763 -#define LOG_POF_RECORD 88,2838 -#define LOG_POF_WRITE 89,2901 -#define LOG_POF_CARD 90,2975 -#define LOG_CNF_LINE 91,3047 -#define LOG_CNF_DATA 92,3121 -#define LOG_CNF_MISC 93,3208 -#define LOG_SCHED_ASYN 94,3284 -#define LOG_PROC_OPEN 95,3360 -#define LOG_PROC_ALL 96,3439 -#define LOG_NET_INIT 97,3515 -#define DEF_DEB_FLAGS 99,3589 -#define PROC_SUBDIR_NAME 104,3773 -#define PROC_CONF_BASENAME 105,3806 -#define PROC_LOG_BASENAME 106,3844 -#define PCI_REG_PLX_MEM_BASE 111,3995 -#define PCI_REG_PLX_IO_BASE 112,4029 -#define PCI_REG_MEMORY_BASE 113,4063 -#define BD_NONE 118,4149 -#define BD_PERFORMANCE 119,4176 -#define BD_VALUE 120,4203 -#define BD_PCCARD 121,4230 -#define BD_ERGO 122,4257 -#define BD_METRO 123,4284 -#define BD_CHAMP2 124,4311 -#define BD_PLEXUS 125,4338 -#define CARD_STATE_UNUSED 130,4537 -#define CARD_STATE_BOOTING 131,4599 -#define CARD_STATE_BOOTERR 132,4658 -#define CARD_STATE_RUN 133,4722 -#define ERRLOG_STATE_OFF 138,4876 -#define ERRLOG_STATE_ON 139,4952 -#define ERRLOG_STATE_START 140,5027 -#define ERRLOG_STATE_STOP 141,5082 -typedef struct HYSDN_CARD HYSDN_CARD146,5239 - struct hycapictrl_info hycapictrl_info201,7555 -} hysdn_card;hysdn_card220,8101 -typedef struct hycapictrl_info hycapictrl_info;hycapictrl_info223,8141 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_proclog.c,380 -struct log_data log_data28,873 -struct procdata procdata38,1257 -hysdn_card_errlog(53,1749 -hysdn_addlog(65,2202 -put_log_buffer(97,2970 -hysdn_log_write(153,4421 -hysdn_log_read(203,5634 -hysdn_log_open(247,6673 -hysdn_log_close(296,8310 -hysdn_log_poll(356,9855 -static struct file_operations log_fops 388,10711 -hysdn_proclog_init(404,11354 -hysdn_proclog_release(431,12434 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/ince1pc.h,1119 -#define __INCE1PC_H__16,394 -#define CHAN_SYSTEM 23,610 -#define CHAN_ERRLOG 24,688 -#define CHAN_CAPI 25,743 -#define CHAN_NDIS_DATA 26,800 -#define RDY_MAGIC 30,1012 -#define RDY_MAGIC_SIZE 31,1074 -#define MAX_N_TOK_BYTES 33,1135 -#define MIN_RDY_MSG_SIZE 35,1164 -#define MAX_RDY_MSG_SIZE 36,1207 -#define SYSR_TOK_END 38,1269 -#define SYSR_TOK_B_CHAN 39,1303 -#define SYSR_TOK_FAX_CHAN 40,1384 -#define SYSR_TOK_MAC_ADDR 41,1465 -#define SYSR_TOK_ESC 42,1541 -#define SYSR_TOK_B_CHAN_DEF 44,1664 -#define SYSR_TOK_FAX_CHAN_DEF 45,1726 -#define ERRLOG_CMD_REQ 77,3045 -#define ERRLOG_CMD_REQ_SIZE 78,3089 -#define ERRLOG_CMD_STOP 79,3163 -#define ERRLOG_CMD_STOP_SIZE 80,3208 -#define ERRLOG_ENTRY_SIZE 82,3283 -#define ERRLOG_TEXT_SIZE 84,3387 -typedef struct ErrLogEntry_tag ErrLogEntry_tag86,3442 -} tErrLogEntry;tErrLogEntry98,3648 -#define DPRAM_SPOOLER_DATA_SIZE 111,3999 -typedef struct DpramBootSpooler_tag DpramBootSpooler_tag112,4036 -} tDpramBootSpooler;tDpramBootSpooler123,4208 -#define DPRAM_SPOOLER_MIN_SIZE 126,4231 -#define DPRAM_SPOOLER_DEF_SIZE 127,4300 -#define SIZE_RSV_SOFT_UART 131,4489 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/boardergo.c,369 -#define byteout(byteout29,859 -#define bytein(bytein30,900 -ergo_interrupt(36,1113 -ergo_irq_bh(75,2570 -ergo_stopcard(131,4064 -ergo_set_errlog_state(157,5008 -static const char TestText[185,5757 -ergo_testram(188,5841 -ergo_writebootimg(219,7147 -ergo_writebootseq(267,9141 -ergo_waitpofready(329,11272 -ergo_releasehardware(406,13824 -ergo_inithardware(423,14643 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/hysdn/hysdn_procconf.c,544 -static char *hysdn_procconf_revision 23,609 -#define INFO_OUT_LEN 25,673 -#define CONF_STATE_DETECT 30,915 -#define CONF_STATE_CONF 31,968 -#define CONF_STATE_POF 32,1022 -#define CONF_LINE_LEN 33,1073 -struct conf_writedata conf_writedata35,1122 -process_line(51,1918 -hysdn_conf_write(92,3256 -hysdn_conf_read(210,7131 -hysdn_conf_open(240,7900 -hysdn_conf_close(325,10234 -static struct file_operations conf_fops 372,11672 -struct proc_dir_entry *hysdn_proc_entry 384,12031 -hysdn_procconf_init(392,12494 -hysdn_procconf_release(425,13774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_main.c,463 -static tpam_card *cards;32,925 -static int cards_num;34,986 -static char *id 36,1044 -tpam_card *tpam_findcard(51,1455 -u32 tpam_findchannel(70,1770 -static int __devinit tpam_probe(87,2119 -static void __devexit tpam_unregister_card(222,5774 -static void __devexit tpam_remove(242,6215 -static struct pci_device_id tpam_pci_tbl[263,6639 -static struct pci_driver tpam_driver 271,6823 -static int __init tpam_init(278,6974 -static void __exit tpam_exit(289,7212 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_nco.c,686 -static struct sk_buff *build_NCOpacket(37,1049 -struct sk_buff *build_ACreateNCOReq(83,2353 -struct sk_buff *build_ADestroyNCOReq(140,3636 -struct sk_buff *build_CConnectReq(169,4273 -struct sk_buff *build_CConnectRsp(219,5407 -struct sk_buff *build_CDisconnectReq(246,5944 -struct sk_buff *build_CDisconnectRsp(273,6490 -struct sk_buff *build_U3DataReq(304,7173 -static int extract_NCOParameter(340,8014 -int parse_ACreateNCOCnf(390,9186 -int parse_ADestroyNCOCnf(425,10108 -int parse_CConnectCnf(459,10956 -int parse_CConnectInd(486,11796 -int parse_CDisconnectCnf(540,13394 -int parse_CDisconnectInd(570,14239 -int parse_U3ReadyToReceiveInd(600,15084 -int parse_U3DataInd(631,15927 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_memory.c,221 -void copy_to_pam_dword(26,650 -void copy_to_pam(45,1196 -u32 copy_from_pam_dword(78,1889 -void copy_from_pam(96,2344 -int copy_from_pam_to_user(128,3107 -int copy_from_user_to_pam(174,4222 -int tpam_verify_area(219,5307 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam.h,2645 -#define _TPAM_PRIV_H_15,423 -#define TPAM_NBCHANNEL 23,603 -#define TPAM_MAXBUFSIZE 25,657 -#define TPAM_PAGE_SIZE 27,724 -#define TPAM_MAGICNUMBER 29,835 -#define TPAM_PAGE_REGISTER 32,904 -#define TPAM_DSPINT_REGISTER 33,960 -#define TPAM_RESETPAM_REGISTER 34,1022 -#define TPAM_HINTACK_REGISTER 35,1082 -#define TPAM_HPIC_REGISTER 36,1143 -#define TPAM_MAGICNUMBER_REGISTER 39,1236 -#define TPAM_EXID_REGISTER 40,1300 -#define TPAM_UPLOADPTR_REGISTER 41,1361 -#define TPAM_DOWNLOADPTR_REGISTER 42,1427 -#define TPAM_ACKUPLOAD_REGISTER 43,1496 -#define TPAM_ACKDOWNLOAD_REGISTER 44,1557 -#define TPAM_INTERRUPTACK_REGISTER 45,1621 -#define TPAM_RESERVEDAREA1_START 48,1729 -#define TPAM_RESERVEDAREA1_END 49,1773 -#define TPAM_RESERVEDAREA2_START 50,1816 -#define TPAM_RESERVEDAREA2_END 51,1860 -#define TPAM_RESERVEDAREA3_START 52,1903 -#define TPAM_RESERVEDAREA3_END 53,1947 -#define TPAM_RESERVEDAREA4_START 54,1990 -#define TPAM_RESERVEDAREA4_END 55,2034 -#define TPAM_NCOID_INVALID 58,2099 -#define TPAM_CHANNEL_INVALID 60,2162 -typedef struct tpam_channel tpam_channel63,2223 -} tpam_channel;tpam_channel72,2602 -typedef struct tpam_card tpam_card75,2640 -} tpam_card;tpam_card93,3497 -#define SIGNATURE_TIMEOUT 96,3567 -#define NCOCREATE_TIMEOUT 98,3658 -#define MPB_MAXIMUMBLOCKTLVSIZE 101,3729 -#define MPB_MAXIMUMDATASIZE 103,3803 -#define PHONE_MAXIMUMSIZE 105,3873 -typedef struct skb_header skb_header108,3942 -} skb_header;skb_header113,4192 -typedef struct pci_mpb pci_mpb116,4242 -} pci_mpb;pci_mpb126,4673 -#define ID_ACreateNCOReq 129,4713 -#define ID_ACreateNCOCnf 130,4742 -#define ID_ADestroyNCOReq 131,4771 -#define ID_ADestroyNCOCnf 132,4801 -#define ID_CConnectReq 133,4831 -#define ID_CConnectInd 134,4859 -#define ID_CConnectRsp 135,4887 -#define ID_CConnectCnf 136,4915 -#define ID_CDisconnectReq 137,4943 -#define ID_CDisconnectInd 138,4973 -#define ID_CDisconnectRsp 139,5003 -#define ID_CDisconnectCnf 140,5033 -#define ID_U3DataReq 141,5063 -#define ID_U3DataInd 142,5089 -#define ID_U3ReadyToReceiveInd 143,5115 -#define PAR_BearerCap 146,5198 -#define PAR_CalledNumber 147,5223 -#define PAR_CallingNumber 148,5250 -#define PAR_CauseToPUF 149,5279 -#define PAR_Cdirection 150,5306 -#define PAR_CompletionStatus 151,5333 -#define PAR_Facility 152,5365 -#define PAR_HLC 153,5390 -#define PAR_NCOID 154,5411 -#define PAR_NCOType 155,5433 -#define PAR_ReadyFlag 156,5457 -#define PAR_U3Protocol 157,5483 -#define PAR_Udirection 158,5510 -typedef struct tpam_statcallb_data tpam_statcallb_data161,5572 -} tpam_statcallb_data;tpam_statcallb_data165,5762 -#define dprintk 231,8832 -#define dprintk 233,8861 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_commands.c,902 -int tpam_command(44,1405 -static int tpam_command_ioctl_dspload(117,3306 -static int tpam_command_ioctl_dspsave(147,4261 -static int tpam_command_ioctl_dsprun(175,5179 -static int tpam_command_ioctl_loopmode(277,8120 -static int tpam_command_dial(296,8506 -static int tpam_command_setl2(342,9827 -static int tpam_command_acceptd(375,10589 -static int tpam_command_acceptb(410,11465 -static int tpam_command_hangup(437,12084 -static int tpam_command_proceed(464,12700 -int tpam_writebuf_skb(493,13514 -void tpam_recv_ACreateNCOCnf(567,15409 -void tpam_recv_ADestroyNCOCnf(612,16648 -void tpam_recv_CConnectCnf(645,17453 -void tpam_recv_CConnectInd(680,18411 -void tpam_recv_CDisconnectInd(746,20352 -void tpam_recv_CDisconnectCnf(791,21497 -void tpam_recv_U3DataInd(831,22600 -void tpam_recv_U3ReadyToReceiveInd(912,24799 -static void tpam_statcallb_run(943,25684 -static void tpam_statcallb(960,26035 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_crcpc.c,476 -#define HDLC_CTRL_CHAR_CMPL_MASK 33,785 -#define HDLC_FLAG 34,869 -#define HDLC_CTRL_ESC 35,911 -#define HDLC_LIKE_FCS_INIT_VAL 36,977 -#define HDLC_FCS_OK 37,1073 -#define TRUE 39,1152 -#define FALSE 40,1167 -static u8 ap_t_ctrl_char_complemented[42,1184 -static void ap_hdlc_like_ctrl_char_list 44,1268 -void init_CRC(57,1612 -void hdlc_encode_modem(61,1679 -#define ESCAPE_CHAR(ESCAPE_CHAR74,1962 -void hdlc_no_accm_encode(110,2599 -u32 hdlc_no_accm_decode(141,3216 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_hdlc.c,670 -typedef u8 BYTE;BYTE99,3721 -typedef u16 WORD;WORD100,3738 -typedef u32 DWORD;DWORD101,3756 -typedef u8 BOOL;BOOL102,3775 -#define TRUE 104,3793 -#define FALSE 105,3810 -static WORD stuff0[107,3829 -static WORD stuff1[144,5971 -static WORD stuff2[181,8113 -static WORD stuff3[218,10255 -static WORD stuff4[255,12397 -static WORD stuff5[292,14539 -static WORD destuff0[328,16680 -static WORD destuff1[365,18824 -static WORD destuff2[402,20968 -static WORD destuff3[439,23112 -static WORD destuff4[476,25256 -static WORD destuff5[513,27400 -static WORD * stuffs[550,29544 -WORD * destuffs[551,29621 -DWORD tpam_hdlc_encode(579,31683 -DWORD tpam_hdlc_decode(776,37701 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/tpam/tpam_queues.c,181 -void tpam_enqueue(31,786 -void tpam_enqueue_data(50,1336 -irqreturn_t tpam_irq(77,2215 -void tpam_recv_tq(200,5611 -void tpam_send_tq(251,7003 -static int tpam_sendpacket(282,7963 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_tty.h,1965 -#define DLE 15,445 -#define ETX 16,462 -#define DC4 17,479 -#define REG_RINGATA 23,560 -#define REG_RINGCNT 24,584 -#define REG_ESC 25,637 -#define REG_CR 26,661 -#define REG_LF 27,685 -#define REG_BS 28,709 -#define REG_WAITC 30,734 -#define REG_RESP 32,759 -#define BIT_RESP 33,822 -#define REG_RESPNUM 34,885 -#define BIT_RESPNUM 35,948 -#define REG_ECHO 36,1011 -#define BIT_ECHO 37,1035 -#define REG_DCD 38,1059 -#define BIT_DCD 39,1083 -#define REG_CTS 40,1107 -#define BIT_CTS 41,1131 -#define REG_DTRR 42,1155 -#define BIT_DTRR 43,1179 -#define REG_DSR 44,1203 -#define BIT_DSR 45,1227 -#define REG_CPPP 46,1251 -#define BIT_CPPP 47,1275 -#define REG_DXMT 49,1300 -#define BIT_DXMT 50,1324 -#define REG_T70 51,1348 -#define BIT_T70 52,1372 -#define BIT_T70_EXT 53,1396 -#define REG_DTRHUP 54,1420 -#define BIT_DTRHUP 55,1444 -#define REG_RESPXT 56,1468 -#define BIT_RESPXT 57,1492 -#define REG_CIDONCE 58,1516 -#define BIT_CIDONCE 59,1540 -#define REG_RUNG 60,1564 -#define BIT_RUNG 61,1627 -#define REG_DISPLAY 62,1690 -#define BIT_DISPLAY 63,1714 -#define REG_L2PROT 65,1739 -#define REG_L3PROT 66,1763 -#define REG_PSIZE 67,1787 -#define REG_WSIZE 68,1811 -#define REG_SI1 69,1835 -#define REG_SI2 70,1859 -#define REG_SI1I 71,1883 -#define REG_PLAN 72,1907 -#define REG_SCREEN 73,1931 -#define REG_CPN 75,1956 -#define BIT_CPN 76,1980 -#define REG_CPNFCON 77,2004 -#define BIT_CPNFCON 78,2028 -#define REG_CDN 79,2052 -#define BIT_CDN 80,2076 -#define RESULT_OK 83,2132 -#define RESULT_CONNECT 84,2153 -#define RESULT_RING 85,2179 -#define RESULT_NO_CARRIER 86,2202 -#define RESULT_ERROR 87,2230 -#define RESULT_CONNECT64000 88,2254 -#define RESULT_NO_DIALTONE 89,2284 -#define RESULT_BUSY 90,2313 -#define RESULT_NO_ANSWER 91,2336 -#define RESULT_RINGING 92,2363 -#define RESULT_NO_MSN_EAZ 93,2389 -#define RESULT_VCON 94,2418 -#define RESULT_RUNG 95,2442 -#define TTY_IS_FCLASS1(TTY_IS_FCLASS197,2467 -#define TTY_IS_FCLASS2(TTY_IS_FCLASS2100,2616 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_ttyfax.c,318 -static char *isdn_tty_fax_revision 23,603 -#define PARSE_ERROR1 25,665 -isdn_getrev(28,751 -isdn_tty_fax_modem_result(48,988 -isdn_tty_fax_command1(152,3287 -isdn_tty_fax_command(191,4282 -isdn_tty_fax_bitorder(283,6901 -isdn_tty_cmd_FCLASS1(320,7520 -isdn_tty_cmd_FCLASS2(412,9759 -isdn_tty_cmd_PLUSF_FAX(1115,25691 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_v110.c,717 -char *isdn_v110_revision 23,526 -#define V110_38400 25,578 -#define V110_19200 26,601 -#define V110_9600 27,624 -static unsigned char V110_OnMatrix_9600[33,771 -static unsigned char V110_OffMatrix_9600[39,1061 -static unsigned char V110_OnMatrix_19200[45,1352 -static unsigned char V110_OffMatrix_19200[49,1521 -static unsigned char V110_OnMatrix_38400[53,1691 -static unsigned char V110_OffMatrix_38400[56,1799 -FlipBits(66,2190 -isdn_v110_open(90,2630 -isdn_v110_close(136,3634 -ValidHeaderBytes(152,3892 -SyncHeader(165,4145 -DecodeMatrix(191,4924 -isdn_v110_decode(256,7218 -EncodeMatrix(326,9222 -isdn_v110_sync(414,11714 -isdn_v110_idle(434,12151 -isdn_v110_encode(451,12549 -isdn_v110_stat_callback(519,14229 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_concap.c,291 -int isdn_concap_dl_data_req(42,1353 -int isdn_concap_dl_connect_req(61,2005 -int isdn_concap_dl_disconn_req(74,2348 -struct concap_device_ops isdn_concap_reliable_dl_dops 82,2541 -struct concap_device_ops isdn_concap_demand_dial_dops 88,2689 -struct concap_proto * isdn_concap_new(101,3150 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_bsdcomp.c,1410 -#define BSD_VERSION(BSD_VERSION100,3507 -#define BSD_NBITS(BSD_NBITS101,3541 -#define BSD_CURRENT_VERSION 103,3576 -#define DEBUG 105,3607 -struct bsd_dict bsd_dict111,3672 -struct bsd_db bsd_db117,3797 -#define BSD_OVHD 145,5134 -#define MIN_BSD_BITS 146,5189 -#define BSD_INIT_BITS 147,5212 -#define MAX_BSD_BITS 148,5247 -#define CLEAR 154,5398 -#define FIRST 155,5448 -#define LAST 156,5491 -#define MAXCODE(MAXCODE158,5509 -#define BADCODEM1 159,5545 -#define BSD_HASH(BSD_HASH161,5587 -#define BSD_KEY(BSD_KEY163,5700 -#define CHECK_GAP 166,5803 -#define RATIO_SCALE_LOG 168,5856 -#define RATIO_SCALE 169,5882 -#define RATIO_MAX 170,5923 -static void bsd_clear(176,6004 -static int bsd_check 201,6705 -static void bsd_stats 247,7715 -static void bsd_reset 264,8193 -static void bsd_free 278,8500 -static void *bsd_alloc 310,8927 -static int bsd_init 387,10717 -#define dict_ptrx(dict_ptrx432,11733 -#define lens_ptrx(lens_ptrx433,11774 -static unsigned short *lens_ptr(436,11829 -static struct bsd_dict *dict_ptr(445,12055 -#define lens_ptr(lens_ptr455,12284 -#define dict_ptr(dict_ptr456,12327 -static int bsd_compress 462,12406 -#define OUTPUT(OUTPUT478,12792 -static void bsd_incomp 642,16763 -static int bsd_decompress 650,16920 -static struct isdn_ppp_compressor ippp_bsd_compress 906,23309 -static int __init isdn_bsdcomp_init(923,23839 -static void __exit isdn_bsdcomp_exit(931,24049 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_concap.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_ppp.h,183 -#define IPPP_OPEN 35,1565 -#define IPPP_CONNECT 36,1588 -#define IPPP_CLOSEWAIT 37,1614 -#define IPPP_NOBLOCK 38,1642 -#define IPPP_ASSIGNED 39,1668 -#define IPPP_MAX_HEADER 41,1696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_v110.h,29 -#define _isdn_v110_h_13,352 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_net.c,2374 -static __inline__ int isdn_net_device_started(73,2410 -static __inline__ void isdn_net_device_wake_queue(89,2733 -static __inline__ void isdn_net_device_stop_queue(101,3006 -static __inline__ int isdn_net_device_busy(114,3333 -static __inline__ void isdn_net_inc_frame_cnt(141,3868 -static __inline__ void isdn_net_dec_frame_cnt(148,4033 -static __inline__ void isdn_net_zero_frame_cnt(161,4377 -#define ISDN_NET_TX_TIMEOUT 175,4917 -char *isdn_net_revision 185,5221 -isdn_net_unreachable(192,5332 -isdn_net_reset(213,5881 -isdn_net_open(229,6281 -isdn_net_bind_channel(269,7285 -isdn_net_unbind_channel(282,7601 -unsigned long last_jiffies 315,8780 -isdn_net_autohup(318,8820 -static void isdn_net_lp_disconnected(379,10661 -isdn_net_stat_callback(391,11019 -isdn_net_dial(556,15917 -isdn_net_hangup(825,23735 -} ip_ports;ip_ports871,25042 -isdn_net_log_skb(874,25067 -void isdn_net_write_super(966,27387 -static void isdn_net_softint(988,27864 -void isdn_net_writebuf_skb(1007,28353 -isdn_net_xmit(1053,29474 -isdn_net_adjust_hdr(1119,31266 -void isdn_net_tx_timeout(1134,31638 -isdn_net_start_xmit(1168,32792 -isdn_net_close(1314,37088 -isdn_net_get_stats(1349,37930 -isdn_net_type_trans(1365,38569 -isdn_net_ciscohdlck_alloc_skb(1413,39759 -isdn_ciscohdlck_dev_ioctl(1428,40115 -isdn_net_ciscohdlck_slarp_send_keepalive(1495,41893 -isdn_net_ciscohdlck_slarp_send_request(1560,43774 -isdn_net_ciscohdlck_connected(1586,44306 -isdn_net_ciscohdlck_disconnected(1607,44929 -isdn_net_ciscohdlck_slarp_send_reply(1613,45029 -isdn_net_ciscohdlck_slarp_in(1652,46017 -isdn_net_ciscohdlck_receive(1717,47590 -isdn_net_receive(1768,48623 -isdn_net_rcv_skb(1861,51137 -my_eth_header(1877,51418 -isdn_net_header(1922,52489 -isdn_net_rebuild_header(1978,53982 -isdn_net_init(2012,54738 -isdn_net_swapbind(2061,56046 -isdn_net_swap_usage(2084,56461 -isdn_net_find_icall(2117,57541 -isdn_net_findif(2446,68140 -isdn_net_force_dial_lp(2464,68469 -isdn_net_dial_req(2511,69652 -isdn_net_force_dial(2524,69956 -isdn_net_new(2537,70193 -isdn_net_newslave(2633,73501 -isdn_net_setcfg(2666,74300 -isdn_net_getcfg(2893,80858 -isdn_net_addphone(2948,82422 -isdn_net_getphones(2969,82958 -isdn_net_getpeer(3002,83622 -isdn_net_delphone(3030,84529 -isdn_net_rmallphone(3063,85138 -isdn_net_force_hangup(3086,85460 -isdn_net_realrm(3110,85928 -isdn_net_rm(3172,87665 -isdn_net_rmall(3201,88269 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_common.c,1795 -#define CONFIG_ISDN_DIVERSION30,876 -isdn_dev *dev;44,1181 -static char *isdn_revision 46,1197 -static char *isdn_ppp_revision 53,1376 -static char *isdn_audio_revision 58,1493 -static isdn_divert_if *divert_if;63,1610 -isdn_lock_driver(73,1866 -isdn_lock_drivers(80,1968 -isdn_unlock_driver(92,2136 -isdn_unlock_drivers(101,2264 -isdn_dumppkt(114,2489 -isdn_star(130,2882 -isdn_wildmat(158,3500 -int isdn_msncmp(203,4482 -isdn_dc2minor(221,4854 -static int isdn_timer_cnt1 230,5016 -static int isdn_timer_cnt2 231,5048 -static int isdn_timer_cnt3 232,5080 -isdn_timer_funct(235,5125 -isdn_timer_ctrl(270,5957 -isdn_receive_skb_callback(295,6558 -isdn_command(338,7595 -isdn_all_eaz(372,8553 -isdn_capi_rec_hl_msg(392,8895 -isdn_status_callback(409,9218 -isdn_getnum(738,18310 -#define DLE 747,18458 -isdn_readbchan(763,19193 -isdn_minor2drv(862,21432 -isdn_minor2chan(868,21513 -isdn_statstr(874,21590 -isdn_info_update(928,22950 -isdn_read(940,23138 -isdn_write(1044,25387 -isdn_poll(1106,26861 -isdn_ioctl(1148,27789 - union iocpar iocpar1158,27983 -#define name 1167,28170 -#define bname 1168,28196 -#define iocts 1169,28223 -#define phone 1170,28250 -#define cfg 1171,28277 -isdn_open(1599,39461 -isdn_close(1661,40804 -static struct file_operations isdn_fops 1703,41653 -isdn_map_eaz2msn(1716,41888 -#define L2V 1734,42230 -isdn_get_free_channel(1740,42388 -isdn_free_channel(1792,44018 -isdn_unexclusive_channel(1819,44727 -isdn_writebuf_stub(1836,45033 -isdn_writebuf_skb_stub(1858,45581 -isdn_add_channels(1927,47490 -set_global_features(2013,49590 -static char *map_drvname(2028,49891 -static int map_namedrv(2035,50054 -int DIVERT_REG_NAME(2045,50239 -register_isdn(2083,51184 -isdn_getrev(2145,52780 -static int __init isdn_init(2162,53032 -static void __exit isdn_exit(2235,54964 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_ppp.c,2921 -#define PPP_IPX 25,610 -static ippp_bundle * isdn_ppp_bundle_arr 64,2370 -char *isdn_ppp_revision 75,2799 -static struct ippp_struct *ippp_table[77,2850 -static struct isdn_ppp_compressor *ipc_head 79,2909 -isdn_ppp_frame_log(85,3002 -isdn_ppp_free(108,3574 -isdn_ppp_bind(156,4886 -isdn_ppp_wakeup_daemon(224,6580 -isdn_ppp_closewait(241,7056 -isdn_ppp_get_slot(262,7426 -isdn_ppp_open(277,7592 -isdn_ppp_release(335,9093 -get_arg(417,11242 -set_arg(430,11438 -static int get_filter(439,11585 -isdn_ppp_ioctl(478,12253 -isdn_ppp_poll(666,17111 -isdn_ppp_fill_rq(710,18111 -isdn_ppp_read(763,19278 -isdn_ppp_write(803,20011 -isdn_ppp_init(875,21713 -isdn_ppp_cleanup(910,22678 -static int isdn_ppp_skip_ac(928,22994 -static int isdn_ppp_strip_proto(954,23505 -void isdn_ppp_receive(978,23913 -isdn_ppp_push_higher(1035,25348 -static unsigned char *isdn_ppp_skb_push(1196,29915 -isdn_ppp_xmit(1225,30640 -int isdn_ppp_autodial_filter(1470,37242 -#define MP_HEADER_LEN 1519,38503 -#define MP_LONGSEQ_MASK 1521,38528 -#define MP_SHORTSEQ_MASK 1522,38564 -#define MP_LONGSEQ_MAX 1523,38600 -#define MP_SHORTSEQ_MAX 1524,38640 -#define MP_LONGSEQ_MAXBIT 1525,38682 -#define MP_SHORTSEQ_MAXBIT 1526,38733 -#define MP_LT(MP_LT1529,38845 -#define MP_LE(MP_LE1530,38890 -#define MP_GT(MP_GT1531,38937 -#define MP_GE(MP_GE1532,38983 -#define MP_SEQ(MP_SEQ1534,39030 -#define MP_FLAGS(MP_FLAGS1535,39071 -static int isdn_ppp_mp_bundle_array_init(1537,39105 -static ippp_bundle * isdn_ppp_mp_bundle_alloc(1550,39455 -static int isdn_ppp_mp_init(1559,39655 -static void isdn_ppp_mp_receive(1598,40870 -static void isdn_ppp_mp_cleanup(1819,47682 -static u32 isdn_ppp_mp_get_seq(1831,47963 -struct sk_buff * isdn_ppp_mp_discard(1865,48886 -void isdn_ppp_mp_reassembly(1877,49142 -static void isdn_ppp_mp_free_skb(1928,50632 -static void isdn_ppp_mp_print_recv_pkt(1934,50746 -isdn_ppp_bundle(1943,51058 -isdn_ppp_dev_ioctl_stats(1993,52346 -isdn_ppp_dev_ioctl(2035,53676 -#define PPP_VERSION 2046,53906 -isdn_ppp_if_get_unit(2064,54240 -isdn_ppp_dial_slave(2091,54608 -isdn_ppp_hangup_slave(2122,55141 -static void isdn_ppp_ccp_kickup(2167,56002 -static void isdn_ppp_ccp_xmit_reset(2207,58333 -static struct ippp_ccp_reset *isdn_ppp_ccp_reset_alloc(2258,59520 -static void isdn_ppp_ccp_reset_free(2274,60025 -static void isdn_ppp_ccp_reset_free_state(2290,60426 -static void isdn_ppp_ccp_timer_callback(2310,61010 -static struct ippp_ccp_reset_state *isdn_ppp_ccp_reset_alloc_state(2344,61997 -static void isdn_ppp_ccp_reset_trans(2370,62720 -static void isdn_ppp_ccp_reset_ack_rcvd(2473,65951 -static struct sk_buff *isdn_ppp_decompress(2513,67042 -static struct sk_buff *isdn_ppp_compress(2592,69116 -static void isdn_ppp_receive_ccp(2652,70446 -static void isdn_ppp_send_ccp(2829,75752 -int isdn_ppp_register_compressor(2929,78517 -int isdn_ppp_unregister_compressor(2940,78701 -static int isdn_ppp_set_compressor(2952,78938 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_audio.h,276 -#define DTMF_NPOINTS 12,351 -typedef struct adpcm_state adpcm_state13,428 -} adpcm_state;adpcm_state19,508 -typedef struct dtmf_state dtmf_state21,524 -} dtmf_state;dtmf_state26,611 -typedef struct silence_state silence_state28,626 -} silence_state;silence_state31,688 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_tty.c,2768 -#define VBUF 20,596 -#define VBUFX 21,615 -#define FIX_FILE_TRANSFER24,647 -#define DUMMY_HAYES_AT25,673 -#define MODEM_PARANOIA_CHECK40,1218 -#define MODEM_DO_RESTART41,1247 -static int bit2si[43,1273 -static int si2bit[45,1322 -char *isdn_tty_revision 48,1372 -isdn_tty_try_read(61,1810 -isdn_tty_readmodem(111,3042 -isdn_tty_rcv_skb(164,4267 -isdn_tty_cleanup_xmit(276,7194 -isdn_tty_tint(285,7358 -isdn_tty_countDLE(312,7960 -isdn_tty_handleDLEdown(326,8214 -isdn_tty_end_vrx(393,9613 -static int voice_cf[409,9832 -isdn_tty_senddown(420,10256 -isdn_tty_modem_do_ncarrier(542,13357 -isdn_tty_modem_ncarrier(554,13711 -isdn_calc_usage(566,13925 -isdn_tty_dial(595,14445 -isdn_tty_modem_hup(683,16868 -isdn_tty_capi_facility(764,18519 -isdn_tty_suspend(771,18668 -isdn_tty_resume(811,19811 -isdn_tty_send_msg(900,22329 -isdn_tty_paranoia_check(984,24557 -isdn_tty_change_speed(1006,25085 -isdn_tty_startup(1064,26267 -isdn_tty_shutdown(1094,26998 -isdn_tty_write(1129,28194 -isdn_tty_write_room(1247,31302 -isdn_tty_chars_in_buffer(1261,31626 -isdn_tty_flush_buffer(1273,31893 -isdn_tty_flush_chars(1291,32243 -isdn_tty_throttle(1310,32822 -isdn_tty_unthrottle(1322,33094 -isdn_tty_get_lsr_info(1354,34071 -isdn_tty_tiocmget(1366,34292 -isdn_tty_tiocmset(1391,35019 -isdn_tty_ioctl(1430,35955 -isdn_tty_set_termios(1489,37683 -isdn_tty_block_til_ready(1512,38263 -isdn_tty_open(1620,41229 -isdn_tty_close(1672,42526 -isdn_tty_hangup(1766,45289 -isdn_tty_reset_profile(1782,45705 -isdn_tty_modem_reset_vpar(1812,46359 -isdn_tty_modem_reset_faxpar(1825,46879 -isdn_tty_modem_reset_regs(1858,47481 -modem_write_profile(1877,47963 -static struct tty_operations modem_ops 1886,48182 -isdn_tty_modem_init(1904,48700 -isdn_tty_exit(1996,51280 -isdn_tty_match_icall(2022,51880 -isdn_tty_find_icall(2078,53188 -#define TTY_IS_ACTIVE(TTY_IS_ACTIVE2161,55788 -isdn_tty_stat_callback(2165,55895 -#define cmdchar(cmdchar2354,61191 -isdn_tty_at_cout(2361,61378 -isdn_tty_on_hook(2438,63216 -isdn_tty_off_hook(2449,63421 -#define PLUSWAIT1 2454,63493 -#define PLUSWAIT2 2455,63540 -isdn_tty_check_esc(2469,63944 -isdn_tty_modem_result(2515,64994 -isdn_tty_show_profile(2690,69993 -isdn_tty_get_msnstr(2702,70222 -isdn_tty_getdial(2718,70510 -#define PARSE_ERROR 2738,70922 -#define PARSE_ERROR1 2739,70997 -isdn_tty_report(2742,71088 -isdn_tty_cmd_ATand(2820,73131 -#define MAXRB 2826,73229 -isdn_tty_check_ats(3019,77783 -isdn_tty_cmd_ATS(3055,78509 -isdn_tty_cmd_ATA(3121,79799 -isdn_tty_cmd_PLUSF(3175,81250 -isdn_tty_cmd_PLUSV(3272,83493 -isdn_tty_parse_at(3551,89570 -#define my_toupper(my_toupper3755,93922 -isdn_tty_edit_at(3767,94197 -isdn_tty_modem_escape(3844,95950 -isdn_tty_modem_ring(3873,96674 -isdn_tty_modem_xmit(3893,97031 -isdn_tty_carrier_timeout(3914,97415 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_x25iface.c,598 -#define MY_DEVNAME(MY_DEVNAME27,1045 -typedef struct isdn_x25iface_proto_data isdn_x25iface_proto_data30,1119 -} ix25_pdata_t;ix25_pdata_t37,1417 -static struct concap_proto_ops ix25_pops 53,2005 -static void illegal_state_warn(65,2308 -static int pdata_is_bad(72,2541 -struct concap_proto * isdn_x25iface_proto_new(82,2797 -int isdn_x25iface_proto_close(104,3455 -void isdn_x25iface_proto_del(131,4100 -int isdn_x25iface_proto_restart(160,4885 -int isdn_x25iface_receive(189,5704 -int isdn_x25iface_connect_ind(211,6363 -int isdn_x25iface_disconn_ind(243,7266 -int isdn_x25iface_xmit(275,8205 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_x25iface.h,152 -#define _LINUX_ISDN_X25IFACE_H11,309 -#define ISDN_X25IFACE_MAGIC 13,341 -# define IX25DEBUG(IX25DEBUG16,471 -# define IX25DEBUG(IX25DEBUG18,544 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_net.h,809 -#define ISDN_WAITCHARGE 15,558 -#define ISDN_HAVECHARGE 16,637 -#define ISDN_CHARGEHUP 17,716 -#define ISDN_INHUP 18,795 -#define ISDN_MANCHARGE 19,874 -#define CISCO_ADDR_UNICAST 25,1000 -#define CISCO_ADDR_BROADCAST 26,1035 -#define CISCO_CTRL 27,1070 -#define CISCO_TYPE_CDP 28,1105 -#define CISCO_TYPE_SLARP 29,1142 -#define CISCO_SLARP_REQUEST 30,1179 -#define CISCO_SLARP_REPLY 31,1211 -#define CISCO_SLARP_KEEPALIVE 32,1243 -#define ISDN_NET_MAX_QUEUE_LENGTH 57,2412 -static __inline__ int isdn_net_lp_busy(62,2492 -static __inline__ isdn_net_local * isdn_net_get_locked_lp(74,2786 -static __inline__ void isdn_net_add_to_bundle(101,3450 -static __inline__ void isdn_net_rm_from_bundle(122,3969 -put_u8(148,4871 -put_u16(155,4945 -put_u32(162,5037 -get_u8(169,5129 -get_u16(176,5205 -get_u32(183,5299 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_common.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_audio.c,1153 -char *isdn_audio_revision 18,558 -static short isdn_audio_ulaw_to_s16[25,671 -static short isdn_audio_alaw_to_s16[62,2824 -static char isdn_audio_alaw_to_ulaw[99,4968 -static char isdn_audio_ulaw_to_alaw[136,6600 -#define NCOEFF 172,8213 -#define DTMF_TRESH 173,8294 -#define SILENCE_TRESH 174,8375 -#define AMP_BITS 175,8456 -#define LOGRP 176,8537 -#define HIGRP 177,8565 -static int cos2pik[182,8674 -static char dtmf_matrix[187,8765 -isdn_audio_tlookup(196,8913 -isdn_audio_ulaw2alaw(216,9342 -isdn_audio_alaw2ulaw(222,9470 -#define ZEROTRAP 235,9757 -#define BIAS 237,9847 -#define CLIP 238,9927 -isdn_audio_linear2ulaw(241,9968 -static int Mx[288,11446 -static int bitmask[295,11625 -isdn_audio_get_bits(301,11717 -isdn_audio_put_bits(314,11992 -isdn_audio_adpcm_init(328,12304 -isdn_audio_dtmf_init(343,12544 -isdn_audio_adpcm2xlaw(360,12769 -isdn_audio_2adpcm_flush(395,13442 -isdn_audio_xlaw2adpcm(405,13613 -isdn_audio_goertzel(457,14650 -isdn_audio_eval_dtmf(504,15810 -isdn_audio_calc_dtmf(602,18167 -isdn_audio_silence_init(631,18733 -isdn_audio_calc_silence(643,18917 -isdn_audio_put_dle_code(670,19380 -isdn_audio_eval_silence(700,20073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/i4l/isdn_ttyfax.h,61 -#define XON 15,450 -#define XOFF 16,467 -#define DC2 17,485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/isdnloop/isdnloop.c,1365 -static char *revision 18,460 -static char *isdnloop_id 19,509 -isdnloop_free_queue(37,935 -isdnloop_bchan_send(54,1334 -isdnloop_pollbchan(92,2279 -isdnloop_parse_setup(122,3127 -typedef struct isdnloop_stat isdnloop_stat147,3725 -} isdnloop_stat;isdnloop_stat151,3799 -static isdnloop_stat isdnloop_stat_table[153,3835 -isdnloop_parse_status(186,5319 -isdnloop_putmsg(280,7643 -isdnloop_polldchan(310,8551 -isdnloop_sendbuf(403,10973 -isdnloop_readstatus(446,12003 -isdnloop_fake(473,12684 -static isdnloop_stat isdnloop_cmd_table[489,13098 -isdnloop_fake_err(522,14335 -static u_char ctable_eu[531,14494 -static u_char ctable_1t[533,14548 -isdnloop_unicause(548,14953 -isdnloop_atimeout(574,15485 -isdnloop_atimeout0(597,15998 -isdnloop_atimeout1(607,16173 -isdnloop_start_ctimer(621,16449 -isdnloop_kill_ctimer(646,17014 -static u_char si2bit[656,17176 -static u_char bit2si[658,17233 -isdnloop_try_call(676,17725 -isdnloop_vstphone(750,19325 -isdnloop_parse_cmd(788,20073 -isdnloop_writecmd(975,24545 -isdnloop_stopcard(1025,25513 -isdnloop_stopallcards(1049,26008 -isdnloop_start(1071,26443 -isdnloop_command(1133,28018 -isdnloop_findcard(1360,34277 -if_command(1376,34508 -if_writecmd(1388,34752 -if_readstatus(1403,35112 -if_sendbuf(1418,35469 -isdnloop_initcard(1439,36012 -isdnloop_addcard(1490,37586 -isdnloop_init(1504,37824 -isdnloop_exit(1524,38149 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/isdnloop/isdnloop.h,863 -#define isdnloop_h13,345 -#define ISDNLOOP_IOCTL_DEBUGVAR 15,365 -#define ISDNLOOP_IOCTL_ADDCARD 16,400 -#define ISDNLOOP_IOCTL_LEASEDCFG 17,435 -#define ISDNLOOP_IOCTL_STARTUP 18,470 -typedef struct isdnloop_cdef isdnloop_cdef21,540 -} isdnloop_cdef;isdnloop_cdef23,586 -typedef struct isdnloop_sdef isdnloop_sdef26,639 -} isdnloop_sdef;isdnloop_sdef29,700 -#define ISDNLOOP_FLAGS_B1ACTIVE 53,1202 -#define ISDNLOOP_FLAGS_B2ACTIVE 54,1272 -#define ISDNLOOP_FLAGS_RUNNING 55,1342 -#define ISDNLOOP_FLAGS_RBTIMER 56,1412 -#define ISDNLOOP_TIMER_BCREAD 57,1482 -#define ISDNLOOP_TIMER_DCREAD 58,1550 -#define ISDNLOOP_TIMER_ALERTWAIT 59,1623 -#define ISDNLOOP_MAX_SQUEUE 60,1700 -#define ISDNLOOP_BCH 61,1770 -typedef struct isdnloop_card isdnloop_card66,1870 -} isdnloop_card;isdnloop_card98,3700 -static isdnloop_card *cards 104,3763 -#define CID 109,3886 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/includes.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/message.c,83 -int receivemessage(38,907 -int sendmessage(93,2374 -int send_and_receive(178,4596 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/event.c,57 -static char *events[27,682 -int indicate_status(44,1069 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/init.c,436 -board *sc_adapter[22,627 -int cinst;23,657 -static char devname[25,669 -const char version[26,700 -const char *boardname[28,733 -static unsigned int io[31,849 -static unsigned char irq[32,887 -static unsigned long ram[33,927 -static int do_reset 34,967 -static int sup_irq[36,993 -#define MAX_IRQS 37,1054 -int irq_supported(47,1355 -static int __init sc_init(57,1483 -static void __exit sc_exit(401,9949 -int identify_board(456,11135 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/interrupt.c,70 -int get_card_from_irq(34,1020 -irqreturn_t interrupt_handler(48,1174 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/packet.c,94 -int sndpkt(33,1038 -void rcvpkt(103,3309 -int setup_buffers(155,4896 -int print_skb(216,7062 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/ioctl.c,45 -int sc_ioctl(31,764 -int GetStatus(431,9836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/debug.c,132 -int dbg_level 21,591 -static char dbg_funcname[22,610 -void dbg_endfunc(24,642 -void dbg_func(32,772 -inline void pullphone(39,901 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/message.h,3931 -#define MESSAGE_H26,699 -#define MAX_MESSAGES 28,718 -#define MSG_DATA_LEN 30,793 -#define MSG_LEN 31,856 -#define CMPID 32,901 -#define CEPID 33,951 -#define IS_CM_MESSAGE(IS_CM_MESSAGE38,1067 -#define IS_CE_MESSAGE(IS_CE_MESSAGE46,1277 -#define cmReqType1 56,1496 -#define cmReqType2 57,1519 -#define cmRspType0 58,1542 -#define cmRspType1 59,1565 -#define cmRspType2 60,1588 -#define cmRspType5 61,1611 -#define cmReqClass0 64,1657 -#define cmRspClass0 65,1681 -#define cmReqHWConfig 68,1726 -#define cmReqMsgLpbk 69,1765 -#define cmReqVersion 70,1803 -#define cmReqLoadProc 71,1841 -#define cmReqStartProc 72,1880 -#define cmReqReadMem 73,1920 -#define cmRspHWConfig 74,1958 -#define cmRspMsgLpbk 75,1995 -#define cmRspVersion 76,2030 -#define cmRspLoadProc 77,2065 -#define cmRspStartProc 78,2102 -#define cmRspReadMem 79,2141 -#define cmRspMiscEngineUp 80,2176 -#define cmRspInvalid 81,2218 -#define ceReqTypePhy 89,2328 -#define ceReqTypeLnk 90,2352 -#define ceReqTypeCall 91,2376 -#define ceReqTypeStat 92,2401 -#define ceRspTypeErr 93,2426 -#define ceRspTypePhy 94,2450 -#define ceRspTypeLnk 95,2485 -#define ceRspTypeCall 96,2520 -#define ceRspTypeStat 97,2557 -#define ceReqClass0 100,2617 -#define ceReqClass1 101,2640 -#define ceReqClass2 102,2663 -#define ceReqClass3 103,2686 -#define ceRspClass0 104,2709 -#define ceRspClass1 105,2742 -#define ceRspClass2 106,2775 -#define ceRspClass3 107,2808 -#define ceReqPhyProcInfo 110,2911 -#define ceReqPhyConnect 111,2952 -#define ceReqPhyDisconnect 112,2993 -#define ceReqPhySetParams 113,3036 -#define ceReqPhyGetParams 114,3082 -#define ceReqPhyStatus 115,3128 -#define ceReqPhyAcfaStatus 116,3168 -#define ceReqPhyChCallState 117,3215 -#define ceReqPhyChServState 118,3263 -#define ceReqPhyRLoopBack 119,3311 -#define ceRspPhyProcInfo 120,3353 -#define ceRspPhyConnect 121,3395 -#define ceRspPhyDisconnect 122,3436 -#define ceRspPhySetParams 123,3482 -#define ceRspPhyGetParams 124,3526 -#define ceRspPhyStatus 125,3570 -#define ceRspPhyAcfaStatus 126,3609 -#define ceRspPhyChCallState 127,3655 -#define ceRspPhyChServState 128,3703 -#define ceRspPhyRLoopBack 129,3751 -#define ceReqLnkSetParam 130,3795 -#define ceReqLnkGetParam 131,3836 -#define ceReqLnkGetStats 132,3877 -#define ceReqLnkWrite 133,3918 -#define ceReqLnkRead 134,3957 -#define ceReqLnkFlush 135,3995 -#define ceReqLnkWrBufTrc 136,4034 -#define ceReqLnkRdBufTrc 137,4075 -#define ceRspLnkSetParam 138,4116 -#define ceRspLnkGetParam 139,4158 -#define ceRspLnkGetStats 140,4200 -#define ceRspLnkWrite 141,4242 -#define ceRspLnkRead 142,4279 -#define ceRspLnkFlush 143,4314 -#define ceRspLnkWrBufTrc 144,4351 -#define ceRspLnkRdBufTrc 145,4393 -#define ceReqCallSetSwitchType 146,4435 -#define ceReqCallGetSwitchType 147,4482 -#define ceReqCallSetFrameFormat 148,4529 -#define ceReqCallGetFrameFormat 149,4577 -#define ceReqCallSetCallType 150,4625 -#define ceReqCallGetCallType 151,4670 -#define ceReqCallSetSPID 152,4715 -#define ceReqCallGetSPID 153,4761 -#define ceReqCallSetMyNumber 154,4807 -#define ceReqCallGetMyNumber 155,4857 -#define ceRspCallSetSwitchType 156,4909 -#define ceRspCallGetSwitchType 157,4963 -#define ceRspCallSetFrameFormat 158,5017 -#define ceRspCallGetFrameFormat 159,5073 -#define ceRspCallSetCallType 160,5129 -#define ceRspCallGetCallType 161,5179 -#define ceRspCallSetSPID 162,5229 -#define ceRspCallGetSPID 163,5271 -#define ceRspCallSetMyNumber 164,5313 -#define ceRspCallGetMyNumber 165,5363 -#define ceRspStatAcfaStatus 166,5413 -#define ceRspStat167,5443 -#define ceRspErrError 168,5461 -#define CALLTYPE_64K 173,5522 -#define CALLTYPE_56K 174,5546 -#define CALLTYPE_SPEECH 175,5570 -#define CALLTYPE_31KHZ 176,5597 -} LLData;LLData186,5873 -} HWConfig_pl;HWConfig_pl201,6113 -struct message message206,6149 -typedef struct message ReqMessage;ReqMessage226,6647 -typedef struct message RspMessage;RspMessage227,6704 -} DualPortMemory;DualPortMemory243,7252 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/timer.c,106 -void setup_ports(35,984 -void check_reset(54,1549 -void check_phystat(96,2902 -void trace_timer(144,4770 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/card.h,205 -#define CARD_H21,611 -#define CHECKRESET_TIME 33,813 -#define CHECKSTAT_TIME 38,910 -#define SAR_TIMEOUT 44,1072 -#define IS_VALID_CARD(IS_VALID_CARD49,1165 -} bchan;bchan65,1697 -} board;board98,3065 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/scioc.h,908 -#define SCIOCLOAD 9,178 -#define SCIOCRESET 10,230 -#define SCIOCDEBUG 11,279 -#define SCIOCREV 12,325 -#define SCIOCSTART 13,376 -#define SCIOCGETSWITCH 14,425 -#define SCIOCSETSWITCH 15,475 -#define SCIOCGETSPID 16,525 -#define SCIOCSETSPID 17,574 -#define SCIOCGETDN 18,624 -#define SCIOCSETDN 19,669 -#define SCIOCTRACE 20,715 -#define SCIOCSTAT 21,763 -#define SCIOCGETSPEED 22,808 -#define SCIOCSETSPEED 23,859 -#define SCIOCLOOPTST 24,910 -} scs_ioctl;scs_ioctl31,1056 -#define SCIOC_SPIDSIZE 34,1092 -#define SCIOC_DNSIZE 35,1119 -#define SCIOC_REVSIZE 36,1156 -#define SCIOC_SRECSIZE 37,1194 -} ChLinkStats;ChLinkStats44,1333 -} BRIStat;BRIStat52,1454 -typedef BRIStat POTStat;POTStat54,1466 -} PRIStat;PRIStat62,1603 -typedef char PRIInfo;PRIInfo64,1615 -typedef char BRIInfo;BRIInfo65,1637 -typedef char POTInfo;POTInfo66,1659 -} ACFAStat;ACFAStat77,1815 -} boardInfo;boardInfo105,2285 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/shmem.c,87 -void memcpy_toshmem(33,773 -void memcpy_fromshmem(73,1914 -void memset_shmem(111,3047 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/hardware.h,1894 -#define HARDWARE_H10,225 -#define MAX_CARDS 18,350 -#define SIGNATURE 21,439 -#define SIG_OFFSET 22,496 -#define TRACE_OFFSET 23,567 -#define BUFFER_OFFSET 24,641 -#define IOBASE_MIN 27,725 -#define IOBASE_MAX 28,781 -#define IOBASE_OFFSET 29,838 -#define FIFORD_OFFSET 31,925 -#define FIFOWR_OFFSET 32,951 -#define FIFOSTAT_OFFSET 33,979 -#define RESET_OFFSET 34,1010 -#define PG0_OFFSET 35,1038 -#define PG1_OFFSET 36,1112 -#define PG2_OFFSET 37,1186 -#define PG3_OFFSET 38,1260 -#define FIFO_READ 40,1335 -#define FIFO_WRITE 41,1381 -#define LO_ADDR_PTR 42,1428 -#define HI_ADDR_PTR 43,1487 -#define NOT_USED_1 44,1547 -#define FIFO_STATUS 45,1568 -#define NOT_USED_2 46,1618 -#define MEM_OFFSET 47,1639 -#define SFT_RESET 48,1660 -#define EXP_BASE 49,1703 -#define EXP_PAGE0 50,1754 -#define EXP_PAGE1 51,1808 -#define EXP_PAGE2 52,1862 -#define EXP_PAGE3 53,1916 -#define IRQ_SELECT 54,1970 -#define MAX_IO_REGS 55,2022 -#define RF_HAS_DATA 58,2106 -#define RF_QUART_FULL 59,2152 -#define RF_HALF_FULL 60,2204 -#define RF_NOT_FULL 61,2252 -#define WF_HAS_DATA 62,2298 -#define WF_QUART_FULL 63,2344 -#define WF_HALF_FULL 64,2396 -#define WF_NOT_FULL 65,2444 -#define SRAM_MIN 68,2519 -#define SRAM_MAX 69,2589 -#define SRAM_PAGESIZE 70,2660 -#define BUFFER_SIZE 73,2759 -#define BUFFER_BASE 74,2822 -#define BUFFERS_MAX 76,2921 -#define HDLC_PROTO 78,3010 -#define BRI_BOARD 80,3067 -#define POTS_BOARD 81,3087 -#define PRI_BOARD 82,3108 -#define BRI_CHANNELS 87,3192 -#define BRI_BASEPG_VAL 88,3243 -#define BRI_MAGIC 89,3271 -#define BRI_MEMSIZE 90,3317 -#define BRI_PARTNO 91,3373 -#define BRI_FEATURES 92,3401 -#define PRI_CHANNELS 96,3531 -#define PRI_BASEPG_VAL 97,3583 -#define PRI_MAGIC 98,3611 -#define PRI_MEMSIZE 99,3657 -#define PRI_PARTNO 100,3711 -#define PRI_FEATURES 101,3739 -#define milliseconds(milliseconds108,3898 -#define IS_VALID_CHANNEL(IS_VALID_CHANNEL111,4000 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/debug.h,74 -#define REQUEST_IRQ(REQUEST_IRQ18,538 -#define FREE_IRQ(FREE_IRQ19,592 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/sc/command.c,429 -static char *commands[52,1739 -static char *l3protos[74,2189 -static char *l2protos[75,2242 -int get_card_from_id(82,2422 -int command(97,2594 -int loopback(154,3963 -int startproc(203,4971 -int loadproc(225,5350 -int dial(234,5442 -int answer(264,6087 -int hangup(285,6567 -int setl2(308,7065 -int setl3(343,7964 -int acceptb(358,8351 -int clreaz(377,8791 -int seteaz(391,9151 -int reset(406,9568 -void flushreadfifo 437,10386 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/act2000/module.c,864 -static unsigned short act2000_isa_ports[21,529 -#define ISA_NRPORTS 26,706 -static act2000_card *cards 28,778 -static int act_bus 31,868 -static int act_port 32,896 -static int act_irq 33,947 -static char *act_id 34,975 -find_channel(51,1639 -act2000_clear_msn(63,1891 -act2000_find_msn(85,2327 -act2000_find_eaz(108,2696 -act2000_set_msn(127,3040 -act2000_transmit(195,4599 -act2000_receive(210,4895 -act2000_poll(225,5192 -act2000_command(237,5456 -act2000_sendbuf(414,10425 -act2000_readstatus(468,12046 -act2000_findcard(487,12610 -if_command(503,12915 -if_writecmd(516,13246 -if_readstatus(531,13660 -if_sendbuf(546,14105 -act2000_alloccard(566,14618 -act2000_registercard(618,16470 -unregister_card(643,17129 -act2000_addcard(665,17584 -#define DRIVERNAME 776,20614 -static int __init act2000_init(778,20664 -static void __exit act2000_exit(788,20934 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/act2000/capi.h,3409 -#define CAPI_H16,426 -typedef struct actcapi_msgcmd actcapi_msgcmd19,479 -} actcapi_msgcmd;actcapi_msgcmd22,536 -typedef struct actcapi_msghdr actcapi_msghdr25,581 -} actcapi_msghdr;actcapi_msghdr30,683 -typedef struct actcapi_msgdsc actcapi_msgdsc33,749 -} actcapi_msgdsc;actcapi_msgdsc36,822 -typedef struct actcapi_addr actcapi_addr39,860 -} actcapi_addr;actcapi_addr43,1109 -typedef union actcapi_infonr actcapi_infonr46,1155 - struct bmask bmask48,1308 -} actcapi_infonr;actcapi_infonr54,1655 -typedef union actcapi_infoel actcapi_infoel57,1698 - struct cause cause61,1997 - struct charge charge69,2497 -} actcapi_infoel;actcapi_infoel75,2859 -typedef struct actcapi_msn actcapi_msn78,2914 -} actcapi_msn;actcapi_msn82,3067 -typedef struct actcapi_dlpd actcapi_dlpd84,3083 -} actcapi_dlpd;actcapi_dlpd92,3624 -typedef struct actcapi_ncpd actcapi_ncpd94,3641 -} actcapi_ncpd;actcapi_ncpd103,4013 -#define actcapi_ncpi 104,4029 -#define MAKE_NCCI(MAKE_NCCI114,4229 -#define EVAL_NCCI(EVAL_NCCI117,4337 -#define MAKE_PLCI(MAKE_PLCI131,4666 -#define EVAL_PLCI(EVAL_PLCI134,4746 -typedef struct actcapi_msg actcapi_msg139,4854 - struct manufacturer_req_net manufacturer_req_net143,4932 - struct manufacturer_req_v42 manufacturer_req_v42148,5049 - struct manufacturer_conf_v42 manufacturer_conf_v42153,5169 - struct manufacturer_req_err manufacturer_req_err157,5270 - struct manufacturer_ind_err manufacturer_ind_err161,5369 - struct manufacturer_req_msn manufacturer_req_msn167,5531 - struct connect_req connect_req175,5741 - struct connect_conf connect_conf184,5926 - struct connect_ind connect_ind188,5998 - struct connect_resp connect_resp196,6138 - struct connect_active_ind connect_active_ind200,6217 - struct connect_active_resp connect_active_resp204,6308 - struct connect_b3_req connect_b3_req207,6379 - struct connect_b3_conf connect_b3_conf211,6462 - struct connect_b3_ind connect_b3_ind216,6555 - struct connect_b3_resp connect_b3_resp221,6653 - struct disconnect_req disconnect_req226,6785 - struct disconnect_conf disconnect_conf230,6862 - struct disconnect_ind disconnect_ind234,6940 - struct disconnect_resp disconnect_resp238,7016 - struct connect_b3_active_ind connect_b3_active_ind241,7079 - struct connect_b3_active_resp connect_b3_active_resp245,7176 - struct disconnect_b3_req disconnect_b3_req248,7253 - struct disconnect_b3_conf disconnect_b3_conf252,7342 - struct disconnect_b3_ind disconnect_b3_ind256,7426 - struct disconnect_b3_resp disconnect_b3_resp261,7530 - struct info_ind info_ind264,7599 - struct info_resp info_resp269,7692 - struct listen_b3_req listen_b3_req272,7743 - struct listen_b3_conf listen_b3_conf275,7802 - struct select_b2_protocol_req select_b2_protocol_req279,7878 - struct select_b2_protocol_conf select_b2_protocol_conf284,8021 - struct select_b3_protocol_req select_b3_protocol_req288,8115 - struct select_b3_protocol_conf select_b3_protocol_conf293,8258 - struct listen_req listen_req297,8352 - struct listen_conf listen_conf303,8542 - struct data_b3_req data_b3_req307,8643 - struct data_b3_ind data_b3_ind314,8796 - struct data_b3_resp data_b3_resp321,8949 - struct data_b3_conf data_b3_conf325,9024 -} actcapi_msg;actcapi_msg331,9147 -actcapi_nextsmsg(334,9196 -#define DEBUG_MSG346,9440 -#define actcapi_debug_msg(actcapi_debug_msg364,10280 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/act2000/act2000.h,2350 -#define act2000_h16,432 -#define ACT2000_IOCTL_SETPORT 20,480 -#define ACT2000_IOCTL_GETPORT 21,515 -#define ACT2000_IOCTL_SETIRQ 22,550 -#define ACT2000_IOCTL_GETIRQ 23,585 -#define ACT2000_IOCTL_SETBUS 24,620 -#define ACT2000_IOCTL_GETBUS 25,655 -#define ACT2000_IOCTL_SETPROTO 26,690 -#define ACT2000_IOCTL_GETPROTO 27,725 -#define ACT2000_IOCTL_SETMSN 28,760 -#define ACT2000_IOCTL_GETMSN 29,795 -#define ACT2000_IOCTL_LOADBOOT 30,830 -#define ACT2000_IOCTL_ADDCARD 31,865 -#define ACT2000_IOCTL_TEST 33,901 -#define ACT2000_IOCTL_DEBUGVAR 34,936 -#define ACT2000_BUS_ISA 36,972 -#define ACT2000_BUS_MCA 37,1007 -#define ACT2000_BUS_PCMCIA 38,1042 -typedef struct act2000_cdef act2000_cdef41,1112 -} act2000_cdef;act2000_cdef46,1208 -typedef struct act2000_ddef act2000_ddef49,1263 -} act2000_ddef;act2000_ddef52,1399 -typedef struct act2000_fwid act2000_fwid54,1416 -} act2000_fwid;act2000_fwid58,1520 -#define ACT2000_PORTLEN 88,2180 -#define ACT2000_FLAGS_RUNNING 90,2214 -#define ACT2000_FLAGS_PVALID 91,2276 -#define ACT2000_FLAGS_IVALID 92,2338 -#define ACT2000_FLAGS_LOADED 93,2400 -#define ACT2000_BCH 95,2463 -#define ACT2000_STATE_NULL 98,2549 -#define ACT2000_STATE_ICALL 99,2582 -#define ACT2000_STATE_OCALL 100,2615 -#define ACT2000_STATE_IWAIT 101,2648 -#define ACT2000_STATE_OWAIT 102,2681 -#define ACT2000_STATE_IBWAIT 103,2714 -#define ACT2000_STATE_OBWAIT 104,2747 -#define ACT2000_STATE_BWAIT 105,2780 -#define ACT2000_STATE_BHWAIT 106,2813 -#define ACT2000_STATE_BHWAIT2 107,2846 -#define ACT2000_STATE_DHWAIT 108,2879 -#define ACT2000_STATE_DHWAIT2 109,2912 -#define ACT2000_STATE_BSETUP 110,2945 -#define ACT2000_STATE_ACTIVE 111,2978 -#define ACT2000_MAX_QUEUED 113,3012 -#define ACT2000_LOCK_TX 115,3064 -#define ACT2000_LOCK_RX 116,3090 -typedef struct act2000_chan act2000_chan118,3117 -} act2000_chan;act2000_chan127,3599 -typedef struct msn_entry msn_entry129,3616 -} msn_entry;msn_entry133,3709 -typedef struct irq_data_isa irq_data_isa135,3723 -} irq_data_isa;irq_data_isa142,3909 -typedef union irq_data irq_data144,3926 -} irq_data;irq_data146,3970 -typedef struct act2000_card act2000_card151,4014 -} act2000_card;act2000_card182,5760 -extern __inline__ void act2000_schedule_tx(184,5777 -extern __inline__ void act2000_schedule_rx(189,5883 -extern __inline__ void act2000_schedule_poll(194,5989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/act2000/act2000_isa.c,490 -static act2000_card *irq2card_map[19,498 -act2000_isa_delay(22,550 -act2000_isa_reset(35,802 -act2000_isa_detect(61,1508 -act2000_isa_interrupt(73,1776 -act2000_isa_select_irq(102,2614 -act2000_isa_enable_irq(134,3120 -act2000_isa_config_irq(146,3388 -act2000_isa_config_port(174,4242 -act2000_isa_release(193,4766 -act2000_isa_writeb(210,5299 -act2000_isa_readb(227,5707 -act2000_isa_receive(244,6111 -act2000_isa_send(307,8236 -act2000_isa_getid(370,9821 -act2000_isa_download(408,10837 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/act2000/act2000_isa.h,1838 -#define act2000_isa_h16,454 -#define ISA_POLL_LOOP 18,477 - INT_NO_CHANGE 21,564 - INT_ON 22,625 - INT_OFF 23,677 -} ISA_INT_T;ISA_INT_T24,730 -#define ISA_COR 32,1207 -#define ISA_COR_PERR 33,1281 -#define ISA_COR_WS 34,1355 -#define ISA_COR_IRQOFF 35,1429 -#define ISA_COR_IRQ07 36,1503 -#define ISA_COR_IRQ05 37,1577 -#define ISA_COR_IRQ03 38,1651 -#define ISA_COR_IRQ10 39,1725 -#define ISA_COR_IRQ11 40,1799 -#define ISA_COR_IRQ12 41,1873 -#define ISA_COR_IRQ15 42,1947 -#define ISA_COR_IRQPULSE 43,2021 -#define ISA_COR_RESET 44,2095 -#define ISA_ISR 52,2632 -#define ISA_ISR_ERR 53,2706 -#define ISA_ISR_OUT 54,2780 -#define ISA_ISR_INP 55,2854 -#define ISA_ISR_SERIAL 56,2928 -#define ISA_ISR_ERRSIG 57,3002 -#define ISA_ISR_ERR_MASK 58,3076 -#define ISA_ISR_OUT_MASK 59,3153 -#define ISA_ISR_INP_MASK 60,3230 -#define ISA_SER_ID 63,3385 -#define ISA_EPR 71,3922 -#define ISA_EPR_OUT 72,3996 -#define ISA_EPR_IN 73,4070 -#define ISA_EPR_CLK 74,4144 -#define ISA_EPR_CS 75,4218 -#define ISA_EPR_HOLD 76,4292 -#define ISA_EER 81,4598 -#define ISA_SDI 86,4904 -#define ISA_SDO 91,5210 -#define ISA_SIS 99,5748 -#define ISA_SIS_READY 100,5822 -#define ISA_SIS_INT 101,5896 -#define ISA_SOS 109,6433 -#define ISA_SOS_READY 110,6507 -#define ISA_SOS_INT 111,6581 -#define ISA_REGION 113,6656 -#define ISA_PORT_COR 117,6765 -#define ISA_PORT_ISR 118,6807 -#define ISA_PORT_EPR 119,6849 -#define ISA_PORT_EER 120,6891 -#define ISA_PORT_SDI 121,6933 -#define ISA_PORT_SDO 122,6975 -#define ISA_PORT_SIS 123,7017 -#define ISA_PORT_SOS 124,7059 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/act2000/capi.c,1244 -static actcapi_msgdsc valid_msg[19,475 -#define num_valid_msg 81,2687 -#define num_valid_imsg 82,2752 -actcapi_chkhdr(92,2974 -#define ACTCAPI_MKHDR(ACTCAPI_MKHDR108,3292 -#define ACTCAPI_CHKSKB 120,3623 -#define ACTCAPI_QUEUE_TX 125,3729 -actcapi_listen_req(132,3862 -actcapi_connect_req(155,4439 -actcapi_connect_b3_req(182,5212 -actcapi_manufacturer_req_net(201,5638 -actcapi_manufacturer_req_v42(228,6482 -actcapi_manufacturer_req_errh(250,6963 -actcapi_manufacturer_req_msn(271,7380 -actcapi_select_b2_protocol_req(301,8057 -actcapi_select_b3_protocol_req(336,9140 -actcapi_listen_b3_req(357,9701 -actcapi_disconnect_req(369,9928 -actcapi_disconnect_b3_req(382,10184 -actcapi_connect_resp(399,10629 -actcapi_connect_active_resp(417,11034 -actcapi_connect_b3_resp(431,11353 -actcapi_connect_b3_active_resp(451,11906 -actcapi_info_resp(464,12192 -actcapi_disconnect_b3_resp(476,12411 -actcapi_disconnect_resp(490,12689 -new_plci(503,12941 -find_plci(515,13136 -find_ncci(525,13295 -find_dialing(535,13454 -actcapi_data_b3_ind(546,13684 -handle_ack(587,14810 -actcapi_dispatch(628,16114 -actcapi_debug_caddr(939,25859 -actcapi_debug_ncpi(954,26186 -actcapi_debug_dlpd(974,26834 -static void dump_skb(990,27347 -actcapi_debug_msg(1009,27683 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/divert/isdn_divert.h,814 -#define DIVERT_IIOC_VERSION 18,525 -#define IIOCGETVER 19,579 -#define IIOCGETDRV 20,644 -#define IIOCGETNAM 21,702 -#define IIOCGETRULE 22,758 -#define IIOCMODRULE 23,812 -#define IIOCINSRULE 24,876 -#define IIOCDELRULE 25,939 -#define IIOCDODFACT 26,993 -#define IIOCDOCFACT 27,1080 -#define IIOCDOCFDIS 28,1155 -#define IIOCDOCFINT 29,1232 -#define DEFLECT_IGNORE 34,1431 -#define DEFLECT_REPORT 35,1487 -#define DEFLECT_PROCEED 36,1534 -#define DEFLECT_ALERT 37,1603 -#define DEFLECT_REJECT 38,1669 -#define DIVERT_ACTIVATE 39,1723 -#define DIVERT_DEACTIVATE 40,1777 -#define DIVERT_REPORT 41,1833 -#define DEFLECT_AUTODEL 42,1890 -#define DEFLECT_ALL_IDS 44,1949 - } divert_rule;divert_rule66,3135 - } divert_ioctl;divert_ioctl95,4147 -#define AUTODEL_TIME 102,4244 -struct divert_infodivert_info107,4474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/divert/isdn_divert.c,714 -struct call_struccall_struc19,533 -struct deflect_strucdeflect_struc34,1105 -static struct call_struc *divert_head 44,1379 -static ulong next_id 45,1457 -static struct deflect_struc *table_head 46,1505 -static struct deflect_struc *table_tail 47,1553 -static unsigned char extern_wait_max 48,1602 -static void deflect_timer_expire(53,1781 -int cf_command(109,3490 -int deflect_extern_action(205,6601 -int insertrule(277,8838 -int deleterule(323,10008 -divert_rule *getruleptr(374,11004 -int isdn_divert_icall(391,11428 -void deleteprocs(543,16743 -int put_address(563,17203 -int interrogate_success(606,18285 -int prot_stat_callback(700,21136 -int isdn_divert_stat_callback(792,23993 -int ll_callback(848,25616 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/divert/divert_procfs.c,619 -ulong if_used 28,729 -static struct divert_info *divert_info_head 29,781 -static struct divert_info *divert_info_tail 30,853 -static spinlock_t divert_info_lock 31,933 -static wait_queue_head_t rd_queue;32,1010 -put_info_buffer(38,1159 -isdn_divert_read(79,2284 -isdn_divert_write(107,3062 -isdn_divert_poll(117,3342 -isdn_divert_open(133,3696 -isdn_divert_close(152,4230 -isdn_divert_ioctl(178,4793 -static struct file_operations isdn_fops 261,6853 -static struct proc_dir_entry *isdn_proc_entry 276,7319 -static struct proc_dir_entry *isdn_divert_entry 277,7373 -divert_dev_init(284,7696 -divert_dev_deinit(310,8543 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/isdn/divert/divert_init.c,112 -isdn_divert_if divert_if 29,797 -static int __init divert_init(42,1212 -static void __exit divert_exit(61,1738 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/acsi.c,4831 -typedef void Scsi_Device;Scsi_Device61,2255 -static struct request_queue *acsi_queue;79,2750 -#define QUEUE 80,2791 -#define CURRENT 81,2818 -#define DEBUG83,2864 -#define MAX_ERRORS 87,2915 -#define MAX_LUN 88,2977 -#define MAX_DEV 89,3024 -#define ACSI_BUFFER_SIZE 91,3050 -#define ACSI_BUFFER_MINSIZE 92,3119 -#define ACSI_BUFFER_SIZE_ORDER 93,3191 -#define ACSI_BUFFER_MINSIZE_ORDER 94,3256 -#define ACSI_BUFFER_SECTORS 95,3325 -#define ACSI_BUFFER_ORDER 97,3377 -#define ACSI_TIMEOUT 102,3496 -#define COMMAND_DELAY 106,3568 - NONE,109,3610 - NONE, HARDDISK,109,3610 - NONE, HARDDISK, CDROM109,3610 -} ACSI_TYPE;ACSI_TYPE110,3633 -struct acsi_info_struct acsi_info_struct112,3647 -} acsi_info[122,4095 -#define NO_SENSE 128,4140 -#define RECOVERED_ERROR 129,4163 -#define NOT_READY 130,4193 -#define MEDIUM_ERROR 131,4217 -#define HARDWARE_ERROR 132,4244 -#define ILLEGAL_REQUEST 133,4273 -#define UNIT_ATTENTION 134,4303 -#define DATA_PROTECT 135,4332 -#define BLANK_CHECK 136,4359 -#define COPY_ABORTED 137,4385 -#define ABORTED_COMMAND 138,4412 -#define VOLUME_OVERFLOW 139,4442 -#define MISCOMPARE 140,4472 -#define TYPE_DISK 147,4523 -#define TYPE_TAPE 148,4546 -#define TYPE_WORM 149,4569 -#define TYPE_ROM 150,4592 -#define TYPE_MOD 151,4614 -#define TYPE_NO_LUN 152,4636 -#define ATARI_SENSE_FORMAT_FIX 163,4967 -#define ATARI_SENSE_FORMAT_CHNG 164,5001 -#define ATARI_SENSE_TYPE_FIXCHNG_MASK 175,5292 -#define ATARI_SENSE_TYPE_SOFTHARD_MASK 176,5333 -#define ATARI_SENSE_TYPE_FIX 177,5375 -#define ATARI_SENSE_TYPE_CHNG 178,5409 -#define ATARI_SENSE_TYPE_SOFT 179,5444 -#define ATARI_SENSE_TYPE_HARD 180,5479 -} ATARI_SENSE_DATA;ATARI_SENSE_DATA182,5538 -#define ATARI_CAPACITY(ATARI_CAPACITY184,5559 -} SCSI_SENSE_DATA;SCSI_SENSE_DATA201,5986 -#define SCSI_CAPACITY(SCSI_CAPACITY203,6006 -} SENSE_DATA;SENSE_DATA209,6130 -#define SENSE_TYPE_UNKNOWN 211,6145 -#define SENSE_TYPE_ATARI 212,6174 -#define SENSE_TYPE_SCSI 213,6201 -#define SENSE_TYPE(SENSE_TYPE215,6229 -#define CAPACITY(CAPACITY222,6477 -#define SECTOR_SIZE(SECTOR_SIZE227,6613 -#define DEFAULT_SIZE 233,6819 -#define CARTRCH_STAT(CARTRCH_STAT235,6850 -char *acsi_buffer;244,7181 -unsigned long phys_acsi_buffer;245,7203 -static int NDevices;247,7237 -static int CurrentNReq;249,7259 -static int CurrentNSect;250,7286 -static char *CurrentBuffer;251,7314 -static spinlock_t acsi_lock 253,7346 -#define SET_TIMER(SET_TIMER256,7400 -#define CLEAR_TIMER(CLEAR_TIMER257,7467 -static unsigned long STramMask;259,7513 -#define STRAM_ADDR(STRAM_ADDR260,7545 -static char tur_cmd[266,7616 -static char modesense_cmd[267,7673 -static char modeselect_cmd[268,7731 -static char inquiry_cmd[269,7789 -static char reqsense_cmd[270,7847 -static char read_cmd[271,7904 -static char write_cmd[272,7961 -static char pa_med_rem_cmd[273,8018 -#define CMDSET_TARG_LUN(CMDSET_TARG_LUN275,8076 -#define CMDSET_BLOCK(CMDSET_BLOCK281,8232 -#define CMDSET_LEN(CMDSET_LEN289,8458 -struct acsi_error acsi_error298,8676 -} atari_acsi_errors[301,8737 -struct timer_list acsi_timer 374,11422 -#define INT_LEVEL 404,12249 -int acsi_wait_for_IRQ(410,12410 -int acsi_wait_for_noIRQ(427,12771 -static struct timeval start_time;443,13127 -acsi_delay_start(446,13167 -acsi_delay_end(454,13289 -static int acsicmd_dma(478,13987 -int acsicmd_nodma(548,15485 -static int acsi_reqsense(582,16224 -int acsi_getstatus(612,17107 -int acsi_extstatus(645,17776 -void acsi_end_extstatus(666,18134 -int acsi_extcmd(678,18313 -static void acsi_print_error(692,18529 -static irqreturn_t acsi_interrupt(731,19620 -static void unexpected_acsi_interrupt(752,20066 -static void bad_rw_intr(764,20345 -static void read_intr(776,20503 -static void write_intr(807,21242 -static void acsi_times_out(833,21826 -static void copy_to_acsibuffer(862,22362 -static void copy_from_acsibuffer(884,22738 -static void do_end_requests(906,23116 -static void do_acsi_request(937,23771 -static void redo_acsi_request(945,23888 -static int acsi_ioctl(1084,27348 -static int acsi_open(1129,28793 -static int acsi_release(1163,29544 -static void acsi_prevent_removal(1176,29878 -static int acsi_media_change(1191,30272 -static int acsi_change_blk_size(1238,31497 -static int acsi_mode_sense(1258,31849 -static struct gendisk *acsi_gendisk[1333,33448 -#define MAX_SCSI_DEVICE_CODE 1335,33495 -static const char *const scsi_device_types[1337,33528 -static void print_inquiry(1351,33820 -#define DEV_NONE 1408,35017 -#define DEV_UNKNOWN 1409,35036 -#define DEV_SUPPORTED 1410,35058 -#define DEV_SLM 1411,35082 -static int acsi_devinit(1413,35102 -int SLM_devices[1588,40118 -static struct block_device_operations acsi_fops 1591,40146 -void acsi_attach_SLMs(1604,40586 -int acsi_init(1616,40859 -int init_module(1766,44249 -void cleanup_module(1776,44399 -static int acsi_revalidate(1812,45634 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/noop-iosched.c,201 -int elevator_noop_merge(20,383 -void elevator_noop_merge_requests(53,1011 -void elevator_noop_add_request(59,1153 -struct request *elevator_noop_next_request(78,1573 -elevator_t elevator_noop 86,1734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/cryptoloop.c,463 -#define LOOP_IV_SECTOR_BITS 36,1244 -#define LOOP_IV_SECTOR_SIZE 37,1274 -cryptoloop_init(40,1341 -typedef int (*encdec_ecb_t)encdec_ecb_t83,2308 -cryptoloop_transfer_ecb(90,2456 -typedef int (*encdec_cbc_t)encdec_cbc_t138,3496 -cryptoloop_transfer_cbc(144,3651 -cryptoloop_transfer(196,4788 -cryptoloop_ioctl(222,5601 -cryptoloop_release(228,5703 -static struct loop_func_table cryptoloop_funcs 240,5970 -init_cryptoloop(250,6216 -cleanup_cryptoloop(260,6403 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/cpqarray.c,2477 -#define SMART2_DRIVER_VERSION(SMART2_DRIVER_VERSION47,1566 -#define DRIVER_NAME 49,1643 -#define DRIVER_VERSION 50,1696 -#define READ_AHEAD 64,2137 -#define NR_CMDS 65,2160 -#define MAX_CTLR 67,2227 -#define CTLR_SHIFT 68,2246 -#define CPQARRAY_DMA_MASK 70,2268 -static int nr_ctlr;72,2323 -static ctlr_info_t *hba[73,2343 -static int eisa[75,2379 -#define NR_PRODUCTS 77,2400 -static struct board_type products[83,2617 -const struct pci_device_id cpqarray_pci_device_id[102,3476 -static struct gendisk *ida_gendisk[129,4589 -#define DBG(DBG132,4656 -#define DBGINFO(DBGINFO134,4719 -#define DBGP(DBGP136,4778 -#define DBGPX(DBGPX138,4841 -static void ida_procinit(186,6610 -static inline drv_info_t *get_drv(189,6653 -static inline ctlr_info_t *get_host(194,6742 -static struct block_device_operations ida_fops 200,6838 -static struct proc_dir_entry *proc_array;211,7044 -static void __init ida_procinit(217,7216 -static int ida_proc_get_info(231,7521 -int __init cpqarray_init(320,9901 -static void release_io_mem(325,9970 -static void __devexit cpqarray_remove_one(335,10195 -static void __devexit cpqarray_remove_one_pci 368,11180 -static void __devexit cpqarray_remove_one_eisa 393,11735 -static int cpqarray_register_ctlr(404,11985 -static int __init cpqarray_init_one(526,15140 -static struct pci_driver cpqarray_pci_driver 554,15836 -int __init cpqarray_init_step2(565,16145 -static int alloc_cpqarray_hba(589,16673 -static void free_hba(608,17052 -static int cpqarray_pci_init(618,17247 -static void __iomem *remap_pci_mem(726,19964 -static int cpqarray_setup(740,20442 -void cpqarray_setup(758,20733 -static int cpqarray_eisa_detect(770,20935 -static int ida_open(848,22754 -static int ida_release(873,23454 -static inline void addQ(883,23669 -static inline cmdlist_t *removeQ(896,23899 -static void do_ida_request(915,24440 -static void start_io(988,26125 -static inline void complete_buffers(1009,26529 -static inline void complete_command(1027,26866 -static irqreturn_t do_ida_intr(1071,28277 -static void ida_timer(1142,30148 -static int ida_ioctl(1155,30483 -static int ida_ctlr_ioctl(1246,33085 -static cmdlist_t * cmd_alloc(1384,36727 -static void cmd_free(1411,37366 -static int sendcmd(1431,37995 -static int revalidate_allvol(1542,40782 -static int ida_revalidate(1596,42198 -static int pollcomplete(1609,42650 -static void start_fwbk(1633,43377 -static void getgeometry(1668,44501 -static void __exit cpqarray_exit(1854,49940 -module_init(1873,50349 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/deadline-iosched.c,2866 -static int read_expire 24,487 -static int write_expire 25,564 -static int writes_starved 26,645 -static int fifo_batch 27,720 -static const int deadline_hash_shift 30,851 -#define DL_HASH_BLOCK(DL_HASH_BLOCK31,893 -#define DL_HASH_FN(DL_HASH_FN32,933 -#define DL_HASH_ENTRIES 33,1013 -#define rq_hash_key(rq_hash_key34,1065 -#define list_entry_hash(list_entry_hash35,1124 -#define ON_HASH(ON_HASH36,1197 -struct deadline_data deadline_data38,1235 -struct deadline_rq deadline_rq73,2001 -static kmem_cache_t *drq_pool;97,2427 -#define RQ_DATA(RQ_DATA99,2459 -static inline void __deadline_del_drq_hash(104,2576 -static inline void deadline_del_drq_hash(110,2696 -deadline_remove_merge_hints(117,2830 -deadline_add_drq_hash(126,3017 -deadline_hot_drq_hash(140,3300 -deadline_find_drq_hash(152,3609 -#define RB_NONE 180,4161 -#define RB_EMPTY(RB_EMPTY181,4182 -#define ON_RB(ON_RB182,4231 -#define RB_CLEAR(RB_CLEAR183,4281 -#define rb_entry_drq(rb_entry_drq184,4333 -#define DRQ_RB_ROOT(DRQ_RB_ROOT185,4406 -#define rq_rb_key(rq_rb_key186,4483 -__deadline_add_drq_rb(189,4548 -deadline_add_drq_rb(212,5020 -deadline_del_drq_rb(230,5374 -deadline_find_drq_rb(249,5823 -deadline_find_first_drq(274,6433 -deadline_add_request(290,6702 -static void deadline_remove_request(315,7286 -deadline_merge(329,7591 -static void deadline_merged_request(384,8674 -deadline_merged_requests(407,9200 -deadline_move_to_dispatch(450,10248 -deadline_move_request(462,10523 -#define list_entry_fifo(list_entry_fifo482,11005 -static inline int deadline_check_fifo(488,11225 -static int deadline_dispatch_requests(505,11581 -static struct request *deadline_next_request(605,13742 -deadline_insert_request(626,14156 -static int deadline_queue_empty(654,14894 -deadline_former_request(667,15172 -deadline_latter_request(679,15424 -static void deadline_exit(690,15652 -static int deadline_init(706,16031 -static void deadline_put_request(749,17016 -deadline_set_request(761,17282 -struct deadline_fs_entry deadline_fs_entry787,17750 -deadline_var_show(794,17935 -deadline_var_store(800,18039 -#define SHOW_FUNCTION(SHOW_FUNCTION808,18191 -#define STORE_FUNCTION(STORE_FUNCTION820,18689 -static struct deadline_fs_entry deadline_readexpire_entry 837,19439 -static struct deadline_fs_entry deadline_writeexpire_entry 842,19638 -static struct deadline_fs_entry deadline_writesstarved_entry 847,19841 -static struct deadline_fs_entry deadline_frontmerges_entry 852,20052 -static struct deadline_fs_entry deadline_fifobatch_entry 857,20255 -static struct attribute *default_attrs[863,20451 -#define to_deadline(to_deadline872,20681 -deadline_attr_show(875,20774 -deadline_attr_store(887,21058 -static struct sysfs_ops deadline_sysfs_ops 899,21371 -struct kobj_type deadline_ktype 904,21482 -static int __init deadline_slab_setup(909,21590 -elevator_t iosched_deadline 922,21854 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/ub.c,4258 -#define DRV_NAME 37,1529 -#define DEVFS_NAME 38,1551 -#define UB_MAJOR 40,1580 -#define US_PR_BULK 47,1785 -#define US_SC_SCSI 50,1842 -#define UB_MINORS_PER_MAJOR 54,1893 -#define UB_MAX_CDB_SIZE 56,1924 -#define UB_SENSE_SIZE 58,1984 -struct bulk_cb_wrap bulk_cb_wrap64,2047 -#define US_BULK_CB_WRAP_LEN 74,2344 -#define US_BULK_CB_SIGN 75,2375 -#define US_BULK_FLAG_IN 76,2432 -#define US_BULK_FLAG_OUT 77,2459 -struct bulk_cs_wrap bulk_cs_wrap80,2516 -#define US_BULK_CS_WRAP_LEN 87,2698 -#define US_BULK_CS_SIGN 88,2729 -#define US_BULK_CS_OLYMPUS_SIGN 90,2839 -#define US_BULK_STAT_OK 91,2906 -#define US_BULK_STAT_FAIL 92,2933 -#define US_BULK_STAT_PHASE 93,2961 -#define US_BULK_RESET_REQUEST 96,3031 -#define US_BULK_GET_MAX_LUN 97,3066 -#define UB_MAX_REQ_SG 103,3123 -#define UB_MAX_SECTORS 104,3147 -#define UB_URB_TIMEOUT 113,3446 -#define UB_CTRL_TIMEOUT 114,3476 -#define UB_DIR_NONE 119,3608 -#define UB_DIR_READ 120,3630 -#define UB_DIR_ILLEGAL2 121,3652 -#define UB_DIR_WRITE 122,3678 -#define UB_DIR_CHAR(UB_DIR_CHAR124,3702 -enum ub_scsi_cmd_state ub_scsi_cmd_state127,3792 - UB_CMDST_INIT,128,3817 - UB_CMDST_CMD,129,3855 - UB_CMDST_DATA,130,3896 - UB_CMDST_CLR2STS,131,3931 - UB_CMDST_STAT,132,3991 - UB_CMDST_CLEAR,133,4028 - UB_CMDST_SENSE,134,4087 - UB_CMDST_DONE 135,4134 -static char *ub_scsi_cmd_stname[138,4173 -struct ub_scsi_cmd ub_scsi_cmd149,4278 -struct ub_capacity ub_capacity178,4990 -#define SCMD_ST_HIST_SZ 188,5230 -#define SCMD_TRACE_SZ 189,5258 -struct ub_scsi_cmd_trace ub_scsi_cmd_trace191,5324 -struct ub_scsi_trace ub_scsi_trace201,5521 -struct ub_completion ub_completion215,6018 -static inline void ub_init_completion(220,6083 -#define UB_INIT_COMPLETION(UB_INIT_COMPLETION226,6192 -static void ub_complete(228,6238 -static int ub_is_completed(237,6406 -struct ub_scsi_cmd_queue ub_scsi_cmd_queue250,6611 -struct ub_dev ub_dev258,6727 -static struct usb_device_id ub_usb_ids[321,8801 -#define UB_MAX_HOSTS 336,9371 -static char ub_hostv[337,9396 -static spinlock_t ub_lock 338,9432 -static void ub_cmdtr_new(344,9561 -static void ub_cmdtr_state(363,9952 -static void ub_cmdtr_act_len(376,10228 -static void ub_cmdtr_sense(385,10428 -static ssize_t ub_diag_show(398,10700 -static int ub_id_get(456,12213 -static void ub_id_put(473,12515 -static void ub_cleanup(491,12861 -static struct ub_scsi_cmd *ub_get_cmd(500,12975 -static void ub_put_cmd(511,13149 -static void ub_cmdq_add(528,13486 -static void ub_cmdq_insert(544,13763 -static struct ub_scsi_cmd *ub_cmdq_pop(560,14043 -#define ub_cmdq_peek(ub_cmdq_peek575,14323 -static inline int ub_bd_rq_fn_1(581,14429 -static void ub_bd_rq_fn(696,16859 -static void ub_rw_cmd_done(701,16947 -static void ub_end_rq(718,17271 -static int ub_submit_scsi(738,17734 -static int ub_scsi_cmd_start(759,18252 -static void ub_urb_timeout(808,19588 -static void ub_urb_complete(825,20067 -static void ub_scsi_action(833,20236 -static void ub_scsi_dispatch(843,20460 -static void ub_scsi_urb_compl(867,20984 -static void ub_state_done(1161,28839 -static void ub_state_stat(1175,29143 -static void ub_state_sense(1210,30099 -static int ub_submit_clear_stall(1247,30803 -static void ub_top_sense_done(1287,31802 -int usb_stor_Bulk_max_lun(1316,32536 -static void ub_revalidate(1353,33460 -static int ub_bd_open(1390,34445 -static int ub_bd_release(1430,35290 -static int ub_bd_ioctl(1447,35674 -static int ub_bd_revalidate(1486,36677 -static int ub_bd_media_changed(1509,37319 -static struct block_device_operations ub_bd_fops 1537,38213 -static void ub_probe_done(1549,38513 -static int ub_sync_tur(1558,38714 - enum { ALLOC_SIZE 1561,38784 - enum { ALLOC_SIZE = sizeof(1561,38784 - enum { ALLOC_SIZE = sizeof(struct ub_scsi_cmd)1561,38784 -static int ub_sync_read_cap(1604,39599 - enum { ALLOC_SIZE 1608,39709 - enum { ALLOC_SIZE = sizeof(1608,39709 - enum { ALLOC_SIZE = sizeof(struct ub_scsi_cmd)1608,39709 -static void ub_probe_urb_complete(1685,41318 -static void ub_probe_timeout(1691,41450 -static int ub_probe_clear_stall(1700,41604 -static int ub_get_pipes(1760,43145 -static int ub_probe(1809,44553 -static void ub_disconnect(1958,48933 -struct usb_driver ub_driver 2055,51704 -static int __init ub_init(2063,51854 -static void __exit ub_exit(2086,52306 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/viodasd.c,2287 -#define VIOD_GENHD_NAME 61,2043 -#define VIOD_GENHD_DEVFS_NAME 62,2081 -#define VIOD_VERS 64,2127 -#define VIOD_KERN_WARNING 66,2154 -#define VIOD_KERN_INFO 67,2202 - PARTITION_SHIFT 70,2253 - MAX_DISKNO 71,2275 - MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS,71,2275 - MAX_DISK_NAME 72,2319 - MAX_DISK_NAME = sizeof(72,2319 - MAX_DISK_NAME = sizeof(((struct gendisk 72,2319 - MAX_DISK_NAME = sizeof(((struct gendisk *)0)->disk_name)72,2319 -static spinlock_t viodasd_spinlock 75,2381 -#define VIOMAXREQ 77,2439 -#define VIOMAXBLOCKDMA 78,2461 -#define DEVICE_NO(DEVICE_NO80,2489 -struct open_data open_data82,2570 -struct rw_data rw_data91,2690 -struct vioblocklpevent vioblocklpevent100,2803 -#define vioblockflags_ro 114,3025 -enum vioblocksubtype vioblocksubtype116,3060 - vioblockopen 117,3083 - vioblockopen = 0x0001,117,3083 - vioblockclose 118,3107 - vioblockclose = 0x0002,118,3107 - vioblockread 119,3132 - vioblockread = 0x0003,119,3132 - vioblockwrite 120,3156 - vioblockwrite = 0x0004,120,3156 - vioblockflush 121,3181 - vioblockflush = 0x0005,121,3181 - vioblockcheck 122,3206 - vioblockcheck = 0x0007122,3206 -struct viodasd_waitevent viodasd_waitevent125,3234 -static const struct vio_error_entry viodasd_err_table[132,3347 -#define VIODASD_MAXSECTORS 152,3965 -static int num_req_outstanding;157,4082 -struct viodasd_device viodasd_device162,4190 -} viodasd_devices[172,4377 -static int viodasd_open(177,4446 -static int viodasd_release(226,5658 -static int viodasd_ioctl(250,6366 -static struct block_device_operations viodasd_fops 294,7391 -static void viodasd_end_request(304,7574 -static int send_request(316,7844 -static void do_viodasd_request(433,11227 -static void probe_disk(463,11975 -static int block_event_to_scatterlist(577,15150 -static void viodasd_restart_all_queues_starting_from(605,16049 -static int viodasd_handle_read_write(621,16502 -static void handle_block_event(671,18095 -static ssize_t probe_disks(736,20103 -static int viodasd_probe(749,20405 -static int viodasd_remove(760,20645 -static struct vio_device_id viodasd_device_table[779,20999 -static struct vio_device_id viodasd_device_table[] __devinitdata 779,20999 -static struct vio_driver viodasd_driver 785,21148 -static int __init viodasd_init(796,21390 -void viodasd_exit(839,22552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/scsi_ioctl.c,896 -const unsigned char scsi_command_size[35,1104 -#define BLK_DEFAULT_TIMEOUT 43,1220 -static int sg_get_version(47,1281 -static int scsi_get_idlun(53,1400 -static int scsi_get_bus(58,1490 -static int sg_get_timeout(63,1578 -static int sg_set_timeout(68,1669 -static int sg_get_reserved_size(78,1847 -static int sg_set_reserved_size(83,1961 -static int sg_emulated_host(103,2386 -#define CMD_READ_SAFE 108,2478 -#define CMD_WRITE_SAFE 109,2505 -#define safe_for_read(safe_for_read110,2533 -#define safe_for_write(safe_for_write111,2582 -static int verify_command(113,2634 -static int sg_io(208,5540 -#define FORMAT_UNIT_TIMEOUT 324,8339 -#define START_STOP_TIMEOUT 325,8387 -#define MOVE_MEDIUM_TIMEOUT 326,8425 -#define READ_ELEMENT_STATUS_TIMEOUT 327,8468 -#define READ_DEFECT_DATA_TIMEOUT 328,8518 -#define OMAX_SB_LEN 329,8562 -static int sg_scsi_ioctl(331,8628 -int scsi_cmd_ioctl(428,10807 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/cfq-iosched.c,2841 -static int cfq_quantum 28,639 -static int cfq_queued 29,667 -#define CFQ_QHASH_SHIFT 31,695 -#define CFQ_QHASH_ENTRIES 32,722 -#define list_entry_qhash(list_entry_qhash33,771 -#define CFQ_MHASH_SHIFT 35,852 -#define CFQ_MHASH_BLOCK(CFQ_MHASH_BLOCK36,879 -#define CFQ_MHASH_ENTRIES 37,921 -#define CFQ_MHASH_FN(CFQ_MHASH_FN38,970 -#define ON_MHASH(ON_MHASH39,1048 -#define rq_hash_key(rq_hash_key40,1097 -#define list_entry_hash(list_entry_hash41,1156 -#define list_entry_cfqq(list_entry_cfqq43,1225 -#define RQ_DATA(RQ_DATA45,1301 -static kmem_cache_t *crq_pool;47,1366 -static kmem_cache_t *cfq_pool;48,1397 -static mempool_t *cfq_mpool;49,1428 -struct cfq_data cfq_data51,1458 -struct cfq_queue cfq_queue72,1774 - int io_prioio_prio83,2034 -struct cfq_rq cfq_rq87,2058 -static inline void __cfq_del_crq_hash(106,2531 -static inline void cfq_del_crq_hash(111,2622 -static void cfq_remove_merge_hints(117,2730 -static inline void cfq_add_crq_hash(125,2895 -static struct request *cfq_find_rq_hash(134,3112 -#define RB_NONE 162,3675 -#define RB_EMPTY(RB_EMPTY163,3696 -#define RB_CLEAR(RB_CLEAR164,3745 -#define RB_CLEAR_ROOT(RB_CLEAR_ROOT165,3797 -#define ON_RB(ON_RB166,3850 -#define rb_entry_crq(rb_entry_crq167,3900 -#define rq_rb_key(rq_rb_key168,3968 -static inline void cfq_del_crq_rb(170,4005 -__cfq_add_crq_rb(180,4258 -cfq_add_crq_rb(203,4707 -cfq_find_rq_rb(223,5152 -static void cfq_remove_request(247,5562 -cfq_merge(268,5979 -static void cfq_merged_request(306,6724 -cfq_merged_requests(325,7155 -cfq_dispatch_sort(333,7320 -__cfq_dispatch_requests(363,7925 -static int cfq_dispatch_requests(371,8126 -static struct request *cfq_next_request(405,8764 -__cfq_find_cfq_hash(429,9203 -static struct cfq_queue *cfq_find_cfq_hash(444,9515 -static void cfq_put_queue(451,9709 -static struct cfq_queue *__cfq_get_queue(459,9897 -static struct cfq_queue *cfq_get_queue(496,10756 -static void cfq_enqueue(509,11043 -cfq_insert_request(532,11630 -static int cfq_queue_empty(563,12322 -cfq_former_request(574,12538 -cfq_latter_request(586,12780 -static int cfq_may_queue(597,12998 -static void cfq_put_request(622,13482 -static int cfq_set_request(655,14454 -static void cfq_exit(682,15042 -static int cfq_init(693,15269 -static int __init cfq_slab_setup(746,16527 -struct cfq_fs_entry cfq_fs_entry773,17108 -cfq_var_show(780,17278 -cfq_var_store(786,17377 -#define SHOW_FUNCTION(SHOW_FUNCTION794,17524 -#define STORE_FUNCTION(STORE_FUNCTION803,17807 -static struct cfq_fs_entry cfq_quantum_entry 817,18297 -static struct cfq_fs_entry cfq_queued_entry 822,18463 -static struct attribute *default_attrs[828,18626 -#define to_cfq(to_cfq834,18733 -cfq_attr_show(837,18816 -cfq_attr_store(849,19085 -static struct sysfs_ops cfq_sysfs_ops 861,19385 -struct kobj_type cfq_ktype 866,19481 -elevator_t iosched_cfq 871,19579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/rd.c,1095 -#define NUM_RAMDISKS 64,2402 -static struct gendisk *rd_disks[69,2550 -static struct block_device *rd_bdev[70,2597 -static struct request_queue *rd_queue[71,2675 -int rd_size 79,2962 -int rd_blocksize 91,3711 -static void make_page_uptodate(104,4069 -static int ramdisk_readpage(134,4916 -static int ramdisk_prepare_write(142,5072 -static int ramdisk_commit_write(150,5247 -static int ramdisk_writepage(164,5677 -static int ramdisk_writepages(179,6063 -static int ramdisk_set_page_dirty(189,6314 -static struct address_space_operations ramdisk_aops 195,6404 -static int rd_blkdev_pagecache_IO(204,6686 -static int rd_make_request(270,8127 -static int rd_ioctl(300,8789 -static struct backing_dev_info rd_backing_dev_info 328,9485 -static struct backing_dev_info rd_file_backing_dev_info 339,9860 -static int rd_open(345,10057 -static struct block_device_operations rd_bd_op 392,11499 -static void __exit rd_cleanup(401,11694 -static int __init rd_init(423,12155 -static int __init ramdisk_size(491,13666 -static int __init ramdisk_size2(496,13761 -static int __init ramdisk_blocksize(500,13848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/elevator.c,842 -inline int elv_rq_merge_ok(43,1221 -inline int elv_try_merge(64,1620 -inline int elv_try_last_merge(81,2021 -int elevator_init(92,2243 -void elevator_exit(107,2498 -int elevator_global_init(115,2629 -int elv_merge(120,2676 -void elv_merged_request(130,2885 -void elv_merge_requests(138,3046 -void elv_requeue_request(150,3302 -void __elv_add_request(169,3791 -void elv_add_request(194,4329 -static inline struct request *__elv_next_request(204,4575 -struct request *elv_next_request(209,4694 -void elv_remove_request(253,5612 -int elv_queue_empty(281,6465 -struct request *elv_latter_request(291,6652 -struct request *elv_former_request(307,6994 -int elv_set_request(323,7336 -void elv_put_request(334,7568 -int elv_may_queue(342,7728 -void elv_completed_request(352,7896 -int elv_register_queue(366,8184 -void elv_unregister_queue(382,8485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/ioctl.c,247 -static int blkpg_ioctl(8,185 -static int blkdev_reread_part(94,2246 -static int put_ushort(110,2599 -static int put_int(115,2718 -static int put_long(120,2812 -static int put_ulong(125,2909 -static int put_u64(130,3025 -int blkdev_ioctl(135,3119 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/cpqarray.h,461 -#define CPQARRAY_H26,1151 -#define IO_OK 37,1321 -#define IO_ERROR 38,1338 -#define NWD 39,1357 -#define NWD_SHIFT 40,1373 -#define IDA_TIMER 42,1394 -#define IDA_TIMEOUT 43,1419 -#define MISC_NONFATAL_WARN 45,1448 -} drv_info_t;drv_info_t54,1612 -typedef struct ctlr_info ctlr_info_t;ctlr_info_t59,1664 -struct access_method access_method61,1703 -struct board_type board_type69,1990 -struct ctlr_info ctlr_info75,2083 -#define IDA_LOCK(IDA_LOCK122,2950 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/xd.h,1477 -#define _LINUX_XD_H2,20 -#define XD_DATA 19,512 -#define XD_RESET 20,571 -#define XD_STATUS 21,631 -#define XD_SELECT 22,693 -#define XD_JUMPER 23,755 -#define XD_CONTROL 24,817 -#define XD_RESERVED 25,883 -#define CMD_TESTREADY 28,995 -#define CMD_RECALIBRATE 29,1045 -#define CMD_SENSE 30,1098 -#define CMD_FORMATDRV 31,1141 -#define CMD_VERIFY 32,1187 -#define CMD_FORMATTRK 33,1229 -#define CMD_FORMATBAD 34,1275 -#define CMD_READ 35,1325 -#define CMD_WRITE 36,1358 -#define CMD_SEEK 37,1393 -#define CMD_DTCSETPARAM 40,1462 -#define CMD_DTCGETECC 41,1541 -#define CMD_DTCREADBUF 42,1613 -#define CMD_DTCWRITEBUF 43,1684 -#define CMD_DTCREMAPTRK 44,1757 -#define CMD_DTCGETPARAM 45,1833 -#define CMD_DTCSETSTEP 46,1907 -#define CMD_DTCSETGEOM 47,1973 -#define CMD_DTCGETGEOM 48,2043 -#define CMD_ST11GETGEOM 49,2113 -#define CMD_WDSETPARAM 50,2190 -#define CMD_XBSETPARAM 51,2265 -#define CSB_ERROR 54,2370 -#define CSB_LUN 55,2405 -#define STAT_READY 58,2496 -#define STAT_INPUT 59,2546 -#define STAT_COMMAND 60,2613 -#define STAT_SELECT 61,2673 -#define STAT_REQUEST 62,2727 -#define STAT_INTERRUPT 63,2786 -#define PIO_MODE 66,2896 -#define DMA_MODE 67,2952 -#define XD_MAXDRIVES 69,3021 -#define XD_TIMEOUT 70,3067 -#define XD_RETRIES 71,3112 - #define DEBUG_STARTUP 76,3221 - #define DEBUG_OVERRIDE 77,3278 - #define DEBUG_READWRITE 78,3342 - #define DEBUG_OTHER 79,3403 - #define DEBUG_COMMAND 80,3462 -} XD_INFO;XD_INFO90,3697 -} XD_SIGNATURE;XD_SIGNATURE99,3921 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/ida_ioctl.h,432 -#define IDA_IOCTL_H23,956 -#define IDAGETDRVINFO 28,1021 -#define IDAPASSTHRU 29,1055 -#define IDAGETCTLRSIG 30,1087 -#define IDAREVALIDATEVOLS 31,1121 -#define IDADRIVERVERSION 32,1158 -#define IDAGETPCIINFO 33,1194 -typedef struct _ida_pci_info_struct_ida_pci_info_struct35,1229 -} ida_pci_info_struct;ida_pci_info_struct40,1331 -#define UNITVALID 50,1782 - union ctlr_cmds ctlr_cmds65,2041 -} ida_ioctl_t;ida_ioctl_t85,2578 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/DAC960.c,6088 -#define DAC960_DriverVersion 19,580 -#define DAC960_DriverDate 20,620 -#define DAC960_GAM_MINOR 47,1249 -static DAC960_Controller_T *DAC960_Controllers[50,1280 -static int DAC960_ControllerCount;51,1351 -static struct proc_dir_entry *DAC960_ProcDirectoryEntry;52,1386 -static long disk_size(54,1444 -static int DAC960_open(70,1842 -static int DAC960_ioctl(94,2511 -static int DAC960_media_changed(137,3719 -static int DAC960_revalidate_disk(147,3946 -static struct block_device_operations DAC960_BlockDeviceOperations 156,4148 -static void DAC960_AnnounceDriver(170,4518 -static boolean DAC960_Failure(184,4914 -static boolean init_dma_loaf(213,6014 -static void *slice_dma_loaf(230,6406 -static void free_dma_loaf(244,6732 -static boolean DAC960_CreateAuxiliaryStructures(258,7117 -static void DAC960_DestroyAuxiliaryStructures(372,11569 -static inline void DAC960_V1_ClearCommand(470,14679 -static inline void DAC960_V2_ClearCommand(483,15032 -static inline DAC960_Command_T *DAC960_AllocateCommand(498,15528 -static inline void DAC960_DeallocateCommand(514,15910 -static void DAC960_WaitForCommand(528,16241 -static void DAC960_BA_QueueCommand(540,16553 -static void DAC960_LP_QueueCommand(565,17651 -static void DAC960_LA_QueueCommandDualMode(591,18783 -static void DAC960_LA_QueueCommandSingleMode(617,19927 -static void DAC960_PG_QueueCommandDualMode(643,21071 -static void DAC960_PG_QueueCommandSingleMode(669,22215 -static void DAC960_PD_QueueCommand(694,23325 -static void DAC960_P_QueueCommand(711,23933 -static void DAC960_ExecuteCommand(757,25595 -static boolean DAC960_V1_ExecuteType3(780,26196 -static boolean DAC960_V1_ExecuteType3B(804,27066 -static boolean DAC960_V1_ExecuteType3D(830,28041 -static boolean DAC960_V2_GeneralInfo(860,29169 -static boolean DAC960_V2_NewControllerInfo(898,30634 -static boolean DAC960_V2_NewLogicalDeviceInfo(936,32230 -static boolean DAC960_V2_NewPhysicalDeviceInfo(987,34349 -static void DAC960_V2_ConstructNewUnitSerialNumber(1025,36027 -static boolean DAC960_V2_NewInquiryUnitSerialNumber(1072,37944 -static boolean DAC960_V2_DeviceOperation(1100,38896 -static boolean DAC960_V1_EnableMemoryMailboxInterface(1132,40129 -#define TIMEOUT_COUNT 1259,45506 -static boolean DAC960_V2_EnableMemoryMailboxInterface(1338,48150 -static boolean DAC960_V1_ReadControllerConfiguration(1505,55602 -# define FIRMWARE_27X 1627,60249 -# define FIRMWARE_27X 1629,60284 -static boolean DAC960_V2_ReadControllerConfiguration(1746,65175 -static boolean DAC960_ReportControllerConfiguration(1877,70566 -static boolean DAC960_V1_ReadDeviceConfiguration(1926,72589 -static boolean DAC960_V2_ReadDeviceConfiguration(2074,78589 -static void DAC960_SanitizeInquiryData(2141,81095 -static boolean DAC960_V1_ReportDeviceConfiguration(2198,83269 -static boolean DAC960_V2_ReportDeviceConfiguration(2295,87193 -static boolean DAC960_RegisterBlockDevice(2480,94499 -static void DAC960_UnregisterBlockDevice(2526,96096 -static void DAC960_ComputeGenericDiskInfo(2549,96788 -static boolean DAC960_ReportErrorStatus(2562,97218 -static void DAC960_DetectCleanup(2621,99153 -DAC960_DetectController(2670,100667 -DAC960_InitializeController(2997,112368 -static void DAC960_FinalizeController(3026,113287 -DAC960_Probe(3084,115212 -static void DAC960_Remove(3119,116076 -static void DAC960_V1_QueueReadWriteCommand(3133,116463 -static void DAC960_V2_QueueReadWriteCommand(3188,118465 -static int DAC960_process_queue(3257,121247 -static void DAC960_ProcessRequest(3300,122684 -static void DAC960_queue_partial_rw(3346,123745 -static void DAC960_RequestFunction(3383,125019 -static inline boolean DAC960_ProcessCompletedRequest(3393,125242 -static void DAC960_V1_ReadWriteError(3424,125962 -static void DAC960_V1_ProcessCompletedCommand(3477,127657 -static void DAC960_V2_ReadWriteError(4280,158132 -static void DAC960_V2_ReportEvent(4321,159462 -static void DAC960_V2_ReportProgress(4540,169294 -static void DAC960_V2_ProcessCompletedCommand(4563,170027 -static irqreturn_t DAC960_BA_InterruptHandler(5199,194298 -static irqreturn_t DAC960_LP_InterruptHandler(5242,195947 -static irqreturn_t DAC960_LA_InterruptHandler(5285,197596 -static irqreturn_t DAC960_PG_InterruptHandler(5324,199051 -static irqreturn_t DAC960_PD_InterruptHandler(5363,200506 -static irqreturn_t DAC960_P_InterruptHandler(5402,201917 -static void DAC960_V1_QueueMonitoringCommand(5472,204516 -static void DAC960_V2_QueueMonitoringCommand(5489,205078 -static void DAC960_MonitoringTimerFunction(5521,206317 -static boolean DAC960_CheckStatusBuffer(5609,209428 -static void DAC960_Message(5651,210882 -static boolean DAC960_ParsePhysicalDevice(5750,214008 -static boolean DAC960_ParseLogicalDrive(5783,215160 -static void DAC960_V1_SetDeviceState(5808,215951 -static boolean DAC960_V1_ExecuteUserCommand(5864,217972 -static boolean DAC960_V2_TranslatePhysicalDevice(6079,226213 -static boolean DAC960_V2_ExecuteUserCommand(6126,227963 -static int DAC960_ProcReadStatus(6350,236791 -static int DAC960_ProcReadInitialStatus(6384,237650 -static int DAC960_ProcReadCurrentStatus(6405,238209 -static int DAC960_ProcReadUserCommand(6453,239921 -static int DAC960_ProcWriteUserCommand(6474,240473 -static void DAC960_CreateProcEntries(6501,241336 -static void DAC960_DestroyProcEntries(6535,242603 -static int DAC960_gam_ioctl(6552,243203 -static struct file_operations DAC960_gam_fops 6948,257660 -static struct miscdevice DAC960_gam_dev 6953,257766 -static int DAC960_gam_init(6959,257866 -static void DAC960_gam_cleanup(6969,258063 -static struct DAC960_privdata DAC960_BA_privdata 6976,258171 -static struct DAC960_privdata DAC960_LP_privdata 6983,258408 -static struct DAC960_privdata DAC960_LA_privdata 6990,258645 -static struct DAC960_privdata DAC960_PG_privdata 6997,258882 -static struct DAC960_privdata DAC960_PD_privdata 7004,259119 -static struct DAC960_privdata DAC960_P_privdata 7011,259356 -static struct pci_device_id DAC960_id_table[7018,259590 -static struct pci_driver DAC960_pci_driver 7066,260872 -static int DAC960_init_module(7073,261025 -static void DAC960_cleanup_module(7085,261198 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/as-iosched.c,4644 -#define REQ_SYNC 24,539 -#define REQ_ASYNC 25,558 -#define default_read_expire 34,670 -#define default_write_expire 40,814 -#define default_read_batch_expire 46,1013 -#define default_write_batch_expire 54,1325 -#define default_antic_expire 59,1443 -#define MAX_THINKTIME 68,1897 -enum as_io_states as_io_states71,1964 - AS_TASK_RUNNING=72,1984 - AS_TASK_IOSTARTED,73,2034 - AS_TASK_IORUNNING,74,2088 -enum anticipation_status anticipation_status77,2148 - ANTIC_OFF=78,2175 - ANTIC_WAIT_REQ,79,2232 - ANTIC_WAIT_NEXT,80,2293 - ANTIC_FINISHED,82,2392 -struct as_data as_data86,2480 -#define list_entry_fifo(list_entry_fifo137,4208 -enum arq_state arq_state142,4304 - AS_RQ_NEW=143,4321 - AS_RQ_QUEUED,144,4384 - AS_RQ_DISPATCHED,146,4463 - AS_RQ_PRESCHED,148,4546 - AS_RQ_REMOVED,149,4610 - AS_RQ_MERGED,150,4626 - AS_RQ_POSTSCHED,151,4641 -struct as_rq as_rq154,4692 -#define RQ_DATA(RQ_DATA181,5139 -static kmem_cache_t *arq_pool;183,5202 -static void free_as_io_context(190,5318 -static void exit_as_io_context(196,5427 -static struct as_io_context *alloc_as_io_context(202,5583 -static struct io_context *as_get_io_context(229,6238 -static const int as_hash_shift 245,6534 -#define AS_HASH_BLOCK(AS_HASH_BLOCK246,6570 -#define AS_HASH_FN(AS_HASH_FN247,6610 -#define AS_HASH_ENTRIES 248,6684 -#define rq_hash_key(rq_hash_key249,6730 -#define list_entry_hash(list_entry_hash250,6789 -static inline void __as_del_arq_hash(252,6857 -static inline void as_del_arq_hash(258,6965 -static void as_remove_merge_hints(264,7069 -static void as_add_arq_hash(272,7231 -static inline void as_hot_arq_hash(285,7489 -static struct request *as_find_arq_hash(301,7809 -#define RB_NONE 329,8369 -#define RB_EMPTY(RB_EMPTY330,8390 -#define ON_RB(ON_RB331,8439 -#define RB_CLEAR(RB_CLEAR332,8489 -#define rb_entry_arq(rb_entry_arq333,8541 -#define ARQ_RB_ROOT(ARQ_RB_ROOT334,8608 -#define rq_rb_key(rq_rb_key335,8672 -static struct as_rq *as_find_first_arq(342,8933 -static struct as_rq *as_add_arq_rb(362,9380 -static inline void as_del_arq_rb(389,9958 -as_find_arq_rb(401,10191 -#define MAXBACK 424,10556 -#define BACK_PENALTY 429,10670 -as_choose_req(436,10876 -static struct as_rq *as_find_next_arq(510,12428 -static int as_antic_expired(547,13292 -static void as_antic_waitnext(564,13639 -static void as_antic_waitreq(583,14155 -static void as_antic_stop(598,14560 -static void as_antic_timeout(614,14956 -static int as_close_req(640,15686 -static int as_can_break_anticipation(675,16771 -static int as_can_anticipate(776,19016 -static void as_update_thinktime(808,19725 -static void as_update_seekdist(822,20232 -static void as_update_iohist(852,21167 -static void as_update_arq(895,22521 -static void update_write_batch(917,23100 -static void as_completed_request(946,23857 -static void as_remove_queued_request(1029,25816 -static void as_remove_dispatched_request(1058,26581 -static void as_remove_request(1084,27226 -static int as_fifo_expired(1124,28260 -static inline int as_batch_expired(1149,28827 -static void as_move_to_dispatch(1165,29227 -static int as_dispatch_request(1233,30977 -static struct request *as_next_request(1362,33835 -as_add_aliased_request(1380,34230 -static void as_add_request(1413,35030 -static void as_requeue_request(1470,36398 -static void as_account_queued_request(1500,37278 -as_insert_request(1510,37494 -static int as_queue_empty(1563,38869 -as_former_request(1576,39138 -as_latter_request(1589,39405 -as_merge(1602,39659 -static void as_merged_request(1657,40732 -as_merged_requests(1701,41914 -static void as_work_handler(1778,43953 -static void as_put_request(1789,44188 -static int as_set_request(1808,44578 -static int as_may_queue(1829,45059 -static void as_exit(1845,45399 -static int as_init(1865,45855 -struct as_fs_entry as_fs_entry1925,47419 -as_var_show(1932,47586 -as_var_store(1939,47710 -static ssize_t as_est_show(1954,47964 -#define SHOW_FUNCTION(SHOW_FUNCTION1965,48311 -#define STORE_FUNCTION(STORE_FUNCTION1977,48807 -static struct as_fs_entry as_est_entry 1996,49561 -static struct as_fs_entry as_readexpire_entry 2000,49678 -static struct as_fs_entry as_writeexpire_entry 2005,49853 -static struct as_fs_entry as_anticexpire_entry 2010,50032 -static struct as_fs_entry as_read_batchexpire_entry 2015,50211 -static struct as_fs_entry as_write_batchexpire_entry 2020,50410 -static struct attribute *default_attrs[2026,50614 -#define to_as(to_as2036,50846 -as_attr_show(2039,50927 -as_attr_store(2051,51193 -static struct sysfs_ops as_sysfs_ops 2063,51488 -static struct kobj_type as_ktype 2068,51581 -static int __init as_slab_setup(2073,51684 -elevator_t iosched_as 2086,51918 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/xd.c,2444 -static int xd[60,1818 -#define XD_DONT_USE_DMA 63,1863 -#define XD_INIT_DISK_DELAY 65,1967 -XD_INFO xd_info[70,2195 -#define xd_dma_mem_alloc(xd_dma_mem_alloc97,4003 -#define xd_dma_mem_free(xd_dma_mem_free98,4078 -static char *xd_dma_buffer;99,4148 -static XD_SIGNATURE xd_sigs[101,4177 -static XD_SIGNATURE xd_sigs[] __initdata 101,4177 -static unsigned int xd_bases[117,6191 -static unsigned int xd_bases[] __initdata 117,6191 -static spinlock_t xd_lock 126,6362 -static struct gendisk *xd_gendisk[128,6411 -static struct block_device_operations xd_fops 130,6450 -static u_char xd_drives,135,6591 -static u_char xd_drives, xd_irq 135,6591 -static u_char xd_override __initdata 136,6655 -static u_short xd_iobase 137,6721 -static int xd_geo[138,6755 -static int xd_geo[XD_MAXDRIVES*3] __initdata 138,6755 -static volatile int xdc_busy;140,6811 -static struct timer_list xd_watchdog_int;141,6841 -static volatile u_char xd_error;143,6884 -static int nodma 144,6917 -static struct request_queue *xd_queue;146,6954 -static int __init xd_init(149,7068 -static u_char __init xd_detect 267,9815 -static void do_xd_request 290,10401 -static int xd_ioctl 325,11232 -static int xd_readwrite 366,12383 -static void xd_recalibrate 446,15104 -static irqreturn_t xd_interrupt_handler(456,15430 -static u_char xd_setup_dma 473,15978 -static u_char *xd_build 499,16662 -static void xd_watchdog 511,17031 -static inline u_char xd_waitport 518,17218 -static inline u_int xd_wait_for_IRQ 532,17565 -static u_int xd_command 559,18119 -static u_char __init xd_initdrives 621,19714 -static void __init xd_manual_geo_set 641,20197 -static void __init xd_dtc_init_controller 648,20428 -static void __init xd_dtc5150cx_init_drive 665,20935 -static void __init xd_dtc_init_drive 712,22352 -static void __init xd_wd_init_controller 739,23493 -static void __init xd_wd_init_drive 760,24180 -static void __init xd_seagate_init_controller 844,27060 -static void __init xd_seagate_init_drive 860,27516 -static void __init xd_omti_init_controller 876,28092 -static void __init xd_omti_init_drive 893,28544 -static void __init xd_xebec_init_controller 903,28776 -static void __init xd_xebec_init_drive 935,29624 -static void __init xd_override_init_drive 978,31293 -static void __init do_xd_setup 1005,32094 -static void __init xd_setparam 1026,32725 -void cleanup_module(1055,33565 -static int __init xd_setup 1074,33967 -static int __init xd_manual_geo_init 1084,34212 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/block/cciss.c,3047 -#define CCISS_DRIVER_VERSION(CCISS_DRIVER_VERSION48,1585 -#define DRIVER_NAME 49,1660 -#define DRIVER_VERSION 50,1707 -const struct pci_device_id cciss_pci_device_id[65,2211 -#define NR_PRODUCTS 90,3189 -static struct board_type products[96,3406 -#define MAX_CONFIG_WAIT 110,4013 -#define MAX_IOCTL_CONFIG_WAIT 111,4044 -#define MAX_CMD_RETRIES 114,4151 -#define READ_AHEAD 116,4178 -#define NR_CMDS 117,4204 -#define MAX_CTLR 118,4266 -#define CCISS_DMA_MASK 120,4286 -static ctlr_info_t *hba[122,4338 -static void cciss_procinit(147,5292 -static struct block_device_operations cciss_fops 150,5358 -static inline void addQ(161,5623 -static inline CommandList_struct *removeQ(174,5976 -#define ENG_GIG 193,6447 -#define ENG_GIG_FACTOR 194,6474 -#define RAID_UNKNOWN 195,6511 -static const char *raid_label[196,6534 -static struct proc_dir_entry *proc_cciss;199,6652 -static int cciss_proc_get_info(201,6695 -cciss_proc_write(276,8839 -static void __devinit cciss_procinit(308,9714 -static CommandList_struct * cmd_alloc(332,10545 -static void cmd_free(394,12380 -static inline ctlr_info_t *get_host(415,12944 -static inline drive_info_struct *get_drv(420,13040 -static int cciss_open(428,13191 -static int cciss_release(465,14286 -typedef int (*handler_type)handler_type491,15229 -static struct ioctl32_map ioctl32_map493,15318 -} cciss_ioctl32_map[497,15405 -#define NCCISS_IOCTL32_ENTRIES 516,16324 -static void register_cciss_ioctl32(517,16414 -static void unregister_cciss_ioctl32(534,16849 -int cciss_ioctl32_passthru(552,17275 -int cciss_ioctl32_big_passthru(583,18244 -static inline void register_cciss_ioctl32(615,19301 -static inline void unregister_cciss_ioctl32(616,19352 -static int cciss_ioctl(621,19429 -static int revalidate_allvol(1116,32880 -static int deregister_disk(1168,34583 -static int fill_cmd(1210,35660 -static int sendcmd_withirq(1333,39429 -static void cciss_geometry_inquiry(1451,42679 -cciss_read_capacity(1496,44173 -static int register_new_disk(1520,44994 -static int cciss_revalidate(1678,49180 -static unsigned long pollcomplete(1729,50520 -static int sendcmd(1751,51043 -static void __iomem *remap_pci_mem(1893,55069 -static void start_io(1906,55512 -static inline void complete_buffers(1930,55992 -static inline void resend_cciss_cmd(1946,56408 -static inline void complete_command(1962,56874 -static void do_cciss_request(2099,60532 -static irqreturn_t do_cciss_intr(2201,63356 -static void print_cfg_table(2267,64908 -static void release_io_mem(2301,66107 -static int find_PCI_BAR_index(2311,66332 -static int cciss_pci_init(2346,67246 - c->max_commands 2503,71776 - for(i=0;idev_addr[427,14725 - memcpy_fromio(&dev->dev_addr[0], adapter_addr,427,14725 - olympic_priv->olympic_addr_table_addr 429,14777 - olympic_priv->olympic_parms_addr 430,14849 -static int olympic_open(436,14932 -static void olympic_rx(758,28204 -static void olympic_freemem(898,34909 -static irqreturn_t olympic_interrupt(930,36384 -static int olympic_xmit(1047,41404 -static int olympic_close(1078,42514 -static void olympic_set_rx_mode(1148,44321 -static void olympic_srb_bh(1216,46208 -static struct net_device_stats * olympic_get_stats(1361,50655 -static int olympic_set_mac_address 1368,50894 -static void olympic_arb_cmd(1390,51621 - mac_frame 1431,53054 - mac_frame->dev 1453,54301 - mac_frame->protocol 1454,54327 - dev->last_rx 1456,54407 - olympic_priv->asb_queued 1480,55239 -static void olympic_asb_bh(1577,58442 -static int olympic_change_mtu(1617,59751 -static int olympic_proc_info(1638,60164 -static void __devexit olympic_remove_one(1749,66205 -static struct pci_driver olympic_driver 1768,66772 -static int __init olympic_pci_init(1775,66943 -static void __exit olympic_pci_cleanup(1780,67035 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/tms380tr.c,2307 -static const char version[76,3096 -#define TMS380TR_DEBUG 113,4014 -static unsigned int tms380tr_debug 115,4046 -static struct device tms_device;117,4100 -#define SIFREADB(SIFREADB184,6963 -#define SIFWRITEB(SIFWRITEB185,7039 -#define SIFREADW(SIFREADW186,7127 -#define SIFWRITEW(SIFWRITEW187,7203 -static int madgemc_sifprobe(192,7325 -int tms380tr_open(244,8746 -static void tms380tr_timer_end_wait(315,10326 -static int tms380tr_chipset_init(332,10617 -static void tms380tr_init_net_local(367,11387 -static void tms380tr_init_ipb(467,14398 -static void tms380tr_init_opb(488,14865 -static void tms380tr_open_adapter(534,16103 -static void tms380tr_disable_interrupts(551,16446 -static void tms380tr_enable_interrupts(562,16670 -static void tms380tr_exec_cmd(572,16839 -static void tms380tr_timeout(582,17038 -static int tms380tr_send_packet(599,17523 -static int tms380tr_hardware_send_packet(613,17829 -static void tms380tr_write_tpl_status(693,20341 -static void tms380tr_chk_src_addr(698,20438 -static void tms380tr_timer_chk(717,20868 -irqreturn_t tms380tr_interrupt(748,21610 -static void tms380tr_reset_interrupt(846,23829 -static unsigned char tms380tr_chk_ssb(873,24548 -static void tms380tr_cmd_status_irq(932,26351 -int tms380tr_close(1129,32056 -static struct net_device_stats *tms380tr_get_stats(1177,33033 -static void tms380tr_set_multicast_list(1187,33269 -void tms380tr_wait(1240,34488 -static void tms380tr_exec_sifcmd(1259,34795 -static int tms380tr_reset_adapter(1280,35346 -static int tms380tr_bringup_diags(1373,37457 -static int tms380tr_init_adapter(1433,39134 -static void tms380tr_chk_outstanding_cmds(1546,42430 -static void tms380tr_ring_status_irq(1718,47111 -static void tms380tr_chk_irq(1788,48968 -static int tms380tr_read_ptr(1946,52660 -static void tms380tr_read_ram(1961,53102 -static void tms380tr_cancel_tx_queue(2001,54021 -static void tms380tr_tx_status_irq(2036,54884 -static void tms380tr_rcv_status_irq(2107,56596 -static void tms380tr_write_rpl_status(2273,61341 -static void tms380tr_update_rcv_stats(2285,61606 -static int tms380tr_set_mac_address(2298,61876 -static void tms380tr_dump(2315,62309 -void tmsdev_term(2330,62623 -int tmsdev_init(2339,62812 -struct module *TMS380_module 2382,64041 -int init_module(2384,64079 -void cleanup_module(2392,64187 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/olympic.h,5281 -#define CID 17,559 -#define BCTL 19,577 -#define BCTL_SOFTRESET 20,595 -#define BCTL_MIMREB 21,626 -#define BCTL_MODE_INDICATOR 22,653 -#define GPR 24,689 -#define GPR_OPTI_BF 25,706 -#define GPR_NEPTUNE_BF 26,733 -#define GPR_AUTOSENSE 27,764 -#define GPR_16MBPS 28,793 -#define PAG 30,821 -#define LBC 31,838 -#define LISR 33,856 -#define LISR_SUM 34,874 -#define LISR_RWM 35,896 -#define LISR_LIE 37,919 -#define LISR_SLIM 38,944 -#define LISR_SLI 39,970 -#define LISR_PCMSRMASK 40,995 -#define LISR_PCMSRINT 41,1026 -#define LISR_WOLMASK 42,1056 -#define LISR_WOL 43,1084 -#define LISR_SRB_CMD 44,1108 -#define LISR_ASB_REPLY 45,1136 -#define LISR_ASB_FREE_REQ 46,1166 -#define LISR_ARB_FREE 47,1199 -#define LISR_TRB_FRAME 48,1228 -#define SISR 50,1259 -#define SISR_SUM 51,1277 -#define SISR_RWM 52,1299 -#define SISR_RR 53,1321 -#define SISR_RESMASK 54,1342 -#define SISR_MASK 55,1368 -#define SISR_MASK_SUM 56,1391 -#define SISR_MASK_RWM 57,1418 -#define SISR_TX2_IDLE 59,1446 -#define SISR_TX2_HALT 60,1476 -#define SISR_TX2_EOF 61,1506 -#define SISR_TX1_IDLE 62,1535 -#define SISR_TX1_HALT 63,1565 -#define SISR_TX1_EOF 64,1595 -#define SISR_TIMEOUT 65,1624 -#define SISR_RX_NOBUF 66,1653 -#define SISR_RX_STATUS 67,1683 -#define SISR_RX_HALT 68,1714 -#define SISR_RX_EOF_EARLY 69,1743 -#define SISR_MI 70,1777 -#define SISR_PI 71,1801 -#define SISR_ERR 72,1825 -#define SISR_ADAPTER_CHECK 73,1849 -#define SISR_SRB_REPLY 74,1883 -#define SISR_ASB_FREE 75,1913 -#define SISR_ARB_CMD 76,1942 -#define SISR_TRB_REPLY 77,1970 -#define EISR 79,2001 -#define EISR_RWM 80,2019 -#define EISR_MASK 81,2041 -#define EISR_MASK_OPTIONS 82,2064 -#define LAPA 84,2102 -#define LAPWWO 85,2120 -#define LAPWWC 86,2140 -#define LAPCTL 87,2160 -#define LAIPD 88,2180 -#define LAIPDDINC 89,2199 -#define TIMER 91,2223 -#define CLKCTL 93,2243 -#define CLKCTL_PAUSE 94,2263 -#define PM_CON 96,2294 -#define BMCTL_SUM 98,2314 -#define BMCTL_RWM 99,2337 -#define BMCTL_TX2_DIS 100,2360 -#define BMCTL_TX1_DIS 101,2391 -#define BMCTL_RX_DIS 102,2422 -#define BMASR 104,2453 -#define RXDESCQ 106,2473 -#define RXDESCQCNT 107,2494 -#define RXCDA 108,2518 -#define RXENQ 109,2537 -#define RXSTATQ 110,2556 -#define RXSTATQCNT 111,2577 -#define RXCSA 112,2601 -#define RXCLEN 113,2620 -#define RXHLEN 114,2640 -#define TXDESCQ_1 116,2661 -#define TXDESCQ_2 117,2684 -#define TXDESCQCNT_1 118,2707 -#define TXDESCQCNT_2 119,2733 -#define TXCDA_1 120,2759 -#define TXCDA_2 121,2780 -#define TXENQ_1 122,2801 -#define TXENQ_2 123,2822 -#define TXSTATQ_1 124,2843 -#define TXSTATQ_2 125,2866 -#define TXSTATQCNT_1 126,2889 -#define TXSTATQCNT_2 127,2915 -#define TXCSA_1 128,2941 -#define TXCSA_2 129,2962 -#define FERMASK 131,2997 -#define FERMASK_INT_BIT 132,3018 -#define OLYMPIC_IO_SPACE 134,3051 -#define SRB_COMMAND_SIZE 136,3081 -#define OLYMPIC_MAX_ADAPTERS 138,3110 -#define LSC_SIG_LOSS 141,3229 -#define LSC_HARD_ERR 142,3257 -#define LSC_SOFT_ERR 143,3285 -#define LSC_TRAN_BCN 144,3313 -#define LSC_LWF 145,3341 -#define LSC_ARW 146,3369 -#define LSC_FPE 147,3397 -#define LSC_RR 148,3425 -#define LSC_CO 149,3453 -#define LSC_SS 150,3481 -#define LSC_RING_REC 151,3509 -#define LSC_SR_CO 152,3537 -#define LSC_FDX_MODE 153,3565 -#define OPEN_ADAPTER_EXT_WRAP 157,3634 -#define OPEN_ADAPTER_DIS_HARDEE 158,3672 -#define OPEN_ADAPTER_DIS_SOFTERR 159,3712 -#define OPEN_ADAPTER_PASS_ADC_MAC 160,3753 -#define OPEN_ADAPTER_PASS_ATT_MAC 161,3795 -#define OPEN_ADAPTER_ENABLE_EC 162,3837 -#define OPEN_ADAPTER_CONTENDER 163,3876 -#define OPEN_ADAPTER_PASS_BEACON 164,3914 -#define OPEN_ADAPTER_ENABLE_FDX 165,3954 -#define OPEN_ADAPTER_ENABLE_RPL 166,3993 -#define OPEN_ADAPTER_INHIBIT_ETR 167,4032 -#define OPEN_ADAPTER_INTERNAL_WRAP 168,4072 -#define OPEN_ADAPTER_USE_OPTS2 169,4114 -#define OPEN_ADAPTER_2_ENABLE_ONNOW 171,4153 -#define SRB_ACCESS_REGISTER 175,4230 -#define SRB_CLOSE_ADAPTER 176,4263 -#define SRB_CONFIGURE_BRIDGE 177,4294 -#define SRB_CONFIGURE_WAKEUP_EVENT 178,4328 -#define SRB_MODIFY_BRIDGE_PARMS 179,4368 -#define SRB_MODIFY_OPEN_OPTIONS 180,4405 -#define SRB_MODIFY_RECEIVE_OPTIONS 181,4442 -#define SRB_NO_OPERATION 182,4482 -#define SRB_OPEN_ADAPTER 183,4512 -#define SRB_READ_LOG 184,4542 -#define SRB_READ_SR_COUNTERS 185,4568 -#define SRB_RESET_GROUP_ADDRESS 186,4602 -#define SRB_SAVE_CONFIGURATION 187,4639 -#define SRB_SET_BRIDGE_PARMS 188,4675 -#define SRB_SET_BRIDGE_TARGETS 189,4709 -#define SRB_SET_FUNC_ADDRESS 190,4745 -#define SRB_SET_GROUP_ADDRESS 191,4779 -#define SRB_SET_GROUP_ADDR_OPTIONS 192,4814 -#define SRB_UPDATE_WAKEUP_PATTERN 193,4854 -#define OLYMPIC_CLEAR_RET_CODE 197,4919 -#define ARB_RECEIVE_DATA 200,4976 -#define ARB_LAN_CHANGE_STATUS 201,5006 -#define ASB_RECEIVE_DATA 204,5070 -#define OLYMPIC_RX_RING_SIZE 209,5139 -#define OLYMPIC_TX_RING_SIZE 210,5200 -#define PKT_BUF_SZ 212,5261 -struct olympic_tx_desc olympic_tx_desc218,5407 -struct olympic_tx_status olympic_tx_status223,5469 -struct olympic_rx_desc olympic_rx_desc227,5513 -struct olympic_rx_status olympic_rx_status232,5573 -struct mac_receive_buffer mac_receive_buffer239,5783 -struct olympic_private olympic_private247,5902 -struct olympic_adapter_addr_table olympic_adapter_addr_table291,7332 -struct olympic_parameters_table olympic_parameters_table298,7434 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/proteon.c,941 -static const char version[22,565 -#define PROTEON_IO_EXTENT 41,987 -static unsigned int portlist[44,1077 -static unsigned int portlist[] __initdata 44,1077 -static unsigned short irqlist[53,1473 -static int dmalist[59,1598 -static int dmalist[] __initdata 59,1598 -static char cardname[64,1651 -static unsigned short proteon_sifreadb(71,1917 -static unsigned short proteon_sifreadw(76,2040 -static void proteon_sifwriteb(81,2163 -static void proteon_sifwritew(86,2296 -static int __init proteon_probe1(91,2429 -static int __init setup_card(119,3020 -struct net_device * __init proteon_probe(265,6032 -static void proteon_read_eeprom(298,6730 -unsigned short proteon_setnselout_pins(312,7041 -static int proteon_open(317,7120 -#define ISATR_MAX_ADAPTERS 357,7860 -static int io[359,7890 -static int irq[360,7925 -static int dma[361,7961 -static struct net_device *proteon_dev[369,8214 -int init_module(371,8274 -void cleanup_module(402,8842 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/tmspci.c,744 -static char version[43,1082 -static char version[] __devinitdata 43,1082 -#define TMS_PCI_IO_EXTENT 46,1170 -struct card_info card_info48,1200 -static struct card_info card_info_table[53,1309 -static struct pci_device_id tmspci_pci_tbl[60,1536 -static unsigned short tms_pci_sifreadb(74,2178 -static unsigned short tms_pci_sifreadw(79,2301 -static void tms_pci_sifwriteb(84,2424 -static void tms_pci_sifwritew(89,2557 -static int __devinit tms_pci_attach(94,2690 -static void tms_pci_read_eeprom(196,5173 -static unsigned short tms_pci_setnselout_pins(210,5484 -static void __devexit tms_pci_detach 223,5808 -static struct pci_driver tms_pci_driver 237,6114 -static int __init tms_pci_init 244,6279 -static void __exit tms_pci_rmmod 256,6488 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/lanstreamer.c,1388 -#define STREAMER_DEBUG 83,4544 -#define STREAMER_DEBUG_PACKETS 84,4569 -#define STREAMER_NETWORK_MONITOR 93,4925 -#define STREAMER_IOCTL 101,5043 -static char version[145,6163 -static struct pci_device_id streamer_pci_tbl[148,6308 -static char *open_maj_error[155,6505 -static char *open_min_error[163,6782 -static int ringspeed[183,7412 -static int pkt_buf_sz[189,7567 -static int message_level[195,7719 -struct streamer_private *dev_streamer=222,8936 -static int __devinit streamer_init_one(226,8995 -static void __devexit streamer_remove_one(394,13362 -static int streamer_reset(443,14498 -static int streamer_open(591,19054 -static void streamer_rx(907,30788 -static irqreturn_t streamer_interrupt(1033,36100 -static int streamer_xmit(1157,40593 -static int streamer_close(1208,42492 -static void streamer_set_rx_mode(1274,44578 -static void streamer_srb_bh(1334,46789 -static struct net_device_stats *streamer_get_stats(1498,51547 -static int streamer_set_mac_address(1505,51792 -static void streamer_arb_cmd(1530,52572 -static void streamer_asb_bh(1746,59976 -static int streamer_change_mtu(1790,61246 -static int streamer_proc_info(1814,61705 -static int sprintf_info(1854,62591 -static int streamer_ioctl(1938,66103 -static struct pci_driver streamer_pci_driver 1995,68053 -static int __init streamer_init_module(2002,68248 -static void __exit streamer_cleanup_module(2006,68346 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/madgemc.c,1099 -static const char version[20,513 -#define MADGEMC_IO_EXTENT 38,958 -#define MADGEMC_SIF_OFFSET 39,987 -struct madgemc_card madgemc_card41,1020 -static struct madgemc_card *madgemc_card_list;63,1518 -#define SIFREADB(SIFREADB85,2349 -#define SIFWRITEB(SIFWRITEB86,2419 -#define SIFREADW(SIFREADW87,2501 -#define SIFWRITEW(SIFWRITEW88,2571 -static unsigned short madgemc_sifreadb(93,2708 -static void madgemc_sifwriteb(109,3014 -static unsigned short madgemc_sifreadw(124,3304 -static void madgemc_sifwritew(140,3610 -static int __init madgemc_probe(154,3851 -static irqreturn_t madgemc_interrupt(450,12369 -unsigned short madgemc_setnselout_pins(504,13868 -static void madgemc_setregpage(531,14689 -static void madgemc_setsifsel(554,15252 -static void madgemc_setint(578,15839 -static void madgemc_setcabletype(598,16316 -static int madgemc_chipset_init(608,16583 -void madgemc_chipset_close(628,17057 -static void madgemc_read_rom(667,18169 -static int madgemc_open(700,19066 -static int madgemc_close(711,19297 -static int madgemc_mcaproc(721,19472 -static void __exit madgemc_exit(766,21220 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/abyss.c,1225 -static char version[43,1080 -static char version[] __devinitdata 43,1080 -#define ABYSS_IO_EXTENT 46,1167 -static struct pci_device_id abyss_pci_tbl[48,1195 -static unsigned short abyss_sifreadb(75,2470 -static unsigned short abyss_sifreadw(80,2591 -static void abyss_sifwriteb(85,2712 -static void abyss_sifwritew(90,2843 -static int __devinit abyss_attach(95,2974 -static unsigned short abyss_setnselout_pins(189,5123 -static void at24_writedatabyte(212,5661 -static int at24_sendfullcmd(223,5933 -static int at24_sendcmd(232,6149 -static unsigned char at24_readdatabit(245,6376 -static unsigned char at24_readdatabyte(257,6639 -static int at24_waitforack(270,6837 -static int at24_waitfornack(281,7007 -static void at24_setlines(291,7176 -static void at24_start(303,7434 -static unsigned char at24_readb(311,7609 -static void abyss_enable(330,8009 -static int abyss_chipset_init(346,8380 -static inline void abyss_chipset_close(383,9293 -static void abyss_read_eeprom(395,9524 -static int abyss_open(423,10277 -static int abyss_close(430,10388 -static void __devexit abyss_detach 437,10500 -static struct pci_driver abyss_driver 451,10808 -static int __init abyss_init 458,10965 -static void __exit abyss_rmmod 470,11168 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/tms380tr.h,9616 -#define __LINUX_TMS380TR_H10,178 -#define TMS380TR_MAX_ADAPTERS 25,615 -#define SEND_TIMEOUT 27,648 -#define TR_RCF_LONGEST_FRAME_MASK 29,676 -#define TR_RCF_FRAME4K 30,717 -#define SWAPW(SWAPW47,1659 -#define LOBYTE(LOBYTE50,1760 -#define HIBYTE(HIBYTE53,1861 -#define LOWORD(LOWORD56,1985 -#define HIWORD(HIWORD59,2087 -#define SIFDAT 69,2297 -#define SIFINC 70,2344 -#define SIFINH 71,2413 -#define SIFADR 72,2482 -#define SIFCMD 73,2534 -#define SIFSTS 74,2582 -#define SIFACL 77,2662 -#define SIFADD 78,2727 -#define SIFADX 79,2786 -#define DMALEN 80,2828 -#define POSREG 85,2936 -#define POSREG_2 88,3059 -#define CMD_INTERRUPT_ADAPTER 93,3207 -#define CMD_ADAPTER_RESET 94,3286 -#define CMD_SSB_CLEAR 95,3355 -#define CMD_EXECUTE 98,3451 -#define CMD_SCB_REQUEST 99,3505 -#define CMD_RX_CONTINUE 103,3645 -#define CMD_RX_VALID 106,3768 -#define CMD_TX_VALID 107,3829 -#define CMD_SYSTEM_IRQ 110,3940 -#define CMD_CLEAR_SYSTEM_IRQ 113,4039 -#define EXEC_SOFT_RESET 116,4150 -#define ACL_SWHLDA 122,4294 -#define ACL_SWDDIR 123,4355 -#define ACL_SWHRQ 124,4414 -#define ACL_PSDMAEN 125,4469 -#define ACL_ARESET 126,4530 -#define ACL_CPHALT 130,4666 -#define ACL_BOOT 136,4889 -#define ACL_SINTEN 137,4914 -#define ACL_PEN 141,5047 -#define ACL_NSELOUT0 143,5087 -#define ACL_NSELOUT1 144,5127 -#define PS_DMA_MASK 148,5249 -#define STS_SYSTEM_IRQ 152,5344 -#define STS_INITIALIZE 155,5442 -#define STS_TEST 158,5535 -#define STS_ERROR 159,5600 -#define STS_MASK 162,5695 -#define STS_ERROR_MASK 163,5757 -#define ADAPTER_INT_PTRS 166,5860 -#define STS_IRQ_ADAPTER_CHECK 173,6068 -#define STS_IRQ_RING_STATUS 176,6168 -#define STS_IRQ_LLC_STATUS 177,6243 -#define STS_IRQ_SCB_CLEAR 178,6314 -#define STS_IRQ_TIMER 181,6408 -#define STS_IRQ_COMMAND_STATUS 182,6475 -#define STS_IRQ_RECEIVE_STATUS 185,6571 -#define STS_IRQ_TRANSMIT_STATUS 188,6665 -#define STS_IRQ_RECEIVE_PENDING 191,6795 -#define STS_IRQ_MASK 192,6871 -#define COMMAND_COMPLETE 196,6979 -#define FRAME_COMPLETE 200,7165 -#define LIST_ERROR 207,7436 -#define FRAME_SIZE_ERROR 214,7681 -#define TX_THRESHOLD 221,7962 -#define ODD_ADDRESS 224,8067 -#define FRAME_ERROR 228,8197 -#define ACCESS_PRIORITY_ERROR 231,8295 -#define UNENABLED_MAC_FRAME 234,8400 -#define ILLEGAL_FRAME_FORMAT 238,8547 -#define OC_OPEN 253,9152 -#define OC_TRANSMIT 254,9196 -#define OC_TRANSMIT_HALT 255,9247 -#define OC_RECEIVE 256,9307 -#define OC_CLOSE 257,9356 -#define OC_SET_GROUP_ADDR 258,9401 -#define OC_SET_FUNCT_ADDR 259,9463 -#define OC_READ_ERROR_LOG 260,9525 -#define OC_READ_ADAPTER 261,9587 -#define OC_MODIFY_OPEN_PARMS 262,9646 -#define OC_RESTORE_OPEN_PARMS 263,9714 -#define OC_SET_FIRST_16_GROUP 264,9784 -#define OC_SET_BRIDGE_PARMS 265,9854 -#define OC_CONFIG_BRIDGE_PARMS 266,9920 -#define OPEN 268,9993 -#define TRANSMIT 269,10053 -#define TRANSMIT_HALT 275,10283 -#define RECEIVE 280,10474 -#define CLOSE 286,10703 -#define SET_GROUP_ADDR 289,10816 -#define SET_FUNCT_ADDR 293,10970 -#define READ_ERROR_LOG 297,11129 -#define READ_ADAPTER 301,11274 -#define MODIFY_OPEN_PARMS 307,11494 -#define RESTORE_OPEN_PARMS 313,11708 -#define SET_FIRST_16_GROUP 319,11922 -#define SET_BRIDGE_PARMS 324,12087 -#define CONFIG_BRIDGE_PARMS 330,12299 -#define SPEED_4 335,12409 -#define SPEED_16 336,12429 -#define BURST_SIZE 340,12556 -#define BURST_MODE 341,12607 -#define DMA_RETRIES 342,12657 -#define CYCLE_TIME 344,12717 -#define LINE_SPEED_BIT 347,12832 -#define ONE_SECOND_TICKS 350,12907 -#define HALF_SECOND 351,12940 -#define ONE_SECOND 352,12984 -#define TWO_SECONDS 353,13023 -#define THREE_SECONDS 354,13067 -#define FOUR_SECONDS 355,13113 -#define FIVE_SECONDS 356,13158 -#define BUFFER_SIZE 358,13204 -} IPB, *IPB_Ptr;IPB_Ptr380,14174 -#define BUFFER_SIZE 387,14306 -#define TPL_SIZE 388,14358 -#define RPL_SIZE 389,14429 -#define TX_BUF_MIN 392,14534 -#define TX_BUF_MAX 393,14594 -#define DISABLE_EARLY_TOKEN_RELEASE 395,14666 -#define WRAP_INTERFACE 398,14741 -#define DISABLE_HARD_ERROR 403,14930 -#define DISABLE_SOFT_ERROR 406,15042 -#define PASS_ADAPTER_MAC_FRAMES 409,15137 -#define PASS_ATTENTION_FRAMES 412,15238 -#define PAD_ROUTING_FIELD 415,15354 -#define FRAME_HOLD 418,15444 -#define CONTENDER 423,15631 -#define PASS_BEACON_MAC_FRAMES 426,15733 -#define EARLY_TOKEN_RELEASE 429,15839 -#define COPY_ALL_MAC_FRAMES 433,15977 -#define COPY_ALL_NON_MAC_FRAMES 439,16196 -#define PASS_FIRST_BUF_ONLY 442,16300 -#define ENABLE_FULL_DUPLEX_SELECTION 447,16507 -#define OPEN_FULL_DUPLEX_OFF 455,16730 -#define OPEN_FULL_DUPLEX_ON 456,16766 -#define OPEN_FULL_DUPLEX_AUTO 457,16801 -#define PROD_ID_SIZE 459,16839 -#define TX_FRAG_NUM 461,16892 -#define TX_MORE_FRAGMENTS 462,16958 -#define ISA_MAX_ADDRESS 467,17118 -#define PCI_MAX_ADDRESS 468,17154 -} OPB, *OPB_Ptr;OPB_Ptr501,18155 -} SCB;SCB513,18532 -} SSB;SSB528,19043 -} INTPTRS;INTPTRS544,19743 -} ERRORTAB;ERRORTAB577,20857 -} Fragment;Fragment594,21344 -#define MAX_FRAG_NUMBERS 597,21372 -#define HEADER_SIZE 608,21761 -#define SRC_SIZE 609,21798 -#define MIN_DATA_SIZE 610,21819 -#define DEFAULT_DATA_SIZE 611,21846 -#define MAX_DATA_SIZE 612,21877 -#define DEFAULT_PACKET_SIZE 614,21907 -#define MIN_PACKET_SIZE 615,21980 -#define MAX_PACKET_SIZE 616,22049 -#define AC_NOT_RECOGNIZED 621,22173 -#define GROUP_BIT 622,22204 -#define GET_TRANSMIT_STATUS_HIGH_BYTE(GET_TRANSMIT_STATUS_HIGH_BYTE623,22228 -#define GET_FRAME_STATUS_HIGH_AC(GET_FRAME_STATUS_HIGH_AC624,22299 -#define GET_FRAME_STATUS_LOW_AC(GET_FRAME_STATUS_LOW_AC625,22376 -#define DIRECTED_FRAME(DIRECTED_FRAME626,22456 -#define TX_VALID 632,22684 -#define TX_FRAME_COMPLETE 635,22791 -#define TX_START_FRAME 638,22885 -#define TX_END_FRAME 641,22975 -#define TX_FRAME_IRQ 644,23060 -#define TX_ERROR 648,23184 -#define TX_INTERFRAME_WAIT 651,23276 -#define TX_PASS_CRC 652,23310 -#define TX_PASS_SRC_ADDR 657,23464 -#define TX_STRIP_FS 664,23695 -#define TPL_NUM 675,24069 -typedef struct s_TPL TPL;TPL680,24178 -struct s_TPL s_TPL682,24205 -#define RX_VALID 729,25890 -#define RX_FRAME_COMPLETE 733,26012 -#define RX_START_FRAME 736,26107 -#define RX_END_FRAME 739,26212 -#define RX_FRAME_IRQ 743,26343 -#define RX_INTERFRAME_WAIT 747,26462 -#define RX_PASS_CRC 752,26618 -#define RX_PASS_SRC_ADDR 759,26853 -#define RX_RECEIVE_FS 766,27087 -#define RX_ADDR_MATCH 771,27294 -#define RX_STATUS_MASK 774,27410 -#define RX_INTERN_ADDR_MATCH 776,27479 -#define RX_EXTERN_ADDR_MATCH 777,27554 -#define RX_INTEXT_ADDR_MATCH 780,27664 -#define RX_READY 783,27762 -#define ILLEGAL_COMMAND 788,27937 -#define ADDRESS_ERROR 791,28040 -#define ADAPTER_OPEN 794,28154 -#define ADAPTER_CLOSE 797,28246 -#define SAME_COMMAND 800,28341 -#define NODE_ADDR_ERROR 805,28492 -#define LIST_SIZE_ERROR 808,28585 -#define BUF_SIZE_ERROR 811,28679 -#define TX_BUF_COUNT_ERROR 814,28776 -#define OPEN_ERROR 817,28872 -#define GOOD_COMPLETION 822,29008 -#define INVALID_OPEN_OPTION 823,29065 -#define OPEN_PHASES_MASK 828,29240 -#define LOBE_MEDIA_TEST 829,29316 -#define PHYSICAL_INSERTION 830,29359 -#define ADDRESS_VERIFICATION 831,29402 -#define PARTICIPATION_IN_RING_POLL 832,29445 -#define REQUEST_INITIALISATION 833,29488 -#define FULLDUPLEX_CHECK 834,29531 -#define OPEN_ERROR_CODES_MASK 837,29640 -#define OPEN_FUNCTION_FAILURE 838,29711 -#define OPEN_SIGNAL_LOSS 841,29837 -#define OPEN_TIMEOUT 844,29933 -#define OPEN_RING_FAILURE 847,30032 -#define OPEN_RING_BEACONING 850,30130 -#define OPEN_DUPLICATE_NODEADDR 853,30233 -#define OPEN_REQUEST_INIT 856,30344 -#define OPEN_REMOVE_RECEIVED 857,30417 -#define OPEN_FULLDUPLEX_SET 860,30522 -#define BRIDGE_INVALID_MAX_LEN 865,30685 -#define BRIDGE_INVALID_SRC_RING 868,30796 -#define BRIDGE_INVALID_TRG_RING 871,30909 -#define BRIDGE_INVALID_BRDGE_NO 874,31022 -#define BRIDGE_INVALID_OPTIONS 875,31093 -#define BRIDGE_DIAGS_FAILED 876,31163 -#define BRIDGE_NO_SRA 877,31242 -#define BUD_INITIAL_ERROR 884,31397 -#define BUD_CHECKSUM_ERROR 885,31433 -#define BUD_ADAPTER_RAM_ERROR 886,31469 -#define BUD_INSTRUCTION_ERROR 887,31505 -#define BUD_CONTEXT_ERROR 888,31541 -#define BUD_PROTOCOL_ERROR 889,31577 -#define BUD_INTERFACE_ERROR 890,31613 -#define BUD_MAX_RETRIES 893,31666 -#define BUD_MAX_LOOPCNT 894,31700 -#define BUD_TIMEOUT 895,31734 -#define INIT_MAX_RETRIES 898,31803 -#define INIT_MAX_LOOPCNT 899,31866 -#define SIGNAL_LOSS 902,31976 -#define HARD_ERROR 905,32073 -#define SOFT_ERROR 908,32174 -#define TRANSMIT_BEACON 911,32270 -#define LOBE_WIRE_FAULT 914,32370 -#define AUTO_REMOVAL_ERROR 918,32506 -#define REMOVE_RECEIVED 921,32617 -#define COUNTER_OVERFLOW 924,32747 -#define SINGLE_STATION 927,32871 -#define RING_RECOVERY 930,32972 -#define ADAPTER_CLOSED 934,33099 -#define DIO_PARITY 938,33261 -#define DMA_READ_ABORT 941,33375 -#define DMA_WRITE_ABORT 947,33607 -#define ILLEGAL_OP_CODE 951,33756 -#define PARITY_ERRORS 956,33939 -#define RAM_DATA_ERROR 959,34042 -#define RAM_PARITY_ERROR 963,34199 -#define RING_UNDERRUN 967,34358 -#define INVALID_IRQ 970,34469 -#define INVALID_ERROR_IRQ 974,34627 -#define INVALID_XOP 978,34771 -#define CHECKADDR 982,34928 -#define ROM_PAGE_0 985,35037 -#define RX_COMPLETE 991,35228 -#define RX_SUSPENDED 994,35342 -#define RX_FRAME_CONTROL_BITS 1000,35512 -#define VALID_SINGLE_BUFFER_FRAME 1002,35617 -typedef enum SKB_STAT SKB_STAT;SKB_STAT1005,35713 -enum SKB_STAT SKB_STAT1006,35745 - SKB_UNAVAILABLE,1007,35761 - SKB_DMA_DIRECT,1008,35779 - SKB_DATA_COPY1009,35796 -#define RPL_NUM 1015,35934 -#define RX_FRAG_NUM 1017,35954 -typedef struct s_RPL RPL;RPL1022,36100 -struct s_RPL s_RPL1023,36126 -typedef struct net_local net_local1067,37669 -} NET_LOCAL;NET_LOCAL1138,39795 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/ibmtr.c,4187 -#define IBMTR_DEBUG_MESSAGES 108,4628 -#define ENABLE_PAGING 116,4801 -#define FALSE 119,4835 -#define TRUE 120,4851 -#define TR_VERBOSE 123,4931 -#define TR_FILTERNONUI 126,5026 -#define DPRINTK(DPRINTK138,5231 -#define DPRINTD(DPRINTD139,5307 -static char version[143,5428 -static char version[] __initdata 143,5428 -char *channel_def[154,5948 -char *channel_def[] __devinitdata 154,5948 -static char pcchannelid[156,6014 -static char pcchannelid[] __devinitdata 156,6014 -static char mcchannelid[165,6211 -static char mcchannelid[] __devinitdata 165,6211 -char __devinit *adapter_def(174,6409 -#define TRC_INIT 185,6741 -#define TRC_INITV 186,6801 -unsigned char ibmtr_debug_trace 187,6862 -static int ibmtr_portlist[211,8073 -static int ibmtr_portlist[IBMTR_MAX_ADAPTERS+1] __devinitdata 211,8073 -static int __devinitdata turbo_io[214,8165 -static int __devinitdata turbo_irq[215,8226 -static int __devinitdata turbo_searched 216,8288 -static __u32 ibmtr_mem_base __initdata 219,8349 -static void __devinit PrtChanID(222,8407 -static void __devinit HWPrtChanID(230,8585 -static void __devinit find_turbo_adapters(242,8862 -static void ibmtr_cleanup_card(315,10818 -int ibmtr_probe_card(337,11259 -static int ibmtr_probe(360,12020 -static int __devinit ibmtr_probe1(382,12588 -static unsigned char __devinit get_sram_size(809,26572 -static int __devinit trdev_init(829,27285 -static int tok_init_card(847,27763 -static int tok_open(882,28846 -#define COMMAND_OFST 933,30650 -#define OPEN_OPTIONS_OFST 934,30685 -#define NUM_RCV_BUF_OFST 935,30720 -#define RCV_BUF_LEN_OFST 936,30755 -#define DHB_LENGTH_OFST 937,30790 -#define NUM_DHB_OFST 938,30825 -#define DLC_MAX_SAP_OFST 939,30860 -#define DLC_MAX_STA_OFST 940,30895 -void tok_open_adapter(942,30931 -static void open_sap(980,32604 -#define MAX_I_FIELD_OFST 989,32837 -#define SAP_VALUE_OFST 990,32872 -#define SAP_OPTIONS_OFST 991,32907 -#define STATION_COUNT_OFST 992,32942 -static void tok_set_multicast_list(1005,33408 -#define FUNCT_ADDRESS_OFST 1029,34194 -#define STATION_ID_OFST 1044,34635 -static int tok_send_packet(1046,34662 -static int tok_close(1070,35377 -#define RETCODE_OFST 1088,35896 -#define OPEN_ERROR_CODE_OFST 1089,35920 -#define ASB_ADDRESS_OFST 1090,35951 -#define SRB_ADDRESS_OFST 1091,35985 -#define ARB_ADDRESS_OFST 1092,36020 -#define SSB_ADDRESS_OFST 1093,36055 -static char *printphase[1095,36091 -static char *printerror[1097,36229 -void dir_open_adapter 1104,36563 -irqreturn_t tok_interrupt(1183,39504 -#define LINE_ERRORS_OFST 1354,45005 -#define INTERNAL_ERRORS_OFST 1355,45048 -#define BURST_ERRORS_OFST 1356,45091 -#define AC_ERRORS_OFST 1357,45134 -#define ABORT_DELIMITERS_OFST 1358,45177 -#define LOST_FRAMES_OFST 1359,45220 -#define RECV_CONGEST_COUNT_OFST 1360,45263 -#define FRAME_COPIED_ERRORS_OFST 1361,45306 -#define FREQUENCY_ERRORS_OFST 1362,45349 -#define TOKEN_ERRORS_OFST 1363,45392 -#define STATUS_OFST 1411,47077 -#define NETW_STATUS_OFST 1412,47111 -#define INIT_STATUS_OFST 1509,50210 -#define INIT_STATUS_2_OFST 1510,50244 -#define ENCODED_ADDRESS_OFST 1511,50278 -static void initial_tok_int(1513,50313 -#define CMD_CORRELATE_OFST 1576,52396 -#define DHB_ADDRESS_OFST 1577,52430 -#define FRAME_LENGTH_OFST 1579,52465 -#define HEADER_LENGTH_OFST 1580,52499 -#define RSAP_VALUE_OFST 1581,52533 -static void tr_tx(1583,52568 -#define RECEIVE_BUFFER_OFST 1686,55799 -#define LAN_HDR_LENGTH_OFST 1687,55833 -#define DLC_HDR_LENGTH_OFST 1688,55867 -#define DSAP_OFST 1690,55902 -#define SSAP_OFST 1691,55936 -#define LLC_OFST 1692,55970 -#define PROTID_OFST 1693,56004 -#define ETHERTYPE_OFST 1694,56038 -static void tr_rx(1696,56073 -#define SADDR_OFST 1764,58409 -#define DADDR_OFST 1765,58430 -#define BUFFER_POINTER_OFST 1821,60333 -#define BUFFER_LENGTH_OFST 1822,60363 -void ibmtr_reset_timer(1867,61619 -void tok_rerun(1878,61918 -void ibmtr_readlog(1899,62497 -static struct net_device_stats *tok_get_stats(1922,63173 -int ibmtr_change_mtu(1932,63446 -static struct net_device *dev_ibmtr[1948,63869 -static int io[1949,63926 -static int irq[1950,63980 -static int mem[1951,64016 -static int __init ibmtr_init(1959,64269 -static void __exit ibmtr_cleanup(1993,64884 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/lanstreamer.h,4929 -#define IOCTL_PRINT_RX_BUFS 67,3612 -#define IOCTL_PRINT_TX_BUFS 68,3657 -#define IOCTL_RX_CMD 69,3704 -#define IOCTL_TX_CMD 70,3751 -#define IOCTL_PRINT_REGISTERS 71,3798 -#define IOCTL_PRINT_BDAS 72,3845 -#define IOCTL_SPIN_LOCK_TEST 73,3892 -#define IOCTL_SISR_MASK 74,3939 -#define MAX_INTR 81,4146 -#define CLS 83,4166 -#define MLR 84,4183 -#define LTR 85,4200 -#define BCTL 87,4218 -#define BCTL_SOFTRESET 88,4236 -#define BCTL_RX_FIFO_8 89,4267 -#define BCTL_TX_FIFO_8 90,4297 -#define GPR 92,4328 -#define GPR_AUTOSENSE 93,4345 -#define GPR_16MBPS 94,4374 -#define LISR 96,4401 -#define LISR_SUM 97,4419 -#define LISR_RUM 98,4441 -#define LISR_LIE 100,4464 -#define LISR_SLIM 101,4489 -#define LISR_SLI 102,4515 -#define LISR_BPEI 103,4540 -#define LISR_BPE 104,4565 -#define LISR_SRB_CMD 105,4589 -#define LISR_ASB_REPLY 106,4617 -#define LISR_ASB_FREE_REQ 107,4647 -#define LISR_ARB_FREE 108,4680 -#define LISR_TRB_FRAME 109,4709 -#define SISR 111,4740 -#define SISR_SUM 112,4758 -#define SISR_RUM 113,4780 -#define SISR_MASK 114,4802 -#define SISR_MASK_SUM 115,4825 -#define SISR_MASK_RUM 116,4852 -#define SISR_MI 118,4880 -#define SISR_SERR_ERR 119,4904 -#define SISR_TIMER 120,4934 -#define SISR_LAP_PAR_ERR 121,4961 -#define SISR_LAP_ACC_ERR 122,4994 -#define SISR_PAR_ERR 123,5026 -#define SISR_ADAPTER_CHECK 124,5054 -#define SISR_SRB_REPLY 125,5088 -#define SISR_ASB_FREE 126,5118 -#define SISR_ARB_CMD 127,5147 -#define SISR_TRB_REPLY 128,5175 -#define MISR_RUM 130,5206 -#define MISR_MASK 131,5228 -#define MISR_MASK_RUM 132,5251 -#define MISR_TX2_IDLE 134,5279 -#define MISR_TX2_NO_STATUS 135,5309 -#define MISR_TX2_HALT 136,5344 -#define MISR_TX2_EOF 137,5374 -#define MISR_TX1_IDLE 138,5403 -#define MISR_TX1_NO_STATUS 139,5433 -#define MISR_TX1_HALT 140,5468 -#define MISR_TX1_EOF 141,5497 -#define MISR_RX_NOBUF 142,5525 -#define MISR_RX_EOB 143,5554 -#define MISR_RX_NO_STATUS 144,5581 -#define MISR_RX_HALT 145,5614 -#define MISR_RX_EOF 146,5642 -#define LAPA 148,5670 -#define LAPE 149,5688 -#define LAPD 150,5706 -#define LAPDINC 151,5724 -#define LAPWWO 152,5745 -#define LAPWWC 153,5765 -#define LAPCTL 154,5785 -#define TIMER 156,5806 -#define BMCTL_SUM 158,5827 -#define BMCTL_RUM 159,5850 -#define BMCTL_TX1_DIS 160,5873 -#define BMCTL_TX2_DIS 161,5903 -#define BMCTL_RX_DIS 162,5933 -#define BMCTL_RX_ENABLED 163,5961 -#define RXLBDA 165,5995 -#define RXBDA 166,6016 -#define RXSTAT 167,6037 -#define RXDBA 168,6058 -#define TX1LFDA 170,6080 -#define TX1FDA 171,6101 -#define TX1STAT 172,6122 -#define TX1DBA 173,6143 -#define TX2LFDA 174,6164 -#define TX2FDA 175,6185 -#define TX2STAT 176,6206 -#define TX2DBA 177,6227 -#define STREAMER_IO_SPACE 179,6249 -#define SRB_COMMAND_SIZE 181,6280 -#define STREAMER_MAX_ADAPTERS 183,6309 -#define LSC_SIG_LOSS 186,6429 -#define LSC_HARD_ERR 187,6457 -#define LSC_SOFT_ERR 188,6485 -#define LSC_TRAN_BCN 189,6513 -#define LSC_LWF 190,6541 -#define LSC_ARW 191,6569 -#define LSC_FPE 192,6597 -#define LSC_RR 193,6625 -#define LSC_CO 194,6653 -#define LSC_SS 195,6681 -#define LSC_RING_REC 196,6709 -#define LSC_SR_CO 197,6737 -#define LSC_FDX_MODE 198,6765 -#define OPEN_ADAPTER_EXT_WRAP 202,6834 -#define OPEN_ADAPTER_DIS_HARDEE 203,6872 -#define OPEN_ADAPTER_DIS_SOFTERR 204,6912 -#define OPEN_ADAPTER_PASS_ADC_MAC 205,6953 -#define OPEN_ADAPTER_PASS_ATT_MAC 206,6995 -#define OPEN_ADAPTER_ENABLE_EC 207,7037 -#define OPEN_ADAPTER_CONTENDER 208,7076 -#define OPEN_ADAPTER_PASS_BEACON 209,7114 -#define OPEN_ADAPTER_ENABLE_FDX 210,7154 -#define OPEN_ADAPTER_ENABLE_RPL 211,7193 -#define OPEN_ADAPTER_INHIBIT_ETR 212,7232 -#define OPEN_ADAPTER_INTERNAL_WRAP 213,7272 -#define SRB_CLOSE_ADAPTER 217,7347 -#define SRB_CONFIGURE_BRIDGE 218,7378 -#define SRB_CONFIGURE_HP_CHANNEL 219,7412 -#define SRB_MODIFY_BRIDGE_PARMS 220,7450 -#define SRB_MODIFY_OPEN_OPTIONS 221,7487 -#define SRB_MODIFY_RECEIVE_OPTIONS 222,7524 -#define SRB_NO_OPERATION 223,7564 -#define SRB_OPEN_ADAPTER 224,7594 -#define SRB_READ_LOG 225,7624 -#define SRB_READ_SR_COUNTERS 226,7650 -#define SRB_RESET_GROUP_ADDRESS 227,7684 -#define SRB_RESET_TARGET_SEGMETN 228,7721 -#define SRB_SAVE_CONFIGURATION 229,7759 -#define SRB_SET_BRIDGE_PARMS 230,7795 -#define SRB_SET_FUNC_ADDRESS 231,7829 -#define SRB_SET_GROUP_ADDRESS 232,7863 -#define SRB_SET_TARGET_SEGMENT 233,7898 -#define STREAMER_CLEAR_RET_CODE 236,7959 -#define ARB_RECEIVE_DATA 239,8016 -#define ARB_LAN_CHANGE_STATUS 240,8046 -#define ASB_RECEIVE_DATA 243,8110 -#define STREAMER_RX_RING_SIZE 248,8179 -#define STREAMER_TX_RING_SIZE 255,8542 -#define PKT_BUF_SZ 257,8604 -struct streamer_tx_desc streamer_tx_desc261,8688 -struct streamer_rx_desc streamer_rx_desc272,8845 -struct mac_receive_buffer mac_receive_buffer279,8945 -struct streamer_private streamer_private287,9065 -struct streamer_adapter_addr_table streamer_adapter_addr_table327,10123 -struct streamer_parameters_table streamer_parameters_table334,10224 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/smctr_firmware.h,33 -unsigned char smctr_code[24,696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/smctr.c,6814 -static char version[66,1803 -static char version[] __initdata 66,1803 -static const char cardname[67,1896 -#define SMCTR_IO_EXTENT 70,1938 -static unsigned int smctr_posid 73,1993 -static int ringspeed;76,2043 -static char smctr_name[79,2097 -char *smctr_model 80,2141 -#define SMCTR_DEBUG 86,2288 -static unsigned int smctr_debug 88,2317 -#define TO_256_BYTE_BOUNDRY(TO_256_BYTE_BOUNDRY298,12104 -#define TO_PARAGRAPH_BOUNDRY(TO_PARAGRAPH_BOUNDRY299,12164 -#define PARAGRAPH_BOUNDRY(PARAGRAPH_BOUNDRY300,12224 -static int smctr_alloc_shared_memory(328,13078 -static int smctr_bypass_state(443,17963 -static int smctr_checksum_firmware(455,18240 -static int __init smctr_chk_mca(480,18911 -static int smctr_chg_rx_mask(632,22249 -static int smctr_clear_int(695,24148 -static int smctr_clear_trc_reset(704,24341 -static int smctr_close(717,24549 -static int smctr_decode_firmware(753,25341 -static int smctr_disable_16bit(813,27190 -static int smctr_disable_adapter_ctrl_store(824,27443 -static int smctr_disable_bic_int(838,27818 -static int smctr_enable_16bit(850,28115 -static int smctr_enable_adapter_ctrl_store(870,28631 -static int smctr_enable_adapter_ram(887,29082 -static int smctr_enable_bic_int(901,29405 -static int __init smctr_chk_isa(927,30234 -static int __init smctr_get_boardid(1156,36701 -static int smctr_get_group_address(1256,39263 -static int smctr_get_functional_address(1263,39431 -static unsigned int smctr_get_num_rx_bdbs(1274,39779 -static int smctr_get_physical_drop_number(1352,42692 -static __u8 * smctr_get_rx_pointer(1359,42866 -static int smctr_get_station_id(1372,43223 -static struct net_device_stats *smctr_get_stats(1383,43479 -static FCBlock *smctr_get_tx_fcb(1390,43664 -static int smctr_get_upstream_neighbor_addr(1454,45956 -static int smctr_hardware_send_packet(1461,46137 -static int smctr_init_acbs(1514,47662 -static int smctr_init_adapter(1558,49260 -static int smctr_init_card_real(1641,51803 -static int smctr_init_rx_bdbs(1717,54530 -static int smctr_init_rx_fcbs(1769,56621 -static int smctr_init_shared_memory(1819,58565 -static int smctr_init_tx_bdbs(1877,60599 -static int smctr_init_tx_fcbs(1907,61723 -static int smctr_internal_self_test(1946,63274 -static irqreturn_t smctr_interrupt(1984,64219 -static int smctr_issue_enable_int_cmd(2471,89151 -static int smctr_issue_int_ack(2488,89613 -static int smctr_issue_init_timers_cmd(2504,90159 -static int smctr_issue_init_txrx_cmd(2661,96310 -static int smctr_issue_insert_cmd(2708,97811 -static int smctr_issue_read_ring_status_cmd(2717,97991 -static int smctr_issue_read_word_cmd(2733,98367 -static int smctr_issue_remove_cmd(2749,98742 -static int smctr_issue_resume_acb_cmd(2765,99129 -static int smctr_issue_resume_rx_bdb_cmd(2783,99564 -static int smctr_issue_resume_rx_fcb_cmd(2803,100115 -static int smctr_issue_resume_tx_fcb_cmd(2825,100755 -static int smctr_issue_test_internal_rom_cmd(2843,101277 -static int smctr_issue_test_hic_cmd(2853,101492 -static int smctr_issue_test_mac_reg_cmd(2863,101704 -static int smctr_issue_trc_loopback_cmd(2873,101915 -static int smctr_issue_tri_loopback_cmd(2883,102125 -static int smctr_issue_write_byte_cmd(2893,102330 -static int smctr_issue_write_word_cmd(2917,103005 -static int smctr_join_complete_state(2938,103591 -static int smctr_link_tx_fcbs_to_bdbs(2948,103808 -static int smctr_load_firmware(2972,104529 -static int smctr_load_node_addr(3039,106897 -static int smctr_lobe_media_test(3072,108051 -static int smctr_lobe_media_test_cmd(3147,110435 -static int smctr_lobe_media_test_state(3172,111174 -static int smctr_make_8025_hdr(3182,111389 -static int smctr_make_access_pri(3231,113051 -static int smctr_make_addr_mod(3244,113413 -static int smctr_make_auth_funct_class(3255,113640 -static int smctr_make_corr(3269,114023 -static int smctr_make_funct_addr(3281,114290 -static int smctr_make_group_addr(3299,114782 -static int smctr_make_phy_drop_num(3324,115545 -static int smctr_make_product_id(3343,116039 -static int smctr_make_station_id(3356,116310 -static int smctr_make_ring_station_status(3377,116899 -static int smctr_make_ring_station_version(3393,117254 -static int smctr_make_tx_status_code(3419,118206 -static int smctr_make_upstream_neighbor_addr(3433,118600 -static int smctr_make_wrap_data(3455,119237 -static int smctr_open(3471,119716 -static int smctr_open_tr(3486,120036 -struct net_device __init *smctr_probe(3582,123348 -static int __init smctr_probe1(3634,124481 -static int smctr_process_rx_packet(3696,126247 -static int smctr_ram_memory_test(3918,135459 -static int smctr_rcv_chg_param(3992,138249 -static int smctr_rcv_init(4077,141376 -static int smctr_rcv_tx_forward(4152,143979 -static int smctr_rcv_rq_addr_state_attch(4212,145903 -static int smctr_rcv_unknown(4269,147731 -static int smctr_reset_adapter(4311,148861 -static int smctr_restart_tx_chain(4330,149487 -static int smctr_ring_status_chg(4348,150018 -static int smctr_rx_frame(4450,153811 -static int smctr_send_dat(4517,156108 -static void smctr_timeout(4580,157982 -static int smctr_send_packet(4597,158523 -static int smctr_send_lobe_media_test(4622,159153 -static int smctr_send_rpt_addr(4694,161377 -static int smctr_send_rpt_attch(4752,163207 -static int smctr_send_rpt_state(4806,164904 -static int smctr_send_rpt_tx_forward(4856,166456 -static int smctr_send_rsp(4892,167557 -static int smctr_send_rq_init(4918,168276 -static int smctr_send_tx_forward(5001,171177 -static int smctr_set_auth_access_pri(5065,173090 -static int smctr_set_auth_funct_class(5078,173448 -static int smctr_set_corr(5091,173807 -static int smctr_set_error_timer_value(5102,174088 -static int smctr_set_frame_forward(5121,174540 -static int smctr_set_local_ring_num(5139,175077 -static unsigned short smctr_set_ctrl_attention(5154,175476 -static void smctr_set_multicast_list(5170,175906 -static int smctr_set_page(5178,176098 -static int smctr_set_phy_drop(5191,176420 -static int smctr_set_ring_speed(5208,176924 -static int smctr_set_rx_look_ahead(5236,177592 -static int smctr_set_trc_reset(5265,178439 -static int smctr_setup_single_cmd(5278,178666 -static int smctr_setup_single_cmd_w_data(5305,179404 -static char *smctr_malloc(5319,179882 -static int smctr_status_chg(5330,180133 -static int smctr_trc_send_packet(5365,181202 -static __u16 smctr_tx_complete(5387,181871 -static unsigned short smctr_tx_move_frame(5441,183685 -static int smctr_update_err_stats(5483,184870 -static int smctr_update_rx_chain(5525,186278 -static int smctr_update_tx_chain(5562,187415 -static int smctr_wait_cmd(5599,188722 -static int smctr_wait_while_cbusy(5624,189341 -static struct net_device* dev_smctr[5660,190234 -static int io[5661,190291 -static int irq[5662,190326 -static struct net_device *setup_card(5670,190544 -int init_module(5702,191122 -void cleanup_module(5718,191407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/madgemc.h,1499 -#define __LINUX_MADGEMC_H9,135 -#define MADGEMC16_CARDNAME 13,181 -#define MADGEMC32_CARDNAME 14,241 -#define MC16_POS0_ADDR1 19,358 -#define MC16_POS2_ADDR2 20,387 -#define MC16_POS3_ADDR3 21,416 -#define MC_CONTROL_REG0 23,446 -#define MC_CONTROL_REG1 24,493 -#define MC_ADAPTER_POS_REG0 25,540 -#define MC_ADAPTER_POS_REG1 26,590 -#define MC_ADAPTER_POS_REG2 27,640 -#define MC_ADAPTER_REG5_UNUSED 28,690 -#define MC_ADAPTER_REG6_UNUSED 29,743 -#define MC_CONTROL_REG7 30,796 -#define MC_CONTROL_REG0_UNKNOWN1 32,844 -#define MC_CONTROL_REG0_UNKNOWN2 33,882 -#define MC_CONTROL_REG0_SIFSEL 34,920 -#define MC_CONTROL_REG0_PAGE 35,957 -#define MC_CONTROL_REG0_TESTINTERRUPT 36,992 -#define MC_CONTROL_REG0_UNKNOWN20 37,1035 -#define MC_CONTROL_REG0_SINTR 38,1074 -#define MC_CONTROL_REG0_UNKNOWN80 39,1110 -#define MC_CONTROL_REG1_SINTEN 41,1150 -#define MC_CONTROL_REG1_BITOFDEATH 42,1187 -#define MC_CONTROL_REG1_NSRESET 43,1227 -#define MC_CONTROL_REG1_UNKNOWN8 44,1265 -#define MC_CONTROL_REG1_UNKNOWN10 45,1303 -#define MC_CONTROL_REG1_UNKNOWN20 46,1342 -#define MC_CONTROL_REG1_SRSX 47,1381 -#define MC_CONTROL_REG1_SPEED_SEL 48,1416 -#define MC_CONTROL_REG7_CABLESTP 50,1456 -#define MC_CONTROL_REG7_CABLEUTP 51,1494 -#define MC_ROM_MANUFACTURERID 56,1557 -#define MC_ROM_ADAPTERID 57,1593 -#define MC_ROM_REVISION 58,1624 -#define MC_ROM_CONFIG0 59,1655 -#define MC_ROM_CONFIG1 60,1685 -#define MC_ROM_CONFIG2 61,1715 -#define MC_ROM_UNUSED_BYTE 66,1769 -#define MC_ROM_BIA_START 67,1802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/skisa.c,941 -static const char version[30,978 -#define SK_ISA_IO_EXTENT 48,1373 -static unsigned int portlist[51,1462 -static unsigned int portlist[] __initdata 51,1462 -static const unsigned short irqlist[59,1718 -static int dmalist[65,1844 -static int dmalist[] __initdata 65,1844 -static char isa_cardname[70,1897 -static unsigned short sk_isa_sifreadb(77,2169 -static unsigned short sk_isa_sifreadw(82,2291 -static void sk_isa_sifwriteb(87,2413 -static void sk_isa_sifwritew(92,2545 -static int __init sk_isa_probe1(98,2678 -static int __init setup_card(136,3499 -struct net_device * __init sk_isa_probe(282,6522 -static void sk_isa_read_eeprom(314,7218 -unsigned short sk_isa_setnselout_pins(328,7525 -static int sk_isa_open(333,7603 -#define ISATR_MAX_ADAPTERS 366,8188 -static int io[368,8218 -static int irq[369,8253 -static int dma[370,8289 -static struct net_device *sk_isa_dev[378,8542 -int init_module(380,8601 -void cleanup_module(412,9165 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/abyss.h,858 -#define __LINUX_MADGETR_H9,131 -#define PCIBM2_INT_STATUS_REG 18,370 -#define PCIBM2_INT_CONTROL_REG 19,432 -#define PCIBM2_RESET_REG 20,494 -#define PCIBM2_SEEPROM_REG 21,556 -#define PCIBM2_INT_CONTROL_REG_SINTEN 23,619 -#define PCIBM2_INT_CONTROL_REG_PCI_ERR_ENABLE 24,672 -#define PCIBM2_INT_STATUS_REG_PCI_ERR 25,725 -#define PCIBM2_RESET_REG_CHIP_NRES 27,779 -#define PCIBM2_RESET_REG_FIFO_NRES 28,832 -#define PCIBM2_RESET_REG_SIF_NRES 29,885 -#define PCIBM2_FIFO_THRESHOLD 31,939 -#define PCIBM2_BURST_LENGTH 32,976 -#define AT24_ENABLE 37,1052 -#define AT24_DATA 38,1089 -#define AT24_CLOCK 39,1126 -#define AT24_WRITE 44,1189 -#define AT24_READ 45,1226 -#define PCIBM2_SEEPROM_BIA 50,1301 -#define PCIBM2_SEEPROM_RING_SPEED 51,1342 -#define PCIBM2_SEEPROM_RAM_SIZE 52,1383 -#define PCIBM2_SEEPROM_HWF1 53,1424 -#define PCIBM2_SEEPROM_HWF2 54,1465 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tokenring/3c359_microcode.h,48 -static int mc_size 23,713 -u8 microcode[25,744 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk_mca.h,3268 -#define _SK_MCA_INCLUDE_4,53 -#define SKMCA_READB(SKMCA_READB10,149 -#define SKMCA_READW(SKMCA_READW11,191 -#define SKMCA_WRITEB(SKMCA_WRITEB12,233 -#define SKMCA_WRITEW(SKMCA_WRITEW13,289 -#define SKMCA_TOIO(SKMCA_TOIO14,345 -#define SKMCA_FROMIO(SKMCA_FROMIO15,412 -#define SKMCA_SETIO(SKMCA_SETIO16,483 -#define SKNET_MCA_ID 19,569 -#define SKNET_JUNIOR_MCA_ID 20,597 -typedef enum { Media_10Base2,25,726 -typedef enum { Media_10Base2, Media_10BaseT,25,726 - Media_10Base5,26,771 - Media_10Base5, Media_Unknown,26,771 - Media_10Base5, Media_Unknown, Media_Count26,771 -} skmca_medium;skmca_medium27,814 -} skmca_priv;skmca_priv47,1717 -#define CTRL_ADR_DATA 51,1784 -#define CTRL_ADR_RAP 52,1853 -#define CTRL_RW_WRITE 53,1922 -#define CTRL_RW_READ 54,1991 -#define CTRL_RESET_ON 55,2060 -#define CTRL_RESET_OFF 56,2129 -#define STAT_ADR_DATA 58,2199 -#define STAT_ADR_RAP 59,2268 -#define STAT_RW_WRITE 60,2297 -#define STAT_RW_READ 61,2366 -#define STAT_RESET_ON 62,2395 -#define STAT_RESET_OFF 63,2464 -#define STAT_IRQ_ACT 64,2493 -#define STAT_IRQ_NOACT 65,2562 -#define STAT_IO_NOBUSY 66,2632 -#define STAT_IO_BUSY 67,2701 -#define IOCMD_GO 71,2805 -#define LANCE_CSR0 75,2900 -#define CSR0_ERR 77,2970 -#define CSR0_BABL 78,3044 -#define CSR0_CERR 79,3118 -#define CSR0_MISS 80,3192 -#define CSR0_MERR 81,3266 -#define CSR0_RINT 82,3340 -#define CSR0_TINT 83,3414 -#define CSR0_IDON 84,3488 -#define CSR0_INTR 85,3562 -#define CSR0_INEA 86,3636 -#define CSR0_RXON 87,3710 -#define CSR0_TXON 88,3784 -#define CSR0_TDMD 89,3858 -#define CSR0_STOP 90,3932 -#define CSR0_STRT 91,4006 -#define CSR0_INIT 92,4080 -#define LANCE_CSR1 94,4155 -#define LANCE_CSR2 95,4224 -#define LANCE_CSR3 97,4294 -#define CSR3_BCON_HOLD 98,4363 -#define CSR3_BCON_BUSRQ 99,4432 -#define CSR3_ALE_HIGH 100,4501 -#define CSR3_ALE_LOW 101,4570 -#define CSR3_BSWAP_OFF 102,4639 -#define CSR3_BSWAP_ON 103,4708 -} LANCE_InitBlock;LANCE_InitBlock113,5125 -#define LANCE_INIT_PROM 117,5174 -#define LANCE_INIT_INTL 118,5248 -#define LANCE_INIT_DRTY 119,5322 -#define LANCE_INIT_COLL 120,5396 -#define LANCE_INIT_DTCR 121,5470 -#define LANCE_INIT_LOOP 122,5544 -#define LANCE_INIT_DTX 123,5618 -#define LANCE_INIT_DRX 124,5692 -} LANCE_TxDescr;LANCE_TxDescr131,6038 -#define TXDSCR_FLAGS_OWN 133,6056 -#define TXDSCR_FLAGS_ERR 134,6130 -#define TXDSCR_FLAGS_MORE 135,6204 -#define TXDSCR_FLAGS_ONE 136,6278 -#define TXDSCR_FLAGS_DEF 137,6352 -#define TXDSCR_FLAGS_STP 138,6426 -#define TXDSCR_FLAGS_ENP 139,6500 -#define TXDSCR_STATUS_BUFF 141,6575 -#define TXDSCR_STATUS_UFLO 142,6649 -#define TXDSCR_STATUS_LCOL 143,6723 -#define TXDSCR_STATUS_LCAR 144,6797 -#define TXDSCR_STATUS_RTRY 145,6871 -} LANCE_RxDescr;LANCE_RxDescr152,7217 -#define RXDSCR_FLAGS_OWN 154,7235 -#define RXDSCR_FLAGS_ERR 155,7309 -#define RXDSCR_FLAGS_FRAM 156,7383 -#define RXDSCR_FLAGS_OFLO 157,7457 -#define RXDSCR_FLAGS_CRC 158,7531 -#define RXDSCR_FLAGS_BUFF 159,7605 -#define RXDSCR_FLAGS_STP 160,7679 -#define RXDCSR_FLAGS_ENP 161,7753 -#define TXCOUNT 165,7846 -#define LTXCOUNT 166,7915 -#define RXCOUNT 167,7984 -#define LRXCOUNT 168,8053 -#define RAM_INITBASE 170,8123 -#define RAM_TXBASE 171,8192 -#define RAM_RXBASE 172,8262 -#define RAM_DATABASE 174,8360 -#define RAM_BUFSIZE 176,8458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/iseries_veth.c,2905 -#define VETH_NUMBUFFERS 88,3285 -#define VETH_ACKTIMEOUT 89,3316 -#define VETH_MAX_MCAST 90,3370 -#define VETH_MAX_MTU 92,3400 -#define ACK_THRESHOLD 95,3455 -#define ACK_THRESHOLD 97,3510 -#define ACK_THRESHOLD 99,3565 -#define ACK_THRESHOLD 101,3600 -#define VETH_STATE_SHUTDOWN 104,3637 -#define VETH_STATE_OPEN 105,3674 -#define VETH_STATE_RESET 106,3708 -#define VETH_STATE_SENTMON 107,3742 -#define VETH_STATE_SENTCAPS 108,3778 -#define VETH_STATE_GOTCAPACK 109,3815 -#define VETH_STATE_GOTCAPS 110,3853 -#define VETH_STATE_SENTCAPACK 111,3889 -#define VETH_STATE_READY 112,3928 -struct veth_msg veth_msg114,3963 -struct veth_lpar_connection veth_lpar_connection123,4116 -struct veth_port veth_port148,4653 -static HvLpIndex this_lp;165,4961 -static struct veth_lpar_connection *veth_cnx[166,4987 -static struct net_device *veth_dev[167,5064 -#define veth_printk(veth_printk179,5525 -#define veth_error(veth_error182,5612 -static inline void veth_stack_push(185,5721 -static inline struct veth_msg *veth_stack_pop(196,6012 -veth_signalevent(210,6375 -static inline HvLpEvent_Rc veth_signaldata(224,6811 -struct veth_allocation veth_allocation234,7103 -static void veth_complete_allocation(239,7164 -static int veth_allocate_events(247,7331 -static inline void veth_kick_statemachine(263,7676 -static void veth_take_cap(268,7796 -static void veth_take_cap_ack(293,8600 -static void veth_take_monitor_ack(311,9100 -static void veth_handle_ack(324,9461 -static void veth_handle_int(344,9920 -static void veth_handle_event(381,10880 -static int veth_process_caps(391,11205 -static void veth_statemachine(433,12347 -static int veth_init_connection(590,16778 -static void veth_destroy_connection(645,18189 -static int veth_open(683,19051 -static int veth_close(692,19244 -static struct net_device_stats *veth_get_stats(698,19330 -static int veth_change_mtu(705,19487 -static void veth_set_multicast_list(713,19655 -static int veth_ioctl(750,20554 -static void veth_tx_timeout(804,21942 -static struct net_device * __init veth_probe_one(846,23164 -static int veth_transmit_to_one(918,24774 -static HvLpIndexMap veth_transmit_to_many(986,26324 -static int veth_start_xmit(1011,26808 -static void veth_recycle_msg(1057,27744 -static void veth_flush_pending(1082,28345 -static inline int veth_frame_wanted(1118,29112 -struct dma_chunk dma_chunk1150,29690 -#define VETH_MAX_PAGES_PER_FRAME 1155,29735 -static inline void veth_build_dma_list(1157,29814 -static void veth_flush_acks(1181,30548 -static void veth_receive(1196,30933 -static void veth_timed_ack(1318,34354 -static int veth_remove(1334,34778 -static int veth_probe(1348,35005 -static struct vio_device_id veth_device_table[1373,35535 -static struct vio_device_id veth_device_table[] __devinitdata 1373,35535 -static struct vio_driver veth_driver 1379,35683 -void __exit veth_module_cleanup(1390,35871 -int __init veth_module_init(1403,36127 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/atarilance.c,3650 -static char version[45,1935 -#define LANCE_DEBUG 74,2667 -static int lance_debug 77,2709 -static int lance_debug 79,2753 -#define DPRINTK(DPRINTK88,2971 -# define PROBE_PRINT(PROBE_PRINT95,3108 -# define PROBE_PRINT(PROBE_PRINT97,3147 -#define TX_LOG_RING_SIZE 107,3473 -#define RX_LOG_RING_SIZE 108,3502 -#define TX_RING_SIZE 112,3568 -#define TX_RING_LEN_BITS 113,3615 -#define TX_RING_MOD_MASK 114,3665 -#define RX_RING_SIZE 116,3711 -#define RX_RING_LEN_BITS 117,3758 -#define RX_RING_MOD_MASK 118,3808 -#define TX_TIMEOUT 120,3854 -struct lance_rx_head lance_rx_head123,3921 -struct lance_tx_head lance_tx_head131,4215 -struct ringdesc ringdesc139,4464 -struct lance_init_block lance_init_block146,4702 -struct lance_memory lance_memory156,5052 -#define RIEBL_RSVD_START 173,5746 -#define RIEBL_RSVD_END 174,5778 -#define RIEBL_MAGIC 175,5809 -#define RIEBL_MAGIC_ADDR 176,5842 -#define RIEBL_HWADDR_ADDR 177,5911 -#define RIEBL_IVEC_ADDR 178,5981 -static unsigned char OldRieblDefHwaddr[185,6255 -struct lance_ioreg lance_ioreg192,6381 -enum lance_type lance_type205,6766 - OLD_RIEBL,206,6784 - NEW_RIEBL,207,6834 - PAM_CARD 208,6881 -static char *lance_names[211,6923 -struct lance_private lance_private219,7085 -#define MEM 235,7522 -#define DREG 236,7543 -#define AREG 237,7565 -#define REGA(REGA238,7587 -#define PKT_BUF_SZ 241,7669 -#define PKTBUF_ADDR(PKTBUF_ADDR243,7772 -struct lance_addr lance_addr247,7889 -} lance_addr_list[251,7975 -#define N_LANCE_ADDR 266,8606 -#define TMD1_ENP 272,8733 -#define TMD1_STP 273,8776 -#define TMD1_DEF 274,8821 -#define TMD1_ONE 275,8859 -#define TMD1_MORE 276,8905 -#define TMD1_ERR 277,8962 -#define TMD1_OWN 278,9005 -#define TMD1_OWN_CHIP 280,9063 -#define TMD1_OWN_HOST 281,9094 -#define TMD3_TDR 284,9144 -#define TMD3_RTRY 285,9209 -#define TMD3_LCAR 286,9265 -#define TMD3_LCOL 287,9310 -#define TMD3_UFLO 288,9357 -#define TMD3_BUFF 289,9413 -#define RMD1_ENP 292,9491 -#define RMD1_STP 293,9534 -#define RMD1_BUFF 294,9579 -#define RMD1_CRC 295,9622 -#define RMD1_OFLO 296,9661 -#define RMD1_FRAM 297,9700 -#define RMD1_ERR 298,9744 -#define RMD1_OWN 299,9787 -#define RMD1_OWN_CHIP 301,9845 -#define RMD1_OWN_HOST 302,9876 -#define CSR0 305,9922 -#define CSR1 306,9956 -#define CSR2 307,10000 -#define CSR3 308,10045 -#define CSR8 309,10072 -#define CSR15 310,10111 -#define CSR0_INIT 314,10230 -#define CSR0_STRT 315,10278 -#define CSR0_STOP 316,10321 -#define CSR0_TDMD 317,10363 -#define CSR0_TXON 318,10416 -#define CSR0_RXON 319,10467 -#define CSR0_INEA 320,10515 -#define CSR0_INTR 321,10569 -#define CSR0_IDON 322,10622 -#define CSR0_TINT 323,10679 -#define CSR0_RINT 324,10738 -#define CSR0_MERR 325,10794 -#define CSR0_MISS 326,10844 -#define CSR0_CERR 327,10894 -#define CSR0_BABL 328,10963 -#define CSR0_ERR 329,11028 -#define CSR3_BCON 332,11082 -#define CSR3_ACON 333,11127 -#define CSR3_BSWP 334,11171 -static void *slow_memcpy(361,12236 -struct net_device * __init atarilance_probe(374,12426 -static int __init addr_accessible(412,13254 -static unsigned long __init lance_probe1(461,14147 -static int lance_open(654,19842 -static void lance_init_ring(695,20782 -#define CHECK_OFFSET(CHECK_OFFSET709,21161 -static void lance_tx_timeout 743,22066 -static int lance_start_xmit(786,23433 -static irqreturn_t lance_interrupt(870,25703 -static int lance_rx(982,28841 -static int lance_close(1076,31863 -static struct net_device_stats *lance_get_stats(1096,32266 -static void set_multicast_list(1111,32702 -static int lance_set_mac_address(1153,33966 -static struct net_device *atarilance_dev;1181,34735 -int init_module(1183,34778 -void cleanup_module(1191,34919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/b44.h,11322 -#define _B44_H2,15 -#define B44_DEVCTRL 5,109 -#define DEVCTRL_MPM 6,159 -#define DEVCTRL_PFE 7,232 -#define DEVCTRL_IPP 8,296 -#define DEVCTRL_EPR 9,357 -#define DEVCTRL_PME 10,407 -#define DEVCTRL_PMCE 11,462 -#define DEVCTRL_PADDR 12,525 -#define DEVCTRL_PADDR_SHIFT 13,578 -#define B44_BIST_STAT 14,610 -#define B44_WKUP_LEN 15,673 -#define WKUP_LEN_P0_MASK 16,723 -#define WKUP_LEN_D0 17,776 -#define WKUP_LEN_P1_MASK 18,809 -#define WKUP_LEN_P1_SHIFT 19,862 -#define WKUP_LEN_D1 20,891 -#define WKUP_LEN_P2_MASK 21,924 -#define WKUP_LEN_P2_SHIFT 22,977 -#define WKUP_LEN_D2 23,1007 -#define WKUP_LEN_P3_MASK 24,1040 -#define WKUP_LEN_P3_SHIFT 25,1093 -#define WKUP_LEN_D3 26,1123 -#define B44_ISTAT 27,1156 -#define ISTAT_LS 28,1206 -#define ISTAT_PME 29,1264 -#define ISTAT_TO 30,1324 -#define ISTAT_DSCE 31,1384 -#define ISTAT_DATAE 32,1439 -#define ISTAT_DPE 33,1489 -#define ISTAT_RDU 34,1548 -#define ISTAT_RFO 35,1610 -#define ISTAT_TFU 36,1669 -#define ISTAT_RX 37,1730 -#define ISTAT_TX 38,1779 -#define ISTAT_EMAC 39,1828 -#define ISTAT_MII_WRITE 40,1881 -#define ISTAT_MII_READ 41,1943 -#define ISTAT_ERRORS 42,2004 -#define B44_IMASK 43,2091 -#define IMASK_DEF 44,2139 -#define B44_GPTIMER 45,2207 -#define B44_ADDR_LO 46,2264 -#define B44_ADDR_HI 47,2325 -#define B44_FILT_ADDR 48,2386 -#define B44_FILT_DATA 49,2443 -#define B44_TXBURST 50,2497 -#define B44_RXBURST 51,2552 -#define B44_MAC_CTRL 52,2607 -#define MAC_CTRL_CRC32_ENAB 53,2655 -#define MAC_CTRL_PHY_PDOWN 54,2725 -#define MAC_CTRL_PHY_EDET 55,2792 -#define MAC_CTRL_PHY_LEDCTRL 56,2864 -#define MAC_CTRL_PHY_LEDCTRL_SHIFT 57,2935 -#define B44_MAC_FLOW 58,2973 -#define MAC_FLOW_RX_HI_WATER 59,3026 -#define MAC_FLOW_PAUSE_ENAB 60,3100 -#define B44_RCV_LAZY 61,3176 -#define RCV_LAZY_TO_MASK 62,3235 -#define RCV_LAZY_FC_MASK 63,3286 -#define RCV_LAZY_FC_SHIFT 64,3341 -#define B44_DMATX_CTRL 65,3371 -#define DMATX_CTRL_ENABLE 66,3424 -#define DMATX_CTRL_SUSPEND 67,3475 -#define DMATX_CTRL_LPBACK 68,3536 -#define DMATX_CTRL_FAIRPRIOR 69,3596 -#define DMATX_CTRL_FLUSH 70,3657 -#define B44_DMATX_ADDR 71,3714 -#define B44_DMATX_PTR 72,3783 -#define B44_DMATX_STAT 73,3850 -#define DMATX_STAT_CDMASK 74,3925 -#define DMATX_STAT_SMASK 75,3993 -#define DMATX_STAT_SDISABLED 76,4047 -#define DMATX_STAT_SACTIVE 77,4109 -#define DMATX_STAT_SIDLE 78,4167 -#define DMATX_STAT_SSTOPPED 79,4226 -#define DMATX_STAT_SSUSP 80,4286 -#define DMATX_STAT_EMASK 81,4351 -#define DMATX_STAT_ENONE 82,4405 -#define DMATX_STAT_EDPE 83,4459 -#define DMATX_STAT_EDFU 84,4528 -#define DMATX_STAT_EBEBR 85,4595 -#define DMATX_STAT_EBEDA 86,4669 -#define DMATX_STAT_FLUSHED 87,4744 -#define B44_DMARX_CTRL 88,4797 -#define DMARX_CTRL_ENABLE 89,4850 -#define DMARX_CTRL_ROMASK 90,4901 -#define DMARX_CTRL_ROSHIFT 91,4965 -#define B44_DMARX_ADDR 92,5026 -#define B44_DMARX_PTR 93,5095 -#define B44_DMARX_STAT 94,5162 -#define DMARX_STAT_CDMASK 95,5237 -#define DMARX_STAT_SMASK 96,5305 -#define DMARX_STAT_SDISABLED 97,5359 -#define DMARX_STAT_SACTIVE 98,5421 -#define DMARX_STAT_SIDLE 99,5479 -#define DMARX_STAT_SSTOPPED 100,5538 -#define DMARX_STAT_EMASK 101,5598 -#define DMARX_STAT_ENONE 102,5652 -#define DMARX_STAT_EDPE 103,5706 -#define DMARX_STAT_EDFO 104,5775 -#define DMARX_STAT_EBEBW 105,5842 -#define DMARX_STAT_EBEDA 106,5917 -#define B44_DMAFIFO_AD 107,5992 -#define DMAFIFO_AD_OMASK 108,6052 -#define DMAFIFO_AD_SMASK 109,6107 -#define DMAFIFO_AD_SXDD 110,6162 -#define DMAFIFO_AD_SXDP 111,6229 -#define DMAFIFO_AD_SRDD 112,6300 -#define DMAFIFO_AD_SRDP 113,6366 -#define DMAFIFO_AD_SXFD 114,6436 -#define DMAFIFO_AD_SXFP 115,6504 -#define DMAFIFO_AD_SRFD 116,6576 -#define DMAFIFO_AD_SRFP 117,6643 -#define B44_DMAFIFO_LO 118,6714 -#define B44_DMAFIFO_HI 119,6775 -#define B44_RXCONFIG 120,6837 -#define RXCONFIG_DBCAST 121,6888 -#define RXCONFIG_ALLMULTI 122,6948 -#define RXCONFIG_NORX_WHILE_TX 123,7013 -#define RXCONFIG_PROMISC 124,7097 -#define RXCONFIG_LPBACK 125,7159 -#define RXCONFIG_FLOW 126,7217 -#define RXCONFIG_FLOW_ACCEPT 127,7278 -#define RXCONFIG_RFILT 128,7359 -#define B44_RXMAXLEN 129,7415 -#define B44_TXMAXLEN 130,7477 -#define B44_MDIO_CTRL 131,7539 -#define MDIO_CTRL_MAXF_MASK 132,7594 -#define MDIO_CTRL_PREAMBLE 133,7654 -#define B44_MDIO_DATA 134,7719 -#define MDIO_DATA_DATA 135,7771 -#define MDIO_DATA_TA_MASK 136,7822 -#define MDIO_DATA_TA_SHIFT 137,7883 -#define MDIO_TA_VALID 138,7914 -#define MDIO_DATA_RA_MASK 139,7940 -#define MDIO_DATA_RA_SHIFT 140,8001 -#define MDIO_DATA_PMD_MASK 141,8032 -#define MDIO_DATA_PMD_SHIFT 142,8099 -#define MDIO_DATA_OP_MASK 143,8131 -#define MDIO_DATA_OP_SHIFT 144,8182 -#define MDIO_OP_WRITE 145,8213 -#define MDIO_OP_READ 146,8239 -#define MDIO_DATA_SB_MASK 147,8264 -#define MDIO_DATA_SB_SHIFT 148,8319 -#define MDIO_DATA_SB_START 149,8350 -#define B44_EMAC_IMASK 150,8410 -#define B44_EMAC_ISTAT 151,8468 -#define EMAC_INT_MII 152,8528 -#define EMAC_INT_MIB 153,8587 -#define EMAC_INT_FLOW 154,8641 -#define B44_CAM_DATA_LO 155,8705 -#define B44_CAM_DATA_HI 156,8762 -#define CAM_DATA_HI_VALID 157,8820 -#define B44_CAM_CTRL 158,8874 -#define CAM_CTRL_ENABLE 159,8927 -#define CAM_CTRL_MSEL 160,8980 -#define CAM_CTRL_READ 161,9033 -#define CAM_CTRL_WRITE 162,9079 -#define CAM_CTRL_INDEX_MASK 163,9126 -#define CAM_CTRL_INDEX_SHIFT 164,9183 -#define CAM_CTRL_BUSY 165,9216 -#define B44_ENET_CTRL 166,9266 -#define ENET_CTRL_ENABLE 167,9321 -#define ENET_CTRL_DISABLE 168,9376 -#define ENET_CTRL_SRST 169,9433 -#define ENET_CTRL_EPSEL 170,9491 -#define B44_TX_CTRL 171,9553 -#define TX_CTRL_DUPLEX 172,9604 -#define TX_CTRL_FMODE 173,9658 -#define TX_CTRL_SBENAB 174,9709 -#define TX_CTRL_SMALL_SLOT 175,9773 -#define B44_TX_WMARK 176,9833 -#define B44_MIB_CTRL 177,9887 -#define MIB_CTRL_CLR_ON_READ 178,9940 -#define B44_TX_GOOD_O 179,10005 -#define B44_TX_GOOD_P 180,10061 -#define B44_TX_O 181,10118 -#define B44_TX_P 182,10164 -#define B44_TX_BCAST 183,10211 -#define B44_TX_MCAST 184,10272 -#define B44_TX_64 185,10333 -#define B44_TX_65_127 186,10392 -#define B44_TX_128_255 187,10459 -#define B44_TX_256_511 188,10528 -#define B44_TX_512_1023 189,10597 -#define B44_TX_1024_MAX 190,10668 -#define B44_TX_JABBER 191,10739 -#define B44_TX_OSIZE 192,10798 -#define B44_TX_FRAG 193,10858 -#define B44_TX_URUNS 194,10917 -#define B44_TX_TCOLS 195,10970 -#define B44_TX_SCOLS 196,11030 -#define B44_TX_MCOLS 197,11091 -#define B44_TX_ECOLS 198,11154 -#define B44_TX_LCOLS 199,11218 -#define B44_TX_DEFERED 200,11277 -#define B44_TX_CLOST 201,11338 -#define B44_TX_PAUSE 202,11394 -#define B44_RX_GOOD_O 203,11451 -#define B44_RX_GOOD_P 204,11507 -#define B44_RX_O 205,11564 -#define B44_RX_P 206,11610 -#define B44_RX_BCAST 207,11657 -#define B44_RX_MCAST 208,11718 -#define B44_RX_64 209,11779 -#define B44_RX_65_127 210,11838 -#define B44_RX_128_255 211,11905 -#define B44_RX_256_511 212,11974 -#define B44_RX_512_1023 213,12043 -#define B44_RX_1024_MAX 214,12114 -#define B44_RX_JABBER 215,12185 -#define B44_RX_OSIZE 216,12244 -#define B44_RX_FRAG 217,12304 -#define B44_RX_MISS 218,12363 -#define B44_RX_CRCA 219,12420 -#define B44_RX_USIZE 220,12479 -#define B44_RX_CRC 221,12540 -#define B44_RX_ALIGN 222,12592 -#define B44_RX_SYM 223,12648 -#define B44_RX_PAUSE 224,12703 -#define B44_RX_NPAUSE 225,12760 -#define B44_SBIMSTATE 228,12868 -#define SBIMSTATE_PC 229,12930 -#define SBIMSTATE_AP_MASK 230,12981 -#define SBIMSTATE_AP_BOTH 231,13046 -#define SBIMSTATE_AP_TS 232,13120 -#define SBIMSTATE_AP_TK 233,13182 -#define SBIMSTATE_AP_RSV 234,13239 -#define SBIMSTATE_IBE 235,13291 -#define SBIMSTATE_TO 236,13346 -#define B44_SBINTVEC 237,13394 -#define SBINTVEC_PCI 238,13448 -#define SBINTVEC_ENET0 239,13514 -#define SBINTVEC_ILINE20 240,13585 -#define SBINTVEC_CODEC 241,13658 -#define SBINTVEC_USB 242,13732 -#define SBINTVEC_EXTIF 243,13798 -#define SBINTVEC_ENET1 244,13875 -#define B44_SBTMSLOW 245,13946 -#define SBTMSLOW_RESET 246,14002 -#define SBTMSLOW_REJECT 247,14050 -#define SBTMSLOW_CLOCK 248,14099 -#define SBTMSLOW_FGC 249,14154 -#define SBTMSLOW_PE 250,14216 -#define SBTMSLOW_BE 251,14279 -#define B44_SBTMSHIGH 252,14330 -#define SBTMSHIGH_SERR 253,14388 -#define SBTMSHIGH_INT 254,14438 -#define SBTMSHIGH_BUSY 255,14489 -#define SBTMSHIGH_GCR 256,14536 -#define SBTMSHIGH_BISTF 257,14597 -#define SBTMSHIGH_BISTD 258,14651 -#define B44_SBIDHIGH 259,14703 -#define SBIDHIGH_RC_MASK 260,14762 -#define SBIDHIGH_CC_MASK 261,14819 -#define SBIDHIGH_CC_SHIFT 262,14872 -#define SBIDHIGH_VC_MASK 263,14901 -#define SBIDHIGH_VC_SHIFT 264,14956 -#define SSB_BAR0_WIN 267,15026 -#define SSB_BAR1_WIN 268,15053 -#define SSB_SPROM_CONTROL 269,15080 -#define SSB_BAR1_CONTROL 270,15111 -#define SSB_CONTROL 273,15186 -#define SSB_ARBCONTROL 274,15216 -#define SSB_ISTAT 275,15249 -#define SSB_IMASK 276,15277 -#define SSB_MBOX 277,15305 -#define SSB_BCAST_ADDR 278,15332 -#define SSB_BCAST_DATA 279,15365 -#define SSB_PCI_TRANS_0 280,15398 -#define SSB_PCI_TRANS_1 281,15432 -#define SSB_PCI_TRANS_2 282,15466 -#define SSB_SPROM 283,15500 -#define SSB_PCI_MEM 285,15529 -#define SSB_PCI_IO 286,15561 -#define SSB_PCI_CFG0 287,15592 -#define SSB_PCI_CFG1 288,15625 -#define SSB_PCI_PREF 289,15658 -#define SSB_PCI_BURST 290,15691 -#define SSB_PCI_MASK0 291,15725 -#define SSB_PCI_MASK1 292,15759 -#define SSB_PCI_MASK2 293,15793 -#define B44_MII_AUXCTRL 296,15853 -#define MII_AUXCTRL_DUPLEX 297,15905 -#define MII_AUXCTRL_SPEED 298,15959 -#define MII_AUXCTRL_FORCED 299,16020 -#define B44_MII_ALEDCTRL 300,16075 -#define MII_ALEDCTRL_ALLMSK 301,16122 -#define B44_MII_TLEDCTRL 302,16158 -#define MII_TLEDCTRL_ENABLE 303,16210 -#define ADVERTISE_PAUSE_CAP 307,16299 -#define ADVERTISE_PAUSE_ASYM 310,16371 -#define LPA_PAUSE_CAP 313,16433 -#define LPA_PAUSE_ASYM 316,16494 -struct dma_desc dma_desc319,16534 -#define DMA_TABLE_BYTES 327,16707 -#define DESC_CTRL_LEN 329,16738 -#define DESC_CTRL_CMASK 330,16771 -#define DESC_CTRL_EOT 331,16831 -#define DESC_CTRL_IOC 332,16883 -#define DESC_CTRL_EOF 333,16946 -#define DESC_CTRL_SOF 334,16998 -#define RX_COPY_THRESHOLD 336,17053 -struct rx_header rx_header338,17086 -#define RX_HEADER_LEN 343,17144 -#define RX_FLAG_OFIFO 345,17170 -#define RX_FLAG_CRCERR 346,17223 -#define RX_FLAG_SERR 347,17273 -#define RX_FLAG_ODD 348,17332 -#define RX_FLAG_LARGE 349,17401 -#define RX_FLAG_MCAST 350,17465 -#define RX_FLAG_BCAST 351,17530 -#define RX_FLAG_MISS 352,17595 -#define RX_FLAG_LAST 353,17662 -#define RX_FLAG_ERRORS 354,17721 -struct ring_info ring_info356,17807 -#define B44_MCAST_TABLE_SIZE 361,17887 -struct b44_hw_stats b44_hw_stats367,18119 -struct b44 b44388,19002 -#define B44_FLAG_INIT_COMPLETE 404,19270 -#define B44_FLAG_BUGGY_TXPTR 405,19312 -#define B44_FLAG_REORDER_BUG 406,19352 -#define B44_FLAG_PAUSE_AUTO 407,19392 -#define B44_FLAG_FULL_DUPLEX 408,19431 -#define B44_FLAG_100_BASE_T 409,19471 -#define B44_FLAG_TX_PAUSE 410,19510 -#define B44_FLAG_RX_PAUSE 411,19547 -#define B44_FLAG_FORCE_LINK 412,19584 -#define B44_FLAG_ADV_10HALF 413,19623 -#define B44_FLAG_ADV_10FULL 414,19662 -#define B44_FLAG_ADV_100HALF 415,19701 -#define B44_FLAG_ADV_100FULL 416,19741 -#define B44_FLAG_INTERNAL_PHY 417,19781 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/meth.h,3243 -#define TX_RING_ENTRIES 20,693 -#define RX_RING_ENTRIES 22,734 -#define TX_RING_BUFFER_SIZE 24,806 -#define RX_BUFFER_SIZE 25,870 -#define METH_RX_BUFF_SIZE 26,924 -#define METH_RX_HEAD 27,955 -#define RX_BUFFER_OFFSET 28,1032 -#define RX_BUCKET_SIZE 29,1126 -#define BIT(BIT32,1165 -typedef struct tx_status_vector tx_status_vector41,1443 -} tx_status_vector;tx_status_vector47,1725 -typedef struct tx_packet_hdr tx_packet_hdr54,1876 -} tx_packet_hdr;tx_packet_hdr63,2329 -typedef union tx_cat_ptr tx_cat_ptr64,2346 -} tx_cat_ptr;tx_cat_ptr72,2573 -typedef struct tx_packet tx_packet74,2588 -} tx_packet;tx_packet84,2752 -typedef union rx_status_vector rx_status_vector86,2766 -} rx_status_vector;rx_status_vector106,3237 -typedef struct rx_packet rx_packet108,3258 -} rx_packet;rx_packet113,3506 -#define TX_INFO_RPTR 115,3520 -#define TX_INFO_WPTR 116,3555 -#define SGI_MAC_RESET 120,3616 -#define METH_PHY_FDX 121,3730 -#define METH_PHY_LOOP 122,3811 -#define METH_100MBIT 124,3969 -#define METH_PHY_MII 125,4034 -#define METH_ACCEPT_MY 130,4359 -#define METH_ACCEPT_MCAST 131,4420 -#define METH_ACCEPT_AMCAST 132,4523 -#define METH_PROMISC 133,4619 -#define METH_PHY_LINK_FAIL 135,4674 -#define METH_MAC_IPG 137,4793 -#define METH_DEFAULT_IPG 139,4825 -#define METH_REV_SHIFT 149,5333 -#define METH_RX_OFFSET_SHIFT 155,5552 -#define METH_RX_DEPTH_SHIFT 156,5682 -#define METH_DMA_TX_EN 158,5810 -#define METH_DMA_TX_INT_EN 159,5860 -#define METH_DMA_RX_EN 160,5933 -#define METH_DMA_RX_INT_EN 161,5980 -#define METH_RX_FIFO_WPTR(METH_RX_FIFO_WPTR164,6079 -#define METH_RX_FIFO_RPTR(METH_RX_FIFO_RPTR165,6126 -#define METH_RX_FIFO_DEPTH(METH_RX_FIFO_DEPTH166,6172 -#define METH_RX_ST_VALID 170,6237 -#define METH_RX_ST_RCV_CODE_VIOLATION 171,6270 -#define METH_RX_ST_DRBL_NBL 172,6316 -#define METH_RX_ST_CRC_ERR 173,6352 -#define METH_RX_ST_MCAST_PKT 174,6387 -#define METH_RX_ST_BCAST_PKT 175,6424 -#define METH_RX_ST_INV_PREAMBLE_CTX 176,6461 -#define METH_RX_ST_LONG_EVT_SEEN 177,6505 -#define METH_RX_ST_BAD_PACKET 178,6546 -#define METH_RX_ST_CARRIER_EVT_SEEN 179,6584 -#define METH_RX_ST_MCAST_FILTER_MATCH 180,6628 -#define METH_RX_ST_PHYS_ADDR_MATCH 181,6674 -#define METH_RX_STATUS_ERRORS 183,6718 -#define METH_INT_TX_EMPTY 194,7004 -#define METH_INT_TX_PKT 195,7099 -#define METH_INT_TX_LINK_FAIL 197,7250 -#define METH_INT_MEM_ERROR 198,7353 -#define METH_INT_TX_ABORT 200,7488 -#define METH_INT_RX_THRESHOLD 201,7601 -#define METH_INT_RX_UNDERFLOW 202,7715 -#define METH_INT_RX_OVERFLOW 203,7829 -#define METH_INT_RX_RPTR_MASK 206,8033 -#define METH_INT_TX_RPTR_MASK 210,8202 -#define METH_INT_RX_SEQ_MASK 212,8300 -#define METH_INT_ERROR 216,8447 -#define METH_INT_MCAST_HASH 222,8599 -#define METH_TX_ST_DONE 225,8730 -#define METH_TX_ST_SUCCESS 226,8785 -#define METH_TX_ST_TOOLONG 227,8864 -#define METH_TX_ST_UNDERRUN 228,8940 -#define METH_TX_ST_EXCCOLL 229,9012 -#define METH_TX_ST_DEFER 230,9089 -#define METH_TX_ST_LATECOLL 231,9164 -#define METH_TX_CMD_INT_EN 235,9269 -#define MDIO_BUSY 238,9388 -#define MDIO_DATA_MASK 239,9417 -#define PHY_QS6612X 241,9465 -#define PHY_ICS1889 242,9518 -#define PHY_ICS1890 243,9567 -#define PHY_DP83840 244,9616 -#define ADVANCE_RX_PTR(ADVANCE_RX_PTR246,9671 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/z8530.h,4088 -#define FLAG 3,66 -#define R0 6,108 -#define R1 7,145 -#define R2 8,158 -#define R3 9,171 -#define R4 10,184 -#define R5 11,197 -#define R6 12,210 -#define R7 13,223 -#define R8 14,236 -#define R9 15,249 -#define R10 16,262 -#define R11 17,277 -#define R12 18,292 -#define R13 19,307 -#define R14 20,322 -#define R15 21,337 -#define NULLCODE 23,353 -#define POINT_HIGH 24,388 -#define RES_EXT_INT 25,448 -#define SEND_ABORT 26,508 -#define RES_RxINT_FC 27,549 -#define RES_Tx_P 28,612 -#define ERR_RES 29,660 -#define RES_H_IUS 30,700 -#define RES_Rx_CRC 32,748 -#define RES_Tx_CRC 33,799 -#define RES_EOM_L 34,850 -#define EXT_INT_ENAB 38,920 -#define TxINT_ENAB 39,966 -#define PAR_SPEC 40,1009 -#define RxINT_DISAB 42,1065 -#define RxINT_FCERR 43,1108 -#define INT_ALL_Rx 44,1178 -#define INT_ERR_Rx 45,1242 -#define WT_RDY_RT 47,1291 -#define WT_FN_RDYFN 48,1338 -#define WT_RDY_ENAB 49,1386 -#define RxENABLE 55,1504 -#define SYNC_L_INH 56,1541 -#define ADD_SM 57,1598 -#define RxCRC_ENAB 58,1651 -#define ENT_HM 59,1694 -#define AUTO_ENAB 60,1737 -#define Rx5 61,1779 -#define Rx7 62,1822 -#define Rx6 63,1866 -#define Rx8 64,1910 -#define PAR_ENA 68,1979 -#define PAR_EVEN 69,2020 -#define SYNC_ENAB 71,2065 -#define SB1 72,2109 -#define SB15 73,2148 -#define SB2 74,2191 -#define MONSYNC 76,2232 -#define BISYNC 77,2278 -#define SDLC 78,2327 -#define EXTSYNC 79,2383 -#define X1CLK 81,2431 -#define X16CLK 82,2470 -#define X32CLK 83,2512 -#define X64CLK 84,2554 -#define TxCRC_ENAB 88,2621 -#define RTS 89,2664 -#define SDLC_CRC 90,2691 -#define TxENAB 91,2730 -#define SND_BRK 92,2766 -#define Tx5 93,2805 -#define Tx7 94,2858 -#define Tx6 95,2902 -#define Tx8 96,2946 -#define DTR 97,2990 -#define VIS 106,3225 -#define NV 107,3268 -#define DLC 108,3297 -#define MIE 109,3337 -#define STATHI 110,3381 -#define NORESET 111,3419 -#define CHRB 112,3467 -#define CHRA 113,3507 -#define FHWRES 114,3547 -#define BIT6 117,3639 -#define LOOPMODE 118,3676 -#define ABUNDER 119,3716 -#define MARKIDLE 120,3773 -#define GAOP 121,3816 -#define NRZ 122,3858 -#define NRZI 123,3887 -#define FM1 124,3921 -#define FM0 125,3965 -#define CRCPS 126,4009 -#define TRxCXT 129,4095 -#define TRxCTC 130,4137 -#define TRxCBR 131,4182 -#define TRxCDP 132,4232 -#define TRxCOI 133,4274 -#define TCRTxCP 134,4306 -#define TCTRxCP 135,4356 -#define TCBR 136,4406 -#define TCDPLL 137,4467 -#define RCRTxCP 138,4522 -#define RCTRxCP 139,4571 -#define RCBR 140,4623 -#define RCDPLL 141,4683 -#define RTxCX 142,4737 -#define BRENABL 149,4975 -#define BRSRC 150,5026 -#define DTRREQ 151,5075 -#define AUTOECHO 152,5119 -#define LOOPBAK 153,5154 -#define SEARCH 154,5196 -#define RMC 155,5240 -#define DISDPLL 156,5283 -#define SSBR 157,5323 -#define SSRTxC 158,5378 -#define SFMM 159,5427 -#define SNRZI 160,5463 -#define ZCIE 163,5563 -#define DCDIE 164,5598 -#define SYNCIE 165,5627 -#define CTSIE 166,5666 -#define TxUIE 167,5698 -#define BRKIE 168,5742 -#define Rx_CH_AV 172,5806 -#define ZCOUNT 173,5856 -#define Tx_BUF_EMP 174,5893 -#define DCD 175,5938 -#define SYNC_HUNT 176,5965 -#define CTS 177,6004 -#define TxEOM 178,6032 -#define BRK_ABRT 179,6070 -#define ALL_SNT 182,6133 -#define RES3 184,6218 -#define RES4 185,6246 -#define RES5 186,6274 -#define RES6 187,6302 -#define RES7 188,6330 -#define RES8 189,6358 -#define RES18 190,6386 -#define RES28 191,6415 -#define PAR_ERR 193,6482 -#define Rx_OVR 194,6523 -#define CRC_ERR 195,6567 -#define END_FR 196,6613 -#define CHBEXT 201,6781 -#define CHBTxIP 202,6829 -#define CHBRxIP 203,6872 -#define CHAEXT 204,6915 -#define CHATxIP 205,6963 -#define CHARxIP 206,7007 -#define ONLOOP 211,7142 -#define LOOPSEND 212,7174 -#define CLK2MIS 213,7216 -#define CLK1MIS 214,7263 -#define AUTOTXF 225,7606 -#define AUTOEOM 226,7647 -#define AUTORTS 227,7696 -#define TXDNRZI 228,7733 -#define RXFIFOH 229,7795 -#define FASTDTR 230,7856 -#define CRCCBCR 231,7902 -#define TXFIFOE 232,7966 -#define EXTRDEN 233,8034 -#define SHDLCE 236,8145 -#define FIFOE 237,8199 -#define BCLSB 240,8277 -#define BCMSB 243,8367 -#define FDA 244,8414 -#define FOS 245,8465 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/yam.c,4287 -static const char yam_drvname[86,3024 -static char yam_drvinfo[87,3065 -static char yam_drvinfo[] __initdata 87,3065 -#define YAM_9600 91,3235 -#define YAM_1200 92,3254 -#define NR_PORTS 94,3274 -#define YAM_MAGIC 95,3293 -#define TX_OFF 99,3349 -#define TX_HEAD 100,3367 -#define TX_DATA 101,3386 -#define TX_CRC1 102,3405 -#define TX_CRC2 103,3424 -#define TX_TAIL 104,3443 -#define YAM_MAX_FRAME 106,3463 -#define DEFAULT_BITRATE 108,3491 -#define DEFAULT_HOLDD 109,3532 -#define DEFAULT_TXD 110,3569 -#define DEFAULT_TXTAIL 111,3604 -#define DEFAULT_SLOT 112,3641 -#define DEFAULT_PERS 113,3677 -struct yam_port yam_port115,3717 -struct yam_mcs yam_mcs158,4431 -static struct net_device *yam_devs[164,4525 -static struct yam_mcs *yam_data;166,4572 -static char ax25_bcast[168,4606 -static char ax25_test[170,4706 -static struct timer_list yam_timer 173,4806 -#define RBR(RBR177,4952 -#define THR(THR178,4983 -#define IER(IER179,5014 -#define IIR(IIR180,5045 -#define FCR(FCR181,5076 -#define LCR(LCR182,5107 -#define MCR(MCR183,5138 -#define LSR(LSR184,5169 -#define MSR(MSR185,5200 -#define SCR(SCR186,5231 -#define DLL(DLL187,5262 -#define DLM(DLM188,5293 -#define YAM_EXTENT 190,5325 -#define IIR_NOPEND 193,5397 -#define IIR_MSR 194,5418 -#define IIR_TX 195,5437 -#define IIR_RX 196,5455 -#define IIR_LSR 197,5473 -#define IIR_TIMEOUT 198,5492 -#define IIR_MASK 200,5539 -#define IER_RX 203,5604 -#define IER_TX 204,5650 -#define IER_LSR 205,5696 -#define IER_MSR 206,5753 -#define MCR_DTR 209,5851 -#define MCR_RTS 210,5892 -#define MCR_OUT1 211,5933 -#define MCR_OUT2 212,6001 -#define MCR_LOOP 213,6076 -#define MSR_DCTS 216,6161 -#define MSR_DDSR 217,6207 -#define MSR_DRIN 218,6247 -#define MSR_DDCD 219,6286 -#define MSR_CTS 220,6326 -#define MSR_DSR 221,6366 -#define MSR_RING 222,6406 -#define MSR_DCD 223,6446 -#define LSR_RXC 226,6523 -#define LSR_OE 227,6545 -#define LSR_PE 228,6566 -#define LSR_FE 229,6587 -#define LSR_BREAK 230,6608 -#define LSR_THRE 231,6631 -#define LSR_TSRE 232,6653 -#define LCR_DLAB 235,6714 -#define LCR_BREAK 236,6736 -#define LCR_PZERO 237,6759 -#define LCR_PEVEN 238,6782 -#define LCR_PODD 239,6805 -#define LCR_STOP1 240,6827 -#define LCR_STOP2 241,6850 -#define LCR_BIT5 242,6873 -#define LCR_BIT6 243,6895 -#define LCR_BIT7 244,6917 -#define LCR_BIT8 245,6939 -#define TX_RDY 249,7001 -#define RX_DCD 250,7059 -#define RX_FLAG 251,7106 -#define FPGA_DONE 252,7158 -#define PTT_ON 253,7211 -#define PTT_OFF 254,7265 -#define ENABLE_RXINT 256,7320 -#define ENABLE_TXINT 257,7391 -#define ENABLE_RTXINT 258,7463 -static const unsigned char chktabl[265,7696 -static const unsigned char chktabh[284,9293 -static void delay(308,11058 -static void fpga_reset(319,11220 -static int fpga_write(341,11677 -static unsigned char *add_mcs(360,12089 -static unsigned char *get_mcs(387,12656 -static int fpga_download(412,13077 -static void yam_set_uart(443,13743 -enum uart uart469,14372 - c_uart_unknown,470,14384 - c_uart_unknown, c_uart_8250,470,14384 - c_uart_16450,471,14414 - c_uart_16450, c_uart_16550,471,14414 - c_uart_16450, c_uart_16550, c_uart_16550A471,14414 -static const char *uart_str[474,14461 -static enum uart yam_check_uart(477,14543 -static inline void yam_rx_flag(511,15501 -static inline void yam_rx_byte(542,16322 -static void ptt_on(556,16785 -static void ptt_off(561,16869 -static int yam_send_packet(566,16955 -static void yam_start_tx(575,17146 -static unsigned short random_seed;585,17385 -static inline unsigned short random_num(587,17421 -static void yam_arbitrate(593,17535 -static void yam_dotimer(626,18179 -static void yam_tx_byte(639,18436 -static irqreturn_t yam_interrupt(717,20452 -static void *yam_seq_start(770,21494 -static void *yam_seq_next(775,21612 -static void yam_seq_stop(781,21747 -static int yam_seq_show(785,21808 -static struct seq_operations yam_seqops 812,22902 -static int yam_info_open(819,23044 -static struct file_operations yam_info_fops 824,23151 -static struct net_device_stats *yam_get_stats(837,23402 -static int yam_open(857,23817 -static int yam_close(919,25516 -static int yam_ioctl(945,26163 -static int yam_set_mac_address(1081,29679 -static void yam_setup(1092,29991 -static int __init yam_init_driver(1140,31261 -static void __exit yam_cleanup_driver(1185,32175 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/6pack.c,2682 -#define SIXPACK_VERSION 40,1079 -#define SIXP_SEOF 43,1157 -#define SIXP_TX_URUN 44,1218 -#define SIXP_RX_ORUN 45,1268 -#define SIXP_RX_BUF_OVL 46,1317 -#define SIXP_CHKSUM 48,1378 -#define SIXP_CMD_MASK 52,1516 -#define SIXP_CHN_MASK 53,1544 -#define SIXP_PRIO_CMD_MASK 54,1572 -#define SIXP_STD_CMD_MASK 55,1604 -#define SIXP_PRIO_DATA_MASK 56,1635 -#define SIXP_TX_MASK 57,1668 -#define SIXP_RX_MASK 58,1695 -#define SIXP_RX_DCD_MASK 59,1722 -#define SIXP_LEDS_ON 60,1752 -#define SIXP_LEDS_OFF 61,1779 -#define SIXP_CON 62,1807 -#define SIXP_STA 63,1830 -#define SIXP_FOUND_TNC 65,1854 -#define SIXP_CON_ON 66,1883 -#define SIXP_DCD_MASK 67,1909 -#define SIXP_DAMA_OFF 68,1937 -#define SIXP_TXDELAY 71,1996 -#define SIXP_PERSIST 72,2039 -#define SIXP_SLOTTIME 73,2081 -#define SIXP_INIT_RESYNC_TIMEOUT 74,2126 -#define SIXP_RESYNC_TIMEOUT 75,2181 -#define SIXP_NRUNIT 78,2256 -#define SIXP_MTU 79,2321 -enum sixpack_flags sixpack_flags81,2363 - SIXPF_ERROR,82,2384 -struct sixpack sixpack85,2427 -#define AX25_6PACK_HEADER_LEN 132,3675 -static void sp_xmit_on_air(145,4175 -static void sp_start_tx_timer(168,4841 -static void sp_encaps(180,5160 -static int sp_xmit(258,6954 -static int sp_open_dev(274,7292 -static int sp_close(284,7489 -static int sp_header(300,7805 -static struct net_device_stats *sp_get_stats(310,8069 -static int sp_set_dev_mac_address(316,8203 -static int sp_rebuild_header(323,8370 -static void sp_setup(332,8502 -static inline struct sixpack *sp_alloc(367,9541 -static inline void sp_free(395,10010 -static void sp_bump(414,10440 -static rwlock_t disc_data_lock 455,11497 -static struct sixpack *sp_get(457,11629 -static void sp_put(470,11841 -static void sixpack_write_wakeup(480,12069 -static int sp_open(508,12722 -static int sixpack_receive_room(581,14002 -static void sixpack_receive_buf(592,14384 -static void resync_tnc(632,15148 -static inline int tnc_init(668,15979 -static int sixpack_open(690,16562 -static void sixpack_close(728,17261 -static int sp_set_mac_address(753,17800 -static int sixpack_ioctl(759,18006 -static struct tty_ldisc sp_ldisc 812,19116 -static char msg_banner[826,19492 -static char msg_banner[] __initdata 826,19492 -static char msg_regfail[827,19587 -static char msg_regfail[] __initdata 827,19587 -static int __init sixpack_init_driver(829,19691 -static const char msg_unregfail[842,19939 -static const char msg_unregfail[] __exitdata 842,19939 -static void __exit sixpack_exit_driver(844,20052 -static int sixpack_init(853,20242 -static int encode_sixpack(870,20578 -static void decode_data(908,21667 -static void decode_prio_command(930,22175 -static void decode_std_command(987,23952 -sixpack_decode(1036,25301 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/mkiss.h,431 -#define AX25_MAXDEV 5,196 -#define AX_MTU 8,324 -#define END 11,383 -#define ESC 12,442 -#define ESC_END 13,502 -#define ESC_ESC 14,567 -struct ax_disp ax_disp16,633 -#define AXF_INUSE 48,2074 -#define AXF_ESCAPE 49,2130 -#define AXF_ERROR 50,2200 -#define AXF_KEEPTEST 51,2269 -#define AXF_OUTWAIT 52,2320 -#define CRC_MODE_NONE 56,2475 -#define CRC_MODE_FLEX 57,2501 -#define CRC_MODE_SMACK 58,2527 -#define AX25_MAGIC 62,2616 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/dmascc.c,3422 -#define NUM_TX_BUF 53,1530 -#define NUM_RX_BUF 54,1608 -#define BUF_SIZE 55,1686 -#define HW_PI 60,1786 -#define HW_PI2 62,1902 -#define HW_TWIN 64,1998 -#define HW_S5 66,2103 -#define HARDWARE 69,2219 -#define TMR_0_HZ 71,2278 -#define TYPE_PI 73,2341 -#define TYPE_PI2 74,2367 -#define TYPE_TWIN 75,2393 -#define TYPE_S5 76,2419 -#define NUM_TYPES 77,2445 -#define MAX_NUM_DEVS 79,2472 -#define Z8530 84,2528 -#define Z85C30 85,2554 -#define Z85230 86,2580 -#define CHIPNAMES 88,2607 -#define SCCB_CMD 94,2729 -#define SCCB_DATA 95,2758 -#define SCCA_CMD 96,2787 -#define SCCA_DATA 97,2816 -#define TMR_CNT0 100,2894 -#define TMR_CNT1 101,2923 -#define TMR_CNT2 102,2952 -#define TMR_CTRL 103,2981 -#define PI_DREQ_MASK 106,3067 -#define TWIN_INT_REG 109,3156 -#define TWIN_CLR_TMR1 110,3185 -#define TWIN_CLR_TMR2 111,3214 -#define TWIN_SPARE_1 112,3243 -#define TWIN_DMA_CFG 113,3272 -#define TWIN_SERIAL_CFG 114,3301 -#define TWIN_DMA_CLR_FF 115,3330 -#define TWIN_SPARE_2 116,3359 -#define TWIN_SCC_MSK 122,3441 -#define TWIN_TMR1_MSK 123,3473 -#define TWIN_TMR2_MSK 124,3505 -#define TWIN_INT_MSK 125,3537 -#define TWIN_DTRA_ON 128,3587 -#define TWIN_DTRB_ON 129,3619 -#define TWIN_EXTCLKA 130,3651 -#define TWIN_EXTCLKB 131,3683 -#define TWIN_LOOPA_ON 132,3715 -#define TWIN_LOOPB_ON 133,3747 -#define TWIN_EI 134,3779 -#define TWIN_DMA_HDX_T1 137,3826 -#define TWIN_DMA_HDX_R1 138,3858 -#define TWIN_DMA_HDX_T3 139,3890 -#define TWIN_DMA_HDX_R3 140,3922 -#define TWIN_DMA_FDX_T3R1 141,3954 -#define TWIN_DMA_FDX_T1R3 142,3986 -#define IDLE 147,4041 -#define TX_HEAD 148,4061 -#define TX_DATA 149,4081 -#define TX_PAUSE 150,4101 -#define TX_TAIL 151,4121 -#define RTS_OFF 152,4141 -#define WAIT 153,4161 -#define DCD_ON 154,4181 -#define RX_ON 155,4201 -#define DCD_OFF 156,4221 -#define SIOCGSCCPARAM 161,4257 -#define SIOCSSCCPARAM 162,4294 -struct scc_param scc_param167,4355 -struct scc_hardware scc_hardware185,5006 -struct scc_priv scc_priv197,5175 -struct scc_info scc_info224,5806 -static int setup_adapter(235,6036 -static struct scc_hardware hw[269,7497 -static struct scc_hardware hw[NUM_TYPES] __initdata_or_module 269,7497 -static char ax25_broadcast[270,7571 -static char ax25_broadcast[7] __initdata 270,7571 -static char ax25_test[272,7676 -static char ax25_test[7] __initdata 272,7676 -static struct scc_info *first;278,7802 -static unsigned long rand;279,7833 -static void __exit dmascc_exit(287,8032 -void __init dmascc_setup(315,8624 -static int __init dmascc_init(323,8772 -static void dev_setup(429,11705 -static int __init setup_adapter(440,11955 -static void write_scc(621,16744 -static void write_scc_data(644,17359 -static int read_scc(667,17932 -static int read_scc_data(689,18526 -static int scc_open(708,18998 -static int scc_close(846,23516 -static int scc_ioctl(872,24191 -static int scc_send_packet(892,24726 -static struct net_device_stats *scc_get_stats(935,25934 -static int scc_set_mac_address(942,26071 -static inline void tx_on(948,26228 -static inline void rx_on(984,27500 -static inline void rx_off(1018,28650 -static void start_timer(1031,29032 -static inline unsigned char random(1051,29468 -static inline void z8530_isr(1057,29654 -static irqreturn_t scc_isr(1085,30371 -static void rx_isr(1121,31594 -static void special_condition(1145,32285 -static void rx_bh(1203,33885 -static void tx_isr(1242,34899 -static void es_isr(1265,35450 -static void tm_isr(1351,37796 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/yam9600.h,39 -static unsigned char bits_9600[11,116 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/mkiss.c,1442 -static char banner[59,1814 -static char banner[] __initdata 59,1814 -typedef struct ax25_ctrl ax25_ctrl61,1906 -} ax25_ctrl_t;ax25_ctrl_t64,2009 -static ax25_ctrl_t **ax25_ctrls;66,2025 -int ax25_maxdev 68,2059 -static struct tty_ldisc ax_ldisc;70,2129 -static const unsigned short Crc_flex_table[79,2486 -static unsigned short calc_crc_flex(116,4731 -static int check_crc_flex(128,5021 -static inline struct ax_disp *ax_alloc(147,5435 -static inline void ax_free(206,6869 -static void ax_changedmtu(219,7197 -static inline void ax_lock(290,8599 -static inline void ax_unlock(297,8734 -static void ax_bump(303,8889 -static void ax_encaps(348,10118 -static void ax25_write_wakeup(396,11294 -static int ax_xmit(420,11921 -static int ax_header(461,12915 -static int ax_rebuild_header(472,13182 -static int ax_open(484,13411 -static int ax_close(535,14393 -static int ax25_receive_room(549,14620 -static void ax25_receive_buf(560,14995 -static int ax25_open(587,15604 -static void ax25_close(617,16274 -static struct net_device_stats *ax_get_stats(634,16573 -static int kiss_esc(659,17361 -static int kiss_esc_crc(698,17993 -static void kiss_unesc(732,18793 -static int ax_set_mac_address(775,19682 -static int ax_set_dev_mac_address(782,19846 -static int ax25_disp_ioctl(793,20069 -static int ax_open_dev(828,20963 -static int ax25_init(840,21178 -static int __init mkiss_init_driver(885,22527 -static void __exit mkiss_exit_driver(920,23583 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/baycom_epp.c,4400 -#define BAYCOM_DEBUG65,2494 -#define BAYCOM_MAGIC 66,2515 -static const char paranoia_str[70,2623 -#define baycom_paranoia_check(baycom_paranoia_check73,2742 -#define baycom_paranoia_check_void(baycom_paranoia_check_void81,3286 -static const char bc_drvname[91,3907 -static const char bc_drvinfo[92,3954 -#define NR_PORTS 97,4207 -static struct net_device *baycom_device[99,4227 -#define EPP_DCDBIT 104,4382 -#define EPP_PTTBIT 105,4411 -#define EPP_NREF 106,4440 -#define EPP_NRAEF 107,4469 -#define EPP_NRHF 108,4498 -#define EPP_NTHF 109,4527 -#define EPP_NTAEF 110,4556 -#define EPP_NTEF 111,4585 -#define EPP_TX_FIFO_ENABLE 114,4648 -#define EPP_RX_FIFO_ENABLE 115,4680 -#define EPP_MODEM_ENABLE 116,4712 -#define EPP_LEDS 117,4744 -#define EPP_IRQ_ENABLE 118,4776 -#define LPTREG_ECONTROL 121,4829 -#define LPTREG_CONFIGB 122,4865 -#define LPTREG_CONFIGA 123,4901 -#define LPTREG_EPPDATA 124,4937 -#define LPTREG_EPPADDR 125,4973 -#define LPTREG_CONTROL 126,5009 -#define LPTREG_STATUS 127,5045 -#define LPTREG_DATA 128,5081 -#define LPTCTRL_PROGRAM 131,5145 -#define LPTCTRL_WRITE 132,5203 -#define LPTCTRL_ADDRSTB 133,5238 -#define LPTCTRL_DATASTB 134,5273 -#define LPTCTRL_INTEN 135,5308 -#define LPTSTAT_SHIFT_NINTR 138,5370 -#define LPTSTAT_WAIT 139,5402 -#define LPTSTAT_NINTR 140,5437 -#define LPTSTAT_PE 141,5492 -#define LPTSTAT_DONE 142,5527 -#define LPTSTAT_NERROR 143,5562 -#define LPTSTAT_EPPTIMEOUT 144,5597 -#define LPTDATA_SHIFT_TDI 147,5657 -#define LPTDATA_SHIFT_TMS 148,5689 -#define LPTDATA_TDI 149,5721 -#define LPTDATA_TCK 150,5774 -#define LPTDATA_TMS 151,5809 -#define LPTDATA_INITBIAS 152,5862 -#define EPP_DCDBIT 156,5934 -#define EPP_PTTBIT 157,5969 -#define EPP_RXEBIT 158,6004 -#define EPP_RXAEBIT 159,6039 -#define EPP_RXHFULL 160,6074 -#define EPP_NTHF 162,6110 -#define EPP_NTAEF 163,6145 -#define EPP_NTEF 164,6180 -#define EPP_TX_FIFO_ENABLE 166,6222 -#define EPP_RX_FIFO_ENABLE 167,6257 -#define EPP_MODEM_ENABLE 168,6292 -#define EPP_LEDS 169,6327 -#define EPP_IRQ_ENABLE 170,6362 -#define XC4K_IRLENGTH 173,6432 -#define XC4K_EXTEST 174,6458 -#define XC4K_PRELOAD 175,6484 -#define XC4K_CONFIGURE 176,6510 -#define XC4K_BYPASS 177,6536 -#define EPP_CONVENTIONAL 179,6563 -#define EPP_FPGA 180,6591 -#define EPP_FPGAEXTSTATUS 181,6619 -#define TXBUFFER_SIZE 183,6648 -struct baycom_state baycom_state190,6838 - enum { tx_idle 221,7449 - enum { tx_idle = 0, tx_keyup,221,7449 - enum { tx_idle = 0, tx_keyup, tx_data,221,7449 - enum { tx_idle = 0, tx_keyup, tx_data, tx_tail 221,7449 - struct debug_vals debug_vals232,7737 -#define KISS_VERBOSE246,8052 -#define PARAM_TXDELAY 250,8151 -#define PARAM_PERSIST 251,8177 -#define PARAM_SLOTTIME 252,8203 -#define PARAM_TXTAIL 253,8229 -#define PARAM_FULLDUP 254,8255 -#define PARAM_HARDWARE 255,8281 -#define PARAM_RETURN 256,8307 -static inline void append_crc_ccitt(268,8570 -static inline int check_crc_ccitt(282,8902 -static inline int calc_crc_ccitt(289,9115 -#define tenms_to_flags(tenms_to_flags296,9323 -static inline void baycom_int_freq(300,9464 -static char eppconfig_path[323,10119 -static char *envp[325,10175 -static int eppconfig(328,10320 -static void epp_interrupt(349,11069 -static inline void do_kiss_params(355,11223 -#define PKP(PKP360,11351 -#define PKP(PKP362,11460 -#define ENCODEITERA(ENCODEITERA400,12368 -#define ENCODEITERB(ENCODEITERB407,12613 -static void encode_hdlc(419,13212 -static unsigned short random_seed;490,14665 -static inline unsigned short random_num(492,14701 -static int transmit(500,14893 -static void do_rxpacket(605,17489 -#define DECODEITERA(DECODEITERA633,18192 -#define DECODEITERB(DECODEITERB642,18757 -static int receive(664,20549 -#define GETTICK(GETTICK732,22135 -#define GETTICK(GETTICK738,22410 -static void epp_bh(741,22452 -static int baycom_send_packet(864,25396 -static int baycom_set_mac_address(889,25956 -static struct net_device_stats *baycom_get_stats(900,26312 -static void epp_wakeup(915,26690 -static int epp_open(938,27524 -static int epp_close(1056,31288 -static int baycom_setmode(1083,32019 -static int baycom_ioctl(1118,32936 -static void baycom_probe(1233,36328 -static const char *mode[1294,38067 -static int iobase[1295,38112 -static void __init baycom_epp_dev_setup(1308,38609 -static int __init init_baycomepp(1324,38924 -static void __exit cleanup_baycomepp(1366,39738 -static int __init baycom_epp_setup(1396,40303 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/yam1200.h,39 -static unsigned char bits_1200[11,118 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/hdlcdrv.c,1415 -static char ax25_bcast[78,2667 -static char ax25_nocall[80,2779 -#define KISS_VERBOSE85,2970 -#define PARAM_TXDELAY 89,3069 -#define PARAM_PERSIST 90,3095 -#define PARAM_SLOTTIME 91,3121 -#define PARAM_TXTAIL 92,3147 -#define PARAM_FULLDUP 93,3173 -#define PARAM_HARDWARE 94,3199 -#define PARAM_RETURN 95,3225 -static inline void append_crc_ccitt(106,3482 -static inline int check_crc_ccitt(115,3739 -static int calc_crc_ccitt(123,3958 -#define tenms_to_2flags(tenms_to_2flags136,4263 -static int hdlc_rx_add_bytes(143,4441 -static void hdlc_rx_flag(161,4793 -void hdlcdrv_receiver(188,5471 -static inline void do_kiss_params(244,7211 -#define PKP(PKP249,7339 -#define PKP(PKP251,7446 -void hdlcdrv_transmitter(285,8255 -static void start_tx(383,10730 -static unsigned short random_seed;395,11105 -static inline unsigned short random_num(397,11141 -void hdlcdrv_arbitrate(405,11333 -static inline int hdlcdrv_paranoia_check(430,11955 -static int hdlcdrv_send_packet(444,12360 -static int hdlcdrv_set_mac_address(465,12840 -static struct net_device_stats *hdlcdrv_get_stats(476,13197 -static int hdlcdrv_open(500,13947 -static int hdlcdrv_close(541,14832 -static int hdlcdrv_ioctl(563,15274 -static void hdlcdrv_setup(696,18935 -struct net_device *hdlcdrv_register(764,20956 -void hdlcdrv_unregister(804,21872 -static int __init hdlcdrv_init_driver(827,22429 -static void __exit hdlcdrv_cleanup_driver(836,22720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/baycom_ser_hdx.c,1765 -#define BAYCOM_DEBUG75,3149 -static const char bc_drvname[79,3248 -static const char bc_drvinfo[80,3299 -#define NR_PORTS 85,3561 -static struct net_device *baycom_device[87,3581 -#define RBR(RBR91,3710 -#define THR(THR92,3741 -#define IER(IER93,3772 -#define IIR(IIR94,3803 -#define FCR(FCR95,3834 -#define LCR(LCR96,3865 -#define MCR(MCR97,3896 -#define LSR(LSR98,3927 -#define MSR(MSR99,3958 -#define SCR(SCR100,3989 -#define DLL(DLL101,4020 -#define DLM(DLM102,4051 -#define SER12_EXTENT 104,4083 -struct baycom_state baycom_state111,4244 - struct modem_state modem_state116,4310 - struct modem_state_ser12 modem_state_ser12120,4398 - struct debug_vals debug_vals133,4700 -static inline void baycom_int_freq(145,4959 -static inline void ser12_set_divisor(168,5633 -#define SER12_ARB_DIVIDER(SER12_ARB_DIVIDER194,6454 -#define SER12_DCD_INTERVAL(SER12_DCD_INTERVAL196,6520 -static inline void ser12_tx(198,6577 -static inline void ser12_rx(216,7164 -static irqreturn_t ser12_interrupt(375,11824 -enum uart uart430,13038 -enum uart { c_uart_unknown,430,13038 -enum uart { c_uart_unknown, c_uart_8250,430,13038 - c_uart_16450,431,13079 - c_uart_16450, c_uart_16550,431,13079 - c_uart_16450, c_uart_16550, c_uart_16550A}431,13079 -static const char *uart_str[432,13128 -static enum uart ser12_check_uart(436,13215 -static int ser12_open(469,14082 -static int ser12_close(512,15468 -static struct hdlcdrv_ops ser12_ops 542,16310 -static int baycom_setmode(552,16554 -static int baycom_ioctl(567,16894 -static char *mode[637,18640 -static int iobase[638,18685 -static int irq[639,18727 -static int __init init_baycomserhdx(654,19349 -static void __exit cleanup_baycomserhdx(693,20027 -static int __init baycom_ser_hdx_setup(721,20667 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/bpqether.c,1373 -static char banner[90,3015 -static char banner[] __initdata 90,3015 -static unsigned char ax25_bcast[92,3100 -static unsigned char ax25_defaddr[94,3222 -static char bcast_addr[97,3347 -static char bpq_eth_addr[99,3407 -static struct packet_type bpq_packet_type 105,3657 -static struct notifier_block bpq_dev_notifier 110,3763 -#define MAXBPQDEV 115,3853 -struct bpqdev bpqdev117,3876 -static inline struct net_device *bpq_get_ether_dev(135,4411 -static inline struct net_device *bpq_get_ax25_dev(145,4630 -static inline int dev_is_ethdev(156,4848 -static int bpq_rcv(170,5130 -static int bpq_xmit(240,6469 -static struct net_device_stats *bpq_get_stats(306,7794 -static int bpq_set_mac_address(316,7971 -static int bpq_ioctl(332,8365 -static int bpq_open(374,9191 -static int bpq_close(380,9276 -static const char * bpq_print_ethaddr(393,9469 -static void *bpq_seq_start(403,9665 -static void *bpq_seq_next(420,9939 -static void bpq_seq_stop(435,10228 -static int bpq_seq_show(441,10310 -static struct seq_operations bpq_seqops 461,10770 -static int bpq_info_open(468,10912 -static struct file_operations bpq_info_fops 473,11019 -static void bpq_setup(485,11266 -static int bpq_new_device(516,12059 -static void bpq_free_device(555,12750 -static int bpq_device_event(568,12967 -static int __init bpq_init_driver(607,13867 -static void __exit bpq_cleanup_driver(626,14237 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/scc.c,3134 -#define RCS_ID 1,0 -#define VERSION 3,78 -#define SCC_MAXCHIPS 142,5271 -#define SCC_BUFSIZE 143,5337 -#define SCC_DEFAULT_CLOCK 146,5410 -static char banner[187,6381 -static char banner[] __initdata 187,6381 -static unsigned char SCC_DriverName[217,7798 -static struct irqflags irqflags219,7846 -static struct irqflags { unsigned char used : 1; } Ivec[219,7846 -static struct scc_channel SCC_Info[221,7914 -static struct scc_ctrl scc_ctrl223,7999 -} SCC_ctrl[227,8068 -static unsigned char Driver_Initialized;229,8097 -static int Nchips;230,8138 -static io_port Vector_Latch;231,8157 -static spinlock_t iolock 240,8454 -static inline unsigned char InReg(242,8531 -static inline void OutReg(261,8870 -static inline void wr(276,9196 -static inline void or(282,9336 -static inline void cl(287,9476 -static inline void scc_discard_buffers(296,9807 -static inline void scc_notify(322,10417 -static inline void flush_rx_FIFO(341,10754 -static void start_hunt(356,11047 -static inline void scc_txint(367,11436 -static inline void scc_exint(431,12651 -static inline void scc_rxint(516,14836 -static inline void scc_spint(564,15743 -static void scc_isr_dispatch(610,16824 -#define SCC_IRQTIMEOUT 628,17309 -static irqreturn_t scc_isr(630,17339 -static inline void set_brg(718,19307 -static inline void set_speed(726,19581 -static inline void init_brg(740,19910 -static void init_channel(792,21458 -static void scc_key_trx(898,24067 -static void __scc_start_tx_timer(995,26180 -static void scc_start_tx_timer(1012,26554 -static void scc_start_defer(1021,26817 -static void scc_start_maxkeyup(1038,27245 -static void scc_tx_done(1060,27838 -static unsigned char Rand 1085,28378 -static inline int is_grouped(1087,28411 -static void t_dwait(1123,29180 -static void t_txdelay(1166,30116 -static void t_tail(1187,30490 -static void t_busy(1214,31089 -static void t_maxkeyup(1233,31446 -static void t_idle(1267,32240 -static void scc_init_timer(1279,32517 -#define CAST(CAST1298,32992 -static unsigned int scc_set_param(1300,33028 -static unsigned long scc_get_param(1368,34725 -static void scc_stop_calibrate(1399,35933 -scc_start_calibrate(1418,36386 -static void z8530_init(1457,37391 -static int scc_net_alloc(1512,38621 -static unsigned char ax25_bcast[1545,39319 -static unsigned char ax25_nocall[1547,39440 -static void scc_net_setup(1552,39601 -static int scc_net_open(1582,40417 -static int scc_net_close(1600,40728 -static void scc_net_rx(1623,41249 -static int scc_net_tx(1645,41666 -static int scc_net_ioctl(1711,43548 -static int scc_net_set_mac_address(1951,49748 -static struct net_device_stats *scc_net_get_stats(1960,49970 -static inline struct scc_channel *scc_net_seq_idx(1978,50601 -static void *scc_net_seq_start(1991,50809 -static void *scc_net_seq_next(1997,50942 -static void scc_net_seq_stop(2011,51227 -static int scc_net_seq_show(2015,51292 -#define K(K2054,52717 -static struct seq_operations scc_net_seq_ops 2084,53515 -static int scc_net_seq_open(2092,53686 -static struct file_operations scc_net_seq_fops 2097,53801 -static int __init scc_init_driver 2112,54204 -static void __exit scc_cleanup_driver(2133,54574 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/baycom_par.c,1534 -#define BAYCOM_DEBUG93,3951 -#define BAYCOM_OPTIONS_SOFTDCD 98,4007 -static const char bc_drvname[102,4119 -static const char bc_drvinfo[103,4166 -#define NR_PORTS 108,4419 -static struct net_device *baycom_device[110,4439 -#define PAR96_BURSTBITS 114,4568 -#define PAR96_BURST 115,4595 -#define PAR96_PTT 116,4621 -#define PAR96_TXBIT 117,4647 -#define PAR96_ACK 118,4673 -#define PAR96_RXBIT 119,4702 -#define PAR96_DCD 120,4731 -#define PAR97_POWER 121,4760 -struct baycom_state baycom_state128,4927 - struct modem_state modem_state134,5027 - struct modem_state_par96 modem_state_par96138,5115 - struct debug_vals debug_vals147,5281 -static void __inline__ baycom_int_freq(159,5540 -#define PAR96_DESCRAM_TAP1 182,6218 -#define PAR96_DESCRAM_TAP2 183,6253 -#define PAR96_DESCRAM_TAP3 184,6288 -#define PAR96_DESCRAM_TAPSH1 186,6324 -#define PAR96_DESCRAM_TAPSH2 187,6356 -#define PAR96_DESCRAM_TAPSH3 188,6388 -#define PAR96_SCRAM_TAP1 190,6420 -#define PAR96_SCRAM_TAPN 191,6464 -static __inline__ void par96_tx(195,6589 -static __inline__ void par96_rx(219,7350 -static void par96_interrupt(272,9259 -static void par96_wakeup(299,9916 -static int par96_open(311,10318 -static int par96_close(360,11869 -static struct hdlcdrv_ops par96_ops 389,12701 -static int baycom_setmode(399,12944 -static int baycom_ioctl(412,13292 -static const char *mode[480,14938 -static int iobase[481,14989 -static int __init init_baycompar(494,15520 -static void __exit cleanup_baycompar(533,16179 -static int __init baycom_par_setup(557,16572 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamradio/baycom_ser_fdx.c,1749 -#define BAYCOM_DEBUG85,3826 -static const char bc_drvname[89,3925 -static const char bc_drvinfo[90,3976 -#define NR_PORTS 95,4238 -static struct net_device *baycom_device[97,4258 -#define RBR(RBR101,4387 -#define THR(THR102,4418 -#define IER(IER103,4449 -#define IIR(IIR104,4480 -#define FCR(FCR105,4511 -#define LCR(LCR106,4542 -#define MCR(MCR107,4573 -#define LSR(LSR108,4604 -#define MSR(MSR109,4635 -#define SCR(SCR110,4666 -#define DLL(DLL111,4697 -#define DLM(DLM112,4728 -#define SER12_EXTENT 114,4760 -struct baycom_state baycom_state121,4921 - struct modem_state modem_state127,5060 - struct modem_state_ser12 modem_state_ser12131,5148 - struct debug_vals debug_vals142,5378 -static inline void baycom_int_freq(154,5637 -static inline void ser12_set_divisor(179,6388 -static inline unsigned int hweight16(203,7330 -static inline unsigned int hweight8(216,7790 -static __inline__ void ser12_rx(226,8093 -static irqreturn_t ser12_interrupt(281,9806 -enum uart uart369,12182 -enum uart { c_uart_unknown,369,12182 -enum uart { c_uart_unknown, c_uart_8250,369,12182 - c_uart_16450,370,12223 - c_uart_16450, c_uart_16550,370,12223 - c_uart_16450, c_uart_16550, c_uart_16550A}370,12223 -static const char *uart_str[371,12272 -static enum uart ser12_check_uart(375,12359 -static int ser12_open(408,13226 -static int ser12_close(467,15105 -static struct hdlcdrv_ops ser12_ops 497,15949 -static int baycom_setmode(507,16193 -static int baycom_ioctl(527,16642 -static char *mode[597,18388 -static int iobase[598,18433 -static int irq[599,18475 -static int baud[600,18510 -static int __init init_baycomserfdx(617,19269 -static void __exit cleanup_baycomserfdx(657,19969 -static int __init baycom_ser_fdx_setup(683,20547 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ariadne.c,1187 -int ariadne_debug 60,1733 -int ariadne_debug 62,1774 -#define swapw(swapw71,1898 -#define lowb(lowb73,1986 -#define swhighw(swhighw75,2058 -#define swloww(swloww77,2161 -#define TX_RING_SIZE 84,2276 -#define RX_RING_SIZE 85,2299 -#define PKT_BUF_SIZE 87,2324 -struct ariadne_private ariadne_private94,2395 -struct lancedata lancedata110,2851 -static void memcpyw(131,3707 -static struct zorro_device_id ariadne_zorro_tbl[147,4061 -static struct zorro_device_id ariadne_zorro_tbl[] __devinitdata 147,4061 -static struct zorro_driver ariadne_driver 152,4186 -static int __devinit ariadne_init_one(159,4372 -static int ariadne_open(228,6323 -static void ariadne_init_ring(334,10033 -static int ariadne_close(380,11461 -static inline void ariadne_reset(407,12222 -static irqreturn_t ariadne_interrupt(419,12522 -static void ariadne_tx_timeout(579,16627 -static int ariadne_start_xmit(590,16914 -static int ariadne_rx(698,19494 -static struct net_device_stats *ariadne_get_stats(790,22142 -static void set_multicast_list(814,22909 -static void __devexit ariadne_remove_one(855,24175 -static int __init ariadne_init_module(865,24491 -static void __exit ariadne_cleanup_module(870,24587 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/s2io.h,7591 -#define _S2IO_H14,769 -#define TBD 16,786 -#define BIT(BIT17,800 -#define vBIT(vBIT18,851 -#define BOOL 21,920 -#define TRUE 25,961 -#define FALSE 26,979 -#define SUCCESS 30,1020 -#define FAILURE 31,1038 -typedef enum xena_max_outstanding_splits xena_max_outstanding_splits34,1119 - XENA_ONE_SPLIT_TRANSACTION 35,1162 - XENA_TWO_SPLIT_TRANSACTION 36,1195 - XENA_THREE_SPLIT_TRANSACTION 37,1228 - XENA_FOUR_SPLIT_TRANSACTION 38,1263 - XENA_EIGHT_SPLIT_TRANSACTION 39,1297 - XENA_TWELVE_SPLIT_TRANSACTION 40,1332 - XENA_SIXTEEN_SPLIT_TRANSACTION 41,1368 - XENA_THIRTYTWO_SPLIT_TRANSACTION 42,1405 -} xena_max_outstanding_splits;xena_max_outstanding_splits43,1443 -#define XENA_MAX_OUTSTANDING_SPLITS(XENA_MAX_OUTSTANDING_SPLITS44,1474 -#define WATCH_DOG_TIMEOUT 47,1567 -#define EFILL 48,1601 -#define ALIGN_SIZE 49,1631 -#define PCIX_COMMAND_REGISTER 50,1658 -#define DEBUG_ON 55,1729 -#define ERR_DBG 58,1782 -#define INIT_DBG 59,1801 -#define INFO_DBG 60,1820 -#define TX_DBG 61,1839 -#define INTR_DBG 62,1857 -int debug_level 65,1951 -#define DBG_PRINT(DBG_PRINT68,2027 -#define L3_CKSUM_OK 71,2151 -#define L4_CKSUM_OK 72,2178 -#define S2IO_JUMBO_SIZE 73,2205 -typedef struct stat_block stat_block76,2270 -} StatInfo_t;StatInfo_t306,7161 -typedef struct tx_fifo_config tx_fifo_config313,7314 -#define MAX_AVAILABLE_TXDS 314,7346 -#define TX_FIFO_PRI_0 317,7473 -#define TX_FIFO_PRI_1 318,7524 -#define TX_FIFO_PRI_2 319,7562 -#define TX_FIFO_PRI_3 320,7600 -#define TX_FIFO_PRI_4 321,7638 -#define TX_FIFO_PRI_5 322,7676 -#define TX_FIFO_PRI_6 323,7714 -#define TX_FIFO_PRI_7 324,7752 -#define NO_SNOOP_TXD 328,7925 -#define NO_SNOOP_TXD_BUFFER 329,7966 -} tx_fifo_config_t;tx_fifo_config_t330,8008 -typedef struct rx_ring_config rx_ring_config334,8075 -#define RX_RING_PRI_0 336,8149 -#define RX_RING_PRI_1 337,8201 -#define RX_RING_PRI_2 338,8239 -#define RX_RING_PRI_3 339,8277 -#define RX_RING_PRI_4 340,8315 -#define RX_RING_PRI_5 341,8353 -#define RX_RING_PRI_6 342,8391 -#define RX_RING_PRI_7 343,8429 -#define RING_ORG_BUFF1 348,8638 -#define RX_RING_ORG_BUFF3 349,8676 -#define RX_RING_ORG_BUFF5 350,8717 -#define BUFF_SZ_1 353,8836 -#define BUFF_SZ_2 354,8897 -#define BUFF_SZ_3 355,8971 -#define BUFF_SZ_3_JUMBO 356,9038 -#define DEFAULT_RXD_THRESHOLD 359,9188 -#define NO_SNOOP_RXD 361,9253 -#define NO_SNOOP_RXD_BUFFER 362,9294 -#define RXD_BACKOFF_INTERVAL_DEF 364,9362 -#define RXD_BACKOFF_INTERVAL_MIN 365,9406 -#define RXD_BACKOFF_INTERVAL_MAX 366,9450 -} rx_ring_config_t;rx_ring_config_t367,9494 -struct config_param config_param372,9604 -#define MAX_TX_FIFOS 376,9682 -#define TX_REQ_TIMEOUT_DEFAULT 381,9897 -#define TX_REQ_TIMEOUT_MIN 382,9941 -#define TX_REQ_TIMEOUT_MAX 383,9985 -#define MAX_SERVICE_STATES 391,10312 -#define MAX_RX_RINGS 403,10723 -#define MAX_RX_BLOCKS_PER_RING 404,10746 -#define HEADER_ETHERNET_II_802_3_SIZE 410,10952 -#define HEADER_802_2_SIZE 411,10993 -#define HEADER_SNAP_SIZE 412,11034 -#define HEADER_VLAN_SIZE 413,11075 -#define MIN_MTU 415,11117 -#define MAX_PYLD 416,11158 -#define MAX_MTU 417,11199 -#define MAX_MTU_VLAN 418,11249 -#define MAX_PYLD_JUMBO 419,11299 -#define MAX_MTU_JUMBO 420,11340 -#define MAX_MTU_JUMBO_VLAN 421,11396 -#define MAX_SERVICE_STATES 428,11745 -#define STAT_TRSF_PER_1_SECOND 438,12150 -typedef struct mac_addr mac_addr442,12241 -} macaddr_t;macaddr_t444,12291 -typedef struct _TxFIFO_element _TxFIFO_element449,12390 -#define TX_FIFO_LAST_TXD_NUM(TX_FIFO_LAST_TXD_NUM453,12462 -#define TX_FIFO_FIRST_LIST 454,12515 -#define TX_FIFO_LAST_LIST 455,12562 -#define TX_FIFO_FIRSTNLAST_LIST 456,12609 -#define TX_FIFO_SPECIAL_FUNC 457,12661 -#define TX_FIFO_DS_NO_SNOOP 458,12708 -#define TX_FIFO_BUFF_NO_SNOOP 459,12755 -} TxFIFO_element_t;TxFIFO_element_t460,12802 -typedef struct _TxD _TxD463,12853 -#define TXD_LIST_OWN_XENA 466,12906 -#define TXD_T_CODE 467,12945 -#define TXD_T_CODE_OK(TXD_T_CODE_OK468,13011 -#define GET_TXD_T_CODE(GET_TXD_T_CODE469,13065 -#define TXD_GATHER_CODE 470,13122 -#define TXD_GATHER_CODE_FIRST 471,13174 -#define TXD_GATHER_CODE_LAST 472,13214 -#define TXD_TCP_LSO_EN 473,13254 -#define TXD_UDP_COF_EN 474,13294 -#define TXD_TCP_LSO_MSS(TXD_TCP_LSO_MSS475,13334 -#define TXD_BUFFER0_SIZE(TXD_BUFFER0_SIZE476,13382 -#define TXD_TX_CKO_CONTROL 479,13447 -#define TXD_TX_CKO_IPV4_EN 480,13502 -#define TXD_TX_CKO_TCP_EN 481,13541 -#define TXD_TX_CKO_UDP_EN 482,13580 -#define TXD_VLAN_ENABLE 483,13619 -#define TXD_VLAN_TAG(TXD_VLAN_TAG484,13659 -#define TXD_INT_NUMBER(TXD_INT_NUMBER485,13707 -#define TXD_INT_TYPE_PER_LIST 486,13754 -#define TXD_INT_TYPE_UTILZ 487,13794 -#define TXD_SET_MARKER 488,13834 -} TxD_t;TxD_t492,13944 -typedef struct _RxD_t _RxD_t495,13984 -#define RXD_OWN_XENA 498,14067 -#define RXD_T_CODE 499,14106 -#define RXD_FRAME_PROTO 500,14172 -#define RXD_FRAME_PROTO_IPV4 501,14222 -#define RXD_FRAME_PROTO_IPV6 502,14262 -#define RXD_FRAME_PROTO_TCP 503,14302 -#define RXD_FRAME_PROTO_UDP 504,14342 -#define TCP_OR_UDP_FRAME 505,14382 -#define RXD_GET_L3_CKSUM(RXD_GET_L3_CKSUM506,14458 -#define RXD_GET_L4_CKSUM(RXD_GET_L4_CKSUM507,14517 -#define MASK_BUFFER0_SIZE 510,14588 -#define SET_BUFFER0_SIZE(SET_BUFFER0_SIZE511,14638 -#define MASK_VLAN_TAG 512,14685 -#define SET_VLAN_TAG(SET_VLAN_TAG513,14736 -#define SET_NUM_TAG(SET_NUM_TAG514,14784 -#define RXD_GET_BUFFER0_SIZE(RXD_GET_BUFFER0_SIZE516,14832 -} RxD_t;RxD_t522,15123 -typedef struct _RxD_block _RxD_block528,15230 -#define MAX_RXDS_PER_BLOCK 529,15258 -#define END_OF_BLOCK 533,15351 -} RxD_block_t;RxD_block_t539,15639 -typedef struct _rx_curr_get_info_t _rx_curr_get_info_t547,15871 -} rx_curr_get_info_t;rx_curr_get_info_t551,15954 -typedef rx_curr_get_info_t rx_curr_put_info_t;rx_curr_put_info_t553,15977 -} tx_curr_get_info_t;tx_curr_get_info_t562,16250 -typedef tx_curr_get_info_t tx_curr_put_info_t;tx_curr_put_info_t564,16273 -typedef struct mac_info mac_info569,16424 -} mac_info_t;mac_info_t621,18250 -} usr_addr_t;usr_addr_t627,18380 -typedef struct rx_block_info rx_block_info630,18463 -} rx_block_info_t;rx_block_info_t633,18547 -typedef struct s2io_nic s2io_nic636,18620 -#define MAX_MAC_SUPPORTED 637,18646 -#define MAX_SUPPORTED_MULTICASTS 638,18677 -#define PROMISC 677,19439 -#define ALL_MULTI 678,19461 -#define MAX_ADDRS_SUPPORTED 680,19484 -#define LINK_DOWN 738,20795 -#define LINK_UP 739,20815 -} nic_t;nic_t740,20834 -#define RESET_ERROR 742,20844 -#define CMD_ERROR 743,20867 -#define DEFAULT_FIFO_LEN 746,20936 -#define SMALL_RXD_CNT 747,20966 -#define LARGE_RXD_CNT 748,21016 -static inline u64 readq(752,21113 -static inline void writeq(764,21262 -#define ENABLE_INTRS 773,21430 -#define DISABLE_INTRS 774,21456 -#define TX_PIC_INTR 777,21521 -#define TX_DMA_INTR 778,21557 -#define TX_MAC_INTR 779,21593 -#define TX_XGXS_INTR 780,21629 -#define TX_TRAFFIC_INTR 781,21665 -#define RX_PIC_INTR 782,21701 -#define RX_DMA_INTR 783,21737 -#define RX_MAC_INTR 784,21773 -#define RX_XGXS_INTR 785,21809 -#define RX_TRAFFIC_INTR 786,21845 -#define MC_INTR 787,21881 -#define ENA_ALL_INTRS 788,21918 -#define DISABLE_ALL_INTRS 801,22501 -#define TXPIC_INT_M 803,22552 -#define TXDMA_INT_M 804,22587 -#define TXMAC_INT_M 805,22622 -#define TXXGXS_INT_M 806,22657 -#define TXTRAFFIC_INT_M 807,22692 -#define PIC_RX_INT_M 808,22727 -#define RXDMA_INT_M 809,22763 -#define RXMAC_INT_M 810,22799 -#define MC_INT_M 811,22835 -#define RXXGXS_INT_M 812,22871 -#define RXTRAFFIC_INT_M 813,22907 -#define TXDMA_PFC_INT_M 818,23005 -#define PFC_MISC_ERR_1 820,23072 -static struct ethtool_ops netdev_ethtool_ops;852,24324 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibmveth.c,3317 -#define DEBUG 62,2902 -#define ibmveth_printk(ibmveth_printk64,2919 -#define ibmveth_error_printk(ibmveth_error_printk67,3009 -#define ibmveth_debug_printk_no_adapter(ibmveth_debug_printk_no_adapter71,3177 -#define ibmveth_debug_printk(ibmveth_debug_printk73,3303 -#define ibmveth_assert(ibmveth_assert75,3453 -#define ibmveth_debug_printk_no_adapter(ibmveth_debug_printk_no_adapter81,3683 -#define ibmveth_debug_printk(ibmveth_debug_printk82,3737 -#define ibmveth_assert(ibmveth_assert83,3780 -#define IBMVETH_PROC_DIR 101,4704 -static struct proc_dir_entry *ibmveth_proc_dir;102,4739 -static const char ibmveth_driver_name[105,4795 -static const char ibmveth_driver_string[106,4848 -#define ibmveth_driver_version 107,4933 -static inline int ibmveth_rxq_pending_buffer(115,5213 -static inline int ibmveth_rxq_buffer_valid(120,5396 -static inline int ibmveth_rxq_frame_offset(125,5548 -static inline int ibmveth_rxq_frame_length(130,5701 -static void ibmveth_init_buffer_pool(136,5905 -static int ibmveth_alloc_buffer_pool(145,6202 -static void ibmveth_replenish_buffer_pool(190,7166 -static inline int ibmveth_is_replenishing_needed(255,8911 -static void ibmveth_replenish_task(263,9315 -static inline void ibmveth_schedule_replenishing(277,9839 -static void ibmveth_free_buffer_pool(286,10164 -static void ibmveth_remove_buffer_from_pool(321,10845 -static inline struct sk_buff *ibmveth_rxq_get_buffer(351,11733 -static void ibmveth_rxq_recycle_buffer(364,12204 -static inline void ibmveth_rxq_harvest_buffer(394,13279 -static void ibmveth_cleanup(404,13627 -static int ibmveth_open(438,14883 -static int ibmveth_close(548,18535 -static int netdev_get_settings(581,19268 -static void netdev_get_drvinfo 595,19746 -static u32 netdev_get_link(600,19984 -static struct ethtool_ops netdev_ethtool_ops 604,20051 -static int ibmveth_ioctl(612,20284 -#define page_offset(page_offset617,20387 -static int ibmveth_start_xmit(619,20450 -static int ibmveth_poll(721,23384 -static irqreturn_t ibmveth_interrupt(797,25349 -static struct net_device_stats *ibmveth_get_stats(811,25767 -static void ibmveth_set_multicast_list(817,25917 -static int ibmveth_change_mtu(865,27614 -static int __devinit ibmveth_probe(873,27781 -static int __devexit ibmveth_remove(978,30973 -static void ibmveth_proc_register_driver(992,31264 -static void ibmveth_proc_unregister_driver(1000,31458 -static void *ibmveth_seq_start(1005,31560 -static void *ibmveth_seq_next(1014,31698 -static void ibmveth_seq_stop(1020,31800 -static int ibmveth_seq_show(1024,31866 -static struct seq_operations ibmveth_seq_ops 1055,33634 -static int ibmveth_proc_open(1062,33800 -static struct file_operations ibmveth_proc_fops 1078,34140 -static void ibmveth_proc_register_adapter(1086,34321 -static void ibmveth_proc_unregister_adapter(1102,34745 -static void ibmveth_proc_register_adapter(1110,34944 -static void ibmveth_proc_unregister_adapter(1114,35025 -static void ibmveth_proc_register_driver(1117,35107 -static void ibmveth_proc_unregister_driver(1121,35159 -static struct vio_device_id ibmveth_device_table[1126,35241 -static struct vio_device_id ibmveth_device_table[] __devinitdata=1126,35241 -static struct vio_driver ibmveth_driver 1133,35397 -static int __init ibmveth_module_init(1140,35590 -static void __exit ibmveth_module_exit(1149,35820 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/eepro100.c,9448 -static const char *version 30,1250 -static int congenb 37,1610 -static int txfifo 38,1688 -static int rxfifo 39,1758 -static int txdmacount 41,1903 -static int rxdmacount 42,1932 -# define rx_align(rx_align47,2141 -# define RxFD_ALIGNMENT 48,2187 -# define rx_align(rx_align50,2256 -# define RxFD_ALIGNMENT51,2279 -static int rx_copybreak 56,2431 -static int max_interrupt_work 59,2532 -static int multicast_filter_limit 62,2646 -static int full_duplex[66,2822 -static int options[67,2883 -#define TX_RING_SIZE 71,3043 -#define RX_RING_SIZE 72,3067 -#define TX_MULTICAST_SIZE 75,3211 -#define TX_MULTICAST_RESERV 76,3241 -#define TX_QUEUE_LIMIT 79,3381 -#define TX_QUEUE_UNFULL 81,3490 -#define TX_TIMEOUT 86,3659 -#define PKT_BUF_SZ 88,3751 -#define USE_IO 119,4465 -static int debug 122,4490 -#define DEBUG_DEFAULT 123,4513 -#define DEBUG 127,4628 -#define RUN_AT(RUN_AT156,6048 -#define pci_set_power_state 161,6181 -static inline int null_set_power_state(162,6230 -#define netdevice_start(netdevice_start168,6340 -#define netdevice_stop(netdevice_stop169,6369 -#define netif_set_tx_timeout(netif_set_tx_timeout170,6397 -enum pci_flags_bit pci_flags_bit294,12128 - PCI_USES_IO=295,12149 - PCI_USES_IO=1, PCI_USES_MEM=295,12149 - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=295,12149 - PCI_ADDR0=296,12200 - PCI_ADDR0=0x10<296,12200 - PCI_ADDR0=0x10<<0, PCI_ADDR1=296,12200 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<296,12200 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=296,12200 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<296,12200 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<<2, PCI_ADDR3=296,12200 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<<2, PCI_ADDR3=0x10<296,12200 -static inline unsigned int io_inw(299,12281 -static inline void io_outw(303,12358 -#define inb 317,12617 -#define inw 318,12635 -#define inl 319,12653 -#define outb 320,12671 -#define outw 321,12691 -#define outl 322,12711 -enum speedo_offsets speedo_offsets327,12825 - SCBStatus 328,12847 - SCBStatus = 0, SCBCmd 328,12847 - SCBIntmask 329,12917 - SCBPointer 330,12934 - SCBPort 331,12985 - SCBflash 332,13038 - SCBflash = 12, SCBeeprom 332,13038 - SCBCtrlMDI 333,13109 - SCBEarlyRx 334,13158 -enum commands commands337,13269 - CmdNOp 338,13285 - CmdNOp = 0, CmdIASetup 338,13285 - CmdNOp = 0, CmdIASetup = 0x10000,338,13285 - CmdNOp = 0, CmdIASetup = 0x10000, CmdConfigure 338,13285 - CmdNOp = 0, CmdIASetup = 0x10000, CmdConfigure = 0x20000,338,13285 - CmdMulticastList 339,13344 - CmdMulticastList = 0x30000,339,13344 - CmdMulticastList = 0x30000, CmdTx 339,13344 - CmdMulticastList = 0x30000, CmdTx = 0x40000,339,13344 - CmdMulticastList = 0x30000, CmdTx = 0x40000, CmdTDR 339,13344 - CmdMulticastList = 0x30000, CmdTx = 0x40000, CmdTDR = 0x50000,339,13344 - CmdDump 340,13408 - CmdDump = 0x60000,340,13408 - CmdDump = 0x60000, CmdDiagnose 340,13408 - CmdDump = 0x60000, CmdDiagnose = 0x70000,340,13408 - CmdSuspend 341,13451 - CmdSuspend = 0x40000000,341,13451 - CmdIntr 342,13509 - CmdIntr = 0x20000000,342,13509 - CmdTxFlex 343,13567 - CmdTxFlex = 0x00080000,343,13567 -# define clear_suspend(clear_suspend350,13853 -# define clear_suspend(clear_suspend353,13953 -# define clear_suspend(clear_suspend355,14056 -enum SCBCmdBits SCBCmdBits361,14184 - SCBMaskCmdDone=362,14202 - SCBMaskCmdDone=0x8000,362,14202 - SCBMaskCmdDone=0x8000, SCBMaskRxDone=362,14202 - SCBMaskCmdDone=0x8000, SCBMaskRxDone=0x4000,362,14202 - SCBMaskCmdDone=0x8000, SCBMaskRxDone=0x4000, SCBMaskCmdIdle=362,14202 - SCBMaskCmdDone=0x8000, SCBMaskRxDone=0x4000, SCBMaskCmdIdle=0x2000,362,14202 - SCBMaskRxSuspend=363,14271 - SCBMaskRxSuspend=0x1000,363,14271 - SCBMaskRxSuspend=0x1000, SCBMaskEarlyRx=363,14271 - SCBMaskRxSuspend=0x1000, SCBMaskEarlyRx=0x0800,363,14271 - SCBMaskRxSuspend=0x1000, SCBMaskEarlyRx=0x0800, SCBMaskFlowCtl=363,14271 - SCBMaskRxSuspend=0x1000, SCBMaskEarlyRx=0x0800, SCBMaskFlowCtl=0x0400,363,14271 - SCBTriggerIntr=364,14343 - SCBTriggerIntr=0x0200,364,14343 - SCBTriggerIntr=0x0200, SCBMaskAll=364,14343 - SCBTriggerIntr=0x0200, SCBMaskAll=0x0100,364,14343 - CUStart=366,14426 - CUStart=0x0010,366,14426 - CUStart=0x0010, CUResume=366,14426 - CUStart=0x0010, CUResume=0x0020,366,14426 - CUStart=0x0010, CUResume=0x0020, CUStatsAddr=366,14426 - CUStart=0x0010, CUResume=0x0020, CUStatsAddr=0x0040,366,14426 - CUStart=0x0010, CUResume=0x0020, CUStatsAddr=0x0040, CUShowStats=366,14426 - CUStart=0x0010, CUResume=0x0020, CUStatsAddr=0x0040, CUShowStats=0x0050,366,14426 - CUCmdBase=367,14500 - CUCmdBase=0x0060,367,14500 - CUDumpStats=368,14557 - CUDumpStats=0x0070,368,14557 - RxStart=369,14616 - RxStart=0x0001,369,14616 - RxStart=0x0001, RxResume=369,14616 - RxStart=0x0001, RxResume=0x0002,369,14616 - RxStart=0x0001, RxResume=0x0002, RxAbort=369,14616 - RxStart=0x0001, RxResume=0x0002, RxAbort=0x0004,369,14616 - RxStart=0x0001, RxResume=0x0002, RxAbort=0x0004, RxAddrLoad=369,14616 - RxStart=0x0001, RxResume=0x0002, RxAbort=0x0004, RxAddrLoad=0x0006,369,14616 - RxResumeNoResources=370,14685 - RxResumeNoResources=0x0007,370,14685 -enum SCBPort_cmds SCBPort_cmds373,14718 - PortReset=374,14738 - PortReset=0, PortSelfTest=374,14738 - PortReset=0, PortSelfTest=1, PortPartialReset=374,14738 - PortReset=0, PortSelfTest=1, PortPartialReset=2, PortDump=374,14738 -struct descriptor descriptor378,14858 -struct RxFD RxFD385,15098 -} RxFD_ALIGNMENT;390,15250 -enum RxFD_bits RxFD_bits393,15321 - RxComplete=394,15338 - RxComplete=0x8000,394,15338 - RxComplete=0x8000, RxOK=394,15338 - RxComplete=0x8000, RxOK=0x2000,394,15338 - RxErrCRC=395,15371 - RxErrCRC=0x0800,395,15371 - RxErrCRC=0x0800, RxErrAlign=395,15371 - RxErrCRC=0x0800, RxErrAlign=0x0400,395,15371 - RxErrCRC=0x0800, RxErrAlign=0x0400, RxErrTooBig=395,15371 - RxErrCRC=0x0800, RxErrAlign=0x0400, RxErrTooBig=0x0200,395,15371 - RxErrCRC=0x0800, RxErrAlign=0x0400, RxErrTooBig=0x0200, RxErrSymbol=395,15371 - RxErrCRC=0x0800, RxErrAlign=0x0400, RxErrTooBig=0x0200, RxErrSymbol=0x0010,395,15371 - RxEth2Type=396,15448 - RxEth2Type=0x0020,396,15448 - RxEth2Type=0x0020, RxNoMatch=396,15448 - RxEth2Type=0x0020, RxNoMatch=0x0004,396,15448 - RxEth2Type=0x0020, RxNoMatch=0x0004, RxNoIAMatch=396,15448 - RxEth2Type=0x0020, RxNoMatch=0x0004, RxNoIAMatch=0x0002,396,15448 - TxUnderrun=397,15506 - TxUnderrun=0x1000,397,15506 - TxUnderrun=0x1000, StatusComplete=397,15506 - TxUnderrun=0x1000, StatusComplete=0x8000,397,15506 -#define CONFIG_DATA_SIZE 400,15554 -struct TxFD TxFD401,15582 -#define TX_DESCR_BUF_OFFSET 407,15869 -struct speedo_mc_block speedo_mc_block417,16269 -struct speedo_stats speedo_stats426,16528 -enum Rx_ring_state_bits Rx_ring_state_bits446,16897 - RrNoMem=447,16923 - RrNoMem=1, RrPostponed=447,16923 - RrNoMem=1, RrPostponed=2, RrNoResources=447,16923 - RrNoMem=1, RrPostponed=2, RrNoResources=4, RrOOMReported=447,16923 -struct speedo_private speedo_private455,17234 -#define TX_RING_ELEM_DMA(TX_RING_ELEM_DMA463,17598 -static const char i82557_config_cmd[501,19402 -static const char i82558_config_cmd[506,19633 -static const char *phys[513,19886 -enum phy_chips phy_chips518,20115 -enum phy_chips { NonSuchPhy=518,20115 -enum phy_chips { NonSuchPhy=0, I82553AB,518,20115 -enum phy_chips { NonSuchPhy=0, I82553AB, I82553C,518,20115 -enum phy_chips { NonSuchPhy=0, I82553AB, I82553C, I82503,518,20115 -enum phy_chips { NonSuchPhy=0, I82553AB, I82553C, I82503, DP83840,518,20115 -enum phy_chips { NonSuchPhy=0, I82553AB, I82553C, I82503, DP83840, S80C240,518,20115 - S80C24,519,20191 - S80C24, I82555,519,20191 - S80C24, I82555, DP83840A=519,20191 -static const char is_mii[520,20229 -#define EE_READ_CMD 521,20286 -static int mii_ctrl[550,21639 -static inline unsigned char wait_for_cmd_done(556,21841 -static int __devinit eepro100_init_one 572,22163 -static void poll_speedo 657,24512 -static int __devinit speedo_found1(667,24762 -static void do_slow_command(914,32491 -#define EE_SHIFT_CLK 940,33249 -#define EE_CS 941,33301 -#define EE_DATA_WRITE 942,33348 -#define EE_DATA_READ 943,33402 -#define EE_ENB 944,33456 -#define EE_WRITE_0 945,33490 -#define EE_WRITE_1 946,33517 -#define EE_OFFSET 947,33544 -static int __devinit do_eeprom_cmd(956,33972 -static int mdio_read(978,34627 -static void mdio_write(993,35081 -speedo_open(1009,35548 -static void speedo_resume(1096,37962 -speedo_rx_soft_reset(1176,40832 -static void speedo_timer(1207,41504 -static void speedo_show_state(1253,43111 -speedo_init_rx_ring(1296,44469 -static void speedo_purge_tx(1344,46253 -static void reset_mii(1376,47162 -static void speedo_tx_timeout(1399,47971 -speedo_start_xmit(1461,49888 -static void speedo_tx_buffer_gc(1531,52094 -static irqreturn_t speedo_interrupt(1592,54036 -static inline struct RxFD *speedo_rx_alloc(1691,56892 -static inline void speedo_rx_link(1717,57792 -static int speedo_refill_rx_buf(1732,58368 -static void speedo_refill_rx_buffers(1774,59636 -speedo_rx(1784,59891 -speedo_close(1902,63583 -speedo_get_stats(1981,65760 -static int netdev_ethtool_ioctl(2013,67129 -static int speedo_ioctl(2089,69085 -static void set_rx_mode(2140,70962 -static int eepro100_suspend(2331,77066 -static int eepro100_resume(2351,77493 -static void __devexit eepro100_remove_one 2381,78276 -static struct pci_device_id eepro100_pci_tbl[2402,78864 -static struct pci_driver eepro100_driver 2438,80692 -static int __init eepro100_init_module(2449,80969 -static void __exit eepro100_cleanup_module(2457,81101 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/meth.c,1587 -#define MFE_DEBUG 43,1242 -#define DPRINTK(DPRINTK47,1287 -#define MFE_RX_DEBUG 48,1376 -#define DPRINTK(DPRINTK50,1405 -#define MFE_RX_DEBUG 51,1434 -static const char *meth_str=55,1466 -#define HAVE_TX_TIMEOUT59,1629 -#define TX_TIMEOUT 61,1733 -static int timeout 64,1790 -struct meth_private meth_private72,1983 -char o2meth_eaddr[98,2817 -static inline void load_eaddr(100,2858 -#define WAIT_FOR_PHY(WAIT_FOR_PHY114,3323 -static unsigned long mdio_read(119,3487 -static int mdio_probe(131,3792 -static void meth_check_link(173,4639 -static int meth_init_tx_ring(208,5625 -static int meth_init_rx_ring(224,6174 -static void meth_free_tx_ring(241,6778 -static void meth_free_rx_ring(256,7177 -int meth_reset(268,7447 -static int meth_open(309,8438 -static int meth_release(353,9354 -static int meth_config(373,9846 -static void meth_rx(398,10456 -static int meth_tx_full(488,13750 -static void meth_tx_cleanup(495,13914 -static void meth_error(558,15681 -static irqreturn_t meth_interrupt(592,16850 -static void meth_tx_short_prepare(626,17845 -#define TX_CATBUF1 638,18281 -static void meth_tx_1page_prepare(639,18308 -#define TX_CATBUF2 663,19099 -static void meth_tx_2page_prepare(664,19126 -static void meth_add_to_tx_ring(695,20317 -static int meth_tx(718,21030 -static void meth_tx_timeout(749,21827 -static int meth_ioctl(786,22628 -static struct net_device_stats *meth_stats(795,22780 -static struct net_device *meth_init(804,22967 -static struct net_device *meth_dev;841,23871 -static int __init meth_init_module(843,23908 -static void __exit meth_exit_module(851,24041 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mace.h,2202 -#define REG(REG13,419 -struct mace mace15,480 -#define DRTRY 51,1734 -#define DXMTFCS 52,1801 -#define AUTO_PAD_XMIT 53,1867 -#define XMTSV 56,2006 -#define UFLO 57,2067 -#define LCOL 58,2122 -#define MORE 59,2185 -#define ONE 60,2249 -#define DEFER 61,2302 -#define LCAR 62,2367 -#define RTRY 63,2431 -#define EXDEF 66,2565 -#define RETRY_MASK 67,2623 -#define LLRCV 70,2701 -#define M_RBAR 71,2766 -#define AUTO_STRIP_RCV 72,2820 -#define RS_OFLO 82,3184 -#define RS_CLSN 83,3238 -#define RS_FRAMERR 84,3309 -#define RS_FCSERR 85,3360 -#define RS_COUNT 86,3411 -#define RCVFC_SH 89,3498 -#define RCVFC_MASK 90,3551 -#define XMTFC_SH 91,3575 -#define XMTFC_MASK 92,3629 -#define JABBER 98,3787 -#define BABBLE 99,3855 -#define CERR 100,3921 -#define RCVCCO 101,3986 -#define RNTPCO 102,4028 -#define MPCO 103,4070 -#define RCVINT 104,4108 -#define XMTINT 105,4153 -#define XMTSV 108,4220 -#define TDTREQ 109,4277 -#define RDTREQ 110,4342 -#define BSWP 113,4428 -#define XMTSP_4 114,4484 -#define XMTSP_16 115,4548 -#define XMTSP_64 116,4613 -#define XMTSP_112 117,4678 -#define SWRST 118,4745 -#define XMTFW_8 121,4808 -#define XMTFW_16 122,4871 -#define XMTFW_32 123,4914 -#define RCVFW_16 124,4957 -#define RCVFW_32 125,5022 -#define RCVFW_64 126,5066 -#define XMTFWU 127,5110 -#define RCVFWU 128,5171 -#define XMTBRST 129,5232 -#define RCVBRST 130,5287 -#define PROM 133,5362 -#define DXMT2PD 134,5404 -#define EMBA 135,5473 -#define DRCVPA 136,5532 -#define DRCVBC 137,5594 -#define ENXMT 138,5650 -#define ENRCV 139,5695 -#define XMTSEL 142,5758 -#define PORTSEL_AUI 143,5816 -#define PORTSEL_10T 144,5863 -#define PORTSEL_DAI 145,5915 -#define PORTSEL_GPSI 146,5962 -#define ENPLSIO 147,6011 -#define LNKFL 150,6089 -#define DLNKTST 151,6145 -#define REVPOL 152,6200 -#define DAPC 153,6263 -#define LRT 154,6330 -#define ASEL 155,6391 -#define RWAKE 156,6449 -#define AWAKE 157,6496 -#define ADDRCHG 160,6560 -#define PHYADDR 161,6611 -#define LOGADDR 162,6663 -#define RTRE 165,6734 -#define RTRD 166,6801 -#define RPAC 167,6866 -#define FCOLL 168,6911 -#define RCVFCSE 169,6953 -#define LOOP_NONE 170,7000 -#define LOOP_EXT 171,7041 -#define LOOP_INT 172,7087 -#define LOOP_MENDEC 173,7150 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mvme147.c,643 -#define LANCE_LOG_TX_BUFFERS 35,987 -#define LANCE_LOG_RX_BUFFERS 36,1018 -struct m147lance_private m147lance_private41,1163 -typedef void (*writerap_t)writerap_t58,1883 -typedef void (*writerdp_t)writerdp_t59,1935 -typedef unsigned short (*readrdp_t)readrdp_t60,1987 -struct net_device * __init mvme147lance_probe(63,2081 -static void m147lance_writerap(148,4567 -static void m147lance_writerdp(153,4683 -static unsigned short m147lance_readrdp(158,4799 -static int m147lance_open(163,4901 -static int m147lance_close(177,5254 -static struct net_device *dev_mvme147_lance;188,5469 -int init_module(189,5514 -void cleanup_module(197,5666 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_firmware.c,216 -static int dgrs_firmnum 1,0 -static char dgrs_firmver[2,31 -static char dgrs_firmdate[3,73 -static unsigned char dgrs_code[4,124 -static unsigned char dgrs_code[] __initdata 4,124 -static int dgrs_ncode 9966,359133 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/slip.c,1148 -#define SL_CHECK_TRANSMIT57,2690 -#define SLIP_VERSION 84,3296 -static struct net_device **slip_devs;86,3342 -int slip_maxdev 88,3381 -sl_alloc_bufs(120,4390 -sl_free_bufs(201,6016 -static int sl_realloc_bufs(222,6418 -sl_lock(313,8263 -sl_unlock(321,8410 -sl_bump(328,8550 -sl_encaps(386,10070 -static void slip_write_wakeup(436,11523 -static void sl_tx_timeout(459,12082 -sl_xmit(495,12948 -sl_close(529,13641 -static int sl_open(548,13993 -static int sl_change_mtu(562,14231 -sl_get_stats(577,14551 -static int sl_init(613,15601 -static void sl_uninit(631,15915 -static void sl_setup(638,16032 -static int slip_receive_room(666,16684 -static void slip_receive_buf(680,17164 -static void sl_sync(712,17864 -sl_alloc(733,18223 -static int slip_open(850,20441 -slip_close(955,22957 -slip_esc(982,23622 -static void slip_unesc(1019,24238 -slip_esc6(1068,25286 -slip_unesc6(1106,25922 -static int slip_ioctl(1143,26802 -static int sl_ioctl(1261,29560 -static struct tty_ldisc sl_ldisc 1336,31320 -static int __init slip_init(1348,31609 -static void __exit slip_exit(1385,32721 -static void sl_outfill(1455,34067 -static void sl_keepalive(1490,34772 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/isa-skeleton.c,1127 -static const char *version 25,782 -static const char* cardname 68,2069 -static unsigned int netcard_portlist[73,2232 -static unsigned int netcard_portlist[] __initdata 73,2232 -#define NET_DEBUG 78,2422 -static unsigned int net_debug 80,2449 -#define NETCARD_IO_EXTENT 83,2550 -#define MY_TX_TIMEOUT 85,2580 -struct net_local net_local88,2675 -#define SA_ADDR0 101,3088 -#define SA_ADDR1 102,3110 -#define SA_ADDR2 103,3132 -#define tx_done(tx_done119,3784 -static int __init do_netcard_probe(130,4236 -static void cleanup_card(153,4738 -struct net_device * __init netcard_probe(165,4967 -static int __init netcard_probe1(196,5616 -static void net_tx_timeout(329,9275 -net_open(364,10373 -static int net_send_packet(402,11410 -void net_tx(468,13326 -static irqreturn_t net_interrupt(504,14101 -net_rx(542,14844 -net_close(594,16098 -static struct net_device_stats *net_get_stats(623,16629 -set_multicast_list(641,17182 -static struct net_device *this_device;669,17733 -static int io 670,17772 -static int irq;671,17795 -static int dma;672,17811 -static int mem;673,17827 -int init_module(676,17867 -cleanup_module(705,18446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_plx9060.h,4255 -#define PCI_PLXREGS_BASE_ADDR 9,173 -#define PCI_PLXREGS_IO_ADDR 11,209 -#define PCI_SPACE0_BASE_ADDR 13,243 -#define PCI_ROM_BASE_ADDR 15,278 -# define PCI_ROM_ENABLED 16,309 -#define PCI_INT_LINE 18,347 -#define PLX_LCL_OFFSET 24,507 -#define PLX_SPACE0_RANGE 29,613 -#define PLX_SPACE0_BASE_ADDR 30,683 -#define PLX_ROM_RANGE 32,747 -#define PLX_ROM_BASE_ADDR 33,811 -#define PLX_BUS_REGION 35,880 -#define PLX_MBOX0 40,975 -#define PLX_MBOX1 41,999 -#define PLX_MBOX2 42,1023 -#define PLX_MBOX3 43,1047 -#define PLX_MBOX4 44,1071 -#define PLX_MBOX5 45,1095 -#define PLX_MBOX6 46,1119 -#define PLX_MBOX7 47,1143 -#define PLX_PCI2LCL_DOORBELL 49,1168 -#define PLX_LCL2PCI_DOORBELL 51,1203 -#define PLX_INT_CSR 53,1238 -# define PLX_LSERR_ENABLE 54,1295 -# define PLX_LSERR_PE 55,1332 -# define PLX_SERR 56,1366 -# define PLX_PCI_IE 62,1596 -# define PLX_PCI_DOORBELL_IE 63,1628 -# define PLX_PCI_ABORT_IE 64,1668 -# define PLX_PCI_LOCAL_IE 65,1705 -# define PLX_RETRY_ABORT_ENABLE 66,1742 -# define PLX_PCI_DOORBELL_INT 67,1785 -# define PLX_PCI_ABORT_INT 68,1826 -# define PLX_PCI_LOCAL_INT 69,1864 -# define PLX_LCL_IE 70,1902 -# define PLX_LCL_DOORBELL_IE 71,1934 -# define PLX_LCL_DMA0_IE 72,1974 -# define PLX_LCL_DMA1_IE 73,2011 -# define PLX_LCL_DOORBELL_INT 74,2048 -# define PLX_LCL_DMA0_INT 75,2089 -# define PLX_LCL_DMA1_INT 76,2126 -# define PLX_LCL_BIST_INT 77,2163 -# define PLX_BM_DIRECT_ 78,2200 -# define PLX_BM_DMA0_ 79,2236 -# define PLX_BM_DMA1_ 80,2270 -# define PLX_BM_ABORT_ 81,2304 -#define PLX_MISC_CSR 87,2500 -# define PLX_USEROUT 88,2568 -# define PLX_USERIN 89,2601 -# define PLX_EECK 90,2633 -# define PLX_EECS 91,2664 -# define PLX_EEWD 92,2695 -# define PLX_EERD 93,2726 -#define PLX_DMA0_MODE 98,2810 -# define PLX_DMA_MODE_WIDTH32 99,2839 -# define PLX_DMA_MODE_WAITSTATES(PLX_DMA_MODE_WAITSTATES100,2880 -# define PLX_DMA_MODE_NOREADY 101,2925 -# define PLX_DMA_MODE_READY 102,2966 -# define PLX_DMA_MODE_NOBTERM 103,3005 -# define PLX_DMA_MODE_BTERM 104,3046 -# define PLX_DMA_MODE_NOBURST 105,3085 -# define PLX_DMA_MODE_BURST 106,3126 -# define PLX_DMA_MODE_NOCHAIN 107,3165 -# define PLX_DMA_MODE_CHAIN 108,3206 -# define PLX_DMA_MODE_DONE_IE 109,3245 -# define PLX_DMA_MODE_ADDR_HOLD 110,3286 -#define PLX_DMA0_PCI_ADDR 112,3330 -#define PLX_DMA0_LCL_ADDR 115,3404 -#define PLX_DMA0_SIZE 118,3480 -#define PLX_DMA0_DESCRIPTOR 121,3546 -# define PLX_DMA_DESC_EOC 122,3580 -# define PLX_DMA_DESC_TC_IE 123,3617 -# define PLX_DMA_DESC_TO_HOST 124,3656 -# define PLX_DMA_DESC_TO_BOARD 125,3697 -# define PLX_DMA_DESC_NEXTADDR 126,3739 -#define PLX_DMA1_MODE 128,3782 -#define PLX_DMA1_PCI_ADDR 129,3811 -#define PLX_DMA1_LCL_ADDR 130,3843 -#define PLX_DMA1_SIZE 131,3875 -#define PLX_DMA1_DESCRIPTOR 132,3904 -#define PLX_DMA_CSR 134,3939 -# define PLX_DMA_CSR_0_ENABLE 135,3966 -# define PLX_DMA_CSR_0_START 136,4007 -# define PLX_DMA_CSR_0_ABORT 137,4047 -# define PLX_DMA_CSR_0_CLR_INTR 138,4087 -# define PLX_DMA_CSR_0_DONE 139,4130 -# define PLX_DMA_CSR_1_ENABLE 140,4169 -# define PLX_DMA_CSR_1_START 141,4210 -# define PLX_DMA_CSR_1_ABORT 142,4250 -# define PLX_DMA_CSR_1_CLR_INTR 143,4290 -# define PLX_DMA_CSR_1_DONE 144,4333 -#define PLX_DMA_ARB0 146,4373 -# define PLX_DMA_ARB0_LATENCY_T 147,4401 -# define PLX_DMA_ARB0_PAUSE_T 148,4444 -# define PLX_DMA_ARB0_LATENCY_EN 149,4485 -# define PLX_DMA_ARB0_PAUSE_EN 150,4529 -# define PLX_DMA_ARB0_BREQ_EN 151,4571 -# define PLX_DMA_ARB0_PRI 152,4612 -# define PLX_DMA_ARB0_PRI_ROUND 153,4650 -# define PLX_DMA_ARB0_PRI_0 154,4693 -# define PLX_DMA_ARB0_PRI_1 155,4732 -#define PLX_DMA_ARB1 157,4772 -# define PLX_DMA_ARB1_0_P2L_LW_TRIG(PLX_DMA_ARB1_0_P2L_LW_TRIG159,4834 -# define PLX_DMA_ARB1_0_L2P_LR_TRIG(PLX_DMA_ARB1_0_L2P_LR_TRIG160,4892 -# define PLX_DMA_ARB1_0_L2P_PW_TRIG(PLX_DMA_ARB1_0_L2P_PW_TRIG161,4950 -# define PLX_DMA_ARB1_0_P2L_PR_TRIG(PLX_DMA_ARB1_0_P2L_PR_TRIG162,5008 -# define PLX_DMA_ARB1_1_P2L_LW_TRIG(PLX_DMA_ARB1_1_P2L_LW_TRIG164,5099 -# define PLX_DMA_ARB1_1_L2P_LR_TRIG(PLX_DMA_ARB1_1_L2P_LR_TRIG165,5157 -# define PLX_DMA_ARB1_1_L2P_PW_TRIG(PLX_DMA_ARB1_1_L2P_PW_TRIG166,5215 -# define PLX_DMA_ARB1_1_P2L_PR_TRIG(PLX_DMA_ARB1_1_P2L_PR_TRIG167,5273 -typedef struct _dmachain_dmachain169,5332 -} DMACHAIN;DMACHAIN175,5420 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ariadne.h,4825 -struct Am79C960 Am79C96043,1343 -#define CSR0 62,1875 -#define CSR1 63,1932 -#define CSR2 64,1972 -#define CSR3 65,2013 -#define CSR4 66,2079 -#define CSR6 67,2134 -#define CSR8 68,2195 -#define CSR9 69,2260 -#define CSR10 70,2326 -#define CSR11 71,2393 -#define CSR12 72,2460 -#define CSR13 73,2528 -#define CSR14 74,2597 -#define CSR15 75,2666 -#define CSR16 76,2710 -#define CSR17 77,2775 -#define CSR18 78,2840 -#define CSR19 79,2901 -#define CSR20 80,2962 -#define CSR21 81,3024 -#define CSR22 82,3086 -#define CSR23 83,3144 -#define CSR24 84,3202 -#define CSR25 85,3261 -#define CSR26 86,3320 -#define CSR27 87,3382 -#define CSR28 88,3444 -#define CSR29 89,3509 -#define CSR30 90,3574 -#define CSR31 91,3634 -#define CSR32 92,3694 -#define CSR33 93,3757 -#define CSR34 94,3820 -#define CSR35 95,3886 -#define CSR36 96,3952 -#define CSR37 97,4019 -#define CSR38 98,4086 -#define CSR39 99,4154 -#define CSR40 100,4222 -#define CSR41 101,4290 -#define CSR42 102,4358 -#define CSR43 103,4427 -#define CSR44 104,4496 -#define CSR45 105,4561 -#define CSR46 106,4626 -#define CSR47 107,4674 -#define CSR48 108,4721 -#define CSR49 109,4769 -#define CSR50 110,4817 -#define CSR51 111,4865 -#define CSR52 112,4913 -#define CSR53 113,4961 -#define CSR54 114,5009 -#define CSR55 115,5057 -#define CSR56 116,5105 -#define CSR57 117,5153 -#define CSR58 118,5201 -#define CSR59 119,5249 -#define CSR60 120,5297 -#define CSR61 121,5364 -#define CSR62 122,5431 -#define CSR63 123,5501 -#define CSR64 124,5571 -#define CSR65 125,5630 -#define CSR66 126,5689 -#define CSR67 127,5755 -#define CSR68 128,5821 -#define CSR69 129,5885 -#define CSR70 130,5949 -#define CSR71 131,5997 -#define CSR72 132,6045 -#define CSR74 133,6096 -#define CSR76 134,6148 -#define CSR78 135,6198 -#define CSR80 136,6249 -#define CSR82 137,6312 -#define CSR84 138,6361 -#define CSR85 139,6403 -#define CSR86 140,6445 -#define CSR88 141,6495 -#define CSR89 142,6533 -#define CSR92 143,6571 -#define CSR94 144,6624 -#define CSR96 145,6695 -#define CSR97 146,6758 -#define CSR98 147,6821 -#define CSR99 148,6884 -#define CSR104 149,6947 -#define CSR105 150,6983 -#define CSR108 151,7019 -#define CSR109 152,7076 -#define CSR112 153,7133 -#define CSR114 154,7183 -#define CSR124 155,7238 -#define ISACSR0 164,7414 -#define ISACSR1 165,7468 -#define ISACSR2 166,7523 -#define ISACSR4 167,7581 -#define ISACSR5 168,7640 -#define ISACSR6 169,7682 -#define ISACSR7 170,7724 -#define ERR 179,7896 -#define BABL 180,7928 -#define CERR 181,7989 -#define MISS 182,8040 -#define MERR 183,8080 -#define RINT 184,8120 -#define TINT 185,8165 -#define IDON 186,8211 -#define INTR 187,8258 -#define INEA 188,8300 -#define RXON 189,8344 -#define TXON 190,8382 -#define TDMD 191,8421 -#define STOP 192,8464 -#define STRT 193,8496 -#define INIT 194,8529 -#define BABLM 203,8706 -#define MISSM 204,8746 -#define MERRM 205,8792 -#define RINTM 206,8838 -#define TINTM 207,8889 -#define IDONM 208,8941 -#define DXMT2PD 209,8994 -#define EMBA 210,9059 -#define ENTST 219,9249 -#define DMAPLUS 220,9294 -#define TIMER 221,9358 -#define DPOLL 222,9408 -#define APAD_XMT 223,9461 -#define ASTRP_RCV 224,9509 -#define MFCO 225,9559 -#define MFCOM 226,9626 -#define RCVCCO 227,9689 -#define RCVCCOM 228,9763 -#define TXSTRT 229,9833 -#define TXSTRTM 230,9884 -#define JAB 231,9934 -#define JABM 232,9973 -#define PROM 241,10135 -#define DRCVBC 242,10179 -#define DRCVPA 243,10234 -#define DLNKTST 244,10296 -#define DAPC 245,10346 -#define MENDECL 246,10411 -#define LRTTSEL 247,10462 -#define PORTSEL1 248,10534 -#define PORTSEL2 249,10581 -#define INTL 250,10628 -#define DRTY 251,10673 -#define FCOLL 252,10714 -#define DXMTFCS 253,10758 -#define LOOP 254,10809 -#define DTX 255,10852 -#define DRX 256,10898 -#define ASEL 265,11074 -#define LEDOUT 274,11255 -#define PSE 275,11303 -#define XMTE 276,11352 -#define RVPOLE 277,11409 -#define RCVE 278,11469 -#define JABE 279,11525 -#define COLE 280,11573 -struct RDRE RDRE287,11679 -struct TDRE TDRE299,11979 -#define RF_OWN 311,12256 -#define RF_ERR 312,12326 -#define RF_FRAM 313,12361 -#define RF_OFLO 314,12405 -#define RF_CRC 315,12450 -#define RF_BUFF 316,12489 -#define RF_STP 317,12532 -#define RF_ENP 318,12577 -#define TF_OWN 325,12660 -#define TF_ERR 326,12730 -#define TF_ADD_FCS 327,12765 -#define TF_MORE 328,12821 -#define TF_ONE 329,12878 -#define TF_DEF 330,12924 -#define TF_STP 331,12962 -#define TF_ENP 332,13007 -#define EF_BUFF 339,13087 -#define EF_UFLO 340,13130 -#define EF_LCOL 341,13176 -#define EF_LCAR 342,13221 -#define EF_RTRY 343,13267 -#define EF_TDR 344,13309 -struct MC68230 MC68230352,13423 -#define ARIADNE_LANCE 406,15319 -#define ARIADNE_PIT 408,15349 -#define ARIADNE_BOOTPROM 410,15378 -#define ARIADNE_BOOTPROM_SIZE 411,15438 -#define ARIADNE_RAM 413,15476 -#define ARIADNE_RAM_SIZE 414,15532 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunbmac.h,7368 -#define _SUNBMAC_H8,215 -#define GLOB_CTRL 11,263 -#define GLOB_STAT 12,319 -#define GLOB_PSIZE 13,375 -#define GLOB_MSIZE 14,432 -#define GLOB_RSIZE 15,489 -#define GLOB_TSIZE 16,546 -#define GLOB_REG_SIZE 17,603 -#define GLOB_CTRL_MMODE 19,633 -#define GLOB_CTRL_BMODE 20,705 -#define GLOB_CTRL_EPAR 21,777 -#define GLOB_CTRL_ACNTRL 22,849 -#define GLOB_CTRL_B64 23,921 -#define GLOB_CTRL_B32 24,993 -#define GLOB_CTRL_B16 25,1065 -#define GLOB_CTRL_RESET 26,1137 -#define GLOB_STAT_TX 28,1210 -#define GLOB_STAT_RX 29,1282 -#define GLOB_STAT_BM 30,1354 -#define GLOB_STAT_ER 31,1426 -#define GLOB_PSIZE_2048 33,1499 -#define GLOB_PSIZE_4096 34,1571 -#define GLOB_PSIZE_6144 35,1643 -#define GLOB_PSIZE_8192 36,1715 -#define CREG_CTRL 39,1824 -#define CREG_STAT 40,1881 -#define CREG_RXDS 41,1938 -#define CREG_TXDS 42,1995 -#define CREG_RIMASK 43,2052 -#define CREG_TIMASK 44,2111 -#define CREG_QMASK 45,2170 -#define CREG_BMASK 46,2228 -#define CREG_RXWBUFPTR 47,2287 -#define CREG_RXRBUFPTR 48,2349 -#define CREG_TXWBUFPTR 49,2411 -#define CREG_TXRBUFPTR 50,2473 -#define CREG_CCNT 51,2535 -#define CREG_REG_SIZE 52,2592 -#define CREG_CTRL_TWAKEUP 54,2622 -#define CREG_STAT_BERROR 56,2697 -#define CREG_STAT_TXIRQ 57,2771 -#define CREG_STAT_TXDERROR 58,2845 -#define CREG_STAT_TXLERR 59,2919 -#define CREG_STAT_TXPERR 60,2993 -#define CREG_STAT_TXSERR 61,3067 -#define CREG_STAT_RXIRQ 62,3141 -#define CREG_STAT_RXDROP 63,3215 -#define CREG_STAT_RXSMALL 64,3289 -#define CREG_STAT_RXLERR 65,3363 -#define CREG_STAT_RXPERR 66,3437 -#define CREG_STAT_RXSERR 67,3511 -#define CREG_STAT_ERRORS 69,3586 -#define CREG_QMASK_TXDERROR 74,3903 -#define CREG_QMASK_TXLERR 75,3977 -#define CREG_QMASK_TXPERR 76,4051 -#define CREG_QMASK_TXSERR 77,4125 -#define CREG_QMASK_RXDROP 78,4199 -#define CREG_QMASK_RXBERROR 79,4273 -#define CREG_QMASK_RXLEERR 80,4347 -#define CREG_QMASK_RXPERR 81,4421 -#define CREG_QMASK_RXSERR 82,4495 -#define BMAC_XIFCFG 85,4598 -#define BMAC_STATUS 87,4698 -#define BMAC_IMASK 88,4767 -#define BMAC_TXSWRESET 90,4866 -#define BMAC_TXCFG 91,4938 -#define BMAC_IGAP1 92,5006 -#define BMAC_IGAP2 93,5074 -#define BMAC_ALIMIT 94,5142 -#define BMAC_STIME 95,5211 -#define BMAC_PLEN 96,5279 -#define BMAC_PPAT 97,5346 -#define BMAC_TXDELIM 98,5413 -#define BMAC_JSIZE 99,5483 -#define BMAC_TXPMAX 100,5551 -#define BMAC_TXPMIN 101,5620 -#define BMAC_PATTEMPT 102,5689 -#define BMAC_DTCTR 103,5760 -#define BMAC_NCCTR 104,5828 -#define BMAC_FCCTR 105,5896 -#define BMAC_EXCTR 106,5964 -#define BMAC_LTCTR 107,6032 -#define BMAC_RSEED 108,6100 -#define BMAC_TXSMACHINE 109,6168 -#define BMAC_RXSWRESET 111,6272 -#define BMAC_RXCFG 112,6344 -#define BMAC_RXPMAX 113,6412 -#define BMAC_RXPMIN 114,6481 -#define BMAC_MACADDR2 115,6550 -#define BMAC_MACADDR1 116,6621 -#define BMAC_MACADDR0 117,6692 -#define BMAC_FRCTR 118,6763 -#define BMAC_GLECTR 119,6831 -#define BMAC_UNALECTR 120,6900 -#define BMAC_RCRCECTR 121,6971 -#define BMAC_RXSMACHINE 122,7042 -#define BMAC_RXCVALID 123,7115 -#define BMAC_HTABLE3 125,7209 -#define BMAC_HTABLE2 126,7279 -#define BMAC_HTABLE1 127,7349 -#define BMAC_HTABLE0 128,7419 -#define BMAC_AFILTER2 129,7489 -#define BMAC_AFILTER1 130,7560 -#define BMAC_AFILTER0 131,7631 -#define BMAC_AFMASK 132,7702 -#define BMAC_REG_SIZE 133,7771 -#define BIGMAC_XCFG_ODENABLE 136,7836 -#define BIGMAC_XCFG_RESV 137,7925 -#define BIGMAC_XCFG_MLBACK 138,8014 -#define BIGMAC_XCFG_SMODE 139,8103 -#define BIGMAC_STAT_GOTFRAME 142,8223 -#define BIGMAC_STAT_RCNTEXP 143,8312 -#define BIGMAC_STAT_ACNTEXP 144,8401 -#define BIGMAC_STAT_CCNTEXP 145,8490 -#define BIGMAC_STAT_LCNTEXP 146,8579 -#define BIGMAC_STAT_RFIFOVF 147,8668 -#define BIGMAC_STAT_CVCNTEXP 148,8757 -#define BIGMAC_STAT_SENTFRAME 149,8846 -#define BIGMAC_STAT_TFIFO_UND 150,8935 -#define BIGMAC_STAT_MAXPKTERR 151,9024 -#define BIGMAC_STAT_NCNTEXP 152,9113 -#define BIGMAC_STAT_ECNTEXP 153,9202 -#define BIGMAC_STAT_LCCNTEXP 154,9291 -#define BIGMAC_STAT_FCNTEXP 155,9380 -#define BIGMAC_STAT_DTIMEXP 156,9469 -#define BIGMAC_IMASK_GOTFRAME 159,9597 -#define BIGMAC_IMASK_RCNTEXP 160,9686 -#define BIGMAC_IMASK_ACNTEXP 161,9775 -#define BIGMAC_IMASK_CCNTEXP 162,9864 -#define BIGMAC_IMASK_LCNTEXP 163,9953 -#define BIGMAC_IMASK_RFIFOVF 164,10042 -#define BIGMAC_IMASK_CVCNTEXP 165,10131 -#define BIGMAC_IMASK_SENTFRAME 166,10220 -#define BIGMAC_IMASK_TFIFO_UND 167,10309 -#define BIGMAC_IMASK_MAXPKTERR 168,10398 -#define BIGMAC_IMASK_NCNTEXP 169,10487 -#define BIGMAC_IMASK_ECNTEXP 170,10576 -#define BIGMAC_IMASK_LCCNTEXP 171,10665 -#define BIGMAC_IMASK_FCNTEXP 172,10754 -#define BIGMAC_IMASK_DTIMEXP 173,10843 -#define BIGMAC_TXCFG_ENABLE 176,10972 -#define BIGMAC_TXCFG_FIFO 177,11061 -#define BIGMAC_TXCFG_SMODE 178,11150 -#define BIGMAC_TXCFG_CIGN 179,11239 -#define BIGMAC_TXCFG_FCSOFF 180,11328 -#define BIGMAC_TXCFG_DBACKOFF 181,11417 -#define BIGMAC_TXCFG_FULLDPLX 182,11506 -#define BIGMAC_RXCFG_ENABLE 185,11634 -#define BIGMAC_RXCFG_FIFO 186,11723 -#define BIGMAC_RXCFG_PSTRIP 187,11812 -#define BIGMAC_RXCFG_PMISC 188,11901 -#define BIGMAC_RXCFG_DERR 189,11990 -#define BIGMAC_RXCFG_DCRCS 190,12079 -#define BIGMAC_RXCFG_ME 191,12168 -#define BIGMAC_RXCFG_PGRP 192,12257 -#define BIGMAC_RXCFG_HENABLE 193,12346 -#define BIGMAC_RXCFG_AENABLE 194,12435 -#define TCVR_TPAL 199,12660 -#define TCVR_MPAL 200,12685 -#define TCVR_REG_SIZE 201,12710 -#define FRAME_WRITE 204,12762 -#define FRAME_READ 205,12803 -#define TCVR_PAL_SERIAL 208,12873 -#define TCVR_PAL_EXTLBACK 209,12952 -#define TCVR_PAL_MSENSE 210,13031 -#define TCVR_PAL_LTENABLE 211,13110 -#define TCVR_PAL_LTSTATUS 212,13189 -#define MGMT_PAL_DCLOCK 215,13291 -#define MGMT_PAL_OENAB 216,13370 -#define MGMT_PAL_MDIO 217,13449 -#define MGMT_PAL_TIMEO 218,13528 -#define MGMT_PAL_EXT_MDIO 219,13607 -#define MGMT_PAL_INT_MDIO 220,13651 -#define BIGMAC_PHY_EXTERNAL 223,13732 -#define BIGMAC_PHY_INTERNAL 224,13791 -#define BIGMAC_BMCR 227,13871 -#define BIGMAC_BMSR 228,13940 -#define BMCR_ISOLATE 231,14025 -#define BMCR_PDOWN 232,14099 -#define BMCR_ANENABLE 233,14173 -#define BMCR_SPEED100 234,14247 -#define BMCR_LOOPBACK 235,14321 -#define BMCR_RESET 236,14395 -#define BMSR_ERCAP 239,14486 -#define BMSR_JCD 240,14560 -#define BMSR_LSTATUS 241,14634 -struct be_rxd be_rxd244,14765 -#define RXD_OWN 249,14814 -#define RXD_UPDATE 250,14868 -#define RXD_LENGTH 251,14922 -struct be_txd be_txd253,14977 -#define TXD_OWN 258,15026 -#define TXD_SOP 259,15080 -#define TXD_EOP 260,15134 -#define TXD_UPDATE 261,15188 -#define TXD_LENGTH 262,15242 -#define TX_RING_MAXSIZE 264,15297 -#define RX_RING_MAXSIZE 265,15327 -#define TX_RING_SIZE 267,15358 -#define RX_RING_SIZE 268,15388 -#define NEXT_RX(NEXT_RX270,15419 -#define NEXT_TX(NEXT_TX271,15481 -#define PREV_RX(PREV_RX272,15543 -#define PREV_TX(PREV_TX273,15605 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL275,15668 -#define RX_COPY_THRESHOLD 281,15895 -#define RX_BUF_ALLOC_SIZE 282,15926 -struct bmac_init_block bmac_init_block284,15981 -#define bib_offset(bib_offset289,16090 -enum bigmac_transceiver bigmac_transceiver293,16227 - external 294,16253 - internal 295,16268 - none 296,16283 -enum bigmac_timer_state bigmac_timer_state300,16328 - ltrywait 301,16354 - asleep 302,16427 -struct bigmac bigmac305,16504 -#define ALIGNED_RX_SKB_ADDR(ALIGNED_RX_SKB_ADDR339,17657 -static inline struct sk_buff *big_mac_alloc_skb(342,17777 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/cs89x0.c,2736 -#define ALLOW_DMA 104,4542 -#define ALLOW_DMA 106,4568 -#define DEBUGGING 113,4687 -static char version[148,5295 -static char version[] __initdata 148,5295 -#define DRV_NAME 151,5429 -static unsigned int netcard_portlist[165,6163 -static unsigned int netcard_portlist[] __initdata 165,6163 -static unsigned int cs8900_irq_map[167,6320 -static unsigned int netcard_portlist[169,6404 -static unsigned int netcard_portlist[] __initdata 169,6404 -static unsigned int cs8900_irq_map[171,6473 -static unsigned int netcard_portlist[174,6580 -static unsigned int netcard_portlist[] __initdata 174,6580 -static unsigned int cs8900_irq_map[175,6664 -static unsigned int netcard_portlist[177,6741 -static unsigned int netcard_portlist[] __initdata 177,6741 -static unsigned int cs8900_irq_map[179,6886 -static unsigned int net_debug 183,6961 -#define net_debug 185,7010 -#define NETCARD_IO_EXTENT 189,7143 -#define FORCE_RJ45 192,7251 -#define FORCE_AUI 193,7310 -#define FORCE_BNC 194,7335 -#define FORCE_AUTO 196,7361 -#define FORCE_HALF 197,7420 -#define FORCE_FULL 198,7446 -struct net_local net_local201,7528 -#define tx_done(tx_done248,9752 -static int g_cs89x0_dma;254,9880 -static int __init dma_fn(256,9906 -static int g_cs89x0_media__force;266,10099 -static int __init media_fn(268,10134 -struct net_device * __init cs89x0_probe(287,10740 -readreg(336,11806 -writereg(343,11950 -readword(350,12106 -writeword(356,12206 -wait_eeprom_ready(362,12325 -get_eeprom_data(375,12652 -get_eeprom_cksum(393,13212 -cs89x0_probe1(413,13654 -#define dma_page_eq(dma_page_eq751,24723 -get_dma_channel(754,24807 -write_dma(776,25232 -set_dma_cfg(789,25524 -dma_bufcfg(812,26048 -dma_busctl(822,26235 -dma_rx(839,26728 -void __init reset_chip(901,28404 -control_dc_dc(936,29379 -#define DETECTED_NONE 957,30020 -#define DETECTED_RJ45H 958,30045 -#define DETECTED_RJ45F 959,30070 -#define DETECTED_AUI 960,30095 -#define DETECTED_BNC 961,30120 -detect_tp(964,30157 -send_test_pkt(1039,32453 -detect_aui(1079,33728 -detect_bnc(1095,34063 -write_irq(1112,34401 -net_open(1141,35259 -static void net_timeout(1374,43155 -static int net_send_packet(1384,43533 -static irqreturn_t net_interrupt(1439,45261 -count_rx_errors(1529,48529 -net_rx(1543,48978 -static void release_dma_buff(1588,50082 -net_close(1599,50320 -net_get_stats(1628,50862 -static void set_multicast_list(1642,51247 -static int set_mac_address(1670,52049 -static struct net_device *dev_cs89x0;1696,52586 -static int io;1703,52754 -static int irq;1704,52769 -static int debug;1705,52785 -static char media[1706,52803 -static int duplex=1707,52825 -static int use_dma;1709,52848 -static int dma;1710,52928 -static int dmasize=1711,52944 -init_module(1772,54820 -cleanup_module(1849,56529 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/es3210.c,1460 -static const char version[48,1685 -#define ES_START_PG 76,2544 -#define ES_STOP_PG 77,2603 -#define ES_IO_EXTENT 79,2662 -#define ES_ID_PORT 80,2727 -#define ES_SA_PROM 81,2784 -#define ES_RESET_PORT 82,2838 -#define ES_NIC_OFFSET 83,2902 -#define ES_ADDR0 85,2964 -#define ES_ADDR1 86,3015 -#define ES_ADDR2 87,3037 -#define ES_EISA_ID1 95,3353 -#define ES_EISA_ID2 96,3405 -#define ES_CFG1 98,3458 -#define ES_CFG2 99,3523 -#define ES_CFG3 100,3546 -#define ES_CFG4 101,3569 -#define ES_CFG5 102,3592 -#define ES_CFG6 103,3615 -#define ES_D_PROBE 111,3848 -#define ES_D_RX_PKT 112,3872 -#define ES_D_TX_PKT 113,3897 -#define ED_D_IRQ 114,3922 -#define ES_DEBUG 116,3945 -static unsigned char lo_irq_map[118,3965 -static unsigned char lo_irq_map[] __initdata 118,3965 -static unsigned char hi_irq_map[119,4036 -static unsigned char hi_irq_map[] __initdata 119,4036 -static int __init do_es_probe(127,4311 -static void cleanup_card(158,5028 -struct net_device * __init es_probe(165,5170 -static int __init es_probe1(191,5575 -static void es_reset_8390(320,9139 -es_get_8390_hdr(354,10169 -static void es_block_input(367,10685 -static void es_block_output(384,11274 -static int es_open(393,11559 -static int es_close(399,11633 -#define MAX_ES_CARDS 410,11799 -#define NAMELEN 411,11866 -static struct net_device *dev_es3210[412,11924 -static int io[413,11976 -static int irq[414,12005 -static int mem[415,12035 -init_module(427,12469 -cleanup_module(458,13106 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e100.c,10710 -#define DRV_NAME 156,6326 -#define DRV_EXT 157,6351 -#define DRV_VERSION 158,6377 -#define DRV_DESCRIPTION 159,6417 -#define DRV_COPYRIGHT 160,6476 -#define PFX 161,6542 -#define E100_WATCHDOG_PERIOD 163,6571 -#define E100_NAPI_WEIGHT 164,6609 -static int debug 171,6758 -#define DPRINTK(DPRINTK174,6869 -#define INTEL_8255X_ETHERNET_DEVICE(INTEL_8255X_ETHERNET_DEVICE179,7060 -static struct pci_device_id e100_id_table[182,7224 -enum mac mac222,8760 - mac_82557_D100_A 223,8771 - mac_82557_D100_B 224,8795 - mac_82557_D100_C 225,8819 - mac_82558_D101_A4 226,8843 - mac_82558_D101_B0 227,8867 - mac_82559_D101M 228,8891 - mac_82559_D101S 229,8915 - mac_82550_D102 230,8939 - mac_82550_D102_C 231,8964 - mac_82551_E 232,8989 - mac_82551_F 233,9014 - mac_82551_10 234,9039 - mac_unknown 235,9064 - mac_unknown = 0xFF,235,9064 -enum phy phy238,9095 - phy_100a 239,9106 - phy_100a = 0x000003E0,239,9106 - phy_100c 240,9134 - phy_100c = 0x035002A8,240,9134 - phy_82555_tx 241,9162 - phy_82555_tx = 0x015002A8,241,9162 - phy_nsc_tx 242,9190 - phy_nsc_tx = 0x5C002000,242,9190 - phy_82562_et 243,9218 - phy_82562_et = 0x033002A8,243,9218 - phy_82562_em 244,9246 - phy_82562_em = 0x032002A8,244,9246 - phy_82562_ek 245,9274 - phy_82562_ek = 0x031002A8,245,9274 - phy_82562_eh 246,9302 - phy_82562_eh = 0x017002A8,246,9302 - phy_unknown 247,9330 - phy_unknown = 0xFFFFFFFF,247,9330 -struct csr csr251,9399 -enum scb_status scb_status267,9605 - rus_ready 268,9623 - rus_ready = 0x10,268,9623 - rus_mask 269,9649 - rus_mask = 0x3C,269,9649 -enum scb_stat_ack scb_stat_ack272,9679 - stat_ack_not_ours 273,9699 - stat_ack_not_ours = 0x00,273,9699 - stat_ack_sw_gen 274,9729 - stat_ack_sw_gen = 0x04,274,9729 - stat_ack_rnr 275,9759 - stat_ack_rnr = 0x10,275,9759 - stat_ack_cu_idle 276,9789 - stat_ack_cu_idle = 0x20,276,9789 - stat_ack_frame_rx 277,9819 - stat_ack_frame_rx = 0x40,277,9819 - stat_ack_cu_cmd_done 278,9849 - stat_ack_cu_cmd_done = 0x80,278,9849 - stat_ack_not_present 279,9879 - stat_ack_not_present = 0xFF,279,9879 - stat_ack_rx 280,9909 - stat_ack_rx = (stat_ack_sw_gen 280,9909 - stat_ack_rx = (stat_ack_sw_gen | stat_ack_rnr 280,9909 - stat_ack_rx = (stat_ack_sw_gen | stat_ack_rnr | stat_ack_frame_rx)280,9909 - stat_ack_tx 281,9978 - stat_ack_tx = (stat_ack_cu_idle 281,9978 - stat_ack_tx = (stat_ack_cu_idle | stat_ack_cu_cmd_done)281,9978 -enum scb_cmd_hi scb_cmd_hi284,10040 - irq_mask_none 285,10058 - irq_mask_none = 0x00,285,10058 - irq_mask_all 286,10081 - irq_mask_all = 0x01,286,10081 - irq_sw_gen 287,10104 - irq_sw_gen = 0x02,287,10104 -enum scb_cmd_lo scb_cmd_lo290,10131 - cuc_nop 291,10149 - cuc_nop = 0x00,291,10149 - ruc_start 292,10173 - ruc_start = 0x01,292,10173 - ruc_load_base 293,10197 - ruc_load_base = 0x06,293,10197 - cuc_start 294,10221 - cuc_start = 0x10,294,10221 - cuc_resume 295,10245 - cuc_resume = 0x20,295,10245 - cuc_dump_addr 296,10269 - cuc_dump_addr = 0x40,296,10269 - cuc_dump_stats 297,10293 - cuc_dump_stats = 0x50,297,10293 - cuc_load_base 298,10317 - cuc_load_base = 0x60,298,10317 - cuc_dump_reset 299,10341 - cuc_dump_reset = 0x70,299,10341 -enum cuc_dump cuc_dump302,10369 - cuc_dump_complete 303,10385 - cuc_dump_complete = 0x0000A005,303,10385 - cuc_dump_reset_complete 304,10424 - cuc_dump_reset_complete = 0x0000A007,304,10424 -enum port port307,10469 - software_reset 308,10481 - software_reset = 0x0000,308,10481 - selftest 309,10508 - selftest = 0x0001,309,10508 - selective_reset 310,10535 - selective_reset = 0x0002,310,10535 -enum eeprom_ctrl_lo eeprom_ctrl_lo313,10566 - eesk 314,10588 - eesk = 0x01,314,10588 - eecs 315,10602 - eecs = 0x02,315,10602 - eedi 316,10616 - eedi = 0x04,316,10616 - eedo 317,10630 - eedo = 0x08,317,10630 -enum mdi_ctrl mdi_ctrl320,10648 - mdi_write 321,10664 - mdi_write = 0x04000000,321,10664 - mdi_read 322,10689 - mdi_read = 0x08000000,322,10689 - mdi_ready 323,10714 - mdi_ready = 0x10000000,323,10714 -enum eeprom_op eeprom_op326,10743 - op_write 327,10760 - op_write = 0x05,327,10760 - op_read 328,10778 - op_read = 0x06,328,10778 - op_ewds 329,10796 - op_ewds = 0x10,329,10796 - op_ewen 330,10814 - op_ewen = 0x13,330,10814 -enum eeprom_offsets eeprom_offsets333,10836 - eeprom_cnfg_mdix 334,10858 - eeprom_cnfg_mdix = 0x03,334,10858 - eeprom_id 335,10885 - eeprom_id = 0x0A,335,10885 - eeprom_config_asf 336,10912 - eeprom_config_asf = 0x0D,336,10912 - eeprom_smbus_addr 337,10939 - eeprom_smbus_addr = 0x90,337,10939 -enum eeprom_cnfg_mdix eeprom_cnfg_mdix340,10970 - eeprom_mdix_enabled 341,10994 - eeprom_mdix_enabled = 0x0080,341,10994 -enum eeprom_id eeprom_id344,11029 - eeprom_id_wol 345,11046 - eeprom_id_wol = 0x0020,345,11046 -enum eeprom_config_asf eeprom_config_asf348,11075 - eeprom_asf 349,11100 - eeprom_asf = 0x8000,349,11100 - eeprom_gcl 350,11122 - eeprom_gcl = 0x4000,350,11122 -enum cb_status cb_status353,11148 - cb_complete 354,11165 - cb_complete = 0x8000,354,11165 - cb_ok 355,11188 - cb_ok = 0x2000,355,11188 -enum cb_command cb_command358,11215 - cb_nop 359,11233 - cb_nop = 0x0000,359,11233 - cb_iaaddr 360,11254 - cb_iaaddr = 0x0001,360,11254 - cb_config 361,11275 - cb_config = 0x0002,361,11275 - cb_multi 362,11296 - cb_multi = 0x0003,362,11296 - cb_tx 363,11317 - cb_tx = 0x0004,363,11317 - cb_ucode 364,11338 - cb_ucode = 0x0005,364,11338 - cb_dump 365,11359 - cb_dump = 0x0006,365,11359 - cb_tx_sf 366,11380 - cb_tx_sf = 0x0008,366,11380 - cb_cid 367,11401 - cb_cid = 0x1f00,367,11401 - cb_i 368,11422 - cb_i = 0x2000,368,11422 - cb_s 369,11443 - cb_s = 0x4000,369,11443 - cb_el 370,11464 - cb_el = 0x8000,370,11464 -struct rfd rfd373,11489 -struct rx rx382,11583 -#define X(X389,11703 -#define X(X391,11728 -struct config config393,11754 -#define E100_MAX_MULTICAST_ADDRS 432,13546 -struct multi multi433,13582 -#define UCODE_SIZE 439,13718 -struct cb cb440,13743 -enum loopback loopback467,14161 - lb_none 468,14177 - lb_none = 0, lb_mac 468,14177 - lb_none = 0, lb_mac = 1, lb_phy 468,14177 -struct stats stats471,14219 -struct mem mem483,14652 -struct param_range param_range492,14763 -struct params params498,14820 -struct nic nic503,14891 - ich 528,15516 - promiscuous 529,15549 - multicast_all 530,15582 - wol_magic 531,15615 - ich_10h_workaround 532,15648 -static inline void e100_write_flush(570,16342 -static inline void e100_enable_irq(577,16526 -static inline void e100_disable_irq(587,16768 -static void e100_hw_reset(597,17010 -static int e100_self_test(622,17770 -static void e100_eeprom_write(655,18643 -static u16 e100_eeprom_read(694,19762 -static int e100_eeprom_load(735,20827 -static int e100_eeprom_save(761,21607 -#define E100_WAIT_SCB_TIMEOUT 786,22401 -static inline int e100_exec_cmd(787,22434 -static inline int e100_exec_cb(818,23121 -static u16 mdio_ctrl(869,24343 -static int mdio_read(888,24815 -static void mdio_write(893,24951 -static void e100_get_defaults(898,25096 -static void e100_configure(931,26155 -static void e100_load_ucode(1002,28980 -static void e100_setup_iaaddr(1023,29725 -static void e100_dump(1030,29909 -#define NCONFIG_AUTO_SWITCH 1037,30115 -#define MII_NSC_CONG 1038,30150 -#define NSC_CONG_ENABLE 1039,30182 -#define NSC_CONG_TXREADY 1040,30214 -#define ADVERTISE_FC_SUPPORTED 1041,30246 -static int e100_phy_init(1042,30284 -#define NCS_PHY_MODEL_MASK 1079,31470 -static int e100_hw_init(1098,32125 -static void e100_multi(1131,32897 -static void e100_set_multicast_list(1144,33347 -static void e100_update_stats(1166,33876 -static void e100_adjust_adaptive_ifs(1222,36035 -static void e100_watchdog(1244,36689 -static inline void e100_xmit_prepare(1291,38239 -static int e100_xmit_frame(1304,38688 -static inline int e100_tx_clean(1335,39435 -static void e100_clean_cbs(1374,40345 -static int e100_alloc_cbs(1400,41005 -static inline void e100_start_receiver(1430,41783 -#define RFD_BUF_LEN 1439,42041 -static inline int e100_rx_alloc_skb(1440,42103 -static inline int e100_rx_indicate(1469,43008 -static inline void e100_rx_clean(1527,44709 -static void e100_rx_clean_list(1547,45269 -static int e100_rx_alloc_list(1568,45702 -static irqreturn_t e100_intr(1593,46303 -static int e100_poll(1618,46972 -static void e100_netpoll(1642,47560 -static struct net_device_stats *e100_get_stats(1651,47753 -static int e100_set_mac_address(1657,47897 -static int e100_change_mtu(1671,48224 -static int e100_asf(1679,48399 -static int e100_up(1688,48716 -static void e100_down(1717,49356 -static void e100_tx_timeout(1728,49607 -static int e100_loopback_test(1738,49852 -#define MII_LED_CONTROL 1792,51256 -static void e100_blink_led(1793,51285 - enum led_state led_state1796,51373 - led_on 1797,51391 - led_on = 0x01,1797,51391 - led_off 1798,51412 - led_off = 0x04,1798,51412 - led_on_559 1799,51433 - led_on_559 = 0x05,1799,51433 - led_on_557 1800,51454 - led_on_557 = 0x07,1800,51454 -static int e100_get_settings(1809,51707 -static int e100_set_settings(1815,51875 -static void e100_get_drvinfo(1827,52169 -static int e100_get_regs_len(1837,52451 -#define E100_PHY_REGS 1840,52549 -#define E100_REGS_LEN 1841,52577 -static void e100_get_regs(1846,52704 -static void e100_get_wol(1868,53393 -static int e100_set_wol(1875,53647 -static u32 e100_get_msglevel(1893,54057 -static void e100_set_msglevel(1899,54183 -static int e100_nway_reset(1905,54322 -static u32 e100_get_link(1911,54458 -static int e100_get_eeprom_len(1917,54587 -#define E100_EEPROM_MAGIC 1923,54719 -static int e100_get_eeprom(1924,54752 -static int e100_set_eeprom(1935,55010 -static void e100_get_ringparam(1949,55358 -static int e100_set_ringparam(1966,55843 -static const char e100_gstrings_test[1988,56430 -#define E100_TEST_LEN 1995,56648 -static int e100_diag_test_count(1997,56716 -static void e100_diag_test(2002,56803 -static int e100_phys_id(2033,57628 -static const char e100_gstrings_stats[2048,58048 -#define E100_NET_STATS_LEN 2060,58677 -#define E100_STATS_LEN 2061,58707 -static int e100_get_stats_count(2063,58777 -static void e100_get_ethtool_stats(2068,58865 -static void e100_get_strings(2087,59393 -static struct ethtool_ops e100_ethtool_ops 2099,59692 -static int e100_do_ioctl(2124,60516 -static int e100_alloc(2131,60704 -static void e100_free(2138,60863 -static int e100_open(2147,61027 -static int e100_close(2158,61262 -static int __devinit e100_probe(2164,61360 -static void __devexit e100_remove(2303,65059 -static int e100_suspend(2320,65427 -static int e100_resume(2338,65864 -static struct pci_driver e100_driver 2355,66192 -static int __init e100_init_module(2366,66453 -static void __exit e100_cleanup_module(2375,66703 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c505.h,4185 -#define ELP_DMA 7,186 -#define ELP_RX_PCBS 8,210 -#define ELP_MAX_CARDS 9,234 -#define PORT_COMMAND 14,290 -#define PORT_STATUS 15,340 -#define PORT_AUXDMA 16,388 -#define PORT_DATA 17,437 -#define PORT_CONTROL 18,485 -#define ELP_IO_EXTENT 20,536 -#define ATTN 25,634 -#define FLSH 26,668 -#define DMAE 27,712 -#define DIR 28,747 -#define TCEN 29,780 -#define CMDE 30,836 -#define HSF2 31,894 -#define HSF1 32,937 -#define HSF_PCB_ACK 37,1043 -#define HSF_PCB_NAK 38,1068 -#define HSF_PCB_END 39,1093 -#define HSF_PCB_MASK 40,1125 -#define HRDY 45,1195 -#define HCRE 46,1239 -#define ACRF 47,1286 -#define DONE 49,1404 -#define ASF3 50,1437 -#define ASF2 51,1483 -#define ASF1 52,1529 -#define ASF_PCB_ACK 57,1635 -#define ASF_PCB_NAK 58,1660 -#define ASF_PCB_END 59,1685 -#define ASF_PCB_MASK 60,1717 -#define DMA_BRST 65,1788 -#define MAX_PCB_DATA 70,1877 -#define TIMEOUT 81,2199 - CMD_CONFIGURE_ADAPTER_MEMORY 93,2419 - CMD_CONFIGURE_ADAPTER_MEMORY = 0x01,93,2419 - CMD_CONFIGURE_82586 94,2458 - CMD_CONFIGURE_82586 = 0x02,94,2458 - CMD_STATION_ADDRESS 95,2489 - CMD_STATION_ADDRESS = 0x03,95,2489 - CMD_DMA_DOWNLOAD 96,2520 - CMD_DMA_DOWNLOAD = 0x04,96,2520 - CMD_DMA_UPLOAD 97,2548 - CMD_DMA_UPLOAD = 0x05,97,2548 - CMD_PIO_DOWNLOAD 98,2574 - CMD_PIO_DOWNLOAD = 0x06,98,2574 - CMD_PIO_UPLOAD 99,2602 - CMD_PIO_UPLOAD = 0x07,99,2602 - CMD_RECEIVE_PACKET 100,2628 - CMD_RECEIVE_PACKET = 0x08,100,2628 - CMD_TRANSMIT_PACKET 101,2658 - CMD_TRANSMIT_PACKET = 0x09,101,2658 - CMD_NETWORK_STATISTICS 102,2689 - CMD_NETWORK_STATISTICS = 0x0a,102,2689 - CMD_LOAD_MULTICAST_LIST 103,2722 - CMD_LOAD_MULTICAST_LIST = 0x0b,103,2722 - CMD_CLEAR_PROGRAM 104,2756 - CMD_CLEAR_PROGRAM = 0x0c,104,2756 - CMD_DOWNLOAD_PROGRAM 105,2785 - CMD_DOWNLOAD_PROGRAM = 0x0d,105,2785 - CMD_EXECUTE_PROGRAM 106,2817 - CMD_EXECUTE_PROGRAM = 0x0e,106,2817 - CMD_SELF_TEST 107,2848 - CMD_SELF_TEST = 0x0f,107,2848 - CMD_SET_STATION_ADDRESS 108,2874 - CMD_SET_STATION_ADDRESS = 0x10,108,2874 - CMD_ADAPTER_INFO 109,2908 - CMD_ADAPTER_INFO = 0x11,109,2908 - NUM_TRANSMIT_CMDS,110,2936 - CMD_CONFIGURE_ADAPTER_RESPONSE 115,2995 - CMD_CONFIGURE_ADAPTER_RESPONSE = 0x31,115,2995 - CMD_CONFIGURE_82586_RESPONSE 116,3036 - CMD_CONFIGURE_82586_RESPONSE = 0x32,116,3036 - CMD_ADDRESS_RESPONSE 117,3076 - CMD_ADDRESS_RESPONSE = 0x33,117,3076 - CMD_DOWNLOAD_DATA_REQUEST 118,3109 - CMD_DOWNLOAD_DATA_REQUEST = 0x34,118,3109 - CMD_UPLOAD_DATA_REQUEST 119,3146 - CMD_UPLOAD_DATA_REQUEST = 0x35,119,3146 - CMD_RECEIVE_PACKET_COMPLETE 120,3181 - CMD_RECEIVE_PACKET_COMPLETE = 0x38,120,3181 - CMD_TRANSMIT_PACKET_COMPLETE 121,3220 - CMD_TRANSMIT_PACKET_COMPLETE = 0x39,121,3220 - CMD_NETWORK_STATISTICS_RESPONSE 122,3260 - CMD_NETWORK_STATISTICS_RESPONSE = 0x3a,122,3260 - CMD_LOAD_MULTICAST_RESPONSE 123,3302 - CMD_LOAD_MULTICAST_RESPONSE = 0x3b,123,3302 - CMD_CLEAR_PROGRAM_RESPONSE 124,3341 - CMD_CLEAR_PROGRAM_RESPONSE = 0x3c,124,3341 - CMD_DOWNLOAD_PROGRAM_RESPONSE 125,3379 - CMD_DOWNLOAD_PROGRAM_RESPONSE = 0x3d,125,3379 - CMD_EXECUTE_RESPONSE 126,3420 - CMD_EXECUTE_RESPONSE = 0x3e,126,3420 - CMD_SELF_TEST_RESPONSE 127,3453 - CMD_SELF_TEST_RESPONSE = 0x3f,127,3453 - CMD_SET_ADDRESS_RESPONSE 128,3487 - CMD_SET_ADDRESS_RESPONSE = 0x40,128,3487 - CMD_ADAPTER_INFO_RESPONSE 129,3523 - CMD_ADAPTER_INFO_RESPONSE = 0x41129,3523 -typedef unsigned char byte;byte135,3626 -typedef unsigned short int word;word136,3662 -typedef unsigned long int dword;dword137,3698 -struct Memconf Memconf140,3758 -struct Rcv_pkt Rcv_pkt149,3837 -struct Xmit_pkt Xmit_pkt156,3906 -struct Rcv_resp Rcv_resp162,3965 -struct Xmit_resp Xmit_resp172,4072 -struct Netstat Netstat180,4142 -struct Selftest Selftest190,4246 -struct Info Info201,4373 -struct Memdump Memdump210,4474 -} pcb_struct;pcb_struct240,5169 -#define RECV_STATION 243,5220 -#define RECV_BROAD 244,5246 -#define RECV_MULTI 245,5270 -#define RECV_PROMISC 246,5294 -#define NO_LOOPBACK 247,5320 -#define INT_LOOPBACK 248,5345 -#define EXT_LOOPBACK 249,5371 -#define DMA_BUFFER_SIZE 257,5594 -#define BACKLOG_SIZE 258,5624 -} elp_device;elp_device293,6554 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_i82596.h,6105 -#define I596_PORT_RESET 17,684 -#define I596_PORT_SELFTEST 18,753 -#define I596_PORT_SCP_ADDR 19,804 -#define I596_PORT_DUMP 20,861 -} I596_ST;29,1097 -#define I596_ST_SELFTEST_FAIL 31,1109 -#define I596_ST_DIAGNOSE_FAIL 32,1168 -#define I596_ST_BUSTIMER_FAIL 33,1227 -#define I596_ST_REGISTER_FAIL 34,1287 -#define I596_ST_ROM_FAIL 35,1346 -} I596_DUMP;43,1473 -} I596_TBD;57,1853 -#define I596_TBD_NOLINK 59,1866 -#define I596_TBD_EOF 60,1917 -#define I596_TBD_COUNT_MASK 61,1946 -} I596_TFD;86,2595 -#define I596_TFD_NOCRC 88,2608 -#define I596_TFD_FLEX 89,2666 -} I596_RBD;118,3473 -#define I596_RBD_NOLINK 120,3486 -#define I596_RBD_EOF 121,3537 -#define I596_RBD_F 122,3603 -#define I596_RBD_EL 124,3663 -} I596_RFD;149,4396 -#define I596_RFD_C 151,4409 -#define I596_RFD_B 152,4465 -#define I596_RFD_OK 153,4528 -#define I596_RFD_ERR_LENGTH 154,4579 -#define I596_RFD_ERR_CRC 155,4641 -#define I596_RFD_ERR_ALIGN 156,4697 -#define I596_RFD_ERR_NOBUFS 157,4761 -#define I596_RFD_ERR_DMA 158,4825 -#define I596_RFD_ERR_SHORT 159,4881 -#define I596_RFD_NOMATCH 160,4945 -#define I596_RFD_COLLISION 161,5010 -#define I596_RFD_EL 163,5084 -#define I596_RFD_FLEX 164,5139 -#define I596_RFD_EOF 165,5194 -#define I596_RFD_F 166,5261 -#define I596_CB_CMD 175,5584 -#define I596_CB_CMD_NOP 176,5628 -#define I596_CB_CMD_IA 177,5655 -#define I596_CB_CMD_CONF 178,5681 -#define I596_CB_CMD_MCAST 179,5708 -#define I596_CB_CMD_XMIT 180,5736 -#define I596_CB_CMD_TDR 181,5763 -#define I596_CB_CMD_DUMP 182,5790 -#define I596_CB_CMD_DIAG 183,5817 -#define I596_CB_CMD_EL 185,5845 -#define I596_CB_CMD_S 186,5908 -#define I596_CB_CMD_I 187,5968 -#define I596_CB_STATUS 190,6083 -#define I596_CB_STATUS_C 191,6141 -#define I596_CB_STATUS_B 192,6196 -#define I596_CB_STATUS_C_OR_B 193,6257 -#define I596_CB_STATUS_OK 194,6325 -#define I596_CB_STATUS_A 195,6392 -#define I596_CB_NOLINK 197,6454 -} I596_CB_NOP;207,6632 -} I596_CB_FAST;216,6783 -#define FASTs(FASTs217,6799 -#define FASTc(FASTc218,6820 -} I596_CB_IA;229,7014 -} I596_CB_CONF;240,7183 -#define I596_CONF0_P 242,7200 -#define I596_CONF0_COUNT 243,7257 -#define I596_CONF1_MON_OFF 245,7321 -#define I596_CONF1_MON_ON 246,7385 -#define I596_CONF1_TxFIFO(I596_CONF1_TxFIFO247,7447 -#define I596_CONF2_SAVEBF 249,7512 -#define I596_CONF3_ADDRLEN(I596_CONF3_ADDRLEN251,7566 -#define I596_CONF3_NOSRCINSERT 252,7621 -#define I596_CONF3_PREAMBLE8 253,7692 -#define I596_CONF3_LOOPOFF 254,7748 -#define I596_CONF3_LOOPINT 255,7800 -#define I596_CONF3_LOOPEXT 256,7857 -#define I596_CONF4_LINPRI(I596_CONF4_LINPRI258,7915 -#define I596_CONF4_EXPPRI(I596_CONF4_EXPPRI259,7984 -#define I596_CONF4_IEEE_BOM 260,8058 -#define I596_CONF5_IFS(I596_CONF5_IFS262,8121 -#define I596_CONF6_ST_LOW(I596_CONF6_ST_LOW264,8187 -#define I596_CONF7_ST_HI(I596_CONF7_ST_HI266,8251 -#define I596_CONF7_RETRY(I596_CONF7_RETRY267,8313 -#define I596_CONF8_PROMISC 269,8372 -#define I596_CONF8_NOBROAD 270,8425 -#define I596_CONF8_MANCHESTER 271,8457 -#define I596_CONF8_TxNOCRS 272,8492 -#define I596_CONF8_NOCRC 273,8524 -#define I596_CONF8_CRC_CCITT 274,8554 -#define I596_CONF8_BITSTUFFING 275,8588 -#define I596_CONF8_PADDING 276,8624 -#define I596_CONF9_CSFILTER(I596_CONF9_CSFILTER278,8657 -#define I596_CONF9_CSINT(I596_CONF9_CSINT279,8692 -#define I596_CONF9_CDFILTER(I596_CONF9_CDFILTER280,8725 -#define I596_CONF9_CDINT(I596_CONF9_CDINT281,8763 -#define I596_CONF10_MINLEN(I596_CONF10_MINLEN283,8797 -#define I596_CONF11_PRECRS_ 285,8859 -#define I596_CONF11_LNGFLD_ 286,8928 -#define I596_CONF11_CRCINM_ 287,8993 -#define I596_CONF11_AUTOTX 288,9046 -#define I596_CONF11_CSBSAC_ 289,9100 -#define I596_CONF11_MCALL_ 290,9173 -#define I596_CONF13_RESERVED 292,9226 -#define I596_CONF13_MULTIA 293,9289 -#define I596_CONF13_DISBOF 294,9359 -} I596_CB_MCAST;305,9645 -typedef I596_TFD I596_CB_XMIT;I596_CB_XMIT310,9714 -#define I596_CB_XMIT_NOCRC 312,9746 -#define I596_CB_XMIT_FLEX 313,9808 -#define I596_CB_XMIT_ERR_LATE 315,9874 -#define I596_CB_XMIT_ERR_NOCRS 316,9947 -#define I596_CB_XMIT_ERR_NOCTS 317,10024 -#define I596_CB_XMIT_ERR_UNDER 318,10095 -#define I596_CB_XMIT_ERR_MAXCOL 319,10167 -#define I596_CB_XMIT_COLLISIONS 320,10246 -} I596_CB_TDR;331,10487 -} I596_CB_DUMP;342,10648 -} I596_CB_DIAG;352,10799 -typedef union _I596_CB_I596_CB357,10849 -} I596_CB;I596_CB370,11110 -} I596_SCB;391,11654 -#define I596_SCB_ACK 394,11694 -#define I596_SCB_ACK_CX 395,11745 -#define I596_SCB_ACK_FR 396,11806 -#define I596_SCB_ACK_CNA 397,11863 -#define I596_SCB_ACK_RNR 398,11929 -#define I596_SCB_ACK_ALL 399,11990 -#define I596_SCB_CUC 401,12044 -#define I596_SCB_CUC_NOP 402,12101 -#define I596_SCB_CUC_START 403,12152 -#define I596_SCB_CUC_RESUME 404,12220 -#define I596_SCB_CUC_SUSPEND 405,12278 -#define I596_SCB_CUC_ABORT 406,12345 -#define I596_SCB_CUC_LOAD 407,12414 -#define I596_SCB_CUC_LOADIMM 408,12478 -#define I596_SCB_RUC 410,12551 -#define I596_SCB_RUC_NOP 411,12608 -#define I596_SCB_RUC_START 412,12659 -#define I596_SCB_RUC_RESUME 413,12715 -#define I596_SCB_RUC_SUSPEND 414,12773 -#define I596_SCB_RUC_ABORT 415,12833 -#define I596_SCB_RESET 417,12890 -#define I596_SCB_STAT 420,12974 -#define I596_SCB_CX 421,13017 -#define I596_SCB_FR 422,13070 -#define I596_SCB_CNA 423,13119 -#define I596_SCB_RNR 424,13178 -#define I596_SCB_CUS 426,13233 -#define I596_SCB_CUS_IDLE 427,13288 -#define I596_SCB_CUS_SUSPENDED 428,13332 -#define I596_SCB_CUS_ACTIVE 429,13386 -#define I596_SCB_RUS 431,13435 -#define I596_SCB_RUS_IDLE 432,13490 -#define I596_SCB_RUS_SUSPENDED 433,13534 -#define I596_SCB_RUS_NORES 434,13588 -#define I596_SCB_RUS_READY 435,13641 -#define I596_SCB_RUS_NORBDS 436,13687 -#define I596_SCB_LOADED 438,13751 -} I596_ISCP;449,14156 -} I596_SCP;461,14481 -#define I596_SCP_RESERVED 464,14516 -#define I596_SCP_INTLOW 465,14583 -#define I596_SCP_INTHIGH 466,14649 -#define I596_SCP_LOCKDIS 467,14710 -#define I596_SCP_LOCKEN 468,14773 -#define I596_SCP_ETHROTTLE 469,14829 -#define I596_SCP_ITHROTTLE 470,14893 -#define I596_SCP_LINEAR 471,14951 -#define I596_SCP_SEGMENTED 472,15003 -#define I596_SCP_82586 473,15060 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dl2k.h,19837 -#define __DL2K_H__14,507 -#define TX_RING_SIZE 38,1134 -#define TX_QUEUE_LEN 39,1159 -#define RX_RING_SIZE 40,1238 -#define TX_TOTAL_SIZE 41,1264 -#define RX_TOTAL_SIZE 42,1326 -#define readb 53,1609 -#define readw 54,1627 -#define readl 55,1645 -#define writeb 56,1663 -#define writew 57,1683 -#define writel 58,1703 -enum dl2x_offsets dl2x_offsets69,2166 - DMACtrl 71,2214 - DMACtrl = 0x00,71,2214 - RxDMAStatus 72,2231 - RxDMAStatus = 0x08,72,2231 - TFDListPtr0 73,2252 - TFDListPtr0 = 0x10,73,2252 - TFDListPtr1 74,2273 - TFDListPtr1 = 0x14,74,2273 - TxDMABurstThresh 75,2294 - TxDMABurstThresh = 0x18,75,2294 - TxDMAUrgentThresh 76,2320 - TxDMAUrgentThresh = 0x19,76,2320 - TxDMAPollPeriod 77,2347 - TxDMAPollPeriod = 0x1a,77,2347 - RFDListPtr0 78,2372 - RFDListPtr0 = 0x1c,78,2372 - RFDListPtr1 79,2393 - RFDListPtr1 = 0x20,79,2393 - RxDMABurstThresh 80,2414 - RxDMABurstThresh = 0x24,80,2414 - RxDMAUrgentThresh 81,2440 - RxDMAUrgentThresh = 0x25,81,2440 - RxDMAPollPeriod 82,2467 - RxDMAPollPeriod = 0x26,82,2467 - RxDMAIntCtrl 83,2492 - RxDMAIntCtrl = 0x28,83,2492 - DebugCtrl 84,2514 - DebugCtrl = 0x2c,84,2514 - ASICCtrl 85,2533 - ASICCtrl = 0x30,85,2533 - FifoCtrl 86,2551 - FifoCtrl = 0x38,86,2551 - RxEarlyThresh 87,2569 - RxEarlyThresh = 0x3a,87,2569 - FlowOffThresh 88,2592 - FlowOffThresh = 0x3c,88,2592 - FlowOnThresh 89,2615 - FlowOnThresh = 0x3e,89,2615 - TxStartThresh 90,2637 - TxStartThresh = 0x44,90,2637 - EepromData 91,2660 - EepromData = 0x48,91,2660 - EepromCtrl 92,2680 - EepromCtrl = 0x4a,92,2680 - ExpromAddr 93,2700 - ExpromAddr = 0x4c,93,2700 - Exprodata 94,2720 - Exprodata = 0x50,94,2720 - WakeEvent 95,2739 - WakeEvent = 0x51,95,2739 - CountDown 96,2758 - CountDown = 0x54,96,2758 - IntStatusAck 97,2777 - IntStatusAck = 0x5a,97,2777 - IntEnable 98,2799 - IntEnable = 0x5c,98,2799 - IntStatus 99,2818 - IntStatus = 0x5e,99,2818 - TxStatus 100,2837 - TxStatus = 0x60,100,2837 - MACCtrl 101,2855 - MACCtrl = 0x6c,101,2855 - VLANTag 102,2872 - VLANTag = 0x70,102,2872 - PhyCtrl 103,2889 - PhyCtrl = 0x76,103,2889 - StationAddr0 104,2906 - StationAddr0 = 0x78,104,2906 - StationAddr1 105,2928 - StationAddr1 = 0x7a,105,2928 - StationAddr2 106,2950 - StationAddr2 = 0x7c,106,2950 - VLANId 107,2972 - VLANId = 0x80,107,2972 - MaxFrameSize 108,2988 - MaxFrameSize = 0x86,108,2988 - ReceiveMode 109,3010 - ReceiveMode = 0x88,109,3010 - HashTable0 110,3031 - HashTable0 = 0x8c,110,3031 - HashTable1 111,3051 - HashTable1 = 0x90,111,3051 - RmonStatMask 112,3071 - RmonStatMask = 0x98,112,3071 - StatMask 113,3093 - StatMask = 0x9c,113,3093 - RxJumboFrames 114,3111 - RxJumboFrames = 0xbc,114,3111 - TCPCheckSumErrors 115,3134 - TCPCheckSumErrors = 0xc0,115,3134 - IPCheckSumErrors 116,3161 - IPCheckSumErrors = 0xc2,116,3161 - UDPCheckSumErrors 117,3187 - UDPCheckSumErrors = 0xc4,117,3187 - TxJumboFrames 118,3214 - TxJumboFrames = 0xf4,118,3214 - OctetRcvOk 120,3284 - OctetRcvOk = 0xa8,120,3284 - McstOctetRcvOk 121,3304 - McstOctetRcvOk = 0xac,121,3304 - BcstOctetRcvOk 122,3328 - BcstOctetRcvOk = 0xb0,122,3328 - FramesRcvOk 123,3352 - FramesRcvOk = 0xb4,123,3352 - McstFramesRcvdOk 124,3373 - McstFramesRcvdOk = 0xb8,124,3373 - BcstFramesRcvdOk 125,3399 - BcstFramesRcvdOk = 0xbe,125,3399 - MacControlFramesRcvd 126,3425 - MacControlFramesRcvd = 0xc6,126,3425 - FrameTooLongErrors 127,3455 - FrameTooLongErrors = 0xc8,127,3455 - InRangeLengthErrors 128,3483 - InRangeLengthErrors = 0xca,128,3483 - FramesCheckSeqErrors 129,3512 - FramesCheckSeqErrors = 0xcc,129,3512 - FramesLostRxErrors 130,3542 - FramesLostRxErrors = 0xce,130,3542 - OctetXmtOk 131,3570 - OctetXmtOk = 0xd0,131,3570 - McstOctetXmtOk 132,3590 - McstOctetXmtOk = 0xd4,132,3590 - BcstOctetXmtOk 133,3614 - BcstOctetXmtOk = 0xd8,133,3614 - FramesXmtOk 134,3638 - FramesXmtOk = 0xdc,134,3638 - McstFramesXmtdOk 135,3659 - McstFramesXmtdOk = 0xe0,135,3659 - FramesWDeferredXmt 136,3685 - FramesWDeferredXmt = 0xe4,136,3685 - LateCollisions 137,3713 - LateCollisions = 0xe8,137,3713 - MultiColFrames 138,3737 - MultiColFrames = 0xec,138,3737 - SingleColFrames 139,3761 - SingleColFrames = 0xf0,139,3761 - BcstFramesXmtdOk 140,3786 - BcstFramesXmtdOk = 0xf6,140,3786 - CarrierSenseErrors 141,3812 - CarrierSenseErrors = 0xf8,141,3812 - MacControlFramesXmtd 142,3840 - MacControlFramesXmtd = 0xfa,142,3840 - FramesAbortXSColls 143,3870 - FramesAbortXSColls = 0xfc,143,3870 - FramesWEXDeferal 144,3898 - FramesWEXDeferal = 0xfe,144,3898 - EtherStatsCollisions 146,3963 - EtherStatsCollisions = 0x100,146,3963 - EtherStatsOctetsTransmit 147,3994 - EtherStatsOctetsTransmit = 0x104,147,3994 - EtherStatsPktsTransmit 148,4029 - EtherStatsPktsTransmit = 0x108,148,4029 - EtherStatsPkts64OctetTransmit 149,4062 - EtherStatsPkts64OctetTransmit = 0x10c,149,4062 - EtherStats65to127OctetsTransmit 150,4102 - EtherStats65to127OctetsTransmit = 0x110,150,4102 - EtherStatsPkts128to255OctetsTransmit 151,4144 - EtherStatsPkts128to255OctetsTransmit = 0x114,151,4144 - EtherStatsPkts256to511OctetsTransmit 152,4191 - EtherStatsPkts256to511OctetsTransmit = 0x118,152,4191 - EtherStatsPkts512to1023OctetsTransmit 153,4238 - EtherStatsPkts512to1023OctetsTransmit = 0x11c,153,4238 - EtherStatsPkts1024to1518OctetsTransmit 154,4286 - EtherStatsPkts1024to1518OctetsTransmit = 0x120,154,4286 - EtherStatsCRCAlignErrors 155,4335 - EtherStatsCRCAlignErrors = 0x124,155,4335 - EtherStatsUndersizePkts 156,4370 - EtherStatsUndersizePkts = 0x128,156,4370 - EtherStatsFragments 157,4404 - EtherStatsFragments = 0x12c,157,4404 - EtherStatsJabbers 158,4434 - EtherStatsJabbers = 0x130,158,4434 - EtherStatsOctets 159,4462 - EtherStatsOctets = 0x134,159,4462 - EtherStatsPkts 160,4489 - EtherStatsPkts = 0x138,160,4489 - EtherStats64Octets 161,4514 - EtherStats64Octets = 0x13c,161,4514 - EtherStatsPkts65to127Octets 162,4543 - EtherStatsPkts65to127Octets = 0x140,162,4543 - EtherStatsPkts128to255Octets 163,4581 - EtherStatsPkts128to255Octets = 0x144,163,4581 - EtherStatsPkts256to511Octets 164,4620 - EtherStatsPkts256to511Octets = 0x148,164,4620 - EtherStatsPkts512to1023Octets 165,4659 - EtherStatsPkts512to1023Octets = 0x14c,165,4659 - EtherStatsPkts1024to1518Octets 166,4699 - EtherStatsPkts1024to1518Octets = 0x150,166,4699 -enum IntStatus_bits IntStatus_bits170,4795 - InterruptStatus 171,4817 - InterruptStatus = 0x0001,171,4817 - HostError 172,4844 - HostError = 0x0002,172,4844 - MACCtrlFrame 173,4865 - MACCtrlFrame = 0x0008,173,4865 - TxComplete 174,4889 - TxComplete = 0x0004,174,4889 - RxComplete 175,4911 - RxComplete = 0x0010,175,4911 - RxEarly 176,4933 - RxEarly = 0x0020,176,4933 - IntRequested 177,4952 - IntRequested = 0x0040,177,4952 - UpdateStats 178,4976 - UpdateStats = 0x0080,178,4976 - LinkEvent 179,4999 - LinkEvent = 0x0100,179,4999 - TxDMAComplete 180,5020 - TxDMAComplete = 0x0200,180,5020 - RxDMAComplete 181,5045 - RxDMAComplete = 0x0400,181,5045 - RFDListEnd 182,5070 - RFDListEnd = 0x0800,182,5070 - RxDMAPriority 183,5092 - RxDMAPriority = 0x1000,183,5092 -enum ReceiveMode_bits ReceiveMode_bits187,5161 - ReceiveUnicast 188,5185 - ReceiveUnicast = 0x0001,188,5185 - ReceiveMulticast 189,5211 - ReceiveMulticast = 0x0002,189,5211 - ReceiveBroadcast 190,5239 - ReceiveBroadcast = 0x0004,190,5239 - ReceiveAllFrames 191,5267 - ReceiveAllFrames = 0x0008,191,5267 - ReceiveMulticastHash 192,5295 - ReceiveMulticastHash = 0x0010,192,5295 - ReceiveIPMulticast 193,5327 - ReceiveIPMulticast = 0x0020,193,5327 - ReceiveVLANMatch 194,5357 - ReceiveVLANMatch = 0x0100,194,5357 - ReceiveVLANHash 195,5385 - ReceiveVLANHash = 0x0200,195,5385 -enum MACCtrl_bits MACCtrl_bits198,5438 - DuplexSelect 199,5458 - DuplexSelect = 0x20,199,5458 - TxFlowControlEnable 200,5480 - TxFlowControlEnable = 0x80,200,5480 - RxFlowControlEnable 201,5509 - RxFlowControlEnable = 0x0100,201,5509 - RcvFCS 202,5540 - RcvFCS = 0x200,202,5540 - AutoVLANtagging 203,5557 - AutoVLANtagging = 0x1000,203,5557 - AutoVLANuntagging 204,5584 - AutoVLANuntagging = 0x2000,204,5584 - StatsEnable 205,5613 - StatsEnable = 0x00200000,205,5613 - StatsDisable 206,5640 - StatsDisable = 0x00400000,206,5640 - StatsEnabled 207,5668 - StatsEnabled = 0x00800000,207,5668 - TxEnable 208,5696 - TxEnable = 0x01000000,208,5696 - TxDisable 209,5720 - TxDisable = 0x02000000,209,5720 - TxEnabled 210,5745 - TxEnabled = 0x04000000,210,5745 - RxEnable 211,5770 - RxEnable = 0x08000000,211,5770 - RxDisable 212,5794 - RxDisable = 0x10000000,212,5794 - RxEnabled 213,5819 - RxEnabled = 0x20000000,213,5819 -enum ASICCtrl_LoWord_bits ASICCtrl_LoWord_bits216,5848 - PhyMedia 217,5876 - PhyMedia = 0x0080,217,5876 -enum ASICCtrl_HiWord_bits ASICCtrl_HiWord_bits220,5901 - GlobalReset 221,5929 - GlobalReset = 0x0001,221,5929 - RxReset 222,5952 - RxReset = 0x0002,222,5952 - TxReset 223,5971 - TxReset = 0x0004,223,5971 - DMAReset 224,5990 - DMAReset = 0x0008,224,5990 - FIFOReset 225,6010 - FIFOReset = 0x0010,225,6010 - NetworkReset 226,6031 - NetworkReset = 0x0020,226,6031 - HostReset 227,6055 - HostReset = 0x0040,227,6055 - ResetBusy 228,6076 - ResetBusy = 0x0400,228,6076 -enum TFC_bits TFC_bits232,6135 - DwordAlign 233,6151 - DwordAlign = 0x00000000,233,6151 - WordAlignDisable 234,6177 - WordAlignDisable = 0x00030000,234,6177 - WordAlign 235,6209 - WordAlign = 0x00020000,235,6209 - TCPChecksumEnable 236,6234 - TCPChecksumEnable = 0x00040000,236,6234 - UDPChecksumEnable 237,6267 - UDPChecksumEnable = 0x00080000,237,6267 - IPChecksumEnable 238,6300 - IPChecksumEnable = 0x00100000,238,6300 - FCSAppendDisable 239,6332 - FCSAppendDisable = 0x00200000,239,6332 - TxIndicate 240,6364 - TxIndicate = 0x00400000,240,6364 - TxDMAIndicate 241,6390 - TxDMAIndicate = 0x00800000,241,6390 - FragCountShift 242,6419 - VLANTagInsert 243,6441 - VLANTagInsert = 0x0000000010000000,243,6441 - TFDDone 244,6478 - TFDDone = 0x80000000,244,6478 - VIDShift 245,6501 - UsePriorityShift 246,6517 -enum RFS_bits RFS_bits250,6578 - RxFIFOOverrun 251,6594 - RxFIFOOverrun = 0x00010000,251,6594 - RxRuntFrame 252,6623 - RxRuntFrame = 0x00020000,252,6623 - RxAlignmentError 253,6650 - RxAlignmentError = 0x00040000,253,6650 - RxFCSError 254,6682 - RxFCSError = 0x00080000,254,6682 - RxOverSizedFrame 255,6708 - RxOverSizedFrame = 0x00100000,255,6708 - RxLengthError 256,6740 - RxLengthError = 0x00200000,256,6740 - VLANDetected 257,6769 - VLANDetected = 0x00400000,257,6769 - TCPDetected 258,6797 - TCPDetected = 0x00800000,258,6797 - TCPError 259,6824 - TCPError = 0x01000000,259,6824 - UDPDetected 260,6848 - UDPDetected = 0x02000000,260,6848 - UDPError 261,6875 - UDPError = 0x04000000,261,6875 - IPDetected 262,6899 - IPDetected = 0x08000000,262,6899 - IPError 263,6925 - IPError = 0x10000000,263,6925 - FrameStart 264,6948 - FrameStart = 0x20000000,264,6948 - FrameEnd 265,6974 - FrameEnd = 0x40000000,265,6974 - RFDDone 266,6998 - RFDDone = 0x80000000,266,6998 - TCIShift 267,7021 - RFS_Errors 268,7037 - RFS_Errors = 0x003f0000,268,7037 -#define MII_RESET_TIME_OUT 271,7067 -enum _mii_reg _mii_reg273,7120 - MII_BMCR 274,7136 - MII_BMSR 275,7151 - MII_PHY_ID1 276,7166 - MII_PHY_ID2 277,7184 - MII_ANAR 278,7202 - MII_ANLPAR 279,7217 - MII_ANER 280,7234 - MII_ANNPT 281,7249 - MII_ANLPRNP 282,7265 - MII_MSCR 283,7283 - MII_MSSR 284,7298 - MII_ESR 285,7314 - MII_PHY_SCR 286,7329 -enum _pcs_reg _pcs_reg289,7370 - PCS_BMCR 290,7386 - PCS_BMSR 291,7401 - PCS_ANAR 292,7416 - PCS_ANLPAR 293,7431 - PCS_ANER 294,7448 - PCS_ANNPT 295,7463 - PCS_ANLPRNP 296,7479 - PCS_ESR 297,7497 -typedef union t_MII_BMCR t_MII_BMCR301,7550 -} BMCR_t, *PBMCR_t;PBMCR_t316,7925 -enum _mii_bmcr _mii_bmcr318,7946 - MII_BMCR_RESET 319,7963 - MII_BMCR_RESET = 0x8000,319,7963 - MII_BMCR_LOOP_BACK 320,7989 - MII_BMCR_LOOP_BACK = 0x4000,320,7989 - MII_BMCR_SPEED_LSB 321,8019 - MII_BMCR_SPEED_LSB = 0x2000,321,8019 - MII_BMCR_AN_ENABLE 322,8049 - MII_BMCR_AN_ENABLE = 0x1000,322,8049 - MII_BMCR_POWER_DOWN 323,8079 - MII_BMCR_POWER_DOWN = 0x0800,323,8079 - MII_BMCR_ISOLATE 324,8110 - MII_BMCR_ISOLATE = 0x0400,324,8110 - MII_BMCR_RESTART_AN 325,8138 - MII_BMCR_RESTART_AN = 0x0200,325,8138 - MII_BMCR_DUPLEX_MODE 326,8169 - MII_BMCR_DUPLEX_MODE = 0x0100,326,8169 - MII_BMCR_COL_TEST 327,8201 - MII_BMCR_COL_TEST = 0x0080,327,8201 - MII_BMCR_SPEED_MSB 328,8230 - MII_BMCR_SPEED_MSB = 0x0040,328,8230 - MII_BMCR_SPEED_RESERVED 329,8260 - MII_BMCR_SPEED_RESERVED = 0x003f,329,8260 - MII_BMCR_SPEED_10 330,8295 - MII_BMCR_SPEED_100 331,8319 - MII_BMCR_SPEED_100 = MII_BMCR_SPEED_LSB,331,8319 - MII_BMCR_SPEED_1000 332,8361 - MII_BMCR_SPEED_1000 = MII_BMCR_SPEED_MSB,332,8361 -typedef union t_MII_BMSR t_MII_BMSR336,8441 -} BMSR_t, *PBMSR_t;PBMSR_t356,9005 -enum _mii_bmsr _mii_bmsr358,9026 - MII_BMSR_100BT4 359,9043 - MII_BMSR_100BT4 = 0x8000,359,9043 - MII_BMSR_100BX_FD 360,9070 - MII_BMSR_100BX_FD = 0x4000,360,9070 - MII_BMSR_100BX_HD 361,9099 - MII_BMSR_100BX_HD = 0x2000,361,9099 - MII_BMSR_10BT_FD 362,9128 - MII_BMSR_10BT_FD = 0x1000,362,9128 - MII_BMSR_10BT_HD 363,9156 - MII_BMSR_10BT_HD = 0x0800,363,9156 - MII_BMSR_100BT2_FD 364,9184 - MII_BMSR_100BT2_FD = 0x0400,364,9184 - MII_BMSR_100BT2_HD 365,9214 - MII_BMSR_100BT2_HD = 0x0200,365,9214 - MII_BMSR_EXT_STATUS 366,9244 - MII_BMSR_EXT_STATUS = 0x0100,366,9244 - MII_BMSR_PREAMBLE_SUPP 367,9275 - MII_BMSR_PREAMBLE_SUPP = 0x0040,367,9275 - MII_BMSR_AN_COMPLETE 368,9309 - MII_BMSR_AN_COMPLETE = 0x0020,368,9309 - MII_BMSR_REMOTE_FAULT 369,9341 - MII_BMSR_REMOTE_FAULT = 0x0010,369,9341 - MII_BMSR_AN_ABILITY 370,9374 - MII_BMSR_AN_ABILITY = 0x0008,370,9374 - MII_BMSR_LINK_STATUS 371,9405 - MII_BMSR_LINK_STATUS = 0x0004,371,9405 - MII_BMSR_JABBER_DETECT 372,9437 - MII_BMSR_JABBER_DETECT = 0x0002,372,9437 - MII_BMSR_EXT_CAP 373,9471 - MII_BMSR_EXT_CAP = 0x0001,373,9471 -typedef union t_MII_ANAR t_MII_ANAR377,9514 -} ANAR_t, *PANAR_t;PANAR_t393,9930 -enum _mii_anar _mii_anar395,9951 - MII_ANAR_NEXT_PAGE 396,9968 - MII_ANAR_NEXT_PAGE = 0x8000,396,9968 - MII_ANAR_REMOTE_FAULT 397,9998 - MII_ANAR_REMOTE_FAULT = 0x4000,397,9998 - MII_ANAR_ASYMMETRIC 398,10031 - MII_ANAR_ASYMMETRIC = 0x0800,398,10031 - MII_ANAR_PAUSE 399,10062 - MII_ANAR_PAUSE = 0x0400,399,10062 - MII_ANAR_100BT4 400,10088 - MII_ANAR_100BT4 = 0x0200,400,10088 - MII_ANAR_100BX_FD 401,10115 - MII_ANAR_100BX_FD = 0x0100,401,10115 - MII_ANAR_100BX_HD 402,10144 - MII_ANAR_100BX_HD = 0x0080,402,10144 - MII_ANAR_10BT_FD 403,10173 - MII_ANAR_10BT_FD = 0x0020,403,10173 - MII_ANAR_10BT_HD 404,10201 - MII_ANAR_10BT_HD = 0x0010,404,10201 - MII_ANAR_SELECTOR 405,10229 - MII_ANAR_SELECTOR = 0x001f,405,10229 - MII_IEEE8023_CSMACD 406,10258 - MII_IEEE8023_CSMACD = 0x0001,406,10258 -typedef union t_MII_ANLPAR t_MII_ANLPAR410,10306 -} ANLPAR_t, *PANLPAR_t;PANLPAR_t426,10724 -enum _mii_anlpar _mii_anlpar428,10749 - MII_ANLPAR_NEXT_PAGE 429,10768 - MII_ANLPAR_NEXT_PAGE = MII_ANAR_NEXT_PAGE,429,10768 - MII_ANLPAR_REMOTE_FAULT 430,10812 - MII_ANLPAR_REMOTE_FAULT = MII_ANAR_REMOTE_FAULT,430,10812 - MII_ANLPAR_ASYMMETRIC 431,10862 - MII_ANLPAR_ASYMMETRIC = MII_ANAR_ASYMMETRIC,431,10862 - MII_ANLPAR_PAUSE 432,10908 - MII_ANLPAR_PAUSE = MII_ANAR_PAUSE,432,10908 - MII_ANLPAR_100BT4 433,10944 - MII_ANLPAR_100BT4 = MII_ANAR_100BT4,433,10944 - MII_ANLPAR_100BX_FD 434,10982 - MII_ANLPAR_100BX_FD = MII_ANAR_100BX_FD,434,10982 - MII_ANLPAR_100BX_HD 435,11024 - MII_ANLPAR_100BX_HD = MII_ANAR_100BX_HD,435,11024 - MII_ANLPAR_10BT_FD 436,11066 - MII_ANLPAR_10BT_FD = MII_ANAR_10BT_FD,436,11066 - MII_ANLPAR_10BT_HD 437,11106 - MII_ANLPAR_10BT_HD = MII_ANAR_10BT_HD,437,11106 - MII_ANLPAR_SELECTOR 438,11146 - MII_ANLPAR_SELECTOR = MII_ANAR_SELECTOR,438,11146 -typedef union t_MII_ANER t_MII_ANER442,11234 -} ANER_t, *PANER_t;PANER_t452,11482 -enum _mii_aner _mii_aner454,11503 - MII_ANER_PAR_DETECT_FAULT 455,11520 - MII_ANER_PAR_DETECT_FAULT = 0x0010,455,11520 - MII_ANER_LP_NEXTPAGABLE 456,11557 - MII_ANER_LP_NEXTPAGABLE = 0x0008,456,11557 - MII_ANER_NETXTPAGABLE 457,11592 - MII_ANER_NETXTPAGABLE = 0x0004,457,11592 - MII_ANER_PAGE_RECEIVED 458,11625 - MII_ANER_PAGE_RECEIVED = 0x0002,458,11625 - MII_ANER_LP_NEGOTIABLE 459,11659 - MII_ANER_LP_NEGOTIABLE = 0x0001,459,11659 -typedef union t_MII_MSCR t_MII_MSCR463,11733 -} MSCR_t, *PMSCR_t;PMSCR_t474,12008 -enum _mii_mscr _mii_mscr476,12029 - MII_MSCR_TEST_MODE 477,12046 - MII_MSCR_TEST_MODE = 0xe000,477,12046 - MII_MSCR_CFG_ENABLE 478,12076 - MII_MSCR_CFG_ENABLE = 0x1000,478,12076 - MII_MSCR_CFG_VALUE 479,12107 - MII_MSCR_CFG_VALUE = 0x0800,479,12107 - MII_MSCR_PORT_VALUE 480,12137 - MII_MSCR_PORT_VALUE = 0x0400,480,12137 - MII_MSCR_1000BT_FD 481,12168 - MII_MSCR_1000BT_FD = 0x0200,481,12168 - MII_MSCR_1000BT_HD 482,12198 - MII_MSCR_1000BT_HD = 0X0100,482,12198 -typedef union t_MII_MSSR t_MII_MSSR486,12267 -} MSSR_t, *PMSSR_t;PMSSR_t498,12589 -enum _mii_mssr _mii_mssr500,12610 - MII_MSSR_CFG_FAULT 501,12627 - MII_MSSR_CFG_FAULT = 0x8000,501,12627 - MII_MSSR_CFG_RES 502,12657 - MII_MSSR_CFG_RES = 0x4000,502,12657 - MII_MSSR_LOCAL_RCV_STATUS 503,12685 - MII_MSSR_LOCAL_RCV_STATUS = 0x2000,503,12685 - MII_MSSR_REMOTE_RCVR 504,12722 - MII_MSSR_REMOTE_RCVR = 0x1000,504,12722 - MII_MSSR_LP_1000BT_HD 505,12754 - MII_MSSR_LP_1000BT_HD = 0x0800,505,12754 - MII_MSSR_LP_1000BT_FD 506,12787 - MII_MSSR_LP_1000BT_FD = 0x0400,506,12787 - MII_MSSR_IDLE_ERR_COUNT 507,12820 - MII_MSSR_IDLE_ERR_COUNT = 0x00ff,507,12820 -typedef union t_MII_ESR t_MII_ESR511,12894 -} ESR_t, *PESR_t;PESR_t520,13123 -enum _mii_esr _mii_esr522,13142 - MII_ESR_1000BX_FD 523,13158 - MII_ESR_1000BX_FD = 0x8000,523,13158 - MII_ESR_1000BX_HD 524,13187 - MII_ESR_1000BX_HD = 0x4000,524,13187 - MII_ESR_1000BT_FD 525,13216 - MII_ESR_1000BT_FD = 0x2000,525,13216 - MII_ESR_1000BT_HD 526,13245 - MII_ESR_1000BT_HD = 0x1000,526,13245 -typedef union t_MII_PHY_SCR t_MII_PHY_SCR529,13313 -} PHY_SCR_t, *PPHY_SCR_t;PPHY_SCR_t545,13765 -typedef enum t_MII_ADMIN_STATUS t_MII_ADMIN_STATUS547,13792 - adm_reset,548,13826 - adm_operational,549,13838 - adm_loopback,550,13856 - adm_power_down,551,13871 - adm_isolate552,13888 -} MII_ADMIN_t, *PMII_ADMIN_t;PMII_ADMIN_t553,13901 -typedef union t_PCS_ANAR t_PCS_ANAR559,14121 -} ANAR_PCS_t, *PANAR_PCS_t;PANAR_PCS_t572,14446 -enum _pcs_anar _pcs_anar574,14475 - PCS_ANAR_NEXT_PAGE 575,14492 - PCS_ANAR_NEXT_PAGE = 0x8000,575,14492 - PCS_ANAR_REMOTE_FAULT 576,14522 - PCS_ANAR_REMOTE_FAULT = 0x3000,576,14522 - PCS_ANAR_ASYMMETRIC 577,14555 - PCS_ANAR_ASYMMETRIC = 0x0100,577,14555 - PCS_ANAR_PAUSE 578,14586 - PCS_ANAR_PAUSE = 0x0080,578,14586 - PCS_ANAR_HALF_DUPLEX 579,14612 - PCS_ANAR_HALF_DUPLEX = 0x0040,579,14612 - PCS_ANAR_FULL_DUPLEX 580,14644 - PCS_ANAR_FULL_DUPLEX = 0x0020,580,14644 -typedef union t_PCS_ANLPAR t_PCS_ANLPAR583,14696 -} ANLPAR_PCS_t, *PANLPAR_PCS_t;PANLPAR_PCS_t596,15023 -enum _pcs_anlpar _pcs_anlpar598,15056 - PCS_ANLPAR_NEXT_PAGE 599,15075 - PCS_ANLPAR_NEXT_PAGE = PCS_ANAR_NEXT_PAGE,599,15075 - PCS_ANLPAR_REMOTE_FAULT 600,15120 - PCS_ANLPAR_REMOTE_FAULT = PCS_ANAR_REMOTE_FAULT,600,15120 - PCS_ANLPAR_ASYMMETRIC 601,15170 - PCS_ANLPAR_ASYMMETRIC = PCS_ANAR_ASYMMETRIC,601,15170 - PCS_ANLPAR_PAUSE 602,15216 - PCS_ANLPAR_PAUSE = PCS_ANAR_PAUSE,602,15216 - PCS_ANLPAR_HALF_DUPLEX 603,15252 - PCS_ANLPAR_HALF_DUPLEX = PCS_ANAR_HALF_DUPLEX,603,15252 - PCS_ANLPAR_FULL_DUPLEX 604,15300 - PCS_ANLPAR_FULL_DUPLEX = PCS_ANAR_FULL_DUPLEX,604,15300 -typedef struct t_SROM t_SROM607,15352 -} SROM_t, *PSROM_t;PSROM_t617,15659 -struct ioctl_data ioctl_data620,15704 -struct mii_data mii_data627,15782 -struct netdev_desc netdev_desc635,15912 -#define PRIV_ALIGN 641,15981 -struct netdev_private netdev_private644,16134 -#define PCI_IOTYPE 687,17870 -#define PCI_IOTYPE 689,17940 -static struct pci_device_id rio_pci_tbl[698,18447 -#define TX_TIMEOUT 703,18594 -#define PACKET_SIZE 704,18621 -#define MAX_JUMBO 705,18647 -#define RIO_IO_SIZE 706,18671 -#define DEFAULT_RXC 707,18707 -#define DEFAULT_RXT 708,18730 -#define DEFAULT_TXC 709,18755 -#define MAX_TXC 710,18778 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bonding/bond_3ad.h,2312 -#define __BOND_3AD_H__37,1377 -#define BOND_ETH_P_LACPDU 44,1507 -#define PKT_TYPE_LACPDU 45,1546 -#define AD_TIMER_INTERVAL 46,1614 -#define MULTICAST_LACPDU_ADDR 48,1660 -#define AD_MULTICAST_LACPDU_ADDR 49,1730 -#define AD_LACP_SLOW 51,1791 -#define AD_LACP_FAST 52,1814 -typedef struct mac_addr mac_addr54,1838 -} mac_addr_t;mac_addr_t56,1894 - AD_BANDWIDTH 59,1924 - AD_COUNT60,1943 -} agg_selection_t;agg_selection_t61,1953 - AD_RX_DUMMY,65,2042 - AD_RX_INITIALIZE,66,2056 - AD_RX_PORT_DISABLED,67,2093 - AD_RX_LACP_DISABLED,68,2130 - AD_RX_EXPIRED,69,2167 - AD_RX_DEFAULTED,70,2203 - AD_RX_CURRENT 71,2240 -} rx_states_t;rx_states_t72,2275 - AD_PERIODIC_DUMMY,76,2366 - AD_NO_PERIODIC,77,2386 - AD_FAST_PERIODIC,78,2430 - AD_SLOW_PERIODIC,79,2474 - AD_PERIODIC_TX 80,2518 -} periodic_states_t;periodic_states_t81,2557 - AD_MUX_DUMMY,85,2649 - AD_MUX_DETACHED,86,2664 - AD_MUX_WAITING,87,2703 - AD_MUX_ATTACHED,88,2742 - AD_MUX_COLLECTING_DISTRIBUTING 89,2781 -} mux_states_t;mux_states_t90,2828 - AD_TX_DUMMY,94,2914 - AD_TRANSMIT 95,2928 -} tx_states_t;tx_states_t96,2958 - AD_TYPE_LACPDU 100,3012 - AD_TYPE_MARKER 101,3051 -} pdu_type_t;pdu_type_t102,3085 - AD_MARKER_INFORMATION_SUBTYPE 106,3145 - AD_MARKER_RESPONSE_SUBTYPE 107,3211 -} marker_subtype_t;marker_subtype_t108,3270 - AD_CURRENT_WHILE_TIMER,112,3354 - AD_ACTOR_CHURN_TIMER,113,3379 - AD_PERIODIC_TIMER,114,3402 - AD_PARTNER_CHURN_TIMER,115,3422 - AD_WAIT_WHILE_TIMER116,3447 -} ad_timers_t;ad_timers_t117,3468 -typedef struct ad_header ad_header121,3501 -} ad_header_t;ad_header_t125,3617 -typedef struct lacpdu lacpdu128,3730 -} lacpdu_t;lacpdu_t156,4628 -typedef struct lacpdu_header lacpdu_header158,4641 -} lacpdu_header_t;lacpdu_header_t161,4724 -typedef struct marker marker164,4822 -} marker_t;marker_t177,5405 -typedef struct marker_header marker_header179,5418 -} marker_header_t;marker_header_t182,5501 -typedef struct aggregator aggregator196,5693 -} aggregator_t;aggregator_t212,6289 -typedef struct port port215,6356 -} port_t;port_t254,8361 -typedef struct ad_system ad_system257,8392 -} ad_system_t;ad_system_t260,8469 -#define BOND_AD_INFO(BOND_AD_INFO267,8612 -#define SLAVE_AD_INFO(SLAVE_AD_INFO268,8659 -struct ad_bond_info ad_bond_info270,8708 -struct ad_slave_info ad_slave_info281,9103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bonding/bond_alb.c,2582 -#define ALB_TIMER_TICKS_PER_SEC 64,2112 -#define BOND_TLB_REBALANCE_INTERVAL 65,2183 -#define BOND_ALB_LP_INTERVAL 69,2327 -#define BOND_TLB_REBALANCE_TICKS 73,2443 -#define BOND_ALB_LP_TICKS 76,2541 -#define TLB_HASH_TABLE_SIZE 79,2625 -#define TLB_NULL_INDEX 85,2803 -#define MAX_LP_BURST 86,2838 -#define RLB_HASH_TABLE_SIZE 89,2878 -#define RLB_NULL_INDEX 90,2910 -#define RLB_UPDATE_DELAY 91,2945 -#define RLB_ARP_BURST_SIZE 92,3012 -#define RLB_UPDATE_RETRY 93,3041 -#define RLB_PROMISC_TIMEOUT 99,3263 -static const u8 mac_bcast[101,3319 -static const int alb_delta_in_ticks 102,3390 -struct learning_pkt learning_pkt105,3475 -struct arp_pkt arp_pkt112,3592 -static inline u8 _simple_hash(128,4046 -static inline void _lock_tx_hashtbl(142,4291 -static inline void _unlock_tx_hashtbl(147,4406 -static inline void tlb_init_table_entry(153,4564 -static inline void tlb_init_slave(166,4872 -static void tlb_clear_slave(173,5053 -static int tlb_initialize(196,5617 -static void tlb_deinitialize(227,6368 -static struct slave *tlb_get_least_loaded_slave(240,6642 -struct slave *tlb_choose_channel(278,7477 -static inline void _lock_rx_hashtbl(320,8574 -static inline void _unlock_rx_hashtbl(325,8689 -static void rlb_update_entry_from_arp(333,8896 -static int rlb_arp_recv(356,9544 -static struct slave *rlb_next_rx_slave(391,10290 -static void rlb_teach_disabled_mac_on_primary(427,11068 -static void rlb_clear_slave(447,11556 -static void rlb_update_client(496,12950 -static void rlb_update_rx_clients(536,13799 -static void rlb_req_update_slave_clients(564,14582 -static void rlb_req_update_subnet_clients(595,15394 -struct slave *rlb_choose_channel(630,16445 -static struct slave *rlb_arp_xmit(719,19002 -static void rlb_rebalance(759,20325 -static void rlb_init_table_entry(789,21100 -static int rlb_initialize(796,21282 -static void rlb_deinitialize(835,22231 -static void rlb_clear_vlan(850,22556 -static void alb_send_learning_packets(885,23530 -static int alb_set_slave_mac_addr(943,24820 -static void alb_swap_mac_addr(970,25666 -static void alb_change_hw_addr_on_detach(1028,27475 -static int alb_handle_addr_collision_on_attach(1084,29129 -static int alb_set_mac_address(1191,31845 -int bond_alb_initialize(1241,32978 -void bond_alb_deinitialize(1263,33297 -int bond_alb_xmit(1274,33497 -void bond_alb_monitor(1385,36016 -int bond_alb_init_slave(1497,38787 -void bond_alb_deinit_slave(1533,39506 -void bond_alb_handle_link_change(1548,39844 -void bond_alb_handle_active_change(1581,40896 -int bond_alb_set_mac_address(1631,42293 -void bond_alb_clear_vlan(1683,43514 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bonding/bond_alb.h,309 -#define __BOND_ALB_H__33,1194 -#define BOND_ALB_INFO(BOND_ALB_INFO40,1278 -#define SLAVE_TLB_INFO(SLAVE_TLB_INFO41,1327 -struct tlb_client_info tlb_client_info43,1378 -struct rlb_client_info rlb_client_info71,2427 -struct tlb_slave_info tlb_slave_info84,2981 -struct alb_bond_info alb_bond_info95,3301 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bonding/bonding.h,1016 -#define _LINUX_BONDING_H31,1106 -#define DRV_VERSION 39,1259 -#define DRV_RELDATE 40,1287 -#define DRV_NAME 41,1326 -#define DRV_DESCRIPTION 42,1353 -#define BOND_MAX_ARP_TARGETS 44,1412 -#define dprintk(dprintk47,1466 -#define dprintk(dprintk51,1600 -#define IS_UP(IS_UP54,1658 -#define BOND_IS_OK(BOND_IS_OK64,1888 -#define SLAVE_IS_OK(SLAVE_IS_OK72,2089 -#define USES_PRIMARY(USES_PRIMARY79,2308 -#define IOCTL(IOCTL89,2661 -#define bond_for_each_slave_from(bond_for_each_slave_from106,3073 -#define bond_for_each_slave_from_to(bond_for_each_slave_from_to121,3519 -#define bond_for_each_slave(bond_for_each_slave134,3926 -struct bond_params bond_params138,4038 -struct vlan_entry vlan_entry150,4235 -struct slave slave155,4313 -struct bonding bonding181,5145 -extern inline struct slave *bond_get_slave_by_dev(213,6103 -extern inline struct bonding *bond_get_bond_by_slave(227,6353 -extern inline void bond_set_slave_inactive_flags(236,6541 -extern inline void bond_set_slave_active_flags(242,6684 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bonding/bond_3ad.c,4343 -#define AD_SHORT_TIMEOUT 68,2643 -#define AD_LONG_TIMEOUT 69,2680 -#define AD_STANDBY 70,2717 -#define AD_MAX_TX_IN_SECOND 71,2756 -#define AD_COLLECTOR_MAX_DELAY 72,2793 -#define AD_FAST_PERIODIC_TIME 75,2884 -#define AD_SLOW_PERIODIC_TIME 76,2921 -#define AD_SHORT_TIMEOUT_TIME 77,2959 -#define AD_LONG_TIMEOUT_TIME 78,3020 -#define AD_CHURN_DETECTION_TIME 79,3081 -#define AD_AGGREGATE_WAIT_TIME 80,3119 -#define AD_STATE_LACP_ACTIVITY 83,3217 -#define AD_STATE_LACP_TIMEOUT 84,3254 -#define AD_STATE_AGGREGATION 85,3291 -#define AD_STATE_SYNCHRONIZATION 86,3328 -#define AD_STATE_COLLECTING 87,3365 -#define AD_STATE_DISTRIBUTING 88,3403 -#define AD_STATE_DEFAULTED 89,3441 -#define AD_STATE_EXPIRED 90,3479 -#define AD_PORT_BEGIN 93,3607 -#define AD_PORT_LACP_ENABLED 94,3643 -#define AD_PORT_ACTOR_CHURN 95,3679 -#define AD_PORT_PARTNER_CHURN 96,3715 -#define AD_PORT_READY 97,3751 -#define AD_PORT_READY_N 98,3788 -#define AD_PORT_MATCHED 99,3825 -#define AD_PORT_STANDBY 100,3862 -#define AD_PORT_SELECTED 101,3899 -#define AD_PORT_MOVED 102,3937 -#define AD_DUPLEX_KEY_BITS 111,4401 -#define AD_SPEED_KEY_BITS 112,4436 -#define AD_USER_KEY_BITS 113,4472 -#define AD_LINK_SPEED_BITMASK_1MBPS 116,4521 -#define AD_LINK_SPEED_BITMASK_10MBPS 117,4571 -#define AD_LINK_SPEED_BITMASK_100MBPS 118,4621 -#define AD_LINK_SPEED_BITMASK_1000MBPS 119,4671 -#define MAC_ADDRESS_COMPARE(MAC_ADDRESS_COMPARE123,4759 -static struct mac_addr null_mac_addr 125,4817 -static u16 ad_ticks_per_sec;126,4878 -static const int ad_delta_in_ticks 127,4907 -static inline struct bonding *__get_bond_by_port(188,7813 -static inline struct port *__get_first_port(203,8157 -static inline struct port *__get_next_port(219,8541 -static inline struct aggregator *__get_first_agg(239,9076 -static inline struct aggregator *__get_next_agg(258,9628 -static inline void __disable_port(276,10102 -static inline void __enable_port(286,10307 -static inline int __port_is_enabled(300,10616 -static inline u32 __get_agg_selection_mode(311,10904 -static inline int __check_agg_selection_timer(327,11235 -static inline void __get_rx_machine_lock(343,11547 -static inline void __release_rx_machine_lock(353,11778 -static u16 __get_link_speed(368,12186 -static u8 __get_duplex(411,13218 -static inline void __initialize_port_locks(442,13947 -static inline void __deinitialize_port_locks(453,14234 -static void __ntohs_lacpdu(464,14497 -static u16 __ad_timer_to_ticks(488,15532 -static void __record_pdu(530,16989 -static void __record_default(571,18924 -static void __update_selected(601,20240 -static void __update_default_selected(631,21596 -static void __choose_matched(668,23467 -static void __update_ntt(702,24955 -static void __attach_bond_to_agg(731,26288 -static void __detach_bond_from_agg(746,26837 -static int __agg_ports_are_ready(758,27218 -static void __set_agg_ports_ready(782,27787 -static u32 __get_agg_bandwidth(800,28192 -static struct aggregator *__get_active_agg(832,28982 -static inline void __update_lacpdu_from_port(851,29357 -static int ad_lacpdu_send(906,31460 -static int ad_marker_send(948,32650 -static void ad_mux_machine(988,33754 -static void ad_rx_machine(1108,38484 -static void ad_tx_machine(1243,43557 -static void ad_periodic_machine(1268,44461 -static void ad_port_selection_logic(1353,47498 -static void ad_agg_selection_logic(1489,53110 -static void ad_clear_agg(1637,60136 -static void ad_initialize_agg(1660,60834 -static void ad_initialize_port(1677,61255 -static void ad_enable_collecting_distributing(1733,63008 -static void ad_disable_collecting_distributing(1746,63368 -static void ad_marker_info_send(1763,63958 -static void ad_marker_info_received(1798,65170 -static void ad_marker_response_received(1823,65986 -static void ad_initialize_lacpdu(1835,66351 -#define AD_AGGREGATOR_SELECTION_TIMER 1882,68119 -static u16 aggregator_identifier;1884,68161 -void bond_3ad_initialize(1894,68507 -int bond_3ad_bind_slave(1921,69509 -void bond_3ad_unbind_slave(1989,71955 -void bond_3ad_state_machine_handler(2123,77804 -void bond_3ad_rx_indication(2188,79507 -void bond_3ad_adapter_speed_changed(2235,80874 -void bond_3ad_adapter_duplex_changed(2262,81729 -void bond_3ad_handle_link_change(2290,82623 -int bond_3ad_get_active_agg_info(2331,84223 -int bond_3ad_xmit_xor(2355,84922 -int bond_3ad_lacpdu_recv(2433,86625 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bonding/bond_main.c,4437 -#define BOND_LINK_MON_INTERV 522,23523 -#define BOND_LINK_ARP_INTERV 523,23554 -static int max_bonds 525,23586 -static int miimon 526,23633 -static int updelay 527,23675 -static int downdelay 528,23699 -static int use_carrier 529,23725 -static char *mode 530,23753 -static char *primary 531,23779 -static char *lacp_rate 532,23808 -static int arp_interval 533,23839 -static char *arp_ip_target[534,23887 -static const char *version 559,25140 -static struct proc_dir_entry *bond_proc_dir 565,25285 -static u32 arp_target[568,25345 -static int arp_ip_count 569,25400 -static u32 my_ip 570,25429 -static int bond_mode 571,25451 -static int lacp_fast 572,25496 -static int app_abi_ver 573,25522 -static int orig_app_abi_ver 574,25550 -struct bond_parm_tbl bond_parm_tbl582,25875 -static struct bond_parm_tbl bond_lacp_tbl[587,25930 -static struct bond_parm_tbl bond_mode_tbl[593,26048 -static const char *bond_mode_name(610,26612 -static int bond_add_vlan(641,27418 -static int bond_del_vlan(674,28141 -static int bond_has_challenged_slaves(729,29415 -struct vlan_entry *bond_next_vlan(756,30077 -int bond_dev_queue_xmit(800,31339 -static void bond_vlan_rx_register(854,33095 -static void bond_vlan_rx_add_vid(877,33654 -static void bond_vlan_rx_kill_vid(905,34345 -static void bond_add_vlans_on_slave(934,35122 -static void bond_del_vlans_from_slave(962,35735 -static int bond_update_speed_duplex(1005,36883 -static int bond_check_dev_link(1079,38591 -static inline int bond_is_dmi_same(1156,40834 -static struct dev_mc_list *bond_mc_list_find_dmi(1165,41096 -static void bond_set_promiscuity(1181,41419 -static void bond_set_allmulti(1200,41842 -static void bond_mc_add(1220,42269 -static void bond_mc_delete(1240,42715 -static void bond_mc_list_destroy(1259,43148 -static int bond_mc_list_copy(1274,43419 -static void bond_mc_list_flush(1300,44075 -static void bond_mc_swap(1324,44825 -static struct slave *bond_find_best_slave(1370,45924 -static void bond_change_active_slave(1433,47822 -static void bond_select_active_slave(1506,49872 -static void bond_attach_slave(1523,50290 -static void bond_detach_slave(1549,51082 -static int bond_sethwaddr(1574,51656 -static int bond_enslave(1584,52016 -static int bond_release(2009,64729 -static int bond_release_all(2186,69666 -static int bond_ioctl_change_active(2313,73154 -static int bond_ethtool_ioctl(2357,74138 -static int bond_info_query(2408,75170 -static int bond_slave_info_query(2422,75476 -static void bond_mii_monitor(2458,76229 -static void bond_arp_send_all(2699,82972 -static void bond_loadbalance_arp_mon(2718,83615 -static void bond_activebackup_arp_mon(2856,87860 -#define SEQ_START_TOKEN 3089,94422 -static void *bond_info_seq_start(3091,94459 -static void *bond_info_seq_next(3115,94870 -static void bond_info_seq_stop(3130,95162 -static void bond_info_show_master(3138,95328 -static void bond_info_show_slave(3198,97177 -static int bond_info_seq_show(3232,98090 -static struct seq_operations bond_info_seq_ops 3244,98308 -static int bond_info_open(3251,98484 -static struct file_operations bond_info_fops 3268,98828 -static int bond_create_proc_entry(3276,99004 -static void bond_remove_proc_entry(3299,99606 -static void bond_create_proc_dir(3311,99949 -static void bond_destroy_proc_dir(3338,100577 -static int bond_event_changename(3370,101163 -static int bond_master_netdev_event(3380,101336 -static int bond_slave_netdev_event(3399,101690 -static int bond_netdev_event(3455,103019 -static struct notifier_block bond_netdev_notifier 3476,103528 -static void bond_register_lacpdu(3483,103748 -static void bond_unregister_lacpdu(3496,104076 -static int bond_open(3503,104272 -static int bond_close(3565,106111 -static struct net_device_stats *bond_get_stats(3621,107343 -static int bond_do_ioctl(3667,108787 -static void bond_set_multicast_list(3813,112131 -static int bond_change_mtu(3866,113539 -static int bond_set_mac_address(3946,115822 -static int bond_xmit_roundrobin(4020,117850 -static int bond_xmit_activebackup(4069,118864 -static int bond_xmit_xor(4111,119930 -static int bond_xmit_broadcast(4158,120861 -static inline void bond_set_mode_ops(4222,122206 -static int __init bond_init(4258,123119 -static inline void bond_deinit(4327,125118 -static void bond_free_all(4341,125390 -static inline int bond_parse_parm(4363,125872 -static int bond_check_params(4379,126215 -static int __init bonding_init(4623,133380 -static void __exit bonding_exit(4691,134583 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c523.c,2099 -#define DRV_NAME 90,3729 -#define DRV_VERSION 91,3755 -#define DEBUG 116,4359 -#define SYSBUSVAL 117,4390 -#define make32(make32120,4569 -#define make24(make24121,4622 -#define make16(make16122,4673 -static int irq_table[128,4922 -static int irq_table[] __initdata 128,4922 -static int csr_table[132,4977 -static int csr_table[] __initdata 132,4977 -static int shm_table[136,5050 -static int shm_table[] __initdata 136,5050 -#define RECV_BUFF_SIZE 155,5719 -#define XMIT_BUFF_SIZE 156,5772 -#define NUM_XMIT_BUFFS 157,5825 -#define NUM_RECV_BUFFS_8 158,5890 -#define NUM_RECV_BUFFS_16 159,5949 -#define NO_NOPCOMMANDS 162,6036 -#define DELAY(DELAY167,6188 -#define DELAY_16(DELAY_16170,6254 -#define WAIT_4_SCB_CMD(WAIT_4_SCB_CMD173,6329 -static struct ethtool_ops netdev_ethtool_ops;191,7052 -struct priv priv203,7553 -#define elmc_attn586(elmc_attn586226,8402 -#define elmc_reset586(elmc_reset586227,8476 -#define elmc_id_attn586(elmc_id_attn586232,8730 -#define elmc_id_reset586(elmc_id_reset586233,8794 -static void elmc_do_attn586(239,9019 -static void elmc_do_reset586(259,9807 -static int elmc_close(273,10146 -static int elmc_open(285,10387 -static int __init check586(309,10923 -void alloc586(350,12137 -static int elmc_getinfo(382,12975 -static int __init do_elmc_probe(413,13929 -static void cleanup_card(582,19259 -struct net_device * __init elmc_probe(589,19451 -static int init586(620,20024 -static void *alloc_rfa(858,27150 -elmc_interrupt(903,28338 -static void elmc_rcv_int(977,30410 -static void elmc_rnr_int(1026,31998 -static void elmc_xmt_int(1048,32593 -static void startrecv586(1092,33879 -static void elmc_timeout(1106,34218 -static int elmc_send_packet(1137,35215 -static struct net_device_stats *elmc_get_stats(1213,37314 -static void set_multicast_list(1240,37977 -static void netdev_get_drvinfo(1254,38224 -static struct ethtool_ops netdev_ethtool_ops 1262,38449 -#define MAX_3C523_CARDS 1269,38582 -static struct net_device *dev_elmc[1271,38609 -static int irq[1272,38662 -static int io[1273,38695 -int init_module(1279,38961 -void cleanup_module(1310,39712 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/slip.h,661 -#define _LINUX_SLIP_H23,723 -# define SL_INCLUDE_CSLIP28,833 -# define SL_MODE_DEFAULT 32,891 -# define SL_MODE_DEFAULT 34,939 -#define SL_NRUNIT 38,1011 -#define SL_MTU 41,1138 -#define END 44,1225 -#define ESC 45,1284 -#define ESC_END 46,1344 -#define ESC_ESC 47,1409 -struct slip slip50,1476 -#define SLF_INUSE 95,3281 -#define SLF_ESCAPE 96,3337 -#define SLF_ERROR 97,3407 -#define SLF_KEEPTEST 98,3476 -#define SLF_OUTWAIT 99,3527 -#define SL_MODE_SLIP 105,3677 -#define SL_MODE_CSLIP 106,3700 -#define SL_MODE_SLIP6 107,3724 -#define SL_MODE_CSLIP6 108,3784 -#define SL_MODE_AX25 109,3837 -#define SL_MODE_ADAPTIVE 110,3860 -#define SLIP_MAGIC 119,4116 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/mcp2120.c,457 -#define MCP2120_9600 34,1181 -#define MCP2120_19200 35,1210 -#define MCP2120_38400 36,1239 -#define MCP2120_57600 37,1268 -#define MCP2120_115200 38,1297 -#define MCP2120_COMMIT 40,1327 -static struct dongle_reg dongle 42,1357 -static int __init mcp2120_init(51,1562 -static void __exit mcp2120_cleanup(56,1650 -static void mcp2120_open(61,1737 -static void mcp2120_close(67,1908 -static int mcp2120_change_speed(81,2205 -static int mcp2120_reset(179,4848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/ma600-sir.c,535 -#define MA600_9600 49,1870 -#define MA600_19200 50,1894 -#define MA600_38400 51,1919 -#define MA600_57600 52,1944 -#define MA600_115200 53,1969 -#define MA600_DEV_ID1 54,1995 -#define MA600_DEV_ID2 55,2022 -#define MA600_2400 56,2049 -static struct dongle_driver ma600 58,2074 -static int __init ma600_sir_init(69,2349 -static void __exit ma600_sir_cleanup(75,2471 -static int ma600_open(88,2740 -static int ma600_close(108,3249 -static __u8 get_control_byte(118,3415 -static int ma600_change_speed(176,4722 -int ma600_reset(242,6444 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/vlsi_ir.c,2156 -#define DRIVER_NAME 27,1030 -#define DRIVER_VERSION 28,1062 -#define DRIVER_DESCRIPTION 29,1093 -#define DRIVER_AUTHOR 30,1162 -static /* const */ char drivername[61,1909 -static struct pci_device_id vlsi_irda_table 63,1962 -static int clksrc 88,2650 -static int ringsize[100,3058 -static int sirpulse 113,3611 -static int qos_mtt_bits 124,4104 -static void vlsi_reg_debug(128,4228 -static void vlsi_ring_debug(138,4420 -static struct proc_dir_entry *vlsi_proc_root 160,5255 -static void vlsi_proc_pdev(164,5332 -static void vlsi_proc_ndev(180,5964 -static void vlsi_proc_ring(306,11040 -static int vlsi_seq_show(347,12293 -static int vlsi_seq_open(384,13482 -static struct file_operations vlsi_proc_fops 389,13612 -#define VLSI_PROC_FOPS 397,13789 -#define VLSI_PROC_FOPS 400,13859 -static struct vlsi_ring *vlsi_alloc_ring(405,13956 -static int vlsi_free_ring(462,15321 -static int vlsi_create_hwif(483,15719 -static int vlsi_destroy_hwif(523,16730 -static int vlsi_process_rx(540,17110 -static void vlsi_fill_rx(614,19041 -static void vlsi_rx_interrupt(640,19668 -static void vlsi_unarm_rx(689,20809 -static int vlsi_process_tx(737,21923 -static int vlsi_set_baud(766,22574 -static int vlsi_hard_start_xmit(858,24670 -static void vlsi_tx_interrupt(1065,30932 -static void vlsi_unarm_tx(1125,32366 -static int vlsi_start_clock(1166,33249 -static void vlsi_stop_clock(1228,34933 -static inline void vlsi_clear_regs(1253,35789 -static int vlsi_init_chip(1262,35971 -static int vlsi_start_hw(1315,37541 -static int vlsi_stop_hw(1347,38343 -static struct net_device_stats * vlsi_get_stats(1377,39040 -static void vlsi_tx_timeout(1384,39178 -static int vlsi_ioctl(1409,39729 -static irqreturn_t vlsi_interrupt(1457,41113 -static int vlsi_open(1499,42123 -static int vlsi_close(1557,43553 -static int vlsi_irda_init(1580,43924 -vlsi_irda_probe(1633,45335 -static void __devexit vlsi_irda_remove(1703,46838 -static int vlsi_irda_suspend(1740,47724 -static int vlsi_irda_resume(1784,48848 -static struct pci_driver vlsi_irda_driver 1835,50320 -#define PROC_DIR 1846,50578 -static int __init vlsi_mod_init(1848,50620 -static void __exit vlsi_mod_exit(1896,51708 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/smsc-ircc2.c,4312 -struct smsc_transceiver smsc_transceiver73,2186 -typedef struct smsc_transceiver smsc_transceiver_t;smsc_transceiver_t78,2308 -struct smc_chip smc_chip81,2367 -typedef struct smc_chip smc_chip_t;smc_chip_t87,2433 -struct smsc_chip smsc_chip90,2477 -typedef struct smsc_chip smsc_chip_t;smsc_chip_t99,2569 -struct smsc_chip_address smsc_chip_address101,2608 -typedef struct smsc_chip_address smsc_chip_address_t;smsc_chip_address_t105,2682 -struct smsc_ircc_cb smsc_ircc_cb108,2774 -static const char *driver_name 135,3574 -#define DIM(DIM136,3621 -#define SMSC_IRCC2_C_IRDA_FALLBACK_SPEED 137,3663 -#define SMSC_IRCC2_C_DEFAULT_TRANSCEIVER 138,3709 -#define SMSC_IRCC2_C_NET_TIMEOUT 139,3752 -#define SMSC_IRCC2_C_SIR_STOP 140,3789 -smsc_transceiver_t smsc_transceivers[206,7443 -#define SMSC_IRCC2_C_NUMBER_OF_TRANSCEIVERS 213,7875 -#define KEY55_1 217,7988 -#define KEY55_2 218,8055 -#define NoIRDA 219,8127 -#define SIR 220,8180 -#define FIR 221,8232 -#define SERx4 222,8279 -static smsc_chip_t __initdata fdc_chips_flat[224,8352 -static smsc_chip_t __initdata fdc_chips_paged[238,8858 -static smsc_chip_t __initdata lpc_chips_flat[257,9563 -static smsc_chip_t __initdata lpc_chips_paged[265,9752 -#define SMSCSIO_TYPE_FDC 279,10221 -#define SMSCSIO_TYPE_LPC 280,10248 -#define SMSCSIO_TYPE_FLAT 281,10275 -#define SMSCSIO_TYPE_PAGED 282,10303 -static smsc_chip_address_t __initdata possible_addresses[284,10333 -static struct smsc_ircc_cb *dev_self[296,10743 -static int ircc_irq=298,10800 -static int ircc_dma=299,10825 -static int ircc_fir=300,10850 -static int ircc_sir=301,10873 -static int ircc_cfg=302,10896 -static int ircc_transceiver=303,10919 -static unsigned short dev_count=305,10951 -static inline void register_bank(307,10987 -static int __init smsc_ircc_init(328,11488 -static int __init smsc_ircc_open(366,12273 -static int smsc_ircc_present(493,15617 -static void smsc_ircc_setup_io(545,17042 -static void smsc_ircc_setup_qos(589,18132 -static void smsc_ircc_init_chip(608,18612 -static int smsc_ircc_net_ioctl(655,19793 -static struct net_device_stats *smsc_ircc_net_get_stats(709,21054 -static void smsc_ircc_timeout(724,21366 -int smsc_ircc_hard_xmit_sir(748,22079 -static void smsc_ircc_set_fir_speed(818,23906 -static void smsc_ircc_fir_start(870,25182 -static void smsc_ircc_fir_stop(919,26400 -static void smsc_ircc_change_speed(942,26955 -void smsc_ircc_set_sir_speed(1011,28425 -static int smsc_ircc_hard_xmit_fir(1066,29848 -static void smsc_ircc_dma_xmit(1135,31482 -static void smsc_ircc_dma_xmit_complete(1189,33056 -static int smsc_ircc_dma_receive(1232,34154 -static void smsc_ircc_dma_receive_complete(1287,35541 -static void smsc_ircc_sir_receive(1358,37342 -static irqreturn_t smsc_ircc_interrupt(1390,38064 -static irqreturn_t smsc_ircc_interrupt_sir(1458,39703 -static int ircc_is_receiving(1517,40973 -static int smsc_ircc_net_open(1542,41406 -static int smsc_ircc_net_close(1603,42815 -static void smsc_ircc_suspend(1634,43353 -static void smsc_ircc_wakeup(1646,43557 -static int smsc_ircc_pmproc(1660,43901 -static int __exit smsc_ircc_close(1682,44446 -static void __exit smsc_ircc_cleanup(1739,45864 -void smsc_ircc_sir_start(1757,46219 -void smsc_ircc_sir_stop(1795,47224 -static void smsc_ircc_sir_write_wakeup(1817,47657 -static int smsc_ircc_sir_write(1882,49298 -static int smsc_ircc_is_receiving(1907,49851 -static void smsc_ircc_probe_transceiver(1919,50066 -static void smsc_ircc_set_transceiver_for_speed(1943,50699 -static void smsc_ircc_sir_wait_hw_transmitter_finish(1974,51787 -static int __init smsc_ircc_look_for_chips(1995,52175 -static int __init smsc_superio_flat(2038,53300 -static int __init smsc_superio_paged(2091,54694 -static int __init smsc_access(2130,55521 -static const smsc_chip_t * __init smsc_ircc_probe(2142,55711 -static int __init smsc_superio_fdc(2217,57188 -static int __init smsc_superio_lpc(2235,57584 -static void smsc_ircc_set_transceiver_smsc_ircc_atc(2265,58262 -static int smsc_ircc_probe_transceiver_smsc_ircc_atc(2289,58953 -static void smsc_ircc_set_transceiver_smsc_ircc_fast_pin_select(2301,59150 -static int smsc_ircc_probe_transceiver_smsc_ircc_fast_pin_select(2328,59633 -static void smsc_ircc_set_transceiver_toshiba_sat1800(2340,59836 -static int smsc_ircc_probe_transceiver_toshiba_sat1800(2368,60356 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/vlsi_ir.h,7210 -#define IRDA_VLSI_FIR_H28,1020 -#define PCI_CLASS_WIRELESS_IRDA 37,1217 -#define PCI_CLASS_SUBCLASS_MASK 41,1297 -typedef void irqreturn_t;irqreturn_t46,1430 -#define IRQ_NONE47,1456 -#define IRQ_HANDLED48,1473 -#define IRQ_RETVAL(IRQ_RETVAL49,1493 -#define PDE(PDE61,1794 -#define irda_calc_crc16(irda_calc_crc1665,1893 -#define PCIDEV_NAME(PCIDEV_NAME68,1995 -#define PCIDEV_NAME(PCIDEV_NAME75,2180 -#define PCIDEV_NAME(PCIDEV_NAME78,2311 -enum vlsi_pci_regs vlsi_pci_regs87,2476 - VLSI_PCI_CLKCTL 88,2497 - VLSI_PCI_CLKCTL = 0x40,88,2497 - VLSI_PCI_MSTRPAGE 89,2555 - VLSI_PCI_MSTRPAGE = 0x41,89,2555 - VLSI_PCI_IRMISC 90,2627 - VLSI_PCI_IRMISC = 0x42 90,2627 -enum vlsi_pci_clkctl vlsi_pci_clkctl110,3396 - CLKCTL_PD_INV 114,3440 - CLKCTL_PD_INV = 0x04,114,3440 - CLKCTL_LOCK 116,3548 - CLKCTL_LOCK = 0x40,116,3548 - CLKCTL_EXTCLK 120,3636 - CLKCTL_EXTCLK = 0x20,120,3636 - CLKCTL_XCKSEL 121,3711 - CLKCTL_XCKSEL = 0x10,121,3711 - CLKCTL_CLKSTP 125,3813 - CLKCTL_CLKSTP = 0x80,125,3813 - CLKCTL_WAKE 126,3889 - CLKCTL_WAKE = 0x08 126,3889 -#define DMA_MASK_USED_BY_HW 134,4161 -#define DMA_MASK_MSTRPAGE 135,4200 -#define MSTRPAGE_VALUE 136,4237 -enum vlsi_pci_irmisc vlsi_pci_irmisc184,6416 - IRMISC_IRRAIL 188,6471 - IRMISC_IRRAIL = 0x40,188,6471 - IRMISC_IRPD 191,6643 - IRMISC_IRPD = 0x08,191,6643 - IRMISC_UARTTST 195,6732 - IRMISC_UARTTST = 0x80,195,6732 - IRMISC_UARTEN 196,6798 - IRMISC_UARTEN = 0x04,196,6798 - IRMISC_UARTSEL_3f8 200,6923 - IRMISC_UARTSEL_3f8 = 0x00,200,6923 - IRMISC_UARTSEL_2f8 201,6951 - IRMISC_UARTSEL_2f8 = 0x01,201,6951 - IRMISC_UARTSEL_3e8 202,6979 - IRMISC_UARTSEL_3e8 = 0x02,202,6979 - IRMISC_UARTSEL_2e8 203,7007 - IRMISC_UARTSEL_2e8 = 0x03203,7007 -enum vlsi_pio_regs vlsi_pio_regs216,7397 - VLSI_PIO_IRINTR 217,7418 - VLSI_PIO_IRINTR = 0x00,217,7418 - VLSI_PIO_RINGPTR 218,7485 - VLSI_PIO_RINGPTR = 0x02,218,7485 - VLSI_PIO_RINGBASE 219,7547 - VLSI_PIO_RINGBASE = 0x04,219,7547 - VLSI_PIO_RINGSIZE 220,7615 - VLSI_PIO_RINGSIZE = 0x06,220,7615 - VLSI_PIO_PROMPT 221,7675 - VLSI_PIO_PROMPT = 0x08,221,7675 - VLSI_PIO_IRCFG 223,7793 - VLSI_PIO_IRCFG = 0x10,223,7793 - VLSI_PIO_SIRFLAG 224,7856 - VLSI_PIO_SIRFLAG = 0x12,224,7856 - VLSI_PIO_IRENABLE 225,7924 - VLSI_PIO_IRENABLE = 0x14,225,7924 - VLSI_PIO_PHYCTL 226,7998 - VLSI_PIO_PHYCTL = 0x16,226,7998 - VLSI_PIO_NPHYCTL 227,8071 - VLSI_PIO_NPHYCTL = 0x18,227,8071 - VLSI_PIO_MAXPKT 228,8141 - VLSI_PIO_MAXPKT = 0x1a,228,8141 - VLSI_PIO_RCVBCNT 229,8218 - VLSI_PIO_RCVBCNT = 0x1c 229,8218 -enum vlsi_pio_irintr vlsi_pio_irintr247,8800 - IRINTR_ACTEN 248,8823 - IRINTR_ACTEN = 0x80,248,8823 - IRINTR_ACTIVITY 249,8877 - IRINTR_ACTIVITY = 0x40,249,8877 - IRINTR_RPKTEN 250,8944 - IRINTR_RPKTEN = 0x20,250,8944 - IRINTR_RPKTINT 251,9004 - IRINTR_RPKTINT = 0x10,251,9004 - IRINTR_TPKTEN 252,9084 - IRINTR_TPKTEN = 0x08,252,9084 - IRINTR_TPKTINT 253,9146 - IRINTR_TPKTINT = 0x04,253,9146 - IRINTR_OE_EN 254,9223 - IRINTR_OE_EN = 0x02,254,9223 - IRINTR_OE_INT 255,9295 - IRINTR_OE_INT = 0x01 255,9295 -#define IRINTR_INT_MASK 260,9450 -#define MAX_RING_DESCR 272,9870 -#define RINGPTR_RX_MASK 274,9949 -#define RINGPTR_TX_MASK 275,9993 -#define RINGPTR_GET_RX(RINGPTR_GET_RX277,10043 -#define RINGPTR_GET_TX(RINGPTR_GET_TX278,10091 -#define BUS_TO_RINGBASE(BUS_TO_RINGBASE297,10823 -#define SIZE_TO_BITS(SIZE_TO_BITS316,11362 -#define TX_RX_TO_RINGSIZE(TX_RX_TO_RINGSIZE317,11411 -#define RINGSIZE_TO_RXSIZE(RINGSIZE_TO_RXSIZE318,11491 -#define RINGSIZE_TO_TXSIZE(RINGSIZE_TO_TXSIZE319,11546 -enum vlsi_pio_ircfg vlsi_pio_ircfg355,13118 - IRCFG_LOOP 356,13140 - IRCFG_LOOP = 0x4000,356,13140 - IRCFG_ENTX 357,13194 - IRCFG_ENTX = 0x1000,357,13194 - IRCFG_ENRX 358,13238 - IRCFG_ENRX = 0x0800,358,13238 - IRCFG_MSTR 359,13281 - IRCFG_MSTR = 0x0400,359,13281 - IRCFG_RXANY 360,13323 - IRCFG_RXANY = 0x0200,360,13323 - IRCFG_CRC16 361,13371 - IRCFG_CRC16 = 0x0080,361,13371 - IRCFG_FIR 362,13441 - IRCFG_FIR = 0x0040,362,13441 - IRCFG_MIR 363,13498 - IRCFG_MIR = 0x0020,363,13498 - IRCFG_SIR 364,13555 - IRCFG_SIR = 0x0010,364,13555 - IRCFG_SIRFILT 365,13607 - IRCFG_SIRFILT = 0x0008,365,13607 - IRCFG_SIRTEST 366,13685 - IRCFG_SIRTEST = 0x0004,366,13685 - IRCFG_TXPOL 367,13761 - IRCFG_TXPOL = 0x0002,367,13761 - IRCFG_RXPOL 368,13818 - IRCFG_RXPOL = 0x0001 368,13818 -enum vlsi_pio_irenable vlsi_pio_irenable391,14513 - IRENABLE_PHYANDCLOCK 392,14538 - IRENABLE_PHYANDCLOCK = 0x8000,392,14538 - IRENABLE_CFGER 393,14621 - IRENABLE_CFGER = 0x4000,393,14621 - IRENABLE_FIR_ON 394,14685 - IRENABLE_FIR_ON = 0x2000,394,14685 - IRENABLE_MIR_ON 395,14739 - IRENABLE_MIR_ON = 0x1000,395,14739 - IRENABLE_SIR_ON 396,14793 - IRENABLE_SIR_ON = 0x0800,396,14793 - IRENABLE_ENTXST 397,14847 - IRENABLE_ENTXST = 0x0400,397,14847 - IRENABLE_ENRXST 398,14910 - IRENABLE_ENRXST = 0x0200,398,14910 - IRENABLE_CRC16_ON 399,14972 - IRENABLE_CRC16_ON = 0x0100 399,14972 -#define IRENABLE_MASK 402,15054 -#define PHYCTL_BAUD_SHIFT 448,16856 -#define PHYCTL_BAUD_MASK 449,16885 -#define PHYCTL_PLSWID_SHIFT 450,16917 -#define PHYCTL_PLSWID_MASK 451,16947 -#define PHYCTL_PREAMB_SHIFT 452,16981 -#define PHYCTL_PREAMB_MASK 453,17011 -#define PHYCTL_TO_BAUD(PHYCTL_TO_BAUD455,17046 -#define PHYCTL_TO_PLSWID(PHYCTL_TO_PLSWID456,17120 -#define PHYCTL_TO_PREAMB(PHYCTL_TO_PREAMB457,17200 -#define BWP_TO_PHYCTL(BWP_TO_PHYCTL459,17281 -#define BAUD_BITS(BAUD_BITS463,17471 -calc_width_bits(466,17536 -#define PHYCTL_SIR(PHYCTL_SIR480,17871 -#define PHYCTL_MIR(PHYCTL_MIR481,17963 -#define PHYCTL_FIR 482,18018 -#define MAX_PACKET_LENGTH 510,18984 -#define IRDA_MTU 513,19073 -#define IRLAP_SKB_ALLOCSIZE 516,19155 -#define XFER_BUF_SIZE 544,20520 -#define RCVBCNT_MASK 559,21029 -struct ring_descr_hw ring_descr_hw578,21641 -#define rd_addr 590,21964 -#define rd_status 591,21991 -#define RD_ACTIVE 595,22062 -#define RD_TX_DISCRC 599,22162 -#define RD_TX_BADCRC 600,22221 -#define RD_TX_PULSE 601,22270 -#define RD_TX_FRCEUND 602,22351 -#define RD_TX_CLRENTX 603,22400 -#define RD_TX_UNDRN 604,22462 -#define RD_RX_PHYERR 608,22568 -#define RD_RX_CRCERR 609,22625 -#define RD_RX_LENGTH 610,22678 -#define RD_RX_OVER 611,22739 -#define RD_RX_SIRBAD 612,22809 -#define RD_RX_ERROR 614,22888 -#define HW_RING_AREA_SIZE 617,23006 -struct ring_descr ring_descr625,23288 -static inline int rd_is_active(635,23499 -static inline void rd_activate(640,23606 -static inline void rd_set_status(645,23698 -static inline void rd_set_addr_status(650,23831 -static inline void rd_set_count(672,24497 -static inline u8 rd_get_status(677,24600 -static inline dma_addr_t rd_get_addr(682,24686 -static inline u16 rd_get_count(690,24860 -struct vlsi_ring vlsi_ring708,25382 -static inline struct ring_descr *ring_last(720,25569 -static inline struct ring_descr *ring_put(728,25770 -static inline struct ring_descr *ring_first(734,25883 -static inline struct ring_descr *ring_get(742,26069 -typedef struct vlsi_irda_dev vlsi_irda_dev752,26314 -} vlsi_irda_dev_t;vlsi_irda_dev_t776,26733 -#define VLSI_TX_DROP 787,27100 -#define VLSI_TX_FIFO 788,27129 -#define VLSI_RX_DROP 790,27159 -#define VLSI_RX_OVER 791,27188 -#define VLSI_RX_LENGTH 792,27217 -#define VLSI_RX_FRAME 793,27249 -#define VLSI_RX_CRC 794,27279 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/nsc-ircc.h,3822 -#define NSC_IRCC_H29,1142 -#define DMA_TX_MODE 39,1306 -#define DMA_RX_MODE 40,1368 -#define CFG_108_BAIC 43,1467 -#define CFG_108_CSRT 44,1493 -#define CFG_108_MCTL 45,1519 -#define CFG_338_FER 48,1582 -#define CFG_338_FAR 49,1608 -#define CFG_338_PTR 50,1634 -#define CFG_338_PNP0 51,1660 -#define CFG_338_PNP1 52,1686 -#define CFG_338_PNP3 53,1712 -#define CFG_39X_LDN 56,1804 -#define CFG_39X_SIOCF1 57,1874 -#define CFG_39X_ACT 58,1924 -#define CFG_39X_BASEH 59,1973 -#define CFG_39X_BASEL 60,2038 -#define CFG_39X_IRQNUM 61,2102 -#define CFG_39X_IRQSEL 62,2170 -#define CFG_39X_DMA0 63,2245 -#define CFG_39X_DMA1 64,2297 -#define CFG_39X_SPC 65,2349 -#define APEDCRC 68,2460 -#define ENBNKSEL 69,2482 -#define TXD 72,2517 -#define RXD 73,2571 -#define IER 76,2642 -#define IER_RXHDL_IE 77,2691 -#define IER_TXLDL_IE 78,2761 -#define IER_LS_IE 79,2832 -#define IER_ETXURI 80,2883 -#define IER_DMA_IE 81,2930 -#define IER_TXEMP_IE 82,2983 -#define IER_SFIF_IE 83,3012 -#define IER_TMR_IE 84,3070 -#define FCR 86,3118 -#define FCR_FIFO_EN 87,3155 -#define FCR_RXSR 88,3204 -#define FCR_TXSR 89,3258 -#define FCR_RXTH 90,3312 -#define FCR_TXTH 91,3370 -#define EIR 93,3429 -#define EIR_RXHDL_EV 94,3465 -#define EIR_TXLDL_EV 95,3491 -#define EIR_LS_EV 96,3520 -#define EIR_DMA_EV 97,3543 -#define EIR_TXEMP_EV 98,3567 -#define EIR_SFIF_EV 99,3593 -#define EIR_TMR_EV 100,3622 -#define LCR 102,3652 -#define LCR_WLS_8 103,3709 -#define BSR 105,3752 -#define BSR_BKSE 106,3805 -#define BANK0 107,3834 -#define BANK1 108,3904 -#define BANK2 109,3931 -#define BANK3 110,3958 -#define BANK4 111,3985 -#define BANK5 112,4012 -#define BANK6 113,4039 -#define BANK7 114,4066 -#define MCR 116,4091 -#define MCR_MODE_MASK 117,4137 -#define MCR_UART 118,4167 -#define MCR_RESERVED 119,4196 -#define MCR_SHARP_IR 120,4225 -#define MCR_SIR 121,4254 -#define MCR_MIR 122,4283 -#define MCR_FIR 123,4306 -#define MCR_CEIR 124,4328 -#define MCR_IR_PLS 125,4357 -#define MCR_DMA_EN 126,4386 -#define MCR_EN_IRQ 127,4410 -#define MCR_TX_DFR 128,4434 -#define LSR 130,4459 -#define LSR_RXDA 131,4515 -#define LSR_TXRDY 132,4574 -#define LSR_TXEMP 133,4627 -#define ASCR 135,4681 -#define ASCR_RXF_TOUT 136,4754 -#define ASCR_FEND_INF 137,4805 -#define ASCR_S_EOT 138,4867 -#define ASCT_RXBSY 139,4926 -#define ASCR_TXUR 140,4969 -#define ASCR_CTE 141,5024 -#define BGDL 144,5091 -#define BGDH 145,5165 -#define ECR1 147,5241 -#define ECR1_EXT_SL 148,5294 -#define ECR1_DMANF 149,5346 -#define ECR1_DMATH 150,5389 -#define ECR1_DMASWP 151,5438 -#define EXCR2 153,5479 -#define EXCR2_TFSIZ 154,5499 -#define EXCR2_RFSIZ 155,5548 -#define TXFLV 157,5598 -#define RXFLV 158,5647 -#define MID 161,5710 -#define TMRL 164,5742 -#define TMRH 165,5792 -#define IRCR1 166,5843 -#define IRCR1_TMR_EN 167,5906 -#define TFRLL 169,5955 -#define TFRLH 170,5975 -#define RFRLL 171,5995 -#define RFRLH 172,6015 -#define IRCR2 175,6049 -#define IRCR2_MDRS 176,6112 -#define IRCR2_FEND_MD 177,6168 -#define FRM_ST 179,6204 -#define FRM_ST_VLD 180,6257 -#define FRM_ST_ERR_MSK 181,6321 -#define FRM_ST_LOST_FR 182,6350 -#define FRM_ST_MAX_LEN 183,6396 -#define FRM_ST_PHY_ERR 184,6454 -#define FRM_ST_BAD_CRC 185,6510 -#define FRM_ST_OVR1 186,6540 -#define FRM_ST_OVR2 187,6591 -#define RFLFL 189,6653 -#define RFLFH 190,6682 -#define IR_CFG2 193,6725 -#define IR_CFG2_DIS_CRC 194,6747 -#define IRM_CR 197,6790 -#define IRM_CR_IRX_MSL 198,6850 -#define IRM_CR_AF_MNT 199,6878 -struct nsc_chip nsc_chip202,6958 -typedef struct nsc_chip nsc_chip_t;nsc_chip_t213,7423 -struct st_fifo_entry st_fifo_entry216,7505 -#define MAX_TX_WINDOW 221,7555 -#define MAX_RX_WINDOW 222,7579 -struct st_fifo st_fifo224,7604 -struct frame_cb frame_cb232,7723 -struct tx_fifo tx_fifo237,7838 -struct nsc_ircc_cb nsc_ircc_cb246,8227 -static inline void switch_bank(275,9103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/sir_dongle.c,132 -int irda_register_dongle(33,952 -int irda_unregister_dongle(54,1460 -int sirdev_get_dongle(62,1610 -int sirdev_put_dongle(121,3073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/w83977af.h,324 -#define W83977AF_H2,19 -#define W977_EFIO_BASE 4,39 -#define W977_EFIO2_BASE 5,68 -#define W977_DEVICE_IR 6,98 -static inline void w977_efm_enter(12,167 -static inline void w977_select_device(22,318 -static inline void w977_write_reg(31,474 -static inline __u8 w977_read_reg(40,632 -static inline void w977_efm_exit(49,776 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/ep7211_ir.c,333 -#define MIN_DELAY 18,331 -#define MAX_DELAY 19,404 -static struct dongle_reg dongle 26,667 -static void ep7211_ir_open(35,875 -static void ep7211_ir_close(52,1243 -static int ep7211_ir_change_speed(76,1834 -static int ep7211_ir_reset(88,2068 -static int __init ep7211_ir_init(100,2261 -static void __exit ep7211_ir_cleanup(111,2432 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/stir4200.c,4427 -static int qos_mtt_bits 66,2343 -static int rx_sensitivity 70,2484 -static int tx_power 74,2668 -#define STIR_IRDA_HEADER 78,2838 -#define CTRL_TIMEOUT 79,2867 -#define TRANSMIT_TIMEOUT 80,2915 -#define STIR_FIFO_SIZE 81,2966 -#define FIFO_REGS_SIZE 82,2995 -enum FirChars FirChars84,3022 - FIR_CE 85,3038 - FIR_CE = 0x7d,85,3038 - FIR_XBOF 86,3056 - FIR_XBOF = 0x7f,86,3056 - FIR_EOF 87,3074 - FIR_EOF = 0x7e,87,3074 -enum StirRequests StirRequests90,3096 - REQ_WRITE_REG 91,3116 - REQ_WRITE_REG = 0x00,91,3116 - REQ_READ_REG 92,3140 - REQ_READ_REG = 0x01,92,3140 - REQ_READ_ROM 93,3163 - REQ_READ_ROM = 0x02,93,3163 - REQ_WRITE_SINGLE 94,3186 - REQ_WRITE_SINGLE = 0x03,94,3186 -enum StirRegs StirRegs98,3239 - REG_RSVD=99,3255 - REG_MODE,100,3268 - REG_PDCLK,101,3279 - REG_CTRL1,102,3291 - REG_CTRL2,103,3303 - REG_FIFOCTL,104,3315 - REG_FIFOLSB,105,3329 - REG_FIFOMSB,106,3343 - REG_DPLL,107,3357 - REG_IRDIG,108,3368 - REG_TEST=109,3380 -enum StirModeMask StirModeMask112,3398 - MODE_FIR 113,3418 - MODE_FIR = 0x80,113,3418 - MODE_SIR 114,3436 - MODE_SIR = 0x20,114,3436 - MODE_ASK 115,3454 - MODE_ASK = 0x10,115,3454 - MODE_FASTRX 116,3472 - MODE_FASTRX = 0x08,116,3472 - MODE_FFRSTEN 117,3493 - MODE_FFRSTEN = 0x04,117,3493 - MODE_NRESET 118,3515 - MODE_NRESET = 0x02,118,3515 - MODE_2400 119,3536 - MODE_2400 = 0x01,119,3536 -enum StirPdclkMask StirPdclkMask122,3559 - PDCLK_4000000 123,3580 - PDCLK_4000000 = 0x02,123,3580 - PDCLK_115200 124,3603 - PDCLK_115200 = 0x09,124,3603 - PDCLK_57600 125,3625 - PDCLK_57600 = 0x13,125,3625 - PDCLK_38400 126,3646 - PDCLK_38400 = 0x1D,126,3646 - PDCLK_19200 127,3667 - PDCLK_19200 = 0x3B,127,3667 - PDCLK_9600 128,3688 - PDCLK_9600 = 0x77,128,3688 - PDCLK_2400 129,3708 - PDCLK_2400 = 0xDF,129,3708 -enum StirCtrl1Mask StirCtrl1Mask132,3732 - CTRL1_SDMODE 133,3753 - CTRL1_SDMODE = 0x80,133,3753 - CTRL1_RXSLOW 134,3775 - CTRL1_RXSLOW = 0x40,134,3775 - CTRL1_TXPWD 135,3797 - CTRL1_TXPWD = 0x10,135,3797 - CTRL1_RXPWD 136,3818 - CTRL1_RXPWD = 0x08,136,3818 - CTRL1_SRESET 137,3839 - CTRL1_SRESET = 0x01,137,3839 -enum StirCtrl2Mask StirCtrl2Mask140,3865 - CTRL2_SPWIDTH 141,3886 - CTRL2_SPWIDTH = 0x08,141,3886 - CTRL2_REVID 142,3909 - CTRL2_REVID = 0x03,142,3909 -enum StirFifoCtlMask StirFifoCtlMask145,3934 - FIFOCTL_EOF 146,3957 - FIFOCTL_EOF = 0x80,146,3957 - FIFOCTL_UNDER 147,3978 - FIFOCTL_UNDER = 0x40,147,3978 - FIFOCTL_OVER 148,4001 - FIFOCTL_OVER = 0x20,148,4001 - FIFOCTL_DIR 149,4023 - FIFOCTL_DIR = 0x10,149,4023 - FIFOCTL_CLR 150,4044 - FIFOCTL_CLR = 0x08,150,4044 - FIFOCTL_EMPTY 151,4065 - FIFOCTL_EMPTY = 0x04,151,4065 - FIFOCTL_RXERR 152,4088 - FIFOCTL_RXERR = 0x02,152,4088 - FIFOCTL_TXERR 153,4111 - FIFOCTL_TXERR = 0x01,153,4111 -enum StirDiagMask StirDiagMask156,4138 - IRDIG_RXHIGH 157,4158 - IRDIG_RXHIGH = 0x80,157,4158 - IRDIG_RXLOW 158,4180 - IRDIG_RXLOW = 0x40,158,4180 -enum StirTestMask StirTestMask161,4205 - TEST_PLLDOWN 162,4225 - TEST_PLLDOWN = 0x80,162,4225 - TEST_LOOPIR 163,4247 - TEST_LOOPIR = 0x40,163,4247 - TEST_LOOPUSB 164,4268 - TEST_LOOPUSB = 0x20,164,4268 - TEST_TSTENA 165,4290 - TEST_TSTENA = 0x10,165,4290 - TEST_TSTOSC 166,4311 - TEST_TSTOSC = 0x0F,166,4311 -struct stir_cb stir_cb169,4336 -static struct usb_device_id dongles[193,5077 -static int write_reg(202,5304 -static inline int read_reg(216,5757 -static inline int isfir(228,6105 -static inline __u8 *stuff_fir(247,6667 -static unsigned wrap_fir_skb(263,6914 -static unsigned wrap_sir_skb(304,7748 -static void fir_eof(323,8165 -static void stir_fir_chars(385,9508 -static void stir_sir_chars(466,11294 -static inline void unwrap_chars(476,11500 -} stir_modes[489,11792 -static int change_speed(507,12218 -static int stir_hard_xmit(576,13613 -static int fifo_txwait(603,14218 -static void turnaround_delay(671,15750 -static int receive_start(697,16304 -static void receive_stop(710,16584 -static void stir_send(721,16797 -static int stir_transmit_thread(756,17634 -static void stir_rcv_irq(832,19263 -static int stir_net_open(875,20261 -static int stir_net_close(967,22413 -static int stir_net_ioctl(998,23028 -static struct net_device_stats *stir_net_get_stats(1038,23913 -static int stir_probe(1051,24353 -static void stir_disconnect(1120,26075 -static int stir_suspend(1135,26373 -static int stir_resume(1144,26584 -static struct usb_driver irda_driver 1157,26820 -static int __init stir_init(1170,27066 -static void __exit stir_cleanup(1183,27259 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/nsc-ircc.c,1896 -#define CHIP_IO_EXTENT 69,2173 -#define BROKEN_DONGLE_ID70,2198 -static char *driver_name 72,2224 -static int qos_mtt_bits 75,2288 -static int dongle_id;76,2340 -static unsigned int io[79,2437 -static unsigned int irq[80,2485 -static unsigned int dma[81,2532 -static nsc_chip_t chips[91,3004 -static struct nsc_ircc_cb *dev_self[110,3743 -static char *dongle_types[112,3812 -static int __init nsc_ircc_init(159,5678 -static void __exit nsc_ircc_cleanup(228,7216 -static int __init nsc_ircc_open(246,7469 -static int __exit nsc_ircc_close(393,11393 -static int nsc_ircc_init_108(431,12261 -static int nsc_ircc_probe_108(481,13615 -static int nsc_ircc_init_338(575,15438 -static int nsc_ircc_probe_338(588,15603 -static int nsc_ircc_init_39x(704,18064 -static int nsc_ircc_probe_39x(746,19131 -static int nsc_ircc_setup(816,20949 -static int nsc_ircc_read_dongle_id 875,22630 -static void nsc_ircc_init_dongle_interface 914,23504 -static void nsc_ircc_change_dongle_speed(999,25920 -static __u8 nsc_ircc_change_speed(1084,28298 -static int nsc_ircc_hard_xmit_sir(1192,31025 -static int nsc_ircc_hard_xmit_fir(1264,32859 -static void nsc_ircc_dma_xmit(1401,36369 -static int nsc_ircc_pio_write(1439,37327 -static int nsc_ircc_dma_xmit_complete(1480,38255 -static int nsc_ircc_dma_receive(1545,39754 -static int nsc_ircc_dma_receive_complete(1597,40951 -static void nsc_ircc_pio_receive(1753,44919 -static void nsc_ircc_sir_interrupt(1774,45341 -static void nsc_ircc_fir_interrupt(1839,46903 -static irqreturn_t nsc_ircc_interrupt(1920,49089 -static int nsc_ircc_is_receiving(1967,50200 -static int nsc_ircc_net_open(2003,50892 -static int nsc_ircc_net_close(2066,52231 -static int nsc_ircc_net_ioctl(2113,53074 -static struct net_device_stats *nsc_ircc_net_get_stats(2155,54083 -static void nsc_ircc_suspend(2162,54253 -static void nsc_ircc_wakeup(2174,54454 -static int nsc_ircc_pmproc(2187,54682 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/irtty-sir.h,187 -#define IRTTYSIR_H15,537 -#define IRTTY_IOC_MAGIC 20,632 -#define IRTTY_IOCTDONGLE 21,660 -#define IRTTY_IOCGET 22,710 -#define IRTTY_IOC_MAXNR 23,779 -struct sirtty_cb sirtty_cb25,808 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/irport.c,1203 -#define IO_EXTENT 63,2314 -static unsigned int io[69,2445 -static unsigned int irq[70,2493 -static unsigned int qos_mtt_bits 72,2538 -static struct irport_cb *dev_self[74,2580 -static char *driver_name 75,2645 -static int __init irport_init(101,3698 -static void __exit irport_cleanup(121,4029 -irport_open(134,4232 -int irport_close(257,7560 -void irport_start(288,8266 -void irport_stop(306,8695 -int irport_probe(330,9086 -static inline unsigned int irport_get_fcr(343,9267 -void irport_change_speed(371,9941 -int __irport_change_speed(422,11396 -static int irport_change_speed_complete(512,13757 -static void irport_timeout(538,14301 -static void irport_wait_hw_transmitter_finish(600,16278 -int irport_hard_xmit(622,16861 -static inline int irport_write(700,18931 -static inline void irport_write_wakeup(725,19550 -static inline void irport_receive(787,21149 -irqreturn_t irport_interrupt(817,21818 -int irport_net_open(891,23778 -int irport_net_close(944,24978 -static inline int irport_is_receiving(982,25679 -static int irport_set_dtr_rts(993,25957 -static int irport_raw_write(1012,26275 -static int irport_net_ioctl(1044,26937 -static struct net_device_stats *irport_net_get_stats(1130,28963 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/w83977af_ir.c,1355 -#define CONFIG_NETWINDER_RX_DMA_PROBLEMS 67,2224 -#define CONFIG_USE_W977_PNP 70,2372 -#define PIO_MAX_SPEED 71,2430 -static char *driver_name 73,2467 -static int qos_mtt_bits 74,2509 -#define CHIP_IO_EXTENT 76,2564 -static unsigned int io[78,2590 -static unsigned int irq[80,2719 -static unsigned int irq[82,2769 -static unsigned int dma[84,2821 -static unsigned int efbase[85,2865 -static unsigned int efio 86,2933 -static struct w83977af_ir *dev_self[88,2977 -static int __init w83977af_init(114,4207 -static void __exit w83977af_cleanup(133,4517 -int w83977af_open(151,4781 -static int w83977af_close(276,8011 -int w83977af_probe(317,8950 -void w83977af_change_speed(416,11705 -int w83977af_hard_xmit(496,13631 -static void w83977af_dma_write(591,15831 -static int w83977af_pio_write(645,17197 -static void w83977af_dma_xmit_complete(687,18114 -int w83977af_dma_receive(738,19216 -int w83977af_dma_receive_complete(810,21037 -static void w83977af_pio_receive(941,24021 -static __u8 w83977af_sir_interrupt(966,24525 -static __u8 w83977af_fir_interrupt(1036,26075 -static irqreturn_t w83977af_interrupt(1115,27766 -static int w83977af_is_receiving(1160,28842 -static int w83977af_net_open(1191,29422 -static int w83977af_net_close(1255,30745 -static int w83977af_net_ioctl(1303,31580 -static struct net_device_stats *w83977af_net_get_stats(1346,32566 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/donauboe.h,4197 -#define TOSHOBOE_H129,6916 -#define OBOE_IO_EXTENT 133,6953 -#define OBOE_REG(OBOE_REG136,7022 -#define OBOE_RXSLOT 137,7059 -#define OBOE_TXSLOT 138,7093 -#define OBOE_SLOT_MASK 139,7127 -#define OBOE_TXRING_OFFSET 141,7156 -#define OBOE_TXRING_OFFSET_IN_SLOTS 142,7190 -#define OBOE_RING_BASE0 145,7257 -#define OBOE_RING_BASE1 146,7295 -#define OBOE_RING_BASE2 147,7333 -#define OBOE_RING_BASE3 148,7371 -#define OBOE_RING_SIZE 151,7443 -#define OBOE_RING_SIZE_RX4 152,7481 -#define OBOE_RING_SIZE_RX8 153,7513 -#define OBOE_RING_SIZE_RX16 154,7545 -#define OBOE_RING_SIZE_RX32 155,7578 -#define OBOE_RING_SIZE_RX64 156,7611 -#define OBOE_RING_SIZE_TX4 157,7644 -#define OBOE_RING_SIZE_TX8 158,7676 -#define OBOE_RING_SIZE_TX16 159,7708 -#define OBOE_RING_SIZE_TX32 160,7741 -#define OBOE_RING_SIZE_TX64 161,7774 -#define OBOE_RING_MAX_SIZE 163,7808 -#define OBOE_PROMPT 166,7886 -#define OBOE_PROMPT_BIT 167,7920 -#define OBOE_ISR 170,7982 -#define OBOE_IER 172,8045 -#define OBOE_INT_TXDONE 174,8113 -#define OBOE_INT_RXDONE 175,8143 -#define OBOE_INT_TXUNDER 176,8173 -#define OBOE_INT_RXOVER 177,8203 -#define OBOE_INT_SIP 178,8233 -#define OBOE_INT_MASK 179,8260 -#define OBOE_CONFIG1 182,8309 -#define OBOE_CONFIG1_RST 183,8344 -#define OBOE_CONFIG1_DISABLE 184,8374 -#define OBOE_CONFIG1_4 185,8408 -#define OBOE_CONFIG1_8 186,8437 -#define OBOE_CONFIG1_ON 188,8467 -#define OBOE_CONFIG1_RESET 189,8496 -#define OBOE_CONFIG1_OFF 190,8527 -#define OBOE_STATUS 192,8557 -#define OBOE_STATUS_RXBUSY 193,8591 -#define OBOE_STATUS_FIRRX 194,8623 -#define OBOE_STATUS_MIRRX 195,8654 -#define OBOE_STATUS_SIRRX 196,8685 -#define OBOE_CONFIG0L 200,8747 -#define OBOE_CONFIG0H 201,8784 -#define OBOE_CONFIG0H_TXONLOOP 203,8822 -#define OBOE_CONFIG0H_LOOP 204,8898 -#define OBOE_CONFIG0H_ENTX 205,8951 -#define OBOE_CONFIG0H_ENRX 206,8998 -#define OBOE_CONFIG0H_ENDMAC 207,9045 -#define OBOE_CONFIG0H_RCVANY 208,9117 -#define OBOE_CONFIG0L_CRC16 210,9184 -#define OBOE_CONFIG0L_ENFIR 211,9244 -#define OBOE_CONFIG0L_ENMIR 212,9293 -#define OBOE_CONFIG0L_ENSIR 213,9342 -#define OBOE_CONFIG0L_ENSIRF 214,9391 -#define OBOE_CONFIG0L_SIRTEST 215,9448 -#define OBOE_CONFIG0L_INVERTTX 216,9521 -#define OBOE_CONFIG0L_INVERTRX 217,9578 -#define OBOE_BOF 219,9636 -#define OBOE_EOF 220,9668 -#define OBOE_ENABLEL 222,9701 -#define OBOE_ENABLEH 223,9737 -#define OBOE_ENABLEH_PHYANDCLOCK 225,9774 -#define OBOE_ENABLEH_CONFIGERR 226,9846 -#define OBOE_ENABLEH_FIRON 227,9883 -#define OBOE_ENABLEH_MIRON 228,9916 -#define OBOE_ENABLEH_SIRON 229,9949 -#define OBOE_ENABLEH_ENTX 230,9982 -#define OBOE_ENABLEH_ENRX 231,10014 -#define OBOE_ENABLEH_CRC16 232,10046 -#define OBOE_ENABLEL_BROADCAST 234,10080 -#define OBOE_CURR_PCONFIGL 236,10118 -#define OBOE_CURR_PCONFIGH 237,10181 -#define OBOE_NEW_PCONFIGL 239,10225 -#define OBOE_NEW_PCONFIGH 240,10267 -#define OBOE_PCONFIGH_BAUDMASK 242,10310 -#define OBOE_PCONFIGH_WIDTHMASK 243,10347 -#define OBOE_PCONFIGL_WIDTHMASK 244,10385 -#define OBOE_PCONFIGL_PREAMBLEMASK 245,10423 -#define OBOE_PCONFIG_BAUDMASK 247,10464 -#define OBOE_PCONFIG_BAUDSHIFT 248,10502 -#define OBOE_PCONFIG_WIDTHMASK 249,10537 -#define OBOE_PCONFIG_WIDTHSHIFT 250,10576 -#define OBOE_PCONFIG_PREAMBLEMASK 251,10611 -#define OBOE_PCONFIG_PREAMBLESHIFT 252,10652 -#define OBOE_MAXLENL 254,10690 -#define OBOE_MAXLENH 255,10728 -#define OBOE_RXCOUNTH 257,10767 -#define OBOE_RXCOUNTL 258,10827 -#define PCI_DEVICE_ID_FIR701 262,10951 -#define PCI_DEVICE_ID_FIRD01 266,11025 -struct OboeSlotOboeSlot269,11070 -#define OBOE_NTASKS 278,11323 -struct OboeRingOboeRing280,11372 -#define OBOE_RING_LEN 286,11464 -#define OBOE_CTL_TX_HW_OWNS 289,11514 -#define OBOE_CTL_TX_DISTX_CRC 290,11588 -#define OBOE_CTL_TX_BAD_CRC 291,11664 -#define OBOE_CTL_TX_SIP 292,11725 -#define OBOE_CTL_TX_MKUNDER 293,11795 -#define OBOE_CTL_TX_RTCENTX 294,11862 -#define OBOE_CTL_TX_UNDER 296,11986 -#define OBOE_CTL_RX_HW_OWNS 299,12064 -#define OBOE_CTL_RX_PHYERR 300,12134 -#define OBOE_CTL_RX_CRCERR 301,12201 -#define OBOE_CTL_RX_LENGTH 302,12270 -#define OBOE_CTL_RX_OVER 303,12333 -#define OBOE_CTL_RX_SIRBAD 304,12400 -#define OBOE_CTL_RX_RXEOF 305,12479 -struct toshoboe_cbtoshoboe_cb308,12552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/ali-ircc.c,1943 -#define CHIP_IO_EXTENT 50,1549 -#define BROKEN_DONGLE_ID51,1574 -static char *driver_name 53,1600 -static int qos_mtt_bits 56,1664 -static unsigned int io[59,1791 -static unsigned int irq[60,1839 -static unsigned int dma[61,1883 -static ali_chip_t chips[70,2258 -static struct ali_ircc_cb *dev_self[79,2611 -static char *dongle_types[82,2699 -static int __init ali_ircc_init(137,5019 -static void __exit ali_ircc_cleanup(225,7019 -static int ali_ircc_open(247,7448 -static int __exit ali_ircc_close(388,11460 -static int ali_ircc_init_43(426,12429 -static int ali_ircc_init_53(440,12691 -static int ali_ircc_probe_53(454,12959 -static int ali_ircc_setup(523,14723 -static int ali_ircc_read_dongle_id 602,16852 -static irqreturn_t ali_ircc_interrupt(638,17775 -static irqreturn_t ali_ircc_fir_interrupt(673,18627 -static irqreturn_t ali_ircc_sir_interrupt(795,21613 -static void ali_ircc_sir_receive(848,22709 -static void ali_ircc_sir_write_wakeup(883,23640 -static void ali_ircc_change_speed(939,25060 -static void ali_ircc_fir_change_speed(988,26256 -static void ali_ircc_sir_change_speed(1025,27130 -static void ali_ircc_change_dongle_speed(1093,29041 -static int ali_ircc_sir_write(1280,33317 -static int ali_ircc_net_open(1310,34018 -static int ali_ircc_net_close(1371,35410 -static int ali_ircc_fir_hard_xmit(1411,36203 -static void ali_ircc_dma_xmit(1558,40029 -static int ali_ircc_dma_xmit_complete(1628,42140 -static int ali_ircc_dma_receive(1700,43824 -static int ali_ircc_dma_receive_complete(1758,45541 -static int ali_ircc_sir_hard_xmit(1934,50046 -static int ali_ircc_net_ioctl(2002,51772 -static int ali_ircc_is_receiving(2060,53379 -static struct net_device_stats *ali_ircc_net_get_stats(2097,54195 -static void ali_ircc_suspend(2108,54536 -static void ali_ircc_wakeup(2124,54907 -static int ali_ircc_pmproc(2140,55278 -static void SetCOMInterrupts(2165,55977 -static void SIR2FIR(2216,56976 -static void FIR2SIR(2239,57598 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/esi.c,246 -static struct dongle_reg dongle 46,1785 -static int __init esi_init(55,1970 -static void __exit esi_cleanup(60,2054 -static void esi_open(65,2137 -static void esi_close(71,2313 -static int esi_change_speed(83,2558 -static int esi_reset(119,3104 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/girbil-sir.c,944 -#define GIRBIL_TXEN 39,1357 -#define GIRBIL_RXEN 40,1410 -#define GIRBIL_ECAN 41,1460 -#define GIRBIL_ECHO 42,1519 -#define GIRBIL_HIGH 45,1611 -#define GIRBIL_MEDIUM 46,1639 -#define GIRBIL_LOW 47,1667 -#define GIRBIL_2400 50,1722 -#define GIRBIL_4800 51,1750 -#define GIRBIL_9600 52,1778 -#define GIRBIL_19200 53,1806 -#define GIRBIL_38400 54,1834 -#define GIRBIL_57600 55,1862 -#define GIRBIL_115200 56,1890 -#define GIRBIL_IRDA 59,1945 -#define GIRBIL_ASK 60,1973 -#define GIRBIL_LOAD 63,2033 -static struct dongle_driver girbil 65,2097 -static int __init girbil_sir_init(75,2338 -static void __exit girbil_sir_cleanup(80,2422 -static int girbil_open(85,2505 -static int girbil_close(103,2891 -#define GIRBIL_STATE_WAIT_SPEED 120,3165 -static int girbil_change_speed(122,3230 -#define GIRBIL_STATE_WAIT1_RESET 201,4735 -#define GIRBIL_STATE_WAIT2_RESET 202,4800 -#define GIRBIL_STATE_WAIT3_RESET 203,4865 -static int girbil_reset(205,4931 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/litelink-sir.c,378 -#define MIN_DELAY 46,1606 -#define MAX_DELAY 47,1679 -static unsigned baud_rates[55,1997 -static struct dongle_driver litelink 57,2068 -static int __init litelink_sir_init(67,2322 -static void __exit litelink_sir_cleanup(72,2410 -static int litelink_open(77,2497 -static int litelink_close(96,2941 -static int litelink_change_speed(112,3284 -static int litelink_reset(157,4321 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/via-ircc.c,1552 -#define DBG(DBG63,1987 -#define VIA_MODULE_NAME 65,2019 -#define CHIP_IO_EXTENT 66,2056 -#define BROKEN_DONGLE_ID67,2081 -static char *driver_name 69,2107 -static int qos_mtt_bits 72,2171 -static int dongle_id 73,2222 -static struct via_ircc_cb *dev_self[79,2397 -static void iodelay(114,4112 -static struct pci_device_id via_pci_tbl[124,4223 -static struct pci_driver via_driver 136,4646 -static int __init via_ircc_init(149,4897 -static int __devinit via_init_one 171,5353 -static void __exit via_ircc_clean(291,9023 -static void __exit via_remove_one 304,9222 -static void __exit via_ircc_cleanup(313,9387 -static __devinit int via_ircc_open(329,9648 -static int __exit via_ircc_close(457,13169 -static int via_ircc_setup(494,14045 -static int via_ircc_read_dongle_id(529,14831 -static void via_ircc_change_dongle_speed(541,15089 -static void via_ircc_change_speed(660,17851 -static int via_ircc_hard_xmit_sir(768,19971 -static int via_ircc_hard_xmit_fir(839,21626 -static int via_ircc_dma_xmit(888,22885 -static int via_ircc_dma_xmit_complete(937,24163 -static int via_ircc_dma_receive(1007,25893 -static int via_ircc_dma_receive_complete(1048,26859 -static int upload_rxdata(1179,30106 -static int RxTimerHandler(1225,31143 -static irqreturn_t via_ircc_interrupt(1314,33358 -static void hwreset(1405,35764 -static int via_ircc_is_receiving(1441,36577 -static int via_ircc_net_open(1464,36965 -static int via_ircc_net_close(1532,38524 -static int via_ircc_net_ioctl(1572,39317 -static struct net_device_stats *via_ircc_net_get_stats(1613,40355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/au1k_ir.c,1058 -static int qos_mtt_bits 64,2227 -static struct net_device *ir_devs[65,2279 -static char version[66,2326 -static char version[] __devinitdata 66,2326 -#define RUN_AT(RUN_AT69,2406 -static BCSR * const bcsr 72,2504 -static spinlock_t ir_lock 75,2559 -u32 read_ir_reg(81,2702 -static db_dest_t *GetFreeDB(93,2956 -static void ReleaseDB(104,3111 -static void *dma_alloc(118,3457 -static void dma_free(134,3753 -setup_hw_rings(142,3907 -static int au1k_irda_init(155,4227 -static int au1k_irda_init_iobuf(191,5000 -static int au1k_irda_net_init(203,5266 -static int au1k_init(302,8004 -static int au1k_irda_start(344,8991 -static int au1k_irda_stop(381,9969 -static void __exit au1k_irda_exit(405,10480 -update_tx_stats(422,10853 -static void au1k_tx_ack(437,11139 -static int au1k_irda_hard_xmit(480,12062 -update_rx_stats(558,13789 -static int au1k_irda_rx(581,14263 -void au1k_irda_interrupt(631,15391 -static void au1k_tx_timeout(651,15816 -au1k_irda_set_speed(669,16154 -au1k_irda_ioctl(799,19306 -static struct net_device_stats *au1k_irda_stats(841,20081 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/ma600.c,634 - #define IRDA_DEBUG(IRDA_DEBUG47,1683 - #define ASSERT(ASSERT50,1757 -static const char hexTbl[58,1972 -#define MA600_9600 67,2261 -#define MA600_19200 68,2285 -#define MA600_38400 69,2310 -#define MA600_57600 70,2335 -#define MA600_115200 71,2360 -#define MA600_DEV_ID1 72,2386 -#define MA600_DEV_ID2 73,2413 -#define MA600_2400 74,2440 -static struct dongle_reg dongle 76,2465 -static int __init ma600_init(85,2660 -static void __exit ma600_cleanup(91,2786 -static void ma600_open(104,3059 -static void ma600_close(120,3482 -static __u8 get_control_byte(128,3637 -static int ma600_change_speed(173,4594 -int ma600_reset(290,7519 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/litelink.c,363 -#define MIN_DELAY 39,1486 -#define MAX_DELAY 40,1559 -static __u32 baud_rates[48,1858 -static struct dongle_reg dongle 50,1926 -static int __init litelink_init(59,2136 -static void __exit litelink_cleanup(64,2225 -static void litelink_open(69,2313 -static void litelink_close(75,2505 -static int litelink_change_speed(87,2796 -static int litelink_reset(130,3750 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/irda-usb.h,1011 -#define RX_COPY_THRESHOLD 34,1338 -#define IRDA_USB_MAX_MTU 35,1368 -#define IRDA_USB_SPEED_MTU 36,1398 -#define IU_MAX_ACTIVE_RX_URBS 56,2424 -#define IU_MAX_RX_URBS 62,2678 -#define IU_BUG_KICK_TIMEOUT66,2873 -#define IU_USB_MIN_RTT 77,3409 -#define MEDIA_BUSY 80,3499 -#define SPEED_2400 82,3527 -#define SPEED_9600 83,3554 -#define SPEED_19200 84,3581 -#define SPEED_38400 85,3608 -#define SPEED_57600 86,3635 -#define SPEED_115200 87,3662 -#define SPEED_576000 88,3689 -#define SPEED_1152000 89,3716 -#define SPEED_4000000 90,3743 -#define IUC_DEFAULT 93,3796 -#define IUC_SPEED_BUG 95,3880 -#define IUC_NO_WINDOW 96,3954 -#define IUC_NO_TURN 97,4028 -#define IUC_SIR_ONLY 99,4123 -#define IUC_SMALL_PKT 100,4191 -#define IUC_MAX_WINDOW 101,4266 -#define IUC_MAX_XBOFS 102,4335 -#define USB_IRDA_HEADER 105,4436 -#define USB_CLASS_IRDA 106,4467 -#define USB_DT_IRDA 107,4533 -struct irda_class_desc irda_class_desc109,4565 -#define IU_REQ_GET_CLASS_DESC 125,4954 -struct irda_usb_cb irda_usb_cb127,4990 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/esi-sir.c,252 -static struct dongle_driver esi 47,1783 -static int __init esi_sir_init(57,2011 -static void __exit esi_sir_cleanup(62,2089 -static int esi_open(67,2166 -static int esi_close(83,2539 -static int esi_change_speed(98,2848 -static int esi_reset(134,3342 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/irport.h,376 -#define IRPORT_H27,1046 -#define SPEED_DEFAULT 36,1208 -#define SPEED_MAX 37,1235 -#define PORT_UNKNOWN 42,1313 -#define PORT_8250 43,1339 -#define PORT_16450 44,1365 -#define PORT_16550 45,1391 -#define PORT_16550A 46,1417 -#define PORT_CIRRUS 47,1443 -#define PORT_16650 48,1469 -#define PORT_MAX 49,1495 -#define FRAME_MAX_SIZE 51,1524 -struct irport_cb irport_cb53,1553 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/sa1100_ir.c,1575 -#define GPIO_IRDA_FIR 49,1405 -#define GPIO_IRDA_POWER 53,1464 -static int power_level 56,1501 -static int tx_lpm;57,1529 -static int max_rate 58,1548 -struct sa1100_irda sa1100_irda60,1580 -#define IS_FIR(IS_FIR85,2014 -#define HPSIR_MAX_RXLEN 87,2060 -static int sa1100_irda_rx_alloc(92,2170 -static void sa1100_irda_rx_dma_start(120,2750 -static int sa1100_irda_set_speed(143,3230 -sa1100_irda_set_power_assabet(222,4627 -sa1100_irda_set_power_h3600(244,5099 -sa1100_irda_set_power_yopy(254,5311 -__sa1100_irda_set_power(274,5722 -sa1100_set_power(289,6063 -static int sa1100_irda_startup(300,6233 -static void sa1100_irda_shutdown(342,7101 -static int sa1100_irda_suspend(359,7370 -static int sa1100_irda_resume(384,7817 -#define sa1100_irda_suspend 419,8621 -#define sa1100_irda_resume 420,8654 -static void sa1100_irda_hpsir_irq(426,8746 -static void sa1100_irda_fir_error(523,10932 -static void sa1100_irda_fir_irq(601,12580 -static irqreturn_t sa1100_irda_irq(648,13571 -static void sa1100_irda_txdma_irq(661,13860 -static int sa1100_irda_hard_xmit(716,15072 -sa1100_irda_ioctl(791,16700 -static struct net_device_stats *sa1100_irda_stats(834,17529 -static int sa1100_irda_start(840,17665 -static int sa1100_irda_stop(903,18876 -static int sa1100_irda_init_iobuf(942,19540 -static int sa1100_irda_probe(954,19818 -static int sa1100_irda_remove(1049,22025 -static struct device_driver sa1100ir_driver 1068,22435 -static struct platform_device sa1100ir_device 1077,22666 -static int __init sa1100_irda_init(1082,22754 -static void __exit sa1100_irda_exit(1103,23121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/actisys.c,408 -#define MIN_DELAY 54,2046 -static __u32 baud_rates[63,2464 -#define MAX_SPEEDS 64,2531 -static struct dongle_reg dongle 66,2553 -static struct dongle_reg dongle_plus 75,2758 -static int __init actisys_init(94,3311 -static void __exit actisys_cleanup(111,3665 -static void actisys_open(118,3836 -static void actisys_close(133,4282 -static int actisys_change_speed(156,5217 -static int actisys_reset(225,7355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/sir_kthread.c,543 -struct irda_request_queue irda_request_queue34,938 -static struct irda_request_queue irda_rq_queue;43,1116 -static int irda_queue_request(45,1165 -static void irda_request_timer(61,1572 -static int irda_queue_delayed_request(72,1902 -static void run_irda_queue(88,2289 -static int irda_thread(111,2906 -static void flush_irda_queue(154,3995 -static int irda_tx_complete_fsm(177,4602 -static void irda_config_fsm(245,6424 -int sirdev_schedule_request(426,10730 -int __init irda_thread_create(471,11886 -void __exit irda_thread_join(493,12390 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/donauboe.c,2012 -static char *rcsid 53,2671 -#define USE_PROBE 65,3224 -#define PROBE_VERBOSE 69,3324 -#define USE_MIR77,3629 -#define OPTIMIZE_TX82,3817 -#define RING_SIZE 88,3973 -#define TX_SLOTS 89,4033 -#define RX_SLOTS 90,4055 -#define TT_LEN 103,4612 -#define TX_LEN 104,4637 -#define RX_LEN 105,4663 -#define BUF_SAFETY 110,4948 -#define RX_BUF_SZ 111,4973 -#define TX_BUF_SZ 112,5002 -#define INB(INB174,7178 -#define OUTB(OUTB175,7214 -#define OUTBP(OUTBP176,7255 -#define PROMPT 178,7297 -#define PROBE_DEBUG(PROBE_DEBUG181,7367 -#define PROBE_DEBUG(PROBE_DEBUG183,7418 -#define CONFIG0H_DMA_OFF 187,7496 -#define CONFIG0H_DMA_ON_NORX 188,7542 -#define CONFIG0H_DMA_ON 189,7610 -static struct pci_device_id toshoboe_pci_tbl[191,7677 -#define DRIVER_NAME 198,7957 -static char *driver_name 199,7988 -static int max_baud 201,8029 -static int do_probe 203,8077 -toshoboe_checkfcs 209,8195 -static unsigned char dump[230,8580 -_dumpbufs 232,8623 -toshoboe_dumpregs 248,8947 -toshoboe_disablebm 297,10797 -toshoboe_stopchip 310,11140 -toshoboe_start_DMA 342,11909 -toshoboe_setbaud 352,12141 -toshoboe_enablebm 487,15695 -toshoboe_initring 495,15850 -toshoboe_resetptrs 518,16387 -toshoboe_initptrs 531,16747 -toshoboe_startchip 553,17275 -toshoboe_isntstuck 611,18749 -toshoboe_checkstuck 616,18812 -toshoboe_makemttpacket 635,19238 -static int toshoboe_invalid_dev(660,19869 -toshoboe_dumptx 671,20123 -toshoboe_dumprx 681,20377 -stuff_byte 691,20629 -toshoboe_probeinterrupt 712,21138 -toshoboe_maketestpacket 761,22249 -toshoboe_probefail 798,22860 -toshoboe_numvalidrcvs 808,23118 -toshoboe_numrcvs 819,23311 -toshoboe_probe 830,23510 -toshoboe_hard_xmit 987,28114 -toshoboe_interrupt 1164,33052 -toshoboe_net_open 1356,38736 -toshoboe_net_close 1399,39613 -toshoboe_net_ioctl 1435,40233 -toshoboe_close 1505,42481 -toshoboe_open 1543,43181 -toshoboe_gotosleep 1715,47202 -toshoboe_wakeup 1744,47793 -static struct pci_driver donauboe_pci_driver 1767,48277 -donauboe_init 1777,48516 -donauboe_cleanup 1783,48609 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/mcp2120-sir.c,597 -#define MCP2120_9600 34,1140 -#define MCP2120_19200 35,1169 -#define MCP2120_38400 36,1198 -#define MCP2120_57600 37,1227 -#define MCP2120_115200 38,1256 -#define MCP2120_COMMIT 40,1286 -static struct dongle_driver mcp2120 42,1316 -static int __init mcp2120_sir_init(52,1564 -static void __exit mcp2120_sir_cleanup(57,1650 -static int mcp2120_open(62,1735 -static int mcp2120_close(77,2089 -#define MCP2120_STATE_WAIT_SPEED 96,2435 -static int mcp2120_change_speed(98,2499 -#define MCP2120_STATE_WAIT1_RESET 181,4515 -#define MCP2120_STATE_WAIT2_RESET 182,4579 -static int mcp2120_reset(184,4644 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/ali-ircc.h,2649 -#define ALI_IRCC_H23,907 -#define BANK0 36,1130 -#define BANK1 37,1150 -#define BANK2 38,1170 -#define BANK3 39,1190 -#define FIR_MCR 41,1211 -#define FIR_DR 44,1277 -#define FIR_IER 45,1338 -#define FIR_IIR 46,1411 -#define FIR_LCR_A 47,1498 -#define FIR_LCR_B 48,1570 -#define FIR_LSR 49,1642 -#define FIR_BSR 50,1710 - #define IER_FIFO 54,1800 - #define IER_TIMER 55,1856 - #define IER_EOM 56,1911 - #define IER_ACT 57,1972 - #define IIR_FIFO 60,2048 - #define IIR_TIMER 61,2096 - #define IIR_EOM 62,2142 - #define IIR_ACT 63,2196 - #define LCR_A_FIFO_RESET 66,2266 - #define LCR_B_BW 69,2330 - #define LCR_B_SIP 70,2370 - #define LCR_B_TX_MODE 71,2411 - #define LCR_B_RX_MODE 72,2460 - #define LSR_FIR_LSA 75,2525 - #define LSR_FRAME_ABORT 76,2581 - #define LSR_CRC_ERROR 77,2629 - #define LSR_SIZE_ERROR 78,2673 - #define LSR_FRAME_ERROR 79,2719 - #define LSR_FIFO_UR 80,2767 - #define LSR_FIFO_OR 81,2813 - #define BSR_FIFO_NOT_EMPTY 84,2876 -#define FIR_CR 87,2945 -#define FIR_FIFO_TR 88,3015 -#define FIR_DMA_TR 89,3092 -#define FIR_TIMER_IIR 90,3164 -#define FIR_FIFO_FR 91,3250 -#define FIR_FIFO_RAR 92,3319 -#define FIR_FIFO_WAR 93,3398 -#define FIR_TR 94,3477 - #define CR_DMA_EN 97,3549 - #define CR_DMA_BURST 98,3590 - #define CR_TIMER_EN 99,3638 - #define TIMER_IIR_500 102,3701 - #define TIMER_IIR_1ms 103,3742 - #define TIMER_IIR_2ms 104,3783 - #define TIMER_IIR_4ms 105,3824 -#define FIR_IRDA_CR 108,3880 -#define FIR_BOF_CR 109,3948 -#define FIR_BW_CR 110,4012 -#define FIR_TX_DSR_HI 111,4082 -#define FIR_TX_DSR_LO 112,4159 -#define FIR_RX_DSR_HI 113,4235 -#define FIR_RX_DSR_LO 114,4312 - #define IRDA_CR_HDLC1152 117,4405 - #define IRDA_CR_CRC 118,4464 - #define IRDA_CR_HDLC 119,4508 - #define IRDA_CR_HP_MODE 120,4554 - #define IRDA_CR_SD_ST 121,4610 - #define IRDA_CR_FIR_SIN 122,4660 - #define IRDA_CR_ITTX_0 123,4712 - #define IRDA_CR_ITTX_1 124,4775 -#define FIR_ID_VR 127,4853 -#define FIR_MODULE_CR 128,4921 -#define FIR_IO_BASE_HI 129,4997 -#define FIR_IO_BASE_LO 130,5083 -#define FIR_IRQ_CR 131,5168 -#define FIR_DMA_CR 132,5238 -struct ali_chip ali_chip134,5309 -typedef struct ali_chip ali_chip_t;ali_chip_t144,5560 -#define DMA_TX_MODE 148,5621 -#define DMA_RX_MODE 149,5683 -#define MAX_TX_WINDOW 151,5746 -#define MAX_RX_WINDOW 152,5771 -#define TX_FIFO_Threshold 154,5797 -#define RX_FIFO_Threshold 155,5825 -#define TX_DMA_Threshold 156,5853 -#define RX_DMA_Threshold 157,5880 -struct st_fifo_entry st_fifo_entry161,5954 -struct st_fifo st_fifo166,6004 -struct frame_cb frame_cb174,6123 -struct tx_fifo tx_fifo179,6238 -struct ali_ircc_cb ali_ircc_cb188,6627 -static inline void switch_bank(226,7697 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/act200l-sir.c,1308 -#define ACT200L_REG0 35,1218 -#define ACT200L_TXEN 36,1247 -#define ACT200L_RXEN 37,1301 -#define ACT200L_REG1 40,1391 -#define ACT200L_LODB 41,1420 -#define ACT200L_WIDE 42,1486 -#define ACT200L_REG4 45,1597 -#define ACT200L_OP0 46,1626 -#define ACT200L_OP1 47,1681 -#define ACT200L_BLKR 48,1736 -#define ACT200L_REG5 51,1806 -#define ACT200L_RWIDL 52,1835 -#define ACT200L_REG6 55,1944 -#define ACT200L_RS0 56,1973 -#define ACT200L_RS1 57,2032 -#define ACT200L_REG7 60,2142 -#define ACT200L_ENPOS 61,2171 -#define ACT200L_REG8 64,2283 -#define ACT200L_REG9 65,2312 -#define ACT200L_2400 67,2342 -#define ACT200L_9600 68,2371 -#define ACT200L_19200 69,2400 -#define ACT200L_38400 70,2429 -#define ACT200L_57600 71,2458 -#define ACT200L_115200 72,2487 -#define ACT200L_REG13 75,2556 -#define ACT200L_SHDW 76,2585 -#define ACT200L_REG15 79,2690 -#define ACT200L_REG21 82,2759 -#define ACT200L_EXCK 83,2788 -#define ACT200L_OSCL 84,2851 -static struct dongle_driver act200l 86,2933 -static int __init act200l_sir_init(96,3182 -static void __exit act200l_sir_cleanup(101,3268 -static int act200l_open(106,3353 -static int act200l_close(125,3781 -static int act200l_change_speed(141,4073 -#define ACT200L_STATE_WAIT1_RESET 196,5502 -#define ACT200L_STATE_WAIT2_RESET 197,5566 -static int act200l_reset(199,5631 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/irtty-sir.c,839 -static int qos_mtt_bits 45,1571 -static int irtty_chars_in_buffer(58,2037 -#define USBSERIAL_TX_DONE_DELAY 83,2896 -static void irtty_wait_until_sent(85,2932 -static int irtty_change_speed(115,3711 -static int irtty_set_dtr_rts(180,4851 -static int irtty_do_write(217,5776 -static void irtty_receive_buf(258,6921 -static int irtty_receive_room(297,7758 -static void irtty_write_wakeup(314,8181 -static inline void irtty_stop_receiver(334,8579 -static int irtty_start_dev(361,9179 -static int irtty_stop_dev(388,9697 -struct sir_driver sir_tty_drv 416,10209 -static int irtty_ioctl(436,10719 - struct irtty_info irtty_info438,10824 -static int irtty_open(486,11916 -static void irtty_close(557,13483 -static struct tty_ldisc irda_ldisc 597,14674 -static int __init irtty_sir_init(615,15094 -static void __exit irtty_sir_cleanup(625,15291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/girbil.c,763 -#define GIRBIL_TXEN 39,1426 -#define GIRBIL_RXEN 40,1479 -#define GIRBIL_ECAN 41,1529 -#define GIRBIL_ECHO 42,1588 -#define GIRBIL_HIGH 45,1680 -#define GIRBIL_MEDIUM 46,1708 -#define GIRBIL_LOW 47,1736 -#define GIRBIL_2400 50,1791 -#define GIRBIL_4800 51,1819 -#define GIRBIL_9600 52,1848 -#define GIRBIL_19200 53,1876 -#define GIRBIL_38400 54,1904 -#define GIRBIL_57600 55,1933 -#define GIRBIL_115200 56,1962 -#define GIRBIL_IRDA 59,2017 -#define GIRBIL_ASK 60,2045 -#define GIRBIL_LOAD 63,2105 -static struct dongle_reg dongle 65,2169 -static int __init girbil_init(74,2369 -static void __exit girbil_cleanup(79,2456 -static void girbil_open(84,2542 -static void girbil_close(90,2712 -static int girbil_change_speed(102,2933 -static int girbil_reset(183,4808 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/old_belkin.c,317 -#define MIN_DELAY 66,2741 -static struct dongle_reg dongle 76,3129 -static int __init old_belkin_init(85,3349 -static void __exit old_belkin_cleanup(90,3440 -static void old_belkin_open(95,3530 -static void old_belkin_close(103,3771 -static int old_belkin_change_speed(114,3998 -static int old_belkin_reset(127,4210 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/act200l.c,1210 -#define ACT200L_REG0 35,1259 -#define ACT200L_TXEN 36,1288 -#define ACT200L_RXEN 37,1342 -#define ACT200L_REG1 40,1432 -#define ACT200L_LODB 41,1461 -#define ACT200L_WIDE 42,1527 -#define ACT200L_REG4 45,1638 -#define ACT200L_OP0 46,1667 -#define ACT200L_OP1 47,1722 -#define ACT200L_BLKR 48,1777 -#define ACT200L_REG5 51,1847 -#define ACT200L_RWIDL 52,1876 -#define ACT200L_REG6 55,1985 -#define ACT200L_RS0 56,2014 -#define ACT200L_RS1 57,2073 -#define ACT200L_REG7 60,2183 -#define ACT200L_ENPOS 61,2212 -#define ACT200L_REG8 64,2324 -#define ACT200L_REG9 65,2353 -#define ACT200L_2400 67,2383 -#define ACT200L_9600 68,2412 -#define ACT200L_19200 69,2441 -#define ACT200L_38400 70,2470 -#define ACT200L_57600 71,2499 -#define ACT200L_115200 72,2528 -#define ACT200L_REG13 75,2597 -#define ACT200L_SHDW 76,2626 -#define ACT200L_REG15 79,2731 -#define ACT200L_REG21 82,2800 -#define ACT200L_EXCK 83,2829 -#define ACT200L_OSCL 84,2892 -static struct dongle_reg dongle 86,2974 -static int __init act200l_init(95,3179 -static void __exit act200l_cleanup(100,3267 -static void act200l_open(105,3354 -static void act200l_close(117,3674 -static int act200l_change_speed(131,3955 -static int act200l_reset(214,6185 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/irda-usb.c,1203 -static int qos_mtt_bits 69,2423 -static struct usb_device_id dongles[72,2528 -static void irda_usb_build_header(139,5540 -static void irda_usb_change_speed_xbofs(242,7896 -static void speed_bulk_callback(283,9055 -static int irda_usb_hard_xmit(322,10282 -static void write_bulk_callback(486,15689 -static void irda_usb_net_timeout(561,18303 -static void irda_usb_submit(694,22402 -static void irda_usb_receive(734,23571 -static int irda_usb_is_receiving(866,27875 -static int irda_usb_net_open(905,29207 -static int irda_usb_net_close(978,31339 -static int irda_usb_net_ioctl(1026,32622 -static struct net_device_stats *irda_usb_net_get_stats(1074,33955 -static inline void irda_usb_init_qos(1091,34493 -static inline int irda_usb_open(1143,36397 -static inline void irda_usb_close(1168,37199 -static inline int irda_usb_parse_endpoints(1201,38250 -static inline void irda_usb_dump_class_desc(1263,40214 -static inline struct irda_class_desc *irda_usb_find_class_desc(1289,41273 -static int irda_usb_probe(1346,43056 -static void irda_usb_disconnect(1489,47104 -static struct usb_driver irda_driver 1550,48871 -static int __init usb_irda_init(1568,49301 -static void __exit usb_irda_cleanup(1585,49597 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/sir_core.c,83 -static int __init sir_core_init(44,1257 -static void __exit sir_core_exit(49,1330 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/smsc-sio.h,2211 -#define SMSC_SIO_H2,19 -#define SMSCSIO_CFGACCESSKEY 8,173 -#define SMSCSIO_CFGEXITKEY 9,208 -#define SMSCSIOFLAT_DEVICEID_REG 16,359 -#define SMSCSIOFLAT_UARTMODE0C_REG 19,421 -#define SMSCSIOFLAT_UART2MODE_MASK 20,464 -#define SMSCSIOFLAT_UART2MODE_VAL_COM 21,507 -#define SMSCSIOFLAT_UART2MODE_VAL_IRDA 22,552 -#define SMSCSIOFLAT_UART2MODE_VAL_ASKIR 23,598 -#define SMSCSIOFLAT_UART2BASEADDR_REG 26,666 -#define SMSCSIOFLAT_FIRBASEADDR_REG 29,732 -#define SMSCSIOFLAT_FIRDMASELECT_REG 32,797 -#define SMSCSIOFLAT_FIRDMASELECT_MASK 33,841 -#define SMSCSIOFLAT_UARTIRQSELECT_REG 36,907 -#define SMSCSIOFLAT_UART2IRQSELECT_MASK 37,952 -#define SMSCSIOFLAT_UART1IRQSELECT_MASK 38,999 -#define SMSCSIOFLAT_UARTIRQSELECT_VAL_NONE 39,1046 -#define LPC47N227_CFGACCESSKEY 46,1168 -#define LPC47N227_CFGEXITKEY 47,1205 -#define LPC47N227_FDCPOWERVALIDCONF_REG 50,1261 -#define LPC47N227_FDCPOWER_MASK 51,1307 -#define LPC47N227_VALID_MASK 52,1347 -#define LPC47N227_UART12POWER_REG 55,1406 -#define LPC47N227_UART1POWERDOWN_MASK 56,1448 -#define LPC47N227_UART2POWERDOWN_MASK 57,1493 -#define LPC47N227_APMBOOTDRIVE_REG 60,1559 -#define LPC47N227_PARPORT2AUTOPWRDOWN_MASK 61,1602 -#define LPC47N227_UART2AUTOPWRDOWN_MASK 62,1683 -#define LPC47N227_UART1AUTOPWRDOWN_MASK 63,1761 -#define LPC47N227_UARTMODE0C_REG 66,1860 -#define LPC47N227_UART2MODE_MASK 67,1901 -#define LPC47N227_UART2MODE_VAL_COM 68,1942 -#define LPC47N227_UART2MODE_VAL_IRDA 69,1985 -#define LPC47N227_UART2MODE_VAL_ASKIR 70,2029 -#define LPC47N227_DEVICEID_REG 73,2095 -#define LPC47N227_DEVICEID_DEFVAL 74,2135 -#define LPC47N227_REVISIONID_REG 77,2198 -#define LPC47N227_UART2BASEADDR_REG 80,2260 -#define LPC47N227_UARTIRQSELECT_REG 83,2324 -#define LPC47N227_UART2IRQSELECT_MASK 84,2367 -#define LPC47N227_UART1IRQSELECT_MASK 85,2412 -#define LPC47N227_UARTIRQSELECT_VAL_NONE 86,2457 -#define LPC47N227_FIRBASEADDR_REG 89,2525 -#define LPC47N227_FIRDMASELECT_REG 92,2588 -#define LPC47N227_FIRDMASELECT_MASK 93,2631 -#define LPC47N227_FIRDMASELECT_VAL_DMA1 94,2674 -#define LPC47N227_FIRDMASELECT_VAL_DMA2 95,2756 -#define LPC47N227_FIRDMASELECT_VAL_DMA3 96,2802 -#define LPC47N227_FIRDMASELECT_VAL_NONE 97,2848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/tekram-sir.c,526 -static int tekram_delay 37,1311 -#define TEKRAM_115200 44,1557 -#define TEKRAM_57600 45,1584 -#define TEKRAM_38400 46,1611 -#define TEKRAM_19200 47,1638 -#define TEKRAM_9600 48,1665 -#define TEKRAM_PW 50,1693 -static struct dongle_driver tekram 52,1744 -static int __init tekram_sir_init(62,1983 -static void __exit tekram_sir_cleanup(71,2216 -static int tekram_open(76,2299 -static int tekram_close(93,2690 -#define TEKRAM_STATE_WAIT_SPEED 124,3590 -static int tekram_change_speed(126,3655 -static int tekram_reset(205,5249 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/smsc-ircc2.h,4177 -#define SMSC_IRCC2_H36,1424 -#define DMA_TX_MODE 39,1469 -#define DMA_RX_MODE 40,1542 -#define IRCC_MASTER 43,1646 -#define IRCC_MASTER_POWERDOWN 44,1686 -#define IRCC_MASTER_RESET 45,1726 -#define IRCC_MASTER_INT_EN 46,1766 -#define IRCC_MASTER_ERROR_RESET 47,1806 -#define IRCC_IIR 52,1902 -#define IRCC_IIR_ACTIVE_FRAME 53,1928 -#define IRCC_IIR_EOM 54,1966 -#define IRCC_IIR_RAW_MODE 55,1997 -#define IRCC_IIR_FIFO 56,2032 -#define IRCC_IER 59,2088 -#define IRCC_IER_ACTIVE_FRAME 60,2114 -#define IRCC_IER_EOM 61,2152 -#define IRCC_IER_RAW_MODE 62,2183 -#define IRCC_IER_FIFO 63,2218 -#define IRCC_LSR 66,2278 -#define IRCC_LSR_UNDERRUN 67,2304 -#define IRCC_LSR_OVERRUN 68,2339 -#define IRCC_LSR_FRAME_ERROR 69,2373 -#define IRCC_LSR_SIZE_ERROR 70,2410 -#define IRCC_LSR_CRC_ERROR 71,2446 -#define IRCC_LSR_FRAME_ABORT 72,2481 -#define IRCC_LSAR 75,2554 -#define IRCC_LSAR_ADDRESS_MASK 76,2581 -#define IRCC_LCR_A 79,2649 -#define IRCC_LCR_A_FIFO_RESET 80,2689 -#define IRCC_LCR_A_FAST 81,2729 -#define IRCC_LCR_A_GP_DATA 82,2769 -#define IRCC_LCR_A_RAW_TX 83,2809 -#define IRCC_LCR_A_RAW_RX 84,2849 -#define IRCC_LCR_A_ABORT 85,2889 -#define IRCC_LCR_A_DATA_DONE 86,2929 -#define IRCC_LCR_B 89,3000 -#define IRCC_LCR_B_SCE_DISABLED 90,3040 -#define IRCC_LCR_B_SCE_TRANSMIT 91,3080 -#define IRCC_LCR_B_SCE_RECEIVE 92,3120 -#define IRCC_LCR_B_SCE_UNDEFINED 93,3160 -#define IRCC_LCR_B_SIP_ENABLE 94,3200 -#define IRCC_LCR_B_BRICK_WALL 95,3240 -#define IRCC_BSR 98,3307 -#define IRCC_BSR_NOT_EMPTY 99,3347 -#define IRCC_BSR_FIFO_FULL 100,3384 -#define IRCC_BSR_TIMEOUT 101,3421 -#define IRCC_FIFO_THRESHOLD 105,3481 -#define IRCC_SCE_CFGA 107,3517 -#define IRCC_CFGA_AUX_IR 108,3547 -#define IRCC_CFGA_HALF_DUPLEX 109,3581 -#define IRCC_CFGA_TX_POLARITY 110,3619 -#define IRCC_CFGA_RX_POLARITY 111,3657 -#define IRCC_CFGA_COM 113,3696 -#define IRCC_SCE_CFGA_BLOCK_CTRL_BITS_MASK 114,3728 -#define IRCC_CFGA_IRDA_SIR_A 115,3777 -#define IRCC_CFGA_ASK_SIR 116,3814 -#define IRCC_CFGA_IRDA_SIR_B 117,3849 -#define IRCC_CFGA_IRDA_HDLC 118,3886 -#define IRCC_CFGA_IRDA_4PPM 119,3923 -#define IRCC_CFGA_CONSUMER 120,3958 -#define IRCC_CFGA_RAW_IR 121,3992 -#define IRCC_CFGA_OTHER 122,4024 -#define IRCC_IR_HDLC 124,4060 -#define IRCC_IR_4PPM 125,4100 -#define IRCC_IR_CONSUMER 126,4140 -#define IRCC_SCE_CFGB 128,4181 -#define IRCC_CFGB_LOOPBACK 129,4219 -#define IRCC_CFGB_LPBCK_TX_CRC 130,4259 -#define IRCC_CFGB_NOWAIT 131,4298 -#define IRCC_CFGB_STRING_MOVE 132,4331 -#define IRCC_CFGB_DMA_BURST 133,4369 -#define IRCC_CFGB_DMA_ENABLE 134,4406 -#define IRCC_CFGB_MUX_COM 136,4444 -#define IRCC_CFGB_MUX_IR 137,4484 -#define IRCC_CFGB_MUX_AUX 138,4524 -#define IRCC_CFGB_MUX_INACTIVE 139,4564 -#define IRCC_ID_HIGH 142,4655 -#define IRCC_ID_LOW 143,4705 -#define IRCC_CHIP_ID 144,4754 -#define IRCC_VERSION 145,4805 -#define IRCC_INTERFACE 146,4855 -#define IRCC_INTERFACE_DMA_MASK 147,4928 -#define IRCC_INTERFACE_IRQ_MASK 148,5000 -#define IRCC_CONTROL 151,5103 -#define IRCC_BOF_COUNT_LO 152,5143 -#define IRCC_BOF_COUNT_HI 153,5198 -#define IRCC_BRICKWALL_CNT_LO 154,5266 -#define IRCC_BRICKWALL_CNT_HI 155,5321 -#define IRCC_TX_SIZE_LO 156,5389 -#define IRCC_TX_SIZE_HI 157,5444 -#define IRCC_RX_SIZE_HI 158,5512 -#define IRCC_RX_SIZE_LO 159,5580 -#define IRCC_1152 161,5636 -#define IRCC_CRC 162,5676 -#define IRCC_ATC 165,5747 -#define IRCC_ATC_nPROGREADY 166,5773 -#define IRCC_ATC_SPEED 167,5808 -#define IRCC_ATC_ENABLE 168,5839 -#define IRCC_ATC_MASK 169,5871 -#define IRCC_IRHALFDUPLEX_TIMEOUT 172,5903 -#define IRCC_SCE_TX_DELAY_TIMER 174,5943 -#define SMSC_IRCC2_MAX_SIR_SPEED 180,6011 -#define SMSC_IRCC2_FIR_CHIP_IO_EXTENT 181,6052 -#define SMSC_IRCC2_SIR_CHIP_IO_EXTENT 182,6093 -#define SMSC_IRCC2_FIFO_SIZE 183,6134 -#define SMSC_IRCC2_FIFO_THRESHOLD 184,6168 -#define SMSC_IRCC2_RX_BUFF_TRUESIZE 186,6278 -#define SMSC_IRCC2_TX_BUFF_TRUESIZE 187,6321 -#define SMSC_IRCC2_MIN_TURN_TIME 188,6364 -#define SMSC_IRCC2_WINDOW_SIZE 189,6403 -#define SMSC_IRCC2_HW_TRANSMITTER_TIMEOUT_US 191,6489 -#define SMSC_IRCC2_ATC_PROGRAMMING_TIMEOUT_JIFFIES 193,6611 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/sir_dev.c,666 -void sirdev_enable_rx(27,787 -static int sirdev_is_receiving(40,1140 -int sirdev_set_dongle(48,1293 -int sirdev_raw_write(65,1695 -int sirdev_raw_read(100,2667 -int sirdev_set_dtr_rts(120,3096 -void sirdev_write_complete(135,3538 -int sirdev_receive(234,6520 -static struct net_device_stats *sirdev_get_stats(285,7843 -static int sirdev_hard_xmit(292,7994 -static int sirdev_ioctl(382,10496 -#define SIRBUF_ALLOCSIZE 454,12230 -static int sirdev_alloc_buffers(456,12308 -static void sirdev_free_buffers(486,13100 -static int sirdev_open(496,13337 -static int sirdev_close(541,14270 -struct sir_dev * sirdev_get_instance(577,14945 -int sirdev_put_instance(643,16528 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/tekram.c,435 -#define TEKRAM_115200 38,1410 -#define TEKRAM_57600 39,1437 -#define TEKRAM_38400 40,1464 -#define TEKRAM_19200 41,1491 -#define TEKRAM_9600 42,1518 -#define TEKRAM_PW 44,1546 -static struct dongle_reg dongle 46,1597 -static int __init tekram_init(55,1798 -static void __exit tekram_cleanup(60,1885 -static void tekram_open(65,1971 -static void tekram_close(74,2241 -static int tekram_change_speed(103,3119 -int tekram_reset(206,5548 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/via-ircc.h,5659 -#define via_IRCC_H32,1371 -#define MAX_TX_WINDOW 39,1510 -#define MAX_RX_WINDOW 40,1534 -struct st_fifo_entry st_fifo_entry42,1559 -struct st_fifo st_fifo47,1609 -struct frame_cb frame_cb55,1732 -struct tx_fifo tx_fifo60,1845 -struct eventflag eventflag69,2094 -struct via_ircc_cb via_ircc_cb93,2652 -#define I_CF_L_0 131,3743 -#define I_CF_H_0 132,3769 -#define I_SIR_BOF 133,3793 -#define I_SIR_EOF 134,3818 -#define I_ST_CT_0 135,3843 -#define I_ST_L_1 136,3868 -#define I_ST_H_1 137,3892 -#define I_CF_L_1 138,3916 -#define I_CF_H_1 139,3940 -#define I_CF_L_2 140,3964 -#define I_CF_H_2 141,3988 -#define I_CF_3 142,4012 -#define H_CT 143,4034 -#define H_ST 144,4055 -#define M_CT 145,4076 -#define TX_CT_1 146,4097 -#define TX_CT_2 147,4120 -#define TX_ST 148,4143 -#define RX_CT 149,4165 -#define RX_ST 150,4187 -#define RESET 151,4209 -#define P_ADDR 152,4231 -#define RX_C_L 153,4253 -#define RX_C_H 154,4275 -#define RX_P_L 155,4297 -#define RX_P_H 156,4319 -#define TX_C_L 157,4341 -#define TX_C_H 158,4363 -#define TIMER 159,4385 -#define I_CF_4 160,4414 -#define I_T_C_L 161,4444 -#define I_T_C_H 162,4467 -#define VERSION 163,4490 -#define StartAddr 165,4547 -#define EndAddr 166,4601 -#define GetBit(GetBit167,4652 -#define SetBit(SetBit169,4740 -#define ResetBit(ResetBit171,4828 -#define PCI_CONFIG_ADDRESS 173,4918 -#define PCI_CONFIG_DATA 174,4951 -#define VenderID 176,4985 -#define DeviceID1 177,5012 -#define DeviceID2 178,5039 -#define DeviceID3 179,5066 -#define DeviceID4 181,5101 -#define DeviceID5 182,5128 -#define OFF 185,5164 -#define ON 186,5180 -#define DMA_TX_MODE 187,5195 -#define DMA_RX_MODE 188,5222 -#define DMA1 190,5250 -#define DMA2 191,5267 -#define MASK1 192,5287 -#define MASK2 193,5313 -#define Clk_bit 195,5340 -#define Tx_bit 196,5361 -#define Rd_Valid 197,5381 -#define RxBit 198,5403 -static void DisableDmaChannel(200,5423 -static unsigned char ReadLPCReg(229,5933 -static void WriteLPCReg(242,6118 -static __u8 ReadReg(252,6279 -static void WriteReg(257,6382 -static int WriteRegBit(262,6497 -static __u8 CheckRegBit(285,6952 -static void SetMaxRxPacketSize(299,7267 -static void SetFIFO(314,7528 -#define CRC16(CRC16336,7950 -#define SIRFilter(SIRFilter343,8336 -#define Filter(Filter344,8409 -#define InvertTX(InvertTX345,8482 -#define InvertRX(InvertRX346,8555 -#define EnableTX(EnableTX348,8667 -#define EnableRX(EnableRX349,8740 -#define EnableDMA(EnableDMA350,8813 -#define SIRRecvAny(SIRRecvAny351,8886 -#define DiableTrans(DiableTrans352,8959 -#define SetSIRBOF(SetSIRBOF354,9081 -#define SetSIREOF(SetSIREOF355,9150 -#define GetSIRBOF(GetSIRBOF356,9219 -#define GetSIREOF(GetSIREOF357,9282 -#define EnPhys(EnPhys359,9376 -#define IsModeError(IsModeError360,9445 -#define IsVFIROn(IsVFIROn361,9514 -#define IsFIROn(IsFIROn362,9595 -#define IsMIROn(IsMIROn363,9664 -#define IsSIROn(IsSIROn364,9733 -#define IsEnableTX(IsEnableTX365,9802 -#define IsEnableRX(IsEnableRX366,9871 -#define Is16CRC(Is16CRC367,9940 -#define DisableAdjacentPulseWidth(DisableAdjacentPulseWidth369,10045 -#define DisablePulseWidthAdjust(DisablePulseWidthAdjust370,10140 -#define UseOneRX(UseOneRX371,10235 -#define SlowIRRXLowActive(SlowIRRXLowActive372,10333 -#define EnAllInt(EnAllInt374,10476 -#define TXStart(TXStart375,10542 -#define RXStart(RXStart376,10608 -#define ClearRXInt(ClearRXInt377,10674 -#define IsRXInt(IsRXInt379,10777 -#define GetIntIndentify(GetIntIndentify380,10842 -#define IsHostBusy(IsHostBusy381,10914 -#define GetHostStatus(GetHostStatus382,10979 -#define EnTXDMA(EnTXDMA384,11076 -#define EnRXDMA(EnRXDMA385,11147 -#define SwapDMA(SwapDMA386,11218 -#define EnInternalLoop(EnInternalLoop387,11289 -#define EnExternalLoop(EnExternalLoop388,11360 -#define EnTXFIFOHalfLevelInt(EnTXFIFOHalfLevelInt390,11467 -#define EnTXFIFOUnderrunEOMInt(EnTXFIFOUnderrunEOMInt391,11574 -#define EnTXFIFOReadyInt(EnTXFIFOReadyInt392,11655 -#define ForceUnderrun(ForceUnderrun394,11821 -#define EnTXCRC(EnTXCRC395,11920 -#define ForceBADCRC(ForceBADCRC396,12024 -#define SendSIP(SendSIP397,12117 -#define ClearEnTX(ClearEnTX398,12239 -#define GetTXStatus(GetTXStatus400,12358 -#define EnRXSpecInt(EnRXSpecInt402,12452 -#define EnRXFIFOReadyInt(EnRXFIFOReadyInt403,12530 -#define EnRXFIFOHalfLevelInt(EnRXFIFOHalfLevelInt404,12664 -#define GetRXStatus(GetRXStatus406,12822 -#define SetPacketAddr(SetPacketAddr408,12914 -#define EnGPIOtoRX2(EnGPIOtoRX2410,13021 -#define EnTimerInt(EnTimerInt411,13090 -#define ClearTimerInt(ClearTimerInt412,13159 -#define WriteGIO(WriteGIO414,13263 -#define ReadGIO(ReadGIO415,13334 -#define ReadRX(ReadRX416,13397 -#define WriteTX(WriteTX417,13464 -#define EnRX2(EnRX2419,13564 -#define ReadRX2(ReadRX2420,13633 -#define GetFIRVersion(GetFIRVersion422,13733 -static void SetTimer(425,13794 -static void SetSendByte(433,13931 -static void ResetChip(445,14162 -static int CkRxRecv(453,14286 -static __u16 RxCurCount(474,14698 -static __u16 GetRecvByte(490,15024 -static void Sdelay(520,15581 -static void Tdelay(533,15753 -static void ActClk(547,15926 -static void ClkTx(557,16122 -static void Wr_Byte(579,16456 -static __u8 Rd_Indx(605,16852 -static void Wr_Indx(669,17980 -static void ResetDongle(690,18341 -static void SetSITmode(704,18545 -static void SI_SetMode(716,18824 -static void InitCard(731,19209 -static void CommonInit(739,19402 -static void SetBaudRate(764,20046 -static void SetPulseWidth(801,20766 -static void SetSendPreambleCount(815,21116 -static void SetVFIR(825,21293 -static void SetFIR(834,21477 -static void SetMIR(844,21700 -static void SetSIR(854,21923 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/sir-dev.h,1129 -#define IRDA_SIR_H15,525 -struct irda_request irda_request24,697 -struct sir_fsm sir_fsm32,839 -#define SIRDEV_STATE_WAIT_TX_COMPLETE 40,965 -#define SIRDEV_STATE_WAIT_XMIT 43,1048 -#define SIRDEV_STATE_WAIT_UNTIL_SENT 44,1087 -#define SIRDEV_STATE_TX_DONE 45,1131 -#define SIRDEV_STATE_DONGLE_OPEN 47,1169 -#define SIRDEV_STATE_DONGLE_CLOSE 51,1273 -#define SIRDEV_STATE_SET_DTR_RTS 55,1377 -#define SIRDEV_STATE_SET_SPEED 57,1419 -#define SIRDEV_STATE_DONGLE_CHECK 58,1458 -#define SIRDEV_STATE_DONGLE_RESET 59,1499 -#define SIRDEV_STATE_DONGLE_SPEED 63,1603 -#define SIRDEV_STATE_PORT_SPEED 66,1706 -#define SIRDEV_STATE_DONE 67,1746 -#define SIRDEV_STATE_ERROR 68,1780 -#define SIRDEV_STATE_COMPLETE 69,1815 -#define SIRDEV_STATE_DEAD 71,1854 -struct dongle_driver dongle_driver76,1907 -struct sir_driver sir_driver92,2201 -static inline int sirdev_schedule_speed(141,3821 -static inline int sirdev_schedule_dongle_open(146,3972 -static inline int sirdev_schedule_dongle_close(151,4134 -static inline int sirdev_schedule_dtr_rts(156,4275 -static inline int sirdev_schedule_mode(165,4510 -struct sir_dev sir_dev172,4660 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/w83977af_ir.h,2601 -#define W83977AF_IR_H26,997 -#define ENBNKSEL 32,1110 -#define APEDCRC 33,1132 -#define TXW4C 34,1154 -#define RXW4C 35,1183 -#define RBR 38,1226 -#define TBR 39,1286 -#define ICR 41,1350 -#define ICR_ERBRI 42,1407 -#define ICR_ETBREI 43,1477 -#define ICR_EUSRI 44,1539 -#define ICR_EHSRI 45,1588 -#define ICR_ETXURI 46,1617 -#define ICR_EDMAI 47,1664 -#define ICR_ETXTHI 48,1707 -#define ICR_EFSFI 49,1774 -#define ICR_ETMRI 50,1837 -#define UFR 52,1889 -#define UFR_EN_FIFO 53,1935 -#define UFR_RXF_RST 54,1984 -#define UFR_TXF_RST 55,2033 -#define UFR_RXTL 56,2082 -#define UFR_TXTL 57,2140 -#define ISR 59,2199 -#define ISR_RXTH_I 60,2249 -#define ISR_TXEMP_I 61,2307 -#define ISR_FEND_I 62,2370 -#define ISR_DMA_I 63,2394 -#define ISR_TXTH_I 64,2417 -#define ISR_FSF_I 65,2479 -#define ISR_TMR_I 66,2508 -#define UCR 68,2560 -#define UCR_DLS8 69,2617 -#define SSR 71,2657 -#define SET0 72,2710 -#define SET1 73,2776 -#define SET2 74,2841 -#define SET3 75,2867 -#define SET4 76,2893 -#define SET5 77,2919 -#define SET6 78,2945 -#define SET7 79,2971 -#define HCR 81,2998 -#define HCR_MODE_MASK 82,3016 -#define HCR_SIR 83,3046 -#define HCR_MIR_576 84,3075 -#define HCR_MIR_1152 85,3103 -#define HCR_FIR 86,3129 -#define HCR_EN_DMA 87,3151 -#define HCR_EN_IRQ 88,3175 -#define HCR_TX_WT 89,3199 -#define USR 91,3223 -#define USR_RDR 92,3277 -#define USR_TSRE 93,3331 -#define AUDR 95,3386 -#define AUDR_SFEND 96,3415 -#define AUDR_RXBSY 97,3466 -#define AUDR_UNDR 98,3509 -#define ABLL 101,3577 -#define ABHL 102,3656 -#define ADCR1 104,3737 -#define ADCR1_ADV_SL 105,3757 -#define ADCR1_D_CHSW 106,3784 -#define ADCR1_DMA_F 107,3854 -#define ADCR2 109,3880 -#define ADCR2_TXFS32 110,3900 -#define ADCR2_RXFS32 111,3926 -#define RXFDTH 113,3953 -#define AUID 116,3995 -#define TMRL 119,4027 -#define TMRH 120,4094 -#define IR_MSL 122,4163 -#define IR_MSL_EN_TMR 123,4219 -#define TFRLL 125,4268 -#define TFRLH 126,4330 -#define RFRLL 127,4393 -#define RFRLH 128,4452 -#define FS_FO 132,4526 -#define FS_FO_FSFDR 133,4579 -#define FS_FO_LST_FR 134,4643 -#define FS_FO_MX_LEX 135,4689 -#define FS_FO_PHY_ERR 136,4747 -#define FS_FO_CRC_ERR 137,4803 -#define FS_FO_RX_OV 138,4833 -#define FS_FO_FSF_OV 139,4884 -#define FS_FO_ERR_MSK 140,4945 -#define RFLFL 142,4992 -#define RFLFH 143,5021 -#define IR_CFG2 146,5063 -#define IR_CFG2_DIS_CRC 147,5085 -#define IRM_CR 150,5127 -#define IRM_CR_IRX_MSL 151,5187 -#define IRM_CR_AF_MNT 152,5215 -struct st_fifo_entry st_fifo_entry155,5313 -struct st_fifo st_fifo160,5363 -struct w83977af_ir w83977af_ir168,5488 -static inline void switch_bank(194,6347 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/au1000_ircc.h,1001 -#define AU1000_IRCC_H32,1447 -#define NUM_IR_IFF 40,1566 -#define NUM_IR_DESC 41,1596 -#define RING_SIZE_4 42,1626 -#define RING_SIZE_16 43,1656 -#define RING_SIZE_64 44,1686 -#define MAX_NUM_IR_DESC 45,1716 -#define MAX_BUF_SIZE 46,1746 -#define BPS_115200 48,1777 -#define BPS_57600 49,1807 -#define BPS_38400 50,1837 -#define BPS_19200 51,1867 -#define BPS_9600 52,1897 -#define BPS_2400 53,1927 -#define AU_OWN 56,1986 -#define IR_DIS_CRC 58,2031 -#define IR_BAD_CRC 59,2072 -#define IR_NEED_PULSE 60,2113 -#define IR_FORCE_UNDER 61,2154 -#define IR_DISABLE_TX 62,2195 -#define IR_HW_UNDER 63,2236 -#define IR_TX_ERROR 64,2277 -#define IR_PHY_ERROR 66,2339 -#define IR_CRC_ERROR 67,2380 -#define IR_MAX_LEN 68,2421 -#define IR_FIFO_OVER 69,2462 -#define IR_SIR_ERROR 70,2503 -#define IR_RX_ERROR 71,2544 -typedef struct db_dest db_dest74,2640 -} db_dest_t;db_dest_t78,2733 -typedef struct ring_desc ring_desc81,2748 -} ring_dest_t;ring_dest_t90,3032 -struct au1k_private au1k_private94,3086 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/old_belkin-sir.c,303 -static struct dongle_driver old_belkin 71,2948 -static int __init old_belkin_sir_init(81,3217 -static void __exit old_belkin_sir_cleanup(86,3309 -static int old_belkin_open(91,3400 -static int old_belkin_close(111,3857 -static int old_belkin_change_speed(126,4136 -static int old_belkin_reset(140,4408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/irda/actisys-sir.c,425 -#define MIN_DELAY 59,2182 -static unsigned baud_rates[68,2576 -#define MAX_SPEEDS 70,2647 -static struct dongle_driver act220l 72,2710 -static struct dongle_driver act220l_plus 82,2957 -static int __init actisys_sir_init(92,3215 -static void __exit actisys_sir_cleanup(110,3555 -static int actisys_open(117,3718 -static int actisys_close(138,4248 -static int actisys_change_speed(163,5194 -static int actisys_reset(225,7073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/zorro8390.c,1311 -#define DRV_NAME 39,1080 -#define NE_BASE 41,1110 -#define NE_CMD 42,1144 -#define NE_DATAPORT 43,1169 -#define NE_RESET 44,1240 -#define NE_IO_EXTENT 45,1313 -#define NE_EN0_ISR 47,1344 -#define NE_EN0_DCFG 48,1372 -#define NE_EN0_RSARLO 50,1402 -#define NE_EN0_RSARHI 51,1433 -#define NE_EN0_RCNTLO 52,1464 -#define NE_EN0_RXCR 53,1495 -#define NE_EN0_TXCR 54,1524 -#define NE_EN0_RCNTHI 55,1553 -#define NE_EN0_IMR 56,1584 -#define NESM_START_PG 58,1613 -#define NESM_STOP_PG 59,1670 -#define WORDSWAP(WORDSWAP62,1728 -static struct card_info card_info65,1779 -} cards[69,1869 -} cards[] __devinitdata 69,1869 -static struct zorro_device_id zorro8390_zorro_tbl[91,2862 -static struct zorro_device_id zorro8390_zorro_tbl[] __devinitdata 91,2862 -static struct zorro_driver zorro8390_driver 97,3040 -static int __devinit zorro8390_init_one(104,3236 -static int __devinit zorro8390_init(134,3984 -static int zorro8390_open(246,7414 -static int zorro8390_close(252,7501 -static void zorro8390_reset_8390(262,7816 -static void zorro8390_get_8390_hdr(288,8666 -static void zorro8390_block_input(328,10118 -static void zorro8390_block_output(361,11300 -static void __devexit zorro8390_remove_one(416,12986 -static int __init zorro8390_init_module(426,13261 -static void __exit zorro8390_cleanup_module(431,13361 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hplance.h,280 -struct hplance_reghplance_reg7,216 -#define LE_IE 16,511 -#define LE_IR 17,584 -#define LE_LOCK 18,660 -#define LE_ACK 19,737 -#define LE_JAB 20,805 -#define HPLANCE_IDOFF 28,1111 -#define HPLANCE_REGOFF 29,1202 -#define HPLANCE_MEMOFF 30,1276 -#define HPLANCE_NVRAMOFF 31,1356 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c505.c,2626 -#define DRV_NAME 41,2076 -#define DRV_VERSION 42,2101 -static const char filename[129,6051 -static const char timeout_msg[131,6093 -#define TIMEOUT_MSG(TIMEOUT_MSG132,6167 -static const char invalid_pcb_msg[135,6251 -#define INVALID_PCB_MSG(INVALID_PCB_MSG137,6343 -static char search_msg[140,6438 -static char search_msg[] __initdata 140,6438 -static char stilllooking_msg[142,6538 -static char stilllooking_msg[] __initdata 142,6538 -static char found_msg[144,6603 -static char found_msg[] __initdata 144,6603 -static char notfound_msg[146,6653 -static char notfound_msg[] __initdata 146,6653 -static char couldnot_msg[148,6723 -static char couldnot_msg[] __initdata 148,6723 -static int elp_debug 157,6972 -static int elp_debug;159,7012 -#define debug 161,7041 -#define TRUE 177,7424 -#define FALSE 181,7461 -static int addr_list[191,7698 -static int addr_list[] __initdata 191,7698 -static unsigned long dma_mem_alloc(195,7793 -static inline unsigned char inb_status(208,8101 -static inline int inb_command(213,8207 -static inline void outb_control(218,8305 -#define HCR_VAL(HCR_VAL224,8473 -static inline void outb_command(226,8534 -static inline unsigned int inw_data(231,8652 -static inline void outw_data(236,8753 -static inline unsigned int backlog_next(241,8864 -#define GET_ASF(GET_ASF258,9284 -static inline int get_status(261,9342 -static inline void set_hsf(273,9660 -inline static void adapter_reset(285,9993 -static inline void check_3c505_dma(319,11027 -static inline unsigned int send_pcb_slow(341,11764 -static inline unsigned int send_pcb_fast(353,12108 -static inline void prime_rx(366,12501 -static int send_pcb(399,13493 -static int receive_pcb(483,15598 -static int start_receive(568,17955 -static void receive_packet(596,18829 -static irqreturn_t elp_interrupt(662,20539 -static int elp_open(865,26792 -static int send_packet(998,30359 -static void elp_timeout(1068,32321 -static int elp_start_xmit(1089,32918 -static struct net_device_stats *elp_get_stats(1132,33934 -static void netdev_get_drvinfo(1164,34911 -static u32 netdev_get_msglevel(1172,35136 -static void netdev_set_msglevel(1177,35211 -static struct ethtool_ops netdev_ethtool_ops 1182,35299 -static int elp_close(1194,35606 -static void elp_set_mc_list(1237,36548 -static int __init elp_sense(1303,38856 -static int __init elp_autodetect(1366,40325 -static int __init elplus_setup(1410,41684 -struct net_device * __init elplus_probe(1618,48171 -static struct net_device *dev_3c505[1637,48508 -static int io[1638,48560 -static int irq[1639,48590 -static int dma[1640,48621 -int init_module(1648,49012 -void cleanup_module(1685,49845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk_g16.c,2676 -static const char rcsid[26,734 -#define SK_NAME 87,2748 -#define SK_BOOT_ROM 113,3424 -#define SK_ADDR 115,3489 -#define POS_ADDR 123,3695 -#define SK_IO_PORTS 140,4227 -#define SK_IRQS 142,4314 -#define SK_BOOT_ROM_LOCATIONS 144,4358 -#define SK_BOOT_ROM_ID 146,4467 -#define SK_POS_SIZE 160,4796 -#define SK_POS0 162,4866 -#define SK_POS1 163,4920 -#define SK_POS2 164,4975 -#define SK_POS3 165,5048 -#define SK_POS4 166,5106 -#define SK_MAC0 180,5348 -#define SK_MAC1 181,5377 -#define SK_MAC2 182,5406 -#define SK_IDLOW 194,5575 -#define SK_IDHIGH 195,5599 -#define SK_ROM_RAM_ON 203,5692 -#define SK_ROM_RAM_OFF 204,5727 -#define SK_ROM_ON 205,5763 -#define SK_ROM_OFF 206,5813 -#define SK_RAM_ON 207,5864 -#define SK_RAM_OFF 208,5914 -#define POS2_CARD 210,5967 -#define POS2_EPROM 211,6039 -#define SK_IOREG 219,6193 -#define SK_PORT 220,6266 -#define SK_IOCOM 221,6338 -#define SK_IORUN 234,6651 -#define SK_IRQ 240,6794 -#define SK_RESET 242,6830 -#define SK_RW 243,6903 -#define SK_ADR 244,6967 -#define SK_RREG 247,7047 -#define SK_WREG 248,7121 -#define SK_RAP 249,7194 -#define SK_RDATA 250,7256 -#define SK_DOIO 262,7493 -#define CSR0 282,8065 -#define CSR1 283,8097 -#define CSR2 284,8128 -#define CSR3 285,8158 -#define LC_LOG_TX_BUFFERS 300,8537 -#define LC_LOG_RX_BUFFERS 301,8616 -#define TMDNUM 305,8724 -#define RMDNUM 306,8800 -#define TMDNUMMASK 310,8938 -#define RMDNUMMASK 311,8983 -#define PKT_BUF_SZ 317,9090 -#define ETHERCARD_TOTAL_SIZE 323,9193 -#define PRINTK(PRINTK357,10222 -#define PRINTK(PRINTK359,10255 -#define PRINTK2(PRINTK2363,10303 -#define PRINTK2(PRINTK2365,10337 -} SK_RAM;SK_RAM410,12049 -struct SK_ramSK_ram426,12459 -struct privpriv440,12741 -static SK_RAM *board;459,13486 -static spinlock_t SK_lock 460,13561 -static int io;530,15560 -struct net_device * __init SK_init(538,15782 -static struct net_device *SK_dev;608,17483 -static int __init SK_init_module 610,17518 -static void __exit SK_cleanup_module 616,17634 -int __init SK_probe(647,18592 -static int SK_open(864,25205 -static int SK_lance_init(1022,29377 -static void SK_timeout(1189,34284 -static int SK_send_packet(1197,34588 -static irqreturn_t SK_interrupt(1284,36753 -static void SK_txintr(1354,38469 -static void SK_rxintr(1467,41795 -static int SK_close(1617,45869 -static struct net_device_stats *SK_get_stats(1653,46839 -static void set_multicast_list(1694,48193 -unsigned int __init SK_rom_addr(1734,49124 -void SK_reset_board(1805,50596 -void SK_set_RAP(1830,51291 -int SK_read_reg(1856,51948 -int SK_rread_reg(1887,52757 -void SK_write_reg(1919,53639 -void SK_print_pos(1954,54478 -void SK_print_dev(1989,55379 -void __init SK_print_ram(2029,56589 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gt96100eth.c,1574 -#define DESC_BE 52,1851 -#define DESC_DATA_BE 53,1869 -#define GT96100_DEBUG 55,1893 -static int max_interrupt_work 98,3903 -#define nibswap(nibswap100,3940 -#define RUN_AT(RUN_AT102,4004 -#define cpu_to_dma32 106,4124 -#define dma32_to_cpu 107,4157 -#define cpu_to_dma16 108,4190 -#define dma16_to_cpu 109,4223 -#define cpu_to_dma32 111,4262 -#define dma32_to_cpu 112,4295 -#define cpu_to_dma16 113,4328 -#define dma16_to_cpu 114,4361 -static char mac0[117,4402 -static char mac1[118,4446 -static struct gt96100_if_t gt96100_if_t127,4737 -} gt96100_iflist[132,4924 -chip_name(146,5116 -static void * dmaalloc(162,5375 -static void dmafree(180,5753 -static void gt96100_delay(186,5890 -parse_mac_addr(197,6053 -read_MII(232,6727 -dump_tx_desc(267,7511 -dump_rx_desc(282,7945 -write_MII(298,8427 -dump_MII(320,8897 -dump_hw_addr(338,9292 -dump_skb(357,9642 -gt96100_add_hash_entry(381,10165 -read_mib_counters(468,12452 -update_stats(480,12708 -abort(506,13653 -hard_stop(544,14545 -enable_ether_irq(560,14805 -disable_ether_irq(593,15654 -static int gt96100_init_module(611,16072 -static int __init gt96100_probe1(641,16815 -reset_tx(794,20904 -reset_rx(832,21820 -gt96100_check_tx_consistent(878,22997 -gt96100_init(889,23265 -gt96100_open(1023,27350 -gt96100_close(1048,27862 -gt96100_tx(1065,28105 -gt96100_rx(1137,30131 -gt96100_tx_complete(1246,33392 -gt96100_interrupt(1336,35644 -gt96100_tx_timeout(1438,38271 -gt96100_set_rx_mode(1463,38795 -gt96100_get_stats(1507,39842 -static void gt96100_cleanup_module(1523,40168 -static int __init gt96100_setup(1543,40745 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/at1700.c,2470 -static char version[65,1883 -static char version[] __initdata 65,1883 -#define DRV_NAME 68,1992 -#define MC_FILTERBREAK 73,2123 -static int fmv18x_probe_list[77,2226 -static int fmv18x_probe_list[] __initdata 77,2226 -static unsigned at1700_probe_list[85,2350 -static unsigned at1700_probe_list[] __initdata 85,2350 -static int at1700_ioaddr_pattern[93,2503 -static int at1700_ioaddr_pattern[] __initdata 93,2503 -static int at1700_mca_probe_list[97,2605 -static int at1700_mca_probe_list[] __initdata 97,2605 -static int at1700_irq_pattern[101,2725 -static int at1700_irq_pattern[] __initdata 101,2725 -#define NET_DEBUG 109,2965 -static unsigned int net_debug 111,2992 -typedef unsigned char uchar;uchar113,3036 -struct net_local net_local116,3121 -#define STATUS 131,3650 -#define TX_STATUS 132,3669 -#define RX_STATUS 133,3690 -#define TX_INTR 134,3711 -#define RX_INTR 135,3777 -#define TX_MODE 136,3797 -#define RX_MODE 137,3817 -#define CONFIG_0 138,3837 -#define CONFIG_1 139,3894 -#define DATAPORT 141,3958 -#define TX_START 142,4027 -#define COL16CNTL 143,4048 -#define MODE13 144,4108 -#define RX_CTRL 145,4128 -#define EEPROM_Ctrl 147,4206 -#define EEPROM_Data 148,4230 -#define CARDSTATUS 149,4254 -#define CARDSTATUS1 150,4304 -#define IOCONFIG 151,4355 -#define IOCONFIG1 152,4424 -#define SAPROM 153,4446 -#define MODE24 154,4513 -#define RESET 155,4533 -#define AT1700_IO_EXTENT 156,4598 -#define PORT_OFFSET(PORT_OFFSET157,4626 -#define TX_TIMEOUT 160,4655 -struct at1720_mca_adapters_struct at1720_mca_adapters_struct178,5332 -static struct at1720_mca_adapters_struct at1720_mca_adapters[184,5450 -static struct at1720_mca_adapters_struct at1720_mca_adapters[] __initdata 184,5450 -static int io 199,5967 -static int irq;201,5991 -static void cleanup_card(203,6008 -struct net_device * __init at1700_probe(214,6275 -static int __init at1700_probe1(269,7564 -#define EE_SHIFT_CLK 497,13884 -#define EE_CS 498,13948 -#define EE_DATA_WRITE 499,14007 -#define EE_DATA_READ 500,14073 -#define EE_WRITE_CMD 503,14201 -#define EE_READ_CMD 504,14231 -#define EE_ERASE_CMD 505,14261 -static int __init read_eeprom(507,14292 -static int net_open(538,15078 -static void net_tx_timeout 569,15824 -static int net_send_packet 603,16894 -net_interrupt(657,18461 -net_rx(728,20422 -static int net_close(811,22747 -net_get_stats(839,23465 -set_rx_mode(850,23644 -static struct net_device *dev_at1700;900,25335 -int init_module(909,25620 -cleanup_module(920,25832 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c501.h,1072 -static struct ethtool_ops netdev_ethtool_ops;16,603 -#define EL1_IO_EXTENT 18,650 -#define EL_DEBUG 21,693 -#define debug 23,816 -static int el_debug 24,839 -struct net_localnet_local30,917 -#define RX_STATUS 41,1225 -#define RX_CMD 42,1259 -#define TX_STATUS 43,1286 -#define TX_CMD 44,1320 -#define GP_LOW 45,1347 -#define GP_HIGH 46,1381 -#define RX_BUF_CLR 47,1415 -#define RX_LOW 48,1450 -#define RX_HIGH 49,1483 -#define SAPROM 50,1517 -#define AX_STATUS 51,1550 -#define AX_CMD 52,1584 -#define DATAPORT 53,1611 -#define TX_RDY 54,1645 -#define EL1_DATAPTR 56,1686 -#define EL1_RXPTR 57,1711 -#define EL1_SAPROM 58,1734 -#define EL1_DATAPORT 59,1758 -#define AX_OFF 65,1832 -#define AX_SYS 66,1886 -#define AX_XMIT 67,1931 -#define AX_RX 68,1978 -#define AX_LOOP 69,2022 -#define AX_RESET 70,2065 -#define RX_NORM 77,2202 -#define RX_PROM 78,2266 -#define RX_MULT 79,2330 -#define TX_NORM 80,2384 -#define TX_COLLISION 86,2493 -#define TX_16COLLISIONS 87,2519 -#define TX_READY 88,2548 -#define RX_RUNT 90,2571 -#define RX_MISSED 91,2592 -#define RX_GOOD 92,2664 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/iseries_veth.h,453 -#define _ISERIES_VETH_H4,88 -#define VethEventTypeCap 6,113 -#define VethEventTypeFrames 7,142 -#define VethEventTypeMonitor 8,174 -#define VethEventTypeFramesAck 9,207 -#define VETH_MAX_ACKS_PER_MSG 11,243 -#define VETH_MAX_FRAMES_PER_MSG 12,278 -struct VethFramesData VethFramesData14,315 -#define VETH_EOF_SHIFT 19,427 -struct VethFramesAckData VethFramesAckData21,481 -struct VethCapData VethCapData25,547 -struct VethLpEvent VethLpEvent36,696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/arc-rimi.c,1039 -#define VERSION 40,1139 -#define BUFFER_SIZE 59,1905 -#define MIRROR_SIZE 60,1931 -#define _INTMASK 63,2029 -#define _STATUS 64,2072 -#define _COMMAND 65,2115 -#define _RESET 66,2191 -#define _MEMDATA 67,2249 -#define _ADDR_HI 68,2316 -#define _ADDR_LO 69,2379 -#define _CONFIG 70,2409 -#define ASTATUS(ASTATUS76,2515 -#define ACOMMAND(ACOMMAND77,2548 -#define AINTMASK(AINTMASK78,2593 -#define SETCONF(SETCONF79,2638 -static int __init arcrimi_probe(87,2908 -static int __init arcrimi_found(124,4046 -static int arcrimi_reset(231,7221 -static void arcrimi_setmask(252,7784 -static int arcrimi_status(260,7978 -static void arcrimi_command(268,8162 -static void arcrimi_copy_to_card(276,8354 -static void arcrimi_copy_from_card(285,8665 -static int node;293,8983 -static int io;294,9000 -static int irq;295,9061 -static char device[296,9077 -static struct net_device *my_dev;304,9304 -static int __init arc_rimi_init(306,9339 -static void __exit arc_rimi_exit(331,9690 -static int __init arcrimi_setup(344,10013 -module_init(367,10466 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/com90xx.c,1098 -#define VERSION 37,1061 -static struct net_device *cards[68,2244 -static int numcards;69,2281 -#define ARCNET_TOTAL_SIZE 74,2401 -#define BUFFER_SIZE 77,2475 -#define MIRROR_SIZE 78,2501 -#define _INTMASK 81,2599 -#define _STATUS 82,2642 -#define _COMMAND 83,2685 -#define _CONFIG 84,2761 -#define _RESET 85,2818 -#define _MEMDATA 86,2877 -#define _ADDR_HI 87,2943 -#define _ADDR_LO 88,3005 -#define ASTATUS(ASTATUS94,3083 -#define ACOMMAND(ACOMMAND95,3114 -#define AINTMASK(AINTMASK96,3158 -static int com90xx_skip_probe __initdata 99,3203 -static int io;103,3275 -static int irq;104,3337 -static int shmem;105,3353 -static char device[106,3371 -static void __init com90xx_probe(113,3576 -static int __init com90xx_found(404,11307 -static void com90xx_command(498,14037 -static int com90xx_status(506,14153 -static void com90xx_setmask(514,14261 -int com90xx_reset(530,14670 -static void com90xx_copy_to_card(565,15640 -static void com90xx_copy_from_card(574,15943 -static int __init com90xx_init(585,16278 -static void __exit com90xx_exit(595,16406 -static int __init com90xx_setup(618,16922 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/com90io.c,1147 -#define VERSION 41,1175 -#define ARCNET_TOTAL_SIZE 60,1923 -#define _INTMASK 63,2014 -#define _STATUS 64,2057 -#define _COMMAND 65,2100 -#define _RESET 66,2176 -#define _MEMDATA 67,2234 -#define _ADDR_HI 68,2301 -#define _ADDR_LO 69,2364 -#define _CONFIG 70,2394 -#define ASTATUS(ASTATUS76,2500 -#define ACOMMAND(ACOMMAND77,2531 -#define AINTMASK(AINTMASK78,2574 -#define SETCONF(SETCONF79,2617 -static u_char get_buffer_byte(91,3106 -static void put_buffer_byte(102,3323 -static void get_whole_buffer(115,3538 -static void put_whole_buffer(130,3882 -static int __init com90io_probe(149,4360 -static int __init com90io_found(234,6540 -static int com90io_reset(291,8156 -static void com90io_command(323,8986 -static int com90io_status(331,9102 -static void com90io_setmask(339,9210 -static void com90io_copy_to_card(346,9327 -static void com90io_copy_from_card(353,9533 -static int io;359,9742 -static int irq;360,9804 -static char device[361,9820 -static int __init com90io_setup(369,10034 -static struct net_device *my_dev;390,10429 -static int __init com90io_init(392,10464 -static void __exit com90io_exit(419,10806 -module_init(434,11162 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/com20020-isa.c,486 -#define VERSION 45,1243 -static int __init com20020isa_probe(52,1460 -static int node 121,3084 -static int io 122,3105 -static int irq 123,3178 -static char device[124,3247 -static int timeout 125,3314 -static int backplane 126,3338 -static int clockp 127,3364 -static int clockm 128,3387 -static struct net_device *my_dev;141,3697 -static int __init com20020_init(143,3732 -static void __exit com20020_exit(177,4269 -static int __init com20020isa_setup(186,4465 -module_init(219,5076 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/com20020-pci.c,518 -#define VERSION 45,1277 -static int node;49,1352 -static char device[50,1369 -static int timeout 51,1436 -static int backplane;52,1460 -static int clockp;53,1482 -static int clockm;54,1501 -static int __devinit com20020pci_probe(64,1753 -static void __devexit com20020pci_remove(135,3330 -static struct pci_device_id com20020pci_id_table[144,3569 -static struct pci_driver com20020pci_driver 170,4909 -static int __init com20020pci_init(177,5093 -static void __exit com20020pci_cleanup(183,5220 -module_init(188,5315 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/arc-rawmode.c,240 -#define VERSION 35,997 -struct ArcProto rawmode_proto 46,1377 -static int __init arcnet_raw_init(56,1518 -static void __exit arcnet_raw_exit(74,1928 -static void rx(86,2124 -static int build_header(134,3343 -static int prepare_tx(166,4192 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/arcnet.c,1191 -#define VERSION 44,1662 -struct ArcProto *arc_proto_map[72,2609 -struct ArcProto *arc_proto_map[256], *arc_proto_default,72,2609 -struct ArcProto *arc_proto_map[256], *arc_proto_default, *arc_bcast_proto;72,2609 -struct ArcProto arc_proto_null 74,2685 -static spinlock_t arcnet_lock 83,2841 -int arcnet_debug 86,2929 -static int debug 110,3823 -static int __init arcnet_init(114,3905 -static void __exit arcnet_exit(147,4767 -void arcnet_dump_skb(158,4933 -void arcnet_dump_packet(179,5379 -void arcnet_unregister_proto(214,6368 -static void release_arcbuf(237,6937 -static int get_arcbuf(259,7496 -static int choose_mtu(291,8321 -void arcdev_setup(308,8686 -struct net_device *alloc_arcdev(335,9399 -static int arcnet_open(349,9867 -static int arcnet_close(437,12014 -static int arcnet_header(456,12380 -static int arcnet_rebuild_header(506,14115 -static int arcnet_send_packet(551,15313 -static int go_tx(621,17182 -static void arcnet_timeout(650,17864 -irqreturn_t arcnet_interrupt(691,18905 -void arcnet_rx(892,24671 -static struct net_device_stats *arcnet_get_stats(956,26442 -static void null_rx(963,26603 -static int null_build_header(972,26848 -static int null_prepare_tx(987,27273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/com20020.c,490 -#define VERSION 42,1179 -static char *clockrates[44,1261 -static void com20020_copy_from_card(60,2014 -static void com20020_copy_to_card(74,2386 -int com20020_check(89,2819 -int com20020_found(155,4426 -static int com20020_reset(235,6534 -static void com20020_setmask(271,7439 -static void com20020_command(278,7557 -static int com20020_status(285,7673 -static void com20020_close(291,7780 -static void com20020_set_mc_list(308,8351 -int init_module(337,9072 -void cleanup_module(343,9145 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/rfc1051.c,291 -#define VERSION 34,995 -struct ArcProto rfc1051_proto 46,1473 -static int __init arcnet_rfc1051_init(56,1633 -static void __exit arcnet_rfc1051_exit(71,1957 -static unsigned short type_trans(86,2260 -static void rx(122,3163 -static int build_header(166,4269 -static int prepare_tx(217,5609 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arcnet/rfc1201.c,359 -#define VERSION 34,988 -struct ArcProto rfc1201_proto 46,1518 -static int __init arcnet_rfc1201_init(57,1747 -static void __exit arcnet_rfc1201_exit(76,2191 -static unsigned short type_trans(89,2470 -static void rx(132,3518 -static int build_header(374,11279 -static void load_pkt(441,13040 -static int prepare_tx(474,13987 -static int continue_tx(510,15023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/acenic.h,6230 -#define _ACENIC_H_2,19 -#define USE_TX_COAL_NOW 11,238 -#define MAX_SKB_FRAGS 14,288 -struct ace_regs ace_regs35,968 -} aceaddr;aceaddr169,2830 -#define ACE_WINDOW_SIZE 172,2843 -#define ACE_JUMBO_MTU 174,2874 -#define ACE_STD_MTU 175,2901 -#define ACE_TRACE_SIZE 177,2927 -#define IN_INT 183,2998 -#define CLR_INT 184,3019 -#define HW_RESET 185,3041 -#define BYTE_SWAP 186,3063 -#define WORD_SWAP 187,3086 -#define MASK_INTS 188,3109 -#define EEPROM_DATA_IN 194,3173 -#define EEPROM_DATA_OUT 195,3206 -#define EEPROM_WRITE_ENABLE 196,3240 -#define EEPROM_CLK_OUT 197,3277 -#define EEPROM_BASE 199,3311 -#define EEPROM_WRITE_SELECT 201,3344 -#define EEPROM_READ_SELECT 202,3377 -#define SRAM_BANK_512K 204,3410 -#define ACE_SHORT_DELAY 210,3497 -#define ACE_LONG_DELAY 211,3524 -#define SYNC_SRAM_TIMING 218,3580 -#define CPU_RESET 225,3643 -#define CPU_TRACE 226,3667 -#define CPU_PROM_FAILED 227,3691 -#define CPU_HALT 228,3721 -#define CPU_HALTED 229,3750 -#define DMA_READ_MAX_4 236,3810 -#define DMA_READ_MAX_16 237,3839 -#define DMA_READ_MAX_32 238,3869 -#define DMA_READ_MAX_64 239,3899 -#define DMA_READ_MAX_128 240,3929 -#define DMA_READ_MAX_256 241,3959 -#define DMA_READ_MAX_1K 242,3989 -#define DMA_WRITE_MAX_4 243,4019 -#define DMA_WRITE_MAX_16 244,4049 -#define DMA_WRITE_MAX_32 245,4079 -#define DMA_WRITE_MAX_64 246,4109 -#define DMA_WRITE_MAX_128 247,4139 -#define DMA_WRITE_MAX_256 248,4170 -#define DMA_WRITE_MAX_1K 249,4201 -#define DMA_READ_WRITE_MASK 250,4231 -#define MEM_READ_MULTIPLE 251,4264 -#define PCI_66MHZ 252,4301 -#define PCI_32BIT 253,4331 -#define DMA_WRITE_ALL_ALIGN 254,4361 -#define READ_CMD_MEM 255,4400 -#define WRITE_CMD_MEM 256,4433 -#define ACE_BYTE_SWAP_BD 263,4492 -#define ACE_WORD_SWAP_BD 264,4522 -#define ACE_WARN 265,4577 -#define ACE_BYTE_SWAP_DMA 266,4600 -#define ACE_NO_JUMBO_FRAG 267,4631 -#define ACE_FATAL 268,4663 -#define DMA_THRESH_1W 275,4717 -#define DMA_THRESH_2W 276,4745 -#define DMA_THRESH_4W 277,4773 -#define DMA_THRESH_8W 278,4801 -#define DMA_THRESH_16W 279,4829 -#define DMA_THRESH_32W 280,4859 -#define TICKS_PER_SEC 287,4958 -#define LNK_PREF 294,5012 -#define LNK_10MB 295,5041 -#define LNK_100MB 296,5070 -#define LNK_1000MB 297,5100 -#define LNK_FULL_DUPLEX 298,5131 -#define LNK_HALF_DUPLEX 299,5167 -#define LNK_TX_FLOW_CTL_Y 300,5203 -#define LNK_NEG_ADVANCED 301,5240 -#define LNK_RX_FLOW_CTL_Y 302,5276 -#define LNK_NIC 303,5313 -#define LNK_JAM 304,5342 -#define LNK_JUMBO 305,5371 -#define LNK_ALTEON 306,5401 -#define LNK_NEG_FCTL 307,5432 -#define LNK_NEGOTIATE 308,5465 -#define LNK_ENABLE 309,5499 -#define LNK_UP 310,5530 -#define EVT_RING_ENTRIES 317,5589 -#define EVT_RING_SIZE 318,5618 -struct event event320,5683 -#define E_FW_RUNNING 338,5858 -#define E_STATS_UPDATED 339,5885 -#define E_STATS_UPDATE 341,5916 -#define E_LNK_STATE 343,5946 -#define E_C_LINK_UP 344,5972 -#define E_C_LINK_DOWN 345,5998 -#define E_C_LINK_10_100 346,6026 -#define E_ERROR 348,6057 -#define E_C_ERR_INVAL_CMD 349,6080 -#define E_C_ERR_UNIMP_CMD 350,6111 -#define E_C_ERR_BAD_CFG 351,6142 -#define E_MCAST_LIST 353,6173 -#define E_C_MCAST_ADDR_ADD 354,6200 -#define E_C_MCAST_ADDR_DEL 355,6232 -#define E_RESET_JUMBO_RNG 357,6265 -#define CMD_RING_ENTRIES 364,6318 -struct cmd cmd366,6347 -#define C_HOST_STATE 379,6488 -#define C_C_STACK_UP 380,6515 -#define C_C_STACK_DOWN 381,6542 -#define C_FDR_FILTERING 383,6572 -#define C_C_FDR_FILT_ENABLE 384,6602 -#define C_C_FDR_FILT_DISABLE 385,6635 -#define C_SET_RX_PRD_IDX 387,6670 -#define C_UPDATE_STATS 388,6700 -#define C_RESET_JUMBO_RNG 389,6729 -#define C_ADD_MULTICAST_ADDR 390,6760 -#define C_DEL_MULTICAST_ADDR 391,6794 -#define C_SET_PROMISC_MODE 393,6829 -#define C_C_PROMISC_ENABLE 394,6861 -#define C_C_PROMISC_DISABLE 395,6893 -#define C_LNK_NEGOTIATION 397,6927 -#define C_C_NEGOTIATE_BOTH 398,6958 -#define C_C_NEGOTIATE_GIG 399,6990 -#define C_C_NEGOTIATE_10_100 400,7021 -#define C_SET_MAC_ADDR 402,7056 -#define C_CLEAR_PROFILE 403,7085 -#define C_SET_MULTICAST_MODE 405,7116 -#define C_C_MCAST_ENABLE 406,7150 -#define C_C_MCAST_DISABLE 407,7180 -#define C_CLEAR_STATS 409,7212 -#define C_SET_RX_JUMBO_PRD_IDX 410,7240 -#define C_REFRESH_STATS 411,7276 -#define BD_FLG_TCP_UDP_SUM 417,7335 -#define BD_FLG_IP_SUM 418,7367 -#define BD_FLG_END 419,7395 -#define BD_FLG_MORE 420,7420 -#define BD_FLG_JUMBO 421,7446 -#define BD_FLG_UCAST 422,7473 -#define BD_FLG_MCAST 423,7500 -#define BD_FLG_BCAST 424,7527 -#define BD_FLG_TYP_MASK 425,7554 -#define BD_FLG_IP_FRAG 426,7584 -#define BD_FLG_IP_FRAG_END 427,7613 -#define BD_FLG_VLAN_TAG 428,7646 -#define BD_FLG_FRAME_ERROR 429,7677 -#define BD_FLG_COAL_NOW 430,7710 -#define BD_FLG_MINI 431,7741 -#define RCB_FLG_TCP_UDP_SUM 437,7806 -#define RCB_FLG_IP_SUM 438,7839 -#define RCB_FLG_NO_PSEUDO_HDR 439,7868 -#define RCB_FLG_VLAN_ASSIST 440,7903 -#define RCB_FLG_COAL_INT_ONLY 441,7936 -#define RCB_FLG_TX_HOST_RING 442,7971 -#define RCB_FLG_IEEE_SNAP_SUM 443,8005 -#define RCB_FLG_EXT_RX_BD 444,8040 -#define RCB_FLG_RNG_DISABLE 445,8072 -#define MAX_TX_RING_ENTRIES 451,8173 -#define TIGON_I_TX_RING_ENTRIES 452,8205 -#define TX_RING_SIZE 453,8241 -#define TX_RING_BASE 454,8310 -struct tx_desc{tx_desc456,8340 -#define RX_STD_RING_ENTRIES 480,8651 -#define RX_STD_RING_SIZE 481,8683 -#define RX_JUMBO_RING_ENTRIES 483,8756 -#define RX_JUMBO_RING_SIZE 484,8790 -#define RX_MINI_RING_ENTRIES 486,8866 -#define RX_MINI_RING_SIZE 487,8900 -#define RX_RETURN_RING_ENTRIES 489,8974 -#define RX_RETURN_RING_SIZE 490,9010 -struct rx_desc{rx_desc493,9100 -struct ring_ctrl ring_ctrl531,9571 -struct ace_mac_stats ace_mac_stats544,9710 -struct ace_info ace_info578,10156 -struct ring_info ring_info596,10514 -struct tx_ring_info tx_ring_info607,10768 - DECLARE_PCI_UNMAP_ADDR(DECLARE_PCI_UNMAP_ADDR609,10813 -struct ace_skbace_skb619,11050 -struct ace_privateace_private638,11670 -#define TX_RESERVED 707,13167 -static inline int tx_space 709,13202 -#define tx_free(tx_free714,13334 -#define tx_ring_full(tx_ring_full717,13420 -#define tx_ring_full 719,13501 -static inline void set_aceaddr(723,13535 -static inline void ace_set_txprd(732,13696 -static inline void ace_mask_irq(751,14168 -static inline void ace_unmask_irq(765,14452 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/b44.c,3805 -#define DRV_MODULE_NAME 29,609 -#define PFX 30,640 -#define DRV_MODULE_VERSION 31,673 -#define DRV_MODULE_RELDATE 32,707 -#define B44_DEF_MSG_ENABLE 34,749 -#define B44_TX_TIMEOUT 47,1080 -#define B44_MIN_MTU 50,1184 -#define B44_MAX_MTU 51,1209 -#define B44_RX_RING_SIZE 53,1237 -#define B44_DEF_RX_RING_PENDING 54,1267 -#define B44_RX_RING_BYTES 55,1304 -#define B44_TX_RING_SIZE 57,1382 -#define B44_DEF_TX_RING_PENDING 58,1412 -#define B44_TX_RING_BYTES 59,1468 -#define B44_DMA_MASK 61,1546 -#define TX_RING_GAP(TX_RING_GAP63,1579 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL65,1644 -#define NEXT_TX(NEXT_TX69,1829 -#define RX_PKT_BUF_SZ 71,1887 -#define TX_PKT_BUF_SZ 72,1938 -#define B44_TX_WAKEUP_THRESH 75,2066 -static char version[77,2120 -static char version[] __devinitdata 77,2120 -static int b44_debug 84,2392 -static struct pci_device_id b44_pci_tbl[89,2610 -static inline unsigned long br32(109,3291 -static inline void bw32(114,3401 -static int b44_wait_bit(120,3524 -#define SB_PCI_DMA 152,4269 -#define BCM4400_PCI_CORE_ADDR 153,4365 -static u32 ssb_get_core_rev(155,4456 -static u32 ssb_pci_setup(160,4558 -static void ssb_core_disable(181,5070 -static void ssb_core_reset(198,5595 -static int ssb_core_unit(224,6242 -static int ssb_is_core_up(249,6592 -static void __b44_cam_write(255,6749 -static inline void __b44_disable_ints(273,7267 -static void b44_disable_ints(278,7351 -static void b44_enable_ints(286,7477 -static int b44_readphy(291,7559 -static int b44_writephy(307,8030 -static int b44_mii_read(325,8754 -static void b44_mii_write(335,8965 -static int b44_phy_reset(342,9129 -static void __b44_set_flow_ctrl(363,9485 -static void b44_set_flow_ctrl(386,10008 -static int b44_setup_phy(412,10720 -static void b44_stats_update(472,12323 -static void b44_link_report(487,12664 -static void b44_check_phy(505,13257 -static void b44_timer(555,14587 -static void b44_tx(571,14844 -static int b44_alloc_rx_skb(607,15819 -static void b44_recycle_rx(674,17538 -static int b44_rx(710,18493 -static int b44_poll(800,20637 -static irqreturn_t b44_interrupt(849,21523 -static void b44_tx_timeout(887,22449 -static int b44_start_xmit(907,22783 -static int b44_change_mtu(967,24408 -static void b44_free_rings(1001,25167 -static void b44_init_rings(1041,26112 -static void b44_free_consistent(1060,26469 -static int b44_alloc_consistent(1091,27199 -static void b44_clear_stats(1130,28114 -static void b44_chip_reset(1142,28410 -static void b44_halt(1188,29560 -static void __b44_set_mac_addr(1195,29670 -static int b44_set_mac_addr(1207,29931 -static void b44_init_hw(1228,30416 -static int b44_open(1263,31505 -/*static*/ void b44_dump_state(1300,32148 -static void b44_poll_controller(1316,32527 -static int b44_close(1324,32679 -static struct net_device_stats *b44_get_stats(1351,33083 -static int __b44_load_mcast(1393,34469 -static void __b44_set_rx_mode(1406,34806 -static void b44_set_rx_mode(1435,35462 -static u32 b44_get_msglevel(1444,35637 -static void b44_set_msglevel(1450,35754 -static void b44_get_drvinfo 1456,35884 -static int b44_nway_reset(1466,36177 -static int b44_get_settings(1486,36542 -static int b44_set_settings(1524,37760 -static void b44_get_ringparam(1575,39115 -static int b44_set_ringparam(1586,39389 -static void b44_get_pauseparam(1613,39971 -static int b44_set_pauseparam(1626,40288 -static struct ethtool_ops b44_ethtool_ops 1658,40960 -static int b44_ioctl(1672,41411 -static int b44_read_eeprom(1686,41738 -static int __devinit b44_get_invariants(1697,41917 -static int __devinit b44_init_one(1732,42668 -static void __devexit b44_remove_one(1890,46475 -static int b44_suspend(1906,46797 -static int b44_resume(1927,47202 -static struct pci_driver b44_driver 1951,47643 -static int __init b44_init(1960,47883 -static void __exit b44_cleanup(1965,47959 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hydra.h,2370 -#define HYDRA_NIC_BASE 51,2361 -#define NIC_CR 55,2415 -#define NIC_PSTART 56,2467 -#define NIC_PSTOP 57,2519 -#define NIC_BNDRY 58,2571 -#define NIC_TSR 59,2623 -#define NIC_TPSR 60,2679 -#define NIC_NCR 61,2740 -#define NIC_TBCR0 62,2801 -#define NIC_FIFO 63,2867 -#define NIC_TBCR1 64,2919 -#define NIC_ISR 65,2985 -#define NIC_RBCR0 66,3044 -#define NIC_RBCR1 67,3108 -#define NIC_RSR 68,3172 -#define NIC_RCR 69,3228 -#define NIC_CNTR0 70,3284 -#define NIC_TCR 71,3352 -#define NIC_CNTR1 72,3410 -#define NIC_DCR 73,3468 -#define NIC_CNTR2 74,3521 -#define NIC_IMR 75,3583 -#define NIC_PAR0 79,3669 -#define NIC_PAR1 80,3719 -#define NIC_PAR2 81,3744 -#define NIC_PAR3 82,3769 -#define NIC_PAR4 83,3794 -#define NIC_PAR5 84,3819 -#define NIC_CURR 85,3844 -#define NIC_MAR0 86,3905 -#define NIC_MAR1 87,3956 -#define NIC_MAR2 88,3981 -#define NIC_MAR3 89,4008 -#define NIC_MAR4 90,4035 -#define NIC_MAR5 91,4062 -#define NIC_MAR6 92,4089 -#define NIC_MAR7 93,4116 -#define CR_STOP 97,4180 -#define CR_START 98,4240 -#define CR_TXP 99,4275 -#define CR_RD0 101,4320 -#define CR_RD1 102,4364 -#define CR_RD2 103,4387 -#define CR_NODMA 105,4411 -#define CR_PS0 107,4437 -#define CR_PS1 108,4478 -#define CR_PAGE0 110,4502 -#define CR_PAGE1 111,4522 -#define CR_PAGE2 112,4547 -#define ISR_PRX 116,4614 -#define ISR_PTX 117,4674 -#define ISR_RXE 118,4737 -#define ISR_TXE 119,4781 -#define ISR_OVW 120,4825 -#define ISR_CNT 121,4874 -#define ISR_RDC 122,4923 -#define ISR_RST 123,4971 -#define DCR_WTS 127,5055 -#define DCR_BOS 128,5106 -#define DCR_LAS 129,5157 -#define DCR_LS 130,5208 -#define DCR_AR 131,5259 -#define DCR_FT0 132,5310 -#define DCR_FT1 133,5361 -#define TCR_CRC 137,5425 -#define TCR_LB0 138,5465 -#define TCR_LB1 139,5510 -#define TCR_ATD 140,5532 -#define TCR_OFST 141,5582 -#define TSR_PTX 145,5675 -#define TSR_COL 146,5722 -#define TSR_ABT 147,5768 -#define TSR_CRS 148,5813 -#define TSR_FU 149,5860 -#define TSR_CDH 150,5902 -#define TSR_OWC 151,5943 -#define RCR_SEP 155,6040 -#define RCR_AR 156,6089 -#define RCR_AB 157,6137 -#define RCR_AM 158,6182 -#define RCR_PRO 159,6227 -#define RCR_MON 160,6272 -#define RSR_PRX 164,6358 -#define RSR_CRC 165,6416 -#define RSR_FAE 166,6454 -#define RSR_FO 167,6504 -#define RSR_MPA 168,6545 -#define RSR_PHY 169,6587 -#define RSR_DIS 170,6632 -#define RSR_DFR 171,6678 -#define HYDRA_ADDRPROM 175,6771 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gianfar_ethtool.c,880 -#define is_power_of_2(is_power_of_245,1051 -static char stat_gstrings[60,1840 -void gfar_fill_stats(125,3452 -int gfar_stats_count(143,3963 -void gfar_gstrings_normon(148,4037 -void gfar_fill_stats_normon(153,4186 -int gfar_stats_count_normon(166,4456 -void gfar_gdrvinfo(171,4600 -int gfar_gsettings(185,5100 -int gfar_reglen(217,6108 -void gfar_get_regs(223,6230 -void gfar_gstrings(236,6594 -static unsigned int gfar_usecs2ticks(243,6852 -static unsigned int gfar_ticks2usecs(267,7375 -int gfar_gcoalesce(292,7919 -int gfar_scoalesce(338,9325 -void gfar_gringparam(380,10504 -int gfar_sringparam(402,11345 -struct ethtool_ops gfar_ethtool_ops 464,12920 -struct ethtool_ops gfar_normon_nocoalesce_ethtool_ops 479,13364 -struct ethtool_ops gfar_nocoalesce_ethtool_ops 492,13781 -struct ethtool_ops gfar_normon_ethtool_ops 505,14170 -struct ethtool_ops *gfar_op_array[520,14642 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tun.c,1033 -#define TUN_VER 23,784 -static int debug;49,1373 -static int tun_net_open(57,1496 -static int tun_net_close(64,1609 -static int tun_net_xmit(71,1726 -static void tun_net_mclist(107,2613 -static struct net_device_stats *tun_net_stats(114,2756 -static void tun_net_init(121,2925 -static unsigned int tun_chr_poll(154,3640 -static __inline__ ssize_t tun_get_user(173,4055 -static inline size_t iov_total(218,5005 -static ssize_t tun_chr_writev(230,5208 -static ssize_t tun_chr_write(244,5557 -static __inline__ ssize_t tun_put_user(252,5808 -static ssize_t tun_chr_readv(285,6468 -static ssize_t tun_chr_read(336,7472 -static void tun_setup(343,7656 -static struct tun_struct *tun_get_by_name(360,8028 -static int tun_set_iff(373,8268 -static int tun_chr_ioctl(456,9826 -static int tun_chr_fasync(529,11218 -static int tun_chr_open(553,11668 -static int tun_chr_close(560,11818 -static struct file_operations tun_fops 590,12321 -static struct miscdevice tun_miscdev 604,12640 -int __init tun_init(611,12768 -void tun_cleanup(624,13055 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sb1000.c,1483 -static char version[35,1009 -int sb1000_debug 60,1675 -int sb1000_debug 62,1714 -static const int SB1000_IO_EXTENT 65,1744 -static const int SB1000_MRU 67,1817 -#define NPIDS 69,1868 -struct sb1000_private sb1000_private70,1884 -static const struct pnp_device_id sb1000_pnp_ids[134,4697 -sb1000_probe_one(141,4839 -sb1000_remove_one(233,7079 -static struct pnp_driver sb1000_driver 243,7292 -const int TimeOutJiffies 255,7530 -static inline void nicedelay(257,7576 -card_wait_for_busy_clear(266,7787 -card_wait_for_ready(290,8288 -card_send_command(321,9003 -const int Sb1000TimeOutJiffies 366,10230 -sb1000_wait_for_ready(370,10345 -sb1000_wait_for_ready_clear(396,10987 -sb1000_send_command(421,11616 -sb1000_read_status(438,12130 -sb1000_issue_read_command(450,12421 -sb1000_reset(466,12784 -sb1000_check_CRC(495,13336 -sb1000_start_get_set_command(511,13717 -sb1000_end_get_set_command(520,13958 -sb1000_activate(533,14363 -sb1000_get_firmware_version(556,15027 -sb1000_get_frequency(579,15606 -sb1000_set_frequency(596,16126 -sb1000_get_PIDs(626,17013 -sb1000_set_PIDs(660,18040 -sb1000_print_status_buffer(710,19365 -sb1000_rx(741,20355 -#define FRAMESIZE 744,20392 -sb1000_error_dpc(904,25136 -sb1000_open(932,25814 -static int sb1000_dev_ioctl(995,27530 -sb1000_start_xmit(1081,29847 -static irqreturn_t sb1000_interrupt(1090,30078 -static struct net_device_stats *sb1000_stats(1150,31720 -static int sb1000_close(1156,31861 -sb1000_init(1190,32664 -sb1000_exit(1196,32751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_mal.c,577 -static rwlock_t mal_list_lock 36,1010 -int mal_register_commac(38,1061 -int mal_unregister_commac(61,1631 -int mal_set_rcbs(77,1966 -static irqreturn_t mal_serr(105,2433 -static irqreturn_t mal_txeob(129,3063 -static irqreturn_t mal_rxeob(151,3592 -static irqreturn_t mal_txde(173,4121 -static irqreturn_t mal_rxde(207,5179 -static int __init mal_probe(238,5911 -static void __exit mal_remove(401,10638 -static struct ocp_device_id mal_ids[431,11454 -static struct ocp_driver mal_driver 436,11582 -static int __init init_mals(444,11709 -static void __exit exit_mals(457,11884 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_debug.c,205 -void emac_phy_dump(27,709 -void emac_desc_dump(42,1053 -void emac_mac_dump(59,1567 -void emac_mal_dump(78,2450 -void emac_serr_dump_0(127,4679 -void emac_serr_dump_1(158,5751 -void emac_err_dump(176,6425 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_rgmii.h,823 -#define _IBM_EMAC_RGMII_H_17,501 -typedef struct rgmii_regs rgmii_regs22,575 -} rgmii_t;rgmii_t25,684 -#define RGMII_INPUTS 27,696 -struct ibm_ocp_rgmii ibm_ocp_rgmii30,741 -#define RGMII_FER_MASK(RGMII_FER_MASK37,905 -#define RGMII_RTBI 38,954 -#define RGMII_RGMII 39,986 -#define RGMII_TBI 40,1019 -#define RGMII_GMII 41,1052 -#define RGMII_SP2_100 45,1113 -#define RGMII_SP2_1000 46,1146 -#define RGMII_SP3_100 47,1180 -#define RGMII_SP3_1000 48,1213 -#define RGMII_MII2_SPDMASK 50,1248 -#define RGMII_MII3_SPDMASK 51,1287 -#define RGMII_MII2_100MB 53,1327 -#define RGMII_MII2_1000MB 54,1385 -#define RGMII_MII2_10MB 55,1445 -#define RGMII_MII3_100MB 56,1505 -#define RGMII_MII3_1000MB 57,1563 -#define RGMII_MII3_10MB 58,1623 -#define RTBI 60,1684 -#define RGMII 61,1700 -#define TBI 62,1717 -#define GMII 63,1732 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_tah.h,578 -#define _IBM_EMAC_TAH_H14,412 -typedef struct tah_regs tah_regs17,447 -} tah_t;tah_t28,619 -#define TAH_MR_CVR 31,646 -#define TAH_MR_SR 32,678 -#define TAH_MR_ST_256 33,709 -#define TAH_MR_ST_512 34,744 -#define TAH_MR_ST_768 35,779 -#define TAH_MR_ST_1024 36,814 -#define TAH_MR_ST_1280 37,850 -#define TAH_MR_ST_1536 38,886 -#define TAH_MR_TFS_16KB 39,922 -#define TAH_MR_TFS_2KB 40,959 -#define TAH_MR_TFS_4KB 41,995 -#define TAH_MR_TFS_6KB 42,1031 -#define TAH_MR_TFS_8KB 43,1067 -#define TAH_MR_TFS_10KB 44,1103 -#define TAH_MR_DTFP 45,1140 -#define TAH_MR_DIG 46,1173 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_zmii.h,1338 -#define _IBM_EMAC_ZMII_H_18,453 -struct zmii_regs zmii_regs23,535 -#define ZMII_INPUTS 29,665 -struct ibm_ocp_zmii ibm_ocp_zmii32,706 -#define ZMII_FER_MASK(ZMII_FER_MASK40,867 -#define ZMII_MDI0 42,915 -#define ZMII_SMII0 43,944 -#define ZMII_RMII0 44,974 -#define ZMII_MII0 45,1004 -#define ZMII_MDI1 46,1033 -#define ZMII_SMII1 47,1062 -#define ZMII_RMII1 48,1092 -#define ZMII_MII1 49,1122 -#define ZMII_MDI2 50,1151 -#define ZMII_SMII2 51,1180 -#define ZMII_RMII2 52,1210 -#define ZMII_MII2 53,1240 -#define ZMII_MDI3 54,1269 -#define ZMII_SMII3 55,1298 -#define ZMII_RMII3 56,1328 -#define ZMII_MII3 57,1358 -#define ZMII_SCI0 61,1415 -#define ZMII_FSS0 62,1444 -#define ZMII_SP0 63,1473 -#define ZMII_SCI1 64,1501 -#define ZMII_FSS1 65,1530 -#define ZMII_SP1 66,1559 -#define ZMII_SCI2 67,1587 -#define ZMII_FSS2 68,1616 -#define ZMII_SP2 69,1645 -#define ZMII_SCI3 70,1673 -#define ZMII_FSS3 71,1702 -#define ZMII_SP3 72,1731 -#define ZMII_MII0_100MB 74,1760 -#define ZMII_MII0_10MB 75,1793 -#define ZMII_MII1_100MB 76,1826 -#define ZMII_MII1_10MB 77,1859 -#define ZMII_MII2_100MB 78,1892 -#define ZMII_MII2_10MB 79,1925 -#define ZMII_MII3_100MB 80,1958 -#define ZMII_MII3_10MB 81,1991 -#define ZMII_STS0 85,2048 -#define ZMII_STS1 86,2106 -#define SMII 88,2165 -#define RMII 89,2180 -#define MII 90,2195 -#define MDI 91,2209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac.h,5672 -#define _IBM_EMAC_H_17,414 -typedef struct emac_regs emac_regs21,491 -} emac_t;emac_t48,888 -#define EMAC_M0_RXI 51,916 -#define EMAC_M0_TXI 52,949 -#define EMAC_M0_SRST 53,982 -#define EMAC_M0_TXE 54,1016 -#define EMAC_M0_RXE 55,1049 -#define EMAC_M0_WKE 56,1082 -#define EMAC_M1_FDE 59,1133 -#define EMAC_M1_ILE 60,1166 -#define EMAC_M1_VLE 61,1199 -#define EMAC_M1_EIFC 62,1232 -#define EMAC_M1_APP 63,1266 -#define EMAC_M1_AEMI 64,1299 -#define EMAC_M1_IST 65,1333 -#define EMAC_M1_MF_1000GPCS 66,1366 -#define EMAC_M1_MF_1000MBPS 67,1426 -#define EMAC_M1_MF_100MBPS 68,1486 -#define EMAC_M1_RFS_16K 69,1525 -#define EMAC_M1_TR 70,1599 -#define EMAC_M1_RFS_8K 72,1655 -#define EMAC_M1_RFS_4K 73,1706 -#define EMAC_M1_RFS_2K 74,1757 -#define EMAC_M1_RFS_1K 75,1808 -#define EMAC_M1_TX_FIFO_16K 76,1859 -#define EMAC_M1_TX_FIFO_8K 77,1933 -#define EMAC_M1_TX_FIFO_4K 78,1984 -#define EMAC_M1_TX_FIFO_2K 79,2035 -#define EMAC_M1_TX_FIFO_1K 80,2086 -#define EMAC_M1_TX_TR 81,2137 -#define EMAC_M1_TX_MWSW 82,2188 -#define EMAC_M1_JUMBO_ENABLE 83,2263 -#define EMAC_M1_OPB_CLK_66 84,2338 -#define EMAC_M1_OPB_CLK_83 85,2401 -#define EMAC_M1_OPB_CLK_100 86,2464 -#define EMAC_M1_OPB_CLK_100P 87,2528 -#define EMAC_M1_RFS_4K 89,2625 -#define EMAC_M1_RFS_2K 90,2684 -#define EMAC_M1_RFS_1K 91,2720 -#define EMAC_M1_TX_FIFO_2K 92,2756 -#define EMAC_M1_TX_FIFO_1K 93,2818 -#define EMAC_M1_TR0_DEPEND 94,2857 -#define EMAC_M1_TR1_DEPEND 95,2924 -#define EMAC_M1_TR1_MULTI 96,2963 -#define EMAC_M1_JUMBO_ENABLE 97,3001 -#define EMAC_M1_BASE 99,3075 -#define EMAC_TMR0_GNP0 104,3192 -#define EMAC_TMR0_GNP1 105,3228 -#define EMAC_TMR0_GNPD 106,3264 -#define EMAC_TMR0_FC 107,3300 -#define EMAC_TMR0_TFAE_2_32 108,3334 -#define EMAC_TMR0_TFAE_4_64 109,3374 -#define EMAC_TMR0_TFAE_8_128 110,3414 -#define EMAC_TMR0_TFAE_16_256 111,3455 -#define EMAC_TMR0_TFAE_32_512 112,3497 -#define EMAC_TMR0_TFAE_64_1024 113,3539 -#define EMAC_TMR0_TFAE_128_2048 114,3582 -#define EMAC_RMR_SP 117,3655 -#define EMAC_RMR_SFCS 118,3688 -#define EMAC_RMR_ARRP 119,3723 -#define EMAC_RMR_ARP 120,3758 -#define EMAC_RMR_AROP 121,3792 -#define EMAC_RMR_ARPI 122,3827 -#define EMAC_RMR_PPP 123,3862 -#define EMAC_RMR_PME 124,3896 -#define EMAC_RMR_PMME 125,3930 -#define EMAC_RMR_IAE 126,3965 -#define EMAC_RMR_MIAE 127,3999 -#define EMAC_RMR_BAE 128,4034 -#define EMAC_RMR_MAE 129,4068 -#define EMAC_RMR_RFAF_2_32 130,4102 -#define EMAC_RMR_RFAF_4_64 131,4141 -#define EMAC_RMR_RFAF_8_128 132,4180 -#define EMAC_RMR_RFAF_16_256 133,4220 -#define EMAC_RMR_RFAF_32_512 134,4261 -#define EMAC_RMR_RFAF_64_1024 135,4302 -#define EMAC_RMR_RFAF_128_2048 136,4344 -#define EMAC_RMR_BASE 137,4387 -#define EMAC_ISR_OVR 140,4479 -#define EMAC_ISR_PP 141,4513 -#define EMAC_ISR_BP 142,4546 -#define EMAC_ISR_RP 143,4579 -#define EMAC_ISR_SE 144,4612 -#define EMAC_ISR_ALE 145,4645 -#define EMAC_ISR_BFCS 146,4679 -#define EMAC_ISR_PTLE 147,4714 -#define EMAC_ISR_ORE 148,4749 -#define EMAC_ISR_IRE 149,4783 -#define EMAC_ISR_DBDM 150,4817 -#define EMAC_ISR_DB0 151,4852 -#define EMAC_ISR_SE0 152,4886 -#define EMAC_ISR_TE0 153,4920 -#define EMAC_ISR_DB1 154,4954 -#define EMAC_ISR_SE1 155,4988 -#define EMAC_ISR_TE1 156,5022 -#define EMAC_ISR_MOS 157,5056 -#define EMAC_ISR_MOF 158,5090 -#define EMAC_STACR_OC 161,5147 -#define EMAC_STACR_PHYE 162,5182 -#define EMAC_STACR_WRITE 163,5219 -#define EMAC_STACR_READ 164,5256 -#define EMAC_STACR_CLK_83MHZ 165,5293 -#define EMAC_STACR_CLK_66MHZ 166,5354 -#define EMAC_STACR_CLK_100MHZ 167,5395 -#define EMAC_TRTR_1600 170,5480 -#define EMAC_TRTR_1024 171,5539 -#define EMAC_TRTR_512 172,5575 -#define EMAC_TRTR_256 173,5610 -#define EMAC_TRTR_192 174,5645 -#define EMAC_TRTR_128 175,5680 -#define EMAC_TX_CTRL_GFCS 177,5716 -#define EMAC_TX_CTRL_GP 178,5750 -#define EMAC_TX_CTRL_ISA 179,5783 -#define EMAC_TX_CTRL_RSA 180,5816 -#define EMAC_TX_CTRL_IVT 181,5849 -#define EMAC_TX_CTRL_RVT 182,5882 -#define EMAC_TX_CTRL_TAH_CSUM 183,5915 -#define EMAC_TX_CTRL_TAH_SEG4 184,5968 -#define EMAC_TX_CTRL_TAH_SEG3 185,6021 -#define EMAC_TX_CTRL_TAH_SEG2 186,6074 -#define EMAC_TX_CTRL_TAH_SEG1 187,6127 -#define EMAC_TX_CTRL_TAH_SEG0 188,6180 -#define EMAC_TX_CTRL_TAH_DIS 189,6233 -#define EMAC_TX_CTRL_DFLT 191,6286 -#define EMAC_TX_ST_BFCS 195,6419 -#define EMAC_TX_ST_BPP 196,6452 -#define EMAC_TX_ST_LCS 197,6484 -#define EMAC_TX_ST_ED 198,6516 -#define EMAC_TX_ST_EC 199,6547 -#define EMAC_TX_ST_LC 200,6578 -#define EMAC_TX_ST_MC 201,6609 -#define EMAC_TX_ST_SC 202,6640 -#define EMAC_TX_ST_UR 203,6671 -#define EMAC_TX_ST_SQE 204,6702 -#define EMAC_RX_ST_OE 207,6778 -#define EMAC_RX_ST_PP 208,6809 -#define EMAC_RX_ST_BP 209,6840 -#define EMAC_RX_ST_RP 210,6871 -#define EMAC_RX_ST_SE 211,6902 -#define EMAC_RX_ST_AE 212,6933 -#define EMAC_RX_ST_BFCS 213,6964 -#define EMAC_RX_ST_PTL 214,6997 -#define EMAC_RX_ST_ORE 215,7029 -#define EMAC_RX_ST_IRE 216,7061 -#define EMAC_BAD_RX_PACKET 217,7093 -#define EMAC_CSUM_VER_ERROR 218,7128 -#define EMAC_IS_BAD_RX_PACKET(EMAC_IS_BAD_RX_PACKET222,7247 -#define EMAC_IS_BAD_RX_PACKET(EMAC_IS_BAD_RX_PACKET227,7459 -#define EMAC_RWMR_DEFAULT 233,7618 -#define EMAC_TMR0_DEFAULT 234,7656 -#define EMAC_TMR1_DEFAULT 235,7694 -#define EMAC_RWMR_DEFAULT 237,7760 -#define EMAC_TMR0_DEFAULT 238,7798 -#define EMAC_TMR1_DEFAULT 239,7845 -#define EMAC_RWMR_DEFAULT 241,7889 -#define EMAC_TMR0_DEFAULT 242,7927 -#define EMAC_TMR1_DEFAULT 243,7965 -#define EMAC_M1_DEFAULT 248,8104 -#define EMAC_RMR_DEFAULT 251,8198 -#define EMAC_TMR0_XMIT 253,8272 -#define EMAC_TRTR_DEFAULT 255,8341 -#define EMAC_M1_DEFAULT 257,8416 -#define EMAC_RMR_DEFAULT 258,8455 -#define EMAC_TMR0_XMIT 259,8495 -#define EMAC_TRTR_DEFAULT 260,8535 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_mal.h,1312 -#define _IBM_EMAC_MAL_H2,24 -#define MAL_DT_ALIGN 6,74 -#define MAL_CHAN_MASK(MAL_CHAN_MASK8,155 -struct mal_descriptor mal_descriptor11,245 -#define MAL_RX_CTRL_EMPTY 19,613 -#define MAL_RX_CTRL_WRAP 20,647 -#define MAL_RX_CTRL_CM 21,680 -#define MAL_RX_CTRL_LAST 22,712 -#define MAL_RX_CTRL_FIRST 23,745 -#define MAL_RX_CTRL_INTR 24,779 -#define MAL_TX_CTRL_READY 26,813 -#define MAL_TX_CTRL_WRAP 27,847 -#define MAL_TX_CTRL_CM 28,880 -#define MAL_TX_CTRL_LAST 29,912 -#define MAL_TX_CTRL_INTR 30,945 -struct mal_commac_ops mal_commac_ops32,979 -struct mal_commac mal_commac39,1173 -struct ibm_ocp_mal ibm_ocp_mal46,1295 -#define GET_MAL_STANZA(GET_MAL_STANZA59,1524 -#define SET_MAL_STANZA(SET_MAL_STANZA64,1611 -#define GET_MAL0_STANZA(GET_MAL0_STANZA69,1706 -#define SET_MAL0_STANZA(SET_MAL0_STANZA70,1771 -#define GET_MAL1_STANZA(GET_MAL1_STANZA73,1867 -#define SET_MAL1_STANZA(SET_MAL1_STANZA74,1933 -#define GET_MAL1_STANZA(GET_MAL1_STANZA76,2039 -#define SET_MAL1_STANZA(SET_MAL1_STANZA77,2069 -#define get_mal_dcrn(get_mal_dcrn80,2111 -#define set_mal_dcrn(set_mal_dcrn90,2274 -static inline void mal_enable_tx_channels(98,2446 -static inline void mal_disable_tx_channels(104,2621 -static inline void mal_enable_rx_channels(110,2762 -static inline void mal_disable_rx_channels(116,2937 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_phy.c,775 -static int reset_one_mii_phy(30,634 -static int cis8201_init(54,1117 -static int genmii_setup_aneg(81,1551 -static int genmii_setup_forced(112,2335 -static int genmii_poll_link(145,2926 -#define MII_CIS8201_ACSR 158,3183 -#define ACSR_DUPLEX_STATUS 159,3213 -#define ACSR_SPEED_1000BASET 160,3248 -#define ACSR_SPEED_100BASET 161,3285 -static int cis8201_read_link(163,3322 -static int genmii_read_link(189,3883 -#define MII_BASIC_FEATURES 213,4374 -#define MII_GBIT_FEATURES 216,4568 -static struct mii_phy_ops cis8201_phy_ops 220,4699 -static struct mii_phy_ops generic_phy_ops 229,4943 -static struct mii_phy_def cis8201_phy_def 236,5116 -static struct mii_phy_def genmii_phy_def 245,5311 -static struct mii_phy_def *mii_phy_table[254,5493 -int mii_phy_probe(260,5587 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_phy.h,772 -#define _IBM_EMAC_PHY_H_36,1541 -#define PHY_MODE_NA 42,1631 -#define PHY_MODE_MII 43,1653 -#define PHY_MODE_RMII 44,1676 -#define PHY_MODE_SMII 45,1700 -#define PHY_MODE_RGMII 46,1724 -#define PHY_MODE_TBI 47,1749 -#define PHY_MODE_GMII 48,1772 -#define PHY_MODE_RTBI 49,1796 -#define PHY_MODE_SGMII 50,1820 -#define MII_CIS8201_EPCR 57,1901 -#define EPCR_MODE_MASK 58,1931 -#define EPCR_GMII_MODE 59,1962 -#define EPCR_RGMII_MODE 60,1993 -#define EPCR_TBI_MODE 61,2025 -#define EPCR_RTBI_MODE 62,2055 -struct mii_phy_ops mii_phy_ops67,2150 -struct mii_phy_def mii_phy_def77,2538 -struct mii_phy mii_phy87,2877 -static inline int __phy_read(117,3565 -static inline void __phy_write(122,3680 -static inline int phy_read(127,3805 -static inline void phy_write(132,3919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_core.h,1127 -#define _IBM_EMAC_CORE_H_23,589 -#define NUM_TX_BUFF 37,895 -#define NUM_RX_BUFF 38,919 -#define NUM_TX_BUFF 40,949 -#define NUM_RX_BUFF 41,990 -#define SKB_RES 50,1264 -#define SKB_RES 52,1288 -#define MAX_NUM_BUF_DESC 62,1693 -#define DESC_BUF_SIZE 63,1722 -#define DESC_BUF_SIZE_REG 64,1768 -#define TX_TIMEOUT 67,1843 -#define MDIO_DELAY 70,1896 -#define IBM_CPM_EMMII 73,1959 -#define IBM_CPM_EMRX 74,2009 -#define IBM_CPM_EMTX 75,2059 -#define IBM_CPM_EMAC(IBM_CPM_EMAC76,2108 -#define ENET_HEADER_SIZE 78,2200 -#define ENET_FCS_SIZE 79,2228 -#define ENET_DEF_MTU_SIZE 80,2253 -#define ENET_DEF_BUF_SIZE 81,2284 -#define EMAC_MIN_FRAME 82,2365 -#define EMAC_MAX_FRAME 83,2392 -#define EMAC_MIN_MTU 84,2421 -#define EMAC_MAX_MTU 85,2495 -#define emac_serr_dump_0(emac_serr_dump_096,2921 -#define emac_serr_dump_1(emac_serr_dump_197,2968 -#define emac_err_dump(emac_err_dump98,3015 -#define emac_phy_dump(emac_phy_dump99,3061 -#define emac_desc_dump(emac_desc_dump100,3105 -#define emac_mac_dump(emac_mac_dump101,3150 -#define emac_mal_dump(emac_mal_dump102,3194 -struct ocp_enet_private ocp_enet_private105,3246 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibm_emac/ibm_emac_core.c,2596 -#define MDIO_DEBUG(MDIO_DEBUG60,1691 -#define LINK_DEBUG(LINK_DEBUG63,1753 -#define PKT_DEBUG(PKT_DEBUG66,1814 -#define DRV_NAME 68,1838 -#define DRV_VERSION 69,1869 -#define DRV_AUTHOR 70,1899 -#define DRV_DESC 71,1975 -static int skb_res 84,2304 -#define RGMII_PRIV(RGMII_PRIV91,2594 -static unsigned int rgmii_enable[93,2671 -static unsigned int rgmii_speed_mask[100,2765 -static unsigned int rgmii_speed100[105,2853 -static unsigned int rgmii_speed1000[110,2935 -#define ZMII_PRIV(ZMII_PRIV115,3020 -static unsigned int zmii_enable[117,3095 -static unsigned int mdi_enable[127,3449 -static unsigned int zmii_speed 134,3537 -static unsigned int zmii_speed100[135,3575 -static u32 busy_phy_map 146,3861 -static struct net_device *mdio_ndev 149,3952 -struct emac_def_dev emac_def_dev151,3997 -static struct net_device_stats *emac_stats(157,4101 -emac_init_rgmii(164,4249 -emac_rgmii_port_speed(244,5943 -static void emac_close_rgmii(261,6354 -static int emac_init_zmii(273,6613 -static void emac_enable_zmii_port(343,8137 -emac_zmii_port_speed(355,8495 -static void emac_close_zmii(367,8763 -int emac_phy_read(379,9013 -void emac_phy_write(439,10479 -static void emac_txeob_dev(492,11892 -static void emac_rx_fill(538,13194 -emac_rx_csum(599,15082 -static int emac_rx_clean(621,15614 -static void emac_rxeob_dev(776,19736 -static void emac_txde_dev(793,20151 -static void emac_rxde_dev(816,20939 -emac_mac_irq(857,21994 -static int emac_start_xmit(897,23030 -static int emac_adjust_to_link(1021,26036 -static int emac_set_mac_address(1093,28020 -static int emac_change_mtu(1116,28629 -static void __emac_set_multicast_list(1181,30267 -static int emac_init_tah(1223,31488 -static void emac_init_rings(1252,32137 -static void emac_reset_configure(1300,33490 -static void emac_kick(1370,35376 -emac_start_link(1390,35962 -static void emac_link_timer(1433,37171 -static void emac_set_multicast_list(1471,38153 -static int emac_get_settings(1480,38353 -static int emac_set_settings(1496,38799 -emac_get_drvinfo(1547,40275 -static int emac_nway_reset(1558,40586 -static u32 emac_get_link(1570,40829 -static struct ethtool_ops emac_ethtool_ops 1575,40916 -static int emac_ioctl(1583,41132 -static int emac_open(1606,41647 -static int emac_close(1637,42268 -static void emac_remove(1675,43233 -struct mal_commac_ops emac_commac_ops 1695,43725 -static int emac_init_device(1702,43875 -static int emac_probe(1907,49491 -static struct ocp_device_id emac_ids[1955,50817 -static struct ocp_driver emac_driver 1960,50947 -static int __init emac_init(1968,51079 -static void __exit emac_exit(1982,51408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunqe.h,8320 -#define _SUNQE_H8,200 -#define GLOB_CTRL 11,246 -#define GLOB_STAT 12,288 -#define GLOB_PSIZE 13,329 -#define GLOB_MSIZE 14,376 -#define GLOB_RSIZE 15,428 -#define GLOB_TSIZE 16,484 -#define GLOB_REG_SIZE 17,541 -#define GLOB_CTRL_MMODE 19,571 -#define GLOB_CTRL_BMODE 20,643 -#define GLOB_CTRL_EPAR 21,715 -#define GLOB_CTRL_ACNTRL 22,787 -#define GLOB_CTRL_B64 23,859 -#define GLOB_CTRL_B32 24,931 -#define GLOB_CTRL_B16 25,1003 -#define GLOB_CTRL_RESET 26,1075 -#define GLOB_STAT_TX 28,1148 -#define GLOB_STAT_RX 29,1220 -#define GLOB_STAT_BM 30,1292 -#define GLOB_STAT_ER 31,1364 -#define GLOB_PSIZE_2048 33,1437 -#define GLOB_PSIZE_4096 34,1509 -#define GLOB_PSIZE_6144 35,1581 -#define GLOB_PSIZE_8192 36,1653 -#define GLOB_STAT_PER_QE(GLOB_STAT_PER_QE42,1889 -#define CREG_CTRL 45,2043 -#define CREG_STAT 46,2100 -#define CREG_RXDS 47,2157 -#define CREG_TXDS 48,2214 -#define CREG_RIMASK 49,2271 -#define CREG_TIMASK 50,2330 -#define CREG_QMASK 51,2389 -#define CREG_MMASK 52,2447 -#define CREG_RXWBUFPTR 53,2505 -#define CREG_RXRBUFPTR 54,2567 -#define CREG_TXWBUFPTR 55,2629 -#define CREG_TXRBUFPTR 56,2691 -#define CREG_CCNT 57,2753 -#define CREG_PIPG 58,2810 -#define CREG_REG_SIZE 59,2867 -#define CREG_CTRL_RXOFF 61,2897 -#define CREG_CTRL_RESET 62,2971 -#define CREG_CTRL_TWAKEUP 63,3045 -#define CREG_STAT_EDEFER 65,3120 -#define CREG_STAT_CLOSS 66,3194 -#define CREG_STAT_ERETRIES 67,3268 -#define CREG_STAT_LCOLL 68,3342 -#define CREG_STAT_FUFLOW 69,3416 -#define CREG_STAT_JERROR 70,3490 -#define CREG_STAT_BERROR 71,3564 -#define CREG_STAT_TXIRQ 72,3638 -#define CREG_STAT_CCOFLOW 73,3712 -#define CREG_STAT_TXDERROR 74,3786 -#define CREG_STAT_TXLERR 75,3860 -#define CREG_STAT_TXPERR 76,3934 -#define CREG_STAT_TXSERR 77,4008 -#define CREG_STAT_RCCOFLOW 78,4082 -#define CREG_STAT_RUOFLOW 79,4156 -#define CREG_STAT_MCOFLOW 80,4230 -#define CREG_STAT_RXFOFLOW 81,4304 -#define CREG_STAT_RLCOLL 82,4378 -#define CREG_STAT_FCOFLOW 83,4452 -#define CREG_STAT_CECOFLOW 84,4526 -#define CREG_STAT_RXIRQ 85,4600 -#define CREG_STAT_RXDROP 86,4674 -#define CREG_STAT_RXSMALL 87,4748 -#define CREG_STAT_RXLERR 88,4822 -#define CREG_STAT_RXPERR 89,4896 -#define CREG_STAT_RXSERR 90,4970 -#define CREG_STAT_ERRORS 92,5045 -#define CREG_QMASK_COFLOW 101,5611 -#define CREG_QMASK_TXDERROR 102,5685 -#define CREG_QMASK_TXLERR 103,5759 -#define CREG_QMASK_TXPERR 104,5833 -#define CREG_QMASK_TXSERR 105,5907 -#define CREG_QMASK_RXDROP 106,5981 -#define CREG_QMASK_RXBERROR 107,6055 -#define CREG_QMASK_RXLEERR 108,6129 -#define CREG_QMASK_RXPERR 109,6203 -#define CREG_QMASK_RXSERR 110,6277 -#define CREG_MMASK_EDEFER 112,6352 -#define CREG_MMASK_CLOSS 113,6426 -#define CREG_MMASK_ERETRY 114,6500 -#define CREG_MMASK_LCOLL 115,6574 -#define CREG_MMASK_UFLOW 116,6648 -#define CREG_MMASK_JABBER 117,6722 -#define CREG_MMASK_BABBLE 118,6796 -#define CREG_MMASK_OFLOW 119,6870 -#define CREG_MMASK_RXCOLL 120,6944 -#define CREG_MMASK_RPKT 121,7018 -#define CREG_MMASK_MPKT 122,7092 -#define CREG_PIPG_TENAB 124,7167 -#define CREG_PIPG_MMODE 125,7241 -#define CREG_PIPG_WMASK 126,7315 -#define MREGS_RXFIFO 129,7435 -#define MREGS_TXFIFO 130,7500 -#define MREGS_TXFCNTL 131,7565 -#define MREGS_TXFSTAT 132,7631 -#define MREGS_TXRCNT 133,7697 -#define MREGS_RXFCNTL 134,7762 -#define MREGS_RXFSTAT 135,7828 -#define MREGS_FFCNT 136,7894 -#define MREGS_IREG 137,7958 -#define MREGS_IMASK 138,8021 -#define MREGS_POLL 139,8085 -#define MREGS_BCONFIG 140,8148 -#define MREGS_FCONFIG 141,8214 -#define MREGS_MCONFIG 142,8280 -#define MREGS_PLSCONFIG 143,8346 -#define MREGS_PHYCONFIG 144,8414 -#define MREGS_CHIPID1 145,8482 -#define MREGS_CHIPID2 146,8548 -#define MREGS_IACONFIG 147,8614 -#define MREGS_FILTER 149,8705 -#define MREGS_ETHADDR 150,8770 -#define MREGS_MPCNT 153,8884 -#define MREGS_RPCNT 155,8972 -#define MREGS_RCCNT 156,9036 -#define MREGS_UTEST 158,9124 -#define MREGS_RTEST1 159,9188 -#define MREGS_RTEST2 160,9253 -#define MREGS_REG_SIZE 161,9318 -#define MREGS_TXFCNTL_DRETRY 163,9349 -#define MREGS_TXFCNTL_DFCS 164,9427 -#define MREGS_TXFCNTL_AUTOPAD 165,9505 -#define MREGS_TXFSTAT_VALID 167,9584 -#define MREGS_TXFSTAT_UNDERFLOW 168,9662 -#define MREGS_TXFSTAT_LCOLL 169,9740 -#define MREGS_TXFSTAT_MRETRY 170,9818 -#define MREGS_TXFSTAT_ORETRY 171,9896 -#define MREGS_TXFSTAT_PDEFER 172,9974 -#define MREGS_TXFSTAT_CLOSS 173,10052 -#define MREGS_TXFSTAT_RERROR 174,10130 -#define MREGS_TXRCNT_EDEFER 176,10209 -#define MREGS_TXRCNT_CMASK 177,10287 -#define MREGS_RXFCNTL_LOWLAT 179,10366 -#define MREGS_RXFCNTL_AREJECT 180,10444 -#define MREGS_RXFCNTL_AUTOSTRIP 181,10522 -#define MREGS_RXFSTAT_OVERFLOW 183,10601 -#define MREGS_RXFSTAT_LCOLL 184,10679 -#define MREGS_RXFSTAT_FERROR 185,10757 -#define MREGS_RXFSTAT_FCSERROR 186,10835 -#define MREGS_RXFSTAT_RBCNT 187,10913 -#define MREGS_FFCNT_RX 189,10992 -#define MREGS_FFCNT_TX 190,11070 -#define MREGS_IREG_JABBER 192,11149 -#define MREGS_IREG_BABBLE 193,11227 -#define MREGS_IREG_COLL 194,11305 -#define MREGS_IREG_RCCO 195,11383 -#define MREGS_IREG_RPKTCO 196,11461 -#define MREGS_IREG_MPKTCO 197,11539 -#define MREGS_IREG_RXIRQ 198,11617 -#define MREGS_IREG_TXIRQ 199,11695 -#define MREGS_IMASK_BABBLE 201,11774 -#define MREGS_IMASK_COLL 202,11852 -#define MREGS_IMASK_MPKTCO 203,11930 -#define MREGS_IMASK_RXIRQ 204,12008 -#define MREGS_IMASK_TXIRQ 205,12086 -#define MREGS_POLL_TXVALID 207,12165 -#define MREGS_POLL_TDTR 208,12243 -#define MREGS_POLL_RDTR 209,12321 -#define MREGS_BCONFIG_BSWAP 211,12400 -#define MREGS_BCONFIG_4TS 212,12478 -#define MREGS_BCONFIG_16TS 213,12556 -#define MREGS_BCONFIG_64TS 214,12634 -#define MREGS_BCONFIG_112TS 215,12712 -#define MREGS_BCONFIG_RESET 216,12790 -#define MREGS_FCONFIG_TXF8 218,12869 -#define MREGS_FCONFIG_TXF32 219,12947 -#define MREGS_FCONFIG_TXF16 220,13025 -#define MREGS_FCONFIG_RXF64 221,13103 -#define MREGS_FCONFIG_RXF32 222,13181 -#define MREGS_FCONFIG_RXF16 223,13259 -#define MREGS_FCONFIG_TFWU 224,13337 -#define MREGS_FCONFIG_RFWU 225,13415 -#define MREGS_FCONFIG_TBENAB 226,13493 -#define MREGS_FCONFIG_RBENAB 227,13571 -#define MREGS_MCONFIG_PROMISC 229,13650 -#define MREGS_MCONFIG_TPDDISAB 230,13728 -#define MREGS_MCONFIG_MBAENAB 231,13806 -#define MREGS_MCONFIG_RPADISAB 232,13884 -#define MREGS_MCONFIG_RBDISAB 233,13962 -#define MREGS_MCONFIG_TXENAB 234,14040 -#define MREGS_MCONFIG_RXENAB 235,14118 -#define MREGS_PLSCONFIG_TXMS 237,14197 -#define MREGS_PLSCONFIG_GPSI 238,14275 -#define MREGS_PLSCONFIG_DAI 239,14353 -#define MREGS_PLSCONFIG_TP 240,14431 -#define MREGS_PLSCONFIG_AUI 241,14509 -#define MREGS_PLSCONFIG_IOENAB 242,14587 -#define MREGS_PHYCONFIG_LSTAT 244,14666 -#define MREGS_PHYCONFIG_LTESTDIS 245,14744 -#define MREGS_PHYCONFIG_RXPOLARITY 246,14822 -#define MREGS_PHYCONFIG_APCDISAB 247,14900 -#define MREGS_PHYCONFIG_LTENAB 248,14978 -#define MREGS_PHYCONFIG_AUTO 249,15056 -#define MREGS_PHYCONFIG_RWU 250,15134 -#define MREGS_PHYCONFIG_AW 251,15212 -#define MREGS_IACONFIG_ACHNGE 253,15291 -#define MREGS_IACONFIG_PARESET 254,15369 -#define MREGS_IACONFIG_LARESET 255,15447 -#define MREGS_UTEST_RTRENAB 257,15526 -#define MREGS_UTEST_RTRDISAB 258,15604 -#define MREGS_UTEST_RPACCEPT 259,15682 -#define MREGS_UTEST_FCOLL 260,15760 -#define MREGS_UTEST_FCSENAB 261,15838 -#define MREGS_UTEST_INTLOOPM 262,15916 -#define MREGS_UTEST_INTLOOP 263,15994 -#define MREGS_UTEST_EXTLOOP 264,16072 -#define MREGS_UTEST_NOLOOP 265,16150 -struct qe_rxd qe_rxd267,16229 -#define RXD_OWN 272,16278 -#define RXD_UPDATE 273,16332 -#define RXD_LENGTH 274,16386 -struct qe_txd qe_txd276,16441 -#define TXD_OWN 281,16490 -#define TXD_SOP 282,16544 -#define TXD_EOP 283,16598 -#define TXD_UPDATE 284,16652 -#define TXD_LENGTH 285,16706 -#define TX_RING_MAXSIZE 287,16761 -#define RX_RING_MAXSIZE 288,16791 -#define TX_RING_SIZE 290,16822 -#define RX_RING_SIZE 291,16851 -#define NEXT_RX(NEXT_RX293,16881 -#define NEXT_TX(NEXT_TX294,16946 -#define PREV_RX(PREV_RX295,17011 -#define PREV_TX(PREV_TX296,17076 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL298,17142 -struct qe_init_block qe_init_block303,17368 -#define qib_offset(qib_offset308,17475 -struct sunqec sunqec313,17593 -#define PKT_BUF_SZ 321,17932 -#define RXD_PKT_SZ 322,17956 -struct sunqe_buffers sunqe_buffers324,17981 -#define qebuf_offset(qebuf_offset330,18098 -struct sunqe sunqe333,18206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/typhoon.c,4666 -static int rx_copybreak 43,1939 -static const int multicast_filter_limit 49,2086 -#define TXHI_ENTRIES 64,2704 -#define TXLO_ENTRIES 65,2728 -#define RX_ENTRIES 66,2754 -#define COMMAND_ENTRIES 67,2777 -#define RESPONSE_ENTRIES 68,2805 -#define COMMAND_RING_SIZE 70,2834 -#define RESPONSE_RING_SIZE 71,2904 -#define RXFREE_ENTRIES 77,3168 -#define RXENT_ENTRIES 78,3196 -#define TX_TIMEOUT 83,3366 -#define PKT_BUF_SZ 85,3394 -#define DRV_MODULE_NAME 87,3420 -#define DRV_MODULE_VERSION 88,3455 -#define DRV_MODULE_RELDATE 89,3491 -#define PFX 90,3529 -#define ERR_PFX 91,3564 -static char version[121,4265 -static char version[] __devinitdata 121,4265 -struct typhoon_card_info typhoon_card_info138,4790 -#define TYPHOON_CRYPTO_NONE 143,4853 -#define TYPHOON_CRYPTO_DES 144,4887 -#define TYPHOON_CRYPTO_3DES 145,4920 -#define TYPHOON_CRYPTO_VARIABLE 146,4954 -#define TYPHOON_FIBER 147,4992 -#define TYPHOON_WAKEUP_NEEDS_RESET 148,5021 -enum typhoon_cards typhoon_cards150,5062 - TYPHOON_TX 151,5083 - TYPHOON_TX = 0, TYPHOON_TX95,151,5083 - TYPHOON_TX = 0, TYPHOON_TX95, TYPHOON_TX97,151,5083 - TYPHOON_TX = 0, TYPHOON_TX95, TYPHOON_TX97, TYPHOON_SVR,151,5083 - TYPHOON_SVR95,152,5141 - TYPHOON_SVR95, TYPHOON_SVR97,152,5141 - TYPHOON_SVR95, TYPHOON_SVR97, TYPHOON_TXM,152,5141 - TYPHOON_SVR95, TYPHOON_SVR97, TYPHOON_TXM, TYPHOON_BSVR,152,5141 - TYPHOON_FX95,153,5199 - TYPHOON_FX95, TYPHOON_FX97,153,5199 - TYPHOON_FX95, TYPHOON_FX97, TYPHOON_FX95SVR,153,5199 - TYPHOON_FX95, TYPHOON_FX97, TYPHOON_FX95SVR, TYPHOON_FX97SVR,153,5199 - TYPHOON_FXM,154,5262 -static struct typhoon_card_info typhoon_card_info[158,5332 -static struct typhoon_card_info typhoon_card_info[] __devinitdata 158,5332 -static struct pci_device_id typhoon_pci_tbl[193,6664 -#define __3xp_aligned 228,8221 -struct typhoon_shared typhoon_shared229,8265 -struct rxbuff_ent rxbuff_ent242,8778 -struct typhoon typhoon247,8846 -enum completion_wait_values completion_wait_values289,9890 - NoWait 290,9920 - NoWait = 0, WaitNoSleep,290,9920 - NoWait = 0, WaitNoSleep, WaitSleep,290,9920 -enum state_values state_values297,10157 - Sleeping 298,10177 - Sleeping = 0, Running,298,10177 -#define typhoon_post_pci_writes(typhoon_post_pci_writes304,10350 -#define TYPHOON_UDELAY 309,10516 -#define TYPHOON_RESET_TIMEOUT_SLEEP 310,10544 -#define TYPHOON_RESET_TIMEOUT_NOSLEEP 311,10589 -#define TYPHOON_WAIT_TIMEOUT 312,10660 -#define typhoon_synchronize_irq(typhoon_synchronize_irq315,10774 -#define typhoon_synchronize_irq(typhoon_synchronize_irq317,10833 -#define skb_tso_size(skb_tso_size321,10920 -#define TSO_NUM_DESCRIPTORS 322,10971 -#define TSO_OFFLOAD_ON 323,11001 -#define NETIF_F_TSO 325,11059 -#define skb_tso_size(skb_tso_size326,11083 -#define TSO_NUM_DESCRIPTORS 327,11110 -#define TSO_OFFLOAD_ON 328,11140 -typhoon_inc_index(332,11193 -typhoon_inc_cmd_index(343,11568 -typhoon_inc_resp_index(349,11694 -typhoon_inc_rxfree_index(355,11822 -typhoon_inc_tx_index(361,11950 -typhoon_inc_rx_index(368,12134 -typhoon_reset(376,12348 -typhoon_wait_status(431,13912 -typhoon_media_status(448,14193 -typhoon_hello(457,14389 -typhoon_process_response(478,15022 -typhoon_num_free(537,16603 -typhoon_num_free_cmd(548,16954 -typhoon_num_free_resp(557,17181 -typhoon_num_free_tx(566,17427 -typhoon_issue_command(573,17625 -typhoon_vlan_rx_register(689,20960 -typhoon_vlan_rx_kill_vid(727,22003 -typhoon_tso_fill(737,22268 -typhoon_start_tx(758,22923 -typhoon_set_rx_mode(909,27739 -typhoon_do_get_stats(952,29070 -typhoon_get_stats(1003,30930 -typhoon_set_mac_address(1022,31330 -typhoon_ethtool_gdrvinfo(1034,31575 -typhoon_ethtool_gset(1059,32274 -typhoon_ethtool_sset(1113,33714 -typhoon_ethtool_ioctl(1159,34746 -typhoon_ioctl(1230,36444 -typhoon_wait_interrupt(1243,36657 -#define shared_offset(shared_offset1261,36990 -typhoon_init_interface(1264,37063 -typhoon_init_rings(1332,39461 -typhoon_download_firmware(1349,39834 -typhoon_boot_3XP(1498,44481 -typhoon_clean_tx(1533,45492 -typhoon_tx_complete(1569,46404 -typhoon_recycle_rx_skb(1586,46870 -typhoon_alloc_rx_skb(1613,47572 -typhoon_rx(1660,48683 -typhoon_fill_free_ring(1743,50931 -typhoon_poll(1757,51162 -typhoon_interrupt(1812,52554 -typhoon_free_rx_rings(1837,53250 -typhoon_sleep(1853,53562 -typhoon_wakeup(1891,54565 -typhoon_start_runtime(1912,55195 -typhoon_stop_runtime(2006,57775 -typhoon_tx_timeout(2070,59720 -typhoon_open(2100,60476 -typhoon_close(2142,61302 -typhoon_resume(2169,61987 -typhoon_suspend(2201,62640 -typhoon_enable_wake(2266,64405 -typhoon_init_one(2273,64549 -typhoon_remove_one(2538,72032 -static struct pci_driver typhoon_driver 2556,72535 -typhoon_init(2569,72850 -typhoon_cleanup(2575,72935 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/8139cp.c,9128 -#define DRV_NAME 50,1969 -#define DRV_VERSION 51,1996 -#define DRV_RELDATE 52,2023 -#define CP_VLAN_TAG_USED 78,2672 -#define CP_VLAN_TX_TAG(CP_VLAN_TX_TAG79,2699 -#define CP_VLAN_TAG_USED 82,2809 -#define CP_VLAN_TX_TAG(CP_VLAN_TX_TAG83,2836 -static char version[88,3002 -static int debug 95,3265 -static int multicast_filter_limit 101,3535 -#define PFX 105,3720 -#define FALSE 108,3762 -#define TRUE 109,3778 -#define CP_DEF_MSG_ENABLE 112,3808 -#define CP_NUM_STATS 115,3901 -#define CP_STATS_SIZE 116,3962 -#define CP_REGS_SIZE 117,4027 -#define CP_REGS_VER 118,4060 -#define CP_RX_RING_SIZE 119,4100 -#define CP_TX_RING_SIZE 120,4128 -#define CP_RING_BYTES 121,4156 -#define NEXT_TX(NEXT_TX125,4299 -#define NEXT_RX(NEXT_RX126,4355 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL127,4411 -#define PKT_BUF_SZ 132,4585 -#define RX_OFFSET 133,4649 -#define CP_INTERNAL_PHY 134,4670 -#define RX_FIFO_THRESH 137,4793 -#define RX_DMA_BURST 138,4865 -#define TX_DMA_BURST 139,4925 -#define TX_EARLY_THRESH 140,4986 -#define TX_TIMEOUT 143,5116 -#define CP_MIN_MTU 146,5213 -#define CP_MAX_MTU 147,5269 - MAC0 151,5330 - MAC0 = 0x00,151,5330 - MAR0 152,5378 - MAR0 = 0x08,152,5378 - StatsAddr 153,5417 - StatsAddr = 0x10,153,5417 - TxRingAddr 154,5485 - TxRingAddr = 0x20,154,5485 - HiTxRingAddr 155,5540 - HiTxRingAddr = 0x28,155,5540 - Cmd 156,5611 - Cmd = 0x37,156,5611 - IntrMask 157,5648 - IntrMask = 0x3C,157,5648 - IntrStatus 158,5687 - IntrStatus = 0x3E,158,5687 - TxConfig 159,5730 - TxConfig = 0x40,159,5730 - ChipVersion 160,5771 - ChipVersion = 0x43,160,5771 - RxConfig 161,5834 - RxConfig = 0x44,161,5834 - RxMissed 162,5875 - RxMissed = 0x4C,162,5875 - Cfg9346 163,5927 - Cfg9346 = 0x50,163,5927 - Config1 164,5991 - Config1 = 0x52,164,5991 - Config3 165,6023 - Config3 = 0x59,165,6023 - Config4 166,6055 - Config4 = 0x5A,166,6055 - MultiIntr 167,6087 - MultiIntr = 0x5C,167,6087 - BasicModeCtrl 168,6138 - BasicModeCtrl = 0x62,168,6138 - BasicModeStatus 169,6176 - BasicModeStatus = 0x64,169,6176 - NWayAdvert 170,6216 - NWayAdvert = 0x66,170,6216 - NWayLPAR 171,6256 - NWayLPAR = 0x68,171,6256 - NWayExpansion 172,6288 - NWayExpansion = 0x6A,172,6288 - Config5 173,6331 - Config5 = 0xD8,173,6331 - TxPoll 174,6363 - TxPoll = 0xD9,174,6363 - RxMaxSize 175,6429 - RxMaxSize = 0xDA,175,6429 - CpCmd 176,6491 - CpCmd = 0xE0,176,6491 - IntrMitigate 177,6548 - IntrMitigate = 0xE2,177,6548 - RxRingAddr 178,6611 - RxRingAddr = 0xE4,178,6611 - TxThresh 179,6666 - TxThresh = 0xEC,179,6666 - OldRxBufAddr 180,6709 - OldRxBufAddr = 0x30,180,6709 - OldTSD0 181,6776 - OldTSD0 = 0x10,181,6776 - DescOwn 184,6875 - RingEnd 185,6931 - FirstFrag 186,6983 - LastFrag 187,7039 - TxError 188,7094 - RxError 189,7140 - IPCS 190,7186 - UDPCS 191,7234 - TCPCS 192,7287 - TxVlanTag 193,7340 - RxVlanTagged 194,7383 - IPFail 195,7438 - UDPFail 196,7485 - TCPFail 197,7537 - NormalTxPoll 198,7589 - PID1 199,7660 - PID0 200,7718 - RxProtoTCP 201,7772 - RxProtoUDP 202,7789 - RxProtoIP 203,7806 - TxFIFOUnder 204,7822 - TxOWC 205,7871 - TxLinkFail 206,7925 - TxMaxCol 207,7988 - TxColCntShift 208,8056 - TxColCntMask 209,8125 - TxColCntMask = 0x01 209,8125 - TxColCntMask = 0x01 | 0x02 209,8125 - TxColCntMask = 0x01 | 0x02 | 0x04 209,8125 - TxColCntMask = 0x01 | 0x02 | 0x04 | 0x08,209,8125 - RxErrFrame 210,8196 - RxMcast 211,8252 - RxErrCRC 212,8307 - RxErrRunt 213,8349 - RxErrLong 214,8407 - RxErrFIFO 215,8467 - DumpStats 218,8559 - RxCfgFIFOShift 221,8632 - RxCfgDMAShift 222,8700 - AcceptErr 223,8762 - AcceptErr = 0x20,223,8762 - AcceptRunt 224,8823 - AcceptRunt = 0x10,224,8823 - AcceptBroadcast 225,8886 - AcceptBroadcast = 0x08,225,8886 - AcceptMulticast 226,8947 - AcceptMulticast = 0x04,226,8947 - AcceptMyPhys 227,9008 - AcceptMyPhys = 0x02,227,9008 - AcceptAllPhys 228,9074 - AcceptAllPhys = 0x01,228,9074 - PciErr 231,9181 - TimerIntr 232,9237 - LenChg 233,9309 - SWInt 234,9357 - TxEmpty 235,9413 - RxFIFOOvr 236,9470 - LinkChg 237,9517 - RxEmpty 238,9578 - TxErr 239,9635 - TxOK 240,9671 - RxErr 241,9712 - RxOK 242,9748 - IntrResvd 243,9793 - IntrAll 246,9902 - IntrAll = PciErr 246,9902 - IntrAll = PciErr | TimerIntr 246,9902 - IntrAll = PciErr | TimerIntr | LenChg 246,9902 - IntrAll = PciErr | TimerIntr | LenChg | SWInt 246,9902 - IntrAll = PciErr | TimerIntr | LenChg | SWInt | TxEmpty 246,9902 - RxFIFOOvr 247,9962 - RxFIFOOvr | LinkChg 247,9962 - RxFIFOOvr | LinkChg | RxEmpty 247,9962 - RxFIFOOvr | LinkChg | RxEmpty | TxErr 247,9962 - RxFIFOOvr | LinkChg | RxEmpty | TxErr | TxOK 247,9962 - RxErr 248,10014 - RxErr | RxOK 248,10014 - RxErr | RxOK | IntrResvd,248,10014 - CmdReset 251,10077 - RxOn 252,10137 - TxOn 253,10178 - RxVlanOn 256,10252 - RxChkSum 257,10307 - PCIDAC 258,10363 - PCIMulRW 259,10427 - CpRxOn 260,10487 - CpTxOn 261,10530 - Cfg9346_Lock 264,10613 - Cfg9346_Lock = 0x00,264,10613 - Cfg9346_Unlock 265,10679 - Cfg9346_Unlock = 0xC0,265,10679 - IFG 268,10775 - TxDMAShift 269,10841 - TxThreshMask 272,10951 - TxThreshMask = 0x3f,272,10951 - TxThreshMax 273,10998 - DriverLoaded 276,11078 - LWACT 277,11145 - PMEnable 278,11199 - PARMEnable 281,11288 - MagicPacket 282,11352 - LinkUp 283,11425 - LWPTN 286,11538 - LWPME 287,11588 - BWF 290,11665 - MWF 291,11731 - UWF 292,11797 - LANWake 293,11861 - PMEStatus 294,11919 - cp_norx_intr_mask 296,11986 - cp_norx_intr_mask = PciErr 296,11986 - cp_norx_intr_mask = PciErr | LinkChg 296,11986 - cp_norx_intr_mask = PciErr | LinkChg | TxOK 296,11986 - cp_norx_intr_mask = PciErr | LinkChg | TxOK | TxErr 296,11986 - cp_norx_intr_mask = PciErr | LinkChg | TxOK | TxErr | TxEmpty,296,11986 - cp_rx_intr_mask 297,12050 - cp_rx_intr_mask = RxOK 297,12050 - cp_rx_intr_mask = RxOK | RxErr 297,12050 - cp_rx_intr_mask = RxOK | RxErr | RxEmpty 297,12050 - cp_rx_intr_mask = RxOK | RxErr | RxEmpty | RxFIFOOvr,297,12050 - cp_intr_mask 298,12105 - cp_intr_mask = cp_rx_intr_mask 298,12105 - cp_intr_mask = cp_rx_intr_mask | cp_norx_intr_mask,298,12105 -static const unsigned int cp_rx_config 301,12162 -struct cp_desc cp_desc305,12280 -struct ring_info ring_info311,12339 -struct cp_dma_stats cp_dma_stats317,12424 -struct cp_extra_stats cp_extra_stats333,12702 -struct cp_private cp_private337,12756 -#define cpr8(cpr8374,13512 -#define cpr16(cpr16375,13554 -#define cpr32(cpr32376,13597 -#define cpw8(cpw8377,13640 -#define cpw16(cpw16378,13694 -#define cpw32(cpw32379,13749 -#define cpw8_f(cpw8_f380,13804 -#define cpw16_f(cpw16_f384,13915 -#define cpw32_f(cpw32_f388,14027 -static struct pci_device_id cp_pci_tbl[398,14292 -} ethtool_stats_keys[407,14525 -static void cp_vlan_rx_register(426,14823 -static void cp_vlan_rx_kill_vid(438,15123 -static inline void cp_set_rxbufsize 452,15487 -static inline void cp_rx_skb 463,15743 -static void cp_rx_err_acct 481,16195 -static inline unsigned int cp_rx_csum_ok 501,16828 -static int cp_rx_poll 514,17167 -cp_interrupt 633,19848 -static void cp_tx 689,21191 -static int cp_start_xmit 746,22580 -static void __cp_set_rx_mode 904,26772 -static void cp_set_rx_mode 948,28165 -static void __cp_get_stats(958,28395 -static struct net_device_stats *cp_get_stats(965,28596 -static void cp_stop_hw 979,28977 -static void cp_reset_hw 991,29224 -static inline void cp_start_hw 1008,29521 -static void cp_init_hw 1014,29632 -static int cp_refill_rx 1058,30776 -static int cp_init_rings 1094,31535 -static int cp_alloc_rings 1105,31799 -static void cp_clean_rings 1123,32193 -static void cp_free_rings 1152,33006 -static int cp_open 1161,33221 -static int cp_close 1191,33755 -static int cp_change_mtu(1216,34211 -static char mii_2_8139_map[1250,34990 -static int mdio_read(1261,35113 -static void mdio_write(1270,35341 -static int netdev_set_wol 1284,35739 -static void netdev_get_wol 1317,36620 -static void cp_get_drvinfo 1339,37355 -static int cp_get_regs_len(1348,37604 -static int cp_get_stats_count 1353,37682 -static int cp_get_settings(1358,37764 -static int cp_set_settings(1371,38056 -static int cp_nway_reset(1384,38348 -static u32 cp_get_msglevel(1390,38484 -static void cp_set_msglevel(1396,38607 -static u32 cp_get_rx_csum(1402,38743 -static int cp_set_rx_csum(1408,38884 -static void cp_get_regs(1432,39294 -static void cp_get_wol 1448,39670 -static int cp_set_wol 1458,39928 -static void cp_get_strings 1471,40212 -static void cp_get_ethtool_stats 1483,40439 -static struct ethtool_ops cp_ethtool_ops 1523,41774 -static int cp_ioctl 1546,42516 -#define EE_SHIFT_CLK 1564,42922 -#define EE_CS 1565,42974 -#define EE_DATA_WRITE 1566,43021 -#define EE_WRITE_0 1567,43075 -#define EE_WRITE_1 1568,43100 -#define EE_DATA_READ 1569,43125 -#define EE_ENB 1570,43179 -#define eeprom_delay(eeprom_delay1576,43331 -#define EE_WRITE_CMD 1579,43431 -#define EE_READ_CMD 1580,43456 -#define EE_ERASE_CMD 1581,43481 -static int read_eeprom 1583,43507 -static void cp_set_d3_state 1623,44486 -static int cp_init_one 1629,44643 -static void cp_remove_one 1807,49053 -static int cp_suspend 1825,49461 -static int cp_resume 1855,50049 -static struct pci_driver cp_driver 1877,50442 -static int __init cp_init 1888,50684 -static void __exit cp_exit 1896,50805 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_bcomm.h,369 -BEGIN_STRUCT(32,1314 -#define bc 121,4963 -#define BC_INIT 126,5036 -#define BC_RUN 127,5054 -#define BC_DIAGS 132,5099 -#define BC_SASWITCH 133,5119 -#define BC_SWITCH 134,5141 -#define BC_MULTINIC 135,5161 -#define BC_SPEW_ENABLE 140,5222 -#define BC_FILTER_ERR 145,5283 -#define BC_FILTER_OK 146,5308 -#define BC_FILTER_SET 147,5331 -#define BC_FILTER_CLR 148,5355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c503.h,1254 -#define EL2H 6,215 -#define EL2L 7,253 -#define OLD_3COM_ID 12,406 -#define NEW_3COM_ID 13,435 -#define EL2_MB0_START_PG 20,749 -#define EL2_MB1_START_PG 21,818 -#define EL2_MB1_STOP_PG 22,877 -#define E33G_STARTPG 25,971 -#define E33G_STOPPG 26,1040 -#define E33G_DRQCNT 27,1108 -#define E33G_IOBASE 28,1159 -#define E33G_ROMBASE 30,1287 -#define E33G_GACFR 31,1352 -#define E33G_CNTRL 32,1420 -#define E33G_STATUS 33,1484 -#define E33G_IDCFR 34,1542 -#define E33G_DMAAH 36,1655 -#define E33G_DMAAL 37,1718 -#define E33G_VP2 40,1905 -#define E33G_VP1 41,1932 -#define E33G_VP0 42,1959 -#define E33G_FIFOH 43,1986 -#define E33G_FIFOL 44,2051 -#define ECNTRL_RESET 48,2146 -#define ECNTRL_THIN 49,2216 -#define ECNTRL_AUI 50,2282 -#define ECNTRL_SAPROM 51,2347 -#define ECNTRL_DBLBFR 52,2411 -#define ECNTRL_OUTPUT 53,2469 -#define ECNTRL_INPUT 54,2531 -#define ECNTRL_START 55,2592 -#define ESTAT_DPRDY 59,2684 -#define ESTAT_UFLW 60,2743 -#define ESTAT_OFLW 61,2812 -#define ESTAT_DTC 62,2881 -#define ESTAT_DIP 63,2949 -#define EGACFR_NIM 67,3033 -#define EGACFR_TCM 68,3084 -#define EGACFR_RSEL 69,3147 -#define EGACFR_MBS2 70,3219 -#define EGACFR_MBS1 71,3279 -#define EGACFR_MBS0 72,3339 -#define EGACFR_NORM 74,3400 -#define EGACFR_IRQOFF 75,3451 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ioc3-eth.c,5136 -#define IOC3_NAME 30,1109 -#define IOC3_VERSION 31,1138 -#define IOC3_BAUD 51,1582 -#define IOC3_COM_FLAGS 52,1620 -#define RX_BUFFS 80,2314 -#define ETCSR_FD 82,2335 -#define ETCSR_HD 83,2409 -struct ioc3_private ioc3_private86,2527 -static inline struct net_device *priv_netdev(107,3079 -static const char ioc3_str[120,3645 -static struct ethtool_ops ioc3_ethtool_ops;121,3693 -#define IOC3_CACHELINE 125,3813 -static inline unsigned long aligned_rx_skb_addr(127,3843 -static inline struct sk_buff * ioc3_alloc_skb(132,3962 -static inline unsigned long ioc3_map(147,4282 -#define RX_OFFSET 161,4726 -#define RX_BUF_ALLOC_SIZE 162,4748 -#define BARRIER(BARRIER165,4872 -#define IOC3_SIZE 169,4930 -#define ioc3_r_mcr(ioc3_r_mcr178,5175 -#define ioc3_w_mcr(ioc3_w_mcr179,5220 -#define ioc3_w_gpcr_s(ioc3_w_gpcr_s180,5288 -#define ioc3_r_emcr(ioc3_r_emcr181,5361 -#define ioc3_w_emcr(ioc3_w_emcr182,5408 -#define ioc3_r_eisr(ioc3_r_eisr183,5478 -#define ioc3_w_eisr(ioc3_w_eisr184,5525 -#define ioc3_r_eier(ioc3_r_eier185,5595 -#define ioc3_w_eier(ioc3_w_eier186,5642 -#define ioc3_r_ercsr(ioc3_r_ercsr187,5712 -#define ioc3_w_ercsr(ioc3_w_ercsr188,5761 -#define ioc3_r_erbr_h(ioc3_r_erbr_h189,5833 -#define ioc3_w_erbr_h(ioc3_w_erbr_h190,5884 -#define ioc3_r_erbr_l(ioc3_r_erbr_l191,5957 -#define ioc3_w_erbr_l(ioc3_w_erbr_l192,6008 -#define ioc3_r_erbar(ioc3_r_erbar193,6081 -#define ioc3_w_erbar(ioc3_w_erbar194,6130 -#define ioc3_r_ercir(ioc3_r_ercir195,6202 -#define ioc3_w_ercir(ioc3_w_ercir196,6251 -#define ioc3_r_erpir(ioc3_r_erpir197,6323 -#define ioc3_w_erpir(ioc3_w_erpir198,6372 -#define ioc3_r_ertr(ioc3_r_ertr199,6444 -#define ioc3_w_ertr(ioc3_w_ertr200,6491 -#define ioc3_r_etcsr(ioc3_r_etcsr201,6561 -#define ioc3_w_etcsr(ioc3_w_etcsr202,6610 -#define ioc3_r_ersr(ioc3_r_ersr203,6682 -#define ioc3_w_ersr(ioc3_w_ersr204,6729 -#define ioc3_r_etcdc(ioc3_r_etcdc205,6799 -#define ioc3_w_etcdc(ioc3_w_etcdc206,6848 -#define ioc3_r_ebir(ioc3_r_ebir207,6920 -#define ioc3_w_ebir(ioc3_w_ebir208,6967 -#define ioc3_r_etbr_h(ioc3_r_etbr_h209,7037 -#define ioc3_w_etbr_h(ioc3_w_etbr_h210,7088 -#define ioc3_r_etbr_l(ioc3_r_etbr_l211,7161 -#define ioc3_w_etbr_l(ioc3_w_etbr_l212,7212 -#define ioc3_r_etcir(ioc3_r_etcir213,7285 -#define ioc3_w_etcir(ioc3_w_etcir214,7334 -#define ioc3_r_etpir(ioc3_r_etpir215,7406 -#define ioc3_w_etpir(ioc3_w_etpir216,7455 -#define ioc3_r_emar_h(ioc3_r_emar_h217,7527 -#define ioc3_w_emar_h(ioc3_w_emar_h218,7578 -#define ioc3_r_emar_l(ioc3_r_emar_l219,7651 -#define ioc3_w_emar_l(ioc3_w_emar_l220,7702 -#define ioc3_r_ehar_h(ioc3_r_ehar_h221,7775 -#define ioc3_w_ehar_h(ioc3_w_ehar_h222,7826 -#define ioc3_r_ehar_l(ioc3_r_ehar_l223,7899 -#define ioc3_w_ehar_l(ioc3_w_ehar_l224,7950 -#define ioc3_r_micr(ioc3_r_micr225,8023 -#define ioc3_w_micr(ioc3_w_micr226,8070 -#define ioc3_r_midr_r(ioc3_r_midr_r227,8140 -#define ioc3_w_midr_r(ioc3_w_midr_r228,8191 -#define ioc3_r_midr_w(ioc3_r_midr_w229,8264 -#define ioc3_w_midr_w(ioc3_w_midr_w230,8315 -static inline u32 mcr_pack(232,8389 -static int nic_wait(237,8483 -static int nic_reset(248,8642 -static inline int nic_read_bit(261,8845 -static inline void nic_write_bit(273,9035 -static u32 nic_read_byte(286,9244 -static void nic_write_byte(300,9459 -static u64 nic_find(312,9621 -static int nic_init(357,10491 -static void ioc3_get_eaddr_nic(413,11501 -static void ioc3_get_eaddr(450,12309 -static int ioc3_mdio_read(471,12701 -static void ioc3_mdio_write(483,13029 -static struct net_device_stats *ioc3_get_stats(496,13386 -static void ioc3_tcpudp_checksum(507,13662 -static inline void ioc3_rx(576,15810 -static inline void ioc3_tx(655,18041 -static void ioc3_error(702,19168 -static irqreturn_t ioc3_interrupt(733,20024 -static inline void ioc3_setup_duplex(759,20790 -static void ioc3_timer(773,21061 -static int ioc3_mii_init(793,21808 -static inline void ioc3_clean_rx_ring(829,22489 -static inline void ioc3_clean_tx_ring(849,22945 -static void ioc3_free_rings(866,23222 -static void ioc3_alloc_rings(893,23696 -static void ioc3_init_rings(942,24998 -static inline void ioc3_ssram_disc(973,25778 -static void ioc3_init(995,26440 -static inline void ioc3_stop(1035,27764 -static int ioc3_open(1044,27970 -static int ioc3_close(1062,28314 -static inline int ioc3_is_menet(1087,28953 -static inline void ioc3_serial_probe(1131,30863 -static int __devinit ioc3_probe(1164,31988 -static void __devexit ioc3_remove_one 1275,34600 -static struct pci_device_id ioc3_pci_tbl[1287,34880 -static struct pci_driver ioc3_driver 1293,35050 -static int __init ioc3_init_module(1300,35209 -static void __exit ioc3_cleanup_module(1305,35294 -static int ioc3_start_xmit(1310,35382 -static void ioc3_timeout(1424,38922 -static inline unsigned int ioc3_hash(1446,39370 -static void ioc3_get_drvinfo 1464,39688 -static int ioc3_get_settings(1474,40045 -static int ioc3_set_settings(1486,40301 -static int ioc3_nway_reset(1498,40629 -static u32 ioc3_get_link(1510,40853 -static struct ethtool_ops ioc3_ethtool_ops 1522,41070 -static int ioc3_ioctl(1530,41292 -static void ioc3_set_multicast_list(1542,41562 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gt64240eth.h,5817 -#define _GT64240ETH_H32,1256 -#define ETHERNET_PORTS_DIFFERENCE_OFFSETS 36,1305 -#define GT64240_MRR 40,1425 -#define GT64240_CIU_ARBITER_CONFIG 41,1486 -#define GT64240_CIU_ARBITER_CONTROL 42,1566 -#define GT64240_MAIN_LOW_CAUSE 43,1631 -#define GT64240_MAIN_HIGH_CAUSE 44,1699 -#define GT64240_CPU_LOW_MASK 45,1768 -#define GT64240_CPU_HIGH_MASK 46,1839 -#define GT64240_CPU_SELECT_CAUSE 47,1911 -#define GT64240_ETH_PHY_ADDR_REG 49,1977 -#define GT64240_ETH_PORT_CONFIG 50,2046 -#define GT64240_ETH_PORT_CONFIG_EXT 51,2123 -#define GT64240_ETH_PORT_COMMAND 52,2207 -#define GT64240_ETH_PORT_STATUS 53,2278 -#define GT64240_ETH_IO_SIZE 54,2348 -#define GT64240_ETH_SMI_REG 55,2421 -#define GT64240_ETH_MIB_COUNT_BASE 56,2482 -#define GT64240_ETH_SDMA_CONFIG 57,2548 -#define GT64240_ETH_SDMA_COMM 58,2625 -#define GT64240_ETH_INT_MASK 59,2696 -#define GT64240_ETH_INT_CAUSE 60,2769 -#define GT64240_ETH_CURR_TX_DESC_PTR0 61,2843 -#define GT64240_ETH_CURR_TX_DESC_PTR1 62,2923 -#define GT64240_ETH_1ST_RX_DESC_PTR0 63,3003 -#define GT64240_ETH_CURR_RX_DESC_PTR0 64,3081 -#define GT64240_ETH_HASH_TBL_PTR 65,3161 -#define GT64240_NAPI 69,3270 -#define D3224_MPP_CTRL0_SETTING 73,3446 -#define D3224_MPP_CTRL1_SETTING 74,3490 -#define D3224_MPP_CTRL2_SETTING 75,3534 -#define D3224_MPP_CTRL3_SETTING 76,3578 -#define D3224_GPP_IO_CTRL_SETTING 77,3622 -#define D3224_GPP_LEVEL_CTRL_SETTING 78,3667 -#define D3224_GPP_VALUE_SETTING 79,3715 -#define TX_RING_SIZE 83,3844 -#define RX_RING_SIZE 84,3886 -#define PKT_BUF_SZ 85,3910 -#define RX_HASH_TABLE_SIZE 87,3975 -#define HASH_HOP_NUMBER 88,4008 -#define NUM_INTERFACES 90,4036 -#define GT64240ETH_TX_TIMEOUT 92,4062 -#define MIPS_GT64240_BASE 94,4098 -#define GT64240_ETH0_BASE 95,4135 -#define GT64240_ETH1_BASE 96,4207 -#define GT64240_ETH2_BASE 97,4275 -#define GT64240_ETHER0_IRQ 100,4377 -#define GT64240_ETHER1_IRQ 101,4406 -#define GT64240_ETHER0_IRQ 103,4441 -#define GT64240_ETHER1_IRQ 104,4471 -#define REV_GT64240 107,4509 -#define REV_GT64240A 108,4534 -#define GT64240ETH_READ(GT64240ETH_READ110,4561 -#define GT64240ETH_WRITE(GT64240ETH_WRITE113,4643 -#define GT64240ETH_SETBIT(GT64240ETH_SETBIT116,4740 -#define GT64240ETH_CLRBIT(GT64240ETH_CLRBIT120,4889 -#define GT64240_READ(GT64240_READ124,5039 -#define GT64240_WRITE(GT64240_WRITE125,5079 - smirDataMask 129,5181 - smirDataMask = 0xffff,129,5181 - smirPhyAdMask 130,5205 - smirPhyAdMask = 0x1f 130,5205 - smirPhyAdBit 131,5234 - smirRegAdMask 132,5254 - smirRegAdMask = 0x1f 132,5254 - smirRegAdBit 133,5283 - smirOpCode 134,5303 - smirReadValid 135,5326 - smirBusy 136,5352 -enum pcr_bits pcr_bits140,5421 - pcrPM 141,5437 - pcrRBM 142,5454 - pcrPBF 143,5472 - pcrEN 144,5490 - pcrLPBKMask 145,5507 - pcrLPBKMask = 0x3 145,5507 - pcrLPBKBit 146,5532 - pcrFC 147,5554 - pcrHS 148,5572 - pcrHM 149,5590 - pcrHDM 150,5608 - pcrHD 151,5627 - pcrISLMask 152,5645 - pcrISLMask = 0x7 152,5645 - pcrISLBit 153,5670 - pcrACCS 154,5687 -enum pcxr_bits pcxr_bits158,5762 - pcxrIGMP 159,5779 - pcxrSPAN 160,5794 - pcxrPAR 161,5809 - pcxrPRIOtxMask 162,5823 - pcxrPRIOtxMask = 0x7 162,5823 - pcxrPRIOtxBit 163,5851 - pcxrPRIOrxMask 164,5871 - pcxrPRIOrxMask = 0x3 164,5871 - pcxrPRIOrxBit 165,5899 - pcxrPRIOrxOverride 166,5919 - pcxrDPLXen 167,5949 - pcxrFCTLen 168,5971 - pcxrFLP 169,5994 - pcxrFCTL 170,6014 - pcxrMFLMask 171,6035 - pcxrMFLMask = 0x3 171,6035 - pcxrMFLBit 172,6061 - pcxrMIBclrMode 173,6079 - pcxrSpeed 174,6106 - pcxrSpeeden 175,6128 - pcxrRMIIen 176,6152 - pcxrDSCPen 177,6175 -enum pcmr_bits pcmr_bits181,6247 - pcmrFJ 182,6264 -enum psr_bits psr_bits187,6332 - psrSpeed 188,6348 - psrDuplex 189,6363 - psrFctl 190,6379 - psrLink 191,6393 - psrPause 192,6407 - psrTxLow 193,6427 - psrTxHigh 194,6447 - psrTxInProg 195,6468 -enum sdcr_bits sdcr_bits199,6539 - sdcrRCMask 200,6556 - sdcrRCMask = 0xf 200,6556 - sdcrRCBit 201,6580 - sdcrBLMR 202,6596 - sdcrBLMT 203,6616 - sdcrPOVR 204,6636 - sdcrRIFB 205,6656 - sdcrBSZMask 206,6676 - sdcrBSZMask = 0x3 206,6676 - sdcrBSZBit 207,6702 -enum sdcmr_bits sdcmr_bits211,6769 - sdcmrERD 212,6787 - sdcmrAR 213,6807 - sdcmrSTDH 214,6827 - sdcmrSTDL 215,6849 - sdcmrTXDH 216,6871 - sdcmrTXDL 217,6893 - sdcmrAT 218,6915 -enum icr_bits icr_bits222,6987 - icrRxBuffer 223,7003 - icrTxBufferHigh 224,7021 - icrTxBufferLow 225,7048 - icrTxEndHigh 226,7074 - icrTxEndLow 227,7098 - icrRxError 228,7121 - icrTxErrorHigh 229,7143 - icrTxErrorLow 230,7170 - icrRxOVR 231,7196 - icrTxUdr 232,7217 - icrRxBufferQ0 233,7238 - icrRxBufferQ1 234,7264 - icrRxBufferQ2 235,7290 - icrRxBufferQ3 236,7316 - icrRxErrorQ0 237,7342 - icrRxErrorQ1 238,7367 - icrRxErrorQ2 239,7392 - icrRxErrorQ3 240,7417 - icrMIIPhySTC 241,7442 - icrSMIdone 242,7467 - icrEtherIntSum 243,7490 -} gt64240_td_t;gt64240_td_t255,7739 -} gt64240_rd_t;gt64240_rd_t263,7911 -} gt64240_td_t;gt64240_td_t271,8112 -} gt64240_rd_t;gt64240_rd_t279,8284 -enum td_cmdstat td_cmdstat286,8435 - txOwn 287,8453 - txAutoMode 288,8471 - txEI 289,8494 - txGenCRC 290,8511 - txPad 291,8532 - txFirst 292,8550 - txLast 293,8570 - txErrorSummary 294,8589 - txReTxCntMask 295,8616 - txReTxCntMask = 0x0f 295,8616 - txReTxCntBit 296,8645 - txCollision 297,8665 - txReTxLimit 298,8688 - txUnderrun 299,8711 - txLateCollision 300,8733 -enum rd_cmdstat rd_cmdstat305,8821 - rxOwn 306,8839 - rxAutoMode 307,8857 - rxEI 308,8880 - rxFirst 309,8897 - rxLast 310,8917 - rxErrorSummary 311,8936 - rxIGMP 312,8963 - rxHashExpired 313,8982 - rxMissedFrame 314,9008 - rxFrameType 315,9034 - rxShortFrame 316,9058 - rxMaxFrameLen 317,9082 - rxOverrun 318,9107 - rxCollision 319,9128 - rxCRCError 320,9151 -enum hash_table_entry hash_table_entry324,9210 - hteValid 325,9234 - hteSkip 326,9249 - hteRD 327,9263 -} mib_counters_t;mib_counters_t357,9827 -struct gt64240_private gt64240_private360,9847 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/stnic.c,875 -#define DRV_NAME 31,731 -#define byte 33,757 -#define half 34,784 -#define word 35,812 -#define vbyte 36,838 -#define vhalf 37,875 -#define vword 38,913 -#define STNIC_RUN 40,950 -#define START_PG 42,1002 -#define STOP_PG 43,1051 -#define STNIC_CR 46,1115 -#define PG0_RSAR0 47,1142 -#define PG0_RSAR1 48,1171 -#define PG0_RBCR0 49,1200 -#define PG0_RBCR1 50,1229 -#define CR_RRD 52,1259 -#define CR_RWR 53,1287 -#define CR_PG0 54,1316 -#define CR_STA 55,1344 -#define CR_RDMA 56,1372 -static byte stnic_eadr[59,1453 -static struct net_device *stnic_dev;62,1520 -STNIC_DELAY 78,2142 -STNIC_READ 87,2299 -STNIC_WRITE 97,2449 -static int __init stnic_probe(103,2567 -stnic_open 174,4258 -stnic_close 184,4390 -stnic_reset 191,4474 -stnic_get_hdr 202,4702 -stnic_block_input 238,5739 -stnic_block_output 271,6455 -stnic_init 304,7335 -static void __exit stnic_cleanup(311,7431 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/pc300.h,5142 -#define _PC300_H100,3006 -#define CY_TYPES107,3114 -typedef unsigned long ucdouble;ucdouble109,3154 -typedef unsigned int uclong;uclong110,3210 -typedef unsigned long uclong;uclong112,3270 -typedef unsigned short ucshort;ucshort114,3332 -typedef unsigned char ucchar;ucchar115,3388 -#define PC300_PROTO_MLPPP 118,3465 -#define PC300_KERNEL 120,3496 -#define PC300_DEVNAME 122,3564 -#define PC300_MAXINDEX 123,3639 -#define PC300_MAXCARDS 125,3712 -#define PC300_MAXCHAN 126,3774 -#define PC300_PLX_WIN 128,3833 -#define PC300_RAMSIZE 129,3900 -#define PC300_SCASIZE 130,3960 -#define PC300_FALCSIZE 131,4018 -#define PC300_OSC_CLOCK 133,4077 -#define PC300_PCI_CLOCK 134,4110 -#define BD_DEF_LEN 136,4144 -#define DMA_TX_MEMSZ 137,4200 -#define DMA_RX_MEMSZ 138,4269 -#define N_DMA_TX_BUF 140,4340 -#define N_DMA_RX_BUF 141,4410 -#define DMA_TX_BASE 144,4506 -#define DMA_RX_BASE 146,4601 -#define DMA_TX_BD_BASE 149,4694 -#define DMA_RX_BD_BASE 150,4724 -#define TX_BD_ADDR(TX_BD_ADDR154,4866 -#define RX_BD_ADDR(RX_BD_ADDR156,4967 -#define F_REG(F_REG160,5120 -#define cpc_writeb(cpc_writeb167,5357 -#define cpc_writew(cpc_writew168,5424 -#define cpc_writel(cpc_writel169,5491 -#define cpc_readb(cpc_readb171,5559 -#define cpc_readw(cpc_readw172,5596 -#define cpc_readl(cpc_readl173,5633 -#define cpc_writeb(cpc_writeb176,5694 -#define cpc_writew(cpc_writew177,5768 -#define cpc_writel(cpc_writel178,5844 -#define cpc_readb(cpc_readb180,5919 -#define cpc_readw(cpc_readw181,5973 -#define cpc_readl(cpc_readl182,6028 -struct RUNTIME_9050 RUNTIME_9050193,6371 -#define PLX_9050_LINT1_ENABLE 205,6927 -#define PLX_9050_LINT1_POL 206,6962 -#define PLX_9050_LINT1_STATUS 207,6994 -#define PLX_9050_LINT2_ENABLE 208,7029 -#define PLX_9050_LINT2_POL 209,7064 -#define PLX_9050_LINT2_STATUS 210,7096 -#define PLX_9050_INTR_ENABLE 211,7131 -#define PLX_9050_SW_INTR 212,7165 -#define PC300_CLKSEL_MASK 215,7245 -#define PC300_CHMEDIA_MASK(PC300_CHMEDIA_MASK216,7287 -#define PC300_CTYPE_MASK 217,7345 -#define CPLD_REG1 221,7456 -#define CPLD_REG2 222,7514 -#define CPLD_V2_REG1 224,7597 -#define CPLD_V2_REG2 225,7658 -#define CPLD_ID_REG 226,7718 -#define CPLD_REG1_FALC_RESET 231,7938 -#define CPLD_REG1_SCA_RESET 232,7972 -#define CPLD_REG1_GLOBAL_CLK 233,8005 -#define CPLD_REG1_FALC_DCD 234,8039 -#define CPLD_REG1_FALC_CTS 235,8071 -#define CPLD_REG2_FALC_TX_CLK 237,8104 -#define CPLD_REG2_FALC_RX_CLK 238,8139 -#define CPLD_REG2_FALC_LED1 239,8174 -#define CPLD_REG2_FALC_LED2 240,8207 -#define PC300_FALC_MAXLOOP 243,8292 -typedef struct falc falc245,8358 -} falc_t;falc_t282,9430 -typedef struct falc_status falc_status284,9441 -} falc_status_t;falc_status_t292,9630 -typedef struct rsv_x21_status rsv_x21_status294,9648 -} rsv_x21_status_t;rsv_x21_status_t300,9745 -typedef struct pc300stats pc300stats302,9766 -} pc300stats_t;pc300stats_t308,9897 -typedef struct pc300status pc300status310,9914 -} pc300status_t;pc300status_t314,10013 -typedef struct pc300loopback pc300loopback316,10031 -} pc300loopback_t;pc300loopback_t319,10094 -typedef struct pc300patterntst pc300patterntst321,10114 -} pc300patterntst_t;pc300patterntst_t324,10236 -typedef struct pc300dev pc300dev326,10258 -}pc300dev_t;pc300dev_t345,10769 -typedef struct pc300hw pc300hw347,10783 -} pc300hw_t;pc300hw_t373,12070 -typedef struct pc300chconf pc300chconf375,12084 -} pc300chconf_t;pc300chconf_t389,12717 -typedef struct pc300ch pc300ch391,12735 -} pc300ch_t;pc300ch_t402,13187 -typedef struct pc300 pc300404,13201 -} pc300_t;pc300_t410,13361 -typedef struct pc300conf pc300conf412,13373 -} pc300conf_t;pc300conf_t415,13436 -#define N_SPPP_IOCTLS 418,13479 -enum pc300_ioctl_cmds pc300_ioctl_cmds420,13504 - SIOCCPCRESERVED 421,13528 - SIOCCPCRESERVED = (SIOCDEVPRIVATE 421,13528 - SIOCCPCRESERVED = (SIOCDEVPRIVATE + N_SPPP_IOCTLS)421,13528 - SIOCGPC300CONF,422,13581 - SIOCSPC300CONF,423,13598 - SIOCGPC300STATUS,424,13615 - SIOCGPC300FALCSTATUS,425,13634 - SIOCGPC300UTILSTATS,426,13657 - SIOCGPC300UTILSTATUS,427,13679 - SIOCSPC300TRACE,428,13702 - SIOCSPC300LOOPBACK,429,13720 - SIOCSPC300PATTERNTEST,430,13741 -enum pc300_loopback_cmds pc300_loopback_cmds434,13808 - PC300LOCLOOP 435,13835 - PC300REMLOOP,436,13854 - PC300PAYLOADLOOP,437,13869 - PC300GENLOOPUP,438,13888 - PC300GENLOOPDOWN,439,13905 -#define PC300_RSV 443,13963 -#define PC300_X21 444,13986 -#define PC300_TE 445,14009 -#define PC300_PCI 447,14032 -#define PC300_PMC 448,14055 -#define PC300_LC_AMI 450,14079 -#define PC300_LC_B8ZS 451,14105 -#define PC300_LC_NRZ 452,14132 -#define PC300_LC_HDB3 453,14158 -#define PC300_FR_ESF 456,14205 -#define PC300_FR_D4 457,14232 -#define PC300_FR_ESF_JAPAN 458,14258 -#define PC300_FR_MF_CRC4 461,14310 -#define PC300_FR_MF_NON_CRC4 462,14340 -#define PC300_FR_UNFRAMED 463,14374 -#define PC300_LBO_0_DB 465,14406 -#define PC300_LBO_7_5_DB 466,14435 -#define PC300_LBO_15_DB 467,14465 -#define PC300_LBO_22_5_DB 468,14495 -#define PC300_RX_SENS_SH 470,14527 -#define PC300_RX_SENS_LH 471,14557 -#define PC300_TX_TIMEOUT 473,14588 -#define PC300_TX_QUEUE_LEN 474,14620 -#define PC300_DEF_MTU 475,14651 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/dscc4.c,5694 -static const char version[110,3838 -static int debug;111,3937 -static int quartz;112,3955 -static u32 dscc4_pci_config_store[116,4036 -#define DRV_NAME 119,4083 -struct thingie thingie135,4495 -struct TxFD TxFD140,4540 -struct RxFD RxFD148,4676 -#define DUMMY_SKB_SIZE 156,4752 -#define TX_LOW 157,4779 -#define TX_RING_SIZE 158,4798 -#define RX_RING_SIZE 159,4823 -#define TX_TOTAL_SIZE 160,4848 -#define RX_TOTAL_SIZE 161,4904 -#define IRQ_RING_SIZE 162,4960 -#define TX_TIMEOUT 163,5018 -#define DSCC4_HZ_MAX 164,5046 -#define BRR_DIVIDER_MAX 165,5077 -#define dev_per_card 166,5141 -#define SCC_REGISTERS_MAX 167,5165 -#define SOURCE_ID(SOURCE_ID169,5220 -#define TO_SIZE(TO_SIZE170,5270 -#define TO_STATE_TX(TO_STATE_TX177,5539 -#define TO_STATE_RX(TO_STATE_RX178,5603 -#define RX_MAX(RX_MAX179,5673 -#define SCC_REG_START(SCC_REG_START180,5734 -struct dscc4_pci_priv dscc4_pci_priv182,5803 -struct dscc4_dev_priv dscc4_dev_priv193,6009 -#define GCMDR 237,7005 -#define GSTAR 238,7026 -#define GMODE 239,7047 -#define IQLENR0 240,7068 -#define IQLENR1 241,7089 -#define IQRX0 242,7110 -#define IQTX0 243,7131 -#define IQCFG 244,7152 -#define FIFOCR1 245,7173 -#define FIFOCR2 246,7194 -#define FIFOCR3 247,7215 -#define FIFOCR4 248,7236 -#define CH0CFG 249,7257 -#define CH0BRDA 250,7278 -#define CH0BTDA 251,7299 -#define CH0FRDA 252,7320 -#define CH0FTDA 253,7341 -#define CH0LRDA 254,7362 -#define CH0LTDA 255,7383 -#define SCC_START 258,7437 -#define SCC_OFFSET 259,7462 -#define CMDR 260,7491 -#define STAR 261,7512 -#define CCR0 262,7533 -#define CCR1 263,7554 -#define CCR2 264,7575 -#define BRR 265,7596 -#define RLCR 266,7617 -#define IMR 267,7638 -#define ISR 268,7659 -#define GPDIR 270,7681 -#define GPDATA 271,7702 -#define GPIM 272,7724 -#define EncodingMask 275,7761 -#define CrcMask 276,7793 -#define IntRxScc0 278,7822 -#define IntTxScc0 279,7851 -#define TxPollCmd 281,7881 -#define RxActivate 282,7910 -#define MTFi 283,7940 -#define Rdr 284,7965 -#define Rdt 285,7989 -#define Idr 286,8013 -#define Idt 287,8037 -#define TxSccRes 288,8061 -#define RxSccRes 289,8089 -#define TxSizeMax 290,8117 -#define RxSizeMax 291,8174 -#define Ccr0ClockMask 293,8232 -#define Ccr1LoopMask 294,8265 -#define IsrMask 295,8297 -#define BrrExpMask 296,8325 -#define BrrMultMask 297,8355 -#define EncodingMask 298,8386 -#define Hold 299,8418 -#define SccBusy 300,8443 -#define PowerUp 301,8471 -#define Vis 302,8499 -#define FrameOk 303,8523 -#define FrameVfr 304,8562 -#define FrameRdo 305,8584 -#define FrameCrc 306,8606 -#define FrameRab 307,8628 -#define FrameAborted 308,8650 -#define FrameEnd 309,8682 -#define DataComplete 310,8710 -#define LengthCheck 311,8742 -#define SccEvt 312,8773 -#define NoAck 313,8800 -#define Action 314,8826 -#define HiDesc 315,8853 -#define RxEvt 318,8898 -#define TxEvt 319,8924 -#define Alls 320,8950 -#define Xdu 321,8975 -#define Cts 322,8999 -#define Xmr 323,9023 -#define Xpr 324,9047 -#define Rdo 325,9071 -#define Rfs 326,9095 -#define Cd 327,9119 -#define Rfo 328,9142 -#define Flex 329,9166 -#define Cfg 332,9214 -#define Hi 333,9238 -#define Fi 334,9261 -#define Err 335,9284 -#define Arf 336,9308 -#define ArAck 337,9332 -#define Ready 340,9377 -#define NeedIDR 341,9403 -#define NeedIDT 342,9431 -#define RdoSet 343,9459 -#define FakeReset 344,9486 -#define EventsMask 348,9565 -#define EventsMask 350,9601 -static inline struct dscc4_dev_priv *dscc4_priv(373,10725 -static inline struct net_device *dscc4_to_dev(378,10834 -static void scc_patchl(383,10927 -static void scc_writel(396,11291 -static inline u32 scc_readl(407,11594 -static u32 scc_readl_star(412,11707 -static inline void dscc4_do_tx(419,11932 -static inline void dscc4_rx_update(429,12297 -static inline unsigned int dscc4_tx_done(437,12564 -static inline unsigned int dscc4_tx_quiescent(442,12686 -int state_check(448,12876 -void dscc4_tx_print(468,13332 -static void dscc4_release_ring(475,13552 -inline int try_get_rx_skb(509,14354 -static int dscc4_wait_ack_cec(535,14975 -static int dscc4_do_action(555,15433 -static inline int dscc4_xpr_ack(582,15992 -static void dscc4_rx_reset(600,16418 -static void dscc4_tx_reset(617,16939 -static inline void dscc4_rx_skb(639,17534 -static void dscc4_free1(685,18879 -static int __devinit dscc4_init_one(705,19265 -static void dscc4_init_registers(846,23436 -static inline int dscc4_set_quartz(868,24154 -static int dscc4_found1(880,24359 -static void dscc4_timer(974,26650 -static void dscc4_tx_timeout(986,26940 -static int dscc4_loopback_check(991,27039 -static void dscc4_pci_reset(1012,27628 -#define dscc4_pci_reset(dscc4_pci_reset1041,28382 -static int dscc4_open(1044,28470 -static int dscc4_tx_poll(1140,31171 -static int dscc4_start_xmit(1146,31330 -static int dscc4_close(1183,32273 -static inline int dscc4_check_clock_ability(1201,32629 -static int dscc4_set_clock(1255,34710 -static int dscc4_ioctl(1308,35893 -static int dscc4_match(1354,36988 -static int dscc4_clock_setting(1368,37190 -static int dscc4_encoding_setting(1396,37942 -static int dscc4_loopback_setting(1417,38447 -static int dscc4_crc_setting(1435,38878 -static int dscc4_set_iface(1454,39334 -static irqreturn_t dscc4_irq(1474,39766 -static void dscc4_tx_irq(1533,41039 -static void dscc4_rx_irq(1702,45433 -struct sk_buff *dscc4_init_dummy_skb(1891,50357 -static int dscc4_init_ring(1910,50896 -static void __devexit dscc4_remove_one(1969,52686 -static int dscc4_hdlc_attach(2006,53613 -static int __init dscc4_setup(2031,54274 -static struct pci_device_id dscc4_pci_tbl[2043,54482 -static struct pci_driver dscc4_driver 2050,54673 -static int __init dscc4_init_module(2057,54837 -static void __exit dscc4_cleanup_module(2062,54924 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_cisco.c,516 -#define CISCO_MULTICAST 28,695 -#define CISCO_UNICAST 29,755 -#define CISCO_KEEPALIVE 30,811 -#define CISCO_SYS_INFO 31,874 -#define CISCO_ADDR_REQ 32,939 -#define CISCO_ADDR_REPLY 33,993 -#define CISCO_KEEPALIVE_REQ 34,1046 -static int cisco_hard_header(37,1108 -static void cisco_keepalive_send(60,1632 -static unsigned short cisco_type_trans(94,2442 -static int cisco_rx(118,3031 -static void cisco_timer(219,5658 -static void cisco_start(245,6412 -static void cisco_stop(261,6878 -int hdlc_cisco_ioctl(273,7132 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hd6457x.c,1348 -#define get_msci(get_msci57,1862 -#define get_dmac_rx(get_dmac_rx58,1938 -#define get_dmac_tx(get_dmac_tx59,2015 -#define SCA_INTR_MSCI(SCA_INTR_MSCI61,2093 -#define SCA_INTR_DMAC_RX(SCA_INTR_DMAC_RX62,2145 -#define SCA_INTR_DMAC_TX(SCA_INTR_DMAC_TX63,2197 -#define sca_outa(sca_outa66,2283 -#define sca_ina(sca_ina67,2345 -#define writea(writea68,2392 -#define sca_outa(sca_outa71,2460 -#define sca_ina(sca_ina72,2522 -#define writea(writea73,2569 -static inline struct net_device *port_to_dev(76,2624 -static inline int sca_intr_status(81,2707 -static inline port_t* dev_to_port(118,3817 -static inline u16 next_desc(123,3912 -static inline u16 desc_abs_number(131,4102 -static inline u16 desc_offset(143,4438 -static inline pkt_desc* desc_address(151,4628 -static inline u32 buffer_offset(164,4935 -static void sca_init_sync_port(172,5115 -static inline void sca_msci_intr(249,7279 -static inline void sca_rx(272,7859 -static inline void sca_rx_intr(328,9155 -static inline void sca_tx_intr(378,10679 -static irqreturn_t sca_intr(415,11643 -static void sca_set_port(451,12309 -static void sca_open(510,13653 -static void sca_close(607,16885 -static int sca_attach(631,17486 -static void sca_dump_rings(660,18172 -static int sca_xmit(729,20517 -static u32 __devinit sca_detect_ram(802,22360 -static void __devinit sca_init(842,23163 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_raw.c,72 -static unsigned short raw_type_trans(27,664 -int hdlc_raw_ioctl(35,798 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdla_chdlc.c,4333 -#define TMR_INT_ENABLED_UDP 88,3980 -#define TMR_INT_ENABLED_UPDATE 89,4017 -#define TMR_INT_ENABLED_CONFIG 90,4054 -#define MAX_IP_ERRORS 92,4092 -#define TTY_CHDLC_MAX_MTU 94,4118 -#define CHDLC_DFLT_DATA_LEN 95,4149 -#define CHDLC_HDR_LEN 96,4201 -#define CHDLC_API 98,4227 -#define PORT(PORT100,4251 -#define MAX_BH_BUFF 101,4305 -#define dbg_printk(dbg_printk105,4370 -#define dbg_printk(dbg_printk107,4430 -typedef struct chdlc_private_areachdlc_private_area117,4791 -} chdlc_private_area_t;chdlc_private_area_t168,6377 -#define NO_ROUTE 171,6429 -#define ADD_ROUTE 172,6451 -#define ROUTE_ADDED 173,6474 -#define REMOVE_ROUTE 174,6499 -static int rCount 178,6601 -static int Intr_test_counter;268,10202 -#define NR_PORTS 272,10264 -#define WAN_TTY_MAJOR 273,10283 -#define WAN_TTY_MINOR 274,10309 -#define WAN_CARD(WAN_CARD276,10334 -#define MIN_PORT 277,10378 -#define MAX_PORT 278,10397 -#define CRC_LENGTH 280,10427 -static struct tty_driver serial_driver;286,10612 -static int tty_init_cnt=287,10652 -static struct serial_state rs_table[289,10680 -static char tty_driver_mode=291,10728 -static char *opt_decode[293,10774 -static char *p_decode[296,10942 -static void* tty_card_map[298,10992 -int wpc_init 315,11597 -static int update(597,19789 -static int new_if(665,21697 -static int if_init(897,28874 -static int if_open(960,30580 -static int if_close(1011,32073 -static void disable_comm 1036,32625 -static int if_header(1079,33752 -static void if_tx_timeout(1092,34089 -static int if_rebuild_hdr 1117,34800 -static int if_send(1140,35615 -static int chk_bcast_mcast_addr(1274,38983 -static int reply_udp(1317,40374 -unsigned short calc_checksum 1388,42277 -static struct net_device_stats* if_stats(1417,42816 -static int chdlc_read_version 1436,43312 -static int chdlc_configure 1459,43853 -static int chdlc_set_intr_mode 1480,44442 -static int chdlc_disable_comm_shutdown 1508,45274 -static int chdlc_comm_enable 1544,46168 -static int chdlc_read_comm_err_stats 1563,46618 -static int chdlc_read_op_stats 1580,47093 -static int update_comms_stats(1597,47592 -static int chdlc_send 1641,49002 -static int chdlc_error 1671,49805 -static void chdlc_work(1706,50627 -static int chdlc_work_cleanup(1747,51510 -static int bh_enqueue(1765,51805 -static void wpc_isr 1798,52535 -static void rx_intr 1925,55574 -void timer_intr(2077,59854 -static int set_chdlc_config(2128,61585 -static int set_asy_config(2205,63974 -static int asy_comm_enable 2248,65424 -static int process_global_exception(2269,65895 -static int process_chdlc_exception(2339,67843 -static int configure_ip 2396,69170 -static int unconfigure_ip 2443,70351 -static void process_route 2471,71090 -static int store_udp_mgmt_pkt(2653,76998 -static int process_udp_mgmt_pkt(2682,77789 -static void init_chdlc_tx_rx_buff(3081,89274 -static int intr_test(3166,92647 -static int udp_pkt_type(3199,93338 -static void port_set_state 3235,94389 -static int config_chdlc 3287,96282 -static void chdlc_poll(3413,99996 -static void trigger_chdlc_poll(3563,104488 -static void chdlc_poll_delay 3586,104894 -void s508_lock 3593,105035 -void s508_unlock 3601,105222 -static void wanpipe_tty_trigger_tx_irq(3611,105476 -static void wanpipe_tty_trigger_poll(3618,105718 -static void tty_poll_work 3623,105807 -static void wanpipe_tty_close(3638,106059 -static int wanpipe_tty_open(3679,106783 -static int wanpipe_tty_write(3742,108026 -static void wanpipe_tty_receive(3849,110501 -static int wanpipe_tty_ioctl(3963,112927 -static void wanpipe_tty_stop(3970,113077 -static void wanpipe_tty_start(3975,113144 -static int config_tty 3980,113212 -static int change_speed(4045,114957 -static void wanpipe_tty_set_termios(4146,117085 -static void wanpipe_tty_put_char(4201,118463 -static void wanpipe_tty_flush_chars(4245,119292 -static void wanpipe_tty_flush_buffer(4250,119366 -static void wanpipe_tty_send_xchar(4266,119657 -static int wanpipe_tty_chars_in_buffer(4272,119740 -static int wanpipe_tty_write_room(4278,119820 -static int set_modem_status(4299,120126 -static void wanpipe_tty_hangup(4314,120441 -static void wanpipe_tty_break(4335,120804 -static void wanpipe_tty_wait_until_sent(4340,120889 -static void wanpipe_tty_throttle(4345,120980 -static void wanpipe_tty_unthrottle(4350,121052 -int wanpipe_tty_read_proc(4355,121126 -int wanpipe_tty_init(4364,121300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/wanxl.c,1386 -static const char* version 34,858 -#define PLX_CTL_RESET 36,930 -#define MBX1_CMD_ABORTJ 42,1054 -#define MBX1_CMD_BSWAP 44,1133 -#define MBX1_CMD_BSWAP 46,1209 -#define MBX2_MEMSZ_MASK 50,1313 -}port_t;port_t61,1620 -}card_status_t;card_status_t67,1714 -typedef struct card_t card_t70,1732 -}card_t;card_t81,2099 -static inline port_t* dev_to_port(85,2111 -static inline const char* card_name(91,2224 -static inline port_status_t* get_status(97,2313 -static inline dma_addr_t pci_map_single_debug(104,2444 -#define pci_map_single 116,2842 -static inline void wanxl_cable_intr(121,2958 -static inline void wanxl_tx_intr(163,4259 -static inline void wanxl_rx_intr(197,5090 -static irqreturn_t wanxl_intr(251,6504 -static int wanxl_xmit(278,7186 -static int wanxl_attach(325,8430 -static int wanxl_ioctl(348,8953 -static int wanxl_open(399,10133 -static int wanxl_close(435,11002 -static struct net_device_stats *wanxl_get_stats(473,11806 -static int wanxl_puts_command(486,12178 -static void wanxl_reset(503,12455 -static void wanxl_pci_remove_one(517,12849 -static int __devinit wanxl_pci_init_one(557,13694 -static struct pci_device_id wanxl_pci_tbl[808,20588 -static struct pci_device_id wanxl_pci_tbl[] __devinitdata 808,20588 -static struct pci_driver wanxl_pci_driver 819,20927 -static int __init wanxl_init_module(827,21090 -static void __exit wanxl_cleanup_module(835,21238 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_raw_eth.c,58 -static int eth_tx(29,738 -int hdlc_raw_eth_ioctl(47,1171 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hostess_sv11.c,653 -static int dma;38,882 -struct sv11_devicesv11_device40,899 -static void hostess_input(56,1185 -static int hostess_open(75,1642 -static int hostess_close(128,2433 -static int hostess_ioctl(159,2917 -static struct net_device_stats *hostess_get_stats(166,3118 -static int hostess_queue_xmit(179,3357 -static int hostess_neigh_setup(185,3520 -static int hostess_neigh_setup_dev(194,3682 -static void sv11_setup(204,3903 -static struct sv11_device *sv11_init(218,4231 -static void sv11_shutdown(369,7148 -static int io=388,7536 -static int irq=389,7557 -static struct sv11_device *sv11_unit;402,7985 -int init_module(404,8024 -void cleanup_module(413,8243 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/syncppp.c,2946 -#define MAXALIVECNT 60,1868 -#define PPP_ALLSTATIONS 62,1934 -#define PPP_UI 63,2011 -#define PPP_IP 64,2080 -#define PPP_ISO 65,2144 -#define PPP_XNS 66,2207 -#define PPP_IPX 67,2271 -#define PPP_LCP 68,2337 -#define PPP_IPCP 69,2405 -#define LCP_CONF_REQ 71,2487 -#define LCP_CONF_ACK 72,2559 -#define LCP_CONF_NAK 73,2635 -#define LCP_CONF_REJ 74,2712 -#define LCP_TERM_REQ 75,2783 -#define LCP_TERM_ACK 76,2855 -#define LCP_CODE_REJ 77,2931 -#define LCP_PROTO_REJ 78,2997 -#define LCP_ECHO_REQ 79,3067 -#define LCP_ECHO_REPLY 80,3134 -#define LCP_DISC_REQ 81,3199 -#define LCP_OPT_MRU 83,3270 -#define LCP_OPT_ASYNC_MAP 84,3337 -#define LCP_OPT_AUTH_PROTO 85,3411 -#define LCP_OPT_QUAL_PROTO 86,3481 -#define LCP_OPT_MAGIC 87,3544 -#define LCP_OPT_RESERVED 88,3603 -#define LCP_OPT_PROTO_COMP 89,3658 -#define LCP_OPT_ADDR_COMP 90,3731 -#define IPCP_CONF_REQ 92,3812 -#define IPCP_CONF_ACK 93,3885 -#define IPCP_CONF_NAK 94,3962 -#define IPCP_CONF_REJ 95,4040 -#define IPCP_TERM_REQ 96,4112 -#define IPCP_TERM_ACK 97,4185 -#define IPCP_CODE_REJ 98,4262 -#define CISCO_MULTICAST 100,4330 -#define CISCO_UNICAST 101,4400 -#define CISCO_KEEPALIVE 102,4468 -#define CISCO_ADDR_REQ 103,4539 -#define CISCO_ADDR_REPLY 104,4607 -#define CISCO_KEEPALIVE_REQ 105,4673 -struct ppp_header ppp_header107,4744 -#define PPP_HEADER_LEN 112,4808 -struct lcp_header lcp_header114,4868 -#define LCP_HEADER_LEN 119,4922 -struct cisco_packet cisco_packet121,4982 -#define CISCO_PACKET_LEN 129,5074 -#define CISCO_BIG_PACKET_LEN 130,5102 -static struct sppp *spppq;132,5135 -static struct timer_list sppp_keepalive_timer;133,5162 -static spinlock_t spppq_lock 134,5209 -static struct sk_buff_head tx_queue;137,5328 -static int debug;155,6166 -static void sppp_flush_xmit(165,6519 -static void if_down(176,6683 -static void sppp_set_timeout(187,6856 -static void sppp_clear_timeout(200,7146 -void sppp_input 224,7830 -static int sppp_hard_header(364,11114 -static int sppp_rebuild_header(397,11790 -static void sppp_keepalive 406,11911 -static void sppp_lcp_input 469,13522 -static void sppp_cisco_input 706,19976 -static void sppp_cp_send 798,22376 -static void sppp_cisco_send 848,23741 -int sppp_close 895,25065 -int sppp_open 922,25751 -int sppp_reopen 958,26674 -int sppp_change_mtu(993,27463 -int sppp_do_ioctl(1015,28102 -void sppp_attach(1066,29260 -void sppp_detach 1138,31088 -sppp_lcp_conf_parse_options 1167,31810 -static void sppp_ipcp_input 1213,32810 -static void sppp_lcp_open 1314,35495 -static void sppp_ipcp_open 1332,35914 -static void sppp_cp_timeout 1343,36146 -static char *sppp_lcp_type_name 1395,37457 -static char *sppp_ipcp_type_name 1415,38070 -static void sppp_print_bytes 1431,38513 -static int sppp_rcv(1450,39049 -struct packet_type sppp_packet_type 1458,39252 -static char banner[1463,39357 -static char banner[] __initdata 1463,39357 -static int __init sync_ppp_init(1468,39555 -static void __exit sync_ppp_cleanup(1479,39723 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/x25_asy.h,377 -#define _LINUX_X25_ASY_H2,25 -#define SL_NRUNIT 5,81 -#define SL_MTU 8,211 -#define X25_END 11,270 -#define X25_ESC 12,329 -#define X25_ESCAPE(X25_ESCAPE13,389 -#define X25_UNESCAPE(X25_UNESCAPE14,422 -struct x25_asy x25_asy17,459 -#define SLF_INUSE 38,1233 -#define SLF_ESCAPE 39,1289 -#define SLF_ERROR 40,1359 -#define SLF_OUTWAIT 41,1428 -#define X25_ASY_MAGIC 46,1483 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/cosa.h,1130 -#define COSA_H__22,858 -#define SR_RX_DMA_ENA 28,956 -#define SR_TX_DMA_ENA 29,1018 -#define SR_RST 30,1083 -#define SR_USR_INT_ENA 31,1131 -#define SR_TX_INT_ENA 32,1195 -#define SR_RX_INT_ENA 33,1266 -#define SR_USR_RQ 36,1370 -#define SR_TX_RDY 37,1439 -#define SR_RX_RDY 38,1503 -#define SR_UP_REQUEST 40,1562 -#define SR_DOWN_REQUEST 42,1678 -#define SR_END_OF_TRANSFER 44,1800 -#define SR_CMD_FROM_SRP_MASK 47,1933 -#define SR_RDY_RCV 50,2051 -#define SR_RDY_SND 51,2113 -#define SR_CMD_PND 52,2172 -#define SR_PKT_UP 55,2263 -#define SR_PKT_DOWN 56,2335 -#define SR_LOAD_ADDR 60,2435 -#define SR_START_ADDR 61,2500 -#define COSA_LOAD_ADDR 63,2567 -#define COSA_MAX_FIRMWARE_SIZE 64,2633 -struct cosa_download cosa_download67,2686 -#define COSAIORSET 73,2772 -#define COSAIOSTRT 76,2845 -#define COSAIORMEM 79,2929 -#define COSAIODOWNLD 82,3060 -#define COSAIORTYPE 85,3190 -#define COSAIORIDSTR 88,3278 -#define COSA_MAX_ID_STRING 90,3373 -#define COSAIONRCARDS 97,3583 -#define COSAIONRCHANS 100,3666 -#define COSAIOBMSET 103,3754 -#define COSA_BM_OFF 105,3807 -#define COSA_BM_ON 106,3877 -#define COSAIOBMGET 109,3976 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/wanxl.h,3034 -#define RESET_WHILE_LOADING 12,352 -#define DETECT_RAM 15,454 -#define QUICC_MEMCPY_USES_PLX 16,518 -#define STATUS_CABLE_V35 19,600 -#define STATUS_CABLE_X21 20,627 -#define STATUS_CABLE_V24 21,654 -#define STATUS_CABLE_EIA530 22,681 -#define STATUS_CABLE_INVALID 23,711 -#define STATUS_CABLE_NONE 24,742 -#define STATUS_CABLE_DCE 26,771 -#define STATUS_CABLE_DSR 27,803 -#define STATUS_CABLE_DCD 28,835 -#define STATUS_CABLE_PM_SHIFT 29,867 -#define PDM_OFFSET 31,900 -#define TX_BUFFERS 33,927 -#define RX_BUFFERS 34,965 -#define RX_QUEUE_LENGTH 35,987 -#define PACKET_EMPTY 37,1056 -#define PACKET_FULL 38,1083 -#define PACKET_SENT 39,1109 -#define PACKET_UNDERRUN 40,1149 -#define PACKET_PORT_MASK 41,1193 -#define DOORBELL_FROM_CARD_TX_0 44,1286 -#define DOORBELL_FROM_CARD_TX_1 45,1351 -#define DOORBELL_FROM_CARD_TX_2 46,1386 -#define DOORBELL_FROM_CARD_TX_3 47,1421 -#define DOORBELL_FROM_CARD_RX 48,1456 -#define DOORBELL_FROM_CARD_CABLE_0 49,1489 -#define DOORBELL_FROM_CARD_CABLE_1 50,1554 -#define DOORBELL_FROM_CARD_CABLE_2 51,1591 -#define DOORBELL_FROM_CARD_CABLE_3 52,1628 -#define DOORBELL_TO_CARD_OPEN_0 54,1666 -#define DOORBELL_TO_CARD_OPEN_1 55,1701 -#define DOORBELL_TO_CARD_OPEN_2 56,1736 -#define DOORBELL_TO_CARD_OPEN_3 57,1771 -#define DOORBELL_TO_CARD_CLOSE_0 58,1806 -#define DOORBELL_TO_CARD_CLOSE_1 59,1841 -#define DOORBELL_TO_CARD_CLOSE_2 60,1876 -#define DOORBELL_TO_CARD_CLOSE_3 61,1911 -#define DOORBELL_TO_CARD_TX_0 62,1946 -#define DOORBELL_TO_CARD_TX_1 63,2008 -#define DOORBELL_TO_CARD_TX_2 64,2041 -#define DOORBELL_TO_CARD_TX_3 65,2075 -#define TASK_SCC_0 68,2183 -#define TASK_SCC_1 69,2207 -#define TASK_SCC_2 70,2231 -#define TASK_SCC_3 71,2255 -#define ALIGN32(ALIGN3273,2280 -#define BUFFER_LENGTH 74,2324 -#define BUFFERS_ADDR 77,2460 -#define PLX_OFFSET 80,2523 -#define PLX_OFFSET 82,2551 -#define PLX_MAILBOX_0 85,2590 -#define PLX_MAILBOX_1 86,2633 -#define PLX_MAILBOX_2 87,2676 -#define PLX_MAILBOX_3 88,2719 -#define PLX_MAILBOX_4 89,2762 -#define PLX_MAILBOX_5 90,2805 -#define PLX_MAILBOX_6 91,2848 -#define PLX_MAILBOX_7 92,2891 -#define PLX_DOORBELL_TO_CARD 93,2934 -#define PLX_DOORBELL_FROM_CARD 94,2983 -#define PLX_INTERRUPT_CS 95,3034 -#define PLX_CONTROL 96,3079 -#define PLX_DMA_0_MODE 99,3142 -#define PLX_DMA_0_PCI 100,3180 -#define PLX_DMA_0_LOCAL 101,3217 -#define PLX_DMA_0_LENGTH 102,3256 -#define PLX_DMA_0_DESC 103,3295 -#define PLX_DMA_1_MODE 104,3333 -#define PLX_DMA_1_PCI 105,3371 -#define PLX_DMA_1_LOCAL 106,3408 -#define PLX_DMA_1_LENGTH 107,3447 -#define PLX_DMA_1_DESC 108,3486 -#define PLX_DMA_CMD_STS 109,3524 -#define PLX_DMA_ARBITR_0 110,3563 -#define PLX_DMA_ARBITR_1 111,3602 -#define DESC_LENGTH 114,3649 -#define STATUS_OPEN 118,3729 -#define STATUS_CABLE 119,3752 -#define STATUS_RX_OVERRUNS 120,3792 -#define STATUS_RX_FRAME_ERRORS 121,3838 -#define STATUS_PARITY 124,3914 -#define STATUS_ENCODING 125,3966 -#define STATUS_CLOCKING 126,4011 -#define STATUS_TX_DESCS 127,4058 -}desc_t;desc_t135,4221 -}port_status_t;port_status_t150,4454 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/pci200syn.c,1621 -static const char* version 37,941 -static const char* devname 38,1011 -#define DEBUG_RINGS41,1071 -#define PCI200SYN_PLX_SIZE 43,1092 -#define PCI200SYN_SCA_SIZE 44,1161 -#define ALL_PAGES_ALWAYS_MAPPED45,1222 -#define NEED_DETECT_RAM46,1254 -#define NEED_SCA_MSCI_INTR47,1278 -#define MAX_TX_BUFFERS 48,1305 -static int pci_clock_freq 50,1333 -#define CLOCK_BASE 51,1371 -#define PCI_VENDOR_ID_GORAMO 53,1406 -#define PCI_DEVICE_ID_PCI200SYN 54,1477 -}plx9052;plx905271,2218 -typedef struct port_s port_s75,2231 -}port_t;port_t88,2680 -typedef struct card_s card_s92,2692 -}card_t;card_t102,3076 -#define sca_in(sca_in105,3087 -#define sca_out(sca_out106,3147 -#define sca_inw(sca_inw107,3221 -#define sca_outw(sca_outw108,3282 -#define sca_inl(sca_inl109,3356 -#define sca_outl(sca_outl110,3417 -#define port_to_card(port_to_card112,3492 -#define log_node(log_node113,3537 -#define phy_node(phy_node114,3583 -#define winbase(winbase115,3629 -#define get_port(get_port116,3673 -#define sca_flush(sca_flush117,3728 -static inline void new_memcpy_toio(119,3781 -#define memcpy_toio 133,4036 -static void pci200_set_iface(138,4096 -static int pci200_open(178,5006 -static int pci200_close(194,5240 -static int pci200_ioctl(204,5385 -static void pci200_pci_remove_one(260,6753 -static int __devinit pci200_pci_init_one(293,7416 -static struct pci_device_id pci200_pci_tbl[447,11694 -static struct pci_device_id pci200_pci_tbl[] __devinitdata 447,11694 -static struct pci_driver pci200_pci_driver 454,11858 -static int __init pci200_init_module(462,12029 -static void __exit pci200_cleanup_module(476,12327 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/cycx_drv.c,993 -#define MOD_VERSION 62,2658 -#define MOD_RELEASE 63,2680 -#define wait_cyc(wait_cyc81,3214 -static char modname[86,3305 -static char fullname[87,3341 -static char copyright[88,3394 -static long cyc2x_dpmbase_options[95,3683 -static long cycx_2x_irq_options[102,3914 -int __init cycx_drv_init(113,4168 -void cycx_drv_cleanup(123,4383 -int cycx_setup(138,4694 -int cycx_down(182,5847 -void cycx_inten(190,5983 -void cycx_intr(197,6121 -int cycx_exec(206,6315 -int cycx_peek(224,6601 -int cycx_poke(237,6909 -static int memory_exists(252,7235 -static void reset_load(270,7518 -static int buffer_load(284,7916 -static void cycx_start(293,8145 -static void cycx_reset_boot(307,8503 -static int cycx_data_boot(324,8926 -static int cycx_code_boot(355,9615 -static int load_cyc2x(387,10388 -static void cycx_bootcfg(514,14118 -static int detect_cyc2x(526,14527 -static int get_option_index(536,14750 -static int reset_cyc2x(548,14934 -static void delay_cycx(559,15111 -static u16 checksum(566,15268 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/cycx_main.c,570 -unsigned int cycx_debug;55,2394 -#define CYCX_DRV_VERSION 65,2645 -#define CYCX_DRV_RELEASE 66,2693 -#define CYCX_MAX_CARDS 67,2758 -#define CONFIG_CYCX_CARDS 69,2814 -static char cycx_drvname[85,3234 -static char cycx_fullname[86,3274 -static char cycx_copyright[87,3338 -static int cycx_ncards 89,3443 -static struct cycx_device *cycx_card_array;90,3487 -int __init cycx_init(106,3871 -static void __exit cycx_exit(160,5277 -static int cycx_wan_setup(185,5932 -static int cycx_wan_shutdown(278,7996 -static irqreturn_t cycx_isr(306,8621 -void cycx_set_state(327,9076 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/farsync.c,5137 -#define FST_MAX_PORTS 49,1437 -#define FST_MAX_CARDS 50,1471 -#define FST_TX_QUEUE_LEN 54,1551 -#define FST_TXQ_DEPTH 59,1733 -#define FST_HIGH_WATER_MARK 64,1930 -#define FST_LOW_WATER_MARK 66,2024 -#define FST_MAX_MTU 68,2129 -#define FST_DEF_MTU 69,2190 -#define FST_TX_TIMEOUT 71,2252 -#define ARPHRD_MYTYPE 74,2314 -#define ARPHRD_MYTYPE 76,2376 -int fst_txq_low 82,2508 -int fst_txq_high 83,2546 -int fst_max_reads 84,2586 -int fst_excluded_cards 85,2609 -int fst_excluded_list[86,2637 -#define SMC_VERSION 103,3309 -#define FST_MEMSIZE 105,3333 -#define SMC_BASE 107,3395 -#define BFM_BASE 109,3506 -#define LEN_TX_BUFFER 112,3601 -#define LEN_RX_BUFFER 113,3657 -#define LEN_SMALL_TX_BUFFER 115,3685 -#define LEN_SMALL_RX_BUFFER 116,3765 -#define NUM_TX_BUFFER 118,3798 -#define NUM_RX_BUFFER 119,3867 -#define INT_RETRY_TIME 122,3935 -struct txdesc txdesc130,4329 -struct rxdesc rxdesc145,4815 -#define cnv_bcnt(cnv_bcnt161,5421 -#define DMA_OWN 164,5498 -#define TX_STP 165,5562 -#define TX_ENP 166,5617 -#define RX_ERR 167,5670 -#define RX_FRAM 168,5735 -#define RX_OFLO 169,5788 -#define RX_CRC 170,5842 -#define RX_HBUF 171,5891 -#define RX_STP 172,5943 -#define RX_ENP 173,5998 -#define MAX_CIRBUFF 178,6212 -struct cirbuff cirbuff180,6240 -#define CTLA_CHG 189,6488 -#define CTLB_CHG 190,6546 -#define CTLC_CHG 191,6575 -#define CTLD_CHG 192,6604 -#define INIT_CPLT 194,6634 -#define INIT_FAIL 195,6693 -#define ABTA_SENT 197,6751 -#define ABTB_SENT 198,6797 -#define ABTC_SENT 199,6826 -#define ABTD_SENT 200,6855 -#define TXA_UNDF 202,6885 -#define TXB_UNDF 203,6943 -#define TXC_UNDF 204,6972 -#define TXD_UNDF 205,7001 -#define F56_INT 207,7031 -#define M32_INT 208,7060 -#define TE1_ALMA 210,7090 -struct port_cfg port_cfg213,7186 -struct su_config su_config224,7556 -struct su_status su_status246,7880 -struct fst_shared fst_shared265,8426 -#define END_SIG 361,11145 -#define NOP 364,11225 -#define ACK 365,11270 -#define NAK 366,11340 -#define STARTPORT 367,11410 -#define STOPPORT 368,11461 -#define ABORTTX 369,11511 -#define SETV24O 370,11576 -#define CNTRL_9052 373,11657 -#define CNTRL_9054 374,11709 -#define INTCSR_9052 376,11762 -#define INTCSR_9054 377,11831 -#define DMAMODE0 384,12034 -#define DMAPADR0 385,12063 -#define DMALADR0 386,12092 -#define DMASIZ0 387,12121 -#define DMADPR0 388,12150 -#define DMAMODE1 389,12179 -#define DMAPADR1 390,12208 -#define DMALADR1 391,12237 -#define DMASIZ1 392,12266 -#define DMADPR1 393,12295 -#define DMACSR0 394,12324 -#define DMACSR1 395,12353 -#define DMAARB 396,12382 -#define DMATHR 397,12411 -#define DMADAC0 398,12440 -#define DMADAC1 399,12469 -#define DMAMARBR 400,12498 -#define FST_MIN_DMA_LEN 402,12528 -#define FST_RX_DMA_INT 403,12555 -#define FST_TX_DMA_INT 404,12584 -#define FST_CARD_INT 405,12613 -struct buf_window buf_window408,12708 -#define BUF_OFFSET(BUF_OFFSET414,12924 -struct fst_port_info fst_port_info423,13158 -struct fst_card_info fst_card_info445,13912 -#define dev_to_port(dev_to_port479,15146 -#define port_to_dev(port_to_dev480,15193 -#define WIN_OFFSET(WIN_OFFSET492,15668 -#define FST_RDB(FST_RDB494,15739 -#define FST_RDW(FST_RDW495,15796 -#define FST_RDL(FST_RDL496,15853 -#define FST_WRB(FST_WRB498,15911 -#define FST_WRW(FST_WRW499,15974 -#define FST_WRL(FST_WRL500,16037 -static int fst_debug_mask 507,16145 -#define dbg(dbg514,16461 -#define dbg(dbg520,16671 -#define printk_err(printk_err525,16740 -#define printk_warn(printk_warn526,16820 -#define printk_info(printk_info527,16900 -static struct pci_device_id fst_pci_dev_id[532,17016 -static struct pci_device_id fst_pci_dev_id[] __devinitdata 532,17016 -struct fst_card_info *fst_card_array[577,18626 -spinlock_t fst_work_q_lock;578,18679 -u64 fst_work_txq;579,18707 -u64 fst_work_intq;580,18725 -fst_q_work_item(583,18757 -fst_process_tx_work_q(605,19261 -fst_process_int_work_q(635,19899 -fst_cpureset(677,21019 -fst_cpurelease(727,22388 -fst_clear_intr(749,22829 -fst_enable_intr(763,23139 -fst_disable_intr(775,23391 -fst_process_rx_status(787,23680 -fst_init_dma(827,24282 -fst_tx_dma_complete(843,24643 -fst_rx_dma_complete(863,25156 -fst_rx_dma(906,26241 -fst_tx_dma(934,27055 -fst_issue_cmd(963,27987 -fst_op_raise(1009,29038 -fst_op_lower(1019,29284 -fst_rx_config(1032,29570 -fst_tx_config(1060,30289 -fst_intr_te1_alarm(1088,30968 -fst_intr_ctlchg(1134,31925 -fst_log_rx_error(1157,32475 -fst_recover_rx_error(1192,33437 -fst_intr_rx(1231,34447 -do_bottom_half_tx(1358,37738 -do_bottom_half_rx(1469,40631 -fst_intr(1503,41450 -check_started_ok(1671,45763 -set_conf_from_info(1712,47039 -gather_conf_info(1802,50018 -fst_set_iface(1898,53245 -fst_get_iface(1973,54626 -fst_ioctl(2027,55876 -fst_openport(2179,59325 -fst_closeport(2217,60175 -fst_open(2232,60457 -fst_close(2253,60773 -fst_attach(2280,61407 -fst_tx_timeout(2291,61679 -fst_start_xmit(2311,62123 -static char *type_strings[2401,64566 -static char *type_strings[] __devinitdata 2401,64566 -fst_init_card(2412,64777 -fst_add_one(2447,65857 -fst_remove_one(2653,72139 -static struct pci_driver fst_driver 2685,72858 -fst_init(2695,73110 -fst_cleanup_module(2706,73296 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdla_fr.c,4323 -#define MAX_CMD_RETRY 175,9164 -#define FR_HEADER_LEN 177,9228 -#define FR_CHANNEL_MTU 178,9289 -#define Q922_UI 181,9382 -#define Q922_XID 182,9433 -#define DLCI_NOT_CONFIGURED 185,9487 -#define DLCI_CONFIG_PENDING 186,9520 -#define DLCI_CONFIGURED 187,9553 -#define CIR_ENABLED 190,9609 -#define CIR_DISABLED 191,9634 -#define FRAME_RELAY_API 193,9661 -#define MAX_BH_BUFF 194,9687 -#define CVHexToAscii(CVHexToAscii197,9737 -typedef struct fr_channelfr_channel204,10129 -} fr_channel_t;fr_channel_t267,12526 -#define NO_ROUTE 270,12568 -#define ADD_ROUTE 271,12590 -#define ROUTE_ADDED 272,12614 -#define REMOVE_ROUTE 273,12639 -#define ARP_REQ 274,12666 -#define INARP_NONE 277,12709 -#define INARP_REQUEST 278,12734 -#define INARP_CONFIGURED 279,12762 -#define TMR_INT_ENABLED_UDP 282,12855 -#define TMR_INT_ENABLED_UPDATE 283,12891 -#define TMR_INT_ENABLED_ARP 284,12928 -#define TMR_INT_ENABLED_UPDATE_STATE 285,12961 -#define TMR_INT_ENABLED_CONFIG 286,13004 -#define TMR_INT_ENABLED_UNCONFIG 287,13040 -typedef struct dlci_statusdlci_status290,13080 -} dlci_status_t;dlci_status_t294,13167 -typedef struct dlci_IB_mappingdlci_IB_mapping296,13185 -} dlci_IB_mapping_t;dlci_IB_mapping_t300,13283 -typedef struct fr_dlci_interface fr_dlci_interface305,13450 -} fr_dlci_interface_t;fr_dlci_interface_t310,13594 -static int rCount 313,13693 -static int Intr_test_counter;321,13898 -int wpf_init(465,19673 -static int update(752,26964 -static int new_if(797,28108 -static int del_if(1025,33645 -static void disable_comm 1062,34585 -static int wpf_exec 1074,34927 -static int if_init(1121,36078 -static int if_open(1200,38413 -static int if_close(1240,39398 -static int if_rebuild_hdr 1261,39830 -static void if_tx_timeout(1275,40226 -static int if_send(1318,41741 -static int setup_for_delayed_transmit(1565,48989 -static int chk_bcast_mcast_addr(1618,50411 -static int reply_udp(1663,52003 -unsigned short calc_checksum 1745,54015 -static void switch_net_numbers(1774,54514 -static struct net_device_stats *if_stats(1830,56333 -static void fr_isr 1850,56867 -static void rx_intr 1949,59471 -static void tx_intr(2223,66738 -static void timer_intr(2331,69930 -static void spur_intr 2440,72673 -static int handle_IPXWAN(2454,73063 -static void process_route(2589,77010 -static int fr_read_version 2675,79118 -static int fr_configure 2699,79673 -static int fr_dlci_configure 2734,80506 -static int fr_set_intr_mode 2754,81048 -static int fr_comm_enable 2784,81800 -static void fr_comm_disable 2807,82429 -static int fr_get_err_stats 2837,83041 -static int fr_get_stats 2868,83851 -static int fr_add_dlci 2897,84583 -static int fr_activate_dlci 2921,85190 -static int fr_delete_dlci 2945,85803 -static int fr_issue_isf 2970,86338 -static unsigned int fr_send_hdr 2988,86687 -static int fr_send_data_header 3006,87153 -static int fr_send 3039,88009 -static int fr_event 3082,89148 -static int fr_modem_failure 3174,91321 -static int fr_dlci_change 3194,91753 -static int fr_init_dlci 3280,93683 -static int update_chan_state(3321,94657 -static void set_chan_state(3367,95645 -static struct net_device* find_channel(3420,97019 -static int is_tx_ready 3435,97439 -static unsigned int dec_to_uint 3453,97842 -static int store_udp_mgmt_pkt(3472,98212 -static int process_udp_mgmt_pkt(3510,99385 -int send_inarp_request(3924,111636 -int is_arp(3986,113389 -int process_ARP(4001,113699 -static void trigger_fr_arp(4158,118227 -static void fr_arp 4175,118605 -static int intr_test(4201,119350 -static int udp_pkt_type(4234,120077 -void init_chan_statistics(4259,120858 -void init_global_statistics(4272,121352 -static void read_DLCI_IB_mapping(4278,121519 -void s508_s514_lock(4324,122627 -void s508_s514_unlock(4336,122839 -static int bh_enqueue(4369,123613 -static void trigger_fr_bh 4407,124311 -static void fr_bh(4441,125192 -static int fr_bh_cleanup(4488,126192 -static void trigger_fr_poll(4522,127028 -static void fr_poll(4552,127826 -static int check_tx_status(4639,129703 -struct net_device *move_dev_to_next(4669,130445 -static void trigger_config_fr 4693,130968 -static void config_fr 4723,131754 -static void trigger_unconfig_fr(4798,133574 -static void unconfig_fr 4848,134830 -static int setup_fr_header(4873,135366 -static int check_dlci_config 4925,136340 -static void initialize_rx_tx_buffers 5022,138545 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hd64572.h,11090 -#define __HD64572_H27,723 -#define ILAR 30,774 -#define PABR0L 33,825 -#define PABR0H 34,887 -#define PABR1L 35,949 -#define PABR1H 36,1011 -#define WCRL 37,1073 -#define WCRM 38,1121 -#define WCRH 39,1169 -#define IVR 42,1244 -#define IMVR 43,1293 -#define ITCR 44,1352 -#define ISR0 45,1403 -#define ISR1 46,1455 -#define IER0 47,1507 -#define IER1 48,1559 -#define M_REG(M_REG51,1672 -#define DRX_REG(DRX_REG52,1727 -#define DTX_REG(DTX_REG53,1786 -#define TRX_REG(TRX_REG54,1852 -#define TTX_REG(TTX_REG55,1913 -#define ST_REG(ST_REG56,1981 -#define IR0_DRX(IR0_DRX57,2043 -#define IR0_DTX(IR0_DTX58,2108 -#define IR0_M(IR0_M59,2178 -#define MSCI0_OFFSET 62,2269 -#define MSCI1_OFFSET 63,2295 -#define MD0 65,2322 -#define MD1 66,2357 -#define MD2 67,2392 -#define MD3 68,2427 -#define CTL 69,2462 -#define RXS 70,2498 -#define TXS 71,2538 -#define EXS 72,2578 -#define TMCT 73,2633 -#define TMCR 74,2677 -#define CMD 75,2721 -#define ST0 76,2757 -#define ST1 77,2794 -#define ST2 78,2831 -#define ST3 79,2868 -#define ST4 80,2905 -#define FST 81,2942 -#define IE0 82,2984 -#define IE1 83,3031 -#define IE2 84,3078 -#define IE4 85,3125 -#define FIE 86,3172 -#define SA0 87,3224 -#define SA1 88,3266 -#define IDL 89,3308 -#define TRBL 90,3346 -#define TRBK 91,3391 -#define TRBJ 92,3436 -#define TRBH 93,3481 -#define TRC0 94,3526 -#define TRC1 95,3575 -#define RRC 96,3624 -#define CST0 97,3670 -#define CST1 98,3722 -#define CST2 99,3774 -#define CST3 100,3826 -#define GPO 101,3878 -#define TFS 102,3937 -#define TFN 103,3988 -#define TBN 104,4051 -#define RBN 105,4096 -#define TNR0 106,4141 -#define TNR1 107,4191 -#define TCR 108,4241 -#define RNR 109,4293 -#define RCR 110,4340 -#define TIMER0RX_OFFSET 113,4415 -#define TIMER0TX_OFFSET 114,4444 -#define TIMER1RX_OFFSET 115,4473 -#define TIMER1TX_OFFSET 116,4502 -#define TCNTL 118,4532 -#define TCNTH 119,4576 -#define TCONRL 120,4620 -#define TCONRH 121,4673 -#define TCSR 122,4726 -#define TEPR 123,4781 -#define PCR 126,4858 -#define DRR 127,4908 -#define DMER 128,4947 -#define BTCR 129,4995 -#define BOLR 130,5038 -#define DSR_RX(DSR_RX131,5084 -#define DSR_TX(DSR_TX132,5147 -#define DIR_RX(DIR_RX133,5210 -#define DIR_TX(DIR_TX134,5283 -#define FCT_RX(FCT_RX135,5356 -#define FCT_TX(FCT_TX136,5432 -#define DMR_RX(DMR_RX137,5508 -#define DMR_TX(DMR_TX138,5569 -#define DCR_RX(DCR_RX139,5630 -#define DCR_TX(DCR_TX140,5694 -#define DMAC0RX_OFFSET 143,5787 -#define DMAC0TX_OFFSET 144,5815 -#define DMAC1RX_OFFSET 145,5843 -#define DMAC1TX_OFFSET 146,5871 -#define DARL 148,5900 -#define DARH 149,5969 -#define DARB 150,6038 -#define DARBH 151,6107 -#define SARL 152,6178 -#define SARH 153,6249 -#define SARB 154,6320 -#define DARBH 155,6391 -#define BARL 156,6464 -#define BARH 157,6527 -#define BARB 158,6590 -#define BARBH 159,6653 -#define CDAL 160,6718 -#define CDAH 161,6777 -#define CDAB 162,6836 -#define CDABH 163,6895 -#define EDAL 164,6956 -#define EDAH 165,7013 -#define EDAB 166,7070 -#define EDABH 167,7127 -#define BFLL 168,7186 -#define BFLH 169,7239 -#define BCRL 170,7292 -#define BCRH 171,7338 -} pcsca_bd_t;pcsca_bd_t180,7678 -}pkt_desc;pkt_desc189,7921 -#define DST_EOT 206,8127 -#define DST_OSB 207,8179 -#define DST_CRC 208,8221 -#define DST_OVR 209,8259 -#define DST_UDR 210,8295 -#define DST_RBIT 211,8332 -#define DST_ABT 212,8373 -#define DST_SHRT 213,8407 -#define DST_EOM 214,8448 -#define ST_TX_EOM 218,8530 -#define ST_TX_UNDRRUN 219,8576 -#define ST_TX_OWNRSHP 220,8603 -#define ST_TX_EOT 221,8630 -#define ST_RX_EOM 223,8683 -#define ST_RX_SHORT 224,8729 -#define ST_RX_ABORT 225,8774 -#define ST_RX_RESBIT 226,8813 -#define ST_RX_OVERRUN 227,8859 -#define ST_RX_CRC 228,8900 -#define ST_RX_OWNRSHP 229,8937 -#define ST_ERROR_MASK 231,8965 -#define CMCR 234,9024 -#define TECNTL 235,9072 -#define TECNTM 236,9116 -#define TECNTH 237,9160 -#define TECCR 238,9204 -#define URCNTL 239,9253 -#define URCNTH 240,9299 -#define URCCR 241,9345 -#define RECNTL 242,9396 -#define RECNTM 243,9440 -#define RECNTH 244,9484 -#define RECCR 245,9528 -#define ORCNTL 246,9577 -#define ORCNTH 247,9622 -#define ORCCR 248,9667 -#define CECNTL 249,9717 -#define CECNTH 250,9758 -#define CECCR 251,9799 -#define ABCNTL 252,9845 -#define ABCNTH 253,9894 -#define ABCCR 254,9943 -#define SHCNTL 255,9997 -#define SHCNTH 256,10046 -#define SHCCR 257,10095 -#define RSCNTL 258,10149 -#define RSCNTH 259,10199 -#define RSCCR 260,10249 -#define IR0_DMIC 264,10343 -#define IR0_DMIB 265,10371 -#define IR0_DMIA 266,10399 -#define IR0_EFT 267,10427 -#define IR0_DMAREQ 268,10455 -#define IR0_TXINT 269,10485 -#define IR0_RXINTB 270,10514 -#define IR0_RXINTA 271,10544 -#define IR0_TXRDY 272,10574 -#define IR0_RXRDY 273,10603 -#define MD0_CRC16_0 275,10633 -#define MD0_CRC16_1 276,10658 -#define MD0_CRC32 277,10683 -#define MD0_CRC_CCITT 278,10706 -#define MD0_CRCC0 279,10733 -#define MD0_CRCC1 280,10756 -#define MD0_AUTO_ENA 281,10779 -#define MD0_ASYNC 282,10805 -#define MD0_BY_MSYNC 283,10828 -#define MD0_BY_BISYNC 284,10854 -#define MD0_BY_EXT 285,10881 -#define MD0_BIT_SYNC 286,10905 -#define MD0_TRANSP 287,10931 -#define MD0_HDLC 289,10956 -#define MD0_CRC_NONE 291,11011 -#define MD0_CRC_16_0 292,11037 -#define MD0_CRC_16 293,11063 -#define MD0_CRC_ITU32 294,11087 -#define MD0_CRC_ITU 295,11114 -#define MD1_NOADDR 297,11140 -#define MD1_SADDR1 298,11164 -#define MD1_SADDR2 299,11188 -#define MD1_DADDR 300,11212 -#define MD2_NRZI_IEEE 302,11236 -#define MD2_MANCHESTER 303,11263 -#define MD2_FM_MARK 304,11291 -#define MD2_FM_SPACE 305,11316 -#define MD2_LOOPBACK 306,11342 -#define MD2_F_DUPLEX 308,11395 -#define MD2_AUTO_ECHO 309,11421 -#define MD2_LOOP_HI_Z 310,11448 -#define MD2_LOOP_MIR 311,11475 -#define MD2_ADPLL_X8 312,11501 -#define MD2_ADPLL_X16 313,11527 -#define MD2_ADPLL_X32 314,11554 -#define MD2_NRZ 315,11581 -#define MD2_NRZI 316,11603 -#define MD2_NRZ_IEEE 317,11625 -#define MD2_MANCH 318,11651 -#define MD2_FM1 319,11674 -#define MD2_FM0 320,11696 -#define MD2_FM 321,11718 -#define CTL_RTS 323,11740 -#define CTL_DTR 324,11762 -#define CTL_SYN 325,11784 -#define CTL_IDLC 326,11806 -#define CTL_UDRNC 327,11828 -#define CTL_URSKP 328,11851 -#define CTL_URCT 329,11874 -#define CTL_NORTS 331,11897 -#define CTL_NODTR 332,11920 -#define CTL_IDLE 333,11943 -#define RXS_BR0 335,11966 -#define RXS_BR1 336,11988 -#define RXS_BR2 337,12010 -#define RXS_BR3 338,12032 -#define RXS_ECLK 339,12054 -#define RXS_ECLK_NS 340,12076 -#define RXS_IBRG 341,12101 -#define RXS_PLL1 342,12123 -#define RXS_PLL2 343,12145 -#define RXS_PLL3 344,12167 -#define RXS_DRTXC 345,12189 -#define TXS_BR0 347,12213 -#define TXS_BR1 348,12235 -#define TXS_BR2 349,12257 -#define TXS_BR3 350,12279 -#define TXS_ECLK 351,12301 -#define TXS_IBRG 352,12323 -#define TXS_RCLK 353,12345 -#define TXS_DTRXC 354,12367 -#define EXS_RES0 356,12391 -#define EXS_RES1 357,12413 -#define EXS_RES2 358,12435 -#define EXS_TES0 359,12457 -#define EXS_TES1 360,12479 -#define EXS_TES2 361,12501 -#define CLK_BRG_MASK 363,12524 -#define CLK_PIN_OUT 364,12550 -#define CLK_LINE 365,12575 -#define CLK_BRG 366,12624 -#define CLK_TX_RXCLK 367,12685 -#define CMD_RX_RST 369,12741 -#define CMD_RX_ENA 370,12765 -#define CMD_RX_DIS 371,12789 -#define CMD_RX_CRC_INIT 372,12813 -#define CMD_RX_MSG_REJ 373,12842 -#define CMD_RX_MP_SRCH 374,12870 -#define CMD_RX_CRC_EXC 375,12898 -#define CMD_RX_CRC_FRC 376,12926 -#define CMD_TX_RST 377,12954 -#define CMD_TX_ENA 378,12978 -#define CMD_TX_DISA 379,13002 -#define CMD_TX_CRC_INIT 380,13027 -#define CMD_TX_CRC_EXC 381,13056 -#define CMD_TX_EOM 382,13084 -#define CMD_TX_ABORT 383,13108 -#define CMD_TX_MP_ON 384,13134 -#define CMD_TX_BUF_CLR 385,13160 -#define CMD_TX_DISB 386,13188 -#define CMD_CH_RST 387,13213 -#define CMD_SRCH_MODE 388,13237 -#define CMD_NOP 389,13264 -#define CMD_RESET 391,13287 -#define CMD_TX_ENABLE 392,13310 -#define CMD_RX_ENABLE 393,13337 -#define ST0_RXRDY 395,13365 -#define ST0_TXRDY 396,13388 -#define ST0_RXINTB 397,13411 -#define ST0_RXINTA 398,13435 -#define ST0_TXINT 399,13459 -#define ST1_IDLE 401,13483 -#define ST1_ABORT 402,13505 -#define ST1_CDCD 403,13528 -#define ST1_CCTS 404,13550 -#define ST1_SYN_FLAG 405,13572 -#define ST1_CLMD 406,13598 -#define ST1_TXIDLE 407,13620 -#define ST1_UDRN 408,13644 -#define ST2_CRCE 410,13667 -#define ST2_ONRN 411,13689 -#define ST2_RBIT 412,13711 -#define ST2_ABORT 413,13733 -#define ST2_SHORT 414,13756 -#define ST2_EOM 415,13779 -#define ST3_RX_ENA 417,13802 -#define ST3_TX_ENA 418,13826 -#define ST3_DCD 419,13850 -#define ST3_CTS 420,13872 -#define ST3_SRCH_MODE 421,13894 -#define ST3_SLOOP 422,13921 -#define ST3_GPI 423,13944 -#define ST4_RDNR 425,13967 -#define ST4_RDCR 426,13989 -#define ST4_TDNR 427,14011 -#define ST4_TDCR 428,14033 -#define ST4_OCLM 429,14055 -#define ST4_CFT 430,14077 -#define ST4_CGPI 431,14099 -#define FST_CRCEF 433,14122 -#define FST_OVRNF 434,14145 -#define FST_RBIF 435,14168 -#define FST_ABTF 436,14190 -#define FST_SHRTF 437,14212 -#define FST_EOMF 438,14235 -#define IE0_RXRDY 440,14258 -#define IE0_TXRDY 441,14281 -#define IE0_RXINTB 442,14304 -#define IE0_RXINTA 443,14328 -#define IE0_TXINT 444,14352 -#define IE0_UDRN 445,14375 -#define IE0_CDCD 446,14443 -#define IE1_IDLD 448,14511 -#define IE1_ABTD 449,14533 -#define IE1_CDCD 450,14555 -#define IE1_CCTS 451,14577 -#define IE1_SYNCD 452,14599 -#define IE1_CLMD 453,14622 -#define IE1_IDL 454,14644 -#define IE1_UDRN 455,14666 -#define IE2_CRCE 457,14689 -#define IE2_OVRN 458,14711 -#define IE2_RBIT 459,14733 -#define IE2_ABT 460,14755 -#define IE2_SHRT 461,14777 -#define IE2_EOM 462,14799 -#define IE4_RDNR 464,14822 -#define IE4_RDCR 465,14844 -#define IE4_TDNR 466,14866 -#define IE4_TDCR 467,14888 -#define IE4_OCLM 468,14910 -#define IE4_CFT 469,14932 -#define IE4_CGPI 470,14954 -#define FIE_CRCEF 472,14977 -#define FIE_OVRNF 473,15000 -#define FIE_RBIF 474,15023 -#define FIE_ABTF 475,15045 -#define FIE_SHRTF 476,15067 -#define FIE_EOMF 477,15090 -#define DSR_DWE 479,15113 -#define DSR_DE 480,15135 -#define DSR_REF 481,15156 -#define DSR_UDRF 482,15178 -#define DSR_COA 483,15200 -#define DSR_COF 484,15222 -#define DSR_BOF 485,15244 -#define DSR_EOM 486,15266 -#define DSR_EOT 487,15288 -#define DIR_REF 489,15311 -#define DIR_UDRF 490,15333 -#define DIR_COA 491,15355 -#define DIR_COF 492,15377 -#define DIR_BOF 493,15399 -#define DIR_EOM 494,15421 -#define DIR_EOT 495,15443 -#define DIR_REFE 497,15466 -#define DIR_UDRFE 498,15488 -#define DIR_COAE 499,15511 -#define DIR_COFE 500,15533 -#define DIR_BOFE 501,15555 -#define DIR_EOME 502,15577 -#define DIR_EOTE 503,15599 -#define DMR_CNTE 505,15622 -#define DMR_NF 506,15644 -#define DMR_SEOME 507,15665 -#define DMR_TMOD 508,15688 -#define DMER_DME 510,15711 -#define DCR_SW_ABT 512,15765 -#define DCR_FCT_CLR 513,15789 -#define DCR_ABORT 515,15815 -#define DCR_CLEAR_EOF 516,15838 -#define PCR_COTE 518,15866 -#define PCR_PR0 519,15888 -#define PCR_PR1 520,15910 -#define PCR_PR2 521,15932 -#define PCR_CCC 522,15954 -#define PCR_BRC 523,15976 -#define PCR_OSB 524,15998 -#define PCR_BURST 525,16020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_media.c,1408 -#define CONFIG_LMC_IGNORE_HARDWARE_HANDSHAKE 34,760 -char *lmc_t1_cables[53,1328 -lmc_media_t lmc_ds3_media 111,3850 -lmc_media_t lmc_hssi_media 126,4423 -lmc_media_t lmc_ssi_media 141,5009 -lmc_media_t lmc_t1_media 155,5584 -lmc_dummy_set_1 171,6166 -lmc_dummy_set2_1 176,6231 -lmc_hssi_init 185,6330 -lmc_hssi_default 193,6481 -lmc_hssi_set_status 207,6878 -lmc_hssi_set_clock 238,7594 -lmc_hssi_get_link_status 265,8328 -lmc_hssi_set_link_status 275,8532 -lmc_hssi_set_crc_length 289,8816 -lmc_hssi_watchdog 308,9246 -lmc_ds3_set_100ft 321,9379 -lmc_ds3_default 337,9827 -lmc_ds3_set_status 352,10278 -lmc_ds3_init 383,11157 -lmc_ds3_set_scram 418,11932 -lmc_ds3_get_link_status 438,12368 -lmc_ds3_set_crc_length 524,15091 -lmc_ds3_watchdog 543,15518 -lmc_ssi_init 554,15607 -lmc_ssi_default 570,15938 -lmc_ssi_set_status 590,16470 -lmc_ssi_set_clock 627,17440 -lmc_ssi_set_speed 650,18079 -lmc_ssi_get_link_status 692,19042 -lmc_ssi_set_link_status 780,21500 -lmc_ssi_set_crc_length 801,22010 -write_av9110_bit 826,22605 -write_av9110 852,23122 -lmc_ssi_watchdog 901,24329 - struct ssicsr2ssicsr2904,24392 -lmc_t1_write 931,24966 -lmc_t1_init 948,25260 -lmc_t1_default 1011,28425 -lmc_t1_set_status 1023,28928 -lmc_t1_get_link_status 1047,29680 -lmc_t1_set_circuit_type 1165,33181 -lmc_t1_set_crc_length 1185,33700 -lmc_t1_set_clock 1210,34255 -lmc_t1_watchdog 1233,34893 -lmc_set_protocol 1238,34951 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_proto.c,774 -#define SPPP_detach(SPPP_detach59,1488 -#define SPPP_open(SPPP_open60,1519 -#define SPPP_reopen(SPPP_reopen61,1542 -#define SPPP_close(SPPP_close62,1573 -#define SPPP_attach(SPPP_attach63,1603 -#define SPPP_do_ioctl(SPPP_do_ioctl64,1634 -#define SPPP_attach(SPPP_attach66,1681 -#define SPPP_detach(SPPP_detach67,1725 -#define SPPP_open(SPPP_open68,1774 -#define SPPP_reopen(SPPP_reopen69,1819 -#define SPPP_close(SPPP_close70,1868 -#define SPPP_do_ioctl(SPPP_do_ioctl71,1915 -void lmc_proto_init(75,2000 -void lmc_proto_attach(97,2504 -void lmc_proto_detach(129,3349 -void lmc_proto_reopen(144,3601 -int lmc_proto_ioctl(161,4002 -void lmc_proto_open(176,4364 -void lmc_proto_close(197,4832 -unsigned short lmc_proto_type(212,5169 -void lmc_proto_netif(234,5821 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_media.h,163 -#define _LMC_MEDIA_H_2,22 -lmc_media_t lmc_ds3_media 4,45 -lmc_media_t lmc_hssi_media 19,618 -lmc_media_t lmc_ssi_media 34,1204 -lmc_media_t lmc_t1_media 48,1779 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_main.c,1314 -#define DRIVER_MAJOR_VERSION 69,1975 -#define DRIVER_MINOR_VERSION 70,2010 -#define DRIVER_SUB_VERSION 71,2045 -#define DRIVER_VERSION 73,2081 -static int lmc_first_load 81,2267 -static int LMC_PKT_BUF_SZ 83,2299 -static struct pci_device_id lmc_pci_tbl[85,2334 -int lmc_ioctl 118,3695 -static void lmc_watchdog 630,20431 -static void lmc_setup(807,25495 -static int __devinit lmc_init_one(825,25963 -static void __devexit lmc_remove_one 1018,31145 -static int lmc_open 1038,31636 -static void lmc_running_reset 1155,34987 -static int lmc_close 1194,36001 -static int lmc_ifdown 1215,36480 -static irqreturn_t lmc_interrupt 1282,38168 -static int lmc_start_xmit 1472,43979 -static int lmc_rx 1565,46419 -static struct net_device_stats *lmc_get_stats 1771,52346 -static struct pci_driver lmc_driver 1790,52806 -static int __init init_lmc(1797,52959 -static void __exit exit_lmc(1802,53038 -unsigned lmc_mii_readreg 1810,53164 -void lmc_mii_writereg 1852,54270 -static void lmc_softreset 1895,55236 -static int lmc_set_config(1978,57847 -void lmc_gpio_mkinput(1985,58039 -void lmc_gpio_mkoutput(1993,58324 -void lmc_led_on(2001,58611 -void lmc_led_off(2014,58997 -static void lmc_reset(2027,59402 -static void lmc_dec_reset(2068,60396 -static void lmc_initcsrs(2131,62455 -static void lmc_driver_timeout(2154,63645 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc.h,21 -#define _LMC_H_2,16 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_proto.h,27 -#define _LMC_PROTO_H_2,22 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_prot.h,53 -#define _LMC_PROTO_H_2,22 -void lmc_proto_init(4,45 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_debug.c,145 -void lmcConsoleLog(11,178 -u_int32_t lmcEventLogIndex 51,931 -u_int32_t lmcEventLogBuf[52,963 -void lmcEventLog 55,1034 -void lmc_trace(67,1382 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_debug.h,864 -#define _LMC_DEBUG_H_2,22 -#define LMC_CONSOLE_LOG(LMC_CONSOLE_LOG6,80 -#define LMC_CONSOLE_LOG(LMC_CONSOLE_LOG8,146 -#define LMC_CONSOLE_LOG(LMC_CONSOLE_LOG11,190 -#define LMC_EVENTLOGSIZE 18,330 -#define LMC_EVENTLOGARGS 19,395 -#define LMC_EVENT_XMT 22,483 -#define LMC_EVENT_XMTEND 23,517 -#define LMC_EVENT_XMTINT 24,551 -#define LMC_EVENT_RCVINT 25,585 -#define LMC_EVENT_RCVEND 26,619 -#define LMC_EVENT_INT 27,653 -#define LMC_EVENT_XMTINTTMO 28,687 -#define LMC_EVENT_XMTPRCTMO 29,721 -#define LMC_EVENT_INTEND 30,755 -#define LMC_EVENT_RESET1 31,789 -#define LMC_EVENT_RESET2 32,823 -#define LMC_EVENT_FORCEDRESET 33,857 -#define LMC_EVENT_WATCHDOG 34,891 -#define LMC_EVENT_BADPKTSURGE 35,925 -#define LMC_EVENT_TBUSY0 36,959 -#define LMC_EVENT_TBUSY1 37,993 -#define LMC_EVENT_LOG(LMC_EVENT_LOG43,1147 -#define LMC_EVENT_LOG(LMC_EVENT_LOG45,1211 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_var.h,6135 -#define _LMC_VAR_H_2,20 -typedef signed char s8;s823,597 -typedef unsigned char u8;u824,621 -typedef signed short s16;s1626,648 -typedef unsigned short u16;u1627,674 -typedef signed int s32;s3229,703 -typedef unsigned int u32;u3230,727 -typedef signed long long s64;s6432,754 -typedef unsigned long long u64;u6433,784 -#define BITS_PER_LONG 35,817 -typedef struct lmc___softc lmc_softc_t;lmc_softc_t43,907 -typedef struct lmc___media lmc_media_t;lmc_media_t44,947 -typedef struct lmc___ctl lmc_ctl_t;lmc_ctl_t45,987 -#define lmc_csrptr_t 47,1024 -#define u_int16_t 48,1062 -#define u_int8_t 49,1084 -#define tulip_uint32_t 50,1104 -#define LMC_REG_RANGE 52,1132 -#define LMC_PRINTF_FMT 54,1160 -#define LMC_PRINTF_ARGS 55,1189 -#define TX_TIMEOUT 57,1237 -#define LMC_TXDESCS 59,1264 -#define LMC_RXDESCS 60,1298 -#define LMC_LINK_UP 62,1333 -#define LMC_LINK_DOWN 63,1366 -#define LMC_CSR_READ(LMC_CSR_READ66,1471 -#define LMC_CSR_WRITE(LMC_CSR_WRITE68,1528 -#define DELAY(DELAY77,1731 -#define lmc_delay(lmc_delay79,1762 -#define LMC_MII_SYNC(LMC_MII_SYNC82,1887 -struct lmc_regfile_t lmc_regfile_t89,2110 -#define csr_enetrom 108,3071 -#define csr_reserved 109,3123 -#define csr_full_duplex 110,3175 -#define csr_bootrom 111,3227 -#define csr_gp 112,3289 -#define csr_watchdog 113,3342 -#define csr_gp_timer 114,3395 -#define csr_srom_mii 115,3454 -#define csr_sia_status 116,3513 -#define csr_sia_connectivity 117,3565 -#define csr_sia_tx_rx 118,3617 -#define csr_sia_general 119,3669 -#define LMC_TDES_FIRST_BUFFER_SIZE 125,3885 -#define LMC_TDES_SECOND_BUFFER_SIZE 126,3952 -#define LMC_TDES_HASH_FILTERING 127,4019 -#define LMC_TDES_DISABLE_PADDING 128,4086 -#define LMC_TDES_SECOND_ADDR_CHAINED 129,4153 -#define LMC_TDES_END_OF_RING 130,4220 -#define LMC_TDES_ADD_CRC_DISABLE 131,4287 -#define LMC_TDES_SETUP_PACKET 132,4354 -#define LMC_TDES_INVERSE_FILTERING 133,4421 -#define LMC_TDES_FIRST_SEGMENT 134,4488 -#define LMC_TDES_LAST_SEGMENT 135,4555 -#define LMC_TDES_INTERRUPT_ON_COMPLETION 136,4622 -#define TDES_SECOND_BUFFER_SIZE_BIT_NUMBER 138,4690 -#define TDES_COLLISION_COUNT_BIT_NUMBER 139,4737 -#define LMC_RDES_OVERFLOW 143,4829 -#define LMC_RDES_CRC_ERROR 144,4893 -#define LMC_RDES_DRIBBLING_BIT 145,4957 -#define LMC_RDES_REPORT_ON_MII_ERR 146,5025 -#define LMC_RDES_RCV_WATCHDOG_TIMEOUT 147,5089 -#define LMC_RDES_FRAME_TYPE 148,5153 -#define LMC_RDES_COLLISION_SEEN 149,5217 -#define LMC_RDES_FRAME_TOO_LONG 150,5281 -#define LMC_RDES_LAST_DESCRIPTOR 151,5345 -#define LMC_RDES_FIRST_DESCRIPTOR 152,5409 -#define LMC_RDES_MULTICAST_FRAME 153,5473 -#define LMC_RDES_RUNT_FRAME 154,5537 -#define LMC_RDES_DATA_TYPE 155,5601 -#define LMC_RDES_LENGTH_ERROR 156,5665 -#define LMC_RDES_ERROR_SUMMARY 157,5729 -#define LMC_RDES_FRAME_LENGTH 158,5793 -#define LMC_RDES_OWN_BIT 159,5857 -#define RDES_FRAME_LENGTH_BIT_NUMBER 161,5922 -#define LMC_RDES_ERROR_MASK 163,5969 -} lmc_av9110_t;lmc_av9110_t182,6278 -struct lmc___ctl lmc___ctl187,6348 -struct tulip_desc_t tulip_desc_t218,7118 -struct lmc___media lmc___media229,7286 -#define STATCHECK 245,7924 -struct lmc_statisticslmc_statistics252,8121 -typedef struct lmc_xinfo lmc_xinfo329,11157 -} LMC_XINFO;LMC_XINFO349,11823 -struct lmc___softc lmc___softc355,11861 -#define LMC_PCI_TIME 422,14049 -#define LMC_EXT_TIME 423,14072 -#define PKT_BUF_SZ 425,14096 -#define TIMER_INT 428,14170 -#define TP_LINK_FAIL 429,14203 -#define TP_LINK_PASS 430,14236 -#define NORMAL_INT 431,14269 -#define ABNORMAL_INT 432,14302 -#define RX_JABBER_INT 433,14335 -#define RX_DIED 434,14368 -#define RX_NOBUFF 435,14401 -#define RX_INT 436,14434 -#define TX_FIFO_UNDER 437,14467 -#define TX_JABBER 438,14500 -#define TX_NOBUFF 439,14533 -#define TX_DIED 440,14566 -#define TX_INT 441,14599 -#define OPERATION_MODE 444,14653 -#define PROMISC_MODE 445,14711 -#define RECIEVE_ALL 446,14769 -#define PASS_BAD_FRAMES 447,14827 -#define LMC_DEC_ST 450,14928 -#define LMC_DEC_SR 451,14958 -#define RECV_WATCHDOG_DISABLE 454,15010 -#define JABBER_DISABLE 455,15051 -#define TULIP_CMD_RECEIVEALL 461,15165 -#define TULIP_CMD_MUSTBEONE 462,15242 -#define TULIP_CMD_TXTHRSHLDCTL 463,15318 -#define TULIP_CMD_STOREFWD 464,15406 -#define TULIP_CMD_NOHEARTBEAT 465,15487 -#define TULIP_CMD_PORTSELECT 466,15564 -#define TULIP_CMD_FULLDUPLEX 467,15648 -#define TULIP_CMD_OPERMODE 468,15721 -#define TULIP_CMD_PROMISCUOUS 469,15792 -#define TULIP_CMD_PASSBADPKT 470,15865 -#define TULIP_CMD_THRESHOLDCTL 471,15937 -#define TULIP_GP_PINSET 473,16012 -#define TULIP_BUSMODE_SWRESET 474,16056 -#define TULIP_WATCHDOG_TXDISABLE 475,16100 -#define TULIP_WATCHDOG_RXDISABLE 476,16145 -#define TULIP_STS_NORMALINTR 478,16191 -#define TULIP_STS_ABNRMLINTR 479,16264 -#define TULIP_STS_ERI 480,16339 -#define TULIP_STS_SYSERROR 481,16419 -#define TULIP_STS_GTE 482,16488 -#define TULIP_STS_ETI 483,16569 -#define TULIP_STS_RXWT 484,16650 -#define TULIP_STS_RXSTOPPED 485,16732 -#define TULIP_STS_RXNOBUF 486,16813 -#define TULIP_STS_RXINTR 487,16889 -#define TULIP_STS_TXUNDERFLOW 488,16963 -#define TULIP_STS_TXJABER 489,17038 -#define TULIP_STS_TXNOBUF 490,17109 -#define TULIP_STS_TXSTOPPED 491,17153 -#define TULIP_STS_TXINTR 492,17234 -#define TULIP_STS_RXS_STOPPED 494,17310 -#define TULIP_STS_RXSTOPPED 496,17382 -#define TULIP_STS_RXNOBUF 497,17474 -#define TULIP_CMD_TXRUN 499,17519 -#define TULIP_CMD_RXRUN 500,17598 -#define TULIP_DSTS_TxDEFERRED 501,17683 -#define TULIP_DSTS_OWNER 502,17756 -#define TULIP_DSTS_RxMIIERR 503,17828 -#define LMC_DSTS_ERRSUM 504,17871 -#define TULIP_DEFAULT_INTR_MASK 506,17926 -#define DESC_OWNED_BY_SYSTEM 515,18174 -#define DESC_OWNED_BY_DC21X4 516,18231 -#define TULIP_CMD_RECEIVEALL 519,18318 -#define LMC_ADAP_HSSI 523,18395 -#define LMC_ADAP_DS3 524,18429 -#define LMC_ADAP_SSI 525,18463 -#define LMC_ADAP_T1 526,18497 -#define HDLC_HDR_LEN 528,18532 -#define HDLC_ADDR_LEN 529,18556 -#define HDLC_SLARP 530,18580 -#define LMC_MTU 531,18609 -#define SLARP_LINECHECK 532,18630 -#define LMC_CRC_LEN_16 534,18657 -#define LMC_CRC_LEN_32 535,18700 -struct hdlc_hdrhdlc_hdr539,18778 -struct slarpslarp547,18875 - union slsl550,18902 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lmc/lmc_ioctl.h,4822 -#define _LMC_IOCTL_H_2,22 -#define LMCIOCGINFO 19,557 -#define LMCIOCSINFO 20,630 -#define LMCIOCGETLMCSTATS 21,710 -#define LMCIOCCLEARLMCSTATS 22,759 -#define LMCIOCDUMPEVENTLOG 23,808 -#define LMCIOCGETXINFO 24,857 -#define LMCIOCSETCIRCUIT 25,906 -#define LMCIOCUNUSEDATM 26,955 -#define LMCIOCRESET 27,1005 -#define LMCIOCT1CONTROL 28,1055 -#define LMCIOCIFTYPE 29,1105 -#define LMCIOCXILINX 30,1155 -#define LMC_CARDTYPE_UNKNOWN 32,1206 -#define LMC_CARDTYPE_HSSI 33,1249 -#define LMC_CARDTYPE_DS3 34,1330 -#define LMC_CARDTYPE_SSI 35,1410 -#define LMC_CARDTYPE_T1 36,1490 -#define LMC_CTL_CARDTYPE_LMC5200 38,1570 -#define LMC_CTL_CARDTYPE_LMC5245 39,1616 -#define LMC_CTL_CARDTYPE_LMC1000 40,1661 -#define LMC_CTL_CARDTYPE_LMC1200 41,1712 -#define LMC_CTL_OFF 43,1771 -#define LMC_CTL_ON 44,1819 -#define LMC_CTL_CLOCK_SOURCE_EXT 46,1866 -#define LMC_CTL_CLOCK_SOURCE_INT 47,1922 -#define LMC_CTL_CRC_LENGTH_16 49,1979 -#define LMC_CTL_CRC_LENGTH_32 50,2013 -#define LMC_CTL_CRC_BYTESIZE_2 51,2047 -#define LMC_CTL_CRC_BYTESIZE_4 52,2089 -#define LMC_CTL_CABLE_LENGTH_LT_100FT 55,2133 -#define LMC_CTL_CABLE_LENGTH_GT_100FT 56,2200 -#define LMC_CTL_CIRCUIT_TYPE_E1 58,2269 -#define LMC_CTL_CIRCUIT_TYPE_T1 59,2303 -#define LMC_PPP 64,2363 -#define LMC_NET 65,2428 -#define LMC_RAW 66,2499 -#define LMC_GEP_INIT 74,2716 -#define LMC_GEP_RESET 75,2752 -#define LMC_GEP_MODE 76,2789 -#define LMC_GEP_DP 77,2825 -#define LMC_GEP_DATA 78,2859 -#define LMC_GEP_CLK 79,2906 -#define LMC_GEP_HSSI_ST 84,2994 -#define LMC_GEP_HSSI_CLOCK 85,3067 -#define LMC_GEP_SSI_GENERATOR 90,3152 -#define LMC_GEP_SSI_TXCLOCK 91,3228 -#define LMC_MII16_LED0 96,3331 -#define LMC_MII16_LED1 97,3369 -#define LMC_MII16_LED2 98,3407 -#define LMC_MII16_LED3 99,3445 -#define LMC_MII16_LED_ALL 100,3513 -#define LMC_MII16_FIFO_RESET 101,3571 -#define LMC_MII16_HSSI_TA 106,3641 -#define LMC_MII16_HSSI_CA 107,3679 -#define LMC_MII16_HSSI_LA 108,3717 -#define LMC_MII16_HSSI_LB 109,3755 -#define LMC_MII16_HSSI_LC 110,3793 -#define LMC_MII16_HSSI_TM 111,3831 -#define LMC_MII16_HSSI_CRC 112,3869 -#define LMC_MII16_DS3_ZERO 117,3960 -#define LMC_MII16_DS3_TRLBK 118,3994 -#define LMC_MII16_DS3_LNLBK 119,4029 -#define LMC_MII16_DS3_RAIS 120,4064 -#define LMC_MII16_DS3_TAIS 121,4098 -#define LMC_MII16_DS3_BIST 122,4132 -#define LMC_MII16_DS3_DLOS 123,4166 -#define LMC_MII16_DS3_CRC 124,4200 -#define LMC_MII16_DS3_SCRAM 125,4233 -#define LMC_MII16_DS3_SCRAM_LARS 126,4268 -#define LMC_DS3_LED0 130,4403 -#define LMC_DS3_LED1 131,4464 -#define LMC_DS3_LED2 132,4525 -#define LMC_DS3_LED3 133,4586 -#define LMC_FRAMER_REG0_DLOS 138,4715 -#define LMC_FRAMER_REG0_OOFS 139,4793 -#define LMC_FRAMER_REG0_AIS 140,4865 -#define LMC_FRAMER_REG0_CIS 141,4943 -#define LMC_FRAMER_REG0_LOC 142,5010 -#define LMC_FRAMER_REG9_RBLUE 147,5138 -#define LMC_FRAMER_REG10_XBIT 152,5263 -#define LMC_MII16_SSI_DTR 157,5371 -#define LMC_MII16_SSI_DSR 158,5424 -#define LMC_MII16_SSI_RTS 159,5476 -#define LMC_MII16_SSI_CTS 160,5529 -#define LMC_MII16_SSI_DCD 161,5581 -#define LMC_MII16_SSI_RI 162,5633 -#define LMC_MII16_SSI_CRC 163,5684 -#define LMC_MII16_SSI_LL 169,5880 -#define LMC_MII16_SSI_RL 170,5932 -#define LMC_MII16_SSI_TM 171,5984 -#define LMC_MII16_SSI_LOOP 172,6035 -#define LMC_MII17_SSI_CABLE_MASK 179,6256 -#define LMC_MII17_SSI_CABLE_SHIFT 180,6333 -#define LMC_MII16_T1_UNUSED1 185,6434 -#define LMC_MII16_T1_XOE 186,6473 -#define LMC_MII16_T1_RST 187,6520 -#define LMC_MII16_T1_Z 188,6593 -#define LMC_MII16_T1_INTR 189,6687 -#define LMC_MII16_T1_ONESEC 190,6766 -#define LMC_MII16_T1_LED0 192,6849 -#define LMC_MII16_T1_LED1 193,6896 -#define LMC_MII16_T1_LED2 194,6943 -#define LMC_MII16_T1_LED3 195,6990 -#define LMC_MII16_T1_FIFO_RESET 196,7037 -#define LMC_MII16_T1_CRC 198,7077 -#define LMC_MII16_T1_UNUSED2 199,7147 -#define T1FRAMER_ALARM1_STATUS 204,7218 -#define T1FRAMER_ALARM2_STATUS 205,7255 -#define T1FRAMER_FERR_LSB 206,7292 -#define T1FRAMER_FERR_MSB 207,7337 -#define T1FRAMER_LCV_LSB 208,7417 -#define T1FRAMER_LCV_MSB 209,7462 -#define T1FRAMER_AERR 210,7544 -#define T1FRAMER_LOF_MASK 213,7629 -#define T1FRAMER_COFA_MASK 214,7705 -#define T1FRAMER_SEF_MASK 215,7785 -#define T1F_SIGFRZ 221,7945 -#define T1F_RLOF 222,8000 -#define T1F_RLOS 223,8070 -#define T1F_RALOS 224,8131 -#define T1F_RAIS 225,8221 -#define T1F_UNUSED 226,8291 -#define T1F_RYEL 227,8320 -#define T1F_RMYEL 228,8379 -#define LMC_T1F_WRITE 230,8450 -#define LMC_T1F_READ 231,8480 -typedef struct lmc_st1f_control lmc_st1f_control233,8511 -} lmc_t1f_control;lmc_t1f_control238,8609 -enum lmc_xilinx_c lmc_xilinx_c240,8629 - lmc_xilinx_reset 241,8649 - lmc_xilinx_load_prom 242,8675 - lmc_xilinx_load 243,8705 -struct lmc_xilinx_control lmc_xilinx_control246,8733 -#define LMC_MII_LedMask 254,8890 -#define LMC_MII_LedBitPos 255,8937 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_x25.c,343 -static void x25_connect_disconnect(28,721 -static void x25_connected(51,1126 -static void x25_disconnected(58,1236 -static int x25_data_indication(65,1349 -static void x25_data_transmit(87,1683 -static int x25_xmit(95,1857 -static int x25_open(142,2859 -static void x25_close(162,3303 -static int x25_rx(169,3379 -int hdlc_x25_ioctl(188,3730 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdla_ft1.c,639 -#define TMR_INT_ENABLED_UDP 48,2063 -#define TMR_INT_ENABLED_UPDATE 49,2101 -#define CHDLC_DFLT_DATA_LEN 51,2141 -#define CHDLC_HDR_LEN 52,2193 -#define IFF_POINTTOPOINT 54,2219 -#define WANPIPE 56,2250 -#define API 57,2271 -#define CHDLC_API 58,2288 -#define PORT(PORT60,2312 -typedef struct chdlc_private_areachdlc_private_area70,2687 -} chdlc_private_area_t;chdlc_private_area_t97,3686 -#define NO_ROUTE 100,3738 -#define ADD_ROUTE 101,3760 -#define ROUTE_ADDED 102,3783 -#define REMOVE_ROUTE 103,3808 -int wpft1_init 126,4738 -static int wpft1_exec(249,7966 -static int chdlc_read_version 290,8784 -static int chdlc_error 317,9465 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdlamain.c,1498 -#define KMEM_SAFETYZONE 73,3314 - #define wpf_init(wpf_init77,3368 - #define wpc_init(wpc_init81,3449 - #define wpx_init(wpx_init85,3527 - #define wpp_init(wpp_init89,3606 - #define wsppp_init(wsppp_init93,3689 -#define STATIC159,6013 -#define STATIC 161,6034 -#define DRV_VERSION 164,6065 -#define DRV_RELEASE 165,6109 -#define MAX_CARDS 166,6169 -#define CONFIG_WANPIPE_CARDS 169,6277 -#define CMD_OK 172,6316 -#define CMD_TIMEOUT 173,6369 -#define MAX_CMD_RETRY 174,6428 -static char drvname[202,7474 -static char fullname[203,7509 -static char copyright[204,7570 -static int ncards;205,7639 -static sdla_t* card_array;206,7659 -struct workqueue_struct *wanpipe_wq;216,7951 -static int wanpipe_bh_critical;219,8029 -static int __init wanpipe_init(236,8486 -static void __exit wanpipe_cleanup(306,10437 -static int setup(345,11549 -static int check_s508_conflicts 590,18277 -static int check_s514_conflicts(702,21357 -static int shutdown(777,23443 -static void release_hw 834,24628 -static int ioctl(886,26124 -static int ioctl_dump 935,27292 -static int ioctl_exec 1002,29337 -STATIC irqreturn_t sdla_isr 1032,30094 -#define card 1034,30170 -void wanpipe_open 1160,33779 -void wanpipe_close 1171,34197 -void wanpipe_set_state 1179,34363 -sdla_t * wanpipe_find_card 1203,34844 -sdla_t * wanpipe_find_card_num 1214,35041 -void wanpipe_queue_work 1227,35302 -void wakeup_sk_bh(1236,35554 -int change_dev_flags(1249,35795 -unsigned long get_ip_address(1266,36155 -void add_gateway(1304,36709 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/lapbether.c,1170 -static char bcast_addr[46,1341 -#define MAXLAPBDEV 50,1558 -struct lapbethdev lapbethdev52,1582 -static struct list_head lapbeth_devices 59,1800 -static struct lapbethdev *lapbeth_get_x25_dev(66,2010 -static __inline__ int dev_is_ethdev(77,2242 -static int lapbeth_rcv(87,2514 -static int lapbeth_data_indication(128,3410 -static int lapbeth_xmit(152,3839 -static void lapbeth_data_transmit(199,4778 -static void lapbeth_connected(223,5273 -static void lapbeth_disconnected(245,5683 -static struct net_device_stats *lapbeth_get_stats(270,6117 -static int lapbeth_set_mac_address(279,6298 -static struct lapb_register_struct lapbeth_callbacks 287,6467 -static int lapbeth_open(300,6857 -static int lapbeth_close(313,7108 -static void lapbeth_setup(327,7401 -static int lapbeth_new_device(345,7861 -static void lapbeth_free_device(386,8512 -static int lapbeth_device_event(398,8757 -static struct packet_type lapbeth_packet_type 432,9585 -static struct notifier_block lapbeth_dev_notifier 437,9699 -static char banner[441,9797 -static char banner[] __initdata 441,9797 -static int __init lapbeth_init_driver(443,9881 -static void __exit lapbeth_cleanup_driver(455,10085 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdla_ppp.c,3450 -#define PPP_DFLT_MTU 115,5959 -#define PPP_MAX_MTU 116,6004 -#define PPP_HDR_LEN 117,6048 -#define MAX_IP_ERRORS 119,6071 -#define CONNECT_TIMEOUT 121,6099 -#define HOLD_DOWN_TIME 122,6162 -#define CVHexToAscii(CVHexToAscii125,6269 -#define NEX_PRINTK(NEX_PRINTK130,6537 -#define NEX_PRINTK(NEX_PRINTK132,6597 -#define DCD(DCD135,6655 -#define CTS(CTS136,6702 -#define LCP(LCP137,6749 -#define IP(IP138,6800 -#define TMR_INT_ENABLED_UPDATE 140,6857 -#define TMR_INT_ENABLED_PPP_EVENT 141,6895 -#define TMR_INT_ENABLED_UDP 142,6934 -#define TMR_INT_ENABLED_CONFIG 143,6968 -#define PERCENT_TX_BUFF 146,7049 -#define TIME_BETWEEN_CONF_REQ 147,7078 -#define TIME_BETWEEN_PAP_CHAP_REQ 148,7114 -#define WAIT_PAP_CHAP_WITHOUT_REPLY 149,7151 -#define WAIT_AFTER_DCD_CTS_LOW 150,7195 -#define TIME_DCD_CTS_LOW_AFTER_LNK_DOWN 151,7237 -#define WAIT_DCD_HIGH_AFTER_ENABLE_COMM 152,7280 -#define MAX_CONF_REQ_WITHOUT_REPLY 153,7324 -#define MAX_TERM_REQ_WITHOUT_REPLY 154,7367 -#define NUM_CONF_NAK_WITHOUT_REPLY 155,7409 -#define NUM_AUTH_REQ_WITHOUT_REPLY 156,7451 -#define END_OFFSET 158,7495 -typedef struct ppp_private_areappp_private_area168,7840 -}ppp_private_area_t;ppp_private_area_t222,9565 -static int rCount 225,9661 -static int Read_connection_info;303,12838 -static int Intr_test_counter;304,12871 -static unsigned short available_buffer_space;305,12901 -int wpp_init(339,14289 -static int update(448,17271 -static int new_if(508,18874 -static int del_if(627,22060 -static void disable_comm 632,22145 -static int wpp_exec(645,22469 -static int if_init(686,23451 -static int if_open(736,24891 -static int if_close(773,26019 -static int if_header(794,26616 -static int if_rebuild_hdr 817,27091 -static void if_tx_timeout(831,27511 -static int if_send 869,28865 -static int store_udp_mgmt_pkt(998,32091 -static int reply_udp(1037,33253 -unsigned short calc_checksum 1108,35112 -static void switch_net_numbers(1137,35611 -static struct net_device_stats *if_stats(1193,37403 -static int ppp_read_version(1212,37881 -static int ppp_set_outbnd_auth 1239,38395 -static int ppp_set_inbnd_auth 1267,39220 -static int tokenize 1323,40887 -static char* strstrip 1339,41330 -static int ppp_configure(1355,41864 -static int ppp_set_intr_mode(1376,42365 -static int ppp_comm_enable(1407,43152 -static int ppp_comm_disable(1427,43582 -static int ppp_comm_disable_shutdown(1443,43900 -static int ppp_get_err_stats(1480,44693 -static int ppp_send 1509,45492 -static int ppp_error(1545,46428 -static void wpp_isr 1569,46969 -static void rx_intr(1650,48957 -void event_intr 1790,52517 -void timer_intr 1909,56360 -static int handle_IPXWAN(1989,58596 -static void process_route 2106,61945 -static void retrigger_comm(2149,63298 -static int config508(2168,63775 -static void show_disc_cause(2282,67704 -static void process_udp_mgmt_pkt(2340,68987 -static void init_ppp_priv_struct(2778,80615 -static void init_global_statistics(2789,81009 -static void init_ppp_tx_rx_buff(2797,81247 -static int read_info(2849,82759 -static void remove_route(2897,84183 -static int intr_test(2945,85466 -static int udp_pkt_type(2976,86187 -static int chk_bcast_mcast_addr(3026,87653 -void s508_lock 3064,88898 -void s508_unlock 3069,89011 -static int read_connection_info 3074,89138 -static int config_ppp 3123,90768 -static void ppp_poll(3234,94086 -static void trigger_ppp_poll(3379,98382 -static void ppp_poll_delay 3399,98761 -static int detect_and_fix_tx_bug 3418,99245 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_ppp.c,133 -static int ppp_open(27,683 -static void ppp_close(55,1317 -static unsigned short ppp_type_trans(69,1581 -int hdlc_ppp_ioctl(77,1720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sbni.h,2054 -#define SBNI_H7,186 -#define DP(DP10,220 -#define DP(DP12,244 -#define SBNI_PCI_VENDOR 17,315 -#define SBNI_PCI_DEVICE 18,346 -#define ISA_MODE 20,377 -#define PCI_MODE 21,399 -#define SBNI_IO_EXTENT 23,422 -enum sbni_reg sbni_reg25,448 - CSR0 26,464 - CSR1 27,475 - DAT 28,486 - BU_EMP 33,526 - BU_EMP = 0x02,33,526 - RC_CHK 34,542 - RC_CHK = 0x04,34,542 - CT_ZER 35,558 - CT_ZER = 0x08,35,558 - TR_REQ 36,574 - TR_REQ = 0x10,36,574 - TR_RDY 37,590 - TR_RDY = 0x20,37,590 - EN_INT 38,606 - EN_INT = 0x40,38,606 - RC_RDY 39,622 - RC_RDY = 0x8039,622 -#define PR_RES 44,661 -struct sbni_csr1 sbni_csr146,682 -#define FRAME_ACK_MASK 53,789 -#define FRAME_LEN_MASK 54,836 -#define FRAME_FIRST 55,883 -#define FRAME_RETRY 56,930 -#define FRAME_SENT_BAD 58,978 -#define FRAME_SENT_OK 59,1025 - FL_WAIT_ACK 64,1099 - FL_WAIT_ACK = 0x01,64,1099 - FL_NEED_RESEND 65,1123 - FL_NEED_RESEND = 0x02,65,1123 - FL_PREV_OK 66,1147 - FL_PREV_OK = 0x04,66,1147 - FL_SLOW_MODE 67,1171 - FL_SLOW_MODE = 0x08,67,1171 - FL_SECONDARY 68,1195 - FL_SECONDARY = 0x10,68,1195 - FL_SLAVE 70,1248 - FL_SLAVE = 0x20,70,1248 - FL_LINE_DOWN 72,1279 - FL_LINE_DOWN = 0x4072,1279 - DEFAULT_IOBASEADDR 77,1314 - DEFAULT_IOBASEADDR = 0x210,77,1314 - DEFAULT_INTERRUPTNUMBER 78,1343 - DEFAULT_RATE 79,1373 - DEFAULT_FRAME_LEN 80,1392 -#define DEF_RXL_DELTA 83,1422 -#define DEF_RXL 84,1447 -#define SBNI_SIG 86,1469 -#define SBNI_MIN_LEN 88,1492 -#define SBNI_MAX_FRAME 89,1558 -#define ETHER_MAX_LEN 90,1586 -#define SBNI_TIMEOUT 92,1614 -#define TR_ERROR_COUNT 94,1644 -#define CHANGE_LEVEL_START_TICKS 95,1670 -#define SBNI_MAX_NUM_CARDS 97,1706 -struct sbni_in_stats sbni_in_stats100,1777 -#define SIOCDEVGETINSTATS 109,1932 -#define SIOCDEVRESINSTATS 110,1974 -#define SIOCDEVGHWSTATE 111,2018 -#define SIOCDEVSHWSTATE 112,2062 -#define SIOCDEVENSLAVE 113,2106 -#define SIOCDEVEMANSIPATE 114,2148 -struct sbni_flags sbni_flags118,2264 -#define CRC32(CRC32129,2402 -#define CRC32_REMAINDER 133,2609 -#define CRC32_INITIAL 134,2644 -#define __initdata137,2697 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_generic.c,942 -static const char* version 41,1104 -static int hdlc_change_mtu(46,1191 -static struct net_device_stats *hdlc_get_stats(56,1361 -static int hdlc_rcv(63,1464 -static void __hdlc_set_carrier_on(77,1760 -static void __hdlc_set_carrier_off(91,2056 -void hdlc_set_carrier(106,2356 -int hdlc_open(141,3083 -void hdlc_close(172,3682 -#define hdlc_raw_ioctl(hdlc_raw_ioctl195,4103 -#define hdlc_raw_eth_ioctl(hdlc_raw_eth_ioctl199,4180 -#define hdlc_ppp_ioctl(hdlc_ppp_ioctl203,4257 -#define hdlc_cisco_ioctl(hdlc_cisco_ioctl207,4332 -#define hdlc_fr_ioctl(hdlc_fr_ioctl211,4406 -#define hdlc_x25_ioctl(hdlc_x25_ioctl215,4479 -int hdlc_ioctl(219,4529 -static void hdlc_setup(252,5327 -struct net_device *alloc_hdlcdev(272,5741 -int register_hdlc_device(281,5936 -void unregister_hdlc_device(299,6239 -static struct packet_type hdlc_packet_type 321,6735 -static int __init hdlc_module_init(327,6845 -static void __exit hdlc_module_exit(336,6981 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdladrv.c,3426 -#define _LINUX_89,3598 -#define _INB(_INB106,4334 -#define _OUTB(_OUTB107,4366 -#define SYSTEM_TICK 108,4414 -#define _INB(_INB121,4790 -#define _OUTB(_OUTB122,4822 -#define SYSTEM_TICK 123,4870 -#define MOD_VERSION 129,4940 -#define MOD_RELEASE 130,4962 -#define SDLA_IODELAY 132,4985 -#define EXEC_DELAY 133,5056 -#define EXEC_TIMEOUT 134,5116 -#define S502A_IORANGE 137,5206 -#define S502E_IORANGE 138,5230 -#define S503_IORANGE 139,5254 -#define S507_IORANGE 140,5277 -#define S508_IORANGE 141,5300 -#define S502_MAXMEM 144,5355 -#define S503_MAXMEM 145,5384 -#define S507_MAXMEM 146,5413 -#define S508_MAXMEM 147,5442 -#define S502_MINMEM 150,5503 -#define S503_MINMEM 151,5531 -#define S507_MINMEM 152,5559 -#define S508_MINMEM 153,5588 -#define NO_PORT 154,5617 -static struct pci_device_id sdladrv_pci_tbl[203,7356 -static char modname[212,7585 -static char fullname[213,7620 -static char copyright[214,7668 -static unsigned exec_idle;215,7737 -static unsigned s502_port_options[221,7953 -static unsigned s503_port_options[224,8028 -static unsigned s508_port_options[227,8131 -static unsigned s502a_irq_options[231,8235 -static unsigned s502e_irq_options[232,8280 -static unsigned s503_irq_options[233,8337 -static unsigned s508_irq_options[234,8397 -static unsigned s502a_dpmbase_options[236,8471 -static unsigned s507_dpmbase_options[244,8779 -static unsigned s508_dpmbase_options[252,9122 -static unsigned s502a_pclk_options[267,9685 -static unsigned s502e_pclk_options[268,9743 -static unsigned s503_pclk_options[269,9820 -static unsigned s507_pclk_options[270,9885 -static unsigned s508_pclk_options[271,9938 -static unsigned char s502a_hmcr[274,10033 -static unsigned char s502e_hmcr[281,10326 -static unsigned char s507_hmcr[288,10643 -static unsigned char s508_hmcr[295,10959 -static unsigned char s507_irqmask[303,11276 -static int pci_slot_ar[308,11368 -static int __init sdladrv_init(323,11759 -static void __exit sdladrv_cleanup(347,12384 -int sdla_setup 370,12910 -int sdla_down 515,18427 -int sdla_mapmem 586,20250 -int sdla_inten 647,21458 -int sdla_intde 703,22620 -int sdla_intack 758,23870 -void S514_intack 808,24805 -void read_S514_int_stat 820,25096 -int sdla_intr 832,25377 -int sdla_exec 876,26159 -int sdla_peek 912,27047 -static void peek_by_4 957,28760 -int sdla_poke 994,29788 -static void poke_by_4 1039,31472 -static int sdla_detect 1079,32638 -static int sdla_autodpm 1132,33741 -static int sdla_setdpm 1176,34836 -static int sdla_load 1205,35642 -static int sdla_init 1292,38048 -static unsigned long sdla_memtest 1315,38637 -static int sdla_bootcfg 1335,39139 -static unsigned char make_config_byte 1372,40369 -static int sdla_start 1398,41036 -static int init_s502a 1493,42978 -static int init_s502e 1532,43695 -static int init_s503 1573,44539 -static int init_s507 1612,45244 -static int init_s508 1664,46322 -static int detect_s502a 1703,47523 -static int detect_s502e 1751,48850 -static int detect_s503 1789,50024 -static int detect_s507 1827,51137 -static int detect_s508 1865,52169 -static int detect_s514 1891,52843 -static int find_s514_adapter(2024,56724 -static int calibrate_delay 2101,59424 -static int get_option_index 2114,59809 -static unsigned check_memregion 2128,60126 -static unsigned test_memregion 2148,60785 -static unsigned short checksum 2181,61780 -static int init_pci_slot(2197,62091 -static int pci_probe(2235,62939 -unsigned wanpipe_hw_probe(2290,64480 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sealevel.c,934 -struct slvl_deviceslvl_device33,764 -struct slvl_boardslvl_board42,920 -static void sealevel_input(58,1161 -static int sealevel_open(77,1608 -static int sealevel_close(126,2257 -static int sealevel_ioctl(159,2690 -static struct net_device_stats *sealevel_get_stats(166,2892 -static int sealevel_queue_xmit(179,3125 -static int sealevel_neigh_setup(185,3282 -static int sealevel_neigh_setup_dev(194,3445 -static int sealevel_attach(204,3668 -static void sealevel_detach(211,3799 -static void slvl_setup(216,3877 -static inline struct slvl_device *slvl_alloc(231,4252 -static __init struct slvl_board *slvl_init(256,4637 -static void __exit slvl_shutdown(405,7515 -static int io=428,7935 -static int txdma=429,7956 -static int rxdma=430,7976 -static int irq=431,7996 -static int slow=432,8014 -static struct slvl_board *slvl_unit;449,8571 -static int __init slvl_init_module(451,8609 -static void __exit slvl_cleanup_module(462,8901 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sbni.c,2203 -struct net_local net_local70,2234 -#define ASM_CRC 152,5365 -static const char version[155,5391 -static int skip_pci_probe __initdata 158,5492 -static int scandone __initdata 159,5535 -static int num __initdata 160,5572 -static unsigned char rxl_tab[162,5606 -static u32 crc32tab[163,5639 -static struct net_device *sbni_cards[166,5735 -static u32 io[169,5832 -static u32 io[ SBNI_MAX_NUM_CARDS ] __initdata 169,5832 -static u32 irq[171,5923 -static u32 irq[ SBNI_MAX_NUM_CARDS ] __initdata;171,5923 -static u32 baud[172,5973 -static u32 baud[ SBNI_MAX_NUM_CARDS ] __initdata;172,5973 -static u32 rxl[173,6023 -static u32 rxl[ SBNI_MAX_NUM_CARDS ] __initdata 173,6023 -static u32 mac[175,6114 -static u32 mac[ SBNI_MAX_NUM_CARDS ] __initdata;175,6114 -typedef u32 iarr[iarr178,6180 -static iarr *dest[179,6201 -static unsigned int netcard_portlist[183,6337 -static unsigned int netcard_portlist[ ] __initdata 183,6337 -sbni_isa_probe(196,6793 -static void __init sbni_devsetup(210,7148 -int __init sbni_probe(223,7468 -static int __init sbni_init(253,8041 -sbni_pci_probe(293,8962 -sbni_probe1(346,10350 -sbni_start_xmit(440,12670 -sbni_start_xmit(468,13248 -sbni_interrupt(501,14315 -handle_channel(530,15069 -recv_frame(588,16582 -send_frame(623,17423 -download_data(680,18738 -upload_data(698,19285 -send_complete(754,20714 -interpret_ack(775,21168 -append_frame_to_pkt(809,21855 -prepare_to_send(840,22547 -drop_xmit_queue(871,23271 -send_frame_header(903,23983 -skip_tail(941,24943 -check_fhdr(956,25237 -get_rx_buf(992,26002 -indicate_pkt(1010,26394 -sbni_watchdog(1042,27270 -static unsigned char rxl_tab[1083,28209 -#define SIZE_OF_TIMEOUT_RXL_TAB 1088,28346 -static unsigned char timeout_rxl_tab[1089,28380 -card_start(1096,28546 -change_level(1118,29095 -timeout_change_level(1142,29707 -sbni_open(1165,30263 -sbni_close(1221,31724 -#define VALID_DECODER 1281,32994 -sbni_card_probe(1285,33074 -sbni_ioctl(1305,33455 -enslave(1395,35578 -emancipate(1430,36517 -sbni_get_stats(1470,37262 -set_multicast_list(1477,37373 -init_module(1497,37902 -cleanup_module(1527,38390 -sbni_setup(1543,38698 -calc_crc32(1576,39276 -calc_crc32(1656,40657 -static u32 crc32tab[1667,40787 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/pc300_tty.c,1547 -#define CPC_TTY_NPORTS 62,1500 -#define CPC_TTY_MAJOR 63,1574 -#define CPC_TTY_MINOR_START 64,1612 -#define CPC_TTY_MAX_MTU 66,1686 -#define CPC_TTY_ST_IDLE 69,1743 -#define CPC_TTY_ST_INIT 70,1769 -#define CPC_TTY_ST_OPEN 71,1830 -#define CPC_TTY_LOCK(CPC_TTY_LOCK73,1885 -#define CPC_TTY_UNLOCK(CPC_TTY_UNLOCK78,1988 -#define CPC_TTY_DBG(CPC_TTY_DBG84,2153 -typedef struct _st_cpc_rx_buf _st_cpc_rx_buf87,2209 -} st_cpc_rx_buf;st_cpc_rx_buf91,2307 -struct st_cpc_rx_list st_cpc_rx_list93,2325 -typedef struct _st_cpc_tty_area _st_cpc_tty_area98,2398 - } st_cpc_tty_area;st_cpc_tty_area109,2948 -static struct tty_driver serial_drv;112,2995 -st_cpc_tty_area cpc_tty_area[115,3055 -int cpc_tty_cnt=117,3102 -int cpc_tty_unreg_flag 118,3169 -static void cpc_tty_signal_off(150,4494 -static void cpc_tty_signal_on(168,5003 -void cpc_tty_init(193,5768 -static int cpc_tty_open(291,8708 -static void cpc_tty_close(358,10337 -static int cpc_tty_write(430,12186 -static int cpc_tty_write_room(517,14539 -static int cpc_tty_chars_in_buffer(544,15153 -int pc300_tiocmset(563,15581 -int pc300_tiocmget(590,16260 -static void cpc_tty_flush_buffer(621,17079 -static void cpc_tty_hangup(650,17701 -static void cpc_tty_rx_work(684,18571 -static void cpc_tty_rx_disc_frame(731,19656 -void cpc_tty_receive(754,20369 -static void cpc_tty_tx_work(910,24560 -static int cpc_tty_send_to_card(932,25043 -static void cpc_tty_trace(1015,27384 -void cpc_tty_unregister_service(1047,28106 -void cpc_tty_trigger_poll(1091,29300 -void cpc_tty_reset_var(1105,29596 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/pc300-falc-lh.h,25584 -#define _FALC_LH_H29,764 -#define NUM_OF_T1_CHANNELS 31,784 -#define NUM_OF_E1_CHANNELS 32,814 -#define CMDR_RMC 38,1015 -#define CMDR_RRES 39,1037 -#define CMDR_XREP 40,1060 -#define CMDR_XRES 41,1083 -#define CMDR_XHF 42,1106 -#define CMDR_XTF 43,1128 -#define CMDR_XME 44,1150 -#define CMDR_SRES 45,1172 -#define MODE_MDS2 49,1282 -#define MODE_MDS1 50,1305 -#define MODE_MDS0 51,1328 -#define MODE_BRAC 52,1351 -#define MODE_HRAC 53,1374 -#define IPC_VIS 57,1498 -#define IPC_SCI 58,1520 -#define IPC_IC1 59,1542 -#define IPC_IC0 60,1564 -#define CCR1_SFLG 64,1691 -#define CCR1_XTS16RA 65,1720 -#define CCR1_BRM 66,1749 -#define CCR1_CASSYM 67,1778 -#define CCR1_EDLX 68,1807 -#define CCR1_EITS 69,1836 -#define CCR1_ITF 70,1865 -#define CCR1_RFT1 71,1894 -#define CCR1_RFT0 72,1923 -#define CCR3_PRE1 77,2058 -#define CCR3_PRE0 78,2087 -#define CCR3_EPT 79,2116 -#define CCR3_RADD 80,2145 -#define CCR3_RCRC 81,2174 -#define CCR3_XCRC 82,2203 -#define RTR1_TS0 88,2339 -#define RTR1_TS1 89,2368 -#define RTR1_TS2 90,2397 -#define RTR1_TS3 91,2426 -#define RTR1_TS4 92,2455 -#define RTR1_TS5 93,2484 -#define RTR1_TS6 94,2513 -#define RTR1_TS7 95,2542 -#define RTR2_TS8 97,2572 -#define RTR2_TS9 98,2601 -#define RTR2_TS10 99,2630 -#define RTR2_TS11 100,2659 -#define RTR2_TS12 101,2688 -#define RTR2_TS13 102,2717 -#define RTR2_TS14 103,2746 -#define RTR2_TS15 104,2775 -#define RTR3_TS16 106,2805 -#define RTR3_TS17 107,2834 -#define RTR3_TS18 108,2863 -#define RTR3_TS19 109,2892 -#define RTR3_TS20 110,2921 -#define RTR3_TS21 111,2950 -#define RTR3_TS22 112,2979 -#define RTR3_TS23 113,3008 -#define RTR4_TS24 115,3038 -#define RTR4_TS25 116,3067 -#define RTR4_TS26 117,3096 -#define RTR4_TS27 118,3125 -#define RTR4_TS28 119,3154 -#define RTR4_TS29 120,3183 -#define RTR4_TS30 121,3212 -#define RTR4_TS31 122,3241 -#define TTR1_TS0 128,3378 -#define TTR1_TS1 129,3407 -#define TTR1_TS2 130,3436 -#define TTR1_TS3 131,3465 -#define TTR1_TS4 132,3494 -#define TTR1_TS5 133,3523 -#define TTR1_TS6 134,3552 -#define TTR1_TS7 135,3581 -#define TTR2_TS8 137,3611 -#define TTR2_TS9 138,3640 -#define TTR2_TS10 139,3669 -#define TTR2_TS11 140,3698 -#define TTR2_TS12 141,3727 -#define TTR2_TS13 142,3756 -#define TTR2_TS14 143,3785 -#define TTR2_TS15 144,3814 -#define TTR3_TS16 146,3844 -#define TTR3_TS17 147,3873 -#define TTR3_TS18 148,3902 -#define TTR3_TS19 149,3931 -#define TTR3_TS20 150,3960 -#define TTR3_TS21 151,3989 -#define TTR3_TS22 152,4018 -#define TTR3_TS23 153,4047 -#define TTR4_TS24 155,4077 -#define TTR4_TS25 156,4106 -#define TTR4_TS26 157,4135 -#define TTR4_TS27 158,4164 -#define TTR4_TS28 159,4193 -#define TTR4_TS29 160,4222 -#define TTR4_TS30 161,4251 -#define TTR4_TS31 162,4280 -#define IMR0_RME 170,4416 -#define IMR0_RFS 171,4445 -#define IMR0_T8MS 172,4474 -#define IMR0_ISF 173,4503 -#define IMR0_RMB 174,4532 -#define IMR0_CASC 175,4561 -#define IMR0_RSC 176,4590 -#define IMR0_CRC6 177,4619 -#define IMR0_CRC4 178,4648 -#define IMR0_PDEN 179,4677 -#define IMR0_RPF 180,4700 -#define IMR1_CASE 182,4730 -#define IMR1_RDO 183,4759 -#define IMR1_ALLS 184,4788 -#define IMR1_XDU 185,4817 -#define IMR1_XMB 186,4846 -#define IMR1_XLSC 187,4875 -#define IMR1_XPR 188,4904 -#define IMR1_LLBSC 189,4933 -#define IMR2_FAR 191,4958 -#define IMR2_LFA 192,4987 -#define IMR2_MFAR 193,5016 -#define IMR2_T400MS 194,5045 -#define IMR2_LMFA 195,5074 -#define IMR2_AIS 196,5103 -#define IMR2_LOS 197,5132 -#define IMR2_RAR 198,5161 -#define IMR2_RA 199,5190 -#define IMR3_ES 201,5220 -#define IMR3_SEC 202,5249 -#define IMR3_LMFA16 203,5278 -#define IMR3_AIS16 204,5307 -#define IMR3_RA16 205,5336 -#define IMR3_API 206,5365 -#define IMR3_XSLP 207,5394 -#define IMR3_XSLN 208,5423 -#define IMR3_LLBSC 209,5452 -#define IMR3_XRS 210,5481 -#define IMR3_SLN 211,5510 -#define IMR3_SLP 212,5539 -#define IMR4_LFA 214,5569 -#define IMR4_FER 215,5598 -#define IMR4_CER 216,5627 -#define IMR4_AIS 217,5656 -#define IMR4_LOS 218,5685 -#define IMR4_CVE 219,5714 -#define IMR4_SLIP 220,5743 -#define IMR4_EBE 221,5772 -#define FMR0_XC1 225,5855 -#define FMR0_XC0 226,5884 -#define FMR0_RC1 227,5913 -#define FMR0_RC0 228,5942 -#define FMR0_EXTD 229,5971 -#define FMR0_ALM 230,6000 -#define E1_FMR0_FRS 231,6029 -#define T1_FMR0_FRS 232,6058 -#define FMR0_SRAF 233,6087 -#define FMR0_EXLS 234,6116 -#define FMR0_SIM 235,6145 -#define FMR1_MFCS 237,6175 -#define FMR1_AFR 238,6204 -#define FMR1_ENSA 239,6233 -#define FMR1_CTM 240,6262 -#define FMR1_SIGM 241,6291 -#define FMR1_EDL 242,6320 -#define FMR1_PMOD 243,6349 -#define FMR1_XFS 244,6378 -#define FMR1_CRC 245,6407 -#define FMR1_ECM 246,6436 -#define FMR1_IMOD 247,6465 -#define FMR1_XAIS 248,6494 -#define FMR2_RFS1 250,6524 -#define FMR2_RFS0 251,6553 -#define FMR2_MCSP 252,6582 -#define FMR2_RTM 253,6605 -#define FMR2_SSP 254,6634 -#define FMR2_DAIS 255,6663 -#define FMR2_SAIS 256,6692 -#define FMR2_PLB 257,6721 -#define FMR2_AXRA 258,6750 -#define FMR2_ALMF 259,6779 -#define FMR2_EXZE 260,6808 -#define LOOP_RTM 262,6838 -#define LOOP_SFM 263,6860 -#define LOOP_ECLB 264,6882 -#define LOOP_CLA 265,6905 -#define FMR3_XLD 268,6986 -#define FMR3_XLU 269,7008 -#define FMR4_AIS3 272,7089 -#define FMR4_TM 273,7118 -#define FMR4_XRA 274,7147 -#define FMR4_SSC1 275,7176 -#define FMR4_SSC0 276,7205 -#define FMR4_AUTO 277,7234 -#define FMR4_FM1 278,7263 -#define FMR4_FM0 279,7292 -#define FMR5_SRS 281,7322 -#define FMR5_EIBR 282,7351 -#define FMR5_XLD 283,7380 -#define FMR5_XLU 284,7409 -#define LOOP_SFM 291,7532 -#define LOOP_ECLB 292,7561 -#define LOOP_CLA4 293,7590 -#define LOOP_CLA3 294,7619 -#define LOOP_CLA2 295,7648 -#define LOOP_CLA1 296,7677 -#define LOOP_CLA0 297,7706 -#define XSW_XSIS 305,7839 -#define XSW_XTM 306,7868 -#define XSW_XRA 307,7897 -#define XSW_XY0 308,7926 -#define XSW_XY1 309,7955 -#define XSW_XY2 310,7984 -#define XSW_XY3 311,8013 -#define XSW_XY4 312,8042 -#define XSP_XAP 319,8161 -#define XSP_CASEN 320,8190 -#define XSP_TT0 321,8219 -#define XSP_EBP 322,8248 -#define XSP_AXS 323,8277 -#define XSP_XSIF 324,8306 -#define XSP_XS13 325,8335 -#define XSP_XS15 326,8364 -#define XC0_SA8E 332,8490 -#define XC0_SA7E 333,8519 -#define XC0_SA6E 334,8548 -#define XC0_SA5E 335,8577 -#define XC0_SA4E 336,8606 -#define XC0_BRM 337,8635 -#define XC0_MFBS 338,8664 -#define XC0_SFRZ 339,8693 -#define XC0_XCO2 340,8722 -#define XC0_XCO1 341,8751 -#define XC0_XCO0 342,8780 -#define XC1_XTO5 344,8810 -#define XC1_XTO4 345,8839 -#define XC1_XTO3 346,8868 -#define XC1_XTO2 347,8897 -#define XC1_XTO1 348,8926 -#define XC1_XTO0 349,8955 -#define RC0_SICS 355,9080 -#define RC0_CRCI 356,9109 -#define RC0_XCRCI 357,9138 -#define RC0_RDIS 358,9167 -#define RC0_RCO2 359,9196 -#define RC0_RCO1 360,9225 -#define RC0_RCO0 361,9254 -#define RC1_SWD 363,9284 -#define RC1_ASY4 364,9313 -#define RC1_RRAM 365,9342 -#define RC1_RTO5 366,9371 -#define RC1_RTO4 367,9400 -#define RC1_RTO3 368,9429 -#define RC1_RTO2 369,9458 -#define RC1_RTO1 370,9487 -#define RC1_RTO0 371,9516 -#define XPM0_XP12 378,9647 -#define XPM0_XP11 379,9676 -#define XPM0_XP10 380,9705 -#define XPM0_XP04 381,9734 -#define XPM0_XP03 382,9763 -#define XPM0_XP02 383,9792 -#define XPM0_XP01 384,9821 -#define XPM0_XP00 385,9850 -#define XPM1_XP30 387,9880 -#define XPM1_XP24 388,9909 -#define XPM1_XP23 389,9938 -#define XPM1_XP22 390,9967 -#define XPM1_XP21 391,9996 -#define XPM1_XP20 392,10025 -#define XPM1_XP14 393,10054 -#define XPM1_XP13 394,10083 -#define XPM2_XLHP 396,10113 -#define XPM2_XLT 397,10142 -#define XPM2_DAXLT 398,10171 -#define XPM2_XP34 399,10200 -#define XPM2_XP33 400,10229 -#define XPM2_XP32 401,10258 -#define XPM2_XP31 402,10287 -#define TSWM_TSIS 408,10416 -#define TSWM_TSIF 409,10445 -#define TSWM_TRA 410,10474 -#define TSWM_TSA4 411,10503 -#define TSWM_TSA5 412,10532 -#define TSWM_TSA6 413,10561 -#define TSWM_TSA7 414,10590 -#define TSWM_TSA8 415,10619 -#define IDLE_IDL7 421,10745 -#define IDLE_IDL6 422,10774 -#define IDLE_IDL5 423,10803 -#define IDLE_IDL4 424,10832 -#define IDLE_IDL3 425,10861 -#define IDLE_IDL2 426,10890 -#define IDLE_IDL1 427,10919 -#define IDLE_IDL0 428,10948 -#define XSA4_XS47 434,11087 -#define XSA4_XS46 435,11116 -#define XSA4_XS45 436,11145 -#define XSA4_XS44 437,11174 -#define XSA4_XS43 438,11203 -#define XSA4_XS42 439,11232 -#define XSA4_XS41 440,11261 -#define XSA4_XS40 441,11290 -#define XSA5_XS57 443,11320 -#define XSA5_XS56 444,11349 -#define XSA5_XS55 445,11378 -#define XSA5_XS54 446,11407 -#define XSA5_XS53 447,11436 -#define XSA5_XS52 448,11465 -#define XSA5_XS51 449,11494 -#define XSA5_XS50 450,11523 -#define XSA6_XS67 452,11553 -#define XSA6_XS66 453,11582 -#define XSA6_XS65 454,11611 -#define XSA6_XS64 455,11640 -#define XSA6_XS63 456,11669 -#define XSA6_XS62 457,11698 -#define XSA6_XS61 458,11727 -#define XSA6_XS60 459,11756 -#define XSA7_XS77 461,11786 -#define XSA7_XS76 462,11815 -#define XSA7_XS75 463,11844 -#define XSA7_XS74 464,11873 -#define XSA7_XS73 465,11902 -#define XSA7_XS72 466,11931 -#define XSA7_XS71 467,11960 -#define XSA7_XS70 468,11989 -#define XSA8_XS87 470,12019 -#define XSA8_XS86 471,12048 -#define XSA8_XS85 472,12077 -#define XSA8_XS84 473,12106 -#define XSA8_XS83 474,12135 -#define XSA8_XS82 475,12164 -#define XSA8_XS81 476,12193 -#define XSA8_XS80 477,12222 -#define XDL1_XDL17 483,12362 -#define XDL1_XDL16 484,12391 -#define XDL1_XDL15 485,12420 -#define XDL1_XDL14 486,12449 -#define XDL1_XDL13 487,12478 -#define XDL1_XDL12 488,12507 -#define XDL1_XDL11 489,12536 -#define XDL1_XDL10 490,12565 -#define XDL2_XDL27 492,12595 -#define XDL2_XDL26 493,12624 -#define XDL2_XDL25 494,12653 -#define XDL2_XDL24 495,12682 -#define XDL2_XDL23 496,12711 -#define XDL2_XDL22 497,12740 -#define XDL2_XDL21 498,12769 -#define XDL2_XDL20 499,12798 -#define XDL3_XDL37 501,12828 -#define XDL3_XDL36 502,12857 -#define XDL3_XDL35 503,12886 -#define XDL3_XDL34 504,12915 -#define XDL3_XDL33 505,12944 -#define XDL3_XDL32 506,12973 -#define XDL3_XDL31 507,13002 -#define XDL3_XDL30 508,13031 -#define E1_ICB1_IC0 514,13158 -#define E1_ICB1_IC1 515,13183 -#define E1_ICB1_IC2 516,13208 -#define E1_ICB1_IC3 517,13233 -#define E1_ICB1_IC4 518,13258 -#define E1_ICB1_IC5 519,13283 -#define E1_ICB1_IC6 520,13308 -#define E1_ICB1_IC7 521,13333 -#define E1_ICB2_IC8 523,13359 -#define E1_ICB2_IC9 524,13384 -#define E1_ICB2_IC10 525,13409 -#define E1_ICB2_IC11 526,13435 -#define E1_ICB2_IC12 527,13461 -#define E1_ICB2_IC13 528,13487 -#define E1_ICB2_IC14 529,13513 -#define E1_ICB2_IC15 530,13539 -#define E1_ICB3_IC16 532,13566 -#define E1_ICB3_IC17 533,13592 -#define E1_ICB3_IC18 534,13618 -#define E1_ICB3_IC19 535,13644 -#define E1_ICB3_IC20 536,13670 -#define E1_ICB3_IC21 537,13696 -#define E1_ICB3_IC22 538,13722 -#define E1_ICB3_IC23 539,13748 -#define E1_ICB4_IC24 541,13775 -#define E1_ICB4_IC25 542,13801 -#define E1_ICB4_IC26 543,13827 -#define E1_ICB4_IC27 544,13853 -#define E1_ICB4_IC28 545,13879 -#define E1_ICB4_IC29 546,13905 -#define E1_ICB4_IC30 547,13931 -#define E1_ICB4_IC31 548,13957 -#define T1_ICB1_IC1 553,14080 -#define T1_ICB1_IC2 554,14105 -#define T1_ICB1_IC3 555,14130 -#define T1_ICB1_IC4 556,14155 -#define T1_ICB1_IC5 557,14180 -#define T1_ICB1_IC6 558,14205 -#define T1_ICB1_IC7 559,14230 -#define T1_ICB1_IC8 560,14255 -#define T1_ICB2_IC9 562,14281 -#define T1_ICB2_IC10 563,14306 -#define T1_ICB2_IC11 564,14332 -#define T1_ICB2_IC12 565,14358 -#define T1_ICB2_IC13 566,14384 -#define T1_ICB2_IC14 567,14410 -#define T1_ICB2_IC15 568,14436 -#define T1_ICB2_IC16 569,14462 -#define T1_ICB3_IC17 571,14489 -#define T1_ICB3_IC18 572,14515 -#define T1_ICB3_IC19 573,14541 -#define T1_ICB3_IC20 574,14567 -#define T1_ICB3_IC21 575,14593 -#define T1_ICB3_IC22 576,14619 -#define T1_ICB3_IC23 577,14645 -#define T1_ICB3_IC24 578,14671 -#define FMR3_CMI 583,14785 -#define FMR3_SYNSA 584,14814 -#define FMR3_CFRZ 585,14843 -#define FMR3_EXTIW 586,14872 -#define CCB1_CH1 593,14993 -#define CCB1_CH2 594,15022 -#define CCB1_CH3 595,15051 -#define CCB1_CH4 596,15080 -#define CCB1_CH5 597,15109 -#define CCB1_CH6 598,15138 -#define CCB1_CH7 599,15167 -#define CCB1_CH8 600,15196 -#define CCB2_CH9 602,15226 -#define CCB2_CH10 603,15255 -#define CCB2_CH11 604,15284 -#define CCB2_CH12 605,15313 -#define CCB2_CH13 606,15342 -#define CCB2_CH14 607,15371 -#define CCB2_CH15 608,15400 -#define CCB2_CH16 609,15429 -#define CCB3_CH17 611,15459 -#define CCB3_CH18 612,15488 -#define CCB3_CH19 613,15517 -#define CCB3_CH20 614,15546 -#define CCB3_CH21 615,15575 -#define CCB3_CH22 616,15604 -#define CCB3_CH23 617,15633 -#define CCB3_CH24 618,15662 -#define LIM0_XFB 624,15792 -#define LIM0_XDOS 625,15821 -#define LIM0_SCL1 626,15850 -#define LIM0_SCL0 627,15879 -#define LIM0_EQON 628,15908 -#define LIM0_ELOS 629,15937 -#define LIM0_LL 630,15966 -#define LIM0_MAS 631,15995 -#define LIM1_EFSC 633,16025 -#define LIM1_RIL2 634,16054 -#define LIM1_RIL1 635,16083 -#define LIM1_RIL0 636,16112 -#define LIM1_DCOC 637,16141 -#define LIM1_JATT 638,16170 -#define LIM1_RL 639,16199 -#define LIM1_DRS 640,16228 -#define PCDR_PCD7 646,16372 -#define PCDR_PCD6 647,16395 -#define PCDR_PCD5 648,16418 -#define PCDR_PCD4 649,16441 -#define PCDR_PCD3 650,16464 -#define PCDR_PCD2 651,16487 -#define PCDR_PCD1 652,16510 -#define PCDR_PCD0 653,16533 -#define PCRR_PCR7 655,16557 -#define PCRR_PCR6 656,16580 -#define PCRR_PCR5 657,16603 -#define PCRR_PCR4 658,16626 -#define PCRR_PCR3 659,16649 -#define PCRR_PCR2 660,16672 -#define PCRR_PCR1 661,16695 -#define PCRR_PCR0 662,16718 -#define LIM2_DJA2 669,16839 -#define LIM2_DJA1 670,16862 -#define LIM2_LOS2 671,16885 -#define LIM2_LOS1 672,16908 -#define LCR1_EPRM 676,16967 -#define LCR1_XPRBS 677,16990 -#define SIC1_SRSC 680,17055 -#define SIC1_RBS1 681,17078 -#define SIC1_RBS0 682,17101 -#define SIC1_SXSC 683,17124 -#define SIC1_XBS1 684,17147 -#define SIC1_XBS0 685,17170 -#define DEC_DCEC3 690,17288 -#define DEC_DBEC 691,17317 -#define DEC_DCEC1 692,17346 -#define DEC_DCEC 693,17375 -#define DEC_DEBC 694,17404 -#define DEC_DCVC 695,17433 -#define DEC_DFEC 696,17462 -#define FRS0_LOS 706,17730 -#define FRS0_AIS 707,17759 -#define FRS0_LFA 708,17788 -#define FRS0_RRA 709,17817 -#define FRS0_API 710,17846 -#define FRS0_NMF 711,17875 -#define FRS0_LMFA 712,17904 -#define FRS0_FSRF 713,17933 -#define FRS1_TS16RA 715,17963 -#define FRS1_TS16LOS 716,17992 -#define FRS1_TS16AIS 717,18021 -#define FRS1_TS16LFA 718,18050 -#define FRS1_EXZD 719,18079 -#define FRS1_LLBDD 720,18108 -#define FRS1_LLBAD 721,18137 -#define FRS1_XLS 722,18166 -#define FRS1_XLO 723,18195 -#define FRS1_PDEN 724,18224 -#define FRS2_ESC2 729,18358 -#define FRS2_ESC1 730,18387 -#define FRS2_ESC0 731,18416 -#define FRS3_FEH5 733,18446 -#define FRS3_FEH4 734,18475 -#define FRS3_FEH3 735,18504 -#define FRS3_FEH2 736,18533 -#define FRS3_FEH1 737,18562 -#define FRS3_FEH0 738,18591 -#define RSW_RSI 744,18722 -#define RSW_RRA 745,18751 -#define RSW_RYO 746,18780 -#define RSW_RY1 747,18809 -#define RSW_RY2 748,18838 -#define RSW_RY3 749,18867 -#define RSW_RY4 750,18896 -#define RSP_SI1 756,19034 -#define RSP_SI2 757,19063 -#define RSP_LLBDD 758,19092 -#define RSP_LLBAD 759,19115 -#define RSP_RSIF 760,19138 -#define RSP_RS13 761,19167 -#define RSP_RS15 762,19196 -#define FECL_FE7 768,19318 -#define FECL_FE6 769,19347 -#define FECL_FE5 770,19376 -#define FECL_FE4 771,19405 -#define FECL_FE3 772,19434 -#define FECL_FE2 773,19463 -#define FECL_FE1 774,19492 -#define FECL_FE0 775,19521 -#define FECH_FE15 777,19551 -#define FECH_FE14 778,19580 -#define FECH_FE13 779,19609 -#define FECH_FE12 780,19638 -#define FECH_FE11 781,19667 -#define FECH_FE10 782,19696 -#define FECH_FE9 783,19725 -#define FECH_FE8 784,19754 -#define CVCL_CV7 790,19872 -#define CVCL_CV6 791,19901 -#define CVCL_CV5 792,19930 -#define CVCL_CV4 793,19959 -#define CVCL_CV3 794,19988 -#define CVCL_CV2 795,20017 -#define CVCL_CV1 796,20046 -#define CVCL_CV0 797,20075 -#define CVCH_CV15 799,20105 -#define CVCH_CV14 800,20134 -#define CVCH_CV13 801,20163 -#define CVCH_CV12 802,20192 -#define CVCH_CV11 803,20221 -#define CVCH_CV10 804,20250 -#define CVCH_CV9 805,20279 -#define CVCH_CV8 806,20308 -#define CEC1L_CR7 812,20429 -#define CEC1L_CR6 813,20458 -#define CEC1L_CR5 814,20487 -#define CEC1L_CR4 815,20516 -#define CEC1L_CR3 816,20545 -#define CEC1L_CR2 817,20574 -#define CEC1L_CR1 818,20603 -#define CEC1L_CR0 819,20632 -#define CEC1H_CR15 821,20662 -#define CEC1H_CR14 822,20691 -#define CEC1H_CR13 823,20720 -#define CEC1H_CR12 824,20749 -#define CEC1H_CR11 825,20778 -#define CEC1H_CR10 826,20807 -#define CEC1H_CR9 827,20836 -#define CEC1H_CR8 828,20865 -#define CEC2L_CR7 830,20895 -#define CEC2L_CR6 831,20924 -#define CEC2L_CR5 832,20953 -#define CEC2L_CR4 833,20982 -#define CEC2L_CR3 834,21011 -#define CEC2L_CR2 835,21040 -#define CEC2L_CR1 836,21069 -#define CEC2L_CR0 837,21098 -#define CEC2H_CR15 839,21128 -#define CEC2H_CR14 840,21157 -#define CEC2H_CR13 841,21186 -#define CEC2H_CR12 842,21215 -#define CEC2H_CR11 843,21244 -#define CEC2H_CR10 844,21273 -#define CEC2H_CR9 845,21302 -#define CEC2H_CR8 846,21331 -#define CEC3L_CR7 848,21361 -#define CEC3L_CR6 849,21390 -#define CEC3L_CR5 850,21419 -#define CEC3L_CR4 851,21448 -#define CEC3L_CR3 852,21477 -#define CEC3L_CR2 853,21506 -#define CEC3L_CR1 854,21535 -#define CEC3L_CR0 855,21564 -#define CEC3H_CR15 857,21594 -#define CEC3H_CR14 858,21623 -#define CEC3H_CR13 859,21652 -#define CEC3H_CR12 860,21681 -#define CEC3H_CR11 861,21710 -#define CEC3H_CR10 862,21739 -#define CEC3H_CR9 863,21768 -#define CEC3H_CR8 864,21797 -#define CECL_CR7 871,21916 -#define CECL_CR6 872,21945 -#define CECL_CR5 873,21974 -#define CECL_CR4 874,22003 -#define CECL_CR3 875,22032 -#define CECL_CR2 876,22061 -#define CECL_CR1 877,22090 -#define CECL_CR0 878,22119 -#define CECH_CR15 880,22149 -#define CECH_CR14 881,22178 -#define CECH_CR13 882,22207 -#define CECH_CR12 883,22236 -#define CECH_CR11 884,22265 -#define CECH_CR10 885,22294 -#define CECH_CR9 886,22323 -#define CECH_CR8 887,22352 -#define EBCL_EB7 892,22473 -#define EBCL_EB6 893,22502 -#define EBCL_EB5 894,22531 -#define EBCL_EB4 895,22560 -#define EBCL_EB3 896,22589 -#define EBCL_EB2 897,22618 -#define EBCL_EB1 898,22647 -#define EBCL_EB0 899,22676 -#define EBCH_EB15 901,22706 -#define EBCH_EB14 902,22735 -#define EBCH_EB13 903,22764 -#define EBCH_EB12 904,22793 -#define EBCH_EB11 905,22822 -#define EBCH_EB10 906,22851 -#define EBCH_EB9 907,22880 -#define EBCH_EB8 908,22909 -#define RSA4_RS47 914,23038 -#define RSA4_RS46 915,23067 -#define RSA4_RS45 916,23096 -#define RSA4_RS44 917,23125 -#define RSA4_RS43 918,23154 -#define RSA4_RS42 919,23183 -#define RSA4_RS41 920,23212 -#define RSA4_RS40 921,23241 -#define RSA5_RS57 923,23271 -#define RSA5_RS56 924,23300 -#define RSA5_RS55 925,23329 -#define RSA5_RS54 926,23358 -#define RSA5_RS53 927,23387 -#define RSA5_RS52 928,23416 -#define RSA5_RS51 929,23445 -#define RSA5_RS50 930,23474 -#define RSA6_RS67 932,23504 -#define RSA6_RS66 933,23533 -#define RSA6_RS65 934,23562 -#define RSA6_RS64 935,23591 -#define RSA6_RS63 936,23620 -#define RSA6_RS62 937,23649 -#define RSA6_RS61 938,23678 -#define RSA6_RS60 939,23707 -#define RSA7_RS77 941,23737 -#define RSA7_RS76 942,23766 -#define RSA7_RS75 943,23795 -#define RSA7_RS74 944,23824 -#define RSA7_RS73 945,23853 -#define RSA7_RS72 946,23882 -#define RSA7_RS71 947,23911 -#define RSA7_RS70 948,23940 -#define RSA8_RS87 950,23970 -#define RSA8_RS86 951,23999 -#define RSA8_RS85 952,24028 -#define RSA8_RS84 953,24057 -#define RSA8_RS83 954,24086 -#define RSA8_RS82 955,24115 -#define RSA8_RS81 956,24144 -#define RSA8_RS80 957,24173 -#define RSA6S_SX 962,24307 -#define RSA6S_SF 963,24336 -#define RSA6S_SE 964,24365 -#define RSA6S_SC 965,24394 -#define RSA6S_SA 966,24423 -#define RSA6S_S8 967,24452 -#define RDL1_RDL17 973,24582 -#define RDL1_RDL16 974,24611 -#define RDL1_RDL15 975,24640 -#define RDL1_RDL14 976,24669 -#define RDL1_RDL13 977,24698 -#define RDL1_RDL12 978,24727 -#define RDL1_RDL11 979,24756 -#define RDL1_RDL10 980,24785 -#define RDL2_RDL27 982,24815 -#define RDL2_RDL26 983,24844 -#define RDL2_RDL25 984,24873 -#define RDL2_RDL24 985,24902 -#define RDL2_RDL23 986,24931 -#define RDL2_RDL22 987,24960 -#define RDL2_RDL21 988,24989 -#define RDL2_RDL20 989,25018 -#define RDL3_RDL37 991,25048 -#define RDL3_RDL36 992,25077 -#define RDL3_RDL35 993,25106 -#define RDL3_RDL34 994,25135 -#define RDL3_RDL33 995,25164 -#define RDL3_RDL32 996,25193 -#define RDL3_RDL31 997,25222 -#define RDL3_RDL30 998,25251 -#define SIS_XDOV 1005,25381 -#define SIS_XFW 1006,25410 -#define SIS_XREP 1007,25439 -#define SIS_RLI 1008,25468 -#define SIS_CEC 1009,25497 -#define SIS_BOM 1010,25526 -#define RSIS_VFR 1017,25666 -#define RSIS_RDO 1018,25695 -#define RSIS_CRC16 1019,25724 -#define RSIS_RAB 1020,25753 -#define RSIS_HA1 1021,25782 -#define RSIS_HA0 1022,25811 -#define RSIS_HFR 1023,25840 -#define RSIS_LA 1024,25869 -#define RBCL_RBC7 1031,26000 -#define RBCL_RBC6 1032,26029 -#define RBCL_RBC5 1033,26058 -#define RBCL_RBC4 1034,26087 -#define RBCL_RBC3 1035,26116 -#define RBCL_RBC2 1036,26145 -#define RBCL_RBC1 1037,26174 -#define RBCL_RBC0 1038,26203 -#define RBCH_OV 1040,26233 -#define RBCH_RBC11 1041,26262 -#define RBCH_RBC10 1042,26291 -#define RBCH_RBC9 1043,26320 -#define RBCH_RBC8 1044,26349 -#define FISR0_RME 1051,26489 -#define FISR0_RFS 1052,26513 -#define FISR0_T8MS 1053,26537 -#define FISR0_ISF 1054,26562 -#define FISR0_RMB 1055,26586 -#define FISR0_CASC 1056,26610 -#define FISR0_RSC 1057,26635 -#define FISR0_CRC6 1058,26659 -#define FISR0_CRC4 1059,26684 -#define FISR0_PDEN 1060,26709 -#define FISR0_RPF 1061,26734 -#define FISR1_CASE 1063,26759 -#define FISR1_LLBSC 1064,26784 -#define FISR1_RDO 1065,26810 -#define FISR1_ALLS 1066,26834 -#define FISR1_XDU 1067,26859 -#define FISR1_XMB 1068,26883 -#define FISR1_XLSC 1069,26907 -#define FISR1_XPR 1070,26932 -#define FISR2_FAR 1072,26957 -#define FISR2_LFA 1073,26981 -#define FISR2_MFAR 1074,27005 -#define FISR2_T400MS 1075,27030 -#define FISR2_LMFA 1076,27057 -#define FISR2_AIS 1077,27082 -#define FISR2_LOS 1078,27106 -#define FISR2_RAR 1079,27130 -#define FISR2_RA 1080,27154 -#define FISR3_ES 1082,27178 -#define FISR3_SEC 1083,27201 -#define FISR3_LMFA16 1084,27225 -#define FISR3_AIS16 1085,27252 -#define FISR3_RA16 1086,27278 -#define FISR3_API 1087,27303 -#define FISR3_XSLP 1088,27327 -#define FISR3_XSLN 1089,27352 -#define FISR3_LLBSC 1090,27377 -#define FISR3_XRS 1091,27403 -#define FISR3_SLN 1092,27427 -#define FISR3_SLP 1093,27451 -#define GIS_ISR3 1100,27580 -#define GIS_ISR2 1101,27603 -#define GIS_ISR1 1102,27626 -#define GIS_ISR0 1103,27649 -#define VSTR_VN3 1110,27769 -#define VSTR_VN2 1111,27792 -#define VSTR_VN1 1112,27815 -#define VSTR_VN0 1113,27838 -#define XFIFOH 1119,28008 -#define XFIFOL 1120,28053 -#define CMDR 1121,28097 -#define DEC 1122,28134 -#define TEST2 1123,28180 -#define XS(XS1124,28224 -#define MODE 1127,28345 -#define RAH1 1128,28378 -#define RAH2 1129,28425 -#define RAL1 1130,28472 -#define RAL2 1131,28518 -#define IPC 1132,28564 -#define CCR1 1133,28616 -#define CCR3 1134,28667 -#define PRE 1135,28718 -#define RTR1 1136,28754 -#define RTR2 1137,28801 -#define RTR3 1138,28848 -#define RTR4 1139,28895 -#define TTR1 1140,28942 -#define TTR2 1141,28990 -#define TTR3 1142,29038 -#define TTR4 1143,29086 -#define IMR0 1144,29134 -#define IMR1 1145,29179 -#define IMR2 1146,29224 -#define IMR3 1147,29269 -#define IMR4 1148,29314 -#define IMR5 1149,29359 -#define FMR0 1150,29404 -#define FMR1 1151,29451 -#define FMR2 1152,29498 -#define LOOP 1153,29545 -#define XSW 1154,29587 -#define FMR4 1155,29632 -#define XSP 1156,29674 -#define FMR5 1157,29717 -#define XC0 1158,29759 -#define XC1 1159,29801 -#define RC0 1160,29843 -#define RC1 1161,29884 -#define XPM0 1162,29925 -#define XPM1 1163,29971 -#define XPM2 1164,30017 -#define TSWM 1165,30063 -#define TEST1 1166,30117 -#define IDLE 1167,30160 -#define XSA4 1168,30202 -#define XDL1 1169,30250 -#define XSA5 1170,30296 -#define XDL2 1171,30344 -#define XSA6 1172,30390 -#define XDL3 1173,30438 -#define XSA7 1174,30484 -#define CCB1 1175,30532 -#define XSA8 1176,30576 -#define CCB2 1177,30624 -#define FMR3 1178,30668 -#define CCB3 1179,30711 -#define ICB1 1180,30755 -#define ICB2 1181,30798 -#define ICB3 1182,30841 -#define ICB4 1183,30884 -#define LIM0 1184,30927 -#define LIM1 1185,30973 -#define PCDR 1186,31019 -#define PCRR 1187,31065 -#define LIM2 1188,31110 -#define LCR1 1189,31160 -#define LCR2 1190,31200 -#define LCR3 1191,31240 -#define SIC1 1192,31280 -#define RFIFOH 1195,31394 -#define RFIFOL 1196,31434 -#define FRS0 1197,31474 -#define FRS1 1198,31523 -#define RSW 1199,31572 -#define FRS2 1200,31617 -#define RSP 1201,31666 -#define FRS3 1202,31709 -#define FECL 1203,31758 -#define FECH 1204,31805 -#define CVCL 1205,31852 -#define CVCH 1206,31900 -#define CECL 1207,31948 -#define CECH 1208,31993 -#define EBCL 1209,32038 -#define EBCH 1210,32083 -#define BECL 1211,32128 -#define BECH 1212,32175 -#define CEC3 1213,32222 -#define RSA4 1214,32276 -#define RDL1 1215,32321 -#define RSA5 1216,32367 -#define RDL2 1217,32412 -#define RSA6 1218,32458 -#define RDL3 1219,32503 -#define RSA7 1220,32549 -#define RSA8 1221,32594 -#define RSA6S 1222,32639 -#define TSR0 1223,32692 -#define TSR1 1224,32735 -#define SIS 1225,32778 -#define RSIS 1226,32823 -#define RBCL 1227,32877 -#define RBCH 1228,32923 -#define FISR0 1229,32969 -#define FISR1 1230,33018 -#define FISR2 1231,33067 -#define FISR3 1232,33116 -#define GIS 1233,33165 -#define VSTR 1234,33213 -#define RS(RS1235,33253 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/c101.c,1427 -static const char* version 33,799 -static const char* devname 34,862 -#define DEBUG_RINGS37,917 -#define C101_PAGE 39,938 -#define C101_DTR 40,963 -#define C101_SCA 41,987 -#define C101_WINDOW_SIZE 42,1011 -#define C101_MAPPED_RAM_SIZE 43,1043 -#define RAM_SIZE 45,1080 -#define TX_RING_BUFFERS 46,1110 -#define RX_RING_BUFFERS 47,1137 -#define CLOCK_BASE 50,1255 -#define PAGE0_ALWAYS_MAPPED51,1299 -static char *hw;53,1328 -typedef struct card_s card_s56,1392 -}card_t;card_t76,2077 -typedef card_t port_t;port_t78,2087 -static card_t *first_card;80,2111 -static card_t **new_card 81,2138 -#define sca_in(sca_in84,2180 -#define sca_out(sca_out85,2252 -#define sca_inw(sca_inw86,2338 -#define sca_outw(sca_outw89,2487 -#define port_to_card(port_to_card94,2674 -#define log_node(log_node95,2711 -#define phy_node(phy_node96,2742 -#define winsize(winsize97,2773 -#define win0base(win0base98,2818 -#define winbase(winbase99,2864 -#define get_port(get_port100,2923 -static inline u8 sca_get_page(104,3005 -static inline void openwin(109,3074 -#define close_windows(close_windows116,3193 -static void sca_msci_intr(122,3275 -static void c101_set_iface(146,3941 -static int c101_open(180,4664 -static int c101_close(208,5463 -static int c101_ioctl(220,5682 -static void c101_destroy_card(279,7229 -static int __init c101_run(298,7538 -static int __init c101_init(398,10113 -static void __exit c101_cleanup(430,10706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/z85230.h,4600 -#define _Z8530_H9,203 -#define BRG_TO_BPS(BRG_TO_BPS17,356 -#define BPS_TO_BRG(BPS_TO_BRG18,413 -#define FLAG 22,513 -#define R0 25,555 -#define R1 26,592 -#define R2 27,605 -#define R3 28,618 -#define R4 29,631 -#define R5 30,644 -#define R6 31,657 -#define R7 32,670 -#define R8 33,683 -#define R9 34,696 -#define R10 35,709 -#define R11 36,724 -#define R12 37,739 -#define R13 38,754 -#define R14 39,769 -#define R15 40,784 -#define RPRIME 42,800 -#define NULLCODE 44,866 -#define POINT_HIGH 45,901 -#define RES_EXT_INT 46,961 -#define SEND_ABORT 47,1021 -#define RES_RxINT_FC 48,1062 -#define RES_Tx_P 49,1125 -#define ERR_RES 50,1173 -#define RES_H_IUS 51,1213 -#define RES_Rx_CRC 53,1261 -#define RES_Tx_CRC 54,1312 -#define RES_EOM_L 55,1363 -#define EXT_INT_ENAB 59,1433 -#define TxINT_ENAB 60,1479 -#define PAR_SPEC 61,1522 -#define RxINT_DISAB 63,1578 -#define RxINT_FCERR 64,1621 -#define INT_ALL_Rx 65,1691 -#define INT_ERR_Rx 66,1755 -#define WT_RDY_RT 68,1804 -#define WT_FN_RDYFN 69,1851 -#define WT_RDY_ENAB 70,1899 -#define RxENABLE 76,2017 -#define SYNC_L_INH 77,2054 -#define ADD_SM 78,2111 -#define RxCRC_ENAB 79,2164 -#define ENT_HM 80,2207 -#define AUTO_ENAB 81,2250 -#define Rx5 82,2292 -#define Rx7 83,2335 -#define Rx6 84,2379 -#define Rx8 85,2423 -#define PAR_ENA 89,2492 -#define PAR_EVEN 90,2533 -#define SYNC_ENAB 92,2578 -#define SB1 93,2622 -#define SB15 94,2661 -#define SB2 95,2704 -#define MONSYNC 97,2745 -#define BISYNC 98,2791 -#define SDLC 99,2840 -#define EXTSYNC 100,2896 -#define X1CLK 102,2944 -#define X16CLK 103,2983 -#define X32CLK 104,3025 -#define X64CLK 105,3067 -#define TxCRC_ENAB 109,3134 -#define RTS 110,3177 -#define SDLC_CRC 111,3204 -#define TxENAB 112,3243 -#define SND_BRK 113,3279 -#define Tx5 114,3318 -#define Tx7 115,3371 -#define Tx6 116,3415 -#define Tx8 117,3459 -#define DTR 118,3503 -#define VIS 127,3738 -#define NV 128,3781 -#define DLC 129,3810 -#define MIE 130,3850 -#define STATHI 131,3894 -#define NORESET 132,3932 -#define CHRB 133,3980 -#define CHRA 134,4020 -#define FHWRES 135,4060 -#define BIT6 138,4152 -#define LOOPMODE 139,4189 -#define ABUNDER 140,4229 -#define MARKIDLE 141,4286 -#define GAOP 142,4329 -#define NRZ 143,4371 -#define NRZI 144,4400 -#define FM1 145,4434 -#define FM0 146,4478 -#define CRCPS 147,4522 -#define TRxCXT 150,4608 -#define TRxCTC 151,4650 -#define TRxCBR 152,4695 -#define TRxCDP 153,4745 -#define TRxCOI 154,4787 -#define TCRTxCP 155,4819 -#define TCTRxCP 156,4869 -#define TCBR 157,4919 -#define TCDPLL 158,4980 -#define RCRTxCP 159,5035 -#define RCTRxCP 160,5084 -#define RCBR 161,5136 -#define RCDPLL 162,5196 -#define RTxCX 163,5250 -#define BRENABL 170,5488 -#define BRSRC 171,5539 -#define DTRREQ 172,5588 -#define AUTOECHO 173,5632 -#define LOOPBAK 174,5667 -#define SEARCH 175,5709 -#define RMC 176,5753 -#define DISDPLL 177,5796 -#define SSBR 178,5836 -#define SSRTxC 179,5891 -#define SFMM 180,5940 -#define SNRZI 181,5976 -#define PRIME 184,6076 -#define ZCIE 185,6140 -#define FIFOE 186,6175 -#define DCDIE 187,6209 -#define SYNCIE 188,6238 -#define CTSIE 189,6277 -#define TxUIE 190,6309 -#define BRKIE 191,6353 -#define Rx_CH_AV 195,6417 -#define ZCOUNT 196,6467 -#define Tx_BUF_EMP 197,6504 -#define DCD 198,6549 -#define SYNC_HUNT 199,6576 -#define CTS 200,6615 -#define TxEOM 201,6643 -#define BRK_ABRT 202,6681 -#define ALL_SNT 205,6744 -#define RES3 207,6829 -#define RES4 208,6857 -#define RES5 209,6885 -#define RES6 210,6913 -#define RES7 211,6941 -#define RES8 212,6969 -#define RES18 213,6997 -#define RES28 214,7026 -#define PAR_ERR 216,7093 -#define Rx_OVR 217,7134 -#define CRC_ERR 218,7178 -#define END_FR 219,7224 -#define CHBEXT 224,7392 -#define CHBTxIP 225,7440 -#define CHBRxIP 226,7483 -#define CHAEXT 227,7526 -#define CHATxIP 228,7574 -#define CHARxIP 229,7618 -#define ONLOOP 234,7753 -#define LOOPSEND 235,7785 -#define CLK2MIS 236,7827 -#define CLK1MIS 237,7874 -struct z8530_irqhandlerz8530_irqhandler252,8178 -struct z8530_channelz8530_channel263,8357 -#define Z8530_PORT_SLEEP 316,9856 -#define Z8530_PORT_OF(Z8530_PORT_OF317,9892 -struct z8530_devz8530_dev376,11349 -#define Z8530 382,11517 -#define Z85C30 383,11554 -#define Z85230 384,11591 -#define SERIAL_MAGIC 425,13065 -#define SERIAL_XMIT_SIZE 431,13165 -#define WAKEUP_CHARS 432,13195 -#define RS_EVENT_WRITE_WAKEUP 438,13337 -#define ZILOG_INITIALIZED 441,13428 -#define ZILOG_CALLOUT_ACTIVE 442,13499 -#define ZILOG_NORMAL_ACTIVE 443,13571 -#define ZILOG_BOOT_AUTOCONF 444,13640 -#define ZILOG_CLOSING 445,13714 -#define ZILOG_CTS_FLOW 446,13777 -#define ZILOG_CHECK_CD 447,13838 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/pc300_drv.c,2848 -#define USE_PCI_CLOCK1,0 -static char rcsid[2,22 -#define CPC_LOCK(CPC_LOCK239,8789 -#define CPC_UNLOCK(CPC_UNLOCK244,8898 -static struct pci_device_id cpc_pci_dev_id[255,9133 -static struct pci_device_id cpc_pci_dev_id[] __devinitdata 255,9133 -#define cpc_min(cpc_min274,9791 -#define cpc_max(cpc_max277,9855 -static void tx_dma_buf_pt_init(306,10926 -static void tx_dma_buf_init(321,11432 -static void rx_dma_buf_pt_init(336,11855 -static void rx_dma_buf_init(351,12357 -static void tx_dma_buf_check(366,12775 -static void tx1_dma_buf_check(391,13663 -static void rx_dma_buf_check(417,14619 -int dma_get_rx_frame_size(440,15366 -int dma_buf_write(465,16170 -int dma_buf_read(506,17299 -void tx_dma_stop(563,18868 -void rx_dma_stop(574,19156 -void rx_dma_start(585,19440 -void falc_issue_cmd(610,20219 -void falc_intr_enable(625,20593 -void falc_open_timeslot(675,22398 -void falc_close_timeslot(691,23047 -void falc_close_all_timeslots(707,23698 -void falc_open_all_timeslots(729,24490 -void falc_init_timeslot(761,25637 -void falc_enable_comm(779,26103 -void falc_disable_comm(795,26548 -void falc_init_t1(809,26955 -void falc_init_e1(978,32798 -void falc_init_hdlc(1158,39281 -void te_config(1184,40079 -void falc_check_status(1244,41888 -void falc_update_stats(1400,45807 -void falc_remote_loop(1453,47704 -void falc_local_loop(1498,49440 -void falc_payload_loop(1525,50489 -void turn_off_xlu(1579,52410 -void turn_off_xld(1600,53169 -void falc_generate_loop_up_code(1622,54018 -void falc_generate_loop_down_code(1655,55256 -void falc_pattern_test(1685,56351 -ucshort falc_pattern_test_error(1732,58185 -cpc_trace(1745,58486 -void cpc_tx_timeout(1772,59094 -int cpc_queue_xmit(1800,59915 -void cpc_net_rx(1883,62271 -static void sca_tx_intr(1971,64264 -static void sca_intr(2006,65359 -static void falc_t1_loop_detection(2185,70430 -static void falc_e1_loop_detection(2210,71135 -static void falc_t1_intr(2235,71835 -static void falc_e1_intr(2282,72958 -static void falc_intr(2351,74959 -static irqreturn_t cpc_intr(2367,75257 -void cpc_sca_status(2407,76174 -void cpc_falc_status(2499,80362 -int cpc_change_mtu(2527,81411 -int cpc_ioctl(2535,81573 -static struct net_device_stats *cpc_get_stats(2828,89621 -static int clock_rate_calc(2833,89721 -int ch_config(2860,90226 -int rx_config(3008,94628 -int tx_config(3039,95432 -static int cpc_attach(3071,96425 -void cpc_opench(3102,97343 -void cpc_closech(3120,97710 -int cpc_open(3148,98648 -int cpc_close(3177,99162 -static uclong detect_ram(3209,99777 -static void plx_init(3227,100162 -static inline void show_version(3247,100698 -static void cpc_init_card(3263,101076 -cpc_init_one(3427,105464 -static void __devexit cpc_remove_one(3635,111601 -static struct pci_driver cpc_driver 3669,112634 -static int __init cpc_init(3676,112822 -static void __exit cpc_cleanup_module(3681,112898 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/dlci.c,658 -static const char version[57,1795 -static int dlci_header(69,2117 -static void dlci_receive(108,2883 -static int dlci_transmit(191,4850 -static int dlci_config(232,5561 -static int dlci_dev_ioctl(266,6215 -static int dlci_change_mtu(298,6798 -static int dlci_open(307,6969 -static int dlci_close(331,7339 -static struct net_device_stats *dlci_get_stats(347,7578 -static int dlci_add(356,7721 -static int dlci_del(423,8931 -static int dlci_ioctl(457,9476 -static void dlci_setup(489,9965 -static int dlci_dev_event(512,10528 -static struct notifier_block dlci_notifier 532,10952 -static int __init init_dlci(536,11037 -static void __exit dlci_exit(546,11191 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/z85230.c,1987 -#define RT_LOCK50,1476 -#define RT_UNLOCK51,1492 -static inline int z8530_read_port(74,2152 -static inline void z8530_write_port(98,2845 -static inline u8 read_zsreg(122,3429 -static inline u8 read_zsdata(137,3801 -static inline void write_zsreg(156,4243 -static inline void write_zsctrl(172,4569 -static inline void write_zsdata(186,4840 -u8 z8530_dead_port[195,5001 -u8 z8530_hdlc_kilostream[212,5278 -u8 z8530_hdlc_kilostream_85230[237,5736 -static void z8530_flush_fifo(272,6613 -static void z8530_rtsdtr(298,7221 -static void z8530_rx(331,8295 -static void z8530_tx(407,9599 -static void z8530_status(451,10590 -struct z8530_irqhandler z8530_sync=493,11526 -static void z8530_dma_rx(512,11935 -static void z8530_dma_tx(548,12635 -static void z8530_dma_status(574,13310 -struct z8530_irqhandler z8530_dma_sync=624,14318 -struct z8530_irqhandler z8530_txdma_sync=633,14444 -static void z8530_rx_clear(652,14868 -static void z8530_tx_clear(680,15440 -static void z8530_status_clear(695,15861 -struct z8530_irqhandler z8530_nop=704,16073 -irqreturn_t z8530_interrupt(731,16837 -static char reg_init[793,18146 -int z8530_sync_open(811,18501 -int z8530_sync_close(849,19345 -int z8530_sync_dma_open(879,20045 -int z8530_sync_dma_close(1002,22420 -int z8530_sync_txdma_open(1073,23884 -int z8530_sync_txdma_close(1174,25726 -static char *z8530_type_name[1233,26792 -void z8530_describe(1250,27239 -static inline int do_z8530_init(1266,27555 -int z8530_init(1345,29533 -int z8530_shutdown(1376,30209 -int z8530_channel_load(1404,30910 -static void z8530_tx_begin(1452,31965 -static void z8530_tx_done(1549,33920 -void z8530_null_rx(1574,34436 -static void z8530_rx_done(1594,35048 -static inline int spans_boundary(1744,38296 -int z8530_queue_xmit(1767,38893 -struct net_device_stats *z8530_get_stats(1823,40225 -static char banner[1833,40373 -static char banner[] __initdata 1833,40373 -static int __init z85230_init_driver(1835,40468 -static void __exit z85230_cleanup_driver(1842,40577 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hd64570.h,3997 -#define __HD64570_H2,20 -#define LPR 13,255 -#define PABR0 16,325 -#define PABR1 17,380 -#define WCRL 18,435 -#define WCRM 19,477 -#define WCRH 20,519 -#define PCR 22,562 -#define DMER 23,610 -#define ISR0 27,683 -#define ISR1 28,730 -#define ISR2 29,777 -#define IER0 31,825 -#define IER1 32,872 -#define IER2 33,919 -#define ITCR 35,967 -#define IVR 36,1012 -#define IMVR 37,1056 -#define MSCI0_OFFSET 44,1214 -#define MSCI1_OFFSET 45,1240 -#define TRBL 47,1267 -#define TRBH 48,1310 -#define ST0 49,1353 -#define ST1 50,1389 -#define ST2 51,1425 -#define ST3 52,1461 -#define FST 53,1497 -#define IE0 54,1538 -#define IE1 55,1584 -#define IE2 56,1630 -#define FIE 57,1676 -#define CMD 58,1727 -#define MD0 59,1762 -#define MD1 60,1796 -#define MD2 61,1830 -#define CTL 62,1864 -#define SA0 63,1899 -#define SA1 64,1941 -#define IDL 65,1983 -#define TMC 66,2023 -#define RXS 67,2064 -#define TXS 68,2107 -#define TRC0 69,2150 -#define TRC1 70,2197 -#define RRC 71,2244 -#define CST0 72,2289 -#define CST1 73,2333 -#define TIMER0RX_OFFSET 82,2603 -#define TIMER0TX_OFFSET 83,2632 -#define TIMER1RX_OFFSET 84,2661 -#define TIMER1TX_OFFSET 85,2690 -#define TCNTL 87,2720 -#define TCNTH 88,2760 -#define TCONRL 89,2800 -#define TCONRH 90,2838 -#define TCSR 91,2876 -#define TEPR 92,2918 -#define DMAC0RX_OFFSET 102,3180 -#define DMAC0TX_OFFSET 103,3208 -#define DMAC1RX_OFFSET 104,3236 -#define DMAC1TX_OFFSET 105,3264 -#define BARL 107,3293 -#define BARH 108,3353 -#define BARB 109,3413 -#define DARL 111,3474 -#define DARH 112,3538 -#define DARB 113,3602 -#define SARL 115,3667 -#define SARH 116,3729 -#define SARB 117,3791 -#define CPB 119,3854 -#define CDAL 121,3917 -#define CDAH 122,3986 -#define EDAL 123,4055 -#define EDAH 124,4122 -#define BFLL 125,4189 -#define BFLH 126,4258 -#define BCRL 127,4327 -#define BCRH 128,4367 -#define DSR 129,4407 -#define DSR_RX(DSR_RX130,4445 -#define DSR_TX(DSR_TX131,4515 -#define DMR 132,4585 -#define DMR_RX(DMR_RX133,4621 -#define DMR_TX(DMR_TX134,4691 -#define FCT 135,4761 -#define FCT_RX(FCT_RX136,4816 -#define FCT_TX(FCT_TX137,4886 -#define DIR 138,4956 -#define DIR_RX(DIR_RX139,5004 -#define DIR_TX(DIR_TX140,5074 -#define DCR 141,5144 -#define DCR_RX(DCR_RX142,5184 -#define DCR_TX(DCR_TX143,5254 -}__attribute__ ((packed)packed156,5542 -#define ST_TX_EOM 161,5617 -#define ST_TX_EOT 162,5663 -#define ST_RX_EOM 164,5716 -#define ST_RX_SHORT 165,5762 -#define ST_RX_ABORT 166,5807 -#define ST_RX_RESBIT 167,5846 -#define ST_RX_OVERRUN 168,5892 -#define ST_RX_CRC 169,5933 -#define ST_ERROR_MASK 171,5971 -#define DIR_EOTE 173,5999 -#define DIR_EOME 174,6056 -#define DIR_BOFE 175,6135 -#define DIR_COFE 176,6214 -#define DSR_EOT 179,6287 -#define DSR_EOM 180,6344 -#define DSR_BOF 181,6423 -#define DSR_COF 182,6502 -#define DSR_DE 183,6573 -#define DSR_DWE 184,6617 -#define DMER_DME 187,6719 -#define CMD_RESET 190,6772 -#define CMD_TX_ENABLE 191,6819 -#define CMD_RX_ENABLE 192,6870 -#define MD0_HDLC 194,6919 -#define MD0_CRC_ENA 195,6971 -#define MD0_CRC_CCITT 196,7032 -#define MD0_CRC_PR1 197,7093 -#define MD0_CRC_NONE 199,7165 -#define MD0_CRC_16_0 200,7192 -#define MD0_CRC_16 201,7219 -#define MD0_CRC_ITU_0 202,7246 -#define MD0_CRC_ITU 203,7273 -#define MD2_NRZ 205,7301 -#define MD2_NRZI 206,7328 -#define MD2_MANCHESTER 207,7355 -#define MD2_FM_MARK 208,7383 -#define MD2_FM_SPACE 209,7410 -#define MD2_LOOPBACK 210,7437 -#define CTL_NORTS 212,7496 -#define CTL_IDLE 213,7523 -#define CTL_UDRNC 214,7581 -#define ST0_TXRDY 216,7654 -#define ST0_RXRDY 217,7696 -#define ST1_UDRN 219,7739 -#define ST1_CDCD 220,7789 -#define ST3_CTS 222,7841 -#define ST3_DCD 223,7893 -#define IE0_TXINT 225,7946 -#define IE0_RXINTA 226,8008 -#define IE1_UDRN 227,8072 -#define IE1_CDCD 228,8139 -#define DCR_ABORT 230,8191 -#define DCR_CLEAR_EOF 231,8247 -#define CLK_BRG_MASK 234,8344 -#define CLK_LINE_RX 235,8371 -#define CLK_LINE_TX 236,8427 -#define CLK_BRG_RX 237,8477 -#define CLK_BRG_TX 238,8539 -#define CLK_RXCLK_TX 239,8601 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/farsync.h,3856 -#define FST_NAME 40,1739 -#define FST_NDEV_NAME 41,1811 -#define FST_DEV_NAME 42,1883 -#define FST_USER_VERSION 53,2352 -#define FSTWRITE 61,2581 -#define FSTCPURESET 62,2625 -#define FSTCPURELEASE 63,2669 -#define FSTGETCONF 64,2713 -#define FSTSETCONF 65,2757 -struct fstioc_write fstioc_write72,2907 -struct fstioc_info fstioc_info101,4061 -#define FSTVAL_NONE 147,6864 -#define FSTVAL_OMODEM 152,7213 -#define FSTVAL_SPEED 156,7457 -#define FSTVAL_CABLE 158,7582 -#define FSTVAL_IMODEM 159,7655 -#define FSTVAL_CARD 160,7710 -#define FSTVAL_PROTO 163,7887 -#define FSTVAL_MODE 164,7939 -#define FSTVAL_PHASE 165,7994 -#define FSTVAL_TE1 166,8052 -#define FSTVAL_DEBUG 167,8117 -#define FSTVAL_ALL 168,8169 -#define FST_TYPE_NONE 171,8263 -#define FST_TYPE_T2P 172,8338 -#define FST_TYPE_T4P 173,8404 -#define FST_TYPE_T1U 174,8470 -#define FST_TYPE_T2U 175,8536 -#define FST_TYPE_T4U 176,8602 -#define FST_TYPE_TE1 177,8668 -#define FST_FAMILY_TXP 180,8751 -#define FST_FAMILY_TXU 181,8808 -#define FST_UNINIT 184,8887 -#define FST_RESET 186,9025 -#define FST_DOWNLOAD 187,9101 -#define FST_STARTING 188,9169 -#define FST_RUNNING 189,9243 -#define FST_BADVERSION 190,9307 -#define FST_HALTED 191,9388 -#define FST_IFAILED 192,9459 -#define V24 196,9659 -#define X21 197,9685 -#define V35 198,9711 -#define X21D 199,9737 -#define T1 200,9763 -#define E1 201,9789 -#define J1 202,9815 -#define FST_HDLC 205,9856 -#define FST_PPP 206,9924 -#define FST_MONITOR 207,9979 -#define FST_RAW 208,10061 -#define FST_GEN_HDLC 209,10127 -#define INTCLK 212,10224 -#define EXTCLK 213,10250 -#define IPSTS_CTS 216,10302 -#define IPSTS_INDICATE 217,10382 -#define IPSTS_DSR 218,10416 -#define IPSTS_DCD 219,10490 -#define IPSTS_RI 220,10556 -#define IPSTS_TMI 221,10630 -#define OPSTS_RTS 224,10737 -#define OPSTS_CONTROL 225,10818 -#define OPSTS_DTR 226,10852 -#define OPSTS_DSRS 227,10918 -#define OPSTS_SS 229,11051 -#define OPSTS_LL 230,11128 -#define CARD_MODE_IDENTIFY 233,11233 -#define CLOCKING_SLAVE 242,11342 -#define CLOCKING_MASTER 243,11373 -#define FRAMING_E1 248,11423 -#define FRAMING_J1 249,11454 -#define FRAMING_T1 250,11485 -#define STRUCTURE_UNFRAMED 255,11537 -#define STRUCTURE_E1_DOUBLE 256,11568 -#define STRUCTURE_E1_CRC4 257,11599 -#define STRUCTURE_E1_CRC4M 258,11630 -#define STRUCTURE_T1_4 259,11661 -#define STRUCTURE_T1_12 260,11692 -#define STRUCTURE_T1_24 261,11723 -#define STRUCTURE_T1_72 262,11754 -#define INTERFACE_RJ48C 267,11806 -#define INTERFACE_BNC 268,11837 -#define CODING_HDB3 274,11887 -#define CODING_NRZ 275,11918 -#define CODING_CMI 276,11949 -#define CODING_CMI_HDB3 277,11980 -#define CODING_CMI_B8ZS 278,12011 -#define CODING_AMI 279,12042 -#define CODING_AMI_ZCS 280,12073 -#define CODING_B8ZS 281,12104 -#define LBO_0dB 286,12161 -#define LBO_7dB5 287,12192 -#define LBO_15dB 288,12223 -#define LBO_22dB5 289,12254 -#define RANGE_0_133_FT 294,12327 -#define RANGE_0_40_M 295,12358 -#define RANGE_133_266_FT 296,12402 -#define RANGE_40_81_M 297,12433 -#define RANGE_266_399_FT 298,12479 -#define RANGE_81_122_M 299,12510 -#define RANGE_399_533_FT 300,12556 -#define RANGE_122_162_M 301,12587 -#define RANGE_533_655_FT 302,12634 -#define RANGE_162_200_M 303,12665 -#define EQUALIZER_SHORT 307,12739 -#define EQUALIZER_LONG 308,12770 -#define LOOP_NONE 313,12823 -#define LOOP_LOCAL 314,12854 -#define LOOP_PAYLOAD_EXC_TS0 315,12885 -#define LOOP_PAYLOAD_INC_TS0 316,12916 -#define LOOP_REMOTE 317,12947 -#define BUFFER_2_FRAME 322,13002 -#define BUFFER_1_FRAME 323,13033 -#define BUFFER_96_BIT 324,13064 -#define BUFFER_NONE 325,13095 -#define FST_DEBUG 335,13512 -#define DBG_INIT 343,13912 -#define DBG_OPEN 344,13992 -#define DBG_PCI 345,14063 -#define DBG_IOCTL 346,14131 -#define DBG_INTR 347,14201 -#define DBG_TX 348,14279 -#define DBG_RX 349,14345 -#define DBG_CMD 350,14408 -#define DBG_ASS 352,14476 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/cycx_x25.c,2413 -#define CYCLOMX_X25_DEBUG 79,3453 -#define CYCX_X25_MAX_CMD_RETRY 96,4087 -#define CYCX_X25_CHAN_MTU 97,4120 -struct cycx_x25_channel cycx_x25_channel102,4355 -#define hex_dump(hex_dump204,8504 -#define cycx_x25_dump_config(cycx_x25_dump_config205,8534 -#define cycx_x25_dump_stats(cycx_x25_dump_stats206,8569 -#define cycx_x25_dump_devs(cycx_x25_dump_devs207,8604 -int cycx_x25_wan_init(220,9000 -static int cycx_wan_update(338,12404 -static int cycx_wan_new_if(362,13029 -static int cycx_wan_del_if(453,15293 -static int cycx_netdevice_init(479,15881 -static int cycx_netdevice_open(526,17343 -static int cycx_netdevice_stop(538,17631 -static int cycx_netdevice_hard_header(558,18199 -static int cycx_netdevice_rebuild_header(570,18518 -static int cycx_netdevice_hard_start_xmit(590,19286 -static struct net_device_stats *cycx_netdevice_get_stats(665,21136 -static void cycx_x25_irq_handler(674,21368 -static void cycx_x25_irq_tx(727,22576 -static void cycx_x25_irq_rx(759,23771 -static void cycx_x25_irq_connect(844,25832 -static void cycx_x25_irq_connect_confirm(888,26936 -static void cycx_x25_irq_disconnect_confirm(917,27816 -static void cycx_x25_irq_disconnect(939,28428 -static void cycx_x25_irq_log(960,29009 -static void cycx_x25_irq_stat(988,30061 -static void cycx_x25_irq_spurious(1002,30535 -static void hex_dump(1009,30744 -static int x25_exec(1028,31100 -static int cycx_x25_configure(1076,32146 -static int cycx_x25_get_stats(1106,33089 -static int byte_to_nibble(1140,34343 -static void nibble_to_byte(1165,34639 -static int x25_place_call(1187,34921 -static int cycx_x25_connect_response(1234,36088 -static int cycx_x25_disconnect_response(1249,36454 -static int x25_clear_call(1263,36730 -static int cycx_x25_send(1279,37043 -static struct net_device *cycx_x25_get_dev_by_lcn(1292,37345 - cycx_x25_get_dev_by_dte_addr(1310,37729 -static int cycx_x25_chan_connect(1332,38216 -static void cycx_x25_chan_disconnect(1357,38791 -static void cycx_x25_chan_timer(1369,39117 -static void cycx_x25_set_chan_state(1382,39482 -static int cycx_x25_chan_send(1448,41187 -static void cycx_x25_chan_send_event(1476,41803 -static u8 bps_to_speed_code(1499,42311 -static u8 cycx_log2(1516,42745 -static unsigned dec_to_uint(1533,42988 -static void reset_timer(1546,43197 -static void cycx_x25_dump_config(1554,43391 -static void cycx_x25_dump_stats(1576,44398 -static void cycx_x25_dump_devs(1592,45148 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/wanxlfw.S,5377 -.psize .psize1,0 -MAX_RAM_SIZE MAX_RAM_SIZE42,1068 -PCI9060_VECTOR PCI9060_VECTOR44,1134 -CPM_IRQ_BASE CPM_IRQ_BASE45,1162 -ERROR_VECTOR ERROR_VECTOR46,1182 -SCC1_VECTOR SCC1_VECTOR47,1214 -SCC2_VECTOR SCC2_VECTOR48,1254 -SCC3_VECTOR SCC3_VECTOR49,1294 -SCC4_VECTOR SCC4_VECTOR50,1334 -CPM_IRQ_LEVEL CPM_IRQ_LEVEL51,1374 -TIMER_IRQ TIMER_IRQ52,1392 -TIMER_IRQ_LEVEL TIMER_IRQ_LEVEL53,1408 -PITR_CONST PITR_CONST54,1428 -MBAR MBAR56,1468 -VALUE_WINDOW VALUE_WINDOW58,1488 -ORDER_WINDOW ORDER_WINDOW59,1514 -PLX PLX61,1541 -CSRA CSRA63,1560 -CSRB CSRB64,1579 -CSRC CSRC65,1598 -CSRD CSRD66,1617 -STATUS_CABLE_LL STATUS_CABLE_LL67,1636 -STATUS_CABLE_DTR STATUS_CABLE_DTR68,1662 -DPRBASE DPRBASE70,1689 -SCC1_BASE SCC1_BASE72,1712 -MISC_BASE MISC_BASE73,1740 -SCC2_BASE SCC2_BASE74,1768 -SCC3_BASE SCC3_BASE75,1796 -SCC4_BASE SCC4_BASE76,1824 -SCC_RBASE SCC_RBASE80,1947 -SCC_TBASE SCC_TBASE81,1990 -SCC_RFCR SCC_RFCR82,2033 -SCC_TFCR SCC_TFCR83,2073 -SCC_MRBLR SCC_MRBLR84,2113 -SCC_C_MASK SCC_C_MASK85,2163 -SCC_C_PRES SCC_C_PRES86,2205 -SCC_MFLR SCC_MFLR87,2245 -REGBASE REGBASE89,2309 -PICR PICR90,2337 -PITR PITR91,2392 -OR1 OR192,2446 -CICR CICR93,2499 -CIMR CIMR94,2557 -CISR CISR95,2609 -PADIR PADIR96,2668 -PAPAR PAPAR97,2731 -PAODR PAODR98,2794 -PADAT PADAT99,2853 -PCDIR PCDIR101,2909 -PCPAR PCPAR102,2972 -PCSO PCSO103,3035 -PCDAT PCDAT104,3091 -PCINT PCINT105,3146 -CR CR106,3205 -SCC1_REGS SCC1_REGS108,3255 -SCC2_REGS SCC2_REGS109,3283 -SCC3_REGS SCC3_REGS110,3311 -SCC4_REGS SCC4_REGS111,3339 -SICR SICR112,3367 -SCC_GSMR_L SCC_GSMR_L115,3442 -SCC_GSMR_H SCC_GSMR_H116,3471 -SCC_PSMR SCC_PSMR117,3500 -SCC_TODR SCC_TODR118,3527 -SCC_DSR SCC_DSR119,3554 -SCC_SCCE SCC_SCCE120,3581 -SCC_SCCM SCC_SCCM121,3608 -SCC_SCCS SCC_SCCS122,3635 -_start:_start190,5085 -ch_status_addr:ch_status_addr193,5120 -rx_descs_addr:rx_descs_addr194,5153 -init:init196,5177 -init_1:init_1206,5443 -init_2:init_2209,5529 -main:main249,6766 -main_1:main_1259,7008 -main_l:main_l262,7088 -main_op:main_op266,7228 -main_cl:main_cl270,7302 -main_txend:main_txend274,7370 -main_next:main_next280,7442 -open_port:open_port291,7706 -open_port_clock_ext:open_port_clock_ext309,8234 -open_port_set_clock:open_port_set_clock311,8283 -open_port_tx_loop:open_port_tx_loop325,8841 -open_port_rx_loop:open_port_rx_loop337,9245 -open_port_parity_1:open_port_parity_1370,10278 -open_port_parity_2:open_port_parity_2380,10595 -open_port_parity_3:open_port_parity_3390,10894 -open_port_parity_4:open_port_parity_4400,11206 -open_port_2:open_port_2407,11404 -open_port_nrz:open_port_nrz414,11607 -open_port_3:open_port_3416,11687 -open_port_ret:open_port_ret427,12007 -close_port:close_port433,12103 -tx:tx448,12623 -tx_1:tx_1477,13442 -tx_ret:tx_ret482,13505 -rx:rx488,13661 -rx_parity:rx_parity501,14011 -rx_good_frame:rx_good_frame511,14241 -rx_ignore_data:rx_ignore_data524,14547 -rx_1:rx_1534,14788 -rx_free_bd:rx_free_bd536,14813 -rx_2:rx_2545,15000 -rx_overrun:rx_overrun548,15037 -rx_bad_frame:rx_bad_frame553,15132 -rx_ret:rx_ret558,15233 -tx_end:tx_end564,15390 -tx_end_1:tx_end_1583,15938 -tx_end_underrun:tx_end_underrun595,16206 -tx_end_ret:tx_end_ret599,16267 -memcpy_from_pci_run:memcpy_from_pci_run606,16420 -memcpy_1:memcpy_1609,16479 -memcpy_to_pci_run:memcpy_to_pci_run617,16714 -memcpy_2:memcpy_2620,16771 -memcpy_end:memcpy_end628,17007 -pci9060_interrupt:pci9060_interrupt641,17149 -port_interrupt_1:port_interrupt_1655,17472 -port_interrupt_2:port_interrupt_2661,17611 -port_interrupt_3:port_interrupt_3667,17750 -port_interrupt_4:port_interrupt_4673,17889 -error_interrupt:error_interrupt679,18028 -check_csr:check_csr685,18153 -check_csr_loop:check_csr_loop695,18329 -check_csr_1:check_csr_1703,18569 -check_csr_2:check_csr_2709,18705 -check_csr_3:check_csr_3715,18841 -check_csr_disable:check_csr_disable721,18986 -check_csr_valid:check_csr_valid726,19127 -check_csr_write:check_csr_write732,19358 -check_csr_input:check_csr_input738,19504 -check_csr_dcd_on:check_csr_dcd_on746,19732 -check_csr_previous:check_csr_previous749,19830 -check_csr_next:check_csr_next757,20096 -timer_interrupt:timer_interrupt773,20402 -ram_test:ram_test780,20529 -ram_test_size:ram_test_size784,20661 -ram_test_next_size:ram_test_next_size791,20811 -ram_test_size_check:ram_test_size_check795,20865 -ram_test_size_found:ram_test_size_found801,20980 -ram_test_fill:ram_test_fill806,21136 -ram_test_loop:ram_test_loop813,21258 -ram_test_found_bad:ram_test_found_bad822,21448 -ram_test_all_ok:ram_test_all_ok824,21482 -scc_reg_addr:scc_reg_addr832,21613 -scc_base_addr:scc_base_addr834,21677 -tx_first_bd:tx_first_bd837,21743 -rx_first_bd:rx_first_bd843,21921 -first_buffer:first_buffer849,22167 -bell_tx:bell_tx855,22402 -bell_cable:bell_cable859,22544 -packet_full:packet_full863,22701 -clocking_ext:clocking_ext866,22785 -clocking_txfromrx:clocking_txfromrx868,22853 -clocking_mask:clocking_mask870,22926 -dcd_mask:dcd_mask872,22995 -channel_stats:channel_stats882,23227 -tx_in:tx_in884,23251 -tx_out:tx_out885,23291 -tx_count:tx_count886,23356 -rx_in:rx_in888,23415 -rx_out:rx_out889,23462 -parity_bytes:parity_bytes890,23504 -csr_output:csr_output892,23570 -old_csr_output:old_csr_output893,23590 -firmware_end:firmware_end895,23643 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/cosa.c,3754 -#define COSA_MAX_ID_STRING 109,4036 -#define COSA_MAX_NAME 112,4109 -struct channel_data channel_data116,4193 -#define COSA_FW_RESET 147,5251 -#define COSA_FW_DOWNLOAD 148,5314 -#define COSA_FW_START 149,5381 -struct cosa_data cosa_data151,5444 -static int cosa_major 185,6696 -#define CARD_MINOR_BITS 192,6883 -#define MAX_CARDS 198,7148 -#define DRIVER_RX_READY 201,7221 -#define DRIVER_TX_READY 202,7253 -#define DRIVER_TXMAP_SHIFT 203,7285 -#define DRIVER_TXMAP_MASK 204,7314 -#define TXBIT 210,7518 -#define RXBIT 211,7534 -#define IRQBIT 212,7550 -#define COSA_MTU 214,7568 -#define TX_TIMEOUT 220,7824 -static struct cosa_data cosa_cards[223,7909 -static int nr_cards;224,7956 -static int io[227,8004 -static int dma[229,8107 -static int io[231,8175 -static int dma[232,8203 -static int irq[235,8274 -static struct class_simple *cosa_class;238,8358 -#define cosa_outb 255,9005 -#define cosa_outw 256,9030 -#define cosa_inb 257,9055 -#define cosa_inw 258,9079 -#define cosa_outb 260,9109 -#define cosa_outw 261,9132 -#define cosa_inb 262,9155 -#define cosa_inw 263,9177 -#define is_8bit(is_8bit266,9207 -#define cosa_getstatus(cosa_getstatus268,9257 -#define cosa_putstatus(cosa_putstatus269,9314 -#define cosa_getdata16(cosa_getdata16270,9384 -#define cosa_getdata8(cosa_getdata8271,9439 -#define cosa_putdata16(cosa_putdata16272,9493 -#define cosa_putdata8(cosa_putdata8273,9557 -static struct file_operations cosa_fops 316,11612 -static int __init cosa_init(364,13329 -static void __exit cosa_exit(423,14796 -static __inline__ void channel_init(456,15658 -static int cosa_probe(467,15928 -static void cosa_setup(624,20278 -static void sppp_channel_init(635,20552 -static void sppp_channel_delete(659,21131 -static int cosa_sppp_open(667,21323 -static int cosa_sppp_tx(707,22316 -static void cosa_sppp_timeout(718,22531 -static int cosa_sppp_close(737,22936 -static char *sppp_setup_rx(760,23407 -static int sppp_rx_done(779,23907 -static int sppp_tx_done(800,24446 -static struct net_device_stats *cosa_net_stats(817,24844 -static void chardev_channel_init(826,25029 -static ssize_t cosa_read(832,25146 -static char *chrdev_setup_rx(888,26647 -static int chrdev_rx_done(895,26793 -static ssize_t cosa_write(907,27016 -static int chrdev_tx_done(966,28595 -static unsigned int cosa_poll(977,28833 -static int cosa_open(983,28958 -static int cosa_release(1018,29727 -static struct fasync_struct *fasync[1033,30077 -static int cosa_fasync(1036,30153 -static inline int cosa_reset(1051,30510 -static inline int cosa_download(1069,31153 -static inline int cosa_readmem(1108,32329 -static inline int cosa_start(1142,33322 -static inline int cosa_getidstr(1170,34258 -static inline int cosa_gettype(1179,34513 -static int cosa_ioctl_common(1187,34696 -static int cosa_sppp_ioctl(1232,35840 -static int cosa_chardev_ioctl(1244,36133 -static void cosa_enable_rx(1259,36586 -static void cosa_disable_rx(1267,36763 -static int cosa_start_tx(1281,37197 -static void put_driver_status(1308,37813 -static void put_driver_status_nolock(1343,38618 -static void cosa_kick(1376,39407 -static int cosa_dma_able(1412,40303 -static int download(1438,41154 -static int startmicrocode(1483,42386 -static int readmem(1512,43374 -static int cosa_reset_and_read_id(1558,44560 -static int get_wait_data(1606,45888 -static int put_wait_data(1634,46648 -static int puthexnumber(1663,47464 -static inline void tx_interrupt(1719,49698 -static inline void rx_interrupt(1856,53566 -static inline void eot_interrupt(1943,56071 -static irqreturn_t cosa_interrupt(1991,57517 -static void debug_status_in(2043,58786 -static void debug_status_out(2069,59289 -static void debug_data_in(2082,59728 -static void debug_data_out(2087,59858 -static void debug_data_cmd(2092,59989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdla_x25.c,4995 -#define CMD_OK 112,5474 -#define CMD_TIMEOUT 113,5527 -#define MAX_CMD_RETRY 114,5586 -#define X25_CHAN_MTU 116,5650 -#define X25_HRDHDR_SZ 117,5716 -#define X25_CONCT_TMOUT 118,5777 -#define X25_RECON_TMOUT 119,5840 -#define CONNECT_TIMEOUT 120,5903 -#define HOLD_DOWN_TIME 121,5966 -#define MAX_BH_BUFF 122,6024 -#define M_BIT 123,6047 -#define DBG_PRINTK(DBG_PRINTK127,6112 -#define DBG_PRINTK(DBG_PRINTK129,6172 -#define TMR_INT_ENABLED_POLL_ACTIVE 132,6215 -#define TMR_INT_ENABLED_POLL_CONNECT_ON 133,6261 -#define TMR_INT_ENABLED_POLL_CONNECT_OFF 134,6307 -#define TMR_INT_ENABLED_POLL_DISCONNECT 135,6353 -#define TMR_INT_ENABLED_CMD_EXEC 136,6399 -#define TMR_INT_ENABLED_UPDATE 137,6438 -#define TMR_INT_ENABLED_UDP_PKT 138,6476 -#define MAX_X25_ADDR_SIZE 140,6516 -#define MAX_X25_DATA_SIZE 141,6545 -#define MAX_X25_FACL_SIZE 142,6576 -#define TRY_CMD_AGAIN 144,6607 -#define DELAY_RESULT 145,6631 -#define RETURN_RESULT 146,6657 -#define DCD(DCD148,6684 -#define CTS(CTS149,6727 -#define MODEM_NOT_LOG 154,6847 -#define CVHexToAscii(CVHexToAscii160,7001 -typedef struct x25_channelx25_channel250,10074 -} x25_channel_t;x25_channel_t291,11607 -typedef struct x25_call_infox25_call_info296,11677 -} x25_call_info_t;x25_call_info_t308,12091 -typedef struct x25_call_infox25_call_info310,12116 -} x25_call_info_t;x25_call_info_t319,12498 -int wpx_init 543,20816 -static int update(840,29844 -static int new_if(905,31415 -static int del_if(1040,34828 -static int wpx_exec 1053,35155 -static void disable_comm(1068,35619 -static int if_init(1106,36815 -static int if_open(1179,38763 -static int if_close(1268,41126 -static int if_header(1326,42618 -static int if_rebuild_hdr 1351,43273 -static void if_tx_timeout(1366,43672 -static int if_send(1403,45058 -static void setup_for_delayed_transmit(1536,48740 -static struct net_device_stats *if_stats(1588,50191 -static void wpx_isr 1607,50429 -static void rx_intr 1680,52464 -static int wanpipe_pull_data_in_skb(1781,54889 -static void tx_intr 1890,57565 -struct net_device *move_dev_to_next(1986,59936 -static int tx_intr_send(2003,60344 -static void timer_intr 2042,61265 -static void status_intr 2135,64025 -static void event_intr 2202,65879 -static void spur_intr 2213,66154 -static void wpx_poll 2233,66698 -static void trigger_x25_poll(2270,67295 -static void poll_connecting 2280,67627 -static void poll_disconnected 2301,68220 -static void poll_active 2338,69184 -static void timer_intr_exec(2399,71008 -static int x25_get_version 2425,72150 -static int x25_configure 2453,72798 -static int hdlc_configure 2473,73450 -static int set_hdlc_level 2490,73921 -static int x25_get_err_stats 2514,74551 -static int x25_get_stats 2543,75386 -static int x25_close_hdlc 2570,76064 -static int x25_open_hdlc 2591,76586 -static int x25_setup_hdlc 2610,77104 -static int x25_set_dtr 2630,77630 -static int x25_set_intr_mode 2654,78265 -static int x25_get_chan_conf 2682,79005 -static int x25_place_call 2765,80980 -static int x25_accept_call 2800,81849 -static int x25_clear_call 2822,82439 -static int x25_send 2845,83076 -static int x25_fetch_events 2890,84125 -static int x25_error 2921,85260 -static int incoming_call 3109,90499 -static int call_accepted 3259,94383 -static int call_cleared 3299,95389 -static int restart_event 3344,96438 -static int timeout_event 3381,97386 -static int connect 3420,98349 -static int disconnect 3444,98733 -static struct net_device* get_dev_by_lcn(3457,99053 -static int chan_connect(3478,99535 -static int chan_disc(3511,100255 -static void set_chan_state(3534,100653 -static int chan_send(3624,103029 -static void parse_call_info 3788,108079 -static unsigned char bps_to_speed_code 3844,109324 -static unsigned int dec_to_uint 3870,110058 -static unsigned int hex_to_uint 3888,110411 -static int handle_IPXWAN(3908,110764 -static void switch_net_numbers(4022,114033 -struct net_device *find_channel(4092,116089 -void bind_lcn_to_dev(4139,117466 -static void x25api_bh(4166,118108 -static int x25api_bh_cleanup(4242,120129 -static int bh_enqueue(4281,121069 -static int timer_intr_cmd_exec 4319,121985 -static int execute_delayed_cmd(4448,125561 -static int api_incoming_call 4649,130842 -static void send_delayed_cmd_result(4682,131767 -static int clear_confirm_event 4736,133359 -static void send_oob_msg(4786,134522 -static int alloc_and_init_skb_buf 4850,136383 -static void api_oob_event 4882,137147 -static int channel_disconnect(4900,137401 -static void hdlc_link_down 4952,138593 -static int check_bad_command(4974,139064 -static int process_udp_mgmt_pkt(5019,140074 -static int udp_pkt_type(5218,145588 -static int reply_udp(5244,146429 -unsigned short calc_checksum 5322,148318 -static int store_udp_mgmt_pkt(5350,148822 -static void init_x25_channel_struct(5385,149909 -static void init_global_statistics(5395,150315 -static void S508_S514_lock(5405,150585 -static void S508_S514_unlock(5409,150708 -static void x25_timer_routine(5424,151213 -void disable_comm_shutdown(5455,151912 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/x25_asy.c,1317 -static struct net_device **x25_asy_devs;37,899 -static int x25_asy_maxdev 38,940 -static struct x25_asy *x25_asy_alloc(48,1284 -static void x25_asy_free(105,2445 -static int x25_asy_change_mtu(122,2778 -static inline void x25_asy_lock(180,3984 -static inline void x25_asy_unlock(188,4140 -static void x25_asy_bump(195,4296 -static void x25_asy_encaps(230,5061 -static void x25_asy_write_wakeup(267,6209 -static void x25_asy_timeout(291,6789 -static int x25_asy_xmit(312,7417 -static int x25_asy_data_indication(369,8891 -static void x25_asy_data_transmit(381,9221 -static void x25_asy_connected(408,9788 -static void x25_asy_disconnected(431,10243 -static struct lapb_register_struct x25_asy_callbacks 454,10701 -static int x25_asy_open(466,11091 -static int x25_asy_close(516,12020 -static int x25_asy_receive_room(534,12429 -static void x25_asy_receive_buf(546,12812 -static int x25_asy_open_tty(575,13530 -static void x25_asy_close_tty(617,14507 -static struct net_device_stats *x25_asy_get_stats(636,14842 -int x25_asy_esc(648,15188 -static void x25_asy_unesc(687,15901 -static int x25_asy_ioctl(725,16638 -static int x25_asy_open_dev(751,17264 -static void x25_asy_setup(760,17487 -static struct tty_ldisc x25_ldisc 790,18160 -static int __init init_x25_asy(802,18471 -static void __exit exit_x25_asy(823,19051 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/wanpipe_multppp.c,2118 -#define STATIC53,1955 -#define STATIC 55,1976 -#define TMR_INT_ENABLED_UDP 59,2069 -#define TMR_INT_ENABLED_UPDATE 60,2105 -#define TMR_INT_ENABLED_CONFIG 61,2141 -#define CHDLC_DFLT_DATA_LEN 63,2180 -#define CHDLC_HDR_LEN 64,2232 -#define IFF_POINTTOPOINT 66,2258 -#define CHDLC_API 68,2289 -#define PORT(PORT70,2313 -#define MAX_BH_BUFF 71,2367 -#define CRC_LENGTH 73,2391 -#define PPP_HEADER_LEN 74,2414 -typedef struct chdlc_private_areachdlc_private_area83,2760 -} chdlc_private_area_t;chdlc_private_area_t112,3812 -#define NO_ROUTE 115,3864 -#define ADD_ROUTE 116,3886 -#define ROUTE_ADDED 117,3909 -#define REMOVE_ROUTE 118,3934 -static int rCount 122,4036 -static int Intr_test_counter;188,6784 -int wsppp_init 203,7357 -static int update(458,14862 -static int new_if(524,16682 -static int del_if(619,19006 -static int if_init(654,19977 -static void if_tx_timeout(697,21242 -static int if_open(722,22011 -static int if_close(755,22851 -static int if_send(786,23846 -static int reply_udp(876,26141 -unsigned short calc_checksum 947,28044 -static struct net_device_stats* if_stats(976,28583 -static int chdlc_read_version 999,29258 -static int chdlc_configure 1022,29799 -static int chdlc_set_intr_mode 1043,30388 -static int chdlc_comm_enable 1067,31049 -static int chdlc_comm_disable 1086,31522 -static int chdlc_read_comm_err_stats 1103,31935 -static int chdlc_read_op_stats 1120,32410 -static int update_comms_stats(1137,32909 -static int chdlc_send 1181,34319 -static int chdlc_error 1211,35120 -STATIC void wsppp_isr 1243,35860 -static void rx_intr 1356,38643 -void timer_intr(1478,42069 -static int set_chdlc_config(1524,43637 -static int process_global_exception(1561,44669 -static int process_chdlc_exception(1623,46559 -static int store_udp_mgmt_pkt(1667,47506 -static int process_udp_mgmt_pkt(1695,48291 -static void init_chdlc_tx_rx_buff(2079,59330 -static int intr_test(2162,62696 -static int udp_pkt_type(2198,63533 -static void port_set_state 2214,64101 -void s508_lock 2244,65056 -void s508_unlock 2254,65327 -static int config_chdlc 2285,66430 -static void send_ppp_term_request(2333,67696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/sdla.c,1681 -static const char* version 61,1949 -static unsigned int valid_port[63,2037 -static unsigned int valid_port[] __initdata 63,2037 -static unsigned int valid_mem[65,2143 -static unsigned int valid_mem[] __initdata 65,2143 -static spinlock_t sdla_lock 72,2707 -#define SDLA_WINDOW(SDLA_WINDOW80,2944 -static void __sdla_read(82,3045 -static void sdla_read(104,3509 -static void __sdla_write(112,3732 -static void sdla_write(135,4197 -static void sdla_clear(146,4440 -static char sdla_byte(170,4846 -void sdla_stop(185,5159 -void sdla_start(212,5803 -int sdla_z80_poll(250,6844 -#define Z80_READY 275,7420 -#define LOADER_READY 276,7472 -#define Z80_SCC_OK 277,7530 -#define Z80_SCC_BAD 278,7577 -static int sdla_cpuspeed(280,7628 -struct _dlci_stat _dlci_stat330,8625 -struct _frad_stat _frad_stat336,8727 -static void sdla_errors(342,8809 -static int sdla_cmd(425,11129 -int sdla_activate(508,13146 -int sdla_deactivate(530,13608 -int sdla_assoc(552,14089 -int sdla_deassoc(588,14836 -int sdla_dlci_conf(616,15360 -static int sdla_transmit(655,16297 -static void sdla_receive(744,18405 -static irqreturn_t sdla_isr(871,21264 -static void sdla_poll(928,22724 -static int sdla_close(943,22993 -struct conf_data conf_data997,24290 -static int sdla_open(1002,24380 -static int sdla_config(1098,26999 -static int sdla_xfer(1196,29455 -static int sdla_reconfig(1234,30154 -static int sdla_ioctl(1258,30737 -int sdla_change_mtu(1325,32075 -int sdla_set_config(1338,32290 -static struct net_device_stats *sdla_stats(1598,37852 -static void setup_sdla(1606,37990 -static struct net_device *sdla;1639,38768 -static int __init init_sdla(1641,38801 -static void __exit exit_sdla(1658,39057 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/hdlc_fr.c,2181 -#define MAXLEN_LMISTAT 52,1308 -#define PVC_STATE_NEW 54,1375 -#define PVC_STATE_ACTIVE 55,1403 -#define PVC_STATE_FECN 56,1433 -#define PVC_STATE_BECN 57,1483 -#define FR_UI 60,1535 -#define FR_PAD 61,1556 -#define NLPID_IP 63,1579 -#define NLPID_IPV6 64,1602 -#define NLPID_SNAP 65,1627 -#define NLPID_PAD 66,1652 -#define NLPID_Q933 67,1676 -#define LMI_DLCI 70,1703 -#define LMI_PROTO 71,1755 -#define LMI_CALLREF 72,1792 -#define LMI_ANSI_LOCKSHIFT 73,1850 -#define LMI_REPTYPE 74,1908 -#define LMI_CCITT_REPTYPE 75,1963 -#define LMI_ALIVE 76,2000 -#define LMI_CCITT_ALIVE 77,2054 -#define LMI_PVCSTAT 78,2091 -#define LMI_CCITT_PVCSTAT 79,2145 -#define LMI_FULLREP 80,2182 -#define LMI_INTEGRITY 81,2238 -#define LMI_SINGLE 82,2303 -#define LMI_STATUS_ENQUIRY 83,2364 -#define LMI_STATUS 84,2401 -#define LMI_REPT_LEN 86,2451 -#define LMI_INTEG_LEN 87,2521 -#define LMI_LENGTH 89,2595 -#define LMI_ANSI_LENGTH 90,2664 -}__attribute__ ((packed)packed115,3071 -static inline u16 q922_to_dlci(118,3107 -static inline void dlci_to_q922(125,3211 -static inline pvc_device* find_pvc(133,3338 -static inline pvc_device* add_pvc(149,3613 -static inline int pvc_is_used(175,4169 -static inline void pvc_carrier(181,4271 -static inline void delete_unused_pvcs(201,4711 -static inline struct net_device** get_dev_p(217,4986 -static inline u16 status_to_dlci(226,5139 -static inline void dlci_to_status(235,5352 -static int fr_hard_header(249,5601 -static int pvc_open(311,6884 -static int pvc_close(331,7331 -int pvc_ioctl(350,7689 -static inline struct net_device_stats *pvc_get_stats(379,8360 -static int pvc_xmit(386,8470 -static int pvc_change_mtu(426,9399 -static inline void fr_log_dlci_active(436,9568 -static inline u8 fr_lmi_nextseq(451,9985 -static void fr_lmi_send(459,10055 -static void fr_set_link_state(543,12280 -static void fr_timer(579,13086 -static int fr_lmi_recv(634,14554 -static int fr_rx(817,18621 -static void fr_start(947,21661 -static void fr_stop(974,22394 -static void fr_close(987,22657 -static void dlci_setup(1001,22954 -static int fr_add_pvc(1009,23111 -static int fr_del_pvc(1086,24827 -static void fr_destroy(1113,25373 -int hdlc_fr_ioctl(1138,25844 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wan/n2.c,2016 -static const char* version 36,930 -static const char* devname 37,997 -#define DEBUG_RINGS40,1057 -#define USE_WINDOWSIZE 42,1078 -#define USE_BUS16BITS 43,1107 -#define CLOCK_BASE 44,1131 -#define MAX_PAGES 45,1175 -#define MAX_RAM_SIZE 46,1227 -#define MAX_RAM_SIZE 49,1335 -#define N2_IOPORTS 51,1392 -#define NEED_DETECT_RAM52,1416 -#define NEED_SCA_MSCI_INTR53,1440 -#define MAX_TX_BUFFERS 54,1467 -static char *hw 56,1494 -#define N2_PCR 61,1622 -#define PCR_RUNSCA 62,1639 -#define PCR_VPM 63,1680 -#define PCR_ENWIN 64,1755 -#define PCR_BUS16 65,1798 -#define N2_BAR 69,1877 -#define N2_PSR 73,1922 -#define WIN16K 74,1939 -#define WIN32K 75,1965 -#define WIN64K 76,1991 -#define PSR_WINBITS 77,2017 -#define PSR_DMAEN 78,2043 -#define PSR_PAGEBITS 79,2069 -#define N2_MCR 83,2121 -#define CLOCK_OUT_PORT1 84,2138 -#define CLOCK_OUT_PORT0 85,2167 -#define TX422_PORT1 86,2196 -#define TX422_PORT0 87,2225 -#define DSR_PORT1 88,2254 -#define DSR_PORT0 89,2283 -#define DTR_PORT1 90,2312 -#define DTR_PORT0 91,2341 -typedef struct port_s port_s94,2372 -}port_t;port_t109,2889 -typedef struct card_s card_s113,2901 -}card_t;card_t125,3307 -static card_t *first_card;128,3318 -static card_t **new_card 129,3345 -#define sca_reg(sca_reg132,3387 -#define sca_in(sca_in134,3486 -#define sca_out(sca_out135,3537 -#define sca_inw(sca_inw136,3603 -#define sca_outw(sca_outw137,3655 -#define port_to_card(port_to_card139,3723 -#define log_node(log_node140,3766 -#define phy_node(phy_node141,3810 -#define winsize(winsize142,3854 -#define winbase(winbase143,3895 -#define get_port(get_port144,3947 -static __inline__ u8 sca_get_page(149,4046 -static __inline__ void openwin(155,4147 -static __inline__ void close_windows(162,4297 -static void n2_set_iface(172,4441 -static int n2_open(216,5522 -static int n2_close(239,6052 -static int n2_ioctl(254,6374 -static void n2_destroy_card(308,7688 -static int __init n2_run(337,8251 -static int __init n2_init(497,12166 -static void __exit n2_cleanup(549,13208 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/ipddp.c,591 -static const char version[40,1349 -static struct ipddp_route *ipddp_route_list;42,1466 -static int ipddp_mode 45,1538 -static int ipddp_mode 47,1581 -static struct net_device * __init ipddp_init(59,2066 -static struct net_device_stats *ipddp_get_stats(111,3507 -static int ipddp_xmit(119,3666 -static int ipddp_create(191,5832 -static int ipddp_delete(221,6489 -static struct ipddp_route* ipddp_find_route(245,7101 -static int ipddp_ioctl(260,7492 -static struct net_device *dev_ipddp;289,8281 -static int __init ipddp_init_module(294,8373 -static void __exit ipddp_cleanup_module(302,8532 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/ltpc.h,585 -#define LT_GETRESULT 6,27 -#define LT_WRITEMEM 7,54 -#define LT_READMEM 8,81 -#define LT_GETFLAGS 9,108 -#define LT_SETFLAGS 10,135 -#define LT_INIT 11,162 -#define LT_SENDLAP 12,189 -#define LT_RCVLAP 13,216 -#define LT_FLAG_ALLLAP 16,278 -struct lt_getresult lt_getresult18,307 -struct lt_mem lt_mem23,381 -struct lt_setflags lt_setflags30,529 -struct lt_getflags lt_getflags36,624 -struct lt_init lt_init41,697 -struct lt_sendlap lt_sendlap47,787 -struct lt_rcvlap lt_rcvlap55,946 -union lt_command lt_command63,1102 -typedef union lt_command lt_command;lt_command72,1312 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/ipddp.h,217 -#define __LINUX_IPDDP_H6,85 -#define SIOCADDIPDDPRT 10,129 -#define SIOCDELIPDDPRT 11,171 -#define SIOCFINDIPDDPRT 12,215 -struct ipddp_routeipddp_route14,260 -#define IPDDP_ENCAP 23,535 -#define IPDDP_DECAP 24,557 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/cops.h,776 -#define __LINUX_COPSLTALK_H8,140 -#define MAX_LLAP_SIZE 13,224 -#define TANG_CARD_STATUS 16,266 -#define TANG_CLEAR_INT 17,300 -#define TANG_RESET 18,334 -#define TANG_TX_READY 20,369 -#define TANG_RX_READY 21,403 -#define DAYNA_CMD_DATA 24,450 -#define DAYNA_CLEAR_INT 25,484 -#define DAYNA_CARD_STATUS 26,518 -#define DAYNA_INT_CARD 27,552 -#define DAYNA_RESET 28,586 -#define DAYNA_RX_READY 30,621 -#define DAYNA_TX_READY 31,655 -#define DAYNA_RX_REQUEST 32,689 -#define COPS_CLEAR_INT 35,754 -#define LAP_INIT 38,831 -#define LAP_INIT_RSP 39,878 -#define LAP_WRITE 40,930 -#define DATA_READ 41,978 -#define LAP_RESPONSE 42,1026 -#define LAP_GETSTAT 43,1093 -#define LAP_RSPSTAT 44,1153 -struct ltfirmwareltfirmware51,1270 -#define DAYNA 57,1353 -#define TANGENT 58,1369 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/cops_ffdrv.h,33 -unsigned char ffdrv_code[31,830 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/cops_ltdrv.h,33 -unsigned char ltdrv_code[30,832 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/ltpc.c,1885 -static int debug;200,8024 -#define DEBUG_VERBOSE 201,8042 -#define DEBUG_UPPER 202,8066 -#define DEBUG_LOWER 203,8088 -static int io;205,8111 -static int irq;206,8126 -static int dma;207,8142 -static spinlock_t txqueue_lock 239,8832 -static spinlock_t mbox_lock 240,8885 -static unsigned long dma_mem_alloc(249,9172 -static unsigned char *ltdmabuf;257,9353 -static unsigned char *ltdmacbuf;258,9385 -struct ltpc_privateltpc_private262,9470 -struct xmitQel xmitQel270,9593 -static struct xmitQel *xmQhd,284,9859 -static struct xmitQel *xmQhd, *xmQtl;284,9859 -static void enQ(286,9898 -static struct xmitQel *deQ(304,10230 -static struct xmitQel qels[331,10760 -static unsigned char mailbox[334,10833 -static unsigned char mboxinuse[335,10867 -static int wait_timeout(337,10940 -static int getmbox(354,11267 -static void handlefc(370,11574 -static void handlefd(394,12082 -static void handlewrite(416,12535 -static void handleread(444,13170 -static void handlecommand(467,13664 -static unsigned char rescbuf[488,14217 -static unsigned char resdbuf[489,14269 -static int QInIdle;491,14303 -static void idle(497,14453 -static int do_write(649,17742 -static int do_read(673,18246 -static struct timer_list ltpc_timer;699,18821 -static int read_30 704,18999 -static int set_30 711,19150 -static int sendup_buffer 721,19360 -ltpc_interrupt(793,20989 -static int ltpc_ioctl(822,21591 -static void set_multicast_list(867,22563 -static int ltpc_hard_header 873,22718 -static int ltpc_poll_counter;882,22965 -static void ltpc_poll(884,22996 -static int ltpc_xmit(910,23458 -static struct net_device_stats *ltpc_get_stats(950,24398 -static int __init ltpc_probe_dma(958,24598 -struct net_device * __init ltpc_probe(1033,26210 -static int __init ltpc_setup(1223,30618 -static struct net_device *dev_ltpc;1255,31151 -int __init init_module(1266,31321 -static void __exit ltpc_cleanup(1279,31556 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/appletalk/cops.c,1310 -static const char *version 36,1316 -static const char *cardname 87,2695 -static int board_type 90,2759 -static int board_type 92,2818 -static int io 95,2859 -static int irq 96,2910 -static unsigned int ports[145,4931 -static int cops_irqlist[155,5127 -static struct timer_list cops_timer;159,5174 -#define COPS_DEBUG 163,5312 -static unsigned int cops_debug 165,5341 -#define COPS_IO_EXTENT 168,5439 -struct cops_localcops_local172,5528 -static void cleanup_card(206,6996 -struct net_device * __init cops_probe(219,7398 -static int __init cops_probe1(274,8760 -static int __init cops_irq 374,11463 -static int cops_open(423,13174 -static int cops_jumpstart(457,13930 -static void tangent_wait_reset(480,14601 -static void cops_reset(491,14816 -static void cops_load 524,15814 -static int cops_nodeid 619,18438 -static void cops_poll(692,20927 -static irqreturn_t cops_interrupt(725,21644 -static void cops_rx(763,22634 -static void cops_timeout(870,25972 -static int cops_send_packet(892,26536 -static void set_multicast_list(944,27973 -static int cops_hard_header(954,28194 -static int cops_ioctl(967,28530 -static int cops_close(1003,29677 -static struct net_device_stats *cops_get_stats(1020,30032 -static struct net_device *cops_dev;1027,30199 -int init_module(1034,30335 -void cleanup_module(1045,30554 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hydra.c,852 -#define NE_EN0_DCFG 36,1110 -#define NESM_START_PG 38,1144 -#define NESM_STOP_PG 39,1205 -#define HYDRA_NIC_BASE 41,1268 -#define HYDRA_ADDRPROM 42,1298 -#define HYDRA_VERSION 43,1328 -#define WORDSWAP(WORDSWAP45,1363 -static struct zorro_device_id hydra_zorro_tbl[62,2124 -static struct zorro_device_id hydra_zorro_tbl[] __devinitdata 62,2124 -static struct zorro_driver hydra_driver 67,2247 -static int __devinit hydra_init_one(74,2423 -static int __devinit hydra_init(88,2742 -static int hydra_open(165,4799 -static int hydra_close(171,4882 -static void hydra_reset_8390(179,5054 -static void hydra_get_8390_hdr(184,5164 -static void hydra_block_input(200,5647 -static void hydra_block_output(221,6283 -static void __devexit hydra_remove_one(233,6611 -static int __init hydra_init_module(243,6890 -static void __exit hydra_cleanup_module(248,6982 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibmlana.h,4564 -#define _IBM_LANA_INCLUDE_2,27 -#define PKTSIZE 8,108 -#define TXBUFCNT 12,164 -#define IBM_LANA_ID 15,203 - Media_10BaseT,21,341 - Media_10BaseT, Media_10Base5,21,341 - Media_Unknown,22,372 - Media_Unknown, Media_10Base2,22,372 - Media_Unknown, Media_10Base2, Media_Count22,372 -} ibmlana_medium;ibmlana_medium23,415 -} ibmlana_priv;ibmlana_priv41,1185 -#define IBM_LANA_IORANGE 46,1307 -#define SONIC_CMDREG 50,1363 -#define CMDREG_HTX 51,1393 -#define CMDREG_TXP 52,1464 -#define CMDREG_RXDIS 53,1535 -#define CMDREG_RXEN 54,1606 -#define CMDREG_STP 55,1677 -#define CMDREG_ST 56,1748 -#define CMDREG_RST 57,1819 -#define CMDREG_RRRA 58,1890 -#define CMDREG_LCAM 59,1961 -#define SONIC_DCREG 63,2068 -#define DCREG_EXBUS 64,2098 -#define DCREG_LBR 65,2169 -#define DCREG_PO1 66,2240 -#define DCREG_PO0 67,2311 -#define DCREG_SBUS 68,2343 -#define DCREG_USR1 69,2414 -#define DCREG_USR0 70,2485 -#define DCREG_WC0 71,2517 -#define DCREG_WC1 72,2588 -#define DCREG_WC2 73,2620 -#define DCREG_WC3 74,2652 -#define DCREG_DW16 75,2684 -#define DCREG_DW32 76,2755 -#define DCREG_BMS 77,2826 -#define DCREG_RFT4 78,2897 -#define DCREG_RFT8 79,2968 -#define DCREG_RFT16 80,3000 -#define DCREG_RFT24 81,3032 -#define DCREG_TFT8 82,3064 -#define DCREG_TFT16 83,3135 -#define DCREG_TFT24 84,3167 -#define DCREG_TFT28 85,3199 -#define SONIC_RCREG 89,3264 -#define RCREG_ERR 90,3294 -#define RCREG_RNT 91,3365 -#define RCREG_BRD 92,3436 -#define RCREG_PRO 93,3507 -#define RCREG_AMC 94,3578 -#define RCREG_LB_NONE 95,3649 -#define RCREG_LB_MAC 96,3720 -#define RCREG_LB_ENDEC 97,3791 -#define RCREG_LB_XVR 98,3862 -#define RCREG_MC 99,3933 -#define RCREG_BC 100,4004 -#define RCREG_LPKT 101,4075 -#define RCREG_CRS 102,4146 -#define RCREG_COL 103,4217 -#define RCREG_CRCR 104,4288 -#define RCREG_FAER 105,4359 -#define RCREG_LBK 106,4430 -#define RCREG_PRX 107,4501 -#define SONIC_TCREG 111,4606 -#define TCREG_PINT 112,4636 -#define TCREG_POWC 113,4708 -#define TCREG_CRCI 114,4779 -#define TCREG_EXDIS 115,4850 -#define TCREG_EXD 116,4921 -#define TCREG_DEF 117,4993 -#define TCREG_NCRS 118,5065 -#define TCREG_CRSL 119,5136 -#define TCREG_EXC 120,5207 -#define TCREG_OWC 121,5279 -#define TCREG_PMB 122,5351 -#define TCREG_FU 123,5422 -#define TCREG_BCM 124,5493 -#define TCREG_PTX 125,5564 -#define SONIC_IMREG 129,5667 -#define IMREG_BREN 130,5697 -#define IMREG_HBLEN 131,5769 -#define IMREG_LCDEN 132,5840 -#define IMREG_PINTEN 133,5911 -#define IMREG_PRXEN 134,5982 -#define IMREG_PTXEN 135,6053 -#define IMREG_TXEREN 136,6124 -#define IMREG_TCEN 137,6195 -#define IMREG_RDEEN 138,6266 -#define IMREG_RBEEN 139,6337 -#define IMREG_RBAEEN 140,6408 -#define IMREG_CRCEN 141,6479 -#define IMREG_FAEEN 142,6550 -#define IMREG_MPEN 143,6621 -#define IMREG_RFOEN 144,6692 -#define SONIC_ISREG 148,6797 -#define ISREG_BR 149,6827 -#define ISREG_HBL 150,6899 -#define ISREG_LCD 151,6970 -#define ISREG_PINT 152,7041 -#define ISREG_PKTRX 153,7112 -#define ISREG_TXDN 154,7183 -#define ISREG_TXER 155,7254 -#define ISREG_TC 156,7325 -#define ISREG_RDE 157,7396 -#define ISREG_RBE 158,7467 -#define ISREG_RBAE 159,7538 -#define ISREG_CRC 160,7609 -#define ISREG_FAE 161,7680 -#define ISREG_MP 162,7751 -#define ISREG_RFO 163,7822 -#define SONIC_UTDA 165,7894 -#define SONIC_CTDA 166,7963 -#define SONIC_URDA 168,7994 -#define SONIC_CRDA 169,8063 -#define SONIC_CRBA0 171,8094 -#define SONIC_CRBA1 172,8163 -#define SONIC_RBWC0 174,8194 -#define SONIC_RBWC1 175,8263 -#define SONIC_EOBC 177,8294 -#define SONIC_URRA 179,8364 -#define SONIC_RSA 181,8434 -#define SONIC_REA 183,8504 -#define SONIC_RRP 185,8574 -#define SONIC_RWP 187,8644 -#define SONIC_CAMEPTR 189,8714 -#define SONIC_CAMADDR2 191,8784 -#define SONIC_CAMADDR1 192,8853 -#define SONIC_CAMADDR0 193,8883 -#define SONIC_CAMPTR 195,8914 -#define SONIC_CAMCNT 197,8984 -#define SONIC_DCREG2 201,9094 -#define DCREG2_EXPO3 202,9124 -#define DCREG2_EXPO2 203,9195 -#define DCREG2_EXPO1 204,9227 -#define DCREG2_EXPO0 205,9259 -#define DCREG2_HD 206,9291 -#define DCREG2_JD 207,9362 -#define DCREG2_AUTO 208,9433 -#define DCREG2_XWRAP 209,9504 -#define DCREG2_PH 210,9575 -#define DCREG2_PCM 211,9646 -#define DCREG2_PCNM 212,9717 -#define DCREG2_RJCM 213,9788 -#define BCMREG 217,9917 -#define BCMREG_RAMEN 218,9947 -#define BCMREG_IPEND 219,10016 -#define BCMREG_RESET 220,10085 -#define BCMREG_16BIT 221,10154 -#define BCMREG_RAMWIN 222,10223 -#define BCMREG_IEN 223,10292 -#define MACADDRPROM 227,10386 -} camentry_t;camentry_t236,10594 -} rra_t;rra_t245,10797 -} rda_t;rda_t258,11234 -} tda_t;tda_t274,11814 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/seeq8005.c,1060 -static const char version[17,461 -static unsigned int seeq8005_portlist[58,1553 -static unsigned int seeq8005_portlist[] __initdata 58,1553 -#define NET_DEBUG 63,1723 -static unsigned int net_debug 65,1750 -struct net_local net_local68,1849 -#define SA_ADDR0 75,2127 -#define SA_ADDR1 76,2149 -#define SA_ADDR2 77,2171 -#define tx_done(tx_done92,2851 -static int io 103,3303 -static int irq 104,3326 -struct net_device * __init seeq8005_probe(106,3348 -static int __init seeq8005_probe1(151,4389 -static int seeq8005_open(358,10068 -static void seeq8005_timeout(380,10547 -static int seeq8005_send_packet(391,10875 -inline void wait_for_buffer(424,11673 -static irqreturn_t seeq8005_interrupt(440,12171 -static void seeq8005_rx(484,13291 -static int seeq8005_close(583,16120 -static struct net_device_stats *seeq8005_get_stats(605,16537 -static void set_multicast_list(618,16945 -void seeq8005_init(640,17525 -static void hardware_send_packet(697,19354 -static struct net_device *dev_seeq;738,20415 -int init_module(745,20619 -void cleanup_module(753,20740 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/yellowfin.c,8952 -#define DRV_NAME 50,1451 -#define DRV_VERSION 51,1480 -#define DRV_RELDATE 52,1515 -#define PFX 54,1551 -static int debug 59,1671 -static int max_interrupt_work 61,1811 -static int mtu;62,1847 -static int bogus_rx;65,1974 -static int dma_ctrl 66,1995 -static int fifo_cfg 67,2060 -static int dma_ctrl 69,2185 -static int fifo_cfg 70,2257 -static int dma_ctrl 72,2293 -static int fifo_cfg 73,2358 -static int rx_copybreak;78,2554 -#define MAX_UNITS 84,2706 -static int options[85,2777 -static int full_duplex[86,2843 -static int gx_fix;89,2969 -#define TX_RING_SIZE 97,3266 -#define TX_QUEUE_SIZE 98,3290 -#define RX_RING_SIZE 99,3353 -#define STATUS_TOTAL_SIZE 100,3377 -#define TX_TOTAL_SIZE 101,3447 -#define RX_TOTAL_SIZE 102,3515 -#define TX_TIMEOUT 106,3706 -#define PKT_BUF_SZ 107,3733 -#define yellowfin_debug 109,3800 -static char version[134,4482 -static char version[] __devinitdata 134,4482 -#define inb 146,4832 -#define inw 147,4850 -#define inl 148,4868 -#define outb 149,4886 -#define outw 150,4906 -#define outl 151,4926 -enum pci_id_flags_bits pci_id_flags_bits251,9107 - PCI_USES_IO=253,9194 - PCI_USES_IO=1, PCI_USES_MEM=253,9194 - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=253,9194 - PCI_ADDR0=255,9295 - PCI_ADDR0=0<<4, PCI_ADDR1=255,9295 - PCI_ADDR0=0<<4, PCI_ADDR1=1<<4, PCI_ADDR2=255,9295 - PCI_ADDR0=0<<4, PCI_ADDR1=1<<4, PCI_ADDR2=2<<4, PCI_ADDR3=255,9295 - PCI_ADDR_64BITS=256,9360 - PCI_ADDR_64BITS=0x100,256,9360 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=256,9360 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200,256,9360 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200, PCI_NO_MIN_LATENCY=256,9360 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200, PCI_NO_MIN_LATENCY=0x400,256,9360 - PCI_UNUSED_IRQ=257,9434 - PCI_UNUSED_IRQ=0x800,257,9434 -enum capability_flags capability_flags259,9460 - HasMII=260,9484 - HasMII=1, FullTxStatus=260,9484 - HasMII=1, FullTxStatus=2, IsGigabit=260,9484 - HasMII=1, FullTxStatus=2, IsGigabit=4, HasMulticastBug=260,9484 - HasMII=1, FullTxStatus=2, IsGigabit=4, HasMulticastBug=8, FullRxStatus=260,9484 - HasMACAddrBug=261,9560 - DontUseEeprom=262,9606 -#define YELLOWFIN_SIZE 265,9702 -#define PCI_IOTYPE 267,9749 -#define PCI_IOTYPE 269,9819 -struct pci_id_info pci_id_info272,9891 - struct match_info match_info274,9938 -static struct pci_id_info pci_id_tbl[283,10375 -static struct pci_device_id yellowfin_pci_tbl[292,10712 -enum yellowfin_offsets yellowfin_offsets301,11004 - TxCtrl=302,11029 - TxCtrl=0x00,302,11029 - TxCtrl=0x00, TxStatus=302,11029 - TxCtrl=0x00, TxStatus=0x04,302,11029 - TxCtrl=0x00, TxStatus=0x04, TxPtr=302,11029 - TxCtrl=0x00, TxStatus=0x04, TxPtr=0x0C,302,11029 - TxIntrSel=303,11070 - TxIntrSel=0x10,303,11070 - TxIntrSel=0x10, TxBranchSel=303,11070 - TxIntrSel=0x10, TxBranchSel=0x14,303,11070 - TxIntrSel=0x10, TxBranchSel=0x14, TxWaitSel=303,11070 - TxIntrSel=0x10, TxBranchSel=0x14, TxWaitSel=0x18,303,11070 - RxCtrl=304,11121 - RxCtrl=0x40,304,11121 - RxCtrl=0x40, RxStatus=304,11121 - RxCtrl=0x40, RxStatus=0x44,304,11121 - RxCtrl=0x40, RxStatus=0x44, RxPtr=304,11121 - RxCtrl=0x40, RxStatus=0x44, RxPtr=0x4C,304,11121 - RxIntrSel=305,11162 - RxIntrSel=0x50,305,11162 - RxIntrSel=0x50, RxBranchSel=305,11162 - RxIntrSel=0x50, RxBranchSel=0x54,305,11162 - RxIntrSel=0x50, RxBranchSel=0x54, RxWaitSel=305,11162 - RxIntrSel=0x50, RxBranchSel=0x54, RxWaitSel=0x58,305,11162 - EventStatus=306,11213 - EventStatus=0x80,306,11213 - EventStatus=0x80, IntrEnb=306,11213 - EventStatus=0x80, IntrEnb=0x82,306,11213 - EventStatus=0x80, IntrEnb=0x82, IntrClear=306,11213 - EventStatus=0x80, IntrEnb=0x82, IntrClear=0x84,306,11213 - EventStatus=0x80, IntrEnb=0x82, IntrClear=0x84, IntrStatus=306,11213 - EventStatus=0x80, IntrEnb=0x82, IntrClear=0x84, IntrStatus=0x86,306,11213 - ChipRev=307,11279 - ChipRev=0x8C,307,11279 - ChipRev=0x8C, DMACtrl=307,11279 - ChipRev=0x8C, DMACtrl=0x90,307,11279 - ChipRev=0x8C, DMACtrl=0x90, TxThreshold=307,11279 - ChipRev=0x8C, DMACtrl=0x90, TxThreshold=0x94,307,11279 - Cnfg=308,11326 - Cnfg=0xA0,308,11326 - Cnfg=0xA0, FrameGap0=308,11326 - Cnfg=0xA0, FrameGap0=0xA2,308,11326 - Cnfg=0xA0, FrameGap0=0xA2, FrameGap1=308,11326 - Cnfg=0xA0, FrameGap0=0xA2, FrameGap1=0xA4,308,11326 - MII_Cmd=309,11370 - MII_Cmd=0xA6,309,11370 - MII_Cmd=0xA6, MII_Addr=309,11370 - MII_Cmd=0xA6, MII_Addr=0xA8,309,11370 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=309,11370 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=0xAA,309,11370 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=0xAA, MII_Rd_Data=309,11370 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=0xAA, MII_Rd_Data=0xAC,309,11370 - MII_Status=310,11436 - MII_Status=0xAE,310,11436 - RxDepth=311,11454 - RxDepth=0xB8,311,11454 - RxDepth=0xB8, FlowCtrl=311,11454 - RxDepth=0xB8, FlowCtrl=0xBC,311,11454 - AddrMode=312,11484 - AddrMode=0xD0,312,11484 - AddrMode=0xD0, StnAddr=312,11484 - AddrMode=0xD0, StnAddr=0xD2,312,11484 - AddrMode=0xD0, StnAddr=0xD2, HashTbl=312,11484 - AddrMode=0xD0, StnAddr=0xD2, HashTbl=0xD8,312,11484 - AddrMode=0xD0, StnAddr=0xD2, HashTbl=0xD8, FIFOcfg=312,11484 - AddrMode=0xD0, StnAddr=0xD2, HashTbl=0xD8, FIFOcfg=0xF8,312,11484 - EEStatus=313,11542 - EEStatus=0xF0,313,11542 - EEStatus=0xF0, EECtrl=313,11542 - EEStatus=0xF0, EECtrl=0xF1,313,11542 - EEStatus=0xF0, EECtrl=0xF1, EEAddr=313,11542 - EEStatus=0xF0, EECtrl=0xF1, EEAddr=0xF2,313,11542 - EEStatus=0xF0, EECtrl=0xF1, EEAddr=0xF2, EERead=313,11542 - EEStatus=0xF0, EECtrl=0xF1, EEAddr=0xF2, EERead=0xF3,313,11542 - EEStatus=0xF0, EECtrl=0xF1, EEAddr=0xF2, EERead=0xF3, EEWrite=313,11542 - EEStatus=0xF0, EECtrl=0xF1, EEAddr=0xF2, EERead=0xF3, EEWrite=0xF4,313,11542 - EEFeature=314,11611 - EEFeature=0xF5,314,11611 -struct yellowfin_desc yellowfin_desc319,11740 -struct tx_status_words tx_status_words326,11833 -enum desc_cmd_bits desc_cmd_bits341,12093 - CMD_TX_PKT=342,12114 - CMD_TX_PKT=0x10000000,342,12114 - CMD_TX_PKT=0x10000000, CMD_RX_BUF=342,12114 - CMD_TX_PKT=0x10000000, CMD_RX_BUF=0x20000000,342,12114 - CMD_TX_PKT=0x10000000, CMD_RX_BUF=0x20000000, CMD_TXSTATUS=342,12114 - CMD_TX_PKT=0x10000000, CMD_RX_BUF=0x20000000, CMD_TXSTATUS=0x30000000,342,12114 - CMD_NOP=343,12186 - CMD_NOP=0x60000000,343,12186 - CMD_NOP=0x60000000, CMD_STOP=343,12186 - CMD_NOP=0x60000000, CMD_STOP=0x70000000,343,12186 - BRANCH_ALWAYS=344,12228 - BRANCH_ALWAYS=0x0C0000,344,12228 - BRANCH_ALWAYS=0x0C0000, INTR_ALWAYS=344,12228 - BRANCH_ALWAYS=0x0C0000, INTR_ALWAYS=0x300000,344,12228 - BRANCH_ALWAYS=0x0C0000, INTR_ALWAYS=0x300000, WAIT_ALWAYS=344,12228 - BRANCH_ALWAYS=0x0C0000, INTR_ALWAYS=0x300000, WAIT_ALWAYS=0x030000,344,12228 - BRANCH_IFTRUE=345,12297 - BRANCH_IFTRUE=0x040000,345,12297 -enum desc_status_bits desc_status_bits349,12362 -enum desc_status_bits { RX_EOP=349,12362 -enum desc_status_bits { RX_EOP=0x0040,349,12362 -enum intr_status_bits intr_status_bits352,12456 - IntrRxDone=353,12480 - IntrRxDone=0x01,353,12480 - IntrRxDone=0x01, IntrRxInvalid=353,12480 - IntrRxDone=0x01, IntrRxInvalid=0x02,353,12480 - IntrRxDone=0x01, IntrRxInvalid=0x02, IntrRxPCIFault=353,12480 - IntrRxDone=0x01, IntrRxInvalid=0x02, IntrRxPCIFault=0x04,353,12480 - IntrRxDone=0x01, IntrRxInvalid=0x02, IntrRxPCIFault=0x04,IntrRxPCIErr=353,12480 - IntrRxDone=0x01, IntrRxInvalid=0x02, IntrRxPCIFault=0x04,IntrRxPCIErr=0x08,353,12480 - IntrTxDone=354,12557 - IntrTxDone=0x10,354,12557 - IntrTxDone=0x10, IntrTxInvalid=354,12557 - IntrTxDone=0x10, IntrTxInvalid=0x20,354,12557 - IntrTxDone=0x10, IntrTxInvalid=0x20, IntrTxPCIFault=354,12557 - IntrTxDone=0x10, IntrTxInvalid=0x20, IntrTxPCIFault=0x40,354,12557 - IntrTxDone=0x10, IntrTxInvalid=0x20, IntrTxPCIFault=0x40,IntrTxPCIErr=354,12557 - IntrTxDone=0x10, IntrTxInvalid=0x20, IntrTxPCIFault=0x40,IntrTxPCIErr=0x80,354,12557 - IntrEarlyRx=355,12634 - IntrEarlyRx=0x100,355,12634 - IntrEarlyRx=0x100, IntrWakeup=355,12634 - IntrEarlyRx=0x100, IntrWakeup=0x200,355,12634 -#define PRIV_ALIGN 357,12676 -#define MII_CNT 358,12729 -struct yellowfin_private yellowfin_private359,12748 -static int __devinit yellowfin_init_one(411,15008 -static int __devinit read_eeprom(578,19393 -static int mdio_read(593,19844 -static void mdio_write(605,20114 -static int yellowfin_open(620,20421 -static void yellowfin_timer(701,22983 -static void yellowfin_tx_timeout(736,23947 -static void yellowfin_init_ring(773,25167 -#define NO_TXSTATS804,26145 - yp->tx_tail_desc 852,27774 -static int yellowfin_start_xmit(856,27825 -static irqreturn_t yellowfin_interrupt(940,30385 -static int yellowfin_rx(1096,34860 -static void yellowfin_error(1240,40112 -static int yellowfin_close(1253,40521 -static struct net_device_stats *yellowfin_get_stats(1341,43298 -static void set_rx_mode(1349,43501 -static int netdev_ethtool_ioctl(1397,45291 -static int netdev_ioctl(1421,45857 -static void __devexit yellowfin_remove_one 1462,47023 -static struct pci_driver yellowfin_driver 1488,47621 -static int __init yellowfin_init 1496,47802 -static void __exit yellowfin_cleanup 1506,48011 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gianfar.h,5271 -#define __GIANFAR_H24,705 -#define GFAR_DEV_WEIGHT 54,1444 -#define RXBUF_ALIGNMENT 57,1518 -#define INCREMENTAL_BUFFER_SIZE 62,1731 -#define MAC_ADDR_LEN 65,1769 -#define PHY_INIT_TIMEOUT 67,1793 -#define GFAR_PHY_CHANGE_TIME 68,1825 -#define DEVICE_NAME 70,1857 -#define DRV_NAME 71,1925 -#define DEFAULT_TX_RING_SIZE 77,2109 -#define DEFAULT_RX_RING_SIZE 78,2142 -#define DEFAULT_TX_RING_SIZE 80,2181 -#define DEFAULT_RX_RING_SIZE 81,2216 -#define GFAR_RX_MAX_RING_SIZE 84,2259 -#define GFAR_TX_MAX_RING_SIZE 85,2295 -#define DEFAULT_RX_BUFFER_SIZE 87,2332 -#define TX_RING_MOD_MASK(TX_RING_MOD_MASK88,2369 -#define RX_RING_MOD_MASK(RX_RING_MOD_MASK89,2409 -#define JUMBO_BUFFER_SIZE 90,2449 -#define JUMBO_FRAME_SIZE 91,2480 -#define GFAR_GBIT_TIME 103,2957 -#define GFAR_100_TIME 104,2985 -#define GFAR_10_TIME 105,3014 -#define DEFAULT_TX_COALESCE 107,3045 -#define DEFAULT_TXCOUNT 108,3075 -#define DEFAULT_TXTIME 109,3102 -#define DEFAULT_RX_COALESCE 111,3130 -#define DEFAULT_RXCOUNT 112,3160 -#define DEFAULT_RXTIME 113,3187 -#define TBIPA_VALUE 115,3215 -#define MIIMCFG_INIT_VALUE 116,3241 -#define MIIMCFG_RESET 117,3279 -#define MIIMIND_BUSY 118,3322 -#define MACCFG1_SOFT_RESET 121,3390 -#define MACCFG1_RESET_RX_MC 122,3428 -#define MACCFG1_RESET_TX_MC 123,3467 -#define MACCFG1_RESET_RX_FUN 124,3506 -#define MACCFG1_RESET_TX_FUN 125,3546 -#define MACCFG1_LOOPBACK 126,3586 -#define MACCFG1_RX_FLOW 127,3622 -#define MACCFG1_TX_FLOW 128,3658 -#define MACCFG1_SYNCD_RX_EN 129,3694 -#define MACCFG1_RX_EN 130,3733 -#define MACCFG1_SYNCD_TX_EN 131,3767 -#define MACCFG1_TX_EN 132,3806 -#define MACCFG2_INIT_SETTINGS 134,3841 -#define MACCFG2_FULL_DUPLEX 135,3882 -#define MACCFG2_IF 136,3921 -#define MACCFG2_MII 137,3964 -#define MACCFG2_GMII 138,4007 -#define MACCFG2_HUGEFRAME 139,4050 -#define MACCFG2_LENGTHCHECK 140,4087 -#define ECNTRL_INIT_SETTINGS 142,4127 -#define ECNTRL_TBI_MODE 143,4167 -#define MRBLR_INIT_SETTINGS 145,4211 -#define MINFLR_INIT_SETTINGS 147,4263 -#define DMACTRL_INIT_SETTINGS 150,4361 -#define DMACTRL_GRS 151,4404 -#define DMACTRL_GTS 152,4447 -#define TSTAT_CLEAR_THALT 154,4491 -#define IC_ICEN 157,4569 -#define IC_ICFT_MASK 158,4598 -#define IC_ICFT_SHIFT 159,4631 -#define mk_ic_icft(mk_ic_icft160,4657 -#define IC_ICTT_MASK 162,4733 -#define mk_ic_ictt(mk_ic_ictt163,4766 -#define mk_ic_value(mk_ic_value165,4807 -#define RCTRL_PROM 169,4902 -#define RSTAT_CLEAR_RHALT 170,4933 -#define IEVENT_INIT_CLEAR 172,4977 -#define IEVENT_BABR 173,5014 -#define IEVENT_RXC 174,5046 -#define IEVENT_BSY 175,5077 -#define IEVENT_EBERR 176,5108 -#define IEVENT_MSRO 177,5141 -#define IEVENT_GTSC 178,5173 -#define IEVENT_BABT 179,5205 -#define IEVENT_TXC 180,5237 -#define IEVENT_TXE 181,5268 -#define IEVENT_TXB 182,5299 -#define IEVENT_TXF 183,5330 -#define IEVENT_LC 184,5361 -#define IEVENT_CRL 185,5391 -#define IEVENT_XFUN 186,5422 -#define IEVENT_RXB0 187,5454 -#define IEVENT_GRSC 188,5486 -#define IEVENT_RXF0 189,5518 -#define IEVENT_RX_MASK 190,5550 -#define IEVENT_TX_MASK 191,5610 -#define IEVENT_ERR_MASK 192,5668 -#define IMASK_INIT_CLEAR 197,5843 -#define IMASK_BABR 198,5879 -#define IMASK_RXC 199,5922 -#define IMASK_BSY 200,5965 -#define IMASK_EBERR 201,6008 -#define IMASK_MSRO 202,6051 -#define IMASK_GRSC 203,6082 -#define IMASK_BABT 204,6125 -#define IMASK_TXC 205,6156 -#define IMASK_TXEEN 206,6199 -#define IMASK_TXBEN 207,6231 -#define IMASK_TXFEN 208,6263 -#define IMASK_LC 209,6306 -#define IMASK_CRL 210,6335 -#define IMASK_XFUN 211,6365 -#define IMASK_RXB0 212,6396 -#define IMASK_GTSC 213,6439 -#define IMASK_RXFEN0 214,6482 -#define IMASK_RX_DISABLED 215,6515 -#define IMASK_DEFAULT 216,6569 -#define ATTR_BDSTASH 225,6846 -#define ATTR_BDSTASH 227,6885 -#define ATTR_BUFSTASH 231,6954 -#define STASH_LENGTH 232,6988 -#define ATTR_BUFSTASH 234,7019 -#define ATTR_SNOOPING 237,7061 -#define ATTR_INIT_SETTINGS 238,7095 -#define ATTRELI_INIT_SETTINGS 241,7179 -#define TXBD_READY 245,7246 -#define TXBD_PADCRC 246,7273 -#define TXBD_WRAP 247,7301 -#define TXBD_INTERRUPT 248,7327 -#define TXBD_LAST 249,7358 -#define TXBD_CRC 250,7384 -#define TXBD_DEF 251,7409 -#define TXBD_HUGEFRAME 252,7434 -#define TXBD_LATECOLLISION 253,7465 -#define TXBD_RETRYLIMIT 254,7499 -#define TXBD_RETRYCOUNTMASK 255,7531 -#define TXBD_UNDERRUN 256,7566 -#define RXBD_EMPTY 259,7626 -#define RXBD_RO1 260,7653 -#define RXBD_WRAP 261,7678 -#define RXBD_INTERRUPT 262,7704 -#define RXBD_LAST 263,7735 -#define RXBD_FIRST 264,7761 -#define RXBD_MISS 265,7788 -#define RXBD_BROADCAST 266,7814 -#define RXBD_MULTICAST 267,7845 -#define RXBD_LARGE 268,7876 -#define RXBD_NONOCTET 269,7903 -#define RXBD_SHORT 270,7933 -#define RXBD_CRCERR 271,7960 -#define RXBD_OVERRUN 272,7988 -#define RXBD_TRUNCATED 273,8017 -#define RXBD_STATS 274,8048 -struct txbd8txbd8276,8076 -struct rxbd8rxbd8283,8195 -struct rmon_mibrmon_mib290,8314 -struct gfar_extra_stats gfar_extra_stats342,11153 -#define GFAR_RMON_LEN 359,11408 -#define GFAR_EXTRA_STATS_LEN 360,11475 -#define GFAR_STATS_LEN 363,11621 -#define GFAR_INFOSTR_LEN 365,11684 -struct gfar_stats gfar_stats367,11713 -struct gfar gfar373,11798 -struct gfar_private gfar_private471,16494 -extern inline u32 gfar_read(521,17926 -extern inline void gfar_write(528,18029 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/via-velocity.c,5145 -static int velocity_nics 87,2337 -static int msglevel 88,2367 -static struct ethtool_ops velocity_ethtool_ops;92,2490 -#define VELOCITY_PARAM(VELOCITY_PARAM102,2734 -#define RX_DESC_MIN 107,2914 -#define RX_DESC_MAX 108,2941 -#define RX_DESC_DEF 109,2969 -#define TX_DESC_MIN 112,3061 -#define TX_DESC_MAX 113,3088 -#define TX_DESC_DEF 114,3116 -#define VLAN_ID_MIN 117,3209 -#define VLAN_ID_MAX 118,3235 -#define VLAN_ID_DEF 119,3264 -#define RX_THRESH_MIN 126,3436 -#define RX_THRESH_MAX 127,3462 -#define RX_THRESH_DEF 128,3488 -#define DMA_LENGTH_MIN 137,3845 -#define DMA_LENGTH_MAX 138,3871 -#define DMA_LENGTH_DEF 139,3897 -#define TAGGING_DEF 153,4176 -#define IP_ALIG_DEF 160,4386 -#define TX_CSUM_DEF 169,4803 -#define FLOW_CNTL_DEF 177,5115 -#define FLOW_CNTL_MIN 178,5141 -#define FLOW_CNTL_MAX 179,5167 -#define MED_LNK_DEF 190,5514 -#define MED_LNK_MIN 191,5536 -#define MED_LNK_MAX 192,5558 -#define VAL_PKT_LEN_DEF 206,6050 -#define WOL_OPT_DEF 213,6327 -#define WOL_OPT_MIN 214,6353 -#define WOL_OPT_MAX 215,6379 -#define INT_WORKS_DEF 225,6761 -#define INT_WORKS_MIN 226,6788 -#define INT_WORKS_MAX 227,6815 -static int rx_copybreak 231,6915 -static struct notifier_block velocity_inetaddr_notifier 271,9206 -static spinlock_t velocity_dev_list_lock 275,9316 -static void velocity_register_notifier(278,9417 -static void velocity_unregister_notifier(283,9525 -#define velocity_register_notifier(velocity_register_notifier290,9663 -#define velocity_unregister_notifier(velocity_unregister_notifier291,9716 -static struct velocity_info_tbl chip_info_table[299,9867 -static struct pci_device_id velocity_id_table[309,10157 -static struct pci_device_id velocity_id_table[] __devinitdata 309,10157 -static char __devinit *get_chip_name(325,10595 -static void __devexit velocity_remove1(343,11078 -static void __devinit velocity_set_int_opt(381,12088 -static void __devinit velocity_set_bool_opt(410,13021 -static void __devinit velocity_get_options(436,13783 -static void velocity_init_cam_filter(463,15798 -static void velocity_rx_reset(503,17072 -static void velocity_init_registers(532,17770 -static int velocity_soft_reset(655,20699 -static int __devinit velocity_found1(686,21348 -static void __devinit velocity_print_info(840,24689 -static void __devinit velocity_init_info(861,25291 -static int __devinit velocity_get_pci_info(883,25898 -static int velocity_init_rings(927,26861 -static void velocity_free_rings(994,28445 -static inline void velocity_give_many_rx_descs(1008,28857 -static int velocity_rx_refill(1033,29481 -static int velocity_init_rd_ring(1070,30290 -static void velocity_free_rd_ring(1101,31027 -static int velocity_init_td_ring(1134,31737 -static void velocity_free_td_ring_entry(1173,32740 -static void velocity_free_td_ring(1204,33441 -static int velocity_rx_srv(1232,34065 -static inline void velocity_rx_csum(1293,35417 -static inline int velocity_rx_copy(1322,36254 -static inline void velocity_iph_realign(1356,37016 -static int velocity_receive_frame(1378,37542 -static int velocity_alloc_rx_buf(1446,39282 -static int velocity_tx_srv(1485,40284 -static void velocity_print_link_status(1555,41945 -static void velocity_error(1607,43629 -static void velocity_free_tx_buf(1691,45706 -static int velocity_open(1725,46653 -static int velocity_change_mtu(1782,47931 -static void velocity_shutdown(1839,49175 -static int velocity_close(1858,49638 -static int velocity_xmit(1891,50357 -static int velocity_intr(2041,54683 -static void velocity_set_multi(2097,56075 -static struct net_device_stats *velocity_get_stats(2146,57660 -static int velocity_ioctl(2189,59095 -static struct pci_driver velocity_driver 2222,59898 -static int __init velocity_init_module(2242,60439 -static void __exit velocity_cleanup_module(2262,60938 -static void mii_init(2285,61343 -static void safe_disable_mii_autopoll(2354,63226 -static void enable_mii_autopoll(2375,63659 -static int velocity_mii_read(2408,64345 -static int velocity_mii_write(2444,65110 -static u32 velocity_get_opt_media_mode(2483,65973 -static void mii_set_auto_on(2515,66621 -static void set_mii_flow_control(2539,67191 -static int velocity_set_media_mode(2576,68248 -static u32 mii_check_media_mode(2686,71799 -static u32 check_connection_type(2722,72894 -static void enable_flow_control_ability(2764,73884 -static int velocity_ethtool_up(2818,75020 -static void velocity_ethtool_down(2834,75378 -static int velocity_get_settings(2841,75545 -static int velocity_set_settings(2866,76385 -static u32 velocity_get_link(2889,77122 -static void velocity_get_drvinfo(2896,77331 -static void velocity_ethtool_get_wol(2904,77592 -static int velocity_ethtool_set_wol(2920,78088 -static u32 velocity_get_msglevel(2951,78903 -static void velocity_set_msglevel(2956,78983 -static struct ethtool_ops velocity_ethtool_ops 2961,79077 -static int velocity_mii_ioctl(2985,79795 -static void velocity_save_context(3032,81040 -static void velocity_restore_context(3058,81769 -u16 wol_calc_crc(3099,82797 -static int velocity_set_wol(3136,83530 -static int velocity_suspend(3213,85634 -static int velocity_resume(3246,86446 -static int velocity_netdev_event(3281,87206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/Space.c,984 -struct devprobe2 devprobe2106,4368 -static int __init probe_list2(111,4483 -static struct devprobe2 eisa_probes[133,5067 -static struct devprobe2 eisa_probes[] __initdata 133,5067 -static struct devprobe2 mca_probes[149,5329 -static struct devprobe2 mca_probes[] __initdata 149,5329 -static struct devprobe2 isa_probes[169,5785 -static struct devprobe2 isa_probes[] __initdata 169,5785 -static struct devprobe2 parport_probes[261,7711 -static struct devprobe2 parport_probes[] __initdata 261,7711 -static struct devprobe2 m68k_probes[268,7858 -static struct devprobe2 m68k_probes[] __initdata 268,7858 -static struct devprobe2 mips_probes[308,8965 -static struct devprobe2 mips_probes[] __initdata 308,8965 -static void __init ethif_probe2(323,9341 -static struct devprobe2 tr_probes2[345,10046 -static struct devprobe2 tr_probes2[] __initdata 345,10046 -static __init int trif_probe(358,10257 -static void __init trif_probe2(375,10559 -static int __init net_olddevs_init(393,10980 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/starfire.c,19472 -#define DRV_NAME 135,3808 -#define DRV_VERSION 136,3836 -#define DRV_RELDATE 137,3871 -#define HAS_BROKEN_FIRMWARE171,5059 -#define ZEROCOPY176,5206 -#define VLAN_SUPPORT184,5377 -static int intr_latency;195,5622 -static int small_frames;196,5647 -static int debug 198,5673 -static int max_interrupt_work 199,5744 -static int mtu;200,5780 -static int multicast_filter_limit 203,5946 -static int enable_hw_cksum 206,6057 -static int enable_hw_cksum 208,6095 -#define PKT_BUF_SZ 211,6135 -static int rx_copybreak 227,6794 -static int rx_copybreak 229,6838 -#define DMA_BURST_SIZE 234,7012 -#define DMA_BURST_SIZE 236,7044 -#define MAX_UNITS 244,7307 -static int options[245,7376 -static int full_duplex[246,7415 -#define RX_RING_SIZE 253,7651 -#define TX_RING_SIZE 254,7676 -#define DONE_Q_SIZE 256,7770 -#define QUEUE_ALIGN 258,7851 -#define RX_Q_ENTRIES 261,7899 -#define RX_Q_ENTRIES 263,7941 -#define TX_TIMEOUT 268,8108 -#define ADDR_64BITS 276,8521 -#define cpu_to_dma(cpu_to_dma277,8580 -#define dma_to_cpu(dma_to_cpu278,8617 -#define RX_DESC_Q_ADDR_SIZE 279,8654 -#define TX_DESC_Q_ADDR_SIZE 280,8699 -#define RX_COMPL_Q_ADDR_SIZE 281,8744 -#define TX_COMPL_Q_ADDR_SIZE 282,8791 -#define RX_DESC_ADDR_SIZE 283,8838 -#define cpu_to_dma(cpu_to_dma285,8911 -#define dma_to_cpu(dma_to_cpu286,8948 -#define RX_DESC_Q_ADDR_SIZE 287,8985 -#define TX_DESC_Q_ADDR_SIZE 288,9030 -#define RX_COMPL_Q_ADDR_SIZE 289,9075 -#define TX_COMPL_Q_ADDR_SIZE 290,9122 -#define RX_DESC_ADDR_SIZE 291,9169 -#define skb_first_frag_len(skb_first_frag_len295,9240 -#define skb_num_frags(skb_num_frags296,9289 -#define skb_first_frag_len(skb_first_frag_len298,9379 -#define skb_num_frags(skb_num_frags299,9422 -#define COMPAT_MOD_INC_USE_COUNT315,9726 -#define COMPAT_MOD_DEC_USE_COUNT316,9759 -#define init_tx_timer(init_tx_timer318,9793 -#define kick_tx_timer(kick_tx_timer321,9896 -#define netif_start_if(netif_start_if323,9939 -#define netif_stop_if(netif_stop_if324,9967 -#define PCI_SLOT_NAME(PCI_SLOT_NAME326,9995 -#define init_poll(init_poll331,10112 -#define netdev_rx(netdev_rx334,10201 -#define netdev_receive_skb(netdev_receive_skb353,10853 -#define vlan_netdev_receive_skb(vlan_netdev_receive_skb354,10908 -#define init_poll(init_poll357,11096 -#define netdev_receive_skb(netdev_receive_skb358,11119 -#define vlan_netdev_receive_skb(vlan_netdev_receive_skb359,11165 -#define netdev_rx(netdev_rx360,11249 -static char version[370,11523 -static char version[] __devinitdata 370,11523 -enum chip_capability_flags chip_capability_flags484,16463 -enum chip_capability_flags {CanHaveMII=484,16463 -enum chipset chipset486,16509 - CH_6915 487,16524 -static struct pci_device_id starfire_pci_tbl[490,16542 -static struct chip_info chip_info497,16794 -} netdrv_tbl[500,16855 -} netdrv_tbl[] __devinitdata 500,16855 -enum register_offsets register_offsets513,17370 - PCIDeviceConfig=514,17394 - PCIDeviceConfig=0x50040,514,17394 - PCIDeviceConfig=0x50040, GenCtrl=514,17394 - PCIDeviceConfig=0x50040, GenCtrl=0x50070,514,17394 - PCIDeviceConfig=0x50040, GenCtrl=0x50070, IntrTimerCtrl=514,17394 - PCIDeviceConfig=0x50040, GenCtrl=0x50070, IntrTimerCtrl=0x50074,514,17394 - IntrClear=515,17460 - IntrClear=0x50080,515,17460 - IntrClear=0x50080, IntrStatus=515,17460 - IntrClear=0x50080, IntrStatus=0x50084,515,17460 - IntrClear=0x50080, IntrStatus=0x50084, IntrEnable=515,17460 - IntrClear=0x50080, IntrStatus=0x50084, IntrEnable=0x50088,515,17460 - MIICtrl=516,17520 - MIICtrl=0x52000,516,17520 - MIICtrl=0x52000, TxStationAddr=516,17520 - MIICtrl=0x52000, TxStationAddr=0x50120,516,17520 - MIICtrl=0x52000, TxStationAddr=0x50120, EEPROMCtrl=516,17520 - MIICtrl=0x52000, TxStationAddr=0x50120, EEPROMCtrl=0x51000,516,17520 - GPIOCtrl=517,17581 - GPIOCtrl=0x5008C,517,17581 - GPIOCtrl=0x5008C, TxDescCtrl=517,17581 - GPIOCtrl=0x5008C, TxDescCtrl=0x50090,517,17581 - TxRingPtr=518,17620 - TxRingPtr=0x50098,518,17620 - TxRingPtr=0x50098, HiPriTxRingPtr=518,17620 - TxRingPtr=0x50098, HiPriTxRingPtr=0x50094,518,17620 - TxRingHiAddr=519,17693 - TxRingHiAddr=0x5009C,519,17693 - TxProducerIdx=520,17749 - TxProducerIdx=0x500A0,520,17749 - TxProducerIdx=0x500A0, TxConsumerIdx=520,17749 - TxProducerIdx=0x500A0, TxConsumerIdx=0x500A4,520,17749 - TxThreshold=521,17796 - TxThreshold=0x500B0,521,17796 - CompletionHiAddr=522,17818 - CompletionHiAddr=0x500B4,522,17818 - CompletionHiAddr=0x500B4, TxCompletionAddr=522,17818 - CompletionHiAddr=0x500B4, TxCompletionAddr=0x500B8,522,17818 - RxCompletionAddr=523,17871 - RxCompletionAddr=0x500BC,523,17871 - RxCompletionAddr=0x500BC, RxCompletionQ2Addr=523,17871 - RxCompletionAddr=0x500BC, RxCompletionQ2Addr=0x500C0,523,17871 - CompletionQConsumerIdx=524,17926 - CompletionQConsumerIdx=0x500C4,524,17926 - CompletionQConsumerIdx=0x500C4, RxDMACtrl=524,17926 - CompletionQConsumerIdx=0x500C4, RxDMACtrl=0x500D0,524,17926 - RxDescQCtrl=525,17978 - RxDescQCtrl=0x500D4,525,17978 - RxDescQCtrl=0x500D4, RxDescQHiAddr=525,17978 - RxDescQCtrl=0x500D4, RxDescQHiAddr=0x500DC,525,17978 - RxDescQCtrl=0x500D4, RxDescQHiAddr=0x500DC, RxDescQAddr=525,17978 - RxDescQCtrl=0x500D4, RxDescQHiAddr=0x500DC, RxDescQAddr=0x500E0,525,17978 - RxDescQIdx=526,18044 - RxDescQIdx=0x500E8,526,18044 - RxDescQIdx=0x500E8, RxDMAStatus=526,18044 - RxDescQIdx=0x500E8, RxDMAStatus=0x500F0,526,18044 - RxDescQIdx=0x500E8, RxDMAStatus=0x500F0, RxFilterMode=526,18044 - RxDescQIdx=0x500E8, RxDMAStatus=0x500F0, RxFilterMode=0x500F4,526,18044 - TxMode=527,18108 - TxMode=0x55000,527,18108 - TxMode=0x55000, VlanType=527,18108 - TxMode=0x55000, VlanType=0x55064,527,18108 - PerfFilterTable=528,18143 - PerfFilterTable=0x56000,528,18143 - PerfFilterTable=0x56000, HashTable=528,18143 - PerfFilterTable=0x56000, HashTable=0x56100,528,18143 - TxGfpMem=529,18188 - TxGfpMem=0x58000,529,18188 - TxGfpMem=0x58000, RxGfpMem=529,18188 - TxGfpMem=0x58000, RxGfpMem=0x5a000,529,18188 -enum intr_status_bits intr_status_bits537,18429 - IntrLinkChange=538,18453 - IntrLinkChange=0xf0000000,538,18453 - IntrLinkChange=0xf0000000, IntrStatsMax=538,18453 - IntrLinkChange=0xf0000000, IntrStatsMax=0x08000000,538,18453 - IntrAbnormalSummary=539,18506 - IntrAbnormalSummary=0x02000000,539,18506 - IntrAbnormalSummary=0x02000000, IntrGeneralTimer=539,18506 - IntrAbnormalSummary=0x02000000, IntrGeneralTimer=0x01000000,539,18506 - IntrSoftware=540,18568 - IntrSoftware=0x800000,540,18568 - IntrSoftware=0x800000, IntrRxComplQ1Low=540,18568 - IntrSoftware=0x800000, IntrRxComplQ1Low=0x400000,540,18568 - IntrTxComplQLow=541,18619 - IntrTxComplQLow=0x200000,541,18619 - IntrTxComplQLow=0x200000, IntrPCI=541,18619 - IntrTxComplQLow=0x200000, IntrPCI=0x100000,541,18619 - IntrDMAErr=542,18664 - IntrDMAErr=0x080000,542,18664 - IntrDMAErr=0x080000, IntrTxDataLow=542,18664 - IntrDMAErr=0x080000, IntrTxDataLow=0x040000,542,18664 - IntrRxComplQ2Low=543,18710 - IntrRxComplQ2Low=0x020000,543,18710 - IntrRxComplQ2Low=0x020000, IntrRxDescQ1Low=543,18710 - IntrRxComplQ2Low=0x020000, IntrRxDescQ1Low=0x010000,543,18710 - IntrNormalSummary=544,18764 - IntrNormalSummary=0x8000,544,18764 - IntrNormalSummary=0x8000, IntrTxDone=544,18764 - IntrNormalSummary=0x8000, IntrTxDone=0x4000,544,18764 - IntrTxDMADone=545,18810 - IntrTxDMADone=0x2000,545,18810 - IntrTxDMADone=0x2000, IntrTxEmpty=545,18810 - IntrTxDMADone=0x2000, IntrTxEmpty=0x1000,545,18810 - IntrEarlyRxQ2=546,18853 - IntrEarlyRxQ2=0x0800,546,18853 - IntrEarlyRxQ2=0x0800, IntrEarlyRxQ1=546,18853 - IntrEarlyRxQ2=0x0800, IntrEarlyRxQ1=0x0400,546,18853 - IntrRxQ2Done=547,18898 - IntrRxQ2Done=0x0200,547,18898 - IntrRxQ2Done=0x0200, IntrRxQ1Done=547,18898 - IntrRxQ2Done=0x0200, IntrRxQ1Done=0x0100,547,18898 - IntrRxGFPDead=548,18941 - IntrRxGFPDead=0x80,548,18941 - IntrRxGFPDead=0x80, IntrRxDescQ2Low=548,18941 - IntrRxGFPDead=0x80, IntrRxDescQ2Low=0x40,548,18941 - IntrNoTxCsum=549,18984 - IntrNoTxCsum=0x20,549,18984 - IntrNoTxCsum=0x20, IntrTxBadID=549,18984 - IntrNoTxCsum=0x20, IntrTxBadID=0x10,549,18984 - IntrHiPriTxBadID=550,19022 - IntrHiPriTxBadID=0x08,550,19022 - IntrHiPriTxBadID=0x08, IntrRxGfp=550,19022 - IntrHiPriTxBadID=0x08, IntrRxGfp=0x04,550,19022 - IntrTxGfp=551,19062 - IntrTxGfp=0x02,551,19062 - IntrTxGfp=0x02, IntrPCIPad=551,19062 - IntrTxGfp=0x02, IntrPCIPad=0x01,551,19062 - IntrRxDone=553,19118 - IntrRxDone=IntrRxQ2Done 553,19118 - IntrRxDone=IntrRxQ2Done | IntrRxQ1Done,553,19118 - IntrRxEmpty=554,19159 - IntrRxEmpty=IntrRxDescQ1Low 554,19159 - IntrRxEmpty=IntrRxDescQ1Low | IntrRxDescQ2Low,554,19159 - IntrNormalMask=555,19207 - IntrNormalMask=0xff00,555,19207 - IntrNormalMask=0xff00, IntrAbnormalMask=555,19207 - IntrNormalMask=0xff00, IntrAbnormalMask=0x3ff00fe,555,19207 -enum rx_mode_bits rx_mode_bits559,19304 - AcceptBroadcast=560,19324 - AcceptBroadcast=0x04,560,19324 - AcceptBroadcast=0x04, AcceptAllMulticast=560,19324 - AcceptBroadcast=0x04, AcceptAllMulticast=0x02,560,19324 - AcceptBroadcast=0x04, AcceptAllMulticast=0x02, AcceptAll=560,19324 - AcceptBroadcast=0x04, AcceptAllMulticast=0x02, AcceptAll=0x01,560,19324 - AcceptMulticast=561,19388 - AcceptMulticast=0x10,561,19388 - AcceptMulticast=0x10, PerfectFilter=561,19388 - AcceptMulticast=0x10, PerfectFilter=0x40,561,19388 - AcceptMulticast=0x10, PerfectFilter=0x40, HashFilter=561,19388 - AcceptMulticast=0x10, PerfectFilter=0x40, HashFilter=0x30,561,19388 - PerfectFilterVlan=562,19448 - PerfectFilterVlan=0x80,562,19448 - PerfectFilterVlan=0x80, MinVLANPrio=562,19448 - PerfectFilterVlan=0x80, MinVLANPrio=0xE000,562,19448 - PerfectFilterVlan=0x80, MinVLANPrio=0xE000, VlanMode=562,19448 - PerfectFilterVlan=0x80, MinVLANPrio=0xE000, VlanMode=0x0200,562,19448 - WakeupOnGFP=563,19510 - WakeupOnGFP=0x0800,563,19510 -enum tx_mode_bits tx_mode_bits567,19569 - MiiSoftReset=568,19589 - MiiSoftReset=0x8000,568,19589 - MiiSoftReset=0x8000, MIILoopback=568,19589 - MiiSoftReset=0x8000, MIILoopback=0x4000,568,19589 - TxFlowEnable=569,19631 - TxFlowEnable=0x0800,569,19631 - TxFlowEnable=0x0800, RxFlowEnable=569,19631 - TxFlowEnable=0x0800, RxFlowEnable=0x0400,569,19631 - PadEnable=570,19674 - PadEnable=0x04,570,19674 - PadEnable=0x04, FullDuplex=570,19674 - PadEnable=0x04, FullDuplex=0x02,570,19674 - PadEnable=0x04, FullDuplex=0x02, HugeFrame=570,19674 - PadEnable=0x04, FullDuplex=0x02, HugeFrame=0x01,570,19674 -enum tx_ctrl_bits tx_ctrl_bits574,19767 - TxDescSpaceUnlim=575,19787 - TxDescSpaceUnlim=0x00,575,19787 - TxDescSpaceUnlim=0x00, TxDescSpace32=575,19787 - TxDescSpaceUnlim=0x00, TxDescSpace32=0x10,575,19787 - TxDescSpaceUnlim=0x00, TxDescSpace32=0x10, TxDescSpace64=575,19787 - TxDescSpaceUnlim=0x00, TxDescSpace32=0x10, TxDescSpace64=0x20,575,19787 - TxDescSpace128=576,19851 - TxDescSpace128=0x30,576,19851 - TxDescSpace128=0x30, TxDescSpace256=576,19851 - TxDescSpace128=0x30, TxDescSpace256=0x40,576,19851 - TxDescType0=577,19894 - TxDescType0=0x00,577,19894 - TxDescType0=0x00, TxDescType1=577,19894 - TxDescType0=0x00, TxDescType1=0x01,577,19894 - TxDescType0=0x00, TxDescType1=0x01, TxDescType2=577,19894 - TxDescType0=0x00, TxDescType1=0x01, TxDescType2=0x02,577,19894 - TxDescType3=578,19949 - TxDescType3=0x03,578,19949 - TxDescType3=0x03, TxDescType4=578,19949 - TxDescType3=0x03, TxDescType4=0x04,578,19949 - TxNoDMACompletion=579,19986 - TxNoDMACompletion=0x08,579,19986 - TxDescQAddr64bit=580,20011 - TxDescQAddr64bit=0x80,580,20011 - TxDescQAddr64bit=0x80, TxDescQAddr32bit=580,20011 - TxHiPriFIFOThreshShift=581,20055 - TxHiPriFIFOThreshShift=24, TxPadLenShift=581,20055 - TxDMABurstSizeShift=582,20101 -enum rx_ctrl_bits rx_ctrl_bits586,20169 - RxBufferLenShift=587,20189 - RxBufferLenShift=16, RxMinDescrThreshShift=587,20189 - RxPrefetchMode=588,20236 - RxPrefetchMode=0x8000,588,20236 - RxPrefetchMode=0x8000, RxVariableQ=588,20236 - RxPrefetchMode=0x8000, RxVariableQ=0x2000,588,20236 - Rx2048QEntries=589,20280 - Rx2048QEntries=0x4000,589,20280 - Rx2048QEntries=0x4000, Rx256QEntries=589,20280 - RxDescAddr64bit=590,20321 - RxDescAddr64bit=0x1000,590,20321 - RxDescAddr64bit=0x1000, RxDescAddr32bit=590,20321 - RxDescQAddr64bit=591,20365 - RxDescQAddr64bit=0x0100,591,20365 - RxDescQAddr64bit=0x0100, RxDescQAddr32bit=591,20365 - RxDescSpace4=592,20411 - RxDescSpace4=0x000,592,20411 - RxDescSpace4=0x000, RxDescSpace8=592,20411 - RxDescSpace4=0x000, RxDescSpace8=0x100,592,20411 - RxDescSpace16=593,20452 - RxDescSpace16=0x200,593,20452 - RxDescSpace16=0x200, RxDescSpace32=593,20452 - RxDescSpace16=0x200, RxDescSpace32=0x300,593,20452 - RxDescSpace64=594,20495 - RxDescSpace64=0x400,594,20495 - RxDescSpace64=0x400, RxDescSpace128=594,20495 - RxDescSpace64=0x400, RxDescSpace128=0x500,594,20495 - RxConsumerWrEn=595,20539 - RxConsumerWrEn=0x80,595,20539 -enum rx_dmactrl_bits rx_dmactrl_bits599,20603 - RxReportBadFrames=600,20626 - RxReportBadFrames=0x80000000,600,20626 - RxReportBadFrames=0x80000000, RxDMAShortFrames=600,20626 - RxReportBadFrames=0x80000000, RxDMAShortFrames=0x40000000,600,20626 - RxDMABadFrames=601,20686 - RxDMABadFrames=0x20000000,601,20686 - RxDMABadFrames=0x20000000, RxDMACrcErrorFrames=601,20686 - RxDMABadFrames=0x20000000, RxDMACrcErrorFrames=0x10000000,601,20686 - RxDMAControlFrame=602,20746 - RxDMAControlFrame=0x08000000,602,20746 - RxDMAControlFrame=0x08000000, RxDMAPauseFrame=602,20746 - RxDMAControlFrame=0x08000000, RxDMAPauseFrame=0x04000000,602,20746 - RxChecksumIgnore=603,20805 - RxChecksumIgnore=0, RxChecksumRejectTCPUDP=603,20805 - RxChecksumIgnore=0, RxChecksumRejectTCPUDP=0x02000000,603,20805 - RxChecksumRejectTCPOnly=604,20861 - RxChecksumRejectTCPOnly=0x01000000,604,20861 - RxCompletionQ2Enable=605,20898 - RxCompletionQ2Enable=0x800000,605,20898 - RxDMAQ2Disable=606,20930 - RxDMAQ2Disable=0, RxDMAQ2FPOnly=606,20930 - RxDMAQ2Disable=0, RxDMAQ2FPOnly=0x100000,606,20930 - RxDMAQ2SmallPkt=607,20973 - RxDMAQ2SmallPkt=0x200000,607,20973 - RxDMAQ2SmallPkt=0x200000, RxDMAQ2HighPrio=607,20973 - RxDMAQ2SmallPkt=0x200000, RxDMAQ2HighPrio=0x300000,607,20973 - RxDMAQ2NonIP=608,21026 - RxDMAQ2NonIP=0x400000,608,21026 - RxUseBackupQueue=609,21050 - RxUseBackupQueue=0x080000,609,21050 - RxUseBackupQueue=0x080000, RxDMACRC=609,21050 - RxUseBackupQueue=0x080000, RxDMACRC=0x040000,609,21050 - RxEarlyIntThreshShift=610,21097 - RxEarlyIntThreshShift=12, RxHighPrioThreshShift=610,21097 - RxBurstSizeShift=611,21149 -enum rx_compl_bits rx_compl_bits615,21218 - RxComplQAddr64bit=616,21239 - RxComplQAddr64bit=0x80,616,21239 - RxComplQAddr64bit=0x80, RxComplQAddr32bit=616,21239 - RxComplProducerWrEn=617,21285 - RxComplProducerWrEn=0x40,617,21285 - RxComplType0=618,21312 - RxComplType0=0x00,618,21312 - RxComplType0=0x00, RxComplType1=618,21312 - RxComplType0=0x00, RxComplType1=0x10,618,21312 - RxComplType2=619,21351 - RxComplType2=0x20,619,21351 - RxComplType2=0x20, RxComplType3=619,21351 - RxComplType2=0x20, RxComplType3=0x30,619,21351 - RxComplThreshShift=620,21390 -enum tx_compl_bits tx_compl_bits624,21461 - TxComplQAddr64bit=625,21482 - TxComplQAddr64bit=0x80,625,21482 - TxComplQAddr64bit=0x80, TxComplQAddr32bit=625,21482 - TxComplProducerWrEn=626,21528 - TxComplProducerWrEn=0x40,626,21528 - TxComplIntrStatus=627,21555 - TxComplIntrStatus=0x20,627,21555 - CommonQueueMode=628,21580 - CommonQueueMode=0x10,628,21580 - TxComplThreshShift=629,21603 -enum gen_ctrl_bits gen_ctrl_bits633,21665 - RxEnable=634,21686 - RxEnable=0x05,634,21686 - RxEnable=0x05, TxEnable=634,21686 - RxEnable=0x05, TxEnable=0x0a,634,21686 - RxGFPEnable=635,21717 - RxGFPEnable=0x10,635,21717 - RxGFPEnable=0x10, TxGFPEnable=635,21717 - RxGFPEnable=0x10, TxGFPEnable=0x20,635,21717 -enum intr_ctrl_bits intr_ctrl_bits639,21799 - Timer10X=640,21821 - Timer10X=0x800,640,21821 - Timer10X=0x800, EnableIntrMasking=640,21821 - Timer10X=0x800, EnableIntrMasking=0x60,640,21821 - Timer10X=0x800, EnableIntrMasking=0x60, SmallFrameBypass=640,21821 - Timer10X=0x800, EnableIntrMasking=0x60, SmallFrameBypass=0x100,640,21821 - SmallFrame64=641,21886 - SmallFrame64=0, SmallFrame128=641,21886 - SmallFrame64=0, SmallFrame128=0x200,641,21886 - SmallFrame64=0, SmallFrame128=0x200, SmallFrame256=641,21886 - SmallFrame64=0, SmallFrame128=0x200, SmallFrame256=0x400,641,21886 - SmallFrame64=0, SmallFrame128=0x200, SmallFrame256=0x400, SmallFrame512=641,21886 - SmallFrame64=0, SmallFrame128=0x200, SmallFrame256=0x400, SmallFrame512=0x600,641,21886 - IntrLatencyMask=642,21966 - IntrLatencyMask=0x1f,642,21966 -struct starfire_rx_desc starfire_rx_desc646,22033 -enum rx_desc_bits rx_desc_bits649,22082 - RxDescValid=650,22102 - RxDescValid=1, RxDescEndRing=650,22102 -struct short_rx_done_desc short_rx_done_desc654,22169 -struct basic_rx_done_desc basic_rx_done_desc657,22244 -struct csum_rx_done_desc csum_rx_done_desc662,22346 -struct full_rx_done_desc full_rx_done_desc667,22470 -typedef struct full_rx_done_desc rx_done_desc;rx_done_desc678,22746 -#define RxComplType 679,22793 -typedef struct csum_rx_done_desc rx_done_desc;rx_done_desc681,22856 -#define RxComplType 682,22903 -typedef struct basic_rx_done_desc rx_done_desc;rx_done_desc686,23016 -#define RxComplType 687,23064 -typedef struct short_rx_done_desc rx_done_desc;rx_done_desc689,23127 -#define RxComplType 690,23175 -enum rx_done_bits rx_done_bits694,23269 - RxOK=695,23289 - RxOK=0x20000000,695,23289 - RxOK=0x20000000, RxFIFOErr=695,23289 - RxOK=0x20000000, RxFIFOErr=0x10000000,695,23289 - RxOK=0x20000000, RxFIFOErr=0x10000000, RxBufQ2=695,23289 - RxOK=0x20000000, RxFIFOErr=0x10000000, RxBufQ2=0x08000000,695,23289 -struct starfire_tx_desc_1 starfire_tx_desc_1699,23381 -struct starfire_tx_desc_2 starfire_tx_desc_2705,23513 -typedef struct starfire_tx_desc_2 starfire_tx_desc;starfire_tx_desc712,23651 -#define TX_DESC_TYPE 713,23703 -typedef struct starfire_tx_desc_1 starfire_tx_desc;starfire_tx_desc715,23765 -#define TX_DESC_TYPE 716,23817 -#define TX_DESC_SPACING 718,23879 -enum tx_desc_bits tx_desc_bits720,23921 - TxDescID=721,23941 - TxDescID=0xB0000000,721,23941 - TxCRCEn=722,23963 - TxCRCEn=0x01000000,722,23963 - TxCRCEn=0x01000000, TxDescIntr=722,23963 - TxCRCEn=0x01000000, TxDescIntr=0x08000000,722,23963 - TxRingWrap=723,24007 - TxRingWrap=0x04000000,723,24007 - TxRingWrap=0x04000000, TxCalTCP=723,24007 - TxRingWrap=0x04000000, TxCalTCP=0x02000000,723,24007 -struct tx_done_desc tx_done_desc725,24055 -struct rx_ring_info rx_ring_info732,24175 -struct tx_ring_info tx_ring_info736,24243 -#define PHY_CNT 742,24338 -struct netdev_private netdev_private743,24357 -static void netdev_vlan_rx_register(805,26740 -static void netdev_vlan_rx_add_vid(817,27054 -static void netdev_vlan_rx_kill_vid(828,27329 -static int __devinit starfire_init_one(843,27691 -static int mdio_read(1079,34002 -static void mdio_write(1095,34424 -static int netdev_open(1103,34662 -static void check_duplex(1268,40389 -static void tx_timeout(1303,41338 -static void init_ring(1333,42054 -static int start_tx(1379,43483 -static irqreturn_t intr_handler(1489,46482 -static int __netdev_rx(1598,49720 -static int netdev_poll(1720,53914 -static void refill_rx_ring(1753,54678 -static void netdev_media_change(1781,55541 -static void netdev_error(1856,57693 -static struct net_device_stats *get_stats(1883,58724 -static void set_rx_mode(1913,59813 -static int netdev_ethtool_ioctl(2000,62731 -static int netdev_ioctl(2079,64645 -static int netdev_close(2103,65160 -static void __devexit starfire_remove_one 2174,67308 -static struct pci_driver starfire_driver 2200,67918 -static int __init starfire_init 2208,68095 -static void __exit starfire_cleanup 2229,68686 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gianfar_phy.h,2720 -#define __GIANFAR_PHY_H20,599 -#define MII_end 22,624 -#define MII_read 23,650 -#define MIIMIND_BUSY 25,678 -#define MIIMIND_NOTVALID 26,721 -#define GFAR_AN_TIMEOUT 28,765 -#define MII_1000BASETCONTROL 31,853 -#define MII_1000BASETCONTROL_FULLDUPLEXCAP 32,889 -#define MII_1000BASETCONTROL_HALFDUPLEXCAP 33,939 -#define MII_CIS8201_EXT_CON1 36,1031 -#define MII_CIS8201_EXTCON1_INIT 37,1075 -#define MII_CIS8201_IMASK 40,1159 -#define MII_CIS8201_IMASK_IEN 41,1191 -#define MII_CIS8201_IMASK_SPEED 42,1229 -#define MII_CIS8201_IMASK_LINK 43,1268 -#define MII_CIS8201_IMASK_DUPLEX 44,1307 -#define MII_CIS8201_IMASK_MASK 45,1347 -#define MII_CIS8201_ISTAT 48,1426 -#define MII_CIS8201_ISTAT_STATUS 49,1458 -#define MII_CIS8201_ISTAT_SPEED 50,1498 -#define MII_CIS8201_ISTAT_LINK 51,1537 -#define MII_CIS8201_ISTAT_DUPLEX 52,1576 -#define MII_CIS8201_AUX_CONSTAT 55,1664 -#define MII_CIS8201_AUXCONSTAT_INIT 56,1708 -#define MII_CIS8201_AUXCONSTAT_DUPLEX 57,1754 -#define MII_CIS8201_AUXCONSTAT_SPEED 58,1800 -#define MII_CIS8201_AUXCONSTAT_GBIT 59,1846 -#define MII_CIS8201_AUXCONSTAT_100 60,1892 -#define MII_M1011_PHY_SPEC_STATUS 63,2053 -#define MII_M1011_PHY_SPEC_STATUS_1000 64,2093 -#define MII_M1011_PHY_SPEC_STATUS_100 65,2140 -#define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 66,2186 -#define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 67,2236 -#define MII_M1011_PHY_SPEC_STATUS_RESOLVED 68,2288 -#define MII_M1011_PHY_SPEC_STATUS_LINK 69,2338 -#define MII_M1011_IEVENT 71,2386 -#define MII_M1011_IEVENT_CLEAR 72,2417 -#define MII_M1011_IMASK 74,2457 -#define MII_M1011_IMASK_INIT 75,2488 -#define MII_M1011_IMASK_CLEAR 76,2525 -#define MII_DM9161_SCR 78,2564 -#define MII_DM9161_SCR_INIT 79,2593 -#define MII_DM9161_SCSR 82,2686 -#define MII_DM9161_SCSR_100F 83,2715 -#define MII_DM9161_SCSR_100H 84,2751 -#define MII_DM9161_SCSR_10F 85,2787 -#define MII_DM9161_SCSR_10H 86,2822 -#define MII_DM9161_INTR 89,2890 -#define MII_DM9161_INTR_PEND 90,2919 -#define MII_DM9161_INTR_DPLX_MASK 91,2956 -#define MII_DM9161_INTR_SPD_MASK 92,2997 -#define MII_DM9161_INTR_LINK_MASK 93,3037 -#define MII_DM9161_INTR_MASK 94,3078 -#define MII_DM9161_INTR_DPLX_CHANGE 95,3115 -#define MII_DM9161_INTR_SPD_CHANGE 96,3158 -#define MII_DM9161_INTR_LINK_CHANGE 97,3200 -#define MII_DM9161_INTR_INIT 98,3243 -#define MII_DM9161_INTR_STOP 99,3281 -#define MII_DM9161_10BTCSR 104,3461 -#define MII_DM9161_10BTCSR_INIT 105,3493 -#define MII_BASIC_FEATURES 107,3533 -#define MII_GBIT_FEATURES 115,3756 -#define MII_READ_COMMAND 119,3872 -#define MII_INTERRUPT_DISABLED 121,3915 -#define MII_INTERRUPT_ENABLED 122,3950 -struct gfar_mii_info gfar_mii_info124,4030 -struct phy_info phy_info174,5389 -struct dm9161_private dm9161_private208,6491 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sonic.h,4663 -#define SONIC_H17,492 -#define SONIC_CMD 25,570 -#define SONIC_DCR 26,606 -#define SONIC_RCR 27,642 -#define SONIC_TCR 28,678 -#define SONIC_IMR 29,714 -#define SONIC_ISR 30,750 -#define SONIC_UTDA 32,787 -#define SONIC_CTDA 33,823 -#define SONIC_URDA 35,860 -#define SONIC_CRDA 36,896 -#define SONIC_EOBC 37,932 -#define SONIC_URRA 38,968 -#define SONIC_RSA 39,1004 -#define SONIC_REA 40,1040 -#define SONIC_RRP 41,1076 -#define SONIC_RWP 42,1112 -#define SONIC_RSC 43,1148 -#define SONIC_CEP 45,1185 -#define SONIC_CAP2 46,1221 -#define SONIC_CAP1 47,1257 -#define SONIC_CAP0 48,1293 -#define SONIC_CE 49,1329 -#define SONIC_CDP 50,1365 -#define SONIC_CDC 51,1401 -#define SONIC_WT0 53,1438 -#define SONIC_WT1 54,1474 -#define SONIC_SR 56,1511 -#define SONIC_TPS 61,1576 -#define SONIC_TFC 62,1600 -#define SONIC_TSA0 63,1624 -#define SONIC_TSA1 64,1649 -#define SONIC_TFS 65,1674 -#define SONIC_CRBA0 67,1699 -#define SONIC_CRBA1 68,1725 -#define SONIC_RBWC0 69,1751 -#define SONIC_RBWC1 70,1777 -#define SONIC_TTDA 71,1803 -#define SONIC_MDT 72,1828 -#define SONIC_TRBA0 74,1853 -#define SONIC_TRBA1 75,1879 -#define SONIC_TBWC0 76,1905 -#define SONIC_TBWC1 77,1931 -#define SONIC_LLFA 78,1957 -#define SONIC_ADDR0 80,1983 -#define SONIC_ADDR1 81,2009 -#define SONIC_CRCT 86,2061 -#define SONIC_FAET 87,2098 -#define SONIC_MPT 88,2135 -#define SONIC_DCR2 90,2173 -#define SONIC_CR_LCAM 96,2241 -#define SONIC_CR_RRRA 97,2280 -#define SONIC_CR_RST 98,2319 -#define SONIC_CR_ST 99,2358 -#define SONIC_CR_STP 100,2397 -#define SONIC_CR_RXEN 101,2436 -#define SONIC_CR_RXDIS 102,2475 -#define SONIC_CR_TXP 103,2514 -#define SONIC_CR_HTX 104,2553 -#define SONIC_DCR_EXBUS 110,2634 -#define SONIC_DCR_LBR 111,2673 -#define SONIC_DCR_PO1 112,2712 -#define SONIC_DCR_PO0 113,2751 -#define SONIC_DCR_SBUS 114,2790 -#define SONIC_DCR_USR1 115,2829 -#define SONIC_DCR_USR0 116,2868 -#define SONIC_DCR_WC1 117,2907 -#define SONIC_DCR_WC0 118,2946 -#define SONIC_DCR_DW 119,2985 -#define SONIC_DCR_BMS 120,3024 -#define SONIC_DCR_RFT1 121,3063 -#define SONIC_DCR_RFT0 122,3102 -#define SONIC_DCR_TFT1 123,3141 -#define SONIC_DCR_TFT0 124,3180 -#define SONIC_RCR_ERR 130,3281 -#define SONIC_RCR_RNT 131,3320 -#define SONIC_RCR_BRD 132,3359 -#define SONIC_RCR_PRO 133,3398 -#define SONIC_RCR_AMC 134,3437 -#define SONIC_RCR_LB1 135,3476 -#define SONIC_RCR_LB0 136,3515 -#define SONIC_RCR_MC 138,3555 -#define SONIC_RCR_BC 139,3594 -#define SONIC_RCR_LPKT 140,3633 -#define SONIC_RCR_CRS 141,3672 -#define SONIC_RCR_COL 142,3711 -#define SONIC_RCR_CRCR 143,3750 -#define SONIC_RCR_FAER 144,3789 -#define SONIC_RCR_LBK 145,3828 -#define SONIC_RCR_PRX 146,3867 -#define SONIC_RCR_LB_OFF 148,3907 -#define SONIC_RCR_LB_MAC 149,3941 -#define SONIC_RCR_LB_ENDEC 150,3987 -#define SONIC_RCR_LB_TRANS 151,4033 -#define SONIC_RCR_DEFAULT 155,4123 -#define SONIC_TCR_PINTR 162,4221 -#define SONIC_TCR_POWC 163,4260 -#define SONIC_TCR_CRCI 164,4299 -#define SONIC_TCR_EXDIS 165,4338 -#define SONIC_TCR_EXD 166,4377 -#define SONIC_TCR_DEF 167,4416 -#define SONIC_TCR_NCRS 168,4455 -#define SONIC_TCR_CRLS 169,4494 -#define SONIC_TCR_EXC 170,4533 -#define SONIC_TCR_PMB 171,4572 -#define SONIC_TCR_FU 172,4611 -#define SONIC_TCR_BCM 173,4650 -#define SONIC_TCR_PTX 174,4689 -#define SONIC_TCR_DEFAULT 176,4729 -#define SONIC_INT_BR 183,4861 -#define SONIC_INT_HBL 184,4890 -#define SONIC_INT_LCD 185,4920 -#define SONIC_INT_PINT 186,4959 -#define SONIC_INT_PKTRX 187,4998 -#define SONIC_INT_TXDN 188,5037 -#define SONIC_INT_TXER 189,5076 -#define SONIC_INT_TC 190,5115 -#define SONIC_INT_RDE 191,5154 -#define SONIC_INT_RBE 192,5193 -#define SONIC_INT_RBAE 193,5232 -#define SONIC_INT_CRC 194,5263 -#define SONIC_INT_FAE 195,5293 -#define SONIC_INT_MP 196,5323 -#define SONIC_INT_RFO 197,5352 -#define SONIC_IMR_DEFAULT 204,5420 -#define SONIC_END_OF_LINKS 218,5990 -} sonic_rr_t;sonic_rr_t232,6259 -} sonic_rd_t;sonic_rd_t269,7058 -} sonic_td_t;sonic_td_t294,7613 -} sonic_cd_t;sonic_cd_t310,7848 -#define CAM_DESCRIPTORS 312,7863 -} sonic_cda_t;sonic_cda_t319,7983 -} sonic_rr_t;sonic_rr_t333,8250 -} sonic_rd_t;sonic_rd_t370,9050 -} sonic_td_t;sonic_td_t395,9606 -} sonic_cd_t;sonic_cd_t411,9842 -#define CAM_DESCRIPTORS 413,9857 -} sonic_cda_t;sonic_cda_t420,9977 -#define SONIC_NUM_RRS 430,10237 -#define SONIC_NUM_RDS 431,10299 -#define SONIC_NUM_TDS 432,10374 -#define SONIC_NUM_RRS 434,10445 -#define SONIC_NUM_RDS 435,10507 -#define SONIC_NUM_TDS 436,10582 -#define SONIC_RBSIZE 438,10654 -#define SONIC_RDS_MASK 440,10717 -#define SONIC_TDS_MASK 441,10760 -struct sonic_local sonic_local445,10860 -#define TX_TIMEOUT 466,11836 -static const char *version 480,12439 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/cs89x0.h,10490 -#define CS89x0_PORT(CS89x0_PORT21,813 -#define CS89x0_PORT(CS89x0_PORT23,856 -#define PP_ChipID 26,895 -#define PP_ISAIOB 30,1058 -#define PP_CS8900_ISAINT 31,1106 -#define PP_CS8920_ISAINT 32,1166 -#define PP_CS8900_ISADMA 33,1226 -#define PP_CS8920_ISADMA 34,1285 -#define PP_ISASOF 35,1344 -#define PP_DmaFrameCnt 36,1391 -#define PP_DmaByteCnt 37,1448 -#define PP_CS8900_ISAMemB 38,1503 -#define PP_CS8920_ISAMemB 39,1555 -#define PP_ISABootBase 41,1596 -#define PP_ISABootMask 42,1649 -#define PP_EECMD 45,1742 -#define PP_EEData 46,1805 -#define PP_DebugReg 47,1865 -#define PP_RxCFG 49,1915 -#define PP_RxCTL 50,1961 -#define PP_TxCFG 51,2018 -#define PP_TxCMD 52,2075 -#define PP_BufCFG 53,2133 -#define PP_LineCTL 54,2192 -#define PP_SelfCTL 55,2246 -#define PP_BusCTL 56,2301 -#define PP_TestCTL 57,2358 -#define PP_AutoNegCTL 58,2405 -#define PP_ISQ 60,2464 -#define PP_RxEvent 61,2511 -#define PP_TxEvent 62,2562 -#define PP_BufEvent 63,2613 -#define PP_RxMiss 64,2666 -#define PP_TxCol 65,2717 -#define PP_LineST 66,2774 -#define PP_SelfST 67,2826 -#define PP_BusST 68,2878 -#define PP_TDR 69,2921 -#define PP_AutoNegST 70,2977 -#define PP_TxCommand 71,3028 -#define PP_TxLength 72,3074 -#define PP_LAF 73,3118 -#define PP_IA 74,3159 -#define PP_RxStatus 76,3215 -#define PP_RxLength 77,3272 -#define PP_RxFrame 78,3330 -#define PP_TxFrame 79,3385 -#define DEFAULTIOBASE 83,3599 -#define FIRST_IO 84,3628 -#define LAST_IO 85,3684 -#define ADD_MASK 86,3745 -#define ADD_SIG 87,3814 -#define LCSLOTBASE 91,3958 -#define MMIOBASE 92,3988 -#define CHIP_EISA_ID_SIG 95,4021 -#define EISA_ID_SIG 98,4130 -#define PART_NO_SIG 99,4168 -#define MONGOOSE_BIT 100,4206 -#define EISA_ID_SIG 102,4251 -#define PART_NO_SIG 103,4335 -#define MONGOOSE_BIT 104,4416 -#define PRODUCT_ID_ADD 107,4504 -#define REG_TYPE_MASK 110,4614 -#define ERSE_WR_ENBL 113,4667 -#define ERSE_WR_DISABLE 114,4695 -#define RX_BUF_CFG 117,4785 -#define RX_CONTROL 118,4811 -#define TX_CFG 119,4837 -#define TX_COMMAND 120,4859 -#define BUF_CFG 121,4885 -#define LINE_CONTROL 122,4908 -#define SELF_CONTROL 123,4936 -#define BUS_CONTROL 124,4964 -#define TEST_CONTROL 125,4991 -#define RX_EVENT 128,5077 -#define TX_EVENT 129,5101 -#define BUF_EVENT 130,5125 -#define RX_MISS_COUNT 131,5150 -#define TX_COL_COUNT 132,5179 -#define LINE_STATUS 133,5207 -#define SELF_STATUS 134,5234 -#define BUS_STATUS 135,5261 -#define TDR 136,5287 -#define SKIP_1 139,5395 -#define RX_STREAM_ENBL 140,5417 -#define RX_OK_ENBL 141,5447 -#define RX_DMA_ONLY 142,5473 -#define AUTO_RX_DMA 143,5500 -#define BUFFER_CRC 144,5527 -#define RX_CRC_ERROR_ENBL 145,5553 -#define RX_RUNT_ENBL 146,5586 -#define RX_EXTRA_DATA_ENBL 147,5614 -#define RX_IA_HASH_ACCEPT 150,5710 -#define RX_PROM_ACCEPT 151,5743 -#define RX_OK_ACCEPT 152,5773 -#define RX_MULTCAST_ACCEPT 153,5801 -#define RX_IA_ACCEPT 154,5835 -#define RX_BROADCAST_ACCEPT 155,5863 -#define RX_BAD_CRC_ACCEPT 156,5898 -#define RX_RUNT_ACCEPT 157,5931 -#define RX_EXTRA_DATA_ACCEPT 158,5961 -#define RX_ALL_ACCEPT 159,5997 -#define DEF_RX_ACCEPT 161,6170 -#define TX_LOST_CRS_ENBL 164,6328 -#define TX_SQE_ERROR_ENBL 165,6360 -#define TX_OK_ENBL 166,6393 -#define TX_LATE_COL_ENBL 167,6419 -#define TX_JBR_ENBL 168,6451 -#define TX_ANY_COL_ENBL 169,6478 -#define TX_16_COL_ENBL 170,6509 -#define TX_START_4_BYTES 173,6601 -#define TX_START_64_BYTES 174,6633 -#define TX_START_128_BYTES 175,6666 -#define TX_START_ALL_BYTES 176,6700 -#define TX_FORCE 177,6734 -#define TX_ONE_COL 178,6758 -#define TX_TWO_PART_DEFF_DISABLE 179,6784 -#define TX_NO_CRC 180,6824 -#define TX_RUNT 181,6849 -#define GENERATE_SW_INTERRUPT 184,6955 -#define RX_DMA_ENBL 185,6992 -#define READY_FOR_TX_ENBL 186,7019 -#define TX_UNDERRUN_ENBL 187,7052 -#define RX_MISS_ENBL 188,7084 -#define RX_128_BYTE_ENBL 189,7112 -#define TX_COL_COUNT_OVRFLOW_ENBL 190,7144 -#define RX_MISS_COUNT_OVRFLOW_ENBL 191,7185 -#define RX_DEST_MATCH_ENBL 192,7227 -#define SERIAL_RX_ON 195,7322 -#define SERIAL_TX_ON 196,7350 -#define AUI_ONLY 197,7378 -#define AUTO_AUI_10BASET 198,7402 -#define MODIFIED_BACKOFF 199,7434 -#define NO_AUTO_POLARITY 200,7466 -#define TWO_PART_DEFDIS 201,7498 -#define LOW_RX_SQUELCH 202,7529 -#define POWER_ON_RESET 205,7629 -#define SW_STOP 206,7659 -#define SLEEP_ON 207,7682 -#define AUTO_WAKEUP 208,7706 -#define HCB0_ENBL 209,7733 -#define HCB1_ENBL 210,7758 -#define HCB0 211,7783 -#define HCB1 212,7803 -#define RESET_RX_DMA 215,7886 -#define MEMORY_ON 216,7914 -#define DMA_BURST_MODE 217,7939 -#define IO_CHANNEL_READY_ON 218,7969 -#define RX_DMA_SIZE_64K 219,8004 -#define ENABLE_IRQ 220,8035 -#define LINK_OFF 223,8122 -#define ENDEC_LOOPBACK 224,8146 -#define AUI_LOOPBACK 225,8176 -#define BACKOFF_OFF 226,8204 -#define FDX_8900 227,8231 -#define FAST_TEST 228,8255 -#define RX_IA_HASHED 231,8341 -#define RX_DRIBBLE 232,8369 -#define RX_OK 233,8395 -#define RX_HASHED 234,8416 -#define RX_IA 235,8441 -#define RX_BROADCAST 236,8462 -#define RX_CRC_ERROR 237,8490 -#define RX_RUNT 238,8518 -#define RX_EXTRA_DATA 239,8541 -#define HASH_INDEX_MASK 241,8571 -#define TX_LOST_CRS 244,8665 -#define TX_SQE_ERROR 245,8692 -#define TX_OK 246,8720 -#define TX_LATE_COL 247,8741 -#define TX_JBR 248,8768 -#define TX_16_COL 249,8790 -#define TX_SEND_OK_BITS 250,8815 -#define TX_COL_COUNT_MASK 251,8859 -#define SW_INTERRUPT 254,8953 -#define RX_DMA 255,8981 -#define READY_FOR_TX 256,9003 -#define TX_UNDERRUN 257,9031 -#define RX_MISS 258,9058 -#define RX_128_BYTE 259,9081 -#define TX_COL_OVRFLW 260,9108 -#define RX_MISS_OVRFLW 261,9137 -#define RX_DEST_MATCH 262,9167 -#define LINK_OK 265,9263 -#define AUI_ON 266,9286 -#define TENBASET_ON 267,9308 -#define POLARITY_OK 268,9335 -#define CRS_OK 269,9362 -#define ACTIVE_33V 272,9439 -#define INIT_DONE 273,9465 -#define SI_BUSY 274,9490 -#define EEPROM_PRESENT 275,9513 -#define EEPROM_OK 276,9543 -#define EL_PRESENT 277,9568 -#define EE_SIZE_64 278,9594 -#define TX_BID_ERROR 281,9668 -#define READY_FOR_TX_NOW 282,9696 -#define RE_NEG_NOW 285,9791 -#define ALLOW_FDX 286,9817 -#define AUTO_NEG_ENABLE 287,9842 -#define NLP_ENABLE 288,9873 -#define FORCE_FDX 289,9899 -#define AUTO_NEG_BITS 290,9924 -#define AUTO_NEG_MASK 291,9985 -#define AUTO_NEG_BUSY 294,10128 -#define FLP_LINK 295,10157 -#define FLP_LINK_GOOD 296,10181 -#define LINK_FAULT 297,10210 -#define HDX_ACTIVE 298,10236 -#define FDX_ACTIVE 299,10262 -#define ISQ_RECEIVER_EVENT 302,10344 -#define ISQ_TRANSMITTER_EVENT 303,10376 -#define ISQ_BUFFER_EVENT 304,10411 -#define ISQ_RX_MISS_EVENT 305,10441 -#define ISQ_TX_COL_EVENT 306,10472 -#define ISQ_EVENT_MASK 308,10503 -#define ISQ_HIST 309,10577 -#define AUTOINCREMENT 310,10626 -#define TXRXBUFSIZE 312,10704 -#define RXDMABUFSIZE 313,10731 -#define RXDMASIZE 314,10759 -#define TXRX_LENGTH_MASK 315,10784 -#define RCV_WITH_RXON 318,10840 -#define RCV_COUNTS 319,10890 -#define RCV_PONG 320,10938 -#define RCV_DONG 321,10986 -#define RCV_POLLING 322,11033 -#define RCV_ISQ 323,11078 -#define RCV_AUTO_DMA 324,11120 -#define RCV_DMA 325,11169 -#define RCV_DMA_ALL 326,11214 -#define RCV_FIXED_DATA 327,11263 -#define RCV_IO 328,11316 -#define RCV_MEMORY 329,11362 -#define RAM_SIZE 331,11411 -#define PKT_START 332,11477 -#define RX_FRAME_PORT 334,11535 -#define TX_FRAME_PORT 335,11577 -#define TX_CMD_PORT 336,11613 -#define TX_NOW 337,11653 -#define TX_AFTER_381 338,11722 -#define TX_AFTER_ALL 339,11796 -#define TX_LEN_PORT 340,11870 -#define ISQ_PORT 341,11910 -#define ADD_PORT 342,11947 -#define DATA_PORT 343,11984 -#define EEPROM_WRITE_EN 345,12023 -#define EEPROM_WRITE_DIS 346,12055 -#define EEPROM_WRITE_CMD 347,12087 -#define EEPROM_READ_CMD 348,12119 -#define RBUF_EVENT_LOW 352,12244 -#define RBUF_EVENT_HIGH 353,12325 -#define RBUF_LEN_LOW 354,12408 -#define RBUF_LEN_HI 355,12475 -#define RBUF_HEAD_LEN 356,12542 -#define CHIP_READ 358,12598 -#define DMA_READ 359,12681 -#define BIOS_START_SEG 365,12855 -#define BIOS_OFFSET_INC 366,12886 -#define BIOS_START_SEG 368,12923 -#define BIOS_OFFSET_INC 369,12954 -#define BIOS_LAST_OFFSET 372,12993 -#define ISA_CNF_OFFSET 375,13084 -#define TX_CTL_OFFSET 376,13111 -#define AUTO_NEG_CNF_OFFSET 377,13175 -#define EE_FORCE_FDX 383,13477 -#define EE_NLP_ENABLE 384,13506 -#define EE_AUTO_NEG_ENABLE 385,13535 -#define EE_ALLOW_FDX 386,13569 -#define EE_AUTO_NEG_CNF_MASK 387,13597 -#define IMM_BIT 389,13688 -#define ADAPTER_CNF_OFFSET 391,13742 -#define A_CNF_10B_T 392,13795 -#define A_CNF_AUI 393,13822 -#define A_CNF_10B_2 394,13847 -#define A_CNF_MEDIA_TYPE 395,13874 -#define A_CNF_MEDIA_AUTO 396,13906 -#define A_CNF_MEDIA_10B_T 397,13938 -#define A_CNF_MEDIA_AUI 398,13971 -#define A_CNF_MEDIA_10B_2 399,14002 -#define A_CNF_DC_DC_POLARITY 400,14035 -#define A_CNF_NO_AUTO_POLARITY 401,14071 -#define A_CNF_LOW_RX_SQUELCH 402,14109 -#define A_CNF_EXTND_10B_2 403,14145 -#define PACKET_PAGE_OFFSET 405,14179 -#define INT_NO_MASK 408,14281 -#define DMA_NO_MASK 409,14308 -#define ISA_DMA_SIZE 410,14335 -#define ISA_AUTO_RxDMA 411,14363 -#define ISA_RxDMA 412,14393 -#define DMA_BURST 413,14418 -#define STREAM_TRANSFER 414,14443 -#define ANY_ISA_DMA 415,14474 -#define DMA_BASE 418,14556 -#define DMA_BASE_2 419,14609 -#define DMA_STAT 421,14665 -#define DMA_MASK 422,14729 -#define DMA_MODE 423,14791 -#define DMA_RESETFF 424,14853 -#define DMA_DISABLE 427,14942 -#define DMA_ENABLE 428,14996 -#define DMA_RX_MODE 430,15113 -#define DMA_TX_MODE 432,15202 -#define DMA_SIZE 434,15228 -#define CS8900 436,15288 -#define CS8920 437,15310 -#define CS8920M 438,15335 -#define REVISON_BITS 439,15361 -#define EEVER_NUMBER 440,15389 -#define CHKSUM_LEN 441,15415 -#define CHKSUM_VAL 442,15439 -#define START_EEPROM_DATA 443,15465 -#define IRQ_MAP_EEPROM_DATA 444,15542 -#define IRQ_MAP_LEN 445,15619 -#define PNP_IRQ_FRMT 446,15689 -#define CS8900_IRQ_MAP 448,15775 -#define CS8900_IRQ_MAP 450,15850 -#define CS8920_NO_INTS 453,15917 -#define PNP_ADD_PORT 455,15985 -#define PNP_WRITE_PORT 456,16013 -#define GET_PNP_ISA_STRUCT 458,16044 -#define PNP_ISA_STRUCT_LEN 459,16076 -#define PNP_CSN_CNT_OFF 460,16108 -#define PNP_RD_PORT_OFF 461,16137 -#define PNP_FUNCTION_OK 462,16166 -#define PNP_WAKE 463,16195 -#define PNP_RSRC_DATA 464,16217 -#define PNP_RSRC_READY 465,16244 -#define PNP_STATUS 466,16272 -#define PNP_ACTIVATE 467,16296 -#define PNP_CNF_IO_H 468,16322 -#define PNP_CNF_IO_L 469,16348 -#define PNP_CNF_INT 470,16374 -#define PNP_CNF_DMA 471,16399 -#define PNP_CNF_MEM 472,16424 -#define BIT0 474,16450 -#define BIT15 475,16465 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/au1000_eth.h,2857 -#define NUM_INTERFACES 24,834 -#define MAC_IOSIZE 25,859 -#define NUM_RX_DMA 26,886 -#define NUM_TX_DMA 27,956 -#define NUM_RX_BUFFS 29,1027 -#define NUM_TX_BUFFS 30,1050 -#define MAX_BUF_SIZE 31,1073 -#define ETH_TX_TIMEOUT 33,1100 -#define MAC_MIN_PKT_SIZE 34,1128 -#define PHY_ADDRESS 37,1251 -#define PHY_CONTROL_DEFAULT 38,1286 -#define PHY_CONTROL_REG_ADDR 39,1321 -#define MULTICAST_FILTER_LIMIT 42,1364 -#define MII_CONTROL 49,1490 -#define MII_STATUS 50,1517 -#define MII_PHY_ID0 51,1544 -#define MII_PHY_ID1 52,1571 -#define MII_ANADV 53,1598 -#define MII_ANLPAR 54,1625 -#define MII_AEXP 55,1652 -#define MII_ANEXT 56,1679 -#define MII_LSI_CONFIG 57,1706 -#define MII_LSI_STAT 58,1736 -#define MII_AUX_CNTRL 59,1766 -#define MII_INT 60,1796 -#define MII_STATUS_SUMMARY 63,1870 -#define MII_CNTL_FDX 66,1951 -#define MII_CNTL_RST_AUTO 67,1984 -#define MII_CNTL_ISOLATE 68,2017 -#define MII_CNTL_PWRDWN 69,2050 -#define MII_CNTL_AUTO 70,2083 -#define MII_CNTL_F100 71,2116 -#define MII_CNTL_LPBK 72,2149 -#define MII_CNTL_RESET 73,2182 -#define MII_STAT_EXT 76,2247 -#define MII_STAT_JAB 77,2283 -#define MII_STAT_LINK 78,2318 -#define MII_STAT_CAN_AUTO 79,2353 -#define MII_STAT_FAULT 80,2388 -#define MII_STAT_AUTO_DONE 81,2424 -#define MII_STAT_CAN_T 82,2459 -#define MII_STAT_CAN_T_FDX 83,2494 -#define MII_STAT_CAN_TX 84,2529 -#define MII_STAT_CAN_TX_FDX 85,2565 -#define MII_STAT_CAN_T4 86,2600 -#define MII_ID1_OUI_LO 89,2637 -#define MII_ID1_MODEL 90,2696 -#define MII_ID1_REV 91,2746 -#define MII_NWAY_NODE_SEL 96,2939 -#define MII_NWAY_CSMA_CD 97,2972 -#define MII_NWAY_T 98,3005 -#define MII_NWAY_T_FDX 99,3033 -#define MII_NWAY_TX 100,3066 -#define MII_NWAY_TX_FDX 101,3099 -#define MII_NWAY_T4 102,3132 -#define MII_NWAY_PAUSE 103,3166 -#define MII_NWAY_RF 104,3200 -#define MII_NWAY_ACK 105,3252 -#define MII_NWAY_NP 106,3310 -#define MII_STSOUT_LINK_FAIL 109,3400 -#define MII_STSOUT_SPD 110,3436 -#define MII_STSOUT_DPLX 111,3472 -#define MII_STSICS_SPD 114,3540 -#define MII_STSICS_DPLX 115,3576 -#define MII_STSICS_LINKSTS 116,3612 -#define MII_STSSUM_LINK 119,3680 -#define MII_STSSUM_DPLX 120,3712 -#define MII_STSSUM_AUTO 121,3744 -#define MII_STSSUM_SPD 122,3776 -#define MII_LSI_STAT_FDX 126,3836 -#define MII_LSI_STAT_SPD 127,3868 -#define MII_AUX_FDX 130,3942 -#define MII_AUX_100 131,3974 -#define MII_AUX_F100 132,4006 -#define MII_AUX_ANEG 133,4038 -#define MII_FDX_LED 134,4070 -typedef struct mii_phy mii_phy136,4099 -} mii_phy_t;mii_phy_t141,4211 -struct phy_ops phy_ops143,4225 -typedef struct db_dest db_dest153,4518 -} db_dest_t;db_dest_t157,4611 -typedef struct tx_dma tx_dma163,4705 -} tx_dma_t;tx_dma_t168,4778 -typedef struct rx_dma rx_dma170,4791 -} rx_dma_t;rx_dma_t174,4857 -typedef struct mac_reg mac_reg180,4919 -} mac_reg_t;mac_reg_t191,5124 -struct au1000_private au1000_private194,5139 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mac89x0.c,722 -static char *version 59,2473 -#define NET_DEBUG 66,2721 -#define PRINTK(PRINTK76,2951 -static unsigned int net_debug 110,3570 -struct net_local net_local113,3669 -#define tx_done(tx_done140,4682 -readreg_io(144,4770 -writereg_io(151,4956 -readreg(159,5217 -writereg(165,5339 -struct net_device * __init mac89x0_probe(172,5585 -void __init reset_chip(304,9072 -net_open(329,9817 -net_send_packet(375,11223 -static irqreturn_t net_interrupt(434,13190 -net_rx(506,15871 -net_close(551,17150 -net_get_stats(572,17528 -static void set_multicast_list(586,17883 -static int set_mac_address(611,18582 -static struct net_device *dev_cs89x0;629,19020 -static int debug;630,19058 -init_module(637,19186 -cleanup_module(649,19412 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/eexpress.c,2281 -#define LOCKUP16 94,3822 -#define LOCKUP16 97,3865 -#define NET_DEBUG 125,4476 -#define EEXP_IO_EXTENT 130,4527 -struct net_localnet_local136,4592 -static unsigned short start_code[165,5673 -#define CONF_LINK 180,6225 -#define CONF_PROMISC 193,6759 -#define CONF_HWADDR 200,7040 -#define CONF_NR_MULTICAST 205,7198 -#define CONF_MULTICAST 207,7290 -#define CONF_DIAG_RESULT 217,7540 -#define CONF_TDR_RESULT 223,7677 -static char irqrmap[231,7870 -static unsigned short mca_iomap[235,8021 -static char mca_irqmap[240,8217 -static char *eexp_ifmap[276,9461 -enum eexp_iftype eexp_iftype277,9511 -enum eexp_iftype {AUI=277,9511 -enum eexp_iftype {AUI=0, BNC=277,9511 -enum eexp_iftype {AUI=0, BNC=1, TPE=277,9511 -#define STARTED_RU 279,9552 -#define STARTED_CU 280,9578 -static inline unsigned short scb_status(286,9653 -static inline unsigned short scb_rdcmd(291,9760 -static inline void scb_command(296,9866 -static inline void scb_wrcbl(301,9983 -static inline void scb_wrrfa(306,10098 -static inline void set_loopback(311,10213 -static inline void clear_loopback(316,10340 -static inline unsigned short int SHADOW(321,10470 -static int __init do_express_probe(336,10681 -struct net_device * __init express_probe(427,12826 -static int eexp_open(453,13277 -static int eexp_close(517,14915 -static struct net_device_stats *eexp_stats(544,15487 -static void unstick_cu(556,15744 -static void eexp_timeout(630,17669 -static int eexp_xmit(670,18547 -static unsigned short eexp_start_irq(729,19834 -static void eexp_cmd_clear(788,21782 -static irqreturn_t eexp_irq(797,22005 -static void eexp_hw_set_interface(907,24530 -static void eexp_hw_rx_pio(928,25004 -static void eexp_hw_tx_pio(1024,27451 -static int __init eexp_hw_probe(1088,29353 -static unsigned short __init eexp_hw_readeeprom(1215,32715 -static unsigned short eexp_hw_lasttxstat(1265,33893 -static void eexp_hw_txrestart(1335,35666 -static void eexp_hw_txinit(1380,36913 -static void eexp_hw_rxinit(1422,38101 -static void eexp_hw_init586(1481,39812 -static void eexp_setup_filter(1604,42687 -eexp_set_multicast(1641,43813 -#define EEXP_MAX_CARDS 1688,45365 -static struct net_device *dev_eexp[1690,45435 -static int irq[1691,45487 -static int io[1692,45519 -int init_module(1705,46007 -void cleanup_module(1733,46685 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hp100.c,3015 -#define HP100_DEFAULT_PRIORITY_TX 86,3198 -#define HP100_BUS_ISA 127,4120 -#define HP100_BUS_EISA 128,4148 -#define HP100_BUS_PCI 129,4176 -#define HP100_REGION_SIZE 131,4205 -#define HP100_SIG_LEN 132,4254 -#define HP100_MAX_PACKET_SIZE 134,4307 -#define HP100_MIN_PACKET_SIZE 135,4346 -#define HP100_DEFAULT_RX_RATIO 139,4482 -#define HP100_DEFAULT_PRIORITY_TX 144,4625 -struct hp100_private hp100_private151,4692 -static const char *hp100_isa_tbl[191,6001 -static struct eisa_device_id hp100_eisa_tbl[197,6123 -static struct pci_device_id hp100_pci_tbl[210,6506 -static int hp100_rx_ratio 223,7160 -static int hp100_priority_tx 224,7212 -static int hp100_mode 225,7270 -static inline dma_addr_t virt_to_whatever(281,9659 -static void wait(288,9899 -static __init const char *hp100_read_id(303,10198 -static __init int hp100_isa_probe1(330,10817 -static int __init hp100_isa_probe(366,11513 -struct net_device * __init hp100_probe(390,11962 -static int __init hp100_probe1(426,12599 -static void hp100_hwinit(781,23881 -static void hp100_mmuinit(875,26595 -static int hp100_open(1054,32200 -static int hp100_close(1093,33191 -static void hp100_init_pdls(1127,33857 -static int hp100_init_rxpdl(1177,35376 -static int hp100_init_txpdl(1206,36281 -static int hp100_build_rx_pdl(1227,36983 -static void hp100_rxfill(1309,39905 -static void hp100_BM_shutdown(1351,40933 -static int hp100_check_lan(1433,43571 -static int hp100_start_xmit_bm(1456,44204 -static void hp100_clean_txring(1577,47926 -static int hp100_start_xmit(1612,49009 -static void hp100_rx(1754,53461 -static void hp100_rx_bm(1864,56792 -static struct net_device_stats *hp100_get_stats(1972,60021 -static void hp100_update_stats(1990,60461 -static void hp100_misc_interrupt(2015,61110 -static void hp100_clear_stats(2033,61531 -static void hp100_set_multicast_list(2060,62044 -static irqreturn_t hp100_interrupt(2191,66218 -static void hp100_start_interface(2321,69778 -static void hp100_stop_interface(2382,71764 -static void hp100_load_eeprom(2418,72782 -static int hp100_sense_lan(2441,73478 -static int hp100_down_vg_link(2489,74862 -static int hp100_login_to_vg_hub(2604,78320 -static void hp100_cascade_reset(2775,84206 -void hp100_RegisterDump(2807,85130 -static void cleanup_dev(2837,85995 -static int __init hp100_eisa_probe 2855,86439 -static int __devexit hp100_eisa_remove 2888,87129 -static struct eisa_driver hp100_eisa_driver 2895,87274 -static int __devinit hp100_pci_probe 2906,87560 -static void __devexit hp100_pci_remove 2965,88930 -static struct pci_driver hp100_pci_driver 2974,89094 -#define HP100_DEVICES 2998,89773 -static int hp100_port[3000,89828 -static struct net_device *hp100_devlist[3004,89995 -static int __init hp100_isa_init(3006,90052 -static void __exit hp100_isa_cleanup(3043,90846 -#define hp100_isa_init(hp100_isa_init3054,91028 -#define hp100_isa_cleanup(hp100_isa_cleanup3055,91057 -static int __init hp100_module_init(3058,91109 -static void __exit hp100_module_exit(3087,91598 -module_init(3098,91809 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fealnx.c,9444 -#define DRV_NAME 27,806 -#define DRV_VERSION 28,832 -#define DRV_RELDATE 29,859 -static int debug;31,894 -static int max_interrupt_work 32,943 -static int multicast_filter_limit 35,1058 -static int rx_copybreak;39,1235 -#define MAX_UNITS 45,1529 -static int options[46,1598 -static int full_duplex[47,1666 -#define TX_RING_SIZE 58,2268 -#define RX_RING_SIZE 59,2294 -#define TX_TOTAL_SIZE 60,2321 -#define RX_TOTAL_SIZE 61,2383 -#define TX_TIMEOUT 65,2570 -#define PKT_BUF_SZ 67,2602 -static char version[95,3401 -static char version[] __devinitdata 95,3401 -#define USE_IO_OPS102,3637 -#define readb 112,3763 -#define readw 113,3781 -#define readl 114,3799 -#define writeb 115,3817 -#define writew 116,3837 -#define writel 117,3857 -#define RUN_AT(RUN_AT123,4025 -#define MIN_REGION_SIZE 142,4962 -enum pci_flags_bit pci_flags_bit144,4991 - PCI_USES_IO 145,5012 - PCI_USES_MEM 146,5030 - PCI_USES_MASTER 147,5049 - PCI_ADDR0 148,5071 - PCI_ADDR0 = 0x10 148,5071 - PCI_ADDR1 149,5095 - PCI_ADDR1 = 0x10 149,5095 - PCI_ADDR2 150,5119 - PCI_ADDR2 = 0x10 150,5119 - PCI_ADDR3 151,5143 - PCI_ADDR3 = 0x10 151,5143 -enum chip_capability_flags chip_capability_flags155,5245 - HAS_MII_XCVR,156,5274 - HAS_CHIP_XCVR,157,5289 -enum phy_type_flags phy_type_flags162,5352 - MysonPHY 163,5374 - AhdocPHY 164,5389 - SeeqPHY 165,5404 - MarvellPHY 166,5418 - Myson981 167,5435 - LevelOnePHY 168,5450 - OtherPHY 169,5468 -struct chip_info chip_info172,5488 -static struct chip_info skel_netdrv_tbl[178,5555 -enum fealnx_offsets fealnx_offsets185,5824 - PAR0 186,5846 - PAR0 = 0x0,186,5846 - PAR1 187,5887 - PAR1 = 0x04,187,5887 - MAR0 188,5929 - MAR0 = 0x08,188,5929 - MAR1 189,5972 - MAR1 = 0x0C,189,5972 - FAR0 190,6015 - FAR0 = 0x10,190,6015 - FAR1 191,6061 - FAR1 = 0x14,191,6061 - TCRRCR 192,6107 - TCRRCR = 0x18,192,6107 - BCR 193,6163 - BCR = 0x1C,193,6163 - TXPDR 194,6195 - TXPDR = 0x20,194,6195 - RXPDR 195,6241 - RXPDR = 0x24,195,6241 - RXCWP 196,6286 - RXCWP = 0x28,196,6286 - TXLBA 197,6337 - TXLBA = 0x2C,197,6337 - RXLBA 198,6386 - RXLBA = 0x30,198,6386 - ISR 199,6434 - ISR = 0x34,199,6434 - IMR 200,6471 - IMR = 0x38,200,6471 - FTH 201,6506 - FTH = 0x3C,201,6506 - MANAGEMENT 202,6558 - MANAGEMENT = 0x40,202,6558 - TALLY 203,6618 - TALLY = 0x44,203,6618 - TSR 204,6671 - TSR = 0x48,204,6671 - BMCRSR 205,6725 - BMCRSR = 0x4c,205,6725 - PHYIDENTIFIER 206,6778 - PHYIDENTIFIER = 0x50,206,6778 - ANARANLPAR 207,6822 - ANARANLPAR = 0x54,207,6822 - ANEROCR 209,6911 - ANEROCR = 0x58,209,6911 - BPREMRPSR 210,6976 - BPREMRPSR = 0x5c,210,6976 -enum intr_status_bits intr_status_bits215,7179 - RFCON 216,7203 - RFCON = 0x00020000,216,7203 - RFCOFF 217,7262 - RFCOFF = 0x00010000,217,7262 - LSCStatus 218,7323 - LSCStatus = 0x00008000,218,7323 - ANCStatus 219,7373 - ANCStatus = 0x00004000,219,7373 - FBE 220,7430 - FBE = 0x00002000,220,7430 - FBEMask 221,7471 - FBEMask = 0x00001800,221,7471 - ParityErr 222,7514 - ParityErr = 0x00000000,222,7514 - TargetErr 223,7558 - TargetErr = 0x00001000,223,7558 - MasterErr 224,7602 - MasterErr = 0x00000800,224,7602 - TUNF 225,7646 - TUNF = 0x00000400,225,7646 - ROVF 226,7691 - ROVF = 0x00000200,226,7691 - ETI 227,7734 - ETI = 0x00000100,227,7734 - ERI 228,7778 - ERI = 0x00000080,228,7778 - CNTOVF 229,7821 - CNTOVF = 0x00000040,229,7821 - RBU 230,7866 - RBU = 0x00000020,230,7866 - TBU 231,7918 - TBU = 0x00000010,231,7918 - TI 232,7970 - TI = 0x00000008,232,7970 - RI 233,8013 - RI = 0x00000004,233,8013 - RxErr 234,8055 - RxErr = 0x00000002,234,8055 -enum rx_mode_bits rx_mode_bits240,8293 - CR_W_ENH 241,8313 - CR_W_ENH = 0x02000000,241,8313 - CR_W_FD 242,8365 - CR_W_FD = 0x00100000,242,8365 - CR_W_PS10 243,8407 - CR_W_PS10 = 0x00080000,243,8407 - CR_W_TXEN 244,8446 - CR_W_TXEN = 0x00040000,244,8446 - CR_W_PS1000 245,8495 - CR_W_PS1000 = 0x00010000,245,8495 - CR_W_RXMODEMASK 247,8600 - CR_W_RXMODEMASK = 0x000000e0,247,8600 - CR_W_PROM 248,8631 - CR_W_PROM = 0x00000080,248,8631 - CR_W_AB 249,8679 - CR_W_AB = 0x00000040,249,8679 - CR_W_AM 250,8726 - CR_W_AM = 0x00000020,250,8726 - CR_W_ARP 251,8773 - CR_W_ARP = 0x00000008,251,8773 - CR_W_ALP 252,8820 - CR_W_ALP = 0x00000004,252,8820 - CR_W_SEP 253,8867 - CR_W_SEP = 0x00000002,253,8867 - CR_W_RXEN 254,8915 - CR_W_RXEN = 0x00000001,254,8915 - CR_R_TXSTOP 256,8976 - CR_R_TXSTOP = 0x04000000,256,8976 - CR_R_FD 257,9028 - CR_R_FD = 0x00100000,257,9028 - CR_R_PS10 258,9079 - CR_R_PS10 = 0x00080000,258,9079 - CR_R_RXSTOP 259,9127 - CR_R_RXSTOP = 0x00008000,259,9127 -struct fealnx_desc fealnx_desc263,9229 -enum rx_desc_status_bits rx_desc_status_bits275,9441 - RXOWN 276,9468 - RXOWN = 0x80000000,276,9468 - FLNGMASK 277,9503 - FLNGMASK = 0x0fff0000,277,9503 - FLNGShift 278,9546 - MARSTATUS 279,9563 - MARSTATUS = 0x00004000,279,9563 - BARSTATUS 280,9621 - BARSTATUS = 0x00002000,280,9621 - PHYSTATUS 281,9679 - PHYSTATUS = 0x00001000,281,9679 - RXFSD 282,9736 - RXFSD = 0x00000800,282,9736 - RXLSD 283,9780 - RXLSD = 0x00000400,283,9780 - ErrorSummary 284,9823 - ErrorSummary = 0x80,284,9823 - RUNT 285,9865 - RUNT = 0x40,285,9865 - LONG 286,9907 - LONG = 0x20,286,9907 - FAE 287,9949 - FAE = 0x10,287,9949 - CRC 288,9987 - CRC = 0x08,288,9987 - RXER 289,10017 - RXER = 0x04,289,10017 -enum rx_desc_control_bits rx_desc_control_bits292,10056 - RXIC 293,10084 - RXIC = 0x00800000,293,10084 - RBSShift 294,10128 -enum tx_desc_status_bits tx_desc_status_bits297,10147 - TXOWN 298,10174 - TXOWN = 0x80000000,298,10174 - JABTO 299,10209 - JABTO = 0x00004000,299,10209 - CSL 300,10251 - CSL = 0x00002000,300,10251 - LC 301,10295 - LC = 0x00001000,301,10295 - EC 302,10334 - EC = 0x00000800,302,10334 - UDF 303,10378 - UDF = 0x00000400,303,10378 - DFR 304,10418 - DFR = 0x00000200,304,10418 - HF 305,10452 - HF = 0x00000100,305,10452 - NCRMask 306,10491 - NCRMask = 0x000000ff,306,10491 - NCRShift 307,10542 -enum tx_desc_control_bits tx_desc_control_bits310,10561 - TXIC 311,10589 - TXIC = 0x80000000,311,10589 - ETIControl 312,10633 - ETIControl = 0x40000000,312,10633 - TXLD 313,10690 - TXLD = 0x20000000,313,10690 - TXFD 314,10732 - TXFD = 0x10000000,314,10732 - CRCEnable 315,10775 - CRCEnable = 0x08000000,315,10775 - PADEnable 316,10818 - PADEnable = 0x04000000,316,10818 - RetryTxLC 317,10865 - RetryTxLC = 0x02000000,317,10865 - PKTSMask 318,10917 - PKTSMask = 0x3ff800,318,10917 - PKTSShift 319,10966 - TBSMask 320,10983 - TBSMask = 0x000007ff,320,10983 - TBSShift 321,11037 -#define MASK_MIIR_MII_READ 325,11101 -#define MASK_MIIR_MII_WRITE 326,11145 -#define MASK_MIIR_MII_MDO 327,11189 -#define MASK_MIIR_MII_MDI 328,11233 -#define MASK_MIIR_MII_MDC 329,11277 -#define OP_READ 332,11349 -#define OP_WRITE 333,11420 -#define MysonPHYID 338,11732 -#define MysonPHYID0 340,11794 -#define StatusRegister 341,11825 -#define SPEED100 342,11852 -#define FULLMODE 343,11892 -#define SeeqPHYID0 349,12198 -#define MIIRegister18 351,12230 -#define SPD_DET_100 352,12257 -#define DPLX_DET_FULL 353,12286 -#define AhdocPHYID0 358,12556 -#define DiagnosticReg 360,12588 -#define DPLX_FULL 361,12615 -#define Speed_100 362,12646 -#define MarvellPHYID0 368,12940 -#define LevelOnePHYID0 369,12979 -#define MII1000BaseTControlReg 371,13011 -#define MII1000BaseTStatusReg 372,13045 -#define SpecificReg 373,13080 -#define PHYAbletoPerform1000FullDuplex 376,13142 -#define PHYAbletoPerform1000HalfDuplex 377,13189 -#define PHY1000AbilityMask 378,13236 -#define SpeedMask 381,13333 -#define Speed_1000M 382,13365 -#define Speed_100M 383,13397 -#define Speed_10M 384,13428 -#define Full_Duplex 385,13454 -#define LXT1000_100M 388,13559 -#define LXT1000_1000M 389,13591 -#define LXT1000_Full 390,13623 -#define LinkIsUp2 394,13764 -#define LinkIsUp 397,13808 -struct netdev_private netdev_private400,13841 -static struct ethtool_ops netdev_ethtool_ops;466,15995 -static void stop_nic_rx(471,16207 -static void stop_nic_rxtx(482,16429 -static int __devinit fealnx_init_one(494,16701 -static void __devexit fealnx_remove_one(716,22276 -static ulong m80x_send_cmd_to_phy(739,22835 -static int mdio_read(788,23824 -static void mdio_write(826,24488 -static int netdev_open(857,25093 -#define x86 911,26831 -static void getlinkstatus(978,28668 -static void getlinktype(1008,29407 -static void allocate_rx_buffers(1111,32116 -static void netdev_timer(1136,32771 -static void reset_and_disable_rxtx(1174,33773 -static void enable_rxtx(1199,34384 -static void reset_timer(1224,35043 -static void tx_timeout(1248,35638 -static void init_ring(1283,36556 -static int start_tx(1347,38402 -#define one_buffer1356,38604 -#define BPT 1357,38623 -static void reset_tx_descriptors(1426,41081 -static void reset_rx_descriptors(1461,42110 -static irqreturn_t intr_handler(1482,42598 -static int netdev_rx(1657,47209 -static struct net_device_stats *get_stats(1794,51058 -static void set_rx_mode(1810,51481 -static void __set_rx_mode(1821,51739 -static void netdev_get_drvinfo(1861,52969 -static int netdev_get_settings(1870,53218 -static int netdev_set_settings(1882,53461 -static int netdev_nway_reset(1894,53704 -static u32 netdev_get_link(1900,53838 -static u32 netdev_get_msglevel(1906,53965 -static void netdev_set_msglevel(1911,54040 -static struct ethtool_ops netdev_ethtool_ops 1916,54128 -static int mii_ioctl(1928,54513 -static int netdev_close(1944,54813 -static struct pci_device_id fealnx_pci_tbl[1990,55821 -static struct pci_driver fealnx_driver 1999,56098 -static int __init fealnx_init(2006,56266 -static void __exit fealnx_exit(2016,56467 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gianfar.c,1560 -#define TX_TIMEOUT 100,3868 -#define SKB_ALLOC_TIMEOUT 101,3899 -#define RECEIVE(RECEIVE106,4010 -#define RECEIVE(RECEIVE108,4056 -const char gfar_driver_name[111,4095 -const char gfar_driver_version[112,4147 -static int gfar_probe(154,6217 -static void gfar_remove(335,11146 -static int init_phy(350,11492 -static void init_registers(440,13312 -void stop_gfar(502,15271 -void free_skb_resources(576,17239 -int startup_gfar(626,18305 -static int gfar_enet_open(841,23938 -static int gfar_start_xmit(864,24351 -static int gfar_close(930,26063 -static struct net_device_stats * gfar_get_stats(947,26403 -int gfar_set_mac_address(955,26616 -static int gfar_change_mtu(977,27102 -static void gfar_timeout(1027,28581 -static irqreturn_t gfar_transmit(1042,28849 -struct sk_buff * gfar_new_skb(1102,30619 -static inline void count_errors(1136,31480 -irqreturn_t gfar_receive(1173,32291 -static int gfar_process_frame(1226,33606 -static int gfar_clean_rx_ring(1258,34380 -static int gfar_poll(1330,36108 -static irqreturn_t gfar_interrupt(1370,37075 -static irqreturn_t phy_interrupt(1455,39154 -static void gfar_phy_change(1474,39660 -static void gfar_phy_timer(1500,40404 -static void gfar_phy_startup_timer(1517,40933 -static void adjust_link(1581,42898 -static void gfar_set_multi(1661,45000 -static void gfar_set_hash_for_addr(1728,47176 -static irqreturn_t gfar_error(1747,47674 -static struct ocp_device_id gfar_ids[1832,49850 -static struct ocp_driver gfar_driver 1837,49980 -static int __init gfar_init(1845,50115 -static void __exit gfar_exit(1858,50293 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/declance.c,3259 -static char version[68,2201 -static char version[] __devinitdata 68,2201 -#define ASIC_LANCE 78,2466 -#define PMAD_LANCE 79,2487 -#define PMAX_LANCE 80,2508 -unsigned long system_base;83,2548 -unsigned long dmaptr;84,2575 -#define LE_CSR0 87,2605 -#define LE_CSR1 88,2623 -#define LE_CSR2 89,2641 -#define LE_CSR3 90,2659 -#define LE_MO_PROM 92,2678 -#define LE_C0_ERR 94,2740 -#define LE_C0_BABL 95,2813 -#define LE_C0_CERR 96,2871 -#define LE_C0_MISS 97,2930 -#define LE_C0_MERR 98,2984 -#define LE_C0_RINT 99,3035 -#define LE_C0_TINT 100,3086 -#define LE_C0_IDON 101,3140 -#define LE_C0_INTR 102,3193 -#define LE_C0_INEA 103,3244 -#define LE_C0_RXON 104,3293 -#define LE_C0_TXON 105,3337 -#define LE_C0_TDMD 106,3384 -#define LE_C0_STOP 107,3435 -#define LE_C0_STRT 108,3481 -#define LE_C0_INIT 109,3528 -#define LE_C3_BSWP 111,3575 -#define LE_C3_ACON 112,3609 -#define LE_C3_BCON 113,3650 -#define LE_R1_OWN 116,3728 -#define LE_R1_ERR 117,3782 -#define LE_R1_FRA 118,3855 -#define LE_R1_OFL 119,3907 -#define LE_R1_CRC 120,3962 -#define LE_R1_BUF 121,4007 -#define LE_R1_SOP 122,4060 -#define LE_R1_EOP 123,4111 -#define LE_R1_POK 124,4160 -#define LE_T1_OWN 126,4226 -#define LE_T1_ERR 127,4283 -#define LE_T1_EMORE 128,4332 -#define LE_T1_EONE 129,4401 -#define LE_T1_EDEF 130,4460 -#define LE_T1_SOP 131,4511 -#define LE_T1_EOP 132,4562 -#define LE_T1_POK 133,4611 -#define LE_T3_BUF 135,4671 -#define LE_T3_UFL 136,4721 -#define LE_T3_LCOL 137,4774 -#define LE_T3_CLOS 138,4832 -#define LE_T3_RTY 139,4888 -#define LE_T3_TDR 140,4937 -#define LANCE_LOG_TX_BUFFERS 145,5087 -#define LANCE_LOG_RX_BUFFERS 146,5118 -#define TX_RING_SIZE 149,5157 -#define TX_RING_MOD_MASK 150,5210 -#define RX_RING_SIZE 152,5256 -#define RX_RING_MOD_MASK 153,5309 -#define PKT_BUF_SZ 155,5355 -#define RX_BUFF_SIZE 156,5380 -#define TX_BUFF_SIZE 157,5423 -#define ZERO 160,5484 -struct lance_rx_desc lance_rx_desc176,6084 -struct lance_tx_desc lance_tx_desc189,6455 -struct lance_init_block lance_init_block204,6860 -#define BUF_OFFSET_CPU 231,7686 -#define BUF_OFFSET_LNC 232,7741 -#define libdesc_offset(libdesc_offset234,7802 -#define LANCE_ADDR(LANCE_ADDR240,7965 -struct lance_private lance_private242,8007 -#define TX_BUFFS_AVAIL 270,8615 -struct lance_regs lance_regs280,9004 -int dec_lance_debug 286,9162 -static struct net_device *root_lance_dev;288,9188 -static inline void writereg(290,9231 -static void load_csrs(297,9365 -void cp_to_buf(322,9870 -void cp_from_buf(376,10762 -static void lance_init_ring(434,11690 -static int init_restart_lance(504,13843 -static int lance_rx(531,14504 -static void lance_tx(618,16622 -static void lance_dma_merr_int(700,18630 -lance_interrupt(709,18836 -struct net_device *last_dev 755,19875 -static int lance_open(757,19909 -static int lance_close(824,21425 -static inline int lance_reset(858,22114 -static void lance_tx_timeout(875,22479 -static int lance_start_xmit(886,22757 -static struct net_device_stats *lance_get_stats(938,23985 -static void lance_load_multicast(945,24129 -static void lance_set_multicast(984,24986 -static void lance_set_multicast_retry(1019,25700 -static int __init dec_lance_init(1026,25851 -static int __init dec_lance_probe(1280,32229 -static void __exit dec_lance_cleanup(1313,32857 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c507.c,2681 -#define DRV_NAME 28,895 -#define DRV_VERSION 29,921 -#define DRV_RELDATE 30,950 -static const char version[32,985 -#define NET_DEBUG 71,2119 -static unsigned int net_debug 73,2146 -#define debug 74,2189 -#define CUC_START 92,2734 -#define CUC_RESUME 93,2761 -#define CUC_SUSPEND 94,2789 -#define RX_START 95,2817 -#define RX_RESUME 96,2843 -#define RX_SUSPEND 97,2870 -#define CMD_EOL 111,3448 -#define CMD_SUSP 112,3516 -#define CMD_INTR 113,3573 -enum commands commands115,3633 - CmdNOp 116,3649 - CmdNOp = 0, CmdSASetup 116,3649 - CmdNOp = 0, CmdSASetup = 1, CmdConfigure 116,3649 - CmdNOp = 0, CmdSASetup = 1, CmdConfigure = 2, CmdMulticastList 116,3649 - CmdTx 117,3718 - CmdTx = 4, CmdTDR 117,3718 - CmdTx = 4, CmdTDR = 5, CmdDump 117,3718 - CmdTx = 4, CmdTDR = 5, CmdDump = 6, CmdDiagnose 117,3718 -struct net_local net_local120,3829 -#define SA_DATA 140,4308 -#define MISC_CTRL 141,4374 -#define RESET_IRQ 142,4447 -#define SIGNAL_CA 143,4502 -#define ROM_CONFIG 144,4568 -#define MEM_CONFIG 145,4590 -#define IRQ_CONFIG 146,4612 -#define EL16_IO_EXTENT 147,4634 -#define ID_PORT 150,4725 -#define iSCB_STATUS 153,4798 -#define iSCB_CMD 154,4822 -#define iSCB_CBL 155,4844 -#define iSCB_RFA 156,4894 -#define SCB_BASE 167,5432 -#define CONFIG_CMD 185,6115 -#define SET_SA_CMD 186,6141 -#define SA_OFFSET 187,6167 -#define IDLELOOP 188,6192 -#define TDR_CMD 189,6214 -#define TDR_TIME 190,6236 -#define DUMP_CMD 191,6258 -#define DIAG_CMD 192,6280 -#define SET_MC_CMD 193,6302 -#define DUMP_DATA 194,6326 -#define TX_BUF_START 196,6400 -#define NUM_TX_BUFS 197,6428 -#define TX_BUF_SIZE 198,6451 -#define RX_BUF_START 200,6513 -#define RX_BUF_SIZE 201,6541 -#define RX_BUF_END 202,6599 -#define TX_TIMEOUT 204,6652 -static unsigned short init_words[239,8182 -static struct ethtool_ops netdev_ethtool_ops;296,10429 -static int io 299,10523 -static int irq;300,10546 -static int mem_start;301,10562 -struct net_device * __init el16_probe(311,10871 -static int __init el16_probe1(357,11799 -static int el16_open(463,14469 -static void el16_tx_timeout 473,14628 -static int el16_send_packet 503,15548 -static irqreturn_t el16_interrupt(536,16400 -static int el16_close(638,19421 -static struct net_device_stats *el16_get_stats(661,19985 -static void init_rx_bufs(671,20230 -static void init_82586_mem(714,21841 -static void hardware_send_packet(772,23624 -static void el16_rx(821,25550 -static void netdev_get_drvinfo(893,27831 -static u32 netdev_get_msglevel(901,28056 -static void netdev_set_msglevel(906,28131 -static struct ethtool_ops netdev_ethtool_ops 911,28219 -static struct net_device *dev_3c507;918,28401 -int init_module(924,28574 -cleanup_module(933,28768 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/a2065.h,1755 -struct lance_regs lance_regs40,1228 -#define LE_CSR0 50,1398 -#define LE_CSR1 51,1453 -#define LE_CSR2 52,1495 -#define LE_CSR3 53,1538 -#define LE_C0_ERR 60,1639 -#define LE_C0_BABL 61,1677 -#define LE_C0_CERR 62,1744 -#define LE_C0_MISS 63,1801 -#define LE_C0_MERR 64,1847 -#define LE_C0_RINT 65,1893 -#define LE_C0_TINT 66,1944 -#define LE_C0_IDON 67,1996 -#define LE_C0_INTR 68,2049 -#define LE_C0_INEA 69,2097 -#define LE_C0_RXON 70,2147 -#define LE_C0_TXON 71,2191 -#define LE_C0_TDMD 72,2236 -#define LE_C0_STOP 73,2285 -#define LE_C0_STRT 74,2323 -#define LE_C0_INIT 75,2362 -#define LE_C3_BSWP 82,2445 -#define LE_C3_ACON 84,2527 -#define LE_C3_BCON 86,2604 -#define LE_MO_PROM 93,2675 -#define LE_MO_INTL 94,2725 -#define LE_MO_DRTY 95,2776 -#define LE_MO_FCOLL 96,2823 -#define LE_MO_DXMTFCS 97,2873 -#define LE_MO_LOOP 98,2930 -#define LE_MO_DTX 99,2979 -#define LE_MO_DRX 100,3031 -struct lance_rx_desc lance_rx_desc103,3082 -struct lance_tx_desc lance_tx_desc113,3451 -#define LE_R1_OWN 126,3766 -#define LE_R1_ERR 127,3822 -#define LE_R1_FRA 128,3858 -#define LE_R1_OFL 129,3902 -#define LE_R1_CRC 130,3947 -#define LE_R1_BUF 131,3987 -#define LE_R1_SOP 132,4030 -#define LE_R1_EOP 133,4076 -#define LE_R1_POK 134,4120 -#define LE_T1_OWN 141,4215 -#define LE_T1_ERR 142,4271 -#define LE_T1_RES 143,4307 -#define LE_T1_EMORE 145,4385 -#define LE_T1_EONE 146,4444 -#define LE_T1_EDEF 147,4492 -#define LE_T1_SOP 148,4532 -#define LE_T1_EOP 149,4578 -#define LE_T1_POK 150,4622 -#define LE_T3_BUF 157,4708 -#define LE_T3_UFL 158,4754 -#define LE_T3_LCOL 159,4803 -#define LE_T3_CLOS 160,4852 -#define LE_T3_RTY 161,4902 -#define LE_T3_TDR 162,4947 -#define A2065_LANCE 169,5051 -#define A2065_RAM 171,5080 -#define A2065_RAM_SIZE 172,5106 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/macmace.c,1049 -#define N_TX_RING 34,1001 -#define N_RX_RING 35,1021 -#define N_RX_PAGES 36,1041 -#define TX_TIMEOUT 37,1111 -#define TX_DMA_ERR 40,1168 -#define MACE_BASE 44,1246 -#define MACE_PROM 45,1285 -struct mace_data mace_data47,1325 -struct mace_frame mace_frame59,1627 -#define PRIV_BYTES 70,1763 -static int bitrev(86,2472 -static void mace_load_rxdma_base(101,2669 -static void mace_rxdma_reset(116,3066 -static void mace_txdma_reset(143,3706 -static void mace_dma_off(165,4116 -struct net_device *mace_probe(183,4670 -static int mace_set_address(262,6436 -static int mace_open(294,7066 -static int mace_close(397,9590 -static int mace_xmit_start(419,10050 -static struct net_device_stats *mace_stats(451,10794 -static void mace_set_multicast(457,10940 -static void mace_handle_misc_intrs(505,11976 -static void mace_xmit_error(540,12760 -static void mace_recv_interrupt(566,13250 -static irqreturn_t mace_interrupt(576,13451 -static void mace_tx_timeout(595,13863 -static void mace_dma_rx_frame(605,14062 -static irqreturn_t mace_dma_intr(648,14989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/via-velocity.h,25621 -#define VELOCITY_H26,740 -#define VELOCITY_TX_CSUM_SUPPORT28,760 -#define VELOCITY_NAME 30,794 -#define VELOCITY_FULL_DRV_NAM 31,840 -#define VELOCITY_VERSION 32,936 -#define PKT_BUF_SZ 34,975 -#define MAX_UNITS 36,1009 -#define OPTION_DEFAULT 37,1039 -#define REV_ID_VT6110 39,1096 -#define BYTE_REG_BITS_ON(BYTE_REG_BITS_ON41,1129 -#define WORD_REG_BITS_ON(WORD_REG_BITS_ON42,1209 -#define DWORD_REG_BITS_ON(DWORD_REG_BITS_ON43,1289 -#define BYTE_REG_BITS_IS_ON(BYTE_REG_BITS_IS_ON45,1370 -#define WORD_REG_BITS_IS_ON(WORD_REG_BITS_IS_ON46,1425 -#define DWORD_REG_BITS_IS_ON(DWORD_REG_BITS_IS_ON47,1480 -#define BYTE_REG_BITS_OFF(BYTE_REG_BITS_OFF49,1536 -#define WORD_REG_BITS_OFF(WORD_REG_BITS_OFF50,1621 -#define DWORD_REG_BITS_OFF(DWORD_REG_BITS_OFF51,1706 -#define BYTE_REG_BITS_SET(BYTE_REG_BITS_SET53,1792 -#define WORD_REG_BITS_SET(WORD_REG_BITS_SET54,1885 -#define DWORD_REG_BITS_SET(DWORD_REG_BITS_SET55,1978 -#define VAR_USED(VAR_USED57,2072 -#define B_OWNED_BY_CHIP 64,2180 -#define B_OWNED_BY_HOST 65,2210 -#define RSR_DETAG 71,2278 -#define RSR_SNTAG 72,2312 -#define RSR_RXER 73,2346 -#define RSR_RL 74,2380 -#define RSR_CE 75,2414 -#define RSR_FAE 76,2448 -#define RSR_CRC 77,2482 -#define RSR_VIDM 78,2516 -#define RSR_RXOK 84,2588 -#define RSR_PFT 85,2631 -#define RSR_MAR 86,2700 -#define RSR_BAR 87,2773 -#define RSR_PHY 88,2846 -#define RSR_VTAG 89,2918 -#define RSR_STP 90,2990 -#define RSR_EDP 91,3043 -#define RSR1_RXOK 97,3132 -#define RSR1_PFT 98,3174 -#define RSR1_MAR 99,3242 -#define RSR1_BAR 100,3314 -#define RSR1_PHY 101,3386 -#define RSR1_VTAG 102,3457 -#define RSR1_STP 103,3528 -#define RSR1_EDP 104,3580 -#define CSM_IPOK 110,3667 -#define CSM_TUPOK 111,3729 -#define CSM_FRAG 112,3796 -#define CSM_IPKT 113,3852 -#define CSM_TCPKT 114,3909 -#define CSM_UDPKT 115,3966 -#define TSR0_ABT 121,4061 -#define TSR0_OWT 122,4139 -#define TSR0_OWC 123,4198 -#define TSR0_COLS 124,4260 -#define TSR0_NCR3 125,4342 -#define TSR0_NCR2 126,4407 -#define TSR0_NCR1 127,4472 -#define TSR0_NCR0 128,4537 -#define TSR0_TERR 129,4602 -#define TSR0_FDX 130,4640 -#define TSR0_GMII 131,4730 -#define TSR0_LNKFL 132,4813 -#define TSR0_SHDN 133,4884 -#define TSR0_CRS 134,4936 -#define TSR0_CDH 135,4993 -#define TSR1_TERR 141,5098 -#define TSR1_FDX 142,5134 -#define TSR1_GMII 143,5222 -#define TSR1_LNKFL 144,5303 -#define TSR1_SHDN 145,5372 -#define TSR1_CRS 146,5422 -#define TSR1_CDH 147,5477 -#define TCR0_TIC 152,5578 -#define TCR0_PIC 153,5683 -#define TCR0_VETAG 154,5793 -#define TCR0_IPCK 155,5845 -#define TCR0_UDPCK 156,5915 -#define TCR0_TCPCK 157,5985 -#define TCR0_JMBO 158,6055 -#define TCR0_CRC 159,6128 -#define TCPLS_NORMAL 161,6188 -#define TCPLS_START 162,6218 -#define TCPLS_END 163,6248 -#define TCPLS_MED 164,6278 -#define CB_RX_BUF_SIZE 168,6349 -#define CB_MAX_RD_NUM 171,6439 -#define CB_MAX_TD_NUM 172,6486 -#define CB_INIT_RD_NUM_3119 174,6534 -#define CB_INIT_TD_NUM_3119 175,6600 -#define CB_INIT_RD_NUM 177,6666 -#define CB_INIT_TD_NUM 178,6733 -#define CB_TD_RING_NUM 181,6812 -#define CB_MAX_SEG_PER_PKT 182,6860 -#define CB_MAX_TX_ABORT_RETRY 191,7054 -struct rdesc0 rdesc0197,7119 -struct rdesc1 rdesc1204,7275 -struct rx_desc rx_desc210,7326 -struct tdesc0 tdesc0223,7621 -struct pqinf pqinf230,7779 -struct tdesc1 tdesc1236,7897 -struct td_buf td_buf244,8017 -struct tx_desc tx_desc252,8142 -struct velocity_rd_info velocity_rd_info258,8235 -static inline struct velocity_rd_info *alloc_rd_info(271,8521 -struct velocity_td_info velocity_td_info286,8830 - OWNED_BY_HOST 295,8959 - OWNED_BY_NIC 296,8979 -#define MCAM_SIZE 305,9055 -#define VCAM_SIZE 306,9086 -#define TX_QUEUE_NO 307,9117 -#define MAX_HW_MIB_COUNTER 309,9148 -#define VELOCITY_MIN_MTU 310,9179 -#define VELOCITY_MAX_MTU 311,9217 -#define MAC_REG_PAR 317,9285 -#define MAC_REG_RCR 318,9338 -#define MAC_REG_TCR 319,9371 -#define MAC_REG_CR0_SET 320,9404 -#define MAC_REG_CR1_SET 321,9437 -#define MAC_REG_CR2_SET 322,9470 -#define MAC_REG_CR3_SET 323,9503 -#define MAC_REG_CR0_CLR 324,9536 -#define MAC_REG_CR1_CLR 325,9569 -#define MAC_REG_CR2_CLR 326,9602 -#define MAC_REG_CR3_CLR 327,9635 -#define MAC_REG_MAR 328,9668 -#define MAC_REG_CAM 329,9701 -#define MAC_REG_DEC_BASE_HI 330,9734 -#define MAC_REG_DBF_BASE_HI 331,9767 -#define MAC_REG_ISR_CTL 332,9800 -#define MAC_REG_ISR_HOTMR 333,9833 -#define MAC_REG_ISR_TSUPTHR 334,9866 -#define MAC_REG_ISR_RSUPTHR 335,9899 -#define MAC_REG_ISR_CTL1 336,9932 -#define MAC_REG_TXE_SR 337,9965 -#define MAC_REG_RXE_SR 338,9998 -#define MAC_REG_ISR 339,10031 -#define MAC_REG_ISR0 340,10064 -#define MAC_REG_ISR1 341,10097 -#define MAC_REG_ISR2 342,10130 -#define MAC_REG_ISR3 343,10163 -#define MAC_REG_IMR 344,10196 -#define MAC_REG_IMR0 345,10229 -#define MAC_REG_IMR1 346,10262 -#define MAC_REG_IMR2 347,10295 -#define MAC_REG_IMR3 348,10328 -#define MAC_REG_TDCSR_SET 349,10361 -#define MAC_REG_RDCSR_SET 350,10394 -#define MAC_REG_TDCSR_CLR 351,10427 -#define MAC_REG_RDCSR_CLR 352,10460 -#define MAC_REG_RDBASE_LO 353,10493 -#define MAC_REG_RDINDX 354,10526 -#define MAC_REG_TDBASE_LO 355,10559 -#define MAC_REG_RDCSIZE 356,10592 -#define MAC_REG_TDCSIZE 357,10625 -#define MAC_REG_TDINDX 358,10658 -#define MAC_REG_TDIDX0 359,10691 -#define MAC_REG_TDIDX1 360,10724 -#define MAC_REG_TDIDX2 361,10757 -#define MAC_REG_TDIDX3 362,10790 -#define MAC_REG_PAUSE_TIMER 363,10823 -#define MAC_REG_RBRDU 364,10856 -#define MAC_REG_FIFO_TEST0 365,10889 -#define MAC_REG_FIFO_TEST1 366,10922 -#define MAC_REG_CAMADDR 367,10955 -#define MAC_REG_CAMCR 368,10988 -#define MAC_REG_GFTEST 369,11021 -#define MAC_REG_FTSTCMD 370,11054 -#define MAC_REG_MIICFG 371,11087 -#define MAC_REG_MIISR 372,11120 -#define MAC_REG_PHYSR0 373,11153 -#define MAC_REG_PHYSR1 374,11186 -#define MAC_REG_MIICR 375,11219 -#define MAC_REG_MIIADR 376,11252 -#define MAC_REG_MIIDATA 377,11285 -#define MAC_REG_SOFT_TIMER0 378,11318 -#define MAC_REG_SOFT_TIMER1 379,11351 -#define MAC_REG_CFGA 380,11384 -#define MAC_REG_CFGB 381,11417 -#define MAC_REG_CFGC 382,11450 -#define MAC_REG_CFGD 383,11483 -#define MAC_REG_DCFG0 384,11516 -#define MAC_REG_DCFG1 385,11549 -#define MAC_REG_MCFG0 386,11582 -#define MAC_REG_MCFG1 387,11615 -#define MAC_REG_TBIST 389,11649 -#define MAC_REG_RBIST 390,11682 -#define MAC_REG_PMCC 391,11715 -#define MAC_REG_STICKHW 392,11748 -#define MAC_REG_MIBCR 393,11781 -#define MAC_REG_EERSV 394,11814 -#define MAC_REG_REVID 395,11847 -#define MAC_REG_MIBREAD 396,11880 -#define MAC_REG_BPMA 397,11913 -#define MAC_REG_EEWR_DATA 398,11946 -#define MAC_REG_BPMD_WR 399,11979 -#define MAC_REG_BPCMD 400,12012 -#define MAC_REG_BPMD_RD 401,12045 -#define MAC_REG_EECHKSUM 402,12078 -#define MAC_REG_EECSR 403,12111 -#define MAC_REG_EERD_DATA 404,12144 -#define MAC_REG_EADDR 405,12177 -#define MAC_REG_EMBCMD 406,12210 -#define MAC_REG_JMPSR0 407,12243 -#define MAC_REG_JMPSR1 408,12276 -#define MAC_REG_JMPSR2 409,12309 -#define MAC_REG_JMPSR3 410,12342 -#define MAC_REG_CHIPGSR 411,12375 -#define MAC_REG_TESTCFG 412,12408 -#define MAC_REG_DEBUG 413,12441 -#define MAC_REG_CHIPGCR 414,12474 -#define MAC_REG_WOLCR0_SET 415,12507 -#define MAC_REG_WOLCR1_SET 416,12540 -#define MAC_REG_PWCFG_SET 417,12573 -#define MAC_REG_WOLCFG_SET 418,12606 -#define MAC_REG_WOLCR0_CLR 419,12639 -#define MAC_REG_WOLCR1_CLR 420,12672 -#define MAC_REG_PWCFG_CLR 421,12705 -#define MAC_REG_WOLCFG_CLR 422,12738 -#define MAC_REG_WOLSR0_SET 423,12771 -#define MAC_REG_WOLSR1_SET 424,12804 -#define MAC_REG_WOLSR0_CLR 425,12837 -#define MAC_REG_WOLSR1_CLR 426,12870 -#define MAC_REG_PATRN_CRC0 427,12903 -#define MAC_REG_PATRN_CRC1 428,12936 -#define MAC_REG_PATRN_CRC2 429,12969 -#define MAC_REG_PATRN_CRC3 430,13002 -#define MAC_REG_PATRN_CRC4 431,13035 -#define MAC_REG_PATRN_CRC5 432,13068 -#define MAC_REG_PATRN_CRC6 433,13101 -#define MAC_REG_PATRN_CRC7 434,13134 -#define MAC_REG_BYTEMSK0_0 435,13167 -#define MAC_REG_BYTEMSK0_1 436,13200 -#define MAC_REG_BYTEMSK0_2 437,13233 -#define MAC_REG_BYTEMSK0_3 438,13266 -#define MAC_REG_BYTEMSK1_0 439,13299 -#define MAC_REG_BYTEMSK1_1 440,13332 -#define MAC_REG_BYTEMSK1_2 441,13365 -#define MAC_REG_BYTEMSK1_3 442,13398 -#define MAC_REG_BYTEMSK2_0 443,13431 -#define MAC_REG_BYTEMSK2_1 444,13464 -#define MAC_REG_BYTEMSK2_2 445,13497 -#define MAC_REG_BYTEMSK2_3 446,13530 -#define MAC_REG_BYTEMSK3_0 447,13563 -#define MAC_REG_BYTEMSK3_1 448,13596 -#define MAC_REG_BYTEMSK3_2 449,13629 -#define MAC_REG_BYTEMSK3_3 450,13662 -#define RCR_AS 456,13732 -#define RCR_AP 457,13765 -#define RCR_AL 458,13798 -#define RCR_PROM 459,13831 -#define RCR_AB 460,13864 -#define RCR_AM 461,13897 -#define RCR_AR 462,13930 -#define RCR_SEP 463,13963 -#define TCR_TB2BDIS 469,14033 -#define TCR_COLTMC1 470,14066 -#define TCR_COLTMC0 471,14099 -#define TCR_LB1 472,14132 -#define TCR_LB0 473,14183 -#define CR0_TXON 479,14271 -#define CR0_RXON 480,14312 -#define CR0_STOP 481,14353 -#define CR0_STRT 482,14422 -#define CR0_SFRST 483,14479 -#define CR0_TM1EN 484,14541 -#define CR0_TM0EN 485,14582 -#define CR0_DPOLL 486,14623 -#define CR0_DISAU 487,14697 -#define CR0_XONEN 488,14738 -#define CR0_FDXTFCEN 489,14779 -#define CR0_FDXRFCEN 490,14861 -#define CR0_HDXFCEN 491,14943 -#define CR0_XHITH1 492,15022 -#define CR0_XHITH0 493,15093 -#define CR0_XLTH1 494,15164 -#define CR0_XLTH0 495,15242 -#define CR0_GSPRST 496,15320 -#define CR0_FORSRST 497,15361 -#define CR0_FPHYRST 498,15402 -#define CR0_DIAG 499,15443 -#define CR0_INTPCTL 500,15484 -#define CR0_GINTMSK1 501,15525 -#define CR0_GINTMSK0 502,15566 -#define CR1_SFRST 508,15644 -#define CR1_TM1EN 509,15698 -#define CR1_TM0EN 510,15731 -#define CR1_DPOLL 511,15764 -#define CR1_DISAU 512,15830 -#define CR2_XONEN 518,15900 -#define CR2_FDXTFCEN 519,15933 -#define CR2_FDXRFCEN 520,16007 -#define CR2_HDXFCEN 521,16081 -#define CR2_XHITH1 522,16152 -#define CR2_XHITH0 523,16215 -#define CR2_XLTH1 524,16278 -#define CR2_XLTH0 525,16348 -#define CR3_GSPRST 531,16455 -#define CR3_FORSRST 532,16488 -#define CR3_FPHYRST 533,16521 -#define CR3_DIAG 534,16554 -#define CR3_INTPCTL 535,16587 -#define CR3_GINTMSK1 536,16620 -#define CR3_GINTMSK0 537,16653 -#define ISRCTL_UDPINT 539,16687 -#define ISRCTL_TSUPDIS 540,16722 -#define ISRCTL_RSUPDIS 541,16757 -#define ISRCTL_PMSK1 542,16792 -#define ISRCTL_PMSK0 543,16827 -#define ISRCTL_INTPD 544,16862 -#define ISRCTL_HCRLD 545,16897 -#define ISRCTL_SCRLD 546,16932 -#define ISRCTL1_UDPINT 552,17009 -#define ISRCTL1_TSUPDIS 553,17042 -#define ISRCTL1_RSUPDIS 554,17075 -#define ISRCTL1_PMSK1 555,17108 -#define ISRCTL1_PMSK0 556,17141 -#define ISRCTL1_INTPD 557,17174 -#define ISRCTL1_HCRLD 558,17207 -#define ISRCTL1_SCRLD 559,17240 -#define TXESR_TFDBS 565,17313 -#define TXESR_TDWBS 566,17346 -#define TXESR_TDRBS 567,17379 -#define TXESR_TDSTR 568,17412 -#define RXESR_RFDBS 574,17485 -#define RXESR_RDWBS 575,17518 -#define RXESR_RDRBS 576,17551 -#define RXESR_RDSTR 577,17584 -#define ISR_ISR3 583,17654 -#define ISR_ISR2 584,17695 -#define ISR_ISR1 585,17736 -#define ISR_ISR0 586,17777 -#define ISR_TXSTLI 587,17818 -#define ISR_RXSTLI 588,17859 -#define ISR_HFLD 589,17900 -#define ISR_UDPI 590,17941 -#define ISR_MIBFI 591,17982 -#define ISR_SHDNI 592,18023 -#define ISR_PHYI 593,18064 -#define ISR_PWEI 594,18105 -#define ISR_TMR1I 595,18146 -#define ISR_TMR0I 596,18187 -#define ISR_SRCI 597,18228 -#define ISR_LSTPEI 598,18269 -#define ISR_LSTEI 599,18310 -#define ISR_OVFI 600,18351 -#define ISR_FLONI 601,18392 -#define ISR_RACEI 602,18433 -#define ISR_TXWB1I 603,18474 -#define ISR_TXWB0I 604,18515 -#define ISR_PTX3I 605,18556 -#define ISR_PTX2I 606,18597 -#define ISR_PTX1I 607,18638 -#define ISR_PTX0I 608,18679 -#define ISR_PTXI 609,18720 -#define ISR_PRXI 610,18761 -#define ISR_PPTXI 611,18802 -#define ISR_PPRXI 612,18843 -#define IMR_TXSTLM 618,18921 -#define IMR_UDPIM 619,18962 -#define IMR_MIBFIM 620,19003 -#define IMR_SHDNIM 621,19044 -#define IMR_PHYIM 622,19085 -#define IMR_PWEIM 623,19126 -#define IMR_TMR1IM 624,19167 -#define IMR_TMR0IM 625,19208 -#define IMR_SRCIM 627,19250 -#define IMR_LSTPEIM 628,19291 -#define IMR_LSTEIM 629,19332 -#define IMR_OVFIM 630,19373 -#define IMR_FLONIM 631,19414 -#define IMR_RACEIM 632,19455 -#define IMR_TXWB1IM 633,19496 -#define IMR_TXWB0IM 634,19537 -#define IMR_PTX3IM 636,19579 -#define IMR_PTX2IM 637,19620 -#define IMR_PTX1IM 638,19661 -#define IMR_PTX0IM 639,19702 -#define IMR_PTXIM 640,19743 -#define IMR_PRXIM 641,19784 -#define IMR_PPTXIM 642,19825 -#define IMR_PPRXIM 643,19866 -#define INT_MASK_DEF 647,19953 -#define TRDCSR_DEAD 656,20308 -#define TRDCSR_WAK 657,20343 -#define TRDCSR_ACT 658,20378 -#define TRDCSR_RUN 659,20413 -#define CAMADDR_CAMEN 665,20484 -#define CAMADDR_VCAMSL 666,20517 -#define CAMCR_PS1 672,20589 -#define CAMCR_PS0 673,20622 -#define CAMCR_AITRPKT 674,20655 -#define CAMCR_AITR16 675,20688 -#define CAMCR_CAMRD 676,20721 -#define CAMCR_CAMWR 677,20754 -#define CAMCR_PS_CAM_MASK 678,20787 -#define CAMCR_PS_CAM_DATA 679,20820 -#define CAMCR_PS_MAR 680,20853 -#define MIICFG_MPO1 686,20926 -#define MIICFG_MPO0 687,20959 -#define MIICFG_MFDC 688,20992 -#define MIISR_MIDLE 694,21064 -#define PHYSR0_PHYRST 700,21138 -#define PHYSR0_LINKGD 701,21171 -#define PHYSR0_FDPX 702,21204 -#define PHYSR0_SPDG 703,21237 -#define PHYSR0_SPD10 704,21270 -#define PHYSR0_RXFLC 705,21303 -#define PHYSR0_TXFLC 706,21336 -#define PHYSR1_PHYTBI 712,21409 -#define MIICR_MAUTO 718,21481 -#define MIICR_RCMD 719,21514 -#define MIICR_WCMD 720,21547 -#define MIICR_MDPM 721,21580 -#define MIICR_MOUT 722,21613 -#define MIICR_MDO 723,21646 -#define MIICR_MDI 724,21679 -#define MIICR_MDC 725,21712 -#define MIIADR_SWMPL 731,21785 -#define CFGA_PMHCTG 737,21856 -#define CFGA_GPIO1PD 738,21889 -#define CFGA_ABSHDN 739,21922 -#define CFGA_PACPI 740,21955 -#define CFGB_GTCKOPT 746,22026 -#define CFGB_MIIOPT 747,22059 -#define CFGB_CRSEOPT 748,22092 -#define CFGB_OFSET 749,22125 -#define CFGB_CRANDOM 750,22158 -#define CFGB_CAP 751,22191 -#define CFGB_MBA 752,22224 -#define CFGB_BAKOPT 753,22257 -#define CFGC_EELOAD 759,22328 -#define CFGC_BROPT 760,22361 -#define CFGC_DLYEN 761,22394 -#define CFGC_DTSEL 762,22427 -#define CFGC_BTSEL 763,22460 -#define CFGC_BPS2 764,22493 -#define CFGC_BPS1 765,22550 -#define CFGC_BPS0 766,22607 -#define CFGD_IODIS 772,22702 -#define CFGD_MSLVDACEN 773,22735 -#define CFGD_CFGDACEN 774,22768 -#define CFGD_PCI64EN 775,22801 -#define CFGD_HTMRL4 776,22834 -#define DCFG_XMWI 782,22906 -#define DCFG_XMRM 783,22941 -#define DCFG_XMRL 784,22976 -#define DCFG_PERDIS 785,23011 -#define DCFG_MRWAIT 786,23046 -#define DCFG_MWWAIT 787,23081 -#define DCFG_LATMEN 788,23116 -#define MCFG_RXARB 794,23190 -#define MCFG_RFT1 795,23225 -#define MCFG_RFT0 796,23260 -#define MCFG_LOWTHOPT 797,23295 -#define MCFG_PQEN 798,23330 -#define MCFG_RTGOPT 799,23365 -#define MCFG_VIDFR 800,23400 -#define MCFG_TXARB 806,23474 -#define MCFG_TXQBK1 807,23509 -#define MCFG_TXQBK0 808,23544 -#define MCFG_TXQNOBK 809,23579 -#define MCFG_SNAPOPT 810,23614 -#define PMCC_DSI 816,23688 -#define PMCC_D2_DIS 817,23721 -#define PMCC_D1_DIS 818,23754 -#define PMCC_D3C_EN 819,23787 -#define PMCC_D3H_EN 820,23820 -#define PMCC_D2_EN 821,23853 -#define PMCC_D1_EN 822,23886 -#define PMCC_D0_EN 823,23919 -#define STICKHW_SWPTAG 829,23980 -#define STICKHW_WOLSR 830,24013 -#define STICKHW_WOLEN 831,24046 -#define STICKHW_DS1 832,24079 -#define STICKHW_DS0 833,24144 -#define MIBCR_MIBISTOK 839,24249 -#define MIBCR_MIBISTGO 840,24282 -#define MIBCR_MIBINC 841,24315 -#define MIBCR_MIBHI 842,24348 -#define MIBCR_MIBFRZ 843,24381 -#define MIBCR_MIBFLSH 844,24414 -#define MIBCR_MPTRINI 845,24447 -#define MIBCR_MIBCLR 846,24480 -#define EERSV_BOOT_RPL 852,24552 -#define EERSV_BOOT_MASK 854,24633 -#define EERSV_BOOT_INT19 855,24673 -#define EERSV_BOOT_INT18 856,24713 -#define EERSV_BOOT_LOCAL 857,24753 -#define EERSV_BOOT_BEV 858,24793 -#define BPCMD_BPDNE 865,24860 -#define BPCMD_EBPWR 866,24893 -#define BPCMD_EBPRD 867,24926 -#define EECSR_EMBP 873,24998 -#define EECSR_RELOAD 874,25064 -#define EECSR_DPM 875,25125 -#define EECSR_ECS 876,25190 -#define EECSR_ECK 877,25243 -#define EECSR_EDI 878,25296 -#define EECSR_EDO 879,25349 -#define EMBCMD_EDONE 885,25442 -#define EMBCMD_EWDIS 886,25475 -#define EMBCMD_EWEN 887,25508 -#define EMBCMD_EWR 888,25541 -#define EMBCMD_ERD 889,25574 -#define TESTCFG_HBDIS 895,25644 -#define CHIPGCR_FCGMII 901,25714 -#define CHIPGCR_FCFDX 902,25747 -#define CHIPGCR_FCRESV 903,25780 -#define CHIPGCR_FCMODE 904,25813 -#define CHIPGCR_LPSOPT 905,25846 -#define CHIPGCR_TM1US 906,25879 -#define CHIPGCR_TM0US 907,25912 -#define CHIPGCR_PHYINTEN 908,25945 -#define WOLCR_MSWOLEN7 914,26005 -#define WOLCR_MSWOLEN6 915,26077 -#define WOLCR_MSWOLEN5 916,26112 -#define WOLCR_MSWOLEN4 917,26147 -#define WOLCR_MSWOLEN3 918,26182 -#define WOLCR_MSWOLEN2 919,26217 -#define WOLCR_MSWOLEN1 920,26252 -#define WOLCR_MSWOLEN0 921,26287 -#define WOLCR_ARP_EN 922,26322 -#define WOLCR_LINKOFF_EN 928,26384 -#define WOLCR_LINKON_EN 929,26452 -#define WOLCR_MAGIC_EN 930,26519 -#define WOLCR_UNICAST_EN 931,26589 -#define PWCFG_PHYPWOPT 938,26681 -#define PWCFG_PCISTICK 939,26748 -#define PWCFG_WOLTYPE 940,26813 -#define PWCFG_LEGCY_WOL 941,26879 -#define PWCFG_PMCSR_PME_SR 942,26916 -#define PWCFG_PMCSR_PME_EN 943,26953 -#define PWCFG_LEGACY_WOLSR 944,27016 -#define PWCFG_LEGACY_WOLEN 945,27080 -#define WOLCFG_PMEOVR 951,27171 -#define WOLCFG_SAM 952,27249 -#define WOLCFG_SAB 953,27331 -#define WOLCFG_SMIIACC 954,27413 -#define WOLCFG_SGENWH 955,27459 -#define WOLCFG_PHYINTEN 956,27496 -#define WOLSR_LINKOFF_INT 962,27640 -#define WOLSR_LINKON_INT 963,27678 -#define WOLSR_MAGIC_INT 964,27716 -#define WOLSR_UNICAST_INT 965,27754 -#define PKT_TYPE_NONE 971,27833 -#define PKT_TYPE_DIRECTED 972,27900 -#define PKT_TYPE_MULTICAST 973,27995 -#define PKT_TYPE_ALL_MULTICAST 974,28038 -#define PKT_TYPE_BROADCAST 975,28081 -#define PKT_TYPE_PROMISCUOUS 976,28124 -#define PKT_TYPE_LONG 977,28167 -#define PKT_TYPE_RUNT 978,28275 -#define PKT_TYPE_ERROR 979,28318 -#define MAC_LB_NONE 985,28430 -#define MAC_LB_INTERNAL 986,28463 -#define MAC_LB_EXTERNAL 987,28496 -#define IMR_MASK_VALUE 994,28585 -#define IMR_MASK_VALUE 998,28704 -#define REV_ID_VT3119_A0 1011,29036 -#define REV_ID_VT3119_A1 1012,29066 -#define REV_ID_VT3216_A0 1013,29096 -#define W_MAX_TIMEOUT 1019,29162 -struct mac_regs mac_regs1027,29328 -enum hw_mib hw_mib1151,31930 - HW_MIB_ifRxAllPkts 1152,31944 - HW_MIB_ifRxOkPkts,1153,31969 - HW_MIB_ifTxOkPkts,1154,31989 - HW_MIB_ifRxErrorPkts,1155,32009 - HW_MIB_ifRxRuntOkPkt,1156,32032 - HW_MIB_ifRxRuntErrPkt,1157,32055 - HW_MIB_ifRx64Pkts,1158,32079 - HW_MIB_ifTx64Pkts,1159,32099 - HW_MIB_ifRx65To127Pkts,1160,32119 - HW_MIB_ifTx65To127Pkts,1161,32144 - HW_MIB_ifRx128To255Pkts,1162,32169 - HW_MIB_ifTx128To255Pkts,1163,32195 - HW_MIB_ifRx256To511Pkts,1164,32221 - HW_MIB_ifTx256To511Pkts,1165,32247 - HW_MIB_ifRx512To1023Pkts,1166,32273 - HW_MIB_ifTx512To1023Pkts,1167,32300 - HW_MIB_ifRx1024To1518Pkts,1168,32327 - HW_MIB_ifTx1024To1518Pkts,1169,32355 - HW_MIB_ifTxEtherCollisions,1170,32383 - HW_MIB_ifRxPktCRCE,1171,32412 - HW_MIB_ifRxJumboPkts,1172,32433 - HW_MIB_ifTxJumboPkts,1173,32456 - HW_MIB_ifRxMacControlFrames,1174,32479 - HW_MIB_ifTxMacControlFrames,1175,32509 - HW_MIB_ifRxPktFAE,1176,32539 - HW_MIB_ifRxLongOkPkt,1177,32559 - HW_MIB_ifRxLongPktErrPkt,1178,32582 - HW_MIB_ifTXSQEErrors,1179,32609 - HW_MIB_ifRxNobuf,1180,32632 - HW_MIB_ifRxSymbolErrors,1181,32651 - HW_MIB_ifInRangeLengthErrors,1182,32677 - HW_MIB_ifLateCollisions,1183,32708 - HW_MIB_SIZE1184,32734 -enum chip_type chip_type1187,32751 - CHIP_TYPE_VT6110 1188,32768 -struct velocity_info_tbl velocity_info_tbl1191,32795 -#define mac_hw_mibs_init(mac_hw_mibs_init1199,32904 -#define mac_read_isr(mac_read_isr1207,33166 -#define mac_write_isr(mac_write_isr1208,33218 -#define mac_clear_isr(mac_clear_isr1209,33278 -#define mac_write_int_mask(mac_write_int_mask1211,33344 -#define mac_disable_int(mac_disable_int1212,33415 -#define mac_enable_int(mac_enable_int1213,33491 -#define mac_hw_mibs_read(mac_hw_mibs_read1215,33564 -#define mac_set_dma_length(mac_set_dma_length1223,33744 -#define mac_set_rx_thresh(mac_set_rx_thresh1227,33833 -#define mac_rx_queue_run(mac_rx_queue_run1231,33938 -#define mac_rx_queue_wake(mac_rx_queue_wake1235,34018 -#define mac_tx_queue_run(mac_tx_queue_run1239,34099 -#define mac_tx_queue_wake(mac_tx_queue_wake1243,34190 -#define mac_eeprom_reload(mac_eeprom_reload1247,34280 -enum velocity_cam_type velocity_cam_type1258,34502 - VELOCITY_VLAN_ID_CAM 1259,34527 - VELOCITY_MULTICAST_CAM1260,34554 -static inline void mac_get_cam_mask(1273,34825 -static inline void mac_set_cam_mask(1305,35558 -static inline void mac_set_cam(1336,36334 -static inline void mac_get_cam(1378,37397 -inline static void mac_wol_reset(1417,38436 -typedef u8 MCAM_ADDR[MCAM_ADDR1440,39069 -struct arp_packet arp_packet1442,39102 -struct _magic_packet _magic_packet1457,39349 -struct velocity_context velocity_context1470,39598 -#define MII_REG_BMCR 1489,39832 -#define MII_REG_BMSR 1490,39885 -#define MII_REG_PHYID1 1491,39921 -#define MII_REG_PHYID2 1492,39961 -#define MII_REG_ANAR 1493,40022 -#define MII_REG_ANLPAR 1494,40058 -#define MII_REG_G1000CR 1495,40094 -#define MII_REG_G1000SR 1496,40130 -#define MII_REG_MODCFG 1497,40166 -#define MII_REG_TCSR 1498,40202 -#define MII_REG_PLED 1499,40238 -#define MII_REG_PCR 1501,40292 -#define MII_REG_PCSR 1503,40340 -#define MII_REG_AUXCR 1504,40376 -#define MII_REG_PSCR 1507,40441 -#define BMCR_RESET 1512,40543 -#define BMCR_LBK 1513,40581 -#define BMCR_SPEED100 1514,40619 -#define BMCR_AUTO 1515,40657 -#define BMCR_PD 1516,40695 -#define BMCR_ISO 1517,40733 -#define BMCR_REAUTO 1518,40771 -#define BMCR_FDX 1519,40809 -#define BMCR_SPEED1G 1520,40847 -#define BMSR_AUTOCM 1524,40920 -#define BMSR_LNK 1525,40958 -#define ANAR_ASMDIR 1530,41032 -#define ANAR_PAUSE 1531,41095 -#define ANAR_T4 1532,41157 -#define ANAR_TXFD 1533,41195 -#define ANAR_TX 1534,41233 -#define ANAR_10FD 1535,41271 -#define ANAR_10 1536,41309 -#define ANLPAR_ASMDIR 1540,41384 -#define ANLPAR_PAUSE 1541,41447 -#define ANLPAR_T4 1542,41509 -#define ANLPAR_TXFD 1543,41547 -#define ANLPAR_TX 1544,41585 -#define ANLPAR_10FD 1545,41623 -#define ANLPAR_10 1546,41661 -#define G1000CR_1000FD 1551,41738 -#define G1000CR_1000 1552,41810 -#define G1000SR_1000FD 1557,41921 -#define G1000SR_1000 1558,41996 -#define TCSR_ECHODIS 1560,42072 -#define AUXCR_MDPPS 1561,42110 -#define PLED_LALBE 1564,42178 -#define PSCR_ACRSTX 1567,42286 -#define PHYID_CICADA_CS8201 1569,42348 -#define PHYID_VT3216_32BIT 1570,42389 -#define PHYID_VT3216_64BIT 1571,42430 -#define PHYID_MARVELL_1000 1572,42471 -#define PHYID_MARVELL_1000S 1573,42512 -#define PHYID_REV_ID_MASK 1575,42554 -#define PHYID_GET_PHY_REV_ID(PHYID_GET_PHY_REV_ID1577,42596 -#define PHYID_GET_PHY_ID(PHYID_GET_PHY_ID1578,42658 -#define MII_REG_BITS_ON(MII_REG_BITS_ON1580,42722 -#define MII_REG_BITS_OFF(MII_REG_BITS_OFF1587,42875 -#define MII_REG_BITS_IS_ON(MII_REG_BITS_IS_ON1594,43032 -#define MII_GET_PHY_ID(MII_GET_PHY_ID1599,43148 -enum velocity_msg_level velocity_msg_level1610,43353 - MSG_LEVEL_ERR 1611,43379 - MSG_LEVEL_NOTICE 1612,43444 - MSG_LEVEL_INFO 1613,43508 - MSG_LEVEL_VERBOSE 1614,43547 - MSG_LEVEL_DEBUG 1615,43604 -#define ASSERT(ASSERT1619,43677 -#define VELOCITY_DBG(VELOCITY_DBG1626,43825 -#define ASSERT(ASSERT1628,43881 -#define VELOCITY_DBG(VELOCITY_DBG1629,43899 -#define VELOCITY_PRT(VELOCITY_PRT1632,43931 -#define VELOCITY_PRT_CAMMASK(VELOCITY_PRT_CAMMASK1634,44020 -#define VELOCITY_WOL_MAGIC 1649,44288 -#define VELOCITY_WOL_PHY 1650,44344 -#define VELOCITY_WOL_ARP 1651,44400 -#define VELOCITY_WOL_UCAST 1652,44456 -#define VELOCITY_WOL_BCAST 1653,44512 -#define VELOCITY_WOL_MCAST 1654,44568 -#define VELOCITY_WOL_MAGIC_SEC 1655,44624 -#define VELOCITY_FLAGS_TAGGING 1661,44710 -#define VELOCITY_FLAGS_TX_CSUM 1662,44766 -#define VELOCITY_FLAGS_RX_CSUM 1663,44822 -#define VELOCITY_FLAGS_IP_ALIGN 1664,44878 -#define VELOCITY_FLAGS_VAL_PKT_LEN 1665,44934 -#define VELOCITY_FLAGS_FLOW_CTRL 1667,44991 -#define VELOCITY_FLAGS_OPENED 1673,45083 -#define VELOCITY_FLAGS_VMNS_CONNECTED 1674,45139 -#define VELOCITY_FLAGS_VMNS_COMMITTED 1675,45195 -#define VELOCITY_FLAGS_WOL_ENABLED 1676,45251 -#define VELOCITY_LINK_FAIL 1682,45340 -#define VELOCITY_SPEED_10 1683,45396 -#define VELOCITY_SPEED_100 1684,45452 -#define VELOCITY_SPEED_1000 1685,45508 -#define VELOCITY_DUPLEX_FULL 1686,45564 -#define VELOCITY_AUTONEG_ENABLE 1687,45620 -#define VELOCITY_FORCED_BY_EEPROM 1688,45676 -#define VELOCITY_LINK_CHANGE 1694,45774 -enum speed_opt speed_opt1696,45831 - SPD_DPX_AUTO 1697,45848 - SPD_DPX_100_HALF 1698,45867 - SPD_DPX_100_FULL 1699,45890 - SPD_DPX_10_HALF 1700,45913 - SPD_DPX_10_FULL 1701,45935 -enum velocity_init_type velocity_init_type1704,45960 - VELOCITY_INIT_COLD 1705,45986 - VELOCITY_INIT_RESET,1706,46011 - VELOCITY_INIT_WOL1707,46033 -enum velocity_flow_cntl_type velocity_flow_cntl_type1710,46056 - FLOW_CNTL_DEFAULT 1711,46087 - FLOW_CNTL_TX,1712,46111 - FLOW_CNTL_RX,1713,46126 - FLOW_CNTL_TX_RX,1714,46141 - FLOW_CNTL_DISABLE,1715,46159 -struct velocity_opt velocity_opt1718,46183 -struct velocity_info velocity_info1735,46615 -#define AVAIL_TD(AVAIL_TD1762,47039 -#define GET_RD_BY_IDX(GET_RD_BY_IDX1778,47427 -inline static int velocity_get_ip(1818,48161 -static inline void velocity_update_hw_mibs(1844,48868 -static inline void init_flow_control_register(1866,49447 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skaddr.c,923 -static const char SysKonnectFileId[46,1628 -#define __SKADDR_C50,1785 -#define XMAC_POLY 62,1993 -#define GMAC_POLY 63,2063 -#define HASH_BITS 64,2132 -#define SK_MC_BIT 65,2175 -#define SKERR_ADDR_E001 69,2234 -#define SKERR_ADDR_E001MSG 70,2281 -#define SKERR_ADDR_E002 71,2321 -#define SKERR_ADDR_E002MSG 72,2368 -SK_U16 OnesHash[82,2631 -static int Next0[87,2782 -int SkAddrInit(126,3708 -int SkAddrMcClear(329,9763 -int SkAddrXmacMcClear(375,10880 -int SkAddrGmacMcClear(432,12293 -SK_U32 SkXmacMcHash(522,15037 -SK_U32 SkGmacMcHash(560,15766 -int SkAddrMcAdd(627,17112 -int SkAddrXmacMcAdd(675,18241 -int SkAddrGmacMcAdd(781,20893 -int SkAddrMcUpdate(890,24369 -int SkAddrXmacMcUpdate(940,25562 -int SkAddrGmacMcUpdate(1085,29391 -int SkAddrOverride(1207,32727 -int SkAddrPromiscuousChange(1421,39300 -int SkAddrXmacPromiscuousChange(1471,40452 -int SkAddrGmacPromiscuousChange(1588,43595 -int SkAddrSwap(1673,45857 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skge.c,4290 -#define USE_SK_TX_CHECKSUM128,3737 -#define USE_SK_RX_CHECKSUM131,3820 -#define SK_ZEROCOPY134,3907 -#define USE_TX_COMPLETE137,3971 -#define SK_COPY_THRESHOLD 143,4110 -#define SK_MAX_CARD_PARAM 146,4212 -#define DEV_KFREE_SKB(DEV_KFREE_SKB168,4789 -#define DEV_KFREE_SKB_IRQ(DEV_KFREE_SKB_IRQ169,4835 -#define DEV_KFREE_SKB_ANY(DEV_KFREE_SKB_ANY170,4889 -#define OEM_CONFIG_VALUE 174,4965 -#define SkIsrRetVar 180,5087 -#define SkIsrRetNone 181,5119 -#define SkIsrRetHandled 182,5149 -static const char SK_Root_Dir_entry[238,7567 -static struct proc_dir_entry *pSkRootDir;239,7619 -struct SK_NET_DEVICE *SkGeRootDev 255,8130 -static SK_BOOL DoPrintInterfaceChange 256,8172 -static uintptr_t TxQueueAddr[259,8301 -static uintptr_t RxQueueAddr[260,8381 -int SkGeInitPCI(272,8664 -static void FreeResources(334,9838 -static char *Speed_A[385,11775 -static char *Speed_A[387,11835 -static char *Speed_B[391,11913 -static char *Speed_B[393,11973 -static char *AutoNeg_A[397,12049 -static char *AutoNeg_A[399,12111 -static char *DupCap_A[403,12188 -static char *DupCap_A[405,12248 -static char *FlowCtrl_A[409,12326 -static char *FlowCtrl_A[411,12390 -static char *Role_A[415,12465 -static char *Role_A[417,12520 -static char *AutoNeg_B[421,12595 -static char *AutoNeg_B[423,12657 -static char *DupCap_B[427,12734 -static char *DupCap_B[429,12794 -static char *FlowCtrl_B[433,12872 -static char *FlowCtrl_B[435,12936 -static char *Role_B[439,13011 -static char *Role_B[441,13066 -static char *ConType[445,13139 -static char *ConType[447,13197 -static char *PrefPort[451,13272 -static char *PrefPort[453,13332 -static char *RlmtMode[457,13408 -static char *RlmtMode[459,13468 -static int IntsPerSec[462,13527 -static char *Moderation[463,13571 -static char *ModerationMask[464,13615 -static char *AutoSizing[465,13663 -static char *Stats[466,13707 -static int __init SkGeBoardInit(481,14122 -static SK_BOOL BoardAllocMem(628,18340 -static void BoardFreeMem(692,20175 -static void BoardInitMem(722,20995 -static void SetupRing(771,22445 -static void PortReInitBmu(841,24792 -static SkIsrRetVar SkGeIsr(883,26372 -static SkIsrRetVar SkGeIsrOnePort(1032,30825 -static int SkGeOpen(1146,34148 -static int SkGeClose(1267,37553 -static int SkGeXmit(1399,41125 -static int XmitFrame(1474,43093 -static int XmitFrameSG(1625,47718 -static void FreeTxDescriptors(1808,52934 -static void FillRxRing(1880,55149 -static SK_BOOL FillRxDescriptor(1908,55926 -static void ReQueueRxBuffer(1963,57618 -static void ReceiveIrq(2000,58648 -#define XMR_FS_LEN_SHIFT 2076,60982 -#define GMR_FS_LEN_SHIFT 2077,61017 -static void ClearAndStartRx(2382,69547 -static void ClearTxIrq(2402,70057 -static void ClearRxRing(2423,70637 -static void ClearTxRing(2469,72005 -static int SkGeSetMacAddr(2498,72777 -static void SkGeSetRxMode(2544,73987 -static int SkGeChangeMtu(2618,76014 -static struct net_device_stats *SkGeStats(2856,82510 -static int SkGeIoctl(2940,86081 -static int SkGeIocMib(3077,89780 -static void GetConfiguration(3124,91014 -#define DC_BOTH 3158,92445 -#define DC_FULL 3159,92463 -#define DC_HALF 3160,92481 -#define AN_OFF 3161,92499 -#define AN_ON 3162,92516 -#define AN_SENS 3163,92532 -#define M_CurrPort 3164,92550 -static void ProductStr(3842,114572 -StartDrvCleanupTimer(3876,115735 -StopDrvCleanupTimer(3897,116465 -SK_MBUF *SkDrvAllocRlmtMbuf(3921,117202 -void SkDrvFreeRlmtMbuf(3958,118218 -SK_U64 SkOsGetTime(3987,118922 -int SkPciReadCfgDWord(4007,119392 -int SkPciReadCfgWord(4029,119979 -int SkPciReadCfgByte(4051,120560 -int SkPciWriteCfgDWord(4073,121142 -int SkPciWriteCfgWord(4096,121824 -int SkPciWriteCfgByte(4119,122501 -int SkDrvEvent(4144,123096 -void SkErrorLog(4489,133699 -int SkDrvEnterDiagMode(4539,134793 -int SkDrvLeaveDiagMode(4588,136039 -static SK_U32 ParseDeviceNbrFromSlotName(4623,137324 -static int SkDrvDeInitAdapter(4676,138631 -static int SkDrvInitAdapter(4716,139667 -static void DumpMsg(4767,140983 -static void DumpData(4805,141694 -static void DumpLong(4853,142629 -static int __devinit skge_probe_one(4901,143616 -static void __devexit skge_remove_one(5101,148655 -static struct pci_device_id skge_pci_tbl[5154,150053 -static struct pci_driver skge_driver 5172,151020 -static int __init skge_init(5179,151179 -static void __exit skge_exit(5205,151695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skvpd.c,731 -static const char SysKonnectFileId[27,970 -static int VpdWait(54,1589 -SK_U32 VpdReadDWord(106,3192 -static int VpdWriteDWord(160,4469 -static int VpdWriteStream(200,5511 -static int VpdReadStream(295,7754 -static int VpdTransferBlock(334,8629 -int VpdReadBlock(384,9763 -int VpdWriteBlock(399,10166 -static int VpdInit(419,10677 -static SK_VPD_PARA *vpd_find_para(541,13915 -static void vpd_move_para(612,15699 -static void vpd_insert_key(645,16215 -static int vpd_mod_endtag(667,16736 -int VpdSetupPara(731,18280 -SK_VPD_STATUS *VpdStat(824,20642 -int VpdKeys(857,21523 -int VpdRead(943,23445 -SK_BOOL VpdMayWrite(989,24523 -int VpdWrite(1014,25191 -int VpdDelete(1074,26799 -int VpdUpdate(1129,28108 -void VpdErrLog(1163,29107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skgemib.c,84 -#define ID_TABLE_SIZE 85,3842 -PNMI_STATIC const SK_PNMI_TAB_ENTRY IdTable[94,4110 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skqueue.c,175 -static const char SysKonnectFileId[30,1037 -intro(45,1417 -#define PRINTF(PRINTF49,1436 -void SkEventInit(56,1539 -void SkEventQueue(73,1812 -int SkEventDispatcher(100,2511 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skxmac2.c,2233 -typedef struct s_PhyHack s_PhyHack31,1107 -} BCOM_HACK;BCOM_HACK34,1206 -static const char SysKonnectFileId[39,1368 -BCOM_HACK BcomRegA1Hack[44,1510 -BCOM_HACK BcomRegC0Hack[50,1772 -void SkXmPhyRead(86,2924 -void SkXmPhyWrite(125,3877 -void SkGmPhyRead(170,4934 -void SkGmPhyWrite(237,6436 -void SkGePhyRead(308,8002 -void SkGePhyWrite(337,8660 -void SkMacPromiscMode(369,9434 -void SkMacHashing(429,10695 -static void SkXmSetRxCmd(501,12398 -static void SkGmSetRxCmd(586,14462 -void SkMacSetRxCmd(643,15817 -void SkMacCrcGener(670,16358 -void SkXmClrExactAddr(723,17416 -void SkMacFlushTxFifo(757,18304 -static void SkXmHardRst(918,22523 -static void SkXmClearRst(980,23876 -static void SkGmSoftRst(1022,24798 -static void SkGmHardRst(1059,25646 -static void SkGmClearRst(1096,26408 -void SkMacSoftRst(1164,28022 -void SkMacHardRst(1209,28865 -void SkMacClearRst(1243,29481 -void SkXmInitMac(1281,30219 -void SkGmInitMac(1495,36112 -void SkXmInitDupMd(1716,41922 -void SkXmInitPauseMd(1764,43288 -static void SkXmInitPhyXmac(1847,45411 -static void SkXmInitPhyBcom(1941,47729 -int SkGmEnterLowPowerMode(2117,52479 -int SkGmLeaveLowPowerMode(2245,55817 -static void SkGmInitPhyMarv(2367,59013 -static void SkXmInitPhyLone(2739,69095 -static void SkXmInitPhyNat(2864,72336 -void SkMacInitPhy(2886,72837 -static int SkXmAutoNegDoneXmac(2941,74004 -static int SkXmAutoNegDoneBcom(3024,76580 -static int SkGmAutoNegDoneMarv(3127,79541 -static int SkXmAutoNegDoneLone(3235,82763 -static int SkXmAutoNegDoneNat(3341,85755 -int SkMacAutoNegDone(3363,86326 -static void SkXmSetRxTxEn(3434,87732 -static void SkGmSetRxTxEn(3491,89027 -void SkMacSetRxTxEn(3538,90122 -int SkMacRxTxEnable(3572,90770 -void SkMacRxTxDisable(3718,94389 -void SkMacIrqDisable(3761,95338 -void SkXmSendCont(3831,97026 -void SkMacTimeStamp(3862,97651 -void SkXmAutoNegLipaXmac(3908,98658 -void SkMacAutoNegLipaPhy(3938,99534 -void SkXmIrq(3979,100703 -int SkXmUpdateStats(4224,106534 -int SkXmMacStatistic(4274,107789 -int SkXmResetCounter(4305,108530 -int SkXmOverflowStatus(4337,109604 -int SkGmUpdateStats(4380,110575 -int SkGmMacStatistic(4402,111138 -int SkGmResetCounter(4436,111989 -int SkGmOverflowStatus(4482,113265 -int SkGmCableDiagStatus(4535,114715 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skgeinit.c,1024 -static const char SysKonnectFileId[33,1215 -struct s_QOffTab s_QOffTab37,1342 -static struct s_QOffTab QOffTab[42,1512 -struct s_Config s_Config46,1598 -static struct s_Config OemConfig 51,1656 -void SkGePollRxD(73,2183 -void SkGePollTxD(101,2935 -void SkGeYellowLED(137,3745 -void SkGeXmitLED(171,4586 -static int DoCalcAddr(229,6367 -int SkGeInitAssignRamToQueues(284,7819 -static int SkGeCheckQSize(406,11831 -static void SkGeInitMacArb(504,14381 -static void SkGeInitPktArb(544,15492 -static void SkGeInitMacFifo(584,16520 -void SkGeLoadLnkSyncCnt(676,19313 -int SkGeCfgSync(760,21824 -static void DoInitRamQueue(834,23964 -static void SkGeInitRamBufs(913,26388 -void SkGeInitRamIface(955,27350 -static void SkGeInitBmu(989,28324 -static SK_U32 TestStopBit(1046,29822 -void SkGeStopPort(1144,33208 -static void SkGeInit0(1357,39230 -static int SkGePciReset(1428,41401 -static int SkGeInit1(1511,43506 -static void SkGeInit2(1816,51224 -int SkGeInit(1905,53631 -void SkGeDeInit(1987,55364 -int SkGeInitPort(2091,58218 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgeinit.h,7397 -#define __INC_SKGEINIT_H_26,966 -#define SK_TEST_VAL 34,1133 -#define SK_LNK_OFF 37,1229 -#define SK_LNK_ON 38,1257 -#define SK_LNK_BLINK 39,1314 -#define SK_LNK_PERM 40,1372 -#define SK_LNK_TST 41,1430 -#define SK_LED_OFF 44,1544 -#define SK_LED_ACTIVE 45,1572 -#define SK_LED_STANDBY 46,1632 -#define XMIT_LED_INI 49,1742 -#define XMIT_LED_CNT 50,1765 -#define XMIT_LED_CTRL 51,1812 -#define XMIT_LED_TST 52,1860 -#define SK_LED_DIS 55,1958 -#define SK_LED_ENA 56,1979 -#define SK_LED_TST 57,2000 -#define SK_XMIT_DUR 60,2086 -#define SK_BLK_DUR 61,2133 -#define SK_DPOLL_DEF 63,2180 -#define SK_DPOLL_MAX 65,2240 -#define SK_FACT_62 68,2336 -#define SK_FACT_53 69,2388 -#define SK_FACT_78 70,2448 -#define SK_MAC_TO_53 73,2522 -#define SK_PKT_TO_53 74,2574 -#define SK_PKT_TO_MAX 75,2632 -#define SK_RI_TO_53 76,2682 -#define SK_PHY_ACC_TO 78,2737 -#define SK_RB_ULPP 81,2838 -#define SK_RB_LLPP_S 82,2896 -#define SK_RB_LLPP_B 83,2964 -#define SK_BMU_RX_WM 86,3052 -#define SK_BMU_TX_WM 89,3131 -#define SK_XM_RX_HI_WM 93,3222 -#define SK_XM_THR_REDL 96,3292 -#define SK_XM_THR_SL 97,3357 -#define SK_XM_THR_MULL 98,3420 -#define SK_XM_THR_JUMBO 99,3484 -#define SK_RED_LINK 102,3577 -#define SK_MUL_LINK 103,3628 -#define SK_JUMBO_LINK 104,3678 -#define SK_MIN_RXQ_SIZE 107,3774 -#define SK_MIN_TXQ_SIZE 110,3854 -#define QZ_UNITS 113,3918 -#define QZ_STEP 114,3940 -#define RAM_QUOTA_RX 118,4033 -#define RAM_QUOTA_SYNC 120,4085 -#define ROUND_QUEUE_SIZE(ROUND_QUEUE_SIZE124,4215 -#define ROUND_QUEUE_SIZE_KB(ROUND_QUEUE_SIZE_KB129,4397 -#define SK_RX_SRAM_Q 133,4511 -#define SK_RX_BRAM_Q 134,4560 -#define SK_TX_RAM_Q 135,4607 -#define SK_STOP_TX 138,4715 -#define SK_STOP_RX 139,4783 -#define SK_STOP_ALL 140,4833 -#define SK_SOFT_RST 143,4954 -#define SK_HARD_RST 144,5007 -#define SK_INIT_DATA 147,5079 -#define SK_INIT_IO 148,5143 -#define SK_INIT_RUN 149,5199 -#define SK_LMODE_HALF 152,5287 -#define SK_LMODE_FULL 153,5335 -#define SK_LMODE_AUTOHALF 154,5383 -#define SK_LMODE_AUTOFULL 155,5438 -#define SK_LMODE_AUTOBOTH 156,5493 -#define SK_LMODE_AUTOSENSE 157,5548 -#define SK_LMODE_INDETERMINATED 158,5612 -#define SK_AND_MAX_TO 161,5720 -#define SK_AND_OK 164,5822 -#define SK_AND_OTHER 165,5859 -#define SK_AND_DUP_CAP 166,5912 -#define SK_LSPEED_CAP_AUTO 170,6002 -#define SK_LSPEED_CAP_10MBPS 171,6065 -#define SK_LSPEED_CAP_100MBPS 172,6116 -#define SK_LSPEED_CAP_1000MBPS 173,6169 -#define SK_LSPEED_CAP_INDETERMINATED 174,6224 -#define SK_LSPEED_AUTO 177,6317 -#define SK_LSPEED_10MBPS 178,6372 -#define SK_LSPEED_100MBPS 179,6415 -#define SK_LSPEED_1000MBPS 180,6460 -#define SK_LSPEED_INDETERMINATED 181,6507 -#define SK_LSPEED_STAT_UNKNOWN 184,6595 -#define SK_LSPEED_STAT_10MBPS 185,6629 -#define SK_LSPEED_STAT_100MBPS 186,6662 -#define SK_LSPEED_STAT_1000MBPS 187,6697 -#define SK_LSPEED_STAT_INDETERMINATED 188,6732 -#define SK_LMODE_CAP_HALF 192,6806 -#define SK_LMODE_CAP_FULL 193,6863 -#define SK_LMODE_CAP_AUTOHALF 194,6920 -#define SK_LMODE_CAP_AUTOFULL 195,6984 -#define SK_LMODE_CAP_INDETERMINATED 196,7048 -#define SK_LMODE_STAT_UNKNOWN 199,7143 -#define SK_LMODE_STAT_HALF 200,7201 -#define SK_LMODE_STAT_FULL 201,7254 -#define SK_LMODE_STAT_AUTOHALF 202,7307 -#define SK_LMODE_STAT_AUTOFULL 203,7384 -#define SK_LMODE_STAT_INDETERMINATED 204,7461 -#define SK_FLOW_MODE_NONE 207,7575 -#define SK_FLOW_MODE_LOC_SEND 208,7626 -#define SK_FLOW_MODE_SYMMETRIC 209,7690 -#define SK_FLOW_MODE_SYM_OR_REM 210,7758 -#define SK_FLOW_MODE_INDETERMINATED 213,7883 -#define SK_FLOW_STAT_NONE 216,7979 -#define SK_FLOW_STAT_REM_SEND 217,8030 -#define SK_FLOW_STAT_LOC_SEND 218,8095 -#define SK_FLOW_STAT_SYMMETRIC 219,8159 -#define SK_FLOW_STAT_INDETERMINATED 220,8226 -#define SK_MS_CAP_AUTO 223,8323 -#define SK_MS_CAP_MASTER 224,8381 -#define SK_MS_CAP_SLAVE 225,8442 -#define SK_MS_CAP_INDETERMINATED 226,8502 -#define SK_MS_MODE_AUTO 229,8621 -#define SK_MS_MODE_MASTER 230,8675 -#define SK_MS_MODE_SLAVE 231,8732 -#define SK_MS_MODE_INDETERMINATED 232,8787 -#define SK_MS_STAT_UNSET 235,8881 -#define SK_MS_STAT_MASTER 236,8940 -#define SK_MS_STAT_SLAVE 237,8997 -#define SK_MS_STAT_FAULT 238,9052 -#define SK_MS_STAT_INDETERMINATED 239,9107 -#define SK_STRIP_FCS_ON 242,9216 -#define SK_STRIP_FCS_OFF 243,9289 -#define SK_STRIP_PAD_ON 244,9362 -#define SK_STRIP_PAD_OFF 245,9436 -#define SK_LENERR_OK_ON 246,9510 -#define SK_LENERR_OK_OFF 247,9584 -#define SK_BIG_PK_OK_ON 248,9658 -#define SK_BIG_PK_OK_OFF 249,9734 -#define SK_SELF_RX_ON 250,9804 -#define SK_SELF_RX_OFF 251,9866 -#define SK_MAC_LOOPB_ON 254,9983 -#define SK_MAC_LOOPB_OFF 255,10047 -#define SK_PHY_LOOPB_ON 256,10111 -#define SK_PHY_LOOPB_OFF 257,10175 -#define SK_PHY_FULLD_ON 258,10239 -#define SK_PHY_FULLD_OFF 259,10302 -#define SK_PRT_RESET 262,10389 -#define SK_PRT_STOP 263,10436 -#define SK_PRT_INIT 264,10507 -#define SK_PRT_RUN 265,10560 -#define PHY_PM_OPERATIONAL_MODE 268,10644 -#define PHY_PM_DEEP_SLEEP 269,10706 -#define PHY_PM_IEEE_POWER_DOWN 270,10770 -#define PHY_PM_ENERGY_DETECT 271,10844 -#define PHY_PM_ENERGY_DETECT_PLUS 272,10896 -#define SK_DEF_RX_WA_LIM 275,11022 -#define SK_ACT_LED_BLINK 278,11117 -#define SK_DUP_LED_NORMAL 279,11175 -#define SK_LED_LINK100_ON 280,11232 -#define SK_LIPA_UNKNOWN 283,11315 -#define SK_LIPA_MANUAL 284,11380 -#define SK_LIPA_AUTO 285,11452 -#define SK_MAX_LRESTART 288,11583 -#define SK_MAX_ANEG_TO 291,11726 -typedef struct s_GeMacFunc s_GeMacFunc298,11912 -} SK_GEMACFUNC;SK_GEMACFUNC305,12312 -typedef struct s_GePort s_GePort310,12354 -} SK_GEPORT;SK_GEPORT372,15580 -typedef struct s_GeInit s_GeInit378,15690 -} SK_GEINIT;SK_GEINIT404,17073 -#define SKERR_HWI_E001 409,17153 -#define SKERR_HWI_E001MSG 410,17197 -#define SKERR_HWI_E002 411,17271 -#define SKERR_HWI_E002MSG 412,17314 -#define SKERR_HWI_E003 413,17375 -#define SKERR_HWI_E003MSG 414,17418 -#define SKERR_HWI_E004 415,17488 -#define SKERR_HWI_E004MSG 416,17531 -#define SKERR_HWI_E005 417,17605 -#define SKERR_HWI_E005MSG 418,17648 -#define SKERR_HWI_E006 419,17718 -#define SKERR_HWI_E006MSG 420,17761 -#define SKERR_HWI_E007 421,17835 -#define SKERR_HWI_E007MSG 422,17878 -#define SKERR_HWI_E008 423,17951 -#define SKERR_HWI_E008MSG 424,17994 -#define SKERR_HWI_E009 425,18062 -#define SKERR_HWI_E009MSG 426,18105 -#define SKERR_HWI_E010 427,18177 -#define SKERR_HWI_E010MSG 428,18220 -#define SKERR_HWI_E011 429,18293 -#define SKERR_HWI_E011MSG 430,18336 -#define SKERR_HWI_E012 431,18409 -#define SKERR_HWI_E012MSG 432,18452 -#define SKERR_HWI_E013 433,18525 -#define SKERR_HWI_E013MSG 434,18568 -#define SKERR_HWI_E014 435,18642 -#define SKERR_HWI_E014MSG 436,18685 -#define SKERR_HWI_E015 437,18759 -#define SKERR_HWI_E015MSG 438,18802 -#define SKERR_HWI_E016 439,18858 -#define SKERR_HWI_E016MSG 440,18901 -#define SKERR_HWI_E017 441,18965 -#define SKERR_HWI_E017MSG 442,19008 -#define SKERR_HWI_E018 443,19079 -#define SKERR_HWI_E018MSG 444,19122 -#define SKERR_HWI_E019 445,19196 -#define SKERR_HWI_E019MSG 446,19239 -#define SKERR_HWI_E020 447,19291 -#define SKERR_HWI_E020MSG 448,19334 -#define SKERR_HWI_E021 449,19393 -#define SKERR_HWI_E021MSG 450,19436 -#define SKERR_HWI_E022 451,19514 -#define SKERR_HWI_E022MSG 452,19557 -#define SKERR_HWI_E023 453,19632 -#define SKERR_HWI_E023MSG 454,19675 -#define SKERR_HWI_E024 455,19749 -#define SKERR_HWI_E024MSG 456,19792 -#define SKERR_HWI_E025 457,19866 -#define SKERR_HWI_E025MSG 458,19909 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgepnmi.h,19018 -#define _SKGEPNMI_H_26,959 -#define SK_PNMI_MDB_VERSION 42,1206 -#define SK_PNMI_EVT_SIRQ_OVERFLOW 48,1286 -#define SK_PNMI_EVT_SEN_WAR_LOW 49,1346 -#define SK_PNMI_EVT_SEN_WAR_UPP 50,1413 -#define SK_PNMI_EVT_SEN_ERR_LOW 51,1480 -#define SK_PNMI_EVT_SEN_ERR_UPP 52,1547 -#define SK_PNMI_EVT_CHG_EST_TIMER 53,1614 -#define SK_PNMI_EVT_UTILIZATION_TIMER 54,1682 -#define SK_PNMI_EVT_CLEAR_COUNTER 55,1753 -#define SK_PNMI_EVT_XMAC_RESET 56,1821 -#define SK_PNMI_EVT_RLMT_PORT_UP 58,1882 -#define SK_PNMI_EVT_RLMT_PORT_DOWN 59,1948 -#define SK_PNMI_EVT_RLMT_SEGMENTATION 60,2018 -#define SK_PNMI_EVT_RLMT_ACTIVE_DOWN 61,2091 -#define SK_PNMI_EVT_RLMT_ACTIVE_UP 62,2162 -#define SK_PNMI_EVT_RLMT_SET_NETS 63,2230 -#define SK_PNMI_EVT_VCT_RESET 65,2346 -#define SK_PNMI_ERR_OK 71,2457 -#define SK_PNMI_ERR_GENERAL 72,2485 -#define SK_PNMI_ERR_TOO_SHORT 73,2517 -#define SK_PNMI_ERR_BAD_VALUE 74,2550 -#define SK_PNMI_ERR_READ_ONLY 75,2583 -#define SK_PNMI_ERR_UNKNOWN_OID 76,2616 -#define SK_PNMI_ERR_UNKNOWN_INST 77,2651 -#define SK_PNMI_ERR_UNKNOWN_NET 78,2686 -#define SK_PNMI_ERR_NOT_SUPPORTED 79,2721 -#define SK_PNMI_ERR_OK 86,2874 -#define SK_PNMI_ERR_FAIL 87,2901 -#define SK_PNMI_TST_UNKNOWN 93,3000 -#define SK_PNMI_TST_TRANCEIVER 94,3038 -#define SK_PNMI_TST_ASIC 95,3079 -#define SK_PNMI_TST_SENSOR 96,3114 -#define SK_PNMI_TST_POWERMGMT 97,3151 -#define SK_PNMI_TST_PCI 98,3191 -#define SK_PNMI_TST_MAC 99,3226 -#define SK_PNMI_RLMT_STATUS_STANDBY 105,3299 -#define SK_PNMI_RLMT_STATUS_ACTIVE 106,3337 -#define SK_PNMI_RLMT_STATUS_ERROR 107,3374 -#define SK_PNMI_RLMT_LSTAT_PHY_DOWN 109,3411 -#define SK_PNMI_RLMT_LSTAT_AUTONEG 110,3449 -#define SK_PNMI_RLMT_LSTAT_LOG_DOWN 111,3486 -#define SK_PNMI_RLMT_LSTAT_LOG_UP 112,3524 -#define SK_PNMI_RLMT_LSTAT_INDETERMINATED 113,3560 -#define SK_PNMI_RLMT_MODE_CHK_LINK 115,3605 -#define SK_PNMI_RLMT_MODE_CHK_RX 116,3661 -#define SK_PNMI_RLMT_MODE_CHK_SPT 117,3719 -#define OID_GEN_XMIT_OK 125,3902 -#define OID_GEN_RCV_OK 126,3941 -#define OID_GEN_XMIT_ERROR 127,3979 -#define OID_GEN_RCV_ERROR 128,4020 -#define OID_GEN_RCV_NO_BUFFER 129,4060 -#define OID_GEN_DIRECTED_FRAMES_XMIT 132,4157 -#define OID_GEN_MULTICAST_FRAMES_XMIT 134,4259 -#define OID_GEN_BROADCAST_FRAMES_XMIT 136,4362 -#define OID_GEN_DIRECTED_FRAMES_RCV 138,4463 -#define OID_GEN_MULTICAST_FRAMES_RCV 140,4564 -#define OID_GEN_BROADCAST_FRAMES_RCV 142,4665 -#define OID_GEN_RCV_CRC_ERROR 143,4713 -#define OID_GEN_TRANSMIT_QUEUE_LENGTH 144,4756 -#define OID_802_3_PERMANENT_ADDRESS 146,4806 -#define OID_802_3_CURRENT_ADDRESS 147,4854 -#define OID_802_3_RCV_ERROR_ALIGNMENT 152,5056 -#define OID_802_3_XMIT_ONE_COLLISION 153,5105 -#define OID_802_3_XMIT_MORE_COLLISIONS 154,5153 -#define OID_802_3_XMIT_DEFERRED 155,5203 -#define OID_802_3_XMIT_MAX_COLLISIONS 156,5248 -#define OID_802_3_RCV_OVERRUN 157,5297 -#define OID_802_3_XMIT_UNDERRUN 158,5340 -#define OID_802_3_XMIT_TIMES_CRS_LOST 159,5385 -#define OID_802_3_XMIT_LATE_COLLISIONS 160,5434 -#define OID_PNP_CAPABILITIES 166,5532 -#define OID_PNP_SET_POWER 167,5574 -#define OID_PNP_QUERY_POWER 168,5614 -#define OID_PNP_ADD_WAKE_UP_PATTERN 169,5656 -#define OID_PNP_REMOVE_WAKE_UP_PATTERN 170,5704 -#define OID_PNP_ENABLE_WAKE_UP 171,5754 -#define OID_SKGE_MDB_VERSION 176,5847 -#define OID_SKGE_SUPPORTED_LIST 177,5889 -#define OID_SKGE_VPD_FREE_BYTES 178,5934 -#define OID_SKGE_VPD_ENTRIES_LIST 179,5979 -#define OID_SKGE_VPD_ENTRIES_NUMBER 180,6025 -#define OID_SKGE_VPD_KEY 181,6073 -#define OID_SKGE_VPD_VALUE 182,6112 -#define OID_SKGE_VPD_ACCESS 183,6153 -#define OID_SKGE_VPD_ACTION 184,6195 -#define OID_SKGE_PORT_NUMBER 186,6241 -#define OID_SKGE_DEVICE_TYPE 187,6283 -#define OID_SKGE_DRIVER_DESCR 188,6325 -#define OID_SKGE_DRIVER_VERSION 189,6368 -#define OID_SKGE_HW_DESCR 190,6413 -#define OID_SKGE_HW_VERSION 191,6453 -#define OID_SKGE_CHIPSET 192,6495 -#define OID_SKGE_ACTION 193,6534 -#define OID_SKGE_RESULT 194,6573 -#define OID_SKGE_BUS_TYPE 195,6612 -#define OID_SKGE_BUS_SPEED 196,6652 -#define OID_SKGE_BUS_WIDTH 197,6693 -#define OID_SKGE_DIAG_ACTION 199,6758 -#define OID_SKGE_DIAG_RESULT 200,6800 -#define OID_SKGE_MTU 201,6842 -#define OID_SKGE_PHYS_CUR_ADDR 202,6878 -#define OID_SKGE_PHYS_FAC_ADDR 203,6922 -#define OID_SKGE_PMD 204,6966 -#define OID_SKGE_CONNECTOR 205,7002 -#define OID_SKGE_LINK_CAP 206,7043 -#define OID_SKGE_LINK_MODE 207,7083 -#define OID_SKGE_LINK_MODE_STATUS 208,7124 -#define OID_SKGE_LINK_STATUS 209,7170 -#define OID_SKGE_FLOWCTRL_CAP 210,7212 -#define OID_SKGE_FLOWCTRL_MODE 211,7255 -#define OID_SKGE_FLOWCTRL_STATUS 212,7299 -#define OID_SKGE_PHY_OPERATION_CAP 213,7344 -#define OID_SKGE_PHY_OPERATION_MODE 214,7391 -#define OID_SKGE_PHY_OPERATION_STATUS 215,7439 -#define OID_SKGE_MULTICAST_LIST 216,7488 -#define OID_SKGE_CURRENT_PACKET_FILTER 217,7533 -#define OID_SKGE_TRAP 219,7584 -#define OID_SKGE_TRAP_NUMBER 220,7621 -#define OID_SKGE_RLMT_MODE 222,7664 -#define OID_SKGE_RLMT_PORT_NUMBER 223,7705 -#define OID_SKGE_RLMT_PORT_ACTIVE 224,7751 -#define OID_SKGE_RLMT_PORT_PREFERRED 225,7797 -#define OID_SKGE_INTERMEDIATE_SUPPORT 226,7845 -#define OID_SKGE_SPEED_CAP 228,7895 -#define OID_SKGE_SPEED_MODE 229,7936 -#define OID_SKGE_SPEED_STATUS 230,7978 -#define OID_SKGE_BOARDLEVEL 232,8022 -#define OID_SKGE_SENSOR_NUMBER 234,8065 -#define OID_SKGE_SENSOR_INDEX 235,8112 -#define OID_SKGE_SENSOR_DESCR 236,8155 -#define OID_SKGE_SENSOR_TYPE 237,8198 -#define OID_SKGE_SENSOR_VALUE 238,8240 -#define OID_SKGE_SENSOR_WAR_THRES_LOW 239,8283 -#define OID_SKGE_SENSOR_WAR_THRES_UPP 240,8332 -#define OID_SKGE_SENSOR_ERR_THRES_LOW 241,8381 -#define OID_SKGE_SENSOR_ERR_THRES_UPP 242,8430 -#define OID_SKGE_SENSOR_STATUS 243,8479 -#define OID_SKGE_SENSOR_WAR_CTS 244,8523 -#define OID_SKGE_SENSOR_ERR_CTS 245,8568 -#define OID_SKGE_SENSOR_WAR_TIME 246,8613 -#define OID_SKGE_SENSOR_ERR_TIME 247,8658 -#define OID_SKGE_CHKSM_NUMBER 249,8704 -#define OID_SKGE_CHKSM_RX_OK_CTS 250,8747 -#define OID_SKGE_CHKSM_RX_UNABLE_CTS 251,8792 -#define OID_SKGE_CHKSM_RX_ERR_CTS 252,8840 -#define OID_SKGE_CHKSM_TX_OK_CTS 253,8886 -#define OID_SKGE_CHKSM_TX_UNABLE_CTS 254,8931 -#define OID_SKGE_STAT_TX 256,8980 -#define OID_SKGE_STAT_TX_OCTETS 257,9019 -#define OID_SKGE_STAT_TX_BROADCAST 258,9064 -#define OID_SKGE_STAT_TX_MULTICAST 259,9111 -#define OID_SKGE_STAT_TX_UNICAST 260,9158 -#define OID_SKGE_STAT_TX_LONGFRAMES 261,9203 -#define OID_SKGE_STAT_TX_BURST 262,9251 -#define OID_SKGE_STAT_TX_PFLOWC 263,9295 -#define OID_SKGE_STAT_TX_FLOWC 264,9340 -#define OID_SKGE_STAT_TX_SINGLE_COL 265,9384 -#define OID_SKGE_STAT_TX_MULTI_COL 266,9432 -#define OID_SKGE_STAT_TX_EXCESS_COL 267,9479 -#define OID_SKGE_STAT_TX_LATE_COL 268,9527 -#define OID_SKGE_STAT_TX_DEFFERAL 269,9573 -#define OID_SKGE_STAT_TX_EXCESS_DEF 270,9619 -#define OID_SKGE_STAT_TX_UNDERRUN 271,9667 -#define OID_SKGE_STAT_TX_CARRIER 272,9713 -#define OID_SKGE_STAT_TX_64 274,9806 -#define OID_SKGE_STAT_TX_127 275,9848 -#define OID_SKGE_STAT_TX_255 276,9890 -#define OID_SKGE_STAT_TX_511 277,9932 -#define OID_SKGE_STAT_TX_1023 278,9974 -#define OID_SKGE_STAT_TX_MAX 279,10017 -#define OID_SKGE_STAT_TX_SYNC 280,10059 -#define OID_SKGE_STAT_TX_SYNC_OCTETS 281,10102 -#define OID_SKGE_STAT_RX 282,10150 -#define OID_SKGE_STAT_RX_OCTETS 283,10189 -#define OID_SKGE_STAT_RX_BROADCAST 284,10234 -#define OID_SKGE_STAT_RX_MULTICAST 285,10281 -#define OID_SKGE_STAT_RX_UNICAST 286,10328 -#define OID_SKGE_STAT_RX_PFLOWC 287,10373 -#define OID_SKGE_STAT_RX_FLOWC 288,10418 -#define OID_SKGE_STAT_RX_PFLOWC_ERR 289,10462 -#define OID_SKGE_STAT_RX_FLOWC_UNKWN 290,10510 -#define OID_SKGE_STAT_RX_BURST 291,10558 -#define OID_SKGE_STAT_RX_MISSED 292,10602 -#define OID_SKGE_STAT_RX_FRAMING 293,10647 -#define OID_SKGE_STAT_RX_OVERFLOW 294,10692 -#define OID_SKGE_STAT_RX_JABBER 295,10738 -#define OID_SKGE_STAT_RX_CARRIER 296,10783 -#define OID_SKGE_STAT_RX_IR_LENGTH 297,10828 -#define OID_SKGE_STAT_RX_SYMBOL 298,10875 -#define OID_SKGE_STAT_RX_SHORTS 299,10920 -#define OID_SKGE_STAT_RX_RUNT 300,10965 -#define OID_SKGE_STAT_RX_CEXT 301,11008 -#define OID_SKGE_STAT_RX_TOO_LONG 302,11051 -#define OID_SKGE_STAT_RX_FCS 303,11097 -#define OID_SKGE_STAT_RX_64 305,11187 -#define OID_SKGE_STAT_RX_127 306,11229 -#define OID_SKGE_STAT_RX_255 307,11271 -#define OID_SKGE_STAT_RX_511 308,11313 -#define OID_SKGE_STAT_RX_1023 309,11355 -#define OID_SKGE_STAT_RX_MAX 310,11398 -#define OID_SKGE_STAT_RX_LONGFRAMES 311,11440 -#define OID_SKGE_RLMT_CHANGE_CTS 313,11489 -#define OID_SKGE_RLMT_CHANGE_TIME 314,11534 -#define OID_SKGE_RLMT_CHANGE_ESTIM 315,11580 -#define OID_SKGE_RLMT_CHANGE_THRES 316,11627 -#define OID_SKGE_RLMT_PORT_INDEX 318,11675 -#define OID_SKGE_RLMT_STATUS 319,11720 -#define OID_SKGE_RLMT_TX_HELLO_CTS 320,11762 -#define OID_SKGE_RLMT_RX_HELLO_CTS 321,11809 -#define OID_SKGE_RLMT_TX_SP_REQ_CTS 322,11856 -#define OID_SKGE_RLMT_RX_SP_CTS 323,11904 -#define OID_SKGE_RLMT_MONITOR_NUMBER 325,11950 -#define OID_SKGE_RLMT_MONITOR_INDEX 326,11998 -#define OID_SKGE_RLMT_MONITOR_ADDR 327,12046 -#define OID_SKGE_RLMT_MONITOR_ERRS 328,12093 -#define OID_SKGE_RLMT_MONITOR_TIMESTAMP 329,12140 -#define OID_SKGE_RLMT_MONITOR_ADMIN 330,12191 -#define OID_SKGE_TX_SW_QUEUE_LEN 332,12240 -#define OID_SKGE_TX_SW_QUEUE_MAX 333,12285 -#define OID_SKGE_TX_RETRY 334,12330 -#define OID_SKGE_RX_INTR_CTS 335,12370 -#define OID_SKGE_TX_INTR_CTS 336,12412 -#define OID_SKGE_RX_NO_BUF_CTS 337,12454 -#define OID_SKGE_TX_NO_BUF_CTS 338,12498 -#define OID_SKGE_TX_USED_DESCR_NO 339,12542 -#define OID_SKGE_RX_DELIVERED_CTS 340,12588 -#define OID_SKGE_RX_OCTETS_DELIV_CTS 341,12634 -#define OID_SKGE_RX_HW_ERROR_CTS 342,12682 -#define OID_SKGE_TX_HW_ERROR_CTS 343,12727 -#define OID_SKGE_IN_ERRORS_CTS 344,12772 -#define OID_SKGE_OUT_ERROR_CTS 345,12816 -#define OID_SKGE_ERR_RECOVERY_CTS 346,12860 -#define OID_SKGE_SYSUPTIME 347,12906 -#define OID_SKGE_ALL_DATA 349,12948 -#define OID_SKGE_VCT_GET 352,13012 -#define OID_SKGE_VCT_SET 353,13051 -#define OID_SKGE_VCT_STATUS 354,13090 -#define OID_SKGE_DIAG_MODE 358,13192 -#define OID_SKGE_DRIVER_RELDATE 362,13278 -#define OID_SKGE_DRIVER_FILENAME 363,13323 -#define OID_SKGE_CHIPID 364,13368 -#define OID_SKGE_RAMSIZE 365,13407 -#define OID_SKGE_VAUXAVAIL 366,13446 -#define OID_SKGE_PHY_TYPE 367,13487 -#define OID_SKGE_PHY_LP_MODE 368,13527 -typedef struct s_PnmiVct s_PnmiVct371,13642 -} SK_PNMI_VCT;SK_PNMI_VCT376,13760 -#define SK_PNMI_VCT_NONE 380,13847 -#define SK_PNMI_VCT_OLD_VCT_DATA 381,13875 -#define SK_PNMI_VCT_NEW_VCT_DATA 382,13910 -#define SK_PNMI_VCT_OLD_DSP_DATA 383,13945 -#define SK_PNMI_VCT_NEW_DSP_DATA 384,13980 -#define SK_PNMI_VCT_RUNNING 385,14015 -#define SK_PNMI_VCT_NORMAL_CABLE 389,14078 -#define SK_PNMI_VCT_SHORT_CABLE 390,14114 -#define SK_PNMI_VCT_OPEN_CABLE 391,14150 -#define SK_PNMI_VCT_TEST_FAIL 392,14185 -#define SK_PNMI_VCT_IMPEDANCE_MISMATCH 393,14219 -#define OID_SKGE_TRAP_SEN_WAR_LOW 395,14262 -#define OID_SKGE_TRAP_SEN_WAR_UPP 396,14301 -#define OID_SKGE_TRAP_SEN_ERR_LOW 397,14340 -#define OID_SKGE_TRAP_SEN_ERR_UPP 398,14379 -#define OID_SKGE_TRAP_RLMT_CHANGE_THRES 399,14418 -#define OID_SKGE_TRAP_RLMT_CHANGE_PORT 400,14462 -#define OID_SKGE_TRAP_RLMT_PORT_DOWN 401,14505 -#define OID_SKGE_TRAP_RLMT_PORT_UP 402,14546 -#define OID_SKGE_TRAP_RLMT_SEGMENTATION 403,14586 -#define SK_DIAG_ATTACHED 407,14690 -#define SK_DIAG_RUNNING 408,14717 -#define SK_DIAG_IDLE 409,14744 -#define SK_GET_SINGLE_VAR 415,14851 -#define SK_SET_SINGLE_VAR 416,14880 -#define SK_PRESET_SINGLE_VAR 417,14909 -#define SK_GET_FULL_MIB 418,14940 -#define SK_SET_FULL_MIB 419,14968 -#define SK_PRESET_FULL_MIB 420,14996 -#define SK_PNMI_ERR001 426,15083 -#define SK_PNMI_ERR001MSG 427,15129 -#define SK_PNMI_ERR002 428,15186 -#define SK_PNMI_ERR002MSG 429,15232 -#define SK_PNMI_ERR003 430,15298 -#define SK_PNMI_ERR003MSG 431,15344 -#define SK_PNMI_ERR004 432,15405 -#define SK_PNMI_ERR004MSG 433,15451 -#define SK_PNMI_ERR005 434,15515 -#define SK_PNMI_ERR005MSG 435,15561 -#define SK_PNMI_ERR006 436,15618 -#define SK_PNMI_ERR006MSG 437,15664 -#define SK_PNMI_ERR007 438,15728 -#define SK_PNMI_ERR007MSG 439,15774 -#define SK_PNMI_ERR008 440,15846 -#define SK_PNMI_ERR008MSG 441,15892 -#define SK_PNMI_ERR009 442,15951 -#define SK_PNMI_ERR009MSG 443,15997 -#define SK_PNMI_ERR010 444,16043 -#define SK_PNMI_ERR010MSG 445,16090 -#define SK_PNMI_ERR011 446,16140 -#define SK_PNMI_ERR011MSG 447,16187 -#define SK_PNMI_ERR012 448,16256 -#define SK_PNMI_ERR012MSG 449,16303 -#define SK_PNMI_ERR013 450,16355 -#define SK_PNMI_ERR013MSG 451,16402 -#define SK_PNMI_ERR014 452,16431 -#define SK_PNMI_ERR014MSG 453,16478 -#define SK_PNMI_ERR015 454,16532 -#define SK_PNMI_ERR015MSG 455,16579 -#define SK_PNMI_ERR016 456,16649 -#define SK_PNMI_ERR016MSG 457,16696 -#define SK_PNMI_ERR017 458,16749 -#define SK_PNMI_ERR017MSG 459,16796 -#define SK_PNMI_ERR018 460,16856 -#define SK_PNMI_ERR018MSG 461,16903 -#define SK_PNMI_ERR019 462,16955 -#define SK_PNMI_ERR019MSG 463,17002 -#define SK_PNMI_ERR021 464,17068 -#define SK_PNMI_ERR021MSG 465,17115 -#define SK_PNMI_ERR022 466,17173 -#define SK_PNMI_ERR022MSG 467,17220 -#define SK_PNMI_ERR023 468,17303 -#define SK_PNMI_ERR023MSG 469,17350 -#define SK_PNMI_ERR024 470,17409 -#define SK_PNMI_ERR024MSG 471,17456 -#define SK_PNMI_ERR025 472,17522 -#define SK_PNMI_ERR025MSG 473,17569 -#define SK_PNMI_ERR026 474,17638 -#define SK_PNMI_ERR026MSG 475,17685 -#define SK_PNMI_ERR027 476,17736 -#define SK_PNMI_ERR027MSG 477,17783 -#define SK_PNMI_ERR028 478,17840 -#define SK_PNMI_ERR028MSG 479,17887 -#define SK_PNMI_ERR029 480,17957 -#define SK_PNMI_ERR029MSG 481,18004 -#define SK_PNMI_ERR030 482,18076 -#define SK_PNMI_ERR030MSG 483,18123 -#define SK_PNMI_ERR031 484,18191 -#define SK_PNMI_ERR031MSG 485,18238 -#define SK_PNMI_ERR032 486,18306 -#define SK_PNMI_ERR032MSG 487,18353 -#define SK_PNMI_ERR033 488,18424 -#define SK_PNMI_ERR033MSG 489,18471 -#define SK_PNMI_ERR034 490,18539 -#define SK_PNMI_ERR034MSG 491,18586 -#define SK_PNMI_ERR035 492,18635 -#define SK_PNMI_ERR035MSG 493,18682 -#define SK_PNMI_ERR036 494,18728 -#define SK_PNMI_ERR036MSG 495,18775 -#define SK_PNMI_ERR037 496,18804 -#define SK_PNMI_ERR037MSG 497,18851 -#define SK_PNMI_ERR038 498,18924 -#define SK_PNMI_ERR038MSG 499,18971 -#define SK_PNMI_ERR039 500,19048 -#define SK_PNMI_ERR039MSG 501,19095 -#define SK_PNMI_ERR040 502,19145 -#define SK_PNMI_ERR040MSG 503,19192 -#define SK_PNMI_ERR041 504,19249 -#define SK_PNMI_ERR041MSG 505,19296 -#define SK_PNMI_ERR042 506,19352 -#define SK_PNMI_ERR042MSG 507,19399 -#define SK_PNMI_ERR043 508,19475 -#define SK_PNMI_ERR043MSG 509,19522 -#define SK_PNMI_ERR044 510,19599 -#define SK_PNMI_ERR044MSG 511,19646 -#define SK_PNMI_ERR045 512,19726 -#define SK_PNMI_ERR045MSG 513,19773 -#define SK_PNMI_ERR046 514,19850 -#define SK_PNMI_ERR046MSG 515,19897 -#define SK_PNMI_ERR047 516,19946 -#define SK_PNMI_ERR047MSG 517,19993 -#define SK_PNMI_ERR048 518,20062 -#define SK_PNMI_ERR048MSG 519,20109 -#define SK_PNMI_ERR049 520,20178 -#define SK_PNMI_ERR049MSG 521,20225 -#define SK_PNMI_ERR050 522,20306 -#define SK_PNMI_ERR050MSG 523,20353 -#define SK_PNMI_ERR051 524,20428 -#define SK_PNMI_ERR051MSG 525,20475 -#define SK_PNMI_ERR052 526,20539 -#define SK_PNMI_ERR052MSG 527,20586 -#define SK_PNMI_ERR053 528,20615 -#define SK_PNMI_ERR053MSG 529,20662 -#define SK_PNMI_ERR054 530,20735 -#define SK_PNMI_ERR054MSG 531,20782 -#define SK_PNMI_ERR055 532,20855 -#define SK_PNMI_ERR055MSG 533,20902 -#define SK_PNMI_ERR056 534,20972 -#define SK_PNMI_ERR056MSG 535,21019 -#define SK_PNMI_SET_DRIVER_DESCR(SK_PNMI_SET_DRIVER_DESCR540,21147 -#define SK_PNMI_SET_DRIVER_VER(SK_PNMI_SET_DRIVER_VER543,21238 -#define SK_PNMI_SET_DRIVER_RELDATE(SK_PNMI_SET_DRIVER_RELDATE546,21323 -#define SK_PNMI_SET_DRIVER_FILENAME(SK_PNMI_SET_DRIVER_FILENAME549,21416 -#define SK_PNMI_CNT_TX_QUEUE_LEN(SK_PNMI_CNT_TX_QUEUE_LEN552,21507 -#define SK_PNMI_CNT_TX_RETRY(SK_PNMI_CNT_TX_RETRY559,21770 -#define SK_PNMI_CNT_RX_INTR(SK_PNMI_CNT_RX_INTR560,21843 -#define SK_PNMI_CNT_TX_INTR(SK_PNMI_CNT_TX_INTR561,21914 -#define SK_PNMI_CNT_NO_RX_BUF(SK_PNMI_CNT_NO_RX_BUF562,21985 -#define SK_PNMI_CNT_NO_TX_BUF(SK_PNMI_CNT_NO_TX_BUF563,22059 -#define SK_PNMI_CNT_USED_TX_DESCR(SK_PNMI_CNT_USED_TX_DESCR564,22133 -#define SK_PNMI_CNT_RX_OCTETS_DELIVERED(SK_PNMI_CNT_RX_OCTETS_DELIVERED566,22228 -#define SK_PNMI_CNT_ERR_RECOVERY(SK_PNMI_CNT_ERR_RECOVERY571,22392 -#define SK_PNMI_CNT_SYNC_OCTETS(SK_PNMI_CNT_SYNC_OCTETS573,22475 -#define SK_PNMI_CNT_RX_LONGFRAMES(SK_PNMI_CNT_RX_LONGFRAMES581,22663 -#define SK_PNMI_CNT_RX_FRAMETOOLONG(SK_PNMI_CNT_RX_FRAMETOOLONG588,22799 -#define SK_PNMI_CNT_RX_PMACC_ERR(SK_PNMI_CNT_RX_PMACC_ERR595,22940 -#define SK_PNMI_PORT_INST2LOG(SK_PNMI_PORT_INST2LOG605,23099 -#define SK_PNMI_PORT_LOG2INST(SK_PNMI_PORT_LOG2INST606,23156 -#define SK_PNMI_PORT_PHYS2LOG(SK_PNMI_PORT_PHYS2LOG607,23213 -#define SK_PNMI_PORT_LOG2PHYS(SK_PNMI_PORT_LOG2PHYS608,23270 -#define SK_PNMI_PORT_PHYS2INST(SK_PNMI_PORT_PHYS2INST609,23331 -#define SK_PNMI_PORT_INST2PHYS(SK_PNMI_PORT_INST2PHYS611,23432 -#define SK_PNMI_VPD_KEY_SIZE 616,23566 -#define SK_PNMI_VPD_BUFSIZE 617,23597 -#define SK_PNMI_VPD_ENTRIES 618,23637 -#define SK_PNMI_VPD_DATALEN 619,23681 -#define SK_PNMI_MULTICAST_LISTLEN 621,23743 -#define SK_PNMI_SENSOR_ENTRIES 622,23780 -#define SK_PNMI_CHECKSUM_ENTRIES 623,23829 -#define SK_PNMI_MAC_ENTRIES 624,23864 -#define SK_PNMI_MONITOR_ENTRIES 625,23912 -#define SK_PNMI_TRAP_ENTRIES 626,23948 -#define SK_PNMI_TRAPLEN 627,23981 -#define SK_PNMI_STRINGLEN1 628,24012 -#define SK_PNMI_STRINGLEN2 629,24044 -#define SK_PNMI_TRAP_QUEUE_LEN 630,24076 -typedef struct s_PnmiVpd s_PnmiVpd632,24113 -} SK_PNMI_VPD;SK_PNMI_VPD637,24257 -typedef struct s_PnmiSensor s_PnmiSensor639,24273 -} SK_PNMI_SENSOR;SK_PNMI_SENSOR653,24699 -typedef struct s_PnmiChecksum s_PnmiChecksum655,24718 -} SK_PNMI_CHECKSUM;SK_PNMI_CHECKSUM661,24894 -typedef struct s_PnmiStat s_PnmiStat663,24915 -} SK_PNMI_STAT;SK_PNMI_STAT720,26575 -typedef struct s_PnmiConf s_PnmiConf722,26592 -} SK_PNMI_CONF;SK_PNMI_CONF742,27146 -typedef struct s_PnmiRlmt s_PnmiRlmt744,27163 -} SK_PNMI_RLMT;SK_PNMI_RLMT751,27345 -typedef struct s_PnmiRlmtMonitor s_PnmiRlmtMonitor753,27362 -} SK_PNMI_RLMT_MONITOR;SK_PNMI_RLMT_MONITOR759,27543 -typedef struct s_PnmiRequestStatus s_PnmiRequestStatus761,27568 -} SK_PNMI_REQUEST_STATUS;SK_PNMI_REQUEST_STATUS764,27651 -typedef struct s_PnmiStrucData s_PnmiStrucData766,27678 -} SK_PNMI_STRUCT_DATA;SK_PNMI_STRUCT_DATA826,29428 -#define SK_PNMI_STRUCT_SIZE 828,29452 -#define SK_PNMI_MIN_STRUCT_SIZE 829,29510 -#define SK_PNMI_MAX_PROTOS 840,29790 -#define SK_PNMI_CNT_NO 842,29821 -typedef struct s_PnmiEstimate s_PnmiEstimate850,30023 -} SK_PNMI_ESTIMATE;SK_PNMI_ESTIMATE855,30148 -typedef struct s_VctTimer s_VctTimer861,30205 -} SK_PNMI_VCT_TIMER;SK_PNMI_VCT_TIMER863,30254 -typedef struct s_PnmiPort s_PnmiPort869,30327 -} SK_PNMI_PORT;SK_PNMI_PORT895,31007 -typedef struct s_PnmiData s_PnmiData898,31025 -} SK_PNMI;SK_PNMI942,32119 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skdrv1st.h,2614 -#define __INC_SKDRV1ST_H40,1378 -typedef struct s_AC SK_AC;SK_AC45,1459 -#define SK_FAR48,1511 -#define SK_PNMI_STORE_U16(SK_PNMI_STORE_U1652,1597 -#define SK_PNMI_STORE_U32(SK_PNMI_STORE_U3253,1662 -#define SK_PNMI_STORE_U64(SK_PNMI_STORE_U6454,1727 -#define SK_PNMI_READ_U16(SK_PNMI_READ_U1655,1792 -#define SK_PNMI_READ_U32(SK_PNMI_READ_U3256,1856 -#define SK_PNMI_READ_U64(SK_PNMI_READ_U6457,1920 -#define SK_ADDR_EQUAL(SK_ADDR_EQUAL59,1985 -#define SK_CS_CALCULATE_CHECKSUM80,2473 -#define SkCsCalculateChecksum(SkCsCalculateChecksum82,2528 -#define SkCsCalculateChecksum(SkCsCalculateChecksum84,2605 -#define SK_LITTLE_ENDIAN94,2817 -#define SK_BIG_ENDIAN96,2848 -#define SK_NET_DEVICE 99,2878 -#define SK_TICKS_PER_SEC 103,2964 -#define SK_MEM_MAPPED_IO105,2994 -#define SK_MAX_MACS 109,3055 -#define SK_MAX_NETS 110,3078 -#define SK_IOC 112,3102 -typedef struct s_DrvRlmtMbuf SK_MBUF;SK_MBUF114,3126 -#define SK_CONST64 116,3165 -#define SK_CONSTU64 117,3192 -#define SK_MEMCPY(SK_MEMCPY119,3222 -#define SK_MEMCMP(SK_MEMCMP120,3277 -#define SK_MEMSET(SK_MEMSET121,3327 -#define SK_STRLEN(SK_STRLEN122,3382 -#define SK_STRNCPY(SK_STRNCPY123,3430 -#define SK_STRCMP(SK_STRCMP124,3509 -#define SK_OUT8(SK_OUT8127,3615 -#define SK_OUT16(SK_OUT16128,3663 -#define SK_OUT32(SK_OUT32129,3712 -#define SK_IN8(SK_IN8130,3761 -#define SK_IN16(SK_IN16131,3810 -#define SK_IN32(SK_IN32132,3860 -#define int8_t 134,3911 -#define int16_t 135,3932 -#define int32_t 136,3955 -#define int64_t 137,3977 -#define uint8_t 138,4004 -#define uint16_t 139,4028 -#define uint32_t 140,4053 -#define uint64_t 141,4077 -#define t_scalar_t 142,4113 -#define t_uscalar_t 143,4136 -#define uintptr_t 144,4169 -#define __CONCAT__(__CONCAT__146,4202 -#define INT32_C(INT32_C148,4232 -#define INT64_C(INT64_C149,4268 -#define UINT32_C(UINT32_C150,4305 -#define UINT64_C(UINT64_C151,4343 -#define SK_DBG_PRINTF 154,4396 -#define SK_DEBUG_CHKMOD 156,4450 -#define SK_DEBUG_CHKCAT 159,4508 -#define SK_DBG_CHKMOD(SK_DBG_CHKMOD162,4577 -#define SK_DBG_CHKCAT(SK_DBG_CHKCAT163,4622 -#define SK_DBGMOD_DRV 167,4718 -#define SK_DBGCAT_DRV_ENTRY 170,4827 -#define SK_DBGCAT_DRV_SAP 171,4867 -#define SK_DBGCAT_DRV_MCA 172,4905 -#define SK_DBGCAT_DRV_TX_PROGRESS 173,4943 -#define SK_DBGCAT_DRV_RX_PROGRESS 174,4988 -#define SK_DBGCAT_DRV_PROGRESS 175,5033 -#define SK_DBGCAT_DRV_MSG 176,5076 -#define SK_DBGCAT_DRV_PROM 177,5114 -#define SK_DBGCAT_DRV_TX_FRAME 178,5153 -#define SK_DBGCAT_DRV_ERROR 179,5196 -#define SK_DBGCAT_DRV_INT_SRC 180,5236 -#define SK_DBGCAT_DRV_EVENT 181,5278 -#define SK_ERR_LOG 185,5327 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skdebug.h,709 -#define __INC_SKDEBUG_H26,940 -#define SK_DBG_MSG(SK_DBG_MSG30,997 -#define SK_DBG_MSG(SK_DBG_MSG37,1166 -#define SK_DBGMOD_MERR 51,1554 -#define SK_DBGMOD_HWM 52,1627 -#define SK_DBGMOD_RLMT 53,1688 -#define SK_DBGMOD_VPD 54,1741 -#define SK_DBGMOD_I2C 55,1792 -#define SK_DBGMOD_PNMI 56,1843 -#define SK_DBGMOD_CSUM 57,1896 -#define SK_DBGMOD_ADDR 58,1949 -#define SK_DBGMOD_PECP 59,2002 -#define SK_DBGMOD_POWM 60,2055 -#define SK_DBGCAT_INIT 64,2141 -#define SK_DBGCAT_CTRL 65,2211 -#define SK_DBGCAT_ERR 66,2272 -#define SK_DBGCAT_TX 67,2333 -#define SK_DBGCAT_RX 68,2386 -#define SK_DBGCAT_IRQ 69,2438 -#define SK_DBGCAT_QUEUE 70,2499 -#define SK_DBGCAT_DUMP 71,2562 -#define SK_DBGCAT_FATAL 72,2635 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/sktypes.h,323 -#define __INC_SKTYPES_H39,1272 -#define SK_I8 47,1452 -#define SK_U8 48,1469 -#define SK_I16 49,1486 -#define SK_U16 50,1505 -#define SK_I32 51,1524 -#define SK_U32 52,1543 -#define SK_I64 53,1562 -#define SK_U64 54,1581 -#define SK_UPTR 56,1601 -#define SK_BOOL 61,1682 -#define SK_FALSE 62,1705 -#define SK_TRUE 63,1724 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/lm80.h,2418 -#define __INC_LM80_H27,977 -#define LM80_CFG 40,1209 -#define LM80_ISRC_1 41,1262 -#define LM80_ISRC_2 42,1323 -#define LM80_IMSK_1 43,1384 -#define LM80_IMSK_2 44,1443 -#define LM80_FAN_CTRL 45,1502 -#define LM80_TEMP_CTRL 46,1566 -#define LM80_VT0_IN 49,1677 -#define LM80_VT1_IN 50,1734 -#define LM80_VT2_IN 51,1791 -#define LM80_VT3_IN 52,1848 -#define LM80_VT4_IN 53,1905 -#define LM80_VT5_IN 54,1962 -#define LM80_VT6_IN 55,2019 -#define LM80_TEMP_IN 56,2076 -#define LM80_FAN1_IN 57,2135 -#define LM80_FAN2_IN 58,2188 -#define LM80_VT0_HIGH_LIM 60,2261 -#define LM80_VT0_LOW_LIM 61,2327 -#define LM80_VT1_HIGH_LIM 62,2391 -#define LM80_VT1_LOW_LIM 63,2457 -#define LM80_VT2_HIGH_LIM 64,2521 -#define LM80_VT2_LOW_LIM 65,2587 -#define LM80_VT3_HIGH_LIM 66,2651 -#define LM80_VT3_LOW_LIM 67,2717 -#define LM80_VT4_HIGH_LIM 68,2781 -#define LM80_VT4_LOW_LIM 69,2847 -#define LM80_VT5_HIGH_LIM 70,2911 -#define LM80_VT5_LOW_LIM 71,2977 -#define LM80_VT6_HIGH_LIM 72,3041 -#define LM80_VT6_LOW_LIM 73,3107 -#define LM80_THOT_LIM_UP 74,3171 -#define LM80_THOT_LIM_LO 75,3236 -#define LM80_TOS_LIM_UP 76,3300 -#define LM80_TOS_LIM_LO 77,3364 -#define LM80_FAN1_COUNT_LIM 78,3427 -#define LM80_FAN2_COUNT_LIM 79,3491 -#define LM80_CFG_START 87,3654 -#define LM80_CFG_INT_ENA 88,3718 -#define LM80_CFG_INT_POL 89,3790 -#define LM80_CFG_INT_CLR 90,3860 -#define LM80_CFG_RESET 91,3933 -#define LM80_CFG_CHASS_CLR 92,3986 -#define LM80_CFG_GPO 93,4060 -#define LM80_CFG_INIT 94,4115 -#define LM80_IS_VT0 98,4270 -#define LM80_IS_VT1 99,4334 -#define LM80_IS_VT2 100,4398 -#define LM80_IS_VT3 101,4462 -#define LM80_IS_VT4 102,4526 -#define LM80_IS_VT5 103,4590 -#define LM80_IS_VT6 104,4654 -#define LM80_IS_INT_IN 105,4718 -#define LM80_IS_TEMP 109,4865 -#define LM80_IS_BTI 110,4931 -#define LM80_IS_FAN1 111,4984 -#define LM80_IS_FAN2 112,5050 -#define LM80_IS_CI 113,5116 -#define LM80_IS_OS 114,5176 -#define LM80_IS_HT_IRQ_MD 116,5287 -#define LM80_IS_OT_IRQ_MD 117,5357 -#define LM80_FAN1_MD_SEL 120,5478 -#define LM80_FAN2_MD_SEL 121,5534 -#define LM80_FAN1_PRM_CTL 122,5590 -#define LM80_FAN2_PRM_CTL 123,5649 -#define LM80_FAN_OS_ENA 124,5708 -#define LM80_FAN_RST_ENA 125,5781 -#define LM80_TEMP_OS_STAT 128,5903 -#define LM80_TEMP_OS_POL 129,5976 -#define LM80_TEMP_OS_MODE 130,6034 -#define LM80_TEMP_RES 131,6096 -#define LM80_TEMP_LSB 132,6167 -#define LM80_TEMP_LSB_9 133,6231 -#define LM80_ADDR 168,7817 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgepnm2.h,4873 -#define _SKGEPNM2_H_26,959 -#define SK_PNMI_CHIPSET_XMAC 31,1011 -#define SK_PNMI_CHIPSET_YUKON 32,1060 -#define SK_PNMI_BUS_PCI 34,1105 -#define SK_PNMI_ACT_IDLE 39,1164 -#define SK_PNMI_ACT_RESET 40,1192 -#define SK_PNMI_ACT_SELFTEST 41,1221 -#define SK_PNMI_ACT_RESETCNT 42,1252 -#define SK_PNMI_VPD_RW 48,1316 -#define SK_PNMI_VPD_RO 49,1342 -#define SK_PNMI_VPD_OK 51,1369 -#define SK_PNMI_VPD_NOTFOUND 52,1396 -#define SK_PNMI_VPD_CUT 53,1427 -#define SK_PNMI_VPD_TIMEOUT 54,1455 -#define SK_PNMI_VPD_FULL 55,1486 -#define SK_PNMI_VPD_NOWRITE 56,1514 -#define SK_PNMI_VPD_FATAL 57,1545 -#define SK_PNMI_VPD_IGNORE 59,1575 -#define SK_PNMI_VPD_CREATE 60,1604 -#define SK_PNMI_VPD_DELETE 61,1633 -#define SK_PNMI_DEF_RLMT_CHG_THRES 67,1695 -#define SK_PNMI_VCT_PENDING 73,1800 -#define SK_PNMI_VCT_TEST_DONE 74,1831 -#define SK_PNMI_VCT_LINK 75,1864 -#define SK_PNMI_GET 80,1931 -#define SK_PNMI_PRESET 81,1954 -#define SK_PNMI_SET 82,1979 -#define SK_PNMI_RO 84,2003 -#define SK_PNMI_RW 85,2025 -#define SK_PNMI_WO 86,2047 -typedef struct s_OidTabEntry s_OidTabEntry88,2070 -} SK_PNMI_TAB_ENTRY;SK_PNMI_TAB_ENTRY99,2399 -#define SK_PNMI_TRAP_SIMPLE_LEN 105,2445 -#define SK_PNMI_TRAP_SENSOR_LEN_BASE 106,2482 -#define SK_PNMI_TRAP_RLMT_CHANGE_LEN 107,2522 -#define SK_PNMI_TRAP_RLMT_PORT_LEN 108,2562 -#define SK_PNMI_MAC_TYPES 113,2642 -enum SK_MACSTATS SK_MACSTATS118,2754 - SK_PNMI_HTX 119,2773 - SK_PNMI_HTX_OCTET,120,2794 - SK_PNMI_HTX_OCTETHIGH 121,2814 - SK_PNMI_HTX_OCTETHIGH = SK_PNMI_HTX_OCTET,121,2814 - SK_PNMI_HTX_OCTETLOW,122,2859 - SK_PNMI_HTX_BROADCAST,123,2882 - SK_PNMI_HTX_MULTICAST,124,2906 - SK_PNMI_HTX_UNICAST,125,2930 - SK_PNMI_HTX_BURST,126,2952 - SK_PNMI_HTX_PMACC,127,2972 - SK_PNMI_HTX_MACC,128,2992 - SK_PNMI_HTX_COL,129,3011 - SK_PNMI_HTX_SINGLE_COL,130,3029 - SK_PNMI_HTX_MULTI_COL,131,3054 - SK_PNMI_HTX_EXCESS_COL,132,3078 - SK_PNMI_HTX_LATE_COL,133,3103 - SK_PNMI_HTX_DEFFERAL,134,3126 - SK_PNMI_HTX_EXCESS_DEF,135,3149 - SK_PNMI_HTX_UNDERRUN,136,3174 - SK_PNMI_HTX_CARRIER,137,3197 - SK_PNMI_HTX_UTILUNDER,138,3219 - SK_PNMI_HTX_UTILOVER,139,3243 - SK_PNMI_HTX_64,140,3266 - SK_PNMI_HTX_127,141,3283 - SK_PNMI_HTX_255,142,3301 - SK_PNMI_HTX_511,143,3319 - SK_PNMI_HTX_1023,144,3337 - SK_PNMI_HTX_MAX,145,3356 - SK_PNMI_HTX_LONGFRAMES,146,3374 - SK_PNMI_HTX_SYNC,147,3399 - SK_PNMI_HTX_SYNC_OCTET,148,3418 - SK_PNMI_HTX_RESERVED,149,3443 - SK_PNMI_HRX,151,3468 - SK_PNMI_HRX_OCTET,152,3482 - SK_PNMI_HRX_OCTETHIGH 153,3502 - SK_PNMI_HRX_OCTETHIGH = SK_PNMI_HRX_OCTET,153,3502 - SK_PNMI_HRX_OCTETLOW,154,3546 - SK_PNMI_HRX_BADOCTET,155,3569 - SK_PNMI_HRX_BADOCTETHIGH 156,3592 - SK_PNMI_HRX_BADOCTETHIGH = SK_PNMI_HRX_BADOCTET,156,3592 - SK_PNMI_HRX_BADOCTETLOW,157,3642 - SK_PNMI_HRX_BROADCAST,158,3668 - SK_PNMI_HRX_MULTICAST,159,3692 - SK_PNMI_HRX_UNICAST,160,3716 - SK_PNMI_HRX_PMACC,161,3738 - SK_PNMI_HRX_MACC,162,3758 - SK_PNMI_HRX_PMACC_ERR,163,3777 - SK_PNMI_HRX_MACC_UNKWN,164,3801 - SK_PNMI_HRX_BURST,165,3826 - SK_PNMI_HRX_MISSED,166,3846 - SK_PNMI_HRX_FRAMING,167,3867 - SK_PNMI_HRX_UNDERSIZE,168,3889 - SK_PNMI_HRX_OVERFLOW,169,3913 - SK_PNMI_HRX_JABBER,170,3936 - SK_PNMI_HRX_CARRIER,171,3957 - SK_PNMI_HRX_IRLENGTH,172,3979 - SK_PNMI_HRX_SYMBOL,173,4002 - SK_PNMI_HRX_SHORTS,174,4023 - SK_PNMI_HRX_RUNT,175,4044 - SK_PNMI_HRX_TOO_LONG,176,4063 - SK_PNMI_HRX_FCS,177,4086 - SK_PNMI_HRX_CEXT,178,4104 - SK_PNMI_HRX_UTILUNDER,179,4123 - SK_PNMI_HRX_UTILOVER,180,4147 - SK_PNMI_HRX_64,181,4170 - SK_PNMI_HRX_127,182,4187 - SK_PNMI_HRX_255,183,4205 - SK_PNMI_HRX_511,184,4223 - SK_PNMI_HRX_1023,185,4241 - SK_PNMI_HRX_MAX,186,4260 - SK_PNMI_HRX_LONGFRAMES,187,4278 - SK_PNMI_HRX_RESERVED,189,4305 - SK_PNMI_MAX_IDX 191,4330 -typedef struct s_PnmiStatAddr s_PnmiStatAddr197,4435 -} SK_PNMI_STATADDR;SK_PNMI_STATADDR200,4597 -#define SK_PNMI_OFF(SK_PNMI_OFF206,4679 -#define SK_PNMI_MAI_OFF(SK_PNMI_MAI_OFF207,4755 -#define SK_PNMI_VPD_OFF(SK_PNMI_VPD_OFF208,4834 -#define SK_PNMI_SEN_OFF(SK_PNMI_SEN_OFF209,4905 -#define SK_PNMI_CHK_OFF(SK_PNMI_CHK_OFF210,4979 -#define SK_PNMI_STA_OFF(SK_PNMI_STA_OFF211,5055 -#define SK_PNMI_CNF_OFF(SK_PNMI_CNF_OFF212,5127 -#define SK_PNMI_RLM_OFF(SK_PNMI_RLM_OFF213,5199 -#define SK_PNMI_MON_OFF(SK_PNMI_MON_OFF214,5271 -#define SK_PNMI_TRP_OFF(SK_PNMI_TRP_OFF215,5351 -#define SK_PNMI_SET_STAT(SK_PNMI_SET_STAT217,5424 -#define SK_PNMI_HUNDREDS_SEC(SK_PNMI_HUNDREDS_SEC234,5926 -#define SK_PNMI_HUNDREDS_SEC(SK_PNMI_HUNDREDS_SEC236,5968 -#define SK_PNMI_STORE_U16(SK_PNMI_STORE_U16244,6179 -#define SK_PNMI_STORE_U32(SK_PNMI_STORE_U32250,6337 -#define SK_PNMI_STORE_U64(SK_PNMI_STORE_U64260,6613 -#define SK_PNMI_READ_U16(SK_PNMI_READ_U16278,7124 -#define SK_PNMI_READ_U32(SK_PNMI_READ_U32284,7280 -#define SK_PNMI_READ_U64(SK_PNMI_READ_U64294,7554 -#define SK_PNMI_CHECKFLAGS(SK_PNMI_CHECKFLAGS316,8080 -#define SK_PNMI_CHECKFLAGS(SK_PNMI_CHECKFLAGS330,8510 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skversion.h,216 -static const char SysKonnectFileId[26,932 -static const char SysKonnectBuildNumber[27,1000 -#define BOOT_STRING 31,1104 -#define VER_STRING 34,1208 -#define DRIVER_FILE_NAME 35,1234 -#define DRIVER_REL_DATE 36,1269 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgei2c.h,2577 -#define _INC_SKGEI2C_H_30,1017 -#define SK_I2C_CTL(SK_I2C_CTL35,1085 -#define SK_I2C_STOP(SK_I2C_STOP43,1355 -#define SK_I2C_GET_CTL(SK_I2C_GET_CTL49,1504 -#define SK_I2C_SET_BIT(SK_I2C_SET_BIT54,1628 -#define SK_I2C_CLR_BIT(SK_I2C_CLR_BIT60,1789 -#define SK_I2C_GET_SW(SK_I2C_GET_SW66,1953 -#define SK_SEN_IDLE 71,2064 -#define SK_SEN_VALUE 72,2115 -#define SK_SEN_VALEXT 73,2161 -#define SK_LM80_VT_LSB 79,2370 -#define SK_LM80_TEMP_LSB 80,2423 -#define SK_LM80_TEMPEXT_LSB 81,2481 -#define SK_LM80_FAN_FAKTOR 87,2668 -#define SK_MAX_SENSORS 94,2868 -#define SK_MIN_SENSORS 95,2932 -#define SK_TIMER_WATCH_SM 101,3095 -#define SK_TIMER_NEW_GAUGING 102,3169 -#define SK_SEN_TEMP_HIGH_ERR 109,3320 -#define SK_SEN_TEMP_HIGH_WARN 110,3391 -#define SK_SEN_TEMP_LOW_WARN 111,3463 -#define SK_SEN_TEMP_LOW_ERR 112,3534 -#define SK_SEN_PCI_5V_HIGH_ERR 115,3636 -#define SK_SEN_PCI_5V_HIGH_WARN 116,3711 -#define SK_SEN_PCI_5V_LOW_WARN 117,3787 -#define SK_SEN_PCI_5V_LOW_ERR 118,3862 -#define SK_SEN_PCI_IO_5V_HIGH_ERR 132,4353 -#define SK_SEN_PCI_IO_5V_HIGH_WARN 133,4432 -#define SK_SEN_PCI_IO_5V_LOW_WARN 135,4536 -#define SK_SEN_PCI_IO_5V_LOW_ERR 136,4615 -#define SK_SEN_PCI_IO_RANGE_LIMITER 138,4693 -#define SK_SEN_PCI_IO_3V3_HIGH_ERR 141,4809 -#define SK_SEN_PCI_IO_3V3_HIGH_WARN 142,4889 -#define SK_SEN_PCI_IO_3V3_LOW_WARN 144,4994 -#define SK_SEN_PCI_IO_3V3_LOW_ERR 145,5074 -#define SK_SEN_VDD_HIGH_ERR 150,5176 -#define SK_SEN_VDD_HIGH_WARN 151,5249 -#define SK_SEN_VDD_LOW_WARN 152,5322 -#define SK_SEN_VDD_LOW_ERR 153,5395 -#define SK_SEN_PLL_3V3_HIGH_ERR 158,5498 -#define SK_SEN_PLL_3V3_HIGH_WARN 159,5574 -#define SK_SEN_PLL_3V3_LOW_WARN 160,5650 -#define SK_SEN_PLL_3V3_LOW_ERR 161,5726 -#define SK_SEN_VAUX_3V3_HIGH_ERR 166,5830 -#define SK_SEN_VAUX_3V3_HIGH_WARN 167,5906 -#define SK_SEN_VAUX_3V3_LOW_WARN 168,5984 -#define SK_SEN_VAUX_3V3_LOW_ERR 169,6060 -#define SK_SEN_VAUX_0V_WARN_ERR 170,6135 -#define SK_SEN_VAUX_RANGE_LIMITER 171,6199 -#define SK_SEN_PHY_2V5_HIGH_ERR 176,6295 -#define SK_SEN_PHY_2V5_HIGH_WARN 177,6370 -#define SK_SEN_PHY_2V5_LOW_WARN 178,6446 -#define SK_SEN_PHY_2V5_LOW_ERR 179,6521 -#define SK_SEN_CORE_1V5_HIGH_ERR 184,6640 -#define SK_SEN_CORE_1V5_HIGH_WARN 185,6721 -#define SK_SEN_CORE_1V5_LOW_WARN 186,6804 -#define SK_SEN_CORE_1V5_LOW_ERR 187,6885 -#define SK_SEN_FAN_HIGH_ERR 197,7086 -#define SK_SEN_FAN_HIGH_WARN 198,7156 -#define SK_SEN_FAN_LOW_WARN 199,7227 -#define SK_SEN_FAN_LOW_ERR 200,7297 -#define SK_SEN_DYN_INIT_NONE 205,7414 -#define SK_SEN_DYN_INIT_PCI_IO 206,7484 -#define SK_SEN_DYN_INIT_VAUX 207,7558 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skdrv2nd.h,3552 -#define __INC_SKDRV2ND_H40,1385 -struct s_DrvRlmtMbuf s_DrvRlmtMbuf73,2359 -#define SK_PNMI_HUNDREDS_SEC(SK_PNMI_HUNDREDS_SEC90,2859 -#define SK_PNMI_HUNDREDS_SEC(SK_PNMI_HUNDREDS_SEC92,2901 -#define SkOsGetTimeCurrent(SkOsGetTimeCurrent99,3029 -#define SK_IOCTL_BASE 109,3202 -#define SK_IOCTL_GETMIB 110,3243 -#define SK_IOCTL_SETMIB 111,3289 -#define SK_IOCTL_PRESETMIB 112,3335 -#define SK_IOCTL_GEN 113,3383 -#define SK_IOCTL_DIAG 114,3426 -typedef struct s_IOCTL SK_GE_IOCTL;SK_GE_IOCTL116,3471 -struct s_IOCTL s_IOCTL118,3508 -#define TX_RING_SIZE 128,3624 -#define RX_RING_SIZE 129,3655 -#define ETH_BUF_SIZE 134,3731 -#define ETH_MAX_MTU 135,3757 -#define ETH_MIN_MTU 136,3782 -#define ETH_MULTICAST_BIT 137,3805 -#define SK_JUMBO_MTU 138,3836 -#define TX_PRIO_LOW 143,3939 -#define TX_PRIO_HIGH 144,3961 -#define DESCR_ALIGN 149,4026 -#define SK_DRIVER_RESET(SK_DRIVER_RESET154,4087 -#define SK_DRIVER_SENDEVENT(SK_DRIVER_SENDEVENT155,4123 -#define SK_DRIVER_SELFTEST(SK_DRIVER_SELFTEST156,4163 -#define SK_DRIVER_GET_MTU(SK_DRIVER_GET_MTU158,4249 -#define SK_DRIVER_SET_MTU(SK_DRIVER_SET_MTU159,4288 -#define SK_DRIVER_PRESET_MTU(SK_DRIVER_PRESET_MTU160,4329 -#define SK_DRV_TIMER 166,4484 -#define SK_DRV_MODERATION_TIMER 167,4511 -#define SK_DRV_MODERATION_TIMER_LENGTH 168,4546 -#define SK_DRV_RX_CLEANUP_TIMER 169,4610 -#define SK_DRV_RX_CLEANUP_TIMER_LENGTH 170,4645 -#define C_LEN_ETHERMAC_HEADER_DEST_ADDR 176,4799 -#define C_LEN_ETHERMAC_HEADER_SRC_ADDR 177,4841 -#define C_LEN_ETHERMAC_HEADER_LENTYPE 178,4883 -#define C_LEN_ETHERMAC_HEADER 179,4925 -#define C_LEN_ETHERMTU_MINSIZE 183,5162 -#define C_LEN_ETHERMTU_MAXSIZE_STD 184,5205 -#define C_LEN_ETHERMTU_MAXSIZE_JUMBO 185,5250 -#define C_LEN_ETHERNET_MINSIZE 187,5296 -#define C_OFFSET_IPHEADER 190,5436 -#define C_OFFSET_IPHEADER_IPPROTO 191,5498 -#define C_OFFSET_TCPHEADER_TCPCS 192,5540 -#define C_OFFSET_UDPHEADER_UDPCS 193,5583 -#define C_OFFSET_IPPROTO 195,5626 -#define C_PROTO_ID_UDP 198,5769 -#define C_PROTO_ID_TCP 199,5855 -typedef struct s_RxD RXD;RXD203,6023 -struct s_RxD s_RxD205,6079 -typedef struct s_TxD TXD;TXD218,6642 -struct s_TxD s_TxD220,6699 -#define DRIVER_IRQS 236,7359 -#define SPECIAL_IRQS 241,7498 -#define IRQ_MASK 251,7860 -#define IRQ_HWE_MASK 264,8364 -typedef struct s_DevNet DEV_NET;DEV_NET266,8424 -struct s_DevNet s_DevNet268,8458 -typedef struct s_TxPort TX_PORT;TX_PORT277,8621 -struct s_TxPort s_TxPort279,8656 -typedef struct s_RxPort RX_PORT;RX_PORT292,9172 -struct s_RxPort s_RxPort294,9207 -#define IRQ_EOF_AS_TX 310,9864 -#define IRQ_EOF_SY_TX 311,9920 -#define IRQ_MASK_TX_ONLY 312,9976 -#define IRQ_MASK_RX_ONLY 313,10037 -#define IRQ_MASK_SP_ONLY 314,10092 -#define IRQ_MASK_TX_RX 315,10133 -#define IRQ_MASK_SP_RX 316,10200 -#define IRQ_MASK_SP_TX 317,10267 -#define IRQ_MASK_RX_TX_SP 318,10334 -#define C_INT_MOD_NONE 320,10400 -#define C_INT_MOD_STATIC 321,10441 -#define C_INT_MOD_DYNAMIC 322,10482 -#define C_CLK_FREQ_GENESIS 324,10524 -#define C_CLK_FREQ_YUKON 325,10592 -#define C_INTS_PER_SEC_DEFAULT 327,10661 -#define C_INT_MOD_ENABLE_PERCENTAGE 328,10703 -#define C_INT_MOD_DISABLE_PERCENTAGE 329,10771 -#define C_INT_MOD_IPS_LOWER_RANGE 330,10839 -#define C_INT_MOD_IPS_UPPER_RANGE 331,10880 -typedef struct s_DynIrqModInfo DIM_INFO;DIM_INFO334,10926 -struct s_DynIrqModInfo s_DynIrqModInfo335,10968 -typedef struct s_PerStrm PER_STRM;PER_STRM360,12006 -#define SK_ALLOC_IRQ 362,12042 -#define DIAG_ACTIVE 365,12098 -#define DIAG_NOTACTIVE 366,12121 -struct s_AC s_AC374,12416 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgedrv.h,512 -#define __INC_SKGEDRV_H_26,941 -#define SK_DRV_PORT_RESET 35,1213 -#define SK_DRV_NET_UP 36,1276 -#define SK_DRV_NET_DOWN 37,1334 -#define SK_DRV_SWITCH_SOFT 38,1385 -#define SK_DRV_SWITCH_HARD 39,1461 -#define SK_DRV_RLMT_SEND 40,1530 -#define SK_DRV_ADAP_FAIL 41,1584 -#define SK_DRV_PORT_FAIL 42,1643 -#define SK_DRV_SWITCH_INTERN 43,1693 -#define SK_DRV_POWER_DOWN 44,1764 -#define SK_DRV_TIMER 45,1816 -#define SK_DRV_LINK_UP 47,1885 -#define SK_DRV_LINK_DOWN 48,1945 -#define SK_DRV_DOWNSHIFT_DET 50,2014 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skcsum.h,1213 -#define __INC_SKCSUM_H55,1865 -#define SKCS_PROTO_IP 67,2171 -#define SKCS_PROTO_TCP 68,2236 -#define SKCS_PROTO_UDP 69,2305 -#define SKCS_PROTO_STATS_IP 72,2407 -#define SKCS_PROTO_STATS_UDP 73,2437 -#define SKCS_PROTO_STATS_TCP 74,2468 -#define SKCS_NUM_PROTOCOLS 75,2499 -#define SKCS_STATUS 94,3418 -#define SKCS_STATUS_UNKNOWN_IP_VERSION 96,3469 -#define SKCS_STATUS_IP_CSUM_ERROR 97,3510 -#define SKCS_STATUS_IP_FRAGMENT 98,3547 -#define SKCS_STATUS_IP_CSUM_OK 99,3583 -#define SKCS_STATUS_TCP_CSUM_ERROR 100,3618 -#define SKCS_STATUS_UDP_CSUM_ERROR 101,3656 -#define SKCS_STATUS_TCP_CSUM_OK 102,3694 -#define SKCS_STATUS_UDP_CSUM_OK 103,3730 -#define SKCS_STATUS_IP_CSUM_ERROR_UDP 105,3793 -#define SKCS_STATUS_IP_CSUM_ERROR_TCP 106,3833 -#define SKCS_STATUS_IP_CSUM_OK_NO_UDP 108,3908 -#define SK_CSUM_EVENT_CLEAR_PROTO_STATS 112,4025 -#define SKCS_OC_ADD(SKCS_OC_ADD123,4332 -#define SKCS_OC_SUB(SKCS_OC_SUB136,4646 -typedef struct s_CsProtocolStatistics s_CsProtocolStatistics146,4972 -} SKCS_PROTO_STATS;SKCS_PROTO_STATS152,5276 -typedef struct s_Csum s_Csum157,5351 -} SK_CSUM;SK_CSUM166,5667 -typedef struct s_CsPacketInfo s_CsPacketInfo171,5742 -} SKCS_PACKET_INFO;SKCS_PACKET_INFO183,6078 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/sktimer.h,187 -#define _SKTIMER_H_30,1031 -typedef struct s_Timer SK_TIMER;SK_TIMER39,1189 -struct s_Timer s_Timer41,1223 -typedef struct s_TimCtrl s_TimCtrl54,1568 -} SK_TIMCTRL;SK_TIMCTRL56,1641 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/xmac_ii.h,32095 -#define __INC_XMAC_H26,962 -#define XM_MMU_CMD 49,1599 -#define XM_POFF 51,1689 -#define XM_BURST 52,1754 -#define XM_1L_VLAN_TAG 53,1826 -#define XM_2L_VLAN_TAG 54,1895 -#define XM_TX_CMD 56,1997 -#define XM_TX_RT_LIM 57,2066 -#define XM_TX_STIME 58,2141 -#define XM_TX_IPG 59,2213 -#define XM_RX_CMD 60,2282 -#define XM_PHY_ADDR 61,2350 -#define XM_PHY_DATA 62,2416 -#define XM_GP_PORT 64,2505 -#define XM_IMSK 65,2579 -#define XM_ISRC 66,2645 -#define XM_HW_CFG 67,2713 -#define XM_TX_LO_WM 69,2814 -#define XM_TX_HI_WM 70,2882 -#define XM_TX_THR 71,2951 -#define XM_HT_THR 72,3015 -#define XM_PAUSE_DA 73,3081 -#define XM_CTL_PARA 75,3178 -#define XM_MAC_OPCODE 76,3250 -#define XM_MAC_PTIME 77,3326 -#define XM_TX_STAT 78,3401 -#define XM_EXM_START 82,3583 -#define XM_EXM(XM_EXM93,3858 -#define XM_SRC_CHK 95,3909 -#define XM_SA 96,3983 -#define XM_HSM 97,4048 -#define XM_RX_LO_WM 98,4118 -#define XM_RX_HI_WM 99,4186 -#define XM_RX_THR 100,4255 -#define XM_DEV_ID 101,4324 -#define XM_MODE 102,4386 -#define XM_LSA 103,4442 -#define XM_TS_READ 105,4529 -#define XM_TS_LOAD 106,4598 -#define XM_STAT_CMD 108,4697 -#define XM_RX_CNT_EV 109,4769 -#define XM_TX_CNT_EV 110,4840 -#define XM_RX_EV_MSK 111,4911 -#define XM_TX_EV_MSK 112,4978 -#define XM_TXF_OK 114,5078 -#define XM_TXO_OK_HI 115,5151 -#define XM_TXO_OK_LO 116,5226 -#define XM_TXF_BC_OK 117,5301 -#define XM_TXF_MC_OK 118,5374 -#define XM_TXF_UC_OK 119,5447 -#define XM_TXF_LONG 120,5518 -#define XM_TXE_BURST 121,5585 -#define XM_TXF_MPAUSE 122,5653 -#define XM_TXF_MCTRL 123,5727 -#define XM_TXF_SNG_COL 124,5798 -#define XM_TXF_MUL_COL 125,5873 -#define XM_TXF_ABO_COL 126,5950 -#define XM_TXF_LAT_COL 127,6027 -#define XM_TXF_DEF 128,6100 -#define XM_TXF_EX_DEF 129,6170 -#define XM_TXE_FIFO_UR 130,6246 -#define XM_TXE_CS_ERR 131,6320 -#define XM_TXP_UTIL 132,6393 -#define XM_TXF_64B 134,6491 -#define XM_TXF_127B 135,6560 -#define XM_TXF_255B 136,6634 -#define XM_TXF_511B 137,6709 -#define XM_TXF_1023B 138,6784 -#define XM_TXF_MAX_SZ 139,6859 -#define XM_RXF_OK 141,6968 -#define XM_RXO_OK_HI 142,7030 -#define XM_RXO_OK_LO 143,7103 -#define XM_RXF_BC_OK 144,7178 -#define XM_RXF_MC_OK 145,7252 -#define XM_RXF_UC_OK 146,7326 -#define XM_RXF_MPAUSE 147,7398 -#define XM_RXF_MCTRL 148,7472 -#define XM_RXF_INV_MP 149,7543 -#define XM_RXF_INV_MOC 150,7616 -#define XM_RXE_BURST 151,7693 -#define XM_RXE_FMISS 152,7761 -#define XM_RXF_FRA_ERR 153,7833 -#define XM_RXE_FIFO_OV 154,7905 -#define XM_RXF_JAB_PKT 155,7979 -#define XM_RXE_CAR_ERR 156,8053 -#define XM_RXF_LEN_ERR 157,8127 -#define XM_RXE_SYM_ERR 158,8199 -#define XM_RXE_SHT_ERR 159,8270 -#define XM_RXE_RUNT 160,8342 -#define XM_RXF_LNG_ERR 161,8409 -#define XM_RXF_FCS_ERR 162,8484 -#define XM_RXF_CEX_ERR 164,8594 -#define XM_RXP_UTIL 165,8671 -#define XM_RXF_64B 167,8769 -#define XM_RXF_127B 168,8838 -#define XM_RXF_255B 169,8912 -#define XM_RXF_511B 170,8987 -#define XM_RXF_1023B 171,9062 -#define XM_RXF_MAX_SZ 172,9137 -#define XM_MMU_PHY_RDY 189,9666 -#define XM_MMU_PHY_BUSY 190,9726 -#define XM_MMU_IGN_PF 191,9781 -#define XM_MMU_MAC_LB 192,9844 -#define XM_MMU_FRC_COL 194,9938 -#define XM_MMU_SIM_COL 195,9998 -#define XM_MMU_NO_PRE 196,10061 -#define XM_MMU_GMII_FD 197,10121 -#define XM_MMU_RAT_CTRL 198,10187 -#define XM_MMU_GMII_LOOP 199,10252 -#define XM_MMU_ENA_RX 200,10322 -#define XM_MMU_ENA_TX 201,10381 -#define XM_TX_BK2BK 206,10532 -#define XM_TX_ENC_BYP 207,10604 -#define XM_TX_SAM_LINE 208,10674 -#define XM_TX_NO_GIG_MD 209,10753 -#define XM_TX_NO_PRE 210,10824 -#define XM_TX_NO_CRC 211,10894 -#define XM_TX_AUTO_PAD 212,10959 -#define XM_RT_LIM_MSK 217,11124 -#define XM_STIME_MSK 222,11275 -#define XM_IPG_MSK 227,11424 -#define XM_RX_LENERR_OK 232,11569 -#define XM_RX_BIG_PK_OK 234,11675 -#define XM_RX_IPG_CAP 236,11773 -#define XM_RX_TP_MD 237,11841 -#define XM_RX_STRIP_FCS 238,11907 -#define XM_RX_SELF_RX 239,11973 -#define XM_RX_SAM_LINE 240,12042 -#define XM_RX_STRIP_PAD 241,12121 -#define XM_RX_DIS_CEXT 242,12195 -#define XM_PHY_ADDR_SZ 247,12352 -#define XM_GP_ANIP 252,12508 -#define XM_GP_FRC_INT 253,12577 -#define XM_GP_RES_MAC 255,12673 -#define XM_GP_RES_STAT 256,12742 -#define XM_GP_INP_ASS 258,12851 -#define XM_IS_LNK_AE 264,13057 -#define XM_IS_TX_ABORT 265,13124 -#define XM_IS_FRC_INT 266,13199 -#define XM_IS_INP_ASS 267,13267 -#define XM_IS_LIPA_RC 268,13340 -#define XM_IS_RX_PAGE 269,13413 -#define XM_IS_TX_PAGE 270,13470 -#define XM_IS_AND 271,13543 -#define XM_IS_TSC_OV 272,13605 -#define XM_IS_RXC_OV 273,13675 -#define XM_IS_TXC_OV 274,13743 -#define XM_IS_RXF_OV 275,13811 -#define XM_IS_TXF_UR 276,13875 -#define XM_IS_TX_COMP 277,13940 -#define XM_IS_RX_COMP 278,14001 -#define XM_DEF_MSK 280,14063 -#define XM_HW_GEN_EOP 286,14283 -#define XM_HW_COM4SIG 287,14355 -#define XM_HW_GMII_MD 289,14459 -#define XM_TX_WM_MSK 295,14667 -#define XM_THR_MSK 301,14916 -#define XM_ST_VALID 305,15043 -#define XM_ST_BYTE_CNT 306,15101 -#define XM_ST_RETRY_CNT 307,15172 -#define XM_ST_EX_COL 308,15238 -#define XM_ST_EX_DEF 309,15303 -#define XM_ST_BURST 310,15366 -#define XM_ST_DEFER 311,15432 -#define XM_ST_BC 312,15495 -#define XM_ST_MC 313,15553 -#define XM_ST_UC 314,15611 -#define XM_ST_TX_UR 315,15667 -#define XM_ST_CS_ERR 316,15733 -#define XM_ST_LAT_COL 317,15797 -#define XM_ST_MUL_COL 318,15863 -#define XM_ST_SGN_COL 319,15928 -#define XM_RX_WM_MSK 324,16132 -#define XM_DEV_OUI 328,16250 -#define XM_DEV_REV 329,16315 -#define XM_MD_ENA_REJ 334,16456 -#define XM_MD_SPOE_E 335,16521 -#define XM_MD_TX_REP 337,16618 -#define XM_MD_SPOFF_I 338,16685 -#define XM_MD_LE_STW 340,16787 -#define XM_MD_TX_CONT 341,16861 -#define XM_MD_TX_PAUSE 342,16922 -#define XM_MD_ATS 343,16990 -#define XM_MD_SPOL_I 344,17050 -#define XM_MD_SPOH_I 346,17145 -#define XM_MD_CAP 348,17241 -#define XM_MD_ENA_HASH 349,17302 -#define XM_MD_CSA 350,17363 -#define XM_MD_CAA 351,17427 -#define XM_MD_RX_MCTRL 352,17489 -#define XM_MD_RX_RUNT 353,17556 -#define XM_MD_RX_IRLE 354,17616 -#define XM_MD_RX_LONG 355,17687 -#define XM_MD_RX_CRCE 356,17746 -#define XM_MD_RX_ERR 357,17810 -#define XM_MD_DIS_UC 358,17869 -#define XM_MD_DIS_MC 359,17932 -#define XM_MD_DIS_BC 360,17997 -#define XM_MD_ENA_PROM 361,18062 -#define XM_MD_ENA_BE 362,18127 -#define XM_MD_FTF 363,18189 -#define XM_MD_FRF 364,18250 -#define XM_PAUSE_MODE 366,18312 -#define XM_DEF_MODE 367,18379 -#define XM_SC_SNP_RXC 372,18600 -#define XM_SC_SNP_TXC 373,18665 -#define XM_SC_CP_RXC 374,18730 -#define XM_SC_CP_TXC 375,18803 -#define XM_SC_CLR_RXC 376,18875 -#define XM_SC_CLR_TXC 377,18941 -#define XMR_MAX_SZ_OV 382,19117 -#define XMR_1023B_OV 383,19185 -#define XMR_511B_OV 384,19251 -#define XMR_255B_OV 385,19317 -#define XMR_127B_OV 386,19383 -#define XMR_64B_OV 387,19449 -#define XMR_UTIL_OV 388,19510 -#define XMR_UTIL_UR 389,19575 -#define XMR_CEX_ERR_OV 390,19640 -#define XMR_FCS_ERR_OV 392,19734 -#define XMR_LNG_ERR_OV 393,19800 -#define XMR_RUNT_OV 394,19868 -#define XMR_SHT_ERR_OV 395,19930 -#define XMR_SYM_ERR_OV 396,19998 -#define XMR_CAR_ERR_OV 398,20094 -#define XMR_JAB_PKT_OV 399,20162 -#define XMR_FIFO_OV 400,20230 -#define XMR_FRA_ERR_OV 401,20295 -#define XMR_FMISS_OV 402,20363 -#define XMR_BURST 403,20427 -#define XMR_INV_MOC 404,20491 -#define XMR_INV_MP 405,20557 -#define XMR_MCTRL_OV 406,20622 -#define XMR_MPAUSE_OV 407,20687 -#define XMR_UC_OK_OV 408,20754 -#define XMR_MC_OK_OV 409,20820 -#define XMR_BC_OK_OV 410,20884 -#define XMR_OK_LO_OV 411,20948 -#define XMR_OK_HI_OV 412,21014 -#define XMR_OK_OV 413,21080 -#define XMR_DEF_MSK 415,21145 -#define XMT_MAX_SZ_OV 420,21341 -#define XMT_1023B_OV 421,21408 -#define XMT_511B_OV 422,21474 -#define XMT_255B_OV 423,21540 -#define XMT_127B_OV 424,21606 -#define XMT_64B_OV 425,21672 -#define XMT_UTIL_OV 426,21733 -#define XMT_UTIL_UR 427,21798 -#define XMT_CS_ERR_OV 428,21863 -#define XMT_FIFO_UR_OV 429,21930 -#define XMT_EX_DEF_OV 430,21997 -#define XMT_DEF 431,22064 -#define XMT_LAT_COL_OV 432,22124 -#define XMT_ABO_COL_OV 433,22189 -#define XMT_MUL_COL_OV 434,22257 -#define XMT_SNG_COL 435,22322 -#define XMT_MCTRL_OV 436,22387 -#define XMT_MPAUSE 437,22453 -#define XMT_BURST 438,22518 -#define XMT_LONG 439,22582 -#define XMT_UC_OK_OV 440,22644 -#define XMT_MC_OK_OV 441,22706 -#define XMT_BC_OK_OV 442,22770 -#define XMT_OK_LO_OV 443,22834 -#define XMT_OK_HI_OV 444,22900 -#define XMT_OK_OV 445,22966 -#define XMT_DEF_MSK 447,23025 -#define XMR_FS_LEN 452,23117 -#define XMR_FS_2L_VLAN 453,23185 -#define XMR_FS_1L_VLAN 454,23253 -#define XMR_FS_BC 455,23321 -#define XMR_FS_MC 456,23379 -#define XMR_FS_UC 457,23437 -#define XMR_FS_BURST 459,23525 -#define XMR_FS_CEX_ERR 460,23580 -#define XMR_FS_802_3 461,23645 -#define XMR_FS_COL_ERR 462,23701 -#define XMR_FS_CAR_ERR 463,23763 -#define XMR_FS_LEN_ERR 464,23829 -#define XMR_FS_FRA_ERR 465,23897 -#define XMR_FS_RUNT 466,23957 -#define XMR_FS_LNG_ERR 467,24012 -#define XMR_FS_FCS_ERR 468,24078 -#define XMR_FS_ERR 469,24145 -#define XMR_FS_MCTRL 470,24200 -#define XMR_FS_ANY_ERR 480,24543 -#define PHY_XMAC_CTRL 486,24722 -#define PHY_XMAC_STAT 487,24788 -#define PHY_XMAC_ID0 488,24853 -#define PHY_XMAC_ID1 489,24914 -#define PHY_XMAC_AUNE_ADV 490,24975 -#define PHY_XMAC_AUNE_LP 491,25047 -#define PHY_XMAC_AUNE_EXP 492,25115 -#define PHY_XMAC_NEPG 493,25187 -#define PHY_XMAC_NEPG_LP 494,25251 -#define PHY_XMAC_EXT_STAT 496,25351 -#define PHY_XMAC_RES_ABI 497,25419 -#define PHY_BCOM_CTRL 503,25632 -#define PHY_BCOM_STAT 504,25698 -#define PHY_BCOM_ID0 505,25763 -#define PHY_BCOM_ID1 506,25824 -#define PHY_BCOM_AUNE_ADV 507,25885 -#define PHY_BCOM_AUNE_LP 508,25957 -#define PHY_BCOM_AUNE_EXP 509,26026 -#define PHY_BCOM_NEPG 510,26098 -#define PHY_BCOM_NEPG_LP 511,26162 -#define PHY_BCOM_1000T_CTRL 513,26267 -#define PHY_BCOM_1000T_STAT 514,26337 -#define PHY_BCOM_EXT_STAT 516,26439 -#define PHY_BCOM_P_EXT_CTRL 517,26507 -#define PHY_BCOM_P_EXT_STAT 518,26579 -#define PHY_BCOM_RE_CTR 519,26651 -#define PHY_BCOM_FC_CTR 520,26720 -#define PHY_BCOM_RNO_CTR 521,26791 -#define PHY_BCOM_AUX_CTRL 523,26888 -#define PHY_BCOM_AUX_STAT 524,26958 -#define PHY_BCOM_INT_STAT 525,27029 -#define PHY_BCOM_INT_MASK 526,27098 -#define PHY_MARV_CTRL 534,27367 -#define PHY_MARV_STAT 535,27433 -#define PHY_MARV_ID0 536,27498 -#define PHY_MARV_ID1 537,27559 -#define PHY_MARV_AUNE_ADV 538,27620 -#define PHY_MARV_AUNE_LP 539,27692 -#define PHY_MARV_AUNE_EXP 540,27761 -#define PHY_MARV_NEPG 541,27833 -#define PHY_MARV_NEPG_LP 542,27897 -#define PHY_MARV_1000T_CTRL 544,28000 -#define PHY_MARV_1000T_STAT 545,28070 -#define PHY_MARV_EXT_STAT 547,28172 -#define PHY_MARV_PHY_CTRL 548,28240 -#define PHY_MARV_PHY_STAT 549,28310 -#define PHY_MARV_INT_MASK 550,28380 -#define PHY_MARV_INT_STAT 551,28447 -#define PHY_MARV_EXT_CTRL 552,28516 -#define PHY_MARV_RXE_CNT 553,28587 -#define PHY_MARV_EXT_ADR 554,28656 -#define PHY_MARV_LED_CTRL 556,28751 -#define PHY_MARV_LED_OVER 557,28815 -#define PHY_MARV_EXT_CTRL_2 558,28887 -#define PHY_MARV_EXT_P_STAT 559,28962 -#define PHY_MARV_CABLE_DIAG 560,29036 -#define PHY_LONE_CTRL 567,29283 -#define PHY_LONE_STAT 568,29349 -#define PHY_LONE_ID0 569,29414 -#define PHY_LONE_ID1 570,29475 -#define PHY_LONE_AUNE_ADV 571,29536 -#define PHY_LONE_AUNE_LP 572,29608 -#define PHY_LONE_AUNE_EXP 573,29677 -#define PHY_LONE_NEPG 574,29749 -#define PHY_LONE_NEPG_LP 575,29813 -#define PHY_LONE_1000T_CTRL 577,29919 -#define PHY_LONE_1000T_STAT 578,29991 -#define PHY_LONE_EXT_STAT 580,30092 -#define PHY_LONE_PORT_CFG 581,30160 -#define PHY_LONE_Q_STAT 582,30230 -#define PHY_LONE_INT_ENAB 583,30294 -#define PHY_LONE_INT_STAT 584,30363 -#define PHY_LONE_LED_CFG 585,30432 -#define PHY_LONE_PORT_CTRL 586,30501 -#define PHY_LONE_CIM 587,30567 -#define PHY_NAT_CTRL 594,30793 -#define PHY_NAT_STAT 595,30858 -#define PHY_NAT_ID0 596,30922 -#define PHY_NAT_ID1 597,30983 -#define PHY_NAT_AUNE_ADV 598,31044 -#define PHY_NAT_AUNE_LP 599,31115 -#define PHY_NAT_AUNE_EXP 600,31187 -#define PHY_NAT_NEPG 601,31258 -#define PHY_NAT_NEPG_LP 602,31321 -#define PHY_NAT_1000T_CTRL 604,31430 -#define PHY_NAT_1000T_STAT 605,31502 -#define PHY_NAT_EXT_STAT 607,31602 -#define PHY_NAT_EXT_CTRL1 608,31674 -#define PHY_NAT_Q_STAT1 609,31744 -#define PHY_NAT_10B_OP 610,31809 -#define PHY_NAT_EXT_CTRL2 611,31879 -#define PHY_NAT_Q_STAT2 612,31949 -#define PHY_NAT_PHY_ADDR 614,32043 -#define PHY_CT_RESET 630,32616 -#define PHY_CT_LOOP 631,32691 -#define PHY_CT_SPS_LSB 632,32759 -#define PHY_CT_ANE 633,32836 -#define PHY_CT_PDOWN 634,32903 -#define PHY_CT_ISOL 635,32970 -#define PHY_CT_RE_CFG 636,33034 -#define PHY_CT_DUP_MD 637,33107 -#define PHY_CT_COL_TST 638,33162 -#define PHY_CT_SPS_MSB 639,33237 -#define PHY_CT_SP1000 642,33348 -#define PHY_CT_SP100 643,33417 -#define PHY_CT_SP10 644,33485 -#define PHY_ST_EXT_ST 653,33867 -#define PHY_ST_PRE_SUP 655,33965 -#define PHY_ST_AN_OVER 656,34038 -#define PHY_ST_REM_FLT 657,34104 -#define PHY_ST_AN_CAP 658,34179 -#define PHY_ST_LSYNC 659,34250 -#define PHY_ST_JAB_DET 660,34310 -#define PHY_ST_EXT_REG 661,34378 -#define PHY_I1_OUI_MSK 668,34660 -#define PHY_I1_MOD_NUM 669,34735 -#define PHY_I1_REV_MSK 670,34799 -#define PHY_BCOM_ID1_A1 673,34896 -#define PHY_BCOM_ID1_B2 674,34928 -#define PHY_BCOM_ID1_C0 675,34960 -#define PHY_BCOM_ID1_C5 676,34992 -#define PHY_AN_NXT_PG 681,35169 -#define PHY_X_AN_ACK 682,35231 -#define PHY_X_AN_RFB 683,35300 -#define PHY_X_AN_PAUSE 685,35400 -#define PHY_X_AN_HD 686,35459 -#define PHY_X_AN_FD 687,35513 -#define PHY_B_AN_RF 694,35835 -#define PHY_B_AN_ASP 696,35922 -#define PHY_B_AN_PC 697,35982 -#define PHY_B_AN_SEL 699,36092 -#define PHY_L_AN_RF 705,36397 -#define PHY_L_AN_ASP 707,36484 -#define PHY_L_AN_PC 708,36544 -#define PHY_L_AN_SEL 710,36654 -#define PHY_N_AN_RF 716,36958 -#define PHY_N_AN_100F 718,37045 -#define PHY_N_AN_100H 719,37111 -#define PHY_N_AN_SEL 721,37230 -#define PHY_SEL_TYPE 724,37348 -#define PHY_ANE_LP_NP 728,37507 -#define PHY_ANE_LOC_NP 729,37577 -#define PHY_ANE_RX_PG 730,37645 -#define PHY_ANE_PAR_DF 737,37993 -#define PHY_ANE_LP_CAP 741,38248 -#define PHY_NP_MORE 749,38701 -#define PHY_NP_ACK1 750,38771 -#define PHY_NP_MSG_VAL 751,38849 -#define PHY_NP_ACK2 752,38913 -#define PHY_NP_TOG 753,38986 -#define PHY_NP_MSG 754,39052 -#define PHY_X_EX_FD 760,39219 -#define PHY_X_EX_HD 761,39290 -#define PHY_X_RS_PAUSE 766,39494 -#define PHY_X_RS_HD 767,39561 -#define PHY_X_RS_FD 768,39629 -#define PHY_X_RS_ABLMIS 769,39697 -#define PHY_X_RS_PAUMIS 770,39771 -#define X_RFB_OK 775,39928 -#define X_RFB_LF 776,39990 -#define X_RFB_OFF 777,40046 -#define X_RFB_AN_ERR 778,40098 -#define PHY_X_P_NO_PAUSE 783,40234 -#define PHY_X_P_SYM_MD 784,40297 -#define PHY_X_P_ASYM_MD 785,40366 -#define PHY_X_P_BOTH_MD 786,40437 -#define PHY_B_1000C_TEST 793,40601 -#define PHY_B_1000C_MSE 794,40663 -#define PHY_B_1000C_MSC 795,40730 -#define PHY_B_1000C_RD 796,40795 -#define PHY_B_1000C_AFD 797,40854 -#define PHY_B_1000C_AHD 798,40922 -#define PHY_B_1000S_MSF 803,41162 -#define PHY_B_1000S_MSR 804,41228 -#define PHY_B_1000S_LRS 805,41295 -#define PHY_B_1000S_RRS 806,41364 -#define PHY_B_1000S_LP_FD 807,41434 -#define PHY_B_1000S_LP_HD 808,41502 -#define PHY_B_1000S_IEC 810,41605 -#define PHY_B_ES_X_FD_CAP 813,41739 -#define PHY_B_ES_X_HD_CAP 814,41809 -#define PHY_B_ES_T_FD_CAP 815,41879 -#define PHY_B_ES_T_HD_CAP 816,41949 -#define PHY_B_PEC_MAC_PHY 820,42126 -#define PHY_B_PEC_DIS_CROSS 821,42194 -#define PHY_B_PEC_TX_DIS 822,42266 -#define PHY_B_PEC_INT_DIS 823,42332 -#define PHY_B_PEC_F_INT 824,42400 -#define PHY_B_PEC_BY_45 825,42463 -#define PHY_B_PEC_BY_SCR 826,42530 -#define PHY_B_PEC_BY_MLT3 827,42593 -#define PHY_B_PEC_BY_RXA 828,42660 -#define PHY_B_PEC_RES_SCR 829,42724 -#define PHY_B_PEC_EN_LTR 830,42787 -#define PHY_B_PEC_LED_ON 831,42854 -#define PHY_B_PEC_LED_OFF 832,42915 -#define PHY_B_PEC_EX_IPG 833,42978 -#define PHY_B_PEC_3_LED 834,43043 -#define PHY_B_PEC_HIGH_LA 835,43109 -#define PHY_B_PES_CROSS_STAT 839,43282 -#define PHY_B_PES_INT_STAT 840,43354 -#define PHY_B_PES_RRS 841,43420 -#define PHY_B_PES_LRS 842,43487 -#define PHY_B_PES_LOCKED 843,43553 -#define PHY_B_PES_LS 844,43606 -#define PHY_B_PES_RF 845,43661 -#define PHY_B_PES_CE_ER 846,43717 -#define PHY_B_PES_BAD_SSD 847,43781 -#define PHY_B_PES_BAD_ESD 848,43836 -#define PHY_B_PES_RX_ER 849,43891 -#define PHY_B_PES_TX_ER 850,43951 -#define PHY_B_PES_LOCK_ER 851,44012 -#define PHY_B_PES_MLT3_ER 852,44070 -#define PHY_B_FC_CTR 856,44234 -#define PHY_B_RC_LOC_MSK 859,44367 -#define PHY_B_RC_REM_MSK 860,44436 -#define PHY_B_AC_L_SQE 863,44573 -#define PHY_B_AC_LONG_PACK 864,44631 -#define PHY_B_AC_ER_CTRL 865,44696 -#define PHY_B_AC_TX_TST 867,44796 -#define PHY_B_AC_DIS_PRF 869,44901 -#define PHY_B_AC_DIS_PM 871,45000 -#define PHY_B_AC_DIAG 873,45099 -#define PHY_B_AS_AN_C 877,45261 -#define PHY_B_AS_AN_CA 878,45323 -#define PHY_B_AS_ANACK_D 879,45385 -#define PHY_B_AS_ANAB_D 880,45446 -#define PHY_B_AS_NPW 881,45511 -#define PHY_B_AS_AN_RES_MSK 882,45573 -#define PHY_B_AS_PDF 883,45632 -#define PHY_B_AS_RF 884,45698 -#define PHY_B_AS_ANP_R 885,45754 -#define PHY_B_AS_LP_ANAB 886,45816 -#define PHY_B_AS_LP_NPAB 887,45876 -#define PHY_B_AS_LS 888,45943 -#define PHY_B_AS_PRR 889,45998 -#define PHY_B_AS_PRT 890,46061 -#define PHY_B_AS_PAUSE_MSK 892,46125 -#define PHY_B_IS_PSE 897,46343 -#define PHY_B_IS_MDXI_SC 898,46403 -#define PHY_B_IS_HCT 899,46469 -#define PHY_B_IS_LCT 900,46531 -#define PHY_B_IS_AN_PR 901,46593 -#define PHY_B_IS_NO_HDCL 902,46653 -#define PHY_B_IS_NO_HDC 903,46711 -#define PHY_B_IS_NEG_USHDC 904,46764 -#define PHY_B_IS_SCR_S_ER 905,46834 -#define PHY_B_IS_RRS_CHANGE 906,46902 -#define PHY_B_IS_LRS_CHANGE 907,46973 -#define PHY_B_IS_DUP_CHANGE 908,47043 -#define PHY_B_IS_LSP_CHANGE 909,47111 -#define PHY_B_IS_LST_CHANGE 910,47178 -#define PHY_B_IS_CRC_ER 911,47247 -#define PHY_B_DEF_MSK 913,47304 -#define PHY_B_P_NO_PAUSE 916,47426 -#define PHY_B_P_SYM_MD 917,47491 -#define PHY_B_P_ASYM_MD 918,47562 -#define PHY_B_P_BOTH_MD 919,47635 -#define PHY_B_RES_1000FD 924,47776 -#define PHY_B_RES_1000HD 925,47846 -#define PHY_L_1000C_TEST 932,48052 -#define PHY_L_1000C_MSE 933,48114 -#define PHY_L_1000C_MSC 934,48181 -#define PHY_L_1000C_RD 935,48246 -#define PHY_L_1000C_AFD 936,48305 -#define PHY_L_1000C_AHD 937,48373 -#define PHY_L_1000S_MSF 941,48545 -#define PHY_L_1000S_MSR 942,48611 -#define PHY_L_1000S_LRS 943,48678 -#define PHY_L_1000S_RRS 944,48747 -#define PHY_L_1000S_LP_FD 945,48817 -#define PHY_L_1000S_LP_HD 946,48885 -#define PHY_B_1000S_IEC 948,48988 -#define PHY_L_ES_X_FD_CAP 951,49122 -#define PHY_L_ES_X_HD_CAP 952,49192 -#define PHY_L_ES_T_FD_CAP 953,49262 -#define PHY_L_ES_T_HD_CAP 954,49332 -#define PHY_L_PC_REP_MODE 958,49505 -#define PHY_L_PC_TX_DIS 960,49599 -#define PHY_L_PC_BY_SCR 961,49665 -#define PHY_L_PC_BY_45 962,49729 -#define PHY_L_PC_JAB_DIS 963,49795 -#define PHY_L_PC_SQE 964,49858 -#define PHY_L_PC_TP_LOOP 965,49918 -#define PHY_L_PC_SSS 966,49976 -#define PHY_L_PC_FIFO_SIZE 967,50041 -#define PHY_L_PC_PRE_EN 968,50099 -#define PHY_L_PC_CIM 969,50161 -#define PHY_L_PC_10_SER 970,50226 -#define PHY_L_PC_ANISOL 971,50290 -#define PHY_L_PC_TEN_BIT 972,50351 -#define PHY_L_PC_ALTCLOCK 973,50417 -#define PHY_L_QS_D_RATE 976,50547 -#define PHY_L_QS_TX_STAT 977,50608 -#define PHY_L_QS_RX_STAT 978,50668 -#define PHY_L_QS_COL_STAT 979,50725 -#define PHY_L_QS_L_STAT 980,50783 -#define PHY_L_QS_DUP_MOD 981,50841 -#define PHY_L_QS_AN 982,50904 -#define PHY_L_QS_AN_C 983,50961 -#define PHY_L_QS_LLE 984,51020 -#define PHY_L_QS_PAUSE 985,51082 -#define PHY_L_QS_AS_PAUSE 986,51147 -#define PHY_L_QS_ISOLATE 987,51214 -#define PHY_L_QS_EVENT 988,51273 -#define PHY_L_IS_AN_F 993,51504 -#define PHY_L_IS_CROSS 995,51609 -#define PHY_L_IS_POL 996,51670 -#define PHY_L_IS_SS 997,51737 -#define PHY_L_IS_CFULL 998,51802 -#define PHY_L_IS_AN_C 999,51860 -#define PHY_L_IS_SPEED 1000,51921 -#define PHY_L_IS_DUP 1001,51980 -#define PHY_L_IS_LS 1002,52038 -#define PHY_L_IS_ISOL 1003,52101 -#define PHY_L_IS_MDINT 1004,52161 -#define PHY_L_IS_INTEN 1005,52233 -#define PHY_L_IS_FORCE 1006,52296 -#define PHY_L_DEF_MSK 1009,52380 -#define PHY_L_LC_LEDC 1012,52516 -#define PHY_L_LC_LEDR 1013,52582 -#define PHY_L_LC_LEDT 1014,52647 -#define PHY_L_LC_LEDG 1015,52712 -#define PHY_L_LC_LEDS 1016,52777 -#define PHY_L_LC_LEDL 1017,52844 -#define PHY_L_LC_LEDF 1018,52909 -#define PHY_L_LC_PSTRECH 1019,52976 -#define PHY_L_LC_FREQ 1020,53040 -#define PHY_L_PC_TX_TCLK 1023,53157 -#define PHY_L_PC_ALT_NP 1025,53251 -#define PHY_L_PC_GMII_ALT 1026,53318 -#define PHY_L_PC_TEN_CRS 1028,53420 -#define PHY_L_CIM_ISOL 1032,53566 -#define PHY_L_CIM_FALSE_CAR 1033,53629 -#define PHY_L_P_NO_PAUSE 1039,53765 -#define PHY_L_P_SYM_MD 1040,53830 -#define PHY_L_P_ASYM_MD 1041,53901 -#define PHY_L_P_BOTH_MD 1042,53974 -#define PHY_N_1000C_TEST 1049,54139 -#define PHY_N_1000C_MSE 1050,54201 -#define PHY_N_1000C_MSC 1051,54268 -#define PHY_N_1000C_RD 1052,54333 -#define PHY_N_1000C_AFD 1053,54392 -#define PHY_N_1000C_AHD 1054,54460 -#define PHY_N_1000C_APC 1055,54528 -#define PHY_N_1000S_MSF 1059,54699 -#define PHY_N_1000S_MSR 1060,54765 -#define PHY_N_1000S_LRS 1061,54832 -#define PHY_N_1000S_RRS 1062,54901 -#define PHY_N_1000S_LP_FD 1063,54970 -#define PHY_N_1000S_LP_HD 1064,55038 -#define PHY_N_1000C_LP_APC 1065,55106 -#define PHY_N_1000S_IEC 1067,55206 -#define PHY_N_ES_X_FD_CAP 1070,55339 -#define PHY_N_ES_X_HD_CAP 1071,55409 -#define PHY_N_ES_T_FD_CAP 1072,55479 -#define PHY_N_ES_T_HD_CAP 1073,55549 -#define PHY_M_AN_NXT_PG 1089,56243 -#define PHY_M_AN_ACK 1090,56299 -#define PHY_M_AN_RF 1091,56360 -#define PHY_M_AN_ASP 1093,56440 -#define PHY_M_AN_PC 1094,56492 -#define PHY_M_AN_100_FD 1095,56549 -#define PHY_M_AN_100_HD 1096,56619 -#define PHY_M_AN_10_FD 1097,56689 -#define PHY_M_AN_10_HD 1098,56757 -#define PHY_M_AN_ASP_X 1101,56874 -#define PHY_M_AN_PC_X 1102,56927 -#define PHY_M_AN_1000X_AHD 1103,56984 -#define PHY_M_AN_1000X_AFD 1104,57057 -#define PHY_M_P_NO_PAUSE_X 1107,57192 -#define PHY_M_P_SYM_MD_X 1108,57258 -#define PHY_M_P_ASYM_MD_X 1109,57329 -#define PHY_M_P_BOTH_MD_X 1110,57402 -#define PHY_M_1000C_TEST 1113,57539 -#define PHY_M_1000C_MSE 1114,57601 -#define PHY_M_1000C_MSC 1115,57675 -#define PHY_M_1000C_MPD 1116,57751 -#define PHY_M_1000C_AFD 1117,57816 -#define PHY_M_1000C_AHD 1118,57884 -#define PHY_M_PC_TX_FFD_MSK 1122,58054 -#define PHY_M_PC_RX_FFD_MSK 1123,58127 -#define PHY_M_PC_ASS_CRS_TX 1124,58200 -#define PHY_M_PC_FL_GOOD 1125,58273 -#define PHY_M_PC_EN_DET_MSK 1126,58336 -#define PHY_M_PC_ENA_EXT_D 1127,58408 -#define PHY_M_PC_MDIX_MSK 1128,58484 -#define PHY_M_PC_DIS_125CLK 1129,58557 -#define PHY_M_PC_MAC_POW_UP 1130,58622 -#define PHY_M_PC_SQE_T_ENA 1131,58684 -#define PHY_M_PC_POL_R_DIS 1132,58749 -#define PHY_M_PC_DIS_JABBER 1133,58824 -#define PHY_M_PC_EN_DET 1135,58889 -#define PHY_M_PC_EN_DET_PLUS 1136,58954 -#define PHY_M_PC_MDI_XMODE(PHY_M_PC_MDI_XMODE1138,59028 -#define PHY_M_PC_MAN_MDI 1139,59069 -#define PHY_M_PC_MAN_MDIX 1140,59136 -#define PHY_M_PC_ENA_AUTO 1141,59202 -#define PHY_M_PS_SPEED_MSK 1144,59338 -#define PHY_M_PS_SPEED_1000 1145,59402 -#define PHY_M_PS_SPEED_100 1146,59465 -#define PHY_M_PS_SPEED_10 1147,59527 -#define PHY_M_PS_FULL_DUP 1148,59583 -#define PHY_M_PS_PAGE_REC 1149,59643 -#define PHY_M_PS_SPDUP_RES 1150,59705 -#define PHY_M_PS_LINK_UP 1151,59778 -#define PHY_M_PS_CABLE_MSK 1152,59833 -#define PHY_M_PS_MDI_X_STAT 1153,59903 -#define PHY_M_PS_DOWNS_STAT 1154,59980 -#define PHY_M_PS_ENDET_STAT 1155,60058 -#define PHY_M_PS_TX_P_EN 1156,60136 -#define PHY_M_PS_RX_P_EN 1157,60199 -#define PHY_M_PS_POL_REV 1158,60262 -#define PHY_M_PC_JABBER 1159,60326 -#define PHY_M_PS_PAUSE_MSK 1161,60380 -#define PHY_M_IS_AN_ERROR 1165,60574 -#define PHY_M_IS_LSP_CHANGE 1166,60645 -#define PHY_M_IS_DUP_CHANGE 1167,60714 -#define PHY_M_IS_AN_PR 1168,60784 -#define PHY_M_IS_AN_COMPL 1169,60844 -#define PHY_M_IS_LST_CHANGE 1170,60919 -#define PHY_M_IS_SYMB_ERROR 1171,60989 -#define PHY_M_IS_FALSE_CARR 1172,61051 -#define PHY_M_IS_FIFO_ERROR 1173,61114 -#define PHY_M_IS_MDI_CHANGE 1174,61192 -#define PHY_M_IS_DOWNSH_DET 1175,61263 -#define PHY_M_IS_END_CHANGE 1176,61331 -#define PHY_M_IS_POL_CHANGE 1178,61437 -#define PHY_M_IS_JABBER 1179,61503 -#define PHY_M_DEF_MSK 1181,61557 -#define PHY_M_EC_M_DSC_MSK 1185,61738 -#define PHY_M_EC_S_DSC_MSK 1186,61816 -#define PHY_M_EC_MAC_S_MSK 1187,61893 -#define PHY_M_EC_FIB_AN_ENA 1188,61970 -#define PHY_M_EC_M_DSC(PHY_M_EC_M_DSC1190,62043 -#define PHY_M_EC_S_DSC(PHY_M_EC_S_DSC1191,62114 -#define PHY_M_EC_MAC_S(PHY_M_EC_MAC_S1192,62185 -#define MAC_TX_CLK_0_MHZ 1194,62258 -#define MAC_TX_CLK_2_5_MHZ 1195,62285 -#define MAC_TX_CLK_25_MHZ 1196,62314 -#define PHY_M_LEDC_DIS_LED 1199,62403 -#define PHY_M_LEDC_PULS_MSK 1200,62464 -#define PHY_M_LEDC_F_INT 1201,62538 -#define PHY_M_LEDC_BL_R_MSK 1202,62601 -#define PHY_M_LEDC_LINK_MSK 1204,62707 -#define PHY_M_LEDC_DP_CTRL 1205,62778 -#define PHY_M_LEDC_RX_CTRL 1206,62841 -#define PHY_M_LEDC_TX_CTRL 1207,62908 -#define PHY_M_LED_PULS_DUR(PHY_M_LED_PULS_DUR1209,62976 -#define PULS_NO_STR 1211,63047 -#define PULS_21MS 1212,63097 -#define PULS_42MS 1213,63140 -#define PULS_84MS 1214,63183 -#define PULS_170MS 1215,63227 -#define PULS_340MS 1216,63273 -#define PULS_670MS 1217,63319 -#define PULS_1300MS 1218,63364 -#define PHY_M_LED_BLINK_RT(PHY_M_LED_BLINK_RT1220,63410 -#define BLINK_42MS 1222,63468 -#define BLINK_84MS 1223,63503 -#define BLINK_170MS 1224,63538 -#define BLINK_340MS 1225,63575 -#define BLINK_670MS 1226,63612 -#define PHY_M_LED_MO_DUP(PHY_M_LED_MO_DUP1230,63755 -#define PHY_M_LED_MO_10(PHY_M_LED_MO_101231,63821 -#define PHY_M_LED_MO_100(PHY_M_LED_MO_1001232,63886 -#define PHY_M_LED_MO_1000(PHY_M_LED_MO_10001233,63953 -#define PHY_M_LED_MO_RX(PHY_M_LED_MO_RX1234,64021 -#define PHY_M_LED_MO_TX(PHY_M_LED_MO_TX1235,64081 -#define MO_LED_NORM 1237,64142 -#define MO_LED_BLINK 1238,64166 -#define MO_LED_OFF 1239,64190 -#define MO_LED_ON 1240,64213 -#define PHY_M_EC2_FI_IMPED 1244,64343 -#define PHY_M_EC2_FO_IMPED 1245,64414 -#define PHY_M_EC2_FO_M_CLK 1246,64485 -#define PHY_M_EC2_FO_BOOST 1247,64557 -#define PHY_M_EC2_FO_AM_MSK 1248,64624 -#define PHY_M_FC_AUTO_SEL 1251,64767 -#define PHY_M_FC_AN_REG_ACC 1252,64843 -#define PHY_M_FC_RESULUTION 1253,64923 -#define PHY_M_SER_IF_AN_BP 1254,64997 -#define PHY_M_SER_IF_BP_ST 1255,65077 -#define PHY_M_IRQ_POLARITY 1256,65156 -#define PHY_M_UNDOC1 1258,65252 -#define PHY_M_MODE_MASK 1259,65308 -#define PHY_M_CABD_ENA_TEST 1263,65450 -#define PHY_M_CABD_STAT_MSK 1264,65512 -#define PHY_M_CABD_DIST_MSK 1266,65609 -#define CABD_STAT_NORMAL 1269,65747 -#define CABD_STAT_SHORT 1270,65774 -#define CABD_STAT_OPEN 1271,65801 -#define CABD_STAT_FAIL 1272,65827 -#define GM_GP_STAT 1292,66343 -#define GM_GP_CTRL 1293,66411 -#define GM_TX_CTRL 1294,66480 -#define GM_RX_CTRL 1295,66547 -#define GM_TX_FLOW_CTRL 1296,66613 -#define GM_TX_PARAM 1297,66684 -#define GM_SERIAL_MODE 1298,66754 -#define GM_SRC_ADDR_1L 1301,66855 -#define GM_SRC_ADDR_1M 1302,66926 -#define GM_SRC_ADDR_1H 1303,67000 -#define GM_SRC_ADDR_2L 1304,67072 -#define GM_SRC_ADDR_2M 1305,67143 -#define GM_SRC_ADDR_2H 1306,67217 -#define GM_MC_ADDR_H1 1309,67329 -#define GM_MC_ADDR_H2 1310,67401 -#define GM_MC_ADDR_H3 1311,67473 -#define GM_MC_ADDR_H4 1312,67545 -#define GM_TX_IRQ_SRC 1315,67651 -#define GM_RX_IRQ_SRC 1316,67721 -#define GM_TR_IRQ_SRC 1317,67791 -#define GM_TX_IRQ_MSK 1320,67893 -#define GM_RX_IRQ_MSK 1321,67961 -#define GM_TR_IRQ_MSK 1322,68029 -#define GM_SMI_CTRL 1325,68148 -#define GM_SMI_DATA 1326,68215 -#define GM_PHY_ADDR 1327,68279 -#define GM_MIB_CNT_BASE 1330,68367 -#define GM_MIB_CNT_SIZE 1331,68434 -#define GM_RXF_UC_OK 1337,68607 -#define GM_RXF_BC_OK 1339,68688 -#define GM_RXF_MPAUSE 1341,68771 -#define GM_RXF_MC_OK 1343,68858 -#define GM_RXF_FCS_ERR 1345,68942 -#define GM_RXO_OK_LO 1348,69063 -#define GM_RXO_OK_HI 1350,69141 -#define GM_RXO_ERR_LO 1352,69220 -#define GM_RXO_ERR_HI 1354,69304 -#define GM_RXF_SHT 1356,69389 -#define GM_RXE_FRAG 1358,69470 -#define GM_RXF_64B 1360,69562 -#define GM_RXF_127B 1362,69632 -#define GM_RXF_255B 1364,69708 -#define GM_RXF_511B 1366,69785 -#define GM_RXF_1023B 1368,69862 -#define GM_RXF_1518B 1370,69941 -#define GM_RXF_MAX_SZ 1372,70021 -#define GM_RXF_LNG_ERR 1374,70105 -#define GM_RXF_JAB_PKT 1376,70187 -#define GM_RXE_FIFO_OV 1379,70307 -#define GM_TXF_UC_OK 1382,70427 -#define GM_TXF_BC_OK 1384,70509 -#define GM_TXF_MPAUSE 1386,70593 -#define GM_TXF_MC_OK 1388,70680 -#define GM_TXO_OK_LO 1390,70764 -#define GM_TXO_OK_HI 1392,70846 -#define GM_TXF_64B 1394,70929 -#define GM_TXF_127B 1396,71000 -#define GM_TXF_255B 1398,71076 -#define GM_TXF_511B 1400,71153 -#define GM_TXF_1023B 1402,71230 -#define GM_TXF_1518B 1404,71309 -#define GM_TXF_MAX_SZ 1406,71389 -#define GM_TXF_COL 1409,71512 -#define GM_TXF_LAT_COL 1411,71579 -#define GM_TXF_ABO_COL 1413,71655 -#define GM_TXF_MUL_COL 1415,71743 -#define GM_TXF_SNG_COL 1417,71823 -#define GM_TXE_FIFO_UR 1419,71901 -#define GM_GPSR_SPEED 1434,72378 -#define GM_GPSR_DUPLEX 1435,72449 -#define GM_GPSR_FC_TX_DIS 1436,72518 -#define GM_GPSR_LINK_UP 1437,72596 -#define GM_GPSR_PAUSE 1438,72658 -#define GM_GPSR_TX_ACTIVE 1439,72715 -#define GM_GPSR_EXC_COL 1440,72778 -#define GM_GPSR_LAT_COL 1441,72853 -#define GM_GPSR_PHY_ST_CH 1443,72957 -#define GM_GPSR_GIG_SPEED 1444,73022 -#define GM_GPSR_PART_MODE 1445,73099 -#define GM_GPSR_FC_RX_DIS 1446,73161 -#define GM_GPSR_PROM_EN 1447,73238 -#define GM_GPCR_PROM_ENA 1452,73434 -#define GM_GPCR_FC_TX_DIS 1453,73505 -#define GM_GPCR_TX_ENA 1454,73582 -#define GM_GPCR_RX_ENA 1455,73644 -#define GM_GPCR_BURST_ENA 1456,73705 -#define GM_GPCR_LOOP_ENA 1457,73771 -#define GM_GPCR_PART_ENA 1458,73842 -#define GM_GPCR_GIGS_ENA 1459,73910 -#define GM_GPCR_FL_PASS 1460,73982 -#define GM_GPCR_DUP_FULL 1461,74044 -#define GM_GPCR_FC_RX_DIS 1462,74107 -#define GM_GPCR_SPEED_100 1463,74183 -#define GM_GPCR_AU_DUP_DIS 1464,74251 -#define GM_GPCR_AU_FCT_DIS 1465,74326 -#define GM_GPCR_AU_SPD_DIS 1466,74402 -#define GM_GPCR_SPEED_1000 1468,74477 -#define GM_GPCR_AU_ALL_DIS 1469,74543 -#define GM_TXCR_FORCE_JAM 1473,74701 -#define GM_TXCR_CRC_DIS 1474,74774 -#define GM_TXCR_PAD_DIS 1475,74846 -#define GM_TXCR_COL_THR_MSK 1476,74920 -#define TX_COL_THR(TX_COL_THR1478,74995 -#define TX_COL_DEF 1480,75054 -#define GM_RXCR_UCF_ENA 1483,75138 -#define GM_RXCR_MCF_ENA 1484,75210 -#define GM_RXCR_CRC_DIS 1485,75284 -#define GM_RXCR_PASS_FC 1486,75349 -#define GM_TXPA_JAMLEN_MSK 1489,75482 -#define GM_TXPA_JAMIPG_MSK 1490,75549 -#define GM_TXPA_JAMDAT_MSK 1491,75611 -#define TX_JAM_LEN_VAL(TX_JAM_LEN_VAL1494,75716 -#define TX_JAM_IPG_VAL(TX_JAM_IPG_VAL1495,75776 -#define TX_IPG_JAM_DATA(TX_IPG_JAM_DATA1496,75835 -#define TX_JAM_LEN_DEF 1498,75896 -#define TX_JAM_IPG_DEF 1499,75925 -#define TX_IPG_JAM_DEF 1500,75954 -#define GM_SMOD_DATABL_MSK 1503,76039 -#define GM_SMOD_LIMIT_4 1504,76114 -#define GM_SMOD_VLAN_ENA 1505,76185 -#define GM_SMOD_JUMBO_ENA 1506,76261 -#define GM_SMOD_IPG_MSK 1508,76372 -#define DATA_BLIND_VAL(DATA_BLIND_VAL1510,76443 -#define DATA_BLIND_DEF 1511,76503 -#define IPG_DATA_VAL(IPG_DATA_VAL1513,76533 -#define IPG_DATA_DEF 1514,76580 -#define GM_SMI_CT_PHY_A_MSK 1517,76661 -#define GM_SMI_CT_REG_A_MSK 1518,76737 -#define GM_SMI_CT_OP_RD 1519,76814 -#define GM_SMI_CT_RD_VAL 1520,76881 -#define GM_SMI_CT_BUSY 1521,76955 -#define GM_SMI_CT_PHY_AD(GM_SMI_CT_PHY_AD1524,77066 -#define GM_SMI_CT_REG_AD(GM_SMI_CT_REG_AD1525,77129 -#define GM_PAR_MIB_CLR 1529,77282 -#define GM_PAR_MIB_TST 1530,77354 -#define GMR_FS_LEN 1534,77501 -#define GMR_FS_VLAN 1536,77605 -#define GMR_FS_JABBER 1537,77661 -#define GMR_FS_UN_SIZE 1538,77720 -#define GMR_FS_MC 1539,77783 -#define GMR_FS_BC 1540,77842 -#define GMR_FS_RX_OK 1541,77901 -#define GMR_FS_GOOD_FC 1542,77970 -#define GMR_FS_BAD_FC 1543,78041 -#define GMR_FS_MII_ERR 1544,78111 -#define GMR_FS_LONG_ERR 1545,78167 -#define GMR_FS_FRAGMENT 1546,78230 -#define GMR_FS_CRC_ERR 1548,78317 -#define GMR_FS_RX_FF_OV 1549,78373 -#define GMR_FS_ANY_ERR 1554,78493 -#define RX_FF_FL_DEF_MSK 1562,78683 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgesirq.h,2313 -#define _INC_SKGESIRQ_H_26,967 -#define SK_HW_PS_NONE 29,1053 -#define SK_HW_PS_RESTART 30,1101 -#define SK_HW_PS_LINK 31,1149 -#define SK_HWEV_WATIM 36,1269 -#define SK_HWEV_PORT_START 37,1331 -#define SK_HWEV_PORT_STOP 38,1392 -#define SK_HWEV_CLEAR_STAT 39,1451 -#define SK_HWEV_UPDATE_STAT 40,1512 -#define SK_HWEV_SET_LMODE 41,1575 -#define SK_HWEV_SET_FLOWMODE 42,1632 -#define SK_HWEV_SET_ROLE 43,1699 -#define SK_HWEV_SET_SPEED 44,1765 -#define SK_HWEV_HALFDUP_CHK 45,1823 -#define SK_WA_ACT_TIME 47,1892 -#define SK_WA_INA_TIME 48,1940 -#define SK_HALFDUP_CHK_TIME 50,1991 -#define SKERR_SIRQ_E001 55,2092 -#define SKERR_SIRQ_E001MSG 56,2137 -#define SKERR_SIRQ_E002 57,2180 -#define SKERR_SIRQ_E002MSG 58,2225 -#define SKERR_SIRQ_E003 59,2273 -#define SKERR_SIRQ_E003MSG 60,2318 -#define SKERR_SIRQ_E004 61,2366 -#define SKERR_SIRQ_E004MSG 62,2411 -#define SKERR_SIRQ_E005 63,2472 -#define SKERR_SIRQ_E005MSG 64,2517 -#define SKERR_SIRQ_E006 65,2578 -#define SKERR_SIRQ_E006MSG 66,2623 -#define SKERR_SIRQ_E007 67,2669 -#define SKERR_SIRQ_E007MSG 68,2714 -#define SKERR_SIRQ_E008 69,2760 -#define SKERR_SIRQ_E008MSG 70,2805 -#define SKERR_SIRQ_E009 71,2852 -#define SKERR_SIRQ_E009MSG 72,2897 -#define SKERR_SIRQ_E010 73,2944 -#define SKERR_SIRQ_E010MSG 74,2989 -#define SKERR_SIRQ_E011 75,3036 -#define SKERR_SIRQ_E011MSG 76,3081 -#define SKERR_SIRQ_E012 77,3128 -#define SKERR_SIRQ_E012MSG 78,3173 -#define SKERR_SIRQ_E013 79,3230 -#define SKERR_SIRQ_E013MSG 80,3275 -#define SKERR_SIRQ_E014 81,3332 -#define SKERR_SIRQ_E014MSG 82,3377 -#define SKERR_SIRQ_E015 83,3433 -#define SKERR_SIRQ_E015MSG 84,3478 -#define SKERR_SIRQ_E016 85,3535 -#define SKERR_SIRQ_E016MSG 86,3580 -#define SKERR_SIRQ_E017 87,3628 -#define SKERR_SIRQ_E017MSG 88,3673 -#define SKERR_SIRQ_E018 89,3721 -#define SKERR_SIRQ_E018MSG 90,3766 -#define SKERR_SIRQ_E019 91,3813 -#define SKERR_SIRQ_E019MSG 92,3858 -#define SKERR_SIRQ_E020 93,3905 -#define SKERR_SIRQ_E020MSG 94,3950 -#define SKERR_SIRQ_E021 95,4006 -#define SKERR_SIRQ_E021MSG 96,4051 -#define SKERR_SIRQ_E022 97,4104 -#define SKERR_SIRQ_E022MSG 98,4149 -#define SKERR_SIRQ_E023 99,4200 -#define SKERR_SIRQ_E023MSG 100,4245 -#define SKERR_SIRQ_E024 101,4297 -#define SKERR_SIRQ_E024MSG 102,4342 -#define SKERR_SIRQ_E025 103,4391 -#define SKERR_SIRQ_E025MSG 104,4436 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/ski2c.h,1999 -#define _SKI2C_H_30,1005 -typedef struct s_Sensor SK_SENSOR;SK_SENSOR32,1024 -#define SK_I2CEV_IRQ 39,1118 -#define SK_I2CEV_TIM 40,1166 -#define SK_I2CEV_CLEAR 41,1209 -#define I2C_READ 46,1301 -#define I2C_WRITE 47,1320 -#define I2C_BURST 48,1340 -#define I2C_SINGLE 49,1360 -#define SKERR_I2C_E001 51,1382 -#define SKERR_I2C_E001MSG 52,1425 -#define SKERR_I2C_E002 53,1474 -#define SKERR_I2C_E002MSG 54,1517 -#define SKERR_I2C_E003 55,1578 -#define SKERR_I2C_E003MSG 56,1621 -#define SKERR_I2C_E004 57,1674 -#define SKERR_I2C_E004MSG 58,1717 -#define SKERR_I2C_E005 59,1772 -#define SKERR_I2C_E005MSG 60,1815 -#define SKERR_I2C_E006 61,1872 -#define SKERR_I2C_E006MSG 62,1915 -#define SKERR_I2C_E007 63,1957 -#define SKERR_I2C_E007MSG 64,2000 -#define SKERR_I2C_E008 65,2051 -#define SKERR_I2C_E008MSG 66,2094 -#define SKERR_I2C_E009 67,2155 -#define SKERR_I2C_E009MSG 68,2198 -#define SKERR_I2C_E010 69,2267 -#define SKERR_I2C_E010MSG 70,2310 -#define SKERR_I2C_E011 71,2375 -#define SKERR_I2C_E011MSG 72,2418 -#define SKERR_I2C_E012 73,2485 -#define SKERR_I2C_E012MSG 74,2528 -#define SKERR_I2C_E013 75,2591 -#define SKERR_I2C_E013MSG 76,2634 -#define SKERR_I2C_E014 77,2690 -#define SKERR_I2C_E014MSG 78,2733 -#define SKERR_I2C_E015 79,2794 -#define SKERR_I2C_E015MSG 80,2837 -#define SKERR_I2C_E016 81,2896 -#define SKERR_I2C_E016MSG 82,2939 -#define SK_I2C_TIM_LONG 87,3040 -#define SK_I2C_TIM_SHORT 88,3090 -#define SK_I2C_TIM_WATCH 89,3147 -#define SK_SEN_ERR_TR_HOLD 95,3271 -#define SK_SEN_ERR_LOG_HOLD 98,3355 -#define SK_SEN_WARN_TR_HOLD 101,3441 -#define SK_SEN_WARN_LOG_HOLD 104,3528 -#define SK_SEN_UNKNOWN 110,3620 -#define SK_SEN_TEMP 111,3645 -#define SK_SEN_VOLT 112,3668 -#define SK_SEN_FAN 113,3691 -#define SK_SEN_ERR_NOT_PRESENT 118,3752 -#define SK_SEN_ERR_OK 119,3822 -#define SK_SEN_ERR_WARN 120,3871 -#define SK_SEN_ERR_ERR 121,3925 -#define SK_SEN_ERR_FAULTY 122,3976 -struct s_Sensor s_Sensor127,4066 -typedef struct s_I2c s_I2c152,5310 -} SK_I2C;SK_I2C162,5740 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skqueue.h,703 -#define _SKQUEUE_H_30,1023 -#define SKGE_DRV 36,1093 -#define SKGE_RLMT 37,1137 -#define SKGE_I2C 38,1180 -#define SKGE_PNMI 39,1221 -#define SKGE_CSUM 40,1264 -#define SKGE_HWAC 41,1311 -#define SKGE_SWT 43,1366 -#define SKGE_LACP 44,1418 -#define SKGE_RSF 45,1474 -#define SKGE_MARKER 46,1528 -#define SKGE_FD 47,1588 -#define SK_MAX_EVENT 52,1690 -typedef union u_EvPara u_EvPara57,1760 -} SK_EVPARA;SK_EVPARA61,1934 -typedef struct s_EventElem s_EventElem70,2124 -} SK_EVENTELEM;SK_EVENTELEM74,2266 -typedef struct s_Queue s_Queue76,2283 -} SK_QUEUE;SK_QUEUE80,2389 -#define SKERR_Q_E001 89,2641 -#define SKERR_Q_E001MSG 90,2683 -#define SKERR_Q_E002 91,2730 -#define SKERR_Q_E002MSG 92,2768 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgehwt.h,89 -#define _SKGEHWT_H_30,1037 -typedef struct s_Hwt s_Hwt37,1173 -} SK_HWT;SK_HWT41,1309 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skgehw.h,30898 -#define __INC_SKGEHW_H26,979 -#define BIT_31 34,1143 -#define BIT_30 35,1171 -#define BIT_29 36,1198 -#define BIT_28 37,1225 -#define BIT_27 38,1252 -#define BIT_26 39,1279 -#define BIT_25 40,1306 -#define BIT_24 41,1333 -#define BIT_23 42,1360 -#define BIT_22 43,1387 -#define BIT_21 44,1414 -#define BIT_20 45,1441 -#define BIT_19 46,1468 -#define BIT_18 47,1495 -#define BIT_17 48,1522 -#define BIT_16 49,1549 -#define BIT_15 50,1576 -#define BIT_14 51,1603 -#define BIT_13 52,1630 -#define BIT_12 53,1657 -#define BIT_11 54,1684 -#define BIT_10 55,1711 -#define BIT_9 56,1738 -#define BIT_8 57,1763 -#define BIT_7 58,1788 -#define BIT_6 59,1813 -#define BIT_5 60,1838 -#define BIT_4 61,1863 -#define BIT_3 62,1888 -#define BIT_2 63,1913 -#define BIT_1 64,1938 -#define BIT_0 65,1963 -#define BIT_15S 67,1982 -#define BIT_14S 68,2010 -#define BIT_13S 69,2037 -#define BIT_12S 70,2064 -#define BIT_11S 71,2091 -#define BIT_10S 72,2118 -#define BIT_9S 73,2145 -#define BIT_8S 74,2170 -#define BIT_7S 75,2195 -#define BIT_6S 76,2221 -#define BIT_5S 77,2246 -#define BIT_4S 78,2271 -#define BIT_3S 79,2296 -#define BIT_2S 80,2321 -#define BIT_1S 81,2346 -#define BIT_0S 82,2371 -#define SHIFT31(SHIFT3184,2390 -#define SHIFT30(SHIFT3085,2421 -#define SHIFT29(SHIFT2986,2452 -#define SHIFT28(SHIFT2887,2483 -#define SHIFT27(SHIFT2788,2514 -#define SHIFT26(SHIFT2689,2545 -#define SHIFT25(SHIFT2590,2576 -#define SHIFT24(SHIFT2491,2607 -#define SHIFT23(SHIFT2392,2638 -#define SHIFT22(SHIFT2293,2669 -#define SHIFT21(SHIFT2194,2700 -#define SHIFT20(SHIFT2095,2731 -#define SHIFT19(SHIFT1996,2762 -#define SHIFT18(SHIFT1897,2793 -#define SHIFT17(SHIFT1798,2824 -#define SHIFT16(SHIFT1699,2855 -#define SHIFT15(SHIFT15100,2886 -#define SHIFT14(SHIFT14101,2917 -#define SHIFT13(SHIFT13102,2948 -#define SHIFT12(SHIFT12103,2979 -#define SHIFT11(SHIFT11104,3010 -#define SHIFT10(SHIFT10105,3041 -#define SHIFT9(SHIFT9106,3072 -#define SHIFT8(SHIFT8107,3101 -#define SHIFT7(SHIFT7108,3130 -#define SHIFT6(SHIFT6109,3159 -#define SHIFT5(SHIFT5110,3188 -#define SHIFT4(SHIFT4111,3217 -#define SHIFT3(SHIFT3112,3246 -#define SHIFT2(SHIFT2113,3275 -#define SHIFT1(SHIFT1114,3304 -#define SHIFT0(SHIFT0115,3333 -#define PCI_VENDOR_ID 123,3567 -#define PCI_DEVICE_ID 124,3617 -#define PCI_COMMAND 125,3667 -#define PCI_STATUS 126,3714 -#define PCI_REV_ID 127,3759 -#define PCI_CLASS_CODE 128,3809 -#define PCI_CACHE_LSZ 129,3861 -#define PCI_LAT_TIM 130,3917 -#define PCI_HEADER_T 131,3970 -#define PCI_BIST 132,4021 -#define PCI_BASE_1ST 133,4075 -#define PCI_BASE_2ND 134,4131 -#define PCI_SUB_VID 136,4220 -#define PCI_SUB_ID 137,4279 -#define PCI_BASE_ROM 138,4330 -#define PCI_CAP_PTR 139,4396 -#define PCI_IRQ_LINE 141,4486 -#define PCI_IRQ_PIN 142,4540 -#define PCI_MIN_GNT 143,4593 -#define PCI_MAX_LAT 144,4640 -#define PCI_OUR_REG_1 146,4718 -#define PCI_OUR_REG_2 147,4774 -#define PCI_PM_CAP_ID 149,4861 -#define PCI_PM_NITEM 150,4927 -#define PCI_PM_CAP_REG 151,4981 -#define PCI_PM_CTL_STS 152,5053 -#define PCI_PM_DAT_REG 154,5150 -#define PCI_VPD_CAP_ID 156,5237 -#define PCI_VPD_NITEM 157,5291 -#define PCI_VPD_ADR_REG 158,5346 -#define PCI_VPD_DAT_REG 159,5410 -#define PCI_SER_LD_CTRL 161,5504 -#define I2C_ADDR_VPD 170,5739 -#define PCI_INT_DIS 177,5921 -#define PCI_FBTEN 178,5991 -#define PCI_SERREN 179,6049 -#define PCI_ADSTEP 180,6095 -#define PCI_PERREN 181,6146 -#define PCI_VGA_SNOOP 182,6210 -#define PCI_MWIEN 183,6264 -#define PCI_SCYCEN 184,6326 -#define PCI_BMEN 185,6381 -#define PCI_MEMEN 186,6431 -#define PCI_IOEN 187,6491 -#define PCI_COMMAND_VAL 189,6548 -#define PCI_PERR 193,6696 -#define PCI_SERR 194,6742 -#define PCI_RMABORT 195,6789 -#define PCI_RTABORT 196,6847 -#define PCI_DEVSEL 198,6936 -#define PCI_DEV_FAST 199,6996 -#define PCI_DEV_MEDIUM 200,7037 -#define PCI_DEV_SLOW 201,7082 -#define PCI_DATAPERR 202,7123 -#define PCI_FB2BCAP 203,7185 -#define PCI_UDF 204,7249 -#define PCI_66MHZCAP 205,7303 -#define PCI_NEWCAP 206,7367 -#define PCI_INT_STAT 207,7427 -#define PCI_ERRBITS 210,7531 -#define PCI_HD_MF_DEV 222,7889 -#define PCI_HD_TYPE 223,7953 -#define PCI_MEMSIZE 229,8153 -#define PCI_MEMBASE_MSK 230,8211 -#define PCI_MEMSIZE_MSK 231,8285 -#define PCI_PREFEN 232,8356 -#define PCI_MEM_TYP 233,8402 -#define PCI_MEM32BIT 234,8461 -#define PCI_MEM1M 235,8532 -#define PCI_MEM64BIT 236,8593 -#define PCI_MEMSPACE 237,8664 -#define PCI_IOBASE 240,8765 -#define PCI_IOSIZE 241,8832 -#define PCI_IOSPACE 243,8934 -#define PCI_ROMBASE_MSK 246,9042 -#define PCI_ROMBASE_SIZ 247,9113 -#define PCI_ROMSIZE 248,9189 -#define PCI_ROMEN 250,9298 -#define PCI_PHY_COMA 255,9462 -#define PCI_TEST_CAL 256,9531 -#define PCI_EN_CAL 257,9602 -#define PCI_VIO 258,9674 -#define PCI_DIS_BOOT 259,9740 -#define PCI_EN_IO 260,9796 -#define PCI_EN_FPROM 261,9850 -#define PCI_PAGESIZE 264,9994 -#define PCI_PAGE_16 265,10058 -#define PCI_PAGE_32K 266,10106 -#define PCI_PAGE_64K 267,10154 -#define PCI_PAGE_128K 268,10202 -#define PCI_PAGEREG 270,10284 -#define PCI_NOTAR 271,10346 -#define PCI_FORCE_BE 272,10399 -#define PCI_DIS_MRL 273,10455 -#define PCI_DIS_MRM 274,10512 -#define PCI_DIS_MWI 275,10573 -#define PCI_DISC_CLS 276,10639 -#define PCI_BURST_DIS 277,10695 -#define PCI_DIS_PCI_CLK 278,10744 -#define PCI_SKEW_DAS 279,10807 -#define PCI_SKEW_BASE 280,10874 -#define PCI_VPD_WR_THR 284,10980 -#define PCI_DEV_SEL 285,11053 -#define PCI_VPD_ROM_SZ 286,11125 -#define PCI_PATCH_DIR 288,11224 -#define PCI_PATCH_DIR_3 289,11295 -#define PCI_PATCH_DIR_2 290,11326 -#define PCI_PATCH_DIR_1 291,11357 -#define PCI_PATCH_DIR_0 292,11387 -#define PCI_EXT_PATCHS 293,11417 -#define PCI_EXT_PATCH_3 294,11489 -#define PCI_EXT_PATCH_2 295,11519 -#define PCI_EXT_PATCH_1 296,11549 -#define PCI_EXT_PATCH_0 297,11579 -#define PCI_EN_DUMMY_RD 298,11609 -#define PCI_REV_DESC 299,11664 -#define PCI_USEDATA64 301,11749 -#define PCI_PME_SUP_MSK 306,11898 -#define PCI_PME_D3C_SUP 307,11973 -#define PCI_PME_D3H_SUP 308,12046 -#define PCI_PME_D2_SUP 309,12108 -#define PCI_PME_D1_SUP 310,12166 -#define PCI_PME_D0_SUP 311,12224 -#define PCI_PM_D2_SUP 312,12282 -#define PCI_PM_D1_SUP 313,12345 -#define PCI_PM_DSI 315,12427 -#define PCI_PM_APS 316,12492 -#define PCI_PME_CLOCK 317,12550 -#define PCI_PM_VER_MSK 318,12601 -#define PCI_PME_STATUS 321,12728 -#define PCI_PM_DAT_SCL 322,12790 -#define PCI_PM_DAT_SEL 323,12865 -#define PCI_PME_EN 324,12938 -#define PCI_PM_STATE_MSK 326,13043 -#define PCI_PM_STATE_D0 328,13112 -#define PCI_PM_STATE_D1 329,13172 -#define PCI_PM_STATE_D2 330,13223 -#define PCI_PM_STATE_D3 331,13274 -#define PCI_VPD_FLAG 335,13407 -#define PCI_VPD_ADR_MSK 336,13466 -#define B0_RAP 343,13595 -#define B0_CTST 345,13687 -#define B0_LED 346,13749 -#define B0_POWER_CTRL 347,13799 -#define B0_ISRC 348,13872 -#define B0_IMSK 349,13936 -#define B0_HWE_ISRC 350,13998 -#define B0_HWE_IMSK 351,14066 -#define B0_SP_ISRC 352,14135 -#define B0_XM1_IMSK 356,14271 -#define B0_XM1_ISRC 358,14379 -#define B0_XM1_PHY_ADDR 360,14484 -#define B0_XM1_PHY_DATA 362,14593 -#define B0_XM2_IMSK 366,14741 -#define B0_XM2_ISRC 368,14849 -#define B0_XM2_PHY_ADDR 370,14954 -#define B0_XM2_PHY_DATA 372,15063 -#define B0_R1_CSR 376,15205 -#define B0_R2_CSR 377,15269 -#define B0_XS1_CSR 378,15333 -#define B0_XA1_CSR 379,15403 -#define B0_XS2_CSR 380,15473 -#define B0_XA2_CSR 381,15543 -#define B2_MAC_1 394,15850 -#define B2_MAC_2 396,15936 -#define B2_MAC_3 398,16022 -#define B2_CONN_TYP 400,16108 -#define B2_PMD_TYP 401,16164 -#define B2_MAC_CFG 402,16213 -#define B2_CHIP_ID 403,16287 -#define B2_E_0 405,16402 -#define B2_E_1 406,16468 -#define B2_E_2 407,16529 -#define B2_E_3 408,16579 -#define B2_FAR 409,16629 -#define B2_FDP 410,16690 -#define B2_LD_CTRL 412,16781 -#define B2_LD_TEST 413,16851 -#define B2_TI_INI 415,16951 -#define B2_TI_VAL 416,17007 -#define B2_TI_CTRL 417,17058 -#define B2_TI_TEST 418,17112 -#define B2_IRQM_INI 420,17196 -#define B2_IRQM_VAL 421,17267 -#define B2_IRQM_CTRL 422,17335 -#define B2_IRQM_TEST 423,17405 -#define B2_IRQM_MSK 424,17472 -#define B2_IRQM_HWE_MSK 425,17533 -#define B2_TST_CTRL1 427,17639 -#define B2_TST_CTRL2 428,17704 -#define B2_GP_IO 430,17802 -#define B2_I2C_CTRL 431,17869 -#define B2_I2C_DATA 432,17934 -#define B2_I2C_IRQ 433,17996 -#define B2_I2C_SW 434,18056 -#define B2_BSC_INI 437,18159 -#define B2_BSC_VAL 438,18229 -#define B2_BSC_CTRL 439,18296 -#define B2_BSC_STAT 440,18366 -#define B2_BSC_TST 441,18435 -#define B3_RAM_ADDR 448,18583 -#define B3_RAM_DATA_LO 449,18654 -#define B3_RAM_DATA_HI 450,18723 -#define B3_RI_WTO_R1 459,19065 -#define B3_RI_WTO_XA1 460,19133 -#define B3_RI_WTO_XS1 461,19202 -#define B3_RI_RTO_R1 462,19271 -#define B3_RI_RTO_XA1 463,19339 -#define B3_RI_RTO_XS1 464,19408 -#define B3_RI_WTO_R2 465,19477 -#define B3_RI_WTO_XA2 466,19545 -#define B3_RI_WTO_XS2 467,19614 -#define B3_RI_RTO_R2 468,19683 -#define B3_RI_RTO_XA2 469,19751 -#define B3_RI_RTO_XS2 470,19820 -#define B3_RI_TO_VAL 471,19889 -#define B3_RI_CTRL 473,19989 -#define B3_RI_TEST 474,20060 -#define B3_MA_TOINI_RX1 479,20285 -#define B3_MA_TOINI_RX2 480,20360 -#define B3_MA_TOINI_TX1 481,20435 -#define B3_MA_TOINI_TX2 482,20510 -#define B3_MA_TOVAL_RX1 483,20585 -#define B3_MA_TOVAL_RX2 484,20657 -#define B3_MA_TOVAL_TX1 485,20729 -#define B3_MA_TOVAL_TX2 486,20801 -#define B3_MA_TO_CTRL 487,20873 -#define B3_MA_TO_TEST 488,20944 -#define B3_MA_RCINI_RX1 490,21048 -#define B3_MA_RCINI_RX2 491,21124 -#define B3_MA_RCINI_TX1 492,21200 -#define B3_MA_RCINI_TX2 493,21276 -#define B3_MA_RCVAL_RX1 494,21352 -#define B3_MA_RCVAL_RX2 495,21425 -#define B3_MA_RCVAL_TX1 496,21498 -#define B3_MA_RCVAL_TX2 497,21571 -#define B3_MA_RC_CTRL 498,21644 -#define B3_MA_RC_TEST 499,21716 -#define B3_PA_TOINI_RX1 504,21898 -#define B3_PA_TOINI_RX2 506,22006 -#define B3_PA_TOINI_TX1 508,22114 -#define B3_PA_TOINI_TX2 510,22222 -#define B3_PA_TOVAL_RX1 512,22330 -#define B3_PA_TOVAL_RX2 514,22433 -#define B3_PA_TOVAL_TX1 516,22536 -#define B3_PA_TOVAL_TX2 518,22639 -#define B3_PA_CTRL 520,22742 -#define B3_PA_TEST 521,22810 -#define TXA_ITI_INI 528,23003 -#define TXA_ITI_VAL 529,23074 -#define TXA_LIM_INI 530,23143 -#define TXA_LIM_VAL 531,23214 -#define TXA_CTRL 532,23282 -#define TXA_TEST 533,23348 -#define TXA_STAT 534,23411 -#define B6_EXT_REG 543,23630 -#define B7_CFG_SPC 549,23744 -#define B8_Q_REGS 555,23861 -#define Q_D 558,23941 -#define Q_DA_L 559,23993 -#define Q_DA_H 560,24063 -#define Q_AC_L 561,24134 -#define Q_AC_H 562,24201 -#define Q_BC 563,24269 -#define Q_CSR 564,24321 -#define Q_F 565,24381 -#define Q_T1 566,24426 -#define Q_T1_TR 567,24473 -#define Q_T1_WR 568,24535 -#define Q_T1_RD 569,24605 -#define Q_T1_SV 570,24674 -#define Q_T2 571,24738 -#define Q_T3 572,24785 -#define B16_RAM_REGS 579,24912 -#define RB_START 582,25000 -#define RB_END 583,25061 -#define RB_WP 584,25119 -#define RB_RP 585,25178 -#define RB_RX_UTPP 586,25236 -#define RB_RX_LTPP 587,25305 -#define RB_RX_UTHP 588,25374 -#define RB_RX_LTHP 589,25442 -#define RB_PC 591,25566 -#define RB_LEV 592,25626 -#define RB_CTRL 593,25687 -#define RB_TST1 594,25751 -#define RB_TST2 595,25814 -#define RX_MFF_EA 605,26027 -#define RX_MFF_WP 606,26095 -#define RX_MFF_RP 608,26199 -#define RX_MFF_PC 609,26268 -#define RX_MFF_LEV 610,26335 -#define RX_MFF_CTRL1 611,26398 -#define RX_MFF_STAT_TO 612,26469 -#define RX_MFF_TIST_TO 613,26539 -#define RX_MFF_CTRL2 614,26613 -#define RX_MFF_TST1 615,26684 -#define RX_MFF_TST2 616,26753 -#define RX_LED_INI 618,26846 -#define RX_LED_VAL 619,26913 -#define RX_LED_CTRL 620,26983 -#define RX_LED_TST 621,27052 -#define LNK_SYNC_INI 623,27155 -#define LNK_SYNC_VAL 624,27221 -#define LNK_SYNC_CTRL 625,27290 -#define LNK_SYNC_TST 626,27363 -#define LNK_LED_REG 628,27465 -#define RX_GMF_EA 632,27620 -#define RX_GMF_AF_THR 633,27684 -#define RX_GMF_CTRL_T 634,27759 -#define RX_GMF_FL_MSK 635,27827 -#define RX_GMF_FL_THR 636,27893 -#define RX_GMF_WP 638,27997 -#define RX_GMF_WLEV 640,28097 -#define RX_GMF_RP 642,28197 -#define RX_GMF_RLEV 644,28296 -#define TX_MFF_EA 660,28594 -#define TX_MFF_WP 661,28663 -#define TX_MFF_WSP 662,28732 -#define TX_MFF_RP 663,28804 -#define TX_MFF_PC 664,28872 -#define TX_MFF_LEV 665,28940 -#define TX_MFF_CTRL1 666,29004 -#define TX_MFF_WAF 667,29074 -#define TX_MFF_CTRL2 669,29168 -#define TX_MFF_TST1 670,29238 -#define TX_MFF_TST2 671,29308 -#define TX_LED_INI 673,29402 -#define TX_LED_VAL 674,29470 -#define TX_LED_CTRL 675,29539 -#define TX_LED_TST 676,29609 -#define TX_GMF_EA 680,29772 -#define TX_GMF_AE_THR 681,29836 -#define TX_GMF_CTRL_T 682,29911 -#define TX_GMF_WP 684,30012 -#define TX_GMF_WSP 685,30079 -#define TX_GMF_WLEV 686,30151 -#define TX_GMF_RP 688,30251 -#define TX_GMF_RSTP 689,30317 -#define TX_GMF_RLEV 690,30388 -#define B28_DPT_INI 703,30626 -#define B28_DPT_VAL 704,30698 -#define B28_DPT_CTRL 705,30770 -#define B28_DPT_TST 707,30866 -#define GMAC_TI_ST_VAL 712,31033 -#define GMAC_TI_ST_CTRL 713,31102 -#define GMAC_TI_ST_TST 715,31196 -#define GMAC_CTRL 727,31420 -#define GPHY_CTRL 728,31476 -#define GMAC_IRQ_SRC 729,31532 -#define GMAC_IRQ_MSK 731,31632 -#define GMAC_LINK_CTRL 733,31730 -#define WOL_REG_OFFS 738,31890 -#define WOL_CTRL_STAT 740,31963 -#define WOL_MATCH_CTL 741,32028 -#define WOL_MATCH_RES 742,32092 -#define WOL_MAC_ADDR_LO 743,32155 -#define WOL_MAC_ADDR_HI 744,32219 -#define WOL_PATT_RPTR 745,32284 -#define WOL_REG(WOL_REG748,32395 -#define WOL_PATT_LEN_LO 753,32499 -#define WOL_PATT_LEN_HI 754,32568 -#define WOL_PATT_CNT_0 758,32688 -#define WOL_PATT_CNT_4 759,32757 -#define WOL_PATT_RAM_1 770,32934 -#define BASE_XMAC_1 780,33082 -#define BASE_GMAC_1 786,33162 -#define BASE_XMAC_2 791,33241 -#define BASE_GMAC_2 796,33320 -#define RAP_RAP 803,33488 -#define CS_CLK_RUN_HOT 807,33639 -#define CS_CLK_RUN_RST 808,33710 -#define CS_CLK_RUN_ENA 809,33781 -#define CS_VAUX_AVAIL 810,33852 -#define CS_BUS_CLOCK 811,33917 -#define CS_BUS_SLOT_SZ 812,33978 -#define CS_ST_SW_IRQ 813,34046 -#define CS_CL_SW_IRQ 814,34100 -#define CS_STOP_DONE 815,34156 -#define CS_STOP_MAST 816,34215 -#define CS_MRST_CLR 817,34281 -#define CS_MRST_SET 818,34335 -#define CS_RST_CLR 819,34387 -#define CS_RST_SET 820,34442 -#define LED_STAT_ON 824,34568 -#define LED_STAT_OFF 825,34617 -#define PC_VAUX_ENA 828,34726 -#define PC_VAUX_DIS 829,34780 -#define PC_VCC_ENA 830,34839 -#define PC_VCC_DIS 831,34896 -#define PC_VAUX_ON 832,34953 -#define PC_VAUX_OFF 833,35007 -#define PC_VCC_ON 834,35062 -#define PC_VCC_OFF 835,35114 -#define IS_ALL_MSK 841,35364 -#define IS_HW_ERR 842,35422 -#define IS_PA_TO_RX1 844,35505 -#define IS_PA_TO_RX2 845,35563 -#define IS_PA_TO_TX1 846,35621 -#define IS_PA_TO_TX2 847,35679 -#define IS_I2C_READY 848,35737 -#define IS_IRQ_SW 849,35793 -#define IS_EXT_REG 850,35840 -#define IS_TIMINT 852,35951 -#define IS_MAC1 853,35999 -#define IS_LNK_SYNC_M1 854,36046 -#define IS_MAC2 855,36108 -#define IS_LNK_SYNC_M2 856,36155 -#define IS_R1_B 858,36239 -#define IS_R1_F 859,36290 -#define IS_R1_C 860,36340 -#define IS_R2_B 862,36414 -#define IS_R2_F 863,36465 -#define IS_R2_C 864,36515 -#define IS_XS1_B 866,36602 -#define IS_XS1_F 867,36654 -#define IS_XS1_C 868,36705 -#define IS_XA1_B 870,36793 -#define IS_XA1_F 871,36844 -#define IS_XA1_C 872,36894 -#define IS_XS2_B 874,36981 -#define IS_XS2_F 875,37032 -#define IS_XS2_C 876,37082 -#define IS_XA2_B 878,37170 -#define IS_XA2_F 879,37221 -#define IS_XA2_C 880,37271 -#define IS_ERR_MSK 886,37490 -#define IS_IRQ_TIST_OV 888,37580 -#define IS_IRQ_SENSOR 889,37655 -#define IS_IRQ_MST_ERR 890,37719 -#define IS_IRQ_STAT 891,37781 -#define IS_NO_STAT_M1 892,37836 -#define IS_NO_STAT_M2 893,37894 -#define IS_NO_TIST_M1 894,37952 -#define IS_NO_TIST_M2 895,38011 -#define IS_RAM_RD_PAR 896,38070 -#define IS_RAM_WR_PAR 897,38127 -#define IS_M1_PAR_ERR 898,38184 -#define IS_M2_PAR_ERR 899,38237 -#define IS_R1_PAR_ERR 900,38290 -#define IS_R2_PAR_ERR 901,38346 -#define CFG_CHIP_R_MSK 908,38611 -#define CFG_DIS_M2_CLK 910,38709 -#define CFG_SNG_MAC 911,38772 -#define CHIP_ID_GENESIS 914,38891 -#define CHIP_ID_YUKON 915,38947 -#define CHIP_ID_YUKON_LITE 916,38999 -#define CHIP_ID_YUKON_LP 917,39073 -#define CHIP_REV_YU_LITE_A1 919,39131 -#define CHIP_REV_YU_LITE_A3 920,39199 -#define FAR_ADDR 923,39311 -#define LD_T_ON 930,39552 -#define LD_T_OFF 931,39603 -#define LD_T_STEP 932,39655 -#define LD_START 933,39717 -#define TIM_START 941,39921 -#define TIM_STOP 942,39965 -#define TIM_CLR_IRQ 943,40008 -#define TIM_T_ON 949,40246 -#define TIM_T_OFF 950,40290 -#define TIM_T_STEP 951,40336 -#define DPT_MSK 956,40527 -#define DPT_START 960,40688 -#define DPT_STOP 961,40748 -#define B2_E3_RES_MASK 964,40873 -#define TST_FRC_DPERR_MR 967,40952 -#define TST_FRC_DPERR_MW 968,41015 -#define TST_FRC_DPERR_TR 969,41078 -#define TST_FRC_DPERR_TW 970,41141 -#define TST_FRC_APERR_M 971,41204 -#define TST_FRC_APERR_T 972,41264 -#define TST_CFG_WRITE_ON 973,41324 -#define TST_CFG_WRITE_OFF 974,41384 -#define TST_FRC_DPERR_MR64 979,41596 -#define TST_FRC_DPERR_MW64 980,41651 -#define TST_FRC_APERR_1M64 981,41706 -#define TST_FRC_APERR_2M64 982,41767 -#define GP_DIR_9 986,41915 -#define GP_DIR_8 987,41969 -#define GP_DIR_7 988,42023 -#define GP_DIR_6 989,42077 -#define GP_DIR_5 990,42131 -#define GP_DIR_4 991,42185 -#define GP_DIR_3 992,42239 -#define GP_DIR_2 993,42293 -#define GP_DIR_1 994,42347 -#define GP_DIR_0 995,42401 -#define GP_IO_9 997,42488 -#define GP_IO_8 998,42526 -#define GP_IO_7 999,42564 -#define GP_IO_6 1000,42602 -#define GP_IO_5 1001,42640 -#define GP_IO_4 1002,42678 -#define GP_IO_3 1003,42716 -#define GP_IO_2 1004,42754 -#define GP_IO_1 1005,42792 -#define GP_IO_0 1006,42830 -#define I2C_FLAG 1009,42919 -#define I2C_ADDR 1010,42974 -#define I2C_DEV_SEL 1011,43041 -#define I2C_BURST_LEN 1013,43144 -#define I2C_DEV_SIZE 1014,43200 -#define I2C_025K_DEV 1015,43262 -#define I2C_05K_DEV 1016,43320 -#define I2C_1K_DEV 1017,43370 -#define I2C_2K_DEV 1018,43419 -#define I2C_4K_DEV 1019,43468 -#define I2C_8K_DEV 1020,43517 -#define I2C_16K_DEV 1021,43566 -#define I2C_32K_DEV 1022,43617 -#define I2C_STOP 1023,43668 -#define I2C_CLR_IRQ 1027,43802 -#define I2C_DATA_DIR 1031,43948 -#define I2C_DATA 1032,44005 -#define I2C_CLK 1033,44051 -#define I2C_SENS_ADDR 1038,44121 -#define BSC_START 1043,44285 -#define BSC_STOP 1044,44344 -#define BSC_SRC 1048,44491 -#define BSC_T_ON 1051,44605 -#define BSC_T_OFF 1052,44649 -#define BSC_T_STEP 1053,44695 -#define RAM_ADR_RAN 1058,44828 -#define RI_CLR_RD_PERR 1063,45014 -#define RI_CLR_WR_PERR 1064,45080 -#define RI_RST_CLR 1066,45180 -#define RI_RST_SET 1067,45239 -#define RI_T_EV 1071,45383 -#define RI_T_ON 1072,45436 -#define RI_T_OFF 1073,45489 -#define RI_T_STEP 1074,45543 -#define MA_FOE_ON 1079,45714 -#define MA_FOE_OFF 1080,45773 -#define MA_RST_CLR 1081,45834 -#define MA_RST_SET 1082,45891 -#define MA_ENA_REC_TX2 1086,46041 -#define MA_DIS_REC_TX2 1087,46104 -#define MA_ENA_REC_TX1 1088,46167 -#define MA_DIS_REC_TX1 1089,46230 -#define MA_ENA_REC_RX2 1090,46293 -#define MA_DIS_REC_RX2 1091,46356 -#define MA_ENA_REC_RX1 1092,46419 -#define MA_DIS_REC_RX1 1093,46482 -#define PA_CLR_TO_TX2 1098,46666 -#define PA_CLR_TO_TX1 1099,46731 -#define PA_CLR_TO_RX2 1100,46796 -#define PA_CLR_TO_RX1 1101,46861 -#define PA_ENA_TO_TX2 1102,46926 -#define PA_DIS_TO_TX2 1103,46987 -#define PA_ENA_TO_TX1 1104,47048 -#define PA_DIS_TO_TX1 1105,47109 -#define PA_ENA_TO_RX2 1106,47170 -#define PA_DIS_TO_RX2 1107,47231 -#define PA_ENA_TO_RX1 1108,47292 -#define PA_DIS_TO_RX1 1109,47353 -#define PA_RST_CLR 1110,47414 -#define PA_RST_SET 1111,47471 -#define PA_ENA_TO_ALL 1113,47529 -#define TX2_T_EV 1121,47894 -#define TX2_T_ON 1122,47957 -#define TX2_T_OFF 1123,48020 -#define TX2_T_STEP 1124,48084 -#define TX1_T_EV 1125,48146 -#define TX1_T_ON 1126,48209 -#define TX1_T_OFF 1127,48272 -#define TX1_T_STEP 1128,48335 -#define RX2_T_EV 1129,48396 -#define RX2_T_ON 1130,48458 -#define RX2_T_OFF 1131,48520 -#define RX2_T_STEP 1132,48583 -#define RX1_T_EV 1133,48644 -#define RX1_T_ON 1134,48706 -#define RX1_T_OFF 1135,48768 -#define RX1_T_STEP 1136,48831 -#define TXA_MAX_VAL 1145,49219 -#define TXA_ENA_FSYNC 1148,49343 -#define TXA_DIS_FSYNC 1149,49409 -#define TXA_ENA_ALLOC 1150,49475 -#define TXA_DIS_ALLOC 1151,49542 -#define TXA_START_RC 1152,49609 -#define TXA_STOP_RC 1153,49667 -#define TXA_ENA_ARB 1154,49725 -#define TXA_DIS_ARB 1155,49778 -#define TXA_INT_T_ON 1159,49914 -#define TXA_INT_T_OFF 1160,49978 -#define TXA_INT_T_STEP 1161,50044 -#define TXA_LIM_T_ON 1162,50107 -#define TXA_LIM_T_OFF 1163,50168 -#define TXA_LIM_T_STEP 1164,50231 -#define TXA_PRIO_XS 1168,50376 -#define BC_MAX 1172,50515 -#define CSR_SV_IDLE 1183,51010 -#define CSR_DESC_CLR 1185,51092 -#define CSR_DESC_SET 1186,51149 -#define CSR_FIFO_CLR 1187,51206 -#define CSR_FIFO_SET 1188,51262 -#define CSR_HPI_RUN 1189,51318 -#define CSR_HPI_RST 1190,51368 -#define CSR_SV_RUN 1191,51426 -#define CSR_SV_RST 1192,51482 -#define CSR_DREAD_RUN 1193,51538 -#define CSR_DREAD_RST 1194,51596 -#define CSR_DWRITE_RUN 1195,51654 -#define CSR_DWRITE_RST 1196,51714 -#define CSR_TRANS_RUN 1197,51774 -#define CSR_TRANS_RST 1198,51829 -#define CSR_ENA_POL 1199,51884 -#define CSR_DIS_POL 1200,51940 -#define CSR_STOP 1201,51996 -#define CSR_START 1202,52045 -#define CSR_IRQ_CL_P 1203,52095 -#define CSR_IRQ_CL_B 1204,52151 -#define CSR_IRQ_CL_F 1205,52199 -#define CSR_IRQ_CL_C 1206,52247 -#define CSR_SET_RESET 1208,52296 -#define CSR_CLR_RESET 1211,52438 -#define F_ALM_FULL 1217,52651 -#define F_EMPTY 1218,52706 -#define F_FIFO_EOF 1219,52758 -#define F_WM_REACHED 1220,52819 -#define F_FIFO_LEVEL 1222,52896 -#define F_WATER_MARK 1224,53004 -#define SM_CTRL_SV_MSK 1228,53146 -#define SM_CTRL_RD_MSK 1229,53221 -#define SM_CTRL_WR_MSK 1230,53295 -#define SM_CTRL_TR_MSK 1231,53369 -#define SM_STATE 1239,53720 -#define SM_LOAD 1240,53788 -#define SM_TEST_ON 1241,53845 -#define SM_TEST_OFF 1242,53901 -#define SM_STEP 1243,53956 -#define T2_AC_T_ON 1248,54156 -#define T2_AC_T_OFF 1249,54217 -#define T2_BC_T_ON 1250,54280 -#define T2_BC_T_OFF 1251,54338 -#define T2_STEP04 1252,54398 -#define T2_STEP03 1253,54448 -#define T2_STEP02 1254,54498 -#define T2_STEP01 1255,54548 -#define T3_MUX_MSK 1259,54670 -#define T3_VRAM_MSK 1261,54759 -#define RB_MSK 1275,55431 -#define RB_PC_DEC 1279,55584 -#define RB_PC_T_ON 1280,55638 -#define RB_PC_T_OFF 1281,55694 -#define RB_PC_INC 1282,55751 -#define RB_WP_T_ON 1286,55885 -#define RB_WP_T_OFF 1287,55940 -#define RB_WP_INC 1288,55997 -#define RB_RP_T_ON 1290,56080 -#define RB_RP_T_OFF 1291,56134 -#define RB_RP_DEC 1292,56190 -#define RB_ENA_STFWD 1296,56331 -#define RB_DIS_STFWD 1297,56389 -#define RB_ENA_OP_MD 1298,56447 -#define RB_DIS_OP_MD 1299,56504 -#define RB_RST_CLR 1300,56561 -#define RB_RST_SET 1301,56618 -#define MFF_MSK 1318,57370 -#define MFF_ENA_RDY_PAT 1322,57532 -#define MFF_DIS_RDY_PAT 1323,57591 -#define MFF_ENA_TIM_PAT 1324,57650 -#define MFF_DIS_TIM_PAT 1325,57710 -#define MFF_ENA_ALM_FUL 1326,57770 -#define MFF_DIS_ALM_FUL 1327,57832 -#define MFF_ENA_PAUSE 1328,57894 -#define MFF_DIS_PAUSE 1329,57954 -#define MFF_ENA_FLUSH 1330,58014 -#define MFF_DIS_FLUSH 1331,58073 -#define MFF_ENA_TIST 1332,58132 -#define MFF_DIS_TIST 1333,58192 -#define MFF_CLR_INTIST 1334,58252 -#define MFF_CLR_INSTAT 1335,58313 -#define MFF_RX_CTRL_DEF 1337,58371 -#define MFF_CLR_PERR 1340,58470 -#define MFF_ENA_PKT_REC 1342,58560 -#define MFF_DIS_PKT_REC 1343,58623 -#define MFF_ENA_W4E 1348,58978 -#define MFF_DIS_W4E 1349,59036 -#define MFF_ENA_LOOPB 1352,59236 -#define MFF_DIS_LOOPB 1353,59289 -#define MFF_CLR_MAC_RST 1354,59342 -#define MFF_SET_MAC_RST 1355,59397 -#define MFF_TX_CTRL_DEF 1357,59453 -#define MFF_WSP_T_ON 1362,59681 -#define MFF_WSP_T_OFF 1363,59743 -#define MFF_WSP_INC 1364,59806 -#define MFF_PC_DEC 1365,59871 -#define MFF_PC_T_ON 1366,59929 -#define MFF_PC_T_OFF 1367,59986 -#define MFF_PC_INC 1368,60044 -#define MFF_WP_T_ON 1373,60251 -#define MFF_WP_T_OFF 1374,60307 -#define MFF_WP_INC 1375,60364 -#define MFF_RP_T_ON 1377,60447 -#define MFF_RP_T_OFF 1378,60502 -#define MFF_RP_DEC 1379,60558 -#define MFF_ENA_OP_MD 1384,60763 -#define MFF_DIS_OP_MD 1385,60821 -#define MFF_RST_CLR 1386,60879 -#define MFF_RST_SET 1387,60934 -#define LED_START 1396,61240 -#define LED_STOP 1397,61284 -#define LED_STATE 1398,61326 -#define LED_CLR_IRQ 1399,61385 -#define LED_T_ON 1405,61639 -#define LED_T_OFF 1406,61695 -#define LED_T_STEP 1407,61753 -#define LED_BLK_ON 1411,61883 -#define LED_BLK_OFF 1412,61937 -#define LED_SYNC_ON 1413,61993 -#define LED_SYNC_OFF 1414,62055 -#define LED_ON 1415,62113 -#define LED_OFF 1416,62157 -#define GMF_WP_TST_ON 1437,63096 -#define GMF_WP_TST_OFF 1438,63154 -#define GMF_WP_STEP 1439,63214 -#define GMF_RP_TST_ON 1441,63307 -#define GMF_RP_TST_OFF 1442,63364 -#define GMF_RP_STEP 1443,63422 -#define GMF_RX_F_FL_ON 1444,63484 -#define GMF_RX_F_FL_OFF 1445,63542 -#define GMF_CLI_RX_FO 1446,63602 -#define GMF_CLI_RX_FC 1447,63663 -#define GMF_OPER_ON 1448,63726 -#define GMF_OPER_OFF 1449,63780 -#define GMF_RST_CLR 1450,63835 -#define GMF_RST_SET 1451,63891 -#define GMF_WSP_TST_ON 1455,64035 -#define GMF_WSP_TST_OFF 1456,64101 -#define GMF_WSP_STEP 1457,64169 -#define GMF_CLI_TX_FU 1459,64290 -#define GMF_CLI_TX_FC 1460,64352 -#define GMF_CLI_TX_PE 1461,64415 -#define GMF_RX_CTRL_DEF 1464,64526 -#define GMF_TX_CTRL_DEF 1465,64582 -#define RX_GMF_FL_THR_DEF 1467,64620 -#define GMT_ST_START 1471,64797 -#define GMT_ST_STOP 1472,64855 -#define GMT_ST_CLR_IRQ 1473,64913 -#define GMC_H_BURST_ON 1477,65066 -#define GMC_H_BURST_OFF 1478,65128 -#define GMC_F_LOOPB_ON 1479,65192 -#define GMC_F_LOOPB_OFF 1480,65245 -#define GMC_PAUSE_ON 1481,65300 -#define GMC_PAUSE_OFF 1482,65343 -#define GMC_RST_CLR 1483,65388 -#define GMC_RST_SET 1484,65439 -#define GPC_SEL_BDT 1488,65579 -#define GPC_INT_POL_HI 1489,65650 -#define GPC_75_OHM 1490,65714 -#define GPC_DIS_FC 1491,65784 -#define GPC_DIS_SLEEP 1492,65858 -#define GPC_HWCFG_M_3 1493,65915 -#define GPC_HWCFG_M_2 1494,65964 -#define GPC_HWCFG_M_1 1495,66013 -#define GPC_HWCFG_M_0 1496,66062 -#define GPC_ANEG_0 1497,66111 -#define GPC_ENA_XC 1498,66152 -#define GPC_DIS_125 1499,66206 -#define GPC_ANEG_3 1500,66262 -#define GPC_ANEG_2 1501,66303 -#define GPC_ANEG_1 1502,66344 -#define GPC_ENA_PAUSE 1503,66385 -#define GPC_PHYADDR_4 1504,66446 -#define GPC_PHYADDR_3 1505,66499 -#define GPC_PHYADDR_2 1506,66552 -#define GPC_PHYADDR_1 1507,66605 -#define GPC_PHYADDR_0 1508,66657 -#define GPC_RST_CLR 1510,66742 -#define GPC_RST_SET 1511,66792 -#define GPC_HWCFG_GMII_COP 1513,66843 -#define GPC_HWCFG_GMII_FIB 1516,66945 -#define GPC_ANEG_ADV_ALL_M 1519,67036 -#define GPC_FRC10MBIT_HALF 1523,67194 -#define GPC_FRC10MBIT_FULL 1524,67223 -#define GPC_FRC100MBIT_HALF 1525,67261 -#define GPC_FRC100MBIT_FULL 1526,67300 -#define GPC_ADV_1000_HALF 1530,67464 -#define GPC_ADV_1000_FULL 1531,67501 -#define GPC_ADV_ALL 1532,67538 -#define GPC_FORCE_MASTER 1536,67652 -#define GPC_FORCE_SLAVE 1537,67679 -#define GPC_PREF_MASTER 1538,67715 -#define GPC_PREF_SLAVE 1539,67751 -#define GM_IS_TX_CO_OV 1543,67932 -#define GM_IS_RX_CO_OV 1544,67998 -#define GM_IS_TX_FF_UR 1545,68063 -#define GM_IS_TX_COMPL 1546,68122 -#define GM_IS_RX_FF_OR 1547,68186 -#define GM_IS_RX_COMPL 1548,68243 -#define GMAC_DEF_MSK 1550,68305 -#define GMLC_RST_CLR 1555,68483 -#define GMLC_RST_SET 1556,68540 -#define WOL_CTL_LINK_CHG_OCC 1560,68649 -#define WOL_CTL_MAGIC_PKT_OCC 1561,68688 -#define WOL_CTL_PATTERN_OCC 1562,68728 -#define WOL_CTL_CLEAR_RESULT 1564,68768 -#define WOL_CTL_ENA_PME_ON_LINK_CHG 1566,68808 -#define WOL_CTL_DIS_PME_ON_LINK_CHG 1567,68853 -#define WOL_CTL_ENA_PME_ON_MAGIC_PKT 1568,68898 -#define WOL_CTL_DIS_PME_ON_MAGIC_PKT 1569,68942 -#define WOL_CTL_ENA_PME_ON_PATTERN 1570,68986 -#define WOL_CTL_DIS_PME_ON_PATTERN 1571,69029 -#define WOL_CTL_ENA_LINK_CHG_UNIT 1573,69073 -#define WOL_CTL_DIS_LINK_CHG_UNIT 1574,69115 -#define WOL_CTL_ENA_MAGIC_PKT_UNIT 1575,69157 -#define WOL_CTL_DIS_MAGIC_PKT_UNIT 1576,69200 -#define WOL_CTL_ENA_PATTERN_UNIT 1577,69243 -#define WOL_CTL_DIS_PATTERN_UNIT 1578,69284 -#define WOL_CTL_DEFAULT 1580,69326 -#define WOL_CTL_PATT_ENA(WOL_CTL_PATT_ENA1589,69597 -#define SK_NUM_WOL_PATTERN 1591,69644 -#define SK_PATTERN_PER_WORD 1592,69674 -#define SK_BITMASK_PATTERN 1593,69705 -#define SK_POW_PATTERN_LENGTH 1594,69735 -#define WOL_LENGTH_MSK 1596,69770 -#define WOL_LENGTH_SHIFT 1597,69799 -typedef struct s_HwTxd s_HwTxd1603,69942 -} SK_HWTXD;SK_HWTXD1621,70848 -typedef struct s_HwRxd s_HwRxd1624,70893 -} SK_HWRXD;SK_HWRXD1642,71798 -#define BMU_OWN 1658,72376 -#define BMU_STF 1659,72429 -#define BMU_EOF 1660,72475 -#define BMU_IRQ_EOB 1661,72519 -#define BMU_IRQ_EOF 1662,72577 -#define BMU_STFWD 1664,72661 -#define BMU_NO_FCS 1665,72720 -#define BMU_SW 1666,72791 -#define BMU_DEV_0 1668,72875 -#define BMU_STAT_VAL 1669,72934 -#define BMU_TIST_VAL 1670,72989 -#define BMU_CHECK 1672,73091 -#define BMU_TCP_CHECK 1673,73146 -#define BMU_UDP_CHECK 1674,73205 -#define BMU_BBC 1675,73277 -#define Q_R1 1689,73682 -#define Q_R2 1690,73725 -#define Q_XS1 1691,73768 -#define Q_XA1 1692,73825 -#define Q_XS2 1693,73883 -#define Q_XA2 1694,73940 -#define Q_ADDR(Q_ADDR1709,74315 -#define RB_ADDR(RB_ADDR1724,74688 -#define MAC_1 1728,74781 -#define MAC_2 1729,74838 -#define MR_ADDR(MR_ADDR1745,75248 -#define XM_WORD_LO 1748,75324 -#define XM_WORD_HI 1749,75345 -#define XM_WORD_LO 1751,75396 -#define XM_WORD_HI 1752,75417 -#define XMA(XMA1777,76279 -#define XM_IN16(XM_IN161780,76382 -#define XM_OUT16(XM_OUT161783,76469 -#define XM_IN32(XM_IN321786,76556 -#define XM_OUT32(XM_OUT321793,76810 -#define XM_INADDR(XM_INADDR1800,77084 -#define XM_OUTADDR(XM_OUTADDR1815,77645 -#define XM_INHASH(XM_INHASH1829,78190 -#define XM_OUTHASH(XM_OUTHASH1847,78906 -#define GMA(GMA1885,80393 -#define GM_IN16(GM_IN161888,80489 -#define GM_OUT16(GM_OUT161891,80576 -#define GM_IN32(GM_IN321894,80663 -#define GM_OUT32(GM_OUT321901,80917 -#define GM_INADDR(GM_INADDR1906,81113 -#define GM_OUTADDR(GM_OUTADDR1921,81674 -#define GM_INHASH(GM_INHASH1935,82219 -#define GM_OUTHASH(GM_OUTHASH1953,82919 -#define SK_MAC_XMAC 1973,83615 -#define SK_MAC_GMAC 1974,83658 -#define SK_PHY_XMAC 1979,83731 -#define SK_PHY_BCOM 1980,83783 -#define SK_PHY_LONE 1981,83830 -#define SK_PHY_NAT 1982,83878 -#define SK_PHY_MARV_COPPER 1983,83924 -#define SK_PHY_MARV_FIBER 1984,83976 -#define PHY_ADDR_XMAC 1989,84101 -#define PHY_ADDR_BCOM 1990,84130 -#define PHY_ADDR_LONE 1991,84159 -#define PHY_ADDR_NAT 1992,84188 -#define PHY_ADDR_MARV 1995,84269 -#define PHY_READ(PHY_READ2016,84901 -#define PHY_READ(PHY_READ2029,85387 -#define PHY_WRITE(PHY_WRITE2051,86193 -#define PCI_C(PCI_C2079,87073 -#define SK_HW_ADDR(SK_HW_ADDR2095,87467 -#define SK_HW_ADDR(SK_HW_ADDR2097,87546 -#define SZ_LONG 2101,87675 -#define SK_HWAC_LINK_LED(SK_HWAC_LINK_LED2113,87941 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skaddr.h,1706 -#define __INC_SKADDR_H45,1376 -#define SK_MAC_ADDR_LEN 53,1538 -#define SK_MAX_ADDRS 54,1596 -#define SK_ADDR_SUCCESS 58,1694 -#define SK_ADDR_ILLEGAL_PORT 59,1761 -#define SK_ADDR_TOO_EARLY 60,1824 -#define SK_ADDR_PERMANENT 64,1929 -#define SK_MC_SW_ONLY 68,2025 -#define SK_ADDR_LOGICAL_ADDRESS 72,2129 -#define SK_ADDR_VIRTUAL_ADDRESS 73,2164 -#define SK_ADDR_PHYSICAL_ADDRESS 74,2233 -#define SK_ADDR_CLEAR_LOGICAL 75,2268 -#define SK_ADDR_SET_LOGICAL 76,2301 -#define SK_ADDR_OVERRIDE_SUCCESS 80,2376 -#define SK_ADDR_DUPLICATE_ADDRESS 81,2427 -#define SK_ADDR_MULTICAST_ADDRESS 82,2463 -#define SK_ADDR_EXACT_MATCHES 86,2554 -#define SK_ADDR_FIRST_MATCH_RLMT 88,2617 -#define SK_ADDR_LAST_MATCH_RLMT 89,2652 -#define SK_ADDR_FIRST_MATCH_DRV 90,2687 -#define SK_ADDR_LAST_MATCH_DRV 91,2722 -#define SK_MC_FILTERING_EXACT 95,2843 -#define SK_MC_FILTERING_INEXACT 96,2899 -#define SK_MC_ILLEGAL_ADDRESS 100,3016 -#define SK_MC_ILLEGAL_PORT 101,3072 -#define SK_MC_RLMT_OVERFLOW 102,3144 -#define SK_PROM_MODE_NONE 106,3246 -#define SK_PROM_MODE_LLC 107,3298 -#define SK_PROM_MODE_ALL_MC 108,3357 -#define SK_ADDR_EQUAL(SK_ADDR_EQUAL120,3701 -#define SK_ADDR_EQUAL(SK_ADDR_EQUAL128,4053 -#define SK_ADDR_EQUAL(SK_ADDR_EQUAL137,4365 -#define SK_ADDR_EQUAL(SK_ADDR_EQUAL145,4801 -typedef struct s_MacAddr s_MacAddr155,5191 -} SK_MAC_ADDR;SK_MAC_ADDR157,5245 -typedef union s_InexactFilter s_InexactFilter161,5321 -} SK_FILTER64;SK_FILTER64164,5421 -typedef struct s_AddrNet SK_ADDR_NET;SK_ADDR_NET167,5438 -typedef struct s_AddrPort s_AddrPort170,5478 -} SK_ADDR_PORT;SK_ADDR_PORT192,6260 -struct s_AddrNet s_AddrNet195,6278 -typedef struct s_Addr s_Addr210,6652 -} SK_ADDR;SK_ADDR218,6817 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skerror.h,610 -#define _INC_SKERROR_H_26,943 -#define SK_ERRCL_OTHER 31,999 -#define SK_ERRCL_CONFIG 32,1046 -#define SK_ERRCL_INIT 33,1105 -#define SK_ERRCL_NORES 34,1163 -#define SK_ERRCL_SW 35,1224 -#define SK_ERRCL_HW 36,1284 -#define SK_ERRCL_COMM 37,1337 -#define SK_ERRBASE_RLMT 43,1430 -#define SK_ERRBASE_HWINIT 44,1493 -#define SK_ERRBASE_VPD 45,1559 -#define SK_ERRBASE_PNMI 46,1620 -#define SK_ERRBASE_CSUM 47,1683 -#define SK_ERRBASE_SIRQ 48,1750 -#define SK_ERRBASE_I2C 49,1820 -#define SK_ERRBASE_QUEUE 50,1888 -#define SK_ERRBASE_ADDR 51,1956 -#define SK_ERRBASE_PECP 52,2029 -#define SK_ERRBASE_DRV 53,2095 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skvpd.h,1883 -#define __INC_SKVPD_H_29,986 -#define RES_ID 34,1070 -#define RES_VPD_R 35,1136 -#define RES_VPD_W 36,1193 -#define RES_END 37,1251 -#define VPD_NAME 40,1319 -#define VPD_PN 42,1404 -#define VPD_EC 43,1451 -#define VPD_MN 44,1504 -#define VPD_SN 45,1546 -#define VPD_CP 46,1587 -#define VPD_RV 47,1634 -#define VPD_YA 48,1683 -#define VPD_VL 49,1731 -#define VPD_VF 50,1796 -#define VPD_RW 51,1862 -#define VPD_RO_KEY 54,1959 -#define VPD_RW_KEY 55,2027 -#define ADD_KEY 58,2127 -#define OWR_KEY 59,2188 -#define VPD_DEV_ID_GENESIS 65,2290 -#define VPD_SIZE_YUKON 67,2326 -#define VPD_SIZE_GENESIS 68,2354 -#define VPD_SIZE 69,2383 -#define VPD_READ 70,2406 -#define VPD_WRITE 71,2430 -#define VPD_STOP(VPD_STOP73,2456 -#define VPD_GET_RES_LEN(VPD_GET_RES_LEN75,2528 -#define VPD_GET_VPD_LEN(VPD_GET_VPD_LEN78,2636 -#define VPD_GET_VAL(VPD_GET_VAL79,2700 -#define VPD_MAX_LEN 81,2743 -#define VPD_VALID 85,2809 -typedef struct s_vpd_status s_vpd_status91,2929 -} SK_VPD_STATUS;SK_VPD_STATUS96,3194 -typedef struct s_vpd s_vpd98,3212 -} SK_VPD;SK_VPD103,3427 -typedef struct s_vpd_para s_vpd_para105,3438 -} SK_VPD_PARA;SK_VPD_PARA108,3552 -typedef struct s_vpd_key s_vpd_key119,3709 -} SK_VPD_KEY;SK_VPD_KEY123,3869 -#define VPD_OUT8(VPD_OUT8131,3955 -#define VPD_OUT16(VPD_OUT16132,4028 -#define VPD_OUT32(VPD_OUT32133,4102 -#define VPD_IN8(VPD_IN8134,4177 -#define VPD_IN16(VPD_IN16135,4250 -#define VPD_IN32(VPD_IN32136,4324 -#define VPD_OUT8(VPD_OUT8138,4421 -#define VPD_OUT16(VPD_OUT16139,4485 -#define VPD_OUT32(VPD_OUT32140,4551 -#define VPD_IN8(VPD_IN8141,4617 -#define VPD_IN16(VPD_IN16142,4681 -#define VPD_IN32(VPD_IN32143,4747 -#define VPD_OUT8(VPD_OUT8146,4855 -#define VPD_OUT16(VPD_OUT16152,5027 -#define VPD_OUT32(VPD_OUT32158,5198 -#define VPD_IN8(VPD_IN8164,5371 -#define VPD_IN16(VPD_IN16170,5542 -#define VPD_IN32(VPD_IN32176,5715 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/h/skrlmt.h,2330 -#define __INC_SKRLMT_H45,1338 -#define SK_RLMT_NET_DOWN_TEMP 53,1500 -#define SK_RLMT_NET_DOWN_FINAL 54,1570 -#define SK_RLMT_STANDBY_QRXSIZE 59,1759 -#define SK_RLMT_STANDBY_QXASIZE 60,1833 -#define SK_RLMT_STANDBY_QXSSIZE 61,1909 -#define SK_RLMT_MAX_TX_BUF_SIZE 63,1984 -#define SK_RLMT_PS_INIT 67,2085 -#define SK_RLMT_PS_LINK_DOWN 68,2137 -#define SK_RLMT_PS_DOWN 69,2197 -#define SK_RLMT_PS_GOING_UP 70,2254 -#define SK_RLMT_PS_UP 71,2313 -#define SK_RLMT_RS_INIT 75,2393 -#define SK_RLMT_RS_NET_DOWN 76,2445 -#define SK_RLMT_RS_NET_UP 77,2504 -#define SK_RLMT_LINK_UP 81,2591 -#define SK_RLMT_LINK_DOWN 82,2642 -#define SK_RLMT_PORT_ADDR 83,2696 -#define SK_RLMT_START 87,2788 -#define SK_RLMT_STOP 88,2835 -#define SK_RLMT_PACKET_RECEIVED 89,2880 -#define SK_RLMT_STATS_CLEAR 90,2953 -#define SK_RLMT_STATS_UPDATE 91,3011 -#define SK_RLMT_PREFPORT_CHANGE 92,3070 -#define SK_RLMT_MODE_CHANGE 93,3136 -#define SK_RLMT_SET_NETS 94,3190 -#define SK_RLMT_CHECK_LINK 103,3387 -#define SK_RLMT_CHECK_LOC_LINK 104,3438 -#define SK_RLMT_CHECK_SEG 105,3514 -#define SK_RLMT_CHECK_OTHERS 108,3599 -#define SK_RLMT_CHECK_REM_LINK 110,3681 -#define SK_RLMT_MAX_REMOTE_PORTS_CHECKED 111,3758 -#define SK_RLMT_CHECK_OTHERS 112,3801 -#define SK_RLMT_TRANSPARENT 117,3951 -#define SK_RLMT_TRANSPARENT 119,4059 -#define SK_RLMT_MODE_CLS 125,4212 -#define SK_RLMT_MODE_CLP 128,4323 -#define SK_RLMT_MODE_CLPSS 131,4444 -#define SK_RLMT_MODE_CRP 137,4655 -#define SK_RLMT_MODE_CRPSS 142,4837 -#define SK_RLMT_RX_RLMT 149,5041 -#define SK_RLMT_RX_PROTOCOL 150,5096 -#define SK_RLMT_PRE_LOOKAHEAD(SK_RLMT_PRE_LOOKAHEAD163,5499 -SK_U8 *pLaPacket,202,6522 -SK_RLMT_LOOKAHEAD(206,6759 -#define SK_RLMT_LOOKAHEAD(SK_RLMT_LOOKAHEAD214,7074 -typedef struct s_RlmtMbuf s_RlmtMbuf271,8872 -} SK_RLMT_MBUF;SK_RLMT_MBUF273,8914 -typedef struct s_Rlmt_PacketInfo s_Rlmt_PacketInfo278,8984 -} SK_RLMT_PINFO;SK_RLMT_PINFO281,9130 -typedef struct s_RootId s_RootId285,9173 -} SK_RLMT_ROOT_ID;SK_RLMT_ROOT_ID287,9240 -typedef struct s_port s_port290,9261 -} SK_PORT_CHECK;SK_PORT_CHECK293,9330 -typedef struct s_RlmtNet SK_RLMT_NET;SK_RLMT_NET296,9349 -typedef struct s_RlmtPort s_RlmtPort299,9389 -} SK_RLMT_PORT;SK_RLMT_PORT345,10845 -struct s_RlmtNet s_RlmtNet348,10863 -typedef struct s_Rlmt s_Rlmt383,11790 -} SK_RLMT;SK_RLMT399,12353 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/ski2c.c,1520 -static const char SysKonnectFileId[29,1025 -intro(107,3227 -#define T_CLK_LOW 117,3422 -#define T_CLK_HIGH 118,3475 -#define T_DATA_IN_SETUP 119,3531 -#define T_START_HOLD 120,3588 -#define T_START_SETUP 121,3648 -#define T_STOP_SETUP 122,3711 -#define T_BUS_IDLE 123,3772 -#define T_CLK_2_DATA_OUT 124,3837 -#define T_CLK_LOW 127,3969 -#define T_CLK_HIGH 128,4022 -#define T_DATA_IN_SETUP 129,4077 -#define T_START_HOLD 130,4134 -#define T_START_SETUP 131,4194 -#define T_STOP_SETUP 132,4257 -#define T_BUS_IDLE 133,4318 -#define NS2BCLK(NS2BCLK136,4414 -#define I2C_DATA_HIGH(I2C_DATA_HIGH148,4808 -#define I2C_DATA_LOW(I2C_DATA_LOW149,4865 -#define I2C_DATA_OUT(I2C_DATA_OUT150,4921 -#define I2C_DATA_IN(I2C_DATA_IN151,4981 -#define I2C_CLK_HIGH(I2C_CLK_HIGH152,5051 -#define I2C_CLK_LOW(I2C_CLK_LOW153,5106 -#define I2C_START_COND(I2C_START_COND154,5175 -#define NS2CLKT(NS2CLKT156,5233 -void SkI2cSndBit(163,5367 -void SkI2cStart(190,5846 -void SkI2cStop(214,6296 -int SkI2cRcvBit(252,7069 -int SkI2cRcvAck(284,7581 -void SkI2cSndNAck(297,7748 -void SkI2cSndAck(310,7907 -int SkI2cSndByte(325,8134 -int SkI2cRcvByte(349,8454 -int SkI2cSndDev(377,8840 -int SkI2cWait(399,9344 -void SkI2cWaitIrq(444,10185 -int SkI2cWrite(484,10915 -SK_U32 SkI2cRead(507,11509 -int SkI2cReadSensor(541,12386 -static int SkI2cInit0(557,12722 -static int SkI2cInit1(620,14440 -static int SkI2cInit2(837,22119 -int SkI2cInit(882,23194 -void SkI2cIsr(914,23756 -static void SkI2cCheckSensor(931,24079 -int SkI2cEvent(1166,30239 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skcsum.c,950 -static const char SysKonnectFileId[27,979 -#define SKCS_ETHERNET_MAC_HEADER_SIZE 73,2377 -#define SKCS_MAC_HEADER_SIZE 76,2476 -#define SKCS_IP_HEADER_SIZE 79,2595 -#define SKCS_OFS_IP_HEADER_VERSION_AND_LENGTH 86,2725 -#define SKCS_OFS_IP_TOTAL_LENGTH 89,2796 -#define SKCS_OFS_IP_FLAGS_AND_FRAGMENT_OFFSET 92,2868 -#define SKCS_OFS_IP_NEXT_LEVEL_PROTOCOL 95,2957 -#define SKCS_OFS_IP_SOURCE_ADDRESS 98,3027 -#define SKCS_OFS_IP_DESTINATION_ADDRESS 101,3099 -#define SKCS_OFS_UDP_CHECKSUM 109,3214 -#define SKCS_PROTO_ID_TCP 112,3309 -#define SKCS_PROTO_ID_UDP 113,3371 -#define SKCS_IP_DONT_FRAGMENT 116,3462 -#define SKCS_IDX(SKCS_IDX119,3551 -#define SKCS_HTON16(SKCS_HTON16126,3787 -#define SKCS_HTON16(SKCS_HTON16129,3919 -#define SKCS_NTOH16(SKCS_NTOH16131,3981 -void SkCsGetSendInfo(210,7540 -SKCS_STATUS SkCsGetReceiveInfo(437,14983 -void SkCsSetReceiveFlags(720,23174 -unsigned SkCsCalculateChecksum(767,24742 -int SkCsEvent(834,26476 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skproc.c,277 -int len;37,1276 -struct file_operations sk_proc_fops 41,1406 -struct net_device *currDev 48,1568 -static void sk_gen_browse(61,1876 -static int sk_proc_print(318,10414 -#define MAX_LEN_SINGLE_LINE 320,10479 -static int sk_seq_show(351,11225 -static int sk_proc_open(369,11705 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skgehwt.c,240 -static const char SysKonnectFileId[29,1021 -intro(40,1351 -#define SK_HWT_MAX 47,1411 -#define SK_HWT_FAC 50,1463 -void SkHwtInit(57,1608 -void SkHwtStart(73,1851 -void SkHwtStop(107,2388 -SK_U32 SkHwtRead(126,2727 -void SkHwtIsr(160,3300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/sklm80.c,191 -static const char SysKonnectFileId[29,1032 -#define BREAK_OR_WAIT(BREAK_OR_WAIT38,1326 -#define BREAK_OR_WAIT(BREAK_OR_WAIT40,1409 -int SkLm80RcvReg(50,1602 -int SkLm80ReadSensor(121,3023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skdim.c,563 -static const char SysKonnectFileId[40,1312 -#define __SKADDR_C44,1438 -SkDimModerate(125,3956 -#define M_DIMINFO 131,4189 -SkDimStartModerationTimer(215,7525 -SkDimEnableModerationIfNeeded(237,8508 -SkDimDisplayModerationSettings(263,9426 -GetCurrentSystemLoad(288,10545 -GetIsrCalls(374,13480 -GetRxCalls(423,15675 -SetCurrIntCtr(449,16621 -IsIntModEnabled(471,17601 -EnableIntMod(493,18262 -DisableIntMod(522,19296 -ResizeDimTimerDuration(543,20091 -DisplaySelectedModerationType(653,24216 -DisplaySelectedModerationMask(682,25349 -DisplayDescrRatio(728,27107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skrlmt.c,5854 -static const char SysKonnectFileId[41,1424 -#define __SKRLMT_C45,1570 -#define SK_HWAC_LINK_LED(SK_HWAC_LINK_LED57,1802 -#define RLMT_STATIC 61,1891 -#define RLMT_STATIC63,1936 -#define OFFS_LO32 67,2002 -#define OFFS_HI32 70,2044 -#define OFFS_LO32 73,2113 -#define OFFS_HI32 76,2155 -#define SK_RLMT_MIN_TO_VAL 83,2268 -#define SK_RLMT_DEF_TO_VAL 84,2322 -#define SK_RLMT_PORTDOWN_TIM_VAL 85,2374 -#define SK_RLMT_PORTSTART_TIM_VAL 86,2440 -#define SK_RLMT_PORTUP_TIM_VAL 87,2499 -#define SK_RLMT_SEG_TO_VAL 88,2556 -#define SK_TICK_INCR 92,2699 -#define SK_RLMT_BC_DELTA 99,2928 -#define SK_RLMT_DEF_PREF_PORT 104,3095 -#define SK_RLMT_DEF_MODE 105,3151 -#define SK_RLMT_RCS_SEG 109,3271 -#define SK_RLMT_RCS_START_SEG 110,3335 -#define SK_RLMT_RCS_SEND_SEG 111,3409 -#define SK_RLMT_RCS_REPORT_SEG 112,3482 -#define SK_RLMT_PCS_TX 116,3601 -#define SK_RLMT_PCS_RX 117,3663 -#define SK_RLMT_PORTSTART_TIM 122,3816 -#define SK_RLMT_PORTUP_TIM 123,3877 -#define SK_RLMT_PORTDOWN_RX_TIM 124,3936 -#define SK_RLMT_PORTDOWN 125,4009 -#define SK_RLMT_PORTDOWN_TX_TIM 126,4062 -#define SK_RLMT_TIM 131,4224 -#define SK_RLMT_SEG_TIM 132,4272 -#define TO_SHORTEN(TO_SHORTEN134,4343 -#define SKERR_RLMT_E001 137,4414 -#define SKERR_RLMT_E001_MSG 138,4461 -#define SKERR_RLMT_E002 139,4502 -#define SKERR_RLMT_E002_MSG 140,4549 -#define SKERR_RLMT_E003 141,4593 -#define SKERR_RLMT_E003_MSG 142,4640 -#define SKERR_RLMT_E004 143,4690 -#define SKERR_RLMT_E004_MSG 144,4737 -#define SKERR_RLMT_E005 145,4786 -#define SKERR_RLMT_E005_MSG 146,4833 -#define SKERR_RLMT_E006 148,4944 -#define SKERR_RLMT_E006_MSG 149,4991 -#define SKERR_RLMT_E007 150,5053 -#define SKERR_RLMT_E007_MSG 151,5100 -#define SKERR_RLMT_E008 152,5149 -#define SKERR_RLMT_E008_MSG 153,5196 -#define SKERR_RLMT_E009 154,5261 -#define SKERR_RLMT_E009_MSG 155,5308 -#define SKERR_RLMT_E010 156,5383 -#define SKERR_RLMT_E010_MSG 157,5430 -#define LLC_COMMAND_RESPONSE_BIT 160,5517 -#define LLC_TEST_COMMAND 161,5553 -#define LLC_UI 162,5586 -#define SK_RLMT_DSAP 165,5639 -#define SK_RLMT_SSAP 166,5666 -#define SK_RLMT_CTRL 167,5693 -#define SK_RLMT_INDICATOR0 168,5737 -#define SK_RLMT_INDICATOR1 169,5780 -#define SK_RLMT_INDICATOR2 170,5823 -#define SK_RLMT_INDICATOR3 171,5866 -#define SK_RLMT_INDICATOR4 172,5909 -#define SK_RLMT_INDICATOR5 173,5952 -#define SK_RLMT_INDICATOR6 174,5995 -#define SK_RLMT_PACKET_VERSION 175,6038 -#define SK_RLMT_SPT_FLAG_CHANGE 178,6102 -#define SK_RLMT_SPT_FLAG_CHANGE_ACK 179,6141 -#define SK_RLMT_SPT_DSAP 182,6214 -#define SK_RLMT_SPT_SSAP 183,6247 -#define SK_RLMT_SPT_CTRL 184,6280 -#define SK_RLMT_SPT_PROTOCOL_ID0 185,6317 -#define SK_RLMT_SPT_PROTOCOL_ID1 186,6356 -#define SK_RLMT_SPT_PROTOCOL_VERSION_ID 187,6395 -#define SK_RLMT_SPT_BPDU_TYPE 188,6440 -#define SK_RLMT_SPT_FLAGS 189,6477 -#define SK_RLMT_SPT_ROOT_ID0 190,6520 -#define SK_RLMT_SPT_ROOT_ID1 191,6588 -#define SK_RLMT_SPT_ROOT_PATH_COST0 194,6715 -#define SK_RLMT_SPT_ROOT_PATH_COST1 195,6757 -#define SK_RLMT_SPT_ROOT_PATH_COST2 196,6799 -#define SK_RLMT_SPT_ROOT_PATH_COST3 197,6841 -#define SK_RLMT_SPT_BRIDGE_ID0 198,6883 -#define SK_RLMT_SPT_BRIDGE_ID1 199,6953 -#define SK_RLMT_SPT_PORT_ID0 202,7082 -#define SK_RLMT_SPT_PORT_ID1 203,7150 -#define SK_RLMT_SPT_MSG_AGE0 204,7218 -#define SK_RLMT_SPT_MSG_AGE1 205,7254 -#define SK_RLMT_SPT_MAX_AGE0 206,7290 -#define SK_RLMT_SPT_MAX_AGE1 207,7326 -#define SK_RLMT_SPT_HELLO_TIME0 208,7362 -#define SK_RLMT_SPT_HELLO_TIME1 209,7401 -#define SK_RLMT_SPT_FWD_DELAY0 210,7440 -#define SK_RLMT_SPT_FWD_DELAY1 211,7478 -#define SK_RLMT_MIN_PACKET_SIZE 214,7537 -#define SK_RLMT_MAX_PACKET_SIZE 215,7574 -#define SK_PACKET_DATA_LEN 216,7634 -#define SK_PACKET_ANNOUNCE 220,7765 -#define SK_PACKET_ALIVE 221,7822 -#define SK_PACKET_ADDR_CHANGED 222,7880 -#define SK_PACKET_CHECK_TX 223,7943 -#define SK_U16_TO_NETWORK_ORDER(SK_U16_TO_NETWORK_ORDER226,8026 -#define SK_U16_TO_NETWORK_ORDER(SK_U16_TO_NETWORK_ORDER235,8260 -#define AUTONEG_FAILED 238,8365 -#define AUTONEG_SUCCESS 239,8397 -typedef struct s_RlmtPacket s_RlmtPacket245,8577 -} SK_RLMT_PACKET;SK_RLMT_PACKET258,8951 -typedef struct s_SpTreeRlmtPacket s_SpTreeRlmtPacket260,8970 -} SK_SPTREE_PACKET;SK_SPTREE_PACKET279,9374 -SK_MAC_ADDR SkRlmtMcAddr 283,9477 -SK_MAC_ADDR BridgeMcAddr 284,9549 -SK_MAC_ADDR BcAddr 285,9621 -void SkRlmtInit(339,10777 -RLMT_STATIC void SkRlmtBuildCheckChain(495,15422 -RLMT_STATIC SK_MBUF *SkRlmtBuildPacket(582,17740 -RLMT_STATIC SK_MBUF *SkRlmtBuildSpanningTreePacket(669,20108 -RLMT_STATIC void SkRlmtSend(752,22844 -RLMT_STATIC void SkRlmtPortReceives(820,24941 -RLMT_STATIC void SkRlmtPacketReceive(876,26626 -RLMT_STATIC SK_U32 SkRlmtCheckPort(1220,36837 -RLMT_STATIC SK_BOOL SkRlmtSelectBcRx(1326,40087 -RLMT_STATIC SK_BOOL SkRlmtSelectNotSuspect(1409,42403 -RLMT_STATIC SK_BOOL SkRlmtSelectUp(1458,43691 -RLMT_STATIC SK_BOOL SkRlmtSelectGoingUp(1507,45042 -RLMT_STATIC SK_BOOL SkRlmtSelectDown(1565,46542 -RLMT_STATIC void SkRlmtCheckSwitch(1615,47935 -RLMT_STATIC void SkRlmtCheckSeg(1847,55287 -RLMT_STATIC void SkRlmtPortStart(1925,57352 -RLMT_STATIC void SkRlmtEvtPortStartTim(1958,58250 -RLMT_STATIC void SkRlmtEvtLinkUp(2011,59662 -RLMT_STATIC void SkRlmtEvtPortUpTim(2131,63203 -RLMT_STATIC void SkRlmtEvtPortDownX(2185,64657 -RLMT_STATIC void SkRlmtEvtLinkDown(2264,66767 -RLMT_STATIC void SkRlmtEvtPortAddr(2310,67989 -RLMT_STATIC void SkRlmtEvtStart(2369,69593 -RLMT_STATIC void SkRlmtEvtStop(2459,72153 -RLMT_STATIC void SkRlmtEvtTim(2550,74833 -RLMT_STATIC void SkRlmtEvtSegTim(2658,77908 -RLMT_STATIC void SkRlmtEvtPacketRx(2724,79777 -RLMT_STATIC void SkRlmtEvtStatsClear(2782,81131 -RLMT_STATIC void SkRlmtEvtStatsUpdate(2838,82603 -RLMT_STATIC void SkRlmtEvtPrefportChange(2883,83793 -RLMT_STATIC void SkRlmtEvtSetNets(2940,85375 -RLMT_STATIC void SkRlmtEvtModeChange(3068,89519 -int SkRlmtEvent(3180,93187 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skgesirq.c,801 -static const char SysKonnectFileId[50,1950 -static const SK_U16 SkGeRxRegs[82,3090 -intro(99,3315 -static void SkHWInitDefSense(111,3553 -static SK_U8 SkHWSenseGetNext(147,4330 -static void SkHWSenseSetNext(181,5142 -void SkHWLinkDown(216,5927 -void SkHWLinkUp(268,7179 -static void SkMacParity(331,8835 -static void SkGeHwErr(408,10658 -void SkGeSirqIsr(542,14361 -static int SkGePortCheckShorts(881,23649 -static int SkGePortCheckUp(996,26535 -static int SkGePortCheckUpXmac(1060,27904 -static int SkGePortCheckUpBcom(1315,35166 -static int SkGePortCheckUpGmac(1616,43204 -static int SkGePortCheckUpLone(1759,47012 -static int SkGePortCheckUpNat(1890,50582 -int SkGeSirqEvent(1910,51037 -static void SkPhyIsrBcom(2132,56327 -static void SkPhyIsrGmac(2175,57390 -static void SkPhyIsrLone(2231,58845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/sktimer.c,199 -static const char SysKonnectFileId[30,1035 -intro(44,1367 -void SkTimerInit(58,1555 -void SkTimerStop(80,1951 -void SkTimerStart(120,2709 -void SkTimerDone(193,4144 -static void timer_done(201,4259 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk98lin/skgepnmi.c,2038 -static const char SysKonnectFileId[27,942 -#define PNMI_STATIC 50,1531 -#define PNMI_STATIC52,1576 -PNMI_STATIC const SK_U16 StatOvrflwBit[129,5010 -PNMI_STATIC const SK_PNMI_STATADDR StatAddr[199,8871 -int SkPnmiInit(355,14373 -int SkPnmiGetVar(590,19689 -int SkPnmiPreSetVar(632,21624 -int SkPnmiSetVar(675,23544 -int SkPnmiGetStruct(711,25090 -int SkPnmiPreSetStruct(889,30261 -int SkPnmiSetStruct(927,31922 -int SkPnmiEvent(992,35350 -PNMI_STATIC int PnmiVar(1700,54360 -PNMI_STATIC int PnmiStruct(1753,56138 -PNMI_STATIC int LookupId(1918,60117 -PNMI_STATIC int OidStruct(1955,61281 -PNMI_STATIC int Perform(2022,63397 -PNMI_STATIC int Mac8023Stat(2153,66850 -PNMI_STATIC int MacPrivateStat(2289,70335 -PNMI_STATIC int Addr(2451,75041 -PNMI_STATIC int CsumStat(2652,79946 -PNMI_STATIC int SensorStat(2768,82859 -PNMI_STATIC int Vpd(3013,89000 -PNMI_STATIC int General(3487,99342 -PNMI_STATIC int Rlmt(4485,123687 -PNMI_STATIC int RlmtStat(4790,131174 -PNMI_STATIC int MacPrivateConf(4992,136283 -PNMI_STATIC int Monitor(5991,159801 -PNMI_STATIC void VirtualConf(6106,162588 -PNMI_STATIC SK_U8 CalculateLinkStatus(6444,170043 -PNMI_STATIC SK_U8 CalculateLinkModeStatus(6483,171095 -PNMI_STATIC int GetVpdKeyArr(6530,172316 -PNMI_STATIC int SirqUpdate(6626,174626 -PNMI_STATIC int RlmtUpdate(6665,175635 -PNMI_STATIC int MacUpdate(6707,176836 -PNMI_STATIC SK_U64 GetStatVal(6763,178555 -PNMI_STATIC SK_U64 GetPhysStatVal(6826,180384 -PNMI_STATIC void ResetCounter(7160,189297 -PNMI_STATIC char* GetTrapEntry(7256,192731 -PNMI_STATIC void CopyTrapQueue(7361,195251 -PNMI_STATIC void GetTrapQueueLen(7404,196258 -PNMI_STATIC void QueueSimpleTrap(7446,197229 -PNMI_STATIC void QueueSensorTrap(7464,197679 -PNMI_STATIC void QueueRlmtNewMacTrap(7519,199258 -PNMI_STATIC void QueueRlmtPortTrap(7546,199967 -PNMI_STATIC void CopyMac(7573,200658 -PNMI_STATIC int PowerManagement(7605,201651 -PNMI_STATIC int DiagActions(7768,205810 -PNMI_STATIC int Vct(7967,210138 -PNMI_STATIC void CheckVctStatus(8218,216639 -int SkPnmiGenIoctl(8302,219436 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/lance.c,2524 -static const char version[45,1929 -static unsigned int lance_portlist[64,2418 -static unsigned int lance_portlist[] __initdata 64,2418 -static struct card card69,2645 -} cards[72,2704 -#define NUM_CARDS 86,2932 -static int lance_debug 89,2972 -static int lance_debug 91,3016 -#define LANCE_LOG_TX_BUFFERS 187,7854 -#define LANCE_LOG_RX_BUFFERS 188,7885 -#define TX_RING_SIZE 191,7924 -#define TX_RING_MOD_MASK 192,7977 -#define TX_RING_LEN_BITS 193,8022 -#define RX_RING_SIZE 195,8080 -#define RX_RING_MOD_MASK 196,8133 -#define RX_RING_LEN_BITS 197,8178 -#define PKT_BUF_SZ 199,8236 -#define LANCE_DATA 202,8299 -#define LANCE_ADDR 203,8323 -#define LANCE_RESET 204,8347 -#define LANCE_BUS_IF 205,8372 -#define LANCE_TOTAL_SIZE 206,8398 -#define TX_TIMEOUT 208,8429 -struct lance_rx_head lance_rx_head211,8496 -struct lance_tx_head lance_tx_head217,8650 -struct lance_init_block lance_init_block224,8818 -struct lance_private lance_private233,9120 -#define LANCE_MUST_PAD 254,9956 -#define LANCE_ENABLE_AUTOSELECT 255,9999 -#define LANCE_MUST_REINIT_RING 256,10042 -#define LANCE_MUST_UNRESET 257,10085 -#define LANCE_HAS_MISSED_FRAME 258,10128 -static struct lance_chip_type lance_chip_type263,10354 -} chip_table[267,10433 -enum {OLD_LANCE 292,11525 -enum {OLD_LANCE = 0, PCNET_ISA=292,11525 -enum {OLD_LANCE = 0, PCNET_ISA=1, PCNET_ISAP=292,11525 -enum {OLD_LANCE = 0, PCNET_ISA=1, PCNET_ISAP=2, PCNET_PCI=292,11525 -enum {OLD_LANCE = 0, PCNET_ISA=1, PCNET_ISAP=2, PCNET_PCI=3, PCNET_VLB=292,11525 -enum {OLD_LANCE = 0, PCNET_ISA=1, PCNET_ISAP=2, PCNET_PCI=3, PCNET_VLB=4, PCNET_PCI_II=292,11525 -enum {OLD_LANCE = 0, PCNET_ISA=1, PCNET_ISAP=2, PCNET_PCI=3, PCNET_VLB=4, PCNET_PCI_II=5, LANCE_UNKNOWN=292,11525 -static unsigned char lance_need_isa_bounce_buffers 297,11758 -static void cleanup_card(311,12361 -#define MAX_CARDS 323,12631 -static struct net_device *dev_lance[325,12703 -static int io[326,12751 -static int dma[327,12777 -static int irq[328,12804 -int init_module(339,13316 -void cleanup_module(372,14018 -static int __init do_lance_probe(393,14514 -struct net_device * __init lance_probe(436,15636 -static int __init lance_probe1(462,16047 -lance_open(741,24993 -lance_purge_ring(829,27987 -lance_init_ring(853,28537 -lance_restart(895,29728 -static void lance_tx_timeout 909,30098 -static int lance_start_xmit(943,31120 -lance_interrupt(1016,33158 -lance_rx(1140,36658 -lance_close(1219,39068 -static struct net_device_stats *lance_get_stats(1253,39814 -static void set_multicast_list(1276,40414 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/acenic.c,4606 -#define DRV_NAME 89,3584 -#define ACE_IS_TIGON_I(ACE_IS_TIGON_I94,3665 -#define ACE_TX_RING_ENTRIES(ACE_TX_RING_ENTRIES95,3694 -#define ACE_IS_TIGON_I(ACE_IS_TIGON_I97,3752 -#define ACE_TX_RING_ENTRIES(ACE_TX_RING_ENTRIES98,3798 -#define PCI_VENDOR_ID_ALTEON 102,3887 -#define PCI_DEVICE_ID_ALTEON_ACENIC_FIBRE 105,3974 -#define PCI_DEVICE_ID_ALTEON_ACENIC_COPPER 106,4024 -#define PCI_DEVICE_ID_3COM_3C985 109,4114 -#define PCI_VENDOR_ID_NETGEAR 112,4191 -#define PCI_DEVICE_ID_NETGEAR_GA620 113,4229 -#define PCI_DEVICE_ID_NETGEAR_GA620T 116,4316 -#define PCI_DEVICE_ID_FARALLON_PN9000SX 125,4501 -#define PCI_DEVICE_ID_FARALLON_PN9100T 128,4592 -#define PCI_VENDOR_ID_SGI 131,4670 -#define PCI_DEVICE_ID_SGI_ACENIC 134,4744 -static struct pci_device_id acenic_pci_tbl[137,4792 -#define SET_NETDEV_DEV(SET_NETDEV_DEV163,6041 -#define ace_sync_irq(ace_sync_irq167,6131 -#define ace_sync_irq(ace_sync_irq169,6184 -#define offset_in_page(offset_in_page173,6259 -#define ACE_MAX_MOD_PARMS 176,6331 -#define BOARD_IDX_STATIC 177,6359 -#define BOARD_IDX_OVERFLOW 178,6386 -#define ACENIC_DO_VLAN 182,6521 -#define ACE_RCB_VLAN_FLAG 183,6547 -#define ACENIC_DO_VLAN 185,6599 -#define ACE_RCB_VLAN_FLAG 186,6625 -#define MAX_TEXT_LEN 194,6747 -#define MAX_RODATA_LEN 195,6776 -#define MAX_DATA_LEN 196,6806 -#define tigon2FwReleaseLocal 201,6894 -#define RX_RING_SIZE 352,14166 -#define RX_MINI_SIZE 353,14191 -#define RX_JUMBO_SIZE 354,14216 -#define RX_PANIC_STD_THRES 356,14243 -#define RX_PANIC_STD_REFILL 357,14273 -#define RX_LOW_STD_THRES 358,14326 -#define RX_PANIC_MINI_THRES 359,14370 -#define RX_PANIC_MINI_REFILL 360,14401 -#define RX_LOW_MINI_THRES 361,14456 -#define RX_PANIC_JUMBO_THRES 362,14501 -#define RX_PANIC_JUMBO_REFILL 363,14532 -#define RX_LOW_JUMBO_THRES 364,14589 -#define ACE_MINI_SIZE 371,14741 -#define ACE_MINI_BUFSIZE 373,14769 -#define ACE_STD_BUFSIZE 374,14808 -#define ACE_JUMBO_BUFSIZE 375,14862 -#define DEF_TX_COAL 385,15288 -#define DEF_TX_MAX_DESC 386,15323 -#define DEF_RX_COAL 387,15365 -#define DEF_RX_MAX_DESC 388,15401 -#define DEF_TX_RATIO 389,15429 -#define DEF_JUMBO_TX_COAL 391,15464 -#define DEF_JUMBO_TX_MAX_DESC 392,15493 -#define DEF_JUMBO_RX_COAL 393,15526 -#define DEF_JUMBO_RX_MAX_DESC 394,15555 -#define DEF_JUMBO_TX_RATIO 395,15587 -#define TX_COAL_INTS_ONLY 405,15911 -#define TX_COAL_INTS_ONLY 410,16035 -#define DEF_TRACE 413,16071 -#define DEF_STAT 414,16092 -static int link[417,16132 -static int trace[418,16168 -static int tx_coal_tick[419,16205 -static int rx_coal_tick[420,16249 -static int max_tx_desc[421,16293 -static int max_rx_desc[422,16336 -static int tx_ratio[423,16379 -static int dis_pci_mem_inval[424,16419 -static int num_params;430,16642 -static char version[447,17676 -static struct ethtool_ops ace_ethtool_ops 455,18073 -static int __devinit acenic_probe_one(461,18226 -static void __devexit acenic_remove_one(631,22500 -static struct pci_driver acenic_pci_driver 723,24752 -static int __init acenic_init(730,24925 -static void __exit acenic_exit(735,25011 -static void ace_free_descriptors(743,25150 -static int ace_allocate_descriptors(793,26493 -static void ace_init_cleanup(862,28173 -static inline void ace_issue_cmd(888,28603 -static int __init ace_init(901,28834 -static void ace_set_rxtx_parms(1551,47025 -static void ace_watchdog(1594,48170 -static void ace_tasklet(1619,48843 -static void ace_dump_trace(1660,49943 -static void ace_load_std_rx_ring(1677,50344 -static void ace_load_mini_rx_ring(1741,51653 -static void ace_load_jumbo_rx_ring(1800,52913 -static u32 ace_handle_event(1867,54428 -static void ace_rx_int(1972,57012 -static inline void ace_tx_int(2098,59874 -static irqreturn_t ace_interrupt(2165,61936 -static void ace_vlan_rx_register(2295,65281 -static void ace_vlan_rx_kill_vid(2310,65548 -static int ace_open(2327,65876 -static int ace_close(2385,66961 -ace_map_tx_skb(2469,68668 -ace_load_tx_bd(2488,69137 -static int ace_start_xmit(2513,69685 -static int ace_change_mtu(2652,73280 -static int ace_get_settings(2689,74108 -static int ace_set_settings(2742,75395 -static void ace_get_drvinfo(2804,76707 -static int ace_set_mac_addr(2823,77162 -static void ace_set_multicast_list(2851,77719 -static struct net_device_stats *ace_get_stats(2905,79129 -static void __init ace_copy(2919,79510 -static void __init ace_clear(2952,80188 -int __init ace_load_firmware(2985,80889 -static void __init eeprom_start(3039,82552 -static void __init eeprom_prep(3068,83188 -static int __init eeprom_check_ack(3105,83965 -static void __init eeprom_stop(3133,84582 -static int __init read_eeprom_byte(3168,85311 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/s2io.c,3615 -static char s2io_driver_name[71,2877 -static char s2io_driver_version[72,2918 -#define LINK_IS_UP(LINK_IS_UP74,2970 -#define TASKLET_IN_USE 76,3090 -#define PANIC 78,3179 -#define LOW 79,3195 -static inline int rx_buffer_level(80,3209 -static char s2io_gstrings[93,3481 -static char ethtool_stats_keys[101,3665 -#define S2IO_STAT_LEN 143,4466 -#define S2IO_STAT_STRINGS_LEN 144,4532 -#define S2IO_TEST_LEN 146,4595 -#define S2IO_STRINGS_LEN 147,4657 -#define SWITCH_SIGN 154,4803 -#define END_SIGN 155,4845 -static u64 default_mdio_cfg[157,4867 -static u64 default_dtx_cfg[167,5111 -static u64 fix_mac[194,6084 -static u32 ring_num;214,6816 -static u32 frame_len[215,6837 -static u32 ring_len[216,6873 -static u32 fifo_num;217,6908 -static u32 fifo_len[218,6929 -static u32 rx_prio;219,6964 -static u32 tx_prio;220,6984 -static u8 latency_timer 221,7004 -static struct pci_device_id s2io_tbl[227,7128 -static struct pci_device_id s2io_tbl[] __devinitdata 227,7128 -static struct pci_driver s2io_driver 237,7378 -static int initSharedMem(254,7875 -static void freeSharedMem(420,12907 -static int initNic(472,14175 -static void en_dis_able_NicIntrs(876,25909 -static int verify_xena_quiescence(1089,32739 -void FixMacAddress(1129,33741 -static int startNic(1153,34478 -void freeTxBuffers(1261,37752 -static void stopNic(1318,38983 -int fill_rx_buffers(1360,40378 -static void freeRxBuffers(1461,43341 -static int s2io_poll(1526,45241 -static void rxIntrHandler(1637,48243 -static void txIntrHandler(1725,50754 -static void alarmIntrHandler(1842,53927 -int waitForCmdComplete(1878,55077 -void s2io_reset(1914,55955 -int s2io_set_swapper(1967,57618 -int s2io_open(2055,60309 -int s2io_close(2143,62678 -int s2io_xmit(2211,64384 -static irqreturn_t s2io_isr(2337,67945 -struct net_device_stats *s2io_get_stats(2457,71005 -static void s2io_set_multicast(2487,71950 -int s2io_set_mac_addr(2633,76510 -static int s2io_ethtool_sset(2678,77710 -int s2io_ethtool_gset(2704,78371 -static void s2io_ethtool_gdrvinfo(2735,79205 -static void s2io_ethtool_gregs(2764,80144 -static void s2io_phy_id(2792,80953 -static int s2io_ethtool_idnic(2827,82005 -static void s2io_ethtool_getpause_data(2869,83111 -int s2io_ethtool_setpause_data(2895,83856 -#define S2IO_DEV_ID 2928,84785 -static u32 readEeprom(2929,84808 -static int writeEeprom(2968,85890 -u32 inv(2999,86676 -int s2io_ethtool_geeprom(3027,87376 -static int s2io_ethtool_seeprom(3063,88422 -static int s2io_registerTest(3112,89641 -static int s2io_eepromTest(3174,91178 -static int s2io_bistTest(3243,92848 -static int s2io_linkTest(3279,93730 -static int s2io_rldramTest(3303,94359 -static void s2io_ethtool_test(3412,97028 -static void s2io_get_ethtool_stats(3472,98216 -int s2io_ethtool_get_regs_len(3521,100187 -u32 s2io_ethtool_get_rx_csum(3527,100273 -int s2io_ethtool_set_rx_csum(3533,100379 -int s2io_get_eeprom_len(3544,100538 -int s2io_ethtool_self_test_count(3549,100620 -void s2io_ethtool_get_strings(3553,100706 -static int s2io_ethtool_get_stats_count(3565,100995 -static struct ethtool_ops netdev_ethtool_ops 3570,101089 -int s2io_ioctl(3614,102721 -int s2io_change_mtu(3630,103168 -static void s2io_tasklet(3669,104281 -static void s2io_set_link(3704,105006 -static void s2io_restart_nic(3758,106647 -static void s2io_tx_watchdog(3782,107352 -static int rxOsmHandler(3809,108316 -int check_for_txSpace(3860,109548 -void s2io_link(3891,110391 -int get_xena_rev_id(3922,111174 -static void s2io_init_pci(3940,111600 -s2io_init_nic(4010,114152 -static void __devexit s2io_rem_nic(4358,123727 -int __init s2io_starter(4381,124168 -void s2io_closer(4386,124242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c501.c,887 -#define DRV_NAME 102,4204 -#define DRV_VERSION 103,4229 -static const char version[106,4264 -static int io=143,4997 -static int irq=144,5018 -static int mem_start;145,5036 -struct net_device * __init el1_probe(160,5514 -static int __init el1_probe1(216,6781 -static int el_open(340,9652 -static void el_timeout(372,10385 -static int el_start_xmit(412,11847 -static irqreturn_t el_interrupt(519,14864 -static void el_receive(699,18842 -static void el_reset(765,20310 -static int el1_close(799,21321 -static struct net_device_stats *el1_get_stats(829,21998 -static void set_multicast_list(845,22503 -static void netdev_get_drvinfo(867,22893 -static u32 netdev_get_msglevel(875,23118 -static void netdev_set_msglevel(880,23193 -static struct ethtool_ops netdev_ethtool_ops 885,23281 -static struct net_device *dev_3c501;893,23464 -int init_module(912,24047 -void cleanup_module(927,24344 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/natsemi.c,16624 -#define DRV_NAME 168,5329 -#define DRV_VERSION 169,5356 -#define DRV_RELDATE 170,5392 -#define RX_OFFSET 172,5428 -#define NATSEMI_DEF_MSG 179,5599 -static int debug 184,5742 -static int max_interrupt_work 187,5835 -static int mtu;188,5871 -static int multicast_filter_limit 192,6037 -static int rx_copybreak;196,6203 -#define MAX_UNITS 203,6406 -static int options[204,6475 -static int full_duplex[205,6506 -#define TX_RING_SIZE 214,6893 -#define TX_QUEUE_LEN 215,6917 -#define RX_RING_SIZE 216,6988 -#define TX_TIMEOUT 220,7137 -#define NATSEMI_HW_TIMEOUT 222,7165 -#define NATSEMI_TIMER_FREQ 223,7196 -#define NATSEMI_PG0_NREGS 224,7228 -#define NATSEMI_RFDR_NREGS 225,7257 -#define NATSEMI_PG1_NREGS 226,7286 -#define NATSEMI_NREGS 227,7314 -#define NATSEMI_REGS_VER 229,7405 -#define NATSEMI_REGS_SIZE 230,7462 -#define NATSEMI_EEPROM_SIZE 231,7518 -#define NATSEMI_HEADERS 237,7706 -#define NATSEMI_PADDING 238,7760 -#define NATSEMI_LONGPKT 239,7823 -#define NATSEMI_RX_LIMIT 240,7884 -static char version[243,8020 -static char version[] __devinitdata 243,8020 -enum pcistuff pcistuff352,12062 - PCI_USES_IO 353,12078 - PCI_USES_IO = 0x01,353,12078 - PCI_USES_MEM 354,12099 - PCI_USES_MEM = 0x02,354,12099 - PCI_USES_MASTER 355,12121 - PCI_USES_MASTER = 0x04,355,12121 - PCI_ADDR0 356,12146 - PCI_ADDR0 = 0x08,356,12146 - PCI_ADDR1 357,12165 - PCI_ADDR1 = 0x10,357,12165 -#define PCI_IOTYPE 361,12219 -#define PHYID_AM79C874 369,12495 -#define MII_MCTRL 371,12530 -#define MII_FX_SEL 372,12581 -#define MII_EN_SCRM 373,12632 -} natsemi_pci_info[380,12816 -} natsemi_pci_info[] __devinitdata 380,12816 -static struct pci_device_id natsemi_pci_tbl[384,12898 -enum register_offsets register_offsets395,13280 - ChipCmd 396,13304 - ChipCmd = 0x00,396,13304 - ChipConfig 397,13323 - ChipConfig = 0x04,397,13323 - EECtrl 398,13344 - EECtrl = 0x08,398,13344 - PCIBusCfg 399,13362 - PCIBusCfg = 0x0C,399,13362 - IntrStatus 400,13382 - IntrStatus = 0x10,400,13382 - IntrMask 401,13403 - IntrMask = 0x14,401,13403 - IntrEnable 402,13422 - IntrEnable = 0x18,402,13422 - IntrHoldoff 403,13443 - IntrHoldoff = 0x1C,403,13443 - TxRingPtr 404,13484 - TxRingPtr = 0x20,404,13484 - TxConfig 405,13504 - TxConfig = 0x24,405,13504 - RxRingPtr 406,13523 - RxRingPtr = 0x30,406,13523 - RxConfig 407,13543 - RxConfig = 0x34,407,13543 - ClkRun 408,13562 - ClkRun = 0x3C,408,13562 - WOLCmd 409,13580 - WOLCmd = 0x40,409,13580 - PauseCmd 410,13598 - PauseCmd = 0x44,410,13598 - RxFilterAddr 411,13617 - RxFilterAddr = 0x48,411,13617 - RxFilterData 412,13640 - RxFilterData = 0x4C,412,13640 - BootRomAddr 413,13663 - BootRomAddr = 0x50,413,13663 - BootRomData 414,13685 - BootRomData = 0x54,414,13685 - SiliconRev 415,13707 - SiliconRev = 0x58,415,13707 - StatsCtrl 416,13728 - StatsCtrl = 0x5C,416,13728 - StatsData 417,13748 - StatsData = 0x60,417,13748 - RxPktErrs 418,13768 - RxPktErrs = 0x60,418,13768 - RxMissed 419,13788 - RxMissed = 0x68,419,13788 - RxCRCErrs 420,13807 - RxCRCErrs = 0x64,420,13807 - BasicControl 421,13827 - BasicControl = 0x80,421,13827 - BasicStatus 422,13850 - BasicStatus = 0x84,422,13850 - AnegAdv 423,13872 - AnegAdv = 0x90,423,13872 - AnegPeer 424,13891 - AnegPeer = 0x94,424,13891 - PhyStatus 425,13910 - PhyStatus = 0xC0,425,13910 - MIntrCtrl 426,13930 - MIntrCtrl = 0xC4,426,13930 - MIntrStatus 427,13950 - MIntrStatus = 0xC8,427,13950 - PhyCtrl 428,13972 - PhyCtrl = 0xE4,428,13972 - PGSEL 432,14128 - PGSEL = 0xCC,432,14128 - PMDCSR 433,14145 - PMDCSR = 0xE4,433,14145 - TSTDAT 434,14163 - TSTDAT = 0xFC,434,14163 - DSPCFG 435,14181 - DSPCFG = 0xF4,435,14181 - SDCFG 436,14199 - SDCFG = 0xF8436,14199 -#define PMDCSR_VAL 439,14277 -#define TSTDAT_VAL 440,14347 -#define DSPCFG_VAL 441,14370 -#define SDCFG_VAL 442,14396 -#define DSPCFG_LOCK 443,14468 -#define TSTDAT_FIXED 444,14530 -enum pci_register_offsets pci_register_offsets447,14628 - PCIPM 448,14656 - PCIPM = 0x44,448,14656 -enum ChipCmd_bits ChipCmd_bits451,14677 - ChipReset 452,14697 - ChipReset = 0x100,452,14697 - RxReset 453,14718 - RxReset = 0x20,453,14718 - TxReset 454,14737 - TxReset = 0x10,454,14737 - RxOff 455,14756 - RxOff = 0x08,455,14756 - RxOn 456,14773 - RxOn = 0x04,456,14773 - TxOff 457,14789 - TxOff = 0x02,457,14789 - TxOn 458,14806 - TxOn = 0x01,458,14806 -enum ChipConfig_bits ChipConfig_bits461,14826 - CfgPhyDis 462,14849 - CfgPhyDis = 0x200,462,14849 - CfgPhyRst 463,14870 - CfgPhyRst = 0x400,463,14870 - CfgExtPhy 464,14891 - CfgExtPhy = 0x1000,464,14891 - CfgAnegEnable 465,14913 - CfgAnegEnable = 0x2000,465,14913 - CfgAneg100 466,14939 - CfgAneg100 = 0x4000,466,14939 - CfgAnegFull 467,14962 - CfgAnegFull = 0x8000,467,14962 - CfgAnegDone 468,14986 - CfgAnegDone = 0x8000000,468,14986 - CfgFullDuplex 469,15013 - CfgFullDuplex = 0x20000000,469,15013 - CfgSpeed100 470,15043 - CfgSpeed100 = 0x40000000,470,15043 - CfgLink 471,15071 - CfgLink = 0x80000000,471,15071 -enum EECtrl_bits EECtrl_bits474,15100 - EE_ShiftClk 475,15119 - EE_ShiftClk = 0x04,475,15119 - EE_DataIn 476,15141 - EE_DataIn = 0x01,476,15141 - EE_ChipSelect 477,15161 - EE_ChipSelect = 0x08,477,15161 - EE_DataOut 478,15185 - EE_DataOut = 0x02,478,15185 - MII_Data 479,15206 - MII_Data = 0x10,479,15206 - MII_Write 480,15226 - MII_Write = 0x20,480,15226 - MII_ShiftClk 481,15246 - MII_ShiftClk = 0x40,481,15246 -enum PCIBusCfg_bits PCIBusCfg_bits484,15273 - EepromReload 485,15295 - EepromReload = 0x4,485,15295 -enum IntrStatus_bits IntrStatus_bits489,15372 - IntrRxDone 490,15395 - IntrRxDone = 0x0001,490,15395 - IntrRxIntr 491,15418 - IntrRxIntr = 0x0002,491,15418 - IntrRxErr 492,15441 - IntrRxErr = 0x0004,492,15441 - IntrRxEarly 493,15463 - IntrRxEarly = 0x0008,493,15463 - IntrRxIdle 494,15487 - IntrRxIdle = 0x0010,494,15487 - IntrRxOverrun 495,15510 - IntrRxOverrun = 0x0020,495,15510 - IntrTxDone 496,15536 - IntrTxDone = 0x0040,496,15536 - IntrTxIntr 497,15559 - IntrTxIntr = 0x0080,497,15559 - IntrTxErr 498,15582 - IntrTxErr = 0x0100,498,15582 - IntrTxIdle 499,15604 - IntrTxIdle = 0x0200,499,15604 - IntrTxUnderrun 500,15627 - IntrTxUnderrun = 0x0400,500,15627 - StatsMax 501,15654 - StatsMax = 0x0800,501,15654 - SWInt 502,15675 - SWInt = 0x1000,502,15675 - WOLPkt 503,15694 - WOLPkt = 0x2000,503,15694 - LinkChange 504,15714 - LinkChange = 0x4000,504,15714 - IntrHighBits 505,15737 - IntrHighBits = 0x8000,505,15737 - RxStatusFIFOOver 506,15762 - RxStatusFIFOOver = 0x10000,506,15762 - IntrPCIErr 507,15791 - IntrPCIErr = 0xf00000,507,15791 - RxResetDone 508,15816 - RxResetDone = 0x1000000,508,15816 - TxResetDone 509,15843 - TxResetDone = 0x2000000,509,15843 - IntrAbnormalSummary 510,15870 - IntrAbnormalSummary = 0xCD20,510,15870 -#define DEFAULT_INTR 522,16181 -enum TxConfig_bits TxConfig_bits524,16214 - TxDrthMask 525,16235 - TxDrthMask = 0x3f,525,16235 - TxFlthMask 526,16256 - TxFlthMask = 0x3f00,526,16256 - TxMxdmaMask 527,16279 - TxMxdmaMask = 0x700000,527,16279 - TxMxdma_512 528,16305 - TxMxdma_512 = 0x0,528,16305 - TxMxdma_4 529,16326 - TxMxdma_4 = 0x100000,529,16326 - TxMxdma_8 530,16350 - TxMxdma_8 = 0x200000,530,16350 - TxMxdma_16 531,16374 - TxMxdma_16 = 0x300000,531,16374 - TxMxdma_32 532,16399 - TxMxdma_32 = 0x400000,532,16399 - TxMxdma_64 533,16424 - TxMxdma_64 = 0x500000,533,16424 - TxMxdma_128 534,16449 - TxMxdma_128 = 0x600000,534,16449 - TxMxdma_256 535,16475 - TxMxdma_256 = 0x700000,535,16475 - TxCollRetry 536,16501 - TxCollRetry = 0x800000,536,16501 - TxAutoPad 537,16527 - TxAutoPad = 0x10000000,537,16527 - TxMacLoop 538,16553 - TxMacLoop = 0x20000000,538,16553 - TxHeartIgn 539,16579 - TxHeartIgn = 0x40000000,539,16579 - TxCarrierIgn 540,16606 - TxCarrierIgn = 0x80000000540,16606 -#define TX_FLTH_VAL 554,17072 -#define TX_DRTH_VAL_START 555,17109 -#define TX_DRTH_VAL_INC 556,17143 -#define TX_DRTH_VAL_LIMIT 557,17170 -enum RxConfig_bits RxConfig_bits559,17207 - RxDrthMask 560,17228 - RxDrthMask = 0x3e,560,17228 - RxMxdmaMask 561,17249 - RxMxdmaMask = 0x700000,561,17249 - RxMxdma_512 562,17275 - RxMxdma_512 = 0x0,562,17275 - RxMxdma_4 563,17296 - RxMxdma_4 = 0x100000,563,17296 - RxMxdma_8 564,17320 - RxMxdma_8 = 0x200000,564,17320 - RxMxdma_16 565,17344 - RxMxdma_16 = 0x300000,565,17344 - RxMxdma_32 566,17369 - RxMxdma_32 = 0x400000,566,17369 - RxMxdma_64 567,17394 - RxMxdma_64 = 0x500000,567,17394 - RxMxdma_128 568,17419 - RxMxdma_128 = 0x600000,568,17419 - RxMxdma_256 569,17445 - RxMxdma_256 = 0x700000,569,17445 - RxAcceptLong 570,17471 - RxAcceptLong = 0x8000000,570,17471 - RxAcceptTx 571,17499 - RxAcceptTx = 0x10000000,571,17499 - RxAcceptRunt 572,17526 - RxAcceptRunt = 0x40000000,572,17526 - RxAcceptErr 573,17555 - RxAcceptErr = 0x80000000573,17555 -#define RX_DRTH_VAL 575,17585 -enum ClkRun_bits ClkRun_bits577,17615 - PMEEnable 578,17634 - PMEEnable = 0x100,578,17634 - PMEStatus 579,17655 - PMEStatus = 0x8000,579,17655 -enum WolCmd_bits WolCmd_bits582,17681 - WakePhy 583,17700 - WakePhy = 0x1,583,17700 - WakeUnicast 584,17718 - WakeUnicast = 0x2,584,17718 - WakeMulticast 585,17739 - WakeMulticast = 0x4,585,17739 - WakeBroadcast 586,17762 - WakeBroadcast = 0x8,586,17762 - WakeArp 587,17785 - WakeArp = 0x10,587,17785 - WakePMatch0 588,17804 - WakePMatch0 = 0x20,588,17804 - WakePMatch1 589,17826 - WakePMatch1 = 0x40,589,17826 - WakePMatch2 590,17848 - WakePMatch2 = 0x80,590,17848 - WakePMatch3 591,17870 - WakePMatch3 = 0x100,591,17870 - WakeMagic 592,17893 - WakeMagic = 0x200,592,17893 - WakeMagicSecure 593,17914 - WakeMagicSecure = 0x400,593,17914 - SecureHack 594,17941 - SecureHack = 0x100000,594,17941 - WokePhy 595,17966 - WokePhy = 0x400000,595,17966 - WokeUnicast 596,17989 - WokeUnicast = 0x800000,596,17989 - WokeMulticast 597,18015 - WokeMulticast = 0x1000000,597,18015 - WokeBroadcast 598,18044 - WokeBroadcast = 0x2000000,598,18044 - WokeArp 599,18073 - WokeArp = 0x4000000,599,18073 - WokePMatch0 600,18097 - WokePMatch0 = 0x8000000,600,18097 - WokePMatch1 601,18124 - WokePMatch1 = 0x10000000,601,18124 - WokePMatch2 602,18152 - WokePMatch2 = 0x20000000,602,18152 - WokePMatch3 603,18180 - WokePMatch3 = 0x40000000,603,18180 - WokeMagic 604,18208 - WokeMagic = 0x80000000,604,18208 - WakeOptsSummary 605,18234 - WakeOptsSummary = 0x7ff605,18234 -enum RxFilterAddr_bits RxFilterAddr_bits608,18264 - RFCRAddressMask 609,18289 - RFCRAddressMask = 0x3ff,609,18289 - AcceptMulticast 610,18316 - AcceptMulticast = 0x00200000,610,18316 - AcceptMyPhys 611,18348 - AcceptMyPhys = 0x08000000,611,18348 - AcceptAllPhys 612,18377 - AcceptAllPhys = 0x10000000,612,18377 - AcceptAllMulticast 613,18407 - AcceptAllMulticast = 0x20000000,613,18407 - AcceptBroadcast 614,18441 - AcceptBroadcast = 0x40000000,614,18441 - RxFilterEnable 615,18473 - RxFilterEnable = 0x80000000615,18473 -enum StatsCtrl_bits StatsCtrl_bits618,18507 - StatsWarn 619,18529 - StatsWarn = 0x1,619,18529 - StatsFreeze 620,18548 - StatsFreeze = 0x2,620,18548 - StatsClear 621,18569 - StatsClear = 0x4,621,18569 - StatsStrobe 622,18589 - StatsStrobe = 0x8,622,18589 -enum MIntrCtrl_bits MIntrCtrl_bits625,18614 - MICRIntEn 626,18636 - MICRIntEn = 0x2,626,18636 -enum PhyCtrl_bits PhyCtrl_bits629,18659 - PhyAddrMask 630,18679 - PhyAddrMask = 0x1f,630,18679 -#define PHY_ADDR_NONE 633,18705 -#define PHY_ADDR_INTERNAL 634,18731 -#define SRR_DP83815_C 637,18820 -#define SRR_DP83815_D 638,18849 -#define SRR_DP83816_A4 639,18878 -#define SRR_DP83816_A5 640,18908 -struct netdev_desc netdev_desc645,19074 -enum desc_status_bits desc_status_bits653,19196 - DescOwn=654,19220 - DescOwn=0x80000000,654,19220 - DescOwn=0x80000000, DescMore=654,19220 - DescOwn=0x80000000, DescMore=0x40000000,654,19220 - DescOwn=0x80000000, DescMore=0x40000000, DescIntr=654,19220 - DescOwn=0x80000000, DescMore=0x40000000, DescIntr=0x20000000,654,19220 - DescNoCRC=655,19283 - DescNoCRC=0x10000000,655,19283 - DescNoCRC=0x10000000, DescPktOK=655,19283 - DescNoCRC=0x10000000, DescPktOK=0x08000000,655,19283 - DescSizeMask=656,19328 - DescSizeMask=0xfff,656,19328 - DescTxAbort=658,19350 - DescTxAbort=0x04000000,658,19350 - DescTxAbort=0x04000000, DescTxFIFO=658,19350 - DescTxAbort=0x04000000, DescTxFIFO=0x02000000,658,19350 - DescTxCarrier=659,19398 - DescTxCarrier=0x01000000,659,19398 - DescTxCarrier=0x01000000, DescTxDefer=659,19398 - DescTxCarrier=0x01000000, DescTxDefer=0x00800000,659,19398 - DescTxExcDefer=660,19449 - DescTxExcDefer=0x00400000,660,19449 - DescTxExcDefer=0x00400000, DescTxOOWCol=660,19449 - DescTxExcDefer=0x00400000, DescTxOOWCol=0x00200000,660,19449 - DescTxExcColl=661,19502 - DescTxExcColl=0x00100000,661,19502 - DescTxExcColl=0x00100000, DescTxCollCount=661,19502 - DescTxExcColl=0x00100000, DescTxCollCount=0x000f0000,661,19502 - DescRxAbort=663,19558 - DescRxAbort=0x04000000,663,19558 - DescRxAbort=0x04000000, DescRxOver=663,19558 - DescRxAbort=0x04000000, DescRxOver=0x02000000,663,19558 - DescRxDest=664,19606 - DescRxDest=0x01800000,664,19606 - DescRxDest=0x01800000, DescRxLong=664,19606 - DescRxDest=0x01800000, DescRxLong=0x00400000,664,19606 - DescRxRunt=665,19653 - DescRxRunt=0x00200000,665,19653 - DescRxRunt=0x00200000, DescRxInvalid=665,19653 - DescRxRunt=0x00200000, DescRxInvalid=0x00100000,665,19653 - DescRxCRC=666,19703 - DescRxCRC=0x00080000,666,19703 - DescRxCRC=0x00080000, DescRxAlign=666,19703 - DescRxCRC=0x00080000, DescRxAlign=0x00040000,666,19703 - DescRxLoop=667,19750 - DescRxLoop=0x00020000,667,19750 - DescRxLoop=0x00020000, DesRxColl=667,19750 - DescRxLoop=0x00020000, DesRxColl=0x00010000,667,19750 -struct netdev_private netdev_private670,19800 -static inline void __iomem *ns_ioaddr(772,24159 -static void move_int_phy(777,24267 -static int __devinit natsemi_probe1 802,25038 -#define eeprom_delay(eeprom_delay1016,31202 -#define EE_Write0 1018,31248 -#define EE_Write1 1019,31282 -enum EEPROM_Cmds EEPROM_Cmds1022,31390 - EE_WriteCmd=1023,31409 - EE_WriteCmd=(5 << 6), EE_ReadCmd=1023,31409 - EE_WriteCmd=(5 << 6), EE_ReadCmd=(6 << 6), EE_EraseCmd=1023,31409 -static int eeprom_read(1026,31479 -#define mii_delay(mii_delay1069,32639 -static int mii_getbit 1071,32690 -static void mii_send_bits 1083,32949 -static int miiport_read(1100,33354 -static void miiport_write(1125,33904 -static int mdio_read(1139,34323 -static void mdio_write(1154,34705 -static void init_phy_fixup(1166,35073 -static int switch_port_external(1278,38336 -static int switch_port_internal(1311,39192 -static int find_mii(1363,40700 -#define CFG_RESET_SAVE 1400,41654 -#define WCSR_RESET_SAVE 1402,41715 -#define RFCR_RESET_SAVE 1404,41779 -static void natsemi_reset(1406,41816 -static void natsemi_reload_eeprom(1483,43970 -static void natsemi_stop_rxtx(1504,44557 -static int netdev_open(1525,45109 -static void do_cable_magic(1574,46367 -static void undo_cable_magic(1618,47556 -static void check_link(1638,47998 -static void init_registers(1699,49617 -static void netdev_timer(1777,52252 -static void dump_ring(1843,53856 -static void tx_timeout(1866,54484 -static int alloc_ring(1897,55174 -static void refill_rx(1909,55490 -static void set_bufsize(1937,56401 -static void init_ring(1947,56703 -static void drain_tx(1985,57636 -static void drain_rx(2002,58001 -static void drain_ring(2022,58504 -static void free_ring(2028,58588 -static void reinit_rx(2036,58810 -static void reinit_ring(2052,59160 -static int start_tx(2066,59419 -static void netdev_tx_done(2114,60732 -static irqreturn_t intr_handler(2159,62213 -static void netdev_rx(2218,63715 -static void netdev_error(2310,66623 -static void __get_stats(2370,68362 -static struct net_device_stats *get_stats(2380,68673 -static void natsemi_poll_controller(2394,69023 -#define HASH_TABLE 2402,69178 -static void __set_rx_mode(2403,69203 -static int natsemi_change_mtu(2441,70465 -static void set_rx_mode(2471,71193 -static int netdev_ethtool_ioctl(2480,71392 -static int netdev_set_wol(2651,75708 -static int netdev_get_wol(2681,76402 -static int netdev_set_sopass(2717,77269 -static int netdev_get_sopass(2749,78132 -static int netdev_get_ecmd(2778,78847 -static int netdev_set_ecmd(2856,81325 -static int netdev_get_regs(2930,83664 -#define SWAP_BITS(SWAP_BITS2973,84789 -static int netdev_get_eeprom(2982,85248 -static int netdev_ioctl(2999,85753 -static void enable_wol_mode(3058,87556 -static int netdev_close(3091,88405 -static void __devexit natsemi_remove1 3167,90247 -static int natsemi_suspend 3204,91399 -static int natsemi_resume 3251,92423 -static struct pci_driver natsemi_driver 3284,93088 -static int __init natsemi_init_mod 3295,93336 -static void __exit natsemi_exit_mod 3305,93545 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/depca.h,2703 -#define DEPCA_NICSR 13,314 -#define DEPCA_RBI 14,376 -#define DEPCA_DATA 15,450 -#define DEPCA_ADDR 16,517 -#define DEPCA_HBASE 17,587 -#define DEPCA_PROM 18,662 -#define DEPCA_CNFG 19,733 -#define DEPCA_RBSA 20,797 -#define CSR0 25,944 -#define CSR1 26,965 -#define CSR2 27,986 -#define CSR3 28,1007 -#define TO 34,1089 -#define SHE 35,1145 -#define BS 36,1198 -#define BUF 37,1242 -#define RBE 38,1302 -#define AAC 39,1366 -#define _128KB 40,1438 -#define IM 41,1503 -#define IEN 42,1559 -#define LED 43,1628 -#define ERR 49,1737 -#define BABL 50,1782 -#define CERR 51,1847 -#define MISS 52,1894 -#define MERR 53,1939 -#define RINT 54,1983 -#define TINT 55,2033 -#define IDON 56,2083 -#define INTR 57,2134 -#define INEA 58,2180 -#define RXON 59,2228 -#define TXON 60,2271 -#define TDMD 61,2317 -#define STOP 62,2364 -#define STRT 63,2400 -#define INIT 64,2437 -#define INTM 65,2479 -#define INTE 66,2532 -#define BSWP 72,2635 -#define ACON 73,2675 -#define BCON 74,2717 -#define PROM 80,2807 -#define EMBA 81,2858 -#define INTL 82,2926 -#define DRTY 83,2978 -#define COLL 84,3026 -#define DTCR 85,3076 -#define LOOP 86,3131 -#define DTX 87,3174 -#define DRX 88,3232 -#define R_OWN 94,3352 -#define R_ERR 95,3420 -#define R_FRAM 96,3467 -#define R_OFLO 97,3514 -#define R_CRC 98,3562 -#define R_BUFF 99,3605 -#define R_STP 100,3651 -#define R_ENP 101,3700 -#define T_OWN 107,3813 -#define T_ERR 108,3881 -#define T_ADD_FCS 109,3928 -#define T_MORE 110,3993 -#define T_ONE 111,4053 -#define T_DEF 112,4122 -#define T_STP 113,4164 -#define T_ENP 114,4218 -#define T_FLAGS 115,4269 -#define TMD3_BUFF 121,4387 -#define TMD3_UFLO 122,4434 -#define TMD3_RES 123,4484 -#define TMD3_LCOL 124,4527 -#define TMD3_LCAR 125,4576 -#define TMD3_RTRY 126,4626 -#define TIMEOUT 132,4737 -#define REMOTE 133,4796 -#define IRQ11 134,4855 -#define IRQ10 135,4902 -#define IRQ9 136,4945 -#define IRQ5 137,4987 -#define BUFF 138,5032 -#define PADR16 139,5089 -#define PADR17 140,5141 -#define HASH_TABLE_LEN 145,5219 -#define HASH_BITS 146,5268 -#define MASK_INTERRUPTS 148,5323 -#define UNMASK_INTERRUPTS 149,5351 -#define EISA_EN 151,5380 -#define EISA_ID 152,5448 -#define EISA_CTRL 153,5519 -#define DEPCAIOCTL 160,5652 -struct depca_ioctl depca_ioctl162,5687 -#define DEPCA_GET_HWADDR 171,5952 -#define DEPCA_SET_HWADDR 172,6013 -#define DEPCA_SET_PROM 173,6074 -#define DEPCA_CLR_PROM 174,6131 -#define DEPCA_SAY_BOO 175,6190 -#define DEPCA_GET_MCA 176,6265 -#define DEPCA_SET_MCA 177,6325 -#define DEPCA_CLR_MCA 178,6385 -#define DEPCA_MCA_EN 179,6448 -#define DEPCA_GET_STATS 180,6517 -#define DEPCA_CLR_STATS 181,6580 -#define DEPCA_GET_REG 182,6647 -#define DEPCA_SET_REG 183,6709 -#define DEPCA_DUMP 184,6771 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc-mca.h,111 -} addr_table[8,117 -#define MEM_MASK 27,395 -} mem_table[33,506 -#define IRQ_MASK 52,943 -} irq_table[56,1025 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/typhoon-firmware.h,41 -const u8 typhoon_firmware_image[34,1890 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_ether.h,119 -typedef int (FILTER_FUNC)FILTER_FUNC5,134 -#define NFILTERS 6,212 -# define rfd_freed 74,1880 -} PORT;PORT104,2772 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c59x.c,15193 -#define DRV_NAME 198,8756 -#define DRV_VERSION 199,8781 -#define DRV_RELDATE 200,8812 -#define TX_RING_SIZE 206,8946 -#define RX_RING_SIZE 207,8970 -#define PKT_BUF_SZ 208,8994 -static int rx_copybreak 214,9252 -static int rx_copybreak 218,9399 -static const int mtu 221,9517 -static int max_interrupt_work 223,9615 -static int watchdog 225,9689 -#define tx_interrupt_mitigation 231,9897 -#define vortex_debug 234,10009 -static int vortex_debug 236,10056 -static int vortex_debug 238,10102 -#define RUN_AT(RUN_AT268,10882 -static char version[273,10944 -static char version[] __devinitdata 273,10944 -#define VORTEX_TOTAL_SIZE 319,13473 -#define BOOMERANG_TOTAL_SIZE 320,13504 -static char mii_preamble_required;325,13747 -#define PFX 327,13783 -enum pci_flags_bit pci_flags_bit410,17453 - PCI_USES_IO=411,17474 - PCI_USES_IO=1, PCI_USES_MEM=411,17474 - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=411,17474 - PCI_ADDR0=412,17525 - PCI_ADDR0=0x10<412,17525 - PCI_ADDR0=0x10<<0, PCI_ADDR1=412,17525 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<412,17525 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=412,17525 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<412,17525 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<<2, PCI_ADDR3=412,17525 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<<2, PCI_ADDR3=0x10<412,17525 -enum { IS_VORTEX=415,17606 -enum { IS_VORTEX=1, IS_BOOMERANG=415,17606 -enum { IS_VORTEX=1, IS_BOOMERANG=2, IS_CYCLONE=415,17606 -enum { IS_VORTEX=1, IS_BOOMERANG=2, IS_CYCLONE=4, IS_TORNADO=415,17606 - EEPROM_8BIT=416,17670 - EEPROM_8BIT=0x10,416,17670 - HAS_PWR_CTRL=417,17749 - HAS_PWR_CTRL=0x20,417,17749 - HAS_PWR_CTRL=0x20, HAS_MII=417,17749 - HAS_PWR_CTRL=0x20, HAS_MII=0x40,417,17749 - HAS_PWR_CTRL=0x20, HAS_MII=0x40, HAS_NWAY=417,17749 - HAS_PWR_CTRL=0x20, HAS_MII=0x40, HAS_NWAY=0x80,417,17749 - HAS_PWR_CTRL=0x20, HAS_MII=0x40, HAS_NWAY=0x80, HAS_CB_FNS=417,17749 - HAS_PWR_CTRL=0x20, HAS_MII=0x40, HAS_NWAY=0x80, HAS_CB_FNS=0x100,417,17749 - INVERT_MII_PWR=418,17816 - INVERT_MII_PWR=0x200,418,17816 - INVERT_MII_PWR=0x200, INVERT_LED_PWR=418,17816 - INVERT_MII_PWR=0x200, INVERT_LED_PWR=0x400,418,17816 - INVERT_MII_PWR=0x200, INVERT_LED_PWR=0x400, MAX_COLLISION_RESET=418,17816 - INVERT_MII_PWR=0x200, INVERT_LED_PWR=0x400, MAX_COLLISION_RESET=0x800,418,17816 - EEPROM_OFFSET=419,17888 - EEPROM_OFFSET=0x1000,419,17888 - EEPROM_OFFSET=0x1000, HAS_HWCKSM=419,17888 - EEPROM_OFFSET=0x1000, HAS_HWCKSM=0x2000,419,17888 - EEPROM_OFFSET=0x1000, HAS_HWCKSM=0x2000, WNO_XCVR_PWR=419,17888 - EEPROM_OFFSET=0x1000, HAS_HWCKSM=0x2000, WNO_XCVR_PWR=0x4000,419,17888 - EXTRA_PREAMBLE=420,17951 - EXTRA_PREAMBLE=0x8000,420,17951 - EXTRA_PREAMBLE=0x8000, EEPROM_RESET=420,17951 - EXTRA_PREAMBLE=0x8000, EEPROM_RESET=0x10000,420,17951 -enum vortex_chips vortex_chips422,18001 - CH_3C590 423,18021 - CH_3C592,424,18036 - CH_3C597,425,18047 - CH_3C595_1,426,18058 - CH_3C595_2,427,18071 - CH_3C595_3,429,18085 - CH_3C900_1,430,18098 - CH_3C900_2,431,18111 - CH_3C900_3,432,18124 - CH_3C900_4,433,18137 - CH_3C900_5,435,18151 - CH_3C900B_FL,436,18164 - CH_3C905_1,437,18179 - CH_3C905_2,438,18192 - CH_3C905B_1,439,18205 - CH_3C905B_2,441,18220 - CH_3C905B_FX,442,18234 - CH_3C905C,443,18249 - CH_3C9202,444,18261 - CH_3C980,445,18273 - CH_3C9805,446,18284 - CH_3CSOHO100_TX,448,18297 - CH_3C555,449,18315 - CH_3C556,450,18326 - CH_3C556B,451,18337 - CH_3C575,452,18349 - CH_3C575_1,454,18361 - CH_3CCFE575,455,18374 - CH_3CCFE575CT,456,18388 - CH_3CCFE656,457,18404 - CH_3CCFEM656,458,18418 - CH_3CCFEM656_1,460,18434 - CH_3C450,461,18451 - CH_3C920,462,18462 - CH_3C982A,463,18473 - CH_3C982B,464,18485 - CH_905BT4,466,18498 - CH_920B_EMB_WNM,467,18510 -static struct vortex_chip_info vortex_chip_info475,18679 -} vortex_info_tbl[480,18773 -} vortex_info_tbl[] __devinitdata 480,18773 -static struct pci_device_id vortex_pci_tbl[576,23212 -#define EL3WINDOW(EL3WINDOW635,25994 -#define EL3_CMD 636,26070 -#define EL3_STATUS 637,26091 -enum vortex_cmd vortex_cmd645,26414 - TotalReset 646,26432 - TotalReset = 0<<11, SelectWindow 646,26432 - TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax 646,26432 - RxDisable 647,26494 - RxDisable = 3<<11, RxEnable 647,26494 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset 647,26494 - UpStall 648,26549 - UpStall = 6<<11, UpUnstall 648,26549 - DownStall 649,26590 - DownStall = (6<<11)+2, DownUnstall 649,26590 - RxDiscard 650,26639 - RxDiscard = 8<<11, TxEnable 650,26639 - RxDiscard = 8<<11, TxEnable = 9<<11, TxDisable 650,26639 - RxDiscard = 8<<11, TxEnable = 9<<11, TxDisable = 10<<11, TxReset 650,26639 - FakeIntr 651,26715 - FakeIntr = 12<<11, AckIntr 651,26715 - FakeIntr = 12<<11, AckIntr = 13<<11, SetIntrEnb 651,26715 - SetStatusEnb 652,26774 - SetStatusEnb = 15<<11, SetRxFilter 652,26774 - SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold 652,26774 - SetTxThreshold 653,26845 - SetTxThreshold = 18<<11, SetTxStart 653,26845 - StartDMAUp 654,26892 - StartDMAUp = 20<<11, StartDMADown 654,26892 - StartDMAUp = 20<<11, StartDMADown = (20<<11)+1, StatsEnable 654,26892 - StatsDisable 655,26963 - StatsDisable = 22<<11, StopCoax 655,26963 - StatsDisable = 22<<11, StopCoax = 23<<11, SetFilterBit 655,26963 -enum RxFilter RxFilter658,27093 - RxStation 659,27109 - RxStation = 1, RxMulticast 659,27109 - RxStation = 1, RxMulticast = 2, RxBroadcast 659,27109 - RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm 659,27109 -enum vortex_status vortex_status662,27217 - IntLatch 663,27238 - IntLatch = 0x0001,663,27238 - IntLatch = 0x0001, HostError 663,27238 - IntLatch = 0x0001, HostError = 0x0002,663,27238 - IntLatch = 0x0001, HostError = 0x0002, TxComplete 663,27238 - IntLatch = 0x0001, HostError = 0x0002, TxComplete = 0x0004,663,27238 - TxAvailable 664,27299 - TxAvailable = 0x0008,664,27299 - TxAvailable = 0x0008, RxComplete 664,27299 - TxAvailable = 0x0008, RxComplete = 0x0010,664,27299 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly 664,27299 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020,664,27299 - IntReq 665,27361 - IntReq = 0x0040,665,27361 - IntReq = 0x0040, StatsFull 665,27361 - IntReq = 0x0040, StatsFull = 0x0080,665,27361 - DMADone 666,27399 - DMADone = 1<<8, DownComplete 666,27399 - DMADone = 1<<8, DownComplete = 1<<9, UpComplete 666,27399 - DMAInProgress 667,27457 - CmdInProgress 668,27518 -enum Window1 Window1673,27714 - TX_FIFO 674,27729 - TX_FIFO = 0x10,674,27729 - TX_FIFO = 0x10, RX_FIFO 674,27729 - TX_FIFO = 0x10, RX_FIFO = 0x10,674,27729 - TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors 674,27729 - TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors = 0x14,674,27729 - RxStatus 675,27781 - RxStatus = 0x18,675,27781 - RxStatus = 0x18, Timer=675,27781 - RxStatus = 0x18, Timer=0x1A,675,27781 - RxStatus = 0x18, Timer=0x1A, TxStatus 675,27781 - RxStatus = 0x18, Timer=0x1A, TxStatus = 0x1B,675,27781 - TxFree 676,27829 - TxFree = 0x1C,676,27829 -enum Window0 Window0678,27889 - Wn0EepromCmd 679,27904 - Wn0EepromData 680,27966 - IntrStatus=681,28029 - IntrStatus=0x0E,681,28029 -enum Win0_EEPROM_bits Win0_EEPROM_bits683,28079 - EEPROM_Read 684,28103 - EEPROM_Read = 0x80,684,28103 - EEPROM_Read = 0x80, EEPROM_WRITE 684,28103 - EEPROM_Read = 0x80, EEPROM_WRITE = 0x40,684,28103 - EEPROM_Read = 0x80, EEPROM_WRITE = 0x40, EEPROM_ERASE 684,28103 - EEPROM_Read = 0x80, EEPROM_WRITE = 0x40, EEPROM_ERASE = 0xC0,684,28103 - EEPROM_EWENB 685,28166 - EEPROM_EWENB = 0x30,685,28166 - EEPROM_EWDIS 686,28231 - EEPROM_EWDIS = 0x00,686,28231 -enum eeprom_offset eeprom_offset689,28325 - PhysAddr01=690,28346 - PhysAddr01=0, PhysAddr23=690,28346 - PhysAddr01=0, PhysAddr23=1, PhysAddr45=690,28346 - PhysAddr01=0, PhysAddr23=1, PhysAddr45=2, ModelID=690,28346 - EtherLink3ID=691,28400 - EtherLink3ID=7, IFXcvrIO=691,28400 - EtherLink3ID=7, IFXcvrIO=8, IRQLine=691,28400 - NodeAddr01=692,28440 - NodeAddr01=10, NodeAddr23=692,28440 - NodeAddr01=10, NodeAddr23=11, NodeAddr45=692,28440 - DriverTune=693,28486 - DriverTune=13, Checksum=693,28486 -enum Window2 Window2695,28517 - Wn2_ResetOptions=696,28550 -enum Window3 Window3698,28575 - Wn3_Config=699,28625 - Wn3_Config=0, Wn3_MaxPktSize=699,28625 - Wn3_Config=0, Wn3_MaxPktSize=4, Wn3_MAC_Ctrl=699,28625 - Wn3_Config=0, Wn3_MaxPktSize=4, Wn3_MAC_Ctrl=6, Wn3_Options=699,28625 -#define BFEXT(BFEXT702,28693 -#define BFINS(BFINS705,28807 -#define RAM_SIZE(RAM_SIZE709,28963 -#define RAM_WIDTH(RAM_WIDTH710,28999 -#define RAM_SPEED(RAM_SPEED711,29035 -#define ROM_SIZE(ROM_SIZE712,29071 -#define RAM_SPLIT(RAM_SPLIT713,29107 -#define XCVR(XCVR714,29144 -#define AUTOSELECT(AUTOSELECT715,29178 -enum Window4 Window4717,29217 - Wn4_FIFODiag 718,29266 - Wn4_FIFODiag = 4, Wn4_NetDiag 718,29266 - Wn4_FIFODiag = 4, Wn4_NetDiag = 6, Wn4_PhysicalMgmt=718,29266 - Wn4_FIFODiag = 4, Wn4_NetDiag = 6, Wn4_PhysicalMgmt=8, Wn4_Media 718,29266 -enum Win4_Media_bits Win4_Media_bits720,29341 - Media_SQE 721,29364 - Media_SQE = 0x0008,721,29364 - Media_10TP 722,29427 - Media_10TP = 0x00C0,722,29427 - Media_Lnk 723,29496 - Media_Lnk = 0x0080,723,29496 - Media_LnkBeat 724,29563 - Media_LnkBeat = 0x0800,724,29563 -enum Window7 Window7726,29591 - Wn7_MasterAddr 727,29646 - Wn7_MasterAddr = 0, Wn7_VlanEtherType=727,29646 - Wn7_MasterAddr = 0, Wn7_VlanEtherType=4, Wn7_MasterLen 727,29646 - Wn7_MasterStatus 728,29707 -enum MasterCtrl MasterCtrl731,29780 - PktStatus 732,29798 - PktStatus = 0x20,732,29798 - PktStatus = 0x20, DownListPtr 732,29798 - PktStatus = 0x20, DownListPtr = 0x24,732,29798 - PktStatus = 0x20, DownListPtr = 0x24, FragAddr 732,29798 - PktStatus = 0x20, DownListPtr = 0x24, FragAddr = 0x28,732,29798 - PktStatus = 0x20, DownListPtr = 0x24, FragAddr = 0x28, FragLen 732,29798 - PktStatus = 0x20, DownListPtr = 0x24, FragAddr = 0x28, FragLen = 0x2c,732,29798 - TxFreeThreshold 733,29870 - TxFreeThreshold = 0x2f,733,29870 - TxFreeThreshold = 0x2f, UpPktStatus 733,29870 - TxFreeThreshold = 0x2f, UpPktStatus = 0x30,733,29870 - TxFreeThreshold = 0x2f, UpPktStatus = 0x30, UpListPtr 733,29870 - TxFreeThreshold = 0x2f, UpPktStatus = 0x30, UpListPtr = 0x38,733,29870 -#define LAST_FRAG 739,30099 -#define DN_COMPLETE 740,30171 -struct boom_rx_desc boom_rx_desc741,30242 -enum rx_desc_status rx_desc_status748,30480 - RxDComplete=749,30502 - RxDComplete=0x00008000,749,30502 - RxDComplete=0x00008000, RxDError=749,30502 - RxDComplete=0x00008000, RxDError=0x4000,749,30502 - IPChksumErr=751,30592 - IPChksumErr=1<<25, TCPChksumErr=751,30592 - IPChksumErr=1<<25, TCPChksumErr=1<<26, UDPChksumErr=751,30592 - IPChksumValid=752,30652 - IPChksumValid=1<<29, TCPChksumValid=752,30652 - IPChksumValid=1<<29, TCPChksumValid=1<<30, UDPChksumValid=752,30652 -#define DO_ZEROCOPY 756,30743 -#define DO_ZEROCOPY 758,30771 -struct boom_tx_desc boom_tx_desc761,30801 -enum tx_desc_status tx_desc_status776,31089 - CRCDisable=777,31111 - CRCDisable=0x2000,777,31111 - CRCDisable=0x2000, TxDComplete=777,31111 - CRCDisable=0x2000, TxDComplete=0x8000,777,31111 - AddIPChksum=778,31151 - AddIPChksum=0x02000000,778,31151 - AddIPChksum=0x02000000, AddTCPChksum=778,31151 - AddIPChksum=0x02000000, AddTCPChksum=0x04000000,778,31151 - AddIPChksum=0x02000000, AddTCPChksum=0x04000000, AddUDPChksum=778,31151 - AddIPChksum=0x02000000, AddTCPChksum=0x04000000, AddUDPChksum=0x08000000,778,31151 - TxIntrUploaded=779,31226 - TxIntrUploaded=0x80000000,779,31226 -enum ChipCaps ChipCaps783,31380 -enum ChipCaps { CapBusMaster=783,31380 -enum ChipCaps { CapBusMaster=0x20,783,31380 -enum ChipCaps { CapBusMaster=0x20, CapPwrMgmt=783,31380 -enum ChipCaps { CapBusMaster=0x20, CapPwrMgmt=0x2000 783,31380 -struct vortex_private vortex_private785,31437 -#define DEVICE_PCI(DEVICE_PCI842,33935 -#define DEVICE_PCI(DEVICE_PCI844,34024 -#define VORTEX_PCI(VORTEX_PCI847,34061 -#define DEVICE_EISA(DEVICE_EISA850,34155 -#define DEVICE_EISA(DEVICE_EISA852,34250 -#define VORTEX_EISA(VORTEX_EISA855,34288 -enum xcvr_types xcvr_types860,34502 - XCVR_10baseT=861,34520 - XCVR_10baseT=0, XCVR_AUI,861,34520 - XCVR_10baseT=0, XCVR_AUI, XCVR_10baseTOnly,861,34520 - XCVR_10baseT=0, XCVR_AUI, XCVR_10baseTOnly, XCVR_10base2,861,34520 - XCVR_10baseT=0, XCVR_AUI, XCVR_10baseTOnly, XCVR_10base2, XCVR_100baseTx,861,34520 - XCVR_100baseFx,862,34595 - XCVR_100baseFx, XCVR_MII=862,34595 - XCVR_100baseFx, XCVR_MII=6, XCVR_NWAY=862,34595 - XCVR_100baseFx, XCVR_MII=6, XCVR_NWAY=8, XCVR_ExtMII=862,34595 - XCVR_100baseFx, XCVR_MII=6, XCVR_NWAY=8, XCVR_ExtMII=9, XCVR_Default=862,34595 -static struct media_table media_table865,34673 -} media_tbl[871,34954 -static struct ethtool_ops vortex_ethtool_ops;911,37028 -#define MAX_UNITS 917,37290 -static int options[918,37310 -static int full_duplex[919,37378 -static int hw_checksums[920,37448 -static int flow_ctrl[921,37519 -static int enable_wol[922,37587 -static int global_options 923,37656 -static int global_full_duplex 924,37688 -static int global_enable_wol 925,37724 -static int compaq_ioaddr,930,37871 -static int compaq_ioaddr, compaq_irq,930,37871 -static int compaq_ioaddr, compaq_irq, compaq_device_id 930,37871 -static struct net_device *compaq_net_device;931,37936 -static int vortex_cards_found;933,37982 -static void poll_vortex(936,38048 -static int vortex_suspend 949,38374 -static int vortex_resume 962,38613 -static struct eisa_device_id vortex_eisa_ids[978,38878 -static struct eisa_driver vortex_eisa_driver 987,39103 -static int vortex_eisa_probe 996,39290 -static int vortex_eisa_remove 1018,39745 -static int __init vortex_eisa_init 1046,40311 -static int __devinit vortex_init_one 1073,41114 -static int __devinit vortex_probe1(1096,41655 -issue_and_wait(1521,53611 -vortex_up(1546,54259 -vortex_open(1747,61123 -vortex_timer(1804,62868 -static void vortex_tx_timeout(1931,66952 -vortex_error(2001,69110 -vortex_start_xmit(2106,72734 -boomerang_start_xmit(2161,74415 -vortex_interrupt(2260,77767 -boomerang_interrupt(2365,80928 -static int vortex_rx(2491,84788 -boomerang_rx(2561,87216 -rx_oom_timer(2663,90894 -vortex_down(2679,91385 -vortex_close(2718,92355 -dump_tx_ring(2779,94146 -static struct net_device_stats *vortex_get_stats(2813,95176 -static void update_stats(2833,95862 -static void vortex_get_drvinfo(2873,97219 -static struct ethtool_ops vortex_ethtool_ops 2891,97674 -static int vortex_do_ioctl(2896,97782 -static int vortex_ioctl(2934,98648 -static void set_rx_mode(2959,99319 -#define VLAN_ETHER_TYPE 2982,100158 -static void set_8021q_mode(2984,100190 -static void set_8021q_mode(3024,101237 -#define mdio_delay(mdio_delay3039,101680 -#define MDIO_SHIFT_CLK 3041,101717 -#define MDIO_DIR_WRITE 3042,101745 -#define MDIO_DATA_WRITE0 3043,101773 -#define MDIO_DATA_WRITE1 3044,101822 -#define MDIO_DATA_READ 3045,101871 -#define MDIO_ENB_IN 3046,101899 -static void mdio_sync(3050,102024 -static int mdio_read(3063,102327 -static void mdio_write(3097,103320 -static void acpi_set_WOL(3131,104295 -static void __devexit vortex_remove_one 3149,104849 -static struct pci_driver vortex_driver 3187,105823 -static int vortex_have_pci;3199,106070 -static int vortex_have_eisa;3200,106098 -static int __init vortex_init 3203,106129 -static void __exit vortex_eisa_cleanup 3219,106414 -static void __exit vortex_cleanup 3242,106886 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/netconsole.c,310 -static char config[53,1826 -static struct netpoll np 57,2008 -static int configured 64,2180 -#define MAX_PRINT_CHUNK 66,2208 -static void write_msg(68,2238 -static struct console netconsole 88,2573 -static int option_setup(93,2675 -static int init_netconsole(101,2813 -static void cleanup_netconsole(119,3135 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ni65.h,1318 -#define CSR0_ERR 19,449 -#define CSR0_BABL 20,497 -#define CSR0_CERR 21,566 -#define CSR0_MISS 22,618 -#define CSR0_MERR 23,668 -#define CSR0_RINT 24,717 -#define CSR0_TINT 25,772 -#define CSR0_IDON 26,833 -#define CSR0_INTR 27,889 -#define CSR0_INEA 28,939 -#define CSR0_RXON 29,992 -#define CSR0_TXON 30,1039 -#define CSR0_TDMD 31,1089 -#define CSR0_STOP 32,1141 -#define CSR0_STRT 33,1182 -#define CSR0_INIT 34,1224 -#define CSR0_CLRALL 36,1272 -#define M_PROM 41,1401 -#define M_INTL 42,1447 -#define M_DRTY 43,1494 -#define M_COLL 44,1537 -#define M_DTCR 45,1582 -#define M_LOOP 46,1633 -#define M_DTX 47,1671 -#define M_DRX 48,1723 -#define RCV_OWN 55,1830 -#define RCV_ERR 56,1888 -#define RCV_FRAM 57,1930 -#define RCV_OFLO 58,1972 -#define RCV_CRC 59,2015 -#define RCV_BUF_ERR 60,2053 -#define RCV_START 61,2097 -#define RCV_END 62,2142 -#define XMIT_OWN 69,2243 -#define XMIT_ERR 70,2301 -#define XMIT_RETRY 71,2343 -#define XMIT_1_RETRY 72,2405 -#define XMIT_DEF 73,2462 -#define XMIT_START 74,2499 -#define XMIT_END 75,2545 -#define XMIT_TDRMASK 81,2644 -#define XMIT_RTRY 82,2713 -#define XMIT_LCAR 83,2778 -#define XMIT_LCOL 84,2826 -#define XMIT_RESERV 85,2873 -#define XMIT_UFLO 86,2916 -#define XMIT_BUFF 87,2972 -struct init_block init_block89,3030 -struct rmd rmd99,3318 -struct tmd tmd111,3549 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ne2k-pci.c,2225 -#define DRV_NAME 28,1043 -#define DRV_VERSION 29,1071 -#define DRV_RELDATE 30,1098 -static int debug 36,1225 -#define MAX_UNITS 38,1297 -static int full_duplex[40,1414 -static int options[41,1449 -static char version[65,2008 -static char version[] __devinitdata 65,2008 -#define inl_le(inl_le70,2214 -#define inw_le(inw_le71,2259 -#define PFX 74,2312 -#define USE_LONGIO90,2886 -#define ne2k_flags 97,3122 - ONLY_16BIT_IO=99,3153 - ONLY_16BIT_IO=8, ONLY_32BIT_IO=99,3153 - FORCE_FDX=100,3228 - FORCE_FDX=0x20,100,3228 - REALTEK_FDX=101,3271 - REALTEK_FDX=0x40,101,3271 - REALTEK_FDX=0x40, HOLTEK_FDX=101,3271 - REALTEK_FDX=0x40, HOLTEK_FDX=0x80,101,3271 - STOP_PG_0x60=102,3307 - STOP_PG_0x60=0x100,102,3307 -enum ne2k_pci_chipsets ne2k_pci_chipsets105,3332 - CH_RealTek_RTL_8029 106,3357 - CH_Winbond_89C940,107,3383 - CH_Compex_RL2000,108,3403 - CH_KTI_ET32P2,109,3422 - CH_NetVin_NV5000SC,110,3438 - CH_Via_86C926,111,3459 - CH_SureCom_NE34,112,3475 - CH_Winbond_W89C940F,113,3493 - CH_Holtek_HT80232,114,3515 - CH_Holtek_HT80229,115,3535 - CH_Winbond_89C940_8c4a,116,3555 -} pci_clone_list[123,3626 -} pci_clone_list[] __devinitdata 123,3626 -static struct pci_device_id ne2k_pci_tbl[139,4039 -#define NE_BASE 158,4957 -#define NE_CMD 159,4991 -#define NE_DATAPORT 160,5013 -#define NE_RESET 161,5080 -#define NE_IO_EXTENT 162,5149 -#define NESM_START_PG 164,5176 -#define NESM_STOP_PG 165,5233 -static struct ethtool_ops ne2k_pci_ethtool_ops;178,5794 -struct ne2k_pci_card ne2k_pci_card184,5972 -static int __devinit ne2k_pci_init_one 205,6579 -static inline int set_realtek_fdx(390,11994 -static inline int set_holtek_fdx(402,12393 -static int ne2k_pci_set_fdx(410,12547 -static int ne2k_pci_open(420,12774 -static int ne2k_pci_close(433,13018 -static void ne2k_pci_reset_8390(442,13265 -static void ne2k_pci_get_8390_hdr(467,14053 -static void ne2k_pci_block_input(504,15376 -static void ne2k_pci_block_output(551,16740 -static void ne2k_pci_get_drvinfo(625,18976 -static struct ethtool_ops ne2k_pci_ethtool_ops 636,19279 -static void __devexit ne2k_pci_remove_one 642,19446 -static struct pci_driver ne2k_driver 657,19736 -static int __init ne2k_pci_init(665,19905 -static void __exit ne2k_pci_cleanup(675,20107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/am79c961a.h,2672 -#define _LINUX_am79c961a_H10,257 -#define DEBUG_TX 13,360 -#define DEBUG_RX 14,380 -#define DEBUG_INT 15,400 -#define DEBUG_IC 16,421 -#define NET_DEBUG 18,459 -#define NET_UID 21,488 -#define NET_RDP 22,507 -#define NET_RAP 23,529 -#define NET_RESET 24,551 -#define NET_IDP 25,574 -#define CSR0 30,621 -#define CSR0_INIT 31,637 -#define CSR0_STRT 32,662 -#define CSR0_STOP 33,687 -#define CSR0_TDMD 34,712 -#define CSR0_TXON 35,737 -#define CSR0_RXON 36,762 -#define CSR0_IENA 37,787 -#define CSR0_INTR 38,812 -#define CSR0_IDON 39,837 -#define CSR0_TINT 40,862 -#define CSR0_RINT 41,887 -#define CSR0_MERR 42,912 -#define CSR0_MISS 43,937 -#define CSR0_CERR 44,962 -#define CSR0_BABL 45,987 -#define CSR0_ERR 46,1012 -#define CSR3 48,1037 -#define CSR3_EMBA 49,1053 -#define CSR3_DXMT2PD 50,1078 -#define CSR3_LAPPEN 51,1106 -#define CSR3_DXSUFLO 52,1133 -#define CSR3_IDONM 53,1161 -#define CSR3_TINTM 54,1187 -#define CSR3_RINTM 55,1213 -#define CSR3_MERRM 56,1239 -#define CSR3_MISSM 57,1265 -#define CSR3_BABLM 58,1291 -#define CSR3_MASKALL 59,1317 -#define CSR4 61,1346 -#define CSR4_JABM 62,1362 -#define CSR4_JAB 63,1387 -#define CSR4_TXSTRTM 64,1411 -#define CSR4_TXSTRT 65,1439 -#define CSR4_RCVCCOM 66,1466 -#define CSR4_RCVCCO 67,1494 -#define CSR4_MFCOM 68,1521 -#define CSR4_MFCO 69,1547 -#define CSR4_ASTRP_RCV 70,1572 -#define CSR4_APAD_XMIT 71,1602 -#define CTRL1 73,1633 -#define CTRL1_SPND 74,1650 -#define LADRL 76,1677 -#define LADRM1 77,1694 -#define LADRM2 78,1712 -#define LADRH 79,1731 -#define PADRL 80,1749 -#define PADRM 81,1767 -#define PADRH 82,1785 -#define MODE 84,1804 -#define MODE_DISRX 85,1821 -#define MODE_DISTX 86,1847 -#define MODE_LOOP 87,1873 -#define MODE_DTCRC 88,1898 -#define MODE_COLL 89,1924 -#define MODE_DRETRY 90,1949 -#define MODE_INTLOOP 91,1976 -#define MODE_PORT_AUI 92,2004 -#define MODE_PORT_10BT 93,2033 -#define MODE_DRXPA 94,2063 -#define MODE_DRXBA 95,2089 -#define MODE_PROMISC 96,2115 -#define BASERXL 98,2144 -#define BASERXH 99,2164 -#define BASETXL 100,2184 -#define BASETXH 101,2204 -#define POLLINT 103,2225 -#define SIZERXR 105,2246 -#define SIZETXR 106,2266 -#define CSR_MFC 108,2287 -#define RMD_ENP 110,2309 -#define RMD_STP 111,2333 -#define RMD_CRC 112,2357 -#define RMD_FRAM 113,2381 -#define RMD_ERR 114,2405 -#define RMD_OWN 115,2429 -#define TMD_ENP 117,2454 -#define TMD_STP 118,2478 -#define TMD_MORE 119,2502 -#define TMD_ERR 120,2526 -#define TMD_OWN 121,2550 -#define TST_RTRY 123,2575 -#define TST_LCAR 124,2599 -#define TST_LCOL 125,2623 -#define TST_UFLO 126,2647 -#define TST_BUFF 127,2671 -#define ISALED0 129,2696 -#define ISALED0_LNKST 130,2720 -struct dev_priv dev_priv132,2750 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/am79c961a.c,986 -#define TX_BUFFERS 38,1055 -#define RX_BUFFERS 39,1077 -static unsigned int net_debug 46,1210 -static const char version[48,1254 -static void write_rreg(54,1447 -static inline unsigned short read_rreg(63,1643 -static inline void write_ireg(74,1877 -static inline unsigned short read_ireg(83,2079 -#define am_writeword(am_writeword94,2309 -#define am_readword(am_readword95,2389 -am_writebuffer(98,2483 -am_readbuffer(131,3378 -am79c961_ramtest(175,4535 -am79c961_init_for_open(203,5212 -static void am79c961_timer(277,7599 -am79c961_open(298,8077 -am79c961_close(325,8532 -static struct net_device_stats *am79c961_getstats 348,8992 -static void am79c961_mc_hash(354,9137 -static void am79c961_setmulticastlist 372,9507 -static void am79c961_timeout(435,10910 -am79c961_sendpacket(451,11176 -am79c961_rx(492,12212 -am79c961_tx(552,13645 -am79c961_interrupt(599,14618 -am79c961_hw_init(638,15518 -static void __init am79c961_banner(653,15848 -static int __init am79c961_init(661,16006 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/ether1.c,2123 -#define __ETHER1_C58,1987 -static unsigned int net_debug 61,2027 -#define BUFFER_SIZE 63,2071 -#define TX_AREA_START 64,2099 -#define TX_AREA_END 65,2129 -#define RX_AREA_START 66,2157 -#define RX_AREA_END 67,2187 -static char version[79,2738 -static char version[] __initdata 79,2738 -#define BUS_16 81,2830 -#define BUS_8 82,2848 -#define DISABLEIRQS 86,2947 -#define NORMALIRQS 87,2969 -#define ether1_inw(ether1_inw89,2992 -#define ether1_outw(ether1_outw90,3107 -ether1_inw_p 93,3264 -ether1_outw_p 109,3565 -ether1_writebuffer 132,4217 -ether1_readbuffer 194,5429 -ether1_ramtest(256,6622 -ether1_reset 303,7640 -ether1_init_2(310,7757 -#define NOP_ADDR 333,8096 -#define NOP_SIZE 334,8129 -static nop_t init_nop 335,8153 -#define TDR_ADDR 342,8225 -#define TDR_SIZE 343,8251 -static tdr_t init_tdr 344,8275 -#define MC_ADDR 352,8361 -#define MC_SIZE 353,8387 -static mc_t init_mc 354,8411 -#define SA_ADDR 363,8509 -#define SA_SIZE 364,8535 -static sa_t init_sa 365,8559 -#define CFG_ADDR 373,8646 -#define CFG_SIZE 374,8672 -static cfg_t init_cfg 375,8696 -#define SCB_ADDR 391,8896 -#define SCB_SIZE 392,8922 -static scb_t init_scb 393,8946 -#define ISCP_ADDR 405,9102 -#define ISCP_SIZE 406,9129 -static iscp_t init_iscp 407,9154 -#define SCP_ADDR 415,9234 -#define SCP_SIZE 416,9260 -static scp_t init_scp 417,9284 -#define RFD_SIZE 424,9358 -static rfd_t init_rfd 425,9382 -#define RBD_SIZE 435,9450 -static rbd_t init_rbd 436,9474 -#define TX_SIZE 444,9540 -#define TBD_SIZE 445,9564 -ether1_init_for_open 448,9600 -ether1_txalloc 617,15723 -ether1_open 643,16240 -ether1_timeout(669,16749 -ether1_sendpacket 687,17170 -ether1_xmit_done 763,18983 -ether1_recv_done 864,21666 -ether1_interrupt 919,23435 -ether1_close 969,25146 -ether1_getstats 979,25282 -ether1_setmulticastlist 993,25680 -static void __init ether1_banner(999,25815 -ether1_probe(1008,26000 -static void __devexit ether1_remove(1076,27445 -static const struct ecard_id ether1_ids[1089,27724 -static struct ecard_driver ether1_driver 1094,27830 -static int __init ether1_init(1103,28003 -static void __exit ether1_exit(1108,28091 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/etherh.c,2039 -#define NET_DEBUG 56,1696 -#define DEBUG_INIT 57,1717 -static unsigned int net_debug 59,1739 -struct etherh_priv etherh_priv61,1783 -struct etherh_data etherh_data69,1898 -static char version[88,2292 -static char version[] __initdata 88,2292 -#define ETHERH500_DATAPORT 91,2383 -#define ETHERH500_NS8390 92,2427 -#define ETHERH500_CTRLPORT 93,2469 -#define ETHERH600_DATAPORT 95,2514 -#define ETHERH600_NS8390 96,2558 -#define ETHERH600_CTRLPORT 97,2600 -#define ETHERH_CP_IE 99,2645 -#define ETHERH_CP_IF 100,2669 -#define ETHERH_CP_HEARTBEAT 101,2693 -#define ETHERH_TX_START_PAGE 103,2724 -#define ETHERH_STOP_PAGE 104,2755 -#define ETHERM_DATAPORT 109,2818 -#define ETHERM_NS8390 110,2860 -#define ETHERM_CTRLPORT 111,2900 -#define ETHERM_TX_START_PAGE 113,2943 -#define ETHERM_STOP_PAGE 114,2975 -#define etherh_priv(etherh_priv118,3085 -static inline void etherh_set_ctrl(121,3194 -static inline void etherh_clr_ctrl(128,3365 -static inline unsigned int etherh_get_stat(135,3537 -static void etherh_irq_enable(143,3642 -static void etherh_irq_disable(150,3778 -static expansioncard_ops_t etherh_ops 157,3915 -etherh_setif(166,4044 -etherh_getifstat(209,4836 -static int etherh_set_config(250,5603 -etherh_reset(276,6076 -etherh_block_output 303,6679 -etherh_block_input 369,8306 -etherh_get_header 410,9346 -etherh_open(452,10577 -etherh_close(497,11505 -static void __init etherh_banner(508,11628 -static int __init etherh_addr(520,11875 -static int __init etherm_addr(541,12309 -static u32 etherh_regoffsets[559,12644 -static u32 etherm_regoffsets[560,12678 -etherh_probe(563,12731 -static void __devexit etherh_remove(680,15407 -static struct etherh_data etherm_data 699,15758 -static struct etherh_data etherlan500_data 709,16073 -static struct etherh_data etherlan600_data 720,16409 -static struct etherh_data etherlan600a_data 731,16788 -static const struct ecard_id etherh_ids[742,17169 -static struct ecard_driver etherh_driver 750,17469 -static int __init etherh_init(759,17642 -static void __exit etherh_exit(771,17837 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/ether3.h,3562 -#define _LINUX_ether3_H14,352 -#define DEBUG_TX 17,452 -#define DEBUG_RX 18,472 -#define DEBUG_INT 19,492 -#define DEBUG_IC 20,513 -#define NET_DEBUG 22,551 -#define REG_COMMAND 26,622 -#define CMD_ENINTDMA 27,667 -#define CMD_ENINTRX 28,696 -#define CMD_ENINTTX 29,724 -#define CMD_ENINTBUFWIN 30,752 -#define CMD_ACKINTDMA 31,784 -#define CMD_ACKINTRX 32,814 -#define CMD_ACKINTTX 33,843 -#define CMD_ACKINTBUFWIN 34,872 -#define CMD_DMAON 35,904 -#define CMD_RXON 36,930 -#define CMD_TXON 37,955 -#define CMD_DMAOFF 38,980 -#define CMD_RXOFF 39,1007 -#define CMD_TXOFF 40,1033 -#define CMD_FIFOREAD 41,1059 -#define CMD_FIFOWRITE 42,1088 -#define REG_STATUS 45,1141 -#define STAT_ENINTSTAT 46,1185 -#define STAT_ENINTRX 47,1216 -#define STAT_ENINTTX 48,1245 -#define STAT_ENINTBUFWIN 49,1274 -#define STAT_INTDMA 50,1306 -#define STAT_INTRX 51,1334 -#define STAT_INTTX 52,1361 -#define STAT_INTBUFWIN 53,1388 -#define STAT_DMAON 54,1419 -#define STAT_RXON 55,1446 -#define STAT_TXON 56,1472 -#define STAT_FIFOFULL 57,1498 -#define STAT_FIFOEMPTY 58,1528 -#define STAT_FIFODIR 59,1559 -#define REG_CONFIG1 62,1620 -#define CFG1_BUFSELSTAT0 63,1665 -#define CFG1_BUFSELSTAT1 64,1697 -#define CFG1_BUFSELSTAT2 65,1729 -#define CFG1_BUFSELSTAT3 66,1761 -#define CFG1_BUFSELSTAT4 67,1793 -#define CFG1_BUFSELSTAT5 68,1825 -#define CFG1_ADDRPROM 69,1857 -#define CFG1_TRANSEND 70,1887 -#define CFG1_LOCBUFMEM 71,1917 -#define CFG1_INTVECTOR 72,1948 -#define CFG1_RECVSPECONLY 73,1979 -#define CFG1_RECVSPECBROAD 74,2012 -#define CFG1_RECVSPECBRMULTI 75,2046 -#define CFG1_RECVPROMISC 76,2082 -#define CFG1_DMABURSTCONT 79,2150 -#define CFG1_DMABURST800NS 80,2183 -#define CFG1_DMABURST1600NS 81,2217 -#define CFG1_DMABURST3200NS 82,2252 -#define CFG1_DMABURST1 83,2287 -#define CFG1_DMABURST4 84,2318 -#define CFG1_DMABURST8 85,2349 -#define CFG1_DMABURST16 86,2380 -#define CFG1_RECVCOMPSTAT0 87,2412 -#define CFG1_RECVCOMPSTAT1 88,2446 -#define CFG1_RECVCOMPSTAT2 89,2480 -#define CFG1_RECVCOMPSTAT3 90,2514 -#define CFG1_RECVCOMPSTAT4 91,2548 -#define CFG1_RECVCOMPSTAT5 92,2582 -#define REG_CONFIG2 95,2648 -#define CFG2_BYTESWAP 96,2693 -#define CFG2_ERRENCRC 97,2723 -#define CFG2_ERRENDRIBBLE 98,2753 -#define CFG2_ERRSHORTFRAME 99,2786 -#define CFG2_SLOTSELECT 100,2820 -#define CFG2_PREAMSELECT 101,2852 -#define CFG2_ADDRLENGTH 102,2884 -#define CFG2_RECVCRC 103,2916 -#define CFG2_XMITNOCRC 104,2945 -#define CFG2_LOOPBACK 105,2976 -#define CFG2_CTRLO 106,3006 -#define CFG2_RESET 107,3033 -#define REG_RECVEND 109,3061 -#define REG_BUFWIN 111,3107 -#define REG_RECVPTR 113,3152 -#define REG_TRANSMITPTR 115,3198 -#define REG_DMAADDR 117,3248 -#define TX_NEXT 122,3335 -#define TXHDR_ENBABBLEINT 123,3362 -#define TXHDR_ENCOLLISIONINT 124,3398 -#define TXHDR_EN16COLLISION 125,3437 -#define TXHDR_ENSUCCESS 126,3475 -#define TXHDR_DATAFOLLOWS 127,3510 -#define TXHDR_CHAINCONTINUE 128,3546 -#define TXHDR_TRANSMIT 129,3584 -#define TXSTAT_BABBLED 130,3618 -#define TXSTAT_COLLISION 131,3652 -#define TXSTAT_16COLLISIONS 132,3687 -#define TXSTAT_DONE 133,3725 -#define RX_NEXT 135,3757 -#define RXHDR_CHAINCONTINUE 136,3784 -#define RXHDR_RECEIVE 137,3821 -#define RXSTAT_OVERSIZE 138,3853 -#define RXSTAT_CRCERROR 139,3887 -#define RXSTAT_DRIBBLEERROR 140,3921 -#define RXSTAT_SHORTPACKET 141,3959 -#define RXSTAT_DONE 142,3996 -#define TX_START 145,4029 -#define TX_END 146,4053 -#define RX_START 147,4076 -#define RX_LEN 148,4100 -#define RX_END 149,4123 -#define MAX_TXED 151,4207 -#define MAX_TX_BUFFERED 152,4227 -struct dev_priv dev_priv154,4255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/ether3.c,1641 -static char version[74,2591 -static char version[] __initdata 74,2591 -static unsigned int net_debug 78,2705 -#define BUS_16 91,3417 -#define BUS_8 92,3435 -#define BUS_UNKNOWN 93,3452 - buffer_write,98,3573 - buffer_read99,3588 -} buffer_rw_t;buffer_rw_t100,3601 -static inline void ether3_outb(107,3746 -static inline void ether3_outw(113,3827 -#define ether3_inb(ether3_inb118,3907 -#define ether3_inw(ether3_inw119,3981 -ether3_setbuffer(122,4067 -#define ether3_writebuffer(ether3_writebuffer152,4807 -#define ether3_writeword(ether3_writeword155,4898 -#define ether3_writelong(ether3_writelong158,4965 -#define ether3_readbuffer(ether3_readbuffer167,5166 -#define ether3_readword(ether3_readword170,5255 -#define ether3_readlong(ether3_readlong173,5308 -ether3_ledoff(180,5428 -ether3_ledon(191,5670 -ether3_addr(207,6156 -ether3_ramtest(232,6801 -ether3_init_2(281,8004 -ether3_init_for_open(331,9436 -ether3_probe_bus_8(371,10578 -ether3_probe_bus_16(392,11108 -ether3_open(413,11712 -ether3_close(435,12102 -static struct net_device_stats *ether3_getstats(458,12564 -static void ether3_setmulticastlist(470,12931 -ether3_timeout(488,13399 -ether3_sendpacket(519,14412 -#define TXHDR_FLAGS 554,15150 -ether3_interrupt(586,16019 -ether3_rx(624,16817 - priv->rx_head 711,19631 -ether3_tx(744,20374 -static void __init ether3_banner(785,21278 -ether3_get_dev(794,21465 -ether3_probe(816,21931 -static void __devexit ether3_remove(916,23925 -static const struct ecard_id ether3_ids[927,24156 -static struct ecard_driver ether3_driver 934,24325 -static int __init ether3_init(943,24498 -static void __exit ether3_exit(948,24586 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/ether00.c,1480 -#define PKT_BUF_SZ 46,1381 -#define ETH_NR 47,1434 -#define DEBUG(DEBUG49,1494 -#define __dma_va(__dma_va51,1512 -#define __dma_pa(__dma_pa52,1626 -#define ETHER00_BASE 54,1737 -#define ETHER00_TYPE55,1760 -#define ETHER00_NAME 56,1781 -#define MAC_REG_SIZE 57,1812 -#define RX_NUM_BUFF 65,1944 -#define RX_NUM_FDESC 66,1971 -#define TX_NUM_FDESC 67,1998 -struct tx_fda_ent{tx_fda_ent69,2026 -struct rx_fda_ent{rx_fda_ent74,2094 -struct rx_blist_ent{rx_blist_ent79,2162 -struct net_privnet_priv84,2232 -static const char vendor_id[99,2582 -static void dump_regs(105,2700 -static int ether00_write_phy(153,4508 -static int ether00_read_phy(173,5035 -static void ether00_phy_int(191,5496 -static void setup_blist_entry(226,6406 -static int ether00_mem_init(241,7001 -void ether00_mem_update(321,9522 -static void ether00_int(381,11146 -static void ether00_setup_ethernet_address(506,14788 -static void ether00_reset(531,15364 -static void ether00_set_multicast(578,16476 -static int ether00_open(700,19562 -static int ether00_tx(769,21204 -static struct net_device_stats *ether00_stats(812,22386 -static int ether00_stop(819,22518 -static void ether00_get_ethernet_address(844,23084 -static struct net_device* dev_list[897,24670 -static int ether00_add_device(899,24715 -static int ether00_remove_devices(973,26200 -static struct pld_hotswap_ops ether00_pldhs_ops=990,26538 -static void __exit ether00_cleanup_module(997,26694 -static int __init ether00_mod_init(1009,26951 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/arm/ether1.h,3701 -#define _LINUX_ether1_H14,344 -#define NET_DEBUG 19,466 -#define REG_PAGE 23,514 -#define REG_CONTROL 26,579 -#define CTRL_RST 27,623 -#define CTRL_LOOPBACK 28,645 -#define CTRL_CA 29,672 -#define CTRL_ACK 30,694 -#define ETHER1_RAM 32,717 -#define IDPROM_ADDRESS 35,779 -struct ether1_priv ether1_priv37,827 -#define I82586_NULL 50,1143 -#define TDR_TIME 57,1307 -#define TDR_SHORT 58,1332 -#define TDR_OPEN 59,1360 -#define TDR_XCVRPROB 60,1387 -#define TDR_LNKOK 61,1418 -} tdr_t;tdr_t62,1446 -} tx_t;tx_t69,1598 -#define TBD_CNT 73,1660 -#define TBD_EOL 74,1686 -} tbd_t;tbd_t78,1791 -#define RFD_NOEOF 82,1856 -#define RFD_FRAMESHORT 83,1883 -#define RFD_DMAOVRN 84,1915 -#define RFD_NORESOURCES 85,1944 -#define RFD_ALIGNERROR 86,1977 -#define RFD_CRCERROR 87,2010 -#define RFD_OK 88,2041 -#define RFD_FDCONSUMED 89,2067 -#define RFD_COMPLETE 90,2100 -#define RFD_CMDSUSPEND 92,2160 -#define RFD_CMDEL 93,2193 -} rfd_t;rfd_t99,2360 -#define RBD_ACNT 103,2425 -#define RBD_ACNTVALID 104,2451 -#define RBD_EOF 105,2483 -} rbd_t;rbd_t110,2613 -} nop_t;nop_t116,2733 -} mc_t;mc_t124,2916 -} sa_t;sa_t131,3068 -#define CFG8_SRDY 140,3338 -#define CFG8_SAVEBADF 141,3365 -#define CFG9_ADDRLEN(CFG9_ADDRLEN143,3423 -#define CFG9_ADDRLENBUF 144,3451 -#define CFG9_PREAMB2 145,3484 -#define CFG9_PREAMB4 146,3514 -#define CFG9_PREAMB8 147,3544 -#define CFG9_PREAMB16 148,3574 -#define CFG9_ILOOPBACK 149,3605 -#define CFG9_ELOOPBACK 150,3637 -#define CFG10_LINPRI(CFG10_LINPRI152,3697 -#define CFG10_ACR(CFG10_ACR153,3725 -#define CFG10_BOFMET 154,3755 -#define CFG13_SLOTH(CFG13_SLOTH158,3865 -#define CFG13_RETRY(CFG13_RETRY159,3892 -#define CFG14_PROMISC 161,3952 -#define CFG14_DISBRD 162,3983 -#define CFG14_MANCH 163,4013 -#define CFG14_TNCRS 164,4042 -#define CFG14_NOCRC 165,4071 -#define CFG14_CRC16 166,4100 -#define CFG14_BTSTF 167,4129 -#define CFG14_FLGPAD 168,4158 -#define CFG15_CSTF(CFG15_CSTF170,4216 -#define CFG15_ICSS 171,4242 -#define CFG15_CDTF(CFG15_CDTF172,4270 -#define CFG15_ICDS 173,4301 -} cfg_t;cfg_t175,4360 -#define SCB_STRXMASK 179,4449 -#define SCB_STRXIDLE 180,4507 -#define SCB_STRXSUSP 181,4552 -#define SCB_STRXNRES 182,4601 -#define SCB_STRXRDY 183,4653 -#define SCB_STCUMASK 184,4697 -#define SCB_STCUIDLE 185,4755 -#define SCB_STCUSUSP 186,4800 -#define SCB_STCUACTV 187,4849 -#define SCB_STRNR 188,4895 -#define SCB_STCNA 189,4953 -#define SCB_STFR 190,5011 -#define SCB_STCX 191,5061 -#define SCB_CMDRXSTART 193,5165 -#define SCB_CMDRXRESUME 194,5226 -#define SCB_CMDRXSUSPEND 195,5284 -#define SCB_CMDRXABORT 196,5343 -#define SCB_CMDCUCSTART 197,5399 -#define SCB_CMDCUCRESUME 198,5461 -#define SCB_CMDCUCSUSPEND 199,5519 -#define SCB_CMDCUCABORT 200,5579 -#define SCB_CMDACKRNR 201,5636 -#define SCB_CMDACKCNA 202,5693 -#define SCB_CMDACKFR 203,5750 -#define SCB_CMDACKCX 204,5808 -} scb_t;scb_t211,6276 -} iscp_t;iscp_t218,6498 -#define SCP_SY_16BBUS 223,6617 -#define SCP_SY_8BBUS 224,6644 -} scp_t;scp_t228,6820 -#define CMD_NOP 231,6845 -#define CMD_SETADDRESS 232,6865 -#define CMD_CONFIG 233,6891 -#define CMD_SETMULTICAST 234,6913 -#define CMD_TX 235,6940 -#define CMD_TDR 236,6959 -#define CMD_DUMP 237,6979 -#define CMD_DIAGNOSE 238,6999 -#define CMD_MASK 240,7024 -#define CMD_INTR 242,7045 -#define CMD_SUSP 243,7073 -#define CMD_EOL 244,7101 -#define STAT_COLLISIONS 246,7130 -#define STAT_COLLEXCESSIVE 247,7160 -#define STAT_COLLAFTERTX 248,7196 -#define STAT_TXDEFERRED 249,7230 -#define STAT_TXSLOWDMA 250,7264 -#define STAT_TXLOSTCTS 251,7297 -#define STAT_NOCARRIER 252,7330 -#define STAT_FAIL 253,7364 -#define STAT_ABORTED 254,7393 -#define STAT_OK 255,7425 -#define STAT_BUSY 256,7453 -#define STAT_COMPLETE 257,7482 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc91x.h,11567 -#define _SMC91X_H_35,1501 -#define SMC_CAN_USE_8BIT 49,1871 -#define SMC_CAN_USE_16BIT 50,1898 -#define SMC_CAN_USE_32BIT 51,1926 -#define SMC_NOWAIT 52,1954 -#define SMC_IO_SHIFT 55,2031 -#define SMC_inw(SMC_inw57,2056 -#define SMC_outw(SMC_outw58,2096 -#define SMC_insw(SMC_insw59,2143 -#define SMC_outsw(SMC_outsw60,2196 -#define SMC_CAN_USE_8BIT 65,2387 -#define SMC_CAN_USE_16BIT 66,2414 -#define SMC_CAN_USE_32BIT 67,2442 -#define SMC_NOWAIT 68,2470 -#define SMC_IO_SHIFT 70,2493 -#define SMC_inw(SMC_inw72,2518 -#define SMC_outw(SMC_outw73,2578 -#define SMC_insw(SMC_insw74,2645 -#define SMC_outsw(SMC_outsw86,2938 -#define set_irq_type(set_irq_type97,3251 -#define SMC_CAN_USE_8BIT 104,3426 -#define SMC_CAN_USE_16BIT 105,3453 -#define SMC_CAN_USE_32BIT 106,3481 -#define SMC_NOWAIT 107,3509 -#define SMC_IO_SHIFT 110,3586 -#define SMC_inb(SMC_inb112,3611 -#define SMC_outb(SMC_outb113,3651 -#define SMC_insb(SMC_insb114,3698 -#define SMC_outsb(SMC_outsb115,3753 -#define SMC_CAN_USE_8BIT 122,3953 -#define SMC_CAN_USE_16BIT 123,3980 -#define SMC_CAN_USE_32BIT 124,4008 -#define SMC_IO_SHIFT 125,4036 -#define SMC_NOWAIT 126,4060 -#define SMC_USE_PXA_DMA 127,4082 -#define SMC_inb(SMC_inb129,4110 -#define SMC_inw(SMC_inw130,4150 -#define SMC_inl(SMC_inl131,4190 -#define SMC_outb(SMC_outb132,4230 -#define SMC_outl(SMC_outl133,4277 -#define SMC_insl(SMC_insl134,4324 -#define SMC_outsl(SMC_outsl135,4377 -SMC_outw(139,4521 -#define SMC_CAN_USE_8BIT 152,4768 -#define SMC_CAN_USE_16BIT 153,4795 -#define SMC_CAN_USE_32BIT 154,4823 -#define SMC_inb(SMC_inb156,4852 -#define SMC_inw(SMC_inw157,4890 -#define SMC_outb(SMC_outb158,4928 -#define SMC_outw(SMC_outw159,4973 -#define SMC_insw(SMC_insw160,5018 -#define SMC_outsw(SMC_outsw161,5069 -#define SMC_CAN_USE_8BIT 165,5153 -#define SMC_CAN_USE_16BIT 166,5180 -#define SMC_CAN_USE_32BIT 167,5208 -#define SMC_inb(SMC_inb169,5237 -#define SMC_inw(SMC_inw170,5288 -#define SMC_outb(SMC_outb171,5339 -#define SMC_outw(SMC_outw172,5397 -#define SMC_insw(SMC_insw173,5455 -#define SMC_outsw(SMC_outsw174,5519 -#define SMC_CAN_USE_8BIT 178,5593 -#define SMC_CAN_USE_16BIT 179,5620 -#define SMC_CAN_USE_32BIT 180,5648 -#define SMC_NOWAIT 181,5676 -#define SMC_inb(SMC_inb183,5699 -#define SMC_inw(SMC_inw184,5739 -#define SMC_inl(SMC_inl185,5779 -#define SMC_outb(SMC_outb186,5819 -#define SMC_outw(SMC_outw187,5866 -#define SMC_outl(SMC_outl188,5913 -#define SMC_insl(SMC_insl189,5960 -#define SMC_outsl(SMC_outsl190,6013 -#define RPC_LSA_DEFAULT 192,6069 -#define RPC_LSB_DEFAULT 193,6109 -#define SMC_insl(SMC_insl210,6541 -smc_pxa_dma_insl(213,6645 -#define SMC_insw(SMC_insw246,7449 -smc_pxa_dma_insw(249,7553 -smc_pxa_dma_irq(281,8340 -#define SMC_IO_SHIFT 290,8540 -#define SMC_IO_EXTENT 292,8570 -#define BANK_SELECT 302,8747 -#define TCR_REG 307,8834 -#define TCR_ENABLE 308,8870 -#define TCR_LOOP 309,8922 -#define TCR_FORCOL 310,8973 -#define TCR_PAD_EN 311,9032 -#define TCR_NOCRC 312,9102 -#define TCR_MON_CSN 313,9170 -#define TCR_FDUPLX 314,9227 -#define TCR_STP_SQET 315,9298 -#define TCR_EPH_LOOP 316,9369 -#define TCR_SWFDUP 317,9434 -#define TCR_CLEAR 319,9505 -#define TCR_DEFAULT 321,9592 -#define EPH_STATUS_REG 326,9677 -#define ES_TX_SUC 327,9719 -#define ES_SNGL_COL 328,9770 -#define ES_MUL_COL 329,9838 -#define ES_LTX_MULT 330,9908 -#define ES_16COL 331,9962 -#define ES_SQET 332,10011 -#define ES_LTXBRD 333,10064 -#define ES_TXDEFR 334,10116 -#define ES_LATCOL 335,10162 -#define ES_LOSTCARR 336,10225 -#define ES_EXC_DEF 337,10274 -#define ES_CTR_ROL 338,10322 -#define ES_LINK_OK 339,10380 -#define ES_TXUNRN 340,10446 -#define RCR_REG 345,10530 -#define RCR_RX_ABORT 346,10566 -#define RCR_PRMS 347,10627 -#define RCR_ALMUL 348,10678 -#define RCR_RXEN 349,10744 -#define RCR_STRIP_CRC 350,10811 -#define RCR_ABORT_ENB 351,10879 -#define RCR_FILT_CAR 352,10947 -#define RCR_SOFTRST 353,11023 -#define RCR_DEFAULT 356,11120 -#define RCR_CLEAR 357,11167 -#define COUNTER_REG 362,11251 -#define MIR_REG 367,11337 -#define RPC_REG 372,11421 -#define RPC_SPEED 373,11457 -#define RPC_DPLX 374,11516 -#define RPC_ANEG 375,11577 -#define RPC_LSXA_SHFT 376,11641 -#define RPC_LSXB_SHFT 377,11704 -#define RPC_LED_100_10 378,11765 -#define RPC_LED_RES 379,11841 -#define RPC_LED_10 380,11886 -#define RPC_LED_FD 381,11940 -#define RPC_LED_TX_RX 382,11992 -#define RPC_LED_100 383,12055 -#define RPC_LED_TX 384,12112 -#define RPC_LED_RX 385,12166 -#define RPC_LSA_DEFAULT 388,12245 -#define RPC_LSB_DEFAULT 391,12312 -#define RPC_DEFAULT 394,12355 -#define BSR_REG 401,12556 -#define CONFIG_REG 406,12616 -#define CONFIG_EXT_PHY 407,12654 -#define CONFIG_GPCNTRL 408,12718 -#define CONFIG_NO_WAIT 409,12783 -#define CONFIG_EPH_POWER_EN 410,12855 -#define CONFIG_DEFAULT 413,13008 -#define BASE_REG 418,13093 -#define ADDR0_REG 423,13176 -#define ADDR1_REG 424,13213 -#define ADDR2_REG 425,13250 -#define GP_REG 430,13330 -#define CTL_REG 435,13400 -#define CTL_RCV_BAD 436,13436 -#define CTL_AUTO_RELEASE 437,13502 -#define CTL_LE_ENABLE 438,13580 -#define CTL_CR_ENABLE 439,13648 -#define CTL_TE_ENABLE 440,13722 -#define CTL_EEPROM_SELECT 441,13794 -#define CTL_RELOAD 442,13861 -#define CTL_STORE 443,13927 -#define MMU_CMD_REG 448,14032 -#define MC_BUSY 449,14071 -#define MC_NOP 450,14135 -#define MC_ALLOC 451,14167 -#define MC_RESET 452,14230 -#define MC_REMOVE 453,14284 -#define MC_RELEASE 454,14342 -#define MC_FREEPKT 455,14415 -#define MC_ENQUEUE 456,14478 -#define MC_RSTTXFIFO 457,14539 -#define PN_REG 462,14630 -#define AR_REG 467,14710 -#define AR_FAILED 468,14745 -#define TXFIFO_REG 473,14829 -#define TXFIFO_TEMPTY 474,14867 -#define RXFIFO_REG 478,14951 -#define RXFIFO_REMPTY 479,14989 -#define FIFO_REG 481,15034 -#define PTR_REG 485,15104 -#define PTR_RCV 486,15140 -#define PTR_AUTOINC 487,15199 -#define PTR_READ 488,15272 -#define DATA_REG 493,15362 -#define INT_REG 498,15454 -#define IM_REG 503,15532 -#define IM_MDINT 504,15567 -#define IM_ERCV_INT 505,15621 -#define IM_EPH_INT 506,15673 -#define IM_RX_OVRN_INT 507,15741 -#define IM_ALLOC_INT 508,15797 -#define IM_TX_EMPTY_INT 509,15867 -#define IM_TX_INT 510,15929 -#define IM_RCV_INT 511,15974 -#define MCAST_REG1 516,16063 -#define MCAST_REG2 517,16101 -#define MCAST_REG3 518,16139 -#define MCAST_REG4 519,16177 -#define MII_REG 524,16269 -#define MII_MSK_CRS100 525,16305 -#define MII_MDOE 526,16383 -#define MII_MCLK 527,16428 -#define MII_MDI 528,16476 -#define MII_MDO 529,16522 -#define REV_REG 535,16640 -#define ERCV_REG 541,16742 -#define ERCV_RCV_DISCRD 542,16778 -#define ERCV_THRESHOLD 543,16852 -#define EXT_REG 548,16941 -#define CHIP_9192 551,16979 -#define CHIP_9194 552,16999 -#define CHIP_9195 553,17019 -#define CHIP_9196 554,17039 -#define CHIP_91100 555,17059 -#define CHIP_91100FD 556,17080 -#define CHIP_91111FD 557,17103 -static const char * chip_ids[559,17127 -#define TS_SUCCESS 575,17417 -#define TS_LOSTCAR 576,17443 -#define TS_LATCOL 577,17469 -#define TS_16COL 578,17495 -#define RS_ALGNERR 583,17551 -#define RS_BRODCAST 584,17577 -#define RS_BADCRC 585,17604 -#define RS_ODDFRAME 586,17629 -#define RS_TOOLONG 587,17656 -#define RS_TOOSHORT 588,17682 -#define RS_MULTICAST 589,17709 -#define RS_ERRORS 590,17737 -#define PHY_LAN83C183 597,17867 -#define PHY_LAN83C180 598,17900 -#define PHY_CFG1_REG 609,18143 -#define PHY_CFG1_LNKDIS 610,18170 -#define PHY_CFG1_XMTDIS 611,18240 -#define PHY_CFG1_XMTPDN 612,18301 -#define PHY_CFG1_BYPSCR 613,18366 -#define PHY_CFG1_UNSCDS 614,18432 -#define PHY_CFG1_EQLZR 615,18503 -#define PHY_CFG1_CABLE 616,18561 -#define PHY_CFG1_RLVL0 617,18624 -#define PHY_CFG1_TLVL_SHIFT 618,18694 -#define PHY_CFG1_TLVL_MASK 619,18756 -#define PHY_CFG1_TRF_MASK 620,18790 -#define PHY_CFG2_REG 624,18887 -#define PHY_CFG2_APOLDIS 625,18914 -#define PHY_CFG2_JABDIS 626,18985 -#define PHY_CFG2_MREG 627,19038 -#define PHY_CFG2_INTMDIO 628,19108 -#define PHY_INT_REG 631,19235 -#define PHY_INT_INT 632,19297 -#define PHY_INT_LNKFAIL 633,19364 -#define PHY_INT_LOSSSYNC 634,19419 -#define PHY_INT_CWRD 635,19482 -#define PHY_INT_SSD 636,19549 -#define PHY_INT_ESD 637,19616 -#define PHY_INT_RPOL 638,19681 -#define PHY_INT_JAB 639,19741 -#define PHY_INT_SPDDET 640,19790 -#define PHY_INT_DPLXDET 641,19859 -#define PHY_MASK_REG 644,19957 -#define ECOR 652,20148 -#define ECOR_RESET 653,20170 -#define ECOR_LEVEL_IRQ 654,20195 -#define ECOR_WR_ATTRIB 655,20224 -#define ECOR_ENABLE 656,20253 -#define ECSR 658,20280 -#define ECSR_IOIS8 659,20302 -#define ECSR_PWRDWN 660,20327 -#define ECSR_INT 661,20353 -#define ATTRIB_SIZE 663,20377 -#define SMC_REG(SMC_REG675,20793 -#define SMC_REG(SMC_REG686,21070 -#define SMC_GET_PN(SMC_GET_PN690,21146 -#define SMC_SET_PN(SMC_SET_PN691,21194 -#define SMC_GET_AR(SMC_GET_AR692,21247 -#define SMC_GET_TXFIFO(SMC_GET_TXFIFO693,21295 -#define SMC_GET_RXFIFO(SMC_GET_RXFIFO694,21350 -#define SMC_GET_INT(SMC_GET_INT695,21405 -#define SMC_ACK_INT(SMC_ACK_INT696,21455 -#define SMC_GET_INT_MASK(SMC_GET_INT_MASK697,21510 -#define SMC_SET_INT_MASK(SMC_SET_INT_MASK698,21563 -#define SMC_GET_PN(SMC_GET_PN700,21627 -#define SMC_SET_PN(SMC_SET_PN701,21684 -#define SMC_GET_AR(SMC_GET_AR702,21737 -#define SMC_GET_TXFIFO(SMC_GET_TXFIFO703,21792 -#define SMC_GET_RXFIFO(SMC_GET_RXFIFO704,21856 -#define SMC_GET_INT(SMC_GET_INT705,21918 -#define SMC_ACK_INT(SMC_ACK_INT706,21977 -#define SMC_GET_INT_MASK(SMC_GET_INT_MASK715,22253 -#define SMC_SET_INT_MASK(SMC_SET_INT_MASK716,22314 -#define SMC_CURRENT_BANK(SMC_CURRENT_BANK719,22388 -#define SMC_SELECT_BANK(SMC_SELECT_BANK720,22446 -#define SMC_GET_BASE(SMC_GET_BASE721,22508 -#define SMC_SET_BASE(SMC_SET_BASE722,22560 -#define SMC_GET_CONFIG(SMC_GET_CONFIG723,22617 -#define SMC_SET_CONFIG(SMC_SET_CONFIG724,22672 -#define SMC_GET_COUNTER(SMC_GET_COUNTER725,22732 -#define SMC_GET_CTL(SMC_GET_CTL726,22789 -#define SMC_SET_CTL(SMC_SET_CTL727,22839 -#define SMC_GET_MII(SMC_GET_MII728,22894 -#define SMC_SET_MII(SMC_SET_MII729,22944 -#define SMC_GET_MIR(SMC_GET_MIR730,22999 -#define SMC_SET_MIR(SMC_SET_MIR731,23049 -#define SMC_GET_MMU_CMD(SMC_GET_MMU_CMD732,23104 -#define SMC_SET_MMU_CMD(SMC_SET_MMU_CMD733,23161 -#define SMC_GET_FIFO(SMC_GET_FIFO734,23223 -#define SMC_GET_PTR(SMC_GET_PTR735,23275 -#define SMC_SET_PTR(SMC_SET_PTR736,23325 -#define SMC_GET_RCR(SMC_GET_RCR737,23380 -#define SMC_SET_RCR(SMC_SET_RCR738,23430 -#define SMC_GET_REV(SMC_GET_REV739,23485 -#define SMC_GET_RPC(SMC_GET_RPC740,23535 -#define SMC_SET_RPC(SMC_SET_RPC741,23585 -#define SMC_GET_TCR(SMC_GET_TCR742,23640 -#define SMC_SET_TCR(SMC_SET_TCR743,23690 -#define SMC_GET_MAC_ADDR(SMC_GET_MAC_ADDR746,23771 -#define SMC_SET_MAC_ADDR(SMC_SET_MAC_ADDR758,24120 -#define SMC_CLEAR_MCAST(SMC_CLEAR_MCAST765,24364 -#define SMC_SET_MCAST(SMC_SET_MCAST772,24589 -#define SMC_SELECT_BANK(SMC_SELECT_BANK789,25220 -#define SMC_SET_RPC(SMC_SET_RPC791,25312 -#define SMC_SET_PN(SMC_SET_PN793,25397 -#define SMC_SET_PTR(SMC_SET_PTR795,25482 -#define SMC_PUT_PKT_HDR(SMC_PUT_PKT_HDR799,25579 -#define SMC_GET_PKT_HDR(SMC_GET_PKT_HDR801,25682 -#define SMC_PUT_PKT_HDR(SMC_PUT_PKT_HDR808,25882 -#define SMC_GET_PKT_HDR(SMC_GET_PKT_HDR813,26044 -#define SMC_PUSH_DATA(SMC_PUSH_DATA821,26240 -#define SMC_PULL_DATA(SMC_PULL_DATA836,26683 -#define SMC_PUSH_DATA(SMC_PUSH_DATA856,27297 -#define SMC_PULL_DATA(SMC_PULL_DATA857,27368 -#define SMC_PUSH_DATA(SMC_PUSH_DATA859,27462 -#define SMC_PULL_DATA(SMC_PULL_DATA860,27526 -#define SMC_outw(SMC_outw864,27622 -#define SMC_inw(SMC_inw870,27827 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/82596.c,4328 -static char version[62,1985 -static char version[] __initdata 62,1985 -#define DRV_NAME 65,2052 -#define DEB_INIT 70,2098 -#define DEB_PROBE 71,2122 -#define DEB_SERIOUS 72,2147 -#define DEB_ERRORS 73,2174 -#define DEB_MULTI 74,2200 -#define DEB_TDR 75,2225 -#define DEB_OPEN 76,2249 -#define DEB_RESET 77,2273 -#define DEB_ADDCMD 78,2298 -#define DEB_STATUS 79,2324 -#define DEB_STARTTX 80,2350 -#define DEB_RXADDR 81,2377 -#define DEB_TXADDR 82,2403 -#define DEB_RXFRAME 83,2429 -#define DEB_INTS 84,2456 -#define DEB_STRUCT 85,2480 -#define DEB_ANY 86,2506 -#define DEB(DEB89,2532 -#define ENABLE_MVME16x_NET93,2645 -#define ENABLE_BVME6000_NET96,2751 -#define ENABLE_APRICOT99,2848 -#define WSWAPrfd(WSWAPrfd115,3182 -#define WSWAPrbd(WSWAPrbd116,3263 -#define WSWAPiscp(WSWAPiscp117,3344 -#define WSWAPscb(WSWAPscb118,3425 -#define WSWAPcmd(WSWAPcmd119,3506 -#define WSWAPtbd(WSWAPtbd120,3587 -#define WSWAPchar(WSWAPchar121,3668 -#define ISCP_BUSY 122,3749 -#define MACH_IS_APRICOT 123,3778 -#define WSWAPrfd(WSWAPrfd125,3810 -#define WSWAPrbd(WSWAPrbd126,3859 -#define WSWAPiscp(WSWAPiscp127,3908 -#define WSWAPscb(WSWAPscb128,3958 -#define WSWAPcmd(WSWAPcmd129,4007 -#define WSWAPtbd(WSWAPtbd130,4056 -#define WSWAPchar(WSWAPchar131,4105 -#define ISCP_BUSY 132,4143 -#define MACH_IS_APRICOT 133,4168 -#define PORT_RESET 142,4464 -#define PORT_SELFTEST 143,4507 -#define PORT_ALTSCP 144,4550 -#define PORT_ALTDUMP 145,4604 -static int i596_debug 147,4661 -static int rx_copybreak 160,5026 -#define PKT_BUF_SZ 162,5058 -#define MAX_MC_CNT 163,5082 -#define I596_TOTAL_SIZE 165,5105 -#define I596_NULL 167,5133 -#define CMD_EOL 169,5173 -#define CMD_SUSP 170,5239 -#define CMD_INTR 171,5294 -#define CMD_FLEX 173,5352 -enum commands commands175,5412 - CmdNOp 176,5428 - CmdNOp = 0, CmdSASetup 176,5428 - CmdNOp = 0, CmdSASetup = 1, CmdConfigure 176,5428 - CmdNOp = 0, CmdSASetup = 1, CmdConfigure = 2, CmdMulticastList 176,5428 - CmdTx 177,5497 - CmdTx = 4, CmdTDR 177,5497 - CmdTx = 4, CmdTDR = 5, CmdDump 177,5497 - CmdTx = 4, CmdTDR = 5, CmdDump = 6, CmdDiagnose 177,5497 -#define STAT_C 180,5554 -#define STAT_B 181,5608 -#define STAT_OK 182,5660 -#define STAT_A 183,5710 -#define CUC_START 185,5756 -#define CUC_RESUME 186,5782 -#define CUC_SUSPEND 187,5809 -#define CUC_ABORT 188,5840 -#define RX_START 189,5866 -#define RX_RESUME 190,5891 -#define RX_SUSPEND 191,5917 -#define RX_ABORT 192,5944 -#define TX_TIMEOUT 194,5970 -struct i596_reg i596_reg197,5993 -#define EOF 203,6082 -#define SIZE_MASK 204,6102 -struct i596_tbd i596_tbd206,6128 -struct i596_cmd i596_cmd223,6770 -struct tx_cmd tx_cmd230,6961 -struct tdr_cmd tdr_cmd238,7124 -struct mc_cmd mc_cmd244,7212 -struct sa_cmd sa_cmd250,7299 -struct cf_cmd cf_cmd255,7360 -struct i596_rfd i596_rfd260,7425 -struct i596_rbd i596_rbd271,7704 -#define TX_RING_SIZE 284,8101 -#define RX_RING_SIZE 285,8125 -struct i596_scb i596_scb287,8150 -struct i596_iscp i596_iscp302,8468 -struct i596_scp i596_scp307,8535 -struct i596_private i596_private313,8625 -static char init_setup[338,9280 -static int rx_ring_size 369,10388 -static int ticks_limit 370,10428 -static int max_cmd_backlog 371,10457 -static inline void CA(374,10504 -static inline void MPU_PORT(396,10884 -static inline int wait_istat(417,11402 -static inline int wait_cmd(431,11721 -static inline int wait_cfg(445,12040 -static void i596_display_data(460,12325 -static irqreturn_t i596_error(505,13952 -static inline void init_rx_bufs(530,14499 -static inline void remove_rx_bufs(581,15904 -static void rebuild_rx_bufs(595,16163 -static int init_i596_mem(614,16624 -static inline int i596_rx(767,20401 -static inline void i596_cleanup_cmd(903,23942 -static inline void i596_reset(936,24646 -static void i596_add_cmd(962,25189 -static int i596_open(1003,26200 -static void i596_tx_timeout 1032,26810 -static int i596_start_xmit(1061,27567 -static void print_eth(1120,28892 -static int io 1133,29175 -static int irq 1134,29198 -struct net_device * __init i82596_probe(1136,29220 -static irqreturn_t i596_interrupt(1287,33077 -static int i596_close(1450,37422 - i596_get_stats(1497,38450 -static void set_multicast_list(1508,38620 -static struct net_device *dev_82596;1572,40469 -static int debug 1581,40676 -int init_module(1583,40700 -void cleanup_module(1593,40861 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/macsonic.c,1628 -#define SREGS_PAD(SREGS_PAD57,1426 -#define SONIC_READ(SONIC_READ61,1478 -#define SONIC_WRITE(SONIC_WRITE63,1534 -#define sonic_read(sonic_read65,1603 -#define sonic_write(sonic_write67,1671 -static int sonic_debug;71,1755 -static int sonic_version_printed;72,1779 -static int reg_offset;74,1814 -#define ONBOARD_SONIC_REGISTERS 80,1981 -#define ONBOARD_SONIC_PROM_BASE 81,2024 -enum macsonic_type macsonic_type83,2068 - MACSONIC_DUODOCK,84,2089 - MACSONIC_APPLE,85,2108 - MACSONIC_APPLE16,86,2125 - MACSONIC_DAYNA,87,2144 - MACSONIC_DAYNALINK88,2161 -#define DUODOCK_SONIC_REGISTERS 92,2230 -#define DUODOCK_SONIC_PROM_BASE 93,2271 -#define APPLE_SONIC_REGISTERS 96,2347 -#define APPLE_SONIC_PROM_BASE 97,2379 -#define DAYNALINK_PROM_BASE 100,2443 -#define DAYNA_SONIC_REGISTERS 103,2538 -#define DAYNA_SONIC_MAC_ADDR 107,2739 -#define SONIC_READ_PROM(SONIC_READ_PROM109,2778 -struct net_device * __init macsonic_probe(111,2837 -static unsigned char nibbletab[149,3477 -static inline void bit_reverse_addr(152,3577 -int __init macsonic_init(161,3761 -int __init mac_onboard_sonic_ethernet_addr(258,6611 -int __init mac_onboard_sonic_probe(324,8587 -int __init mac_nubus_sonic_ethernet_addr(464,12578 -int __init macsonic_ident(477,12880 -int __init mac_nubus_sonic_probe(493,13301 -static struct net_device *dev_macsonic;611,16723 -init_module(617,16861 -cleanup_module(628,17075 -#define vdma_alloc(vdma_alloc637,17212 -#define vdma_free(vdma_free638,17252 -#define sonic_chiptomem(sonic_chiptomem639,17275 -#define PHYSADDR(PHYSADDR640,17310 -#define sonic_request_irq 642,17341 -#define sonic_free_irq 643,17385 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ne.c,1412 -static const char version1[38,1552 -static const char version2[40,1640 -#define DRV_NAME 59,2028 -#define SUPPORT_NE_BAD_CLONES64,2183 -static unsigned int netcard_portlist[77,2573 -static unsigned int netcard_portlist[] __initdata 77,2573 -static struct isapnp_device_id isapnp_clone_list[82,2683 -static struct isapnp_device_id isapnp_clone_list[] __initdata 82,2683 -bad_clone_list[100,3337 -bad_clone_list[] __initdata 100,3337 -#define NE_BASE 121,4419 -#define NE_CMD 122,4453 -#define NE_DATAPORT 123,4475 -#define NE_RESET 124,4542 -#define NE_IO_EXTENT 125,4611 -#define NE1SM_START_PG 127,4638 -#define NE1SM_STOP_PG 128,4696 -#define NESM_START_PG 129,4754 -#define NESM_STOP_PG 130,4811 -# define DCR_VAL 133,4893 -# define DCR_VAL 135,4942 -# define DCR_VAL 137,4971 -static int __init do_ne_probe(176,6585 -static void cleanup_card(208,7398 -struct net_device * __init ne_probe(218,7636 -static int __init ne_probe_isapnp(244,8041 -static int __init ne_probe1(289,9252 -static int ne_open(544,16467 -static int ne_close(550,16541 -static void ne_reset_8390(561,16842 -static void ne_get_8390_hdr(587,17707 -static void ne_block_input(625,19018 -static void ne_block_output(691,21019 -#define MAX_NE_CARDS 797,23912 -static struct net_device *dev_ne[798,23975 -static int io[799,24023 -static int irq[800,24052 -static int bad[801,24082 -int init_module(817,24857 -void cleanup_module(849,25576 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ppp_async.c,1347 -#define PPP_VERSION 35,1137 -#define OBUFSIZE 37,1166 -struct asyncppp asyncppp40,1229 -#define XMIT_WAKEUP 74,1896 -#define XMIT_FULL 75,1918 -#define XMIT_BUSY 76,1938 -#define SC_TOSS 79,1976 -#define SC_ESCAPE 80,1995 -#define SC_PREV_ERROR 81,2015 -#define SC_RCV_BITS 84,2060 -static int flag_time 86,2131 -static struct ppp_channel_ops async_ops 108,2936 -static rwlock_t disc_data_lock 129,3634 -static struct asyncppp *ap_get(131,3686 -static void ap_put(143,3907 -ppp_asynctty_open(154,4114 -ppp_asynctty_close(209,5337 -static int ppp_asynctty_hangup(246,6277 -ppp_asynctty_read(257,6510 -ppp_asynctty_write(268,6749 -ppp_asynctty_ioctl(280,6996 -ppp_asynctty_poll(340,8035 -ppp_asynctty_room(346,8141 -ppp_asynctty_receive(356,8322 -ppp_asynctty_wakeup(376,8848 -static struct tty_ldisc ppp_ldisc 389,9087 -ppp_async_init(406,9532 -ppp_async_ioctl(421,9803 -static void ppp_async_process(509,11559 -#define PUT_BYTE(PUT_BYTE538,12340 -ppp_async_encode(547,12566 -ppp_async_send(646,14715 -ppp_async_push(665,15061 -ppp_async_flush_output(745,17371 -scan_ordinary(768,17804 -process_input_packet(783,18128 -ppp_async_input(846,19482 -#define CONFREQ 952,22194 -#define CONFACK 953,22241 -#define LCP_MRU 954,22260 -#define LCP_ASYNCMAP 955,22304 -static void async_lcp_peek(957,22328 -static void __exit ppp_async_cleanup(1024,23789 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunhme.c,6041 -static char version[16,669 -#define DRV_NAME 71,1787 -static int macaddr[73,1814 -static struct happy_meal *root_happy_dev;80,2025 -static struct quattro *qfe_sbus_list;83,2087 -static struct quattro *qfe_pci_list;87,2151 -struct hme_tx_logent hme_tx_logent97,2292 -#define TXLOG_ACTION_IRQ 101,2380 -#define TXLOG_ACTION_TXMIT 102,2410 -#define TXLOG_ACTION_TBUSY 103,2442 -#define TXLOG_ACTION_NBUFS 104,2474 -#define TX_LOG_LEN 107,2531 -static struct hme_tx_logent tx_log[108,2554 -static int txlog_cur_entry;109,2602 -static __inline__ void tx_add_log(110,2630 -static __inline__ void tx_dump_log(125,3041 -static __inline__ void tx_dump_ring(138,3413 -#define tx_add_log(tx_add_log154,4017 -#define tx_dump_log(tx_dump_log155,4063 -#define tx_dump_ring(tx_dump_ring156,4103 -#define HMD(HMD160,4169 -#define HMD(HMD162,4200 -#define ASD(ASD168,4281 -#define ASD(ASD170,4312 -#define DEFAULT_IPG0 173,4335 -#define DEFAULT_IPG1 174,4390 -#define DEFAULT_IPG2 175,4439 -#define DEFAULT_JAMSIZE 176,4488 -struct pci_device_id happymeal_pci_ids[184,4808 -static void sbus_hme_write32(206,5425 -static u32 sbus_hme_read32(211,5511 -static void sbus_hme_write_rxd(216,5587 -static void sbus_hme_write_txd(223,5726 -static u32 sbus_hme_read_desc32(230,5865 -static void pci_hme_write32(235,5922 -static u32 pci_hme_read32(240,6002 -static void pci_hme_write_rxd(245,6072 -static void pci_hme_write_txd(252,6236 -static u32 pci_hme_read_desc32(259,6400 -#define hme_write32(hme_write32264,6469 -#define hme_read32(hme_read32266,6548 -#define hme_write_rxd(hme_write_rxd268,6607 -#define hme_write_txd(hme_write_txd270,6712 -#define hme_read_desc32(hme_read_desc32272,6817 -#define hme_dma_map(hme_dma_map274,6882 -#define hme_dma_unmap(hme_dma_unmap276,6998 -#define hme_dma_sync_for_cpu(hme_dma_sync_for_cpu278,7120 -#define hme_dma_sync_for_device(hme_dma_sync_for_device280,7256 -#define hme_write32(hme_write32285,7451 -#define hme_read32(hme_read32287,7524 -#define hme_write_rxd(hme_write_rxd289,7577 -#define hme_write_txd(hme_write_txd294,7722 -#define hme_read_desc32(hme_read_desc32299,7867 -#define hme_dma_map(hme_dma_map300,7911 -#define hme_dma_unmap(hme_dma_unmap302,8025 -#define hme_dma_sync_for_cpu(hme_dma_sync_for_cpu304,8145 -#define hme_dma_sync_for_device(hme_dma_sync_for_device306,8283 -#define hme_write32(hme_write32310,8460 -#define hme_read32(hme_read32312,8528 -#define hme_write_rxd(hme_write_rxd314,8576 -#define hme_write_txd(hme_write_txd319,8743 -#define hme_read_desc32(hme_read_desc32324,8910 -#define hme_dma_map(hme_dma_map325,8963 -#define hme_dma_unmap(hme_dma_unmap327,9076 -#define hme_dma_sync_for_cpu(hme_dma_sync_for_cpu329,9195 -#define hme_dma_sync_for_device(hme_dma_sync_for_device331,9332 -# define DMA_BIDIRECTIONAL 338,9521 -# define DMA_BIDIRECTIONAL 340,9577 -# define DMA_FROMDEVICE 344,9641 -# define DMA_TODEVICE 346,9692 -# define DMA_TODEVICE 350,9750 -# define DMA_FROMDEVICE 352,9797 -static void BB_PUT_BIT(357,9917 -static u32 BB_GET_BIT(365,10134 -static u32 BB_GET_BIT2(381,10447 -#define TCVR_FAILURE 397,10781 -static int happy_meal_bb_read(399,10855 -static void happy_meal_bb_write(445,12119 -#define TCVR_READ_TRIES 488,13169 -static int happy_meal_tcvr_read(490,13199 -#define TCVR_WRITE_TRIES 520,14013 -static void happy_meal_tcvr_write(522,14043 -static int try_next_permutation(582,16650 -static void display_link_mode(606,17235 -static void display_forced_link_mode(628,17830 -static int set_happy_link_modes(647,18339 -static int is_lucent_phy(709,20116 -static void happy_meal_timer(724,20427 -#define TX_RESET_TRIES 904,25558 -#define RX_RESET_TRIES 905,25588 -static void happy_meal_tx_reset(908,25653 -static void happy_meal_rx_reset(928,26178 -#define STOP_TRIES 947,26689 -static void happy_meal_stop(950,26754 -static void happy_meal_get_counters(970,27329 -static void happy_meal_poll_stop(993,28077 -#define TCVR_RESET_TRIES 1024,28903 -#define TCVR_UNISOLATE_TRIES 1025,28974 -static int happy_meal_tcvr_reset(1028,29080 -static void happy_meal_transceiver_check(1126,31879 -static void happy_meal_clean_rings(1233,35671 -static void happy_meal_init_rings(1278,36750 -static void happy_meal_begin_auto_negotiation(1320,37910 -static int happy_meal_init(1444,42001 -static void happy_meal_set_initial_advertisement(1737,51663 -static int happy_meal_is_not_so_happy(1797,53463 -static void happy_meal_mif_interrupt(1911,57007 -#define TXD(TXD1939,58045 -#define TXD(TXD1941,58075 -static void happy_meal_tx(1945,58132 -#define RXD(RXD2000,59429 -#define RXD(RXD2002,59459 -static void happy_meal_rx(2014,59951 -static irqreturn_t happy_meal_interrupt(2115,62704 -static irqreturn_t quattro_sbus_interrupt(2154,63551 -static int happy_meal_open(2204,64627 -static int happy_meal_close(2241,65580 -#define SXD(SXD2265,66173 -#define SXD(SXD2267,66203 -static void happy_meal_tx_timeout(2270,66226 -static int happy_meal_start_xmit(2288,66727 -static struct net_device_stats *happy_meal_get_stats(2379,69292 -static void happy_meal_set_multicast(2390,69550 -static int hme_get_settings(2440,70838 -static int hme_set_settings(2485,72133 -static void hme_get_drvinfo(2509,72782 -static u32 hme_get_link(2528,73223 -static struct ethtool_ops hme_ethtool_ops 2539,73484 -static int hme_version_printed;2546,73668 -void __init quattro_get_ranges(2549,73720 -static void __init quattro_apply_ranges(2565,74074 -static struct quattro * __init quattro_sbus_find(2592,74731 -static void __init quattro_sbus_register_irqs(2639,75676 -static struct quattro * __init quattro_pci_find(2660,76134 -static int __init happy_meal_sbus_init(2691,76764 -static int is_quattro_p(2921,83004 -static void find_eth_addr_in_vpd(2951,83637 -static void get_hme_mac_nonsparc(2980,84195 -static int __init happy_meal_pci_init(3019,85178 -static int __init happy_meal_sbus_probe(3277,91797 -static int __init happy_meal_pci_probe(3310,92495 -static int __init happy_meal_probe(3327,92834 -static void __exit happy_meal_cleanup_module(3351,93160 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/jazzsonic.c,504 -#define DRV_NAME 40,948 -#define SREGS_PAD(SREGS_PAD42,978 -#define SONIC_READ(SONIC_READ49,1073 -#define SONIC_WRITE(SONIC_WRITE51,1142 -static unsigned int sonic_debug 59,1330 -static unsigned int sonic_debug 61,1384 -} sonic_portlist[70,1560 -static unsigned short known_revisions[77,1829 -struct net_device * __init sonic_probe(93,2230 -static int __init sonic_probe1(146,3358 -#define sonic_request_irq 301,7112 -#define sonic_free_irq 302,7156 -#define sonic_chiptomem(sonic_chiptomem304,7198 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c515.c,8156 -#define DRV_NAME 25,669 -#define DRV_VERSION 26,695 -#define DRV_RELDATE 27,727 -static char *version 29,763 -#define CORKSCREW 32,865 -static const int rx_copybreak 37,1061 -static const int mtu 40,1178 -static int max_interrupt_work 43,1277 -#define AUTOMEDIA 46,1378 -#define VORTEX_BUS_MASTER52,1667 -#define TX_RING_SIZE 56,1791 -#define RX_RING_SIZE 57,1815 -#define PKT_BUF_SZ 58,1839 -#define NEW_MULTICAST81,2391 -#define MAX_UNITS 84,2439 -#define DRIVER_DEBUG 101,3187 -static int rx_nocopy,104,3297 -static int rx_nocopy, rx_copy,104,3297 -static int rx_nocopy, rx_copy, queued_packet;104,3297 -#define WAIT_TX_AVAIL 108,3439 -#define TX_TIMEOUT 111,3524 -#define CORKSCREW_TOTAL_SIZE 116,3714 -static int corkscrew_debug 119,3769 -static int corkscrew_debug 121,3818 -#define CORKSCREW_ID 124,3858 -#define EL3WINDOW(EL3WINDOW185,6071 -#define EL3_CMD 186,6147 -#define EL3_STATUS 187,6168 -enum corkscrew_cmd corkscrew_cmd195,6492 - TotalReset 196,6513 - TotalReset = 0 << 11, SelectWindow 196,6513 - TotalReset = 0 << 11, SelectWindow = 1 << 11, StartCoax 196,6513 - RxDisable 197,6581 - RxDisable = 3 << 11, RxEnable 197,6581 - RxDisable = 3 << 11, RxEnable = 4 << 11, RxReset 197,6581 - UpStall 198,6642 - UpStall = 6 << 11, UpUnstall 198,6642 - UpStall = 6 << 11, UpUnstall = (6 << 11) + 1, DownStall 198,6642 - DownUnstall 199,6716 - DownUnstall = (6 << 11) + 3, RxDiscard 199,6716 - DownUnstall = (6 << 11) + 3, RxDiscard = 8 << 11, TxEnable 199,6716 - TxDisable 200,6788 - TxDisable = 10 << 11, TxReset 200,6788 - TxDisable = 10 << 11, TxReset = 11 << 11, FakeIntr 200,6788 - AckIntr 201,6853 - AckIntr = 13 << 11, SetIntrEnb 201,6853 - AckIntr = 13 << 11, SetIntrEnb = 14 << 11, SetStatusEnb 201,6853 - SetRxFilter 202,6923 - SetRxFilter = 16 << 11, SetRxThreshold 202,6923 - SetTxThreshold 203,6975 - SetTxThreshold = 18 << 11, SetTxStart 203,6975 - SetTxThreshold = 18 << 11, SetTxStart = 19 << 11, StartDMAUp 203,6975 - StartDMADown 204,7049 - StartDMADown = (20 << 11) + 1, StatsEnable 204,7049 - StatsDisable 205,7105 - StatsDisable = 22 << 11, StopCoax 205,7105 -enum RxFilter RxFilter209,7217 - RxStation 210,7233 - RxStation = 1, RxMulticast 210,7233 - RxStation = 1, RxMulticast = 2, RxBroadcast 210,7233 - RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm 210,7233 -enum corkscrew_status corkscrew_status214,7341 - IntLatch 215,7365 - IntLatch = 0x0001,215,7365 - IntLatch = 0x0001, AdapterFailure 215,7365 - IntLatch = 0x0001, AdapterFailure = 0x0002,215,7365 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete 215,7365 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004,215,7365 - TxAvailable 216,7431 - TxAvailable = 0x0008,216,7431 - TxAvailable = 0x0008, RxComplete 216,7431 - TxAvailable = 0x0008, RxComplete = 0x0010,216,7431 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly 216,7431 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020,216,7431 - IntReq 217,7493 - IntReq = 0x0040,217,7493 - IntReq = 0x0040, StatsFull 217,7493 - IntReq = 0x0040, StatsFull = 0x0080,217,7493 - DMADone 218,7531 - DMADone = 1 << 8, DownComplete 218,7531 - DMADone = 1 << 8, DownComplete = 1 << 9, UpComplete 218,7531 - DMAInProgress 219,7595 - CmdInProgress 220,7657 -enum Window1 Window1225,7857 - TX_FIFO 226,7872 - TX_FIFO = 0x10,226,7872 - TX_FIFO = 0x10, RX_FIFO 226,7872 - TX_FIFO = 0x10, RX_FIFO = 0x10,226,7872 - TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors 226,7872 - TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors = 0x14,226,7872 - RxStatus 227,7922 - RxStatus = 0x18,227,7922 - RxStatus = 0x18, Timer 227,7922 - RxStatus = 0x18, Timer = 0x1A,227,7922 - RxStatus = 0x18, Timer = 0x1A, TxStatus 227,7922 - RxStatus = 0x18, Timer = 0x1A, TxStatus = 0x1B,227,7922 - TxFree 228,7971 - TxFree = 0x1C,228,7971 -enum Window0 Window0230,8032 - Wn0IRQ 231,8047 - Wn0IRQ = 0x08,231,8047 - Wn0EepromCmd 233,8086 - Wn0EepromCmd = 0x200A,233,8086 - Wn0EepromData 234,8151 - Wn0EepromData = 0x200C,234,8151 - Wn0EepromCmd 236,8223 - Wn0EepromData 237,8284 -enum Win0_EEPROM_bits Win0_EEPROM_bits240,8356 - EEPROM_Read 241,8380 - EEPROM_Read = 0x80,241,8380 - EEPROM_Read = 0x80, EEPROM_WRITE 241,8380 - EEPROM_Read = 0x80, EEPROM_WRITE = 0x40,241,8380 - EEPROM_Read = 0x80, EEPROM_WRITE = 0x40, EEPROM_ERASE 241,8380 - EEPROM_Read = 0x80, EEPROM_WRITE = 0x40, EEPROM_ERASE = 0xC0,241,8380 - EEPROM_EWENB 242,8443 - EEPROM_EWENB = 0x30,242,8443 - EEPROM_EWDIS 243,8507 - EEPROM_EWDIS = 0x00,243,8507 -enum eeprom_offset eeprom_offset247,8601 - PhysAddr01 248,8622 - PhysAddr01 = 0, PhysAddr23 248,8622 - PhysAddr01 = 0, PhysAddr23 = 1, PhysAddr45 248,8622 - PhysAddr01 = 0, PhysAddr23 = 1, PhysAddr45 = 2, ModelID 248,8622 - EtherLink3ID 249,8684 -enum Window3 Window3252,8707 - Wn3_Config 253,8757 - Wn3_Config = 0, Wn3_MAC_Ctrl 253,8757 - Wn3_Config = 0, Wn3_MAC_Ctrl = 6, Wn3_Options 253,8757 -union wn3_config wn3_config255,8812 - struct w3_config_fields w3_config_fields257,8839 -enum Window4 Window4265,9038 - Wn4_NetDiag 266,9053 - Wn4_NetDiag = 6, Wn4_Media 266,9053 -enum Win4_Media_bits Win4_Media_bits268,9123 - Media_SQE 269,9146 - Media_SQE = 0x0008,269,9146 - Media_10TP 270,9208 - Media_10TP = 0x00C0,270,9208 - Media_Lnk 271,9277 - Media_Lnk = 0x0080,271,9277 - Media_LnkBeat 272,9343 - Media_LnkBeat = 0x0800,272,9343 -enum Window7 Window7274,9371 - Wn7_MasterAddr 275,9424 - Wn7_MasterAddr = 0, Wn7_MasterLen 275,9424 - Wn7_MasterAddr = 0, Wn7_MasterLen = 6, Wn7_MasterStatus 275,9424 -enum MasterCtrl MasterCtrl279,9562 - PktStatus 280,9580 - PktStatus = 0x400,280,9580 - PktStatus = 0x400, DownListPtr 280,9580 - PktStatus = 0x400, DownListPtr = 0x404,280,9580 - PktStatus = 0x400, DownListPtr = 0x404, FragAddr 280,9580 - PktStatus = 0x400, DownListPtr = 0x404, FragAddr = 0x408,280,9580 - PktStatus = 0x400, DownListPtr = 0x404, FragAddr = 0x408, FragLen 280,9580 - 0x40c,281,9649 - TxFreeThreshold 282,9661 - TxFreeThreshold = 0x40f,282,9661 - TxFreeThreshold = 0x40f, UpPktStatus 282,9661 - TxFreeThreshold = 0x40f, UpPktStatus = 0x410,282,9661 - TxFreeThreshold = 0x40f, UpPktStatus = 0x410, UpListPtr 282,9661 - TxFreeThreshold = 0x40f, UpPktStatus = 0x410, UpListPtr = 0x418,282,9661 -struct boom_rx_desc boom_rx_desc288,9893 -enum rx_desc_status rx_desc_status296,10005 - RxDComplete 297,10027 - RxDComplete = 0x00008000,297,10027 - RxDComplete = 0x00008000, RxDError 297,10027 - RxDComplete = 0x00008000, RxDError = 0x4000,297,10027 -struct boom_tx_desc boom_tx_desc301,10125 -struct corkscrew_private corkscrew_private308,10199 -enum xcvr_types xcvr_types339,11561 - XCVR_10baseT 340,11579 - XCVR_10baseT = 0, XCVR_AUI,340,11579 - XCVR_10baseT = 0, XCVR_AUI, XCVR_10baseTOnly,340,11579 - XCVR_10baseT = 0, XCVR_AUI, XCVR_10baseTOnly, XCVR_10base2,340,11579 - XCVR_10baseT = 0, XCVR_AUI, XCVR_10baseTOnly, XCVR_10base2, XCVR_100baseTx,340,11579 - XCVR_100baseFx,341,11656 - XCVR_100baseFx, XCVR_MII 341,11656 - XCVR_100baseFx, XCVR_MII = 6, XCVR_Default 341,11656 -static struct media_table media_table344,11709 -} media_tbl[350,11983 -static struct isapnp_device_id corkscrew_isapnp_adapters[363,12515 -static int nopnp;372,12793 -static struct ethtool_ops netdev_ethtool_ops;391,13664 -static int options[408,14466 -static int debug 411,14550 -int init_module(416,14762 -struct net_device *tc515_probe(429,14964 -static int check_device(446,15237 -static void cleanup_card(472,15957 -static struct net_device *corkscrew_scan(484,16303 -static void corkscrew_setup(569,18489 -static int corkscrew_open(695,22295 -static void corkscrew_timer(860,27796 -static void corkscrew_timeout(953,30320 -static int corkscrew_start_xmit(993,31637 -static irqreturn_t corkscrew_interrupt(1120,35445 -static int corkscrew_rx(1262,39942 -static int boomerang_rx(1329,42079 -static int corkscrew_close(1420,45012 -static struct net_device_stats *corkscrew_get_stats(1476,46491 -static void update_stats(1496,47159 -static void set_rx_mode(1533,48606 -static void netdev_get_drvinfo(1551,49132 -static u32 netdev_get_msglevel(1559,49357 -static void netdev_set_msglevel(1564,49442 -static struct ethtool_ops netdev_ethtool_ops 1569,49540 -void cleanup_module(1577,49724 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sis900.c,2741 -#define SIS900_MODULE_NAME 75,3817 -#define SIS900_DRV_VERSION 76,3853 -static char version[78,3903 -static char version[] __devinitdata 78,3903 -static int max_interrupt_work 81,3990 -static int multicast_filter_limit 82,4026 -#define sis900_debug 84,4068 -static int sis900_debug;85,4095 -#define TX_TIMEOUT 88,4186 -#define SIS900_DMA_MASK 90,4256 - SIS_900 93,4299 - SIS_701694,4313 -static char * card_names[96,4326 -static struct pci_device_id sis900_pci_tbl 100,4420 -static struct mii_chip_info mii_chip_info111,4777 -#define HOME 116,4871 -#define LAN 117,4892 -#define MIX 118,4911 -#define UNKNOWN 119,4930 -} mii_chip_table[120,4950 -struct mii_phy mii_phy133,5460 -typedef struct _BufferDesc _BufferDesc142,5577 -} BufferDesc;BufferDesc146,5643 -struct sis900_private sis900_private148,5658 -static struct ethtool_ops sis900_ethtool_ops;217,8821 -static int __devinit sis900_get_mac_addr(228,9162 -static int __devinit sis630e_get_mac_addr(259,10047 -static int __devinit sis635_get_mac_addr(296,11042 -static int __devinit sis96x_get_mac_addr(338,12352 -static int __devinit sis900_probe 375,13246 -static int __init sis900_mii_probe 526,17414 -static u16 sis900_default_phy(648,21197 -static void sis900_set_capability(705,23017 -#define eeprom_delay(eeprom_delay724,23608 -static u16 __devinit read_eeprom(735,23867 -#define mdio_delay(mdio_delay778,24862 -static void mdio_idle(780,24902 -static void mdio_reset(788,25105 -static u16 mdio_read(812,25619 -static void mdio_write(855,26695 -static u16 sis900_reset_phy(907,27885 -sis900_open(929,28327 -sis900_init_rxfilter 986,29799 -sis900_init_tx_ring(1023,30621 -sis900_init_rx_ring(1057,31524 -static void sis630_set_eq(1129,34032 -static void sis900_timer(1194,36368 -static void sis900_check_mode 1268,38540 -static void sis900_set_mode 1300,39587 -static void sis900_auto_negotiate(1342,40876 -static void sis900_read_mode(1376,41814 -static void sis900_tx_timeout(1430,43328 -sis900_start_xmit(1488,44977 -static irqreturn_t sis900_interrupt(1557,46997 -static int sis900_rx(1618,48601 -static void sis900_finish_xmit 1754,53049 -sis900_close(1823,55152 -static void sis900_get_drvinfo(1878,56437 -static struct ethtool_ops sis900_ethtool_ops 1888,56737 -static int mii_ioctl(1901,57037 -sis900_get_stats(1933,57903 -static int sis900_set_config(1950,58344 -static inline u16 sis900_mcast_bitnr(2048,61926 -static void set_rx_mode(2069,62482 -static void sis900_reset(2143,64836 -static void __devexit sis900_remove(2176,65664 -static int sis900_suspend(2200,66294 -static int sis900_resume(2221,66801 -static struct pci_driver sis900_pci_driver 2256,67687 -static int __init sis900_init_module(2267,67957 -static void __exit sis900_cleanup_module(2277,68169 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk_g16.h,1413 -#define SK_G16_H23,578 -#define CSR0_ERR 33,734 -#define CSR0_BABL 34,782 -#define CSR0_CERR 35,851 -#define CSR0_MISS 36,903 -#define CSR0_MERR 37,953 -#define CSR0_RINT 38,1004 -#define CSR0_TINT 39,1059 -#define CSR0_IDON 40,1121 -#define CSR0_INTR 41,1177 -#define CSR0_INEA 42,1227 -#define CSR0_RXON 43,1280 -#define CSR0_TXON 44,1327 -#define CSR0_TDMD 45,1378 -#define CSR0_STOP 46,1430 -#define CSR0_STRT 47,1472 -#define CSR0_INIT 48,1514 -#define CSR0_CLRALL 50,1562 -#define CSR3_BSWAP 57,1699 -#define CSR3_ACON 58,1746 -#define CSR3_BCON 59,1795 -#define MODE_PROM 65,1909 -#define MODE_INTL 66,1957 -#define MODE_DRTY 67,2007 -#define MODE_COLL 68,2054 -#define MODE_DTCR 69,2101 -#define MODE_LOOP 70,2154 -#define MODE_DTX 71,2194 -#define MODE_DRX 72,2249 -#define MODE_NORMAL 74,2302 -#define RX_OWN 80,2423 -#define RX_ERR 81,2480 -#define RX_FRAM 82,2521 -#define RX_OFLO 83,2563 -#define RX_CRC 84,2606 -#define RX_BUFF 85,2644 -#define RX_STP 86,2685 -#define RX_ENP 87,2728 -#define TX_OWN 94,2834 -#define TX_ERR 95,2891 -#define TX_MORE 96,2935 -#define TX_ONE 97,2995 -#define TX_DEF 98,3047 -#define TX_STP 99,3083 -#define TX_ENP 100,3127 -#define TX_BUFF 106,3228 -#define TX_UFLO 107,3284 -#define TX_LCOL 108,3339 -#define TX_LCAR 109,3385 -#define TX_RTRY 110,3432 -#define TX_TDR 111,3496 -struct init_block init_block120,3660 -struct rmd rmd132,4027 -struct tmd tmd150,4401 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/de620.c,2110 -static const char version[41,1632 -#define DE620_CLONE 73,2605 -#define READ_DELAY 85,2874 -#define WRITE_DELAY 89,2974 -typedef unsigned char byte;byte140,4272 -#define DE620_IO 149,4693 -#define DE620_IRQ 153,4774 -#define DATA_PORT 156,4802 -#define STATUS_PORT 157,4837 -#define COMMAND_PORT 158,4878 -#define RUNT 160,4921 -#define GIANT 161,4970 -#define PRINTK(PRINTK164,5081 -#define DE620_DEBUG 166,5136 -#define PRINTK(PRINTK167,5158 -static int bnc;183,5435 -static int utp;184,5451 -static int io 185,5467 -static int irq 186,5494 -static int clone 187,5522 -static unsigned int de620_debug 189,5555 -static spinlock_t de620_lock;191,5603 -#define SCR_DEF 235,7070 -#define TCR_DEF 236,7121 -#define DE620_RX_START_PAGE 237,7180 -#define DEF_NIC_CMD 238,7249 -static volatile byte NIC_Cmd;240,7289 -static volatile byte next_rx_page;241,7319 -static byte first_rx_page;242,7354 -static byte last_rx_page;243,7382 -static byte EIPRegister;244,7409 -static struct nic nic246,7436 -} nic_data;252,7526 -#define de620_tx_buffs(de620_tx_buffs259,7841 -#define de620_flip_ds(de620_flip_ds260,7905 -static int tot_cnt;264,8081 -de620_ready(267,8127 -de620_send_command(282,8388 -de620_put_byte(296,8646 -de620_read_byte(305,8854 -de620_write_block(317,9131 -de620_read_block(356,10138 -de620_set_delay(391,11005 -de620_set_register(415,11392 -de620_get_register(425,11589 -static int de620_open(445,12086 -static int de620_close(472,12564 -static struct net_device_stats *get_stats(486,12823 -static void de620_set_multicast_list(498,13136 -static void de620_timeout(522,13724 -static int de620_start_xmit(535,14105 -de620_interrupt(594,15505 -static int de620_rx_intr(630,16226 - struct header_buf header_buf632,16277 -static int adapter_init(729,19744 -#define CHECK_MASK 777,21157 -#define CHECK_OK 778,21235 -struct net_device * __init de620_probe(816,22287 -#define sendit(sendit927,24914 -static unsigned short __init ReadAWord(929,24992 -static int __init read_eeprom(971,26303 -static struct net_device *de620_dev;1013,27608 -int init_module(1015,27646 -void cleanup_module(1023,27767 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/defxx.c,2231 -static char version[219,10135 -static char version[] __devinitdata 219,10135 -#define DRV_NAME 222,10237 -#define DYNAMIC_BUFFERS 224,10263 -#define SKBUFF_RX_COPYBREAK 226,10290 -#define NEW_SKB_SIZE 231,10445 -static struct net_device *root_dfx_eisa_dev;271,12128 -static inline void dfx_port_write_byte(327,14108 -static inline void dfx_port_read_byte(339,14259 -static inline void dfx_port_write_long(351,14411 -static inline void dfx_port_read_long(363,14563 -static int __devinit dfx_init_one_pci_or_eisa(405,15475 -static int __devinit dfx_init_one(500,17829 -static int __init dfx_eisa_init(505,17966 -static void __devinit dfx_bus_init(561,19338 -static void __devinit dfx_bus_config_check(695,22924 -static int __devinit dfx_driver_init(795,25783 -static int dfx_adap_init(1016,32753 -static int dfx_open(1217,38466 -static int dfx_close(1307,40715 -static void dfx_int_pr_halt_id(1394,42586 -static void dfx_int_type_0_process(1498,45854 -static void dfx_int_common(1643,50379 -static void dfx_interrupt(1713,52476 -static struct net_device_stats *dfx_ctl_get_stats(1811,54973 -static void dfx_ctl_set_multicast_list(1998,66643 -static int dfx_ctl_set_mac_address(2112,70327 -static int dfx_ctl_update_cam(2199,72818 -static int dfx_ctl_update_filters(2282,75080 -static int dfx_hw_dma_cmd_req(2357,77335 -static int dfx_hw_port_ctrl_req(2471,81011 -static void dfx_hw_adap_reset(2555,83151 -static int dfx_hw_adap_state_rd(2603,84072 -static int dfx_hw_dma_uninit(2643,85063 -static void my_skb_align(2669,85632 -static int dfx_rcv_init(2715,86836 -static void dfx_rcv_queue_process(2815,90243 -static int dfx_xmt_queue_pkt(2994,95769 -static int dfx_xmt_done(3187,101760 -static void dfx_rcv_flush(3261,103814 -static inline void dfx_rcv_flush(3277,104171 -static void dfx_xmt_flush(3318,105191 -static void __devexit dfx_remove_one_pci_or_eisa(3365,106752 -static void __devexit dfx_remove_one 3386,107413 -static struct pci_device_id dfx_pci_tbl[3394,107598 -static struct pci_driver dfx_driver 3400,107768 -static int dfx_have_pci;3407,107923 -static int dfx_have_eisa;3408,107948 -static void __exit dfx_eisa_cleanup(3411,107976 -static int __init dfx_init(3427,108238 -static void __exit dfx_cleanup(3445,108634 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ac3200.c,1312 -static const char version[24,783 -#define DRV_NAME 42,1183 -#define AC_NIC_BASE 45,1247 -#define AC_SA_PROM 46,1272 -#define AC_ADDR0 47,1330 -#define AC_ADDR1 48,1391 -#define AC_ADDR2 49,1416 -#define AC_ID_PORT 50,1438 -#define AC_EISA_ID 51,1463 -#define AC_RESET_PORT 52,1493 -#define AC_RESET 53,1521 -#define AC_ENABLE 54,1543 -#define AC_CONFIG 55,1566 -#define AC_IO_EXTENT 57,1621 -static unsigned char config2irqmap[67,1895 -static unsigned char config2irqmap[8] __initdata 67,1895 -static int addrmap[68,1976 -static const char *port_name[70,2079 -#define config2irq(config2irq72,2157 -#define config2mem(config2mem73,2225 -#define config2name(config2name74,2280 -#define AC_START_PG 77,2379 -#define AC_STOP_PG 78,2440 -static int __init do_ac3200_probe(100,3199 -static void cleanup_card(126,3759 -struct net_device * __init ac3200_probe(136,4007 -static int __init ac_probe1(162,4420 -static int ac_open(295,8338 -static void ac_reset_8390(306,8525 -ac_get_8390_hdr(325,9054 -static void ac_block_input(334,9406 -static void ac_block_output(351,10009 -static int ac_close_card(359,10237 -#define MAX_AC32_CARDS 375,10569 -static struct net_device *dev_ac32[376,10636 -static int io[377,10688 -static int irq[378,10719 -static int mem[379,10751 -init_module(390,11183 -cleanup_module(421,11859 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_asstruct.h,611 -# define MO(MO9,147 -# define VMO(VMO10,169 -# define BEGIN_STRUCT(BEGIN_STRUCT12,193 -# define S1A(S1A13,225 -# define S2A(S2A14,287 -# define S4A(S4A15,349 -# define WORD(WORD16,411 -# define WORDA(WORDA17,467 -# define VWORD(VWORD18,529 -# define S1(S119,585 -# define S2(S220,641 -# define S4(S421,697 -# define END_STRUCT(END_STRUCT22,753 -#define VMO(VMO26,818 -# define BEGIN_STRUCT(BEGIN_STRUCT28,864 -# define S1(S129,900 -# define S1A(S1A30,931 -# define S2(S231,965 -# define S2A(S2A32,996 -# define S4(S433,1030 -# define S4A(S4A34,1061 -# define END_STRUCT(END_STRUCT35,1095 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ni52.h,3074 -#define NI52_RESET 15,402 -#define NI52_ATTENTION 16,477 -#define NI52_TENA 17,541 -#define NI52_TDIS 18,605 -#define NI52_INTENA 19,650 -#define NI52_INTDIS 20,699 -#define NI52_MAGIC1 21,749 -#define NI52_MAGIC2 22,802 -#define NI52_MAGICVAL1 24,856 -#define NI52_MAGICVAL2 25,920 -#define SCP_DEFAULT_ADDRESS 30,1012 -struct scp_structscp_struct37,1098 -struct iscp_structiscp_struct51,1446 -struct scb_structscb_struct62,1773 -#define RUC_MASK 79,2406 -#define RUC_NOP 80,2457 -#define RUC_START 81,2499 -#define RUC_RESUME 82,2539 -#define RUC_SUSPEND 83,2595 -#define RUC_ABORT 84,2639 -#define CUC_MASK 86,2708 -#define CUC_NOP 87,2764 -#define CUC_START 88,2812 -#define CUC_RESUME 89,2885 -#define CUC_SUSPEND 90,2942 -#define CUC_ABORT 91,2989 -#define ACK_MASK 93,3062 -#define ACK_CX 94,3119 -#define ACK_FR 95,3176 -#define ACK_CNA 96,3225 -#define ACK_RNR 97,3275 -#define STAT_MASK 102,3379 -#define STAT_CX 103,3443 -#define STAT_FR 104,3514 -#define STAT_CNA 105,3580 -#define STAT_RNR 106,3637 -#define CU_STATUS 108,3694 -#define CU_SUSPEND 109,3748 -#define CU_ACTIVE 110,3800 -#define RU_STATUS 112,3850 -#define RU_SUSPEND 113,3897 -#define RU_NOSPACE 114,3940 -#define RU_READY 115,3986 -struct rfd_structrfd_struct120,4068 -#define RFD_LAST 134,4629 -#define RFD_SUSP 135,4688 -#define RFD_COMPL 136,4744 -#define RFD_OK 137,4770 -#define RFD_BUSY 138,4796 -#define RFD_ERR_LEN 139,4822 -#define RFD_ERR_CRC 140,4899 -#define RFD_ERR_ALGN 141,4945 -#define RFD_ERR_RNR 142,4997 -#define RFD_ERR_OVR 143,5067 -#define RFD_ERR_FTS 145,5117 -#define RFD_ERR_NEOP 146,5166 -#define RFD_ERR_TRUN 147,5235 -#define RFD_MATCHADD 148,5316 -#define RFD_COLLDET 149,5406 -struct rbd_struct rbd_struct154,5519 -#define RBD_LAST 163,5828 -#define RBD_USED 164,5870 -#define RBD_MASK 165,5921 -#define STAT_COMPL 170,6013 -#define STAT_BUSY 171,6081 -#define STAT_OK 172,6145 -#define CMD_NOP 177,6234 -#define CMD_IASETUP 178,6268 -#define CMD_CONFIGURE 179,6331 -#define CMD_MCSETUP 180,6384 -#define CMD_XMIT 181,6434 -#define CMD_TDR 182,6481 -#define CMD_DUMP 183,6551 -#define CMD_DIAGNOSE 184,6594 -#define CMD_LAST 189,6676 -#define CMD_SUSPEND 190,6740 -#define CMD_INT 191,6798 -struct nop_cmd_structnop_cmd_struct196,6888 -struct iasetup_cmd_struct iasetup_cmd_struct206,7134 -struct configure_cmd_structconfigure_cmd_struct217,7305 -struct mcsetup_cmd_struct mcsetup_cmd_struct239,8191 -struct dump_cmd_structdump_cmd_struct251,8459 -struct transmit_cmd_struct transmit_cmd_struct262,8665 -#define TCMD_ERRMASK 272,8979 -#define TCMD_MAXCOLLMASK 273,9011 -#define TCMD_MAXCOLL 274,9043 -#define TCMD_HEARTBEAT 275,9075 -#define TCMD_DEFERRED 276,9107 -#define TCMD_UNDERRUN 277,9139 -#define TCMD_LOSTCTS 278,9171 -#define TCMD_NOCARRIER 279,9203 -#define TCMD_LATECOLL 280,9235 -struct tdr_cmd_structtdr_cmd_struct282,9268 -#define TDR_LNK_OK 290,9403 -#define TDR_XCVR_PRB 291,9462 -#define TDR_ET_OPN 292,9528 -#define TDR_ET_SRT 293,9589 -#define TDR_TIMEMASK 294,9650 -struct tbd_structtbd_struct299,9752 -#define TBD_LAST 306,9946 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/saa9730.c,1736 -int lan_saa9730_debug 46,1567 -int lan_saa9730_debug;48,1616 -#define DRV_MODULE_NAME 51,1647 -static struct pci_device_id saa9730_pci_tbl[53,1682 -static unsigned int pci_irq_line;62,1960 -#define INL(INL64,1995 -#define OUTL(OUTL65,2036 -static void evm_saa9730_enable_lan_int(67,2081 -static void evm_saa9730_disable_lan_int(76,2512 -static void evm_saa9730_clear_lan_int(84,2817 -static void evm_saa9730_block_lan_int(89,2953 -static void evm_saa9730_unblock_lan_int(95,3141 -static void show_saa9730_regs(101,3330 -static void lan_saa9730_buffer_init(194,7462 -static int lan_saa9730_allocate_buffers(217,8006 -static int lan_saa9730_cam_load(311,10634 -static int lan_saa9730_cam_init(329,11156 -static int lan_saa9730_mii_init(344,11519 -static int lan_saa9730_control_init(454,14047 -static int lan_saa9730_stop(490,15169 -static int lan_saa9730_dma_init(522,15958 -static int lan_saa9730_start(533,16170 -static int lan_saa9730_restart(565,17090 -static int lan_saa9730_tx(573,17217 -static int lan_saa9730_rx(650,19268 -static irqreturn_t lan_saa9730_interrupt(766,22396 -static int lan_saa9730_open_fail(797,23261 -static int lan_saa9730_open(802,23340 -static int lan_saa9730_write(826,23888 -static void lan_saa9730_tx_timeout(880,25332 -static int lan_saa9730_start_xmit(895,25712 -static int lan_saa9730_close(933,26531 -static struct net_device_stats *lan_saa9730_get_stats(955,26964 -static void lan_saa9730_set_multicast(964,27161 -static void __devexit saa9730_remove_one(994,27892 -static int lan_saa9730_init(1012,28291 -static int __devinit saa9730_init_one(1105,30397 -static struct pci_driver saa9730_driver 1161,31546 -static int __init saa9730_init(1169,31756 -static void __exit saa9730_cleanup(1174,31847 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/de600.h,1338 -#define DE600_IO 17,551 -#define DATA_PORT 20,582 -#define STATUS_PORT 21,611 -#define COMMAND_PORT 22,646 -#define DE600_IRQ 25,701 -#define SELECT_NIC 39,990 -#define SELECT_PRN 40,1050 -#define NML_PRN 41,1095 -#define IRQEN 42,1148 -#define RX_BUSY 47,1220 -#define RX_GOOD 48,1242 -#define TX_FAILED16 49,1264 -#define TX_BUSY 50,1289 -#define WRITE_DATA 58,1445 -#define READ_DATA 59,1488 -#define STATUS 60,1529 -#define COMMAND 61,1578 -#define NULL_COMMAND 62,1649 -#define RX_LEN 63,1694 -#define TX_ADDR 64,1750 -#define RW_ADDR 65,1814 -#define HI_NIBBLE 66,1880 -#define RX_ALL 72,2056 -#define RX_BP 73,2095 -#define RX_MBP 74,2159 -#define TX_ENABLE 76,2227 -#define RX_ENABLE 77,2262 -#define RESET 79,2298 -#define STOP_RESET 80,2339 -#define RX_PAGE2_SELECT 86,2458 -#define RX_BASE_PAGE 87,2523 -#define FLIP_IRQ 88,2597 -#define MEM_2K 101,2971 -#define MEM_4K 102,3005 -#define MEM_6K 103,3039 -#define NODE_ADDRESS 104,3073 -#define RUNT 106,3113 -#define select_prn(select_prn140,4351 -#define select_nic(select_nic141,4422 -#define de600_put_byte(de600_put_byte144,4561 -#define de600_put_command(de600_put_command152,4864 -#define de600_setup_address(de600_setup_address158,5178 -#define rx_page_adr(rx_page_adr164,5480 -#define next_rx_page(next_rx_page167,5580 -#define tx_page_adr(tx_page_adr169,5633 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/com20020_cs.c,938 -#define VERSION 55,1677 -static int pc_debug 59,1759 -#define DEBUG(DEBUG61,1823 -static void regdump(63,1892 -#define DEBUG(DEBUG96,2576 -static inline void regdump(97,2619 -static int node;106,2806 -static int timeout 107,2823 -static int backplane;108,2847 -static int clockp;109,2869 -static int clockm;110,2888 -static u_int irq_mask 119,3084 -static int irq_list[120,3116 -static dev_info_t dev_info 133,3511 -static dev_link_t *dev_list;138,3642 -typedef struct com20020_dev_t com20020_dev_t142,3746 -} com20020_dev_t;com20020_dev_t145,3842 -static dev_link_t *com20020_attach(155,4172 -static void com20020_detach(247,6833 -#define CS_CHECK(CS_CHECK311,8270 -static void com20020_config(314,8377 -static void com20020_release(427,11370 -static int com20020_event(450,12087 -static struct pcmcia_driver com20020_cs_driver 499,13407 -static int __init init_com20020_cs(508,13584 -static void __exit exit_com20020_cs(513,13683 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/fmvj18x_cs.c,3969 -#define DRV_NAME 31,1091 -#define DRV_VERSION 32,1121 -#define INT_MODULE_PARM(INT_MODULE_PARM70,2013 -static int irq_list[75,2225 -#define DEBUG(DEBUG84,2457 -static char *version 85,2525 -#define DEBUG(DEBUG87,2596 -static struct ethtool_ops netdev_ethtool_ops;116,3742 -static dev_info_t dev_info 118,3789 -static dev_link_t *dev_list;119,3832 -typedef enum { MBH10302,124,3883 -typedef enum { MBH10302, MBH10304,124,3883 -typedef enum { MBH10302, MBH10304, TDK,124,3883 -typedef enum { MBH10302, MBH10304, TDK, CONTEC,124,3883 -typedef enum { MBH10302, MBH10304, TDK, CONTEC, LA501,124,3883 -typedef enum { MBH10302, MBH10304, TDK, CONTEC, LA501, UNGERMANN,124,3883 - XXX10304125,3950 -} cardtype_t;cardtype_t126,3967 -typedef struct local_info_t local_info_t131,4023 -} local_info_t;local_info_t142,4286 -#define MC_FILTERBREAK 144,4303 -#define TX_STATUS 150,4452 -#define RX_STATUS 151,4517 -#define TX_INTR 152,4581 -#define RX_INTR 153,4654 -#define TX_MODE 154,4726 -#define RX_MODE 155,4789 -#define CONFIG_0 156,4851 -#define CONFIG_1 157,4916 -#define NODE_ID 159,4982 -#define MAR_ADR 160,5059 -#define DATAPORT 162,5137 -#define TX_START 163,5214 -#define COL_CTRL 164,5278 -#define BMPR12 165,5348 -#define BMPR13 166,5397 -#define RX_SKIP 167,5446 -#define LAN_CTRL 169,5517 -#define MAC_ID 171,5584 -#define UNGERMANN_MAC_ID 172,5641 -#define ENA_TMT_OK 177,5740 -#define ENA_TMT_REC 178,5774 -#define ENA_COL 179,5808 -#define ENA_16_COL 180,5842 -#define ENA_TBUS_ERR 181,5876 -#define ENA_PKT_RDY 183,5911 -#define ENA_BUS_ERR 184,5945 -#define ENA_LEN_ERR 185,5979 -#define ENA_ALG_ERR 186,6013 -#define ENA_CRC_ERR 187,6047 -#define ENA_OVR_FLO 188,6081 -#define F_TMT_RDY 191,6128 -#define F_NET_BSY 192,6190 -#define F_TMT_OK 193,6250 -#define F_SRT_PKT 194,6315 -#define F_COL_ERR 195,6374 -#define F_16_COL 196,6430 -#define F_TBUS_ERR 197,6489 -#define F_PKT_RDY 199,6545 -#define F_BUS_ERR 200,6605 -#define F_LEN_ERR 201,6660 -#define F_ALG_ERR 202,6713 -#define F_CRC_ERR 203,6765 -#define F_OVR_FLO 204,6815 -#define F_BUF_EMP 206,6871 -#define F_SKP_PKT 208,6936 -#define D_TX_INTR 211,7021 -#define D_RX_INTR 212,7055 -#define TX_STAT_M 214,7153 -#define RX_STAT_M 215,7186 -#define D_TX_MODE 219,7304 -#define ID_MATCHED 220,7369 -#define RECV_ALL 221,7419 -#define CONFIG0_DFL 222,7469 -#define CONFIG0_DFL_1 223,7537 -#define CONFIG0_RST 224,7605 -#define CONFIG0_RST_1 225,7681 -#define BANK_0 226,7757 -#define BANK_1 227,7815 -#define BANK_2 228,7873 -#define CHIP_OFF 229,7931 -#define DO_TX 230,8004 -#define SEND_PKT 231,8063 -#define AUTO_MODE 232,8117 -#define MANU_MODE 233,8193 -#define TDK_AUTO_MODE 234,8264 -#define TDK_MANU_MODE 235,8340 -#define INTR_OFF 236,8411 -#define INTR_ON 237,8485 -#define TX_TIMEOUT 239,8563 -#define BANK_0U 241,8600 -#define BANK_1U 242,8658 -#define BANK_2U 243,8716 -static dev_link_t *fmvj18x_attach(245,8775 -static void fmvj18x_detach(322,11098 -#define CS_CHECK(CS_CHECK352,11831 -static int mfc_try_io_port(355,11938 -static int ungermann_try_io_port(373,12435 -static void fmvj18x_config(394,12976 -static int fmvj18x_get_hwinfo(622,19862 -static int fmvj18x_setup_mfc(675,21217 -static void fmvj18x_release(718,22497 -static int fmvj18x_event(734,22955 -static struct pcmcia_driver fmvj18x_cs_driver 778,24045 -static int __init init_fmvj18x_cs(787,24218 -static void __exit exit_fmvj18x_cs(792,24315 -static irqreturn_t fjn_interrupt(804,24597 -static void fjn_tx_timeout(864,26240 -static int fjn_start_xmit(894,27214 -static void fjn_reset(968,29069 -static void fjn_rx(1054,31310 -static void netdev_get_drvinfo(1151,34018 -static u32 netdev_get_msglevel(1160,34266 -static void netdev_set_msglevel(1165,34344 -static struct ethtool_ops netdev_ethtool_ops 1171,34461 -static int fjn_config(1179,34675 -static int fjn_open(1183,34758 -static int fjn_close(1208,35267 -static struct net_device_stats *fjn_get_stats(1241,36092 -static void set_rx_mode(1253,36387 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/ibmtr_cs.c,983 -#define PCMCIA70,2269 -static int pc_debug 74,2337 -#define DEBUG(DEBUG76,2401 -static char *version 77,2469 -#define DEBUG(DEBUG82,2673 -static u_int irq_mask 90,2872 -static int irq_list[91,2904 -static u_long mmiobase 94,2962 -static u_long srambase 97,3021 -static u_long sramsize 100,3083 -static int ringspeed 103,3134 -static dev_info_t dev_info 121,3695 -static dev_link_t *dev_list;126,3817 -typedef struct ibmtr_dev_t ibmtr_dev_t133,4055 -} ibmtr_dev_t;ibmtr_dev_t139,4230 -static void netdev_get_drvinfo(141,4246 -static struct ethtool_ops netdev_ethtool_ops 147,4381 -static dev_link_t *ibmtr_attach(159,4779 -static void ibmtr_detach(239,7131 -#define CS_CHECK(CS_CHECK282,8238 -static void ibmtr_config(285,8345 -static void ibmtr_release(403,12279 -static int ibmtr_event(432,13190 -static void ibmtr_hw_setup(483,14661 -static struct pcmcia_driver ibmtr_cs_driver 524,15748 -static int __init init_ibmtr_cs(533,15913 -static void __exit exit_ibmtr_cs(538,16006 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/pcnet_cs.c,3654 -#define PCNET_CMD 56,1914 -#define PCNET_DATAPORT 57,1937 -#define PCNET_RESET 58,2007 -#define PCNET_MISC 59,2079 -#define PCNET_START_PG 61,2143 -#define PCNET_STOP_PG 62,2201 -#define SOCKET_START_PG 65,2309 -#define SOCKET_STOP_PG 66,2338 -#define PCNET_RDC_TIMEOUT 68,2367 -static char *if_names[70,2442 -static int pc_debug 73,2522 -#define DEBUG(DEBUG75,2586 -static char *version 76,2654 -#define DEBUG(DEBUG79,2737 -#define INT_MODULE_PARM(INT_MODULE_PARM90,3020 -static int irq_list[94,3167 -static int hw_addr[106,3692 -static struct ethtool_ops netdev_ethtool_ops;119,4235 -static dev_info_t dev_info 132,4780 -static dev_link_t *dev_list;133,4821 -typedef struct hw_info_t hw_info_t137,4925 -} hw_info_t;hw_info_t141,5010 -#define DELAY_OUTPUT 143,5024 -#define HAS_MISC_REG 144,5050 -#define USE_BIG_BUF 145,5076 -#define HAS_IBM_MISC 146,5101 -#define IS_DL10019 147,5127 -#define IS_DL10022 148,5151 -#define HAS_MII 149,5175 -#define USE_SHMEM 150,5197 -#define AM79C9XX_HOME_PHY 152,5240 -#define AM79C9XX_ETH_PHY 153,5296 -#define MII_PHYID_REV_MASK 154,5351 -#define MII_PHYID_REG1 155,5389 -#define MII_PHYID_REG2 156,5418 -static hw_info_t hw_info[158,5448 -#define NR_INFO 220,8505 -static hw_info_t default_info 222,8559 -static hw_info_t dl10019_info 223,8610 -static hw_info_t dl10022_info 224,8678 -typedef struct pcnet_dev_t pcnet_dev_t226,8747 -} pcnet_dev_t;pcnet_dev_t237,9016 -static inline pcnet_dev_t *PRIV(239,9032 -static dev_link_t *pcnet_attach(253,9485 -static void pcnet_detach(316,11401 -static hw_info_t *get_hwinfo(350,12252 -static hw_info_t *get_prom(399,13749 -static hw_info_t *get_dl10019(453,15385 -static hw_info_t *get_ax88190(475,15991 -static hw_info_t *get_hwired(508,17090 -#define CS_CHECK(CS_CHECK532,17714 -static int try_io_port(535,17821 -static void pcnet_config(565,18693 -static void pcnet_release(773,25179 -static int pcnet_event(799,25976 -#define DLINK_GPIO 853,27438 -#define DLINK_DIAG 854,27463 -#define DLINK_EEPROM 855,27488 -#define MDIO_SHIFT_CLK 857,27516 -#define MDIO_DATA_OUT 858,27545 -#define MDIO_DIR_WRITE 859,27573 -#define MDIO_DATA_WRITE0 860,27602 -#define MDIO_DATA_WRITE1 861,27644 -#define MDIO_DATA_READ 862,27702 -#define MDIO_MASK 863,27731 -static void mdio_sync(865,27756 -static int mdio_read(874,27981 -static void mdio_write(893,28518 -static void mdio_reset(910,28981 -#define EE_EEP 925,29368 -#define EE_ASIC 926,29389 -#define EE_CS 927,29411 -#define EE_CK 928,29431 -#define EE_DO 929,29451 -#define EE_DI 930,29471 -#define EE_ADOT 931,29491 -#define EE_READ_CMD 932,29536 -#define DL19FDUPLX 934,29562 -static int read_eeprom(936,29620 -static void write_asic(970,30526 -static void set_misc_reg(1013,31668 -static void mii_phy_probe(1044,32547 -static int pcnet_open(1068,33182 -static int pcnet_close(1096,33881 -static void pcnet_reset_8390(1120,34509 -static int set_config(1147,35206 -static irqreturn_t ei_irq_wrapper(1165,35743 -static void ei_watchdog(1176,36021 -static void netdev_get_drvinfo(1267,39015 -static struct ethtool_ops netdev_ethtool_ops 1273,39150 -static int ei_ioctl(1280,39315 -static void dma_get_8390_hdr(1302,39978 -static void dma_block_input(1334,41038 -static void dma_block_output(1389,43006 -static int setup_dma_config(1475,45537 -static void copyin(1494,46059 -static void copyout(1511,46408 -static void shmem_get_8390_hdr(1530,46847 -static void shmem_block_input(1544,47305 -static void shmem_block_output(1565,47998 -static int setup_shmem_window(1575,48331 -static struct pcmcia_driver pcnet_driver 1644,50548 -static int __init init_pcnet_cs(1653,50710 -static void __exit exit_pcnet_cs(1658,50803 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/smc91c92_cs.c,6347 -static char *if_names[62,1988 -#define INT_MODULE_PARM(INT_MODULE_PARM69,2160 -static int irq_list[81,2457 -static const char *version 86,2583 -#define DEBUG(DEBUG88,2678 -#define DEBUG(DEBUG90,2752 -#define DRV_NAME 93,2786 -#define DRV_VERSION 94,2817 -#define TX_TIMEOUT 101,3027 -#define INTR_WORK 104,3133 -#define MEMORY_WAIT_TIME 108,3275 -static dev_info_t dev_info 110,3310 -static dev_link_t *dev_list;112,3355 -struct smc_private smc_private114,3385 -#define MEGAHERTZ_ISR 136,3927 -#define MOT_LAN 139,4012 -#define MOT_UART 140,4037 -#define MOT_EEPROM 141,4062 -#define MOT_NORMAL 143,4088 -#define OSITECH_AUI_CTL 147,4225 -#define OSITECH_PWRDOWN 148,4255 -#define OSITECH_RESET 149,4285 -#define OSITECH_ISR 150,4313 -#define OSITECH_AUI_PWR 151,4339 -#define OSITECH_RESET_ISR 152,4369 -#define OSI_AUI_PWR 154,4401 -#define OSI_LAN_PWRDOWN 155,4427 -#define OSI_MODEM_PWRDOWN 156,4457 -#define OSI_LAN_RESET 157,4488 -#define OSI_MODEM_RESET 158,4516 -#define BANK_SELECT 161,4623 -#define SMC_SELECT_BANK(SMC_SELECT_BANK162,4678 -#define TCR 165,4766 -#define TCR_CLEAR 166,4814 -#define TCR_ENABLE 167,4852 -#define TCR_PAD_EN 168,4915 -#define TCR_MONCSN 169,4979 -#define TCR_FDUPLX 170,5030 -#define TCR_NORMAL 171,5082 -#define EPH 173,5127 -#define EPH_TX_SUC 174,5182 -#define EPH_SNGLCOL 175,5209 -#define EPH_MULCOL 176,5237 -#define EPH_LTX_MULT 177,5264 -#define EPH_16COL 178,5293 -#define EPH_SQET 179,5319 -#define EPH_LTX_BRD 180,5344 -#define EPH_TX_DEFR 181,5372 -#define EPH_LAT_COL 182,5400 -#define EPH_LOST_CAR 183,5428 -#define EPH_EXC_DEF 184,5457 -#define EPH_CTR_ROL 185,5485 -#define EPH_RX_OVRN 186,5513 -#define EPH_LINK_OK 187,5541 -#define EPH_TX_UNRN 188,5569 -#define MEMINFO 189,5597 -#define MEMCFG 190,5650 -#define CONFIG 193,5730 -#define CFG_MII_SELECT 194,5749 -#define CFG_NO_WAIT 195,5799 -#define CFG_FULL_STEP 196,5828 -#define CFG_SET_SQLCH 197,5859 -#define CFG_AUI_SELECT 198,5890 -#define CFG_16BIT 199,5923 -#define CFG_DIS_LINK 200,5950 -#define CFG_STATIC 201,5980 -#define CFG_IRQ_SEL_1 202,6008 -#define CFG_IRQ_SEL_0 203,6039 -#define BASE_ADDR 204,6070 -#define ADDR0 205,6091 -#define GENERAL 206,6109 -#define CONTROL 207,6130 -#define CTL_STORE 208,6151 -#define CTL_RELOAD 209,6178 -#define CTL_EE_SELECT 210,6206 -#define CTL_TE_ENABLE 211,6237 -#define CTL_CR_ENABLE 212,6268 -#define CTL_LE_ENABLE 213,6299 -#define CTL_AUTO_RELEASE 214,6330 -#define CTL_POWERDOWN 215,6363 -#define MMU_CMD 218,6419 -#define MC_ALLOC 219,6438 -#define MC_RESET 220,6504 -#define MC_RELEASE 221,6527 -#define MC_FREEPKT 222,6603 -#define MC_ENQUEUE 223,6669 -#define PNR_ARR 224,6733 -#define FIFO_PORTS 225,6752 -#define FP_RXEMPTY 226,6773 -#define POINTER 227,6800 -#define PTR_AUTO_INC 228,6819 -#define PTR_READ 229,6848 -#define PTR_AUTOINC 230,6873 -#define PTR_RCV 231,6902 -#define DATA_1 232,6926 -#define INTERRUPT 233,6944 -#define IM_RCV_INT 234,6965 -#define IM_TX_INT 235,6990 -#define IM_TX_EMPTY_INT 236,7014 -#define IM_ALLOC_INT 237,7043 -#define IM_RX_OVRN_INT 238,7070 -#define IM_EPH_INT 239,7100 -#define RCR 241,7127 -enum RxCfg RxCfg242,7142 -enum RxCfg { RxAllMulti 242,7142 -enum RxCfg { RxAllMulti = 0x0004,242,7142 -enum RxCfg { RxAllMulti = 0x0004, RxPromisc 242,7142 -enum RxCfg { RxAllMulti = 0x0004, RxPromisc = 0x0002,242,7142 - RxEnable 243,7196 - RxEnable = 0x0100,243,7196 - RxEnable = 0x0100, RxStripCRC 243,7196 - RxEnable = 0x0100, RxStripCRC = 0x0200}243,7196 -#define RCR_SOFTRESET 244,7243 -#define RCR_STRIP_CRC 245,7296 -#define RCR_ENABLE 246,7342 -#define RCR_ALMUL 247,7414 -#define RCR_PROMISC 248,7474 -#define RCR_NORMAL 251,7579 -#define RCR_CLEAR 252,7628 -#define COUNTER 253,7681 -#define MULTICAST0 256,7752 -#define MULTICAST2 257,7773 -#define MULTICAST4 258,7794 -#define MULTICAST6 259,7815 -#define MGMT 260,7836 -#define REVISION 261,7855 -#define TS_SUCCESS 264,7906 -#define TS_16COL 265,7932 -#define TS_LATCOL 266,7958 -#define TS_LOSTCAR 267,7984 -#define RS_ALGNERR 270,8038 -#define RS_BADCRC 271,8064 -#define RS_ODDFRAME 272,8089 -#define RS_TOOLONG 273,8116 -#define RS_TOOSHORT 274,8142 -#define RS_MULTICAST 275,8169 -#define RS_ERRORS 276,8197 -#define set_bits(set_bits278,8268 -#define mask_bits(mask_bits279,8313 -static dev_link_t *smc91c92_attach(316,9988 -static void smc91c92_detach(401,12689 -static int cvt_ascii_address(430,13368 -static int first_tuple(451,13783 -static int next_tuple(462,14070 -static int mhz_3288_power(484,14759 -static int mhz_mfc_config(506,15277 -static int mhz_setup(571,17322 -static void mot_config(619,18843 -static int mot_setup(640,19671 -static int smc_config(674,20449 -static int smc_setup(705,21347 -static int osi_config(748,22575 -static int osi_setup(781,23516 -static int check_sig(837,25314 -#define CS_EXIT_TEST(CS_EXIT_TEST891,26844 -static void smc91c92_config(894,26958 -static void smc91c92_release(1076,32033 -static int smc91c92_event(1103,32862 -#define MDIO_SHIFT_CLK 1175,34993 -#define MDIO_DATA_OUT 1176,35022 -#define MDIO_DIR_WRITE 1177,35050 -#define MDIO_DATA_WRITE0 1178,35079 -#define MDIO_DATA_WRITE1 1179,35121 -#define MDIO_DATA_READ 1180,35179 -static void mdio_sync(1182,35209 -static int mdio_read(1191,35390 -static void mdio_write(1211,35925 -static void smc_dump(1237,36650 -static int smc_open(1253,37021 -static int smc_close(1290,37974 -static void smc_hardware_send_packet(1327,39089 -static void smc_tx_timeout(1392,41110 -static int smc_start_xmit(1407,41536 -static void smc_tx_err(1473,43506 -static void smc_eph_irq(1517,44798 -static irqreturn_t smc_interrupt(1551,45992 -static void smc_rx(1670,49530 -static struct net_device_stats *smc_get_stats(1738,51487 -static void fill_multicast_tbl(1751,51918 -static void set_rx_mode(1777,52794 -static int s9k_config(1817,54077 -static void smc_set_xcvr(1843,54847 -static void smc_reset(1867,55670 -static void media_check(1942,57999 -static int smc_link_ok(2056,61231 -static int smc_netdev_get_ecmd(2069,61530 -static int smc_netdev_set_ecmd(2091,62136 -static int smc_ethtool_ioctl 2121,62830 -static int smc_ioctl 2215,65019 -static struct pcmcia_driver smc91c92_cs_driver 2248,65763 -static int __init init_smc91c92_cs(2257,65940 -static void __exit exit_smc91c92_cs(2262,66039 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/3c574_cs.c,5750 -#define INT_MODULE_PARM(INT_MODULE_PARM110,3410 -static int irq_list[114,3560 -#define DEBUG(DEBUG128,3939 -static char *version 129,4007 -#define DEBUG(DEBUG132,4116 -#define TX_TIMEOUT 138,4289 -#define EL3_DATA 144,4567 -#define EL3_CMD 145,4589 -#define EL3_STATUS 146,4611 -#define EL3WINDOW(EL3WINDOW148,4636 -enum el3_cmds el3_cmds152,4826 - TotalReset 153,4842 - TotalReset = 0<<11, SelectWindow 153,4842 - TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax 153,4842 - RxDisable 154,4904 - RxDisable = 3<<11, RxEnable 154,4904 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset 154,4904 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset = 5<<11, RxDiscard 154,4904 - TxEnable 155,4978 - TxEnable = 9<<11, TxDisable 155,4978 - TxEnable = 9<<11, TxDisable = 10<<11, TxReset 155,4978 - FakeIntr 156,5035 - FakeIntr = 12<<11, AckIntr 156,5035 - FakeIntr = 12<<11, AckIntr = 13<<11, SetIntrEnb 156,5035 - SetStatusEnb 157,5094 - SetStatusEnb = 15<<11, SetRxFilter 157,5094 - SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold 157,5094 - SetTxThreshold 158,5165 - SetTxThreshold = 18<<11, SetTxStart 158,5165 - SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable 158,5165 - StatsDisable 159,5234 - StatsDisable = 22<<11, StopCoax 159,5234 -enum elxl_status elxl_status162,5281 - IntLatch 163,5300 - IntLatch = 0x0001,163,5300 - IntLatch = 0x0001, AdapterFailure 163,5300 - IntLatch = 0x0001, AdapterFailure = 0x0002,163,5300 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete 163,5300 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004,163,5300 - TxAvailable 164,5366 - TxAvailable = 0x0008,164,5366 - TxAvailable = 0x0008, RxComplete 164,5366 - TxAvailable = 0x0008, RxComplete = 0x0010,164,5366 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly 164,5366 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020,164,5366 - IntReq 165,5428 - IntReq = 0x0040,165,5428 - IntReq = 0x0040, StatsFull 165,5428 - IntReq = 0x0040, StatsFull = 0x0080,165,5428 - IntReq = 0x0040, StatsFull = 0x0080, CmdBusy 165,5428 - IntReq = 0x0040, StatsFull = 0x0080, CmdBusy = 0x1000 165,5428 -enum RxFilter RxFilter168,5548 - RxStation 169,5564 - RxStation = 1, RxMulticast 169,5564 - RxStation = 1, RxMulticast = 2, RxBroadcast 169,5564 - RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm 169,5564 -enum Window0 Window0172,5629 - Wn0EepromCmd 173,5644 - Wn0EepromCmd = 10, Wn0EepromData 173,5644 - IntrStatus=174,5720 - IntrStatus=0x0E,174,5720 -enum Win0_EEPROM_cmds Win0_EEPROM_cmds177,5809 - EEPROM_Read 178,5833 - EEPROM_Read = 0x200,178,5833 - EEPROM_Read = 0x200, EEPROM_WRITE 178,5833 - EEPROM_Read = 0x200, EEPROM_WRITE = 0x100,178,5833 - EEPROM_Read = 0x200, EEPROM_WRITE = 0x100, EEPROM_ERASE 178,5833 - EEPROM_Read = 0x200, EEPROM_WRITE = 0x100, EEPROM_ERASE = 0x300,178,5833 - EEPROM_EWENB 179,5899 - EEPROM_EWENB = 0x30,179,5899 - EEPROM_EWDIS 180,5964 - EEPROM_EWDIS = 0x00,180,5964 -enum Window1 Window1186,6232 - TX_FIFO 187,6247 - TX_FIFO = 0x10,187,6247 - TX_FIFO = 0x10, RX_FIFO 187,6247 - TX_FIFO = 0x10, RX_FIFO = 0x10,187,6247 - TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors 187,6247 - TX_FIFO = 0x10, RX_FIFO = 0x10, RxErrors = 0x14,187,6247 - RxStatus 188,6299 - RxStatus = 0x18,188,6299 - RxStatus = 0x18, Timer=188,6299 - RxStatus = 0x18, Timer=0x1A,188,6299 - RxStatus = 0x18, Timer=0x1A, TxStatus 188,6299 - RxStatus = 0x18, Timer=0x1A, TxStatus = 0x1B,188,6299 - TxFree 189,6347 - TxFree = 0x0C,189,6347 - RunnerRdCtrl 190,6404 - RunnerRdCtrl = 0x16,190,6404 - RunnerRdCtrl = 0x16, RunnerWrCtrl 190,6404 - RunnerRdCtrl = 0x16, RunnerWrCtrl = 0x1c,190,6404 -enum Window3 Window3193,6451 - Wn3_Config=194,6501 - Wn3_Config=0, Wn3_MAC_Ctrl=194,6501 - Wn3_Config=0, Wn3_MAC_Ctrl=6, Wn3_Options=194,6501 -union wn3_config wn3_config196,6550 - struct w3_config_fields w3_config_fields198,6577 -enum Window4 Window4206,6776 - Wn4_FIFODiag 207,6825 - Wn4_FIFODiag = 4, Wn4_NetDiag 207,6825 - Wn4_FIFODiag = 4, Wn4_NetDiag = 6, Wn4_PhysicalMgmt=207,6825 - Wn4_FIFODiag = 4, Wn4_NetDiag = 6, Wn4_PhysicalMgmt=8, Wn4_Media 207,6825 -#define MEDIA_TP 210,6901 -struct el3_private el3_private212,6973 -static char mii_preamble_required 230,7668 -static struct ethtool_ops netdev_ethtool_ops;256,8883 -static dev_info_t dev_info 259,8979 -static dev_link_t *dev_list;264,9101 -static dev_link_t *tc574_attach(272,9288 -static void tc574_detach(352,11536 -#define CS_CHECK(CS_CHECK385,12274 -static char *ram_split[388,12383 -static void tc574_config(390,12441 -static void tc574_release(555,17145 -static int tc574_event(573,17632 -static void dump_status(617,18689 -static void tc574_wait_for_completion(635,19243 -static unsigned short read_eeprom(648,19665 -#define MDIO_SHIFT_CLK 667,20296 -#define MDIO_DIR_WRITE 668,20324 -#define MDIO_DATA_WRITE0 669,20352 -#define MDIO_DATA_WRITE1 670,20401 -#define MDIO_DATA_READ 671,20450 -#define MDIO_ENB_IN 672,20478 -static void mdio_sync(676,20603 -static int mdio_read(687,20877 -static void mdio_write(712,21629 -static void tc574_reset(737,22312 -static int el3_open(818,24830 -static void el3_tx_timeout(841,25296 -static void pop_tx_status(856,25712 -static int el3_start_xmit(880,26370 -static irqreturn_t el3_interrupt(912,27299 -static void media_check(1005,29891 -static struct net_device_stats *el3_get_stats(1078,32030 -static void update_stats(1095,32515 -static int el3_rx(1132,33637 -static void netdev_get_drvinfo(1183,35168 -static struct ethtool_ops netdev_ethtool_ops 1189,35303 -static int el3_ioctl(1194,35452 -static void set_rx_mode(1249,37182 -static int el3_close(1262,37594 -static struct pcmcia_driver tc574_driver 1294,38361 -static int __init init_tc574(1303,38523 -static void __exit exit_tc574(1308,38610 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/axnet_cs.c,2743 -#define AXNET_CMD 53,1716 -#define AXNET_DATAPORT 54,1739 -#define AXNET_RESET 55,1809 -#define AXNET_MII_EEP 56,1881 -#define AXNET_TEST 57,1940 -#define AXNET_GPIO 58,1999 -#define AXNET_START_PG 60,2070 -#define AXNET_STOP_PG 61,2128 -#define AXNET_RDC_TIMEOUT 63,2186 -#define IS_AX88190 65,2255 -#define IS_AX88790 66,2281 -#define INT_MODULE_PARM(INT_MODULE_PARM76,2552 -static int irq_list[80,2699 -#define DEBUG(DEBUG85,2825 -static char *version 86,2893 -#define DEBUG(DEBUG89,2975 -static struct ethtool_ops netdev_ethtool_ops;101,3433 -static dev_info_t dev_info 119,4149 -static dev_link_t *dev_list;120,4190 -typedef struct axnet_dev_t axnet_dev_t130,4573 -} axnet_dev_t;axnet_dev_t140,4811 -static inline axnet_dev_t *PRIV(142,4827 -static dev_link_t *axnet_attach(156,5271 -static void axnet_detach(221,7218 -static int get_prom(254,8027 -#define CS_CHECK(CS_CHECK305,9574 -static int try_io_port(308,9681 -static void axnet_config(338,10553 -static void axnet_release(498,15705 -static int axnet_event(518,16361 -#define MDIO_SHIFT_CLK 569,17649 -#define MDIO_DATA_WRITE0 570,17678 -#define MDIO_DATA_WRITE1 571,17708 -#define MDIO_DATA_READ 572,17738 -#define MDIO_MASK 573,17767 -#define MDIO_ENB_IN 574,17791 -static void mdio_sync(576,17818 -static int mdio_read(585,18003 -static void mdio_write(604,18520 -static int axnet_open(623,19035 -static int axnet_close(649,19677 -static void axnet_reset_8390(673,20305 -static irqreturn_t ei_irq_wrapper(699,20979 -static void ei_watchdog(706,21170 -static void netdev_get_drvinfo(765,22879 -static struct ethtool_ops netdev_ethtool_ops 771,23014 -static int axnet_ioctl(777,23178 -static void get_8390_hdr(799,23847 -static void block_input(818,24394 -static void block_output(841,25096 -static struct pcmcia_driver axnet_cs_driver 863,25747 -static int __init init_axnet_cs(872,25912 -static void __exit exit_axnet_cs(877,26005 -static const char *version_8390 936,28162 -#define BUG_83C690947,28417 -#define ei_reset_8390 967,29445 -#define ei_block_output 968,29490 -#define ei_block_input 969,29539 -#define ei_get_8390_hdr 970,29586 -int ei_debug 974,29714 -static int ax_open(1024,31731 -#define dev_lock(dev_lock1053,32593 -int ax_close(1061,32827 -void ei_tx_timeout(1084,33352 -static int ei_start_xmit(1130,34667 -static irqreturn_t ax_interrupt(1264,38439 -static void ei_tx_err(1388,42013 -static void ei_tx_intr(1429,43147 -static void ei_receive(1510,45381 -static void ei_rx_overrun(1628,49195 -static struct net_device_stats *get_stats(1697,51147 -static void do_set_multicast_list(1725,52099 -static void set_multicast_list(1743,52679 -static void axdev_setup(1760,53112 -static void AX88190_init(1790,53819 -static void NS8390_trigger_send(1859,56573 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/nmclan_cs.c,5370 -#define DRV_NAME 114,4224 -#define DRV_VERSION 115,4253 -#define MULTI_TX 122,4475 -#define RESET_ON_TIMEOUT 123,4496 -#define TX_INTERRUPTABLE 124,4524 -#define RESET_XILINX 125,4552 -#define ETHER_ADDR_LEN 164,5593 -#define MACE_LADRF_LEN 166,5669 -#define MACE_MAX_IR_ITERATIONS 170,5769 -#define MACE_MAX_RX_ITERATIONS 171,5804 -#define AM2150_MAX_TX_FRAMES 187,6355 -#define AM2150_MAX_RX_FRAMES 188,6387 -#define AM2150_RCV 191,6460 -#define AM2150_XMT 192,6486 -#define AM2150_XMT_SKIP 193,6512 -#define AM2150_RCV_NEXT 194,6543 -#define AM2150_RCV_FRAME_COUNT 195,6574 -#define AM2150_MACE_BANK 196,6611 -#define AM2150_MACE_BASE 197,6642 -#define MACE_RCVFIFO 200,6695 -#define MACE_XMTFIFO 201,6720 -#define MACE_XMTFC 202,6745 -#define MACE_XMTFS 203,6768 -#define MACE_XMTRC 204,6791 -#define MACE_RCVFC 205,6814 -#define MACE_RCVFS 206,6837 -#define MACE_FIFOFC 207,6860 -#define MACE_IR 208,6884 -#define MACE_IMR 209,6905 -#define MACE_PR 210,6926 -#define MACE_BIUCC 211,6948 -#define MACE_FIFOCC 212,6972 -#define MACE_MACCC 213,6997 -#define MACE_PLSCC 214,7021 -#define MACE_PHYCC 215,7045 -#define MACE_CHIPIDL 216,7069 -#define MACE_CHIPIDH 217,7095 -#define MACE_IAC 218,7121 -#define MACE_LADRF 220,7158 -#define MACE_PADR 221,7182 -#define MACE_MPC 224,7235 -#define MACE_RNTPC 226,7272 -#define MACE_RCVCC 227,7296 -#define MACE_UTR 229,7335 -#define MACE_RTR1 230,7357 -#define MACE_RTR2 231,7380 -#define MACE_XMTRC_EXDEF 234,7425 -#define MACE_XMTRC_XMTRC 235,7456 -#define MACE_XMTFS_XMTSV 237,7488 -#define MACE_XMTFS_UFLO 238,7519 -#define MACE_XMTFS_LCOL 239,7550 -#define MACE_XMTFS_MORE 240,7581 -#define MACE_XMTFS_ONE 241,7612 -#define MACE_XMTFS_DEFER 242,7642 -#define MACE_XMTFS_LCAR 243,7673 -#define MACE_XMTFS_RTRY 244,7704 -#define MACE_RCVFS_RCVSTS 246,7736 -#define MACE_RCVFS_OFLO 247,7770 -#define MACE_RCVFS_CLSN 248,7803 -#define MACE_RCVFS_FRAM 249,7836 -#define MACE_RCVFS_FCS 250,7869 -#define MACE_FIFOFC_RCVFC 252,7902 -#define MACE_FIFOFC_XMTFC 253,7934 -#define MACE_IR_JAB 255,7967 -#define MACE_IR_BABL 256,7994 -#define MACE_IR_CERR 257,8022 -#define MACE_IR_RCVCCO 258,8050 -#define MACE_IR_RNTPCO 259,8080 -#define MACE_IR_MPCO 260,8110 -#define MACE_IR_RCVINT 261,8138 -#define MACE_IR_XMTINT 262,8168 -#define MACE_MACCC_PROM 264,8199 -#define MACE_MACCC_DXMT2PD 265,8230 -#define MACE_MACCC_EMBA 266,8263 -#define MACE_MACCC_RESERVED 267,8294 -#define MACE_MACCC_DRCVPA 268,8328 -#define MACE_MACCC_DRCVBC 269,8360 -#define MACE_MACCC_ENXMT 270,8392 -#define MACE_MACCC_ENRCV 271,8423 -#define MACE_PHYCC_LNKFL 273,8455 -#define MACE_PHYCC_DLNKTST 274,8486 -#define MACE_PHYCC_REVPOL 275,8519 -#define MACE_PHYCC_DAPC 276,8551 -#define MACE_PHYCC_LRT 277,8582 -#define MACE_PHYCC_ASEL 278,8612 -#define MACE_PHYCC_RWAKE 279,8643 -#define MACE_PHYCC_AWAKE 280,8674 -#define MACE_IAC_ADDRCHG 282,8706 -#define MACE_IAC_PHYADDR 283,8737 -#define MACE_IAC_LOGADDR 284,8768 -#define MACE_UTR_RTRE 286,8800 -#define MACE_UTR_RTRD 287,8829 -#define MACE_UTR_RPA 288,8858 -#define MACE_UTR_FCOLL 289,8886 -#define MACE_UTR_RCVFCSE 290,8916 -#define MACE_UTR_LOOP_INCL_MENDEC 291,8947 -#define MACE_UTR_LOOP_NO_MENDEC 292,8986 -#define MACE_UTR_LOOP_EXTERNAL 293,9024 -#define MACE_UTR_LOOP_NONE 294,9061 -#define MACE_UTR_RESERVED 295,9094 -#define MACEBANK(MACEBANK298,9184 -#define MACE_IMR_DEFAULT 300,9254 -#define MACE_IMR_DEFAULT 312,9481 -#define TX_TIMEOUT 314,9559 -typedef struct _mace_statistics _mace_statistics320,9774 -} mace_statistics;mace_statistics363,10433 -typedef struct _mace_private _mace_private365,10453 -} mace_private;mace_private379,11020 -static char rcsid[386,11243 -static char *version 388,11321 -static dev_info_t dev_info=392,11396 -static dev_link_t *dev_list;393,11436 -static char *if_names[395,11466 -#define INT_MODULE_PARM(INT_MODULE_PARM408,11851 -static int irq_list[410,11920 -#define DEBUG(DEBUG420,12205 -#define DEBUG(DEBUG422,12279 -static struct ethtool_ops netdev_ethtool_ops;445,13341 -static dev_link_t *nmclan_attach(458,13781 -static void nmclan_detach(541,16411 -static int mace_read(575,17378 -static void mace_write(602,18273 -static int mace_init(624,18970 -#define CS_CHECK(CS_CHECK704,21441 -static void nmclan_config(707,21550 -static void nmclan_release(808,24731 -static int nmclan_event(827,25392 -static void nmclan_reset(878,26820 -static int mace_config(929,28573 -static int mace_open(946,29122 -static int mace_close(969,29646 -static void netdev_get_drvinfo(986,30039 -static u32 netdev_get_msglevel(995,30287 -static void netdev_set_msglevel(1000,30365 -static struct ethtool_ops netdev_ethtool_ops 1006,30482 -static void mace_tx_timeout(1025,31204 -static int mace_start_xmit(1041,31644 -static irqreturn_t mace_interrupt(1101,33487 -static int mace_rx(1244,37749 -static void pr_linux_stats(1321,40077 -static void pr_mace_stats(1351,41515 -static void update_stats(1411,43535 -static struct net_device_stats *mace_get_stats(1457,45399 -static void updateCRC(1477,45962 -static void BuildLAF(1509,46813 -static void restore_multicast_list(1552,47936 -static void set_multicast_list(1609,49729 -static void restore_multicast_list(1647,50644 -static void set_multicast_list(1668,51332 -static struct pcmcia_driver nmclan_cs_driver 1688,51750 -static int __init init_nmclan_cs(1697,51919 -static void __exit exit_nmclan_cs(1702,52014 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/xirc2ps_cs.c,5881 - #define MANFID_COMPAQ 96,3889 - #define MANFID_COMPAQ2 97,3924 -#define TX_TIMEOUT 103,4063 -#define XIRCREG_CR 110,4210 -enum xirc_cr xirc_cr111,4260 - TransmitPacket 112,4275 - TransmitPacket = 0x01,112,4275 - SoftReset 113,4302 - SoftReset = 0x02,113,4302 - EnableIntr 114,4324 - EnableIntr = 0x04,114,4324 - ForceIntr 115,4347 - ForceIntr = 0x08,115,4347 - ClearTxFIFO 116,4370 - ClearTxFIFO = 0x10,116,4370 - ClearRxOvrun 117,4394 - ClearRxOvrun = 0x20,117,4394 - RestartTx 118,4419 - RestartTx = 0x40118,4419 -#define XIRCREG_ESR 120,4444 -enum xirc_esr xirc_esr121,4502 - FullPktRcvd 122,4518 - FullPktRcvd = 0x01,122,4518 - PktRejected 123,4578 - PktRejected = 0x04,123,4578 - TxPktPend 124,4635 - TxPktPend = 0x08,124,4635 - IncorPolarity 125,4681 - IncorPolarity = 0x10,125,4681 - MediaSelect 126,4707 - MediaSelect = 0x20 126,4707 -#define XIRCREG_PR 128,4763 -#define XIRCREG_EDP 129,4812 -#define XIRCREG_ISR 130,4868 -enum xirc_isr xirc_isr131,4931 - TxBufOvr 132,4947 - TxBufOvr = 0x01,132,4947 - PktTxed 133,4993 - PktTxed = 0x02,133,4993 - MACIntr 134,5039 - MACIntr = 0x04,134,5039 - TxResGrant 135,5089 - TxResGrant = 0x08,135,5089 - RxFullPkt 136,5141 - RxFullPkt = 0x20,136,5141 - RxPktRej 137,5184 - RxPktRej = 0x40,137,5184 - ForcedIntr=138,5231 - ForcedIntr= 0x80 138,5231 -#define XIRCREG1_IMR0 140,5278 -#define XIRCREG1_IMR1 141,5353 -#define XIRCREG0_TSO 142,5378 -#define XIRCREG0_TRS 143,5449 -#define XIRCREG0_DO 144,5523 -#define XIRCREG0_RSR 145,5589 -enum xirc_rsr xirc_rsr146,5658 - PhyPkt 147,5674 - PhyPkt = 0x01,147,5674 - BrdcstPkt 148,5744 - BrdcstPkt = 0x02,148,5744 - PktTooLong 149,5804 - PktTooLong = 0x04,149,5804 - AlignErr 150,5861 - AlignErr = 0x10,150,5861 - CRCErr 151,5930 - CRCErr = 0x20,151,5930 - PktRxOk 152,5996 - PktRxOk = 0x80 152,5996 -#define XIRCREG0_PTR 154,6036 -#define XIRCREG0_RBC 155,6100 -#define XIRCREG1_ECR 156,6164 -enum xirc_ecr xirc_ecr157,6227 - FullDuplex 158,6243 - FullDuplex = 0x04,158,6243 - LongTPMode 159,6296 - LongTPMode = 0x08,159,6296 - DisablePolCor 160,6363 - DisablePolCor = 0x10,160,6363 - DisableLinkPulse 161,6427 - DisableLinkPulse = 0x20,161,6427 - DisableAutoTx 162,6492 - DisableAutoTx = 0x40,162,6492 -#define XIRCREG2_RBS 164,6549 -#define XIRCREG2_LED 165,6608 -#define XIRCREG2_MSR 176,6884 -#define XIRCREG4_GPR0 178,6940 -#define XIRCREG4_GPR1 179,6997 -#define XIRCREG2_GPR2 180,7054 -#define XIRCREG4_BOV 181,7120 -#define XIRCREG4_LMA 182,7175 -#define XIRCREG4_LMD 183,7235 -#define XIRCREG40_CMD0 185,7350 -enum xirc_cmd xirc_cmd186,7406 - Transmit 187,7442 - Transmit = 0x01,187,7442 - EnableRecv 188,7463 - EnableRecv = 0x04,188,7463 - DisableRecv 189,7486 - DisableRecv = 0x08,189,7486 - Abort 190,7510 - Abort = 0x10,190,7510 - Online 191,7528 - Online = 0x20,191,7528 - IntrAck 192,7547 - IntrAck = 0x40,192,7547 - Offline 193,7567 - Offline = 0x80193,7567 -#define XIRCREG5_RHSA0 195,7589 -#define XIRCREG40_RXST0 196,7644 -#define XIRCREG40_TXST0 197,7702 -#define XIRCREG40_TXST1 198,7763 -#define XIRCREG40_RMASK0 199,7825 -#define XIRCREG40_TMASK0 200,7882 -#define XIRCREG40_TMASK1 201,7942 -#define XIRCREG42_SWC0 202,8002 -#define XIRCREG42_SWC1 203,8060 -#define XIRCREG42_BOC 204,8118 -#define XIRCREG44_TDR0 205,8173 -#define XIRCREG44_TDR1 206,8234 -#define XIRCREG44_RXBC_LO 207,8295 -#define XIRCREG44_RXBC_HI 208,8351 -#define XIRCREG45_REV 209,8407 -#define XIRCREG50_IA 210,8462 -static char *if_names[212,8520 -static int pc_debug 222,8982 -#define DEBUG(DEBUG224,9046 -#define DEBUG(DEBUG226,9119 -#define KDBG_XIRC 229,9153 -#define KERR_XIRC 230,9199 -#define KWRN_XIRC 231,9245 -#define KNOT_XIRC 232,9291 -#define KINF_XIRC 233,9337 -#define XIR_UNKNOWN 236,9401 -#define XIR_CE 237,9453 -#define XIR_CE2 238,9526 -#define XIR_CE3 239,9566 -#define XIR_CEM 240,9606 -#define XIR_CEM2 241,9680 -#define XIR_CEM3 242,9720 -#define XIR_CEM33 243,9760 -#define XIR_CEM56M 244,9800 -#define XIR_CEM56 245,9840 -#define XIR_CM28 246,9880 -#define XIR_CM33 247,9951 -#define XIR_CM56 248,10022 -#define XIR_CG 249,10093 -#define XIR_CBE 250,10162 -#define INT_MODULE_PARM(INT_MODULE_PARM258,10419 -static int irq_list[260,10488 -static unsigned maxrx_bytes 277,11156 -static dev_info_t dev_info 326,12991 -static dev_link_t *dev_list;338,13449 -typedef struct local_info_t local_info_t357,14364 -} local_info_t;local_info_t371,14927 -static struct ethtool_ops netdev_ethtool_ops;385,15529 -first_tuple(394,15892 -next_tuple(405,16166 -#define SelectPage(SelectPage415,16427 -#define GetByte(GetByte416,16488 -#define GetWord(GetWord417,16544 -#define PutByte(PutByte418,16600 -#define PutWord(PutWord419,16655 -#define Wait(Wait421,16711 -PrintRegisters(429,16976 -mii_idle(467,17866 -mii_putbit(479,18104 -mii_getbit(512,18764 -mii_wbits(525,19056 -mii_rd(533,19213 -mii_wr(555,19787 -xirc2ps_attach(584,20753 -xirc2ps_detach(655,22846 -set_card_type(711,24187 -has_ce2_string(780,26093 -xirc2ps_config(805,26774 -xirc2ps_release(1159,37552 -xirc2ps_event(1193,38606 -xirc2ps_interrupt(1248,39950 -do_tx_timeout(1471,46575 -do_start_xmit(1483,46865 -do_get_stats(1540,48562 -set_addresses(1554,48930 -set_multicast_list(1596,49719 -do_config(1620,50399 -do_open(1646,50990 -static void netdev_get_drvinfo(1667,51376 -static struct ethtool_ops netdev_ethtool_ops 1674,51571 -do_ioctl(1679,51672 -hardreset(1711,52583 -do_reset(1728,53059 -init_mii(1889,58109 -do_powerdown(1962,59954 -do_stop(1975,60193 -static struct pcmcia_driver xirc2ps_cs_driver 2000,60725 -init_xirc2ps_cs(2010,60916 -exit_xirc2ps_cs(2016,61014 -static int __init setup_xirc2ps_cs(2028,61211 -#define MAYBE_SET(MAYBE_SET2037,61415 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/ositech.h,43 - static const u_char __Xilinx7OD[9,273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcmcia/3c589_cs.c,4168 -#define DRV_NAME 22,789 -#define DRV_VERSION 23,817 -#define EL3_DATA 59,1771 -#define EL3_TIMER 60,1793 -#define EL3_CMD 61,1816 -#define EL3_STATUS 62,1838 -#define EEPROM_READ 64,1863 -#define EEPROM_BUSY 65,1890 -#define EL3WINDOW(EL3WINDOW67,1918 -enum c509cmd c509cmd71,2108 - TotalReset 72,2123 - TotalReset = 0<<11, SelectWindow 72,2123 - TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax 72,2123 - RxDisable 73,2188 - RxDisable = 3<<11, RxEnable 73,2188 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset 73,2188 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset = 5<<11, RxDiscard 73,2188 - TxEnable 74,2265 - TxEnable = 9<<11, TxDisable 74,2265 - TxEnable = 9<<11, TxDisable = 10<<11, TxReset 74,2265 - FakeIntr 75,2325 - FakeIntr = 12<<11, AckIntr 75,2325 - FakeIntr = 12<<11, AckIntr = 13<<11, SetIntrEnb 75,2325 - SetStatusEnb 76,2387 - SetStatusEnb = 15<<11, SetRxFilter 76,2387 - SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold 76,2387 - SetTxThreshold 77,2461 - SetTxThreshold = 18<<11, SetTxStart 77,2461 - SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable 77,2461 - StatsDisable 78,2533 - StatsDisable = 22<<11, StopCoax 78,2533 -enum c509status c509status81,2583 - IntLatch 82,2601 - IntLatch = 0x0001,82,2601 - IntLatch = 0x0001, AdapterFailure 82,2601 - IntLatch = 0x0001, AdapterFailure = 0x0002,82,2601 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete 82,2601 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004,82,2601 - TxAvailable 83,2670 - TxAvailable = 0x0008,83,2670 - TxAvailable = 0x0008, RxComplete 83,2670 - TxAvailable = 0x0008, RxComplete = 0x0010,83,2670 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly 83,2670 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020,83,2670 - IntReq 84,2735 - IntReq = 0x0040,84,2735 - IntReq = 0x0040, StatsFull 84,2735 - IntReq = 0x0040, StatsFull = 0x0080,84,2735 - IntReq = 0x0040, StatsFull = 0x0080, CmdBusy 84,2735 - IntReq = 0x0040, StatsFull = 0x0080, CmdBusy = 0x100084,2735 -enum RxFilter RxFilter88,2858 - RxStation 89,2874 - RxStation = 1, RxMulticast 89,2874 - RxStation = 1, RxMulticast = 2, RxBroadcast 89,2874 - RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm 89,2874 -#define TX_FIFO 93,3012 -#define RX_FIFO 94,3034 -#define RX_STATUS 95,3056 -#define TX_STATUS 96,3080 -#define TX_FREE 97,3104 -#define WN0_IRQ 99,3168 -#define WN4_MEDIA 100,3234 -#define MEDIA_TP 101,3302 -#define MEDIA_LED 102,3373 -#define TX_TIMEOUT 105,3488 -struct el3_private el3_private107,3524 -static char *if_names[119,3790 -#define INT_MODULE_PARM(INT_MODULE_PARM129,4107 -static int irq_list[136,4345 -#define DEBUG(DEBUG141,4471 -static char *version 142,4539 -#define DEBUG(DEBUG145,4633 -static struct ethtool_ops netdev_ethtool_ops;168,5647 -static dev_info_t dev_info 170,5694 -static dev_link_t *dev_list;175,5816 -static dev_link_t *tc589_attach(185,6154 -static void tc589_detach(266,8727 -#define CS_CHECK(CS_CHECK301,9667 -static void tc589_config(304,9774 -static void tc589_release(429,13976 -static int tc589_event(449,14644 -static void tc589_wait_for_completion(498,15869 -static u16 read_eeprom(513,16309 -static void tc589_set_xcvr(528,16684 -static void dump_status(551,17468 -static void tc589_reset(567,18031 -static void netdev_get_drvinfo(608,19393 -static u32 netdev_get_msglevel(617,19641 -static void netdev_set_msglevel(622,19719 -static struct ethtool_ops netdev_ethtool_ops 628,19836 -static int el3_config(636,20050 -static int el3_open(650,20425 -static void el3_tx_timeout(674,20961 -static void pop_tx_status(689,21411 -static int el3_start_xmit(712,22085 -static irqreturn_t el3_interrupt(743,22973 -static void media_check(828,25363 -static struct net_device_stats *el3_get_stats(909,27750 -static void update_stats(931,28433 -static int el3_rx(958,29442 -static void set_multicast_list(1012,31138 -static int el3_close(1027,31585 -static struct pcmcia_driver tc589_driver 1069,32681 -static int __init init_tc589(1078,32843 -static void __exit exit_tc589(1083,32930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ppp_synctty.c,984 -#define PPP_VERSION 49,1661 -struct syncppp syncppp52,1731 -#define XMIT_WAKEUP 78,2235 -#define XMIT_FULL 79,2257 -#define SC_RCV_BITS 82,2298 -#define PPPSYNC_MAX_RQLEN 84,2369 -static struct ppp_channel_ops sync_ops 99,2939 -ppp_print_hex 108,3090 -ppp_print_char 122,3362 -ppp_print_buffer 141,3697 -static rwlock_t disc_data_lock 181,4778 -static struct syncppp *sp_get(183,4830 -static void sp_put(195,5049 -ppp_sync_open(205,5230 -ppp_sync_close(258,6422 -static int ppp_sync_hangup(293,7313 -ppp_sync_read(304,7538 -ppp_sync_write(315,7777 -ppp_synctty_ioctl(322,7917 -ppp_sync_poll(382,8952 -ppp_sync_room(388,9054 -ppp_sync_receive(398,9231 -ppp_sync_wakeup(418,9751 -static struct tty_ldisc ppp_sync_ldisc 431,9985 -ppp_sync_init(448,10401 -ppp_sync_ioctl(463,10680 -static void ppp_sync_process(550,12437 -ppp_sync_txmunge(576,13009 -ppp_sync_send(632,14331 -ppp_sync_push(654,14754 -ppp_sync_flush_output(706,15922 -ppp_sync_input(733,16503 -ppp_sync_cleanup(794,17871 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/r8169.c,10506 -#define RTL8169_VERSION 51,1556 -#define MODULENAME 52,1586 -#define RTL8169_DRIVER_NAME 53,1613 -#define PFX 54,1698 -#define assert(assert57,1748 -#define dprintk(dprintk62,1919 -#define assert(assert64,1997 -#define dprintk(dprintk65,2034 -#define rtl8169_rx_skb 69,2133 -#define rtl8169_rx_quota(rtl8169_rx_quota70,2176 -#define rtl8169_rx_skb 72,2239 -#define rtl8169_rx_quota(rtl8169_rx_quota73,2273 -#define MAX_UNITS 77,2346 -static int media[78,2366 -static int max_interrupt_work 81,2502 -static int multicast_filter_limit 85,2690 -#define MAC_ADDR_LEN 88,2755 -#define MAX_ETH_FRAME_SIZE 91,2863 -#define TX_FIFO_THRESH 93,2896 -#define RX_FIFO_THRESH 95,2939 -#define RX_DMA_BURST 96,3032 -#define TX_DMA_BURST 97,3092 -#define EarlyTxThld 98,3152 -#define RxPacketMaxSize 99,3213 -#define InterFrameGap 100,3282 -#define R8169_NAPI_WEIGHT 102,3357 -#define NUM_TX_DESC 103,3386 -#define NUM_RX_DESC 104,3449 -#define RX_BUF_SIZE 105,3513 -#define R8169_TX_RING_BYTES 106,3559 -#define R8169_RX_RING_BYTES 107,3625 -#define RTL_MIN_IO_SIZE 109,3692 -#define RTL8169_TX_TIMEOUT 110,3721 -#define RTL8169_PHY_TIMEOUT 111,3755 -#define RTL_W8(RTL_W8114,3823 -#define RTL_W16(RTL_W16115,3881 -#define RTL_W32(RTL_W32116,3942 -#define RTL_R8(RTL_R8117,4003 -#define RTL_R16(RTL_R16118,4047 -#define RTL_R32(RTL_R32119,4092 -enum mac_version mac_version121,4156 - RTL_GIGA_MAC_VER_B 122,4175 - RTL_GIGA_MAC_VER_B = 0x00,122,4175 - RTL_GIGA_MAC_VER_D 124,4237 - RTL_GIGA_MAC_VER_D = 0x01,124,4237 - RTL_GIGA_MAC_VER_E 125,4265 - RTL_GIGA_MAC_VER_E = 0x02125,4265 -enum phy_version phy_version128,4296 - RTL_GIGA_PHY_VER_C 129,4315 - RTL_GIGA_PHY_VER_C = 0x03,129,4315 - RTL_GIGA_PHY_VER_D 130,4379 - RTL_GIGA_PHY_VER_D = 0x04,130,4379 - RTL_GIGA_PHY_VER_E 131,4443 - RTL_GIGA_PHY_VER_E = 0x05,131,4443 - RTL_GIGA_PHY_VER_F 132,4507 - RTL_GIGA_PHY_VER_F = 0x06,132,4507 - RTL_GIGA_PHY_VER_G 133,4571 - RTL_GIGA_PHY_VER_G = 0x07,133,4571 -#define _R(_R137,4640 -} rtl_chip_info[144,4851 -static struct pci_device_id rtl8169_pci_tbl[151,5045 -static int rx_copybreak 158,5202 -static int use_dac;159,5233 -enum RTL8169_registers RTL8169_registers161,5254 - MAC0 162,5279 - MAR0 163,5324 - TxDescStartAddrLow 164,5360 - TxDescStartAddrLow = 0x20,164,5360 - TxDescStartAddrHigh 165,5388 - TxDescStartAddrHigh = 0x24,165,5388 - TxHDescStartAddrLow 166,5417 - TxHDescStartAddrLow = 0x28,166,5417 - TxHDescStartAddrHigh 167,5446 - TxHDescStartAddrHigh = 0x2c,167,5446 - FLASH 168,5476 - FLASH = 0x30,168,5476 - ERSR 169,5491 - ERSR = 0x36,169,5491 - ChipCmd 170,5505 - ChipCmd = 0x37,170,5505 - TxPoll 171,5522 - TxPoll = 0x38,171,5522 - IntrMask 172,5538 - IntrMask = 0x3C,172,5538 - IntrStatus 173,5556 - IntrStatus = 0x3E,173,5556 - TxConfig 174,5576 - TxConfig = 0x40,174,5576 - RxConfig 175,5594 - RxConfig = 0x44,175,5594 - RxMissed 176,5612 - RxMissed = 0x4C,176,5612 - Cfg9346 177,5630 - Cfg9346 = 0x50,177,5630 - Config0 178,5647 - Config0 = 0x51,178,5647 - Config1 179,5664 - Config1 = 0x52,179,5664 - Config2 180,5681 - Config2 = 0x53,180,5681 - Config3 181,5698 - Config3 = 0x54,181,5698 - Config4 182,5715 - Config4 = 0x55,182,5715 - Config5 183,5732 - Config5 = 0x56,183,5732 - MultiIntr 184,5749 - MultiIntr = 0x5C,184,5749 - PHYAR 185,5768 - PHYAR = 0x60,185,5768 - TBICSR 186,5783 - TBICSR = 0x64,186,5783 - TBI_ANAR 187,5799 - TBI_ANAR = 0x68,187,5799 - TBI_LPAR 188,5817 - TBI_LPAR = 0x6A,188,5817 - PHYstatus 189,5835 - PHYstatus = 0x6C,189,5835 - RxMaxSize 190,5854 - RxMaxSize = 0xDA,190,5854 - CPlusCmd 191,5873 - CPlusCmd = 0xE0,191,5873 - RxDescAddrLow 192,5891 - RxDescAddrLow = 0xE4,192,5891 - RxDescAddrHigh 193,5914 - RxDescAddrHigh = 0xE8,193,5914 - EarlyTxThres 194,5938 - EarlyTxThres = 0xEC,194,5938 - FuncEvent 195,5960 - FuncEvent = 0xF0,195,5960 - FuncEventMask 196,5979 - FuncEventMask = 0xF4,196,5979 - FuncPresetState 197,6002 - FuncPresetState = 0xF8,197,6002 - FuncForceEvent 198,6027 - FuncForceEvent = 0xFC,198,6027 -enum RTL8169_register_content RTL8169_register_content201,6055 - SYSErr 203,6113 - SYSErr = 0x8000,203,6113 - PCSTimeout 204,6131 - PCSTimeout = 0x4000,204,6131 - SWInt 205,6153 - SWInt = 0x0100,205,6153 - TxDescUnavail 206,6170 - TxDescUnavail = 0x80,206,6170 - RxFIFOOver 207,6193 - RxFIFOOver = 0x40,207,6193 - LinkChg 208,6213 - LinkChg = 0x20,208,6213 - RxOverflow 209,6230 - RxOverflow = 0x10,209,6230 - TxErr 210,6250 - TxErr = 0x08,210,6250 - TxOK 211,6265 - TxOK = 0x04,211,6265 - RxErr 212,6279 - RxErr = 0x02,212,6279 - RxOK 213,6294 - RxOK = 0x01,213,6294 - RxRES 216,6328 - RxRES = 0x00200000,216,6328 - RxCRC 217,6349 - RxCRC = 0x00080000,217,6349 - RxRUNT 218,6370 - RxRUNT = 0x00100000,218,6370 - RxRWT 219,6392 - RxRWT = 0x00400000,219,6392 - CmdReset 222,6432 - CmdReset = 0x10,222,6432 - CmdRxEnb 223,6450 - CmdRxEnb = 0x08,223,6450 - CmdTxEnb 224,6468 - CmdTxEnb = 0x04,224,6468 - RxBufEmpty 225,6486 - RxBufEmpty = 0x01,225,6486 - Cfg9346_Lock 228,6525 - Cfg9346_Lock = 0x00,228,6525 - Cfg9346_Unlock 229,6547 - Cfg9346_Unlock = 0xC0,229,6547 - AcceptErr 232,6591 - AcceptErr = 0x20,232,6591 - AcceptRunt 233,6610 - AcceptRunt = 0x10,233,6610 - AcceptBroadcast 234,6630 - AcceptBroadcast = 0x08,234,6630 - AcceptMulticast 235,6655 - AcceptMulticast = 0x04,235,6655 - AcceptMyPhys 236,6680 - AcceptMyPhys = 0x02,236,6680 - AcceptAllPhys 237,6702 - AcceptAllPhys = 0x01,237,6702 - RxCfgFIFOShift 240,6745 - RxCfgDMAShift 241,6767 - TxInterFrameGapShift 244,6807 - TxDMAShift 245,6835 - TBIReset 248,6924 - TBIReset = 0x80000000,248,6924 - TBILoopback 249,6948 - TBILoopback = 0x40000000,249,6948 - TBINwEnable 250,6975 - TBINwEnable = 0x20000000,250,6975 - TBINwRestart 251,7002 - TBINwRestart = 0x10000000,251,7002 - TBILinkOk 252,7030 - TBILinkOk = 0x02000000,252,7030 - TBINwComplete 253,7055 - TBINwComplete = 0x01000000,253,7055 - RxVlan 256,7106 - RxChkSum 257,7127 - PCIDAC 258,7149 - PCIMulRW 259,7170 - TBI_Enable 262,7217 - TBI_Enable = 0x80,262,7217 - TxFlowCtrl 263,7237 - TxFlowCtrl = 0x40,263,7237 - RxFlowCtrl 264,7257 - RxFlowCtrl = 0x20,264,7257 - _1000bpsF 265,7277 - _1000bpsF = 0x10,265,7277 - _100bps 266,7296 - _100bps = 0x08,266,7296 - _10bps 267,7313 - _10bps = 0x04,267,7313 - LinkStatus 268,7329 - LinkStatus = 0x02,268,7329 - FullDup 269,7349 - FullDup = 0x01,269,7349 - PHY_CTRL_REG 272,7395 - PHY_STAT_REG 273,7414 - PHY_AUTO_NEGO_REG 274,7433 - PHY_1000_CTRL_REG 275,7457 - PHY_Restart_Auto_Nego 278,7508 - PHY_Restart_Auto_Nego = 0x0200,278,7508 - PHY_Enable_Auto_Nego 279,7541 - PHY_Enable_Auto_Nego = 0x1000,279,7541 - PHY_Auto_Neco_Comp 282,7595 - PHY_Auto_Neco_Comp = 0x0020,282,7595 - PHY_Cap_10_Half 285,7652 - PHY_Cap_10_Half = 0x0020,285,7652 - PHY_Cap_10_Full 286,7679 - PHY_Cap_10_Full = 0x0040,286,7679 - PHY_Cap_100_Half 287,7706 - PHY_Cap_100_Half = 0x0080,287,7706 - PHY_Cap_100_Full 288,7734 - PHY_Cap_100_Full = 0x0100,288,7734 - PHY_Cap_1000_Full 291,7789 - PHY_Cap_1000_Full = 0x0200,291,7789 - PHY_Cap_Null 293,7819 - PHY_Cap_Null = 0x0,293,7819 - _10_Half 296,7857 - _10_Half = 0x01,296,7857 - _10_Full 297,7875 - _10_Full = 0x02,297,7875 - _100_Half 298,7893 - _100_Half = 0x04,298,7893 - _100_Full 299,7912 - _100_Full = 0x08,299,7912 - _1000_Full 300,7931 - _1000_Full = 0x10,300,7931 - TBILinkOK 303,7968 - TBILinkOK = 0x02000000,303,7968 -enum _DescStatusBit _DescStatusBit306,7997 - OWNbit 307,8019 - OWNbit = 0x80000000,307,8019 - EORbit 308,8041 - EORbit = 0x40000000,308,8041 - FSbit 309,8063 - FSbit = 0x20000000,309,8063 - LSbit 310,8084 - LSbit = 0x10000000,310,8084 -#define RsvdMask 313,8109 -struct TxDesc TxDesc315,8138 -struct RxDesc RxDesc321,8197 -struct rtl8169_private rtl8169_private327,8256 -static const u16 rtl8169_intr_mask 381,10380 -static const u16 rtl8169_napi_event 383,10492 -static const unsigned int rtl8169_rx_config 385,10578 -#define PHY_Cap_10_Half_Or_Less 388,10699 -#define PHY_Cap_10_Full_Or_Less 389,10747 -#define PHY_Cap_100_Half_Or_Less 390,10821 -#define PHY_Cap_100_Full_Or_Less 391,10897 -static void mdio_write(393,10975 -static int mdio_read(408,11303 -static unsigned int rtl8169_tbi_reset_pending(426,11686 -static unsigned int rtl8169_xmii_reset_pending(431,11787 -static unsigned int rtl8169_tbi_link_ok(436,11892 -static unsigned int rtl8169_xmii_link_ok(441,11988 -static void rtl8169_tbi_reset_enable(446,12088 -static void rtl8169_xmii_reset_enable(451,12190 -static void rtl8169_check_link_status(459,12367 -static void rtl8169_link_option(473,12729 -static void rtl8169_get_drvinfo(505,13606 -static int rtl8169_set_speed_tbi(515,13884 -static int rtl8169_set_speed_xmii(539,14510 -static int rtl8169_set_speed(578,15739 -static int rtl8169_set_settings(592,16092 -static void rtl8169_gset_tbi(605,16425 -static void rtl8169_gset_xmii(624,16957 -static int rtl8169_get_settings(665,18182 -static struct ethtool_ops rtl8169_ethtool_ops 679,18463 -static void rtl8169_write_gmii_reg_bit(686,18670 -static void rtl8169_get_mac_version(697,18935 -static void rtl8169_print_mac_version(715,19358 -static void rtl8169_get_phy_version(737,19852 -static void rtl8169_print_phy_version(757,20339 -static void rtl8169_hw_phy_config(780,20922 -static void rtl8169_phy_timer(848,22857 -static inline void rtl8169_delete_timer(886,23787 -static inline void rtl8169_request_timer(898,24074 -rtl8169_init_board(915,24522 -rtl8169_init_one(1059,27950 -rtl8169_remove_one(1182,31186 -static int rtl8169_suspend(1201,31547 -static int rtl8169_resume(1227,32143 -rtl8169_open(1243,32466 -rtl8169_hw_start(1294,33590 -static inline void rtl8169_make_unusable_by_asic(1358,35254 -static void rtl8169_free_rx_skb(1364,35416 -static inline void rtl8169_return_to_asic(1374,35695 -static inline void rtl8169_give_to_asic(1379,35815 -static int rtl8169_alloc_rx_skb(1385,35989 -static void rtl8169_rx_clear(1414,36516 -static u32 rtl8169_rx_fill(1426,36743 -static inline void rtl8169_mark_as_last_descriptor(1445,37129 -static int rtl8169_init_ring(1450,37244 -static void rtl8169_unmap_tx_skb(1474,37903 -rtl8169_tx_clear(1486,38199 -rtl8169_tx_timeout(1504,38525 -rtl8169_start_xmit(1531,39160 -rtl8169_tx_interrupt(1589,40377 -static inline int rtl8169_try_rx_copy(1632,41350 -rtl8169_rx_interrupt(1655,41815 -rtl8169_interrupt(1743,44150 -static int rtl8169_poll(1814,45856 -rtl8169_close(1844,46640 -rtl8169_set_rx_mode(1886,47531 -static struct net_device_stats *rtl8169_get_stats(1938,49116 -static struct pci_driver rtl8169_pci_driver 1954,49508 -rtl8169_init_module(1966,49785 -rtl8169_cleanup_module(1972,49881 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/epic100.c,8652 -#define DRV_NAME 75,1968 -#define DRV_VERSION 76,2002 -#define DRV_RELDATE 77,2051 -static int debug 82,2184 -#define MAX_UNITS 85,2302 -static int options[86,2371 -static int full_duplex[87,2437 -static int rx_copybreak;91,2632 -#define TX_RING_SIZE 100,3013 -#define TX_QUEUE_LEN 101,3038 -#define RX_RING_SIZE 102,3105 -#define TX_TOTAL_SIZE 103,3130 -#define RX_TOTAL_SIZE 104,3193 -#define TX_TIMEOUT 108,3381 -#define PKT_BUF_SZ 110,3409 -#define TX_FIFO_THRESH 114,3615 -#define RX_FIFO_THRESH 115,3642 -static char version[141,4344 -static char version[] __devinitdata 141,4344 -static char version2[143,4458 -static char version2[] __devinitdata 143,4458 -static char version3[145,4546 -static char version3[] __devinitdata 145,4546 -enum pci_id_flags_bits pci_id_flags_bits194,6054 - PCI_USES_IO=196,6148 - PCI_USES_IO=1, PCI_USES_MEM=196,6148 - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=196,6148 - PCI_ADDR0=198,6263 - PCI_ADDR0=0<<4, PCI_ADDR1=198,6263 - PCI_ADDR0=0<<4, PCI_ADDR1=1<<4, PCI_ADDR2=198,6263 - PCI_ADDR0=0<<4, PCI_ADDR1=1<<4, PCI_ADDR2=2<<4, PCI_ADDR3=198,6263 - PCI_ADDR_64BITS=199,6335 - PCI_ADDR_64BITS=0x100,199,6335 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=199,6335 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200,199,6335 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200, PCI_NO_MIN_LATENCY=199,6335 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200, PCI_NO_MIN_LATENCY=0x400,199,6335 -enum chip_capability_flags chip_capability_flags202,6420 -enum chip_capability_flags { MII_PWRDWN=202,6420 -enum chip_capability_flags { MII_PWRDWN=1, TYPE2_INTR=202,6420 -enum chip_capability_flags { MII_PWRDWN=1, TYPE2_INTR=2, NO_MII=202,6420 -#define EPIC_TOTAL_SIZE 204,6490 -#define USE_IO_OPS 205,6520 -#define EPIC_IOTYPE 207,6559 -#define EPIC_IOTYPE 209,6623 - SMSC_83C170_0,213,6705 - SMSC_83C170,214,6721 - SMSC_83C175,215,6735 -} chip_t;chip_t216,6749 -struct epic_chip_info epic_chip_info219,6761 -static struct epic_chip_info pci_id_tbl[228,7060 -static struct pci_device_id epic_pci_tbl[238,7363 -#define inb 255,7778 -#define inw 256,7796 -#define inl 257,7814 -#define outb 258,7832 -#define outw 259,7852 -#define outl 260,7872 -enum epic_registers epic_registers264,7955 - COMMAND=265,7977 - COMMAND=0, INTSTAT=265,7977 - COMMAND=0, INTSTAT=4, INTMASK=265,7977 - COMMAND=0, INTSTAT=4, INTMASK=8, GENCTL=265,7977 - COMMAND=0, INTSTAT=4, INTMASK=8, GENCTL=0x0C,265,7977 - COMMAND=0, INTSTAT=4, INTMASK=8, GENCTL=0x0C, NVCTL=265,7977 - COMMAND=0, INTSTAT=4, INTMASK=8, GENCTL=0x0C, NVCTL=0x10,265,7977 - COMMAND=0, INTSTAT=4, INTMASK=8, GENCTL=0x0C, NVCTL=0x10, EECTL=265,7977 - COMMAND=0, INTSTAT=4, INTMASK=8, GENCTL=0x0C, NVCTL=0x10, EECTL=0x14,265,7977 - PCIBurstCnt=266,8049 - PCIBurstCnt=0x18,266,8049 - TEST1=267,8069 - TEST1=0x1C,267,8069 - TEST1=0x1C, CRCCNT=267,8069 - TEST1=0x1C, CRCCNT=0x20,267,8069 - TEST1=0x1C, CRCCNT=0x20, ALICNT=267,8069 - TEST1=0x1C, CRCCNT=0x20, ALICNT=0x24,267,8069 - TEST1=0x1C, CRCCNT=0x20, ALICNT=0x24, MPCNT=267,8069 - TEST1=0x1C, CRCCNT=0x20, ALICNT=0x24, MPCNT=0x28,267,8069 - MIICtrl=268,8146 - MIICtrl=0x30,268,8146 - MIICtrl=0x30, MIIData=268,8146 - MIICtrl=0x30, MIIData=0x34,268,8146 - MIICtrl=0x30, MIIData=0x34, MIICfg=268,8146 - MIICtrl=0x30, MIIData=0x34, MIICfg=0x38,268,8146 - LAN0=269,8189 - MC0=270,8224 - RxCtrl=271,8269 - RxCtrl=96, TxCtrl=271,8269 - RxCtrl=96, TxCtrl=112, TxSTAT=271,8269 - RxCtrl=96, TxCtrl=112, TxSTAT=0x74,271,8269 - PRxCDAR=272,8307 - PRxCDAR=0x84,272,8307 - PRxCDAR=0x84, RxSTAT=272,8307 - PRxCDAR=0x84, RxSTAT=0xA4,272,8307 - PRxCDAR=0x84, RxSTAT=0xA4, EarlyRx=272,8307 - PRxCDAR=0x84, RxSTAT=0xA4, EarlyRx=0xB0,272,8307 - PRxCDAR=0x84, RxSTAT=0xA4, EarlyRx=0xB0, PTxCDAR=272,8307 - PRxCDAR=0x84, RxSTAT=0xA4, EarlyRx=0xB0, PTxCDAR=0xC4,272,8307 - PRxCDAR=0x84, RxSTAT=0xA4, EarlyRx=0xB0, PTxCDAR=0xC4, TxThresh=272,8307 - PRxCDAR=0x84, RxSTAT=0xA4, EarlyRx=0xB0, PTxCDAR=0xC4, TxThresh=0xDC,272,8307 -enum IntrStatus IntrStatus276,8445 - TxIdle=277,8463 - TxIdle=0x40000,277,8463 - TxIdle=0x40000, RxIdle=277,8463 - TxIdle=0x40000, RxIdle=0x20000,277,8463 - TxIdle=0x40000, RxIdle=0x20000, IntrSummary=277,8463 - TxIdle=0x40000, RxIdle=0x20000, IntrSummary=0x010000,277,8463 - PCIBusErr170=278,8518 - PCIBusErr170=0x7000,278,8518 - PCIBusErr170=0x7000, PCIBusErr175=278,8518 - PCIBusErr170=0x7000, PCIBusErr175=0x1000,278,8518 - PCIBusErr170=0x7000, PCIBusErr175=0x1000, PhyEvent175=278,8518 - PCIBusErr170=0x7000, PCIBusErr175=0x1000, PhyEvent175=0x8000,278,8518 - RxStarted=279,8581 - RxStarted=0x0800,279,8581 - RxStarted=0x0800, RxEarlyWarn=279,8581 - RxStarted=0x0800, RxEarlyWarn=0x0400,279,8581 - RxStarted=0x0800, RxEarlyWarn=0x0400, CntFull=279,8581 - RxStarted=0x0800, RxEarlyWarn=0x0400, CntFull=0x0200,279,8581 - RxStarted=0x0800, RxEarlyWarn=0x0400, CntFull=0x0200, TxUnderrun=279,8581 - RxStarted=0x0800, RxEarlyWarn=0x0400, CntFull=0x0200, TxUnderrun=0x0100,279,8581 - TxEmpty=280,8655 - TxEmpty=0x0080,280,8655 - TxEmpty=0x0080, TxDone=280,8655 - TxEmpty=0x0080, TxDone=0x0020,280,8655 - TxEmpty=0x0080, TxDone=0x0020, RxError=280,8655 - TxEmpty=0x0080, TxDone=0x0020, RxError=0x0010,280,8655 - RxOverflow=281,8703 - RxOverflow=0x0008,281,8703 - RxOverflow=0x0008, RxFull=281,8703 - RxOverflow=0x0008, RxFull=0x0004,281,8703 - RxOverflow=0x0008, RxFull=0x0004, RxHeader=281,8703 - RxOverflow=0x0008, RxFull=0x0004, RxHeader=0x0002,281,8703 - RxOverflow=0x0008, RxFull=0x0004, RxHeader=0x0002, RxDone=281,8703 - RxOverflow=0x0008, RxFull=0x0004, RxHeader=0x0002, RxDone=0x0001,281,8703 -enum CommandBits CommandBits283,8773 - StopRx=284,8792 - StopRx=1, StartRx=284,8792 - StopRx=1, StartRx=2, TxQueued=284,8792 - StopRx=1, StartRx=2, TxQueued=4, RxQueued=284,8792 - StopTxDMA=285,8838 - StopTxDMA=0x20,285,8838 - StopTxDMA=0x20, StopRxDMA=285,8838 - StopTxDMA=0x20, StopRxDMA=0x40,285,8838 - StopTxDMA=0x20, StopRxDMA=0x40, RestartTx=285,8838 - StopTxDMA=0x20, StopRxDMA=0x40, RestartTx=0x80,285,8838 -#define EpicRemoved 288,8891 -#define EpicNapiEvent 290,8962 -#define EpicNormalEvent 292,9066 -static u16 media2miictl[294,9121 -struct epic_tx_desc epic_tx_desc300,9282 -struct epic_rx_desc epic_rx_desc307,9364 -enum desc_status_bits desc_status_bits314,9446 - DescOwn=315,9470 - DescOwn=0x8000,315,9470 -#define PRIV_ALIGN 318,9491 -struct epic_private epic_private319,9544 -static struct ethtool_ops netdev_ethtool_ops;368,11445 -static int __devinit epic_init_one 375,11663 -#define EE_SHIFT_CLK 594,17879 -#define EE_CS 595,17931 -#define EE_DATA_WRITE 596,17978 -#define EE_WRITE_0 597,18032 -#define EE_WRITE_1 598,18057 -#define EE_DATA_READ 599,18082 -#define EE_ENB 600,18136 -#define eeprom_delay(eeprom_delay606,18273 -#define EE_WRITE_CMD 609,18371 -#define EE_READ64_CMD 610,18401 -#define EE_READ256_CMD 611,18432 -#define EE_ERASE_CMD 612,18464 -static void epic_disable_int(614,18495 -static inline void __epic_pci_commit(621,18647 -static inline void epic_napi_irq_off(628,18752 -static inline void epic_napi_irq_on(637,18968 -static int __devinit read_eeprom(646,19200 -#define MII_READOP 680,20037 -#define MII_WRITEOP 681,20059 -static int mdio_read(682,20082 -static void mdio_write(705,20658 -static int epic_open(721,21000 -static void epic_pause(828,24467 -static void epic_restart(851,25122 -static void check_media(904,26892 -static void epic_timer(925,27617 -static void epic_tx_timeout(947,28241 -static void epic_init_ring(976,29034 -static int epic_start_xmit(1023,30545 -static void epic_tx_error(1081,32304 -static void epic_tx(1103,32850 -static irqreturn_t epic_interrupt(1153,34337 -static int epic_rx(1222,36217 -static void epic_rx_err(1319,39426 -static int epic_poll(1334,39771 -static int epic_close(1378,40651 -static struct net_device_stats *epic_get_stats(1428,41831 -static void set_rx_mode(1448,42456 -static void netdev_get_drvinfo 1489,43879 -static int netdev_get_settings(1498,44130 -static int netdev_set_settings(1510,44371 -static int netdev_nway_reset(1522,44612 -static u32 netdev_get_link(1528,44744 -static u32 netdev_get_msglevel(1534,44869 -static void netdev_set_msglevel(1539,44944 -static int ethtool_begin(1544,45032 -static void ethtool_complete(1555,45306 -static struct ethtool_ops netdev_ethtool_ops 1565,45575 -static int netdev_ioctl(1579,46018 -static void __devexit epic_remove_one 1606,46741 -static int epic_suspend 1627,47282 -static int epic_resume 1642,47599 -static struct pci_driver epic_driver 1656,47821 -static int __init epic_init 1668,48073 -static void __exit epic_cleanup 1680,48342 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fec.h,1430 -#define FEC_H13,379 -typedef struct fec fec22,646 -} fec_t;fec_t58,2437 -typedef struct fec fec65,2504 -} fec_t;fec_t97,4149 -typedef struct bufdesc bufdesc105,4237 -} cbd_t;cbd_t109,4415 -#define BD_SC_EMPTY 116,4548 -#define BD_SC_READY 117,4619 -#define BD_SC_WRAP 118,4691 -#define BD_SC_INTRPT 119,4768 -#define BD_SC_CM 120,4842 -#define BD_SC_ID 121,4911 -#define BD_SC_P 122,4986 -#define BD_SC_BR 123,5053 -#define BD_SC_FR 124,5122 -#define BD_SC_PR 125,5190 -#define BD_SC_OV 126,5257 -#define BD_SC_CD 127,5319 -#define BD_ENET_RX_EMPTY 131,5442 -#define BD_ENET_RX_WRAP 132,5491 -#define BD_ENET_RX_INTR 133,5540 -#define BD_ENET_RX_LAST 134,5589 -#define BD_ENET_RX_FIRST 135,5638 -#define BD_ENET_RX_MISS 136,5687 -#define BD_ENET_RX_LG 137,5736 -#define BD_ENET_RX_NO 138,5785 -#define BD_ENET_RX_SH 139,5834 -#define BD_ENET_RX_CR 140,5883 -#define BD_ENET_RX_OV 141,5932 -#define BD_ENET_RX_CL 142,5981 -#define BD_ENET_RX_STATS 143,6030 -#define BD_ENET_TX_READY 147,6175 -#define BD_ENET_TX_PAD 148,6224 -#define BD_ENET_TX_WRAP 149,6273 -#define BD_ENET_TX_INTR 150,6322 -#define BD_ENET_TX_LAST 151,6371 -#define BD_ENET_TX_TC 152,6420 -#define BD_ENET_TX_DEF 153,6469 -#define BD_ENET_TX_HB 154,6518 -#define BD_ENET_TX_LC 155,6567 -#define BD_ENET_TX_RL 156,6616 -#define BD_ENET_TX_RCMASK 157,6665 -#define BD_ENET_TX_UN 158,6714 -#define BD_ENET_TX_CSL 159,6763 -#define BD_ENET_TX_STATS 160,6812 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ni52.c,1965 -static int debuglevel;102,4157 -static int automatic_resume;103,4223 -static int rfdadd;104,4296 -static int fifo=105,4361 -#define DRV_NAME 127,4814 -#define DEBUG 129,4839 -#define SYSBUSVAL 130,4874 -#define ni_attn586(ni_attn586132,4907 -#define ni_reset586(ni_reset586133,4970 -#define ni_disint(ni_disint134,5029 -#define ni_enaint(ni_enaint135,5089 -#define make32(make32137,5150 -#define make24(make24138,5203 -#define make16(make16139,5257 -#define RECV_BUFF_SIZE 155,5940 -#define XMIT_BUFF_SIZE 156,5993 -#define NUM_XMIT_BUFFS 157,6046 -#define NUM_RECV_BUFFS_8 158,6114 -#define NUM_RECV_BUFFS_16 159,6173 -#define NO_NOPCOMMANDS 160,6233 -#define DELAY(DELAY165,6405 -#define DELAY_16(DELAY_16166,6438 -#define DELAY_18(DELAY_18167,6474 -#define WAIT_4_SCB_CMD(WAIT_4_SCB_CMD170,6547 -#define WAIT_4_SCB_CMD_RUC(WAIT_4_SCB_CMD_RUC179,6866 -#define WAIT_4_STAT_COMPL(WAIT_4_STAT_COMPL187,7193 -#define NI52_TOTAL_SIZE 192,7348 -#define NI52_ADDR0 193,7375 -#define NI52_ADDR1 194,7399 -#define NI52_ADDR2 195,7423 -struct privpriv219,8485 -static int ni52_close(246,9358 -static int ni52_open(260,9596 -static int check586(285,10008 -static void alloc586(327,11273 -static int irq=360,12094 -static int io=361,12112 -static long memstart;362,12133 -static long memend;363,12173 -struct net_device * __init ni52_probe(368,12289 -static int __init ni52_probe1(420,13357 -static int init586(559,16951 -static void *alloc_rfa(794,23328 -static irqreturn_t ni52_interrupt(840,24567 -static void ni52_rcv_int(915,26201 -static void ni52_rnr_int(1040,29503 -static void ni52_xmt_int(1063,30160 -static void startrecv586(1114,31385 -static void ni52_timeout(1126,31699 -static int ni52_send_packet(1164,32854 -static struct net_device_stats *ni52_get_stats(1277,35762 -static void set_multicast_list(1303,36387 -static struct net_device *dev_ni52;1315,36588 -int init_module(1326,36967 -void cleanup_module(1338,37269 -void ni52_dump(1350,37503 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/s2io-regs.h,16092 -#define _REGS_H14,769 -#define TBD 16,786 -typedef struct _XENA_dev_config _XENA_dev_config18,801 -#define GEN_INTR_TXPIC 23,954 -#define GEN_INTR_TXDMA 24,996 -#define GEN_INTR_TXMAC 25,1038 -#define GEN_INTR_TXXGXS 26,1080 -#define GEN_INTR_TXTRAFFIC 27,1122 -#define GEN_INTR_RXPIC 28,1164 -#define GEN_INTR_RXDMA 29,1207 -#define GEN_INTR_RXMAC 30,1250 -#define GEN_INTR_MC 31,1293 -#define GEN_INTR_RXXGXS 32,1336 -#define GEN_INTR_RXTRAFFIC 33,1379 -#define GEN_ERROR_INTR 34,1422 -#define SW_RESET_XENA 46,1870 -#define SW_RESET_FLASH 47,1920 -#define SW_RESET_EOI 48,1970 -#define SW_RESET_ALL 49,2021 -#define SW_RESET_RAW_VAL 53,2266 -#define ADAPTER_STATUS_TDMA_READY 57,2327 -#define ADAPTER_STATUS_RDMA_READY 58,2377 -#define ADAPTER_STATUS_PFC_READY 59,2427 -#define ADAPTER_STATUS_TMAC_BUF_EMPTY 60,2477 -#define ADAPTER_STATUS_PIC_QUIESCENT 61,2527 -#define ADAPTER_STATUS_RMAC_REMOTE_FAULT 62,2577 -#define ADAPTER_STATUS_RMAC_LOCAL_FAULT 63,2627 -#define ADAPTER_STATUS_RMAC_PCC_IDLE 64,2677 -#define ADAPTER_STATUS_RC_PRC_QUIESCENT 65,2735 -#define ADAPTER_STATUS_MC_DRAM_READY 66,2794 -#define ADAPTER_STATUS_MC_QUEUES_READY 67,2845 -#define ADAPTER_STATUS_M_PLL_LOCK 68,2896 -#define ADAPTER_STATUS_P_PLL_LOCK 69,2947 -#define ADAPTER_CNTL_EN 72,3021 -#define ADAPTER_EOI_TX_ON 73,3071 -#define ADAPTER_LED_ON 74,3122 -#define ADAPTER_UDPI(ADAPTER_UDPI75,3173 -#define ADAPTER_WAIT_INT 76,3231 -#define ADAPTER_ECC_EN 77,3282 -#define SERR_SOURCE_PIC 80,3352 -#define SERR_SOURCE_TXDMA 81,3387 -#define SERR_SOURCE_RXDMA 82,3423 -#define SERR_SOURCE_MAC 83,3459 -#define SERR_SOURCE_MC 84,3506 -#define SERR_SOURCE_XGXS 85,3553 -#define SERR_SOURCE_ANY 86,3600 -#define PIC_INT_TX 99,3912 -#define PIC_INT_FLSH 100,3958 -#define PIC_INT_MDIO 101,4004 -#define PIC_INT_IIC 102,4050 -#define PIC_INT_GPIO 103,4096 -#define PIC_INT_RX 104,4142 -#define PCIX_INT_REG_ECC_SG_ERR 108,4231 -#define PCIX_INT_REG_ECC_DB_ERR 109,4285 -#define PCIX_INT_REG_FLASHR_R_FSM_ERR 110,4339 -#define PCIX_INT_REG_FLASHR_W_FSM_ERR 111,4393 -#define PCIX_INT_REG_INI_TX_FSM_SERR 112,4447 -#define PCIX_INT_REG_INI_TXO_FSM_ERR 113,4502 -#define PCIX_INT_REG_TRT_FSM_SERR 114,4557 -#define PCIX_INT_REG_SRT_FSM_SERR 115,4612 -#define PCIX_INT_REG_PIFR_FSM_SERR 116,4667 -#define PCIX_INT_REG_WRC_TX_SEND_FSM_SERR 117,4722 -#define PCIX_INT_REG_RRC_TX_REQ_FSM_SERR 118,4777 -#define PCIX_INT_REG_INI_RX_FSM_SERR 119,4832 -#define PCIX_INT_REG_RA_RX_FSM_SERR 120,4887 -#define PIC_FLSH_INT_REG_CYCLE_FSM_ERR 133,5232 -#define PIC_FLSH_INT_REG_ERR 134,5287 -#define MDIO_INT_REG_MDIO_BUS_ERR 139,5401 -#define MDIO_INT_REG_DTX_BUS_ERR 140,5455 -#define MDIO_INT_REG_LASI 141,5509 -#define IIC_INT_REG_BUS_FSM_ERR 146,5620 -#define IIC_INT_REG_BIT_FSM_ERR 147,5674 -#define IIC_INT_REG_CYCLE_FSM_ERR 148,5728 -#define IIC_INT_REG_REQ_FSM_ERR 149,5782 -#define IIC_INT_REG_ACK_ERR 150,5836 -#define TX_TRAFFIC_INT_n(TX_TRAFFIC_INT_n162,6027 -#define RX_TRAFFIC_INT_n(RX_TRAFFIC_INT_n166,6125 -#define PIC_CNTL_RX_ALARM_MAP_1 171,6248 -#define PIC_CNTL_SHARED_SPLITS(PIC_CNTL_SHARED_SPLITS172,6302 -#define SWAPPER_CTRL_PIF_R_FE 175,6382 -#define SWAPPER_CTRL_PIF_R_SE 176,6436 -#define SWAPPER_CTRL_PIF_W_FE 177,6490 -#define SWAPPER_CTRL_PIF_W_SE 178,6544 -#define SWAPPER_CTRL_TXP_FE 179,6598 -#define SWAPPER_CTRL_TXP_SE 180,6653 -#define SWAPPER_CTRL_TXD_R_FE 181,6708 -#define SWAPPER_CTRL_TXD_R_SE 182,6763 -#define SWAPPER_CTRL_TXD_W_FE 183,6818 -#define SWAPPER_CTRL_TXD_W_SE 184,6873 -#define SWAPPER_CTRL_TXF_R_FE 185,6928 -#define SWAPPER_CTRL_TXF_R_SE 186,6983 -#define SWAPPER_CTRL_RXD_R_FE 187,7038 -#define SWAPPER_CTRL_RXD_R_SE 188,7093 -#define SWAPPER_CTRL_RXD_W_FE 189,7148 -#define SWAPPER_CTRL_RXD_W_SE 190,7203 -#define SWAPPER_CTRL_RXF_W_FE 191,7258 -#define SWAPPER_CTRL_RXF_W_SE 192,7313 -#define SWAPPER_CTRL_XMSI_FE 193,7368 -#define SWAPPER_CTRL_XMSI_SE 194,7423 -#define SWAPPER_CTRL_STATS_FE 195,7478 -#define SWAPPER_CTRL_STATS_SE 196,7533 -#define IF_RD_SWAPPER_FB 199,7613 -#define SCHED_INT_CTRL_TIMER_EN 202,7710 -#define SCHED_INT_CTRL_ONE_SHOT 203,7764 -#define SCHED_INT_CTRL_INT2MSI 204,7818 -#define SCHED_INT_PERIOD 205,7869 -#define TXREQTO_VAL(TXREQTO_VAL208,7940 -#define TXREQTO_EN 209,7985 -#define STATREQTO_VAL(STATREQTO_VAL212,8042 -#define STATREQTO_EN 213,8093 -#define STAT_CFG_STAT_EN 242,8581 -#define STAT_CFG_ONE_SHOT_EN 243,8623 -#define STAT_CFG_STAT_NS_EN 244,8665 -#define STAT_CFG_STAT_RO 245,8707 -#define STAT_TRSF_PER(STAT_TRSF_PER246,8749 -#define PER_SEC 247,8788 -#define SET_UPDT_PERIOD(SET_UPDT_PERIOD248,8819 -#define I2C_CONTROL_DEV_ID(I2C_CONTROL_DEV_ID258,8978 -#define I2C_CONTROL_ADDR(I2C_CONTROL_ADDR259,9023 -#define I2C_CONTROL_BYTE_CNT(I2C_CONTROL_BYTE_CNT260,9071 -#define I2C_CONTROL_READ 261,9120 -#define I2C_CONTROL_NACK 262,9155 -#define I2C_CONTROL_CNTL_START 263,9190 -#define I2C_CONTROL_CNTL_END(I2C_CONTROL_CNTL_END264,9237 -#define I2C_CONTROL_GET_DATA(I2C_CONTROL_GET_DATA265,9294 -#define I2C_CONTROL_SET_DATA(I2C_CONTROL_SET_DATA266,9352 -#define GPIO_CTRL_GPIO_0 269,9422 -#define TXDMA_PFC_INT 276,9543 -#define TXDMA_TDA_INT 277,9589 -#define TXDMA_PCC_INT 278,9635 -#define TXDMA_TTI_INT 279,9681 -#define TXDMA_LSO_INT 280,9727 -#define TXDMA_TPA_INT 281,9773 -#define TXDMA_SM_INT 282,9819 -#define X_MAX_FIFOS 317,10365 -#define X_FIFO_MAX_LEN 318,10410 -#define TX_FIFO_PARTITION_EN 320,10496 -#define TX_FIFO_PARTITION_0_PRI(TX_FIFO_PARTITION_0_PRI321,10546 -#define TX_FIFO_PARTITION_0_LEN(TX_FIFO_PARTITION_0_LEN322,10603 -#define TX_FIFO_PARTITION_1_PRI(TX_FIFO_PARTITION_1_PRI323,10662 -#define TX_FIFO_PARTITION_1_LEN(TX_FIFO_PARTITION_1_LEN324,10720 -#define TX_FIFO_PARTITION_2_PRI(TX_FIFO_PARTITION_2_PRI327,10808 -#define TX_FIFO_PARTITION_2_LEN(TX_FIFO_PARTITION_2_LEN328,10865 -#define TX_FIFO_PARTITION_3_PRI(TX_FIFO_PARTITION_3_PRI329,10924 -#define TX_FIFO_PARTITION_3_LEN(TX_FIFO_PARTITION_3_LEN330,10982 -#define TX_FIFO_PARTITION_4_PRI(TX_FIFO_PARTITION_4_PRI333,11068 -#define TX_FIFO_PARTITION_4_LEN(TX_FIFO_PARTITION_4_LEN334,11125 -#define TX_FIFO_PARTITION_5_PRI(TX_FIFO_PARTITION_5_PRI335,11184 -#define TX_FIFO_PARTITION_5_LEN(TX_FIFO_PARTITION_5_LEN336,11242 -#define TX_FIFO_PARTITION_6_PRI(TX_FIFO_PARTITION_6_PRI339,11328 -#define TX_FIFO_PARTITION_6_LEN(TX_FIFO_PARTITION_6_LEN340,11385 -#define TX_FIFO_PARTITION_7_PRI(TX_FIFO_PARTITION_7_PRI341,11444 -#define TX_FIFO_PARTITION_7_LEN(TX_FIFO_PARTITION_7_LEN342,11502 -#define TX_FIFO_PARTITION_PRI_0 344,11562 -#define TX_FIFO_PARTITION_PRI_1 345,11626 -#define TX_FIFO_PARTITION_PRI_2 346,11676 -#define TX_FIFO_PARTITION_PRI_3 347,11726 -#define TX_FIFO_PARTITION_PRI_4 348,11776 -#define TX_FIFO_PARTITION_PRI_5 349,11826 -#define TX_FIFO_PARTITION_PRI_6 350,11876 -#define TX_FIFO_PARTITION_PRI_7 351,11926 -#define TTI_CMD_MEM_WE 360,12138 -#define TTI_CMD_MEM_STROBE_NEW_CMD 361,12188 -#define TTI_CMD_MEM_STROBE_BEING_EXECUTED 362,12239 -#define TTI_CMD_MEM_OFFSET(TTI_CMD_MEM_OFFSET363,12290 -#define TTI_DATA1_MEM_TX_TIMER_VAL(TTI_DATA1_MEM_TX_TIMER_VAL366,12367 -#define TTI_DATA1_MEM_TX_TIMER_AC_CI(TTI_DATA1_MEM_TX_TIMER_AC_CI367,12423 -#define TTI_DATA1_MEM_TX_TIMER_AC_EN 368,12479 -#define TTI_DATA1_MEM_TX_TIMER_CI_EN 369,12530 -#define TTI_DATA1_MEM_TX_URNG_A(TTI_DATA1_MEM_TX_URNG_A370,12581 -#define TTI_DATA1_MEM_TX_URNG_B(TTI_DATA1_MEM_TX_URNG_B371,12637 -#define TTI_DATA1_MEM_TX_URNG_C(TTI_DATA1_MEM_TX_URNG_C372,12693 -#define TTI_DATA2_MEM_TX_UFC_A(TTI_DATA2_MEM_TX_UFC_A375,12770 -#define TTI_DATA2_MEM_TX_UFC_B(TTI_DATA2_MEM_TX_UFC_B376,12826 -#define TTI_DATA2_MEM_TX_UFC_C(TTI_DATA2_MEM_TX_UFC_C377,12883 -#define TTI_DATA2_MEM_TX_UFC_D(TTI_DATA2_MEM_TX_UFC_D378,12940 -#define TX_PA_CFG_IGNORE_FRM_ERR 382,13039 -#define TX_PA_CFG_IGNORE_SNAP_OUI 383,13089 -#define TX_PA_CFG_IGNORE_LLC_CTRL 384,13139 -#define TX_PA_CFG_IGNORE_L2_ERR 385,13189 -#define RXDMA_INT_RC_INT_M 399,13447 -#define RXDMA_INT_RPA_INT_M 400,13493 -#define RXDMA_INT_RDA_INT_M 401,13539 -#define RXDMA_INT_RTI_INT_M 402,13585 -#define RX_QUEUE_0_PRIORITY(RX_QUEUE_0_PRIORITY428,14005 -#define RX_QUEUE_1_PRIORITY(RX_QUEUE_1_PRIORITY429,14058 -#define RX_QUEUE_2_PRIORITY(RX_QUEUE_2_PRIORITY430,14112 -#define RX_QUEUE_3_PRIORITY(RX_QUEUE_3_PRIORITY431,14166 -#define RX_QUEUE_4_PRIORITY(RX_QUEUE_4_PRIORITY432,14220 -#define RX_QUEUE_5_PRIORITY(RX_QUEUE_5_PRIORITY433,14274 -#define RX_QUEUE_6_PRIORITY(RX_QUEUE_6_PRIORITY434,14328 -#define RX_QUEUE_7_PRIORITY(RX_QUEUE_7_PRIORITY435,14382 -#define RX_QUEUE_PRI_0 437,14437 -#define RX_QUEUE_PRI_1 438,14492 -#define RX_QUEUE_PRI_2 439,14533 -#define RX_QUEUE_PRI_3 440,14574 -#define RX_QUEUE_PRI_4 441,14615 -#define RX_QUEUE_PRI_5 442,14656 -#define RX_QUEUE_PRI_6 443,14697 -#define RX_QUEUE_PRI_7 444,14738 -#define RX_MAX_RINGS 453,14951 -#define RX_MAX_RINGS_SZ 455,14995 -#define RX_MIN_RINGS_SZ 456,15050 -#define PRC_CTRL_RC_ENABLED 460,15169 -#define PRC_CTRL_RING_MODE 461,15223 -#define PRC_CTRL_RING_MODE_1 462,15288 -#define PRC_CTRL_RING_MODE_3 463,15348 -#define PRC_CTRL_RING_MODE_5 464,15408 -#define PRC_CTRL_RING_MODE_x 465,15468 -#define PRC_CTRL_NO_SNOOP 466,15528 -#define PRC_CTRL_NO_SNOOP_DESC 467,15593 -#define PRC_CTRL_NO_SNOOP_BUFF 468,15648 -#define PRC_CTRL_RXD_BACKOFF_INTERVAL(PRC_CTRL_RXD_BACKOFF_INTERVAL469,15703 -#define PRC_ALARM_ACTION_RR_R0_STOP 472,15790 -#define PRC_ALARM_ACTION_RW_R0_STOP 473,15844 -#define PRC_ALARM_ACTION_RR_R1_STOP 474,15898 -#define PRC_ALARM_ACTION_RW_R1_STOP 475,15953 -#define PRC_ALARM_ACTION_RR_R2_STOP 476,16008 -#define PRC_ALARM_ACTION_RW_R2_STOP 477,16063 -#define PRC_ALARM_ACTION_RR_R3_STOP 478,16118 -#define PRC_ALARM_ACTION_RW_R3_STOP 479,16173 -#define PRC_ALARM_ACTION_RR_R4_STOP 480,16228 -#define PRC_ALARM_ACTION_RW_R4_STOP 481,16283 -#define PRC_ALARM_ACTION_RR_R5_STOP 482,16338 -#define PRC_ALARM_ACTION_RW_R5_STOP 483,16393 -#define PRC_ALARM_ACTION_RR_R6_STOP 484,16448 -#define PRC_ALARM_ACTION_RW_R6_STOP 485,16503 -#define PRC_ALARM_ACTION_RR_R7_STOP 486,16558 -#define PRC_ALARM_ACTION_RW_R7_STOP 487,16613 -#define RTI_CMD_MEM_WE 491,16724 -#define RTI_CMD_MEM_STROBE 492,16779 -#define RTI_CMD_MEM_STROBE_NEW_CMD 493,16835 -#define RTI_CMD_MEM_STROBE_CMD_BEING_EXECUTED 494,16891 -#define RTI_CMD_MEM_OFFSET(RTI_CMD_MEM_OFFSET495,16947 -#define RTI_DATA1_MEM_RX_TIMER_VAL(RTI_DATA1_MEM_RX_TIMER_VAL498,17029 -#define RTI_DATA1_MEM_RX_TIMER_AC_EN 499,17085 -#define RTI_DATA1_MEM_RX_TIMER_CI_EN 500,17136 -#define RTI_DATA1_MEM_RX_URNG_A(RTI_DATA1_MEM_RX_URNG_A501,17187 -#define RTI_DATA1_MEM_RX_URNG_B(RTI_DATA1_MEM_RX_URNG_B502,17243 -#define RTI_DATA1_MEM_RX_URNG_C(RTI_DATA1_MEM_RX_URNG_C503,17299 -#define RTI_DATA2_MEM_RX_UFC_A(RTI_DATA2_MEM_RX_UFC_A506,17376 -#define RTI_DATA2_MEM_RX_UFC_B(RTI_DATA2_MEM_RX_UFC_B507,17432 -#define RTI_DATA2_MEM_RX_UFC_C(RTI_DATA2_MEM_RX_UFC_C508,17489 -#define RTI_DATA2_MEM_RX_UFC_D(RTI_DATA2_MEM_RX_UFC_D509,17546 -#define RX_PA_CFG_IGNORE_FRM_ERR 512,17620 -#define RX_PA_CFG_IGNORE_SNAP_OUI 513,17670 -#define RX_PA_CFG_IGNORE_LLC_CTRL 514,17720 -#define MAC_INT_STATUS_TMAC_INT 525,17936 -#define MAC_INT_STATUS_RMAC_INT 526,17986 -#define TMAC_ERR_REG_TMAC_ECC_DB_ERR 529,18060 -#define TMAC_ERR_REG_TMAC_TX_BUF_OVRN 530,18111 -#define TMAC_ERR_REG_TMAC_TX_CRI_ERR 531,18162 -#define RMAC_ERR_REG_RX_BUFF_OVRN 536,18286 -#define RMAC_ERR_REG_RTS_ECC_DB_ERR 537,18336 -#define RMAC_ERR_REG_ECC_DB_ERR 538,18387 -#define RMAC_LINK_STATE_CHANGE_INT 539,18438 -#define MAC_CFG_TMAC_ENABLE 546,18582 -#define MAC_CFG_RMAC_ENABLE 547,18629 -#define MAC_CFG_LAN_NOT_WAN 548,18676 -#define MAC_CFG_TMAC_LOOPBACK 549,18723 -#define MAC_CFG_TMAC_APPEND_PAD 550,18770 -#define MAC_CFG_RMAC_STRIP_FCS 551,18817 -#define MAC_CFG_RMAC_STRIP_PAD 552,18864 -#define MAC_CFG_RMAC_PROM_ENABLE 553,18911 -#define MAC_RMAC_DISCARD_PFRM 554,18958 -#define MAC_RMAC_BCAST_ENABLE 555,19005 -#define MAC_RMAC_ALL_ADDR_ENABLE 556,19052 -#define MAC_RMAC_INVLD_IPG_THR(MAC_RMAC_INVLD_IPG_THR557,19100 -#define TMAC_AVG_IPG(TMAC_AVG_IPG560,19175 -#define RMAC_MAX_PYLD_LEN(RMAC_MAX_PYLD_LEN563,19250 -#define RMAC_MAX_PYLD_LEN_DEF 564,19301 -#define RMAC_MAX_PYLD_LEN_JUMBO_DEF 565,19353 -#define RMAC_ERR_FCS 568,19425 -#define RMAC_ERR_FCS_ACCEPT 569,19472 -#define RMAC_ERR_TOO_LONG 570,19519 -#define RMAC_ERR_TOO_LONG_ACCEPT 571,19566 -#define RMAC_ERR_RUNT 572,19613 -#define RMAC_ERR_RUNT_ACCEPT 573,19660 -#define RMAC_ERR_LEN_MISMATCH 574,19707 -#define RMAC_ERR_LEN_MISMATCH_ACCEPT 575,19754 -#define RMAC_CFG_KEY(RMAC_CFG_KEY578,19821 -#define MAX_MAC_ADDRESSES 580,19877 -#define MAX_MC_ADDRESSES 581,19916 -#define MAC_MAC_ADDR_START_OFFSET 582,19981 -#define MAC_MC_ADDR_START_OFFSET 583,20019 -#define MAC_MC_ALL_MC_ADDR_OFFSET 584,20058 -#define RMAC_ADDR_CMD_MEM_WE 586,20154 -#define RMAC_ADDR_CMD_MEM_RD 587,20209 -#define RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD 588,20259 -#define RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING 589,20315 -#define RMAC_ADDR_CMD_MEM_OFFSET(RMAC_ADDR_CMD_MEM_OFFSET590,20371 -#define RMAC_ADDR_DATA0_MEM_ADDR(RMAC_ADDR_DATA0_MEM_ADDR593,20459 -#define RMAC_ADDR_DATA0_MEM_USER 594,20511 -#define RMAC_ADDR_DATA1_MEM_MASK(RMAC_ADDR_DATA1_MEM_MASK597,20585 -#define RMAC_PAUSE_GEN 611,20922 -#define RMAC_PAUSE_GEN_ENABLE 612,20964 -#define RMAC_PAUSE_RX 613,21006 -#define RMAC_PAUSE_RX_ENABLE 614,21048 -#define RMAC_PAUSE_HG_PTIME_DEF 615,21090 -#define RMAC_PAUSE_HG_PTIME(RMAC_PAUSE_HG_PTIME616,21144 -#define MAC_TX_LINK_UTIL 624,21288 -#define MAC_TX_LINK_UTIL_DISABLE 625,21338 -#define MAC_TX_LINK_UTIL_VAL(MAC_TX_LINK_UTIL_VAL626,21388 -#define MAC_RX_LINK_UTIL 627,21435 -#define MAC_RX_LINK_UTIL_DISABLE 628,21486 -#define MAC_RX_LINK_UTIL_VAL(MAC_RX_LINK_UTIL_VAL629,21536 -#define MAC_LINK_UTIL_DISABLE 631,21585 -#define MAC_RTS_FRM_LEN_SET(MAC_RTS_FRM_LEN_SET637,21760 -#define MAX_DIX_MAP 642,21856 -#define RTS_DIX_MAP_ETYPE(RTS_DIX_MAP_ETYPE644,21935 -#define RTS_DIX_MAP_SCW(RTS_DIX_MAP_SCW645,21993 -#define RTS_CTRL_IGNORE_SNAP_OUI 651,22108 -#define RTS_CTRL_IGNORE_LLC_CTRL 652,22158 -#define RTS_PN_CAM_CTRL_WE 655,22231 -#define RTS_PN_CAM_CTRL_STROBE_NEW_CMD 656,22281 -#define RTS_PN_CAM_CTRL_STROBE_BEING_EXECUTED 657,22332 -#define RTS_PN_CAM_CTRL_OFFSET(RTS_PN_CAM_CTRL_OFFSET658,22388 -#define RTS_PN_CAM_DATA_TCP_SELECT 660,22466 -#define RTS_PN_CAM_DATA_PORT(RTS_PN_CAM_DATA_PORT661,22516 -#define RTS_PN_CAM_DATA_SCW(RTS_PN_CAM_DATA_SCW662,22574 -#define RTS_DS_MEM_CTRL_WE 665,22655 -#define RTS_DS_MEM_CTRL_STROBE_NEW_CMD 666,22705 -#define RTS_DS_MEM_CTRL_STROBE_CMD_BEING_EXECUTED 667,22756 -#define RTS_DS_MEM_CTRL_OFFSET(RTS_DS_MEM_CTRL_OFFSET668,22816 -#define RTS_DS_MEM_DATA(RTS_DS_MEM_DATA670,22894 -#define MAC_DBG_ACTIVITY_VALUE 675,23001 -#define MC_INT_STATUS_MC_INT 681,23144 -#define MC_INT_MASK_MC_INT 683,23212 -#define MC_ERR_REG_ECC_DB_ERR_L 686,23280 -#define MC_ERR_REG_ECC_DB_ERR_U 687,23331 -#define MC_ERR_REG_MIRI_CRI_ERR_0 688,23382 -#define MC_ERR_REG_MIRI_CRI_ERR_1 689,23433 -#define MC_ERR_REG_SM_ERR 690,23484 -#define RX_QUEUE_CFG_Q0_SZ(RX_QUEUE_CFG_Q0_SZ698,23644 -#define RX_QUEUE_CFG_Q1_SZ(RX_QUEUE_CFG_Q1_SZ699,23699 -#define RX_QUEUE_CFG_Q2_SZ(RX_QUEUE_CFG_Q2_SZ700,23754 -#define RX_QUEUE_CFG_Q3_SZ(RX_QUEUE_CFG_Q3_SZ701,23810 -#define RX_QUEUE_CFG_Q4_SZ(RX_QUEUE_CFG_Q4_SZ702,23866 -#define RX_QUEUE_CFG_Q5_SZ(RX_QUEUE_CFG_Q5_SZ703,23922 -#define RX_QUEUE_CFG_Q6_SZ(RX_QUEUE_CFG_Q6_SZ704,23978 -#define RX_QUEUE_CFG_Q7_SZ(RX_QUEUE_CFG_Q7_SZ705,24034 -#define MC_RLDRAM_QUEUE_SIZE_ENABLE 708,24111 -#define MC_RLDRAM_MRS_ENABLE 709,24157 -#define MC_RLDRAM_TEST_MODE 722,24415 -#define MC_RLDRAM_TEST_WRITE 723,24452 -#define MC_RLDRAM_TEST_GO 724,24488 -#define MC_RLDRAM_TEST_DONE 725,24523 -#define MC_RLDRAM_TEST_PASS 726,24560 -#define XGXS_INT_STATUS_TXGXS 745,24957 -#define XGXS_INT_STATUS_RXGXS 746,25007 -#define XGXS_INT_MASK_TXGXS 748,25077 -#define XGXS_INT_MASK_RXGXS 749,25127 -#define TXGXS_ECC_DB_ERR 752,25203 -} XENA_dev_config_t;XENA_dev_config_t770,25569 -#define XENA_REG_SPACE 772,25591 -#define XENA_EEPROM_SPACE 773,25640 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ne3210.c,1419 -static const char *version 29,904 -#define DRV_NAME 48,1312 -#define NE3210_START_PG 59,1814 -#define NE3210_STOP_PG 60,1877 -#define NE3210_IO_EXTENT 62,1940 -#define NE3210_SA_PROM 63,1970 -#define NE3210_RESET_PORT 64,2027 -#define NE3210_NIC_OFFSET 65,2059 -#define NE3210_ADDR0 67,2123 -#define NE3210_ADDR1 68,2178 -#define NE3210_ADDR2 69,2205 -#define NE3210_CFG1 71,2233 -#define NE3210_CFG2 72,2298 -#define NE3210_CFG_EXTENT 73,2325 -#define NE3210_D_PROBE 81,2573 -#define NE3210_D_RX_PKT 82,2601 -#define NE3210_D_TX_PKT 83,2630 -#define NE3210_D_IRQ 84,2659 -#define NE3210_DEBUG 86,2686 -static unsigned char irq_map[88,2712 -static unsigned char irq_map[] __initdata 88,2712 -static unsigned int shmem_map[89,2786 -static unsigned int shmem_map[] __initdata 89,2786 -static const char *ifmap[90,2888 -static const char *ifmap[] __initdata 90,2888 -static int ifmap_val[91,2956 -static int ifmap_val[] __initdata 91,2956 -static int __init ne3210_eisa_probe 98,3070 -static int __devexit ne3210_eisa_remove 237,7121 -static void ne3210_reset_8390(257,7658 -ne3210_get_8390_hdr(289,8611 -static void ne3210_block_input(302,9136 -static void ne3210_block_output(319,9718 -static int ne3210_open(328,10007 -static int ne3210_close(334,10085 -static struct eisa_device_id ne3210_ids[344,10241 -static struct eisa_driver ne3210_eisa_driver 350,10332 -int ne3210_init(362,10603 -void ne3210_cleanup(367,10682 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_ids.h,421 -#define _IXGB_IDS_H_30,1212 -#define INTEL_VENDOR_ID 36,1428 -#define INTEL_SUBVENDOR_ID 37,1467 -#define IXGB_DEVICE_ID_82597EX 39,1507 -#define IXGB_DEVICE_ID_82597EX_SR 40,1550 -#define IXGB_SUBDEVICE_ID_A11F 42,1594 -#define IXGB_SUBDEVICE_ID_A01F 43,1633 -#define IXGB_SUBDEVICE_ID_A15F 45,1673 -#define IXGB_SUBDEVICE_ID_A05F 46,1712 -#define IXGB_SUBDEVICE_ID_A12F 48,1752 -#define IXGB_SUBDEVICE_ID_A02F 49,1791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_param.c,1267 -#define IXGB_MAX_NIC 35,1335 -#define OPTION_UNSET 37,1359 -#define OPTION_DISABLED 38,1386 -#define OPTION_ENABLED 39,1412 -#define IXGB_PARAM_INIT 51,1868 -#define IXGB_PARAM(IXGB_PARAM58,2136 -#define DEFAULT_TXD 176,4847 -#define MAX_TXD 177,4877 -#define MIN_TXD 178,4904 -#define DEFAULT_RXD 180,4932 -#define MAX_RXD 181,4962 -#define MIN_RXD 182,4989 -#define DEFAULT_TIDV 184,5017 -#define MAX_TIDV 185,5051 -#define MIN_TIDV 186,5078 -#define DEFAULT_RDTR 188,5106 -#define MAX_RDTR 189,5140 -#define MIN_RDTR 190,5167 -#define XSUMRX_DEFAULT 192,5195 -#define FLOW_CONTROL_FULL 194,5236 -#define FLOW_CONTROL_DEFAULT 195,5278 -#define DEFAULT_FCRTL 196,5326 -#define DEFAULT_FCRTH 197,5360 -#define MIN_FCRTL 198,5392 -#define MAX_FCRTL 199,5420 -#define MIN_FCRTH 200,5448 -#define MAX_FCRTH 201,5476 -#define DEFAULT_FCPAUSE 203,5505 -#define MIN_FCPAUSE 204,5566 -#define MAX_FCPAUSE 205,5596 -struct ixgb_option ixgb_option207,5627 - enum { enable_option,208,5648 - enum { enable_option, range_option,208,5648 - enum { enable_option, range_option, list_option 208,5648 - struct ixgb_opt_list ixgb_opt_list219,5860 -static int __devinit ixgb_validate_option(227,5940 -#define LIST_LEN(LIST_LEN276,6931 -void __devinit ixgb_check_options(288,7339 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb.h,833 -#define _IXGB_H_30,1208 -#define BAR_0 71,2145 -#define BAR_1 72,2162 -#define BAR_5 73,2179 -#define IXGB_DBG(IXGB_DBG81,2305 -#define IXGB_DBG(IXGB_DBG83,2370 -#define IXGB_ERR(IXGB_ERR86,2404 -#define IXGB_RXBUFFER_2048 89,2494 -#define IXGB_RXBUFFER_4096 90,2527 -#define IXGB_RXBUFFER_8192 91,2560 -#define IXGB_RXBUFFER_16384 92,2593 -#define IXGB_TX_QUEUE_WAKE 95,2695 -#define IXGB_RX_BUFFER_WRITE 98,2798 -#define IXGB_ROUNDUP(IXGB_ROUNDUP101,2904 -struct ixgb_buffer ixgb_buffer105,3086 -struct ixgb_desc_ring ixgb_desc_ring113,3227 -#define IXGB_DESC_UNUSED(IXGB_DESC_UNUSED130,3734 -#define IXGB_GET_DESC(IXGB_GET_DESC134,3874 -#define IXGB_RX_DESC(IXGB_RX_DESC135,3944 -#define IXGB_TX_DESC(IXGB_TX_DESC136,4006 -#define IXGB_CONTEXT_DESC(IXGB_CONTEXT_DESC137,4068 -struct ixgb_adapter ixgb_adapter141,4185 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_osdep.h,822 -#define _IXGB_OSDEP_H_34,1298 -#define msec_delay(msec_delay44,1489 -#define PCI_COMMAND_REGISTER 53,1741 -#define CMD_MEM_WRT_INVALIDATE 54,1784 - FALSE 58,1867 - TRUE 60,1891 -} boolean_t;boolean_t61,1901 -#define ASSERT(ASSERT64,1929 -#define MSGOUT(MSGOUT65,1962 -#define DEBUGOUT(DEBUGOUT68,2030 -#define DEBUGOUT1(DEBUGOUT169,2077 -#define DEBUGOUT(DEBUGOUT71,2139 -#define DEBUGOUT1(DEBUGOUT172,2159 -#define DEBUGFUNC(DEBUGFUNC75,2194 -#define DEBUGOUT2 76,2227 -#define DEBUGOUT3 77,2255 -#define DEBUGOUT7 78,2283 -#define IXGB_WRITE_REG(IXGB_WRITE_REG80,2312 -#define IXGB_READ_REG(IXGB_READ_REG83,2405 -#define IXGB_WRITE_REG_ARRAY(IXGB_WRITE_REG_ARRAY86,2478 -#define IXGB_READ_REG_ARRAY(IXGB_READ_REG_ARRAY89,2603 -#define IXGB_WRITE_FLUSH(IXGB_WRITE_FLUSH92,2708 -#define IXGB_MEMCPY 94,2762 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_ee.h,1129 -#define _IXGB_EE_H_30,1211 -#define IXGB_EEPROM_SIZE 32,1232 -#define IXGB_ETH_LENGTH_OF_ADDRESS 34,1284 -#define EEPROM_READ_OPCODE 37,1346 -#define EEPROM_WRITE_OPCODE 38,1403 -#define EEPROM_ERASE_OPCODE 39,1461 -#define EEPROM_EWEN_OPCODE 40,1519 -#define EEPROM_EWDS_OPCODE 41,1584 -#define EEPROM_IA_1_2_REG 44,1683 -#define EEPROM_IA_3_4_REG 45,1723 -#define EEPROM_IA_5_6_REG 46,1763 -#define EEPROM_COMPATIBILITY_REG 47,1803 -#define EEPROM_PBA_1_2_REG 48,1843 -#define EEPROM_PBA_3_4_REG 49,1883 -#define EEPROM_INIT_CONTROL1_REG 50,1923 -#define EEPROM_SUBSYS_ID_REG 51,1963 -#define EEPROM_SUBVEND_ID_REG 52,2003 -#define EEPROM_DEVICE_ID_REG 53,2043 -#define EEPROM_VENDOR_ID_REG 54,2083 -#define EEPROM_INIT_CONTROL2_REG 55,2123 -#define EEPROM_SWDPINS_REG 56,2163 -#define EEPROM_CIRCUIT_CTRL_REG 57,2203 -#define EEPROM_D0_D3_POWER_REG 58,2243 -#define EEPROM_FLASH_VERSION 59,2283 -#define EEPROM_CHECKSUM_REG 60,2323 -#define EEPROM_ICW1_SIGNATURE_MASK 64,2419 -#define EEPROM_ICW1_SIGNATURE_VALID 65,2462 -#define EEPROM_SUM 68,2586 -#define PBA_SIZE 71,2650 -struct ixgb_ee_map_type ixgb_ee_map_type76,2733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_ee.c,1193 -static void ixgb_raise_clock(48,1867 -static void ixgb_lower_clock(65,2441 -ixgb_shift_out_bits(84,3071 -static uint16_t ixgb_shift_in_bits(129,4453 -static void ixgb_setup_eeprom(171,5627 -static void ixgb_standby_eeprom(192,6200 -static void ixgb_clock_eeprom(225,7009 -static void ixgb_cleanup_eeprom(248,7637 -static boolean_t ixgb_wait_eeprom_command(273,8315 -boolean_t ixgb_validate_eeprom_checksum(312,9447 -void ixgb_update_eeprom_checksum(334,10147 -void ixgb_write_eeprom(359,10952 -uint16_t ixgb_read_eeprom(407,12356 -boolean_t ixgb_get_eeprom_data(440,13248 -static boolean_t ixgb_check_and_get_eeprom_data(482,14454 -uint16_t ixgb_get_eeprom_word(503,15166 -void ixgb_get_ee_mac_addr(522,15736 -uint16_t ixgb_get_ee_compatibility(545,16485 -uint32_t ixgb_get_ee_pba_number(563,17077 -uint16_t ixgb_get_ee_init_ctrl_reg_1(580,17690 -uint16_t ixgb_get_ee_init_ctrl_reg_2(598,18306 -uint16_t ixgb_get_ee_subsystem_id(616,18888 -uint16_t ixgb_get_ee_subvendor_id(634,19466 -uint16_t ixgb_get_ee_device_id(652,20036 -uint16_t ixgb_get_ee_vendor_id(670,20600 -uint16_t ixgb_get_ee_swdpins_reg(688,21188 -uint8_t ixgb_get_ee_d3_power(706,21786 -uint8_t ixgb_get_ee_d0_power(724,22377 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_hw.h,16277 -#define _IXGB_HW_H_30,1211 - ixgb_mac_unknown 36,1284 - ixgb_82597,37,1307 - ixgb_num_macs38,1320 -} ixgb_mac_type;ixgb_mac_type39,1335 - ixgb_phy_type_unknown 43,1406 - ixgb_phy_type_g6005,44,1434 - ixgb_phy_type_g6104,45,1496 - ixgb_phy_type_txn17201,46,1559 - ixgb_phy_type_txn17401 47,1624 -} ixgb_phy_type;ixgb_phy_type48,1691 - ixgb_xpak_vendor_intel,52,1776 - ixgb_xpak_vendor_infineon53,1801 -} ixgb_xpak_vendor;ixgb_xpak_vendor54,1828 - ixgb_media_type_unknown 58,1882 - ixgb_media_type_fiber 59,1912 - ixgb_num_media_types60,1940 -} ixgb_media_type;ixgb_media_type61,1962 - ixgb_fc_none 65,2025 - ixgb_fc_rx_pause 66,2044 - ixgb_fc_tx_pause 67,2067 - ixgb_fc_full 68,2090 - ixgb_fc_default 69,2109 - ixgb_fc_default = 0xFF69,2109 -} ixgb_fc_type;ixgb_fc_type70,2133 - ixgb_bus_type_unknown 74,2185 - ixgb_bus_type_pci,75,2213 - ixgb_bus_type_pcix76,2233 -} ixgb_bus_type;ixgb_bus_type77,2253 - ixgb_bus_speed_unknown 81,2307 - ixgb_bus_speed_33,82,2336 - ixgb_bus_speed_66,83,2356 - ixgb_bus_speed_100,84,2376 - ixgb_bus_speed_133,85,2397 - ixgb_bus_speed_reserved86,2418 -} ixgb_bus_speed;ixgb_bus_speed87,2443 - ixgb_bus_width_unknown 91,2498 - ixgb_bus_width_32,92,2527 - ixgb_bus_width_6493,2547 -} ixgb_bus_width;ixgb_bus_width94,2566 -#define IXGB_ETH_LENGTH_OF_ADDRESS 96,2585 -#define IXGB_EEPROM_SIZE 98,2625 -#define SPEED_10000 100,2677 -#define FULL_DUPLEX 101,2704 -#define MIN_NUMBER_OF_DESCRIPTORS 103,2728 -#define MAX_NUMBER_OF_DESCRIPTORS 104,2770 -#define IXGB_DELAY_BEFORE_RESET 106,2860 -#define IXGB_DELAY_AFTER_RESET 107,2949 -#define IXGB_DELAY_AFTER_EE_RESET 108,3038 -#define IXGB_DELAY_USECS_AFTER_LINK_RESET 110,3128 -#define MAX_RESET_ITERATIONS 112,3278 -#define IXGB_CTRL0 115,3392 -#define IXGB_CTRL1 116,3458 -#define IXGB_STATUS 117,3524 -#define IXGB_EECD 118,3587 -#define IXGB_MFS 119,3662 -#define IXGB_ICR 122,3738 -#define IXGB_ICS 123,3802 -#define IXGB_IMS 124,3862 -#define IXGB_IMC 125,3926 -#define IXGB_RCTL 128,4002 -#define IXGB_FCRTL 129,4053 -#define IXGB_FCRTH 130,4128 -#define IXGB_RDBAL 131,4204 -#define IXGB_RDBAH 132,4267 -#define IXGB_RDLEN 133,4331 -#define IXGB_RDH 134,4392 -#define IXGB_RDT 135,4451 -#define IXGB_RDTR 136,4510 -#define IXGB_RXDCTL 137,4570 -#define IXGB_RAIDC 138,4637 -#define IXGB_RXCSUM 139,4718 -#define IXGB_RA 140,4783 -#define IXGB_RAL 141,4850 -#define IXGB_RAH 142,4917 -#define IXGB_MTA 143,4985 -#define IXGB_VFTA 144,5055 -#define IXGB_REQ_RX_DESCRIPTOR_MULTIPLE 145,5127 -#define IXGB_TCTL 148,5185 -#define IXGB_TDBAL 149,5236 -#define IXGB_TDBAH 150,5299 -#define IXGB_TDLEN 151,5363 -#define IXGB_TDH 152,5424 -#define IXGB_TDT 153,5483 -#define IXGB_TIDV 154,5542 -#define IXGB_TXDCTL 155,5607 -#define IXGB_TSPMT 156,5675 -#define IXGB_PAP 157,5752 -#define IXGB_REQ_TX_DESCRIPTOR_MULTIPLE 158,5807 -#define IXGB_PCSC1 161,5865 -#define IXGB_PCSC2 162,5919 -#define IXGB_PCSS1 163,5973 -#define IXGB_PCSS2 164,6026 -#define IXGB_XPCSS 165,6079 -#define IXGB_UCCR 166,6162 -#define IXGB_XPCSTC 167,6230 -#define IXGB_MACA 168,6292 -#define IXGB_APAE 169,6365 -#define IXGB_ARD 170,6433 -#define IXGB_AIS 171,6492 -#define IXGB_MSCA 172,6558 -#define IXGB_MSRWD 173,6629 -#define IXGB_WUFC 176,6719 -#define IXGB_WUS 177,6782 -#define IXGB_FFLT 178,6837 -#define IXGB_FFMT 179,6906 -#define IXGB_FTVT 180,6973 -#define IXGB_TPRL 183,7059 -#define IXGB_TPRH 184,7123 -#define IXGB_GPRCL 185,7188 -#define IXGB_GPRCH 186,7257 -#define IXGB_BPRCL 187,7327 -#define IXGB_BPRCH 188,7401 -#define IXGB_MPRCL 189,7476 -#define IXGB_MPRCH 190,7550 -#define IXGB_UPRCL 191,7625 -#define IXGB_UPRCH 192,7697 -#define IXGB_VPRCL 193,7770 -#define IXGB_VPRCH 194,7839 -#define IXGB_JPRCL 195,7909 -#define IXGB_JPRCH 196,7979 -#define IXGB_GORCL 197,8050 -#define IXGB_GORCH 198,8118 -#define IXGB_TORL 199,8187 -#define IXGB_TORH 200,8250 -#define IXGB_RNBC 201,8314 -#define IXGB_RUC 202,8374 -#define IXGB_ROC 203,8433 -#define IXGB_RLEC 204,8491 -#define IXGB_CRCERRS 205,8553 -#define IXGB_ICBC 206,8604 -#define IXGB_ECBC 207,8680 -#define IXGB_MPC 208,8754 -#define IXGB_TPTL 209,8810 -#define IXGB_TPTH 210,8877 -#define IXGB_GPTCL 211,8945 -#define IXGB_GPTCH 212,9017 -#define IXGB_BPTCL 213,9090 -#define IXGB_BPTCH 214,9167 -#define IXGB_MPTCL 215,9245 -#define IXGB_MPTCH 216,9322 -#define IXGB_UPTCL 217,9400 -#define IXGB_UPTCH 218,9475 -#define IXGB_VPTCL 219,9551 -#define IXGB_VPTCH 220,9623 -#define IXGB_JPTCL 221,9696 -#define IXGB_JPTCH 222,9769 -#define IXGB_GOTCL 223,9843 -#define IXGB_GOTCH 224,9914 -#define IXGB_TOTL 225,9986 -#define IXGB_TOTH 226,10058 -#define IXGB_DC 227,10131 -#define IXGB_PLT64C 228,10178 -#define IXGB_TSCTC 229,10261 -#define IXGB_TSCTFC 230,10339 -#define IXGB_IBIC 231,10413 -#define IXGB_RFC 232,10486 -#define IXGB_LFC 233,10540 -#define IXGB_PFRC 234,10593 -#define IXGB_PFTC 235,10654 -#define IXGB_MCFRC 236,10716 -#define IXGB_MCFTC 237,10797 -#define IXGB_XONRXC 238,10881 -#define IXGB_XONTXC 239,10935 -#define IXGB_XOFFRXC 240,10992 -#define IXGB_XOFFTXC 241,11047 -#define IXGB_RJC 242,11105 -#define IXGB_CTRL0_LRST 245,11184 -#define IXGB_CTRL0_JFE 246,11223 -#define IXGB_CTRL0_XLE 247,11262 -#define IXGB_CTRL0_MDCS 248,11301 -#define IXGB_CTRL0_CMDC 249,11340 -#define IXGB_CTRL0_SDP0 250,11379 -#define IXGB_CTRL0_SDP1 251,11418 -#define IXGB_CTRL0_SDP2 252,11457 -#define IXGB_CTRL0_SDP3 253,11496 -#define IXGB_CTRL0_SDP0_DIR 254,11535 -#define IXGB_CTRL0_SDP1_DIR 255,11574 -#define IXGB_CTRL0_SDP2_DIR 256,11613 -#define IXGB_CTRL0_SDP3_DIR 257,11652 -#define IXGB_CTRL0_RST 258,11691 -#define IXGB_CTRL0_RPE 259,11730 -#define IXGB_CTRL0_TPE 260,11769 -#define IXGB_CTRL0_VME 261,11808 -#define IXGB_CTRL1_GPI0_EN 264,11870 -#define IXGB_CTRL1_GPI1_EN 265,11912 -#define IXGB_CTRL1_GPI2_EN 266,11954 -#define IXGB_CTRL1_GPI3_EN 267,11996 -#define IXGB_CTRL1_SDP4 268,12038 -#define IXGB_CTRL1_SDP5 269,12080 -#define IXGB_CTRL1_SDP6 270,12122 -#define IXGB_CTRL1_SDP7 271,12164 -#define IXGB_CTRL1_SDP4_DIR 272,12206 -#define IXGB_CTRL1_SDP5_DIR 273,12248 -#define IXGB_CTRL1_SDP6_DIR 274,12290 -#define IXGB_CTRL1_SDP7_DIR 275,12332 -#define IXGB_CTRL1_EE_RST 276,12374 -#define IXGB_CTRL1_RO_DIS 277,12416 -#define IXGB_CTRL1_PCIXHM_MASK 278,12458 -#define IXGB_CTRL1_PCIXHM_1_2 279,12500 -#define IXGB_CTRL1_PCIXHM_5_8 280,12542 -#define IXGB_CTRL1_PCIXHM_3_4 281,12584 -#define IXGB_CTRL1_PCIXHM_7_8 282,12626 -#define IXGB_STATUS_LU 285,12692 -#define IXGB_STATUS_AIP 286,12737 -#define IXGB_STATUS_TXOFF 287,12782 -#define IXGB_STATUS_XAUIME 288,12827 -#define IXGB_STATUS_RES 289,12872 -#define IXGB_STATUS_RIS 290,12917 -#define IXGB_STATUS_RIE 291,12962 -#define IXGB_STATUS_RLF 292,13007 -#define IXGB_STATUS_RRF 293,13052 -#define IXGB_STATUS_PCI_SPD 294,13097 -#define IXGB_STATUS_BUS64 295,13142 -#define IXGB_STATUS_PCIX_MODE 296,13187 -#define IXGB_STATUS_PCIX_SPD_MASK 297,13232 -#define IXGB_STATUS_PCIX_SPD_66 298,13277 -#define IXGB_STATUS_PCIX_SPD_100 299,13322 -#define IXGB_STATUS_PCIX_SPD_133 300,13367 -#define IXGB_STATUS_REV_ID_MASK 301,13412 -#define IXGB_STATUS_REV_ID_SHIFT 302,13457 -#define IXGB_EECD_SK 305,13516 -#define IXGB_EECD_CS 306,13554 -#define IXGB_EECD_DI 307,13592 -#define IXGB_EECD_DO 308,13630 -#define IXGB_EECD_FWE_MASK 309,13668 -#define IXGB_EECD_FWE_DIS 310,13706 -#define IXGB_EECD_FWE_EN 311,13744 -#define IXGB_MFS_SHIFT 314,13793 -#define IXGB_INT_TXDW 317,13889 -#define IXGB_INT_TXQE 318,13926 -#define IXGB_INT_LSC 319,13963 -#define IXGB_INT_RXSEQ 320,14000 -#define IXGB_INT_RXDMT0 321,14037 -#define IXGB_INT_RXO 322,14074 -#define IXGB_INT_RXT0 323,14111 -#define IXGB_INT_AUTOSCAN 324,14148 -#define IXGB_INT_GPI0 325,14185 -#define IXGB_INT_GPI1 326,14222 -#define IXGB_INT_GPI2 327,14259 -#define IXGB_INT_GPI3 328,14296 -#define IXGB_RCTL_RXEN 331,14355 -#define IXGB_RCTL_SBP 332,14396 -#define IXGB_RCTL_UPE 333,14437 -#define IXGB_RCTL_MPE 334,14478 -#define IXGB_RCTL_RDMTS_MASK 335,14519 -#define IXGB_RCTL_RDMTS_1_2 336,14560 -#define IXGB_RCTL_RDMTS_1_4 337,14601 -#define IXGB_RCTL_RDMTS_1_8 338,14642 -#define IXGB_RCTL_MO_MASK 339,14683 -#define IXGB_RCTL_MO_47_36 340,14724 -#define IXGB_RCTL_MO_46_35 341,14765 -#define IXGB_RCTL_MO_45_34 342,14806 -#define IXGB_RCTL_MO_43_32 343,14847 -#define IXGB_RCTL_MO_SHIFT 344,14888 -#define IXGB_RCTL_BAM 345,14921 -#define IXGB_RCTL_BSIZE_MASK 346,14962 -#define IXGB_RCTL_BSIZE_2048 347,15003 -#define IXGB_RCTL_BSIZE_4096 348,15044 -#define IXGB_RCTL_BSIZE_8192 349,15085 -#define IXGB_RCTL_BSIZE_16384 350,15126 -#define IXGB_RCTL_VFE 351,15167 -#define IXGB_RCTL_CFIEN 352,15208 -#define IXGB_RCTL_CFI 353,15249 -#define IXGB_RCTL_RPDA_MASK 354,15290 -#define IXGB_RCTL_RPDA_MC_MAC 355,15331 -#define IXGB_RCTL_MC_ONLY 356,15372 -#define IXGB_RCTL_CFF 357,15413 -#define IXGB_RCTL_SECRC 358,15454 -#define IXGB_RDT_FPDB 359,15495 -#define IXGB_RCTL_IDLE_RX_UNIT 361,15537 -#define IXGB_FCRTL_XONE 364,15593 -#define IXGB_RXDCTL_PTHRESH_MASK 367,15658 -#define IXGB_RXDCTL_PTHRESH_SHIFT 368,15703 -#define IXGB_RXDCTL_HTHRESH_MASK 369,15739 -#define IXGB_RXDCTL_HTHRESH_SHIFT 370,15784 -#define IXGB_RXDCTL_WTHRESH_MASK 371,15820 -#define IXGB_RXDCTL_WTHRESH_SHIFT 372,15865 -#define IXGB_RAIDC_HIGHTHRS_MASK 375,15925 -#define IXGB_RAIDC_DELAY_MASK 376,15969 -#define IXGB_RAIDC_DELAY_SHIFT 377,16013 -#define IXGB_RAIDC_POLL_MASK 378,16049 -#define IXGB_RAIDC_POLL_SHIFT 379,16093 -#define IXGB_RAIDC_RXT_GATE 380,16129 -#define IXGB_RAIDC_EN 381,16173 -#define IXGB_RAIDC_POLL_1000_INTERRUPTS_PER_SECOND 383,16218 -#define IXGB_RAIDC_POLL_5000_INTERRUPTS_PER_SECOND 384,16279 -#define IXGB_RAIDC_POLL_10000_INTERRUPTS_PER_SECOND 385,16339 -#define IXGB_RAIDC_POLL_20000_INTERRUPTS_PER_SECOND 386,16399 -#define IXGB_RXCSUM_IPOFL 389,16482 -#define IXGB_RXCSUM_TUOFL 390,16519 -#define IXGB_RAH_ASEL_MASK 393,16577 -#define IXGB_RAH_ASEL_DEST 394,16615 -#define IXGB_RAH_ASEL_SRC 395,16653 -#define IXGB_RAH_AV 396,16691 -#define IXGB_TCTL_TCE 399,16751 -#define IXGB_TCTL_TXEN 400,16785 -#define IXGB_TCTL_TPDE 401,16819 -#define IXGB_TCTL_IDLE_TX_UNIT 403,16854 -#define IXGB_TXDCTL_PTHRESH_MASK 406,16912 -#define IXGB_TXDCTL_HTHRESH_MASK 407,16957 -#define IXGB_TXDCTL_HTHRESH_SHIFT 408,17002 -#define IXGB_TXDCTL_WTHRESH_MASK 409,17038 -#define IXGB_TXDCTL_WTHRESH_SHIFT 410,17083 -#define IXGB_TSPMT_TSMT_MASK 413,17143 -#define IXGB_TSPMT_TSPBP_MASK 414,17185 -#define IXGB_TSPMT_TSPBP_SHIFT 415,17227 -#define IXGB_PAP_TXPC_MASK 418,17282 -#define IXGB_PAP_TXPV_MASK 419,17320 -#define IXGB_PAP_TXPV_10G 420,17358 -#define IXGB_PAP_TXPV_1G 421,17396 -#define IXGB_PAP_TXPV_2G 422,17434 -#define IXGB_PAP_TXPV_3G 423,17472 -#define IXGB_PAP_TXPV_4G 424,17510 -#define IXGB_PAP_TXPV_5G 425,17548 -#define IXGB_PAP_TXPV_6G 426,17586 -#define IXGB_PAP_TXPV_7G 427,17624 -#define IXGB_PAP_TXPV_8G 428,17662 -#define IXGB_PAP_TXPV_9G 429,17700 -#define IXGB_PAP_TXPV_WAN 430,17738 -#define IXGB_PCSC1_LOOPBACK 433,17799 -#define IXGB_PCSC2_PCS_TYPE_MASK 436,17861 -#define IXGB_PCSC2_PCS_TYPE_10GBX 437,17906 -#define IXGB_PCSS1_LOCAL_FAULT 440,17974 -#define IXGB_PCSS1_RX_LINK_STATUS 441,18019 -#define IXGB_PCSS2_DEV_PRES_MASK 444,18087 -#define IXGB_PCSS2_DEV_PRES 445,18131 -#define IXGB_PCSS2_TX_LF 446,18175 -#define IXGB_PCSS2_RX_LF 447,18219 -#define IXGB_PCSS2_10GBW 448,18263 -#define IXGB_PCSS2_10GBX 449,18307 -#define IXGB_PCSS2_10GBR 450,18351 -#define IXGB_XPCSS_ALIGN_STATUS 453,18418 -#define IXGB_XPCSS_PATTERN_TEST 454,18461 -#define IXGB_XPCSS_LANE_3_SYNC 455,18504 -#define IXGB_XPCSS_LANE_2_SYNC 456,18547 -#define IXGB_XPCSS_LANE_1_SYNC 457,18590 -#define IXGB_XPCSS_LANE_0_SYNC 458,18633 -#define IXGB_XPCSTC_BERT_TRIG 461,18700 -#define IXGB_XPCSTC_BERT_SST 462,18747 -#define IXGB_XPCSTC_BERT_PSZ_MASK 463,18794 -#define IXGB_XPCSTC_BERT_PSZ_SHIFT 464,18841 -#define IXGB_XPCSTC_BERT_PSZ_INF 465,18880 -#define IXGB_XPCSTC_BERT_PSZ_68 466,18927 -#define IXGB_XPCSTC_BERT_PSZ_1028 467,18974 -#define IXGB_MSCA_NP_ADDR_MASK 471,19070 -#define IXGB_MSCA_NP_ADDR_SHIFT 472,19117 -#define IXGB_MSCA_DEV_TYPE_MASK 474,19221 -#define IXGB_MSCA_DEV_TYPE_SHIFT 475,19268 -#define IXGB_MSCA_PHY_ADDR_MASK 476,19307 -#define IXGB_MSCA_PHY_ADDR_SHIFT 477,19354 -#define IXGB_MSCA_OP_CODE_MASK 478,19393 -#define IXGB_MSCA_ADDR_CYCLE 483,19676 -#define IXGB_MSCA_WRITE 484,19723 -#define IXGB_MSCA_READ 485,19770 -#define IXGB_MSCA_READ_AUTOINC 486,19817 -#define IXGB_MSCA_OP_CODE_SHIFT 487,19864 -#define IXGB_MSCA_ST_CODE_MASK 488,19903 -#define IXGB_MSCA_NEW_PROTOCOL 491,20020 -#define IXGB_MSCA_OLD_PROTOCOL 492,20067 -#define IXGB_MSCA_ST_CODE_SHIFT 493,20114 -#define IXGB_MSCA_MDI_COMMAND 495,20214 -#define IXGB_MSCA_MDI_IN_PROG_EN 497,20290 -#define IXGB_MSRWD_WRITE_DATA_MASK 500,20360 -#define IXGB_MSRWD_WRITE_DATA_SHIFT 501,20407 -#define IXGB_MSRWD_READ_DATA_MASK 502,20445 -#define IXGB_MSRWD_READ_DATA_SHIFT 503,20492 -#define IXGB_PHY_ADDRESS 506,20590 -#define MDIO_PMA_PMD_DID 509,20734 -#define MDIO_WIS_DID 510,20771 -#define MDIO_PCS_DID 511,20808 -#define MDIO_XGXS_DID 512,20845 -#define MDIO_PMA_PMD_CR1 517,21057 -#define MDIO_PMA_PMD_CR1_RESET 518,21096 -#define MDIO_PMA_PMD_XPAK_VENDOR_NAME 520,21136 -#define G6XXX_PMA_PMD_VS1 523,21256 -#define G6XXX_XGXS_XAUI_VS2 524,21338 -#define G6XXX_PMA_PMD_VS1_PLL_RESET 526,21419 -#define G6XXX_PMA_PMD_VS1_REMOVE_PLL_RESET 527,21468 -#define G6XXX_XGXS_XAUI_VS2_INPUT_MASK 528,21517 -struct ixgb_rx_desc ixgb_rx_desc535,21912 -#define IXGB_RX_DESC_STATUS_DD 544,22050 -#define IXGB_RX_DESC_STATUS_EOP 545,22089 -#define IXGB_RX_DESC_STATUS_IXSM 546,22128 -#define IXGB_RX_DESC_STATUS_VP 547,22167 -#define IXGB_RX_DESC_STATUS_TCPCS 548,22206 -#define IXGB_RX_DESC_STATUS_IPCS 549,22245 -#define IXGB_RX_DESC_STATUS_PIF 550,22284 -#define IXGB_RX_DESC_ERRORS_CE 552,22324 -#define IXGB_RX_DESC_ERRORS_SE 553,22362 -#define IXGB_RX_DESC_ERRORS_P 554,22400 -#define IXGB_RX_DESC_ERRORS_TCPE 555,22438 -#define IXGB_RX_DESC_ERRORS_IPE 556,22476 -#define IXGB_RX_DESC_ERRORS_RXE 557,22514 -#define IXGB_RX_DESC_SPECIAL_VLAN_MASK 559,22553 -#define IXGB_RX_DESC_SPECIAL_PRI_MASK 560,22634 -#define IXGB_RX_DESC_SPECIAL_PRI_SHIFT 561,22715 -struct ixgb_tx_desc ixgb_tx_desc568,23114 -#define IXGB_TX_DESC_LENGTH_MASK 576,23234 -#define IXGB_TX_DESC_TYPE_MASK 577,23281 -#define IXGB_TX_DESC_TYPE_SHIFT 578,23328 -#define IXGB_TX_DESC_CMD_MASK 579,23367 -#define IXGB_TX_DESC_CMD_SHIFT 580,23414 -#define IXGB_TX_DESC_CMD_EOP 581,23453 -#define IXGB_TX_DESC_CMD_TSE 582,23500 -#define IXGB_TX_DESC_CMD_RS 583,23547 -#define IXGB_TX_DESC_CMD_VLE 584,23594 -#define IXGB_TX_DESC_CMD_IDE 585,23641 -#define IXGB_TX_DESC_TYPE 587,23689 -#define IXGB_TX_DESC_STATUS_DD 589,23737 -#define IXGB_TX_DESC_POPTS_IXSM 591,23775 -#define IXGB_TX_DESC_POPTS_TXSM 592,23812 -#define IXGB_TX_DESC_SPECIAL_PRI_SHIFT 593,23849 -struct ixgb_context_desc ixgb_context_desc595,23956 -#define IXGB_CONTEXT_DESC_CMD_TCP 608,24159 -#define IXGB_CONTEXT_DESC_CMD_IP 609,24204 -#define IXGB_CONTEXT_DESC_CMD_TSE 610,24249 -#define IXGB_CONTEXT_DESC_CMD_RS 611,24294 -#define IXGB_CONTEXT_DESC_CMD_IDE 612,24339 -#define IXGB_CONTEXT_DESC_TYPE 614,24385 -#define IXGB_CONTEXT_DESC_STATUS_DD 616,24428 -#define IXGB_RAR_ENTRIES 619,24484 -#define IXGB_MC_TBL_SIZE 620,24565 -#define IXGB_VLAN_FILTER_TBL_SIZE 621,24644 -#define IXGB_MEMORY_REGISTER_BASE_ADDRESS 623,24719 -#define ENET_HEADER_SIZE 624,24765 -#define ENET_FCS_LENGTH 625,24804 -#define IXGB_MAX_NUM_MULTICAST_ADDRESSES 626,24842 -#define IXGB_MIN_ENET_FRAME_SIZE_WITHOUT_FCS 627,24890 -#define IXGB_MAX_ENET_FRAME_SIZE_WITHOUT_FCS 628,24941 -#define IXGB_MAX_JUMBO_FRAME_SIZE 629,24994 -#define IXGB_OPTICAL_PHY_ADDR 632,25062 -#define IXGB_XAUII_PHY_ADDR 633,25129 -#define IXGB_DIAG_PHY_ADDR 634,25199 -struct ixgb_flash_buffer ixgb_flash_buffer637,25350 -#define IS_MULTICAST(IS_MULTICAST650,25585 -#define IS_BROADCAST(IS_BROADCAST656,25728 -struct ixgb_fc ixgb_fc660,25908 -#define FC_DEFAULT_HI_THRESH 669,26305 -#define FC_DEFAULT_LO_THRESH 670,26361 -#define FC_DEFAULT_TX_TIMER 671,26417 -#define IXGB_MAX_PHY_REG_ADDRESS 674,26498 -#define IXGB_MAX_PHY_ADDRESS 675,26541 -#define IXGB_MAX_PHY_DEV_TYPE 676,26580 -struct ixgb_bus ixgb_bus679,26641 -struct ixgb_hw ixgb_hw685,26730 -struct ixgb_hw_stats ixgb_hw_stats720,28597 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_ethtool.c,709 -static inline int ixgb_eeprom_size(41,1465 -struct ixgb_stats ixgb_stats47,1586 -#define IXGB_STAT(IXGB_STAT53,1682 -static struct ixgb_stats ixgb_gstrings_stats[55,1785 -#define IXGB_STATS_LEN 94,3702 -ixgb_ethtool_gset(98,3797 -ixgb_ethtool_sset(117,4274 -ixgb_ethtool_gpause(131,4555 -ixgb_ethtool_spause(151,4969 -ixgb_ethtool_gdrvinfo(175,5551 -#define IXGB_REG_DUMP_LEN 183,5884 -#define IXGB_GET_STAT(IXGB_GET_STAT188,6033 -ixgb_ethtool_gregs(190,6092 -ixgb_ethtool_geeprom(326,11775 -ixgb_ethtool_seeprom(364,12676 -#define IXGB_ID_INTERVAL 416,14197 -#define IXGB_LED_ON 419,14272 -static void ixgb_led_blink_callback(421,14296 -ixgb_ethtool_led_blink(434,14620 -int ixgb_ethtool_ioctl(457,15209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_main.c,2605 -char ixgb_driver_name[31,1210 -char ixgb_driver_string[32,1244 -#define DRV_VERSION 33,1309 -char ixgb_driver_version[34,1338 -char ixgb_copyright[35,1380 -static struct pci_device_id ixgb_pci_tbl[45,1683 -struct notifier_block ixgb_notifier_reboot 119,5058 -static struct pci_driver ixgb_driver 130,5352 -#define RXDCTL_PTHRESH_DEFAULT 146,5804 -#define RXDCTL_HTHRESH_DEFAULT 147,5879 -#define RXDCTL_WTHRESH_DEFAULT 149,6002 -static int __init ixgb_init_module(158,6270 -static void __exit ixgb_exit_module(182,6757 -static inline void ixgb_irq_disable(195,7036 -static inline void ixgb_irq_enable(208,7363 -int ixgb_up(218,7653 -void ixgb_down(269,8922 -void ixgb_reset(287,9366 -ixgb_probe(308,9898 -static void __devexit ixgb_remove(477,14042 -static int __devinit ixgb_sw_init(499,14624 -static int ixgb_open(546,16023 -static int ixgb_close(588,16980 -static int ixgb_setup_tx_resources(607,17348 -static void ixgb_configure_tx(645,18226 -static int ixgb_setup_rx_resources(696,19711 -static void ixgb_setup_rctl(733,20530 -static void ixgb_configure_rx(774,21395 -#define IXGB_RAIDC_POLL_DEFAULT 825,22858 -static void ixgb_free_tx_resources(865,24022 -static void ixgb_clean_tx_ring(885,24462 -static void ixgb_free_rx_resources(930,25462 -static void ixgb_clean_rx_ring(950,25900 -static int ixgb_set_mac(997,26966 -static void ixgb_set_multi(1022,27659 -static void ixgb_watchdog(1065,28751 -#define IXGB_TX_FLAGS_CSUM 1126,30505 -#define IXGB_TX_FLAGS_VLAN 1127,30544 -#define IXGB_TX_FLAGS_TSO 1128,30583 -ixgb_tso(1131,30646 -ixgb_tx_csum(1192,32314 -#define IXGB_MAX_TXD_PWR 1227,33199 -#define IXGB_MAX_DATA_PER_TXD 1228,33227 -ixgb_tx_map(1231,33298 -ixgb_tx_queue(1294,34747 -#define TXD_USE_COUNT(TXD_USE_COUNT1347,36164 -#define DESC_NEEDED 1349,36271 -static int ixgb_xmit_frame(1352,36379 -static void ixgb_tx_timeout(1398,37448 -static void ixgb_tx_timeout_task(1406,37647 -static struct net_device_stats *ixgb_get_stats(1424,38098 -static int ixgb_change_mtu(1439,38458 -static void ixgb_update_stats(1482,39576 -#define IXGB_MAX_INTR 1583,44628 -static irqreturn_t ixgb_intr(1591,44817 -static int ixgb_clean(1641,46181 -static boolean_t ixgb_clean_tx_irq(1668,46831 -ixgb_rx_checksum(1742,48568 -ixgb_clean_rx_irq(1774,49447 -static void ixgb_alloc_rx_buffers(1906,52468 -static int ixgb_ioctl(1981,54485 -ixgb_vlan_rx_register(2000,54902 -static void ixgb_vlan_rx_add_vid(2037,55791 -static void ixgb_vlan_rx_kill_vid(2050,56131 -static void ixgb_restore_vlan(2070,56601 -ixgb_notify_reboot(2091,57145 -static int ixgb_suspend(2112,57660 -static void ixgb_netpoll(2138,58268 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ixgb/ixgb_hw.c,879 -uint32_t ixgb_mac_reset(52,1758 -boolean_t ixgb_adapter_stop(87,2861 -static ixgb_xpak_vendor ixgb_identify_xpak_vendor(147,4952 -static ixgb_phy_type ixgb_identify_phy(186,6198 -boolean_t ixgb_init_hw(240,7813 -void ixgb_init_rx_addrs(325,10262 -ixgb_mc_addr_list_update(385,12211 -static uint32_t ixgb_hash_mc_addr(463,14560 -static void ixgb_mta_set(509,16055 -void ixgb_rar_set(541,17196 -void ixgb_write_vfta(569,18180 -void ixgb_clear_vfta(580,18570 -boolean_t ixgb_setup_fc(595,19044 -ixgb_read_phy_reg(697,22408 -ixgb_write_phy_reg(787,25506 -void ixgb_check_for_link(863,28093 -boolean_t ixgb_check_for_bad_link(899,29301 -void ixgb_clear_hw_cntrs(925,30073 -void ixgb_led_on(1005,32878 -void ixgb_led_off(1020,33381 -static void ixgb_get_bus_info(1035,33907 -boolean_t mac_addr_valid(1076,35025 -boolean_t ixgb_link_reset(1108,35974 -void ixgb_optics_reset(1138,36888 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tc35815.c,7613 -static const char *version 31,1506 -static const char* cardname 63,2291 -#define TC35815_PROC_ENTRY 64,2334 -#define TC35815_MODULE_NAME 66,2376 -#define TX_TIMEOUT 67,2416 -#define TC35815_DEBUG 73,2587 -static unsigned int tc35815_debug 75,2618 -#define GATHER_TXINT 77,2670 -#define vtonocache(vtonocache79,2721 -struct tc35815_regs tc35815_regs84,2791 -#define DMA_IntMask 122,3765 -#define DMA_SWIntReq 123,3845 -#define DMA_TxWakeUp 124,3925 -#define DMA_RxBigE 125,4005 -#define DMA_TxBigE 126,4085 -#define DMA_TestMode 127,4165 -#define DMA_PowrMgmnt 128,4245 -#define DMA_DmBurst_Mask 129,4325 -#define RxFrag_EnPack 132,4486 -#define RxFrag_MinFragMask 133,4566 -#define MAC_Link10 136,4727 -#define MAC_EnMissRoll 137,4807 -#define MAC_MissRoll 138,4887 -#define MAC_Loop10 139,4967 -#define MAC_Conn_Auto 140,5047 -#define MAC_Conn_10M 141,5127 -#define MAC_Conn_Mll 142,5207 -#define MAC_MacLoop 143,5287 -#define MAC_FullDup 144,5367 -#define MAC_Reset 145,5447 -#define MAC_HaltImm 146,5527 -#define MAC_HaltReq 147,5607 -#define PROM_Busy 150,5768 -#define PROM_Read 151,5848 -#define PROM_Write 152,5928 -#define PROM_Erase 153,6008 -#define PROM_Addr_Ena 156,6248 -#define CAM_CompEn 160,6489 -#define CAM_NegCAM 161,6569 -#define CAM_BroadAcc 163,6729 -#define CAM_GroupAcc 164,6809 -#define CAM_StationAcc 165,6889 -#define CAM_ENTRY_MAX 168,7050 -#define CAM_Ena_Mask 169,7130 -#define CAM_Ena_Bit(CAM_Ena_Bit170,7210 -#define CAM_ENTRY_DESTINATION 171,7258 -#define CAM_ENTRY_SOURCE 172,7290 -#define CAM_ENTRY_MACCTL 173,7317 -#define Tx_En 176,7426 -#define Tx_TxHalt 177,7506 -#define Tx_NoPad 178,7586 -#define Tx_NoCRC 179,7666 -#define Tx_FBack 180,7746 -#define Tx_EnUnder 181,7826 -#define Tx_EnExDefer 182,7906 -#define Tx_EnLCarr 183,7986 -#define Tx_EnExColl 184,8066 -#define Tx_EnLateColl 185,8146 -#define Tx_EnTxPar 186,8226 -#define Tx_EnComp 187,8306 -#define Tx_TxColl_MASK 190,8467 -#define Tx_ExColl 191,8547 -#define Tx_TXDefer 192,8627 -#define Tx_Paused 193,8707 -#define Tx_IntTx 194,8787 -#define Tx_Under 195,8867 -#define Tx_Defer 196,8947 -#define Tx_NCarr 197,9027 -#define Tx_10Stat 198,9107 -#define Tx_LateColl 199,9187 -#define Tx_TxPar 200,9267 -#define Tx_Comp 201,9347 -#define Tx_Halted 202,9427 -#define Tx_SQErr 203,9507 -#define Rx_EnGood 206,9668 -#define Rx_EnRxPar 207,9748 -#define Rx_EnLongErr 208,9828 -#define Rx_EnOver 209,9908 -#define Rx_EnCRCErr 210,9988 -#define Rx_EnAlign 211,10068 -#define Rx_IgnoreCRC 212,10148 -#define Rx_StripCRC 213,10228 -#define Rx_ShortEn 214,10308 -#define Rx_LongEn 215,10388 -#define Rx_RxHalt 216,10468 -#define Rx_RxEn 217,10548 -#define Rx_Halted 220,10709 -#define Rx_Good 221,10789 -#define Rx_RxPar 222,10869 -#define Rx_LongErr 224,11029 -#define Rx_Over 225,11109 -#define Rx_CRCErr 226,11189 -#define Rx_Align 227,11269 -#define Rx_10Stat 228,11349 -#define Rx_IntRx 229,11429 -#define Rx_CtlRecd 230,11509 -#define Rx_Stat_Mask 232,11590 -#define Int_NRAbtEn 235,11751 -#define Int_TxCtlCmpEn 236,11831 -#define Int_DmParErrEn 237,11914 -#define Int_DParDEn 238,11994 -#define Int_EarNotEn 239,12074 -#define Int_DParErrEn 240,12154 -#define Int_SSysErrEn 241,12234 -#define Int_RMasAbtEn 242,12314 -#define Int_RTargAbtEn 243,12394 -#define Int_STargAbtEn 244,12474 -#define Int_BLExEn 245,12554 -#define Int_FDAExEn 246,12634 -#define Int_NRabt 250,12875 -#define Int_DmParErrStat 251,12955 -#define Int_BLEx 252,13035 -#define Int_FDAEx 253,13115 -#define Int_IntNRAbt 254,13195 -#define Int_IntCmp 255,13275 -#define Int_IntExBD 256,13355 -#define Int_DmParErr 257,13435 -#define Int_IntEarNot 258,13515 -#define Int_SWInt 259,13595 -#define Int_IntBLEx 260,13675 -#define Int_IntFDAEx 261,13755 -#define Int_IntPCI 262,13835 -#define Int_IntMacRx 263,13915 -#define Int_IntMacTx 264,13995 -#define MD_CA_PreSup 267,14156 -#define MD_CA_Busy 268,14236 -#define MD_CA_Wr 269,14316 -#define MII_CONTROL 273,14425 -#define MII_STATUS 274,14464 -#define MII_PHY_ID0 275,14503 -#define MII_PHY_ID1 276,14542 -#define MII_ANAR 277,14581 -#define MII_ANLPAR 278,14620 -#define MII_ANER 279,14659 -#define MIICNTL_FDX 281,14742 -#define MIICNTL_RST_AUTO 282,14781 -#define MIICNTL_ISOLATE 283,14820 -#define MIICNTL_PWRDWN 284,14859 -#define MIICNTL_AUTO 285,14898 -#define MIICNTL_SPEED 286,14937 -#define MIICNTL_LPBK 287,14976 -#define MIICNTL_RESET 288,15015 -#define MIISTAT_EXT 290,15098 -#define MIISTAT_JAB 291,15137 -#define MIISTAT_LINK 292,15176 -#define MIISTAT_CAN_AUTO 293,15215 -#define MIISTAT_FAULT 294,15254 -#define MIISTAT_AUTO_DONE 295,15293 -#define MIISTAT_CAN_T 296,15332 -#define MIISTAT_CAN_T_FDX 297,15371 -#define MIISTAT_CAN_TX 298,15410 -#define MIISTAT_CAN_TX_FDX 299,15449 -#define MIISTAT_CAN_T4 300,15488 -#define MII_AN_TX_FDX 302,15588 -#define MII_AN_TX_HDX 303,15627 -#define MII_AN_10_FDX 304,15666 -#define MII_AN_10_HDX 305,15705 -struct FDesc FDesc313,15792 -struct BDesc BDesc321,15932 -#define FD_ALIGN 326,16000 -#define FD_FDLength_MASK 329,16101 -#define FD_BDCnt_MASK 330,16181 -#define FD_FrmOpt_MASK 331,16261 -#define FD_FrmOpt_BigEndian 332,16341 -#define FD_FrmOpt_IntTx 333,16395 -#define FD_FrmOpt_NoCRC 334,16451 -#define FD_FrmOpt_NoPadding 335,16507 -#define FD_FrmOpt_Packing 336,16563 -#define FD_CownsFD 337,16619 -#define FD_Next_EOL 338,16699 -#define FD_BDCnt_SHIFT 339,16779 -#define BD_BuffLength_MASK 342,16894 -#define BD_RxBDID_MASK 343,16974 -#define BD_RxBDSeqN_MASK 344,17054 -#define BD_CownsBD 345,17134 -#define BD_RxBDID_SHIFT 346,17214 -#define BD_RxBDSeqN_SHIFT 347,17248 -#define TX_CTL_CMD 354,17402 -#define TX_CTL_CMD 358,17557 -#define RX_CTL_CMD 362,17700 -#define INT_EN_CMD 365,17831 -#define DMA_BURST_SIZE 372,18045 -#define TX_THRESHOLD 373,18071 -#define FD_PAGE_NUM 375,18098 -#define FD_PAGE_ORDER 376,18120 -#define RX_BUF_PAGES 378,18221 -#define RX_FD_NUM 379,18255 -#define TX_FD_NUM 380,18289 -struct TxFD TxFD382,18312 -struct RxFD RxFD388,18388 -struct FrFD FrFD393,18467 -dma_addr_t priv_dma_handle;402,18655 -struct tc35815_local tc35815_local405,18739 -#define TC35815_OPT_AUTO 418,18942 -#define TC35815_OPT_10M 419,18972 -#define TC35815_OPT_100M 420,19001 -#define TC35815_OPT_FULLDUP 421,19031 -static struct net_device *root_tc35815_dev 468,20659 -static struct pci_device_id tc35815_pci_tbl[473,20785 -tc35815_probe(481,20998 -static int __devinit tc35815_probe1(525,21922 -tc35815_init_queues(625,24420 -tc35815_clear_queues(710,26973 -tc35815_free_queues(727,27323 -dump_txfd(759,27999 -dump_rxfd(774,28363 -dump_frfd(796,28964 -panic_queues(813,29382 -static void print_buf(834,29963 -static void print_eth(852,30264 -tc35815_open(874,30946 -static void tc35815_tx_timeout(903,31555 -static int tc35815_send_packet(922,32111 -#define FATAL_ERROR_INT 1019,34789 -static void tc35815_fatal_error_interrupt(1021,34859 -static irqreturn_t tc35815_interrupt(1047,35556 -tc35815_rx(1115,37345 -#define TX_STA_ERR 1251,41236 -#define TX_STA_ERR 1253,41321 -tc35815_check_tx_stat(1257,41429 -tc35815_txdone(1314,42702 -tc35815_close(1389,44732 -static struct net_device_stats *tc35815_get_stats(1410,45080 -static void tc35815_set_cam_entry(1426,45533 -tc35815_set_multicast_list(1482,47223 -static unsigned long tc_phy_read(1521,48386 -static void tc_phy_write(1537,48813 -static void tc35815_phy_chip_init(1551,49221 -static void tc35815_chip_reset(1628,51380 -static void tc35815_chip_init(1656,52130 -tc35815_killall(1708,53819 -static struct pci_driver tc35815_driver 1719,54017 -static int __init tc35815_init_module(1726,54167 -static void __exit tc35815_cleanup_module(1731,54258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/acenic_firmware.h,1716 -#define tigonFwReleaseMajor 6,153 -#define tigonFwReleaseMinor 7,185 -#define tigonFwReleaseFix 8,217 -#define tigonFwStartAddr 9,247 -#define tigonFwTextAddr 10,283 -#define tigonFwTextLen 11,318 -#define tigonFwRodataAddr 12,349 -#define tigonFwRodataLen 13,386 -#define tigonFwDataAddr 14,417 -#define tigonFwDataLen 15,452 -#define tigonFwSbssAddr 16,481 -#define tigonFwSbssLen 17,516 -#define tigonFwBssAddr 18,544 -#define tigonFwBssLen 19,578 -#define tigonFwText 21,641 -#define tigonFwData 22,666 -#define tigonFwRodata 23,691 -static u32 tigonFwText[26,751 -static u32 tigonFwText[(MAX_TEXT_LEN/4) + 1] __initdata 26,751 -static u32 tigonFwRodata[4400,200108 -static u32 tigonFwRodata[(MAX_RODATA_LEN/4) + 1] __initdata 4400,200108 -static u32 tigonFwData[4574,207628 -static u32 tigonFwData[(MAX_DATA_LEN/4) + 1] __initdata 4574,207628 -#define tigon2FwReleaseMajor 4601,208361 -#define tigon2FwReleaseMinor 4602,208394 -#define tigon2FwReleaseFix 4603,208427 -#define tigon2FwStartAddr 4604,208458 -#define tigon2FwTextAddr 4605,208495 -#define tigon2FwTextLen 4606,208531 -#define tigon2FwRodataAddr 4607,208563 -#define tigon2FwRodataLen 4608,208601 -#define tigon2FwDataAddr 4609,208634 -#define tigon2FwDataLen 4610,208670 -#define tigon2FwSbssAddr 4611,208700 -#define tigon2FwSbssLen 4612,208736 -#define tigon2FwBssAddr 4613,208765 -#define tigon2FwBssLen 4614,208800 -static u32 tigon2FwText[4615,208830 -static u32 tigon2FwText[(MAX_TEXT_LEN/4) + 1] __initdata 4615,208830 -static u32 tigon2FwRodata[9157,417805 -static u32 tigon2FwRodata[(MAX_RODATA_LEN/4) + 1] __initdata 9157,417805 -static u32 tigon2FwData[9428,429798 -static u32 tigon2FwData[(MAX_DATA_LEN/4) + 1] __initdata 9428,429798 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hplance.c,557 -#define LANCE_LOG_TX_BUFFERS 36,980 -#define LANCE_LOG_RX_BUFFERS 37,1011 -struct hplance_private hplance_private42,1156 -static struct hplance_private *root_hplance_dev;61,1890 -static void cleanup_card(64,1947 -struct net_device * __init hplance_probe(71,2146 -static void __init hplance_init(112,3104 -static void hplance_writerap(166,5398 -static void hplance_writerdp(175,5703 -static unsigned short hplance_readrdp(184,6008 -static int hplance_open(195,6346 -static int hplance_close(210,6796 -int init_module(221,7144 -void cleanup_module(229,7263 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c523.h,3086 -#define _3c523_INCLUDE_2,24 -#define SCP_DEFAULT_ADDRESS 24,605 -struct scp_structscp_struct31,691 -struct iscp_structiscp_struct45,1039 -struct scb_structscb_struct56,1367 -#define RUC_MASK 71,1927 -#define RUC_NOP 72,1978 -#define RUC_START 73,2020 -#define RUC_RESUME 74,2060 -#define RUC_SUSPEND 75,2116 -#define RUC_ABORT 76,2160 -#define CUC_MASK 78,2229 -#define CUC_NOP 79,2279 -#define CUC_START 80,2321 -#define CUC_RESUME 81,2389 -#define CUC_SUSPEND 82,2442 -#define CUC_ABORT 83,2486 -#define ACK_MASK 85,2554 -#define ACK_CX 86,2605 -#define ACK_FR 87,2655 -#define ACK_CNA 88,2697 -#define ACK_RNR 89,2741 -#define STAT_MASK 94,2839 -#define STAT_CX 95,2898 -#define STAT_FR 96,2963 -#define STAT_CNA 97,3023 -#define STAT_RNR 98,3074 -#define CU_STATUS 100,3125 -#define CU_SUSPEND 101,3173 -#define CU_ACTIVE 102,3220 -#define RU_STATUS 104,3264 -#define RU_SUSPEND 105,3311 -#define RU_NOSPACE 106,3354 -#define RU_READY 107,3400 -struct rfd_structrfd_struct112,3482 -#define RFD_LAST 124,3948 -#define RFD_SUSP 125,4009 -#define RFD_ERRMASK 126,4067 -#define RFD_MATCHADD 127,4123 -#define RFD_RNR 128,4200 -struct rbd_struct rbd_struct133,4311 -#define RBD_LAST 142,4620 -#define RBD_USED 143,4662 -#define RBD_MASK 144,4713 -#define STAT_COMPL 149,4805 -#define STAT_BUSY 150,4873 -#define STAT_OK 151,4937 -#define CMD_NOP 156,5026 -#define CMD_IASETUP 157,5060 -#define CMD_CONFIGURE 158,5123 -#define CMD_MCSETUP 159,5176 -#define CMD_XMIT 160,5226 -#define CMD_TDR 161,5273 -#define CMD_DUMP 162,5343 -#define CMD_DIAGNOSE 163,5386 -#define CMD_LAST 168,5468 -#define CMD_SUSPEND 169,5532 -#define CMD_INT 170,5590 -struct nop_cmd_structnop_cmd_struct175,5680 -struct iasetup_cmd_struct iasetup_cmd_struct185,5926 -struct configure_cmd_structconfigure_cmd_struct196,6097 -struct mcsetup_cmd_struct mcsetup_cmd_struct218,6983 -struct transmit_cmd_struct transmit_cmd_struct230,7256 -#define TCMD_ERRMASK 240,7570 -#define TCMD_MAXCOLLMASK 241,7602 -#define TCMD_MAXCOLL 242,7634 -#define TCMD_HEARTBEAT 243,7666 -#define TCMD_DEFERRED 244,7698 -#define TCMD_UNDERRUN 245,7730 -#define TCMD_LOSTCTS 246,7762 -#define TCMD_NOCARRIER 247,7794 -#define TCMD_LATECOLL 248,7826 -struct tdr_cmd_structtdr_cmd_struct250,7859 -#define TDR_LNK_OK 258,7994 -#define TDR_XCVR_PRB 259,8053 -#define TDR_ET_OPN 260,8119 -#define TDR_ET_SRT 261,8180 -#define TDR_TIMEMASK 262,8241 -struct tbd_structtbd_struct267,8343 -#define TBD_LAST 274,8537 -#define ELMC_SA 316,9556 -#define ELMC_CTRL 317,9620 -#define ELMC_REVISION 318,9672 -#define ELMC_IO_EXTENT 319,9739 -#define ELMC_STATUS_ENABLED 322,9822 -#define ELMC_STATUS_CSR_SELECT 323,9855 -#define ELMC_STATUS_MEMORY_SELECT 324,9891 -#define ELMC_STATUS_DISABLE_THIN 325,9930 -#define ELMC_STATUS_IRQ_SELECT 326,9968 -#define ELMC_MCA_ID 330,10098 -#define ELMC_CTRL_BS0 341,10526 -#define ELMC_CTRL_BS1 342,10574 -#define ELMC_CTRL_INTE 343,10622 -#define ELMC_CTRL_INT 344,10689 -#define ELMC_CTRL_LBK 346,10798 -#define ELMC_CTRL_CA 347,10863 -#define ELMC_CTRL_RST 348,10929 -#define ELMC_NORMAL 353,11091 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs.c,2014 -static char version[106,4238 -static char version[] __initdata 106,4238 -typedef unsigned char uchar;uchar112,4357 -typedef unsigned int bool;bool113,4386 -#define vol 114,4413 -static struct pci_device_id dgrs_pci_tbl[125,4621 -static struct eisa_device_id dgrs_eisa_tbl[133,4837 -#define OUTB(OUTB160,5350 -#define OUTW(OUTW161,5390 -#define OUTL(OUTL162,5430 -#define S2H(S2H168,5611 -#define S2HN(S2HN169,5676 -#define H2S(H2S170,5742 -#define S2DMA(S2DMA177,5984 -static int dgrs_debug 183,6172 -static int dgrs_dma 184,6199 -static int dgrs_spantree 185,6224 -static int dgrs_hashexpire 186,6255 -static uchar dgrs_ipaddr[187,6288 -static uchar dgrs_iptrap[188,6345 -static __u32 dgrs_ipxnet 189,6402 -static int dgrs_nicmode;190,6433 -} DGRS_PRIV;DGRS_PRIV246,8297 -proc_reset(253,8370 -check_board_dma(277,8798 -do_plx_dma(352,10897 -dgrs_rcv_frame(458,13874 -static int dgrs_start_xmit(697,19274 -dgrs_open(795,21211 -static int dgrs_close(804,21320 -static struct net_device_stats *dgrs_get_stats(813,21435 -static void dgrs_set_multicast_list(824,21636 -static int dgrs_ioctl(834,21834 -static irqreturn_t dgrs_intr(899,23279 -dgrs_download(990,25156 -dgrs_probe1(1154,29394 -dgrs_initclone(1232,31053 -dgrs_found_device(1247,31361 -static void __devexit dgrs_remove(1353,33218 -static int __init dgrs_pci_probe(1385,33784 -static void __devexit dgrs_pci_remove(1446,35426 -static struct pci_driver dgrs_pci_driver 1455,35607 -static int is2iv[1465,35794 -static int is2iv[8] __initdata 1465,35794 -static int __init dgrs_eisa_probe 1467,35860 -static int __devexit dgrs_eisa_remove(1502,36621 -static struct eisa_driver dgrs_eisa_driver 1515,36828 -static int debug 1528,37086 -static int dma 1529,37109 -static int hashexpire 1530,37130 -static int spantree 1531,37158 -static int ipaddr[1532,37184 -static int iptrap[1533,37215 -static __u32 ipxnet 1534,37246 -static int nicmode 1535,37272 -static int __init dgrs_init_module 1549,37735 -static void __exit dgrs_cleanup_module 1606,38922 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fc/iph5526.c,5369 -static const char *version 35,1501 -#define RUN_AT(RUN_AT68,2344 -#define DEBUG_5526_0 70,2379 -#define DEBUG_5526_1 71,2402 -#define DEBUG_5526_2 72,2425 -#define DPRINTK(DPRINTK75,2466 -#define ENTER(ENTER78,2583 -#define LEAVE(LEAVE80,2678 -#define DPRINTK(DPRINTK84,2778 -#define ENTER(ENTER85,2811 -#define LEAVE(LEAVE86,2831 -#define DPRINTK1(DPRINTK190,2876 -#define DPRINTK1(DPRINTK194,3000 -#define DPRINTK2(DPRINTK298,3059 -#define DPRINTK2(DPRINTK2102,3183 -#define T_MSG(T_MSG105,3225 -#define ALIGNED_SFS_ADDR(ALIGNED_SFS_ADDR109,3336 -#define ALIGNED_ADDR(ALIGNED_ADDR110,3468 -static struct pci_device_id iph5526_pci_tbl[113,3579 -#define MAX_FC_CARDS 122,3905 -static struct fc_info *fc[123,3928 -static unsigned int pci_irq_line;124,3971 -clone_list[130,4090 -clone_list[] __initdata 130,4090 -static Scsi_Host_Template driver_template 226,9897 -int __init iph5526_probe(232,10068 -static int __init iph5526_probe_pci(239,10185 -static int __init fcdev_init(260,10826 -static int tachyon_init(275,11238 -static int build_queues(299,11674 -static void write_to_tachyon_registers(514,18049 -static irqreturn_t tachyon_interrupt(604,21525 -static void tachyon_interrupt_handler(616,21929 -static void handle_SFS_BUF_WARN_interrupt(676,23842 -static void handle_MFS_BUF_WARN_interrupt(694,24271 -static void handle_IMQ_BUF_WARN_interrupt(712,24666 -static void completion_message_handler(749,25868 -static void handle_OCI_interrupt(830,28276 -static void handle_OOO_interrupt(970,32839 -static void handle_MFS_interrupt(994,33705 -static void handle_Unknown_Frame_interrupt(1091,37290 -static void handle_Busied_Frame_interrupt(1107,37832 -static void handle_Bad_SCSI_Frame_interrupt(1123,38370 -static void handle_Inbound_SCSI_Status_interrupt(1273,42794 -static void invalidate_SEST_entry(1333,45044 -static void handle_Inbound_SCSI_Command_interrupt(1413,47402 -static void handle_SFS_interrupt(1431,48030 -static void handle_FM_interrupt(1802,62020 -static void local_port_discovery(2056,69615 -static void nos_ols_timer(2083,70583 -static void loop_timer(2123,72083 -static void add_display_cache_timer(2132,72303 -static void display_cache_timer(2141,72613 -static void reset_tachyon(2149,72781 -static void take_tachyon_offline(2176,73536 -static void read_novram(2205,74351 -static void reset_ichip(2222,75109 -static void tx_logi(2237,75576 -static void tx_logi_acc(2261,76341 -static void tx_prli(2279,76965 -static void tx_logo(2310,78106 -static void tx_adisc(2336,79073 -static void tx_ls_rjt(2363,80147 -static void tx_abts(2382,80886 -static u_int plogi_ok(2395,81281 -static void tx_acc(2439,82684 -static void tx_name_server_req(2458,83289 -static void tx_scr(2508,84981 -static void perform_adisc(2527,85654 -static void explore_fabric(2559,86591 -static void fabric_explore_timer(2600,87733 -static void port_discovery_timer(2616,88118 -static void add_to_ox_id_list(2630,88450 -static u_int remove_from_ox_id_list(2653,88974 -static void build_tachyon_header(2680,89542 -static void build_EDB(2725,91397 -static void build_ODB(2734,91643 -static void fill_login_frame(2778,93191 -static void reset_latch(2845,95885 -static void update_OCQ_indx(2850,96038 -static void update_IMQ_indx(2858,96243 -static void update_SFSBQ_indx(2866,96476 -static void update_MFSBQ_indx(2874,96690 -static void update_tachyon_header_indx(2883,96935 -static void update_EDB_indx(2890,97116 -static int iph5526_open(2897,97263 -static int iph5526_close(2903,97352 -static void iph5526_timeout(2909,97441 -static int iph5526_send_packet(2918,97673 -static int iph5526_change_mtu(2969,98910 -static int tx_ip_packet(2974,98989 -static int tx_arp_packet(3023,100363 -static void rx_net_packet(3093,102896 -static void rx_net_mfs_packet(3135,104084 -static int tx_exchange(3154,104640 -static int tx_sequence(3251,107260 -static int get_free_header(3278,108186 -static int get_free_EDB(3307,109109 -static int validate_login(3326,109636 -static void add_to_address_cache(3358,110577 -static void remove_from_address_cache(3415,112155 -static void rscn_handler(3498,114683 -static void scr_timer(3522,115281 -static int sid_logged_in(3529,115442 -static void mark_scsi_sid(3547,115894 -static int node_logged_in_prev(3593,117015 -static struct fc_node_info *look_up_cache(3618,117672 -static int display_cache(3648,118494 -static struct net_device_stats * iph5526_get_stats(3689,119566 -int iph5526_detect(3698,119761 -int iph5526_biosparam(3837,123823 -int iph5526_queuecommand(3852,124097 -int iph5526_abort(3964,127754 -static int abort_exchange(4050,130177 -static void flush_tachyon_cache(4100,131654 -static struct fc_node_info *resolve_target(4134,132722 -static int add_to_sest(4171,133818 -static void update_FCP_CMND_indx(4395,141667 -static int get_scsi_oxid(4402,141821 -static void update_scsi_oxid(4419,142237 -static int get_free_SDB(4426,142378 -static void update_SDB_indx(4445,142885 -int iph5526_release(4452,143021 -const char *iph5526_info(4461,143248 -#define NAMELEN 4468,143427 -static struct net_device *dev_fc[4470,143486 -static int io;4472,143535 -static int irq;4473,143550 -static int bad;4474,143566 -static int scsi_registered;4475,143620 -static int __init iph5526_init(4478,143650 -static void __exit iph5526_exit(4517,144408 -void clean_up_memory(4540,144869 -static int initialize_register_pointers(4591,146523 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fc/iph5526_scsi.h,90 -#define IPH5526_SCSI_H2,23 -#define IPH5526_CAN_QUEUE 4,47 -#define IPH5526_SCSI_FC 5,76 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fc/tach.h,10831 -#define _TACH_H7,249 -#define MY_PAGE_SIZE 9,266 -#define REPLICATE 10,298 -#define MAX_NODES 11,330 -#define BROADCAST 12,361 -#define BROADCAST_ADDR 13,397 -#define LOGIN_COMPLETED 14,439 -#define LOGIN_ATTEMPTED 15,469 -#define LOGIN_NOT_ATTEMPTED 16,499 -#define TRUE 17,529 -#define FALSE 18,559 -#define TACHYON_LIMIT 20,590 -#define TACHYON_OFFSET 21,625 -#define ICHIP_HW_CONTROL_REG_OFF 24,690 -#define ICHIP_HW_STATUS_REG_OFF 25,751 -#define ICHIP_HW_ADDR_MASK_REG_OFF 26,812 -#define ICHIP_HCR_RESET 29,922 -#define ICHIP_HCR_DERESET 30,959 -#define ICHIP_HCR_ENABLE_INTA 31,995 -#define ICHIP_HCR_ENABLE_INTB 32,1039 -#define ICHIP_HCR_IWDATA_FIFO 33,1082 -#define ICHIP_HSR_INT_LATCH 36,1171 -#define ICHIP_HAMR_BYTE_SWAP_ADDR_TR 39,1262 -#define ICHIP_HAMR_BYTE_SWAP_NO_ADDR_TR 40,1307 -#define IPH5526_NOVRAM_SIZE 43,1374 -#define OCQ_BASE_REGISTER_OFFSET 52,1559 -#define OCQ_LENGTH_REGISTER_OFFSET 53,1600 -#define OCQ_PRODUCER_REGISTER_OFFSET 54,1641 -#define OCQ_CONSUMER_REGISTER_OFFSET 55,1686 -#define IMQ_BASE_REGISTER_OFFSET 59,1767 -#define IMQ_LENGTH_REGISTER_OFFSET 60,1806 -#define IMQ_CONSUMER_REGISTER_OFFSET 61,1847 -#define IMQ_PRODUCER_REGISTER_OFFSET 62,1890 -#define MFSBQ_BASE_REGISTER_OFFSET 66,1982 -#define MFSBQ_LENGTH_REGISTER_OFFSET 67,2023 -#define MFSBQ_PRODUCER_REGISTER_OFFSET 68,2066 -#define MFSBQ_CONSUMER_REGISTER_OFFSET 69,2111 -#define MFS_LENGTH_REGISTER_OFFSET 70,2158 -#define SFSBQ_BASE_REGISTER_OFFSET 74,2250 -#define SFSBQ_LENGTH_REGISTER_OFFSET 75,2291 -#define SFSBQ_PRODUCER_REGISTER_OFFSET 76,2334 -#define SFSBQ_CONSUMER_REGISTER_OFFSET 77,2379 -#define SFS_LENGTH_REGISTER_OFFSET 78,2426 -#define SEST_BASE_REGISTER_OFFSET 82,2508 -#define SEST_LENGTH_REGISTER_OFFSET 83,2548 -#define SCSI_LENGTH_REGISTER_OFFSET 84,2590 -#define NO_OF_ENTRIES 88,2667 -#define OCQ_LENGTH 89,2692 -#define IMQ_LENGTH 90,2730 -#define MFSBQ_LENGTH 91,2768 -#define SFSBQ_LENGTH 92,2792 -#define SEST_LENGTH 93,2816 -#define TACH_FRAME_SIZE 97,2887 -#define MFS_BUFFER_SIZE 98,2924 -#define SFS_BUFFER_SIZE 99,2972 -#define SEST_BUFFER_SIZE 100,3043 -#define TACH_HEADER_SIZE 101,3079 -#define NO_OF_TACH_HEADERS 102,3114 -#define NO_OF_FCP_CMNDS 104,3181 -#define SDB_SIZE 105,3231 -#define NO_OF_SDB_ENTRIES 106,3268 -#define TACHYON_CONFIG_REGISTER_OFFSET 112,3416 -#define TACHYON_CONTROL_REGISTER_OFFSET 113,3470 -#define TACHYON_STATUS_REGISTER_OFFSET 114,3524 -#define TACHYON_FLUSH_SEST_REGISTER_OFFSET 115,3578 -#define SCSI_ENABLE 119,3688 -#define WRITE_STREAM_SIZE 120,3736 -#define READ_STREAM_SIZE 121,3799 -#define PARITY_EVEN 122,3859 -#define OOO_REASSEMBLY_DISABLE 123,3904 -#define SOFTWARE_RESET 127,3991 -#define OCQ_RESET 128,4025 -#define ERROR_RELEASE 129,4047 -#define RECEIVE_FIFO_EMPTY 133,4122 -#define OSM_FROZEN 134,4159 -#define OCQ_RESET_STATUS 135,4195 -#define SCSI_FREEZE_STATUS 136,4232 -#define FMGR_CONFIG_REGISTER_OFFSET 141,4318 -#define FMGR_CONTROL_REGISTER_OFFSET 142,4360 -#define FMGR_STATUS_REGISTER_OFFSET 143,4403 -#define FMGR_TIMER_REGISTER_OFFSET 144,4445 -#define FMGR_WWN_HI_REGISTER_OFFSET 145,4486 -#define FMGR_WWN_LO_REGISTER_OFFSET 146,4528 -#define FMGR_RCVD_ALPA_REGISTER_OFFSET 147,4570 -#define BB_CREDIT 151,4677 -#define NPORT 152,4722 -#define LOOP_INIT_FABRIC_ADDRESS 153,4767 -#define LOOP_INIT_PREVIOUS_ADDRESS 154,4812 -#define LOOP_INIT_SOFT_ADDRESS 155,4857 -#define HOST_CONTROL 159,4957 -#define EXIT_HOST_CONTROL 160,5002 -#define OFFLINE 161,5046 -#define INITIALIZE 162,5089 -#define CLEAR_LF 163,5132 -#define LOOP_UP 167,5229 -#define TRANSMIT_PARITY_ERROR 168,5272 -#define NON_PARTICIPATING 169,5315 -#define OUT_OF_SYNC 170,5358 -#define LOSS_OF_SIGNAL 171,5401 -#define NOS_OLS_RECEIVED 172,5444 -#define LOOP_STATE_TIMEOUT 173,5487 -#define LIPF_RECEIVED 174,5530 -#define BAD_ALPA 175,5573 -#define LINK_FAILURE 176,5616 -#define ELASTIC_STORE_ERROR 177,5659 -#define LINK_UP 178,5702 -#define LINK_DOWN 179,5745 -#define ARBITRATING 180,5788 -#define ARB_WON 181,5831 -#define OPEN 182,5874 -#define OPENED 183,5917 -#define TX_CLS 184,5960 -#define RX_CLS 185,6003 -#define TRANSFER 186,6046 -#define INITIALIZING 187,6089 -#define LOOP_FAIL 188,6132 -#define OLD_PORT 189,6175 -#define PORT_STATE_ACTIVE 190,6218 -#define PORT_STATE_OFFLINE 191,6261 -#define PORT_STATE_LF1 192,6304 -#define PORT_STATE_LF2 193,6347 -#define OUTBOUND_COMPLETION 198,6468 -#define OUTBOUND_COMPLETION_I 199,6514 -#define OUT_HI_PRI_COMPLETION 200,6560 -#define OUT_HI_PRI_COMPLETION_I 201,6606 -#define INBOUND_MFS_COMPLETION 202,6652 -#define INBOUND_OOO_COMPLETION 203,6698 -#define INBOUND_SFS_COMPLETION 204,6744 -#define INBOUND_C1_TIMEOUT 205,6790 -#define INBOUND_UNKNOWN_FRAME_I 206,6836 -#define INBOUND_BUSIED_FRAME 207,6882 -#define SFS_BUF_WARN 208,6928 -#define MFS_BUF_WARN 209,6974 -#define IMQ_BUF_WARN 210,7020 -#define FRAME_MGR_INTERRUPT 211,7066 -#define READ_STATUS 212,7112 -#define INBOUND_SCSI_DATA_COMPLETION 213,7158 -#define INBOUND_SCSI_COMMAND 214,7204 -#define BAD_SCSI_FRAME 215,7250 -#define INB_SCSI_STATUS_COMPLETION 216,7296 -#define OCM_TIMEOUT_OR_BAD_ALPA 221,7444 -#define SOFI3 225,7541 -#define SOFN3 226,7575 -#define EOFN 227,7609 -#define FC4_DEVICE_DATA 230,7655 -#define EXTENDED_LINK_DATA 231,7686 -#define FC4_LINK_DATA 232,7726 -#define BASIC_LINK_DATA 233,7766 -#define LINK_CONTROL 234,7806 -#define SOLICITED_DATA 235,7846 -#define UNSOLICITED_CONTROL 236,7885 -#define SOLICITED_CONTROL 237,7924 -#define UNSOLICITED_DATA 238,7963 -#define DATA_DESCRIPTOR 239,8002 -#define UNSOLICITED_COMMAND 240,8041 -#define RCTL_ELS_UCTL 242,8081 -#define RCTL_ELS_SCTL 243,8123 -#define RCTL_BASIC_ABTS 244,8165 -#define RCTL_BASIC_ACC 245,8207 -#define RCTL_BASIC_RJT 246,8249 -#define TYPE_BLS 249,8303 -#define TYPE_ELS 250,8345 -#define TYPE_FC_SERVICES 251,8387 -#define TYPE_LLC_SNAP 252,8429 -#define TYPE_FCP 253,8471 -#define EXCHANGE_RESPONDER 256,8526 -#define SEQUENCE_RESPONDER 257,8566 -#define FIRST_SEQUENCE 258,8606 -#define LAST_SEQUENCE 259,8646 -#define SEQUENCE_INITIATIVE 260,8686 -#define RELATIVE_OFF_PRESENT 261,8725 -#define END_SEQUENCE 262,8760 -#define TACHYON_HEADER_LEN 264,8800 -#define NW_HEADER_LEN 265,8834 -#define ODB_CLASS_3 268,8924 -#define ODB_NO_COMP 269,8960 -#define ODB_NO_INT 270,8995 -#define ODB_EE_CREDIT 271,9030 -#define EDB_LEN 275,9120 -#define EDB_END 276,9172 -#define EDB_FREE 277,9208 -#define EDB_BUSY 278,9239 -#define ELS_LS_RJT 281,9291 -#define ELS_ACC 282,9330 -#define ELS_PLOGI 283,9369 -#define ELS_FLOGI 284,9408 -#define ELS_LOGO 285,9447 -#define ELS_TPRLO 286,9486 -#define ELS_ADISC 287,9525 -#define ELS_PDISC 288,9564 -#define ELS_PRLI 289,9603 -#define ELS_PRLO 290,9643 -#define ELS_SCR 291,9682 -#define ELS_RSCN 292,9721 -#define ELS_FARP_REQ 293,9760 -#define ELS_ABTX 294,9799 -#define ELS_ADVC 295,9838 -#define ELS_ECHO 296,9877 -#define ELS_ESTC 297,9916 -#define ELS_ESTS 298,9955 -#define ELS_RCS 299,9994 -#define ELS_RES 300,10033 -#define ELS_RLS 301,10072 -#define ELS_RRQ 302,10111 -#define ELS_RSS 303,10150 -#define ELS_RTV 304,10189 -#define ELS_RSI 305,10228 -#define ELS_TEST 306,10267 -#define ELS_RNC 307,10306 -#define ELS_RVCS 308,10345 -#define ELS_TPLS 309,10384 -#define ELS_GAID 310,10423 -#define ELS_FACT 311,10462 -#define ELS_FAN 312,10501 -#define ELS_FDACT 313,10540 -#define ELS_NACT 314,10579 -#define ELS_NDACT 315,10618 -#define ELS_QoSR 316,10657 -#define ELS_FDISC 317,10696 -#define ELS_NS_PLOGI 319,10736 -#define INV_LS_CMND_CODE 323,10805 -#define LOGICAL_ERR 324,10852 -#define LOGICAL_BUSY 325,10899 -#define PROTOCOL_ERR 326,10946 -#define UNABLE_TO_PERFORM 327,10993 -#define CMND_NOT_SUPP 328,11040 -#define NO_EXPLN 332,11121 -#define RECV_FIELD_SIZE 333,11168 -#define CONC_SEQ 334,11215 -#define REQ_NOT_SUPPORTED 335,11262 -#define INV_PAYLOAD_LEN 336,11309 -#define PLOGI_LEN 340,11389 -#define CONCURRENT_SEQUENCES 342,11415 -#define RO_INFO_CATEGORY 343,11449 -#define E_D_TOV 344,11483 -#define AL_TIME 345,11532 -#define TOV_VALUES 346,11583 -#define RT_TOV 347,11638 -#define PTP_TOV_VALUES 348,11689 -#define SERVICE_VALID 349,11743 -#define SEQUENCE_DELIVERY 350,11779 -#define CLASS3_CONCURRENT_SEQUENCE 351,11813 -#define CLASS3_OPEN_SEQUENCE 352,11856 -#define WORLD_WIDE_NAME_LOW 356,11944 -#define WORLD_WIDE_NAME_HIGH 357,11999 -#define N_PORT_NAME_HIGH 358,12055 -#define N_PORT_NAME_LOW 359,12111 -#define NODE_NAME_HIGH 360,12166 -#define NODE_NAME_LOW 361,12222 -#define PORT_NAME_LEN 363,12278 -#define NODE_NAME_LEN 364,12312 -#define PH_VERSION 367,12348 -#define LOOP_BB_CREDIT 369,12382 -#define PT2PT_BB_CREDIT 370,12411 -#define FLOGI_C_F 371,12440 -#define PLOGI_C_F 372,12504 -#define DIRECTORY_SERVER 375,12620 -#define FABRIC_CONTROLLER 376,12661 -#define F_PORT 377,12702 -#define FLOGI_DID 379,12744 -#define NS_PLOGI_DID 380,12772 -#define FCS_RFC_4 383,12840 -#define FCS_GP_ID4 384,12879 -#define FCS_ACC 385,12918 -#define FCS_REJECT 386,12953 -#define FC_CT_REV 389,13013 -#define DIRECTORY_SERVER_APP 390,13056 -#define NAME_SERVICE 391,13093 -#define PORT_TYPE_IP 394,13155 -#define PORT_TYPE_NX_PORTS 395,13198 -#define FABRIC_DETECTED_REG 398,13260 -#define N_PORT_DETECTED_REG 399,13300 -#define FULL_REGISTRATION 400,13340 -#define CLEAR_REGISTRATION 401,13378 -#define MAX_SCSI_TARGETS 405,13481 -#define FC_SCSI_READ 407,13514 -#define FC_SCSI_WRITE 408,13559 -#define FC_ELS 409,13604 -#define FC_BLS 410,13649 -#define FC_IP 411,13694 -#define FC_BROADCAST 412,13739 -#define SEST_V 416,13806 -#define INB_SEST_VED 417,13869 -#define SEST_INV 418,13939 -#define OUTB_SEST_VED 419,13991 -#define INV_SEQ_LEN 420,14054 -#define OUTB_SEST_LINK 421,14105 -#define PAGE_LEN 425,14175 -#define PRLI_LEN 426,14238 -#define FCP_TYPE_CODE 427,14292 -#define IMAGE_PAIR 428,14346 -#define INITIATOR_FUNC 429,14412 -#define TARGET_FUNC 430,14455 -#define READ_XFER_RDY_DISABLED 431,14498 -#define NODE_PROCESS_LOGGED_IN 433,14542 -#define NODE_NOT_PRESENT 434,14578 -#define NODE_LOGGED_IN 435,14614 -#define NODE_LOGGED_OUT 436,14650 -#define FC_SCSI_BAD_TARGET 441,14771 -#define PORT_ADDRESS_FORMAT 444,14838 -#define AREA_ADDRESS_FORMAT 445,14883 -#define DOMAIN_ADDRESS_FORMAT 446,14928 -#define NO_COMP_AND_INT 451,15083 -#define INT_AND_COMP_REQ 452,15111 -#define NO_INT_COMP_REQ 453,15139 -#define SDB_FREE 457,15189 -#define SDB_BUSY 458,15220 -#define MAX_PENDING_FRAMES 459,15251 -#define RX_ID_FIRST_SEQUENCE 460,15283 -#define OX_ID_FIRST_SEQUENCE 461,15319 -#define NOT_SCSI_XID 462,15355 -#define MAX_SCSI_XID 463,15394 -#define SCSI_READ_BIT 464,15461 -#define MAX_SCSI_OXID 465,15501 -#define OXID_AVAILABLE 466,15540 -#define OXID_INUSE 467,15574 -#define MAX_SEQ_ID 468,15608 -#define INITIATOR 470,15646 -#define TARGET 471,15678 -#define DELETE_ENTRY 472,15710 -#define ADD_ENTRY 473,15742 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fc/iph5526_novram.c,903 -#define FF_MAGIC 7,333 -#define DB_MAGIC 8,364 -#define DL_MAGIC 9,395 -#define CMD_LEN 12,428 -static const unsigned short novram_default[24,682 -#define NR_EXTEND 35,850 -#define NR_WRITE 36,875 -#define NR_READ 37,900 -#define NR_ERASE 38,925 -#define EWDS 40,951 -#define WRAL 41,972 -#define ERAL 42,993 -#define EWEN 43,1014 -#define BIT(BIT49,1082 -#define NVDI_B 51,1118 -#define NVDI 52,1145 -#define NVDO 53,1181 -#define NVCE 54,1212 -#define NVSK 55,1244 -#define NV_MANUAL 56,1276 -#define KeStallExecutionProcessor(KeStallExecutionProcessor64,1366 -#define CFG_AND(CFG_AND76,1653 -#define CFG_OR(CFG_OR89,2032 -#define NVRAM_CMD(NVRAM_CMD105,2496 -#define NVRAM_CLR_CE 119,2837 -#define NVRAM_CLKOUT(NVRAM_CLKOUT128,3058 -#define NVRAM_CLKIN(NVRAM_CLKIN144,3444 -static void iph5526_nr_do_init(176,4459 -static int iph5526_nr_get(221,5600 -static void iph5526_nr_checksum(269,6533 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fc/tach_structs.h,924 -#define _TACH_STRUCT_H8,323 -} PRLI;PRLI18,520 - } INB_SEST_ENTRY;INB_SEST_ENTRY31,781 - } OUTB_SEST_ENTRY;OUTB_SEST_ENTRY46,1059 - } NW_HEADER;NW_HEADER55,1207 - } TACHYON_HEADER;TACHYON_HEADER72,1507 - }CLASS_OF_SERVICE;CLASS_OF_SERVICE83,1762 - } LOGO;LOGO93,1942 - } ADISC;ADISC103,2119 - } LS_RJT;LS_RJT108,2186 - } ACC;ACC112,2233 - }ODB;ODB126,2451 - } SCR;SCR131,2538 - } CT_HDR;CT_HDR145,2778 - } RFC_4;RFC_4151,2880 - }LOGIN;LOGIN169,3288 - } GP_ID4;GP_ID4174,3374 - }EDB;EDB180,3455 -struct i_chip_regs i_chip_regs183,3487 -struct iph5526_novram iph5526_novram189,3612 -struct tachyon_regs tachyon_regs196,3767 -struct globals globals237,4763 -struct queue_variables queue_variables291,6257 -struct ox_id_els_map ox_id_els_map352,7836 -struct fc_node_info fc_node_info362,8056 -struct fc_info fc_info378,8486 -struct iph5526_hostdata iph5526_hostdata401,9028 -u_char alpa_list[409,9195 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fc/iph5526_ip.h,109 -#define IPH5526_IP_H2,21 -#define LLC_SNAP_LEN 4,43 -#define ARP_OPCODE_0 7,103 -#define ARP_OPCODE_1 8,145 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e2100.c,1234 -static const char version[36,1538 -#define DRV_NAME 54,1944 -static int e21_probe_list[56,1970 -#define E21_NIC_OFFSET 61,2196 -#define E21_ASIC 62,2253 -#define E21_MEM_ENABLE 63,2276 -#define E21_MEM_ON 64,2304 -#define E21_MEM_ON_8 65,2366 -#define E21_MEM_BASE 66,2429 -#define E21_IRQ_LOW 67,2455 -#define E21_IRQ_HIGH 68,2525 -#define E21_MEDIA 69,2596 -#define E21_ALT_IFPORT 70,2635 -#define E21_BIG_MEM 71,2707 -#define E21_SAPROM 72,2776 -#define E21_IO_EXTENT 73,2839 -static inline void mem_on(75,2868 -static inline void mem_off(85,3214 -#define E21_RX_START_PG 95,3597 -#define E21_RX_STOP_PG 96,3657 -#define E21_BIG_RX_STOP_PG 97,3716 -#define E21_TX_START_PG 98,3778 -static int __init do_e2100_probe(121,4702 -static void cleanup_card(143,5163 -struct net_device * __init e2100_probe(150,5320 -static int __init e21_probe1(176,5731 -e21_open(288,8933 -e21_reset_8390(310,9532 -e21_get_8390_hdr(328,9983 -e21_block_input(352,10683 -e21_block_output(366,11070 -e21_close(382,11521 -#define MAX_E21_CARDS 409,12117 -static struct net_device *dev_e21[410,12182 -static int io[411,12232 -static int irq[412,12262 -static int mem[413,12293 -static int xcvr[414,12324 -init_module(430,13055 -cleanup_module(464,13886 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sgiseeq.h,2065 -#define _SGISEEQ_H7,145 -struct sgiseeq_wregs sgiseeq_wregs9,165 -struct sgiseeq_rregs sgiseeq_rregs15,300 -struct sgiseeq_regs sgiseeq_regs22,473 -#define SEEQ_RSTAT_OVERF 34,753 -#define SEEQ_RSTAT_CERROR 35,801 -#define SEEQ_RSTAT_DERROR 36,850 -#define SEEQ_RSTAT_SFRAME 37,903 -#define SEEQ_RSTAT_REOF 38,954 -#define SEEQ_RSTAT_FIG 39,1015 -#define SEEQ_RSTAT_TIMEO 40,1068 -#define SEEQ_RSTAT_WHICH 41,1132 -#define SEEQ_RSTAT_LITTLE 42,1197 -#define SEEQ_RSTAT_SDMA 43,1272 -#define SEEQ_RSTAT_ADMA 44,1327 -#define SEEQ_RSTAT_ROVERF 45,1380 -#define SEEQ_RCMD_RDISAB 48,1484 -#define SEEQ_RCMD_IOVERF 49,1556 -#define SEEQ_RCMD_ICRC 50,1619 -#define SEEQ_RCMD_IDRIB 51,1676 -#define SEEQ_RCMD_ISHORT 52,1737 -#define SEEQ_RCMD_IEOF 53,1796 -#define SEEQ_RCMD_IGOOD 54,1855 -#define SEEQ_RCMD_RANY 55,1913 -#define SEEQ_RCMD_RBCAST 56,1970 -#define SEEQ_RCMD_RBMCAST 57,2028 -#define SEEQ_TSTAT_UFLOW 60,2138 -#define SEEQ_TSTAT_CLS 61,2203 -#define SEEQ_TSTAT_R16 62,2261 -#define SEEQ_TSTAT_PTRANS 63,2329 -#define SEEQ_TSTAT_LCLS 64,2394 -#define SEEQ_TSTAT_WHICH 65,2457 -#define SEEQ_TSTAT_TLE 66,2522 -#define SEEQ_TSTAT_SDMA 67,2597 -#define SEEQ_TSTAT_ADMA 68,2652 -#define SEEQ_TCMD_RB0 71,2747 -#define SEEQ_TCMD_IUF 72,2819 -#define SEEQ_TCMD_IC 73,2877 -#define SEEQ_TCMD_I16 74,2933 -#define SEEQ_TCMD_IPT 75,3012 -#define SEEQ_TCMD_RB1 76,3091 -#define SEEQ_TCMD_RB2 77,3170 -#define SEEQ_CTRL_XCNT 80,3282 -#define SEEQ_CTRL_ACCNT 81,3314 -#define SEEQ_CTRL_SFLAG 82,3346 -#define SEEQ_CTRL_EMULTI 83,3378 -#define SEEQ_CTRL_ESHORT 84,3410 -#define SEEQ_CTRL_ENCARR 85,3442 -#define SEEQ_HPIO_P1BITS 88,3534 -#define SEEQ_HPIO_P2BITS 89,3612 -#define SEEQ_HPIO_P3BITS 90,3690 -#define SEEQ_HDMA_D1BITS 91,3768 -#define SEEQ_HDMA_D2BITS 92,3846 -#define SEEQ_HDMA_D3BITS 93,3924 -#define SEEQ_HDMA_TIMEO 94,4002 -#define SEEQ_HCTL_NORM 95,4068 -#define SEEQ_HCTL_RESET 96,4133 -#define SEEQ_HCTL_IPEND 97,4209 -#define SEEQ_HCTL_IPG 98,4280 -#define SEEQ_HCTL_RFIX 99,4340 -#define SEEQ_HCTL_EFIX 100,4412 -#define SEEQ_HCTL_IFIX 101,4486 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ne-h8300.c,1173 -static const char version1[19,582 -#define DRV_NAME 37,954 -#define NE_BASE 54,1439 -#define NE_CMD 55,1473 -#define NE_DATAPORT 56,1495 -#define NE_RESET 57,1586 -#define NE_IO_EXTENT 58,1679 -#define NESM_START_PG 60,1730 -#define NESM_STOP_PG 61,1787 -static u32 reg_offset[77,2372 -static int __init init_reg_offset(79,2400 -static int __initdata h8300_ne_count 98,2868 -static unsigned long __initdata h8300_ne_base[100,2937 -static int h8300_ne_irq[101,3001 -static unsigned long __initdata h8300_ne_base[104,3080 -static int h8300_ne_irq[105,3144 -static inline int init_dev(108,3192 -static int __init do_ne_probe(140,4480 -static void cleanup_card(155,4867 -struct net_device * __init ne_probe(162,5009 -static int __init ne_probe1(195,5530 -static int ne_open(335,9546 -static int ne_close(341,9620 -static void ne_reset_8390(352,9921 -static void ne_get_8390_hdr(379,10855 -static void ne_block_input(419,12287 -static void ne_block_output(488,14406 -#define MAX_NE_CARDS 597,17411 -static struct net_device *dev_ne[598,17474 -static int io[599,17522 -static int irq[600,17551 -static int bad[601,17581 -int init_module(616,18278 -void cleanup_module(657,19203 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/slhc.c,461 -slhc_init(92,3053 -slhc_free(155,4555 -put16(172,4872 -encode(183,5001 -pull16(196,5244 -decode(208,5384 -slhc_compress(228,5781 -slhc_uncompress(487,13456 -slhc_remember(636,16765 -slhc_toss(686,18024 -void slhc_i_status(696,18143 -void slhc_o_status(708,18378 -int init_module(733,18980 -void cleanup_module(739,19109 -slhc_toss(749,19199 -slhc_uncompress(755,19331 -slhc_compress(761,19506 -slhc_remember(769,19738 -slhc_free(776,19911 -slhc_init(782,20051 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/via-rhine.c,11045 -#define DRV_NAME 135,4441 -#define DRV_VERSION 136,4470 -#define DRV_RELDATE 137,4502 -static int debug 143,4635 -static int max_interrupt_work 144,4704 -static int rx_copybreak;148,4865 -static const int multicast_filter_limit 157,5134 -#define TX_RING_SIZE 167,5533 -#define TX_QUEUE_LEN 168,5557 -#define RX_RING_SIZE 169,5621 -#define TX_TIMEOUT 175,5772 -#define PKT_BUF_SZ 177,5799 -static char version[203,6532 -static char version[] __devinitdata 203,6532 -#define USE_MMIO209,6832 -#define readb 217,6936 -#define readw 218,6954 -#define readl 219,6972 -#define writeb 220,6990 -#define writew 221,7010 -#define writel 222,7030 -enum rhine_revs rhine_revs335,11558 - VT86C100A 336,11576 - VT86C100A = 0x00,336,11576 - VTunknown0 337,11595 - VTunknown0 = 0x20,337,11595 - VT6102 338,11615 - VT6102 = 0x40,338,11615 - VT8231 339,11632 - VT8231 = 0x50,339,11632 - VT8233 340,11670 - VT8233 = 0x60,340,11670 - VT8235 341,11708 - VT8235 = 0x74,341,11708 - VT8237 342,11746 - VT8237 = 0x78,342,11746 - VTunknown1 343,11784 - VTunknown1 = 0x7C,343,11784 - VT6105 344,11804 - VT6105 = 0x80,344,11804 - VT6105_B0 345,11821 - VT6105_B0 = 0x83,345,11821 - VT6105L 346,11840 - VT6105L = 0x8A,346,11840 - VT6107 347,11858 - VT6107 = 0x8C,347,11858 - VTunknown2 348,11875 - VTunknown2 = 0x8E,348,11875 - VT6105M 349,11895 - VT6105M = 0x90,349,11895 -enum rhine_quirks rhine_quirks352,11942 - rqWOL 353,11962 - rqWOL = 0x0001,353,11962 - rqForceReset 354,12006 - rqForceReset = 0x0002,354,12006 - rq6patterns 355,12030 - rq6patterns = 0x0040,355,12030 - rqStatusWBRace 356,12091 - rqStatusWBRace = 0x0080,356,12091 - rqRhineI 357,12158 - rqRhineI = 0x0100,357,12158 -#define IOSYNC 366,12454 -static struct pci_device_id rhine_pci_tbl[368,12524 -enum register_offsets register_offsets380,12949 - StationAddr=381,12973 - StationAddr=0x00,381,12973 - StationAddr=0x00, RxConfig=381,12973 - StationAddr=0x00, RxConfig=0x06,381,12973 - StationAddr=0x00, RxConfig=0x06, TxConfig=381,12973 - StationAddr=0x00, RxConfig=0x06, TxConfig=0x07,381,12973 - StationAddr=0x00, RxConfig=0x06, TxConfig=0x07, ChipCmd=381,12973 - StationAddr=0x00, RxConfig=0x06, TxConfig=0x07, ChipCmd=0x08,381,12973 - ChipCmd1=382,13036 - ChipCmd1=0x09,382,13036 - IntrStatus=383,13052 - IntrStatus=0x0C,383,13052 - IntrStatus=0x0C, IntrEnable=383,13052 - IntrStatus=0x0C, IntrEnable=0x0E,383,13052 - MulticastFilter0=384,13087 - MulticastFilter0=0x10,384,13087 - MulticastFilter0=0x10, MulticastFilter1=384,13087 - MulticastFilter0=0x10, MulticastFilter1=0x14,384,13087 - RxRingPtr=385,13134 - RxRingPtr=0x18,385,13134 - RxRingPtr=0x18, TxRingPtr=385,13134 - RxRingPtr=0x18, TxRingPtr=0x1C,385,13134 - RxRingPtr=0x18, TxRingPtr=0x1C, GFIFOTest=385,13134 - RxRingPtr=0x18, TxRingPtr=0x1C, GFIFOTest=0x54,385,13134 - MIIPhyAddr=386,13183 - MIIPhyAddr=0x6C,386,13183 - MIIPhyAddr=0x6C, MIIStatus=386,13183 - MIIPhyAddr=0x6C, MIIStatus=0x6D,386,13183 - MIIPhyAddr=0x6C, MIIStatus=0x6D, PCIBusConfig=386,13183 - MIIPhyAddr=0x6C, MIIStatus=0x6D, PCIBusConfig=0x6E,386,13183 - MIICmd=387,13236 - MIICmd=0x70,387,13236 - MIICmd=0x70, MIIRegAddr=387,13236 - MIICmd=0x70, MIIRegAddr=0x71,387,13236 - MIICmd=0x70, MIIRegAddr=0x71, MIIData=387,13236 - MIICmd=0x70, MIIRegAddr=0x71, MIIData=0x72,387,13236 - MIICmd=0x70, MIIRegAddr=0x71, MIIData=0x72, MACRegEEcsr=387,13236 - MIICmd=0x70, MIIRegAddr=0x71, MIIData=0x72, MACRegEEcsr=0x74,387,13236 - ConfigA=388,13299 - ConfigA=0x78,388,13299 - ConfigA=0x78, ConfigB=388,13299 - ConfigA=0x78, ConfigB=0x79,388,13299 - ConfigA=0x78, ConfigB=0x79, ConfigC=388,13299 - ConfigA=0x78, ConfigB=0x79, ConfigC=0x7A,388,13299 - ConfigA=0x78, ConfigB=0x79, ConfigC=0x7A, ConfigD=388,13299 - ConfigA=0x78, ConfigB=0x79, ConfigC=0x7A, ConfigD=0x7B,388,13299 - RxMissed=389,13356 - RxMissed=0x7C,389,13356 - RxMissed=0x7C, RxCRCErrs=389,13356 - RxMissed=0x7C, RxCRCErrs=0x7E,389,13356 - RxMissed=0x7C, RxCRCErrs=0x7E, MiscCmd=389,13356 - RxMissed=0x7C, RxCRCErrs=0x7E, MiscCmd=0x81,389,13356 - StickyHW=390,13402 - StickyHW=0x83,390,13402 - StickyHW=0x83, IntrStatus2=390,13402 - StickyHW=0x83, IntrStatus2=0x84,390,13402 - WOLcrSet=391,13436 - WOLcrSet=0xA0,391,13436 - WOLcrSet=0xA0, PwcfgSet=391,13436 - WOLcrSet=0xA0, PwcfgSet=0xA1,391,13436 - WOLcrSet=0xA0, PwcfgSet=0xA1, WOLcgSet=391,13436 - WOLcrSet=0xA0, PwcfgSet=0xA1, WOLcgSet=0xA3,391,13436 - WOLcrSet=0xA0, PwcfgSet=0xA1, WOLcgSet=0xA3, WOLcrClr=391,13436 - WOLcrSet=0xA0, PwcfgSet=0xA1, WOLcgSet=0xA3, WOLcrClr=0xA4,391,13436 - WOLcrClr1=392,13497 - WOLcrClr1=0xA6,392,13497 - WOLcrClr1=0xA6, WOLcgClr=392,13497 - WOLcrClr1=0xA6, WOLcgClr=0xA7,392,13497 - PwrcsrSet=393,13529 - PwrcsrSet=0xA8,393,13529 - PwrcsrSet=0xA8, PwrcsrSet1=393,13529 - PwrcsrSet=0xA8, PwrcsrSet1=0xA9,393,13529 - PwrcsrSet=0xA8, PwrcsrSet1=0xA9, PwrcsrClr=393,13529 - PwrcsrSet=0xA8, PwrcsrSet1=0xA9, PwrcsrClr=0xAC,393,13529 - PwrcsrSet=0xA8, PwrcsrSet1=0xA9, PwrcsrClr=0xAC, PwrcsrClr1=393,13529 - PwrcsrSet=0xA8, PwrcsrSet1=0xA9, PwrcsrClr=0xAC, PwrcsrClr1=0xAD,393,13529 -enum backoff_bits backoff_bits397,13622 - BackOptional=398,13642 - BackOptional=0x01,398,13642 - BackOptional=0x01, BackModify=398,13642 - BackOptional=0x01, BackModify=0x02,398,13642 - BackCaptureEffect=399,13679 - BackCaptureEffect=0x04,399,13679 - BackCaptureEffect=0x04, BackRandom=399,13679 - BackCaptureEffect=0x04, BackRandom=0x08399,13679 -int mmio_verify_registers[404,13797 -enum intr_status_bits intr_status_bits411,13963 - IntrRxDone=412,13987 - IntrRxDone=0x0001,412,13987 - IntrRxDone=0x0001, IntrRxErr=412,13987 - IntrRxDone=0x0001, IntrRxErr=0x0004,412,13987 - IntrRxDone=0x0001, IntrRxErr=0x0004, IntrRxEmpty=412,13987 - IntrRxDone=0x0001, IntrRxErr=0x0004, IntrRxEmpty=0x0020,412,13987 - IntrTxDone=413,14045 - IntrTxDone=0x0002,413,14045 - IntrTxDone=0x0002, IntrTxError=413,14045 - IntrTxDone=0x0002, IntrTxError=0x0008,413,14045 - IntrTxDone=0x0002, IntrTxError=0x0008, IntrTxUnderrun=413,14045 - IntrTxDone=0x0002, IntrTxError=0x0008, IntrTxUnderrun=0x0210,413,14045 - IntrPCIErr=414,14108 - IntrPCIErr=0x0040,414,14108 - IntrStatsMax=415,14128 - IntrStatsMax=0x0080,415,14128 - IntrStatsMax=0x0080, IntrRxEarly=415,14128 - IntrStatsMax=0x0080, IntrRxEarly=0x0100,415,14128 - IntrRxOverflow=416,14170 - IntrRxOverflow=0x0400,416,14170 - IntrRxOverflow=0x0400, IntrRxDropped=416,14170 - IntrRxOverflow=0x0400, IntrRxDropped=0x0800,416,14170 - IntrRxOverflow=0x0400, IntrRxDropped=0x0800, IntrRxNoBuf=416,14170 - IntrRxOverflow=0x0400, IntrRxDropped=0x0800, IntrRxNoBuf=0x1000,416,14170 - IntrTxAborted=417,14236 - IntrTxAborted=0x2000,417,14236 - IntrTxAborted=0x2000, IntrLinkChange=417,14236 - IntrTxAborted=0x2000, IntrLinkChange=0x4000,417,14236 - IntrRxWakeUp=418,14282 - IntrRxWakeUp=0x8000,418,14282 - IntrNormalSummary=419,14304 - IntrNormalSummary=0x0003,419,14304 - IntrNormalSummary=0x0003, IntrAbnormalSummary=419,14304 - IntrNormalSummary=0x0003, IntrAbnormalSummary=0xC260,419,14304 - IntrTxDescRace=420,14359 - IntrTxDescRace=0x080000,420,14359 - IntrTxErrSummary=421,14415 - IntrTxErrSummary=0x082218,421,14415 -enum wol_bits wol_bits425,14503 - WOLucast 426,14519 - WOLucast = 0x10,426,14519 - WOLmagic 427,14537 - WOLmagic = 0x20,427,14537 - WOLbmcast 428,14555 - WOLbmcast = 0x30,428,14555 - WOLlnkon 429,14574 - WOLlnkon = 0x40,429,14574 - WOLlnkoff 430,14592 - WOLlnkoff = 0x80,430,14592 -struct rx_desc rx_desc434,14655 -struct tx_desc tx_desc440,14774 -#define TXDESC 448,14973 -enum rx_status_bits rx_status_bits450,15001 - RxOK=451,15023 - RxOK=0x8000,451,15023 - RxOK=0x8000, RxWholePkt=451,15023 - RxOK=0x8000, RxWholePkt=0x0300,451,15023 - RxOK=0x8000, RxWholePkt=0x0300, RxErr=451,15023 - RxOK=0x8000, RxWholePkt=0x0300, RxErr=0x008F451,15023 -enum desc_status_bits desc_status_bits455,15103 - DescOwn=456,15127 - DescOwn=0x80000000456,15127 -enum chip_cmd_bits chip_cmd_bits460,15174 - CmdInit=461,15195 - CmdInit=0x01,461,15195 - CmdInit=0x01, CmdStart=461,15195 - CmdInit=0x01, CmdStart=0x02,461,15195 - CmdInit=0x01, CmdStart=0x02, CmdStop=461,15195 - CmdInit=0x01, CmdStart=0x02, CmdStop=0x04,461,15195 - CmdInit=0x01, CmdStart=0x02, CmdStop=0x04, CmdRxOn=461,15195 - CmdInit=0x01, CmdStart=0x02, CmdStop=0x04, CmdRxOn=0x08,461,15195 - CmdTxOn=462,15253 - CmdTxOn=0x10,462,15253 - CmdTxOn=0x10, Cmd1TxDemand=462,15253 - CmdTxOn=0x10, Cmd1TxDemand=0x20,462,15253 - CmdTxOn=0x10, Cmd1TxDemand=0x20, CmdRxDemand=462,15253 - CmdTxOn=0x10, Cmd1TxDemand=0x20, CmdRxDemand=0x40,462,15253 - Cmd1EarlyRx=463,15305 - Cmd1EarlyRx=0x01,463,15305 - Cmd1EarlyRx=0x01, Cmd1EarlyTx=463,15305 - Cmd1EarlyRx=0x01, Cmd1EarlyTx=0x02,463,15305 - Cmd1EarlyRx=0x01, Cmd1EarlyTx=0x02, Cmd1FDuplex=463,15305 - Cmd1EarlyRx=0x01, Cmd1EarlyTx=0x02, Cmd1FDuplex=0x04,463,15305 - Cmd1NoTxPoll=464,15360 - Cmd1NoTxPoll=0x08,464,15360 - Cmd1NoTxPoll=0x08, Cmd1Reset=464,15360 - Cmd1NoTxPoll=0x08, Cmd1Reset=0x80,464,15360 -struct rhine_private rhine_private467,15400 -static struct ethtool_ops netdev_ethtool_ops;517,17168 -#define RHINE_WAIT_FOR(RHINE_WAIT_FOR521,17314 -static inline u32 get_intr_status(530,17571 -static void rhine_power_init(547,18039 -static void rhine_chip_reset(603,19414 -static void enable_mmio(630,20080 -static void __devinit rhine_reload_eeprom(648,20478 -static void rhine_poll(672,21192 -static void rhine_hw_init(680,21345 -static int __devinit rhine_init_one(695,21749 -static int alloc_ring(915,26845 -void free_ring(950,27764 -static void alloc_rbufs(968,28178 -static void free_rbufs(1009,29414 -static void alloc_tbufs(1028,29907 -static void free_tbufs(1048,30433 -static void rhine_check_media(1071,31009 -static void init_registers(1086,31412 -static void rhine_enable_linkmon(1120,32513 -static void rhine_disable_linkmon(1132,32838 -static int mdio_read(1156,33407 -static void mdio_write(1175,33931 -static int rhine_open(1192,34439 -static void rhine_tx_timeout(1225,35159 -static int rhine_start_tx(1258,35921 -static irqreturn_t rhine_interrupt(1334,37930 -static void rhine_tx(1396,39737 -static void rhine_rx(1459,41800 -static inline void clear_tally_counters(1585,45930 -static void rhine_restart_tx(1592,46080 -static void rhine_error(1626,47001 -static struct net_device_stats *rhine_get_stats(1684,48736 -static void rhine_set_rx_mode(1699,49158 -static void netdev_get_drvinfo(1736,50438 -static int netdev_get_settings(1745,50690 -static int netdev_set_settings(1757,50942 -static int netdev_nway_reset(1769,51194 -static u32 netdev_get_link(1776,51338 -static u32 netdev_get_msglevel(1783,51475 -static void netdev_set_msglevel(1788,51550 -static void rhine_get_wol(1793,51638 -static int rhine_set_wol(1807,51992 -static struct ethtool_ops netdev_ethtool_ops 1826,52415 -static int netdev_ioctl(1840,52856 -static int rhine_close(1855,53167 -static void __devexit rhine_remove_one(1889,53909 -static void rhine_shutdown 1906,54216 -static int rhine_suspend(1944,55192 -static int rhine_resume(1963,55611 -static struct pci_driver rhine_driver 1998,56373 -static int __init rhine_init(2013,56677 -static void __exit rhine_cleanup(2023,56876 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/lasi_82596.c,4669 -#define LASI_82596_DRIVER_VERSION 95,3188 -#define DEB_INIT 100,3280 -#define DEB_PROBE 101,3304 -#define DEB_SERIOUS 102,3329 -#define DEB_ERRORS 103,3356 -#define DEB_MULTI 104,3382 -#define DEB_TDR 105,3407 -#define DEB_OPEN 106,3431 -#define DEB_RESET 107,3455 -#define DEB_ADDCMD 108,3480 -#define DEB_STATUS 109,3506 -#define DEB_STARTTX 110,3532 -#define DEB_RXADDR 111,3559 -#define DEB_TXADDR 112,3585 -#define DEB_RXFRAME 113,3611 -#define DEB_INTS 114,3638 -#define DEB_STRUCT 115,3662 -#define DEB_ANY 116,3688 -#define DEB(DEB119,3714 -#define CHECK_WBACK(CHECK_WBACK122,3762 -#define CHECK_INV(CHECK_INV125,3864 -#define CHECK_WBACK_INV(CHECK_WBACK_INV128,3965 -#define PA_I82596_RESET 132,4076 -#define PA_CPU_PORT_L_ACCESS 133,4143 -#define PA_CHANNEL_ATTENTION 134,4174 -#define WSWAPrfd(WSWAPrfd143,4388 -#define WSWAPrbd(WSWAPrbd144,4447 -#define WSWAPiscp(WSWAPiscp145,4506 -#define WSWAPscb(WSWAPscb146,4565 -#define WSWAPcmd(WSWAPcmd147,4624 -#define WSWAPtbd(WSWAPtbd148,4683 -#define WSWAPchar(WSWAPchar149,4742 -#define ISCP_BUSY 150,4801 -#define MACH_IS_APRICOT 151,4830 -#define WSWAPrfd(WSWAPrfd153,4862 -#define WSWAPrbd(WSWAPrbd154,4911 -#define WSWAPiscp(WSWAPiscp155,4960 -#define WSWAPscb(WSWAPscb156,5010 -#define WSWAPcmd(WSWAPcmd157,5059 -#define WSWAPtbd(WSWAPtbd158,5108 -#define WSWAPchar(WSWAPchar159,5157 -#define ISCP_BUSY 160,5195 -#define MACH_IS_APRICOT 161,5220 -#define PORT_RESET 170,5516 -#define PORT_SELFTEST 171,5559 -#define PORT_ALTSCP 172,5602 -#define PORT_ALTDUMP 173,5656 -static int i596_debug 175,5713 -static int rx_copybreak 186,6082 -#define MAX_DRIVERS 188,6114 -#define PKT_BUF_SZ 190,6164 -#define MAX_MC_CNT 191,6188 -#define I596_NULL 193,6211 -#define CMD_EOL 195,6248 -#define CMD_SUSP 196,6314 -#define CMD_INTR 197,6369 -#define CMD_FLEX 199,6427 -enum commands commands201,6487 - CmdNOp 202,6503 - CmdNOp = 0, CmdSASetup 202,6503 - CmdNOp = 0, CmdSASetup = 1, CmdConfigure 202,6503 - CmdNOp = 0, CmdSASetup = 1, CmdConfigure = 2, CmdMulticastList 202,6503 - CmdTx 203,6572 - CmdTx = 4, CmdTDR 203,6572 - CmdTx = 4, CmdTDR = 5, CmdDump 203,6572 - CmdTx = 4, CmdTDR = 5, CmdDump = 6, CmdDiagnose 203,6572 -#define STAT_C 206,6629 -#define STAT_B 207,6683 -#define STAT_OK 208,6735 -#define STAT_A 209,6785 -#define CUC_START 211,6831 -#define CUC_RESUME 212,6857 -#define CUC_SUSPEND 213,6884 -#define CUC_ABORT 214,6915 -#define RX_START 215,6941 -#define RX_RESUME 216,6966 -#define RX_SUSPEND 217,6992 -#define RX_ABORT 218,7019 -#define TX_TIMEOUT 220,7045 -#define OPT_SWAP_PORT 222,7067 -struct i596_reg i596_reg225,7136 -#define EOF 231,7226 -#define SIZE_MASK 232,7246 -struct i596_tbd i596_tbd234,7272 -struct i596_cmd i596_cmd252,7965 -struct tx_cmd tx_cmd259,8154 -struct tdr_cmd tdr_cmd273,8463 -struct mc_cmd mc_cmd279,8551 -struct sa_cmd sa_cmd285,8638 -struct cf_cmd cf_cmd290,8699 -struct i596_rfd i596_rfd295,8764 -struct i596_rbd i596_rbd309,9115 -#define TX_RING_SIZE 330,9705 -#define RX_RING_SIZE 331,9729 -struct i596_scb i596_scb333,9754 -struct i596_iscp i596_iscp348,10066 -struct i596_scp i596_scp353,10130 -struct i596_private i596_private359,10217 -static char init_setup[387,11217 -static int rx_ring_size 414,12257 -static int ticks_limit 415,12297 -static int max_cmd_backlog 416,12327 -static inline void CA(419,12374 -static inline void MPU_PORT(425,12481 -static inline int wait_istat(446,12881 -static inline int wait_cmd(463,13285 -static void i596_display_data(480,13699 -static void i596_error(526,15295 -#define virt_to_dma(virt_to_dma538,15579 -static inline void init_rx_bufs(540,15678 -static inline void remove_rx_bufs(594,17228 -static void rebuild_rx_bufs(611,17592 -static int init_i596_mem(632,18111 -static inline int i596_rx(726,20798 -static inline void i596_cleanup_cmd(871,24858 -static inline void i596_reset(910,25754 -static void i596_add_cmd(939,26380 -static int i596_test(987,27622 -static int i596_open(1014,28038 -static void i596_tx_timeout 1041,28559 -static int i596_start_xmit(1070,29310 -static void print_eth(1131,30725 -#define LAN_PROM_ADDR 1145,30998 -static int __devinit i82596_probe(1147,31032 -static irqreturn_t i596_interrupt(1246,33798 -static int i596_close(1401,38258 - i596_get_stats(1433,38969 -static void set_multicast_list(1444,39139 -static int debug 1510,41065 -static int num_drivers;1512,41089 -static struct net_device *netdevs[1513,41113 -lan_init_chip(1516,41183 -static struct parisc_device_id lan_tbl[1560,42062 -static struct parisc_driver lan_driver 1568,42282 -static int __devinit lasi_82596_init(1574,42398 -static void __exit lasi_82596_exit(1583,42561 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc-ultra.c,1273 -static const char version[57,1970 -#define DRV_NAME 75,2380 -static unsigned int ultra_portlist[78,2470 -static unsigned int ultra_portlist[] __initdata 78,2470 -static struct isapnp_device_id ultra_device_ids[104,3563 -static struct isapnp_device_id ultra_device_ids[] __initdata 104,3563 -#define START_PG 115,3907 -#define ULTRA_CMDREG 117,3961 -#define ULTRA_RESET 118,4024 -#define ULTRA_MEMENB 119,4086 -#define IOPD 120,4145 -#define IOPA 121,4211 -#define ULTRA_NIC_OFFSET 122,4273 -#define ULTRA_IO_EXTENT 123,4348 -#define EN0_ERWCNT 124,4375 -static void ultra_poll(127,4471 -static int __init do_ultra_probe(139,4759 -static void cleanup_card(172,5527 -struct net_device * __init ultra_probe(184,5830 -static int __init ultra_probe1(210,6241 -static int __init ultra_probe_isapnp(331,9650 -ultra_open(377,11490 -ultra_reset_8390(409,12560 -ultra_get_8390_hdr(433,13336 -ultra_block_input(453,14100 -ultra_block_output(475,14852 -static void ultra_pio_get_hdr(496,15713 -static void ultra_pio_input(505,16040 -static void ultra_pio_output(518,16536 -ultra_close_card(529,16919 -#define MAX_ULTRA_CARDS 551,17352 -static struct net_device *dev_ultra[552,17421 -static int io[553,17475 -static int irq[554,17507 -init_module(566,17991 -cleanup_module(598,18743 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/rrunner.h,6927 -#define _RRUNNER_H_2,20 -struct rr_regs rr_regs12,207 -#define RR_INT 172,2046 -#define RR_CLEAR_INT 173,2067 -#define NO_SWAP 174,2093 -#define NO_SWAP1 175,2121 -#define PCI_RESET_NIC 176,2149 -#define HALT_NIC 177,2176 -#define SSTEP_NIC 178,2198 -#define MEM_READ_MULTI 179,2221 -#define NIC_HALTED 180,2249 -#define HALT_INST 181,2274 -#define PARITY_ERR 182,2298 -#define INVALID_INST_B 183,2323 -#define RR_REV_2 184,2352 -#define RR_REV_MASK 185,2380 -#define INTA_STATE 191,2452 -#define CLEAR_INTA 192,2477 -#define FAST_EEPROM_ACCESS 193,2502 -#define ENABLE_EXTRA_SRAM 194,2534 -#define ENABLE_EXTRA_DESC 195,2566 -#define ENABLE_PARITY 196,2598 -#define FORCE_DMA_PARITY_ERROR 197,2627 -#define ENABLE_EEPROM_WRITE 198,2664 -#define ENABLE_DATA_CACHE 199,2699 -#define SRAM_LO_PARITY_ERR 200,2732 -#define SRAM_HI_PARITY_ERR 201,2766 -#define FORCE_PCI_RESET 207,2828 -#define PROVIDE_LENGTH 208,2858 -#define MASK_DMA_READ_MAX 209,2887 -#define RBURST_DISABLE 210,2918 -#define RBURST_4 211,2947 -#define RBURST_16 212,2970 -#define RBURST_32 213,2994 -#define RBURST_64 214,3018 -#define RBURST_128 215,3042 -#define RBURST_256 216,3067 -#define RBURST_1024 217,3092 -#define MASK_DMA_WRITE_MAX 218,3118 -#define WBURST_DISABLE 219,3150 -#define WBURST_4 220,3179 -#define WBURST_16 221,3202 -#define WBURST_32 222,3226 -#define WBURST_64 223,3250 -#define WBURST_128 224,3274 -#define WBURST_256 225,3299 -#define WBURST_1024 226,3324 -#define MASK_MIN_DMA 227,3350 -#define FIFO_RETRY_ENABLE 228,3379 -#define DMA_WRITE_DONE 234,3440 -#define DMA_READ_DONE 235,3472 -#define DMA_WRITE_ERR 236,3503 -#define DMA_READ_ERR 237,3534 -#define ENABLE_NEW_CON 247,3764 -#define RESET_RECV 248,3793 -#define RECV_ALL 249,3818 -#define RECV_1K 250,3841 -#define RECV_2K 251,3864 -#define RECV_4K 252,3887 -#define RECV_8K 253,3910 -#define RECV_16K 254,3933 -#define RECV_32K 255,3956 -#define RECV_64K 256,3979 -#define ENA_XMIT 262,4031 -#define PERM_CON 263,4054 -#define RESET_DMA 269,4105 -#define NO_SWAP_DMA 270,4129 -#define DMA_ACTIVE 271,4155 -#define THRESH_MASK 272,4180 -#define DMA_ERROR_MASK 273,4206 -#define TRACE_ON_WHAT_BIT 279,4291 -#define ONEM_BUF_WHAT_BIT 280,4347 -#define CHAR_API_WHAT_BIT 281,4406 -#define CMD_EVT_WHAT_BIT 282,4477 -#define LONG_TX_WHAT_BIT 283,4536 -#define LONG_RX_WHAT_BIT 284,4572 -#define WHAT_BIT_MASK 285,4608 -#define EVENT_OVFL 291,4692 -#define FATAL_ERR 292,4723 -#define LOOP_BACK 293,4753 -#define MODE_PH 294,4777 -#define MODE_FP 295,4800 -#define PTR64BIT 296,4823 -#define PTR32BIT 297,4846 -#define PTR_WD_SWAP 298,4869 -#define PTR_WD_NOSWAP 299,4895 -#define POST_WARN_EVENT 300,4923 -#define ERR_TERM 301,4953 -#define DIRECT_CONN 302,4976 -#define NO_NIC_WATCHDOG 303,5002 -#define SWAP_DATA 304,5032 -#define SWAP_CONTROL 305,5057 -#define NIC_HALT_ON_ERR 306,5085 -#define NIC_NO_RESTART 307,5116 -#define HALF_DUP_TX 308,5146 -#define HALF_DUP_RX 309,5174 -#define ERR_UNKNOWN_MBOX 317,5268 -#define ERR_UNKNOWN_CMD 318,5300 -#define ERR_MAX_RING 319,5332 -#define ERR_RING_CLOSED 320,5361 -#define ERR_RING_OPEN 321,5393 -#define ERR_EVENT_RING_FULL 323,5454 -#define ERR_DW_PEND_CMND_FULL 324,5487 -#define ERR_DR_PEND_CMND_FULL 325,5522 -#define ERR_DW_PEND_DATA_FULL 326,5557 -#define ERR_DR_PEND_DATA_FULL 327,5592 -#define ERR_ILLEGAL_JUMP 328,5627 -#define ERR_UNIMPLEMENTED 329,5657 -#define ERR_TX_INFO_FULL 330,5688 -#define ERR_RX_INFO_FULL 331,5718 -#define ERR_ILLEGAL_MODE 332,5748 -#define ERR_MAIN_TIMEOUT 333,5778 -#define ERR_EVENT_BITS 334,5808 -#define ERR_UNPEND_FULL 335,5837 -#define ERR_TIMER_QUEUE_FULL 336,5867 -#define ERR_TIMER_QUEUE_EMPTY 337,5901 -#define ERR_TIMER_NO_FREE 338,5936 -#define ERR_INTR_START 339,5967 -#define ERR_BAD_STARTUP 340,5996 -#define ERR_NO_PKT_END 341,6026 -#define ERR_HALTED_ON_ERR 342,6055 -#define ERR_WRITE_DMA 344,6112 -#define ERR_READ_DMA 345,6142 -#define ERR_EXT_SERIAL 346,6171 -#define ERR_TX_INT_PARITY 347,6202 -#define EVT_RING_ENTRIES 354,6266 -#define EVT_RING_SIZE 355,6294 -struct event event357,6360 -#define E_NIC_UP 374,6553 -#define E_WATCHDOG 375,6575 -#define E_STAT_UPD 377,6600 -#define E_INVAL_CMD 378,6624 -#define E_SET_CMD_CONS 379,6649 -#define E_LINK_ON 380,6677 -#define E_LINK_OFF 381,6700 -#define E_INTERN_ERR 382,6724 -#define E_HOST_ERR 383,6750 -#define E_STATS_UPDATE 384,6774 -#define E_REJECTING 385,6802 -#define E_CON_REJ 390,6851 -#define E_CON_TMOUT 391,6874 -#define E_CON_NC_TMOUT 392,6899 -#define E_DISC_ERR 393,6967 -#define E_INT_PRTY 394,6991 -#define E_TX_IDLE 395,7015 -#define E_TX_LINK_DROP 396,7038 -#define E_TX_INV_RNG 397,7066 -#define E_TX_INV_BUF 398,7092 -#define E_TX_INV_DSC 399,7118 -#define E_VAL_RNG 407,7207 -#define E_RX_RNG_ENER 408,7230 -#define E_INV_RNG 409,7257 -#define E_RX_RNG_SPC 410,7280 -#define E_RX_RNG_OUT 411,7306 -#define E_PKT_DISCARD 412,7332 -#define E_INFO_EVT 413,7359 -#define E_RX_PAR_ERR 418,7416 -#define E_RX_LLRC_ERR 419,7442 -#define E_IP_CKSM_ERR 420,7469 -#define E_DTA_CKSM_ERR 421,7496 -#define E_SHT_BST 422,7524 -#define E_LST_LNK_ERR 427,7575 -#define E_FLG_SYN_ERR 428,7602 -#define E_FRM_ERR 429,7629 -#define E_RX_IDLE 430,7652 -#define E_PKT_LN_ERR 431,7675 -#define E_STATE_ERR 432,7701 -#define E_UNEXP_DATA 433,7726 -#define E_RX_INV_BUF 438,7776 -#define E_RX_INV_DSC 439,7802 -#define E_RNG_BLK 440,7828 -#define E_RX_TO 445,7877 -#define E_BFR_SPC 446,7899 -#define E_INV_ULP 447,7922 -#define E_NOT_IMPLEMENTED 449,7946 -#define CMD_RING_ENTRIES 456,7999 -struct cmd cmd458,8028 -#define C_START_FW 470,8173 -#define C_UPD_STAT 471,8197 -#define C_WATCHDOG 472,8221 -#define C_DEL_RNG 473,8245 -#define C_NEW_RNG 474,8268 -#define C_CONN 475,8291 -#define PACKET_BAD 482,8335 -#define INTERRUPT 483,8395 -#define TX_IP_CKSUM 484,8420 -#define PACKET_END 485,8447 -#define PACKET_START 486,8473 -#define SAME_IFIELD 487,8501 -} rraddr;rraddr497,8625 -static inline void set_rraddr(500,8637 -static inline void set_rxaddr(513,8866 -static inline void set_infoaddr(530,9313 -#define TX_RING_ENTRIES 552,9824 -#define TX_RING_ENTRIES 554,9857 -#define TX_TOTAL_SIZE 556,9891 -struct tx_desc{tx_desc558,9957 -#define RX_RING_ENTRIES 574,10135 -#define RX_RING_ENTRIES 576,10168 -#define RX_TOTAL_SIZE 578,10202 -struct rx_desc{rx_desc580,10268 -#define SIOCRRPFW 599,10428 -#define SIOCRRGFW 600,10481 -#define SIOCRRID 601,10535 -struct seg_hdr seg_hdr604,10586 -#define EEPROM_BASE 611,10656 -#define EEPROM_WORDS 612,10687 -#define EEPROM_BYTES 613,10713 -struct eeprom_boot eeprom_boot615,10764 -struct eeprom_manf eeprom_manf624,10885 -struct eeprom_phase_info eeprom_phase_info653,11335 -struct eeprom_rncd_info eeprom_rncd_info663,11503 -struct phase1_hdr{phase1_hdr674,11685 -struct eeprom eeprom680,11757 -struct rr_stats rr_stats692,11985 -struct ring_ctrl ring_ctrl764,13047 -struct rr_info rr_info781,13240 -struct rr_privaterr_private800,13608 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fmv18x.c,1409 -static const char version[35,1212 -#define DRV_NAME 60,1823 -static unsigned fmv18x_probe_list[62,1850 -static unsigned fmv18x_probe_list[] __initdata 62,1850 -#define NET_DEBUG 68,2043 -static unsigned int net_debug 70,2070 -typedef unsigned char uchar;uchar72,2114 -struct net_local net_local75,2199 -#define STATUS 88,2655 -#define TX_STATUS 89,2674 -#define RX_STATUS 90,2695 -#define TX_INTR 91,2716 -#define RX_INTR 92,2782 -#define TX_MODE 93,2802 -#define RX_MODE 94,2822 -#define CONFIG_0 95,2842 -#define CONFIG_1 96,2899 -#define DATAPORT 98,2963 -#define TX_START 99,3032 -#define COL16CNTL 100,3053 -#define MODE13 101,3113 -#define FJ_STATUS0 103,3174 -#define FJ_STATUS1 104,3199 -#define FJ_CONFIG0 105,3224 -#define FJ_CONFIG1 106,3249 -#define FJ_MACADDR 107,3274 -#define FJ_BUFCNTL 108,3317 -#define FJ_BUFDATA 109,3342 -#define FMV18X_IO_EXTENT 110,3367 -static int io 132,4271 -static int irq;133,4294 -struct net_device * __init fmv18x_probe(135,4311 -static int __init fmv18x_probe1(186,5584 -static int net_open(318,9303 -static void net_timeout(352,10105 -static int net_send_packet(387,11377 -net_interrupt(448,13076 -static void net_rx(504,14781 -static int net_close(595,17176 -static struct net_device_stats *net_get_stats(619,17722 -static void set_multicast_list(632,18119 -static struct net_device *dev_fmv18x;651,18591 -int init_module(661,18880 -cleanup_module(672,19092 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sungem.h,13727 -#define _SUNGEM_H8,197 -#define GREG_SEBSTATE 11,239 -#define GREG_CFG 12,296 -#define GREG_STAT 13,351 -#define GREG_IMASK 14,401 -#define GREG_IACK 15,459 -#define GREG_STAT2 16,515 -#define GREG_PCIESTAT 17,569 -#define GREG_PCIEMASK 18,632 -#define GREG_BIFCFG 19,693 -#define GREG_BIFDIAG 20,755 -#define GREG_SWRST 21,816 -#define GREG_SEBSTATE_ARB 24,907 -#define GREG_SEBSTATE_RXWON 25,968 -#define GREG_CFG_IBURST 28,1078 -#define GREG_CFG_TXDMALIM 29,1136 -#define GREG_CFG_RXDMALIM 30,1199 -#define GREG_CFG_RONPAULBIT 31,1262 -#define GREG_CFG_ENBUG2FIX 33,1380 -#define GREG_STAT_TXINTME 44,1849 -#define GREG_STAT_TXALL 45,1919 -#define GREG_STAT_TXDONE 46,1987 -#define GREG_STAT_RXDONE 47,2054 -#define GREG_STAT_RXNOBUF 48,2118 -#define GREG_STAT_RXTAGERR 49,2190 -#define GREG_STAT_PCS 50,2260 -#define GREG_STAT_TXMAC 51,2324 -#define GREG_STAT_RXMAC 52,2393 -#define GREG_STAT_MAC 53,2462 -#define GREG_STAT_MIF 54,2528 -#define GREG_STAT_PCIERR 55,2592 -#define GREG_STAT_TXNR 56,2655 -#define GREG_STAT_TXNR_SHIFT 57,2720 -#define GREG_STAT_ABNORMAL 59,2753 -#define GREG_STAT_NAPI 63,2939 -#define GREG_PCIESTAT_BADACK 75,3481 -#define GREG_PCIESTAT_DTRTO 76,3556 -#define GREG_PCIESTAT_OTHER 77,3629 -#define GREG_BIFCFG_SLOWCLK 85,3925 -#define GREG_BIFCFG_B64DIS 86,3994 -#define GREG_BIFCFG_M66EN 87,4067 -#define GREG_BIFDIAG_BURSTSM 90,4177 -#define GREG_BIFDIAG_BIFSM 91,4247 -#define GREG_SWRST_TXRST 100,4638 -#define GREG_SWRST_RXRST 101,4699 -#define GREG_SWRST_RSTOUT 102,4760 -#define GREG_SWRST_CACHESIZE 103,4825 -#define GREG_SWRST_CACHE_SHIFT 104,4897 -#define TXDMA_KICK 107,4955 -#define TXDMA_CFG 108,5007 -#define TXDMA_DBLOW 109,5066 -#define TXDMA_DBHI 110,5120 -#define TXDMA_FWPTR 111,5174 -#define TXDMA_FSWPTR 112,5231 -#define TXDMA_FRPTR 113,5296 -#define TXDMA_FSRPTR 114,5353 -#define TXDMA_PCNT 115,5417 -#define TXDMA_SMACHINE 116,5474 -#define TXDMA_DPLOW 117,5538 -#define TXDMA_DPHI 118,5594 -#define TXDMA_TXDONE 119,5650 -#define TXDMA_FADDR 120,5709 -#define TXDMA_FTAG 121,5761 -#define TXDMA_DLOW 122,5809 -#define TXDMA_DHIT1 123,5861 -#define TXDMA_DHIT0 124,5917 -#define TXDMA_FSZ 125,5973 -#define TXDMA_CFG_ENABLE 147,6779 -#define TXDMA_CFG_RINGSZ 148,6843 -#define TXDMA_CFG_RINGSZ_32 149,6909 -#define TXDMA_CFG_RINGSZ_64 150,6973 -#define TXDMA_CFG_RINGSZ_128 151,7037 -#define TXDMA_CFG_RINGSZ_256 152,7103 -#define TXDMA_CFG_RINGSZ_512 153,7169 -#define TXDMA_CFG_RINGSZ_1K 154,7235 -#define TXDMA_CFG_RINGSZ_2K 155,7301 -#define TXDMA_CFG_RINGSZ_4K 156,7367 -#define TXDMA_CFG_RINGSZ_8K 157,7433 -#define TXDMA_CFG_PIOSEL 158,7499 -#define TXDMA_CFG_FTHRESH 159,7569 -#define TXDMA_CFG_PMODE 160,7640 -#define RXDMA_CFG 174,8109 -#define RXDMA_DBLOW 175,8168 -#define RXDMA_DBHI 176,8226 -#define RXDMA_FWPTR 177,8284 -#define RXDMA_FSWPTR 178,8341 -#define RXDMA_FRPTR 179,8406 -#define RXDMA_PCNT 180,8463 -#define RXDMA_SMACHINE 181,8520 -#define RXDMA_PTHRESH 182,8584 -#define RXDMA_DPLOW 183,8639 -#define RXDMA_DPHI 184,8695 -#define RXDMA_KICK 185,8751 -#define RXDMA_DONE 186,8803 -#define RXDMA_BLANK 187,8860 -#define RXDMA_FADDR 188,8917 -#define RXDMA_FTAG 189,8969 -#define RXDMA_DLOW 190,9017 -#define RXDMA_DHIT1 191,9069 -#define RXDMA_DHIT0 192,9125 -#define RXDMA_FSZ 193,9181 -#define RXDMA_CFG_ENABLE 196,9263 -#define RXDMA_CFG_RINGSZ 197,9327 -#define RXDMA_CFG_RINGSZ_32 198,9393 -#define RXDMA_CFG_RINGSZ_64 199,9454 -#define RXDMA_CFG_RINGSZ_128 200,9515 -#define RXDMA_CFG_RINGSZ_256 201,9577 -#define RXDMA_CFG_RINGSZ_512 202,9639 -#define RXDMA_CFG_RINGSZ_1K 203,9701 -#define RXDMA_CFG_RINGSZ_2K 204,9762 -#define RXDMA_CFG_RINGSZ_4K 205,9823 -#define RXDMA_CFG_RINGSZ_8K 206,9884 -#define RXDMA_CFG_RINGSZ_BDISAB 207,9945 -#define RXDMA_CFG_FBOFF 208,10019 -#define RXDMA_CFG_CSUMOFF 209,10087 -#define RXDMA_CFG_FTHRESH 210,10158 -#define RXDMA_CFG_FTHRESH_64 211,10229 -#define RXDMA_CFG_FTHRESH_128 212,10290 -#define RXDMA_CFG_FTHRESH_256 213,10352 -#define RXDMA_CFG_FTHRESH_512 214,10414 -#define RXDMA_CFG_FTHRESH_1K 215,10476 -#define RXDMA_CFG_FTHRESH_2K 216,10537 -#define RXDMA_PTHRESH_OFF 230,11032 -#define RXDMA_PTHRESH_ON 231,11102 -#define RXDMA_BLANK_IPKTS 257,12121 -#define RXDMA_BLANK_ITIME 261,12263 -#define MAC_TXRST 279,12776 -#define MAC_RXRST 280,12838 -#define MAC_SNDPAUSE 281,12900 -#define MAC_TXSTAT 282,12964 -#define MAC_RXSTAT 283,13021 -#define MAC_CSTAT 284,13078 -#define MAC_TXMASK 285,13139 -#define MAC_RXMASK 286,13195 -#define MAC_MCMASK 287,13251 -#define MAC_TXCFG 288,13311 -#define MAC_RXCFG 289,13373 -#define MAC_MCCFG 290,13435 -#define MAC_XIFCFG 291,13496 -#define MAC_IPG0 292,13557 -#define MAC_IPG1 293,13614 -#define MAC_IPG2 294,13671 -#define MAC_STIME 295,13728 -#define MAC_MINFSZ 296,13780 -#define MAC_MAXFSZ 297,13836 -#define MAC_PASIZE 298,13892 -#define MAC_JAMSIZE 299,13944 -#define MAC_ATTLIM 300,13997 -#define MAC_MCTYPE 301,14054 -#define MAC_ADDR0 302,14114 -#define MAC_ADDR1 303,14170 -#define MAC_ADDR2 304,14226 -#define MAC_ADDR3 305,14282 -#define MAC_ADDR4 306,14338 -#define MAC_ADDR5 307,14394 -#define MAC_ADDR6 308,14450 -#define MAC_ADDR7 309,14506 -#define MAC_ADDR8 310,14562 -#define MAC_AFILT0 311,14618 -#define MAC_AFILT1 312,14678 -#define MAC_AFILT2 313,14738 -#define MAC_AF21MSK 314,14798 -#define MAC_AF0MSK 315,14861 -#define MAC_HASH0 316,14921 -#define MAC_HASH1 317,14976 -#define MAC_HASH2 318,15031 -#define MAC_HASH3 319,15086 -#define MAC_HASH4 320,15141 -#define MAC_HASH5 321,15196 -#define MAC_HASH6 322,15251 -#define MAC_HASH7 323,15306 -#define MAC_HASH8 324,15361 -#define MAC_HASH9 325,15416 -#define MAC_HASH10 326,15471 -#define MAC_HASH11 327,15528 -#define MAC_HASH12 328,15585 -#define MAC_HASH13 329,15642 -#define MAC_HASH14 330,15699 -#define MAC_HASH15 331,15756 -#define MAC_NCOLL 332,15813 -#define MAC_FASUCC 333,15871 -#define MAC_ECOLL 334,15934 -#define MAC_LCOLL 335,15995 -#define MAC_DTIMER 336,16051 -#define MAC_PATMPS 337,16099 -#define MAC_RFCTR 338,16156 -#define MAC_LERR 339,16211 -#define MAC_AERR 340,16265 -#define MAC_FCSERR 341,16321 -#define MAC_RXCVERR 342,16374 -#define MAC_RANDSEED 343,16437 -#define MAC_SMACHINE 344,16501 -#define MAC_TXRST_CMD 347,16598 -#define MAC_RXRST_CMD 350,16703 -#define MAC_SNDPAUSE_TS 353,16797 -#define MAC_SNDPAUSE_SP 357,16931 -#define MAC_TXSTAT_XMIT 363,17113 -#define MAC_TXSTAT_URUN 364,17173 -#define MAC_TXSTAT_MPE 365,17228 -#define MAC_TXSTAT_NCE 366,17290 -#define MAC_TXSTAT_ECE 367,17359 -#define MAC_TXSTAT_LCE 368,17428 -#define MAC_TXSTAT_FCE 369,17495 -#define MAC_TXSTAT_DTE 370,17563 -#define MAC_TXSTAT_PCE 371,17623 -#define MAC_RXSTAT_RCV 374,17720 -#define MAC_RXSTAT_OFLW 375,17776 -#define MAC_RXSTAT_FCE 376,17835 -#define MAC_RXSTAT_ACE 377,17894 -#define MAC_RXSTAT_CCE 378,17958 -#define MAC_RXSTAT_LCE 379,18020 -#define MAC_RXSTAT_VCE 380,18085 -#define MAC_CSTAT_PRCV 383,18188 -#define MAC_CSTAT_PS 384,18244 -#define MAC_CSTAT_NPS 385,18297 -#define MAC_CSTAT_PTR 386,18354 -#define MAC_TXCFG_ENAB 406,19194 -#define MAC_TXCFG_ICS 407,19249 -#define MAC_TXCFG_ICOLL 408,19310 -#define MAC_TXCFG_EIPG0 409,19370 -#define MAC_TXCFG_NGU 410,19425 -#define MAC_TXCFG_NGUL 411,19479 -#define MAC_TXCFG_NBO 412,19540 -#define MAC_TXCFG_SD 413,19592 -#define MAC_TXCFG_NFCS 414,19642 -#define MAC_TXCFG_TCE 415,19691 -#define MAC_RXCFG_ENAB 426,20108 -#define MAC_RXCFG_SPAD 427,20163 -#define MAC_RXCFG_SFCS 428,20215 -#define MAC_RXCFG_PROM 429,20267 -#define MAC_RXCFG_PGRP 430,20325 -#define MAC_RXCFG_HFE 431,20384 -#define MAC_RXCFG_AFE 432,20443 -#define MAC_RXCFG_DDE 433,20504 -#define MAC_RXCFG_RCE 434,20568 -#define MAC_MCCFG_SPE 437,20665 -#define MAC_MCCFG_RPE 438,20723 -#define MAC_MCCFG_PMC 439,20784 -#define MAC_XIFCFG_OE 446,20989 -#define MAC_XIFCFG_LBCK 447,21056 -#define MAC_XIFCFG_DISE 448,21116 -#define MAC_XIFCFG_GMII 449,21183 -#define MAC_XIFCFG_MBOE 450,21251 -#define MAC_XIFCFG_LLED 451,21316 -#define MAC_XIFCFG_FLED 452,21385 -#define MAC_MAXFSZ_MFS 504,23043 -#define MAC_MAXFSZ_MBS 505,23099 -#define MIF_BBCLK 590,26168 -#define MIF_BBDATA 591,26221 -#define MIF_BBOENAB 592,26274 -#define MIF_FRAME 593,26336 -#define MIF_CFG 594,26395 -#define MIF_MASK 595,26454 -#define MIF_STATUS 596,26505 -#define MIF_SMACHINE 597,26560 -#define MIF_CFG_PSELECT 628,28048 -#define MIF_CFG_POLL 629,28116 -#define MIF_CFG_BBMODE 630,28179 -#define MIF_CFG_PRADDR 631,28243 -#define MIF_CFG_MDI0 632,28310 -#define MIF_CFG_MDI1 633,28375 -#define MIF_CFG_PPADDR 634,28440 -#define MIF_FRAME_ST 643,28877 -#define MIF_FRAME_OP 644,28931 -#define MIF_FRAME_PHYAD 645,28978 -#define MIF_FRAME_REGAD 646,29033 -#define MIF_FRAME_TAMSB 647,29092 -#define MIF_FRAME_TALSB 648,29150 -#define MIF_FRAME_DATA 649,29208 -#define MIF_STATUS_DATA 655,29427 -#define MIF_STATUS_STAT 656,29491 -#define PCS_MIICTRL 664,29747 -#define PCS_MIISTAT 665,29807 -#define PCS_MIIADV 666,29866 -#define PCS_MIILP 667,29926 -#define PCS_CFG 668,29988 -#define PCS_SMACHINE 669,30047 -#define PCS_ISTAT 670,30110 -#define PCS_DMODE 671,30168 -#define PCS_SCTRL 672,30224 -#define PCS_SOS 673,30284 -#define PCS_SSTATE 674,30341 -#define PCS_MIICTRL_SPD 677,30433 -#define PCS_MIICTRL_CT 678,30502 -#define PCS_MIICTRL_DM 679,30566 -#define PCS_MIICTRL_RAN 680,30630 -#define PCS_MIICTRL_ISO 681,30700 -#define PCS_MIICTRL_PD 682,30770 -#define PCS_MIICTRL_ANE 683,30839 -#define PCS_MIICTRL_SS 684,30897 -#define PCS_MIICTRL_WB 685,30966 -#define PCS_MIICTRL_RST 688,31073 -#define PCS_MIISTAT_EC 691,31172 -#define PCS_MIISTAT_JD 692,31241 -#define PCS_MIISTAT_LS 693,31309 -#define PCS_MIISTAT_ANA 694,31374 -#define PCS_MIISTAT_RF 695,31442 -#define PCS_MIISTAT_ANC 696,31497 -#define PCS_MIISTAT_ES 697,31557 -#define PCS_MIIADV_FD 700,31662 -#define PCS_MIIADV_HD 701,31723 -#define PCS_MIIADV_SP 702,31784 -#define PCS_MIIADV_AP 703,31849 -#define PCS_MIIADV_RF 704,31915 -#define PCS_MIIADV_ACK 705,31969 -#define PCS_MIIADV_NP 706,32021 -#define PCS_CFG_ENABLE 714,32334 -#define PCS_CFG_SDO 717,32443 -#define PCS_CFG_SDL 718,32503 -#define PCS_CFG_JS 719,32565 -#define PCS_CFG_TO 725,32750 -#define PCS_ISTAT_LSC 730,32900 -#define PCS_DMODE_SM 733,32990 -#define PCS_DMODE_ESM 734,33055 -#define PCS_DMODE_MGM 735,33116 -#define PCS_DMODE_GMOE 736,33170 -#define PCS_SCTRL_LOOP 742,33335 -#define PCS_SCTRL_ESCD 743,33392 -#define PCS_SCTRL_LOCK 744,33459 -#define PCS_SCTRL_EMP 745,33523 -#define PCS_SCTRL_STEST 746,33585 -#define PCS_SCTRL_PDWN 747,33646 -#define PCS_SCTRL_RXZ 748,33707 -#define PCS_SCTRL_RXP 749,33769 -#define PCS_SCTRL_TXZ 750,33831 -#define PCS_SCTRL_TXP 751,33893 -#define PCS_SOS_PADDR 757,34117 -#define PROM_START 760,34195 -#define PROM_SIZE 761,34260 -#define PROM_END 762,34309 -#define BMCR_SPD2 766,34399 -#define LPA_PAUSE 767,34457 -#define MII_BCM5201_INTERRUPT 772,34585 -#define MII_BCM5201_INTERRUPT_INTENABLE 773,34622 -#define MII_BCM5201_AUXMODE2 775,34671 -#define MII_BCM5201_AUXMODE2_LOWPOWER 776,34707 -#define MII_BCM5201_MULTIPHY 778,34754 -#define MII_BCM5201_MULTIPHY_SERIALMODE 781,34849 -#define MII_BCM5201_MULTIPHY_SUPERISOLATE 782,34904 -#define MII_BCM5400_GB_CONTROL 785,35006 -#define MII_BCM5400_GB_CONTROL_FULLDUPLEXCAP 786,35044 -#define MII_BCM5400_AUXCONTROL 789,35135 -#define MII_BCM5400_AUXCONTROL_PWR10BASET 790,35188 -#define MII_BCM5400_AUXSTATUS 793,35281 -#define MII_BCM5400_AUXSTATUS_LINKMODE_MASK 794,35334 -#define MII_BCM5400_AUXSTATUS_LINKMODE_SHIFT 795,35389 -struct gem_txd gem_txd809,36025 -#define TXDCTRL_BUFSZ 814,36078 -#define TXDCTRL_CSTART 815,36141 -#define TXDCTRL_COFF 816,36210 -#define TXDCTRL_CENAB 817,36277 -#define TXDCTRL_EOF 818,36340 -#define TXDCTRL_SOF 819,36402 -#define TXDCTRL_INTME 820,36465 -#define TXDCTRL_NOCRC 821,36530 -struct gem_rxd gem_rxd844,37687 -#define RXDCTRL_TCPCSUM 849,37739 -#define RXDCTRL_BUFSZ 850,37807 -#define RXDCTRL_OWN 851,37870 -#define RXDCTRL_HASHVAL 852,37938 -#define RXDCTRL_HPASS 853,38002 -#define RXDCTRL_ALTMAC 854,38071 -#define RXDCTRL_BAD 855,38138 -#define RXDCTRL_FRESH(RXDCTRL_FRESH857,38205 -#define TX_RING_SIZE 861,38317 -#define RX_RING_SIZE 862,38342 -#define TXDMA_CFG_BASE 865,38391 -#define TXDMA_CFG_BASE 867,38459 -#define TXDMA_CFG_BASE 869,38528 -#define TXDMA_CFG_BASE 871,38598 -#define TXDMA_CFG_BASE 873,38668 -#define TXDMA_CFG_BASE 875,38739 -#define TXDMA_CFG_BASE 877,38809 -#define TXDMA_CFG_BASE 879,38879 -#define TXDMA_CFG_BASE 881,38949 -#define RXDMA_CFG_BASE 887,39069 -#define RXDMA_CFG_BASE 889,39137 -#define RXDMA_CFG_BASE 891,39206 -#define RXDMA_CFG_BASE 893,39276 -#define RXDMA_CFG_BASE 895,39346 -#define RXDMA_CFG_BASE 897,39417 -#define RXDMA_CFG_BASE 899,39487 -#define RXDMA_CFG_BASE 901,39557 -#define RXDMA_CFG_BASE 903,39627 -#define NEXT_TX(NEXT_TX908,39718 -#define NEXT_RX(NEXT_RX909,39770 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL911,39823 -#define RX_OFFSET 916,39988 -#define RX_BUF_ALLOC_SIZE(RX_BUF_ALLOC_SIZE917,40017 -#define RX_COPY_THRESHOLD 919,40088 -#define INIT_BLOCK_TX_RING_SIZE 922,40143 -#define INIT_BLOCK_TX_RING_SIZE 924,40186 -#define INIT_BLOCK_RX_RING_SIZE 928,40263 -#define INIT_BLOCK_RX_RING_SIZE 930,40306 -struct gem_init_block gem_init_block933,40360 -enum gem_phy_type gem_phy_type938,40480 - phy_mii_mdio0,939,40500 - phy_mii_mdio1,940,40516 - phy_serialink,941,40532 - phy_serdes,942,40548 -enum link_state link_state945,40565 - link_down 946,40583 - link_aneg,947,40625 - link_force_try,948,40663 - link_force_ret,949,40708 - link_force_ok,950,40768 - link_up 951,40810 -struct gem gem954,40841 -#define found_mii_phy(found_mii_phy1015,42031 -#define ALIGNED_RX_SKB_ADDR(ALIGNED_RX_SKB_ADDR1018,42177 -static __inline__ struct sk_buff *gem_alloc_skb(1020,42304 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sungem_phy.c,2138 -static int phy_BCM5400_link_table[38,1106 -static inline int __phy_read(49,1423 -static inline void __phy_write(54,1538 -static inline int phy_read(59,1663 -static inline void phy_write(64,1777 -static int reset_one_mii_phy(69,1901 -static int bcm5201_init(93,2401 -static int bcm5201_suspend(104,2610 -static int bcm5221_init(124,3173 -static int bcm5400_init(147,3772 -static int bcm5400_suspend(176,4559 -static int bcm5401_init(184,4755 -static int bcm5401_suspend(232,6088 -static int bcm5411_init(240,6284 -static int bcm5411_suspend(269,6912 -static int bcm5421_init(276,7033 -static int bcm5421k2_init(305,7712 -static int bcm54xx_setup_aneg(314,7866 -static int bcm54xx_setup_forced(354,9029 -static int bcm54xx_read_link(389,9678 -static int marvell_setup_aneg(412,10381 -static int marvell_setup_forced(459,11804 -static int marvell_read_link(509,13033 -static int genmii_setup_aneg(536,13754 -static int genmii_setup_forced(567,14539 -static int genmii_poll_link(600,15126 -static int genmii_read_link(613,15384 -#define MII_BASIC_FEATURES 638,15877 -#define MII_GBIT_FEATURES 641,16071 -static struct mii_phy_ops bcm5201_phy_ops 645,16204 -static struct mii_phy_def bcm5201_phy_def 654,16443 -static struct mii_phy_ops bcm5221_phy_ops 664,16667 -static struct mii_phy_def bcm5221_phy_def 673,16906 -static struct mii_phy_ops bcm5400_phy_ops 683,17130 -static struct mii_phy_def bcm5400_phy_def 692,17372 -static struct mii_phy_ops bcm5401_phy_ops 702,17595 -static struct mii_phy_def bcm5401_phy_def 711,17837 -static struct mii_phy_ops bcm5411_phy_ops 721,18060 -static struct mii_phy_def bcm5411_phy_def 730,18302 -static struct mii_phy_ops bcm5421_phy_ops 740,18525 -static struct mii_phy_def bcm5421_phy_def 749,18767 -static struct mii_phy_ops bcm5421k2_phy_ops 759,19002 -static struct mii_phy_def bcm5421k2_phy_def 768,19248 -static struct mii_phy_ops marvell_phy_ops 781,19613 -static struct mii_phy_def marvell_phy_def 788,19801 -static struct mii_phy_ops generic_phy_ops 798,20058 -static struct mii_phy_def genmii_phy_def 805,20243 -static struct mii_phy_def* mii_phy_table[814,20446 -int mii_phy_probe(827,20675 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc-mca.c,1617 -#define DRV_NAME 54,1973 -#define START_PG 69,2693 -#define ULTRA_CMDREG 71,2756 -#define ULTRA_RESET 72,2823 -#define ULTRA_MEMENB 73,2887 -#define ULTRA_NIC_OFFSET 74,2947 -#define ULTRA_IO_EXTENT 75,3021 -#define EN0_ERWCNT 76,3048 -#define _61c8_SMC_Ethercard_PLUS_Elite_A_BNC_AUI_WD8013EP_A 78,3114 -#define _61c9_SMC_Ethercard_PLUS_Elite_A_UTP_AUI_WD8013EP_A 79,3187 -#define _6fc0_WD_Ethercard_PLUS_A_WD8003E_A_OR_WD8003ET_A 80,3260 -#define _6fc1_WD_Starcard_PLUS_A_WD8003ST_A 81,3333 -#define _6fc2_WD_Ethercard_PLUS_10T_A_WD8003W_A 82,3406 -#define _efd4_IBM_PS2_Adapter_A_for_Ethernet_UTP_AUI_WD8013WP_A 83,3479 -#define _efd5_IBM_PS2_Adapter_A_for_Ethernet_BNC_AUI_WD8013WP_A 84,3552 -#define _efe5_IBM_PS2_Adapter_A_for_Ethernet 85,3625 -struct smc_mca_adapters_t smc_mca_adapters_t87,3699 -#define MAX_ULTRAMCA_CARDS 92,3762 -static int ultra_io[94,3835 -static int ultra_irq[95,3876 -static short smc_mca_adapter_ids[103,4224 -static short smc_mca_adapter_ids[] __initdata 103,4224 -static char *smc_mca_adapter_names[115,4358 -static char *smc_mca_adapter_names[] __initdata 115,4358 -static int ultra_found 127,4800 -int __init ultramca_probe(129,4829 -static int ultramca_open(349,11078 -static void ultramca_reset_8390(374,11731 -static void ultramca_get_8390_hdr(396,12339 -static void ultramca_block_input(412,12858 -static void ultramca_block_output(429,13459 -static int ultramca_close_card(437,13701 -static int ultramca_remove(457,14147 -static struct mca_driver ultra_driver 475,14575 -static int __init ultramca_init_module(485,14772 -static void __exit ultramca_cleanup_module(495,14926 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sungem.c,3341 -#define DEFAULT_MSG 68,1576 -#define ADVERTISE_MASK 72,1661 -#define DRV_NAME 76,1853 -#define DRV_VERSION 77,1879 -#define DRV_RELDATE 78,1906 -#define DRV_AUTHOR 79,1936 -static char version[81,1993 -static char version[] __devinitdata 81,1993 -#define GEM_MODULE_NAME 88,2208 -#define PFX 89,2238 -static struct pci_device_id gem_pci_tbl[91,2272 -static u16 __phy_read(117,3173 -static inline int _phy_read(143,3629 -static inline u16 phy_read(149,3773 -static void __phy_write(154,3877 -static inline void _phy_write(176,4315 -static inline void phy_write(182,4478 -static inline void gem_enable_ints(187,4592 -static inline void gem_disable_ints(193,4738 -static void gem_handle_mif_event(199,4910 -static int gem_pcs_interrupt(205,5079 -static int gem_txmac_interrupt(260,6522 -static int gem_rxmac_reset(315,7940 -static int gem_rxmac_interrupt(408,10616 -static int gem_mac_interrupt(443,11478 -static int gem_mif_interrupt(464,12047 -static int gem_pci_interrupt(477,12374 -static int gem_abnormal_irq(547,14681 -static __inline__ void gem_tx(606,15945 -static __inline__ void gem_post_rxds(666,17386 -static int gem_rx(696,17990 -static int gem_poll(821,21210 -static irqreturn_t gem_interrupt(871,22327 -static void gem_poll_controller(905,23159 -static void gem_tx_timeout(914,23345 -static __inline__ int gem_intme(944,24130 -static int gem_start_xmit(953,24289 -#define GEM_MIN_MTU 1077,27473 -#define GEM_MAX_MTU 1079,27502 -#define GEM_MAX_MTU 1081,27533 -static int gem_change_mtu(1084,27566 -#define STOP_TRIES 1112,28141 -static void gem_stop(1115,28218 -static void gem_start_dma(1141,28796 -static void gem_begin_auto_negotiation(1167,29553 -static int gem_set_link_modes(1254,31717 -static int gem_mdio_link_not_up(1360,34325 -static void gem_reset_task(1411,35789 -static void gem_link_timer(1438,36300 -static void gem_clean_rings(1522,38579 -static void gem_init_rings(1573,39728 -static void gem_init_phy(1623,40863 -static void gem_init_dma(1761,44657 -gem_setup_multicast(1800,45849 -static void gem_init_mac(1842,46740 -static void gem_init_pause_thresholds(1920,49194 -static int gem_check_invariants(1964,50527 -static void gem_init_hw(2056,53023 -static void gem_apple_powerup(2091,53961 -static void gem_apple_powerdown(2109,54410 -static void gem_stop_phy(2117,54595 -static void gem_shutdown(2178,56327 -static void gem_pm_task(2212,57012 -static void gem_pm_timer(2234,57435 -static int gem_open(2241,57555 -static int gem_close(2318,59287 -static int gem_suspend(2359,60111 -static int gem_resume(2406,61054 -static struct net_device_stats *gem_get_stats(2444,61841 -static void gem_set_multicast(2476,62655 -static void gem_get_drvinfo(2515,63407 -static int gem_get_settings(2524,63643 -static int gem_set_settings(2572,65046 -static int gem_nway_reset(2603,65833 -static u32 gem_get_msglevel(2620,66151 -static void gem_set_msglevel(2626,66263 -static struct ethtool_ops gem_ethtool_ops 2632,66388 -static int gem_ioctl(2642,66683 -static void find_eth_addr_in_vpd(2686,67727 -static void get_gem_mac_nonobp(2711,68234 -static int __devinit gem_get_device_address(2745,69142 -static int __devinit gem_init_one(2782,70017 -static void __devexit gem_remove_one(3023,76240 -static struct pci_driver gem_driver 3052,76822 -static int __init gem_init(3063,77074 -static void __exit gem_cleanup(3068,77150 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunhme.h,9644 -#define _SUNHME_H9,265 -#define GREG_SWRESET 15,369 -#define GREG_CFG 16,420 -#define GREG_STAT 17,467 -#define GREG_IMASK 18,515 -#define GREG_REG_SIZE 19,564 -#define GREG_RESET_ETX 22,624 -#define GREG_RESET_ERX 23,660 -#define GREG_RESET_ALL 24,696 -#define GREG_CFG_BURSTMSK 27,763 -#define GREG_CFG_BURST16 28,799 -#define GREG_CFG_BURST32 29,835 -#define GREG_CFG_BURST64 30,871 -#define GREG_CFG_64BIT 31,907 -#define GREG_CFG_PARITY 32,943 -#define GREG_CFG_RESV 33,979 -#define GREG_STAT_GOTFRAME 36,1046 -#define GREG_STAT_RCNTEXP 37,1135 -#define GREG_STAT_ACNTEXP 38,1224 -#define GREG_STAT_CCNTEXP 39,1313 -#define GREG_STAT_LCNTEXP 40,1402 -#define GREG_STAT_RFIFOVF 41,1491 -#define GREG_STAT_CVCNTEXP 42,1580 -#define GREG_STAT_STSTERR 43,1669 -#define GREG_STAT_SENTFRAME 44,1758 -#define GREG_STAT_TFIFO_UND 45,1847 -#define GREG_STAT_MAXPKTERR 46,1936 -#define GREG_STAT_NCNTEXP 47,2025 -#define GREG_STAT_ECNTEXP 48,2114 -#define GREG_STAT_LCCNTEXP 49,2203 -#define GREG_STAT_FCNTEXP 50,2292 -#define GREG_STAT_DTIMEXP 51,2381 -#define GREG_STAT_RXTOHOST 52,2470 -#define GREG_STAT_NORXD 53,2559 -#define GREG_STAT_RXERR 54,2648 -#define GREG_STAT_RXLATERR 55,2737 -#define GREG_STAT_RXPERR 56,2826 -#define GREG_STAT_RXTERR 57,2915 -#define GREG_STAT_EOPERR 58,3004 -#define GREG_STAT_MIFIRQ 59,3093 -#define GREG_STAT_HOSTTOTX 60,3182 -#define GREG_STAT_TXALL 61,3271 -#define GREG_STAT_TXEACK 62,3360 -#define GREG_STAT_TXLERR 63,3449 -#define GREG_STAT_TXPERR 64,3538 -#define GREG_STAT_TXTERR 65,3627 -#define GREG_STAT_SLVERR 66,3716 -#define GREG_STAT_SLVPERR 67,3805 -#define GREG_STAT_ERRORS 70,3935 -#define GREG_IMASK_GOTFRAME 73,4016 -#define GREG_IMASK_RCNTEXP 74,4105 -#define GREG_IMASK_ACNTEXP 75,4194 -#define GREG_IMASK_CCNTEXP 76,4283 -#define GREG_IMASK_LCNTEXP 77,4372 -#define GREG_IMASK_RFIFOVF 78,4461 -#define GREG_IMASK_CVCNTEXP 79,4550 -#define GREG_IMASK_STSTERR 80,4639 -#define GREG_IMASK_SENTFRAME 81,4728 -#define GREG_IMASK_TFIFO_UND 82,4817 -#define GREG_IMASK_MAXPKTERR 83,4906 -#define GREG_IMASK_NCNTEXP 84,4995 -#define GREG_IMASK_ECNTEXP 85,5084 -#define GREG_IMASK_LCCNTEXP 86,5173 -#define GREG_IMASK_FCNTEXP 87,5262 -#define GREG_IMASK_DTIMEXP 88,5351 -#define GREG_IMASK_RXTOHOST 89,5440 -#define GREG_IMASK_NORXD 90,5529 -#define GREG_IMASK_RXERR 91,5618 -#define GREG_IMASK_RXLATERR 92,5707 -#define GREG_IMASK_RXPERR 93,5796 -#define GREG_IMASK_RXTERR 94,5885 -#define GREG_IMASK_EOPERR 95,5974 -#define GREG_IMASK_MIFIRQ 96,6063 -#define GREG_IMASK_HOSTTOTX 97,6152 -#define GREG_IMASK_TXALL 98,6241 -#define GREG_IMASK_TXEACK 99,6330 -#define GREG_IMASK_TXLERR 100,6419 -#define GREG_IMASK_TXPERR 101,6508 -#define GREG_IMASK_TXTERR 102,6597 -#define GREG_IMASK_SLVERR 103,6686 -#define GREG_IMASK_SLVPERR 104,6775 -#define ETX_PENDING 107,6914 -#define ETX_CFG 108,6980 -#define ETX_RING 109,7043 -#define ETX_BBASE 110,7106 -#define ETX_BDISP 111,7170 -#define ETX_FIFOWPTR 112,7234 -#define ETX_FIFOSWPTR 113,7301 -#define ETX_FIFORPTR 114,7369 -#define ETX_FIFOSRPTR 115,7436 -#define ETX_FIFOPCNT 116,7504 -#define ETX_SMACHINE 117,7571 -#define ETX_RSIZE 118,7638 -#define ETX_BPTR 119,7702 -#define ETX_REG_SIZE 120,7765 -#define ETX_TP_DMAWAKEUP 123,7831 -#define ETX_CFG_DMAENABLE 126,7942 -#define ETX_CFG_FIFOTHRESH 127,8025 -#define ETX_CFG_IRQDAFTER 128,8108 -#define ETX_CFG_IRQDBEFORE 129,8191 -#define ETX_RSIZE_SHIFT 131,8275 -#define ERX_CFG 134,8357 -#define ERX_RING 135,8420 -#define ERX_BPTR 136,8483 -#define ERX_FIFOWPTR 137,8546 -#define ERX_FIFOSWPTR 138,8613 -#define ERX_FIFORPTR 139,8681 -#define ERX_FIFOSRPTR 140,8748 -#define ERX_SMACHINE 141,8816 -#define ERX_REG_SIZE 142,8883 -#define ERX_CFG_DMAENABLE 145,8939 -#define ERX_CFG_RESV1 146,9011 -#define ERX_CFG_BYTEOFFSET 147,9083 -#define ERX_CFG_RESV2 148,9155 -#define ERX_CFG_SIZE32 149,9227 -#define ERX_CFG_SIZE64 150,9299 -#define ERX_CFG_SIZE128 151,9371 -#define ERX_CFG_SIZE256 152,9443 -#define ERX_CFG_RESV3 153,9515 -#define ERX_CFG_CSUMSTART 154,9587 -#define BMAC_XIFCFG 158,9756 -#define BMAC_TXSWRESET 160,9855 -#define BMAC_TXCFG 161,9927 -#define BMAC_IGAP1 162,9995 -#define BMAC_IGAP2 163,10063 -#define BMAC_ALIMIT 164,10131 -#define BMAC_STIME 165,10200 -#define BMAC_PLEN 166,10268 -#define BMAC_PPAT 167,10335 -#define BMAC_TXSDELIM 168,10402 -#define BMAC_JSIZE 169,10473 -#define BMAC_TXMAX 170,10541 -#define BMAC_TXMIN 171,10609 -#define BMAC_PATTEMPT 172,10677 -#define BMAC_DTCTR 173,10748 -#define BMAC_NCCTR 174,10816 -#define BMAC_FCCTR 175,10884 -#define BMAC_EXCTR 176,10952 -#define BMAC_LTCTR 177,11020 -#define BMAC_RSEED 178,11088 -#define BMAC_TXSMACHINE 179,11156 -#define BMAC_RXSWRESET 181,11260 -#define BMAC_RXCFG 182,11332 -#define BMAC_RXMAX 183,11400 -#define BMAC_RXMIN 184,11468 -#define BMAC_MACADDR2 185,11536 -#define BMAC_MACADDR1 186,11607 -#define BMAC_MACADDR0 187,11678 -#define BMAC_FRCTR 188,11749 -#define BMAC_GLECTR 189,11817 -#define BMAC_UNALECTR 190,11886 -#define BMAC_RCRCECTR 191,11957 -#define BMAC_RXSMACHINE 192,12028 -#define BMAC_RXCVALID 193,12101 -#define BMAC_HTABLE3 195,12195 -#define BMAC_HTABLE2 196,12265 -#define BMAC_HTABLE1 197,12335 -#define BMAC_HTABLE0 198,12405 -#define BMAC_AFILTER2 199,12475 -#define BMAC_AFILTER1 200,12546 -#define BMAC_AFILTER0 201,12617 -#define BMAC_AFMASK 202,12688 -#define BMAC_REG_SIZE 203,12757 -#define BIGMAC_XCFG_ODENABLE 206,12822 -#define BIGMAC_XCFG_XLBACK 207,12898 -#define BIGMAC_XCFG_MLBACK 208,12974 -#define BIGMAC_XCFG_MIIDISAB 209,13050 -#define BIGMAC_XCFG_SQENABLE 210,13126 -#define BIGMAC_XCFG_SQETWIN 211,13202 -#define BIGMAC_XCFG_LANCE 212,13278 -#define BIGMAC_XCFG_LIPG0 213,13354 -#define BIGMAC_TXCFG_ENABLE 216,13470 -#define BIGMAC_TXCFG_SMODE 217,13546 -#define BIGMAC_TXCFG_CIGN 218,13622 -#define BIGMAC_TXCFG_FCSOFF 219,13698 -#define BIGMAC_TXCFG_DBACKOFF 220,13774 -#define BIGMAC_TXCFG_FULLDPLX 221,13850 -#define BIGMAC_TXCFG_DGIVEUP 222,13926 -#define BIGMAC_RXCFG_ENABLE 225,14041 -#define BIGMAC_RXCFG_PSTRIP 226,14120 -#define BIGMAC_RXCFG_PMISC 227,14199 -#define BIGMAC_RXCFG_DERR 228,14278 -#define BIGMAC_RXCFG_DCRCS 229,14357 -#define BIGMAC_RXCFG_REJME 230,14436 -#define BIGMAC_RXCFG_PGRP 231,14515 -#define BIGMAC_RXCFG_HENABLE 232,14594 -#define BIGMAC_RXCFG_AENABLE 233,14673 -#define TCVR_BBCLOCK 236,14836 -#define TCVR_BBDATA 237,14903 -#define TCVR_BBOENAB 238,14969 -#define TCVR_FRAME 239,15036 -#define TCVR_CFG 240,15101 -#define TCVR_IMASK 241,15164 -#define TCVR_STATUS 242,15229 -#define TCVR_SMACHINE 243,15295 -#define TCVR_REG_SIZE 244,15363 -#define FRAME_WRITE 247,15415 -#define FRAME_READ 248,15456 -#define TCV_CFG_PSELECT 251,15532 -#define TCV_CFG_PENABLE 252,15611 -#define TCV_CFG_BENABLE 253,15690 -#define TCV_CFG_PREGADDR 254,15769 -#define TCV_CFG_MDIO0 255,15848 -#define TCV_CFG_MDIO1 256,15927 -#define TCV_CFG_PDADDR 257,16006 -#define TCV_PADDR_ETX 260,16121 -#define TCV_PADDR_ITX 261,16200 -#define TCV_STAT_BASIC 264,16314 -#define TCV_STAT_NORMAL 265,16393 -#define DP83840_CSCONFIG 282,17081 -#define CSCONFIG_RESV1 285,17201 -#define CSCONFIG_LED4 286,17275 -#define CSCONFIG_LED1 287,17349 -#define CSCONFIG_RESV2 288,17423 -#define CSCONFIG_TCVDISAB 289,17497 -#define CSCONFIG_DFBYPASS 290,17571 -#define CSCONFIG_GLFORCE 291,17645 -#define CSCONFIG_CLKTRISTATE 292,17719 -#define CSCONFIG_RESV3 293,17793 -#define CSCONFIG_ENCODE 294,17867 -#define CSCONFIG_RENABLE 295,17941 -#define CSCONFIG_TCDISABLE 296,18015 -#define CSCONFIG_RESV4 297,18089 -#define CSCONFIG_NDISABLE 298,18163 -struct happy_meal_rxd happy_meal_rxd306,18512 -#define RXFLAG_OWN 311,18569 -#define RXFLAG_OVERFLOW 312,18640 -#define RXFLAG_SIZE 313,18711 -#define RXFLAG_CSUM 314,18782 -struct happy_meal_txd happy_meal_txd316,18854 -#define TXFLAG_OWN 321,18911 -#define TXFLAG_SOP 322,18982 -#define TXFLAG_EOP 323,19053 -#define TXFLAG_CSENABLE 324,19124 -#define TXFLAG_CSLOCATION 325,19195 -#define TXFLAG_CSBUFBEGIN 326,19266 -#define TXFLAG_SIZE 327,19337 -#define TX_RING_SIZE 329,19409 -#define RX_RING_SIZE 330,19491 -#define TX_RING_MAXSIZE 336,19696 -#define RX_RING_MAXSIZE 337,19727 -#define ERX_CFG_DEFAULT(ERX_CFG_DEFAULT341,19840 -#define ERX_CFG_DEFAULT(ERX_CFG_DEFAULT344,19959 -#define ERX_CFG_DEFAULT(ERX_CFG_DEFAULT347,20079 -#define ERX_CFG_DEFAULT(ERX_CFG_DEFAULT350,20200 -#define NEXT_RX(NEXT_RX358,20364 -#define NEXT_TX(NEXT_TX359,20426 -#define PREV_RX(PREV_RX360,20488 -#define PREV_TX(PREV_TX361,20550 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL363,20613 -#define RX_OFFSET 368,20839 -#define RX_BUF_ALLOC_SIZE 369,20868 -#define RX_COPY_THRESHOLD 371,20920 -struct hmeal_init_block hmeal_init_block373,20952 -#define hblock_offset(hblock_offset378,21094 -enum happy_transceiver happy_transceiver382,21235 - external 383,21260 - internal 384,21275 - none 385,21290 -enum happy_timer_state happy_timer_state389,21335 - arbwait 390,21360 - lupwait 391,21433 - ltrywait 392,21506 - asleep 393,21579 -struct happy_meal happy_meal399,21701 -#define HFLAG_POLL 468,25328 -#define HFLAG_FENABLE 469,25418 -#define HFLAG_LANCE 470,25508 -#define HFLAG_RXENABLE 471,25598 -#define HFLAG_AUTO 472,25688 -#define HFLAG_FULL 473,25778 -#define HFLAG_MACFULL 474,25868 -#define HFLAG_POLLENABLE 475,25958 -#define HFLAG_RXCV 476,26048 -#define HFLAG_INIT 477,26138 -#define HFLAG_LINKUP 478,26228 -#define HFLAG_PCI 479,26318 -#define HFLAG_QUATTRO 480,26408 -#define HFLAG_20_21 482,26483 -#define HFLAG_NOT_A0 483,26539 -struct quattro quattro486,26660 -#define ALIGNED_RX_SKB_ADDR(ALIGNED_RX_SKB_ADDR502,26997 -#define happy_meal_alloc_skb(happy_meal_alloc_skb504,27124 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sun3lance.c,2769 -static char *version 24,917 -#define LANCE_OBIO 57,1706 -#define LANCE_IRQ 58,1734 -#define LANCE_DEBUG 67,1948 -static int lance_debug 70,1990 -static int lance_debug 72,2034 -#define DPRINTK(DPRINTK78,2187 -#define TX_LOG_RING_SIZE 88,2398 -#define RX_LOG_RING_SIZE 89,2427 -#define TX_RING_SIZE 93,2493 -#define TX_RING_LEN_BITS 94,2540 -#define TX_RING_MOD_MASK 95,2590 -#define RX_RING_SIZE 97,2636 -#define RX_RING_LEN_BITS 98,2683 -#define RX_RING_MOD_MASK 99,2733 -#define PKT_BUF_SZ 102,2823 -#define PKTBUF_ADDR(PKTBUF_ADDR105,2927 -struct lance_rx_head lance_rx_head109,3045 -struct lance_tx_head lance_tx_head117,3330 -struct lance_init_block lance_init_block126,3630 -struct lance_memory lance_memory139,4068 -struct lance_private lance_private149,4346 -#define MEM 162,4694 -#define DREG 163,4714 -#define AREG 164,4741 -#define REGA(REGA165,4768 -#define TMD1_ENP 170,4859 -#define TMD1_STP 171,4902 -#define TMD1_DEF 172,4947 -#define TMD1_ONE 173,4985 -#define TMD1_MORE 174,5031 -#define TMD1_ERR 175,5088 -#define TMD1_OWN 176,5131 -#define TMD1_OWN_CHIP 178,5189 -#define TMD1_OWN_HOST 179,5220 -#define TMD3_TDR 182,5270 -#define TMD3_RTRY 183,5335 -#define TMD3_LCAR 184,5391 -#define TMD3_LCOL 185,5436 -#define TMD3_UFLO 186,5483 -#define TMD3_BUFF 187,5539 -#define RMD1_ENP 190,5617 -#define RMD1_STP 191,5660 -#define RMD1_BUFF 192,5705 -#define RMD1_CRC 193,5748 -#define RMD1_OFLO 194,5787 -#define RMD1_FRAM 195,5826 -#define RMD1_ERR 196,5870 -#define RMD1_OWN 197,5913 -#define RMD1_OWN_CHIP 199,5971 -#define RMD1_OWN_HOST 200,6002 -#define CSR0 203,6048 -#define CSR1 204,6082 -#define CSR2 205,6126 -#define CSR3 206,6171 -#define CSR8 207,6198 -#define CSR15 208,6237 -#define CSR0_INIT 212,6356 -#define CSR0_STRT 213,6404 -#define CSR0_STOP 214,6447 -#define CSR0_TDMD 215,6489 -#define CSR0_TXON 216,6542 -#define CSR0_RXON 217,6593 -#define CSR0_INEA 218,6641 -#define CSR0_INTR 219,6695 -#define CSR0_IDON 220,6748 -#define CSR0_TINT 221,6805 -#define CSR0_RINT 222,6864 -#define CSR0_MERR 223,6920 -#define CSR0_MISS 224,6970 -#define CSR0_CERR 225,7020 -#define CSR0_BABL 226,7089 -#define CSR0_ERR 227,7154 -#define CSR3_BCON 230,7208 -#define CSR3_ACON 231,7253 -#define CSR3_BSWP 232,7297 -struct net_device * __init sun3lance_probe(248,8044 -static int __init lance_probe(296,8878 -static int lance_open(402,11642 -static void lance_init_ring(439,12371 -static int lance_start_xmit(499,14018 -static irqreturn_t lance_interrupt(645,18015 -static int lance_rx(772,21275 -static int lance_close(870,24455 -static struct net_device_stats *lance_get_stats(888,24800 -static void set_multicast_list(904,25255 -static struct net_device *sun3lance_dev;945,26365 -int init_module(947,26407 -void cleanup_module(955,26544 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/atari_bionet.c,1008 -#define MAX_POLL_TIME 80,3391 -static char version[82,3417 -#define NET_DEBUG 120,4262 -unsigned int bionet_debug 125,4367 -static unsigned int bionet_min_poll_time 130,4522 -struct net_local net_local135,4626 -static struct nic_pkt_s nic_pkt_s141,4779 -} *nic_packet;146,4927 -unsigned char *phys_nic_packet;147,4942 -static struct timer_list bionet_timer 158,5360 -#define STRAM_ADDR(STRAM_ADDR160,5439 -#define NODE_ADR 165,5595 -#define C_READ 167,5618 -#define C_WRITE 168,5635 -#define C_GETEA 169,5656 -#define C_SETCR 170,5677 -sendcmd(173,5710 -set_status(189,6075 -get_status(197,6224 -bionet_intr(223,6739 -get_frame(229,6830 -hardware_send_packet(277,7880 -struct net_device * __init bionet_probe(322,8932 -bionet_open(410,11265 -bionet_send_packet(435,11751 -bionet_poll_rx(501,13619 -bionet_tick(602,16622 -bionet_close(618,17037 -static struct net_device_stats *net_get_stats(639,17451 -static struct net_device *bio_dev;648,17605 -int init_module(650,17641 -void cleanup_module(658,17757 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/eexpress.h,2586 -#define DATAPORT 10,155 -#define WRITE_PTR 11,184 -#define READ_PTR 12,213 -#define SIGNAL_CA 13,242 -#define SET_IRQ 14,271 -#define SM_PTR 15,300 -#define MEM_Dec 16,329 -#define MEM_Ctrl 17,358 -#define MEM_Page_Ctrl 18,387 -#define Config 19,416 -#define EEPROM_Ctrl 20,445 -#define ID_PORT 21,474 -#define MEM_ECtrl 22,503 -#define SIRQ_en 29,580 -#define SIRQ_dis 30,607 -#define EC_Clk 33,653 -#define EC_CS 34,680 -#define EC_Wr 35,707 -#define EC_Rd 36,734 -#define ASIC_RST 37,761 -#define i586_RST 38,788 -#define eeprom_delay(eeprom_delay40,816 -#define SCP_START 47,974 -#define ISCP_START 50,1048 -#define SCB_START 53,1102 -#define TX_BUF_START 61,1368 -#define TX_BUF_SIZE 63,1397 -#define RX_BUF_SIZE 64,1447 -#define SCB_complete(SCB_complete71,1602 -#define SCB_rxdframe(SCB_rxdframe72,1642 -#define SCB_CUdead(SCB_CUdead73,1682 -#define SCB_RUdead(SCB_RUdead74,1722 -#define SCB_ack(SCB_ack75,1762 -#define SCB_CUstat(SCB_CUstat78,1857 -#define SCB_RUstat(SCB_RUstat81,1974 -#define SCB_CUnop 84,2034 -#define SCB_CUstart 85,2065 -#define SCB_CUresume 86,2096 -#define SCB_CUsuspend 87,2127 -#define SCB_CUabort 88,2158 -#define SCB_resetchip 89,2189 -#define SCB_RUnop 91,2221 -#define SCB_RUstart 92,2252 -#define SCB_RUresume 93,2283 -#define SCB_RUsuspend 94,2314 -#define SCB_RUabort 95,2345 -#define Stat_Done(Stat_Done101,2411 -#define Stat_Busy(Stat_Busy102,2451 -#define Stat_OK(Stat_OK103,2491 -#define Stat_Abort(Stat_Abort104,2531 -#define Stat_STFail 105,2571 -#define Stat_TNoCar(Stat_TNoCar106,2611 -#define Stat_TNoCTS(Stat_TNoCTS107,2651 -#define Stat_TNoDMA(Stat_TNoDMA108,2691 -#define Stat_TDefer(Stat_TDefer109,2731 -#define Stat_TColl(Stat_TColl110,2771 -#define Stat_TXColl(Stat_TXColl111,2811 -#define Stat_NoColl(Stat_NoColl112,2851 -#define Cmd_END 121,3175 -#define Cmd_SUS 122,3202 -#define Cmd_INT 123,3229 -#define Cmd_Nop 125,3257 -#define Cmd_SetAddr 126,3284 -#define Cmd_Config 127,3311 -#define Cmd_MCast 128,3338 -#define Cmd_Xmit 129,3365 -#define Cmd_TDR 130,3392 -#define Cmd_Dump 131,3419 -#define Cmd_Diag 132,3446 -#define FD_Done(FD_Done139,3527 -#define FD_Busy(FD_Busy140,3563 -#define FD_OK(FD_OK141,3599 -#define FD_CRC(FD_CRC143,3636 -#define FD_Align(FD_Align144,3672 -#define FD_Resrc(FD_Resrc145,3708 -#define FD_DMA(FD_DMA146,3744 -#define FD_Short(FD_Short147,3780 -#define FD_NoEOF(FD_NoEOF148,3816 -struct rfd_header rfd_header150,3853 -#define TDR_LINKOK 175,4655 -#define TDR_XCVRPROBLEM 176,4688 -#define TDR_OPEN 177,4721 -#define TDR_SHORT 178,4754 -#define TDR_TIME 179,4787 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c527.h,843 -#define HOST_CMD 9,70 -#define HOST_CMD_START_RX 10,90 -#define HOST_CMD_SUSPND_RX 11,133 -#define HOST_CMD_RESTRT_RX 12,176 -#define HOST_CMD_SUSPND_TX 14,220 -#define HOST_CMD_RESTRT_TX 15,258 -#define HOST_STATUS 18,298 -#define HOST_STATUS_CRR 19,321 -#define HOST_STATUS_CWR 20,353 -#define HOST_CTRL 23,387 -#define HOST_CTRL_ATTN 24,408 -#define HOST_CTRL_RESET 25,439 -#define HOST_CTRL_INTE 26,471 -#define HOST_RAMPAGE 28,503 -#define HALTED 30,528 -#define RUNNING 31,545 -struct mc32_mailboxmc32_mailbox33,564 -struct skb_headerskb_header39,659 -struct mc32_statsmc32_stats48,874 -#define STATUS_MASK 73,1759 -#define COMPLETED 74,1784 -#define COMPLETED_OK 75,1809 -#define BUFFER_BUSY 76,1837 -#define CONTROL_EOP 78,1865 -#define CONTROL_EOL 79,1912 -#define MCA_MC32_ID 81,1958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/cfm.c,947 -#define KERNEL40,1067 -static const char ID_sccs[44,1120 -#define AFLAG 50,1215 -#define GO_STATE(GO_STATE51,1234 -#define ACTIONS_DONE(ACTIONS_DONE52,1293 -#define ACTIONS(ACTIONS53,1353 -static const char * const cfm_states[59,1427 -static const char * const cfm_events[68,1662 -static const u_char cf_to_ptype[76,1822 -#define CEM_PST_DOWN 85,1953 -#define CEM_PST_UP 86,1976 -#define CEM_PST_HOLD 87,1997 -void cfm_init(105,2338 -#define THRU_ENABLED(THRU_ENABLED117,2653 -static void selection_criteria 120,2790 -void all_selection_criteria(146,3210 -static void cem_priv_state(157,3419 -void cfm(213,4831 -static void cfm_fsm(285,6693 -int cfm_get_mac_input(543,14471 -int cfm_get_mac_output(554,14683 -static char path_iso[560,14839 -static char path_wrap_a[566,15011 -static char path_wrap_b[572,15188 -static char path_thru[578,15365 -static char path_wrap_s[584,15541 -static char path_iso_s[589,15670 -int cem_build_path(594,15796 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/smttimer.c,213 -static const char ID_sccs[26,745 -void smt_timer_init(31,880 -void smt_timer_stop(39,1034 -void smt_timer_start(62,1500 -void smt_force_irq(110,2480 -void smt_timer_done(115,2596 -static void timer_done(120,2661 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/smtparse.c,421 -#define KERNEL27,770 -static const char ID_sccs[31,823 -#define _far35,913 -#define MS2BCLK(MS2BCLK41,966 -#define US2BCLK(US2BCLK42,1003 -static struct s_ptab s_ptab47,1068 -} ptab[53,1179 -#define MAX_VAL 80,1861 -#define DB_MAIN(DB_MAIN90,2080 -#define DB_MAIN(DB_MAIN92,2123 -int smt_parse_arg(121,2698 -static int parse_word(288,7203 -static u_long parse_num(363,8287 -struct s_smc SMC 431,9416 -main(432,9435 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/fplustm.c,2506 -static const char ID_sccs[28,807 -#define UNUSED(UNUSED33,913 -#define UNUSED(UNUSED35,947 -#define FM_ADDRX 39,980 -#define MS2BCLK(MS2BCLK40,1029 -#define US2BCLK(US2BCLK41,1061 -static char write_mdr_warning 52,1391 -static char cam_warning 53,1465 -#define DUMMY_READ(DUMMY_READ56,1533 -#define CHECK_NPP(CHECK_NPP58,1602 -#define CHECK_CAM(CHECK_CAM65,1779 -const struct fddi_addr fddi_broadcast 72,1952 -static const struct fddi_addr null_addr 73,2027 -static const struct fddi_addr dbeacon_multi 74,2086 -static const u_short my_said 76,2168 -static const u_short my_sagp 77,2235 -#define MA 83,2357 -#define MA 85,2398 -static int mac_imsk1u 92,2473 -static int mac_imsk1l 93,2537 -static int mac_imsk2u 97,2676 -static int mac_imsk2l 99,2763 -static int mac_imsk3u 103,2897 -static int mac_imsk3l 104,2947 -static int mac_beacon_imsk2u 106,3000 -static u_long mac_get_tneg(110,3117 -void mac_update_counter(119,3312 -static void write_mdr(144,4015 -static u_long read_mdr(154,4185 -static void init_ram(173,4660 -static void set_recvptr(192,5094 -static void set_txptr(222,6056 -static void init_rbc(254,7097 -static void init_rx(275,7515 -void set_formac_tsync(297,8117 -static void init_tx(305,8285 -static void mac_counter_init(331,8902 -static void set_formac_addr(354,9368 -static void set_int(380,10344 -static void copy_tx_mac(396,10682 -static void directed_beacon(445,12214 -static void build_claim_beacon(474,13051 -static void formac_rcv_restart(535,14770 -void formac_tx_restart(543,14974 -static void enable_formac(549,15144 -void enable_tx_irq(589,16306 -void disable_tx_irq(624,17121 -static void disable_formac(640,17452 -static void mac_ring_up(652,17720 -void mac2_irq(679,18350 -void mac3_irq(805,22024 -static void formac_offline(828,22549 -static void formac_online(846,22952 -int init_fplus(856,23210 -static int init_mac(894,24219 -void config_mux(999,26893 -void sm_mac_check_beacon_claim(1013,27256 -void sm_ma_control(1026,27637 -int sm_mac_get_tx_state(1050,28063 -static struct s_fpmc* mac_get_mc_table(1059,28182 -void mac_clear_multicast(1103,29063 -int mac_set_func_addr(1134,29714 -int mac_add_multicast(1169,30590 -void mac_del_multicast(1223,31648 -#define RX_MODE_PROM 1255,32197 -#define RX_MODE_ALL_MULTI 1256,32223 -void mac_update_multicast(1269,32446 -void mac_set_rx_mode(1345,34423 -void rtm_irq(1401,36113 -static void rtm_init(1414,36545 -void rtm_set_timer(1420,36691 -static void smt_split_up_fifo(1430,36975 -void formac_reinit_tx(1550,40701 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/drvfbi.c,2839 -static const char ID_sccs[28,829 -#define PC8_ACTIVE 34,933 -#define LED_Y_ON 36,955 -#define LED_Y_OFF 37,1016 -#define MS2BCLK(MS2BCLK40,1041 -const int opt_ints[46,1127 -const int opt_iops[47,1184 -const int opt_dmas[49,1269 -const int opt_eproms[50,1310 -const int opt_ints[54,1454 -const int opt_dmas[55,1494 -const int opt_eproms[56,1532 -int opt_ints[61,1673 -int opt_eproms[62,1719 -const u_char oem_id[81,2220 -const u_char oem_id[83,2267 -const u_char oem_id[87,2370 -const u_char oem_id[89,2409 -#define ID_BYTE0 92,2504 -#define OEMID(OEMID93,2523 -const struct s_oem_ids oem_ids[95,2586 -#define OEMID(OEMID99,2650 -#define read_POS(read_POS122,3159 -#define write_POS(write_POS123,3206 -static void card_start(131,3306 -void card_stop(251,6550 -void mac1_irq(282,7403 -void plc1_irq(385,10297 -void plc2_irq(400,10577 -void timer_irq(415,10817 -int pcm_get_s_port(425,10968 -#define STATION_LABEL_CONNECTOR_OFFSET 438,11144 -#define STATION_LABEL_PMD_OFFSET 439,11185 -#define STATION_LABEL_PORT_OFFSET 440,11220 -void read_address(442,11257 -void init_board(511,12933 -void sm_pm_bypass_req(540,13529 -int sm_pm_bypass_present(593,14515 -void plc_clear_irq(602,14702 -void led_indication(634,15284 -void pcm_state_change(728,17171 -void rmt_indication(741,17487 -void llc_recover_tx(753,17727 -void init_dma(773,18012 -void dis_dma(794,18323 -static const int cntr[814,18642 -static const int base[815,18719 -static const int page[816,18796 -void init_dma(818,18874 -void dis_dma(847,19571 -void init_dma(856,19722 -void dis_dma(862,19805 -void init_dma(870,19905 -void dis_dma(876,19988 -static int is_equal_num(884,20093 -int set_oi_id_def(905,20522 -#define LONG_CARD_ID(LONG_CARD_ID978,21907 -int exist_board(979,21975 -static int read_card_id(1029,23278 -int get_board_para(1073,24342 -static void EnableSlotAccess(1120,25549 -static void DisableSlotAccess(1138,25904 -#define SADDR(SADDR1152,26106 -#define SADDR(SADDR1154,26174 -int exist_board(1187,26786 -int get_board_para(1224,27520 -const u_char sklogo[1256,28162 -#define SIZE_SKLOGO(SIZE_SKLOGO1257,28200 -#define SKLOGO(SKLOGO1258,28240 -#define SIZE_SKLOGO(SIZE_SKLOGO1260,28294 -#define SKLOGO(SKLOGO1261,28347 -int exist_board(1265,28421 -int get_board_para(1336,30100 -int exist_board(1346,30279 -void driver_get_bia(1384,31160 -void smt_start_watchdog(1395,31373 -void smt_stop_watchdog(1410,31604 -static char get_rom_byte(1425,31842 -#define ROM_SIG_1 1434,31987 -#define ROM_SIG_2 1435,32007 -#define PCI_DATA_1 1436,32027 -#define PCI_DATA_2 1437,32051 -#define VPD_DATA_1 1442,32113 -#define VPD_DATA_2 1443,32137 -#define IMAGE_LEN_1 1444,32161 -#define IMAGE_LEN_2 1445,32186 -#define CODE_TYPE 1446,32211 -#define INDICATOR 1447,32234 -int mac_drv_vpd_read(1470,32823 -void mac_drv_pci_fix(1519,33966 -void mac_do_pci_fix(1524,34066 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/hwt.c,246 -static const char ID_sccs[35,1025 -#define HWT_MAX 61,1576 -void hwt_start(63,1601 -void hwt_stop(116,2774 -void hwt_init(145,3371 -void hwt_restart(168,3732 -u_long hwt_read(191,4231 -u_long hwt_quick_read(235,5165 -void hwt_wait_time(263,5792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/smtinit.c,184 -static const char ID_sccs[27,791 -struct smt_debug debug;34,1007 -#define OEMID(OEMID38,1056 -#define OEMID(OEMID41,1134 -static void set_oem_spec_val(51,1385 -int init_smt(68,1615 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/ecm.c,725 -#define KERNEL45,1188 -static const char ID_sccs[49,1241 -#define AFLAG 55,1335 -#define GO_STATE(GO_STATE56,1354 -#define ACTIONS_DONE(ACTIONS_DONE57,1413 -#define ACTIONS(ACTIONS58,1473 -#define EC0_OUT 60,1503 -#define EC1_IN 61,1543 -#define EC2_TRACE 62,1578 -#define EC3_LEAVE 63,1614 -#define EC4_PATH_TEST 64,1659 -#define EC5_INSERT 65,1712 -#define EC6_CHECK 66,1764 -#define EC7_DEINSERT 67,1808 -static const char * const ecm_states[73,1908 -static const char * const ecm_events[81,2089 -void ecm_init(106,2671 -void ecm(124,2979 -static void ecm_fsm(143,3428 -static void prop_actions(427,10229 -static void prop_actions(477,11597 -static void start_ecm_timer(523,12627 -static void stop_ecm_timer(532,12825 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/smt.c,2909 -#define KERNEL22,735 -static const char ID_sccs[26,788 -#define m_fc(m_fc34,922 -#define SMT_TID_MAGIC 36,959 -static const char *const smt_type_name[39,1006 -static const char *const smt_class_name[46,1250 -#define LAST_CLASS 51,1400 -static const struct fddi_addr SMT_Unknown 53,1434 -#define hwm_conv_can(hwm_conv_can123,4460 -static inline int is_my_addr(127,4505 -static inline int is_zero(138,4872 -static inline int is_broadcast(145,5054 -static inline int is_individual(152,5262 -static inline int is_equal(157,5367 -static const u_short plist_nif[168,5717 -void smt_agent_init(173,5818 -void smt_agent_task(219,6970 -void smt_please_reconnect(226,7141 -void smt_emulate_token_ct(245,7894 -void smt_event(272,8472 -static int div_ratio(488,13756 -void smt_received_pack(504,13993 -static void update_dac(850,23379 -void smt_send_frame(868,23812 -static void smt_send_rdf(891,24433 -static void smt_send_nif(968,26529 -static void smt_send_nif_request(997,27437 -static void smt_send_ecf_request(1007,27701 -static void smt_echo_test(1019,27956 -static void smt_send_ecf(1034,28316 -static void smt_send_sif_config(1060,29031 -static void smt_send_sif_operation(1093,30311 -SMbuf *smt_build_frame(1141,31715 -static void smt_add_frame_len(1177,32462 -static void smt_fill_una(1191,32669 -static void smt_fill_sde(1201,32884 -static void smt_fill_state(1217,33296 -static void smt_fill_timestamp(1257,34264 -void smt_set_timestamp(1264,34420 -static void smt_fill_policy(1298,35231 -static void smt_fill_latency(1329,35879 -static void smt_fill_neighbor(1352,36461 -#define ALLPHYS 1366,36851 -#define ALLPHYS 1368,36881 -static int smt_fill_path(1371,36939 -static void smt_fill_mac_status(1419,38135 -static void smt_fill_lem(1446,38971 -static void smt_fill_version(1468,39589 -static void smt_fill_fsc(1487,40017 -static void smt_fill_mac_counter(1507,40490 -static void smt_fill_mac_fnc(1519,40842 -static void smt_fill_manufacturer(1531,41117 -static void smt_fill_user(1543,41380 -static void smt_fill_setcount(1554,41607 -static void smt_fill_echo(1566,41915 -void smt_clear_una_dna(1584,42266 -static void smt_clear_old_una_dna(1590,42421 -u_long smt_get_tid(1596,42593 -static const struct smt_pdef smt_pdef1608,42779 -} smt_pdef[1612,42856 -#define N_SMT_PLEN 1683,45513 -int smt_check_para(1685,45572 -void *sm_to_para(1699,45848 -void fddi_send_antc(1734,46547 -#define hextoasc(hextoasc1759,47040 -char *addr_to_string(1761,47083 -smt_ifconfig(1777,47389 -static int mac_index(1791,47648 -static int phy_index(1805,47869 -static int mac_con_resource_index(1814,48012 -static int phy_con_resource_index(1838,48500 -static int entity_to_index(1860,48984 -static int smt_swap_short(1870,49172 -void smt_swap_para(1875,49253 -static void smt_string_swap(1922,50213 -void smt_swap_para(1973,51009 -int smt_action(1985,51207 -void smt_change_t_neg(2076,53488 -void hwm_conv_can(2091,53821 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/hwmtm.c,1589 -static char const ID_sccs[18,666 -#define HWMTM21,741 -#define FDDI24,769 -static SMbuf *mb_start 49,1282 -static SMbuf *mb_free 50,1311 -static int mb_init 51,1339 -static int call_count 52,1368 -#define UNUSED(UNUSED181,5633 -#define UNUSED(UNUSED183,5667 -#define MA 188,5720 -#define GROUP_ADDR_BIT 189,5758 -#define MA 191,5792 -#define GROUP_ADDR_BIT 192,5829 -#define RXD_TXD_COUNT 195,5865 -#define EXT_VIRT_MEM 199,5990 -#define EXT_VIRT_MEM_2 201,6088 -#define EXT_VIRT_MEM 203,6165 -#define CR_READ(CR_READ210,6334 -#define CR_READ(CR_READ212,6401 -#define IMASK_SLOW 215,6444 -u_int mac_drv_check_space(239,7065 -int mac_drv_init(269,7620 -void init_driver_fplus(319,8895 -static u_long init_descr_ring(334,9257 -static void init_txd_ring(365,10104 -static void init_rxd_ring(402,11263 -void init_fddi_driver(432,12021 -SMbuf *smt_get_mbuf(496,13482 -void smt_free_mbuf(518,13887 -void mac_drv_repair_descr(564,15145 -static u_long repair_txd_ring(596,15847 -static u_long repair_rxd_ring(648,17112 -void fddi_isr(719,18895 -void mac_drv_rx_mode(1002,26740 -void process_receive(1051,27847 -static void smt_to_llc(1391,36395 -void hwm_rx_frag(1426,37528 -int mac_drv_rx_frag(1466,38731 -void mac_drv_clear_rx_queue(1503,39785 -int hwm_tx_init(1590,42268 -void hwm_tx_frag(1668,44682 -static void queue_llc_rx(1774,47578 -static SMbuf *get_llc_rx(1798,48064 -static void queue_txd_mb(1814,48403 -static SMbuf *get_txd_mb(1831,48778 -void smt_send_mbuf(1846,49049 -void mac_drv_clear_txd(1980,52446 -void mac_drv_clear_tx_queue(2071,54776 -void mac_drv_debug_lev(2163,56983 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/skfddi.c,1777 -#define VERSION 68,2257 -static const char *boot_msg 70,2282 -static struct pci_device_id skfddi_pci_tbl[154,5712 -static int num_boards;164,6029 -#define PRINTK(PRINTK167,6114 -#define PRINTK(PRINTK169,6166 -#define PRIV(PRIV172,6219 -static int skfp_init_one(203,7035 -static void __devexit skfp_remove_one(344,10388 -static int skfp_driver_init(399,11734 -static int skfp_open(507,14505 -static int skfp_close(574,16262 -irqreturn_t skfp_interrupt(632,17701 -struct net_device_stats *skfp_ctl_get_stats(704,19633 -static void skfp_ctl_set_multicast_list(868,30215 -static void skfp_ctl_set_multicast_list_wo_lock(881,30518 -static int skfp_ctl_set_mac_address(964,32757 -static int skfp_ioctl(1004,33659 -static int skfp_send_pkt(1082,35914 -static void send_queued_packets(1144,37600 -void CheckSourceAddress(1245,40329 -static void ResetAdapter(1271,40887 -void llc_restart_tx(1316,42032 -void *mac_drv_get_space(1346,42793 -void *mac_drv_get_desc_mem(1386,44007 -unsigned long mac_drv_virt2phys(1424,44881 -u_long dma_master(1459,45986 -void dma_complete(1487,46824 -void mac_drv_tx_complete(1531,48224 -void dump_data(1565,49029 -#define dump_data(dump_data1586,49644 -void mac_drv_rx_complete(1613,50423 -void mac_drv_requeue_rxd(1734,53611 -void mac_drv_fill_rxd(1811,55690 -void mac_drv_clear_rxd(1878,57503 -int mac_drv_rx_init(1935,59049 -void smt_timer_poll(1983,60234 -void ring_status_indication(2001,60556 -unsigned long smt_get_time(2055,61914 -void smt_stat_counter(2075,62302 -void cfm_state_change(2111,63044 -void ecm_state_change(2169,64116 -void rmt_state_change(2224,65077 -void drv_reset_indication(2276,66239 -static struct pci_driver skfddi_pci_driver 2284,66417 -static int __init skfd_init(2291,66585 -static void __exit skfd_exit(2296,66669 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/queue.c,221 -static const char ID_sccs[26,762 -#define PRINTF(PRINTF29,837 -void ev_init(34,898 -void queue_event(42,1015 -void timer_event(58,1426 -void ev_dispatcher(73,1750 -u_short smt_online(127,3061 -void do_smt_flag(141,3353 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/lnkstat.c,231 -static const char ID_sccs[27,791 -#define _far31,879 -#define EL_IS_OK(EL_IS_OK34,900 -u_long smt_get_error_word(55,1416 -u_long smt_get_event_word(94,2200 -u_long smt_get_port_event_word(112,2534 -int smt_read_errorlog(135,2978 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/rmt.c,998 -#define KERNEL49,1234 -static const char ID_sccs[53,1287 -#define AFLAG 59,1382 -#define GO_STATE(GO_STATE60,1401 -#define ACTIONS_DONE(ACTIONS_DONE61,1468 -#define ACTIONS(ACTIONS62,1536 -#define RM0_ISOLATED 64,1566 -#define RM1_NON_OP 65,1589 -#define RM2_RING_OP 66,1633 -#define RM3_DETECT 67,1679 -#define RM4_NON_OP_DUP 68,1729 -#define RM5_RING_OP_DUP 69,1781 -#define RM6_DIRECTED 70,1841 -#define RM7_TRACE 71,1896 -static const char * const rmt_states[77,1984 -static const char * const rmt_events[86,2185 -void rmt_init(125,3388 -void rmt(147,3833 -static void rmt_fsm(166,4322 -static void rmt_dup_actions(533,13950 -static void rmt_reinsert_actions(552,14299 -static void rmt_new_dup_actions(561,14478 -static void rmt_leave_actions(586,15045 -static void start_rmt_timer0(599,15305 -static void start_rmt_timer1(609,15567 -static void start_rmt_timer2(619,15828 -static void stop_rmt_timer0(629,16089 -static void stop_rmt_timer1(639,16268 -static void stop_rmt_timer2(649,16447 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/targetos.h,1224 -#define TARGETOS_H21,701 -#define PCI_VENDOR_ID_SK 25,774 -#define PCI_DEVICE_ID_SK_FP 26,807 -#define FDDI_MAC_HDR_LEN 32,913 -#define FDDI_RII 34,942 -#define FDDI_RCF_DIR_BIT 35,994 -#define FDDI_RCF_LEN_MASK 36,1024 -#define FDDI_RCF_BROADCAST 37,1055 -#define FDDI_RCF_LIMITED_BROADCAST 38,1089 -#define FDDI_RCF_FRAME2K 39,1131 -#define FDDI_RCF_FRAME4K 40,1161 -#define ADDR(ADDR56,1456 -#define ADDR(ADDR58,1507 -#define TRUE 63,1697 -#define FALSE 64,1713 -#define FDDI_TRACE(FDDI_TRACE68,1776 -#define NDD_TRACE(NDD_TRACE70,1857 -#define SMT_PAGESIZE 72,1940 -#define TICKS_PER_SECOND 78,2085 -#define SMC_VERSION 79,2113 -#define NO_ADDRESS 85,2221 -#define SKFP_MAX_NUM_BOARDS 86,2277 -#define SK_BUS_TYPE_PCI 88,2343 -#define SK_BUS_TYPE_EISA 89,2370 -#define FP_IO_LEN 91,2398 -#define u8 93,2451 -#define u16 94,2476 -#define u32 95,2503 -#define MAX_TX_QUEUE_LEN 97,2529 -#define MAX_FRAME_SIZE 98,2595 -#define RX_LOW_WATERMARK 100,2625 -#define TX_LOW_WATERMARK 101,2675 -#define SKFPIOCTL 108,2787 -struct s_skfp_ioctl s_skfp_ioctl110,2821 -#define SKFP_GET_STATS 119,3093 -#define SKFP_CLR_STATS 120,3154 -struct s_smt_os s_smt_os123,3257 -typedef struct s_smt_os skfddi_priv;skfddi_priv163,4184 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/smtstate.h,1170 -#define _SKFP_H_SMTSTATE_H_16,626 -#define PC0_OFF 26,724 -#define PC1_BREAK 27,744 -#define PC2_TRACE 28,765 -#define PC3_CONNECT 29,786 -#define PC4_NEXT 30,809 -#define PC5_SIGNAL 31,829 -#define PC6_JOIN 32,851 -#define PC7_VERIFY 33,871 -#define PC8_ACTIVE 34,893 -#define PC9_MAINT 35,915 -#define PM_NONE 40,957 -#define PM_PEER 41,977 -#define PM_TREE 42,997 -#define TA 47,1037 -#define TB 48,1052 -#define TS 49,1067 -#define TM 50,1082 -#define TNONE 51,1097 -#define SC0_ISOLATED 56,1137 -#define SC1_WRAP_A 57,1176 -#define SC2_WRAP_B 58,1211 -#define SC4_THRU_A 59,1246 -#define SC5_THRU_B 60,1285 -#define SC7_WRAP_S 61,1333 -#define EC0_OUT 66,1387 -#define EC1_IN 67,1406 -#define EC2_TRACE 68,1424 -#define EC3_LEAVE 69,1444 -#define EC4_PATH_TEST 70,1464 -#define EC5_INSERT 71,1488 -#define EC6_CHECK 72,1509 -#define EC7_DEINSERT 73,1529 -#define RM0_ISOLATED 78,1574 -#define RM1_NON_OP 79,1597 -#define RM2_RING_OP 80,1641 -#define RM3_DETECT 81,1687 -#define RM4_NON_OP_DUP 82,1737 -#define RM5_RING_OP_DUP 83,1789 -#define RM6_DIRECTED 84,1849 -#define RM7_TRACE 85,1904 -struct pcm_state pcm_state88,1955 -struct smt_state smt_state101,2468 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/targethw.h,432 -#define _TARGETHW_16,617 -#define RX_WATERMARK 22,687 -#define TX_WATERMARK 23,711 -#define SK_ML_ID_1 24,735 -#define SK_ML_ID_2 25,759 -#define HW_PTR 37,925 -#define HW_PTR 39,954 -#define OI_STAT_LAST 44,1009 -#define OI_STAT_PRESENT 45,1060 -#define OI_STAT_VALID 46,1121 -#define OI_STAT_ACTIVE 47,1187 -struct s_oem_ids s_oem_ids51,1366 -struct s_smt_hw s_smt_hw69,1886 -#define STARTED 124,3324 -#define STOPPED 125,3343 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/cmtdef.h,9047 -#define _CMTDEF_16,615 -#define AMDPLC 24,788 -#define NUMPHYS 26,844 -#define NUMPHYS 29,931 -#define NUMPHYS 31,1003 -#define NUMMACS 34,1082 -#define NUMPATHS 35,1138 -#define CONCENTRATOR44,1332 -#define LINT_USE(LINT_USE51,1422 -#define LINT_USE(LINT_USE53,1456 -#define DB_PR(DB_PR57,1497 -#define DB_PR(DB_PR59,1559 -#define DB_ECM(DB_ECM63,1610 -#define DB_ECMN(DB_ECMN64,1667 -#define DB_RMT(DB_RMT65,1730 -#define DB_RMTN(DB_RMTN66,1787 -#define DB_CFM(DB_CFM67,1850 -#define DB_CFMN(DB_CFMN68,1907 -#define DB_PCM(DB_PCM69,1970 -#define DB_PCMN(DB_PCMN70,2027 -#define DB_SMT(DB_SMT71,2090 -#define DB_SMTN(DB_SMTN72,2146 -#define DB_SBA(DB_SBA73,2210 -#define DB_SBAN(DB_SBAN74,2265 -#define DB_ESS(DB_ESS75,2328 -#define DB_ESSN(DB_ESSN76,2383 -#define DB_ECM(DB_ECM78,2452 -#define DB_ECMN(DB_ECMN79,2504 -#define DB_RMT(DB_RMT80,2562 -#define DB_RMTN(DB_RMTN81,2614 -#define DB_CFM(DB_CFM82,2672 -#define DB_CFMN(DB_CFMN83,2724 -#define DB_PCM(DB_PCM84,2782 -#define DB_PCMN(DB_PCMN85,2834 -#define DB_SMT(DB_SMT86,2892 -#define DB_SMTN(DB_SMTN87,2943 -#define DB_SBA(DB_SBA88,3002 -#define DB_SBAN(DB_SBAN89,3052 -#define DB_ESS(DB_ESS90,3110 -#define DB_ESSN(DB_ESSN91,3160 -#define SK_LOC_DECL(SK_LOC_DECL95,3244 -#define SK_LOC_DECL(SK_LOC_DECL97,3289 -#define PA 104,3461 -#define PB 105,3475 -#define PS 112,3684 -#define PS 114,3747 -#define PM 116,3768 -#define TA 121,3868 -#define TB 122,3896 -#define TS 123,3924 -#define TM 124,3952 -#define TNONE 125,3980 -#define INDEX_MAC 131,4025 -#define INDEX_PATH 132,4045 -#define INDEX_PORT 133,4066 -#define POLICY_AA 139,4108 -#define POLICY_AB 140,4150 -#define POLICY_AS 141,4192 -#define POLICY_AM 142,4234 -#define POLICY_BA 143,4276 -#define POLICY_BB 144,4318 -#define POLICY_BS 145,4360 -#define POLICY_BM 146,4402 -#define POLICY_SA 147,4444 -#define POLICY_SB 148,4486 -#define POLICY_SS 149,4528 -#define POLICY_SM 150,4571 -#define POLICY_MA 151,4614 -#define POLICY_MB 152,4657 -#define POLICY_MS 153,4700 -#define POLICY_MM 154,4743 -#define EVENT_ECM 164,4841 -#define EVENT_CFM 165,4884 -#define EVENT_RMT 166,4927 -#define EVENT_SMT 167,4970 -#define EVENT_PCM 168,5013 -#define EVENT_PCMA 169,5056 -#define EVENT_PCMB 170,5101 -#define EV_TOKEN(EV_TOKEN178,5295 -#define EV_T_CLASS(EV_T_CLASS179,5368 -#define EV_T_EVENT(EV_T_EVENT180,5422 -#define EC_CONNECT 185,5492 -#define EC_DISCONNECT 186,5536 -#define EC_TRACE_PROP 187,5586 -#define EC_PATH_TEST 188,5635 -#define EC_TIMEOUT_TD 189,5675 -#define EC_TIMEOUT_TMAX 190,5719 -#define EC_TIMEOUT_IMAX 191,5768 -#define EC_TIMEOUT_INMAX 192,5813 -#define EC_TEST_DONE 193,5860 -#define CF_LOOP 198,5927 -#define CF_LOOP_A 199,5975 -#define CF_LOOP_B 200,6024 -#define CF_JOIN 201,6073 -#define CF_JOIN_A 202,6121 -#define CF_JOIN_B 203,6170 -#define PC_START 208,6241 -#define PC_STOP 209,6261 -#define PC_LOOP 210,6281 -#define PC_JOIN 211,6301 -#define PC_SIGNAL 212,6321 -#define PC_REJECT 213,6342 -#define PC_MAINT 214,6363 -#define PC_TRACE 215,6387 -#define PC_PDR 216,6407 -#define PC_ENABLE 217,6426 -#define PC_DISABLE 218,6448 -#define PC_QLS 223,6518 -#define PC_ILS 224,6538 -#define PC_MLS 225,6558 -#define PC_HLS 226,6578 -#define PC_LS_PDR 227,6598 -#define PC_LS_NONE 228,6620 -#define LS2MIB(LS2MIB229,6643 -#define MIB2LS(MIB2LS230,6674 -#define PC_TIMEOUT_TB_MAX 232,6706 -#define PC_TIMEOUT_TB_MIN 233,6754 -#define PC_TIMEOUT_C_MIN 234,6802 -#define PC_TIMEOUT_T_OUT 235,6848 -#define PC_TIMEOUT_TL_MIN 236,6894 -#define PC_TIMEOUT_T_NEXT 237,6942 -#define PC_TIMEOUT_LCT 238,6992 -#define PC_NSE 239,7019 -#define PC_LEM 240,7066 -#define RM_RING_OP 245,7142 -#define RM_RING_NON_OP 246,7191 -#define RM_MY_BEACON 247,7248 -#define RM_OTHER_BEACON 248,7298 -#define RM_MY_CLAIM 249,7354 -#define RM_TRT_EXP 250,7402 -#define RM_VALID_CLAIM 251,7443 -#define RM_JOIN 252,7499 -#define RM_LOOP 253,7544 -#define RM_DUP_ADDR 254,7589 -#define RM_ENABLE_FLAG 255,7647 -#define RM_TIMEOUT_NON_OP 257,7693 -#define RM_TIMEOUT_T_STUCK 258,7745 -#define RM_TIMEOUT_ANNOUNCE 259,7797 -#define RM_TIMEOUT_T_DIRECT 260,7853 -#define RM_TIMEOUT_D_MAX 261,7907 -#define RM_TIMEOUT_POLL 262,7955 -#define RM_TX_STATE_CHANGE 263,8009 -#define SM_TIMER 268,8094 -#define SM_FAST 269,8126 -#define PM_NONE 272,8182 -#define PM_PEER 273,8201 -#define PM_TREE 274,8220 -#define PC_WH_NONE 280,8297 -#define PC_WH_M_M 281,8328 -#define PC_WH_OTHER 282,8362 -#define PC_WH_PATH 283,8415 -#define LC_SHORT 287,8485 -#define LC_MEDIUM 288,8521 -#define LC_LONG 289,8559 -#define LC_EXTENDED 290,8594 -#define PT_NONE 295,8664 -#define PT_TESTING 296,8683 -#define PT_PASSED 297,8727 -#define PT_FAILED 298,8766 -#define PT_PENDING 299,8805 -#define PT_EXITING 300,8851 -#define DA_NONE 306,8974 -#define DA_PASSED 307,9002 -#define DA_FAILED 308,9041 -#define BP_DEINSERT 314,9107 -#define BP_INSERT 315,9151 -#define PM_TRANSMIT_DISABLE 320,9222 -#define PM_TRANSMIT_ENABLE 321,9271 -#define MUX_THRUA 327,9404 -#define MUX_THRUB 328,9441 -#define MUX_WRAPA 329,9478 -#define MUX_WRAPB 330,9512 -#define MUX_ISOLATE 331,9546 -#define MUX_WRAPS 332,9584 -#define MA_RESET 337,9638 -#define MA_BEACON 338,9657 -#define MA_CLAIM 339,9677 -#define MA_DIRECTED 340,9696 -#define MA_TREQ 341,9741 -#define MA_OFFLINE 342,9780 -#define ENTITY_MAC 349,9886 -#define ENTITY_PHY(ENTITY_PHY350,9915 -#define ENTITY_BIT(ENTITY_BIT351,9941 -#define PATH_ISO 356,10002 -#define PATH_PRIM 357,10036 -#define PATH_THRU 358,10075 -#define RES_MAC 360,10115 -#define RES_PORT 361,10158 -#define SC0_ISOLATED 368,10269 -#define SC1_WRAP_A 369,10308 -#define SC2_WRAP_B 370,10354 -#define SC4_THRU_A 371,10400 -#define SC5_THRU_B 372,10439 -#define SC7_WRAP_S 373,10495 -#define SC9_C_WRAP_A 374,10538 -#define SC10_C_WRAP_B 375,10577 -#define SC11_C_WRAP_S 376,10618 -#define MIB2US(MIB2US381,10710 -#define SEC2MIB(SEC2MIB382,10738 -struct smt_timer smt_timer386,10793 -struct mac_parameter mac_parameter398,11114 -struct mac_counter mac_counter406,11249 -struct s_pcon s_pcon414,11451 -#define LEM_AVG 424,11560 -struct lem_counter lem_counter425,11578 -#define NUMBITS 444,11946 -struct s_plc s_plc451,12007 -#define SK_UNUSED(SK_UNUSED491,13315 -#define smt_panic(smt_panic536,15234 -#define smt_init_evc(smt_init_evc636,19116 -#define smt_srf_event(smt_srf_event637,19142 -#define dump_smt(dump_smt647,19400 -#define PNMI_INIT(PNMI_INIT659,19610 -#define PNMI_GET_ID(PNMI_GET_ID662,19674 -#define PNMI_SET_ID(PNMI_SET_ID666,19799 -#define SMT_PANIC(SMT_PANIC674,19957 -#define SMT_ERR_LOG(SMT_ERR_LOG678,20036 -#define SMT_EBASE 682,20119 -#define SMT_E0100 685,20149 -#define SMT_E0100_MSG 686,20181 -#define SMT_E0101 687,20230 -#define SMT_E0101_MSG 688,20262 -#define SMT_E0102 689,20300 -#define SMT_E0102_MSG 690,20332 -#define SMT_E0103 691,20377 -#define SMT_E0103_MSG 692,20409 -#define SMT_E0104 693,20454 -#define SMT_E0104_MSG 694,20486 -#define SMT_E0105 695,20531 -#define SMT_E0105_MSG 696,20563 -#define SMT_E0106 697,20608 -#define SMT_E0106_MSG 698,20640 -#define SMT_E0107 699,20684 -#define SMT_E0107_MSG 700,20716 -#define SMT_E0108 701,20760 -#define SMT_E0108_MSG 702,20792 -#define SMT_E0109 703,20846 -#define SMT_E0109_MSG 704,20878 -#define SMT_E0110 705,20940 -#define SMT_E0110_MSG 706,20973 -#define SMT_E0111 707,21036 -#define SMT_E0111_MSG 708,21069 -#define SMT_E0112 709,21133 -#define SMT_E0112_MSG 710,21166 -#define SMT_E0113 711,21230 -#define SMT_E0113_MSG 712,21263 -#define SMT_E0114 713,21314 -#define SMT_E0114_MSG 714,21347 -#define SMT_E0115 715,21409 -#define SMT_E0115_MSG 716,21442 -#define SMT_E0116 717,21504 -#define SMT_E0116_MSG 718,21537 -#define SMT_E0117 719,21599 -#define SMT_E0117_MSG 720,21632 -#define SMT_E0118 721,21701 -#define SMT_E0118_MSG 722,21734 -#define SMT_E0119 723,21778 -#define SMT_E0119_MSG 724,21811 -#define SMT_E0120 725,21848 -#define SMT_E0120_MSG 726,21881 -#define SMT_E0121 727,21918 -#define SMT_E0121_MSG 728,21951 -#define SMT_E0122 729,22003 -#define SMT_E0122_MSG 730,22036 -#define SMT_E0123 731,22080 -#define SMT_E0123_MSG 732,22113 -#define SMT_E0124 733,22174 -#define SMT_E0124_MSG 734,22207 -#define SMT_E0125 735,22275 -#define SMT_E0125_MSG 736,22308 -#define SMT_E0126 737,22362 -#define SMT_E0126_MSG 738,22395 -#define SMT_E0127 739,22462 -#define SMT_E0127_MSG 740,22495 -#define SMT_E0128 741,22531 -#define SMT_E0128_MSG 742,22564 -#define SMT_E0129 743,22612 -#define SMT_E0129_MSG 744,22645 -#define SMT_E0130 745,22691 -#define SMT_E0130_MSG 746,22724 -#define SMT_E0131 747,22764 -#define SMT_E0131_MSG 748,22797 -#define SMT_E0132 749,22831 -#define SMT_E0132_MSG 750,22864 -#define SMT_E0133 751,22924 -#define SMT_E0133_MSG 752,22957 -#define SMT_E0134 753,23015 -#define SMT_E0134_MSG 754,23048 -#define SMT_E0135 755,23101 -#define SMT_E0135_MSG 756,23134 -#define SMT_E0136 757,23206 -#define SMT_E0136_MSG 758,23239 -#define SMT_E0137 759,23289 -#define SMT_E0137_MSG 760,23322 -#define SMT_E0138 761,23365 -#define SMT_E0138_MSG 762,23398 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/smc.h,2743 -#define _SCMECM_16,615 -#define OSDEF22,742 -#define SUPERNET_327,794 -#define TAG_MODE30,837 -struct event_queue event_queue62,1507 -#define MAX_EVENT 71,1675 -#define MAX_EVENT 73,1723 -struct s_queue s_queue76,1772 -struct s_ecm s_ecm87,1952 -struct s_rmt s_rmt107,2519 -struct s_cfm s_cfm137,3486 -struct s_cem s_cem148,3686 -struct s_c_ring s_c_ring157,3861 -struct mib_path_config mib_path_config162,3929 -#define SNMP_RES_TYPE_MAC 167,4101 -#define SNMP_RES_TYPE_PORT 168,4153 -#define SNMP_PATH_ISOLATED 171,4285 -#define SNMP_PATH_LOCAL 172,4345 -#define SNMP_PATH_SECONDARY 173,4400 -#define SNMP_PATH_PRIMARY 174,4462 -#define SNMP_PATH_CONCATENATED 175,4520 -#define SNMP_PATH_THRU 176,4588 -#define PCM_DISABLED 185,4683 -#define PCM_CONNECTING 186,4706 -#define PCM_STANDBY 187,4731 -#define PCM_ACTIVE 188,4753 -struct s_pcm s_pcm190,4775 -struct s_phy s_phy198,4862 -#define PMD_SK_CONN 212,5307 -#define PMD_SK_PMD 213,5369 -struct s_timer s_timer246,6238 -#define SMT_EVENT_BASE 254,6347 -#define SMT_EVENT_MAC_PATH_CHANGE 255,6374 -#define SMT_EVENT_MAC_NEIGHBOR_CHANGE 256,6427 -#define SMT_EVENT_PORT_PATH_CHANGE 257,6484 -#define SMT_EVENT_PORT_CONNECTION 258,6538 -#define SMT_IS_CONDITION(SMT_IS_CONDITION260,6592 -#define SMT_COND_BASE 262,6644 -#define SMT_COND_SMT_PEER_WRAP 263,6697 -#define SMT_COND_SMT_HOLD 264,6747 -#define SMT_COND_MAC_FRAME_ERROR 265,6792 -#define SMT_COND_MAC_DUP_ADDR 266,6843 -#define SMT_COND_MAC_NOT_COPIED 267,6892 -#define SMT_COND_PORT_EB_ERROR 268,6943 -#define SMT_COND_PORT_LER 269,6993 -#define SR0_WAIT 271,7039 -#define SR1_HOLDOFF 272,7058 -#define SR2_DISABLED 273,7080 -struct s_srf s_srf275,7104 -#define RS_RES15 287,7418 -#define RS_HARDERROR 288,7460 -#define RS_SOFTERROR 289,7507 -#define RS_BEACON 290,7553 -#define RS_PATHTEST 291,7606 -#define RS_SELFTEST 292,7659 -#define RS_RES9 293,7713 -#define RS_DISCONNECT 294,7755 -#define RS_RES7 295,7811 -#define RS_DUPADDR 296,7853 -#define RS_NORINGOP 297,7906 -#define RS_VERSION 298,7953 -#define RS_STUCKBYPASSS 299,8009 -#define RS_EVENT 300,8062 -#define RS_RINGOPCHANGE 301,8115 -#define RS_RES0 302,8171 -#define RS_SET(RS_SET304,8214 -#define RS_CLEAR(RS_CLEAR306,8297 -#define RS_CLEAR_EVENT 309,8384 -#define AIX_EVENT(AIX_EVENT314,8558 -struct s_srf_evc s_srf_evc317,8623 -#define SMT_MAX_TEST 330,8994 -#define SMT_TID_NIF 331,9018 -#define SMT_TID_NIF_TEST 332,9068 -#define SMT_TID_ECF_UNA 333,9119 -#define SMT_TID_ECF_DNA 334,9174 -#define SMT_TID_ECF 335,9229 -struct smt_values smt_values337,9277 -#define SMT_DAS 354,9828 -#define SMT_SAS 355,9866 -#define SMT_NAC 356,9906 -struct smt_config smt_config358,9958 -struct smt_debug smt_debug406,11937 -struct s_smc s_smc434,12450 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/fddimib.h,2462 -typedef u_long Counter Counter23,638 -typedef u_char TimeStamp[TimeStamp24,663 -typedef struct fddi_addr LongAddr LongAddr25,693 -typedef u_long Timer_2 Timer_226,729 -typedef u_long Timer Timer27,754 -typedef u_short ResId ResId28,777 -typedef u_short SMTEnum SMTEnum29,801 -typedef u_char SMTFlag SMTFlag30,827 -} SetCountType SetCountType35,911 -#define MIB_PATH_P 40,976 -#define MIB_PATH_S 41,1002 -#define MIB_PATH_L 42,1028 -#define MIB_P_PATH_LOCAL 47,1127 -#define MIB_P_PATH_SEC_ALTER 48,1159 -#define MIB_P_PATH_PRIM_ALTER 49,1195 -#define MIB_P_PATH_CON_ALTER 50,1232 -#define MIB_P_PATH_SEC_PREFER 51,1268 -#define MIB_P_PATH_PRIM_PREFER 52,1305 -#define MIB_P_PATH_CON_PREFER 53,1343 -#define MIB_P_PATH_THRU 54,1380 -#define MIB_PATH_ISOLATED 59,1441 -#define MIB_PATH_LOCAL 60,1469 -#define MIB_PATH_SECONDARY 61,1495 -#define MIB_PATH_PRIMARY 62,1524 -#define MIB_PATH_CONCATENATED 63,1551 -#define MIB_PATH_THRU 64,1583 -#define MIB_PMDCLASS_MULTI 69,1633 -#define MIB_PMDCLASS_SINGLE1 70,1662 -#define MIB_PMDCLASS_SINGLE2 71,1693 -#define MIB_PMDCLASS_SONET 72,1724 -#define MIB_PMDCLASS_LCF 73,1753 -#define MIB_PMDCLASS_TP 74,1780 -#define MIB_PMDCLASS_UNKNOWN 75,1807 -#define MIB_PMDCLASS_UNSPEC 76,1838 -#define MIB_SMT_STASTA_CON 81,1901 -#define MIB_SMT_STASTA_SEPA 82,1930 -#define MIB_SMT_STASTA_THRU 83,1960 -struct fddi_mib fddi_mib86,1992 - struct fddi_mib_m fddi_mib_m158,3864 -#define MAC0 238,6152 - struct fddi_mib_a fddi_mib_a240,6168 -#define PATH0 252,6545 - struct fddi_mib_p fddi_mib_p254,6562 -#define SMT_OID_CF_STATE 321,8390 -#define SMT_OID_PCM_STATE_A 322,8439 -#define SMT_OID_PCM_STATE_B 323,8499 -#define SMT_OID_RMT_STATE 324,8560 -#define SMT_OID_UNA 325,8610 -#define SMT_OID_DNA 326,8658 -#define SMT_OID_ERROR_CT 327,8711 -#define SMT_OID_LOST_CT 328,8760 -#define SMT_OID_LEM_CT 329,8808 -#define SMT_OID_LEM_CT_A 330,8855 -#define SMT_OID_LEM_CT_B 331,8911 -#define SMT_OID_LCT_FAIL_CT 332,8967 -#define SMT_OID_LCT_FAIL_CT_A 333,9022 -#define SMT_OID_LCT_FAIL_CT_B 334,9087 -#define SMT_OID_LEM_REJECT_CT 335,9152 -#define SMT_OID_LEM_REJECT_CT_A 336,9213 -#define SMT_OID_LEM_REJECT_CT_B 337,9283 -#define SMT_OID_ECF_REQ_RX 342,9371 -#define SMT_OID_ECF_REPLY_RX 343,9429 -#define SMT_OID_ECF_REQ_TX 344,9488 -#define SMT_OID_ECF_REPLY_TX 345,9549 -#define SMT_OID_PMF_GET_RX 346,9611 -#define SMT_OID_PMF_SET_RX 347,9673 -#define SMT_OID_RDF_RX 348,9735 -#define SMT_OID_RDF_TX 349,9781 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/fddi.h,796 -#define _FDDI_16,613 -struct fddi_addr fddi_addr18,629 -#define GROUP_ADDR 22,668 -struct fddi_mac fddi_mac24,712 -#define FDDI_MAC_SIZE 30,822 -#define FDDI_RAW_MTU 31,849 -#define FDDI_RAW 32,903 -#define FC_VOID 37,948 -#define FC_TOKEN 38,988 -#define FC_RES_TOKEN 39,1023 -#define FC_SMT_INFO 40,1073 -#define FC_SMT_LAN_LOC 44,1177 -#define FC_SMT_LOC 45,1233 -#define FC_SMT_NSA 46,1285 -#define FC_MAC 47,1330 -#define FC_BEACON 48,1368 -#define FC_CLAIM 49,1415 -#define FC_SYNC_LLC 50,1460 -#define FC_ASYNC_LLC 51,1508 -#define FC_SYNC_BIT 52,1558 -#define FC_LLC_PRIOR 54,1607 -#define BEACON_INFO 56,1655 -#define DBEACON_INFO 57,1696 -#define C_INDICATOR 63,1774 -#define A_INDICATOR 64,1801 -#define E_INDICATOR 65,1828 -#define I_INDICATOR 66,1855 -#define L_INDICATOR 67,1902 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/lnkstat.h,213 -struct s_error_log s_error_log21,772 -#define SMT_ERL_AEB 47,1451 -#define SMT_ERL_BLC 48,1503 -#define SMT_ERL_ALC 49,1562 -#define SMT_ERL_NCC 50,1621 -#define SMT_ERL_FEC 51,1678 -#define SMT_EVL_NCE 56,1761 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/hwmtm.h,3095 -#define _HWM_16,612 -#define DRV_BUF_FLUSH(DRV_BUF_FLUSH34,1112 -#define DDI_DMA_SYNC_FORCPU35,1145 -#define DDI_DMA_SYNC_FORDEV36,1173 -#define RX_ENABLE_PASS_SMT 42,1261 -#define RX_DISABLE_PASS_SMT 43,1291 -#define RX_ENABLE_PASS_NSA 44,1322 -#define RX_DISABLE_PASS_NSA 45,1352 -#define RX_ENABLE_PASS_DB 46,1383 -#define RX_DISABLE_PASS_DB 47,1412 -#define RX_DISABLE_PASS_ALL 48,1442 -#define RX_DISABLE_LLC_PROMISC 49,1473 -#define RX_ENABLE_LLC_PROMISC 50,1507 -#define DMA_RD 54,1557 -#define DMA_WR 57,1616 -#define SMT_BUF 59,1660 -#define EN_IRQ_EOF 64,1726 -#define LOC_TX 65,1796 -#define LAST_FRAG 66,1851 -#define FIRST_FRAG 67,1902 -#define LAN_TX 68,1955 -#define RING_DOWN 69,2011 -#define OUT_OF_TXD 70,2073 -#define NULL 74,2151 -#define HWM_REVERSE(HWM_REVERSE78,2197 -#define HWM_REVERSE(HWM_REVERSE80,2230 -#define C_INDIC 86,2391 -#define A_INDIC 87,2417 -#define RD_FS_LOCAL 88,2443 -#define DEBUG_SMTF 93,2494 -#define DEBUG_SMT 94,2515 -#define DEBUG_ECM 95,2535 -#define DEBUG_RMT 96,2555 -#define DEBUG_CFM 97,2575 -#define DEBUG_PCM 98,2595 -#define DEBUG_SBA 99,2615 -#define DEBUG_ESS 100,2635 -#define DB_HWM_RX 102,2656 -#define DB_HWM_TX 103,2677 -#define DB_HWM_GEN 104,2698 -struct s_mbuf_pool s_mbuf_pool106,2721 -struct hwm_r hwm_r114,2904 -struct hw_modul hw_modul122,3074 -struct os_debug os_debug166,4506 -#define DB_P 175,4609 -#define DB_P 177,4639 -#define DB_RX(DB_RX180,4666 -#define DB_TX(DB_TX181,4736 -#define DB_GEN(DB_GEN182,4806 -#define DB_RX(DB_RX184,4896 -#define DB_TX(DB_TX185,4921 -#define DB_GEN(DB_GEN186,4946 -#define SK_BREAK(SK_BREAK190,5009 -#define HWM_GET_TX_PHYS(HWM_GET_TX_PHYS210,5353 -#define HWM_GET_TX_LEN(HWM_GET_TX_LEN226,5758 -#define HWM_GET_TX_USED(HWM_GET_TX_USED243,6290 -#define HWM_GET_CURR_TXD(HWM_GET_CURR_TXD261,6820 -#define HWM_TX_CHECK(HWM_TX_CHECK280,7461 -#define HWM_TX_CHECK(HWM_TX_CHECK286,7626 -#define HWM_GET_RX_FRAG_LEN(HWM_GET_RX_FRAG_LEN303,8052 -#define HWM_GET_RX_PHYS(HWM_GET_RX_PHYS320,8496 -#define HWM_GET_RX_USED(HWM_GET_RX_USED337,8979 -#define HWM_GET_RX_FREE(HWM_GET_RX_FREE351,9355 -#define HWM_GET_CURR_RXD(HWM_GET_CURR_RXD366,9761 -#define HWM_RX_CHECK(HWM_RX_CHECK384,10315 -#define HWM_RX_CHECK(HWM_RX_CHECK390,10453 -#define HWM_EBASE 394,10538 -#define HWM_E0001 397,10568 -#define HWM_E0001_MSG 398,10600 -#define HWM_E0002 399,10659 -#define HWM_E0002_MSG 400,10691 -#define HWM_E0003 401,10750 -#define HWM_E0003_MSG 402,10782 -#define HWM_E0004 403,10852 -#define HWM_E0004_MSG 404,10884 -#define HWM_E0005 405,10937 -#define HWM_E0005_MSG 406,10969 -#define HWM_E0006 407,11024 -#define HWM_E0006_MSG 408,11056 -#define HWM_E0007 409,11115 -#define HWM_E0007_MSG 410,11147 -#define HWM_E0008 411,11205 -#define HWM_E0008_MSG 412,11237 -#define HWM_E0009 413,11262 -#define HWM_E0009_MSG 414,11294 -#define HWM_E0010 415,11353 -#define HWM_E0010_MSG 416,11386 -#define HWM_E0011 417,11488 -#define HWM_E0011_MSG 418,11521 -#define HWM_E0012 419,11621 -#define HWM_E0012_MSG 420,11654 -#define HWM_E0013 421,11754 -#define HWM_E0013_MSG 422,11787 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/smt.h,7717 -#define _SMT_20,649 -#define SMT6_1023,686 -#define SMT7_2024,702 -#define OPT_PMF 26,719 -#define OPT_SRF 27,779 -#define SMT_VID 33,866 -#define SMT_VID_2 34,910 -struct smt_sid smt_sid36,949 -typedef u_char t_station_id[t_station_id41,1070 -_packed struct smt_header smt_header50,1306 -#define SWAP_SMTHEADER 61,1747 -#define FC_SMT_INFO 67,1812 -#define FC_SMT_NSA 68,1853 -#define SMT_ANNOUNCE 75,1942 -#define SMT_REQUEST 76,1988 -#define SMT_REPLY 77,2028 -#define SMT_NIF 82,2087 -#define SMT_SIF_CONFIG 83,2144 -#define SMT_SIF_OPER 84,2213 -#define SMT_ECF 85,2276 -#define SMT_RAF 86,2317 -#define SMT_RDF 87,2366 -#define SMT_SRF 88,2410 -#define SMT_PMF_GET 89,2453 -#define SMT_PMF_SET 90,2510 -#define SMT_ESF 91,2567 -#define SMT_MAX_ECHO_LEN 93,2614 -#define SMT_TEST_ECHO_LEN 95,2711 -#define SMT_TEST_ECHO_LEN 97,2776 -#define SMT_MAX_INFO_LEN 100,2845 -struct smt_para smt_para107,2939 -#define PARA_LEN 112,3037 -#define SMTSETPARA(SMTSETPARA114,3081 -#define SMT_P_UNA 120,3225 -#define SWAP_SMT_P_UNA 121,3283 -struct smt_p_una smt_p_una123,3312 -#define SMT_P_SDE 132,3511 -#define SWAP_SMT_P_SDE 133,3562 -#define SMT_SDE_STATION 135,3593 -#define SMT_SDE_CONCENTRATOR 136,3635 -struct smt_p_sde smt_p_sde138,3686 -#define SMT_P_STATE 149,3992 -#define SWAP_SMT_P_STATE 150,4040 -struct smt_p_state smt_p_state152,4072 -#define SMT_ST_WRAPPED 158,4266 -#define SMT_ST_UNATTACHED 159,4319 -#define SMT_ST_TWISTED_A 160,4382 -#define SMT_ST_TWISTED_B 161,4449 -#define SMT_ST_ROOTED_S 162,4516 -#define SMT_ST_SRF 163,4569 -#define SMT_ST_SYNC_SERVICE 164,4625 -#define SMT_ST_MY_DUPA 166,4693 -#define SMT_ST_UNA_DUPA 167,4756 -#define SMT_P_TIMESTAMP 172,4847 -#define SWAP_SMT_P_TIMESTAMP 173,4896 -struct smt_p_timestamp smt_p_timestamp174,4929 -#define SMT_P_POLICY 182,5106 -#define SWAP_SMT_P_POLICY 183,5158 -struct smt_p_policy smt_p_policy185,5190 -#define SMT_PL_HOLD 190,5347 -#define SMT_P_LATENCY 195,5445 -#define SWAP_SMT_P_LATENCY 196,5489 -struct smt_p_latency smt_p_latency202,5616 -#define SMT_P_NEIGHBORS 213,5906 -#define SWAP_SMT_P_NEIGHBORS 214,5969 -struct smt_p_neighbor smt_p_neighbor216,6006 -#define SMT_PHY_A 227,6323 -#define SMT_PHY_B 228,6357 -#define SMT_PHY_S 229,6391 -#define SMT_PHY_M 230,6429 -#define SMT_CS_DISABLED 232,6469 -#define SMT_CS_CONNECTING 233,6527 -#define SMT_CS_STANDBY 234,6588 -#define SMT_CS_ACTIVE 235,6645 -#define SMT_RM_NONE 237,6700 -#define SMT_RM_MAC 238,6722 -struct smt_phy_rec smt_phy_rec240,6744 -struct smt_mac_rec smt_mac_rec252,7052 -#define SMT_P_PATH 262,7299 -#define SWAP_SMT_P_PATH 263,7349 -struct smt_p_path smt_p_path265,7381 -#define SMT_P_MAC_STATUS 274,7579 -#define SWAP_SMT_P_MAC_STATUS 275,7629 -struct smt_p_mac_status smt_p_mac_status277,7674 -#define SMT_P_LEM 295,8232 -#define SWAP_SMT_P_LEM 296,8283 -struct smt_p_lem smt_p_lem300,8379 -#define SMT_P_MAC_COUNTER 315,8876 -#define SWAP_SMT_P_MAC_COUNTER 316,8934 -struct smt_p_mac_counter smt_p_mac_counter318,8973 -#define SMT_P_MAC_FNC 329,9277 -#define SWAP_SMT_P_MAC_FNC 330,9342 -struct smt_p_mac_fnc smt_p_mac_fnc332,9376 -#define SMT_P_PRIORITY 343,9621 -#define SWAP_SMT_P_PRIORITY 344,9678 -struct smt_p_priority smt_p_priority346,9713 -#define SMT_P_EB 356,9967 -#define SWAP_SMT_P_EB 357,10012 -struct smt_p_eb smt_p_eb359,10041 -#define SMT_P_MANUFACTURER 369,10279 -#define SWAP_SMT_P_MANUFACTURER 370,10338 -struct smp_p_manufacturer smp_p_manufacturer372,10374 -#define SMT_P_USER 380,10540 -#define SWAP_SMT_P_USER 381,10592 -struct smp_p_user smp_p_user383,10620 -#define SMT_P_ECHODATA 393,10773 -#define SWAP_SMT_P_ECHODATA 394,10820 -struct smt_p_echo smt_p_echo396,10852 -#define SMT_P_REASON 404,11015 -#define SWAP_SMT_P_REASON 405,11062 -struct smt_p_reason smt_p_reason407,11093 -#define SMT_RDF_CLASS 411,11216 -#define SMT_RDF_VERSION 412,11275 -#define SMT_RDF_SUCCESS 413,11338 -#define SMT_RDF_BADSET 414,11393 -#define SMT_RDF_ILLEGAL 415,11453 -#define SMT_RDF_NOPARAM 416,11510 -#define SMT_RDF_RANGE 417,11574 -#define SMT_RDF_AUTHOR 418,11620 -#define SMT_RDF_LENGTH 419,11670 -#define SMT_RDF_TOOLONG 420,11718 -#define SMT_RDF_SBA 421,11767 -#define SMT_P_REFUSED 426,11851 -#define SWAP_SMT_P_REFUSED 427,11911 -struct smt_p_refused smt_p_refused429,11943 -#define SMT_P_VERSION 438,12157 -#define SWAP_SMT_P_VERSION 439,12216 -struct smt_p_version smt_p_version441,12252 -#define SWAP_SMT_P0015 453,12574 -struct smt_p_0015 smt_p_0015455,12603 -#define SYNC_BW 460,12724 -#define SWAP_SMT_P0016 465,12810 -struct smt_p_0016 smt_p_0016467,12839 -#define REQUEST_ALLOCATION 472,12964 -#define REPORT_ALLOCATION 473,13034 -#define CHANGE_ALLOCATION 474,13103 -#define SWAP_SMT_P0017 481,13271 -struct smt_p_0017 smt_p_0017483,13300 -#define SWAP_SMT_P0018 491,13503 -struct smt_p_0018 smt_p_0018493,13532 -#define SWAP_SMT_P0019 501,13753 -struct smt_p_0019 smt_p_0019503,13783 -#define SWAP_SMT_P001A 512,13969 -struct smt_p_001a smt_p_001a514,13998 -#define SWAP_SMT_P001B 522,14167 -struct smt_p_001b smt_p_001b524,14196 -#define SWAP_SMT_P001C 532,14378 -struct smt_p_001c smt_p_001c534,14407 -#define SWAP_SMT_P001D 542,14582 -struct smt_p_001d smt_p_001d544,14611 -#define SMT_P_FSC 553,14858 -struct smt_p_fsc smt_p_fsc556,14920 -#define FSC_TYPE0 564,15132 -#define FSC_TYPE1 565,15188 -#define FSC_TYPE2 566,15248 -#define SMT_P_AUTHOR 571,15368 -#define SWAP_SMT_P1048 576,15431 -struct smt_p_1048 smt_p_1048577,15459 -#define SWAP_SMT_P208C 587,15720 -struct smt_p_208c smt_p_208c588,15752 -#define SWAP_SMT_P208D 596,15927 -struct smt_p_208d smt_p_208d597,15959 -#define SWAP_SMT_P208E 605,16106 -struct smt_p_208e smt_p_208e606,16137 -#define SWAP_SMT_P208F 613,16270 -struct smt_p_208f smt_p_208f615,16306 -#define SWAP_SMT_P2090 626,16591 -struct smt_p_2090 smt_p_2090628,16623 -#define SBAPATHINDEX 643,17004 -#define SBAPATHINDEX 645,17045 -#define SWAP_SMT_P320B 648,17082 -struct smt_p_320b smt_p_320b650,17112 -#define SWAP_SMT_P320F 657,17253 -struct smt_p_320f smt_p_320f659,17282 -#define SWAP_SMT_P3210 665,17402 -struct smt_p_3210 smt_p_3210667,17431 -#define SWAP_SMT_P4050 673,17552 -struct smt_p_4050 smt_p_4050675,17587 -#define SWAP_SMT_P4051 685,17779 -struct smt_p_4051 smt_p_4051686,17811 -#define SWAP_SMT_P4052 694,17984 -struct smt_p_4052 smt_p_4052695,18013 -#define SWAP_SMT_P4053 700,18090 -struct smt_p_4053 smt_p_4053702,18124 -#define SMT_P_SETCOUNT 712,18331 -#define SWAP_SMT_P_SETCOUNT 713,18361 -struct smt_p_setcount smt_p_setcount715,18395 -struct smt_nif smt_nif728,18586 -struct smt_sif_config smt_sif_config741,18903 -#define SIZEOF_SMT_SIF_CONFIG 756,19553 -struct smt_sif_operation smt_sif_operation759,19650 -#define SIZEOF_SMT_SIF_OPERATION 773,20187 -struct smt_ecf smt_ecf779,20317 -#define SMT_ECF_LEN 783,20435 -struct smt_rdf smt_rdf788,20545 -struct smt_sba_alc_res smt_sba_alc_res798,20828 -struct smt_sba_alc_req smt_sba_alc_req814,21410 -struct smt_sba_chg smt_sba_chg832,22099 -struct smt_sba_rep_req smt_sba_rep_req845,22525 -struct smt_sba_rep_res smt_sba_rep_res854,22741 -#define SMT_STATION_ACTION 866,23083 -#define SMT_STATION_ACTION_CONNECT 867,23112 -#define SMT_STATION_ACTION_DISCONNECT 868,23149 -#define SMT_STATION_ACTION_PATHTEST 869,23189 -#define SMT_STATION_ACTION_SELFTEST 870,23227 -#define SMT_STATION_ACTION_DISABLE_A 871,23265 -#define SMT_STATION_ACTION_DISABLE_B 872,23304 -#define SMT_STATION_ACTION_DISABLE_M 873,23343 -#define SMT_PORT_ACTION 875,23383 -#define SMT_PORT_ACTION_MAINT 876,23410 -#define SMT_PORT_ACTION_ENABLE 877,23442 -#define SMT_PORT_ACTION_DISABLE 878,23475 -#define SMT_PORT_ACTION_START 879,23509 -#define SMT_PORT_ACTION_STOP 880,23541 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/sba_def.h,1130 -#define PHYS 15,598 -#define PERM_ADDR 16,636 -#define SB_STATIC 17,684 -#define MAX_PAYLOAD 18,714 -#define PRIMARY_RING 19,740 -#define NULL 21,786 -#define UNKNOWN_SYNC_SOURCE 27,953 -#define REQ_ALLOCATION 28,988 -#define REPORT_RESP 29,1019 -#define CHANGE_RESP 30,1047 -#define TNEG 31,1075 -#define NIF 32,1097 -#define SB_STOP 33,1118 -#define SB_START 34,1143 -#define REPORT_TIMER 35,1168 -#define CHANGE_REQUIRED 36,1197 -#define DEFAULT_OV 38,1230 -#define SBA_STANDBY 43,1338 -#define SBA_ACTIVE 44,1370 -#define SBA_RECOVERY 45,1401 -#define SBA_REPORT 46,1434 -#define SBA_CHANGE 47,1465 -#define FIFTY_PERCENT 51,1570 -#define MAX_SESSIONS 52,1620 -#define TWO_MINUTES 53,1647 -#define FIFTY_BYTES 54,1695 -#define SBA_DENIED 55,1719 -#define I_NEED_ONE 56,1750 -#define MAX_NODES 57,1781 -#define TWO_MIN 59,1860 -#define SBA_ST_UNKNOWN 60,1897 -#define SBA_ST_ACTIVE 61,1932 -#define S_CLEAR 62,1966 -#define ZERO 63,1996 -#define FULL 64,2022 -#define S_SET 65,2071 -#define LOW_PRIO 66,2099 -#define OK 67,2137 -#define NOT_OK 68,2170 -#define TX_CHANGE 73,2333 -#define PENDING 74,2364 -#define NONE 75,2394 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/fplustm.h,1602 -#define _FPLUS_21,682 -#define HW_PTR 25,735 -#define HW_PTR 27,763 -struct err_st err_st34,843 -struct s_smt_fp_txd s_smt_fp_txd56,1658 -struct s_smt_fp_rxd s_smt_fp_rxd73,2233 -union s_fp_descr s_fp_descr90,2806 -struct s_smt_tx_queue s_smt_tx_queue98,2966 -struct s_smt_rx_queue s_smt_rx_queue111,3431 -#define VOID_FRAME_OFF 121,3869 -#define CLAIM_FRAME_OFF 122,3898 -#define BEACON_FRAME_OFF 123,3928 -#define DBEACON_FRAME_OFF 124,3958 -#define RX_FIFO_OFF 125,3989 -#define RBC_MEM_SIZE 128,4079 -#define SEND_ASYNC_AS_SYNC 129,4108 -#define SYNC_TRAFFIC_ON 130,4139 -#define RX_FIFO_SPACE 133,4191 -#define TX_FIFO_SPACE 134,4235 -#define TX_SMALL_FIFO 136,4266 -#define TX_MEDIUM_FIFO 137,4296 -#define TX_LARGE_FIFO 138,4339 -#define RX_SMALL_FIFO 140,4394 -#define RX_LARGE_FIFO 141,4424 -struct s_smt_fifo_conf s_smt_fifo_conf143,4479 -#define FM_ADDRX 157,5066 -struct s_smt_fp s_smt_fp159,5115 - struct fddi_mac_sf fddi_mac_sf173,5499 -#define QUEUE_S 184,5700 -#define QUEUE_A0 185,5720 -#define QUEUE_R1 186,5740 -#define QUEUE_R2 187,5760 -#define USED_QUEUES 188,5780 -#define FPMAX_MULTICAST 223,6389 -#define SMT_MAX_MULTI 224,6417 - struct s_fpmc s_fpmc226,6451 -#define RX_ENABLE_ALLMULTI 242,6901 -#define RX_DISABLE_ALLMULTI 243,6958 -#define RX_ENABLE_PROMISC 244,7026 -#define RX_DISABLE_PROMISC 245,7078 -#define RX_ENABLE_NSA 246,7132 -#define RX_DISABLE_NSA 247,7194 -#define MDR_REV256,7426 -#define AIX_REVERSE(AIX_REVERSE257,7442 -#define AIX_REVERSE(AIX_REVERSE263,7621 -#define MDR_REVERSE(MDR_REVERSE268,7679 -#define MDR_REVERSE(MDR_REVERSE274,7858 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/sba.h,208 -#define _SBA_20,670 -struct timer_cell timer_cell28,767 -struct s_sba_node_vars s_sba_node_vars38,938 -struct s_sba_sessions s_sba_sessions59,1412 -struct s_sba s_sba74,1755 -struct s_ess s_ess124,3221 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/skfbi.h,30405 -#define _SKFBI_H_16,616 -#define exist_board_far 19,647 -#define get_board_para_far 20,685 -#define ADDR(ADDR27,805 -#define ADDRS(ADDRS28,839 -#define MAN_C0 62,2039 -#define MAN_C1 63,2066 -#define MAN_C2 64,2093 -#define PROD_ID0 65,2120 -#define PROD_ID1 66,2173 -#define PROD_ID2 67,2230 -#define PROD_ID3 68,2275 -#define OEM_USER_DATA 71,2342 -#define PROD_ID0 76,2468 -#define PROD_ID1 77,2506 -#define PROD_ID2 78,2544 -#define PROD_ID3 79,2582 -#define SKLOGO 82,2646 -#define SADDRL 85,2724 -#define SA_MAC 86,2771 -#define PRA_OFF 87,2835 -#define SA_PMD_TYPE 88,2855 -#define SKFDDI_PSZ 90,2907 -#define FMA(FMA95,3035 -#define P1A(P1A96,3088 -#define P2A(P2A97,3138 -#define TIA(TIA98,3188 -#define PRA(PRA99,3239 -#define C0A(C0A100,3294 -#define C1A(C1A101,3342 -#define C2A(C2A102,3404 -#define CONF 104,3465 -#define PGRA 105,3527 -#define CDID 106,3575 -#define FM_A(FM_A112,3706 -#define P1_A(P1_A113,3775 -#define P2_A(P2_A114,3829 -#define TI_A(TI_A115,3883 -#define PR_A(PR_A116,3938 -#define C0_A(C0_A117,3994 -#define C1_A(C1_A118,4049 -#define C2_A(C2_A119,4104 -#define CSRA 122,4161 -#define ISRA 123,4226 -#define PLC1I 124,4296 -#define PLC2I 125,4358 -#define CSFA 126,4420 -#define RQAA 127,4490 -#define WCTA 128,4543 -#define FFLAG 129,4589 -#define CSR_A 131,4660 -#define CSR_AS(CSR_AS133,4749 -#define ISR_A 135,4841 -#define PLC1_I 136,4923 -#define PLC2_I 137,4998 -#define CSF_A 138,5073 -#define RQA_A 139,5149 -#define WCT_A 140,5214 -#define FFLAG_A 141,5272 -#define CS_CRESET 147,5413 -#define CS_RESET_FIFO 148,5464 -#define CS_IMSK 149,5519 -#define CS_EN_IRQ_TC 150,5581 -#define CS_BYPASS 151,5647 -#define CS_LED_0 152,5711 -#define CS_LED_1 153,5753 -#define CS_BYSTAT 155,5806 -#define CS_SAS 156,5861 -#define CSF_MUX0 161,5973 -#define CSF_MUX1 162,5995 -#define CSF_HSREQ0 163,6017 -#define CSF_HSREQ1 164,6041 -#define CSF_HSREQ2 165,6065 -#define CSF_BUSY_DMA 166,6089 -#define CSF_BUSY_FIFO 167,6115 -#define IS_MINTR1 172,6227 -#define IS_MINTR2 173,6284 -#define IS_PLINT1 174,6341 -#define IS_PLINT2 175,6378 -#define IS_TIMINT 176,6415 -#define IS_TC 177,6461 -#define ALL_IRSR 179,6507 -#define CFG_CARD_EN 184,6616 -#define CFG_IRQ_SEL 189,6694 -#define CFG_IRQ_TT 190,6745 -#define CFG_DRQ_SEL 191,6806 -#define CFG_BOOT_EN 192,6856 -#define CFG_PROG_EN 193,6920 -#define CFG_EPROM_SEL 198,7015 -#define CFG_PAGE 199,7079 -#define READ_PROM(READ_PROM202,7131 -#define GET_PAGE(GET_PAGE203,7169 -#define FPROM_SW(FPROM_SW204,7246 -#define MAX_PAGES 206,7295 -#define MAX_FADDR 207,7332 -#define VPP_ON(VPP_ON208,7376 -#define VPP_OFF(VPP_OFF209,7435 -#define DMA_BUSY(DMA_BUSY211,7496 -#define FIFO_BUSY(FIFO_BUSY212,7544 -#define DMA_FIFO_BUSY(DMA_FIFO_BUSY213,7594 -#define BUS_CHECK(BUS_CHECK214,7665 -#define CHECK_DMA(CHECK_DMA218,7763 -#define CHECK_DMA(CHECK_DMA222,7922 -#define CHECK_FIFO(CHECK_FIFO227,8061 -#define CHECK_DMA_FIFO(CHECK_DMA_FIFO231,8195 -#define GET_ISR(GET_ISR235,8337 -#define CHECK_ISR(CHECK_ISR236,8368 -#define CLI_FBI(CLI_FBI240,8429 -#define CLI_FBI(CLI_FBI243,8545 -#define CLI_FBI(CLI_FBI247,8681 -#define STI_FBI(STI_FBI252,8817 -#define STI_FBI(STI_FBI255,8928 -#define DMA_WRITE_SINGLE_MASK_BIT_M 260,9084 -#define DMA_WRITE_SINGLE_MASK_BIT_S 261,9153 -#define DMA_CLEAR_BYTE_POINTER_M 262,9221 -#define DMA_CLEAR_BYTE_POINTER_S 263,9259 -#define POS_SYS_SETUP 272,9380 -#define POS_SYSTEM 273,9435 -#define POS_CHANNEL_POS 275,9478 -#define POS_CHANNEL_BIT 276,9530 -#define POS_BASE 278,9579 -#define POS_ID_LOW 279,9625 -#define POS_ID_HIGH 280,9671 -#define POS_102 281,9723 -#define POS_103 282,9790 -#define POS_104 283,9843 -#define POS_105 284,9888 -#define POS_106 285,9933 -#define POS_107 286,9981 -#define FM1_CARD_ID0 289,10060 -#define FM1_CARD_ID1 290,10086 -#define FM1_IBM_ID0 292,10110 -#define FM1_IBM_ID1 293,10135 -#define FM2_CARD_ID0 297,10181 -#define FM2_CARD_ID1 298,10207 -#define FM2_IBM_ID0 300,10231 -#define FM2_IBM_ID1 301,10256 -#define FM1_REV 304,10304 -#define FM2_REV 305,10323 -#define MAX_SLOT 307,10343 -#define POS_CARD_EN 312,10381 -#define POS_SDAT_EN 313,10427 -#define POS_EN_CHKINT 314,10492 -#define POS_EN_BUS_ERR 315,10562 -#define POS_FAIRNESS 316,10637 -#define POS_LARBIT 318,10742 -#define POS_PAGE 323,10857 -#define POS_BOOT_EN 324,10906 -#define POS_MSEL 325,10957 -#define PROG_EN 326,11024 -#define POS_SDR 327,11073 -#define POS_IOSEL 332,11144 -#define POS_IRQSEL 333,11199 -#define POS_CHCK 338,11267 -#define POS_SYNC_ERR 339,11289 -#define POS_PAR_DATA 340,11354 -#define POS_PAR_ADDR 341,11414 -#define POS_IRQHSEL 342,11477 -#define POS_HARBIT 343,11543 -#define SA_MAC 345,11615 -#define PRA_OFF 346,11676 -#define SA_PMD_TYPE 347,11696 -#define FMA(FMA352,11828 -#define P2(P2353,11881 -#define P1(P1354,11936 -#define TI(TI355,11985 -#define PR(PR356,12035 -#define CS(CS357,12092 -#define FF(FF358,12142 -#define CT(CT359,12190 -#define ACLA 364,12255 -#define ACHA 365,12301 -#define BCN 366,12348 -#define MUX 367,12386 -#define WCN 368,12424 -#define FFLG 369,12464 -#define CNT_TST 374,12547 -#define CNT_STP 375,12606 -#define CSRA 380,12701 -#define CSFA 381,12759 -#define ISRA 382,12815 -#define ISR2 383,12876 -#define LEDR 384,12938 -#define CSIL 385,12983 -#define CSIH 386,13039 -#define CSA 387,13091 -#define CSM 388,13132 -#define CSM_FM1 389,13173 -#define CSI 390,13232 -#define CSS 391,13273 -#define CSP_06 392,13314 -#define WDOG_ST 393,13358 -#define WDOG_EN 394,13413 -#define WDOG_DIS 395,13476 -#define PGRA 397,13541 -#define WCTA 400,13587 -#define FFLAG 401,13626 -#define RTM_CNT 406,13732 -#define TI_DIV 407,13773 -#define TI_CH1 408,13817 -#define TI_STOP 409,13869 -#define TI_STRT 410,13922 -#define TI_INI2 411,13976 -#define TI_CNT2 412,14034 -#define TI_INI3 413,14069 -#define TI_CNT3 414,14120 -#define WDOG_LO 415,14155 -#define WDOG_HI 416,14205 -#define RTM_PRE 417,14256 -#define RTM_TIM 418,14308 -#define TOUT_BM_PRE 423,14415 -#define TOUT_S_DAT 424,14456 -#define HSR(HSR429,14532 -#define RTM_PUT 431,14589 -#define RTM_GET 432,14645 -#define RTM_CLEAR 433,14686 -#define BCN_BUSY 438,14758 -#define BCN_AZERO 439,14803 -#define BCN_STREAM 440,14862 -#define WCN_ZERO 445,14958 -#define WCN_AZERO 446,15017 -#define CNT_MODE 451,15111 -#define CNT_D32 452,15158 -#define FF_VFULL 457,15255 -#define FFLG_FULL 458,15304 -#define FFLG_A_FULL 459,15346 -#define FFLG_VFULL 460,15397 -#define FFLG_A_EMP 461,15442 -#define FFLG_EMP 462,15493 -#define FFLG_T_EMP 463,15535 -#define WDOG_ALM 468,15629 -#define WDOG_ACT 469,15677 -#define CS_CRESET 474,15752 -#define FIFO_RST 475,15777 -#define CS_IMSK 476,15801 -#define EN_IRQ_CHCK 477,15825 -#define EN_IRQ_TOKEN 478,15852 -#define EN_IRQ_TC 479,15880 -#define TOKEN_STATUS 480,15905 -#define RTM_CHANGE 481,15933 -#define CS_SAS 483,15960 -#define CS_BYSTAT 484,15983 -#define CS_BYPASS 485,16041 -#define HSREQ 490,16123 -#define BIGDIR 491,16145 -#define CSF_BUSY_FIFO 492,16168 -#define CSF_BUSY_DMA 493,16197 -#define SLOT_32 494,16225 -#define LED_0 496,16250 -#define LED_1 497,16272 -#define LED_2 498,16294 -#define MAX_PAGES 500,16317 -#define MAX_FADDR 501,16350 -#define IS_MINTR1 516,16704 -#define IS_MINTR2 517,16761 -#define IS_PLINT1 518,16818 -#define IS_PLINT2 519,16855 -#define IS_TIMINT 520,16892 -#define IS_TOKEN 521,16938 -#define IS_CHCK_L 522,16997 -#define IS_BUSERR 523,17049 -#define IS_TC 527,17106 -#define IS_SFDBKRTN 528,17154 -#define IS_D16 529,17213 -#define IS_D32 530,17248 -#define IS_DPEI 531,17283 -#define ALL_IRSR 533,17338 -#define FM_A(FM_A535,17363 -#define P1_A(P1_A536,17424 -#define P2_A(P2_A537,17469 -#define TI_A(TI_A538,17520 -#define PR_A(PR_A539,17576 -#define CS_A(CS_A540,17623 -#define ISR1_A 542,17673 -#define ISR2_A 543,17740 -#define CSR_A 544,17784 -#define CSF_A 545,17847 -#define CSIL_A 547,17916 -#define CSIH_A 548,17976 -#define CSA_A 549,18032 -#define CSI_A 550,18076 -#define CSM_A 551,18120 -#define CSM_FM1_A 552,18164 -#define CSP_06_A 553,18232 -#define WCT_A 555,18283 -#define FFLAG_A 556,18333 -#define ACL_A 558,18410 -#define ACH_A 559,18461 -#define BCN_A 560,18513 -#define MUX_A 561,18556 -#define ISR_A 563,18600 -#define FIFO_RESET_A 564,18657 -#define FIFO_EN_A 565,18716 -#define WDOG_EN_A 567,18772 -#define WDOG_DIS_A 568,18836 -#define HSR_A(HSR_A572,18969 -#define STAT_BYP 574,19028 -#define STAT_INS 575,19069 -#define BYPASS(BYPASS576,19110 -#define IRQ_TC_EN 578,19171 -#define IRQ_TC_DIS 579,19229 -#define IRQ_TOKEN_EN 580,19257 -#define IRQ_TOKEN_DIS 581,19326 -#define IRQ_CHCK_EN 582,19354 -#define IRQ_CHCK_DIS 583,19411 -#define IRQ_OTH_EN 584,19438 -#define IRQ_OTH_DIS 585,19486 -#define FIFO_EN 586,19512 -#define FIFO_RESET 587,19571 -#define CARD_EN 588,19596 -#define CARD_DIS 589,19655 -#define LEDR_A 591,19679 -#define PAGE_RG_A 592,19739 -#define IRQ_CHCK_EN_A 593,19781 -#define IRQ_CHCK_DIS_A 594,19821 -#define GET_PAGE(GET_PAGE596,19864 -#define VPP_ON(VPP_ON598,19955 -#define VPP_OFF(VPP_OFF602,20079 -#define SKFDDI_PSZ 606,20188 -#define READ_PROM(READ_PROM608,20236 -#define GET_ISR(GET_ISR610,20275 -#define CHECK_ISR(CHECK_ISR612,20319 -#define CHECK_ISR_SMP(CHECK_ISR_SMP613,20353 -#define CHECK_ISR(CHECK_ISR615,20404 -#define CHECK_ISR_SMP(CHECK_ISR_SMP616,20457 -#define DMA_BUSY(DMA_BUSY619,20532 -#define FIFO_BUSY(FIFO_BUSY620,20580 -#define DMA_FIFO_BUSY(DMA_FIFO_BUSY621,20630 -#define BUS_CHECK(BUS_CHECK622,20701 -#define CHECK_DMA(CHECK_DMA629,20894 -#define CHECK_FIFO(CHECK_FIFO636,21062 -#define CHECK_DMA_FIFO(CHECK_DMA_FIFO640,21198 -#define CLI_FBI(CLI_FBI648,21388 -#define CLI_FBI(CLI_FBI650,21438 -#define CLI_FBI_SMP(CLI_FBI_SMP654,21512 -#define CLI_FBI_SMP(CLI_FBI_SMP656,21569 -#define STI_FBI(STI_FBI661,21673 -#define STI_FBI(STI_FBI663,21722 -#define CLI_TCI(CLI_TCI669,21819 -#define STI_TCI(STI_TCI670,21872 -#define CHECK_TC(CHECK_TC671,21924 -#define FMA(FMA682,22184 -#define PRA(PRA683,22261 -#define P1A(P1A684,22340 -#define P2A(P2A685,22414 -#define TIA(TIA686,22488 -#define ISRA 688,22550 -#define ACLA 689,22618 -#define ACHA 690,22686 -#define TRCA 691,22755 -#define PGRA 692,22820 -#define RQAA 693,22882 -#define CSRA 694,22935 -#define FM_A(FM_A699,23058 -#define PR_A(PR_A700,23127 -#define P1_A(P1_A701,23186 -#define P2_A(P2_A702,23240 -#define TI_A(TI_A703,23294 -#define ISR_A 705,23350 -#define ACL_A 706,23432 -#define ACH_A 707,23514 -#define TRC_A 708,23596 -#define PGR_A 709,23675 -#define RQA_A 710,23751 -#define CSR_A 711,23818 -#define CSR_AS(CSR_AS713,23909 -#define PLC1_I 715,23997 -#define PLC2_I 716,24064 -#define SKLOGO_STR 720,24169 -#define SKLOGO_STR 722,24221 -#define SADDRL 725,24302 -#define SA_MAC 726,24350 -#define PRA_OFF 727,24411 -#define SA_PMD_TYPE 728,24431 -#define CDID 730,24483 -#define NEXT_CDID 731,24548 -#define SKFDDI_PSZ 733,24592 -#define READ_PROM(READ_PROM735,24640 -#define GET_PAGE(GET_PAGE736,24679 -#define MAX_PAGES 738,24722 -#define MAX_FADDR 739,24759 -#define VPP_OFF(VPP_OFF740,24803 -#define VPP_ON(VPP_ON741,24872 -#define CS_CRESET 748,25034 -#define CS_IMSK 749,25085 -#define CS_RESINT1 750,25147 -#define CS_VPPSW 751,25191 -#define CS_BYPASS 752,25251 -#define CS_RESINT2 753,25315 -#define CS_BUSY 755,25370 -#define CS_SW_EPROM 756,25426 -#define CS_BYSTAT 757,25491 -#define CS_SAS 758,25546 -#define IS_MINTR1 763,25691 -#define IS_MINTR2 764,25747 -#define IS_PLINT1 765,25803 -#define IS_PLINT2 766,25838 -#define IS_TIMINT 767,25873 -#define ALL_IRSR 769,25918 -#define FPROM_SW(FPROM_SW771,25988 -#define DMA_BUSY(DMA_BUSY772,26033 -#define CHECK_FIFO(CHECK_FIFO773,26074 -#define BUS_CHECK(BUS_CHECK774,26095 -#define SET_HRQ(SET_HRQ779,26158 -#define CLI_FBI(CLI_FBI783,26233 -#define CLI_FBI(CLI_FBI785,26315 -#define CLI_FBI(CLI_FBI789,26414 -#define STI_FBI(STI_FBI794,26535 -#define STI_FBI(STI_FBI797,26635 -#define CHECK_DMA(CHECK_DMA801,26752 -#define GET_ISR(GET_ISR805,26886 -#define PCI_VENDOR_ID 820,27144 -#define PCI_DEVICE_ID 821,27194 -#define PCI_COMMAND 822,27244 -#define PCI_STATUS 823,27290 -#define PCI_REV_ID 824,27334 -#define PCI_CLASS_CODE 825,27383 -#define PCI_CACHE_LSZ 826,27435 -#define PCI_LAT_TIM 827,27491 -#define PCI_HEADER_T 828,27543 -#define PCI_BIST 829,27594 -#define PCI_BASE_1ST 830,27647 -#define PCI_BASE_2ND 831,27703 -#define PCI_SUB_VID 833,27787 -#define PCI_SUB_ID 834,27845 -#define PCI_BASE_ROM 835,27895 -#define PCI_CAP_PTR 837,27989 -#define PCI_IRQ_LINE 839,28077 -#define PCI_IRQ_PIN 840,28131 -#define PCI_MIN_GNT 841,28183 -#define PCI_MAX_LAT 842,28229 -#define PCI_OUR_REG 844,28305 -#define PCI_OUR_REG_1 845,28361 -#define PCI_OUR_REG_2 846,28421 -#define PCI_PM_CAP_ID 848,28511 -#define PCI_PM_NITEM 849,28581 -#define PCI_PM_CAP_REG 850,28639 -#define PCI_PM_CTL_STS 851,28715 -#define PCI_PM_DAT_REG 853,28815 -#define PCI_VPD_CAP_ID 855,28905 -#define PCI_VPD_NITEM 856,28963 -#define PCI_VPD_ADR_REG 857,29022 -#define PCI_VPD_DAT_REG 858,29090 -#define I2C_ADDR_VPD 867,29309 -#define PCI_FBTEN 876,29603 -#define PCI_SERREN 877,29666 -#define PCI_ADSTEP 878,29717 -#define PCI_PERREN 879,29773 -#define PCI_VGA_SNOOP 880,29842 -#define PCI_MWIEN 881,29902 -#define PCI_SCYCEN 882,29969 -#define PCI_BMEN 883,30029 -#define PCI_MEMEN 884,30084 -#define PCI_IOEN 885,30149 -#define PCI_PERR 888,30241 -#define PCI_SERR 889,30292 -#define PCI_RMABORT 890,30344 -#define PCI_RTABORT 891,30407 -#define PCI_STABORT 892,30470 -#define PCI_DEVSEL 893,30529 -#define PCI_DEV_FAST 894,30586 -#define PCI_DEV_MEDIUM 895,30626 -#define PCI_DEV_SLOW 896,30670 -#define PCI_DATAPERR 897,30710 -#define PCI_FB2BCAP 898,30778 -#define PCI_UDF 899,30847 -#define PCI_66MHZCAP 900,30906 -#define PCI_NEWCAP 901,30976 -#define PCI_ERRBITS 903,31042 -#define PCI_HD_MF_DEV 917,31452 -#define PCI_HD_TYPE 918,31521 -#define PCI_BIST_CAP 921,31626 -#define PCI_BIST_ST 922,31678 -#define PCI_BIST_RET 923,31727 -#define PCI_MEMSIZE 926,31829 -#define PCI_MEMBASE_BITS 927,31889 -#define PCI_MEMSIZE_BIIS 928,31964 -#define PCI_PREFEN 929,32035 -#define PCI_MEM_TYP 930,32094 -#define PCI_MEM32BIT 931,32155 -#define PCI_MEM1M 932,32229 -#define PCI_MEM64BIT 933,32292 -#define PCI_MEMSPACE 934,32366 -#define PCI_IOBASE 937,32477 -#define PCI_IOSIZE 938,32544 -#define PCI_IOSPACE 939,32616 -#define PCI_ROMBASE 945,32823 -#define PCI_ROMBASZ 946,32897 -#define PCI_ROMSIZE 947,32970 -#define PCI_ROMEN 948,33043 -#define PCI_PATCH_DIR 959,33460 -#define PCI_PATCH_DIR_0 960,33535 -#define PCI_PATCH_DIR_1 961,33615 -#define PCI_EXT_PATCHS 963,33708 -#define PCI_EXT_PATCH_0 964,33784 -#define PCI_EXT_PATCH_1 965,33836 -#define PCI_VIO 966,33906 -#define PCI_EN_BOOT 967,33951 -#define PCI_EN_IO 970,34100 -#define PCI_EN_FPROM 971,34164 -#define PCI_PAGESIZE 974,34326 -#define PCI_PAGE_16 975,34397 -#define PCI_PAGE_32K 976,34451 -#define PCI_PAGE_64K 977,34506 -#define PCI_PAGE_128K 978,34561 -#define PCI_PAGEREG 980,34667 -#define PCI_FORCE_BE 982,34770 -#define PCI_DIS_MRL 983,34837 -#define PCI_DIS_MRM 984,34903 -#define PCI_DIS_MWI 985,34969 -#define PCI_DISC_CLS 986,35035 -#define PCI_BURST_DIS 987,35102 -#define PCI_BYTE_SWAP 988,35168 -#define PCI_SKEW_DAS 989,35239 -#define PCI_SKEW_BASE 990,35308 -#define PCI_VPD_WR_TH 993,35442 -#define PCI_DEV_SEL 994,35514 -#define PCI_VPD_ROM_SZ 995,35584 -#define PCI_PATCH_DIR2 997,35687 -#define PCI_PATCH_DIR_2 998,35758 -#define PCI_PATCH_DIR_3 999,35825 -#define PCI_PATCH_DIR_4 1000,35857 -#define PCI_PATCH_DIR_5 1001,35890 -#define PCI_EXT_PATCHS2 1002,35923 -#define PCI_EXT_PATCH_2 1003,35994 -#define PCI_EXT_PATCH_3 1004,36061 -#define PCI_EXT_PATCH_4 1005,36093 -#define PCI_EXT_PATCH_5 1006,36125 -#define PCI_EN_DUMMY_RD 1007,36157 -#define PCI_REV_DESC 1008,36224 -#define PCI_USEADDR64 1009,36288 -#define PCI_USEDATA64 1010,36353 -#define PCI_PME_SUP 1016,36618 -#define PCI_PM_D2_SUB 1017,36689 -#define PCI_PM_D1_SUB 1018,36753 -#define PCI_PM_DSI 1020,36851 -#define PCI_PM_APS 1021,36911 -#define PCI_PME_CLOCK 1022,36971 -#define PCI_PM_VER 1023,37034 -#define PCI_PME_STATUS 1026,37161 -#define PCI_PM_DAT_SCL 1027,37228 -#define PCI_PM_DAT_SEL 1028,37300 -#define PCI_PM_STATE 1030,37408 -#define PCI_PM_STATE_D0 1031,37477 -#define PCI_PM_STATE_D1 1032,37541 -#define PCI_PM_STATE_D2 1033,37597 -#define PCI_PM_STATE_D3 1034,37653 -#define PCI_VPD_FLAG 1041,37949 -#define B0_RAP 1049,38112 -#define B0_CTRL 1051,38203 -#define B0_DAS 1052,38257 -#define B0_LED 1053,38316 -#define B0_TST_CTRL 1054,38365 -#define B0_ISRC 1055,38427 -#define B0_IMSK 1056,38490 -#define B0_CMDREG1 1059,38621 -#define B0_CMDREG2 1060,38685 -#define B0_ST1U 1061,38749 -#define B0_ST1L 1062,38813 -#define B0_ST2U 1063,38877 -#define B0_ST2L 1064,38941 -#define B0_MARR 1066,39006 -#define B0_MARW 1067,39070 -#define B0_MDRU 1068,39134 -#define B0_MDRL 1069,39198 -#define B0_MDREG3 1071,39263 -#define B0_ST3U 1072,39314 -#define B0_ST3L 1073,39378 -#define B0_IMSK3U 1074,39442 -#define B0_IMSK3L 1075,39504 -#define B0_IVR 1076,39566 -#define B0_IMR 1077,39626 -#define B0_CNTRL_A 1080,39702 -#define B0_CNTRL_B 1081,39759 -#define B0_INTR_MASK 1082,39816 -#define B0_XMIT_VECTOR 1083,39871 -#define B0_STATUS_A 1085,39939 -#define B0_STATUS_B 1086,40002 -#define B0_CNTRL_C 1087,40065 -#define B0_MDREG1 1088,40122 -#define B0_R1_CSR 1090,40174 -#define B0_R2_CSR 1091,40245 -#define B0_XA_CSR 1092,40319 -#define B0_XS_CSR 1093,40391 -#define B2_MAC_0 1104,40594 -#define B2_MAC_1 1105,40650 -#define B2_MAC_2 1106,40706 -#define B2_MAC_3 1107,40762 -#define B2_MAC_4 1108,40818 -#define B2_MAC_5 1109,40874 -#define B2_MAC_6 1110,40930 -#define B2_MAC_7 1111,40998 -#define B2_CONN_TYP 1113,41067 -#define B2_PMD_TYP 1114,41122 -#define B2_E_0 1117,41253 -#define B2_E_1 1118,41302 -#define B2_E_2 1119,41351 -#define B2_E_3 1120,41400 -#define B2_FAR 1121,41449 -#define B2_FDP 1122,41521 -#define B2_LD_CRTL 1124,41614 -#define B2_LD_TEST 1125,41668 -#define B2_TI_INI 1127,41755 -#define B2_TI_VAL 1128,41810 -#define B2_TI_CRTL 1129,41860 -#define B2_TI_TEST 1130,41913 -#define B2_WDOG_INI 1132,41999 -#define B2_WDOG_VAL 1133,42059 -#define B2_WDOG_CRTL 1134,42114 -#define B2_WDOG_TEST 1135,42172 -#define B2_RTM_INI 1137,42263 -#define B2_RTM_VAL 1138,42317 -#define B2_RTM_CRTL 1139,42366 -#define B2_RTM_TEST 1140,42418 -#define B2_TOK_COUNT 1142,42468 -#define B2_DESC_ADDR_H 1143,42528 -#define B2_CTRL_2 1144,42605 -#define B2_IFACE_REG 1145,42667 -#define B2_TST_CTRL_2 1147,42760 -#define B2_I2C_CTRL 1148,42831 -#define B2_I2C_DATA 1149,42897 -#define B2_IRQ_MOD_INI 1151,42961 -#define B2_IRQ_MOD_VAL 1152,43040 -#define B2_IRQ_MOD_CTRL 1153,43115 -#define B2_IRQ_MOD_TEST 1154,43193 -#define B3_CFG_SPC 1163,43395 -#define B4_R1_D 1168,43438 -#define B4_R1_DA 1169,43506 -#define B4_R1_AC 1170,43574 -#define B4_R1_BC 1171,43642 -#define B4_R1_CSR 1172,43709 -#define B4_R1_F 1173,43778 -#define B4_R1_T1 1174,43836 -#define B4_R1_T1_TR 1175,43896 -#define B4_R1_T1_WR 1176,43960 -#define B4_R1_T1_RD 1177,44024 -#define B4_R1_T1_SV 1178,44088 -#define B4_R1_T2 1179,44152 -#define B4_R1_T3 1180,44212 -#define B4_R1_DA_H 1181,44272 -#define B4_R1_AC_H 1182,44346 -#define B4_R2_D 1185,44507 -#define B4_R2_DA 1186,44578 -#define B4_R2_AC 1187,44645 -#define B4_R2_BC 1188,44717 -#define B4_R2_CSR 1189,44788 -#define B4_R2_F 1190,44859 -#define B4_R2_T1 1191,44917 -#define B4_R2_T1_TR 1192,44976 -#define B4_R2_T1_WR 1193,45040 -#define B4_R2_T1_RD 1194,45104 -#define B4_R2_T1_SV 1195,45168 -#define B4_R2_T2 1196,45232 -#define B4_R2_T3 1197,45291 -#define B5_XA_D 1203,45404 -#define B5_XA_DA 1204,45476 -#define B5_XA_AC 1205,45542 -#define B5_XA_BC 1206,45609 -#define B5_XA_CSR 1207,45675 -#define B5_XA_F 1208,45746 -#define B5_XA_T1 1209,45804 -#define B5_XA_T1_TR 1210,45863 -#define B5_XA_T1_WR 1211,45927 -#define B5_XA_T1_RD 1212,45991 -#define B5_XA_T1_SV 1213,46055 -#define B5_XA_T2 1214,46119 -#define B5_XA_T3 1215,46178 -#define B5_XA_DA_H 1216,46237 -#define B5_XA_AC_H 1217,46311 -#define B5_XS_D 1219,46421 -#define B5_XS_DA 1220,46493 -#define B5_XS_AC 1221,46559 -#define B5_XS_BC 1222,46631 -#define B5_XS_CSR 1223,46703 -#define B5_XS_F 1224,46774 -#define B5_XS_T1 1225,46832 -#define B5_XS_T1_TR 1226,46891 -#define B5_XS_T1_WR 1227,46955 -#define B5_XS_T1_RD 1228,47019 -#define B5_XS_T1_SV 1229,47083 -#define B5_XS_T2 1230,47147 -#define B5_XS_T3 1231,47206 -#define B5_XS_DA_H 1232,47265 -#define B5_XS_AC_H 1233,47339 -#define B6_EXT_REG 1241,47555 -#define RAP_RAP 1257,47840 -#define CTRL_FDDI_CLR 1260,47945 -#define CTRL_FDDI_SET 1261,48009 -#define CTRL_HPI_CLR 1262,48071 -#define CTRL_HPI_SET 1263,48131 -#define CTRL_MRST_CLR 1264,48189 -#define CTRL_MRST_SET 1265,48250 -#define CTRL_RST_CLR 1266,48309 -#define CTRL_RST_SET 1267,48371 -#define BUS_CLOCK 1270,48475 -#define BUS_SLOT_SZ 1271,48543 -#define DAS_AVAIL 1273,48647 -#define DAS_BYP_ST 1274,48702 -#define DAS_BYP_INS 1275,48770 -#define DAS_BYP_RMV 1276,48828 -#define LED_2_ON 1280,48949 -#define LED_2_OFF 1281,49015 -#define LED_1_ON 1282,49074 -#define LED_1_OFF 1283,49140 -#define LED_0_ON 1284,49199 -#define LED_0_OFF 1285,49265 -#define LED_GA_ON 1288,49399 -#define LED_GA_OFF 1289,49448 -#define LED_MY_ON 1290,49499 -#define LED_MY_OFF 1291,49526 -#define LED_GB_ON 1292,49555 -#define LED_GB_OFF 1293,49582 -#define TST_FRC_DPERR_MR 1296,49658 -#define TST_FRC_DPERR_MW 1297,49730 -#define TST_FRC_DPERR_TR 1298,49802 -#define TST_FRC_DPERR_TW 1299,49874 -#define TST_FRC_APERR_M 1300,49946 -#define TST_FRC_APERR_T 1301,50018 -#define TST_CFG_WRITE_ON 1302,50090 -#define TST_CFG_WRITE_OFF 1303,50162 -#define IS_I2C_READY 1307,50321 -#define IS_IRQ_SW 1308,50391 -#define IS_EXT_REG 1309,50456 -#define IS_IRQ_STAT 1310,50524 -#define IS_IRQ_MST_ERR 1312,50633 -#define IS_TIMINT 1314,50745 -#define IS_TOKEN 1315,50796 -#define IS_PLINT1 1319,50894 -#define IS_PLINT2 1320,50947 -#define IS_MINTR3 1321,50999 -#define IS_MINTR2 1322,51059 -#define IS_MINTR1 1323,51121 -#define IS_R1_P 1325,51205 -#define IS_R1_B 1326,51263 -#define IS_R1_F 1327,51322 -#define IS_R1_C 1328,51380 -#define IS_R2_P 1330,51462 -#define IS_R2_B 1331,51525 -#define IS_R2_F 1332,51589 -#define IS_R2_C 1333,51651 -#define IS_XA_B 1336,51777 -#define IS_XA_F 1337,51835 -#define IS_XA_C 1338,51892 -#define IS_XS_B 1341,52012 -#define IS_XS_F 1342,52070 -#define IS_XS_C 1343,52127 -#define ALL_IRSR 1348,52252 -#define ALL_IRSR_ML 1349,52292 -#define IRQ_I2C_READY 1359,52585 -#define IRQ_SW 1360,52656 -#define IRQ_EXT_REG 1361,52719 -#define IRQ_STAT 1362,52788 -#define IRQ_MST_ERR 1364,52894 -#define IRQ_TIMER 1366,53003 -#define IRQ_RTM 1367,53054 -#define IRQ_DAS 1368,53103 -#define IRQ_IFCP_4 1369,53155 -#define IRQ_IFCP_3 1370,53208 -#define IRQ_IFCP_2 1371,53269 -#define IRQ_IFCP_1 1372,53332 -#define IRQ_R1_P 1374,53417 -#define IRQ_R1_B 1375,53475 -#define IRQ_R1_F 1376,53534 -#define IRQ_R1_C 1377,53592 -#define IRQ_R2_P 1379,53674 -#define IRQ_R2_B 1380,53737 -#define IRQ_R2_F 1381,53801 -#define IRQ_R2_C 1382,53863 -#define IRQ_XA_B 1385,53989 -#define IRQ_XA_F 1386,54047 -#define IRQ_XA_C 1387,54104 -#define IRQ_XS_B 1390,54224 -#define IRQ_XS_F 1391,54282 -#define IRQ_XS_C 1392,54339 -#define FAR_ADDR 1421,55507 -#define LD_T_ON 1429,55720 -#define LD_T_OFF 1430,55779 -#define LD_T_STEP 1431,55839 -#define LD_START 1432,55910 -#define GET_TOK_CT 1451,56711 -#define TIM_RES_TOK 1452,56778 -#define TIM_ALARM 1453,56846 -#define TIM_START 1454,56903 -#define TIM_STOP 1455,56974 -#define TIM_CL_IRQ 1456,57044 -#define TIM_T_ON 1458,57150 -#define TIM_T_OFF 1459,57222 -#define TIM_T_STEP 1460,57296 -#define CTRL_CL_I2C_IRQ 1466,57573 -#define CTRL_ST_SW_IRQ 1467,57632 -#define CTRL_CL_SW_IRQ 1468,57694 -#define CTRL_STOP_DONE 1469,57758 -#define CTRL_STOP_MAST 1470,57825 -#define IF_I2C_DATA_DIR 1474,57986 -#define IF_I2C_DATA 1475,58054 -#define IF_I2C_CLK 1476,58109 -#define TST_FRC_DPERR_MR64 1483,58364 -#define TST_FRC_DPERR_MW64 1484,58426 -#define TST_FRC_APERR_1M64 1485,58488 -#define TST_FRC_APERR_2M64 1486,58556 -#define I2C_FLAG 1489,58690 -#define I2C_ADDR 1490,58753 -#define I2C_DEV_SEL 1491,58825 -#define I2C_BURST_LEN 1493,58936 -#define I2C_DEV_SIZE 1494,59003 -#define I2C_025K_DEV 1495,59073 -#define I2C_05K_DEV 1496,59133 -#define I2C_1K_DEV 1497,59190 -#define I2C_2K_DEV 1498,59246 -#define I2C_4K_DEV 1499,59302 -#define I2C_8K_DEV 1500,59358 -#define I2C_16K_DEV 1501,59414 -#define I2C_32K_DEV 1502,59472 -#define I2C_STOP_BIT 1503,59530 -#define I2C_ADDR_TEMP 1512,59796 -#define CSR_DESC_CLEAR 1553,61802 -#define CSR_DESC_SET 1554,61873 -#define CSR_FIFO_CLEAR 1555,61940 -#define CSR_FIFO_SET 1556,62010 -#define CSR_HPI_RUN 1557,62076 -#define CSR_HPI_RST 1558,62137 -#define CSR_SV_RUN 1559,62204 -#define CSR_SV_RST 1560,62271 -#define CSR_DREAD_RUN 1561,62336 -#define CSR_DREAD_RST 1562,62406 -#define CSR_DWRITE_RUN 1563,62474 -#define CSR_DWRITE_RST 1564,62543 -#define CSR_TRANS_RUN 1565,62613 -#define CSR_TRANS_RST 1566,62680 -#define CSR_START 1568,62778 -#define CSR_IRQ_CL_P 1569,62842 -#define CSR_IRQ_CL_B 1570,62910 -#define CSR_IRQ_CL_F 1571,62970 -#define CSR_IRQ_CL_C 1572,63030 -#define CSR_SET_RESET 1574,63091 -#define CSR_CLR_RESET 1576,63212 -#define F_ALM_FULL 1582,63421 -#define F_FIFO_EOF 1583,63490 -#define F_WM_REACHED 1584,63559 -#define F_UP_DW_USED 1585,63630 -#define F_FIFO_LEVEL 1587,63736 -#define F_ML_WATER_M 1589,63849 -#define FLAG_WATER 1590,63918 -#define SM_CRTL_SV 1594,64082 -#define SM_CRTL_RD 1595,64154 -#define SM_CRTL_WR 1596,64225 -#define SM_CRTL_TR 1597,64297 -#define SM_STATE 1604,64633 -#define SM_LOAD 1605,64699 -#define SM_TEST_ON 1606,64760 -#define SM_TEST_OFF 1607,64820 -#define SM_STEP 1608,64879 -#define SM_SV_IDLE 1611,64969 -#define SM_SV_RES_START 1612,65026 -#define SM_SV_GET_DESC 1613,65092 -#define SM_SV_CHECK 1614,65156 -#define SM_SV_MOV_DATA 1615,65215 -#define SM_SV_PUT_DESC 1616,65280 -#define SM_SV_SET_IRQ 1617,65344 -#define SM_RD_IDLE 1619,65408 -#define SM_RD_LOAD 1620,65465 -#define SM_RD_WAIT_TC 1621,65522 -#define SM_RD_RST_EOF 1622,65585 -#define SM_RD_WDONE_R 1623,65649 -#define SM_RD_WDONE_T 1624,65713 -#define SM_TR_IDLE 1626,65778 -#define SM_TR_LOAD 1627,65836 -#define SM_TR_LOAD_R_ML 1628,65894 -#define SM_TR_WAIT_TC 1629,65957 -#define SM_TR_WDONE 1630,66021 -#define SM_WR_IDLE 1632,66085 -#define SM_WR_ABLEN 1633,66143 -#define SM_WR_LD_A4 1634,66211 -#define SM_WR_RES_OWN 1635,66273 -#define SM_WR_WAIT_EOF 1636,66337 -#define SM_WR_LD_N2C_R 1637,66402 -#define SM_WR_WAIT_TC_R 1638,66467 -#define SM_WR_WAIT_TC4 1639,66533 -#define SM_WR_LD_A_T 1640,66598 -#define SM_WR_LD_A_R 1641,66660 -#define SM_WR_WAIT_TC_T 1642,66722 -#define SM_WR_LD_N2C_T 1643,66788 -#define SM_WR_WDONE_T 1644,66853 -#define SM_WR_WDONE_R 1645,66918 -#define SM_WR_LD_D_AD 1646,66983 -#define SM_WR_WAIT_D_TC 1647,67051 -#define AC_TEST_ON 1652,67265 -#define AC_TEST_OFF 1653,67333 -#define BC_TEST_ON 1654,67402 -#define BC_TEST_OFF 1655,67467 -#define TEST_STEP04 1656,67534 -#define TEST_STEP03 1657,67593 -#define TEST_STEP02 1658,67652 -#define TEST_STEP01 1659,67711 -#define T3_MUX_2 1664,67914 -#define T3_VRAM_2 1665,67973 -#define T3_LOOP 1666,68044 -#define T3_UNLOOP 1667,68102 -#define T3_MUX 1668,68163 -#define T3_VRAM 1669,68215 -#define PCI_VEND_ID0 1675,68387 -#define PCI_VEND_ID1 1676,68447 -#define PCI_DEV_ID0 1678,68532 -#define PCI_DEV_ID1 1679,68578 -#define PCI_NW_CLASS 1682,68702 -#define PCI_SUB_CLASS 1683,68766 -#define PCI_PROG_INTFC 1684,68829 -#define FMA(FMA1689,68976 -#define P1(P11690,69035 -#define P2(P21691,69090 -#define PRA(PRA1692,69160 -#define MAX_PAGES 1697,69266 -#define MAX_FADDR 1698,69328 -#define BMU_OWN 1703,69421 -#define BMU_STF 1704,69487 -#define BMU_EOF 1705,69537 -#define BMU_EN_IRQ_EOB 1706,69585 -#define BMU_EN_IRQ_EOF 1707,69650 -#define BMU_DEV_0 1708,69714 -#define BMU_SMT_TX 1709,69780 -#define BMU_ST_BUF 1710,69847 -#define BMU_UNUSED 1711,69908 -#define BMU_SW 1712,69974 -#define BMU_CHECK 1713,70034 -#define BMU_BBC 1714,70099 -#define ADDR(ADDR1720,70242 -#define ADDRS(ADDRS1721,70288 -#define ADDR(ADDR1723,70346 -#define ADDRS(ADDRS1726,70508 -#define PCI_C(PCI_C1734,70748 -#define EXT_R(EXT_R1736,70812 -#define SA_MAC 1741,70941 -#define PRA_OFF 1742,71002 -#define SKFDDI_PSZ 1744,71070 -#define FM_A(FM_A1746,71116 -#define P1_A(P1_A1747,71177 -#define P2_A(P2_A1748,71222 -#define PR_A(PR_A1749,71273 -#define READ_PROM(READ_PROM1754,71369 -#define GET_PAGE(GET_PAGE1756,71408 -#define VPP_ON(VPP_ON1757,71456 -#define VPP_OFF(VPP_OFF1758,71473 -#define ISR_A 1763,71566 -#define GET_ISR(GET_ISR1764,71595 -#define GET_ISR_SMP(GET_ISR_SMP1765,71626 -#define CHECK_ISR(CHECK_ISR1766,71671 -#define CHECK_ISR_SMP(CHECK_ISR_SMP1767,71728 -#define BUS_CHECK(BUS_CHECK1769,71800 -#define CLI_FBI(CLI_FBI1776,71914 -#define CLI_FBI(CLI_FBI1778,71961 -#define STI_FBI(STI_FBI1782,72033 -#define STI_FBI(STI_FBI1784,72095 -#define CLI_FBI_SMP(CLI_FBI_SMP1787,72171 -#define STI_FBI_SMP(STI_FBI_SMP1788,72219 -#define MAX_TRANS 1799,72529 -#define MST_8259 1804,72574 -#define SLV_8259 1805,72598 -#define TPS 1807,72623 -#define TN 1812,72693 -#define SNPPND_TIME 1813,72748 -#define MAC_AD 1815,72820 -#define MODR1 1817,72847 -#define MODR2 1818,72899 -#define CMDR1 1820,72952 -#define CMDR2 1821,73008 -#define CLEAR(CLEAR1827,73093 -#define SET(SET1828,73148 -#define GET(GET1829,73198 -#define SETMASK(SETMASK1830,73238 -#define PLC(PLC1836,73393 -#define MARW(MARW1841,73510 -#define MARR(MARR1842,73567 -#define MDRW(MDRW1848,73699 -#define MDRR(MDRR1853,73846 -#define GET_ST1(GET_ST11856,73961 -#define GET_ST2(GET_ST21857,74035 -#define GET_ST3(GET_ST31859,74127 -#define MDRR(MDRR1863,74237 -#define GET_ST1(GET_ST11866,74335 -#define GET_ST2(GET_ST21867,74392 -#define GET_ST3(GET_ST31869,74467 -#define OUT_82c54_TIMER(OUT_82c54_TIMER1875,74622 -#define IN_82c54_TIMER(IN_82c54_TIMER1876,74683 -#define DB_MAC(DB_MAC1880,74759 -#define DB_PLC(DB_PLC1888,74949 -#define DB_TIMER(DB_TIMER1897,75162 -#define DB_MAC(DB_MAC1905,75309 -#define DB_PLC(DB_PLC1906,75332 -#define DB_TIMER(DB_TIMER1907,75354 -#define INC_PTR(INC_PTR1911,75397 -#define COUNT(COUNT1915,75468 -#define RW_OP(RW_OP1916,75508 -#define TMODE(TMODE1917,75561 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/types.h,407 -#define _TYPES_22,717 -#define _packed24,734 -#define far26,762 -#define _far29,794 -#define inp(inp33,852 -#define inpw(inpw34,875 -#define inpd(inpd35,898 -#define outp(outp36,921 -#define outpw(outpw37,950 -#define outpd(outpd38,979 -#define inp(inp40,1034 -#define inpw(inpw41,1059 -#define inpd(inpd42,1085 -#define outp(outp43,1111 -#define outpw(outpw44,1143 -#define outpd(outpd45,1176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/smt_p.h,8034 -#define SMT_P0012 23,706 -#define SMT_P0015 25,732 -#define SMT_P0016 26,757 -#define SMT_P0017 27,782 -#define SMT_P0018 28,807 -#define SMT_P0019 29,832 -#define SMT_P001A 31,858 -#define SMT_P001B 32,883 -#define SMT_P001C 33,908 -#define SMT_P001D 34,933 -#define SMT_P100A 36,959 -#define SMT_P100B 37,984 -#define SMT_P100C 38,1009 -#define SMT_P100D 39,1034 -#define SMT_P100E 40,1059 -#define SMT_P100F 41,1084 -#define SMT_P1010 42,1109 -#define SMT_P1011 43,1134 -#define SMT_P1012 44,1159 -#define SMT_P1013 45,1184 -#define SMT_P1014 46,1209 -#define SMT_P1015 47,1234 -#define SMT_P1016 48,1259 -#define SMT_P1017 49,1284 -#define SMT_P1018 50,1309 -#define SMT_P1019 51,1334 -#define SMT_P101A 52,1359 -#define SMT_P101B 53,1384 -#define SMT_P101C 54,1409 -#define SMT_P101D 55,1434 -#define SMT_P101E 56,1459 -#define SMT_P101F 57,1484 -#define SMT_P1020 58,1509 -#define SMT_P1021 59,1534 -#define SMT_P1022 60,1559 -#define SMT_P1023 61,1584 -#define SMT_P1024 62,1609 -#define SMT_P1025 63,1634 -#define SMT_P1026 64,1659 -#define SMT_P1027 65,1684 -#define SMT_P1028 66,1709 -#define SMT_P1029 67,1734 -#define SMT_P102A 68,1759 -#define SMT_P102B 69,1784 -#define SMT_P102C 70,1809 -#define SMT_P102D 71,1834 -#define SMT_P102E 72,1859 -#define SMT_P102F 73,1884 -#define SMT_P1030 74,1909 -#define SMT_P1031 75,1934 -#define SMT_P1032 76,1959 -#define SMT_P1033 77,1984 -#define SMT_P1034 78,2009 -#define SMT_P1035 79,2034 -#define SMT_P1036 80,2059 -#define SMT_P1037 81,2084 -#define SMT_P1038 82,2109 -#define SMT_P1039 83,2134 -#define SMT_P103A 84,2159 -#define SMT_P103B 85,2184 -#define SMT_P103C 86,2209 -#define SMT_P103D 87,2234 -#define SMT_P103E 88,2259 -#define SMT_P103F 89,2284 -#define SMT_P1040 90,2309 -#define SMT_P1041 91,2334 -#define SMT_P1042 92,2359 -#define SMT_P1043 93,2384 -#define SMT_P1044 94,2409 -#define SMT_P1045 95,2434 -#define SMT_P1046 96,2459 -#define SMT_P1047 97,2484 -#define SMT_P1048 98,2509 -#define SMT_P1049 99,2534 -#define SMT_P104A 100,2559 -#define SMT_P104B 101,2584 -#define SMT_P104C 102,2609 -#define SMT_P104D 103,2634 -#define SMT_P104E 104,2659 -#define SMT_P104F 105,2684 -#define SMT_P1050 106,2709 -#define SMT_P1051 107,2734 -#define SMT_P1052 108,2759 -#define SMT_P1053 109,2784 -#define SMT_P1054 110,2809 -#define SMT_P10F0 112,2835 -#define SMT_P10F1 113,2860 -#define SMT_P10F2 115,2896 -#define SMT_P10F3 116,2921 -#define SMT_P10F4 117,2946 -#define SMT_P10F5 118,2971 -#define SMT_P10F6 119,2996 -#define SMT_P10F7 120,3021 -#define SMT_P10F8 123,3064 -#define SMT_P10F9 124,3089 -#define SMT_P200A 127,3122 -#define SMT_P200B 128,3147 -#define SMT_P200C 129,3172 -#define SMT_P200D 130,3197 -#define SMT_P200E 131,3222 -#define SMT_P200F 132,3247 -#define SMT_P2010 133,3272 -#define SMT_P2011 134,3297 -#define SMT_P2012 135,3322 -#define SMT_P2013 136,3347 -#define SMT_P2014 137,3372 -#define SMT_P2015 138,3397 -#define SMT_P2016 139,3422 -#define SMT_P2017 140,3447 -#define SMT_P2018 141,3472 -#define SMT_P2019 142,3497 -#define SMT_P201A 143,3522 -#define SMT_P201B 144,3547 -#define SMT_P201C 145,3572 -#define SMT_P201D 146,3597 -#define SMT_P201E 147,3622 -#define SMT_P201F 148,3647 -#define SMT_P2020 149,3672 -#define SMT_P2021 150,3697 -#define SMT_P2022 151,3722 -#define SMT_P2023 152,3747 -#define SMT_P2024 153,3772 -#define SMT_P2025 154,3797 -#define SMT_P2026 155,3822 -#define SMT_P2027 156,3847 -#define SMT_P2028 157,3872 -#define SMT_P2029 158,3897 -#define SMT_P202A 159,3922 -#define SMT_P202B 160,3947 -#define SMT_P202C 161,3972 -#define SMT_P202D 162,3997 -#define SMT_P202E 163,4022 -#define SMT_P202F 164,4047 -#define SMT_P2030 165,4072 -#define SMT_P2031 166,4097 -#define SMT_P2032 167,4122 -#define SMT_P2033 168,4147 -#define SMT_P2034 169,4172 -#define SMT_P2035 170,4197 -#define SMT_P2036 171,4222 -#define SMT_P2037 172,4247 -#define SMT_P2038 173,4272 -#define SMT_P2039 174,4297 -#define SMT_P203A 175,4322 -#define SMT_P203B 176,4347 -#define SMT_P203C 177,4372 -#define SMT_P203D 178,4397 -#define SMT_P203E 179,4422 -#define SMT_P203F 180,4447 -#define SMT_P2040 181,4472 -#define SMT_P2041 182,4497 -#define SMT_P2042 183,4522 -#define SMT_P2043 184,4547 -#define SMT_P2044 185,4572 -#define SMT_P2045 186,4597 -#define SMT_P2046 187,4622 -#define SMT_P2047 188,4647 -#define SMT_P2048 189,4672 -#define SMT_P2049 190,4697 -#define SMT_P204A 191,4722 -#define SMT_P204B 192,4747 -#define SMT_P204C 193,4772 -#define SMT_P204D 194,4797 -#define SMT_P204E 195,4822 -#define SMT_P204F 196,4847 -#define SMT_P2050 197,4872 -#define SMT_P2051 198,4897 -#define SMT_P2052 199,4922 -#define SMT_P2053 200,4947 -#define SMT_P2054 201,4972 -#define SMT_P2055 202,4997 -#define SMT_P2056 203,5022 -#define SMT_P2057 204,5047 -#define SMT_P2058 205,5072 -#define SMT_P2059 206,5097 -#define SMT_P205A 207,5122 -#define SMT_P205B 208,5147 -#define SMT_P205C 209,5172 -#define SMT_P205D 210,5197 -#define SMT_P205E 211,5222 -#define SMT_P205F 212,5247 -#define SMT_P2060 213,5272 -#define SMT_P2061 214,5297 -#define SMT_P2062 215,5322 -#define SMT_P2063 216,5347 -#define SMT_P2064 217,5372 -#define SMT_P2065 218,5397 -#define SMT_P2066 219,5422 -#define SMT_P2067 220,5447 -#define SMT_P2068 221,5472 -#define SMT_P2069 222,5497 -#define SMT_P206A 223,5522 -#define SMT_P206B 224,5547 -#define SMT_P206C 225,5572 -#define SMT_P206D 226,5597 -#define SMT_P206E 227,5622 -#define SMT_P206F 228,5647 -#define SMT_P2070 229,5672 -#define SMT_P2071 230,5697 -#define SMT_P2072 231,5722 -#define SMT_P2073 232,5747 -#define SMT_P2074 233,5772 -#define SMT_P2075 234,5797 -#define SMT_P2076 235,5822 -#define SMT_P208C 237,5848 -#define SMT_P208D 238,5873 -#define SMT_P208E 239,5898 -#define SMT_P208F 240,5923 -#define SMT_P2090 241,5948 -#define SMT_P20F0 243,5974 -#define SMT_P20F1 244,5999 -#define SMT_P320A 246,6025 -#define SMT_P320B 247,6050 -#define SMT_P320C 248,6075 -#define SMT_P320D 249,6100 -#define SMT_P320E 250,6125 -#define SMT_P320F 251,6150 -#define SMT_P3210 252,6175 -#define SMT_P3211 253,6200 -#define SMT_P3212 254,6225 -#define SMT_P3213 255,6250 -#define SMT_P3214 256,6275 -#define SMT_P3215 257,6300 -#define SMT_P3216 258,6325 -#define SMT_P3217 259,6350 -#define SMT_P400A 261,6376 -#define SMT_P400B 262,6401 -#define SMT_P400C 263,6426 -#define SMT_P400D 264,6451 -#define SMT_P400E 265,6476 -#define SMT_P400F 266,6501 -#define SMT_P4010 267,6526 -#define SMT_P4011 268,6551 -#define SMT_P4012 269,6576 -#define SMT_P4013 270,6601 -#define SMT_P4014 271,6626 -#define SMT_P4015 272,6651 -#define SMT_P4016 273,6676 -#define SMT_P4017 274,6701 -#define SMT_P4018 275,6726 -#define SMT_P4019 276,6751 -#define SMT_P401A 277,6776 -#define SMT_P401B 278,6801 -#define SMT_P401C 279,6826 -#define SMT_P401D 280,6851 -#define SMT_P401E 281,6876 -#define SMT_P401F 282,6901 -#define SMT_P4020 283,6926 -#define SMT_P4021 284,6951 -#define SMT_P4022 285,6976 -#define SMT_P4023 286,7001 -#define SMT_P4024 287,7026 -#define SMT_P4025 288,7051 -#define SMT_P4026 289,7076 -#define SMT_P4027 290,7101 -#define SMT_P4028 291,7126 -#define SMT_P4029 292,7151 -#define SMT_P402A 293,7176 -#define SMT_P402B 294,7201 -#define SMT_P402C 295,7226 -#define SMT_P402D 296,7251 -#define SMT_P402E 297,7276 -#define SMT_P402F 298,7301 -#define SMT_P4030 299,7326 -#define SMT_P4031 300,7351 -#define SMT_P4032 301,7376 -#define SMT_P4033 302,7401 -#define SMT_P4034 303,7426 -#define SMT_P4035 304,7451 -#define SMT_P4036 305,7476 -#define SMT_P4037 306,7501 -#define SMT_P4038 307,7526 -#define SMT_P4039 308,7551 -#define SMT_P403A 309,7576 -#define SMT_P403B 310,7601 -#define SMT_P403C 311,7626 -#define SMT_P403D 312,7651 -#define SMT_P403E 313,7676 -#define SMT_P403F 314,7701 -#define SMT_P4040 315,7726 -#define SMT_P4041 316,7751 -#define SMT_P4042 317,7776 -#define SMT_P4043 318,7801 -#define SMT_P4044 319,7826 -#define SMT_P4045 320,7851 -#define SMT_P4046 321,7876 -#define SMT_P4050 323,7902 -#define SMT_P4051 324,7927 -#define SMT_P4052 325,7952 -#define SMT_P4053 326,7977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/supern_2.h,19346 -#define _SUPERNET_27,892 -#define SUPERNET_334,980 -#define TAG36,1006 -#define MB 39,1026 -#define MW 40,1042 -#define MD 41,1060 -#define FS_EI 46,1124 -#define FS_AI 47,1146 -#define FS_CI 48,1168 -#define FS_MSVALID 50,1191 -#define FS_MSRABT 51,1238 -#define FS_SSRCRTG 52,1305 -#define FS_SEAC2 53,1373 -#define FS_SEAC1 54,1423 -#define FS_SEAC0 55,1475 -#define FS_SFRMERR 56,1524 -#define FS_SADRRG 57,1588 -#define FS_SFRMTY2 58,1639 -#define FS_SFRMTY1 59,1688 -#define FS_SFRMTY0 60,1749 -#define FS_ERFBB1 61,1803 -#define FS_ERFBB0 62,1868 -#define FRM_SMT 67,1936 -#define FRM_LLCA 68,1979 -#define FRM_IMPA 69,2000 -#define FRM_MAC 70,2022 -#define FRM_LLCS 71,2064 -#define FRM_IMPS 72,2085 -#define RX_MSVALID 77,2164 -#define RX_MSRABT 78,2223 -#define RX_FS_E 79,2289 -#define RX_FS_A 80,2349 -#define RX_FS_C 81,2411 -#define RX_FS_CRC 82,2470 -#define RX_FS_ADDRESS 83,2531 -#define RX_FS_MAC 84,2600 -#define RX_FS_SMT 85,2656 -#define RX_FS_IMPL 86,2705 -#define RX_FS_LLC 87,2770 -union rx_descr rx_descr92,2862 -#define RD_S_ERFBB 128,4393 -#define RD_S_RES2 129,4459 -#define RD_S_SFRMTY 130,4504 -#define RD_S_SADRRG 131,4558 -#define RD_S_SFRMERR 132,4625 -#define RD_S_SEAC 133,4689 -#define RD_S_SEAC0 134,4749 -#define RD_S_SEAC1 135,4815 -#define RD_S_SEAC2 136,4878 -#define RD_S_SSRCRTG 137,4941 -#define RD_S_RES1 138,5000 -#define RD_S_MSRABT 139,5045 -#define RD_S_MSVALID 140,5111 -#define RD_STATUS 142,5171 -#define RD_LENGTH 143,5201 -#define RD_FRM_SMT 147,5300 -#define RD_FRM_LLCA 148,5368 -#define RD_FRM_IMPA 149,5411 -#define RD_FRM_MAC 150,5454 -#define RD_FRM_LLCS 151,5521 -#define RD_FRM_IMPS 152,5564 -#define TX_DESCRIPTOR 154,5608 -#define TX_OFFSET_3 155,5642 -#define TXP1 157,5675 -union tx_descr tx_descr162,5727 -#define TD_C_MORE 188,6639 -#define TD_C_DESCR 189,6695 -#define TD_C_TXFBB 190,6745 -#define TD_C_XDONE 191,6794 -#define TD_C_NFCS 192,6845 -#define TD_C_XMTABT 193,6905 -#define TD_C_LNCNU 195,6959 -#define TD_C_LNCNL 196,6991 -#define TD_C_LNCN 197,7022 -union tx_pointer tx_pointer202,7117 - struct t t203,7136 -#define TD_P_CNTRL 218,7599 -#define TD_P_RPXU 219,7630 -#define TD_P_RPXL 220,7660 -#define TD_P_RPX 221,7690 -#define TX_PATTERN 224,7721 -#define TX_POINTER_END 225,7745 -#define TX_INT_PATTERN 226,7780 -struct tx_queue tx_queue228,7816 -#define FM_CMDREG1 241,8030 -#define FM_CMDREG2 242,8093 -#define FM_ST1U 243,8156 -#define FM_ST1L 244,8219 -#define FM_ST2U 245,8282 -#define FM_ST2L 246,8345 -#define FM_IMSK1U 247,8408 -#define FM_IMSK1L 248,8465 -#define FM_IMSK2U 249,8522 -#define FM_IMSK2L 250,8579 -#define FM_SAID 251,8636 -#define FM_LAIM 252,8692 -#define FM_LAIC 253,8755 -#define FM_LAIL 254,8812 -#define FM_SAGP 255,8867 -#define FM_LAGM 256,8920 -#define FM_LAGC 257,8982 -#define FM_LAGL 258,9039 -#define FM_MDREG1 259,9093 -#define FM_STMCHN 260,9145 -#define FM_MIR1 261,9198 -#define FM_MIR0 262,9261 -#define FM_TMAX 263,9324 -#define FM_TVX 264,9373 -#define FM_TRT 266,9474 -#define FM_THT 267,9532 -#define FM_TNEG 268,9590 -#define FM_TMRS 269,9652 -#define FM_TREQ0 272,9814 -#define FM_TREQ1 273,9877 -#define FM_PRI0 274,9940 -#define FM_PRI1 275,10003 -#define FM_PRI2 276,10066 -#define FM_TSYNC 277,10129 -#define FM_MDREG2 278,10191 -#define FM_FRMTHR 279,10243 -#define FM_EACB 280,10306 -#define FM_EARV 281,10369 -#define FM_EARV1 283,10445 -#define FM_EAS 285,10471 -#define FM_EAA0 286,10529 -#define FM_EAA1 287,10588 -#define FM_EAA2 288,10647 -#define FM_SACL 289,10706 -#define FM_SABC 290,10765 -#define FM_WPXSF 291,10825 -#define FM_RPXSF 292,10888 -#define FM_RPR 293,10951 -#define FM_WPR 294,11013 -#define FM_SWPR 295,11075 -#define FM_RPR1 297,11156 -#define FM_WPR1 298,11190 -#define FM_SWPR1 299,11222 -#define FM_WPXS 301,11255 -#define FM_WPXA0 302,11318 -#define FM_WPXA1 303,11381 -#define FM_WPXA2 304,11444 -#define FM_SWPXS 305,11507 -#define FM_SWPXA0 306,11570 -#define FM_SWPXA1 307,11634 -#define FM_SWPXA2 308,11698 -#define FM_RPXS 309,11762 -#define FM_RPXA0 310,11825 -#define FM_RPXA1 311,11888 -#define FM_RPXA2 312,11951 -#define FM_MARR 313,12014 -#define FM_MARW 314,12077 -#define FM_MDRU 315,12140 -#define FM_MDRL 316,12203 -#define FM_TMSYNC 319,12329 -#define FM_FCNTR 320,12393 -#define FM_LCNTR 321,12451 -#define FM_ECNTR 322,12508 -#define FM_FSCNTR 325,12618 -#define FM_FRSELREG 326,12672 -#define FM_MDREG3 329,12789 -#define FM_ST3U 330,12839 -#define FM_ST3L 331,12902 -#define FM_IMSK3U 332,12965 -#define FM_IMSK3L 333,13026 -#define FM_IVR 334,13087 -#define FM_IMR 335,13146 -#define FM_RPR2 337,13220 -#define FM_WPR2 338,13282 -#define FM_SWPR2 339,13345 -#define FM_EARV2 340,13409 -#define FM_UNLCKDLY 341,13465 -#define FM_LTDPA1 345,13639 -#define FM_AFCMD 349,13815 -#define FM_AFSTAT 350,13875 -#define FM_AFBIST 351,13935 -#define FM_AFCOMP2 352,13999 -#define FM_AFCOMP1 353,14061 -#define FM_AFCOMP0 354,14123 -#define FM_AFMASK2 355,14185 -#define FM_AFMASK1 356,14242 -#define FM_AFMASK0 357,14299 -#define FM_AFPERS 358,14356 -#define FM_ORBIST 361,14463 -#define FM_ORSTAT 362,14518 -#define FM_RES0 368,14611 -#define FM_XMTINH_HOLD 370,14684 -#define FM_HOFLXI 372,14780 -#define FM_FULL_HALF 373,14840 -#define FM_LOCKTX 374,14903 -#define FM_EXGPA0 375,14969 -#define FM_EXGPA1 376,15033 -#define FM_DISCRY 377,15097 -#define FM_SELRA 379,15172 -#define FM_ADDET 381,15238 -#define FM_MDAMA 382,15287 -#define FM_MDASAMA 383,15346 -#define FM_MRNNSAFNMA 384,15412 -#define FM_MRNNSAF 385,15482 -#define FM_MDISRCV 386,15543 -#define FM_MRES0 387,15601 -#define FM_MLIMPROM 388,15640 -#define FM_MPROMISCOUS 389,15699 -#define FM_SELSA 391,15768 -#define FM_MMODE 393,15825 -#define FM_MINIT 394,15868 -#define FM_MMEMACT 395,15911 -#define FM_MONLINESP 396,15961 -#define FM_MONLINE 397,16013 -#define FM_MILOOP 398,16079 -#define FM_MRES1 399,16130 -#define FM_MRES2 400,16171 -#define FM_MELOOP 401,16212 -#define FM_SNGLFRM 403,16264 -#define MDR1INIT 406,16349 -#define FM_AFULL 411,16424 -#define FM_RCVERR 412,16489 -#define FM_SYMCTL 413,16545 -#define FM_SYNPRQ 415,16622 -#define FM_ENNPRQ 416,16683 -#define FM_ENHSRQ 417,16741 -#define FM_RXFBB01 418,16797 -#define FM_LSB 419,16864 -#define FM_PARITY 420,16929 -#define FM_CHKPAR 421,16979 -#define FM_STRPFCS 422,17045 -#define FM_BMMODE 423,17112 -#define FM_STEFRMS 429,17271 -#define FM_STEFRMA0 430,17338 -#define FM_STEFRMA1 431,17406 -#define FM_STEFRMA2 432,17474 -#define FM_STECFRMS 434,17567 -#define FM_STECFRMA0 436,17660 -#define FM_STECFRMA1 438,17754 -#define FM_STECMDA1 440,17848 -#define FM_STECFRMA2 441,17904 -#define FM_STEXDONS 443,17998 -#define FM_STBFLA 444,18065 -#define FM_STBFLS 445,18131 -#define FM_STXABRS 446,18197 -#define FM_STXABRA0 447,18259 -#define FM_STXABRA1 448,18325 -#define FM_STXABRA2 449,18391 -#define FM_SXMTABT 451,18482 -#define FM_SQLCKS 456,18581 -#define FM_SQLCKA0 457,18642 -#define FM_SQLCKA1 458,18707 -#define FM_SQLCKA2 459,18772 -#define FM_STXINFLS 461,18862 -#define FM_STXINFLA0 463,18953 -#define FM_STXINFLA1 465,19047 -#define FM_STXINFLA2 467,19141 -#define FM_SPCEPDS 469,19235 -#define FM_SPCEPDA0 470,19300 -#define FM_SPCEPDA1 471,19368 -#define FM_SPCEPDA2 472,19436 -#define FM_STBURS 474,19529 -#define FM_STBURA0 475,19595 -#define FM_STBURA1 476,19661 -#define FM_STBURA2 477,19727 -#define FM_SOTRBEC 483,19869 -#define FM_SMYBEC 484,19924 -#define FM_SBEC 485,19975 -#define FM_SLOCLM 486,20027 -#define FM_SHICLM 487,20078 -#define FM_SMYCLM 488,20130 -#define FM_SCLM 489,20180 -#define FM_SERRSF 490,20231 -#define FM_SNFSLD 491,20286 -#define FM_SRFRCTOV 492,20351 -#define FM_SRCVFRM 494,20441 -#define FM_SRCVOVR 496,20513 -#define FM_SRBFL 497,20568 -#define FM_SRABT 498,20619 -#define FM_SRBMT 499,20664 -#define FM_SRCOMP 500,20716 -#define FM_SRES0 506,20890 -#define FM_SESTRIPTK 507,20930 -#define FM_STRTEXR 508,20987 -#define FM_SDUPCLM 509,21054 -#define FM_SSIFG 510,21112 -#define FM_SFRMCTR 511,21164 -#define FM_SERRCTR 512,21220 -#define FM_SLSTCTR 513,21276 -#define FM_SPHINV 514,21331 -#define FM_SADET 515,21375 -#define FM_SMISFRM 516,21421 -#define FM_STRTEXP 517,21467 -#define FM_STVXEXP 518,21531 -#define FM_STKISS 519,21576 -#define FM_STKERR 520,21621 -#define FM_SMULTDA 521,21665 -#define FM_SRNGOP 522,21727 -#define FM_SRQUNLCK1 528,21842 -#define FM_SRQUNLCK2 529,21908 -#define FM_SRPERRQ1 530,21974 -#define FM_SRPERRQ2 531,22040 -#define FM_SRCVOVR2 533,22136 -#define FM_SRBFL2 534,22203 -#define FM_SRABT2 535,22266 -#define FM_SRBMT2 536,22323 -#define FM_SRCOMP2 537,22384 -#define FM_AF_BIST_DONE 543,22507 -#define FM_PLC_BIST_DONE 544,22573 -#define FM_PDX_BIST_DONE 545,22637 -#define FM_SICAMDAMAT 547,22720 -#define FM_SICAMDAXACT 548,22785 -#define FM_SICAMSAMAT 549,22857 -#define FM_SICAMSAXACT 550,22922 -#define FM_MDRTAG 555,23042 -#define FM_SNPPND 556,23100 -#define FM_TXSTAT 557,23164 -#define FM_RCSTAT 558,23228 -#define FM_TM01 559,23289 -#define FM_SIM 560,23340 -#define FM_REV 561,23399 -#define FM_MENRS 567,23498 -#define FM_MENXS 568,23562 -#define FM_MENXCT 569,23627 -#define FM_MENAFULL 570,23686 -#define FM_MEIND 571,23753 -#define FM_MENQCTRL 572,23815 -#define FM_MENRQAUNLCK 573,23872 -#define FM_MENDAS 574,23931 -#define FM_MENPLCCST 575,23995 -#define FM_MENSGLINT 576,24064 -#define FM_MENDRCV 577,24130 -#define FM_MENFCLOC 578,24196 -#define FM_MENTRCMD 579,24262 -#define FM_MENTDLPBK 580,24331 -#define FM_RECV1 586,24443 -#define FM_RCV1_ALL 587,24502 -#define FM_RCV1_LLC 588,24555 -#define FM_RCV1_SMT 589,24608 -#define FM_RCV1_NSMT 590,24661 -#define FM_RCV1_IMP 591,24715 -#define FM_RCV1_MAC 592,24772 -#define FM_RCV1_SLLC 593,24825 -#define FM_RCV1_ALLC 594,24884 -#define FM_RCV1_VOID 595,24944 -#define FM_RCV1_ALSMT 596,24999 -#define FM_RECV2 597,25066 -#define FM_RCV2_ALL 598,25125 -#define FM_RCV2_LLC 599,25184 -#define FM_RCV2_SMT 600,25237 -#define FM_RCV2_NSMT 601,25290 -#define FM_RCV2_IMP 602,25344 -#define FM_RCV2_MAC 603,25401 -#define FM_RCV2_SLLC 604,25454 -#define FM_RCV2_ALLC 605,25513 -#define FM_RCV2_VOID 606,25573 -#define FM_RCV2_ALSMT 607,25628 -#define FM_ENXMTADSWAP 608,25695 -#define FM_ENRCVADSWAP 609,25764 -#define FM_INST 615,25898 -#define FM_IINV_CAM 616,25954 -#define FM_IWRITE_CAM 617,26003 -#define FM_IREAD_CAM 618,26049 -#define FM_IRUN_BIST 619,26093 -#define FM_IFIND 620,26137 -#define FM_IINV 621,26173 -#define FM_ISKIP 622,26215 -#define FM_ICL_SKIP 623,26251 -#define FM_REV_NO 630,26401 -#define FM_BIST_DONE 631,26467 -#define FM_EMPTY 632,26516 -#define FM_ERROR 633,26557 -#define FM_MULT 634,26615 -#define FM_EXACT 635,26661 -#define FM_FOUND 636,26704 -#define FM_FULL 637,26758 -#define FM_DONE 638,26798 -#define AF_BIST_SIGNAT 644,26903 -#define FM_VALID 650,27026 -#define FM_DA 651,27073 -#define FM_DAX 652,27122 -#define FM_SA 653,27178 -#define FM_SAX 654,27222 -#define FM_SKIP 655,27273 -#define FM_IRESET 660,27389 -#define FM_IRMEMWI 661,27434 -#define FM_IRMEMWO 662,27497 -#define FM_IIL 663,27562 -#define FM_ICL 664,27602 -#define FM_IBL 665,27643 -#define FM_ILTVX 666,27685 -#define FM_INRTM 667,27742 -#define FM_IENTM 668,27796 -#define FM_IERTM 669,27856 -#define FM_IRTM 670,27913 -#define FM_ISURT 671,27964 -#define FM_ISRT 672,28017 -#define FM_ISIM 673,28068 -#define FM_IESIM 674,28123 -#define FM_ICLLS 675,28177 -#define FM_ICLLA0 676,28235 -#define FM_ICLLA1 677,28297 -#define FM_ICLLA2 678,28359 -#define FM_ICLLR 680,28446 -#define FM_ICLLR2 681,28508 -#define FM_ITRXBUS 682,28570 -#define FM_IDRXBUS 683,28632 -#define FM_ICLLAL 684,28680 -#define FM_ITRS 689,28801 -#define FM_ITRA0 691,28882 -#define FM_ITRA1 693,28966 -#define FM_ITRA2 695,29050 -#define FM_IACTR 697,29134 -#define FM_IRSTQ 698,29195 -#define FM_ISTTB 699,29246 -#define FM_IERSF 700,29287 -#define FM_ITR 702,29369 -#define PL_CNTRL_A 712,29501 -#define PL_CNTRL_B 713,29557 -#define PL_INTR_MASK 714,29613 -#define PL_XMIT_VECTOR 715,29667 -#define PL_VECTOR_LEN 716,29733 -#define PL_LE_THRESHOLD 717,29796 -#define PL_C_MIN 718,29865 -#define PL_TL_MIN 719,29927 -#define PL_TB_MIN 720,29991 -#define PL_T_OUT 721,30046 -#define PL_CNTRL_C 722,30096 -#define PL_LC_LENGTH 723,30152 -#define PL_T_SCRUB 724,30217 -#define PL_NS_MAX 725,30275 -#define PL_TPC_LOAD_V 726,30339 -#define PL_TNE_LOAD_V 727,30407 -#define PL_STATUS_A 728,30475 -#define PL_STATUS_B 729,30537 -#define PL_TPC 730,30599 -#define PL_TNE 731,30657 -#define PL_CLK_DIV 732,30715 -#define PL_BIST_SIGNAT 733,30776 -#define PL_RCV_VECTOR 734,30844 -#define PL_INTR_EVENT 735,30910 -#define PL_VIOL_SYM_CTR 736,30977 -#define PL_MIN_IDLE_CTR 737,31046 -#define PL_LINK_ERR_CTR 738,31115 -#define PL_T_FOT_ASS 740,31199 -#define PL_T_FOT_DEASS 741,31252 -#define QELM_XBAR_W 749,31451 -#define QELM_XBAR_X 750,31506 -#define QELM_XBAR_Y 751,31561 -#define QELM_XBAR_Z 752,31616 -#define QELM_XBAR_P 753,31671 -#define QELM_XBAR_S 754,31726 -#define QELM_XBAR_R 755,31781 -#define QELM_WR_XBAR 756,31836 -#define QELM_CTR_W 757,31900 -#define QELM_CTR_X 758,31941 -#define QELM_CTR_Y 759,31982 -#define QELM_CTR_Z 760,32023 -#define QELM_INT_MASK 761,32064 -#define QELM_INT_DATA 762,32122 -#define QELM_ELMB 763,32188 -#define QELM_ELM_SIZE 764,32227 -#define PL_RUN_BIST 771,32512 -#define PL_RF_DISABLE 772,32580 -#define PL_SC_REM_LOOP 773,32650 -#define PL_SC_BYPASS 774,32708 -#define PL_LM_LOC_LOOP 775,32774 -#define PL_EB_LOC_LOOP 776,32845 -#define PL_FOT_OFF 777,32916 -#define PL_LOOPBACK 778,32981 -#define PL_MINI_CTR_INT 779,33048 -#define PL_VSYM_CTR_INT 780,33120 -#define PL_ENA_PAR_CHK 781,33192 -#define PL_REQ_SCRUB 782,33249 -#define PL_TPC_16BIT 783,33318 -#define PL_TNE_16BIT 784,33386 -#define PL_NOISE_TIMER 785,33454 -#define PL_PCM_CNTRL 792,33719 -#define PL_PCM_NAF 793,33780 -#define PL_PCM_START 794,33832 -#define PL_PCM_TRACE 795,33888 -#define PL_PCM_STOP 796,33944 -#define PL_MAINT 798,33998 -#define PL_LONG 799,34058 -#define PL_PC_JOIN 800,34123 -#define PL_PC_LOOP 802,34186 -#define PL_NOLCT 803,34244 -#define PL_TPDR 804,34295 -#define PL_TIDLE 805,34351 -#define PL_RLBP 806,34408 -#define PL_CLASS_S 808,34472 -#define PL_MAINT_LS 810,34539 -#define PL_M_QUI0 811,34607 -#define PL_M_IDLE 812,34665 -#define PL_M_HALT 813,34722 -#define PL_M_MASTR 814,34779 -#define PL_M_QUI1 815,34839 -#define PL_M_QUI2 816,34897 -#define PL_M_TPDR 817,34955 -#define PL_M_QUI3 818,35021 -#define PL_MATCH_LS 820,35080 -#define PL_I_ANY 821,35147 -#define PL_I_IDLE 822,35211 -#define PL_I_HALT 823,35273 -#define PL_I_MASTR 824,35335 -#define PL_I_QUIET 825,35400 -#define PL_CONFIG_CNTRL 827,35465 -#define PL_C_CIPHER_ENABLE 833,35661 -#define PL_C_CIPHER_LPBCK 834,35718 -#define PL_C_SDOFF_ENABLE 835,35776 -#define PL_C_SDON_ENABLE 836,35834 -#define PL_C_FOTOFF_CTRL 838,35905 -#define PL_C_FOTOFF_TIM 839,35964 -#define PL_C_FOTOFF_INA 840,36035 -#define PL_C_FOTOFF_ACT 841,36096 -#define PL_C_FOTOFF_SRCE 842,36155 -#define PL_C_RXDATA_EN 843,36227 -#define PL_C_SDNRZEN 844,36289 -#define PL_C_FOTOFF_CTRL 846,36377 -#define PL_C_FOTOFF_0 847,36436 -#define PL_C_FOTOFF_30 848,36482 -#define PL_C_FOTOFF_50 849,36524 -#define PL_C_FOTOFF_NEVER 850,36566 -#define PL_C_SDON_TIMER 851,36611 -#define PL_C_SDON_084 852,36669 -#define PL_C_SDON_132 853,36714 -#define PL_C_SDON_252 854,36759 -#define PL_C_SDON_512 855,36804 -#define PL_C_SOFF_TIMER 856,36849 -#define PL_C_SOFF_076 857,36908 -#define PL_C_SOFF_132 858,36953 -#define PL_C_SOFF_252 859,36998 -#define PL_C_SOFF_512 860,37043 -#define PL_C_TSEL 861,37088 -#define PLC_INT_MASK 870,37349 -#define PLC_INT_C 871,37417 -#define PLC_INT_CAMEL 872,37469 -#define PLC_INT_QE 873,37531 -#define PLC_REV_MASK 874,37593 -#define PLC_REVISION_B 875,37654 -#define PLC_REVISION_QA 876,37714 -#define PLC_REV_MASK 878,37805 -#define PLC_REVISION_A 879,37866 -#define PLC_REVISION_S 880,37925 -#define PLC_REV_SN3 881,37986 -#define PL_SYM_PR_CTR 883,38074 -#define PL_UNKN_LINE_ST 884,38144 -#define PL_LSM_STATE 885,38214 -#define PL_LINE_ST 887,38267 -#define PL_L_NLS 888,38334 -#define PL_L_ALS 889,38382 -#define PL_L_UND 890,38430 -#define PL_L_ILS4 891,38471 -#define PL_L_QLS 892,38537 -#define PL_L_MLS 893,38585 -#define PL_L_HLS 894,38634 -#define PL_L_ILS16 895,38681 -#define PL_PREV_LINE_ST 897,38749 -#define PL_P_QLS 898,38816 -#define PL_P_MLS 899,38864 -#define PL_P_HLS 900,38913 -#define PL_P_ILS16 901,38960 -#define PL_SIGNAL_DET 903,39028 -#define PL_BREAK_REASON 910,39243 -#define PL_B_NOT 911,39315 -#define PL_B_PCS 912,39377 -#define PL_B_TPC 913,39421 -#define PL_B_TNE 914,39479 -#define PL_B_QLS 915,39538 -#define PL_B_ILS 916,39591 -#define PL_B_HLS 917,39644 -#define PL_TCF 919,39698 -#define PL_RCF 920,39761 -#define PL_LSF 921,39823 -#define PL_PCM_SIGNAL 922,39887 -#define PL_PCM_STATE 924,39958 -#define PL_PC0 925,40025 -#define PL_PC1 926,40087 -#define PL_PC2 927,40151 -#define PL_PC3 928,40215 -#define PL_PC4 929,40279 -#define PL_PC5 930,40343 -#define PL_PC6 931,40407 -#define PL_PC7 932,40471 -#define PL_PC8 933,40532 -#define PL_PC9 934,40597 -#define PL_PCI_SCRUB 937,40705 -#define PL_PCI_STATE 939,40775 -#define PL_CI_REMV 940,40841 -#define PL_CI_ISCR 941,40883 -#define PL_CI_RSCR 942,40930 -#define PL_CI_INS 943,40977 -#define PL_RF_STATE 945,41020 -#define PL_RF_REPT 946,41085 -#define PL_RF_IDLE 947,41126 -#define PL_RF_HALT1 948,41165 -#define PL_RF_HALT2 949,41206 -#define PL_PARITY_ERR 957,41441 -#define PL_LS_MATCH 958,41511 -#define PL_PCM_CODE 959,41579 -#define PL_TRACE_PROP 960,41645 -#define PL_SELF_TEST 961,41715 -#define PL_PCM_BREAK 962,41784 -#define PL_PCM_ENABLED 963,41851 -#define PL_TPC_EXPIRED 964,41921 -#define PL_TNE_EXPIRED 965,41981 -#define PL_EBUF_ERR 966,42041 -#define PL_PHYINV 967,42109 -#define PL_VSYM_CTR 968,42171 -#define PL_MINI_CTR 969,42239 -#define PL_LE_CTR 970,42307 -#define PL_LSDO 971,42364 -#define PL_NP_ERR 972,42424 -#define QELM_XOUT_IDLE 984,42768 -#define QELM_XOUT_P 985,42823 -#define QELM_XOUT_S 986,42874 -#define QELM_XOUT_R 987,42925 -#define QELM_XOUT_W 988,42976 -#define QELM_XOUT_X 989,43027 -#define QELM_XOUT_Y 990,43078 -#define QELM_XOUT_Z 991,43129 -#define QELM_NP_ERR 996,43236 -#define QELM_COUNT_Z 997,43292 -#define QELM_COUNT_Y 998,43347 -#define QELM_COUNT_X 999,43402 -#define QELM_COUNT_W 1000,43457 -#define QELM_ELM_Z 1001,43512 -#define QELM_ELM_Y 1002,43561 -#define QELM_ELM_X 1003,43610 -#define QELM_ELM_W 1004,43659 -#define TP_C_MIN 1009,43761 -#define TP_TL_MIN 1010,43801 -#define TP_TB_MIN 1011,43842 -#define TP_T_OUT 1012,43883 -#define TP_LC_LENGTH 1013,43923 -#define TP_LC_LONGLN 1014,43967 -#define TP_T_SCRUB 1015,44011 -#define TP_NS_MAX 1016,44053 -#define PLC_BIST 1021,44118 -#define PLCS_BIST 1022,44172 -#define PLC_ELM_B_BIST 1023,44230 -#define PLC_ELM_D_BIST 1024,44296 -#define PLC_CAM_A_BIST 1025,44362 -#define PLC_CAM_B_BIST 1026,44430 -#define PLC_IFD_A_BIST 1027,44498 -#define PLC_IFD_B_BIST 1028,44566 -#define PLC_QELM_A_BIST 1029,44634 -#define RQ_NOT 1039,44894 -#define RQ_RES 1040,44931 -#define RQ_SFW 1041,44965 -#define RQ_RRQ 1042,45010 -#define RQ_WSQ 1043,45063 -#define RQ_WA0 1044,45121 -#define RQ_WA1 1045,45180 -#define RQ_WA2 1046,45239 -#define SZ_LONG 1048,45299 -#define COMPLREF 1055,45485 -#define MSTOBCLK(MSTOBCLK1056,45553 -#define MSTOTVX(MSTOTVX1057,45594 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/skfbiinc.h,1692 -#define _SKFBIINC_16,617 -#define ERR_FLAGS 23,712 -#define DMA_BUSY_CHECK 26,791 -#define IMASK_FAST 27,819 -#define HRQR 28,874 -#define HRQW 29,907 -#define HRQA0 30,940 -#define HRQSQ 31,974 -#define DMA_BUSY_CHECK 35,1028 -#define DMA_HIGH_WORD 36,1056 -#define DMA_MASK_M 37,1085 -#define DMA_MODE_M 38,1109 -#define DMA_BYTE_PTR_M 39,1133 -#define DMA_MASK_S 40,1161 -#define DMA_MODE_S 41,1186 -#define DMA_BYTE_PTR_S 42,1211 -#define IMASK_FAST 43,1240 -#define IMASK_FAST 47,1333 -#define IMASK_FAST 52,1448 -#define ISR_MASK 58,1609 -#define ISR_MASK 60,1686 -#define FMA_FM_CMDREG1 63,1748 -#define FMA_FM_CMDREG2 64,1787 -#define FMA_FM_STMCHN 65,1826 -#define FMA_FM_RPR 66,1863 -#define FMA_FM_WPXA0 67,1894 -#define FMA_FM_WPXA2 68,1929 -#define FMA_FM_MARR 69,1964 -#define FMA_FM_MARW 70,1997 -#define FMA_FM_MDRU 71,2030 -#define FMA_FM_MDRL 72,2063 -#define FMA_ST1L 73,2096 -#define FMA_ST1U 74,2126 -#define FMA_ST2L 75,2156 -#define FMA_ST2U 76,2186 -#define FMA_ST3L 78,2234 -#define FMA_ST3U 79,2264 -#define TMODE_RRQ 82,2302 -#define TMODE_WAQ2 83,2327 -#define HSRA 84,2353 -#define FMA_FM_ST1L 87,2376 -#define FMA_FM_ST1U 88,2405 -#define FMA_FM_ST2L 89,2434 -#define FMA_FM_ST2U 90,2463 -#define FMA_FM_ST3L 92,2510 -#define FMA_FM_ST3U 93,2539 -#define FMA_FM_SWPR 96,2576 -#define FMA_FM_RPXA0 98,2610 -#define FMA_FM_RPXS 100,2646 -#define FMA_FM_WPXS 101,2679 -#define FMA_FM_IMSK1U 103,2713 -#define FMA_FM_IMSK1L 104,2750 -#define FMA_FM_EAS 106,2788 -#define FMA_FM_EAA0 107,2819 -#define TMODE_WAQ0 109,2853 -#define TMODE_WSQ 110,2879 -#define DRV_PCM_STATE_CHANGE(DRV_PCM_STATE_CHANGE114,2980 -#define DRV_RMT_INDICATION(DRV_RMT_INDICATION119,3119 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/mbuf.h,390 -#define _MBUF_16,613 -#define M_SIZE 19,641 -#define M_SIZE 21,667 -#define MAX_MBUF 25,712 -#define sm_next 29,759 -#define sm_off 30,790 -#define sm_len 31,820 -#define sm_data 32,850 -#define SMbuf 33,881 -#define mtod 34,910 -#define mtodoff 35,930 -struct s_mbuf s_mbuf38,964 -typedef struct s_mbuf SMbuf SMbuf48,1183 -#define smtod(smtod51,1245 -#define smtodoff(smtodoff52,1298 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/h/osdef1st.h,661 -#define LITTLE_ENDIAN24,808 -#define BIG_ENDIAN26,836 -#define USE_CAN_ADDR 34,1015 -#define MB_OUTSIDE_SMC 36,1083 -#define SYNC 43,1223 -#define ESS 48,1380 -#define SMT_PANIC(SMT_PANIC50,1425 -#define printf(printf54,1530 -#define NUM_RECEIVE_BUFFERS 66,1756 -#define NUM_TRANSMIT_BUFFERS 69,1828 -#define NUM_SMT_BUF 72,1896 -#define HWM_ASYNC_TXD_COUNT 75,1970 -#define HWM_SYNC_TXD_COUNT 78,2086 -#define SMT_R1_RXD_COUNT 84,2274 -#define SMT_R1_RXD_COUNT 86,2315 -#define SMT_R2_RXD_COUNT 90,2414 -struct s_txd_os s_txd_os106,2825 -struct s_rxd_os s_rxd_os111,2935 -#define AIX_REVERSE(AIX_REVERSE122,3197 -#define MDR_REVERSE(MDR_REVERSE123,3250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/pcmplc.c,2513 -#define KERNEL50,1226 -static const char ID_sccs[54,1279 -#define AFLAG 75,1598 -#define GO_STATE(GO_STATE76,1620 -#define ACTIONS_DONE(ACTIONS_DONE77,1676 -#define ACTIONS(ACTIONS78,1733 -#define PC0_OFF 83,1784 -#define PC1_BREAK 84,1804 -#define PC2_TRACE 85,1825 -#define PC3_CONNECT 86,1846 -#define PC4_NEXT 87,1869 -#define PC5_SIGNAL 88,1889 -#define PC6_JOIN 89,1911 -#define PC7_VERIFY 90,1931 -#define PC8_ACTIVE 91,1953 -#define PC9_MAINT 92,1975 -static const char * const pcm_states[98,2041 -static const char * const pcm_events[106,2245 -#define PLCS_CONTROL_C_U 123,2770 -#define PLCS_CONTROL_C_S 124,2797 -#define PLCS_FASSERT_U 126,2889 -#define PLCS_FASSERT_S 127,2915 -#define PLCS_FDEASSERT_U 128,2960 -#define PLCS_FDEASSERT_S 129,2987 -static const u_char plcs_control_c_u[136,3191 -static const u_char plcs_control_c_s[137,3257 -#define PLCS_CONTROL_C_U 139,3326 -#define PLCS_CONTROL_C_S 140,3402 -#define PS_OFF 148,3584 -#define PS_BIT3 149,3602 -#define PS_BIT4 150,3621 -#define PS_BIT7 151,3640 -#define PS_LCT 152,3659 -#define PS_BIT8 153,3677 -#define PS_JOIN 154,3696 -#define PS_ACTIVE 155,3715 -#define LCT_LEM_MAX 157,3736 -#define PLC_MS(PLC_MS163,3793 -#define SLOW_TL_MIN 164,3848 -#define SLOW_C_MIN 165,3878 -static const struct plt plt167,3909 -} pltm[170,4029 -static int plc_imsk_na 189,4613 -static int plc_imsk_na 195,4825 -static int plc_imsk_act 198,4954 -static void start_pcm_timer0(219,5792 -static void stop_pcm_timer0(230,6097 -void pcm_init(240,6320 -void init_plc(404,10463 -static void real_init_plc(417,10730 -static void plc_init(425,10843 -static void plc_go_state(488,12414 -int sm_pm_get_ls(504,12717 -static int plc_send_bits(537,13230 -void plc_config_mux(574,13960 -void pcm(598,14531 -static void pcm_fsm(677,16549 -static void sm_ph_linestate(1040,25422 -static void reset_lem_struct(1069,26019 -static void lem_evaluate(1080,26213 -void sm_lem_evaluate(1180,28855 -static void lem_check_lct(1188,28981 -static void sm_ph_lem_start(1232,29980 -static void sm_ph_lem_stop(1250,30412 -void sm_pm_ls_latch(1259,30592 -static void pc_rcode_actions(1277,30953 -static void pc_tcode_actions(1413,34478 -int pcm_status_twisted(1592,38543 -void pcm_status_state(1611,38947 -int pcm_rooted_station(1635,39493 -void plc_irq(1650,39769 -void pcm_set_lct_short(1864,45262 -void pcm_get_state(1875,45417 -int get_pcm_state(1909,46342 -char *get_linestate(1931,46948 -char *get_pcmstate(1953,47482 -void list_phy(1975,48083 -void pcm_lem_dump(2003,49027 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/srf.c,512 -#define KERNEL27,828 -static const char ID_sccs[34,912 -#define MAX_EVCS 46,1236 -struct evc_init evc_init48,1295 -static const struct evc_init evc_inits[55,1378 -#define MAX_INIT_EVC 70,2039 -void smt_init_evc(72,2102 -static struct s_srf_evc *smt_get_evc(161,4186 -#define THRESHOLD_2 173,4466 -#define THRESHOLD_32 174,4507 -static const char * const srf_names[177,4564 -void smt_srf_event(187,4913 -static void clear_all_rep(335,8159 -static void clear_reported(348,8458 -static void smt_send_srf(371,8930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/ess.c,622 -static const char ID_sccs[47,1598 -#define LINT_USE(LINT_USE48,1663 -#define LINT_USE(LINT_USE50,1689 -#define MS2BCLK(MS2BCLK52,1724 -static const u_short plist_raf_alc_res[60,1908 -static const u_short plist_raf_chg_req[64,2047 -static const struct fddi_addr smt_sba_da 67,2148 -static const struct fddi_addr null_addr 68,2227 -int ess_raf_received_pack(117,3629 -int process_bw_alloc(378,10211 -static void ess_send_response(474,12661 -void ess_timer_poll(539,14566 -static void ess_send_alc_req(553,14815 -static void ess_send_frame(661,18082 -void ess_para_change(687,18667 -static void ess_config_fifo(693,18833 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/pmf.c,939 -#define KERNEL26,793 -static const char ID_sccs[32,864 -#define MOFFSS(MOFFSS46,1483 -#define MOFFSA(MOFFSA47,1537 -#define MOFFMS(MOFFMS49,1592 -#define MOFFMA(MOFFMA50,1648 -#define MOFFAS(MOFFAS52,1705 -#define MOFFAA(MOFFAA53,1761 -#define MOFFPS(MOFFPS55,1818 -#define MOFFPA(MOFFPA56,1874 -#define AC_G 59,1932 -#define AC_GR 60,1961 -#define AC_S 61,1995 -#define AC_NA 62,2024 -#define AC_GROUP 63,2043 -#define MS2BCLK(MS2BCLK64,2078 -static const struct s_p_tab s_p_tab77,2278 -} p_tab[82,2464 -void smt_pmf_received_pack(287,10572 -static SMbuf *smt_build_pmf_response(317,11302 -static int smt_authorize(505,15882 -static int smt_check_set_count(540,16623 -void smt_add_para(556,17030 -int smt_set_para(1081,27794 -#define IFSET(IFSET1084,27887 -static const struct s_p_tab *smt_get_ptab(1531,38056 -static int smt_mib_phys(1539,38240 -int port_to_mib(1552,38420 -void dump_smt(1568,38615 -void dump_hex(1655,40446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/can.c,92 -static const char xID_sccs[18,666 -const u_char canonical[24,770 -int byte_reverse(60,2168 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/skfp/smtdef.c,1410 -#define OEM_USER_DATA 26,761 -static const char ID_sccs[30,832 -#define TTMS(TTMS36,928 -#define TTS(TTS37,964 -#define TTUS(TTUS38,1002 -#define DEFAULT_TB_MIN 40,1033 -#define DEFAULT_TB_MAX 41,1065 -#define DEFAULT_C_MIN 42,1098 -#define DEFAULT_T_OUT 43,1132 -#define DEFAULT_TL_MIN 44,1167 -#define DEFAULT_LC_SHORT 45,1200 -#define DEFAULT_LC_MEDIUM 46,1236 -#define DEFAULT_LC_LONG 47,1275 -#define DEFAULT_LC_EXTENDED 48,1316 -#define DEFAULT_T_NEXT_9 49,1361 -#define DEFAULT_NS_MAX 50,1399 -#define DEFAULT_I_MAX 51,1434 -#define DEFAULT_IN_MAX 52,1466 -#define DEFAULT_TD_MIN 53,1499 -#define DEFAULT_T_NON_OP 54,1531 -#define DEFAULT_T_STUCK 55,1563 -#define DEFAULT_T_DIRECT 56,1595 -#define DEFAULT_T_JAM 57,1630 -#define DEFAULT_T_ANNOUNCE 58,1663 -#define DEFAULT_D_MAX 59,1701 -#define DEFAULT_LEM_ALARM 60,1735 -#define DEFAULT_LEM_CUTOFF 61,1765 -#define DEFAULT_TEST_DONE 62,1796 -#define DEFAULT_CHECK_POLL 63,1829 -#define DEFAULT_POLL 64,1863 -#define DEFAULT_LCT_SHORT 69,1926 -#define DEFAULT_LCT_MEDIUM 70,1954 -#define DEFAULT_LCT_LONG 71,1983 -#define DEFAULT_LCT_EXTEND 72,2010 -void smt_set_defaults(79,2257 -#define MS2BCLK(MS2BCLK84,2332 -#define US2BCLK(US2BCLK85,2364 -void smt_reset_defaults(87,2396 -static const char man_data[165,4594 -static void smt_init_mib(169,4705 -int smt_set_mac_opvalues(289,8300 -void smt_fixup_mib(314,9023 -static int set_min_max(350,9737 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bagetlance.c,3834 -static char *version 15,428 -#define BAGET_LANCE_IRQ 34,873 -#define LANCE_DEBUG 49,1247 -static int lance_debug 52,1291 -static int lance_debug 54,1335 -#define DPRINTK(DPRINTK63,1548 -# define PROBE_PRINT(PROBE_PRINT70,1685 -# define PROBE_PRINT(PROBE_PRINT72,1724 -#define TX_LOG_RING_SIZE 85,2166 -#define RX_LOG_RING_SIZE 86,2195 -#define TX_RING_SIZE 90,2261 -#define TX_RING_LEN_BITS 91,2308 -#define TX_RING_MOD_MASK 92,2358 -#define RX_RING_SIZE 94,2404 -#define RX_RING_LEN_BITS 95,2451 -#define RX_RING_MOD_MASK 96,2501 -struct lance_rx_head lance_rx_head99,2591 -#define GET_FLAG(GET_FLAG108,2977 -#define SET_FLAG(SET_FLAG109,3034 -struct lance_tx_head lance_tx_head118,3360 -struct ringdesc ringdesc131,3770 -struct lance_init_block lance_init_block143,4161 -struct lance_memory lance_memory153,4511 -#define RIEBL_RSVD_START 170,5205 -#define RIEBL_RSVD_END 171,5237 -#define RIEBL_MAGIC 172,5268 -#define RIEBL_MAGIC_ADDR 173,5301 -#define RIEBL_HWADDR_ADDR 174,5370 -#define RIEBL_IVEC_ADDR 175,5440 -static unsigned char OldRieblDefHwaddr[182,5714 -struct lance_ioreg lance_ioreg188,5839 -enum lance_type lance_type201,6224 - OLD_RIEBL,202,6242 - NEW_RIEBL,203,6292 - PAM_CARD 204,6339 -static char *lance_names[207,6381 -struct lance_private lance_private215,6543 -#define MEM 231,6986 -#define DREG 232,7007 -#define AREG 233,7029 -#define REGA(REGA234,7051 -#define PKT_BUF_SZ 237,7133 -#define PKTBUF_ADDR(PKTBUF_ADDR239,7236 -struct lance_addr lance_addr243,7353 -} lance_addr_list[247,7439 -#define N_LANCE_ADDR 251,7535 -#define LANCE_HI_BASE 254,7609 -#define TMD1_ENP 259,7723 -#define TMD1_STP 260,7766 -#define TMD1_DEF 261,7811 -#define TMD1_ONE 262,7849 -#define TMD1_MORE 263,7895 -#define TMD1_ERR 264,7952 -#define TMD1_OWN 265,7995 -#define TMD1_OWN_CHIP 267,8053 -#define TMD1_OWN_HOST 268,8084 -#define TMD3_TDR 271,8134 -#define TMD3_RTRY 272,8199 -#define TMD3_LCAR 273,8255 -#define TMD3_LCOL 274,8300 -#define TMD3_UFLO 275,8347 -#define TMD3_BUFF 276,8403 -#define RMD1_ENP 279,8481 -#define RMD1_STP 280,8524 -#define RMD1_BUFF 281,8569 -#define RMD1_CRC 282,8612 -#define RMD1_OFLO 283,8651 -#define RMD1_FRAM 284,8690 -#define RMD1_ERR 285,8734 -#define RMD1_OWN 286,8777 -#define RMD1_OWN_CHIP 288,8835 -#define RMD1_OWN_HOST 289,8866 -#define CSR0 292,8912 -#define CSR1 293,8946 -#define CSR2 294,8990 -#define CSR3 295,9035 -#define CSR8 296,9062 -#define CSR15 297,9101 -#define CSR0_INIT 301,9220 -#define CSR0_STRT 302,9268 -#define CSR0_STOP 303,9311 -#define CSR0_TDMD 304,9353 -#define CSR0_TXON 305,9406 -#define CSR0_RXON 306,9457 -#define CSR0_INEA 307,9505 -#define CSR0_INTR 308,9559 -#define CSR0_IDON 309,9612 -#define CSR0_TINT 310,9669 -#define CSR0_RINT 311,9728 -#define CSR0_MERR 312,9784 -#define CSR0_MISS 313,9834 -#define CSR0_CERR 314,9884 -#define CSR0_BABL 315,9953 -#define CSR0_ERR 316,10018 -#define CSR3_BCON 319,10072 -#define CSR3_ACON 320,10117 -#define CSR3_BSWP 321,10173 -int lance_stat 344,11174 -static void update_lance_stat 346,11195 -void *slow_memcpy(357,11507 -struct net_device * __init bagetlance_probe(468,14004 -static int __init addr_accessible(507,14761 -#define IRQ_TYPE_PRIO 519,15055 -#define IRQ_SOURCE_TO_VECTOR(IRQ_SOURCE_TO_VECTOR520,15090 -static int __init lance_probe1(522,15127 -static int lance_open(737,21398 -static void lance_init_ring(779,22349 -#define CHECK_OFFSET(CHECK_OFFSET794,22726 -static int lance_start_xmit(835,23822 -static irqreturn_t lance_interrupt(978,27901 -static int lance_rx(1102,31365 -static int lance_close(1226,35149 -static struct net_device_stats *lance_get_stats(1247,35544 -static void set_multicast_list(1262,35964 -static int lance_set_mac_address(1304,37204 -static struct net_device *bagetlance_dev;1344,38192 -int init_module(1346,38235 -void cleanup_module(1354,38376 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/amd8111e.c,2306 -#define AMD8111E_VLAN_TAG_USED 97,3038 -#define AMD8111E_VLAN_TAG_USED 99,3077 -#define MODULE_NAME 103,3140 -#define MODULE_VERS 104,3171 -static struct pci_device_id amd8111e_pci_tbl[115,3908 -static int amd8111e_read_phy(125,4114 -static int amd8111e_write_phy(155,4829 -static int amd8111e_mdio_read(185,5544 -static void amd8111e_mdio_write(198,5845 -static void amd8111e_set_ext_phy(208,6134 -static int amd8111e_free_skbs(250,7219 -static inline void amd8111e_set_rx_buff_len(283,8103 -static int amd8111e_init_ring(303,8770 -static int amd8111e_set_coalesce(381,10828 -static int amd8111e_restart(442,12281 -static void amd8111e_init_hw_default(521,14594 -static void amd8111e_disable_interrupt(613,16730 -static void amd8111e_stop_chip(632,17056 -static void amd8111e_free_ring(643,17282 -static int amd8111e_vlan_rx(670,17918 -static int amd8111e_tx(683,18358 -static int amd8111e_rx_poll(724,19626 -static int amd8111e_rx(861,23657 -static int amd8111e_link_change(965,26721 -static int amd8111e_read_mib(1007,27891 -static struct net_device_stats *amd8111e_get_stats(1027,28433 -static int amd8111e_calc_coalesce(1124,31464 -static irqreturn_t amd8111e_interrupt(1258,35104 -static void amd8111e_poll(1330,36786 -static int amd8111e_close(1344,37139 -static int amd8111e_open(1371,37840 -static int amd8111e_tx_queue_avail(1404,38557 -static int amd8111e_start_xmit(1417,38962 -static char* amd8111e_read_regs(1467,40282 -int amd8111e_ether_crc(1497,41170 -static void amd8111e_set_multicast_list(1523,41712 -static int amd8111e_ethtool_ioctl(1574,43382 -static int amd8111e_ioctl(1695,46516 -static int amd8111e_set_mac_address(1737,47389 -int amd8111e_change_mtu(1757,47929 -static void amd8111e_vlan_rx_register(1787,48514 -static void amd8111e_vlan_rx_kill_vid(1795,48727 -static int amd8111e_enable_magicpkt(1804,48977 -static int amd8111e_enable_link_change(1814,49198 -static void amd8111e_tx_timeout(1826,49681 -static int amd8111e_suspend(1839,50000 -static int amd8111e_resume(1882,51041 -static void __devexit amd8111e_remove_one(1910,51667 -static void amd8111e_config_ipg(1922,51998 -static int __devinit amd8111e_probe_one(1982,53385 -static struct pci_driver amd8111e_driver 2154,57999 -static int __init amd8111e_init(2163,58239 -static void __exit amd8111e_cleanup(2168,58325 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tlan.h,9165 -#define TLAN_H2,15 -#define FALSE 36,852 -#define TRUE 37,870 -#define TLAN_MIN_FRAME_SIZE 39,888 -#define TLAN_MAX_FRAME_SIZE 40,919 -#define TLAN_NUM_RX_LISTS 42,953 -#define TLAN_NUM_TX_LISTS 43,982 -#define TLAN_IGNORE 45,1012 -#define TLAN_RECORD 46,1035 -#define TLAN_DBG(TLAN_DBG48,1059 -#define TLAN_DEBUG_GNRL 49,1158 -#define TLAN_DEBUG_TX 50,1190 -#define TLAN_DEBUG_RX 51,1220 -#define TLAN_DEBUG_LIST 52,1251 -#define TLAN_DEBUG_PROBE 53,1283 -#define TX_TIMEOUT 55,1316 -#define MAX_TLAN_BOARDS 56,1377 -#define PCI_DEVICE_ID_NETELLIGENT_10_T2 64,1635 -#define PCI_DEVICE_ID_NETELLIGENT_10_100_WS_5100 65,1684 -#define PCI_DEVICE_ID_OLICOM_OC2183 67,1776 -#define PCI_DEVICE_ID_OLICOM_OC2325 70,1864 -#define PCI_DEVICE_ID_OLICOM_OC2326 73,1952 -typedef struct tlan_adapter_entry tlan_adapter_entry76,2005 -} TLanAdapterEntry;TLanAdapterEntry82,2117 -#define TLAN_ADAPTER_NONE 84,2138 -#define TLAN_ADAPTER_UNMANAGED_PHY 85,2176 -#define TLAN_ADAPTER_BIT_RATE_PHY 86,2222 -#define TLAN_ADAPTER_USE_INTERN_10 87,2267 -#define TLAN_ADAPTER_ACTIVITY_LED 88,2313 -#define TLAN_SPEED_DEFAULT 90,2359 -#define TLAN_SPEED_10 91,2388 -#define TLAN_SPEED_100 92,2414 -#define TLAN_DUPLEX_DEFAULT 94,2443 -#define TLAN_DUPLEX_HALF 95,2473 -#define TLAN_DUPLEX_FULL 96,2500 -#define EISA_ID 105,2692 -#define EISA_ID0 106,2746 -#define EISA_ID1 107,2801 -#define EISA_ID2 108,2856 -#define EISA_ID3 109,2911 -#define EISA_CR 110,2966 -#define EISA_REG0 111,3023 -#define EISA_REG1 112,3088 -#define EISA_REG2 113,3153 -#define EISA_REG3 114,3218 -#define EISA_APROM 115,3283 -#define TLAN_BUFFERS_PER_LIST 124,3511 -#define TLAN_LAST_BUFFER 125,3544 -#define TLAN_CSTAT_UNUSED 126,3580 -#define TLAN_CSTAT_FRM_CMP 127,3613 -#define TLAN_CSTAT_READY 128,3647 -#define TLAN_CSTAT_EOC 129,3679 -#define TLAN_CSTAT_RX_ERROR 130,3710 -#define TLAN_CSTAT_PASS_CRC 131,3745 -#define TLAN_CSTAT_DP_PR 132,3780 -typedef struct tlan_buffer_ref_tag tlan_buffer_ref_tag135,3814 -} TLanBufferRef;TLanBufferRef138,3877 -typedef struct tlan_list_tag tlan_list_tag141,3896 -} TLanList;TLanList146,4018 -typedef u8 TLanBuffer[TLanBuffer149,4032 -#define TLAN_PHY_MAX_ADDR 159,4241 -#define TLAN_PHY_NONE 160,4272 -typedef struct tlan_private_tag tlan_private_tag170,4484 -} TLanPrivateInfo;TLanPrivateInfo213,5522 -#define TLAN_TIMER_LINK_BEAT 223,5720 -#define TLAN_TIMER_ACTIVITY 224,5752 -#define TLAN_TIMER_PHY_PDOWN 225,5783 -#define TLAN_TIMER_PHY_PUP 226,5815 -#define TLAN_TIMER_PHY_RESET 227,5845 -#define TLAN_TIMER_PHY_START_LINK 228,5877 -#define TLAN_TIMER_PHY_FINISH_AN 229,5913 -#define TLAN_TIMER_FINISH_RESET 230,5948 -#define TLAN_TIMER_ACT_DELAY 232,5984 -#define TLAN_EEPROM_ACK 242,6202 -#define TLAN_EEPROM_STOP 243,6229 -#define TLAN_HOST_CMD 253,6440 -#define TLAN_HC_GO 254,6469 -#define TLAN_HC_STOP 255,6501 -#define TLAN_HC_ACK 256,6535 -#define TLAN_HC_CS_MASK 257,6568 -#define TLAN_HC_EOC 258,6605 -#define TLAN_HC_RT 259,6638 -#define TLAN_HC_NES 260,6670 -#define TLAN_HC_AD_RST 261,6703 -#define TLAN_HC_LD_TMR 262,6739 -#define TLAN_HC_LD_THR 263,6775 -#define TLAN_HC_REQ_INT 264,6811 -#define TLAN_HC_INT_OFF 265,6848 -#define TLAN_HC_INT_ON 266,6885 -#define TLAN_HC_AC_MASK 267,6921 -#define TLAN_CH_PARM 268,6958 -#define TLAN_DIO_ADR 269,6986 -#define TLAN_DA_ADR_INC 270,7014 -#define TLAN_DA_RAM_ADR 271,7047 -#define TLAN_HOST_INT 272,7080 -#define TLAN_HI_IV_MASK 273,7109 -#define TLAN_HI_IT_MASK 274,7142 -#define TLAN_DIO_DATA 275,7175 -#define TLAN_NET_CMD 280,7254 -#define TLAN_NET_CMD_NRESET 281,7282 -#define TLAN_NET_CMD_NWRAP 282,7316 -#define TLAN_NET_CMD_CSF 283,7349 -#define TLAN_NET_CMD_CAF 284,7380 -#define TLAN_NET_CMD_NOBRX 285,7411 -#define TLAN_NET_CMD_DUPLEX 286,7444 -#define TLAN_NET_CMD_TRFRAM 287,7478 -#define TLAN_NET_CMD_TXPACE 288,7512 -#define TLAN_NET_SIO 289,7546 -#define TLAN_NET_SIO_MINTEN 290,7574 -#define TLAN_NET_SIO_ECLOK 291,7608 -#define TLAN_NET_SIO_ETXEN 292,7641 -#define TLAN_NET_SIO_EDATA 293,7674 -#define TLAN_NET_SIO_NMRST 294,7707 -#define TLAN_NET_SIO_MCLK 295,7740 -#define TLAN_NET_SIO_MTXEN 296,7772 -#define TLAN_NET_SIO_MDATA 297,7805 -#define TLAN_NET_STS 298,7838 -#define TLAN_NET_STS_MIRQ 299,7866 -#define TLAN_NET_STS_HBEAT 300,7898 -#define TLAN_NET_STS_TXSTOP 301,7931 -#define TLAN_NET_STS_RXSTOP 302,7965 -#define TLAN_NET_STS_RSRVD 303,7999 -#define TLAN_NET_MASK 304,8032 -#define TLAN_NET_MASK_MASK7 305,8061 -#define TLAN_NET_MASK_MASK6 306,8095 -#define TLAN_NET_MASK_MASK5 307,8129 -#define TLAN_NET_MASK_MASK4 308,8163 -#define TLAN_NET_MASK_RSRVD 309,8197 -#define TLAN_NET_CONFIG 310,8231 -#define TLAN_NET_CFG_RCLK 311,8262 -#define TLAN_NET_CFG_TCLK 312,8296 -#define TLAN_NET_CFG_BIT 313,8330 -#define TLAN_NET_CFG_RXCRC 314,8363 -#define TLAN_NET_CFG_PEF 315,8398 -#define TLAN_NET_CFG_1FRAG 316,8431 -#define TLAN_NET_CFG_1CHAN 317,8466 -#define TLAN_NET_CFG_MTEST 318,8501 -#define TLAN_NET_CFG_PHY_EN 319,8536 -#define TLAN_NET_CFG_MSMASK 320,8572 -#define TLAN_MAN_TEST 321,8608 -#define TLAN_DEF_VENDOR_ID 322,8637 -#define TLAN_DEF_DEVICE_ID 323,8670 -#define TLAN_DEF_REVISION 324,8703 -#define TLAN_DEF_SUBCLASS 325,8735 -#define TLAN_DEF_MIN_LAT 326,8767 -#define TLAN_DEF_MAX_LAT 327,8798 -#define TLAN_AREG_0 328,8829 -#define TLAN_AREG_1 329,8856 -#define TLAN_AREG_2 330,8883 -#define TLAN_AREG_3 331,8910 -#define TLAN_HASH_1 332,8937 -#define TLAN_HASH_2 333,8964 -#define TLAN_GOOD_TX_FRMS 334,8991 -#define TLAN_TX_UNDERUNS 335,9023 -#define TLAN_GOOD_RX_FRMS 336,9054 -#define TLAN_RX_OVERRUNS 337,9086 -#define TLAN_DEFERRED_TX 338,9117 -#define TLAN_CRC_ERRORS 339,9148 -#define TLAN_CODE_ERRORS 340,9179 -#define TLAN_MULTICOL_FRMS 341,9210 -#define TLAN_SINGLECOL_FRMS 342,9243 -#define TLAN_EXCESSCOL_FRMS 343,9277 -#define TLAN_LATE_COLS 344,9311 -#define TLAN_CARRIER_LOSS 345,9341 -#define TLAN_ACOMMIT 346,9373 -#define TLAN_LED_REG 347,9401 -#define TLAN_LED_ACT 348,9429 -#define TLAN_LED_LINK 349,9457 -#define TLAN_BSIZE_REG 350,9486 -#define TLAN_MAX_RX 351,9516 -#define TLAN_INT_DIS 352,9543 -#define TLAN_ID_TX_EOC 353,9571 -#define TLAN_ID_RX_EOF 354,9601 -#define TLAN_ID_RX_EOC 355,9631 -#define TLAN_INT_NUMBER_OF_INTS 361,9698 -#define TLAN_INT_NONE 363,9733 -#define TLAN_INT_TX_EOF 364,9764 -#define TLAN_INT_STAT_OVERFLOW 365,9797 -#define TLAN_INT_RX_EOF 366,9836 -#define TLAN_INT_DUMMY 367,9869 -#define TLAN_INT_TX_EOC 368,9901 -#define TLAN_INT_STATUS_CHECK 369,9934 -#define TLAN_INT_RX_EOC 370,9972 -#define MII_GEN_CTL 378,10073 -#define MII_GC_RESET 379,10100 -#define MII_GC_LOOPBK 380,10130 -#define MII_GC_SPEEDSEL 381,10161 -#define MII_GC_AUTOENB 382,10194 -#define MII_GC_PDOWN 383,10226 -#define MII_GC_ISOLATE 384,10256 -#define MII_GC_AUTORSRT 385,10288 -#define MII_GC_DUPLEX 386,10321 -#define MII_GC_COLTEST 387,10352 -#define MII_GC_RESERVED 388,10384 -#define MII_GEN_STS 389,10417 -#define MII_GS_100BT4 390,10444 -#define MII_GS_100BTXFD 391,10475 -#define MII_GS_100BTXHD 392,10508 -#define MII_GS_10BTFD 393,10541 -#define MII_GS_10BTHD 394,10572 -#define MII_GS_RESERVED 395,10603 -#define MII_GS_AUTOCMPLT 396,10636 -#define MII_GS_RFLT 397,10669 -#define MII_GS_AUTONEG 398,10698 -#define MII_GS_LINK 399,10730 -#define MII_GS_JABBER 400,10759 -#define MII_GS_EXTCAP 401,10790 -#define MII_GEN_ID_HI 402,10821 -#define MII_GEN_ID_LO 403,10850 -#define MII_GIL_OUI 404,10879 -#define MII_GIL_MODEL 405,10908 -#define MII_GIL_REVISION 406,10939 -#define MII_AN_ADV 407,10972 -#define MII_AN_LPA 408,10998 -#define MII_AN_EXP 409,11024 -#define TLAN_TLPHY_ID 413,11096 -#define TLAN_TLPHY_CTL 414,11125 -#define TLAN_TC_IGLINK 415,11155 -#define TLAN_TC_SWAPOL 416,11187 -#define TLAN_TC_AUISEL 417,11219 -#define TLAN_TC_SQEEN 418,11251 -#define TLAN_TC_MTEST 419,11282 -#define TLAN_TC_RESERVED 420,11313 -#define TLAN_TC_NFEW 421,11346 -#define TLAN_TC_INTEN 422,11376 -#define TLAN_TC_TINT 423,11407 -#define TLAN_TLPHY_STS 424,11437 -#define TLAN_TS_MINT 425,11467 -#define TLAN_TS_PHOK 426,11497 -#define TLAN_TS_POLOK 427,11527 -#define TLAN_TS_TPENERGY 428,11558 -#define TLAN_TS_RESERVED 429,11591 -#define TLAN_TLPHY_PAR 430,11624 -#define TLAN_PHY_CIM_STAT 431,11654 -#define TLAN_PHY_SPEED_100 432,11688 -#define TLAN_PHY_DUPLEX_FULL 433,11723 -#define TLAN_PHY_AN_EN_STAT 434,11760 -#define NAT_SEM_ID1 437,11839 -#define NAT_SEM_ID2 438,11868 -#define LEVEL1_ID1 439,11897 -#define LEVEL1_ID2 440,11925 -#define CIRC_INC(CIRC_INC442,11954 -inline u8 TLan_DioRead8(446,12048 -inline u16 TLan_DioRead16(456,12252 -inline u32 TLan_DioRead32(466,12458 -inline void TLan_DioWrite8(476,12638 -inline void TLan_DioWrite16(486,12829 -inline void TLan_DioWrite32(496,13022 -inline void TLan_ClearBit(506,13220 -inline int TLan_GetBit(514,13307 -inline void TLan_SetBit(522,13393 -#define TLan_ClearBit(TLan_ClearBit528,13481 -#define TLan_GetBit(TLan_GetBit529,13549 -#define TLan_SetBit(TLan_SetBit530,13610 -inline u32 TLan_HashFunc(535,13860 -inline u32 xor(551,14290 -#define XOR8(XOR8555,14367 -#define DA(DA556,14478 -inline u32 TLan_HashFunc(558,14552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ni5010.h,2700 -#define NI5010_BUFSIZE 13,359 -#define NI5010_MAGICVAL0 15,422 -#define NI5010_MAGICVAL1 16,488 -#define NI5010_MAGICVAL2 17,518 -#define SA_ADDR0 19,549 -#define SA_ADDR1 20,571 -#define SA_ADDR2 21,593 -#define NI5010_IO_EXTENT 24,680 -#define PRINTK(PRINTK26,715 -#define PRINTK2(PRINTK227,760 -#define PRINTK3(PRINTK328,809 -#define EDLC_XSTAT 31,898 -#define EDLC_XCLR 32,957 -#define EDLC_XMASK 33,1023 -#define EDLC_RSTAT 34,1090 -#define EDLC_RCLR 35,1148 -#define EDLC_RMASK 36,1213 -#define EDLC_XMODE 37,1279 -#define EDLC_RMODE 38,1339 -#define EDLC_RESET 39,1398 -#define EDLC_TDR1 40,1459 -#define EDLC_ADDR 41,1532 -#define EDLC_TDR2 43,1640 -#define IE_GP 44,1713 -#define IE_RCNT 46,1818 -#define IE_MMODE 48,1932 -#define IE_DMA_RST 49,1992 -#define IE_ISTAT 50,2059 -#define IE_RBUF 51,2130 -#define IE_XBUF 52,2192 -#define IE_SAPROM 53,2255 -#define IE_RESET 54,2323 -#define XS_TPOK 57,2461 -#define XS_CS 58,2516 -#define XS_RCVD 59,2556 -#define XS_SHORT 60,2612 -#define XS_UFLW 61,2670 -#define XS_COLL 62,2727 -#define XS_16COLL 63,2774 -#define XS_PERR 64,2827 -#define XS_CLR_UFLW 66,2869 -#define XS_CLR_COLL 67,2916 -#define XS_CLR_16COLL 68,2963 -#define XS_CLR_PERR 69,3017 -#define XM_TPOK 72,3144 -#define XM_RCVD 73,3207 -#define XM_UFLW 74,3266 -#define XM_COLL 75,3326 -#define XM_COLL16 76,3386 -#define XM_PERR 77,3447 -#define XM_ALL 79,3549 -#define RS_PKT_OK 82,3687 -#define RS_RST_PKT 83,3737 -#define RS_RUNT 84,3789 -#define RS_ALIGN 85,3848 -#define RS_CRC_ERR 86,3911 -#define RS_OFLW 87,3961 -#define RS_VALID_BITS 88,4011 -#define RS_CLR_PKT_OK 91,4137 -#define RS_CLR_RST_PKT 92,4198 -#define RS_CLR_RUNT 93,4260 -#define RS_CLR_ALIGN 94,4316 -#define RS_CLR_CRC_ERR 95,4370 -#define RS_CLR_OFLW 96,4420 -#define RM_PKT_OK 99,4551 -#define RM_RST_PKT 100,4615 -#define RM_RUNT 101,4676 -#define RM_ALIGN 102,4736 -#define RM_CRC_ERR 103,4798 -#define RM_OFLW 104,4860 -#define RMD_TEST 107,4990 -#define RMD_ADD_SIZ 108,5051 -#define RMD_EN_RUNT 109,5116 -#define RMD_EN_RST 110,5179 -#define RMD_PROMISC 112,5243 -#define RMD_MULTICAST 113,5306 -#define RMD_BROADCAST 114,5372 -#define RMD_NO_PACKETS 115,5440 -#define XMD_COLL_CNT 118,5579 -#define XMD_IG_PAR 119,5644 -#define XMD_T_MODE 120,5707 -#define XMD_LBC 121,5771 -#define XMD_DIS_C 122,5830 -#define RS_RESET 125,5932 -#define MM_EN_DMA 128,6027 -#define MM_EN_RCV 129,6088 -#define MM_EN_XMT 130,6150 -#define MM_BUS_PAGE 131,6211 -#define MM_NET_PAGE 132,6271 -#define MM_MUX 133,6331 -#define IS_TDIAG 137,6467 -#define IS_EN_RCV 138,6520 -#define IS_EN_XMT 139,6578 -#define IS_EN_DMA 140,6636 -#define IS_DMA_INT 141,6697 -#define IS_R_INT 142,6754 -#define IS_X_INT 143,6812 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/myri_code.h,9251 -static unsigned int lanai4_code_off 4,119 -static unsigned char lanai4_code[5,189 -static unsigned char lanai4_code[76256] __initdata 5,189 -static unsigned int lanai4_data_off 4777,424455 -static unsigned char lanai4_data[4778,424524 -static unsigned char lanai4_data[20472] __initdata 4778,424524 -#define MYRI_GenerateMapVersion 6064,538547 -#define MYRI_MoreToGenerate 6065,538591 -#define MYRI_GenerateMessage 6066,538635 -#define MYRI_RelayMapVersion 6067,538679 -#define MYRI_RelayStart 6068,538723 -#define MYRI_RelayDirection 6069,538767 -#define MYRI_RelayIndex 6070,538811 -#define MYRI_RelayStop 6071,538855 -#define MYRI_RelayMessage 6072,538899 -#define MYRI_BroadcastRelayMessagesSent 6073,538943 -#define MYRI_SendMultiplexGrabbed 6074,538990 -#define MYRI_HostReceiveItem 6075,539034 -#define MYRI_HostReceiveNumScatters 6076,539078 -#define MYRI_HostReceiveScatterIndex 6077,539122 -#define MYRI_HostReceiveScatterPointer 6078,539166 -#define MYRI_HostReceiveScatterLength 6079,539212 -#define MYRI_HostReceiveChecksum 6080,539257 -#define MYRI_RouteNumFragments 6081,539301 -#define MYRI_RouteFragment 6082,539345 -#define MYRI_RouteStamp 6083,539389 -#define MYRI_RoutesSoFar 6084,539433 -#define MYRI_MapVersionChanged 6085,539477 -#define MYRI_map_c 6086,539521 -#define MYRI_pack_list 6087,539565 -#define MYRI_pack_table 6088,539609 -#define MYRI_msg2event 6089,539653 -#define MYRI_VersionString 6090,539697 -#define MYRI_SizeofChannel 6091,539741 -#define MYRI_EndOfQueueSpace 6092,539785 -#define MYRI_FreeCode 6093,539829 -#define MYRI_FreeData 6094,539873 -#define MYRI_Asserting 6095,539917 -#define MYRI_Version 6096,539961 -#define MYRI_Processor 6097,540005 -#define MYRI_NetReceive 6098,540049 -#define MYRI_NetReceiveBuffer 6099,540093 -#define MYRI_MapLength 6100,540137 -#define MYRI_MapSendAlignment 6101,540181 -#define MYRI_HostReplyLength 6102,540225 -#define MYRI_HostReplySendAlignment 6103,540269 -#define MYRI_MapSendMessages 6104,540313 -#define MYRI_bitmask 6105,540357 -#define MYRI_HostSendFull 6106,540401 -#define MYRI_HostReplies 6107,540445 -#define MYRI_Interrupts 6108,540489 -#define MYRI_NetReceiveDrops 6109,540533 -#define MYRI_SendMultiplexDoneEvent 6110,540577 -#define MYRI_bEvents 6111,540621 -#define MYRI_bHostReceiveShortcuts 6112,540665 -#define MYRI_the_map 6113,540709 -#define MYRI_Channels 6114,540753 -#define MYRI_bEventIndex 6115,540797 -#define MYRI_NoBuffersChannel0 6116,540841 -#define MYRI_bShakes 6117,540885 -#define MYRI_MAPPER 6118,540929 -#define MYRI_CORE_timeout_counter 6119,540973 -#define MYRI_the_map_is_valid 6120,541017 -#define MYRI_bBadScatters 6121,541061 -#define MYRI_HostReceiveChannel 6122,541105 -#define MYRI_send_space 6123,541149 -#define MYRI_MapReceiveMessages 6124,541193 -#define MYRI_wakeup_mask 6125,541237 -#define MYRI_NetSendBuffer 6126,541281 -#define MYRI_HostReceiveMulticast 6127,541325 -#define MYRI_HostSendChannel 6128,541369 -#define MYRI_NetReceiveDmaDone 6129,541413 -#define MYRI_HostSendChecksum 6130,541457 -#define MYRI_HostReceiveScatter 6131,541501 -#define MYRI_compares 6132,541545 -#define MYRI_NetSendQueue 6133,541589 -#define MYRI_HostTable 6134,541633 -#define MYRI_map_h 6135,541677 -#define MYRI_HostSendBytes 6136,541721 -#define MYRI_L3_end_loaded_memory 6137,541765 -#define MYRI_NetSendBytes 6138,541809 -#define MYRI_map_space 6139,541853 -#define MYRI_MAP_ACK 6140,541897 -#define MYRI_NetReceiveMisroutes 6141,541941 -#define MYRI_HostReceiveBytes 6142,541985 -#define MYRI_BroadcastRelayIdle 6143,542029 -#define MYRI_HostReceiveIdle 6144,542073 -#define MYRI_timing 6145,542117 -#define MYRI_HostReceive 6146,542161 -#define MYRI_routeHandleMessage 6147,542205 -#define MYRI_Freses 6148,542249 -#define MYRI_NextToPut 6149,542293 -#define MYRI_HostSendIdle 6150,542337 -#define MYRIedata 6151,542381 -#define MYRI_SendingHostReply 6152,542425 -#define MYRI_timing_period 6153,542469 -#define MYRI_debug 6154,542513 -#define MYRI_NetSendBusy 6155,542557 -#define MYRI_routeInitialize 6156,542601 -#define MYRI_HostReceiveQueue 6157,542645 -#define MYRI_bWakes 6158,542689 -#define MYRI_NetReceiveBadLengths 6159,542733 -#define MYRI_NetReceiveQueue 6160,542777 -#define MYRI_MapBuffer 6161,542821 -#define MYRI_MapChecksum 6162,542865 -#define MYRI_the_routes_are_valid 6163,542909 -#define MYRI_MAPPER_probe_stamp 6164,542953 -#define MYRI_memory 6165,542997 -#define MYRI_Events 6166,543041 -#define MYRI_switches 6167,543085 -#define MYRI_Hosts 6168,543129 -#define MYRI_HostReceiveGoingToBroadcast 6169,543173 -#define MYRI_NetSendIdle 6170,543221 -#define MYRI_host_reply_space 6171,543265 -#define MYRI_HostReceiveWaitingToBroadcast 6172,543309 -#define MYRI_bSetRoutes 6173,543359 -#define MYRI_bSends 6174,543403 -#define MYRI_BroadcastGenerateIdle 6175,543447 -#define MYRI_WatchdogOff 6176,543491 -#define MYRI_TIMER 6177,543535 -#define MYRI_SendMultiplex 6178,543579 -#define MYRI_HostReplyBuffer 6179,543623 -#define MYRI_the_new_switch 6180,543667 -#define MYRI_current_switch 6181,543711 -#define MYRI_memcpy 6182,543755 -#define MYRI_server 6183,543799 -#define MYRI_WatchdogOn 6184,543843 -#define MYRI_NetSendContinuing 6185,543887 -#define MYRI_NetReceiveBadChannels 6186,543931 -#define MYRI_SendMultiplexFreeMachine 6187,543975 -#define MYRI_NetReceiveFlush 6188,544020 -#define MYRI_NetSendBroadcasting 6189,544064 -#define MYRI_looking_for_a_loopback 6190,544108 -#define MYRI_HostSendGatherPointer 6191,544152 -#define MYRI_HostSendItem 6192,544196 -#define MYRI_MAP_REQ 6193,544240 -#define MYRI_memory_free_list 6194,544284 -#define MYRIend 6195,544328 -#define MYRI_MapVersion 6196,544372 -#define MYRI_client 6197,544416 -#define MYRI_HostReceiveBroadcasting 6198,544460 -#define MYRIetext 6199,544504 -#define MYRI_NetSendMapBusy 6200,544548 -#define MYRI_bRouteMessages 6201,544592 -#define MYRI_DmaDirection 6202,544636 -#define MYRI_SendMultiplexFreeEvent 6203,544680 -#define MYRI_idle_mapper 6204,544724 -#define MYRI_NetSend 6205,544768 -#define MYRI_current_port 6206,544812 -#define MYRI_HostConnectedSwitches 6207,544856 -#define MYRI_try_loopback 6208,544900 -#define MYRI_the_host_reply_message 6209,544944 -#define MYRI_MAPPER_queue 6210,544988 -#define MYRI_bHostSendShortcuts 6211,545032 -#define MYRI_BroadcastGenerate 6212,545076 -#define MYRI_DmaFreeEvent 6213,545120 -#define MYRI_host_timeout_counter 6214,545164 -#define MYRI_NetReceiveDma 6215,545208 -#define MYRI_MAPPER_try_port 6216,545252 -#define MYRI_bcopy 6217,545296 -#define MYRI_queue_h 6218,545340 -#define MYRI_bUpdates 6219,545384 -#define MYRI_SendMultiplexMachine 6220,545428 -#define MYRI_MAPPER_repeat 6221,545472 -#define MYRI_the_return_port 6222,545516 -#define MYRI_NetReceiveFull 6223,545560 -#define MYRI_MyHostTableIndex 6224,545604 -#define MYRI_CORE 6225,545648 -#define MYRI_I_have_a_map 6226,545692 -#define MYRI_bWaiting 6227,545736 -#define MYRI_NetReceiveOverflows 6228,545780 -#define MYRI_NumMachines 6229,545824 -#define MYRI_MapMessagesSentCounter 6230,545868 -#define MYRI_HostReceiveBuffer 6231,545912 -#define MYRI_HostSendDma 6232,545956 -#define MYRI_NextToGet 6233,546000 -#define MYRI_HostReceiveDmaBusy 6234,546044 -#define MYRI_bUpdateMessages 6235,546088 -#define MYRI_try_the_switch 6236,546132 -#define MYRI_BroadcastRelay 6237,546176 -#define MYRI_the_msg 6238,546220 -#define MYRI_bEventsRTC 6239,546264 -#define MYRI_HostReceiveMessages 6240,546308 -#define MYRI_CURRENT_MSG 6241,546352 -#define MYRI_MAPPER_phase 6242,546396 -#define MYRI_HostReceiveDma 6243,546440 -#define MYRI_Watchdog 6244,546484 -#define MYRI_HostSendEmpty 6245,546528 -#define MYRI_abort 6246,546572 -#define MYRI_SendMultiplexIdle 6247,546616 -#define MYRI_looking_for_a_switch 6248,546660 -#define MYRI_NetSendMessages 6249,546704 -#define MYRI_updating 6250,546748 -#define MYRI_BroadcastGenerateSending 6251,546792 -#define MYRI_HostSendBuffer 6252,546837 -#define MYRI_HostSendMessages 6253,546881 -#define MYRI_BroadcastRelaySending 6254,546925 -#define MYRI_HostSendDmaBusy 6255,546969 -#define MYRI_BroadcastsPending 6256,547013 -#define MYRI_NetSendMapWaiting 6257,547057 -#define MYRI_NetReceiveBadTypes 6258,547101 -#define MYRI_looking_for_hosts 6259,547145 -#define MYRI_bBadHeader 6260,547189 -#define MYRI_HostSendGatherIndex 6261,547233 -#define MYRI_routeLookup 6262,547277 -#define MYRI_NetReceiveMessages 6263,547321 -#define MYRI_DmaInUse 6264,547365 -#define MYRI_explores 6265,547409 -#define MYRI_HostSend 6266,547453 -#define MYRI_DmaResetSpin 6267,547497 -#define MYRIstart 6268,547541 -#define MYRI_RouteTable 6269,547585 -#define MYRI_Machines 6270,547629 -#define MYRI_try_the_host 6271,547673 -#define MYRI_isr_record 6272,547717 -#define MYRI_HostReceiveDrops 6273,547761 -#define MYRI_HostReceiveLength 6274,547805 -#define MYRI_timers 6275,547849 -#define MYRI_NetSendWaiting 6276,547893 -#define MYRI_NetSendDrops 6277,547937 -#define MYRI_comparing_a_switch 6278,547981 -#define MYRI_OldMapChecksum 6279,548025 -#define MYRI_HostSendQueue 6280,548069 -#define MYRI_MAPPER_host 6281,548113 -#define MYRI_compare_switch 6282,548157 -#define MYRI_main 6283,548201 -#define MYRI_NetReceiveBadCrcs 6284,548245 -#define MYRI_NetReceiveBytes 6285,548289 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc9194.c,1677 -static const char version[57,2414 -#define DRV_NAME 81,2964 -#define USE_32_BIT 96,3376 -#define NO_AUTOPROBE100,3452 -#define insl(insl103,3498 -#define outsl(outsl104,3541 -struct devlist devlist113,3784 -static struct devlist smc_devlist[119,3878 -static struct devlist smc_devlist[] __initdata 119,3878 -static struct devlist smc_devlist[124,4002 -static struct devlist smc_devlist[] __initdata 124,4002 -#define MEMORY_WAIT_TIME 149,4693 -#define SMC_DEBUG 160,4945 -#define PRINTK3(PRINTK3163,4987 -#define PRINTK3(PRINTK3165,5021 -#define PRINTK2(PRINTK2169,5066 -#define PRINTK2(PRINTK2171,5100 -#define PRINTK(PRINTK175,5144 -#define PRINTK(PRINTK177,5177 -#define CARDNAME 188,5523 -struct smc_local smc_local192,5598 -#define tx_done(tx_done306,8824 -static void smc_reset(347,10129 -static void smc_enable(387,11292 -static void smc_shutdown(413,12038 -static void smc_setmulticast(449,13160 -static int smc_wait_to_send_packet(503,14870 -static void smc_hardware_send_packet(614,18163 -static int io;728,21369 -static int irq;729,21384 -static int ifport;730,21400 -struct net_device * __init smc_init(732,21420 -int __init smc_findirq(786,22667 -static int __init smc_probe(882,25275 -static void print_packet(1085,31083 -static int smc_open(1127,31710 -static void smc_timeout(1178,32925 -static void smc_rcv(1206,33793 -static void smc_tx(1332,37289 -static irqreturn_t smc_interrupt(1398,38993 -static int smc_close(1521,42266 -static struct net_device_stats* smc_query_statistics(1535,42656 -static void smc_set_multicast_list(1549,43102 -static struct net_device *devSMC9194;1600,44642 -int init_module(1610,44954 -void cleanup_module(1623,45240 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tg3.h,61921 -#define _T3_H10,312 -#define TG3_64BIT_REG_HIGH 12,327 -#define TG3_64BIT_REG_LOW 13,362 -#define TG3_BDINFO_HOST_ADDR 16,426 -#define TG3_BDINFO_MAXLEN_FLAGS 17,475 -#define BDINFO_FLAGS_USE_EXT_RECV 18,527 -#define BDINFO_FLAGS_DISABLED 19,599 -#define BDINFO_FLAGS_MAXLEN_MASK 20,643 -#define BDINFO_FLAGS_MAXLEN_SHIFT 21,689 -#define TG3_BDINFO_NIC_ADDR 22,728 -#define TG3_BDINFO_SIZE 23,776 -#define RX_COPY_THRESHOLD 25,810 -#define RX_STD_MAX_SIZE 27,844 -#define RX_STD_MAX_SIZE_5705 28,875 -#define RX_JUMBO_MAX_SIZE 29,909 -#define TG3PCI_VENDOR 32,1014 -#define TG3PCI_VENDOR_BROADCOM 33,1049 -#define TG3PCI_DEVICE 34,1090 -#define TG3PCI_DEVICE_TIGON3_1 35,1125 -#define TG3PCI_DEVICE_TIGON3_2 36,1180 -#define TG3PCI_DEVICE_TIGON3_3 37,1235 -#define TG3PCI_DEVICE_TIGON3_4 38,1290 -#define TG3PCI_COMMAND 39,1345 -#define TG3PCI_STATUS 40,1381 -#define TG3PCI_CCREVID 41,1416 -#define TG3PCI_CACHELINESZ 42,1452 -#define TG3PCI_LATTIMER 43,1491 -#define TG3PCI_HEADERTYPE 44,1528 -#define TG3PCI_BIST 45,1566 -#define TG3PCI_BASE0_LOW 46,1599 -#define TG3PCI_BASE0_HIGH 47,1636 -#define TG3PCI_SUBSYSVENID 49,1701 -#define TG3PCI_SUBSYSID 50,1740 -#define TG3PCI_ROMADDR 51,1777 -#define TG3PCI_CAPLIST 52,1813 -#define TG3PCI_IRQ_LINE 54,1876 -#define TG3PCI_IRQ_PIN 55,1913 -#define TG3PCI_MIN_GNT 56,1949 -#define TG3PCI_MAX_LAT 57,1985 -#define TG3PCI_X_CAPS 58,2021 -#define PCIX_CAPS_RELAXED_ORDERING 59,2056 -#define PCIX_CAPS_SPLIT_MASK 60,2104 -#define PCIX_CAPS_SPLIT_SHIFT 61,2147 -#define PCIX_CAPS_BURST_MASK 62,2183 -#define PCIX_CAPS_BURST_SHIFT 63,2226 -#define PCIX_CAPS_MAX_BURST_CPIOB 64,2262 -#define TG3PCI_PM_CAP_PTR 65,2300 -#define TG3PCI_X_COMMAND 66,2338 -#define TG3PCI_X_STATUS 67,2375 -#define TG3PCI_PM_CAP_ID 68,2412 -#define TG3PCI_VPD_CAP_PTR 69,2449 -#define TG3PCI_PM_CAPS 70,2488 -#define TG3PCI_PM_CTRL_STAT 71,2524 -#define TG3PCI_BR_SUPP_EXT 72,2564 -#define TG3PCI_PM_DATA 73,2603 -#define TG3PCI_VPD_CAP_ID 74,2639 -#define TG3PCI_MSI_CAP_PTR 75,2677 -#define TG3PCI_VPD_ADDR_FLAG 76,2716 -#define VPD_ADDR_FLAG_WRITE 77,2757 -#define TG3PCI_VPD_DATA 78,2798 -#define TG3PCI_MSI_CAP_ID 79,2835 -#define TG3PCI_NXT_CAP_PTR 80,2873 -#define TG3PCI_MSI_CTRL 81,2912 -#define TG3PCI_MSI_ADDR_LOW 82,2949 -#define TG3PCI_MSI_ADDR_HIGH 83,2989 -#define TG3PCI_MSI_DATA 84,3030 -#define TG3PCI_MISC_HOST_CTRL 86,3094 -#define MISC_HOST_CTRL_CLEAR_INT 87,3136 -#define MISC_HOST_CTRL_MASK_PCI_INT 88,3182 -#define MISC_HOST_CTRL_BYTE_SWAP 89,3231 -#define MISC_HOST_CTRL_WORD_SWAP 90,3277 -#define MISC_HOST_CTRL_PCISTATE_RW 91,3323 -#define MISC_HOST_CTRL_CLKREG_RW 92,3371 -#define MISC_HOST_CTRL_REGWORD_SWAP 93,3417 -#define MISC_HOST_CTRL_INDIR_ACCESS 94,3466 -#define MISC_HOST_CTRL_IRQ_MASK_MODE 95,3515 -#define MISC_HOST_CTRL_TAGGED_STATUS 96,3565 -#define MISC_HOST_CTRL_CHIPREV 97,3615 -#define MISC_HOST_CTRL_CHIPREV_SHIFT 98,3660 -#define GET_CHIP_REV_ID(GET_CHIP_REV_ID99,3702 -#define CHIPREV_ID_5700_A0 102,3830 -#define CHIPREV_ID_5700_A1 103,3867 -#define CHIPREV_ID_5700_B0 104,3904 -#define CHIPREV_ID_5700_B1 105,3941 -#define CHIPREV_ID_5700_B3 106,3978 -#define CHIPREV_ID_5700_ALTIMA 107,4015 -#define CHIPREV_ID_5700_C0 108,4056 -#define CHIPREV_ID_5701_A0 109,4093 -#define CHIPREV_ID_5701_B0 110,4130 -#define CHIPREV_ID_5701_B2 111,4167 -#define CHIPREV_ID_5701_B5 112,4204 -#define CHIPREV_ID_5703_A0 113,4241 -#define CHIPREV_ID_5703_A1 114,4278 -#define CHIPREV_ID_5703_A2 115,4315 -#define CHIPREV_ID_5703_A3 116,4352 -#define CHIPREV_ID_5704_A0 117,4389 -#define CHIPREV_ID_5704_A1 118,4426 -#define CHIPREV_ID_5704_A2 119,4463 -#define CHIPREV_ID_5704_A3 120,4500 -#define CHIPREV_ID_5705_A0 121,4537 -#define CHIPREV_ID_5705_A1 122,4574 -#define CHIPREV_ID_5705_A2 123,4611 -#define CHIPREV_ID_5705_A3 124,4648 -#define CHIPREV_ID_5750_A0 125,4685 -#define CHIPREV_ID_5750_A1 126,4722 -#define CHIPREV_ID_5750_A3 127,4759 -#define GET_ASIC_REV(GET_ASIC_REV128,4796 -#define ASIC_REV_5700 129,4853 -#define ASIC_REV_5701 130,4885 -#define ASIC_REV_5703 131,4917 -#define ASIC_REV_5704 132,4949 -#define ASIC_REV_5705 133,4981 -#define ASIC_REV_5750 134,5013 -#define GET_CHIP_REV(GET_CHIP_REV135,5045 -#define CHIPREV_5700_AX 136,5101 -#define CHIPREV_5700_BX 137,5134 -#define CHIPREV_5700_CX 138,5167 -#define CHIPREV_5701_AX 139,5200 -#define CHIPREV_5703_AX 140,5233 -#define CHIPREV_5704_AX 141,5266 -#define CHIPREV_5704_BX 142,5299 -#define GET_METAL_REV(GET_METAL_REV143,5332 -#define METAL_REV_A0 144,5391 -#define METAL_REV_A1 145,5422 -#define METAL_REV_B0 146,5453 -#define METAL_REV_B1 147,5484 -#define METAL_REV_B2 148,5515 -#define TG3PCI_DMA_RW_CTRL 149,5546 -#define DMA_RWCTRL_MIN_DMA 150,5585 -#define DMA_RWCTRL_MIN_DMA_SHIFT 151,5626 -#define DMA_RWCTRL_READ_BNDRY_MASK 152,5663 -#define DMA_RWCTRL_READ_BNDRY_DISAB 153,5711 -#define DMA_RWCTRL_READ_BNDRY_16 154,5760 -#define DMA_RWCTRL_READ_BNDRY_128_PCIX 155,5806 -#define DMA_RWCTRL_READ_BNDRY_32 156,5858 -#define DMA_RWCTRL_READ_BNDRY_256_PCIX 157,5904 -#define DMA_RWCTRL_READ_BNDRY_64 158,5956 -#define DMA_RWCTRL_READ_BNDRY_384_PCIX 159,6002 -#define DMA_RWCTRL_READ_BNDRY_128 160,6054 -#define DMA_RWCTRL_READ_BNDRY_256 161,6101 -#define DMA_RWCTRL_READ_BNDRY_512 162,6148 -#define DMA_RWCTRL_READ_BNDRY_1024 163,6195 -#define DMA_RWCTRL_WRITE_BNDRY_MASK 164,6243 -#define DMA_RWCTRL_WRITE_BNDRY_DISAB 165,6292 -#define DMA_RWCTRL_WRITE_BNDRY_16 166,6342 -#define DMA_RWCTRL_WRITE_BNDRY_128_PCIX 167,6389 -#define DMA_RWCTRL_WRITE_BNDRY_32 168,6441 -#define DMA_RWCTRL_WRITE_BNDRY_256_PCIX 169,6488 -#define DMA_RWCTRL_WRITE_BNDRY_64 170,6540 -#define DMA_RWCTRL_WRITE_BNDRY_384_PCIX 171,6587 -#define DMA_RWCTRL_WRITE_BNDRY_128 172,6639 -#define DMA_RWCTRL_WRITE_BNDRY_256 173,6687 -#define DMA_RWCTRL_WRITE_BNDRY_512 174,6735 -#define DMA_RWCTRL_WRITE_BNDRY_1024 175,6783 -#define DMA_RWCTRL_ONE_DMA 176,6832 -#define DMA_RWCTRL_READ_WATER 177,6873 -#define DMA_RWCTRL_READ_WATER_SHIFT 178,6917 -#define DMA_RWCTRL_WRITE_WATER 179,6958 -#define DMA_RWCTRL_WRITE_WATER_SHIFT 180,7003 -#define DMA_RWCTRL_USE_MEM_READ_MULT 181,7045 -#define DMA_RWCTRL_ASSERT_ALL_BE 182,7095 -#define DMA_RWCTRL_PCI_READ_CMD 183,7141 -#define DMA_RWCTRL_PCI_READ_CMD_SHIFT 184,7186 -#define DMA_RWCTRL_PCI_WRITE_CMD 185,7229 -#define DMA_RWCTRL_PCI_WRITE_CMD_SHIFT 186,7275 -#define DMA_RWCTRL_WRITE_BNDRY_64_PCIE 187,7319 -#define DMA_RWCTRL_WRITE_BNDRY_128_PCIE 188,7371 -#define DMA_RWCTRL_WRITE_BNDRY_DISAB_PCIE 189,7423 -#define TG3PCI_PCISTATE 190,7477 -#define PCISTATE_FORCE_RESET 191,7514 -#define PCISTATE_INT_NOT_ACTIVE 192,7557 -#define PCISTATE_CONV_PCI_MODE 193,7602 -#define PCISTATE_BUS_SPEED_HIGH 194,7647 -#define PCISTATE_BUS_32BIT 195,7692 -#define PCISTATE_ROM_ENABLE 196,7733 -#define PCISTATE_ROM_RETRY_ENABLE 197,7775 -#define PCISTATE_FLAT_VIEW 198,7822 -#define PCISTATE_RETRY_SAME_DMA 199,7863 -#define TG3PCI_CLOCK_CTRL 200,7908 -#define CLOCK_CTRL_CORECLK_DISABLE 201,7946 -#define CLOCK_CTRL_RXCLK_DISABLE 202,7994 -#define CLOCK_CTRL_TXCLK_DISABLE 203,8040 -#define CLOCK_CTRL_ALTCLK 204,8086 -#define CLOCK_CTRL_PWRDOWN_PLL133 205,8126 -#define CLOCK_CTRL_44MHZ_CORE 206,8173 -#define CLOCK_CTRL_625_CORE 207,8217 -#define CLOCK_CTRL_FORCE_CLKRUN 208,8259 -#define CLOCK_CTRL_CLKRUN_OENABLE 209,8304 -#define CLOCK_CTRL_DELAY_PCI_GRANT 210,8351 -#define TG3PCI_REG_BASE_ADDR 211,8399 -#define TG3PCI_MEM_WIN_BASE_ADDR 212,8440 -#define TG3PCI_REG_DATA 213,8484 -#define TG3PCI_MEM_WIN_DATA 214,8521 -#define TG3PCI_MODE_CTRL 215,8561 -#define TG3PCI_MISC_CFG 216,8598 -#define TG3PCI_MISC_LOCAL_CTRL 217,8635 -#define TG3PCI_STD_RING_PROD_IDX 219,8705 -#define TG3PCI_RCV_RET_RING_CON_IDX 220,8762 -#define TG3PCI_SND_PROD_IDX 221,8822 -#define TG3PCI_DUAL_MAC_CTRL 223,8902 -#define DUAL_MAC_CTRL_CH_MASK 224,8943 -#define DUAL_MAC_CTRL_ID 225,8987 -#define MAILBOX_INTERRUPT_0 231,9109 -#define MAILBOX_INTERRUPT_1 232,9162 -#define MAILBOX_INTERRUPT_2 233,9215 -#define MAILBOX_INTERRUPT_3 234,9268 -#define MAILBOX_GENERAL_0 235,9321 -#define MAILBOX_GENERAL_1 236,9372 -#define MAILBOX_GENERAL_2 237,9423 -#define MAILBOX_GENERAL_3 238,9474 -#define MAILBOX_GENERAL_4 239,9525 -#define MAILBOX_GENERAL_5 240,9576 -#define MAILBOX_GENERAL_6 241,9627 -#define MAILBOX_GENERAL_7 242,9678 -#define MAILBOX_RELOAD_STAT 243,9729 -#define MAILBOX_RCV_STD_PROD_IDX 244,9782 -#define MAILBOX_RCV_JUMBO_PROD_IDX 245,9839 -#define MAILBOX_RCV_MINI_PROD_IDX 246,9898 -#define MAILBOX_RCVRET_CON_IDX_0 247,9956 -#define MAILBOX_RCVRET_CON_IDX_1 248,10013 -#define MAILBOX_RCVRET_CON_IDX_2 249,10070 -#define MAILBOX_RCVRET_CON_IDX_3 250,10127 -#define MAILBOX_RCVRET_CON_IDX_4 251,10184 -#define MAILBOX_RCVRET_CON_IDX_5 252,10241 -#define MAILBOX_RCVRET_CON_IDX_6 253,10298 -#define MAILBOX_RCVRET_CON_IDX_7 254,10355 -#define MAILBOX_RCVRET_CON_IDX_8 255,10412 -#define MAILBOX_RCVRET_CON_IDX_9 256,10469 -#define MAILBOX_RCVRET_CON_IDX_10 257,10526 -#define MAILBOX_RCVRET_CON_IDX_11 258,10584 -#define MAILBOX_RCVRET_CON_IDX_12 259,10642 -#define MAILBOX_RCVRET_CON_IDX_13 260,10700 -#define MAILBOX_RCVRET_CON_IDX_14 261,10758 -#define MAILBOX_RCVRET_CON_IDX_15 262,10816 -#define MAILBOX_SNDHOST_PROD_IDX_0 263,10874 -#define MAILBOX_SNDHOST_PROD_IDX_1 264,10933 -#define MAILBOX_SNDHOST_PROD_IDX_2 265,10992 -#define MAILBOX_SNDHOST_PROD_IDX_3 266,11051 -#define MAILBOX_SNDHOST_PROD_IDX_4 267,11110 -#define MAILBOX_SNDHOST_PROD_IDX_5 268,11169 -#define MAILBOX_SNDHOST_PROD_IDX_6 269,11228 -#define MAILBOX_SNDHOST_PROD_IDX_7 270,11287 -#define MAILBOX_SNDHOST_PROD_IDX_8 271,11346 -#define MAILBOX_SNDHOST_PROD_IDX_9 272,11405 -#define MAILBOX_SNDHOST_PROD_IDX_10 273,11464 -#define MAILBOX_SNDHOST_PROD_IDX_11 274,11524 -#define MAILBOX_SNDHOST_PROD_IDX_12 275,11584 -#define MAILBOX_SNDHOST_PROD_IDX_13 276,11644 -#define MAILBOX_SNDHOST_PROD_IDX_14 277,11704 -#define MAILBOX_SNDHOST_PROD_IDX_15 278,11764 -#define MAILBOX_SNDNIC_PROD_IDX_0 279,11824 -#define MAILBOX_SNDNIC_PROD_IDX_1 280,11882 -#define MAILBOX_SNDNIC_PROD_IDX_2 281,11940 -#define MAILBOX_SNDNIC_PROD_IDX_3 282,11998 -#define MAILBOX_SNDNIC_PROD_IDX_4 283,12056 -#define MAILBOX_SNDNIC_PROD_IDX_5 284,12114 -#define MAILBOX_SNDNIC_PROD_IDX_6 285,12172 -#define MAILBOX_SNDNIC_PROD_IDX_7 286,12230 -#define MAILBOX_SNDNIC_PROD_IDX_8 287,12288 -#define MAILBOX_SNDNIC_PROD_IDX_9 288,12346 -#define MAILBOX_SNDNIC_PROD_IDX_10 289,12404 -#define MAILBOX_SNDNIC_PROD_IDX_11 290,12463 -#define MAILBOX_SNDNIC_PROD_IDX_12 291,12522 -#define MAILBOX_SNDNIC_PROD_IDX_13 292,12581 -#define MAILBOX_SNDNIC_PROD_IDX_14 293,12640 -#define MAILBOX_SNDNIC_PROD_IDX_15 294,12699 -#define MAC_MODE 297,12787 -#define MAC_MODE_RESET 298,12817 -#define MAC_MODE_HALF_DUPLEX 299,12855 -#define MAC_MODE_PORT_MODE_MASK 300,12898 -#define MAC_MODE_PORT_MODE_TBI 301,12943 -#define MAC_MODE_PORT_MODE_GMII 302,12988 -#define MAC_MODE_PORT_MODE_MII 303,13033 -#define MAC_MODE_PORT_MODE_NONE 304,13078 -#define MAC_MODE_PORT_INT_LPBACK 305,13123 -#define MAC_MODE_TAGGED_MAC_CTRL 306,13169 -#define MAC_MODE_TX_BURSTING 307,13215 -#define MAC_MODE_MAX_DEFER 308,13258 -#define MAC_MODE_LINK_POLARITY 309,13299 -#define MAC_MODE_RXSTAT_ENABLE 310,13344 -#define MAC_MODE_RXSTAT_CLEAR 311,13389 -#define MAC_MODE_RXSTAT_FLUSH 312,13433 -#define MAC_MODE_TXSTAT_ENABLE 313,13477 -#define MAC_MODE_TXSTAT_CLEAR 314,13522 -#define MAC_MODE_TXSTAT_FLUSH 315,13566 -#define MAC_MODE_SEND_CONFIGS 316,13610 -#define MAC_MODE_MAGIC_PKT_ENABLE 317,13654 -#define MAC_MODE_ACPI_ENABLE 318,13701 -#define MAC_MODE_MIP_ENABLE 319,13744 -#define MAC_MODE_TDE_ENABLE 320,13786 -#define MAC_MODE_RDE_ENABLE 321,13828 -#define MAC_MODE_FHDE_ENABLE 322,13870 -#define MAC_STATUS 323,13913 -#define MAC_STATUS_PCS_SYNCED 324,13945 -#define MAC_STATUS_SIGNAL_DET 325,13989 -#define MAC_STATUS_RCVD_CFG 326,14033 -#define MAC_STATUS_CFG_CHANGED 327,14075 -#define MAC_STATUS_SYNC_CHANGED 328,14120 -#define MAC_STATUS_PORT_DEC_ERR 329,14165 -#define MAC_STATUS_LNKSTATE_CHANGED 330,14210 -#define MAC_STATUS_MI_COMPLETION 331,14259 -#define MAC_STATUS_MI_INTERRUPT 332,14305 -#define MAC_STATUS_AP_ERROR 333,14350 -#define MAC_STATUS_ODI_ERROR 334,14392 -#define MAC_STATUS_RXSTAT_OVERRUN 335,14435 -#define MAC_STATUS_TXSTAT_OVERRUN 336,14482 -#define MAC_EVENT 337,14529 -#define MAC_EVENT_PORT_DECODE_ERR 338,14560 -#define MAC_EVENT_LNKSTATE_CHANGED 339,14607 -#define MAC_EVENT_MI_COMPLETION 340,14655 -#define MAC_EVENT_MI_INTERRUPT 341,14700 -#define MAC_EVENT_AP_ERROR 342,14745 -#define MAC_EVENT_ODI_ERROR 343,14786 -#define MAC_EVENT_RXSTAT_OVERRUN 344,14828 -#define MAC_EVENT_TXSTAT_OVERRUN 345,14874 -#define MAC_LED_CTRL 346,14920 -#define LED_CTRL_LNKLED_OVERRIDE 347,14954 -#define LED_CTRL_1000MBPS_ON 348,15000 -#define LED_CTRL_100MBPS_ON 349,15043 -#define LED_CTRL_10MBPS_ON 350,15085 -#define LED_CTRL_TRAFFIC_OVERRIDE 351,15126 -#define LED_CTRL_TRAFFIC_BLINK 352,15173 -#define LED_CTRL_TRAFFIC_LED 353,15218 -#define LED_CTRL_1000MBPS_STATUS 354,15261 -#define LED_CTRL_100MBPS_STATUS 355,15307 -#define LED_CTRL_10MBPS_STATUS 356,15352 -#define LED_CTRL_TRAFFIC_STATUS 357,15397 -#define LED_CTRL_MODE_MAC 358,15442 -#define LED_CTRL_MODE_PHY_1 359,15482 -#define LED_CTRL_MODE_PHY_2 360,15524 -#define LED_CTRL_MODE_SHASTA_MAC 361,15566 -#define LED_CTRL_MODE_SHARED 362,15612 -#define LED_CTRL_MODE_COMBO 363,15655 -#define LED_CTRL_BLINK_RATE_MASK 364,15697 -#define LED_CTRL_BLINK_RATE_SHIFT 365,15743 -#define LED_CTRL_BLINK_PER_OVERRIDE 366,15782 -#define LED_CTRL_BLINK_RATE_OVERRIDE 367,15831 -#define MAC_ADDR_0_HIGH 368,15881 -#define MAC_ADDR_0_LOW 369,15938 -#define MAC_ADDR_1_HIGH 370,15994 -#define MAC_ADDR_1_LOW 371,16051 -#define MAC_ADDR_2_HIGH 372,16107 -#define MAC_ADDR_2_LOW 373,16164 -#define MAC_ADDR_3_HIGH 374,16220 -#define MAC_ADDR_3_LOW 375,16277 -#define MAC_ACPI_MBUF_PTR 376,16333 -#define MAC_ACPI_LEN_OFFSET 377,16371 -#define ACPI_LENOFF_LEN_MASK 378,16411 -#define ACPI_LENOFF_LEN_SHIFT 379,16454 -#define ACPI_LENOFF_OFF_MASK 380,16489 -#define ACPI_LENOFF_OFF_SHIFT 381,16532 -#define MAC_TX_BACKOFF_SEED 382,16568 -#define TX_BACKOFF_SEED_MASK 383,16608 -#define MAC_RX_MTU_SIZE 384,16651 -#define RX_MTU_SIZE_MASK 385,16688 -#define MAC_PCS_TEST 386,16727 -#define PCS_TEST_PATTERN_MASK 387,16761 -#define PCS_TEST_PATTERN_SHIFT 388,16805 -#define PCS_TEST_ENABLE 389,16841 -#define MAC_TX_AUTO_NEG 390,16879 -#define TX_AUTO_NEG_MASK 391,16916 -#define TX_AUTO_NEG_SHIFT 392,16955 -#define MAC_RX_AUTO_NEG 393,16986 -#define RX_AUTO_NEG_MASK 394,17023 -#define RX_AUTO_NEG_SHIFT 395,17062 -#define MAC_MI_COM 396,17093 -#define MI_COM_CMD_MASK 397,17125 -#define MI_COM_CMD_WRITE 398,17163 -#define MI_COM_CMD_READ 399,17202 -#define MI_COM_READ_FAILED 400,17240 -#define MI_COM_START 401,17281 -#define MI_COM_BUSY 402,17317 -#define MI_COM_PHY_ADDR_MASK 403,17352 -#define MI_COM_PHY_ADDR_SHIFT 404,17395 -#define MI_COM_REG_ADDR_MASK 405,17431 -#define MI_COM_REG_ADDR_SHIFT 406,17474 -#define MI_COM_DATA_MASK 407,17510 -#define MAC_MI_STAT 408,17549 -#define MAC_MI_STAT_LNKSTAT_ATTN_ENAB 409,17582 -#define MAC_MI_MODE 410,17633 -#define MAC_MI_MODE_CLK_10MHZ 411,17666 -#define MAC_MI_MODE_SHORT_PREAMBLE 412,17710 -#define MAC_MI_MODE_AUTO_POLL 413,17758 -#define MAC_MI_MODE_CORE_CLK_62MHZ 414,17802 -#define MAC_MI_MODE_BASE 415,17850 -#define MAC_AUTO_POLL_STATUS 416,17916 -#define MAC_AUTO_POLL_ERROR 417,17957 -#define MAC_TX_MODE 418,17999 -#define TX_MODE_RESET 419,18032 -#define TX_MODE_ENABLE 420,18069 -#define TX_MODE_FLOW_CTRL_ENABLE 421,18107 -#define TX_MODE_BIG_BCKOFF_ENABLE 422,18153 -#define TX_MODE_LONG_PAUSE_ENABLE 423,18200 -#define MAC_TX_STATUS 424,18247 -#define TX_STATUS_XOFFED 425,18282 -#define TX_STATUS_SENT_XOFF 426,18321 -#define TX_STATUS_SENT_XON 427,18363 -#define TX_STATUS_LINK_UP 428,18404 -#define TX_STATUS_ODI_UNDERRUN 429,18444 -#define TX_STATUS_ODI_OVERRUN 430,18489 -#define MAC_TX_LENGTHS 431,18533 -#define TX_LENGTHS_SLOT_TIME_MASK 432,18569 -#define TX_LENGTHS_SLOT_TIME_SHIFT 433,18616 -#define TX_LENGTHS_IPG_MASK 434,18655 -#define TX_LENGTHS_IPG_SHIFT 435,18697 -#define TX_LENGTHS_IPG_CRS_MASK 436,18731 -#define TX_LENGTHS_IPG_CRS_SHIFT 437,18776 -#define MAC_RX_MODE 438,18814 -#define RX_MODE_RESET 439,18847 -#define RX_MODE_ENABLE 440,18884 -#define RX_MODE_FLOW_CTRL_ENABLE 441,18922 -#define RX_MODE_KEEP_MAC_CTRL 442,18968 -#define RX_MODE_KEEP_PAUSE 443,19012 -#define RX_MODE_ACCEPT_OVERSIZED 444,19053 -#define RX_MODE_ACCEPT_RUNTS 445,19099 -#define RX_MODE_LEN_CHECK 446,19142 -#define RX_MODE_PROMISC 447,19182 -#define RX_MODE_NO_CRC_CHECK 448,19220 -#define RX_MODE_KEEP_VLAN_TAG 449,19263 -#define MAC_RX_STATUS 450,19307 -#define RX_STATUS_REMOTE_TX_XOFFED 451,19342 -#define RX_STATUS_XOFF_RCVD 452,19390 -#define RX_STATUS_XON_RCVD 453,19432 -#define MAC_HASH_REG_0 454,19473 -#define MAC_HASH_REG_1 455,19509 -#define MAC_HASH_REG_2 456,19545 -#define MAC_HASH_REG_3 457,19581 -#define MAC_RCV_RULE_0 458,19617 -#define MAC_RCV_VALUE_0 459,19653 -#define MAC_RCV_RULE_1 460,19690 -#define MAC_RCV_VALUE_1 461,19726 -#define MAC_RCV_RULE_2 462,19763 -#define MAC_RCV_VALUE_2 463,19799 -#define MAC_RCV_RULE_3 464,19836 -#define MAC_RCV_VALUE_3 465,19872 -#define MAC_RCV_RULE_4 466,19909 -#define MAC_RCV_VALUE_4 467,19945 -#define MAC_RCV_RULE_5 468,19982 -#define MAC_RCV_VALUE_5 469,20018 -#define MAC_RCV_RULE_6 470,20055 -#define MAC_RCV_VALUE_6 471,20091 -#define MAC_RCV_RULE_7 472,20128 -#define MAC_RCV_VALUE_7 473,20164 -#define MAC_RCV_RULE_8 474,20201 -#define MAC_RCV_VALUE_8 475,20237 -#define MAC_RCV_RULE_9 476,20274 -#define MAC_RCV_VALUE_9 477,20310 -#define MAC_RCV_RULE_10 478,20347 -#define MAC_RCV_VALUE_10 479,20384 -#define MAC_RCV_RULE_11 480,20421 -#define MAC_RCV_VALUE_11 481,20458 -#define MAC_RCV_RULE_12 482,20495 -#define MAC_RCV_VALUE_12 483,20532 -#define MAC_RCV_RULE_13 484,20569 -#define MAC_RCV_VALUE_13 485,20606 -#define MAC_RCV_RULE_14 486,20643 -#define MAC_RCV_VALUE_14 487,20680 -#define MAC_RCV_RULE_15 488,20717 -#define MAC_RCV_VALUE_15 489,20754 -#define RCV_RULE_DISABLE_MASK 490,20791 -#define MAC_RCV_RULE_CFG 491,20835 -#define RCV_RULE_CFG_DEFAULT_CLASS 492,20872 -#define MAC_LOW_WMARK_MAX_RX_FRAME 493,20919 -#define MAC_HASHREGU_0 495,20994 -#define MAC_HASHREGU_1 496,21030 -#define MAC_HASHREGU_2 497,21066 -#define MAC_HASHREGU_3 498,21102 -#define MAC_EXTADDR_0_HIGH 499,21138 -#define MAC_EXTADDR_0_LOW 500,21177 -#define MAC_EXTADDR_1_HIGH 501,21215 -#define MAC_EXTADDR_1_LOW 502,21254 -#define MAC_EXTADDR_2_HIGH 503,21292 -#define MAC_EXTADDR_2_LOW 504,21331 -#define MAC_EXTADDR_3_HIGH 505,21369 -#define MAC_EXTADDR_3_LOW 506,21408 -#define MAC_EXTADDR_4_HIGH 507,21446 -#define MAC_EXTADDR_4_LOW 508,21485 -#define MAC_EXTADDR_5_HIGH 509,21523 -#define MAC_EXTADDR_5_LOW 510,21562 -#define MAC_EXTADDR_6_HIGH 511,21600 -#define MAC_EXTADDR_6_LOW 512,21639 -#define MAC_EXTADDR_7_HIGH 513,21677 -#define MAC_EXTADDR_7_LOW 514,21716 -#define MAC_EXTADDR_8_HIGH 515,21754 -#define MAC_EXTADDR_8_LOW 516,21793 -#define MAC_EXTADDR_9_HIGH 517,21831 -#define MAC_EXTADDR_9_LOW 518,21870 -#define MAC_EXTADDR_10_HIGH 519,21908 -#define MAC_EXTADDR_10_LOW 520,21948 -#define MAC_EXTADDR_11_HIGH 521,21987 -#define MAC_EXTADDR_11_LOW 522,22027 -#define MAC_SERDES_CFG 523,22066 -#define MAC_SERDES_CFG_EDGE_SELECT 524,22102 -#define MAC_SERDES_STAT 525,22150 -#define SG_DIG_CTRL 527,22216 -#define SG_DIG_USING_HW_AUTONEG 528,22249 -#define SG_DIG_SOFT_RESET 529,22294 -#define SG_DIG_DISABLE_LINKRDY 530,22334 -#define SG_DIG_CRC16_CLEAR_N 531,22379 -#define SG_DIG_EN10B 532,22422 -#define SG_DIG_CLEAR_STATUS 533,22458 -#define SG_DIG_LOCAL_DUPLEX_STATUS 534,22500 -#define SG_DIG_LOCAL_LINK_STATUS 535,22548 -#define SG_DIG_SPEED_STATUS_MASK 536,22594 -#define SG_DIG_SPEED_STATUS_SHIFT 537,22640 -#define SG_DIG_JUMBO_PACKET_DISABLE 538,22679 -#define SG_DIG_RESTART_AUTONEG 539,22728 -#define SG_DIG_FIBER_MODE 540,22773 -#define SG_DIG_REMOTE_FAULT_MASK 541,22813 -#define SG_DIG_PAUSE_MASK 542,22859 -#define SG_DIG_GBIC_ENABLE 543,22899 -#define SG_DIG_CHECK_END_ENABLE 544,22940 -#define SG_DIG_SGMII_AUTONEG_TIMER 545,22985 -#define SG_DIG_CLOCK_PHASE_SELECT 546,23033 -#define SG_DIG_GMII_INPUT_SELECT 547,23080 -#define SG_DIG_MRADV_CRC16_SELECT 548,23126 -#define SG_DIG_COMMA_DETECT_ENABLE 549,23173 -#define SG_DIG_AUTONEG_TIMER_REDUCE 550,23221 -#define SG_DIG_AUTONEG_LOW_ENABLE 551,23270 -#define SG_DIG_REMOTE_LOOPBACK 552,23317 -#define SG_DIG_LOOPBACK 553,23362 -#define SG_DIG_STATUS 554,23400 -#define SG_DIG_CRC16_BUS_MASK 555,23435 -#define SG_DIG_PARTNER_FAULT_MASK 556,23479 -#define SG_DIG_PARTNER_ASYM_PAUSE 557,23555 -#define SG_DIG_PARTNER_PAUSE_CAPABLE 558,23631 -#define SG_DIG_PARTNER_HALF_DUPLEX 559,23710 -#define SG_DIG_PARTNER_FULL_DUPLEX 560,23787 -#define SG_DIG_PARTNER_NEXT_PAGE 561,23864 -#define SG_DIG_AUTONEG_STATE_MASK 562,23939 -#define SG_DIG_COMMA_DETECTOR 563,23986 -#define SG_DIG_MAC_ACK_STATUS 564,24030 -#define SG_DIG_AUTONEG_COMPLETE 565,24074 -#define SG_DIG_AUTONEG_ERROR 566,24119 -#define MAC_TX_MAC_STATE_BASE 568,24191 -#define MAC_RX_MAC_STATE_BASE 569,24248 -#define MAC_TX_STATS_OCTETS 571,24334 -#define MAC_TX_STATS_RESV1 572,24374 -#define MAC_TX_STATS_COLLISIONS 573,24413 -#define MAC_TX_STATS_XON_SENT 574,24457 -#define MAC_TX_STATS_XOFF_SENT 575,24499 -#define MAC_TX_STATS_RESV2 576,24542 -#define MAC_TX_STATS_MAC_ERRORS 577,24581 -#define MAC_TX_STATS_SINGLE_COLLISIONS 578,24625 -#define MAC_TX_STATS_MULT_COLLISIONS 579,24675 -#define MAC_TX_STATS_DEFERRED 580,24723 -#define MAC_TX_STATS_RESV3 581,24765 -#define MAC_TX_STATS_EXCESSIVE_COL 582,24804 -#define MAC_TX_STATS_LATE_COL 583,24850 -#define MAC_TX_STATS_RESV4_1 584,24892 -#define MAC_TX_STATS_RESV4_2 585,24933 -#define MAC_TX_STATS_RESV4_3 586,24974 -#define MAC_TX_STATS_RESV4_4 587,25015 -#define MAC_TX_STATS_RESV4_5 588,25056 -#define MAC_TX_STATS_RESV4_6 589,25097 -#define MAC_TX_STATS_RESV4_7 590,25138 -#define MAC_TX_STATS_RESV4_8 591,25179 -#define MAC_TX_STATS_RESV4_9 592,25220 -#define MAC_TX_STATS_RESV4_10 593,25261 -#define MAC_TX_STATS_RESV4_11 594,25303 -#define MAC_TX_STATS_RESV4_12 595,25345 -#define MAC_TX_STATS_RESV4_13 596,25387 -#define MAC_TX_STATS_RESV4_14 597,25429 -#define MAC_TX_STATS_UCAST 598,25471 -#define MAC_TX_STATS_MCAST 599,25510 -#define MAC_TX_STATS_BCAST 600,25549 -#define MAC_TX_STATS_RESV5_1 601,25588 -#define MAC_TX_STATS_RESV5_2 602,25629 -#define MAC_RX_STATS_OCTETS 603,25670 -#define MAC_RX_STATS_RESV1 604,25710 -#define MAC_RX_STATS_FRAGMENTS 605,25749 -#define MAC_RX_STATS_UCAST 606,25792 -#define MAC_RX_STATS_MCAST 607,25831 -#define MAC_RX_STATS_BCAST 608,25870 -#define MAC_RX_STATS_FCS_ERRORS 609,25909 -#define MAC_RX_STATS_ALIGN_ERRORS 610,25953 -#define MAC_RX_STATS_XON_PAUSE_RECVD 611,25998 -#define MAC_RX_STATS_XOFF_PAUSE_RECVD 612,26046 -#define MAC_RX_STATS_MAC_CTRL_RECVD 613,26095 -#define MAC_RX_STATS_XOFF_ENTERED 614,26142 -#define MAC_RX_STATS_FRAME_TOO_LONG 615,26187 -#define MAC_RX_STATS_JABBERS 616,26234 -#define MAC_RX_STATS_UNDERSIZE 617,26275 -#define SNDDATAI_MODE 621,26392 -#define SNDDATAI_MODE_RESET 622,26427 -#define SNDDATAI_MODE_ENABLE 623,26469 -#define SNDDATAI_MODE_STAT_OFLOW_ENAB 624,26512 -#define SNDDATAI_STATUS 625,26563 -#define SNDDATAI_STATUS_STAT_OFLOW 626,26600 -#define SNDDATAI_STATSCTRL 627,26648 -#define SNDDATAI_SCTRL_ENABLE 628,26687 -#define SNDDATAI_SCTRL_FASTUPD 629,26731 -#define SNDDATAI_SCTRL_CLEAR 630,26776 -#define SNDDATAI_SCTRL_FLUSH 631,26819 -#define SNDDATAI_SCTRL_FORCE_ZERO 632,26862 -#define SNDDATAI_STATSENAB 633,26909 -#define SNDDATAI_STATSINCMASK 634,26948 -#define SNDDATAI_COS_CNT_0 636,27019 -#define SNDDATAI_COS_CNT_1 637,27058 -#define SNDDATAI_COS_CNT_2 638,27097 -#define SNDDATAI_COS_CNT_3 639,27136 -#define SNDDATAI_COS_CNT_4 640,27175 -#define SNDDATAI_COS_CNT_5 641,27214 -#define SNDDATAI_COS_CNT_6 642,27253 -#define SNDDATAI_COS_CNT_7 643,27292 -#define SNDDATAI_COS_CNT_8 644,27331 -#define SNDDATAI_COS_CNT_9 645,27370 -#define SNDDATAI_COS_CNT_10 646,27409 -#define SNDDATAI_COS_CNT_11 647,27449 -#define SNDDATAI_COS_CNT_12 648,27489 -#define SNDDATAI_COS_CNT_13 649,27529 -#define SNDDATAI_COS_CNT_14 650,27569 -#define SNDDATAI_COS_CNT_15 651,27609 -#define SNDDATAI_DMA_RDQ_FULL_CNT 652,27649 -#define SNDDATAI_DMA_PRIO_RDQ_FULL_CNT 653,27694 -#define SNDDATAI_SDCQ_FULL_CNT 654,27744 -#define SNDDATAI_NICRNG_SSND_PIDX_CNT 655,27787 -#define SNDDATAI_STATS_UPDATED_CNT 656,27836 -#define SNDDATAI_INTERRUPTS_CNT 657,27882 -#define SNDDATAI_AVOID_INTERRUPTS_CNT 658,27926 -#define SNDDATAI_SND_THRESH_HIT_CNT 659,27975 -#define SNDDATAC_MODE 663,28098 -#define SNDDATAC_MODE_RESET 664,28133 -#define SNDDATAC_MODE_ENABLE 665,28175 -#define SNDBDS_MODE 669,28278 -#define SNDBDS_MODE_RESET 670,28311 -#define SNDBDS_MODE_ENABLE 671,28351 -#define SNDBDS_MODE_ATTN_ENABLE 672,28392 -#define SNDBDS_STATUS 673,28437 -#define SNDBDS_STATUS_ERROR_ATTN 674,28472 -#define SNDBDS_HWDIAG 675,28518 -#define SNDBDS_SEL_CON_IDX_0 677,28577 -#define SNDBDS_SEL_CON_IDX_1 678,28618 -#define SNDBDS_SEL_CON_IDX_2 679,28659 -#define SNDBDS_SEL_CON_IDX_3 680,28700 -#define SNDBDS_SEL_CON_IDX_4 681,28741 -#define SNDBDS_SEL_CON_IDX_5 682,28782 -#define SNDBDS_SEL_CON_IDX_6 683,28823 -#define SNDBDS_SEL_CON_IDX_7 684,28864 -#define SNDBDS_SEL_CON_IDX_8 685,28905 -#define SNDBDS_SEL_CON_IDX_9 686,28946 -#define SNDBDS_SEL_CON_IDX_10 687,28987 -#define SNDBDS_SEL_CON_IDX_11 688,29029 -#define SNDBDS_SEL_CON_IDX_12 689,29071 -#define SNDBDS_SEL_CON_IDX_13 690,29113 -#define SNDBDS_SEL_CON_IDX_14 691,29155 -#define SNDBDS_SEL_CON_IDX_15 692,29197 -#define SNDBDI_MODE 696,29313 -#define SNDBDI_MODE_RESET 697,29346 -#define SNDBDI_MODE_ENABLE 698,29386 -#define SNDBDI_MODE_ATTN_ENABLE 699,29427 -#define SNDBDI_STATUS 700,29472 -#define SNDBDI_STATUS_ERROR_ATTN 701,29507 -#define SNDBDI_IN_PROD_IDX_0 702,29553 -#define SNDBDI_IN_PROD_IDX_1 703,29594 -#define SNDBDI_IN_PROD_IDX_2 704,29635 -#define SNDBDI_IN_PROD_IDX_3 705,29676 -#define SNDBDI_IN_PROD_IDX_4 706,29717 -#define SNDBDI_IN_PROD_IDX_5 707,29758 -#define SNDBDI_IN_PROD_IDX_6 708,29799 -#define SNDBDI_IN_PROD_IDX_7 709,29840 -#define SNDBDI_IN_PROD_IDX_8 710,29881 -#define SNDBDI_IN_PROD_IDX_9 711,29922 -#define SNDBDI_IN_PROD_IDX_10 712,29963 -#define SNDBDI_IN_PROD_IDX_11 713,30005 -#define SNDBDI_IN_PROD_IDX_12 714,30047 -#define SNDBDI_IN_PROD_IDX_13 715,30089 -#define SNDBDI_IN_PROD_IDX_14 716,30131 -#define SNDBDI_IN_PROD_IDX_15 717,30173 -#define SNDBDC_MODE 721,30290 -#define SNDBDC_MODE_RESET 722,30323 -#define SNDBDC_MODE_ENABLE 723,30362 -#define SNDBDC_MODE_ATTN_ENABLE 724,30402 -#define RCVLPC_MODE 728,30526 -#define RCVLPC_MODE_RESET 729,30559 -#define RCVLPC_MODE_ENABLE 730,30599 -#define RCVLPC_MODE_CLASS0_ATTN_ENAB 731,30640 -#define RCVLPC_MODE_MAPOOR_AATTN_ENAB 732,30690 -#define RCVLPC_MODE_STAT_OFLOW_ENAB 733,30741 -#define RCVLPC_STATUS 734,30790 -#define RCVLPC_STATUS_CLASS0 735,30825 -#define RCVLPC_STATUS_MAPOOR 736,30868 -#define RCVLPC_STATUS_STAT_OFLOW 737,30911 -#define RCVLPC_LOCK 738,30957 -#define RCVLPC_LOCK_REQ_MASK 739,30990 -#define RCVLPC_LOCK_REQ_SHIFT 740,31033 -#define RCVLPC_LOCK_GRANT_MASK 741,31068 -#define RCVLPC_LOCK_GRANT_SHIFT 742,31113 -#define RCVLPC_NON_EMPTY_BITS 743,31150 -#define RCVLPC_NON_EMPTY_BITS_MASK 744,31192 -#define RCVLPC_CONFIG 745,31240 -#define RCVLPC_STATSCTRL 746,31275 -#define RCVLPC_STATSCTRL_ENABLE 747,31312 -#define RCVLPC_STATSCTRL_FASTUPD 748,31357 -#define RCVLPC_STATS_ENABLE 749,31403 -#define RCVLPC_STATSENAB_LNGBRST_RFIX 750,31443 -#define RCVLPC_STATS_INCMASK 751,31494 -#define RCVLPC_SELLST_BASE 753,31566 -#define SELLST_TAIL 754,31630 -#define SELLST_CONT 755,31664 -#define SELLST_UNUSED 756,31698 -#define RCVLPC_COS_CNTL_BASE 757,31734 -#define RCVLPC_DROP_FILTER_CNT 758,31799 -#define RCVLPC_DMA_WQ_FULL_CNT 759,31842 -#define RCVLPC_DMA_HIPRIO_WQ_FULL_CNT 760,31885 -#define RCVLPC_NO_RCV_BD_CNT 761,31934 -#define RCVLPC_IN_DISCARDS_CNT 762,31975 -#define RCVLPC_IN_ERRORS_CNT 763,32018 -#define RCVLPC_RCV_THRESH_HIT_CNT 764,32059 -#define RCVDBDI_MODE 768,32188 -#define RCVDBDI_MODE_RESET 769,32222 -#define RCVDBDI_MODE_ENABLE 770,32263 -#define RCVDBDI_MODE_JUMBOBD_NEEDED 771,32305 -#define RCVDBDI_MODE_FRM_TOO_BIG 772,32354 -#define RCVDBDI_MODE_INV_RING_SZ 773,32400 -#define RCVDBDI_STATUS 774,32446 -#define RCVDBDI_STATUS_JUMBOBD_NEEDED 775,32482 -#define RCVDBDI_STATUS_FRM_TOO_BIG 776,32533 -#define RCVDBDI_STATUS_INV_RING_SZ 777,32581 -#define RCVDBDI_SPLIT_FRAME_MINSZ 778,32629 -#define RCVDBDI_JUMBO_BD 780,32705 -#define RCVDBDI_STD_BD 781,32763 -#define RCVDBDI_MINI_BD 782,32820 -#define RCVDBDI_JUMBO_CON_IDX 783,32878 -#define RCVDBDI_STD_CON_IDX 784,32920 -#define RCVDBDI_MINI_CON_IDX 785,32960 -#define RCVDBDI_BD_PROD_IDX_0 787,33032 -#define RCVDBDI_BD_PROD_IDX_1 788,33074 -#define RCVDBDI_BD_PROD_IDX_2 789,33116 -#define RCVDBDI_BD_PROD_IDX_3 790,33158 -#define RCVDBDI_BD_PROD_IDX_4 791,33200 -#define RCVDBDI_BD_PROD_IDX_5 792,33242 -#define RCVDBDI_BD_PROD_IDX_6 793,33284 -#define RCVDBDI_BD_PROD_IDX_7 794,33326 -#define RCVDBDI_BD_PROD_IDX_8 795,33368 -#define RCVDBDI_BD_PROD_IDX_9 796,33410 -#define RCVDBDI_BD_PROD_IDX_10 797,33452 -#define RCVDBDI_BD_PROD_IDX_11 798,33495 -#define RCVDBDI_BD_PROD_IDX_12 799,33538 -#define RCVDBDI_BD_PROD_IDX_13 800,33581 -#define RCVDBDI_BD_PROD_IDX_14 801,33624 -#define RCVDBDI_BD_PROD_IDX_15 802,33667 -#define RCVDBDI_HWDIAG 803,33710 -#define RCVDCC_MODE 807,33816 -#define RCVDCC_MODE_RESET 808,33849 -#define RCVDCC_MODE_ENABLE 809,33889 -#define RCVDCC_MODE_ATTN_ENABLE 810,33930 -#define RCVBDI_MODE 814,34052 -#define RCVBDI_MODE_RESET 815,34085 -#define RCVBDI_MODE_ENABLE 816,34125 -#define RCVBDI_MODE_RCB_ATTN_ENAB 817,34166 -#define RCVBDI_STATUS 818,34213 -#define RCVBDI_STATUS_RCB_ATTN 819,34248 -#define RCVBDI_JUMBO_PROD_IDX 820,34293 -#define RCVBDI_STD_PROD_IDX 821,34335 -#define RCVBDI_MINI_PROD_IDX 822,34375 -#define RCVBDI_MINI_THRESH 823,34416 -#define RCVBDI_STD_THRESH 824,34455 -#define RCVBDI_JUMBO_THRESH 825,34493 -#define RCVCC_MODE 829,34611 -#define RCVCC_MODE_RESET 830,34643 -#define RCVCC_MODE_ENABLE 831,34682 -#define RCVCC_MODE_ATTN_ENABLE 832,34722 -#define RCVCC_STATUS 833,34767 -#define RCVCC_STATUS_ERROR_ATTN 834,34801 -#define RCVCC_JUMP_PROD_IDX 835,34846 -#define RCVCC_STD_PROD_IDX 836,34886 -#define RCVCC_MINI_PROD_IDX 837,34925 -#define RCVLSC_MODE 841,35043 -#define RCVLSC_MODE_RESET 842,35076 -#define RCVLSC_MODE_ENABLE 843,35116 -#define RCVLSC_MODE_ATTN_ENABLE 844,35157 -#define RCVLSC_STATUS 845,35202 -#define RCVLSC_STATUS_ERROR_ATTN 846,35237 -#define MBFREE_MODE 850,35349 -#define MBFREE_MODE_RESET 851,35382 -#define MBFREE_MODE_ENABLE 852,35422 -#define MBFREE_STATUS 853,35463 -#define HOSTCC_MODE 857,35570 -#define HOSTCC_MODE_RESET 858,35603 -#define HOSTCC_MODE_ENABLE 859,35643 -#define HOSTCC_MODE_ATTN 860,35684 -#define HOSTCC_MODE_NOW 861,35723 -#define HOSTCC_MODE_FULL_STATUS 862,35761 -#define HOSTCC_MODE_64BYTE 863,35806 -#define HOSTCC_MODE_32BYTE 864,35847 -#define HOSTCC_MODE_CLRTICK_RXBD 865,35888 -#define HOSTCC_MODE_CLRTICK_TXBD 866,35934 -#define HOSTCC_MODE_NOINT_ON_NOW 867,35980 -#define HOSTCC_MODE_NOINT_ON_FORCE 868,36026 -#define HOSTCC_STATUS 869,36074 -#define HOSTCC_STATUS_ERROR_ATTN 870,36109 -#define HOSTCC_RXCOL_TICKS 871,36155 -#define LOW_RXCOL_TICKS 872,36194 -#define DEFAULT_RXCOL_TICKS 873,36232 -#define HIGH_RXCOL_TICKS 874,36274 -#define HOSTCC_TXCOL_TICKS 875,36313 -#define LOW_TXCOL_TICKS 876,36352 -#define DEFAULT_TXCOL_TICKS 877,36390 -#define HIGH_TXCOL_TICKS 878,36432 -#define HOSTCC_RXMAX_FRAMES 879,36471 -#define LOW_RXMAX_FRAMES 880,36511 -#define DEFAULT_RXMAX_FRAMES 881,36550 -#define HIGH_RXMAX_FRAMES 882,36593 -#define HOSTCC_TXMAX_FRAMES 883,36633 -#define LOW_TXMAX_FRAMES 884,36673 -#define DEFAULT_TXMAX_FRAMES 885,36712 -#define HIGH_TXMAX_FRAMES 886,36755 -#define HOSTCC_RXCOAL_TICK_INT 887,36795 -#define DEFAULT_RXCOAL_TICK_INT 888,36838 -#define HOSTCC_TXCOAL_TICK_INT 889,36883 -#define DEFAULT_TXCOAL_TICK_INT 890,36926 -#define HOSTCC_RXCOAL_MAXF_INT 891,36971 -#define DEFAULT_RXCOAL_MAXF_INT 892,37014 -#define HOSTCC_TXCOAL_MAXF_INT 893,37059 -#define DEFAULT_TXCOAL_MAXF_INT 894,37102 -#define HOSTCC_STAT_COAL_TICKS 895,37147 -#define DEFAULT_STAT_COAL_TICKS 896,37190 -#define HOSTCC_STATS_BLK_HOST_ADDR 898,37266 -#define HOSTCC_STATUS_BLK_HOST_ADDR 899,37325 -#define HOSTCC_STATS_BLK_NIC_ADDR 900,37385 -#define HOSTCC_STATUS_BLK_NIC_ADDR 901,37430 -#define HOSTCC_FLOW_ATTN 902,37476 -#define HOSTCC_JUMBO_CON_IDX 904,37544 -#define HOSTCC_STD_CON_IDX 905,37585 -#define HOSTCC_MINI_CON_IDX 906,37624 -#define HOSTCC_RET_PROD_IDX_0 908,37695 -#define HOSTCC_RET_PROD_IDX_1 909,37737 -#define HOSTCC_RET_PROD_IDX_2 910,37779 -#define HOSTCC_RET_PROD_IDX_3 911,37821 -#define HOSTCC_RET_PROD_IDX_4 912,37863 -#define HOSTCC_RET_PROD_IDX_5 913,37905 -#define HOSTCC_RET_PROD_IDX_6 914,37947 -#define HOSTCC_RET_PROD_IDX_7 915,37989 -#define HOSTCC_RET_PROD_IDX_8 916,38031 -#define HOSTCC_RET_PROD_IDX_9 917,38073 -#define HOSTCC_RET_PROD_IDX_10 918,38115 -#define HOSTCC_RET_PROD_IDX_11 919,38158 -#define HOSTCC_RET_PROD_IDX_12 920,38201 -#define HOSTCC_RET_PROD_IDX_13 921,38244 -#define HOSTCC_RET_PROD_IDX_14 922,38287 -#define HOSTCC_RET_PROD_IDX_15 923,38330 -#define HOSTCC_SND_CON_IDX_0 924,38373 -#define HOSTCC_SND_CON_IDX_1 925,38414 -#define HOSTCC_SND_CON_IDX_2 926,38455 -#define HOSTCC_SND_CON_IDX_3 927,38496 -#define HOSTCC_SND_CON_IDX_4 928,38537 -#define HOSTCC_SND_CON_IDX_5 929,38578 -#define HOSTCC_SND_CON_IDX_6 930,38619 -#define HOSTCC_SND_CON_IDX_7 931,38660 -#define HOSTCC_SND_CON_IDX_8 932,38701 -#define HOSTCC_SND_CON_IDX_9 933,38742 -#define HOSTCC_SND_CON_IDX_10 934,38783 -#define HOSTCC_SND_CON_IDX_11 935,38825 -#define HOSTCC_SND_CON_IDX_12 936,38867 -#define HOSTCC_SND_CON_IDX_13 937,38909 -#define HOSTCC_SND_CON_IDX_14 938,38951 -#define HOSTCC_SND_CON_IDX_15 939,38993 -#define MEMARB_MODE 943,39106 -#define MEMARB_MODE_RESET 944,39139 -#define MEMARB_MODE_ENABLE 945,39179 -#define MEMARB_STATUS 946,39220 -#define MEMARB_TRAP_ADDR_LOW 947,39255 -#define MEMARB_TRAP_ADDR_HIGH 948,39296 -#define BUFMGR_MODE 952,39409 -#define BUFMGR_MODE_RESET 953,39442 -#define BUFMGR_MODE_ENABLE 954,39482 -#define BUFMGR_MODE_ATTN_ENABLE 955,39523 -#define BUFMGR_MODE_BM_TEST 956,39568 -#define BUFMGR_MODE_MBLOW_ATTN_ENAB 957,39610 -#define BUFMGR_STATUS 958,39659 -#define BUFMGR_STATUS_ERROR 959,39694 -#define BUFMGR_STATUS_MBLOW 960,39736 -#define BUFMGR_MB_POOL_ADDR 961,39778 -#define BUFMGR_MB_POOL_SIZE 962,39818 -#define BUFMGR_MB_RDMA_LOW_WATER 963,39858 -#define DEFAULT_MB_RDMA_LOW_WATER 964,39902 -#define DEFAULT_MB_RDMA_LOW_WATER_5705 965,39949 -#define DEFAULT_MB_RDMA_LOW_WATER_JUMBO 966,40001 -#define BUFMGR_MB_MACRX_LOW_WATER 967,40053 -#define DEFAULT_MB_MACRX_LOW_WATER 968,40098 -#define DEFAULT_MB_MACRX_LOW_WATER_5705 969,40147 -#define DEFAULT_MB_MACRX_LOW_WATER_JUMBO 970,40200 -#define BUFMGR_MB_HIGH_WATER 971,40253 -#define DEFAULT_MB_HIGH_WATER 972,40294 -#define DEFAULT_MB_HIGH_WATER_5705 973,40338 -#define DEFAULT_MB_HIGH_WATER_JUMBO 974,40386 -#define BUFMGR_RX_MB_ALLOC_REQ 975,40435 -#define BUFMGR_MB_ALLOC_BIT 976,40478 -#define BUFMGR_RX_MB_ALLOC_RESP 977,40520 -#define BUFMGR_TX_MB_ALLOC_REQ 978,40564 -#define BUFMGR_TX_MB_ALLOC_RESP 979,40607 -#define BUFMGR_DMA_DESC_POOL_ADDR 980,40651 -#define BUFMGR_DMA_DESC_POOL_SIZE 981,40696 -#define BUFMGR_DMA_LOW_WATER 982,40741 -#define DEFAULT_DMA_LOW_WATER 983,40782 -#define BUFMGR_DMA_HIGH_WATER 984,40826 -#define DEFAULT_DMA_HIGH_WATER 985,40868 -#define BUFMGR_RX_DMA_ALLOC_REQ 986,40913 -#define BUFMGR_RX_DMA_ALLOC_RESP 987,40957 -#define BUFMGR_TX_DMA_ALLOC_REQ 988,41001 -#define BUFMGR_TX_DMA_ALLOC_RESP 989,41045 -#define BUFMGR_HWDIAG_0 990,41089 -#define BUFMGR_HWDIAG_1 991,41126 -#define BUFMGR_HWDIAG_2 992,41163 -#define RDMAC_MODE 996,41265 -#define RDMAC_MODE_RESET 997,41297 -#define RDMAC_MODE_ENABLE 998,41336 -#define RDMAC_MODE_TGTABORT_ENAB 999,41376 -#define RDMAC_MODE_MSTABORT_ENAB 1000,41422 -#define RDMAC_MODE_PARITYERR_ENAB 1001,41468 -#define RDMAC_MODE_ADDROFLOW_ENAB 1002,41515 -#define RDMAC_MODE_FIFOOFLOW_ENAB 1003,41562 -#define RDMAC_MODE_FIFOURUN_ENAB 1004,41609 -#define RDMAC_MODE_FIFOOREAD_ENAB 1005,41655 -#define RDMAC_MODE_LNGREAD_ENAB 1006,41702 -#define RDMAC_MODE_SPLIT_ENABLE 1007,41747 -#define RDMAC_MODE_SPLIT_RESET 1008,41792 -#define RDMAC_MODE_FIFO_SIZE_128 1009,41837 -#define RDMAC_MODE_FIFO_LONG_BURST 1010,41883 -#define RDMAC_STATUS 1011,41931 -#define RDMAC_STATUS_TGTABORT 1012,41965 -#define RDMAC_STATUS_MSTABORT 1013,42009 -#define RDMAC_STATUS_PARITYERR 1014,42053 -#define RDMAC_STATUS_ADDROFLOW 1015,42098 -#define RDMAC_STATUS_FIFOOFLOW 1016,42143 -#define RDMAC_STATUS_FIFOURUN 1017,42188 -#define RDMAC_STATUS_FIFOOREAD 1018,42232 -#define RDMAC_STATUS_LNGREAD 1019,42277 -#define WDMAC_MODE 1023,42386 -#define WDMAC_MODE_RESET 1024,42418 -#define WDMAC_MODE_ENABLE 1025,42457 -#define WDMAC_MODE_TGTABORT_ENAB 1026,42497 -#define WDMAC_MODE_MSTABORT_ENAB 1027,42543 -#define WDMAC_MODE_PARITYERR_ENAB 1028,42589 -#define WDMAC_MODE_ADDROFLOW_ENAB 1029,42636 -#define WDMAC_MODE_FIFOOFLOW_ENAB 1030,42683 -#define WDMAC_MODE_FIFOURUN_ENAB 1031,42730 -#define WDMAC_MODE_FIFOOREAD_ENAB 1032,42776 -#define WDMAC_MODE_LNGREAD_ENAB 1033,42823 -#define WDMAC_MODE_RX_ACCEL 1034,42868 -#define WDMAC_STATUS 1035,42911 -#define WDMAC_STATUS_TGTABORT 1036,42945 -#define WDMAC_STATUS_MSTABORT 1037,42989 -#define WDMAC_STATUS_PARITYERR 1038,43033 -#define WDMAC_STATUS_ADDROFLOW 1039,43078 -#define WDMAC_STATUS_FIFOOFLOW 1040,43123 -#define WDMAC_STATUS_FIFOURUN 1041,43168 -#define WDMAC_STATUS_FIFOOREAD 1042,43212 -#define WDMAC_STATUS_LNGREAD 1043,43257 -#define CPU_MODE 1047,43370 -#define CPU_MODE_RESET 1048,43400 -#define CPU_MODE_HALT 1049,43438 -#define CPU_STATE 1050,43475 -#define CPU_EVTMASK 1051,43506 -#define CPU_PC 1053,43567 -#define CPU_INSN 1054,43596 -#define CPU_SPAD_UFLOW 1055,43626 -#define CPU_WDOG_CLEAR 1056,43662 -#define CPU_WDOG_VECTOR 1057,43698 -#define CPU_WDOG_PC 1058,43735 -#define CPU_HW_BP 1059,43768 -#define CPU_WDOG_SAVED_STATE 1061,43826 -#define CPU_LAST_BRANCH_ADDR 1062,43867 -#define CPU_SPAD_UFLOW_SET 1063,43908 -#define CPU_R0 1065,43975 -#define CPU_R1 1066,44004 -#define CPU_R2 1067,44033 -#define CPU_R3 1068,44062 -#define CPU_R4 1069,44091 -#define CPU_R5 1070,44120 -#define CPU_R6 1071,44149 -#define CPU_R7 1072,44178 -#define CPU_R8 1073,44207 -#define CPU_R9 1074,44236 -#define CPU_R10 1075,44265 -#define CPU_R11 1076,44295 -#define CPU_R12 1077,44325 -#define CPU_R13 1078,44355 -#define CPU_R14 1079,44385 -#define CPU_R15 1080,44415 -#define CPU_R16 1081,44445 -#define CPU_R17 1082,44475 -#define CPU_R18 1083,44505 -#define CPU_R19 1084,44535 -#define CPU_R20 1085,44565 -#define CPU_R21 1086,44595 -#define CPU_R22 1087,44625 -#define CPU_R23 1088,44655 -#define CPU_R24 1089,44685 -#define CPU_R25 1090,44715 -#define CPU_R26 1091,44745 -#define CPU_R27 1092,44775 -#define CPU_R28 1093,44805 -#define CPU_R29 1094,44835 -#define CPU_R30 1095,44865 -#define CPU_R31 1096,44895 -#define RX_CPU_BASE 1099,44955 -#define TX_CPU_BASE 1100,44988 -#define GRCMBOX_INTERRUPT_0 1103,45038 -#define GRCMBOX_INTERRUPT_1 1104,45091 -#define GRCMBOX_INTERRUPT_2 1105,45144 -#define GRCMBOX_INTERRUPT_3 1106,45197 -#define GRCMBOX_GENERAL_0 1107,45250 -#define GRCMBOX_GENERAL_1 1108,45301 -#define GRCMBOX_GENERAL_2 1109,45352 -#define GRCMBOX_GENERAL_3 1110,45403 -#define GRCMBOX_GENERAL_4 1111,45454 -#define GRCMBOX_GENERAL_5 1112,45505 -#define GRCMBOX_GENERAL_6 1113,45556 -#define GRCMBOX_GENERAL_7 1114,45607 -#define GRCMBOX_RELOAD_STAT 1115,45658 -#define GRCMBOX_RCVSTD_PROD_IDX 1116,45711 -#define GRCMBOX_RCVJUMBO_PROD_IDX 1117,45768 -#define GRCMBOX_RCVMINI_PROD_IDX 1118,45826 -#define GRCMBOX_RCVRET_CON_IDX_0 1119,45883 -#define GRCMBOX_RCVRET_CON_IDX_1 1120,45940 -#define GRCMBOX_RCVRET_CON_IDX_2 1121,45997 -#define GRCMBOX_RCVRET_CON_IDX_3 1122,46054 -#define GRCMBOX_RCVRET_CON_IDX_4 1123,46111 -#define GRCMBOX_RCVRET_CON_IDX_5 1124,46168 -#define GRCMBOX_RCVRET_CON_IDX_6 1125,46225 -#define GRCMBOX_RCVRET_CON_IDX_7 1126,46282 -#define GRCMBOX_RCVRET_CON_IDX_8 1127,46339 -#define GRCMBOX_RCVRET_CON_IDX_9 1128,46396 -#define GRCMBOX_RCVRET_CON_IDX_10 1129,46453 -#define GRCMBOX_RCVRET_CON_IDX_11 1130,46511 -#define GRCMBOX_RCVRET_CON_IDX_12 1131,46569 -#define GRCMBOX_RCVRET_CON_IDX_13 1132,46627 -#define GRCMBOX_RCVRET_CON_IDX_14 1133,46685 -#define GRCMBOX_RCVRET_CON_IDX_15 1134,46743 -#define GRCMBOX_SNDHOST_PROD_IDX_0 1135,46801 -#define GRCMBOX_SNDHOST_PROD_IDX_1 1136,46860 -#define GRCMBOX_SNDHOST_PROD_IDX_2 1137,46919 -#define GRCMBOX_SNDHOST_PROD_IDX_3 1138,46978 -#define GRCMBOX_SNDHOST_PROD_IDX_4 1139,47037 -#define GRCMBOX_SNDHOST_PROD_IDX_5 1140,47096 -#define GRCMBOX_SNDHOST_PROD_IDX_6 1141,47155 -#define GRCMBOX_SNDHOST_PROD_IDX_7 1142,47214 -#define GRCMBOX_SNDHOST_PROD_IDX_8 1143,47273 -#define GRCMBOX_SNDHOST_PROD_IDX_9 1144,47332 -#define GRCMBOX_SNDHOST_PROD_IDX_10 1145,47391 -#define GRCMBOX_SNDHOST_PROD_IDX_11 1146,47451 -#define GRCMBOX_SNDHOST_PROD_IDX_12 1147,47511 -#define GRCMBOX_SNDHOST_PROD_IDX_13 1148,47571 -#define GRCMBOX_SNDHOST_PROD_IDX_14 1149,47631 -#define GRCMBOX_SNDHOST_PROD_IDX_15 1150,47691 -#define GRCMBOX_SNDNIC_PROD_IDX_0 1151,47751 -#define GRCMBOX_SNDNIC_PROD_IDX_1 1152,47809 -#define GRCMBOX_SNDNIC_PROD_IDX_2 1153,47867 -#define GRCMBOX_SNDNIC_PROD_IDX_3 1154,47925 -#define GRCMBOX_SNDNIC_PROD_IDX_4 1155,47983 -#define GRCMBOX_SNDNIC_PROD_IDX_5 1156,48041 -#define GRCMBOX_SNDNIC_PROD_IDX_6 1157,48099 -#define GRCMBOX_SNDNIC_PROD_IDX_7 1158,48157 -#define GRCMBOX_SNDNIC_PROD_IDX_8 1159,48215 -#define GRCMBOX_SNDNIC_PROD_IDX_9 1160,48273 -#define GRCMBOX_SNDNIC_PROD_IDX_10 1161,48331 -#define GRCMBOX_SNDNIC_PROD_IDX_11 1162,48390 -#define GRCMBOX_SNDNIC_PROD_IDX_12 1163,48449 -#define GRCMBOX_SNDNIC_PROD_IDX_13 1164,48508 -#define GRCMBOX_SNDNIC_PROD_IDX_14 1165,48567 -#define GRCMBOX_SNDNIC_PROD_IDX_15 1166,48626 -#define GRCMBOX_HIGH_PRIO_EV_VECTOR 1167,48685 -#define GRCMBOX_HIGH_PRIO_EV_MASK 1168,48732 -#define GRCMBOX_LOW_PRIO_EV_VEC 1169,48777 -#define GRCMBOX_LOW_PRIO_EV_MASK 1170,48821 -#define FTQ_RESET 1174,48916 -#define FTQ_DMA_NORM_READ_CTL 1176,48978 -#define FTQ_DMA_NORM_READ_FULL_CNT 1177,49020 -#define FTQ_DMA_NORM_READ_FIFO_ENQDEQ 1178,49066 -#define FTQ_DMA_NORM_READ_WRITE_PEEK 1179,49115 -#define FTQ_DMA_HIGH_READ_CTL 1180,49163 -#define FTQ_DMA_HIGH_READ_FULL_CNT 1181,49205 -#define FTQ_DMA_HIGH_READ_FIFO_ENQDEQ 1182,49251 -#define FTQ_DMA_HIGH_READ_WRITE_PEEK 1183,49300 -#define FTQ_DMA_COMP_DISC_CTL 1184,49348 -#define FTQ_DMA_COMP_DISC_FULL_CNT 1185,49390 -#define FTQ_DMA_COMP_DISC_FIFO_ENQDEQ 1186,49436 -#define FTQ_DMA_COMP_DISC_WRITE_PEEK 1187,49485 -#define FTQ_SEND_BD_COMP_CTL 1188,49533 -#define FTQ_SEND_BD_COMP_FULL_CNT 1189,49574 -#define FTQ_SEND_BD_COMP_FIFO_ENQDEQ 1190,49619 -#define FTQ_SEND_BD_COMP_WRITE_PEEK 1191,49667 -#define FTQ_SEND_DATA_INIT_CTL 1192,49714 -#define FTQ_SEND_DATA_INIT_FULL_CNT 1193,49757 -#define FTQ_SEND_DATA_INIT_FIFO_ENQDEQ 1194,49804 -#define FTQ_SEND_DATA_INIT_WRITE_PEEK 1195,49854 -#define FTQ_DMA_NORM_WRITE_CTL 1196,49903 -#define FTQ_DMA_NORM_WRITE_FULL_CNT 1197,49946 -#define FTQ_DMA_NORM_WRITE_FIFO_ENQDEQ 1198,49993 -#define FTQ_DMA_NORM_WRITE_WRITE_PEEK 1199,50043 -#define FTQ_DMA_HIGH_WRITE_CTL 1200,50092 -#define FTQ_DMA_HIGH_WRITE_FULL_CNT 1201,50135 -#define FTQ_DMA_HIGH_WRITE_FIFO_ENQDEQ 1202,50182 -#define FTQ_DMA_HIGH_WRITE_WRITE_PEEK 1203,50232 -#define FTQ_SWTYPE1_CTL 1204,50281 -#define FTQ_SWTYPE1_FULL_CNT 1205,50318 -#define FTQ_SWTYPE1_FIFO_ENQDEQ 1206,50359 -#define FTQ_SWTYPE1_WRITE_PEEK 1207,50403 -#define FTQ_SEND_DATA_COMP_CTL 1208,50446 -#define FTQ_SEND_DATA_COMP_FULL_CNT 1209,50489 -#define FTQ_SEND_DATA_COMP_FIFO_ENQDEQ 1210,50536 -#define FTQ_SEND_DATA_COMP_WRITE_PEEK 1211,50586 -#define FTQ_HOST_COAL_CTL 1212,50635 -#define FTQ_HOST_COAL_FULL_CNT 1213,50673 -#define FTQ_HOST_COAL_FIFO_ENQDEQ 1214,50716 -#define FTQ_HOST_COAL_WRITE_PEEK 1215,50761 -#define FTQ_MAC_TX_CTL 1216,50805 -#define FTQ_MAC_TX_FULL_CNT 1217,50841 -#define FTQ_MAC_TX_FIFO_ENQDEQ 1218,50881 -#define FTQ_MAC_TX_WRITE_PEEK 1219,50924 -#define FTQ_MB_FREE_CTL 1220,50966 -#define FTQ_MB_FREE_FULL_CNT 1221,51003 -#define FTQ_MB_FREE_FIFO_ENQDEQ 1222,51044 -#define FTQ_MB_FREE_WRITE_PEEK 1223,51088 -#define FTQ_RCVBD_COMP_CTL 1224,51131 -#define FTQ_RCVBD_COMP_FULL_CNT 1225,51170 -#define FTQ_RCVBD_COMP_FIFO_ENQDEQ 1226,51214 -#define FTQ_RCVBD_COMP_WRITE_PEEK 1227,51260 -#define FTQ_RCVLST_PLMT_CTL 1228,51305 -#define FTQ_RCVLST_PLMT_FULL_CNT 1229,51345 -#define FTQ_RCVLST_PLMT_FIFO_ENQDEQ 1230,51389 -#define FTQ_RCVLST_PLMT_WRITE_PEEK 1231,51436 -#define FTQ_RCVDATA_INI_CTL 1232,51482 -#define FTQ_RCVDATA_INI_FULL_CNT 1233,51522 -#define FTQ_RCVDATA_INI_FIFO_ENQDEQ 1234,51566 -#define FTQ_RCVDATA_INI_WRITE_PEEK 1235,51613 -#define FTQ_RCVDATA_COMP_CTL 1236,51659 -#define FTQ_RCVDATA_COMP_FULL_CNT 1237,51700 -#define FTQ_RCVDATA_COMP_FIFO_ENQDEQ 1238,51745 -#define FTQ_RCVDATA_COMP_WRITE_PEEK 1239,51793 -#define FTQ_SWTYPE2_CTL 1240,51840 -#define FTQ_SWTYPE2_FULL_CNT 1241,51877 -#define FTQ_SWTYPE2_FIFO_ENQDEQ 1242,51918 -#define FTQ_SWTYPE2_WRITE_PEEK 1243,51962 -#define MSGINT_MODE 1247,52080 -#define MSGINT_MODE_RESET 1248,52113 -#define MSGINT_MODE_ENABLE 1249,52153 -#define MSGINT_STATUS 1250,52194 -#define MSGINT_FIFO 1251,52229 -#define DMAC_MODE 1255,52325 -#define DMAC_MODE_RESET 1256,52356 -#define DMAC_MODE_ENABLE 1257,52394 -#define GRC_MODE 1261,52485 -#define GRC_MODE_UPD_ON_COAL 1262,52515 -#define GRC_MODE_BSWAP_NONFRM_DATA 1263,52557 -#define GRC_MODE_WSWAP_NONFRM_DATA 1264,52604 -#define GRC_MODE_BSWAP_DATA 1265,52651 -#define GRC_MODE_WSWAP_DATA 1266,52692 -#define GRC_MODE_SPLITHDR 1267,52733 -#define GRC_MODE_NOFRM_CRACKING 1268,52772 -#define GRC_MODE_INCL_CRC 1269,52816 -#define GRC_MODE_ALLOW_BAD_FRMS 1270,52855 -#define GRC_MODE_NOIRQ_ON_SENDS 1271,52899 -#define GRC_MODE_NOIRQ_ON_RCV 1272,52943 -#define GRC_MODE_FORCE_PCI32BIT 1273,52986 -#define GRC_MODE_HOST_STACKUP 1274,53030 -#define GRC_MODE_HOST_SENDBDS 1275,53073 -#define GRC_MODE_NO_TX_PHDR_CSUM 1276,53116 -#define GRC_MODE_NO_RX_PHDR_CSUM 1277,53161 -#define GRC_MODE_IRQ_ON_TX_CPU_ATTN 1278,53206 -#define GRC_MODE_IRQ_ON_RX_CPU_ATTN 1279,53254 -#define GRC_MODE_IRQ_ON_MAC_ATTN 1280,53302 -#define GRC_MODE_IRQ_ON_DMA_ATTN 1281,53347 -#define GRC_MODE_IRQ_ON_FLOW_ATTN 1282,53392 -#define GRC_MODE_4X_NIC_SEND_RINGS 1283,53438 -#define GRC_MODE_MCAST_FRM_ENABLE 1284,53485 -#define GRC_MISC_CFG 1285,53531 -#define GRC_MISC_CFG_CORECLK_RESET 1286,53565 -#define GRC_MISC_CFG_PRESCALAR_MASK 1287,53612 -#define GRC_MISC_CFG_PRESCALAR_SHIFT 1288,53660 -#define GRC_MISC_CFG_BOARD_ID_MASK 1289,53700 -#define GRC_MISC_CFG_BOARD_ID_5700 1290,53747 -#define GRC_MISC_CFG_BOARD_ID_5701 1291,53794 -#define GRC_MISC_CFG_BOARD_ID_5702FE 1292,53841 -#define GRC_MISC_CFG_BOARD_ID_5703 1293,53890 -#define GRC_MISC_CFG_BOARD_ID_5703S 1294,53937 -#define GRC_MISC_CFG_BOARD_ID_5704 1295,53985 -#define GRC_MISC_CFG_BOARD_ID_5704CIOBE 1296,54032 -#define GRC_MISC_CFG_BOARD_ID_5704_A2 1297,54084 -#define GRC_MISC_CFG_BOARD_ID_5788 1298,54134 -#define GRC_MISC_CFG_BOARD_ID_5788M 1299,54181 -#define GRC_MISC_CFG_BOARD_ID_AC91002A1 1300,54229 -#define GRC_MISC_CFG_KEEP_GPHY_POWER 1301,54281 -#define GRC_LOCAL_CTRL 1302,54330 -#define GRC_LCLCTRL_INT_ACTIVE 1303,54366 -#define GRC_LCLCTRL_CLEARINT 1304,54410 -#define GRC_LCLCTRL_SETINT 1305,54452 -#define GRC_LCLCTRL_INT_ON_ATTN 1306,54492 -#define GRC_LCLCTRL_GPIO_INPUT0 1307,54536 -#define GRC_LCLCTRL_GPIO_INPUT1 1308,54580 -#define GRC_LCLCTRL_GPIO_INPUT2 1309,54624 -#define GRC_LCLCTRL_GPIO_OE0 1310,54668 -#define GRC_LCLCTRL_GPIO_OE1 1311,54710 -#define GRC_LCLCTRL_GPIO_OE2 1312,54752 -#define GRC_LCLCTRL_GPIO_OUTPUT0 1313,54794 -#define GRC_LCLCTRL_GPIO_OUTPUT1 1314,54839 -#define GRC_LCLCTRL_GPIO_OUTPUT2 1315,54884 -#define GRC_LCLCTRL_EXTMEM_ENABLE 1316,54929 -#define GRC_LCLCTRL_MEMSZ_MASK 1317,54975 -#define GRC_LCLCTRL_MEMSZ_256K 1318,55019 -#define GRC_LCLCTRL_MEMSZ_512K 1319,55063 -#define GRC_LCLCTRL_MEMSZ_1M 1320,55107 -#define GRC_LCLCTRL_MEMSZ_2M 1321,55149 -#define GRC_LCLCTRL_MEMSZ_4M 1322,55191 -#define GRC_LCLCTRL_MEMSZ_8M 1323,55233 -#define GRC_LCLCTRL_MEMSZ_16M 1324,55275 -#define GRC_LCLCTRL_BANK_SELECT 1325,55318 -#define GRC_LCLCTRL_SSRAM_TYPE 1326,55362 -#define GRC_LCLCTRL_AUTO_SEEPROM 1327,55406 -#define GRC_TIMER 1328,55451 -#define GRC_RX_CPU_EVENT 1329,55482 -#define GRC_RX_TIMER_REF 1330,55519 -#define GRC_RX_CPU_SEM 1331,55556 -#define GRC_REMOTE_RX_CPU_ATTN 1332,55592 -#define GRC_TX_CPU_EVENT 1333,55635 -#define GRC_TX_TIMER_REF 1334,55672 -#define GRC_TX_CPU_SEM 1335,55709 -#define GRC_REMOTE_TX_CPU_ATTN 1336,55745 -#define GRC_MEM_POWER_UP 1337,55788 -#define GRC_EEPROM_ADDR 1338,55838 -#define EEPROM_ADDR_WRITE 1339,55875 -#define EEPROM_ADDR_READ 1340,55914 -#define EEPROM_ADDR_COMPLETE 1341,55952 -#define EEPROM_ADDR_FSM_RESET 1342,55994 -#define EEPROM_ADDR_DEVID_MASK 1343,56037 -#define EEPROM_ADDR_DEVID_SHIFT 1344,56081 -#define EEPROM_ADDR_START 1345,56117 -#define EEPROM_ADDR_CLKPERD_SHIFT 1346,56156 -#define EEPROM_ADDR_ADDR_MASK 1347,56194 -#define EEPROM_ADDR_ADDR_SHIFT 1348,56237 -#define EEPROM_DEFAULT_CLOCK_PERIOD 1349,56272 -#define EEPROM_CHIP_SIZE 1350,56314 -#define GRC_EEPROM_DATA 1351,56353 -#define GRC_EEPROM_CTRL 1352,56390 -#define GRC_MDI_CTRL 1353,56427 -#define GRC_SEEPROM_DELAY 1354,56461 -#define NVRAM_CMD 1360,56593 -#define NVRAM_CMD_RESET 1361,56624 -#define NVRAM_CMD_DONE 1362,56662 -#define NVRAM_CMD_GO 1363,56700 -#define NVRAM_CMD_WR 1364,56736 -#define NVRAM_CMD_RD 1365,56772 -#define NVRAM_CMD_ERASE 1366,56808 -#define NVRAM_CMD_FIRST 1367,56846 -#define NVRAM_CMD_LAST 1368,56884 -#define NVRAM_STAT 1369,56922 -#define NVRAM_WRDATA 1370,56954 -#define NVRAM_ADDR 1371,56988 -#define NVRAM_ADDR_MSK 1372,57020 -#define NVRAM_RDDATA 1373,57057 -#define NVRAM_CFG1 1374,57091 -#define NVRAM_CFG1_FLASHIF_ENAB 1375,57123 -#define NVRAM_CFG1_BUFFERED_MODE 1376,57168 -#define NVRAM_CFG1_PASS_THRU 1377,57214 -#define NVRAM_CFG1_BIT_BANG 1378,57257 -#define NVRAM_CFG1_COMPAT_BYPASS 1379,57299 -#define NVRAM_CFG2 1380,57345 -#define NVRAM_CFG3 1381,57377 -#define NVRAM_SWARB 1382,57409 -#define SWARB_REQ_SET0 1383,57442 -#define SWARB_REQ_SET1 1384,57480 -#define SWARB_REQ_SET2 1385,57518 -#define SWARB_REQ_SET3 1386,57556 -#define SWARB_REQ_CLR0 1387,57594 -#define SWARB_REQ_CLR1 1388,57632 -#define SWARB_REQ_CLR2 1389,57670 -#define SWARB_REQ_CLR3 1390,57708 -#define SWARB_GNT0 1391,57746 -#define SWARB_GNT1 1392,57780 -#define SWARB_GNT2 1393,57814 -#define SWARB_GNT3 1394,57848 -#define SWARB_REQ0 1395,57882 -#define SWARB_REQ1 1396,57916 -#define SWARB_REQ2 1397,57950 -#define SWARB_REQ3 1398,57984 -#define NVRAM_BUFFERED_PAGE_SIZE 1399,58018 -#define NVRAM_BUFFERED_PAGE_POS 1400,58061 -#define NVRAM_ACCESS 1401,58101 -#define ACCESS_ENABLE 1402,58135 -#define ACCESS_WR_ENABLE 1403,58172 -#define NIC_SRAM_WIN_BASE 1409,58317 -#define NIC_SRAM_PAGE_ZERO 1412,58409 -#define NIC_SRAM_SEND_RCB 1413,58448 -#define NIC_SRAM_RCV_RET_RCB 1414,58512 -#define NIC_SRAM_STATS_BLK 1415,58579 -#define NIC_SRAM_STATUS_BLK 1416,58618 -#define NIC_SRAM_FIRMWARE_MBOX 1418,58659 -#define NIC_SRAM_FIRMWARE_MBOX_MAGIC1 1419,58702 -#define NIC_SRAM_FIRMWARE_MBOX_MAGIC2 1420,58753 -#define NIC_SRAM_DATA_SIG 1422,58827 -#define NIC_SRAM_DATA_SIG_MAGIC 1423,58865 -#define NIC_SRAM_DATA_CFG 1425,58934 -#define NIC_SRAM_DATA_CFG_LED_MODE_MASK 1426,58973 -#define NIC_SRAM_DATA_CFG_LED_MODE_MAC 1427,59026 -#define NIC_SRAM_DATA_CFG_LED_MODE_PHY_1 1428,59079 -#define NIC_SRAM_DATA_CFG_LED_MODE_PHY_2 1429,59133 -#define NIC_SRAM_DATA_CFG_PHY_TYPE_MASK 1430,59187 -#define NIC_SRAM_DATA_CFG_PHY_TYPE_UNKNOWN 1431,59240 -#define NIC_SRAM_DATA_CFG_PHY_TYPE_COPPER 1432,59296 -#define NIC_SRAM_DATA_CFG_PHY_TYPE_FIBER 1433,59351 -#define NIC_SRAM_DATA_CFG_WOL_ENABLE 1434,59405 -#define NIC_SRAM_DATA_CFG_ASF_ENABLE 1435,59456 -#define NIC_SRAM_DATA_CFG_EEPROM_WP 1436,59507 -#define NIC_SRAM_DATA_CFG_MINI_PCI 1437,59557 -#define NIC_SRAM_DATA_CFG_FIBER_WOL 1438,59606 -#define NIC_SRAM_DATA_PHY_ID 1440,59657 -#define NIC_SRAM_DATA_PHY_ID1_MASK 1441,59698 -#define NIC_SRAM_DATA_PHY_ID2_MASK 1442,59746 -#define NIC_SRAM_FW_CMD_MBOX 1444,59795 -#define FWCMD_NICDRV_ALIVE 1445,59836 -#define FWCMD_NICDRV_PAUSE_FW 1446,59877 -#define FWCMD_NICDRV_IPV4ADDR_CHG 1447,59921 -#define FWCMD_NICDRV_IPV6ADDR_CHG 1448,59968 -#define FWCMD_NICDRV_FIX_DMAR 1449,60015 -#define FWCMD_NICDRV_FIX_DMAW 1450,60059 -#define NIC_SRAM_FW_CMD_LEN_MBOX 1451,60103 -#define NIC_SRAM_FW_CMD_DATA_MBOX 1452,60147 -#define NIC_SRAM_FW_ASF_STATUS_MBOX 1453,60192 -#define NIC_SRAM_FW_DRV_STATE_MBOX 1454,60239 -#define DRV_STATE_START 1455,60285 -#define DRV_STATE_START_DONE 1456,60323 -#define DRV_STATE_UNLOAD 1457,60366 -#define DRV_STATE_UNLOAD_DONE 1458,60405 -#define DRV_STATE_WOL 1459,60449 -#define DRV_STATE_SUSPEND 1460,60486 -#define NIC_SRAM_FW_RESET_TYPE_MBOX 1462,60527 -#define NIC_SRAM_MAC_ADDR_HIGH_MBOX 1464,60575 -#define NIC_SRAM_MAC_ADDR_LOW_MBOX 1465,60622 -#define NIC_SRAM_DATA_CFG_2 1467,60669 -#define SHASTA_EXT_LED_MODE_MASK 1469,60710 -#define SHASTA_EXT_LED_LEGACY 1470,60756 -#define SHASTA_EXT_LED_SHARED 1471,60800 -#define SHASTA_EXT_LED_MAC 1472,60844 -#define SHASTA_EXT_LED_COMBO 1473,60885 -#define NIC_SRAM_RX_MINI_BUFFER_DESC 1475,60929 -#define NIC_SRAM_DMA_DESC_POOL_BASE 1477,60978 -#define NIC_SRAM_DMA_DESC_POOL_SIZE 1478,61025 -#define NIC_SRAM_TX_BUFFER_DESC 1479,61074 -#define NIC_SRAM_RX_BUFFER_DESC 1480,61136 -#define NIC_SRAM_RX_JUMBO_BUFFER_DESC 1481,61198 -#define NIC_SRAM_MBUF_POOL_BASE 1482,61265 -#define NIC_SRAM_MBUF_POOL_SIZE96 1483,61309 -#define NIC_SRAM_MBUF_POOL_SIZE64 1484,61356 -#define NIC_SRAM_MBUF_POOL_BASE5705 1485,61403 -#define NIC_SRAM_MBUF_POOL_SIZE5705 1486,61451 -#define PHY_ADDR 1489,61531 -#define TG3_BMCR_SPEED1000 1492,61596 -#define MII_TG3_CTRL 1494,61633 -#define MII_TG3_CTRL_ADV_1000_HALF 1495,61695 -#define MII_TG3_CTRL_ADV_1000_FULL 1496,61738 -#define MII_TG3_CTRL_AS_MASTER 1497,61781 -#define MII_TG3_CTRL_ENABLE_AS_MASTER 1498,61821 -#define MII_TG3_EXT_CTRL 1500,61868 -#define MII_TG3_EXT_CTRL_LNK3_LED_MODE 1501,61931 -#define MII_TG3_EXT_CTRL_TBI 1502,61978 -#define MII_TG3_EXT_STAT 1504,62017 -#define MII_TG3_EXT_STAT_LPASS 1505,62079 -#define MII_TG3_DSP_RW_PORT 1507,62120 -#define MII_TG3_DSP_ADDRESS 1509,62193 -#define MII_TG3_AUX_CTRL 1511,62255 -#define MII_TG3_AUX_STAT 1513,62321 -#define MII_TG3_AUX_STAT_LPASS 1514,62385 -#define MII_TG3_AUX_STAT_SPDMASK 1515,62424 -#define MII_TG3_AUX_STAT_10HALF 1516,62464 -#define MII_TG3_AUX_STAT_10FULL 1517,62504 -#define MII_TG3_AUX_STAT_100HALF 1518,62544 -#define MII_TG3_AUX_STAT_100_4 1519,62584 -#define MII_TG3_AUX_STAT_100FULL 1520,62623 -#define MII_TG3_AUX_STAT_1000HALF 1521,62663 -#define MII_TG3_AUX_STAT_1000FULL 1522,62704 -#define MII_TG3_ISTAT 1524,62746 -#define MII_TG3_IMASK 1525,62801 -#define MII_TG3_INT_LINKCHG 1528,62884 -#define MII_TG3_INT_SPEEDCHG 1529,62920 -#define MII_TG3_INT_DUPLEXCHG 1530,62957 -#define MII_TG3_INT_ANEG_PAGE_RX 1531,62995 -#define ADVERTISE_PAUSE_CAP 1535,63088 -#define ADVERTISE_PAUSE_ASYM 1538,63160 -#define LPA_PAUSE_CAP 1541,63222 -#define LPA_PAUSE_ASYM 1544,63283 -struct tg3_tx_buffer_desc tg3_tx_buffer_desc1583,64995 -#define TXD_FLAG_TCPUDP_CSUM 1588,65077 -#define TXD_FLAG_IP_CSUM 1589,65114 -#define TXD_FLAG_END 1590,65147 -#define TXD_FLAG_IP_FRAG 1591,65177 -#define TXD_FLAG_IP_FRAG_END 1592,65210 -#define TXD_FLAG_VLAN 1593,65247 -#define TXD_FLAG_COAL_NOW 1594,65278 -#define TXD_FLAG_CPU_PRE_DMA 1595,65312 -#define TXD_FLAG_CPU_POST_DMA 1596,65349 -#define TXD_FLAG_ADD_SRC_ADDR 1597,65387 -#define TXD_FLAG_CHOOSE_SRC_ADDR 1598,65425 -#define TXD_FLAG_NO_CRC 1599,65465 -#define TXD_LEN_SHIFT 1600,65498 -#define TXD_VLAN_TAG_SHIFT 1603,65544 -#define TXD_MSS_SHIFT 1604,65574 -#define TXD_ADDR 1607,65605 -#define TXD_LEN_FLAGS 1608,65644 -#define TXD_VLAN_TAG 1609,65712 -#define TXD_SIZE 1610,65779 -struct tg3_rx_buffer_desc tg3_rx_buffer_desc1612,65806 -#define RXD_IDX_MASK 1617,65886 -#define RXD_IDX_SHIFT 1618,65918 -#define RXD_LEN_MASK 1619,65943 -#define RXD_LEN_SHIFT 1620,65975 -#define RXD_TYPE_SHIFT 1623,66020 -#define RXD_FLAGS_SHIFT 1624,66046 -#define RXD_FLAG_END 1626,66073 -#define RXD_FLAG_MINI 1627,66103 -#define RXD_FLAG_JUMBO 1628,66134 -#define RXD_FLAG_VLAN 1629,66166 -#define RXD_FLAG_ERROR 1630,66197 -#define RXD_FLAG_IP_CSUM 1631,66229 -#define RXD_FLAG_TCPUDP_CSUM 1632,66262 -#define RXD_FLAG_IS_TCP 1633,66299 -#define RXD_IPCSUM_MASK 1636,66354 -#define RXD_IPCSUM_SHIFT 1637,66390 -#define RXD_TCPCSUM_MASK 1638,66418 -#define RXD_TCPCSUM_SHIFT 1639,66454 -#define RXD_VLAN_MASK 1643,66502 -#define RXD_ERR_BAD_CRC 1645,66538 -#define RXD_ERR_COLLISION 1646,66575 -#define RXD_ERR_LINK_LOST 1647,66613 -#define RXD_ERR_PHY_DECODE 1648,66651 -#define RXD_ERR_ODD_NIBBLE_RCVD_MII 1649,66690 -#define RXD_ERR_MAC_ABRT 1650,66737 -#define RXD_ERR_TOO_SMALL 1651,66774 -#define RXD_ERR_NO_RESOURCES 1652,66812 -#define RXD_ERR_HUGE_FRAME 1653,66853 -#define RXD_ERR_MASK 1654,66892 -#define RXD_OPAQUE_INDEX_MASK 1658,66961 -#define RXD_OPAQUE_INDEX_SHIFT 1659,67003 -#define RXD_OPAQUE_RING_STD 1660,67037 -#define RXD_OPAQUE_RING_JUMBO 1661,67077 -#define RXD_OPAQUE_RING_MINI 1662,67119 -#define RXD_OPAQUE_RING_MASK 1663,67160 -struct tg3_ext_rx_buffer_desc tg3_ext_rx_buffer_desc1666,67205 -struct tg3_internal_buffer_desc tg3_internal_buffer_desc1680,67542 -#define TG3_HW_STATUS_SIZE 1698,67821 -struct tg3_hw_status tg3_hw_status1699,67854 -#define SD_STATUS_UPDATED 1701,67893 -#define SD_STATUS_LINK_CHG 1702,67931 -#define SD_STATUS_ERROR 1703,67970 -} tg3_stat64_t;tg3_stat64_t1735,68459 -struct tg3_hw_stats tg3_hw_stats1737,68476 -struct ring_info ring_info1840,71787 -struct tx_ring_info tx_ring_info1845,71867 - DECLARE_PCI_UNMAP_ADDR(DECLARE_PCI_UNMAP_ADDR1847,71913 -struct tg3_config_info tg3_config_info1851,71973 -struct tg3_link_config tg3_link_config1855,72017 -#define SPEED_INVALID 1865,72237 -#define DUPLEX_INVALID 1866,72267 -#define AUTONEG_INVALID 1867,72296 -struct tg3_bufmgr_config tg3_bufmgr_config1878,72504 -struct tg3_ethtool_stats tg3_ethtool_stats1891,72764 -struct tg3 tg31974,74874 -#define TG3_FLAG_TXD_MBOX_HWBUG 2043,76571 -#define TG3_FLAG_RX_CHECKSUMS 2044,76615 -#define TG3_FLAG_USE_LINKCHG_REG 2045,76657 -#define TG3_FLAG_USE_MI_INTERRUPT 2046,76701 -#define TG3_FLAG_ENABLE_ASF 2047,76746 -#define TG3_FLAG_5701_REG_WRITE_BUG 2048,76786 -#define TG3_FLAG_POLL_SERDES 2049,76833 -#define TG3_FLAG_MBOX_WRITE_REORDER 2051,76898 -#define TG3_FLAG_MBOX_WRITE_REORDER 2053,76951 -#define TG3_FLAG_PCIX_TARGET_HWBUG 2055,77020 -#define TG3_FLAG_WOL_SPEED_100MB 2056,77066 -#define TG3_FLAG_WOL_ENABLE 2057,77110 -#define TG3_FLAG_EEPROM_WRITE_PROT 2058,77150 -#define TG3_FLAG_NVRAM 2059,77196 -#define TG3_FLAG_NVRAM_BUFFERED 2060,77232 -#define TG3_FLAG_RX_PAUSE 2061,77276 -#define TG3_FLAG_TX_PAUSE 2062,77314 -#define TG3_FLAG_PCIX_MODE 2063,77352 -#define TG3_FLAG_PCI_HIGH_SPEED 2064,77391 -#define TG3_FLAG_PCI_32BIT 2065,77435 -#define TG3_FLAG_NO_TX_PSEUDO_CSUM 2066,77474 -#define TG3_FLAG_NO_RX_PSEUDO_CSUM 2067,77520 -#define TG3_FLAG_SERDES_WOL_CAP 2068,77566 -#define TG3_FLAG_JUMBO_ENABLE 2069,77610 -#define TG3_FLAG_10_100_ONLY 2070,77652 -#define TG3_FLAG_PAUSE_AUTONEG 2071,77693 -#define TG3_FLAG_BROKEN_CHECKSUMS 2072,77736 -#define TG3_FLAG_GOT_SERDES_FLOWCTL 2073,77781 -#define TG3_FLAG_SPLIT_MODE 2074,77828 -#define TG3_FLAG_INIT_COMPLETE 2075,77868 -#define TG3_FLG2_RESTART_TIMER 2077,77931 -#define TG3_FLG2_SUN_570X 2078,77974 -#define TG3_FLG2_NO_ETH_WIRE_SPEED 2079,78012 -#define TG3_FLG2_IS_5788 2080,78058 -#define TG3_FLG2_MAX_RXPEND_64 2081,78095 -#define TG3_FLG2_TSO_CAPABLE 2082,78138 -#define TG3_FLG2_PHY_ADC_BUG 2083,78179 -#define TG3_FLG2_PHY_5704_A0_BUG 2084,78220 -#define TG3_FLG2_PHY_BER_BUG 2085,78264 -#define TG3_FLG2_PCI_EXPRESS 2086,78305 -#define TG3_FLG2_ASF_NEW_HANDSHAKE 2087,78346 -#define TG3_FLG2_HW_AUTONEG 2088,78392 -#define TG3_FLG2_PHY_JUST_INITTED 2089,78432 -#define TG3_FLG2_PHY_SERDES 2090,78477 -#define TG3_FLG2_CAPACITIVE_COUPLING 2091,78517 -#define SPLIT_MODE_5704_MAX_REQ 2094,78595 -#define PHY_ID_MASK 2129,79306 -#define PHY_ID_BCM5400 2130,79339 -#define PHY_ID_BCM5401 2131,79375 -#define PHY_ID_BCM5411 2132,79411 -#define PHY_ID_BCM5701 2133,79447 -#define PHY_ID_BCM5703 2134,79483 -#define PHY_ID_BCM5704 2135,79519 -#define PHY_ID_BCM5705 2136,79555 -#define PHY_ID_BCM5750 2137,79591 -#define PHY_ID_BCM8002 2138,79627 -#define PHY_ID_INVALID 2139,79663 -#define PHY_ID_REV_MASK 2140,79699 -#define PHY_REV_BCM5401_B0 2141,79736 -#define PHY_REV_BCM5401_B2 2142,79768 -#define PHY_REV_BCM5401_C0 2143,79800 -#define PHY_REV_BCM5411_X0 2144,79832 -#define KNOWN_PHY_ID(KNOWN_PHY_ID2156,80114 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/pnic2.c,90 -void pnic2_timer(84,2658 -void pnic2_start_nway(101,3055 -void pnic2_lnk_change(176,5444 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/tulip_core.c,1855 -#define DRV_NAME 19,553 -#define DRV_VERSION 21,603 -#define DRV_VERSION 23,675 -#define DRV_RELDATE 25,711 -static char version[44,1070 -static char version[] __devinitdata 44,1070 -static unsigned int max_interrupt_work 51,1285 -#define MAX_UNITS 53,1331 -static int full_duplex[55,1397 -static int options[56,1432 -static int mtu[57,1463 -const char * const medianame[60,1591 -static int rx_copybreak 73,2227 -static int rx_copybreak 75,2265 -static int csr0 92,2902 -static int csr0 94,2989 -static int csr0 100,3232 -static int csr0 102,3313 -static int csr0 104,3376 -static int csr0 107,3464 -#define TX_TIMEOUT 112,3635 -#define PFX 126,4063 -int tulip_debug 129,4109 -int tulip_debug 131,4146 -struct tulip_chip_table tulip_tbl[142,4305 -static struct pci_device_id tulip_pci_tbl[204,6075 -const char tulip_media_cap[245,8302 -static void tulip_set_power_state 262,9057 -static void tulip_up(280,9456 -tulip_open(486,16364 -static void tulip_tx_timeout(503,16601 -static void tulip_init_ring(591,19668 -tulip_start_xmit(642,21420 -static void tulip_clean_tx_ring(691,22785 -static void tulip_down 727,23732 -static int tulip_close 767,24698 -static struct net_device_stats *tulip_get_stats(815,25873 -static int netdev_ethtool_ioctl(834,26251 -static int private_ioctl 859,26873 -#define set_bit_le(set_bit_le966,30230 -static void build_setup_frame_hash(968,30309 -static void build_setup_frame_perfect(999,31245 -static void set_rx_mode(1027,32199 -static void __devinit tulip_mwi_config 1153,36456 -static int __devinit tulip_init_one 1234,38423 -static int tulip_suspend 1747,53403 -static int tulip_resume(1760,53679 -static void __devexit tulip_remove_one 1778,54001 -static void poll_tulip 1811,54821 -static struct pci_driver tulip_driver 1821,55079 -static int __init tulip_init 1833,55337 -static void __exit tulip_cleanup 1848,55633 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/winbond-840.c,9242 -#define DRV_NAME 47,1512 -#define DRV_VERSION 48,1543 -#define DRV_RELDATE 49,1572 -static int debug 67,2184 -static int max_interrupt_work 68,2255 -static int multicast_filter_limit 71,2438 -static int rx_copybreak;75,2603 -#define MAX_UNITS 82,2806 -static int options[83,2875 -static int full_duplex[84,2941 -#define TX_RING_SIZE 93,3363 -#define TX_QUEUE_LEN 94,3387 -#define TX_QUEUE_LEN_RESTART 95,3453 -#define RX_RING_SIZE 96,3484 -#define TX_BUFLIMIT 98,3509 -#define TX_FIFO_SIZE 104,3707 -#define TX_BUG_FIFO_LIMIT 105,3735 -#define TX_TIMEOUT 110,3910 -#define PKT_BUF_SZ 112,3938 -static char version[140,4783 -static char version[] __devinitdata 140,4783 -enum pci_id_flags_bits pci_id_flags_bits214,7220 - PCI_USES_IO=216,7314 - PCI_USES_IO=1, PCI_USES_MEM=216,7314 - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=216,7314 - PCI_ADDR0=218,7429 - PCI_ADDR0=0<<4, PCI_ADDR1=218,7429 - PCI_ADDR0=0<<4, PCI_ADDR1=1<<4, PCI_ADDR2=218,7429 - PCI_ADDR0=0<<4, PCI_ADDR1=1<<4, PCI_ADDR2=2<<4, PCI_ADDR3=218,7429 - PCI_ADDR_64BITS=219,7501 - PCI_ADDR_64BITS=0x100,219,7501 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=219,7501 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200,219,7501 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200, PCI_NO_MIN_LATENCY=219,7501 - PCI_ADDR_64BITS=0x100, PCI_NO_ACPI_WAKE=0x200, PCI_NO_MIN_LATENCY=0x400,219,7501 -enum chip_capability_flags chip_capability_flags221,7585 - CanHaveMII=222,7614 - CanHaveMII=1, HasBrokenTx=222,7614 - CanHaveMII=1, HasBrokenTx=2, AlwaysFDX=222,7614 - CanHaveMII=1, HasBrokenTx=2, AlwaysFDX=4, FDXOnNoMII=222,7614 -#define W840_FLAGS 224,7691 -#define W840_FLAGS 226,7760 -static struct pci_device_id w840_pci_tbl[229,7832 -struct pci_id_info pci_id_info237,8093 - struct match_info match_info239,8140 -static struct pci_id_info pci_id_tbl[247,8576 -#define readb 269,9325 -#define readw 270,9343 -#define readl 271,9361 -#define writeb 272,9379 -#define writew 273,9399 -#define writel 274,9419 -enum w840_offsets w840_offsets283,9776 - PCIBusCfg=284,9796 - PCIBusCfg=0x00,284,9796 - PCIBusCfg=0x00, TxStartDemand=284,9796 - PCIBusCfg=0x00, TxStartDemand=0x04,284,9796 - PCIBusCfg=0x00, TxStartDemand=0x04, RxStartDemand=284,9796 - PCIBusCfg=0x00, TxStartDemand=0x04, RxStartDemand=0x08,284,9796 - RxRingPtr=285,9853 - RxRingPtr=0x0C,285,9853 - RxRingPtr=0x0C, TxRingPtr=285,9853 - RxRingPtr=0x0C, TxRingPtr=0x10,285,9853 - IntrStatus=286,9886 - IntrStatus=0x14,286,9886 - IntrStatus=0x14, NetworkConfig=286,9886 - IntrStatus=0x14, NetworkConfig=0x18,286,9886 - IntrStatus=0x14, NetworkConfig=0x18, IntrEnable=286,9886 - IntrStatus=0x14, NetworkConfig=0x18, IntrEnable=0x1C,286,9886 - RxMissed=287,9941 - RxMissed=0x20,287,9941 - RxMissed=0x20, EECtrl=287,9941 - RxMissed=0x20, EECtrl=0x24,287,9941 - RxMissed=0x20, EECtrl=0x24, MIICtrl=287,9941 - RxMissed=0x20, EECtrl=0x24, MIICtrl=0x24,287,9941 - RxMissed=0x20, EECtrl=0x24, MIICtrl=0x24, BootRom=287,9941 - RxMissed=0x20, EECtrl=0x24, MIICtrl=0x24, BootRom=0x28,287,9941 - RxMissed=0x20, EECtrl=0x24, MIICtrl=0x24, BootRom=0x28, GPTimer=287,9941 - RxMissed=0x20, EECtrl=0x24, MIICtrl=0x24, BootRom=0x28, GPTimer=0x2C,287,9941 - CurRxDescAddr=288,10012 - CurRxDescAddr=0x30,288,10012 - CurRxDescAddr=0x30, CurRxBufAddr=288,10012 - CurRxDescAddr=0x30, CurRxBufAddr=0x34,288,10012 - MulticastFilter0=289,10070 - MulticastFilter0=0x38,289,10070 - MulticastFilter0=0x38, MulticastFilter1=289,10070 - MulticastFilter0=0x38, MulticastFilter1=0x3C,289,10070 - MulticastFilter0=0x38, MulticastFilter1=0x3C, StationAddr=289,10070 - MulticastFilter0=0x38, MulticastFilter1=0x3C, StationAddr=0x40,289,10070 - CurTxDescAddr=290,10135 - CurTxDescAddr=0x4C,290,10135 - CurTxDescAddr=0x4C, CurTxBufAddr=290,10135 - CurTxDescAddr=0x4C, CurTxBufAddr=0x50,290,10135 -enum intr_status_bits intr_status_bits295,10310 - NormalIntr=296,10334 - NormalIntr=0x10000,296,10334 - NormalIntr=0x10000, AbnormalIntr=296,10334 - NormalIntr=0x10000, AbnormalIntr=0x8000,296,10334 - IntrPCIErr=297,10376 - IntrPCIErr=0x2000,297,10376 - IntrPCIErr=0x2000, TimerInt=297,10376 - IntrPCIErr=0x2000, TimerInt=0x800,297,10376 - IntrRxDied=298,10412 - IntrRxDied=0x100,298,10412 - IntrRxDied=0x100, RxNoBuf=298,10412 - IntrRxDied=0x100, RxNoBuf=0x80,298,10412 - IntrRxDied=0x100, RxNoBuf=0x80, IntrRxDone=298,10412 - IntrRxDied=0x100, RxNoBuf=0x80, IntrRxDone=0x40,298,10412 - TxFIFOUnderflow=299,10462 - TxFIFOUnderflow=0x20,299,10462 - TxFIFOUnderflow=0x20, RxErrIntr=299,10462 - TxFIFOUnderflow=0x20, RxErrIntr=0x10,299,10462 - TxIdle=300,10501 - TxIdle=0x04,300,10501 - TxIdle=0x04, IntrTxStopped=300,10501 - TxIdle=0x04, IntrTxStopped=0x02,300,10501 - TxIdle=0x04, IntrTxStopped=0x02, IntrTxDone=300,10501 - TxIdle=0x04, IntrTxStopped=0x02, IntrTxDone=0x01,300,10501 -enum rx_mode_bits rx_mode_bits304,10598 - AcceptErr=305,10618 - AcceptErr=0x80,305,10618 - AcceptErr=0x80, AcceptRunt=305,10618 - AcceptErr=0x80, AcceptRunt=0x40,305,10618 - AcceptBroadcast=306,10652 - AcceptBroadcast=0x20,306,10652 - AcceptBroadcast=0x20, AcceptMulticast=306,10652 - AcceptBroadcast=0x20, AcceptMulticast=0x10,306,10652 - AcceptAllPhys=307,10697 - AcceptAllPhys=0x08,307,10697 - AcceptAllPhys=0x08, AcceptMyPhys=307,10697 - AcceptAllPhys=0x08, AcceptMyPhys=0x02,307,10697 -enum mii_reg_bits mii_reg_bits310,10741 - MDIO_ShiftClk=311,10761 - MDIO_ShiftClk=0x10000,311,10761 - MDIO_ShiftClk=0x10000, MDIO_DataIn=311,10761 - MDIO_ShiftClk=0x10000, MDIO_DataIn=0x80000,311,10761 - MDIO_ShiftClk=0x10000, MDIO_DataIn=0x80000, MDIO_DataOut=311,10761 - MDIO_ShiftClk=0x10000, MDIO_DataIn=0x80000, MDIO_DataOut=0x20000,311,10761 - MDIO_EnbOutput=312,10828 - MDIO_EnbOutput=0x40000,312,10828 - MDIO_EnbOutput=0x40000, MDIO_EnbIn 312,10828 - MDIO_EnbOutput=0x40000, MDIO_EnbIn = 0x00000,312,10828 -struct w840_rx_desc w840_rx_desc316,10925 -struct w840_tx_desc w840_tx_desc323,11005 -enum desc_status_bits desc_status_bits330,11114 - DescOwn=331,11138 - DescOwn=0x80000000,331,11138 - DescOwn=0x80000000, DescEndRing=331,11138 - DescOwn=0x80000000, DescEndRing=0x02000000,331,11138 - DescOwn=0x80000000, DescEndRing=0x02000000, DescUseLink=331,11138 - DescOwn=0x80000000, DescEndRing=0x02000000, DescUseLink=0x01000000,331,11138 - DescWholePkt=332,11207 - DescWholePkt=0x60000000,332,11207 - DescWholePkt=0x60000000, DescStartPkt=332,11207 - DescWholePkt=0x60000000, DescStartPkt=0x20000000,332,11207 - DescWholePkt=0x60000000, DescStartPkt=0x20000000, DescEndPkt=332,11207 - DescWholePkt=0x60000000, DescStartPkt=0x20000000, DescEndPkt=0x40000000,332,11207 - DescIntr=333,11281 - DescIntr=0x80000000,333,11281 -#define MII_CNT 336,11307 -struct netdev_private netdev_private337,11362 -static struct ethtool_ops netdev_ethtool_ops;387,13646 -static int __devinit w840_probe1 392,13746 -#define eeprom_delay(eeprom_delay541,17863 -enum EEPROM_Ctrl_Bits EEPROM_Ctrl_Bits543,17909 - EE_ShiftClk=544,17933 - EE_ShiftClk=0x02,544,17933 - EE_ShiftClk=0x02, EE_Write0=544,17933 - EE_ShiftClk=0x02, EE_Write0=0x801,544,17933 - EE_ShiftClk=0x02, EE_Write0=0x801, EE_Write1=544,17933 - EE_ShiftClk=0x02, EE_Write0=0x801, EE_Write1=0x805,544,17933 - EE_ChipSelect=545,17986 - EE_ChipSelect=0x801,545,17986 - EE_ChipSelect=0x801, EE_DataIn=545,17986 - EE_ChipSelect=0x801, EE_DataIn=0x08,545,17986 -enum EEPROM_Cmds EEPROM_Cmds549,18089 - EE_WriteCmd=550,18108 - EE_WriteCmd=(5 << 6), EE_ReadCmd=550,18108 - EE_WriteCmd=(5 << 6), EE_ReadCmd=(6 << 6), EE_EraseCmd=550,18108 -static int eeprom_read(553,18178 -#define mdio_delay(mdio_delay592,19278 -static char mii_preamble_required 597,19510 -#define MDIO_WRITE0 599,19550 -#define MDIO_WRITE1 600,19587 -static void mdio_sync(604,19738 -static int mdio_read(617,20015 -static void mdio_write(646,20855 -static int netdev_open(679,21707 -#define MII_DAVICOM_DM9101 720,22654 -static int update_link(722,22693 -#define RXTX_TIMEOUT 784,24589 -static inline void update_csr6(785,24615 -static void netdev_timer(825,25486 -static void init_rxtx_rings(843,26018 -static void free_rxtx_rings(891,27370 -static void init_registers(918,28000 -static void tx_timeout(976,29753 -static int alloc_ringdesc(1022,31061 -static void free_ringdesc(1038,31458 -static int start_tx(1047,31678 -static void netdev_tx_done(1111,33715 -static irqreturn_t intr_handler(1163,35420 -static int netdev_rx(1228,37315 -static void netdev_error(1344,41277 -static struct net_device_stats *get_stats(1388,42440 -static u32 __set_rx_mode(1403,42839 -static void set_rx_mode(1437,44075 -static void netdev_get_drvinfo 1446,44310 -static int netdev_get_settings(1455,44563 -static int netdev_set_settings(1467,44809 -static int netdev_nway_reset(1479,45055 -static u32 netdev_get_link(1485,45192 -static u32 netdev_get_msglevel(1491,45322 -static void netdev_set_msglevel(1496,45397 -static struct ethtool_ops netdev_ethtool_ops 1501,45485 -static int netdev_ioctl(1513,45870 -static int netdev_close(1541,46683 -static void __devexit w840_remove1 1598,48225 -static int w840_suspend 1639,49401 -static int w840_resume 1676,50207 -static struct pci_driver w840_driver 1709,50884 -static int __init w840_init(1720,51114 -static void __exit w840_exit(1726,51210 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/xircom_tulip_cb.c,10410 -#define DRV_NAME 28,720 -#define DRV_VERSION 29,755 -#define DRV_RELDATE 30,788 -#define CARDBUS 32,828 -static int max_interrupt_work 37,955 -#define MAX_UNITS 39,992 -static int full_duplex[41,1058 -static int options[42,1093 -static int mtu[43,1124 -#define TX_RING_SIZE 49,1404 -#define RX_RING_SIZE 50,1428 -static int rx_copybreak 54,1544 -static int rx_copybreak 56,1582 -static int csr0 73,2219 -static int csr0 75,2285 -static int csr0 77,2349 -static int csr0 79,2412 -static int csr0 82,2500 -#define TX_TIMEOUT 87,2671 -#define PKT_BUF_SZ 88,2700 -#define PKT_SETUP_SZ 89,2766 -#define PCI_POWERMGMT 92,2845 -static char version[112,3345 -static char version[] __devinitdata 112,3345 -#define RUN_AT(RUN_AT128,3952 -#define xircom_debug 130,3987 -static int xircom_debug 132,4034 -static int xircom_debug 134,4080 -enum MediaIs MediaIs209,7198 - MediaIsFD 210,7213 - MediaIsFD = 1, MediaAlwaysFD=210,7213 - MediaIsFD = 1, MediaAlwaysFD=2, MediaIsMII=210,7213 - MediaIsFD = 1, MediaAlwaysFD=2, MediaIsMII=4, MediaIsFx=210,7213 - MediaIs100=211,7273 -static const char media_cap[212,7290 -enum xircom_offsets xircom_offsets217,7500 - CSR0=218,7522 - CSR0=0, CSR1=218,7522 - CSR0=0, CSR1=0x08,218,7522 - CSR0=0, CSR1=0x08, CSR2=218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10,218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18,218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18, CSR4=218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18, CSR4=0x20,218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18, CSR4=0x20, CSR5=218,7522 - CSR0=0, CSR1=0x08, CSR2=0x10, CSR3=0x18, CSR4=0x20, CSR5=0x28,218,7522 - CSR6=219,7589 - CSR6=0x30,219,7589 - CSR6=0x30, CSR7=219,7589 - CSR6=0x30, CSR7=0x38,219,7589 - CSR6=0x30, CSR7=0x38, CSR8=219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40,219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48,219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48, CSR10=219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48, CSR10=0x50,219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48, CSR10=0x50, CSR11=219,7589 - CSR6=0x30, CSR7=0x38, CSR8=0x40, CSR9=0x48, CSR10=0x50, CSR11=0x58,219,7589 - CSR12=220,7658 - CSR12=0x60,220,7658 - CSR12=0x60, CSR13=220,7658 - CSR12=0x60, CSR13=0x68,220,7658 - CSR12=0x60, CSR13=0x68, CSR14=220,7658 - CSR12=0x60, CSR13=0x68, CSR14=0x70,220,7658 - CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=220,7658 - CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78,220,7658 - CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78, CSR16=220,7658 - CSR12=0x60, CSR13=0x68, CSR14=0x70, CSR15=0x78, CSR16=0x04,220,7658 -enum status_bits status_bits223,7794 - LinkChange=224,7813 - LinkChange=0x08000000,224,7813 - NormalIntr=225,7837 - NormalIntr=0x10000,225,7837 - NormalIntr=0x10000, NormalIntrMask=225,7837 - NormalIntr=0x10000, NormalIntrMask=0x00014045,225,7837 - AbnormalIntr=226,7885 - AbnormalIntr=0x8000,226,7885 - AbnormalIntr=0x8000, AbnormalIntrMask=226,7885 - AbnormalIntr=0x8000, AbnormalIntrMask=0x0a00a5a2,226,7885 - ReservedIntrMask=227,7936 - ReservedIntrMask=0xe0001a18,227,7936 - EarlyRxIntr=228,7966 - EarlyRxIntr=0x4000,228,7966 - EarlyRxIntr=0x4000, BusErrorIntr=228,7966 - EarlyRxIntr=0x4000, BusErrorIntr=0x2000,228,7966 - EarlyTxIntr=229,8008 - EarlyTxIntr=0x400,229,8008 - EarlyTxIntr=0x400, RxDied=229,8008 - EarlyTxIntr=0x400, RxDied=0x100,229,8008 - EarlyTxIntr=0x400, RxDied=0x100, RxNoBuf=229,8008 - EarlyTxIntr=0x400, RxDied=0x100, RxNoBuf=0x80,229,8008 - EarlyTxIntr=0x400, RxDied=0x100, RxNoBuf=0x80, RxIntr=229,8008 - EarlyTxIntr=0x400, RxDied=0x100, RxNoBuf=0x80, RxIntr=0x40,229,8008 - TxFIFOUnderflow=230,8069 - TxFIFOUnderflow=0x20,230,8069 - TxFIFOUnderflow=0x20, TxNoBuf=230,8069 - TxFIFOUnderflow=0x20, TxNoBuf=0x04,230,8069 - TxFIFOUnderflow=0x20, TxNoBuf=0x04, TxDied=230,8069 - TxFIFOUnderflow=0x20, TxNoBuf=0x04, TxDied=0x02,230,8069 - TxFIFOUnderflow=0x20, TxNoBuf=0x04, TxDied=0x02, TxIntr=230,8069 - TxFIFOUnderflow=0x20, TxNoBuf=0x04, TxDied=0x02, TxIntr=0x01,230,8069 -enum csr0_control_bits csr0_control_bits233,8136 - EnableMWI=234,8161 - EnableMWI=0x01000000,234,8161 - EnableMWI=0x01000000, EnableMRL=234,8161 - EnableMWI=0x01000000, EnableMRL=0x00800000,234,8161 - EnableMRM=235,8206 - EnableMRM=0x00200000,235,8206 - EnableMRM=0x00200000, EqualBusPrio=235,8206 - EnableMRM=0x00200000, EqualBusPrio=0x02,235,8206 - SoftwareReset=236,8248 - SoftwareReset=0x01,236,8248 -enum csr6_control_bits csr6_control_bits239,8273 - ReceiveAllBit=240,8298 - ReceiveAllBit=0x40000000,240,8298 - ReceiveAllBit=0x40000000, AllMultiBit=240,8298 - ReceiveAllBit=0x40000000, AllMultiBit=0x80,240,8298 - ReceiveAllBit=0x40000000, AllMultiBit=0x80, PromiscBit=240,8298 - ReceiveAllBit=0x40000000, AllMultiBit=0x80, PromiscBit=0x40,240,8298 - HashFilterBit=241,8360 - HashFilterBit=0x01,241,8360 - HashFilterBit=0x01, FullDuplexBit=241,8360 - HashFilterBit=0x01, FullDuplexBit=0x0200,241,8360 - TxThresh10=242,8403 - TxThresh10=0x400000,242,8403 - TxThresh10=0x400000, TxStoreForw=242,8403 - TxThresh10=0x400000, TxStoreForw=0x200000,242,8403 - TxThreshMask=243,8447 - TxThreshMask=0xc000,243,8447 - TxThreshMask=0xc000, TxThreshShift=243,8447 - EnableTx=244,8487 - EnableTx=0x2000,244,8487 - EnableTx=0x2000, EnableRx=244,8487 - EnableTx=0x2000, EnableRx=0x02,244,8487 - ReservedZeroMask=245,8520 - ReservedZeroMask=0x8d930134,245,8520 - ReservedZeroMask=0x8d930134, ReservedOneMask=245,8520 - ReservedZeroMask=0x8d930134, ReservedOneMask=0x320c0000,245,8520 - EnableTxRx=246,8578 - EnableTxRx=(EnableTx 246,8578 - EnableTxRx=(EnableTx | EnableRx)246,8578 -enum tbl_flag tbl_flag250,8618 - HAS_MII=251,8634 - HAS_MII=1, HAS_ACPI=251,8634 -static struct xircom_chip_table xircom_chip_table253,8661 -} xircom_tbl[257,8782 -enum chips chips265,9038 - X3201_3,266,9051 -struct xircom_rx_desc xircom_rx_desc271,9113 -struct xircom_tx_desc xircom_tx_desc277,9190 -enum tx_desc0_status_bits tx_desc0_status_bits283,9299 - Tx0DescOwned=284,9327 - Tx0DescOwned=0x80000000,284,9327 - Tx0DescOwned=0x80000000, Tx0DescError=284,9327 - Tx0DescOwned=0x80000000, Tx0DescError=0x8000,284,9327 - Tx0DescOwned=0x80000000, Tx0DescError=0x8000, Tx0NoCarrier=284,9327 - Tx0DescOwned=0x80000000, Tx0DescError=0x8000, Tx0NoCarrier=0x0800,284,9327 - Tx0LateColl=285,9395 - Tx0LateColl=0x0200,285,9395 - Tx0LateColl=0x0200, Tx0ManyColl=285,9395 - Tx0LateColl=0x0200, Tx0ManyColl=0x0100,285,9395 - Tx0LateColl=0x0200, Tx0ManyColl=0x0100, Tx0Underflow=285,9395 - Tx0LateColl=0x0200, Tx0ManyColl=0x0100, Tx0Underflow=0x02,285,9395 -enum tx_desc1_status_bits tx_desc1_status_bits287,9458 - Tx1ComplIntr=288,9486 - Tx1ComplIntr=0x80000000,288,9486 - Tx1ComplIntr=0x80000000, Tx1LastSeg=288,9486 - Tx1ComplIntr=0x80000000, Tx1LastSeg=0x40000000,288,9486 - Tx1ComplIntr=0x80000000, Tx1LastSeg=0x40000000, Tx1FirstSeg=288,9486 - Tx1ComplIntr=0x80000000, Tx1LastSeg=0x40000000, Tx1FirstSeg=0x20000000,288,9486 - Tx1SetupPkt=289,9559 - Tx1SetupPkt=0x08000000,289,9559 - Tx1SetupPkt=0x08000000, Tx1DisableCRC=289,9559 - Tx1SetupPkt=0x08000000, Tx1DisableCRC=0x04000000,289,9559 - Tx1SetupPkt=0x08000000, Tx1DisableCRC=0x04000000, Tx1RingWrap=289,9559 - Tx1SetupPkt=0x08000000, Tx1DisableCRC=0x04000000, Tx1RingWrap=0x02000000,289,9559 - Tx1ChainDesc=290,9634 - Tx1ChainDesc=0x01000000,290,9634 - Tx1ChainDesc=0x01000000, Tx1NoPad=290,9634 - Tx1ChainDesc=0x01000000, Tx1NoPad=0x800000,290,9634 - Tx1ChainDesc=0x01000000, Tx1NoPad=0x800000, Tx1HashSetup=290,9634 - Tx1ChainDesc=0x01000000, Tx1NoPad=0x800000, Tx1HashSetup=0x400000,290,9634 - Tx1WholePkt=291,9702 - Tx1WholePkt=(Tx1FirstSeg 291,9702 - Tx1WholePkt=(Tx1FirstSeg | Tx1LastSeg)291,9702 -enum rx_desc0_status_bits rx_desc0_status_bits293,9746 - Rx0DescOwned=294,9774 - Rx0DescOwned=0x80000000,294,9774 - Rx0DescOwned=0x80000000, Rx0DescError=294,9774 - Rx0DescOwned=0x80000000, Rx0DescError=0x8000,294,9774 - Rx0DescOwned=0x80000000, Rx0DescError=0x8000, Rx0NoSpace=294,9774 - Rx0DescOwned=0x80000000, Rx0DescError=0x8000, Rx0NoSpace=0x4000,294,9774 - Rx0Runt=295,9840 - Rx0Runt=0x0800,295,9840 - Rx0Runt=0x0800, Rx0McastPkt=295,9840 - Rx0Runt=0x0800, Rx0McastPkt=0x0400,295,9840 - Rx0Runt=0x0800, Rx0McastPkt=0x0400, Rx0FirstSeg=295,9840 - Rx0Runt=0x0800, Rx0McastPkt=0x0400, Rx0FirstSeg=0x0200,295,9840 - Rx0Runt=0x0800, Rx0McastPkt=0x0400, Rx0FirstSeg=0x0200, Rx0LastSeg=295,9840 - Rx0Runt=0x0800, Rx0McastPkt=0x0400, Rx0FirstSeg=0x0200, Rx0LastSeg=0x0100,295,9840 - Rx0HugeFrame=296,9916 - Rx0HugeFrame=0x80,296,9916 - Rx0HugeFrame=0x80, Rx0CRCError=296,9916 - Rx0HugeFrame=0x80, Rx0CRCError=0x02,296,9916 - Rx0WholePkt=297,9954 - Rx0WholePkt=(Rx0FirstSeg 297,9954 - Rx0WholePkt=(Rx0FirstSeg | Rx0LastSeg)297,9954 -enum rx_desc1_status_bits rx_desc1_status_bits299,9998 - Rx1RingWrap=300,10026 - Rx1RingWrap=0x02000000,300,10026 - Rx1RingWrap=0x02000000, Rx1ChainDesc=300,10026 - Rx1RingWrap=0x02000000, Rx1ChainDesc=0x01000000,300,10026 -struct xircom_private xircom_private303,10080 -static void outl_CSR6(358,12510 -static void __devinit read_mac_address(404,14008 -static void find_mii_transceivers(452,15414 -static void transceiver_voodoo(507,17673 -static int __devinit xircom_init_one(535,18363 -#define mdio_delay(mdio_delay669,21966 -#define MDIO_SHIFT_CLK 674,22208 -#define MDIO_DATA_WRITE0 675,22239 -#define MDIO_DATA_WRITE1 676,22272 -#define MDIO_ENB 677,22305 -#define MDIO_ENB_IN 678,22375 -#define MDIO_DATA_READ 679,22404 -static int mdio_read(681,22436 -static void mdio_write(717,23463 -xircom_up(751,24366 -xircom_open(806,25811 -static void xircom_tx_timeout(820,26030 -static void xircom_init_ring(872,27660 -xircom_start_xmit(921,29202 -static void xircom_media_change(973,30713 -static void check_duplex(1034,32380 -static irqreturn_t xircom_interrupt(1066,33297 -xircom_rx(1205,37347 -xircom_down(1304,40456 -xircom_close(1322,40899 -static struct net_device_stats *xircom_get_stats(1361,41767 -static int xircom_ethtool_ioctl(1373,42032 -static int xircom_ioctl(1472,44687 -static void set_rx_mode(1533,46216 -static struct pci_device_id xircom_pci_table[1665,50256 -static int xircom_suspend(1673,50441 -static int xircom_resume(1689,50793 -static void __devexit xircom_remove_one(1715,51448 -static struct pci_driver xircom_driver 1727,51725 -static int __init xircom_init(1739,51990 -static void __exit xircom_exit(1749,52191 -module_init(1754,52273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/de4x5.c,6710 -static char version[483,23700 -static char version[] __devinitdata 483,23700 -#define c_char 485,23797 -#define TWIDDLE(TWIDDLE486,23823 -struct phy_table phy_table491,23920 -struct mii_phy mii_phy502,24303 -#define DE4X5_MAX_PHY 521,25280 -struct sia_phy sia_phy523,25359 -static struct phy_table phy_info[537,26003 -#define GENERIC_REG 550,26632 -#define GENERIC_MASK 551,26711 -#define GENERIC_VALUE 552,26790 -static c_char enet_det[557,26915 -#define SMC 562,27041 -#define ACCTON 563,27058 -static c_char srom_repair_info[570,27268 -static int de4x5_debug 579,27505 -static int de4x5_debug 582,27649 -static char *args 595,28017 -static char *args;597,28055 -struct parameters parameters600,28082 -#define DE4X5_AUTOSENSE_MS 605,28138 -#define DE4X5_NDA 607,28209 -#define PROBE_LENGTH 612,28307 -#define ETH_PROM_SIG 613,28334 -#define PKT_BUF_SZ 618,28395 -#define IEEE802_3_SZ 619,28470 -#define MAX_PKT_SZ 620,28529 -#define MAX_DAT_SZ 621,28604 -#define MIN_DAT_SZ 622,28677 -#define PKT_HDR_LEN 623,28750 -#define FAKE_FRAME_LEN 624,28827 -#define QUEUE_PKT_TIMEOUT 625,28868 -#define DE4X5_EISA_IO_PORTS 631,28959 -#define DE4X5_EISA_TOTAL_SIZE 632,29035 -#define EISA_ALLOWED_IRQ_LIST 634,29101 -#define DE4X5_SIGNATURE 636,29148 -#define DE4X5_NAME_LENGTH 637,29214 -static c_char *de4x5_signatures[639,29243 -#define PROBE_LENGTH 644,29340 -#define ETH_PROM_SIG 645,29367 -#define PCI_MAX_BUS_NUM 650,29430 -#define DE4X5_PCI_TOTAL_SIZE 651,29461 -#define DE4X5_CLASS_CODE 652,29526 -#define DE4X5_ALIGN4 660,29873 -#define DE4X5_ALIGN8 661,29942 -#define DE4X5_ALIGN16 662,30011 -#define DE4X5_ALIGN32 663,30080 -#define DE4X5_ALIGN64 664,30149 -#define DE4X5_ALIGN128 665,30219 -#define DE4X5_ALIGN 667,30290 -#define DE4X5_CACHE_ALIGN 668,30374 -#define DESC_SKIP_LEN 669,30413 -#define DESC_ALIGN671,30562 -static int dec_only;674,30660 -static int dec_only 676,30687 -#define ENABLE_IRQs 682,30754 -#define DISABLE_IRQs 687,30868 -#define UNMASK_IRQs 693,31011 -#define MASK_IRQs 698,31126 -#define START_DE4X5 707,31291 -#define STOP_DE4X5 713,31444 -#define RESET_SIA 722,31624 -#define DE4X5_AUTOSENSE_MS 727,31751 -struct de4x5_srom de4x5_srom732,31808 -#define SUB_VENDOR_ID 744,32056 -#define NUM_RX_DESC 754,32509 -#define NUM_TX_DESC 755,32582 -#define RX_BUFF_SZ 756,32655 -struct de4x5_desc de4x5_desc759,32874 - DESC_ALIGNDESC_ALIGN764,32960 -#define DE4X5_PKT_STAT_SZ 770,33016 -#define DE4X5_PKT_BIN_SZ 771,33045 -struct pkt_stats pkt_stats774,33191 -struct de4x5_private de4x5_private788,33499 -} last 880,39320 -#define TX_BUFFS_AVAIL 889,39592 -#define TX_PKT_PENDING 893,39731 -static int io=1019,47095 -struct InfoLeaf InfoLeaf1035,47644 -static struct InfoLeaf infoleaf_array[1039,47718 -#define INFOLEAF_SIZE 1045,47896 -static int (*dc_infoblock[1050,48016 -static int (*dc_infoblock[])(struct net_device *dev,1050,48016 -static int (*dc_infoblock[])(struct net_device *dev, u_char,1050,48016 -static int (*dc_infoblock[])(struct net_device *dev, u_char, u_char 1050,48016 -#define COMPACT 1060,48243 -#define RESET_DE4X5 1065,48335 -#define PHY_HARD_RESET 1077,48572 -de4x5_hw_init(1086,48849 -de4x5_open(1295,54764 -de4x5_init(1371,57094 -de4x5_sw_reset(1385,57362 -de4x5_queue_pkt(1463,59633 -de4x5_interrupt(1542,62483 -de4x5_rx(1611,64392 -de4x5_free_tx_buff(1688,66853 -de4x5_tx(1702,67233 -de4x5_ast(1754,68774 -de4x5_txur(1777,69310 -de4x5_rx_ovfc(1800,69800 -de4x5_close(1821,70273 -de4x5_get_stats(1857,71051 -de4x5_local_stats(1868,71306 -load_packet(1907,72626 -set_multicast_list(1928,73330 -SetMulticastFilter(1958,74232 -static u_char de4x5_irq[2010,75719 -static int __init de4x5_eisa_probe 2012,75771 -static int __devexit de4x5_eisa_remove 2098,77954 -static struct eisa_device_id de4x5_eisa_ids[2114,78298 -static struct eisa_driver de4x5_eisa_driver 2119,78428 -srom_search(2138,79032 -static int __devinit de4x5_pci_probe 2218,81635 -static void __devexit de4x5_pci_remove 2340,84548 -static struct pci_device_id de4x5_pci_tbl[2354,84836 -static struct pci_driver de4x5_pci_driver 2366,85293 -autoconf_media(2383,85876 -dc21040_autoconf(2424,87335 -dc21040_state(2495,89139 -de4x5_suspect_state(2534,90022 -dc21041_autoconf(2578,91215 -dc21140m_autoconf(2780,96369 -dc2114x_autoconf(2964,101671 -srom_autoconf(3215,108182 -srom_map_media(3228,108531 -de4x5_init_connection(3293,109823 -de4x5_reset_phy(3322,110593 -test_media(3356,111451 -test_tp(3394,112326 -#define SAMPLE_INTERVAL 3420,112899 -#define SAMPLE_DELAY 3421,112937 -test_for_100Mb(3423,112986 -wait_for_link(3454,113739 -test_mii_reg(3476,114011 -is_spd_100(3500,114519 -is_100_up(3524,115233 -is_10_up(3545,115926 -is_anc_capable(3568,116636 -ping_media(3587,117151 -de4x5_alloc_rx_buff(3628,118205 -de4x5_free_rx_buffs(3676,119555 -de4x5_free_tx_buffs(3693,119895 -de4x5_save_skbs(3720,120579 -de4x5_rst_desc_ring(3741,121041 -de4x5_cache_state(3774,121707 -de4x5_put_cache(3804,122435 -de4x5_putb_cache(3821,122747 -de4x5_get_cache(3833,122984 -test_ans(3851,123345 -de4x5_setup_intr(3879,123937 -reset_init_sia(3900,124344 -create_packet(3934,125081 -EISA_signature(3956,125606 -PCI_signature(3977,126112 -DevicePresent(4022,127619 -enet_addr_rst(4061,128685 -get_hw_addr(4101,129607 -de4x5_bad_srom(4187,131994 -de4x5_strncmp(4207,132392 -srom_repair(4219,132534 -test_bad_enet(4240,133018 -an_exception(4275,133918 -srom_rd(4289,134137 -srom_latch(4301,134464 -srom_command(4311,134642 -srom_address(4321,134833 -srom_data(4337,135122 -sendto_srom(4373,135725 -getfrom_srom(4382,135838 -srom_infoleaf_info(4393,135955 -srom_init(4441,137323 -srom_exec(4486,138385 -dc21041_infoleaf(4517,139256 -dc21140_infoleaf(4523,139345 -dc21142_infoleaf(4561,140163 -dc21143_infoleaf(4596,140918 -compact_infoblock(4634,141812 -type0_infoblock(4674,142865 -type1_infoblock(4714,143895 -type2_infoblock(4753,144957 -type3_infoblock(4794,146011 -type4_infoblock(4836,147195 -type5_infoblock(4881,148488 -mii_rd(4910,149124 -mii_wr(4923,149759 -mii_rdata(4938,150495 -mii_wdata(4952,150683 -mii_address(4965,150869 -mii_ta(4979,151079 -mii_swap(4992,151346 -sendto_mii(5006,151516 -getfrom_mii(5020,151742 -mii_get_oui(5034,152002 -mii_get_phy(5081,153029 -build_setup_frame(5145,155265 -enable_ast(5177,156136 -disable_ast(5185,156280 -de4x5_switch_mac_port(5195,156431 -gep_wr(5231,157337 -gep_rd(5246,157659 -timeout(5261,157965 -yawn(5284,158488 -de4x5_parse_params(5330,159358 -de4x5_dbg_open(5373,160403 -de4x5_dbg_mii(5424,161804 -de4x5_dbg_media(5452,162840 -de4x5_dbg_srom(5478,163571 -de4x5_dbg_rx(5504,164356 -de4x5_ioctl(5543,165393 -#define DE4X5_DUMP 5655,169007 -static int __init de4x5_module_init 5752,172163 -static void __exit de4x5_module_exit 5766,172386 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/interrupt.c,378 -int tulip_rx_copybreak;22,591 -unsigned int tulip_max_interrupt_work;23,615 -#define MIT_SIZE 26,694 -#define MIT_TABLE 27,714 -unsigned int mit_table[29,758 -int tulip_refill_rx(64,1724 -void oom_timer(104,2732 -int tulip_poll(110,2857 -static int tulip_rx(362,13959 -static inline unsigned int phy_interrupt 474,17601 -irqreturn_t tulip_interrupt(500,18225 - entry 756,25739 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/de4x5.h,18432 -#define DE4X5_BMR 16,471 -#define DE4X5_TPD 17,543 -#define DE4X5_RPD 18,622 -#define DE4X5_RRBA 19,700 -#define DE4X5_TRBA 20,779 -#define DE4X5_STS 21,858 -#define DE4X5_OMR 22,928 -#define DE4X5_IMR 23,1006 -#define DE4X5_MFC 24,1084 -#define DE4X5_APROM 25,1159 -#define DE4X5_BROM 26,1235 -#define DE4X5_SROM 27,1307 -#define DE4X5_MII 28,1381 -#define DE4X5_DDR 29,1458 -#define DE4X5_FDR 30,1537 -#define DE4X5_GPT 31,1612 -#define DE4X5_GEP 32,1692 -#define DE4X5_SISR 33,1771 -#define DE4X5_SICR 34,1845 -#define DE4X5_STRR 35,1925 -#define DE4X5_SIGR 36,1998 -#define EISA_ID 41,2109 -#define EISA_ID0 42,2171 -#define EISA_ID1 43,2234 -#define EISA_ID2 44,2297 -#define EISA_ID3 45,2360 -#define EISA_CR 46,2423 -#define EISA_REG0 47,2488 -#define EISA_REG1 48,2561 -#define EISA_REG2 49,2634 -#define EISA_REG3 50,2707 -#define EISA_APROM 51,2780 -#define PCI_CFID 56,2900 -#define PCI_CFCS 57,2973 -#define PCI_CFRV 58,3044 -#define PCI_CFLT 59,3109 -#define PCI_CBIO 60,3179 -#define PCI_CBMA 61,3244 -#define PCI_CBER 62,3320 -#define PCI_CFIT 63,3399 -#define PCI_CFDA 64,3479 -#define PCI_CFDD 65,3547 -#define PCI_CFPM 66,3625 -#define ER0_BSW 71,3759 -#define ER0_BMW 72,3835 -#define ER0_EPT 73,3912 -#define ER0_ISTS 74,3986 -#define ER0_LI 75,4050 -#define ER0_INTL 76,4110 -#define ER0_INTT 77,4169 -#define ER1_IAM 82,4302 -#define ER1_IAE 83,4362 -#define ER1_UPIN 84,4427 -#define ER2_BRS 89,4536 -#define ER2_BRA 90,4593 -#define ER3_BWE 95,4717 -#define ER3_BRE 96,4779 -#define ER3_LSR 97,4840 -#define CFID_DID 104,5106 -#define CFID_VID 105,5159 -#define DC21040_DID 106,5212 -#define DC21040_VID 107,5274 -#define DC21041_DID 108,5338 -#define DC21041_VID 109,5400 -#define DC21140_DID 110,5464 -#define DC21140_VID 111,5526 -#define DC2114x_DID 112,5590 -#define DC2114x_VID 113,5652 -#define DC21040 118,5745 -#define DC21041 119,5777 -#define DC21140 120,5809 -#define DC2114x 121,5841 -#define DC21142 122,5873 -#define DC21143 123,5916 -#define DC2114x_BRK 124,5959 -#define is_DC21040 126,6040 -#define is_DC21041 127,6112 -#define is_DC21140 128,6184 -#define is_DC2114x 129,6256 -#define is_DC21142 130,6328 -#define is_DC21143 131,6396 -#define CFCS_DPE 136,6527 -#define CFCS_SSE 137,6596 -#define CFCS_RMA 138,6665 -#define CFCS_RTA 139,6734 -#define CFCS_DST 140,6803 -#define CFCS_DPR 141,6872 -#define CFCS_FBB 142,6941 -#define CFCS_SEE 143,7010 -#define CFCS_PER 144,7079 -#define CFCS_MO 145,7148 -#define CFCS_MSA 146,7217 -#define CFCS_IOSA 147,7286 -#define CFRV_BC 152,7412 -#define CFRV_SC 153,7466 -#define CFRV_RN 154,7518 -#define CFRV_SN 155,7577 -#define BASE_CLASS 156,7632 -#define SUB_CLASS 157,7704 -#define STEP_NUMBER 158,7777 -#define REV_NUMBER 159,7848 -#define CFRV_MASK 160,7927 -#define CFLT_BC 165,8046 -#define CBIO_MASK 170,8173 -#define CBIO_IOSI 171,8238 -#define CCIS_ROMI 176,8393 -#define CCIS_ASO 177,8446 -#define CCIS_ASI 178,8510 -#define SSID_SSID 183,8638 -#define SSID_SVID 184,8694 -#define CBER_MASK 189,8832 -#define CBER_ROME 190,8907 -#define CFIT_MXLT 195,9019 -#define CFIT_MNGT 196,9093 -#define CFIT_IRQP 197,9167 -#define CFIT_IRQL 198,9224 -#define SLEEP 203,9352 -#define SNOOZE 204,9419 -#define WAKEUP 205,9487 -#define PCI_CFDA_DSU 207,9551 -#define PCI_CFDA_PSM 208,9628 -#define BMR_RML 213,9753 -#define BMR_DBO 214,9818 -#define BMR_TAP 215,9894 -#define BMR_DAS 216,9963 -#define BMR_CAL 217,10030 -#define BMR_PBL 218,10088 -#define BMR_BLE 219,10156 -#define BMR_DSL 220,10216 -#define BMR_BAR 221,10281 -#define BMR_SWR 222,10339 -#define TAP_NOPOLL 225,10477 -#define TAP_200US 226,10540 -#define TAP_800US 227,10615 -#define TAP_1_6MS 228,10690 -#define TAP_12_8US 229,10765 -#define TAP_25_6US 230,10841 -#define TAP_51_2US 231,10917 -#define TAP_102_4US 232,10993 -#define CAL_NOUSE 234,11071 -#define CAL_8LONG 235,11122 -#define CAL_16LONG 236,11185 -#define CAL_32LONG 237,11249 -#define PBL_0 239,11314 -#define PBL_1 240,11394 -#define PBL_2 241,11466 -#define PBL_4 242,11538 -#define PBL_8 243,11610 -#define PBL_16 244,11682 -#define PBL_32 245,11754 -#define DSL_0 247,11827 -#define DSL_1 248,11895 -#define DSL_2 249,11963 -#define DSL_4 250,12031 -#define DSL_8 251,12099 -#define DSL_16 252,12167 -#define DSL_32 253,12235 -#define TPD 258,12363 -#define RPD 263,12485 -#define RRBA 268,12613 -#define TRBA 273,12755 -#define STS_GPI 278,12868 -#define STS_BE 279,12941 -#define STS_TS 280,12998 -#define STS_RS 281,13063 -#define STS_NIS 282,13127 -#define STS_AIS 283,13194 -#define STS_ER 284,13263 -#define STS_FBE 285,13319 -#define STS_SE 286,13377 -#define STS_LNF 287,13432 -#define STS_FD 288,13484 -#define STS_TM 289,13559 -#define STS_ETI 290,13625 -#define STS_AT 291,13692 -#define STS_RWT 292,13745 -#define STS_RPS 293,13813 -#define STS_RU 294,13879 -#define STS_RI 295,13948 -#define STS_UNF 296,14008 -#define STS_LNP 297,14069 -#define STS_ANC 298,14121 -#define STS_TJT 299,14188 -#define STS_TU 300,14255 -#define STS_TPS 301,14325 -#define STS_TI 302,14392 -#define EB_PAR 304,14454 -#define EB_MA 305,14509 -#define EB_TA 306,14564 -#define EB_RES0 307,14619 -#define EB_RES1 308,14670 -#define TS_STOP 310,14722 -#define TS_FTD 311,14772 -#define TS_WEOT 312,14840 -#define TS_QDAT 313,14911 -#define TS_RES 314,14981 -#define TS_SPKT 315,15032 -#define TS_SUSP 316,15087 -#define TS_CLTD 317,15139 -#define RS_STOP 319,15208 -#define RS_FRD 320,15258 -#define RS_CEOR 321,15325 -#define RS_WFRP 322,15399 -#define RS_SUSP 323,15465 -#define RS_CLRD 324,15517 -#define RS_FLUSH 325,15584 -#define RS_QRFS 326,15640 -#define INT_CANCEL 328,15709 -#define OMR_SC 333,15831 -#define OMR_RA 334,15903 -#define OMR_SDP 335,15957 -#define OMR_SCR 336,16030 -#define OMR_PCS 337,16087 -#define OMR_TTM 338,16142 -#define OMR_SF 339,16208 -#define OMR_HBD 340,16268 -#define OMR_PS 341,16328 -#define OMR_CA 342,16382 -#define OMR_BP 343,16446 -#define OMR_TR 344,16502 -#define OMR_ST 345,16567 -#define OMR_FC 346,16641 -#define OMR_OM 347,16704 -#define OMR_FDX 348,16761 -#define OMR_FKD 349,16820 -#define OMR_PM 350,16887 -#define OMR_PR 351,16948 -#define OMR_SB 352,17007 -#define OMR_IF 353,17076 -#define OMR_PB 354,17136 -#define OMR_HO 355,17194 -#define OMR_SR 356,17261 -#define OMR_HP 357,17322 -#define TR_72 359,17401 -#define TR_96 360,17475 -#define TR_128 361,17549 -#define TR_160 362,17624 -#define OMR_DEF 364,17701 -#define OMR_SIA 365,17731 -#define OMR_SYM 366,17771 -#define OMR_MII_10 367,17840 -#define OMR_MII_100 368,17889 -#define IMR_GPM 373,17992 -#define IMR_NIM 374,18060 -#define IMR_AIM 375,18132 -#define IMR_ERM 376,18206 -#define IMR_FBM 377,18267 -#define IMR_SEM 378,18330 -#define IMR_LFM 379,18390 -#define IMR_FDM 380,18447 -#define IMR_TMM 381,18520 -#define IMR_ETM 382,18591 -#define IMR_ATM 383,18663 -#define IMR_RWM 384,18724 -#define IMR_RSM 385,18797 -#define IMR_RUM 386,18860 -#define IMR_RIM 387,18934 -#define IMR_UNM 388,18999 -#define IMR_ANM 389,19066 -#define IMR_LPM 390,19138 -#define IMR_TJM 391,19190 -#define IMR_TUM 392,19262 -#define IMR_TSM 393,19337 -#define IMR_TIM 394,19405 -#define MFC_FOCO 399,19534 -#define MFC_FOC 400,19611 -#define MFC_OVFL 401,19680 -#define MFC_CNTR 402,19757 -#define MFC_FOCM 403,19826 -#define APROM_DN 408,19949 -#define APROM_DT 409,20006 -#define BROM_MODE 414,20118 -#define BROM_RD 415,20194 -#define BROM_WR 416,20254 -#define BROM_BR 417,20313 -#define BROM_SR 418,20379 -#define BROM_REG 419,20447 -#define BROM_DT 420,20513 -#define MII_MDI 425,20634 -#define MII_MDO 426,20698 -#define MII_MRD 427,20768 -#define MII_MWR 428,20841 -#define MII_MDT 429,20915 -#define MII_MDC 430,20980 -#define MII_RD 431,21042 -#define MII_WR 432,21097 -#define MII_SEL 433,21151 -#define SROM_MODE 435,21215 -#define SROM_RD 436,21291 -#define SROM_WR 437,21351 -#define SROM_BR 438,21410 -#define SROM_SR 439,21476 -#define SROM_REG 440,21544 -#define SROM_DT 441,21610 -#define DT_OUT 443,21662 -#define DT_IN 444,21719 -#define DT_CLK 445,21775 -#define DT_CS 446,21833 -#define MII_PREAMBLE 448,21898 -#define MII_TEST 449,21963 -#define MII_STRD 450,22020 -#define MII_STWR 451,22100 -#define MII_CR 453,22181 -#define MII_SR 454,22254 -#define MII_ID0 455,22326 -#define MII_ID1 456,22393 -#define MII_ANA 457,22460 -#define MII_ANLPA 458,22532 -#define MII_ANE 459,22611 -#define MII_ANP 460,22679 -#define DE4X5_MAX_MII 462,22751 -#define MII_CR_RST 467,22869 -#define MII_CR_LPBK 468,22929 -#define MII_CR_SPD 469,22986 -#define MII_CR_10 470,23049 -#define MII_CR_100 471,23101 -#define MII_CR_ASSE 472,23154 -#define MII_CR_PD 473,23220 -#define MII_CR_ISOL 474,23272 -#define MII_CR_RAN 475,23326 -#define MII_CR_FDM 476,23392 -#define MII_CR_CTE 477,23450 -#define MII_SR_T4C 482,23554 -#define MII_SR_TXFD 483,23614 -#define MII_SR_TXHD 484,23686 -#define MII_SR_TFD 485,23758 -#define MII_SR_THD 486,23828 -#define MII_SR_ASSC 487,23898 -#define MII_SR_RFD 488,23968 -#define MII_SR_ANC 489,24031 -#define MII_SR_LKS 490,24097 -#define MII_SR_JABD 491,24150 -#define MII_SR_XC 492,24205 -#define MII_ANA_TAF 497,24333 -#define MII_ANA_T4AM 498,24399 -#define MII_ANA_TXAM 499,24467 -#define MII_ANA_FDAM 500,24535 -#define MII_ANA_HDAM 501,24612 -#define MII_ANA_100M 502,24689 -#define MII_ANA_10M 503,24760 -#define MII_ANA_CSMA 504,24830 -#define MII_ANLPA_NP 509,24949 -#define MII_ANLPA_ACK 510,25009 -#define MII_ANLPA_RF 511,25069 -#define MII_ANLPA_TAF 512,25123 -#define MII_ANLPA_T4AM 513,25189 -#define MII_ANLPA_TXAM 514,25257 -#define MII_ANLPA_FDAM 515,25325 -#define MII_ANLPA_HDAM 516,25402 -#define MII_ANLPA_100M 517,25479 -#define MII_ANLPA_10M 518,25550 -#define MII_ANLPA_CSMA 519,25620 -#define MEDIA_NWAY 524,25729 -#define MEDIA_MII 525,25801 -#define MEDIA_FIBRE 526,25869 -#define MEDIA_AUI 527,25930 -#define MEDIA_TP 528,25989 -#define MEDIA_BNC 529,26047 -#define SROM_SSVID 534,26164 -#define SROM_SSID 535,26233 -#define SROM_CISPL 536,26295 -#define SROM_CISPH 537,26367 -#define SROM_IDCRC 538,26440 -#define SROM_RSVD2 539,26500 -#define SROM_SFV 540,26562 -#define SROM_CCNT 541,26630 -#define SROM_HWADD 542,26695 -#define SROM_MRSVD 543,26760 -#define SROM_CRC 544,26829 -#define SROM_10BT 549,26930 -#define SROM_10BTN 550,26993 -#define SROM_10BTF 551,27054 -#define SROM_10BTNLP 552,27117 -#define SROM_10B2 553,27191 -#define SROM_10B5 554,27248 -#define SROM_100BTH 555,27305 -#define SROM_100BTF 556,27369 -#define SROM_100BT4 557,27433 -#define SROM_100BFX 558,27486 -#define SROM_M10BT 559,27559 -#define SROM_M10BTF 560,27626 -#define SROM_M100BT 561,27693 -#define SROM_M100BTF 562,27761 -#define SROM_M100BT4 563,27829 -#define SROM_M100BF 564,27886 -#define SROM_M100BFF 565,27955 -#define SROM_PDA 566,28024 -#define SROM_PAO 567,28094 -#define SROM_NSMI 568,28159 -#define SROM_10BASET 573,28264 -#define SROM_10BASE2 574,28327 -#define SROM_10BASE5 575,28384 -#define SROM_100BASET 576,28441 -#define SROM_10BASETF 577,28505 -#define SROM_100BASETF 578,28568 -#define SROM_100BASET4 579,28632 -#define SROM_100BASEF 580,28685 -#define SROM_100BASEFF 581,28750 -#define BLOCK_LEN 583,28816 -#define EXT_FIELD 584,28885 -#define MEDIA_CODE 585,28962 -#define COMPACT_FI 590,29077 -#define COMPACT_LEN 591,29135 -#define COMPACT_MC 592,29183 -#define BLOCK0_FI 597,29285 -#define BLOCK0_MCS 598,29343 -#define BLOCK0_MC 599,29405 -#define FDR_FDACV 604,29508 -#define GPT_CON 609,29647 -#define GPT_VAL 610,29716 -#define GEP_LNP 616,29886 -#define GEP_SLNK 617,29966 -#define GEP_SDET 618,30046 -#define GEP_HRST 619,30126 -#define GEP_FDXD 620,30206 -#define GEP_PHYL 621,30286 -#define GEP_FLED 622,30366 -#define GEP_MODE 623,30446 -#define GEP_INIT 624,30526 -#define GEP_CTRL 625,30606 -#define CSR13 630,30718 -#define CSR14 631,30743 -#define CSR15 632,30823 -#define SISR_LPC 637,30891 -#define SISR_LPN 638,30971 -#define SISR_ANS 639,31051 -#define SISR_NSN 640,31131 -#define SISR_TRF 641,31211 -#define SISR_NSND 642,31291 -#define SISR_ANR_FDS 643,31371 -#define SISR_TRA 644,31451 -#define SISR_NRA 645,31531 -#define SISR_ARA 646,31611 -#define SISR_SRA 647,31691 -#define SISR_DAO 648,31771 -#define SISR_DAZ 649,31851 -#define SISR_DSP 650,31931 -#define SISR_DSD 651,32011 -#define SISR_APS 652,32091 -#define SISR_LKF 653,32171 -#define SISR_LS10 654,32251 -#define SISR_NCR 655,32331 -#define SISR_LS100 656,32411 -#define SISR_PAUI 657,32491 -#define SISR_MRA 658,32571 -#define ANS_NDIS 660,32652 -#define ANS_TDIS 661,32732 -#define ANS_ADET 662,32812 -#define ANS_ACK 663,32892 -#define ANS_CACK 664,32972 -#define ANS_NWOK 665,33052 -#define ANS_LCHK 666,33132 -#define SISR_RST 668,33213 -#define SISR_ANR 669,33293 -#define SICR_SDM 674,33422 -#define SICR_OE57 675,33485 -#define SICR_OE24 676,33547 -#define SICR_OE13 677,33607 -#define SICR_IE 678,33667 -#define SICR_EXT 679,33722 -#define SICR_D_SIA 680,33797 -#define SICR_DPLL 681,33877 -#define SICR_APLL 682,33957 -#define SICR_D_RxM 683,34037 -#define SICR_M_RxM 684,34117 -#define SICR_LNKT 685,34197 -#define SICR_SEL 686,34277 -#define SICR_ASE 687,34354 -#define SICR_SIM 688,34413 -#define SICR_ENI 689,34490 -#define SICR_EDP 690,34558 -#define SICR_AUI 691,34630 -#define SICR_CAC 692,34696 -#define SICR_PS 693,34761 -#define SICR_SRL 694,34824 -#define SIA_RESET 695,34876 -#define STRR_TAS 700,34991 -#define STRR_SPP 701,35065 -#define STRR_APE 702,35125 -#define STRR_LTE 703,35188 -#define STRR_SQE 704,35247 -#define STRR_CLD 705,35311 -#define STRR_CSQ 706,35377 -#define STRR_RSQ 707,35444 -#define STRR_ANE 708,35509 -#define STRR_HDE 709,35573 -#define STRR_CPEN 710,35634 -#define STRR_LSE 711,35696 -#define STRR_DREN 712,35761 -#define STRR_LBK 713,35817 -#define STRR_ECEN 714,35875 -#define STRR_RESET 715,35932 -#define SIGR_RMI 720,36039 -#define SIGR_GI1 721,36105 -#define SIGR_GI0 722,36172 -#define SIGR_CWE 723,36239 -#define SIGR_RME 724,36302 -#define SIGR_GEI1 725,36365 -#define SIGR_GEI0 726,36438 -#define SIGR_LGS3 727,36511 -#define SIGR_LGS2 728,36569 -#define SIGR_LGS1 729,36627 -#define SIGR_LGS0 730,36685 -#define SIGR_MD 731,36743 -#define SIGR_LV2 732,36815 -#define SIGR_LE2 733,36884 -#define SIGR_FRL 734,36954 -#define SIGR_DPST 735,37015 -#define SIGR_LSD 736,37077 -#define SIGR_FLF 737,37139 -#define SIGR_FUSQ 738,37197 -#define SIGR_TSCK 739,37255 -#define SIGR_LV1 740,37308 -#define SIGR_LE1 741,37377 -#define SIGR_RWR 742,37447 -#define SIGR_RWD 743,37514 -#define SIGR_ABM 744,37581 -#define SIGR_JCK 745,37638 -#define SIGR_HUJ 746,37693 -#define SIGR_JBD 747,37746 -#define SIGR_RESET 748,37803 -#define R_OWN 753,37907 -#define RD_FF 754,37957 -#define RD_FL 755,38014 -#define RD_ES 756,38069 -#define RD_LE 757,38125 -#define RD_DT 758,38180 -#define RD_RF 759,38232 -#define RD_MF 760,38285 -#define RD_FS 761,38343 -#define RD_LS 762,38402 -#define RD_TL 763,38460 -#define RD_CS 764,38517 -#define RD_FT 765,38574 -#define RD_RJ 766,38627 -#define RD_RE 767,38686 -#define RD_DB 768,38748 -#define RD_CE 769,38804 -#define RD_OF 770,38856 -#define RD_RER 772,38908 -#define RD_RCH 773,38970 -#define RD_RBS2 774,39035 -#define RD_RBS1 775,39091 -#define T_OWN 780,39189 -#define TD_ES 781,39239 -#define TD_TO 782,39295 -#define TD_LO 783,39362 -#define TD_NC 784,39420 -#define TD_LC 785,39473 -#define TD_EC 786,39530 -#define TD_HF 787,39593 -#define TD_CC 788,39650 -#define TD_LF 789,39710 -#define TD_UF 790,39762 -#define TD_DE 791,39820 -#define TD_IC 793,39872 -#define TD_LS 794,39938 -#define TD_FS 795,39993 -#define TD_FT1 796,40049 -#define TD_SET 797,40106 -#define TD_AC 798,40161 -#define TD_TER 799,40219 -#define TD_TCH 800,40282 -#define TD_DPD 801,40347 -#define TD_FT0 802,40406 -#define TD_TBS2 803,40463 -#define TD_TBS1 804,40519 -#define PERFECT_F 806,40576 -#define HASH_F 807,40606 -#define INVERSE_F 808,40632 -#define HASH_O_F 809,40658 -#define TP 815,40763 -#define TP_NW 816,40841 -#define BNC 817,40919 -#define AUI 818,40997 -#define BNC_AUI 819,41075 -#define _10Mb 820,41153 -#define _100Mb 821,41231 -#define AUTO 822,41309 -#define NC 827,41413 -#define ANS 828,41491 -#define SPD_DET 829,41569 -#define INIT 830,41647 -#define EXT_SIA 831,41725 -#define ANS_SUSPECT 832,41803 -#define TP_SUSPECT 833,41881 -#define BNC_AUI_SUSPECT 834,41959 -#define EXT_SIA_SUSPECT 835,42037 -#define BNC_SUSPECT 836,42115 -#define AUI_SUSPECT 837,42193 -#define MII 838,42271 -#define TIMER_CB 840,42350 -#define DEBUG_NONE 845,42458 -#define DEBUG_VERSION 846,42517 -#define DEBUG_MEDIA 847,42580 -#define DEBUG_TX 848,42642 -#define DEBUG_RX 849,42713 -#define DEBUG_SROM 850,42783 -#define DEBUG_MII 851,42844 -#define DEBUG_OPEN 852,42904 -#define DEBUG_CLOSE 853,42973 -#define DEBUG_PCICFG 854,43043 -#define DEBUG_ALL 855,43074 -#define PCI 860,43129 -#define EISA 861,43144 -#define HASH_TABLE_LEN 863,43160 -#define HASH_BITS 864,43206 -#define SETUP_FRAME_LEN 866,43258 -#define IMPERF_PA_OFFSET 867,43305 -#define POLL_DEMAND 869,43353 -#define LOST_MEDIA_THRESHOLD 871,43385 -#define MASK_INTERRUPTS 873,43417 -#define UNMASK_INTERRUPTS 874,43448 -#define DE4X5_STRLEN 876,43480 -#define DE4X5_INIT 878,43512 -#define DE4X5_RUN 879,43573 -#define DE4X5_SAVE_STATE 881,43624 -#define DE4X5_RESTORE_STATE 882,43655 -#define PERFECT 887,43720 -#define HASH_PERF 888,43791 -#define PERFECT_REJ 889,43867 -#define ALL_HASH 890,43945 -#define ALL 892,44025 -#define PHYS_ADDR_ONLY 893,44096 -#define NO 898,44189 -#define FALSE 899,44220 -#define YES 901,44252 -#define TRUE 902,44284 -#define INITIALISED 907,44340 -#define CLOSED 908,44419 -#define OPEN 909,44478 -#define PDET_LINK_WAIT 914,44556 -#define ANS_FINISH_WAIT 915,44635 -#define NATIONAL_TX 922,44949 -#define BROADCOM_T4 923,44976 -#define SEEQ_T4 924,45003 -#define CYPRESS_T4 925,45030 -#define SET_10Mb 930,45089 -#define SET_100Mb 952,46049 -#define SET_100Mb_PDET 982,47374 -#define DE4X5IOCTL 1003,48106 -struct de4x5_ioctl de4x5_ioctl1005,48141 -#define DE4X5_GET_HWADDR 1014,48406 -#define DE4X5_SET_HWADDR 1015,48467 -#define DE4X5_SET_PROM 1016,48528 -#define DE4X5_CLR_PROM 1017,48585 -#define DE4X5_SAY_BOO 1018,48644 -#define DE4X5_GET_MCA 1019,48719 -#define DE4X5_SET_MCA 1020,48779 -#define DE4X5_CLR_MCA 1021,48839 -#define DE4X5_MCA_EN 1022,48902 -#define DE4X5_GET_STATS 1023,48971 -#define DE4X5_CLR_STATS 1024,49034 -#define DE4X5_GET_OMR 1025,49101 -#define DE4X5_SET_OMR 1026,49174 -#define DE4X5_GET_REG 1027,49247 -#define MOTO_SROM_BUG 1029,49315 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/pnic.c,81 -void pnic_do_nway(22,556 -void pnic_lnk_change(55,1559 -void pnic_timer(90,2687 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/timer.c,78 -void tulip_timer(21,531 -void mxic_timer(136,4024 -void comet_timer(153,4410 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/xircom_cb.c,2309 -#define enter(enter37,961 -#define leave(leave38,1034 -#define enter(enter40,1113 -#define leave(leave41,1148 -#define CSR0 52,1367 -#define CSR1 53,1385 -#define CSR2 54,1403 -#define CSR3 55,1421 -#define CSR4 56,1439 -#define CSR5 57,1457 -#define CSR6 58,1475 -#define CSR7 59,1493 -#define CSR8 60,1511 -#define CSR9 61,1529 -#define CSR10 62,1547 -#define CSR11 63,1566 -#define CSR12 64,1585 -#define CSR13 65,1604 -#define CSR14 66,1623 -#define CSR15 67,1642 -#define CSR16 68,1661 -#define PCI_POWERMGMT 71,1701 -#define NUMDESCRIPTORS 75,1798 -static int bufferoffsets[77,1824 -struct xircom_private xircom_private80,1891 -static struct pci_device_id xircom_pci_table[143,4415 -static struct pci_driver xircom_ops 149,4565 -static void print_binary(160,4765 -static void netdev_get_drvinfo(178,5041 -static struct ethtool_ops netdev_ethtool_ops 187,5280 -static int __devinit xircom_probe(198,5665 -static void __devexit xircom_remove(312,8763 -static irqreturn_t xircom_interrupt(328,9227 -static int xircom_start_xmit(380,10604 -static int xircom_open(445,12414 -static int xircom_close(463,12868 -static struct net_device_stats *xircom_get_stats(496,13469 -static void initialize_card(505,13685 -static void trigger_transmit(546,14702 -static void trigger_receive(564,15165 -static void setup_descriptors(579,15477 -static void remove_descriptors(651,17738 -static int link_status_changed(669,18211 -static int transmit_active(695,18763 -static int receive_active(715,19174 -static void activate_receiver(742,19899 -static void deactivate_receiver(798,21222 -static void activate_transmitter(834,22174 -static void deactivate_transmitter(889,23552 -static void enable_transmit_interrupt(920,24205 -static void enable_receive_interrupt(938,24644 -static void enable_link_interrupt(955,25097 -static void disable_all_interrupts(974,25538 -static void enable_common_interrupts(990,25896 -static int enable_promisc(1014,26630 -static int link_status(1035,27052 -static void read_mac_address(1062,27667 -static void transceiver_voodoo(1110,29007 -static void xircom_up(1137,29612 -static void investigate_read_descriptor(1171,30390 -static void investigate_write_descriptor(1217,31577 -static int __init xircom_init(1250,32510 -static void __exit xircom_exit(1256,32597 -module_init(1261,32677 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/media.c,451 -#define mdio_delay(mdio_delay28,822 -#define MDIO_SHIFT_CLK 33,1064 -#define MDIO_DATA_WRITE0 34,1096 -#define MDIO_DATA_WRITE1 35,1129 -#define MDIO_ENB 36,1162 -#define MDIO_ENB_IN 37,1231 -#define MDIO_DATA_READ 38,1260 -static const unsigned char comet_miireg2offset[40,1293 -int tulip_mdio_read(50,1667 -void tulip_mdio_write(113,3402 -void tulip_select_media(172,4951 -int tulip_check_duplex(376,11555 -void __devinit tulip_find_mii 422,12877 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/tulip.h,6935 -#define __NET_TULIP_H__17,464 -#define TULIP_DEBUG 32,794 -# define USE_IO_OPS 38,918 -struct tulip_chip_table tulip_chip_table43,950 -enum tbl_flag tbl_flag52,1123 - HAS_MII 53,1139 - HAS_MII = 0x0001,53,1139 - HAS_MEDIA_TABLE 54,1160 - HAS_MEDIA_TABLE = 0x0002,54,1160 - CSR12_IN_SROM 55,1188 - CSR12_IN_SROM = 0x0004,55,1188 - ALWAYS_CHECK_MII 56,1214 - ALWAYS_CHECK_MII = 0x0008,56,1214 - HAS_ACPI 57,1242 - HAS_ACPI = 0x0010,57,1242 - MC_HASH_ONLY 58,1263 - MC_HASH_ONLY = 0x0020,58,1263 - HAS_PNICNWAY 59,1322 - HAS_PNICNWAY = 0x0080,59,1322 - HAS_NWAY 60,1347 - HAS_NWAY = 0x0040,60,1347 - HAS_INTR_MITIGATION 61,1399 - HAS_INTR_MITIGATION = 0x0100,61,1399 - IS_ASIX 62,1430 - IS_ASIX = 0x0200,62,1430 - HAS_8023X 63,1451 - HAS_8023X = 0x0400,63,1451 - COMET_MAC_ADDR 64,1473 - COMET_MAC_ADDR = 0x0800,64,1473 - HAS_PCI_MWI 65,1500 - HAS_PCI_MWI = 0x1000,65,1500 - HAS_PHY_IRQ 66,1524 - HAS_PHY_IRQ = 0x2000,66,1524 - HAS_SWAPPED_SEEPROM 67,1548 - HAS_SWAPPED_SEEPROM = 0x4000,67,1548 - NEEDS_FAKE_MEDIA_TABLE 68,1579 - NEEDS_FAKE_MEDIA_TABLE = 0x8000,68,1579 -enum chips chips75,1770 - DC21040 76,1783 - DC21041 77,1797 - DC21140 78,1811 - DC21142 79,1825 - DC21142 = 3, DC21143 79,1825 - LC82C168,80,1852 - MX98713,81,1863 - MX98715,82,1873 - MX98725,83,1883 - AX88140,84,1893 - PNIC2,85,1903 - COMET,86,1911 - COMPEX9881,87,1919 - I21145,88,1932 - DM910X,89,1941 - CONEXANT,90,1950 -enum MediaIs MediaIs94,1966 - MediaIsFD 95,1981 - MediaAlwaysFD 96,1997 - MediaIsMII 97,2017 - MediaIsFx 98,2034 - MediaIs100 99,2050 -enum tulip_offsets tulip_offsets105,2200 - CSR0 106,2221 - CSR1 107,2232 - CSR1 = 0x08,107,2232 - CSR2 108,2246 - CSR2 = 0x10,108,2246 - CSR3 109,2260 - CSR3 = 0x18,109,2260 - CSR4 110,2274 - CSR4 = 0x20,110,2274 - CSR5 111,2288 - CSR5 = 0x28,111,2288 - CSR6 112,2302 - CSR6 = 0x30,112,2302 - CSR7 113,2316 - CSR7 = 0x38,113,2316 - CSR8 114,2330 - CSR8 = 0x40,114,2330 - CSR9 115,2344 - CSR9 = 0x48,115,2344 - CSR10 116,2358 - CSR10 = 0x50,116,2358 - CSR11 117,2373 - CSR11 = 0x58,117,2373 - CSR12 118,2388 - CSR12 = 0x60,118,2388 - CSR13 119,2403 - CSR13 = 0x68,119,2403 - CSR14 120,2418 - CSR14 = 0x70,120,2418 - CSR15 121,2433 - CSR15 = 0x78,121,2433 -enum pci_cfg_driver_reg pci_cfg_driver_reg125,2507 - CFDD 126,2533 - CFDD = 0x40,126,2533 - CFDD_Sleep 127,2547 - CFDD_Snooze 128,2572 -#define RxPollInt 131,2602 -enum status_bits status_bits134,2725 - TimerInt 135,2744 - TimerInt = 0x800,135,2744 - SytemError 136,2763 - SytemError = 0x2000,136,2763 - TPLnkFail 137,2785 - TPLnkFail = 0x1000,137,2785 - TPLnkPass 138,2806 - TPLnkPass = 0x10,138,2806 - NormalIntr 139,2825 - NormalIntr = 0x10000,139,2825 - AbnormalIntr 140,2848 - AbnormalIntr = 0x8000,140,2848 - RxJabber 141,2872 - RxJabber = 0x200,141,2872 - RxDied 142,2891 - RxDied = 0x100,142,2891 - RxNoBuf 143,2908 - RxNoBuf = 0x80,143,2908 - RxIntr 144,2925 - RxIntr = 0x40,144,2925 - TxFIFOUnderflow 145,2941 - TxFIFOUnderflow = 0x20,145,2941 - TxJabber 146,2966 - TxJabber = 0x08,146,2966 - TxNoBuf 147,2984 - TxNoBuf = 0x04,147,2984 - TxDied 148,3001 - TxDied = 0x02,148,3001 - TxIntr 149,3017 - TxIntr = 0x01,149,3017 -#define CSR5_TS 153,3081 -#define CSR5_RS 154,3108 -enum tulip_mode_bits tulip_mode_bits156,3136 - TxThreshold 157,3159 - FullDuplex 158,3186 - TxOn 159,3211 - TxOn = 0x2000,159,3211 - AcceptBroadcast 160,3229 - AcceptBroadcast = 0x0100,160,3229 - AcceptAllMulticast 161,3257 - AcceptAllMulticast = 0x0080,161,3257 - AcceptAllPhys 162,3287 - AcceptAllPhys = 0x0040,162,3287 - AcceptRunt 163,3313 - AcceptRunt = 0x0008,163,3313 - RxOn 164,3336 - RxOn = 0x0002,164,3336 - RxTx 165,3354 - RxTx = (TxOn 165,3354 - RxTx = (TxOn | RxOn)165,3354 -enum tulip_busconfig_bits tulip_busconfig_bits169,3384 - MWI 170,3412 - MRL 171,3432 - MRM 172,3452 - CALShift 173,3472 - BurstLenShift 174,3489 -struct tulip_rx_desc tulip_rx_desc179,3561 -struct tulip_tx_desc tulip_tx_desc187,3643 -enum desc_status_bits desc_status_bits195,3755 - DescOwned 196,3779 - DescOwned = 0x80000000,196,3779 - RxDescFatalErr 197,3804 - RxDescFatalErr = 0x8000,197,3804 - RxWholePkt 198,3830 - RxWholePkt = 0x0300,198,3830 -enum t21143_csr6_bits t21143_csr6_bits202,3857 - csr6_sc 203,3881 - csr6_ra 204,3901 - csr6_ign_dest_msb 205,3921 - csr6_mbo 206,3951 - csr6_scr 207,3972 - csr6_pcs 208,4033 - csr6_ttm 209,4136 - csr6_sf 210,4222 - csr6_hbd 211,4292 - csr6_ps 212,4373 - csr6_ca 213,4465 - csr6_trh 214,4576 - csr6_trl 215,4632 - csr6_fc 232,5326 - csr6_om_int_loop 233,5425 - csr6_om_ext_loop 234,5490 - csr6_fd 236,5597 - csr6_pm 237,5674 - csr6_pr 238,5721 - csr6_sb 239,5766 - csr6_if 240,5827 - csr6_pb 241,5928 - csr6_ho 242,6016 - csr6_hp 243,6083 - csr6_mask_capture 245,6162 - csr6_mask_capture = (csr6_sc 245,6162 - csr6_mask_capture = (csr6_sc | csr6_ca)245,6162 - csr6_mask_defstate 246,6204 - csr6_mask_defstate = (csr6_mask_capture 246,6204 - csr6_mask_defstate = (csr6_mask_capture | csr6_mbo)246,6204 - csr6_mask_hdcap 247,6258 - csr6_mask_hdcap = (csr6_mask_defstate 247,6258 - csr6_mask_hdcap = (csr6_mask_defstate | csr6_hbd 247,6258 - csr6_mask_hdcap = (csr6_mask_defstate | csr6_hbd | csr6_ps)247,6258 - csr6_mask_hdcaptt 248,6320 - csr6_mask_hdcaptt = (csr6_mask_hdcap 248,6320 - csr6_mask_hdcaptt = (csr6_mask_hdcap | csr6_trh 248,6320 - csr6_mask_hdcaptt = (csr6_mask_hdcap | csr6_trh | csr6_trl)248,6320 - csr6_mask_fullcap 249,6383 - csr6_mask_fullcap = (csr6_mask_hdcaptt 249,6383 - csr6_mask_fullcap = (csr6_mask_hdcaptt | csr6_fd)249,6383 - csr6_mask_fullpromisc 250,6435 - csr6_mask_fullpromisc = (csr6_pr 250,6435 - csr6_mask_fullpromisc = (csr6_pr | csr6_pm)250,6435 - csr6_mask_filters 251,6481 - csr6_mask_filters = (csr6_hp 251,6481 - csr6_mask_filters = (csr6_hp | csr6_ho 251,6481 - csr6_mask_filters = (csr6_hp | csr6_ho | csr6_if)251,6481 - csr6_mask_100bt 252,6533 - csr6_mask_100bt = (csr6_scr 252,6533 - csr6_mask_100bt = (csr6_scr | csr6_pcs 252,6533 - csr6_mask_100bt = (csr6_scr | csr6_pcs | csr6_hbd)252,6533 -#define TX_RING_SIZE 261,6810 -#define RX_RING_SIZE 262,6834 -#define MEDIA_MASK 263,6860 -#define PKT_BUF_SZ 265,6887 -#define TULIP_MIN_CACHE_LINE 267,6953 -#define TULIP_MAX_CACHE_LINE 274,7218 -#define TULIP_MAX_CACHE_LINE 276,7287 -#define DESC_RING_WRAP 288,7736 -#define EEPROM_SIZE 291,7772 -#define RUN_AT(RUN_AT294,7825 -#define get_u16(get_u16297,7910 -#define get_u16(get_u16299,7953 -struct medialeaf medialeaf302,8023 -struct mediatable mediatable309,8094 -struct mediainfo mediainfo322,8359 -struct ring_info ring_info329,8457 -struct tulip_private tulip_private335,8524 -struct eeprom_fixup eeprom_fixup391,10591 -#define inb(inb459,12522 -#define inw(inw460,12561 -#define inl(inl461,12600 -#define outb(outb462,12639 -#define outw(outw463,12691 -#define outl(outl464,12743 -static inline void tulip_start_rxtx(469,12823 -static inline void tulip_stop_rxtx(477,13015 -static inline void tulip_restart_rxtx(499,13579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/de2104x.c,7264 -#define DRV_NAME 30,1151 -#define DRV_VERSION 31,1179 -#define DRV_RELDATE 32,1206 -static char version[53,1726 -static int debug 61,2006 -static int rx_copybreak 69,2365 -static int rx_copybreak 71,2403 -#define PFX 76,2561 -#define DE_DEF_MSG_ENABLE 78,2590 -#define DE_RX_RING_SIZE 86,2788 -#define DE_TX_RING_SIZE 87,2816 -#define DE_RING_BYTES 88,2844 -#define NEXT_TX(NEXT_TX91,2965 -#define NEXT_RX(NEXT_RX92,3021 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL93,3077 -#define PKT_BUF_SZ 98,3251 -#define RX_OFFSET 99,3315 -#define DE_SETUP_SKB 101,3337 -#define DE_DUMMY_SKB 102,3382 -#define DE_SETUP_FRAME_WORDS 103,3427 -#define DE_EEPROM_WORDS 104,3459 -#define DE_EEPROM_SIZE 105,3488 -#define DE_MAX_MEDIA 106,3544 -#define DE_MEDIA_TP_AUTO 108,3569 -#define DE_MEDIA_BNC 109,3596 -#define DE_MEDIA_AUI 110,3620 -#define DE_MEDIA_TP 111,3644 -#define DE_MEDIA_TP_FD 112,3667 -#define DE_MEDIA_INVALID 113,3693 -#define DE_MEDIA_FIRST 114,3731 -#define DE_MEDIA_LAST 115,3757 -#define DE_AUI_BNC 116,3799 -#define DE_TIMER_LINK 118,3852 -#define DE_TIMER_NO_LINK 119,3885 -#define DE_NUM_REGS 121,3920 -#define DE_REGS_SIZE 122,3944 -#define DE_REGS_VER 123,3994 -#define TX_TIMEOUT 126,4083 -#define DE_UNALIGNED_16(DE_UNALIGNED_16128,4111 -#define FULL_DUPLEX_MAGIC 134,4467 - BusMode 138,4529 - BusMode = 0x00,138,4529 - TxPoll 139,4548 - TxPoll = 0x08,139,4548 - RxPoll 140,4566 - RxPoll = 0x10,140,4566 - RxRingAddr 141,4584 - RxRingAddr = 0x18,141,4584 - TxRingAddr 142,4605 - TxRingAddr = 0x20,142,4605 - MacStatus 143,4626 - MacStatus = 0x28,143,4626 - MacMode 144,4646 - MacMode = 0x30,144,4646 - IntrMask 145,4665 - IntrMask = 0x38,145,4665 - RxMissed 146,4684 - RxMissed = 0x40,146,4684 - ROMCmd 147,4703 - ROMCmd = 0x48,147,4703 - CSR11 148,4721 - CSR11 = 0x58,148,4721 - SIAStatus 149,4738 - SIAStatus = 0x60,149,4738 - CSR13 150,4758 - CSR13 = 0x68,150,4758 - CSR14 151,4775 - CSR14 = 0x70,151,4775 - CSR15 152,4792 - CSR15 = 0x78,152,4792 - PCIPM 153,4809 - PCIPM = 0x40,153,4809 - CmdReset 156,4847 - CacheAlign16 157,4870 - CacheAlign16 = 0x00008000,157,4870 - BurstLen4 158,4899 - BurstLen4 = 0x00000400,158,4899 - NormalTxPoll 161,4948 - NormalRxPoll 162,4975 - DescOwn 165,5039 - RxError 166,5063 - RxErrLong 167,5087 - RxErrCRC 168,5111 - RxErrFIFO 169,5134 - RxErrRunt 170,5158 - RxErrFrame 171,5183 - RingEnd 172,5209 - FirstFrag 173,5233 - LastFrag 174,5258 - TxError 175,5282 - TxFIFOUnder 176,5306 - TxLinkFail 177,5332 - TxMaxCol 178,5381 - TxOWC 179,5404 - TxJabber 180,5425 - SetupFrame 181,5449 - TxSwInt 182,5475 - IntrOK 185,5522 - IntrErr 186,5545 - RxIntr 187,5569 - RxEmpty 188,5591 - TxIntr 189,5614 - TxEmpty 190,5636 - PciErr 191,5659 - TxState 192,5682 - RxState 193,5730 - LinkFail 194,5778 - LinkPass 195,5802 - RxStopped 196,5825 - TxStopped 197,5849 - TxEnable 200,5894 - RxEnable 201,5918 - RxTx 202,5941 - RxTx = TxEnable 202,5941 - RxTx = TxEnable | RxEnable,202,5941 - FullDuplex 203,5972 - AcceptAllMulticast 204,5997 - AcceptAllPhys 205,6029 - BOCnt 206,6057 - MacModeClear 207,6078 - RxTx 208,6143 - RxTx | BOCnt 208,6143 - RxTx | BOCnt | AcceptAllPhys 208,6143 - RxTx | BOCnt | AcceptAllPhys | AcceptAllMulticast,208,6143 - EE_SHIFT_CLK 211,6220 - EE_SHIFT_CLK = 0x02,211,6220 - EE_CS 212,6269 - EE_CS = 0x01,212,6269 - EE_DATA_WRITE 213,6312 - EE_DATA_WRITE = 0x04,213,6312 - EE_WRITE_0 214,6373 - EE_WRITE_0 = 0x01,214,6373 - EE_WRITE_1 215,6394 - EE_WRITE_1 = 0x05,215,6394 - EE_DATA_READ 216,6415 - EE_DATA_READ = 0x08,216,6415 - EE_ENB 217,6471 - EE_ENB = (0x4800 217,6471 - EE_ENB = (0x4800 | EE_CS)217,6471 - EE_READ_CMD 220,6564 - RxMissedOver 223,6605 - RxMissedMask 224,6633 - RxMissedMask = 0xffff,224,6633 - SROMC0InfoLeaf 227,6684 - MediaBlockMask 228,6707 - MediaBlockMask = 0x3f,228,6707 - MediaCustomCSRs 229,6732 - PM_Sleep 232,6782 - PM_Snooze 233,6806 - PM_Mask 234,6831 - PM_Mask = PM_Sleep 234,6831 - PM_Mask = PM_Sleep | PM_Snooze,234,6831 - NWayState 237,6890 - NWayRestart 238,6939 - NonselPortActive 239,6966 - LinkFailStatus 240,6996 - NetCxnErr 241,7025 -static const u32 de_intr_mask 244,7053 -static const u32 de_bus_mode 252,7307 -struct de_srom_media_block de_srom_media_block254,7365 -struct de_srom_info_leaf de_srom_info_leaf261,7476 -struct de_desc de_desc267,7583 -struct media_info media_info274,7660 -struct ring_info ring_info281,7758 -struct de_private de_private286,7826 -static struct pci_device_id de_pci_tbl[332,8917 -static const char * const media_name[341,9185 -static u16 t21040_csr13[351,9396 -static u16 t21040_csr14[352,9459 -static u16 t21040_csr15[353,9522 -static u16 t21041_csr13[356,9657 -static u16 t21041_csr14[357,9730 -static u16 t21041_csr15[358,9803 -#define dr32(dr32361,9878 -#define dw32(dw32362,9921 -static void de_rx_err_acct 365,9978 -static void de_rx 391,10828 -static irqreturn_t de_interrupt 489,13258 -static void de_tx 533,14327 -static int de_start_xmit 597,15879 -#define set_bit_le(set_bit_le658,17339 -static void build_setup_frame_hash(660,17418 -static void build_setup_frame_perfect(691,18349 -static void __de_set_rx_mode 719,19293 -static void de_set_rx_mode 805,21442 -static inline void de_rx_missed(815,21665 -static void __de_get_stats(823,21901 -static struct net_device_stats *de_get_stats(830,22028 -static inline int de_is_running 843,22355 -static void de_stop_rxtx 848,22473 -static inline void de_start_rxtx 868,22827 -static void de_stop_hw 879,23016 -static void de_link_up(895,23222 -static void de_link_down(905,23467 -static void de_set_media 914,23668 -static void de_next_media 953,24726 -static void de21040_media_timer 966,24962 -static unsigned int de_ok_to_advertise 1020,26270 -static void de21041_media_timer 1050,26960 -static void de_media_interrupt 1148,29836 -static int de_reset_mac 1165,30176 -static void de_adapter_wake 1199,30754 -static void de_adapter_sleep 1217,31121 -static int de_init_hw 1229,31339 -static int de_refill_rx 1259,31848 -static int de_init_rings 1293,32562 -static int de_alloc_rings 1304,32826 -static void de_clean_rings 1313,33068 -static void de_free_rings 1354,34204 -static int de_open 1362,34396 -static int de_close 1409,35388 -static void de_tx_timeout 1433,35883 -static void __de_get_regs(1464,36527 -static int __de_get_settings(1477,36786 -static int __de_set_settings(1514,37510 -static void de_get_drvinfo 1582,39372 -static int de_get_regs_len(1592,39649 -static int de_get_settings(1597,39727 -static int de_set_settings(1609,39959 -static u32 de_get_msglevel(1621,40191 -static void de_set_msglevel(1628,40308 -static int de_get_eeprom(1635,40440 -static int de_nway_reset(1650,40780 -static void de_get_regs(1668,41224 -static struct ethtool_ops de_ethtool_ops 1680,41490 -static void __init de21040_get_mac_address 1695,41944 -static void __init de21040_get_media_info(1712,42356 -static unsigned __init tulip_read_eeprom(1739,43048 -static void __init de21041_get_srom_info 1774,43989 -static int __devinit de_init_one 1930,48510 -static void __exit de_remove_one 2086,52174 -static int de_suspend 2105,52548 -static int de_resume 2140,53212 -static struct pci_driver de_driver 2162,53603 -static int __init de_init 2173,53823 -static void __exit de_exit 2181,53944 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/21142.c,181 -static u16 t21142_csr13[22,556 -u16 t21142_csr14[23,629 -static u16 t21142_csr15[24,699 -void t21142_timer(29,883 -void t21142_start_nway(104,3143 -void t21142_lnk_change(132,3987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/eeprom.c,638 -static struct eeprom_fixup eeprom_fixups[32,921 -static struct eeprom_fixup eeprom_fixups[] __devinitdata 32,921 -static const char *block_name[69,2495 -static const char *block_name[] __devinitdata 69,2495 -static void __devinit tulip_build_fake_mediatable(92,3165 -void __devinit tulip_parse_eeprom(130,4372 -#define EE_SHIFT_CLK 305,10027 -#define EE_CS 306,10079 -#define EE_DATA_WRITE 307,10125 -#define EE_WRITE_0 308,10189 -#define EE_WRITE_1 309,10213 -#define EE_DATA_READ 310,10237 -#define EE_ENB 311,10296 -#define eeprom_delay(eeprom_delay316,10515 -#define EE_READ_CMD 319,10613 -int __devinit tulip_read_eeprom(322,10708 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tulip/dmfe.c,6758 -#define DRV_NAME 67,2249 -#define DRV_VERSION 68,2273 -#define DRV_RELDATE 69,2302 -#define PCI_DM9132_ID 98,2992 -#define PCI_DM9102_ID 99,3056 -#define PCI_DM9100_ID 100,3120 -#define PCI_DM9009_ID 101,3184 -#define DM9102_IO_SIZE 103,3249 -#define DM9102A_IO_SIZE 104,3278 -#define TX_MAX_SEND_CNT 105,3308 -#define TX_DESC_CNT 106,3381 -#define RX_DESC_CNT 107,3452 -#define TX_FREE_DESC_CNT 108,3523 -#define TX_WAKE_DESC_CNT 109,3592 -#define DESC_ALL_CNT 110,3657 -#define TX_BUF_ALLOC 111,3709 -#define RX_ALLOC_SIZE 112,3739 -#define DM910X_RESET 113,3769 -#define CR0_DEFAULT 114,3795 -#define CR6_DEFAULT 115,3860 -#define CR7_DEFAULT 116,3909 -#define CR15_DEFAULT 117,3941 -#define TDES0_ERR_MASK 118,4007 -#define MAX_PACKET_SIZE 119,4071 -#define DMFE_MAX_MULTICAST 120,4100 -#define RX_COPY_SIZE 121,4130 -#define MAX_CHECK_PACKET 122,4155 -#define DM9801_NOISE_FLOOR 123,4187 -#define DM9802_NOISE_FLOOR 124,4216 -#define DMFE_10MHF 126,4246 -#define DMFE_100MHF 127,4272 -#define DMFE_10MFD 128,4298 -#define DMFE_100MFD 129,4324 -#define DMFE_AUTO 130,4350 -#define DMFE_1M_HPNA 131,4376 -#define DMFE_TXTH_72 133,4406 -#define DMFE_TXTH_96 134,4456 -#define DMFE_TXTH_128 135,4506 -#define DMFE_TXTH_256 136,4557 -#define DMFE_TXTH_512 137,4608 -#define DMFE_TXTH_1K 138,4659 -#define DMFE_TIMER_WUT 140,4710 -#define DMFE_TX_TIMEOUT 141,4787 -#define DMFE_TX_KICK 142,4859 -#define DMFE_DBUG(DMFE_DBUG144,4926 -#define SHOW_MEDIA_TYPE(SHOW_MEDIA_TYPE146,5059 -#define CR9_SROM_READ 150,5234 -#define CR9_SRCS 151,5265 -#define CR9_SRCLK 152,5293 -#define CR9_CRDOUT 153,5321 -#define SROM_DATA_0 154,5349 -#define SROM_DATA_1 155,5377 -#define PHY_DATA_1 156,5405 -#define PHY_DATA_0 157,5437 -#define MDCLKH 158,5469 -#define PHY_POWER_DOWN 160,5502 -#define SROM_V41_CODE 162,5532 -#define SROM_CLK_WRITE(SROM_CLK_WRITE164,5562 -#define __CHK_IO_SIZE(__CHK_IO_SIZE166,5764 -#define CHK_IO_SIZE(CHK_IO_SIZE167,5896 -#define DEVICE 170,6022 -struct tx_desc tx_desc173,6114 -struct rx_desc rx_desc179,6326 -struct dmfe_board_info dmfe_board_info185,6513 -enum dmfe_offsets dmfe_offsets257,8943 - DCR0 258,8963 - DCR0 = 0x00,258,8963 - DCR0 = 0x00, DCR1 258,8963 - DCR0 = 0x00, DCR1 = 0x08,258,8963 - DCR0 = 0x00, DCR1 = 0x08, DCR2 258,8963 - DCR0 = 0x00, DCR1 = 0x08, DCR2 = 0x10,258,8963 - DCR0 = 0x00, DCR1 = 0x08, DCR2 = 0x10, DCR3 258,8963 - DCR0 = 0x00, DCR1 = 0x08, DCR2 = 0x10, DCR3 = 0x18,258,8963 - DCR0 = 0x00, DCR1 = 0x08, DCR2 = 0x10, DCR3 = 0x18, DCR4 258,8963 - DCR0 = 0x00, DCR1 = 0x08, DCR2 = 0x10, DCR3 = 0x18, DCR4 = 0x20,258,8963 - DCR5 259,9029 - DCR5 = 0x28,259,9029 - DCR5 = 0x28, DCR6 259,9029 - DCR5 = 0x28, DCR6 = 0x30,259,9029 - DCR5 = 0x28, DCR6 = 0x30, DCR7 259,9029 - DCR5 = 0x28, DCR6 = 0x30, DCR7 = 0x38,259,9029 - DCR5 = 0x28, DCR6 = 0x30, DCR7 = 0x38, DCR8 259,9029 - DCR5 = 0x28, DCR6 = 0x30, DCR7 = 0x38, DCR8 = 0x40,259,9029 - DCR5 = 0x28, DCR6 = 0x30, DCR7 = 0x38, DCR8 = 0x40, DCR9 259,9029 - DCR5 = 0x28, DCR6 = 0x30, DCR7 = 0x38, DCR8 = 0x40, DCR9 = 0x48,259,9029 - DCR10 260,9095 - DCR10 = 0x50,260,9095 - DCR10 = 0x50, DCR11 260,9095 - DCR10 = 0x50, DCR11 = 0x58,260,9095 - DCR10 = 0x50, DCR11 = 0x58, DCR12 260,9095 - DCR10 = 0x50, DCR11 = 0x58, DCR12 = 0x60,260,9095 - DCR10 = 0x50, DCR11 = 0x58, DCR12 = 0x60, DCR13 260,9095 - DCR10 = 0x50, DCR11 = 0x58, DCR12 = 0x60, DCR13 = 0x68,260,9095 - DCR10 = 0x50, DCR11 = 0x58, DCR12 = 0x60, DCR13 = 0x68, DCR14 260,9095 - DCR10 = 0x50, DCR11 = 0x58, DCR12 = 0x60, DCR13 = 0x68, DCR14 = 0x70,260,9095 - DCR15 261,9166 - DCR15 = 0x78261,9166 -enum dmfe_CR6_bits dmfe_CR6_bits264,9184 - CR6_RXSC 265,9205 - CR6_RXSC = 0x2,265,9205 - CR6_RXSC = 0x2, CR6_PBF 265,9205 - CR6_RXSC = 0x2, CR6_PBF = 0x8,265,9205 - CR6_RXSC = 0x2, CR6_PBF = 0x8, CR6_PM 265,9205 - CR6_RXSC = 0x2, CR6_PBF = 0x8, CR6_PM = 0x40,265,9205 - CR6_RXSC = 0x2, CR6_PBF = 0x8, CR6_PM = 0x40, CR6_PAM 265,9205 - CR6_RXSC = 0x2, CR6_PBF = 0x8, CR6_PM = 0x40, CR6_PAM = 0x80,265,9205 - CR6_FDM 266,9268 - CR6_FDM = 0x200,266,9268 - CR6_FDM = 0x200, CR6_TXSC 266,9268 - CR6_FDM = 0x200, CR6_TXSC = 0x2000,266,9268 - CR6_FDM = 0x200, CR6_TXSC = 0x2000, CR6_STI 266,9268 - CR6_FDM = 0x200, CR6_TXSC = 0x2000, CR6_STI = 0x100000,266,9268 - CR6_SFT 267,9325 - CR6_SFT = 0x200000,267,9325 - CR6_SFT = 0x200000, CR6_RXA 267,9325 - CR6_SFT = 0x200000, CR6_RXA = 0x40000000,267,9325 - CR6_SFT = 0x200000, CR6_RXA = 0x40000000, CR6_NO_PURGE 267,9325 - CR6_SFT = 0x200000, CR6_RXA = 0x40000000, CR6_NO_PURGE = 0x20000000267,9325 -static int __devinitdata printed_version;271,9462 -static char version[272,9504 -static char version[] __devinitdata 272,9504 -static int dmfe_debug;276,9640 -static unsigned char dmfe_media_mode 277,9663 -static u32 dmfe_cr6_user_set;278,9713 -static int debug;281,9777 -static u32 cr6set;282,9795 -static unsigned char mode 283,9814 -static u8 chkmode 284,9845 -static u8 HPNA_mode;285,9868 -static u8 HPNA_rx_cmd;286,9926 -static u8 HPNA_tx_cmd;287,9991 -static u8 HPNA_NoiseFloor;288,10057 -static u8 SF_mode;289,10115 -static struct ethtool_ops netdev_ethtool_ops;299,10536 -static int __devinit dmfe_init_one 336,12261 -static void __devexit dmfe_remove_one 472,15735 -static int dmfe_open(500,16468 -static void dmfe_init_dm910x(559,17862 -static int dmfe_start_xmit(625,19628 -static int dmfe_stop(694,21432 -static irqreturn_t dmfe_interrupt(736,22425 -static void poll_dmfe 807,24226 -static void dmfe_free_tx_pkt(821,24528 -static inline u32 cal_CRC(893,26503 -static void dmfe_rx_packet(905,26712 -static struct net_device_stats * dmfe_get_stats(995,29112 -static void dmfe_set_filter_mode(1008,29331 -static void netdev_get_drvinfo(1040,30261 -static struct ethtool_ops netdev_ethtool_ops 1054,30620 -static void dmfe_timer(1063,30792 -static void dmfe_dynamic_reset(1198,34497 -static void dmfe_free_rxbuffer(1235,35314 -static void dmfe_reuse_skb(1252,35639 -static void dmfe_descriptor_init(1273,36240 -static void update_cr6(1336,38331 -static void dm9132_id_table(1353,38653 -static void send_filter_frame(1396,39677 -static void allocate_rx_buffer(1458,41108 -static u16 read_srom_word(1484,41689 -static u8 dmfe_sense_speed(1523,42582 -static void dmfe_set_phyxcer(1565,43759 -static void dmfe_process_mode(1618,45246 -static void phy_write(1662,46435 -static u16 phy_read(1709,47645 -static void phy_write_1bit(1761,48827 -static u16 phy_read_1bit(1776,49134 -static void dmfe_parse_srom(1794,49373 -static void dmfe_program_DM9801(1891,52013 -static void dmfe_program_DM9802(1929,53272 -static void dmfe_HPNA_remote_cmd_chk(1946,53761 -static struct pci_device_id dmfe_pci_tbl[1969,54437 -static struct pci_driver dmfe_driver 1979,54801 -static int __init dmfe_init_module(2009,55779 -static void __exit dmfe_cleanup_module(2058,56695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ethertap.c,599 -static int ethertap_debug;45,1321 -static int max_taps 47,1349 -static struct net_device **tap_map;51,1472 -struct net_localnet_local57,1603 -static int __init ethertap_probe(70,1847 -static int ethertap_open(122,2783 -static unsigned ethertap_mc_hash(138,3135 -static void set_multicast_list(150,3332 -static int ethertap_start_xmit(177,3962 -static __inline__ int ethertap_rx_skb(235,5327 -static void ethertap_rx(302,6832 -static int ethertap_close(321,7327 -static struct net_device_stats *ethertap_get_stats(339,7633 -int __init ethertap_init(346,7776 -void __exit ethertap_cleanup(374,8304 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/saa9730.h,6453 -#define _SAA9730_H26,994 -#define LAN_SAA9730_CAM_ENTRIES 30,1058 -#define LAN_SAA9730_CAM_DWORDS 31,1106 -#define LAN_SAA9730_PACKET_SIZE 34,1264 -#define LAN_SAA9730_BUFFERS 40,1434 -#define LAN_SAA9730_RCV_Q_SIZE 43,1533 -#define LAN_SAA9730_TXM_Q_SIZE 46,1633 -#define LAN_SAA9730_RCV_Q_INT_THRESHOLD 57,2072 -#define LAN_SAA9730_DEFAULT_TIME_OUT_CNT 58,2128 -#define RXSF_NDIS 60,2186 -#define RXSF_READY 61,2228 -#define RXSF_HWDONE 62,2270 -#define TXSF_EMPTY 64,2313 -#define TXSF_READY 65,2355 -#define TXSF_HWDONE 66,2397 -#define LANEND_LITTLE 68,2440 -#define LANEND_BIG_2143 69,2482 -#define LANEND_BIG_4321 70,2524 -#define LANMB_ANY 72,2567 -#define LANMB_8 73,2609 -#define LANMB_32 74,2651 -#define LANMB_64 75,2693 -#define MACCM_AUTOMATIC 77,2736 -#define MACCM_10MB 78,2778 -#define MACCM_MII 79,2820 -#define PHY_CONTROL 84,2948 -#define PHY_STATUS 85,2992 -#define PHY_STATUS_LINK_UP 86,3036 -#define PHY_CONTROL_RESET 87,3080 -#define PHY_CONTROL_AUTO_NEG 88,3127 -#define PHY_CONTROL_RESTART_AUTO_NEG 89,3174 -#define PHY_ADDRESS 90,3221 -#define PK_COUNT_TX_A_SHF 93,3291 -#define PK_COUNT_TX_A_MSK 94,3334 -#define PK_COUNT_TX_B_SHF 95,3402 -#define PK_COUNT_TX_B_MSK 96,3445 -#define PK_COUNT_RX_A_SHF 97,3513 -#define PK_COUNT_RX_A_MSK 98,3555 -#define PK_COUNT_RX_B_SHF 99,3623 -#define PK_COUNT_RX_B_MSK 100,3665 -#define OK2USE_TX_A 103,3757 -#define OK2USE_TX_B 104,3801 -#define OK2USE_RX_A 105,3845 -#define OK2USE_RX_B 106,3889 -#define DMA_CTL_BLK_INT 109,3966 -#define DMA_CTL_MAX_XFER_SHF 110,4017 -#define DMA_CTL_MAX_XFER_MSK 111,4060 -#define DMA_CTL_ENDIAN_SHF 112,4134 -#define DMA_CTL_ENDIAN_MSK 113,4177 -#define DMA_CTL_RX_INT_COUNT_SHF 114,4249 -#define DMA_CTL_RX_INT_COUNT_MSK 115,4291 -#define DMA_CTL_EN_TX_DMA 116,4370 -#define DMA_CTL_EN_RX_DMA 117,4421 -#define DMA_CTL_RX_INT_BUFFUL_EN 118,4472 -#define DMA_CTL_RX_INT_TO_EN 119,4523 -#define DMA_CTL_RX_INT_EN 120,4574 -#define DMA_CTL_TX_INT_EN 121,4625 -#define DMA_CTL_MAC_TX_INT_EN 122,4676 -#define DMA_CTL_MAC_RX_INT_EN 123,4727 -#define DMA_STATUS_BAD_ADDR_SHF 126,4806 -#define DMA_STATUS_BAD_ADDR_MSK 127,4849 -#define DMA_STATUS_RX_PKTS_RECEIVED_SHF 128,4922 -#define DMA_STATUS_RX_PKTS_RECEIVED_MSK 129,4964 -#define DMA_STATUS_TX_EN_SYNC 130,5046 -#define DMA_STATUS_RX_BUF_A_FUL 131,5097 -#define DMA_STATUS_RX_BUF_B_FUL 132,5148 -#define DMA_STATUS_RX_TO_INT 133,5199 -#define DMA_STATUS_RX_INT 134,5250 -#define DMA_STATUS_TX_INT 135,5301 -#define DMA_STATUS_MAC_TX_INT 136,5352 -#define DMA_STATUS_MAC_RX_INT 137,5403 -#define DMA_TEST_LOOPBACK 140,5494 -#define DMA_TEST_SW_RESET 141,5545 -#define MAC_CONTROL_EN_MISS_ROLL 144,5625 -#define MAC_CONTROL_MISS_ROLL 145,5676 -#define MAC_CONTROL_LOOP10 146,5727 -#define MAC_CONTROL_CONN_SHF 147,5778 -#define MAC_CONTROL_CONN_MSK 148,5820 -#define MAC_CONTROL_MAC_LOOP 149,5890 -#define MAC_CONTROL_FULL_DUP 150,5941 -#define MAC_CONTROL_RESET 151,5992 -#define MAC_CONTROL_HALT_IMM 152,6043 -#define MAC_CONTROL_HALT_REQ 153,6094 -#define CAM_CONTROL_COMP_EN 156,6174 -#define CAM_CONTROL_NEG_CAM 157,6225 -#define CAM_CONTROL_BROAD_ACC 158,6276 -#define CAM_CONTROL_GROUP_ACC 159,6327 -#define CAM_CONTROL_STATION_ACC 160,6378 -#define TX_CTL_EN_COMP 163,6463 -#define TX_CTL_EN_TX_PAR 164,6514 -#define TX_CTL_EN_LATE_COLL 165,6565 -#define TX_CTL_EN_EX_COLL 166,6616 -#define TX_CTL_EN_L_CARR 167,6667 -#define TX_CTL_EN_EX_DEFER 168,6718 -#define TX_CTL_EN_UNDER 169,6769 -#define TX_CTL_MII10 170,6820 -#define TX_CTL_SD_PAUSE 171,6871 -#define TX_CTL_NO_EX_DEF0 172,6922 -#define TX_CTL_F_BACK 173,6973 -#define TX_CTL_NO_CRC 174,7024 -#define TX_CTL_NO_PAD 175,7075 -#define TX_CTL_TX_HALT 176,7126 -#define TX_CTL_TX_EN 177,7177 -#define TX_STATUS_SQ_ERR 180,7261 -#define TX_STATUS_TX_HALTED 181,7312 -#define TX_STATUS_COMP 182,7363 -#define TX_STATUS_TX_PAR 183,7414 -#define TX_STATUS_LATE_COLL 184,7465 -#define TX_STATUS_TX10_STAT 185,7516 -#define TX_STATUS_L_CARR 186,7567 -#define TX_STATUS_EX_DEFER 187,7618 -#define TX_STATUS_UNDER 188,7669 -#define TX_STATUS_IN_TX 189,7720 -#define TX_STATUS_PAUSED 190,7771 -#define TX_STATUS_TX_DEFERRED 191,7822 -#define TX_STATUS_EX_COLL 192,7873 -#define TX_STATUS_TX_COLL_SHF 193,7924 -#define TX_STATUS_TX_COLL_MSK 194,7966 -#define RX_CTL_EN_GOOD 197,8070 -#define RX_CTL_EN_RX_PAR 198,8121 -#define RX_CTL_EN_LONG_ERR 199,8172 -#define RX_CTL_EN_OVER 200,8223 -#define RX_CTL_EN_CRC_ERR 201,8274 -#define RX_CTL_EN_ALIGN 202,8325 -#define RX_CTL_IGNORE_CRC 203,8376 -#define RX_CTL_PASS_CTL 204,8427 -#define RX_CTL_STRIP_CRC 205,8478 -#define RX_CTL_SHORT_EN 206,8529 -#define RX_CTL_LONG_EN 207,8580 -#define RX_CTL_RX_HALT 208,8631 -#define RX_CTL_RX_EN 209,8682 -#define RX_STATUS_RX_HALTED 212,8765 -#define RX_STATUS_GOOD 213,8816 -#define RX_STATUS_RX_PAR 214,8867 -#define RX_STATUS_LONG_ERR 215,8918 -#define RX_STATUS_OVERFLOW 216,8969 -#define RX_STATUS_CRC_ERR 217,9020 -#define RX_STATUS_ALIGN_ERR 218,9071 -#define RX_STATUS_RX10_STAT 219,9122 -#define RX_STATUS_INT_RX 220,9173 -#define RX_STATUS_CTL_RECD 221,9224 -#define MD_CA_PRE_SUP 224,9298 -#define MD_CA_BUSY 225,9349 -#define MD_CA_WR 226,9400 -#define MD_CA_PHY_SHF 227,9451 -#define MD_CA_PHY_MSK 228,9493 -#define MD_CA_ADDR_SHF 229,9557 -#define MD_CA_ADDR_MSK 230,9599 -#define TX_STAT_CTL_OWNER_SHF 233,9690 -#define TX_STAT_CTL_OWNER_MSK 234,9733 -#define TX_STAT_CTL_FRAME_SHF 235,9804 -#define TX_STAT_CTL_FRAME_MSK 236,9847 -#define TX_STAT_CTL_STATUS_SHF 237,9918 -#define TX_STAT_CTL_STATUS_MSK 238,9961 -#define TX_STAT_CTL_LENGTH_SHF 239,10037 -#define TX_STAT_CTL_LENGTH_MSK 240,10079 -#define TX_STAT_CTL_ERROR_MSK 242,10154 -#define TX_STAT_CTL_INT_AFTER_TX 254,10675 -#define RX_STAT_CTL_OWNER_SHF 257,10745 -#define RX_STAT_CTL_OWNER_MSK 258,10788 -#define RX_STAT_CTL_STATUS_SHF 259,10859 -#define RX_STAT_CTL_STATUS_MSK 260,10902 -#define RX_STAT_CTL_LENGTH_SHF 261,10977 -#define RX_STAT_CTL_LENGTH_MSK 262,11019 -#define SAA9730_LAN_REGS_ADDR 267,11170 -struct lan_saa9730_regmap lan_saa9730_regmap269,11211 -typedef volatile struct lan_saa9730_regmap t_lan_saa9730_regmap;t_lan_saa9730_regmap303,12903 -#define EVM_LAN_INT 307,13009 -#define EVM_MASTER_EN 308,13060 -#define SAA9730_EVM_REGS_ADDR 311,13186 -struct evm_saa9730_regmap evm_saa9730_regmap313,13227 -typedef volatile struct evm_saa9730_regmap t_evm_saa9730_regmap;t_evm_saa9730_regmap328,13953 -struct lan_saa9730_private lan_saa9730_private331,14020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ppp_deflate.c,649 -struct ppp_deflate_state ppp_deflate_state48,1706 -#define DEFLATE_OVHD 58,1861 -static void z_comp_free(84,2917 -static void *z_comp_alloc(110,3701 -static int z_comp_init(163,5443 -static void z_comp_reset(192,6275 -int z_compress(211,6806 -static void z_comp_stats(294,8839 -static void z_decomp_free(305,9121 -static void *z_decomp_alloc(331,9912 -static int z_decomp_init(383,11660 -static void z_decomp_reset(413,12520 -int z_decompress(442,13697 -static void z_incomp(548,16643 -struct compressor ppp_deflate 603,18001 -struct compressor ppp_deflate_draft 621,18479 -int __init deflate_init(639,18969 -void __exit deflate_cleanup(649,19255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hamachi.c,8274 -#define DRV_NAME 36,999 -#define DRV_VERSION 37,1026 -#define DRV_RELDATE 38,1061 -static int debug 43,1134 -#define final_version44,1205 -#define hamachi_debug 45,1227 -static int max_interrupt_work 47,1324 -static int mtu;48,1360 -static int max_rx_latency 53,1589 -static int max_rx_gap 54,1623 -static int min_rx_pkt 55,1653 -static int max_tx_latency 56,1683 -static int max_tx_gap 57,1718 -static int min_tx_pkt 58,1748 -static int rx_copybreak;64,1931 -static int force32;70,2124 -#define MAX_UNITS 92,2971 -static int options[93,3042 -static int full_duplex[94,3108 -static int rx_params[110,3825 -static int tx_params[111,3893 -#define TX_RING_SIZE 126,4628 -#define RX_RING_SIZE 127,4652 -#define TX_TOTAL_SIZE 128,4677 -#define RX_TOTAL_SIZE 129,4740 -#define RX_CHECKSUM149,5540 -#define TX_TIMEOUT 153,5685 -static char version[181,6364 -static char version[] __devinitdata 181,6364 - #define IP_MF 193,6913 - #define IP_OFFSET 199,7069 - #define IP_OFFSET 201,7112 -#define RUN_AT(RUN_AT205,7153 -#define cpu_to_leXX(cpu_to_leXX209,7257 -#define cpu_to_leXX(cpu_to_leXX211,7308 -#define PKT_BUF_SZ 413,16100 -#define MAX_FRAME_SIZE 419,16289 -enum capability_flags capability_flags425,16420 -enum capability_flags {CanHaveMII=425,16420 -static struct chip_info chip_info426,16460 -} chip_tbl[431,16607 -enum hamachi_offsets hamachi_offsets437,16758 - TxDMACtrl=438,16781 - TxDMACtrl=0x00,438,16781 - TxDMACtrl=0x00, TxCmd=438,16781 - TxDMACtrl=0x00, TxCmd=0x04,438,16781 - TxDMACtrl=0x00, TxCmd=0x04, TxStatus=438,16781 - TxDMACtrl=0x00, TxCmd=0x04, TxStatus=0x06,438,16781 - TxDMACtrl=0x00, TxCmd=0x04, TxStatus=0x06, TxPtr=438,16781 - TxDMACtrl=0x00, TxCmd=0x04, TxStatus=0x06, TxPtr=0x08,438,16781 - TxDMACtrl=0x00, TxCmd=0x04, TxStatus=0x06, TxPtr=0x08, TxCurPtr=438,16781 - TxDMACtrl=0x00, TxCmd=0x04, TxStatus=0x06, TxPtr=0x08, TxCurPtr=0x10,438,16781 - RxDMACtrl=439,16852 - RxDMACtrl=0x20,439,16852 - RxDMACtrl=0x20, RxCmd=439,16852 - RxDMACtrl=0x20, RxCmd=0x24,439,16852 - RxDMACtrl=0x20, RxCmd=0x24, RxStatus=439,16852 - RxDMACtrl=0x20, RxCmd=0x24, RxStatus=0x26,439,16852 - RxDMACtrl=0x20, RxCmd=0x24, RxStatus=0x26, RxPtr=439,16852 - RxDMACtrl=0x20, RxCmd=0x24, RxStatus=0x26, RxPtr=0x28,439,16852 - RxDMACtrl=0x20, RxCmd=0x24, RxStatus=0x26, RxPtr=0x28, RxCurPtr=439,16852 - RxDMACtrl=0x20, RxCmd=0x24, RxStatus=0x26, RxPtr=0x28, RxCurPtr=0x30,439,16852 - PCIClkMeas=440,16923 - PCIClkMeas=0x060,440,16923 - PCIClkMeas=0x060, MiscStatus=440,16923 - PCIClkMeas=0x060, MiscStatus=0x066,440,16923 - PCIClkMeas=0x060, MiscStatus=0x066, ChipRev=440,16923 - PCIClkMeas=0x060, MiscStatus=0x066, ChipRev=0x68,440,16923 - PCIClkMeas=0x060, MiscStatus=0x066, ChipRev=0x68, ChipReset=440,16923 - PCIClkMeas=0x060, MiscStatus=0x066, ChipRev=0x68, ChipReset=0x06B,440,16923 - LEDCtrl=441,16991 - LEDCtrl=0x06C,441,16991 - LEDCtrl=0x06C, VirtualJumpers=441,16991 - LEDCtrl=0x06C, VirtualJumpers=0x06D,441,16991 - LEDCtrl=0x06C, VirtualJumpers=0x06D, GPIO=441,16991 - LEDCtrl=0x06C, VirtualJumpers=0x06D, GPIO=0x6E,441,16991 - TxChecksum=442,17040 - TxChecksum=0x074,442,17040 - TxChecksum=0x074, RxChecksum=442,17040 - TxChecksum=0x074, RxChecksum=0x076,442,17040 - TxIntrCtrl=443,17077 - TxIntrCtrl=0x078,443,17077 - TxIntrCtrl=0x078, RxIntrCtrl=443,17077 - TxIntrCtrl=0x078, RxIntrCtrl=0x07C,443,17077 - InterruptEnable=444,17114 - InterruptEnable=0x080,444,17114 - InterruptEnable=0x080, InterruptClear=444,17114 - InterruptEnable=0x080, InterruptClear=0x084,444,17114 - InterruptEnable=0x080, InterruptClear=0x084, IntrStatus=444,17114 - InterruptEnable=0x080, InterruptClear=0x084, IntrStatus=0x088,444,17114 - EventStatus=445,17178 - EventStatus=0x08C,445,17178 - MACCnfg=446,17198 - MACCnfg=0x0A0,446,17198 - MACCnfg=0x0A0, FrameGap0=446,17198 - MACCnfg=0x0A0, FrameGap0=0x0A2,446,17198 - MACCnfg=0x0A0, FrameGap0=0x0A2, FrameGap1=446,17198 - MACCnfg=0x0A0, FrameGap0=0x0A2, FrameGap1=0x0A4,446,17198 - MACCnfg2=448,17283 - MACCnfg2=0x0B0,448,17283 - MACCnfg2=0x0B0, RxDepth=448,17283 - MACCnfg2=0x0B0, RxDepth=0x0B8,448,17283 - MACCnfg2=0x0B0, RxDepth=0x0B8, FlowCtrl=448,17283 - MACCnfg2=0x0B0, RxDepth=0x0B8, FlowCtrl=0x0BC,448,17283 - MACCnfg2=0x0B0, RxDepth=0x0B8, FlowCtrl=0x0BC, MaxFrameSize=448,17283 - MACCnfg2=0x0B0, RxDepth=0x0B8, FlowCtrl=0x0BC, MaxFrameSize=0x0CE,448,17283 - AddrMode=449,17351 - AddrMode=0x0D0,449,17351 - AddrMode=0x0D0, StationAddr=449,17351 - AddrMode=0x0D0, StationAddr=0x0D2,449,17351 - ANCtrl=451,17419 - ANCtrl=0x0E0,451,17419 - ANCtrl=0x0E0, ANStatus=451,17419 - ANCtrl=0x0E0, ANStatus=0x0E2,451,17419 - ANCtrl=0x0E0, ANStatus=0x0E2, ANXchngCtrl=451,17419 - ANCtrl=0x0E0, ANStatus=0x0E2, ANXchngCtrl=0x0E4,451,17419 - ANCtrl=0x0E0, ANStatus=0x0E2, ANXchngCtrl=0x0E4, ANAdvertise=451,17419 - ANCtrl=0x0E0, ANStatus=0x0E2, ANXchngCtrl=0x0E4, ANAdvertise=0x0E8,451,17419 - ANLinkPartnerAbility=452,17488 - ANLinkPartnerAbility=0x0EA,452,17488 - EECmdStatus=453,17517 - EECmdStatus=0x0F0,453,17517 - EECmdStatus=0x0F0, EEData=453,17517 - EECmdStatus=0x0F0, EEData=0x0F1,453,17517 - EECmdStatus=0x0F0, EEData=0x0F1, EEAddr=453,17517 - EECmdStatus=0x0F0, EEData=0x0F1, EEAddr=0x0F2,453,17517 - FIFOcfg=454,17565 - FIFOcfg=0x0F8,454,17565 -enum MII_offsets MII_offsets458,17626 - MII_Cmd=459,17645 - MII_Cmd=0xA6,459,17645 - MII_Cmd=0xA6, MII_Addr=459,17645 - MII_Cmd=0xA6, MII_Addr=0xA8,459,17645 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=459,17645 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=0xAA,459,17645 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=0xAA, MII_Rd_Data=459,17645 - MII_Cmd=0xA6, MII_Addr=0xA8, MII_Wr_Data=0xAA, MII_Rd_Data=0xAC,459,17645 - MII_Status=460,17711 - MII_Status=0xAE,460,17711 -enum intr_status_bits intr_status_bits464,17784 - IntrRxDone=465,17808 - IntrRxDone=0x01,465,17808 - IntrRxDone=0x01, IntrRxPCIFault=465,17808 - IntrRxDone=0x01, IntrRxPCIFault=0x02,465,17808 - IntrRxDone=0x01, IntrRxPCIFault=0x02, IntrRxPCIErr=465,17808 - IntrRxDone=0x01, IntrRxPCIFault=0x02, IntrRxPCIErr=0x04,465,17808 - IntrTxDone=466,17866 - IntrTxDone=0x100,466,17866 - IntrTxDone=0x100, IntrTxPCIFault=466,17866 - IntrTxDone=0x100, IntrTxPCIFault=0x200,466,17866 - IntrTxDone=0x100, IntrTxPCIFault=0x200, IntrTxPCIErr=466,17866 - IntrTxDone=0x100, IntrTxPCIFault=0x200, IntrTxPCIErr=0x400,466,17866 - LinkChange=467,17927 - LinkChange=0x10000,467,17927 - LinkChange=0x10000, NegotiationChange=467,17927 - LinkChange=0x10000, NegotiationChange=0x20000,467,17927 - LinkChange=0x10000, NegotiationChange=0x20000, StatsMax=467,17927 - LinkChange=0x10000, NegotiationChange=0x20000, StatsMax=0x40000,467,17927 -struct hamachi_desc hamachi_desc470,18045 -enum desc_status_bits desc_status_bits481,18202 - DescOwn=482,18226 - DescOwn=0x80000000,482,18226 - DescOwn=0x80000000, DescEndPacket=482,18226 - DescOwn=0x80000000, DescEndPacket=0x40000000,482,18226 - DescOwn=0x80000000, DescEndPacket=0x40000000, DescEndRing=482,18226 - DescOwn=0x80000000, DescEndPacket=0x40000000, DescEndRing=0x20000000,482,18226 - DescIntr=483,18298 - DescIntr=0x10000000,483,18298 -#define PRIV_ALIGN 486,18324 -#define MII_CNT 487,18380 -struct hamachi_private hamachi_private488,18399 -static int __devinit hamachi_init_one 570,22757 -static int __devinit read_eeprom(795,29166 -static int mdio_read(815,29845 -static void mdio_write(832,30305 -static int hamachi_open(852,30795 -static inline int hamachi_tx(1001,35484 -static void hamachi_timer(1032,36319 -static void hamachi_tx_timeout(1057,37128 -static void hamachi_init_ring(1164,40481 -#define csum_add(csum_add1223,42486 -#define pseudo_csum_udp(pseudo_csum_udp1234,42724 -#define pseudo_csum_tcp(pseudo_csum_tcp1245,43059 -static int hamachi_start_xmit(1256,43388 -static irqreturn_t hamachi_interrupt(1371,47387 -static int hamachi_rx(1478,50294 -static void hamachi_error(1693,57379 -static int hamachi_close(1727,58561 -static struct net_device_stats *hamachi_get_stats(1813,60972 -static void set_rx_mode(1841,62160 -static int netdev_ethtool_ioctl(1870,63178 -static int netdev_ioctl(1935,64882 -static void __devexit hamachi_remove_one 1974,65878 -static struct pci_device_id hamachi_pci_tbl[1993,66357 -static struct pci_driver hamachi_driver 1999,66508 -static int __init hamachi_init 2006,66680 -static void __exit hamachi_exit 2018,66958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/8139too.c,13074 -#define DRV_NAME 92,2648 -#define DRV_VERSION 93,2675 -#define RTL8139_DRIVER_NAME 116,3198 -#define PFX 117,3274 -#define RTL8139_DEF_MSG_ENABLE 120,3329 -#define USE_IO_OPS 127,3582 -# define DPRINTK(DPRINTK139,3836 -# define DPRINTK(DPRINTK141,3928 -# define assert(assert145,3990 -# define assert(assert147,4035 -#define MAX_UNITS 157,4306 -static int media[158,4326 -static int full_duplex[159,4390 -static int multicast_filter_limit 163,4612 -static int debug 166,4691 -#define RX_BUF_IDX 173,4835 -#define RX_BUF_IDX 175,4877 -#define RX_BUF_LEN 177,4920 -#define RX_BUF_PAD 178,4960 -#define RX_BUF_WRAP_PAD 179,4982 -#define RX_BUF_TOT_LEN 182,5086 -#define RX_BUF_TOT_LEN 184,5126 -#define NUM_TX_DESC 188,5242 -#define MAX_ETH_FRAME_SIZE 191,5341 -#define TX_BUF_SIZE 194,5447 -#define TX_BUF_TOT_LEN 195,5486 -#define TX_FIFO_THRESH 199,5636 -#define RX_FIFO_THRESH 202,5805 -#define RX_DMA_BURST 203,5876 -#define TX_DMA_BURST 204,5936 -#define TX_RETRY 205,5996 -#define TX_TIMEOUT 209,6184 - HAS_MII_XCVR 213,6220 - HAS_MII_XCVR = 0x010000,213,6220 - HAS_CHIP_XCVR 214,6246 - HAS_CHIP_XCVR = 0x020000,214,6246 - HAS_LNK_CHNG 215,6273 - HAS_LNK_CHNG = 0x040000,215,6273 -#define RTL_NUM_STATS 218,6303 -#define RTL_REGS_VER 219,6365 -#define RTL_MIN_IO_SIZE 220,6433 -#define RTL8139B_IO_SIZE 221,6462 -#define RTL8129_CAPS 223,6492 -#define RTL8139_CAPS 224,6526 - RTL8139 227,6590 - RTL8129,228,6604 -} board_t;board_t229,6614 -} board_info[236,6709 -} board_info[] __devinitdata 236,6709 -static struct pci_device_id rtl8139_pci_tbl[242,6823 -} ethtool_stats_keys[285,8688 -enum RTL8139_registers RTL8139_registers295,8892 - MAC0 296,8917 - MAR0 297,8962 - TxStatus0 298,8998 - TxStatus0 = 0x10,298,8998 - TxAddr0 299,9063 - TxAddr0 = 0x20,299,9063 - RxBuf 300,9121 - RxBuf = 0x30,300,9121 - ChipCmd 301,9136 - ChipCmd = 0x37,301,9136 - RxBufPtr 302,9153 - RxBufPtr = 0x38,302,9153 - RxBufAddr 303,9171 - RxBufAddr = 0x3A,303,9171 - IntrMask 304,9190 - IntrMask = 0x3C,304,9190 - IntrStatus 305,9208 - IntrStatus = 0x3E,305,9208 - TxConfig 306,9228 - TxConfig = 0x40,306,9228 - RxConfig 307,9246 - RxConfig = 0x44,307,9246 - Timer 308,9264 - Timer = 0x48,308,9264 - RxMissed 309,9313 - RxMissed = 0x4C,309,9313 - Cfg9346 310,9366 - Cfg9346 = 0x50,310,9366 - Config0 311,9383 - Config0 = 0x51,311,9383 - Config1 312,9400 - Config1 = 0x52,312,9400 - FlashReg 313,9417 - FlashReg = 0x54,313,9417 - MediaStatus 314,9435 - MediaStatus = 0x58,314,9435 - Config3 315,9456 - Config3 = 0x59,315,9456 - Config4 316,9473 - Config4 = 0x5A,316,9473 - HltClk 317,9517 - HltClk = 0x5B,317,9517 - MultiIntr 318,9533 - MultiIntr = 0x5C,318,9533 - TxSummary 319,9552 - TxSummary = 0x60,319,9552 - BasicModeCtrl 320,9571 - BasicModeCtrl = 0x62,320,9571 - BasicModeStatus 321,9594 - BasicModeStatus = 0x64,321,9594 - NWayAdvert 322,9619 - NWayAdvert = 0x66,322,9619 - NWayLPAR 323,9639 - NWayLPAR = 0x68,323,9639 - NWayExpansion 324,9657 - NWayExpansion = 0x6A,324,9657 - FIFOTMS 326,9746 - FIFOTMS = 0x70,326,9746 - CSCR 327,9793 - CSCR = 0x74,327,9793 - PARA78 328,9854 - PARA78 = 0x78,328,9854 - PARA7c 329,9870 - PARA7c = 0x7c,329,9870 - Config5 330,9931 - Config5 = 0xD8,330,9931 -enum ClearBitMasks ClearBitMasks333,9979 - MultiIntrClear 334,10000 - MultiIntrClear = 0xF000,334,10000 - ChipCmdClear 335,10026 - ChipCmdClear = 0xE2,335,10026 - Config1Clear 336,10048 -enum ChipCmdBits ChipCmdBits339,10104 - CmdReset 340,10123 - CmdReset = 0x10,340,10123 - CmdRxEnb 341,10141 - CmdRxEnb = 0x08,341,10141 - CmdTxEnb 342,10159 - CmdTxEnb = 0x04,342,10159 - RxBufEmpty 343,10177 - RxBufEmpty = 0x01,343,10177 -enum IntrStatusBits IntrStatusBits347,10263 - PCIErr 348,10285 - PCIErr = 0x8000,348,10285 - PCSTimeout 349,10303 - PCSTimeout = 0x4000,349,10303 - RxFIFOOver 350,10325 - RxFIFOOver = 0x40,350,10325 - RxUnderrun 351,10345 - RxUnderrun = 0x20,351,10345 - RxOverflow 352,10365 - RxOverflow = 0x10,352,10365 - TxErr 353,10385 - TxErr = 0x08,353,10385 - TxOK 354,10400 - TxOK = 0x04,354,10400 - RxErr 355,10414 - RxErr = 0x02,355,10414 - RxOK 356,10429 - RxOK = 0x01,356,10429 - RxAckBits 358,10444 - RxAckBits = RxFIFOOver 358,10444 - RxAckBits = RxFIFOOver | RxOverflow 358,10444 - RxAckBits = RxFIFOOver | RxOverflow | RxOK,358,10444 -enum TxStatusBits TxStatusBits361,10493 - TxHostOwns 362,10513 - TxHostOwns = 0x2000,362,10513 - TxUnderrun 363,10535 - TxUnderrun = 0x4000,363,10535 - TxStatOK 364,10557 - TxStatOK = 0x8000,364,10557 - TxOutOfWindow 365,10577 - TxOutOfWindow = 0x20000000,365,10577 - TxAborted 366,10606 - TxAborted = 0x40000000,366,10606 - TxCarrierLost 367,10631 - TxCarrierLost = 0x80000000,367,10631 -enum RxStatusBits RxStatusBits369,10663 - RxMulticast 370,10683 - RxMulticast = 0x8000,370,10683 - RxPhysical 371,10706 - RxPhysical = 0x4000,371,10706 - RxBroadcast 372,10728 - RxBroadcast = 0x2000,372,10728 - RxBadSymbol 373,10751 - RxBadSymbol = 0x0020,373,10751 - RxRunt 374,10774 - RxRunt = 0x0010,374,10774 - RxTooLong 375,10792 - RxTooLong = 0x0008,375,10792 - RxCRCErr 376,10813 - RxCRCErr = 0x0004,376,10813 - RxBadAlign 377,10833 - RxBadAlign = 0x0002,377,10833 - RxStatusOK 378,10855 - RxStatusOK = 0x0001,378,10855 -enum rx_mode_bits rx_mode_bits382,10905 - AcceptErr 383,10925 - AcceptErr = 0x20,383,10925 - AcceptRunt 384,10944 - AcceptRunt = 0x10,384,10944 - AcceptBroadcast 385,10964 - AcceptBroadcast = 0x08,385,10964 - AcceptMulticast 386,10989 - AcceptMulticast = 0x04,386,10989 - AcceptMyPhys 387,11014 - AcceptMyPhys = 0x02,387,11014 - AcceptAllPhys 388,11036 - AcceptAllPhys = 0x01,388,11036 -enum tx_config_bits tx_config_bits392,11087 - TxIFG1 393,11109 - TxIFG0 394,11156 - TxLoopBack 395,11223 - TxCRC 396,11292 - TxClearAbt 397,11361 - TxDMAShift 398,11408 - TxRetryShift 399,11480 - TxVersionMask 401,11550 - TxVersionMask = 0x7C800000,401,11550 -enum Config1Bits Config1Bits405,11643 - Cfg1_PM_Enable 406,11662 - Cfg1_PM_Enable = 0x01,406,11662 - Cfg1_VPD_Enable 407,11686 - Cfg1_VPD_Enable = 0x02,407,11686 - Cfg1_PIO 408,11711 - Cfg1_PIO = 0x04,408,11711 - Cfg1_MMIO 409,11729 - Cfg1_MMIO = 0x08,409,11729 - LWAKE 410,11748 - LWAKE = 0x10,410,11748 - Cfg1_Driver_Load 411,11789 - Cfg1_Driver_Load = 0x20,411,11789 - Cfg1_LED0 412,11815 - Cfg1_LED0 = 0x40,412,11815 - Cfg1_LED1 413,11834 - Cfg1_LED1 = 0x80,413,11834 - SLEEP 414,11853 - PWRDN 415,11898 -enum Config3Bits Config3Bits419,11969 - Cfg3_FBtBEn 420,11988 - Cfg3_FuncRegEn 421,12044 - Cfg3_CLKRUN_En 422,12116 - Cfg3_CardB_En 423,12168 - Cfg3_LinkUp 424,12231 - Cfg3_Magic 425,12288 - Cfg3_PARM_En 426,12355 - Cfg3_GNTSel 427,12429 -enum Config4Bits Config4Bits431,12527 - LWPTN 432,12546 -enum Config5Bits Config5Bits436,12616 - Cfg5_PME_STS 437,12635 - Cfg5_LANWake 438,12703 - Cfg5_LDPS 439,12765 - Cfg5_FIFOAddrPtr 440,12834 - Cfg5_UWF 441,12900 - Cfg5_MWF 442,12968 - Cfg5_BWF 443,13038 -enum RxConfigBits RxConfigBits446,13112 - RxCfgFIFOShift 448,13157 - RxCfgFIFONone 449,13179 - RxCfgFIFONone = (7 << RxCfgFIFOShift)449,13179 - RxCfgDMAShift 452,13241 - RxCfgDMAUnlimited 453,13261 - RxCfgDMAUnlimited = (7 << RxCfgDMAShift)453,13261 - RxCfgRcv8K 456,13334 - RxCfgRcv16K 457,13351 - RxCfgRcv32K 458,13377 - RxCfgRcv64K 459,13403 - RxNoWrap 462,13514 -enum CSCRBits CSCRBits467,13661 - CSCR_LinkOKBit 468,13677 - CSCR_LinkOKBit = 0x0400,468,13677 - CSCR_LinkChangeBit 469,13703 - CSCR_LinkChangeBit = 0x0800,469,13703 - CSCR_LinkStatusBits 470,13733 - CSCR_LinkStatusBits = 0x0f000,470,13733 - CSCR_LinkDownOffCmd 471,13765 - CSCR_LinkDownOffCmd = 0x003c0,471,13765 - CSCR_LinkDownCmd 472,13797 - CSCR_LinkDownCmd = 0x0f3c0,472,13797 -enum Cfg9346Bits Cfg9346Bits475,13830 - Cfg9346_Lock 476,13849 - Cfg9346_Lock = 0x00,476,13849 - Cfg9346_Unlock 477,13871 - Cfg9346_Unlock = 0xC0,477,13871 - CH_8139 481,13914 - CH_8139_K,482,13928 - CH_8139A,483,13940 - CH_8139A_G,484,13951 - CH_8139B,485,13964 - CH_8130,486,13975 - CH_8139C,487,13985 - CH_8100,488,13996 - CH_8100B_8139D,489,14006 - CH_8101,490,14023 -} chip_t;chip_t491,14033 -enum chip_flags chip_flags493,14044 - HasHltClk 494,14062 - HasLWake 495,14085 -#define HW_REVID(HW_REVID498,14111 -#define HW_REVID_MASK 500,14236 -} rtl_chip_info[507,14430 -struct rtl_extra_stats rtl_extra_stats559,15202 -struct rtl8139_private rtl8139_private566,15346 -static struct ethtool_ops rtl8139_ethtool_ops;635,18149 -#define RTL_R8(RTL_R8639,18216 -#define RTL_R16(RTL_R16640,18275 -#define RTL_R32(RTL_R32641,18335 -#define RTL_W8(RTL_W8642,18413 -#define RTL_W16(RTL_W16643,18486 -#define RTL_W32(RTL_W32644,18562 -#define RTL_W8_F 645,18638 -#define RTL_W16_F 646,18663 -#define RTL_W32_F 647,18690 -#define readb(readb654,18798 -#define readw(readw655,18845 -#define readl(readl656,18892 -#define writeb(writeb657,18939 -#define writew(writew658,18998 -#define writel(writel659,19057 -#define RTL_W8_F(RTL_W8_F665,19215 -#define RTL_W16_F(RTL_W16_F666,19317 -#define RTL_W32_F(RTL_W32_F667,19422 -#define MMIO_FLUSH_AUDIT_COMPLETE 670,19529 -#define RTL_W8(RTL_W8674,19622 -#define RTL_W16(RTL_W16675,19680 -#define RTL_W32(RTL_W32676,19741 -#define RTL_W8 681,19848 -#define RTL_W16 682,19873 -#define RTL_W32 683,19900 -#define RTL_R8(RTL_R8688,19993 -#define RTL_R16(RTL_R16689,20037 -#define RTL_R32(RTL_R32690,20082 -static const u16 rtl8139_intr_mask 695,20172 -static const u16 rtl8139_norx_intr_mask 699,20302 -static const unsigned int rtl8139_rx_config 704,20425 -static const unsigned int rtl8139_rx_config 709,20590 -static const unsigned int rtl8139_rx_config 714,20756 -static const unsigned int rtl8139_rx_config 719,20922 -static const unsigned int rtl8139_tx_config 727,21119 -static void __rtl8139_cleanup_dev 730,21226 -static void rtl8139_chip_reset 756,21703 -static int __devinit rtl8139_init_board 773,21986 -static int __devinit rtl8139_init_one 941,26387 -static void __devexit rtl8139_remove_one 1118,31654 -#define EE_SHIFT_CLK 1136,31979 -#define EE_CS 1137,32031 -#define EE_DATA_WRITE 1138,32078 -#define EE_WRITE_0 1139,32132 -#define EE_WRITE_1 1140,32157 -#define EE_DATA_READ 1141,32182 -#define EE_ENB 1142,32236 -#define eeprom_delay(eeprom_delay1148,32388 -#define EE_WRITE_CMD 1151,32488 -#define EE_READ_CMD 1152,32513 -#define EE_ERASE_CMD 1153,32538 -static int __devinit read_eeprom 1155,32564 -#define MDIO_DIR 1200,33809 -#define MDIO_DATA_OUT 1201,33832 -#define MDIO_DATA_IN 1202,33859 -#define MDIO_CLK 1203,33885 -#define MDIO_WRITE0 1204,33908 -#define MDIO_WRITE1 1205,33939 -#define mdio_delay(mdio_delay1207,33987 -static char mii_2_8139_map[1210,34036 -static void mdio_sync 1224,34262 -static int mdio_read 1237,34488 -static void mdio_write 1278,35593 -static int rtl8139_open 1322,36724 -static void rtl_check_media 1370,37948 -static void rtl8139_hw_start 1380,38206 -static void rtl8139_init_ring 1449,40204 -static int next_tick 1464,40516 -static inline void rtl8139_tune_twister 1467,40584 -enum TwisterParamVals TwisterParamVals1470,40692 - PARA78_default 1471,40716 - PARA78_default = 0x78fa8388,1471,40716 - PARA7c_default 1472,40746 - PARA7c_default = 0xcb38de43,1472,40746 - PARA7c_xxx 1473,40794 - PARA7c_xxx = 0xcb38de43,1473,40794 -static const unsigned long param[1476,40824 -static void rtl8139_tune_twister 1483,41074 -static inline void rtl8139_thread_iter 1569,43343 -static int rtl8139_thread 1615,44604 -static void rtl8139_start_thread(1648,45304 -static inline void rtl8139_tx_clear 1667,45745 -static void rtl8139_tx_timeout 1676,45918 -static int rtl8139_start_xmit 1721,47224 -static void rtl8139_tx_interrupt 1764,48227 -static void rtl8139_rx_err 1836,50144 -static __inline__ void wrap_copy(1919,52315 -static void rtl8139_isr_ack(1932,52635 -static int rtl8139_rx(1950,53045 -static void rtl8139_weird_interrupt 2089,56554 -static int rtl8139_poll(2128,57556 -static irqreturn_t rtl8139_interrupt 2164,58400 -static void rtl8139_poll_controller(2234,60292 -static int rtl8139_close 2242,60452 -static void rtl8139_get_wol(2305,62117 -static int rtl8139_set_wol(2339,63087 -static void rtl8139_get_drvinfo(2379,64215 -static int rtl8139_get_settings(2388,64500 -static int rtl8139_set_settings(2397,64728 -static int rtl8139_nway_reset(2407,64971 -static u32 rtl8139_get_link(2413,65107 -static u32 rtl8139_get_msglevel(2419,65236 -static void rtl8139_set_msglevel(2425,65362 -#define rtl8139_get_regs_len 2433,65591 -#define rtl8139_get_regs 2434,65625 -static int rtl8139_get_regs_len(2436,65661 -static void rtl8139_get_regs(2442,65785 -static int rtl8139_get_stats_count(2454,66097 -static void rtl8139_get_ethtool_stats(2459,66184 -static void rtl8139_get_strings(2469,66476 -static struct ethtool_ops rtl8139_ethtool_ops 2474,66625 -static int netdev_ioctl(2491,67209 -static struct net_device_stats *rtl8139_get_stats 2507,67513 -static void __set_rx_mode 2526,68027 -static void rtl8139_set_rx_mode 2574,69579 -static int rtl8139_suspend 2586,69827 -static int rtl8139_resume 2618,70475 -static struct pci_driver rtl8139_pci_driver 2636,70849 -static int __init rtl8139_init_module 2648,71123 -static void __exit rtl8139_cleanup_module 2661,71390 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/de620.h,2071 -#define CS0 8,329 -#define ICEN 9,373 -#define DS0 10,429 -#define DS1 11,472 -#define WDIR 13,516 -#define RDIR 14,565 -#define PS2WDIR 15,611 -#define PS2RDIR 16,665 -#define IRQEN 18,688 -#define SELECTIN 19,742 -#define INITP 20,789 -#define AUTOFEED 21,835 -#define STROBE 22,890 -#define RESET 24,935 -#define NIS0 25,955 -#define NCTL0 26,997 -#define W_DUMMY 29,1043 -#define W_CR 30,1092 -#define W_NPR 31,1144 -#define W_TBR 32,1199 -#define W_RSA 33,1255 -#define EMPTY 36,1346 -#define INTLEVEL 37,1397 -#define TXBF1 38,1453 -#define TXBF0 39,1511 -#define READY 40,1569 -#define W_RSA1 43,1649 -#define W_RSA0 44,1705 -#define W_NPRF 45,1761 -#define W_DFR 46,1824 -#define W_CPR 47,1878 -#define W_SPR 48,1932 -#define W_EPR 49,1984 -#define W_SCR 50,2034 -#define W_TCR 51,2096 -#define W_EIP 52,2158 -#define W_PAR0 53,2210 -#define W_PAR1 54,2271 -#define W_PAR2 55,2332 -#define W_PAR3 56,2393 -#define W_PAR4 57,2454 -#define W_PAR5 58,2515 -#define R_STS 61,2597 -#define R_CPR 62,2644 -#define R_BPR 63,2697 -#define R_TDR 64,2751 -#define EEDI 67,2835 -#define TXSUC 68,2872 -#define T16 69,2909 -#define TS1 70,2950 -#define TS0 71,2994 -#define RXGOOD 72,3038 -#define RXCRC 73,3082 -#define RXSHORT 74,3130 -#define COLS 75,3176 -#define LNKS 76,3226 -#define CLEAR 79,3291 -#define NOPER 80,3340 -#define RNOP 81,3379 -#define RRA 82,3398 -#define RRN 83,3467 -#define RW1 84,3515 -#define RW0 85,3581 -#define TXEN 86,3646 -#define TESTON 89,3723 -#define SLEEP 90,3786 -#define FASTMODE 92,3829 -#define BYTEMODE 93,3895 -#define FASTMODE 95,3939 -#define BYTEMODE 96,4005 -#define NIBBLEMODE 98,4050 -#define IRQINV 99,4092 -#define IRQNML 100,4146 -#define INTON 101,4199 -#define AUTOFFSET 102,4219 -#define AUTOTX 103,4277 -#define JABBER 106,4373 -#define TXSUCINT 107,4426 -#define T16INT 108,4482 -#define RXERRPKT 109,4530 -#define EXTERNALB2 110,4591 -#define EXTERNALB1 111,4641 -#define INTERNALB 112,4691 -#define NMLOPERATE 113,4738 -#define RXPBM 114,4785 -#define RXPB 115,4845 -#define RXALL 116,4893 -#define RXOFF 117,4933 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc9194.h,2932 -#define _SMC9194_H_26,964 -typedef unsigned char byte;byte30,1017 -typedef unsigned short word;word31,1047 -typedef unsigned long int dword;dword32,1078 -#define SMC_IO_EXTENT 37,1185 -#define BANK_SELECT 60,1927 -#define TCR 64,1967 -#define TCR_ENABLE 65,2019 -#define TCR_FDUPLX 66,2082 -#define TCR_STP_SQET 67,2144 -#define TCR_MON_CNS 68,2220 -#define TCR_PAD_ENABLE 69,2281 -#define TCR_CLEAR 71,2349 -#define TCR_NORMAL 74,2499 -#define EPH_STATUS 77,2534 -#define ES_LINK_OK 78,2555 -#define RCR 80,2615 -#define RCR_SOFTRESET 81,2630 -#define RCR_STRIP_CRC 82,2683 -#define RCR_ENABLE 83,2728 -#define RCR_ALMUL 84,2799 -#define RCR_PROMISC 85,2858 -#define RCR_NORMAL 88,2962 -#define RCR_CLEAR 89,3010 -#define COUNTER 91,3063 -#define MIR 92,3082 -#define MCR 93,3097 -#define CONFIG 97,3148 -#define CFG_AUI_SELECT 98,3167 -#define BASE 99,3198 -#define ADDR0 100,3215 -#define ADDR1 101,3233 -#define ADDR2 102,3251 -#define GENERAL 103,3269 -#define CONTROL 104,3290 -#define CTL_POWERDOWN 105,3311 -#define CTL_LE_ENABLE 106,3341 -#define CTL_CR_ENABLE 107,3369 -#define CTL_TE_ENABLE 108,3397 -#define CTL_AUTO_RELEASE 109,3427 -#define CTL_EPROM_ACCESS 110,3459 -#define MMU_CMD 113,3539 -#define MC_BUSY 114,3558 -#define MC_NOP 115,3617 -#define MC_ALLOC 116,3635 -#define MC_RESET 117,3700 -#define MC_REMOVE 118,3723 -#define MC_RELEASE 119,3783 -#define MC_FREEPKT 120,3858 -#define MC_ENQUEUE 121,3923 -#define PNR_ARR 123,3989 -#define FIFO_PORTS 124,4008 -#define FP_RXEMPTY 126,4030 -#define FP_TXEMPTY 127,4057 -#define POINTER 129,4083 -#define PTR_READ 130,4102 -#define PTR_RCV 131,4126 -#define PTR_AUTOINC 132,4150 -#define PTR_AUTO_INC 133,4178 -#define DATA_1 135,4207 -#define DATA_2 136,4225 -#define INTERRUPT 137,4244 -#define INT_MASK 139,4266 -#define IM_RCV_INT 140,4286 -#define IM_TX_INT 141,4309 -#define IM_TX_EMPTY_INT 142,4331 -#define IM_ALLOC_INT 143,4360 -#define IM_RX_OVRN_INT 144,4385 -#define IM_EPH_INT 145,4413 -#define IM_ERCV_INT 146,4437 -#define MULTICAST1 149,4499 -#define MULTICAST2 150,4520 -#define MULTICAST3 151,4541 -#define MULTICAST4 152,4562 -#define MGMT 153,4583 -#define REVISION 154,4599 -#define ERCV 158,4685 -#define CHIP_9190 160,4703 -#define CHIP_9194 161,4723 -#define CHIP_9195 162,4743 -#define CHIP_91100 163,4763 -static const char * chip_ids[165,4785 -#define TS_SUCCESS 179,5045 -#define TS_LOSTCAR 180,5071 -#define TS_LATCOL 181,5097 -#define TS_16COL 182,5123 -#define RS_ALGNERR 187,5179 -#define RS_BADCRC 188,5205 -#define RS_ODDFRAME 189,5230 -#define RS_TOOLONG 190,5257 -#define RS_TOOSHORT 191,5283 -#define RS_MULTICAST 192,5310 -#define RS_ERRORS 193,5338 -static const char * interfaces[195,5410 -#define SMC_SELECT_BANK(SMC_SELECT_BANK204,5770 -#define SMC_DELAY(SMC_DELAY207,5878 -#define SMC_ENABLE_INT(SMC_ENABLE_INT212,6038 -#define SMC_DISABLE_INT(SMC_DISABLE_INT222,6272 -#define SMC_INTERRUPT_MASK 238,6802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pci-skeleton.c,10215 -#define NETDRV_VERSION 102,3124 -#define MODNAME 103,3156 -#define NETDRV_DRIVER_LOAD_MSG 104,3183 -#define PFX 105,3272 -static char version[107,3300 -static char version[] __devinitdata 107,3300 -# define DPRINTK(DPRINTK123,3734 -# define DPRINTK(DPRINTK125,3826 -# define assert(assert129,3887 -# define assert(assert131,3932 -static int media[141,4170 -static int max_interrupt_work 144,4295 -static int multicast_filter_limit 148,4483 -#define RX_BUF_LEN_IDX 151,4566 -#define RX_BUF_LEN 152,4627 -#define RX_BUF_PAD 153,4671 -#define RX_BUF_WRAP_PAD 154,4693 -#define RX_BUF_TOT_LEN 155,4772 -#define NUM_TX_DESC 158,4881 -#define MAX_ETH_FRAME_SIZE 161,4980 -#define TX_BUF_SIZE 164,5086 -#define TX_BUF_TOT_LEN 165,5125 -#define TX_FIFO_THRESH 169,5275 -#define RX_FIFO_THRESH 172,5444 -#define RX_DMA_BURST 173,5515 -#define TX_DMA_BURST 174,5575 -#define TX_TIMEOUT 179,5761 - HAS_CHIP_XCVR 183,5797 - HAS_CHIP_XCVR = 0x020000,183,5797 - HAS_LNK_CHNG 184,5824 - HAS_LNK_CHNG = 0x040000,184,5824 -#define NETDRV_MIN_IO_SIZE 187,5854 -#define RTL8139B_IO_SIZE 188,5886 -#define NETDRV_CAPS 190,5916 - RTL8139 193,5979 - NETDRV_CB,194,5993 - SMC1211TX,195,6005 - DELTA8139,197,6031 - ADDTRON8139,198,6043 -} board_t;board_t199,6057 -} board_info[205,6137 -} board_info[] __devinitdata 205,6137 -static struct pci_device_id netdrv_pci_tbl[215,6442 -enum NETDRV_registers NETDRV_registers230,7003 - MAC0 231,7027 - MAR0 232,7072 - TxStatus0 233,7108 - TxStatus0 = 0x10,233,7108 - TxAddr0 234,7173 - TxAddr0 = 0x20,234,7173 - RxBuf 235,7231 - RxBuf = 0x30,235,7231 - RxEarlyCnt 236,7246 - RxEarlyCnt = 0x34,236,7246 - RxEarlyStatus 237,7266 - RxEarlyStatus = 0x36,237,7266 - ChipCmd 238,7289 - ChipCmd = 0x37,238,7289 - RxBufPtr 239,7306 - RxBufPtr = 0x38,239,7306 - RxBufAddr 240,7324 - RxBufAddr = 0x3A,240,7324 - IntrMask 241,7343 - IntrMask = 0x3C,241,7343 - IntrStatus 242,7361 - IntrStatus = 0x3E,242,7361 - TxConfig 243,7381 - TxConfig = 0x40,243,7381 - ChipVersion 244,7399 - ChipVersion = 0x43,244,7399 - RxConfig 245,7420 - RxConfig = 0x44,245,7420 - Timer 246,7438 - Timer = 0x48,246,7438 - RxMissed 247,7487 - RxMissed = 0x4C,247,7487 - Cfg9346 248,7540 - Cfg9346 = 0x50,248,7540 - Config0 249,7557 - Config0 = 0x51,249,7557 - Config1 250,7574 - Config1 = 0x52,250,7574 - FlashReg 251,7591 - FlashReg = 0x54,251,7591 - MediaStatus 252,7609 - MediaStatus = 0x58,252,7609 - Config3 253,7630 - Config3 = 0x59,253,7630 - Config4 254,7647 - Config4 = 0x5A,254,7647 - HltClk 255,7691 - HltClk = 0x5B,255,7691 - MultiIntr 256,7707 - MultiIntr = 0x5C,256,7707 - TxSummary 257,7726 - TxSummary = 0x60,257,7726 - BasicModeCtrl 258,7745 - BasicModeCtrl = 0x62,258,7745 - BasicModeStatus 259,7768 - BasicModeStatus = 0x64,259,7768 - NWayAdvert 260,7793 - NWayAdvert = 0x66,260,7793 - NWayLPAR 261,7813 - NWayLPAR = 0x68,261,7813 - NWayExpansion 262,7831 - NWayExpansion = 0x6A,262,7831 - FIFOTMS 264,7920 - FIFOTMS = 0x70,264,7920 - CSCR 265,7967 - CSCR = 0x74,265,7967 - PARA78 266,8028 - PARA78 = 0x78,266,8028 - PARA7c 267,8044 - PARA7c = 0x7c,267,8044 - Config5 268,8105 - Config5 = 0xD8,268,8105 -enum ClearBitMasks ClearBitMasks271,8153 - MultiIntrClear 272,8174 - MultiIntrClear = 0xF000,272,8174 - ChipCmdClear 273,8200 - ChipCmdClear = 0xE2,273,8200 - Config1Clear 274,8222 -enum ChipCmdBits ChipCmdBits277,8278 - CmdReset 278,8297 - CmdReset = 0x10,278,8297 - CmdRxEnb 279,8315 - CmdRxEnb = 0x08,279,8315 - CmdTxEnb 280,8333 - CmdTxEnb = 0x04,280,8333 - RxBufEmpty 281,8351 - RxBufEmpty = 0x01,281,8351 -enum IntrStatusBits IntrStatusBits285,8437 - PCIErr 286,8459 - PCIErr = 0x8000,286,8459 - PCSTimeout 287,8477 - PCSTimeout = 0x4000,287,8477 - RxFIFOOver 288,8499 - RxFIFOOver = 0x40,288,8499 - RxUnderrun 289,8519 - RxUnderrun = 0x20,289,8519 - RxOverflow 290,8539 - RxOverflow = 0x10,290,8539 - TxErr 291,8559 - TxErr = 0x08,291,8559 - TxOK 292,8574 - TxOK = 0x04,292,8574 - RxErr 293,8588 - RxErr = 0x02,293,8588 - RxOK 294,8603 - RxOK = 0x01,294,8603 -enum TxStatusBits TxStatusBits296,8620 - TxHostOwns 297,8640 - TxHostOwns = 0x2000,297,8640 - TxUnderrun 298,8662 - TxUnderrun = 0x4000,298,8662 - TxStatOK 299,8684 - TxStatOK = 0x8000,299,8684 - TxOutOfWindow 300,8704 - TxOutOfWindow = 0x20000000,300,8704 - TxAborted 301,8733 - TxAborted = 0x40000000,301,8733 - TxCarrierLost 302,8758 - TxCarrierLost = 0x80000000,302,8758 -enum RxStatusBits RxStatusBits304,8790 - RxMulticast 305,8810 - RxMulticast = 0x8000,305,8810 - RxPhysical 306,8833 - RxPhysical = 0x4000,306,8833 - RxBroadcast 307,8855 - RxBroadcast = 0x2000,307,8855 - RxBadSymbol 308,8878 - RxBadSymbol = 0x0020,308,8878 - RxRunt 309,8901 - RxRunt = 0x0010,309,8901 - RxTooLong 310,8919 - RxTooLong = 0x0008,310,8919 - RxCRCErr 311,8940 - RxCRCErr = 0x0004,311,8940 - RxBadAlign 312,8960 - RxBadAlign = 0x0002,312,8960 - RxStatusOK 313,8982 - RxStatusOK = 0x0001,313,8982 -enum rx_mode_bits rx_mode_bits317,9032 - AcceptErr 318,9052 - AcceptErr = 0x20,318,9052 - AcceptRunt 319,9071 - AcceptRunt = 0x10,319,9071 - AcceptBroadcast 320,9091 - AcceptBroadcast = 0x08,320,9091 - AcceptMulticast 321,9116 - AcceptMulticast = 0x04,321,9116 - AcceptMyPhys 322,9141 - AcceptMyPhys = 0x02,322,9141 - AcceptAllPhys 323,9163 - AcceptAllPhys = 0x01,323,9163 -enum tx_config_bits tx_config_bits327,9214 - TxIFG1 328,9236 - TxIFG0 329,9283 - TxLoopBack 330,9350 - TxCRC 331,9419 - TxClearAbt 332,9488 - TxDMAShift 333,9535 - TxVersionMask 335,9606 - TxVersionMask = 0x7C800000,335,9606 -enum Config1Bits Config1Bits339,9699 - Cfg1_PM_Enable 340,9718 - Cfg1_PM_Enable = 0x01,340,9718 - Cfg1_VPD_Enable 341,9742 - Cfg1_VPD_Enable = 0x02,341,9742 - Cfg1_PIO 342,9767 - Cfg1_PIO = 0x04,342,9767 - Cfg1_MMIO 343,9785 - Cfg1_MMIO = 0x08,343,9785 - Cfg1_LWAKE 344,9804 - Cfg1_LWAKE = 0x10,344,9804 - Cfg1_Driver_Load 345,9824 - Cfg1_Driver_Load = 0x20,345,9824 - Cfg1_LED0 346,9850 - Cfg1_LED0 = 0x40,346,9850 - Cfg1_LED1 347,9869 - Cfg1_LED1 = 0x80,347,9869 -enum RxConfigBits RxConfigBits350,9892 - RxCfgEarlyRxNone 352,9952 - RxCfgEarlyRxShift 353,9975 - RxCfgFIFOShift 356,10026 - RxCfgFIFONone 357,10048 - RxCfgFIFONone = (7 << RxCfgFIFOShift)357,10048 - RxCfgDMAShift 360,10110 - RxCfgDMAUnlimited 361,10130 - RxCfgDMAUnlimited = (7 << RxCfgDMAShift)361,10130 - RxCfgRcv8K 364,10203 - RxCfgRcv16K 365,10220 - RxCfgRcv32K 366,10246 - RxCfgRcv64K 367,10272 - RxNoWrap 370,10358 -enum CSCRBits CSCRBits376,10491 - CSCR_LinkOKBit 377,10507 - CSCR_LinkOKBit = 0x0400,377,10507 - CSCR_LinkChangeBit 378,10533 - CSCR_LinkChangeBit = 0x0800,378,10533 - CSCR_LinkStatusBits 379,10563 - CSCR_LinkStatusBits = 0x0f000,379,10563 - CSCR_LinkDownOffCmd 380,10595 - CSCR_LinkDownOffCmd = 0x003c0,380,10595 - CSCR_LinkDownCmd 381,10627 - CSCR_LinkDownCmd = 0x0f3c0,381,10627 -enum Cfg9346Bits Cfg9346Bits385,10661 - Cfg9346_Lock 386,10680 - Cfg9346_Lock = 0x00,386,10680 - Cfg9346_Unlock 387,10702 - Cfg9346_Unlock = 0xC0,387,10702 -#define PARA78_default 391,10731 -#define PARA7c_default 392,10765 -#define PARA7c_xxx 393,10817 -static const unsigned long param[394,10848 -struct ring_info ring_info401,11098 - CH_8139 408,11180 - CH_8139_K,409,11194 - CH_8139A,410,11206 - CH_8139B,411,11217 - CH_8130,412,11228 - CH_8139C,413,11238 -} chip_t;chip_t414,11249 -} rtl_chip_info[422,11450 -struct netdrv_private netdrv_private456,11866 -#define NETDRV_R8(NETDRV_R8518,14531 -#define NETDRV_R16(NETDRV_R16519,14593 -#define NETDRV_R32(NETDRV_R32520,14656 -#define NETDRV_W8(NETDRV_W8521,14737 -#define NETDRV_W16(NETDRV_W16522,14813 -#define NETDRV_W32(NETDRV_W32523,14892 -#define NETDRV_W8_F 524,14971 -#define NETDRV_W16_F 525,15002 -#define NETDRV_W32_F 526,15035 -#define readb(readb533,15149 -#define readw(readw534,15196 -#define readl(readl535,15243 -#define writeb(writeb536,15290 -#define writew(writew537,15349 -#define writel(writel538,15408 -#define NETDRV_W8_F(NETDRV_W8_F544,15566 -#define NETDRV_W16_F(NETDRV_W16_F545,15671 -#define NETDRV_W32_F(NETDRV_W32_F546,15779 -#define NETDRV_W8(NETDRV_W8552,15946 -#define NETDRV_W16(NETDRV_W16553,16007 -#define NETDRV_W32(NETDRV_W32554,16071 -#define NETDRV_W8 559,16181 -#define NETDRV_W16 560,16212 -#define NETDRV_W32 561,16245 -#define NETDRV_R8(NETDRV_R8566,16344 -#define NETDRV_R16(NETDRV_R16567,16391 -#define NETDRV_R32(NETDRV_R32568,16439 -static const u16 netdrv_intr_mask 573,16532 -static const unsigned int netdrv_rx_config 577,16661 -static int __devinit netdrv_init_board 583,16831 -static int __devinit netdrv_init_one 737,20836 -static void __devexit netdrv_remove_one 844,23479 -#define EE_SHIFT_CLK 877,24000 -#define EE_CS 878,24052 -#define EE_DATA_WRITE 879,24099 -#define EE_WRITE_0 880,24153 -#define EE_WRITE_1 881,24178 -#define EE_DATA_READ 882,24203 -#define EE_ENB 883,24257 -#define eeprom_delay(eeprom_delay889,24409 -#define EE_WRITE_CMD 892,24509 -#define EE_READ_CMD 893,24534 -#define EE_ERASE_CMD 894,24559 -static int __devinit read_eeprom 896,24585 -#define MDIO_DIR 944,25897 -#define MDIO_DATA_OUT 945,25920 -#define MDIO_DATA_IN 946,25947 -#define MDIO_CLK 947,25973 -#define MDIO_WRITE0 948,25996 -#define MDIO_WRITE1 949,26027 -#define mdio_delay(mdio_delay951,26075 -static char mii_2_8139_map[954,26115 -static void mdio_sync 967,26314 -static int mdio_read 984,26561 -static void mdio_write 1026,27719 -static int netdrv_open 1070,28766 -static void netdrv_hw_start 1131,30375 -static void netdrv_init_ring 1201,32351 -static void netdrv_timer 1222,32733 -static void netdrv_tx_clear 1264,33976 -static void netdrv_tx_timeout 1288,34459 -static int netdrv_start_xmit 1335,35702 -static void netdrv_tx_interrupt 1367,36609 -static void netdrv_rx_err 1453,39009 -static void netdrv_rx_interrupt 1504,40467 -static void netdrv_weird_interrupt 1601,43053 -static irqreturn_t netdrv_interrupt 1658,44707 -static int netdrv_close 1723,46435 -static int netdrv_ioctl 1774,47641 -static struct net_device_stats *netdrv_get_stats 1815,48600 -static void netdrv_set_rx_mode 1842,49189 -static int netdrv_suspend 1901,50972 -static int netdrv_resume 1931,51667 -static struct pci_driver netdrv_pci_driver 1949,52012 -static int __init netdrv_init_module 1961,52279 -static void __exit netdrv_cleanup_module 1971,52493 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/lne390.c,1541 -static const char *version 34,1249 -#define DRV_NAME 52,1632 -#define LNE390_START_PG 65,2197 -#define LNE390_STOP_PG 66,2260 -#define LNE390_ID_PORT 68,2323 -#define LNE390_IO_EXTENT 69,2384 -#define LNE390_SA_PROM 70,2414 -#define LNE390_RESET_PORT 71,2471 -#define LNE390_NIC_OFFSET 72,2536 -#define LNE390_ADDR0 74,2600 -#define LNE390_ADDR1 75,2655 -#define LNE390_ADDR2 76,2682 -#define LNE390_ID0 78,2710 -#define LNE390_ID1 79,2779 -#define LNE390_CFG1 81,2849 -#define LNE390_CFG2 82,2914 -#define LNE390_D_PROBE 90,3125 -#define LNE390_D_RX_PKT 91,3153 -#define LNE390_D_TX_PKT 92,3182 -#define LNE390_D_IRQ 93,3211 -#define LNE390_DEBUG 95,3238 -static unsigned char irq_map[97,3262 -static unsigned char irq_map[] __initdata 97,3262 -static unsigned int shmem_mapA[98,3336 -static unsigned int shmem_mapA[] __initdata 98,3336 -static unsigned int shmem_mapB[99,3434 -static unsigned int shmem_mapB[] __initdata 99,3434 -static int __init do_lne390_probe(107,3728 -static void cleanup_card(148,4749 -struct net_device * __init lne390_probe(157,4951 -static int __init lne390_probe1(183,5364 -static void lne390_reset_8390(321,9795 -lne390_get_8390_hdr(353,10748 -static void lne390_block_input(366,11277 -static void lne390_block_output(383,11871 -static int lne390_open(392,12164 -static int lne390_close(398,12242 -#define MAX_LNE_CARDS 409,12412 -static struct net_device *dev_lne[410,12480 -static int io[411,12530 -static int irq[412,12560 -static int mem[413,12591 -int init_module(424,13019 -void cleanup_module(454,13657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/arlan-main.c,2546 -static const char *arlan_version 15,346 -struct net_device *arlan_device[17,463 -static int SID 19,509 -static int radioNodeId 20,538 -static char encryptionKey[21,583 -int arlan_debug 22,657 -static int spreadingCode 23,689 -static int channelNumber 24,738 -static int channelSet 25,787 -static int systemId 26,830 -static int registrationMode 27,869 -static int keyStart;28,924 -static int tx_delay_ms;29,945 -static int retries 30,969 -static int tx_queue_len 31,993 -static int arlan_EEPROM_bad;32,1022 -static int arlan_entry_debug;36,1076 -static int arlan_exit_debug;37,1106 -static int testMemory 38,1135 -static int irq 39,1178 -static int txScrambled 40,1207 -static int mdebug;41,1235 -struct arlan_conf_stru arlan_conf[82,2730 -static int arlans_found;83,2777 -static inline long us2ticks(99,3622 -#define ARLAN_DEBUG_ENTRY(ARLAN_DEBUG_ENTRY106,3727 -#define ARLAN_DEBUG_EXIT(ARLAN_DEBUG_EXIT113,3967 -#define ARLAN_DEBUG_ENTRY(ARLAN_DEBUG_ENTRY121,4212 -#define ARLAN_DEBUG_EXIT(ARLAN_DEBUG_EXIT122,4244 -#define arlan_interrupt_ack(arlan_interrupt_ack126,4284 -static inline int arlan_drop_tx(130,4386 -int arlan_command(153,4868 -static inline void arlan_command_process(482,15111 -static inline void arlan_retransmit_now(503,15500 -static void arlan_registration_timer(540,16325 -static void arlan_print_registers(634,18683 -static int arlan_hw_tx(662,19715 -static int arlan_hw_config(765,23111 -static int arlan_read_card_configuration(847,26066 -static int lastFoundAt 963,29478 -#define ARLAN_SHMEM_SIZE 971,29725 -static int __init arlan_check_fingerprint(972,29757 -static int arlan_change_mtu(1001,30591 -static int arlan_mac_addr(1023,31157 -static int __init arlan_setup_device(1041,31455 -static int __init arlan_probe_here(1081,32401 -static int arlan_open(1111,33051 -static void arlan_tx_timeout 1165,34357 -static int arlan_tx(1175,34644 -static inline int DoNotReTransmitCrap(1209,35252 -static inline int DoNotWaitReTransmitCrap(1219,35448 -static inline void arlan_queue_retransmit(1228,35651 -static inline void RetryOrFail(1243,35958 -static void arlan_tx_done_interrupt(1264,36366 -static void arlan_rx_interrupt(1403,39055 -static void arlan_process_interrupt(1558,44253 -static irqreturn_t arlan_interrupt(1660,46989 -static int arlan_close(1684,47519 -static long alignLong(1705,47935 -static struct net_device_stats *arlan_statistics(1718,48146 -static void arlan_set_multicast(1748,49390 -struct net_device * __init arlan_probe(1782,50246 -int init_module(1846,51509 -void cleanup_module(1868,51962 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ipw2100/ipw2100.c,14637 -#define __KERNEL_SYSCALLS__149,5912 -#define IPW2100_VERSION 167,6307 -#define DRV_NAME 169,6340 -#define DRV_VERSION 170,6367 -#define DRV_DESCRIPTION 171,6403 -#define DRV_COPYRIGHT 172,6471 -#define CONFIG_IPW2100_RX_DEBUG 177,6584 -static int debug 184,6743 -static char *ifname 185,6765 -static int mode 186,6793 -static int channel 187,6814 -static int associate 188,6838 -static int disable 189,6864 -static struct ipw2100_fw ipw2100_firmware;191,6905 -u32 ipw2100_debug_level 209,7550 -static const char *command_types[212,7614 -static inline void read_register(298,9464 -static inline void write_register(304,9644 -static inline void read_register_word(310,9822 -static inline void read_register_byte(316,10004 -static inline void write_register_word(322,10185 -static inline void write_register_byte(329,10366 -static inline void read_nic_dword(335,10545 -static inline void write_nic_dword(342,10783 -static inline void read_nic_word(349,11022 -static inline void write_nic_word(356,11264 -static inline void read_nic_byte(363,11507 -static inline void write_nic_byte(370,11748 -static inline void write_nic_auto_inc_address(377,11990 -static inline void write_nic_dword_auto_inc(383,12172 -static inline void write_nic_memory(388,12309 -static inline void read_nic_memory(428,13413 -static inline int ipw2100_hw_is_adapter_in_system(468,14515 -int ipw2100_get_ordinal(475,14722 -static int ipw2100_set_ordinal(554,16598 -static char *snprint_line(584,17249 -static void printk_buf(619,18095 -#define MAX_RESET_BACKOFF 637,18407 -static inline void schedule_reset(639,18437 -#define HOST_COMPLETE_TIMEOUT 674,19525 -static int ipw2100_hw_send_command(675,19564 -static int ipw2100_verify(789,22753 -#define IPW_CARD_DISABLE_COMPLETE_WAIT 833,23947 -static int ipw2100_wait_for_card_state(834,24008 -static int sw_reset_and_clock(878,25276 -static int ipw2100_download_firmware(939,27125 -static inline void ipw2100_enable_interrupts(1065,30598 -static inline void ipw2100_disable_interrupts(1073,30833 -static void ipw2100_initialize_ordinals(1082,31059 -static inline void ipw2100_hw_set_gpio(1104,31718 -static inline int rf_kill_active(1116,32035 -#define MAX_RF_KILL_CHECKS 1118,32097 -#define RF_KILL_CHECK_DELAY 1119,32126 -#define RF_KILL_CHECK_THRESHOLD 1120,32157 -static int ipw2100_get_hw_features(1145,32668 -static int ipw2100_start_adapter(1195,34065 -#define IPW_WAIT_FW_INIT_COMPLETE_DELAY 1197,34127 -static inline void ipw2100_reset_fatalerror(1295,36914 -static int ipw2100_power_cycle_adapter(1307,37221 -static int ipw2100_hw_phy_off(1359,38547 -#define HW_PHY_OFF_LOOP_DELAY 1362,38607 -static int ipw2100_enable_adapter(1395,39306 -static int ipw2100_hw_stop_adapter(1431,40065 -#define HW_POWER_DOWN_DELAY 1433,40129 -static int ipw2100_disable_adapter(1539,42960 -int ipw2100_set_scan_options(1579,43813 -int ipw2100_start_scan(1611,44625 -static int ipw2100_up(1649,45470 -static int ipw2100_net_init(1757,48077 -static void ipw2100_down(1763,48210 -void ipw2100_reset_adapter(1813,49637 -static void isr_indicate_associated(1838,50309 -#define MAC_ASSOCIATION_READ_DELAY 1841,50387 -int ipw2100_set_essid(1939,52855 -static void isr_indicate_association_lost(1991,54172 -static void isr_indicate_rf_kill(2019,54938 -static void isr_scan_complete(2044,55718 -#define IPW2100_HANDLER(IPW2100_HANDLER2053,55940 -struct ipw2100_status_indicator ipw2100_status_indicator2054,55984 -#define IPW2100_HANDLER(IPW2100_HANDLER2060,56105 -struct ipw2100_status_indicator ipw2100_status_indicator2061,56144 -static void isr_indicate_scanning(2067,56277 -const struct ipw2100_status_indicator status_handlers[2072,56389 -static void isr_status_change(2089,57099 -static void isr_rx_complete_command(2107,57539 -const char *frame_types[2130,58135 -static inline int ipw2100_alloc_skb(2140,58286 -#define SEARCH_ERROR 2159,58781 -#define SEARCH_FAIL 2160,58815 -#define SEARCH_SUCCESS 2161,58849 -#define SEARCH_DISCARD 2162,58883 -#define SEARCH_SNAPSHOT 2163,58908 -#define SNAPSHOT_ADDR(SNAPSHOT_ADDR2165,58935 -static inline int ipw2100_snapshot_alloc(2166,59019 -static inline void ipw2100_snapshot_free(2186,59462 -static inline u32 ipw2100_match_buf(2196,59663 -u8 packet_data[2250,60733 -static inline void ipw2100_corruption_detected(2253,60783 -static inline void isr_rx(2312,62437 -static inline int ipw2100_corruption_check(2382,64553 -static inline void __ipw2100_rx_process(2438,66313 -static inline int __ipw2100_tx_process(2604,70961 -static inline void __ipw2100_tx_complete(2794,76140 -static void X__ipw2100_tx_send_commands(2808,76408 -static void X__ipw2100_tx_send_data(2879,78246 -static void ipw2100_irq_tasklet(2987,81437 -static irqreturn_t ipw2100_interrupt(3124,84763 -static int ipw2100_tx(3175,86042 -static int ipw2100_msg_allocate(3254,88218 -static int ipw2100_msg_initialize(3308,89466 -static void ipw2100_msg_free(3322,89781 -static ssize_t show_pci(3340,90176 -static ssize_t show_cfg(3360,90639 -static ssize_t show_status(3367,90862 -static ssize_t show_capability(3374,91094 -#define IPW2100_REG(IPW2100_REG3382,91343 -} hw_data[3386,91428 -#define IPW2100_NIC(IPW2100_NIC3393,91581 -} nic_data[3398,91679 -#define IPW2100_ORD(IPW2100_ORD3403,91791 -} ord_data[3408,91905 -static ssize_t show_registers(3559,101843 -static ssize_t show_hardware(3580,102391 -static ssize_t show_memory(3620,103402 -static ssize_t store_memory(3673,104764 -static ssize_t show_ordinals(3709,105748 -static ssize_t show_stats(3743,106572 -int ipw2100_switch_mode(3763,107189 -static ssize_t show_internals(3806,108068 -#define DUMP_VAR(DUMP_VAR3811,108193 -static ssize_t show_bssinfo(3855,109237 -static ssize_t show_debug_level(3901,110448 -static ssize_t store_debug_level(3906,110576 -static ssize_t show_fatal_error(3932,111191 -static ssize_t store_fatal_error(3957,111755 -static ssize_t show_scan_age(3967,112022 -static ssize_t store_scan_age(3973,112186 -static ssize_t show_rf_kill(4009,113107 -static int ipw_radio_kill_sw(4021,113519 -static ssize_t store_rf_kill(4049,114254 -static struct attribute *ipw2100_sysfs_entries[4058,114518 -static struct attribute_group ipw2100_attribute_group 4076,114934 -static int status_queue_allocate(4081,115030 -static void status_queue_free(4103,115512 -static int bd_queue_allocate(4117,115817 -static void bd_queue_free(4138,116322 -static void bd_queue_initialize(4155,116596 -static void ipw2100_kill_workqueue(4171,117052 -static int ipw2100_tx_allocate(4186,117478 -static void ipw2100_tx_initialize(4244,118919 -static void ipw2100_tx_free(4293,120156 -static int ipw2100_rx_allocate(4325,120849 -static void ipw2100_rx_initialize(4395,122420 -static void ipw2100_rx_free(4419,123104 -static int ipw2100_read_mac_address(4447,123641 -int ipw2100_set_mac_address(4474,124273 -int ipw2100_set_port_type(4501,124909 -int ipw2100_set_channel(4542,125735 -int ipw2100_system_config(4592,126722 -int ipw2100_set_tx_rates(4654,128249 -int ipw2100_set_power_mode(4693,128994 -int ipw2100_set_rts_threshold(4731,129817 -int ipw2100_set_fragmentation_threshold(4755,130304 -int ipw2100_set_short_retry(4795,131106 -int ipw2100_set_long_retry(4815,131473 -int ipw2100_set_mandatory_bssid(4836,131838 -static int ipw2100_disassociate_bssid(4874,132718 -void x(4903,133455 -static int ipw2100_set_wpa_ie(4930,134260 -struct security_info_params security_info_params4966,135053 -int ipw2100_set_security_information(4974,135216 -int ipw2100_set_tx_power(5039,136941 -int ipw2100_set_ibss_beacon_interval(5059,137342 -void ipw2100_queues_initialize(5095,137980 -void ipw2100_queues_free(5102,138134 -int ipw2100_queues_allocate(5109,138264 -#define IPW_PRIVACY_CAPABLE 5125,138548 -static int ipw2100_set_wep_flags(5127,138584 -struct ipw2100_wep_key ipw2100_wep_key5159,139236 -#define WEP_FMT_64 5166,139337 -#define WEP_FMT_128 5167,139381 -#define WEP_STR_64(WEP_STR_645168,139450 -#define WEP_STR_128(WEP_STR_1285169,139497 -static int ipw2100_set_key(5187,140006 -static int ipw2100_set_key_index(5250,141749 -static int ipw2100_configure_security(5286,142449 -static void ipw2100_security_work(5356,144019 -static void shim__set_security(5366,144376 -static struct ieee80211_helper_functions ipw2100_ieee_callbacks 5441,146628 -static int ipw2100_adapter_setup(5445,146737 -static int ipw2100_set_address(5556,149170 -static int ipw2100_open(5578,149622 -static int ipw2100_close(5592,149947 -static void ipw2100_tx_timeout(5633,150857 -static struct net_device_stats *ipw2100_stats(5656,151386 -#define IPW2100_IOCTL_WPA_SUPPLICANT 5669,151734 -#define IPW2100_CMD_SET_WPA_PARAM 5671,151792 -#define IPW2100_CMD_SET_WPA_IE 5672,151829 -#define IPW2100_CMD_SET_ENCRYPTION 5673,151864 -#define IPW2100_CMD_MLME 5674,151902 -#define IPW2100_PARAM_WPA_ENABLED 5676,151932 -#define IPW2100_PARAM_TKIP_COUNTERMEASURES 5677,151969 -#define IPW2100_PARAM_DROP_UNENCRYPTED 5678,152014 -#define IPW2100_PARAM_PRIVACY_INVOKED 5679,152056 -#define IPW2100_PARAM_AUTH_ALGS 5680,152097 -#define IPW2100_PARAM_IEEE_802_1X 5681,152133 -#define IPW2100_MLME_STA_DEAUTH 5683,152171 -#define IPW2100_MLME_STA_DISASSOC 5684,152207 -#define IPW2100_CRYPT_ERR_UNKNOWN_ALG 5686,152245 -#define IPW2100_CRYPT_ERR_UNKNOWN_ADDR 5687,152286 -#define IPW2100_CRYPT_ERR_CRYPT_INIT_FAILED 5688,152328 -#define IPW2100_CRYPT_ERR_KEY_SET_FAILED 5689,152374 -#define IPW2100_CRYPT_ERR_TX_KEY_SET_FAILED 5690,152417 -#define IPW2100_CRYPT_ERR_CARD_CONF_FAILED 5691,152463 -#define IPW2100_CRYPT_ALG_NAME_LEN 5693,152509 -struct ipw2100_param ipw2100_param5695,152549 -static int ipw2100_wpa_enable(5726,153020 -#define AUTH_ALG_OPEN_SYSTEM 5752,153510 -#define AUTH_ALG_SHARED_KEY 5753,153545 -static int ipw2100_wpa_set_auth_algs(5755,153580 -static int ipw2100_wpa_set_param(5780,154087 -static int ipw2100_wpa_mlme(5819,154923 -void ipw2100_wpa_assoc_frame(5843,155370 -static int ipw2100_wpa_set_wpa_ie(5860,155734 -static int ipw2100_wpa_set_encryption(5899,156598 -static int ipw2100_wpa_supplicant(6044,161030 -static int ipw2100_ioctl(6098,162266 -static void ipw_ethtool_get_drvinfo(6118,162651 -static u32 ipw2100_ethtool_get_link(6136,163187 -static struct ethtool_ops ipw2100_ethtool_ops 6143,163358 -static void ipw2100_hang_check(6148,163509 -static void ipw2100_rf_kill(6202,164792 -static struct net_device *ipw2100_alloc_device(6232,165586 -#define PCI_DMA_32BIT 6391,169825 -static int ipw2100_pci_init_one(6393,169872 -static void __devexit ipw2100_pci_remove_one(6596,175040 -static int ipw2100_suspend(6649,176266 -static int ipw2100_resume(6673,176838 -#define IPW2100_DEV_ID(IPW2100_DEV_ID6715,177977 -static struct pci_device_id ipw2100_pci_id_table[6717,178047 -static struct pci_device_id ipw2100_pci_id_table[] __devinitdata 6717,178047 -static struct pci_driver ipw2100_pci_driver 6769,180081 -static int __init ipw2100_init(6790,180641 -static void __exit ipw2100_exit(6820,181277 -#define WEXT_USECHANNELS 6833,181603 -const long ipw2100_frequencies[6835,181631 -#define FREQ_COUNT 6842,181766 -const long ipw2100_rates_11b[6845,181871 -#define RATE_COUNT 6852,181950 -static int ipw2100_wx_get_name(6854,182029 -static int ipw2100_wx_set_freq(6873,182472 -static int ipw2100_wx_get_freq(6918,183430 -static int ipw2100_wx_set_mode(6943,184048 -static int ipw2100_wx_get_mode(6980,184824 -#define POWER_MODES 6997,185172 -const s32 timeout_duration[7000,185227 -const s32 period_duration[7008,185317 -static int ipw2100_wx_get_range(7016,185411 -static int ipw2100_wx_set_wap(7132,189103 -static int ipw2100_wx_get_wap(7181,190443 -static int ipw2100_wx_set_essid(7205,191161 -static int ipw2100_wx_get_essid(7253,192214 -static int ipw2100_wx_set_nick(7281,193017 -static int ipw2100_wx_get_nick(7303,193562 -static int ipw2100_wx_set_rate(7322,194005 -static int ipw2100_wx_get_rate(7361,194963 -static int ipw2100_wx_set_rts(7412,196010 -static int ipw2100_wx_get_rts(7444,196692 -static int ipw2100_wx_set_txpow(7465,197252 -static int ipw2100_wx_get_txpow(7500,198049 -static int ipw2100_wx_set_frag(7536,198865 -static int ipw2100_wx_get_frag(7566,199553 -static int ipw2100_wx_set_retry(7584,200056 -static int ipw2100_wx_get_retry(7627,201084 -static int ipw2100_wx_set_scan(7660,201881 -static int ipw2100_wx_get_scan(7685,202435 -static int ipw2100_wx_set_encode(7701,202828 -static int ipw2100_wx_get_encode(7713,203132 -static int ipw2100_wx_set_power(7725,203436 -static int ipw2100_wx_get_power(7769,204624 -static int ipw2100_wx_set_promisc(7798,205172 -static int ipw2100_wx_reset(7827,205856 -static int ipw2100_wx_set_powermode(7839,206133 -#define MAX_POWER_STRING 7860,206609 -static int ipw2100_wx_get_powermode(7861,206637 -static int ipw2100_wx_set_preamble(7902,207648 -static int ipw2100_wx_get_preamble(7927,208148 -static iw_handler ipw2100_wx_handlers[7945,208552 -#define IPW2100_PRIV_SET_PROMISC 7995,211021 -#define IPW2100_PRIV_RESET 7996,211071 -#define IPW2100_PRIV_SET_POWER 7997,211117 -#define IPW2100_PRIV_GET_POWER 7998,211167 -#define IPW2100_PRIV_SET_LONGPREAMBLE 7999,211217 -#define IPW2100_PRIV_GET_LONGPREAMBLE 8000,211273 -static const struct iw_priv_args ipw2100_private_args[8002,211330 -static iw_handler ipw2100_private_handler[8033,212069 -struct iw_handler_def ipw2100_wx_handler_def 8047,212390 -struct iw_statistics *ipw2100_wx_wireless_stats(8063,212910 - POOR 8066,212993 - FAIR 8067,213006 - GOOD 8068,213019 - VERY_GOOD 8069,213032 - EXCELLENT 8070,213050 - PERFECT 8071,213068 -void ipw2100_wx_event_work(8199,216856 -#define IPW2100_FW_MAJOR_VERSION 8236,217934 -#define IPW2100_FW_MINOR_VERSION 8237,217969 -#define IPW2100_FW_MINOR(IPW2100_FW_MINOR8239,218005 -#define IPW2100_FW_MAJOR(IPW2100_FW_MAJOR8240,218051 -#define IPW2100_FW_VERSION 8242,218091 -#define IPW2100_FW_PREFIX 8245,218211 -#define IPW2100_FW_NAME(IPW2100_FW_NAME8248,218331 -static char *firmware 8252,218426 -struct ipw2100_fw_header ipw2100_fw_header8277,218951 -static void ipw2100_fw_free(8295,219396 -static int ipw2100_fw_load(8318,219850 -static int ipw2100_do_mod_firmware_load(8377,221051 -static int ipw2100_mod_firmware_load(8427,222284 -static inline struct list_head *ipw2100_fw_read(8437,222488 -static inline struct list_head *ipw2100_fw_readw(8471,223201 -static inline struct list_head *ipw2100_fw_readl(8478,223405 -static int ipw2100_mod_firmware_load(8487,223649 -int ipw2100_get_firmware(8512,224301 -void ipw2100_release_firmware(8587,225972 -int ipw2100_get_fwversion(8605,226308 -int ipw2100_get_ucodeversion(8624,226737 -int ipw2100_fw_download(8638,227099 -struct symbol_alive_response symbol_alive_response8708,228720 -int ipw2100_ucode_download(8725,229063 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ipw2100/ipw2100.h,25716 -#define _IPW2100_H27,1160 -typedef void irqreturn_t;irqreturn_t48,1614 -#define IRQ_NONE 49,1640 -#define IRQ_HANDLED 50,1658 -#define IRQ_RETVAL(IRQ_RETVAL51,1679 -#define IW_QUAL_QUAL_INVALID 55,1731 -#define IW_QUAL_LEVEL_INVALID 56,1766 -#define IW_QUAL_NOISE_INVALID 57,1801 -#define pci_dma_sync_single_for_cpu 61,1895 -#define pci_dma_sync_single_for_device 62,1951 -#define free_netdev(free_netdev66,2043 -enum { IPW_DEBUG_ENABLED 76,2183 -#define IPW_DEBUG(IPW_DEBUG78,2247 -enum { IPW_DEBUG_ENABLED 87,2487 -#define IPW_DEBUG(IPW_DEBUG88,2519 -#define IPW_DL_UNINIT 91,2603 -#define IPW_DL_NONE 92,2639 -#define IPW_DL_ALL 93,2675 -#define IPW_DL_ERROR 121,3555 -#define IPW_DL_WARNING 122,3591 -#define IPW_DL_INFO 123,3627 -#define IPW_DL_WX 124,3663 -#define IPW_DL_HC 125,3699 -#define IPW_DL_STATE 126,3735 -#define IPW_DL_NOTIF 128,3772 -#define IPW_DL_SCAN 129,3809 -#define IPW_DL_ASSOC 130,3846 -#define IPW_DL_DROP 131,3883 -#define IPW_DL_IOCTL 133,3921 -#define IPW_DL_RF_KILL 134,3958 -#define IPW_DL_MANAGE 137,3997 -#define IPW_DL_FW 138,4034 -#define IPW_DL_FRAG 140,4072 -#define IPW_DL_WEP 141,4109 -#define IPW_DL_TX 142,4146 -#define IPW_DL_RX 143,4183 -#define IPW_DL_ISR 144,4220 -#define IPW_DL_IO 145,4257 -#define IPW_DL_TRACE 146,4294 -#define IPW_DEBUG_ERROR(IPW_DEBUG_ERROR148,4332 -#define IPW_DEBUG_WARNING(IPW_DEBUG_WARNING149,4404 -#define IPW_DEBUG_INFO(IPW_DEBUG_INFO150,4482 -#define IPW_DEBUG_WX(IPW_DEBUG_WX151,4543 -#define IPW_DEBUG_SCAN(IPW_DEBUG_SCAN152,4601 -#define IPW_DEBUG_NOTIF(IPW_DEBUG_NOTIF153,4661 -#define IPW_DEBUG_TRACE(IPW_DEBUG_TRACE154,4721 -#define IPW_DEBUG_RX(IPW_DEBUG_RX155,4782 -#define IPW_DEBUG_TX(IPW_DEBUG_TX156,4840 -#define IPW_DEBUG_ISR(IPW_DEBUG_ISR157,4898 -#define IPW_DEBUG_MANAGEMENT(IPW_DEBUG_MANAGEMENT158,4957 -#define IPW_DEBUG_WEP(IPW_DEBUG_WEP159,5023 -#define IPW_DEBUG_HC(IPW_DEBUG_HC160,5082 -#define IPW_DEBUG_FRAG(IPW_DEBUG_FRAG161,5136 -#define IPW_DEBUG_FW(IPW_DEBUG_FW162,5194 -#define IPW_DEBUG_RF_KILL(IPW_DEBUG_RF_KILL163,5248 -#define IPW_DEBUG_DROP(IPW_DEBUG_DROP164,5312 -#define IPW_DEBUG_IO(IPW_DEBUG_IO165,5370 -#define IPW_DEBUG_IOCTL(IPW_DEBUG_IOCTL166,5424 -#define IPW_DEBUG_STATE(IPW_DEBUG_STATE167,5484 -#define IPW_DEBUG_ASSOC(IPW_DEBUG_ASSOC168,5579 -#define VERIFY(VERIFY171,5661 - IPW_HW_STATE_DISABLED 180,5768 - IPW_HW_STATE_ENABLED 181,5796 -struct ssid_context ssid_context184,5826 -#define NUMBER_OF_BD_PER_COMMAND_PACKET 196,6033 -#define NUMBER_OF_BD_PER_DATA_PACKET 197,6076 -#define IPW_MAX_BDS 199,6117 -#define NUMBER_OF_OVERHEAD_BDS_PER_PACKETR 200,6139 -#define NUMBER_OF_BDS_TO_LEAVE_FOR_COMMANDS 201,6184 -#define REQUIRED_SPACE_IN_RING_FOR_COMMAND_PACKET 203,6231 -struct bd_status bd_status206,6351 -#define IPW_BUFDESC_LAST_FRAG 213,6495 -struct ipw2100_bd ipw2100_bd215,6528 -#define IPW_BD_QUEUE_LENGTH(IPW_BD_QUEUE_LENGTH225,6755 -#define IPW_BD_ALIGNMENT(IPW_BD_ALIGNMENT226,6793 -#define IPW_BD_STATUS_TX_FRAME_802_3 228,6855 -#define IPW_BD_STATUS_TX_FRAME_NOT_LAST_FRAGMENT 229,6909 -#define IPW_BD_STATUS_TX_FRAME_COMMAND 230,6963 -#define IPW_BD_STATUS_TX_FRAME_802_11 231,7009 -#define IPW_BD_STATUS_TX_INTERRUPT_ENABLE 232,7061 -struct ipw2100_bd_queue ipw2100_bd_queue234,7110 -#define RX_QUEUE_LENGTH 258,7607 -#define TX_QUEUE_LENGTH 259,7635 -#define HW_QUEUE_LENGTH 260,7663 -#define TX_PENDED_QUEUE_LENGTH 262,7692 -#define STATUS_TYPE_MASK 264,7773 -#define COMMAND_STATUS_VAL 265,7809 -#define STATUS_CHANGE_VAL 266,7838 -#define P80211_DATA_VAL 267,7866 -#define P8023_DATA_VAL 268,7893 -#define HOST_NOTIFICATION_VAL 269,7919 -#define IPW2100_RSSI_TO_DBM 271,7952 -struct ipw2100_status ipw2100_status273,7987 -#define IPW_STATUS_FLAG_DECRYPTED 277,8059 -#define IPW_STATUS_FLAG_WEP_ENCRYPTED 278,8100 -#define IPW_STATUS_FLAG_CRC_ERROR 279,8145 -struct ipw2100_status_queue ipw2100_status_queue283,8231 -#define HOST_COMMAND_PARAMS_REG_LEN 294,8455 -#define CMD_STATUS_PARAMS_REG_LEN 295,8495 -#define IPW_WPA_CAPABILITIES 297,8533 -#define IPW_WPA_LISTENINTERVAL 298,8568 -#define IPW_WPA_AP_ADDRESS 299,8603 -#define IPW_MAX_VAR_IE_LEN 301,8639 -struct ipw2100_wpa_assoc_frame ipw2100_wpa_assoc_frame303,8717 -#define IPW_BSS 314,8915 -#define IPW_MONITOR 315,8937 -#define IPW_IBSS 316,8959 -struct ipw2100_cmd_header ipw2100_cmd_header322,9054 -struct ipw2100_data_header ipw2100_data_header344,9567 -struct host_command host_command359,10118 - POWER_ON_RESET,369,10429 - EXIT_POWER_DOWN_RESET,370,10446 - SW_RESET,371,10470 - EEPROM_RW,372,10481 - SW_RE_INIT373,10493 -} ipw2100_reset_event;ipw2100_reset_event374,10505 - COMMAND 377,10536 - COMMAND = 0xCAFE,377,10536 - DATA,378,10555 - RX379,10562 -struct ipw2100_tx_packet ipw2100_tx_packet383,10571 -struct ipw2100_rx_packet ipw2100_rx_packet403,10913 -#define FRAG_DISABLED 411,11055 -#define RTS_DISABLED 412,11097 -#define MAX_RTS_THRESHOLD 413,11139 -#define MIN_RTS_THRESHOLD 414,11179 -#define DEFAULT_RTS_THRESHOLD 415,11216 -#define DEFAULT_BEACON_INTERVAL 417,11257 -#define DEFAULT_SHORT_RETRY_LIMIT 418,11296 -#define DEFAULT_LONG_RETRY_LIMIT 419,11333 -struct ipw2100_ordinals ipw2100_ordinals421,11371 -struct ipw2100_notification ipw2100_notification429,11504 -#define MAX_KEY_SIZE 436,11732 -#define MAX_KEYS 437,11756 -#define IPW2100_WEP_ENABLE 439,11776 -#define IPW2100_WEP_DROP_CLEAR 440,11814 -#define IPW_NONE_CIPHER 442,11853 -#define IPW_WEP40_CIPHER 443,11887 -#define IPW_WEP104_CIPHER 444,11921 -#define IPW_TKIP_CIPHER 445,11955 -#define IPW_CKIP_CIPHER 446,11989 -#define IPW_CCMP_CIPHER 447,12022 -#define IPW_AUTH_OPEN 449,12056 -#define IPW_AUTH_SHARED 450,12084 -struct statistic statistic452,12113 -#define INIT_STAT(INIT_STAT458,12166 -#define SET_STAT(SET_STAT462,12263 -#define INC_STAT(INC_STAT467,12428 -#define DEC_STAT(DEC_STAT469,12517 -#define IPW2100_ERROR_QUEUE 472,12607 - IPW2100_PM_DISABLED 477,12710 - PM_STATE_SIZE 478,12736 - IPW2100_PM_DISABLED 480,12763 - PM_STATE_SIZE 481,12789 -#define STATUS_POWERED 485,12820 -#define STATUS_CMD_ACTIVE 486,12859 -#define STATUS_RUNNING 487,12932 -#define STATUS_ENABLED 488,13012 -#define STATUS_STOPPING 489,13089 -#define STATUS_INITIALIZED 490,13161 -#define STATUS_ASSOCIATED 491,13240 -#define STATUS_INT_ENABLED 492,13279 -#define STATUS_RF_KILL_HW 493,13319 -#define STATUS_RF_KILL_SW 494,13359 -#define STATUS_RF_KILL_MASK 495,13399 -#define STATUS_EXIT_PENDING 496,13471 -#define STATUS_SCAN_PENDING 498,13512 -#define STATUS_SCANNING 499,13552 -#define STATUS_SCAN_ABORTING 500,13593 -#define STATUS_SCAN_COMPLETE 501,13634 -#define STATUS_WX_EVENT_PENDING 502,13674 -#define STATUS_RESET_PENDING 503,13714 -#define STATUS_SECURITY_UPDATED 504,13754 -#define IPW_STATE_INITIALIZED 509,13850 -#define IPW_STATE_COUNTRY_FOUND 510,13887 -#define IPW_STATE_ASSOCIATED 511,13926 -#define IPW_STATE_ASSN_LOST 512,13965 -#define IPW_STATE_ASSN_CHANGED 513,14000 -#define IPW_STATE_SCAN_COMPLETE 514,14039 -#define IPW_STATE_ENTERED_PSP 515,14078 -#define IPW_STATE_LEFT_PSP 516,14116 -#define IPW_STATE_RF_KILL 517,14151 -#define IPW_STATE_DISABLED 518,14190 -#define IPW_STATE_POWER_DOWN 519,14224 -#define IPW_STATE_SCANNING 520,14261 -#define CFG_STATIC_CHANNEL 524,14304 -#define CFG_STATIC_ESSID 525,14383 -#define CFG_STATIC_BSSID 526,14459 -#define CFG_CUSTOM_MAC 527,14536 -#define CFG_LONG_PREAMBLE 528,14575 -#define CFG_ASSOCIATE 529,14614 -#define CFG_FIXED_RATE 530,14653 -#define CFG_ADHOC_CREATE 531,14692 -#define CFG_C3_DISABLED 532,14731 -#define CFG_PASSIVE_SCAN 533,14770 -#define CAP_SHARED_KEY 535,14811 -#define CAP_PRIVACY_ON 536,14867 -struct ipw2100_priv ipw2100_priv538,14930 -#define HOST_COMPLETE 661,17492 -#define SYSTEM_CONFIG 662,17526 -#define SSID 663,17560 -#define MANDATORY_BSSID 664,17594 -#define AUTHENTICATION_TYPE 665,17628 -#define ADAPTER_ADDRESS 666,17662 -#define PORT_TYPE 667,17696 -#define INTERNATIONAL_MODE 668,17730 -#define CHANNEL 669,17764 -#define RTS_THRESHOLD 670,17798 -#define FRAG_THRESHOLD 671,17832 -#define POWER_MODE 672,17866 -#define TX_RATES 673,17900 -#define BASIC_TX_RATES 674,17934 -#define WEP_KEY_INFO 675,17968 -#define WEP_KEY_INDEX 676,18002 -#define WEP_FLAGS 677,18036 -#define ADD_MULTICAST 678,18070 -#define CLEAR_ALL_MULTICAST 679,18104 -#define BEACON_INTERVAL 680,18138 -#define ATIM_WINDOW 681,18172 -#define CLEAR_STATISTICS 682,18206 -#define SEND 683,18240 -#define TX_POWER_INDEX 684,18264 -#define BROADCAST_SCAN 685,18298 -#define CARD_DISABLE 686,18332 -#define PREFERRED_BSSID 687,18366 -#define SET_SCAN_OPTIONS 688,18400 -#define SCAN_DWELL_TIME 689,18434 -#define SWEEP_TABLE 690,18468 -#define AP_OR_STATION_TABLE 691,18502 -#define GROUP_ORDINALS 692,18536 -#define SHORT_RETRY_LIMIT 693,18570 -#define LONG_RETRY_LIMIT 694,18604 -#define HOST_PRE_POWER_DOWN 696,18639 -#define CARD_DISABLE_PHY_OFF 697,18673 -#define MSDU_TX_RATES 698,18707 -#define SET_STATION_STAT_BITS 702,18766 -#define CLEAR_STATIONS_STAT_BITS 703,18804 -#define LEAP_ROGUE_MODE 704,18842 -#define SET_SECURITY_INFORMATION 705,18921 -#define DISASSOCIATION_BSSID 706,18959 -#define SET_WPA_IE 707,18994 -#define IPW_CFG_PROMISCUOUS 715,19216 -#define IPW_CFG_PREAMBLE_AUTO 717,19306 -#define IPW_CFG_IBSS_AUTO_START 718,19351 -#define IPW_CFG_LOOPBACK 720,19441 -#define IPW_CFG_ANSWER_BCSSID_PROBE 723,19577 -#define IPW_CFG_BT_SIDEBAND_SIGNAL 725,19667 -#define IPW_CFG_802_1x_ENABLE 726,19710 -#define IPW_CFG_BSS_MASK 727,19754 -#define IPW_CFG_IBSS_MASK 728,19788 -#define IPW_SCAN_NOASSOCIATE 731,19871 -#define IPW_SCAN_MIXED_CELL 732,19907 -#define IPW_SCAN_PASSIVE 734,19964 -#define IPW_NIC_FATAL_ERROR 736,19997 -#define IPW_ERROR_ADDR(IPW_ERROR_ADDR737,20033 -#define IPW_ERROR_CODE(IPW_ERROR_CODE738,20073 -#define IPW2100_ERR_C3_CORRUPTION 739,20124 -#define IPW2100_ERR_MSG_TIMEOUT 740,20171 -#define IPW2100_ERR_FW_LOAD 741,20218 -#define IPW_MEM_SRAM_HOST_SHARED_LOWER_BOUND 743,20266 -#define IPW_MEM_SRAM_HOST_INTERRUPT_AREA_LOWER_BOUND 744,20319 -#define IPW_MEM_HOST_SHARED_RX_BD_BASE 746,20421 -#define IPW_MEM_HOST_SHARED_RX_STATUS_BASE 747,20523 -#define IPW_MEM_HOST_SHARED_RX_BD_SIZE 748,20625 -#define IPW_MEM_HOST_SHARED_RX_READ_INDEX 749,20727 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_BD_BASE 751,20830 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_BD_SIZE 752,20930 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_READ_INDEX 753,21030 -#define IPW_MEM_HOST_SHARED_RX_WRITE_INDEX 755,21131 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_WRITE_INDEX 758,21235 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_0_BD_BASE 763,21345 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_0_BD_SIZE 764,21447 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_1_BD_BASE 765,21549 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_1_BD_SIZE 766,21651 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_2_BD_BASE 767,21753 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_2_BD_SIZE 768,21855 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_3_BD_BASE 769,21957 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_3_BD_SIZE 770,22059 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_0_READ_INDEX 771,22161 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_1_READ_INDEX 772,22263 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_2_READ_INDEX 773,22365 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_3_READ_INDEX 774,22467 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_BD_BASE(IPW_MEM_HOST_SHARED_TX_QUEUE_BD_BASE776,22570 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_BD_SIZE(IPW_MEM_HOST_SHARED_TX_QUEUE_BD_SIZE778,22686 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_READ_INDEX(IPW_MEM_HOST_SHARED_TX_QUEUE_READ_INDEX780,22809 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_0_WRITE_INDEX 783,22936 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_1_WRITE_INDEX 785,23047 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_2_WRITE_INDEX 787,23158 -#define IPW_MEM_HOST_SHARED_TX_QUEUE_3_WRITE_INDEX 789,23269 -#define IPW_MEM_HOST_SHARED_SLAVE_MODE_INT_REGISTER 791,23380 -#define IPW_MEM_HOST_SHARED_ORDINALS_TABLE_1 796,23501 -#define IPW_MEM_HOST_SHARED_ORDINALS_TABLE_2 797,23595 -#define IPW2100_INTA_TX_TRANSFER 799,23690 -#define IPW2100_INTA_RX_TRANSFER 800,23765 -#define IPW2100_INTA_TX_COMPLETE 801,23834 -#define IPW2100_INTA_EVENT_INTERRUPT 802,23896 -#define IPW2100_INTA_STATUS_CHANGE 803,23970 -#define IPW2100_INTA_BEACON_PERIOD_EXPIRED 804,24039 -#define IPW2100_INTA_SLAVE_MODE_HOST_COMMAND_DONE 805,24108 -#define IPW2100_INTA_FW_INIT_DONE 806,24182 -#define IPW2100_INTA_FW_CALIBRATION_CALC 807,24252 -#define IPW2100_INTA_FATAL_ERROR 808,24322 -#define IPW2100_INTA_PARITY_ERROR 809,24392 -#define IPW_AUX_HOST_RESET_REG_PRINCETON_RESET 811,24469 -#define IPW_AUX_HOST_RESET_REG_FORCE_NMI 812,24542 -#define IPW_AUX_HOST_RESET_REG_PCI_HOST_CLUSTER_FATAL_NMI 813,24615 -#define IPW_AUX_HOST_RESET_REG_CORE_FATAL_NMI 814,24688 -#define IPW_AUX_HOST_RESET_REG_SW_RESET 815,24761 -#define IPW_AUX_HOST_RESET_REG_MASTER_DISABLED 816,24834 -#define IPW_AUX_HOST_RESET_REG_STOP_MASTER 817,24907 -#define IPW_AUX_HOST_GP_CNTRL_BIT_CLOCK_READY 819,24981 -#define IPW_AUX_HOST_GP_CNTRL_BIT_HOST_ALLOWS_STANDBY 820,25065 -#define IPW_AUX_HOST_GP_CNTRL_BIT_INIT_DONE 821,25143 -#define IPW_AUX_HOST_GP_CNTRL_BITS_SYS_CONFIG 822,25221 -#define IPW_AUX_HOST_GP_CNTRL_BIT_BUS_TYPE 823,25303 -#define IPW_AUX_HOST_GP_CNTRL_BIT_BAR0_BLOCK_SIZE 824,25381 -#define IPW_AUX_HOST_GP_CNTRL_BIT_USB_MODE 825,25460 -#define IPW_AUX_HOST_GP_CNTRL_BIT_HOST_FORCES_SYS_CLK 826,25539 -#define IPW_AUX_HOST_GP_CNTRL_BIT_FW_FORCES_SYS_CLK 827,25618 -#define IPW_BIT_GPIO_GPIO1_MASK 829,25704 -#define IPW_BIT_GPIO_GPIO3_MASK 830,25755 -#define IPW_BIT_GPIO_GPIO1_ENABLE 831,25806 -#define IPW_BIT_GPIO_RF_KILL 832,25857 -#define IPW_BIT_GPIO_LED_OFF 834,25909 -#define IPW_REG_DOMAIN_0_OFFSET 836,25975 -#define IPW_REG_DOMAIN_1_OFFSET 837,26015 -#define IPW_REG_INTA 839,26086 -#define IPW_REG_INTA_MASK 840,26142 -#define IPW_REG_INDIRECT_ACCESS_ADDRESS 841,26202 -#define IPW_REG_INDIRECT_ACCESS_DATA 842,26275 -#define IPW_REG_AUTOINCREMENT_ADDRESS 843,26345 -#define IPW_REG_AUTOINCREMENT_DATA 844,26416 -#define IPW_REG_RESET_REG 845,26484 -#define IPW_REG_GP_CNTRL 846,26544 -#define IPW_REG_GPIO 847,26603 -#define IPW_REG_FW_TYPE 848,26659 -#define IPW_REG_FW_VERSION 849,26732 -#define IPW_REG_FW_COMPATABILITY_VERSION 850,26794 -#define IPW_REG_INDIRECT_ADDR_MASK 852,26869 -#define IPW_INTERRUPT_MASK 854,26916 -#define IPW2100_CONTROL_REG 856,26956 -#define IPW2100_CONTROL_PHY_OFF 857,27005 -#define IPW2100_COMMAND 859,27050 -#define IPW2100_COMMAND_PHY_ON 860,27087 -#define IPW2100_COMMAND_PHY_OFF 861,27123 -#define IPW_REG_DOA_DEBUG_AREA_START 864,27217 -#define IPW_REG_DOA_DEBUG_AREA_END 865,27290 -#define IPW_DATA_DOA_DEBUG_VALUE 866,27363 -#define IPW_INTERNAL_REGISTER_HALT_AND_RESET 868,27415 -#define IPW_WAIT_CLOCK_STABILIZATION_DELAY 870,27472 -#define IPW_WAIT_RESET_ARC_COMPLETE_DELAY 871,27539 -#define IPW_WAIT_RESET_MASTER_ASSERT_COMPLETE_DELAY 872,27605 -#define IPW_BD_QUEUE_W_R_MIN_SPARE 875,27717 -#define IPW_CACHE_LINE_LENGTH_DEFAULT 877,27756 -#define IPW_CARD_DISABLE_PHY_OFF_COMPLETE_WAIT 879,27805 -#define IPW_PREPARE_POWER_DOWN_COMPLETE_WAIT 880,27873 -#define IPW_HEADER_802_11_SIZE 885,27943 -#define IPW_MAX_80211_PAYLOAD_SIZE 886,28013 -#define IPW_MAX_802_11_PAYLOAD_LENGTH 887,28067 -#define IPW_MAX_ACCEPTABLE_TX_FRAME_LENGTH 888,28111 -#define IPW_MIN_ACCEPTABLE_RX_FRAME_LENGTH 889,28159 -#define IPW_MAX_ACCEPTABLE_RX_FRAME_LENGTH 890,28205 -#define IPW_802_11_FCS_LENGTH 894,28348 -#define IPW_RX_NIC_BUFFER_LENGTH 895,28380 -#define IPW_802_11_PAYLOAD_OFFSET 899,28509 -struct ipw2100_rx ipw2100_rx903,28640 -#define TX_RATE_1_MBIT 914,28951 -#define TX_RATE_2_MBIT 915,28994 -#define TX_RATE_5_5_MBIT 916,29037 -#define TX_RATE_11_MBIT 917,29080 -#define TX_RATE_MASK 918,29123 -#define DEFAULT_TX_RATES 919,29166 -#define IPW_POWER_MODE_CAM 921,29210 -#define IPW_POWER_INDEX_1 922,29266 -#define IPW_POWER_INDEX_2 923,29308 -#define IPW_POWER_INDEX_3 924,29350 -#define IPW_POWER_INDEX_4 925,29392 -#define IPW_POWER_INDEX_5 926,29434 -#define IPW_POWER_AUTO 927,29476 -#define IPW_POWER_MASK 928,29518 -#define IPW_POWER_ENABLED 929,29560 -#define IPW_POWER_LEVEL(IPW_POWER_LEVEL930,29602 -#define IPW_TX_POWER_AUTO 932,29663 -#define IPW_TX_POWER_ENHANCED 933,29702 -#define IPW_TX_POWER_DEFAULT 935,29742 -#define IPW_TX_POWER_MIN 936,29782 -#define IPW_TX_POWER_MAX 937,29821 -#define IPW_TX_POWER_MIN_DBM 938,29861 -#define IPW_TX_POWER_MAX_DBM 939,29904 -#define FW_SCAN_DONOT_ASSOCIATE 941,29945 -#define FW_SCAN_PASSIVE 942,30028 -#define REG_MIN_CHANNEL 944,30095 -#define REG_MAX_CHANNEL 945,30133 -#define REG_CHANNEL_MASK 947,30173 -#define IPW_IBSS_11B_DEFAULT_MASK 948,30220 -#define DIVERSITY_EITHER 950,30264 -#define DIVERSITY_ANTENNA_A 951,30323 -#define DIVERSITY_ANTENNA_B 952,30378 -#define HOST_COMMAND_WAIT 955,30435 -#define HOST_COMMAND_NO_WAIT 956,30463 -#define LOCK_NONE 958,30495 -#define LOCK_DRIVER 959,30515 -#define LOCK_FW 960,30537 -#define TYPE_SWEEP_ORD 962,30556 -#define TYPE_IBSS_STTN_ORD 963,30603 -#define TYPE_BSS_AP_ORD 964,30650 -#define TYPE_RAW_BEACON_ENTRY 965,30697 -#define TYPE_CALIBRATION_DATA 966,30744 -#define TYPE_ROGUE_AP_DATA 967,30791 -#define TYPE_ASSOCIATION_REQUEST 968,30838 -#define TYPE_REASSOCIATION_REQUEST 969,30878 -#define HW_FEATURE_RFKILL 972,30922 -#define RF_KILLSWITCH_OFF 973,30957 -#define RF_KILLSWITCH_ON 974,30987 -#define IPW_COMMAND_POOL_SIZE 976,31018 -#define IPW_START_ORD_TAB_1 978,31059 -#define IPW_START_ORD_TAB_2 979,31091 -#define IPW_ORD_TAB_1_ENTRY_SIZE 981,31127 -#define IS_ORDINAL_TABLE_ONE(IS_ORDINAL_TABLE_ONE983,31174 -#define IS_ORDINAL_TABLE_TWO(IS_ORDINAL_TABLE_TWO985,31274 -#define BSS_ID_LENGTH 988,31399 -typedef enum _ORDINAL_TABLE_1 _ORDINAL_TABLE_1991,31474 - IPW_ORD_STAT_TX_HOST_REQUESTS 993,31563 - IPW_ORD_STAT_TX_HOST_COMPLETE,994,31633 - IPW_ORD_STAT_TX_DIR_DATA,995,31701 - IPW_ORD_STAT_TX_DIR_DATA1 997,31769 - IPW_ORD_STAT_TX_DIR_DATA2,998,31847 - IPW_ORD_STAT_TX_DIR_DATA5_5,999,31921 - IPW_ORD_STAT_TX_DIR_DATA11,1000,31999 - IPW_ORD_STAT_TX_DIR_DATA22,1001,32075 - IPW_ORD_STAT_TX_NODIR_DATA1 1003,32152 - IPW_ORD_STAT_TX_NODIR_DATA2,1004,32236 - IPW_ORD_STAT_TX_NODIR_DATA5_5,1005,32316 - IPW_ORD_STAT_TX_NODIR_DATA11,1006,32400 - IPW_ORD_STAT_NULL_DATA 1008,32483 - IPW_ORD_STAT_TX_RTS,1009,32547 - IPW_ORD_STAT_TX_CTS,1010,32603 - IPW_ORD_STAT_TX_ACK,1011,32671 - IPW_ORD_STAT_TX_ASSN,1012,32727 - IPW_ORD_STAT_TX_ASSN_RESP,1013,32809 - IPW_ORD_STAT_TX_REASSN,1014,32885 - IPW_ORD_STAT_TX_REASSN_RESP,1015,32967 - IPW_ORD_STAT_TX_PROBE,1016,33060 - IPW_ORD_STAT_TX_PROBE_RESP,1017,33133 - IPW_ORD_STAT_TX_BEACON,1018,33227 - IPW_ORD_STAT_TX_ATIM,1019,33291 - IPW_ORD_STAT_TX_DISASSN,1020,33350 - IPW_ORD_STAT_TX_AUTH,1021,33424 - IPW_ORD_STAT_TX_DEAUTH,1022,33509 - IPW_ORD_STAT_TX_TOTAL_BYTES 1024,33598 - IPW_ORD_STAT_TX_RETRIES,1025,33666 - IPW_ORD_STAT_TX_RETRY1,1026,33719 - IPW_ORD_STAT_TX_RETRY2,1027,33781 - IPW_ORD_STAT_TX_RETRY5_5,1028,33843 - IPW_ORD_STAT_TX_RETRY11,1029,33901 - IPW_ORD_STAT_TX_FAILURES 1031,33958 - IPW_ORD_STAT_TX_ABORT_AT_HOP,1032,34010 - IPW_ORD_STAT_TX_MAX_TRIES_IN_HOP,1033,34079 - IPW_ORD_STAT_TX_ABORT_LATE_DMA,1034,34153 - IPW_ORD_STAT_TX_ABORT_STX,1035,34238 - IPW_ORD_STAT_TX_DISASSN_FAIL,1036,34301 - IPW_ORD_STAT_TX_ERR_CTS,1037,34368 - IPW_ORD_STAT_TX_BPDU,1038,34432 - IPW_ORD_STAT_TX_ERR_ACK,1039,34501 - IPW_ORD_STAT_RX_HOST 1042,34578 - IPW_ORD_STAT_RX_DIR_DATA,1043,34637 - IPW_ORD_STAT_RX_DIR_DATA1,1044,34705 - IPW_ORD_STAT_RX_DIR_DATA2,1045,34777 - IPW_ORD_STAT_RX_DIR_DATA5_5,1046,34848 - IPW_ORD_STAT_RX_DIR_DATA11,1047,34924 - IPW_ORD_STAT_RX_DIR_DATA22,1048,34998 - IPW_ORD_STAT_RX_NODIR_DATA 1050,35073 - IPW_ORD_STAT_RX_NODIR_DATA1,1051,35142 - IPW_ORD_STAT_RX_NODIR_DATA2,1052,35219 - IPW_ORD_STAT_RX_NODIR_DATA5_5,1053,35295 - IPW_ORD_STAT_RX_NODIR_DATA11,1054,35376 - IPW_ORD_STAT_RX_NULL_DATA 1056,35456 - IPW_ORD_STAT_RX_POLL,1057,35524 - IPW_ORD_STAT_RX_RTS,1058,35588 - IPW_ORD_STAT_RX_CTS,1059,35641 - IPW_ORD_STAT_RX_ACK,1060,35694 - IPW_ORD_STAT_RX_CFEND,1061,35747 - IPW_ORD_STAT_RX_CFEND_ACK,1062,35805 - IPW_ORD_STAT_RX_ASSN,1063,35873 - IPW_ORD_STAT_RX_ASSN_RESP,1064,35941 - IPW_ORD_STAT_RX_REASSN,1065,36015 - IPW_ORD_STAT_RX_REASSN_RESP,1066,36079 - IPW_ORD_STAT_RX_PROBE,1067,36157 - IPW_ORD_STAT_RX_PROBE_RESP,1068,36216 - IPW_ORD_STAT_RX_BEACON,1069,36285 - IPW_ORD_STAT_RX_ATIM,1070,36340 - IPW_ORD_STAT_RX_DISASSN,1071,36399 - IPW_ORD_STAT_RX_AUTH,1072,36463 - IPW_ORD_STAT_RX_DEAUTH,1073,36532 - IPW_ORD_STAT_RX_TOTAL_BYTES 1075,36598 - IPW_ORD_STAT_RX_ERR_CRC,1076,36665 - IPW_ORD_STAT_RX_ERR_CRC1,1077,36726 - IPW_ORD_STAT_RX_ERR_CRC2,1078,36783 - IPW_ORD_STAT_RX_ERR_CRC5_5,1079,36840 - IPW_ORD_STAT_RX_ERR_CRC11,1080,36901 - IPW_ORD_STAT_RX_DUPLICATE1 1082,36961 - IPW_ORD_STAT_RX_DUPLICATE2,1083,37032 - IPW_ORD_STAT_RX_DUPLICATE5_5,1084,37098 - IPW_ORD_STAT_RX_DUPLICATE11,1085,37168 - IPW_ORD_STAT_RX_DUPLICATE 1086,37236 - IPW_ORD_PERS_DB_LOCK 1088,37312 - IPW_ORD_PERS_DB_SIZE,1089,37371 - IPW_ORD_PERS_DB_ADDR,1090,37435 - IPW_ORD_STAT_RX_INVALID_PROTOCOL,1091,37502 - IPW_ORD_SYS_BOOT_TIME,1092,37585 - IPW_ORD_STAT_RX_NO_BUFFER,1093,37625 - IPW_ORD_STAT_RX_ABORT_LATE_DMA,1094,37698 - IPW_ORD_STAT_RX_ABORT_AT_HOP,1095,37793 - IPW_ORD_STAT_RX_MISSING_FRAG,1096,37878 - IPW_ORD_STAT_RX_ORPHAN_FRAG,1097,37971 - IPW_ORD_STAT_RX_ORPHAN_FRAME,1098,38066 - IPW_ORD_STAT_RX_FRAG_AGEOUT,1099,38162 - IPW_ORD_STAT_RX_BAD_SSID,1100,38251 - IPW_ORD_STAT_RX_ICV_ERRORS,1101,38316 - IPW_ORD_STAT_PSP_SUSPENSION 1104,38409 - IPW_ORD_STAT_PSP_BCN_TIMEOUT,1105,38484 - IPW_ORD_STAT_PSP_POLL_TIMEOUT,1106,38549 - IPW_ORD_STAT_PSP_NONDIR_TIMEOUT,1107,38619 - IPW_ORD_STAT_PSP_RX_DTIMS,1108,38709 - IPW_ORD_STAT_PSP_RX_TIMS,1109,38764 - IPW_ORD_STAT_PSP_STATION_ID,1110,38817 - IPW_ORD_LAST_ASSN_TIME 1113,38893 - IPW_ORD_STAT_PERCENT_MISSED_BCNS,1114,38971 - IPW_ORD_STAT_PERCENT_RETRIES,1115,39055 - IPW_ORD_ASSOCIATED_AP_PTR,1116,39144 - IPW_ORD_AVAILABLE_AP_CNT,1118,39267 - IPW_ORD_AP_LIST_PTR,1119,39333 - IPW_ORD_STAT_AP_ASSNS,1120,39387 - IPW_ORD_STAT_ASSN_FAIL,1121,39439 - IPW_ORD_STAT_ASSN_RESP_FAIL,1122,39500 - IPW_ORD_STAT_FULL_SCANS,1123,39574 - IPW_ORD_CARD_DISABLED,1125,39620 - IPW_ORD_STAT_ROAM_INHIBIT,1126,39664 - IPW_FILLER_40,1127,39759 - IPW_ORD_RSSI_AT_ASSN 1128,39775 - IPW_ORD_STAT_ASSN_CAUSE1,1129,39863 - IPW_ORD_STAT_ASSN_CAUSE2,1131,40004 - IPW_ORD_STAT_ASSN_CAUSE3,1132,40092 - IPW_ORD_STAT_ASSN_CAUSE4,1134,40206 - IPW_ORD_STAT_ASSN_CAUSE5,1136,40320 - IPW_ORD_STAT_ASSN_CAUSE6,1137,40403 - IPW_FILLER_41,1138,40491 - IPW_FILLER_42,1139,40507 - IPW_FILLER_43,1140,40523 - IPW_ORD_STAT_AUTH_FAIL,1141,40539 - IPW_ORD_STAT_AUTH_RESP_FAIL,1142,40608 - IPW_ORD_STATION_TABLE_CNT,1143,40690 - IPW_ORD_RSSI_AVG_CURR 1146,40784 - IPW_ORD_STEST_RESULTS_CURR,1147,40834 - IPW_ORD_STEST_RESULTS_CUM,1148,40909 - IPW_ORD_SELF_TEST_STATUS,1149,40987 - IPW_ORD_POWER_MGMT_MODE,1150,41030 - IPW_ORD_POWER_MGMT_INDEX,1151,41092 - IPW_ORD_COUNTRY_CODE,1152,41139 - IPW_ORD_COUNTRY_CHANNELS,1153,41205 - IPW_ORD_RESET_CNT,1157,41406 - IPW_ORD_BEACON_INTERVAL,1158,41463 - IPW_ORD_PRINCETON_VERSION 1160,41516 - IPW_ORD_ANTENNA_DIVERSITY,1161,41583 - IPW_ORD_CCA_RSSI,1162,41659 - IPW_ORD_STAT_EEPROM_UPDATE,1163,41733 - IPW_ORD_DTIM_PERIOD,1164,41810 - IPW_ORD_OUR_FREQ,1165,41878 - IPW_ORD_RTC_TIME 1167,41946 - IPW_ORD_PORT_TYPE,1168,42002 - IPW_ORD_CURRENT_TX_RATE,1169,42047 - IPW_ORD_SUPPORTED_RATES,1170,42092 - IPW_ORD_ATIM_WINDOW,1171,42157 - IPW_ORD_BASIC_RATES,1172,42202 - IPW_ORD_NIC_HIGHEST_RATE,1173,42259 - IPW_ORD_AP_HIGHEST_RATE,1174,42321 - IPW_ORD_CAPABILITIES,1175,42382 - IPW_ORD_AUTH_TYPE,1176,42453 - IPW_ORD_RADIO_TYPE,1177,42506 - IPW_ORD_RTS_THRESHOLD 1178,42564 - IPW_ORD_INT_MODE,1179,42661 - IPW_ORD_FRAGMENTATION_THRESHOLD,1180,42713 - IPW_ORD_EEPROM_SRAM_DB_BLOCK_START_ADDRESS,1181,42781 - IPW_ORD_EEPROM_SRAM_DB_BLOCK_SIZE,1182,42851 - IPW_ORD_EEPROM_SKU_CAPABILITY,1183,42910 - IPW_ORD_EEPROM_IBSS_11B_CHANNELS,1184,42978 - IPW_ORD_MAC_VERSION 1186,43052 - IPW_ORD_MAC_REVISION,1187,43102 - IPW_ORD_RADIO_VERSION,1188,43148 - IPW_ORD_NIC_MANF_DATE_TIME,1189,43196 - IPW_ORD_UCODE_VERSION,1190,43249 - IPW_ORD_HW_RF_SWITCH_STATE 1191,43297 -} ORDINALTABLE1;ORDINALTABLE11192,43366 -#define IPW_FIRST_VARIABLE_LENGTH_ORDINAL 1197,43443 -typedef enum _ORDINAL_TABLE_2 _ORDINAL_TABLE_21199,43493 - IPW_ORD_STAT_BASE 1200,43559 - IPW_ORD_STAT_ADAPTER_MAC 1201,43622 - IPW_ORD_STAT_PREFERRED_BSSID 1202,43694 - IPW_ORD_STAT_MANDATORY_BSSID 1203,43770 - IPW_FILL_1,1204,43846 - IPW_ORD_STAT_COUNTRY_TEXT 1205,43869 - IPW_ORD_STAT_ASSN_SSID 1206,43969 - IPW_ORD_STATION_TABLE 1207,44027 - IPW_ORD_STAT_SWEEP_TABLE 1208,44111 - IPW_ORD_STAT_ROAM_LOG 1209,44202 - IPW_ORD_STAT_RATE_LOG 1210,44257 - IPW_ORD_STAT_FIFO 1211,44314 - IPW_ORD_STAT_FW_VER_NUM 1212,44386 - IPW_ORD_STAT_FW_DATE 1213,44482 - IPW_ORD_STAT_ASSN_AP_BSSID 1214,44569 - IPW_ORD_STAT_DEBUG 1215,44646 - IPW_ORD_STAT_NIC_BPA_NUM 1216,44691 - IPW_ORD_STAT_UCODE_DATE 1217,44762 - IPW_ORD_SECURITY_NGOTIATION_RESULT 1218,44818 -} ORDINALTABLE2;ORDINALTABLE21219,44862 -#define IPW_LAST_VARIABLE_LENGTH_ORDINAL 1221,44915 -#define WIRELESS_SPY 1224,44985 -#define IPW_HOST_FW_SHARED_AREA0 1231,45236 -#define IPW_HOST_FW_SHARED_AREA0_END 1232,45281 -#define IPW_HOST_FW_SHARED_AREA1 1234,45346 -#define IPW_HOST_FW_SHARED_AREA1_END 1235,45391 -#define IPW_HOST_FW_SHARED_AREA2 1237,45455 -#define IPW_HOST_FW_SHARED_AREA2_END 1238,45500 -#define IPW_HOST_FW_SHARED_AREA3 1240,45564 -#define IPW_HOST_FW_SHARED_AREA3_END 1241,45609 -#define IPW_HOST_FW_INTERRUPT_AREA 1243,45673 -#define IPW_HOST_FW_INTERRUPT_AREA_END 1244,45720 -struct ipw2100_fw_chunk ipw2100_fw_chunk1246,45786 -struct ipw2100_fw_chunk_set ipw2100_fw_chunk_set1253,45883 -struct ipw2100_fw ipw2100_fw1263,46062 -#define MAX_FW_VERSION_LEN 1277,46556 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/airport.c,467 -#define DRIVER_NAME 14,299 -#define PFX 15,329 -#define AIRPORT_IO_LEN 44,944 -struct airport airport46,992 -airport_suspend(54,1105 -airport_resume(88,1868 -airport_detach(129,2743 -static int airport_hard_reset(158,3349 -airport_attach(188,4230 -static char version[265,6237 -static char version[] __initdata 265,6237 -static struct of_match airport_match[271,6528 -static struct macio_driver airport_driver 281,6660 -init_airport(292,6896 -exit_airport(300,7025 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/orinoco.c,4293 -#define DRIVER_NAME 427,19780 -int orinoco_debug 463,20828 -static int suppress_linkstatus;468,20934 -#define SPY_NUMBER(SPY_NUMBER477,21311 -#define SPY_NUMBER(SPY_NUMBER479,21361 -#define ORINOCO_MIN_MTU 486,21629 -#define ORINOCO_MAX_MTU 487,21658 -#define SYMBOL_MAX_VER_LEN 489,21724 -#define USER_BAP 490,21756 -#define IRQ_BAP 491,21776 -#define MAX_IRQLOOPS_PER_IRQ 492,21796 -#define MAX_IRQLOOPS_PER_JIFFY 493,21828 -#define SMALL_KEY_SIZE 497,21989 -#define LARGE_KEY_SIZE 498,22015 -#define TX_NICBUF_SIZE_BUG 499,22042 -#define DUMMY_FID 501,22105 -#define MAX_MULTICAST(MAX_MULTICAST505,22240 -#define ORINOCO_INTEN 507,22292 -static const long channel_frequency[517,22717 -#define NUM_CHANNELS 521,22847 -} bitrate_table[530,23112 -#define BITRATE_TABLE_SIZE 540,23318 -struct header_struct header_struct546,23586 -u8 encaps_hdr[561,23855 -#define ENCAPS_OVERHEAD 563,23912 -struct hermes_rx_descriptor hermes_rx_descriptor565,23963 -static inline void set_port_type(588,24799 -static int orinoco_open(614,25478 -int orinoco_stop(634,25777 -static struct net_device_stats *orinoco_get_stats(653,26190 -static struct iw_statistics *orinoco_get_wireless_stats(660,26343 -static void orinoco_set_multicast_list(718,28144 -static int orinoco_change_mtu(733,28515 -static int orinoco_xmit(753,29083 -static void __orinoco_ev_alloc(892,32635 -static void __orinoco_ev_tx(909,33047 -static void __orinoco_ev_txexc(919,33287 -static void orinoco_tx_timeout(945,34001 -static inline int is_ethersnap(967,34784 -static inline void orinoco_spy_gather(978,35239 -static void orinoco_stat_gather(995,35828 -static void __orinoco_ev_rx(1017,36638 -static void print_linkstatus(1173,41133 -static void __orinoco_ev_info(1210,41872 -static void __orinoco_ev_infdrop(1309,44847 -int __orinoco_up(1319,45226 -int __orinoco_down(1346,45759 -int orinoco_reinit_firmware(1377,46478 -static int __orinoco_hw_set_bitrate(1405,47135 -static int __orinoco_hw_setup_wep(1435,47875 -static int __orinoco_program_rids(1540,50344 -__orinoco_set_multicast_list(1745,55861 -static int orinoco_reconfigure(1810,57623 -static void orinoco_reset(1863,58716 -static void __orinoco_ev_tick(1930,60524 -static void __orinoco_ev_wterr(1935,60642 -irqreturn_t orinoco_interrupt(1943,60896 -struct sta_id sta_id2022,63184 -static int determine_firmware_type(2026,63261 -static void determine_firmware(2040,63677 -static int orinoco_init(2173,67999 -struct net_device *alloc_orinocodev(2355,72892 -static int orinoco_hw_get_bssid(2407,74471 -static int orinoco_hw_get_essid(2426,74825 -static long orinoco_hw_get_freq(2480,76112 -static int orinoco_hw_get_bitratelist(2520,76880 -static int orinoco_ioctl_getiwrange(2553,77555 -static int orinoco_ioctl_setiwencode(2689,80898 -static int orinoco_ioctl_getiwencode(2785,83237 -static int orinoco_ioctl_setessid(2832,84235 -static int orinoco_ioctl_getessid(2865,84945 -static int orinoco_ioctl_setnick(2898,85655 -static int orinoco_ioctl_getnick(2926,86215 -static int orinoco_ioctl_setfreq(2948,86685 -static int orinoco_ioctl_getsens(2990,87669 -static int orinoco_ioctl_setsens(3017,88181 -static int orinoco_ioctl_setrts(3039,88599 -static int orinoco_ioctl_setfrag(3062,89004 -static int orinoco_ioctl_getfrag(3097,89748 -static int orinoco_ioctl_setrate(3135,90480 -static int orinoco_ioctl_getrate(3178,91470 -static int orinoco_ioctl_setpower(3244,93166 -static int orinoco_ioctl_getpower(3297,94198 -static int orinoco_ioctl_getretry(3346,95325 -static int orinoco_ioctl_setibssport(3398,96555 -static int orinoco_ioctl_getibssport(3418,96956 -static int orinoco_ioctl_setport3(3435,97284 -static int orinoco_ioctl_getport3(3477,98015 -static int orinoco_ioctl_setspy(3495,98425 -static int orinoco_ioctl_getspy(3542,99572 -orinoco_ioctl(3589,100808 -#define DISPLAY_WORDS 3933,108162 -#define DISPLAY_BYTES 3934,108186 -#define DISPLAY_STRING 3935,108210 -#define DISPLAY_XSTRING 3936,108235 -} record_table[3937,108261 -#define DEBUG_REC(DEBUG_REC3938,108282 -#define DEBUG_LTV_SIZE 4041,111816 -static int orinoco_debug_dump_recs(4043,111845 -static void show_rx_frame(4116,113514 -static char version[4189,116985 -static char version[] __initdata 4189,116985 -static int __init init_orinoco(4193,117145 -static void __exit exit_orinoco(4199,117235 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/orinoco.h,581 -#define _ORINOCO_H8,111 -#define DRIVER_VERSION 10,131 -#define WIRELESS_SPY 23,381 -#define ORINOCO_MAX_KEY_SIZE 25,428 -#define ORINOCO_MAX_KEYS 26,460 -struct orinoco_key orinoco_key28,488 -struct orinoco_private orinoco_private33,619 -#define FIRMWARE_TYPE_AGERE 58,1156 -#define FIRMWARE_TYPE_INTERSIL 59,1186 -#define FIRMWARE_TYPE_SYMBOL 60,1219 -#define DEBUG(DEBUG97,2111 -#define DEBUG(DEBUG99,2207 -#define TRACE_ENTER(TRACE_ENTER102,2278 -#define TRACE_EXIT(TRACE_EXIT103,2357 -extern inline int orinoco_lock(125,3511 -extern inline void orinoco_unlock(138,3855 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/atmel_cs.c,795 -static int pc_debug 67,2414 -static char *version 69,2478 -#define DEBUG(DEBUG70,2521 -#define DEBUG(DEBUG72,2596 -static u_int irq_mask 81,2873 -static int irq_list[83,2961 -static dev_info_t dev_info 135,4765 -static dev_link_t *dev_list 147,5213 -typedef struct local_info_t local_info_t171,6368 -} local_info_t;local_info_t174,6445 -static dev_link_t *atmel_attach(188,6925 -static void atmel_detach(267,9319 -#define CS_CHECK(CS_CHECK301,10179 -static int card_present(306,10397 -} card_table[328,10973 -static struct device *atmel_device(351,12617 -static void atmel_config(365,12901 -static void atmel_release(604,20706 -static int atmel_event(638,21784 -static struct pcmcia_driver atmel_driver 682,22938 -static int atmel_cs_init(691,23183 -static void atmel_cs_cleanup(696,23273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee802_11.h,1848 -#define _IEEE802_11_H2,22 -#define IEEE802_11_DATA_LEN 4,45 -#define IEEE802_11_HLEN 14,438 -#define IEEE802_11_FRAME_LEN 15,467 -struct ieee802_11_hdr ieee802_11_hdr17,538 -#define IEEE802_11_FCTL_VERS 28,759 -#define IEEE802_11_FCTL_FTYPE 29,796 -#define IEEE802_11_FCTL_STYPE 30,834 -#define IEEE802_11_FCTL_TODS 31,872 -#define IEEE802_11_FCTL_FROMDS 32,909 -#define IEEE802_11_FCTL_MOREFRAGS 33,948 -#define IEEE802_11_FCTL_RETRY 34,989 -#define IEEE802_11_FCTL_PM 35,1027 -#define IEEE802_11_FCTL_MOREDATA 36,1062 -#define IEEE802_11_FCTL_WEP 37,1102 -#define IEEE802_11_FCTL_ORDER 38,1138 -#define IEEE802_11_FTYPE_MGMT 40,1177 -#define IEEE802_11_FTYPE_CTL 41,1215 -#define IEEE802_11_FTYPE_DATA 42,1252 -#define IEEE802_11_STYPE_ASSOC_REQ 45,1308 -#define IEEE802_11_STYPE_ASSOC_RESP 46,1350 -#define IEEE802_11_STYPE_REASSOC_REQ 47,1394 -#define IEEE802_11_STYPE_REASSOC_RESP 48,1438 -#define IEEE802_11_STYPE_PROBE_REQ 49,1483 -#define IEEE802_11_STYPE_PROBE_RESP 50,1525 -#define IEEE802_11_STYPE_BEACON 51,1568 -#define IEEE802_11_STYPE_ATIM 52,1608 -#define IEEE802_11_STYPE_DISASSOC 53,1646 -#define IEEE802_11_STYPE_AUTH 54,1687 -#define IEEE802_11_STYPE_DEAUTH 55,1725 -#define IEEE802_11_STYPE_PSPOLL 58,1780 -#define IEEE802_11_STYPE_RTS 59,1820 -#define IEEE802_11_STYPE_CTS 60,1857 -#define IEEE802_11_STYPE_ACK 61,1894 -#define IEEE802_11_STYPE_CFEND 62,1931 -#define IEEE802_11_STYPE_CFENDACK 63,1970 -#define IEEE802_11_STYPE_DATA 66,2023 -#define IEEE802_11_STYPE_DATA_CFACK 67,2061 -#define IEEE802_11_STYPE_DATA_CFPOLL 68,2104 -#define IEEE802_11_STYPE_DATA_CFACKPOLL 69,2148 -#define IEEE802_11_STYPE_NULLFUNC 70,2195 -#define IEEE802_11_STYPE_CFACK 71,2236 -#define IEEE802_11_STYPE_CFPOLL 72,2275 -#define IEEE802_11_STYPE_CFACKPOLL 73,2315 -#define IEEE802_11_SCTL_FRAG 75,2358 -#define IEEE802_11_SCTL_SEQ 76,2395 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/rayctl.h,9800 -typedef unsigned char UCHAR;UCHAR3,19 -#define ADDRLEN 6,129 -#define PROTOCOL_VER 8,190 -#define DATA_TYPE 9,221 -#define ASSOC_REQ_TYPE 10,252 -#define ASSOC_RESP_TYPE 11,283 -#define REASSOC_REQ_TYPE 12,314 -#define REASSOC_RESP_TYPE 13,345 -#define NULL_MSG_TYPE 14,376 -#define BEACON_TYPE 15,407 -#define DISASSOC_TYPE 16,438 -#define PSPOLL_TYPE 17,469 -#define AUTHENTIC_TYPE 18,500 -#define DEAUTHENTIC_TYPE 19,531 -#define FC2_TO_DS 21,595 -#define FC2_FROM_DS 22,626 -#define FC2_MORE_FRAG 23,657 -#define FC2_RETRY 24,688 -#define FC2_PSM 25,719 -#define FC2_MORE_DATA 26,750 -#define FC2_WEP 27,781 -#define FC2_ORDER 28,812 -#define C_BP_CAPABILITY_ESS 31,961 -#define C_BP_CAPABILITY_IBSS 32,1006 -#define C_BP_CAPABILITY_CF_POLLABLE 33,1051 -#define C_BP_CAPABILITY_CF_POLL_REQUEST 34,1096 -#define C_BP_CAPABILITY_PRIVACY 35,1141 -#define C_ESSID_ELEMENT_ID 37,1187 -#define C_ESSID_ELEMENT_MAX_LENGTH 38,1230 -#define C_SUPPORTED_RATES_ELEMENT_ID 40,1275 -#define C_SUPPORTED_RATES_ELEMENT_LENGTH 41,1318 -#define C_FH_PARAM_SET_ELEMENT_ID 43,1362 -#define C_FH_PARAM_SET_ELEMENT_LNGTH 44,1405 -#define C_CF_PARAM_SET_ELEMENT_ID 46,1449 -#define C_CF_PARAM_SET_ELEMENT_LNGTH 47,1492 -#define C_TIM_ELEMENT_ID 49,1536 -#define C_TIM_BITMAP_LENGTH 50,1579 -#define C_TIM_BMCAST_BIT 51,1622 -#define C_IBSS_ELEMENT_ID 53,1666 -#define C_IBSS_ELEMENT_LENGTH 54,1709 -#define C_JAPAN_CALL_SIGN_ELEMENT_ID 56,1753 -#define C_JAPAN_CALL_SIGN_ELEMENT_LNGTH 57,1796 -#define C_DISASSOC_REASON_CODE_LEN 59,1840 -#define C_DISASSOC_REASON_CODE_DEFAULT 60,1883 -#define C_CRC_LEN 62,1927 -#define C_NUM_SUPPORTED_RATES 63,1970 -struct mac_header mac_header65,2094 -struct essid_elementessid_element77,2489 -struct rates_elementrates_element83,2585 -struct freq_hop_elementfreq_hop_element89,2657 -struct tim_elementtim_element98,2794 -struct ibss_elementibss_element107,2949 -struct japan_call_sign_elementjapan_call_sign_element113,3026 -struct infra_beaconinfra_beacon121,3273 -struct adhoc_beaconadhoc_beacon132,3633 -#define TX_HEADER_LENGTH 147,4215 -#define RX_MAC_HEADER_LENGTH 148,4245 -#define TX_AUTHENTICATE_LENGTH 149,4279 -#define TX_AUTHENTICATE_LENGTH_MSB 150,4333 -#define TX_AUTHENTICATE_LENGTH_LSB 151,4398 -#define TX_DEAUTHENTICATE_LENGTH 152,4465 -#define TX_DEAUTHENTICATE_LENGTH_MSB 153,4521 -#define TX_DEAUTHENTICATE_LENGTH_LSB 154,4588 -#define FCS_LEN 155,4657 -#define ADHOC 157,4686 -#define INFRA 158,4718 -#define TYPE_STA 160,4751 -#define TYPE_AP 161,4783 -#define PASSIVE_SCAN 163,4816 -#define ACTIVE_SCAN 164,4848 -#define PSM_CAM 166,4881 -#define USA 169,4934 -#define EUROPE 170,4966 -#define JAPAN 171,4998 -#define KOREA 172,5030 -#define SPAIN 173,5062 -#define FRANCE 174,5094 -#define ISRAEL 175,5126 -#define AUSTRALIA 176,5158 -#define JAPAN_TEST 177,5190 -#define USA_HOP_MOD 180,5249 -#define EUROPE_HOP_MOD 181,5282 -#define JAPAN_HOP_MOD 182,5315 -#define KOREA_HOP_MOD 183,5347 -#define SPAIN_HOP_MOD 184,5379 -#define FRANCE_HOP_MOD 185,5411 -#define ISRAEL_HOP_MOD 186,5443 -#define AUSTRALIA_HOP_MOD 187,5475 -#define JAPAN_TEST_HOP_MOD 188,5507 -#define ESSID_SIZE 190,5540 -#define CIS_OFFSET 193,5674 -#define COR_OFFSET 195,5757 -#define COR_SOFT_RESET 196,5793 -#define COR_LEVEL_IRQ 197,5829 -#define COR_CONFIG_NUM 198,5865 -#define COR_DEFAULT 199,5901 -#define CCSR_OFFSET 202,6020 -#define CCSR_HOST_INTR_PENDING 203,6056 -#define CCSR_POWER_DOWN 204,6092 -#define HCS_INTR_OFFSET 207,6167 -#define HCS_INTR_CLEAR 209,6245 -#define ECF_INTR_OFFSET 212,6320 -#define ECF_INTR_SET 214,6398 -#define AUTH_0_ON 217,6475 -#define AUTH_1_ON 220,6552 -#define PC2PM 223,6626 -#define PC2CAL 224,6662 -#define PC2MLSE 225,6698 -#define PC_TEST_MODE 228,6772 -#define SCB_BASE 238,7015 -#define STATUS_BASE 239,7053 -#define HOST_TO_ECF_BASE 240,7091 -#define ECF_TO_HOST_BASE 241,7129 -#define CCS_BASE 242,7167 -#define RCS_BASE 243,7205 -#define INFRA_TIM_BASE 244,7243 -#define SSID_LIST_BASE 245,7281 -#define TX_BUF_BASE 246,7319 -#define RX_BUF_BASE 247,7357 -#define NUMBER_OF_CCS 249,7396 -#define NUMBER_OF_RCS 250,7424 -#define NUMBER_OF_TX_CCS 252,7485 -#define TX_BUF_SIZE 254,7514 -#define RX_BUFF_END 255,7570 -#define CCS_BUFFER_FREE 257,7633 -#define CCS_BUFFER_BUSY 258,7665 -#define CCS_COMMAND_COMPLETE 259,7697 -#define CCS_COMMAND_FAILED 260,7729 -#define CCS_DOWNLOAD_STARTUP_PARAMS 263,7783 -#define CCS_UPDATE_PARAMS 264,7824 -#define CCS_REPORT_PARAMS 265,7865 -#define CCS_UPDATE_MULTICAST_LIST 266,7906 -#define CCS_UPDATE_POWER_SAVINGS_MODE 267,7947 -#define CCS_START_NETWORK 268,7988 -#define CCS_JOIN_NETWORK 269,8029 -#define CCS_START_ASSOCIATION 270,8070 -#define CCS_TX_REQUEST 271,8111 -#define CCS_TEST_MEMORY 272,8152 -#define CCS_SHUTDOWN 273,8193 -#define CCS_DUMP_MEMORY 274,8234 -#define CCS_START_TIMER 275,8275 -#define CCS_LAST_CMD 276,8316 -#define CCS_END_LIST 279,8398 -#define RCS_BUFFER_FREE 282,8478 -#define RCS_BUFFER_BUSY 283,8510 -#define RCS_COMPLETE 284,8542 -#define RCS_FAILED 285,8574 -#define RCS_BUFFER_RELEASE 286,8606 -#define PROCESS_RX_PACKET 289,8678 -#define REJOIN_NET_COMPLETE 290,8725 -#define ROAMING_INITIATED 291,8800 -#define JAPAN_CALL_SIGN_RXD 292,8875 -#define C_MEM_PROG 296,9074 -#define C_MEM_XDATA 297,9096 -#define C_MEM_SFR 298,9118 -#define C_MEM_IDATA 299,9140 -#define XMIT_OK 302,9206 -#define XMIT_MSG_BAD 303,9233 -#define XMIT_NO_CCS 304,9261 -#define XMIT_NO_INTR 305,9289 -#define XMIT_NEED_AUTH 306,9317 -#define CARD_INSERTED 309,9377 -#define CARD_AWAITING_PARAM 311,9410 -#define CARD_INIT_ERROR 312,9442 -#define CARD_DL_PARAM 314,9476 -#define CARD_DL_PARAM_ERROR 315,9508 -#define CARD_DOING_ACQ 317,9542 -#define CARD_ACQ_COMPLETE 319,9575 -#define CARD_ACQ_FAILED 320,9607 -#define CARD_AUTH_COMPLETE 322,9641 -#define CARD_AUTH_REFUSED 323,9673 -#define CARD_ASSOC_COMPLETE 325,9707 -#define CARD_ASSOC_FAILED 326,9739 -#define UNAUTHENTICATED 329,9847 -#define AWAITING_RESPONSE 330,9879 -#define AUTHENTICATED 331,9911 -#define NEED_TO_AUTH 332,9943 -#define OPEN_AUTH_REQUEST 335,10050 -#define OPEN_AUTH_RESPONSE 336,10082 -#define BROADCAST_DEAUTH 337,10114 -#define TODO_NOTHING 339,10223 -#define TODO_VERIFY_DL_START 340,10261 -#define TODO_START_NET 341,10300 -#define TODO_JOIN_NET 342,10339 -#define TODO_AUTHENTICATE_TIMEOUT 343,10378 -#define TODO_SEND_CCS 344,10417 -struct object_id object_id347,10598 -#define OBJID_network_type 352,10686 -#define OBJID_acting_as_ap_status 353,10726 -#define OBJID_current_ess_id 354,10766 -#define OBJID_scanning_mode 355,10806 -#define OBJID_power_mgt_state 356,10846 -#define OBJID_mac_address 357,10886 -#define OBJID_frag_threshold 358,10926 -#define OBJID_hop_time 359,10966 -#define OBJID_beacon_period 360,11006 -#define OBJID_dtim_period 361,11046 -#define OBJID_retry_max 362,11086 -#define OBJID_ack_timeout 363,11126 -#define OBJID_sifs 364,11166 -#define OBJID_difs 365,11206 -#define OBJID_pifs 366,11246 -#define OBJID_rts_threshold 367,11286 -#define OBJID_scan_dwell_time 368,11326 -#define OBJID_max_scan_dwell_time 369,11366 -#define OBJID_assoc_resp_timeout 370,11406 -#define OBJID_adhoc_scan_cycle_max 371,11446 -#define OBJID_infra_scan_cycle_max 372,11486 -#define OBJID_infra_super_cycle_max 373,11526 -#define OBJID_promiscuous_mode 374,11566 -#define OBJID_unique_word 375,11606 -#define OBJID_slot_time 376,11646 -#define OBJID_roaming_low_snr 377,11686 -#define OBJID_low_snr_count_thresh 378,11726 -#define OBJID_infra_missed_bcn 379,11766 -#define OBJID_adhoc_missed_bcn 380,11806 -#define OBJID_curr_country_code 381,11846 -#define OBJID_hop_pattern 382,11886 -#define OBJID_reserved 383,11926 -#define OBJID_cw_max_msb 384,11966 -#define OBJID_cw_min_msb 385,12006 -#define OBJID_noise_filter_gain 386,12046 -#define OBJID_noise_limit_offset 387,12086 -#define OBJID_det_rssi_thresh_offset 388,12126 -#define OBJID_med_busy_thresh_offset 389,12166 -#define OBJID_det_sync_thresh 390,12206 -#define OBJID_test_mode 391,12246 -#define OBJID_test_min_chan_num 392,12286 -#define OBJID_test_max_chan_num 393,12326 -#define OBJID_allow_bcast_ID_prbrsp 394,12366 -#define OBJID_privacy_must_start 395,12406 -#define OBJID_privacy_can_join 396,12446 -#define OBJID_basic_rate_set 397,12486 -struct scb scb403,12675 -struct status status409,12814 -struct host_to_ecf_area host_to_ecf_area421,13495 -struct startup_res_518 startup_res_518426,13610 -struct startup_res_6 startup_res_6435,13806 -struct start_join_net_params start_join_net_params448,14098 -struct update_param_cmd update_param_cmd457,14368 -struct report_param_cmd report_param_cmd462,14469 -struct start_network_cmd start_network_cmd468,14588 -struct join_network_cmd join_network_cmd475,14746 -struct tx_requested_cmd tx_requested_cmd482,14903 -struct tx_requested_cmd_4 tx_requested_cmd_4493,15121 -struct memory_dump_cmd memory_dump_cmd502,15304 -struct update_association_cmd update_association_cmd507,15398 -struct start_timer_cmd start_timer_cmd511,15469 -struct ccs ccs515,15521 -struct tib_structure tib_structure538,16482 -struct phy_header phy_header564,17043 -struct rx_msg rx_msg569,17118 -struct tx_msg tx_msg574,17184 -struct rx_packet_cmd rx_packet_cmd583,17446 -struct rejoin_net_cmplt_cmd rejoin_net_cmplt_cmd590,17612 -struct japan_call_sign_rxd japan_call_sign_rxd594,17691 -struct rcs rcs599,17775 -struct b4_startup_params b4_startup_params613,18187 -struct b5_startup_params b5_startup_params661,21854 -#define RAY_IOCG_PARMS 712,25495 -#define RAY_IOCS_PARMS 713,25535 -#define RAY_DO_CMD 714,25579 -typedef struct snaphdr_tsnaphdr_t717,25704 -} snaphdr_t;snaphdr_t724,25821 -#define BRIDGE_ENCAP 726,25835 -#define RFC1042_ENCAP 727,25866 -#define SNAP_ID 728,25890 -#define RAY_IPX_TYPE 729,25923 -#define APPLEARP_TYPE 730,25952 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/arlan-proc.c,1764 -#define ARLAN_STR_SIZE 13,149 -#define DEV_ARLAN_INFO 14,180 -#define DEV_ARLAN 15,206 -#define SARLG(SARLG16,227 -#define SARLBN(SARLBN20,350 -#define SARLBNpln(SARLBNpln26,592 -#define SARLSTR(SARLSTR30,732 -#define SARLUC(SARLUC39,983 -#define SARLUCN(SARLUCN40,1024 -#define SARLUS(SARLUS41,1071 -#define SARLUSN(SARLUSN42,1111 -#define SARLUI(SARLUI43,1159 -#define SARLUSA(SARLUSA45,1198 -#define SARLUIA(SARLUIA51,1363 -static const char *arlan_diagnostic_info_string(58,1524 -static const char *arlan_hardware_type_string(113,2973 -static void arlan_print_diagnostic_info(186,4457 -static int arlan_hw_test_memory(251,6338 -static int arlan_setup_card_by_book(319,7874 -static char arlan_drive_info[399,10108 -static int arlan_sysctl_info(401,10168 -static int arlan_sysctl_info161719(638,16034 -static int arlan_sysctl_infotxRing(672,16856 -static int arlan_sysctl_inforxRing(701,17614 -static int arlan_sysctl_info18(729,18371 -static char conf_reset_result[763,19159 -static int arlan_configure(765,19196 -static int arlan_sysctl_reset(790,19796 -#define CTBLN(CTBLN815,20443 -#define ARLAN_PROC_DEBUG_ENTRIES 822,20677 -#define ARLAN_PROC_DEBUG_ENTRIES829,21050 -#define ARLAN_SYSCTL_TABLE_TOTAL(ARLAN_SYSCTL_TABLE_TOTAL832,21091 -static ctl_table arlan_conf_table0[896,23163 -static ctl_table arlan_conf_table1[961,24468 -static ctl_table arlan_conf_table2[1027,25775 -static ctl_table arlan_conf_table3[1093,27082 -static ctl_table arlan_table[1161,28391 -static ctl_table arlan_table[1196,28904 -static ctl_table arlan_table[1203,28989 -static ctl_table arlan_root_table[1212,29097 -static struct ctl_table_header *arlan_device_sysctl_header;1233,29452 -int __init init_arlan_proc(1235,29513 -void __exit cleanup_arlan_proc(1251,29831 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/hermes_rid.h,6074 -#define _HERMES_RID_H2,22 -#define HERMES_RID_CNFPORTTYPE 7,74 -#define HERMES_RID_CNFOWNMACADDR 8,114 -#define HERMES_RID_CNFDESIREDSSID 9,155 -#define HERMES_RID_CNFOWNCHANNEL 10,197 -#define HERMES_RID_CNFOWNSSID 11,238 -#define HERMES_RID_CNFOWNATIMWINDOW 12,277 -#define HERMES_RID_CNFSYSTEMSCALE 13,321 -#define HERMES_RID_CNFMAXDATALEN 14,363 -#define HERMES_RID_CNFWDSADDRESS 15,404 -#define HERMES_RID_CNFPMENABLED 16,445 -#define HERMES_RID_CNFPMEPS 17,486 -#define HERMES_RID_CNFMULTICASTRECEIVE 18,523 -#define HERMES_RID_CNFMAXSLEEPDURATION 19,570 -#define HERMES_RID_CNFPMHOLDOVERDURATION 20,617 -#define HERMES_RID_CNFOWNNAME 21,665 -#define HERMES_RID_CNFOWNDTIMPERIOD 22,704 -#define HERMES_RID_CNFWDSADDRESS1 23,748 -#define HERMES_RID_CNFWDSADDRESS2 24,790 -#define HERMES_RID_CNFWDSADDRESS3 25,832 -#define HERMES_RID_CNFWDSADDRESS4 26,874 -#define HERMES_RID_CNFWDSADDRESS5 27,916 -#define HERMES_RID_CNFWDSADDRESS6 28,958 -#define HERMES_RID_CNFMULTICASTPMBUFFERING 29,1000 -#define HERMES_RID_CNFWEPENABLED_AGERE 30,1050 -#define HERMES_RID_CNFAUTHENTICATION_AGERE 31,1097 -#define HERMES_RID_CNFMANDATORYBSSID_SYMBOL 32,1147 -#define HERMES_RID_CNFWEPDEFAULTKEYID 33,1198 -#define HERMES_RID_CNFDEFAULTKEY0 34,1244 -#define HERMES_RID_CNFDEFAULTKEY1 35,1286 -#define HERMES_RID_CNFMWOROBUST_AGERE 36,1328 -#define HERMES_RID_CNFDEFAULTKEY2 37,1374 -#define HERMES_RID_CNFDEFAULTKEY3 38,1416 -#define HERMES_RID_CNFWEPFLAGS_INTERSIL 39,1458 -#define HERMES_RID_CNFWEPKEYMAPPINGTABLE 40,1506 -#define HERMES_RID_CNFAUTHENTICATION 41,1554 -#define HERMES_RID_CNFMAXASSOCSTA 42,1599 -#define HERMES_RID_CNFKEYLENGTH_SYMBOL 43,1641 -#define HERMES_RID_CNFTXCONTROL 44,1688 -#define HERMES_RID_CNFROAMINGMODE 45,1729 -#define HERMES_RID_CNFHOSTAUTHENTICATION 46,1771 -#define HERMES_RID_CNFRCVCRCERROR 47,1819 -#define HERMES_RID_CNFMMLIFE 48,1861 -#define HERMES_RID_CNFALTRETRYCOUNT 49,1899 -#define HERMES_RID_CNFBEACONINT 50,1943 -#define HERMES_RID_CNFAPPCFINFO 51,1984 -#define HERMES_RID_CNFSTAPCFINFO 52,2025 -#define HERMES_RID_CNFPRIORITYQUSAGE 53,2066 -#define HERMES_RID_CNFTIMCTRL 54,2111 -#define HERMES_RID_CNFTHIRTY2TALLY 55,2150 -#define HERMES_RID_CNFENHSECURITY 56,2193 -#define HERMES_RID_CNFGROUPADDRESSES 57,2235 -#define HERMES_RID_CNFCREATEIBSS 58,2280 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD 59,2321 -#define HERMES_RID_CNFRTSTHRESHOLD 60,2373 -#define HERMES_RID_CNFTXRATECONTROL 61,2416 -#define HERMES_RID_CNFPROMISCUOUSMODE 62,2460 -#define HERMES_RID_CNFBASICRATES_SYMBOL 63,2506 -#define HERMES_RID_CNFPREAMBLE_SYMBOL 64,2554 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD0 65,2600 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD1 66,2653 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD2 67,2706 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD3 68,2759 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD4 69,2812 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD5 70,2865 -#define HERMES_RID_CNFFRAGMENTATIONTHRESHOLD6 71,2918 -#define HERMES_RID_CNFRTSTHRESHOLD0 72,2971 -#define HERMES_RID_CNFRTSTHRESHOLD1 73,3015 -#define HERMES_RID_CNFRTSTHRESHOLD2 74,3059 -#define HERMES_RID_CNFRTSTHRESHOLD3 75,3103 -#define HERMES_RID_CNFRTSTHRESHOLD4 76,3147 -#define HERMES_RID_CNFRTSTHRESHOLD5 77,3191 -#define HERMES_RID_CNFRTSTHRESHOLD6 78,3235 -#define HERMES_RID_CNFHOSTSCAN_SYMBOL 79,3279 -#define HERMES_RID_CNFSHORTPREAMBLE 80,3325 -#define HERMES_RID_CNFWEPKEYS_AGERE 81,3369 -#define HERMES_RID_CNFEXCLUDELONGPREAMBLE 82,3413 -#define HERMES_RID_CNFTXKEY_AGERE 83,3462 -#define HERMES_RID_CNFAUTHENTICATIONRSPTO 84,3504 -#define HERMES_RID_CNFSCANSSID_AGERE 85,3553 -#define HERMES_RID_CNFBASICRATES 86,3598 -#define HERMES_RID_CNFSUPPORTEDRATES 87,3639 -#define HERMES_RID_CNFTICKTIME 88,3684 -#define HERMES_RID_CNFSCANREQUEST 89,3724 -#define HERMES_RID_CNFJOINREQUEST 90,3766 -#define HERMES_RID_CNFAUTHENTICATESTATION 91,3808 -#define HERMES_RID_CNFCHANNELINFOREQUEST 92,3857 -#define HERMES_RID_CNFHOSTSCAN 93,3905 -#define HERMES_RID_MAXLOADTIME 98,3973 -#define HERMES_RID_DOWNLOADBUFFER 99,4013 -#define HERMES_RID_PRIID 100,4055 -#define HERMES_RID_PRISUPRANGE 101,4089 -#define HERMES_RID_CFIACTRANGES 102,4129 -#define HERMES_RID_NICSERNUM 103,4170 -#define HERMES_RID_NICID 104,4208 -#define HERMES_RID_MFISUPRANGE 105,4242 -#define HERMES_RID_CFISUPRANGE 106,4282 -#define HERMES_RID_CHANNELLIST 107,4322 -#define HERMES_RID_REGULATORYDOMAINS 108,4362 -#define HERMES_RID_TEMPTYPE 109,4407 -#define HERMES_RID_CIS 110,4444 -#define HERMES_RID_STAID 111,4477 -#define HERMES_RID_STASUPRANGE 112,4511 -#define HERMES_RID_MFIACTRANGES 113,4551 -#define HERMES_RID_CFIACTRANGES2 114,4592 -#define HERMES_RID_SECONDARYVERSION_SYMBOL 115,4633 -#define HERMES_RID_PORTSTATUS 116,4683 -#define HERMES_RID_CURRENTSSID 117,4722 -#define HERMES_RID_CURRENTBSSID 118,4762 -#define HERMES_RID_COMMSQUALITY 119,4803 -#define HERMES_RID_CURRENTTXRATE 120,4844 -#define HERMES_RID_CURRENTBEACONINTERVAL 121,4885 -#define HERMES_RID_CURRENTSCALETHRESHOLDS 122,4933 -#define HERMES_RID_PROTOCOLRSPTIME 123,4982 -#define HERMES_RID_SHORTRETRYLIMIT 124,5025 -#define HERMES_RID_LONGRETRYLIMIT 125,5068 -#define HERMES_RID_MAXTRANSMITLIFETIME 126,5110 -#define HERMES_RID_MAXRECEIVELIFETIME 127,5157 -#define HERMES_RID_CFPOLLABLE 128,5203 -#define HERMES_RID_AUTHENTICATIONALGORITHMS 129,5242 -#define HERMES_RID_PRIVACYOPTIONIMPLEMENTED 130,5293 -#define HERMES_RID_DBMCOMMSQUALITY_INTERSIL 131,5344 -#define HERMES_RID_CURRENTTXRATE1 132,5395 -#define HERMES_RID_CURRENTTXRATE2 133,5437 -#define HERMES_RID_CURRENTTXRATE3 134,5479 -#define HERMES_RID_CURRENTTXRATE4 135,5521 -#define HERMES_RID_CURRENTTXRATE5 136,5563 -#define HERMES_RID_CURRENTTXRATE6 137,5605 -#define HERMES_RID_OWNMACADDR 138,5647 -#define HERMES_RID_SCANRESULTSTABLE 139,5686 -#define HERMES_RID_PHYTYPE 140,5730 -#define HERMES_RID_CURRENTCHANNEL 141,5766 -#define HERMES_RID_CURRENTPOWERSTATE 142,5808 -#define HERMES_RID_CCAMODE 143,5853 -#define HERMES_RID_SUPPORTEDDATARATES 144,5889 -#define HERMES_RID_BUILDSEQ 145,5935 -#define HERMES_RID_FWID 146,5972 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/orinoco_cs.c,667 -#define DRIVER_NAME 13,525 -#define PFX 14,558 -static uint irq_mask 59,1789 -static int irq_list[61,1876 -static int ignore_cis_vcc;65,2041 -static dev_info_t dev_info 80,2507 -struct orinoco_pccard orinoco_pccard88,2818 -static dev_link_t *dev_list;103,3231 -orinoco_cs_hard_reset(126,4033 -orinoco_cs_attach(157,4926 -static void orinoco_cs_detach(225,6959 -#define CS_CHECK(CS_CHECK261,7855 -orinoco_cs_config(266,7979 -orinoco_cs_release(503,15803 -orinoco_cs_event(529,16596 -static char version[631,19333 -static char version[] __initdata 631,19333 -static struct pcmcia_driver orinoco_driver 635,19493 -init_orinoco_cs(645,19686 -exit_orinoco_cs(653,19819 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wavelan.c,3605 -static u8 wv_irq_to_psa(29,671 -static int __init wv_psa_to_irq(41,906 -static char *wv_struct_check(58,1250 -#define SC(SC60,1287 -static inline u16 hasr_read(86,2014 -static inline void hacr_write(95,2245 -static inline void hacr_write_slow(105,2541 -static inline void set_chan_attn(116,2833 -static inline void wv_hacr_reset(125,3096 -static inline void wv_16_off(135,3385 -static inline void wv_16_on(145,3653 -static inline void wv_ints_off(156,3941 -static inline void wv_ints_on(170,4318 -static void psa_read(191,4853 -static void psa_write(210,5309 -static inline u16 psa_crc(245,6223 -static void update_psa_checksum(271,6906 -static inline void mmc_out(313,8145 -static inline void mmc_write(329,8598 -static inline u8 mmc_in(343,8922 -static inline void mmc_read(364,9588 -static inline int mmc_encr(377,9869 -static inline void fee_wait(393,10293 -static void fee_read(408,10788 -static void fee_write(442,11809 -static /*inline */ void obram_read(529,14453 -static inline void obram_write(540,14741 -static void wv_ack(550,15046 -static inline int wv_synchronous_cmd(592,16029 -wv_config_complete(639,17057 -static int wv_complete(706,19129 -static inline void wv_82586_reconfig(848,22715 -static void wv_psa_show(883,23697 -static void wv_mmc_show(957,27162 -static void wv_scb_show(1050,30435 -static void wv_ru_show(1140,33743 -static void wv_cu_show_one(1157,34162 -static void wv_cu_show(1186,34819 -static void wv_dev_show(1212,35451 -static void wv_local_show(1226,35860 -static inline void wv_packet_info(1248,36529 -static inline void wv_init_info(1288,37718 -static en_stats *wavelan_get_stats(1398,40288 -static void wavelan_set_multicast_list(1415,40834 -static int wavelan_set_mac_address(1488,42703 -static inline int wv_set_frequency(1510,43290 -static inline int wv_frequency_list(1685,48334 -static inline void wl_spy_gather(1727,49656 -static inline void wl_his_gather(1753,50580 -static int wavelan_get_name(1773,51093 -static int wavelan_set_nwid(1786,51390 -static int wavelan_get_nwid(1845,53018 -static int wavelan_set_freq(1877,53904 -static int wavelan_get_freq(1907,54744 -static int wavelan_set_sens(1953,56070 -static int wavelan_get_sens(1989,57134 -static int wavelan_set_encode(2020,57973 -static int wavelan_get_encode(2090,59803 -static int wavelan_get_range(2137,61044 -static int wavelan_set_qthr(2207,63243 -static int wavelan_get_qthr(2239,64165 -static int wavelan_set_histo(2268,64944 -static int wavelan_get_histo(2311,65988 -static const iw_handler wavelan_handler[2334,66570 -static const iw_handler wavelan_private_handler[2383,68071 -static const struct iw_priv_args wavelan_private_args[2393,68352 -static const struct iw_handler_def wavelan_handler_def 2401,68806 -static iw_stats *wavelan_get_wireless_stats(2418,69458 -wv_packet_read(2495,72042 -static inline void wv_receive(2590,74712 -static inline int wv_packet_write(2773,79847 -static int wavelan_packet_xmit(2904,83408 -static inline int wv_mmc_init(2969,85133 -static inline int wv_ru_start(3141,90230 -static inline int wv_cu_start(3233,92828 -static inline int wv_82586_start(3334,95383 -static void wv_82586_config(3466,98870 -static inline void wv_82586_stop(3646,104395 -static int wv_hw_reset(3683,105540 -static int wv_check_ioaddr(3728,106611 -static irqreturn_t wavelan_interrupt(3771,107900 -static void wavelan_watchdog(3927,112262 -static int wavelan_open(4007,114216 -static int wavelan_close(4062,115498 -static int __init wavelan_config(4095,116276 -struct net_device * __init wavelan_probe(4220,119420 -int init_module(4312,121642 -void cleanup_module(4375,123100 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ipw2200/ipw2200.h,26902 -#define __ipw2200_h__28,1164 -#define WEXT_USECHANNELS 30,1187 -#define DRV_NAME 52,1639 -typedef void irqreturn_t;irqreturn_t57,1714 -#define IRQ_NONE 58,1740 -#define IRQ_HANDLED 59,1758 -#define IRQ_RETVAL(IRQ_RETVAL60,1779 -#define pci_dma_sync_single_for_cpu 64,1860 -#define pci_dma_sync_single_for_device 65,1916 -#define free_netdev(free_netdev69,2008 -#define IW_QUAL_QUAL_UPDATED 73,2070 -#define IW_QUAL_LEVEL_UPDATED 74,2105 -#define IW_QUAL_NOISE_INVALID 75,2140 -enum connection_manager_assoc_statesconnection_manager_assoc_states79,2229 - CMAS_INIT 81,2268 - CMAS_TX_AUTH_SEQ_1,82,2284 - CMAS_RX_AUTH_SEQ_2,83,2305 - CMAS_AUTH_SEQ_1_PASS,84,2326 - CMAS_AUTH_SEQ_1_FAIL,85,2349 - CMAS_TX_AUTH_SEQ_3,86,2372 - CMAS_RX_AUTH_SEQ_4,87,2393 - CMAS_AUTH_SEQ_2_PASS,88,2414 - CMAS_AUTH_SEQ_2_FAIL,89,2437 - CMAS_AUTHENTICATED,90,2460 - CMAS_TX_ASSOC,91,2481 - CMAS_RX_ASSOC_RESP,92,2497 - CMAS_ASSOCIATED,93,2518 - CMAS_LAST94,2536 -#define IPW_POWER_MODE_CAM 97,2551 -#define IPW_POWER_INDEX_1 98,2607 -#define IPW_POWER_INDEX_2 99,2649 -#define IPW_POWER_INDEX_3 100,2691 -#define IPW_POWER_INDEX_4 101,2733 -#define IPW_POWER_INDEX_5 102,2775 -#define IPW_POWER_AC 103,2817 -#define IPW_POWER_BATTERY 104,2859 -#define IPW_POWER_LIMIT 105,2901 -#define IPW_POWER_MASK 106,2943 -#define IPW_POWER_ENABLED 107,2985 -#define IPW_POWER_LEVEL(IPW_POWER_LEVEL108,3027 -#define IPW_CMD_HOST_COMPLETE 110,3088 -#define IPW_CMD_POWER_DOWN 111,3136 -#define IPW_CMD_SYSTEM_CONFIG 112,3184 -#define IPW_CMD_MULTICAST_ADDRESS 113,3232 -#define IPW_CMD_SSID 114,3280 -#define IPW_CMD_ADAPTER_ADDRESS 115,3328 -#define IPW_CMD_PORT_TYPE 116,3376 -#define IPW_CMD_RTS_THRESHOLD 117,3424 -#define IPW_CMD_FRAG_THRESHOLD 118,3472 -#define IPW_CMD_POWER_MODE 119,3520 -#define IPW_CMD_WEP_KEY 120,3568 -#define IPW_CMD_TGI_TX_KEY 121,3616 -#define IPW_CMD_SCAN_REQUEST 122,3664 -#define IPW_CMD_ASSOCIATE 123,3712 -#define IPW_CMD_SUPPORTED_RATES 124,3760 -#define IPW_CMD_SCAN_ABORT 125,3808 -#define IPW_CMD_TX_FLUSH 126,3856 -#define IPW_CMD_QOS_PARAMETERS 127,3904 -#define IPW_CMD_SCAN_REQUEST_EXT 128,3952 -#define IPW_CMD_DINO_CONFIG 129,4000 -#define IPW_CMD_RSN_CAPABILITIES 130,4048 -#define IPW_CMD_RX_KEY 131,4096 -#define IPW_CMD_CARD_DISABLE 132,4144 -#define IPW_CMD_SEED_NUMBER 133,4192 -#define IPW_CMD_TX_POWER 134,4240 -#define IPW_CMD_COUNTRY_INFO 135,4288 -#define IPW_CMD_AIRONET_INFO 136,4336 -#define IPW_CMD_AP_TX_POWER 137,4384 -#define IPW_CMD_CCKM_INFO 138,4432 -#define IPW_CMD_CCX_VER_INFO 139,4480 -#define IPW_CMD_SET_CALIBRATION 140,4528 -#define IPW_CMD_SENSITIVITY_CALIB 141,4576 -#define IPW_CMD_RETRY_LIMIT 142,4624 -#define IPW_CMD_IPW_PRE_POWER_DOWN 143,4672 -#define IPW_CMD_VAP_BEACON_TEMPLATE 144,4720 -#define IPW_CMD_VAP_DTIM_PERIOD 145,4768 -#define IPW_CMD_EXT_SUPPORTED_RATES 146,4816 -#define IPW_CMD_VAP_LOCAL_TX_PWR_CONSTRAINT 147,4864 -#define IPW_CMD_VAP_QUIET_INTERVALS 148,4912 -#define IPW_CMD_VAP_CHANNEL_SWITCH 149,4960 -#define IPW_CMD_VAP_MANDATORY_CHANNELS 150,5008 -#define IPW_CMD_VAP_CELL_PWR_LIMIT 151,5056 -#define IPW_CMD_VAP_CF_PARAM_SET 152,5104 -#define IPW_CMD_VAP_SET_BEACONING_STATE 153,5152 -#define IPW_CMD_MEASUREMENT 154,5200 -#define IPW_CMD_POWER_CAPABILITY 155,5248 -#define IPW_CMD_SUPPORTED_CHANNELS 156,5296 -#define IPW_CMD_TPC_REPORT 157,5344 -#define IPW_CMD_WME_INFO 158,5392 -#define IPW_CMD_PRODUCTION_COMMAND 159,5440 -#define IPW_CMD_LINKSYS_EOU_INFO 160,5483 -#define RFD_SIZE 162,5532 -#define NUM_TFD_CHUNKS 163,5580 -#define TX_QUEUE_SIZE 165,5629 -#define RX_QUEUE_SIZE 166,5677 -#define DINO_CMD_WEP_KEY 168,5726 -#define DINO_CMD_TX 169,5774 -#define DCT_ANTENNA_A 170,5822 -#define DCT_ANTENNA_B 171,5870 -#define DCT_FLAG_ABORT_MGMT 177,5999 -#define DCT_FLAG_CTS_REQUIRED 180,6068 -#define DCT_FLAG_SHORT_PREMBL 183,6142 -#define DCT_FLAG_RTS_REQD 186,6213 -#define DCT_FLAG_DUR_SET 189,6298 -#define DCT_FLAG_NO_WEP 192,6394 -#define IPW_193,6436 -#define DCT_FLAG_TSF_REQD 195,6475 -#define DCT_FLAG_ACK_REQD 198,6559 -#define DCT_FLAG_EXT_MODE_CCK 200,6610 -#define DCT_FLAG_EXT_MODE_OFDM 201,6646 -#define TX_RX_TYPE_MASK 204,6684 -#define TX_FRAME_TYPE 205,6732 -#define TX_HOST_COMMAND_TYPE 206,6780 -#define RX_FRAME_TYPE 207,6828 -#define RX_HOST_NOTIFICATION_TYPE 208,6876 -#define RX_HOST_CMD_RESPONSE_TYPE 209,6924 -#define RX_TX_FRAME_RESPONSE_TYPE 210,6972 -#define TFD_NEED_IRQ_MASK 211,7020 -#define HOST_CMD_DINO_CONFIG 213,7069 -#define HOST_NOTIFICATION_STATUS_ASSOCIATED 215,7116 -#define HOST_NOTIFICATION_STATUS_AUTHENTICATE 216,7171 -#define HOST_NOTIFICATION_STATUS_SCAN_CHANNEL_RESULT 217,7230 -#define HOST_NOTIFICATION_STATUS_SCAN_COMPLETED 218,7289 -#define HOST_NOTIFICATION_STATUS_FRAG_LENGTH 219,7348 -#define HOST_NOTIFICATION_STATUS_LINK_DETERIORATION 220,7407 -#define HOST_NOTIFICATION_DINO_CONFIG_RESPONSE 221,7466 -#define HOST_NOTIFICATION_STATUS_BEACON_STATE 222,7525 -#define HOST_NOTIFICATION_STATUS_TGI_TX_KEY 223,7584 -#define HOST_NOTIFICATION_TX_STATUS 224,7643 -#define HOST_NOTIFICATION_CALIB_KEEP_RESULTS 225,7702 -#define HOST_NOTIFICATION_MEASUREMENT_STARTED 226,7761 -#define HOST_NOTIFICATION_MEASUREMENT_ENDED 227,7820 -#define HOST_NOTIFICATION_CHANNEL_SWITCHED 228,7879 -#define HOST_NOTIFICATION_RX_DURING_QUIET_PERIOD 229,7938 -#define HOST_NOTIFICATION_NOISE_STATS 230,7997 -#define HOST_NOTIFICATION_S36_MEASUREMENT_ACCEPTED 231,8040 -#define HOST_NOTIFICATION_S36_MEASUREMENT_REFUSED 232,8100 -#define HOST_NOTIFICATION_STATUS_BEACON_MISSING 234,8160 -#define IPW_MB_DISASSOCIATE_THRESHOLD_DEFAULT 235,8218 -#define IPW_MB_ROAMING_THRESHOLD_DEFAULT 236,8277 -#define IPW_REAL_RATE_RX_PACKET_THRESHOLD 237,8335 -#define MACADRR_BYTE_LEN 239,8400 -#define DCR_TYPE_AP 241,8448 -#define DCR_TYPE_WLAP 242,8495 -#define DCR_TYPE_MU_ESS 243,8542 -#define DCR_TYPE_MU_IBSS 244,8589 -#define DCR_TYPE_MU_PIBSS 245,8636 -#define DCR_TYPE_SNIFFER 246,8683 -#define DCR_TYPE_MU_BSS 247,8730 -struct clx2_queue clx2_queue254,8862 -struct machdr32machdr32265,9526 -struct machdr30machdr30278,9816 -struct machdr26machdr26290,10091 -struct machdr24machdr24302,10350 -struct tx_tfd_32tx_tfd_32314,10628 -struct tx_tfd_30tx_tfd_30321,10821 -struct tx_tfd_26tx_tfd_26329,11064 -struct tx_tfd_24tx_tfd_24338,11360 -#define DCT_WEP_KEY_FIELD_LENGTH 346,11570 -struct tfd_commandtfd_command348,11607 -struct tfd_data tfd_data356,11712 -struct txrx_control_flagstxrx_control_flags396,12436 -#define TFD_SIZE 404,12559 -#define TFD_CMD_IMMEDIATE_PAYLOAD_LENGTH 405,12607 -struct tfd_frametfd_frame407,12699 -typedef void destructor_func(destructor_func417,12899 -struct clx2_tx_queue clx2_tx_queue423,13050 -#define RX_FREE_BUFFERS 432,13197 -#define RX_LOW_WATERMARK 433,13224 -#define SUP_RATE_11B_MAX_NUM_CHANNELS 435,13252 -#define SUP_RATE_11G_MAX_NUM_CHANNELS 436,13295 -struct rate_histogramrate_histogram439,13412 -struct ipw_cmd_stats ipw_cmd_stats452,13701 -struct notif_channel_result notif_channel_result478,14385 -struct notif_scan_complete notif_scan_complete484,14505 -struct notif_frag_length notif_frag_length491,14623 -struct notif_beacon_state notif_beacon_state496,14713 -struct notif_tgi_tx_key notif_tgi_tx_key501,14795 -struct notif_link_deterioration notif_link_deterioration508,14917 -struct notif_association notif_association517,15100 -struct notif_authenticate notif_authenticate521,15167 -struct temperaturetemperature527,15271 -struct notif_calibration notif_calibration533,15349 -struct ipw_rx_notification ipw_rx_notification537,15420 -struct ipw_rx_frame ipw_rx_frame556,15927 -struct ipw_rx_header ipw_rx_header579,16684 -struct ipw_rx_packetipw_rx_packet586,16802 -#define IPW_RX_NOTIFICATION_SIZE 595,16971 -#define IPW_RX_FRAME_SIZE 596,17038 -struct ipw_rx_mem_buffer ipw_rx_mem_buffer599,17166 -struct ipw_rx_queue ipw_rx_queue606,17362 -struct alive_command_responce alive_command_responce618,17992 -#define IPW_MAX_RATES 633,18331 -struct ipw_rates ipw_rates635,18357 -struct command_blockcommand_block640,18446 -#define CB_NUMBER_OF_ELEMENTS_SMALL 648,18581 -struct fw_image_descfw_image_desc649,18620 -struct ipw_sys_configipw_sys_config659,18829 -struct ipw_multicast_addripw_multicast_addr683,19416 -struct ipw_wep_keyipw_wep_key693,19574 -struct ipw_tgi_tx_keyipw_tgi_tx_key702,19691 -#define IPW_SCAN_CHANNELS 712,19841 -struct ipw_scan_request ipw_scan_request714,19871 - IPW_SCAN_PASSIVE_TILL_FIRST_BEACON_SCAN 723,20030 - IPW_SCAN_PASSIVE_FULL_DWELL_SCAN,724,20076 - IPW_SCAN_ACTIVE_DIRECT_SCAN,725,20111 - IPW_SCAN_ACTIVE_BROADCAST_SCAN,726,20141 - IPW_SCAN_ACTIVE_BROADCAST_AND_DIRECT_SCAN,727,20174 - IPW_SCAN_TYPES728,20218 -struct ipw_scan_request_extipw_scan_request_ext731,20238 -extern inline u8 ipw_get_scan_type(740,20442 -extern inline void ipw_set_scan_type(748,20645 -struct ipw_associateipw_associate761,20980 -struct ipw_supported_ratesipw_supported_rates784,21365 -struct ipw_rts_thresholdipw_rts_threshold793,21516 -struct ipw_frag_thresholdipw_frag_threshold799,21607 -struct ipw_retry_limitipw_retry_limit805,21700 -struct ipw_dino_configipw_dino_config812,21814 -struct ipw_aironet_infoipw_aironet_info820,21947 -struct ipw_rx_keyipw_rx_key827,22037 -struct ipw_country_channel_infoipw_country_channel_info839,22211 -struct ipw_country_infoipw_country_info846,22328 -struct ipw_channel_tx_poweripw_channel_tx_power854,22467 -#define SCAN_INTERVAL 860,22560 -#define MAX_A_CHANNELS 861,22592 -#define MAX_B_CHANNELS 862,22619 -struct ipw_tx_poweripw_tx_power864,22647 -struct ipw_qos_parametersipw_qos_parameters871,22795 -struct ipw_rsn_capabilitiesipw_rsn_capabilities880,22931 -struct ipw_sensitivity_calibipw_sensitivity_calib887,23024 -struct ipw_cmd ipw_cmd906,23365 -#define STATUS_FW_DOWNLOAD 921,23849 -#define STATUS_HCMD_ACTIVE 922,23921 -#define STATUS_HCMD_DONE 923,23994 -#define STATUS_HCMD_TIMEOUT 924,24070 -#define STATUS_FW_READY 925,24141 -#define STATUS_HOST_COMPLETE 926,24222 -#define STATUS_WEP 927,24301 -#define STATUS_ERROR 928,24357 -#define STATUS_SNIF_DINO 929,24434 -#define STATUS_INT_ENABLED 931,24511 -#define STATUS_RF_KILL_HW 932,24551 -#define STATUS_RF_KILL_SW 933,24591 -#define STATUS_RF_KILL_MASK 934,24631 -#define STATUS_EXIT_PENDING 935,24703 -#define STATUS_SCAN_PENDING 937,24744 -#define STATUS_SCANNING 938,24784 -#define STATUS_SCAN_ABORTING 939,24825 -#define STATUS_AUTH 940,24866 -#define STATUS_ASSOCIATING 941,24928 -#define STATUS_ASSOCIATED 942,24968 -#define STATUS_DISASSOCIATING 943,25027 -#define STATUS_INDIRECT_BYTE 945,25068 -#define STATUS_INDIRECT_DWORD 946,25148 -#define STATUS_DIRECT_DWORD 947,25228 -#define STATUS_SECURITY_UPDATED 949,25309 -#define CFG_STATIC_CHANNEL 951,25377 -#define CFG_STATIC_ESSID 952,25456 -#define CFG_STATIC_BSSID 953,25532 -#define CFG_CUSTOM_MAC 954,25609 -#define CFG_PREAMBLE 955,25648 -#define CFG_ASSOCIATE 957,25702 -#define CFG_FIXED_RATE 958,25741 -#define CFG_ADHOC_CREATE 959,25780 -#define CAP_SHARED_KEY 961,25820 -#define CAP_PRIVACY_ON 962,25876 -#define MAX_STATIONS 964,25939 -#define IPW_INVALID_STATION 965,25974 -struct ipw_station_entry ipw_station_entry967,26014 -struct ipw_priv ipw_priv973,26101 -#define IPW_2200BG 1075,28774 -#define IPW_2915ABG 1076,28796 -#define IPW_DEFAULT_TX_POWER 1079,28832 -#define IPW_DEBUG(IPW_DEBUG1101,29175 -#define IPW_DEBUG(IPW_DEBUG1106,29379 -#define IPW_DL_ERROR 1135,30295 -#define IPW_DL_WARNING 1136,30331 -#define IPW_DL_INFO 1137,30367 -#define IPW_DL_WX 1138,30403 -#define IPW_DL_HOST_COMMAND 1139,30439 -#define IPW_DL_STATE 1140,30475 -#define IPW_DL_NOTIF 1142,30512 -#define IPW_DL_SCAN 1143,30549 -#define IPW_DL_ASSOC 1144,30586 -#define IPW_DL_DROP 1145,30623 -#define IPW_DL_IOCTL 1146,30660 -#define IPW_DL_MANAGE 1148,30698 -#define IPW_DL_FW 1149,30735 -#define IPW_DL_RF_KILL 1150,30772 -#define IPW_DL_ORD 1153,30811 -#define IPW_DL_FRAG 1155,30849 -#define IPW_DL_WEP 1156,30886 -#define IPW_DL_TX 1157,30923 -#define IPW_DL_RX 1158,30960 -#define IPW_DL_ISR 1159,30997 -#define IPW_DL_FW_INFO 1160,31034 -#define IPW_DL_IO 1161,31071 -#define IPW_DL_TRACE 1162,31108 -#define IPW_ERROR(IPW_ERROR1165,31147 -#define IPW_WARNING(IPW_WARNING1166,31213 -#define IPW_DEBUG_INFO(IPW_DEBUG_INFO1167,31285 -#define IPW_DEBUG_WX(IPW_DEBUG_WX1169,31353 -#define IPW_DEBUG_SCAN(IPW_DEBUG_SCAN1170,31417 -#define IPW_DEBUG_STATUS(IPW_DEBUG_STATUS1171,31483 -#define IPW_DEBUG_TRACE(IPW_DEBUG_TRACE1172,31551 -#define IPW_DEBUG_RX(IPW_DEBUG_RX1173,31618 -#define IPW_DEBUG_TX(IPW_DEBUG_TX1174,31682 -#define IPW_DEBUG_ISR(IPW_DEBUG_ISR1175,31746 -#define IPW_DEBUG_MANAGEMENT(IPW_DEBUG_MANAGEMENT1176,31811 -#define IPW_DEBUG_WEP(IPW_DEBUG_WEP1177,31883 -#define IPW_DEBUG_HC(IPW_DEBUG_HC1178,31948 -#define IPW_DEBUG_FRAG(IPW_DEBUG_FRAG1179,32018 -#define IPW_DEBUG_FW(IPW_DEBUG_FW1180,32082 -#define IPW_DEBUG_RF_KILL(IPW_DEBUG_RF_KILL1181,32142 -#define IPW_DEBUG_DROP(IPW_DEBUG_DROP1182,32212 -#define IPW_DEBUG_IO(IPW_DEBUG_IO1183,32276 -#define IPW_DEBUG_ORD(IPW_DEBUG_ORD1184,32336 -#define IPW_DEBUG_FW_INFO(IPW_DEBUG_FW_INFO1185,32398 -#define IPW_DEBUG_NOTIF(IPW_DEBUG_NOTIF1186,32468 -#define IPW_DEBUG_STATE(IPW_DEBUG_STATE1187,32534 -#define IPW_DEBUG_ASSOC(IPW_DEBUG_ASSOC1188,32629 -#define DINO_ENABLE_SYSTEM 1197,32804 -#define DINO_ENABLE_CS 1198,32836 -#define DINO_RXFIFO_DATA 1199,32868 -#define DINO_CONTROL_REG 1200,32901 -#define CX2_INTA_RW 1202,32940 -#define CX2_INTA_MASK_R 1203,32977 -#define CX2_INDIRECT_ADDR 1204,33014 -#define CX2_INDIRECT_DATA 1205,33051 -#define CX2_AUTOINC_ADDR 1206,33088 -#define CX2_AUTOINC_DATA 1207,33125 -#define CX2_RESET_REG 1208,33162 -#define CX2_GP_CNTRL_RW 1209,33199 -#define CX2_READ_INT_REGISTER 1211,33237 -#define CX2_GP_CNTRL_BIT_INIT_DONE 1213,33274 -#define CX2_REGISTER_DOMAIN1_END 1215,33321 -#define CX2_SRAM_READ_INT_REGISTER 1216,33372 -#define CX2_SHARED_LOWER_BOUND 1218,33420 -#define CX2_INTERRUPT_AREA_LOWER_BOUND 1219,33471 -#define CX2_NIC_SRAM_LOWER_BOUND 1221,33523 -#define CX2_NIC_SRAM_UPPER_BOUND 1222,33574 -#define CX2_BIT_INT_HOST_SRAM_READ_INT_REGISTER 1224,33626 -#define CX2_GP_CNTRL_BIT_CLOCK_READY 1225,33684 -#define CX2_GP_CNTRL_BIT_HOST_ALLOWS_STANDBY 1226,33735 -#define CBD_RESET_REG_PRINCETON_RESET 1231,33829 -#define CX2_RESET_REG_SW_RESET 1232,33897 -#define CX2_RESET_REG_MASTER_DISABLED 1233,33965 -#define CX2_RESET_REG_STOP_MASTER 1234,34033 -#define CX2_ARC_KESHET_CONFIG 1235,34101 -#define CX2_START_STANDBY 1236,34169 -#define CX2_CSR_CIS_UPPER_BOUND 1238,34238 -#define CX2_DOMAIN_0_END 1239,34281 -#define CLX_MEM_BAR_SIZE 1240,34313 -#define CX2_BASEBAND_CONTROL_STATUS 1242,34346 -#define CX2_BASEBAND_TX_FIFO_WRITE 1243,34393 -#define CX2_BASEBAND_RX_FIFO_READ 1244,34439 -#define CX2_BASEBAND_CONTROL_STORE 1245,34484 -#define CX2_INTERNAL_CMD_EVENT 1247,34531 -#define CX2_BASEBAND_POWER_DOWN 1248,34574 -#define CX2_MEM_HALT_AND_RESET 1250,34618 -#define CX2_BIT_HALT_RESET_ON 1253,34726 -#define CX2_BIT_HALT_RESET_OFF 1254,34767 -#define CB_LAST_VALID 1256,34811 -#define CB_INT_ENABLED 1257,34848 -#define CB_VALID 1258,34885 -#define CB_SRC_LE 1259,34922 -#define CB_DEST_LE 1260,34959 -#define CB_SRC_AUTOINC 1261,34996 -#define CB_SRC_IO_GATED 1262,35033 -#define CB_DEST_AUTOINC 1263,35070 -#define CB_SRC_SIZE_LONG 1264,35107 -#define CB_DEST_SIZE_LONG 1265,35144 -#define DMA_CONTROL_SMALL_CB_CONST_VALUE 1270,35202 -#define DMA_CB_STOP_AND_ABORT 1271,35254 -#define DMA_CB_START 1272,35306 -#define CX2_SHARED_SRAM_SIZE 1275,35361 -#define CX2_SHARED_SRAM_DMA_CONTROL 1276,35415 -#define CB_MAX_LENGTH 1277,35469 -#define CX2_HOST_EEPROM_DATA_SRAM_SIZE 1279,35520 -#define CX2_EEPROM_IMAGE_SIZE 1280,35565 -#define CX2_DMA_I_CURRENT_CB 1284,35627 -#define CX2_DMA_O_CURRENT_CB 1285,35668 -#define CX2_DMA_I_DMA_CONTROL 1286,35709 -#define CX2_DMA_I_CB_BASE 1287,35750 -#define CX2_TX_CMD_QUEUE_BD_BASE 1289,35792 -#define CX2_TX_CMD_QUEUE_BD_SIZE 1290,35845 -#define CX2_TX_QUEUE_0_BD_BASE 1291,35898 -#define CX2_TX_QUEUE_0_BD_SIZE 1292,35951 -#define CX2_TX_QUEUE_1_BD_BASE 1293,36004 -#define CX2_TX_QUEUE_1_BD_SIZE 1294,36057 -#define CX2_TX_QUEUE_2_BD_BASE 1295,36110 -#define CX2_TX_QUEUE_2_BD_SIZE 1296,36163 -#define CX2_TX_QUEUE_3_BD_BASE 1297,36216 -#define CX2_TX_QUEUE_3_BD_SIZE 1298,36269 -#define CX2_RX_BD_BASE 1299,36322 -#define CX2_RX_BD_SIZE 1300,36375 -#define CX2_RFDS_TABLE_LOWER 1301,36428 -#define CX2_TX_CMD_QUEUE_READ_INDEX 1303,36482 -#define CX2_TX_QUEUE_0_READ_INDEX 1304,36535 -#define CX2_TX_QUEUE_1_READ_INDEX 1305,36588 -#define CX2_TX_QUEUE_2_READ_INDEX 1306,36641 -#define CX2_TX_QUEUE_3_READ_INDEX 1307,36694 -#define CX2_RX_READ_INDEX 1308,36747 -#define CX2_TX_CMD_QUEUE_WRITE_INDEX 1310,36801 -#define CX2_TX_QUEUE_0_WRITE_INDEX 1311,36854 -#define CX2_TX_QUEUE_1_WRITE_INDEX 1312,36907 -#define CX2_TX_QUEUE_2_WRITE_INDEX 1313,36960 -#define CX2_TX_QUEUE_3_WRITE_INDEX 1314,37013 -#define CX2_RX_WRITE_INDEX 1315,37066 -#define IPW_EEPROM_DATA_SRAM_ADDRESS 1321,37158 -#define IPW_EEPROM_DATA_SRAM_SIZE 1322,37228 -#define IPW_EEPROM_LOAD_DISABLE 1323,37298 -#define IPW_EEPROM_DATA 1324,37368 -#define IPW_EEPROM_UPPER_ADDRESS 1325,37438 -#define IPW_STATION_TABLE_LOWER 1327,37509 -#define IPW_STATION_TABLE_UPPER 1328,37579 -#define IPW_REQUEST_ATIM 1329,37649 -#define IPW_ATIM_SENT 1330,37719 -#define IPW_WHO_IS_AWAKE 1331,37789 -#define IPW_DURING_ATIM_WINDOW 1332,37859 -#define MSB 1335,37931 -#define LSB 1336,37973 -#define WORD_TO_BYTE(WORD_TO_BYTE1337,38015 -#define GET_EEPROM_ADDR(GET_EEPROM_ADDR1339,38080 -#define EEPROM_PME_CAPABILITY 1343,38210 -#define EEPROM_MAC_ADDRESS 1344,38289 -#define EEPROM_VERSION 1345,38368 -#define EEPROM_NIC_TYPE 1346,38447 -#define EEPROM_SKU_CAPABILITY 1347,38526 -#define EEPROM_COUNTRY_CODE 1348,38605 -#define EEPROM_IBSS_CHANNELS_BG 1349,38684 -#define EEPROM_IBSS_CHANNELS_A 1350,38763 -#define EEPROM_BSS_CHANNELS_BG 1351,38842 -#define EEPROM_HW_VERSION 1352,38921 -#define EEPROM_NIC_TYPE_STANDARD 1355,39064 -#define EEPROM_NIC_TYPE_DELL 1356,39106 -#define EEPROM_NIC_TYPE_FUJITSU 1357,39148 -#define EEPROM_NIC_TYPE_IBM 1358,39190 -#define EEPROM_NIC_TYPE_HP 1359,39232 -#define FW_MEM_REG_LOWER_BOUND 1361,39275 -#define FW_MEM_REG_EEPROM_ACCESS 1362,39326 -#define EEPROM_BIT_SK 1364,39407 -#define EEPROM_BIT_CS 1365,39456 -#define EEPROM_BIT_DI 1366,39505 -#define EEPROM_BIT_DO 1367,39554 -#define EEPROM_CMD_READ 1369,39604 -#define __BIT(__BIT1372,39702 -#define CX2_INTA_NONE 1375,39771 -#define CX2_INTA_BIT_RX_TRANSFER 1377,39807 -#define CX2_INTA_BIT_STATUS_CHANGE 1378,39869 -#define CX2_INTA_BIT_BEACON_PERIOD_EXPIRED 1379,39931 -#define CX2_INTA_BIT_TX_CMD_QUEUE 1382,40013 -#define CX2_INTA_BIT_TX_QUEUE_1 1383,40075 -#define CX2_INTA_BIT_TX_QUEUE_2 1384,40137 -#define CX2_INTA_BIT_TX_QUEUE_3 1385,40199 -#define CX2_INTA_BIT_TX_QUEUE_4 1386,40261 -#define CX2_INTA_BIT_SLAVE_MODE_HOST_CMD_DONE 1388,40324 -#define CX2_INTA_BIT_PREPARE_FOR_POWER_DOWN 1390,40387 -#define CX2_INTA_BIT_POWER_DOWN 1391,40449 -#define CX2_INTA_BIT_FW_INITIALIZATION_DONE 1393,40512 -#define CX2_INTA_BIT_FW_CARD_DISABLE_PHY_OFF_DONE 1394,40574 -#define CX2_INTA_BIT_RF_KILL_DONE 1395,40636 -#define CX2_INTA_BIT_FATAL_ERROR 1396,40698 -#define CX2_INTA_BIT_PARITY_ERROR 1397,40754 -#define CX2_INTA_MASK_ALL 1400,40850 -#define IPWSTATUS_ERROR_LOG 1417,41562 -#define IPW_EVENT_LOG 1418,41627 -#define EVENT_ELEM_SIZE 1421,41718 -#define EVENT_START_OFFSET 1422,41764 -#define ERROR_ELEM_SIZE 1425,41860 -#define ERROR_START_OFFSET 1426,41906 - IPW_FW_ERROR_OK 1429,41960 - IPW_FW_ERROR_FAIL,1430,41982 - IPW_FW_ERROR_MEMORY_UNDERFLOW,1431,42002 - IPW_FW_ERROR_MEMORY_OVERFLOW,1432,42034 - IPW_FW_ERROR_BAD_PARAM,1433,42065 - IPW_FW_ERROR_BAD_CHECKSUM,1434,42090 - IPW_FW_ERROR_NMI_INTERRUPT,1435,42118 - IPW_FW_ERROR_BAD_DATABASE,1436,42147 - IPW_FW_ERROR_ALLOC_FAIL,1437,42175 - IPW_FW_ERROR_DMA_UNDERRUN,1438,42201 - IPW_FW_ERROR_DMA_STATUS,1439,42229 - IPW_FW_ERROR_DINOSTATUS_ERROR,1440,42255 - IPW_FW_ERROR_EEPROMSTATUS_ERROR,1441,42287 - IPW_FW_ERROR_SYSASSERT,1442,42321 - IPW_FW_ERROR_FATAL_ERROR1443,42346 -#define AUTH_OPEN 1446,42376 -#define AUTH_SHARED_KEY 1447,42402 -#define AUTH_IGNORE 1448,42428 -#define HC_ASSOCIATE 1450,42455 -#define HC_REASSOCIATE 1451,42483 -#define HC_DISASSOCIATE 1452,42511 -#define HC_IBSS_START 1453,42539 -#define HC_IBSS_RECONF 1454,42567 -#define HC_DISASSOC_QUIET 1455,42595 -#define IPW_RATE_CAPABILITIES 1457,42624 -#define IPW_RATE_CONNECT 1458,42656 -#define IPW_TX_RATE_1MB 1464,42724 -#define IPW_TX_RATE_2MB 1465,42754 -#define IPW_TX_RATE_5MB 1466,42784 -#define IPW_TX_RATE_6MB 1467,42814 -#define IPW_TX_RATE_9MB 1468,42844 -#define IPW_TX_RATE_11MB 1469,42874 -#define IPW_TX_RATE_12MB 1470,42905 -#define IPW_TX_RATE_18MB 1471,42935 -#define IPW_TX_RATE_24MB 1472,42965 -#define IPW_TX_RATE_36MB 1473,42995 -#define IPW_TX_RATE_48MB 1474,43025 -#define IPW_TX_RATE_54MB 1475,43055 -#define IPW_ORD_TABLE_ID_MASK 1477,43086 -#define IPW_ORD_TABLE_VALUE_MASK 1478,43139 -#define IPW_ORD_TABLE_0_MASK 1480,43193 -#define IPW_ORD_TABLE_1_MASK 1481,43248 -#define IPW_ORD_TABLE_2_MASK 1482,43303 -#define IPW_ORD_TABLE_3_MASK 1483,43358 -#define IPW_ORD_TABLE_4_MASK 1484,43413 -#define IPW_ORD_TABLE_5_MASK 1485,43468 -#define IPW_ORD_TABLE_6_MASK 1486,43523 -#define IPW_ORD_TABLE_7_MASK 1487,43578 - IPW_ORD_STAT_TX_CURR_RATE 1493,43704 - IPW_ORD_STAT_TX_CURR_RATE = IPW_ORD_TABLE_0_MASK 1493,43704 - IPW_ORD_STAT_FRAG_TRESHOLD,1494,43759 - IPW_ORD_STAT_RTS_THRESHOLD,1495,43788 - IPW_ORD_STAT_TX_HOST_REQUESTS,1496,43817 - IPW_ORD_STAT_TX_HOST_COMPLETE,1497,43863 - IPW_ORD_STAT_TX_DIR_DATA,1498,43909 - IPW_ORD_STAT_TX_DIR_DATA_B_1,1499,43954 - IPW_ORD_STAT_TX_DIR_DATA_B_2,1500,43985 - IPW_ORD_STAT_TX_DIR_DATA_B_5_5,1501,44016 - IPW_ORD_STAT_TX_DIR_DATA_B_11,1502,44049 - IPW_ORD_STAT_TX_DIR_DATA_G_1 1511,44100 - IPW_ORD_STAT_TX_DIR_DATA_G_1 = IPW_ORD_TABLE_0_MASK 1511,44100 - IPW_ORD_STAT_TX_DIR_DATA_G_2,1512,44159 - IPW_ORD_STAT_TX_DIR_DATA_G_5_5,1513,44190 - IPW_ORD_STAT_TX_DIR_DATA_G_6,1514,44223 - IPW_ORD_STAT_TX_DIR_DATA_G_9,1515,44254 - IPW_ORD_STAT_TX_DIR_DATA_G_11,1516,44285 - IPW_ORD_STAT_TX_DIR_DATA_G_12,1517,44325 - IPW_ORD_STAT_TX_DIR_DATA_G_18,1518,44357 - IPW_ORD_STAT_TX_DIR_DATA_G_24,1519,44389 - IPW_ORD_STAT_TX_DIR_DATA_G_36,1520,44421 - IPW_ORD_STAT_TX_DIR_DATA_G_48,1521,44453 - IPW_ORD_STAT_TX_DIR_DATA_G_54,1522,44485 - IPW_ORD_STAT_TX_NON_DIR_DATA,1523,44517 - IPW_ORD_STAT_TX_NON_DIR_DATA_B_1,1524,44549 - IPW_ORD_STAT_TX_NON_DIR_DATA_B_2,1525,44584 - IPW_ORD_STAT_TX_NON_DIR_DATA_B_5_5,1526,44619 - IPW_ORD_STAT_TX_NON_DIR_DATA_B_11,1527,44656 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_1 1536,44713 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_1 = IPW_ORD_TABLE_0_MASK 1536,44713 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_2,1537,44776 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_5_5,1538,44811 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_6,1539,44848 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_9,1540,44883 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_11,1541,44918 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_12,1542,44962 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_18,1543,44998 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_24,1544,45034 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_36,1545,45070 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_48,1546,45106 - IPW_ORD_STAT_TX_NON_DIR_DATA_G_54,1547,45142 - IPW_ORD_STAT_TX_RETRY,1548,45178 - IPW_ORD_STAT_TX_FAILURE,1549,45202 - IPW_ORD_STAT_RX_ERR_CRC,1550,45228 - IPW_ORD_STAT_RX_ERR_ICV,1551,45254 - IPW_ORD_STAT_RX_NO_BUFFER,1552,45280 - IPW_ORD_STAT_FULL_SCANS,1553,45308 - IPW_ORD_STAT_PARTIAL_SCANS,1554,45334 - IPW_ORD_STAT_TGH_ABORTED_SCANS,1555,45363 - IPW_ORD_STAT_TX_TOTAL_BYTES,1556,45396 - IPW_ORD_STAT_CURR_RSSI_RAW,1557,45430 - IPW_ORD_STAT_RX_BEACON,1558,45459 - IPW_ORD_STAT_MISSED_BEACONS,1559,45484 - IPW_ORD_TABLE_0_LAST 1560,45514 -#define IPW_RSSI_TO_DBM 1563,45565 - IPW_ORD_TABLE_1_LAST 1568,45624 - IPW_ORD_TABLE_1_LAST = IPW_ORD_TABLE_1_MASK 1568,45624 - IPW_ORD_STAT_FW_VERSION 1582,45954 - IPW_ORD_STAT_FW_VERSION = IPW_ORD_TABLE_2_MASK 1582,45954 - IPW_ORD_STAT_FW_DATE,1583,46007 - IPW_ORD_STAT_UCODE_VERSION,1584,46033 - IPW_ORD_STAT_UCODE_DATE,1585,46062 - IPW_ORD_STAT_ADAPTER_MAC,1586,46109 - IPW_ORD_STAT_RTC,1587,46156 - IPW_ORD_TABLE_2_LAST 1588,46180 - IPW_ORD_STAT_TX_PACKET 1593,46270 - IPW_ORD_STAT_TX_PACKET = IPW_ORD_TABLE_3_MASK 1593,46270 - IPW_ORD_STAT_TX_PACKET_FAILURE,1594,46322 - IPW_ORD_STAT_TX_PACKET_SUCCESS,1595,46355 - IPW_ORD_STAT_TX_PACKET_ABORTED,1596,46388 - IPW_ORD_TABLE_3_LAST1597,46421 - IPW_ORD_TABLE_4_LAST 1602,46468 - IPW_ORD_TABLE_4_LAST = IPW_ORD_TABLE_4_MASK1602,46468 - IPW_ORD_STAT_AVAILABLE_AP_COUNT 1607,46538 - IPW_ORD_STAT_AVAILABLE_AP_COUNT = IPW_ORD_TABLE_5_MASK,1607,46538 - IPW_ORD_STAT_AP_ASSNS,1608,46595 - IPW_ORD_STAT_ROAM,1609,46619 - IPW_ORD_STAT_ROAM_CAUSE_MISSED_BEACONS,1610,46639 - IPW_ORD_STAT_ROAM_CAUSE_UNASSOC,1611,46680 - IPW_ORD_STAT_ROAM_CAUSE_RSSI,1612,46714 - IPW_ORD_STAT_ROAM_CAUSE_LINK_QUALITY,1613,46745 - IPW_ORD_STAT_ROAM_CAUSE_AP_LOAD_BALANCE,1614,46784 - IPW_ORD_STAT_ROAM_CAUSE_AP_NO_TX,1615,46826 - IPW_ORD_STAT_LINK_UP,1616,46861 - IPW_ORD_STAT_LINK_DOWN,1617,46884 - IPW_ORD_ANTENNA_DIVERSITY,1618,46909 - IPW_ORD_CURR_FREQ,1619,46937 - IPW_ORD_TABLE_5_LAST1620,46957 - IPW_ORD_COUNTRY_CODE 1625,47004 - IPW_ORD_COUNTRY_CODE = IPW_ORD_TABLE_6_MASK,1625,47004 - IPW_ORD_CURR_BSSID,1626,47050 - IPW_ORD_CURR_SSID,1627,47071 - IPW_ORD_TABLE_6_LAST1628,47091 - IPW_ORD_STAT_PERCENT_MISSED_BEACONS 1633,47138 - IPW_ORD_STAT_PERCENT_MISSED_BEACONS = IPW_ORD_TABLE_7_MASK,1633,47138 - IPW_ORD_STAT_PERCENT_TX_RETRIES,1634,47199 - IPW_ORD_STAT_PERCENT_LINK_QUALITY,1635,47233 - IPW_ORD_STAT_CURR_RSSI_DBM,1636,47269 - IPW_ORD_TABLE_7_LAST1637,47298 -#define IPW_ORDINALS_TABLE_LOWER 1640,47324 -#define IPW_ORDINALS_TABLE_0 1641,47397 -#define IPW_ORDINALS_TABLE_1 1642,47470 -#define IPW_ORDINALS_TABLE_2 1643,47543 -#define IPW_MEM_FIXED_OVERRIDE 1644,47616 -struct ipw_fixed_rate ipw_fixed_rate1646,47690 -#define CX2_INDIRECT_ADDR_MASK 1651,47773 -struct host_cmd host_cmd1653,47814 -#define CFG_BT_COEXISTENCE_MIN 1660,47940 -#define CFG_BT_COEXISTENCE_DEFER 1661,47993 -#define CFG_BT_COEXISTENCE_KILL 1662,48046 -#define CFG_BT_COEXISTENCE_WME_OVER_BT 1663,48099 -#define CFG_BT_COEXISTENCE_OOB 1664,48152 -#define CFG_BT_COEXISTENCE_MAX 1665,48205 -#define CFG_BT_COEXISTENCE_DEF 1666,48258 -#define CFG_CTS_TO_ITSELF_ENABLED_MIN 1668,48338 -#define CFG_CTS_TO_ITSELF_ENABLED_MAX 1669,48380 -#define CFG_CTS_TO_ITSELF_ENABLED_DEF 1670,48422 -#define CFG_SYS_ANTENNA_BOTH 1672,48491 -#define CFG_SYS_ANTENNA_A 1673,48547 -#define CFG_SYS_ANTENNA_B 1674,48603 -#define REG_MIN_CHANNEL 1682,48833 -#define REG_MAX_CHANNEL 1683,48871 -#define REG_CHANNEL_MASK 1685,48911 -#define IPW_IBSS_11B_DEFAULT_MASK 1686,48958 -static const long ipw_frequencies[1688,49002 -#define FREQ_COUNT 1695,49140 -#define IPW_MAX_CONFIG_RETRIES 1697,49188 -static inline u32 frame_hdr_len(1699,49223 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ipw2200/ipw2200.c,12152 -#define IPW2200_VERSION 36,1407 -#define DRV_DESCRIPTION 37,1438 -#define DRV_COPYRIGHT 38,1511 -#define DRV_VERSION 39,1576 -static int debug 43,1641 -static int channel 44,1663 -static char *ifname;45,1687 -static int mode 46,1708 -static u32 ipw_debug_level;48,1730 -static int associate 49,1758 -static int adhoc_create 50,1784 -static int disable 51,1813 -static const char ipw_modes[52,1837 -static u8 band_b_active_channel[75,2642 -static u8 band_a_active_channel[78,2735 -static char *snprint_line(82,2851 -static void printk_buf(117,3697 -#define ipw_read_reg32(ipw_read_reg32134,4063 -#define ipw_read_reg8(ipw_read_reg8137,4172 -static inline void ipw_write_reg8(140,4293 -static inline void ipw_write_reg16(147,4565 -static inline void ipw_write_reg32(154,4841 -#define _ipw_write8(_ipw_write8160,5045 -#define ipw_write8(ipw_write8161,5125 -#define _ipw_write16(_ipw_write16165,5293 -#define ipw_write16(ipw_write16166,5374 -#define _ipw_write32(_ipw_write32170,5545 -#define ipw_write32(ipw_write32171,5626 -#define _ipw_read8(_ipw_read8175,5797 -static inline u8 __ipw_read8(176,5863 -#define ipw_read8(ipw_read8180,6039 -#define _ipw_read16(_ipw_read16182,6110 -static inline u16 __ipw_read16(183,6177 -#define ipw_read16(ipw_read16187,6357 -#define _ipw_read32(_ipw_read32189,6430 -static inline u32 __ipw_read32(190,6497 -#define ipw_read32(ipw_read32194,6677 -#define ipw_read_indirect(ipw_read_indirect197,6817 -#define ipw_write_indirect(ipw_write_indirect202,7069 -static void _ipw_write_reg32(207,7268 -static void _ipw_write_reg8(217,7526 -static void _ipw_write_reg16(227,7889 -static u8 _ipw_read_reg8(237,8175 -static u32 _ipw_read_reg32(246,8447 -static void _ipw_read_indirect(259,8798 -static void _ipw_write_indirect(292,9840 -static void ipw_write_direct(325,10883 -static inline void ipw_set_bit(331,11034 -static inline void ipw_clear_bit(336,11167 -static inline void ipw_enable_interrupts(341,11303 -static inline void ipw_disable_interrupts(349,11515 -static char *ipw_error_desc(358,11757 -static void ipw_dump_nic_error_log(397,12838 -static void ipw_dump_nic_event_log(427,13829 -static int ipw_get_ordinal(450,14444 -static void ipw_init_ordinals(590,18010 -static ssize_t show_debug_level(620,19023 -static ssize_t store_debug_level(624,19146 -static ssize_t show_status(649,19731 -static ssize_t show_cfg(656,19955 -static ssize_t show_nic_type(663,20170 -static ssize_t dump_error_log(685,20761 -static ssize_t dump_event_log(697,21052 -static ssize_t show_ucode_version(709,21343 -static ssize_t show_rtc(721,21695 -static ssize_t show_eeprom_delay(737,22096 -static ssize_t store_eeprom_delay(742,22254 -static ssize_t show_command_event_reg(752,22567 -static ssize_t store_command_event_reg(760,22799 -static ssize_t show_mem_gpio_reg(774,23199 -static ssize_t store_mem_gpio_reg(782,23412 -static ssize_t show_indirect_dword(796,23767 -static ssize_t store_indirect_dword(807,24064 -static ssize_t show_indirect_byte(820,24444 -static ssize_t store_indirect_byte(831,24735 -static ssize_t show_direct_dword(844,25110 -static ssize_t store_direct_dword(856,25397 -static inline int rf_kill_active(870,25762 -static ssize_t show_rf_kill(880,26003 -static int ipw_radio_kill_sw(892,26407 -static ssize_t store_rf_kill(925,27308 -static void ipw_irq_tasklet(935,27585 -#define IPW_CMD(IPW_CMD1050,30764 -static char *get_cmd_string(1051,30814 -#define HOST_COMPLETE_TIMEOUT 1110,32311 -static int ipw_send_cmd(1111,32344 -static int ipw_send_host_complete(1146,33246 -static int ipw_send_system_config(1166,33560 -static int ipw_send_ssid(1188,33980 -static int ipw_send_adapter_address(1209,34357 -static int ipw_send_scan_request_ext(1234,34836 -static int ipw_send_scan_abort(1256,35279 -static int ipw_set_sensitivity(1276,35584 -static int ipw_send_associate(1293,36002 -static int ipw_send_supported_rates(1315,36427 -static int ipw_set_random_seed(1337,36855 -static int ipw_send_tx_power(1359,37217 -static int ipw_send_rts_threshold(1381,37617 -static int ipw_send_frag_threshold(1405,38091 -static int ipw_send_power_mode(1429,38576 -static inline void eeprom_write_reg(1482,40091 -static inline void eeprom_cs(1493,40354 -static inline void eeprom_disable_cs(1502,40607 -static inline void eeprom_write_bit(1510,40820 -static void eeprom_op(1518,41078 -static u16 eeprom_read_u16(1532,41378 -static void eeprom_parse_mac(1561,42118 -static void ipw_eeprom_init_sram(1575,42584 -static inline void ipw_zero_memory(1612,43555 -static inline void ipw_fw_dma_reset_command_blocks(1621,43782 -static int ipw_fw_dma_enable(1628,43981 -static void ipw_fw_dma_abort(1643,44315 -static int ipw_fw_dma_write_command_block(1657,44639 -static int ipw_fw_dma_kick(1669,44971 -static void ipw_fw_dma_dump_command_block(1690,45560 -static int ipw_fw_dma_command_block_index(1725,46730 -static int ipw_fw_dma_add_command_block(1744,47217 -static int ipw_fw_dma_add_buffer(1790,48382 -static int ipw_fw_dma_wait(1836,49502 -static inline int ipw_alive(1880,50503 -static inline int ipw_poll_bit(1885,50605 -static int ipw_stop_master(1906,51075 -static void ipw_arc_release(1926,51485 -struct fw_header fw_header1937,51716 -struct fw_chunk fw_chunk1942,51764 -#define IPW_FW_MAJOR_VERSION 1947,51813 -#define IPW_FW_MINOR_VERSION 1948,51844 -#define IPW_FW_MINOR(IPW_FW_MINOR1950,51876 -#define IPW_FW_MAJOR(IPW_FW_MAJOR1951,51918 -#define IPW_FW_VERSION 1953,51954 -#define IPW_FW_PREFIX 1956,52058 -#define IPW_FW_NAME(IPW_FW_NAME1960,52172 -#define IPW_FW_NAME(IPW_FW_NAME1962,52226 -static int ipw_load_ucode(1965,52276 -static int ipw_load_firmware(2082,55412 -static int ipw_stop_nic(2143,56738 -static void ipw_start_nic(2162,57132 -static int ipw_init_nic(2178,57536 -static int ipw_reset_nic(2213,58501 -static int ipw_get_fw(2225,58662 -#define CX2_RX_BUF_SIZE 2254,59477 -static inline void ipw_rx_queue_reset(2256,59509 -static int fw_loaded 2285,60398 -static const struct firmware *bootfw 2286,60424 -static const struct firmware *firmware 2287,60469 -static const struct firmware *ucode 2288,60516 -static int ipw_load(2291,60568 -static inline int ipw_queue_space(2512,65984 -static inline int ipw_queue_inc_wrap(2523,66228 -static void ipw_queue_init(2542,66981 -static int ipw_queue_tx_init(2568,67517 -static void ipw_queue_tx_free_tfd(2601,68292 -static void ipw_queue_tx_free(2640,69279 -static void ipw_tx_queue_free(2670,69931 -static void inline __maybe_wake_tx(2682,70233 -static inline void ipw_create_bssid(2697,70517 -static inline u8 ipw_add_station(2711,70934 -static inline u8 ipw_find_station(2735,71481 -static int ipw_tx_skb(2746,71701 -static void ipw_disassociate(2882,75758 -static void notify_wx_assoc_event(2908,76454 -static inline void ipw_reset_counters(2919,76786 -struct ipw_status_code ipw_status_code2925,76902 -static const struct ipw_status_code ipw_status_codes[2930,76965 -static const char *ipw_get_status_code(2969,78732 -static inline void ipw_rx_notification(2982,79042 -static int ipw_queue_reset(3319,88125 -static int ipw_queue_tx_reclaim(3395,90181 -static int ipw_queue_tx_hcmd(3425,90862 -static void ipw_rx_queue_restock(3529,95009 -static void ipw_rx_queue_replenish(3565,96125 -static void ipw_rx_queue_free(3603,97324 -static struct ipw_rx_queue *ipw_rx_queue_alloc(3623,97706 -static int ipw_is_rate_in_mask(3646,98369 -static int ipw_compatible_rates(3719,100786 -static inline void ipw_copy_rates(3752,101761 -static void ipw_add_cck_scan_rates(3764,102239 -static void ipw_add_ofdm_scan_rates(3787,103023 -struct ipw_network_match ipw_network_match3826,104271 -static int ipw_best_network(3831,104373 -static u8 ipw_calc_rssi_dbm(3985,109654 -static void ipw_adhoc_create(3994,109863 -static void ipw_send_wep_keys(4025,110997 -static void ipw_associate(4054,111591 -static inline void ipw_handle_data_packet(4288,118316 -static void ipw_rx(4329,119652 -static void ipw_adapter_restart(4467,123488 -static inline int ipw_abort_scan(4483,123718 -static int ipw_request_scan(4502,124076 -static int ipw_wx_get_name(4609,127224 -static int ipw_set_channel(4623,127627 -static int ipw_wx_set_freq(4662,128598 -static int ipw_wx_get_freq(4696,129333 -static int ipw_wx_set_mode(4716,129901 -static int ipw_wx_get_mode(4768,130979 -#define DEFAULT_FRAG_THRESHOLD 4781,131263 -#define MIN_FRAG_THRESHOLD 4782,131300 -#define MAX_FRAG_THRESHOLD 4783,131336 -#define DEFAULT_RTS_THRESHOLD 4784,131373 -#define MIN_RTS_THRESHOLD 4785,131413 -#define MAX_RTS_THRESHOLD 4786,131442 -#define DEFAULT_BEACON_INTERVAL 4787,131474 -#define DEFAULT_SHORT_RETRY_LIMIT 4788,131513 -#define DEFAULT_LONG_RETRY_LIMIT 4789,131550 -static const s32 timeout_duration[4792,131620 -static const s32 period_duration[4800,131706 -static int ipw_wx_get_range(4808,131796 -static int ipw_wx_set_wap(4872,133660 -static int ipw_wx_get_wap(4924,135128 -static int ipw_wx_set_essid(4943,135796 -static int ipw_wx_get_essid(4993,137123 -static int ipw_wx_set_nick(5017,137892 -static int ipw_wx_get_nick(5036,138388 -static int ipw_wx_set_rate(5049,138742 -static inline u32 ipw_get_max_rate(5057,138954 -static u32 ipw_get_current_rate(5087,140104 -static int ipw_wx_get_rate(5125,141112 -static int ipw_wx_set_rts(5136,141383 -static int ipw_wx_get_rts(5157,141926 -static int ipw_wx_set_txpow(5172,142331 -static int ipw_wx_get_txpow(5216,143322 -static int ipw_wx_set_frag(5232,143702 -static int ipw_wx_get_frag(5253,144257 -static int ipw_wx_set_retry(5268,144675 -static int ipw_wx_get_retry(5277,144893 -static int ipw_wx_set_scan(5286,145111 -static int ipw_wx_get_scan(5297,145377 -static int ipw_wx_set_encode(5305,145620 -static int ipw_wx_get_encode(5313,145860 -static int ipw_wx_set_power(5321,146100 -static int ipw_wx_get_power(5370,147464 -static int ipw_wx_set_powermode(5387,147859 -#define MAX_WX_STRING 5414,148420 -static int ipw_wx_get_powermode(5415,148445 -static int ipw_wx_set_wireless_mode(5447,149312 -static int ipw_wx_get_wireless_mode(5512,151190 -static int ipw_wx_set_promisc(5560,152381 -static int ipw_wx_reset(5586,153016 -#define IW_IOCTL(IW_IOCTL5598,153339 -static iw_handler ipw_wx_handlers[5599,153379 -#define IPW_PRIV_SET_POWER 5631,154664 -#define IPW_PRIV_GET_POWER 5632,154707 -#define IPW_PRIV_SET_MODE 5633,154752 -#define IPW_PRIV_GET_MODE 5634,154796 -#define IPW_PRIV_SET_PROMISC 5635,154840 -#define IPW_PRIV_RESET 5636,154887 -static struct iw_priv_args ipw_priv_args[5639,154931 -static iw_handler ipw_priv_handler[5672,155703 -static struct iw_handler_def ipw_wx_handler_def 5683,155918 -static struct iw_statistics *ipw_get_wireless_stats(5698,156309 -static inline void init_sys_config(5766,158248 -static int ipw_net_open(5785,159070 -static int ipw_net_stop(5796,159387 -static int ipw_net_hard_start_xmit(5803,159508 -static struct net_device_stats *ipw_net_get_stats(5835,160184 -static void ipw_net_set_multicast_list(5842,160336 -static int ipw_net_set_mac_address(5847,160405 -static void ipw_ethtool_get_drvinfo(5861,160847 -static u32 ipw_ethtool_get_link(5881,161390 -static int ipw_ethtool_get_eeprom_len(5887,161536 -static int ipw_ethtool_get_eeprom(5892,161634 -static int ipw_ethtool_set_eeprom(5904,161941 -static struct ethtool_ops ipw_ethtool_ops 5922,162381 -static irqreturn_t ipw_isr(5930,162646 -static void ipw_rf_kill(5979,163623 -static int ipw_setup_deferred_work(6008,164352 -static void shim__set_security(6036,165220 -static struct ieee80211_helper_functions ipw_ieee_callbacks 6107,167289 -static int init_supported_rates(6125,167692 -static int ipw_config(6155,168562 -#define MAX_HW_RESTARTS 6218,170110 -static int ipw_up(6219,170136 -static void ipw_down(6270,171360 -static int ipw_net_init(6285,171693 -static struct pci_device_id card_ids[6307,172223 -static struct attribute *ipw_sysfs_entries[6336,173600 -static struct attribute_group ipw_attribute_group 6354,174053 -static int ipw_pci_probe(6359,174186 -static void ipw_pci_remove(6572,179671 -static int ipw_pci_suspend(6621,180723 -static int ipw_pci_resume(6645,181297 -static struct pci_driver ipw_driver 6681,182320 -static int __init ipw_init(6692,182551 -static void __exit ipw_exit(6716,183056 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/strip.c,5779 -static const char StripVersion[72,2558 -static const char StripVersion[74,2631 -#define TICKLE_TIMERS 77,2698 -#define EXT_COUNTERS 78,2722 -} MetricomKey;MetricomKey128,3856 -} IPaddr;IPaddr138,4085 -} MetricomAddressString;MetricomAddressString147,4230 -#define STRIP_ENCAP_SIZE(STRIP_ENCAP_SIZE155,4592 -} STRIP_Header;STRIP_Header168,5140 -} MetricomNode;MetricomNode172,5187 -#define NODE_TABLE_SIZE 174,5204 -} MetricomNodeTable;MetricomNodeTable179,5328 -enum { FALSE 181,5350 -enum { FALSE = 0, TRUE 181,5350 -} FirmwareVersion;FirmwareVersion188,5457 -} SerialNumber;SerialNumber195,5550 -} BatteryVoltage;BatteryVoltage202,5642 -} char8;char8206,5690 - NoStructure 209,5707 - StructuredMessages 210,5751 - ChecksummedMessages 211,5808 -struct strip strip214,5898 -static const int MaxCommandStringLength 379,13185 -static const int CompatibilityCommand 380,13231 -static const char CommandString0[382,13275 -static const char CommandString1[383,13374 -static const char CommandString2[384,13455 -static const char CommandString3[385,13541 -static const char CommandString4[386,13631 -static const char CommandString5[387,13714 -} StringDescriptor;StringDescriptor391,13850 -static const StringDescriptor CommandString[393,13871 -#define GOT_ALL_RADIO_INFO(GOT_ALL_RADIO_INFO402,14206 -static const char hextable[407,14390 -static const MetricomAddress zero_address;409,14444 -static const MetricomAddress broadcast_address 410,14487 -static const MetricomKey SIP0Key 413,14583 -static const MetricomKey ARP0Key 414,14630 -static const MetricomKey ATR_Key 415,14677 -static const MetricomKey ACK_Key 416,14724 -static const MetricomKey INF_Key 417,14771 -static const MetricomKey ERR_Key 418,14818 -static const long MaxARPInterval 420,14866 -static const unsigned short MAX_SEND_MTU 430,15384 -static const unsigned short MAX_RECV_MTU 431,15433 -static const unsigned short DEFAULT_STRIP_MTU 432,15537 -static const int STRIP_MAGIC 433,15591 -static const long LongTime 434,15630 -static spinlock_t strip_lock 440,15807 -#define has_prefix(has_prefix446,16005 -#define text_equal(text_equal449,16152 -#define READHEX(READHEX451,16237 -#define READHEX16(READHEX16455,16418 -#define READDEC(READDEC457,16462 -#define ARRAY_END(ARRAY_END459,16519 -#define JIFFIE_TO_SEC(JIFFIE_TO_SEC461,16565 -static int arp_query(467,16708 -static void DumpData(484,17086 - Stuff_Diff 527,18041 - Stuff_Diff = 0x00,527,18041 - Stuff_DiffZero 528,18061 - Stuff_DiffZero = 0x40,528,18061 - Stuff_Same 529,18085 - Stuff_Same = 0x80,529,18085 - Stuff_Zero 530,18105 - Stuff_Zero = 0xC0,530,18105 - Stuff_NoCode 531,18125 - Stuff_NoCode = 0xFF,531,18125 - Stuff_CodeMask 533,18193 - Stuff_CodeMask = 0xC0,533,18193 - Stuff_CountMask 534,18217 - Stuff_CountMask = 0x3F,534,18217 - Stuff_MaxCount 535,18242 - Stuff_MaxCount = 0x3F,535,18242 - Stuff_Magic 536,18266 - Stuff_Magic = 0x0D 536,18266 -} StuffingCode;StuffingCode537,18321 -#define StuffData_FinishBlock(StuffData_FinishBlock552,19120 -static __u8 *StuffData(555,19209 -static __u8 *UnStuffData(693,23620 -static unsigned int get_baud(775,25526 -static void set_baud(798,26376 -#define IS_RADIO_ADDRESS(IS_RADIO_ADDRESS810,26727 -static int string_to_radio_address(815,27048 -static __u8 *radio_address_to_string(832,27461 -static int allocate_buffers(846,27888 -static int strip_change_mtu(877,28675 -static void strip_unlock(935,30170 -static char *time_delta(956,30821 -static struct strip *strip_get_idx(968,31111 -static void *strip_seq_start(981,31321 -static void *strip_seq_next(987,31466 -static void strip_seq_stop(1004,31778 -static void strip_seq_neighbours(1009,31861 -static void strip_seq_status_info(1044,32904 -static int strip_seq_show(1147,36908 -static struct seq_operations strip_seq_ops 1157,37126 -static int strip_seq_open(1164,37282 -static struct file_operations strip_seq_fops 1169,37393 -static void ResetRadio(1183,37682 -static void strip_write_some_more(1264,40424 -static __u8 *add_checksum(1289,41111 -static unsigned char *strip_make_packet(1305,41415 -static void strip_send(1408,44255 -static int strip_xmit(1564,49338 -static void strip_IdleTask(1622,51195 -static int strip_header(1638,51748 -static int strip_rebuild_header(1668,52770 -static int strip_receive_room(1685,53222 -static void get_radio_version(1694,53470 -static void get_radio_voltage(1744,54661 -static void get_radio_neighbours(1762,55128 -static int get_radio_address(1779,55627 -static int verify_checksum(1803,56386 -static void RecvErr(1820,56935 -static void RecvErr_Message(1828,57152 -static void process_AT_response(1927,60478 -static void process_ACK(1962,61532 -static void process_Info(1967,61674 -static struct net_device *get_strip_dev(1973,61815 -static void deliver_packet(2008,62924 -static void process_IP_packet(2041,64007 -static void process_ARP_packet(2083,65038 -static void process_text_message(2137,66623 -static void process_message(2173,67971 -#define TTYERROR(TTYERROR2285,71441 -static void strip_receive_buf(2297,71971 -static int set_mac_address(2381,74409 -static int dev_set_mac_address(2401,75067 -static struct net_device_stats *strip_get_stats(2410,75372 -static int strip_open_low(2455,76841 -static int strip_close_low(2488,77624 -static void strip_dev_setup(2522,78329 -static void strip_free(2564,79283 -static struct strip *strip_alloc(2579,79531 -static int strip_open(2637,80866 -static void strip_close(2700,82354 -static int strip_ioctl(2725,82943 -static struct tty_ldisc strip_ldisc 2769,83963 -static char signon[2787,84381 -static char signon[] __initdata 2787,84381 -static int __init strip_init_driver(2790,84474 -static const char signoff[2814,84953 -static const char signoff[] __exitdata 2814,84953 -static void __exit strip_exit_driver(2817,85037 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wavelan_cs.h,4469 -#define _WAVELAN_CS_H56,2250 -const unsigned char MAC_ADDRESSES[65,2607 -const short channel_bands[82,3182 -const int fixed_bands[89,3469 -#define LCCR(LCCR96,3659 -#define LCSR(LCSR97,3724 -#define HACR(HACR98,3788 -#define HASR(HASR99,3854 -#define PIORL(PIORL100,3919 -#define RPLL(RPLL101,3981 -#define PIORH(PIORH102,4045 -#define RPLH(RPLH103,4108 -#define PIOP(PIOP104,4173 -#define MMR(MMR105,4226 -#define MMD(MMD106,4282 -#define HACR_LOF 110,4389 -#define HACR_PWR_STAT 111,4457 -#define HACR_TX_DMA_RESET 112,4527 -#define HACR_RX_DMA_RESET 113,4599 -#define HACR_ROM_WEN 114,4670 -#define HACR_RESET 116,4740 -#define HACR_DEFAULT 117,4812 -#define HASR_MMI_BUSY 121,4903 -#define HASR_LOF 122,4962 -#define HASR_NO_CLK 123,5015 -#define PIORH_SEL_TX 127,5120 -#define MMR_MMI_WR 128,5188 -#define PIORH_MASK 129,5256 -#define RPLH_MASK 130,5319 -#define MMI_ADDR_MASK 131,5381 -#define CIS_ADDR 135,5476 -#define PSA_ADDR 136,5540 -#define EEPROM_ADDR 137,5602 -#define COR_ADDR 138,5662 -#define COR_CONFIG 142,5777 -#define COR_SW_RESET 143,5845 -#define COR_LEVEL_IRQ 144,5904 -#define RX_BASE 148,5976 -#define TX_BASE 149,6028 -#define UNUSED_BASE 150,6081 -#define RX_SIZE 151,6129 -#define RX_SIZE_SHIFT 152,6191 -#define TRUE 154,6254 -#define FALSE 155,6270 -#define MOD_ENAL 157,6287 -#define MOD_PROM 158,6306 -#define WAVELAN_ADDR_SIZE 161,6354 -#define WAVELAN_MTU 164,6420 -#define MAXDATAZ 166,6446 -typedef struct psa_t psa_t;psa_t173,6603 -struct psa_tpsa_t174,6631 -#define PSA_UNIVERSAL 191,7680 -#define PSA_LOCAL 192,7732 -#define PSA_COMP_PC_AT_915 194,7834 -#define PSA_COMP_PC_MC_915 195,7885 -#define PSA_COMP_PC_AT_2400 196,7936 -#define PSA_COMP_PC_MC_2400 197,7988 -#define PSA_COMP_PCMCIA_915 198,8040 -#define PSA_FEATURE_CALL_CODE 201,8244 -#define PSA_SUBBAND_915 203,8365 -#define PSA_SUBBAND_2425 204,8414 -#define PSA_SUBBAND_2460 205,8457 -#define PSA_SUBBAND_2484 206,8500 -#define PSA_SUBBAND_2430_5 207,8543 -#define PSA_SIZE 224,9541 -#define psaoff(psaoff228,9661 -typedef struct mmw_t mmw_t;mmw_t235,9901 -struct mmw_tmmw_t236,9929 -#define MMW_ENCR_ENABLE_MODE 240,10063 -#define MMW_ENCR_ENABLE_EN 241,10127 -#define MMW_DES_IO_INVERT_RES 244,10293 -#define MMW_DES_IO_INVERT_CTRL 245,10343 -#define MMW_LOOPT_SEL_DIS_NWID 248,10511 -#define MMW_LOOPT_SEL_INT 249,10576 -#define MMW_LOOPT_SEL_LS 250,10640 -#define MMW_LOOPT_SEL_LT3A 251,10709 -#define MMW_LOOPT_SEL_LT3B 252,10759 -#define MMW_LOOPT_SEL_LT3C 253,10809 -#define MMW_LOOPT_SEL_LT3D 254,10859 -#define MMW_ANTEN_SEL_SEL 260,11204 -#define MMW_ANTEN_SEL_ALG_EN 261,11266 -#define MMW_FEE_CTRL_PRE 281,12423 -#define MMW_FEE_CTRL_DWLD 282,12489 -#define MMW_FEE_CTRL_CMD 283,12549 -#define MMW_FEE_CTRL_READ 284,12603 -#define MMW_FEE_CTRL_WREN 285,12645 -#define MMW_FEE_CTRL_WRITE 286,12695 -#define MMW_FEE_CTRL_WRALL 287,12755 -#define MMW_FEE_CTRL_WDS 288,12821 -#define MMW_FEE_CTRL_PRREAD 289,12871 -#define MMW_FEE_CTRL_PREN 290,12942 -#define MMW_FEE_CTRL_PRCLEAR 291,13003 -#define MMW_FEE_CTRL_PRWRITE 292,13067 -#define MMW_FEE_CTRL_PRDS 293,13138 -#define MMW_FEE_ADDR_CHANNEL 297,13317 -#define MMW_FEE_ADDR_OFFSET 298,13376 -#define MMW_FEE_ADDR_EN 299,13438 -#define MMW_FEE_ADDR_DS 300,13501 -#define MMW_FEE_ADDR_ALL 301,13565 -#define MMW_FEE_ADDR_CLEAR 302,13625 -#define MMW_EXT_ANT_EXTANT 307,13865 -#define MMW_EXT_ANT_POL 308,13927 -#define MMW_EXT_ANT_INTERNAL 309,13987 -#define MMW_EXT_ANT_EXTERNAL 310,14044 -#define MMW_EXT_ANT_IQ_TEST 311,14101 -#define MMW_SIZE 315,14229 -#define mmwoff(mmwoff318,14307 -typedef struct mmr_t mmr_t;mmr_t324,14463 -struct mmr_tmmr_t325,14491 -#define MMR_DES_AVAIL_DES 330,14680 -#define MMR_DES_AVAIL_AES 331,14732 -#define MMR_DCE_STATUS_RX_BUSY 335,14952 -#define MMR_DCE_STATUS_LOOPT_IND 336,15009 -#define MMR_DCE_STATUS_TX_BUSY 337,15073 -#define MMR_DCE_STATUS_JBR_EXPIRED 338,15131 -#define MMR_DCE_STATUS 339,15198 -#define MMR_THR_PRE_SET 348,15759 -#define MMR_THR_PRE_SET_CUR 349,15819 -#define MMR_SIGNAL_LVL 351,15935 -#define MMR_SIGNAL_LVL_VALID 352,15984 -#define MMR_SILENCE_LVL 354,16110 -#define MMR_SILENCE_LVL_VALID 355,16161 -#define MMR_SGNL_QUAL 357,16280 -#define MMR_SGNL_QUAL_ANT 358,16330 -#define MMR_FEE_STATUS_ID 364,16625 -#define MMR_FEE_STATUS_DWLD 365,16681 -#define MMR_FEE_STATUS_BUSY 366,16742 -#define MMR_SIZE 373,17037 -#define mmroff(mmroff376,17115 -typedef union mm_tmm_t380,17251 -} mm_t;mm_t384,17355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ray_cs.c,3559 -#define WIRELESS_SPY 65,2157 -typedef struct iw_statistics iw_stats;iw_stats67,2243 -typedef struct iw_quality iw_qual;iw_qual68,2282 -typedef u_char mac_addr[mac_addr69,2317 -#define PCMCIA_DEBUG 82,2782 -static int ray_debug;85,2844 -static int pc_debug 86,2866 -#define DEBUG(DEBUG89,3005 -#define DEBUG(DEBUG91,3069 -static struct ethtool_ops netdev_ethtool_ops;107,3822 -static u_long irq_mask 166,6861 -static int net_type 169,6927 -static int hop_dwell 172,7019 -static int beacon_period 175,7075 -static int psm;178,7156 -static char *essid;181,7243 -static int translate 184,7324 -static int country 186,7351 -static int sniffer;188,7378 -static int bc;190,7399 -static char *phy_addr 202,8009 -static dev_info_t dev_info 209,8197 -static dev_link_t *dev_list 215,8422 -static unsigned int ray_mem_speed 223,8789 -static UCHAR b5_default_startup_parms[242,9289 -static UCHAR b4_default_startup_parms[277,11226 -static unsigned char eth2_llc[308,12997 -static char hop_pattern_length[310,13058 -static char rcsid[318,13317 -static dev_link_t *ray_attach(328,13884 -static void ray_detach(438,17459 -#define CS_CHECK(CS_CHECK477,18761 -#define MAX_TUPLE_SIZE 479,18867 -static void ray_config(480,18894 -static inline struct ccs __iomem *ccs_base(595,23080 -static inline struct rcs __iomem *rcs_base(600,23174 -static int ray_init(613,23591 -static int dl_startup_params(676,25807 -static void init_startup_params(722,27611 -static void verify_dl_startup(783,30226 -static void start_net(823,31455 -static void join_net(849,32417 -static void ray_release(881,33650 -static int ray_event(921,35323 -int ray_dev_init(970,36823 -static int ray_dev_config(1007,38058 -static int ray_dev_start_xmit(1021,38531 -static int ray_hw_xmit(1064,39841 -static int translate_frame(1138,42464 -static void ray_build_header(1169,44024 -static void netdev_get_drvinfo(1207,45773 -static struct ethtool_ops netdev_ethtool_ops 1213,45906 -static int ray_dev_ioctl(1219,46070 -#define SIOCIWFIRSTPRIV 1600,56050 -#define SIOCSIPFRAMING 1602,56118 -#define SIOCGIPFRAMING 1603,56181 -#define SIOCGIPCOUNTRY 1604,56247 -static iw_stats * ray_get_wireless_stats(1648,57689 -static int ray_open(1678,58725 -static int ray_dev_close(1716,59704 -static void ray_reset(1738,60406 -static int interrupt_ecf(1745,60744 -static int get_free_tx_ccs(1771,61703 -static int get_free_ccs(1802,62778 -static void authenticate_timeout(1830,63682 -static int asc_to_int(1839,64007 -static int parse_addr(1850,64338 -static struct net_device_stats *ray_get_stats(1878,64978 -static void ray_update_parm(1908,66086 -static void ray_update_multi_list(1941,67222 -static void set_multicast_list(1989,68996 -static irqreturn_t ray_interrupt(2025,70290 -static void ray_rx(2213,77724 -static void rx_data(2267,79697 -static void untranslate(2427,85429 -static int copy_from_rx_buff(2533,89419 -static void release_frag_chain(2548,89973 -static void authenticate(2566,90694 -static void rx_authenticate(2588,91441 -static void associate(2631,93272 -static void rx_deauthenticate(2669,94607 -static void clear_interrupt(2682,95130 -#define MAXDATA 2688,95341 -static char *card_status[2690,95375 -static char *nettype[2707,96119 -static char *framing[2708,96165 -static int ray_cs_proc_read(2711,96305 -static int build_auth_frame(2814,99725 -static void raycs_write(2864,101506 -static int write_essid(2873,101729 -static int write_int(2887,102039 -static struct pcmcia_driver ray_driver 2915,102519 -static int __init init_ray_cs(2924,102673 -static void __exit exit_ray_cs(2946,103377 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ray_cs.h,184 -struct beacon_rx beacon_rx8,170 -#define ECCSFULL 21,598 -#define ECCSBUSY 22,621 -#define ECARDGONE 23,644 -typedef struct ray_dev_t ray_dev_t25,668 -} ray_dev_t;ray_dev_t75,2307 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wavelan_cs.p.h,1946 -#define WAVELAN_CS_P_H14,316 -#define WAVELAN_ROAMING 467,18294 -#define USE_PSA_CONFIG 470,18481 -#define MULTICAST_AVOID 473,18651 -#define WIRELESS_SPY 478,18889 -#define DEBUG_INTERRUPT_ERROR 488,19300 -#define DEBUG_CONFIG_ERRORS 491,19454 -#define DEBUG_TX_ERROR 495,19675 -#define DEBUG_RX_ERROR 499,19890 -#define DEBUG_IOCTL_ERROR 503,20099 -#define DEBUG_BASIC_SHOW 504,20150 -static const char *version 515,20610 -#define WATCHDOG_JIFFIES 519,20736 -#define IW_ESSID_MAX_SIZE 523,20860 -#define SIOCSIPQTHR 528,20968 -#define SIOCGIPQTHR 529,21033 -#define SIOCSIPROAM 530,21101 -#define SIOCGIPROAM 531,21169 -#define SIOCSIPHISTO 533,21238 -#define SIOCGIPHISTO 534,21306 -#define WAVELAN_ROAMING_DEBUG 539,21522 -#define MAX_WAVEPOINTS 541,21636 -#define WAVEPOINT_HISTORY 542,21692 -#define WAVEPOINT_FAST_HISTORY 543,21757 -#define SEARCH_THRESH_LOW 544,21827 -#define SEARCH_THRESH_HIGH 545,21887 -#define WAVELAN_ROAMING_DELTA 546,21948 -#define CELL_TIMEOUT 547,22013 -#define FAST_CELL_SEARCH 549,22058 -#define NWID_PROMISC 550,22109 -typedef struct wavepoint_beaconwavepoint_beacon552,22158 -} wavepoint_beacon;wavepoint_beacon564,22510 -typedef struct wavepoint_historywavepoint_history566,22531 -} wavepoint_history;wavepoint_history577,23108 -struct wavepoint_tablewavepoint_table579,23130 -typedef struct net_device_stats en_stats;en_stats591,23429 -typedef struct iw_statistics iw_stats;iw_stats592,23471 -typedef struct iw_quality iw_qual;iw_qual593,23510 -typedef struct iw_freq iw_freq;iw_freq594,23545 -typedef struct net_local net_local;net_local595,23578 -typedef struct timer_list timer_list;timer_list596,23614 -typedef u_char mac_addr[mac_addr599,23671 -struct net_localnet_local610,24061 -static dev_info_t dev_info 786,30822 -static dev_link_t *dev_list 787,30865 -static int irq_mask 796,31149 -static int irq_list[797,31179 -static int mem_speed 800,31247 -static int do_roaming 809,31517 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wavelan.p.h,1192 -#define WAVELAN_P_H14,304 -#define USE_PSA_CONFIG 406,15765 -#define MULTICAST_AVOID 409,15937 -#define WIRELESS_SPY 414,16174 -#define DEBUG_INTERRUPT_ERROR 424,16589 -#define DEBUG_CONFIG_ERROR 427,16741 -#define DEBUG_TX_ERROR 431,16961 -#define DEBUG_RX_ERROR 435,17173 -#define DEBUG_IOCTL_ERROR 440,17406 -#define DEBUG_BASIC_SHOW 441,17457 -static const char *version 452,17923 -#define WATCHDOG_JIFFIES 456,18047 -#define NELS(NELS459,18140 -#define SIOCSIPQTHR 463,18258 -#define SIOCGIPQTHR 464,18323 -#define SIOCSIPHISTO 466,18392 -#define SIOCGIPHISTO 467,18460 -typedef struct net_device_stats en_stats;en_stats472,18616 -typedef struct iw_statistics iw_stats;iw_stats473,18658 -typedef struct iw_quality iw_qual;iw_qual474,18697 -typedef struct iw_freq iw_freq;iw_freq475,18732 -typedef struct net_local net_local;net_local476,18765 -typedef struct timer_list timer_list;timer_list477,18801 -typedef u_char mac_addr[mac_addr480,18858 -struct net_localnet_local491,19249 -static net_local * wavelan_list 668,25308 -static u_char irqvals[674,25452 -static unsigned short iobase[685,25660 -static int io[701,26038 -static int irq[702,26056 -static char name[703,26075 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/hermes.c,665 -#define CMD_BUSY_TIMEOUT 61,2408 -#define CMD_INIT_TIMEOUT 62,2467 -#define CMD_COMPL_TIMEOUT 63,2529 -#define ALLOC_COMPL_TIMEOUT 64,2592 -#define IO_TYPE(IO_TYPE70,2686 -#define DMSG(DMSG71,2740 -#define DEBUG(DEBUG78,2926 -#define DEBUG(DEBUG82,3024 -static int hermes_issue_cmd(98,3318 -void hermes_struct_init(126,3851 -int hermes_init(141,4184 -int hermes_docmd_wait(227,6599 -int hermes_allocate(289,8011 -static int hermes_bap_seek(338,9136 -int hermes_bap_pread(403,10639 -int hermes_bap_pwrite(429,11246 -int hermes_read_ltv(457,11943 -int hermes_write_ltv(503,13081 -static int __init init_hermes(540,13861 -static void __exit exit_hermes(545,13913 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/orinoco_plx.c,595 -#define DRIVER_NAME 116,5863 -#define PFX 117,5897 -#define COR_OFFSET 145,6480 -#define COR_VALUE 146,6554 -#define PLX_INTCSR 148,6657 -#define PLX_INTCSR_INTEN 149,6724 -static const u16 cis_magic[151,6784 -static int orinoco_plx_init_one(155,6885 -static void __devexit orinoco_plx_remove_one(290,10204 -static struct pci_device_id orinoco_plx_pci_id_table[311,10569 -static struct pci_driver orinoco_plx_driver 331,11576 -static char version[338,11772 -static char version[] __initdata 338,11772 -static int __init orinoco_plx_init(346,12124 -static void __exit orinoco_plx_exit(352,12253 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wl3501.h,10049 -#define __WL3501_H__2,21 -#define WL3501_BLKSZ 8,121 -enum wl3501_signals wl3501_signals14,246 - WL3501_SIG_ALARM,15,268 - WL3501_SIG_MD_CONFIRM,16,287 - WL3501_SIG_MD_IND,17,311 - WL3501_SIG_ASSOC_CONFIRM,18,331 - WL3501_SIG_ASSOC_IND,19,358 - WL3501_SIG_AUTH_CONFIRM,20,381 - WL3501_SIG_AUTH_IND,21,407 - WL3501_SIG_DEAUTH_CONFIRM,22,429 - WL3501_SIG_DEAUTH_IND,23,457 - WL3501_SIG_DISASSOC_CONFIRM,24,481 - WL3501_SIG_DISASSOC_IND,25,511 - WL3501_SIG_GET_CONFIRM,26,537 - WL3501_SIG_JOIN_CONFIRM,27,562 - WL3501_SIG_PWR_MGMT_CONFIRM,28,588 - WL3501_SIG_REASSOC_CONFIRM,29,618 - WL3501_SIG_REASSOC_IND,30,647 - WL3501_SIG_SCAN_CONFIRM,31,672 - WL3501_SIG_SET_CONFIRM,32,698 - WL3501_SIG_START_CONFIRM,33,723 - WL3501_SIG_RESYNC_CONFIRM,34,750 - WL3501_SIG_SITE_CONFIRM,35,778 - WL3501_SIG_SAVE_CONFIRM,36,804 - WL3501_SIG_RFTEST_CONFIRM,37,830 - WL3501_SIG_ASSOC_REQ 43,957 - WL3501_SIG_ASSOC_REQ = 0x20,43,957 - WL3501_SIG_AUTH_REQ,44,987 - WL3501_SIG_DEAUTH_REQ,45,1009 - WL3501_SIG_DISASSOC_REQ,46,1033 - WL3501_SIG_GET_REQ,47,1059 - WL3501_SIG_JOIN_REQ,48,1080 - WL3501_SIG_PWR_MGMT_REQ,49,1102 - WL3501_SIG_REASSOC_REQ,50,1128 - WL3501_SIG_SCAN_REQ,51,1153 - WL3501_SIG_SET_REQ,52,1175 - WL3501_SIG_START_REQ,53,1196 - WL3501_SIG_MD_REQ,54,1219 - WL3501_SIG_RESYNC_REQ,55,1239 - WL3501_SIG_SITE_REQ,56,1263 - WL3501_SIG_SAVE_REQ,57,1285 - WL3501_SIG_RF_TEST_REQ,58,1307 - WL3501_SIG_MM_CONFIRM 59,1332 - WL3501_SIG_MM_CONFIRM = 0x60,59,1332 - WL3501_SIG_MM_IND,60,1363 -enum wl3501_mib_attribs wl3501_mib_attribs63,1387 - WL3501_MIB_ATTR_STATION_ID,64,1413 - WL3501_MIB_ATTR_AUTH_ALGORITHMS,65,1442 - WL3501_MIB_ATTR_AUTH_TYPE,66,1476 - WL3501_MIB_ATTR_MEDIUM_OCCUPANCY_LIMIT,67,1504 - WL3501_MIB_ATTR_CF_POLLABLE,68,1545 - WL3501_MIB_ATTR_CFP_PERIOD,69,1575 - WL3501_MIB_ATTR_CFPMAX_DURATION,70,1604 - WL3501_MIB_ATTR_AUTH_RESP_TMOUT,71,1638 - WL3501_MIB_ATTR_RX_DTIMS,72,1672 - WL3501_MIB_ATTR_PRIV_OPT_IMPLEMENTED,73,1699 - WL3501_MIB_ATTR_PRIV_INVOKED,74,1738 - WL3501_MIB_ATTR_WEP_DEFAULT_KEYS,75,1769 - WL3501_MIB_ATTR_WEP_DEFAULT_KEY_ID,76,1804 - WL3501_MIB_ATTR_WEP_KEY_MAPPINGS,77,1841 - WL3501_MIB_ATTR_WEP_KEY_MAPPINGS_LEN,78,1876 - WL3501_MIB_ATTR_EXCLUDE_UNENCRYPTED,79,1915 - WL3501_MIB_ATTR_WEP_ICV_ERROR_COUNT,80,1953 - WL3501_MIB_ATTR_WEP_UNDECRYPTABLE_COUNT,81,1991 - WL3501_MIB_ATTR_WEP_EXCLUDED_COUNT,82,2033 - WL3501_MIB_ATTR_MAC_ADDR,83,2070 - WL3501_MIB_ATTR_GROUP_ADDRS,84,2097 - WL3501_MIB_ATTR_RTS_THRESHOLD,85,2127 - WL3501_MIB_ATTR_SHORT_RETRY_LIMIT,86,2159 - WL3501_MIB_ATTR_LONG_RETRY_LIMIT,87,2195 - WL3501_MIB_ATTR_FRAG_THRESHOLD,88,2230 - WL3501_MIB_ATTR_MAX_TX_MSDU_LIFETIME,89,2263 - WL3501_MIB_ATTR_MAX_RX_LIFETIME,90,2302 - WL3501_MIB_ATTR_MANUFACTURER_ID,91,2336 - WL3501_MIB_ATTR_PRODUCT_ID,92,2370 - WL3501_MIB_ATTR_TX_FRAG_COUNT,93,2399 - WL3501_MIB_ATTR_MULTICAST_TX_FRAME_COUNT,94,2431 - WL3501_MIB_ATTR_FAILED_COUNT,95,2474 - WL3501_MIB_ATTR_RX_FRAG_COUNT,96,2505 - WL3501_MIB_ATTR_MULTICAST_RX_COUNT,97,2537 - WL3501_MIB_ATTR_FCS_ERROR_COUNT,98,2574 - WL3501_MIB_ATTR_RETRY_COUNT,99,2608 - WL3501_MIB_ATTR_MULTIPLE_RETRY_COUNT,100,2638 - WL3501_MIB_ATTR_RTS_SUCCESS_COUNT,101,2677 - WL3501_MIB_ATTR_RTS_FAILURE_COUNT,102,2713 - WL3501_MIB_ATTR_ACK_FAILURE_COUNT,103,2749 - WL3501_MIB_ATTR_FRAME_DUPLICATE_COUNT,104,2785 - WL3501_MIB_ATTR_PHY_TYPE,105,2825 - WL3501_MIB_ATTR_REG_DOMAINS_SUPPORT,106,2852 - WL3501_MIB_ATTR_CURRENT_REG_DOMAIN,107,2890 - WL3501_MIB_ATTR_SLOT_TIME,108,2927 - WL3501_MIB_ATTR_CCA_TIME,109,2955 - WL3501_MIB_ATTR_RX_TX_TURNAROUND_TIME,110,2982 - WL3501_MIB_ATTR_TX_PLCP_DELAY,111,3022 - WL3501_MIB_ATTR_RX_TX_SWITCH_TIME,112,3054 - WL3501_MIB_ATTR_TX_RAMP_ON_TIME,113,3090 - WL3501_MIB_ATTR_TX_RF_DELAY,114,3124 - WL3501_MIB_ATTR_SIFS_TIME,115,3154 - WL3501_MIB_ATTR_RX_RF_DELAY,116,3182 - WL3501_MIB_ATTR_RX_PLCP_DELAY,117,3212 - WL3501_MIB_ATTR_MAC_PROCESSING_DELAY,118,3244 - WL3501_MIB_ATTR_TX_RAMP_OFF_TIME,119,3283 - WL3501_MIB_ATTR_PREAMBLE_LEN,120,3318 - WL3501_MIB_ATTR_PLCP_HEADER_LEN,121,3349 - WL3501_MIB_ATTR_MPDU_DURATION_FACTOR,122,3383 - WL3501_MIB_ATTR_AIR_PROPAGATION_TIME,123,3422 - WL3501_MIB_ATTR_TEMP_TYPE,124,3461 - WL3501_MIB_ATTR_CW_MIN,125,3489 - WL3501_MIB_ATTR_CW_MAX,126,3514 - WL3501_MIB_ATTR_SUPPORT_DATA_RATES_TX,127,3539 - WL3501_MIB_ATTR_SUPPORT_DATA_RATES_RX,128,3579 - WL3501_MIB_ATTR_MPDU_MAX_LEN,129,3619 - WL3501_MIB_ATTR_SUPPORT_TX_ANTENNAS,130,3650 - WL3501_MIB_ATTR_CURRENT_TX_ANTENNA,131,3688 - WL3501_MIB_ATTR_SUPPORT_RX_ANTENNAS,132,3725 - WL3501_MIB_ATTR_DIVERSITY_SUPPORT,133,3763 - WL3501_MIB_ATTR_DIVERSITY_SELECTION_RS,134,3799 - WL3501_MIB_ATTR_NR_SUPPORTED_PWR_LEVELS,135,3840 - WL3501_MIB_ATTR_TX_PWR_LEVEL1,136,3882 - WL3501_MIB_ATTR_TX_PWR_LEVEL2,137,3914 - WL3501_MIB_ATTR_TX_PWR_LEVEL3,138,3946 - WL3501_MIB_ATTR_TX_PWR_LEVEL4,139,3978 - WL3501_MIB_ATTR_TX_PWR_LEVEL5,140,4010 - WL3501_MIB_ATTR_TX_PWR_LEVEL6,141,4042 - WL3501_MIB_ATTR_TX_PWR_LEVEL7,142,4074 - WL3501_MIB_ATTR_TX_PWR_LEVEL8,143,4106 - WL3501_MIB_ATTR_CURRENT_TX_PWR_LEVEL,144,4138 - WL3501_MIB_ATTR_CURRENT_CHAN,145,4177 - WL3501_MIB_ATTR_CCA_MODE_SUPPORTED,146,4208 - WL3501_MIB_ATTR_CURRENT_CCA_MODE,147,4245 - WL3501_MIB_ATTR_ED_THRESHOLD,148,4280 - WL3501_MIB_ATTR_SINTHESIZER_LOCKED,149,4311 - WL3501_MIB_ATTR_CURRENT_PWR_STATE,150,4348 - WL3501_MIB_ATTR_DOZE_TURNON_TIME,151,4384 - WL3501_MIB_ATTR_RCR33,152,4419 - WL3501_MIB_ATTR_DEFAULT_CHAN,153,4443 - WL3501_MIB_ATTR_SSID,154,4474 - WL3501_MIB_ATTR_PWR_MGMT_ENABLE,155,4497 - WL3501_MIB_ATTR_NET_CAPABILITY,156,4531 - WL3501_MIB_ATTR_ROUTING,157,4564 -enum wl3501_net_type wl3501_net_type160,4594 - WL3501_NET_TYPE_INFRA,161,4617 - WL3501_NET_TYPE_ADHOC,162,4641 - WL3501_NET_TYPE_ANY_BSS,163,4665 -enum wl3501_scan_type wl3501_scan_type166,4695 - WL3501_SCAN_TYPE_ACTIVE,167,4719 - WL3501_SCAN_TYPE_PASSIVE,168,4745 -enum wl3501_tx_result wl3501_tx_result171,4776 - WL3501_TX_RESULT_SUCCESS,172,4800 - WL3501_TX_RESULT_NO_BSS,173,4827 - WL3501_TX_RESULT_RETRY_LIMIT,174,4853 -enum wl3501_sys_type wl3501_sys_type177,4888 - WL3501_SYS_TYPE_OPEN,178,4911 - WL3501_SYS_TYPE_SHARE_KEY,179,4934 -enum wl3501_status wl3501_status182,4966 - WL3501_STATUS_SUCCESS,183,4987 - WL3501_STATUS_INVALID,184,5011 - WL3501_STATUS_TIMEOUT,185,5035 - WL3501_STATUS_REFUSED,186,5059 - WL3501_STATUS_MANY_REQ,187,5083 - WL3501_STATUS_ALREADY_BSS,188,5108 -#define WL3501_MGMT_CAPABILITY_ESS 191,5140 -#define WL3501_MGMT_CAPABILITY_IBSS 192,5206 -#define WL3501_MGMT_CAPABILITY_CF_POLLABLE 193,5271 -#define WL3501_MGMT_CAPABILITY_CF_POLL_REQUEST 194,5342 -#define WL3501_MGMT_CAPABILITY_PRIVACY 195,5417 -#define IW_REG_DOMAIN_FCC 197,5486 -#define IW_REG_DOMAIN_DOC 198,5546 -#define IW_REG_DOMAIN_ETSI 199,5606 -#define IW_REG_DOMAIN_SPAIN 200,5667 -#define IW_REG_DOMAIN_FRANCE 201,5730 -#define IW_REG_DOMAIN_MKK 202,5794 -#define IW_REG_DOMAIN_MKK1 203,5850 -#define IW_REG_DOMAIN_ISRAEL 204,5909 -#define IW_MGMT_RATE_LABEL_MANDATORY 206,5971 -enum iw_mgmt_rate_labels iw_mgmt_rate_labels208,6023 - IW_MGMT_RATE_LABEL_1MBIT 209,6050 - IW_MGMT_RATE_LABEL_2MBIT 210,6083 - IW_MGMT_RATE_LABEL_5_5MBIT 211,6116 - IW_MGMT_RATE_LABEL_11MBIT 212,6150 -enum iw_mgmt_info_element_ids iw_mgmt_info_element_ids215,6188 - IW_MGMT_INFO_ELEMENT_SSID,216,6220 - IW_MGMT_INFO_ELEMENT_SUPPORTED_RATES,217,6278 - IW_MGMT_INFO_ELEMENT_FH_PARAMETER_SET,218,6317 - IW_MGMT_INFO_ELEMENT_DS_PARAMETER_SET,219,6357 - IW_MGMT_INFO_ELEMENT_CS_PARAMETER_SET,220,6397 - IW_MGMT_INFO_ELEMENT_CS_TIM,221,6437 - IW_MGMT_INFO_ELEMENT_IBSS_PARAMETER_SET,222,6500 - IW_MGMT_INFO_ELEMENT_CHALLENGE_TEXT 224,6572 -struct iw_mgmt_info_element iw_mgmt_info_element229,6701 -struct iw_mgmt_essid_pset iw_mgmt_essid_pset236,6872 -#define IW_DATA_RATE_MAX_LABELS 245,7090 -struct iw_mgmt_data_rset iw_mgmt_data_rset247,7125 -struct iw_mgmt_ds_pset iw_mgmt_ds_pset252,7268 -struct iw_mgmt_cf_pset iw_mgmt_cf_pset257,7372 -struct iw_mgmt_ibss_pset iw_mgmt_ibss_pset265,7565 -struct wl3501_tx_hdr wl3501_tx_hdr270,7679 -struct wl3501_rx_hdr wl3501_rx_hdr287,7924 -struct wl3501_start_req wl3501_start_req308,8247 -struct wl3501_assoc_req wl3501_assoc_req324,8672 -struct wl3501_assoc_confirm wl3501_assoc_confirm334,8818 -struct wl3501_assoc_ind wl3501_assoc_ind341,8906 -struct wl3501_auth_req wl3501_auth_req347,8987 -struct wl3501_auth_confirm wl3501_auth_confirm356,9106 -struct wl3501_get_req wl3501_get_req365,9228 -struct wl3501_get_confirm wl3501_get_confirm372,9314 -struct wl3501_join_req wl3501_join_req381,9441 -struct wl3501_join_confirm wl3501_join_confirm403,10003 -struct wl3501_pwr_mgmt_req wl3501_pwr_mgmt_req410,10090 -struct wl3501_pwr_mgmt_confirm wl3501_pwr_mgmt_confirm418,10196 -struct wl3501_scan_req wl3501_scan_req425,10287 -struct wl3501_scan_confirm wl3501_scan_confirm438,10576 -struct wl3501_start_confirm wl3501_start_confirm458,11067 -struct wl3501_md_req wl3501_md_req465,11155 -struct wl3501_md_ind wl3501_md_ind477,11314 -struct wl3501_md_confirm wl3501_md_confirm490,11488 -struct wl3501_resync_req wl3501_resync_req500,11611 -#define WL3501_NIC_GCR 507,11763 -#define WL3501_NIC_BSS 508,11832 -#define WL3501_NIC_LMAL 509,11905 -#define WL3501_NIC_LMAH 510,11978 -#define WL3501_NIC_IODPA 511,12052 -#define WL3501_NIC_IODPB 512,12117 -#define WL3501_NIC_IODPC 513,12182 -#define WL3501_NIC_IODPD 514,12247 -#define WL3501_GCR_SWRESET 517,12331 -#define WL3501_GCR_CORESET 518,12369 -#define WL3501_GCR_DISPWDN 519,12407 -#define WL3501_GCR_ECWAIT 520,12445 -#define WL3501_GCR_ECINT 521,12483 -#define WL3501_GCR_INT2EC 522,12521 -#define WL3501_GCR_ENECINT 523,12559 -#define WL3501_GCR_DAM 524,12597 -#define WL3501_BSS_FPAGE0 527,12687 -#define WL3501_BSS_FPAGE1 528,12749 -#define WL3501_BSS_FPAGE2 529,12786 -#define WL3501_BSS_FPAGE3 530,12823 -#define WL3501_BSS_SPAGE0 531,12860 -#define WL3501_BSS_SPAGE1 532,12914 -#define WL3501_BSS_SPAGE2 533,12951 -#define WL3501_BSS_SPAGE3 534,12988 -struct wl3501_80211_tx_plcp_hdr wl3501_80211_tx_plcp_hdr540,13147 -struct wl3501_80211_tx_hdr wl3501_80211_tx_hdr549,13281 -struct wl3501_card wl3501_card574,13909 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_dev.c,538 -#define ISL3877_IMAGE_FILE 41,1248 -#define ISL3886_IMAGE_FILE 42,1285 -#define ISL3890_IMAGE_FILE 43,1322 -const unsigned char dummy_mac[55,1874 -isl_upload_firmware(58,1961 -islpci_interrupt(181,5379 -islpci_open(373,11177 -islpci_close(394,11592 -prism54_bring_down(406,11808 -islpci_upload_fw(446,12947 -islpci_reset_if(475,13572 -islpci_reset(531,14940 -islpci_statistics(602,17111 -islpci_alloc_memory(617,17539 -islpci_free_memory(722,20734 -islpci_set_multicast_list(779,22194 -islpci_setup(786,22344 -islpci_set_state(899,25318 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/oid_mgt.h,26 -#define _OID_MGT_H20,775 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/isl_ioctl.c,3920 -static int init_mode 39,1303 -static int init_channel 40,1348 -static int init_wep 41,1396 -static int init_filter 42,1436 -static int init_authen 43,1482 -static int init_dot1x 44,1528 -static int init_conformance 45,1572 -static int init_mlme 46,1628 -prism54_mib_mode_helper(83,3171 -prism54_mib_init(142,4545 -prism54_update_stats(180,5862 -prism54_get_wireless_stats(236,7364 -prism54_commit(262,8124 -prism54_get_name(278,8621 -prism54_set_freq(309,9332 -prism54_get_freq(329,9804 -prism54_set_mode(346,10203 -prism54_get_mode(387,11299 -prism54_set_sens(405,11762 -prism54_get_sens(418,12097 -prism54_get_range(435,12464 -prism54_set_wap(530,15082 -prism54_get_wap(552,15637 -prism54_set_scan(568,16001 -prism54_translate_bss(581,16397 -#define CAP_ESS 605,17158 -#define CAP_IBSS 606,17179 -#define CAP_CRYPT 607,17201 -prism54_get_scan(673,18890 -prism54_set_essid(714,20081 -prism54_get_essid(741,20760 -prism54_set_nick(771,21526 -prism54_get_nick(788,21921 -prism54_set_rate(806,22300 -prism54_get_rate(879,23570 -prism54_set_rts(907,24193 -prism54_get_rts(916,24431 -prism54_set_frag(931,24766 -prism54_get_frag(940,25007 -prism54_set_retry(961,25621 -prism54_get_retry(1003,26697 -prism54_set_encode(1035,27650 -prism54_get_encode(1124,30294 -prism54_get_txpower(1172,31743 -prism54_set_txpower(1192,32247 -prism54_reset(1218,33000 -prism54_get_oid(1227,33168 -prism54_set_u32(1242,33574 -prism54_set_raw(1251,33792 -prism54_acl_init(1260,34007 -prism54_clear_mac(1269,34172 -prism54_acl_clean(1293,34614 -prism54_add_mac(1299,34697 -prism54_del_mac(1328,35356 -prism54_get_mac(1358,36093 -prism54_set_policy(1389,36838 -prism54_get_policy(1422,37665 -prism54_mac_accept(1436,37954 -prism54_kick_all(1464,38511 -prism54_kick_mac(1484,38941 -format_event(1512,39635 -send_formatted_event(1528,40137 -send_simple_event(1544,40584 -link_changed(1560,40980 -struct ieee80211_beacon_phdr ieee80211_beacon_phdr1578,41462 -#define WLAN_EID_GENERIC 1584,41574 -static u8 wpa_oid[1585,41604 -#define MAC2STR(MAC2STR1587,41653 -#define MACSTR 1588,41719 -prism54_wpa_ie_add(1591,41772 -prism54_wpa_ie_get(1658,43413 -prism54_wpa_ie_init(1683,43908 -prism54_wpa_ie_clean(1690,44029 -prism54_process_bss_data(1702,44276 -handle_request(1730,44919 -prism54_process_trap_helper(1745,45371 -prism54_process_trap(1854,48284 -prism54_set_mac_address(1866,48579 -prism54_set_wpa(1883,48954 -prism54_get_wpa(1903,49362 -prism54_set_prismhdr(1912,49545 -prism54_get_prismhdr(1925,49879 -prism54_debug_oid(1934,50109 -prism54_debug_get_oid(1946,50351 -prism54_debug_set_oid(1982,51288 -prism54_set_spy(2018,52275 -static const iw_handler prism54_handler[2042,52914 -#define PRISM54_RESET 2093,55168 -#define PRISM54_GET_POLICY 2094,55207 -#define PRISM54_SET_POLICY 2095,55252 -#define PRISM54_GET_MAC 2096,55297 -#define PRISM54_ADD_MAC 2097,55340 -#define PRISM54_DEL_MAC 2099,55384 -#define PRISM54_KICK_MAC 2101,55428 -#define PRISM54_KICK_ALL 2103,55472 -#define PRISM54_GET_WPA 2105,55517 -#define PRISM54_SET_WPA 2106,55561 -#define PRISM54_DBG_OID 2108,55606 -#define PRISM54_DBG_GET_OID 2109,55650 -#define PRISM54_DBG_SET_OID 2110,55697 -#define PRISM54_GET_OID 2112,55745 -#define PRISM54_SET_OID_U32 2113,55789 -#define PRISM54_SET_OID_STR 2114,55836 -#define PRISM54_SET_OID_ADDR 2115,55883 -#define PRISM54_GET_PRISMHDR 2117,55932 -#define PRISM54_SET_PRISMHDR 2118,55980 -#define IWPRIV_SET_U32(IWPRIV_SET_U322120,56029 -#define IWPRIV_SET_SSID(IWPRIV_SET_SSID2121,56116 -#define IWPRIV_SET_ADDR(IWPRIV_SET_ADDR2122,56205 -#define IWPRIV_GET(IWPRIV_GET2123,56294 -#define IWPRIV_U32(IWPRIV_U322125,56391 -#define IWPRIV_SSID(IWPRIV_SSID2126,56453 -#define IWPRIV_ADDR(IWPRIV_ADDR2127,56516 -static const struct iw_priv_args prism54_private_args[2131,56644 -static const iw_handler prism54_private_handler[2223,60371 -const struct iw_handler_def prism54_handler_def 2251,61168 -prism54_ioctl(2265,61715 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_dev.h,819 -#define _ISLPCI_DEV_H24,953 - PRV_STATE_OFF 39,1291 - PRV_STATE_PREBOOT,40,1351 - PRV_STATE_BOOT,41,1416 - PRV_STATE_POSTBOOT,42,1471 - PRV_STATE_PREINIT,43,1531 - PRV_STATE_INIT,44,1572 - PRV_STATE_READY,45,1638 - PRV_STATE_SLEEP 46,1701 -} islpci_state_t;islpci_state_t47,1746 -struct mac_entry mac_entry50,1793 -struct islpci_acl islpci_acl55,1867 - enum { MAC_POLICY_OPEN=56,1887 - enum { MAC_POLICY_OPEN=0, MAC_POLICY_ACCEPT=56,1887 - enum { MAC_POLICY_OPEN=0, MAC_POLICY_ACCEPT=1, MAC_POLICY_REJECT=56,1887 -struct islpci_membuf islpci_membuf62,2129 -#define MAX_BSS_WPA_IE_COUNT 68,2345 -#define MAX_WPA_IE_LEN 69,2377 -struct islpci_bss_wpa_ie islpci_bss_wpa_ie70,2403 -} islpci_private;islpci_private185,6465 -islpci_get_state(188,6513 -#define ISLPCI_TX_TIMEOUT 197,6686 -islpci_trigger(205,6904 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_mgt.h,1842 -#define _ISLPCI_MGT_H22,836 -#define K_DEBUG(K_DEBUG31,947 -#define DEBUG(DEBUG32,1029 -#define TRACE(TRACE34,1083 -#define init_wds 37,1202 -#define PCIDEVICE_LATENCY_TIMER_MIN 41,1300 -#define PCIDEVICE_LATENCY_TIMER_VAL 42,1343 -#define SHOW_NOTHING 45,1423 -#define SHOW_ANYTHING 46,1503 -#define SHOW_ERROR_MESSAGES 47,1556 -#define SHOW_TRAPS 48,1609 -#define SHOW_FUNCTION_CALLS 49,1662 -#define SHOW_TRACING 50,1715 -#define SHOW_QUEUE_INDEXES 51,1768 -#define SHOW_PIMFOR_FRAMES 52,1821 -#define SHOW_BUFFER_CONTENTS 53,1874 -#define VERBOSE 54,1927 -#define CARD_DEFAULT_CHANNEL 57,2012 -#define CARD_DEFAULT_MODE 58,2062 -#define CARD_DEFAULT_IW_MODE 59,2126 -#define CARD_DEFAULT_BSSTYPE 60,2171 -#define CARD_DEFAULT_CLIENT_SSID 61,2239 -#define CARD_DEFAULT_AP_SSID 62,2276 -#define CARD_DEFAULT_KEY1 63,2317 -#define CARD_DEFAULT_KEY2 64,2381 -#define CARD_DEFAULT_KEY3 65,2445 -#define CARD_DEFAULT_KEY4 66,2509 -#define CARD_DEFAULT_WEP 67,2573 -#define CARD_DEFAULT_FILTER 68,2623 -#define CARD_DEFAULT_WDS 69,2673 -#define CARD_DEFAULT_AUTHEN 70,2723 -#define CARD_DEFAULT_DOT1X 71,2785 -#define CARD_DEFAULT_MLME_MODE 72,2816 -#define CARD_DEFAULT_CONFORMANCE 73,2865 -#define CARD_DEFAULT_PROFILE 74,2938 -#define CARD_DEFAULT_MAXFRAMEBURST 75,2996 -#define PIMFOR_ETHERTYPE 78,3097 -#define PIMFOR_HEADER_SIZE 79,3152 -#define PIMFOR_VERSION 80,3203 -#define PIMFOR_OP_GET 81,3253 -#define PIMFOR_OP_SET 82,3303 -#define PIMFOR_OP_RESPONSE 83,3353 -#define PIMFOR_OP_ERROR 84,3403 -#define PIMFOR_OP_TRAP 85,3453 -#define PIMFOR_OP_RESERVED 86,3503 -#define PIMFOR_DEV_ID_MHLI_MIB 87,3568 -#define PIMFOR_FLAG_APPLIC_ORIGIN 88,3618 -#define PIMFOR_FLAG_LITTLE_ENDIAN 89,3671 -add_le32p(92,3744 -} __attribute__ ((packed)packed112,4089 -struct islpci_mgmtframe islpci_mgmtframe118,4313 -islpci_mgt_release(142,5026 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/isl_38xx.c,242 -isl38xx_disable_interrupts(47,1583 -isl38xx_handle_sleep_request(54,1734 -isl38xx_handle_wakeup(90,2848 -isl38xx_trigger_device(113,3630 -isl38xx_interface_reset(193,6210 -isl38xx_enable_common_interrupts(222,7103 -isl38xx_in_queue(231,7365 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/isl_38xx.h,2706 -#define _ISL_38XX_H21,765 -#define ISL38XX_CB_RX_QSIZE 27,861 -#define ISL38XX_CB_TX_QSIZE 28,911 -#define ISL38XX_MAX_WDS_LINKS 31,1011 -#define ISL38XX_PSM_ACTIVE_STATE 34,1104 -#define ISL38XX_PSM_POWERSAVE_STATE 35,1154 -#define ISL38XX_PCI_MEM_SIZE 38,1246 -#define ISL38XX_MEMORY_WINDOW_SIZE 39,1302 -#define ISL38XX_DEV_FIRMWARE_ADDRES 40,1358 -#define ISL38XX_WRITEIO_DELAY 41,1414 -#define ISL38XX_RESET_DELAY 42,1477 -#define ISL38XX_WAIT_CYCLE 43,1540 -#define ISL38XX_MAX_WAIT_CYCLES 44,1605 -#define ISL38XX_HARDWARE_REG 47,1679 -#define ISL38XX_CARDBUS_CIS 48,1734 -#define ISL38XX_DIRECT_MEM_WIN 49,1789 -#define ISL38XX_DEV_INT_REG 52,1870 -#define ISL38XX_INT_IDENT_REG 53,1925 -#define ISL38XX_INT_ACK_REG 54,1980 -#define ISL38XX_INT_EN_REG 55,2035 -#define ISL38XX_GEN_PURP_COM_REG_1 56,2090 -#define ISL38XX_GEN_PURP_COM_REG_2 57,2145 -#define ISL38XX_CTRL_BLK_BASE_REG 58,2200 -#define ISL38XX_DIR_MEM_BASE_REG 59,2275 -#define ISL38XX_CTRL_STAT_REG 60,2330 -#define ISL38XX_PCI_POSTING_FLUSH 64,2497 -isl38xx_w32_flush(78,3029 -#define ISL38XX_DEV_INT_RESET 85,3218 -#define ISL38XX_DEV_INT_UPDATE 86,3273 -#define ISL38XX_DEV_INT_WAKEUP 87,3328 -#define ISL38XX_DEV_INT_SLEEP 88,3383 -#define ISL38XX_INT_IDENT_UPDATE 91,3503 -#define ISL38XX_INT_IDENT_INIT 92,3558 -#define ISL38XX_INT_IDENT_WAKEUP 93,3613 -#define ISL38XX_INT_IDENT_SLEEP 94,3668 -#define ISL38XX_INT_SOURCES 95,3723 -#define ISL38XX_CTRL_STAT_SLEEPMODE 98,3814 -#define ISL38XX_CTRL_STAT_CLKRUN 99,3873 -#define ISL38XX_CTRL_STAT_RESET 100,3918 -#define ISL38XX_CTRL_STAT_RAMBOOT 101,3977 -#define ISL38XX_CTRL_STAT_STARTHALTED 102,4036 -#define ISL38XX_CTRL_STAT_HOST_OVERRIDE 103,4095 -#define ISL38XX_CB_RX_DATA_LQ 106,4187 -#define ISL38XX_CB_TX_DATA_LQ 107,4237 -#define ISL38XX_CB_RX_DATA_HQ 108,4287 -#define ISL38XX_CB_TX_DATA_HQ 109,4337 -#define ISL38XX_CB_RX_MGMTQ 110,4387 -#define ISL38XX_CB_TX_MGMTQ 111,4437 -#define ISL38XX_CB_QCOUNT 112,4487 -#define ISL38XX_CB_MGMT_QSIZE 113,4537 -#define ISL38XX_MIN_QTHRESHOLD 114,4587 -#define MGMT_FRAME_SIZE 117,4687 -#define MGMT_TX_FRAME_COUNT 118,4773 -#define MGMT_RX_FRAME_COUNT 119,4855 -#define MGMT_FRAME_COUNT 120,4926 -#define CONTROL_BLOCK_SIZE 121,5018 -#define PSM_FRAME_SIZE 122,5094 -#define PSM_MINIMAL_STATION_COUNT 123,5147 -#define PSM_FRAME_COUNT 124,5198 -#define PSM_BUFFER_SIZE 125,5272 -#define MAX_TRAP_RX_QUEUE 126,5353 -#define HOST_MEM_BLOCK 127,5403 -#define FRAGMENT_FLAG_MF 130,5524 -#define MAX_FRAGMENT_SIZE 131,5579 -#define MAX_FRAGMENT_SIZE_RX 136,5781 -} isl38xx_fragment;isl38xx_fragment142,5966 -struct isl38xx_cb isl38xx_cb144,5987 -typedef struct isl38xx_cb isl38xx_control_block;isl38xx_control_block155,6415 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/prismcompat.h,127 -#define _PRISM_COMPAT_H28,942 -#define prism54_synchronize_irq(prism54_synchronize_irq41,1270 -#define PRISM_FW_PDEV 43,1329 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/oid_mgt.c,818 -const int frequency_list_bg[27,939 -channel_of_freq(32,1065 -#define OID_STRUCT(OID_STRUCT46,1332 -#define OID_STRUCT_C(OID_STRUCT_C47,1397 -#define OID_U32(OID_U3248,1475 -#define OID_U32_C(OID_U32_C49,1539 -#define OID_STRUCT_MLME(OID_STRUCT_MLME50,1607 -#define OID_STRUCT_MLMEEX(OID_STRUCT_MLMEEX51,1692 -#define OID_UNKNOWN(OID_UNKNOWN53,1784 -struct oid_t isl_oid[55,1840 -mgt_init(233,9427 -mgt_clean(264,10070 -mgt_le_to_cpu(280,10296 -mgt_cpu_to_le(343,11839 -mgt_set_request(408,13426 -mgt_get_request(469,14914 -mgt_commit_list(546,16611 -mgt_set(578,17257 -mgt_get(588,17497 -static enum oid_num_t commit_part1[600,17783 -static enum oid_num_t commit_part2[608,17925 -mgt_update_addr(625,18311 -mgt_commit(645,18752 -mgt_mlme_answer(677,19529 -mgt_oidtonum(694,20047 -mgt_response_to_str(708,20249 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/isl_ioctl.h,68 -#define _ISL_IOCTL_H23,891 -#define SUPPORTED_WIRELESS_EXT 30,1012 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_hotplug.c,403 -#define DRV_NAME 32,1071 -#define DRV_VERSION 33,1098 -static int init_pcitm 39,1334 -static const struct pci_device_id prism54_id_tbl[46,1640 -static struct pci_driver prism54_driver 87,2527 -prism54_probe(102,2980 -static volatile int __in_cleanup_module 222,6733 -prism54_remove(226,6829 -prism54_suspend(267,7831 -prism54_resume(292,8453 -prism54_module_init(312,8881 -prism54_module_exit(326,9237 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_eth.c,192 -islpci_eth_cleanup_transmit(39,1301 -islpci_eth_transmit(77,2460 -islpci_monitor_rx(259,7732 -islpci_eth_receive(322,9868 -islpci_do_reset_and_wake(494,15431 -islpci_eth_tx_timeout(503,15613 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_eth.h,211 -#define _ISLPCI_ETH_H21,767 -struct rfmon_header rfmon_header26,837 -struct rx_annex_header rx_annex_header40,1063 -#define P80211CAPTURE_VERSION 48,1283 -struct avs_80211_1_header avs_80211_1_header50,1325 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/islpci_mgt.c,268 -int pc_debug 41,1370 -display_buffer(48,1621 -pimfor_encode_header(70,2106 -pimfor_decode_header(84,2458 -islpci_mgmt_rx_fill(107,2888 -islpci_mgt_transmit(166,4637 -islpci_mgt_receive(273,7614 -islpci_mgt_cleanup_transmit(416,11988 -islpci_mgt_transaction(450,12999 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/prism54/isl_oid.h,8594 -#define _ISL_OID_H24,912 -struct obj_ssid obj_ssid31,1037 -struct obj_key obj_key36,1114 -struct obj_mlme obj_mlme42,1217 -struct obj_mlmeex obj_mlmeex49,1312 -struct obj_buffer obj_buffer58,1433 -struct obj_bss obj_bss63,1529 -struct obj_bsslist obj_bsslist84,1841 -struct obj_frequencies obj_frequencies89,1928 -__bug_on_wrong_struct_sizes(99,2131 -enum dot11_state_t dot11_state_t111,2507 - DOT11_STATE_NONE 112,2528 - DOT11_STATE_AUTHING 113,2551 - DOT11_STATE_AUTH 114,2577 - DOT11_STATE_ASSOCING 115,2600 - DOT11_STATE_ASSOC 117,2628 - DOT11_STATE_IBSS 118,2652 - DOT11_STATE_WDS 119,2675 -enum dot11_bsstype_t dot11_bsstype_t122,2700 - DOT11_BSSTYPE_NONE 123,2723 - DOT11_BSSTYPE_INFRA 124,2748 - DOT11_BSSTYPE_IBSS 125,2774 - DOT11_BSSTYPE_ANY 126,2799 -enum dot11_auth_t dot11_auth_t129,2826 - DOT11_AUTH_NONE 130,2846 - DOT11_AUTH_OS 131,2868 - DOT11_AUTH_SK 132,2888 - DOT11_AUTH_BOTH 133,2908 -enum dot11_mlme_t dot11_mlme_t136,2933 - DOT11_MLME_AUTO 137,2953 - DOT11_MLME_INTERMEDIATE 138,2975 - DOT11_MLME_EXTENDED 139,3005 -enum dot11_priv_t dot11_priv_t142,3034 - DOT11_PRIV_WEP 143,3054 - DOT11_PRIV_TKIP 144,3075 -enum dot11_maxframeburst_t dot11_maxframeburst_t155,3489 - DOT11_MAXFRAMEBURST_OFF 157,3561 - DOT11_MAXFRAMEBURST_MIXED_SAFE 158,3619 - DOT11_MAXFRAMEBURST_IDEAL 159,3682 - DOT11_MAXFRAMEBURST_MAX 160,3747 -enum dot11_preamblesettings_t dot11_preamblesettings_t175,4313 - DOT11_PREAMBLESETTING_LONG 176,4345 - DOT11_PREAMBLESETTING_SHORT 178,4422 - DOT11_PREAMBLESETTING_DYNAMIC 180,4501 -enum dot11_slotsettings_t dot11_slotsettings_t188,4722 - DOT11_SLOTSETTINGS_LONG 189,4750 - DOT11_SLOTSETTINGS_SHORT 191,4828 - DOT11_SLOTSETTINGS_DYNAMIC 193,4906 -enum do11_nonerpstatus_t do11_nonerpstatus_t208,5350 - DOT11_ERPSTAT_NONEPRESENT 209,5377 - DOT11_ERPSTAT_USEPROTECTION 210,5409 -enum dot11_nonerpprotection_t dot11_nonerpprotection_t218,5706 - DOT11_NONERP_NEVER 219,5738 - DOT11_NONERP_ALWAYS 220,5763 - DOT11_NONERP_DYNAMIC 221,5789 -enum dot11_profile_t dot11_profile_t227,5951 - DOT11_PROFILE_B_ONLY 229,6048 - DOT11_PROFILE_MIXED_G_WIFI 236,6314 - DOT11_PROFILE_MIXED_LONG 243,6617 - DOT11_PROFILE_G_ONLY 245,6704 - DOT11_PROFILE_TEST 247,6768 - DOT11_PROFILE_B_WIFI 253,7005 - DOT11_PROFILE_A_ONLY 255,7063 - DOT11_PROFILE_MIXED_SHORT 259,7192 -enum oid_inl_conformance_t oid_inl_conformance_t266,7377 - OID_INL_CONFORMANCE_NONE 267,7406 - OID_INL_CONFORMANCE_STRICT 268,7467 - OID_INL_CONFORMANCE_FLEXIBLE 269,7533 -enum oid_inl_mode_t oid_inl_mode_t274,7701 - INL_MODE_NONE 275,7723 - INL_MODE_PROMISCUOUS 276,7744 - INL_MODE_CLIENT 277,7771 - INL_MODE_AP 278,7793 - INL_MODE_SNIFFER 279,7811 -enum oid_inl_config_t oid_inl_config_t282,7837 - INL_CONFIG_NOTHING 283,7861 - INL_CONFIG_NOTHING = 0x00,283,7861 - INL_CONFIG_MANUALRUN 284,7889 - INL_CONFIG_MANUALRUN = 0x01,284,7889 - INL_CONFIG_FRAMETRAP 285,7919 - INL_CONFIG_FRAMETRAP = 0x02,285,7919 - INL_CONFIG_RXANNEX 286,7949 - INL_CONFIG_RXANNEX = 0x04,286,7949 - INL_CONFIG_TXANNEX 287,7977 - INL_CONFIG_TXANNEX = 0x08,287,7977 - INL_CONFIG_WDS 288,8005 - INL_CONFIG_WDS = 0x10288,8005 -enum oid_inl_phycap_t oid_inl_phycap_t291,8032 - INL_PHYCAP_2400MHZ 292,8056 - INL_PHYCAP_5000MHZ 293,8081 - INL_PHYCAP_FAA 294,8106 - INL_PHYCAP_FAA = 0x80000000,294,8106 -enum oid_num_t oid_num_t298,8182 - GEN_OID_MACADDRESS 299,8199 - GEN_OID_LINKSTATE,300,8224 - GEN_OID_WATCHDOG,301,8244 - GEN_OID_MIBOP,302,8263 - GEN_OID_OPTIONS,303,8279 - GEN_OID_LEDCONFIG,304,8297 - DOT11_OID_BSSTYPE,307,8332 - DOT11_OID_BSSID,308,8352 - DOT11_OID_SSID,309,8370 - DOT11_OID_STATE,310,8387 - DOT11_OID_AID,311,8405 - DOT11_OID_COUNTRYSTRING,312,8421 - DOT11_OID_SSIDOVERRIDE,313,8447 - DOT11_OID_MEDIUMLIMIT,315,8473 - DOT11_OID_BEACONPERIOD,316,8497 - DOT11_OID_DTIMPERIOD,317,8522 - DOT11_OID_ATIMWINDOW,318,8545 - DOT11_OID_LISTENINTERVAL,319,8568 - DOT11_OID_CFPPERIOD,320,8595 - DOT11_OID_CFPDURATION,321,8617 - DOT11_OID_AUTHENABLE,323,8642 - DOT11_OID_PRIVACYINVOKED,324,8665 - DOT11_OID_EXUNENCRYPTED,325,8692 - DOT11_OID_DEFKEYID,326,8718 - DOT11_OID_DEFKEYX,327,8739 - DOT11_OID_STAKEY,328,8804 - DOT11_OID_REKEYTHRESHOLD,329,8823 - DOT11_OID_STASC,330,8850 - DOT11_OID_PRIVTXREJECTED,332,8869 - DOT11_OID_PRIVRXPLAIN,333,8896 - DOT11_OID_PRIVRXFAILED,334,8920 - DOT11_OID_PRIVRXNOKEY,335,8945 - DOT11_OID_RTSTHRESH,337,8970 - DOT11_OID_FRAGTHRESH,338,8992 - DOT11_OID_SHORTRETRIES,339,9015 - DOT11_OID_LONGRETRIES,340,9040 - DOT11_OID_MAXTXLIFETIME,341,9064 - DOT11_OID_MAXRXLIFETIME,342,9090 - DOT11_OID_AUTHRESPTIMEOUT,343,9116 - DOT11_OID_ASSOCRESPTIMEOUT,344,9144 - DOT11_OID_ALOFT_TABLE,346,9174 - DOT11_OID_ALOFT_CTRL_TABLE,347,9198 - DOT11_OID_ALOFT_RETREAT,348,9227 - DOT11_OID_ALOFT_PROGRESS,349,9253 - DOT11_OID_ALOFT_FIXEDRATE,350,9280 - DOT11_OID_ALOFT_RSSIGRAPH,351,9308 - DOT11_OID_ALOFT_CONFIG,352,9336 - DOT11_OID_VDCFX,354,9362 - DOT11_OID_MAXFRAMEBURST,355,9380 - DOT11_OID_PSM,357,9407 - DOT11_OID_CAMTIMEOUT,358,9423 - DOT11_OID_RECEIVEDTIMS,359,9446 - DOT11_OID_ROAMPREFERENCE,360,9471 - DOT11_OID_BRIDGELOCAL,362,9499 - DOT11_OID_CLIENTS,363,9523 - DOT11_OID_CLIENTSASSOCIATED,364,9543 - DOT11_OID_CLIENTX,365,9573 - DOT11_OID_CLIENTFIND,367,9642 - DOT11_OID_WDSLINKADD,368,9665 - DOT11_OID_WDSLINKREMOVE,369,9688 - DOT11_OID_EAPAUTHSTA,370,9714 - DOT11_OID_EAPUNAUTHSTA,371,9737 - DOT11_OID_DOT1XENABLE,372,9762 - DOT11_OID_MICFAILURE,373,9786 - DOT11_OID_REKEYINDICATE,374,9809 - DOT11_OID_MPDUTXSUCCESSFUL,376,9836 - DOT11_OID_MPDUTXONERETRY,377,9865 - DOT11_OID_MPDUTXMULTIPLERETRIES,378,9892 - DOT11_OID_MPDUTXFAILED,379,9926 - DOT11_OID_MPDURXSUCCESSFUL,380,9951 - DOT11_OID_MPDURXDUPS,381,9980 - DOT11_OID_RTSSUCCESSFUL,382,10003 - DOT11_OID_RTSFAILED,383,10029 - DOT11_OID_ACKFAILED,384,10051 - DOT11_OID_FRAMERECEIVES,385,10073 - DOT11_OID_FRAMEERRORS,386,10099 - DOT11_OID_FRAMEABORTS,387,10123 - DOT11_OID_FRAMEABORTSPHY,388,10147 - DOT11_OID_SLOTTIME,390,10175 - DOT11_OID_CWMIN,391,10196 - DOT11_OID_CWMAX,392,10236 - DOT11_OID_ACKWINDOW,393,10276 - DOT11_OID_ANTENNARX,394,10298 - DOT11_OID_ANTENNATX,395,10320 - DOT11_OID_ANTENNADIVERSITY,396,10342 - DOT11_OID_CHANNEL,397,10371 - DOT11_OID_EDTHRESHOLD,398,10391 - DOT11_OID_PREAMBLESETTINGS,399,10415 - DOT11_OID_RATES,400,10444 - DOT11_OID_CCAMODESUPPORTED,401,10462 - DOT11_OID_CCAMODE,402,10491 - DOT11_OID_RSSIVECTOR,403,10511 - DOT11_OID_OUTPUTPOWERTABLE,404,10534 - DOT11_OID_OUTPUTPOWER,405,10563 - DOT11_OID_SUPPORTEDRATES,406,10587 - DOT11_OID_FREQUENCY,407,10614 - DOT11_OID_SUPPORTEDFREQUENCIES,408,10636 - DOT11_OID_NOISEFLOOR,409,10669 - DOT11_OID_FREQUENCYACTIVITY,410,10692 - DOT11_OID_IQCALIBRATIONTABLE,411,10722 - DOT11_OID_NONERPPROTECTION,412,10753 - DOT11_OID_SLOTSETTINGS,413,10782 - DOT11_OID_NONERPTIMEOUT,414,10807 - DOT11_OID_PROFILES,415,10833 - DOT11_OID_EXTENDEDRATES,416,10854 - DOT11_OID_DEAUTHENTICATE,418,10881 - DOT11_OID_AUTHENTICATE,419,10908 - DOT11_OID_DISASSOCIATE,420,10933 - DOT11_OID_ASSOCIATE,421,10958 - DOT11_OID_SCAN,422,10980 - DOT11_OID_BEACON,423,10997 - DOT11_OID_PROBE,424,11016 - DOT11_OID_DEAUTHENTICATEEX,425,11034 - DOT11_OID_AUTHENTICATEEX,426,11063 - DOT11_OID_DISASSOCIATEEX,427,11090 - DOT11_OID_ASSOCIATEEX,428,11117 - DOT11_OID_REASSOCIATE,429,11141 - DOT11_OID_REASSOCIATEEX,430,11165 - DOT11_OID_NONERPSTATUS,432,11192 - DOT11_OID_STATIMEOUT,434,11218 - DOT11_OID_MLMEAUTOLEVEL,435,11241 - DOT11_OID_BSSTIMEOUT,436,11267 - DOT11_OID_ATTACHMENT,437,11290 - DOT11_OID_PSMBUFFER,438,11313 - DOT11_OID_BSSS,440,11336 - DOT11_OID_BSSX,441,11353 - DOT11_OID_BSSFIND,442,11411 - DOT11_OID_BSSLIST,443,11431 - OID_INL_TUNNEL,445,11452 - OID_INL_MEMADDR,446,11469 - OID_INL_MEMORY,447,11487 - OID_INL_MODE,448,11504 - OID_INL_COMPONENT_NR,449,11519 - OID_INL_VERSION,450,11542 - OID_INL_INTERFACE_ID,451,11560 - OID_INL_COMPONENT_ID,452,11583 - OID_INL_CONFIG,453,11606 - OID_INL_DOT11D_CONFORMANCE,454,11623 - OID_INL_PHYCAPABILITIES,455,11652 - OID_INL_OUTPUTPOWER,456,11678 - OID_NUM_LAST458,11701 -#define OID_FLAG_CACHED 461,11719 -#define OID_FLAG_TYPE 462,11749 -#define OID_TYPE_U32 464,11778 -#define OID_TYPE_SSID 465,11805 -#define OID_TYPE_KEY 466,11833 -#define OID_TYPE_BUFFER 467,11860 -#define OID_TYPE_BSS 468,11890 -#define OID_TYPE_BSSLIST 469,11917 -#define OID_TYPE_FREQUENCIES 470,11947 -#define OID_TYPE_MLME 471,11981 -#define OID_TYPE_MLMEEX 472,12009 -#define OID_TYPE_ADDR 473,12039 -#define OID_TYPE_RAW 474,12067 -struct oid_t oid_t480,12229 -union oid_res_t oid_res_t487,12380 -#define IWMAX_BITRATES 492,12422 -#define IWMAX_BSS 493,12448 -#define IWMAX_FREQ 494,12469 -#define PRIV_STR_SIZE 495,12491 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_crypt.h,244 -#define IEEE80211_CRYPT_H24,761 -#define CONFIG_IEEE80211_CRYPT28,856 -struct ieee80211_crypto_ops ieee80211_crypto_ops35,959 -struct ieee80211_crypt_data ieee80211_crypt_data78,2647 -struct ieee80211_crypt_data ieee80211_crypt_data95,3255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_tx.c,305 -static u8 P802_1H_OUI[132,4843 -static u8 RFC1042_OUI[133,4905 -static inline int ieee80211_put_snap(135,4968 -static inline int ieee80211_encrypt_fragment(159,5458 -void ieee80211_txb_free(206,6833 -struct ieee80211_txb *ieee80211_alloc_txb(216,7045 -struct ieee80211_txb *ieee80211_skb_to_txb(247,7721 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_module.c,547 -#define DRV_NAME 60,2119 -static inline int ieee80211_networks_allocate(62,2149 -static inline void ieee80211_networks_free(82,2603 -static inline void ieee80211_networks_initialize(90,2762 -struct ieee80211_device *ieee80211_alloc(100,3047 -void ieee80211_free(145,4123 -static int debug 171,4641 -u32 ieee80211_debug_level 172,4663 -struct proc_dir_entry *ieee80211_proc 173,4694 -static int show_debug_level(175,4741 -static int store_debug_level(181,4921 -static int __init ieee80211_init(208,5594 -static void __exit ieee80211_exit(233,6175 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_wx.c,280 -static const char ieee80211_modes[38,1544 -static u32 ieee80211_frequency(43,1614 -#define MAX_CUSTOM_LEN 63,1989 -static inline char *ipw2100_translate_scan(64,2015 -int ieee80211_wx_get_scan(244,7446 -int ieee80211_wx_set_encode(284,8438 -int ieee80211_wx_get_encode(458,13417 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_rx.c,752 -static inline void ieee80211_monitor_rx(40,1154 -ieee80211_frag_cache_find(59,1721 -ieee80211_frag_cache_get(88,2585 -static int ieee80211_frag_cache_invalidate(140,3919 -ieee80211_rx_frame_mgmt(172,4593 -static unsigned char rfc1042_header[225,6137 -static unsigned char bridge_tunnel_header[228,6286 -static int ieee80211_is_eapol_frame(234,6507 -ieee80211_rx_frame_decrypt(275,7617 -ieee80211_rx_frame_decrypt_msdu(320,8871 -int ieee80211_rx(350,9813 -#define MGMT_FRAME_FIXED_PART_LENGTH 791,22764 -static int ieee80211_filter_network(793,22808 -static inline int ieee80211_is_ofdm_rate(824,23503 -static inline int ieee80211_network_init(841,23893 -static inline void ieee80211_process_probe_response(1014,29171 -void ieee80211_rx_mgt(1118,32531 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_crypt_tkip.c,1332 -struct ieee80211_tkip_data ieee80211_tkip_data38,963 -#define TKIP_KEY_LEN 39,992 -static void * ieee80211_tkip_init(68,1498 -static void ieee80211_tkip_deinit(107,2312 -static inline u16 RotR1(118,2561 -static inline u8 Lo8(124,2634 -static inline u8 Hi8(130,2690 -static inline u16 Lo16(136,2744 -static inline u16 Hi16(142,2804 -static inline u16 Mk16(148,2861 -static inline u16 Mk16_le(154,2936 -static const u16 Sbox[160,3001 -static inline u16 _S_(197,5117 -#define PHASE1_LOOP_COUNT 204,5221 -static void tkip_mixing_phase1(206,5250 -static void tkip_mixing_phase2(228,5902 -static int ieee80211_tkip_encrypt(274,7259 -static int ieee80211_tkip_decrypt(331,8659 -static int michael_mic(434,11395 -static void michael_mic_hdr(459,12046 -static int ieee80211_michael_mic_add(489,12940 -static void ieee80211_michael_mic_failure(512,13524 -static void ieee80211_michael_mic_failure(533,14203 -static inline void ieee80211_michael_mic_failure(549,14742 -static int ieee80211_michael_mic_verify(557,14914 -static int ieee80211_tkip_set_key(594,15930 -static int ieee80211_tkip_get_key(624,16647 -static char * ieee80211_tkip_print_stats(654,17259 -static struct ieee80211_crypto_ops ieee80211_crypt_tkip 681,18146 -static int __init ieee80211_crypto_tkip_init(698,18716 -static void __exit ieee80211_crypto_tkip_exit(707,18861 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_crypt.c,711 -struct ieee80211_crypto_alg ieee80211_crypto_alg28,707 -struct ieee80211_crypto ieee80211_crypto34,801 -static struct ieee80211_crypto *hcrypt;39,873 -void ieee80211_crypt_deinit_entries(41,914 -void ieee80211_crypt_deinit_handler(64,1452 -void ieee80211_crypt_delayed_deinit(81,1978 -int ieee80211_register_crypto_ops(106,2653 -int ieee80211_unregister_crypto_ops(131,3174 -struct ieee80211_crypto_ops * ieee80211_get_crypto_ops(162,3860 -static void * ieee80211_crypt_null_init(189,4452 -static void ieee80211_crypt_null_deinit(190,4527 -static struct ieee80211_crypto_ops ieee80211_crypt_null 192,4583 -static int __init ieee80211_crypto_init(208,4955 -static void __exit ieee80211_crypto_deinit(224,5271 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211.h,10580 -#define IEEE80211_H22,812 -#define IEEE80211_DATA_LEN 25,876 -#define IEEE80211_HLEN 35,1268 -#define IEEE80211_FRAME_LEN 36,1296 -struct ieee80211_hdr ieee80211_hdr38,1364 -#define IEEE80211_3ADDR_SIZE 48,1548 -#define IEEE80211_4ADDR_SIZE 49,1582 -#define MIN_FRAG_THRESHOLD 51,1617 -#define MAX_FRAG_THRESHOLD 52,1653 -#define IEEE80211_FCTL_VERS 55,1727 -#define IEEE80211_FCTL_FTYPE 56,1763 -#define IEEE80211_FCTL_STYPE 57,1800 -#define IEEE80211_FCTL_TODS 58,1837 -#define IEEE80211_FCTL_FROMDS 59,1873 -#define IEEE80211_FCTL_MOREFRAGS 60,1911 -#define IEEE80211_FCTL_RETRY 61,1951 -#define IEEE80211_FCTL_PM 62,1988 -#define IEEE80211_FCTL_MOREDATA 63,2022 -#define IEEE80211_FCTL_WEP 64,2061 -#define IEEE80211_FCTL_ORDER 65,2096 -#define IEEE80211_FTYPE_MGMT 67,2134 -#define IEEE80211_FTYPE_CTL 68,2171 -#define IEEE80211_FTYPE_DATA 69,2207 -#define IEEE80211_STYPE_ASSOC_REQ 72,2262 -#define IEEE80211_STYPE_ASSOC_RESP 73,2303 -#define IEEE80211_STYPE_REASSOC_REQ 74,2346 -#define IEEE80211_STYPE_REASSOC_RESP 75,2389 -#define IEEE80211_STYPE_PROBE_REQ 76,2433 -#define IEEE80211_STYPE_PROBE_RESP 77,2474 -#define IEEE80211_STYPE_BEACON 78,2516 -#define IEEE80211_STYPE_ATIM 79,2555 -#define IEEE80211_STYPE_DISASSOC 80,2592 -#define IEEE80211_STYPE_AUTH 81,2632 -#define IEEE80211_STYPE_DEAUTH 82,2669 -#define IEEE80211_STYPE_PSPOLL 85,2723 -#define IEEE80211_STYPE_RTS 86,2762 -#define IEEE80211_STYPE_CTS 87,2798 -#define IEEE80211_STYPE_ACK 88,2834 -#define IEEE80211_STYPE_CFEND 89,2870 -#define IEEE80211_STYPE_CFENDACK 90,2908 -#define IEEE80211_STYPE_DATA 93,2960 -#define IEEE80211_STYPE_DATA_CFACK 94,2997 -#define IEEE80211_STYPE_DATA_CFPOLL 95,3039 -#define IEEE80211_STYPE_DATA_CFACKPOLL 96,3082 -#define IEEE80211_STYPE_NULLFUNC 97,3128 -#define IEEE80211_STYPE_CFACK 98,3168 -#define IEEE80211_STYPE_CFPOLL 99,3206 -#define IEEE80211_STYPE_CFACKPOLL 100,3245 -#define IEEE80211_SCTL_FRAG 102,3287 -#define IEEE80211_SCTL_SEQ 103,3323 -#define IEEE80211_DEBUG(IEEE80211_DEBUG110,3444 -#define IEEE80211_DEBUG(IEEE80211_DEBUG115,3661 -#define IEEE80211_DL_INFO 144,4617 -#define IEEE80211_DL_WX 145,4659 -#define IEEE80211_DL_SCAN 146,4701 -#define IEEE80211_DL_STATE 147,4743 -#define IEEE80211_DL_MGMT 148,4785 -#define IEEE80211_DL_FRAG 149,4827 -#define IEEE80211_DL_EAP 150,4869 -#define IEEE80211_ERROR(IEEE80211_ERROR152,4912 -#define IEEE80211_WARNING(IEEE80211_WARNING153,4984 -#define IEEE80211_DEBUG_INFO(IEEE80211_DEBUG_INFO154,5062 -#define IEEE80211_DEBUG_WX(IEEE80211_DEBUG_WX156,5147 -#define IEEE80211_DEBUG_SCAN(IEEE80211_DEBUG_SCAN157,5229 -#define IEEE80211_DEBUG_STATE(IEEE80211_DEBUG_STATE158,5313 -#define IEEE80211_DEBUG_MGMT(IEEE80211_DEBUG_MGMT159,5398 -#define IEEE80211_DEBUG_FRAG(IEEE80211_DEBUG_FRAG160,5481 -#define IEEE80211_DEBUG_EAP(IEEE80211_DEBUG_EAP161,5564 -#define WIRELESS_SPY 167,5769 -#define BIT(BIT171,5869 -#define ETH_P_PAE 174,5914 -#define ETH_P_PREAUTH 177,6002 -#define ETH_P_80211_RAW 180,6094 -#define P80211_OUI_LEN 185,6172 -struct ieee80211_snap_hdr ieee80211_snap_hdr187,6198 -#define SNAP_SIZE 196,6449 -#define WLAN_FC_GET_TYPE(WLAN_FC_GET_TYPE198,6502 -#define WLAN_FC_GET_STYPE(WLAN_FC_GET_STYPE199,6561 -#define WLAN_GET_SEQ_FRAG(WLAN_GET_SEQ_FRAG201,6622 -#define WLAN_GET_SEQ_SEQ(WLAN_GET_SEQ_SEQ202,6683 -#define WLAN_AUTH_OPEN 205,6776 -#define WLAN_AUTH_SHARED_KEY 206,6801 -#define WLAN_AUTH_CHALLENGE_LEN 208,6833 -#define WLAN_CAPABILITY_BSS 210,6870 -#define WLAN_CAPABILITY_IBSS 211,6905 -#define WLAN_CAPABILITY_CF_POLLABLE 212,6941 -#define WLAN_CAPABILITY_CF_POLL_REQUEST 213,6984 -#define WLAN_CAPABILITY_PRIVACY 214,7031 -#define WLAN_CAPABILITY_SHORT_PREAMBLE 215,7070 -#define WLAN_CAPABILITY_PBCC 216,7116 -#define WLAN_CAPABILITY_CHANNEL_AGILITY 217,7152 -#define WLAN_STATUS_SUCCESS 220,7219 -#define WLAN_STATUS_UNSPECIFIED_FAILURE 221,7249 -#define WLAN_STATUS_CAPS_UNSUPPORTED 222,7291 -#define WLAN_STATUS_REASSOC_NO_ASSOC 223,7331 -#define WLAN_STATUS_ASSOC_DENIED_UNSPEC 224,7371 -#define WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG 225,7414 -#define WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION 226,7460 -#define WLAN_STATUS_CHALLENGE_FAIL 227,7508 -#define WLAN_STATUS_AUTH_TIMEOUT 228,7546 -#define WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA 229,7582 -#define WLAN_STATUS_ASSOC_DENIED_RATES 230,7633 -#define WLAN_STATUS_ASSOC_DENIED_NOSHORT 232,7689 -#define WLAN_STATUS_ASSOC_DENIED_NOPBCC 233,7733 -#define WLAN_STATUS_ASSOC_DENIED_NOAGILITY 234,7776 -#define WLAN_REASON_UNSPECIFIED 237,7842 -#define WLAN_REASON_PREV_AUTH_NOT_VALID 238,7876 -#define WLAN_REASON_DEAUTH_LEAVING 239,7918 -#define WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY 240,7955 -#define WLAN_REASON_DISASSOC_AP_BUSY 241,8004 -#define WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA 242,8043 -#define WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA 243,8095 -#define WLAN_REASON_DISASSOC_STA_HAS_LEFT 244,8148 -#define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 245,8192 -#define WLAN_EID_SSID 249,8273 -#define WLAN_EID_SUPP_RATES 250,8297 -#define WLAN_EID_FH_PARAMS 251,8327 -#define WLAN_EID_DS_PARAMS 252,8356 -#define WLAN_EID_CF_PARAMS 253,8385 -#define WLAN_EID_TIM 254,8414 -#define WLAN_EID_IBSS_PARAMS 255,8437 -#define WLAN_EID_CHALLENGE 256,8468 -#define WLAN_EID_RSN 257,8498 -#define WLAN_EID_GENERIC 258,8522 -#define IEEE80211_MGMT_HDR_LEN 260,8552 -#define IEEE80211_DATA_HDR3_LEN 261,8586 -#define IEEE80211_DATA_HDR4_LEN 262,8621 -#define IEEE80211_STATMASK_SIGNAL 265,8658 -#define IEEE80211_STATMASK_RSSI 266,8699 -#define IEEE80211_STATMASK_NOISE 267,8738 -#define IEEE80211_STATMASK_RATE 268,8778 -#define IEEE80211_STATMASK_WEMASK 269,8817 -#define IEEE80211_CCK_MODULATION 272,8857 -#define IEEE80211_OFDM_MODULATION 273,8900 -#define IEEE80211_24GHZ_BAND 275,8944 -#define IEEE80211_52GHZ_BAND 276,8984 -#define IEEE80211_CCK_RATE_1MB 278,9025 -#define IEEE80211_CCK_RATE_2MB 279,9063 -#define IEEE80211_CCK_RATE_5MB 280,9101 -#define IEEE80211_CCK_RATE_11MB 281,9138 -#define IEEE80211_OFDM_RATE_6MB 282,9176 -#define IEEE80211_OFDM_RATE_9MB 283,9215 -#define IEEE80211_OFDM_RATE_12MB 284,9253 -#define IEEE80211_OFDM_RATE_18MB 285,9293 -#define IEEE80211_OFDM_RATE_24MB 286,9332 -#define IEEE80211_OFDM_RATE_36MB 287,9371 -#define IEEE80211_OFDM_RATE_48MB 288,9410 -#define IEEE80211_OFDM_RATE_54MB 289,9449 -#define IEEE80211_BASIC_RATE_MASK 290,9488 -#define IEEE80211_CCK_RATE_1MB_MASK 292,9529 -#define IEEE80211_CCK_RATE_2MB_MASK 293,9574 -#define IEEE80211_CCK_RATE_5MB_MASK 294,9618 -#define IEEE80211_CCK_RATE_11MB_MASK 295,9662 -#define IEEE80211_OFDM_RATE_6MB_MASK 296,9707 -#define IEEE80211_OFDM_RATE_9MB_MASK 297,9752 -#define IEEE80211_OFDM_RATE_12MB_MASK 298,9797 -#define IEEE80211_OFDM_RATE_18MB_MASK 299,9843 -#define IEEE80211_OFDM_RATE_24MB_MASK 300,9889 -#define IEEE80211_OFDM_RATE_36MB_MASK 301,9936 -#define IEEE80211_OFDM_RATE_48MB_MASK 302,9982 -#define IEEE80211_OFDM_RATE_54MB_MASK 303,10029 -#define IEEE80211_CCK_RATES_MASK 305,10077 -#define IEEE80211_CCK_BASIC_RATES_MASK 306,10129 -#define IEEE80211_CCK_DEFAULT_RATES_MASK 308,10231 -#define IEEE80211_OFDM_RATES_MASK 312,10387 -#define IEEE80211_OFDM_BASIC_RATES_MASK 313,10433 -#define IEEE80211_OFDM_DEFAULT_RATES_MASK 316,10574 -#define IEEE80211_DEFAULT_RATES_MASK 322,10825 -#define IEEE80211_NUM_OFDM_RATES 325,10968 -#define IEEE80211_NUM_CCK_RATES 326,11007 -#define IEEE80211_OFDM_SHIFT_MASK_A 327,11045 -struct ieee80211_rx_stats ieee80211_rx_stats335,11281 -#define IEEE80211_FRAG_CACHE_LEN 352,11759 -struct ieee80211_frag_entry ieee80211_frag_entry354,11795 -struct ieee80211_stats ieee80211_stats363,11975 -#define SEC_KEY_1 391,12811 -#define SEC_KEY_2 392,12844 -#define SEC_KEY_3 393,12877 -#define SEC_KEY_4 394,12910 -#define SEC_ACTIVE_KEY 395,12943 -#define SEC_AUTH_MODE 396,12976 -#define SEC_UNICAST_GROUP 397,13009 -#define SEC_LEVEL 398,13042 -#define SEC_ENABLED 399,13075 -#define SEC_LEVEL_0 401,13109 -#define SEC_LEVEL_1 402,13147 -#define SEC_LEVEL_2 403,13199 -#define SEC_LEVEL_2_CKIP 404,13247 -#define SEC_LEVEL_3 405,13295 -#define WEP_KEYS 407,13344 -#define WEP_KEY_LEN 408,13363 -struct ieee80211_security ieee80211_security410,13387 -struct ieee80211_header_data ieee80211_header_data438,14164 -#define BEACON_PROBE_SSID_ID_POSITION 447,14290 -#define MFIE_TYPE_SSID 450,14381 -#define MFIE_TYPE_RATES 451,14412 -#define MFIE_TYPE_FH_SET 452,14443 -#define MFIE_TYPE_DS_SET 453,14474 -#define MFIE_TYPE_CF_SET 454,14505 -#define MFIE_TYPE_TIM 455,14536 -#define MFIE_TYPE_IBSS_SET 456,14567 -#define MFIE_TYPE_CHALLENGE 457,14598 -#define MFIE_TYPE_RSN 458,14630 -#define MFIE_TYPE_RATES_EX 459,14660 -#define MFIE_TYPE_GENERIC 460,14692 -struct ieee80211_info_element_hdr ieee80211_info_element_hdr462,14726 -struct ieee80211_info_element ieee80211_info_element467,14808 -struct ieee80211_authentication ieee80211_authentication490,15223 -struct ieee80211_probe_response ieee80211_probe_response499,15417 -struct ieee80211_assoc_request_frame ieee80211_assoc_request_frame507,15622 -struct ieee80211_helper_functions ieee80211_helper_functions514,15800 -#define MAX_SWEEP_TAB_ENTRIES 546,17018 -#define MAX_SWEEP_TAB_ENTRIES_PER_PACKET 547,17054 -#define MAX_RATES_LENGTH 552,17349 -#define MAX_RATES_EX_LENGTH 553,17400 -#define MAX_NETWORK_COUNT 554,17451 -#define CRC_LENGTH 556,17499 -#define MAX_WPA_IE_LEN 558,17538 -#define NETWORK_EMPTY_ESSID 560,17565 -#define NETWORK_HAS_OFDM 561,17600 -struct ieee80211_network ieee80211_network563,17636 -enum ieee80211_state ieee80211_state592,18284 - IEEE80211_UNINITIALIZED 593,18307 - IEEE80211_INITIALIZED,594,18337 - IEEE80211_ASSOCIATING,595,18361 - IEEE80211_ASSOCIATED,596,18385 - IEEE80211_AUTHENTICATING,597,18408 - IEEE80211_AUTHENTICATED,598,18435 - IEEE80211_SHUTDOWN599,18461 -#define DEFAULT_MAX_SCAN_AGE 602,18485 -#define DEFAULT_FTS 603,18525 -#define MAC_FMT 604,18550 -#define MAC_ARG(MAC_ARG605,18598 -extern inline int is_multicast_ether_addr(608,18703 -extern inline int is_broadcast_ether_addr(613,18815 -struct ieee80211_device ieee80211_device620,19019 -#define IEEE_A 693,21031 -#define IEEE_B 694,21059 -#define IEEE_G 695,21087 -#define IEEE_MASK 696,21115 -extern inline int ieee80211_is_empty_essid(698,21184 -extern inline int ieee80211_is_valid_mode(715,21528 -extern inline int ieee80211_get_hdrlen(740,22081 -struct ieee80211_txb ieee80211_txb776,22794 -extern inline void ieee80211_increment_scans(809,23841 -extern inline int ieee80211_get_scans(814,23939 -static inline const char *escape_essid(819,24035 -#define offset_in_page(offset_in_page844,24552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_crypt_wep.c,533 -struct prism2_wep_data prism2_wep_data35,878 -#define WEP_KEY_LEN 37,912 -static void * prism2_wep_init(45,1017 -static void prism2_wep_deinit(77,1599 -static int prism2_wep_encrypt(92,2043 -static int prism2_wep_decrypt(156,3829 -static int prism2_wep_set_key(208,4972 -static int prism2_wep_get_key(222,5198 -static char * prism2_wep_print_stats(235,5413 -static struct ieee80211_crypto_ops ieee80211_crypt_wep 244,5606 -static int __init ieee80211_crypto_wep_init(261,6072 -static void __exit ieee80211_crypto_wep_exit(270,6215 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/ieee80211/ieee80211_crypt_ccmp.c,817 -#define AES_BLOCK_LEN 38,966 -#define CCMP_HDR_LEN 39,991 -#define CCMP_MIC_LEN 40,1014 -#define CCMP_TK_LEN 41,1037 -#define CCMP_PN_LEN 42,1060 -struct ieee80211_ccmp_data ieee80211_ccmp_data44,1083 -void ieee80211_ccmp_aes_encrypt(65,1566 -static void * ieee80211_ccmp_init(81,1938 -static void ieee80211_ccmp_deinit(112,2461 -static inline void xor_block(121,2627 -static void ccmp_init_blocks(129,2739 -static int ieee80211_ccmp_encrypt(204,4711 -static int ieee80211_ccmp_decrypt(269,6256 -static int ieee80211_ccmp_set_key(372,8955 -static int ieee80211_ccmp_get_key(403,9639 -static char * ieee80211_ccmp_print_stats(427,10072 -static struct ieee80211_crypto_ops ieee80211_crypt_ccmp 444,10602 -static int __init ieee80211_crypto_ccmp_init(461,11101 -static void __exit ieee80211_crypto_ccmp_exit(470,11246 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/i82586.h,5558 -#define I82586_MEMZ 26,863 -#define I82586_SCP_ADDR 28,896 -#define ADDR_LEN 30,951 -#define I82586NULL 31,970 -#define toff(toff33,997 -typedef struct scp_t scp_t;scp_t38,1134 -struct scp_tscp_t39,1162 -#define SCP_SY_16BBUS 42,1228 -#define SCP_SY_8BBUS 43,1276 -typedef struct iscp_t iscp_t;iscp_t52,1550 -struct iscp_tiscp_t53,1580 -typedef struct scb_t scb_t;scb_t69,2079 -struct scb_tscb_t70,2107 -#define SCB_ST_INT 73,2173 -#define SCB_ST_CX 74,2221 -#define SCB_ST_FR 75,2272 -#define SCB_ST_CNA 76,2324 -#define SCB_ST_RNR 77,2382 -#define SCB_ST_JUNK0 78,2439 -#define SCB_ST_CUS 79,2483 -#define SCB_ST_CUS_IDLE 80,2537 -#define SCB_ST_CUS_SUSP 81,2584 -#define SCB_ST_CUS_ACTV 82,2635 -#define SCB_ST_JUNK1 83,2683 -#define SCB_ST_RUS 84,2727 -#define SCB_ST_RUS_IDLE 85,2781 -#define SCB_ST_RUS_SUSP 86,2828 -#define SCB_ST_RUS_NRES 87,2879 -#define SCB_ST_RUS_RDY 88,2933 -#define SCB_CMD_ACK_CX 90,3029 -#define SCB_CMD_ACK_FR 91,3090 -#define SCB_CMD_ACK_CNA 92,3151 -#define SCB_CMD_ACK_RNR 93,3212 -#define SCB_CMD_JUNKX 94,3272 -#define SCB_CMD_CUC 95,3321 -#define SCB_CMD_CUC_NOP 96,3381 -#define SCB_CMD_CUC_GO 97,3427 -#define SCB_CMD_CUC_RES 98,3484 -#define SCB_CMD_CUC_SUS 99,3542 -#define SCB_CMD_CUC_ABT 100,3595 -#define SCB_CMD_RESET 101,3648 -#define SCB_CMD_RUC 102,3711 -#define SCB_CMD_RUC_NOP 103,3771 -#define SCB_CMD_RUC_GO 104,3817 -#define SCB_CMD_RUC_RES 105,3874 -#define SCB_CMD_RUC_SUS 106,3932 -#define SCB_CMD_RUC_ABT 107,3985 -#define scboff(scboff121,4578 -typedef enum acmd_e acmd_e;acmd_e126,4655 -enum acmd_eacmd_e127,4683 - acmd_nop 129,4697 - acmd_ia_setup 130,4732 - acmd_configure 132,4813 - acmd_mc_setup 133,4878 - acmd_transmit 135,4976 - acmd_tdr 136,5021 - acmd_dump 138,5113 - acmd_diagnose 139,5166 -typedef struct ach_t ach_t;ach_t145,5264 -struct ach_tach_t146,5292 -#define AC_SFLD_C 149,5357 -#define AC_SFLD_B 150,5412 -#define AC_SFLD_OK 151,5464 -#define AC_SFLD_A 152,5523 -#define AC_SFLD_FAIL 153,5576 -#define AC_SFLD_S10 154,5632 -#define AC_SFLD_S9 156,5720 -#define AC_SFLD_S8 158,5806 -#define AC_SFLD_S7 160,5892 -#define AC_SFLD_S6 162,5975 -#define AC_SFLD_S5 164,6068 -#define AC_SFLD_MAXCOL 166,6152 -#define AC_CFLD_EL 168,6266 -#define AC_CFLD_S 169,6324 -#define AC_CFLD_I 170,6383 -#define AC_CFLD_CMD 171,6444 -#define acoff(acoff175,6547 -typedef struct ac_nop_t ac_nop_t;ac_nop_t180,6620 -struct ac_nop_tac_nop_t181,6654 -typedef struct ac_ias_t ac_ias_t;ac_ias_t189,6729 -struct ac_ias_tac_ias_t190,6763 -typedef struct ac_cfg_t ac_cfg_t;ac_cfg_t199,6904 -struct ac_cfg_tac_cfg_t200,6938 -#define AC_CFG_BYTE_CNT(AC_CFG_BYTE_CNT204,7027 -#define AC_CFG_FIFOLIM(AC_CFG_FIFOLIM206,7122 -#define AC_CFG_SAV_BF(AC_CFG_SAV_BF208,7193 -#define AC_CFG_SRDY(AC_CFG_SRDY209,7264 -#define AC_CFG_ELPBCK(AC_CFG_ELPBCK212,7388 -#define AC_CFG_ILPBCK(AC_CFG_ILPBCK213,7456 -#define AC_CFG_PRELEN(AC_CFG_PRELEN214,7524 -#define AC_CFG_PLEN_2 215,7590 -#define AC_CFG_PLEN_4 216,7632 -#define AC_CFG_PLEN_8 217,7674 -#define AC_CFG_PLEN_16 218,7716 -#define AC_CFG_ALOC(AC_CFG_ALOC219,7759 -#define AC_CFG_ADDRLEN(AC_CFG_ADDRLEN221,7858 -#define AC_CFG_BOFMET(AC_CFG_BOFMET223,7954 -#define AC_CFG_ACR(AC_CFG_ACR225,8052 -#define AC_CFG_LINPRIO(AC_CFG_LINPRIO226,8123 -#define AC_CFG_RETRYNUM(AC_CFG_RETRYNUM230,8321 -#define AC_CFG_SLTTMHI(AC_CFG_SLTTMHI231,8394 -#define AC_CFG_FLGPAD(AC_CFG_FLGPAD233,8494 -#define AC_CFG_BTSTF(AC_CFG_BTSTF234,8564 -#define AC_CFG_CRC16(AC_CFG_CRC16235,8634 -#define AC_CFG_NCRC(AC_CFG_NCRC236,8701 -#define AC_CFG_TNCRS(AC_CFG_TNCRS237,8764 -#define AC_CFG_MANCH(AC_CFG_MANCH238,8836 -#define AC_CFG_BCDIS(AC_CFG_BCDIS239,8904 -#define AC_CFG_PRM(AC_CFG_PRM240,8972 -#define AC_CFG_ICDS(AC_CFG_ICDS242,9064 -#define AC_CFG_CDTF(AC_CFG_CDTF244,9159 -#define AC_CFG_ICSS(AC_CFG_ICSS246,9258 -#define AC_CFG_CSTF(AC_CFG_CSTF248,9351 -#define AC_CFG_MNFRM(AC_CFG_MNFRM251,9480 -typedef struct ac_mcs_t ac_mcs_t;ac_mcs_t257,9600 -struct ac_mcs_tac_mcs_t258,9634 -#define I82586_MAX_MULTICAST_ADDRESSES 268,9814 -typedef struct ac_tx_t ac_tx_t;ac_tx_t273,9926 -struct ac_tx_tac_tx_t274,9958 -typedef struct ac_tdr_t ac_tdr_t;ac_tdr_t292,10498 -struct ac_tdr_tac_tdr_t293,10532 -#define AC_TDR_LNK_OK 297,10607 -#define AC_TDR_XCVR_PRB 298,10664 -#define AC_TDR_ET_OPN 299,10727 -#define AC_TDR_ET_SRT 300,10785 -#define AC_TDR_TIME 301,10844 -typedef struct ac_dmp_t ac_dmp_t;ac_dmp_t309,10998 -struct ac_dmp_tac_dmp_t310,11032 -#define DUMPBYTES 319,11161 -typedef struct ac_dgn_t ac_dgn_t;ac_dgn_t324,11223 -struct ac_dgn_tac_dgn_t325,11257 -typedef struct tbd_t tbd_t;tbd_t333,11338 -struct tbd_ttbd_t334,11366 -#define TBD_STATUS_EOF 337,11435 -#define TBD_STATUS_ACNT 339,11525 -typedef struct rbd_t rbd_t;rbd_t349,11833 -struct rbd_trbd_t350,11861 -#define RBD_STATUS_EOF 353,11932 -#define RBD_STATUS_F 355,12022 -#define RBD_STATUS_ACNT 356,12082 -#define RBD_EL 362,12396 -#define RBD_SIZE 364,12475 -#define rbdoff(rbdoff368,12563 -typedef struct fd_t fd_t;fd_t373,12636 -struct fd_tfd_t374,12662 -#define FD_STATUS_C 377,12731 -#define FD_STATUS_B 378,12794 -#define FD_STATUS_OK 379,12855 -#define FD_STATUS_S11 380,12918 -#define FD_STATUS_S10 381,12970 -#define FD_STATUS_S9 382,13027 -#define FD_STATUS_S8 383,13088 -#define FD_STATUS_S7 384,13143 -#define FD_STATUS_S6 385,13199 -#define FD_COMMAND_EL 387,13296 -#define FD_COMMAND_S 388,13353 -#define fdoff(fdoff406,13961 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/netwave_cs.c,4820 -#define NETWAVE_REGOFF 77,2491 -#define NETWAVE_REG_COR 79,2579 -#define NETWAVE_REG_CCSR 80,2614 -#define NETWAVE_REG_ASR 81,2649 -#define NETWAVE_REG_IMR 82,2684 -#define NETWAVE_REG_PMR 83,2719 -#define NETWAVE_REG_IOLOW 84,2754 -#define NETWAVE_REG_IOHI 85,2789 -#define NETWAVE_REG_IOCONTROL 86,2824 -#define NETWAVE_REG_DATA 87,2859 -#define NETWAVE_EREG_ASCC 89,2954 -#define NETWAVE_EREG_RSER 90,2991 -#define NETWAVE_EREG_RSERW 91,3028 -#define NETWAVE_EREG_TSER 92,3065 -#define NETWAVE_EREG_TSERW 93,3102 -#define NETWAVE_EREG_CB 94,3139 -#define NETWAVE_EREG_SPCQ 95,3176 -#define NETWAVE_EREG_SPU 96,3213 -#define NETWAVE_EREG_LIF 97,3250 -#define NETWAVE_EREG_ISPLQ 98,3287 -#define NETWAVE_EREG_HHC 99,3324 -#define NETWAVE_EREG_NI 100,3361 -#define NETWAVE_EREG_MHS 101,3398 -#define NETWAVE_EREG_TDP 102,3435 -#define NETWAVE_EREG_RDP 103,3472 -#define NETWAVE_EREG_PA 104,3509 -#define NETWAVE_EREG_EC 105,3546 -#define NETWAVE_EREG_CRBP 106,3583 -#define NETWAVE_EREG_ARW 107,3620 -#define NETWAVE_CMD_NOP 113,3747 -#define NETWAVE_CMD_SRC 114,3783 -#define NETWAVE_CMD_STC 115,3819 -#define NETWAVE_CMD_AMA 116,3855 -#define NETWAVE_CMD_DMA 117,3891 -#define NETWAVE_CMD_SAMA 118,3927 -#define NETWAVE_CMD_ER 119,3963 -#define NETWAVE_CMD_DR 120,3999 -#define NETWAVE_CMD_TL 121,4035 -#define NETWAVE_CMD_SRP 122,4071 -#define NETWAVE_CMD_SSK 123,4107 -#define NETWAVE_CMD_SMD 124,4143 -#define NETWAVE_CMD_SAPD 125,4179 -#define NETWAVE_CMD_SSS 126,4215 -#define NETWAVE_CMD_EOC 128,4279 -#define NETWAVE_ASR_RXRDY 131,4340 -#define NETWAVE_ASR_TXBA 132,4373 -#define TX_TIMEOUT 134,4407 -static const unsigned int imrConfRFU1 136,4442 -static const unsigned int imrConfIENA 137,4524 -static const unsigned int corConfIENA 139,4594 -static const unsigned int corConfLVLREQ 140,4665 -static const unsigned int rxConfRxEna 142,4730 -static const unsigned int rxConfMAC 143,4798 -static const unsigned int rxConfPro 144,4873 -static const unsigned int rxConfAMP 145,4938 -static const unsigned int rxConfBcast 146,5016 -static const unsigned int txConfTxEna 148,5095 -static const unsigned int txConfMAC 149,5164 -static const unsigned int txConfEUD 150,5237 -static const unsigned int txConfKey 151,5314 -static const unsigned int txConfLoop 152,5389 -static int pc_debug 163,5824 -#define DEBUG(DEBUG165,5888 -static char *version 166,5956 -#define DEBUG(DEBUG169,6059 -static dev_info_t dev_info 172,6093 -static u_int domain 179,6301 -static u_int scramble_key 184,6407 -static int mem_speed;191,6671 -static u_int irq_mask 195,6802 -static int irq_list[196,6834 -static dev_link_t *dev_list;253,9064 -struct iw_request_infoiw_request_info276,10077 -#define SIOCIWFIRSTPRIV 286,10390 -static const struct iw_handler_def netwave_handler_def;290,10490 -#define SIOCGIPSNAP 293,10579 -#define MAX_ESA 295,10647 -typedef struct net_addr net_addr297,10667 -} net_addr;net_addr299,10715 -struct site_survey site_survey301,10728 -typedef struct netwave_private netwave_private321,11201 -} netwave_private;netwave_private334,11649 -static inline unsigned short get_uint16(344,11859 -static inline short get_int16(349,11973 -static inline void wait_WOC(359,12222 -static void netwave_snapshot(366,12376 -static struct iw_statistics *netwave_get_wireless_stats(397,13291 -static dev_link_t *netwave_attach(436,14493 -static void netwave_detach(534,17598 -static int netwave_get_name(575,18619 -static int netwave_set_nwid(587,18851 -static int netwave_get_nwid(625,19945 -static int netwave_set_scramble(645,20352 -static int netwave_get_scramble(674,21177 -static int netwave_get_mode(695,21632 -static int netwave_get_range(712,21949 -static int netwave_get_snap(761,23323 -static const struct iw_priv_args netwave_private_args[792,24155 -static const iw_handler netwave_handler[801,24434 -static const iw_handler netwave_private_handler[849,25799 -static const struct iw_handler_def netwave_handler_def 855,25936 -static int netwave_ioctl(873,26572 -#define CS_CHECK(CS_CHECK995,29886 -static void netwave_pcmcia_config(998,29993 -static void netwave_release(1120,34160 -static int netwave_event(1153,35220 -static void netwave_doreset(1207,36550 -static void netwave_reset(1220,36925 -static int netwave_config(1297,39622 -static int netwave_hw_xmit(1304,39767 -static int netwave_start_xmit(1371,41906 -static irqreturn_t netwave_interrupt(1405,42993 -static void netwave_watchdog(1530,46603 -static struct net_device_stats *netwave_get_stats(1538,46843 -static void update_stats(1560,47650 -static int netwave_rx(1572,48025 -static int netwave_open(1661,50471 -static int netwave_close(1678,50776 -static struct pcmcia_driver netwave_driver 1690,51031 -static int __init init_netwave_cs(1699,51201 -static void __exit exit_netwave_cs(1704,51295 -static void set_multicast_list(1721,51826 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wavelan_cs.c,3228 -wv_structuct_check(75,2779 -#define SC(SC77,2806 -hasr_read(99,3328 -hacr_write(109,3546 -hacr_write_slow(121,3836 -psa_read(134,4147 -psa_write(158,4832 -psa_crc(203,6297 -update_psa_checksum(232,7002 -mmc_out(272,8167 -mmc_write(292,8641 -mmc_in(310,8978 -mmc_read(335,9754 -mmc_encr(352,10043 -fee_wait(369,10466 -fee_read(385,10929 -fee_write(420,11952 -unsigned char WAVELAN_BEACON_ADDRESS[501,14375 -void wv_roam_init(503,14451 -void wv_roam_cleanup(532,15611 -void wv_nwid_filter(551,16218 -wavepoint_history *wl_roam_check(576,17006 -wavepoint_history *wl_new_wavepoint(589,17276 -void wl_del_wavepoint(625,18535 -void wl_cell_expiry(647,19084 -void wl_update_history(687,20094 -void wv_roam_handover(724,21386 -static inline void wl_roam_gather(756,22334 -static inline int WAVELAN_BEACON(809,24491 -wv_82593_cmd(834,25236 -wv_diag(945,28099 -read_ringbuf(966,28679 -wv_82593_reconfig(1007,29953 -wv_psa_show(1045,31064 -wv_mmc_show(1135,34394 -wv_ru_show(1225,37550 -wv_dev_show(1244,38052 -wv_local_show(1259,38463 -wv_packet_info(1279,38907 -wv_init_info(1317,40089 -wavelan_get_stats(1415,42398 -wavelan_set_multicast_list(1434,42941 -wavelan_set_mac_address(1532,45268 -wv_set_frequency(1556,45863 -wv_frequency_list(1753,51286 -wl_spy_gather(1799,52614 -wl_his_gather(1826,53561 -wl_netdev_ethtool_ioctl(1844,53972 -static int wavelan_get_name(1869,54524 -static int wavelan_set_nwid(1882,54821 -static int wavelan_get_nwid(1941,56392 -static int wavelan_set_freq(1972,57225 -static int wavelan_get_freq(2002,58054 -static int wavelan_set_sens(2048,59356 -static int wavelan_get_sens(2084,60380 -static int wavelan_set_encode(2114,61166 -static int wavelan_get_encode(2184,62937 -static int wavelan_set_essid(2232,64185 -static int wavelan_get_essid(2280,65337 -static int wavelan_set_wap(2305,66010 -static int wavelan_get_wap(2327,66613 -static int wavelan_set_mode(2345,67113 -static int wavelan_get_mode(2385,67922 -static int wavelan_get_range(2403,68305 -static int wavelan_set_qthr(2473,70491 -static int wavelan_get_qthr(2505,71373 -static int wavelan_set_roam(2533,72103 -static int wavelan_get_roam(2562,72839 -static int wavelan_set_histo(2578,73188 -static int wavelan_get_histo(2621,74232 -static const struct iw_priv_args wavelan_private_args[2644,74814 -static const iw_handler wavelan_handler[2654,75422 -static const iw_handler wavelan_private_handler[2718,77382 -static const struct iw_handler_def wavelan_handler_def 2735,77907 -wavelan_ioctl(2753,78617 -wavelan_get_wireless_stats(2788,79419 -wv_start_of_frame(2850,81483 -wv_packet_read(2912,83340 -wv_packet_rcv(3015,86398 -wv_packet_write(3149,90512 -wavelan_packet_xmit(3211,92384 -wv_mmc_init(3276,94176 -wv_ru_stop(3470,100341 -wv_ru_start(3533,101996 -wv_82593_config(3621,104565 -wv_pcmcia_reset(3795,111650 -wv_hw_config(3857,113508 -wv_hw_reset(3964,116063 -wv_pcmcia_config(3995,116826 -wv_pcmcia_release(4150,120883 -wavelan_interrupt(4183,121876 -wavelan_watchdog(4454,129710 -wavelan_open(4529,131652 -wavelan_close(4584,133007 -wavelan_attach(4640,134450 -wavelan_detach(4770,138151 -wavelan_event(4842,140085 -static struct pcmcia_driver wavelan_driver 4939,142770 -init_wavelan_cs(4949,142958 -exit_wavelan_cs(4955,143053 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/atmel.c,14889 -#define DRIVER_MAJOR 73,2790 -#define DRIVER_MINOR 74,2813 -static char *firmware 83,3121 -#define MAX_SSID_LENGTH 86,3186 -#define MGMT_JIFFIES 87,3213 -#define MAX_BSS_ENTRIES 89,3252 -#define GCR 92,3297 -#define BSR 93,3373 -#define AR 94,3442 -#define DR 95,3460 -#define MR1 96,3478 -#define MR2 97,3543 -#define MR3 98,3592 -#define MR4 99,3641 -#define GPR1 101,3692 -#define GPR2 102,3737 -#define GPR3 103,3782 -#define GCR_REMAP 107,3868 -#define GCR_SWRES 108,3934 -#define GCR_CORES 109,4014 -#define GCR_ENINT 110,4090 -#define GCR_ACKINT 111,4153 -#define BSS_SRAM 113,4218 -#define BSS_IRAM 114,4290 -#define MAC_INIT_COMPLETE 118,4403 -#define MAC_BOOT_COMPLETE 119,4480 -#define MAC_INIT_OK 120,4557 -#define C80211_SUBTYPE_MGMT_ASS_REQUEST 122,4635 -#define C80211_SUBTYPE_MGMT_ASS_RESPONSE 123,4696 -#define C80211_SUBTYPE_MGMT_REASS_REQUEST 124,4757 -#define C80211_SUBTYPE_MGMT_REASS_RESPONSE 125,4818 -#define C80211_SUBTYPE_MGMT_ProbeRequest 126,4879 -#define C80211_SUBTYPE_MGMT_ProbeResponse 127,4940 -#define C80211_SUBTYPE_MGMT_BEACON 128,5001 -#define C80211_SUBTYPE_MGMT_ATIM 129,5062 -#define C80211_SUBTYPE_MGMT_DISASSOSIATION 130,5123 -#define C80211_SUBTYPE_MGMT_Authentication 131,5184 -#define C80211_SUBTYPE_MGMT_Deauthentication 132,5245 -#define C80211_MGMT_AAN_OPENSYSTEM 134,5299 -#define C80211_MGMT_AAN_SHAREDKEY 135,5354 -#define C80211_MGMT_CAPABILITY_ESS 137,5410 -#define C80211_MGMT_CAPABILITY_IBSS 138,5485 -#define C80211_MGMT_CAPABILITY_CFPollable 139,5555 -#define C80211_MGMT_CAPABILITY_CFPollRequest 140,5625 -#define C80211_MGMT_CAPABILITY_Privacy 141,5695 -#define C80211_MGMT_SC_Success 143,5766 -#define C80211_MGMT_SC_Unspecified 144,5816 -#define C80211_MGMT_SC_SupportCapabilities 145,5866 -#define C80211_MGMT_SC_ReassDenied 146,5917 -#define C80211_MGMT_SC_AssDenied 147,5968 -#define C80211_MGMT_SC_AuthAlgNotSupported 148,6019 -#define C80211_MGMT_SC_AuthTransSeqNumError 149,6070 -#define C80211_MGMT_SC_AuthRejectChallenge 150,6121 -#define C80211_MGMT_SC_AuthRejectTimeout 151,6172 -#define C80211_MGMT_SC_AssDeniedHandleAP 152,6223 -#define C80211_MGMT_SC_AssDeniedBSSRate 153,6274 -#define C80211_MGMT_ElementID_SSID 155,6326 -#define C80211_MGMT_ElementID_SupportedRates 156,6376 -#define C80211_MGMT_ElementID_ChallengeText 157,6426 -#define C80211_MGMT_CAPABILITY_ShortPreamble 158,6477 -#define MIB_MAX_DATA_BYTES 160,6533 -#define MIB_HEADER_SIZE 161,6567 -struct get_set_mib get_set_mib163,6627 -struct rx_desc rx_desc171,6762 -#define RX_DESC_FLAG_VALID 187,7114 -#define RX_DESC_FLAG_CONSUMED 188,7152 -#define RX_DESC_FLAG_IDLE 189,7190 -#define RX_STATUS_SUCCESS 191,7229 -#define RX_DESC_MSDU_POS_OFFSET 193,7268 -#define RX_DESC_MSDU_SIZE_OFFSET 194,7307 -#define RX_DESC_FLAGS_OFFSET 195,7346 -#define RX_DESC_STATUS_OFFSET 196,7385 -#define RX_DESC_RSSI_OFFSET 197,7424 -#define RX_DESC_LINK_QUALITY_OFFSET 198,7464 -#define RX_DESC_PREAMBLE_TYPE_OFFSET 199,7504 -#define RX_DESC_DURATION_OFFSET 200,7544 -#define RX_DESC_RX_TIME_OFFSET 201,7584 -struct tx_desc tx_desc204,7626 -#define TX_DESC_NEXT_OFFSET 227,7981 -#define TX_DESC_POS_OFFSET 228,8020 -#define TX_DESC_SIZE_OFFSET 229,8059 -#define TX_DESC_FLAGS_OFFSET 230,8098 -#define TX_DESC_STATUS_OFFSET 231,8137 -#define TX_DESC_RETRY_OFFSET 232,8176 -#define TX_DESC_RATE_OFFSET 233,8216 -#define TX_DESC_KEY_INDEX_OFFSET 234,8256 -#define TX_DESC_CIPHER_TYPE_OFFSET 235,8296 -#define TX_DESC_CIPHER_LENGTH_OFFSET 236,8336 -#define TX_DESC_PACKET_TYPE_OFFSET 237,8376 -#define TX_DESC_HOST_LENGTH_OFFSET 238,8416 -#define TX_STATUS_SUCCESS 246,8594 -#define TX_FIRM_OWN 248,8632 -#define TX_DONE 249,8669 -#define TX_ERROR 252,8708 -#define TX_PACKET_TYPE_DATA 254,8746 -#define TX_PACKET_TYPE_MGMT 255,8783 -#define ISR_EMPTY 257,8821 -#define ISR_TxCOMPLETE 258,8887 -#define ISR_RxCOMPLETE 259,8953 -#define ISR_RxFRAMELOST 260,9016 -#define ISR_FATAL_ERROR 261,9077 -#define ISR_COMMAND_COMPLETE 262,9136 -#define ISR_OUT_OF_RANGE 263,9201 -#define ISR_IBSS_MERGE 264,9266 -#define ISR_GENERIC_IRQ 265,9336 -#define Local_Mib_Type 268,9391 -#define Mac_Address_Mib_Type 269,9428 -#define Mac_Mib_Type 270,9465 -#define Statistics_Mib_Type 271,9502 -#define Mac_Mgmt_Mib_Type 272,9539 -#define Mac_Wep_Mib_Type 273,9576 -#define Phy_Mib_Type 274,9613 -#define Multi_Domain_MIB 275,9650 -#define MAC_MGMT_MIB_CUR_BSSID_POS 277,9688 -#define MAC_MIB_FRAG_THRESHOLD_POS 278,9737 -#define MAC_MIB_RTS_THRESHOLD_POS 279,9785 -#define MAC_MIB_SHORT_RETRY_POS 280,9834 -#define MAC_MIB_LONG_RETRY_POS 281,9883 -#define MAC_MIB_SHORT_RETRY_LIMIT_POS 282,9932 -#define MAC_MGMT_MIB_BEACON_PER_POS 283,9981 -#define MAC_MGMT_MIB_STATION_ID_POS 284,10029 -#define MAC_MGMT_MIB_CUR_PRIVACY_POS 285,10077 -#define MAC_MGMT_MIB_CUR_BSSID_POS 286,10126 -#define MAC_MGMT_MIB_PS_MODE_POS 287,10175 -#define MAC_MGMT_MIB_LISTEN_INTERVAL_POS 288,10224 -#define MAC_MGMT_MIB_MULTI_DOMAIN_IMPLEMENTED 289,10273 -#define MAC_MGMT_MIB_MULTI_DOMAIN_ENABLED 290,10322 -#define PHY_MIB_CHANNEL_POS 291,10371 -#define PHY_MIB_RATE_SET_POS 292,10420 -#define PHY_MIB_REG_DOMAIN_POS 293,10469 -#define LOCAL_MIB_AUTO_TX_RATE_POS 294,10518 -#define LOCAL_MIB_SSID_SIZE 295,10566 -#define LOCAL_MIB_TX_PROMISCUOUS_POS 296,10614 -#define LOCAL_MIB_TX_MGMT_RATE_POS 297,10662 -#define LOCAL_MIB_TX_CONTROL_RATE_POS 298,10710 -#define LOCAL_MIB_PREAMBLE_TYPE 299,10758 -#define MAC_ADDR_MIB_MAC_ADDR_POS 300,10806 -#define CMD_Set_MIB_Vars 303,10856 -#define CMD_Get_MIB_Vars 304,10907 -#define CMD_Scan 305,10958 -#define CMD_Join 306,11009 -#define CMD_Start 307,11060 -#define CMD_EnableRadio 308,11111 -#define CMD_DisableRadio 309,11162 -#define CMD_SiteSurvey 310,11213 -#define CMD_STATUS_IDLE 312,11265 -#define CMD_STATUS_COMPLETE 313,11320 -#define CMD_STATUS_UNKNOWN 314,11375 -#define CMD_STATUS_INVALID_PARAMETER 315,11430 -#define CMD_STATUS_FUNCTION_NOT_SUPPORTED 316,11485 -#define CMD_STATUS_TIME_OUT 317,11540 -#define CMD_STATUS_IN_PROGRESS 318,11595 -#define CMD_STATUS_REJECTED_RADIO_OFF 319,11650 -#define CMD_STATUS_HOST_ERROR 320,11705 -#define CMD_STATUS_BUSY 321,11760 -#define CMD_BLOCK_COMMAND_OFFSET 324,11817 -#define CMD_BLOCK_STATUS_OFFSET 325,11859 -#define CMD_BLOCK_PARAMETERS_OFFSET 326,11901 -#define SCAN_OPTIONS_SITE_SURVEY 328,11944 -#define MGMT_FRAME_BODY_OFFSET 330,11990 -#define MAX_AUTHENTICATION_RETRIES 331,12025 -#define MAX_ASSOCIATION_RETRIES 332,12062 -#define AUTHENTICATION_RESPONSE_TIME_OUT 334,12098 -#define MAX_WIRELESS_BODY 336,12146 -#define LOOP_RETRY_LIMIT 337,12206 -#define ACTIVE_MODE 339,12241 -#define PS_MODE 340,12264 -#define MAX_ENCRYPTION_KEYS 342,12284 -#define MAX_ENCRYPTION_KEY_SIZE 343,12314 -#define REG_DOMAIN_FCC 353,12562 -#define REG_DOMAIN_DOC 354,12611 -#define REG_DOMAIN_ETSI 355,12662 -#define REG_DOMAIN_SPAIN 356,12732 -#define REG_DOMAIN_FRANCE 357,12784 -#define REG_DOMAIN_MKK 358,12838 -#define REG_DOMAIN_MKK1 359,12886 -#define REG_DOMAIN_ISRAEL 360,12943 -#define BSS_TYPE_AD_HOC 362,12996 -#define BSS_TYPE_INFRASTRUCTURE 363,13023 -#define SCAN_TYPE_ACTIVE 365,13058 -#define SCAN_TYPE_PASSIVE 366,13085 -#define LONG_PREAMBLE 368,13114 -#define SHORT_PREAMBLE 369,13139 -#define AUTO_PREAMBLE 370,13165 -#define DATA_FRAME_WS_HEADER_SIZE 372,13191 -#define PROM_MODE_OFF 375,13263 -#define PROM_MODE_UNKNOWN 376,13291 -#define PROM_MODE_CRC_FAILED 377,13322 -#define PROM_MODE_DUPLICATED 378,13356 -#define PROM_MODE_MGMT 379,13390 -#define PROM_MODE_CTRL 380,13419 -#define PROM_MODE_BAD_PROTOCOL 381,13449 -#define IFACE_INT_STATUS_OFFSET 384,13488 -#define IFACE_INT_MASK_OFFSET 385,13523 -#define IFACE_LOCKOUT_HOST_OFFSET 386,13556 -#define IFACE_LOCKOUT_MAC_OFFSET 387,13592 -#define IFACE_FUNC_CTRL_OFFSET 388,13627 -#define IFACE_MAC_STAT_OFFSET 389,13662 -#define IFACE_GENERIC_INT_TYPE_OFFSET 390,13696 -#define CIPHER_SUITE_NONE 392,13738 -#define CIPHER_SUITE_WEP_64 393,13771 -#define CIPHER_SUITE_TKIP 394,13803 -#define CIPHER_SUITE_AES 395,13835 -#define CIPHER_SUITE_CCX 396,13867 -#define CIPHER_SUITE_WEP_128 397,13899 -#define FUNC_CTRL_TxENABLE 406,13995 -#define FUNC_CTRL_RxENABLE 407,14028 -#define FUNC_CTRL_INIT_COMPLETE 408,14061 -static u8 mac_reader[412,14246 -struct atmel_private atmel_private457,17660 - enum { BUS_TYPE_PCCARD,470,18120 - enum { BUS_TYPE_PCCARD, BUS_TYPE_PCI 470,18120 - CARD_TYPE_PARALLEL_FLASH,472,18179 - CARD_TYPE_SPI_FLASH,473,18208 - CARD_TYPE_EEPROM 474,18231 - struct host_info_struct host_info_struct493,18913 - STATION_STATE_SCANNING,523,19459 - STATION_STATE_JOINNING,524,19485 - STATION_STATE_AUTHENTICATING,525,19511 - STATION_STATE_ASSOCIATING,526,19543 - STATION_STATE_READY,527,19572 - STATION_STATE_REASSOCIATING,528,19595 - STATION_STATE_DOWN,529,19626 - STATION_STATE_MGMT_ERROR530,19648 - SITE_SURVEY_IDLE,548,20174 - SITE_SURVEY_IN_PROGRESS,549,20194 - SITE_SURVEY_COMPLETED 550,20221 - struct bss_info bss_info557,20363 -static u8 atmel_basic_rates[578,20808 -} channel_table[584,20933 -static inline u16 atmel_hi(625,23455 -static inline u16 atmel_co(630,23566 -static inline u16 atmel_rx(635,23684 -static inline u16 atmel_tx(640,23847 -static inline u8 atmel_read8(645,24010 -static inline void atmel_write8(650,24118 -static inline u16 atmel_read16(655,24238 -static inline void atmel_write16(660,24348 -static inline u8 atmel_rmem8(665,24470 -static inline void atmel_wmem8(671,24610 -static inline u16 atmel_rmem16(677,24762 -static inline void atmel_wmem16(683,24912 -static const struct iw_handler_def atmel_handler_def;689,25073 -static void tx_done_irq(691,25128 -static u16 find_tx_buff(729,26274 -static void tx_update_descriptor(747,26696 -static int start_tx 809,29184 -static void atmel_transmit_management_frame(886,31721 -static void fast_rx_path(902,32254 -static int probe_crc(956,33862 -static void frag_rx_path(975,34277 -static void rx_done_irq(1064,36800 -static irqreturn_t service_interrupt(1168,40279 -static struct net_device_stats *atmel_get_stats 1277,43241 -static struct iw_statistics *atmel_get_wireless_stats 1283,43389 -static int atmel_change_mtu(1313,44240 -static int atmel_set_mac_address(1321,44436 -int atmel_open 1331,44659 -static int atmel_close 1385,46350 -static int atmel_validate_channel(1397,46623 -static int atmel_proc_output 1414,47084 -static int atmel_read_proc(1472,49036 -struct net_device *init_atmel_card(1485,49403 -void stop_atmel_card(1622,53472 -static int atmel_set_essid(1646,54079 -static int atmel_get_essid(1674,54714 -static int atmel_get_wap(1697,55296 -static int atmel_set_encode(1709,55568 -static int atmel_get_encode(1800,58356 -static int atmel_get_name(1831,59136 -static int atmel_set_rate(1840,59305 -static int atmel_set_mode(1872,60053 -static int atmel_get_mode(1886,60357 -static int atmel_get_rate(1897,60575 -static int atmel_set_power(1919,61066 -static int atmel_get_power(1929,61320 -static int atmel_set_retry(1940,61591 -static int atmel_get_retry(1963,62147 -static int atmel_set_rts(1986,62727 -static int atmel_get_rts(2004,63104 -static int atmel_set_frag(2018,63393 -static int atmel_get_frag(2037,63842 -static const long frequency_list[2051,64135 -static int atmel_set_freq(2054,64265 -static int atmel_get_freq(2088,65065 -static int atmel_set_scan(2100,65300 -static int atmel_get_scan(2138,66354 -static int atmel_get_range(2190,67937 -static int atmel_set_wap(2257,69780 -static int atmel_config_commit(2297,70827 -static const iw_handler atmel_handler[2305,71034 -static const iw_handler atmel_private_handler[2356,73247 -typedef struct atmel_priv_ioctl atmel_priv_ioctl2361,73336 -} atmel_priv_ioctl;atmel_priv_ioctl2365,73438 -#define ATMELFWL 2368,73461 -#define ATMELIDIFC 2369,73494 -#define ATMELRD 2370,73526 -#define ATMELMAGIC 2371,73555 -#define REGDOMAINSZ 2372,73583 -static const struct iw_priv_args atmel_private_args[2374,73607 -static const struct iw_handler_def atmel_handler_def 2381,74032 -static int atmel_ioctl(2391,74451 -struct auth_body auth_body2489,76492 -static void atmel_enter_state(2498,76607 -static void atmel_scan(2520,77087 -static void join(2565,78250 -static void start(2588,78806 -static void handle_beacon_probe(2608,79262 -static void send_authentication_request(2638,79998 -static void send_association_request(2674,81299 - struct ass_req_format ass_req_format2679,81444 -static int is_frame_from_current_bss(2728,83059 -static int retrieve_bss(2736,83348 -static void store_bss_info(2778,84607 -static void authenticate(2821,86120 -static void associate(2881,87747 - struct ass_resp_format ass_resp_format2883,87827 -void atmel_join_bss(2956,90183 -static void restart_search(3008,91655 -static void smooth_rssi(3025,91984 -static void atmel_smooth_qual(3040,92364 -static void atmel_management_frame(3053,92784 -static void atmel_management_timer(3163,96093 -static void atmel_command_irq(3228,97983 -static int atmel_wakeup_firmware(3305,99971 -static int probe_atmel_card(3400,103005 -static void build_wep_mib(3475,105346 -static void build_wpa_mib(3514,106393 -static int reset_atmel_card(3574,108382 -static void atmel_send_command(3743,114484 -static int atmel_send_command_wait(3753,114835 -static u8 atmel_get_mib8(3778,115433 -static void atmel_set_mib8(3789,115746 -static void atmel_set_mib16(3800,115999 -static void atmel_set_mib(3812,116278 -static void atmel_get_mib(3826,116680 -static void atmel_writeAR(3841,117168 -static void atmel_copy_to_card(3850,117431 -static void atmel_copy_to_host(3867,117785 -static void atmel_set_gcr(3884,118133 -static void atmel_clear_gcr(3889,118261 -static int atmel_lock_mac(3894,118392 -static void atmel_wmem32(3916,118904 - .set MRBASE,3961,121135 - .set CPSR_INITIAL,3962,121162 - .set CPSR_USER,3963,121238 - .set SRAM_BASE,3964,121305 - .set SP_BASE,3965,121334 - .set UNK_BASE,3966,121363 - .set SPI_CGEN_BASE,3967,121435 - .set UNK3_BASE,3968,121511 - .set STACK_BASE,3969,121583 - .set SP_SR,3970,121608 - .set SP_TDRE,3971,121626 - .set SP_RDRF,3972,121682 - .set SP_SWRST,3973,121737 - .set SP_SPIEN,3974,121758 - .set SP_CR,3975,121778 - .set SP_MR,3976,121818 - .set SP_RDR,3977,121855 - .set SP_TDR,3978,121899 - .set SP_CSR0,3979,121947 - .set SP_CSR1,3980,121995 - .set SP_CSR2,3981,122015 - .set SP_CSR3,3982,122035 - .set NVRAM_CMD_RDSR,3983,122055 - .set NVRAM_CMD_READ,3984,122106 - .set NVRAM_SR_RDY,3985,122146 - .set SPI_8CLOCKS,3986,122205 - .set NVRAM_SCRATCH,3993,122524 - .set NVRAM_IMAGE,3994,122600 - .set NVRAM_LENGTH,3995,122630 - .set MAC_ADDRESS_MIB,3996,122657 - .set MAC_ADDRESS_LENGTH,3997,122690 - .set MAC_BOOT_FLAG,3998,122718 - .set MR1,3999,122751 - .set MR2,4000,122764 - .set MR3,4001,122777 - .set MR4,4002,122790 - mov r0,4020,123095 - msr CPSR_c,4021,123122 - ldr r0,4024,123253 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/hermes.h,6892 -#define _HERMES_H24,831 -#define HERMES_ALLOC_LEN_MIN 40,1180 -#define HERMES_ALLOC_LEN_MAX 41,1215 -#define HERMES_LTV_LEN_MAX 42,1253 -#define HERMES_BAP_DATALEN_MAX 43,1287 -#define HERMES_BAP_OFFSET_MAX 44,1327 -#define HERMES_PORTID_MAX 45,1366 -#define HERMES_NUMPORTS_MAX 46,1398 -#define HERMES_PDR_LEN_MAX 47,1450 -#define HERMES_PDA_RECS_MAX 48,1509 -#define HERMES_PDA_LEN_MAX 49,1559 -#define HERMES_SCANRESULT_MAX 50,1619 -#define HERMES_CHINFORESULT_MAX 51,1656 -#define HERMES_MAX_MULTICAST 52,1694 -#define HERMES_MAGIC 53,1730 -#define HERMES_CMD 58,1798 -#define HERMES_PARAM0 59,1827 -#define HERMES_PARAM1 60,1859 -#define HERMES_PARAM2 61,1891 -#define HERMES_STATUS 62,1923 -#define HERMES_RESP0 63,1955 -#define HERMES_RESP1 64,1986 -#define HERMES_RESP2 65,2017 -#define HERMES_INFOFID 66,2048 -#define HERMES_RXFID 67,2081 -#define HERMES_ALLOCFID 68,2112 -#define HERMES_TXCOMPLFID 69,2146 -#define HERMES_SELECT0 70,2181 -#define HERMES_OFFSET0 71,2214 -#define HERMES_DATA0 72,2247 -#define HERMES_SELECT1 73,2278 -#define HERMES_OFFSET1 74,2311 -#define HERMES_DATA1 75,2344 -#define HERMES_EVSTAT 76,2375 -#define HERMES_INTEN 77,2407 -#define HERMES_EVACK 78,2438 -#define HERMES_CONTROL 79,2469 -#define HERMES_SWSUPPORT0 80,2502 -#define HERMES_SWSUPPORT1 81,2537 -#define HERMES_SWSUPPORT2 82,2572 -#define HERMES_AUXPAGE 83,2607 -#define HERMES_AUXOFFSET 84,2640 -#define HERMES_AUXDATA 85,2674 -#define HERMES_CMD_BUSY 90,2740 -#define HERMES_CMD_AINFO 91,2776 -#define HERMES_CMD_MACPORT 92,2812 -#define HERMES_CMD_RECL 93,2850 -#define HERMES_CMD_WRITE 94,2886 -#define HERMES_CMD_PROGMODE 95,2922 -#define HERMES_CMD_CMDCODE 96,2961 -#define HERMES_STATUS_RESULT 101,3035 -#define HERMES_STATUS_CMDCODE 102,3075 -#define HERMES_OFFSET_BUSY 107,3152 -#define HERMES_OFFSET_ERR 108,3190 -#define HERMES_OFFSET_DATAOFF 109,3227 -#define HERMES_EV_TICK 114,3326 -#define HERMES_EV_WTERR 115,3361 -#define HERMES_EV_INFDROP 116,3397 -#define HERMES_EV_INFO 117,3434 -#define HERMES_EV_DTIM 118,3469 -#define HERMES_EV_CMD 119,3504 -#define HERMES_EV_ALLOC 120,3538 -#define HERMES_EV_TXEXC 121,3574 -#define HERMES_EV_TX 122,3610 -#define HERMES_EV_RX 123,3643 -#define HERMES_CMD_INIT 129,3758 -#define HERMES_CMD_ENABLE 130,3794 -#define HERMES_CMD_DISABLE 131,3831 -#define HERMES_CMD_DIAG 132,3869 -#define HERMES_CMD_ALLOC 135,3963 -#define HERMES_CMD_TX 136,3999 -#define HERMES_CMD_NOTIFY 139,4091 -#define HERMES_CMD_INQUIRE 140,4128 -#define HERMES_CMD_ACCESS 143,4224 -#define HERMES_CMD_DOWNLD 144,4261 -#define HERMES_CMD_READMIF 147,4356 -#define HERMES_CMD_WRITEMIF 148,4394 -#define HERMES_CMD_TEST 151,4491 -#define HERMES_TEST_SET_CHANNEL 155,4558 -#define HERMES_TEST_MONITOR 156,4599 -#define HERMES_TEST_STOP 157,4636 -#define HERMES_AUTH_OPEN 160,4703 -#define HERMES_AUTH_SHARED_KEY 161,4732 -#define HERMES_WEP_PRIVACY_INVOKED 164,4787 -#define HERMES_WEP_EXCL_UNENCRYPTED 165,4830 -#define HERMES_WEP_HOST_ENCRYPT 166,4874 -#define HERMES_WEP_HOST_DECRYPT 167,4915 -#define HERMES_HOSTSCAN_SYMBOL_5SEC 170,4987 -#define HERMES_HOSTSCAN_SYMBOL_ONCE 171,5031 -#define HERMES_HOSTSCAN_SYMBOL_PASSIVE 172,5075 -#define HERMES_HOSTSCAN_SYMBOL_BCAST 173,5122 -#define HERMES_DESCRIPTOR_OFFSET 179,5210 -#define HERMES_802_11_OFFSET 180,5245 -#define HERMES_802_3_OFFSET 181,5280 -#define HERMES_802_2_OFFSET 182,5317 -#define HERMES_RXSTAT_ERR 184,5358 -#define HERMES_RXSTAT_BADCRC 185,5394 -#define HERMES_RXSTAT_UNDECRYPTABLE 186,5433 -#define HERMES_RXSTAT_MACPORT 187,5478 -#define HERMES_RXSTAT_PCF 188,5518 -#define HERMES_RXSTAT_MSGTYPE 189,5592 -#define HERMES_RXSTAT_1042 190,5632 -#define HERMES_RXSTAT_TUNNEL 191,5690 -#define HERMES_RXSTAT_WMP 192,5763 -struct hermes_tx_descriptor hermes_tx_descriptor194,5843 -#define HERMES_TXSTAT_RETRYERR 204,6012 -#define HERMES_TXSTAT_AGEDERR 205,6053 -#define HERMES_TXSTAT_DISCON 206,6093 -#define HERMES_TXSTAT_FORMERR 207,6132 -#define HERMES_TXCTRL_TX_OK 209,6173 -#define HERMES_TXCTRL_TX_EX 210,6245 -#define HERMES_TXCTRL_802_11 211,6318 -#define HERMES_TXCTRL_ALT_RTRY 212,6387 -#define HERMES_INQ_TALLIES 216,6469 -#define HERMES_INQ_SCAN 217,6506 -#define HERMES_INQ_CHANNELINFO 218,6541 -#define HERMES_INQ_HOSTSCAN 219,6582 -#define HERMES_INQ_HOSTSCAN_SYMBOL 220,6620 -#define HERMES_INQ_LINKSTATUS 221,6664 -#define HERMES_INQ_SEC_STAT_AGERE 222,6704 -struct hermes_tallies_frame hermes_tallies_frame224,6748 -struct prism2_scan_apinfo prism2_scan_apinfo254,7584 -struct agere_scan_apinfo agere_scan_apinfo270,8225 -struct symbol_scan_apinfo symbol_scan_apinfo283,8701 -union hermes_scan_info hermes_scan_info300,9382 -#define HERMES_LINKSTATUS_NOT_CONNECTED 306,9500 -#define HERMES_LINKSTATUS_CONNECTED 307,9553 -#define HERMES_LINKSTATUS_DISCONNECTED 308,9604 -#define HERMES_LINKSTATUS_AP_CHANGE 309,9655 -#define HERMES_LINKSTATUS_AP_OUT_OF_RANGE 310,9706 -#define HERMES_LINKSTATUS_AP_IN_RANGE 311,9757 -#define HERMES_LINKSTATUS_ASSOC_FAILED 312,9808 -struct hermes_linkstatus hermes_linkstatus314,9862 -struct hermes_response hermes_response318,9961 -struct hermes_idstring hermes_idstring323,10083 -struct hermes_multicast hermes_multicast328,10161 -#define HERMES_DEBUG_BUFSIZE 333,10291 -struct hermes_debug_entry hermes_debug_entry334,10325 -#define HERMES_BAP_BUSY_TIMEOUT 343,10431 -typedef struct hermes hermes346,10528 -#define HERMES_IO 349,10642 -#define HERMES_MEM 350,10662 -#define HERMES_16BIT_REGSPACING 352,10701 -#define HERMES_32BIT_REGSPACING 353,10735 -} hermes_t;hermes_t362,10987 -#define hermes_read_reg(hermes_read_reg365,11041 -#define hermes_write_reg(hermes_write_reg368,11205 -#define hermes_read_regn(hermes_read_regn374,11423 -#define hermes_write_regn(hermes_write_regn375,11495 -static inline int hermes_present(396,12295 -static inline void hermes_set_irqmask(401,12405 -static inline int hermes_enable_port(407,12534 -static inline int hermes_disable_port(413,12678 -static inline int hermes_inquire(421,12950 -#define HERMES_BYTES_TO_RECLEN(HERMES_BYTES_TO_RECLEN426,13073 -#define HERMES_RECLEN_TO_BYTES(HERMES_RECLEN_TO_BYTES427,13127 -static inline void hermes_read_words(430,13252 -static inline void hermes_write_words(450,13765 -static inline void hermes_clear_words(470,14294 -#define HERMES_READ_RECORD(HERMES_READ_RECORD485,14583 -#define HERMES_WRITE_RECORD(HERMES_WRITE_RECORD487,14695 -static inline int hermes_read_wordrec(490,14826 -static inline int hermes_write_wordrec(500,15020 -#define hermes_read_reg(hermes_read_reg511,15327 -#define hermes_write_reg(hermes_write_reg512,15384 -#define hermes_read_regn(hermes_read_regn514,15456 -#define hermes_write_regn(hermes_write_regn515,15534 -#define hermes_read_data(hermes_read_data518,15701 -#define hermes_write_data(hermes_write_data519,15788 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/airo.c,20727 -static struct pci_device_id card_ids[51,1650 -static struct pci_driver airo_driver 68,2292 -#define WIRELESS_SPY 80,2638 -#define CISCO_EXT 83,2731 -#define MICSUPPORT89,2859 -#define POWER_ON_DOWN97,3032 -#define IGNLABEL(IGNLABEL105,3347 -static char *statsLabels[106,3378 -#define RUN_AT(RUN_AT209,5325 -static int rates[217,5544 -static int basic_rate;218,5565 -static char *ssids[219,5588 -static int io[221,5612 -static int irq[222,5630 -int maxencrypt 225,5657 -static int auto_wep 228,5790 -static int aux_bap 229,5871 -static int adhoc;231,6010 -static int probe 233,6029 -static int proc_uid 235,6052 -static int proc_gid 237,6084 -static int airo_perm 239,6116 -static int proc_perm 241,6146 -static int do8bitIO 284,8165 -#define SUCCESS 287,8210 -#define ERROR 288,8228 -#define NO_PACKET 289,8245 -#define NOP2 292,8282 -#define MAC_ENABLE 293,8303 -#define MAC_DISABLE 294,8329 -#define CMD_LOSE_SYNC 295,8356 -#define CMD_SOFTRESET 296,8418 -#define HOSTSLEEP 297,8447 -#define CMD_MAGIC_PKT 298,8472 -#define CMD_SETWAKEMASK 299,8501 -#define CMD_READCFG 300,8532 -#define CMD_SETMODE 301,8559 -#define CMD_ALLOCATETX 302,8586 -#define CMD_TRANSMIT 303,8616 -#define CMD_DEALLOCATETX 304,8644 -#define NOP 305,8676 -#define CMD_WORKAROUND 306,8696 -#define CMD_ALLOCATEAUX 307,8726 -#define CMD_ACCESS 308,8757 -#define CMD_PCIBAP 309,8783 -#define CMD_PCIAUX 310,8809 -#define CMD_ALLOCBUF 311,8835 -#define CMD_GETTLV 312,8863 -#define CMD_PUTTLV 313,8889 -#define CMD_DELTLV 314,8915 -#define CMD_FINDNEXTTLV 315,8941 -#define CMD_PSPNODES 316,8972 -#define CMD_SETCW 317,9000 -#define CMD_SETPCF 318,9029 -#define CMD_SETPHYREG 319,9059 -#define CMD_TXTEST 320,9088 -#define MAC_ENABLETX 321,9114 -#define CMD_LISTBSS 322,9142 -#define CMD_SAVECFG 323,9169 -#define CMD_ENABLEAUX 324,9196 -#define CMD_WRITERID 325,9225 -#define CMD_USEPSPNODES 326,9253 -#define MAC_ENABLERX 327,9284 -#define ERROR_QUALIF 330,9334 -#define ERROR_ILLCMD 331,9360 -#define ERROR_ILLFMT 332,9386 -#define ERROR_INVFID 333,9412 -#define ERROR_INVRID 334,9438 -#define ERROR_LARGE 335,9464 -#define ERROR_NDISABL 336,9489 -#define ERROR_ALLOCBSY 337,9516 -#define ERROR_NORD 338,9544 -#define ERROR_NOWR 339,9568 -#define ERROR_INVFIDTX 340,9592 -#define ERROR_TESTACT 341,9620 -#define ERROR_TAGNFND 342,9647 -#define ERROR_DECODE 343,9674 -#define ERROR_DESCUNAV 344,9700 -#define ERROR_BADLEN 345,9728 -#define ERROR_MODE 346,9754 -#define ERROR_HOP 347,9778 -#define ERROR_BINTER 348,9801 -#define ERROR_RXMODE 349,9827 -#define ERROR_MACADDR 350,9853 -#define ERROR_RATES 351,9880 -#define ERROR_ORDER 352,9905 -#define ERROR_SCAN 353,9930 -#define ERROR_AUTH 354,9954 -#define ERROR_PSMODE 355,9978 -#define ERROR_RTYPE 356,10004 -#define ERROR_DIVER 357,10029 -#define ERROR_SSID 358,10054 -#define ERROR_APLIST 359,10078 -#define ERROR_AUTOWAKE 360,10104 -#define ERROR_LEAP 361,10132 -#define COMMAND 364,10173 -#define PARAM0 365,10194 -#define PARAM1 366,10214 -#define PARAM2 367,10234 -#define STATUS 368,10254 -#define RESP0 369,10274 -#define RESP1 370,10293 -#define RESP2 371,10312 -#define LINKSTAT 372,10331 -#define SELECT0 373,10353 -#define OFFSET0 374,10374 -#define RXFID 375,10395 -#define TXALLOCFID 376,10414 -#define TXCOMPLFID 377,10438 -#define DATA0 378,10462 -#define EVSTAT 379,10481 -#define EVINTEN 380,10501 -#define EVACK 381,10522 -#define SWS0 382,10541 -#define SWS1 383,10559 -#define SWS2 384,10577 -#define SWS3 385,10595 -#define AUXPAGE 386,10613 -#define AUXOFF 387,10634 -#define AUXDATA 388,10654 -#define FID_TX 390,10676 -#define FID_RX 391,10693 -#define AUX_OFFSET 393,10755 -#define PKTSIZE 395,10812 -#define RIDSIZE 396,10833 -#define MAXTXQ 398,10887 -#define BAP0 401,10926 -#define BAP1 402,10971 -#define COMMAND_BUSY 405,11049 -#define BAP_BUSY 407,11078 -#define BAP_ERR 408,11102 -#define BAP_DONE 409,11125 -#define PROMISC 411,11150 -#define NOPROMISC 412,11173 -#define EV_CMD 414,11199 -#define EV_CLEARCOMMANDBUSY 415,11219 -#define EV_RX 416,11254 -#define EV_TX 417,11273 -#define EV_TXEXC 418,11292 -#define EV_ALLOC 419,11314 -#define EV_LINK 420,11336 -#define EV_AWAKE 421,11357 -#define EV_TXCPY 422,11380 -#define EV_UNKNOWN 423,11403 -#define EV_MIC 424,11428 -#define EV_AWAKEN 425,11490 -#define STATUS_INTS 426,11515 -#define IGNORE_INTS 429,11618 -#define IGNORE_INTS 431,11667 -#define RID_RW 435,11726 -#define RID_CAPABILITIES 438,11762 -#define RID_APINFO 439,11794 -#define RID_RADIOINFO 440,11824 -#define RID_UNKNOWN3 441,11854 -#define RID_RSSI 442,11884 -#define RID_CONFIG 443,11914 -#define RID_SSID 444,11944 -#define RID_APLIST 445,11974 -#define RID_DRVNAME 446,12004 -#define RID_ETHERENCAP 447,12034 -#define RID_WEP_TEMP 448,12064 -#define RID_WEP_PERM 449,12094 -#define RID_MODULATION 450,12124 -#define RID_OPTIONS 451,12154 -#define RID_ACTUALCONFIG 452,12184 -#define RID_FACTORYCONFIG 453,12229 -#define RID_UNKNOWN22 454,12262 -#define RID_LEAPUSERNAME 455,12292 -#define RID_LEAPPASSWORD 456,12324 -#define RID_STATUS 457,12356 -#define RID_BEACON_HST 458,12386 -#define RID_BUSY_HST 459,12416 -#define RID_RETRIES_HST 460,12446 -#define RID_UNKNOWN54 461,12477 -#define RID_UNKNOWN55 462,12507 -#define RID_UNKNOWN56 463,12537 -#define RID_MIC 464,12567 -#define RID_STATS16 465,12597 -#define RID_STATS16DELTA 466,12627 -#define RID_STATS16DELTACLEAR 467,12659 -#define RID_STATS 468,12696 -#define RID_STATSDELTA 469,12726 -#define RID_STATSDELTACLEAR 470,12756 -#define RID_ECHOTEST_RID 471,12791 -#define RID_ECHOTEST_RESULTS 472,12823 -#define RID_BSSLISTFIRST 473,12859 -#define RID_BSSLISTNEXT 474,12891 -} Cmd;Cmd481,12987 -} Resp;Resp488,13058 -} WepKeyRid;WepKeyRid507,13560 -} Ssid;Ssid513,13686 -} SsidRid;SsidRid518,13738 -#define MOD_DEFAULT 523,13808 -#define MOD_CCK 524,13830 -#define MOD_MOK 525,13848 -} ModulationRid;ModulationRid526,13866 -#define MODE_STA_IBSS 531,13969 -#define MODE_STA_ESS 532,13993 -#define MODE_AP 533,14016 -#define MODE_AP_RPTR 534,14034 -#define MODE_ETHERNET_HOST 535,14057 -#define MODE_LLC_HOST 536,14119 -#define MODE_AIRONET_EXTEND 537,14177 -#define MODE_AP_INTERFACE 538,14245 -#define MODE_ANTENNA_ALIGN 539,14316 -#define MODE_ETHER_LLC 540,14382 -#define MODE_LEAF_NODE 541,14439 -#define MODE_CF_POLLABLE 542,14500 -#define MODE_MIC 543,14558 -#define RXMODE_BC_MC_ADDR 545,14631 -#define RXMODE_BC_ADDR 546,14659 -#define RXMODE_ADDR 547,14708 -#define RXMODE_RFMON 548,14767 -#define RXMODE_RFMON_ANYBSS 549,14818 -#define RXMODE_LANMON 550,14848 -#define RXMODE_DISABLE_802_3_HEADER 551,14917 -#define RXMODE_NORMALIZED_RSSI 552,14994 -#define SCANMODE_ACTIVE 569,15437 -#define SCANMODE_PASSIVE 570,15463 -#define SCANMODE_AIROSCAN 571,15490 -#define AUTH_OPEN 579,15704 -#define AUTH_ENCRYPT 580,15726 -#define AUTH_SHAREDKEY 581,15753 -#define AUTH_ALLOW_UNENCRYPTED 582,15782 -#define DISABLE_REFRESH 590,15987 -#define POWERSAVE_CAM 594,16107 -#define POWERSAVE_PSP 595,16131 -#define POWERSAVE_PSPCAM 596,16155 -#define RADIOTYPE_DEFAULT 614,16556 -#define RADIOTYPE_802_11 615,16584 -#define RADIOTYPE_LEGACY 616,16611 -#define TXPOWER_DEFAULT 620,16686 -#define RSSI_DEFAULT 622,16732 -#define PREAMBLE_AUTO 624,16779 -#define PREAMBLE_LONG 625,16803 -#define PREAMBLE_SHORT 626,16827 -#define MAGIC_ACTION_STSCHG 638,17101 -#define MAGIC_ACTION_RESUME 639,17131 -#define MAGIC_IGNORE_MCAST 640,17161 -#define MAGIC_IGNORE_BCAST 641,17195 -#define MAGIC_SWITCH_TO_PSP 642,17229 -#define MAGIC_STAY_IN_CAM 643,17265 -} ConfigRid;ConfigRid646,17332 -#define STAT_NOPACKETS 683,18184 -#define STAT_NOCARRIERSET 684,18209 -#define STAT_GOTCARRIERSET 685,18238 -#define STAT_WRONGSSID 686,18268 -#define STAT_BADCHANNEL 687,18294 -#define STAT_BADBITRATES 688,18321 -#define STAT_BADPRIVACY 689,18349 -#define STAT_APFOUND 690,18376 -#define STAT_APREJECTED 691,18400 -#define STAT_AUTHENTICATING 692,18427 -#define STAT_DEAUTHENTICATED 693,18458 -#define STAT_AUTHTIMEOUT 694,18490 -#define STAT_ASSOCIATING 695,18518 -#define STAT_DEASSOCIATED 696,18546 -#define STAT_ASSOCTIMEOUT 697,18575 -#define STAT_NOTAIROAP 698,18604 -#define STAT_ASSOCIATED 699,18630 -#define STAT_LEAPING 700,18657 -#define STAT_LEAPFAILED 701,18681 -#define STAT_LEAPTIMEDOUT 702,18708 -#define STAT_LEAPCOMPLETE 703,18737 -} StatusRid;StatusRid704,18766 -} StatsRid;StatsRid710,18836 -} APListRid;APListRid716,18898 -} CapabilityRid;CapabilityRid745,19397 -#define RADIO_FH 750,19502 -#define RADIO_DS 751,19556 -#define RADIO_TMA 752,19608 -#define CAP_ESS 759,19797 -#define CAP_IBSS 760,19820 -#define CAP_PRIVACY 761,19844 -#define CAP_SHORTHDR 762,19871 -} BSSListRid;BSSListRid775,20148 -} tdsRssiEntry;tdsRssiEntry780,20208 -} tdsRssiRid;tdsRssiRid785,20276 -} MICRid;MICRid794,20408 -} MICBuffer;MICBuffer811,20601 -} etherHead;etherHead816,20668 -#define TXCTL_TXOK 820,20698 -#define TXCTL_TXEX 821,20749 -#define TXCTL_802_3 822,20800 -#define TXCTL_802_11 823,20846 -#define TXCTL_ETHERNET 824,20898 -#define TXCTL_LLC 825,20956 -#define TXCTL_RELEASE 826,21002 -#define TXCTL_NORELEASE 827,21062 -#define BUSY_FID 829,21130 -#define AIROMAGIC 832,21173 -#define AIROOLDIOCTL 836,21310 -#define AIROOLDIDIFC 837,21346 -#define SIOCIWFIRSTPRIV 840,21441 -#define AIROIOCTL 846,21774 -#define AIROIDIFC 847,21808 -#define AIROGCAP 851,21898 -#define AIROGCFG 852,21938 -#define AIROGSLIST 853,21978 -#define AIROGVLIST 854,22018 -#define AIROGDRVNAM 855,22072 -#define AIROGEHTENC 856,22107 -#define AIROGWEPKTMP 857,22141 -#define AIROGWEPKNV 858,22165 -#define AIROGSTAT 859,22188 -#define AIROGSTATSC32 860,22209 -#define AIROGSTATSD32 861,22234 -#define AIROGMICRID 862,22260 -#define AIROGMICSTATS 863,22284 -#define AIROGFLAGS 864,22310 -#define AIROGID 865,22333 -#define AIRORRID 866,22354 -#define AIRORSWVERSION 867,22375 -#define AIROPCAP 871,22466 -#define AIROPVLIST 872,22517 -#define AIROPSLIST 873,22567 -#define AIROPCFG 874,22605 -#define AIROPSIDS 875,22641 -#define AIROPAPLIST 876,22678 -#define AIROPMACON 877,22717 -#define AIROPMACOFF 878,22773 -#define AIROPSTCLR 879,22831 -#define AIROPWEPKEY 880,22869 -#define AIROPWEPKEYNV 881,22908 -#define AIROPLEAPPWD 882,22949 -#define AIROPLEAPUSR 883,22999 -#define AIROFLSHRST 887,23069 -#define AIROFLSHGCHR 888,23116 -#define AIROFLSHSTFL 889,23166 -#define AIROFLSHPCHR 890,23216 -#define AIROFLPUTBUF 891,23266 -#define AIRORESTART 892,23316 -#define FLASHSIZE 894,23367 -#define AUXMEMSIZE 895,23391 -typedef struct aironet_ioctl aironet_ioctl897,23424 -} aironet_ioctl;aironet_ioctl902,23610 -static char *swversion 904,23628 -#define NUM_MODULES 907,23684 -#define MIC_MSGLEN_MAX 908,23712 -#define EMMH32_MSGLEN_MAX 909,23743 -} mic_statistics;mic_statistics920,24235 -} emmh32_context;emmh32_context930,24523 -} miccntx;miccntx939,24798 -} mic_module;mic_module944,24899 -} Rid;Rid951,25027 -} TxFid;TxFid959,25174 -} RxFid;RxFid967,25320 -} HostRxDesc;HostRxDesc979,25644 -} HostTxDesc;HostTxDesc991,25975 -} HostRidDesc;HostRidDesc1002,26274 -#define HOST_SET 1009,26350 -#define HOST_INT_TX 1010,26376 -#define HOST_INT_TXERR 1011,26438 -#define HOST_LCC_PAYLOAD 1012,26505 -#define HOST_DONT_RLSE 1013,26572 -#define HOST_DONT_RETRY 1014,26641 -#define HOST_CLR_AID 1015,26700 -#define HOST_RTS 1016,26754 -#define HOST_SHORT 1017,26800 -} TxCtlHdr;TxCtlHdr1022,26898 -} WifiHdr;WifiHdr1032,27076 -} WifiCtlHdr;WifiCtlHdr1042,27192 -WifiCtlHdr wifictlhdr8023 1044,27207 -static const long frequency_list[1052,27350 -#define MAX_KEY_SIZE 1056,27542 -#define MIN_KEY_SIZE 1057,27584 -typedef struct wep_key_t wep_key_t1058,27631 -} wep_key_t;wep_key_t1061,27711 -#define IW_ENCODE_NOKEY 1065,27778 -#define IW_ENCODE_MODE 1066,27858 -static const struct iw_handler_def airo_handler_def;1070,28015 -static const char version[1073,28095 -struct airo_info airo_info1132,30914 -#define MAX_FIDS 1137,31125 -#define MPI_MAX_FIDS 1138,31144 -#define FLAG_PROMISC 1146,31403 -#define FLAG_RADIO_OFF 1147,31471 -#define FLAG_RADIO_DOWN 1148,31524 -#define FLAG_RADIO_MASK 1149,31585 -#define FLAG_ENABLED 1150,31614 -#define FLAG_ADHOC 1151,31637 -#define FLAG_MIC_CAPABLE 1152,31678 -#define FLAG_UPDATE_MULTI 1153,31705 -#define FLAG_UPDATE_UNI 1154,31733 -#define FLAG_802_11 1155,31759 -#define FLAG_PENDING_XMIT 1156,31781 -#define FLAG_PENDING_XMIT11 1157,31809 -#define FLAG_MPI 1158,31840 -#define FLAG_REGISTERED 1159,31860 -#define FLAG_COMMIT 1160,31887 -#define FLAG_RESET 1161,31910 -#define FLAG_FLASHING 1162,31932 -#define JOB_MASK 1163,31957 -#define JOB_DIE 1164,31984 -#define JOB_XMIT 1165,32004 -#define JOB_XMIT11 1166,32024 -#define JOB_STATS 1167,32046 -#define JOB_PROMISC 1168,32067 -#define JOB_MIC 1169,32090 -#define JOB_EVENT 1170,32110 -#define JOB_AUTOWEP 1171,32131 -#define JOB_WSTATS 1172,32154 -#define PCI_SHARED_LEN 1212,33262 -static inline int bap_read(1217,33372 -static void micinit(1242,34378 -static int micsetup(1298,36427 -char micsnap[1316,36849 -static int encapsulate(1334,37489 - NONE,1370,38563 - NOMIC,1371,38573 - NOMICPLUMMED,1372,38584 - SEQUENCE,1373,38602 - INCORRECTMIC,1374,38616 -} mic_error;mic_error1375,38634 -static int decapsulate(1390,39203 -static int RxSeqValid 1494,42051 -static void MoveWindow(1542,43387 -#define MIC_ACCUM(MIC_ACCUM1565,43918 -static unsigned char aes_counter[1568,44010 -void emmh32_setseed(1571,44104 -void emmh32_init(1603,45141 -void emmh32_update(1611,45316 -static u32 mask32[1650,46273 -void emmh32_final(1653,46377 -static int readBSSListRid(1687,47228 -static int readWepKeyRid(1721,48234 -static int writeWepKeyRid(1732,48657 -static int readSsidRid(1750,49192 -static int writeSsidRid(1760,49469 -static int readConfigRid(1772,49789 -static inline void checkThrottle(1801,50447 -static int writeConfigRid(1812,50727 -static int readStatusRid(1845,51578 -static int readAPListRid(1858,52045 -static int writeAPListRid(1863,52228 -static int readCapabilityRid(1869,52430 -static int readStatsRid(1881,52877 -static int airo_open(1890,53143 -static int mpi_start_xmit(1917,53867 -static int mpi_send_packet 1958,54776 -static void get_tx_error(2041,57107 -static void airo_end_xmit(2092,58832 -static int airo_start_xmit(2118,59474 -static void airo_end_xmit11(2157,60435 -static int airo_start_xmit11(2183,61091 -static void airo_read_stats(2228,62188 -struct net_device_stats *airo_get_stats(2256,62980 -static void airo_set_promisc(2272,63365 -static void airo_set_multicast_list(2284,63637 -static int airo_change_mtu(2319,64577 -static int airo_close(2328,64738 -void stop_airo_card(2350,65375 -int wll_header_parse(2415,66884 -static void mpi_unmap_card(2421,67016 -static int mpi_init_descriptors 2439,67694 -static int mpi_map_card(2516,69580 -static void wifi_setup(2630,72870 -static struct net_device *init_wifidev(2661,73796 -int reset_card(2680,74235 -struct net_device *_init_airo_card(2697,74627 -struct net_device *init_airo_card(2844,78576 -static int waitbusy 2851,78749 -int reset_airo_card(2861,78992 -static void airo_send_event(2888,79717 -static int airo_thread(2905,80207 -static irqreturn_t airo_interrupt 2990,82126 -#define NOBEACON 3035,83324 -#define MAXRETRIES 3036,83384 -#define MAXARL 3037,83443 -#define FORCELOSS 3038,83514 -#define TSFSYNC 3039,83573 -#define DEAUTH 3040,83637 -#define DISASS 3041,83708 -#define ASSFAIL 3042,83777 -#define AUTHFAIL 3044,83857 -#define ASSOCIATED 3046,83942 -#define RC_RESERVED 3047,83985 -#define RC_NOREASON 3048,84034 -#define RC_AUTHINV 3049,84081 -#define RC_DEAUTH 3050,84140 -#define RC_NOACT 3052,84226 -#define RC_MAXLOAD 3053,84283 -#define RC_BADCLASS2 3055,84392 -#define RC_BADCLASS3 3057,84480 -#define RC_STATLEAVE 3059,84565 -#define RC_NOAUTH 3061,84652 -static void OUT4500(3346,92236 -static u16 IN4500(3357,92520 -static int enable_MAC(3371,92824 -static void disable_MAC(3404,93733 -static void enable_interrupts(3421,94115 -static void disable_interrupts(3426,94241 -static void mpi_receive_802_3(3430,94329 -void mpi_receive_802_11 3508,96251 -static u16 setup_card(3614,98568 -static u16 issuecommand(3781,102665 -static int bap_setup(3835,104344 -static u16 aux_setup(3873,105416 -static int aux_bap_read(3887,105734 -static int fast_bap_read(3924,106551 -static int bap_write(3936,106918 -static int PC4500_accessrid(3948,107260 -static int PC4500_readrid(3967,107754 -static int PC4500_writerid(4032,109390 -static u16 transmit_allocate(4106,111215 -static int transmit_802_3_packet(4164,112878 -static int transmit_802_11_packet(4210,114272 -static struct file_operations proc_statsdelta_ops 4294,116730 -static struct file_operations proc_stats_ops 4300,116864 -static struct file_operations proc_status_ops 4306,116988 -static struct file_operations proc_SSID_ops 4312,117114 -static struct file_operations proc_BSSList_ops 4319,117259 -static struct file_operations proc_APList_ops 4326,117410 -static struct file_operations proc_config_ops 4333,117559 -static struct file_operations proc_wepkey_ops 4340,117708 -static struct proc_dir_entry *airo_entry;4347,117857 -struct proc_data proc_data4349,117900 -#define SETPROC_OPS(SETPROC_OPS4360,118094 -static int setup_proc_entry(4363,118162 -static int takedown_proc_entry(4458,120809 -static ssize_t proc_read(4485,121845 -static ssize_t proc_write(4512,122427 -static int proc_status_open(4537,123006 -static int proc_statsdelta_open(4603,125232 -static int proc_stats_open(4611,125474 -static int proc_stats_rid_open(4615,125601 -static int get_dec_u16(4656,126702 -static void proc_config_on_close(4674,127143 -static char *get_rmode(4876,133372 -static int proc_config_open(4885,133625 -static void proc_SSID_on_close(4974,136603 -inline static u8 hexVal(5008,137485 -static void proc_APList_on_close(5015,137659 -static int do_writerid(5050,138554 -static int get_wep_key(5065,138958 -static int set_wep_key(5084,139336 -static void proc_wepkey_on_close(5114,140171 -static int proc_wepkey_open(5155,141139 -static int proc_SSID_open(5205,142545 -static int proc_APList_open(5249,143736 -static int proc_BSSList_open(5297,145202 -static int proc_close(5367,147372 -static struct net_device_list net_device_list5377,147688 -} *airo_devices;5380,147776 -static void timer_func(5387,148081 -static int add_airo_dev(5424,149113 -static void del_airo_dev(5436,149353 -static int __devinit airo_pci_probe(5445,149578 -static void __devexit airo_pci_remove(5465,150054 -static int airo_pci_suspend(5469,150119 -static int airo_pci_resume(5499,150954 -static int __init airo_init_module(5545,151971 -static void __exit airo_cleanup_module(5575,152734 -static int airo_get_quality 5598,153462 -#define airo_get_max_quality(airo_get_max_quality5619,153994 -#define airo_get_avg_quality(airo_get_avg_quality5620,154086 -static int airo_get_name(5626,154298 -static int airo_set_freq(5639,154577 -static int airo_get_freq(5683,155755 -static int airo_set_essid(5715,156457 -static int airo_get_essid(5762,157632 -static int airo_set_wap(5791,158380 -static int airo_get_wap(5826,159327 -static int airo_set_nick(5847,159851 -static int airo_get_nick(5870,160457 -static int airo_set_rate(5889,160878 -static int airo_get_rate(5959,162624 -static int airo_set_rts(5981,163175 -static int airo_get_rts(6005,163723 -static int airo_set_frag(6024,164154 -static int airo_get_frag(6049,164790 -static int airo_set_mode(6068,165221 -static int airo_get_mode(6131,167020 -static int airo_set_encode(6161,167628 -static int airo_get_encode(6248,170558 -static int airo_set_txpow(6296,171821 -static int airo_get_txpow(6332,172778 -static int airo_set_retry(6352,173277 -static int airo_get_retry(6389,174282 -static int airo_get_range(6420,175211 -static int airo_set_power(6530,178412 -static int airo_get_power(6587,180231 -static int airo_set_sens(6618,181054 -static int airo_get_sens(6636,181532 -static int airo_get_aplist(6656,182001 -static int airo_set_scan(6719,183772 -static inline char *airo_translate_scan(6755,184772 -static int airo_get_scan(6849,187710 -static int airo_config_commit(6908,189563 -static const struct iw_priv_args airo_private_args[6953,190722 -static const iw_handler airo_handler[6961,191124 -static const iw_handler airo_private_handler[7018,193718 -static const struct iw_handler_def airo_handler_def 7023,193806 -static int airo_ioctl(7051,194746 -static void airo_read_wireless_stats(7126,196379 -struct iw_statistics *airo_get_wireless_stats(7171,197786 -static int readrids(7195,198453 -static int writerids(7267,200361 -int flashcard(7386,203434 -#define FLASH_COMMAND 7443,205061 -int cmdreset(7451,205156 -int setflashmode 7476,205610 -int flashpchar(7504,206263 -int flashgchar(7544,207055 -int flashputbuf(7575,207668 -int flashrestart(7597,208061 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/orinoco_tmd.c,454 -#define DRIVER_NAME 52,2382 -#define PFX 53,2416 -#define COR_VALUE 81,2999 -static int orinoco_tmd_init_one(83,3102 -static void __devexit orinoco_tmd_remove_one(171,5043 -static struct pci_device_id orinoco_tmd_pci_id_table[192,5408 -static struct pci_driver orinoco_tmd_driver 199,5613 -static char version[206,5809 -static char version[] __initdata 206,5809 -static int __init orinoco_tmd_init(212,6087 -static void __exit orinoco_tmd_exit(218,6216 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/orinoco_pci.c,733 -#define DRIVER_NAME 92,3983 -#define PFX 93,4017 -#define HERMES_PCI_COR 122,4672 -#define HERMES_PCI_COR_MASK 124,4741 -#define HERMES_PCI_COR_ONT 128,4961 -#define HERMES_PCI_COR_OFFT 129,5004 -#define HERMES_PCI_COR_BUSYT 130,5048 -orinoco_pci_cor_reset(146,5660 -static int orinoco_pci_init_one(194,6943 -static void __devexit orinoco_pci_remove_one(282,9004 -static int orinoco_pci_suspend(301,9391 -static int orinoco_pci_resume(332,10088 -static struct pci_device_id orinoco_pci_pci_id_table[366,10864 -static struct pci_driver orinoco_pci_driver 376,11125 -static char version[385,11386 -static char version[] __initdata 385,11386 -static int __init orinoco_pci_init(393,11783 -static void __exit orinoco_pci_exit(399,11912 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/airo_cs.c,680 -static int pc_debug 54,1849 -static char *version 56,1913 -#define DEBUG(DEBUG57,1956 -#define DEBUG(DEBUG59,2031 -static u_int irq_mask 68,2308 -static int irq_list[70,2396 -static dev_info_t dev_info 123,4256 -static dev_link_t *dev_list 135,4702 -typedef struct local_info_t local_info_t159,5857 -} local_info_t;local_info_t162,5934 -static dev_link_t *airo_attach(176,6413 -static void airo_detach(255,8800 -#define CS_CHECK(CS_CHECK298,9848 -static void airo_config(301,9955 -static void airo_release(500,16923 -static int airo_event(535,18033 -static struct pcmcia_driver airo_driver 578,19114 -static int airo_cs_init(587,19272 -static void airo_cs_cleanup(592,19353 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/arlan.h,4552 -#define ARLAN_PROC_INTERFACE33,769 -#define MAX_ARLANS 34,798 -#define ARLAN_PROC_SHM_DUMP 35,843 -#define ARLAN_MAX_MULTICAST_ADDRS 37,928 -#define ARLAN_RCV_CLEAN 38,965 -#define ARLAN_RCV_PROMISC 39,992 -#define ARLAN_RCV_CONTROL 40,1020 -#define init_arlan_proc(init_arlan_proc46,1149 -#define cleanup_arlan_proc(cleanup_arlan_proc47,1179 -#define SIDUNKNOWN 57,1462 -#define radioNodeIdUNKNOWN 58,1484 -#define irqUNKNOWN 59,1514 -#define debugUNKNOWN 60,1535 -#define testMemoryUNKNOWN 61,1558 -#define spreadingCodeUNKNOWN 62,1586 -#define channelNumberUNKNOWN 63,1617 -#define channelSetUNKNOWN 64,1648 -#define systemIdUNKNOWN 65,1676 -#define registrationModeUNKNOWN 66,1703 -#define IFDEBUG(IFDEBUG69,1740 -#define ARLAN_FAKE_HDR_LEN 70,1787 - #define DEBUG 73,1842 - #define ARLAN_ENTRY_EXIT_DEBUGGING 74,1859 - #define ARLAN_DEBUG(ARLAN_DEBUG75,1897 - #define ARLAN_DEBUG(ARLAN_DEBUG77,1953 -#define ARLAN_SHMEM_SIZE 80,1988 -struct arlan_shmemarlan_shmem82,2021 -struct arlan_conf_stru arlan_conf_stru257,8103 -struct TxParamTxParam320,9568 -#define TX_RING_SIZE 331,9837 -struct arlan_private arlan_private333,9915 -#define ARLAN_CLEAR 386,11400 -#define ARLAN_RESET 387,11426 -#define ARLAN_CHANNEL_ATTENTION 388,11453 -#define ARLAN_INTERRUPT_ENABLE 389,11490 -#define ARLAN_CLEAR_INTERRUPT 390,11527 -#define ARLAN_POWER 391,11563 -#define ARLAN_ACCESS 392,11590 -#define ARLAN_COM_CONF 394,11618 -#define ARLAN_COM_RX_ENABLE 395,11661 -#define ARLAN_COM_RX_ABORT 396,11704 -#define ARLAN_COM_TX_ENABLE 397,11747 -#define ARLAN_COM_TX_ABORT 398,11790 -#define ARLAN_COM_NOP 399,11833 -#define ARLAN_COM_STANDBY 400,11867 -#define ARLAN_COM_ACTIVATE 401,11910 -#define ARLAN_COM_GOTO_SLOW_POLL 402,11953 -#define ARLAN_COM_INT 403,11996 -#define TXLAST(TXLAST406,12041 -#define TXHEAD(TXHEAD407,12152 -#define TXTAIL(TXTAIL408,12221 -#define TXBuffStart(TXBuffStart410,12291 -#define TXBuffEnd(TXBuffEnd412,12434 -#define READSHM(READSHM415,12575 -#define READSHMEM(READSHMEM421,12685 -#define WRITESHM(WRITESHM425,12768 -#define DEBUGSHM(DEBUGSHM430,12875 -#define WRITESHMB(WRITESHMB436,13046 -#define READSHMB(READSHMB438,13094 -#define WRITESHMS(WRITESHMS440,13131 -#define READSHMS(READSHMS442,13179 -#define WRITESHMI(WRITESHMI444,13216 -#define READSHMI(READSHMI446,13264 -#define registrationBad(registrationBad453,13306 -#define readControlRegister(readControlRegister458,13522 -#define writeControlRegister(writeControlRegister461,13626 -#define arlan_interrupt_lancpu(arlan_interrupt_lancpu466,13835 -#define clearChannelAttention(clearChannelAttention476,14117 -#define setHardwareReset(setHardwareReset478,14238 -#define clearHardwareReset(clearHardwareReset480,14341 -#define setInterruptEnable(setInterruptEnable482,14447 -#define clearInterruptEnable(clearInterruptEnable484,14564 -#define setClearInterrupt(setClearInterrupt486,14684 -#define clearClearInterrupt(clearClearInterrupt488,14800 -#define setPowerOff(setPowerOff490,14916 -#define setPowerOn(setPowerOn493,15103 -#define arlan_lock_card_access(arlan_lock_card_access495,15205 -#define arlan_unlock_card_access(arlan_unlock_card_access497,15315 -#define ARLAN_COMMAND_RX 503,15434 -#define ARLAN_COMMAND_NOOP 504,15469 -#define ARLAN_COMMAND_NOOPINT 505,15506 -#define ARLAN_COMMAND_TX 506,15546 -#define ARLAN_COMMAND_CONF 507,15581 -#define ARLAN_COMMAND_RESET 508,15618 -#define ARLAN_COMMAND_TX_ABORT 509,15656 -#define ARLAN_COMMAND_RX_ABORT 510,15697 -#define ARLAN_COMMAND_POWERDOWN 511,15738 -#define ARLAN_COMMAND_POWERUP 512,15780 -#define ARLAN_COMMAND_SLOW_POLL 513,15820 -#define ARLAN_COMMAND_ACTIVATE 514,15862 -#define ARLAN_COMMAND_INT_ACK 515,15904 -#define ARLAN_COMMAND_INT_ENABLE 516,15944 -#define ARLAN_COMMAND_WAIT_NOW 517,15986 -#define ARLAN_COMMAND_LONG_WAIT_NOW 518,16027 -#define ARLAN_COMMAND_STANDBY 519,16072 -#define ARLAN_COMMAND_INT_RACK 520,16112 -#define ARLAN_COMMAND_INT_RENABLE 521,16153 -#define ARLAN_COMMAND_CONF_WAIT 522,16196 -#define ARLAN_COMMAND_TBUSY_CLEAR 523,16238 -#define ARLAN_COMMAND_CLEAN_AND_CONF 524,16281 -#define ARLAN_COMMAND_CLEAN_AND_RESET 527,16401 -#define ARLAN_DEBUG_CHAIN_LOCKS 533,16529 -#define ARLAN_DEBUG_RESET 534,16570 -#define ARLAN_DEBUG_TIMING 535,16605 -#define ARLAN_DEBUG_CARD_STATE 536,16641 -#define ARLAN_DEBUG_TX_CHAIN 537,16681 -#define ARLAN_DEBUG_MULTICAST 538,16719 -#define ARLAN_DEBUG_HEADER_DUMP 539,16758 -#define ARLAN_DEBUG_INTERRUPT 540,16799 -#define ARLAN_DEBUG_STARTUP 541,16838 -#define ARLAN_DEBUG_SHUTDOWN 542,16875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wl3501_cs.c,4557 -#define slow_down_io(slow_down_io66,2168 -#define WL3501_NOPLOOP(WL3501_NOPLOOP70,2230 -#define PCMCIA_DEBUG 79,2651 -static int pc_debug 81,2694 -#define dprintk(dprintk83,2758 -#define dprintk(dprintk87,2892 -#define wl3501_outb(wl3501_outb90,2936 -#define wl3501_outb_p(wl3501_outb_p91,2994 -#define wl3501_outsb(wl3501_outsb92,3056 -#define WL3501_RELEASE_TIMEOUT 94,3123 -#define WL3501_MAX_ADHOC_TRIES 95,3164 -#define WL3501_RESUME 97,3199 -#define WL3501_SUSPEND 98,3223 -static unsigned long wl3501_irq_mask 103,3404 -static int wl3501_irq_list[104,3451 -static dev_info_t wl3501_dev_info 122,4179 -static int wl3501_chan2freq[124,4229 -} iw_channel_table[133,4511 -static int iw_valid_channel(191,5518 -static int iw_default_channel(210,5988 -static void iw_set_mgmt_info_element(222,6223 -static void iw_copy_mgmt_info_element(231,6434 -static dev_link_t *wl3501_dev_list;246,7022 -static inline void wl3501_switch_page(248,7059 -static int wl3501_get_flash_mac_addr(259,7362 -void wl3501_set_to_wla(306,8999 -void wl3501_get_from_wla(327,9672 -static u16 wl3501_get_tx_buffer(353,10642 -static void wl3501_free_tx_buffer(389,11452 -static int wl3501_esbq_req_test(407,11857 -static void wl3501_esbq_req(415,12022 -static int wl3501_esbq_exec(426,12352 -static int wl3501_get_mib_value(441,12661 -static int wl3501_pwr_mgmt(472,13457 -static int wl3501_send_pkt(514,14598 -static int wl3501_mgmt_resync(599,16739 -static inline int wl3501_fw_bss_type(608,16925 -static inline int wl3501_fw_cap_info(614,17089 -static int wl3501_mgmt_scan(620,17264 -static int wl3501_mgmt_join(635,17664 -static int wl3501_mgmt_start(653,18069 -static void wl3501_mgmt_scan_confirm(706,19348 -static int wl3501_block_interrupt(777,21290 -static int wl3501_unblock_interrupt(794,21776 -static u16 wl3501_receive(813,22232 -static void wl3501_esbq_req_free(853,23317 -static int wl3501_esbq_confirm(872,23808 -static void wl3501_online(880,23971 -static void wl3501_esbq_confirm_done(891,24310 -static int wl3501_mgmt_auth(901,24587 -static int wl3501_mgmt_association(914,24888 -static void wl3501_mgmt_join_confirm(928,25222 -static inline void wl3501_alarm_interrupt(976,26586 -static inline void wl3501_md_confirm_interrupt(986,26832 -static inline void wl3501_md_ind_interrupt(999,27171 -static inline void wl3501_get_confirm_interrupt(1045,28489 -static inline void wl3501_start_confirm_interrupt(1054,28746 -static inline void wl3501_assoc_confirm_interrupt(1066,29054 -static inline void wl3501_auth_confirm_interrupt(1079,29365 -static inline void wl3501_rx_interrupt(1093,29681 -static inline void wl3501_ack_interrupt(1158,31369 -static irqreturn_t wl3501_interrupt(1176,31962 -static int wl3501_reset_board(1199,32508 -static int wl3501_init_firmware(1237,33454 -static int wl3501_close(1286,35124 -static int wl3501_reset(1324,36062 -static void wl3501_tx_timeout(1353,36681 -static int wl3501_hard_start_xmit(1378,37272 -static int wl3501_open(1405,37918 -struct net_device_stats *wl3501_get_stats(1448,39051 -struct iw_statistics *wl3501_get_wireless_stats(1455,39184 -static inline int wl3501_ethtool_ioctl(1490,40533 -static int wl3501_ioctl(1528,41503 -static void wl3501_detach(1548,42046 -static int wl3501_get_name(1585,42902 -static int wl3501_set_freq(1592,43102 -static int wl3501_get_freq(1606,43436 -static int wl3501_set_mode(1616,43694 -static int wl3501_get_mode(1632,44063 -static int wl3501_get_sens(1641,44273 -static int wl3501_get_range(1652,44550 -static int wl3501_set_wap(1672,45188 -static int wl3501_get_wap(1692,45750 -static int wl3501_set_scan(1702,46024 -static int wl3501_get_scan(1711,46245 -static int wl3501_set_essid(1760,47855 -static int wl3501_get_essid(1777,48322 -static int wl3501_set_nick(1792,48740 -static int wl3501_get_nick(1803,49030 -static int wl3501_get_rate(1813,49279 -static int wl3501_get_rts_threshold(1826,49676 -static int wl3501_get_frag_threshold(1842,50142 -static int wl3501_get_txpow(1858,50615 -static int wl3501_get_retry(1880,51195 -static int wl3501_get_encode(1907,51917 -static int wl3501_get_power(1945,53038 -static const iw_handler wl3501_handler[1962,53462 -static const struct iw_handler_def wl3501_handler_def 1991,54809 -static dev_link_t *wl3501_attach(2006,55390 -#define CS_CHECK(CS_CHECK2083,57624 -static void wl3501_config(2094,58014 -static void wl3501_release(2215,61668 -static int wl3501_event(2246,62669 -static struct pcmcia_driver wl3501_driver 2293,63825 -static int __init wl3501_init_module(2302,64025 -static void __exit wl3501_exit_module(2307,64121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/atmel_pci.c,281 -static struct pci_device_id card_ids[34,1360 -static struct pci_driver atmel_driver 47,1789 -static int __devinit atmel_pci_probe(55,1955 -static void __devexit atmel_pci_remove(75,2363 -static int __init atmel_init_module(80,2473 -static void __exit atmel_cleanup_module(85,2560 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/i82593.h,3114 -#define _I82593_H30,758 -#define OP0_NOP 37,894 -#define OP0_SWIT_TO_PORT_1 38,929 -#define OP0_IA_SETUP 39,973 -#define OP0_CONFIGURE 40,997 -#define OP0_MC_SETUP 41,1022 -#define OP0_TRANSMIT 42,1046 -#define OP0_TDR 43,1070 -#define OP0_DUMP 44,1090 -#define OP0_DIAGNOSE 45,1110 -#define OP0_TRANSMIT_NO_CRC 46,1134 -#define OP0_RETRANSMIT 47,1164 -#define OP0_ABORT 48,1191 -#define OP0_RCV_ENABLE 50,1240 -#define OP0_RCV_DISABLE 51,1266 -#define OP0_STOP_RCV 52,1294 -#define OP0_FIX_PTR 54,1359 -#define OP0_RLS_PTR 55,1398 -#define OP0_RESET 56,1437 -#define CR0_CHNL 58,1460 -#define CR0_STATUS_0 59,1518 -#define CR0_STATUS_1 60,1545 -#define CR0_STATUS_2 61,1572 -#define CR0_STATUS_3 62,1599 -#define CR0_INT_ACK 63,1626 -#define SR0_NO_RESULT 67,1729 -#define SR0_EVENT_MASK 68,1767 -#define SR0_IA_SETUP_DONE 69,1796 -#define SR0_CONFIGURE_DONE 70,1824 -#define SR0_MC_SETUP_DONE 71,1853 -#define SR0_TRANSMIT_DONE 72,1881 -#define SR0_TDR_DONE 73,1909 -#define SR0_DUMP_DONE 74,1933 -#define SR0_DIAGNOSE_PASSED 75,1958 -#define SR0_TRANSMIT_NO_CRC_DONE 76,1988 -#define SR0_RETRANSMIT_DONE 77,2023 -#define SR0_EXECUTION_ABORTED 78,2054 -#define SR0_END_OF_FRAME 79,2087 -#define SR0_RECEPTION_ABORTED 80,2114 -#define SR0_DIAGNOSE_FAILED 81,2147 -#define SR0_STOP_REG_HIT 82,2178 -#define SR0_CHNL 84,2207 -#define SR0_EXECUTION 85,2234 -#define SR0_RECEPTION 86,2266 -#define SR0_INTERRUPT 87,2298 -#define SR0_BOTH_RX_TX 88,2330 -#define SR3_EXEC_STATE_MASK 90,2387 -#define SR3_EXEC_IDLE 91,2420 -#define SR3_TX_ABORT_IN_PROGRESS 92,2445 -#define SR3_EXEC_ACTIVE 93,2480 -#define SR3_ABORT_IN_PROGRESS 94,2507 -#define SR3_EXEC_CHNL 95,2539 -#define SR3_STP_ON_NO_RSRC 96,2571 -#define SR3_RCVING_NO_RSRC 97,2607 -#define SR3_RCV_STATE_MASK 98,2643 -#define SR3_RCV_IDLE 99,2675 -#define SR3_RCV_READY 100,2702 -#define SR3_RCV_ACTIVE 101,2730 -#define SR3_RCV_STOP_IN_PROG 102,2759 -#define SR3_RCV_CHNL 103,2793 -#define OP1_NOP 107,2868 -#define OP1_SWIT_TO_PORT_0 108,2888 -#define OP1_INT_DISABLE 109,2917 -#define OP1_INT_ENABLE 110,2944 -#define OP1_SET_TS 111,2970 -#define OP1_RST_TS 112,2992 -#define OP1_POWER_DOWN 113,3014 -#define OP1_RESET_RING_MNGMT 114,3040 -#define OP1_RESET 115,3072 -#define OP1_SEL_RST 116,3094 -#define CR1_STATUS_4 118,3119 -#define CR1_STATUS_5 119,3146 -#define CR1_STATUS_6 120,3173 -#define CR1_STOP_REG_UPDATE 121,3200 -#define RX_RCLD 125,3271 -#define RX_IA_MATCH 126,3298 -#define RX_NO_AD_MATCH 127,3328 -#define RX_NO_SFD 128,3361 -#define RX_SRT_FRM 129,3389 -#define RX_OVRRUN 130,3418 -#define RX_ALG_ERR 131,3446 -#define RX_CRC_ERR 132,3476 -#define RX_LEN_ERR 133,3506 -#define RX_RCV_OK 134,3536 -#define RX_TYP_LEN 135,3565 -#define TX_NCOL_MASK 139,3624 -#define TX_FRTL 140,3651 -#define TX_MAX_COL 141,3678 -#define TX_HRT_BEAT 142,3707 -#define TX_DEFER 143,3737 -#define TX_UND_RUN 144,3764 -#define TX_LOST_CTS 145,3793 -#define TX_LOST_CRS 146,3823 -#define TX_LTCOL 147,3854 -#define TX_OK 148,3882 -#define TX_COLL 149,3908 -struct i82593_conf_block i82593_conf_block151,3937 -#define I82593_MAX_MULTICAST_ADDRESSES 222,5372 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wireless/wavelan.h,4651 -#define _WAVELAN_H20,587 -static const char MAC_ADDRESSES[29,940 -#define WAVELAN_ADDR_SIZE 38,1268 -#define WAVELAN_MTU 40,1325 -#define MAXDATAZ 42,1389 -static const short channel_bands[52,1710 -static const int fixed_bands[59,2004 -typedef union hacs_u hacs_u;hacs_u69,2227 -union hacs_uhacs_u70,2256 -#define HACR_RESET 73,2323 -#define HACR_CA 74,2369 -#define HACR_16BITS 75,2433 -#define HACR_OUT0 76,2498 -#define HACR_OUT1 78,2593 -#define HACR_82586_INT_ENABLE 80,2688 -#define HACR_MMC_INT_ENABLE 81,2756 -#define HACR_INTR_CLR_ENABLE 82,2820 -#define HASR_82586_INTR 84,2948 -#define HASR_MMC_INTR 85,3016 -#define HASR_MMC_BUSY 86,3080 -#define HASR_PSA_BUSY 87,3137 -typedef struct ha_t ha_t;ha_t90,3210 -struct ha_tha_t91,3236 -#define ha_command 94,3302 -#define ha_status 95,3340 -#define HA_SIZE 105,3799 -#define hoff(hoff107,3820 -#define HACR(HACR108,3911 -#define HASR(HASR109,3948 -#define MMCR(MMCR110,3984 -#define PIOR0(PIOR0111,4018 -#define PIOP0(PIOP0112,4053 -#define PIOR1(PIOR1113,4088 -#define PIOP1(PIOP1114,4123 -#define PIOR2(PIOR2115,4158 -#define PIOP2(PIOP2116,4193 -#define STATIC_PIO 121,4273 -#define AUTOINCR_PIO 123,4347 -#define AUTODECR_PIO 125,4431 -#define PARAM_ACCESS_PIO 127,4515 -#define PIO_MASK 129,4611 -#define PIOM(PIOM130,4651 -#define HACR_DEFAULT 132,4713 -#define HACR_INTRON 133,4847 -#define OFFSET_RU 141,5070 -#define OFFSET_CU 142,5114 -#define OFFSET_SCB 143,5158 -#define OFFSET_ISCP 144,5208 -#define OFFSET_SCP 145,5259 -#define RXBLOCKZ 147,5296 -#define TXBLOCKZ 148,5356 -#define NRXBLOCKS 150,5439 -#define NTXBLOCKS 151,5495 -typedef struct psa_t psa_t;psa_t158,5665 -struct psa_tpsa_t159,5693 -#define PSA_UNIVERSAL 175,6663 -#define PSA_LOCAL 176,6715 -#define PSA_COMP_PC_AT_915 178,6818 -#define PSA_COMP_PC_MC_915 179,6871 -#define PSA_COMP_PC_AT_2400 180,6923 -#define PSA_COMP_PC_MC_2400 181,6976 -#define PSA_COMP_PCMCIA_915 182,7030 -#define PSA_FEATURE_CALL_CODE 185,7234 -#define PSA_SUBBAND_915 187,7357 -#define PSA_SUBBAND_2425 188,7406 -#define PSA_SUBBAND_2460 189,7451 -#define PSA_SUBBAND_2484 190,7496 -#define PSA_SUBBAND_2430_5 191,7541 -#define PSA_SIZE 207,8483 -#define psaoff(psaoff211,8605 -typedef struct mmw_t mmw_t;mmw_t218,8845 -struct mmw_tmmw_t219,8873 -#define MMW_ENCR_ENABLE_MODE 223,9011 -#define MMW_ENCR_ENABLE_EN 224,9075 -#define MMW_DES_IO_INVERT_RES 227,9242 -#define MMW_DES_IO_INVERT_CTRL 228,9292 -#define MMW_LOOPT_SEL_DIS_NWID 231,9460 -#define MMW_LOOPT_SEL_INT 232,9526 -#define MMW_LOOPT_SEL_LS 233,9591 -#define MMW_LOOPT_SEL_LT3A 234,9660 -#define MMW_LOOPT_SEL_LT3B 235,9710 -#define MMW_LOOPT_SEL_LT3C 236,9760 -#define MMW_LOOPT_SEL_LT3D 237,9810 -#define MMW_ANTEN_SEL_SEL 243,10155 -#define MMW_ANTEN_SEL_ALG_EN 244,10217 -#define MMW_FEE_CTRL_PRE 264,11374 -#define MMW_FEE_CTRL_DWLD 265,11441 -#define MMW_FEE_CTRL_CMD 266,11502 -#define MMW_FEE_CTRL_READ 267,11556 -#define MMW_FEE_CTRL_WREN 268,11598 -#define MMW_FEE_CTRL_WRITE 269,11648 -#define MMW_FEE_CTRL_WRALL 270,11709 -#define MMW_FEE_CTRL_WDS 271,11776 -#define MMW_FEE_CTRL_PRREAD 272,11826 -#define MMW_FEE_CTRL_PREN 273,11897 -#define MMW_FEE_CTRL_PRCLEAR 274,11958 -#define MMW_FEE_CTRL_PRWRITE 275,12023 -#define MMW_FEE_CTRL_PRDS 276,12097 -#define MMW_FEE_ADDR_CHANNEL 280,12270 -#define MMW_FEE_ADDR_OFFSET 281,12330 -#define MMW_FEE_ADDR_EN 282,12392 -#define MMW_FEE_ADDR_DS 283,12455 -#define MMW_FEE_ADDR_ALL 284,12519 -#define MMW_FEE_ADDR_CLEAR 285,12579 -#define MMW_EXT_ANT_EXTANT 290,12820 -#define MMW_EXT_ANT_POL 291,12882 -#define MMW_EXT_ANT_INTERNAL 292,12942 -#define MMW_EXT_ANT_EXTERNAL 293,12999 -#define MMW_EXT_ANT_IQ_TEST 294,13056 -#define MMW_SIZE 297,13126 -#define mmwoff(mmwoff299,13147 -typedef struct mmr_t mmr_t;mmr_t304,13302 -struct mmr_tmmr_t305,13330 -#define MMR_DES_AVAIL_DES 310,13519 -#define MMR_DES_AVAIL_AES 311,13571 -#define MMR_DCE_STATUS_RX_BUSY 315,13791 -#define MMR_DCE_STATUS_LOOPT_IND 316,13848 -#define MMR_DCE_STATUS_TX_BUSY 317,13912 -#define MMR_DCE_STATUS_JBR_EXPIRED 318,13970 -#define MMR_DCE_STATUS 319,14037 -#define MMR_THR_PRE_SET 328,14591 -#define MMR_THR_PRE_SET_CUR 329,14651 -#define MMR_SIGNAL_LVL 331,14767 -#define MMR_SIGNAL_LVL_VALID 332,14816 -#define MMR_SILENCE_LVL 334,14942 -#define MMR_SILENCE_LVL_VALID 335,14993 -#define MMR_SGNL_QUAL 337,15112 -#define MMR_SGNL_QUAL_ANT 338,15162 -#define MMR_FEE_STATUS_ID 344,15457 -#define MMR_FEE_STATUS_DWLD 345,15513 -#define MMR_FEE_STATUS_BUSY 346,15574 -#define MMR_SIZE 352,15811 -#define mmroff(mmroff354,15832 -typedef union mm_tmm_t357,15967 -} mm_t;mm_t361,16071 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/atp.h,2669 -struct rx_header rx_header8,203 -#define PAR_DATA 15,404 -#define PAR_STATUS 16,423 -#define PAR_CONTROL 17,444 -enum chip_type chip_type19,467 -enum chip_type { RTL8002,19,467 -enum chip_type { RTL8002, RTL8012 19,467 -#define Ctrl_LNibRead 21,505 -#define Ctrl_HNibRead 22,549 -#define Ctrl_LNibWrite 23,573 -#define Ctrl_HNibWrite 24,618 -#define Ctrl_SelData 25,643 -#define Ctrl_IRQEN 26,685 -#define EOW 28,726 -#define EOC 29,743 -#define WrAddr 30,760 -#define RdAddr 31,828 -#define HNib 32,848 -enum page0_regspage0_regs34,867 - PAR0 37,963 - PAR0 = 0, PAR1 37,963 - PAR0 = 0, PAR1 = 1, PAR2 37,963 - PAR0 = 0, PAR1 = 1, PAR2 = 2, PAR3 37,963 - PAR0 = 0, PAR1 = 1, PAR2 = 2, PAR3 = 3, PAR4 37,963 - PAR0 = 0, PAR1 = 1, PAR2 = 2, PAR3 = 3, PAR4 = 4, PAR5 37,963 - TxCNT0 38,1027 - TxCNT0 = 6, TxCNT1 38,1027 - TxSTAT 39,1087 - TxSTAT = 8, RxSTAT 39,1087 - ISR 40,1140 - ISR = 10, IMR 40,1140 - CMR1 41,1199 - CMR2 42,1243 - MODSEL 43,1287 - MAR 44,1334 - CMR2_h 45,1386 - CMR2_h = 0x1d,45,1386 -enum eepage_regseepage_regs47,1409 -{ PROM_CMD 48,1426 -{ PROM_CMD = 6, PROM_DATA 48,1426 -#define ISR_TxOK 51,1509 -#define ISR_RxOK 52,1531 -#define ISR_TxErr 53,1553 -#define ISRh_RxErr 54,1576 -#define CMR1h_MUX 56,1624 -#define CMR1h_RESET 57,1689 -#define CMR1h_RxENABLE 58,1727 -#define CMR1h_TxENABLE 59,1778 -#define CMR1h_TxRxOFF 60,1829 -#define CMR1_ReXmit 61,1856 -#define CMR1_Xmit 62,1909 -#define CMR1_IRQ 63,1958 -#define CMR1_BufEnb 64,2004 -#define CMR1_NextPkt 65,2057 -#define CMR2_NULL 67,2112 -#define CMR2_IRQOUT 68,2132 -#define CMR2_RAMTEST 69,2154 -#define CMR2_EEPROM 70,2178 -#define CMR2h_OFF 72,2247 -#define CMR2h_Physical 73,2289 -#define CMR2h_Normal 74,2358 -#define CMR2h_PROMISC 75,2426 -static inline unsigned char inbyte(79,2597 -static inline unsigned char read_nibble(88,2848 -static inline unsigned char read_byte_mode0(102,3340 -static inline unsigned char read_byte_mode2(116,3900 -static inline unsigned char read_byte_mode4(129,4357 -static inline unsigned char read_byte_mode6(140,4743 -write_reg(153,5135 -write_reg_high(172,5620 -write_reg_byte(192,6241 -static inline void write_byte_mode0(217,7171 -static inline void write_byte_mode1(223,7338 -static inline void write_word_mode0(232,7705 -#define EE_SHIFT_CLK 244,8048 -#define EE_CS 245,8100 -#define EE_CLK_HIGH 246,8146 -#define EE_CLK_LOW 247,8171 -#define EE_DATA_WRITE 248,8195 -#define EE_DATA_READ 249,8249 -#define eeprom_delay(eeprom_delay252,8350 -#define EE_WRITE_CMD(EE_WRITE_CMD256,8508 -#define EE_READ(EE_READ257,8567 -#define EE_ERASE(EE_ERASE258,8622 -#define EE_CMD_SIZE 259,8677 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gianfar_phy.c,1352 -void write_phy_reg(59,1933 -int read_phy_reg(78,2596 -void mii_clear_phy_interrupt(101,3263 -void mii_configure_phy_interrupt(108,3414 -static void config_genmii_advert(120,3760 -static void genmii_setup_forced(143,4449 -static void genmii_restart_aneg(183,5380 -static int gbit_config_aneg(193,5577 -static int marvell_config_aneg(220,6290 -static int genmii_config_aneg(237,6744 -static int genmii_update_link(249,6958 -static int genmii_read_status(271,7419 -static int marvell_read_status(301,8102 -static int cis820x_read_status(354,9274 -static int marvell_ack_interrupt(395,10142 -static int marvell_config_intr(403,10310 -static int cis820x_init(413,10572 -static int cis820x_ack_interrupt(423,10798 -static int cis820x_config_intr(430,10920 -#define DM9161_DELAY 440,11168 -static int dm9161_read_status(442,11193 -static int dm9161_config_aneg(473,11905 -static void dm9161_timer(483,12076 -static int dm9161_init(495,12404 -static void dm9161_close(532,13353 -static int dm9161_ack_interrupt(541,13514 -static struct phy_info phy_info_cis820x 550,13658 -static struct phy_info phy_info_dm9161 562,13961 -static struct phy_info phy_info_marvell 572,14209 -static struct phy_info phy_info_genmii=583,14526 -static struct phy_info *phy_info[592,14754 -u16 phy_read(600,14881 -void phy_write(612,15171 -struct phy_info * get_phy_info(626,15595 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/wd.c,997 -static const char version[28,714 -#define DRV_NAME 46,1120 -static unsigned int wd_portlist[49,1203 -static unsigned int wd_portlist[] __initdata 49,1203 -#define WD_START_PG 65,1809 -#define WD03_STOP_PG 66,1865 -#define WD13_STOP_PG 67,1921 -#define WD_CMDREG 69,1978 -#define WD_RESET 70,2039 -#define WD_MEMENB 71,2096 -#define WD_CMDREG5 72,2153 -#define ISA16 73,2221 -#define NIC16 74,2288 -#define WD_NIC_OFFSET 75,2352 -#define WD_IO_EXTENT 76,2423 -static int __init do_wd_probe(87,2792 -static void cleanup_card(130,3757 -struct net_device * __init wd_probe(137,3915 -static int __init wd_probe1(163,4320 -wd_open(356,11054 -wd_reset_8390(374,11539 -wd_get_8390_hdr(396,12268 -wd_block_input(423,13331 -wd_block_output(445,14131 -wd_close(463,14645 -#define MAX_WD_CARDS 483,15092 -static struct net_device *dev_wd[484,15155 -static int io[485,15203 -static int irq[486,15232 -static int mem[487,15262 -static int mem_end[488,15292 -init_module(504,16099 -cleanup_module(538,16895 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc-ultra32.c,1071 -static const char *version 46,2071 -#define DRV_NAME 64,2439 -#define ULTRA32_CMDREG 78,3033 -#define ULTRA32_RESET 79,3097 -#define ULTRA32_MEMENB 80,3163 -#define ULTRA32_NIC_OFFSET 81,3224 -#define ULTRA32_IO_EXTENT 82,3300 -#define EN0_ERWCNT 83,3329 -#define ULTRA32_BASE 90,3566 -#define ULTRA32_ID 91,3593 -#define ULTRA32_IDPORT 92,3623 -#define ULTRA32_CFG1 94,3722 -#define ULTRA32_CFG2 95,3760 -#define ULTRA32_CFG3 96,3798 -#define ULTRA32_CFG4 97,3839 -#define ULTRA32_CFG5 98,3880 -#define ULTRA32_CFG6 99,3921 -#define ULTRA32_CFG7 100,3962 -static void cleanup_card(102,4001 -struct net_device * __init ultra32_probe(114,4345 -static int __init ultra32_probe1(157,5082 -static int ultra32_open(284,8662 -static int ultra32_close(306,9426 -static void ultra32_reset_8390(324,9821 -static void ultra32_get_8390_hdr(344,10565 -static void ultra32_block_input(369,11511 -static void ultra32_block_output(397,12487 -#define MAX_ULTRA32_CARDS 412,12876 -static struct net_device *dev_ultra[413,12949 -int init_module(418,13086 -void cleanup_module(434,13414 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sonic.c,350 -static int sonic_open(29,767 -static int sonic_close(68,1727 -static void sonic_tx_timeout(89,2112 -static int sonic_send_packet(104,2436 -static irqreturn_t sonic_interrupt(164,3982 -static void sonic_rx(286,6932 -static struct net_device_stats *sonic_get_stats(377,9472 -static void sonic_multicast_list(397,10057 -static int sonic_init(448,11452 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hp.c,1065 -static const char version[22,548 -#define DRV_NAME 40,926 -static unsigned int hppclan_portlist[43,1009 -static unsigned int hppclan_portlist[] __initdata 43,1009 -#define HP_IO_EXTENT 46,1117 -#define HP_DATAPORT 48,1142 -#define HP_ID 49,1198 -#define HP_CONFIGURE 50,1219 -#define HP_RUN 51,1275 -#define HP_IRQ 52,1326 -#define HP_DATAON 53,1394 -#define NIC_OFFSET 54,1442 -#define HP_START_PG 56,1501 -#define HP_8BSTOP_PG 57,1557 -#define HP_16BSTOP_PG 58,1613 -static char irqmap[76,2379 -static char irqmap[16] __initdata=76,2379 -static int __init do_hp_probe(83,2578 -static void cleanup_card(105,3038 -struct net_device * __init hp_probe(112,3193 -static int __init hp_probe1(138,3598 -hp_open(237,6405 -hp_close(244,6479 -hp_reset_8390(251,6556 -hp_get_8390_hdr(273,7177 -hp_block_input(300,8273 -hp_block_output(335,9721 -#define NE_CMD 357,10603 -hp_init_card(394,11850 -#define MAX_HP_CARDS 404,12043 -static struct net_device *dev_hp[405,12106 -static int io[406,12154 -static int irq[407,12183 -init_module(419,12646 -cleanup_module(451,13368 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/amd8111e.h,14009 -#define _AMD811E_H39,1050 -#define ASF_STAT 52,1916 -#define CHIPID 53,1966 -#define MIB_DATA 54,2011 -#define MIB_ADDR 55,2058 -#define STAT0 56,2108 -#define INT0 57,2152 -#define INTEN0 58,2198 -#define CMD0 59,2253 -#define CMD2 60,2297 -#define CMD3 61,2341 -#define CMD7 62,2384 -#define CTRL1 64,2429 -#define CTRL2 65,2475 -#define XMT_RING_LIMIT 67,2522 -#define AUTOPOLL0 69,2587 -#define AUTOPOLL1 70,2637 -#define AUTOPOLL2 71,2687 -#define AUTOPOLL3 72,2737 -#define AUTOPOLL4 73,2787 -#define AUTOPOLL5 74,2837 -#define AP_VALUE 76,2888 -#define DLY_INT_A 77,2942 -#define DLY_INT_B 78,3007 -#define FLOW_CONTROL 80,3073 -#define PHY_ACCESS 81,3128 -#define STVAL 83,3180 -#define XMT_RING_BASE_ADDR0 85,3238 -#define XMT_RING_BASE_ADDR1 86,3312 -#define XMT_RING_BASE_ADDR2 87,3386 -#define XMT_RING_BASE_ADDR3 88,3460 -#define RCV_RING_BASE_ADDR0 90,3535 -#define PMAT0 92,3610 -#define PMAT1 93,3662 -#define XMT_RING_LEN0 97,3738 -#define XMT_RING_LEN1 98,3804 -#define XMT_RING_LEN2 99,3870 -#define XMT_RING_LEN3 100,3937 -#define RCV_RING_LEN0 102,4004 -#define SRAM_SIZE 104,4070 -#define SRAM_BOUNDARY 105,4120 -#define PADR 109,4201 -#define IFS1 111,4255 -#define IFS 112,4317 -#define IPG 113,4372 -#define LADRF 116,4445 - ASF_INIT_DONE 122,4554 - ASF_INIT_PRESENT 123,4582 -}STAT_ASF_BITS;STAT_ASF_BITS125,4613 - MIB_CMD_ACTIVE 129,4650 - MIB_RD_CMD 130,4681 - MIB_CLEAR 131,4708 - MIB_ADDRESS 132,4734 -}MIB_ADDR_BITS;MIB_ADDR_BITS134,4819 - PMAT_DET 139,4854 - MP_DET 140,4878 - LC_DET 141,4908 - SPEED_MASK 142,4931 - FULL_DPLX 143,4974 - LINK_STATS 144,4998 - AUTONEG_COMPLETE 145,5023 - MIIPD 146,5053 - RX_SUSPENDED 147,5074 - TX_SUSPENDED 148,5101 - RUNNING 149,5128 -}STAT0_BITS;STAT0_BITS151,5152 -#define PHY_SPEED_10 153,5166 -#define PHY_SPEED_100 154,5192 - INTR 159,5271 - PCSINT 160,5292 - LCINT 161,5316 - APINT5 162,5338 - APINT4 163,5361 - APINT3 164,5384 - TINT_SUM 165,5407 - APINT2 166,5431 - APINT1 167,5454 - APINT0 168,5477 - MIIPDTINT 169,5500 - MCCINT 170,5525 - MREINT 171,5548 - RINT_SUM 172,5571 - SPNDINT 173,5595 - MPINT 174,5619 - SINT 175,5641 - TINT3 176,5662 - TINT2 177,5684 - TINT1 178,5706 - TINT0 179,5727 - UINT 180,5748 - STINT 181,5768 - RINT0 182,5789 -}INT0_BITS;INT0_BITS184,5811 - VAL3 188,5840 - VAL2 189,5888 - VAL1 190,5936 - VAL0 191,5984 -}VAL_BITS;VAL_BITS193,6033 - LCINTEN 198,6073 - APINT5EN 199,6097 - APINT4EN 200,6121 - APINT3EN 201,6145 - APINT2EN 203,6181 - APINT1EN 204,6205 - APINT0EN 205,6229 - MIIPDTINTEN 206,6253 - MCCIINTEN 207,6280 - MCCINTEN 208,6305 - MREINTEN 209,6329 - SPNDINTEN 211,6365 - MPINTEN 212,6390 - TINTEN3 213,6414 - SINTEN 214,6438 - TINTEN2 215,6461 - TINTEN1 216,6485 - TINTEN0 217,6508 - STINTEN 219,6543 - RINTEN0 220,6566 - INTEN0_CLEAR 222,6590 - INTEN0_CLEAR = 0x1F7F7F1F,222,6590 -}INTEN0_BITS;INTEN0_BITS224,6650 - RDMD0 228,6694 - TDMD3 230,6728 - TDMD2 231,6750 - TDMD1 232,6772 - TDMD0 233,6793 - UINTCMD 235,6826 - RX_FAST_SPND 236,6849 - TX_FAST_SPND 237,6876 - RX_SPND 238,6903 - TX_SPND 239,6926 - INTREN 240,6949 - RUN 241,6971 - CMD0_CLEAR 243,6991 - CMD0_CLEAR = 0x000F0F7F,243,6991 -}CMD0_BITS;CMD0_BITS245,7052 - CONDUIT_MODE 250,7093 - RPA 252,7133 - DRCVPA 253,7153 - DRCVBC 254,7176 - PROM 255,7199 - ASTRP_RCV 257,7232 - RCV_DROP0 258,7257 - EMBA 259,7284 - DXMT2PD 260,7305 - LTINTEN 261,7329 - DXMTFCS 262,7352 - APAD_XMT 264,7387 - DRTY 265,7410 - INLOOP 266,7430 - EXLOOP 267,7452 - REX_RTRY 268,7474 - REX_UFLO 269,7497 - REX_LCOL 270,7520 - CMD2_CLEAR 272,7544 - CMD2_CLEAR = 0x3F7F3F7F,272,7544 -}CMD2_BITS;CMD2_BITS274,7604 - ASF_INIT_DONE_ALIAS 279,7645 - JUMBO 281,7691 - VSIZE 282,7713 - VLONLY 283,7736 - VL_TAG_DEL 284,7759 - EN_PMGR 286,7798 - INTLEVEL 287,7825 - FORCE_FULL_DUPLEX 288,7849 - FORCE_LINK_STATUS 289,7882 - APEP 290,7915 - MPPLBA 291,7937 - RESET_PHY_PULSE 293,7972 - RESET_PHY 294,8003 - PHY_RST_POL 295,8028 -}CMD3_BITS;CMD3_BITS297,8056 - PMAT_SAVE_MATCH 303,8098 - PMAT_MODE 304,8128 - MPEN_SW 305,8152 - LCMODE_SW 306,8175 - CMD7_CLEAR 308,8200 - CMD7_CLEAR = 0x0000001B 308,8200 -}CMD7_BITS;CMD7_BITS310,8258 - RESET_PHY_WIDTH 315,8288 - RESET_PHY_WIDTH = (0xF 315,8288 - RESET_PHY_WIDTH = (0xF << 16) | (0xF<315,8288 - XMTSP_MASK 316,8351 - XMTSP_128 317,8397 - XMTSP_64 318,8430 - CACHE_ALIGN 319,8453 - BURST_LIMIT_MASK 320,8479 - BURST_LIMIT_MASK = (0xF 320,8479 - CTRL1_DEFAULT 321,8512 - CTRL1_DEFAULT = 0x00010111,321,8512 -}CTRL1_BITS;CTRL1_BITS323,8543 - FMDC_MASK 327,8573 - XPHYRST 328,8616 - XPHYANE 329,8639 - XPHYFD 330,8662 - XPHYSP 331,8684 - APDW_MASK 332,8727 -}CTRL2_BITS;CTRL2_BITS334,8784 - XMT_RING2_LIMIT 339,8857 - XMT_RING2_LIMIT = (0xFF 339,8857 - XMT_RING1_LIMIT 340,8903 - XMT_RING1_LIMIT = (0xFF 340,8903 - XMT_RING0_LIMIT 341,8947 - XMT_RING0_LIMIT = (0xFF 341,8947 -}XMT_RING_LIMIT_BITS;XMT_RING_LIMIT_BITS343,8992 - AP_REG0_EN 347,9031 - AP_REG0_ADDR_MASK 348,9057 - AP_REG0_ADDR_MASK = (0xF 348,9057 - AP_PHY0_ADDR_MASK 349,9111 - AP_PHY0_ADDR_MASK = (0xF 349,9111 -}AUTOPOLL0_BITS;AUTOPOLL0_BITS351,9164 - AP_REG1_EN 356,9237 - AP_REG1_ADDR_MASK 357,9263 - AP_REG1_ADDR_MASK = (0xF 357,9263 - AP_PRE_SUP1 358,9317 - AP_PHY1_DFLT 359,9343 - AP_PHY1_ADDR_MASK 360,9370 - AP_PHY1_ADDR_MASK = (0xF 360,9370 -}AUTOPOLL1_BITS;AUTOPOLL1_BITS362,9423 - AP_REG2_EN 367,9458 - AP_REG2_ADDR_MASK 368,9484 - AP_REG2_ADDR_MASK = (0xF 368,9484 - AP_PRE_SUP2 369,9538 - AP_PHY2_DFLT 370,9564 - AP_PHY2_ADDR_MASK 371,9591 - AP_PHY2_ADDR_MASK = (0xF 371,9591 -}AUTOPOLL2_BITS;AUTOPOLL2_BITS373,9644 - AP_REG3_EN 377,9678 - AP_REG3_ADDR_MASK 378,9704 - AP_REG3_ADDR_MASK = (0xF 378,9704 - AP_PRE_SUP3 379,9758 - AP_PHY3_DFLT 380,9784 - AP_PHY3_ADDR_MASK 381,9811 - AP_PHY3_ADDR_MASK = (0xF 381,9811 -}AUTOPOLL3_BITS;AUTOPOLL3_BITS383,9864 - AP_REG4_EN 388,9899 - AP_REG4_ADDR_MASK 389,9925 - AP_REG4_ADDR_MASK = (0xF 389,9925 - AP_PRE_SUP4 390,9979 - AP_PHY4_DFLT 391,10005 - AP_PHY4_ADDR_MASK 392,10032 - AP_PHY4_ADDR_MASK = (0xF 392,10032 -}AUTOPOLL4_BITS;AUTOPOLL4_BITS394,10085 - AP_REG5_EN 399,10120 - AP_REG5_ADDR_MASK 400,10146 - AP_REG5_ADDR_MASK = (0xF 400,10146 - AP_PRE_SUP5 401,10200 - AP_PHY5_DFLT 402,10226 - AP_PHY5_ADDR_MASK 403,10253 - AP_PHY5_ADDR_MASK = (0xF 403,10253 -}AUTOPOLL5_BITS;AUTOPOLL5_BITS405,10306 - AP_VAL_ACTIVE 413,10382 - AP_VAL_RD_CMD 414,10411 - AP_ADDR 415,10441 - AP_VAL 416,10497 - AP_VAL = (0xF 416,10497 - AP_VAL = (0xF << 0) | (0xF 416,10497 - AP_VAL = (0xF << 0) | (0xF << 4) |( 0xF 416,10497 - (0xF 417,10548 -}AP_VALUE_BITS;AP_VALUE_BITS419,10579 - DLY_INT_A_R3 423,10612 - DLY_INT_A_R2 424,10640 - DLY_INT_A_R1 425,10668 - DLY_INT_A_R0 426,10696 - DLY_INT_A_T3 427,10724 - DLY_INT_A_T2 428,10752 - DLY_INT_A_T1 429,10780 - DLY_INT_A_T0 430,10808 - EVENT_COUNT_A 431,10837 - EVENT_COUNT_A = (0xF 431,10837 - EVENT_COUNT_A = (0xF << 16) | (0x1 431,10837 - MAX_DELAY_TIME_A 432,10893 - MAX_DELAY_TIME_A = (0xF 432,10893 - MAX_DELAY_TIME_A = (0xF << 0) | (0xF 432,10893 -}DLY_INT_A_BITS;DLY_INT_A_BITS435,10989 - DLY_INT_B_R3 439,11023 - DLY_INT_B_R2 440,11051 - DLY_INT_B_R1 441,11079 - DLY_INT_B_R0 442,11107 - DLY_INT_B_T3 443,11135 - DLY_INT_B_T2 444,11163 - DLY_INT_B_T1 445,11191 - DLY_INT_B_T0 446,11219 - EVENT_COUNT_B 447,11248 - EVENT_COUNT_B = (0xF 447,11248 - EVENT_COUNT_B = (0xF << 16) | (0x1 447,11248 - MAX_DELAY_TIME_B 448,11304 - MAX_DELAY_TIME_B = (0xF 448,11304 - MAX_DELAY_TIME_B = (0xF << 0) | (0xF 448,11304 -}DLY_INT_B_BITS;DLY_INT_B_BITS450,11400 - PAUSE_LEN_CHG 456,11477 - FTPE 457,11506 - FRPE 458,11527 - NAPA 459,11548 - NPA 460,11569 - FIXP 461,11589 - FCCMD 462,11611 - PAUSE_LEN 463,11634 - PAUSE_LEN = (0xF 463,11634 - PAUSE_LEN = (0xF << 0) | (0xF 463,11634 - PAUSE_LEN = (0xF << 0) | (0xF << 4) |( 0xF 463,11634 - PAUSE_LEN = (0xF << 0) | (0xF << 4) |( 0xF << 8) | (0xF 463,11634 -}FLOW_CONTROL_BITS;FLOW_CONTROL_BITS465,11719 - PHY_CMD_ACTIVE 470,11797 - PHY_WR_CMD 471,11827 - PHY_RD_CMD 472,11853 - PHY_RD_ERR 473,11879 - PHY_PRE_SUP 474,11905 - PHY_ADDR 475,11932 - PHY_REG_ADDR 477,12020 - PHY_DATA 478,12120 - PHY_DATA = (0xF 478,12120 - PHY_DATA = (0xF << 0)|(0xF 478,12120 - PHY_DATA = (0xF << 0)|(0xF << 4) |(0xF 478,12120 - (0xF 479,12168 -}PHY_ACCESS_BITS;PHY_ACCESS_BITS481,12197 - PMR_ACTIVE 486,12269 - PMR_WR_CMD 487,12295 - PMR_RD_CMD 488,12321 - PMR_BANK 489,12347 - PMR_ADDR 490,12370 - PMR_ADDR = (0xF 490,12370 - PMR_B4 492,12445 - PMR_B4 = (0xF 492,12445 - PMR_B4 = (0xF << 0) | (0xF 492,12445 -}PMAT0_BITS;PMAT0_BITS493,12492 - PMR_B3 498,12559 - PMR_B3 = (0xF 498,12559 - PMR_B3 = (0xF << 24) | (0xF 498,12559 - PMR_B2 499,12608 - PMR_B2 = (0xF 499,12608 - PMR_B2 = (0xF << 16) |(0xF 499,12608 - PMR_B1 500,12657 - PMR_B1 = (0xF 500,12657 - PMR_B1 = (0xF << 8) | (0xF 500,12657 - PMR_B0 501,12705 - PMR_B0 = (0xF 501,12705 - PMR_B0 = (0xF << 0)|(0xF 501,12705 -}PMAT1_BITS;PMAT1_BITS502,12749 -#define rcv_miss_pkts 510,13139 -#define rcv_octets 511,13169 -#define rcv_broadcast_pkts 512,13196 -#define rcv_multicast_pkts 513,13230 -#define rcv_undersize_pkts 514,13264 -#define rcv_oversize_pkts 515,13298 -#define rcv_fragments 516,13331 -#define rcv_jabbers 517,13361 -#define rcv_unicast_pkts 518,13389 -#define rcv_alignment_errors 519,13421 -#define rcv_fcs_errors 520,13457 -#define rcv_good_octets 521,13488 -#define rcv_mac_ctrl 522,13520 -#define rcv_flow_ctrl 523,13549 -#define rcv_pkts_64_octets 524,13579 -#define rcv_pkts_65to127_octets 525,13613 -#define rcv_pkts_128to255_octets 526,13652 -#define rcv_pkts_256to511_octets 527,13691 -#define rcv_pkts_512to1023_octets 528,13730 -#define rcv_pkts_1024to1518_octets 529,13770 -#define rcv_unsupported_opcode 530,13811 -#define rcv_symbol_errors 531,13849 -#define rcv_drop_pkts_ring1 532,13882 -#define rcv_drop_pkts_ring2 533,13917 -#define rcv_drop_pkts_ring3 534,13952 -#define rcv_drop_pkts_ring4 535,13987 -#define rcv_jumbo_pkts 536,14022 -#define xmt_underrun_pkts 538,14054 -#define xmt_octets 539,14087 -#define xmt_packets 540,14114 -#define xmt_broadcast_pkts 541,14142 -#define xmt_multicast_pkts 542,14176 -#define xmt_collisions 543,14210 -#define xmt_unicast_pkts 544,14241 -#define xmt_one_collision 545,14273 -#define xmt_multiple_collision 546,14306 -#define xmt_deferred_transmit 547,14344 -#define xmt_late_collision 548,14381 -#define xmt_excessive_defer 549,14415 -#define xmt_loss_carrier 550,14450 -#define xmt_excessive_collision 551,14482 -#define xmt_back_pressure 552,14521 -#define xmt_flow_ctrl 553,14554 -#define xmt_pkts_64_octets 554,14584 -#define xmt_pkts_65to127_octets 555,14618 -#define xmt_pkts_128to255_octets 556,14657 -#define xmt_pkts_256to511_octets 557,14696 -#define xmt_pkts_512to1023_octets 558,14735 -#define xmt_pkts_1024to1518_octet 559,14775 -#define xmt_oversize_pkts 560,14815 -#define xmt_jumbo_pkts 561,14848 -#define PCI_VENDOR_ID_AMD 566,14907 -#define PCI_DEVICE_ID_AMD8111E_7462 567,14942 -#define MAX_UNITS 569,14987 -#define NUM_TX_BUFFERS 571,15051 -#define NUM_RX_BUFFERS 572,15112 -#define TX_BUFF_MOD_MASK 574,15174 -#define RX_BUFF_MOD_MASK 575,15237 -#define NUM_TX_RING_DR 577,15301 -#define NUM_RX_RING_DR 578,15331 -#define TX_RING_DR_MOD_MASK 580,15361 -#define RX_RING_DR_MOD_MASK 581,15427 -#define MAX_FILTER_SIZE 583,15494 -#define AMD8111E_MIN_MTU 584,15556 -#define AMD8111E_MAX_MTU 585,15588 -#define PKT_BUFF_SZ 587,15623 -#define MIN_PKT_LEN 588,15650 -#define ETH_ADDR_LEN 589,15675 -#define AMD8111E_TX_TIMEOUT 591,15701 -#define SOFT_TIMER_FREQ 592,15751 -#define DELAY_TIMER_CONV 593,15799 -#define OPTION_VLAN_ENABLE 595,15905 -#define OPTION_JUMBO_ENABLE 596,15940 -#define OPTION_MULTICAST_ENABLE 597,15976 -#define OPTION_WOL_ENABLE 598,16016 -#define OPTION_WAKE_MAGIC_ENABLE 599,16050 -#define OPTION_WAKE_PHY_ENABLE 600,16090 -#define OPTION_INTR_COAL_ENABLE 601,16129 -#define OPTION_DYN_IPG_ENABLE 602,16169 -#define PHY_REG_ADDR_MASK 604,16215 -#define DEFAULT_IPG 607,16269 -#define IFS1_DELTA 608,16296 -#define IPG_CONVERGE_JIFFIES 609,16320 -#define IPG_STABLE_TIME 610,16356 -#define MIN_IPG 611,16382 -#define MAX_IPG 612,16401 -#define IPG_STEP 613,16421 -#define CSTATE 614,16441 -#define SSTATE 615,16460 -#define REPEAT_CNT 618,16550 - OWN_BIT 623,16641 - ADD_FCS_BIT 624,16664 - LTINT_BIT 625,16690 - STP_BIT 626,16714 - ENP_BIT 627,16736 - KILL_BIT 628,16758 - TCC_VLAN_INSERT 629,16781 - TCC_VLAN_REPLACE 630,16810 -}TX_FLAG_BITS;TX_FLAG_BITS632,16851 - ERR_BIT 635,16882 - FRAM_BIT 636,16905 - OFLO_BIT 637,16930 - CRC_BIT 638,16959 - PAM_BIT 639,16982 - LAFM_BIT 640,17004 - BAM_BIT 641,17027 - TT_VLAN_TAGGED 642,17049 - TT_PRTY_TAGGED 643,17099 -}RX_FLAG_BITS;RX_FLAG_BITS645,17140 -#define RESET_RX_FLAGS 647,17156 -#define TT_MASK 648,17187 -#define TCC_MASK 649,17212 -#define PHY_ID 652,17268 -#define AMD8111E_REG_DUMP_LEN 653,17319 -#define CRC32 656,17397 -#define INITCRC 657,17422 -struct amd8111e_tx_dr{amd8111e_tx_dr661,17483 -struct amd8111e_rx_dr{amd8111e_rx_dr676,17675 -struct amd8111e_link_config{amd8111e_link_config691,17888 -#define SPEED_INVALID 693,17918 -#define DUPLEX_INVALID 694,17948 -#define AUTONEG_INVALID 695,17977 -enum coal_type{coal_type704,18133 - NO_COALESCE,706,18150 - LOW_COALESCE,707,18164 - MEDIUM_COALESCE,708,18179 - HIGH_COALESCE,709,18197 -enum coal_mode{coal_mode713,18218 - RX_INTR_COAL,714,18235 - TX_INTR_COAL,715,18257 - DISABLE_COAL,716,18272 - ENABLE_COAL,717,18287 -#define MAX_TIMEOUT 720,18305 -#define MAX_EVENT_COUNT 721,18328 -struct amd8111e_coalesce_conf{amd8111e_coalesce_conf722,18355 -struct ipg_info{ipg_info741,18789 -struct amd8111e_priv{amd8111e_priv753,19014 -#define amd8111e_writeq(amd8111e_writeq803,20592 - SPEED_AUTONEG,809,20799 - SPEED10_HALF,810,20815 - SPEED10_FULL,811,20830 - SPEED100_HALF,812,20845 - SPEED100_FULL,813,20861 -}EXT_PHY_OPTION;EXT_PHY_OPTION814,20877 -static int card_idx;816,20895 -static int speed_duplex[817,20916 -static int coalesce[818,20961 -static int dynamic_ipg[819,21013 -static unsigned int chip_version;820,21068 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ppp_generic.c,3735 -#define PPP_VERSION 52,1575 -#define NP_IP 57,1644 -#define NP_IPV6 58,1688 -#define NP_IPX 59,1734 -#define NP_AT 60,1771 -#define NP_MPLS_UC 61,1813 -#define NP_MPLS_MC 62,1854 -#define NUM_NP 63,1897 -#define MPHDRLEN 65,1937 -#define MPHDRLEN_SSN 66,1995 -#define MIN_FRAG_SIZE 67,2058 -struct ppp_file ppp_file74,2252 - INTERFACE=76,2278 - INTERFACE=1, CHANNEL76,2278 -#define PF_TO_X(PF_TO_X87,2691 -#define PF_TO_PPP(PF_TO_PPP89,2758 -#define PF_TO_CHANNEL(PF_TO_CHANNEL90,2805 -#define ROUNDUP(ROUNDUP92,2860 -struct ppp ppp100,3111 -#define SC_FLAG_BITS 144,5186 -struct channel channel152,5456 -#define CARDMAP_ORDER 184,6751 -#define CARDMAP_WIDTH 185,6775 -#define CARDMAP_MASK 186,6819 -struct cardmap cardmap188,6861 -static struct cardmap *all_ppp_units;205,7434 -static atomic_t ppp_unit_count 206,7472 -static spinlock_t all_channels_lock 213,7674 -static int last_channel_index;216,7796 -static atomic_t channel_count 217,7827 -#define PPP_PROTO(PPP_PROTO220,7921 -#define PPP_MAX_RQLEN 223,8054 -#define PPP_MP_MAX_QLEN 231,8336 -#define B 234,8394 -#define E 235,8446 -#define seq_before(seq_before238,8567 -#define seq_after(seq_after239,8615 -static struct class_simple *ppp_class;276,10462 -static inline int proto_to_npindex(279,10580 -static const int npindex_to_proto[299,10931 -static inline int ethertype_to_npindex(309,11096 -static const int npindex_to_ethertype[330,11481 -#define ppp_xmit_lock(ppp_xmit_lock342,11648 -#define ppp_xmit_unlock(ppp_xmit_unlock343,11703 -#define ppp_recv_lock(ppp_recv_lock344,11762 -#define ppp_recv_unlock(ppp_recv_unlock345,11817 -#define ppp_lock(ppp_lock346,11876 -#define ppp_unlock(ppp_unlock348,11967 -static int ppp_open(358,12353 -static int ppp_release(368,12554 -static ssize_t ppp_read(394,13080 -static ssize_t ppp_write(443,13955 -static unsigned int ppp_poll(481,14644 -static int get_filter(498,15004 -static int ppp_ioctl(536,15665 -static int ppp_unattached_ioctl(762,20266 -static struct file_operations ppp_device_fops 821,21432 -#define PPP_MAJOR 831,21638 -static int __init ppp_init(835,21793 -ppp_start_xmit(871,22605 -ppp_net_stats(924,23815 -ppp_net_ioctl(932,23936 -static void ppp_setup(974,24802 -ppp_xmit_process(993,25173 -ppp_send_frame(1017,25755 -ppp_push(1148,29076 -static int ppp_mp_explode(1199,30202 -ppp_channel_push(1346,33587 -#define sequence 1381,34398 -#define BEbits 1382,34424 -ppp_do_recv(1385,34466 -ppp_input(1397,34724 -ppp_input_error(1425,35440 -ppp_receive_frame(1450,35932 -ppp_receive_error(1472,36444 -ppp_receive_nonmp_frame(1480,36562 -ppp_decompress_frame(1611,39920 -ppp_receive_mp_frame(1669,41295 -ppp_mp_insert(1759,43910 -ppp_mp_reconstruct(1780,44554 -ppp_register_channel(1905,47634 -int ppp_channel_index(1935,48364 -int ppp_unit_number(1947,48575 -ppp_unregister_channel(1966,48923 -ppp_output_wakeup(1998,49758 -ppp_set_compress(2013,49975 -ppp_ccp_peek(2088,51711 -ppp_ccp_closed(2173,53803 -static spinlock_t compressor_list_lock 2202,54364 -struct compressor_entry compressor_entry2204,54426 -find_comp_entry(2210,54539 -ppp_register_compressor(2225,54857 -ppp_unregister_compressor(2247,55318 -find_compressor(2262,55643 -ppp_get_stats(2283,55977 -ppp_create_interface(2317,57053 -init_ppp_file(2389,58595 -static void ppp_shutdown_interface(2402,58917 -static void ppp_destroy_interface(2428,59515 -ppp_find_unit(2469,60410 -ppp_find_channel(2483,60817 -ppp_connect_channel(2510,61386 -ppp_disconnect_channel(2549,62169 -static void ppp_destroy_channel(2574,62649 -static void __exit ppp_cleanup(2589,62950 -static void *cardmap_get(2605,63430 -static void cardmap_set(2621,63731 -static unsigned int cardmap_find_first_free(2663,64684 -static void cardmap_destroy(2688,65236 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pcnet32.c,5351 -#define DRV_NAME 24,857 -#define DRV_VERSION 25,884 -#define DRV_RELDATE 26,912 -#define PFX 27,945 -static const char *version 29,973 -static struct pci_device_id pcnet32_pci_tbl[60,1740 -static int cards_found;74,2278 -static unsigned int pcnet32_portlist[79,2331 -static unsigned int pcnet32_portlist[] __initdata 79,2331 -static int pcnet32_debug 84,2422 -static int tx_start 85,2452 -static int pcnet32vlb;86,2543 -static struct net_device *pcnet32_dev;88,2596 -static int max_interrupt_work 90,2636 -static int rx_copybreak 91,2671 -#define PCNET32_PORT_AUI 93,2703 -#define PCNET32_PORT_10BT 94,2738 -#define PCNET32_PORT_GPSI 95,2773 -#define PCNET32_PORT_MII 96,2808 -#define PCNET32_PORT_PORTSEL 98,2844 -#define PCNET32_PORT_ASEL 99,2879 -#define PCNET32_PORT_100 100,2914 -#define PCNET32_PORT_FD 101,2949 -#define PCNET32_DMA_MASK 103,2985 -#define PCNET32_WATCHDOG_TIMEOUT 105,3022 -#define PCNET32_BLINK_TIMEOUT 106,3076 -static unsigned char options_mapping[112,3203 -static const char pcnet32_gstrings_test[131,4146 -#define PCNET32_TEST_LEN 134,4243 -#define PCNET32_NUM_REGS 136,4319 -#define MAX_UNITS 138,4349 -static int options[139,4417 -static int full_duplex[140,4448 -static int homepna[141,4483 -#define PCNET32_LOG_TX_BUFFERS 268,11163 -#define PCNET32_LOG_RX_BUFFERS 269,11196 -#define TX_RING_SIZE 272,11237 -#define TX_RING_MOD_MASK 273,11291 -#define TX_RING_LEN_BITS 274,11335 -#define RX_RING_SIZE 276,11394 -#define RX_RING_MOD_MASK 277,11448 -#define RX_RING_LEN_BITS 278,11492 -#define PKT_BUF_SZ 280,11550 -#define PCNET32_WIO_RDP 283,11613 -#define PCNET32_WIO_RAP 284,11643 -#define PCNET32_WIO_RESET 285,11673 -#define PCNET32_WIO_BDP 286,11704 -#define PCNET32_DWIO_RDP 288,11735 -#define PCNET32_DWIO_RAP 289,11765 -#define PCNET32_DWIO_RESET 290,11795 -#define PCNET32_DWIO_BDP 291,11827 -#define PCNET32_TOTAL_SIZE 293,11858 -struct pcnet32_rx_head pcnet32_rx_head296,11937 -struct pcnet32_tx_head pcnet32_tx_head304,12054 -struct pcnet32_init_block pcnet32_init_block313,12231 -struct pcnet32_access pcnet32_access325,12484 -struct pcnet32_private pcnet32_private339,12966 -enum pci_flags_bit pci_flags_bit399,15888 - PCI_USES_IO=400,15909 - PCI_USES_IO=1, PCI_USES_MEM=400,15909 - PCI_USES_IO=1, PCI_USES_MEM=2, PCI_USES_MASTER=400,15909 - PCI_ADDR0=401,15963 - PCI_ADDR0=0x10<401,15963 - PCI_ADDR0=0x10<<0, PCI_ADDR1=401,15963 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<401,15963 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=401,15963 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<401,15963 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<<2, PCI_ADDR3=401,15963 - PCI_ADDR0=0x10<<0, PCI_ADDR1=0x10<<1, PCI_ADDR2=0x10<<2, PCI_ADDR3=0x10<401,15963 -static u16 pcnet32_wio_read_csr 405,16048 -static void pcnet32_wio_write_csr 411,16196 -static u16 pcnet32_wio_read_bcr 417,16354 -static void pcnet32_wio_write_bcr 423,16502 -static u16 pcnet32_wio_read_rap 429,16660 -static void pcnet32_wio_write_rap 434,16757 -static void pcnet32_wio_reset 439,16864 -static int pcnet32_wio_check 444,16954 -static struct pcnet32_access pcnet32_wio 450,17093 -static u16 pcnet32_dwio_read_csr 460,17407 -static void pcnet32_dwio_write_csr 466,17569 -static u16 pcnet32_dwio_read_bcr 472,17730 -static void pcnet32_dwio_write_bcr 478,17892 -static u16 pcnet32_dwio_read_rap 484,18053 -static void pcnet32_dwio_write_rap 489,18163 -static void pcnet32_dwio_reset 494,18272 -static int pcnet32_dwio_check 499,18364 -static struct pcnet32_access pcnet32_dwio 505,18517 -static void pcnet32_poll_controller(516,18873 -static int pcnet32_get_settings(525,19036 -static int pcnet32_set_settings(540,19382 -static void pcnet32_get_drvinfo(554,19724 -static u32 pcnet32_get_link(566,20072 -static u32 pcnet32_get_msglevel(584,20483 -static void pcnet32_set_msglevel(590,20615 -static int pcnet32_nway_reset(596,20760 -static void pcnet32_get_ringparam(610,21070 -static void pcnet32_get_strings(620,21409 -static int pcnet32_self_test_count(625,21567 -static void pcnet32_ethtool_test(630,21660 -static int pcnet32_loopback_test(648,22295 -static void pcnet32_led_blink_callback(806,26736 -static int pcnet32_phys_id(823,27194 -static int pcnet32_get_regs_len(863,28297 -static void pcnet32_get_regs(868,28402 -static struct ethtool_ops pcnet32_ethtool_ops 939,30108 -pcnet32_probe_vlbus(963,30970 -pcnet32_probe_pci(982,31494 -pcnet32_probe1(1022,32635 -pcnet32_open(1365,43504 -pcnet32_purge_tx_ring(1541,49136 -pcnet32_init_ring(1562,49672 -pcnet32_restart(1618,51623 -pcnet32_tx_timeout 1649,52296 -pcnet32_start_xmit(1690,53676 -pcnet32_interrupt(1747,55289 -pcnet32_rx(1913,60284 -pcnet32_close(2033,64142 -pcnet32_get_stats(2098,65875 -static void pcnet32_load_multicast 2115,66385 -static void pcnet32_set_multicast_list(2156,67322 -static int mdio_read(2180,68162 -static void mdio_write(2196,68564 -static int pcnet32_ioctl(2208,68880 -static void pcnet32_watchdog(2226,69290 -static void __devexit pcnet32_remove_one(2241,69695 -static struct pci_driver pcnet32_driver 2256,70072 -static int debug 2264,70309 -static int tx_start_pt 2265,70332 -static int pcnet32_have_pci;2266,70361 -static int num_params;2267,70390 -#define PCNET32_MSG_DEFAULT 2291,71577 -static int __init pcnet32_init_module(2293,71657 -static void __exit pcnet32_cleanup_module(2316,72258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sungem_phy.h,1710 -#define __SUNGEM_PHY_H__2,25 -struct mii_phy_opsmii_phy_ops7,114 -struct mii_phy_defmii_phy_def18,496 -struct mii_phymii_phy29,847 -#define BMCR_SPD2 59,1541 -#define LPA_PAUSE 60,1598 -#define MII_BCM5201_INTERRUPT 65,1713 -#define MII_BCM5201_INTERRUPT_INTENABLE 66,1750 -#define MII_BCM5201_AUXMODE2 68,1799 -#define MII_BCM5201_AUXMODE2_LOWPOWER 69,1835 -#define MII_BCM5201_MULTIPHY 71,1882 -#define MII_BCM5201_MULTIPHY_SERIALMODE 74,1977 -#define MII_BCM5201_MULTIPHY_SUPERISOLATE 75,2032 -#define MII_BCM5221_TEST 78,2127 -#define MII_BCM5221_TEST_ENABLE_SHADOWS 79,2159 -#define MII_BCM5221_SHDOW_AUX_STAT2 80,2207 -#define MII_BCM5221_SHDOW_AUX_STAT2_APD 81,2249 -#define MII_BCM5221_SHDOW_AUX_MODE4 82,2297 -#define MII_BCM5221_SHDOW_AUX_MODE4_CLKLOPWR 83,2339 -#define MII_BCM5400_GB_CONTROL 86,2438 -#define MII_BCM5400_GB_CONTROL_FULLDUPLEXCAP 87,2476 -#define MII_BCM5400_AUXCONTROL 90,2567 -#define MII_BCM5400_AUXCONTROL_PWR10BASET 91,2620 -#define MII_BCM5400_AUXSTATUS 94,2713 -#define MII_BCM5400_AUXSTATUS_LINKMODE_MASK 95,2766 -#define MII_BCM5400_AUXSTATUS_LINKMODE_SHIFT 96,2821 -#define MII_1000BASETCONTROL 99,2924 -#define MII_1000BASETCONTROL_FULLDUPLEXCAP 100,2960 -#define MII_1000BASETCONTROL_HALFDUPLEXCAP 101,3010 -#define MII_M1011_PHY_SPEC_CONTROL 104,3095 -#define MII_M1011_PHY_SPEC_CONTROL_MANUAL_MDIX 105,3136 -#define MII_M1011_PHY_SPEC_CONTROL_AUTO_MDIX 106,3188 -#define MII_M1011_PHY_SPEC_STATUS 109,3272 -#define MII_M1011_PHY_SPEC_STATUS_1000 110,3312 -#define MII_M1011_PHY_SPEC_STATUS_100 111,3359 -#define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 112,3405 -#define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 113,3455 -#define MII_M1011_PHY_SPEC_STATUS_RESOLVED 114,3507 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mii.c,217 -int mii_ethtool_gset(36,912 -int mii_ethtool_sset(96,2684 -int mii_link_ok 167,4836 -int mii_nway_restart 176,5083 -void mii_check_link 193,5400 -unsigned int mii_check_media 204,5655 -int generic_mii_ioctl(267,7445 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/8390.c,954 -static const char version[52,1987 -#define NS8390_CORE77,2598 -#define BUG_83C69080,2637 -#define ei_reset_8390 100,3665 -#define ei_block_output 101,3710 -#define ei_block_input 102,3759 -#define ei_get_8390_hdr 103,3806 -int ei_debug 107,3934 -int ei_open(159,5954 -int ei_close(192,6941 -void ei_tx_timeout(216,7556 -static int ei_start_xmit(271,9073 -irqreturn_t ei_interrupt(404,12839 -void ei_poll(507,15924 -static void ei_tx_err(529,16581 -static void ei_tx_intr(572,17777 -static void ei_receive(655,20069 -static void ei_rx_overrun(792,24758 -static struct net_device_stats *get_stats(861,26695 -static inline void make_mc_bits(886,27519 -static void do_set_multicast_list(915,28256 -static void set_multicast_list(970,30174 -static void ethdev_setup(988,30688 -struct net_device *__alloc_ei_netdev(1008,31137 -void NS8390_init(1028,31592 -static void NS8390_trigger_send(1091,34140 -int init_module(1123,35053 -void cleanup_module(1128,35091 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/myri_sbus.h,4024 -#define _MYRI_SBUS_H7,154 -#define LANAI_IPF0 10,198 -#define LANAI_CUR0 11,260 -#define LANAI_PREV0 12,286 -#define LANAI_DATA0 13,313 -#define LANAI_DPF0 14,340 -#define LANAI_IPF1 15,366 -#define LANAI_CUR1 16,428 -#define LANAI_PREV1 17,454 -#define LANAI_DATA1 18,481 -#define LANAI_DPF1 19,508 -#define LANAI_ISTAT 20,534 -#define LANAI_EIMASK 21,587 -#define LANAI_ITIMER 22,642 -#define LANAI_RTC 23,690 -#define LANAI_CSUM 24,739 -#define LANAI_DMAXADDR 25,784 -#define LANAI_DMALADDR 26,848 -#define LANAI_DMACTR 27,909 -#define LANAI_RXDMAPTR 28,963 -#define LANAI_RXDMALIM 29,1022 -#define LANAI_TXDMAPTR 30,1079 -#define LANAI_TXDMALIM 31,1138 -#define LANAI_TXDMALIMT 32,1196 -#define LANAI_RBYTE 34,1285 -#define LANAI_RHALF 36,1363 -#define LANAI_RWORD 38,1441 -#define LANAI_SALIGN 39,1490 -#define LANAI_SBYTE 40,1539 -#define LANAI_SHALF 41,1595 -#define LANAI_SWORD 42,1655 -#define LANAI_SSENDT 43,1711 -#define LANAI_DMADIR 44,1767 -#define LANAI_DMASTAT 45,1818 -#define LANAI_TIMEO 46,1868 -#define LANAI_MYRINET 47,1921 -#define LANAI_HWDEBUG 48,1981 -#define LANAI_LEDS 49,2041 -#define LANAI_VERS 50,2089 -#define LANAI_LINKON 51,2141 -#define LANAI_CVAL 53,2228 -#define LANAI_REG_SIZE 54,2284 -#define ISTAT_DEBUG 57,2345 -#define ISTAT_HOST 58,2376 -#define ISTAT_LAN7 59,2406 -#define ISTAT_LAN6 60,2436 -#define ISTAT_LAN5 61,2466 -#define ISTAT_LAN4 62,2496 -#define ISTAT_LAN3 63,2526 -#define ISTAT_LAN2 64,2556 -#define ISTAT_LAN1 65,2586 -#define ISTAT_LAN0 66,2616 -#define ISTAT_WRDY 67,2646 -#define ISTAT_HRDY 68,2676 -#define ISTAT_SRDY 69,2706 -#define ISTAT_LINK 70,2736 -#define ISTAT_FRES 71,2766 -#define ISTAT_NRES 72,2796 -#define ISTAT_WAKE 73,2826 -#define ISTAT_OB2 74,2856 -#define ISTAT_OB1 75,2885 -#define ISTAT_TAIL 76,2914 -#define ISTAT_WDOG 77,2944 -#define ISTAT_TIME 78,2974 -#define ISTAT_DMA 79,3004 -#define ISTAT_SEND 80,3033 -#define ISTAT_BUF 81,3063 -#define ISTAT_RECV 82,3092 -#define ISTAT_BRDY 83,3122 -#define MYRI_RESETOFF 86,3174 -#define MYRI_RESETON 87,3203 -#define MYRI_IRQOFF 88,3231 -#define MYRI_IRQON 89,3258 -#define MYRI_WAKEUPOFF 90,3284 -#define MYRI_WAKEUPON 91,3314 -#define MYRI_IRQREAD 92,3343 -#define MYRI_LOCALMEM 94,3402 -#define MYRI_REG_SIZE 95,3433 -#define SHMEM_IMASK_RX 98,3502 -#define SHMEM_IMASK_TX 99,3537 -#define KERNEL_CHANNEL 102,3609 -struct myri_eeprom myri_eeprom105,3681 -#define BUS_TYPE_SBUS 122,4103 -#define CPUVERS_2_3 125,4157 -#define CPUVERS_3_0 126,4185 -#define CPUVERS_3_1 127,4213 -#define CPUVERS_3_2 128,4241 -#define CPUVERS_4_0 129,4269 -#define CPUVERS_4_1 130,4297 -#define CPUVERS_4_2 131,4325 -#define CPUVERS_5_0 132,4353 -#define MYRICTRL_CTRL 135,4411 -#define MYRICTRL_IRQLVL 136,4441 -#define MYRICTRL_REG_SIZE 137,4473 -#define CONTROL_ROFF 140,4546 -#define CONTROL_RON 141,4593 -#define CONTROL_EIRQ 142,4638 -#define CONTROL_DIRQ 143,4687 -#define CONTROL_WON 144,4737 -#define MYRI_SCATTER_ENTRIES 146,4785 -#define MYRI_GATHER_ENTRIES 147,4816 -struct myri_sglist myri_sglist149,4848 -struct myri_rxd myri_rxd154,4894 -struct myri_txd myri_txd161,5092 -#define MYRINET_MTU 171,5429 -#define RX_ALLOC_SIZE 172,5461 -#define MYRI_PAD_LEN 173,5493 -#define RX_COPY_THRESHOLD 174,5522 -#define TX_RING_MAXSIZE 179,5648 -#define RX_RING_MAXSIZE 180,5678 -#define TX_RING_SIZE 182,5709 -#define RX_RING_SIZE 183,5739 -static __inline__ int NEXT_RX(186,5784 -static __inline__ int PREV_RX(194,5895 -#define NEXT_TX(NEXT_TX201,5989 -#define PREV_TX(PREV_TX202,6045 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL204,6102 -struct sendq sendq209,6232 -struct recvq recvq217,6343 -#define MYRI_MLIST_SIZE 225,6458 -struct mclist mclist227,6485 - struct pair pair231,6536 -struct myri_channel myri_channel238,6629 -#define STATE_WFH 252,7114 -#define STATE_WFN 253,7160 -#define STATE_READY 254,7205 -struct myri_shmem myri_shmem256,7244 -struct myri_eth myri_eth268,7657 -#define ALIGNED_RX_SKB_ADDR(ALIGNED_RX_SKB_ADDR297,9126 -static inline struct sk_buff *myri_alloc_skb(299,9245 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/net_init.c,784 -struct net_device *alloc_netdev(73,2542 -struct net_device *alloc_etherdev(121,3825 -static int eth_mac_addr(128,3970 -static int eth_change_mtu(137,4164 -struct net_device *alloc_fddidev(159,4736 -static int fddi_change_mtu(166,4879 -static int hippi_change_mtu(178,5114 -static int hippi_mac_addr(194,5468 -static int hippi_neigh_setup_dev(203,5667 -static void hippi_setup(217,6037 -struct net_device *alloc_hippi_dev(261,7384 -void ether_setup(270,7558 -void fddi_setup(298,8382 -static int ltalk_change_mtu(326,9199 -static int ltalk_mac_addr(331,9282 -void ltalk_setup(337,9368 -int register_netdev(362,10008 -void unregister_netdev(398,10527 -void tr_setup(410,10722 -struct net_device *alloc_trdev(443,11561 -void fc_setup(455,11767 -struct net_device *alloc_fcdev(484,12750 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dl2k.c,2075 -#define DRV_NAME 52,2312 -#define DRV_VERSION 53,2364 -#define DRV_RELDATE 54,2393 -static char version[57,2445 -static char version[] __devinitdata 57,2445 -#define MAX_UNITS 59,2547 -static int mtu[60,2567 -static int vlan[61,2594 -static int jumbo[62,2622 -static char *media[63,2651 -static int tx_flow=64,2682 -static int rx_flow=65,2705 -static int copy_thresh;66,2728 -static int rx_coalesce=67,2752 -static int rx_timeout=68,2815 -static int tx_coalesce=69,2885 -#define DEFAULT_INTR 88,3647 -#define EnableInt(EnableInt90,3761 -static int max_intrloop 93,3825 -static int multicast_filter_limit 94,3855 -rio_probe1 126,5522 -find_miiphy 333,10924 -parse_eeprom 357,11375 -rio_open 433,12949 -rio_timer 516,15204 -rio_tx_timeout 562,16609 -alloc_list 575,16928 -start_xmit 632,18606 -rio_interrupt 704,20628 -rio_free_tx 746,21677 -tx_error 794,22748 -receive_packet 856,24399 -rio_error 965,27548 -get_stats 1016,28903 -clear_stats 1078,30799 -change_mtu 1133,32320 -set_multicast 1148,32567 -rio_ethtool_ioctl 1198,34121 -rio_ioctl 1324,37389 -#define EEP_READ 1384,38825 -#define EEP_BUSY 1385,38849 -read_eeprom 1389,38985 -enum phy_ctrl_bits phy_ctrl_bits1401,39227 - MII_READ 1402,39248 - MII_READ = 0x00,1402,39248 - MII_READ = 0x00, MII_CLK 1402,39248 - MII_READ = 0x00, MII_CLK = 0x01,1402,39248 - MII_READ = 0x00, MII_CLK = 0x01, MII_DATA1 1402,39248 - MII_READ = 0x00, MII_CLK = 0x01, MII_DATA1 = 0x02,1402,39248 - MII_READ = 0x00, MII_CLK = 0x01, MII_DATA1 = 0x02, MII_WRITE 1402,39248 - MII_READ = 0x00, MII_CLK = 0x01, MII_DATA1 = 0x02, MII_WRITE = 0x04,1402,39248 - MII_DUPLEX 1403,39318 - MII_DUPLEX = 0x08,1403,39318 -#define mii_delay(mii_delay1406,39342 -mii_sendbit 1408,39388 -mii_getbit 1421,39678 -mii_send_bits 1435,39952 -mii_read 1444,40109 -mii_write 1472,40709 -mii_wait_link 1487,41143 -mii_get_media 1505,41457 -mii_set_media 1589,43915 -mii_get_media_pcs 1679,46427 -mii_set_media_pcs 1736,47792 -rio_close 1794,49216 -rio_remove1 1838,50221 -static struct pci_driver rio_driver 1860,50740 -rio_init 1868,50907 -rio_exit 1874,50986 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/gt96100eth.h,4320 -#define _GT96100ETH_H28,1071 -#define dbg(dbg33,1161 -#define err(err36,1289 -#define info(info38,1374 -#define warn(warn40,1461 -#define TX_RING_SIZE 44,1609 -#define RX_RING_SIZE 45,1633 -#define PKT_BUF_SZ 46,1657 -#define RX_HASH_TABLE_SIZE 48,1721 -#define HASH_HOP_NUMBER 49,1754 -#define NUM_INTERFACES 51,1782 -#define GT96100ETH_TX_TIMEOUT 53,1808 -#define GT96100_ETH0_BASE 55,1844 -#define GT96100_ETH1_BASE 56,1916 -#define GT96100_ETHER0_IRQ 59,2012 -#define GT96100_ETHER1_IRQ 60,2041 -#define GT96100_ETHER0_IRQ 62,2076 -#define GT96100_ETHER1_IRQ 63,2106 -#define REV_GT96100 66,2144 -#define REV_GT96100A_1 67,2167 -#define REV_GT96100A 68,2192 -#define GT96100ETH_READ(GT96100ETH_READ70,2216 -#define GT96100ETH_WRITE(GT96100ETH_WRITE73,2300 -#define GT96100ETH_SETBIT(GT96100ETH_SETBIT76,2398 -#define GT96100ETH_CLRBIT(GT96100ETH_CLRBIT80,2552 - smirDataMask 87,2754 - smirDataMask = 0xffff,87,2754 - smirPhyAdMask 88,2778 - smirPhyAdMask = 0x1f<88,2778 - smirPhyAdBit 89,2805 - smirRegAdMask 90,2825 - smirRegAdMask = 0x1f<90,2825 - smirRegAdBit 91,2852 - smirOpCode 92,2872 - smirReadValid 93,2893 - smirBusy 94,2917 -enum pcr_bits pcr_bits98,2984 - pcrPM 99,3000 - pcrRBM 100,3012 - pcrPBF 101,3025 - pcrEN 102,3038 - pcrLPBKMask 103,3053 - pcrLPBKMask = 0x3<103,3053 - pcrLPBKBit 104,3076 - pcrFC 105,3093 - pcrHS 106,3109 - pcrHM 107,3125 - pcrHDM 108,3141 - pcrHD 109,3158 - pcrISLMask 110,3174 - pcrISLMask = 0x7<110,3174 - pcrISLBit 111,3197 - pcrACCS 112,3214 -enum pcxr_bits pcxr_bits116,3287 - pcxrIGMP 117,3304 - pcxrSPAN 118,3319 - pcxrPAR 119,3334 - pcxrPRIOtxMask 120,3348 - pcxrPRIOtxMask = 0x7<120,3348 - pcxrPRIOtxBit 121,3374 - pcxrPRIOrxMask 122,3394 - pcxrPRIOrxMask = 0x3<122,3394 - pcxrPRIOrxBit 123,3420 - pcxrPRIOrxOverride 124,3440 - pcxrDPLXen 125,3468 - pcxrFCTLen 126,3488 - pcxrFLP 127,3509 - pcxrFCTL 128,3527 - pcxrMFLMask 129,3546 - pcxrMFLMask = 0x3<129,3546 - pcxrMFLBit 130,3570 - pcxrMIBclrMode 131,3588 - pcxrSpeed 132,3613 - pcxrSpeeden 133,3633 - pcxrRMIIen 134,3655 - pcxrDSCPen 135,3676 -enum pcmr_bits pcmr_bits139,3746 - pcmrFJ 140,3763 -enum psr_bits psr_bits145,3829 - psrSpeed 146,3845 - psrDuplex 147,3860 - psrFctl 148,3876 - psrLink 149,3890 - psrPause 150,3904 - psrTxLow 151,3922 - psrTxHigh 152,3940 - psrTxInProg 153,3959 -enum sdcr_bits sdcr_bits157,4028 - sdcrRCMask 158,4045 - sdcrRCMask = 0xf<158,4045 - sdcrRCBit 159,4067 - sdcrBLMR 160,4083 - sdcrBLMT 161,4101 - sdcrPOVR 162,4119 - sdcrRIFB 163,4137 - sdcrBSZMask 164,4155 - sdcrBSZMask = 0x3<164,4155 - sdcrBSZBit 165,4179 -enum sdcmr_bits sdcmr_bits169,4246 - sdcmrERD 170,4264 - sdcmrAR 171,4282 - sdcmrSTDH 172,4300 - sdcmrSTDL 173,4320 - sdcmrTXDH 174,4340 - sdcmrTXDL 175,4360 - sdcmrAT 176,4380 -enum icr_bits icr_bits180,4450 - icrRxBuffer 181,4466 - icrTxBufferHigh 182,4484 - icrTxBufferLow 183,4509 - icrTxEndHigh 184,4533 - icrTxEndLow 185,4555 - icrRxError 186,4576 - icrTxErrorHigh 187,4596 - icrTxErrorLow 188,4621 - icrRxOVR 189,4645 - icrTxUdr 190,4664 - icrRxBufferQ0 191,4683 - icrRxBufferQ1 192,4707 - icrRxBufferQ2 193,4731 - icrRxBufferQ3 194,4755 - icrRxErrorQ0 195,4779 - icrRxErrorQ1 196,4802 - icrRxErrorQ2 197,4825 - icrRxErrorQ3 198,4848 - icrMIIPhySTC 199,4871 - icrSMIdone 200,4894 - icrEtherIntSum 201,4915 -} gt96100_td_t __attribute__ ((packed)packed217,5127 -} gt96100_rd_t __attribute__ ((packed)packed230,5312 -enum td_cmdstat td_cmdstat234,5412 - txOwn 235,5430 - txAutoMode 236,5446 - txEI 237,5467 - txGenCRC 238,5482 - txPad 239,5501 - txFirst 240,5517 - txLast 241,5535 - txErrorSummary 242,5552 - txReTxCntMask 243,5577 - txReTxCntMask = 0x0f<243,5577 - txReTxCntBit 244,5604 - txCollision 245,5624 - txReTxLimit 246,5645 - txUnderrun 247,5666 - txLateCollision 248,5686 -enum rd_cmdstat rd_cmdstat253,5772 - rxOwn 254,5790 - rxAutoMode 255,5806 - rxEI 256,5827 - rxFirst 257,5842 - rxLast 258,5860 - rxErrorSummary 259,5877 - rxIGMP 260,5902 - rxHashExpired 261,5919 - rxMissedFrame 262,5943 - rxFrameType 263,5967 - rxShortFrame 264,5989 - rxMaxFrameLen 265,6011 - rxOverrun 266,6034 - rxCollision 267,6053 - rxCRCError 268,6074 -enum hash_table_entry hash_table_entry272,6133 - hteValid 273,6157 - hteSkip 274,6172 - hteRD 275,6186 -} mib_counters_t;mib_counters_t305,6750 -struct gt96100_private gt96100_private308,6770 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mace.c,1301 -static int port_aaui 27,594 -#define N_RX_RING 29,622 -#define N_TX_RING 30,642 -#define MAX_TX_ACTIVE 31,662 -#define NCMDS_TX 32,686 -#define RX_BUFLEN 33,747 -#define TX_TIMEOUT 34,785 -#define BROKEN_ADDRCHG_REV 37,885 -#define TX_DMA_ERR 40,954 -struct mace_data mace_data42,979 -#define PRIV_BYTES 75,1959 -static unsigned char *dummy_buf;98,3120 -bitrev(102,3232 -static int __devinit mace_probe(112,3347 -static int __devexit mace_remove(291,8009 -static void dbdma_reset(319,8489 -static void mace_reset(334,8815 -static void __mace_set_address(389,10148 -static int mace_set_address(410,10721 -static inline void mace_clean_rings(427,11134 -static int mace_open(445,11496 -static int mace_close(515,13604 -static inline void mace_set_timeout(535,14189 -static int mace_xmit_start(548,14576 -static struct net_device_stats *mace_stats(603,16164 -static void mace_set_multicast(610,16317 -static void mace_handle_misc_intrs(663,17659 -static irqreturn_t mace_interrupt(684,18348 -static void mace_tx_timeout(830,22872 -static irqreturn_t mace_txdma_intr(896,24652 -static irqreturn_t mace_rxdma_intr(901,24758 -static struct of_match mace_match[1014,27902 -static struct macio_driver mace_driver 1024,28030 -static int __init mace_init(1033,28174 -static void __exit mace_cleanup(1038,28258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sk_mca.c,1351 -#define _SK_MCA_DRIVER_105,3285 -static char *MediaNames[113,3614 -static unsigned char poly[116,3706 -static void dumpmem(128,4101 -static void PrTime(143,4386 -static void __init getaddrs(154,4558 -static int __init dofind(200,5739 -static void ResetBoard(221,6159 -static int WaitLANCE(232,6415 -static void SetLANCE(251,6762 -static u16 GetLANCE(289,7592 -static void InitDscrs(330,8458 -static void UpdateCRC(380,9593 -static unsigned int GetHash(396,9883 -static void InitLANCE(426,10489 -static void StopLANCE(466,11539 -static void InitBoard(479,11779 -static void DeinitBoard(504,12508 -static int __init ProbeIRQ(517,12666 -static u16 irqstart_handler(559,13554 -static u16 irqmiss_handler(573,13867 -static u16 irqrx_handler(589,14172 -static u16 irqtx_handler(670,16178 -static irqreturn_t irq_handler(739,17922 -static int skmca_getinfo(791,19248 -static int skmca_open(825,20111 -static int skmca_close(854,20696 -static int skmca_tx(869,20914 -static struct net_device_stats *skmca_stats(968,23428 -static int skmca_config(978,23694 -static void skmca_set_multicast_list(986,23880 -static int startslot;1024,24954 -static void cleanup_card(1026,25035 -struct net_device * __init skmca_probe(1036,25268 -#define DEVMAX 1191,28866 -static struct net_device *moddevs[1193,28884 -int init_module(1195,28928 -void cleanup_module(1211,29143 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bmac.h,3719 -#define XIFC 21,592 -# define TxOutputEnable 22,648 -# define XIFLoopback 23,706 -# define MIILoopback 24,765 -# define MIILoopbackBits 25,824 -# define MIIBuffDisable 26,856 -# define SQETestEnable 27,920 -# define SQETimeWindow 28,972 -# define XIFLanceMode 29,1024 -# define XIFLanceIPG0 30,1077 -#define TXFIFOCSR 31,1128 -# define TxFIFOEnable 32,1182 -#define TXTH 33,1211 -# define TxThreshold 34,1258 -#define RXFIFOCSR 35,1286 -# define RxFIFOEnable 36,1339 -#define MEMADD 37,1368 -#define MEMDATAHI 38,1431 -#define MEMDATALO 39,1508 -#define XCVRIF 40,1584 -# define COLActiveLow 41,1644 -# define SerialMode 42,1673 -# define ClkBit 43,1700 -# define LinkStatus 44,1724 -#define CHIPID 45,1751 -#define MIFCSR 46,1797 -#define SROMCSR 47,1831 -# define ChipSelect 48,1875 -# define Clk 49,1902 -#define TXPNTR 50,1923 -#define RXPNTR 51,1970 -#define STATUS 52,2016 -#define INTDISABLE 53,2077 -# define FrameReceived 55,2213 -# define RxFrameCntExp 56,2270 -# define RxAlignCntExp 57,2340 -# define RxCRCCntExp 58,2408 -# define RxLenCntExp 59,2472 -# define RxOverFlow 60,2539 -# define RxCodeViolation 61,2598 -# define SQETestError 62,2671 -# define FrameSent 63,2736 -# define TxUnderrun 64,2792 -# define TxMaxSizeError 65,2852 -# define TxNormalCollExp 66,2915 -# define TxExcessCollExp 67,2990 -# define TxLateCollExp 68,3065 -# define TxNetworkCollExp 69,3136 -# define TxDeferTimerExp 70,3211 -# define RxFIFOToHost 71,3273 -# define RxNoDescriptors 72,3341 -# define RxDMAError 73,3411 -# define RxDMALateErr 74,3473 -# define RxParityErr 75,3535 -# define RxTagError 76,3605 -# define TxEOPError 77,3671 -# define MIFIntrEvent 78,3743 -# define TxHostToFIFO 79,3812 -# define TxFIFOAllSent 80,3881 -# define TxDMAError 81,3953 -# define TxDMALateError 82,4016 -# define TxParityError 83,4088 -# define TxTagError 84,4161 -# define PIOError 85,4228 -# define PIOParityError 86,4287 -# define DisableAll 87,4359 -# define EnableAll 88,4390 -# define EnableNormal 90,4493 -# define EnableErrors 91,4544 -# define RxErrorMask 92,4594 -# define TxErrorMask 94,4713 -#define TXRST 98,4866 -# define TxResetBit 99,4910 -#define TXCFG 100,4937 -# define TxMACEnable 101,4996 -# define TxSlowMode 102,5051 -# define TxIgnoreColl 103,5101 -# define TxNoFCS 104,5163 -# define TxNoBackoff 105,5210 -# define TxFullDuplex 106,5277 -# define TxNeverGiveUp 107,5331 -#define IPG1 108,5394 -#define IPG2 109,5441 -#define ALIMIT 110,5488 -#define SLOT 111,5541 -#define PALEN 112,5588 -#define PAPAT 113,5643 -#define TXSFD 114,5702 -#define JAM 115,5756 -#define TXMAX 116,5792 -#define TXMIN 117,5843 -#define PAREG 118,5894 -#define DCNT 119,5955 -#define NCCNT 120,6004 -#define NTCNT 121,6067 -#define EXCNT 122,6129 -#define LTCNT 123,6192 -#define RSEED 124,6253 -#define TXSM 125,6310 -#define RXRST 128,6384 -# define RxResetValue 129,6427 -#define RXCFG 130,6456 -# define RxMACEnable 131,6515 -# define RxCFGReserved 132,6573 -# define RxPadStripEnab 133,6603 -# define RxPromiscEnable 134,6666 -# define RxNoErrCheck 135,6729 -# define RxCRCNoStrip 136,6795 -# define RxRejectOwnPackets 137,6857 -# define RxGrpPromisck 138,6928 -# define RxHashFilterEnable 139,6994 -# define RxAddrFilterEnable 140,7054 -#define RXMAX 141,7117 -#define RXMIN 142,7170 -#define MADD2 143,7223 -#define MADD1 144,7280 -#define MADD0 145,7339 -#define FRCNT 146,7395 -#define LECNT 147,7446 -#define AECNT 148,7511 -#define FECNT 149,7573 -#define RXSM 150,7628 -#define RXCV 151,7678 -#define BHASH3 153,7730 -#define BHASH2 154,7784 -#define BHASH1 155,7838 -#define BHASH0 156,7892 -#define AFR2 158,7947 -#define AFR1 159,8000 -#define AFR0 160,8053 -#define AFCR 161,8106 -# define EnableAllCompares 162,8167 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibmlana.c,1204 -#define _IBM_LANA_DRIVER_96,3122 -#define DRV_NAME 101,3184 -static char *MediaNames[108,3496 -static void dumpregs(119,3806 -static void dumpmem(134,4095 -static void PrTime(152,4449 -static void getaddrs(163,4648 -static int wait_timeout(193,5210 -static void ResetBoard(208,5498 -static void InitDscrs(232,6006 -static int InitSONIC(314,8043 -static void StopSONIC(352,9094 -static void putcam(368,9482 -static void InitBoard(380,9806 -static void StartTx(521,13504 -static void irqrbe_handler(544,14085 -static void irqrx_handler(556,14365 -static void irqtx_handler(649,16557 -static void irqtxerr_handler(673,17231 -static irqreturn_t irq_handler(706,18157 -static int ibmlana_getinfo(746,19183 -static int ibmlana_open(778,20091 -static int ibmlana_close(802,20689 -static int ibmlana_tx(815,20889 -static struct net_device_stats *ibmlana_stats(882,22857 -static int ibmlana_config(891,23126 -static void ibmlana_set_multicast_list(898,23240 -static int startslot;910,23591 -static int ibmlana_probe(912,23672 -#define DEVMAX 1026,26619 -static struct net_device *moddevs[1028,26637 -static int irq;1029,26680 -static int io;1030,26696 -int init_module(1038,26880 -void cleanup_module(1067,27486 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sb1250-mac.c,7538 -#define CONFIG_SBMAC_COALESCE28,928 -static int debug 33,1055 -static int noisy_mii 34,1126 -#define MAX_UNITS 42,1354 -static int options[44,1437 -static int full_duplex[45,1483 -static int int_pktcnt 49,1570 -static int int_timeout 50,1597 -#define TX_TIMEOUT 56,1758 -#define SBMAC_ETH0_HWADDR 79,2435 -#define SBMAC_ETH1_HWADDR 80,2481 -#define SBMAC_ETH2_HWADDR 81,2527 -static char version1[87,2657 -static char version1[] __devinitdata 87,2657 -typedef unsigned long sbmac_port_t;sbmac_port_t117,3532 -typedef enum { sbmac_speed_auto,119,3569 -typedef enum { sbmac_speed_auto, sbmac_speed_10,119,3569 - sbmac_speed_100,120,3618 - sbmac_speed_100, sbmac_speed_1000 120,3618 - sbmac_speed_100, sbmac_speed_1000 } sbmac_speed_t;sbmac_speed_t120,3618 -typedef enum { sbmac_duplex_auto,122,3678 -typedef enum { sbmac_duplex_auto, sbmac_duplex_half,122,3678 - sbmac_duplex_full 123,3731 - sbmac_duplex_full } sbmac_duplex_t;sbmac_duplex_t123,3731 -typedef enum { sbmac_fc_auto,125,3776 -typedef enum { sbmac_fc_auto, sbmac_fc_disabled,125,3776 -typedef enum { sbmac_fc_auto, sbmac_fc_disabled, sbmac_fc_frame,125,3776 - sbmac_fc_collision,126,3841 - sbmac_fc_collision, sbmac_fc_carrier 126,3841 - sbmac_fc_collision, sbmac_fc_carrier } sbmac_fc_t;sbmac_fc_t126,3841 -typedef enum { sbmac_state_uninit,128,3901 -typedef enum { sbmac_state_uninit, sbmac_state_off,128,3901 -typedef enum { sbmac_state_uninit, sbmac_state_off, sbmac_state_on,128,3901 - sbmac_state_broken 129,3970 - sbmac_state_broken } sbmac_state_t;sbmac_state_t129,3970 -#define SBDMA_NEXTBUF(SBDMA_NEXTBUF137,4175 -#define NUMCACHEBLKS(NUMCACHEBLKS141,4288 -#define SBMAC_READCSR(SBMAC_READCSR143,4355 -#define SBMAC_WRITECSR(SBMAC_WRITECSR144,4410 -#define SBMAC_MAX_TXDESCR 147,4475 -#define SBMAC_MAX_RXDESCR 148,4504 -#define ETHER_ALIGN 150,4534 -#define ETHER_ADDR_LEN 151,4556 -#define ENET_PACKET_SIZE 152,4581 -typedef struct sbdmadscr_s sbdmadscr_s159,4825 -} sbdmadscr_t;sbdmadscr_t162,4892 -typedef unsigned long paddr_t;paddr_t164,4908 -typedef struct sbmacdma_s sbmacdma_s170,5116 -} sbmacdma_t;sbmacdma_t204,6440 -struct sbmac_softc sbmac_softc211,6632 -static uint64_t sbmac_orig_hwaddr[313,10691 -#define MII_COMMAND_START 320,10905 -#define MII_COMMAND_READ 321,10936 -#define MII_COMMAND_WRITE 322,10966 -#define MII_COMMAND_ACK 323,10997 -#define BMCR_RESET 325,11028 -#define BMCR_LOOPBACK 326,11058 -#define BMCR_SPEED0 327,11088 -#define BMCR_ANENABLE 328,11118 -#define BMCR_POWERDOWN 329,11148 -#define BMCR_ISOLATE 330,11178 -#define BMCR_RESTARTAN 331,11208 -#define BMCR_DUPLEX 332,11238 -#define BMCR_COLTEST 333,11268 -#define BMCR_SPEED1 334,11298 -#define BMCR_SPEED1000 335,11328 -#define BMCR_SPEED100 336,11363 -#define BMCR_SPEED10 337,11397 -#define BMSR_100BT4 339,11422 -#define BMSR_100BT_FDX 340,11449 -#define BMSR_100BT_HDX 341,11479 -#define BMSR_10BT_FDX 342,11510 -#define BMSR_10BT_HDX 343,11541 -#define BMSR_100BT2_FDX 344,11572 -#define BMSR_100BT2_HDX 345,11603 -#define BMSR_1000BT_XSR 346,11634 -#define BMSR_PRESUP 347,11665 -#define BMSR_ANCOMPLT 348,11692 -#define BMSR_REMFAULT 349,11721 -#define BMSR_AUTONEG 350,11750 -#define BMSR_LINKSTAT 351,11778 -#define BMSR_JABDETECT 352,11807 -#define BMSR_EXTCAPAB 353,11837 -#define PHYIDR1 355,11867 -#define PHYIDR2 356,11891 -#define ANAR_NP 358,11916 -#define ANAR_RF 359,11940 -#define ANAR_ASYPAUSE 360,11964 -#define ANAR_PAUSE 361,11993 -#define ANAR_T4 362,12019 -#define ANAR_TXFD 363,12043 -#define ANAR_TXHD 364,12068 -#define ANAR_10FD 365,12093 -#define ANAR_10HD 366,12118 -#define ANAR_PSB 367,12143 -#define ANLPAR_NP 369,12168 -#define ANLPAR_ACK 370,12193 -#define ANLPAR_RF 371,12219 -#define ANLPAR_ASYPAUSE 372,12244 -#define ANLPAR_PAUSE 373,12275 -#define ANLPAR_T4 374,12303 -#define ANLPAR_TXFD 375,12328 -#define ANLPAR_TXHD 376,12355 -#define ANLPAR_10FD 377,12382 -#define ANLPAR_10HD 378,12409 -#define ANLPAR_PSB 379,12436 -#define ANER_PDF 381,12475 -#define ANER_LPNPABLE 382,12499 -#define ANER_NPABLE 383,12528 -#define ANER_PAGERX 384,12555 -#define ANER_LPANABLE 385,12582 -#define ANNPTR_NP 387,12612 -#define ANNPTR_MP 388,12637 -#define ANNPTR_ACK2 389,12662 -#define ANNPTR_TOGTX 390,12689 -#define ANNPTR_CODE 391,12717 -#define ANNPRR_NP 393,12745 -#define ANNPRR_MP 394,12770 -#define ANNPRR_ACK3 395,12795 -#define ANNPRR_TOGTX 396,12822 -#define ANNPRR_CODE 397,12850 -#define K1TCR_TESTMODE 399,12878 -#define K1TCR_MSMCE 400,12908 -#define K1TCR_MSCV 401,12935 -#define K1TCR_RPTR 402,12961 -#define K1TCR_1000BT_FDX 403,12987 -#define K1TCR_1000BT_HDX 404,13018 -#define K1STSR_MSMCFLT 406,13050 -#define K1STSR_MSCFGRES 407,13080 -#define K1STSR_LRSTAT 408,13111 -#define K1STSR_RRSTAT 409,13140 -#define K1STSR_LP1KFD 410,13169 -#define K1STSR_LP1KHD 411,13198 -#define K1STSR_LPASMDIR 412,13229 -#define K1SCR_1KX_FDX 414,13261 -#define K1SCR_1KX_HDX 415,13290 -#define K1SCR_1KT_FDX 416,13319 -#define K1SCR_1KT_HDX 417,13348 -#define STRAP_PHY1 419,13378 -#define STRAP_NCMODE 420,13404 -#define STRAP_MANMSCFG 421,13432 -#define STRAP_ANENABLE 422,13462 -#define STRAP_MSVAL 423,13492 -#define STRAP_1KHDXADV 424,13519 -#define STRAP_1KFDXADV 425,13549 -#define STRAP_100ADV 426,13579 -#define STRAP_SPEEDSEL 427,13607 -#define STRAP_SPEED100 428,13637 -#define PHYSUP_SPEED1000 430,13668 -#define PHYSUP_SPEED100 431,13698 -#define PHYSUP_SPEED10 432,13728 -#define PHYSUP_LINKUP 433,13758 -#define PHYSUP_FDX 434,13786 -#define MII_BMCR 436,13817 -#define MII_BMSR 437,13879 -#define MII_K1STSR 438,13939 -#define MII_ANLPAR 439,13993 -#define M_MAC_MDIO_DIR_OUTPUT 442,14068 -#define ENABLE 444,14120 -#define DISABLE 445,14139 -static void sbmac_mii_sync(460,14559 -static void sbmac_mii_senddata(490,15393 -static unsigned int sbmac_mii_read(531,16448 -static void sbmac_mii_write(626,18756 -static void sbdma_initctx(665,19940 -static void sbdma_channel_start(799,23798 -static void sbdma_channel_stop(843,24886 -static void sbdma_align_skb(863,25173 -static int sbdma_add_rcvbuffer(892,25968 -static int sbdma_add_txbuffer(1011,28952 -static void sbdma_emptyring(1100,30851 -static void sbdma_fillring(1128,31436 -static void sbdma_rx_process(1155,32125 -static void sbdma_tx_process(1280,35406 -static int sbmac_initctx(1373,37626 -static void sbdma_uninitctx(1423,38812 -static void sbmac_uninitctx(1437,39043 -static void sbmac_channel_start(1456,39492 -static void sbmac_channel_stop(1678,44135 -static sbmac_state_t sbmac_set_channel_state(1727,45173 -static void sbmac_promiscuous_mode(1772,45988 -static void sbmac_set_iphdr_offset(1803,46714 -static uint64_t sbmac_addr2reg(1836,47622 -static int sbmac_set_speed(1873,48448 -static int sbmac_set_duplex(1963,50409 -static irqreturn_t sbmac_intr(2059,52294 -static int sbmac_start_tx(2130,54138 -static void sbmac_setmulti(2171,55055 -static int sbmac_parse_xdigit(2261,57370 -static int sbmac_parse_hwaddr(2291,58073 -static int sb1250_change_mtu(2327,58621 -static int sbmac_init(2348,59176 -static int sbmac_open(2440,61208 -static int sbmac_mii_poll(2493,62215 -static void sbmac_timer(2597,64825 -static void sbmac_tx_timeout 2644,65921 -static struct net_device_stats *sbmac_get_stats(2662,66220 -static void sbmac_set_rx_mode(2678,66521 -static int sbmac_mii_ioctl(2715,67252 -static int sbmac_close(2751,68230 -sbmac_setup_hwaddr(2785,68894 -static struct net_device *dev_sbmac[2799,69209 -sbmac_init_module(2802,69276 -sbmac_cleanup_module(2894,71388 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sun3_82586.h,3062 -#define IEOB_NORSET 22,558 -#define IEOB_ONAIR 23,618 -#define IEOB_ATTEN 24,674 -#define IEOB_IENAB 25,723 -#define IEOB_XXXXX 26,778 -#define IEOB_XCVRL2 27,825 -#define IEOB_BUSERR 28,884 -#define IEOB_INT 29,932 -#define IE_OBIO 32,1012 -#define IE_IRQ 33,1036 -#define SCP_DEFAULT_ADDRESS 38,1117 -struct scp_structscp_struct45,1203 -struct iscp_structiscp_struct59,1551 -struct scb_structscb_struct70,1878 -#define RUC_MASK 87,2512 -#define RUC_NOP 88,2563 -#define RUC_START 89,2605 -#define RUC_RESUME 90,2645 -#define RUC_SUSPEND 91,2701 -#define RUC_ABORT 92,2745 -#define CUC_MASK 94,2814 -#define CUC_NOP 95,2870 -#define CUC_START 96,2918 -#define CUC_RESUME 97,2991 -#define CUC_SUSPEND 98,3048 -#define CUC_ABORT 99,3095 -#define ACK_MASK 101,3168 -#define ACK_CX 102,3225 -#define ACK_FR 103,3282 -#define ACK_CNA 104,3331 -#define ACK_RNR 105,3381 -#define STAT_MASK 110,3485 -#define STAT_CX 111,3549 -#define STAT_FR 112,3620 -#define STAT_CNA 113,3686 -#define STAT_RNR 114,3743 -#define CU_STATUS 116,3800 -#define CU_SUSPEND 117,3854 -#define CU_ACTIVE 118,3906 -#define RU_STATUS 120,3956 -#define RU_SUSPEND 121,4003 -#define RU_NOSPACE 122,4046 -#define RU_READY 123,4092 -struct rfd_structrfd_struct128,4174 -#define RFD_LAST 142,4735 -#define RFD_SUSP 143,4794 -#define RFD_COMPL 144,4850 -#define RFD_OK 145,4876 -#define RFD_BUSY 146,4902 -#define RFD_ERR_LEN 147,4928 -#define RFD_ERR_CRC 148,5005 -#define RFD_ERR_ALGN 149,5051 -#define RFD_ERR_RNR 150,5103 -#define RFD_ERR_OVR 151,5173 -#define RFD_ERR_FTS 153,5223 -#define RFD_ERR_NEOP 154,5272 -#define RFD_ERR_TRUN 155,5341 -#define RFD_MATCHADD 156,5422 -#define RFD_COLLDET 157,5512 -struct rbd_struct rbd_struct162,5625 -#define RBD_LAST 171,5934 -#define RBD_USED 172,5976 -#define RBD_MASK 173,6027 -#define STAT_COMPL 178,6119 -#define STAT_BUSY 179,6187 -#define STAT_OK 180,6251 -#define CMD_NOP 185,6340 -#define CMD_IASETUP 186,6374 -#define CMD_CONFIGURE 187,6437 -#define CMD_MCSETUP 188,6490 -#define CMD_XMIT 189,6540 -#define CMD_TDR 190,6587 -#define CMD_DUMP 191,6657 -#define CMD_DIAGNOSE 192,6700 -#define CMD_LAST 197,6782 -#define CMD_SUSPEND 198,6846 -#define CMD_INT 199,6904 -struct nop_cmd_structnop_cmd_struct204,6994 -struct iasetup_cmd_struct iasetup_cmd_struct214,7240 -struct configure_cmd_structconfigure_cmd_struct225,7411 -struct mcsetup_cmd_struct mcsetup_cmd_struct247,8297 -struct dump_cmd_structdump_cmd_struct259,8565 -struct transmit_cmd_struct transmit_cmd_struct270,8771 -#define TCMD_ERRMASK 280,9085 -#define TCMD_MAXCOLLMASK 281,9117 -#define TCMD_MAXCOLL 282,9149 -#define TCMD_HEARTBEAT 283,9181 -#define TCMD_DEFERRED 284,9213 -#define TCMD_UNDERRUN 285,9245 -#define TCMD_LOSTCTS 286,9277 -#define TCMD_NOCARRIER 287,9309 -#define TCMD_LATECOLL 288,9341 -struct tdr_cmd_structtdr_cmd_struct290,9374 -#define TDR_LNK_OK 298,9509 -#define TDR_XCVR_PRB 299,9568 -#define TDR_ET_OPN 300,9634 -#define TDR_ET_SRT 301,9695 -#define TDR_TIMEMASK 302,9756 -struct tbd_structtbd_struct307,9858 -#define TBD_LAST 314,10052 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/eth16i.c,5865 -static char *version 145,5544 -#define BIT(BIT172,6176 -#define BITSET(BITSET173,6216 -#define BITCLR(BITCLR174,6291 -#define ETH16I_IO_EXTENT 177,6432 -#define TX_TIMEOUT 180,6523 -#define MAX_RX_LOOP 183,6617 -#define ETH16I_INTR_ON 186,6679 -#define ETH16I_INTR_OFF 187,6751 -#define PKT_GOOD 190,6834 -#define PKT_GOOD_RMT 191,6872 -#define PKT_SHORT 192,6910 -#define PKT_ALIGN_ERR 193,6948 -#define PKT_CRC_ERR 194,6986 -#define PKT_RX_BUF_OVERFLOW 195,7024 -#define TX_STATUS_REG 198,7102 -#define TX_DONE 199,7135 -#define NET_BUSY 200,7173 -#define TX_PKT_RCD 201,7211 -#define CR_LOST 202,7249 -#define TX_JABBER_ERR 203,7287 -#define COLLISION 204,7323 -#define COLLISIONS_16 205,7361 -#define RX_STATUS_REG 208,7438 -#define RX_PKT 209,7471 -#define BUS_RD_ERR 210,7532 -#define SHORT_PKT_ERR 211,7570 -#define ALIGN_ERR 212,7608 -#define CRC_ERR 213,7646 -#define RX_BUF_OVERFLOW 214,7684 -#define TX_INTR_REG 217,7786 -#define TX_INTR_DONE 218,7819 -#define TX_INTR_COL 219,7857 -#define TX_INTR_16_COL 220,7895 -#define RX_INTR_REG 223,7982 -#define RX_INTR_RECEIVE 224,8015 -#define RX_INTR_SHORT_PKT 225,8053 -#define RX_INTR_CRC_ERR 226,8091 -#define RX_INTR_BUF_OVERFLOW 227,8129 -#define TRANSMIT_MODE_REG 230,8205 -#define LOOPBACK_CONTROL 231,8238 -#define CONTROL_OUTPUT 232,8276 -#define RECEIVE_MODE_REG 235,8351 -#define RX_BUFFER_EMPTY 236,8384 -#define ACCEPT_BAD_PACKETS 237,8422 -#define RECEIVE_SHORT_ADDR 238,8460 -#define ACCEPT_SHORT_PACKETS 239,8498 -#define REMOTE_RESET 240,8536 -#define ADDRESS_FILTER_MODE 242,8575 -#define REJECT_ALL 243,8622 -#define ACCEPT_ALL 244,8655 -#define MODE_1 245,8688 -#define MODE_2 246,8766 -#define CONFIG_REG_0 249,8884 -#define DLC_EN 250,8917 -#define SRAM_CYCLE_TIME_100NS 251,8955 -#define SYSTEM_BUS_WIDTH_8 252,8993 -#define BUFFER_WIDTH_8 253,9063 -#define TBS1 254,9133 -#define TBS0 255,9178 -#define SRAM_BS1 256,9216 -#define SRAM_BS0 257,9284 -#define ETH16I_TX_BUF_SIZE 260,9423 -#define TX_BUF_1x2048 262,9537 -#define TX_BUF_2x2048 263,9570 -#define TX_BUF_2x4098 264,9603 -#define TX_BUF_2x8192 265,9636 -#define CONFIG_REG_1 268,9709 -#define POWERUP 269,9742 -#define TRANSMIT_START_REG 272,9811 -#define TRANSMIT_START_RB 273,9845 -#define TX_START 274,9878 -#define NODE_ID_0 277,10072 -#define NODE_ID_RB 278,10105 -#define HASH_TABLE_0 281,10175 -#define HASH_TABLE_RB 282,10208 -#define BUFFER_MEM_PORT_LB 285,10268 -#define DATAPORT 286,10301 -#define BUFFER_MEM_PORT_HB 287,10351 -#define COL_16_REG 290,10430 -#define HALT_ON_16 291,10464 -#define RETRANS_AND_HALT_ON_16 292,10500 -#define MAX_COL_16 295,10610 -#define TRANSCEIVER_MODE_REG 298,10695 -#define TRANSCEIVER_MODE_RB 299,10729 -#define IO_BASE_UNLOCK 300,10771 -#define LOWER_SQUELCH_TRESH 301,10808 -#define LINK_TEST_DISABLE 302,10846 -#define AUI_SELECT 303,10884 -#define DIS_AUTO_PORT_SEL 304,10922 -#define FILTER_SELF_RX_REG 307,11006 -#define SKIP_RX_PACKET 308,11040 -#define FILTER_SELF_RECEIVE 309,11078 -#define EEPROM_CTRL_REG 312,11157 -#define EEPROM_DATA_REG 315,11229 -#define CS_0 318,11300 -#define CS_1 319,11336 -#define SK_0 320,11372 -#define SK_1 321,11408 -#define DI_0 322,11444 -#define DI_1 323,11480 -#define EEPROM_READ 326,11553 -#define E_NODEID_0 329,11623 -#define E_NODEID_1 330,11659 -#define E_NODEID_2 331,11695 -#define E_PORT_SELECT 332,11731 - #define E_PORT_BNC 333,11767 - #define E_PORT_DIX 334,11803 - #define E_PORT_TP 335,11839 - #define E_PORT_AUTO 336,11875 - #define E_PORT_FROM_EPROM 337,11911 -#define E_PRODUCT_CFG 338,11947 -#define eeprom_slow_io(eeprom_slow_io342,12047 -#define JUMPERLESS_CONFIG 345,12180 -#define ID_ROM_0 348,12286 -#define ID_ROM_7 349,12320 -#define RESET 350,12354 -static unsigned int eth16i_portlist[353,12465 -static unsigned int eth16i_portlist[] __initdata 353,12465 -static unsigned int eth32i_portlist[357,12582 -static unsigned int eth32i_portlist[] __initdata 357,12582 -static unsigned int eth16i_irqmap[363,12822 -static unsigned int eth16i_irqmap[] __initdata 363,12822 -#define NUM_OF_ISA_IRQS 364,12892 -static unsigned int eth32i_irqmap[367,12979 -static unsigned int eth32i_irqmap[] __initdata 367,12979 -#define EISA_IRQ_REG 368,13065 -#define NUM_OF_EISA_IRQS 369,13092 -static unsigned int eth16i_tx_buf_map[371,13122 -#define ETH16I_DEBUG 375,13275 -static unsigned int eth16i_debug 377,13305 -struct eth16i_local eth16i_local381,13389 -static char cardname[430,15367 -static char cardname[] __initdata 430,15367 -static int __init do_eth16i_probe(432,15428 -struct net_device * __init eth16i_probe(462,16169 -static int __init eth16i_probe1(489,16665 -static void eth16i_initialize(579,19356 -static int eth16i_probe_port(669,21528 -static void eth16i_set_port(722,22756 -static int eth16i_send_probe_packet(755,23439 -static int eth16i_receive_probe_packet(776,23870 -static int eth16i_set_irq(811,24753 -static int __init eth16i_get_irq(837,25286 -static int __init eth16i_check_signature(855,25724 -static int eth16i_read_eeprom(902,26749 -static int eth16i_read_eeprom_word(914,27018 -static void eth16i_eeprom_cmd(933,27379 -static int eth16i_open(953,27933 -static int eth16i_close(989,28797 -static void eth16i_timeout(1015,29301 -static int eth16i_tx(1056,30708 -static void eth16i_rx(1133,32713 -static irqreturn_t eth16i_interrupt(1229,35093 -static void eth16i_skip_packet(1331,37923 -static void eth16i_reset(1343,38194 -static void eth16i_multicast(1362,38655 -static struct net_device_stats *eth16i_get_stats(1375,38949 -static void eth16i_select_regbank(1381,39092 -static ushort eth16i_parse_mediatype(1391,39315 -#define MAX_ETH16I_CARDS 1408,39711 -static struct net_device *dev_eth16i[1410,39784 -static int io[1411,39840 -static int irq[1413,39879 -static char* mediatype[1415,39920 -static int debug 1416,39962 -int init_module(1437,40595 -void cleanup_module(1482,41670 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fec_8xx/fec_8xx.h,2595 -#define FEC_8XX_H2,18 -#define FEC_CRC_POLY 12,202 -#define MII_ADVERTISE_HALF 14,237 -#define MII_ADVERTISE_ALL 16,327 -#define FEC_ENET_HBERR 21,451 -#define FEC_ENET_BABR 22,517 -#define FEC_ENET_BABT 23,582 -#define FEC_ENET_GRA 24,647 -#define FEC_ENET_TXF 25,711 -#define FEC_ENET_TXB 26,775 -#define FEC_ENET_RXF 27,839 -#define FEC_ENET_RXB 28,903 -#define FEC_ENET_MII 29,967 -#define FEC_ENET_EBERR 30,1031 -#define FEC_ECNTRL_PINMUX 32,1098 -#define FEC_ECNTRL_ETHER_EN 33,1135 -#define FEC_ECNTRL_RESET 34,1174 -#define FEC_RCNTRL_BC_REJ 36,1211 -#define FEC_RCNTRL_PROM 37,1248 -#define FEC_RCNTRL_MII_MODE 38,1284 -#define FEC_RCNTRL_DRT 39,1323 -#define FEC_RCNTRL_LOOP 40,1358 -#define FEC_TCNTRL_FDEN 42,1395 -#define FEC_TCNTRL_HBC 43,1431 -#define FEC_TCNTRL_GTS 44,1466 -#define PHY_CONF_ANE 48,1535 -#define PHY_CONF_LOOP 49,1600 -#define PHY_CONF_SPMASK 50,1666 -#define PHY_CONF_10HDX 51,1734 -#define PHY_CONF_10FDX 52,1801 -#define PHY_CONF_100HDX 53,1868 -#define PHY_CONF_100FDX 54,1936 -#define PHY_STAT_LINK 56,2005 -#define PHY_STAT_FAULT 57,2071 -#define PHY_STAT_ANC 58,2138 -#define PHY_STAT_SPMASK 59,2203 -#define PHY_STAT_10HDX 60,2271 -#define PHY_STAT_10FDX 61,2338 -#define PHY_STAT_100HDX 62,2405 -#define PHY_STAT_100FDX 63,2473 -typedef struct phy_info phy_info65,2542 -} phy_info_t;phy_info_t71,2738 -#define MAX_MTU 75,2830 -#define MIN_MTU 76,2898 -#define CRC_LEN 77,2942 -#define PKT_MAXBUF_SIZE 79,2961 -#define PKT_MINBUF_SIZE 80,3013 -#define PKT_MAXBLR_SIZE 83,3096 -#define ENET_RX_FRSIZE 85,3217 -struct fec_platform_info fec_platform_info89,3300 -struct fec_enet_private fec_enet_private105,3878 -#define FEC1_NO 149,5353 -#define FEC2_NO 150,5374 -#define FEC3_NO 151,5395 -#define DRV_MODULE_NAME 159,5638 -#define PFX 160,5673 -#define DRV_MODULE_VERSION 161,5706 -#define DRV_MODULE_RELDATE 162,5739 -#define __fec_out32(__fec_out32174,6101 -#define __fec_out16(__fec_out16175,6152 -#define __fec_in32(__fec_in32176,6203 -#define __fec_in16(__fec_in16177,6246 -#define __fec_out32(__fec_out32180,6325 -#define __fec_out16(__fec_out16181,6372 -#define __fec_in32(__fec_in32182,6419 -#define __fec_in16(__fec_in16183,6458 -#define FW(FW187,6517 -#define FR(FR190,6599 -#define FS(FS193,6674 -#define FC(FC196,6760 -#define CBDW_SC(CBDW_SC201,6881 -#define CBDW_DATLEN(CBDW_DATLEN202,6946 -#define CBDW_BUFADDR(CBDW_BUFADDR203,7025 -#define CBDR_SC(CBDR_SC206,7120 -#define CBDR_DATLEN(CBDR_DATLEN207,7173 -#define CBDR_BUFADDR(CBDR_BUFADDR208,7232 -#define CBDS_SC(CBDS_SC211,7309 -#define CBDC_SC(CBDC_SC214,7393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fec_8xx/fec_main.c,1371 -#define FEC_MAX_MULTICAST_ADDRS 47,1133 -static char version[51,1222 -static char version[] __devinitdata 51,1222 -int fec_8xx_debug 62,1599 -#define FEC_RESET_DELAY 69,1793 -static void fec_whack_reset(73,1915 -#define TX_TIMEOUT 96,2383 -static __u32 fec_mulicast_calc_crc(105,2634 -static void fec_set_multicast_list(137,3516 -static int fec_set_mac_address(202,4964 -void fec_restart(238,5902 -void fec_stop(424,10015 -static int fec_enet_rx_common(471,11066 -static void fec_enet_tx(625,14719 -fec_enet_interrupt(712,16692 -fec_mii_link_interrupt(772,18182 -static int fec_enet_start_xmit(806,18990 -static void fec_timeout(879,20552 -static int fec_enet_open(892,20801 -static int fec_enet_close(930,21824 -static struct net_device_stats *fec_enet_get_stats(954,22319 -static int fec_enet_poll(960,22470 -static void fec_get_drvinfo(967,22655 -static int fec_get_regs_len(974,22833 -static void fec_get_regs(979,22913 -static int fec_get_settings(994,23271 -static int fec_set_settings(1007,23574 -static int fec_nway_reset(1020,23877 -static __u32 fec_get_msglevel(1026,24022 -static void fec_set_msglevel(1032,24156 -static struct ethtool_ops fec_ethtool_ops 1038,24303 -static int fec_ioctl(1054,24806 -int fec_8xx_init_one(1070,25230 -int fec_8xx_cleanup_one(1238,29043 -static int __init fec_8xx_init(1260,29687 -static void __exit fec_8xx_cleanup(1265,29762 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fec_8xx/fec_mii.c,939 -#define mk_mii_read(mk_mii_read50,1205 -#define mk_mii_write(mk_mii_write51,1266 -#define mk_mii_end 52,1350 -static spinlock_t fec_mii_lock 57,1476 -#define FEC_MII_LOOPS 59,1530 -int fec_mii_read(61,1559 -void fec_mii_write(97,2498 -static void generic_timer_callback(138,3609 -static void generic_startup(150,3901 -static void generic_shutdown(160,4214 -#define MII_DM9161_ACR 176,4572 -#define MII_DM9161_ACSR 177,4634 -#define MII_DM9161_10TCSR 178,4697 -#define MII_DM9161_INTR 179,4761 -#define MII_DM9161_RECR 180,4824 -#define MII_DM9161_DISCR 181,4887 -static void dm9161_startup(183,4951 -static void dm9161_ack_int(190,5124 -static void dm9161_shutdown(197,5288 -static const struct phy_info phy_info[208,5556 -int fec_mii_phy_id_detect(230,6010 -void fec_mii_startup(293,7481 -void fec_mii_shutdown(307,7755 -void fec_mii_ack_int(321,8032 -static int mii_negotiated(336,8328 -void fec_mii_link_status_change_check(353,8722 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fec_8xx/fec_8xx-netta.c,412 -static struct fec_platform_info fec1_info 37,789 -static struct fec_platform_info fec2_info 50,1045 -static struct net_device *fec1_dev;63,1301 -static struct net_device *fec2_dev;64,1337 -#define setbits32(setbits3270,1490 -#define clrbits32(clrbits3271,1571 -#define setbits16(setbits1673,1653 -#define clrbits16(clrbits1674,1734 -int fec_8xx_platform_init(76,1816 -void fec_8xx_platform_cleanup(146,3692 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunqe.c,1027 -static char version[10,364 -static struct sunqec *root_qec_dev;46,1201 -#define QEC_RESET_TRIES 50,1293 -static inline int qec_global_reset(52,1322 -#define MACE_RESET_RETRIES 71,1699 -#define QE_RESET_RETRIES 72,1730 -static inline int qe_stop(74,1762 -static void qe_init_rings(113,2584 -static int qe_init(130,3101 -static int qe_is_bolixed(247,6871 -static void qe_rx(400,11059 -static irqreturn_t qec_interrupt(460,12825 -static int qe_open(503,13819 -static int qe_close(513,14035 -static void qe_tx_reclaim(524,14262 -static void qe_tx_timeout(539,14540 -static int qe_start_xmit(565,15045 -static struct net_device_stats *qe_get_stats(617,16356 -static void qe_set_multicast(624,16505 -static void qe_get_drvinfo(689,18449 -static u32 qe_get_link(699,18690 -static struct ethtool_ops qe_ethtool_ops 712,18979 -static inline void qec_init_once(718,19154 -static int __init qec_ether_init(749,20220 -static int __init qec_match(956,25629 -static int __init qec_probe(980,26149 -static void __exit qec_cleanup(1011,26614 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ns83820.c,9103 -#define _VERSION 1,0 -#define dprintk(dprintk93,3596 -#define DRV_NAME 116,4162 -static int ihr 119,4249 -static int reset_phy 120,4269 -static int lnksts 121,4295 -#define Dprintk 125,4421 -#define USE_64BIT_ADDR 128,4500 -#define VERSION 132,4563 -#define TRY_DAC 133,4603 -#define VERSION 135,4627 -#define TRY_DAC 136,4652 -#define RX_BUF_SIZE 140,4693 -#define NR_RX_DESC 143,4760 -#define NR_TX_DESC 144,4782 -#define REAL_RX_BUF_SIZE 147,4824 -#define MIN_TX_DESC_FREE 149,4897 -#define CFGCS 152,4948 -#define CR_TXE 154,4969 -#define CR_TXD 155,4996 -#define CR_RXE 159,5173 -#define CR_RXD 160,5200 -#define CR_TXR 161,5227 -#define CR_RXR 162,5254 -#define CR_SWI 163,5281 -#define CR_RST 164,5308 -#define PTSCR_EEBIST_FAIL 166,5336 -#define PTSCR_EEBIST_EN 167,5379 -#define PTSCR_EELOAD_EN 168,5422 -#define PTSCR_RBIST_FAIL 169,5465 -#define PTSCR_RBIST_DONE 170,5508 -#define PTSCR_RBIST_EN 171,5551 -#define PTSCR_RBIST_RST 172,5594 -#define MEAR_EEDI 174,5638 -#define MEAR_EEDO 175,5668 -#define MEAR_EECLK 176,5698 -#define MEAR_EESEL 177,5729 -#define MEAR_MDIO 178,5760 -#define MEAR_MDDIR 179,5790 -#define MEAR_MDC 180,5821 -#define ISR_TXDESC3 182,5851 -#define ISR_TXDESC2 183,5882 -#define ISR_TXDESC1 184,5913 -#define ISR_TXDESC0 185,5944 -#define ISR_RXDESC3 186,5975 -#define ISR_RXDESC2 187,6006 -#define ISR_RXDESC1 188,6037 -#define ISR_RXDESC0 189,6068 -#define ISR_TXRCMP 190,6099 -#define ISR_RXRCMP 191,6129 -#define ISR_DPERR 192,6159 -#define ISR_SSERR 193,6188 -#define ISR_RMABT 194,6217 -#define ISR_RTABT 195,6246 -#define ISR_RXSOVR 196,6275 -#define ISR_HIBINT 197,6305 -#define ISR_PHY 198,6335 -#define ISR_PME 199,6363 -#define ISR_SWI 200,6391 -#define ISR_MIB 201,6419 -#define ISR_TXURN 202,6447 -#define ISR_TXIDLE 203,6476 -#define ISR_TXERR 204,6506 -#define ISR_TXDESC 205,6535 -#define ISR_TXOK 206,6565 -#define ISR_RXORN 207,6593 -#define ISR_RXIDLE 208,6622 -#define ISR_RXEARLY 209,6652 -#define ISR_RXERR 210,6683 -#define ISR_RXDESC 211,6712 -#define ISR_RXOK 212,6742 -#define TXCFG_CSI 214,6771 -#define TXCFG_HBI 215,6800 -#define TXCFG_MLB 216,6829 -#define TXCFG_ATP 217,6858 -#define TXCFG_ECRETRY 218,6887 -#define TXCFG_BRST_DIS 219,6920 -#define TXCFG_MXDMA1024 220,6954 -#define TXCFG_MXDMA512 221,6989 -#define TXCFG_MXDMA256 222,7023 -#define TXCFG_MXDMA128 223,7057 -#define TXCFG_MXDMA64 224,7091 -#define TXCFG_MXDMA32 225,7124 -#define TXCFG_MXDMA16 226,7157 -#define TXCFG_MXDMA8 227,7190 -#define CFG_LNKSTS 229,7223 -#define CFG_SPDSTS 230,7253 -#define CFG_SPDSTS1 231,7283 -#define CFG_SPDSTS0 232,7314 -#define CFG_DUPSTS 233,7345 -#define CFG_TBI_EN 234,7375 -#define CFG_MODE_1000 235,7405 -#define CFG_AUTO_1000 238,7571 -#define CFG_PINT_CTL 239,7604 -#define CFG_PINT_DUPSTS 240,7636 -#define CFG_PINT_LNKSTS 241,7671 -#define CFG_PINT_SPDSTS 242,7706 -#define CFG_TMRTEST 243,7741 -#define CFG_MRM_DIS 244,7772 -#define CFG_MWI_DIS 245,7803 -#define CFG_T64ADDR 246,7834 -#define CFG_PCI64_DET 247,7865 -#define CFG_DATA64_EN 248,7898 -#define CFG_M64ADDR 249,7931 -#define CFG_PHY_RST 250,7962 -#define CFG_PHY_DIS 251,7993 -#define CFG_EXTSTS_EN 252,8024 -#define CFG_REQALG 253,8057 -#define CFG_SB 254,8087 -#define CFG_POW 255,8114 -#define CFG_EXD 256,8142 -#define CFG_PESEL 257,8170 -#define CFG_BROM_DIS 258,8199 -#define CFG_EXT_125 259,8231 -#define CFG_BEM 260,8262 -#define EXTSTS_UDPPKT 262,8291 -#define EXTSTS_TCPPKT 263,8324 -#define EXTSTS_IPPKT 264,8357 -#define SPDSTS_POLARITY 266,8390 -#define MIBC_MIBS 268,8484 -#define MIBC_ACLR 269,8513 -#define MIBC_FRZ 270,8542 -#define MIBC_WRN 271,8570 -#define PCR_PSEN 273,8599 -#define PCR_PS_MCAST 274,8626 -#define PCR_PS_DA 275,8657 -#define PCR_STHI_8 276,8685 -#define PCR_STLO_4 277,8714 -#define PCR_FFHI_8K 278,8743 -#define PCR_FFLO_4K 279,8773 -#define PCR_PAUSE_CNT 280,8803 -#define RXCFG_AEP 282,8833 -#define RXCFG_ARP 283,8862 -#define RXCFG_STRIPCRC 284,8891 -#define RXCFG_RX_FD 285,8925 -#define RXCFG_ALP 286,8956 -#define RXCFG_AIRL 287,8985 -#define RXCFG_MXDMA512 288,9015 -#define RXCFG_DRTH 289,9049 -#define RXCFG_DRTH0 290,9079 -#define RFCR_RFEN 292,9111 -#define RFCR_AAB 293,9140 -#define RFCR_AAM 294,9168 -#define RFCR_AAU 295,9196 -#define RFCR_APM 296,9224 -#define RFCR_APAT 297,9252 -#define RFCR_APAT3 298,9281 -#define RFCR_APAT2 299,9311 -#define RFCR_APAT1 300,9341 -#define RFCR_APAT0 301,9371 -#define RFCR_AARP 302,9401 -#define RFCR_MHEN 303,9430 -#define RFCR_UHEN 304,9459 -#define RFCR_ULM 305,9488 -#define VRCR_RUDPE 307,9517 -#define VRCR_RTCPE 308,9547 -#define VRCR_RIPE 309,9577 -#define VRCR_IPEN 310,9606 -#define VRCR_DUTF 311,9635 -#define VRCR_DVTF 312,9664 -#define VRCR_VTREN 313,9693 -#define VRCR_VTDEN 314,9723 -#define VTCR_PPCHK 316,9754 -#define VTCR_GCHK 317,9784 -#define VTCR_VPPTI 318,9813 -#define VTCR_VGTI 319,9843 -#define CR 321,9873 -#define CFG 322,9890 -#define MEAR 323,9908 -#define PTSCR 324,9927 -#define ISR 325,9947 -#define IMR 326,9965 -#define IER 327,9983 -#define IHR 328,10001 -#define TXDP 329,10019 -#define TXDP_HI 330,10038 -#define TXCFG 331,10060 -#define GPIOR 332,10080 -#define RXDP 333,10100 -#define RXDP_HI 334,10119 -#define RXCFG 335,10141 -#define PQCR 336,10161 -#define WCSR 337,10180 -#define PCR 338,10199 -#define RFCR 339,10217 -#define RFDR 340,10236 -#define SRR 342,10256 -#define VRCR 344,10275 -#define VTCR 345,10294 -#define VDR 346,10313 -#define CCSR 347,10331 -#define TBICR 349,10351 -#define TBISR 350,10371 -#define TANAR 351,10391 -#define TANLPAR 352,10411 -#define TANER 353,10433 -#define TESR 354,10453 -#define TBICR_MR_AN_ENABLE 356,10473 -#define TBICR_MR_RESTART_AN 357,10511 -#define TBISR_MR_LINK_STATUS 359,10551 -#define TBISR_MR_AN_COMPLETE 360,10591 -#define TANAR_PS2 362,10632 -#define TANAR_PS1 363,10663 -#define TANAR_HALF_DUP 364,10694 -#define TANAR_FULL_DUP 365,10730 -#define GPIOR_GP5_OE 367,10767 -#define GPIOR_GP4_OE 368,10800 -#define GPIOR_GP3_OE 369,10833 -#define GPIOR_GP2_OE 370,10866 -#define GPIOR_GP1_OE 371,10899 -#define GPIOR_GP3_OUT 372,10932 -#define GPIOR_GP1_OUT 373,10966 -#define LINK_AUTONEGOTIATE 375,11001 -#define LINK_DOWN 376,11033 -#define LINK_UP 377,11057 -#define HW_ADDR_LEN 380,11103 -#define desc_addr_set(desc_addr_set381,11125 -#define desc_addr_get(desc_addr_get387,11300 -#define HW_ADDR_LEN 391,11415 -#define desc_addr_set(desc_addr_set392,11437 -#define desc_addr_get(desc_addr_get393,11503 -#define DESC_LINK 396,11565 -#define DESC_BUFPTR 397,11586 -#define DESC_CMDSTS 398,11635 -#define DESC_EXTSTS 399,11686 -#define CMDSTS_OWN 401,11728 -#define CMDSTS_MORE 402,11758 -#define CMDSTS_INTR 403,11789 -#define CMDSTS_ERR 404,11820 -#define CMDSTS_OK 405,11850 -#define CMDSTS_LEN_MASK 406,11879 -#define CMDSTS_DEST_MASK 408,11915 -#define CMDSTS_DEST_SELF 409,11951 -#define CMDSTS_DEST_MULTI 410,11987 -#define DESC_SIZE 412,12025 -struct rx_info rx_info414,12080 -struct ns83820 ns83820429,12266 -static inline struct ns83820 *PRIV(469,12964 -#define __kick_rx(__kick_rx474,13054 -static inline void kick_rx(476,13109 -#define start_tx_okay(start_tx_okay493,13644 -static inline void build_rx_desc(510,14381 -#define nr_rx_empty(nr_rx_empty519,14680 -static inline int ns83820_add_rx_skb(520,14784 -static inline int rx_refill(560,15864 -static void fastcall rx_refill_atomic(603,16861 -static inline void queue_refill(609,16972 -static inline void clear_rx_desc(619,17159 -static void fastcall phy_intr(625,17367 -static int ns83820_setup_rx(720,20043 -static void ns83820_cleanup_rx(778,21405 -static void fastcall ns83820_rx_kick(812,22324 -static void fastcall rx_irq(834,22808 -static void rx_action(917,25017 -static inline void kick_tx(935,25396 -static void do_tx_done(945,25664 -static void ns83820_cleanup_tx(1010,27432 -static int ns83820_hard_start_xmit(1037,28268 -static void ns83820_update_stats(1165,31549 -static struct net_device_stats *ns83820_get_stats(1183,32348 -static int ns83820_ethtool_ioctl 1195,32607 -static int ns83820_ioctl(1235,33444 -static void ns83820_mib_isr(1248,33683 -static irqreturn_t ns83820_irq(1256,33887 -static void ns83820_do_isr(1271,34208 -static void ns83820_do_reset(1377,37243 -static int ns83820_stop(1387,37457 -static void ns83820_tx_timeout(1416,38089 -static void ns83820_tx_watch(1452,38956 -static int ns83820_open(1475,39550 -static void ns83820_getmac(1518,40443 -static int ns83820_change_mtu(1537,40909 -static void ns83820_set_multicast(1545,41061 -static void ns83820_run_bist(1571,41682 -static void ns83820_mii_write_bit(1612,42599 -static int ns83820_mii_read_bit(1642,43307 -static unsigned ns83820_mii_read_reg(1666,43865 -static unsigned ns83820_mii_write_reg(1700,44729 -static void ns83820_probe_phy(1731,45587 -#define MII_PHYIDR1 1736,45706 -#define MII_PHYIDR2 1737,45731 -static int __devinit ns83820_init_one(1787,46960 -static void __devexit ns83820_remove_one(2087,56198 -static struct pci_device_id ns83820_pci_tbl[2111,56902 -static struct pci_driver driver 2116,57032 -static int __init ns83820_init(2128,57262 -static void __exit ns83820_exit(2134,57424 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/znet.c,1135 -static char version[110,4292 -static char version[] __initdata 110,4292 -#define ZNET_DEBUG 113,4390 -static unsigned int znet_debug 115,4418 -#define DMA_RX_MODE 121,4616 -#define DMA_TX_MODE 122,4683 -#define dma_page_eq(dma_page_eq123,4750 -#define RX_BUF_SIZE 124,4821 -#define TX_BUF_SIZE 125,4846 -#define DMA_BUF_SIZE 126,4871 -#define TX_TIMEOUT 128,4945 -struct znet_private znet_private130,4968 -static struct net_device *znet_dev;143,5373 -struct netidblk netidblk145,5410 -static int znet_request_resources 171,6516 -static void znet_release_resources 205,7355 -static void znet_transceiver_power 220,7774 -static void znet_set_multicast_list 239,8292 -static int __init znet_probe 368,13073 -static int znet_open(471,16025 -static void znet_tx_timeout 513,17428 -static int znet_send_packet(536,18119 -static irqreturn_t znet_interrupt(607,19985 -static void znet_rx(691,22418 -static int znet_close(822,27080 -static struct net_device_stats *net_get_stats(842,27522 -static void show_dma(849,27660 -static void hardware_init(872,28304 -static void update_stop_hit(925,29875 -static __exit void znet_cleanup 935,30226 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/defxx.h,29622 -#define _DEFXX_H_31,830 -typedef u8 PI_UINT8;PI_UINT835,909 -typedef u16 PI_UINT16;PI_UINT1636,930 -typedef u32 PI_UINT32;PI_UINT3237,953 - } PI_CNTR;PI_CNTR45,1087 - } PI_LAN_ADDR;PI_LAN_ADDR51,1192 - } PI_STATION_ID;PI_STATION_ID57,1304 -#define PI_ALIGN_K_DESC_BLK 62,1356 -#define PI_ALIGN_K_CONS_BLK 63,1427 -#define PI_ALIGN_K_CMD_REQ_BUFF 64,1499 -#define PI_ALIGN_K_CMD_RSP_BUFF 65,1579 -#define PI_ALIGN_K_UNSOL_BUFF 66,1659 -#define PI_ALIGN_K_XMT_DATA_BUFF 67,1735 -#define PI_ALIGN_K_RCV_DATA_BUFF 68,1812 -#define PI_PHY_K_S 72,1918 -#define PI_PHY_K_A 73,1966 -#define PI_PHY_K_B 74,2014 -#define PI_PHY_K_MAX 75,2062 -#define PI_FMC_DESCR_V_SOP 79,2152 -#define PI_FMC_DESCR_V_EOP 80,2185 -#define PI_FMC_DESCR_V_FSC 81,2218 -#define PI_FMC_DESCR_V_FSB_ERROR 82,2251 -#define PI_FMC_DESCR_V_FSB_ADDR_RECOG 83,2288 -#define PI_FMC_DESCR_V_FSB_ADDR_COPIED 84,2329 -#define PI_FMC_DESCR_V_FSB 85,2371 -#define PI_FMC_DESCR_V_RCC_FLUSH 86,2404 -#define PI_FMC_DESCR_V_RCC_CRC 87,2441 -#define PI_FMC_DESCR_V_RCC_RRR 88,2477 -#define PI_FMC_DESCR_V_RCC_DD 89,2513 -#define PI_FMC_DESCR_V_RCC_SS 90,2548 -#define PI_FMC_DESCR_V_RCC 91,2583 -#define PI_FMC_DESCR_V_LEN 92,2616 -#define PI_FMC_DESCR_M_SOP 94,2649 -#define PI_FMC_DESCR_M_EOP 95,2690 -#define PI_FMC_DESCR_M_FSC 96,2731 -#define PI_FMC_DESCR_M_FSB_ERROR 97,2772 -#define PI_FMC_DESCR_M_FSB_ADDR_RECOG 98,2817 -#define PI_FMC_DESCR_M_FSB_ADDR_COPIED 99,2866 -#define PI_FMC_DESCR_M_FSB 100,2916 -#define PI_FMC_DESCR_M_RCC_FLUSH 101,2957 -#define PI_FMC_DESCR_M_RCC_CRC 102,3002 -#define PI_FMC_DESCR_M_RCC_RRR 103,3046 -#define PI_FMC_DESCR_M_RCC_DD 104,3090 -#define PI_FMC_DESCR_M_RCC_SS 105,3133 -#define PI_FMC_DESCR_M_RCC 106,3176 -#define PI_FMC_DESCR_M_LEN 107,3217 -#define PI_FMC_DESCR_K_RCC_FMC_INT_ERR 109,3259 -#define PI_FMC_DESCR_K_RRR_SUCCESS 111,3306 -#define PI_FMC_DESCR_K_RRR_SA_MATCH 112,3347 -#define PI_FMC_DESCR_K_RRR_DA_MATCH 113,3389 -#define PI_FMC_DESCR_K_RRR_FMC_ABORT 114,3431 -#define PI_FMC_DESCR_K_RRR_LENGTH_BAD 115,3473 -#define PI_FMC_DESCR_K_RRR_FRAGMENT 116,3516 -#define PI_FMC_DESCR_K_RRR_FORMAT_ERR 117,3558 -#define PI_FMC_DESCR_K_RRR_MAC_RESET 118,3601 -#define PI_FMC_DESCR_K_DD_NO_MATCH 120,3644 -#define PI_FMC_DESCR_K_DD_PROMISCUOUS 121,3684 -#define PI_FMC_DESCR_K_DD_CAM_MATCH 122,3726 -#define PI_FMC_DESCR_K_DD_LOCAL_MATCH 123,3767 -#define PI_FMC_DESCR_K_SS_NO_MATCH 125,3810 -#define PI_FMC_DESCR_K_SS_BRIDGE_MATCH 126,3850 -#define PI_FMC_DESCR_K_SS_NOT_POSSIBLE 127,3893 -#define PI_FMC_DESCR_K_SS_LOCAL_MATCH 128,3936 -#define PI_CMD_REQ_K_SIZE_MAX 132,4015 -#define PI_CMD_RSP_K_SIZE_MAX 133,4051 -#define PI_UNSOL_K_SIZE_MAX 134,4087 -#define PI_SMT_HOST_K_SIZE_MAX 135,4122 -#define PI_RCV_DATA_K_SIZE_MAX 136,4175 -#define PI_XMT_DATA_K_SIZE_MAX 137,4228 -#define PI_STATE_K_RESET 141,4311 -#define PI_STATE_K_UPGRADE 142,4341 -#define PI_STATE_K_DMA_UNAVAIL 143,4375 -#define PI_STATE_K_DMA_AVAIL 144,4410 -#define PI_STATE_K_LINK_AVAIL 145,4443 -#define PI_STATE_K_LINK_UNAVAIL 146,4477 -#define PI_STATE_K_HALTED 147,4514 -#define PI_STATE_K_RING_MEMBER 148,4548 -#define PI_STATE_K_NUMBER 149,4583 -#define PI_CMD_K_START 153,4653 -#define PI_CMD_K_FILTERS_SET 154,4685 -#define PI_CMD_K_FILTERS_GET 155,4721 -#define PI_CMD_K_CHARS_SET 156,4757 -#define PI_CMD_K_STATUS_CHARS_GET 157,4792 -#define PI_CMD_K_CNTRS_GET 158,4832 -#define PI_CMD_K_CNTRS_SET 159,4867 -#define PI_CMD_K_ADDR_FILTER_SET 160,4902 -#define PI_CMD_K_ADDR_FILTER_GET 161,4941 -#define PI_CMD_K_ERROR_LOG_CLEAR 162,4980 -#define PI_CMD_K_ERROR_LOG_GET 163,5019 -#define PI_CMD_K_FDDI_MIB_GET 164,5057 -#define PI_CMD_K_DEC_EXT_MIB_GET 165,5094 -#define PI_CMD_K_DEVICE_SPECIFIC_GET 166,5133 -#define PI_CMD_K_SNMP_SET 167,5175 -#define PI_CMD_K_UNSOL_TEST 168,5209 -#define PI_CMD_K_SMT_MIB_GET 169,5245 -#define PI_CMD_K_SMT_MIB_SET 170,5281 -#define PI_CMD_K_MAX 171,5317 -#define PI_ITEM_K_EOL 175,5434 -#define PI_ITEM_K_T_REQ 176,5493 -#define PI_ITEM_K_TVX 177,5551 -#define PI_ITEM_K_RESTRICTED_TOKEN 178,5606 -#define PI_ITEM_K_LEM_THRESHOLD 179,5683 -#define PI_ITEM_K_RING_PURGER 180,5753 -#define PI_ITEM_K_CNTR_INTERVAL 181,5825 -#define PI_ITEM_K_IND_GROUP_PROM 182,5887 -#define PI_ITEM_K_GROUP_PROM 183,5951 -#define PI_ITEM_K_BROADCAST 184,6012 -#define PI_ITEM_K_SMT_PROM 185,6073 -#define PI_ITEM_K_SMT_USER 186,6132 -#define PI_ITEM_K_RESERVED 187,6192 -#define PI_ITEM_K_IMPLEMENTOR 188,6252 -#define PI_ITEM_K_LOOPBACK_MODE 189,6314 -#define PI_ITEM_K_CONFIG_POLICY 190,6376 -#define PI_ITEM_K_CON_POLICY 191,6443 -#define PI_ITEM_K_T_NOTIFY 192,6510 -#define PI_ITEM_K_STATION_ACTION 193,6569 -#define PI_ITEM_K_MAC_PATHS_REQ 194,6636 -#define PI_ITEM_K_MAC_ACTION 195,6707 -#define PI_ITEM_K_CON_POLICIES 196,6766 -#define PI_ITEM_K_PORT_PATHS_REQ 197,6836 -#define PI_ITEM_K_MAC_LOOP_TIME 198,6905 -#define PI_ITEM_K_TB_MAX 199,6972 -#define PI_ITEM_K_LER_CUTOFF 200,7028 -#define PI_ITEM_K_LER_ALARM 201,7090 -#define PI_ITEM_K_PORT_ACTION 202,7151 -#define PI_ITEM_K_FLUSH_TIME 203,7212 -#define PI_ITEM_K_MAC_T_REQ 204,7271 -#define PI_ITEM_K_EMAC_RING_PURGER 205,7329 -#define PI_ITEM_K_EMAC_RTOKEN_TIMEOUT 206,7401 -#define PI_ITEM_K_FDX_ENB_DIS 207,7478 -#define PI_ITEM_K_MAX 208,7538 -#define PI_K_FALSE 212,7637 -#define PI_K_TRUE 213,7686 -#define PI_SNMP_K_TRUE 215,7735 -#define PI_SNMP_K_FALSE 216,7796 -#define PI_FSTATE_K_BLOCK 218,7827 -#define PI_FSTATE_K_PASS 219,7880 -#define PI_RSP_K_SUCCESS 223,7946 -#define PI_RSP_K_FAILURE 224,7979 -#define PI_RSP_K_WARNING 225,8012 -#define PI_RSP_K_LOOP_MODE_BAD 226,8045 -#define PI_RSP_K_ITEM_CODE_BAD 227,8083 -#define PI_RSP_K_TVX_BAD 228,8121 -#define PI_RSP_K_TREQ_BAD 229,8154 -#define PI_RSP_K_TOKEN_BAD 230,8188 -#define PI_RSP_K_NO_EOL 231,8223 -#define PI_RSP_K_FILTER_STATE_BAD 232,8256 -#define PI_RSP_K_CMD_TYPE_BAD 233,8296 -#define PI_RSP_K_ADAPTER_STATE_BAD 234,8333 -#define PI_RSP_K_RING_PURGER_BAD 235,8374 -#define PI_RSP_K_LEM_THRESHOLD_BAD 236,8413 -#define PI_RSP_K_LOOP_NOT_SUPPORTED 237,8454 -#define PI_RSP_K_FLUSH_TIME_BAD 238,8496 -#define PI_RSP_K_NOT_IMPLEMENTED 239,8535 -#define PI_RSP_K_CONFIG_POLICY_BAD 240,8574 -#define PI_RSP_K_STATION_ACTION_BAD 241,8615 -#define PI_RSP_K_MAC_ACTION_BAD 242,8657 -#define PI_RSP_K_CON_POLICIES_BAD 243,8696 -#define PI_RSP_K_MAC_LOOP_TIME_BAD 244,8736 -#define PI_RSP_K_TB_MAX_BAD 245,8777 -#define PI_RSP_K_LER_CUTOFF_BAD 246,8813 -#define PI_RSP_K_LER_ALARM_BAD 247,8852 -#define PI_RSP_K_MAC_PATHS_REQ_BAD 248,8890 -#define PI_RSP_K_MAC_T_REQ_BAD 249,8931 -#define PI_RSP_K_EMAC_RING_PURGER_BAD 250,8969 -#define PI_RSP_K_EMAC_RTOKEN_TIME_BAD 251,9012 -#define PI_RSP_K_NO_SUCH_ENTRY 252,9055 -#define PI_RSP_K_T_NOTIFY_BAD 253,9093 -#define PI_RSP_K_TR_MAX_EXP_BAD 254,9130 -#define PI_RSP_K_MAC_FRM_ERR_THR_BAD 255,9169 -#define PI_RSP_K_MAX_T_REQ_BAD 256,9211 -#define PI_RSP_K_FDX_ENB_DIS_BAD 257,9249 -#define PI_RSP_K_ITEM_INDEX_BAD 258,9288 -#define PI_RSP_K_PORT_ACTION_BAD 259,9327 - } PI_ITEM_LIST;PI_ITEM_LIST267,9483 - } PI_RSP_HEADER;PI_RSP_HEADER274,9613 - } PI_CMD_START_REQ;PI_CMD_START_REQ282,9694 - } PI_CMD_START_RSP;PI_CMD_START_RSP289,9783 -#define PI_CMD_FILTERS_SET_K_ITEMS_MAX 293,9832 - } PI_CMD_FILTERS_SET_REQ;PI_CMD_FILTERS_SET_REQ299,10002 - } PI_CMD_FILTERS_SET_RSP;PI_CMD_FILTERS_SET_RSP306,10102 - } PI_CMD_FILTERS_GET_REQ;PI_CMD_FILTERS_GET_REQ313,10200 - } PI_CMD_FILTERS_GET_RSP;PI_CMD_FILTERS_GET_RSP327,10478 -#define PI_CMD_CHARS_SET_K_ITEMS_MAX 332,10532 - } PI_CMD_CHARS_SET_REQ;PI_CMD_CHARS_SET_REQ343,10791 - } PI_CMD_CHARS_SET_RSP;PI_CMD_CHARS_SET_RSP350,10887 -#define PI_CMD_SNMP_SET_K_ITEMS_MAX 355,10938 - } PI_CMD_SNMP_SET_REQ;PI_CMD_SNMP_SET_REQ366,11199 - } PI_CMD_SNMP_SET_RSP;PI_CMD_SNMP_SET_RSP373,11293 -#define PI_CMD_SMT_MIB_SET_K_ITEMS_MAX 378,11346 - } PI_CMD_SMT_MIB_SET_REQ;PI_CMD_SMT_MIB_SET_REQ389,11575 - } PI_CMD_SMT_MIB_SET_RSP;PI_CMD_SMT_MIB_SET_RSP396,11675 - } PI_CMD_SMT_MIB_GET_REQ;PI_CMD_SMT_MIB_GET_REQ403,11770 - } PI_CMD_SMT_MIB_GET_RSP;PI_CMD_SMT_MIB_GET_RSP500,14781 -#define PI_GRP_K_SMT_STATION_ID 510,15112 -#define PI_ITEM_K_SMT_STATION_ID 511,15153 -#define PI_ITEM_K_SMT_OP_VERS_ID 512,15194 -#define PI_ITEM_K_SMT_HI_VERS_ID 513,15235 -#define PI_ITEM_K_SMT_LO_VERS_ID 514,15276 -#define PI_ITEM_K_SMT_USER_DATA 515,15317 -#define PI_ITEM_K_SMT_MIB_VERS_ID 516,15358 -#define PI_GRP_K_SMT_STATION_CONFIG 518,15403 -#define PI_ITEM_K_SMT_MAC_CT 519,15447 -#define PI_ITEM_K_SMT_NON_MASTER_CT 520,15485 -#define PI_ITEM_K_SMT_MASTER_CT 521,15529 -#define PI_ITEM_K_SMT_AVAIL_PATHS 522,15570 -#define PI_ITEM_K_SMT_CONFIG_CAPS 523,15612 -#define PI_ITEM_K_SMT_CONFIG_POL 524,15654 -#define PI_ITEM_K_SMT_CONN_POL 525,15695 -#define PI_ITEM_K_SMT_T_NOTIFY 526,15735 -#define PI_ITEM_K_SMT_STAT_POL 527,15775 -#define PI_ITEM_K_SMT_TR_MAX_EXP 528,15815 -#define PI_ITEM_K_SMT_PORT_INDEXES 529,15856 -#define PI_ITEM_K_SMT_MAC_INDEXES 530,15899 -#define PI_ITEM_K_SMT_BYPASS_PRESENT 531,15941 -#define PI_GRP_K_SMT_STATUS 533,15986 -#define PI_ITEM_K_SMT_ECM_STATE 534,16024 -#define PI_ITEM_K_SMT_CF_STATE 535,16065 -#define PI_ITEM_K_SMT_REM_DISC_FLAG 536,16106 -#define PI_ITEM_K_SMT_STATION_STATUS 537,16150 -#define PI_ITEM_K_SMT_PEER_WRAP_FLAG 538,16194 -#define PI_GRP_K_SMT_MIB_OPERATION 540,16240 -#define PI_ITEM_K_SMT_MSG_TIME_STAMP 541,16284 -#define PI_ITEM_K_SMT_TRN_TIME_STAMP 542,16329 -#define PI_ITEM_K_SMT_STATION_ACT 544,16375 -#define PI_GRP_K_MAC_CAPABILITIES 546,16418 -#define PI_ITEM_K_MAC_FRM_STAT_FUNC 547,16462 -#define PI_ITEM_K_MAC_T_MAX_CAP 548,16506 -#define PI_ITEM_K_MAC_TVX_CAP 549,16547 -#define PI_GRP_K_MAC_CONFIG 551,16589 -#define PI_ITEM_K_MAC_AVAIL_PATHS 552,16627 -#define PI_ITEM_K_MAC_CURRENT_PATH 553,16671 -#define PI_ITEM_K_MAC_UP_NBR 554,16715 -#define PI_ITEM_K_MAC_DOWN_NBR 555,16753 -#define PI_ITEM_K_MAC_OLD_UP_NBR 556,16793 -#define PI_ITEM_K_MAC_OLD_DOWN_NBR 557,16835 -#define PI_ITEM_K_MAC_DUP_ADDR_TEST 558,16879 -#define PI_ITEM_K_MAC_REQ_PATHS 559,16923 -#define PI_ITEM_K_MAC_DOWN_PORT_TYPE 560,16964 -#define PI_ITEM_K_MAC_INDEX 561,17011 -#define PI_GRP_K_MAC_ADDRESS 563,17050 -#define PI_ITEM_K_MAC_SMT_ADDRESS 564,17088 -#define PI_GRP_K_MAC_OPERATION 566,17131 -#define PI_ITEM_K_MAC_TREQ 567,17171 -#define PI_ITEM_K_MAC_TNEG 568,17208 -#define PI_ITEM_K_MAC_TMAX 569,17245 -#define PI_ITEM_K_MAC_TVX_VALUE 570,17282 -#define PI_GRP_K_MAC_COUNTERS 572,17324 -#define PI_ITEM_K_MAC_FRAME_CT 573,17363 -#define PI_ITEM_K_MAC_COPIED_CT 574,17403 -#define PI_ITEM_K_MAC_TRANSMIT_CT 575,17444 -#define PI_ITEM_K_MAC_ERROR_CT 576,17486 -#define PI_ITEM_K_MAC_LOST_CT 577,17526 -#define PI_GRP_K_MAC_FRM_ERR_COND 579,17566 -#define PI_ITEM_K_MAC_FRM_ERR_THR 580,17608 -#define PI_ITEM_K_MAC_FRM_ERR_RAT 581,17650 -#define PI_GRP_K_MAC_STATUS 583,17693 -#define PI_ITEM_K_MAC_RMT_STATE 584,17731 -#define PI_ITEM_K_MAC_DA_FLAG 585,17772 -#define PI_ITEM_K_MAC_UNDA_FLAG 586,17811 -#define PI_ITEM_K_MAC_FRM_ERR_FLAG 587,17852 -#define PI_ITEM_K_MAC_MA_UNIT_AVAIL 588,17895 -#define PI_ITEM_K_MAC_HW_PRESENT 589,17939 -#define PI_ITEM_K_MAC_MA_UNIT_ENAB 590,17980 -#define PI_GRP_K_PATH_CONFIG 592,18024 -#define PI_ITEM_K_PATH_INDEX 593,18062 -#define PI_ITEM_K_PATH_CONFIGURATION 594,18100 -#define PI_ITEM_K_PATH_TVX_LB 595,18145 -#define PI_ITEM_K_PATH_T_MAX_LB 596,18184 -#define PI_ITEM_K_PATH_MAX_T_REQ 597,18225 -#define PI_GRP_K_PORT_CONFIG 599,18267 -#define PI_ITEM_K_PORT_MY_TYPE 600,18305 -#define PI_ITEM_K_PORT_NBR_TYPE 601,18345 -#define PI_ITEM_K_PORT_CONN_POLS 602,18386 -#define PI_ITEM_K_PORT_MAC_INDICATED 603,18427 -#define PI_ITEM_K_PORT_CURRENT_PATH 604,18473 -#define PI_ITEM_K_PORT_REQ_PATHS 605,18517 -#define PI_ITEM_K_PORT_MAC_PLACEMENT 606,18558 -#define PI_ITEM_K_PORT_AVAIL_PATHS 607,18603 -#define PI_ITEM_K_PORT_PMD_CLASS 608,18646 -#define PI_ITEM_K_PORT_CONN_CAPS 609,18687 -#define PI_ITEM_K_PORT_INDEX 610,18728 -#define PI_GRP_K_PORT_OPERATION 612,18767 -#define PI_ITEM_K_PORT_BS_FLAG 613,18808 -#define PI_GRP_K_PORT_ERR_CNTRS 615,18850 -#define PI_ITEM_K_PORT_LCT_FAIL_CT 616,18891 -#define PI_GRP_K_PORT_LER 618,18936 -#define PI_ITEM_K_PORT_LER_ESTIMATE 619,18974 -#define PI_ITEM_K_PORT_LEM_REJ_CT 620,19018 -#define PI_ITEM_K_PORT_LEM_CT 621,19060 -#define PI_ITEM_K_PORT_LER_CUTOFF 622,19099 -#define PI_ITEM_K_PORT_LER_ALARM 623,19141 -#define PI_GRP_K_PORT_STATUS 625,19183 -#define PI_ITEM_K_PORT_CONNECT_STATE 626,19221 -#define PI_ITEM_K_PORT_PCM_STATE 627,19265 -#define PI_ITEM_K_PORT_PC_WITHHOLD 628,19306 -#define PI_ITEM_K_PORT_LER_FLAG 629,19349 -#define PI_ITEM_K_PORT_HW_PRESENT 630,19390 -#define PI_ITEM_K_PORT_ACT 632,19433 -#define PI_CMD_ADDR_FILTER_K_SIZE 636,19502 - } PI_CMD_ADDR_FILTER_SET_REQ;PI_CMD_ADDR_FILTER_SET_REQ642,19628 - } PI_CMD_ADDR_FILTER_SET_RSP;PI_CMD_ADDR_FILTER_SET_RSP649,19737 - } PI_CMD_ADDR_FILTER_GET_REQ;PI_CMD_ADDR_FILTER_GET_REQ656,19839 - } PI_CMD_ADDR_FILTER_GET_RSP;PI_CMD_ADDR_FILTER_GET_RSP664,19995 - } PI_CMD_STATUS_CHARS_GET_REQ;PI_CMD_STATUS_CHARS_GET_REQ671,20099 - } PI_CMD_STATUS_CHARS_GET_RSP;PI_CMD_STATUS_CHARS_GET_RSP718,21408 - } PI_CMD_FDDI_MIB_GET_REQ;PI_CMD_FDDI_MIB_GET_REQ725,21509 - } PI_CMD_FDDI_MIB_GET_RSP;PI_CMD_FDDI_MIB_GET_RSP823,24538 - } PI_CMD_DEC_EXT_MIB_GET_REQ;PI_CMD_DEC_EXT_MIB_GET_REQ830,24638 - } PI_CMD_DEC_EXT_MIB_GET_RSP;PI_CMD_DEC_EXT_MIB_GET_RSP864,25454 - } PI_CNTR_BLK;PI_CNTR_BLK905,26631 - } PI_CMD_CNTRS_GET_REQ;PI_CMD_CNTRS_GET_REQ912,26716 - } PI_CMD_CNTRS_GET_RSP;PI_CMD_CNTRS_GET_RSP921,26871 - } PI_CMD_CNTRS_SET_REQ;PI_CMD_CNTRS_SET_REQ929,26988 - } PI_CMD_CNTRS_SET_RSP;PI_CMD_CNTRS_SET_RSP936,27088 - } PI_CMD_ERROR_LOG_CLEAR_REQ;PI_CMD_ERROR_LOG_CLEAR_REQ943,27185 - } PI_CMD_ERROR_LOG_CLEAR_RSP;PI_CMD_ERROR_LOG_CLEAR_RSP950,27293 -#define PI_LOG_ENTRY_K_INDEX_MIN 954,27354 - } PI_CMD_ERROR_LOG_GET_REQ;PI_CMD_ERROR_LOG_GET_REQ960,27486 -#define PI_K_LOG_FW_SIZE 964,27546 -#define PI_K_LOG_DIAG_SIZE 965,27611 - } PI_LOG_ENTRY;PI_LOG_ENTRY976,27844 - } PI_CMD_ERROR_LOG_GET_RSP;PI_CMD_ERROR_LOG_GET_RSP987,28056 -#define PI_LOG_EVENT_STATUS_K_VALID 993,28275 -#define PI_LOG_EVENT_STATUS_K_INVALID 994,28341 -#define PI_LOG_CALLER_ID_K_NONE 995,28409 -#define PI_LOG_CALLER_ID_K_SELFTEST 996,28466 -#define PI_LOG_CALLER_ID_K_MFG 997,28540 -#define PI_LOG_CALLER_ID_K_ONLINE 998,28605 -#define PI_LOG_CALLER_ID_K_HW 999,28670 -#define PI_LOG_CALLER_ID_K_FW 1000,28723 -#define PI_LOG_CALLER_ID_K_CNS_HW 1001,28776 -#define PI_LOG_CALLER_ID_K_CNS_FW 1002,28835 -#define PI_LOG_CALLER_ID_K_CONSOLE 1003,28894 - } PI_DMA_CMD_REQ;PI_DMA_CMD_REQ1030,29763 - } PI_DMA_CMD_RSP;PI_DMA_CMD_RSP1052,30478 - } PI_DMA_CMD_BUFFER;PI_DMA_CMD_BUFFER1058,30566 - } PI_CONSUMER_BLOCK;PI_CONSUMER_BLOCK1075,30982 -#define PI_CONS_M_RCV_INDEX 1077,31005 -#define PI_CONS_M_XMT_INDEX 1078,31046 -#define PI_CONS_V_RCV_INDEX 1079,31087 -#define PI_CONS_V_XMT_INDEX 1080,31119 -#define PI_CONS_BLK_K_XMT_RCV 1084,31188 -#define PI_CONS_BLK_K_SMT_HOST 1085,31224 -#define PI_CONS_BLK_K_UNSOL 1086,31261 -#define PI_CONS_BLK_K_CMD_RSP 1087,31296 -#define PI_CONS_BLK_K_CMD_REQ 1088,31332 -#define PI_DESCR_BLK_K_RCV_DATA 1092,31406 -#define PI_DESCR_BLK_K_XMT_DATA 1093,31446 -#define PI_DESCR_BLK_K_SMT_HOST 1094,31486 -#define PI_DESCR_BLK_K_UNSOL 1095,31526 -#define PI_DESCR_BLK_K_CMD_RSP 1096,31563 -#define PI_DESCR_BLK_K_CMD_REQ 1097,31602 - } PI_RCV_DESCR;PI_RCV_DESCR1110,32149 -#define PI_RCV_DESCR_M_SOP 1112,32167 -#define PI_RCV_DESCR_M_SEG_LEN_LO 1113,32209 -#define PI_RCV_DESCR_M_MBZ 1114,32256 -#define PI_RCV_DESCR_M_SEG_LEN 1115,32299 -#define PI_RCV_DESCR_M_SEG_LEN_HI 1116,32342 -#define PI_RCV_DESCR_M_SEG_CNT 1117,32390 -#define PI_RCV_DESCR_M_BUFF_HI 1118,32435 -#define PI_RCV_DESCR_V_SOP 1120,32481 -#define PI_RCV_DESCR_V_SEG_LEN_LO 1121,32515 -#define PI_RCV_DESCR_V_MBZ 1122,32553 -#define PI_RCV_DESCR_V_SEG_LEN 1123,32587 -#define PI_RCV_DESCR_V_SEG_LEN_HI 1124,32624 -#define PI_RCV_DESCR_V_SEG_CNT 1125,32665 -#define PI_RCV_DESCR_V_BUFF_HI 1126,32702 - } PI_XMT_DESCR;PI_XMT_DESCR1134,32864 -#define PI_XMT_DESCR_M_SOP 1136,32882 -#define PI_XMT_DESCR_M_EOP 1137,32922 -#define PI_XMT_DESCR_M_MBZ 1138,32962 -#define PI_XMT_DESCR_M_SEG_LEN 1139,33003 -#define PI_XMT_DESCR_M_BUFF_HI 1140,33046 -#define PI_XMT_DESCR_V_SOP 1142,33090 -#define PI_XMT_DESCR_V_EOP 1143,33122 -#define PI_XMT_DESCR_V_MBZ 1144,33154 -#define PI_XMT_DESCR_V_SEG_LEN 1145,33186 -#define PI_XMT_DESCR_V_BUFF_HI 1146,33221 -#define PI_RCV_DATA_K_NUM_ENTRIES 1150,33327 -#define PI_XMT_DATA_K_NUM_ENTRIES 1151,33367 -#define PI_SMT_HOST_K_NUM_ENTRIES 1152,33407 -#define PI_UNSOL_K_NUM_ENTRIES 1153,33446 -#define PI_CMD_RSP_K_NUM_ENTRIES 1154,33483 -#define PI_CMD_REQ_K_NUM_ENTRIES 1155,33521 - } PI_DESCR_BLOCK;PI_DESCR_BLOCK1165,33880 -#define PI_PDQ_K_REG_PORT_RESET 1169,33961 -#define PI_PDQ_K_REG_HOST_DATA 1170,34006 -#define PI_PDQ_K_REG_PORT_CTRL 1171,34050 -#define PI_PDQ_K_REG_PORT_DATA_A 1172,34094 -#define PI_PDQ_K_REG_PORT_DATA_B 1173,34139 -#define PI_PDQ_K_REG_PORT_STATUS 1174,34184 -#define PI_PDQ_K_REG_TYPE_0_STATUS 1175,34229 -#define PI_PDQ_K_REG_HOST_INT_ENB 1176,34277 -#define PI_PDQ_K_REG_TYPE_2_PROD_NOINT 1177,34325 -#define PI_PDQ_K_REG_TYPE_2_PROD 1178,34376 -#define PI_PDQ_K_REG_CMD_RSP_PROD 1179,34421 -#define PI_PDQ_K_REG_CMD_REQ_PROD 1180,34467 -#define PI_PDQ_K_REG_SMT_HOST_PROD 1181,34513 -#define PI_PDQ_K_REG_UNSOL_PROD 1182,34562 -#define PI_PCTRL_M_CMD_ERROR 1186,34674 -#define PI_PCTRL_M_BLAST_FLASH 1187,34712 -#define PI_PCTRL_M_HALT 1188,34752 -#define PI_PCTRL_M_COPY_DATA 1189,34787 -#define PI_PCTRL_M_ERROR_LOG_START 1190,34825 -#define PI_PCTRL_M_ERROR_LOG_READ 1191,34868 -#define PI_PCTRL_M_XMT_DATA_FLUSH_DONE 1192,34910 -#define PI_PCTRL_M_INIT 1193,34956 -#define PI_PCTRL_M_INIT_START 1194,34991 -#define PI_PCTRL_M_CONS_BLOCK 1195,35033 -#define PI_PCTRL_M_UNINIT 1196,35072 -#define PI_PCTRL_M_RING_MEMBER 1197,35108 -#define PI_PCTRL_M_MLA 1198,35148 -#define PI_PCTRL_M_FW_REV_READ 1199,35184 -#define PI_PCTRL_M_DEV_SPECIFIC 1200,35224 -#define PI_PCTRL_M_SUB_CMD 1201,35265 -#define PI_SUB_CMD_K_LINK_UNINIT 1205,35374 -#define PI_SUB_CMD_K_BURST_SIZE_SET 1206,35415 -#define PI_SUB_CMD_K_PDQ_REV_GET 1207,35459 -#define PI_SUB_CMD_K_HW_REV_GET 1208,35500 -#define PI_PDATA_B_DMA_BURST_SIZE_4 1212,35580 -#define PI_PDATA_B_DMA_BURST_SIZE_8 1213,35652 -#define PI_PDATA_B_DMA_BURST_SIZE_16 1214,35692 -#define PI_PDATA_B_DMA_BURST_SIZE_32 1215,35731 -#define PI_PDATA_B_DMA_BURST_SIZE_DEF 1216,35798 -#define PI_PDATA_A_RESET_M_UPGRADE 1220,35897 -#define PI_PDATA_A_RESET_M_SOFT_RESET 1221,35944 -#define PI_PDATA_A_RESET_M_SKIP_ST 1222,35993 -#define PI_PDATA_A_MLA_K_LO 1226,36104 -#define PI_PDATA_A_MLA_K_HI 1227,36137 -#define PI_PDATA_A_INIT_M_DESC_BLK_ADDR 1231,36212 -#define PI_PDATA_A_INIT_M_RESERVED 1232,36266 -#define PI_PDATA_A_INIT_M_BSWAP_DATA 1233,36316 -#define PI_PDATA_A_INIT_M_BSWAP_LITERAL 1234,36368 -#define PI_PDATA_A_INIT_V_DESC_BLK_ADDR 1236,36423 -#define PI_PDATA_A_INIT_V_RESERVED 1237,36468 -#define PI_PDATA_A_INIT_V_BSWAP_DATA 1238,36508 -#define PI_PDATA_A_INIT_V_BSWAP_LITERAL 1239,36550 -#define PI_RESET_M_ASSERT_RESET 1243,36622 -#define PI_PSTATUS_V_RCV_DATA_PENDING 1247,36687 -#define PI_PSTATUS_V_XMT_DATA_PENDING 1248,36728 -#define PI_PSTATUS_V_SMT_HOST_PENDING 1249,36769 -#define PI_PSTATUS_V_UNSOL_PENDING 1250,36810 -#define PI_PSTATUS_V_CMD_RSP_PENDING 1251,36849 -#define PI_PSTATUS_V_CMD_REQ_PENDING 1252,36889 -#define PI_PSTATUS_V_TYPE_0_PENDING 1253,36929 -#define PI_PSTATUS_V_RESERVED_1 1254,36969 -#define PI_PSTATUS_V_RESERVED_2 1255,37006 -#define PI_PSTATUS_V_STATE 1256,37043 -#define PI_PSTATUS_V_HALT_ID 1257,37075 -#define PI_PSTATUS_M_RCV_DATA_PENDING 1259,37109 -#define PI_PSTATUS_M_XMT_DATA_PENDING 1260,37158 -#define PI_PSTATUS_M_SMT_HOST_PENDING 1261,37207 -#define PI_PSTATUS_M_UNSOL_PENDING 1262,37256 -#define PI_PSTATUS_M_CMD_RSP_PENDING 1263,37303 -#define PI_PSTATUS_M_CMD_REQ_PENDING 1264,37351 -#define PI_PSTATUS_M_TYPE_0_PENDING 1265,37399 -#define PI_PSTATUS_M_RESERVED_1 1266,37447 -#define PI_PSTATUS_M_RESERVED_2 1267,37492 -#define PI_PSTATUS_M_STATE 1268,37537 -#define PI_PSTATUS_M_HALT_ID 1269,37578 -#define PI_HALT_ID_K_SELFTEST_TIMEOUT 1274,37704 -#define PI_HALT_ID_K_PARITY_ERROR 1275,37744 -#define PI_HALT_ID_K_HOST_DIR_HALT 1276,37781 -#define PI_HALT_ID_K_SW_FAULT 1277,37819 -#define PI_HALT_ID_K_HW_FAULT 1278,37853 -#define PI_HALT_ID_K_PC_TRACE 1279,37887 -#define PI_HALT_ID_K_DMA_ERROR 1280,37921 -#define PI_HALT_ID_K_IMAGE_CRC_ERROR 1281,37988 -#define PI_HALT_ID_K_BUS_EXCEPTION 1282,38061 -#define PI_HOST_INT_M_XMT_DATA_ENB 1286,38187 -#define PI_HOST_INT_M_RCV_DATA_ENB 1287,38255 -#define PI_HOST_INT_M_SMT_HOST_ENB 1288,38304 -#define PI_HOST_INT_M_UNSOL_ENB 1289,38373 -#define PI_HOST_INT_M_CMD_RSP_ENB 1290,38418 -#define PI_HOST_INT_M_CMD_REQ_ENB 1291,38464 -#define PI_HOST_INT_M_TYPE_1_RESERVED 1292,38510 -#define PI_HOST_INT_M_TYPE_0_RESERVED 1293,38559 -#define PI_HOST_INT_M_1MS 1294,38629 -#define PI_HOST_INT_M_20MS 1295,38669 -#define PI_HOST_INT_M_CSR_CMD_DONE 1296,38710 -#define PI_HOST_INT_M_STATE_CHANGE 1297,38757 -#define PI_HOST_INT_M_XMT_FLUSH 1298,38804 -#define PI_HOST_INT_M_NXM 1299,38849 -#define PI_HOST_INT_M_PM_PAR_ERR 1300,38889 -#define PI_HOST_INT_M_BUS_PAR_ERR 1301,38934 -#define PI_HOST_INT_V_XMT_DATA_ENB 1303,38981 -#define PI_HOST_INT_V_RCV_DATA_ENB 1304,39043 -#define PI_HOST_INT_V_SMT_HOST_ENB 1305,39084 -#define PI_HOST_INT_V_UNSOL_ENB 1306,39147 -#define PI_HOST_INT_V_CMD_RSP_ENB 1307,39184 -#define PI_HOST_INT_V_CMD_REQ_ENB 1308,39222 -#define PI_HOST_INT_V_TYPE_1_RESERVED 1309,39260 -#define PI_HOST_INT_V_TYPE_0_RESERVED 1310,39301 -#define PI_HOST_INT_V_1MS_ENB 1311,39366 -#define PI_HOST_INT_V_20MS_ENB 1312,39400 -#define PI_HOST_INT_V_CSR_CMD_DONE_ENB 1313,39435 -#define PI_HOST_INT_V_STATE_CHANGE_ENB 1314,39476 -#define PI_HOST_INT_V_XMT_FLUSH_ENB 1315,39517 -#define PI_HOST_INT_V_NXM_ENB 1316,39556 -#define PI_HOST_INT_V_PM_PAR_ERR_ENB 1317,39590 -#define PI_HOST_INT_V_BUS_PAR_ERR_ENB 1318,39629 -#define PI_HOST_INT_K_ACK_ALL_TYPE_0 1320,39670 -#define PI_HOST_INT_K_DISABLE_ALL_INTS 1321,39718 -#define PI_HOST_INT_K_ENABLE_ALL_INTS 1322,39768 -#define PI_HOST_INT_K_ENABLE_DEF_INTS 1323,39817 -#define PI_TYPE_0_STAT_M_1MS 1327,39907 -#define PI_TYPE_0_STAT_M_20MS 1328,39949 -#define PI_TYPE_0_STAT_M_CSR_CMD_DONE 1329,39992 -#define PI_TYPE_0_STAT_M_STATE_CHANGE 1330,40041 -#define PI_TYPE_0_STAT_M_XMT_FLUSH 1331,40090 -#define PI_TYPE_0_STAT_M_NXM 1332,40137 -#define PI_TYPE_0_STAT_M_PM_PAR_ERR 1333,40179 -#define PI_TYPE_0_STAT_M_BUS_PAR_ERR 1334,40227 -#define PI_TYPE_0_STAT_V_1MS 1336,40276 -#define PI_TYPE_0_STAT_V_20MS 1337,40312 -#define PI_TYPE_0_STAT_V_CSR_CMD_DONE 1338,40347 -#define PI_TYPE_0_STAT_V_STATE_CHANGE 1339,40387 -#define PI_TYPE_0_STAT_V_XMT_FLUSH 1340,40427 -#define PI_TYPE_0_STAT_V_NXM 1341,40465 -#define PI_TYPE_0_STAT_V_PM_PAR_ERR 1342,40498 -#define PI_TYPE_0_STAT_V_BUS_PAR_ERR 1343,40537 - } PI_TYPE_1_PROD_REG;PI_TYPE_1_PROD_REG1361,40871 - } PI_TYPE_2_PROD_REG;PI_TYPE_2_PROD_REG1375,41093 - } PI_TYPE_1_CONSUMER;PI_TYPE_1_CONSUMER1389,41305 - } PI_TYPE_2_CONSUMER;PI_TYPE_2_CONSUMER1403,41525 - } PI_TYPE_1_PROD_REG;PI_TYPE_1_PROD_REG1419,41737 - } PI_TYPE_2_PROD_REG;PI_TYPE_2_PROD_REG1433,41956 - } PI_TYPE_1_CONSUMER;PI_TYPE_1_CONSUMER1447,42165 - } PI_TYPE_2_CONSUMER;PI_TYPE_2_CONSUMER1461,42382 -#define PI_ESIC_K_BURST_HOLDOFF 1467,42486 -#define PI_ESIC_K_SLOT_ID 1468,42525 -#define PI_ESIC_K_SLOT_CNTRL 1469,42569 -#define PI_ESIC_K_MEM_ADD_CMP_0 1470,42605 -#define PI_ESIC_K_MEM_ADD_CMP_1 1471,42648 -#define PI_ESIC_K_MEM_ADD_CMP_2 1472,42691 -#define PI_ESIC_K_MEM_ADD_HI_CMP_0 1473,42734 -#define PI_ESIC_K_MEM_ADD_HI_CMP_1 1474,42777 -#define PI_ESIC_K_MEM_ADD_HI_CMP_2 1475,42820 -#define PI_ESIC_K_MEM_ADD_MASK_0 1476,42863 -#define PI_ESIC_K_MEM_ADD_MASK_1 1477,42907 -#define PI_ESIC_K_MEM_ADD_MASK_2 1478,42951 -#define PI_ESIC_K_MEM_ADD_LO_CMP_0 1479,42995 -#define PI_ESIC_K_MEM_ADD_LO_CMP_1 1480,43038 -#define PI_ESIC_K_MEM_ADD_LO_CMP_2 1481,43081 -#define PI_ESIC_K_IO_CMP_0_0 1482,43124 -#define PI_ESIC_K_IO_CMP_0_1 1483,43160 -#define PI_ESIC_K_IO_CMP_1_0 1484,43196 -#define PI_ESIC_K_IO_CMP_1_1 1485,43232 -#define PI_ESIC_K_IO_CMP_2_0 1486,43268 -#define PI_ESIC_K_IO_CMP_2_1 1487,43304 -#define PI_ESIC_K_IO_CMP_3_0 1488,43340 -#define PI_ESIC_K_IO_CMP_3_1 1489,43376 -#define PI_ESIC_K_IO_ADD_MASK_0_0 1490,43412 -#define PI_ESIC_K_IO_ADD_MASK_0_1 1491,43456 -#define PI_ESIC_K_IO_ADD_MASK_1_0 1492,43500 -#define PI_ESIC_K_IO_ADD_MASK_1_1 1493,43544 -#define PI_ESIC_K_IO_ADD_MASK_2_0 1494,43588 -#define PI_ESIC_K_IO_ADD_MASK_2_1 1495,43632 -#define PI_ESIC_K_IO_ADD_MASK_3_0 1496,43676 -#define PI_ESIC_K_IO_ADD_MASK_3_1 1497,43720 -#define PI_ESIC_K_MOD_CONFIG_1 1498,43764 -#define PI_ESIC_K_MOD_CONFIG_2 1499,43802 -#define PI_ESIC_K_MOD_CONFIG_3 1500,43840 -#define PI_ESIC_K_MOD_CONFIG_4 1501,43878 -#define PI_ESIC_K_MOD_CONFIG_5 1502,43916 -#define PI_ESIC_K_MOD_CONFIG_6 1503,43957 -#define PI_ESIC_K_MOD_CONFIG_7 1504,43995 -#define PI_ESIC_K_DIP_SWITCH 1505,44033 -#define PI_ESIC_K_IO_CONFIG_STAT_0 1506,44077 -#define PI_ESIC_K_IO_CONFIG_STAT_1 1507,44121 -#define PI_ESIC_K_DMA_CONFIG 1508,44165 -#define PI_ESIC_K_INPUT_PORT 1509,44209 -#define PI_ESIC_K_OUTPUT_PORT 1510,44253 -#define PI_ESIC_K_FUNCTION_CNTRL 1511,44297 -#define PI_ESIC_K_CSR_IO_LEN 1512,44336 -#define PI_ESIC_K_FUNCTION_CNTRL_IO_ENB 1516,44501 -#define PI_SLOT_CNTRL_M_RESET 1520,44600 -#define PI_SLOT_CNTRL_M_ERROR 1521,44659 -#define PI_SLOT_CNTRL_M_ENB 1522,44718 -#define PI_BURST_HOLDOFF_M_HOLDOFF 1526,44830 -#define PI_BURST_HOLDOFF_M_RESERVED 1527,44870 -#define PI_BURST_HOLDOFF_M_MEM_MAP 1528,44911 -#define PI_BURST_HOLDOFF_V_HOLDOFF 1530,44952 -#define PI_BURST_HOLDOFF_V_RESERVED 1531,44989 -#define PI_BURST_HOLDOFF_V_MEM_MAP 1532,45027 -#define PI_IO_CMP_V_SLOT 1540,45223 -#define PI_CONFIG_STAT_0_M_PEND 1544,45331 -#define PI_CONFIG_STAT_0_M_RES_1 1545,45370 -#define PI_CONFIG_STAT_0_M_IREQ_OUT 1546,45409 -#define PI_CONFIG_STAT_0_M_IREQ_IN 1547,45451 -#define PI_CONFIG_STAT_0_M_INT_ENB 1548,45492 -#define PI_CONFIG_STAT_0_M_RES_0 1549,45533 -#define PI_CONFIG_STAT_0_M_IRQ 1550,45572 -#define PI_CONFIG_STAT_0_V_PEND 1552,45611 -#define PI_CONFIG_STAT_0_V_RES_1 1553,45647 -#define PI_CONFIG_STAT_0_V_IREQ_OUT 1554,45683 -#define PI_CONFIG_STAT_0_V_IREQ_IN 1555,45722 -#define PI_CONFIG_STAT_0_V_INT_ENB 1556,45760 -#define PI_CONFIG_STAT_0_V_RES_0 1557,45798 -#define PI_CONFIG_STAT_0_V_IRQ 1558,45834 -#define PI_CONFIG_STAT_0_IRQ_K_9 1560,45870 -#define PI_CONFIG_STAT_0_IRQ_K_10 1561,45906 -#define PI_CONFIG_STAT_0_IRQ_K_11 1562,45943 -#define PI_CONFIG_STAT_0_IRQ_K_15 1563,45980 -#define DEFEA_PRODUCT_ID 1567,46083 -#define DEFEA_PROD_ID_1 1568,46151 -#define DEFEA_PROD_ID_2 1569,46217 -#define DEFEA_PROD_ID_3 1570,46283 -#define PFI_K_LAT_TIMER_DEF 1578,46539 -#define PFI_K_LAT_TIMER_MIN 1579,46609 -#define PFI_K_CSR_MEM_LEN 1580,46679 -#define PFI_K_CSR_IO_LEN 1581,46728 -#define PFI_K_PKT_MEM_LEN 1582,46776 -#define PFI_K_REG_RESERVED_0 1586,46897 -#define PFI_K_REG_RESERVED_1 1587,46939 -#define PFI_K_REG_MODE_CTRL 1588,46981 -#define PFI_K_REG_STATUS 1589,47022 -#define PFI_K_REG_FIFO_WRITE 1590,47060 -#define PFI_K_REG_FIFO_READ 1591,47102 -#define PFI_MODE_M_RESERVED 1595,47187 -#define PFI_MODE_M_TGT_ABORT_ENB 1596,47228 -#define PFI_MODE_M_PDQ_INT_ENB 1597,47273 -#define PFI_MODE_M_PFI_INT_ENB 1598,47317 -#define PFI_MODE_M_DMA_ENB 1599,47361 -#define PFI_MODE_V_RESERVED 1601,47402 -#define PFI_MODE_V_TGT_ABORT_ENB 1602,47434 -#define PFI_MODE_V_PDQ_INT_ENB 1603,47470 -#define PFI_MODE_V_PFI_INT_ENB 1604,47505 -#define PFI_MODE_V_DMA_ENB 1605,47540 -#define PFI_MODE_K_ALL_DISABLE 1607,47572 -#define PFI_STATUS_M_RESERVED 1611,47654 -#define PFI_STATUS_M_PFI_ERROR 1612,47697 -#define PFI_STATUS_M_PDQ_INT 1613,47781 -#define PFI_STATUS_M_PDQ_DMA_ABORT 1614,47823 -#define PFI_STATUS_M_FIFO_FULL 1615,47870 -#define PFI_STATUS_M_FIFO_EMPTY 1616,47914 -#define PFI_STATUS_M_DMA_IN_PROGRESS 1617,47959 -#define PFI_STATUS_V_RESERVED 1619,48009 -#define PFI_STATUS_V_PFI_ERROR 1620,48043 -#define PFI_STATUS_V_PDQ_INT 1621,48119 -#define PFI_STATUS_V_PDQ_DMA_ABORT 1622,48152 -#define PFI_STATUS_V_FIFO_FULL 1623,48190 -#define PFI_STATUS_V_FIFO_EMPTY 1624,48225 -#define PFI_STATUS_V_DMA_IN_PROGRESS 1625,48261 -#define DFX_MAX_EISA_SLOTS 1627,48301 -#define DFX_MAX_NUM_BOARDS 1628,48377 -#define DFX_BUS_TYPE_PCI 1630,48453 -#define DFX_BUS_TYPE_EISA 1631,48526 -#define DFX_FC_PRH2_PRH1_PRH0 1633,48602 -#define DFX_PRH0_BYTE 1634,48683 -#define DFX_PRH1_BYTE 1635,48748 -#define DFX_PRH2_BYTE 1636,48813 -#define DFX_K_SUCCESS 1640,48923 -#define DFX_K_FAILURE 1641,48975 -#define DFX_K_OUTSTATE 1642,49024 -#define DFX_K_HW_TIMEOUT 1643,49081 -#define RCV_BUFS_MIN 1647,49197 -#define RCV_BUFS_MAX 1648,49268 -#define RCV_BUFS_DEF 1649,49340 -#define RCV_BUFF_K_DESCR 1653,49507 -#define RCV_BUFF_K_PADDING 1654,49568 -#define RCV_BUFF_K_FC 1655,49623 -#define RCV_BUFF_K_DA 1656,49680 -#define RCV_BUFF_K_SA 1657,49743 -#define RCV_BUFF_K_DATA 1658,49802 -#define XMT_BUFF_K_FC 1662,49957 -#define XMT_BUFF_K_DA 1663,50014 -#define XMT_BUFF_K_SA 1664,50077 -#define XMT_BUFF_K_DATA 1665,50135 -#define IN_RANGE(IN_RANGE1669,50267 -#define DBG_printk(DBG_printk1674,50423 -#define DBG_printk(DBG_printk1676,50473 -#define DFX_MASK_INTERRUPTS 1681,50566 -#define DFX_UNMASK_INTERRUPTS 1682,50597 - } XMT_DRIVER_DESCR;XMT_DRIVER_DESCR1689,50755 -typedef struct DFX_board_tagDFX_board_tag1691,50777 - } DFX_board_t;DFX_board_t1776,54157 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dummy.c,457 -static int numdummies 39,1199 -static int dummy_set_address(44,1369 -static void set_multicast_list(56,1619 -static void __init dummy_setup(60,1679 -static int dummy_xmit(78,2187 -static struct net_device_stats *dummy_get_stats(89,2388 -static struct net_device **dummies;94,2484 -static int __init dummy_init_one(100,2679 -static void dummy_free_one(121,3043 -static int __init dummy_init_module(127,3153 -static void __exit dummy_cleanup_module(142,3455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/atp.c,1209 -static const char versionA[34,1176 -static const char versionB[36,1271 -static int debug 42,1441 -#define net_debug 43,1513 -static int max_interrupt_work 46,1607 -#define NUM_UNITS 48,1644 -static int io[50,1713 -static int irq[51,1739 -static int xcvr[52,1766 -#define TX_TIMEOUT 57,1953 -#define ETHERCARD_TOTAL_SIZE 168,6680 -static char mux_8012[171,6780 -struct net_local net_local173,6858 -#define TIMED_CHECKER 190,7473 -static struct net_device *root_atp_dev;217,8683 -static int __init atp_init(227,9072 -static int __init atp_probe1(249,9560 -static void __init get_node_ID(373,13141 -static unsigned short __init eeprom_op(405,14001 -static int net_open(433,14967 -static void hardware_init(459,15738 -static void trigger_send(495,16763 -static void write_packet(502,16944 -static void tx_timeout(542,18129 -static int atp_send_packet(558,18566 -atp_interrupt(600,19706 -static void atp_timed_checker(725,23885 -static void net_rx(763,24873 -static void read_block(817,26581 -net_close(839,27335 -net_get_stats(864,27963 -static void set_rx_mode_8002(874,28131 -static void set_rx_mode_8012(891,28610 -static int __init atp_init_module(933,29980 -static void __exit atp_cleanup_module(939,30168 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/plip.c,2373 -static const char version[57,1987 -#define PLIP_MAX 122,3871 -#define NET_DEBUG 126,3971 -static unsigned int net_debug 128,3998 -#define ENABLE(ENABLE130,4042 -#define DISABLE(DISABLE131,4094 -#define PLIP_DELAY_UNIT 134,4170 -#define PLIP_TRIGGER_WAIT 137,4270 -#define PLIP_NIBBLE_WAIT 140,4366 -enum plip_connection_state plip_connection_state164,5399 - PLIP_CN_NONE=165,5428 - PLIP_CN_RECEIVE,166,5445 - PLIP_CN_SEND,167,5463 - PLIP_CN_CLOSING,168,5478 - PLIP_CN_ERROR169,5496 -enum plip_packet_state plip_packet_state172,5515 - PLIP_PK_DONE=173,5540 - PLIP_PK_TRIGGER,174,5557 - PLIP_PK_LENGTH_LSB,175,5575 - PLIP_PK_LENGTH_MSB,176,5596 - PLIP_PK_DATA,177,5617 - PLIP_PK_CHECKSUM178,5632 -enum plip_nibble_state plip_nibble_state181,5654 - PLIP_NB_BEGIN,182,5679 - PLIP_NB_1,183,5695 - PLIP_NB_2,184,5707 -struct plip_local plip_local187,5723 -struct net_local net_local210,6182 -inline static void enable_parport_interrupts 235,6962 -inline static void disable_parport_interrupts 245,7173 -inline static void write_data 255,7386 -inline static unsigned char read_status 263,7579 -plip_init_netdev(281,8126 -plip_kick_bh(324,9333 -#define OK 348,10268 -#define TIMEOUT 349,10288 -#define ERROR 350,10308 -#define HS_TIMEOUT 351,10328 -typedef int (*plip_func)plip_func353,10350 -static plip_func connection_state_table[356,10475 -plip_bh(367,10661 -plip_timer_bh(385,11101 -plip_bh_timeout_error(400,11359 -plip_none(476,13429 -plip_receive(485,13667 -static unsigned short plip_type_trans(543,15042 -plip_receive_packet(588,16062 -plip_send(706,19366 -plip_send_packet(750,20228 -plip_connection_close(865,23073 -plip_error(883,23544 -plip_interrupt(908,24140 -plip_tx_packet(962,25320 -plip_rewrite_address(1004,26235 -plip_hard_header(1020,26624 -int plip_hard_header_cache(1033,26979 -plip_open(1058,27630 -plip_close(1117,29330 -plip_preempt(1163,30165 -plip_wakeup(1179,30516 -plip_get_stats(1208,31178 -plip_ioctl(1217,31334 -static int parport[1242,31845 -static int timid;1243,31905 -static struct net_device *dev_plip[1249,32085 -plip_searchfor(1252,32162 -static void plip_attach 1263,32392 -static void plip_detach 1334,34115 -static struct parport_driver plip_driver 1339,34188 -static void __exit plip_cleanup_module 1345,34301 -static int parport_ptr;1367,34727 -static int __init plip_setup(1369,34752 -static int __init plip_init 1401,35421 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mv643xx_eth.h,11941 -#define __MV64340_ETH_H__2,26 -#define BIT0 12,218 -#define BIT1 13,242 -#define BIT2 14,266 -#define BIT3 15,290 -#define BIT4 16,314 -#define BIT5 17,338 -#define BIT6 18,362 -#define BIT7 19,386 -#define BIT8 20,410 -#define BIT9 21,434 -#define BIT10 22,458 -#define BIT11 23,483 -#define BIT12 24,508 -#define BIT13 25,533 -#define BIT14 26,558 -#define BIT15 27,583 -#define BIT16 28,608 -#define BIT17 29,633 -#define BIT18 30,658 -#define BIT19 31,683 -#define BIT20 32,708 -#define BIT21 33,733 -#define BIT22 34,758 -#define BIT23 35,783 -#define BIT24 36,808 -#define BIT25 37,833 -#define BIT26 38,858 -#define BIT27 39,883 -#define BIT28 40,908 -#define BIT29 41,933 -#define BIT30 42,958 -#define BIT31 43,983 -#define ETH_PORT0_IRQ_NUM 49,1089 -#define ETH_PORT1_IRQ_NUM 50,1151 -#define ETH_PORT2_IRQ_NUM 51,1228 -#define MV64340_CHECKSUM_OFFLOAD_TX54,1342 -#define MV64340_NAPI55,1379 -#define MV64340_TX_FAST_REFILL56,1401 -#define MV64340_TX_QUEUE_SIZE 68,1834 -#define MV64340_RX_QUEUE_SIZE 71,1916 -#define MV64340_TX_COAL 73,1951 -#define MV64340_RX_COAL 75,1999 -#define PORT_CONFIG_VALUE 97,2411 -#define PORT_CONFIG_EXTEND_VALUE 111,3006 -#define PORT_SDMA_CONFIG_VALUE 117,3163 -#define GT_ETH_IPG_INT_RX(GT_ETH_IPG_INT_RX122,3298 -#define PORT_SERIAL_CONTROL_VALUE 126,3425 -#define RX_BUFFER_MAX_SIZE 145,4056 -#define TX_BUFFER_MAX_SIZE 146,4094 -#define ACCEPT_MAC_ADDR 149,4165 -#define REJECT_MAC_ADDR 150,4195 -#define RX_BUF_OFFSET 153,4266 -#define ETH_MIB_GOOD_OCTETS_RECEIVED_LOW 158,4382 -#define ETH_MIB_GOOD_OCTETS_RECEIVED_HIGH 159,4429 -#define ETH_MIB_BAD_OCTETS_RECEIVED 160,4476 -#define ETH_MIB_INTERNAL_MAC_TRANSMIT_ERR 161,4523 -#define ETH_MIB_GOOD_FRAMES_RECEIVED 162,4570 -#define ETH_MIB_BAD_FRAMES_RECEIVED 163,4618 -#define ETH_MIB_BROADCAST_FRAMES_RECEIVED 164,4666 -#define ETH_MIB_MULTICAST_FRAMES_RECEIVED 165,4714 -#define ETH_MIB_FRAMES_64_OCTETS 166,4762 -#define ETH_MIB_FRAMES_65_TO_127_OCTETS 167,4810 -#define ETH_MIB_FRAMES_128_TO_255_OCTETS 168,4858 -#define ETH_MIB_FRAMES_256_TO_511_OCTETS 169,4906 -#define ETH_MIB_FRAMES_512_TO_1023_OCTETS 170,4954 -#define ETH_MIB_FRAMES_1024_TO_MAX_OCTETS 171,5002 -#define ETH_MIB_GOOD_OCTETS_SENT_LOW 172,5050 -#define ETH_MIB_GOOD_OCTETS_SENT_HIGH 173,5098 -#define ETH_MIB_GOOD_FRAMES_SENT 174,5146 -#define ETH_MIB_EXCESSIVE_COLLISION 175,5194 -#define ETH_MIB_MULTICAST_FRAMES_SENT 176,5242 -#define ETH_MIB_BROADCAST_FRAMES_SENT 177,5290 -#define ETH_MIB_UNREC_MAC_CONTROL_RECEIVED 178,5338 -#define ETH_MIB_FC_SENT 179,5386 -#define ETH_MIB_GOOD_FC_RECEIVED 180,5434 -#define ETH_MIB_BAD_FC_RECEIVED 181,5482 -#define ETH_MIB_UNDERSIZE_RECEIVED 182,5530 -#define ETH_MIB_FRAGMENTS_RECEIVED 183,5578 -#define ETH_MIB_OVERSIZE_RECEIVED 184,5626 -#define ETH_MIB_JABBER_RECEIVED 185,5674 -#define ETH_MIB_MAC_RECEIVE_ERROR 186,5722 -#define ETH_MIB_BAD_CRC_EVENT 187,5770 -#define ETH_MIB_COLLISION 188,5818 -#define ETH_MIB_LATE_COLLISION 189,5866 -#define ETH_INTERFACE_GMII_MII 192,5950 -#define ETH_INTERFACE_PCM 193,6008 -#define ETH_LINK_IS_DOWN 194,6069 -#define ETH_LINK_IS_UP 195,6127 -#define ETH_PORT_AT_HALF_DUPLEX 196,6188 -#define ETH_PORT_AT_FULL_DUPLEX 197,6246 -#define ETH_RX_FLOW_CTRL_DISABLED 198,6307 -#define ETH_RX_FLOW_CTRL_ENBALED 199,6365 -#define ETH_GMII_SPEED_100_10 200,6426 -#define ETH_GMII_SPEED_1000 201,6484 -#define ETH_MII_SPEED_10 202,6545 -#define ETH_MII_SPEED_100 203,6603 -#define ETH_NO_TX 204,6664 -#define ETH_TX_IN_PROGRESS 205,6722 -#define ETH_BYPASS_NO_ACTIVE 206,6783 -#define ETH_BYPASS_ACTIVE 207,6841 -#define ETH_PORT_NOT_AT_PARTITION_STATE 208,6902 -#define ETH_PORT_AT_PARTITION_STATE 209,6960 -#define ETH_PORT_TX_FIFO_NOT_EMPTY 210,7021 -#define ETH_PORT_TX_FIFO_EMPTY 211,7079 -#define ETH_UNICAST_NORMAL_MODE 215,7212 -#define ETH_UNICAST_PROMISCUOUS_MODE 216,7270 -#define ETH_DEFAULT_RX_QUEUE_0 217,7331 -#define ETH_DEFAULT_RX_QUEUE_1 218,7389 -#define ETH_DEFAULT_RX_QUEUE_2 219,7450 -#define ETH_DEFAULT_RX_QUEUE_3 220,7511 -#define ETH_DEFAULT_RX_QUEUE_4 221,7581 -#define ETH_DEFAULT_RX_QUEUE_5 222,7642 -#define ETH_DEFAULT_RX_QUEUE_6 223,7712 -#define ETH_DEFAULT_RX_QUEUE_7 224,7782 -#define ETH_DEFAULT_RX_ARP_QUEUE_0 225,7859 -#define ETH_DEFAULT_RX_ARP_QUEUE_1 226,7917 -#define ETH_DEFAULT_RX_ARP_QUEUE_2 227,7978 -#define ETH_DEFAULT_RX_ARP_QUEUE_3 228,8039 -#define ETH_DEFAULT_RX_ARP_QUEUE_4 229,8109 -#define ETH_DEFAULT_RX_ARP_QUEUE_5 230,8170 -#define ETH_DEFAULT_RX_ARP_QUEUE_6 231,8240 -#define ETH_DEFAULT_RX_ARP_QUEUE_7 232,8310 -#define ETH_RECEIVE_BC_IF_NOT_IP_OR_ARP 233,8387 -#define ETH_REJECT_BC_IF_NOT_IP_OR_ARP 234,8445 -#define ETH_RECEIVE_BC_IF_IP 235,8506 -#define ETH_REJECT_BC_IF_IP 236,8564 -#define ETH_RECEIVE_BC_IF_ARP 237,8625 -#define ETH_REJECT_BC_IF_ARP 238,8683 -#define ETH_TX_AM_NO_UPDATE_ERROR_SUMMARY 239,8744 -#define ETH_CAPTURE_TCP_FRAMES_DIS 240,8806 -#define ETH_CAPTURE_TCP_FRAMES_EN 241,8864 -#define ETH_CAPTURE_UDP_FRAMES_DIS 242,8926 -#define ETH_CAPTURE_UDP_FRAMES_EN 243,8984 -#define ETH_DEFAULT_RX_TCP_QUEUE_0 244,9046 -#define ETH_DEFAULT_RX_TCP_QUEUE_1 245,9104 -#define ETH_DEFAULT_RX_TCP_QUEUE_2 246,9166 -#define ETH_DEFAULT_RX_TCP_QUEUE_3 247,9228 -#define ETH_DEFAULT_RX_TCP_QUEUE_4 248,9300 -#define ETH_DEFAULT_RX_TCP_QUEUE_5 249,9362 -#define ETH_DEFAULT_RX_TCP_QUEUE_6 250,9434 -#define ETH_DEFAULT_RX_TCP_QUEUE_7 251,9506 -#define ETH_DEFAULT_RX_UDP_QUEUE_0 252,9586 -#define ETH_DEFAULT_RX_UDP_QUEUE_1 253,9644 -#define ETH_DEFAULT_RX_UDP_QUEUE_2 254,9706 -#define ETH_DEFAULT_RX_UDP_QUEUE_3 255,9768 -#define ETH_DEFAULT_RX_UDP_QUEUE_4 256,9840 -#define ETH_DEFAULT_RX_UDP_QUEUE_5 257,9903 -#define ETH_DEFAULT_RX_UDP_QUEUE_6 258,9975 -#define ETH_DEFAULT_RX_UDP_QUEUE_7 259,10047 -#define ETH_DEFAULT_RX_BPDU_QUEUE_0 260,10127 -#define ETH_DEFAULT_RX_BPDU_QUEUE_1 261,10186 -#define ETH_DEFAULT_RX_BPDU_QUEUE_2 262,10248 -#define ETH_DEFAULT_RX_BPDU_QUEUE_3 263,10310 -#define ETH_DEFAULT_RX_BPDU_QUEUE_4 264,10382 -#define ETH_DEFAULT_RX_BPDU_QUEUE_5 265,10444 -#define ETH_DEFAULT_RX_BPDU_QUEUE_6 266,10516 -#define ETH_DEFAULT_RX_BPDU_QUEUE_7 267,10588 -#define ETH_CLASSIFY_EN 271,10746 -#define ETH_SPAN_BPDU_PACKETS_AS_NORMAL 272,10807 -#define ETH_SPAN_BPDU_PACKETS_TO_RX_QUEUE_7 273,10865 -#define ETH_PARTITION_DISABLE 274,10926 -#define ETH_PARTITION_ENABLE 275,10984 -#define ETH_QUEUE_0_ENABLE 279,11088 -#define ETH_QUEUE_1_ENABLE 280,11149 -#define ETH_QUEUE_2_ENABLE 281,11210 -#define ETH_QUEUE_3_ENABLE 282,11271 -#define ETH_QUEUE_4_ENABLE 283,11332 -#define ETH_QUEUE_5_ENABLE 284,11393 -#define ETH_QUEUE_6_ENABLE 285,11454 -#define ETH_QUEUE_7_ENABLE 286,11515 -#define ETH_QUEUE_0_DISABLE 287,11576 -#define ETH_QUEUE_1_DISABLE 288,11637 -#define ETH_QUEUE_2_DISABLE 289,11698 -#define ETH_QUEUE_3_DISABLE 290,11760 -#define ETH_QUEUE_4_DISABLE 291,11822 -#define ETH_QUEUE_5_DISABLE 292,11884 -#define ETH_QUEUE_6_DISABLE 293,11946 -#define ETH_QUEUE_7_DISABLE 294,12008 -#define ETH_RIFB 298,12145 -#define ETH_RX_BURST_SIZE_1_64BIT 299,12206 -#define ETH_RX_BURST_SIZE_2_64BIT 300,12264 -#define ETH_RX_BURST_SIZE_4_64BIT 301,12325 -#define ETH_RX_BURST_SIZE_8_64BIT 302,12386 -#define ETH_RX_BURST_SIZE_16_64BIT 303,12456 -#define ETH_BLM_RX_NO_SWAP 304,12517 -#define ETH_BLM_RX_BYTE_SWAP 305,12578 -#define ETH_BLM_TX_NO_SWAP 306,12636 -#define ETH_BLM_TX_BYTE_SWAP 307,12697 -#define ETH_DESCRIPTORS_BYTE_SWAP 308,12755 -#define ETH_DESCRIPTORS_NO_SWAP 309,12816 -#define ETH_TX_BURST_SIZE_1_64BIT 310,12874 -#define ETH_TX_BURST_SIZE_2_64BIT 311,12932 -#define ETH_TX_BURST_SIZE_4_64BIT 312,12994 -#define ETH_TX_BURST_SIZE_8_64BIT 313,13056 -#define ETH_TX_BURST_SIZE_16_64BIT 314,13128 -#define ETH_SERIAL_PORT_DISABLE 319,13262 -#define ETH_SERIAL_PORT_ENABLE 320,13320 -#define ETH_FORCE_LINK_PASS 321,13381 -#define ETH_DO_NOT_FORCE_LINK_PASS 322,13442 -#define ETH_ENABLE_AUTO_NEG_FOR_DUPLX 323,13500 -#define ETH_DISABLE_AUTO_NEG_FOR_DUPLX 324,13558 -#define ETH_ENABLE_AUTO_NEG_FOR_FLOW_CTRL 325,13619 -#define ETH_DISABLE_AUTO_NEG_FOR_FLOW_CTRL 326,13677 -#define ETH_ADV_NO_FLOW_CTRL 327,13738 -#define ETH_ADV_SYMMETRIC_FLOW_CTRL 328,13796 -#define ETH_FORCE_FC_MODE_NO_PAUSE_DIS_TX 329,13857 -#define ETH_FORCE_FC_MODE_TX_PAUSE_DIS 330,13915 -#define ETH_FORCE_BP_MODE_NO_JAM 331,13976 -#define ETH_FORCE_BP_MODE_JAM_TX 332,14034 -#define ETH_FORCE_BP_MODE_JAM_TX_ON_RX_ERR 333,14095 -#define ETH_FORCE_LINK_FAIL 334,14156 -#define ETH_DO_NOT_FORCE_LINK_FAIL 335,14214 -#define ETH_RETRANSMIT_16_ATTEMPTS 336,14276 -#define ETH_RETRANSMIT_FOREVER 337,14334 -#define ETH_DISABLE_AUTO_NEG_SPEED_GMII 338,14396 -#define ETH_ENABLE_AUTO_NEG_SPEED_GMII 339,14458 -#define ETH_DTE_ADV_0 340,14516 -#define ETH_DTE_ADV_1 341,14574 -#define ETH_DISABLE_AUTO_NEG_BYPASS 342,14636 -#define ETH_ENABLE_AUTO_NEG_BYPASS 343,14694 -#define ETH_AUTO_NEG_NO_CHANGE 344,14756 -#define ETH_RESTART_AUTO_NEG 345,14814 -#define ETH_MAX_RX_PACKET_1518BYTE 346,14876 -#define ETH_MAX_RX_PACKET_1522BYTE 347,14934 -#define ETH_MAX_RX_PACKET_1552BYTE 348,14996 -#define ETH_MAX_RX_PACKET_9022BYTE 349,15058 -#define ETH_MAX_RX_PACKET_9192BYTE 350,15130 -#define ETH_MAX_RX_PACKET_9700BYTE 351,15192 -#define ETH_SET_EXT_LOOPBACK 352,15264 -#define ETH_CLR_EXT_LOOPBACK 353,15326 -#define ETH_SET_FULL_DUPLEX_MODE 354,15384 -#define ETH_SET_HALF_DUPLEX_MODE 355,15446 -#define ETH_ENABLE_FLOW_CTRL_TX_RX_IN_FULL_DUPLEX 356,15504 -#define ETH_DISABLE_FLOW_CTRL_TX_RX_IN_FULL_DUPLEX 357,15566 -#define ETH_SET_GMII_SPEED_TO_10_100 358,15624 -#define ETH_SET_GMII_SPEED_TO_1000 359,15682 -#define ETH_SET_MII_SPEED_TO_10 360,15744 -#define ETH_SET_MII_SPEED_TO_100 361,15802 -#define ETH_SMI_BUSY 365,15880 -#define ETH_SMI_READ_VALID 366,15950 -#define ETH_SMI_OPCODE_WRITE 367,16020 -#define ETH_SMI_OPCODE_READ 368,16086 -#define ETH_ERROR_SUMMARY 373,16239 -#define ETH_BUFFER_OWNED_BY_DMA 376,16325 -#define ETH_LC_ERROR 379,16406 -#define ETH_UR_ERROR 380,16457 -#define ETH_RL_ERROR 381,16509 -#define ETH_LLC_SNAP_FORMAT 382,16561 -#define ETH_CRC_ERROR 385,16642 -#define ETH_OVERRUN_ERROR 386,16693 -#define ETH_MAX_FRAME_LENGTH_ERROR 387,16745 -#define ETH_RESOURCE_ERROR 388,16797 -#define ETH_VLAN_TAGGED 389,16857 -#define ETH_BPDU_FRAME 390,16909 -#define ETH_TCP_FRAME_OVER_IP_V_4 391,16961 -#define ETH_UDP_FRAME_OVER_IP_V_4 392,17013 -#define ETH_OTHER_FRAME_TYPE 393,17065 -#define ETH_LAYER_2_IS_ETH_V_2 394,17117 -#define ETH_FRAME_TYPE_IP_V_4 395,17169 -#define ETH_FRAME_HEADER_OK 396,17221 -#define ETH_RX_LAST_DESC 397,17273 -#define ETH_RX_FIRST_DESC 398,17325 -#define ETH_UNKNOWN_DESTINATION_ADDR 399,17377 -#define ETH_RX_ENABLE_INTERRUPT 400,17429 -#define ETH_LAYER_4_CHECKSUM_OK 401,17481 -#define ETH_FRAME_FRAGMENTED 404,17566 -#define ETH_LAYER_4_CHECKSUM_FIRST_DESC 407,17647 -#define ETH_FRAME_SET_TO_VLAN 408,17696 -#define ETH_TCP_FRAME 409,17748 -#define ETH_UDP_FRAME 410,17799 -#define ETH_GEN_TCP_UDP_CHECKSUM 411,17851 -#define ETH_GEN_IP_V_4_CHECKSUM 412,17903 -#define ETH_ZERO_PADDING 413,17955 -#define ETH_TX_LAST_DESC 414,18007 -#define ETH_TX_FIRST_DESC 415,18059 -#define ETH_GEN_CRC 416,18111 -#define ETH_TX_ENABLE_INTERRUPT 417,18163 -#define ETH_AUTO_MODE 418,18215 -typedef enum _eth_func_ret_status _eth_func_ret_status422,18284 - ETH_OK,423,18320 - ETH_ERROR,424,18378 - ETH_RETRY,425,18438 - ETH_END_OF_JOB,426,18498 - ETH_QUEUE_FULL,427,18563 - ETH_QUEUE_LAST_RESOURCE 428,18628 -} ETH_FUNC_RET_STATUS;ETH_FUNC_RET_STATUS429,18700 -typedef enum _eth_target _eth_target431,18724 - ETH_TARGET_DRAM,432,18751 - ETH_TARGET_DEVICE,433,18769 - ETH_TARGET_CBS,434,18789 - ETH_TARGET_PCI0,435,18806 - ETH_TARGET_PCI1436,18824 -} ETH_TARGET;ETH_TARGET437,18841 -struct eth_rx_desc eth_rx_desc443,18971 -struct eth_tx_desc eth_tx_desc451,19269 -struct eth_rx_desc eth_rx_desc460,19562 -struct eth_tx_desc eth_tx_desc468,19860 -struct pkt_info pkt_info481,20348 -struct mv64340_private mv64340_private492,20733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/smc91x.c,2653 -static const char version[62,2749 -#define SMC_DEBUG 67,2886 -static unsigned int smc_portlist[102,3662 -static unsigned int smc_portlist[] __initdata 102,3662 -# define SMC_IOADDR 108,3851 -static unsigned long io 110,3882 -# define SMC_IRQ 115,4010 -static int irq 117,4038 -# define SMC_NOWAIT 124,4177 -static int nowait 126,4207 -static int watchdog 133,4376 -#define CARDNAME 144,4695 -#define POWER_DOWN 149,4767 -#define MEMORY_WAIT_TIME 156,4945 -#define THROTTLE_TX_PKTS 165,5355 -#define MII_DELAY 171,5543 -struct smc_local smc_local174,5611 -#define DBG(DBG215,6530 -#define PRINTK(PRINTK221,6645 -#define DBG(DBG223,6690 -#define PRINTK(PRINTK224,6732 -static void PRINT_PKT(228,6808 -#define PRINT_PKT(PRINT_PKT256,7256 -#define SMC_ENABLE_INT(SMC_ENABLE_INT261,7369 -#define SMC_DISABLE_INT(SMC_DISABLE_INT269,7602 -#define SMC_WAIT_MMU_BUSY(SMC_WAIT_MMU_BUSY281,7946 -static void smc_reset(299,8380 -static void smc_enable(380,10182 -static void smc_shutdown(404,10752 -static inline void smc_rcv(427,11273 -static void smc_hardware_send_packet(516,13583 -static int smc_hard_start_xmit(575,15183 -static void smc_tx(665,17714 -static void smc_mii_out(722,19288 -static unsigned int smc_mii_in(743,19750 -static int smc_phy_read(767,20273 -static void smc_phy_write(800,21100 -static void smc_detect_phy(829,21879 -static int smc_phy_fixed(866,22794 -static int smc_phy_reset(914,23922 -static void smc_phy_powerdown(942,24457 -static void smc_phy_check_media(961,24967 -static void smc_phy_configure(992,25911 -static void smc_phy_interrupt(1093,28807 -static void smc_10bt_check_media(1116,29299 -static void smc_eph_interrupt(1140,29953 -static irqreturn_t smc_interrupt(1161,30378 -static void smc_timeout(1266,33224 -smc_setmulticast(1326,35197 -static void smc_set_multicast_list(1369,36432 -smc_open(1435,38234 -static int smc_close(1500,39759 -static struct net_device_stats *smc_query_statistics(1522,40173 -smc_ethtool_getsettings(1535,40402 -smc_ethtool_setsettings(1569,41137 -smc_ethtool_getdrvinfo(1598,41787 -static int smc_ethtool_nwayreset(1605,42060 -static u32 smc_ethtool_getmsglevel(1619,42322 -static void smc_ethtool_setmsglevel(1625,42452 -static struct ethtool_ops smc_ethtool_ops 1631,42595 -static int __init smc_findirq(1656,43282 -static int __init smc_probe(1729,45157 -static int smc_enable_device(1941,50943 -static int smc_drv_probe(2009,52624 -static int smc_drv_remove(2089,54244 -static int smc_drv_suspend(2117,54888 -static int smc_drv_resume(2130,55164 -static struct device_driver smc_driver 2154,55771 -static int __init smc_init(2163,55978 -static void __exit smc_cleanup(2177,56209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/seeq8005.h,3866 -#define SEEQ8005_IO_EXTENT 13,259 -#define SEEQ_B 15,290 -#define SEEQ_CMD 17,316 -#define SEEQ_STATUS 18,360 -#define SEEQ_CFG1 19,406 -#define SEEQ_CFG2 20,437 -#define SEEQ_REA 21,468 -#define SEEQ_RPR 22,531 -#define SEEQ_TPR 23,594 -#define SEEQ_DMAAR 24,658 -#define SEEQ_BUFFER 25,719 -#define DEFAULT_TEA 27,783 -#define SEEQCMD_DMA_INT_EN 29,811 -#define SEEQCMD_RX_INT_EN 30,874 -#define SEEQCMD_TX_INT_EN 31,940 -#define SEEQCMD_WINDOW_INT_EN 32,1007 -#define SEEQCMD_INT_MASK 33,1080 -#define SEEQCMD_DMA_INT_ACK 35,1115 -#define SEEQCMD_RX_INT_ACK 36,1166 -#define SEEQCMD_TX_INT_ACK 37,1202 -#define SEEQCMD_WINDOW_INT_ACK 38,1238 -#define SEEQCMD_ACK_ALL 39,1278 -#define SEEQCMD_SET_DMA_ON 41,1313 -#define SEEQCMD_SET_RX_ON 42,1381 -#define SEEQCMD_SET_TX_ON 43,1440 -#define SEEQCMD_SET_DMA_OFF 44,1495 -#define SEEQCMD_SET_RX_OFF 45,1532 -#define SEEQCMD_SET_TX_OFF 46,1568 -#define SEEQCMD_SET_ALL_OFF 47,1604 -#define SEEQCMD_FIFO_READ 49,1666 -#define SEEQCMD_FIFO_WRITE 50,1748 -#define SEEQSTAT_DMA_INT_EN 52,1814 -#define SEEQSTAT_RX_INT_EN 53,1884 -#define SEEQSTAT_TX_INT_EN 54,1920 -#define SEEQSTAT_WINDOW_INT_EN 55,1956 -#define SEEQSTAT_DMA_INT 57,1997 -#define SEEQSTAT_RX_INT 58,2055 -#define SEEQSTAT_TX_INT 59,2089 -#define SEEQSTAT_WINDOW_INT 60,2123 -#define SEEQSTAT_ANY_INT 61,2160 -#define SEEQSTAT_DMA_ON 63,2195 -#define SEEQSTAT_RX_ON 64,2248 -#define SEEQSTAT_TX_ON 65,2300 -#define SEEQSTAT_FIFO_FULL 67,2351 -#define SEEQSTAT_FIFO_EMPTY 68,2387 -#define SEEQSTAT_FIFO_DIR 69,2424 -#define SEEQCFG1_BUFFER_MASK 71,2482 -#define SEEQCFG1_BUFFER_MAC0 72,2568 -#define SEEQCFG1_BUFFER_MAC1 73,2638 -#define SEEQCFG1_BUFFER_MAC2 74,2676 -#define SEEQCFG1_BUFFER_MAC3 75,2714 -#define SEEQCFG1_BUFFER_MAC4 76,2752 -#define SEEQCFG1_BUFFER_MAC5 77,2790 -#define SEEQCFG1_BUFFER_PROM 78,2828 -#define SEEQCFG1_BUFFER_TEA 79,2893 -#define SEEQCFG1_BUFFER_BUFFER 80,2954 -#define SEEQCFG1_BUFFER_INT_VEC 81,3021 -#define SEEQCFG1_DMA_INTVL_MASK 83,3086 -#define SEEQCFG1_DMA_CONT 84,3127 -#define SEEQCFG1_DMA_800ns 85,3162 -#define SEEQCFG1_DMA_1600ns 86,3198 -#define SEEQCFG1_DMA_3200ns 87,3235 -#define SEEQCFG1_DMA_LEN_MASK 89,3273 -#define SEEQCFG1_DMA_LEN1 90,3312 -#define SEEQCFG1_DMA_LEN2 91,3347 -#define SEEQCFG1_DMA_LEN4 92,3382 -#define SEEQCFG1_DMA_LEN8 93,3417 -#define SEEQCFG1_MAC_MASK 95,3453 -#define SEEQCFG1_MAC0_EN 96,3528 -#define SEEQCFG1_MAC1_EN 97,3562 -#define SEEQCFG1_MAC2_EN 98,3596 -#define SEEQCFG1_MAC3_EN 99,3630 -#define SEEQCFG1_MAC4_EN 100,3664 -#define SEEQCFG1_MAC5_EN 101,3698 -#define SEEQCFG1_MATCH_MASK 103,3733 -#define SEEQCFG1_MATCH_SPECIFIC 104,3807 -#define SEEQCFG1_MATCH_BROAD 105,3882 -#define SEEQCFG1_MATCH_MULTI 106,3959 -#define SEEQCFG1_MATCH_ALL 107,4037 -#define SEEQCFG1_DEFAULT 109,4097 -#define SEEQCFG2_BYTE_SWAP 111,4190 -#define SEEQCFG2_AUTO_REA 112,4251 -#define SEEQCFG2_CRC_ERR_EN 114,4359 -#define SEEQCFG2_DRIBBLE_EN 115,4447 -#define SEEQCFG2_SHORT_EN 116,4531 -#define SEEQCFG2_SLOTSEL 118,4608 -#define SEEQCFG2_NO_PREAM 119,4703 -#define SEEQCFG2_ADDR_LEN 120,4781 -#define SEEQCFG2_REC_CRC 121,4841 -#define SEEQCFG2_XMIT_NO_CRC 122,4934 -#define SEEQCFG2_LOOPBACK 123,5029 -#define SEEQCFG2_CTRLO 124,5064 -#define SEEQCFG2_RESET 125,5097 -struct seeq_pkt_hdr seeq_pkt_hdr127,5161 -#define SEEQPKTH_BAB_INT_EN 140,5761 -#define SEEQPKTH_COL_INT_EN 141,5813 -#define SEEQPKTH_COL16_INT_EN 142,5865 -#define SEEQPKTH_XMIT_INT_EN 143,5919 -#define SEEQPKTH_DATA_FOLLOWS 144,5972 -#define SEEQPKTH_CHAIN 145,6040 -#define SEEQPKTH_XMIT 146,6098 -#define SEEQPKTS_BABBLE 148,6129 -#define SEEQPKTS_OVERSIZE 149,6179 -#define SEEQPKTS_COLLISION 150,6230 -#define SEEQPKTS_CRC_ERR 151,6282 -#define SEEQPKTS_COLL16 152,6332 -#define SEEQPKTS_DRIB 153,6382 -#define SEEQPKTS_SHORT 154,6430 -#define SEEQPKTS_DONE 155,6479 -#define SEEQPKTS_ANY_ERROR 156,6511 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sundance.c,9496 -#define DRV_NAME 96,3056 -#define DRV_VERSION 97,3084 -#define DRV_RELDATE 98,3119 -static int debug 103,3247 -static int multicast_filter_limit 106,3462 -static int rx_copybreak;112,3717 -static int flowctrl=113,3742 -#define MAX_UNITS 127,4147 -static char *media[128,4167 -#define TX_RING_SIZE 139,4600 -#define TX_QUEUE_LEN 140,4624 -#define RX_RING_SIZE 141,4705 -#define RX_BUDGET 142,4729 -#define TX_TOTAL_SIZE 143,4750 -#define RX_TOTAL_SIZE 144,4812 -#define TX_TIMEOUT 148,4999 -#define PKT_BUF_SZ 149,5026 -static char version[183,5969 -static char version[] __devinitdata 183,5969 -#define USE_IO_OPS 275,9690 -static struct pci_device_id sundance_pci_tbl[278,9719 - netdev_io_size 290,10111 -struct pci_id_info pci_id_info293,10137 -static struct pci_id_info pci_id_tbl[296,10187 -#define readb 315,10757 -#define readw 316,10775 -#define readl 317,10793 -#define writeb 318,10811 -#define writew 319,10831 -#define writel 320,10851 -enum alta_offsets alta_offsets331,11314 - DMACtrl 332,11334 - DMACtrl = 0x00,332,11334 - TxListPtr 333,11351 - TxListPtr = 0x04,333,11351 - TxDMABurstThresh 334,11370 - TxDMABurstThresh = 0x08,334,11370 - TxDMAUrgentThresh 335,11396 - TxDMAUrgentThresh = 0x09,335,11396 - TxDMAPollPeriod 336,11423 - TxDMAPollPeriod = 0x0a,336,11423 - RxDMAStatus 337,11448 - RxDMAStatus = 0x0c,337,11448 - RxListPtr 338,11469 - RxListPtr = 0x10,338,11469 - DebugCtrl0 339,11488 - DebugCtrl0 = 0x1a,339,11488 - DebugCtrl1 340,11508 - DebugCtrl1 = 0x1c,340,11508 - RxDMABurstThresh 341,11528 - RxDMABurstThresh = 0x14,341,11528 - RxDMAUrgentThresh 342,11554 - RxDMAUrgentThresh = 0x15,342,11554 - RxDMAPollPeriod 343,11581 - RxDMAPollPeriod = 0x16,343,11581 - LEDCtrl 344,11606 - LEDCtrl = 0x1a,344,11606 - ASICCtrl 345,11623 - ASICCtrl = 0x30,345,11623 - EEData 346,11641 - EEData = 0x34,346,11641 - EECtrl 347,11657 - EECtrl = 0x36,347,11657 - TxStartThresh 348,11673 - TxStartThresh = 0x3c,348,11673 - RxEarlyThresh 349,11696 - RxEarlyThresh = 0x3e,349,11696 - FlashAddr 350,11719 - FlashAddr = 0x40,350,11719 - FlashData 351,11738 - FlashData = 0x44,351,11738 - TxStatus 352,11757 - TxStatus = 0x46,352,11757 - TxFrameId 353,11775 - TxFrameId = 0x47,353,11775 - DownCounter 354,11794 - DownCounter = 0x18,354,11794 - IntrClear 355,11815 - IntrClear = 0x4a,355,11815 - IntrEnable 356,11834 - IntrEnable = 0x4c,356,11834 - IntrStatus 357,11854 - IntrStatus = 0x4e,357,11854 - MACCtrl0 358,11874 - MACCtrl0 = 0x50,358,11874 - MACCtrl1 359,11892 - MACCtrl1 = 0x52,359,11892 - StationAddr 360,11910 - StationAddr = 0x54,360,11910 - MaxFrameSize 361,11931 - MaxFrameSize = 0x5A,361,11931 - RxMode 362,11953 - RxMode = 0x5c,362,11953 - MIICtrl 363,11969 - MIICtrl = 0x5e,363,11969 - MulticastFilter0 364,11986 - MulticastFilter0 = 0x60,364,11986 - MulticastFilter1 365,12012 - MulticastFilter1 = 0x64,365,12012 - RxOctetsLow 366,12038 - RxOctetsLow = 0x68,366,12038 - RxOctetsHigh 367,12059 - RxOctetsHigh = 0x6a,367,12059 - TxOctetsLow 368,12081 - TxOctetsLow = 0x6c,368,12081 - TxOctetsHigh 369,12102 - TxOctetsHigh = 0x6e,369,12102 - TxFramesOK 370,12124 - TxFramesOK = 0x70,370,12124 - RxFramesOK 371,12144 - RxFramesOK = 0x72,371,12144 - StatsCarrierError 372,12164 - StatsCarrierError = 0x74,372,12164 - StatsLateColl 373,12191 - StatsLateColl = 0x75,373,12191 - StatsMultiColl 374,12214 - StatsMultiColl = 0x76,374,12214 - StatsOneColl 375,12238 - StatsOneColl = 0x77,375,12238 - StatsTxDefer 376,12260 - StatsTxDefer = 0x78,376,12260 - RxMissed 377,12282 - RxMissed = 0x79,377,12282 - StatsTxXSDefer 378,12300 - StatsTxXSDefer = 0x7a,378,12300 - StatsTxAbort 379,12324 - StatsTxAbort = 0x7b,379,12324 - StatsBcastTx 380,12346 - StatsBcastTx = 0x7c,380,12346 - StatsBcastRx 381,12368 - StatsBcastRx = 0x7d,381,12368 - StatsMcastTx 382,12390 - StatsMcastTx = 0x7e,382,12390 - StatsMcastRx 383,12412 - StatsMcastRx = 0x7f,383,12412 - RxStatus 385,12467 - RxStatus = 0x0c,385,12467 -enum ASICCtrl_HiWord_bit ASICCtrl_HiWord_bit387,12488 - GlobalReset 388,12515 - GlobalReset = 0x0001,388,12515 - RxReset 389,12538 - RxReset = 0x0002,389,12538 - TxReset 390,12557 - TxReset = 0x0004,390,12557 - DMAReset 391,12576 - DMAReset = 0x0008,391,12576 - FIFOReset 392,12596 - FIFOReset = 0x0010,392,12596 - NetworkReset 393,12617 - NetworkReset = 0x0020,393,12617 - HostReset 394,12641 - HostReset = 0x0040,394,12641 - ResetBusy 395,12662 - ResetBusy = 0x0400,395,12662 -enum intr_status_bits intr_status_bits399,12738 - IntrSummary=400,12762 - IntrSummary=0x0001,400,12762 - IntrSummary=0x0001, IntrPCIErr=400,12762 - IntrSummary=0x0001, IntrPCIErr=0x0002,400,12762 - IntrSummary=0x0001, IntrPCIErr=0x0002, IntrMACCtrl=400,12762 - IntrSummary=0x0001, IntrPCIErr=0x0002, IntrMACCtrl=0x0008,400,12762 - IntrTxDone=401,12822 - IntrTxDone=0x0004,401,12822 - IntrTxDone=0x0004, IntrRxDone=401,12822 - IntrTxDone=0x0004, IntrRxDone=0x0010,401,12822 - IntrTxDone=0x0004, IntrRxDone=0x0010, IntrRxStart=401,12822 - IntrTxDone=0x0004, IntrRxDone=0x0010, IntrRxStart=0x0020,401,12822 - IntrDrvRqst=402,12881 - IntrDrvRqst=0x0040,402,12881 - StatsMax=403,12902 - StatsMax=0x0080,403,12902 - StatsMax=0x0080, LinkChange=403,12902 - StatsMax=0x0080, LinkChange=0x0100,403,12902 - IntrTxDMADone=404,12939 - IntrTxDMADone=0x0200,404,12939 - IntrTxDMADone=0x0200, IntrRxDMADone=404,12939 - IntrTxDMADone=0x0200, IntrRxDMADone=0x0400,404,12939 -enum rx_mode_bits rx_mode_bits408,13023 - AcceptAllIPMulti=409,13043 - AcceptAllIPMulti=0x20,409,13043 - AcceptAllIPMulti=0x20, AcceptMultiHash=409,13043 - AcceptAllIPMulti=0x20, AcceptMultiHash=0x10,409,13043 - AcceptAllIPMulti=0x20, AcceptMultiHash=0x10, AcceptAll=409,13043 - AcceptAllIPMulti=0x20, AcceptMultiHash=0x10, AcceptAll=0x08,409,13043 - AcceptBroadcast=410,13105 - AcceptBroadcast=0x04,410,13105 - AcceptBroadcast=0x04, AcceptMulticast=410,13105 - AcceptBroadcast=0x04, AcceptMulticast=0x02,410,13105 - AcceptBroadcast=0x04, AcceptMulticast=0x02, AcceptMyPhys=410,13105 - AcceptBroadcast=0x04, AcceptMulticast=0x02, AcceptMyPhys=0x01,410,13105 -enum mac_ctrl0_bits mac_ctrl0_bits413,13195 - EnbFullDuplex=414,13217 - EnbFullDuplex=0x20,414,13217 - EnbFullDuplex=0x20, EnbRcvLargeFrame=414,13217 - EnbFullDuplex=0x20, EnbRcvLargeFrame=0x40,414,13217 - EnbFlowCtrl=415,13261 - EnbFlowCtrl=0x100,415,13261 - EnbFlowCtrl=0x100, EnbPassRxCRC=415,13261 - EnbFlowCtrl=0x100, EnbPassRxCRC=0x200,415,13261 -enum mac_ctrl1_bits mac_ctrl1_bits417,13304 - StatsEnable=418,13326 - StatsEnable=0x0020,418,13326 - StatsEnable=0x0020, StatsDisable=418,13326 - StatsEnable=0x0020, StatsDisable=0x0040,418,13326 - StatsEnable=0x0020, StatsDisable=0x0040, StatsEnabled=418,13326 - StatsEnable=0x0020, StatsDisable=0x0040, StatsEnabled=0x0080,418,13326 - TxEnable=419,13389 - TxEnable=0x0100,419,13389 - TxEnable=0x0100, TxDisable=419,13389 - TxEnable=0x0100, TxDisable=0x0200,419,13389 - TxEnable=0x0100, TxDisable=0x0200, TxEnabled=419,13389 - TxEnable=0x0100, TxDisable=0x0200, TxEnabled=0x0400,419,13389 - RxEnable=420,13443 - RxEnable=0x0800,420,13443 - RxEnable=0x0800, RxDisable=420,13443 - RxEnable=0x0800, RxDisable=0x1000,420,13443 - RxEnable=0x0800, RxDisable=0x1000, RxEnabled=420,13443 - RxEnable=0x0800, RxDisable=0x1000, RxEnabled=0x2000,420,13443 -struct netdev_desc netdev_desc426,13636 - struct desc_frag desc_frag429,13686 -enum desc_status_bits desc_status_bits433,13772 - DescOwn=434,13796 - DescOwn=0x8000,434,13796 - DescEndPacket=435,13813 - DescEndPacket=0x4000,435,13813 - DescEndRing=436,13836 - DescEndRing=0x2000,436,13836 - LastFrag=437,13857 - LastFrag=0x80000000,437,13857 - DescIntrOnTx=438,13879 - DescIntrOnTx=0x8000,438,13879 - DescIntrOnDMADone=439,13901 - DescIntrOnDMADone=0x80000000,439,13901 - DisableAlign 440,13932 - DisableAlign = 0x00000001,440,13932 -#define PRIV_ALIGN 443,13964 -#define MII_CNT 446,14118 -struct netdev_private netdev_private447,14137 -#define EEPROM_SA_OFFSET 487,15593 -#define DEFAULT_INTR 488,15623 -static int __devinit sundance_probe1 517,17003 -static int change_mtu(732,22948 -#define eeprom_delay(eeprom_delay742,23172 -static int __devinit eeprom_read(744,23286 -#define mdio_delay(mdio_delay764,23914 -enum mii_reg_bits mii_reg_bits766,23953 - MDIO_ShiftClk=767,23973 - MDIO_ShiftClk=0x0001,767,23973 - MDIO_ShiftClk=0x0001, MDIO_Data=767,23973 - MDIO_ShiftClk=0x0001, MDIO_Data=0x0002,767,23973 - MDIO_ShiftClk=0x0001, MDIO_Data=0x0002, MDIO_EnbOutput=767,23973 - MDIO_ShiftClk=0x0001, MDIO_Data=0x0002, MDIO_EnbOutput=0x0004,767,23973 -#define MDIO_EnbIn 769,24040 -#define MDIO_WRITE0 770,24064 -#define MDIO_WRITE1 771,24101 -static void mdio_sync(775,24249 -static int mdio_read(788,24508 -static void mdio_write(818,25354 -static int netdev_open(847,26090 -static void check_duplex(917,28097 -static void netdev_timer(945,28970 -static void tx_timeout(963,29488 -static void init_ring(1016,31187 -static void tx_poll 1058,32413 -start_tx 1086,33248 -reset_tx 1128,34399 -static irqreturn_t intr_handler(1168,35405 -static void rx_poll(1301,39302 -static void refill_rx 1399,42225 -static void netdev_error(1429,43175 -static struct net_device_stats *get_stats(1484,44848 -static void set_rx_mode(1512,45949 -static int __set_mac_addr(1556,47458 -static int netdev_ethtool_ioctl(1570,47853 -static int netdev_ioctl(1650,49876 -static int netdev_close(1696,51256 -static void __devexit sundance_remove1 1773,53436 -static struct pci_driver sundance_driver 1794,53947 -static int __init sundance_init(1801,54118 -static void __exit sundance_exit(1810,54322 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hp-plus.c,1797 -static const char version[21,668 -#define DRV_NAME 40,1121 -static unsigned int hpplus_portlist[43,1209 -static unsigned int hpplus_portlist[] __initdata 43,1209 -#define HP_ID 71,2660 -#define HP_PAGING 72,2715 -#define HPP_OPTION 73,2784 -#define HPP_OUT_ADDR 74,2849 -#define HPP_IN_ADDR 75,2915 -#define HP_DATAPORT 76,2981 -#define NIC_OFFSET 77,3046 -#define HP_IO_EXTENT 78,3108 -#define HP_START_PG 80,3133 -#define HP_STOP_PG 81,3189 -enum PageName PageName84,3291 - Perf_Page 85,3307 - MAC_Page 86,3350 - HW_Page 87,3408 - LAN_Page 88,3466 - ID_Page 89,3527 -enum HP_Option HP_Option92,3599 - NICReset 93,3616 - NICReset = 1, ChipReset 93,3616 - EnableIRQ 94,3681 - EnableIRQ = 4, FakeIntr 94,3681 - EnableIRQ = 4, FakeIntr = 8, BootROMEnb 94,3681 - EnableIRQ = 4, FakeIntr = 8, BootROMEnb = 0x10,94,3681 - EnableIRQ = 4, FakeIntr = 8, BootROMEnb = 0x10, IOEnb 94,3681 - EnableIRQ = 4, FakeIntr = 8, BootROMEnb = 0x10, IOEnb = 0x20,94,3681 - MemEnable 95,3744 - MemEnable = 0x40,95,3744 - MemEnable = 0x40, ZeroWait 95,3744 - MemEnable = 0x40, ZeroWait = 0x80,95,3744 - MemEnable = 0x40, ZeroWait = 0x80, MemDisable 95,3744 - MemEnable = 0x40, ZeroWait = 0x80, MemDisable = 0x1000,95,3744 -static int __init do_hpp_probe(119,4782 -static void cleanup_card(141,5243 -struct net_device * __init hp_plus_probe(148,5412 -static int __init hpp_probe1(175,5887 -hpp_open(281,8788 -hpp_close(310,9562 -hpp_reset_8390(324,9849 -hpp_io_get_8390_hdr(351,10665 -hpp_io_block_input(362,10992 -hpp_mem_get_8390_hdr(376,11398 -hpp_mem_block_input(389,11892 -hpp_io_block_output(409,12595 -hpp_mem_block_output(419,12862 -#define MAX_HPP_CARDS 435,13296 -static struct net_device *dev_hpp[436,13361 -static int io[437,13411 -static int irq[438,13441 -init_module(450,13927 -cleanup_module(482,14667 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sgiseeq.c,2153 -static char *version 35,781 -static char *sgiseeqstr 37,855 -#define SEEQ_RX_BUFFERS 50,1478 -#define SEEQ_TX_BUFFERS 51,1506 -#define PKT_BUF_SZ 53,1535 -#define NEXT_RX(NEXT_RX55,1566 -#define NEXT_TX(NEXT_TX56,1622 -#define PREV_RX(PREV_RX57,1678 -#define PREV_TX(PREV_TX58,1734 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL60,1791 -#define DEBUG64,1946 -struct sgiseeq_rx_desc sgiseeq_rx_desc66,1961 -struct sgiseeq_tx_desc sgiseeq_tx_desc71,2058 -struct sgiseeq_init_block sgiseeq_init_block81,2335 -struct sgiseeq_private sgiseeq_private86,2493 -static struct net_device *root_sgiseeq_dev;112,3062 -static inline void hpc3_eth_reset(114,3107 -static inline void reset_hpc3_and_seeq(121,3269 -#define RSTAT_GO_BITS 128,3442 -static inline void seeq_go(131,3565 -static inline void seeq_load_eaddr(139,3774 -#define TCNTINFO_INIT 149,3982 -#define RCNTCFG_INIT 150,4031 -#define RCNTINFO_INIT 151,4093 -static int seeq_init_ring(153,4160 -static struct sgiseeq_private *gpriv;202,5394 -static struct net_device *gdev;203,5432 -void sgiseeq_dump_rings(205,5465 -#define TSTAT_INIT_SEEQ 244,6729 -#define TSTAT_INIT_EDLC 245,6810 -#define RDMACFG_INIT 246,6870 -static int init_seeq(248,6956 -static inline void record_rx_errors(277,7599 -static inline void rx_maybe_restart(291,7977 -#define for_each_rx(for_each_rx301,8255 -static inline void sgiseeq_rx(305,8410 -static inline void tx_maybe_reset_collisions(356,9849 -static inline void kick_tx(365,10090 -static inline void sgiseeq_tx(383,10722 -static irqreturn_t sgiseeq_interrupt(423,11788 -static int sgiseeq_open(450,12518 -static int sgiseeq_close(476,13000 -static inline int sgiseeq_reset(489,13247 -void sgiseeq_my_reset(505,13532 -static int sgiseeq_start_xmit(511,13608 -static void timeout(568,15470 -static struct net_device_stats *sgiseeq_get_stats(577,15665 -static void sgiseeq_set_multicast(584,15813 -static inline void setup_tx_ring(588,15876 -static inline void setup_rx_ring(600,16111 -#define ALIGNED(ALIGNED613,16369 -static int sgiseeq_init(615,16430 -#define EADDR_NVOFS 639,17026 -static int __init sgiseeq_probe(711,18983 -static void __exit sgiseeq_exit(719,19142 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/typhoon.h,9884 -struct basic_ring basic_ring31,1201 -struct transmit_ring transmit_ring40,1462 -struct typhoon_indexes typhoon_indexes65,2448 -struct typhoon_interface typhoon_interface102,3788 -struct tx_desc tx_desc151,4985 -#define TYPHOON_TYPE_MASK 153,5014 -#define TYPHOON_FRAG_DESC 154,5045 -#define TYPHOON_TX_DESC 155,5077 -#define TYPHOON_CMD_DESC 156,5108 -#define TYPHOON_OPT_DESC 157,5139 -#define TYPHOON_RX_DESC 158,5170 -#define TYPHOON_RESP_DESC 159,5201 -#define TYPHOON_OPT_TYPE_MASK 160,5233 -#define TYPHOON_OPT_IPSEC 161,5268 -#define TYPHOON_OPT_TCP_SEG 162,5300 -#define TYPHOON_CMD_RESPOND 163,5334 -#define TYPHOON_RESP_ERROR 164,5367 -#define TYPHOON_RX_ERROR 165,5399 -#define TYPHOON_DESC_VALID 166,5429 -#define TYPHOON_TX_PF_NO_CRC 172,5528 -#define TYPHOON_TX_PF_IP_CHKSUM 173,5593 -#define TYPHOON_TX_PF_TCP_CHKSUM 174,5661 -#define TYPHOON_TX_PF_TCP_SEGMENT 175,5729 -#define TYPHOON_TX_PF_INSERT_VLAN 176,5798 -#define TYPHOON_TX_PF_IPSEC 177,5867 -#define TYPHOON_TX_PF_VLAN_PRIORITY 178,5931 -#define TYPHOON_TX_PF_UDP_CHKSUM 179,6002 -#define TYPHOON_TX_PF_PAD_FRAME 180,6070 -#define TYPHOON_TX_PF_RESERVED 181,6138 -#define TYPHOON_TX_PF_VLAN_MASK 182,6205 -#define TYPHOON_TX_PF_INTERNAL 183,6273 -#define TYPHOON_TX_PF_VLAN_TAG_SHIFT 184,6340 -struct tcpopt_desc tcpopt_desc197,6804 -#define TYPHOON_TSO_FIRST 201,6867 -#define TYPHOON_TSO_LAST 202,6925 -struct ipsec_desc ipsec_desc216,7279 -#define TYPHOON_IPSEC_GEN_IV 220,7342 -#define TYPHOON_IPSEC_USE_IV 221,7402 -struct rx_desc rx_desc239,8105 -#define TYPHOON_RX_ERR_INTERNAL 246,8202 -#define TYPHOON_RX_ERR_FIFO_UNDERRUN 247,8270 -#define TYPHOON_RX_ERR_BAD_SSD 248,8342 -#define TYPHOON_RX_ERR_RUNT 249,8409 -#define TYPHOON_RX_ERR_CRC 250,8473 -#define TYPHOON_RX_ERR_OVERSIZE 251,8536 -#define TYPHOON_RX_ERR_ALIGN 252,8604 -#define TYPHOON_RX_ERR_DRIBBLE 253,8669 -#define TYPHOON_RX_PROTO_MASK 254,8736 -#define TYPHOON_RX_PROTO_UNKNOWN 255,8802 -#define TYPHOON_RX_PROTO_IP 256,8870 -#define TYPHOON_RX_PROTO_IPX 257,8934 -#define TYPHOON_RX_VLAN 258,8999 -#define TYPHOON_RX_IP_FRAG 259,9060 -#define TYPHOON_RX_IPSEC 260,9123 -#define TYPHOON_RX_IP_CHK_FAIL 261,9184 -#define TYPHOON_RX_TCP_CHK_FAIL 262,9251 -#define TYPHOON_RX_UDP_CHK_FAIL 263,9319 -#define TYPHOON_RX_IP_CHK_GOOD 264,9387 -#define TYPHOON_RX_TCP_CHK_GOOD 265,9454 -#define TYPHOON_RX_UDP_CHK_GOOD 266,9522 -#define TYPHOON_RX_FILTER_MASK 268,9610 -#define TYPHOON_RX_FILTERED 269,9673 -#define TYPHOON_RX_OUTER_AH_GOOD 271,9752 -#define TYPHOON_RX_OUTER_ESP_GOOD 272,9816 -#define TYPHOON_RX_INNER_AH_GOOD 273,9881 -#define TYPHOON_RX_INNER_ESP_GOOD 274,9945 -#define TYPHOON_RX_OUTER_AH_FAIL 275,10010 -#define TYPHOON_RX_OUTER_ESP_FAIL 276,10074 -#define TYPHOON_RX_INNER_AH_FAIL 277,10139 -#define TYPHOON_RX_INNER_ESP_FAIL 278,10203 -#define TYPHOON_RX_UNKNOWN_SA 279,10268 -#define TYPHOON_RX_ESP_FORMAT_ERR 280,10330 -struct rx_free rx_free294,10851 -struct cmd_desc cmd_desc312,11340 -#define TYPHOON_CMD_TX_ENABLE 316,11394 -#define TYPHOON_CMD_TX_DISABLE 317,11456 -#define TYPHOON_CMD_RX_ENABLE 318,11519 -#define TYPHOON_CMD_RX_DISABLE 319,11581 -#define TYPHOON_CMD_SET_RX_FILTER 320,11644 -#define TYPHOON_CMD_READ_STATS 321,11709 -#define TYPHOON_CMD_XCVR_SELECT 322,11772 -#define TYPHOON_CMD_SET_MAX_PKT_SIZE 323,11836 -#define TYPHOON_CMD_READ_MEDIA_STATUS 324,11904 -#define TYPHOON_CMD_GOTO_SLEEP 325,11973 -#define TYPHOON_CMD_SET_MULTICAST_HASH 326,12036 -#define TYPHOON_CMD_SET_MAC_ADDRESS 327,12106 -#define TYPHOON_CMD_READ_MAC_ADDRESS 328,12173 -#define TYPHOON_CMD_VLAN_TYPE_WRITE 329,12241 -#define TYPHOON_CMD_CREATE_SA 330,12308 -#define TYPHOON_CMD_DELETE_SA 331,12370 -#define TYPHOON_CMD_READ_VERSIONS 332,12432 -#define TYPHOON_CMD_IRQ_COALESCE_CTRL 333,12497 -#define TYPHOON_CMD_ENABLE_WAKE_EVENTS 334,12566 -#define TYPHOON_CMD_SET_OFFLOAD_TASKS 335,12636 -#define TYPHOON_CMD_HELLO_RESP 336,12705 -#define TYPHOON_CMD_HALT 337,12768 -#define TYPHOON_CMD_READ_IPSEC_INFO 338,12825 -#define TYPHOON_CMD_GET_IPSEC_ENABLE 339,12892 -#define TYPHOON_CMD_GET_CMD_LVL 340,12960 -struct resp_desc resp_desc349,13176 -#define INIT_COMMAND_NO_RESPONSE(INIT_COMMAND_NO_RESPONSE359,13308 -#define INIT_COMMAND_WITH_RESPONSE(INIT_COMMAND_WITH_RESPONSE367,13616 -#define TYPHOON_RX_FILTER_DIRECTED 378,13979 -#define TYPHOON_RX_FILTER_ALL_MCAST 379,14045 -#define TYPHOON_RX_FILTER_BROADCAST 380,14112 -#define TYPHOON_RX_FILTER_PROMISCOUS 381,14179 -#define TYPHOON_RX_FILTER_MCAST_HASH 382,14247 -struct stats_resp stats_resp386,14362 -#define TYPHOON_LINK_STAT_MASK 414,14870 -#define TYPHOON_LINK_GOOD 415,14937 -#define TYPHOON_LINK_BAD 416,14999 -#define TYPHOON_LINK_SPEED_MASK 417,15060 -#define TYPHOON_LINK_100MBPS 418,15128 -#define TYPHOON_LINK_10MBPS 419,15193 -#define TYPHOON_LINK_DUPLEX_MASK 420,15257 -#define TYPHOON_LINK_FULL_DUPLEX 421,15325 -#define TYPHOON_LINK_HALF_DUPLEX 422,15393 -#define TYPHOON_XCVR_10HALF 429,15574 -#define TYPHOON_XCVR_10FULL 430,15633 -#define TYPHOON_XCVR_100HALF 431,15692 -#define TYPHOON_XCVR_100FULL 432,15752 -#define TYPHOON_XCVR_AUTONEG 433,15812 -#define TYPHOON_MEDIA_STAT_CRC_STRIP_DISABLE 437,15923 -#define TYPHOON_MEDIA_STAT_COLLISION_DETECT 438,15999 -#define TYPHOON_MEDIA_STAT_CARRIER_SENSE 439,16074 -#define TYPHOON_MEDIA_STAT_POLARITY_REV 440,16146 -#define TYPHOON_MEDIA_STAT_NO_LINK 441,16218 -#define TYPHOON_MCAST_HASH_DISABLE 445,16350 -#define TYPHOON_MCAST_HASH_ENABLE 446,16416 -#define TYPHOON_MCAST_HASH_SET 447,16481 -struct sa_descriptor sa_descriptor451,16598 -#define TYPHOON_SA_MODE_NULL 457,16680 -#define TYPHOON_SA_MODE_AH 458,16741 -#define TYPHOON_SA_MODE_ESP 459,16800 -#define TYPHOON_SA_HASH_ENABLE 461,16876 -#define TYPHOON_SA_HASH_SHA1 462,16913 -#define TYPHOON_SA_HASH_MD5 463,16948 -#define TYPHOON_SA_DIR_RX 465,16998 -#define TYPHOON_SA_DIR_TX 466,17030 -#define TYPHOON_SA_ENCRYPT_ENABLE 468,17084 -#define TYPHOON_SA_ENCRYPT_DES 469,17123 -#define TYPHOON_SA_ENCRYPT_3DES 470,17160 -#define TYPHOON_SA_ENCRYPT_3DES_2KEY 471,17198 -#define TYPHOON_SA_ENCRYPT_3DES_3KEY 472,17240 -#define TYPHOON_SA_ENCRYPT_CBC 473,17282 -#define TYPHOON_SA_ENCRYPT_ECB 474,17319 -#define TYPHOON_SA_SPECIFY_INDEX 476,17375 -#define TYPHOON_SA_GENERATE_INDEX 477,17413 -#define TYPHOON_OFFLOAD_TCP_CHKSUM 491,17698 -#define TYPHOON_OFFLOAD_UDP_CHKSUM 492,17768 -#define TYPHOON_OFFLOAD_IP_CHKSUM 493,17838 -#define TYPHOON_OFFLOAD_IPSEC 494,17907 -#define TYPHOON_OFFLOAD_BCAST_THROTTLE 495,17973 -#define TYPHOON_OFFLOAD_DHCP_PREVENT 496,18047 -#define TYPHOON_OFFLOAD_VLAN 497,18119 -#define TYPHOON_OFFLOAD_FILTERING 498,18184 -#define TYPHOON_OFFLOAD_TCP_SEGMENT 499,18253 -#define TYPHOON_WAKE_MAGIC_PKT 503,18380 -#define TYPHOON_WAKE_LINK_EVENT 504,18441 -#define TYPHOON_WAKE_ICMP_ECHO 505,18503 -#define TYPHOON_WAKE_ARP 506,18564 -struct typhoon_file_header typhoon_file_header510,18680 -struct typhoon_section_header typhoon_section_header518,18819 -#define TYPHOON_REG_SOFT_RESET 527,18972 -#define TYPHOON_REG_INTR_STATUS 528,19010 -#define TYPHOON_REG_INTR_ENABLE 529,19049 -#define TYPHOON_REG_INTR_MASK 530,19088 -#define TYPHOON_REG_SELF_INTERRUPT 531,19125 -#define TYPHOON_REG_HOST2ARM7 532,19166 -#define TYPHOON_REG_HOST2ARM6 533,19203 -#define TYPHOON_REG_HOST2ARM5 534,19240 -#define TYPHOON_REG_HOST2ARM4 535,19277 -#define TYPHOON_REG_HOST2ARM3 536,19314 -#define TYPHOON_REG_HOST2ARM2 537,19351 -#define TYPHOON_REG_HOST2ARM1 538,19388 -#define TYPHOON_REG_HOST2ARM0 539,19425 -#define TYPHOON_REG_ARM2HOST3 540,19462 -#define TYPHOON_REG_ARM2HOST2 541,19499 -#define TYPHOON_REG_ARM2HOST1 542,19536 -#define TYPHOON_REG_ARM2HOST0 543,19573 -#define TYPHOON_REG_BOOT_DATA_LO 545,19611 -#define TYPHOON_REG_BOOT_DATA_HI 546,19667 -#define TYPHOON_REG_BOOT_DEST_ADDR 547,19723 -#define TYPHOON_REG_BOOT_CHECKSUM 548,19781 -#define TYPHOON_REG_BOOT_LENGTH 549,19838 -#define TYPHOON_REG_DOWNLOAD_BOOT_ADDR 551,19895 -#define TYPHOON_REG_DOWNLOAD_HMAC_0 552,19957 -#define TYPHOON_REG_DOWNLOAD_HMAC_1 553,20016 -#define TYPHOON_REG_DOWNLOAD_HMAC_2 554,20075 -#define TYPHOON_REG_DOWNLOAD_HMAC_3 555,20134 -#define TYPHOON_REG_DOWNLOAD_HMAC_4 556,20193 -#define TYPHOON_REG_BOOT_RECORD_ADDR_HI 558,20253 -#define TYPHOON_REG_BOOT_RECORD_ADDR_LO 559,20316 -#define TYPHOON_REG_TX_LO_READY 561,20380 -#define TYPHOON_REG_CMD_READY 562,20436 -#define TYPHOON_REG_TX_HI_READY 563,20490 -#define TYPHOON_REG_COMMAND 565,20547 -#define TYPHOON_REG_HEARTBEAT 566,20599 -#define TYPHOON_REG_STATUS 567,20653 -#define TYPHOON_RESET_ALL 571,20754 -#define TYPHOON_RESET_NONE 572,20785 -#define TYPHOON_INTR_HOST_INT 582,21107 -#define TYPHOON_INTR_ARM2HOST0 583,21149 -#define TYPHOON_INTR_ARM2HOST1 584,21192 -#define TYPHOON_INTR_ARM2HOST2 585,21235 -#define TYPHOON_INTR_ARM2HOST3 586,21278 -#define TYPHOON_INTR_DMA0 587,21321 -#define TYPHOON_INTR_DMA1 588,21359 -#define TYPHOON_INTR_DMA2 589,21397 -#define TYPHOON_INTR_DMA3 590,21435 -#define TYPHOON_INTR_MASTER_ABORT 591,21473 -#define TYPHOON_INTR_TARGET_ABORT 592,21518 -#define TYPHOON_INTR_SELF 593,21563 -#define TYPHOON_INTR_RESERVED 594,21601 -#define TYPHOON_INTR_BOOTCMD 596,21644 -#define TYPHOON_INTR_ENABLE_ALL 598,21698 -#define TYPHOON_INTR_ALL 599,21742 -#define TYPHOON_INTR_NONE 600,21779 -#define TYPHOON_BOOTCMD_BOOT 604,21877 -#define TYPHOON_BOOTCMD_WAKEUP 605,21913 -#define TYPHOON_BOOTCMD_DNLD_COMPLETE 606,21951 -#define TYPHOON_BOOTCMD_SEG_AVAILABLE 607,21995 -#define TYPHOON_BOOTCMD_RUNTIME_IMAGE 608,22039 -#define TYPHOON_BOOTCMD_REG_BOOT_RECORD 609,22083 -#define TYPHOON_STATUS_WAITING_FOR_BOOT 613,22176 -#define TYPHOON_STATUS_SECOND_INIT 614,22222 -#define TYPHOON_STATUS_RUNNING 615,22263 -#define TYPHOON_STATUS_WAITING_FOR_HOST 616,22301 -#define TYPHOON_STATUS_WAITING_FOR_SEGMENT 617,22347 -#define TYPHOON_STATUS_SLEEPING 618,22395 -#define TYPHOON_STATUS_HALTED 619,22434 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunbmac.c,1966 -static char version[40,931 -static char version[] __initdata 40,931 -#define DP(DP48,1112 -#define DP(DP50,1142 -#define DTX(DTX54,1180 -#define DTX(DTX56,1211 -#define DIRQ(DIRQ60,1251 -#define DIRQ(DIRQ62,1283 -static struct bigmac *root_bigmac_dev;65,1307 -#define DEFAULT_JAMSIZE 67,1347 -#define QEC_RESET_TRIES 69,1391 -static int qec_global_reset(71,1420 -static void qec_init(89,1764 -#define TX_RESET_TRIES 117,2548 -#define RX_RESET_TRIES 118,2578 -static void bigmac_tx_reset(120,2609 -static void bigmac_rx_reset(140,3083 -static void bigmac_stop(156,3475 -static void bigmac_get_counters(162,3581 -static void bigmac_clean_rings(184,4244 -static void bigmac_init_rings(203,4591 -#define MGMT_CLKON 244,5607 -#define MGMT_CLKOFF 245,5696 -static void idle_transceiver(247,5770 -static void write_tcvr_bit(259,6016 -static int read_tcvr_bit(282,6802 -static int read_tcvr_bit2(305,7585 -static void put_tcvr_byte(327,8363 -static void bigmac_tcvr_write(339,8575 -static unsigned short bigmac_tcvr_read(378,9372 -static void bigmac_tcvr_init(445,10729 -static int try_next_permutation(485,11986 -static void bigmac_timer(518,12833 -static void bigmac_begin_auto_negotiation(574,14342 -static int bigmac_init(613,15491 -static void bigmac_is_medium_rare(709,18389 -static void bigmac_tx(748,19519 -static void bigmac_rx(791,20496 -static irqreturn_t bigmac_interrupt(882,22905 -static int bigmac_open(907,23582 -static int bigmac_close(924,23974 -static void bigmac_tx_timeout(938,24238 -static int bigmac_start_xmit(947,24425 -static struct net_device_stats *bigmac_get_stats(979,25278 -static void bigmac_set_multicast(987,25469 -static void bigmac_get_drvinfo(1044,27042 -static u32 bigmac_get_link(1054,27289 -static struct ethtool_ops bigmac_ethtool_ops 1065,27534 -static int __init bigmac_ether_init(1070,27655 -static int __init bigmac_match(1258,32943 -static int __init bigmac_probe(1274,33196 -static void __exit bigmac_cleanup(1301,33608 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ni65.c,2497 -#define RCV_PARANOIA_CHECK92,3486 -#define MID_PERFORMANCE94,3514 - static int isa0=97,3572 - static int isa0=99,3645 - static int isa0=101,3714 -#define NI65_ID0 107,3807 -#define NI65_ID1 108,3832 -#define NI65_EB_ID0 109,3857 -#define NI65_EB_ID1 110,3882 -#define NE2100_ID0 111,3907 -#define NE2100_ID1 112,3932 -#define PORT 114,3958 -#define RMDNUM 120,4022 -#define RMDNUMMASK 121,4040 -#define RMDNUM 123,4076 -#define RMDNUMMASK 124,4093 -#define TMDNUM 128,4160 -#define TMDNUMMASK 129,4177 -#define TMDNUM 131,4213 -#define TMDNUMMASK 132,4230 -#define R_BUF_SIZE 136,4316 -#define T_BUF_SIZE 137,4340 -#define L_DATAREG 142,4398 -#define L_ADDRREG 143,4421 -#define L_RESET 144,4444 -#define L_CONFIG 145,4467 -#define L_BUSIF 146,4490 -#define CSR0 152,4644 -#define CSR1 153,4663 -#define CSR2 154,4682 -#define CSR3 155,4701 -#define INIT_RING_BEFORE_START 157,4721 -#define FULL_RESET_ON_ERROR 158,4756 -#define writereg(writereg161,4795 -#define readreg(readreg163,4944 -#define writedatareg(writedatareg166,5063 -#define writedatareg(writedatareg168,5143 -#define writereg(writereg171,5207 -#define readreg(readreg172,5286 -#define writedatareg(writedatareg173,5354 -static unsigned char ni_vendor[176,5412 -static struct card card178,5468 -} cards[187,5647 -#define NUM_CARDS 222,6372 -struct privpriv224,6393 -static int irqtab[265,7677 -static int irqtab[] __initdata 265,7677 -static int dmatab[266,7752 -static int dmatab[] __initdata 266,7752 -static int debuglevel 268,7843 -static void ni65_set_performance(273,7940 -static int ni65_open(296,8502 -static int ni65_close(322,9008 -static void cleanup_card(346,9394 -static int irq;356,9674 -static int io;357,9690 -static int dma;358,9705 -struct net_device * __init ni65_probe(363,9768 -static int __init ni65_probe1(409,10648 -static void ni65_init_lance(568,14785 -static void *ni65_alloc_mem(602,15554 -static int ni65_alloc_buffer(640,16489 -static void ni65_free_buffer(692,17479 -static void ni65_stop_start(726,17970 -static int ni65_lance_reinit(796,19632 -static irqreturn_t ni65_interrupt(878,21787 - spin_unlock(&p->ring_lock)981,24084 -static void ni65_xmit_intr(989,24219 -static void ni65_recv_intr(1053,25889 -static void ni65_timeout(1147,28355 -static int ni65_send_packet(1165,28720 -static struct net_device_stats *ni65_get_stats(1226,30236 -static void set_multicast_list(1243,30571 -static struct net_device *dev_ni65;1251,30768 -int init_module(1260,31066 -void cleanup_module(1266,31172 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/lp486e.c,3758 -#define SLOW_DOWN_IO 59,2173 -#define DRV_NAME 78,2589 -#define LOG_SRCDST 81,2640 -#define LOG_STATINT 82,2673 -#define LOG_STARTINT 83,2706 -#define i596_debug 85,2740 -static int i596_debug 87,2766 -static const char * const medianame[89,2794 -#define LP486E_TOTAL_SIZE 94,2884 -#define I596_NULL 96,2914 -#define CMD_EOL 98,2946 -#define CMD_SUSP 99,3012 -#define CMD_INTR 100,3067 -#define CMD_FLEX 102,3125 -enum commands commands104,3185 - CmdNOP 105,3201 - CmdIASetup 106,3214 - CmdConfigure 107,3231 - CmdMulticastList 108,3250 - CmdTx 109,3273 - CmdTDR 110,3285 - CmdDump 111,3298 - CmdDiagnose 112,3312 -char *CUcmdnames[115,3333 -#define STAT_CX 119,3467 -#define STAT_FR 121,3567 -#define STAT_CNA 122,3631 -#define STAT_RNR 123,3690 -#define STAT_ACK 124,3749 -#define STAT_CUS 125,3808 -#define STAT_RUS 127,3905 -#define STAT_T 131,4090 -#define STAT_ZERO 132,4146 -static char *CUstates[135,4196 -static char *RUstates[138,4274 -i596_out_status(144,4423 -#define ACK_CX 182,5145 -#define ACK_FR 183,5168 -#define ACK_CNA 184,5191 -#define ACK_RNR 185,5215 -#define CUC_START 187,5240 -#define CUC_RESUME 188,5265 -#define CUC_SUSPEND 189,5291 -#define CUC_ABORT 190,5318 -#define RX_START 192,5344 -#define RX_RESUME 193,5368 -#define RX_SUSPEND 194,5393 -#define RX_ABORT 195,5419 -typedef u32 phys_addr;phys_addr197,5444 -va_to_pa(200,5492 -pa_to_va(205,5576 -#define CMD_STAT_C 210,5679 -#define CMD_STAT_B 211,5731 -#define CMD_STAT_OK 212,5786 -#define CMD_STAT_A 213,5855 -struct i596_cmd i596_cmd215,5921 -#define EOF 221,6065 -#define SIZE_MASK 222,6085 -struct i596_tbd i596_tbd224,6111 -struct tx_cmd tx_cmd232,6303 -#define RFD_STAT_C 240,6470 -#define RFD_STAT_B 241,6527 -#define RFD_STAT_OK 242,6587 -#define RFD_STATUS 243,6650 -#define RFD_LENGTH_ERR 244,6676 -#define RFD_CRC_ERR 245,6706 -#define RFD_ALIGN_ERR 246,6733 -#define RFD_NOBUFS_ERR 247,6762 -#define RFD_DMA_ERR 248,6792 -#define RFD_SHORT_FRAME_ERR 249,6867 -#define RFD_NOEOP_ERR 250,6902 -#define RFD_TRUNC_ERR 251,6931 -#define RFD_MULTICAST 252,6960 -#define RFD_COLLISION 254,7073 -struct i596_rfd i596_rfd257,7135 -#define RBD_EL 267,7377 -#define RBD_P 268,7400 -#define RBD_SIZEMASK 269,7422 -#define RBD_EOF 270,7450 -#define RBD_F 271,7474 -struct i596_rbd i596_rbd274,7529 -#define RX_RING_SIZE 285,7808 -#define RX_SKBSIZE 286,7832 -#define RX_RBD_SIZE 287,7870 -struct i596_scb i596_scb290,7932 -struct i596_iscp i596_iscp306,8375 -struct i596_scp i596_scp312,8524 -struct i596_dump i596_dump325,8992 -struct i596_private i596_private329,9061 -static char init_setup[357,9816 -i596_timeout(391,11289 -init_rx_bufs(410,11691 -remove_rx_bufs(469,12864 -#define PORT_RESET 490,13214 -#define PORT_SELFTEST 491,13272 -#define PORT_ALTSCP 492,13327 -#define PORT_DUMP 493,13395 -#define IOADDR 495,13447 -#define IRQ 496,13489 -CA(508,13834 -CLEAR_INT(514,13899 -#define SIZE(SIZE518,13940 -i596_port_do(523,14025 -i596_scp_setup(547,14581 -init_i596(623,16400 -i596_rx_one(659,17186 -i596_rx(712,18463 -i596_cleanup_cmd(742,19129 -static void i596_reset(790,20164 -static void i596_add_cmd(813,20622 -static int i596_open(850,21518 -static int i596_start_xmit 872,22021 -i596_tx_timeout 921,23155 -static void print_eth(945,23803 -int __init lp486e_probe(963,24148 -i596_handle_CU_completion(1046,26251 -i596_interrupt 1155,28764 -static int i596_close(1226,30486 -static struct net_device_stats * i596_get_stats(1249,30920 -static void set_multicast_list(1259,31117 -static struct net_device *dev_lp486e;1312,32653 -static int full_duplex;1313,32691 -static int options;1314,32715 -static int io 1315,32735 -static int irq 1316,32759 -static int __init lp486e_init_module(1318,32782 -static void __exit lp486e_cleanup_module(1343,33248 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/de600.c,1240 -static const char version[1,0 -#define DE600_SLOW_DOWN 39,1560 -#define SLOW_IO_BY_JUMPING 46,1762 -#define PRINTK(PRINTK50,1925 -#define DE600_DEBUG 52,1980 -#define PRINTK(PRINTK53,2002 -static unsigned int de600_debug 77,2488 -static unsigned int check_lost 81,2626 -static unsigned int delay_time 85,2764 -static volatile int rx_page;94,2938 -#define TX_PAGES 96,2969 -static volatile int tx_fifo[97,2988 -static volatile int tx_fifo_in;98,3028 -static volatile int tx_fifo_out;99,3061 -static volatile int free_tx_pages 100,3095 -static int was_down;101,3142 -static spinlock_t de600_lock 102,3165 -static inline u8 de600_read_status(104,3218 -static inline u8 de600_read_byte(115,3414 -static int de600_open(134,4070 -static int de600_close(152,4486 -static struct net_device_stats *get_stats(164,4702 -static inline void trigger_interrupt(169,4821 -static int de600_start_xmit(183,5069 -static irqreturn_t de600_interrupt(261,7126 -static int de600_tx_intr(309,8372 -static void de600_rx_intr(343,9181 -static struct net_device * __init de600_probe(401,10693 -static int adapter_init(489,12588 -static struct net_device *de600_dev;541,13910 -static int __init de600_init(543,13948 -static void __exit de600_exit(551,14080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/hp100.h,10436 -#define HP100_PAGE_PERFORMANCE 26,844 -#define HP100_PAGE_MAC_ADDRESS 27,892 -#define HP100_PAGE_HW_MAP 28,940 -#define HP100_PAGE_EEPROM_CTRL 29,983 -#define HP100_PAGE_MAC_CTRL 30,1031 -#define HP100_PAGE_MMU_CFG 31,1076 -#define HP100_PAGE_ID_MAC_ADDR 32,1120 -#define HP100_PAGE_MMU_POINTER 33,1168 -#define HP100_REG_HW_ID 38,1266 -#define HP100_REG_TRACE 39,1336 -#define HP100_REG_PAGING 40,1406 -#define HP100_REG_OPTION_LSW 42,1521 -#define HP100_REG_OPTION_MSW 43,1595 -#define HP100_REG_IRQ_STATUS 47,1700 -#define HP100_REG_IRQ_MASK 48,1774 -#define HP100_REG_FRAGMENT_LEN 49,1846 -#define HP100_REG_OFFSET 52,2081 -#define HP100_REG_DATA32 53,2151 -#define HP100_REG_DATA16 54,2221 -#define HP100_REG_TX_MEM_FREE 55,2291 -#define HP100_REG_TX_PDA_L 56,2366 -#define HP100_REG_TX_PDA_H 57,2442 -#define HP100_REG_RX_PKT_CNT 58,2518 -#define HP100_REG_TX_PKT_CNT 59,2592 -#define HP100_REG_RX_PDL 60,2666 -#define HP100_REG_TX_PDL 61,2742 -#define HP100_REG_RX_PDA 62,2818 -#define HP100_REG_SL_EARLY 64,2936 -#define HP100_REG_STAT_DROPPED 65,3011 -#define HP100_REG_STAT_ERRORED 66,3084 -#define HP100_REG_STAT_ABORT 67,3156 -#define HP100_REG_RX_RING 68,3233 -#define HP100_REG_32_FRAGMENT_LEN 69,3307 -#define HP100_REG_32_OFFSET 70,3386 -#define HP100_REG_MAC_ADDR 74,3501 -#define HP100_REG_HASH_BYTE0 75,3573 -#define HP100_REG_MEM_MAP_LSW 79,3683 -#define HP100_REG_MEM_MAP_MSW 80,3758 -#define HP100_REG_IO_MAP 81,3833 -#define HP100_REG_IRQ_CHANNEL 82,3903 -#define HP100_REG_SRAM 83,3978 -#define HP100_REG_BM 84,4047 -#define HP100_REG_MODECTRL1 87,4150 -#define HP100_REG_MODECTRL2 88,4216 -#define HP100_REG_PCICTRL1 89,4282 -#define HP100_REG_PCICTRL2 90,4343 -#define HP100_REG_PCIBUSMLAT 91,4404 -#define HP100_REG_EARLYTXCFG 92,4478 -#define HP100_REG_EARLYRXCFG 93,4553 -#define HP100_REG_ISAPNPCFG1 94,4627 -#define HP100_REG_ISAPNPCFG2 95,4702 -#define HP100_REG_EEPROM_CTRL 99,4812 -#define HP100_REG_BOOTROM_CTRL 100,4887 -#define HP100_REG_10_LAN_CFG_1 104,4972 -#define HP100_REG_10_LAN_CFG_2 105,5047 -#define HP100_REG_VG_LAN_CFG_1 106,5123 -#define HP100_REG_VG_LAN_CFG_2 107,5198 -#define HP100_REG_MAC_CFG_1 108,5275 -#define HP100_REG_MAC_CFG_2 109,5348 -#define HP100_REG_MAC_CFG_3 110,5421 -#define HP100_REG_MAC_CFG_4 111,5491 -#define HP100_REG_DROPPED 112,5558 -#define HP100_REG_CRC 113,5630 -#define HP100_REG_ABORT 114,5698 -#define HP100_REG_TRAIN_REQUEST 115,5768 -#define HP100_REG_TRAIN_ALLOW 116,5842 -#define HP100_REG_RX_MEM_STOP 120,5938 -#define HP100_REG_TX_MEM_STOP 121,6013 -#define HP100_REG_PDL_MEM_STOP 122,6088 -#define HP100_REG_ECB_MEM_STOP 123,6158 -#define HP100_REG_BOARD_ID 127,6275 -#define HP100_REG_BOARD_IO_CHCK 128,6347 -#define HP100_REG_SOFT_MODEL 129,6424 -#define HP100_REG_LAN_ADDR 130,6498 -#define HP100_REG_LAN_ADDR_CHCK 131,6570 -#define HP100_REG_PTR_RXSTART 135,6687 -#define HP100_REG_PTR_RXEND 136,6762 -#define HP100_REG_PTR_TXSTART 137,6835 -#define HP100_REG_PTR_TXEND 138,6910 -#define HP100_REG_PTR_RPDLSTART 139,6983 -#define HP100_REG_PTR_RPDLEND 140,7020 -#define HP100_REG_PTR_RINGPTRS 141,7057 -#define HP100_REG_PTR_MEMDEBUG 142,7094 -#define HP100_HW_ID_CASCADE 149,7285 -#define HP100_CHIPID_MASK 156,7484 -#define HP100_CHIPID_SHASTA 157,7524 -#define HP100_CHIPID_RAINIER 159,7635 -#define HP100_CHIPID_LASSEN 161,7751 -#define HP100_DEBUG_EN 168,7946 -#define HP100_RX_HDR 169,8016 -#define HP100_MMAP_DIS 171,8130 -#define HP100_EE_EN 175,8316 -#define HP100_BM_WRITE 176,8384 -#define HP100_BM_READ 177,8455 -#define HP100_TRI_INT 178,8525 -#define HP100_MEM_EN 179,8593 -#define HP100_IO_EN 182,8724 -#define HP100_BOOT_EN 183,8781 -#define HP100_FAKE_INT 184,8842 -#define HP100_INT_EN 185,8885 -#define HP100_HW_RST 186,8944 -#define HP100_PRIORITY_TX 193,9125 -#define HP100_EE_LOAD 194,9193 -#define HP100_ADV_NXT_PKT 195,9259 -#define HP100_TX_CMD 197,9373 -#define HP100_RX_EARLY_INT 206,9714 -#define HP100_RX_PDA_ZERO 207,9753 -#define HP100_RX_PDL_FILL_COMPL 208,9792 -#define HP100_RX_PACKET 209,9831 -#define HP100_RX_ERROR 210,9897 -#define HP100_TX_PDA_ZERO 211,9963 -#define HP100_TX_SPACE_AVAIL 212,10038 -#define HP100_TX_COMPLETE 213,10112 -#define HP100_MISC_ERROR 214,10182 -#define HP100_TX_ERROR 215,10262 -#define HP100_AUTO_COMPARE 221,10429 -#define HP100_FREE_SPACE 222,10499 -#define HP100_ZERO_WAIT_EN 228,10623 -#define HP100_IRQ_SCRAMBLE 229,10693 -#define HP100_BOND_HP 230,10730 -#define HP100_LEVEL_IRQ 231,10767 -#define HP100_IRQMASK 233,10874 -#define HP100_RAM_SIZE_MASK 239,10992 -#define HP100_RAM_SIZE_SHIFT 240,11058 -#define HP100_BM_BURST_RD 246,11198 -#define HP100_BM_BURST_WR 248,11312 -#define HP100_BM_MASTER 250,11426 -#define HP100_BM_PAGE_CK 251,11481 -#define HP100_BM_PCI_8CLK 253,11585 -#define HP100_TX_DUALQ 260,11731 -#define HP100_ISR_CLRMODE 262,11813 -#define HP100_EE_NOLOAD 264,11938 -#define HP100_TX_CNT_FLG 266,12048 -#define HP100_PDL_USE3 267,12123 -#define HP100_BUSTYPE_MASK 270,12288 -#define HP100_EE_MASK 276,12431 -#define HP100_DIS_CANCEL 278,12541 -#define HP100_EN_PDL_WB 279,12612 -#define HP100_EN_BUS_FAIL 281,12734 -#define HP100_LO_MEM 288,12930 -#define HP100_NO_MEM 289,13007 -#define HP100_USE_ISA 291,13106 -#define HP100_IRQ_HI_MASK 293,13229 -#define HP100_PCI_IRQ_HI_MASK 294,13290 -#define HP100_RD_LINE_PDL 300,13454 -#define HP100_RD_TX_DATA_MASK 301,13532 -#define HP100_MWI 302,13606 -#define HP100_ARB_MODE 303,13684 -#define HP100_STOP_EN 304,13751 -#define HP100_IGNORE_PAR 306,13876 -#define HP100_PCI_RESET 307,13955 -#define HP100_EN_EARLY_TX 313,14117 -#define HP100_EN_ADAPTIVE 314,14180 -#define HP100_EN_TX_UR_IRQ 315,14248 -#define HP100_EN_LOW_TX 316,14313 -#define HP100_ET_CNT_MASK 317,14378 -#define HP100_EN_EARLY_RX 323,14544 -#define HP100_EN_LOW_RX 324,14605 -#define HP100_RX_TRIP_MASK 325,14668 -#define HP100_EEPROM_LOAD 334,14942 -#define HP100_MAC10_SEL 342,15209 -#define HP100_AUI_SEL 343,15270 -#define HP100_LOW_TH 344,15328 -#define HP100_LINK_BEAT_DIS 345,15394 -#define HP100_LINK_BEAT_ST 346,15463 -#define HP100_R_ROL_ST 347,15532 -#define HP100_AUI_ST 349,15636 -#define HP100_SQU_ST 355,15805 -#define HP100_FULLDUP 357,15917 -#define HP100_DOT3_MAC 358,15993 -#define HP100_AUTO_SEL_10 363,16119 -#define HP100_XCVR_LXT901_10 364,16167 -#define HP100_XCVR_7213 365,16233 -#define HP100_XCVR_82503 366,16285 -#define HP100_FRAME_FORMAT 372,16442 -#define HP100_BRIDGE 373,16504 -#define HP100_PROM_MODE 374,16572 -#define HP100_REPEATER 376,16668 -#define HP100_VG_SEL 383,16882 -#define HP100_LINK_UP_ST 384,16951 -#define HP100_LINK_CABLE_ST 385,17017 -#define HP100_LOAD_ADDR 387,17118 -#define HP100_LINK_CMD 390,17249 -#define HP100_TRN_DONE 393,17383 -#define HP100_LINK_GOOD_ST 396,17545 -#define HP100_VG_RESET 397,17617 -#define HP100_RX_IDLE 404,17769 -#define HP100_TX_IDLE 405,17840 -#define HP100_RX_EN 406,17907 -#define HP100_TX_EN 407,17966 -#define HP100_ACC_ERRORED 408,18028 -#define HP100_ACC_MC 409,18102 -#define HP100_ACC_BC 410,18174 -#define HP100_ACC_PHY 411,18246 -#define HP100_MAC1MODEMASK 412,18319 -#define HP100_MAC1MODE1 413,18371 -#define HP100_MAC1MODE2 414,18445 -#define HP100_MAC1MODE3 415,18475 -#define HP100_MAC1MODE4 416,18531 -#define HP100_MAC1MODE5 417,18587 -#define HP100_MAC1MODE6 418,18663 -#define HP100_MAC1MODE7 422,18932 -#define HP100_TR_MODE 428,19079 -#define HP100_TX_SAME 429,19152 -#define HP100_LBK_XCVR 430,19224 -#define HP100_LBK_MAC 432,19319 -#define HP100_CRC_I 433,19386 -#define HP100_ACCNA 434,19456 -#define HP100_KEEP_CRC 436,19575 -#define HP100_ACCFA 438,19689 -#define HP100_MAC2MODEMASK 440,19810 -#define HP100_MAC2MODE1 441,19842 -#define HP100_MAC2MODE2 442,19872 -#define HP100_MAC2MODE3 443,19902 -#define HP100_MAC2MODE4 444,19932 -#define HP100_MAC2MODE5 445,19962 -#define HP100_MAC2MODE6 446,19992 -#define HP100_MAC2MODE7 447,20022 -#define HP100_PACKET_PACE 453,20143 -#define HP100_LRF_EN 459,20325 -#define HP100_AUTO_MODE 461,20436 -#define HP100_MAC_SEL_ST 467,20593 -#define HP100_LINK_FAIL_ST 469,20705 -#define HP100_MACRQ_REPEATER 476,20956 -#define HP100_MACRQ_PROMSC 479,21105 -#define HP100_MACRQ_FRAMEFMT_EITHER 485,21347 -#define HP100_MACRQ_FRAMEFMT_802_3 486,21423 -#define HP100_MACRQ_FRAMEFMT_802_5 487,21496 -#define HP100_CARD_MACVER 488,21576 -#define HP100_MALLOW_REPEATER 489,21659 -#define HP100_MALLOW_PROMSC 491,21771 -#define HP100_MALLOW_FRAMEFMT 497,22013 -#define HP100_MALLOW_ACCDENIED 500,22162 -#define HP100_MALLOW_CONFIGURE 501,22218 -#define HP100_MALLOW_DUPADDR 502,22274 -#define HP100_HUB_MACVER 503,22330 -#define HP100_SET_HB 511,22567 -#define HP100_SET_LB 512,22636 -#define HP100_RESET_HB 513,22710 -#define HP100_RESET_LB 514,22783 -#define HP100_LAN_100 519,22884 -#define HP100_LAN_10 520,22939 -#define HP100_LAN_COAX 521,22997 -#define HP100_LAN_ERR 522,23053 -#define MAX_RX_PDL 528,23204 -#define MAX_RX_FRAG 529,23261 -#define MAX_TX_PDL 530,23320 -#define MAX_TX_FRAG 531,23355 -#define MAX_RINGSIZE 535,23536 -#define MIN_ETHER_SIZE 538,23653 -#define MAX_ETHER_SIZE 539,23688 -typedef struct hp100_ring hp100_ring543,23826 -} hp100_ring_t;hp100_ring_t549,24043 -#define HP100_PKT_LEN_MASK 554,24095 -#define HP100_RX_PRI 559,24302 -#define HP100_SDF_ERR 560,24368 -#define HP100_SKEW_ERR 561,24437 -#define HP100_BAD_SYMBOL_ERR 562,24504 -#define HP100_RCV_IPM_ERR 563,24582 -#define HP100_SYMBOL_BAL_ERR 565,24679 -#define HP100_VG_ALN_ERR 566,24754 -#define HP100_TRUNC_ERR 567,24823 -#define HP100_RUNT_ERR 568,24898 -#define HP100_ALN_ERR 570,24993 -#define HP100_CRC_ERR 571,25054 -#define HP100_MULTI_ADDR_HASH 575,25185 -#define HP100_BROADCAST_ADDR 576,25262 -#define HP100_MULTI_ADDR_NO_HASH 577,25324 -#define HP100_PHYS_ADDR_MATCH 578,25409 -#define HP100_PHYS_ADDR_NO_MATCH 579,25484 -#define hp100_inb(hp100_inb585,25586 -#define hp100_inw(hp100_inw587,25653 -#define hp100_inl(hp100_inl589,25713 -#define hp100_outb(hp100_outb591,25773 -#define hp100_outw(hp100_outw593,25847 -#define hp100_outl(hp100_outl595,25921 -#define hp100_orb(hp100_orb597,25995 -#define hp100_orw(hp100_orw599,26104 -#define hp100_andb(hp100_andb601,26213 -#define hp100_andw(hp100_andw603,26323 -#define hp100_page(hp100_page606,26434 -#define hp100_ints_off(hp100_ints_off608,26517 -#define hp100_ints_on(hp100_ints_on610,26614 -#define hp100_mem_map_enable(hp100_mem_map_enable612,26708 -#define hp100_mem_map_disable(hp100_mem_map_disable614,26813 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ewrk3.h,5635 -#define EWRK3_CSR 18,494 -#define EWRK3_CR 19,563 -#define EWRK3_ICR 20,621 -#define EWRK3_TSR 21,689 -#define EWRK3_RSVD1 22,755 -#define EWRK3_RSVD2 23,805 -#define EWRK3_FMQ 24,855 -#define EWRK3_FMQC 25,914 -#define EWRK3_RQ 26,981 -#define EWRK3_RQC 27,1036 -#define EWRK3_TQ 28,1099 -#define EWRK3_TQC 29,1155 -#define EWRK3_TDQ 30,1219 -#define EWRK3_TDQC 31,1280 -#define EWRK3_PIR1 32,1349 -#define EWRK3_PIR2 33,1412 -#define EWRK3_DATA 34,1475 -#define EWRK3_IOPR 35,1530 -#define EWRK3_IOBR 36,1589 -#define EWRK3_MPR 37,1648 -#define EWRK3_MBR 38,1710 -#define EWRK3_APROM 39,1772 -#define EWRK3_EPROM1 40,1826 -#define EWRK3_EPROM2 41,1890 -#define EWRK3_PAR0 42,1954 -#define EWRK3_PAR1 43,2023 -#define EWRK3_PAR2 44,2092 -#define EWRK3_PAR3 45,2161 -#define EWRK3_PAR4 46,2230 -#define EWRK3_PAR5 47,2299 -#define EWRK3_CMR 48,2368 -#define PAGE0_FMQ 53,2470 -#define PAGE0_RQ 54,2530 -#define PAGE0_TQ 55,2586 -#define PAGE0_TDQ 56,2643 -#define PAGE0_HTE 57,2705 -#define PAGE0_RSVD 58,2766 -#define PAGE0_USRD 59,2817 -#define CSR_RA 64,2935 -#define CSR_PME 65,2978 -#define CSR_MCE 66,3034 -#define CSR_TNE 67,3084 -#define CSR_RNE 68,3140 -#define CSR_TXD 69,3191 -#define CSR_RXD 70,3234 -#define CR_APD 75,3331 -#define CR_PSEL 76,3376 -#define CR_LBCK 77,3429 -#define CR_FDUP 78,3473 -#define CR_FBUS 79,3520 -#define CR_EN_16 80,3584 -#define CR_LED 81,3642 -#define ICR_IE 86,3752 -#define ICR_IS 87,3796 -#define ICR_TNEM 88,3842 -#define ICR_RNEM 89,3889 -#define ICR_TXDM 90,3936 -#define ICR_RXDM 91,3983 -#define TSR_NCL 96,4093 -#define TSR_ID 97,4141 -#define TSR_LCL 98,4187 -#define TSR_ECL 99,4230 -#define TSR_RCNTR 100,4279 -#define EEPROM_INIT 105,4381 -#define EEPROM_WR_EN 106,4432 -#define EEPROM_WR 107,4492 -#define EEPROM_WR_DIS 108,4542 -#define EEPROM_RD 109,4604 -#define EISA_REGS_EN 114,4710 -#define EISA_IOB 115,4779 -#define CMR_RA 120,4924 -#define CMR_WB 121,4973 -#define CMR_LINK 122,5024 -#define CMR_POLARITY 123,5065 -#define CMR_NO_EEPROM 124,5114 -#define CMR_HS 125,5173 -#define CMR_PNP 126,5242 -#define CMR_DRAM 127,5293 -#define CMR_0WS 128,5359 -#define R_ROK 134,5469 -#define R_IAM 135,5519 -#define R_MCM 136,5575 -#define R_DBE 137,5622 -#define R_CRC 138,5671 -#define R_PLL 139,5712 -#define TCR_SQEE 145,5817 -#define TCR_SED 146,5883 -#define TCR_QMODE 147,5941 -#define TCR_LAB 148,5983 -#define TCR_PAD 149,6043 -#define TCR_IFC 150,6093 -#define TCR_ISA 151,6145 -#define T_VSTS 157,6257 -#define T_CTU 158,6301 -#define T_SQE 159,6349 -#define T_NCL 160,6401 -#define T_LCL 161,6452 -#define T_ID 162,6503 -#define T_COLL 163,6553 -#define T_XCOLL 164,6602 -#define T_MCOLL 165,6661 -#define T_OCOLL 166,6719 -#define T_NOCOLL 167,6771 -#define T_XUR 168,6823 -#define T_TXE 169,6881 -#define EISA_ID 175,6986 -#define EISA_ID0 176,7050 -#define EISA_ID1 177,7115 -#define EISA_ID2 178,7180 -#define EISA_ID3 179,7245 -#define EISA_CR 180,7310 -#define EEPROM_MEMB 185,7400 -#define EEPROM_IOB 186,7429 -#define EEPROM_EISA_ID0 187,7458 -#define EEPROM_EISA_ID1 188,7487 -#define EEPROM_EISA_ID2 189,7516 -#define EEPROM_EISA_ID3 190,7545 -#define EEPROM_MISC0 191,7574 -#define EEPROM_MISC1 192,7603 -#define EEPROM_PNAME7 193,7632 -#define EEPROM_PNAME6 194,7661 -#define EEPROM_PNAME5 195,7690 -#define EEPROM_PNAME4 196,7719 -#define EEPROM_PNAME3 197,7748 -#define EEPROM_PNAME2 198,7777 -#define EEPROM_PNAME1 199,7806 -#define EEPROM_PNAME0 200,7835 -#define EEPROM_SWFLAGS 201,7864 -#define EEPROM_HWCAT 202,7893 -#define EEPROM_NETMAN2 203,7922 -#define EEPROM_REVLVL 204,7951 -#define EEPROM_NETMAN0 205,7980 -#define EEPROM_NETMAN1 206,8009 -#define EEPROM_CHIPVER 207,8038 -#define EEPROM_SETUP 208,8067 -#define EEPROM_PADDR0 209,8096 -#define EEPROM_PADDR1 210,8125 -#define EEPROM_PADDR2 211,8154 -#define EEPROM_PADDR3 212,8183 -#define EEPROM_PADDR4 213,8212 -#define EEPROM_PADDR5 214,8241 -#define EEPROM_PA_CRC 215,8270 -#define EEPROM_CHKSUM 216,8299 -#define EEPROM_MAX 221,8368 -#define RBE_SHADOW 226,8456 -#define READ_AHEAD 227,8515 -#define IRQ_SEL2 228,8572 -#define IRQ_SEL 229,8638 -#define FAST_BUS 230,8695 -#define ENA_16 231,8758 -#define WRITE_BEHIND 232,8828 -#define _0WS_ENA 233,8887 -#define NETMAN_POL 238,8990 -#define NETMAN_LINK 239,9044 -#define NETMAN_CCE 240,9094 -#define SW_SQE 245,9181 -#define SW_LAB 246,9230 -#define SW_INIT 247,9281 -#define SW_TIMEOUT 248,9321 -#define SW_REMOTE 249,9379 -#define SETUP_APD 254,9470 -#define SETUP_PS 255,9516 -#define SETUP_MP 256,9556 -#define SETUP_1TP 257,9594 -#define SETUP_1COAX 258,9634 -#define SETUP_DRAM 259,9678 -#define MGMT_CCE 264,9767 -#define LeMAC 269,9844 -#define LeMAC2 270,9873 -#define EEPROM_WAIT_TIME 276,9927 -#define EISA_EN 277,9989 -#define HASH_TABLE_LEN 279,10053 -#define XCT 281,10098 -#define PRELOAD 282,10158 -#define MASK_INTERRUPTS 284,10211 -#define UNMASK_INTERRUPTS 285,10239 -#define EEPROM_OFFSET(EEPROM_OFFSET287,10268 -#define EWRK3IOCTL 294,10380 -struct ewrk3_ioctl ewrk3_ioctl296,10415 -#define EWRK3_GET_HWADDR 305,10680 -#define EWRK3_SET_HWADDR 306,10741 -#define EWRK3_SET_PROM 307,10802 -#define EWRK3_CLR_PROM 308,10859 -#define EWRK3_SAY_BOO 309,10918 -#define EWRK3_GET_MCA 310,10993 -#define EWRK3_SET_MCA 311,11053 -#define EWRK3_CLR_MCA 312,11113 -#define EWRK3_MCA_EN 313,11176 -#define EWRK3_GET_STATS 314,11245 -#define EWRK3_CLR_STATS 315,11308 -#define EWRK3_GET_CSR 316,11375 -#define EWRK3_SET_CSR 317,11441 -#define EWRK3_GET_EEPROM 318,11507 -#define EWRK3_SET_EEPROM 319,11570 -#define EWRK3_GET_CMR 320,11630 -#define EWRK3_CLR_TX_CUT_THRU 321,11696 -#define EWRK3_SET_TX_CUT_THRU 322,11769 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ewrk3.c,2407 -#define DRV_NAME 172,7355 -#define DRV_VERSION 173,7380 -static char version[175,7408 -static char version[] __initdata 175,7408 -static int ewrk3_debug 179,7533 -static int ewrk3_debug 181,7577 -#define EWRK3_NDA 184,7613 -#define PROBE_LENGTH 186,7663 -#define ETH_PROM_SIG 187,7690 -#define EWRK3_SIGNATURE 190,7752 -#define EWRK3_STRLEN 191,7805 -#define EWRK3_RAM_BASE_ADDRESSES 195,7869 -#define EWRK3_IO_BASE 201,7989 -#define EWRK3_IOP_INC 202,8054 -#define EWRK3_TOTAL_SIZE 203,8109 -#define MAX_NUM_EWRK3S 207,8272 -#define EWRK3_EISA_IO_PORTS 211,8334 -#define MAX_EISA_SLOTS 215,8436 -#define EISA_SLOT_INC 216,8462 -#define QUEUE_PKT_TIMEOUT 219,8499 -#define IO_ONLY 224,8600 -#define SHMEM_2K 225,8629 -#define SHMEM_32K 226,8659 -#define SHMEM_64K 227,8690 -#define ENABLE_IRQs 232,8768 -#define DISABLE_IRQs 237,8886 -#define START_EWRK3 246,9069 -#define STOP_EWRK3 252,9226 -#define EWRK3_PKT_STAT_SZ 260,9404 -#define EWRK3_PKT_BIN_SZ 261,9433 -struct ewrk3_stats ewrk3_stats264,9531 -struct ewrk3_private ewrk3_private274,9704 -#define FORCE_2K_MODE 293,10433 -static u_char irq[331,11928 -static char name[333,11997 -static int num_ewrks3s;334,12033 -#define INIT_EWRK3 339,12096 -struct net_device * __init ewrk3_probe(345,12188 -static int __init ewrk3_probe1(370,12622 -ewrk3_hw_init(393,13019 -static int ewrk3_open(622,19115 -static void ewrk3_init(685,20839 -static void ewrk3_timeout(726,21724 -static int ewrk3_queue_pkt 762,22364 -static irqreturn_t ewrk3_interrupt(879,25621 -static int ewrk3_rx(932,27068 -static int ewrk3_tx(1060,30906 -static int ewrk3_close(1096,31795 -static struct net_device_stats *ewrk3_get_stats(1131,32639 -static void set_multicast_list(1142,32923 -static void SetMulticastFilter(1175,33776 -static int __init isa_probe(1253,35818 -static int __init eisa_probe(1294,36663 -static int Read_EEPROM(1335,37530 -static int Write_EEPROM(1350,37894 -static void __init EthwrkSignature(1372,38564 -static int __init DevicePresent(1402,39523 -static u_char __init get_hw_addr(1439,40182 -static int __init EISA_signature(1490,41408 -static int ewrk3_ethtool_ioctl(1523,42202 -static int ewrk3_ioctl(1709,46679 - union ewrk3_addr ewrk3_addr1717,46975 -static struct net_device *ewrk3_devs[1963,53045 -static int ndevs;1964,53099 -static int io[1965,53117 -static __exit void ewrk3_exit_module(1973,53384 -static __init int ewrk3_init_module(1985,53624 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/a2065.c,1430 -#define LANCE_LOG_TX_BUFFERS 68,1918 -#define LANCE_LOG_RX_BUFFERS 69,1951 -#define TX_RING_SIZE 71,1985 -#define RX_RING_SIZE 72,2033 -#define TX_RING_MOD_MASK 74,2082 -#define RX_RING_MOD_MASK 75,2124 -#define PKT_BUF_SIZE 77,2167 -#define RX_BUFF_SIZE 78,2196 -#define TX_BUFF_SIZE 79,2241 -struct lance_init_block lance_init_block87,2337 -struct lance_private lance_private111,3112 -#define TX_BUFFS_AVAIL 135,3830 -#define LANCE_ADDR(LANCE_ADDR140,3961 -static void load_csrs 143,4038 -#define ZERO 162,4431 -static void lance_init_ring 165,4485 -static int init_restart_lance 243,6781 -static int lance_rx 267,7366 -static int lance_tx 345,9564 -lance_interrupt 430,11658 -struct net_device *last_dev 484,12992 -static int lance_open 486,13026 -static int lance_close 511,13507 -static inline int lance_reset 527,13822 -static void lance_tx_timeout(550,14279 -static int lance_start_xmit 561,14563 -static struct net_device_stats *lance_get_stats 630,16036 -static void lance_load_multicast 638,16215 -static void lance_set_multicast 674,16997 -static struct zorro_device_id a2065_zorro_tbl[711,17814 -static struct zorro_device_id a2065_zorro_tbl[] __devinitdata 711,17814 -static struct zorro_driver a2065_driver 718,17982 -static int __devinit a2065_init_one(725,18149 -static void __devexit a2065_remove_one(819,20751 -static int __init a2065_init_module(830,21056 -static void __exit a2065_cleanup_module(835,21145 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ni5010.c,1238 -static const char *boardname 72,2112 -static char *version 73,2153 -static unsigned int bufsize_rcv;77,2287 -#define jumpered_interrupts 79,2321 -static unsigned int ports[85,2556 -static unsigned int ports[] __initdata 85,2556 -#define NI5010_DEBUG 91,2737 -struct ni5010_local ni5010_local95,2824 -#define tx_done(tx_done115,3633 -static int io;121,3915 -static int irq;122,3930 -struct net_device * __init ni5010_probe(124,3947 -static inline int rd_port(175,4985 -static void __init trigger_irq(181,5067 -static int __init ni5010_probe1(206,6060 -static int ni5010_open(377,11132 -static void reset_receiver(433,12987 -static void ni5010_timeout(445,13409 -static int ni5010_send_packet(456,13743 -static irqreturn_t ni5010_interrupt(477,14251 -static void dump_packet(511,15131 -static void ni5010_rx(528,15515 -static int process_xmt_interrupt(593,17360 -static int ni5010_close(631,18441 -static struct net_device_stats *ni5010_get_stats(652,18930 -static void ni5010_set_multicast_list(674,19625 -static void hardware_send_packet(694,20365 -static void chipset_init(747,21964 -static void ni5010_show_registers(753,22138 -static struct net_device *dev_ni5010;767,22756 -int init_module(774,22934 -void cleanup_module(795,23539 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c509.c,4834 -#define DRV_NAME 60,2436 -#define DRV_VERSION 61,2461 -#define DRV_RELDATE 62,2489 -#define TX_TIMEOUT 67,2628 -static int max_interrupt_work 69,2731 -static char versionA[99,3419 -static char versionA[] __initdata 99,3419 -static char versionB[100,3521 -static char versionB[] __initdata 100,3521 -static int el3_debug 103,3620 -static int el3_debug 105,3660 -static int el3_cards 111,3844 -#define EL3_DATA 117,4101 -#define EL3_CMD 118,4123 -#define EL3_STATUS 119,4144 -#define EEPROM_READ 120,4168 -#define EL3_IO_EXTENT 122,4195 -#define EL3WINDOW(EL3WINDOW124,4221 -enum c509cmd c509cmd129,4412 - TotalReset 130,4427 - TotalReset = 0<<11, SelectWindow 130,4427 - TotalReset = 0<<11, SelectWindow = 1<<11, StartCoax 130,4427 - RxDisable 131,4489 - RxDisable = 3<<11, RxEnable 131,4489 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset 131,4489 - RxDisable = 3<<11, RxEnable = 4<<11, RxReset = 5<<11, RxDiscard 131,4489 - TxEnable 132,4563 - TxEnable = 9<<11, TxDisable 132,4563 - TxEnable = 9<<11, TxDisable = 10<<11, TxReset 132,4563 - FakeIntr 133,4620 - FakeIntr = 12<<11, AckIntr 133,4620 - FakeIntr = 12<<11, AckIntr = 13<<11, SetIntrEnb 133,4620 - SetStatusEnb 134,4679 - SetStatusEnb = 15<<11, SetRxFilter 134,4679 - SetStatusEnb = 15<<11, SetRxFilter = 16<<11, SetRxThreshold 134,4679 - SetTxThreshold 135,4750 - SetTxThreshold = 18<<11, SetTxStart 135,4750 - SetTxThreshold = 18<<11, SetTxStart = 19<<11, StatsEnable 135,4750 - StatsDisable 136,4819 - StatsDisable = 22<<11, StopCoax 136,4819 - StatsDisable = 22<<11, StopCoax = 23<<11, PowerUp 136,4819 - PowerDown 137,4880 - PowerDown = 28<<11, PowerAuto 137,4880 -enum c509status c509status139,4923 - IntLatch 140,4941 - IntLatch = 0x0001,140,4941 - IntLatch = 0x0001, AdapterFailure 140,4941 - IntLatch = 0x0001, AdapterFailure = 0x0002,140,4941 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete 140,4941 - IntLatch = 0x0001, AdapterFailure = 0x0002, TxComplete = 0x0004,140,4941 - TxAvailable 141,5007 - TxAvailable = 0x0008,141,5007 - TxAvailable = 0x0008, RxComplete 141,5007 - TxAvailable = 0x0008, RxComplete = 0x0010,141,5007 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly 141,5007 - TxAvailable = 0x0008, RxComplete = 0x0010, RxEarly = 0x0020,141,5007 - IntReq 142,5069 - IntReq = 0x0040,142,5069 - IntReq = 0x0040, StatsFull 142,5069 - IntReq = 0x0040, StatsFull = 0x0080,142,5069 - IntReq = 0x0040, StatsFull = 0x0080, CmdBusy 142,5069 - IntReq = 0x0040, StatsFull = 0x0080, CmdBusy = 0x1000,142,5069 -enum RxFilter RxFilter145,5190 - RxStation 146,5206 - RxStation = 1, RxMulticast 146,5206 - RxStation = 1, RxMulticast = 2, RxBroadcast 146,5206 - RxStation = 1, RxMulticast = 2, RxBroadcast = 4, RxProm 146,5206 -#define TX_FIFO 149,5341 -#define RX_FIFO 150,5363 -#define RX_STATUS 151,5385 -#define TX_STATUS 152,5409 -#define TX_FREE 153,5433 -#define WN0_CONF_CTRL 155,5498 -#define WN0_ADDR_CONF 156,5573 -#define WN0_IRQ 157,5648 -#define WN4_MEDIA 158,5715 -#define MEDIA_TP 159,5784 -#define WN4_NETDIAG 160,5856 -#define FD_ENABLE 161,5913 -#define SKB_QUEUE_SIZE 167,6069 -struct el3_private el3_private169,6096 - EL3_MCA,180,6331 - EL3_PNP,181,6342 - EL3_EISA,182,6353 -static int id_port __initdata 186,6424 -static struct net_device *el3_root_dev;187,6511 -struct eisa_device_id el3_eisa_ids[214,7696 -struct eisa_driver el3_eisa_driver 222,7836 -static short el3_mca_adapter_ids[235,8101 -static short el3_mca_adapter_ids[] __initdata 235,8101 -static char *el3_mca_adapter_names[244,8214 -static char *el3_mca_adapter_names[] __initdata 244,8214 -static struct mca_driver el3_mca_driver 253,8477 -static struct isapnp_device_id el3_isapnp_adapters[265,8748 -static struct isapnp_device_id el3_isapnp_adapters[] __initdata 265,8748 -static u16 el3_isapnp_phys_addr[290,9754 -static int nopnp;291,9793 -static int __init el3_common_init(301,10097 -static void el3_common_remove 352,11458 -static int __init el3_probe(371,11864 -static int __init el3_mca_probe(593,17441 -static int __init el3_eisa_probe 672,19282 -static int __devexit el3_device_remove 735,20731 -static ushort read_eeprom(749,21023 -static ushort __init id_read_eeprom(759,21328 -el3_open(782,21858 -el3_tx_timeout 810,22464 -el3_start_xmit(830,23020 -el3_interrupt(914,25516 -el3_get_stats(1003,28141 -static void update_stats(1024,28750 -el3_rx(1054,29707 -set_multicast_list(1125,31799 -el3_close(1152,32551 -el3_link_ok(1176,33104 -el3_netdev_get_ecmd(1188,33282 -el3_netdev_set_ecmd(1233,34230 -netdev_ethtool_ioctl 1297,35657 -netdev_ioctl 1388,37792 -el3_down(1406,38036 -el3_up(1434,38719 -el3_suspend(1524,41653 -el3_resume(1551,42126 -el3_pm_callback(1578,42596 -static int debug 1593,42872 -static int irq[1594,42895 -static int xcvr[1595,42948 -static int __init el3_init_module(1613,43661 -static void __exit el3_cleanup_module(1640,44178 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/3c527.c,2131 -#define DRV_NAME 20,663 -#define DRV_VERSION 21,689 -#define DRV_RELDATE 22,720 -static const char *version 24,755 -static const char* cardname 121,4172 -#define NET_DEBUG 125,4292 -static unsigned int mc32_debug 130,4338 -#define MC32_IO_EXTENT 133,4440 -#define TX_RING_LEN 136,4530 -#define RX_RING_LEN 137,4601 -#define RX_COPYBREAK 141,4782 -static const int WORKAROUND_82586=146,5009 -struct mc32_ring_desc mc32_ring_desc149,5099 -struct mc32_local mc32_local156,5268 -#define SA_ADDR0 191,6692 -#define SA_ADDR1 192,6714 -#define SA_ADDR2 193,6736 -struct mca_adapters_t mca_adapters_t195,6759 -const struct mca_adapters_t mc32_adapters[200,6819 -static inline u16 next_rx(208,7019 -static inline u16 prev_rx(209,7089 -static inline u16 next_tx(211,7160 -static struct ethtool_ops netdev_ethtool_ops;225,7919 -static void cleanup_card(227,7966 -struct net_device *__init mc32_probe(247,8555 -static int __init mc32_probe1(305,10056 -static inline void mc32_ready_poll(552,15425 -static int mc32_command_nowait(575,16201 -static int mc32_command(621,17598 -static void mc32_start_transceiver(673,18656 -static void mc32_halt_transceiver(708,19706 -static int mc32_load_rx_ring(745,20868 -static void mc32_flush_rx_ring(791,21871 -static void mc32_load_tx_ring(823,22637 -static void mc32_flush_tx_ring(860,23490 -static int mc32_open(897,24528 -static void mc32_timeout(992,26462 -static int mc32_send_packet(1021,27537 -static void mc32_update_stats(1091,29305 -static void mc32_rx_ring(1142,31334 -static void mc32_tx_ring(1235,33505 -static irqreturn_t mc32_interrupt(1320,35786 -static int mc32_close(1449,38586 -static struct net_device_stats *mc32_get_stats(1498,39495 -static void do_mc32_set_multicast_list(1530,40419 -static void mc32_set_multicast_list(1593,41672 -static void mc32_reset_multicast_list(1608,42040 -static void netdev_get_drvinfo(1613,42143 -static u32 netdev_get_msglevel(1621,42368 -static void netdev_set_msglevel(1626,42448 -static struct ethtool_ops netdev_ethtool_ops 1631,42541 -static struct net_device *this_device;1639,42724 -int init_module(1649,43000 -void cleanup_module(1668,43606 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pppox.c,356 -static struct pppox_proto *pppox_protos[39,992 -int register_pppox_proto(41,1052 -void unregister_pppox_proto(51,1279 -void pppox_unbind_sock(57,1411 -static int pppox_ioctl(71,1751 -static int pppox_create(109,2402 -static struct net_proto_family pppox_proto_family 132,2918 -static int __init pppox_init(138,3045 -static void __exit pppox_exit(143,3129 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/loopback.c,335 -#define LOOPBACK_OVERHEAD 63,2060 -static void emulate_large_send_offload(71,2318 -static int loopback_xmit(127,3905 -static struct net_device_stats *get_stats(161,4581 -u32 loopback_get_link(187,5141 -static struct ethtool_ops loopback_ethtool_ops 192,5203 -struct net_device loopback_dev 198,5357 -int __init loopback_init(218,5999 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000_hw.c,2730 -uint16_t e1000_igp_cable_length_table[72,3511 -e1000_set_phy_type(89,4449 -e1000_phy_init_script(123,5466 -e1000_set_mac_type(194,7938 -e1000_set_media_type(289,10725 -e1000_reset_hw(328,12003 -e1000_init_hw(476,17144 -e1000_adjust_serdes_amplitude(592,21116 -e1000_setup_link(638,22574 -e1000_setup_fiber_serdes_link(747,26936 -e1000_setup_copper_link(886,32554 -e1000_phy_setup_autoneg(1264,47335 -e1000_phy_force_speed_duplex(1405,52731 -e1000_config_collision_dist(1610,60113 -e1000_config_mac_to_phy(1635,60879 -e1000_force_mac_fc(1709,63565 -e1000_config_fc_after_link_up(1776,66036 -e1000_check_for_link(1980,75562 -e1000_get_speed_and_duplex(2192,84287 -e1000_wait_autoneg(2258,86463 -e1000_raise_mdi_clk(2293,87580 -e1000_lower_mdi_clk(2311,88210 -e1000_shift_out_mdi_bits(2332,88913 -e1000_shift_in_mdi_bits(2380,90443 -e1000_read_phy_reg(2431,92292 -e1000_read_phy_reg_ex(2454,92906 -e1000_write_phy_reg(2535,96007 -e1000_write_phy_reg_ex(2558,96626 -e1000_phy_hw_reset(2626,99150 -e1000_phy_reset(2678,100914 -e1000_detect_gig_phy(2710,101774 -e1000_phy_reset_dsp(2772,103669 -e1000_phy_igp_get_info(2797,104435 -e1000_phy_m88_get_info(2871,107211 -e1000_phy_get_info(2936,109452 -e1000_validate_mdi_setting(2978,110812 -e1000_init_eeprom_params(2998,111435 -e1000_raise_ee_clk(3105,114666 -e1000_lower_ee_clk(3124,115302 -e1000_shift_out_ee_bits(3144,115982 -e1000_shift_in_ee_bits(3197,117740 -e1000_acquire_eeprom(3241,119030 -e1000_standby_eeprom(3295,120641 -e1000_release_eeprom(3344,122181 -e1000_spi_eeprom_ready(3393,123573 -e1000_read_eeprom(3439,125070 -e1000_validate_eeprom_checksum(3520,128128 -e1000_update_eeprom_checksum(3552,129142 -e1000_write_eeprom(3586,130342 -e1000_write_eeprom_spi(3632,131806 -e1000_write_eeprom_microwire(3698,134144 -e1000_read_part_num(3781,137227 -e1000_read_mac_addr(3815,138328 -e1000_init_rx_addrs(3850,139607 -e1000_mc_addr_list_update(3884,140839 -e1000_hash_mc_addr(3950,143354 -e1000_mta_set(3992,144765 -e1000_rar_set(4035,146412 -e1000_write_vfta(4062,147428 -e1000_clear_vfta(4083,148135 -e1000_id_led_init(4092,148334 -e1000_setup_led(4165,150734 -e1000_cleanup_led(4220,152646 -e1000_led_on(4258,153739 -e1000_led_off(4306,155250 -e1000_clear_hw_cntrs(4354,156765 -e1000_reset_adaptive(4435,159666 -e1000_update_adaptive(4463,160625 -e1000_tbi_adjust_stats(4499,162007 -e1000_get_bus_info(4577,164692 -e1000_read_reg_io(4625,166507 -e1000_write_reg_io(4644,167188 -e1000_get_cable_length(4672,168154 -e1000_check_polarity(4786,172569 -e1000_check_downshift(4847,174965 -e1000_config_dsp_after_link_change(4887,176242 -e1000_set_phy_mode(5026,181633 -e1000_set_d3_lplu_state(5071,183162 -e1000_set_vco_speed(5137,185639 -e1000_enable_mng_pass_thru(5203,187433 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000.h,1726 -#define _E1000_H_33,1265 -#define BAR_0 78,2341 -#define BAR_1 79,2358 -#define BAR_5 80,2375 -#define INTEL_E1000_ETHERNET_DEVICE(INTEL_E1000_ETHERNET_DEVICE82,2393 -#define E1000_DBG(E1000_DBG90,2546 -#define E1000_DBG(E1000_DBG92,2613 -#define E1000_ERR(E1000_ERR95,2648 -#define PFX 97,2708 -#define DPRINTK(DPRINTK98,2730 -#define E1000_MAX_INTR 103,2929 -#define E1000_DEFAULT_TXD 106,2987 -#define E1000_MAX_TXD 107,3034 -#define E1000_MIN_TXD 108,3081 -#define E1000_MAX_82544_TXD 109,3128 -#define E1000_DEFAULT_RXD 111,3176 -#define E1000_MAX_RXD 112,3223 -#define E1000_MIN_RXD 113,3270 -#define E1000_MAX_82544_RXD 114,3317 -#define E1000_RXBUFFER_2048 117,3397 -#define E1000_RXBUFFER_4096 118,3431 -#define E1000_RXBUFFER_8192 119,3465 -#define E1000_RXBUFFER_16384 120,3499 -#define E1000_SMARTSPEED_DOWNSHIFT 123,3563 -#define E1000_SMARTSPEED_MAX 124,3600 -#define E1000_PBA_BYTES_SHIFT 127,3671 -#define E1000_TX_HEAD_ADDR_SHIFT 128,3705 -#define E1000_PBA_TX_MASK 129,3740 -#define E1000_FC_HIGH_DIFF 132,3808 -#define E1000_FC_LOW_DIFF 133,3885 -#define E1000_FC_PAUSE_TIME 135,3963 -#define E1000_TX_QUEUE_WAKE 138,4082 -#define E1000_RX_BUFFER_WRITE 140,4185 -#define AUTO_ALL_MODES 142,4244 -#define E1000_EEPROM_APME 143,4275 -#define E1000_MASTER_SLAVE 147,4389 -#define E1000_ROUNDUP(E1000_ROUNDUP151,4492 -struct e1000_buffer e1000_buffer155,4675 -struct e1000_desc_ring e1000_desc_ring163,4808 -#define E1000_DESC_UNUSED(E1000_DESC_UNUSED180,5317 -#define E1000_GET_DESC(E1000_GET_DESC184,5458 -#define E1000_RX_DESC(E1000_RX_DESC185,5529 -#define E1000_TX_DESC(E1000_TX_DESC186,5594 -#define E1000_CONTEXT_DESC(E1000_CONTEXT_DESC187,5659 -struct e1000_adapter e1000_adapter191,5779 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000_osdep.h,779 -#define _E1000_OSDEP_H_35,1301 -#define msec_delay(msec_delay45,1493 -#define PCI_COMMAND_REGISTER 54,1745 -#define CMD_MEM_WRT_INVALIDATE 55,1788 - FALSE 59,1871 - TRUE 61,1898 -} boolean_t;boolean_t62,1911 -#define MSGOUT(MSGOUT64,1925 -#define DEBUGOUT(DEBUGOUT67,1993 -#define DEBUGOUT1(DEBUGOUT168,2040 -#define DEBUGOUT(DEBUGOUT70,2102 -#define DEBUGOUT1(DEBUGOUT171,2122 -#define DEBUGFUNC(DEBUGFUNC74,2157 -#define DEBUGOUT2 75,2190 -#define DEBUGOUT3 76,2218 -#define DEBUGOUT7 77,2246 -#define E1000_WRITE_REG(E1000_WRITE_REG80,2276 -#define E1000_READ_REG(E1000_READ_REG84,2436 -#define E1000_WRITE_REG_ARRAY(E1000_WRITE_REG_ARRAY88,2576 -#define E1000_READ_REG_ARRAY(E1000_READ_REG_ARRAY93,2778 -#define E1000_WRITE_FLUSH(E1000_WRITE_FLUSH98,2960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000_hw.h,51752 -#define _E1000_HW_H_34,1276 - e1000_undefined 46,1530 - e1000_82542_rev2_0,47,1555 - e1000_82542_rev2_1,48,1579 - e1000_82543,49,1603 - e1000_82544,50,1620 - e1000_82540,51,1637 - e1000_82545,52,1654 - e1000_82545_rev_3,53,1671 - e1000_82546,54,1694 - e1000_82546_rev_3,55,1711 - e1000_82541,56,1734 - e1000_82541_rev_2,57,1751 - e1000_82547,58,1774 - e1000_82547_rev_2,59,1791 - e1000_num_macs60,1814 -} e1000_mac_type;e1000_mac_type61,1833 - e1000_eeprom_uninitialized 64,1867 - e1000_eeprom_spi,65,1903 - e1000_eeprom_microwire,66,1925 - e1000_num_eeprom_types67,1953 -} e1000_eeprom_type;e1000_eeprom_type68,1980 - e1000_media_type_copper 72,2035 - e1000_media_type_fiber 73,2068 - e1000_media_type_internal_serdes 74,2100 - e1000_num_media_types75,2142 -} e1000_media_type;e1000_media_type76,2168 - e1000_10_half 79,2204 - e1000_10_full 80,2227 - e1000_100_half 81,2250 - e1000_100_full 82,2274 -} e1000_speed_duplex_type;e1000_speed_duplex_type83,2297 - e1000_fc_none 87,2368 - e1000_fc_rx_pause 88,2391 - e1000_fc_tx_pause 89,2418 - e1000_fc_full 90,2445 - e1000_fc_default 91,2468 - e1000_fc_default = 0xFF91,2468 -} e1000_fc_type;e1000_fc_type92,2496 - e1000_bus_type_unknown 96,2549 - e1000_bus_type_pci,97,2581 - e1000_bus_type_pcix,98,2605 - e1000_bus_type_reserved99,2630 -} e1000_bus_type;e1000_bus_type100,2658 - e1000_bus_speed_unknown 104,2713 - e1000_bus_speed_33,105,2746 - e1000_bus_speed_66,106,2770 - e1000_bus_speed_100,107,2794 - e1000_bus_speed_120,108,2819 - e1000_bus_speed_133,109,2844 - e1000_bus_speed_reserved110,2869 -} e1000_bus_speed;e1000_bus_speed111,2898 - e1000_bus_width_unknown 115,2954 - e1000_bus_width_32,116,2987 - e1000_bus_width_64,117,3011 - e1000_bus_width_reserved118,3035 -} e1000_bus_width;e1000_bus_width119,3064 - e1000_cable_length_50 123,3152 - e1000_cable_length_50_80,124,3183 - e1000_cable_length_80_110,125,3213 - e1000_cable_length_110_140,126,3244 - e1000_cable_length_140,127,3276 - e1000_cable_length_undefined 128,3304 - e1000_cable_length_undefined = 0xFF128,3304 -} e1000_cable_length;e1000_cable_length129,3344 - e1000_igp_cable_length_10 132,3382 - e1000_igp_cable_length_20 133,3419 - e1000_igp_cable_length_30 134,3456 - e1000_igp_cable_length_40 135,3493 - e1000_igp_cable_length_50 136,3530 - e1000_igp_cable_length_60 137,3567 - e1000_igp_cable_length_70 138,3604 - e1000_igp_cable_length_80 139,3641 - e1000_igp_cable_length_90 140,3678 - e1000_igp_cable_length_100 141,3715 - e1000_igp_cable_length_110 142,3753 - e1000_igp_cable_length_120 143,3791 - e1000_igp_cable_length_130 144,3829 - e1000_igp_cable_length_140 145,3867 - e1000_igp_cable_length_150 146,3905 - e1000_igp_cable_length_160 147,3943 - e1000_igp_cable_length_170 148,3981 - e1000_igp_cable_length_180 149,4019 -} e1000_igp_cable_length;e1000_igp_cable_length150,4056 - e1000_10bt_ext_dist_enable_normal 153,4098 - e1000_10bt_ext_dist_enable_lower,154,4141 - e1000_10bt_ext_dist_enable_undefined 155,4179 - e1000_10bt_ext_dist_enable_undefined = 0xFF155,4179 -} e1000_10bt_ext_dist_enable;e1000_10bt_ext_dist_enable156,4227 - e1000_rev_polarity_normal 159,4273 - e1000_rev_polarity_reversed,160,4308 - e1000_rev_polarity_undefined 161,4341 - e1000_rev_polarity_undefined = 0xFF161,4341 -} e1000_rev_polarity;e1000_rev_polarity162,4381 - e1000_downshift_normal 165,4419 - e1000_downshift_activated,166,4451 - e1000_downshift_undefined 167,4482 - e1000_downshift_undefined = 0xFF167,4482 -} e1000_downshift;e1000_downshift168,4519 - e1000_polarity_reversal_enabled 171,4554 - e1000_polarity_reversal_disabled,172,4595 - e1000_polarity_reversal_undefined 173,4633 - e1000_polarity_reversal_undefined = 0xFF173,4633 -} e1000_polarity_reversal;e1000_polarity_reversal174,4678 - e1000_auto_x_mode_manual_mdi 177,4721 - e1000_auto_x_mode_manual_mdix,178,4759 - e1000_auto_x_mode_auto1,179,4794 - e1000_auto_x_mode_auto2,180,4823 - e1000_auto_x_mode_undefined 181,4852 - e1000_auto_x_mode_undefined = 0xFF181,4852 -} e1000_auto_x_mode;e1000_auto_x_mode182,4891 - e1000_1000t_rx_status_not_ok 185,4928 - e1000_1000t_rx_status_ok,186,4966 - e1000_1000t_rx_status_undefined 187,4996 - e1000_1000t_rx_status_undefined = 0xFF187,4996 -} e1000_1000t_rx_status;e1000_1000t_rx_status188,5039 - e1000_phy_m88 191,5080 - e1000_phy_igp,192,5103 - e1000_phy_undefined 193,5122 - e1000_phy_undefined = 0xFF193,5122 -} e1000_phy_type;e1000_phy_type194,5153 - e1000_ms_hw_default 197,5187 - e1000_ms_force_master,198,5216 - e1000_ms_force_slave,199,5243 - e1000_ms_auto200,5269 -} e1000_ms_type;e1000_ms_type201,5287 - e1000_ffe_config_enabled 204,5320 - e1000_ffe_config_active,205,5354 - e1000_ffe_config_blocked206,5383 -} e1000_ffe_config;e1000_ffe_config207,5412 - e1000_dsp_config_disabled 210,5448 - e1000_dsp_config_enabled,211,5483 - e1000_dsp_config_activated,212,5513 - e1000_dsp_config_undefined 213,5545 - e1000_dsp_config_undefined = 0xFF213,5545 -} e1000_dsp_config;e1000_dsp_config214,5583 -struct e1000_phy_info e1000_phy_info216,5604 -struct e1000_phy_stats e1000_phy_stats227,5949 -struct e1000_eeprom_info e1000_eeprom_info232,6033 -#define E1000_SUCCESS 244,6238 -#define E1000_ERR_EEPROM 245,6267 -#define E1000_ERR_PHY 246,6296 -#define E1000_ERR_CONFIG 247,6325 -#define E1000_ERR_PARAM 248,6354 -#define E1000_ERR_MAC_TYPE 249,6383 -#define E1000_ERR_PHY_TYPE 250,6412 -#define E1000_READ_REG_IO(E1000_READ_REG_IO328,10455 -#define E1000_WRITE_REG_IO(E1000_WRITE_REG_IO330,10531 -#define E1000_DEV_ID_82542 334,10641 -#define E1000_DEV_ID_82543GC_FIBER 335,10689 -#define E1000_DEV_ID_82543GC_COPPER 336,10737 -#define E1000_DEV_ID_82544EI_COPPER 337,10785 -#define E1000_DEV_ID_82544EI_FIBER 338,10833 -#define E1000_DEV_ID_82544GC_COPPER 339,10881 -#define E1000_DEV_ID_82544GC_LOM 340,10929 -#define E1000_DEV_ID_82540EM 341,10977 -#define E1000_DEV_ID_82540EM_LOM 342,11025 -#define E1000_DEV_ID_82540EP_LOM 343,11073 -#define E1000_DEV_ID_82540EP 344,11121 -#define E1000_DEV_ID_82540EP_LP 345,11169 -#define E1000_DEV_ID_82545EM_COPPER 346,11217 -#define E1000_DEV_ID_82545EM_FIBER 347,11265 -#define E1000_DEV_ID_82545GM_COPPER 348,11313 -#define E1000_DEV_ID_82545GM_FIBER 349,11361 -#define E1000_DEV_ID_82545GM_SERDES 350,11409 -#define E1000_DEV_ID_82546EB_COPPER 351,11457 -#define E1000_DEV_ID_82546EB_FIBER 352,11505 -#define E1000_DEV_ID_82546EB_QUAD_COPPER 353,11553 -#define E1000_DEV_ID_82541EI 354,11601 -#define E1000_DEV_ID_82541EI_MOBILE 355,11649 -#define E1000_DEV_ID_82541ER 356,11697 -#define E1000_DEV_ID_82547GI 357,11745 -#define E1000_DEV_ID_82541GI 358,11793 -#define E1000_DEV_ID_82541GI_MOBILE 359,11841 -#define E1000_DEV_ID_82541GI_LF 360,11889 -#define E1000_DEV_ID_82546GB_COPPER 361,11937 -#define E1000_DEV_ID_82546GB_FIBER 362,11985 -#define E1000_DEV_ID_82546GB_SERDES 363,12033 -#define E1000_DEV_ID_82547EI 364,12081 -#define NODE_ADDRESS_SIZE 365,12129 -#define ETH_LENGTH_OF_ADDRESS 366,12157 -#define MAC_DECODE_SIZE 369,12247 -#define E1000_82542_2_0_REV_ID 371,12285 -#define E1000_82542_2_1_REV_ID 372,12318 -#define E1000_REVISION_0 373,12351 -#define E1000_REVISION_1 374,12384 -#define E1000_REVISION_2 375,12417 -#define SPEED_10 377,12451 -#define SPEED_100 378,12474 -#define SPEED_1000 379,12498 -#define HALF_DUPLEX 380,12523 -#define FULL_DUPLEX 381,12545 -#define ENET_HEADER_SIZE 384,12616 -#define MAXIMUM_ETHERNET_FRAME_SIZE 385,12656 -#define MINIMUM_ETHERNET_FRAME_SIZE 386,12713 -#define ETHERNET_FCS_SIZE 387,12770 -#define MAXIMUM_ETHERNET_PACKET_SIZE 388,12809 -#define MINIMUM_ETHERNET_PACKET_SIZE 390,12902 -#define CRC_LENGTH 392,12995 -#define MAX_JUMBO_FRAME_SIZE 393,13050 -#define VLAN_TAG_SIZE 397,13127 -#define ETHERNET_IEEE_VLAN_TYPE 400,13235 -#define ETHERNET_IP_TYPE 401,13296 -#define ETHERNET_ARP_TYPE 402,13353 -#define IP_PROTOCOL_TCP 405,13462 -#define IP_PROTOCOL_UDP 406,13491 -#define POLL_IMS_ENABLE_MASK 413,13746 -#define IMS_ENABLE_MASK 425,14190 -#define E1000_RAR_ENTRIES 437,14628 -#define MIN_NUMBER_OF_DESCRIPTORS 439,14658 -#define MAX_NUMBER_OF_DESCRIPTORS 440,14694 -struct e1000_rx_desc e1000_rx_desc443,14761 -#define E1000_RXD_STAT_DD 453,15136 -#define E1000_RXD_STAT_EOP 454,15198 -#define E1000_RXD_STAT_IXSM 455,15258 -#define E1000_RXD_STAT_VP 456,15320 -#define E1000_RXD_STAT_TCPCS 457,15383 -#define E1000_RXD_STAT_IPCS 458,15449 -#define E1000_RXD_STAT_PIF 459,15514 -#define E1000_RXD_ERR_CE 460,15583 -#define E1000_RXD_ERR_SE 461,15639 -#define E1000_RXD_ERR_SEQ 462,15698 -#define E1000_RXD_ERR_CXE 463,15759 -#define E1000_RXD_ERR_TCPE 464,15829 -#define E1000_RXD_ERR_IPE 465,15898 -#define E1000_RXD_ERR_RXE 466,15962 -#define E1000_RXD_SPC_VLAN_MASK 467,16022 -#define E1000_RXD_SPC_PRI_MASK 468,16096 -#define E1000_RXD_SPC_PRI_SHIFT 469,16170 -#define E1000_RXD_SPC_CFI_MASK 470,16245 -#define E1000_RXD_SPC_CFI_SHIFT 471,16305 -#define E1000_RXD_ERR_FRAME_ERR_MASK 474,16439 -struct e1000_tx_desc e1000_tx_desc482,16694 -#define E1000_TXD_DTYP_D 503,17313 -#define E1000_TXD_DTYP_C 504,17375 -#define E1000_TXD_POPTS_IXSM 505,17440 -#define E1000_TXD_POPTS_TXSM 506,17505 -#define E1000_TXD_CMD_EOP 507,17575 -#define E1000_TXD_CMD_IFCS 508,17635 -#define E1000_TXD_CMD_IC 509,17707 -#define E1000_TXD_CMD_RS 510,17769 -#define E1000_TXD_CMD_RPS 511,17829 -#define E1000_TXD_CMD_DEXT 512,17894 -#define E1000_TXD_CMD_VLE 513,17974 -#define E1000_TXD_CMD_IDE 514,18033 -#define E1000_TXD_STAT_DD 515,18100 -#define E1000_TXD_STAT_EC 516,18162 -#define E1000_TXD_STAT_LC 517,18226 -#define E1000_TXD_STAT_TU 518,18288 -#define E1000_TXD_CMD_TCP 519,18352 -#define E1000_TXD_CMD_IP 520,18409 -#define E1000_TXD_CMD_TSE 521,18465 -#define E1000_TXD_STAT_TC 522,18526 -struct e1000_context_desc e1000_context_desc525,18618 -struct e1000_data_desc e1000_data_desc554,19509 -#define E1000_NUM_UNICAST 575,20086 -#define E1000_MC_TBL_SIZE 576,20155 -#define E1000_VLAN_FILTER_TBL_SIZE 577,20236 -struct e1000_rar e1000_rar581,20345 -#define E1000_NUM_MTA_REGISTERS 587,20545 -struct e1000_ipv4_at_entry e1000_ipv4_at_entry590,20613 -#define E1000_WAKEUP_IP_ADDRESS_COUNT_MAX 596,20785 -#define E1000_IP4AT_SIZE 597,20829 -#define E1000_IP6AT_SIZE 598,20905 -struct e1000_ipv6_at_entry e1000_ipv6_at_entry601,20981 -struct e1000_fflt_entry e1000_fflt_entry606,21091 -struct e1000_ffmt_entry e1000_ffmt_entry612,21258 -struct e1000_ffvt_entry e1000_ffvt_entry618,21424 -#define E1000_FLEXIBLE_FILTER_COUNT_MAX 624,21593 -#define E1000_FLEXIBLE_FILTER_SIZE_MAX 627,21701 -#define E1000_FFLT_SIZE 629,21746 -#define E1000_FFMT_SIZE 630,21802 -#define E1000_FFVT_SIZE 631,21857 -#define E1000_CTRL 645,22332 -#define E1000_CTRL_DUP 646,22390 -#define E1000_STATUS 647,22467 -#define E1000_EECD 648,22524 -#define E1000_EERD 649,22588 -#define E1000_CTRL_EXT 650,22643 -#define E1000_FLA 651,22710 -#define E1000_MDIC 652,22766 -#define E1000_FCAL 653,22821 -#define E1000_FCAH 654,22889 -#define E1000_FCT 655,22957 -#define E1000_VET 656,23018 -#define E1000_ICR 657,23077 -#define E1000_ITR 658,23144 -#define E1000_ICS 659,23213 -#define E1000_IMS 660,23276 -#define E1000_IMC 661,23338 -#define E1000_RCTL 662,23402 -#define E1000_FCTTV 663,23456 -#define E1000_TXCW 664,23533 -#define E1000_RXCW 665,23598 -#define E1000_TCTL 666,23663 -#define E1000_TIPG 667,23717 -#define E1000_TBT 668,23779 -#define E1000_AIT 669,23837 -#define E1000_LEDCTL 670,23917 -#define E1000_PBA 671,23972 -#define E1000_FCRTL 672,24040 -#define E1000_FCRTH 673,24118 -#define E1000_RDBAL 674,24197 -#define E1000_RDBAH 675,24271 -#define E1000_RDLEN 676,24346 -#define E1000_RDH 677,24410 -#define E1000_RDT 678,24472 -#define E1000_RDTR 679,24534 -#define E1000_RXDCTL 680,24592 -#define E1000_RADV 681,24657 -#define E1000_RSRPD 682,24734 -#define E1000_TXDMAC 683,24800 -#define E1000_TDFH 684,24858 -#define E1000_TDFT 685,24919 -#define E1000_TDFHS 686,24980 -#define E1000_TDFTS 687,25047 -#define E1000_TDFPC 688,25114 -#define E1000_TDBAL 689,25183 -#define E1000_TDBAH 690,25257 -#define E1000_TDLEN 691,25332 -#define E1000_TDH 692,25396 -#define E1000_TDT 693,25458 -#define E1000_TIDV 694,25520 -#define E1000_TXDCTL 695,25588 -#define E1000_TADV 696,25653 -#define E1000_TSPMT 697,25728 -#define E1000_CRCERRS 698,25808 -#define E1000_ALGNERRC 699,25870 -#define E1000_SYMERRS 700,25938 -#define E1000_RXERRC 701,26003 -#define E1000_MPC 702,26069 -#define E1000_SCC 703,26135 -#define E1000_ECOL 704,26204 -#define E1000_MCC 705,26276 -#define E1000_LATECOL 706,26347 -#define E1000_COLC 707,26414 -#define E1000_DC 708,26476 -#define E1000_TNCRS 709,26534 -#define E1000_SEC 710,26590 -#define E1000_CEXTERR 711,26657 -#define E1000_RLEC 712,26733 -#define E1000_XONRXC 713,26806 -#define E1000_XONTXC 714,26865 -#define E1000_XOFFRXC 715,26924 -#define E1000_XOFFTXC 716,26984 -#define E1000_FCRUC 717,27044 -#define E1000_PRC64 718,27123 -#define E1000_PRC127 719,27191 -#define E1000_PRC255 720,27263 -#define E1000_PRC511 721,27336 -#define E1000_PRC1023 722,27409 -#define E1000_PRC1522 723,27483 -#define E1000_GPRC 724,27558 -#define E1000_BPRC 725,27626 -#define E1000_MPRC 726,27699 -#define E1000_GPTC 727,27772 -#define E1000_GORCL 728,27840 -#define E1000_GORCH 729,27911 -#define E1000_GOTCL 730,27983 -#define E1000_GOTCH 731,28054 -#define E1000_RNBC 732,28126 -#define E1000_RUC 733,28192 -#define E1000_RFC 734,28257 -#define E1000_ROC 735,28321 -#define E1000_RJC 736,28385 -#define E1000_MGTPRC 737,28447 -#define E1000_MGTPDC 738,28521 -#define E1000_MGTPTC 739,28600 -#define E1000_TORL 740,28674 -#define E1000_TORH 741,28740 -#define E1000_TOTL 742,28807 -#define E1000_TOTH 743,28873 -#define E1000_TPR 744,28940 -#define E1000_TPT 745,29003 -#define E1000_PTC64 746,29066 -#define E1000_PTC127 747,29134 -#define E1000_PTC255 748,29206 -#define E1000_PTC511 749,29279 -#define E1000_PTC1023 750,29352 -#define E1000_PTC1522 751,29426 -#define E1000_MPTC 752,29501 -#define E1000_BPTC 753,29574 -#define E1000_TSCTC 754,29647 -#define E1000_TSCTFC 755,29721 -#define E1000_RXCSUM 756,29800 -#define E1000_MTA 757,29863 -#define E1000_RA 758,29934 -#define E1000_VFTA 759,29999 -#define E1000_WUC 760,30072 -#define E1000_WUFC 761,30130 -#define E1000_WUS 762,30195 -#define E1000_MANC 763,30252 -#define E1000_IPAV 764,30314 -#define E1000_IP4AT 765,30374 -#define E1000_IP6AT 766,30442 -#define E1000_WUPL 767,30510 -#define E1000_WUPM 768,30574 -#define E1000_FFLT 769,30640 -#define E1000_HOST_IF 770,30718 -#define E1000_FFMT 771,30771 -#define E1000_FFVT 772,30847 -#define E1000_82542_CTRL 780,31158 -#define E1000_82542_CTRL_DUP 781,31198 -#define E1000_82542_STATUS 782,31242 -#define E1000_82542_EECD 783,31284 -#define E1000_82542_EERD 784,31324 -#define E1000_82542_CTRL_EXT 785,31364 -#define E1000_82542_FLA 786,31408 -#define E1000_82542_MDIC 787,31447 -#define E1000_82542_FCAL 788,31487 -#define E1000_82542_FCAH 789,31527 -#define E1000_82542_FCT 790,31567 -#define E1000_82542_VET 791,31606 -#define E1000_82542_RA 792,31645 -#define E1000_82542_ICR 793,31682 -#define E1000_82542_ITR 794,31721 -#define E1000_82542_ICS 795,31760 -#define E1000_82542_IMS 796,31799 -#define E1000_82542_IMC 797,31838 -#define E1000_82542_RCTL 798,31877 -#define E1000_82542_RDTR 799,31917 -#define E1000_82542_RDBAL 800,31954 -#define E1000_82542_RDBAH 801,31991 -#define E1000_82542_RDLEN 802,32028 -#define E1000_82542_RDH 803,32065 -#define E1000_82542_RDT 804,32102 -#define E1000_82542_FCRTH 805,32139 -#define E1000_82542_FCRTL 806,32176 -#define E1000_82542_FCTTV 807,32213 -#define E1000_82542_TXCW 808,32254 -#define E1000_82542_RXCW 809,32294 -#define E1000_82542_MTA 810,32334 -#define E1000_82542_TCTL 811,32371 -#define E1000_82542_TIPG 812,32411 -#define E1000_82542_TDBAL 813,32451 -#define E1000_82542_TDBAH 814,32488 -#define E1000_82542_TDLEN 815,32525 -#define E1000_82542_TDH 816,32562 -#define E1000_82542_TDT 817,32599 -#define E1000_82542_TIDV 818,32636 -#define E1000_82542_TBT 819,32673 -#define E1000_82542_AIT 820,32712 -#define E1000_82542_VFTA 821,32751 -#define E1000_82542_LEDCTL 822,32788 -#define E1000_82542_PBA 823,32830 -#define E1000_82542_RXDCTL 824,32869 -#define E1000_82542_RADV 825,32911 -#define E1000_82542_RSRPD 826,32951 -#define E1000_82542_TXDMAC 827,32992 -#define E1000_82542_TDFHS 828,33034 -#define E1000_82542_TDFTS 829,33075 -#define E1000_82542_TDFPC 830,33116 -#define E1000_82542_TXDCTL 831,33157 -#define E1000_82542_TADV 832,33199 -#define E1000_82542_TSPMT 833,33239 -#define E1000_82542_CRCERRS 834,33280 -#define E1000_82542_ALGNERRC 835,33323 -#define E1000_82542_SYMERRS 836,33367 -#define E1000_82542_RXERRC 837,33410 -#define E1000_82542_MPC 838,33452 -#define E1000_82542_SCC 839,33491 -#define E1000_82542_ECOL 840,33530 -#define E1000_82542_MCC 841,33570 -#define E1000_82542_LATECOL 842,33609 -#define E1000_82542_COLC 843,33652 -#define E1000_82542_DC 844,33692 -#define E1000_82542_TNCRS 845,33730 -#define E1000_82542_SEC 846,33771 -#define E1000_82542_CEXTERR 847,33810 -#define E1000_82542_RLEC 848,33853 -#define E1000_82542_XONRXC 849,33893 -#define E1000_82542_XONTXC 850,33935 -#define E1000_82542_XOFFRXC 851,33977 -#define E1000_82542_XOFFTXC 852,34020 -#define E1000_82542_FCRUC 853,34063 -#define E1000_82542_PRC64 854,34104 -#define E1000_82542_PRC127 855,34145 -#define E1000_82542_PRC255 856,34187 -#define E1000_82542_PRC511 857,34229 -#define E1000_82542_PRC1023 858,34271 -#define E1000_82542_PRC1522 859,34314 -#define E1000_82542_GPRC 860,34357 -#define E1000_82542_BPRC 861,34397 -#define E1000_82542_MPRC 862,34437 -#define E1000_82542_GPTC 863,34477 -#define E1000_82542_GORCL 864,34517 -#define E1000_82542_GORCH 865,34558 -#define E1000_82542_GOTCL 866,34599 -#define E1000_82542_GOTCH 867,34640 -#define E1000_82542_RNBC 868,34681 -#define E1000_82542_RUC 869,34721 -#define E1000_82542_RFC 870,34760 -#define E1000_82542_ROC 871,34799 -#define E1000_82542_RJC 872,34838 -#define E1000_82542_MGTPRC 873,34877 -#define E1000_82542_MGTPDC 874,34919 -#define E1000_82542_MGTPTC 875,34961 -#define E1000_82542_TORL 876,35003 -#define E1000_82542_TORH 877,35043 -#define E1000_82542_TOTL 878,35083 -#define E1000_82542_TOTH 879,35123 -#define E1000_82542_TPR 880,35163 -#define E1000_82542_TPT 881,35202 -#define E1000_82542_PTC64 882,35241 -#define E1000_82542_PTC127 883,35282 -#define E1000_82542_PTC255 884,35324 -#define E1000_82542_PTC511 885,35366 -#define E1000_82542_PTC1023 886,35408 -#define E1000_82542_PTC1522 887,35451 -#define E1000_82542_MPTC 888,35494 -#define E1000_82542_BPTC 889,35534 -#define E1000_82542_TSCTC 890,35574 -#define E1000_82542_TSCTFC 891,35615 -#define E1000_82542_RXCSUM 892,35657 -#define E1000_82542_WUC 893,35699 -#define E1000_82542_WUFC 894,35738 -#define E1000_82542_WUS 895,35778 -#define E1000_82542_MANC 896,35817 -#define E1000_82542_IPAV 897,35857 -#define E1000_82542_IP4AT 898,35897 -#define E1000_82542_IP6AT 899,35938 -#define E1000_82542_WUPL 900,35979 -#define E1000_82542_WUPM 901,36019 -#define E1000_82542_FFLT 902,36059 -#define E1000_82542_TDFH 903,36099 -#define E1000_82542_TDFT 904,36136 -#define E1000_82542_FFMT 905,36173 -#define E1000_82542_FFVT 906,36213 -#define E1000_82542_HOST_IF 907,36253 -struct e1000_hw_stats e1000_hw_stats910,36344 -struct e1000_hw e1000_hw972,37602 -#define E1000_EEPROM_SWDPIN0 1044,39629 -#define E1000_EEPROM_LED_LOGIC 1045,39697 -#define E1000_CTRL_FD 1048,39804 -#define E1000_CTRL_BEM 1049,39877 -#define E1000_CTRL_PRIOR 1050,39950 -#define E1000_CTRL_LRST 1051,40025 -#define E1000_CTRL_TME 1052,40100 -#define E1000_CTRL_SLE 1053,40173 -#define E1000_CTRL_ASDE 1054,40245 -#define E1000_CTRL_SLU 1055,40316 -#define E1000_CTRL_ILOS 1056,40387 -#define E1000_CTRL_SPD_SEL 1057,40455 -#define E1000_CTRL_SPD_10 1058,40519 -#define E1000_CTRL_SPD_100 1059,40576 -#define E1000_CTRL_SPD_1000 1060,40634 -#define E1000_CTRL_BEM32 1061,40690 -#define E1000_CTRL_FRCSPD 1062,40755 -#define E1000_CTRL_FRCDPX 1063,40813 -#define E1000_CTRL_SWDPIN0 1064,40872 -#define E1000_CTRL_SWDPIN1 1065,40933 -#define E1000_CTRL_SWDPIN2 1066,40994 -#define E1000_CTRL_SWDPIN3 1067,41055 -#define E1000_CTRL_SWDPIO0 1068,41116 -#define E1000_CTRL_SWDPIO1 1069,41187 -#define E1000_CTRL_SWDPIO2 1070,41258 -#define E1000_CTRL_SWDPIO3 1071,41329 -#define E1000_CTRL_RST 1072,41400 -#define E1000_CTRL_RFCE 1073,41459 -#define E1000_CTRL_TFCE 1074,41533 -#define E1000_CTRL_RTE 1075,41608 -#define E1000_CTRL_VME 1076,41673 -#define E1000_CTRL_PHY_RST 1077,41741 -#define E1000_STATUS_FD 1080,41818 -#define E1000_STATUS_LU 1081,41898 -#define E1000_STATUS_FUNC_MASK 1082,41972 -#define E1000_STATUS_FUNC_0 1083,42044 -#define E1000_STATUS_FUNC_1 1084,42109 -#define E1000_STATUS_TXOFF 1085,42174 -#define E1000_STATUS_TBIMODE 1086,42248 -#define E1000_STATUS_SPEED_MASK 1087,42311 -#define E1000_STATUS_SPEED_10 1088,42354 -#define E1000_STATUS_SPEED_100 1089,42421 -#define E1000_STATUS_SPEED_1000 1090,42489 -#define E1000_STATUS_ASDV 1091,42558 -#define E1000_STATUS_MTXCKOK 1092,42636 -#define E1000_STATUS_PCI66 1093,42711 -#define E1000_STATUS_BUS64 1094,42779 -#define E1000_STATUS_PCIX_MODE 1095,42848 -#define E1000_STATUS_PCIX_SPEED 1096,42913 -#define E1000_STATUS_PCIX_SPEED_66 1099,43046 -#define E1000_STATUS_PCIX_SPEED_100 1100,43126 -#define E1000_STATUS_PCIX_SPEED_133 1101,43207 -#define E1000_EECD_SK 1104,43316 -#define E1000_EECD_CS 1105,43375 -#define E1000_EECD_DI 1106,43440 -#define E1000_EECD_DO 1107,43501 -#define E1000_EECD_FWE_MASK 1108,43563 -#define E1000_EECD_FWE_DIS 1109,43603 -#define E1000_EECD_FWE_EN 1110,43670 -#define E1000_EECD_FWE_SHIFT 1111,43736 -#define E1000_EECD_REQ 1112,43767 -#define E1000_EECD_GNT 1113,43835 -#define E1000_EECD_PRES 1114,43901 -#define E1000_EECD_SIZE 1115,43962 -#define E1000_EECD_ADDR_BITS 1116,44043 -#define E1000_EECD_TYPE 1118,44188 -#define E1000_EEPROM_GRANT_ATTEMPTS 1120,44303 -#define E1000_EERD_START 1124,44408 -#define E1000_EERD_DONE 1125,44466 -#define E1000_EERD_ADDR_SHIFT 1126,44523 -#define E1000_EERD_ADDR_MASK 1127,44555 -#define E1000_EERD_DATA_SHIFT 1128,44615 -#define E1000_EERD_DATA_MASK 1129,44648 -#define EEPROM_STATUS_RDY_SPI 1132,44739 -#define EEPROM_STATUS_WEN_SPI 1133,44775 -#define EEPROM_STATUS_BP0_SPI 1134,44811 -#define EEPROM_STATUS_BP1_SPI 1135,44847 -#define EEPROM_STATUS_WPEN_SPI 1136,44883 -#define E1000_CTRL_EXT_GPI0_EN 1139,44950 -#define E1000_CTRL_EXT_GPI1_EN 1140,45018 -#define E1000_CTRL_EXT_PHYINT_EN 1141,45086 -#define E1000_CTRL_EXT_GPI2_EN 1142,45142 -#define E1000_CTRL_EXT_GPI3_EN 1143,45210 -#define E1000_CTRL_EXT_SDP4_DATA 1144,45278 -#define E1000_CTRL_EXT_SDP5_DATA 1145,45357 -#define E1000_CTRL_EXT_PHY_INT 1146,45436 -#define E1000_CTRL_EXT_SDP6_DATA 1147,45494 -#define E1000_CTRL_EXT_SDP7_DATA 1148,45573 -#define E1000_CTRL_EXT_SDP4_DIR 1149,45652 -#define E1000_CTRL_EXT_SDP5_DIR 1150,45731 -#define E1000_CTRL_EXT_SDP6_DIR 1151,45810 -#define E1000_CTRL_EXT_SDP7_DIR 1152,45889 -#define E1000_CTRL_EXT_ASDCHK 1153,45968 -#define E1000_CTRL_EXT_EE_RST 1154,46043 -#define E1000_CTRL_EXT_IPS 1155,46118 -#define E1000_CTRL_EXT_SPD_BYPS 1156,46187 -#define E1000_CTRL_EXT_LINK_MODE_MASK 1157,46257 -#define E1000_CTRL_EXT_LINK_MODE_GMII 1158,46306 -#define E1000_CTRL_EXT_LINK_MODE_TBI 1159,46355 -#define E1000_CTRL_EXT_WR_WMARK_MASK 1160,46404 -#define E1000_CTRL_EXT_WR_WMARK_256 1161,46453 -#define E1000_CTRL_EXT_WR_WMARK_320 1162,46502 -#define E1000_CTRL_EXT_WR_WMARK_384 1163,46551 -#define E1000_CTRL_EXT_WR_WMARK_448 1164,46600 -#define E1000_MDIC_DATA_MASK 1167,46668 -#define E1000_MDIC_REG_MASK 1168,46708 -#define E1000_MDIC_REG_SHIFT 1169,46748 -#define E1000_MDIC_PHY_MASK 1170,46780 -#define E1000_MDIC_PHY_SHIFT 1171,46820 -#define E1000_MDIC_OP_WRITE 1172,46852 -#define E1000_MDIC_OP_READ 1173,46892 -#define E1000_MDIC_READY 1174,46932 -#define E1000_MDIC_INT_EN 1175,46972 -#define E1000_MDIC_ERROR 1176,47012 -#define E1000_LEDCTL_LED0_MODE_MASK 1179,47071 -#define E1000_LEDCTL_LED0_MODE_SHIFT 1180,47124 -#define E1000_LEDCTL_LED0_IVRT 1181,47168 -#define E1000_LEDCTL_LED0_BLINK 1182,47221 -#define E1000_LEDCTL_LED1_MODE_MASK 1183,47274 -#define E1000_LEDCTL_LED1_MODE_SHIFT 1184,47327 -#define E1000_LEDCTL_LED1_IVRT 1185,47371 -#define E1000_LEDCTL_LED1_BLINK 1186,47424 -#define E1000_LEDCTL_LED2_MODE_MASK 1187,47477 -#define E1000_LEDCTL_LED2_MODE_SHIFT 1188,47530 -#define E1000_LEDCTL_LED2_IVRT 1189,47575 -#define E1000_LEDCTL_LED2_BLINK 1190,47628 -#define E1000_LEDCTL_LED3_MODE_MASK 1191,47681 -#define E1000_LEDCTL_LED3_MODE_SHIFT 1192,47734 -#define E1000_LEDCTL_LED3_IVRT 1193,47779 -#define E1000_LEDCTL_LED3_BLINK 1194,47832 -#define E1000_LEDCTL_MODE_LINK_10_1000 1196,47886 -#define E1000_LEDCTL_MODE_LINK_100_1000 1197,47930 -#define E1000_LEDCTL_MODE_LINK_UP 1198,47974 -#define E1000_LEDCTL_MODE_ACTIVITY 1199,48018 -#define E1000_LEDCTL_MODE_LINK_ACTIVITY 1200,48062 -#define E1000_LEDCTL_MODE_LINK_10 1201,48106 -#define E1000_LEDCTL_MODE_LINK_100 1202,48150 -#define E1000_LEDCTL_MODE_LINK_1000 1203,48194 -#define E1000_LEDCTL_MODE_PCIX_MODE 1204,48238 -#define E1000_LEDCTL_MODE_FULL_DUPLEX 1205,48282 -#define E1000_LEDCTL_MODE_COLLISION 1206,48326 -#define E1000_LEDCTL_MODE_BUS_SPEED 1207,48370 -#define E1000_LEDCTL_MODE_BUS_SIZE 1208,48414 -#define E1000_LEDCTL_MODE_PAUSED 1209,48458 -#define E1000_LEDCTL_MODE_LED_ON 1210,48502 -#define E1000_LEDCTL_MODE_LED_OFF 1211,48546 -#define E1000_RAH_AV 1214,48613 -#define E1000_ICR_TXDW 1217,48712 -#define E1000_ICR_TXQE 1218,48788 -#define E1000_ICR_LSC 1219,48858 -#define E1000_ICR_RXSEQ 1220,48926 -#define E1000_ICR_RXDMT0 1221,48993 -#define E1000_ICR_RXO 1222,49069 -#define E1000_ICR_RXT0 1223,49129 -#define E1000_ICR_MDAC 1224,49201 -#define E1000_ICR_RXCFG 1225,49271 -#define E1000_ICR_GPI_EN0 1226,49339 -#define E1000_ICR_GPI_EN1 1227,49397 -#define E1000_ICR_GPI_EN2 1228,49455 -#define E1000_ICR_GPI_EN3 1229,49513 -#define E1000_ICR_TXD_LOW 1230,49571 -#define E1000_ICR_SRPD 1231,49614 -#define E1000_ICS_TXDW 1234,49684 -#define E1000_ICS_TXQE 1235,49765 -#define E1000_ICS_LSC 1236,49840 -#define E1000_ICS_RXSEQ 1237,49913 -#define E1000_ICS_RXDMT0 1238,49985 -#define E1000_ICS_RXO 1239,50062 -#define E1000_ICS_RXT0 1240,50127 -#define E1000_ICS_MDAC 1241,50195 -#define E1000_ICS_RXCFG 1242,50270 -#define E1000_ICS_GPI_EN0 1243,50343 -#define E1000_ICS_GPI_EN1 1244,50406 -#define E1000_ICS_GPI_EN2 1245,50469 -#define E1000_ICS_GPI_EN3 1246,50532 -#define E1000_ICS_TXD_LOW 1247,50595 -#define E1000_ICS_SRPD 1248,50641 -#define E1000_IMS_TXDW 1251,50710 -#define E1000_IMS_TXQE 1252,50791 -#define E1000_IMS_LSC 1253,50866 -#define E1000_IMS_RXSEQ 1254,50939 -#define E1000_IMS_RXDMT0 1255,51011 -#define E1000_IMS_RXO 1256,51088 -#define E1000_IMS_RXT0 1257,51153 -#define E1000_IMS_MDAC 1258,51221 -#define E1000_IMS_RXCFG 1259,51296 -#define E1000_IMS_GPI_EN0 1260,51369 -#define E1000_IMS_GPI_EN1 1261,51432 -#define E1000_IMS_GPI_EN2 1262,51495 -#define E1000_IMS_GPI_EN3 1263,51558 -#define E1000_IMS_TXD_LOW 1264,51621 -#define E1000_IMS_SRPD 1265,51667 -#define E1000_IMC_TXDW 1268,51738 -#define E1000_IMC_TXQE 1269,51819 -#define E1000_IMC_LSC 1270,51894 -#define E1000_IMC_RXSEQ 1271,51967 -#define E1000_IMC_RXDMT0 1272,52039 -#define E1000_IMC_RXO 1273,52116 -#define E1000_IMC_RXT0 1274,52181 -#define E1000_IMC_MDAC 1275,52249 -#define E1000_IMC_RXCFG 1276,52324 -#define E1000_IMC_GPI_EN0 1277,52397 -#define E1000_IMC_GPI_EN1 1278,52460 -#define E1000_IMC_GPI_EN2 1279,52523 -#define E1000_IMC_GPI_EN3 1280,52586 -#define E1000_IMC_TXD_LOW 1281,52649 -#define E1000_IMC_SRPD 1282,52695 -#define E1000_RCTL_RST 1285,52761 -#define E1000_RCTL_EN 1286,52830 -#define E1000_RCTL_SBP 1287,52891 -#define E1000_RCTL_UPE 1288,52962 -#define E1000_RCTL_MPE 1289,53043 -#define E1000_RCTL_LPE 1290,53124 -#define E1000_RCTL_LBM_NO 1291,53197 -#define E1000_RCTL_LBM_MAC 1292,53268 -#define E1000_RCTL_LBM_SLP 1293,53340 -#define E1000_RCTL_LBM_TCVR 1294,53420 -#define E1000_RCTL_RDMTS_HALF 1295,53493 -#define E1000_RCTL_RDMTS_QUAT 1296,53574 -#define E1000_RCTL_RDMTS_EIGTH 1297,53655 -#define E1000_RCTL_MO_SHIFT 1298,53736 -#define E1000_RCTL_MO_0 1299,53813 -#define E1000_RCTL_MO_1 1300,53889 -#define E1000_RCTL_MO_2 1301,53965 -#define E1000_RCTL_MO_3 1302,54041 -#define E1000_RCTL_MDR 1303,54117 -#define E1000_RCTL_BAM 1304,54193 -#define E1000_RCTL_SZ_2048 1306,54323 -#define E1000_RCTL_SZ_1024 1307,54397 -#define E1000_RCTL_SZ_512 1308,54471 -#define E1000_RCTL_SZ_256 1309,54544 -#define E1000_RCTL_SZ_16384 1311,54676 -#define E1000_RCTL_SZ_8192 1312,54751 -#define E1000_RCTL_SZ_4096 1313,54825 -#define E1000_RCTL_VFE 1314,54899 -#define E1000_RCTL_CFIEN 1315,54972 -#define E1000_RCTL_CFI 1316,55048 -#define E1000_RCTL_DPF 1317,55127 -#define E1000_RCTL_PMCF 1318,55202 -#define E1000_RCTL_BSEX 1319,55280 -#define E1000_RCTL_SECRC 1320,55356 -#define E1000_RDT_DELAY 1323,55455 -#define E1000_RDT_FPDB 1324,55524 -#define E1000_RDLEN_LEN 1325,55593 -#define E1000_RDH_RDH 1326,55657 -#define E1000_RDT_RDT 1327,55727 -#define E1000_FCRTH_RTH 1330,55817 -#define E1000_FCRTH_XFCE 1331,55887 -#define E1000_FCRTL_RTL 1332,55962 -#define E1000_FCRTL_XONE 1333,56032 -#define E1000_RXDCTL_PTHRESH 1336,56142 -#define E1000_RXDCTL_HTHRESH 1337,56214 -#define E1000_RXDCTL_WTHRESH 1338,56282 -#define E1000_RXDCTL_GRAN 1339,56355 -#define E1000_TXDCTL_PTHRESH 1342,56455 -#define E1000_TXDCTL_HTHRESH 1343,56527 -#define E1000_TXDCTL_WTHRESH 1344,56595 -#define E1000_TXDCTL_GRAN 1345,56668 -#define E1000_TXDCTL_LWTHRESH 1346,56733 -#define E1000_TXDCTL_FULL_TX_DESC_WB 1347,56801 -#define E1000_TXCW_FD 1350,56908 -#define E1000_TXCW_HD 1351,56979 -#define E1000_TXCW_PAUSE 1352,57050 -#define E1000_TXCW_ASM_DIR 1353,57127 -#define E1000_TXCW_PAUSE_MASK 1354,57207 -#define E1000_TXCW_RF 1355,57285 -#define E1000_TXCW_NP 1356,57357 -#define E1000_TXCW_CW 1357,57426 -#define E1000_TXCW_TXC 1358,57498 -#define E1000_TXCW_ANE 1359,57576 -#define E1000_RXCW_CW 1362,57680 -#define E1000_RXCW_NC 1363,57744 -#define E1000_RXCW_IV 1364,57816 -#define E1000_RXCW_CC 1365,57885 -#define E1000_RXCW_C 1366,57953 -#define E1000_RXCW_SYNCH 1367,58014 -#define E1000_RXCW_ANC 1368,58081 -#define E1000_TCTL_RST 1371,58169 -#define E1000_TCTL_EN 1372,58230 -#define E1000_TCTL_BCE 1373,58286 -#define E1000_TCTL_PSP 1374,58350 -#define E1000_TCTL_CT 1375,58414 -#define E1000_TCTL_COLD 1376,58480 -#define E1000_TCTL_SWXOFF 1377,58545 -#define E1000_TCTL_PBE 1378,58612 -#define E1000_TCTL_RTLC 1379,58678 -#define E1000_TCTL_NRTU 1380,58754 -#define E1000_RXCSUM_PCSS_MASK 1383,58859 -#define E1000_RXCSUM_IPOFL 1384,58931 -#define E1000_RXCSUM_TUOFL 1385,59003 -#define E1000_RXCSUM_IPV6OFL 1386,59080 -#define E1000_WUC_APME 1390,59235 -#define E1000_WUC_PME_EN 1391,59292 -#define E1000_WUC_PME_STATUS 1392,59349 -#define E1000_WUC_APMPME 1393,59406 -#define E1000_WUC_SPM 1394,59477 -#define E1000_WUFC_LNKC 1397,59564 -#define E1000_WUFC_MAG 1398,59638 -#define E1000_WUFC_EX 1399,59706 -#define E1000_WUFC_MC 1400,59776 -#define E1000_WUFC_BC 1401,59850 -#define E1000_WUFC_ARP 1402,59915 -#define E1000_WUFC_IPV4 1403,59989 -#define E1000_WUFC_IPV6 1404,60065 -#define E1000_WUFC_FLX0 1405,60141 -#define E1000_WUFC_FLX1 1406,60207 -#define E1000_WUFC_FLX2 1407,60273 -#define E1000_WUFC_FLX3 1408,60339 -#define E1000_WUFC_ALL_FILTERS 1409,60405 -#define E1000_WUFC_FLX_OFFSET 1410,60481 -#define E1000_WUFC_FLX_FILTERS 1411,60562 -#define E1000_WUS_LNKC 1414,60664 -#define E1000_WUS_MAG 1415,60724 -#define E1000_WUS_EX 1416,60786 -#define E1000_WUS_MC 1417,60850 -#define E1000_WUS_BC 1418,60918 -#define E1000_WUS_ARP 1419,60977 -#define E1000_WUS_IPV4 1420,61045 -#define E1000_WUS_IPV6 1421,61122 -#define E1000_WUS_FLX0 1422,61199 -#define E1000_WUS_FLX1 1423,61263 -#define E1000_WUS_FLX2 1424,61327 -#define E1000_WUS_FLX3 1425,61391 -#define E1000_WUS_FLX_FILTERS 1426,61455 -#define E1000_MANC_SMBUS_EN 1429,61560 -#define E1000_MANC_ASF_EN 1430,61629 -#define E1000_MANC_R_ON_FORCE 1431,61696 -#define E1000_MANC_RMCP_EN 1432,61770 -#define E1000_MANC_0298_EN 1433,61848 -#define E1000_MANC_IPV4_EN 1434,61926 -#define E1000_MANC_IPV6_EN 1435,61988 -#define E1000_MANC_SNAP_EN 1436,62050 -#define E1000_MANC_ARP_EN 1437,62116 -#define E1000_MANC_NEIGHBOR_EN 1438,62195 -#define E1000_MANC_TCO_RESET 1440,62328 -#define E1000_MANC_RCV_TCO_EN 1441,62397 -#define E1000_MANC_REPORT_STATUS 1442,62475 -#define E1000_MANC_EN_MAC_ADDR_FILTER 1443,62550 -#define E1000_MANC_EN_MNG2HOST 1445,62690 -#define E1000_MANC_SMB_REQ 1447,62821 -#define E1000_MANC_SMB_GNT 1448,62885 -#define E1000_MANC_SMB_CLK_IN 1449,62947 -#define E1000_MANC_SMB_DATA_IN 1450,63012 -#define E1000_MANC_SMB_DATA_OUT 1451,63076 -#define E1000_MANC_SMB_CLK_OUT 1452,63141 -#define E1000_MANC_SMB_DATA_OUT_SHIFT 1454,63208 -#define E1000_MANC_SMB_CLK_OUT_SHIFT 1455,63277 -#define E1000_WUPL_LENGTH_MASK 1458,63376 -#define E1000_MDALIGN 1460,63456 -#define EEPROM_READ_OPCODE_MICROWIRE 1463,63527 -#define EEPROM_WRITE_OPCODE_MICROWIRE 1464,63595 -#define EEPROM_ERASE_OPCODE_MICROWIRE 1465,63664 -#define EEPROM_EWEN_OPCODE_MICROWIRE 1466,63733 -#define EEPROM_EWDS_OPCODE_MICROWIRE 1467,63808 -#define EEPROM_MAX_RETRY_SPI 1470,63913 -#define EEPROM_READ_OPCODE_SPI 1471,63988 -#define EEPROM_WRITE_OPCODE_SPI 1472,64050 -#define EEPROM_A8_OPCODE_SPI 1473,64113 -#define EEPROM_WREN_OPCODE_SPI 1474,64185 -#define EEPROM_WRDI_OPCODE_SPI 1475,64258 -#define EEPROM_RDSR_OPCODE_SPI 1476,64333 -#define EEPROM_WRSR_OPCODE_SPI 1477,64404 -#define EEPROM_SIZE_16KB 1480,64507 -#define EEPROM_SIZE_8KB 1481,64546 -#define EEPROM_SIZE_4KB 1482,64585 -#define EEPROM_SIZE_2KB 1483,64624 -#define EEPROM_SIZE_1KB 1484,64663 -#define EEPROM_SIZE_512B 1485,64702 -#define EEPROM_SIZE_128B 1486,64741 -#define EEPROM_SIZE_MASK 1487,64780 -#define EEPROM_COMPAT 1490,64846 -#define EEPROM_ID_LED_SETTINGS 1491,64891 -#define EEPROM_SERDES_AMPLITUDE 1492,64936 -#define EEPROM_PHY_CLASS_WORD 1493,65027 -#define EEPROM_INIT_CONTROL1_REG 1494,65072 -#define EEPROM_INIT_CONTROL2_REG 1495,65117 -#define EEPROM_INIT_CONTROL3_PORT_B 1496,65162 -#define EEPROM_INIT_CONTROL3_PORT_A 1497,65207 -#define EEPROM_CFG 1498,65252 -#define EEPROM_FLASH_VERSION 1499,65297 -#define EEPROM_CHECKSUM_REG 1500,65342 -#define ID_LED_RESERVED_0000 1503,65431 -#define ID_LED_RESERVED_FFFF 1504,65467 -#define ID_LED_DEFAULT 1505,65503 -#define ID_LED_DEF1_DEF2 1509,65727 -#define ID_LED_DEF1_ON2 1510,65760 -#define ID_LED_DEF1_OFF2 1511,65793 -#define ID_LED_ON1_DEF2 1512,65826 -#define ID_LED_ON1_ON2 1513,65859 -#define ID_LED_ON1_OFF2 1514,65892 -#define ID_LED_OFF1_DEF2 1515,65925 -#define ID_LED_OFF1_ON2 1516,65958 -#define ID_LED_OFF1_OFF2 1517,65991 -#define IGP_ACTIVITY_LED_MASK 1519,66025 -#define IGP_ACTIVITY_LED_ENABLE 1520,66068 -#define IGP_LED3_MODE 1521,66107 -#define EEPROM_SERDES_AMPLITUDE_MASK 1525,66224 -#define EEPROM_PHY_CLASS_A 1528,66323 -#define EEPROM_WORD0A_ILOS 1531,66414 -#define EEPROM_WORD0A_SWDPIO 1532,66450 -#define EEPROM_WORD0A_LRST 1533,66486 -#define EEPROM_WORD0A_FD 1534,66522 -#define EEPROM_WORD0A_66MHZ 1535,66558 -#define EEPROM_WORD0F_PAUSE_MASK 1538,66649 -#define EEPROM_WORD0F_PAUSE 1539,66689 -#define EEPROM_WORD0F_ASM_DIR 1540,66729 -#define EEPROM_WORD0F_ANE 1541,66769 -#define EEPROM_WORD0F_SWPDIO_EXT 1542,66809 -#define EEPROM_SUM 1545,66930 -#define EEPROM_NODE_ADDRESS_BYTE_0 1548,66996 -#define EEPROM_PBA_BYTE_1 1549,67033 -#define EEPROM_RESERVED_WORD 1551,67071 -#define PBA_SIZE 1554,67154 -#define E1000_COLLISION_THRESHOLD 1557,67223 -#define E1000_CT_SHIFT 1558,67266 -#define E1000_COLLISION_DISTANCE 1559,67308 -#define E1000_FDX_COLLISION_DISTANCE 1560,67351 -#define E1000_HDX_COLLISION_DISTANCE 1561,67416 -#define E1000_COLD_SHIFT 1562,67481 -#define REQ_TX_DESCRIPTOR_MULTIPLE 1565,67598 -#define REQ_RX_DESCRIPTOR_MULTIPLE 1566,67636 -#define DEFAULT_82542_TIPG_IPGT 1569,67726 -#define DEFAULT_82543_TIPG_IPGT_FIBER 1570,67768 -#define DEFAULT_82543_TIPG_IPGT_COPPER 1571,67809 -#define E1000_TIPG_IPGT_MASK 1573,67851 -#define E1000_TIPG_IPGR1_MASK 1574,67892 -#define E1000_TIPG_IPGR2_MASK 1575,67933 -#define DEFAULT_82542_TIPG_IPGR1 1577,67975 -#define DEFAULT_82543_TIPG_IPGR1 1578,68010 -#define E1000_TIPG_IPGR1_SHIFT 1579,68045 -#define DEFAULT_82542_TIPG_IPGR2 1581,68081 -#define DEFAULT_82543_TIPG_IPGR2 1582,68117 -#define E1000_TIPG_IPGR2_SHIFT 1583,68152 -#define E1000_TXDMAC_DPP 1585,68188 -#define TX_THRESHOLD_START 1588,68252 -#define TX_THRESHOLD_INCREMENT 1589,68285 -#define TX_THRESHOLD_DECREMENT 1590,68319 -#define TX_THRESHOLD_STOP 1591,68352 -#define TX_THRESHOLD_DISABLE 1592,68387 -#define TX_THRESHOLD_TIMER_MS 1593,68420 -#define MIN_NUM_XMITS 1594,68457 -#define IFS_MAX 1595,68493 -#define IFS_STEP 1596,68527 -#define IFS_MIN 1597,68561 -#define IFS_RATIO 1598,68595 -#define E1000_PBA_16K 1601,68649 -#define E1000_PBA_22K 1602,68715 -#define E1000_PBA_24K 1603,68744 -#define E1000_PBA_30K 1604,68773 -#define E1000_PBA_40K 1605,68802 -#define E1000_PBA_48K 1606,68831 -#define FLOW_CONTROL_ADDRESS_LOW 1609,68927 -#define FLOW_CONTROL_ADDRESS_HIGH 1610,68972 -#define FLOW_CONTROL_TYPE 1611,69017 -#define FC_DEFAULT_HI_THRESH 1614,69134 -#define FC_DEFAULT_LO_THRESH 1615,69193 -#define FC_DEFAULT_TX_TIMER 1616,69252 -#define PCIX_COMMAND_REGISTER 1619,69339 -#define PCIX_STATUS_REGISTER_LO 1620,69377 -#define PCIX_STATUS_REGISTER_HI 1621,69415 -#define PCIX_COMMAND_MMRBC_MASK 1623,69454 -#define PCIX_COMMAND_MMRBC_SHIFT 1624,69498 -#define PCIX_STATUS_HI_MMRBC_MASK 1625,69539 -#define PCIX_STATUS_HI_MMRBC_SHIFT 1626,69583 -#define PCIX_STATUS_HI_MMRBC_4K 1627,69624 -#define PCIX_STATUS_HI_MMRBC_2K 1628,69665 -#define PAUSE_SHIFT 1634,69857 -#define SWDPIO_SHIFT 1639,70030 -#define SWDPIO__EXT_SHIFT 1644,70207 -#define ILOS_SHIFT 1649,70373 -#define RECEIVE_BUFFER_ALIGN_SIZE 1652,70397 -#define LINK_UP_TIMEOUT 1655,70509 -#define E1000_TX_BUFFER_SIZE 1657,70550 -#define CARRIER_EXTENSION 1660,70657 -#define TBI_ACCEPT(TBI_ACCEPT1689,71631 -#define E1000_CTRL_PHY_RESET_DIR 1705,72344 -#define E1000_CTRL_PHY_RESET 1706,72397 -#define E1000_CTRL_MDIO_DIR 1707,72450 -#define E1000_CTRL_MDIO 1708,72503 -#define E1000_CTRL_MDC_DIR 1709,72556 -#define E1000_CTRL_MDC 1710,72609 -#define E1000_CTRL_PHY_RESET_DIR4 1711,72662 -#define E1000_CTRL_PHY_RESET4 1712,72720 -#define PHY_CTRL 1716,72860 -#define PHY_STATUS 1717,72913 -#define PHY_ID1 1718,72964 -#define PHY_ID2 1719,73020 -#define PHY_AUTONEG_ADV 1720,73076 -#define PHY_LP_ABILITY 1721,73134 -#define PHY_AUTONEG_EXP 1722,73203 -#define PHY_NEXT_PAGE_TX 1723,73261 -#define PHY_LP_NEXT_PAGE 1724,73310 -#define PHY_1000T_CTRL 1725,73369 -#define PHY_1000T_STATUS 1726,73428 -#define PHY_EXT_STATUS 1727,73486 -#define M88E1000_PHY_SPEC_CTRL 1730,73577 -#define M88E1000_PHY_SPEC_STATUS 1731,73654 -#define M88E1000_INT_ENABLE 1732,73730 -#define M88E1000_INT_STATUS 1733,73803 -#define M88E1000_EXT_PHY_SPEC_CTRL 1734,73876 -#define M88E1000_RX_ERR_CNTR 1735,73953 -#define M88E1000_PHY_EXT_CTRL 1737,74023 -#define M88E1000_PHY_PAGE_SELECT 1738,74098 -#define M88E1000_PHY_GEN_CONTROL 1739,74176 -#define M88E1000_PHY_VCO_REG_BIT8 1740,74253 -#define M88E1000_PHY_VCO_REG_BIT11 1741,74329 -#define IGP01E1000_IEEE_REGS_PAGE 1743,74405 -#define IGP01E1000_IEEE_RESTART_AUTONEG 1744,74447 -#define IGP01E1000_IEEE_FORCE_GIGA 1745,74494 -#define IGP01E1000_PHY_PORT_CONFIG 1748,74578 -#define IGP01E1000_PHY_PORT_STATUS 1749,74658 -#define IGP01E1000_PHY_PORT_CTRL 1750,74733 -#define IGP01E1000_PHY_LINK_HEALTH 1751,74809 -#define IGP01E1000_GMII_FIFO 1752,74880 -#define IGP01E1000_PHY_CHANNEL_QUALITY 1753,74945 -#define IGP01E1000_PHY_PAGE_SELECT 1754,75024 -#define IGP01E1000_PHY_AGC_A 1757,75168 -#define IGP01E1000_PHY_AGC_B 1758,75211 -#define IGP01E1000_PHY_AGC_C 1759,75254 -#define IGP01E1000_PHY_AGC_D 1760,75297 -#define IGP01E1000_PHY_DSP_RESET 1763,75377 -#define IGP01E1000_PHY_DSP_SET 1764,75419 -#define IGP01E1000_PHY_DSP_FFE 1765,75461 -#define IGP01E1000_PHY_CHANNEL_NUM 1767,75504 -#define IGP01E1000_PHY_AGC_PARAM_A 1768,75544 -#define IGP01E1000_PHY_AGC_PARAM_B 1769,75589 -#define IGP01E1000_PHY_AGC_PARAM_C 1770,75634 -#define IGP01E1000_PHY_AGC_PARAM_D 1771,75679 -#define IGP01E1000_PHY_EDAC_MU_INDEX 1773,75725 -#define IGP01E1000_PHY_EDAC_SIGN_EXT_9_BITS 1774,75776 -#define IGP01E1000_PHY_ANALOG_TX_STATE 1776,75828 -#define IGP01E1000_PHY_ANALOG_CLASS_A 1777,75879 -#define IGP01E1000_PHY_FORCE_ANALOG_ENABLE 1778,75930 -#define IGP01E1000_PHY_DSP_FFE_CM_CP 1779,75981 -#define IGP01E1000_PHY_DSP_FFE_DEFAULT 1781,76033 -#define IGP01E1000_PHY_PCS_INIT_REG 1784,76185 -#define IGP01E1000_PHY_PCS_CTRL_REG 1785,76229 -#define IGP01E1000_ANALOG_REGS_PAGE 1787,76274 -#define MAX_PHY_REG_ADDRESS 1789,76319 -#define MAX_PHY_MULTI_PAGE_REG 1790,76392 -#define MII_CR_SPEED_SELECT_MSB 1792,76501 -#define MII_CR_COLL_TEST_ENABLE 1793,76581 -#define MII_CR_FULL_DUPLEX 1794,76649 -#define MII_CR_RESTART_AUTO_NEG 1795,76718 -#define MII_CR_ISOLATE 1796,76789 -#define MII_CR_POWER_DOWN 1797,76856 -#define MII_CR_AUTO_NEG_EN 1798,76913 -#define MII_CR_SPEED_SELECT_LSB 1799,76975 -#define MII_CR_LOOPBACK 1800,77055 -#define MII_CR_RESET 1801,77126 -#define MII_SR_EXTENDED_CAPS 1804,77225 -#define MII_SR_JABBER_DETECT 1805,77302 -#define MII_SR_LINK_STATUS 1806,77364 -#define MII_SR_AUTONEG_CAPS 1807,77431 -#define MII_SR_REMOTE_FAULT 1808,77494 -#define MII_SR_AUTONEG_COMPLETE 1809,77560 -#define MII_SR_PREAMBLE_SUPPRESS 1810,77624 -#define MII_SR_EXTENDED_STATUS 1811,77697 -#define MII_SR_100T2_HD_CAPS 1812,77772 -#define MII_SR_100T2_FD_CAPS 1813,77844 -#define MII_SR_10T_HD_CAPS 1814,77916 -#define MII_SR_10T_FD_CAPS 1815,77988 -#define MII_SR_100X_HD_CAPS 1816,78060 -#define MII_SR_100X_FD_CAPS 1817,78132 -#define MII_SR_100T4_CAPS 1818,78204 -#define NWAY_AR_SELECTOR_FIELD 1821,78302 -#define NWAY_AR_10T_HD_CAPS 1822,78377 -#define NWAY_AR_10T_FD_CAPS 1823,78449 -#define NWAY_AR_100TX_HD_CAPS 1824,78521 -#define NWAY_AR_100TX_FD_CAPS 1825,78593 -#define NWAY_AR_100T4_CAPS 1826,78665 -#define NWAY_AR_PAUSE 1827,78725 -#define NWAY_AR_ASM_DIR 1828,78795 -#define NWAY_AR_REMOTE_FAULT 1829,78872 -#define NWAY_AR_NEXT_PAGE 1830,78940 -#define NWAY_LPAR_SELECTOR_FIELD 1833,79063 -#define NWAY_LPAR_10T_HD_CAPS 1834,79136 -#define NWAY_LPAR_10T_FD_CAPS 1835,79214 -#define NWAY_LPAR_100TX_HD_CAPS 1836,79292 -#define NWAY_LPAR_100TX_FD_CAPS 1837,79370 -#define NWAY_LPAR_100T4_CAPS 1838,79448 -#define NWAY_LPAR_PAUSE 1839,79514 -#define NWAY_LPAR_ASM_DIR 1840,79587 -#define NWAY_LPAR_REMOTE_FAULT 1841,79667 -#define NWAY_LPAR_ACKNOWLEDGE 1842,79742 -#define NWAY_LPAR_NEXT_PAGE 1843,79815 -#define NWAY_ER_LP_NWAY_CAPS 1846,79923 -#define NWAY_ER_PAGE_RXD 1847,79997 -#define NWAY_ER_NEXT_PAGE_CAPS 1848,80076 -#define NWAY_ER_LP_NEXT_PAGE_CAPS 1849,80155 -#define NWAY_ER_PAR_DETECT_FAULT 1850,80234 -#define NPTX_MSG_CODE_FIELD 1853,80342 -#define NPTX_TOGGLE 1854,80415 -#define NPTX_ACKNOWLDGE2 1857,80572 -#define NPTX_MSG_PAGE 1860,80739 -#define NPTX_NEXT_PAGE 1861,80811 -#define LP_RNPR_MSG_CODE_FIELD 1866,81013 -#define LP_RNPR_TOGGLE 1867,81089 -#define LP_RNPR_ACKNOWLDGE2 1870,81255 -#define LP_RNPR_MSG_PAGE 1873,81431 -#define LP_RNPR_ACKNOWLDGE 1874,81507 -#define LP_RNPR_NEXT_PAGE 1875,81573 -#define CR_1000T_ASYM_PAUSE 1880,81783 -#define CR_1000T_HD_CAPS 1881,81860 -#define CR_1000T_FD_CAPS 1882,81936 -#define CR_1000T_REPEATER_DTE 1883,82013 -#define CR_1000T_MS_VALUE 1885,82148 -#define CR_1000T_MS_ENABLE 1887,82291 -#define CR_1000T_TEST_MODE_NORMAL 1889,82450 -#define CR_1000T_TEST_MODE_1 1890,82514 -#define CR_1000T_TEST_MODE_2 1891,82583 -#define CR_1000T_TEST_MODE_3 1892,82657 -#define CR_1000T_TEST_MODE_4 1893,82730 -#define SR_1000T_IDLE_ERROR_CNT 1896,82838 -#define SR_1000T_ASYM_PAUSE_DIR 1897,82917 -#define SR_1000T_LP_HD_CAPS 1898,82998 -#define SR_1000T_LP_FD_CAPS 1899,83068 -#define SR_1000T_REMOTE_RX_STATUS 1900,83138 -#define SR_1000T_LOCAL_RX_STATUS 1901,83204 -#define SR_1000T_MS_CONFIG_RES 1902,83269 -#define SR_1000T_MS_CONFIG_FAULT 1903,83346 -#define SR_1000T_REMOTE_RX_STATUS_SHIFT 1904,83419 -#define SR_1000T_LOCAL_RX_STATUS_SHIFT 1905,83471 -#define SR_1000T_PHY_EXCESSIVE_IDLE_ERR_COUNT 1906,83523 -#define FFE_IDLE_ERR_COUNT_TIMEOUT_20 1907,83574 -#define FFE_IDLE_ERR_COUNT_TIMEOUT_100 1908,83626 -#define IEEE_ESR_1000T_HD_CAPS 1911,83711 -#define IEEE_ESR_1000T_FD_CAPS 1912,83772 -#define IEEE_ESR_1000X_HD_CAPS 1913,83833 -#define IEEE_ESR_1000X_FD_CAPS 1914,83894 -#define PHY_TX_POLARITY_MASK 1916,83956 -#define PHY_TX_NORMAL_POLARITY 1917,84034 -#define AUTO_POLARITY_DISABLE 1919,84116 -#define M88E1000_PSCR_JABBER_DISABLE 1923,84291 -#define M88E1000_PSCR_POLARITY_REVERSAL 1924,84371 -#define M88E1000_PSCR_SQE_TEST 1925,84452 -#define M88E1000_PSCR_CLK125_DISABLE 1926,84524 -#define M88E1000_PSCR_MDI_MANUAL_MODE 1929,84707 -#define M88E1000_PSCR_MDIX_MANUAL_MODE 1931,84866 -#define M88E1000_PSCR_AUTO_X_1000T 1932,84945 -#define M88E1000_PSCR_AUTO_X_MODE 1936,85206 -#define M88E1000_PSCR_10BT_EXT_DIST_ENABLE 1939,85392 -#define M88E1000_PSCR_MII_5BIT_ENABLE 1943,85671 -#define M88E1000_PSCR_SCRAMBLER_DISABLE 1946,85872 -#define M88E1000_PSCR_FORCE_LINK_GOOD 1947,85948 -#define M88E1000_PSCR_ASSERT_CRS_ON_TX 1948,86022 -#define M88E1000_PSCR_POLARITY_REVERSAL_SHIFT 1950,86104 -#define M88E1000_PSCR_AUTO_X_MODE_SHIFT 1951,86155 -#define M88E1000_PSCR_10BT_EXT_DIST_ENABLE_SHIFT 1952,86206 -#define M88E1000_PSSR_JABBER 1955,86302 -#define M88E1000_PSSR_REV_POLARITY 1956,86365 -#define M88E1000_PSSR_DOWNSHIFT 1957,86439 -#define M88E1000_PSSR_MDIX 1958,86507 -#define M88E1000_PSSR_CABLE_LENGTH 1959,86575 -#define M88E1000_PSSR_LINK 1961,86721 -#define M88E1000_PSSR_SPD_DPLX_RESOLVED 1962,86798 -#define M88E1000_PSSR_PAGE_RCVD 1963,86878 -#define M88E1000_PSSR_DPLX 1964,86948 -#define M88E1000_PSSR_SPEED 1965,87025 -#define M88E1000_PSSR_10MBS 1966,87097 -#define M88E1000_PSSR_100MBS 1967,87160 -#define M88E1000_PSSR_1000MBS 1968,87224 -#define M88E1000_PSSR_REV_POLARITY_SHIFT 1970,87290 -#define M88E1000_PSSR_DOWNSHIFT_SHIFT 1971,87333 -#define M88E1000_PSSR_MDIX_SHIFT 1972,87376 -#define M88E1000_PSSR_CABLE_LENGTH_SHIFT 1973,87419 -#define M88E1000_EPSCR_FIBER_LOOPBACK 1976,87517 -#define M88E1000_EPSCR_DOWN_NO_IDLE 1977,87585 -#define M88E1000_EPSCR_MASTER_DOWNSHIFT_MASK 1984,88037 -#define M88E1000_EPSCR_MASTER_DOWNSHIFT_1X 1985,88089 -#define M88E1000_EPSCR_MASTER_DOWNSHIFT_2X 1986,88141 -#define M88E1000_EPSCR_MASTER_DOWNSHIFT_3X 1987,88193 -#define M88E1000_EPSCR_MASTER_DOWNSHIFT_4X 1988,88245 -#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_MASK 1991,88395 -#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_DIS 1992,88447 -#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_1X 1993,88499 -#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_2X 1994,88551 -#define M88E1000_EPSCR_SLAVE_DOWNSHIFT_3X 1995,88603 -#define M88E1000_EPSCR_TX_CLK_2_5 1996,88655 -#define M88E1000_EPSCR_TX_CLK_25 1997,88721 -#define M88E1000_EPSCR_TX_CLK_0 1998,88787 -#define IGP01E1000_PSCFR_AUTO_MDIX_PAR_DETECT 2001,88903 -#define IGP01E1000_PSCFR_PRE_EN 2002,88957 -#define IGP01E1000_PSCFR_SMART_SPEED 2003,89011 -#define IGP01E1000_PSCFR_DISABLE_TPLOOPBACK 2004,89065 -#define IGP01E1000_PSCFR_DISABLE_JABBER 2005,89119 -#define IGP01E1000_PSCFR_DISABLE_TRANSMIT 2006,89173 -#define IGP01E1000_PSSR_AUTONEG_FAILED 2009,89281 -#define IGP01E1000_PSSR_POLARITY_REVERSED 2010,89350 -#define IGP01E1000_PSSR_CABLE_LENGTH 2011,89404 -#define IGP01E1000_PSSR_FULL_DUPLEX 2012,89458 -#define IGP01E1000_PSSR_LINK_UP 2013,89512 -#define IGP01E1000_PSSR_MDIX 2014,89566 -#define IGP01E1000_PSSR_SPEED_MASK 2015,89620 -#define IGP01E1000_PSSR_SPEED_10MBPS 2016,89696 -#define IGP01E1000_PSSR_SPEED_100MBPS 2017,89750 -#define IGP01E1000_PSSR_SPEED_1000MBPS 2018,89804 -#define IGP01E1000_PSSR_CABLE_LENGTH_SHIFT 2019,89858 -#define IGP01E1000_PSSR_MDIX_SHIFT 2020,89932 -#define IGP01E1000_PSCR_TP_LOOPBACK 2023,90062 -#define IGP01E1000_PSCR_CORRECT_NC_SCMBLR 2024,90116 -#define IGP01E1000_PSCR_TEN_CRS_SELECT 2025,90170 -#define IGP01E1000_PSCR_FLIP_CHIP 2026,90224 -#define IGP01E1000_PSCR_AUTO_MDIX 2027,90278 -#define IGP01E1000_PSCR_FORCE_MDI_MDIX 2028,90332 -#define IGP01E1000_PLHR_SS_DOWNGRADE 2031,90459 -#define IGP01E1000_PLHR_GIG_SCRAMBLER_ERROR 2032,90513 -#define IGP01E1000_PLHR_MASTER_FAULT 2033,90567 -#define IGP01E1000_PLHR_MASTER_RESOLUTION 2034,90621 -#define IGP01E1000_PLHR_GIG_REM_RCVR_NOK 2035,90675 -#define IGP01E1000_PLHR_IDLE_ERROR_CNT_OFLOW 2036,90738 -#define IGP01E1000_PLHR_DATA_ERR_1 2037,90801 -#define IGP01E1000_PLHR_DATA_ERR_0 2038,90864 -#define IGP01E1000_PLHR_AUTONEG_FAULT 2039,90918 -#define IGP01E1000_PLHR_AUTONEG_ACTIVE 2040,90972 -#define IGP01E1000_PLHR_VALID_CHANNEL_D 2041,91026 -#define IGP01E1000_PLHR_VALID_CHANNEL_C 2042,91080 -#define IGP01E1000_PLHR_VALID_CHANNEL_B 2043,91134 -#define IGP01E1000_PLHR_VALID_CHANNEL_A 2044,91188 -#define IGP01E1000_MSE_CHANNEL_D 2047,91285 -#define IGP01E1000_MSE_CHANNEL_C 2048,91332 -#define IGP01E1000_MSE_CHANNEL_B 2049,91379 -#define IGP01E1000_MSE_CHANNEL_A 2050,91426 -#define DSP_RESET_ENABLE 2053,91508 -#define DSP_RESET_DISABLE 2054,91541 -#define E1000_MAX_DSP_RESETS 2055,91574 -#define IGP01E1000_AGC_LENGTH_SHIFT 2059,91639 -#define IGP01E1000_AGC_LENGTH_TABLE_SIZE 2062,91777 -#define IGP01E1000_AGC_RANGE 2065,91874 -#define IGP01E1000_PHY_POLARITY_MASK 2069,92020 -#define IGP01E1000_GMII_FLEX_SPD 2072,92104 -#define IGP01E1000_GMII_SPD 2074,92250 -#define IGP01E1000_ANALOG_SPARE_FUSE_STATUS 2077,92353 -#define IGP01E1000_ANALOG_FUSE_STATUS 2078,92410 -#define IGP01E1000_ANALOG_FUSE_CONTROL 2079,92467 -#define IGP01E1000_ANALOG_FUSE_BYPASS 2080,92524 -#define IGP01E1000_ANALOG_FUSE_POLY_MASK 2082,92582 -#define IGP01E1000_ANALOG_FUSE_FINE_MASK 2083,92641 -#define IGP01E1000_ANALOG_FUSE_COARSE_MASK 2084,92700 -#define IGP01E1000_ANALOG_SPARE_FUSE_ENABLED 2085,92759 -#define IGP01E1000_ANALOG_FUSE_ENABLE_SW_CONTROL 2086,92818 -#define IGP01E1000_ANALOG_FUSE_COARSE_THRESH 2088,92878 -#define IGP01E1000_ANALOG_FUSE_COARSE_10 2089,92937 -#define IGP01E1000_ANALOG_FUSE_FINE_1 2090,92996 -#define IGP01E1000_ANALOG_FUSE_FINE_10 2091,93055 -#define M88E1000_E_PHY_ID 2094,93156 -#define M88E1000_I_PHY_ID 2095,93194 -#define M88E1011_I_PHY_ID 2096,93232 -#define IGP01E1000_I_PHY_ID 2097,93270 -#define M88E1000_12_PHY_ID 2098,93310 -#define M88E1000_14_PHY_ID 2099,93355 -#define M88E1011_I_REV_4 2100,93400 -#define PHY_PREAMBLE 2103,93474 -#define PHY_SOF 2104,93513 -#define PHY_OP_READ 2105,93546 -#define PHY_OP_WRITE 2106,93579 -#define PHY_TURNAROUND 2107,93612 -#define PHY_PREAMBLE_SIZE 2108,93645 -#define MII_CR_SPEED_1000 2109,93676 -#define MII_CR_SPEED_100 2110,93711 -#define MII_CR_SPEED_10 2111,93746 -#define E1000_PHY_ADDRESS 2112,93781 -#define PHY_AUTO_NEG_TIME 2113,93814 -#define PHY_FORCE_TIME 2114,93864 -#define PHY_REVISION_MASK 2115,93914 -#define DEVICE_SPEED_MASK 2116,93953 -#define REG4_SPEED_MASK 2117,94026 -#define REG9_SPEED_MASK 2118,94061 -#define ADVERTISE_10_HALF 2119,94096 -#define ADVERTISE_10_FULL 2120,94131 -#define ADVERTISE_100_HALF 2121,94166 -#define ADVERTISE_100_FULL 2122,94201 -#define ADVERTISE_1000_HALF 2123,94236 -#define ADVERTISE_1000_FULL 2124,94271 -#define AUTONEG_ADVERTISE_SPEED_DEFAULT 2125,94306 -#define AUTONEG_ADVERTISE_10_100_ALL 2126,94385 -#define AUTONEG_ADVERTISE_10_ALL 2127,94455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000_ethtool.c,2022 -struct e1000_stats e1000_stats48,1919 -#define E1000_STAT(E1000_STAT54,2016 -static const struct e1000_stats e1000_gstrings_stats[56,2122 -#define E1000_STATS_LEN 95,4243 -static const char e1000_gstrings_test[97,4328 -#define E1000_TEST_LEN 102,4534 -e1000_get_settings(105,4615 -e1000_set_settings(179,6504 -e1000_get_pauseparam(205,7064 -e1000_set_pauseparam(225,7551 -e1000_get_rx_csum(258,8340 -e1000_set_rx_csum(265,8474 -e1000_get_tx_csum(279,8746 -e1000_set_tx_csum(285,8858 -e1000_set_tso(305,9199 -e1000_get_msglevel(321,9568 -e1000_set_msglevel(328,9707 -e1000_get_regs_len(335,9861 -#define E1000_REGS_LEN 337,9909 -e1000_get_regs(342,9993 -e1000_get_eeprom_len(431,13861 -e1000_get_eeprom(438,14014 -e1000_set_eeprom(484,15196 -e1000_get_drvinfo(545,16981 -e1000_get_ringparam(561,17535 -e1000_set_ringparam(582,18218 -#define REG_PATTERN_TEST(REG_PATTERN_TEST644,20029 -#define REG_SET_AND_CHECK(REG_SET_AND_CHECK660,20998 -e1000_reg_test(673,21738 -e1000_eeprom_test(739,23856 -e1000_test_intr(763,24368 -e1000_intr_test(776,24631 -e1000_free_desc_rings(881,27172 -e1000_setup_desc_rings(924,28292 -e1000_phy_disable_receiver(1046,32028 -e1000_phy_reset_clk_and_crs(1056,32364 -e1000_nonintegrated_phy_loopback(1080,33185 -e1000_integrated_phy_loopback(1147,35167 -e1000_set_phy_loopback(1199,36839 -e1000_setup_loopback_test(1246,37911 -e1000_loopback_cleanup(1270,38619 -e1000_create_lbtest_frame(1297,39497 -e1000_check_lbtest_frame(1307,39852 -e1000_run_loopback_test(1320,40173 -e1000_loopback_test(1346,40926 -e1000_link_test(1358,41283 -e1000_diag_test_count(1370,41509 -e1000_diag_test(1376,41599 -e1000_get_wol(1437,43248 -e1000_set_wol(1480,44328 -#define E1000_ID_INTERVAL 1520,45436 -#define E1000_LED_ON 1523,45512 -e1000_led_blink_callback(1526,45549 -e1000_phys_id(1539,45868 -e1000_nway_reset(1567,46602 -e1000_get_stats_count(1578,46797 -e1000_get_ethtool_stats(1584,46889 -e1000_get_strings(1599,47310 -struct ethtool_ops e1000_ethtool_ops 1618,47703 -void set_ethtool_ops(1655,49143 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000_main.c,2868 -char e1000_driver_name[44,1627 -char e1000_driver_string[45,1663 -#define DRIVERNAPI47,1754 -#define DRIVERNAPI 49,1779 -#define DRV_VERSION 51,1813 -char e1000_driver_version[52,1855 -char e1000_copyright[53,1898 -static struct pci_device_id e1000_pci_tbl[62,2121 -struct notifier_block e1000_notifier_reboot 175,7213 -static struct pci_driver e1000_driver 185,7435 -static int debug 202,7883 -e1000_init_module(214,8234 -e1000_exit_module(239,8730 -e1000_up(249,8889 -e1000_down(285,9743 -e1000_reset(314,10577 -e1000_probe(380,12544 -e1000_remove(623,18904 -e1000_sw_init(658,19806 -e1000_open(737,21790 -e1000_close(780,22747 -e1000_check_64k_bound(799,23174 -e1000_setup_tx_resources(825,23849 -e1000_configure_tx(899,25981 -e1000_setup_rx_resources(977,28379 -e1000_setup_rctl(1050,30439 -e1000_configure_rx(1098,31527 -e1000_free_tx_resources(1149,33064 -e1000_unmap_and_free_tx_resource(1165,33441 -e1000_clean_tx_ring(1189,33943 -e1000_free_rx_resources(1230,34905 -e1000_clean_rx_ring(1251,35348 -e1000_enter_82542_rst(1293,36358 -e1000_leave_82542_rst(1311,36747 -e1000_set_mac(1340,37431 -e1000_set_multi(1375,38439 -e1000_update_phy_info(1445,40251 -e1000_82547_tx_fifo_stall(1457,40542 -e1000_watchdog(1499,41793 -#define E1000_TX_FLAGS_CSUM 1595,45018 -#define E1000_TX_FLAGS_VLAN 1596,45058 -#define E1000_TX_FLAGS_TSO 1597,45098 -#define E1000_TX_FLAGS_VLAN_MASK 1598,45137 -#define E1000_TX_FLAGS_VLAN_SHIFT 1599,45181 -e1000_tso(1602,45243 -e1000_tx_csum(1656,47091 -#define E1000_MAX_TXD_PWR 1683,47806 -#define E1000_MAX_DATA_PER_TXD 1684,47835 -e1000_tx_map(1687,47908 -e1000_tx_queue(1778,50263 -#define E1000_FIFO_HDR 1835,52104 -#define E1000_82547_PAD_LEN 1836,52134 -e1000_82547_fifo_workaround(1839,52188 -#define TXD_USE_COUNT(TXD_USE_COUNT1864,52864 -e1000_xmit_frame(1866,52923 -e1000_tx_timeout(1970,55722 -e1000_tx_timeout_task(1979,55923 -e1000_get_stats(1996,56334 -e1000_change_mtu(2013,56706 -e1000_update_stats(2059,57869 -#define PHY_IDLE_ERROR_COUNT_MASK 2065,58000 -e1000_irq_disable(2195,63229 -e1000_irq_enable(2209,63554 -e1000_intr(2225,63938 -e1000_clean(2271,64983 -e1000_clean_tx_irq(2302,65718 -e1000_clean_rx_irq(2376,67684 -e1000_alloc_rx_buffers(2488,70609 -e1000_smartspeed(2591,73315 -e1000_ioctl(2648,75174 -e1000_mii_ioctl(2668,75472 -e1000_rx_checksum(2762,77660 -e1000_pci_set_mwi(2790,78474 -e1000_pci_clear_mwi(2799,78612 -e1000_read_pci_cfg(2807,78738 -e1000_write_pci_cfg(2815,78913 -e1000_io_read(2823,79095 -e1000_io_write(2829,79179 -e1000_vlan_rx_register(2835,79288 -e1000_vlan_rx_add_vid(2870,80196 -e1000_vlan_rx_kill_vid(2883,80539 -e1000_restore_vlan(2903,81013 -e1000_set_spd_dplx(2918,81332 -e1000_notify_reboot(2949,82118 -e1000_suspend(2966,82479 - #define E1000_CTRL_ADVD3WUC 2996,83318 - #define E1000_CTRL_EN_PHY_PWR_MGMT 2998,83397 -e1000_resume(3046,84765 -e1000_netpoll 3085,85720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/e1000/e1000_param.c,1163 -#define E1000_MAX_NIC 35,1336 -#define OPTION_UNSET 37,1362 -#define OPTION_DISABLED 38,1389 -#define OPTION_ENABLED 39,1415 -#define E1000_PARAM_INIT 51,1872 -#define E1000_PARAM(E1000_PARAM58,2142 -#define AUTONEG_ADV_DEFAULT 195,5531 -#define AUTONEG_ADV_MASK 196,5565 -#define FLOW_CONTROL_DEFAULT 197,5599 -#define DEFAULT_RDTR 199,5647 -#define MAX_RXDELAY 200,5688 -#define MIN_RXDELAY 201,5729 -#define DEFAULT_RADV 203,5771 -#define MAX_RXABSDELAY 204,5812 -#define MIN_RXABSDELAY 205,5853 -#define DEFAULT_TIDV 207,5895 -#define MAX_TXDELAY 208,5936 -#define MIN_TXDELAY 209,5977 -#define DEFAULT_TADV 211,6019 -#define MAX_TXABSDELAY 212,6060 -#define MIN_TXABSDELAY 213,6101 -#define DEFAULT_ITR 215,6143 -#define MAX_ITR 216,6184 -#define MIN_ITR 217,6225 -struct e1000_option e1000_option219,6267 - enum { enable_option,220,6289 - enum { enable_option, range_option,220,6289 - enum { enable_option, range_option, list_option 220,6289 - struct e1000_opt_list e1000_opt_list231,6502 -e1000_validate_option(237,6593 -e1000_check_options(301,8114 -e1000_check_fiber_options(481,13401 -e1000_check_copper_options(509,14206 - #define AA 558,15516 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/rrunner.c,1307 -#define DEBUG 27,971 -#define RX_DMA_SKBUFF 28,987 -#define PKT_COPY_THRESHOLD 29,1011 -#define rr_if_busy(rr_if_busy53,1541 -#define rr_if_running(rr_if_running54,1594 -#define RUN_AT(RUN_AT58,1664 -static char version[65,1837 -static char version[] __initdata 65,1837 -static int __devinit rr_init_one(90,2805 -static void __devexit rr_remove_one 235,5769 -static void rr_issue_cmd(268,6613 -static int rr_reset(304,7554 -static unsigned int rr_read_eeprom(416,10254 -static u32 rr_read_eeprom_word(451,11036 -static unsigned int write_eeprom(468,11357 -static int __init rr_init(520,12440 -static int rr_init1(589,14368 -static u32 rr_handle_event(759,18841 -static void rx_int(962,24251 -static irqreturn_t rr_interrupt(1057,26590 -static inline void rr_raz_tx(1142,28669 -static inline void rr_raz_rx(1164,29131 -static void rr_timer(1185,29607 -static int rr_open(1213,30354 -static void rr_dump(1300,32599 -static int rr_close(1363,34611 -static int rr_start_xmit(1428,35976 -static struct net_device_stats *rr_get_stats(1496,37638 -static int rr_load_firmware(1513,38023 -static int rr_ioctl(1618,40517 -static struct pci_device_id rr_pci_tbl[1725,42992 -static struct pci_driver rr_driver 1732,43179 -static int __init rr_init_module(1739,43332 -static void __exit rr_cleanup_module(1744,43413 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bmac.c,3417 -#define trunc_page(trunc_page34,818 -#define round_page(round_page35,909 -#define ENET_CRCPOLY 40,1070 -#define SUNHME_MULTICAST43,1164 -#define N_RX_RING 45,1190 -#define N_TX_RING 46,1211 -#define MAX_TX_ACTIVE 47,1232 -#define ETHERCRC 48,1256 -#define ETHERMINPACKET 49,1275 -#define ETHERMTU 50,1301 -#define RX_BUFLEN 51,1323 -#define TX_TIMEOUT 52,1372 -#define TX_DMA_ERR 55,1444 -#define XXDEBUG(XXDEBUG57,1469 -struct bmac_data bmac_data59,1492 -typedef struct bmac_reg_entry bmac_reg_entry89,2257 -} bmac_reg_entry_t;bmac_reg_entry_t92,2330 -#define N_REG_ENTRIES 94,2351 -static bmac_reg_entry_t reg_entries[96,2377 -static unsigned char *bmac_emergency_rxbuf;132,3038 -#define PRIV_BYTES 140,3309 -#define DBDMA_SET(DBDMA_SET164,4603 -#define DBDMA_CLEAR(DBDMA_CLEAR165,4646 -dbdma_st32(168,4702 -dbdma_ld32(175,4869 -dbdma_continue(183,5021 -dbdma_reset(191,5204 -dbdma_setcmd(201,5462 -void bmwrite(214,5808 -volatile unsigned short bmread(221,5961 -bmac_enable_and_reset_chip(227,6114 -#define MIFDELAY 241,6439 -bmac_mif_readbits(244,6488 -bmac_mif_writebits(264,6818 -bmac_mif_read(278,7056 -bmac_mif_write(298,7449 -bmac_init_registers(311,7781 -bmac_disable_interrupts(392,9948 -bmac_enable_interrupts(398,10052 -bmac_start_chip(406,10165 -bmac_init_phy(425,10644 -static void bmac_init_chip(451,11274 -static int bmac_suspend(458,11395 -static int bmac_resume(508,13002 -static int bmac_set_address(526,13392 -static inline void bmac_set_timeout(551,13999 -bmac_construct_xmt(568,14467 -bmac_construct_rxbuff(582,14755 -bitrev(592,15064 -bmac_init_tx_ring(603,15193 -bmac_init_rx_ring(624,15715 -static int bmac_transmit_packet(657,16534 -static int rxintcount;690,17315 -static irqreturn_t bmac_rxdma_intr(692,17339 -static int txintcount;767,19018 -static irqreturn_t bmac_txdma_intr(769,19042 -static struct net_device_stats *bmac_stats(823,20263 -static int reverse6[832,20474 -crc416(844,20845 -bmac_crc(872,21476 -bmac_addhash(890,21920 -bmac_removehash(905,22354 -bmac_rx_off(926,23042 -bmac_rx_on(939,23279 -bmac_update_hash_table_mask(957,23794 -bmac_add_multi(967,24154 -bmac_remove_multi(979,24499 -static void bmac_set_multicast(995,25010 -static void bmac_set_multicast(1039,26424 -static int miscintcount;1084,27479 -static irqreturn_t bmac_misc_intr(1086,27505 -#define SROMAddressLength 1113,28519 -#define DataInOn 1114,28547 -#define DataInOff 1115,28572 -#define Clk 1116,28598 -#define ChipSelect 1117,28619 -#define SDIShiftCount 1118,28646 -#define SD0ShiftCount 1119,28671 -#define DelayValue 1120,28696 -#define SROMStartOffset 1121,28750 -#define SROMReadCount 1122,28801 -#define SROMAddressBits 1123,28866 -#define EnetAddressOffset 1124,28893 -bmac_clock_out_bit(1127,28944 -bmac_clock_in_bit(1146,29287 -reset_and_select_srom(1164,29658 -read_srom(1177,29921 -bmac_verify_checksum(1206,30490 -bmac_get_station_address(1219,30731 -static void bmac_reset_and_enable(1233,31049 -static int __devinit bmac_probe(1264,31860 -static int bmac_open(1409,35919 -static int bmac_close(1421,36181 -bmac_start(1470,37430 -bmac_output(1496,37890 -static void bmac_tx_timeout(1504,38056 -static void dump_dbdma(1576,40327 -bmac_proc_info(1595,40648 -static int __devexit bmac_remove(1630,41287 -static struct of_match bmac_match[1652,41729 -static struct macio_driver bmac_driver 1669,41977 -static int __init bmac_init(1682,42196 -static void __exit bmac_exit(1695,42505 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sun3_82586.c,1907 -static int debuglevel 26,815 -static int automatic_resume 27,885 -static int rfdadd 28,962 -static int fifo=29,1031 -#define DRV_NAME 56,1614 -#define DEBUG 58,1645 -#define SYSBUSVAL 59,1680 -#define SUN3_82586_TOTAL_SIZE 60,1713 -#define sun3_attn586(sun3_attn58662,1754 -#define sun3_reset586(sun3_reset58663,1899 -#define sun3_disint(sun3_disint64,2046 -#define sun3_enaint(sun3_enaint65,2132 -#define sun3_active(sun3_active66,2217 -#define make32(make3268,2328 -#define make24(make2469,2400 -#define make16(make1670,2477 -#define RECV_BUFF_SIZE 86,3168 -#define XMIT_BUFF_SIZE 87,3221 -#define NUM_XMIT_BUFFS 88,3274 -#define NUM_RECV_BUFFS_8 89,3329 -#define NUM_RECV_BUFFS_16 90,3388 -#define NUM_RECV_BUFFS_32 91,3448 -#define NO_NOPCOMMANDS 92,3509 -#define DELAY(DELAY97,3681 -#define DELAY_16(DELAY_1698,3714 -#define DELAY_18(DELAY_1899,3750 -#define WAIT_4_SCB_CMD(WAIT_4_SCB_CMD102,3823 -#define WAIT_4_SCB_CMD_RUC(WAIT_4_SCB_CMD_RUC111,4144 -#define WAIT_4_STAT_COMPL(WAIT_4_STAT_COMPL119,4473 -struct privpriv146,5739 -static int sun3_82586_close(172,6560 -static int sun3_82586_open(186,6806 -static int check586(211,7236 -static void alloc586(250,8359 -struct net_device * __init sun3_82586_probe(283,9175 -static int __init sun3_82586_probe1(337,10193 -static int init586(399,12039 -static void *alloc_rfa(635,18596 -static irqreturn_t sun3_82586_interrupt(681,19843 -static void sun3_82586_rcv_int(756,21517 -static void sun3_82586_rnr_int(879,24786 -static void sun3_82586_xmt_int(902,25451 -static void startrecv586(953,26690 -static void sun3_82586_timeout(965,27006 -static int sun3_82586_send_packet(1003,28223 -static struct net_device_stats *sun3_82586_get_stats(1115,31141 -static void set_multicast_list(1141,31804 -static struct net_device *dev_sun3_82586;1154,32065 -int init_module(1156,32108 -void cleanup_module(1164,32249 -void sun3_82586_dump(1178,32565 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/bsd_comp.c,1572 -#define PACKETPTR 73,3225 -#define BSD_VERSION(BSD_VERSION106,4408 -#define BSD_NBITS(BSD_NBITS107,4442 -#define BSD_CURRENT_VERSION 109,4477 -struct bsd_dict bsd_dict115,4556 -struct bsd_db bsd_db136,5197 -#define BSD_OVHD 163,6598 -#define MIN_BSD_BITS 164,6653 -#define BSD_INIT_BITS 165,6676 -#define MAX_BSD_BITS 166,6711 -#define CLEAR 199,8041 -#define FIRST 200,8091 -#define LAST 201,8134 -#define MAXCODE(MAXCODE203,8152 -#define BADCODEM1 204,8188 -#define BSD_HASH(BSD_HASH206,8230 -#define BSD_KEY(BSD_KEY208,8343 -#define CHECK_GAP 211,8446 -#define RATIO_SCALE_LOG 213,8499 -#define RATIO_SCALE 214,8525 -#define RATIO_MAX 215,8566 -bsd_clear(222,8659 -static int bsd_check 247,9347 -static void bsd_comp_stats 293,10361 -static void bsd_reset 311,10876 -static void bsd_free 325,11086 -static void *bsd_alloc 358,11531 -static void *bsd_comp_alloc 458,13722 -static void *bsd_decomp_alloc 463,13841 -static int bsd_init 472,13998 -static int bsd_comp_init 515,14778 -static int bsd_decomp_init 521,14964 -#define dict_ptrx(dict_ptrx532,15249 -#define lens_ptrx(lens_ptrx533,15290 -static unsigned short *lens_ptr(536,15345 -static struct bsd_dict *dict_ptr(546,15579 -#define lens_ptr(lens_ptr557,15816 -#define dict_ptr(dict_ptr558,15859 -static int bsd_compress 572,16258 -#define PUTBYTE(PUTBYTE592,16691 -#define OUTPUT(OUTPUT605,16891 -static void bsd_incomp 814,21176 -static int bsd_decompress 836,22049 -static struct compressor ppp_bsd_compress 1141,28826 -int __init bsdcomp_init(1163,29478 -void __exit bsdcomp_cleanup(1171,29668 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/7990.c,722 -#define WRITERAP(WRITERAP45,1355 -#define WRITERDP(WRITERDP46,1396 -#define READRDP(READRDP47,1437 -#define DECLARE_LL 52,1648 -#define PRINT_RINGS(PRINT_RINGS57,1778 -#define PRINT_RINGS(PRINT_RINGS74,2514 -static void load_csrs 78,2627 -#define DEBUG_IRING 98,3214 -static void lance_init_ring 100,3294 -static int init_restart_lance 192,6841 -static int lance_reset 217,7567 -static int lance_rx 237,8035 -static int lance_tx 317,11392 -lance_interrupt 401,14844 -int lance_open 458,16609 -int lance_close 475,17048 -void lance_tx_timeout(491,17340 -int lance_start_xmit 500,17496 -struct net_device_stats *lance_get_stats 557,19113 -static void lance_load_multicast 565,19311 -void lance_set_multicast 602,20381 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/au1000_eth.c,1947 -static int au1000_debug 49,1441 -static int au1000_debug 51,1477 -} au1000_iflist[107,3640 -static char version[120,3966 -static char version[] __devinitdata 120,3966 -static unsigned char au1000_mac_addr[127,4196 -static unsigned char au1000_mac_addr[6] __devinitdata 127,4196 -#define nibswap(nibswap131,4295 -#define RUN_AT(RUN_AT132,4358 -#define cpu_to_dma32 135,4448 -#define dma32_to_cpu 136,4481 -int bcm_5201_init(144,4603 -int bcm_5201_reset(178,5612 -bcm_5201_status(200,6169 -int lsi_80227_init(239,6980 -int lsi_80227_reset(257,7321 -lsi_80227_status(283,7934 -int am79c901_init(322,8756 -int am79c901_reset(328,8856 -am79c901_status(335,8963 -struct phy_ops bcm_5201_ops 340,9056 -struct phy_ops am79c901_ops 346,9143 -struct phy_ops lsi_80227_ops 352,9230 -static struct mii_chip_info mii_chip_info358,9322 -} mii_chip_table[363,9427 -static int mdio_read(371,9735 -static void mdio_write(403,10452 -static void dump_mii(426,10984 -static int __init mii_probe 440,11320 -static db_dest_t *GetFreeDB(511,13221 -void ReleaseDB(523,13413 -static void *dma_alloc(537,13754 -static void dma_free(553,14050 -static void enable_rx_tx(560,14191 -static void hard_stop(571,14465 -static void reset_mac(583,14735 -setup_hw_rings(610,15436 -static int __init au1000_init_module(624,15753 -au1000_probe1(655,16534 -static int au1000_init(827,21211 -static void au1000_timer(875,22530 -static int au1000_open(930,23867 -static int au1000_close(963,24676 -static void __exit au1000_cleanup_module(985,25132 -update_tx_stats(991,25205 -static void au1000_tx_ack(1023,25982 -static int au1000_tx(1051,26594 -static inline void update_rx_stats(1105,27958 -static int au1000_rx(1133,28592 -irqreturn_t au1000_interrupt(1209,30633 -static void au1000_tx_timeout(1227,31037 -static void set_rx_mode(1236,31254 -static int au1000_ioctl(1270,32345 -static int au1000_set_config(1297,32919 -static struct net_device_stats *au1000_get_stats(1392,35756 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/7990.h,2521 -#define _7990_H14,485 -struct lance_regs lance_regs17,585 -#define LANCE_LOG_TX_BUFFERS 37,1506 -#define LANCE_LOG_RX_BUFFERS 38,1537 -#define TX_RING_SIZE 41,1576 -#define RX_RING_SIZE 42,1623 -#define TX_RING_MOD_MASK 43,1670 -#define RX_RING_MOD_MASK 44,1714 -#define TX_RING_LEN_BITS 45,1758 -#define RX_RING_LEN_BITS 46,1814 -#define PKT_BUFF_SIZE 47,1870 -#define RX_BUFF_SIZE 48,1899 -#define TX_BUFF_SIZE 49,1934 -struct lance_rx_desc lance_rx_desc52,2047 -struct lance_tx_desc lance_tx_desc63,2481 -struct lance_init_block lance_init_block76,3087 -struct lance_privatelance_private104,4498 -#define LE_CSR0 138,5728 -#define LE_CSR1 139,5798 -#define LE_CSR2 140,5881 -#define LE_CSR3 141,5960 -#define LE_C0_ERR 146,6074 -#define LE_C0_BABL 147,6140 -#define LE_C0_CERR 148,6207 -#define LE_C0_MISS 149,6264 -#define LE_C0_MERR 150,6338 -#define LE_C0_RINT 151,6384 -#define LE_C0_TINT 152,6435 -#define LE_C0_IDON 153,6487 -#define LE_C0_INTR 154,6540 -#define LE_C0_INEA 156,6672 -#define LE_C0_RXON 157,6722 -#define LE_C0_TXON 158,6766 -#define LE_C0_TDMD 159,6811 -#define LE_C0_STOP 160,6860 -#define LE_C0_STRT 161,6898 -#define LE_C0_INIT 162,6937 -#define LE_C3_BSWP 168,7019 -#define LE_C3_ACON 170,7101 -#define LE_C3_BCON 172,7178 -#define LE_MO_PROM 178,7248 -#define LE_MO_DRCVBC 182,7455 -#define LE_MO_DRCVPA 183,7525 -#define LE_MO_DLNKTST 184,7604 -#define LE_MO_DAPC 185,7668 -#define LE_MO_MENDECL 186,7750 -#define LE_MO_LRTTSEL 187,7815 -#define LE_MO_PSEL1 188,7898 -#define LE_MO_PSEL0 189,7962 -#define LE_MO_EMBA 191,8079 -#define LE_MO_INTL 193,8233 -#define LE_MO_DRTY 194,8284 -#define LE_MO_FCOLL 195,8331 -#define LE_MO_DXMTFCS 196,8381 -#define LE_MO_LOOP 197,8438 -#define LE_MO_DTX 198,8487 -#define LE_MO_DRX 199,8539 -#define LE_R1_OWN 205,8615 -#define LE_R1_ERR 206,8671 -#define LE_R1_FRA 207,8707 -#define LE_R1_OFL 208,8751 -#define LE_R1_CRC 209,8796 -#define LE_R1_BUF 210,8836 -#define LE_R1_SOP 211,8879 -#define LE_R1_EOP 212,8925 -#define LE_R1_POK 213,8969 -#define LE_T1_OWN 219,9063 -#define LE_T1_ERR 220,9119 -#define LE_T1_RES 221,9155 -#define LE_T1_EMORE 222,9225 -#define LE_T1_EONE 223,9284 -#define LE_T1_EDEF 224,9332 -#define LE_T1_SOP 225,9372 -#define LE_T1_EOP 226,9418 -#define LE_T1_POK 227,9462 -#define LE_T3_BUF 232,9546 -#define LE_T3_UFL 233,9592 -#define LE_T3_LCOL 234,9641 -#define LE_T3_CLOS 235,9690 -#define LE_T3_RTY 236,9740 -#define LE_T3_TDR 237,9785 -#define TX_BUFFS_AVAIL 241,9879 -#define LANCE_ADDR(LANCE_ADDR246,10124 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/eepro.c,7201 -static const char version[106,4088 -#define DRV_NAME 154,5400 -#define compat_dev_kfree_skb(compat_dev_kfree_skb156,5426 -#define SLOW_DOWN 158,5564 -#define compat_init_data 160,5608 -static unsigned int eepro_portlist[165,5770 -static unsigned int eepro_portlist[] compat_init_data 165,5770 -#define NET_DEBUG 177,6163 -static unsigned int net_debug 179,6190 -#define EEPRO_IO_EXTENT 182,6291 -#define LAN595 185,6347 -#define LAN595TX 186,6365 -#define LAN595FX 187,6384 -#define LAN595FX_10ISA 188,6403 -struct eepro_local eepro_local191,6484 -#define SA_ADDR0 220,7466 -#define SA_ADDR1 221,7514 -#define SA_ADDR2 222,7536 -#define GetBit(GetBit224,7559 -#define ee_PnP 227,7619 -#define ee_Word1 228,7673 -#define ee_BusWidth 229,7711 -#define ee_FlashAddr 230,7750 -#define ee_FlashMask 231,7794 -#define ee_AutoIO 232,7832 -#define ee_reserved0 233,7862 -#define ee_Flash 234,7896 -#define ee_AutoNeg 235,7939 -#define ee_IO0 236,7995 -#define ee_IO0Mask 237,8040 -#define ee_IO1 238,8072 -#define ee_IntSel 241,8131 -#define ee_IntMask 242,8172 -#define ee_LI 243,8197 -#define ee_PC 244,8254 -#define ee_TPE_AUI 245,8316 -#define ee_Jabber 246,8367 -#define ee_AutoPort 247,8427 -#define ee_SMOUT 248,8490 -#define ee_PROM 249,8548 -#define ee_reserved1 250,8606 -#define ee_AltReady 251,8647 -#define ee_reserved2 252,8704 -#define ee_Duplex 253,8739 -#define ee_IA5 256,8781 -#define ee_IA4 257,8846 -#define ee_IA3 258,8911 -#define ee_IA2 259,8976 -#define ee_IA1 260,9041 -#define ee_IA0 261,9106 -#define ee_BNC_TPE 264,9186 -#define ee_BootType 265,9221 -#define ee_BootTypeMask 266,9283 -#define ee_NumConn 267,9311 -#define ee_FlashSock 268,9377 -#define ee_PortTPE 269,9443 -#define ee_PortBNC 270,9466 -#define ee_PortAUI 271,9489 -#define ee_PowerMgt 272,9512 -#define ee_CP 273,9554 -#define ee_CPMask 274,9606 -#define ee_Stepping 277,9646 -#define ee_StepMask 278,9689 -#define ee_BoardID 279,9715 -#define ee_BoardMask 280,9775 -#define ee_INT_TO_IRQ 283,9818 -#define ee_FX_INT2IRQ 284,9889 -#define ee_SIZE 287,9972 -#define ee_Checksum 288,10017 -#define ee_addr_vendor 292,10136 -#define ee_addr_id 293,10202 -#define ee_addr_SN 294,10261 -#define ee_addr_CRC_8 295,10310 -#define ee_vendor_intel0 298,10372 -#define ee_vendor_intel1 299,10425 -#define ee_id_eepro10p0 300,10455 -#define ee_id_eepro10p1 301,10509 -#define TX_TIMEOUT 303,10539 -#define RAM_SIZE 352,12948 -#define RCV_HEADER 354,12980 -#define RCV_DEFAULT_RAM 355,13006 -#define XMT_HEADER 357,13038 -#define XMT_DEFAULT_RAM 358,13064 -#define XMT_START_PRO 360,13118 -#define XMT_START_10 361,13156 -#define RCV_START_PRO 362,13184 -#define RCV_START_10 363,13213 -#define RCV_DONE 365,13251 -#define RX_OK 366,13275 -#define RX_ERROR 367,13297 -#define TX_DONE_BIT 369,13322 -#define TX_OK 370,13349 -#define CHAIN_BIT 371,13371 -#define XMT_STATUS 372,13396 -#define XMT_CHAIN 373,13420 -#define XMT_COUNT 374,13443 -#define BANK0_SELECT 376,13467 -#define BANK1_SELECT 377,13493 -#define BANK2_SELECT 378,13519 -#define COMMAND_REG 381,13569 -#define MC_SETUP 382,13611 -#define XMT_CMD 383,13633 -#define DIAGNOSE_CMD 384,13655 -#define RCV_ENABLE_CMD 385,13681 -#define RCV_DISABLE_CMD 386,13709 -#define STOP_RCV_CMD 387,13738 -#define RESET_CMD 388,13764 -#define POWER_DOWN_CMD 389,13787 -#define RESUME_XMT_CMD 390,13815 -#define SEL_RESET_CMD 391,13843 -#define STATUS_REG 392,13870 -#define RX_INT 393,13911 -#define TX_INT 394,13932 -#define EXEC_STATUS 395,13953 -#define ID_REG 396,13978 -#define R_ROBIN_BITS 397,14016 -#define ID_REG_MASK 398,14068 -#define ID_REG_SIG 399,14093 -#define AUTO_ENABLE 400,14117 -#define INT_MASK_REG 401,14142 -#define RX_STOP_MASK 402,14185 -#define RX_MASK 403,14211 -#define TX_MASK 404,14233 -#define EXEC_MASK 405,14255 -#define ALL_MASK 406,14278 -#define IO_32_BIT 407,14300 -#define RCV_BAR 408,14323 -#define RCV_STOP 409,14393 -#define XMT_BAR_PRO 411,14416 -#define XMT_BAR_10 412,14441 -#define HOST_ADDRESS_REG 414,14466 -#define IO_PORT 415,14496 -#define IO_PORT_32_BIT 416,14518 -#define REG1 419,14570 -#define WORD_WIDTH 420,14588 -#define INT_ENABLE 421,14612 -#define INT_NO_REG 422,14636 -#define RCV_LOWER_LIMIT_REG 423,14660 -#define RCV_UPPER_LIMIT_REG 424,14693 -#define XMT_LOWER_LIMIT_REG_PRO 426,14727 -#define XMT_UPPER_LIMIT_REG_PRO 427,14764 -#define XMT_LOWER_LIMIT_REG_10 428,14801 -#define XMT_UPPER_LIMIT_REG_10 429,14838 -#define XMT_Chain_Int 432,14899 -#define XMT_Chain_ErrStop 433,14975 -#define RCV_Discard_BadFrame 434,15071 -#define REG2 435,15165 -#define PRMSC_Mode 436,15184 -#define Multi_IA 437,15208 -#define REG3 438,15230 -#define TPE_BIT 439,15249 -#define BNC_BIT 440,15271 -#define REG13 441,15293 -#define FDX 442,15313 -#define A_N_ENABLE 443,15331 -#define I_ADD_REG0 445,15356 -#define I_ADD_REG1 446,15380 -#define I_ADD_REG2 447,15404 -#define I_ADD_REG3 448,15428 -#define I_ADD_REG4 449,15452 -#define I_ADD_REG5 450,15476 -#define EEPROM_REG_PRO 452,15501 -#define EEPROM_REG_10 453,15529 -#define EESK 455,15558 -#define EECS 456,15576 -#define EEDI 457,15594 -#define EEDO 458,15612 -#define eepro_reset(eepro_reset461,15653 -#define eepro_sel_reset(eepro_sel_reset464,15728 -#define eepro_dis_int(eepro_dis_int471,15874 -#define eepro_clear_int(eepro_clear_int474,15970 -#define eepro_en_int(eepro_en_int477,16058 -#define eepro_en_intexec(eepro_en_intexec481,16192 -#define eepro_en_rx(eepro_en_rx484,16295 -#define eepro_dis_rx(eepro_dis_rx487,16370 -#define eepro_sw2bank0(eepro_sw2bank0490,16448 -#define eepro_sw2bank1(eepro_sw2bank1491,16506 -#define eepro_sw2bank2(eepro_sw2bank2492,16564 -#define eepro_en_intline(eepro_en_intline495,16651 -#define eepro_dis_intline(eepro_dis_intline499,16772 -#define eepro_diag(eepro_diag503,16885 -#define eepro_ack_rx(eepro_ack_rx506,16961 -#define eepro_ack_tx(eepro_ack_tx509,17047 -#define eepro_complete_selreset(eepro_complete_selreset512,17139 -static int __init do_eepro_probe(530,17746 - #define WakeupPort 542,17987 - #define WakeupSeq 543,18013 -struct net_device * __init eepro_probe(583,19025 -static void __init printEEPROMInfo(611,19516 -static void eepro_recalc 665,21497 -static void __init eepro_print_info 687,22038 -static int __init eepro_probe1(743,23694 - enum iftype iftype748,23845 - enum iftype { AUI=748,23845 - enum iftype { AUI=0, BNC=748,23845 - enum iftype { AUI=0, BNC=1, TPE=748,23845 -static char irqrmap[873,27296 -static char irqrmap2[874,27365 -static int eepro_grab_irq(875,27432 -static int eepro_open(934,28826 -static void eepro_tx_timeout 1111,34083 -static int eepro_send_packet(1127,34551 -eepro_interrupt(1181,35742 -static int eepro_close(1240,37143 -eepro_get_stats(1285,38122 -set_multicast_list(1295,38303 -#define eeprom_delay(eeprom_delay1423,42125 -#define EE_READ_CMD 1424,42164 -read_eeprom(1427,42198 -hardware_send_packet(1473,43354 -eepro_rx(1558,45948 -eepro_transmit_interrupt(1656,48554 -#define MAX_EEPRO 1706,49672 -static struct net_device *dev_eepro[1707,49692 -static int io[1709,49741 -static int irq[1710,49767 -static int mem[1711,49794 -static int autodetect;1714,49906 -static int n_eepro;1716,49930 -init_module(1733,50637 -cleanup_module(1776,51591 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/dgrs_es4h.h,3345 -#define ES4H_MANUFmsb 20,859 -#define ES4H_MANUFlsb 21,903 -# define ES4H_MANUF_CODE 22,947 -#define ES4H_PRODUCT 24,995 -# define ES4H_PRODUCT_CODE 25,1038 -# define EPC_PRODUCT_CODE 26,1070 -#define ES4H_REVISION 28,1103 -# define ES4H_REVISION_CODE 29,1147 -#define ES4H_EC 31,1181 -# define ES4H_EC_RESET 32,1223 -# define ES4H_EC_ENABLE 33,1273 -#define ES4H_PC 35,1369 -# define ES4H_PC_RESET 36,1416 -# define ES4H_PC_INT 37,1466 -#define ES4H_MW 39,1524 -# define ES4H_MW_ENABLE 40,1585 -# define ES4H_MW_SELECT_MASK 41,1639 -#define ES4H_IS 43,1704 -# define ES4H_IS_INTMASK 44,1756 -# define ES4H_IS_INTOFF 45,1814 -# define ES4H_IS_INT3 46,1858 -# define ES4H_IS_INT5 47,1899 -# define ES4H_IS_INT7 48,1940 -# define ES4H_IS_INT10 49,1981 -# define ES4H_IS_INT11 50,2024 -# define ES4H_IS_INT12 51,2067 -# define ES4H_IS_INT15 52,2110 -# define ES4H_IS_INTACK 53,2153 -# define ES4H_IS_INTPEND 54,2207 -# define ES4H_IS_LINEAR 55,2266 -# define ES4H_IS_AS15 56,2326 -#define ES4H_AS_23_16 58,2387 -#define ES4H_AS_31_24 59,2447 -#define ES4H_IO_MAX 61,2508 -#define SE6_RESET 66,2574 -#define SE4_NPORTS 75,2892 -#define SE6_NPORTS 76,2941 -#define SE_NPORTS 77,2990 -#define ES4H_RAM_BASE 79,3043 -#define ES4H_RAM_SIZE 80,3103 -#define ES4H_RAM_INTBASE 81,3161 -#define ES4H_ETHER0_PORT 86,3315 -#define ES4H_ETHER0_CMD 87,3351 -#define ES4H_ETHER1_PORT 88,3387 -#define ES4H_ETHER1_CMD 89,3423 -#define ES4H_ETHER2_PORT 90,3459 -#define ES4H_ETHER2_CMD 91,3495 -#define ES4H_ETHER3_PORT 92,3531 -#define ES4H_ETHER3_CMD 93,3567 -#define ES4H_ETHER4_PORT 94,3603 -#define ES4H_ETHER4_CMD 95,3658 -#define ES4H_ETHER5_PORT 96,3713 -#define ES4H_ETHER5_CMD 97,3768 -#define ES4H_I8254 99,3824 -#define SE4_I8254_HZ 102,3900 -#define SE4_IDT_HZ 103,3964 -#define SE6_I8254_HZ 104,4016 -#define SE6_IDT_HZ 105,4079 -#define ES4H_I8254_HZ 106,4130 -#define ES4H_GPP 108,4196 -# define ES4H_GPP_C0_100 112,4286 -# define ES4H_GPP_C0_SQE 113,4348 -# define ES4H_GPP_C1_100 114,4414 -# define ES4H_GPP_C1_SQE 115,4476 -# define ES4H_GPP_C2_100 116,4542 -# define ES4H_GPP_C2_SQE 117,4604 -# define ES4H_GPP_C3_100 118,4670 -# define ES4H_GPP_C3_SQE 119,4732 -# define ES4H_GPP_SQE 120,4798 -# define ES4H_GPP_100 121,4858 -# define ES4H_GPP_HOSTINT 122,4914 -# define SE4_GPP_EED 124,5011 -# define SE4_GPP_EECS 125,5066 -# define SE4_GPP_EECK 126,5125 -# define SE6_GPP_EED 131,5212 -# define SE6_GPP_EECS 132,5267 -# define SE6_GPP_EECK 133,5326 -# define SE6_GPP_LINK 134,5379 -#define ES4H_INTVEC 136,5436 -# define ES4H_IV_DMA0 137,5495 -# define ES4H_IV_PKT0 138,5550 -# define ES4H_IV_DMA1 139,5605 -# define ES4H_IV_PKT1 140,5660 -# define ES4H_IV_DMA2 141,5715 -# define ES4H_IV_PKT2 142,5770 -# define ES4H_IV_DMA3 143,5825 -# define ES4H_IV_PKT3 144,5880 -#define ES4H_INTACK 146,5936 -# define ES4H_INTACK_8254 147,5992 -# define ES4H_INTACK_HOST 148,6054 -# define ES4H_INTACK_PKT0 149,6105 -# define ES4H_INTACK_PKT1 150,6162 -# define ES4H_INTACK_PKT2 151,6219 -# define ES4H_INTACK_PKT3 152,6276 -#define SE6_PLX 154,6334 -#define SE6_PCI_VENDOR_ID 157,6422 -#define SE6_PCI_DEVICE_ID 158,6481 -#define SE6_PCI_ID 159,6539 -#define ES4H_INT_8254 164,6631 -#define ES4H_INT_HOST 165,6663 -#define ES4H_INT_ETHER0 166,6695 -#define ES4H_INT_ETHER1 167,6729 -#define ES4H_INT_ETHER2 168,6763 -#define ES4H_INT_ETHER3 169,6797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/eql.c,1043 -#define eql_is_slave(eql_is_slave132,3938 -#define eql_is_master(eql_is_master133,4004 -static void eql_timer(137,4123 -static char version[162,4735 -static char version[] __initdata 162,4735 -static void __init eql_setup(165,4860 -static int eql_open(198,5686 -static void eql_kill_one_slave(217,6125 -static void eql_kill_slave_queue(225,6273 -static int eql_close(242,6602 -static int eql_ioctl(267,7379 -static slave_t *__eql_schedule_slaves(292,8069 -static int eql_slave_xmit(327,8977 -static struct net_device_stats * eql_get_stats(353,9479 -static slave_t *__eql_find_slave_dev(364,9673 -static inline int eql_is_full(379,9964 -static int __eql_insert_slave(389,10164 -static int eql_enslave(408,10568 -static int eql_emancipate(454,11618 -static int eql_g_slave_cfg(486,12269 -static int eql_s_slave_cfg(523,13007 -static int eql_g_master_cfg(558,13729 -static int eql_s_master_cfg(574,14079 -static struct net_device *dev_eql;591,14430 -static int __init eql_init_module(593,14466 -static void __exit eql_cleanup_module(609,14720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/ibmveth.h,1776 -#define _IBMVETH_H26,1791 -#define IbmVethMaxSendFrags 28,1811 -#define IbmVethMcastReceptionModifyBit 31,1879 -#define IbmVethMcastReceptionEnableBit 32,1932 -#define IbmVethMcastFilterModifyBit 33,1985 -#define IbmVethMcastFilterEnableBit 34,2038 -#define IbmVethMcastEnableRecv 36,2092 -#define IbmVethMcastDisableRecv 37,2195 -#define IbmVethMcastEnableFiltering 38,2265 -#define IbmVethMcastDisableFiltering 39,2362 -#define IbmVethMcastAddFilter 40,2429 -#define IbmVethMcastRemoveFilter 41,2472 -#define IbmVethMcastClearFilterTable 42,2515 -#define H_VIO_SIGNAL 45,2579 -#define H_REGISTER_LOGICAL_LAN 46,2618 -#define H_FREE_LOGICAL_LAN 47,2657 -#define H_ADD_LOGICAL_LAN_BUFFER 48,2696 -#define H_SEND_LOGICAL_LAN 49,2735 -#define H_MULTICAST_CTRL 50,2774 -#define H_CHANGE_LOGICAL_LAN_MAC 51,2813 -#define h_register_logical_lan(h_register_logical_lan54,2872 -#define h_free_logical_lan(h_free_logical_lan57,3011 -#define h_add_logical_lan_buffer(h_add_logical_lan_buffer60,3090 -#define h_send_logical_lan(h_send_logical_lan63,3191 -#define h_multicast_ctrl(h_multicast_ctrl66,3382 -#define h_change_logical_lan_mac(h_change_logical_lan_mac69,3477 -#define IbmVethNumBufferPools 72,3578 -#define IbmVethPool0DftSize 73,3610 -#define IbmVethPool1DftSize 74,3649 -#define IbmVethPool2DftSize 75,3688 -#define IbmVethPool0DftCnt 76,3728 -#define IbmVethPool1DftCnt 77,3760 -#define IbmVethPool2DftCnt 78,3792 -#define IBM_VETH_INVALID_MAP 80,3825 -struct ibmveth_buff_pool ibmveth_buff_pool82,3869 -struct ibmveth_rx_q ibmveth_rx_q95,4113 -struct ibmveth_adapter ibmveth_adapter104,4305 -struct ibmveth_buf_desc_fields ibmveth_buf_desc_fields136,5167 -union ibmveth_buf_desc ibmveth_buf_desc144,5304 -struct ibmveth_rx_q_entry ibmveth_rx_q_entry149,5391 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tlan.c,2663 -typedef u32 u32183,7432 -static struct net_device *TLan_Eisa_Devices;187,7527 -static int TLanDevicesInstalled;189,7573 -static int aui[192,7649 -static int duplex[193,7683 -static int speed[194,7720 -static int boards_found;195,7756 -static int debug;216,8652 -static int bbuf;218,8673 -static u8 *TLanPadBuffer;219,8691 -static dma_addr_t TLanPadBufferDMA;220,8718 -static char TLanSignature[221,8755 -static const char tlan_banner[222,8794 -static int tlan_have_pci;223,8858 -static int tlan_have_eisa;224,8885 -const char *media[226,8914 -int media_map[231,9025 -static struct board board233,9088 -} board_info[237,9170 -static struct pci_device_id tlan_pci_tbl[256,10341 -TLan_StoreSKB(351,14526 -TLan_GetSKB(361,14812 -static TLanIntVectorFunc *TLanIntVector[371,14997 -TLan_SetTimer(383,15255 -static void __devexit tlan_remove_one(438,16716 -static struct pci_driver tlan_driver 458,17134 -static int __init tlan_probe(465,17293 -static int __devinit tlan_init_one(503,18305 -static int __devinit TLan_probe1(529,19045 -static void TLan_Eisa_Cleanup(689,22810 -static void __exit tlan_exit(709,23257 -static void __init TLan_EisaProbe 740,23873 -static void TLan_Poll(822,25585 -static int TLan_Init(850,26279 -static int TLan_Open(938,28865 -static int TLan_ioctl(984,30000 -static void TLan_tx_timeout(1025,31010 -static int TLan_StartTx(1063,32178 -static irqreturn_t TLan_HandleInterrupt(1163,35113 -static int TLan_Close(1212,36201 -static struct net_device_stats *TLan_GetStats(1252,37165 -static void TLan_SetMulticastList(1300,38660 -u32 TLan_HandleInvalid(1374,40939 -u32 TLan_HandleTxEOF(1406,41855 -u32 TLan_HandleStatOverflow(1492,44399 -u32 TLan_HandleRxEOF(1528,45491 -u32 TLan_HandleDummy(1665,49477 -u32 TLan_HandleTxEOC(1695,50254 -u32 TLan_HandleStatusCheck(1743,51628 -u32 TLan_HandleRxEOC(1818,53908 -void TLan_Timer(1878,55897 -void TLan_ResetLists(1959,57979 -void TLan_FreeLists(2019,59690 -void TLan_PrintDio(2068,60873 -void TLan_PrintList(2103,61746 -void TLan_ReadAndClearStats(2139,62899 -TLan_ResetAdapter(2215,65547 -TLan_FinishReset(2301,67728 -void TLan_SetMac(2423,71805 -void TLan_PhyPrint(2465,72884 -void TLan_PhyDetect(2514,74446 -void TLan_PhyPowerDown(2561,75602 -void TLan_PhyPowerUp(2586,76365 -void TLan_PhyReset(2607,76907 -void TLan_PhyStartLink(2635,77602 -void TLan_PhyFinishAutoNeg(2722,80293 -void TLan_PhyMonitor(2806,83067 -int TLan_MiiReadReg(2878,85215 -void TLan_MiiSendData(2968,87565 -void TLan_MiiSync(3010,88551 -void TLan_MiiWriteReg(3049,89564 -void TLan_EeSendStart(3119,91627 -int TLan_EeSendByte(3159,92728 -void TLan_EeReceiveByte(3220,94433 -int TLan_EeReadByte(3278,96101 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/pppoe.c,2121 -#define PPPOE_HASH_BITS 79,2821 -#define PPPOE_HASH_SIZE 80,2847 -static struct ppp_channel_ops pppoe_chan_ops;82,2893 -static struct proto_ops pppoe_ops;88,3156 -static rwlock_t pppoe_hash_lock 89,3191 -static struct ppp_channel_ops pppoe_chan_ops;91,3244 -static inline int cmp_2_addr(93,3291 -static inline int cmp_addr(99,3448 -static int hash_item(105,3602 -static struct pppox_opt *item_hash_table[123,4011 -static struct pppox_opt *__get_item(130,4275 -static int __set_item(143,4532 -static struct pppox_opt *__delete_item(164,4901 -static inline struct pppox_opt *get_item(190,5439 -static inline struct pppox_opt *get_item_by_addr(204,5695 -static inline int set_item(209,5843 -static inline struct pppox_opt *delete_item(223,6038 -static void pppoe_flush_dev(243,6517 -static int pppoe_device_event(296,7615 -static struct notifier_block pppoe_notifier 322,8138 -static int pppoe_rcv_core(332,8439 -static int pppoe_rcv(376,9497 -static int pppoe_disc_rcv(425,10504 -static struct packet_type pppoes_ptype 471,11523 -static struct packet_type pppoed_ptype 476,11632 -static void pppoe_sk_free(486,11970 -static int pppoe_create(500,12265 -static int pppoe_release(533,12957 -static int pppoe_connect(570,13526 -static int pppoe_getname(659,15293 -static int pppoe_ioctl(678,15687 -static int pppoe_sendmsg(780,17528 -static int __pppoe_xmit(858,19134 -static int pppoe_xmit(932,21032 -static struct ppp_channel_ops pppoe_chan_ops 939,21188 -static int pppoe_recvmsg(943,21270 -static int pppoe_seq_show(985,22026 -static __inline__ struct pppox_opt *pppoe_get_idx(1007,22543 -static void *pppoe_seq_start(1024,22802 -static void *pppoe_seq_next(1032,22973 -static void pppoe_seq_stop(1057,23380 -struct seq_operations pppoe_seq_ops 1062,23478 -static int pppoe_seq_open(1069,23628 -static struct file_operations pppoe_seq_fops 1074,23739 -static int __init pppoe_proc_init(1082,23910 -static inline int pppoe_proc_init(1094,24133 -static struct proto_ops pppoe_ops 1099,24255 -static struct pppox_proto pppoe_proto 1118,24799 -static int __init pppoe_init(1125,24926 -static void __exit pppoe_exit(1145,25270 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/fec.c,5596 -static int opened 59,1776 -static int found 60,1799 -static volatile fec_t *fec_hwp 66,1898 -static ushort my_enet_addr[67,1972 -static volatile fec_t *fec_hwp 69,2038 -#define FEC_FLASHMAC 78,2339 -#define FEC_FLASHMAC 80,2405 -#define FEC_FLASHMAC 82,2478 -#define FEC_FLASHMAC 84,2516 -unsigned char *fec_flashmac 87,2547 -} phy_cmd_t;phy_cmd_t95,2770 -} phy_info_t;phy_info_t105,2933 -#define FEC_ENET_RX_PAGES 114,3219 -#define FEC_ENET_RX_FRSIZE 115,3247 -#define FEC_ENET_RX_FRPPG 116,3279 -#define RX_RING_SIZE 117,3338 -#define TX_RING_SIZE 118,3400 -#define TX_RING_MOD_MASK 119,3451 -#define FEC_ENET_RX_PAGES 121,3509 -#define FEC_ENET_RX_FRSIZE 122,3538 -#define FEC_ENET_RX_FRPPG 123,3570 -#define RX_RING_SIZE 124,3629 -#define TX_RING_SIZE 125,3691 -#define TX_RING_MOD_MASK 126,3743 -#define FEC_ENET_HBERR 131,3834 -#define FEC_ENET_BABR 132,3898 -#define FEC_ENET_BABT 133,3963 -#define FEC_ENET_GRA 134,4031 -#define FEC_ENET_TXF 135,4100 -#define FEC_ENET_TXB 136,4169 -#define FEC_ENET_RXF 137,4240 -#define FEC_ENET_RXB 138,4306 -#define FEC_ENET_MII 139,4374 -#define FEC_ENET_EBERR 140,4434 -#define PKT_MAXBUF_SIZE 144,4575 -#define PKT_MINBUF_SIZE 145,4605 -#define PKT_MAXBLR_SIZE 146,4633 -struct fec_enet_private fec_enet_private156,5144 -typedef struct mii_list mii_list206,6736 -} mii_list_t;mii_list_t210,6861 -#define NMII 212,6876 -mii_list_t mii_cmds[213,6893 -mii_list_t *mii_free;214,6920 -mii_list_t *mii_head;215,6942 -mii_list_t *mii_tail;216,6964 -#define mk_mii_read(mk_mii_read223,7141 -#define mk_mii_write(mk_mii_write224,7202 -#define mk_mii_end 226,7294 -#define TX_TIMEOUT 230,7343 -#define MII_REG_CR 235,7411 -#define MII_REG_SR 236,7489 -#define MII_REG_PHYIR1 237,7567 -#define MII_REG_PHYIR2 238,7645 -#define MII_REG_ANAR 239,7723 -#define MII_REG_ANLPAR 240,7802 -#define MII_REG_ANER 241,7880 -#define MII_REG_ANNPTR 242,7958 -#define MII_REG_ANLPRNPR 243,8036 -#define PHY_CONF_ANE 247,8144 -#define PHY_CONF_LOOP 248,8206 -#define PHY_CONF_SPMASK 249,8266 -#define PHY_CONF_10HDX 250,8319 -#define PHY_CONF_10FDX 251,8386 -#define PHY_CONF_100HDX 252,8454 -#define PHY_CONF_100FDX 253,8523 -#define PHY_STAT_LINK 255,8594 -#define PHY_STAT_FAULT 256,8644 -#define PHY_STAT_ANC 257,8696 -#define PHY_STAT_SPMASK 258,8759 -#define PHY_STAT_10HDX 259,8812 -#define PHY_STAT_10FDX 260,8878 -#define PHY_STAT_100HDX 261,8945 -#define PHY_STAT_100FDX 262,9013 -fec_enet_start_xmit(266,9095 -fec_timeout(350,10897 -fec_enet_interrupt(397,12012 -fec_enet_tx(442,13002 -fec_enet_rx(518,15165 -fec_enet_mii(641,18466 -mii_queue(669,18962 -static void mii_do_cmd(709,19641 -static void mii_parse_sr(721,19843 -static void mii_parse_cr(736,20198 -static void mii_parse_anar(749,20489 -#define MII_LXT970_MIRROR 769,21008 -#define MII_LXT970_IER 770,21073 -#define MII_LXT970_ISR 771,21138 -#define MII_LXT970_CONFIG 772,21203 -#define MII_LXT970_CSR 773,21268 -static void mii_parse_lxt970_csr(775,21334 -static phy_info_t phy_info_lxt970 795,21731 -#define MII_LXT971_PCR 829,22764 -#define MII_LXT971_SR2 830,22829 -#define MII_LXT971_IER 831,22894 -#define MII_LXT971_ISR 832,22959 -#define MII_LXT971_LCR 833,23024 -#define MII_LXT971_TCR 834,23089 -static void mii_parse_lxt971_sr2(842,23344 -static phy_info_t phy_info_lxt971 872,23959 -#define MII_QS6612_MCR 913,25382 -#define MII_QS6612_FTR 914,25448 -#define MII_QS6612_MCO 915,25514 -#define MII_QS6612_ISR 916,25580 -#define MII_QS6612_IMR 917,25646 -#define MII_QS6612_PCR 918,25712 -static void mii_parse_qs6612_pcr(920,25779 -static phy_info_t phy_info_qs6612 935,26161 -#define MII_AM79C874_MFR 976,27433 -#define MII_AM79C874_ICSR 977,27505 -#define MII_AM79C874_DR 978,27577 -#define MII_AM79C874_PMLR 979,27649 -#define MII_AM79C874_MCR 980,27721 -#define MII_AM79C874_DC 981,27793 -#define MII_AM79C874_REC 982,27865 -static void mii_parse_am79c874_dr(984,27938 -static phy_info_t phy_info_am79c874 999,28353 -static phy_info_t *phy_info[1033,29476 -static void __inline__ fec_request_intrs(1055,29900 -static void __inline__ fec_set_mii(1076,30781 -static void __inline__ fec_get_mac(1091,31073 -static void __inline__ fec_enable_phy_intr(1122,31917 -static void __inline__ fec_disable_phy_intr(1126,31971 -static void __inline__ fec_phy_ack_intr(1133,32162 -static void __inline__ fec_localhw_setup(1141,32382 -static void __inline__ fec_uncache(1148,32489 -static void __inline__ fec_request_intrs(1159,32683 -static void __inline__ fec_get_mac(1187,33528 -static void __inline__ fec_set_mii(1214,34204 -static void __inline__ fec_enable_phy_intr(1240,34869 -static void __inline__ fec_disable_phy_intr(1250,35054 -static void __inline__ fec_phy_ack_intr(1254,35109 -static void __inline__ fec_localhw_setup(1258,35160 -static void __inline__ fec_uncache(1269,35380 -static void mii_display_status(1281,35645 -static void mii_display_config(1317,36488 -static void mii_relink(1348,37122 -static void mii_queue_relink(1373,37559 -static void mii_queue_config(1381,37766 -phy_cmd_t phy_cmd_relink[1391,37983 -phy_cmd_t phy_cmd_config[1393,38090 -mii_discover_phy3(1401,38244 -mii_discover_phy(1428,38851 -mii_link_interrupt(1463,39654 -fec_enet_open(1483,40070 -fec_enet_close(1521,40959 -static struct net_device_stats *fec_enet_get_stats(1532,41103 -#define HASH_BITS 1549,41740 -#define CRC32_POLY 1550,41781 -static void set_multicast_list(1552,41812 -fec_set_mac_address(1623,43400 -int __init fec_enet_init(1644,43918 -fec_restart(1800,47731 -fec_stop(1921,50201 -static struct net_device *fec_dev;1947,50704 -static int __init fec_enet_module_init(1949,50740 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/tg3.c,12581 -#define TG3_VLAN_TAG_USED 48,1091 -#define TG3_VLAN_TAG_USED 50,1125 -#define TG3_TSO_SUPPORT 54,1180 -#define TG3_TSO_SUPPORT 56,1212 -#define DRV_MODULE_NAME 61,1264 -#define PFX 62,1295 -#define DRV_MODULE_VERSION 63,1328 -#define DRV_MODULE_RELDATE 64,1362 -#define TG3_DEF_MAC_MODE 66,1411 -#define TG3_DEF_RX_MODE 67,1438 -#define TG3_DEF_TX_MODE 68,1465 -#define TG3_DEF_MSG_ENABLE 69,1492 -#define TG3_TX_TIMEOUT 82,1823 -#define TG3_MIN_MTU 85,1927 -#define TG3_MAX_MTU(TG3_MAX_MTU86,1952 -#define TG3_RX_RING_SIZE 94,2286 -#define TG3_DEF_RX_RING_PENDING 95,2316 -#define TG3_RX_JUMBO_RING_SIZE 96,2353 -#define TG3_DEF_RX_JUMBO_RING_PENDING 97,2389 -#define TG3_RX_RCB_RING_SIZE(TG3_RX_RCB_RING_SIZE105,2757 -#define TG3_TX_RING_SIZE 110,2925 -#define TG3_DEF_TX_RING_PENDING 111,2955 -#define TG3_RX_RING_BYTES 113,3012 -#define TG3_RX_JUMBO_RING_BYTES 115,3100 -#define TG3_RX_RCB_RING_BYTES(TG3_RX_RCB_RING_BYTES117,3207 -#define TG3_TX_RING_BYTES 119,3320 -#define TX_RING_GAP(TX_RING_GAP121,3408 -#define TX_BUFFS_AVAIL(TX_BUFFS_AVAIL123,3473 -#define NEXT_TX(NEXT_TX127,3658 -#define RX_PKT_BUF_SZ 129,3716 -#define RX_JUMBO_PKT_BUF_SZ 130,3767 -#define TG3_TX_WAKEUP_THRESH 133,3899 -#define TG3_NUM_STATS 136,3990 -static char version[138,4061 -static char version[] __devinitdata 138,4061 -static int tg3_debug 148,4487 -static struct pci_device_id tg3_pci_tbl[150,4559 -} ethtool_stats_keys[230,8115 -static void tg3_write_indirect_reg32(309,10055 -static void _tw32_flush(325,10563 -static inline void _tw32_rx_mbox(341,11050 -static inline void _tw32_tx_mbox(349,11245 -#define tw32_mailbox(tw32_mailbox359,11507 -#define tw32_rx_mbox(tw32_rx_mbox360,11586 -#define tw32_tx_mbox(tw32_tx_mbox361,11646 -#define tw32(tw32363,11707 -#define tw32_f(tw32_f364,11771 -#define tw16(tw16365,11824 -#define tw8(tw8366,11890 -#define tr32(tr32367,11953 -#define tr16(tr16368,11996 -#define tr8(tr8369,12039 -static void tg3_write_mem(371,12082 -static void tg3_read_mem(384,12495 -static void tg3_disable_ints(397,12907 -static inline void tg3_cond_int(405,13161 -static void tg3_enable_ints(411,13327 -static inline void tg3_netif_stop(421,13601 -static inline void tg3_netif_start(427,13714 -static void tg3_switch_clocks(438,14005 -#define PHY_BUSY_LOOPS 469,14858 -static int tg3_readphy(471,14887 -static int tg3_writephy(518,15795 -static void tg3_phy_set_wirespeed(561,16678 -static int tg3_bmcr_reset(573,16959 -static int tg3_wait_macro_done(604,17488 -static int tg3_phy_write_and_check_testpat(621,17713 -static int tg3_phy_reset_chanpat(687,19323 -static int tg3_phy_reset_5703_4_5(707,19717 -static int tg3_phy_reset(780,21543 -static void tg3_frob_aux_power(844,23584 -#define RESET_KIND_SHUTDOWN 925,25810 -#define RESET_KIND_INIT 926,25840 -#define RESET_KIND_SUSPEND 927,25867 -static int tg3_set_power_state(931,25955 -static void tg3_link_report(1098,30376 -static void tg3_setup_flow_control(1120,31066 -static void tg3_aux_stat_to_speed_duplex(1173,32436 -static int tg3_phy_copper_begin(1213,33185 -static int tg3_init_5401phy_dsp(1353,37274 -static int tg3_copper_is_advertising_all(1381,38049 -static int tg3_setup_copper_phy(1402,38583 -struct tg3_fiber_aneginfo tg3_fiber_aneginfo1678,45553 -#define ANEG_STATE_UNKNOWN 1680,45593 -#define ANEG_STATE_AN_ENABLE 1681,45623 -#define ANEG_STATE_RESTART_INIT 1682,45655 -#define ANEG_STATE_RESTART 1683,45690 -#define ANEG_STATE_DISABLE_LINK_OK 1684,45720 -#define ANEG_STATE_ABILITY_DETECT_INIT 1685,45757 -#define ANEG_STATE_ABILITY_DETECT 1686,45798 -#define ANEG_STATE_ACK_DETECT_INIT 1687,45834 -#define ANEG_STATE_ACK_DETECT 1688,45871 -#define ANEG_STATE_COMPLETE_ACK_INIT 1689,45904 -#define ANEG_STATE_COMPLETE_ACK 1690,45943 -#define ANEG_STATE_IDLE_DETECT_INIT 1691,45979 -#define ANEG_STATE_IDLE_DETECT 1692,46018 -#define ANEG_STATE_LINK_OK 1693,46053 -#define ANEG_STATE_NEXT_PAGE_WAIT_INIT 1694,46084 -#define ANEG_STATE_NEXT_PAGE_WAIT 1695,46126 -#define MR_AN_ENABLE 1698,46176 -#define MR_RESTART_AN 1699,46209 -#define MR_AN_COMPLETE 1700,46243 -#define MR_PAGE_RX 1701,46278 -#define MR_NP_LOADED 1702,46309 -#define MR_TOGGLE_TX 1703,46342 -#define MR_LP_ADV_FULL_DUPLEX 1704,46375 -#define MR_LP_ADV_HALF_DUPLEX 1705,46416 -#define MR_LP_ADV_SYM_PAUSE 1706,46457 -#define MR_LP_ADV_ASYM_PAUSE 1707,46496 -#define MR_LP_ADV_REMOTE_FAULT1 1708,46536 -#define MR_LP_ADV_REMOTE_FAULT2 1709,46579 -#define MR_LP_ADV_NEXT_PAGE 1710,46622 -#define MR_TOGGLE_RX 1711,46661 -#define MR_NP_RX 1712,46694 -#define MR_LINK_OK 1714,46724 -#define ANEG_CFG_NP 1724,46914 -#define ANEG_CFG_ACK 1725,46946 -#define ANEG_CFG_RF2 1726,46979 -#define ANEG_CFG_RF1 1727,47012 -#define ANEG_CFG_PS2 1728,47045 -#define ANEG_CFG_PS1 1729,47078 -#define ANEG_CFG_HD 1730,47111 -#define ANEG_CFG_FD 1731,47143 -#define ANEG_CFG_INVAL 1732,47175 -#define ANEG_OK 1735,47214 -#define ANEG_DONE 1736,47233 -#define ANEG_TIMER_ENAB 1737,47253 -#define ANEG_FAILED 1738,47279 -#define ANEG_STATE_SETTLE_TIME 1740,47303 -static int tg3_fiber_aneg_smachine(1742,47341 -static int fiber_autoneg(1990,53151 -static void tg3_init_bcm8002(2034,54073 -static int tg3_setup_fiber_hw_autoneg(2084,55207 -static int tg3_setup_fiber_by_hand(2204,57985 -static int tg3_setup_fiber_phy(2262,59329 -static int tg3_setup_phy(2376,62398 -static void tg3_tx(2415,63489 -static int tg3_alloc_rx_skb(2474,64972 -static void tg3_recycle_rx(2540,66636 -static int tg3_vlan_rx(2578,67641 -static int tg3_rx(2608,69145 -static int tg3_poll(2746,72775 -static inline unsigned int tg3_has_work(2807,74190 -static irqreturn_t tg3_interrupt(2827,74708 -static void tg3_poll_controller(2877,76140 -static void tg3_reset_task(2883,76245 -static void tg3_tx_timeout(2908,76697 -static int tigon3_4gb_hwbug_workaround(2920,76976 -static void tg3_set_txd(2969,78165 -static inline int tg3_4g_overflow_test(2992,78772 -static int tg3_start_xmit(3000,78946 -static inline void tg3_set_mtu(3196,83822 -static int tg3_change_mtu(3207,84063 -static void tg3_free_rings(3247,84910 -static void tg3_init_rings(3319,86466 -static void tg3_free_consistent(3381,88136 -static int tg3_alloc_consistent(3423,89242 -#define MAX_WAIT_CNT 3488,90899 -static int tg3_stop_block(3493,91018 -static int tg3_abort_hw(3538,91868 -static int tg3_nvram_lock(3606,93901 -static void tg3_nvram_unlock(3624,94208 -static void tg3_write_sig_pre_reset(3631,94358 -static void tg3_write_sig_post_reset(3660,94978 -static void tg3_write_sig_legacy(3681,95408 -static int tg3_chip_reset(3709,95973 -static void tg3_stop_fw(3879,100845 -static int tg3_halt(3900,101280 -#define TG3_FW_RELEASE_MAJOR 3920,101587 -#define TG3_FW_RELASE_MINOR 3921,101620 -#define TG3_FW_RELEASE_FIX 3922,101652 -#define TG3_FW_START_ADDR 3923,101683 -#define TG3_FW_TEXT_ADDR 3924,101720 -#define TG3_FW_TEXT_LEN 3925,101756 -#define TG3_FW_RODATA_ADDR 3926,101787 -#define TG3_FW_RODATA_LEN 3927,101825 -#define TG3_FW_DATA_ADDR 3928,101856 -#define TG3_FW_DATA_LEN 3929,101892 -#define TG3_FW_SBSS_ADDR 3930,101922 -#define TG3_FW_SBSS_LEN 3931,101958 -#define TG3_FW_BSS_ADDR 3932,101987 -#define TG3_FW_BSS_LEN 3933,102023 -static u32 tg3FwText[3935,102053 -static u32 tg3FwRodata[4029,108665 -u32 tg3FwData[4038,109090 -#define RX_CPU_SCRATCH_BASE 4044,109265 -#define RX_CPU_SCRATCH_SIZE 4045,109301 -#define TX_CPU_SCRATCH_BASE 4046,109337 -#define TX_CPU_SCRATCH_SIZE 4047,109373 -static int tg3_halt_cpu(4050,109434 -struct fw_info fw_info4088,110307 -static int tg3_load_firmware_cpu(4101,110556 -static int tg3_load_5701_a0_firmware_fix(4161,112282 -#define TG3_TSO_FW_RELEASE_MAJOR 4215,113711 -#define TG3_TSO_FW_RELASE_MINOR 4216,113748 -#define TG3_TSO_FW_RELEASE_FIX 4217,113785 -#define TG3_TSO_FW_START_ADDR 4218,113821 -#define TG3_TSO_FW_TEXT_ADDR 4219,113863 -#define TG3_TSO_FW_TEXT_LEN 4220,113904 -#define TG3_TSO_FW_RODATA_ADDR 4221,113940 -#define TG3_TSO_FW_RODATA_LEN 4222,113983 -#define TG3_TSO_FW_DATA_ADDR 4223,114019 -#define TG3_TSO_FW_DATA_LEN 4224,114060 -#define TG3_TSO_FW_SBSS_ADDR 4225,114094 -#define TG3_TSO_FW_SBSS_LEN 4226,114135 -#define TG3_TSO_FW_BSS_ADDR 4227,114169 -#define TG3_TSO_FW_BSS_LEN 4228,114209 -static u32 tg3TsoFwText[4230,114244 -u32 tg3TsoFwRodata[4517,135039 -u32 tg3TsoFwData[4525,135373 -#define TG3_TSO5_FW_RELEASE_MAJOR 4532,135616 -#define TG3_TSO5_FW_RELASE_MINOR 4533,135654 -#define TG3_TSO5_FW_RELEASE_FIX 4534,135691 -#define TG3_TSO5_FW_START_ADDR 4535,135728 -#define TG3_TSO5_FW_TEXT_ADDR 4536,135771 -#define TG3_TSO5_FW_TEXT_LEN 4537,135813 -#define TG3_TSO5_FW_RODATA_ADDR 4538,135849 -#define TG3_TSO5_FW_RODATA_LEN 4539,135893 -#define TG3_TSO5_FW_DATA_ADDR 4540,135930 -#define TG3_TSO5_FW_DATA_LEN 4541,135972 -#define TG3_TSO5_FW_SBSS_ADDR 4542,136007 -#define TG3_TSO5_FW_SBSS_LEN 4543,136049 -#define TG3_TSO5_FW_BSS_ADDR 4544,136084 -#define TG3_TSO5_FW_BSS_LEN 4545,136125 -static u32 tg3Tso5FwText[4547,136160 -u32 tg3Tso5FwRodata[4706,147577 -u32 tg3Tso5FwData[4713,147895 -static int tg3_load_tso_firmware(4719,148087 -static void __tg3_set_mac_addr(4793,150313 -static int tg3_set_mac_addr(4828,151313 -static void tg3_set_bdinfo(4843,151616 -static int tg3_reset_hw(4866,152300 -static int tg3_init_hw(5456,171227 -#define TG3_STAT_ADD32(TG3_STAT_ADD325475,171477 -static void tg3_periodic_fetch_stats(5482,171636 -static void tg3_timer(5519,173505 -static int tg3_open(5617,176082 -/*static*/ void tg3_dump_state(5690,177455 -static int tg3_close(5920,185999 -static inline unsigned long get_stat64(5958,186694 -static unsigned long calc_crc_errors(5970,186896 -#define ESTAT_ADD(ESTAT_ADD5994,187501 -static struct tg3_ethtool_stats *tg3_get_estats(5998,187605 -static struct net_device_stats *tg3_get_stats(6086,190135 -static inline u32 calc_crc(6144,192094 -static void tg3_set_multi(6169,192383 -static void __tg3_set_rx_mode(6178,192708 -static void tg3_set_rx_mode(6242,194224 -#define TG3_REGDUMP_LEN 6253,194453 -static int tg3_get_regs_len(6255,194491 -static void tg3_get_regs(6260,194573 -#define __GET_REG32(__GET_REG326275,194848 -#define GET_REG32_LOOP(GET_REG32_LOOP6276,194894 -#define GET_REG32_1(GET_REG32_16281,195042 -static int tg3_get_eeprom_len(6327,196415 -static int tg3_get_eeprom(6334,196595 -static int tg3_get_settings(6393,197979 -static int tg3_set_settings(6428,198936 -static void tg3_get_drvinfo(6467,199976 -static void tg3_get_wol(6476,200233 -static int tg3_set_wol(6487,200523 -static u32 tg3_get_msglevel(6508,201036 -static void tg3_set_msglevel(6514,201155 -static int tg3_set_tso(6521,201312 -static int tg3_nway_reset(6534,201557 -static void tg3_get_ringparam(6553,201920 -static int tg3_set_ringparam(6567,202345 -static void tg3_get_pauseparam(6597,203088 -static int tg3_set_pauseparam(6606,203414 -static u32 tg3_get_rx_csum(6634,204076 -static int tg3_set_rx_csum(6640,204224 -static int tg3_set_tx_csum(6660,204611 -static int tg3_get_stats_count 6678,204926 -static void tg3_get_strings 6683,205010 -static void tg3_get_ethtool_stats 6695,205266 -static int tg3_ioctl(6702,205472 -static void tg3_vlan_rx_register(6749,206373 -static void tg3_vlan_rx_kill_vid(6765,206713 -static struct ethtool_ops tg3_ethtool_ops 6778,207004 -static void __devinit tg3_nvram_init(6812,208127 -static int __devinit tg3_nvram_read_using_eeprom(6864,209383 -static int __devinit tg3_nvram_read(6898,210111 -struct subsys_tbl_ent subsys_tbl_ent6956,211377 -static struct subsys_tbl_ent subsys_id_to_phy_id[6961,211452 -static inline struct subsys_tbl_ent *lookup_by_subsys(6999,213301 -static int __devinit tg3_phy_probe(7013,213661 -static void __devinit tg3_read_partno(7234,219947 -static int __devinit tg3_is_sun_570X(7304,221368 -static int __devinit tg3_get_invariants(7325,221787 -static int __devinit tg3_get_macaddr_sparc(7679,233899 -static int __devinit tg3_get_default_macaddr_sparc(7697,234293 -static int __devinit tg3_get_device_address(7706,234466 -static int __devinit tg3_do_test_dma(7773,236338 -#define TEST_BUFFER_SIZE 7854,238367 -static int __devinit tg3_test_dma(7856,238399 -static void __devinit tg3_init_link_config(8032,243018 -static void __devinit tg3_init_bufmgr_config(8051,243755 -static char * __devinit tg3_phy_string(8071,244395 -static struct pci_dev * __devinit tg3_find_5704_peer(8088,244893 -static int __devinit tg3_init_one(8111,245410 -static void __devexit tg3_remove_one(8415,254061 -static int tg3_suspend(8431,254383 -static int tg3_resume(8478,255250 -static struct pci_driver tg3_driver 8513,255834 -static int __init tg3_init(8522,256045 -static void __exit tg3_cleanup(8527,256121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/myri_sbus.c,1740 -static char version[6,121 -#define DET(DET55,1234 -#define DET(DET57,1266 -#define DIRQ(DIRQ61,1306 -#define DIRQ(DIRQ63,1338 -#define DTX(DTX67,1384 -#define DTX(DTX69,1415 -#define DRX(DRX73,1459 -#define DRX(DRX75,1490 -#define DHDR(DHDR79,1533 -#define DHDR(DHDR81,1564 -static struct myri_eth *root_myri_dev;85,1602 -static void myri_reset_off(88,1649 -static void myri_reset_on(97,1863 -static void myri_disable_irq(106,2069 -static void myri_enable_irq(113,2273 -static inline void bang_the_chip(119,2441 -static int myri_do_handshake(128,2656 -static int myri_load_lanai(176,3673 -static void myri_clean_rings(238,5296 -static void myri_init_rings(275,6300 -static int myri_init(307,7173 -static void myri_is_not_so_happy(313,7277 -static void dump_ehdr(318,7356 -static void dump_ehdr_and_myripad(329,7795 -static void myri_tx(344,8356 -static unsigned short myri_type_trans(372,9195 -static void myri_rx(412,10314 -static irqreturn_t myri_interrupt(544,14150 -static int myri_open(584,15203 -static int myri_close(591,15347 -static void myri_tx_timeout(599,15487 -static int myri_start_xmit(610,15740 -static int myri_header(691,17930 -static int myri_rebuild_header(739,19330 -int myri_header_cache(774,20103 -void myri_header_cache_update(801,20819 -static int myri_change_mtu(807,21018 -static struct net_device_stats *myri_get_stats(815,21208 -static void myri_set_multicast(818,21338 -static inline void set_boardid_from_idprom(825,21491 -static inline void determine_reg_space_size(835,21818 -static void dump_eeprom(860,22355 -static int __init myri_ether_init(899,24559 -static int __init myri_sbus_match(1117,31002 -static int __init myri_sbus_probe(1128,31188 -static void __exit myri_sbus_cleanup(1158,31694 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/sunlance.c,3822 -static char version[72,2095 -static char lancestr[75,2194 -#define LANCE_LOG_TX_BUFFERS 113,3229 -#define LANCE_LOG_RX_BUFFERS 114,3260 -#define LE_CSR0 117,3299 -#define LE_CSR1 118,3317 -#define LE_CSR2 119,3335 -#define LE_CSR3 120,3353 -#define LE_MO_PROM 122,3372 -#define LE_C0_ERR 124,3435 -#define LE_C0_BABL 125,3508 -#define LE_C0_CERR 126,3566 -#define LE_C0_MISS 127,3625 -#define LE_C0_MERR 128,3679 -#define LE_C0_RINT 129,3730 -#define LE_C0_TINT 130,3781 -#define LE_C0_IDON 131,3835 -#define LE_C0_INTR 132,3888 -#define LE_C0_INEA 133,3939 -#define LE_C0_RXON 134,3988 -#define LE_C0_TXON 135,4032 -#define LE_C0_TDMD 136,4079 -#define LE_C0_STOP 137,4130 -#define LE_C0_STRT 138,4176 -#define LE_C0_INIT 139,4223 -#define LE_C3_BSWP 141,4270 -#define LE_C3_ACON 142,4308 -#define LE_C3_BCON 143,4349 -#define LE_R1_OWN 146,4427 -#define LE_R1_ERR 147,4484 -#define LE_R1_FRA 148,4560 -#define LE_R1_OFL 149,4615 -#define LE_R1_CRC 150,4673 -#define LE_R1_BUF 151,4721 -#define LE_R1_SOP 152,4777 -#define LE_R1_EOP 153,4831 -#define LE_R1_POK 154,4883 -#define LE_T1_OWN 156,4952 -#define LE_T1_ERR 157,5012 -#define LE_T1_EMORE 158,5064 -#define LE_T1_EONE 159,5136 -#define LE_T1_EDEF 160,5198 -#define LE_T1_SOP 161,5252 -#define LE_T1_EOP 162,5306 -#define LE_T1_POK 163,5358 -#define LE_T3_BUF 165,5418 -#define LE_T3_UFL 166,5469 -#define LE_T3_LCOL 167,5523 -#define LE_T3_CLOS 168,5582 -#define LE_T3_RTY 169,5639 -#define LE_T3_TDR 170,5689 -#define TX_RING_SIZE 172,5762 -#define TX_RING_MOD_MASK 173,5815 -#define TX_RING_LEN_BITS 174,5860 -#define TX_NEXT(TX_NEXT175,5917 -#define RX_RING_SIZE 177,5972 -#define RX_RING_MOD_MASK 178,6025 -#define RX_RING_LEN_BITS 179,6070 -#define RX_NEXT(RX_NEXT180,6127 -#define PKT_BUF_SZ 182,6182 -#define RX_BUFF_SIZE 183,6207 -#define TX_BUFF_SIZE 184,6250 -struct lance_rx_desc lance_rx_desc186,6294 -struct lance_tx_desc lance_tx_desc196,6594 -struct lance_init_block lance_init_block206,6937 -#define libdesc_offset(libdesc_offset226,7648 -#define libbuff_offset(libbuff_offset229,7758 -struct lance_private lance_private232,7871 -#define TX_BUFFS_AVAIL 263,8761 -#define RDP 268,8910 -#define RAP 269,8957 -#define LANCE_REG_SIZE 270,9006 -#define STOP_LANCE(STOP_LANCE272,9037 -int sparc_lance_debug 278,9203 -#define LANCE_ADDR(LANCE_ADDR288,9582 -static struct lance_private *root_lance_dev;290,9631 -static void load_csrs(293,9706 -static void lance_init_ring_dvma(314,10238 -static void lance_init_ring_pio(371,12056 -static void init_restart_ledma(432,14007 -static int init_restart_lance(460,14603 -static void lance_rx_dvma(501,15544 -static void lance_tx_dvma(564,17213 -static void lance_piocopy_to_skb(644,19072 -static void lance_rx_pio(674,19634 -static void lance_tx_pio(736,21371 -static irqreturn_t lance_interrupt(816,23268 -static void build_fake_packet(880,24776 -struct net_device *last_dev;914,25830 -static int lance_open(916,25860 -static int lance_close(969,27065 -static int lance_reset(982,27292 -static void lance_piocopy_from_skb(1009,27913 -static void lance_piozero(1067,28878 -static void lance_tx_timeout(1103,29449 -static int lance_start_xmit(1113,29711 -static struct net_device_stats *lance_get_stats(1166,31150 -static void lance_load_multicast(1174,31328 -static void lance_set_multicast(1224,32476 -static void lance_set_multicast_retry(1267,33290 -static void lance_free_hwresources(1274,33441 -static void sparc_lance_get_drvinfo(1292,33874 -static u32 sparc_lance_get_link(1302,34138 -static struct ethtool_ops sparc_lance_ethtool_ops 1310,34315 -static int __init sparc_lance_init(1315,34451 -static inline struct sbus_dma *find_ledma(1509,39510 -static int __init sparc_lance_probe(1526,39814 -static int __init sparc_lance_probe(1550,40340 -static void __exit sparc_lance_cleanup(1595,41252 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/net/mac8390.c,1946 -#define net_device 46,1479 -#define WD_START_PG 49,1513 -#define CABLETRON_RX_START_PG 50,1570 -#define CABLETRON_RX_STOP_PG 51,1639 -#define CABLETRON_TX_START_PG 52,1707 -#define DAYNA_8390_BASE 57,1995 -#define DAYNA_8390_MEM 58,2028 -#define KINETICS_8390_BASE 60,2061 -#define KINETICS_8390_MEM 61,2096 -#define CABLETRON_8390_BASE 63,2131 -#define CABLETRON_8390_MEM 64,2168 -enum mac8390_type mac8390_type66,2204 - MAC8390_NONE 67,2224 - MAC8390_APPLE,68,2244 - MAC8390_ASANTE,69,2260 - MAC8390_FARALLON,70,2277 - MAC8390_CABLETRON,71,2350 - MAC8390_DAYNA,72,2370 - MAC8390_INTERLAN,73,2386 - MAC8390_KINETICS,74,2405 - MAC8390_FOCUS,75,2424 - MAC8390_SONICSYS,76,2440 - MAC8390_DAYNA2,77,2459 - MAC8390_DAYNA3,78,2476 -static const char * cardname[81,2497 -static int word16[95,2672 -static int useresources[110,2956 -static char version[124,3197 -static char version[] __initdata 124,3197 -#define memcpy_fromio(memcpy_fromio159,4783 -#define memcpy_toio(memcpy_toio160,4840 -enum mac8390_type __init mac8390_ident(172,5449 -int __init mac8390_memsize(191,5995 -struct net_device * __init mac8390_probe(225,6851 -static struct net_device *dev_mac8390[387,11072 -int init_module(388,11115 -void cleanup_module(404,11406 -static int __init mac8390_initdev(418,11604 -static int mac8390_open(538,15362 -static int mac8390_close(548,15595 -static void mac8390_no_reset(555,15702 -static void dayna_memcpy_fromcard(565,15933 -static void dayna_memcpy_tocard(591,16472 -static void sane_get_8390_hdr(620,17154 -static void sane_block_input(629,17445 -static void sane_block_output(646,18072 -static void dayna_get_8390_hdr(655,18329 -static void dayna_block_input(664,18617 -static void dayna_block_output(688,19359 -static void slow_sane_get_8390_hdr(697,19595 -static void slow_sane_block_input(706,19941 -static void slow_sane_block_output(729,20605 -static void word_memcpy_tocard(737,20834 -static void word_memcpy_fromcard(749,21032 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mca/mca-device.c,408 -unsigned char mca_device_read_stored_pos(42,1484 -unsigned char mca_device_read_pos(62,2062 -void mca_device_write_pos(87,2778 -int mca_device_transform_irq(109,3505 -int mca_device_transform_ioport(132,4309 -void *mca_device_transform_memory(155,5152 -int mca_device_claimed(171,5537 -void mca_device_set_claim(182,5819 -enum MCA_AdapterStatus mca_device_status(199,6297 -void mca_device_set_name(210,6555 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mca/mca-driver.c,69 -int mca_register_driver(31,1119 -void mca_unregister_driver(45,1355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mca/mca-proc.c,259 -static int get_mca_info_helper(35,1272 -int get_mca_info(46,1546 -static int mca_default_procfn(95,2826 -static int get_mca_machine_info(136,4016 -static int mca_read_proc(153,4472 -void __init mca_do_proc_init(179,5115 -void mca_set_adapter_procfn(239,7018 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mca/mca-bus.c,409 -struct mca_bus *mca_root_busses[37,1381 -#define MCA_DEVINFO(MCA_DEVINFO39,1431 -struct mca_device_info mca_device_info41,1481 -static int mca_bus_match 46,1594 -struct bus_type mca_bus_type 66,1979 -static ssize_t mca_show_pos_id(72,2088 -static ssize_t mca_show_pos(84,2397 -int __init mca_register_device(100,2853 -struct mca_bus * __devinit mca_attach_bus(121,3430 -int __init mca_system_init 146,4063 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mca/mca-legacy.c,695 -struct mca_find_adapter_info mca_find_adapter_info35,1273 -static int mca_find_adapter_callback(44,1555 -int mca_find_adapter(74,2318 -int mca_find_unused_adapter(122,3578 -struct mca_find_device_by_slot_info mca_find_device_by_slot_info156,4326 -static int mca_find_device_by_slot_callback(161,4411 -struct mca_device *mca_find_device_by_slot(172,4666 -unsigned char mca_read_stored_pos(194,5262 -unsigned char mca_read_pos(217,5869 -void mca_write_pos(253,7009 -void mca_set_adapter_name(274,7517 -char *mca_get_adapter_name(293,7932 -int mca_is_adapter_used(311,8283 -int mca_mark_as_used(333,8760 -void mca_mark_as_unused(357,9185 -int mca_isadapter(376,9549 -int mca_isenabled(399,10041 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/via-pmu68k.c,2721 -#define PMU_MINOR 48,1292 -#define RS 51,1362 -#define B 52,1410 -#define A 53,1442 -#define DIRB 54,1475 -#define DIRA 55,1531 -#define T1CL 56,1587 -#define T1CH 57,1646 -#define T1LL 58,1704 -#define T1LH 59,1759 -#define T2CL 60,1815 -#define T2CH 61,1874 -#define SR 62,1932 -#define ACR 63,1974 -#define PCR 64,2029 -#define IFR 65,2085 -#define IER 66,2137 -#define ANH 67,2191 -#define TACK 70,2293 -#define TREQ 71,2348 -#define SR_CTRL 74,2419 -#define SR_EXT 75,2476 -#define SR_OUT 76,2528 -#define SR_INT 79,2598 -#define CB1_INT 80,2652 -static enum pmu_state pmu_state82,2706 - idle,83,2730 - sending,84,2737 - intack,85,2747 - reading,86,2756 - reading_intr,87,2766 -} pmu_state;88,2781 -static struct adb_request *current_req;90,2795 -static struct adb_request *last_req;91,2835 -static struct adb_request *req_awaiting_reply;92,2872 -static unsigned char interrupt_data[93,2919 -static unsigned char *reply_ptr;94,2960 -static int data_index;95,2993 -static int data_len;96,3016 -static int adb_int_pending;97,3037 -static int pmu_adb_flags;98,3065 -static int adb_dev_map 99,3091 -static struct adb_request bright_req_1,100,3119 -static struct adb_request bright_req_1, bright_req_2,100,3119 -static struct adb_request bright_req_1, bright_req_2, bright_req_3;100,3119 -static int pmu_kind 101,3187 -static int pmu_fully_inited 102,3222 -int asleep;104,3256 -struct notifier_block *sleep_notifier_list;105,3268 -struct adb_driver via_pmu_driver 127,4025 -static s8 pmu_data_len[144,4419 -int pmu_probe(180,6809 -pmu_init(196,7066 -pmu_get_model(272,8783 -pmu_send_request(279,8864 -pmu_autopoll(387,11227 -pmu_reset_bus(409,11633 -pmu_request(454,12496 -pmu_queue_request(481,13100 -send_byte(516,13663 -recv_byte(524,13774 -pmu_start(534,13914 -pmu_poll(559,14398 -pmu_interrupt(576,14707 -pmu_done(695,17401 -pmu_handle_data(704,17572 -int backlight_level 747,18529 -int backlight_enabled 748,18555 -#define LEVEL_TO_BRIGHT(LEVEL_TO_BRIGHT750,18583 -pmu_enable_backlight(753,18665 -pmu_set_brightness(787,19501 -pmu_enable_irled(804,19907 -set_volume(815,20112 -pmu_present(820,20143 -static struct pci_save pci_save831,20360 -} *pbook_pci_saves;835,20426 -static int n_pbook_pci_saves;836,20446 -pbook_pci_save(839,20511 -pbook_pci_restore(867,21175 -#define IRQ_ENABLE 902,22059 -#define MEM_CTRL 903,22107 -int __openfirmware powerbook_sleep(905,22154 -static int __openfirmware pmu_open(1004,24708 -static ssize_t __openfirmware pmu_read(1009,24799 -static ssize_t __openfirmware pmu_write(1015,24915 -static int /*__openfirmware*/ pmu_ioctl(1022,25107 -static struct file_operations pmu_device_fops 1044,25626 -static struct miscdevice pmu_device 1051,25764 -void pmu_device_init(1055,25844 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/via-cuda.c,1715 -static volatile unsigned char *via;35,887 -static spinlock_t cuda_lock 36,923 -#define CUDA_IRQ 39,992 -#define __openfirmware40,1021 -#define eieio(eieio41,1044 -#define CUDA_IRQ 43,1066 -#define RS 47,1158 -#define B 48,1206 -#define A 49,1238 -#define DIRB 50,1271 -#define DIRA 51,1327 -#define T1CL 52,1383 -#define T1CH 53,1442 -#define T1LL 54,1500 -#define T1LH 55,1555 -#define T2CL 56,1611 -#define T2CH 57,1670 -#define SR 58,1728 -#define ACR 59,1770 -#define PCR 60,1825 -#define IFR 61,1881 -#define IER 62,1933 -#define ANH 63,1987 -#define TREQ 66,2088 -#define TACK 67,2139 -#define TIP 68,2195 -#define SR_CTRL 71,2269 -#define SR_EXT 72,2326 -#define SR_OUT 73,2378 -#define IER_SET 76,2448 -#define IER_CLR 77,2493 -#define SR_INT 78,2537 -static enum cuda_state cuda_state80,2592 - idle,81,2617 - sent_first_byte,82,2627 - sending,83,2648 - reading,84,2661 - read_done,85,2674 - awaiting_reply86,2689 -} cuda_state;87,2708 -static struct adb_request *current_req;89,2723 -static struct adb_request *last_req;90,2763 -static unsigned char cuda_rbuf[91,2800 -static unsigned char *reply_ptr;92,2836 -static int reading_reply;93,2869 -static int data_index;94,2895 -static struct device_node *vias;96,2936 -static int cuda_fully_inited 98,2976 -struct adb_driver via_cuda_driver 119,3655 -find_via_cuda(132,3856 -static int __init via_cuda_start(192,5386 -cuda_probe(216,5861 -cuda_init(230,6087 -#define WAIT_FOR(WAIT_FOR248,6361 -cuda_init_via(261,6691 -cuda_send_request(304,8196 -cuda_adb_autopoll(329,8559 -cuda_reset_adb_bus(344,8865 -cuda_request(359,9169 -cuda_write(381,9597 -cuda_start(410,10137 -cuda_poll(430,10623 -cuda_interrupt(445,11031 -cuda_input(602,15351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/via-maciisi.c,1336 -static volatile unsigned char *via;31,943 -#define RS 34,1059 -#define B 35,1107 -#define A 36,1139 -#define DIRB 37,1172 -#define DIRA 38,1228 -#define SR 39,1284 -#define ACR 40,1326 -#define IFR 41,1381 -#define IER 42,1433 -#define TREQ 45,1534 -#define TACK 46,1585 -#define TIP 47,1641 -#define ST_MASK 48,1696 -#define SR_CTRL 51,1778 -#define SR_EXT 52,1835 -#define SR_OUT 53,1887 -#define IER_SET 56,1957 -#define IER_CLR 57,2002 -#define SR_INT 58,2046 -#define SR_DATA 59,2100 -#define SR_CLOCK 60,2149 -#define ADB_DELAY 62,2200 -static struct adb_request* current_req 66,2249 -static struct adb_request* last_req 67,2296 -static unsigned char maciisi_rbuf[68,2340 -static unsigned char *reply_ptr 69,2379 -static int data_index;70,2419 -static int reading_reply;71,2442 -static int reply_len;72,2468 -static int tmp;73,2490 -static int need_sync;74,2506 -static enum maciisi_state maciisi_state76,2529 - idle,77,2557 - sending,78,2567 - reading,79,2580 -} maciisi_state;80,2593 -struct adb_driver via_maciisi_driver 93,3101 -maciisi_probe(104,3308 -maciisi_init(114,3436 -maciisi_stfu(139,3975 -maciisi_init_via(193,4977 -maciisi_send_request(231,5837 -static void maciisi_sync(279,6817 -maciisi_write(299,7419 -maciisi_start(349,8364 -maciisi_poll(400,9355 -maciisi_interrupt(418,9769 -maciisi_input(642,15196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/adb-iop.c,712 -static struct adb_request *current_req;35,732 -static struct adb_request *last_req;36,772 -static unsigned char reply_buff[38,815 -static unsigned char *reply_ptr;39,852 -static enum adb_iop_state adb_iop_state42,893 - idle,43,921 - sending,44,931 - awaiting_reply45,944 -} adb_iop_state;46,963 -struct adb_driver adb_iop_driver 57,1288 -static void adb_iop_end_req(67,1448 -static void adb_iop_complete(81,1754 -static void adb_iop_listen(103,2219 -static void adb_iop_start(162,4014 -int adb_iop_probe(205,5083 -int adb_iop_init(211,5162 -int adb_iop_send_request(218,5312 -static int adb_iop_write(231,5506 -int adb_iop_autopoll(260,5987 -void adb_iop_poll(266,6082 -int adb_iop_reset_bus(272,6197 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/macserial.c,4139 -static struct pmu_sleep_notifier serial_sleep_notifier 57,1403 -#define SUPPORT_SERIAL_DMA63,1514 -#define MACSERIAL_VERSION 64,1541 -#define NUM_SERIAL 71,1727 -#define NUM_CHANNELS 72,1788 -#define RECOVERY_DELAY 77,2010 -static struct tty_driver *serial_driver;79,2042 -struct mac_zschannel zs_channels[81,2084 -struct mac_serial zs_soft[83,2133 -int zs_channels_found;84,2174 -struct mac_serial *zs_chain;85,2197 -struct tty_struct zs_ttys[87,2254 -static int is_powerbook;89,2296 -static struct console sercons;92,2351 -struct mac_zschannel *zs_kgdbchan;96,2409 -static unsigned char scc_inittab[97,2444 -#define ZS_CLOCK 108,2838 -#define SERIAL_TYPE_NORMAL 111,2940 -#define WAKEUP_CHARS 114,3040 -#define RS_STROBE_TIME 127,3269 -#define RS_ISR_PASS_LIMIT 128,3295 -#define _INLINE_ 130,3326 -#define OPNDBG(OPNDBG133,3376 -#define OPNDBG(OPNDBG135,3442 -#define PWRDBG(PWRDBG138,3520 -#define PWRDBG(PWRDBG140,3586 -#define BAUDBG(BAUDBG143,3664 -#define BAUDBG(BAUDBG145,3719 -static unsigned char *tmp_buf;170,4969 -serial_paranoia_check(175,5062 -static inline unsigned char __pmac read_zsreg(199,5594 -static inline void __pmac write_zsreg(219,6012 -static inline unsigned char __pmac read_zsdata(235,6369 -static inline void write_zsdata(244,6535 -static inline void load_zsregs(252,6679 -static inline void zs_rtsdtr(275,7418 -static inline int get_zsbaud(286,7662 -static inline void rs_recv_clear(306,8361 -static void dbdma_reset(315,8568 -static _INLINE_ void dbdma_flush(336,9079 -static _INLINE_ void rs_sched_event(360,9822 -static _INLINE_ int stat_to_flag(368,10020 -static _INLINE_ void receive_chars(383,10259 -static void transmit_chars(432,11424 -static void powerup_done(462,12168 -static _INLINE_ void status_handle(473,12427 -static _INLINE_ void receive_special_dma(522,13570 -static irqreturn_t rs_interrupt(551,14289 -#define CHAN_IRQMASK 572,14958 -static irqreturn_t rs_txdma_irq(609,15888 -static irqreturn_t rs_rxdma_irq(617,16024 -static void rs_stop(656,17208 -static void rs_start(679,17758 -static void do_softint(707,18474 -static int startup(720,18724 -static _INLINE_ void rxdma_start(765,19660 -static void rxdma_to_tty(776,19973 -static void poll_rxdma(855,22085 -static void dma_init(866,22388 -static void fix_zero_bug_scc(964,25772 -static int setup_scc(1005,27271 -static void shutdown(1108,29923 -static int set_scc_power(1168,31413 -static void irda_rts_pulses(1204,32390 -static void irda_setup(1219,32780 -static void change_speed(1309,35371 -static void rs_flush_chars(1448,38703 -static int rs_write(1464,39149 -static int rs_write_room(1531,40928 -static int rs_chars_in_buffer(1544,41217 -static void rs_flush_buffer(1553,41446 -static void rs_throttle(1574,42096 -static void rs_unthrottle(1627,43695 -static int get_serial_info(1678,45005 -static int set_serial_info(1700,45557 -static int get_lsr_info(1755,47272 -static int rs_tiocmget(1767,47604 -static int rs_tiocmset(1793,48312 -static void rs_break(1829,49196 -static int rs_ioctl(1846,49652 -static void rs_set_termios(1886,50664 -static void rs_close(1911,51310 -static void rs_wait_until_sent(2008,54227 -static void rs_hangup(2054,55629 -static int block_til_ready(2075,56149 -static int rs_open(2162,58587 -static void show_serial_version(2237,60080 -chan_init(2247,60354 - struct slot_names_prop slot_names_prop2253,60521 -line_info(2339,62981 -int macserial_read_proc(2365,63596 -probe_sccs(2393,64276 -static struct tty_operations serial_ops 2463,65864 -static int macserial_init(2485,66425 -void macserial_cleanup(2637,70921 -int register_serial(2684,72193 -void unregister_serial(2689,72257 -static void serial_console_write(2706,72607 -static struct tty_driver *serial_driver;2737,73463 -static struct tty_driver *serial_console_device(2739,73505 -static int __init serial_console_setup(2751,73836 -static struct console sercons 2926,77282 -static void __init mac_scc_console_init(2938,77510 -void putDebugChar(2950,77793 -char getDebugChar(2958,77969 -void kgdb_interruptible(2966,78140 -static inline void kgdb_chaninit(2987,78644 -void __init zs_kgdb_hook(3009,79332 -serial_notify_sleep(3035,80036 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/adb.c,1582 -static struct adb_driver *adb_driver_list[58,1458 -static struct class_simple *adb_dev_class;80,1852 -struct adb_driver *adb_controller;82,1896 -struct notifier_block *adb_client_list 83,1931 -static int adb_got_sleep;84,1978 -static int adb_inited;85,2004 -static pid_t adb_probe_task_pid;86,2027 -static struct completion adb_probe_task_comp;88,2099 -static int sleepy_trackpad;89,2145 -static int autopoll_devs;90,2173 -int __adb_probe_sync;91,2199 -static struct pmu_sleep_notifier adb_sleep_notifier 95,2319 -static struct adb_handler adb_handler106,2562 -} adb_handler[111,2704 -static rwlock_t adb_handler_lock 123,3162 -static void printADBreply(126,3222 -static __inline__ void adb_wait_ms(139,3465 -static int adb_scan_bus(148,3638 -adb_probe_task(250,6524 -__adb_probe_task(271,6901 -adb_reset_bus(279,7084 -int __init adb_init(291,7241 -adb_notify_sleep(345,8332 -do_adb_reset_bus(384,9132 -adb_poll(437,10240 -adb_probe_wakeup(445,10370 -static struct adb_request adb_sreq;451,10489 -static unsigned long adb_sreq_lock;452,10525 -adb_request(455,10589 -adb_register(522,12390 -adb_unregister(550,13121 -adb_input(571,13528 -static int try_handler_change(606,14430 -adb_try_handler_change(626,14911 -adb_get_infos(637,15084 -#define ADB_MAJOR 652,15383 -struct adbdev_state adbdev_state654,15437 -static void adb_write_done(662,15580 -do_adb_query(692,16266 -static int adb_open(714,16686 -static int adb_release(733,17136 -static ssize_t adb_read(755,17638 -static ssize_t adb_write(816,18955 -static struct file_operations adb_fops 888,20604 -adbdev_init(898,20797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/adbhid.c,2197 -#define KEYB_KEYREG 59,1544 -#define KEYB_LEDREG 60,1604 -#define MOUSE_DATAREG 61,1668 -static struct notifier_block adbhid_adb_notifier 64,1821 -#define ADB_KEY_DEL 69,1941 -#define ADB_KEY_CMD 70,1967 -#define ADB_KEY_CAPSLOCK 71,1993 -#define ADB_KEY_FN 72,2023 -#define ADB_KEY_FWDEL 73,2048 -#define ADB_KEY_POWER_OLD 74,2076 -#define ADB_KEY_POWER 75,2107 -u8 adb_to_linux_keycodes[77,2136 -struct adbhid adbhid208,6102 -#define FLAG_FN_KEY_PRESSED 221,6310 -#define FLAG_POWER_FROM_FN 222,6349 -#define FLAG_EMU_FWDEL_DOWN 223,6387 -static struct adbhid *adbhid[225,6427 -static struct adb_ids keyboard_ids;237,6741 -static struct adb_ids mouse_ids;238,6777 -static struct adb_ids buttons_ids;239,6810 -int disable_kernel_backlight 243,6903 -#define ADB_KEYBOARD_UNKNOWN 247,7022 -#define ADB_KEYBOARD_ANSI 248,7053 -#define ADB_KEYBOARD_ISO 249,7086 -#define ADB_KEYBOARD_JIS 250,7118 -#define ADBMOUSE_STANDARD_100 253,7172 -#define ADBMOUSE_STANDARD_200 254,7244 -#define ADBMOUSE_EXTENDED 255,7316 -#define ADBMOUSE_TRACKBALL 256,7383 -#define ADBMOUSE_TRACKPAD 257,7440 -#define ADBMOUSE_TURBOMOUSE5 258,7519 -#define ADBMOUSE_MICROSPEED 259,7600 -#define ADBMOUSE_TRACKBALLPRO 260,7678 -#define ADBMOUSE_MS_A3 261,7748 -#define ADBMOUSE_MACALLY2 262,7819 -adbhid_keyboard_input(265,7889 -adbhid_input_keycode(284,8474 -adbhid_mouse_input(361,10589 -adbhid_buttons_input(461,13993 -static struct adb_request led_request;566,16513 -static int leds_pending[567,16552 -static int leds_req_pending;568,16581 -static int pending_devs[569,16610 -static int pending_led_start=570,16639 -static int pending_led_end=571,16671 -static spinlock_t leds_lock 572,16701 -static void leds_done(574,16753 -static void real_leds(596,17379 -static int adbhid_kbd_event(622,18111 -adb_message_handler(640,18537 -adbhid_input_register(667,19053 -static void adbhid_input_unregister(806,23640 -adbhid_input_reregister(817,23843 -adbhid_input_devcleanup(834,24306 -adbhid_probe(843,24454 -init_trackpad(981,28826 -init_trackball(1035,30073 -init_turbomouse(1067,30756 -init_microspeed(1103,31317 -init_ms_a3(1143,32675 -static int __init adbhid_init(1156,32926 -static void __exit adbhid_exit(1172,33194 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/via-macii.c,2046 -static volatile unsigned char *via;33,912 -#define RS 36,996 -#define B 37,1044 -#define A 38,1076 -#define DIRB 39,1109 -#define DIRA 40,1165 -#define T1CL 41,1221 -#define T1CH 42,1280 -#define T1LL 43,1338 -#define T1LH 44,1393 -#define T2CL 45,1449 -#define T2CH 46,1508 -#define SR 47,1566 -#define ACR 48,1608 -#define PCR 49,1663 -#define IFR 50,1719 -#define IER 51,1771 -#define ANH 52,1825 -#define TREQ 55,1926 -#define TACK 56,1977 -#define TIP 57,2033 -#define ST_MASK 58,2088 -#define SR_CTRL 61,2170 -#define SR_EXT 62,2227 -#define SR_OUT 63,2279 -#define IER_SET 66,2349 -#define IER_CLR 67,2394 -#define SR_INT 68,2438 -#define SR_DATA 69,2492 -#define SR_CLOCK 70,2541 -#define ST_CMD 73,2639 -#define ST_EVEN 74,2691 -#define ST_ODD 75,2746 -#define ST_IDLE 76,2799 -struct adb_driver via_macii_driver 92,3353 -static enum macii_state macii_state102,3502 - idle,103,3528 - sending,104,3535 - reading,105,3545 - read_done,106,3555 - awaiting_reply107,3567 -} macii_state;108,3583 -static int need_poll 110,3599 -static int command_byte 111,3628 -static int last_reply 112,3657 -static int last_active 113,3686 -static struct adb_request *current_req;115,3716 -static struct adb_request *last_req;116,3756 -static struct adb_request *retry_req;117,3793 -static unsigned char reply_buf[118,3831 -static unsigned char *reply_ptr;119,3867 -static int reply_len;120,3900 -static int reading_reply;121,3922 -static int data_index;122,3948 -static int first_byte;123,3971 -static int prefix_len;124,3994 -static int status 125,4017 -static int last_status;126,4051 -static int driver_running 127,4075 -static int macii_probe(132,4220 -int macii_init(143,4429 -static int macii_init_via(163,4769 -static void macii_queue_poll(184,5256 -static void macii_retransmit(210,5785 -static int macii_send_request(240,6400 -static int macii_write(254,6613 -static int macii_autopoll(284,7134 -static void macii_poll(293,7379 -static int macii_reset_bus(303,7557 -static void macii_start(314,7756 -static irqreturn_t macii_interrupt(413,11055 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/macio_asic.c,1210 -#define MAX_NODE_NAME_SIZE 28,639 -static struct macio_chip *macio_on_hold;30,686 -static int macio_bus_match(32,733 -struct macio_dev *macio_dev_get(44,1074 -void macio_dev_put(57,1280 -static int macio_device_probe(64,1369 -static int macio_device_remove(88,1842 -static void macio_device_shutdown(100,2110 -static int macio_device_suspend(109,2346 -static int macio_device_resume(119,2614 -struct bus_type macio_bus_type 129,2862 -static int __init macio_bus_driver_init(136,3036 -static void macio_release_dev(152,3555 -static int macio_resource_quirks(169,3948 -static struct macio_dev * macio_add_one_device(221,5737 -static int macio_skip_device(323,8717 -static void macio_pci_add_devices(343,9296 -int macio_register_driver(407,11059 -void macio_unregister_driver(427,11591 -int macio_request_resource(446,12180 -void macio_release_resource(473,12878 -int macio_request_resources(493,13578 -void macio_release_resources(514,13989 -static int __devinit macio_pci_probe(525,14150 -static void __devexit macio_pci_remove(585,15853 -static const struct pci_device_id __devinitdata pci_ids 594,16087 -static struct pci_driver macio_pci_driver 605,16395 -static int __init macio_module_init 615,16579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/ans-lcd.c,531 -#define ANSLCD_ADDR 20,376 -#define ANSLCD_CTRL_IX 21,408 -#define ANSLCD_DATA_IX 22,436 -static unsigned long anslcd_short_delay 24,465 -static unsigned long anslcd_long_delay 25,511 -static volatile unsigned char* anslcd_ptr;26,558 -anslcd_write_byte_ctrl 31,635 -anslcd_write_byte_data 47,932 -anslcd_write(54,1071 -anslcd_ioctl(77,1491 -anslcd_open(119,2456 -struct file_operations anslcd_fops 124,2528 -static struct miscdevice anslcd_dev 130,2641 -const char anslcd_logo[136,2725 -anslcd_init(142,2935 -anslcd_exit(179,3690 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/therm_pm72.h,2095 -#define __THERM_PMAC_7_2_H__2,29 -typedef unsigned short fu16;fu164,59 -typedef int fs32;fs325,88 -typedef short fs16;fs166,106 -struct mpu_datampu_data8,127 -#define FIX32TOPRINT(FIX32TOPRINT65,2745 -#define MAX_CRITICAL_STATE 73,3013 -static char * critical_overtemp_path 74,3045 -#define RPM_PID_USE_ACTUAL_SPEED 88,3566 -#define FAN_CTRLER_ID 98,3954 -#define SUPPLY_MONITOR_ID 99,3983 -#define SUPPLY_MONITORB_ID 100,4020 -#define DRIVES_DALLAS_ID 101,4057 -#define BACKSIDE_MAX_ID 102,4087 -#define MAX6690_INT_TEMP 107,4171 -#define MAX6690_EXT_TEMP 108,4198 -#define DS1775_TEMP 109,4225 -#define ADC_12V_CURRENT_SCALE 117,4446 -#define ADC_CPU_VOLTAGE_SCALE 118,4494 -#define ADC_CPU_CURRENT_SCALE 119,4542 -#define BACKSIDE_FAN_PWM_ID 124,4650 -#define BACKSIDE_PID_G_d 125,4681 -#define BACKSIDE_PID_G_p 126,4718 -#define BACKSIDE_PID_G_r 127,4755 -#define BACKSIDE_PID_INPUT_TARGET 128,4792 -#define BACKSIDE_PID_INTERVAL 129,4837 -#define BACKSIDE_PID_OUTPUT_MAX 130,4870 -#define BACKSIDE_PID_OUTPUT_MIN 131,4907 -#define BACKSIDE_PID_HISTORY_SIZE 132,4943 -struct backside_pid_statebackside_pid_state134,4980 -#define DRIVES_FAN_RPM_ID 149,5282 -#define DRIVES_PID_G_d 150,5317 -#define DRIVES_PID_G_p 151,5353 -#define DRIVES_PID_G_r 152,5389 -#define DRIVES_PID_INPUT_TARGET 153,5425 -#define DRIVES_PID_INTERVAL 154,5469 -#define DRIVES_PID_OUTPUT_MAX 155,5504 -#define DRIVES_PID_OUTPUT_MIN 156,5540 -#define DRIVES_PID_HISTORY_SIZE 157,5575 -struct drives_pid_statedrives_pid_state159,5611 -#define SLOTS_FAN_PWM_ID 171,5854 -#define SLOTS_FAN_DEFAULT_PWM 172,5889 -#define CPUA_INTAKE_FAN_RPM_ID 194,6539 -#define CPUA_EXHAUST_FAN_RPM_ID 195,6573 -#define CPUB_INTAKE_FAN_RPM_ID 196,6608 -#define CPUB_EXHAUST_FAN_RPM_ID 197,6642 -#define CPU_INTAKE_SCALE 199,6678 -#define CPU_TEMP_HISTORY_SIZE 200,6715 -#define CPU_POWER_HISTORY_SIZE 201,6748 -#define CPU_PID_INTERVAL 202,6783 -#define CPU_MAX_OVERTEMP 203,6811 -struct cpu_pid_statecpu_pid_state205,6841 - state_detached,230,7295 - state_attaching,231,7312 - state_attached,232,7330 - state_detaching,233,7347 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/therm_adt746x.c,1418 -#define CONFIG_REG 35,859 -#define MANUAL_MASK 36,885 -#define AUTO_MASK 37,911 -static u8 TEMP_REG[39,938 -static u8 LIMIT_REG[40,1007 -static u8 MANUAL_MODE[41,1076 -static u8 REM_CONTROL[42,1124 -static u8 FAN_SPEED[43,1165 -static u8 FAN_SPD_SET[44,1206 -static u8 default_limits_local[46,1248 -static u8 default_limits_chip[47,1323 -static int limit_adjust 49,1398 -static int fan_speed 50,1427 -struct thermostat thermostat61,1862 -static enum {ADT7460,70,2018 -static enum {ADT7460, ADT7467}70,2018 -static enum {ADT7460, ADT7467} therm_type;70,2018 -static int therm_bus,71,2061 -static int therm_bus, therm_address;71,2061 -static struct of_device * of_dev;72,2098 -static struct thermostat* thermostat;73,2132 -static struct task_struct *thread_therm 74,2170 -write_reg(81,2455 -read_reg(97,2700 -attach_thermostat(115,3004 -detach_thermostat(128,3312 -static struct i2c_driver thermostat_driver 161,3927 -static int read_fan_speed(169,4137 -static void write_both_fan_speed(183,4459 -static void write_fan_speed(190,4624 -static int monitor_task(230,5616 -set_limit(320,8100 -attach_one_thermostat(331,8404 -#define BUILD_SHOW_FUNC_INT(BUILD_SHOW_FUNC_INT414,10435 -#define BUILD_SHOW_FUNC_FAN(BUILD_SHOW_FUNC_FAN420,10594 -#define BUILD_STORE_FUNC_DEG(BUILD_STORE_FUNC_DEG429,10858 -#define BUILD_STORE_FUNC_INT(BUILD_STORE_FUNC_INT442,11230 -BUILD_SHOW_FUNC_INT(454,11584 -thermostat_exit(538,14249 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/via-pmu.c,6339 -#define DEBUG_SLEEP66,1895 -#define PMU_MINOR 70,1986 -#define BATTERY_POLLING_COUNT 73,2058 -static volatile unsigned char *via;75,2091 -#define RS 78,2175 -#define B 79,2223 -#define A 80,2255 -#define DIRB 81,2288 -#define DIRA 82,2344 -#define T1CL 83,2400 -#define T1CH 84,2459 -#define T1LL 85,2517 -#define T1LH 86,2572 -#define T2CL 87,2628 -#define T2CH 88,2687 -#define SR 89,2745 -#define ACR 90,2787 -#define PCR 91,2842 -#define IFR 92,2898 -#define IER 93,2950 -#define ANH 94,3004 -#define TACK 97,3106 -#define TREQ 98,3161 -#define SR_CTRL 101,3232 -#define SR_EXT 102,3289 -#define SR_OUT 103,3341 -#define IER_SET 106,3411 -#define IER_CLR 107,3456 -#define SR_INT 108,3500 -#define CB2_INT 109,3554 -#define CB1_INT 110,3576 -static volatile enum pmu_state pmu_state112,3630 - idle,113,3663 - sending,114,3670 - intack,115,3680 - reading,116,3689 - reading_intr,117,3699 - locked,118,3714 -} pmu_state;119,3723 -static volatile enum int_data_state int_data_state121,3737 - int_data_empty,122,3775 - int_data_fill,123,3792 - int_data_ready,124,3808 - int_data_flush125,3825 -} int_data_state[126,3841 -static struct adb_request *current_req;128,3900 -static struct adb_request *last_req;129,3940 -static struct adb_request *req_awaiting_reply;130,3977 -static unsigned char interrupt_data[131,4024 -static int interrupt_data_len[132,4068 -static int int_data_last;133,4102 -static unsigned char *reply_ptr;134,4128 -static int data_index;135,4161 -static int data_len;136,4184 -static volatile int adb_int_pending;137,4205 -static volatile int disable_poll;138,4242 -static struct adb_request bright_req_1,139,4276 -static struct adb_request bright_req_1, bright_req_2;139,4276 -static struct device_node *vias;140,4330 -static int pmu_kind 141,4363 -static int pmu_fully_inited 142,4398 -static int pmu_has_adb;143,4431 -static unsigned char *gpio_reg 144,4455 -static int gpio_irq 145,4494 -static int gpio_irq_enabled 146,4520 -static volatile int pmu_suspended 147,4554 -static spinlock_t pmu_lock;148,4593 -static u8 pmu_intr_mask;149,4621 -static int pmu_version;150,4646 -static int drop_interrupts;151,4670 -static int option_lid_wakeup 153,4723 -static int sleep_in_progress;154,4757 -static int can_sleep;155,4787 -static unsigned long async_req_locks;156,4809 -static unsigned int pmu_irq_stats[158,4878 -static struct proc_dir_entry *proc_pmu_root;160,4918 -static struct proc_dir_entry *proc_pmu_info;161,4963 -static struct proc_dir_entry *proc_pmu_irqstats;162,5008 -static struct proc_dir_entry *proc_pmu_options;163,5057 -static int option_server_mode;164,5105 -int pmu_battery_count;167,5162 -int pmu_cur_battery;168,5185 -unsigned int pmu_power_flags;169,5206 -struct pmu_battery_info pmu_batteries[170,5236 -static int query_batt_timer 171,5294 -static struct adb_request batt_req;172,5347 -static struct proc_dir_entry *proc_pmu_batt[173,5383 -int __fake_sleep;180,5660 -int asleep;181,5678 -struct notifier_block *sleep_notifier_list;182,5690 -static int adb_dev_map 185,5753 -static int pmu_adb_flags;186,5781 -struct adb_driver via_pmu_driver 219,7140 -static const s8 pmu_data_len[246,7796 -static const s8 pmu_data_len[256][2] __openfirmwaredata 246,7796 -static char *pbook_type[282,10211 -static struct backlight_controller pmu_backlight_controller 291,10385 -find_via_pmu(298,10559 -pmu_probe(379,12663 -pmu_init(385,12736 -static int __init via_pmu_start(400,13129 -static int __init via_pmu_dev_init(451,14553 -init_pmu(524,16769 -pmu_get_model(586,18255 -static inline void wakeup_decrementer(592,18319 -static void pmu_set_server_mode(602,18539 -done_battery_state_ohare(631,19314 -done_battery_state_smart(719,21571 -query_battery_state(797,23619 -proc_get_info(812,23973 -proc_get_irqstats(829,24482 -proc_get_batt(857,25118 -proc_read_options(882,25787 -proc_write_options(898,26200 -pmu_send_request(944,27187 -pmu_adb_autopoll(1024,28863 -pmu_adb_reset_bus(1047,29317 -pmu_request(1082,30036 -pmu_queue_request(1108,30572 -wait_for_ack(1147,31235 -send_byte(1165,31636 -recv_byte(1176,31856 -pmu_done(1187,32072 -pmu_start(1200,32375 -pmu_poll(1224,32932 -pmu_poll_adb(1234,33057 -pmu_wait_complete(1249,33351 -pmu_suspend(1263,33792 -pmu_resume(1303,34712 -pmu_handle_data(1333,35407 -pmu_sr_intr(1447,38195 -via_pmu_interrupt(1553,40561 -pmu_unlock(1641,42709 -gpio1_interrupt(1654,42930 -static int backlight_to_bright[1674,43387 -static int backlight_to_bright[] __pmacdata 1674,43387 -pmu_set_backlight_enable(1680,43563 -pmu_bright_complete(1700,43993 -pmu_set_backlight_level(1709,44191 -pmu_enable_irled(1729,44722 -pmu_restart(1744,44994 -pmu_shutdown(1766,45347 -pmu_present(1793,45822 -struct pmu_i2c_hdr pmu_i2c_hdr1798,45863 -pmu_i2c_combined_read(1809,45974 -pmu_i2c_stdsub_write(1870,47258 -pmu_i2c_simple_read(1930,48533 -pmu_i2c_simple_write(1991,49782 -pmu_register_sleep_notifier(2055,51090 -pmu_unregister_sleep_notifier(2071,51478 -broadcast_sleep(2082,51696 -broadcast_wake(2107,52439 -static struct pci_save pci_save2125,52895 -} *pbook_pci_saves;2134,53034 -static int pbook_npci_saves;2135,53054 -pbook_alloc_pci_save(2138,53103 -pbook_free_pci_save(2155,53434 -pbook_pci_save(2165,53597 -pbook_pci_restore(2196,54473 -pmu_blink(2244,55590 -static u32 save_via[2282,56223 -static u32 save_via[8] __pmacdata;2282,56223 -save_via_state(2285,56278 -restore_via_state(2297,56580 -pmac_suspend_devices(2313,57035 -pmac_wakeup_devices(2400,59399 -#define GRACKLE_PM 2434,59918 -#define GRACKLE_DOZE 2435,59944 -#define GRACKLE_NAP 2436,59972 -#define GRACKLE_SLEEP 2437,59999 -powerbook_sleep_grackle(2440,60040 -powerbook_sleep_Core99(2526,62497 -#define PB3400_MEM_CTRL 2623,65248 -#define PB3400_MEM_CTRL_SLEEP 2624,65284 -powerbook_sleep_3400(2627,65338 -#define RB_SIZE 2707,67266 -struct pmu_private pmu_private2708,67288 - struct rb_entry rb_entry2712,67359 -static spinlock_t all_pvt_lock __pmacdata 2724,67691 -pmu_pass_intr(2727,67775 -pmu_open(2756,68496 -pmu_read(2778,69132 -pmu_write(2831,70334 -pmu_fpoll(2838,70462 -pmu_release(2855,70831 -pmu_ioctl(2881,71556 -static struct file_operations pmu_device_fops __pmacdata 2956,73268 -static struct miscdevice pmu_device __pmacdata 2965,73463 -void pmu_device_init(2969,73554 -polled_handshake(2980,73783 -polled_send_byte(2991,73982 -polled_recv_byte(2999,74151 -pmu_polled_request(3011,74355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/therm_windtunnel.c,957 -#define LOG_TEMP 47,1398 -#define I2C_DRIVERID_G4FAN 49,1455 -#define THERMOSTAT_CLIENT_ID 50,1503 -#define FAN_CLIENT_ID 51,1534 -static unsigned short normal_i2c[56,1689 -static unsigned short normal_i2c_range[57,1759 -I2C_CLIENT_INSMOD;59,1848 -} x;82,2309 -#define T(T84,2315 -} fan_table[90,2437 -print_temp(106,2754 -show_cpu_temperature(112,2877 -show_case_temperature(118,3019 -write_reg(133,3501 -read_reg(151,3807 -tune_fan(166,4137 -poll_temp(182,4528 -setup_hardware(222,5336 -restore_regs(272,6874 -control_loop(285,7228 -do_attach(313,7703 -do_detach(332,8088 -static struct i2c_driver g4fan_driver 355,8524 -attach_fan(365,8753 -attach_thermostat(387,9194 -do_probe(427,10019 -therm_of_probe(455,10701 -therm_of_remove(461,10828 -static struct of_match therm_of_match[466,10915 -static struct of_platform_driver therm_of_driver 473,11040 -struct apple_thermal_info apple_thermal_info480,11210 -g4fan_init(488,11397 -g4fan_exit(522,12185 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/macserial.h,5802 -#define _MACSERIAL_H10,297 -#define NUM_ZSREGS 14,348 -struct serial_struct serial_struct16,374 -#define ZILOG_CLOSING_WAIT_INF 37,844 -#define ZILOG_CLOSING_WAIT_NONE 38,877 -#define ZILOG_HUP_NOTIFY 43,987 -#define ZILOG_FOURPORT 45,1092 -#define ZILOG_SAK 46,1170 -#define ZILOG_SPLIT_TERMIOS 47,1237 -#define ZILOG_SPD_MASK 49,1315 -#define ZILOG_SPD_HI 50,1346 -#define ZILOG_SPD_VHI 52,1413 -#define ZILOG_SPD_CUST 53,1482 -#define ZILOG_SKIP_TEST 55,1548 -#define ZILOG_AUTO_IRQ 56,1626 -#define ZILOG_SESSION_LOCKOUT 57,1706 -#define ZILOG_PGRP_LOCKOUT 58,1785 -#define ZILOG_CALLOUT_NOHUP 59,1858 -#define ZILOG_FLAGS 61,1932 -#define ZILOG_USR_MASK 62,1993 -#define ZILOG_INITIALIZED 66,2152 -#define ZILOG_CALLOUT_ACTIVE 67,2223 -#define ZILOG_NORMAL_ACTIVE 68,2295 -#define ZILOG_BOOT_AUTOCONF 69,2364 -#define ZILOG_CLOSING 70,2438 -#define ZILOG_CTS_FLOW 71,2501 -#define ZILOG_CHECK_CD 72,2562 -#define ZILOG_SLEEPING 73,2616 -struct mac_zschannel mac_zschannel89,2973 -struct mac_dma mac_dma97,3138 -struct mac_serial mac_serial104,3298 -#define RX_BUF_SIZE 175,5481 -#define RX_NO_FBUF 180,5575 -#define RX_DMA_TIMER 187,5731 -#define SERIAL_MAGIC 193,5815 -#define SERIAL_XMIT_SIZE 198,5914 -#define RS_EVENT_WRITE_WAKEUP 204,6061 -#define BRG_TO_BPS(BRG_TO_BPS211,6201 -#define BPS_TO_BRG(BPS_TO_BRG212,6258 -#define FLAG 216,6358 -#define R0 219,6400 -#define R1 220,6437 -#define R2 221,6450 -#define R3 222,6463 -#define R4 223,6476 -#define R5 224,6489 -#define R6 225,6502 -#define R7 226,6515 -#define R8 227,6528 -#define R9 228,6541 -#define R10 229,6554 -#define R11 230,6569 -#define R12 231,6584 -#define R13 232,6599 -#define R14 233,6614 -#define R15 234,6629 -#define NULLCODE 236,6645 -#define POINT_HIGH 237,6680 -#define RES_EXT_INT 238,6740 -#define SEND_ABORT 239,6800 -#define RES_RxINT_FC 240,6841 -#define RES_Tx_P 241,6904 -#define ERR_RES 242,6952 -#define RES_H_IUS 243,6992 -#define RES_Rx_CRC 245,7040 -#define RES_Tx_CRC 246,7091 -#define RES_EOM_L 247,7142 -#define EXT_INT_ENAB 251,7212 -#define TxINT_ENAB 252,7258 -#define PAR_SPEC 253,7301 -#define RxINT_DISAB 255,7357 -#define RxINT_FCERR 256,7400 -#define INT_ALL_Rx 257,7470 -#define INT_ERR_Rx 258,7534 -#define WT_RDY_RT 260,7583 -#define WT_FN_RDYFN 261,7648 -#define WT_RDY_ENAB 262,7720 -#define RxENABLE 268,7837 -#define SYNC_L_INH 269,7874 -#define ADD_SM 270,7931 -#define RxCRC_ENAB 271,7984 -#define ENT_HM 272,8027 -#define AUTO_ENAB 273,8070 -#define Rx5 274,8112 -#define Rx7 275,8155 -#define Rx6 276,8199 -#define Rx8 277,8243 -#define RxNBITS_MASK 278,8287 -#define PAR_ENA 282,8338 -#define PAR_EVEN 283,8379 -#define SYNC_ENAB 285,8424 -#define SB1 286,8468 -#define SB15 287,8507 -#define SB2 288,8550 -#define SB_MASK 289,8590 -#define MONSYNC 291,8612 -#define BISYNC 292,8658 -#define SDLC 293,8707 -#define EXTSYNC 294,8763 -#define X1CLK 296,8811 -#define X16CLK 297,8850 -#define X32CLK 298,8892 -#define X64CLK 299,8934 -#define XCLK_MASK 300,8976 -#define TxCRC_ENAB 304,9024 -#define RTS 305,9067 -#define SDLC_CRC 306,9094 -#define TxENAB 307,9133 -#define SND_BRK 308,9169 -#define Tx5 309,9208 -#define Tx7 310,9261 -#define Tx6 311,9305 -#define Tx8 312,9349 -#define TxNBITS_MASK 313,9393 -#define DTR 314,9419 -#define ENEXREAD 321,9618 -#define VIS 326,9775 -#define NV 327,9818 -#define DLC 328,9847 -#define MIE 329,9887 -#define STATHI 330,9931 -#define NORESET 331,9969 -#define CHRB 332,10017 -#define CHRA 333,10057 -#define FHWRES 334,10097 -#define BIT6 337,10189 -#define LOOPMODE 338,10226 -#define ABUNDER 339,10266 -#define MARKIDLE 340,10323 -#define GAOP 341,10366 -#define NRZ 342,10408 -#define NRZI 343,10437 -#define FM1 344,10471 -#define FM0 345,10515 -#define CRCPS 346,10559 -#define TRxCXT 349,10645 -#define TRxCTC 350,10687 -#define TRxCBR 351,10732 -#define TRxCDP 352,10782 -#define TRxCOI 353,10824 -#define TCRTxCP 354,10856 -#define TCTRxCP 355,10906 -#define TCBR 356,10956 -#define TCDPLL 357,11017 -#define RCRTxCP 358,11072 -#define RCTRxCP 359,11121 -#define RCBR 360,11173 -#define RCDPLL 361,11233 -#define RTxCX 362,11287 -#define BRENABL 369,11525 -#define BRSRC 370,11576 -#define DTRREQ 371,11625 -#define AUTOECHO 372,11669 -#define LOOPBAK 373,11704 -#define SEARCH 374,11746 -#define RMC 375,11790 -#define DISDPLL 376,11833 -#define SSBR 377,11873 -#define SSRTxC 378,11928 -#define SFMM 379,11977 -#define SNRZI 380,12013 -#define EN85C30 383,12113 -#define ZCIE 384,12174 -#define ENSTFIFO 385,12209 -#define DCDIE 386,12260 -#define SYNCIE 387,12289 -#define CTSIE 388,12328 -#define TxUIE 389,12360 -#define BRKIE 390,12404 -#define Rx_CH_AV 394,12468 -#define ZCOUNT 395,12518 -#define Tx_BUF_EMP 396,12555 -#define DCD 397,12600 -#define SYNC_HUNT 398,12627 -#define CTS 399,12666 -#define TxEOM 400,12694 -#define BRK_ABRT 401,12732 -#define ALL_SNT 404,12795 -#define RES3 406,12880 -#define RES4 407,12908 -#define RES5 408,12936 -#define RES6 409,12964 -#define RES7 410,12992 -#define RES8 411,13020 -#define RES18 412,13048 -#define RES28 413,13077 -#define PAR_ERR 415,13144 -#define Rx_OVR 416,13185 -#define FRM_ERR 417,13229 -#define END_FR 418,13275 -#define CHB_Tx_EMPTY 421,13381 -#define CHB_EXT_STAT 422,13407 -#define CHB_Rx_AVAIL 423,13433 -#define CHB_SPECIAL 424,13459 -#define CHA_Tx_EMPTY 425,13484 -#define CHA_EXT_STAT 426,13510 -#define CHA_Rx_AVAIL 427,13536 -#define CHA_SPECIAL 428,13562 -#define STATUS_MASK 429,13587 -#define CHBEXT 432,13674 -#define CHBTxIP 433,13722 -#define CHBRxIP 434,13765 -#define CHAEXT 435,13808 -#define CHATxIP 436,13856 -#define CHARxIP 437,13900 -#define ONLOOP 442,14035 -#define LOOPSEND 443,14067 -#define CLK2MIS 444,14109 -#define CLK1MIS 445,14156 -#define ZS_CLEARERR(ZS_CLEARERR454,14400 -#define ZS_CLEARFIFO(ZS_CLEARFIFO455,14467 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/mac_hid.c,493 -static struct input_dev emumousebtn;19,356 -static int mouse_emulate_buttons 21,439 -static int mouse_button2_keycode 22,477 -static int mouse_button3_keycode 23,551 -static int mouse_last_keycode 24,623 -ctl_table mac_hid_files[28,725 -ctl_table mac_hid_dir[57,1428 -ctl_table mac_hid_root_dir[69,1656 -static struct ctl_table_header *mac_hid_sysctl_header;80,1821 -int mac_hid_mouse_emulate_buttons(84,1911 -static void emumousebtn_input_register(108,2487 -int __init mac_hid_init(128,3057 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/macio-adb.c,780 -struct preg preg21,455 -struct adb_regs adb_regs26,506 -#define DFB 40,784 -#define TAG 41,819 -#define HMB 44,893 -#define APD 45,932 -#define NRE 48,1001 -#define DLE 49,1040 -#define TAR 52,1106 -#define DTB 53,1151 -#define CRE 54,1184 -#define ADB_RST 55,1231 -#define APE 58,1299 -static volatile struct adb_regs *adb;60,1337 -static struct adb_request *current_req,61,1375 -static struct adb_request *current_req, *last_req;61,1375 -static spinlock_t macio_lock 62,1426 -struct adb_driver macio_adb_driver 72,1799 -int macio_probe(83,1977 -int macio_init(88,2069 -static int macio_adb_autopoll(131,3105 -static int macio_adb_reset_bus(143,3381 -static int macio_send_request(166,3982 -static irqreturn_t macio_adb_interrupt(201,4626 -static void macio_adb_poll(277,6558 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/nvram.c,349 -#define NVRAM_VERSION 5,50 -#define NVRAM_SIZE 20,359 -static loff_t nvram_llseek(22,384 -static ssize_t read_nvram(42,706 -static ssize_t write_nvram(59,1102 -static int nvram_ioctl(79,1534 -struct file_operations nvram_fops 103,2059 -static struct miscdevice nvram_dev 111,2221 -int __init nvram_init(117,2301 -void __exit nvram_cleanup(124,2451 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/apm_emu.c,1187 -#define DBG(DBG50,1288 -#define DBG(DBG53,1380 -#define APM_MINOR_DEV 60,1518 -#define APM_MAX_EVENTS 65,1587 -#define FAKE_APM_BIOS_VERSION 67,1615 -#define APM_USER_NOTIFY_TIMEOUT 69,1653 -struct apm_user apm_user74,1725 -#define APM_BIOS_MAGIC 89,1984 -static int suspends_pending;94,2042 -static struct apm_user * user_list;98,2176 -static struct pmu_sleep_notifier apm_sleep_notifier 101,2285 -static char driver_version[106,2387 -static char * apm_event_name[109,2457 -#define NR_APM_EVENT_NAME 123,2731 -static int queue_empty(128,2823 -static apm_event_t get_queued_event(133,2914 -static void queue_event(139,3069 -static int check_apm_user(174,3929 -static ssize_t do_read(183,4137 -static unsigned int do_poll(233,5302 -static int do_ioctl(246,5566 -static int do_release(288,6542 -static int do_open(321,7221 -static int wait_all_suspend(356,8227 -static int apm_notify_sleep(374,8671 -#define APM_CRITICAL 390,9023 -#define APM_LOW 391,9048 -static int apm_emu_get_info(393,9070 -static struct file_operations apm_bios_fops 501,12125 -static struct miscdevice apm_device 510,12303 -static int __init apm_emu_init(516,12392 -static void __exit apm_emu_exit(538,12887 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/mediabay.c,2627 -#define MB_DEBUG38,1004 -#define MB_IGNORE_SIGNALS39,1021 -#define MBDBG(MBDBG42,1064 -#define MBDBG(MBDBG44,1128 -#define MB_FCR32(MB_FCR3247,1180 -#define MB_FCR8(MB_FCR848,1232 -#define MB_IN32(MB_IN3250,1296 -#define MB_OUT32(MB_OUT3251,1347 -#define MB_BIS(MB_BIS52,1406 -#define MB_BIC(MB_BIC53,1479 -#define MB_IN8(MB_IN854,1553 -#define MB_OUT8(MB_OUT855,1599 -struct mb_ops mb_ops59,1678 -struct media_bay_info media_bay_info69,2013 -#define MAX_BAYS 91,2419 -static struct media_bay_info media_bays[93,2439 -int media_bay_count 94,2490 -#define MB_IDE_READY(MB_IDE_READY99,2648 -#define MS_TO_HZ(MS_TO_HZ105,2838 -#define MB_POLL_DELAY 110,2959 -#define MB_STABLE_DELAY 116,3087 -#define MB_POWER_DELAY 121,3215 -#define MB_RESET_DELAY 127,3361 -#define MB_SETUP_DELAY 134,3564 -#define MB_IDE_WAIT 140,3744 -#define MB_IDE_TIMEOUT 145,3837 -#define MAX_CD_RETRIES 150,3941 - mb_empty 156,4006 - mb_powering_up,157,4033 - mb_enabling_bay,158,4095 - mb_resetting,159,4159 - mb_ide_resetting,160,4221 - mb_ide_waiting,161,4287 - mb_up,162,4364 - mb_powering_down 163,4395 -#define MB_POWER_SOUND 166,4462 -#define MB_POWER_FLOPPY 167,4491 -#define MB_POWER_ATA 168,4521 -#define MB_POWER_PCI 169,4548 -#define MB_POWER_OFF 170,4575 -ohare_mb_content(177,4675 -heathrow_mb_content(183,4788 -keylargo_mb_content(189,4907 -ohare_mb_power(215,5550 -heathrow_mb_power(234,6116 -keylargo_mb_power(253,6714 -ohare_mb_setup_bus(277,7478 -heathrow_mb_setup_bus(297,7930 -keylargo_mb_setup_bus(317,8403 -ohare_mb_un_reset(340,8924 -static void __pmac keylargo_mb_init(345,9016 -static void __pmac heathrow_mb_un_reset(350,9134 -static void __pmac keylargo_mb_un_reset(355,9252 -static void __pmac ohare_mb_un_reset_ide(360,9377 -static void __pmac heathrow_mb_un_reset_ide(365,9493 -static void __pmac keylargo_mb_un_reset_ide(370,9616 -static inline void __pmac set_mb_power(375,9741 -static void __pmac poll_media_bay(391,10217 -int __pmac check_media_bay(424,11107 -int __pmac check_media_bay_by_base(441,11550 -int __pmac media_bay_set_ide_infos(458,11922 -static void __pmac media_bay_step(498,12778 -static int __pmac media_bay_task(628,16667 -static int __devinit media_bay_attach(652,17128 -static int __pmac media_bay_suspend(713,18609 -static int __pmac media_bay_resume(728,18961 -static struct mb_ops ohare_mb_ops __pmacdata 769,20124 -static struct mb_ops heathrow_mb_ops __pmacdata 778,20359 -static struct mb_ops keylargo_mb_ops __pmacdata 787,20615 -static struct of_match media_bay_match[806,21313 -static struct macio_driver media_bay_driver 829,21718 -static int __init media_bay_init(838,21915 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/macintosh/therm_pm72.c,2264 -#define VERSION 104,3708 -#define DBG(DBG109,3758 -#define DBG(DBG111,3798 -static struct of_device * of_dev;119,3870 -static struct i2c_adapter * u3_0;120,3905 -static struct i2c_adapter * u3_1;121,3940 -static struct i2c_client * fcu;122,3975 -static struct cpu_pid_state cpu_state[123,4008 -static struct backside_pid_state backside_state;124,4051 -static struct drives_pid_state drives_state;125,4100 -static int state;126,4146 -static int cpu_count;127,4167 -static pid_t ctrl_task;128,4192 -static struct completion ctrl_complete;129,4219 -static int critical_state;130,4260 -static struct i2c_driver therm_pm72_driver 140,4514 -static struct i2c_client *attach_i2c_chip(153,4811 -static void detach_i2c_chip(188,5578 -static void initialize_adc(198,5722 -static int read_smon_adc(234,6636 -static int fan_read_reg(269,7411 -static int fan_write_reg(299,8007 -static int start_fcu(320,8401 -static int set_rpm_fan(334,8608 -static int get_rpm_fan(351,8878 -static int set_pwm_fan(378,9458 -static int get_pwm_fan(395,9725 -static int read_eeprom(425,10324 -#define BUILD_SHOW_FUNC_FIX(BUILD_SHOW_FUNC_FIX462,11425 -#define BUILD_SHOW_FUNC_INT(BUILD_SHOW_FUNC_INT471,11684 -BUILD_SHOW_FUNC_FIX(477,11841 -static int init_cpu_state(691,19676 -static void dispose_cpu_state(742,21276 -static void do_monitor_backside(768,22178 -static int init_backside_state(854,24854 -static void dispose_backside_state(873,25306 -static void do_monitor_drives(888,25648 -static int init_drives_state(974,28308 -static void dispose_drives_state(993,28751 -static int call_critical_overtemp(1005,29046 -static int main_control_loop(1020,29390 -static void dispose_control_loops(1090,30996 -static int create_control_loops(1103,31292 -static void start_control_loops(1144,32187 -static void stop_control_loops(1154,32393 -static int attach_fcu(1163,32552 -static void detach_fcu(1177,32756 -static int therm_pm72_attach(1189,33027 -static int therm_pm72_detach(1228,33937 -static int fcu_of_probe(1260,34579 -static int fcu_of_remove(1272,34776 -static struct of_match fcu_of_match[1279,34878 -static struct of_platform_driver fcu_of_platform_driver 1289,35007 -static int __init therm_pm72_init(1300,35234 -static void __exit therm_pm72_exit(1325,35802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/hppb.c,291 -struct hppb_card hppb_card32,853 -struct hppb_card hppb_card_head 38,951 -#define IO_IO_LOW 43,1017 -#define IO_IO_HIGH 44,1074 -static int hppb_probe(54,1427 -static struct parisc_device_id hppb_tbl[91,2372 -static struct parisc_driver hppb_driver 96,2496 -void __init hppb_init(107,2733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/eisa_eeprom.c,422 -#define EISA_EEPROM_MINOR 33,1130 -static unsigned long eeprom_addr;35,1162 -static loff_t eisa_eeprom_llseek(37,1197 -static ssize_t eisa_eeprom_read(53,1526 -static int eisa_eeprom_ioctl(80,2056 -static int eisa_eeprom_open(87,2197 -static int eisa_eeprom_release(95,2346 -static struct file_operations eisa_eeprom_fops 103,2483 -static struct miscdevice eisa_eeprom_dev=112,2710 -int __init eisa_eeprom_init(119,2813 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/ccio-dma.c,2958 -#define MODULE_NAME 57,1953 -#define CCIO_SEARCH_TIME69,2233 -#define DBG_INIT(DBG_INIT80,2443 -#define DBG_INIT(DBG_INIT82,2483 -#define DBG_RUN(DBG_RUN86,2536 -#define DBG_RUN(DBG_RUN88,2576 -#define DBG_RES(DBG_RES92,2628 -#define DBG_RES(DBG_RES94,2668 -#define DBG_RUN_SG(DBG_RUN_SG98,2723 -#define DBG_RUN_SG(DBG_RUN_SG100,2764 -#define CCIO_INLINE 103,2797 -#define WRITE_U32(WRITE_U32104,2830 -#define READ_U32(READ_U32105,2894 -#define U2_IOA_RUNWAY 107,2943 -#define U2_BC_GSC 108,2971 -#define UTURN_IOA_RUNWAY 109,2999 -#define UTURN_BC_GSC 110,3030 -#define IOA_NORMAL_MODE 112,3062 -#define CMD_TLB_DIRECT_WRITE 113,3142 -#define CMD_TLB_PURGE 114,3222 -struct ioa_registers ioa_registers116,3303 -struct ioc ioc228,8731 -#define CCIO_SEARCH_SAMPLE 239,9181 -static unsigned long ccio_mem_ratio 266,10125 -static struct ioc *ioc_list;267,10166 -static int ioc_count;268,10195 -#define IOVP_SIZE 285,10808 -#define IOVP_SHIFT 286,10836 -#define IOVP_MASK 287,10866 -#define CCIO_IOVA(CCIO_IOVA290,10943 -#define CCIO_IOVP(CCIO_IOVP291,10994 -#define PDIR_INDEX(PDIR_INDEX293,11040 -#define MKIOVP(MKIOVP294,11089 -#define MKIOVA(MKIOVA295,11150 -#define ROUNDUP(ROUNDUP296,11218 -#define CCIO_SEARCH_LOOP(CCIO_SEARCH_LOOP303,11437 -#define CCIO_FIND_FREE_MAPPING(CCIO_FIND_FREE_MAPPING313,11871 -ccio_alloc_range(344,13020 -#define CCIO_FREE_MAPPINGS(CCIO_FREE_MAPPINGS419,15056 -ccio_free_range(434,15544 -typedef unsigned long space_t;space_t478,16766 -#define KERNEL_SPACE 479,16797 -#define IOPDIR_VALID 507,18220 -#define HINT_SAFE_DMA 508,18251 -#define HINT_STOP_MOST 510,18345 -#define HINT_STOP_MOST 512,18400 -#define HINT_UDPATE_ENB 514,18480 -#define HINT_PREFETCH 515,18543 -static u32 hint_lookup[523,18779 -ccio_io_pdir_entry(559,20401 -ccio_clear_io_tlb(633,22569 -ccio_mark_invalid(666,23628 -ccio_dma_supported(713,24975 -ccio_map_single(735,25552 -ccio_unmap_single(803,27247 -ccio_alloc_consistent(841,28214 -ccio_free_consistent(874,29092 -#define PIDE_FLAG 886,29482 -#define IOMMU_MAP_STATS889,29536 -ccio_map_sg(903,29950 -ccio_unmap_sg(980,32060 -static struct hppa_dma_ops ccio_ops 1008,32686 -static int proc_append(1024,33253 -static int ccio_proc_info(1044,33577 -static int ccio_resource_map(1131,36460 -static struct ioc * ccio_find_ioc(1163,37152 -void * ccio_get_iommu(1186,37605 -#define CUJO_20_STEP 1195,37772 -void ccio_cujo20_fixup(1201,38053 -ccio_get_iotlb_size(1231,38796 -#define CCIO_CHAINID_SHIFT 1241,39018 -#define CCIO_CHAINID_MASK 1242,39047 -ccio_ioc_init(1254,39353 -ccio_init_resource(1376,43095 -static void __init ccio_init_resources(1394,43635 -static int new_ioc_area(1406,43982 -static int expand_ioc_area(1420,44343 -int ccio_allocate_resource(1452,45170 -int ccio_request_resource(1490,46370 -static int ccio_probe(1519,47178 -static struct parisc_device_id ccio_tbl[1566,48539 -static struct parisc_driver ccio_driver 1572,48733 -void __init ccio_init(1583,48929 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/gsc.h,270 -#define OFFSET_IRR 13,270 -#define OFFSET_IMR 14,331 -#define OFFSET_IPR 15,389 -#define OFFSET_ICR 16,450 -#define OFFSET_IAR 17,511 -#define GSC_EIM_WIDTH 20,651 -struct gsc_irq gsc_irq22,676 -struct busdevice busdevice28,801 -#define BUSDEV_DEV(BUSDEV_DEV40,1015 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/led.c,1429 -static int led_type 54,1863 -static int led_heartbeat 55,1889 -static int led_diskio 56,1919 -static int led_lanrxtx 57,1946 -static char lcd_text[58,1974 -static char lcd_text_default[59,2000 -#define DPRINTK(DPRINTK62,2062 -#define DPRINTK(DPRINTK64,2096 -struct lcd_block lcd_block68,2124 -struct pdc_chassis_lcd_info_ret_block pdc_chassis_lcd_info_ret_block77,2512 -#define KITTYHAWK_LCD_CMD 95,3298 -#define KITTYHAWK_LCD_DATA 96,3366 -#define LCD_CMD_REG 114,3929 -#define LCD_DATA_REG 115,3977 -#define LED_DATA_REG 116,4027 -#define LED_HASLCD 122,4183 -#define LED_NOLCD 123,4204 -static int led_proc_read(125,4247 -static int led_proc_write(157,4845 -static int __init led_create_procfs(218,5967 -#define LED_DATA 256,6836 -#define LED_STROBE 257,6891 -static void led_ASP_driver(258,6942 -static void led_LASI_driver(278,7251 -static void led_LCD_driver(297,7722 -static __inline__ int led_get_net_activity(346,9095 -static __inline__ int led_get_diskio_activity(400,10208 -#define HEARTBEAT_LEN 430,10994 -#define HEARTBEAT_2ND_RANGE_START 431,11027 -#define HEARTBEAT_2ND_RANGE_END 432,11073 -#define NORMALIZED_COUNT(NORMALIZED_COUNT434,11152 -static void led_tasklet_func(436,11202 -static struct notifier_block led_notifier 504,12974 -static int led_halt(508,13052 -int __init register_led_driver(543,13826 -void __init register_led_regions(606,15502 -int lcd_print(630,16103 -int __init led_init(674,17255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/lba_pci.c,4881 -#define TRUE 56,1962 -#define FALSE 57,1984 -#define DBG(DBG69,2325 -#define DBG(DBG71,2359 -#define DBG_PORT(DBG_PORT75,2407 -#define DBG_PORT(DBG_PORT77,2446 -#define DBG_CFG(DBG_CFG81,2498 -#define DBG_CFG(DBG_CFG83,2536 -#define DBG_PAT(DBG_PAT87,2587 -#define DBG_PAT(DBG_PAT89,2625 -#define ASSERT(ASSERT94,2686 -#define ASSERT(ASSERT101,2833 -#define MODULE_NAME 119,3425 -#define LBA_FUNC_ID 121,3452 -#define LBA_FCLASS 122,3497 -#define LBA_CAPABLE 123,3566 -#define LBA_PCI_CFG_ADDR 125,3622 -#define LBA_PCI_CFG_DATA 126,3682 -#define LBA_PMC_MTLT 128,3745 -#define LBA_FW_SCRATCH 129,3811 -#define LBA_ERROR_ADDR 130,3888 -#define LBA_ARB_MASK 132,3960 -#define LBA_ARB_PRI 133,4036 -#define LBA_ARB_MODE 134,4089 -#define LBA_ARB_MTLT 135,4143 -#define LBA_MOD_ID 137,4198 -#define LBA_STAT_CTL 139,4265 -#define LBA_BUS_RESET 140,4316 -#define CLEAR_ERRLOG 141,4383 -#define CLEAR_ERRLOG_ENABLE 142,4441 -#define HF_ENABLE 143,4508 -#define LBA_LMMIO_BASE 145,4579 -#define LBA_LMMIO_MASK 146,4639 -#define LBA_GMMIO_BASE 148,4670 -#define LBA_GMMIO_MASK 149,4730 -#define LBA_WLMMIO_BASE 151,4761 -#define LBA_WLMMIO_MASK 152,4836 -#define LBA_WGMMIO_BASE 154,4868 -#define LBA_WGMMIO_MASK 155,4943 -#define LBA_IOS_BASE 157,4975 -#define LBA_IOS_MASK 158,5037 -#define LBA_ELMMIO_BASE 160,5066 -#define LBA_ELMMIO_MASK 161,5121 -#define LBA_EIOS_BASE 163,5153 -#define LBA_EIOS_MASK 164,5209 -#define LBA_DMA_CTL 166,5239 -#define LBA_IBASE 168,5292 -#define LBA_IMASK 169,5339 -#define LBA_HINT_CFG 172,5433 -#define LBA_HINT_BASE 173,5461 -#define LBA_BUS_MODE 175,5528 -#define LBA_ERROR_CONFIG 178,5609 -#define LBA_SMART_MODE 179,5641 -#define LBA_ERROR_STATUS 180,5673 -#define LBA_ROPE_CTL 181,5705 -#define LBA_IOSAPIC_BASE 183,5738 -#define LBA_ASTRO_PORT_BASE 187,5869 -#define LBA_ASTRO_PORT_BASE 189,5926 -#define ELROY_HVERS 192,5977 -#define MERCURY_HVERS 193,6003 -#define QUICKSILVER_HVERS 194,6031 -static inline int IS_ELROY(196,6064 -static inline int IS_MERCURY(201,6162 -static inline int IS_QUICKSILVER(206,6264 -struct lba_device lba_device215,6430 -static u32 lba_t32;230,6726 -#define LBA_FLAG_NO_DMA_DURING_CFG 235,6768 -#define LBA_FLAG_SKIP_PROBE 236,6808 -#define LBA_TR4PLUS(LBA_TR4PLUS239,6875 -#define LBA_DMA_DURING_CFG_DISABLED(LBA_DMA_DURING_CFG_DISABLED240,6923 -#define LBA_SKIP_PROBE(LBA_SKIP_PROBE241,7004 -#define LBA_DEV(LBA_DEV245,7113 -#define LBA_MAX_NUM_BUSES 252,7266 -#define READ_U8(READ_U8260,7476 -#define READ_U16(READ_U16261,7517 -#define READ_U32(READ_U32262,7558 -#define WRITE_U8(WRITE_U8263,7599 -#define WRITE_U16(WRITE_U16264,7656 -#define WRITE_U32(WRITE_U32265,7713 -#define READ_REG8(READ_REG8267,7771 -#define READ_REG16(READ_REG16268,7808 -#define READ_REG32(READ_REG32269,7845 -#define READ_REG64(READ_REG64270,7882 -#define WRITE_REG8(WRITE_REG8271,7919 -#define WRITE_REG16(WRITE_REG16272,7972 -#define WRITE_REG32(WRITE_REG32273,8025 -#define LBA_CFG_TOK(LBA_CFG_TOK276,8080 -#define LBA_CFG_BUS(LBA_CFG_BUS277,8140 -#define LBA_CFG_DEV(LBA_CFG_DEV278,8185 -#define LBA_CFG_FUNC(LBA_CFG_FUNC279,8237 -#define ROPES_PER_SBA 286,8372 -#define LBA_NUM(LBA_NUM287,8396 -lba_dump_res(291,8482 -lba_device_present(321,9168 -#define LBA_CFG_SETUP(LBA_CFG_SETUP343,9645 -#define LBA_CFG_PROBE(LBA_CFG_PROBE372,10670 -#define LBA_MASTER_ABORT_ERROR 420,12372 -#define LBA_FATAL_ERROR 421,12407 -#define LBA_CFG_MASTER_ABORT_CHECK(LBA_CFG_MASTER_ABORT_CHECK423,12437 -#define LBA_CFG_TR4_ADDR_SETUP(LBA_CFG_TR4_ADDR_SETUP446,13241 -#define LBA_CFG_ADDR_SETUP(LBA_CFG_ADDR_SETUP449,13354 -#define LBA_CFG_RESTORE(LBA_CFG_RESTORE462,13829 -lba_rd_cfg(482,14413 -#define pat_cfg_addr(pat_cfg_addr524,15483 -static int pat_cfg_read(526,15565 -static int pat_cfg_write(543,16115 -static struct pci_ops pat_cfg_ops 552,16458 -#define pat_cfg_ops 558,16622 -static int lba_cfg_read(561,16662 -lba_wr_cfg(603,18080 -static int lba_cfg_write(645,19031 -static struct pci_ops lba_cfg_ops 684,20235 -lba_bios_init(691,20339 -lba_claim_dev_resources(709,20706 -#define lba_claim_dev_resources(lba_claim_dev_resources736,21283 -lba_fixup_bus(750,21685 -struct pci_bios_ops lba_bios_ops 895,25553 -#define LBA_PORT_IN(LBA_PORT_IN917,26207 -LBA_PORT_IN(926,26426 -#define LBA_PORT_OUT(LBA_PORT_OUT958,27631 -#define PIOP_TO_GMMIO(PIOP_TO_GMMIO984,28267 -#define LBA_PORT_IN(LBA_PORT_IN1000,28907 -LBA_PORT_IN(1011,29210 -#define LBA_PORT_OUT(LBA_PORT_OUT1017,29289 -lba_pat_resources(1051,30207 -#define lba_pat_port_ops 1153,32945 -#define lba_pat_resources(lba_pat_resources1154,32989 -lba_legacy_resources(1159,33075 -lba_hw_init(1272,36906 -lba_common_init(1357,39664 -lba_driver_probe(1379,40138 -static struct parisc_device_id lba_tbl[1510,43842 -static struct parisc_driver lba_driver 1517,44078 -void __init lba_init(1527,44322 -lba_set_iregs(1538,44600 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/power.c,779 -# define DPRINTK(DPRINTK57,1995 -# define DPRINTK(DPRINTK59,2030 -#define SYSCTL_FILENAME 64,2153 -#define DIAG_CODE(DIAG_CODE67,2199 -#define MFCPU_X(MFCPU_X71,2342 -#define MTCPU(MTCPU74,2458 -#define MFCPU_C(MFCPU_C75,2546 -#define MFCPU_T(MFCPU_T76,2626 -#define __getDIAG(__getDIAG78,2711 -static void deferred_poweroff(87,2913 -static void poweroff(104,3334 -static int shutdown_timer;117,3511 -static void process_shutdown(120,3602 -int pwrsw_enabled 143,4129 -static void gecko_tasklet_func(151,4315 -static void polling_tasklet_func(173,4786 -static void powerfail_interrupt(194,5186 -static int parisc_panic_event(209,5582 -static struct notifier_block parisc_panic_block 217,5767 -static int __init power_init(223,5884 -static void __exit power_exit(262,6887 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/ccio-rm-dma.c,691 -#define MODULE_NAME 51,1647 -#define U2_IOA_RUNWAY 53,1675 -#define U2_BC_GSC 54,1703 -#define UTURN_IOA_RUNWAY 55,1731 -#define UTURN_BC_GSC 56,1762 -#define IS_U2(IS_U258,1794 -#define IS_UTURN(IS_UTURN63,1968 -static int ccio_dma_supported(68,2151 -static void *ccio_alloc_consistent(81,2419 -static void ccio_free_consistent(95,2687 -static dma_addr_t ccio_map_single(101,2853 -static void ccio_unmap_single(107,2984 -static int ccio_map_sg(114,3118 -static void ccio_unmap_sg(130,3478 -static struct pci_dma_ops ccio_ops 145,3801 -ccio_probe(166,4426 -static struct parisc_device_id ccio_tbl[186,4840 -static struct parisc_driver ccio_driver 192,5011 -void __init ccio_init(198,5126 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/eisa_enumerator.c,670 -#define EPI 34,776 -#define NUM_SLOT 35,794 -#define SLOT2PORT(SLOT2PORT36,814 -#define get_8(get_842,978 -static inline u_int16_t get_16(44,1014 -static inline u_int32_t get_32(49,1103 -static inline u_int32_t get_24(54,1221 -static void print_eisa_id(59,1332 -static int configure_memory(80,1697 -static int configure_irq(120,2519 -static int configure_dma(151,3056 -static int configure_port(172,3402 -static int configure_port_init(214,4400 -static int configure_choise(279,5905 -static int configure_type_string(293,6225 -static int configure_function(306,6487 -static int parse_slot_config(317,6761 -static int init_slot(430,9548 -int eisa_enumerator(485,10834 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/sba_iommu.c,4721 -#define MODULE_NAME 48,1377 -#define DBG_INIT(DBG_INIT70,1922 -#define DBG_INIT(DBG_INIT72,1961 -#define DBG_RUN(DBG_RUN76,2013 -#define DBG_RUN(DBG_RUN78,2051 -#define DBG_RUN_SG(DBG_RUN_SG82,2105 -#define DBG_RUN_SG(DBG_RUN_SG84,2146 -#define DBG_RES(DBG_RES89,2206 -#define DBG_RES(DBG_RES91,2244 -#define ASSERT(ASSERT96,2312 -#define ASSERT(ASSERT103,2459 -#define ZX1_SUPPORT109,2590 -#define SBA_INLINE 112,2618 -#define DELAYED_RESOURCE_CNT 122,2904 -#define DEFAULT_DMA_HINT_REG 124,2937 -#define ASTRO_RUNWAY_PORT 126,2969 -#define ASTRO_ROPES_PORT 127,3001 -#define IKE_MERCED_PORT 129,3033 -#define IKE_ROPES_PORT 130,3064 -#define REO_MERCED_PORT 132,3095 -#define REO_ROPES_PORT 133,3126 -#define REOG_MERCED_PORT 135,3157 -#define REOG_ROPES_PORT 136,3188 -#define PLUTO_MCKINLEY_PORT 138,3220 -#define PLUTO_ROPES_PORT 139,3254 -#define SBA_FUNC_ID 141,3286 -#define SBA_FCLASS 142,3331 -#define IS_ASTRO(IS_ASTRO144,3401 -#define IS_IKE(IS_IKE147,3505 -#define IS_PLUTO(IS_PLUTO150,3603 -#define SBA_FUNC_SIZE 153,3709 -#define ASTRO_IOC_OFFSET 155,3780 -#define IKE_IOC_OFFSET(IKE_IOC_OFFSET157,3870 -#define PLUTO_IOC_OFFSET 159,3919 -#define IOC_CTRL 161,3952 -#define IOC_CTRL_TC 162,4004 -#define IOC_CTRL_CE 163,4056 -#define IOC_CTRL_DE 164,4113 -#define IOC_CTRL_RM 165,4168 -#define IOC_CTRL_NC 166,4219 -#define MAX_IOC 168,4279 -#define IOS_DIST_BASE 175,4456 -#define IOS_DIST_MASK 176,4484 -#define IOS_DIST_ROUTE 177,4512 -#define IOS_DIRECT_BASE 179,4542 -#define IOS_DIRECT_MASK 180,4572 -#define IOS_DIRECT_ROUTE 181,4602 -#define ROPE0_CTL 186,4690 -#define ROPE1_CTL 187,4735 -#define ROPE2_CTL 188,4759 -#define ROPE3_CTL 189,4783 -#define ROPE4_CTL 190,4807 -#define ROPE5_CTL 191,4831 -#define ROPE6_CTL 192,4855 -#define ROPE7_CTL 193,4879 -#define HF_ENABLE 195,4904 -#define IOC_IBASE 198,4929 -#define IOC_IMASK 199,4966 -#define IOC_PCOM 200,4990 -#define IOC_TCNFG 201,5013 -#define IOC_PDIR_BASE 202,5037 -#define SBA_IOMMU_COOKIE 205,5103 -#define IOVP_SIZE 219,5549 -#define IOVP_SHIFT 220,5577 -#define IOVP_MASK 221,5607 -#define SBA_PERF_CFG 223,5636 -#define SBA_PERF_MASK1 224,5695 -#define SBA_PERF_MASK2 225,5724 -#define SBA_PERF_CNT1 232,5888 -#define SBA_PERF_CNT2 233,5916 -#define SBA_PERF_CNT3 234,5944 -struct ioc ioc237,5974 - struct sba_dma_pair sba_dma_pair257,6750 -#define SBA_SEARCH_SAMPLE 264,6873 -struct sba_device sba_device282,7391 -static struct sba_device *sba_list;297,7874 -static unsigned long ioc_needs_fdc 299,7911 -static unsigned long sba_mem_ratio 302,7994 -static unsigned int global_ioc_cnt 305,8078 -static unsigned long piranha_bad_128k 308,8161 -#define SBA_DEV(SBA_DEV311,8251 -static int reserve_sba_gart 314,8319 -#define ROUNDUP(ROUNDUP317,8360 -#define READ_REG32(READ_REG32328,8660 -#define READ_REG64(READ_REG64329,8717 -#define WRITE_REG32(WRITE_REG32330,8774 -#define WRITE_REG64(WRITE_REG64331,8842 -#define READ_REG(READ_REG334,8927 -#define WRITE_REG(WRITE_REG335,8968 -#define READ_REG(READ_REG337,9030 -#define WRITE_REG(WRITE_REG338,9071 -sba_dump_ranges(353,9471 -sba_dump_tlb(372,10157 -#define sba_dump_ranges(sba_dump_ranges382,10513 -#define sba_dump_tlb(sba_dump_tlb383,10540 -sba_dump_pdir_entry(398,10888 -sba_check_pdir(430,11762 -sba_dump_sg(474,12861 -#define PAGES_PER_RANGE 500,13491 -#define SBA_IOVA(SBA_IOVA506,13710 -#define SBA_IOVP(SBA_IOVP507,13788 -#define SBA_IOVA(SBA_IOVA510,13922 -#define SBA_IOVP(SBA_IOVP511,13985 -#define PDIR_INDEX(PDIR_INDEX514,14027 -#define RESMAP_MASK(RESMAP_MASK516,14076 -#define RESMAP_IDX_MASK 517,14134 -sba_search_bitmap(530,14575 -sba_alloc_range(612,16895 -sba_free_range(676,18664 -#define SBA_DMA_HINT(SBA_DMA_HINT712,19797 -typedef unsigned long space_t;space_t715,19870 -#define KERNEL_SPACE 716,19901 -sba_io_pdir_entry(759,21458 -sba_mark_invalid(809,23166 -sba_dma_supported(870,24799 -sba_map_single(893,25367 -sba_unmap_single(971,27365 -static void *sba_alloc_consistent(1043,29337 -sba_free_consistent(1075,30055 -#define PIDE_FLAG 1088,30441 -#define IOMMU_MAP_STATS1091,30498 -int dump_run_sg 1096,30587 -sba_map_sg(1110,30885 -sba_unmap_sg(1192,32958 -static struct hppa_dma_ops sba_ops 1236,34106 -sba_get_pat_resources(1262,34852 -#define PIRANHA_ADDR_MASK 1286,35603 -#define PIRANHA_ADDR_VAL 1287,35661 -sba_alloc_pdir(1289,35732 -sba_ioc_init_pluto(1384,38374 -sba_ioc_init(1521,42464 -sba_hw_init(1662,46764 -sba_common_init(1742,49243 -static int sba_proc_info(1841,52142 -sba_resource_map(1904,54311 -static struct parisc_device_id sba_tbl[1924,54821 -static struct parisc_driver sba_driver 1945,55691 -sba_driver_callback(1957,55985 -void __init sba_init(2055,58628 -void * sba_get_iommu(2068,58945 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/asp.c,303 -#define ASP_GSC_IRQ 25,586 -#define ASP_VER_OFFSET 27,644 -#define ASP_LED_ADDR 29,703 -#define VIPER_INT_WORD 31,736 -static int asp_choose_irq(33,812 -#define ASP_INTERRUPT_ADDR 60,1812 -asp_init_chip(63,1862 -static struct parisc_device_id asp_tbl[122,3328 -struct parisc_driver asp_driver 127,3446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/gsc.c,552 -unsigned long parisc_vmerge_boundary 34,1033 -unsigned long parisc_vmerge_max_size 35,1075 -#define DEBPRINTK 40,1145 -#define DEBPRINTK(DEBPRINTK42,1176 -int gsc_alloc_irq(45,1209 -int gsc_claim_irq(60,1459 -#define GSC_FIX_IRQ(GSC_FIX_IRQ83,1932 -#define GSC_MASK_IRQ(GSC_MASK_IRQ84,1964 -irqreturn_t busdev_barked(87,2074 -busdev_disable_irq(113,2846 -busdev_enable_irq(127,3234 -busdev_mask_irq(147,3830 -busdev_unmask_irq(153,3941 -struct irq_region_ops busdev_irq_ops 160,4092 -int gsc_common_irqsetup(168,4271 -void __init gsc_init(202,5123 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/eisa.c,1337 -#define EISA_DBG(EISA_DBG49,1543 -#define EISA_DBG(EISA_DBG51,1622 -#define SNAKES_EEPROM_BASE_ADDR 54,1663 -#define MIRAGE_EEPROM_BASE_ADDR 55,1706 -static spinlock_t eisa_irq_lock 57,1750 -static struct eisa_ba eisa_ba62,1909 -} eisa_dev;66,2018 -static inline unsigned long eisa_permute(70,2047 -unsigned char eisa_in8(80,2262 -unsigned short eisa_in16(87,2380 -unsigned int eisa_in32(94,2515 -void eisa_out8(101,2652 -void eisa_out16(107,2768 -void eisa_out32(113,2900 -static int master_mask;132,3334 -static int slave_mask;133,3358 -static unsigned int eisa_irq_level;141,3570 -static void eisa_disable_irq(145,3665 -static void eisa_enable_irq(165,4184 -static void eisa_mask_irq(183,4652 -static void eisa_unmask_irq(200,5035 -static struct irqaction action[217,5422 -static struct irq_region eisa_irq_region 220,5535 -static irqreturn_t eisa_irq(226,5725 -static irqreturn_t dummy_irq2_handler(278,7202 -static void init_eisa_pic(284,7348 -#define is_mongoose(is_mongoose330,8597 -static int __devinit eisa_probe(332,8653 -static struct parisc_device_id eisa_tbl[410,10937 -static struct parisc_driver eisa_driver 418,11187 -void __init eisa_init(424,11310 -static unsigned int eisa_irq_configured;430,11383 -void eisa_make_irq_level(431,11424 -void eisa_make_irq_edge(442,11732 -static int __init eisa_irq_setup(453,12041 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/wax.c,229 -#define WAX_GSC_IRQ 28,645 -#define WAX_GSC_NMI_IRQ 29,701 -static int wax_choose_irq(31,729 -wax_init_irq(45,998 -wax_init_chip(70,1660 -static struct parisc_device_id wax_tbl[129,3017 -struct parisc_driver wax_driver 136,3176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/lasi.c,429 -#define LASI_VER 33,800 -#define LASI_IO_CONF 35,844 -#define LASI_IO_CONF2 36,915 -static int lasi_choose_irq(38,990 -lasi_init_irq(64,1718 -#define lasi_led_init(lasi_led_init110,3098 -void __init lasi_led_init(114,3145 -static unsigned long lasi_power_off_hpa;157,4305 -static void lasi_power_off(159,4347 -lasi_init_chip(171,4576 -static struct parisc_device_id lasi_tbl[237,6185 -struct parisc_driver lasi_driver 242,6304 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/dino.c,2944 -#define DBG(DBG68,2193 -#define DBG(DBG70,2227 -#define is_card_dino(is_card_dino87,2762 -#define DINO_IAR0 89,2818 -#define DINO_IODC_ADDR 90,2843 -#define DINO_IODC_DATA_0 91,2873 -#define DINO_IODC_DATA_1 92,2904 -#define DINO_IRR0 93,2935 -#define DINO_IAR1 94,2960 -#define DINO_IRR1 95,2985 -#define DINO_IMR 96,3010 -#define DINO_IPR 97,3034 -#define DINO_TOC_ADDR 98,3058 -#define DINO_ICR 99,3087 -#define DINO_ILR 100,3111 -#define DINO_IO_COMMAND 101,3135 -#define DINO_IO_STATUS 102,3166 -#define DINO_IO_CONTROL 103,3196 -#define DINO_IO_GSC_ERR_RESP 104,3227 -#define DINO_IO_ERR_INFO 105,3262 -#define DINO_IO_PCI_ERR_RESP 106,3293 -#define DINO_IO_FBB_EN 107,3328 -#define DINO_IO_ADDR_EN 108,3358 -#define DINO_PCI_ADDR 109,3389 -#define DINO_CONFIG_DATA 110,3418 -#define DINO_IO_DATA 111,3449 -#define DINO_MEM_DATA 112,3477 -#define DINO_GSC2X_CONFIG 113,3526 -#define DINO_GMASK 114,3558 -#define DINO_PAMR 115,3584 -#define DINO_PAPR 116,3609 -#define DINO_DAMODE 117,3634 -#define DINO_PCICMD 118,3661 -#define DINO_PCISTS 119,3688 -#define DINO_MLTIM 120,3715 -#define DINO_BRDG_FEAT 121,3741 -#define DINO_PCIROR 122,3771 -#define DINO_PCIWOR 123,3798 -#define DINO_TLTIM 124,3825 -#define DINO_IRQS 126,3852 -#define DINO_IRR_MASK 127,3906 -#define DINO_MASK_IRQ(DINO_MASK_IRQ129,3970 -#define PCIINTA 131,4005 -#define PCIINTB 132,4029 -#define PCIINTC 133,4053 -#define PCIINTD 134,4077 -#define PCIINTE 135,4101 -#define PCIINTF 136,4125 -#define GSCEXTINT 137,4149 -#define RS232INT 141,4312 -struct dino_devicedino_device143,4337 -#define DINO_DEV(DINO_DEV159,4856 -#define DINO_CFG_TOK(DINO_CFG_TOK166,4960 -static int dino_current_bus 173,5246 -static int dino_cfg_read(175,5280 -static int dino_cfg_write(209,6394 -static struct pci_ops dino_cfg_ops 240,7373 -#define cpu_to_le8(cpu_to_le8255,7749 -#define le8_to_cpu(le8_to_cpu256,7775 -#define DINO_PORT_IN(DINO_PORT_IN258,7802 -DINO_PORT_IN(272,8305 -#define DINO_PORT_OUT(DINO_PORT_OUT276,8375 -dino_mask_irq(302,9103 -dino_unmask_irq(323,9614 -dino_enable_irq(361,10751 -static struct irq_region_ops dino_irq_ops 377,11056 -dino_isr(392,11455 -static int dino_choose_irq(440,12654 -dino_bios_init(454,12927 -#define _8MB 466,13222 -dino_card_setup(468,13267 -dino_card_fixup(517,14626 -#define DINO_BRIDGE_ALIGN 555,15864 -dino_fixup_bus(559,15920 -#define DINO_FIX_UNASSIGNED_INTERRUPTS656,18768 -struct pci_bios_ops dino_bios_ops 685,19662 -dino_card_init(695,19823 -dino_bridge_init(749,21710 -static int __init dino_common_init(813,23309 -#define CUJO_RAVEN_ADDR 905,25939 -#define CUJO_FIREHAWK_ADDR 906,25987 -#define CUJO_RAVEN_BADPAGE 907,26037 -#define CUJO_FIREHAWK_BADPAGE 908,26077 -static const char *dino_vers[910,26121 -static const char *cujo_vers[917,26191 -dino_driver_callback(930,26525 -static struct parisc_device_id dino_tbl[1052,30286 -static struct parisc_driver dino_driver 1061,30713 -int __init dino_init(1072,31003 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/iosapic_private.h,710 -struct irt_entry irt_entry40,1547 -#define IRT_IOSAPIC_TYPE 103,2981 -#define IRT_IOSAPIC_LENGTH 104,3012 -#define IRT_VECTORED_INTR 106,3043 -#define IRT_PO_MASK 108,3073 -#define IRT_ACTIVE_HI 109,3104 -#define IRT_ACTIVE_LO 110,3133 -#define IRT_EL_MASK 112,3163 -#define IRT_EL_SHIFT 113,3194 -#define IRT_EDGE_TRIG 114,3223 -#define IRT_LEVEL_TRIG 115,3252 -#define IRT_IRQ_MASK 117,3282 -#define IRT_DEV_MASK 118,3313 -#define IRT_DEV_SHIFT 119,3345 -#define IRT_IRQ_DEVNO_MASK 121,3375 -struct iosapic_irt iosapic_irt124,3478 -struct vector_info vector_info132,3803 -struct iosapic_info iosapic_info146,4313 -struct local_sapic_info local_sapic_info168,5178 -struct sapic_info sapic_info181,5708 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/iommu-helpers.h,55 -iommu_fill_pdir(12,395 -iommu_coalesce_chunks(98,2637 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/superio.c,1071 -#define SUPERIO_IDE_MAX_RETRIES 79,2725 -static struct superio_device sio_dev;81,2761 -#define DBG_INIT(DBG_INIT87,2854 -#define DBG_INIT(DBG_INIT89,2894 -superio_interrupt(93,2944 -superio_init(148,4168 -superio_disable_irq(282,8436 -superio_enable_irq(300,8748 -superio_mask_irq(318,9078 -superio_unmask_irq(324,9146 -static struct irq_region_ops superio_irq_ops 329,9204 -static unsigned short expected_device[337,9420 -int superio_fixup_irq(344,9558 -static struct uart_port serial[400,10955 -superio_serial_init(418,11232 -superio_parport_init(458,12197 -static unsigned long superio_ide_status[473,12576 -static unsigned long superio_ide_select[474,12620 -static unsigned long superio_ide_dma_status[475,12664 -void superio_fixup_pci(477,12713 -static u8 superio_ide_inb 493,13221 -void __init superio_ide_init_iops 518,13759 -static int __devinit superio_probe(540,14418 -static struct pci_device_id superio_tbl[573,15528 -static struct pci_driver superio_driver 578,15654 -static int __init superio_modinit(584,15774 -static void __exit superio_exit(589,15861 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parisc/iosapic.c,2129 -#define MODULE_NAME 184,7441 -static char assert_buf[193,7593 -assert_failed 196,7634 -#define ASSERT(ASSERT208,7889 -#define DBG(DBG210,7965 -#define DBG(DBG214,8021 -#define ASSERT(ASSERT216,8053 -#define DBG_IRT(DBG_IRT221,8126 -#define DBG_IRT(DBG_IRT223,8164 -#define IOSAPIC_REG_SELECT 227,8195 -#define IOSAPIC_REG_WINDOW 228,8240 -#define IOSAPIC_REG_EOI 229,8285 -#define IOSAPIC_REG_VERSION 231,8331 -#define IOSAPIC_IRDT_ENTRY(IOSAPIC_IRDT_ENTRY233,8365 -#define IOSAPIC_IRDT_ENTRY_HI(IOSAPIC_IRDT_ENTRY_HI234,8413 -static inline unsigned int iosapic_read(236,8464 -static inline void iosapic_write(242,8639 -#define IOSAPIC_KALLOC(IOSAPIC_KALLOC254,9048 -#define IOSAPIC_FREE(IOSAPIC_FREE256,9142 -#define IOSAPIC_LOCK(IOSAPIC_LOCK259,9204 -#define IOSAPIC_UNLOCK(IOSAPIC_UNLOCK260,9263 -#define IOSAPIC_VERSION_MASK 263,9331 -#define IOSAPIC_VERSION(IOSAPIC_VERSION264,9371 -#define IOSAPIC_MAX_ENTRY_MASK 266,9438 -#define IOSAPIC_MAX_ENTRY_SHIFT 267,9489 -#define IOSAPIC_IRDT_MAX_ENTRY(IOSAPIC_IRDT_MAX_ENTRY268,9534 -#define IOSAPIC_IRDT_ENABLE 272,9687 -#define IOSAPIC_IRDT_PO_LOW 273,9729 -#define IOSAPIC_IRDT_LEVEL_TRIG 274,9771 -#define IOSAPIC_IRDT_MODE_LPRI 275,9813 -#define IOSAPIC_IRDT_ID_EID_SHIFT 278,9902 -static struct iosapic_info *iosapic_list;281,9956 -static spinlock_t iosapic_lock;282,9998 -static int iosapic_count;283,10030 -static struct irt_entry *irt_cell;295,10420 -static size_t irt_num_entry;296,10455 -iosapic_load_irt(325,11651 -iosapic_init(424,14264 -irt_find_irqline(460,14942 -iosapic_xlate_pin(533,17145 -iosapic_interrupt(603,19147 -iosapic_fixup_irq(630,20006 -iosapic_rd_irt_entry(728,22991 -iosapic_wr_irt_entry(739,23265 -iosapic_set_irt_data(768,24103 -iosapic_disable_irq(814,25207 -iosapic_enable_irq(858,26451 - struct iosapic_info *isp 884,27041 - for (d0=0x10; d0<0x1e;886,27083 - d1 887,27115 -iosapic_mask_irq(905,27512 -iosapic_unmask_irq(912,27575 -static struct irq_region_ops iosapic_irq_ops 918,27628 -iosapic_rd_version(930,27884 -iosapic_register(950,28415 -iosapic_prt_irt(1023,30362 -iosapic_prt_vi(1039,30726 -iosapic_prt_isi(1054,31225 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_flexanet.c,416 -static struct pcmcia_irqs irqs[19,361 -static int flexanet_pcmcia_hw_init(31,644 -static void flexanet_pcmcia_hw_shutdown(42,864 -flexanet_pcmcia_socket_state(55,1104 -flexanet_pcmcia_configure_socket(88,1847 -static void flexanet_pcmcia_socket_init(136,2760 -static void flexanet_pcmcia_socket_suspend(141,2890 -static struct pcmcia_low_level flexanet_pcmcia_ops 150,3066 -int __init pcmcia_flexanet_init(160,3435 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_assabet.c,406 -static struct pcmcia_irqs irqs[22,410 -static int assabet_pcmcia_hw_init(28,586 -static void assabet_pcmcia_hw_shutdown(38,789 -assabet_pcmcia_socket_state(44,928 -assabet_pcmcia_configure_socket(58,1421 -static void assabet_pcmcia_socket_init(96,2230 -static void assabet_pcmcia_socket_suspend(109,2478 -static struct pcmcia_low_level assabet_pcmcia_ops 120,2772 -int __init pcmcia_assabet_init(133,3138 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/bulkmem.c,915 -#define IN_CARD_SERVICES43,1780 -static int do_mtd_request(62,2318 -static void insert_queue(113,3882 -static void remove_queue(122,4148 -static void retry_erase(129,4344 -static void retry_erase_list(189,6155 -static void handle_erase_timeout(208,6692 -static void setup_erase_request(215,6905 -static int mtd_modify_window(254,8022 -static int mtd_set_vpp(269,8527 -static int mtd_rdy_mask(283,8874 -int MTDHelperEntry(298,9266 -static void setup_regions(330,10124 -static int match_region(403,12573 -int pcmcia_get_first_region(417,12936 -int pcmcia_get_next_region(436,13501 -int pcmcia_register_mtd(449,13895 -int pcmcia_register_erase_queue(484,14860 -int pcmcia_deregister_erase_queue(501,15406 -int pcmcia_check_erase_queue(515,15773 -int pcmcia_open_memory(533,16325 -int pcmcia_close_memory(566,17277 -int pcmcia_read_memory(581,17745 -int pcmcia_write_memory(607,18616 -int pcmcia_copy_memory(632,19450 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/topic.h,2376 -#define _LINUX_TOPIC_H32,1450 -#define TOPIC_SOCKET_CONTROL 36,1541 -#define TOPIC_SCR_IRQSEL 37,1591 -#define TOPIC_SLOT_CONTROL 39,1630 -#define TOPIC_SLOT_SLOTON 40,1677 -#define TOPIC_SLOT_SLOTEN 41,1710 -#define TOPIC_SLOT_ID_LOCK 42,1743 -#define TOPIC_SLOT_ID_WP 43,1777 -#define TOPIC_SLOT_PORT_MASK 44,1809 -#define TOPIC_SLOT_PORT_SHIFT 45,1845 -#define TOPIC_SLOT_OFS_MASK 46,1879 -#define TOPIC_CARD_CONTROL 48,1915 -#define TOPIC_CCR_INTB 49,1962 -#define TOPIC_CCR_INTA 50,1993 -#define TOPIC_CCR_CLOCK 51,2024 -#define TOPIC_CCR_PCICLK 52,2055 -#define TOPIC_CCR_PCICLK_2 53,2087 -#define TOPIC_CCR_CCLK 54,2121 -#define TOPIC97_INT_CONTROL 56,2153 -#define TOPIC97_ICR_INTB 57,2201 -#define TOPIC97_ICR_INTA 58,2233 -#define TOPIC97_ICR_STSIRQNP 59,2265 -#define TOPIC97_ICR_IRQNP 60,2301 -#define TOPIC97_ICR_IRQSEL 61,2334 -#define TOPIC_CARD_DETECT 63,2369 -#define TOPIC_CDR_MODE_PC32 64,2415 -#define TOPIC_CDR_VS1 65,2450 -#define TOPIC_CDR_VS2 66,2480 -#define TOPIC_CDR_SW_DETECT 67,2510 -#define TOPIC_REGISTER_CONTROL 69,2546 -#define TOPIC_RCR_RESUME_RESET 70,2598 -#define TOPIC_RCR_REMOVE_RESET 71,2642 -#define TOPIC97_RCR_CLKRUN_ENA 72,2686 -#define TOPIC97_RCR_TESTMODE 73,2730 -#define TOPIC97_RCR_IOPLUP 74,2772 -#define TOPIC_RCR_BUFOFF_PWROFF 75,2812 -#define TOPIC_RCR_BUFOFF_SIGOFF 76,2856 -#define TOPIC97_RCR_CB_DEV_MASK 77,2900 -#define TOPIC97_RCR_CB_DEV_SHIFT 78,2944 -#define TOPIC97_RCR_RI_DISABLE 79,2981 -#define TOPIC97_RCR_CAUDIO_OFF 80,3025 -#define TOPIC_RCR_CAUDIO_INVERT 81,3069 -#define TOPIC97_MISC1 83,3114 -#define TOPIC97_MISC1_CLOCKRUN_ENABLE 84,3157 -#define TOPIC97_MISC1_CLOCKRUN_MODE 85,3201 -#define TOPIC97_MISC1_DETECT_REQ_ENA 86,3243 -#define TOPIC97_MISC1_SCK_CLEAR_DIS 87,3286 -#define TOPIC97_MISC1_R2_LOW_ENABLE 88,3328 -#define TOPIC97_MISC2 90,3371 -#define TOPIC97_MISC2_SPWRCLK_MASK 91,3415 -#define TOPIC97_MISC2_SPWRMOD 92,3456 -#define TOPIC97_MISC2_SPWR_ENABLE 93,3493 -#define TOPIC97_MISC2_ZV_MODE 94,3533 -#define TOPIC97_MISC2_ZV_ENABLE 95,3570 -#define TOPIC97_ZOOM_VIDEO_CONTROL 97,3609 -#define TOPIC97_ZV_CONTROL_ENABLE 98,3664 -#define TOPIC97_AUDIO_VIDEO_SWITCH 100,3705 -#define TOPIC97_AVS_AUDIO_CONTROL 101,3760 -#define TOPIC97_AVS_VIDEO_CONTROL 102,3800 -static void topic97_zoom_video(105,3842 -static int topic97_override(133,4672 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/cardbus.c,636 -#define IN_CARD_SERVICES52,1970 -#define FIND_FIRST_BIT(FIND_FIRST_BIT63,2253 -#define ROM_SIGNATURE 66,2352 -#define ROM_DATA_PTR 67,2396 -#define PCDATA_SIGNATURE 70,2492 -#define PCDATA_VPD_PTR 71,2538 -#define PCDATA_LENGTH 72,2583 -#define PCDATA_REVISION 73,2627 -#define PCDATA_IMAGE_SZ 74,2659 -#define PCDATA_ROM_LEVEL 75,2705 -#define PCDATA_CODE_TYPE 76,2751 -#define PCDATA_INDICATOR 77,2783 -static u_int xlate_rom_addr(88,3194 -static void cb_release_cis_mem(115,4056 -static int cb_setup_cis_mem(125,4262 -int read_cb_mem(154,4865 -static void cardbus_assign_irqs(211,6148 -int cb_alloc(229,6540 -void cb_free(258,7286 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1111_generic.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_system3.c,305 -#define DEBUG 42,1048 -# define DPRINTK(DPRINTK45,1078 -# define DPRINTK(DPRINTK47,1177 -static int system3_pcmcia_hw_init(50,1226 -void system3_pcmcia_hw_shutdown(58,1413 -system3_pcmcia_socket_state(63,1493 -struct pcmcia_low_level system3_pcmcia_ops 95,2348 -int __init pcmcia_system3_init(106,2696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_simpad.c,399 -static struct pcmcia_irqs irqs[23,464 -static int simpad_pcmcia_hw_init(27,538 -static void simpad_pcmcia_hw_shutdown(37,746 -simpad_pcmcia_socket_state(47,978 -simpad_pcmcia_configure_socket(69,1504 -static void simpad_pcmcia_socket_init(106,2171 -static void simpad_pcmcia_socket_suspend(111,2299 -static struct pcmcia_low_level simpad_pcmcia_ops 117,2459 -int __init pcmcia_simpad_init(127,2815 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/yenta_socket.h,2680 -#define __YENTA_H2,18 -#define CB_SOCKET_EVENT 6,58 -#define CB_CSTSEVENT 7,88 -#define CB_CD1EVENT 8,148 -#define CB_CD2EVENT 9,216 -#define CB_PWREVENT 10,284 -#define CB_SOCKET_MASK 12,348 -#define CB_CSTSMASK 13,377 -#define CB_CDMASK 14,435 -#define CB_PWRMASK 15,495 -#define CB_SOCKET_STATE 17,557 -#define CB_CARDSTS 18,587 -#define CB_CDETECT1 19,642 -#define CB_CDETECT2 20,704 -#define CB_PWRCYCLE 21,766 -#define CB_16BITCARD 22,822 -#define CB_CBCARD 23,885 -#define CB_IREQCINT 24,946 -#define CB_NOTACARD 25,1010 -#define CB_DATALOST 26,1083 -#define CB_BADVCCREQ 27,1164 -#define CB_5VCARD 28,1243 -#define CB_3VCARD 29,1305 -#define CB_XVCARD 30,1367 -#define CB_YVCARD 31,1429 -#define CB_5VSOCKET 32,1491 -#define CB_3VSOCKET 33,1557 -#define CB_XVSOCKET 34,1623 -#define CB_YVSOCKET 35,1689 -#define CB_SOCKET_FORCE 37,1756 -#define CB_FCARDSTS 38,1786 -#define CB_FCDETECT1 39,1841 -#define CB_FCDETECT2 40,1898 -#define CB_FPWRCYCLE 41,1955 -#define CB_F16BITCARD 42,2012 -#define CB_FCBCARD 43,2079 -#define CB_FNOTACARD 44,2138 -#define CB_FDATALOST 45,2195 -#define CB_FBADVCCREQ 46,2253 -#define CB_F5VCARD 47,2317 -#define CB_F3VCARD 48,2377 -#define CB_FXVCARD 49,2437 -#define CB_FYVCARD 50,2497 -#define CB_CVSTEST 51,2557 -#define CB_SOCKET_CONTROL 53,2611 -#define CB_SC_VPP_MASK 54,2642 -#define CB_SC_VPP_OFF 55,2678 -#define CB_SC_VPP_12V 56,2714 -#define CB_SC_VPP_5V 57,2750 -#define CB_SC_VPP_3V 58,2785 -#define CB_SC_VPP_XV 59,2820 -#define CB_SC_VPP_YV 60,2855 -#define CB_SC_VCC_MASK 61,2890 -#define CB_SC_VCC_OFF 62,2926 -#define CB_SC_VCC_5V 63,2962 -#define CB_SC_VCC_3V 64,2997 -#define CB_SC_VCC_XV 65,3032 -#define CB_SC_VCC_YV 66,3067 -#define CB_SC_CCLK_STOP 67,3102 -#define CB_SOCKET_POWER 69,3139 -#define CB_SKTACCES 70,3169 -#define CB_SKTMODE 71,3256 -#define CB_CLKCTRLEN 72,3340 -#define CB_CLKCTRL 73,3409 -#define CB_BRIDGE_BASE(CB_BRIDGE_BASE78,3521 -#define CB_BRIDGE_LIMIT(CB_BRIDGE_LIMIT79,3562 -#define CB_BRIDGE_CONTROL 80,3604 -#define CB_BRIDGE_CPERREN 81,3635 -#define CB_BRIDGE_CSERREN 82,3674 -#define CB_BRIDGE_ISAEN 83,3713 -#define CB_BRIDGE_VGAEN 84,3750 -#define CB_BRIDGE_MABTMODE 85,3787 -#define CB_BRIDGE_CRST 86,3827 -#define CB_BRIDGE_INTR 87,3863 -#define CB_BRIDGE_PREFETCH0 88,3899 -#define CB_BRIDGE_PREFETCH1 89,3940 -#define CB_BRIDGE_POSTEN 90,3981 -#define CB_LEGACY_MODE_BASE 91,4019 -#define CB_MEM_PAGE(CB_MEM_PAGE96,4093 -struct cardbus_type cardbus_type100,4156 -struct yenta_socket yenta_socket107,4356 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/pxa2xx_base.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_cerf.c,408 -#define CERF_SOCKET 22,429 -static struct pcmcia_irqs irqs[24,452 -static int cerf_pcmcia_hw_init(30,648 -static void cerf_pcmcia_hw_shutdown(37,812 -cerf_pcmcia_socket_state(43,948 -cerf_pcmcia_configure_socket(57,1336 -static void cerf_pcmcia_socket_init(81,1721 -static void cerf_pcmcia_socket_suspend(86,1847 -static struct pcmcia_low_level cerf_pcmcia_ops 91,1977 -int __init pcmcia_cerf_init(102,2320 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/i82365.h,2478 -#define _LINUX_I82365_H31,1412 -#define I365_IDENT 36,1538 -#define I365_STATUS 37,1596 -#define I365_POWER 38,1644 -#define I365_INTCTL 39,1701 -#define I365_CSC 40,1762 -#define I365_CSCINT 41,1809 -#define I365_ADDRWIN 42,1877 -#define I365_IOCTL 43,1931 -#define I365_GENCTL 44,1973 -#define I365_GBLCTL 45,2036 -#define I365_IO(I365_IO48,2142 -#define I365_MEM(I365_MEM49,2181 -#define I365_W_START 50,2221 -#define I365_W_STOP 51,2244 -#define I365_W_OFF 52,2266 -#define I365_CS_BVD1 55,2316 -#define I365_CS_STSCHG 56,2342 -#define I365_CS_BVD2 57,2370 -#define I365_CS_SPKR 58,2396 -#define I365_CS_DETECT 59,2422 -#define I365_CS_WRPROT 60,2450 -#define I365_CS_READY 61,2478 -#define I365_CS_POWERON 62,2520 -#define I365_CS_GPI 63,2549 -#define I365_PWR_OFF 66,2602 -#define I365_PWR_OUT 67,2654 -#define I365_PWR_NORESET 68,2700 -#define I365_PWR_AUTO 69,2763 -#define I365_VCC_MASK 70,2819 -#define I365_VCC_5V 74,3048 -#define I365_VCC_3V 75,3090 -#define I365_VPP2_MASK 76,3132 -#define I365_VPP2_5V 77,3192 -#define I365_VPP2_12V 78,3236 -#define I365_VPP1_MASK 79,3282 -#define I365_VPP1_5V 80,3342 -#define I365_VPP1_12V 81,3386 -#define I365_RING_ENA 84,3461 -#define I365_PC_RESET 85,3488 -#define I365_PC_IOCARD 86,3515 -#define I365_INTR_ENA 87,3543 -#define I365_IRQ_MASK 88,3570 -#define I365_CSC_BVD1 91,3638 -#define I365_CSC_STSCHG 92,3665 -#define I365_CSC_BVD2 93,3694 -#define I365_CSC_READY 94,3721 -#define I365_CSC_DETECT 95,3749 -#define I365_CSC_ANY 96,3778 -#define I365_CSC_GPI 97,3804 -#define I365_ENA_IO(I365_ENA_IO100,3860 -#define I365_ENA_MEM(I365_ENA_MEM101,3901 -#define I365_IOCTL_MASK(I365_IOCTL_MASK104,3971 -#define I365_IOCTL_WAIT(I365_IOCTL_WAIT105,4019 -#define I365_IOCTL_0WS(I365_IOCTL_0WS106,4067 -#define I365_IOCTL_IOCS16(I365_IOCTL_IOCS16107,4114 -#define I365_IOCTL_16BIT(I365_IOCTL_16BIT108,4164 -#define I365_CTL_16DELAY 111,4242 -#define I365_CTL_RESET 112,4272 -#define I365_CTL_GPI_ENA 113,4301 -#define I365_CTL_GPI_CTL 114,4331 -#define I365_CTL_RESUME 115,4361 -#define I365_CTL_SW_IRQ 116,4391 -#define I365_GBL_PWRDOWN 119,4450 -#define I365_GBL_CSC_LEV 120,4480 -#define I365_GBL_WRBACK 121,4510 -#define I365_GBL_IRQ_0_LEV 122,4540 -#define I365_GBL_IRQ_1_LEV 123,4572 -#define I365_MEM_16BIT 126,4645 -#define I365_MEM_0WS 127,4707 -#define I365_MEM_WS1 128,4735 -#define I365_MEM_WS0 129,4794 -#define I365_MEM_WRPROT 130,4822 -#define I365_MEM_REG 131,4879 -#define I365_REG(I365_REG133,4908 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/vg468.h,1768 -#define _LINUX_VG468_H31,1410 -#define I365_IDENT_VADEM 34,1496 -#define VG468_VPP2_MASK 37,1567 -#define VG468_VPP2_5V 38,1597 -#define VG468_VPP2_12V 39,1625 -#define VG469_VSENSE 42,1684 -#define VG469_VSELECT 43,1736 -#define VG468_CTL 44,1790 -#define VG468_TIMER 45,1837 -#define VG468_MISC 46,1883 -#define VG468_GPIO_CFG 47,1928 -#define VG469_EXT_MODE 48,1982 -#define VG468_SELECT 49,2040 -#define VG468_SELECT_CFG 50,2098 -#define VG468_ATA 51,2160 -#define VG469_VSENSE_A_VS1 54,2232 -#define VG469_VSENSE_A_VS2 55,2264 -#define VG469_VSENSE_B_VS1 56,2296 -#define VG469_VSENSE_B_VS2 57,2328 -#define VG469_VSEL_VCC 60,2391 -#define VG469_VSEL_5V 61,2420 -#define VG469_VSEL_3V 62,2448 -#define VG469_VSEL_MAX 63,2476 -#define VG469_VSEL_EXT_STAT 64,2505 -#define VG469_VSEL_EXT_BUS 65,2538 -#define VG469_VSEL_MIXED 66,2570 -#define VG469_VSEL_ISA 67,2600 -#define VG468_CTL_SLOW 70,2656 -#define VG468_CTL_ASYNC 71,2711 -#define VG468_CTL_TSSI 72,2773 -#define VG468_CTL_DELAY 73,2831 -#define VG468_CTL_INPACK 74,2888 -#define VG468_CTL_POLARITY 75,2944 -#define VG468_CTL_COMPAT 76,2997 -#define VG469_CTL_WS_COMPAT 78,3054 -#define VG469_CTL_STRETCH 79,3118 -#define VG468_TIMER_ZEROPWR 82,3196 -#define VG468_TIMER_SIGEN 83,3254 -#define VG468_TIMER_STATUS 84,3300 -#define VG468_TIMER_RES 85,3360 -#define VG468_TIMER_MASK 86,3413 -#define VG468_MISC_GPIO 89,3500 -#define VG468_MISC_DMAWSB 90,3555 -#define VG469_MISC_LEDENA 91,3615 -#define VG468_MISC_VADEMREV 92,3663 -#define VG468_MISC_UNLOCK 93,3725 -#define VG469_MODE_VPPST 96,3817 -#define VG469_MODE_INT_SENSE 97,3874 -#define VG469_MODE_CABLE 98,3937 -#define VG469_MODE_COMPAT 99,3967 -#define VG469_MODE_TEST 100,4026 -#define VG469_MODE_RIO 101,4056 -#define VG469_MODE_B_3V 104,4144 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/socket_sysfs.c,565 -#define IN_CARD_SERVICES32,800 -#define to_socket(to_socket43,1059 -static ssize_t pccard_show_type(45,1130 -static ssize_t pccard_show_voltage(61,1558 -static ssize_t pccard_show_vpp(77,1987 -static ssize_t pccard_show_vcc(86,2295 -static ssize_t pccard_store_insert(96,2604 -static ssize_t pccard_store_eject(110,2921 -static struct class_device_attribute *pccard_socket_attributes[125,3235 -static int __devinit pccard_sysfs_add_socket(135,3505 -static void __devexit pccard_sysfs_remove_socket(149,3787 -struct class_interface pccard_sysfs_interface 157,4013 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa11xx_base.c,320 -sa1100_pcmcia_default_mecr_timing(64,2396 -sa1100_pcmcia_set_mecr(80,2841 -sa1100_pcmcia_frequency_change(115,3772 -sa1100_pcmcia_set_timing(140,4257 -sa1100_pcmcia_show_timing(146,4382 -int sa11xx_drv_pcmcia_probe(167,4990 -static int __init sa11xx_pcmcia_init(188,5605 -static void __exit sa11xx_pcmcia_exit(194,5697 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/pd6729.c,1133 -#define MAX_SOCKETS 34,779 -#define to_cycles(to_cycles40,895 -static spinlock_t port_lock 42,929 -static unsigned char indirect_read(46,1020 -static unsigned short indirect_read16(62,1367 -static void indirect_write(81,1785 -static void indirect_setbit(94,2118 -static void indirect_resetbit(111,2523 -static void indirect_write16(128,2931 -static irqreturn_t pd6729_interrupt(152,3414 -static void set_bridge_state(209,4746 -static int pd6729_get_status(217,4944 -static int pd6729_get_socket(266,6202 -static int pd6729_set_socket(343,8064 -static int pd6729_set_io_map(455,11034 -static int pd6729_set_mem_map(493,12210 -static int pd6729_suspend(570,14246 -static int pd6729_init(575,14352 -static struct pccard_operations pd6729_operations 597,14791 -static int __devinit pd6729_pci_probe(607,15080 -static void __devexit pd6729_pci_remove(690,17399 -static int pd6729_socket_suspend(705,17710 -static int pd6729_socket_resume(710,17833 -static struct pci_device_id pd6729_pci_ids[715,17936 -static struct pci_driver pd6729_pci_drv 726,18172 -static int pd6729_module_init(735,18411 -static void pd6729_module_exit(740,18494 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_stork.c,419 -static int debug 32,896 -static struct pcmcia_irqs irqs[34,919 -static int stork_pcmcia_hw_init(39,1078 -static void stork_pcmcia_hw_shutdown(49,1332 -stork_pcmcia_socket_state(65,1730 -stork_pcmcia_configure_socket(98,2504 -static void stork_pcmcia_socket_init(159,4033 -static void stork_pcmcia_socket_suspend(166,4224 -static struct pcmcia_low_level stork_pcmcia_ops 179,4465 -int __init pcmcia_stork_init(190,4815 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/yenta_socket.c,2492 -#define debug(debug33,686 -#define debug(debug35,764 -#define to_cycles(to_cycles39,815 -#define to_ns(to_ns40,848 -static inline u32 cb_readl(50,1125 -static inline void cb_writel(57,1295 -static inline u8 config_readb(63,1459 -static inline u16 config_readw(71,1659 -static inline u32 config_readl(79,1861 -static inline void config_writeb(87,2064 -static inline void config_writew(93,2253 -static inline void config_writel(99,2443 -static inline u8 exca_readb(105,2634 -static inline u8 exca_readw(112,2812 -static inline void exca_writeb(121,3049 -static void exca_writew(127,3222 -static int yenta_get_status(138,3551 -static int yenta_Vcc_power(172,4752 -static int yenta_Vpp_power(181,4919 -static int yenta_get_socket(191,5119 -static void yenta_set_power(232,6394 -static int yenta_set_socket(249,6877 -static int yenta_set_io_map(309,8922 -static int yenta_set_mem_map(343,9888 -static unsigned int yenta_events(401,11461 -static irqreturn_t yenta_interrupt(426,12168 -static void yenta_interrupt_wrapper(439,12477 -static void yenta_clear_maps(448,12720 -static int yenta_sock_init(467,13199 -static int yenta_sock_suspend(498,14063 -#define BRIDGE_MEM_MAX 516,14522 -#define BRIDGE_MEM_MIN 517,14557 -#define BRIDGE_IO_MAX 519,14589 -#define BRIDGE_IO_MIN 520,14615 -#define PCIBIOS_MIN_CARDBUS_IO 523,14672 -static void yenta_allocate_res(526,14726 -static void yenta_allocate_resources(607,16677 -static void yenta_free_resources(619,17061 -static void yenta_close(635,17400 -static struct pccard_operations yenta_socket_operations 660,17949 - CARDBUS_TYPE_DEFAULT 677,18334 - CARDBUS_TYPE_TI,678,18362 - CARDBUS_TYPE_TI113X,679,18380 - CARDBUS_TYPE_TI12XX,680,18402 - CARDBUS_TYPE_TI1250,681,18424 - CARDBUS_TYPE_RICOH,682,18446 - CARDBUS_TYPE_TOPIC97,683,18467 - CARDBUS_TYPE_O2MICRO,684,18490 -struct cardbus_type cardbus_type[691,18639 -static u32 isa_interrupts 740,19836 -static unsigned int yenta_probe_irq(742,19873 -static irqreturn_t yenta_probe_handler(785,21050 -static int yenta_probe_cb_irq(805,21563 -static void yenta_get_socket_capabilities(849,22675 -static void yenta_config_init(864,23194 -static int __devinit yenta_probe 905,24627 -static int yenta_dev_suspend 1014,27314 -static int yenta_dev_resume 1036,27879 -#define CB_ID(CB_ID1055,28413 -static struct pci_device_id yenta_table 1066,28675 -static struct pci_driver yenta_cardbus_driver 1123,31062 -static int __init yenta_socket_init(1133,31293 -static void __exit yenta_socket_exit 1139,31394 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_shannon.c,407 -static struct pcmcia_irqs irqs[19,356 -static int shannon_pcmcia_hw_init(24,495 -static void shannon_pcmcia_hw_shutdown(37,936 -shannon_pcmcia_socket_state(43,1075 -shannon_pcmcia_configure_socket(72,1874 -static void shannon_pcmcia_socket_init(96,2490 -static void shannon_pcmcia_socket_suspend(101,2619 -static struct pcmcia_low_level shannon_pcmcia_ops 106,2752 -int __init pcmcia_shannon_init(117,3115 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/pd6729.h,283 -#define _INCLUDE_GUARD_PD6729_H_2,33 -#define dprintk(dprintk6,105 -#define dprintk(dprintk8,163 -#define I365_DF_VS1 12,245 -#define I365_DF_VS2 13,299 -#define PD67_EXD_VS1(PD67_EXD_VS116,359 -#define PD67_EXD_VS2(PD67_EXD_VS217,405 -struct pd6729_socket pd6729_socket22,455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_xp860.c,228 -#define NCR_A0VPP 19,337 -#define NCR_A1VPP 20,363 -static int xp860_pcmcia_hw_init(22,390 -xp860_pcmcia_configure_socket(45,1156 -static struct pcmcia_low_level xp860_pcmcia_ops 136,3449 -int __init pcmcia_xp860_init(146,3802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_h3600.c,384 -static struct pcmcia_irqs irqs[22,405 -static int h3600_pcmcia_hw_init(27,543 -static void h3600_pcmcia_hw_shutdown(36,760 -h3600_pcmcia_socket_state(47,1043 -h3600_pcmcia_configure_socket(75,1725 -static void h3600_pcmcia_socket_init(93,2198 -static void h3600_pcmcia_socket_suspend(105,2482 -struct pcmcia_low_level h3600_pcmcia_ops 123,3027 -int __init pcmcia_h3600_init(134,3370 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_yopy.c,463 -static inline void pcmcia_power(19,321 -static inline void pcmcia_reset(24,426 -static struct pcmcia_irqs irqs[30,534 -static int yopy_pcmcia_hw_init(36,671 -static void yopy_pcmcia_hw_shutdown(46,863 -yopy_pcmcia_socket_state(56,1054 -yopy_pcmcia_configure_socket(71,1529 -static void yopy_pcmcia_socket_init(96,2068 -static void yopy_pcmcia_socket_suspend(101,2194 -static struct pcmcia_low_level yopy_pcmcia_ops 106,2324 -int __init pcmcia_yopy_init(117,2655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_pfs168.c,176 -static int pfs168_pcmcia_init(21,413 -pfs168_pcmcia_configure_socket(33,769 -static struct pcmcia_low_level pfs168_pcmcia_ops 123,2781 -int __init pcmcia_pfs168_init(133,3136 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1111_generic.c,588 -static struct pcmcia_irqs irqs[25,559 -int sa1111_pcmcia_hw_init(32,828 -void sa1111_pcmcia_hw_shutdown(40,1040 -void sa1111_pcmcia_socket_state(45,1159 -int sa1111_pcmcia_configure_socket(73,2148 -void sa1111_pcmcia_socket_init(113,3141 -void sa1111_pcmcia_socket_suspend(118,3262 -static int pcmcia_probe(123,3387 -static int __devexit pcmcia_remove(169,4383 -static int pcmcia_suspend(176,4542 -static int pcmcia_resume(181,4661 -static struct sa1111_driver pcmcia_driver 186,4760 -static int __init sa1111_drv_pcmcia_init(197,5003 -static void __exit sa1111_drv_pcmcia_exit(202,5103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/cs.c,2615 -#define IN_CARD_SERVICES55,2094 -#define PCI_OPT 66,2348 -#define PCI_OPT 68,2379 -#define CB_OPT 71,2427 -#define CB_OPT 73,2461 -#define PM_OPT 76,2503 -#define PM_OPT 78,2532 -#define OPTIONS 81,2633 -#define OPTIONS 83,2663 -static const char *release 86,2709 -static const char *options 87,2768 -#define INT_MODULE_PARM(INT_MODULE_PARM97,3084 -static int pc_debug;115,3776 -int cs_debug_level(119,3834 -socket_state_t dead_socket 127,3976 -int pcmcia_socket_dev_suspend(155,4823 -int pcmcia_socket_dev_resume(173,5238 -static void pcmcia_release_socket(192,5640 -int pcmcia_register_socket(211,6050 -void pcmcia_unregister_socket(287,8124 -struct pcmcia_socket * pcmcia_get_socket_by_nr(313,8791 -static void free_regions(341,9623 -static void shutdown_socket(354,9889 -static int send_event(409,11275 -static void socket_remove_drivers(430,11804 -static void socket_shutdown(443,12133 -static int socket_reset(454,12380 -static int socket_setup(484,12986 -static int socket_insert(552,14432 -static int socket_suspend(581,14974 -static int socket_resume(599,15430 -static void socket_remove(632,16125 -static void socket_detect_change(649,16669 -static int pccardd(667,17066 -void pcmcia_parse_events(735,18679 -static int alloc_io_space(754,19192 -static void release_io_space(821,21238 -int pcmcia_access_configuration_register(849,22043 -int pcmcia_deregister_client(894,22999 -int pcmcia_get_configuration_info(948,24468 -int pcmcia_get_card_services_info(1019,26687 -int pcmcia_get_first_client(1043,27455 -int pcmcia_get_next_client(1062,27954 -int pcmcia_get_window(1081,28501 -int pcmcia_get_first_window(1114,29449 -int pcmcia_get_next_window(1121,29644 -struct pci_bus *pcmcia_lookup_bus(1136,30074 -int pcmcia_get_status(1160,30629 -int pcmcia_get_mem_page(1228,33040 -int pcmcia_map_mem_page(1237,33287 -int pcmcia_modify_configuration(1257,33873 -int pcmcia_modify_window(1306,35333 -int pcmcia_register_client(1335,36356 -int pcmcia_release_configuration(1408,38593 -int pcmcia_release_io(1459,40035 -int pcmcia_release_irq(1494,41015 -int pcmcia_release_window(1530,42001 -int pcmcia_request_configuration(1560,42760 -int pcmcia_request_io(1694,46854 -int pcmcia_request_irq(1758,48654 -int pcmcia_request_window(1832,50714 -int pcmcia_reset_card(1918,53195 -int pcmcia_suspend_card(1967,54418 -int pcmcia_resume_card(1990,54814 -int pcmcia_eject_card(2019,55417 -int pcmcia_insert_card(2046,55848 -int pcmcia_set_event_mask(2076,56463 -struct class pcmcia_socket_class pcmcia_socket_class2151,59076 -static int __init init_pcmcia_cs(2158,59215 -static void __exit exit_pcmcia_cs(2170,59474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/pxa2xx_lubbock.c,173 -lubbock_pcmcia_hw_init(34,806 -lubbock_pcmcia_configure_socket(63,1518 -static struct pcmcia_low_level lubbock_pcmcia_ops 232,5063 -int __init pcmcia_lubbock_init(246,5474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/tcic.h,6420 -#define _LINUX_TCIC_H31,1408 -#define TCIC_BASE 33,1431 -#define TCIC_DATA 36,1499 -#define TCIC_ADDR 37,1523 -#define TCIC_SCTRL 38,1547 -#define TCIC_SSTAT 39,1572 -#define TCIC_MODE 40,1597 -#define TCIC_PWR 41,1621 -#define TCIC_EDC 42,1644 -#define TCIC_ICSR 43,1667 -#define TCIC_IENA 44,1691 -#define TCIC_AUX 45,1715 -#define TCIC_SS_SHFT 47,1739 -#define TCIC_SS_MASK 48,1764 -#define TCIC_ADR2_REG 51,1820 -#define TCIC_ADR2_INDREG 52,1850 -#define TCIC_ADDR_REG 54,1883 -#define TCIC_ADDR_SS_SHFT 55,1917 -#define TCIC_ADDR_SS_MASK 56,1961 -#define TCIC_ADDR_INDREG 57,2006 -#define TCIC_ADDR_IO 58,2042 -#define TCIC_ADDR_MASK 59,2075 -#define TCIC_SCTRL_ENA 62,2138 -#define TCIC_SCTRL_INCMODE 63,2167 -#define TCIC_SCTRL_INCMODE_HOLD 64,2199 -#define TCIC_SCTRL_INCMODE_WORD 65,2236 -#define TCIC_SCTRL_INCMODE_REG 66,2273 -#define TCIC_SCTRL_INCMODE_AUTO 67,2309 -#define TCIC_SCTRL_EDCSUM 68,2346 -#define TCIC_SCTRL_RESET 69,2377 -#define TCIC_SSTAT_6US 72,2435 -#define TCIC_SSTAT_10US 73,2464 -#define TCIC_SSTAT_PROGTIME 74,2494 -#define TCIC_SSTAT_LBAT1 75,2527 -#define TCIC_SSTAT_LBAT2 76,2557 -#define TCIC_SSTAT_RDY 77,2587 -#define TCIC_SSTAT_WP 78,2631 -#define TCIC_SSTAT_CD 79,2659 -#define TCIC_MODE_PGMMASK 82,2732 -#define TCIC_MODE_NORMAL 83,2763 -#define TCIC_MODE_PGMWR 84,2793 -#define TCIC_MODE_PGMRD 85,2823 -#define TCIC_MODE_PGMCE 86,2853 -#define TCIC_MODE_PGMDBW 87,2883 -#define TCIC_MODE_PGMWORD 88,2913 -#define TCIC_MODE_AUXSEL_MASK 89,2944 -#define TCIC_AUX_TCTL 92,3044 -#define TCIC_AUX_PCTL 93,3074 -#define TCIC_AUX_WCTL 94,3104 -#define TCIC_AUX_EXTERN 95,3134 -#define TCIC_AUX_PDATA 96,3166 -#define TCIC_AUX_SYSCFG 97,3197 -#define TCIC_AUX_ILOCK 98,3229 -#define TCIC_AUX_TEST 99,3260 -#define TCIC_PWR_VCC(TCIC_PWR_VCC102,3316 -#define TCIC_PWR_VCC_MASK 103,3358 -#define TCIC_PWR_VPP(TCIC_PWR_VPP104,3389 -#define TCIC_PWR_VPP_MASK 105,3431 -#define TCIC_PWR_CLIMENA 106,3462 -#define TCIC_PWR_CLIMSTAT 107,3492 -#define TCIC_ICSR_CLEAR 110,3550 -#define TCIC_ICSR_SET 111,3580 -#define TCIC_ICSR_JAM 112,3608 -#define TCIC_ICSR_STOPCPU 113,3663 -#define TCIC_ICSR_ILOCK 114,3694 -#define TCIC_ICSR_PROGTIME 115,3724 -#define TCIC_ICSR_ERR 116,3756 -#define TCIC_ICSR_CDCHG 117,3784 -#define TCIC_ICSR_IOCHK 118,3814 -#define TCIC_IENA_CFG_MASK 121,3871 -#define TCIC_IENA_CFG_OFF 122,3903 -#define TCIC_IENA_CFG_OD 123,3949 -#define TCIC_IENA_CFG_LOW 124,4008 -#define TCIC_IENA_CFG_HIGH 125,4068 -#define TCIC_IENA_ILOCK 126,4130 -#define TCIC_IENA_PROGTIME 127,4160 -#define TCIC_IENA_ERR 128,4192 -#define TCIC_IENA_CDCHG 129,4247 -#define TCIC_WAIT_COUNT_MASK 132,4308 -#define TCIC_WAIT_ASYNC 133,4344 -#define TCIC_WAIT_SENSE 134,4376 -#define TCIC_WAIT_SRC 135,4408 -#define TCIC_WCTL_WR 136,4438 -#define TCIC_WCTL_RD 137,4467 -#define TCIC_WCTL_CE 138,4496 -#define TCIC_WCTL_LLBAT1 139,4525 -#define TCIC_WCTL_LLBAT2 140,4557 -#define TCIC_WCTL_LRDY 141,4589 -#define TCIC_WCTL_LWP 142,4620 -#define TCIC_WCTL_LCD 143,4650 -#define TCIC_SYSCFG_IRQ_MASK 146,4713 -#define TCIC_SYSCFG_MCSFULL 147,4749 -#define TCIC_SYSCFG_IO1723 148,4784 -#define TCIC_SYSCFG_MCSXB 149,4818 -#define TCIC_SYSCFG_ICSXB 150,4851 -#define TCIC_SYSCFG_NOPDN 151,4884 -#define TCIC_SYSCFG_MPSEL_SHFT 152,4917 -#define TCIC_SYSCFG_MPSEL_MASK 153,4950 -#define TCIC_SYSCFG_MPSENSE 154,4988 -#define TCIC_SYSCFG_AUTOBUSY 155,5023 -#define TCIC_SYSCFG_ACC 156,5059 -#define TCIC_ILOCK_OUT 158,5092 -#define TCIC_ILOCK_SENSE 159,5121 -#define TCIC_ILOCK_CRESET 160,5151 -#define TCIC_ILOCK_CRESENA 161,5182 -#define TCIC_ILOCK_CWAIT 162,5214 -#define TCIC_ILOCK_CWAITSNS 163,5244 -#define TCIC_ILOCK_HOLD_MASK 164,5277 -#define TCIC_ILOCK_HOLD_CCLK 165,5311 -#define TCIC_ILOCKTEST_ID_SH 167,5346 -#define TCIC_ILOCKTEST_ID_MASK 168,5377 -#define TCIC_ILOCKTEST_MCIC_1 169,5415 -#define TCIC_ID_DB86082 171,5453 -#define TCIC_ID_DB86082A 172,5483 -#define TCIC_ID_DB86084 173,5513 -#define TCIC_ID_DB86084A 174,5543 -#define TCIC_ID_DB86072 175,5573 -#define TCIC_ID_DB86184 176,5603 -#define TCIC_ID_DB86082B 177,5633 -#define TCIC_TEST_DIAG 179,5664 -#define TCIC_SCF1(TCIC_SCF1185,5738 -#define TCIC_SCF2(TCIC_SCF2186,5774 -#define TCIC_SCF1_IRQ_MASK 189,5836 -#define TCIC_SCF1_IRQ_OFF 190,5870 -#define TCIC_SCF1_IRQOC 191,5903 -#define TCIC_SCF1_PCVT 192,5935 -#define TCIC_SCF1_IRDY 193,5966 -#define TCIC_SCF1_ATA 194,5997 -#define TCIC_SCF1_DMA_SHIFT 195,6027 -#define TCIC_SCF1_DMA_MASK 196,6057 -#define TCIC_SCF1_DMA_OFF 197,6091 -#define TCIC_SCF1_DREQ2 198,6119 -#define TCIC_SCF1_IOSTS 199,6146 -#define TCIC_SCF1_SPKR 200,6178 -#define TCIC_SCF1_FINPACK 201,6209 -#define TCIC_SCF1_DELWR 202,6242 -#define TCIC_SCF1_HD7IDE 203,6274 -#define TCIC_SCF2_RI 206,6328 -#define TCIC_SCF2_IDBR 207,6357 -#define TCIC_SCF2_MDBR 208,6388 -#define TCIC_SCF2_MLBAT1 209,6419 -#define TCIC_SCF2_MLBAT2 210,6451 -#define TCIC_SCF2_MRDY 211,6483 -#define TCIC_SCF2_MWP 212,6514 -#define TCIC_SCF2_MCD 213,6544 -#define TCIC_SCF2_MALL 214,6574 -#define TCIC_MWIN(TCIC_MWIN217,6659 -#define TCIC_MBASE_X 218,6720 -#define TCIC_MMAP_X 219,6744 -#define TCIC_MCTL_X 220,6767 -#define TCIC_MBASE_4K_BIT 222,6791 -#define TCIC_MBASE_HA_SHFT 223,6824 -#define TCIC_MBASE_HA_MASK 224,6854 -#define TCIC_MMAP_REG 226,6889 -#define TCIC_MMAP_CA_SHFT 227,6919 -#define TCIC_MMAP_CA_MASK 228,6948 -#define TCIC_MCTL_WSCNT_MASK 230,6982 -#define TCIC_MCTL_WCLK 231,7018 -#define TCIC_MCTL_WCLK_CCLK 232,7049 -#define TCIC_MCTL_WCLK_BCLK 233,7084 -#define TCIC_MCTL_QUIET 234,7119 -#define TCIC_MCTL_WP 235,7151 -#define TCIC_MCTL_ACC 236,7180 -#define TCIC_MCTL_KE 237,7210 -#define TCIC_MCTL_EDC 238,7239 -#define TCIC_MCTL_B8 239,7269 -#define TCIC_MCTL_SS_SHFT 240,7298 -#define TCIC_MCTL_SS_MASK 241,7337 -#define TCIC_MCTL_ENA 242,7376 -#define TCIC_IWIN(TCIC_IWIN245,7457 -#define TCIC_IBASE_X 246,7518 -#define TCIC_ICTL_X 247,7542 -#define TCIC_ICTL_WSCNT_MASK 249,7566 -#define TCIC_ICTL_QUIET 250,7616 -#define TCIC_ICTL_1K 251,7657 -#define TCIC_ICTL_PASS16 252,7686 -#define TCIC_ICTL_ACC 253,7718 -#define TCIC_ICTL_TINY 254,7755 -#define TCIC_ICTL_B16 255,7786 -#define TCIC_ICTL_B8 256,7816 -#define TCIC_ICTL_BW_MASK 257,7851 -#define TCIC_ICTL_BW_DYN 258,7906 -#define TCIC_ICTL_BW_8 259,7933 -#define TCIC_ICTL_BW_16 260,7970 -#define TCIC_ICTL_BW_ATA 261,8009 -#define TCIC_ICTL_SS_SHFT 262,8063 -#define TCIC_ICTL_SS_MASK 263,8102 -#define TCIC_ICTL_ENA 264,8141 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/ds.c,2498 -#define IN_CARD_SERVICES58,2141 -static int pc_debug;78,2627 -#define ds_dbg(ds_dbg82,2685 -#define ds_dbg(ds_dbg87,2820 -typedef struct socket_bind_t socket_bind_t92,2952 -} socket_bind_t;socket_bind_t97,3098 -#define MAX_EVENTS 100,3146 -#define USER_MAGIC 101,3168 -#define CHECK_USER(CHECK_USER102,3194 -typedef struct user_info_t user_info_t104,3273 -} user_info_t;user_info_t110,3459 -struct pcmcia_bus_socket pcmcia_bus_socket113,3506 -#define DS_SOCKET_PRESENT 125,3769 -#define DS_SOCKET_BUSY 126,3801 -#define DS_SOCKET_REMOVAL_PENDING 127,3831 -#define DS_SOCKET_DEAD 128,3870 -static dev_info_t dev_info 133,4022 -static int major_dev 135,4071 -static struct proc_dir_entry *proc_pccard;137,4099 -static int pcmcia_bind_device(152,4668 -static int pcmcia_bind_mtd(190,5921 -typedef struct lookup_t lookup_t222,6641 -} lookup_t;lookup_t225,6695 -static const lookup_t error_table[227,6708 -static const lookup_t service_table[262,8025 -int pcmcia_report_error(315,10132 -void cs_error(349,10985 -static void pcmcia_put_bus_socket(361,11366 -static struct pcmcia_bus_socket *pcmcia_get_bus_socket(367,11486 -int pcmcia_register_driver(384,11849 -void pcmcia_unregister_driver(399,12168 -static struct proc_dir_entry *proc_pccard 406,12330 -static int proc_read_drivers_callback(408,12381 -static int proc_read_drivers(420,12669 -static int queue_empty(438,13136 -static event_t get_queued_event(443,13234 -static void queue_event(449,13390 -static void handle_event(457,13655 -static int handle_request(465,13867 -static void handle_removal(479,14255 -static int ds_event(492,14615 -static int bind_mtd(534,15569 -static int bind_request(563,16612 -static int get_device_info(633,18392 -static int unbind_request(700,20042 -static int ds_open(732,20904 -static int ds_release(767,21774 -static ssize_t ds_read(801,22592 -static ssize_t ds_write(830,23296 -static u_int ds_poll(865,24128 -static int ds_ioctl(888,24736 -static struct file_operations ds_fops 1056,29377 -static int __devinit pcmcia_bus_add_socket(1066,29570 -static void pcmcia_bus_remove_socket(1127,31137 -static struct class_interface pcmcia_bus_interface 1147,31577 -struct bus_type pcmcia_bus_type 1154,31739 -static int __init init_pcmcia_bus(1160,31831 -static void __exit exit_pcmcia_bus(1187,32511 -static struct pcmcia_bus_socket * get_socket_info_by_nr(1208,32930 -struct cmp_data cmp_data1219,33188 -static int cmp_drv_callback(1224,33255 -static struct pcmcia_driver * get_pcmcia_driver 1235,33531 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/cs_internal.h,1574 -#define _LINUX_CS_INTERNAL_H20,770 -#define ERASEQ_MAGIC 24,827 -typedef struct eraseq_t eraseq_t25,855 -} eraseq_t;eraseq_t30,980 -#define CLIENT_MAGIC 32,993 -typedef struct client_t client_t33,1022 -} client_t;client_t48,1478 -#define CLIENT_CONFIG_LOCKED 51,1519 -#define CLIENT_IRQ_REQ 52,1555 -#define CLIENT_IO_REQ 53,1586 -#define CLIENT_UNBOUND 54,1616 -#define CLIENT_STALE 55,1647 -#define CLIENT_WIN_REQ(CLIENT_WIN_REQ56,1676 -#define CLIENT_CARDBUS 57,1714 -#define REGION_MAGIC 59,1746 -typedef struct region_t region_t60,1774 -} region_t;region_t67,1942 -#define REGION_STALE 69,1955 -typedef struct config_t config_t72,2030 -} config_t;config_t85,2323 -struct cis_cache_entry cis_cache_entry87,2336 -#define CONFIG_LOCKED 96,2505 -#define CONFIG_IRQ_REQ 97,2533 -#define CONFIG_IO_REQ 98,2562 -#define SOCKET_PRESENT 101,2619 -#define SOCKET_INUSE 102,2650 -#define SOCKET_SUSPEND 103,2679 -#define SOCKET_WIN_REQ(SOCKET_WIN_REQ104,2710 -#define SOCKET_REGION_INFO 105,2750 -#define SOCKET_CARDBUS 106,2784 -#define SOCKET_CARDBUS_CONFIG 107,2815 -static inline int cs_socket_get(109,2854 -static inline void cs_socket_put(121,3055 -#define CHECK_HANDLE(CHECK_HANDLE129,3214 -#define CHECK_SOCKET(CHECK_SOCKET132,3300 -#define SOCKET(SOCKET135,3384 -#define CONFIG(CONFIG136,3414 -#define CHECK_REGION(CHECK_REGION138,3469 -#define CHECK_ERASEQ(CHECK_ERASEQ141,3555 -#define EVENT(EVENT144,3641 -#define cs_socket_name(cs_socket_name202,6254 -#define cs_dbg(cs_dbg207,6351 -#define cs_dbg(cs_dbg214,6527 -#define cs_err(cs_err217,6590 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_pangolin.c,476 -#define PANGOLIN_SOCK 20,396 -#define PANGOLIN_SOCK 22,426 -static struct pcmcia_irqs irqs[25,458 -static int pangolin_pcmcia_hw_init(29,547 -static void pangolin_pcmcia_hw_shutdown(43,824 -pangolin_pcmcia_socket_state(54,1069 -pangolin_pcmcia_configure_socket(69,1532 -static void pangolin_pcmcia_socket_init(118,2675 -static void pangolin_pcmcia_socket_suspend(123,2805 -static struct pcmcia_low_level pangolin_pcmcia_ops 128,2939 -int __init pcmcia_pangolin_init(139,3310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/pxa2xx_base.c,936 -#define MCXX_SETUP_MASK 43,1057 -#define MCXX_ASST_MASK 44,1092 -#define MCXX_HOLD_MASK 45,1127 -#define MCXX_SETUP_SHIFT 46,1162 -#define MCXX_ASST_SHIFT 47,1194 -#define MCXX_HOLD_SHIFT 48,1226 -static inline u_int pxa2xx_mcxx_hold(50,1260 -static inline u_int pxa2xx_mcxx_asst(57,1459 -static inline u_int pxa2xx_mcxx_setup(64,1658 -static inline u_int pxa2xx_pcmcia_cmd_time(74,2004 -static int pxa2xx_pcmcia_set_mcmem(80,2164 -static int pxa2xx_pcmcia_set_mcio(92,2496 -static int pxa2xx_pcmcia_set_mcatt(104,2826 -static int pxa2xx_pcmcia_set_mcxx(116,3158 -static int pxa2xx_pcmcia_set_timing(130,3506 -pxa2xx_pcmcia_frequency_change(139,3705 -int pxa2xx_drv_pcmcia_probe(169,4604 -static int pxa2xx_drv_pcmcia_suspend(208,5385 -static int pxa2xx_drv_pcmcia_resume(216,5577 -static struct device_driver pxa2xx_pcmcia_driver 224,5751 -static int __init pxa2xx_pcmcia_init(233,6020 -static void __exit pxa2xx_pcmcia_exit(238,6116 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/au1000_pb1x00.c,373 -#define debug(debug51,1522 -#define PCMCIA_IRQ 55,1617 -#define PCMCIA_IRQ 58,1710 -#define PCMCIA_IRQ 61,1817 -static int pb1x00_pcmcia_init(64,1859 -static int pb1x00_pcmcia_shutdown(93,2592 -pb1x00_pcmcia_socket_state(114,3072 -static int pb1x00_pcmcia_get_irq_info(183,4350 -pb1x00_pcmcia_configure_socket(199,4618 -struct pcmcia_low_level pb1x00_pcmcia_ops 406,9100 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_neponset.c,195 -neponset_pcmcia_configure_socket(45,1104 -static void neponset_pcmcia_socket_init(109,2502 -static struct pcmcia_low_level neponset_pcmcia_ops 117,2668 -int __init pcmcia_neponset_init(127,3029 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/soc_common.h,592 -#define _ASM_ARCH_PCMCIA10,266 -struct soc_pcmcia_socket soc_pcmcia_socket30,709 -struct pcmcia_state pcmcia_state64,1306 -struct pcmcia_low_level pcmcia_low_level74,1486 -struct pcmcia_irqs pcmcia_irqs117,2641 -struct soc_pcmcia_timing soc_pcmcia_timing123,2705 -#define debug(debug148,3701 -#define debug(debug152,3799 -#define SOC_PCMCIA_IO_ACCESS 173,4804 -#define SOC_PCMCIA_5V_MEM_ACCESS 174,4840 -#define SOC_PCMCIA_3V_MEM_ACCESS 175,4879 -#define SOC_PCMCIA_ATTR_MEM_ACCESS 176,4918 -#define SOC_PCMCIA_POLL_PERIOD 182,5100 -#define iostschg 191,5339 -#define iospkr 192,5361 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/i82365.c,4434 -static const char version[70,2400 -static int pc_debug;73,2483 -#define debug(debug77,2541 -#define debug(debug82,2678 -static inline int _check_irq(86,2801 -static int i365_base 99,3173 -static int extra_sockets 101,3263 -static int ignore 103,3333 -static u_int irq_mask 105,3408 -static int irq_list[106,3440 -static int irq_list_count;107,3465 -static int cs_irq 109,3553 -static int do_scan 112,3610 -static int poll_interval 114,3693 -static int cycle_time 116,3785 -static int has_dma 119,3836 -static int has_led 120,3861 -static int has_ring 121,3886 -static int dynamic_mode 122,3912 -static int freq_bypass 123,3941 -static int setup_time 124,3970 -static int cmd_time 125,3998 -static int recov_time 126,4024 -static int async_clock 129,4073 -static int cable_mode 130,4102 -static int wakeup 131,4130 -typedef struct cirrus_state_t cirrus_state_t157,4972 -} cirrus_state_t;cirrus_state_t160,5052 -typedef struct vg46x_state_t vg46x_state_t162,5071 -} vg46x_state_t;vg46x_state_t164,5124 -struct i82365_socket i82365_socket166,5142 -static int sockets 180,5438 -static struct i82365_socket socket[181,5462 -#define I365_MASK 186,5563 -static int grab_irq;188,5624 -static spinlock_t isa_lock 189,5645 -#define ISA_LOCK(ISA_LOCK190,5694 -#define ISA_UNLOCK(ISA_UNLOCK191,5749 -static struct timer_list poll_timer;193,5812 -typedef enum pcic_id pcic_id198,5975 - IS_I82365A,199,5998 - IS_I82365A, IS_I82365B,199,5998 - IS_I82365A, IS_I82365B, IS_I82365DF,199,5998 - IS_IBM,200,6039 - IS_IBM, IS_RF5Cx96,200,6039 - IS_IBM, IS_RF5Cx96, IS_VLSI,200,6039 - IS_IBM, IS_RF5Cx96, IS_VLSI, IS_VG468,200,6039 - IS_IBM, IS_RF5Cx96, IS_VLSI, IS_VG468, IS_VG469,200,6039 - IS_PD6710,201,6092 - IS_PD6710, IS_PD672X,201,6092 - IS_PD6710, IS_PD672X, IS_VT83C469,201,6092 -} pcic_id;pcic_id202,6131 -#define IS_VADEM 205,6193 -#define IS_CIRRUS 206,6217 -#define IS_VIA 207,6242 -#define IS_UNKNOWN 208,6265 -#define IS_VG_PWR 209,6291 -#define IS_DF_PWR 210,6316 -#define IS_ALIVE 211,6341 -typedef struct pcic_t pcic_t213,6366 -} pcic_t;pcic_t216,6427 -static pcic_t pcic[218,6438 -#define PCIC_COUNT 232,6853 -static spinlock_t bus_lock 236,6977 -static u_char i365_get(238,7027 -static void i365_set(252,7344 -static void i365_bset(264,7654 -static void i365_bclr(271,7800 -static void i365_bflip(278,7947 -static u_short i365_get_pair(288,8131 -static void i365_set_pair(296,8295 -#define flip(flip313,8863 -static void cirrus_get_state(315,8935 -static void cirrus_set_state(326,9268 -static u_int __init cirrus_set_opts(342,9747 -static void vg46x_get_state(399,11449 -static void vg46x_set_state(407,11652 -static u_int __init vg46x_set_opts(415,11853 -static void get_bridge_state(446,12761 -static void set_bridge_state(455,12955 -static u_int __init set_bridge_opts(469,13283 -static volatile u_int irq_hits;499,14064 -static u_short irq_sock;500,14096 -static irqreturn_t i365_count_irq(502,14122 -static u_int __init test_irq(510,14318 -static u_int __init isa_scan(537,15004 -#define PIC 543,15112 -static int to_cycles(585,16239 -static int __init identify(592,16373 -static int __init is_alive(660,18385 -static void __init add_socket(680,18979 -static void __init add_pcic(691,19276 -static struct isapnp_device_id id_table[759,21206 -static struct isapnp_device_id id_table[] __initdata 759,21206 -static struct pnp_dev *i82365_pnpdev;770,21709 -static void __init isa_probe(773,21755 -static irqreturn_t pcic_interrupt(851,23667 -static void pcic_interrupt_wrapper(899,24903 -static int i365_get_status(908,25143 -static int i365_get_socket(943,26300 -static int i365_set_socket(1015,28868 -static int i365_set_io_map(1125,32055 -static int i365_set_mem_map(1154,33276 -static ssize_t show_info(1208,35157 -static ssize_t show_exca(1215,35409 -#define LOCKED(LOCKED1246,36250 -static int pcic_get_status(1256,36447 -static int pcic_get_socket(1268,36708 -static int pcic_set_socket(1278,36959 -static int pcic_set_io_map(1288,37210 -static int pcic_set_mem_map(1297,37460 -static int pcic_init(1306,37715 -static int pcic_suspend(1324,38064 -static struct pccard_operations pcic_operations 1329,38166 -static int i82365_suspend(1341,38512 -static int i82365_resume(1349,38693 -static struct device_driver i82365_driver 1357,38856 -static struct platform_device i82365_device 1364,39007 -static int __init init_i82365(1369,39088 -static void __exit exit_i82365(1432,40670 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_graphicsmaster.c,209 -static int graphicsmaster_pcmcia_hw_init(22,433 -graphicsmaster_pcmcia_configure_socket(39,858 -static struct pcmcia_low_level graphicsmaster_pcmcia_ops 87,1903 -int __init pcmcia_graphicsmaster_init(98,2280 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_adsbitsy.c,185 -static int adsbitsy_pcmcia_hw_init(23,425 -adsbitsy_pcmcia_configure_socket(38,818 -static struct pcmcia_low_level adsbitsy_pcmcia_ops 87,1841 -int __init pcmcia_adsbitsy_init(97,2202 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/cistpl.c,2015 -static const u_char mantissa[58,2153 -static const u_int exponent[63,2263 -#define SPEED_CVT(SPEED_CVT68,2418 -#define POWER_CVT(POWER_CVT71,2553 -#define POWER_SCALE(POWER_SCALE73,2627 -#define MAX_TUPLES 76,2714 -#define INT_MODULE_PARM(INT_MODULE_PARM82,2861 -void release_cis_mem(86,2988 -set_cis_map(107,3498 -#define IS_ATTR 138,4522 -#define IS_INDIRECT 139,4541 -int read_cis_mem(141,4564 -void write_cis_mem(205,6204 -static void read_cis_cache(270,7976 -remove_cis_cache(312,8902 -void destroy_cis_cache(324,9181 -int verify_cis_cache(343,9653 -int pcmcia_replace_cis(379,10428 -typedef struct tuple_flags tuple_flags405,11152 -} tuple_flags;tuple_flags410,11270 -#define LINK_SPACE(LINK_SPACE412,11286 -#define HAS_LINK(HAS_LINK413,11346 -#define MFC_FN(MFC_FN414,11402 -#define SPACE(SPACE415,11454 -int pcmcia_get_first_tuple(419,11573 -static int follow_link(457,12788 -int pcmcia_get_next_tuple(497,14110 -#define _MIN(_MIN595,16786 -int pcmcia_get_tuple_data(597,16833 -static int parse_device(625,17598 -static int parse_checksum(670,18727 -static int parse_longlink(684,19147 -static int parse_longlink_mfc(694,19429 -static int parse_strings(714,19906 -static int parse_vers_1(742,20539 -static int parse_altstr(759,20984 -static int parse_jedec(772,21328 -static int parse_manfid(792,21763 -static int parse_funcid(805,22099 -static int parse_funce(818,22410 -static int parse_config(833,22775 -static u_char *parse_power(864,23633 -static u_char *parse_timing(899,24422 -static u_char *parse_io(932,25179 -static u_char *parse_mem(971,26032 -static u_char *parse_irq(1008,26878 -static int parse_cftable_entry(1022,27215 -static int parse_bar(1137,29957 -static int parse_config_cb(1149,30221 -static int parse_cftable_entry_cb(1163,30577 -static int parse_device_geo(1238,32262 -static int parse_vers_2(1262,32877 -static int parse_org(1284,33393 -static int parse_format(1304,33862 -int pcmcia_parse_tuple(1323,34266 -int read_tuple(1411,36554 -int pcmcia_validate_cis(1445,37668 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/i82092.c,1338 -static struct pci_device_id i82092aa_pci_ids[34,675 -static int i82092aa_socket_suspend 45,938 -static int i82092aa_socket_resume 50,1064 -static struct pci_driver i82092aa_pci_drv 55,1170 -static struct pccard_operations i82092aa_operations 66,1513 -struct socket_info socket_info78,1899 -#define MAX_SOCKETS 90,2213 -static struct socket_info sockets[91,2235 -static int socket_count;92,2283 -static int __devinit i82092aa_pci_probe(95,2394 -static void __devexit i82092aa_pci_remove(188,4903 -static spinlock_t port_lock 202,5182 -static unsigned char indirect_read(206,5273 -static unsigned short indirect_read16(221,5606 -static void indirect_write(239,6006 -static void indirect_setbit(251,6320 -static void indirect_resetbit(268,6704 -static void indirect_write16(284,7090 -static int cycle_time 307,7604 -static int to_cycles(309,7634 -static irqreturn_t i82092aa_interrupt(320,7774 -static int card_present(384,9203 -static void set_bridge_state(405,9575 -static int i82092aa_init(420,9812 -static int i82092aa_suspend(442,10575 -static int i82092aa_get_status(451,10801 -static int i82092aa_get_socket(494,11901 -static int i82092aa_set_socket(566,13872 -static int i82092aa_set_io_map(663,16374 -static int i82092aa_set_mem_map(707,17688 -static int i82092aa_module_init(789,20009 -static void i82092aa_module_exit(797,20168 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/tcic.c,2149 -static int pc_debug;60,2173 -static const char version[63,2230 -#define debug(debug66,2311 -#define debug(debug71,2446 -static int tcic_base 83,2827 -static int ignore 86,2902 -static int do_scan 89,2960 -static u_int irq_mask 92,3028 -static int irq_list[93,3060 -static int irq_list_count;94,3085 -static int cs_irq;97,3174 -static int poll_interval;100,3253 -static int poll_quick 103,3324 -static int cycle_time 106,3426 -static struct pccard_operations tcic_operations;122,3986 -struct tcic_socket tcic_socket124,4036 -static struct timer_list poll_timer;131,4151 -static int tcic_timer_pending;132,4188 -static int sockets;134,4220 -static struct tcic_socket socket_table[135,4240 -#define TCIC_IRQ(TCIC_IRQ141,4495 -static u_char tcic_getb(144,4568 -static u_short tcic_getw(151,4731 -static void tcic_setb(158,4896 -static void tcic_setw(164,5048 -#define tcic_getb(tcic_getb170,5206 -#define tcic_getw(tcic_getw171,5248 -#define tcic_setb(tcic_setb172,5290 -#define tcic_setw(tcic_setw173,5345 -static void tcic_setl(176,5408 -static u_char tcic_aux_getb(185,5630 -static void tcic_aux_setb(192,5808 -static u_short tcic_aux_getw(199,5996 -static void tcic_aux_setw(206,6175 -static int to_cycles(217,6471 -static volatile u_int irq_hits;227,6646 -static irqreturn_t __init tcic_irq_count(229,6679 -static u_int __init try_irq(235,6807 -static u_int __init irq_scan(266,7587 -#define PIC 272,7677 -static int __init is_active(321,8939 -static int __init get_tcic_id(359,9978 -static int tcic_drv_suspend(372,10320 -static int tcic_drv_resume(380,10503 -static struct device_driver tcic_driver 388,10668 -static struct platform_device tcic_device 395,10826 -static int __init init_tcic(401,10911 -static void __exit exit_tcic(548,14970 -static irqreturn_t tcic_interrupt(569,15494 -static void tcic_timer(624,17088 -static int tcic_get_status(633,17315 -static int tcic_get_socket(659,18281 -static int tcic_set_socket(712,20164 -static int tcic_set_io_map(787,22726 -static int tcic_set_mem_map(824,24106 -static int tcic_init(868,25878 -static int tcic_suspend(886,26227 -static struct pccard_operations tcic_operations 891,26329 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/soc_common.c,1751 -static int pc_debug;59,2153 -void soc_pcmcia_debug(62,2210 -#define to_soc_pcmcia_socket(to_soc_pcmcia_socket76,2485 -calc_speed(79,2590 -void soc_common_pcmcia_get_timing(93,2813 -static unsigned int soc_common_pcmcia_skt_state(101,3189 -soc_common_pcmcia_config_skt(140,4168 -static int soc_common_pcmcia_sock_init(177,5088 -static int soc_common_pcmcia_suspend(197,5512 -static spinlock_t status_lock 211,5812 -static void soc_common_check_status(213,5865 -static void soc_common_pcmcia_poll_event(244,6744 -static irqreturn_t soc_common_pcmcia_interrupt(263,7397 -soc_common_pcmcia_get_status(291,8338 -soc_common_pcmcia_get_socket(310,8756 -soc_common_pcmcia_set_socket(331,9326 -soc_common_pcmcia_set_io_map(363,10453 -soc_common_pcmcia_set_mem_map(416,11870 -struct bittbl bittbl461,12982 -static struct bittbl status_bits[466,13041 -static struct bittbl conf_bits[478,13358 -dump_bits(488,13608 -static ssize_t show_status(506,14001 -static struct pccard_operations soc_common_pcmcia_operations 532,14822 -int soc_pcmcia_request_irqs(543,15204 -void soc_pcmcia_free_irqs(570,15797 -void soc_pcmcia_disable_irqs(581,16032 -void soc_pcmcia_enable_irqs(592,16288 -static const char *skt_names[609,16665 -struct skt_dev_info skt_dev_info614,16744 -#define SKT_DEV_INFO_SIZE(SKT_DEV_INFO_SIZE619,16815 -soc_pcmcia_notifier(624,16951 -static struct notifier_block soc_pcmcia_notifier_block 639,17340 -static int soc_pcmcia_cpufreq_register(643,17441 -static void soc_pcmcia_cpufreq_unregister(655,17726 -#define soc_pcmcia_cpufreq_register(soc_pcmcia_cpufreq_register661,17872 -#define soc_pcmcia_cpufreq_unregister(soc_pcmcia_cpufreq_unregister662,17910 -int soc_common_drv_pcmcia_probe(665,17958 -int soc_common_drv_pcmcia_remove(815,21441 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/hd64465_ss.c,2001 -#define MODNAME 55,1784 -#define DPRINTK(DPRINTK60,1863 -#define DPRINTK(DPRINTK62,1920 -#define HS_IO_MAP_SIZE 71,2177 -typedef struct hs_socket_ths_socket_t73,2212 -} hs_socket_t;hs_socket_t85,2541 -#define HS_MAX_SOCKETS 89,2559 -static hs_socket_t hs_sockets[90,2584 -#define hs_in(hs_in92,2632 -#define hs_out(hs_out93,2684 -#define bool_to_regbit(bool_to_regbit97,2800 -#define ISR 108,3155 -#define GCR 109,3172 -#define CSCR 110,3189 -#define CSCIER 111,3207 -#define SCR 112,3227 -#define IER_MASK 116,3288 -#define IER_ON 117,3313 -#define IER_OFF 118,3361 -static void cis_hex_dump(124,3502 -#define HS_NUM_MAPPED_IRQS 153,4387 -} hs_mapped_irq[159,4566 -static void hs_socket_enable_ireq(161,4604 -static void hs_socket_disable_ireq(173,4905 -static unsigned int hs_startup_irq(184,5162 -static void hs_shutdown_irq(191,5327 -static void hs_enable_irq(197,5476 -static void hs_disable_irq(203,5620 -static void hs_mask_and_ack_irq(211,5813 -static void hs_end_irq(219,6081 -static struct hw_interrupt_type hd64465_ss_irq_type 226,6220 -static void hs_map_irq(239,6548 -static void hs_unmap_irq(256,6986 -static const u_char hs_tps2206_avcc[280,7697 -static const u_char hs_tps2206_bvcc[281,7760 -static int hs_set_voltages(283,7824 -static void hs_reset_socket(331,8780 -static int hs_init(345,9049 -static int hs_suspend(356,9289 -static int hs_get_status(371,9580 -static int hs_get_socket(435,11123 -static int hs_set_socket(447,11413 -static int hs_set_io_map(561,14304 -static int hs_set_mem_map(634,16687 -static int hs_irq_demux(678,18033 -static irqreturn_t hs_interrupt(701,18500 -static struct pccard_operations hs_operations 764,20334 -static int hs_init_socket(774,20590 -static void hs_exit_socket(833,22144 -static int hd64465_suspend(863,22820 -static int hd64465_resume(871,23002 -static struct device_driver hd64465_driver 879,23166 -static struct platform_device hd64465_device 886,23328 -static int __init init_hs(891,23418 -static void __exit exit_hs(965,25394 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/cirrus.h,2986 -#define _LINUX_CIRRUS_H31,1411 -#define PCI_VENDOR_ID_CIRRUS 34,1465 -#define PCI_DEVICE_ID_CIRRUS_6729 37,1543 -#define PCI_DEVICE_ID_CIRRUS_6832 40,1625 -#define PD67_MISC_CTL_1 43,1674 -#define PD67_FIFO_CTL 44,1725 -#define PD67_MISC_CTL_2 45,1772 -#define PD67_CHIP_INFO 46,1823 -#define PD67_ATA_CTL 47,1875 -#define PD67_EXT_INDEX 48,1927 -#define PD67_EXT_DATA 49,1978 -#define PD67_DATA_MASK0 52,2090 -#define PD67_DATA_MASK1 53,2138 -#define PD67_DMA_CTL 54,2186 -#define PD67_EXT_CTL_1 57,2294 -#define PD67_MEM_PAGE(PD67_MEM_PAGE58,2349 -#define PD67_EXTERN_DATA 59,2410 -#define PD67_MISC_CTL_3 60,2440 -#define PD67_SMB_PWR_CTL 61,2470 -#define PD67_IO_OFF(PD67_IO_OFF64,2533 -#define PD67_TIME_SETUP(PD67_TIME_SETUP67,2601 -#define PD67_TIME_CMD(PD67_TIME_CMD68,2643 -#define PD67_TIME_RECOV(PD67_TIME_RECOV69,2683 -#define PD67_MC1_5V_DET 72,2758 -#define PD67_MC1_MEDIA_ENA 73,2804 -#define PD67_MC1_VCC_3V 74,2866 -#define PD67_MC1_PULSE_MGMT 75,2911 -#define PD67_MC1_PULSE_IRQ 76,2944 -#define PD67_MC1_SPKR_ENA 77,2976 -#define PD67_MC1_INPACK_ENA 78,3007 -#define PD67_FIFO_EMPTY 81,3071 -#define PD67_MC2_FREQ_BYPASS 84,3134 -#define PD67_MC2_DYNAMIC_MODE 85,3168 -#define PD67_MC2_SUSPEND 86,3203 -#define PD67_MC2_5V_CORE 87,3233 -#define PD67_MC2_LED_ENA 88,3263 -#define PD67_MC2_FAST_PCI 89,3320 -#define PD67_MC2_3STATE_BIT7 90,3380 -#define PD67_MC2_DMA_MODE 91,3438 -#define PD67_MC2_IRQ15_RI 92,3469 -#define PD67_INFO_SLOTS 95,3560 -#define PD67_INFO_CHIP_ID 96,3620 -#define PD67_INFO_REV 97,3651 -#define PD67_TIME_SCALE 100,3718 -#define PD67_TIME_SCALE_1 101,3748 -#define PD67_TIME_SCALE_16 102,3779 -#define PD67_TIME_SCALE_256 103,3811 -#define PD67_TIME_SCALE_4096 104,3844 -#define PD67_TIME_MULT 105,3878 -#define PD67_DMA_MODE 108,3937 -#define PD67_DMA_OFF 109,3965 -#define PD67_DMA_DREQ_INPACK 110,3992 -#define PD67_DMA_DREQ_WP 111,4026 -#define PD67_DMA_DREQ_BVD2 112,4056 -#define PD67_DMA_PULLUP 113,4088 -#define PD67_EC1_VCC_PWR_LOCK 116,4180 -#define PD67_EC1_AUTO_PWR_CLEAR 117,4215 -#define PD67_EC1_LED_ENA 118,4252 -#define PD67_EC1_INV_CARD_IRQ 119,4282 -#define PD67_EC1_INV_MGMT_IRQ 120,4317 -#define PD67_EC1_PULLUP_CTL 121,4352 -#define PD67_MC3_IRQ_MASK 124,4418 -#define PD67_MC3_IRQ_PCPCI 125,4449 -#define PD67_MC3_IRQ_EXTERN 126,4481 -#define PD67_MC3_IRQ_PCIWAY 127,4514 -#define PD67_MC3_IRQ_PCI 128,4547 -#define PD67_MC3_PWR_MASK 129,4577 -#define PD67_MC3_PWR_SERIAL 130,4608 -#define PD67_MC3_PWR_TI2202 131,4641 -#define PD67_MC3_PWR_SMB 132,4674 -#define PD68_EXT_CTL_2 137,4835 -#define PD68_PCI_SPACE 138,4865 -#define PD68_PCCARD_SPACE 139,4895 -#define PD68_WINDOW_TYPE 140,4927 -#define PD68_EXT_CSC 141,4958 -#define PD68_MISC_CTL_4 142,4986 -#define PD68_MISC_CTL_5 143,5017 -#define PD68_MISC_CTL_6 144,5048 -#define PD68_MC3_HW_SUSP 147,5117 -#define PD68_MC3_MM_EXPAND 148,5148 -#define PD68_MC3_MM_ARM 149,5181 -#define PD6832_BCR_MGMT_IRQ_ENA 152,5243 -#define PD6832_SOCKET_NUMBER 155,5313 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_generic.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/rsrc_mgr.c,1447 -#define INT_MODULE_PARM(INT_MODULE_PARM60,2212 -typedef struct resource_map_t resource_map_t75,2734 -} resource_map_t;resource_map_t78,2823 -static resource_map_t mem_db 81,2873 -static resource_map_t io_db 86,2960 -static unsigned int rsrc_mem_probe;91,3045 -#define MEM_PROBE_LOW 92,3081 -#define MEM_PROBE_HIGH 93,3112 -typedef struct irq_info_t irq_info_t97,3173 -} irq_info_t;irq_info_t101,3293 -static irq_info_t irq_table[104,3339 -make_resource(115,3601 -claim_region(130,3906 -static void free_region(151,4398 -static int add_interval(165,4720 -static int sub_interval(184,5253 -static void do_io_probe(230,6510 -static int readable(303,8344 -static int checksum(323,8839 -cis_readable(355,9415 -checksum_match(376,9929 -static int do_mem_probe(403,10707 -static u_long inv_probe(441,11693 -static void validate_mem(457,12033 -static void validate_mem(495,13042 -void pcmcia_validate_mem(512,13392 -struct pcmcia_align_data pcmcia_align_data540,13859 -pcmcia_common_align(547,13968 -pcmcia_align(562,14344 -int adjust_io_region(606,15393 -struct resource *find_io_region(641,16436 -struct resource *find_mem_region(674,17171 -static irqreturn_t fake_irq(730,18507 -static inline int check_irq(731,18591 -int try_irq(739,18743 -void undo_irq(819,20524 -static int adjust_memory(852,21275 -static int adjust_io(889,22126 -static int adjust_irq(926,22924 -int pcmcia_adjust_resource_info(976,24007 -void release_resource_db(997,24455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_freebird.c,410 -static struct pcmcia_irqs irqs[18,330 -static int freebird_pcmcia_init(23,461 -static void freebird_pcmcia_shutdown(41,816 -freebird_pcmcia_socket_state(51,1031 -freebird_pcmcia_configure_socket(66,1538 -static void freebird_pcmcia_socket_init(106,2303 -static void freebird_pcmcia_socket_suspend(111,2434 -static struct pcmcia_low_level freebird_pcmcia_ops 116,2567 -int __init pcmcia_freebird_init(127,2937 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_generic.c,400 -static int (*sa11x0_pcmcia_hw_init[44,1794 -static int (*sa11x0_pcmcia_hw_init[])(struct device *dev)44,1794 -static int sa11x0_drv_pcmcia_probe(83,2546 -static int sa11x0_drv_pcmcia_suspend(99,2826 -static int sa11x0_drv_pcmcia_resume(107,3018 -static struct device_driver sa11x0_pcmcia_driver 115,3192 -static int __init sa11x0_pcmcia_init(132,3689 -static void __exit sa11x0_pcmcia_exit(142,3963 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/pxa2xx_mainstone.c,560 -static struct pcmcia_irqs irqs[33,694 -static int mst_pcmcia_hw_init(40,923 -static void mst_pcmcia_hw_shutdown(69,1723 -static unsigned long mst_pcmcia_status[74,1846 -static void mst_pcmcia_socket_state(76,1890 -static int mst_pcmcia_configure_socket(108,2968 -static void mst_pcmcia_socket_init(149,3916 -static void mst_pcmcia_socket_suspend(153,3987 -static struct pcmcia_low_level mst_pcmcia_ops 157,4061 -static struct platform_device *mst_pcmcia_device;168,4407 -static int __init mst_pcmcia_init(170,4458 -static void __exit mst_pcmcia_exit(188,4892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/au1000_generic.c,1297 -static int pc_debug;59,1686 -#define debug(debug63,1744 -#define debug(debug68,1850 -#define MAP_SIZE 75,2068 -static struct au1000_pcmcia_socket *pcmcia_socket;81,2289 -static int socket_count;82,2340 -static struct pcmcia_low_level *pcmcia_low_level;86,2417 -static struct timer_list poll_timer;89,2501 -static struct tq_struct au1000_pcmcia_task;99,2881 -static struct pccard_operations au1000_pcmcia_operations 127,4046 -static spinlock_t pcmcia_lock 144,4467 -static int __init au1000_pcmcia_driver_init(146,4520 -static void __exit au1000_pcmcia_driver_shutdown(229,6829 -static int au1000_pcmcia_init(246,7238 -static int au1000_pcmcia_suspend(248,7302 -au1000_pcmcia_events(255,7395 -static void au1000_pcmcia_task_handler(284,8007 -static struct tq_struct au1000_pcmcia_task 305,8577 -static void au1000_pcmcia_poll_event(310,8666 -au1000_pcmcia_interrupt(326,9161 -au1000_pcmcia_register_callback(333,9282 -static int au1000_pcmcia_inquire_socket(366,10384 -au1000_pcmcia_get_status(411,11665 -au1000_pcmcia_get_socket(458,12735 -au1000_pcmcia_set_socket(466,12871 -au1000_pcmcia_get_io_map(505,14067 -au1000_pcmcia_set_io_map(519,14384 -au1000_pcmcia_get_mem_map(552,15095 -au1000_pcmcia_set_mem_map(566,15365 -au1000_pcmcia_proc_setup(612,16359 -au1000_pcmcia_proc_status(632,16837 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/i82092aa.h,216 -#define _INCLUDE_GUARD_i82092aa_H_2,35 -#define enter(enter10,204 -#define leave(leave11,277 -#define dprintk(dprintk12,350 -#define enter(enter14,408 -#define leave(leave15,443 -#define dprintk(dprintk16,478 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_graphicsclient.c,556 -#define S0_CD_IRQ 28,577 -#define S0_STS_IRQ 29,630 -static volatile unsigned long *PCMCIA_Status 31,680 -static volatile unsigned long *PCMCIA_Power 34,785 -static struct pcmcia_irqs irqs[37,885 -static int gcplus_pcmcia_init(41,960 -static void gcplus_pcmcia_hw_shutdown(60,1382 -gcplus_pcmcia_socket_state(71,1595 -gcplus_pcmcia_configure_socket(85,1918 -static void gcplus_pcmcia_socket_init(128,2791 -static void gcplus_pcmcia_socket_suspend(132,2865 -static struct pcmcia_low_level gcplus_pcmcia_ops 136,2942 -int __init pcmcia_gcplus_init(146,3298 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_trizeps.c,443 -#define NUMBER_OF_TRIZEPS_PCMCIA_SLOTS 25,498 -static struct pcmcia_irqs irqs[27,540 -static int trizeps_pcmcia_init(35,694 -static void trizeps_pcmcia_shutdown(53,1132 -trizeps_pcmcia_socket_state(67,1454 -trizeps_pcmcia_configure_socket(86,2176 -static void trizeps_pcmcia_socket_init(132,3312 -static void trizeps_pcmcia_socket_suspend(137,3441 -struct pcmcia_low_level trizeps_pcmcia_ops 146,3668 -int __init pcmcia_trizeps_init(156,4023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/o2micro.h,2377 -#define _LINUX_O2MICRO_H31,1414 -#define PCI_VENDOR_ID_O2 34,1465 -#define PCI_DEVICE_ID_O2_6729 37,1535 -#define PCI_DEVICE_ID_O2_6730 40,1610 -#define PCI_DEVICE_ID_O2_6832 43,1685 -#define PCI_DEVICE_ID_O2_6836 46,1760 -#define PCI_DEVICE_ID_O2_6812 49,1835 -#define O2_MUX_CONTROL 54,1927 -#define O2_MUX_RING_OUT 55,1969 -#define O2_MUX_SKTB_ACTV 56,2005 -#define O2_MUX_SCTA_ACTV_ENA 57,2042 -#define O2_MUX_SCTB_ACTV_ENA 58,2083 -#define O2_MUX_SER_IRQ_ROUTE 59,2124 -#define O2_MUX_SER_PCI 60,2165 -#define O2_MUX_SKTA_TURBO 62,2202 -#define O2_MUX_SKTB_TURBO 63,2261 -#define O2_MUX_AUX_VCC_3V 64,2299 -#define O2_MUX_PCI_VCC_5V 65,2337 -#define O2_MUX_PME_MUX 66,2375 -#define O2_MODE_A 70,2445 -#define O2_MODE_A_2 71,2469 -#define O2_MODE_A_CD_PULSE 72,2518 -#define O2_MODE_A_SUSP_EDGE 73,2551 -#define O2_MODE_A_HOST_SUSP 74,2585 -#define O2_MODE_A_PWR_MASK 75,2619 -#define O2_MODE_A_QUIET 76,2652 -#define O2_MODE_B 78,2683 -#define O2_MODE_B_2 79,2707 -#define O2_MODE_B_IDENT 80,2756 -#define O2_MODE_B_ID_BSTEP 81,2786 -#define O2_MODE_B_ID_CSTEP 82,2819 -#define O2_MODE_B_ID_O2 83,2852 -#define O2_MODE_B_VS1 84,2882 -#define O2_MODE_B_VS2 85,2911 -#define O2_MODE_B_IRQ15_RI 86,2940 -#define O2_MODE_C 88,2974 -#define O2_MODE_C_DREQ_MASK 89,2998 -#define O2_MODE_C_DREQ_INPACK 90,3032 -#define O2_MODE_C_DREQ_WP 91,3068 -#define O2_MODE_C_DREQ_BVD2 92,3100 -#define O2_MODE_C_ZVIDEO 93,3134 -#define O2_MODE_C_IREQ_SEL 94,3165 -#define O2_MODE_C_MGMT_SEL 95,3198 -#define O2_MODE_D 97,3232 -#define O2_MODE_D_IRQ_MODE 98,3256 -#define O2_MODE_D_PCI_CLKRUN 99,3289 -#define O2_MODE_D_CB_CLKRUN 100,3324 -#define O2_MODE_D_SKT_ACTV 101,3358 -#define O2_MODE_D_PCI_FIFO 102,3391 -#define O2_MODE_D_W97_IRQ 103,3449 -#define O2_MODE_D_ISA_IRQ 104,3481 -#define O2_MHPG_DMA 106,3514 -#define O2_MHPG_CHANNEL 107,3540 -#define O2_MHPG_CINT_ENA 108,3570 -#define O2_MHPG_CSC_ENA 109,3601 -#define O2_FIFO_ENA 111,3632 -#define O2_FIFO_ZVIDEO_3 112,3658 -#define O2_FIFO_PCI_FIFO 113,3689 -#define O2_FIFO_POSTWR 114,3720 -#define O2_FIFO_BUFFER 115,3750 -#define O2_MODE_E 117,3781 -#define O2_MODE_E_MHPG_DMA 118,3805 -#define O2_MODE_E_SPKR_OUT 119,3838 -#define O2_MODE_E_LED_OUT 120,3871 -#define O2_MODE_E_SKTA_ACTV 121,3903 -static int o2micro_override(123,3938 -static void o2micro_restore_state(140,4432 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa11xx_base.h,846 -# define _PCMCIA_SA1100_H34,1611 -#define MECR_SOCKET_0_SHIFT 58,2475 -#define MECR_SOCKET_1_SHIFT 59,2507 -#define MECR_BS_MASK 61,2541 -#define MECR_FAST_MODE_MASK 62,2576 -#define MECR_BSIO_SHIFT 64,2612 -#define MECR_BSA_SHIFT 65,2640 -#define MECR_BSM_SHIFT 66,2668 -#define MECR_FAST_SHIFT 67,2697 -#define MECR_SET(MECR_SET69,2727 -#define MECR_GET(MECR_GET74,2969 -#define MECR_BSIO_SET(MECR_BSIO_SET78,3101 -#define MECR_BSIO_GET(MECR_BSIO_GET81,3204 -#define MECR_BSA_SET(MECR_BSA_SET84,3297 -#define MECR_BSA_GET(MECR_BSA_GET87,3398 -#define MECR_BSM_SET(MECR_BSM_SET90,3489 -#define MECR_BSM_GET(MECR_BSM_GET93,3590 -#define MECR_FAST_SET(MECR_FAST_SET96,3681 -#define MECR_FAST_GET(MECR_FAST_GET99,3795 -static inline unsigned int sa1100_pcmcia_mecr_bs(106,4003 -static inline unsigned int sa1100_pcmcia_cmd_time(115,4391 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_jornada720.c,309 -#define SOCKET0_POWER 20,360 -#define SOCKET0_3V 21,395 -#define SOCKET1_POWER 22,430 -#define SOCKET1_3V 24,531 -static int jornada720_pcmcia_hw_init(26,562 -jornada720_pcmcia_configure_socket(52,998 -static struct pcmcia_low_level jornada720_pcmcia_ops 105,2190 -int __init pcmcia_jornada720_init(116,2563 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/ti113x.h,4335 -#define _LINUX_TI113X_H31,1412 -#define TI113X_SYSTEM_CONTROL 38,1557 -#define TI113X_SCR_SMIROUTE 39,1608 -#define TI113X_SCR_SMISTATUS 40,1649 -#define TI113X_SCR_SMIENB 41,1691 -#define TI113X_SCR_VCCPROT 42,1730 -#define TI113X_SCR_REDUCEZV 43,1770 -#define TI113X_SCR_CDREQEN 44,1811 -#define TI113X_SCR_CDMACHAN 45,1851 -#define TI113X_SCR_SOCACTIVE 46,1892 -#define TI113X_SCR_PWRSTREAM 47,1934 -#define TI113X_SCR_DELAYUP 48,1976 -#define TI113X_SCR_DELAYDOWN 49,2016 -#define TI113X_SCR_INTERROGATE 50,2058 -#define TI113X_SCR_CLKRUN_SEL 51,2102 -#define TI113X_SCR_PWRSAVINGS 52,2145 -#define TI113X_SCR_SUBSYSRW 53,2188 -#define TI113X_SCR_CB_DPAR 54,2229 -#define TI113X_SCR_CDMA_EN 55,2269 -#define TI113X_SCR_ASYNC_IRQ 56,2309 -#define TI113X_SCR_KEEPCLK 57,2351 -#define TI113X_SCR_CLKRUN_ENA 58,2391 -#define TI122X_SCR_SER_STEP 60,2437 -#define TI122X_SCR_INTRTIE 61,2478 -#define TI122X_SCR_CBRSVD 62,2518 -#define TI122X_SCR_MRBURSTDN 63,2557 -#define TI122X_SCR_MRBURSTUP 64,2599 -#define TI122X_SCR_RIMUX 65,2641 -#define TI1250_MULTIMEDIA_CTL 68,2714 -#define TI1250_MMC_ZVOUTEN 69,2764 -#define TI1250_MMC_PORTSEL 70,2798 -#define TI1250_MMC_ZVEN1 71,2832 -#define TI1250_MMC_ZVEN0 72,2864 -#define TI1250_GENERAL_STATUS 74,2897 -#define TI1250_GPIO0_CONTROL 75,2947 -#define TI1250_GPIO1_CONTROL 76,2996 -#define TI1250_GPIO2_CONTROL 77,3045 -#define TI1250_GPIO3_CONTROL 78,3094 -#define TI1250_GPIO_MODE_MASK 79,3143 -#define TI122X_MFUNC 82,3208 -#define TI122X_MFUNC0_MASK 83,3251 -#define TI122X_MFUNC1_MASK 84,3290 -#define TI122X_MFUNC2_MASK 85,3329 -#define TI122X_MFUNC3_MASK 86,3368 -#define TI122X_MFUNC4_MASK 87,3407 -#define TI122X_MFUNC5_MASK 88,3446 -#define TI122X_MFUNC6_MASK 89,3485 -#define TI122X_MFUNC0_INTA 91,3525 -#define TI125X_MFUNC0_INTB 92,3564 -#define TI122X_MFUNC1_INTB 93,3603 -#define TI122X_MFUNC3_IRQSER 94,3642 -#define TI113X_RETRY_STATUS 98,3713 -#define TI113X_RSR_PCIRETRY 99,3761 -#define TI113X_RSR_CBRETRY 100,3796 -#define TI113X_RSR_TEXP_CBB 101,3830 -#define TI113X_RSR_MEXP_CBB 102,3865 -#define TI113X_RSR_TEXP_CBA 103,3900 -#define TI113X_RSR_MEXP_CBA 104,3935 -#define TI113X_RSR_TEXP_PCI 105,3970 -#define TI113X_RSR_MEXP_PCI 106,4005 -#define TI113X_CARD_CONTROL 109,4069 -#define TI113X_CCR_RIENB 110,4117 -#define TI113X_CCR_ZVENABLE 111,4149 -#define TI113X_CCR_PCI_IRQ_ENA 112,4184 -#define TI113X_CCR_PCI_IREQ 113,4222 -#define TI113X_CCR_PCI_CSC 114,4257 -#define TI113X_CCR_SPKROUTEN 115,4291 -#define TI113X_CCR_IFG 116,4327 -#define TI1220_CCR_PORT_SEL 118,4359 -#define TI122X_CCR_AUD2MUX 119,4394 -#define TI113X_DEVICE_CONTROL 122,4459 -#define TI113X_DCR_5V_FORCE 123,4509 -#define TI113X_DCR_3V_FORCE 124,4544 -#define TI113X_DCR_IMODE_MASK 125,4579 -#define TI113X_DCR_IMODE_ISA 126,4616 -#define TI113X_DCR_IMODE_SERIAL 127,4652 -#define TI12XX_DCR_IMODE_PCI_ONLY 129,4691 -#define TI12XX_DCR_IMODE_ALL_SERIAL 130,4731 -#define TI113X_BUFFER_CONTROL 133,4804 -#define TI113X_BCR_CB_READ_DEPTH 134,4854 -#define TI113X_BCR_CB_WRITE_DEPTH 135,4893 -#define TI113X_BCR_PCI_READ_DEPTH 136,4933 -#define TI113X_BCR_PCI_WRITE_DEPTH 137,4973 -#define TI1250_DIAGNOSTIC 140,5041 -#define TI1250_DIAG_TRUE_VALUE 141,5087 -#define TI1250_DIAG_PCI_IREQ 142,5125 -#define TI1250_DIAG_PCI_CSC 143,5161 -#define TI1250_DIAG_ASYNC_CSC 144,5196 -#define TI113X_DMA_0 147,5254 -#define TI113X_DMA_1 148,5297 -#define TI113X_IO_OFFSET(TI113X_IO_OFFSET151,5372 -#define ENE_TEST_C9 154,5446 -#define ENE_TEST_C9_TLTENABLE 155,5484 -#define ti_sysctl(ti_sysctl162,5602 -#define ti_cardctl(ti_cardctl163,5651 -#define ti_devctl(ti_devctl164,5701 -#define ti_diag(ti_diag165,5750 -#define ti_mfunc(ti_mfunc166,5798 -#define ene_test_c9(ene_test_c9167,5846 -static void ti_save_state(172,5961 -static void ti_restore_state(184,6441 -static void ti_zoom_video(200,6976 -static void ti1250_zoom_video(225,7831 -static void ti_set_zv(255,8549 -static int ti_init(289,9470 -static int ti_override(301,9715 -static int ti113x_override(314,9941 -static void ti12xx_irqroute_func0(329,10406 -static int ti12xx_tie_interrupts(449,14021 -static void ti12xx_untie_interrupts(475,14658 -static void ti12xx_irqroute_func1(489,15085 -static int ti12xx_override(593,17882 -static int ti1250_override(635,19134 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/sa1100_badge4.c,318 -static int badge4_pcmvcc 60,1632 -static int badge4_pcmvpp 61,1699 -static int badge4_cfvcc 62,1766 -static void complain_about_jumpering(64,1835 -badge4_pcmcia_configure_socket(78,2214 -static struct pcmcia_low_level badge4_pcmcia_ops 129,3255 -int pcmcia_badge4_init(140,3606 -static int __init pcmv_setup(156,3951 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pcmcia/ricoh.h,2821 -#define _LINUX_RICOH_H31,1409 -#define RF5C_MODE_CTL 34,1434 -#define RF5C_PWR_CTL 35,1481 -#define RF5C_CHIP_ID 36,1536 -#define RF5C_MODE_CTL_3 37,1589 -#define RF5C_IO_OFF(RF5C_IO_OFF40,1673 -#define RF5C_MODE_ATA 43,1744 -#define RF5C_MODE_LED_ENA 44,1787 -#define RF5C_MODE_CA21 45,1838 -#define RF5C_MODE_CA22 46,1867 -#define RF5C_MODE_CA23 47,1896 -#define RF5C_MODE_CA24 48,1925 -#define RF5C_MODE_CA25 49,1954 -#define RF5C_MODE_3STATE_BIT7 50,1983 -#define RF5C_PWR_VCC_3V 53,2048 -#define RF5C_PWR_IREQ_HIGH 54,2078 -#define RF5C_PWR_INPACK_ENA 55,2110 -#define RF5C_PWR_5V_DET 56,2143 -#define RF5C_PWR_TC_SEL 57,2173 -#define RF5C_PWR_DREQ_LOW 58,2238 -#define RF5C_PWR_DREQ_OFF 59,2269 -#define RF5C_PWR_DREQ_INPACK 60,2328 -#define RF5C_PWR_DREQ_SPKR 61,2362 -#define RF5C_PWR_DREQ_IOIS16 62,2394 -#define RF5C_CHIP_RF5C296 65,2459 -#define RF5C_CHIP_RF5C396 66,2490 -#define RF5C_MCTL3_DISABLE 69,2554 -#define RF5C_MCTL3_DMA_ENA 70,2617 -#define RL5C46X_BCR_3E0_ENA 75,2749 -#define RL5C46X_BCR_3E2_ENA 76,2785 -#define RL5C4XX_CONFIG 79,2858 -#define RL5C4XX_CONFIG_IO_1_MODE 80,2901 -#define RL5C4XX_CONFIG_IO_0_MODE 81,2942 -#define RL5C4XX_CONFIG_PREFETCH 82,2983 -#define RL5C4XX_MISC 85,3052 -#define RL5C4XX_MISC_HW_SUSPEND_ENA 86,3095 -#define RL5C4XX_MISC_VCCEN_POL 87,3139 -#define RL5C4XX_MISC_VPPEN_POL 88,3179 -#define RL5C46X_MISC_SUSPEND 89,3219 -#define RL5C46X_MISC_PWR_SAVE_2 90,3257 -#define RL5C46X_MISC_IFACE_BUSY 91,3297 -#define RL5C46X_MISC_B_LOCK 92,3337 -#define RL5C46X_MISC_A_LOCK 93,3374 -#define RL5C46X_MISC_PCI_LOCK 94,3411 -#define RL5C47X_MISC_IFACE_BUSY 95,3450 -#define RL5C47X_MISC_PCI_INT_MASK 96,3490 -#define RL5C47X_MISC_PCI_INT_DIS 97,3532 -#define RL5C47X_MISC_SUBSYS_WR 98,3573 -#define RL5C47X_MISC_SRIRQ_ENA 99,3613 -#define RL5C47X_MISC_5V_DISABLE 100,3653 -#define RL5C47X_MISC_LED_POL 101,3693 -#define RL5C4XX_16BIT_CTL 104,3772 -#define RL5C4XX_16CTL_IO_TIMING 105,3819 -#define RL5C4XX_16CTL_MEM_TIMING 106,3859 -#define RL5C46X_16CTL_LEVEL_1 107,3900 -#define RL5C46X_16CTL_LEVEL_2 108,3939 -#define RL5C4XX_16BIT_IO_0 111,4023 -#define RL5C4XX_16BIT_MEM_0 112,4071 -#define RL5C4XX_SETUP_MASK 113,4120 -#define RL5C4XX_SETUP_SHIFT 114,4156 -#define RL5C4XX_CMD_MASK 115,4188 -#define RL5C4XX_CMD_SHIFT 116,4222 -#define RL5C4XX_HOLD_MASK 117,4252 -#define RL5C4XX_HOLD_SHIFT 118,4287 -#define RL5C4XX_MISC_CONTROL 119,4319 -#define RL5C4XX_ZV_ENABLE 120,4376 -#define rl_misc(rl_misc124,4440 -#define rl_ctl(rl_ctl125,4488 -#define rl_io(rl_io126,4535 -#define rl_mem(rl_mem127,4581 -#define rl_config(rl_config128,4628 -static void ricoh_zoom_video(130,4678 -static void ricoh_set_zv(145,5163 -static void ricoh_save_state(159,5526 -static void ricoh_restore_state(168,5882 -static int ricoh_override(181,6286 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_device.h,35 -#define __ZORAN_DEVICE_H__31,1182 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/c-qcam.c,1562 -struct qcam_device qcam_device40,1252 -#define MAX_CAMS 54,1540 -#define QC_MILLIONS 57,1600 -#define QC_BILLIONS 58,1625 -#define QC_THOUSANDS 59,1650 -#define QC_DECIMATION_1 62,1759 -#define QC_DECIMATION_2 63,1786 -#define QC_DECIMATION_4 64,1813 -#define BANNER 66,1841 -static int parport[68,1897 -static int probe 69,1957 -static int force_rgb 70,1979 -static int video_nr 71,2005 -static inline void qcam_set_ack(73,2032 -static inline unsigned int qcam_ready1(80,2276 -static inline unsigned int qcam_ready2(85,2400 -static unsigned int qcam_await_ready1(90,2522 -static unsigned int qcam_await_ready2(117,3237 -static int qcam_read_data(144,3984 -static int qcam_write_data(156,4314 -static inline int qcam_set(170,4616 -static inline int qcam_get(179,4815 -static int qc_detect(186,4967 -static void qc_reset(245,6385 -static void qc_setup(257,6695 -static unsigned int qcam_read_bytes(285,7417 -#define BUFSZ 359,9102 -static long qc_capture(361,9121 -static int qcam_do_ioctl(498,11773 -static int qcam_ioctl(664,15177 -static ssize_t qcam_read(670,15350 -static struct file_operations qcam_fops 687,15804 -static struct video_device qcam_template=696,16043 -static struct qcam_device *qcam_init(707,16294 -static struct qcam_device *qcams[743,17068 -static unsigned int num_cams 744,17112 -int init_cqcam(746,17147 -void close_cqcam(803,18212 -static void cq_attach(810,18353 -static void cq_detach(815,18421 -static struct parport_driver cqcam_driver 820,18498 -static int __init cqcam_init 826,18610 -static void __exit cqcam_cleanup 833,18722 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cpia_usb.c,1450 -#define USB_REQ_CPIA_GRAB_FRAME 38,1258 -#define USB_REQ_CPIA_UPLOAD_FRAME 39,1297 -#define WAIT_FOR_NEXT_FRAME 40,1337 -#define FORCE_FRAME_UPLOAD 41,1370 -#define FRAMES_PER_DESC 43,1403 -#define FRAME_SIZE_PER_DESC 44,1431 -#define CPIA_NUMSBUF 45,1492 -#define STREAM_BUF_SIZE 46,1516 -#define SCRATCH_BUF_SIZE 47,1557 -struct cpia_sbuf cpia_sbuf49,1605 -#define FRAMEBUF_LEN 54,1659 -enum framebuf_status framebuf_status55,1706 - FRAME_EMPTY,56,1729 - FRAME_READING,57,1743 - FRAME_READY,58,1759 - FRAME_ERROR,59,1773 -struct framebuf framebuf62,1791 -struct usb_cpia usb_cpia69,1904 -#define ABOUT 95,2683 -static struct cpia_camera_ops cpia_usb_ops 97,2741 -static spinlock_t cam_list_lock_usb;110,2988 -static void cpia_usb_complete(112,3026 -static int cpia_usb_open(176,4945 -static int WritePacket(302,8411 -static int ReadPacket(319,8929 -static int cpia_usb_transferCmd(331,9289 -static int cpia_usb_registerCallback(373,10145 -static int cpia_usb_streamStart(379,10262 -static int cpia_usb_streamStop(384,10332 -static int cpia_usb_streamRead(389,10401 -static void cpia_usb_free_resources(423,11257 -static int cpia_usb_close(465,12089 -int cpia_usb_init(481,12431 -static int cpia_probe(489,12526 -static struct usb_device_id cpia_id_table 578,14700 -static struct usb_driver cpia_driver 588,14919 -static void cpia_disconnect(596,15089 -static int __init usb_cpia_init(645,16073 -static void __exit usb_cpia_cleanup(654,16296 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tea6420.h,171 -#define __INCLUDED_TEA6420__2,29 -#define I2C_TEA6420_1 5,84 -#define I2C_TEA6420_2 6,112 -struct tea6420_multiplextea6420_multiplex8,141 -#define TEA6420_SWITCH 15,285 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36060.h,4215 -#define ZR36060_H28,1085 -struct zr36060 zr3606031,1153 -#define ZR060_LOAD 57,1551 -#define ZR060_CFSR 58,1578 -#define ZR060_CIR 59,1605 -#define ZR060_CMR 60,1631 -#define ZR060_MBZ 61,1657 -#define ZR060_MBCVR 62,1683 -#define ZR060_MER 63,1711 -#define ZR060_IMR 64,1737 -#define ZR060_ISR 65,1763 -#define ZR060_TCV_NET_HI 66,1789 -#define ZR060_TCV_NET_MH 67,1821 -#define ZR060_TCV_NET_ML 68,1853 -#define ZR060_TCV_NET_LO 69,1885 -#define ZR060_TCV_DATA_HI 70,1917 -#define ZR060_TCV_DATA_MH 71,1950 -#define ZR060_TCV_DATA_ML 72,1983 -#define ZR060_TCV_DATA_LO 73,2016 -#define ZR060_SF_HI 74,2049 -#define ZR060_SF_LO 75,2077 -#define ZR060_AF_HI 76,2105 -#define ZR060_AF_M 77,2133 -#define ZR060_AF_LO 78,2160 -#define ZR060_ACV_HI 79,2188 -#define ZR060_ACV_MH 80,2217 -#define ZR060_ACV_ML 81,2246 -#define ZR060_ACV_LO 82,2275 -#define ZR060_ACT_HI 83,2304 -#define ZR060_ACT_MH 84,2333 -#define ZR060_ACT_ML 85,2362 -#define ZR060_ACT_LO 86,2391 -#define ZR060_ACV_TRUN_HI 87,2420 -#define ZR060_ACV_TRUN_MH 88,2453 -#define ZR060_ACV_TRUN_ML 89,2486 -#define ZR060_ACV_TRUN_LO 90,2519 -#define ZR060_IDR_DEV 91,2552 -#define ZR060_IDR_REV 92,2582 -#define ZR060_TCR_HI 93,2612 -#define ZR060_TCR_LO 94,2641 -#define ZR060_VCR 95,2670 -#define ZR060_VPR 96,2696 -#define ZR060_SR 97,2722 -#define ZR060_BCR_Y 98,2747 -#define ZR060_BCR_U 99,2775 -#define ZR060_BCR_V 100,2803 -#define ZR060_SGR_VTOTAL_HI 101,2831 -#define ZR060_SGR_VTOTAL_LO 102,2866 -#define ZR060_SGR_HTOTAL_HI 103,2901 -#define ZR060_SGR_HTOTAL_LO 104,2936 -#define ZR060_SGR_VSYNC 105,2971 -#define ZR060_SGR_HSYNC 106,3003 -#define ZR060_SGR_BVSTART 107,3035 -#define ZR060_SGR_BHSTART 108,3068 -#define ZR060_SGR_BVEND_HI 109,3101 -#define ZR060_SGR_BVEND_LO 110,3135 -#define ZR060_SGR_BHEND_HI 111,3169 -#define ZR060_SGR_BHEND_LO 112,3203 -#define ZR060_AAR_VSTART_HI 113,3237 -#define ZR060_AAR_VSTART_LO 114,3272 -#define ZR060_AAR_VEND_HI 115,3307 -#define ZR060_AAR_VEND_LO 116,3340 -#define ZR060_AAR_HSTART_HI 117,3373 -#define ZR060_AAR_HSTART_LO 118,3408 -#define ZR060_AAR_HEND_HI 119,3443 -#define ZR060_AAR_HEND_LO 120,3476 -#define ZR060_SWR_VSTART_HI 121,3509 -#define ZR060_SWR_VSTART_LO 122,3544 -#define ZR060_SWR_VEND_HI 123,3579 -#define ZR060_SWR_VEND_LO 124,3612 -#define ZR060_SWR_HSTART_HI 125,3645 -#define ZR060_SWR_HSTART_LO 126,3680 -#define ZR060_SWR_HEND_HI 127,3715 -#define ZR060_SWR_HEND_LO 128,3748 -#define ZR060_SOF_IDX 130,3782 -#define ZR060_SOS_IDX 131,3812 -#define ZR060_DRI_IDX 132,3842 -#define ZR060_DQT_IDX 133,3872 -#define ZR060_DHT_IDX 134,3902 -#define ZR060_APP_IDX 135,3932 -#define ZR060_COM_IDX 136,3962 -#define ZR060_LOAD_Load 140,4027 -#define ZR060_LOAD_SyncRst 141,4062 -#define ZR060_CFSR_Busy 145,4146 -#define ZR060_CFSR_CBusy 146,4181 -#define ZR060_CFSR_CFIFO 147,4216 -#define ZR060_CIR_Code16 151,4291 -#define ZR060_CIR_Endian 152,4326 -#define ZR060_CIR_CFIS 153,4361 -#define ZR060_CIR_CodeMstr 154,4395 -#define ZR060_CMR_Comp 158,4468 -#define ZR060_CMR_ATP 159,4502 -#define ZR060_CMR_Pass2 160,4535 -#define ZR060_CMR_TLM 161,4570 -#define ZR060_CMR_BRB 162,4603 -#define ZR060_CMR_FSF 163,4636 -#define ZR060_MER_App 167,4709 -#define ZR060_MER_Com 168,4742 -#define ZR060_MER_DRI 169,4775 -#define ZR060_MER_DQT 170,4808 -#define ZR060_MER_DHT 171,4841 -#define ZR060_IMR_EOAV 175,4914 -#define ZR060_IMR_EOI 176,4948 -#define ZR060_IMR_End 177,4981 -#define ZR060_IMR_DataErr 178,5014 -#define ZR060_ISR_ProCnt 182,5092 -#define ZR060_ISR_EOAV 183,5127 -#define ZR060_ISR_EOI 184,5161 -#define ZR060_ISR_End 185,5194 -#define ZR060_ISR_DataErr 186,5227 -#define ZR060_VCR_Video8 190,5302 -#define ZR060_VCR_Range 191,5337 -#define ZR060_VCR_FIDet 192,5372 -#define ZR060_VCR_FIVedge 193,5407 -#define ZR060_VCR_FIExt 194,5443 -#define ZR060_VCR_SyncMstr 195,5478 -#define ZR060_VPR_VCLKPol 199,5555 -#define ZR060_VPR_PValPol 200,5591 -#define ZR060_VPR_PoePol 201,5627 -#define ZR060_VPR_SImgPol 202,5662 -#define ZR060_VPR_BLPol 203,5698 -#define ZR060_VPR_FIPol 204,5733 -#define ZR060_VPR_HSPol 205,5768 -#define ZR060_VPR_VSPol 206,5803 -#define ZR060_SR_VScale 210,5871 -#define ZR060_SR_HScale2 211,5906 -#define ZR060_SR_HScale4 212,5941 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/w9966.c,2130 -#define DPRINTF(DPRINTF66,1999 -#define DPRINTF(DPRINTF68,2086 -#define W9966_DRIVERNAME 75,2157 -#define W9966_MAXCAMS 76,2199 -#define W9966_RBUFFER 77,2253 -#define W9966_SRAMSIZE 78,2321 -#define W9966_SRAMID 79,2361 -#define W9966_WND_MIN_X 82,2450 -#define W9966_WND_MIN_Y 83,2478 -#define W9966_WND_MAX_X 84,2506 -#define W9966_WND_MAX_Y 85,2535 -#define W9966_WND_MAX_W 86,2564 -#define W9966_WND_MAX_H 87,2625 -#define W9966_STATE_PDEV 90,2722 -#define W9966_STATE_CLAIMED 91,2752 -#define W9966_STATE_VDEV 92,2785 -#define W9966_I2C_W_ID 94,2816 -#define W9966_I2C_R_ID 95,2845 -#define W9966_I2C_R_DATA 96,2874 -#define W9966_I2C_R_CLOCK 97,2904 -#define W9966_I2C_W_DATA 98,2935 -#define W9966_I2C_W_CLOCK 99,2965 -struct w9966_dev w9966_dev101,2997 -static const char* pardev[126,3501 -static const char* pardev[128,3567 -static int parmode 136,3955 -static int video_nr 140,4082 -static struct w9966_dev w9966_cams[147,4161 -static struct file_operations w9966_fops 185,5763 -static struct video_device w9966_template 193,6021 -static inline void w9966_setState(207,6366 -static inline int w9966_getState(213,6523 -static inline void w9966_pdev_claim(219,6674 -static inline void w9966_pdev_release(228,6953 -static int w9966_rReg(239,7266 -static int w9966_wReg(260,7829 -static int w9966_init(282,8513 -static void w9966_term(350,10122 -static int w9966_findlen(376,10908 -static int w9966_calcscale(404,11401 -static int w9966_setup(442,12233 -static inline void w9966_i2c_setsda(547,15285 -static inline int w9966_i2c_getscl(560,15565 -static inline int w9966_i2c_setscl(568,15801 -static inline int w9966_i2c_getsda(593,16310 -static int w9966_i2c_wbyte(601,16547 -static int w9966_i2c_rbyte(625,16992 -static int w9966_rReg_i2c(649,17398 -static int w9966_wReg_i2c(686,18079 -static int w9966_v4l_do_ioctl(711,18504 -static int w9966_v4l_ioctl(863,21862 -static ssize_t w9966_v4l_read(870,22060 -static void w9966_attach(932,23623 -static void w9966_detach(952,24047 -static struct parport_driver w9966_ppd 961,24241 -static int __init w9966_mod_init(968,24387 -static void __exit w9966_mod_term(978,24571 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-ts.c,853 -#define TS_PACKET_SIZE 36,1165 -static unsigned int ts_debug 38,1220 -static unsigned int tsbufs 42,1340 -static unsigned int ts_nr_packets 46,1459 -#define dprintk(dprintk50,1604 -static int buffer_activate(55,1778 -static int buffer_prepare(91,2805 -buffer_setup(139,3903 -static void buffer_queue(148,4116 -static void buffer_release(156,4338 -static struct videobuf_queue_ops ts_qops 164,4547 -static void ts_reset_encoder(174,4799 -static int ts_init_encoder(183,5026 -static int ts_open(193,5259 -static int ts_release(224,5845 -ts_read(244,6265 -ts_poll(257,6567 -ts_mmap(266,6746 -static int ts_do_ioctl(278,7069 -static int ts_ioctl(421,10175 -static struct file_operations ts_fops 428,10345 -struct video_device saa7134_ts_template 444,10701 -int saa7134_ts_init1(454,10917 -int saa7134_ts_fini(489,12130 -void saa7134_irq_ts_done(497,12255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-reg.h,13268 -# define PCI_DEVICE_ID_PHILIPS_SAA7130 10,167 -# define PCI_DEVICE_ID_PHILIPS_SAA7133 13,258 -# define PCI_DEVICE_ID_PHILIPS_SAA7134 16,349 -# define PCI_DEVICE_ID_PHILIPS_SAA7135 19,440 -#define SAA7134_RS_BA1(SAA7134_RS_BA128,631 -#define SAA7134_RS_BA2(SAA7134_RS_BA229,680 -#define SAA7134_RS_PITCH(SAA7134_RS_PITCH30,736 -#define SAA7134_RS_CONTROL(SAA7134_RS_CONTROL31,787 -#define SAA7134_RS_CONTROL_WSWAP 32,840 -#define SAA7134_RS_CONTROL_BSWAP 33,889 -#define SAA7134_RS_CONTROL_BURST_2 34,938 -#define SAA7134_RS_CONTROL_BURST_4 35,989 -#define SAA7134_RS_CONTROL_BURST_8 36,1040 -#define SAA7134_RS_CONTROL_BURST_16 37,1091 -#define SAA7134_RS_CONTROL_BURST_32 38,1143 -#define SAA7134_RS_CONTROL_BURST_64 39,1195 -#define SAA7134_RS_CONTROL_BURST_MAX 40,1247 -#define SAA7134_RS_CONTROL_ME 41,1300 -#define SAA7134_FIFO_SIZE 42,1347 -#define SAA7134_THRESHOULD 43,1408 -#define SAA7134_MAIN_CTRL 46,1489 -#define SAA7134_MAIN_CTRL_VPLLE 47,1550 -#define SAA7134_MAIN_CTRL_APLLE 48,1602 -#define SAA7134_MAIN_CTRL_EXOSC 49,1654 -#define SAA7134_MAIN_CTRL_EVFE1 50,1706 -#define SAA7134_MAIN_CTRL_EVFE2 51,1758 -#define SAA7134_MAIN_CTRL_ESFE 52,1810 -#define SAA7134_MAIN_CTRL_EBADC 53,1861 -#define SAA7134_MAIN_CTRL_EBDAC 54,1912 -#define SAA7134_MAIN_CTRL_TE6 55,1963 -#define SAA7134_MAIN_CTRL_TE5 56,2006 -#define SAA7134_MAIN_CTRL_TE4 57,2049 -#define SAA7134_MAIN_CTRL_TE3 58,2092 -#define SAA7134_MAIN_CTRL_TE2 59,2135 -#define SAA7134_MAIN_CTRL_TE1 60,2178 -#define SAA7134_MAIN_CTRL_TE0 61,2221 -#define SAA7134_DMA_STATUS 64,2282 -#define SAA7134_AV_STATUS 67,2371 -#define SAA7134_AV_STATUS_STEREO 68,2412 -#define SAA7134_AV_STATUS_DUAL 69,2458 -#define SAA7134_AV_STATUS_PILOT 70,2516 -#define SAA7134_AV_STATUS_SMB 71,2574 -#define SAA7134_AV_STATUS_DMB 72,2632 -#define SAA7134_AV_STATUS_VDSP 73,2690 -#define SAA7134_AV_STATUS_IIC_STATUS 74,2748 -#define SAA7134_AV_STATUS_MVM 75,2806 -#define SAA7134_AV_STATUS_FIDT 76,2863 -#define SAA7134_AV_STATUS_INTL 77,2920 -#define SAA7134_AV_STATUS_RDCAP 78,2977 -#define SAA7134_AV_STATUS_PWR_ON 79,3034 -#define SAA7134_AV_STATUS_LOAD_ERR 80,3091 -#define SAA7134_AV_STATUS_TRIG_ERR 81,3148 -#define SAA7134_AV_STATUS_CONF_ERR 82,3205 -#define SAA7134_IRQ1 85,3279 -#define SAA7134_IRQ1_INTE_RA3_1 86,3340 -#define SAA7134_IRQ1_INTE_RA3_0 87,3398 -#define SAA7134_IRQ1_INTE_RA2_3 88,3456 -#define SAA7134_IRQ1_INTE_RA2_2 89,3514 -#define SAA7134_IRQ1_INTE_RA2_1 90,3572 -#define SAA7134_IRQ1_INTE_RA2_0 91,3630 -#define SAA7134_IRQ1_INTE_RA1_3 92,3688 -#define SAA7134_IRQ1_INTE_RA1_2 93,3746 -#define SAA7134_IRQ1_INTE_RA1_1 94,3804 -#define SAA7134_IRQ1_INTE_RA1_0 95,3862 -#define SAA7134_IRQ1_INTE_RA0_7 96,3920 -#define SAA7134_IRQ1_INTE_RA0_6 97,3978 -#define SAA7134_IRQ1_INTE_RA0_5 98,4036 -#define SAA7134_IRQ1_INTE_RA0_4 99,4094 -#define SAA7134_IRQ1_INTE_RA0_3 100,4152 -#define SAA7134_IRQ1_INTE_RA0_2 101,4210 -#define SAA7134_IRQ1_INTE_RA0_1 102,4268 -#define SAA7134_IRQ1_INTE_RA0_0 103,4326 -#define SAA7134_IRQ2 105,4385 -#define SAA7134_IRQ2_INTE_GPIO23A 106,4446 -#define SAA7134_IRQ2_INTE_GPIO23 107,4504 -#define SAA7134_IRQ2_INTE_GPIO22A 108,4562 -#define SAA7134_IRQ2_INTE_GPIO22 109,4620 -#define SAA7134_IRQ2_INTE_GPIO18A 110,4678 -#define SAA7134_IRQ2_INTE_GPIO18 111,4736 -#define SAA7134_IRQ2_INTE_GPIO16 112,4794 -#define SAA7134_IRQ2_INTE_SC2 113,4870 -#define SAA7134_IRQ2_INTE_SC1 114,4928 -#define SAA7134_IRQ2_INTE_SC0 115,4986 -#define SAA7134_IRQ2_INTE_DEC5 116,5044 -#define SAA7134_IRQ2_INTE_DEC4 117,5102 -#define SAA7134_IRQ2_INTE_DEC3 118,5160 -#define SAA7134_IRQ2_INTE_DEC2 119,5218 -#define SAA7134_IRQ2_INTE_DEC1 120,5276 -#define SAA7134_IRQ2_INTE_DEC0 121,5334 -#define SAA7134_IRQ2_INTE_PE 122,5392 -#define SAA7134_IRQ2_INTE_AR 123,5450 -#define SAA7134_IRQ_REPORT 125,5509 -#define SAA7134_IRQ_REPORT_GPIO23 126,5570 -#define SAA7134_IRQ_REPORT_GPIO22 127,5628 -#define SAA7134_IRQ_REPORT_GPIO18 128,5686 -#define SAA7134_IRQ_REPORT_GPIO16 129,5744 -#define SAA7134_IRQ_REPORT_LOAD_ERR 130,5820 -#define SAA7134_IRQ_REPORT_CONF_ERR 131,5878 -#define SAA7134_IRQ_REPORT_TRIG_ERR 132,5936 -#define SAA7134_IRQ_REPORT_MMC 133,5994 -#define SAA7134_IRQ_REPORT_FIDT 134,6052 -#define SAA7134_IRQ_REPORT_INTL 135,6110 -#define SAA7134_IRQ_REPORT_RDCAP 136,6168 -#define SAA7134_IRQ_REPORT_PWR_ON 137,6226 -#define SAA7134_IRQ_REPORT_PE 138,6284 -#define SAA7134_IRQ_REPORT_AR 139,6342 -#define SAA7134_IRQ_REPORT_DONE_RA3 140,6400 -#define SAA7134_IRQ_REPORT_DONE_RA2 141,6458 -#define SAA7134_IRQ_REPORT_DONE_RA1 142,6516 -#define SAA7134_IRQ_REPORT_DONE_RA0 143,6574 -#define SAA7134_IRQ_STATUS 144,6632 -#define SAA7134_INCR_DELAY 153,6819 -#define SAA7134_ANALOG_IN_CTRL1 154,6873 -#define SAA7134_ANALOG_IN_CTRL2 155,6927 -#define SAA7134_ANALOG_IN_CTRL3 156,6981 -#define SAA7134_ANALOG_IN_CTRL4 157,7035 -#define SAA7134_HSYNC_START 158,7089 -#define SAA7134_HSYNC_STOP 159,7143 -#define SAA7134_SYNC_CTRL 160,7197 -#define SAA7134_LUMA_CTRL 161,7251 -#define SAA7134_DEC_LUMA_BRIGHT 162,7305 -#define SAA7134_DEC_LUMA_CONTRAST 163,7359 -#define SAA7134_DEC_CHROMA_SATURATION 164,7413 -#define SAA7134_DEC_CHROMA_HUE 165,7467 -#define SAA7134_CHROMA_CTRL1 166,7521 -#define SAA7134_CHROMA_GAIN 167,7575 -#define SAA7134_CHROMA_CTRL2 168,7629 -#define SAA7134_MODE_DELAY_CTRL 169,7683 -#define SAA7134_ANALOG_ADC 171,7738 -#define SAA7134_VGATE_START 172,7792 -#define SAA7134_VGATE_STOP 173,7846 -#define SAA7134_MISC_VGATE_MSB 174,7900 -#define SAA7134_RAW_DATA_GAIN 175,7954 -#define SAA7134_RAW_DATA_OFFSET 176,8008 -#define SAA7134_STATUS_VIDEO1 177,8062 -#define SAA7134_STATUS_VIDEO2 178,8116 -#define SAA7134_SOURCE_TIMING1 181,8190 -#define SAA7134_SOURCE_TIMING2 182,8244 -#define SAA7134_REGION_ENABLE 183,8298 -#define SAA7134_SCALER_STATUS0 184,8352 -#define SAA7134_SCALER_STATUS1 185,8406 -#define SAA7134_START_GREEN 186,8460 -#define SAA7134_START_BLUE 187,8514 -#define SAA7134_START_RED 188,8568 -#define SAA7134_GREEN_PATH(SAA7134_GREEN_PATH189,8622 -#define SAA7134_BLUE_PATH(SAA7134_BLUE_PATH190,8681 -#define SAA7134_RED_PATH(SAA7134_RED_PATH191,8740 -#define TASK_A 193,8800 -#define TASK_B 194,8854 -#define SAA7134_TASK_CONDITIONS(SAA7134_TASK_CONDITIONS195,8908 -#define SAA7134_FIELD_HANDLING(SAA7134_FIELD_HANDLING196,8967 -#define SAA7134_DATA_PATH(SAA7134_DATA_PATH197,9026 -#define SAA7134_VBI_H_START1(SAA7134_VBI_H_START1198,9085 -#define SAA7134_VBI_H_START2(SAA7134_VBI_H_START2199,9144 -#define SAA7134_VBI_H_STOP1(SAA7134_VBI_H_STOP1200,9203 -#define SAA7134_VBI_H_STOP2(SAA7134_VBI_H_STOP2201,9262 -#define SAA7134_VBI_V_START1(SAA7134_VBI_V_START1202,9321 -#define SAA7134_VBI_V_START2(SAA7134_VBI_V_START2203,9380 -#define SAA7134_VBI_V_STOP1(SAA7134_VBI_V_STOP1204,9439 -#define SAA7134_VBI_V_STOP2(SAA7134_VBI_V_STOP2205,9498 -#define SAA7134_VBI_H_LEN1(SAA7134_VBI_H_LEN1206,9557 -#define SAA7134_VBI_H_LEN2(SAA7134_VBI_H_LEN2207,9616 -#define SAA7134_VBI_V_LEN1(SAA7134_VBI_V_LEN1208,9675 -#define SAA7134_VBI_V_LEN2(SAA7134_VBI_V_LEN2209,9734 -#define SAA7134_VIDEO_H_START1(SAA7134_VIDEO_H_START1211,9794 -#define SAA7134_VIDEO_H_START2(SAA7134_VIDEO_H_START2212,9853 -#define SAA7134_VIDEO_H_STOP1(SAA7134_VIDEO_H_STOP1213,9912 -#define SAA7134_VIDEO_H_STOP2(SAA7134_VIDEO_H_STOP2214,9971 -#define SAA7134_VIDEO_V_START1(SAA7134_VIDEO_V_START1215,10030 -#define SAA7134_VIDEO_V_START2(SAA7134_VIDEO_V_START2216,10089 -#define SAA7134_VIDEO_V_STOP1(SAA7134_VIDEO_V_STOP1217,10148 -#define SAA7134_VIDEO_V_STOP2(SAA7134_VIDEO_V_STOP2218,10207 -#define SAA7134_VIDEO_PIXELS1(SAA7134_VIDEO_PIXELS1219,10266 -#define SAA7134_VIDEO_PIXELS2(SAA7134_VIDEO_PIXELS2220,10325 -#define SAA7134_VIDEO_LINES1(SAA7134_VIDEO_LINES1221,10384 -#define SAA7134_VIDEO_LINES2(SAA7134_VIDEO_LINES2222,10443 -#define SAA7134_H_PRESCALE(SAA7134_H_PRESCALE224,10503 -#define SAA7134_ACC_LENGTH(SAA7134_ACC_LENGTH225,10562 -#define SAA7134_LEVEL_CTRL(SAA7134_LEVEL_CTRL226,10621 -#define SAA7134_FIR_PREFILTER_CTRL(SAA7134_FIR_PREFILTER_CTRL227,10680 -#define SAA7134_LUMA_BRIGHT(SAA7134_LUMA_BRIGHT228,10739 -#define SAA7134_LUMA_CONTRAST(SAA7134_LUMA_CONTRAST229,10798 -#define SAA7134_CHROMA_SATURATION(SAA7134_CHROMA_SATURATION230,10857 -#define SAA7134_VBI_H_SCALE_INC1(SAA7134_VBI_H_SCALE_INC1231,10916 -#define SAA7134_VBI_H_SCALE_INC2(SAA7134_VBI_H_SCALE_INC2232,10975 -#define SAA7134_VBI_PHASE_OFFSET_LUMA(SAA7134_VBI_PHASE_OFFSET_LUMA233,11034 -#define SAA7134_VBI_PHASE_OFFSET_CHROMA(SAA7134_VBI_PHASE_OFFSET_CHROMA234,11093 -#define SAA7134_H_SCALE_INC1(SAA7134_H_SCALE_INC1235,11152 -#define SAA7134_H_SCALE_INC2(SAA7134_H_SCALE_INC2236,11211 -#define SAA7134_H_PHASE_OFF_LUMA(SAA7134_H_PHASE_OFF_LUMA237,11270 -#define SAA7134_H_PHASE_OFF_CHROMA(SAA7134_H_PHASE_OFF_CHROMA238,11329 -#define SAA7134_V_SCALE_RATIO1(SAA7134_V_SCALE_RATIO1239,11388 -#define SAA7134_V_SCALE_RATIO2(SAA7134_V_SCALE_RATIO2240,11447 -#define SAA7134_V_FILTER(SAA7134_V_FILTER241,11506 -#define SAA7134_V_PHASE_OFFSET0(SAA7134_V_PHASE_OFFSET0242,11565 -#define SAA7134_V_PHASE_OFFSET1(SAA7134_V_PHASE_OFFSET1243,11624 -#define SAA7134_V_PHASE_OFFSET2(SAA7134_V_PHASE_OFFSET2244,11683 -#define SAA7134_V_PHASE_OFFSET3(SAA7134_V_PHASE_OFFSET3245,11742 -#define SAA7134_OFMT_VIDEO_A 248,11823 -#define SAA7134_OFMT_DATA_A 249,11877 -#define SAA7134_OFMT_VIDEO_B 250,11931 -#define SAA7134_OFMT_DATA_B 251,11985 -#define SAA7134_ALPHA_NOCLIP 252,12039 -#define SAA7134_ALPHA_CLIP 253,12093 -#define SAA7134_UV_PIXEL 254,12147 -#define SAA7134_CLIP_RED 255,12201 -#define SAA7134_CLIP_GREEN 256,12255 -#define SAA7134_CLIP_BLUE 257,12309 -#define SAA7134_I2C_ATTR_STATUS 260,12378 -#define SAA7134_I2C_DATA 261,12432 -#define SAA7134_I2C_CLOCK_SELECT 262,12486 -#define SAA7134_I2C_TIMER 263,12540 -#define SAA7134_NICAM_ADD_DATA1 266,12607 -#define SAA7134_NICAM_ADD_DATA2 267,12661 -#define SAA7134_NICAM_STATUS 268,12715 -#define SAA7134_AUDIO_STATUS 269,12769 -#define SAA7134_NICAM_ERROR_COUNT 270,12823 -#define SAA7134_IDENT_SIF 271,12877 -#define SAA7134_LEVEL_READOUT1 272,12931 -#define SAA7134_LEVEL_READOUT2 273,12985 -#define SAA7134_NICAM_ERROR_LOW 274,13039 -#define SAA7134_NICAM_ERROR_HIGH 275,13093 -#define SAA7134_DCXO_IDENT_CTRL 276,13147 -#define SAA7134_DEMODULATOR 277,13201 -#define SAA7134_AGC_GAIN_SELECT 278,13255 -#define SAA7134_CARRIER1_FREQ0 279,13309 -#define SAA7134_CARRIER1_FREQ1 280,13363 -#define SAA7134_CARRIER1_FREQ2 281,13417 -#define SAA7134_CARRIER2_FREQ0 282,13471 -#define SAA7134_CARRIER2_FREQ1 283,13525 -#define SAA7134_CARRIER2_FREQ2 284,13579 -#define SAA7134_NUM_SAMPLES0 285,13633 -#define SAA7134_NUM_SAMPLES1 286,13687 -#define SAA7134_NUM_SAMPLES2 287,13741 -#define SAA7134_AUDIO_FORMAT_CTRL 288,13795 -#define SAA7134_MONITOR_SELECT 289,13849 -#define SAA7134_FM_DEEMPHASIS 290,13903 -#define SAA7134_FM_DEMATRIX 291,13957 -#define SAA7134_CHANNEL1_LEVEL 292,14011 -#define SAA7134_CHANNEL2_LEVEL 293,14065 -#define SAA7134_NICAM_CONFIG 294,14119 -#define SAA7134_NICAM_LEVEL_ADJUST 295,14173 -#define SAA7134_STEREO_DAC_OUTPUT_SELECT 296,14227 -#define SAA7134_I2S_OUTPUT_FORMAT 297,14281 -#define SAA7134_I2S_OUTPUT_SELECT 298,14335 -#define SAA7134_I2S_OUTPUT_LEVEL 299,14389 -#define SAA7134_DSP_OUTPUT_SELECT 300,14443 -#define SAA7134_AUDIO_MUTE_CTRL 301,14497 -#define SAA7134_SIF_SAMPLE_FREQ 302,14551 -#define SAA7134_ANALOG_IO_SELECT 303,14605 -#define SAA7134_AUDIO_CLOCK0 304,14659 -#define SAA7134_AUDIO_CLOCK1 305,14713 -#define SAA7134_AUDIO_CLOCK2 306,14767 -#define SAA7134_AUDIO_PLL_CTRL 307,14821 -#define SAA7134_AUDIO_CLOCKS_PER_FIELD0 308,14875 -#define SAA7134_AUDIO_CLOCKS_PER_FIELD1 309,14929 -#define SAA7134_AUDIO_CLOCKS_PER_FIELD2 310,14983 -#define SAA7134_VIDEO_PORT_CTRL0 313,15062 -#define SAA7134_VIDEO_PORT_CTRL1 314,15116 -#define SAA7134_VIDEO_PORT_CTRL2 315,15170 -#define SAA7134_VIDEO_PORT_CTRL3 316,15224 -#define SAA7134_VIDEO_PORT_CTRL4 317,15278 -#define SAA7134_VIDEO_PORT_CTRL5 318,15332 -#define SAA7134_VIDEO_PORT_CTRL6 319,15386 -#define SAA7134_VIDEO_PORT_CTRL7 320,15440 -#define SAA7134_VIDEO_PORT_CTRL8 321,15494 -#define SAA7134_TS_PARALLEL 324,15582 -#define SAA7134_TS_PARALLEL_SERIAL 325,15636 -#define SAA7134_TS_SERIAL0 326,15690 -#define SAA7134_TS_SERIAL1 327,15744 -#define SAA7134_TS_DMA0 328,15798 -#define SAA7134_TS_DMA1 329,15852 -#define SAA7134_TS_DMA2 330,15906 -#define SAA7134_GPIO_GPRESCAN 333,15981 -#define SAA7134_GPIO_27_25 334,16034 -#define SAA7134_GPIO_GPMODE0 336,16088 -#define SAA7134_GPIO_GPMODE1 337,16142 -#define SAA7134_GPIO_GPMODE2 338,16196 -#define SAA7134_GPIO_GPMODE3 339,16250 -#define SAA7134_GPIO_GPSTATUS0 340,16304 -#define SAA7134_GPIO_GPSTATUS1 341,16358 -#define SAA7134_GPIO_GPSTATUS2 342,16412 -#define SAA7134_GPIO_GPSTATUS3 343,16466 -#define SAA7134_I2S_AUDIO_OUTPUT 346,16538 -#define SAA7134_SPECIAL_MODE 349,16610 -#define SAA7135_DSP_RWSTATE 352,16703 -#define SAA7135_DSP_RWSTATE_ERR 353,16757 -#define SAA7135_DSP_RWSTATE_IDA 354,16814 -#define SAA7135_DSP_RWSTATE_RDB 355,16871 -#define SAA7135_DSP_RWSTATE_WRR 356,16928 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-video.c,2845 -#define V4L2_I2C_CLIENTS 31,1036 -static unsigned int video_debug 35,1138 -static unsigned int gbuffers 36,1177 -static unsigned int noninterlaced 37,1216 -static unsigned int gbufsize 38,1255 -static unsigned int gbufsize_max 39,1302 -#define dprintk(dprintk47,1634 -static int video_out[53,1887 -static struct saa7134_format formats[57,1994 -#define FORMATS 151,3983 -#define NORM_625_50 153,4020 -#define NORM_525_60 162,4216 -static struct saa7134_tvnorm tvnorms[171,4440 -#define TVNORMS 270,6401 -#define V4L2_CID_PRIVATE_INVERT 272,6438 -#define V4L2_CID_PRIVATE_Y_ODD 273,6503 -#define V4L2_CID_PRIVATE_Y_EVEN 274,6568 -#define V4L2_CID_PRIVATE_AUTOMUTE 275,6633 -#define V4L2_CID_PRIVATE_LASTP1 276,6698 -static const struct v4l2_queryctrl no_ctrl 278,6764 -static const struct v4l2_queryctrl video_ctrls[282,6865 -static const unsigned int CTRLS 369,9114 -static const struct v4l2_queryctrl* ctrl_by_id(371,9174 -static struct saa7134_format* format_by_fourcc(381,9361 -static int res_get(394,9710 -int res_check(416,10146 -int res_locked(422,10244 -void res_free(428,10346 -static void set_tvnorm(442,10673 -static void video_mux(522,13502 -static void set_h_prescale(530,13739 -static void set_v_scale(568,14731 -static void set_size(593,15535 -struct cliplist cliplist642,17531 -static void sort_cliplist(648,17601 -static void set_cliplist(667,17923 -static int clip_range(693,18571 -static int setup_clipping(700,18645 -static int verify_preview(731,19546 -static int start_preview(773,20537 -static int stop_preview(828,22192 -static int buffer_activate(837,22401 -static int buffer_prepare(919,24974 -buffer_setup(981,26658 -static void buffer_queue(992,26933 -static void buffer_release(1000,27164 -static struct videobuf_queue_ops video_qops 1008,27375 -static int get_control(1017,27629 -static int set_control(1064,28600 -static struct videobuf_queue* saa7134_queue(1158,31189 -static int saa7134_resource(1175,31469 -static int video_open(1192,31729 -video_read(1264,33638 -video_poll(1287,34202 -static int video_release(1327,35458 -video_mmap(1372,36530 -void saa7134_vbi_fmt(1381,36768 -int saa7134_g_fmt(1404,37456 -int saa7134_try_fmt(1430,38151 -int saa7134_s_fmt(1495,39607 -int saa7134_common_ioctl(1544,40732 -static int video_do_ioctl(1635,42723 -static int video_ioctl(2082,52959 -static int radio_do_ioctl(2088,53136 -static int radio_ioctl(2199,55343 -static struct file_operations video_fops 2205,55520 -static struct file_operations radio_fops 2217,55765 -struct video_device saa7134_video_template 2229,56072 -struct video_device saa7134_vbi_template 2239,56353 -struct video_device saa7134_radio_template 2248,56561 -int saa7134_video_init1(2257,56755 -int saa7134_video_init2(2303,58684 -int saa7134_video_fini(2313,58899 -void saa7134_irq_video_intl(2319,58978 -void saa7134_irq_video_done(2342,59550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-cards.c,523 -static char name_mute[29,981 -static char name_radio[30,1018 -static char name_tv[31,1056 -static char name_tv_mono[32,1099 -static char name_comp1[33,1146 -static char name_comp2[34,1189 -static char name_comp3[35,1232 -static char name_comp4[36,1275 -static char name_svideo[37,1318 -struct saa7134_board saa7134_boards[42,1506 -const unsigned int saa7134_bcount 1095,27746 -struct pci_device_id saa7134_pci_tbl[1100,27958 -} fly_list[1360,37810 -static void board_flyvideo(1382,38236 -int saa7134_board_init(1404,38964 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-vbi.c,551 -static unsigned int vbi_debug 33,1110 -static unsigned int vbibufs 37,1234 -#define dprintk(dprintk41,1357 -#define VBI_LINE_COUNT 46,1533 -#define VBI_LINE_LENGTH 47,1563 -#define VBI_SCALE 48,1593 -static void task_init(50,1624 -static int buffer_activate(80,2952 -static int buffer_prepare(116,3986 -buffer_setup(170,5304 -static void buffer_queue(191,5836 -static void buffer_release(200,6093 -struct videobuf_queue_ops saa7134_vbi_qops 209,6338 -int saa7134_vbi_init1(218,6591 -int saa7134_vbi_fini(233,6971 -void saa7134_irq_vbi_done(239,7048 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-core.c,2246 -#define SAA7134_MAXBOARDS 38,1256 -static unsigned int irq_debug 42,1359 -static unsigned int core_debug 46,1490 -static unsigned int gpio_tracking 50,1617 -static unsigned int video_nr[54,1753 -static unsigned int ts_nr[58,1944 -static unsigned int vbi_nr[62,2123 -static unsigned int radio_nr[66,2306 -static unsigned int oss 70,2497 -static unsigned int dsp_nr[74,2609 -static unsigned int mixer_nr[78,2796 -static unsigned int tuner[82,2991 -static unsigned int card[86,3164 -static unsigned int latency 90,3333 -struct list_head saa7134_devlist;94,3444 -unsigned int saa7134_devcount;95,3479 -#define dprintk(dprintk97,3516 -static const char *v4l1_ioctls[103,3767 -#define V4L1_IOCTLS 109,4109 -static const char *v4l2_ioctls[111,4154 -#define V4L2_IOCTLS 123,4787 -static const char *osspcm_ioctls[125,4832 -#define OSSPCM_IOCTLS 132,5155 -void saa7134_print_ioctl(134,5202 -void saa7134_track_gpio(171,6374 -static char *dec1_bits[190,7041 -static char *dec2_bits[194,7138 -static char *scale1_bits[198,7240 -static char *scale2_bits[201,7323 -static void dump_statusreg(206,7434 -static void dump_statusregs(221,7764 -int saa7134_buffer_pages(233,8211 -int saa7134_buffer_count(243,8467 -int saa7134_buffer_startpage(253,8667 -unsigned long saa7134_buffer_base(258,8783 -int saa7134_pgtable_alloc(269,9043 -int saa7134_pgtable_build(283,9370 -void saa7134_pgtable_free(299,9789 -void saa7134_dma_free(309,10047 -int saa7134_buffer_queue(322,10378 -void saa7134_buffer_finish(352,11082 -void saa7134_buffer_next(368,11448 -void saa7134_buffer_timeout(399,12287 -int saa7134_set_dmabits(424,12995 -static char *irqbits[529,15905 -#define IRQBITS 535,16117 -static void print_irqstatus(537,16154 -static irqreturn_t saa7134_irq(559,16752 -static int saa7134_hwinit1(631,18678 -static int saa7134_hwinit2(680,19885 -static int saa7134_hwfini(708,20583 -static void __devinit must_configure_manually(728,21001 -static struct video_device *vdev_init(755,21941 -static void saa7134_unregister_video(773,22393 -static int __devinit saa7134_initdev(805,23147 -static void __devexit saa7134_finidev(1031,29729 -static struct pci_driver saa7134_pci_driver 1084,30999 -static int saa7134_init(1091,31193 -static void saa7134_fini(1105,31654 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-input.c,468 -static unsigned int disable_ir 30,986 -static unsigned int ir_debug 34,1116 -#define dprintk(dprintk38,1235 -static IR_KEYTAB_TYPE flyvideo_codes[43,1413 -static IR_KEYTAB_TYPE cinergy_codes[74,2255 -static IR_KEYTAB_TYPE eztv_codes[116,3386 -static IR_KEYTAB_TYPE avacssmart_codes[171,5396 -static int build_key(214,6498 -void saa7134_input_irq(245,7422 -static void saa7134_input_timer(253,7565 -int saa7134_input_init1(264,7837 -void saa7134_input_fini(358,10285 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-i2c.c,1650 -static unsigned int i2c_debug 34,1122 -static unsigned int i2c_scan 38,1245 -#define d1printk 42,1365 -#define d2printk 43,1409 -#define I2C_WAIT_DELAY 45,1454 -#define I2C_WAIT_RETRY 46,1481 -static char *str_i2c_status[50,1576 -enum i2c_status i2c_status56,1803 - IDLE 57,1821 - DONE_STOP 58,1868 - BUSY 59,1927 - TO_SCL 60,1973 - TO_ARB 61,2049 - DONE_WRITE 62,2117 - DONE_READ 63,2190 - DONE_WRITE_TO 64,2262 - DONE_READ_TO 65,2321 - NO_DEVICE 66,2380 - NO_ACKN 67,2443 - BUS_ERR 68,2507 - ARB_LOST 69,2541 - SEQ_ERR 70,2598 - ST_ERR 71,2653 - SW_ERR 72,2698 -static char *str_i2c_attr[75,2741 -enum i2c_attr i2c_attr79,2813 - NOP 80,2829 - STOP 81,2877 - CONTINUE 82,2945 - START 83,2997 -static inline enum i2c_status i2c_get_status(86,3060 -static inline void i2c_set_status(96,3314 -static inline void i2c_set_attr(104,3541 -static inline int i2c_is_error(111,3755 -static inline int i2c_is_idle(126,3970 -static inline int i2c_is_busy(137,4121 -static int i2c_is_busy_wait(147,4255 -static int i2c_reset(163,4564 -static inline int i2c_send_byte(190,5090 -static inline int i2c_recv_byte(220,5784 -static int saa7134_i2c_xfer(236,6154 -static int algo_control(303,7661 -static u32 functionality(309,7771 -static void inc_use(315,7872 -static void dec_use(320,7943 -static int attach_inform(326,8021 -static struct i2c_algorithm saa7134_algo 337,8332 -static struct i2c_adapter saa7134_adap_template 345,8547 -static struct i2c_client saa7134_client_template 361,8918 -saa7134_i2c_eeprom(369,9112 -saa7134_i2c_scan(397,9806 -void saa7134_i2c_call_clients(413,10143 -int saa7134_i2c_register(420,10331 -int saa7134_i2c_unregister(437,10775 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-tvaudio.c,1570 -static unsigned int audio_debug 36,1199 -static unsigned int audio_ddep 40,1333 -static int audio_clock_override 44,1452 -static int audio_clock_tweak 47,1534 -#define dprintk(dprintk51,1748 -#define d2printk(d2printk53,1853 -#define print_regb(print_regb56,1963 -#define SCAN_INITIAL_DELAY 59,2098 -#define SCAN_SAMPLE_DELAY 60,2134 -#define SCAN_SUBCARRIER_DELAY 61,2172 -static struct mainscan mainscan66,2358 -} mainscan[70,2443 -static struct saa7134_tvaudio tvaudio[90,2751 -#define TVAUDIO 159,4599 -static void tvaudio_init(163,4739 -static u32 tvaudio_carr2reg(188,5466 -static void tvaudio_setcarrier(197,5571 -static void mute_input_7134(206,5855 -static void tvaudio_setmode(258,7405 -static int tvaudio_sleep(321,9572 -static int tvaudio_checkcarrier(337,9997 -static void sifdebug_dump_regs(386,11357 -static int tvaudio_getstereo(403,11764 -static int tvaudio_setstereo(451,13138 -static int tvaudio_thread(488,14077 -static char *stdres[630,17995 -#define DSP_RETRY 658,18633 -#define DSP_DELAY 659,18654 -static inline int saa_dsp_wait_bit(661,18676 -static int saa_dsp_readl(689,19388 -int saa_dsp_writel(707,19798 -static int getstereo_7133(722,20134 -static int mute_input_7133(735,20436 -static int tvaudio_thread_ddep(750,20712 -int saa7134_tvaudio_rx2mode(850,23773 -void saa7134_tvaudio_setmute(864,24076 -void saa7134_tvaudio_setinput(878,24381 -void saa7134_tvaudio_setvolume(894,24740 -int saa7134_tvaudio_getstereo(905,25058 -int saa7134_tvaudio_init2(922,25432 -int saa7134_tvaudio_fini(964,26506 -int saa7134_tvaudio_do_scan(976,26810 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134-oss.c,974 -static unsigned int oss_debug 34,1129 -static unsigned int oss_rate 38,1253 -#define dprintk(dprintk42,1383 -static int dsp_buffer_conf(47,1559 -static int dsp_buffer_init(71,2122 -static int dsp_buffer_free(85,2409 -static void dsp_dma_start(96,2614 -static void dsp_dma_stop(103,2751 -static int dsp_rec_start(110,2888 -static int dsp_rec_stop(209,5430 -static int dsp_open(229,5909 -static int dsp_release(270,6695 -static ssize_t dsp_read(284,6989 -static ssize_t dsp_write(357,8722 -static int dsp_ioctl(363,8847 -static unsigned int dsp_poll(502,12074 -struct file_operations saa7134_dsp_fops 519,12457 -mixer_recsrc_7134(533,12775 -mixer_recsrc_7133(555,13326 -mixer_recsrc(575,13651 -mixer_level(596,14120 -static int mixer_open(624,14739 -static int mixer_release(642,15114 -static int mixer_ioctl(648,15223 -struct file_operations saa7134_mixer_fops 750,18245 -int saa7134_oss_init1(760,18493 -int saa7134_oss_fini(791,19216 -void saa7134_irq_oss_done(797,19293 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa7134.h,3877 -#define SAA7134_VERSION_CODE 22,853 -# define TRUE 39,1201 -# define FALSE 42,1243 -#define UNSET 44,1272 -enum saa7134_tvaudio_mode saa7134_tvaudio_mode51,1470 - TVAUDIO_FM_MONO 52,1498 - TVAUDIO_FM_BG_STEREO 53,1526 - TVAUDIO_FM_SAT_STEREO 54,1554 - TVAUDIO_FM_K_STEREO 55,1582 - TVAUDIO_NICAM_AM 56,1610 - TVAUDIO_NICAM_FM 57,1638 -enum saa7134_audio_in saa7134_audio_in60,1670 - TV 61,1694 - LINE1 62,1706 - LINE2 63,1718 -enum saa7134_video_out saa7134_video_out66,1734 - CCIR656 67,1759 -struct saa7134_tvnorm saa7134_tvnorm73,1910 -struct saa7134_tvaudio saa7134_tvaudio95,2381 -struct saa7134_format saa7134_format103,2533 -#define SAA7134_BOARD_NOAUTO 120,3053 -#define SAA7134_BOARD_UNKNOWN 121,3095 -#define SAA7134_BOARD_PROTEUS_PRO 122,3137 -#define SAA7134_BOARD_FLYVIDEO3000 123,3179 -#define SAA7134_BOARD_FLYVIDEO2000 124,3221 -#define SAA7134_BOARD_EMPRESS 125,3263 -#define SAA7134_BOARD_MONSTERTV 126,3305 -#define SAA7134_BOARD_MD9717 127,3347 -#define SAA7134_BOARD_TVSTATION_RDS 128,3389 -#define SAA7134_BOARD_CINERGY400 129,3431 -#define SAA7134_BOARD_MD5044 130,3466 -#define SAA7134_BOARD_KWORLD 131,3498 -#define SAA7134_BOARD_CINERGY600 132,3540 -#define SAA7134_BOARD_MD7134 133,3582 -#define SAA7134_BOARD_TYPHOON_90031 134,3624 -#define SAA7134_BOARD_ELSA 135,3666 -#define SAA7134_BOARD_ELSA_500TV 136,3708 -#define SAA7134_BOARD_ASUSTeK_TVFM7134 137,3750 -#define SAA7134_BOARD_VA1000POWER 138,3792 -#define SAA7134_BOARD_BMK_MPEX_NOTUNER 139,3834 -#define SAA7134_BOARD_VIDEOMATE_TV 140,3876 -#define SAA7134_BOARD_CRONOS_PLUS 141,3918 -#define SAA7134_BOARD_10MOONSTVMASTER 142,3960 -#define SAA7134_BOARD_MD2819 143,4002 -#define SAA7134_BOARD_BMK_MPEX_TUNER 144,4044 -#define SAA7134_BOARD_TVSTATION_DVR 145,4086 -#define SAA7134_BOARD_ASUSTEK_TVFM7133 146,4128 -#define SAA7134_BOARD_PINNACLE_PCTV_STEREO 147,4170 -#define SAA7134_BOARD_MANLI_MTV002 148,4216 -#define SAA7134_BOARD_MANLI_MTV001 149,4258 -#define SAA7134_BOARD_TG3000TV 150,4300 -#define SAA7134_BOARD_ECS_TVP3XP 151,4342 -#define SAA7134_BOARD_ECS_TVP3XP_4CB5 152,4384 -#define SAA7134_BOARD_AVACSSMARTTV 153,4426 -#define SAA7134_BOARD_AVERMEDIA_DVD_EZMAKER 154,4468 -#define SAA7134_BOARD_NOVAC_PRIMETV7133 155,4515 -#define SAA7134_BOARD_AVERMEDIA_305 156,4558 -#define SAA7133_BOARD_UPMOST_PURPLE_TV 157,4600 -#define SAA7134_BOARD_ITEMS_MTV005 158,4642 -#define SAA7134_BOARD_CINERGY200 159,4684 -#define SAA7134_BOARD_FLYTVPLATINUM 160,4726 -#define SAA7134_BOARD_VIDEOMATE_TV_PVR 161,4768 -#define SAA7134_INPUT_MAX 163,4811 -struct saa7134_input saa7134_input165,4840 -struct saa7134_board saa7134_board173,5023 -#define card_has_radio(card_has_radio192,5485 -#define card_has_ts(card_has_ts193,5563 -#define card(card194,5629 -#define card_in(card_in195,5688 -#define RESOURCE_OVERLAY 200,5891 -#define RESOURCE_VIDEO 201,5924 -#define RESOURCE_VBI 202,5957 -#define INTERLACE_AUTO 204,5991 -#define INTERLACE_ON 205,6024 -#define INTERLACE_OFF 206,6057 -#define BUFFER_TIMEOUT 208,6091 -struct saa7134_pgtable saa7134_pgtable214,6211 -struct saa7134_thread saa7134_thread221,6369 -struct saa7134_buf saa7134_buf232,6678 -struct saa7134_dmaqueue saa7134_dmaqueue247,7020 -struct saa7134_fh saa7134_fh256,7259 -struct saa7134_ts saa7134_ts282,7888 -struct saa7134_oss saa7134_oss292,8073 -struct saa7134_ir saa7134_ir322,8953 -struct saa7134_dev saa7134_dev336,9401 -#define saa_readl(saa_readl421,12071 -#define saa_writel(saa_writel422,12132 -#define saa_andorl(saa_andorl423,12204 -#define saa_setl(saa_setl426,12329 -#define saa_clearl(saa_clearl427,12394 -#define saa_readb(saa_readb429,12456 -#define saa_writeb(saa_writeb430,12517 -#define saa_andorb(saa_andorb431,12589 -#define saa_setb(saa_setb434,12714 -#define saa_clearb(saa_clearb435,12779 -#define saa_wait(saa_wait437,12841 -#define SAA7134_PGTABLE_SIZE 448,13214 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7134/saa6752hs.c,1115 -static unsigned short normal_i2c[19,403 -static unsigned short normal_i2c_range[20,464 -I2C_CLIENT_INSMOD;21,525 -static struct i2c_driver driver;27,670 -static struct i2c_client client_template;28,703 -enum saa6752hs_command saa6752hs_command31,747 - SAA6752HS_COMMAND_RESET 32,772 - SAA6752HS_COMMAND_STOP 33,802 - SAA6752HS_COMMAND_START 34,835 - SAA6752HS_COMMAND_PAUSE 35,869 - SAA6752HS_COMMAND_RECONFIGURE 36,903 - SAA6752HS_COMMAND_SLEEP 37,943 - SAA6752HS_COMMAND_RECONFIGURE_FORCE 38,977 - SAA6752HS_COMMAND_MAX40,1024 -static u8 PAT[46,1130 -static u8 PMT[72,1825 -static struct mpeg_params mpeg_params_template 101,2670 -static int saa6752hs_chip_command(113,2944 -static int saa6752hs_set_bitrate(184,4209 -static int saa6752hs_init(230,5378 -static int saa6752hs_attach(311,7443 -static int saa6752hs_probe(336,8203 -static int saa6752hs_detach(343,8368 -saa6752hs_command(355,8558 -static struct i2c_driver driver 373,8897 -static struct i2c_client client_template 383,9248 -static int __init saa6752hs_init_module(390,9400 -static void __exit saa6752hs_cleanup_module(395,9484 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7111.c,1001 -#define I2C_NAME(I2C_NAME58,1804 -static int debug 62,1869 -#define dprintk(dprintk66,1963 -struct saa7111 saa711174,2155 -#define I2C_SAA7111 86,2285 -saa7111_write 91,2417 -saa7111_write_block 102,2680 -saa7111_init_decoder 149,3741 -saa7111_read 156,3913 -static const unsigned char saa7111_i2c_init[164,4116 -saa7111_command 205,5513 -static unsigned short normal_i2c[484,11323 -static unsigned short normal_i2c_range[485,11398 -static unsigned short probe[487,11462 -static unsigned short probe_range[488,11531 -static unsigned short ignore[489,11606 -static unsigned short ignore_range[490,11676 -static unsigned short force[491,11752 -static struct i2c_client_address_data addr_data 493,11903 -static int saa7111_i2c_id 503,12146 -static struct i2c_driver i2c_driver_saa7111;504,12177 -saa7111_detect_client 507,12234 -saa7111_attach_adapter 577,13957 -saa7111_detach_client 587,14204 -static struct i2c_driver i2c_driver_saa7111 605,14513 -saa7111_init 618,14796 -saa7111_exit 624,14885 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran.h,3578 -#define _BUZ_H_32,1078 -struct zoran_requestbuffers zoran_requestbuffers34,1095 -struct zoran_sync zoran_sync39,1246 -struct zoran_status zoran_status46,1502 -struct zoran_params zoran_params53,1782 -#define JPEG_MARKER_DHT 111,4131 -#define JPEG_MARKER_DQT 112,4190 -#define JPEG_MARKER_DRI 113,4254 -#define JPEG_MARKER_COM 114,4315 -#define JPEG_MARKER_APP 115,4368 -#define BUZIOC_G_PARAMS 132,4911 -#define BUZIOC_S_PARAMS 133,4996 -#define BUZIOC_REQBUFS 134,5081 -#define BUZIOC_QBUF_CAPT 135,5174 -#define BUZIOC_QBUF_PLAY 136,5243 -#define BUZIOC_SYNC 137,5312 -#define BUZIOC_G_STATUS 138,5395 -#define MAJOR_VERSION 143,5501 -#define MINOR_VERSION 144,5553 -#define RELEASE_VERSION 145,5605 -#define ZORAN_NAME 147,5654 -#define ZR_DEVNAME(ZR_DEVNAME149,5710 -#define BUZ_MAX_WIDTH 151,5747 -#define BUZ_MAX_HEIGHT 152,5790 -#define BUZ_MIN_WIDTH 153,5833 -#define BUZ_MIN_HEIGHT 154,5903 -#define BUZ_NUM_STAT_COM 156,5972 -#define BUZ_MASK_STAT_COM 157,6002 -#define BUZ_MAX_FRAME 159,6033 -#define BUZ_MASK_FRAME 160,6090 -#define BUZ_MAX_INPUT 162,6151 -# define V4L_MAX_FRAME 165,6208 -# define V4L_MAX_FRAME 167,6268 -#define V4L_MASK_FRAME 171,6366 -#define MAX_KMALLOC_MEM 173,6414 -enum card_type card_type177,6472 - UNKNOWN 178,6489 - DC10_old,181,6526 - DC10_new,182,6554 - DC10plus,183,6586 - DC30,184,6597 - DC30plus,185,6604 - LML33,188,6640 - LML33R10,189,6648 - BUZ,192,6674 - NUM_CARDS195,6710 -enum zoran_codec_mode zoran_codec_mode198,6725 - BUZ_MODE_IDLE,199,6749 - BUZ_MODE_MOTION_COMPRESS,200,6789 - BUZ_MODE_MOTION_DECOMPRESS,201,6838 - BUZ_MODE_STILL_COMPRESS,202,6888 - BUZ_MODE_STILL_DECOMPRESS 203,6943 -enum zoran_buffer_state zoran_buffer_state206,7003 - BUZ_STATE_USER,207,7029 - BUZ_STATE_PEND,208,7084 - BUZ_STATE_DMA,209,7156 - BUZ_STATE_DONE 210,7213 -enum zoran_map_mode zoran_map_mode213,7281 - ZORAN_MAP_MODE_RAW,214,7303 - ZORAN_MAP_MODE_JPG_REC,215,7324 -#define ZORAN_MAP_MODE_JPG 216,7349 - ZORAN_MAP_MODE_JPG_PLAY,217,7399 -enum gpio_type gpio_type220,7429 - GPIO_JPEG_SLEEP 221,7446 - GPIO_JPEG_RESET,222,7468 - GPIO_JPEG_FRAME,223,7486 - GPIO_VID_DIR,224,7504 - GPIO_VID_EN,225,7519 - GPIO_VID_RESET,226,7533 - GPIO_CLK_SEL1,227,7550 - GPIO_CLK_SEL2,228,7566 - GPIO_MAX,229,7582 -enum gpcs_type gpcs_type232,7597 - GPCS_JPEG_RESET 233,7614 - GPCS_JPEG_START,234,7636 - GPCS_MAX,235,7654 -struct zoran_format zoran_format238,7669 -#define ZORAN_FORMAT_COMPRESSED 247,7791 -#define ZORAN_FORMAT_OVERLAY 248,7828 -#define ZORAN_FORMAT_CAPTURE 249,7865 -#define ZORAN_FORMAT_PLAYBACK 250,7899 -struct zoran_overlay_settings zoran_overlay_settings253,7958 -struct zoran_v4l_settings zoran_v4l_settings261,8184 -struct v4l2_jpegcompression v4l2_jpegcompression268,8390 -struct zoran_jpg_settings zoran_jpg_settings281,8603 -struct zoran_mapping zoran_mapping289,9053 -struct zoran_jpg_buffer zoran_jpg_buffer294,9112 -struct zoran_v4l_buffer zoran_v4l_buffer302,9440 -enum zoran_lock_activity zoran_lock_activity311,9819 - ZORAN_FREE,312,9846 - ZORAN_ACTIVE,313,9879 - ZORAN_LOCKED,314,9921 -struct zoran_jpg_struct zoran_jpg_struct318,9979 -struct zoran_v4l_struct zoran_v4l_struct327,10341 -struct zoran_fh zoran_fh338,10699 -struct card_info card_info354,11296 - struct input input363,11598 -struct zoran zoran385,12002 -#define NO_GRAB_ACTIVE 428,13541 -#define btwrite(btwrite502,16043 -#define btread(btread503,16118 -#define btwrite(btwrite505,16181 -#define btread(btread506,16257 -#define btand(btand509,16322 -#define btor(btor510,16384 -#define btaor(btaor511,16446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tvaudio.h,222 -#define I2C_TDA8425 5,66 -#define I2C_TDA9840 6,98 -#define I2C_TDA985x_L 7,157 -#define I2C_TDA985x_H 8,213 -#define I2C_TDA9874 9,245 -#define I2C_TEA6300 11,302 -#define I2C_TEA6420 12,334 -#define I2C_PIC16C54 14,363 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/mxb.h,206 -#define __MXB__2,16 -#define BASE_VIDIOC_MXB 4,33 -#define MXB_S_AUDIO_CD 6,61 -#define MXB_S_AUDIO_LINE 7,141 -#define MXB_IDENTIFIER 9,223 -#define MXB_AUDIOS 11,276 -struct v4l2_audio mxb_audios[15,405 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36120_mem.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tea6415c.c,644 -static int debug 38,1343 -#define dprintk 40,1412 -#define TEA6415C_NUM_INPUTS 42,1447 -#define TEA6415C_NUM_OUTPUTS 43,1477 -static unsigned short normal_i2c[46,1573 -static unsigned short normal_i2c_range[47,1660 -I2C_CLIENT_INSMOD;50,1779 -static struct i2c_driver driver;52,1799 -static int tea6415c_id 55,1860 -static int tea6415c_detect(58,1932 -static int tea6415c_attach(94,2868 -static int tea6415c_detach(105,3224 -static int tea6415c_switch(121,3581 -static int tea6415c_command(189,4763 -static struct i2c_driver driver 210,5136 -static int __init tea6415c_init_module(220,5408 -static void __exit tea6415c_cleanup_module(225,5491 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bt848.h,10045 -#define _BT848_H_22,836 -#define PCI_VENDOR_ID_BROOKTREE 25,887 -#define PCI_DEVICE_ID_BT848 28,962 -#define PCI_DEVICE_ID_BT849 31,1036 -#define PCI_DEVICE_ID_BT878 34,1109 -#define PCI_DEVICE_ID_BT879 37,1182 -#define BT848_DSTATUS 43,1260 -#define BT848_DSTATUS_PRES 44,1297 -#define BT848_DSTATUS_HLOC 45,1335 -#define BT848_DSTATUS_FIELD 46,1373 -#define BT848_DSTATUS_NUML 47,1411 -#define BT848_DSTATUS_CSEL 48,1449 -#define BT848_DSTATUS_PLOCK 49,1487 -#define BT848_DSTATUS_LOF 50,1525 -#define BT848_DSTATUS_COF 51,1563 -#define BT848_IFORM 53,1602 -#define BT848_IFORM_HACTIVE 54,1641 -#define BT848_IFORM_MUXSEL 55,1679 -#define BT848_IFORM_MUX0 56,1717 -#define BT848_IFORM_MUX1 57,1755 -#define BT848_IFORM_MUX2 58,1793 -#define BT848_IFORM_XTSEL 59,1831 -#define BT848_IFORM_XT0 60,1869 -#define BT848_IFORM_XT1 61,1907 -#define BT848_IFORM_XTAUTO 62,1945 -#define BT848_IFORM_XTBOTH 63,1983 -#define BT848_IFORM_NTSC 64,2021 -#define BT848_IFORM_NTSC_J 65,2054 -#define BT848_IFORM_PAL_BDGHI 66,2087 -#define BT848_IFORM_PAL_M 67,2120 -#define BT848_IFORM_PAL_N 68,2153 -#define BT848_IFORM_SECAM 69,2186 -#define BT848_IFORM_PAL_NC 70,2219 -#define BT848_IFORM_AUTO 71,2252 -#define BT848_IFORM_NORM 72,2285 -#define BT848_TDEC 74,2319 -#define BT848_TDEC_DEC_FIELD 75,2358 -#define BT848_TDEC_FLDALIGN 76,2396 -#define BT848_TDEC_DEC_RAT 77,2434 -#define BT848_E_CROP 79,2473 -#define BT848_O_CROP 80,2510 -#define BT848_E_VDELAY_LO 82,2548 -#define BT848_O_VDELAY_LO 83,2585 -#define BT848_E_VACTIVE_LO 85,2623 -#define BT848_O_VACTIVE_LO 86,2660 -#define BT848_E_HDELAY_LO 88,2698 -#define BT848_O_HDELAY_LO 89,2735 -#define BT848_E_HACTIVE_LO 91,2773 -#define BT848_O_HACTIVE_LO 92,2810 -#define BT848_E_HSCALE_HI 94,2848 -#define BT848_O_HSCALE_HI 95,2885 -#define BT848_E_HSCALE_LO 97,2923 -#define BT848_O_HSCALE_LO 98,2960 -#define BT848_BRIGHT 100,2998 -#define BT848_E_CONTROL 102,3036 -#define BT848_O_CONTROL 103,3073 -#define BT848_CONTROL_LNOTCH 104,3110 -#define BT848_CONTROL_COMP 105,3149 -#define BT848_CONTROL_LDEC 106,3188 -#define BT848_CONTROL_CBSENSE 107,3227 -#define BT848_CONTROL_CON_MSB 108,3266 -#define BT848_CONTROL_SAT_U_MSB 109,3305 -#define BT848_CONTROL_SAT_V_MSB 110,3344 -#define BT848_CONTRAST_LO 112,3384 -#define BT848_SAT_U_LO 113,3421 -#define BT848_SAT_V_LO 114,3458 -#define BT848_HUE 115,3495 -#define BT848_E_SCLOOP 117,3533 -#define BT848_O_SCLOOP 118,3570 -#define BT848_SCLOOP_CAGC 119,3607 -#define BT848_SCLOOP_CKILL 120,3646 -#define BT848_SCLOOP_HFILT_AUTO 121,3685 -#define BT848_SCLOOP_HFILT_CIF 122,3724 -#define BT848_SCLOOP_HFILT_QCIF 123,3763 -#define BT848_SCLOOP_HFILT_ICON 124,3802 -#define BT848_SCLOOP_PEAK 126,3842 -#define BT848_SCLOOP_HFILT_MINP 127,3881 -#define BT848_SCLOOP_HFILT_MEDP 128,3920 -#define BT848_SCLOOP_HFILT_MAXP 129,3959 -#define BT848_OFORM 132,4000 -#define BT848_OFORM_RANGE 133,4037 -#define BT848_OFORM_CORE0 134,4075 -#define BT848_OFORM_CORE8 135,4113 -#define BT848_OFORM_CORE16 136,4151 -#define BT848_OFORM_CORE32 137,4189 -#define BT848_E_VSCALE_HI 139,4228 -#define BT848_O_VSCALE_HI 140,4265 -#define BT848_VSCALE_YCOMB 141,4302 -#define BT848_VSCALE_COMB 142,4340 -#define BT848_VSCALE_INT 143,4378 -#define BT848_VSCALE_HI 144,4416 -#define BT848_E_VSCALE_LO 146,4451 -#define BT848_O_VSCALE_LO 147,4488 -#define BT848_TEST 148,4525 -#define BT848_ADELAY 149,4562 -#define BT848_BDELAY 150,4599 -#define BT848_ADC 152,4637 -#define BT848_ADC_RESERVED 153,4674 -#define BT848_ADC_SYNC_T 154,4712 -#define BT848_ADC_AGC_EN 155,4750 -#define BT848_ADC_CLK_SLEEP 156,4788 -#define BT848_ADC_Y_SLEEP 157,4826 -#define BT848_ADC_C_SLEEP 158,4864 -#define BT848_ADC_CRUSH 159,4902 -#define BT848_WC_UP 161,4941 -#define BT848_WC_DOWN 162,4978 -#define BT848_E_VTC 164,5016 -#define BT848_O_VTC 165,5053 -#define BT848_VTC_HSFMT 166,5090 -#define BT848_VTC_VFILT_2TAP 167,5128 -#define BT848_VTC_VFILT_3TAP 168,5161 -#define BT848_VTC_VFILT_4TAP 169,5194 -#define BT848_VTC_VFILT_5TAP 170,5227 -#define BT848_SRESET 172,5261 -#define BT848_COLOR_FMT 174,5299 -#define BT848_COLOR_FMT_O_RGB32 175,5341 -#define BT848_COLOR_FMT_O_RGB24 176,5384 -#define BT848_COLOR_FMT_O_RGB16 177,5427 -#define BT848_COLOR_FMT_O_RGB15 178,5470 -#define BT848_COLOR_FMT_O_YUY2 179,5513 -#define BT848_COLOR_FMT_O_BtYUV 180,5556 -#define BT848_COLOR_FMT_O_Y8 181,5599 -#define BT848_COLOR_FMT_O_RGB8 182,5642 -#define BT848_COLOR_FMT_O_YCrCb422 183,5685 -#define BT848_COLOR_FMT_O_YCrCb411 184,5728 -#define BT848_COLOR_FMT_O_RAW 185,5771 -#define BT848_COLOR_FMT_E_RGB32 186,5815 -#define BT848_COLOR_FMT_E_RGB24 187,5853 -#define BT848_COLOR_FMT_E_RGB16 188,5891 -#define BT848_COLOR_FMT_E_RGB15 189,5929 -#define BT848_COLOR_FMT_E_YUY2 190,5967 -#define BT848_COLOR_FMT_E_BtYUV 191,6005 -#define BT848_COLOR_FMT_E_Y8 192,6043 -#define BT848_COLOR_FMT_E_RGB8 193,6081 -#define BT848_COLOR_FMT_E_YCrCb422 194,6119 -#define BT848_COLOR_FMT_E_YCrCb411 195,6157 -#define BT848_COLOR_FMT_E_RAW 196,6195 -#define BT848_COLOR_FMT_RGB32 198,6235 -#define BT848_COLOR_FMT_RGB24 199,6276 -#define BT848_COLOR_FMT_RGB16 200,6317 -#define BT848_COLOR_FMT_RGB15 201,6358 -#define BT848_COLOR_FMT_YUY2 202,6399 -#define BT848_COLOR_FMT_BtYUV 203,6440 -#define BT848_COLOR_FMT_Y8 204,6481 -#define BT848_COLOR_FMT_RGB8 205,6522 -#define BT848_COLOR_FMT_YCrCb422 206,6563 -#define BT848_COLOR_FMT_YCrCb411 207,6604 -#define BT848_COLOR_FMT_RAW 208,6645 -#define BT848_VTOTAL_LO 210,6687 -#define BT848_VTOTAL_HI 211,6728 -#define BT848_COLOR_CTL 213,6770 -#define BT848_COLOR_CTL_EXT_FRMRATE 214,6815 -#define BT848_COLOR_CTL_COLOR_BARS 215,6861 -#define BT848_COLOR_CTL_RGB_DED 216,6907 -#define BT848_COLOR_CTL_GAMMA 217,6953 -#define BT848_COLOR_CTL_WSWAP_ODD 218,6999 -#define BT848_COLOR_CTL_WSWAP_EVEN 219,7045 -#define BT848_COLOR_CTL_BSWAP_ODD 220,7091 -#define BT848_COLOR_CTL_BSWAP_EVEN 221,7137 -#define BT848_CAP_CTL 223,7184 -#define BT848_CAP_CTL_DITH_FRAME 224,7229 -#define BT848_CAP_CTL_CAPTURE_VBI_ODD 225,7275 -#define BT848_CAP_CTL_CAPTURE_VBI_EVEN 226,7321 -#define BT848_CAP_CTL_CAPTURE_ODD 227,7367 -#define BT848_CAP_CTL_CAPTURE_EVEN 228,7413 -#define BT848_VBI_PACK_SIZE 230,7460 -#define BT848_VBI_PACK_DEL 232,7498 -#define BT848_VBI_PACK_DEL_VBI_HDELAY 233,7535 -#define BT848_VBI_PACK_DEL_EXT_FRAME 234,7578 -#define BT848_VBI_PACK_DEL_VBI_PKT_HI 235,7618 -#define BT848_INT_STAT 238,7660 -#define BT848_INT_MASK 239,7697 -#define BT848_INT_ETBF 241,7735 -#define BT848_INT_RISCS 243,7775 -#define BT848_INT_RISC_EN 244,7811 -#define BT848_INT_RACK 245,7845 -#define BT848_INT_FIELD 246,7879 -#define BT848_INT_SCERR 247,7913 -#define BT848_INT_OCERR 248,7947 -#define BT848_INT_PABORT 249,7981 -#define BT848_INT_RIPERR 250,8015 -#define BT848_INT_PPERR 251,8049 -#define BT848_INT_FDSR 252,8083 -#define BT848_INT_FTRGT 253,8117 -#define BT848_INT_FBUS 254,8151 -#define BT848_INT_RISCI 255,8185 -#define BT848_INT_GPINT 256,8219 -#define BT848_INT_I2CDONE 257,8252 -#define BT848_INT_VPRES 258,8285 -#define BT848_INT_HLOCK 259,8318 -#define BT848_INT_OFLOW 260,8351 -#define BT848_INT_HSYNC 261,8384 -#define BT848_INT_VSYNC 262,8417 -#define BT848_INT_FMTCHG 263,8450 -#define BT848_GPIO_DMA_CTL 266,8485 -#define BT848_GPIO_DMA_CTL_GPINTC 267,8530 -#define BT848_GPIO_DMA_CTL_GPINTI 268,8577 -#define BT848_GPIO_DMA_CTL_GPWEC 269,8624 -#define BT848_GPIO_DMA_CTL_GPIOMODE 270,8671 -#define BT848_GPIO_DMA_CTL_GPCLKMODE 271,8718 -#define BT848_GPIO_DMA_CTL_PLTP23_4 272,8765 -#define BT848_GPIO_DMA_CTL_PLTP23_8 273,8811 -#define BT848_GPIO_DMA_CTL_PLTP23_16 274,8857 -#define BT848_GPIO_DMA_CTL_PLTP23_32 275,8903 -#define BT848_GPIO_DMA_CTL_PLTP1_4 276,8949 -#define BT848_GPIO_DMA_CTL_PLTP1_8 277,8995 -#define BT848_GPIO_DMA_CTL_PLTP1_16 278,9041 -#define BT848_GPIO_DMA_CTL_PLTP1_32 279,9087 -#define BT848_GPIO_DMA_CTL_PKTP_4 280,9133 -#define BT848_GPIO_DMA_CTL_PKTP_8 281,9179 -#define BT848_GPIO_DMA_CTL_PKTP_16 282,9225 -#define BT848_GPIO_DMA_CTL_PKTP_32 283,9271 -#define BT848_GPIO_DMA_CTL_RISC_ENABLE 284,9317 -#define BT848_GPIO_DMA_CTL_FIFO_ENABLE 285,9363 -#define BT848_I2C 287,9410 -#define BT878_I2C_MODE 288,9447 -#define BT878_I2C_RATE 289,9485 -#define BT878_I2C_NOSTOP 290,9523 -#define BT878_I2C_NOSTART 291,9561 -#define BT848_I2C_DIV 292,9599 -#define BT848_I2C_SYNC 293,9639 -#define BT848_I2C_W3B 294,9677 -#define BT848_I2C_SCL 295,9713 -#define BT848_I2C_SDA 296,9751 -#define BT848_RISC_STRT_ADD 298,9790 -#define BT848_GPIO_OUT_EN 299,9827 -#define BT848_GPIO_REG_INP 300,9864 -#define BT848_RISC_COUNT 301,9901 -#define BT848_GPIO_DATA 302,9938 -#define BT848_FIFO_STATUS_FM1 308,10041 -#define BT848_FIFO_STATUS_FM3 309,10077 -#define BT848_FIFO_STATUS_SOL 310,10113 -#define BT848_FIFO_STATUS_EOL4 311,10149 -#define BT848_FIFO_STATUS_EOL3 312,10185 -#define BT848_FIFO_STATUS_EOL2 313,10221 -#define BT848_FIFO_STATUS_EOL1 314,10257 -#define BT848_FIFO_STATUS_VRE 315,10293 -#define BT848_FIFO_STATUS_VRO 316,10329 -#define BT848_FIFO_STATUS_PXV 317,10365 -#define BT848_RISC_RESYNC 319,10402 -#define BT848_RISC_BYTE0 323,10503 -#define BT848_RISC_BYTE1 324,10543 -#define BT848_RISC_BYTE2 325,10583 -#define BT848_RISC_BYTE3 326,10623 -#define BT848_RISC_BYTE_ALL 327,10663 -#define BT848_RISC_BYTE_NONE 328,10706 -#define BT848_RISC_IRQ 330,10757 -#define BT848_RISC_EOL 332,10841 -#define BT848_RISC_SOL 334,10926 -#define BT848_RISC_WRITE 336,10967 -#define BT848_RISC_SKIP 337,11010 -#define BT848_RISC_WRITEC 338,11053 -#define BT848_RISC_JUMP 339,11096 -#define BT848_RISC_SYNC 340,11139 -#define BT848_RISC_WRITE123 342,11183 -#define BT848_RISC_SKIP123 343,11226 -#define BT848_RISC_WRITE1S23 344,11269 -#define BT848_TGLB 348,11346 -#define BT848_TGCTRL 349,11383 -#define BT848_FCAP 350,11420 -#define BT848_PLL_F_LO 351,11457 -#define BT848_PLL_F_HI 352,11494 -#define BT848_PLL_XCI 354,11532 -#define BT848_PLL_X 355,11569 -#define BT848_PLL_C 356,11607 -#define BT848_DVSIF 358,11646 -#define BT878_DEVCTRL 362,11706 -#define BT878_EN_TBFX 363,11733 -#define BT878_EN_VSFX 364,11760 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bt856.c,894 -#define I2C_NAME(I2C_NAME59,1827 -static int debug 63,1892 -#define dprintk(dprintk67,1986 -#define REG_OFFSET 75,2178 -struct bt856 bt85677,2204 -#define I2C_BT856 88,2320 -bt856_write 93,2450 -bt856_setbit 104,2725 -bt856_dump 118,3062 -bt856_command 132,3416 -static unsigned short normal_i2c[290,6408 -static unsigned short normal_i2c_range[291,6481 -static unsigned short probe[293,6545 -static unsigned short probe_range[294,6614 -static unsigned short ignore[295,6689 -static unsigned short ignore_range[296,6759 -static unsigned short force[297,6835 -static struct i2c_client_address_data addr_data 299,6986 -static int bt856_i2c_id 309,7229 -static struct i2c_driver i2c_driver_bt856;310,7258 -bt856_detect_client 313,7313 -bt856_attach_adapter 392,9100 -bt856_detach_client 402,9341 -static struct i2c_driver i2c_driver_bt856 420,9646 -bt856_init 433,9916 -bt856_exit 439,10001 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cs8420.h,180 -#define __CS8420_H__20,810 -static __u8 init8420[24,865 -#define INIT8420LEN 29,972 -static __u8 mode8420pro[31,1014 -#define MODE8420LEN 39,1324 -static __u8 mode8420con[41,1369 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tea6415c.h,632 -#define __INCLUDED_TEA6415C__2,30 -#define I2C_TEA6415C_1 5,90 -#define I2C_TEA6415C_2 6,119 -#define TEA6415C_OUTPUT1 14,405 -#define TEA6415C_OUTPUT2 15,433 -#define TEA6415C_OUTPUT3 16,461 -#define TEA6415C_OUTPUT4 17,489 -#define TEA6415C_OUTPUT5 18,517 -#define TEA6415C_OUTPUT6 19,545 -#define TEA6415C_INPUT1 22,592 -#define TEA6415C_INPUT2 23,618 -#define TEA6415C_INPUT3 24,644 -#define TEA6415C_INPUT4 25,670 -#define TEA6415C_INPUT5 26,697 -#define TEA6415C_INPUT6 27,723 -#define TEA6415C_INPUT7 28,750 -#define TEA6415C_INPUT8 29,776 -struct tea6415c_multiplextea6415c_multiplex31,804 -#define TEA6415C_SWITCH 37,888 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttvp.h,1490 -#define _BTTVP_H_25,923 -#define BTTV_VERSION_CODE 28,969 -#define FORMAT_FLAGS_DITHER 52,1468 -#define FORMAT_FLAGS_PACKED 53,1507 -#define FORMAT_FLAGS_PLANAR 54,1546 -#define FORMAT_FLAGS_RAW 55,1585 -#define FORMAT_FLAGS_CrCb 56,1624 -#define RISC_SLOT_O_VBI 58,1664 -#define RISC_SLOT_O_FIELD 59,1697 -#define RISC_SLOT_E_VBI 60,1730 -#define RISC_SLOT_E_FIELD 61,1763 -#define RISC_SLOT_LOOP 62,1796 -#define RESOURCE_OVERLAY 64,1830 -#define RESOURCE_VIDEO 65,1863 -#define RESOURCE_VBI 66,1896 -#define RAW_LINES 68,1930 -#define RAW_BPL 69,1963 -#define UNSET 71,1997 -struct bttv_tvnorm bttv_tvnorm75,2084 -struct bttv_format bttv_format92,2477 -struct bttv_geometry bttv_geometry107,2970 -struct bttv_buffer bttv_buffer113,3078 -struct bttv_buffer_set bttv_buffer_set127,3451 -struct bttv_overlay bttv_overlay134,3670 -struct bttv_fh bttv_fh143,3884 -#define vprintk 247,7603 -#define dprintk 248,7645 -#define d2printk 249,7690 -#define BTTV_MAX 252,7754 -#define BTTV_MAX_FBUF 256,7841 -#define VBIBUF_SIZE 257,7874 -#define BTTV_TIMEOUT 258,7920 -#define BTTV_FREE_IDLE 259,7969 -struct bttv_pll_info bttv_pll_info262,8019 -struct bttv_input bttv_input270,8330 -struct bttv_suspend_state bttv_suspend_state279,8549 -struct bttv bttv288,8727 -#define BTTV_VERSION 402,11488 -#define BTTV_VBISIZE 403,11558 -#define btwrite(btwrite407,11637 -#define btread(btread408,11713 -#define btand(btand410,11771 -#define btor(btor411,11833 -#define btaor(btaor412,11895 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7185.c,1046 -#define I2C_NAME(I2C_NAME55,1679 -static int debug 59,1744 -#define dprintk(dprintk63,1838 -struct saa7185 saa718571,2030 -#define I2C_SAA7185 82,2149 -saa7185_read 87,2281 -saa7185_write 93,2375 -saa7185_write_block 105,2705 -static const unsigned char init_common[153,3846 -static const unsigned char init_pal[230,6106 -static const unsigned char init_ntsc[240,6370 -saa7185_command 251,6647 -static unsigned short normal_i2c[382,8976 -static unsigned short normal_i2c_range[383,9051 -static unsigned short probe[385,9115 -static unsigned short probe_range[386,9184 -static unsigned short ignore[387,9259 -static unsigned short ignore_range[388,9329 -static unsigned short force[389,9405 -static struct i2c_client_address_data addr_data 391,9556 -static int saa7185_i2c_id 401,9799 -static struct i2c_driver i2c_driver_saa7185;402,9830 -saa7185_detect_client 405,9887 -saa7185_attach_adapter 471,11492 -saa7185_detach_client 481,11739 -static struct i2c_driver i2c_driver_saa7185 502,12220 -saa7185_init 515,12514 -saa7185_exit 521,12603 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36057.h,4069 -#define _ZR36057_H_22,822 -#define ZR36057_VFEHCR 27,875 -#define ZR36057_VFEHCR_HSPol 28,970 -#define ZR36057_VFEHCR_HStart 29,1018 -#define ZR36057_VFEHCR_HEnd 30,1061 -#define ZR36057_VFEHCR_Hmask 31,1099 -#define ZR36057_VFEVCR 33,1143 -#define ZR36057_VFEVCR_VSPol 34,1236 -#define ZR36057_VFEVCR_VStart 35,1284 -#define ZR36057_VFEVCR_VEnd 36,1327 -#define ZR36057_VFEVCR_Vmask 37,1365 -#define ZR36057_VFESPFR 39,1409 -#define ZR36057_VFESPFR_ExtFl 40,1503 -#define ZR36057_VFESPFR_TopField 41,1551 -#define ZR36057_VFESPFR_VCLKPol 42,1599 -#define ZR36057_VFESPFR_HFilter 43,1647 -#define ZR36057_VFESPFR_HorDcm 44,1690 -#define ZR36057_VFESPFR_VerDcm 45,1733 -#define ZR36057_VFESPFR_DispMode 46,1775 -#define ZR36057_VFESPFR_YUV422 47,1817 -#define ZR36057_VFESPFR_RGB888 48,1864 -#define ZR36057_VFESPFR_RGB565 49,1911 -#define ZR36057_VFESPFR_RGB555 50,1958 -#define ZR36057_VFESPFR_ErrDif 51,2005 -#define ZR36057_VFESPFR_Pack24 52,2052 -#define ZR36057_VFESPFR_LittleEndian 53,2099 -#define ZR36057_VDTR 55,2147 -#define ZR36057_VDBR 57,2221 -#define ZR36057_VSSFGR 59,2298 -#define ZR36057_VSSFGR_DispStride 60,2388 -#define ZR36057_VSSFGR_VidOvf 61,2431 -#define ZR36057_VSSFGR_SnapShot 62,2478 -#define ZR36057_VSSFGR_FrameGrab 63,2525 -#define ZR36057_VDCR 65,2573 -#define ZR36057_VDCR_VidEn 66,2654 -#define ZR36057_VDCR_MinPix 67,2702 -#define ZR36057_VDCR_Triton 68,2745 -#define ZR36057_VDCR_VidWinHt 69,2793 -#define ZR36057_VDCR_VidWinWid 70,2836 -#define ZR36057_MMTR 72,2879 -#define ZR36057_MMBR 74,2951 -#define ZR36057_OCR 76,3026 -#define ZR36057_OCR_OvlEnable 77,3095 -#define ZR36057_OCR_MaskStride 78,3145 -#define ZR36057_SPGPPCR 80,3188 -#define ZR36057_SPGPPCR_SoftReset 81,3287 -#define ZR36057_GPPGCR1 83,3330 -#define ZR36057_MCSAR 85,3430 -#define ZR36057_MCTCR 87,3509 -#define ZR36057_MCTCR_CodTime 88,3589 -#define ZR36057_MCTCR_CEmpty 89,3639 -#define ZR36057_MCTCR_CFlush 90,3689 -#define ZR36057_MCTCR_CodGuestID 91,3739 -#define ZR36057_MCTCR_CodGuestReg 92,3775 -#define ZR36057_MCMPR 94,3813 -#define ZR36057_ISR 96,3892 -#define ZR36057_ISR_GIRQ1 97,3962 -#define ZR36057_ISR_GIRQ0 98,4010 -#define ZR36057_ISR_CodRepIRQ 99,4058 -#define ZR36057_ISR_JPEGRepIRQ 100,4106 -#define ZR36057_ICR 102,4155 -#define ZR36057_ICR_GIRQ1 103,4226 -#define ZR36057_ICR_GIRQ0 104,4274 -#define ZR36057_ICR_CodRepIRQ 105,4322 -#define ZR36057_ICR_JPEGRepIRQ 106,4370 -#define ZR36057_ICR_IntPinEn 107,4418 -#define ZR36057_I2CBR 109,4467 -#define ZR36057_I2CBR_SDA 110,4528 -#define ZR36057_I2CBR_SCL 111,4568 -#define ZR36057_JMC 113,4609 -#define ZR36057_JMC_JPG 114,4675 -#define ZR36057_JMC_JPGExpMode 115,4725 -#define ZR36057_JMC_JPGCmpMode 116,4775 -#define ZR36057_JMC_MJPGExpMode 117,4825 -#define ZR36057_JMC_MJPGCmpMode 118,4875 -#define ZR36057_JMC_RTBUSY_FB 119,4925 -#define ZR36057_JMC_Go_en 120,4974 -#define ZR36057_JMC_SyncMstr 121,5023 -#define ZR36057_JMC_Fld_per_buff 122,5072 -#define ZR36057_JMC_VFIFO_FB 123,5121 -#define ZR36057_JMC_CFIFO_FB 124,5170 -#define ZR36057_JMC_Stll_LitEndian 125,5219 -#define ZR36057_JPC 127,5269 -#define ZR36057_JPC_P_Reset 128,5334 -#define ZR36057_JPC_CodTrnsEn 129,5383 -#define ZR36057_JPC_Active 130,5432 -#define ZR36057_VSP 132,5482 -#define ZR36057_VSP_VsyncSize 133,5551 -#define ZR36057_VSP_FrmTot 134,5594 -#define ZR36057_HSP 136,5637 -#define ZR36057_HSP_HsyncStart 137,5708 -#define ZR36057_HSP_LineTot 138,5751 -#define ZR36057_FHAP 140,5794 -#define ZR36057_FHAP_NAX 141,5870 -#define ZR36057_FHAP_PAX 142,5913 -#define ZR36057_FVAP 144,5956 -#define ZR36057_FVAP_NAY 145,6030 -#define ZR36057_FVAP_PAY 146,6073 -#define ZR36057_FPP 148,6116 -#define ZR36057_FPP_Odd_Even 149,6185 -#define ZR36057_JCBA 151,6235 -#define ZR36057_JCFT 153,6303 -#define ZR36057_JCGI 155,6373 -#define ZR36057_JCGI_JPEGuestID 156,6437 -#define ZR36057_JCGI_JPEGuestReg 157,6479 -#define ZR36057_GCR2 159,6522 -#define ZR36057_POR 161,6597 -#define ZR36057_POR_POPen 162,6662 -#define ZR36057_POR_POTime 163,6710 -#define ZR36057_POR_PODir 164,6758 -#define ZR36057_STR 166,6807 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-vbi.c,485 -#define VBI_DEFLINES 32,1049 -#define VBI_MAXLINES 33,1073 -static unsigned int vbibufs 35,1098 -static unsigned int vbi_debug 36,1131 -#define dprintk(dprintk46,1408 -vbi_buffer_risc(53,1682 -static int vbi_buffer_setup(64,1957 -static int vbi_buffer_prepare(77,2250 -vbi_buffer_queue(108,3052 -static void vbi_buffer_release(123,3460 -struct videobuf_queue_ops bttv_vbi_qops 133,3723 -void bttv_vbi_setlines(142,3994 -void bttv_vbi_try_fmt(160,4345 -void bttv_vbi_get_fmt(199,5311 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/hexium_orion.c,1354 -#define DEBUG_VARIABLE 24,965 -static int debug 28,1026 -static int hexium_num 33,1141 -#define HEXIUM_HV_PCI6_ORION 35,1169 -#define HEXIUM_ORION_1SVHS_3BNC 36,1201 -#define HEXIUM_ORION_4BNC 37,1236 -#define HEXIUM_INPUTS 39,1266 -static struct v4l2_input hexium_inputs[40,1290 -#define HEXIUM_AUDIOS 52,2105 -struct hexium_datahexium_data54,2130 -static struct saa7146_extension_ioctls ioctls[60,2174 -struct hexiumhexium68,2400 -static u8 hexium_saa7110[77,2581 -} hexium_input_select[89,2982 -static struct saa7146_standard hexium_standards[192,4648 -static int hexium_probe(213,5242 -static int hexium_init_done(290,7838 -static int hexium_set_input(309,8353 -static struct saa7146_ext_vv vv_data;328,8814 -static int hexium_attach(331,8922 -static int hexium_detach(353,9489 -static int hexium_ioctl(369,9795 -static int std_callback(421,10836 -static struct saa7146_extension extension;426,10931 -static struct saa7146_pci_extension_data hexium_hv_pci6 428,10975 -static struct saa7146_pci_extension_data hexium_orion_1svhs_3bnc 433,11098 -static struct saa7146_pci_extension_data hexium_orion_4bnc 438,11245 -static struct pci_device_id pci_tbl[443,11379 -static struct saa7146_ext_vv vv_data 472,12041 -static struct saa7146_extension extension 482,12315 -int __init hexium_init_module(497,12599 -void __exit hexium_cleanup_module(507,12771 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36120.c,1688 -#define UNUSED(UNUSED46,1407 -#define CARDTYPE 50,1476 -#define ZORAN_MAX 54,1542 -static unsigned int triton1=56,1563 -static unsigned int cardtype[57,1619 -static int video_nr 58,1697 -static int vbi_nr 59,1723 -static struct pci_device_id zr36120_pci_tbl[61,1748 -static int zoran_cards;77,2217 -static struct zoran zorans[78,2241 -#define T 88,2608 -#define F 89,2662 -static struct tvcard tvcards[90,2674 -#define NRTVCARDS 112,3652 -#define ENDIANESS 115,3725 -#define ENDIANESS 117,3751 -static struct { const char name[8]; uint mode; uint bpp; } palette2fmt[120,3791 -#define NRPALETTES 136,4562 -void __init handle_chipset(146,5117 -void zoran_dump(169,5757 -void reap_states(187,6071 -void zoran_irq(340,10072 -int zoran_muxsel(386,11092 -void zoran_cap(406,11634 -static ulong dmask[430,12096 -void zoran_built_overlay(442,12523 -struct tvnorm tvnorm521,14988 -static struct tvnorm tvnorms[526,15046 -#define TVNORMS 539,15386 -void zoran_set_geo(553,15854 -void zoran_common_open(719,21218 -void zoran_common_close(744,21782 -static int zoran_open(759,22011 -void zoran_close(806,23290 -long zoran_read(843,24351 -long zoran_write(937,26683 -unsigned int zoran_poll(946,26971 -void new_clip(968,27493 -int zoran_ioctl(978,27731 -int zoran_mmap(1463,39796 -static struct video_device zr36120_template=1488,40490 -int vbi_open(1505,40861 -void vbi_close(1554,41977 -long vbi_read(1591,43016 -unsigned int vbi_poll(1746,46841 -int vbi_ioctl(1767,47303 -static struct video_device vbi_template=1822,48908 -int __init find_zoran(1841,49305 -int __init init_zoran(1893,50645 -void release_zoran(2018,54030 -void __exit zr36120_exit(2053,54726 -int __init zr36120_init(2058,54791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/v4l1-compat.c,384 -#define __KERNEL__19,518 -static unsigned int debug 46,1024 -#define dprintk(dprintk53,1250 -get_v4l_control(64,1514 -set_v4l_control(94,2214 -static int palette2pixelformat[133,3150 -palette_to_pixelformat(152,3869 -pixelformat_to_palette(161,4044 -static int poll_one(207,5025 -static int count_inputs(233,5487 -static int check_size(249,5796 -v4l_compat_translate_ioctl(284,6596 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/pms.c,2151 -#define MOTOROLA 36,901 -#define PHILIPS2 37,920 -#define PHILIPS1 38,939 -#define MVVMEMORYWIDTH 39,958 -struct pms_devicepms_device41,1004 -struct i2c_infoi2c_info50,1132 -static int i2c_count 58,1194 -static struct i2c_info i2cinfo[59,1222 -static int decoder 61,1259 -static int standard 62,1292 -static int io_port 68,1402 -static int data_port 69,1431 -static int mem_base 70,1462 -static int video_nr 71,1494 -static inline void mvv_write(75,1542 -static inline u8 mvv_read(80,1630 -static int pms_i2c_stat(86,1718 -static int pms_i2c_write(125,2275 -static int pms_i2c_read(175,3040 -static void pms_i2c_andor(187,3223 -static void pms_videosource(201,3419 -static void pms_hue(206,3502 -static void pms_colour(222,3747 -static void pms_contrast(236,3945 -static void pms_brightness(249,4148 -static void pms_format(265,4444 -static void pms_hstart(306,5348 -static void pms_bandpass(325,5643 -static void pms_antisnow(333,5838 -static void pms_sharpness(341,6033 -static void pms_chromaagc(349,6222 -static void pms_vertnoise(357,6415 -static void pms_forcecolour(365,6598 -static void pms_antigamma(373,6795 -static void pms_prefilter(381,6987 -static void pms_hfilter(389,7183 -static void pms_vfilter(397,7377 -static void pms_killcolour(405,7571 -static void pms_chromagain(419,7892 -static void pms_spacialcompl(432,8076 -static void pms_spacialcomph(437,8146 -static void pms_vstart(442,8216 -static void pms_secamcross(450,8325 -static void pms_swsense(459,8520 -static void pms_framerate(474,8770 -static void pms_vert(484,8925 -static void pms_vertdeci(494,9136 -static void pms_horzdeci(531,9618 -static void pms_resolution(564,10055 -static void pms_vcrinput(619,11040 -static int pms_capture(628,11227 -static int pms_do_ioctl(679,12318 -static int pms_ioctl(862,16093 -static int pms_read(868,16264 -static struct file_operations pms_fops 881,16575 -static struct video_device pms_template=890,16820 -struct pms_device pms_device;899,17009 -static int init_mediavision(906,17098 -static int __init init_pms_cards(1012,19235 -static void __exit shutdown_mediavision(1038,19844 -static void __exit cleanup_pms_module(1044,19951 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/msp3400.h,121 -#define MSP3400_H2,18 -struct msp_dfpreg msp_dfpreg6,115 -#define MSP_SET_DFPREG 11,167 -#define MSP_GET_DFPREG 12,225 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/dpc7146.c,2084 -#define DEBUG_VARIABLE 21,842 -#define I2C_SAA7111A 26,955 -#define SAA711X_CHIP_VERSION 29,1031 -#define SAA711X_ANALOG_INPUT_CONTROL_1 30,1076 -#define SAA711X_ANALOG_INPUT_CONTROL_2 31,1121 -#define SAA711X_ANALOG_INPUT_CONTROL_3 32,1166 -#define SAA711X_ANALOG_INPUT_CONTROL_4 33,1211 -#define SAA711X_HORIZONTAL_SYNC_START 34,1256 -#define SAA711X_HORIZONTAL_SYNC_STOP 35,1301 -#define SAA711X_SYNC_CONTROL 36,1346 -#define SAA711X_LUMINANCE_CONTROL 37,1391 -#define SAA711X_LUMINANCE_BRIGHTNESS 38,1436 -#define SAA711X_LUMINANCE_CONTRAST 39,1481 -#define SAA711X_CHROMA_SATURATION 40,1526 -#define SAA711X_CHROMA_HUE_CONTROL 41,1571 -#define SAA711X_CHROMA_CONTROL 42,1616 -#define SAA711X_FORMAT_DELAY_CONTROL 43,1661 -#define SAA711X_OUTPUT_CONTROL_1 44,1706 -#define SAA711X_OUTPUT_CONTROL_2 45,1751 -#define SAA711X_OUTPUT_CONTROL_3 46,1796 -#define SAA711X_V_GATE_1_START 47,1841 -#define SAA711X_V_GATE_1_STOP 48,1886 -#define SAA711X_V_GATE_1_MSB 49,1931 -#define SAA711X_TEXT_SLICER_STATUS 50,1976 -#define SAA711X_DECODED_BYTES_OF_TS_1 51,2021 -#define SAA711X_DECODED_BYTES_OF_TS_2 52,2066 -#define SAA711X_STATUS_BYTE 53,2111 -#define DPC_BOARD_CAN_DO_VBI(DPC_BOARD_CAN_DO_VBI55,2157 -static int debug 57,2216 -int dpc_num 62,2330 -#define DPC_INPUTS 64,2348 -static struct v4l2_input dpc_inputs[65,2369 -#define DPC_AUDIOS 70,2593 -static struct saa7146_extension_ioctls ioctls[72,2615 -struct dpcdpc80,2841 -static int dpc_probe(92,3055 -static int dpc_init_done(144,4742 -static struct saa7146_ext_vv vv_data;177,6005 -static int dpc_attach(180,6113 -static int dpc_detach(214,7062 -int dpc_vbi_bypass(236,7479 -static int dpc_ioctl(252,7811 -static int std_callback(308,9035 -static struct saa7146_standard standard[313,9130 -static struct saa7146_extension extension;332,9657 -static struct saa7146_pci_extension_data dpc 334,9701 -static struct pci_device_id pci_tbl[339,9831 -static struct saa7146_ext_vv vv_data 353,10108 -static struct saa7146_extension extension 363,10382 -int __init dpc_init_module(378,10665 -void __exit dpc_cleanup_module(388,10836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_card.c,2117 -#define I2C_NAME(I2C_NAME58,1756 -static int card[63,1874 -static int encoder[67,2016 -static int decoder[71,2165 -static unsigned long vidmem 83,2583 -static int default_input 90,2740 -static int default_norm 95,2923 -static int video_nr 99,3086 -int v4l_nbufs 120,3853 -int v4l_bufsize 121,3872 -int jpg_nbufs 127,4153 -int jpg_bufsize 128,4173 -int pass_through 134,4444 -static int debug 140,4719 -int *zr_debug 141,4741 -static struct pci_device_id zr36067_pci_tbl[149,4956 -#define dprintk(dprintk156,5144 -int zoran_num;162,5261 -struct zoran zoran[163,5306 -zr36060_read 167,5386 -zr36060_write 184,5748 -zr36050_read 201,6151 -zr36050_write 217,6516 -zr36016_read 233,6926 -zr36016_write 249,7237 -dc10_init 267,7568 -dc10plus_init 279,7797 -buz_init 285,7912 -lml33_init 296,8216 -i2cid_to_modulename 304,8376 -codecid_to_modulename 350,9130 -static struct tvnorm f50sqpixel 375,9496 -static struct tvnorm f60sqpixel 376,9567 -static struct tvnorm f50ccir601 377,9638 -static struct tvnorm f60ccir601 378,9709 -static struct tvnorm f50ccir601_lml33 380,9781 -static struct tvnorm f60ccir601_lml33 381,9861 -static struct tvnorm f50sqpixel_dc10 384,10011 -static struct tvnorm f60sqpixel_dc10 385,10085 -static struct tvnorm f50ccir601_lm33r10 390,10308 -static struct tvnorm f60ccir601_lm33r10 391,10390 -static struct card_info zoran_cards[393,10473 -static struct card_info zoran_cards[NUM_CARDS] __devinitdata 393,10473 -zoran_i2c_getsda 625,15784 -zoran_i2c_getscl 633,15916 -zoran_i2c_setsda 641,16042 -zoran_i2c_setscl 654,16241 -zoran_i2c_client_register 667,16439 -zoran_i2c_client_unregister 703,17261 -static struct i2c_algo_bit_data zoran_i2c_bit_data_template 729,17870 -static struct i2c_adapter zoran_i2c_adapter_template 739,18100 -zoran_register_i2c 748,18335 -zoran_unregister_i2c 763,18827 -zoran_check_jpg_settings 771,18988 -zoran_open_init_params 907,22542 -test_interrupts 970,24546 -zr36057_init 993,25121 -zoran_release 1098,27805 -zoran_vdev_release 1132,28594 -zoran_setup_videocodec 1138,28704 -find_zr36057 1185,29748 -init_dc10_cards 1490,37634 -unload_dc10_cards 1571,39724 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_device.c,1028 -#define IRQ_MASK 55,1684 -#define dprintk(dprintk64,1893 -static int lml33dpath 70,2010 -GPIO 93,2684 -post_office_wait 117,3113 -post_office_write 136,3626 -post_office_read 152,3934 -dump_guests 172,4254 -get_time 191,4600 -detect_guest_activity 200,4714 -jpeg_codec_sleep 254,5844 -jpeg_codec_reset 274,6266 -zr36057_adjust_vfe 303,6926 -zr36057_set_vfe 340,7764 -zr36057_overlay 516,13093 -write_overlay_mask 583,15043 -zr36057_set_memgrab 646,16427 -wait_grab_pending 687,17483 -set_frame 716,18337 -set_videobus_dir 723,18454 -init_jpeg_queue 742,18780 -zr36057_set_jpg 766,19340 -print_interrupts 871,21800 -clear_interrupt_counters 913,22805 -count_reset_interrupt 933,23232 -jpeg_start 964,23952 -zr36057_enable_jpg 1015,25195 -zoran_feed_stat_com 1131,28624 -zoran_reap_stat_com 1174,29802 -error_handler 1229,31160 -zoran_irq 1387,35527 -zoran_set_pci_master 1628,41919 -zoran_init_hardware 1643,42236 -zr36057_restart 1684,43351 -zr36057_init_vfe 1705,43784 -decoder_command 1729,44333 -encoder_command 1753,44878 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36050.h,3333 -#define ZR36050_H28,1071 -struct zr36050 zr3605031,1139 -#define ZR050_GO 57,1538 -#define ZR050_HARDWARE 58,1578 -#define ZR050_MODE 59,1618 -#define ZR050_OPTIONS 60,1658 -#define ZR050_MBCV 61,1698 -#define ZR050_MARKERS_EN 62,1738 -#define ZR050_INT_REQ_0 63,1778 -#define ZR050_INT_REQ_1 64,1818 -#define ZR050_TCV_NET_HI 65,1858 -#define ZR050_TCV_NET_MH 66,1898 -#define ZR050_TCV_NET_ML 67,1938 -#define ZR050_TCV_NET_LO 68,1978 -#define ZR050_TCV_DATA_HI 69,2018 -#define ZR050_TCV_DATA_MH 70,2058 -#define ZR050_TCV_DATA_ML 71,2098 -#define ZR050_TCV_DATA_LO 72,2138 -#define ZR050_SF_HI 73,2178 -#define ZR050_SF_LO 74,2218 -#define ZR050_AF_HI 75,2258 -#define ZR050_AF_M 76,2298 -#define ZR050_AF_LO 77,2338 -#define ZR050_ACV_HI 78,2378 -#define ZR050_ACV_MH 79,2418 -#define ZR050_ACV_ML 80,2458 -#define ZR050_ACV_LO 81,2498 -#define ZR050_ACT_HI 82,2538 -#define ZR050_ACT_MH 83,2578 -#define ZR050_ACT_ML 84,2618 -#define ZR050_ACT_LO 85,2658 -#define ZR050_ACV_TRUN_HI 86,2698 -#define ZR050_ACV_TRUN_MH 87,2738 -#define ZR050_ACV_TRUN_ML 88,2778 -#define ZR050_ACV_TRUN_LO 89,2818 -#define ZR050_STATUS_0 90,2858 -#define ZR050_STATUS_1 91,2898 -#define ZR050_SOF_IDX 93,2939 -#define ZR050_SOS1_IDX 94,2979 -#define ZR050_SOS2_IDX 95,3019 -#define ZR050_SOS3_IDX 96,3059 -#define ZR050_SOS4_IDX 97,3099 -#define ZR050_DRI_IDX 98,3139 -#define ZR050_DNL_IDX 99,3179 -#define ZR050_DQT_IDX 100,3219 -#define ZR050_DHT_IDX 101,3259 -#define ZR050_APP_IDX 102,3299 -#define ZR050_COM_IDX 103,3339 -#define ZR050_HW_BSWD 107,3418 -#define ZR050_HW_MSTR 108,3460 -#define ZR050_HW_DMA 109,3502 -#define ZR050_HW_CFIS_1_CLK 110,3544 -#define ZR050_HW_CFIS_2_CLK 111,3586 -#define ZR050_HW_CFIS_3_CLK 112,3628 -#define ZR050_HW_CFIS_4_CLK 113,3670 -#define ZR050_HW_CFIS_5_CLK 114,3712 -#define ZR050_HW_CFIS_6_CLK 115,3754 -#define ZR050_HW_CFIS_7_CLK 116,3796 -#define ZR050_HW_CFIS_8_CLK 117,3838 -#define ZR050_HW_BELE 118,3880 -#define ZR050_MO_COMP 122,3957 -#define ZR050_MO_COMP 123,3999 -#define ZR050_MO_ATP 124,4041 -#define ZR050_MO_PASS2 125,4083 -#define ZR050_MO_TLM 126,4125 -#define ZR050_MO_DCONLY 127,4167 -#define ZR050_MO_BRC 128,4209 -#define ZR050_MO_ATP 130,4252 -#define ZR050_MO_PASS2 131,4294 -#define ZR050_MO_TLM 132,4336 -#define ZR050_MO_DCONLY 133,4378 -#define ZR050_OP_NSCN_1 137,4457 -#define ZR050_OP_NSCN_2 138,4499 -#define ZR050_OP_NSCN_3 139,4541 -#define ZR050_OP_NSCN_4 140,4583 -#define ZR050_OP_NSCN_5 141,4625 -#define ZR050_OP_NSCN_6 142,4667 -#define ZR050_OP_NSCN_7 143,4709 -#define ZR050_OP_NSCN_8 144,4751 -#define ZR050_OP_OVF 145,4793 -#define ZR050_ME_APP 150,4881 -#define ZR050_ME_COM 151,4923 -#define ZR050_ME_DRI 152,4965 -#define ZR050_ME_DQT 153,5007 -#define ZR050_ME_DHT 154,5049 -#define ZR050_ME_DNL 155,5091 -#define ZR050_ME_DQTI 156,5133 -#define ZR050_ME_DHTI 157,5175 -#define ZR050_ST_RST_MASK 161,5262 -#define ZR050_ST_SOF_MASK 162,5304 -#define ZR050_ST_SOS_MASK 163,5346 -#define ZR050_ST_DATRDY_MASK 164,5388 -#define ZR050_ST_MRKDET_MASK 165,5430 -#define ZR050_ST_RFM_MASK 166,5472 -#define ZR050_ST_RFD_MASK 167,5514 -#define ZR050_ST_END_MASK 168,5556 -#define ZR050_ST_TCVOVF_MASK 169,5598 -#define ZR050_ST_DATOVF_MASK 170,5640 -#define ZR050_Y_COMPONENT 174,5710 -#define ZR050_U_COMPONENT 175,5746 -#define ZR050_V_COMPONENT 176,5782 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cpia.c,6960 -static int video_nr 56,1575 -static unsigned short colorspace_conv 66,1914 -#define ABOUT 75,2214 -#define VID_HARDWARE_CPIA 78,2298 -#define CPIA_MODULE_CPIA 81,2375 -#define CPIA_MODULE_SYSTEM 82,2409 -#define CPIA_MODULE_VP_CTRL 83,2445 -#define CPIA_MODULE_CAPTURE 84,2482 -#define CPIA_MODULE_DEBUG 85,2519 -#define INPUT 87,2555 -#define OUTPUT 88,2584 -#define CPIA_COMMAND_GetCPIAVersion 90,2616 -#define CPIA_COMMAND_GetPnPID 91,2683 -#define CPIA_COMMAND_GetCameraStatus 92,2745 -#define CPIA_COMMAND_GotoHiPower 93,2813 -#define CPIA_COMMAND_GotoLoPower 94,2878 -#define CPIA_COMMAND_GotoSuspend 95,2943 -#define CPIA_COMMAND_GotoPassThrough 96,3008 -#define CPIA_COMMAND_ModifyCameraStatus 97,3077 -#define CPIA_COMMAND_ReadVCRegs 99,3151 -#define CPIA_COMMAND_WriteVCReg 100,3217 -#define CPIA_COMMAND_ReadMCPorts 101,3284 -#define CPIA_COMMAND_WriteMCPort 102,3350 -#define CPIA_COMMAND_SetBaudRate 103,3417 -#define CPIA_COMMAND_SetECPTiming 104,3484 -#define CPIA_COMMAND_ReadIDATA 105,3552 -#define CPIA_COMMAND_WriteIDATA 106,3617 -#define CPIA_COMMAND_GenericCall 107,3684 -#define CPIA_COMMAND_I2CStart 108,3751 -#define CPIA_COMMAND_I2CStop 109,3817 -#define CPIA_COMMAND_I2CWrite 110,3882 -#define CPIA_COMMAND_I2CRead 111,3948 -#define CPIA_COMMAND_GetVPVersion 113,4013 -#define CPIA_COMMAND_ResetFrameCounter 114,4081 -#define CPIA_COMMAND_SetColourParams 115,4154 -#define CPIA_COMMAND_SetExposure 116,4226 -#define CPIA_COMMAND_SetColourBalance 117,4294 -#define CPIA_COMMAND_SetSensorFPS 118,4367 -#define CPIA_COMMAND_SetVPDefaults 119,4436 -#define CPIA_COMMAND_SetApcor 120,4506 -#define CPIA_COMMAND_SetFlickerCtrl 121,4572 -#define CPIA_COMMAND_SetVLOffset 122,4644 -#define CPIA_COMMAND_GetColourParams 123,4713 -#define CPIA_COMMAND_GetColourBalance 124,4785 -#define CPIA_COMMAND_GetExposure 125,4858 -#define CPIA_COMMAND_SetSensorMatrix 126,4926 -#define CPIA_COMMAND_ColourBars 127,4999 -#define CPIA_COMMAND_ReadVPRegs 128,5068 -#define CPIA_COMMAND_WriteVPReg 129,5136 -#define CPIA_COMMAND_GrabFrame 131,5206 -#define CPIA_COMMAND_UploadFrame 132,5273 -#define CPIA_COMMAND_SetGrabMode 133,5341 -#define CPIA_COMMAND_InitStreamCap 134,5409 -#define CPIA_COMMAND_FiniStreamCap 135,5479 -#define CPIA_COMMAND_StartStreamCap 136,5549 -#define CPIA_COMMAND_EndStreamCap 137,5620 -#define CPIA_COMMAND_SetFormat 138,5689 -#define CPIA_COMMAND_SetROI 139,5756 -#define CPIA_COMMAND_SetCompression 140,5820 -#define CPIA_COMMAND_SetCompressionTarget 141,5892 -#define CPIA_COMMAND_SetYUVThresh 142,5970 -#define CPIA_COMMAND_SetCompressionParams 143,6040 -#define CPIA_COMMAND_DiscardFrame 144,6118 -#define CPIA_COMMAND_GrabReset 145,6188 -#define CPIA_COMMAND_OutputRS232 147,6257 -#define CPIA_COMMAND_AbortProcess 148,6323 -#define CPIA_COMMAND_SetDramPage 149,6390 -#define CPIA_COMMAND_StartDramUpload 150,6456 -#define CPIA_COMMAND_StartDummyDtream 151,6526 -#define CPIA_COMMAND_AbortStream 152,6597 -#define CPIA_COMMAND_DownloadDRAM 153,6663 -#define CPIA_COMMAND_Null 154,6731 - FRAME_READY,157,6800 - FRAME_GRABBING,158,6840 - FRAME_DONE,159,6901 - FRAME_UNUSED,160,6964 -#define COMMAND_NONE 163,7011 -#define COMMAND_SETCOMPRESSION 164,7041 -#define COMMAND_SETCOMPRESSIONTARGET 165,7080 -#define COMMAND_SETCOLOURPARAMS 166,7124 -#define COMMAND_SETFORMAT 167,7164 -#define COMMAND_PAUSE 168,7198 -#define COMMAND_RESUME 169,7229 -#define COMMAND_SETYUVTHRESH 170,7261 -#define COMMAND_SETECPTIMING 171,7298 -#define COMMAND_SETCOMPRESSIONPARAMS 172,7335 -#define COMMAND_SETEXPOSURE 173,7379 -#define COMMAND_SETCOLOURBALANCE 174,7415 -#define COMMAND_SETSENSORFPS 175,7455 -#define COMMAND_SETAPCOR 176,7492 -#define COMMAND_SETFLICKERCTRL 177,7525 -#define COMMAND_SETVLOFFSET 178,7564 -#define COMMAND_SETLIGHTS 179,7600 -#define ROUND_UP_EXP_FOR_FLICKER 181,7635 -#define MAX_EXP 184,7724 -#define MAX_EXP_102 185,7750 -#define LOW_EXP 186,7776 -#define VERY_LOW_EXP 187,7802 -#define TC 188,7828 -#define EXP_ACC_DARK 189,7854 -#define EXP_ACC_LIGHT 190,7880 -#define HIGH_COMP_102 191,7906 -#define MAX_COMP 192,7934 -#define DARK_TIME 193,7962 -#define LIGHT_TIME 194,7988 -#define READY_TIMEOUT 197,8089 -static u8 flicker_jumps[201,8215 -static inline unsigned long kvirt_to_pa(222,8891 -static void *rvmalloc(232,9133 -static void rvfree(253,9514 -static struct proc_dir_entry *cpia_proc_root=275,9967 -static int cpia_read_proc(277,10019 -static int match(558,22611 -static unsigned long int value(584,23216 -static int cpia_write_proc(598,23473 -#define MATCH(MATCH652,24605 -#define VALUE 653,24672 -#define FIRMWARE_VERSION(FIRMWARE_VERSION654,24719 -static void create_proc_cpia_cam(1373,43140 -static void destroy_proc_cpia_cam(1399,43766 -static void proc_cpia_create(1411,43998 -static void __exit proc_cpia_destroy(1421,44209 -#define printstatus(printstatus1429,44389 -static inline int valid_mode(1439,44836 -static int match_videosize(1456,45408 -static void set_vw_size(1500,46397 -static int allocate_frame_buf(1623,49915 -static int free_frame_buf(1637,50194 -static inline void free_frames(1650,50410 -static int do_command(1665,50782 -static int do_command_extended(1785,54357 -#define LIMIT(LIMIT1822,55168 -static int convert420(1824,55249 -static int yuvconvert(1940,58378 -static int skipcount(2048,60767 -static int parse_picture(2068,61139 -static inline int init_stream_cap(2246,65624 -#define FLICKER_MAX_EXPOSURE 2262,66160 -#define FLICKER_ALLOWABLE_OVER_EXPOSURE 2263,66212 -#define FLICKER_BRIGHTNESS_CONSTANT 2264,66264 -static int find_over_exposure(2265,66315 -static void dispatch_commands(2285,66879 -static void set_flicker(2437,72497 -#define FIRMWARE_VERSION(FIRMWARE_VERSION2441,72664 -#define COMPGAIN(COMPGAIN2445,72855 -#define EXP_FROM_COMP(EXP_FROM_COMP2447,72976 -#define COMPGAIN(COMPGAIN2451,73174 -#define EXP_FROM_COMP(EXP_FROM_COMP2453,73286 -#define FIRMWARE_VERSION(FIRMWARE_VERSION2548,76640 -static void monitor_exposure(2551,76865 -static void restart_flicker(2789,84093 -static int clear_stall(2830,85329 -static int fetch_frame(2841,85676 -static int capture_frame(2988,89812 -static int goto_high_power(3002,90115 -static int goto_low_power(3020,90619 -static void save_camera_state(3034,90967 -static int set_camera_state(3056,91720 -static void get_version_information(3090,92775 -static int reset_camera(3100,93013 -static void put_cam(3182,95467 -static int cpia_open(3189,95632 -static int cpia_close(3266,97226 -static ssize_t cpia_read(3317,98327 -static int cpia_do_ioctl(3374,99580 -static int cpia_ioctl(3762,107969 -static int cpia_mmap(3770,108155 -static struct file_operations cpia_fops 3822,109245 -static struct video_device cpia_template 3832,109472 -static void reset_camera_struct(3841,109698 -static void init_camera_struct(3948,113422 -struct cam_data *cpia_register_camera(3980,114180 -void cpia_unregister_camera(4034,115668 -static int __init cpia_init(4054,116094 -static void __exit cpia_exit(4079,116696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/meye.c,2301 -static struct meye meye;45,1530 -static unsigned int gbuffers 47,1584 -static unsigned int gbufsize 49,1646 -static int video_nr 51,1733 -static inline void meye_initq(58,2020 -static inline int meye_pullq(66,2246 -static inline void meye_pushq(84,2678 -static inline int meye_emptyq(103,3154 -static inline unsigned long kvirt_to_pa(122,3809 -static void *rvmalloc(131,4072 -static void rvfree(149,4453 -static int ptable_alloc(172,5123 -static void ptable_free(215,6088 -static void ptable_copy(240,6657 -static u16 *jpeg_quantisation_tables(257,7282 -static u16 *jpeg_huffman_tables(434,14982 -static inline int mchip_hsize(477,17213 -static inline int mchip_vsize(482,17337 -static void mchip_sync(487,17464 -static inline void mchip_set(519,18267 -static inline u32 mchip_read(525,18401 -static inline int mchip_delay(531,18557 -static void mchip_subsample(539,18707 -static void mchip_set_framerate(549,19085 -static void mchip_load_tables(555,19277 -static void mchip_vrj_setup(570,19688 -static void mchip_dma_setup(594,20507 -static int mchip_dma_alloc(604,20742 -static void mchip_dma_free(612,20882 -static void mchip_hic_stop(621,21088 -static u32 mchip_get_frame(648,21943 -static void mchip_free_frame(656,22100 -static void mchip_cont_read_frame(664,22329 -static int mchip_comp_read_frame(674,22536 -static void mchip_take_picture(719,23585 -static void mchip_get_picture(739,24019 -static void mchip_continuous_start(763,24543 -static int mchip_compress_frame(778,24911 -static int mchip_uncompress_frame(808,25519 -static void mchip_cont_compression_start(822,25874 -static irqreturn_t meye_irq(841,26473 -static int meye_open(894,27869 -static int meye_release(913,28318 -static int meye_do_ioctl(920,28474 -static int meye_ioctl(1176,34136 -static int meye_mmap(1182,34309 -static struct file_operations meye_fops 1217,35125 -static struct video_device meye_template 1226,35311 -static int meye_suspend(1237,35550 -static int meye_resume(1246,35751 -static int __devinit meye_probe(1272,36354 -static void __devexit meye_remove(1407,40121 -static struct pci_device_id meye_pci_tbl[1435,40702 -static struct pci_driver meye_driver 1443,40896 -static int __init meye_init_module(1454,41122 -static void __exit meye_cleanup_module(1466,41525 -static int __init meye_setup(1471,41628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/stradis.c,2683 -#define DEBUG(DEBUG52,1530 -#define SAA7146_MAX 56,1659 -static struct saa7146 saa7146s[58,1682 -static int saa_num 60,1728 -static int video_nr 62,1786 -#define nDebNormal 67,1864 -#define nDebNoInc 68,1894 -#define nDebVideo 69,1923 -#define nDebAudio 70,1952 -#define nDebDMA 71,1981 -#define oDebNormal 73,2010 -#define oDebNoInc 74,2040 -#define oDebVideo 75,2069 -#define oDebAudio 76,2098 -#define oDebDMA 77,2127 -#define NewCard 79,2156 -#define ChipControl 80,2192 -#define NTSCFirstActive 81,2231 -#define PALFirstActive 82,2274 -#define NTSCLastActive 83,2316 -#define PALLastActive 84,2359 -#define Have2MB 85,2401 -#define HaveCS8420 86,2445 -#define IBMMPEGCD20 87,2491 -#define HaveCS3310 88,2538 -#define CS3310MaxLvl 89,2584 -#define HaveCS4341 90,2652 -#define SDIType 91,2696 -#define CurrentMode 92,2733 -#define debNormal 94,2773 -#define debNoInc 95,2827 -#define debVideo 96,2878 -#define debAudio 97,2929 -#define debDMA 98,2980 -int stradis_driver(101,3040 -static unsigned char rescue_eeprom[108,3154 -static void I2CWipe(115,3636 -static int I2CRead(143,4569 -static int I2CWrite(195,6211 -static void attach_inform(219,6791 -static void I2CBusScan(242,7439 -static int debiwait_maxwait 250,7589 -static int wait_for_debi_done(252,7623 -static int debiwrite(273,8128 -static u32 debiread(292,8698 -static void ibm_block_dram_read(322,9566 -static void do_irq_send_data(354,10527 -static void send_osd_data(422,12612 -static irqreturn_t saa7146_irq(443,13234 -static int ibm_send_command(617,18164 -static void cs4341_setlevel(636,18666 -static void initialize_cs4341(642,18851 -static void initialize_cs8420(664,19460 -static void initialize_saa7121(681,19875 -static void set_genlock_offset(732,21344 -static void set_out_format(749,21766 -static u16 bitmangler[788,23182 -static int initialize_fpga(790,23211 -static int do_ibm_reset(994,29917 -static int initialize_ibmmpeg2(1071,32619 -static u32 palette2fmt[1162,35716 -static int bpp2fmt[1168,36004 -static u32 h_prescale[1175,36178 -static u32 v_gain[1189,37001 -static void saa7146_set_winsize(1205,37822 -static void clip_draw_rectangle(1249,39696 -static void make_clip_tab(1291,40561 -static int saa_ioctl(1321,41601 -static int saa_mmap(1808,54149 -static ssize_t saa_read(1815,54342 -static ssize_t saa_write(1821,54456 -static int saa_open(1943,58083 -static int saa_release(1967,58630 -static struct file_operations saa_fops 1978,58962 -static struct video_device saa_template 1991,59227 -static int configure_saa7146(2000,59415 -static int init_saa7146(2077,61793 -static void release_saa(2168,65095 -static int __init stradis_init 2230,66688 -static void __exit stradis_exit 2259,67336 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36050.c,1161 -#define ZR050_VERSION 27,1040 -#define MAX_CODECS 53,1601 -static int zr36050_codecs 56,1671 -static int debug 60,1754 -#define dprintk(dprintk64,1848 -zr36050_read 78,2269 -zr36050_write 99,2700 -zr36050_read_status1 124,3356 -zr36050_read_scalefactor 140,3762 -zr36050_wait_end 157,4292 -zr36050_basic_test 179,4866 -zr36050_pushit 221,5983 -static const char zr36050_dqt[248,6835 -static const char zr36050_dht[271,7780 -static const char zr36050_app[328,10513 -static const char zr36050_com[341,10827 -#define NO_OF_COMPONENTS 355,11214 -#define BASELINE_PRECISION 356,11260 -static const char zr36050_tq[357,11313 -static const char zr36050_td[358,11392 -static const char zr36050_ta[359,11471 -static const char zr36050_decimation_h[362,11629 -static const char zr36050_decimation_v[363,11701 -zr36050_set_sof 378,12285 -zr36050_set_sos 410,13409 -zr36050_set_dri 438,14275 -zr36050_init 461,14939 -zr36050_set_mode 608,19829 -zr36050_set_video 626,20246 -zr36050_control 668,21483 -zr36050_unset 750,23382 -zr36050_setup 779,24071 -static const struct videocodec zr36050_codec 832,25305 -zr36050_init_module 853,25959 -zr36050_cleanup_module 861,26128 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cpia_pp.c,1626 -#define ABOUT 56,1918 -#define PACKET_LENGTH 58,1986 -#define PPCPIA_PARPORT_UNSPEC 61,2066 -#define PPCPIA_PARPORT_AUTO 62,2099 -#define PPCPIA_PARPORT_OFF 63,2130 -#define PPCPIA_PARPORT_NONE 64,2160 -static int parport_nr[67,2206 -static char *parport[68,2294 -static int parport_nr[77,2686 -static int parport_nr[PARPORT_MAX] __initdata 77,2686 -static int parport_ptr 79,2786 -struct pp_cam_entry pp_cam_entry82,2822 -static struct cpia_camera_ops cpia_pp_ops 96,3152 -static spinlock_t cam_list_lock_pp;110,3392 -static void cpia_parport_enable_irq(113,3441 -static void cpia_parport_disable_irq(119,3555 -#define UPLOAD_FLAG 127,3785 -#define NIBBLE_TRANSFER 128,3811 -#define ECP_TRANSFER 129,3840 -#define PARPORT_CHUNK_SIZE 131,3867 -static size_t cpia_read_nibble 142,4293 -static size_t cpia_read_nibble_stream(255,7516 -static void EndTransferMode(329,9310 -static int ForwardSetup(339,9601 -static int ReverseSetup(367,10359 -static int WritePacket(407,11433 -static int ReadPacket(433,12053 -static int cpia_pp_streamStart(461,12730 -static int cpia_pp_streamStop(477,13166 -static int cpia_pp_read(494,13547 -static int cpia_pp_streamRead(512,14019 -static int cpia_pp_transferCmd(580,15717 -static int cpia_pp_open(635,17098 -static int cpia_pp_registerCallback(666,17889 -static int cpia_pp_close(684,18349 -static int cpia_pp_register(698,18691 -static void cpia_pp_detach 745,19764 -static void cpia_pp_attach 777,20542 -static struct parport_driver cpia_pp_driver 805,21058 -int cpia_pp_init(811,21184 -int init_module(831,21579 -void cleanup_module(858,22209 -static int __init cpia_pp_setup(866,22316 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bt819.c,1004 -#define I2C_NAME(I2C_NAME59,1828 -static int debug 63,1893 -#define dprintk(dprintk67,1987 -struct bt819 bt81975,2179 -struct timing timing88,2325 -struct timing timing_data[98,2467 -#define I2C_BT819 103,2593 -bt819_write 108,2723 -bt819_setbit 119,2985 -bt819_write_block 133,3308 -bt819_read 179,4369 -bt819_init 186,4500 -bt819_command 252,6761 -static unsigned short normal_i2c[498,12230 -static unsigned short normal_i2c_range[502,12306 -static unsigned short probe[504,12370 -static unsigned short probe_range[505,12439 -static unsigned short ignore[506,12514 -static unsigned short ignore_range[507,12584 -static unsigned short force[508,12660 -static struct i2c_client_address_data addr_data 510,12811 -static int bt819_i2c_id 520,13054 -static struct i2c_driver i2c_driver_bt819;521,13083 -bt819_detect_client 524,13138 -bt819_attach_adapter 615,15204 -bt819_detach_client 621,15333 -static struct i2c_driver i2c_driver_bt819 639,15638 -bt819_init_module 652,15908 -bt819_exit 658,16000 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tda9875.c,1795 -static int debug 40,1076 -static unsigned short normal_i2c[43,1146 -static unsigned short normal_i2c_range[47,1230 -I2C_CLIENT_INSMOD;48,1291 -struct tda9875 tda987551,1351 -static struct i2c_driver driver;58,1441 -static struct i2c_client client_template;59,1474 -#define dprintk 61,1517 -#define TDA9875_MUT 70,1751 -#define TDA9875_CFG 71,1825 -#define TDA9875_DACOS 72,1903 -#define TDA9875_LOSR 73,1972 -#define TDA9875_CH1V 75,2051 -#define TDA9875_CH2V 76,2113 -#define TDA9875_SC1 77,2175 -#define TDA9875_SC2 78,2231 -#define TDA9875_ADCIS 80,2288 -#define TDA9875_AER 81,2361 -#define TDA9875_MCS 82,2437 -#define TDA9875_MVL 83,2511 -#define TDA9875_MVR 84,2570 -#define TDA9875_MBA 85,2629 -#define TDA9875_MTR 86,2680 -#define TDA9875_ACS 87,2732 -#define TDA9875_AVL 88,2810 -#define TDA9875_AVR 89,2873 -#define TDA9875_ABA 90,2936 -#define TDA9875_ATR 91,2991 -#define TDA9875_MSR 93,3048 -#define TDA9875_C1MSB 94,3112 -#define TDA9875_C1MIB 95,3190 -#define TDA9875_C1LSB 96,3272 -#define TDA9875_C2MSB 97,3350 -#define TDA9875_C2MIB 98,3431 -#define TDA9875_C2LSB 99,3516 -#define TDA9875_DCR 100,3597 -#define TDA9875_DEEM 101,3672 -#define TDA9875_FMAT 102,3735 -#define TDA9875_MUTE_ON 105,3807 -#define TDA9875_MUTE_OFF 106,3859 -static int tda9875_write(112,3935 -static int tda9875_read(128,4340 -static int i2c_read_register(141,4634 -static void tda9875_set(159,5180 -static void do_tda9875_init(178,5664 -static int tda9875_checkit(228,8177 -static int tda9875_attach(244,8582 -static int tda9875_probe(273,9175 -static int tda9875_detach(285,9480 -static int tda9875_command(296,9667 -static struct i2c_driver driver 389,11682 -static struct i2c_client client_template 399,12010 -static int __init tda9875_init(406,12146 -static void __exit tda9875_fini(411,12221 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa5246a.h,8433 -#define __SAA5246A_H__23,875 -#define MAJOR_VERSION 25,899 -#define MINOR_VERSION 26,958 -#define IF_NAME 28,1018 -#define I2C_ADDRESS 30,1046 -#define NUM_DAUS 33,1148 -#define NUM_ROWS_PER_PAGE 35,1168 -#define POS_TIME_START 38,1230 -#define POS_TIME_END 39,1256 -#define POS_HEADER_START 41,1281 -#define POS_HEADER_END 42,1308 -#define REQ_CONTAINS_TIME(REQ_CONTAINS_TIME46,1454 -#define REQ_CONTAINS_HEADER(REQ_CONTAINS_HEADER52,1684 -#define FALSE 57,1814 -#define TRUE 58,1830 -#define SAA5246A_REGISTER_R0 64,2065 -#define SAA5246A_REGISTER_R1 65,2099 -#define SAA5246A_REGISTER_R2 66,2133 -#define SAA5246A_REGISTER_R3 67,2167 -#define SAA5246A_REGISTER_R4 68,2201 -#define SAA5246A_REGISTER_R5 69,2235 -#define SAA5246A_REGISTER_R6 70,2269 -#define SAA5246A_REGISTER_R7 71,2303 -#define SAA5246A_REGISTER_R8 72,2337 -#define SAA5246A_REGISTER_R9 73,2371 -#define SAA5246A_REGISTER_R10 74,2405 -#define SAA5246A_REGISTER_R11 75,2439 -#define SAA5246A_REGISTER_R11B 76,2473 -#define COMMAND_END 81,2685 -#define R0_SELECT_R11 87,2969 -#define R0_SELECT_R11B 88,3003 -#define R0_PLL_TIME_CONSTANT_LONG 90,3039 -#define R0_PLL_TIME_CONSTANT_SHORT 91,3083 -#define R0_ENABLE_nODD_EVEN_OUTPUT 93,3129 -#define R0_DISABLE_nODD_EVEN_OUTPUT 94,3174 -#define R0_ENABLE_HDR_POLL 96,3221 -#define R0_DISABLE_HDR_POLL 97,3259 -#define R0_DO_NOT_FORCE_nODD_EVEN_LOW_IF_PICTURE_DISPLAYED 99,3299 -#define R0_FORCE_nODD_EVEN_LOW_IF_PICTURE_DISPLAYED 100,3363 -#define R0_NO_FREE_RUN_PLL 102,3424 -#define R0_FREE_RUN_PLL 103,3462 -#define R0_NO_AUTOMATIC_FASTEXT_PROMPT 105,3499 -#define R0_AUTOMATIC_FASTEXT_PROMPT 106,3548 -#define R1_INTERLACED_312_AND_HALF_312_AND_HALF_LINES 109,3620 -#define R1_NON_INTERLACED_312_313_LINES 110,3682 -#define R1_NON_INTERLACED_312_312_LINES 111,3732 -#define R1_FFB_LEADING_EDGE_IN_FIRST_BROAD_PULSE 112,3782 -#define R1_FFB_LEADING_EDGE_IN_SECOND_BROAD_PULSE 113,3839 -#define R1_DEW 115,3898 -#define R1_FULL_FIELD 116,3926 -#define R1_EXTENDED_PACKET_DISABLE 118,3961 -#define R1_EXTENDED_PACKET_ENABLE 119,4006 -#define R1_DAUS_ALL_ON 121,4051 -#define R1_DAUS_ALL_OFF 122,4086 -#define R1_7_BITS_PLUS_PARITY 124,4123 -#define R1_8_BITS_NO_PARITY 125,4164 -#define R1_VCS_TO_SCS 127,4204 -#define R1_NO_VCS_TO_SCS 128,4238 -#define R2_IN_R3_SELECT_PAGE_HUNDREDS 131,4316 -#define R2_IN_R3_SELECT_PAGE_TENS 132,4364 -#define R2_IN_R3_SELECT_PAGE_UNITS 133,4408 -#define R2_IN_R3_SELECT_HOURS_TENS 134,4453 -#define R2_IN_R3_SELECT_HOURS_UNITS 135,4498 -#define R2_IN_R3_SELECT_MINUTES_TENS 136,4544 -#define R2_IN_R3_SELECT_MINUTES_UNITS 137,4591 -#define R2_DAU_0 139,4640 -#define R2_DAU_1 140,4669 -#define R2_DAU_2 141,4698 -#define R2_DAU_3 142,4727 -#define R2_BANK_0 144,4757 -#define R2_BANK 145,4787 -#define R2_HAMMING_CHECK_ON 147,4818 -#define R2_HAMMING_CHECK_OFF 148,4857 -#define R3_PAGE_HUNDREDS_0 151,4936 -#define R3_PAGE_HUNDREDS_1 152,4974 -#define R3_PAGE_HUNDREDS_2 153,5012 -#define R3_PAGE_HUNDREDS_3 154,5050 -#define R3_PAGE_HUNDREDS_4 155,5088 -#define R3_PAGE_HUNDREDS_5 156,5126 -#define R3_PAGE_HUNDREDS_6 157,5164 -#define R3_PAGE_HUNDREDS_7 158,5202 -#define R3_HOLD_PAGE 160,5241 -#define R3_UPDATE_PAGE 161,5274 -#define R3_PAGE_HUNDREDS_DO_NOT_CARE 163,5310 -#define R3_PAGE_HUNDREDS_DO_CARE 164,5357 -#define R3_PAGE_TENS_DO_NOT_CARE 166,5401 -#define R3_PAGE_TENS_DO_CARE 167,5444 -#define R3_PAGE_UNITS_DO_NOT_CARE 169,5485 -#define R3_PAGE_UNITS_DO_CARE 170,5529 -#define R3_HOURS_TENS_DO_NOT_CARE 172,5571 -#define R3_HOURS_TENS_DO_CARE 173,5615 -#define R3_HOURS_UNITS_DO_NOT_CARE 175,5657 -#define R3_HOURS_UNITS_DO_CARE 176,5702 -#define R3_MINUTES_TENS_DO_NOT_CARE 178,5745 -#define R3_MINUTES_TENS_DO_CARE 179,5791 -#define R3_MINUTES_UNITS_DO_NOT_CARE 181,5835 -#define R3_MINUTES_UNITS_DO_CARE 182,5882 -#define R4_DISPLAY_PAGE_0 185,5962 -#define R4_DISPLAY_PAGE_1 186,5999 -#define R4_DISPLAY_PAGE_2 187,6036 -#define R4_DISPLAY_PAGE_3 188,6073 -#define R4_DISPLAY_PAGE_4 189,6110 -#define R4_DISPLAY_PAGE_5 190,6147 -#define R4_DISPLAY_PAGE_6 191,6184 -#define R4_DISPLAY_PAGE_7 192,6221 -#define R5_PICTURE_INSIDE_BOXING_OFF 195,6302 -#define R5_PICTURE_INSIDE_BOXING_ON 196,6349 -#define R5_PICTURE_OUTSIDE_BOXING_OFF 198,6396 -#define R5_PICTURE_OUTSIDE_BOXING_ON 199,6444 -#define R5_TEXT_INSIDE_BOXING_OFF 201,6492 -#define R5_TEXT_INSIDE_BOXING_ON 202,6536 -#define R5_TEXT_OUTSIDE_BOXING_OFF 204,6580 -#define R5_TEXT_OUTSIDE_BOXING_ON 205,6625 -#define R5_CONTRAST_REDUCTION_INSIDE_BOXING_OFF 207,6670 -#define R5_CONTRAST_REDUCTION_INSIDE_BOXING_ON 208,6727 -#define R5_CONTRAST_REDUCTION_OUTSIDE_BOXING_OFF 210,6784 -#define R5_CONTRAST_REDUCTION_OUTSIDE_BOXING_ON 211,6841 -#define R5_BACKGROUND_COLOR_INSIDE_BOXING_OFF 213,6899 -#define R5_BACKGROUND_COLOR_INSIDE_BOXING_ON 214,6954 -#define R5_BACKGROUND_COLOR_OUTSIDE_BOXING_OFF 216,7009 -#define R5_BACKGROUND_COLOR_OUTSIDE_BOXING_ON 217,7065 -#define R6_NEWSFLASH_PICTURE_INSIDE_BOXING_OFF 220,7159 -#define R6_NEWSFLASH_PICTURE_INSIDE_BOXING_ON 221,7215 -#define R6_NEWSFLASH_PICTURE_OUTSIDE_BOXING_OFF 223,7271 -#define R6_NEWSFLASH_PICTURE_OUTSIDE_BOXING_ON 224,7328 -#define R6_NEWSFLASH_TEXT_INSIDE_BOXING_OFF 226,7385 -#define R6_NEWSFLASH_TEXT_INSIDE_BOXING_ON 227,7438 -#define R6_NEWSFLASH_TEXT_OUTSIDE_BOXING_OFF 229,7491 -#define R6_NEWSFLASH_TEXT_OUTSIDE_BOXING_ON 230,7545 -#define R6_NEWSFLASH_CONTRAST_REDUCTION_INSIDE_BOXING_OFF 232,7599 -#define R6_NEWSFLASH_CONTRAST_REDUCTION_INSIDE_BOXING_ON 233,7663 -#define R6_NEWSFLASH_CONTRAST_REDUCTION_OUTSIDE_BOXING_OFF 235,7728 -#define R6_NEWSFLASH_CONTRAST_REDUCTION_OUTSIDE_BOXING_ON 236,7792 -#define R6_NEWSFLASH_BACKGROUND_COLOR_INSIDE_BOXING_OFF 238,7857 -#define R6_NEWSFLASH_BACKGROUND_COLOR_INSIDE_BOXING_ON 239,7921 -#define R6_NEWSFLASH_BACKGROUND_COLOR_OUTSIDE_BOXING_OFF 241,7985 -#define R6_NEWSFLASH_BACKGROUND_COLOR_OUTSIDE_BOXING_ON 242,8049 -#define R7_BOX_OFF_ROW_0 245,8147 -#define R7_BOX_ON_ROW_0 246,8183 -#define R7_BOX_OFF_ROW_1_TO_23 248,8220 -#define R7_BOX_ON_ROW_1_TO_23 249,8262 -#define R7_BOX_OFF_ROW_24 251,8304 -#define R7_BOX_ON_ROW_24 252,8341 -#define R7_SINGLE_HEIGHT 254,8378 -#define R7_DOUBLE_HEIGHT 255,8414 -#define R7_TOP_HALF 257,8451 -#define R7_BOTTOM_HALF 258,8483 -#define R7_REVEAL_OFF 260,8519 -#define R7_REVEAL_ON 261,8553 -#define R7_CURSER_OFF 263,8587 -#define R7_CURSER_ON 264,8621 -#define R7_STATUS_BOTTOM 266,8655 -#define R7_STATUS_TOP 267,8691 -#define R8_ACTIVE_CHAPTER_0 270,8761 -#define R8_ACTIVE_CHAPTER_1 271,8800 -#define R8_ACTIVE_CHAPTER_2 272,8839 -#define R8_ACTIVE_CHAPTER_3 273,8878 -#define R8_ACTIVE_CHAPTER_4 274,8917 -#define R8_ACTIVE_CHAPTER_5 275,8956 -#define R8_ACTIVE_CHAPTER_6 276,8995 -#define R8_ACTIVE_CHAPTER_7 277,9034 -#define R8_CLEAR_MEMORY 279,9074 -#define R8_DO_NOT_CLEAR_MEMORY 280,9110 -#define R9_CURSER_ROW_0 283,9184 -#define R9_CURSER_ROW_1 284,9220 -#define R9_CURSER_ROW_2 285,9256 -#define R9_CURSER_ROW_25 286,9292 -#define R10_CURSER_COLUMN_0 289,9364 -#define R10_CURSER_COLUMN_6 290,9403 -#define R10_CURSER_COLUMN_8 291,9442 -#define ROW25_COLUMN0_PAGE_UNITS 296,9694 -#define ROW25_COLUMN1_PAGE_TENS 298,9738 -#define ROW25_COLUMN2_MINUTES_UNITS 300,9782 -#define ROW25_COLUMN3_MINUTES_TENS 302,9829 -#define ROW25_COLUMN3_DELETE_PAGE 303,9874 -#define ROW25_COLUMN4_HOUR_UNITS 305,9919 -#define ROW25_COLUMN5_HOUR_TENS 307,9963 -#define ROW25_COLUMN5_INSERT_HEADLINE 308,10006 -#define ROW25_COLUMN5_INSERT_SUBTITLE 309,10054 -#define ROW25_COLUMN6_SUPPRESS_HEADER 311,10103 -#define ROW25_COLUMN6_UPDATE_PAGE 312,10151 -#define ROW25_COLUMN6_INTERRUPTED_SEQUENCE 313,10195 -#define ROW25_COLUMN6_SUPPRESS_DISPLAY 314,10247 -#define ROW25_COLUMN7_SERIAL_MODE 316,10297 -#define ROW25_COLUMN7_CHARACTER_SET 317,10341 -#define ROW25_COLUMN8_PAGE_HUNDREDS 319,10388 -#define ROW25_COLUMN8_PAGE_NOT_FOUND 320,10434 -#define ROW25_COLUMN9_PAGE_BEING_LOOKED_FOR 322,10482 -#define ROW25_COLUMN0_TO_7_HAMMING_ERROR 324,10536 -#define ROW(ROW334,11040 -#define COLUMN(COLUMN335,11096 -#define HUNDREDS_OF_PAGE(HUNDREDS_OF_PAGE344,11594 -#define TENS_OF_PAGE(TENS_OF_PAGE345,11650 -#define UNITS_OF_PAGE(UNITS_OF_PAGE346,11706 -#define TENS_OF_HOUR(TENS_OF_HOUR351,11929 -#define UNITS_OF_HOUR(UNITS_OF_HOUR352,11973 -#define TENS_OF_MINUTE(TENS_OF_MINUTE357,12198 -#define UNITS_OF_MINUTE(UNITS_OF_MINUTE358,12248 -#define HOUR_MAX 360,12298 -#define MINUTE_MAX 361,12322 -#define PAGE_MAX 362,12346 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36120_mem.c,43 -void* bmalloc(38,1197 -void bfree(61,1712 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_procfs.h,35 -#define __ZORAN_PROCFS_H__31,1182 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/adv7175.c,1410 -#define I2C_NAME(I2C_NAME55,1760 -static int debug 59,1825 -#define dprintk(dprintk63,1919 -struct adv7175 adv717571,2111 -#define I2C_ADV7175 83,2242 -#define I2C_ADV7176 84,2276 -static char adv7175_name[86,2311 -static char adv7176_name[87,2351 -static char *inputs[89,2392 -static char *norms[90,2462 -adv7175_write 95,2632 -adv7175_read 106,2902 -adv7175_write_block 113,3037 -set_subcarrier_freq 160,4111 -dump 177,4541 -#define MR050 196,5012 -#define MR060 197,5044 -#define TR0MODE 201,5156 -#define TR0RST 202,5181 -#define TR1CAPT 204,5206 -#define TR1PLAY 205,5231 -static const unsigned char init_common[207,5257 -static const unsigned char init_pal[230,5783 -static const unsigned char init_ntsc[240,6051 -adv7175_command 251,6332 -static unsigned short normal_i2c[432,10439 -static unsigned short normal_i2c_range[437,10586 -static unsigned short probe[439,10650 -static unsigned short probe_range[440,10719 -static unsigned short ignore[441,10794 -static unsigned short ignore_range[442,10864 -static unsigned short force[443,10940 -static struct i2c_client_address_data addr_data 445,11091 -static int adv7175_i2c_id 455,11334 -static struct i2c_driver i2c_driver_adv7175;456,11365 -adv7175_detect_client 459,11422 -adv7175_attach_adapter 535,13388 -adv7175_detach_client 545,13635 -static struct i2c_driver i2c_driver_adv7175 563,13944 -adv7175_init 576,14237 -adv7175_exit 582,14326 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-cards.c,4594 -static unsigned int triton1=87,3618 -static unsigned int vsfx=88,3649 -static unsigned int latency 89,3677 -unsigned int no_overlay=90,3714 -static unsigned int card[92,3743 -static unsigned int pll[93,3818 -static unsigned int tuner[94,3893 -static unsigned int svhs[95,3968 -static unsigned int remote[96,4043 -static unsigned int autoload 98,4132 -static unsigned int autoload 100,4172 -static unsigned int gpiomask 102,4213 -static unsigned int audioall 103,4251 -static unsigned int audiomux[104,4289 -static int __init p_card(134,5439 -static int __init p_pll(135,5519 -static int __init p_tuner(136,5599 -int __init bttv_parse(141,5776 -static struct CARD CARD157,6144 -} cards[161,6205 -} cards[] __devinitdata 161,6205 -struct tvcard bttv_tvcards[318,14122 -const unsigned int bttv_num_tvcards 2152,65461 -static unsigned char eeprom_data[2156,65605 -void __devinit bttv_idcard(2161,65669 -void identify_by_eeprom(2237,67971 -static void flyvideo_gpio(2255,68503 -int miro_tunermap[2321,71171 -int miro_fmtuner[2323,71281 -static void miro_pinnacle_gpio(2326,71391 -#define LM1882_SYNC_DRIVE 2405,73234 -static void init_ids_eagle(2407,73275 -static void eagle_muxsel(2425,73707 -static void gvc1100_muxsel(2450,74445 -static void init_lmlbt4x(2469,75003 -static void sigmaSQ_muxsel(2477,75185 -static void sigmaSLC_muxsel(2484,75339 -void bttv_reset_audio(2493,75579 -void __devinit bttv_init_card1(2515,76216 -void __devinit bttv_init_card2(2539,76707 -static struct HAUPPAUGE_TUNER HAUPPAUGE_TUNER2753,82560 -hauppauge_tuner[2758,82633 -hauppauge_tuner[] __devinitdata 2758,82633 -static void modtec_eeprom(2813,85339 -static void __devinit hauppauge_eeprom(2833,86188 -static int terratec_active_radio_upgrade(2861,87017 -#define PVR_GPIO_DELAY 2901,87999 -#define BTTV_ALT_DATA 2903,88027 -#define BTTV_ALT_DCLK 2904,88059 -#define BTTV_ALT_NCONFIG 2905,88091 -static int __devinit pvr_altera_load(2907,88126 -static char *firm_altera 2947,89087 -int __devinit pvr_boot(2954,89344 -int __devinit pvr_boot(2978,89961 -static void __devinit osprey_eeprom(3000,90645 -int tuner_0_table[3104,93869 -int tuner_0_fm_table[3111,94165 -int tuner_1_table[3119,94453 -static void __devinit avermedia_eeprom(3126,94713 -void bttv_tda9880_setnorm(3155,95629 -static void __devinit boot_msp34xx(3181,96361 -static void __devinit boot_bt832(3197,96723 -static void __devinit init_PXC200(3235,97657 -void bus_low(3313,100020 -void bus_high(3330,100336 -int bus_in(3347,100655 -#define TEA_FREQ 3361,100969 -#define TEA_BUFFER 3362,100992 -#define TEA_SIGNAL_STRENGTH 3364,101019 -#define TEA_PORT1 3366,101054 -#define TEA_PORT0 3367,101079 -#define TEA_BAND 3369,101105 -#define TEA_BAND_FM 3370,101129 -#define TEA_BAND_MW 3371,101152 -#define TEA_BAND_LW 3372,101175 -#define TEA_BAND_SW 3373,101198 -#define TEA_MONO 3375,101222 -#define TEA_ALLOW_STEREO 3376,101246 -#define TEA_FORCE_MONO 3377,101273 -#define TEA_SEARCH_DIRECTION 3379,101300 -#define TEA_SEARCH_DOWN 3380,101335 -#define TEA_SEARCH_UP 3381,101362 -#define TEA_STATUS 3383,101388 -#define TEA_STATUS_TUNED 3384,101414 -#define TEA_STATUS_SEARCHING 3385,101441 -static int tea5757_read(3388,101495 -static int tea5757_write(3436,102685 -void tea5757_set_freq(3470,103465 -void winview_audio(3485,103923 -gvbctv3pci_audio(3532,105249 -gvbctv5pci_audio(3554,105721 -avermedia_tvphone_audio(3622,107214 -avermedia_tv_stereo_audio(3644,107642 -lt9415_audio(3665,108130 -terratv_audio(3695,108984 -winfast2000_audio(3715,109433 -pvbt878p9b_audio(3749,110368 -fv2000s_audio(3786,111166 -windvr_audio(3821,111924 -adtvk503_audio(3850,112809 -static void rv605_muxsel(3901,114750 -#define ENA0 3925,115383 -#define ENB0 3926,115404 -#define ENA1 3927,115425 -#define ENB1 3928,115446 -#define IN10 3930,115468 -#define IN00 3931,115489 -#define IN11 3932,115510 -#define IN01 3933,115531 -static void xguard_muxsel(3935,115553 -static void picolo_tetra_init(3945,115925 -static void picolo_tetra_muxsel 3951,116200 -#define I2C_TDA8540 3985,117534 -#define I2C_TDA8540_ALT1 3986,117566 -#define I2C_TDA8540_ALT2 3987,117598 -#define I2C_TDA8540_ALT3 3988,117630 -#define I2C_TDA8540_ALT4 3989,117662 -#define I2C_TDA8540_ALT5 3990,117694 -#define I2C_TDA8540_ALT6 3991,117726 -static void ivc120_muxsel(3993,117759 -void __devinit bttv_check_chipset(4030,119126 -int __devinit bttv_handle_chipset(4077,120458 -#define PX_CFG_PXC200F 4124,121766 -#define PX_FLAG_PXC200A 4125,121794 -#define PX_I2C_PIC 4126,121862 -#define PX_PXC200A_CARDID 4127,121892 -#define PX_I2C_CMD_CFG 4128,121929 -static void PXC200_muxsel(4130,121960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36060.c,1193 -#define ZR060_VERSION 27,1050 -#define MAX_CODECS 53,1609 -static int zr36060_codecs 56,1679 -static int low_bitrate 58,1711 -static int debug 63,1896 -#define dprintk(dprintk67,1990 -zr36060_read 81,2411 -zr36060_write(101,2839 -zr36060_read_status 126,3534 -zr36060_read_scalefactor 142,3933 -zr36060_wait_end 159,4463 -zr36060_basic_test 181,5044 -zr36060_pushit 211,5768 -static const char zr36060_dqt[238,6620 -static const char zr36060_dht[261,7565 -static const char zr36060_app[318,10298 -static const char zr36060_com[331,10609 -#define NO_OF_COMPONENTS 345,10993 -#define BASELINE_PRECISION 346,11039 -static const char zr36060_tq[347,11092 -static const char zr36060_td[348,11171 -static const char zr36060_ta[349,11250 -static const char zr36060_decimation_h[352,11408 -static const char zr36060_decimation_v[353,11480 -zr36060_set_sof 368,12064 -zr36060_set_sos 401,13194 -zr36060_set_dri 430,14071 -zr36060_init 453,14739 -zr36060_set_mode 600,19433 -zr36060_set_video 618,19850 -zr36060_control 778,24998 -zr36060_unset 858,26811 -zr36060_setup 887,27500 -static const struct videocodec zr36060_codec 941,28859 -zr36060_init_module 962,29530 -zr36060_cleanup_module 970,29699 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-driver.c,4957 -unsigned int bttv_num;41,1385 -struct bttv bttvs[42,1440 -unsigned int bttv_debug 44,1470 -unsigned int bttv_verbose 45,1499 -unsigned int bttv_gpio 46,1530 -static unsigned int bigendian=50,1602 -static unsigned int bigendian=52,1641 -static unsigned int radio[54,1681 -static unsigned int irq_debug 55,1718 -static unsigned int gbuffers 56,1753 -static unsigned int gbufsize 57,1787 -static int video_nr 59,1829 -static int radio_nr 60,1855 -static int vbi_nr 61,1881 -static int debug_latency 62,1905 -static unsigned int fdsr 64,1936 -static unsigned int combfilter 67,1981 -static unsigned int lumafilter 68,2018 -static unsigned int automute 69,2055 -static unsigned int chroma_agc 70,2092 -static unsigned int adc_crush 71,2129 -static unsigned int whitecrush_upper 72,2166 -static unsigned int whitecrush_lower 73,2211 -static unsigned int vcr_hack 74,2256 -static unsigned int irq_iswitch 75,2293 -static unsigned int v4l2 78,2382 -static int __init p_radio(131,4520 -static ssize_t show_card(138,4798 -static u8 SRAM_Table[150,5277 -const struct bttv_tvnorm bttv_tvnorms[183,6364 -const unsigned int BTTV_TVNORMS 321,10264 -const struct bttv_format bttv_formats[326,10466 -const unsigned int BTTV_FORMATS 478,14632 -#define V4L2_CID_PRIVATE_CHROMA_AGC 482,14772 -#define V4L2_CID_PRIVATE_COMBFILTER 483,14837 -#define V4L2_CID_PRIVATE_AUTOMUTE 484,14902 -#define V4L2_CID_PRIVATE_LUMAFILTER 485,14967 -#define V4L2_CID_PRIVATE_AGC_CRUSH 486,15032 -#define V4L2_CID_PRIVATE_VCR_HACK 487,15097 -#define V4L2_CID_PRIVATE_WHITECRUSH_UPPER 488,15162 -#define V4L2_CID_PRIVATE_WHITECRUSH_LOWER 489,15234 -#define V4L2_CID_PRIVATE_LASTP1 490,15306 -static const struct v4l2_queryctrl no_ctl 492,15372 -static const struct v4l2_queryctrl bttv_ctls[496,15472 -const int BTTV_CTLS 627,19012 -int check_alloc_btres(633,19222 -int check_btres(654,19620 -int locked_btres(660,19708 -void free_btres(666,19796 -static void set_pll_freq(693,20583 -static void set_pll(715,21041 -void bt848A_set_timing(764,22542 -static void bt848_bright(796,23406 -static void bt848_hue(808,23667 -static void bt848_contrast(819,23841 -static void bt848_sat(833,24145 -video_mux(853,24676 -static char *audio_modes[883,25478 -audio_mux(889,25605 -i2c_vidiocschan(930,26687 -set_tvnorm(943,26957 -set_input(975,27620 -static void init_irqreg(997,28133 -static void init_bt848(1019,28634 -void bttv_reinit_bt848(1071,30119 -static int get_control(1087,30477 -static int set_control(1163,32130 -void bttv_gpio_tracking(1266,34626 -void bttv_field_count(1275,34929 -format_by_palette(1293,35256 -format_by_fourcc(1307,35516 -bttv_switch_overlay(1324,35906 -static int bttv_prepare_buffer(1354,36752 -buffer_setup(1414,38244 -buffer_prepare(1427,38538 -buffer_queue(1438,38832 -static void buffer_release(1449,39157 -static struct videobuf_queue_ops bttv_video_qops 1457,39360 -static const char *v4l1_ioctls[1464,39545 -#define V4L1_IOCTLS 1470,39887 -int bttv_common_ioctls(1472,39932 -static int verify_window(1814,47891 -static int setup_window(1856,48707 -static struct videobuf_queue* bttv_queue(1933,50520 -static int bttv_resource(1950,50794 -static int bttv_switch_type(1967,51048 -static int bttv_g_fmt(1980,51322 -static int bttv_try_fmt(2007,52095 -static int bttv_s_fmt(2076,53749 -static int bttv_do_ioctl(2125,54994 -static int bttv_ioctl(2813,71469 -static ssize_t bttv_read(2827,71818 -static unsigned int bttv_poll(2855,72542 -static int bttv_open(2906,73937 -static int bttv_release(2967,75405 -bttv_mmap(3007,76287 -static struct file_operations bttv_fops 3017,76578 -static struct video_device bttv_video_template 3029,76816 -struct video_device bttv_vbi_template 3039,77079 -static int radio_open(3051,77434 -static int radio_release(3085,78105 -static int radio_do_ioctl(3093,78250 -static int radio_ioctl(3144,79517 -static struct file_operations radio_fops 3150,79694 -static struct video_device radio_template 3159,79868 -static char *irq_name[3171,80212 -static void bttv_print_irqbits(3193,80982 -static void bttv_print_riscaddr(3206,81218 -static void bttv_irq_debug_low_latency(3221,81885 -bttv_irq_next_video(3244,82654 -bttv_irq_wakeup_video(3304,84260 -bttv_irq_wakeup_vbi(3341,85410 -static void bttv_irq_timeout(3356,85703 -bttv_irq_wakeup_top(3407,87090 -static inline int is_active(3426,87500 -bttv_irq_switch_video(3436,87670 -bttv_irq_switch_vbi(3474,88544 -static irqreturn_t bttv_irq(3505,89238 -static struct video_device *vdev_init(3606,91912 -static void bttv_unregister_video(3625,92412 -static int __devinit bttv_register_video(3651,93028 -static void pci_set_command(3694,94338 -static int __devinit bttv_probe(3705,94606 -static void __devexit bttv_remove(3883,99675 -static int bttv_suspend(3922,100658 -static int bttv_resume(3955,101544 -static struct pci_device_id bttv_pci_tbl[3986,102353 -static struct pci_driver bttv_pci_driver 4000,102829 -static int bttv_init_module(4010,103076 -static void bttv_cleanup_module(4044,104131 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ov7x20.c,1217 -#define DEBUG14,522 -#define REG_GAIN 20,606 -#define REG_BLUE 21,646 -#define REG_RED 22,685 -#define REG_SAT 23,723 -#define REG_BRT 24,763 -#define REG_SHARP 25,805 -#define REG_BLUE_BIAS 26,852 -#define REG_RED_BIAS 27,906 -#define REG_EXP 28,958 -#define OV7120_DFL_BRIGHT 31,1067 -#define OV7620_DFL_BRIGHT 32,1102 -#define OV7120_DFL_SAT 33,1137 -#define OV7620_DFL_SAT 34,1172 -#define DFL_AUTO_EXP 35,1207 -#define DFL_AUTO_GAIN 36,1242 -#define OV7120_DFL_GAIN 37,1277 -#define OV7620_DFL_GAIN 38,1312 -#define OV7120_DFL_EXP 41,1493 -#define OV7620_DFL_EXP 42,1528 -#define HWSBASE 45,1588 -#define HWEBASE 46,1645 -#define VWSBASE 47,1666 -#define VWEBASE 48,1687 -struct ov7x20 ov7x2050,1709 -static unsigned char ctab[60,1848 -static struct ovcamchip_regvals regvals_init_7120[66,2035 -static struct ovcamchip_regvals regvals_init_7620[137,3541 -static inline int ov7x20_lut_find(208,5036 -static int ov7x20_init(219,5255 -static int ov7x20_free(247,5750 -static int ov7x20_set_v4l1_control(255,5878 -static int ov7x20_get_v4l1_control(341,7730 -static int ov7x20_mode_init(390,8869 -static int ov7x20_set_window(412,9480 -static int ov7x20_command(436,9999 -struct ovcamchip_ops ov7x20_ops 451,10393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ovcamchip_core.c,975 -#define DEBUG12,458 -#define DRIVER_VERSION 20,607 -#define DRIVER_AUTHOR 21,652 -#define DRIVER_DESC 22,716 -#define PINFO(PINFO24,765 -#define PERROR(PERROR25,845 -int ovcamchip_debug 28,939 -static int debug;29,964 -static int mono 38,1298 -#define GENERIC_REG_ID_HIGH 48,1604 -#define GENERIC_REG_ID_LOW 49,1669 -#define GENERIC_REG_COM_I 50,1734 -static char *chip_names[58,1994 -static struct i2c_driver driver;71,2311 -static struct i2c_client client_template;72,2344 -int ov_write_regvals(76,2466 -int ov_write_mask(95,2959 -static int init_camchip(122,3578 -static int ov7xx0_detect(164,4475 -static int ov6xx0_detect(218,5696 -static int ovcamchip_detect(255,6465 -static int ovcamchip_attach(289,7327 -static int ovcamchip_detach(348,8615 -static int ovcamchip_command(364,8837 -static struct i2c_driver driver 413,9817 -static struct i2c_client client_template 424,10103 -static int __init ovcamchip_init(430,10209 -static void __exit ovcamchip_exit(440,10375 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ovcamchip_priv.h,339 -#define __LINUX_OVCAMCHIP_PRIV_H16,603 -#define PDEBUG(PDEBUG24,716 -#define DDEBUG(DDEBUG28,856 -#define I2C_DETECT_RETRIES 34,1117 -struct ovcamchip_regvals ovcamchip_regvals36,1148 -struct ovcamchip_ops ovcamchip_ops41,1219 -struct ovcamchip ovcamchip47,1376 -static inline int ov_read(59,1816 -static inline int ov_write(69,2007 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ov7x10.c,1342 -#define DEBUG14,537 -#define REG_GAIN 20,621 -#define REG_BLUE 21,661 -#define REG_RED 22,711 -#define REG_SAT 23,760 -#define REG_CNT 24,800 -#define REG_BRT 25,840 -#define REG_BLUE_BIAS 26,882 -#define REG_RED_BIAS 27,940 -#define REG_GAMMA_COEFF 28,996 -#define REG_WB_RANGE 29,1047 -#define REG_EXP 30,1103 -#define REG_CLOCK 31,1156 -#define REG_FIELD_DIVIDE 32,1211 -#define REG_HWIN_START 33,1276 -#define REG_HWIN_END 34,1335 -#define REG_VWIN_START 35,1390 -#define REG_VWIN_END 36,1447 -#define REG_PIXEL_SHIFT 37,1500 -#define REG_YOFFSET 38,1550 -#define REG_UOFFSET 39,1599 -#define REG_ECW 40,1648 -#define REG_ECB 41,1706 -#define REG_FRAMERATE_H 42,1764 -#define REG_FRAMERATE_L 43,1822 -#define REG_ALC 44,1873 -#define REG_VOFFSET 45,1930 -#define REG_ARRAY_BIAS 46,1990 -#define REG_YGAMMA 47,2052 -#define REG_BIAS_ADJUST 48,2109 -#define HWSBASE 51,2189 -#define HWEBASE 52,2210 -#define VWSBASE 53,2231 -#define VWEBASE 54,2252 -struct ov7x10 ov7x1056,2274 -static struct ovcamchip_regvals regvals_init_7x10[74,2729 -static int ov7x10_init(106,3380 -static int ov7x10_free(129,3764 -static int ov7x10_set_control(137,3892 -static int ov7x10_get_control(210,5479 -static int ov7x10_mode_init(260,6615 -static int ov7x10_set_window(292,7293 -static int ov7x10_command(316,7812 -struct ovcamchip_ops ov7x10_ops 331,8196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ov6x30.c,762 -#define DEBUG12,466 -#define REG_GAIN 18,550 -#define REG_BLUE 19,590 -#define REG_RED 20,629 -#define REG_SAT 21,667 -#define REG_CNT 22,713 -#define REG_BRT 23,759 -#define REG_SHARP 24,801 -#define REG_WB_BLUE 25,841 -#define REG_WB_RED 26,893 -#define REG_EXP 27,943 -#define HWSBASE 30,1006 -#define HWEBASE 31,1027 -#define VWSBASE 32,1048 -#define VWEBASE 33,1069 -struct ov6x30 ov6x3035,1091 -static struct ovcamchip_regvals regvals_init_6x30[43,1185 -static int ov6x30_init(132,3345 -static int ov6x30_free(155,3729 -static int ov6x30_set_control(163,3857 -static int ov6x30_get_control(242,5575 -static int ov6x30_mode_init(295,6790 -static int ov6x30_set_window(331,7825 -static int ov6x30_command(355,8383 -struct ovcamchip_ops ov6x30_ops 370,8767 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ov76be.c,1341 -#define DEBUG12,459 -#define REG_GAIN 19,620 -#define REG_BLUE 20,660 -#define REG_RED 21,710 -#define REG_SAT 22,759 -#define REG_CNT 23,799 -#define REG_BRT 24,839 -#define REG_BLUE_BIAS 25,881 -#define REG_RED_BIAS 26,939 -#define REG_GAMMA_COEFF 27,995 -#define REG_WB_RANGE 28,1046 -#define REG_EXP 29,1102 -#define REG_CLOCK 30,1155 -#define REG_FIELD_DIVIDE 31,1210 -#define REG_HWIN_START 32,1275 -#define REG_HWIN_END 33,1334 -#define REG_VWIN_START 34,1389 -#define REG_VWIN_END 35,1446 -#define REG_PIXEL_SHIFT 36,1499 -#define REG_YOFFSET 37,1549 -#define REG_UOFFSET 38,1598 -#define REG_ECW 39,1647 -#define REG_ECB 40,1705 -#define REG_FRAMERATE_H 41,1763 -#define REG_FRAMERATE_L 42,1821 -#define REG_ALC 43,1872 -#define REG_VOFFSET 44,1929 -#define REG_ARRAY_BIAS 45,1989 -#define REG_YGAMMA 46,2051 -#define REG_BIAS_ADJUST 47,2108 -#define HWSBASE 50,2188 -#define HWEBASE 51,2209 -#define VWSBASE 52,2230 -#define VWEBASE 53,2251 -struct ov76be ov76be55,2273 -static struct ovcamchip_regvals regvals_init_76be[64,2457 -static int ov76be_init(96,3108 -static int ov76be_free(119,3492 -static int ov76be_set_control(127,3620 -static int ov76be_get_control(186,4918 -static int ov76be_mode_init(228,5866 -static int ov76be_set_window(260,6544 -static int ov76be_command(284,7063 -struct ovcamchip_ops ov76be_ops 299,7447 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ovcamchip/ov6x20.c,802 -#define DEBUG12,466 -#define REG_GAIN 18,550 -#define REG_BLUE 19,590 -#define REG_RED 20,629 -#define REG_SAT 21,667 -#define REG_CNT 22,707 -#define REG_BRT 23,747 -#define REG_WB_BLUE 24,789 -#define REG_WB_RED 25,841 -#define REG_EXP 26,891 -#define HWSBASE 29,954 -#define HWEBASE 30,975 -#define VWSBASE 31,996 -#define VWEBASE 32,1017 -struct ov6x20 ov6x2034,1039 -static struct ovcamchip_regvals regvals_init_6x20_511[43,1188 -static struct ovcamchip_regvals regvals_init_6x20_518[82,2296 -static int ov6x20_init(158,4983 -static int ov6x20_free(192,5637 -static int ov6x20_set_control(200,5765 -static int ov6x20_get_control(279,7471 -static int ov6x20_mode_init(332,8676 -static int ov6x20_set_window(372,9771 -static int ov6x20_command(396,10329 -struct ovcamchip_ops ov6x20_ops 411,10713 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cpia.h,3912 -#define cpia_h2,15 -#define CPIA_MAJ_VER 29,989 -#define CPIA_MIN_VER 30,1012 -#define CPIA_PATCH_VER 31,1037 -#define CPIA_PP_MAJ_VER 33,1063 -#define CPIA_PP_MIN_VER 34,1106 -#define CPIA_PP_PATCH_VER 35,1149 -#define CPIA_USB_MAJ_VER 37,1195 -#define CPIA_USB_MIN_VER 38,1238 -#define CPIA_USB_PATCH_VER 39,1281 -#define CPIA_MAX_FRAME_SIZE_UNALIGNED 41,1327 -#define CPIA_MAX_FRAME_SIZE 42,1402 -struct cpia_camera_opscpia_camera_ops51,1656 -struct cpia_frame cpia_frame108,3640 -struct cam_params cam_params116,3733 -enum v4l_camstates v4l_camstates235,5990 - CPIA_V4L_IDLE 236,6011 - CPIA_V4L_ERROR,237,6031 - CPIA_V4L_COMMAND,238,6048 - CPIA_V4L_GRABBING,239,6067 - CPIA_V4L_STREAMING,240,6087 - CPIA_V4L_STREAMING_PAUSED,241,6108 -#define FRAME_NUM 244,6140 -struct cam_data cam_data246,6192 -#define CPIA_MAX_IMAGE_SIZE 300,8383 -#define MAGIC_0 303,8462 -#define MAGIC_1 304,8484 -#define DATA_IN 305,8506 -#define DATA_OUT 306,8528 -#define VIDEOSIZE_QCIF 307,8550 -#define VIDEOSIZE_CIF 308,8589 -#define VIDEOSIZE_SIF 309,8627 -#define VIDEOSIZE_QSIF 310,8665 -#define VIDEOSIZE_48_48 311,8704 -#define VIDEOSIZE_64_48 312,8777 -#define VIDEOSIZE_128_96 313,8804 -#define VIDEOSIZE_160_120 314,8831 -#define VIDEOSIZE_176_144 315,8872 -#define VIDEOSIZE_192_144 316,8913 -#define VIDEOSIZE_224_168 317,8941 -#define VIDEOSIZE_256_192 318,8969 -#define VIDEOSIZE_288_216 319,8997 -#define VIDEOSIZE_320_240 320,9026 -#define VIDEOSIZE_352_288 321,9066 -#define VIDEOSIZE_88_72 322,9106 -#define SUBSAMPLE_420 323,9152 -#define SUBSAMPLE_422 324,9176 -#define YUVORDER_YUYV 325,9200 -#define YUVORDER_UYVY 326,9224 -#define NOT_COMPRESSED 327,9248 -#define COMPRESSED 328,9273 -#define NO_DECIMATION 329,9294 -#define DECIMATION_ENAB 330,9318 -#define EOI 331,9344 -#define EOL 332,9381 -#define FRAME_HEADER_SIZE 333,9417 -#define CPIA_GRAB_SINGLE 336,9470 -#define CPIA_GRAB_CONTINUOUS 337,9497 -#define CPIA_COMPRESSION_NONE 340,9558 -#define CPIA_COMPRESSION_AUTO 341,9590 -#define CPIA_COMPRESSION_MANUAL 342,9622 -#define CPIA_COMPRESSION_TARGET_QUALITY 343,9656 -#define CPIA_COMPRESSION_TARGET_FRAMERATE 344,9706 -#define SYSTEMSTATE 347,9797 -#define GRABSTATE 348,9819 -#define STREAMSTATE 349,9839 -#define FATALERROR 350,9861 -#define CMDERROR 351,9882 -#define DEBUGFLAGS 352,9901 -#define VPSTATUS 353,9922 -#define ERRORCODE 354,9941 -#define UNINITIALISED_STATE 357,9980 -#define PASS_THROUGH_STATE 358,10010 -#define LO_POWER_STATE 359,10039 -#define HI_POWER_STATE 360,10065 -#define WARM_BOOT_STATE 361,10091 -#define GRAB_IDLE 364,10135 -#define GRAB_ACTIVE 365,10156 -#define GRAB_DONE 366,10179 -#define STREAM_NOT_READY 369,10219 -#define STREAM_READY 370,10246 -#define STREAM_OPEN 371,10270 -#define STREAM_PAUSED 372,10293 -#define STREAM_FINISHED 373,10318 -#define CPIA_FLAG 376,10390 -#define SYSTEM_FLAG 377,10412 -#define INT_CTRL_FLAG 378,10436 -#define PROCESS_FLAG 379,10462 -#define COM_FLAG 380,10487 -#define VP_CTRL_FLAG 381,10508 -#define CAPTURE_FLAG 382,10533 -#define DEBUG_FLAG 383,10558 -#define VP_STATE_OK 386,10597 -#define VP_STATE_FAILED_VIDEOINIT 388,10625 -#define VP_STATE_FAILED_AECACBINIT 389,10664 -#define VP_STATE_AEC_MAX 390,10704 -#define VP_STATE_ACB_BMAX 391,10735 -#define VP_STATE_ACB_RMIN 393,10768 -#define VP_STATE_ACB_GMIN 394,10800 -#define VP_STATE_ACB_RMAX 395,10832 -#define VP_STATE_ACB_GMAX 396,10864 -#define COMP_RED 399,10941 -#define COMP_GREEN1 400,10969 -#define COMP_GREEN2 401,10997 -#define COMP_BLUE 402,11033 -#define EXPOSURE_VERY_LIGHT 405,11084 -#define EXPOSURE_LIGHT 406,11114 -#define EXPOSURE_NORMAL 407,11144 -#define EXPOSURE_DARK 408,11174 -#define EXPOSURE_VERY_DARK 409,11204 -#define ERROR_FLICKER_BELOW_MIN_EXP 412,11251 -#define ALOG(ALOG413,11345 -#define LOG(LOG414,11391 -#define ADBG(ADBG417,11511 -#define DBG(DBG418,11566 -#define DBG(DBG420,11676 -#define DEB_BYTE(DEB_BYTE423,11724 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tda9840.c,633 -static int debug 37,1279 -#define dprintk 39,1348 -#define SWITCH 41,1383 -#define LEVEL_ADJUST 42,1404 -#define STEREO_ADJUST 43,1430 -#define TEST 44,1457 -static unsigned short normal_i2c[47,1529 -static unsigned short normal_i2c_range[48,1597 -I2C_CLIENT_INSMOD;51,1716 -static int tda9840_id 54,1763 -static struct i2c_driver driver;56,1791 -static int tda9840_command(58,1825 -static int tda9840_detect(181,4457 -static int tda9840_attach(236,6159 -static int tda9840_detach(247,6512 -static struct i2c_driver driver 261,6757 -static int __init tda9840_init_module(271,7024 -static void __exit tda9840_cleanup_module(276,7113 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tuner-3036.c,765 -static int debug;31,875 -static int this_adap;32,916 -static struct i2c_client client_template;34,939 -static unsigned short normal_i2c[37,1006 -static unsigned short normal_i2c_range[38,1061 -static unsigned short probe[39,1134 -static unsigned short probe_range[40,1210 -static unsigned short ignore[41,1286 -static unsigned short ignore_range[42,1362 -static unsigned short force[43,1438 -static struct i2c_client_address_data addr_data 45,1515 -tuner_getstatus 55,1755 -#define TUNER_FL 63,1921 -tuner_islocked 66,1963 -set_tv_freq(74,2145 -tuner_attach(116,3197 -tuner_detach(148,4062 -tuner_command(154,4125 -tuner_probe(171,4371 -i2c_driver_tuner 182,4645 -static struct i2c_client client_template 193,4870 -tuner3036_init(201,5009 -tuner3036_exit(208,5094 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ibmmpeg2.h,2280 -#define __IBM_MPEG2__4,67 -#define IBM_MP2_CHIP_CONTROL 8,160 -#define IBM_MP2_CHIP_MODE 9,197 -#define IBM_MP2_SYNC_STC2 11,262 -#define IBM_MP2_SYNC_STC1 12,296 -#define IBM_MP2_SYNC_STC0 13,330 -#define IBM_MP2_SYNC_PTS2 14,364 -#define IBM_MP2_SYNC_PTS1 15,398 -#define IBM_MP2_SYNC_PTS0 16,432 -#define IBM_MP2_FIFO 18,491 -#define IBM_MP2_FIFOW 19,521 -#define IBM_MP2_FIFO_STAT 20,552 -#define IBM_MP2_RB_THRESHOLD 21,586 -#define IBM_MP2_COMMAND 23,644 -#define IBM_MP2_CMD_DATA 24,677 -#define IBM_MP2_CMD_STAT 25,710 -#define IBM_MP2_CMD_ADDR 26,743 -#define IBM_MP2_PROC_IADDR 28,820 -#define IBM_MP2_PROC_IDATA 29,855 -#define IBM_MP2_WR_PROT 30,890 -#define IBM_MP2_DRAM_ADDR 32,941 -#define IBM_MP2_DRAM_DATA 33,975 -#define IBM_MP2_DRAM_CMD_STAT 34,1009 -#define IBM_MP2_BLOCK_SIZE 35,1047 -#define IBM_MP2_SRC_ADDR 36,1082 -#define IBM_MP2_OSD_ADDR 38,1138 -#define IBM_MP2_OSD_DATA 39,1171 -#define IBM_MP2_OSD_MODE 40,1204 -#define IBM_MP2_OSD_LINK_ADDR 41,1237 -#define IBM_MP2_OSD_SIZE 42,1275 -#define IBM_MP2_HOST_INT 44,1332 -#define IBM_MP2_MASK0 45,1365 -#define IBM_MP2_HOST_INT1 46,1396 -#define IBM_MP2_MASK1 47,1430 -#define IBM_MP2_AUD_IADDR 49,1481 -#define IBM_MP2_AUD_IDATA 50,1515 -#define IBM_MP2_AUD_FIFO 51,1549 -#define IBM_MP2_AUD_FIFOW 52,1582 -#define IBM_MP2_AUD_CTL 53,1616 -#define IBM_MP2_BEEP_CTL 54,1649 -#define IBM_MP2_FRNT_ATTEN 55,1682 -#define IBM_MP2_DISP_MODE 57,1739 -#define IBM_MP2_DISP_DLY 58,1773 -#define IBM_MP2_VBI_CTL 59,1806 -#define IBM_MP2_DISP_LBOR 60,1839 -#define IBM_MP2_DISP_TBOR 61,1873 -#define IBM_MP2_INFC_CTL 63,1930 -#define IBM_MP2_PLAY 66,1987 -#define IBM_MP2_PAUSE 67,2011 -#define IBM_MP2_SINGLE_FRAME 68,2036 -#define IBM_MP2_FAST_FORWARD 69,2067 -#define IBM_MP2_SLOW_MOTION 70,2098 -#define IBM_MP2_IMED_NORM_PLAY 71,2128 -#define IBM_MP2_RESET_WINDOW 72,2161 -#define IBM_MP2_FREEZE_FRAME 73,2192 -#define IBM_MP2_RESET_VID_RATE 74,2223 -#define IBM_MP2_CONFIG_DECODER 75,2256 -#define IBM_MP2_CHANNEL_SWITCH 76,2289 -#define IBM_MP2_RESET_AUD_RATE 77,2323 -#define IBM_MP2_PRE_OP_CHN_SW 78,2357 -#define IBM_MP2_SET_STILL_MODE 79,2390 -#define XILINX_CTL0 84,2503 -#define XILINX_GLDELAY 86,2561 -#define XILINX_CS3310 88,2625 -#define XILINX_CS3310_CMPLT 90,2696 -#define XILINX_PWM 92,2766 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/videocodec.c,608 -#define VIDEOCODEC_VERSION 30,1134 -#define KERNEL_VERSION(KERNEL_VERSION48,1493 -static int debug 53,1580 -#define dprintk(dprintk57,1674 -struct attached_list attached_list63,1787 -struct codec_list codec_list68,1870 -static struct codec_list *codeclist_top 75,1997 -videocodec_attach 82,2235 -videocodec_detach 179,4324 -videocodec_register 244,5628 -videocodec_unregister 282,6469 -static char *videocodec_buf 340,7620 -static int videocodec_bufsize 341,7656 -videocodec_build_table 344,7703 -#define LINESIZE 355,7930 -videocodec_info 402,9202 -videocodec_init 448,10357 -videocodec_exit 475,11024 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tvaudio.c,9661 -static int debug 41,1024 -#define UNSET 47,1259 -#define dprintk 48,1282 -#define MAXREGS 53,1473 -typedef int (*getvalue)getvalue56,1511 -typedef int (*checkit)checkit57,1542 -typedef int (*initialize)initialize58,1586 -typedef int (*getmode)getmode59,1633 -typedef void (*setmode)setmode60,1677 -typedef void (*checkmode)checkmode61,1731 -typedef struct AUDIOCMD AUDIOCMD64,1796 -} audiocmd;audiocmd67,1947 -struct CHIPDESC CHIPDESC70,1983 -#define CHIP_HAS_VOLUME 80,2295 -#define CHIP_HAS_BASSTREBLE 81,2326 -#define CHIP_HAS_INPUTSEL 82,2357 -static struct CHIPDESC chiplist[109,2993 -struct CHIPSTATE CHIPSTATE112,3061 -#define VIDEO_MODE_RADIO 135,3474 -static unsigned short normal_i2c[140,3695 -static unsigned short normal_i2c_range[150,3921 -I2C_CLIENT_INSMOD;151,4001 -static struct i2c_driver driver;153,4021 -static struct i2c_client client_template;154,4054 -static int chip_write(160,4253 -static int chip_write_masked(189,5030 -static int chip_read(201,5341 -static int chip_read2(214,5648 -static int chip_cmd(234,6212 -static void chip_thread_wake(265,7146 -static int chip_thread(271,7293 -static void generic_checkmode(308,8248 -#define TDA9840_SW 332,8949 -#define TDA9840_LVADJ 333,8981 -#define TDA9840_STADJ 334,9013 -#define TDA9840_TEST 335,9045 -#define TDA9840_MONO 337,9078 -#define TDA9840_STEREO 338,9110 -#define TDA9840_DUALA 339,9142 -#define TDA9840_DUALB 340,9174 -#define TDA9840_DUALAB 341,9206 -#define TDA9840_DUALBA 342,9238 -#define TDA9840_EXTERNAL 343,9270 -#define TDA9840_DS_DUAL 345,9303 -#define TDA9840_ST_STEREO 346,9372 -#define TDA9840_PONRES 347,9441 -#define TDA9840_TEST_INT1SN 349,9511 -#define TDA9840_TEST_INTFU 350,9580 -static int tda9840_getmode(352,9648 -static void tda9840_setmode(368,10004 -#define TDA9855_VR 398,10646 -#define TDA9855_VL 399,10690 -#define TDA9855_BA 400,10733 -#define TDA9855_TR 401,10768 -#define TDA9855_SW 402,10805 -#define TDA9850_C4 405,10904 -#define TDA985x_C5 408,10990 -#define TDA985x_C6 409,11065 -#define TDA985x_C7 410,11140 -#define TDA985x_A1 411,11215 -#define TDA985x_A2 412,11272 -#define TDA985x_A3 413,11329 -#define TDA9855_MUTE 444,12333 -#define TDA9855_AVL 445,12386 -#define TDA9855_LOUD 446,12445 -#define TDA9855_SUR 447,12494 -#define TDA9855_EXT 451,12750 -#define TDA9855_INT 452,12823 -#define TDA985x_SAP 461,13154 -#define TDA985x_STEREO 462,13226 -#define TDA985x_MONO 463,13303 -#define TDA985x_LMU 464,13354 -#define TDA9855_TZCM 467,13455 -#define TDA9855_VZCM 468,13525 -#define TDA9855_LINEAR 469,13603 -#define TDA9855_PSEUDO 470,13651 -#define TDA9855_SPAT_30 471,13699 -#define TDA9855_SPAT_50 472,13775 -#define TDA9855_E_MONO 473,13851 -#define TDA985x_STP 484,14346 -#define TDA985x_SAPP 485,14409 -#define TDA985x_STS 486,14470 -#define TDA985x_ADJ 492,14751 -static int tda9855_volume(494,14827 -static int tda9855_bass(495,14889 -static int tda9855_treble(496,14951 -static int tda985x_getmode(498,15019 -static void tda985x_setmode(509,15263 -#define TDA9873_SW 537,15849 -#define TDA9873_AD 538,15908 -#define TDA9873_PT 539,15967 -#define TDA9873_INP_MASK 549,16187 -#define TDA9873_INTERNAL 550,16217 -#define TDA9873_EXT_STEREO 551,16247 -#define TDA9873_EXT_MONO 552,16277 -#define TDA9873_TR_MASK 565,16550 -#define TDA9873_TR_MONO 566,16587 -#define TDA9873_TR_STEREO 567,16617 -#define TDA9873_TR_REVERSE 568,16652 -#define TDA9873_TR_DUALA 569,16700 -#define TDA9873_TR_DUALB 570,16735 -#define TDA9873_GAIN_NORMAL 578,16957 -#define TDA9873_MUTE 579,16992 -#define TDA9873_AUTOMUTE 580,17027 -#define TDA9873_STEREO_ADJ 588,17220 -#define TDA9873_BG 599,17457 -#define TDA9873_M 600,17479 -#define TDA9873_DK1 601,17505 -#define TDA9873_DK2 602,17531 -#define TDA9873_DK3 603,17557 -#define TDA9873_I 604,17583 -#define TDA9873_IDR_NORM 608,17676 -#define TDA9873_IDR_FAST 609,17703 -#define TDA9873_PORTS 621,17913 -#define TDA9873_TST_PORT 624,17961 -#define TDA9873_MOUT_MONO 633,18200 -#define TDA9873_MOUT_FMONO 634,18230 -#define TDA9873_MOUT_DUALA 635,18260 -#define TDA9873_MOUT_DUALB 636,18291 -#define TDA9873_MOUT_ST 637,18327 -#define TDA9873_MOUT_EXTM 638,18363 -#define TDA9873_MOUT_EXTL 639,18412 -#define TDA9873_MOUT_EXTR 640,18448 -#define TDA9873_MOUT_EXTLR 641,18497 -#define TDA9873_MOUT_MUTE 642,18546 -#define TDA9873_PONR 645,18638 -#define TDA9873_STEREO 646,18705 -#define TDA9873_DUAL 647,18772 -static int tda9873_getmode(649,18840 -static void tda9873_setmode(664,19186 -static int tda9873_checkit(700,20113 -#define TDA9874A_AGCGR 715,20550 -#define TDA9874A_GCONR 716,20594 -#define TDA9874A_MSR 717,20644 -#define TDA9874A_C1FRA 718,20692 -#define TDA9874A_C1FRB 719,20743 -#define TDA9874A_C1FRC 720,20794 -#define TDA9874A_C2FRA 721,20845 -#define TDA9874A_C2FRB 722,20896 -#define TDA9874A_C2FRC 723,20947 -#define TDA9874A_DCR 724,20998 -#define TDA9874A_FMER 725,21050 -#define TDA9874A_FMMR 726,21099 -#define TDA9874A_C1OLAR 727,21145 -#define TDA9874A_C2OLAR 728,21204 -#define TDA9874A_NCONR 729,21263 -#define TDA9874A_NOLAR 730,21311 -#define TDA9874A_NLELR 731,21370 -#define TDA9874A_NUELR 732,21429 -#define TDA9874A_AMCONR 733,21488 -#define TDA9874A_SDACOSR 734,21543 -#define TDA9874A_AOSR 735,21604 -#define TDA9874A_DAICONR 736,21659 -#define TDA9874A_I2SOSR 737,21726 -#define TDA9874A_I2SOLAR 738,21784 -#define TDA9874A_MDACOSR 739,21846 -#define TDA9874A_ESP 740,21916 -#define TDA9874A_DSR 743,22038 -#define TDA9874A_NSR 744,22085 -#define TDA9874A_NECR 745,22131 -#define TDA9874A_DR1 746,22183 -#define TDA9874A_DR2 747,22230 -#define TDA9874A_LLRA 748,22277 -#define TDA9874A_LLRB 749,22338 -#define TDA9874A_SIFLR 750,22399 -#define TDA9874A_TR2 751,22444 -#define TDA9874A_TR1 752,22488 -#define TDA9874A_DIC 753,22532 -#define TDA9874A_SIC 754,22580 -static int tda9874a_mode 757,22632 -static int tda9874a_GCONR 758,22685 -static int tda9874a_NCONR 759,22761 -static int tda9874a_ESP 760,22840 -static int tda9874a_dic 761,22907 -static unsigned int tda9874a_SIF 764,22995 -static unsigned int tda9874a_AMSEL 765,23039 -static unsigned int tda9874a_STD 766,23083 -static struct tda9874a_MODES tda9874a_MODES779,23519 -} tda9874a_modelist[782,23578 -static int tda9874a_setup(803,24431 -static int tda9874a_getmode(840,25988 -static void tda9874a_setmode(888,27431 -static int tda9874a_checkit(969,29629 -static int tda9874a_initialize(988,30122 -#define TEA6300_VL 1018,30863 -#define TEA6300_VR 1019,30914 -#define TEA6300_BA 1020,30966 -#define TEA6300_TR 1021,31010 -#define TEA6300_FA 1022,31056 -#define TEA6300_S 1023,31109 -#define TEA6300_S_SA 1025,31231 -#define TEA6300_S_SB 1026,31285 -#define TEA6300_S_SC 1027,31333 -#define TEA6300_S_GMU 1028,31381 -#define TEA6420_S_SA 1030,31434 -#define TEA6420_S_SB 1031,31488 -#define TEA6420_S_SC 1032,31536 -#define TEA6420_S_SD 1033,31584 -#define TEA6420_S_SE 1034,31632 -#define TEA6420_S_GMU 1035,31680 -static int tea6300_shift10(1037,31733 -static int tea6300_shift12(1038,31791 -#define TDA8425_VL 1044,32006 -#define TDA8425_VR 1045,32057 -#define TDA8425_BA 1046,32109 -#define TDA8425_TR 1047,32153 -#define TDA8425_S1 1048,32199 -#define TDA8425_S1_OFF 1050,32322 -#define TDA8425_S1_CH1 1051,32381 -#define TDA8425_S1_CH2 1052,32470 -#define TDA8425_S1_MU 1053,32559 -#define TDA8425_S1_STEREO 1054,32607 -#define TDA8425_S1_STEREO_SPATIAL 1055,32658 -#define TDA8425_S1_STEREO_LINEAR 1056,32718 -#define TDA8425_S1_STEREO_PSEUDO 1057,32777 -#define TDA8425_S1_STEREO_MONO 1058,32836 -#define TDA8425_S1_ML 1059,32893 -#define TDA8425_S1_ML_SOUND_A 1060,32956 -#define TDA8425_S1_ML_SOUND_B 1061,33009 -#define TDA8425_S1_ML_STEREO 1062,33062 -#define TDA8425_S1_IS 1063,33114 -static int tda8425_shift10(1066,33178 -static int tda8425_shift12(1067,33245 -static int tda8425_initialize(1069,33313 -static void tda8425_setmode(1082,33759 -#define PIC16C54_REG_KEY_CODE 1110,34501 -#define PIC16C54_REG_MISC 1111,34562 -#define PIC16C54_MISC_RESET_REMOTE_CTL 1114,34656 -#define PIC16C54_MISC_MTS_MAIN 1116,34821 -#define PIC16C54_MISC_MTS_SAP 1117,34877 -#define PIC16C54_MISC_MTS_BOTH 1118,34933 -#define PIC16C54_MISC_SND_MUTE 1119,34989 -#define PIC16C54_MISC_SND_NOTMUTE 1120,35076 -#define PIC16C54_MISC_SWITCH_TUNER 1121,35132 -#define PIC16C54_MISC_SWITCH_LINE 1122,35208 -#define TA8874Z_LED_STE 1128,35456 -#define TA8874Z_LED_BIL 1129,35485 -#define TA8874Z_LED_EXT 1130,35514 -#define TA8874Z_MONO_SET 1131,35543 -#define TA8874Z_MUTE 1132,35573 -#define TA8874Z_F_MONO 1133,35599 -#define TA8874Z_MODE_SUB 1134,35627 -#define TA8874Z_MODE_MAIN 1135,35657 -#define TA8874Z_SEPARATION 1139,35747 -#define TA8874Z_SEPARATION_DEFAULT 1140,35779 -#define TA8874Z_B1 1143,35828 -#define TA8874Z_B0 1144,35852 -#define TA8874Z_CHAG_FLAG 1145,35876 -static int ta8874z_getmode(1152,35973 -static audiocmd ta8874z_stereo 1167,36336 -static audiocmd ta8874z_mono 1168,36408 -static audiocmd ta8874z_main 1169,36493 -static audiocmd ta8874z_sub 1170,36563 -static void ta8874z_setmode(1172,36648 -static int ta8874z_checkit(1199,37115 -int tda8425 1210,37459 -int tda9840 1211,37477 -int tda9850 1212,37495 -int tda9855 1213,37513 -int tda9873 1214,37531 -int tda9874a 1215,37549 -int tea6300 1216,37567 -int tea6420 1217,37616 -int pic16c54 1218,37634 -int ta8874z 1219,37652 -static struct CHIPDESC chiplist[1232,37965 -static int chip_attach(1418,43253 -static int chip_probe(1498,45771 -static int chip_detach(1514,46138 -static int chip_command(1534,46636 -static struct i2c_driver driver 1637,49343 -static struct i2c_client client_template 1647,49682 -static int __init audiochip_init_module(1654,49824 -static void __exit audiochip_cleanup_module(1666,50180 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-core.c,951 -static unsigned int gpio_tracking 42,1352 -static unsigned int ts_nr 46,1488 -static unsigned int vbi_nr 50,1589 -static unsigned int radio_nr 54,1694 -static unsigned int oss 58,1807 -static unsigned int dsp_nr 62,1919 -static unsigned int mixer_nr 66,2028 -static unsigned int core_debug 71,2152 -#define dprintk(dprintk75,2279 -static const char *v4l1_ioctls[81,2530 -#define V4L1_IOCTLS 87,2872 -static const char *v4l2_ioctls[89,2917 -#define V4L2_IOCTLS 101,3550 -void cx88_print_ioctl(103,3595 -static u32* cx88_risc_field(133,4519 -int cx88_risc_buffer(182,6071 -int cx88_risc_stopper(218,7089 -cx88_free_buffer(239,7575 -struct sram_channel cx88_sram_channels[276,8914 -int cx88_sram_channel_setup(351,10938 -int cx88_risc_decode(391,12024 -void cx88_risc_disasm(429,13082 -void cx88_sram_channel_dump(447,13583 -char *cx88_pci_irqs[501,15080 -char *cx88_vid_irqs[507,15322 -void cx88_print_irqbits(515,15604 -int cx88_pci_quirks(534,16008 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-cards.c,487 -struct cx88_board cx88_boards[31,1093 -const unsigned int cx88_bcount 310,8197 -struct cx88_subid cx88_subids[315,8403 -const unsigned int cx88_idcount 374,10011 -static void __devinit leadtek_eeprom(379,10228 -} hauppauge_tuner[409,11057 -} hauppauge_tuner[] __devinitdata 409,11057 -static void __devinit hauppauge_eeprom(463,13764 -} gdi_tuner[499,14806 -static void __devinit gdi_eeprom(530,15704 -i2c_eeprom(546,16197 -void cx88_card_list(575,16805 -void cx88_card_setup(601,17827 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-tvaudio.c,666 -static unsigned int audio_debug 55,1873 -#define dprintk(dprintk59,2004 -static char *aud_ctl_names[64,2171 -struct rlist rlist91,3405 -static void set_audio_registers(96,3444 -static void set_audio_start(118,3868 -static void set_audio_finish(136,4285 -static void set_audio_standard_BTSC(153,4648 -static void set_audio_standard_NICAM(262,9293 -static void set_audio_standard_NICAM_L(334,11555 -static void set_audio_standard_A2(458,17329 -static void set_audio_standard_EIAJ(567,20701 -static void set_audio_standard_FM(581,21052 -void cx88_set_tvaudio(631,22428 -void cx88_get_stereo(664,23030 -void cx88_set_stereo(710,24230 -int cx88_audio_thread(778,25666 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88.h,2800 -#define CX88_VERSION_CODE 35,1120 -# define TRUE 38,1182 -# define FALSE 41,1224 -#define UNSET 43,1253 -#define CX88_MAXBOARDS 45,1274 -#define FORMAT_FLAGS_PACKED 50,1433 -#define FORMAT_FLAGS_PLANAR 51,1472 -#define VBI_LINE_COUNT 53,1512 -#define VBI_LINE_LENGTH 54,1551 -#define SHADOW_AUD_VOL_CTL 57,1650 -#define SHADOW_AUD_BAL_CTL 58,1689 -#define SHADOW_MAX 59,1728 -struct cx8800_tvnorm cx8800_tvnorm64,1901 -struct cx8800_fmt cx8800_fmt71,2057 -struct cx88_ctrl cx88_ctrl79,2185 -#define SRAM_CH21 91,2517 -#define SRAM_CH22 92,2551 -#define SRAM_CH23 93,2571 -#define SRAM_CH24 94,2591 -#define SRAM_CH25 95,2625 -#define SRAM_CH26 96,2659 -struct sram_channel sram_channel99,2691 -#define CX88_BOARD_NOAUTO 116,3058 -#define CX88_BOARD_UNKNOWN 117,3097 -#define CX88_BOARD_HAUPPAUGE 118,3140 -#define CX88_BOARD_GDI 119,3183 -#define CX88_BOARD_PIXELVIEW 120,3226 -#define CX88_BOARD_ATI_WONDER_PRO 121,3269 -#define CX88_BOARD_WINFAST2000XP 122,3312 -#define CX88_BOARD_AVERTV_303 123,3355 -#define CX88_BOARD_MSI_TVANYWHERE_MASTER 124,3398 -#define CX88_BOARD_WINFAST_DV2000 125,3441 -#define CX88_BOARD_LEADTEK_PVR2000 126,3484 -#define CX88_BOARD_IODATA_GVVCP3PCI 127,3527 -#define CX88_BOARD_PROLINK_PLAYTVPVR 128,3571 -#define CX88_BOARD_ASUS_PVR_416 129,3615 -#define CX88_BOARD_MSI_TVANYWHERE 130,3659 -enum cx88_itype cx88_itype132,3704 - CX88_VMUX_COMPOSITE1 133,3722 - CX88_VMUX_COMPOSITE2 134,3749 - CX88_VMUX_COMPOSITE3 135,3776 - CX88_VMUX_COMPOSITE4 136,3803 - CX88_VMUX_TELEVISION 137,3830 - CX88_VMUX_SVIDEO 138,3857 - CX88_VMUX_DEBUG 139,3884 - CX88_RADIO 140,3911 -struct cx88_input cx88_input143,3942 -struct cx88_board cx88_board149,4057 -struct cx88_subid cx88_subid157,4259 -#define INPUT(INPUT163,4338 -#define RESOURCE_OVERLAY 168,4527 -#define RESOURCE_VIDEO 169,4560 -#define RESOURCE_VBI 170,4593 -#define BUFFER_TIMEOUT 173,4682 -struct cx88_buffer cx88_buffer178,4770 -struct cx88_dmaqueue cx88_dmaqueue189,5013 -struct cx8800_fh cx8800_fh198,5231 -struct cx8800_suspend_state cx8800_suspend_state218,5709 -struct cx8800_dev cx8800_dev224,5863 -#define cx_read(cx_read277,7374 -#define cx_write(cx_write278,7438 -#define cx_writeb(cx_writeb279,7513 -#define cx_andor(cx_andor281,7584 -#define cx_set(cx_set284,7717 -#define cx_clear(cx_clear285,7778 -#define cx_wait(cx_wait287,7836 -#define cx_sread(cx_sread290,7931 -#define cx_swrite(cx_swrite291,7979 -#define cx_sandor(cx_sandor294,8102 -#define WW_NONE 366,10771 -#define WW_BTSC 367,10791 -#define WW_NICAM_I 368,10811 -#define WW_NICAM_BGDKL 369,10833 -#define WW_A1 370,10859 -#define WW_A2_BG 371,10877 -#define WW_A2_DK 372,10897 -#define WW_A2_M 373,10917 -#define WW_EIAJ 374,10937 -#define WW_SYSTEM_L_AM 375,10957 -#define WW_I2SPT 376,10983 -#define WW_FM 377,11003 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-video.c,3485 -#define V4L2_I2C_CLIENTS 33,1083 -static unsigned int video_nr[41,1340 -static unsigned int vbi_nr[45,1526 -static unsigned int radio_nr[49,1704 -static unsigned int latency 53,1890 -static unsigned int video_debug 57,2001 -static unsigned int irq_debug 61,2132 -static unsigned int vid_limit 65,2263 -static unsigned int tuner[69,2393 -static unsigned int card[73,2560 -static unsigned int nicam 77,2723 -#define dprintk(dprintk81,2824 -static struct list_head cx8800_devlist;86,3013 -static unsigned int cx8800_devcount;87,3054 -static unsigned int inline norm_swidth(92,3246 -static unsigned int inline norm_hdelay(97,3368 -static unsigned int inline norm_vdelay(102,3490 -static unsigned int inline norm_maxw(107,3614 -static unsigned int inline norm_maxh(113,3786 -static unsigned int inline norm_fsc8(118,3906 -static unsigned int inline norm_notchfilter(126,4117 -static unsigned int inline norm_htotal(133,4281 -static unsigned int inline norm_vbipack(138,4404 -static struct cx8800_tvnorm tvnorms[143,4527 -static struct cx8800_fmt formats[209,6052 -static struct cx8800_fmt* format_by_fourcc(273,7756 -static const struct v4l2_queryctrl no_ctl 285,8032 -static struct cx88_ctrl cx8800_ctls[290,8133 -const int CX8800_CTLS 393,10870 -static int res_get(398,11069 -int res_check(420,11505 -int res_locked(426,11602 -void res_free(432,11703 -static const u32 xtal 446,12030 -static int set_pll(448,12065 -static int set_tvaudio(486,12999 -static int set_tvnorm(530,14194 -static int set_scale(622,16928 -static int video_mux(683,18858 -static int start_video_dma(711,19700 -static int restart_video_queue(739,20381 -buffer_setup(793,21929 -buffer_prepare(806,22223 -buffer_queue(890,24489 -static void buffer_release(938,26015 -struct videobuf_queue_ops cx8800_video_qops 946,26231 -static u32* ov_risc_field(956,26530 -static int ov_risc_frame(1017,28020 -static int verify_window(1067,29271 -static int setup_window(1107,30213 -static struct videobuf_queue* get_queue(1183,31786 -static int get_ressource(1196,32019 -static int video_open(1209,32242 -video_read(1282,34213 -video_poll(1302,34736 -static int video_release(1313,34977 -video_mmap(1349,35778 -static int get_control(1358,36011 -static int set_control(1385,36641 -static void init_controls(1432,37845 -static int cx8800_g_fmt(1449,38208 -static int cx8800_try_fmt(1472,38836 -static int cx8800_s_fmt(1532,40117 -static int video_do_ioctl(1561,40804 -static int video_ioctl(1884,47762 -static int radio_do_ioctl(1892,48006 -static int radio_ioctl(2007,50244 -static void cx8800_vid_timeout(2015,50483 -static void cx8800_wakeup(2041,51277 -static void cx8800_vid_irq(2067,51881 -static irqreturn_t cx8800_irq(2121,53170 -static struct file_operations video_fops 2154,54002 -struct video_device cx8800_video_template 2166,54287 -struct video_device cx8800_vbi_template 2175,54512 -static struct file_operations radio_fops 2184,54718 -struct video_device cx8800_radio_template 2193,54921 -static void cx8800_shutdown(2204,55180 -static int cx8800_reset(2228,55765 -static struct video_device *vdev_init(2277,57306 -static void cx8800_unregister_video(2295,57753 -static int __devinit cx8800_initdev(2320,58342 -static void __devexit cx8800_finidev(2509,63956 -static int cx8800_suspend(2539,64628 -static int cx8800_resume(2556,65027 -struct pci_device_id cx8800_pci_tbl[2582,65600 -static struct pci_driver cx8800_pci_driver 2594,65867 -static int cx8800_init(2604,66114 -static void cx8800_fini(2618,66556 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-i2c.c,515 -void cx8800_bit_setscl(34,1168 -void cx8800_bit_setsda(46,1376 -static int cx8800_bit_getscl(58,1584 -static int cx8800_bit_getsda(67,1732 -static void cx8800_inc_use(79,1966 -static void cx8800_dec_use(84,2044 -static int attach_inform(90,2129 -void cx8800_call_i2c_clients(103,2489 -static struct i2c_algo_bit_data cx8800_i2c_algo_template 110,2657 -static struct i2c_adapter cx8800_i2c_adap_template 122,2974 -static struct i2c_client cx8800_i2c_client_template 137,3349 -int __devinit cx8800_i2c_init(143,3512 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-reg.h,21753 -#define _CX88_REG_H_25,995 -# define PCI_VENDOR_ID_CONEXANT 31,1203 -# define PCI_DEVICE_ID_CX2300_VID 34,1283 -#define CX88X_DEVCTRL 37,1332 -#define CX88X_EN_TBFX 38,1359 -#define CX88X_EN_VSFX 39,1386 -#define MO_PDMA_STHRSH 45,1570 -#define MO_PDMA_STADRS 46,1627 -#define MO_PDMA_SIADRS 47,1689 -#define MO_PDMA_SCNTRL 48,1753 -#define MO_PDMA_DTHRSH 49,1808 -#define MO_PDMA_DTADRS 50,1870 -#define MO_PDMA_DIADRS 51,1937 -#define MO_PDMA_DCNTRL 52,2006 -#define MO_LD_SSID 53,2066 -#define MO_DEV_CNTRL2 54,2124 -#define MO_PCI_INTMSK 55,2179 -#define MO_PCI_INTSTAT 56,2238 -#define MO_PCI_INTMSTAT 57,2299 -#define MO_VID_INTMSK 58,2367 -#define MO_VID_INTSTAT 59,2428 -#define MO_VID_INTMSTAT 60,2491 -#define MO_VID_INTSSTAT 61,2561 -#define MO_AUD_INTMSK 62,2628 -#define MO_AUD_INTSTAT 63,2689 -#define MO_AUD_INTMSTAT 64,2752 -#define MO_AUD_INTSSTAT 65,2822 -#define MO_TS_INTMSK 66,2889 -#define MO_TS_INTSTAT 67,2961 -#define MO_TS_INTMSTAT 68,3035 -#define MO_TS_INTSSTAT 69,3114 -#define MO_VIP_INTMSK 70,3192 -#define MO_VIP_INTSTAT 71,3251 -#define MO_VIP_INTMSTAT 72,3312 -#define MO_VIP_INTSSTAT 73,3380 -#define MO_GPHST_INTMSK 74,3445 -#define MO_GPHST_INTSTAT 75,3505 -#define MO_GPHST_INTMSTAT 76,3567 -#define MO_GPHST_INTSSTAT 77,3636 -#define MO_DMA7_PTR1 80,3739 -#define MO_DMA8_PTR1 81,3810 -#define MO_DMA21_PTR1 84,3919 -#define MO_DMA22_PTR1 85,3991 -#define MO_DMA23_PTR1 86,4063 -#define MO_DMA24_PTR1 87,4135 -#define MO_DMA25_PTR1 88,4207 -#define MO_DMA26_PTR1 89,4279 -#define MO_DMA27_PTR1 90,4351 -#define MO_DMA28_PTR1 91,4423 -#define MO_DMA29_PTR1 92,4495 -#define MO_DMA30_PTR1 93,4567 -#define MO_DMA31_PTR1 94,4639 -#define MO_DMA32_PTR1 95,4711 -#define MO_DMA21_PTR2 97,4784 -#define MO_DMA22_PTR2 98,4852 -#define MO_DMA23_PTR2 99,4920 -#define MO_DMA24_PTR2 100,4988 -#define MO_DMA25_PTR2 101,5056 -#define MO_DMA26_PTR2 102,5124 -#define MO_DMA27_PTR2 103,5192 -#define MO_DMA28_PTR2 104,5260 -#define MO_DMA29_PTR2 105,5328 -#define MO_DMA30_PTR2 106,5396 -#define MO_DMA31_PTR2 107,5464 -#define MO_DMA32_PTR2 108,5532 -#define MO_DMA21_CNT1 110,5601 -#define MO_DMA22_CNT1 111,5673 -#define MO_DMA23_CNT1 112,5745 -#define MO_DMA24_CNT1 113,5817 -#define MO_DMA25_CNT1 114,5889 -#define MO_DMA26_CNT1 115,5961 -#define MO_DMA27_CNT1 116,6033 -#define MO_DMA28_CNT1 117,6105 -#define MO_DMA29_CNT1 118,6177 -#define MO_DMA30_CNT1 119,6249 -#define MO_DMA31_CNT1 120,6321 -#define MO_DMA32_CNT1 121,6393 -#define MO_DMA21_CNT2 123,6466 -#define MO_DMA22_CNT2 124,6537 -#define MO_DMA23_CNT2 125,6608 -#define MO_DMA24_CNT2 126,6679 -#define MO_DMA25_CNT2 127,6750 -#define MO_DMA26_CNT2 128,6821 -#define MO_DMA27_CNT2 129,6892 -#define MO_DMA28_CNT2 130,6963 -#define MO_DMA29_CNT2 131,7034 -#define MO_DMA30_CNT2 132,7105 -#define MO_DMA31_CNT2 133,7176 -#define MO_DMA32_CNT2 134,7247 -#define MO_VIDY_DMA 140,7475 -#define MO_VIDU_DMA 141,7531 -#define MO_VIDV_DMA 142,7587 -#define MO_VBI_DMA 143,7643 -#define MO_DEVICE_STATUS 145,7725 -#define MO_INPUT_FORMAT 146,7762 -#define MO_AGC_BURST 147,7799 -#define MO_CONTR_BRIGHT 148,7836 -#define MO_UV_SATURATION 149,7873 -#define MO_HUE 150,7910 -#define MO_HTOTAL 151,7947 -#define MO_HDELAY_EVEN 152,7984 -#define MO_HDELAY_ODD 153,8021 -#define MO_VDELAY_ODD 154,8058 -#define MO_VDELAY_EVEN 155,8095 -#define MO_HACTIVE_EVEN 156,8132 -#define MO_HACTIVE_ODD 157,8169 -#define MO_VACTIVE_EVEN 158,8206 -#define MO_VACTIVE_ODD 159,8243 -#define MO_HSCALE_EVEN 160,8280 -#define MO_HSCALE_ODD 161,8317 -#define MO_VSCALE_EVEN 162,8354 -#define MO_FILTER_EVEN 163,8391 -#define MO_VSCALE_ODD 164,8428 -#define MO_FILTER_ODD 165,8465 -#define MO_OUTPUT_FORMAT 166,8502 -#define MO_PLL_REG 168,8540 -#define MO_PLL_ADJ_CTRL 169,8593 -#define MO_SCONV_REG 170,8661 -#define MO_SCONV_FIFO 171,8733 -#define MO_SUB_STEP 172,8801 -#define MO_SUB_STEP_DR 173,8862 -#define MO_CAPTURE_CTRL 175,8936 -#define MO_COLOR_CTRL 176,8992 -#define MO_VBI_PACKET 177,9029 -#define MO_FIELD_COUNT 178,9093 -#define MO_VIP_CONFIG 179,9147 -#define MO_VBOS_CONTROL 180,9184 -#define MO_AGC_BACK_VBI 182,9222 -#define MO_AGC_SYNC_TIP1 183,9259 -#define MO_VIDY_GPCNT 185,9297 -#define MO_VIDU_GPCNT 186,9376 -#define MO_VIDV_GPCNT 187,9455 -#define MO_VBI_GPCNT 188,9534 -#define MO_VIDY_GPCNTRL 189,9609 -#define MO_VIDU_GPCNTRL 190,9687 -#define MO_VIDV_GPCNTRL 191,9765 -#define MO_VBI_GPCNTRL 192,9843 -#define MO_VID_DMACNTRL 193,9917 -#define MO_VID_XFR_STAT 194,9981 -#define MO_AUDD_DMA 200,10206 -#define MO_AUDU_DMA 201,10271 -#define MO_AUDR_DMA 202,10334 -#define MO_AUDD_GPCNT 203,10405 -#define MO_AUDU_GPCNT 204,10487 -#define MO_AUDR_GPCNT 205,10567 -#define MO_AUDD_GPCNTRL 206,10648 -#define MO_AUDU_GPCNTRL 207,10729 -#define MO_AUDR_GPCNTRL 208,10808 -#define MO_AUD_DMACNTRL 209,10888 -#define MO_AUD_XFR_STAT 210,10952 -#define MO_AUDD_LNGTH 211,11020 -#define MO_AUDR_LNGTH 212,11090 -#define AUD_INIT 214,11160 -#define AUD_INIT_LD 215,11202 -#define AUD_SOFT_RESET 216,11244 -#define AUD_I2SINPUTCNTL 217,11286 -#define AUD_BAUDRATE 218,11328 -#define AUD_I2SOUTPUTCNTL 219,11370 -#define AAGC_HYST 220,11412 -#define AAGC_GAIN 221,11454 -#define AAGC_DEF 222,11496 -#define AUD_IIR1_0_SEL 223,11538 -#define AUD_IIR1_0_SHIFT 224,11580 -#define AUD_IIR1_1_SEL 225,11622 -#define AUD_IIR1_1_SHIFT 226,11664 -#define AUD_IIR1_2_SEL 227,11706 -#define AUD_IIR1_2_SHIFT 228,11748 -#define AUD_IIR1_3_SEL 229,11790 -#define AUD_IIR1_3_SHIFT 230,11832 -#define AUD_IIR1_4_SEL 231,11874 -#define AUD_IIR1_4_SHIFT 232,11916 -#define AUD_IIR1_5_SEL 233,11958 -#define AUD_IIR1_5_SHIFT 234,12000 -#define AUD_IIR2_0_SEL 235,12042 -#define AUD_IIR2_0_SHIFT 236,12084 -#define AUD_IIR2_1_SEL 237,12126 -#define AUD_IIR2_1_SHIFT 238,12168 -#define AUD_IIR2_2_SEL 239,12210 -#define AUD_IIR2_2_SHIFT 240,12252 -#define AUD_IIR2_3_SEL 241,12294 -#define AUD_IIR2_3_SHIFT 242,12336 -#define AUD_IIR3_0_SEL 243,12378 -#define AUD_IIR3_0_SHIFT 244,12420 -#define AUD_IIR3_1_SEL 245,12462 -#define AUD_IIR3_1_SHIFT 246,12504 -#define AUD_IIR3_2_SEL 247,12546 -#define AUD_IIR3_2_SHIFT 248,12588 -#define AUD_IIR4_0_SEL 249,12630 -#define AUD_IIR4_0_SHIFT 250,12672 -#define AUD_IIR4_1_SEL 251,12714 -#define AUD_IIR4_1_SHIFT 252,12756 -#define AUD_IIR4_2_SEL 253,12798 -#define AUD_IIR4_2_SHIFT 254,12840 -#define AUD_IIR4_0_CA0 255,12882 -#define AUD_IIR4_0_CA1 256,12924 -#define AUD_IIR4_0_CA2 257,12966 -#define AUD_IIR4_0_CB0 258,13008 -#define AUD_IIR4_0_CB1 259,13050 -#define AUD_IIR4_1_CA0 260,13092 -#define AUD_IIR4_1_CA1 261,13134 -#define AUD_IIR4_1_CA2 262,13176 -#define AUD_IIR4_1_CB0 263,13218 -#define AUD_IIR4_1_CB1 264,13260 -#define AUD_IIR4_2_CA0 265,13302 -#define AUD_IIR4_2_CA1 266,13344 -#define AUD_IIR4_2_CA2 267,13386 -#define AUD_IIR4_2_CB0 268,13428 -#define AUD_IIR4_2_CB1 269,13470 -#define AUD_HP_MD_IIR4_1 270,13512 -#define AUD_HP_PROG_IIR4_1 271,13554 -#define AUD_FM_MODE_ENABLE 272,13596 -#define AUD_POLY0_DDS_CONSTANT 273,13638 -#define AUD_DN0_FREQ 274,13680 -#define AUD_DN1_FREQ 275,13722 -#define AUD_DN1_FREQ_SHIFT 276,13764 -#define AUD_DN1_AFC 277,13806 -#define AUD_DN1_SRC_SEL 278,13848 -#define AUD_DN1_SHFT 279,13890 -#define AUD_DN2_FREQ 280,13932 -#define AUD_DN2_FREQ_SHIFT 281,13974 -#define AUD_DN2_AFC 282,14016 -#define AUD_DN2_SRC_SEL 283,14058 -#define AUD_DN2_SHFT 284,14100 -#define AUD_CRDC0_SRC_SEL 285,14142 -#define AUD_CRDC0_SHIFT 286,14184 -#define AUD_CORDIC_SHIFT_0 287,14226 -#define AUD_CRDC1_SRC_SEL 288,14268 -#define AUD_CRDC1_SHIFT 289,14310 -#define AUD_CORDIC_SHIFT_1 290,14352 -#define AUD_DCOC_0_SRC 291,14394 -#define AUD_DCOC0_SHIFT 292,14436 -#define AUD_DCOC_0_SHIFT_IN0 293,14478 -#define AUD_DCOC_0_SHIFT_IN1 294,14520 -#define AUD_DCOC_1_SRC 295,14562 -#define AUD_DCOC1_SHIFT 296,14604 -#define AUD_DCOC_1_SHIFT_IN0 297,14646 -#define AUD_DCOC_1_SHIFT_IN1 298,14688 -#define AUD_DCOC_2_SRC 299,14730 -#define AUD_DCOC2_SHIFT 300,14772 -#define AUD_DCOC_2_SHIFT_IN0 301,14814 -#define AUD_DCOC_2_SHIFT_IN1 302,14856 -#define AUD_DCOC_PASS_IN 303,14898 -#define AUD_PDET_SRC 304,14940 -#define AUD_PDET_SHIFT 305,14982 -#define AUD_PILOT_BQD_1_K0 306,15024 -#define AUD_PILOT_BQD_1_K1 307,15066 -#define AUD_PILOT_BQD_1_K2 308,15108 -#define AUD_PILOT_BQD_1_K3 309,15150 -#define AUD_PILOT_BQD_1_K4 310,15192 -#define AUD_PILOT_BQD_2_K0 311,15234 -#define AUD_PILOT_BQD_2_K1 312,15276 -#define AUD_PILOT_BQD_2_K2 313,15318 -#define AUD_PILOT_BQD_2_K3 314,15360 -#define AUD_PILOT_BQD_2_K4 315,15402 -#define AUD_THR_FR 316,15444 -#define AUD_X_PROG 317,15486 -#define AUD_Y_PROG 318,15528 -#define AUD_HARMONIC_MULT 319,15570 -#define AUD_C1_UP_THR 320,15612 -#define AUD_C1_LO_THR 321,15654 -#define AUD_C2_UP_THR 322,15696 -#define AUD_C2_LO_THR 323,15738 -#define AUD_PLL_EN 324,15780 -#define AUD_PLL_SRC 325,15822 -#define AUD_PLL_SHIFT 326,15864 -#define AUD_PLL_IF_SEL 327,15906 -#define AUD_PLL_IF_SHIFT 328,15948 -#define AUD_BIQUAD_PLL_K0 329,15990 -#define AUD_BIQUAD_PLL_K1 330,16032 -#define AUD_BIQUAD_PLL_K2 331,16074 -#define AUD_BIQUAD_PLL_K3 332,16116 -#define AUD_BIQUAD_PLL_K4 333,16158 -#define AUD_DEEMPH0_SRC_SEL 334,16200 -#define AUD_DEEMPH0_SHIFT 335,16242 -#define AUD_DEEMPH0_G0 336,16284 -#define AUD_DEEMPH0_A0 337,16326 -#define AUD_DEEMPH0_B0 338,16368 -#define AUD_DEEMPH0_A1 339,16410 -#define AUD_DEEMPH0_B1 340,16452 -#define AUD_DEEMPH1_SRC_SEL 341,16494 -#define AUD_DEEMPH1_SHIFT 342,16536 -#define AUD_DEEMPH1_G0 343,16578 -#define AUD_DEEMPH1_A0 344,16620 -#define AUD_DEEMPH1_B0 345,16662 -#define AUD_DEEMPH1_A1 346,16704 -#define AUD_DEEMPH1_B1 347,16746 -#define AUD_OUT0_SEL 348,16788 -#define AUD_OUT0_SHIFT 349,16830 -#define AUD_OUT1_SEL 350,16872 -#define AUD_OUT1_SHIFT 351,16914 -#define AUD_RDSI_SEL 352,16956 -#define AUD_RDSI_SHIFT 353,16998 -#define AUD_RDSQ_SEL 354,17040 -#define AUD_RDSQ_SHIFT 355,17082 -#define AUD_DBX_IN_GAIN 356,17124 -#define AUD_DBX_WBE_GAIN 357,17166 -#define AUD_DBX_SE_GAIN 358,17208 -#define AUD_DBX_RMS_WBE 359,17250 -#define AUD_DBX_RMS_SE 360,17292 -#define AUD_DBX_SE_BYPASS 361,17334 -#define AUD_FAWDETCTL 362,17376 -#define AUD_FAWDETWINCTL 363,17418 -#define AUD_DEEMPHGAIN_R 364,17460 -#define AUD_DEEMPHNUMER1_R 365,17502 -#define AUD_DEEMPHNUMER2_R 366,17544 -#define AUD_DEEMPHDENOM1_R 367,17586 -#define AUD_DEEMPHDENOM2_R 368,17628 -#define AUD_ERRLOGPERIOD_R 369,17670 -#define AUD_ERRINTRPTTHSHLD1_R 370,17712 -#define AUD_ERRINTRPTTHSHLD2_R 371,17754 -#define AUD_ERRINTRPTTHSHLD3_R 372,17796 -#define AUD_NICAM_STATUS1 373,17838 -#define AUD_NICAM_STATUS2 374,17880 -#define AUD_ERRLOG1 375,17922 -#define AUD_ERRLOG2 376,17964 -#define AUD_ERRLOG3 377,18006 -#define AUD_DAC_BYPASS_L 378,18048 -#define AUD_DAC_BYPASS_R 379,18090 -#define AUD_DAC_BYPASS_CTL 380,18132 -#define AUD_CTL 381,18174 -#define AUD_STATUS 382,18216 -#define AUD_VOL_CTL 383,18258 -#define AUD_BAL_CTL 384,18300 -#define AUD_START_TIMER 385,18342 -#define AUD_MODE_CHG_TIMER 386,18384 -#define AUD_POLYPH80SCALEFAC 387,18426 -#define AUD_DMD_RA_DDS 388,18468 -#define AUD_I2S_RA_DDS 389,18510 -#define AUD_RATE_THRES_DMD 390,18552 -#define AUD_RATE_THRES_I2S 391,18594 -#define AUD_RATE_ADJ1 392,18636 -#define AUD_RATE_ADJ2 393,18678 -#define AUD_RATE_ADJ3 394,18720 -#define AUD_RATE_ADJ4 395,18762 -#define AUD_RATE_ADJ5 396,18804 -#define AUD_APB_IN_RATE_ADJ 397,18846 -#define AUD_PHASE_FIX_CTL 398,18888 -#define AUD_PLL_PRESCALE 399,18930 -#define AUD_PLL_DDS 400,18972 -#define AUD_PLL_INT 401,19014 -#define AUD_PLL_FRAC 402,19056 -#define AUD_PLL_JTAG 403,19098 -#define AUD_PLL_SPMP 404,19140 -#define AUD_AFE_12DB_EN 405,19182 -#define AUD_PDF_DDS_CNST_BYTE2 408,19257 -#define AUD_PDF_DDS_CNST_BYTE1 409,19299 -#define AUD_PDF_DDS_CNST_BYTE0 410,19341 -#define AUD_PHACC_FREQ_8MSB 411,19383 -#define AUD_PHACC_FREQ_8LSB 412,19425 -#define AUD_QAM_MODE 413,19467 -#define MO_TS_DMA 419,19666 -#define MO_TS_GPCNT 420,19742 -#define MO_TS_GPCNTRL 421,19816 -#define MO_TS_DMACNTRL 422,19889 -#define MO_TS_XFR_STAT 423,19950 -#define MO_TS_LNGTH 424,20015 -#define TS_HW_SOP_CNTRL 426,20078 -#define TS_GEN_CNTRL 427,20115 -#define TS_BD_PKT_STAT 428,20152 -#define TS_SOP_STAT 429,20189 -#define TS_FIFO_OVFL_STAT 430,20226 -#define TS_VALERR_CNTRL 431,20263 -#define MO_VIPD_DMA 437,20457 -#define MO_VIPU_DMA 438,20520 -#define MO_VIPD_GPCNT 439,20581 -#define MO_VIPU_GPCNT 440,20661 -#define MO_VIPD_GPCNTRL 441,20739 -#define MO_VIPU_GPCNTRL 442,20818 -#define MO_VIP_DMACNTRL 443,20895 -#define MO_VIP_XFR_STAT 444,20957 -#define MO_VIP_CFG 445,21023 -#define MO_VIPU_CNTRL 446,21081 -#define MO_VIPD_CNTRL 447,21145 -#define MO_VIPD_LNGTH 448,21211 -#define MO_VIP_BRSTLN 449,21278 -#define MO_VIP_INTCNTRL 450,21335 -#define MO_VIP_XFTERM 451,21397 -#define MO_M2M_DMA 457,21617 -#define MO_GP0_IO 458,21681 -#define MO_GP1_IO 459,21756 -#define MO_GP2_IO 460,21831 -#define MO_GP3_IO 461,21906 -#define MO_GPIO 462,21983 -#define MO_GPOE 463,22053 -#define MO_GP_ISM 464,22129 -#define MO_PLL_B 466,22197 -#define MO_M2M_CNT 467,22274 -#define MO_M2M_XSUM 468,22338 -#define MO_CRC 469,22403 -#define MO_CRC_D 470,22469 -#define MO_TM_CNT_LDW 471,22535 -#define MO_TM_CNT_UW 472,22609 -#define MO_TM_LMT_LDW 473,22683 -#define MO_TM_LMT_UW 474,22755 -#define MO_PINMUX_IO 475,22827 -#define MO_TSTSEL_IO 476,22890 -#define MO_AFECFG_IO 477,22953 -#define MO_DDS_IO 478,23015 -#define MO_DDSCFG_IO 479,23073 -#define MO_SAMPLE_IO 480,23135 -#define MO_SRST_IO 481,23191 -#define MO_INT1_MSK 483,23256 -#define MO_INT1_STAT 484,23320 -#define MO_INT1_MSTAT 485,23386 -#define MO_I2C 491,23616 -#define MO_I2C_DIV 492,23673 -#define MO_I2C_SYNC 493,23710 -#define MO_I2C_W3B 494,23745 -#define MO_I2C_SCL 495,23780 -#define MO_I2C_SDA 496,23815 -#define MO_GPHSTD_DMA 503,24084 -#define MO_GPHSTU_DMA 504,24148 -#define MO_GPHSTD_GPCNT 505,24210 -#define MO_GPHSTU_GPCNT 506,24284 -#define MO_GPHSTD_GPCNTRL 507,24356 -#define MO_GPHSTU_GPCNTRL 508,24430 -#define MO_GPHST_DMACNTRL 509,24502 -#define MO_GPHST_XFR_STAT 510,24559 -#define MO_GPHSTU_CNTRL 511,24620 -#define MO_GPHSTD_CNTRL 512,24685 -#define MO_GPHSTD_LNGTH 513,24752 -#define MO_GPHST_WSC 514,24820 -#define MO_GPHST_XFR 515,24884 -#define MO_GPHST_WDTH 516,24946 -#define MO_GPHST_HDSHK 517,25007 -#define MO_GPHST_MUX16 518,25073 -#define MO_GPHST_MODE 519,25151 -#define RISC_SYNC 525,25365 -#define RISC_SYNC_ODD 526,25396 -#define RISC_SYNC_EVEN 527,25431 -#define RISC_RESYNC 528,25467 -#define RISC_RESYNC_ODD 529,25500 -#define RISC_RESYNC_EVEN 530,25537 -#define RISC_WRITE 531,25574 -#define RISC_WRITEC 532,25606 -#define RISC_READ 533,25639 -#define RISC_READC 534,25670 -#define RISC_JUMP 535,25702 -#define RISC_SKIP 536,25733 -#define RISC_WRITERM 537,25764 -#define RISC_WRITECM 538,25798 -#define RISC_WRITECR 539,25832 -#define RISC_IMM 540,25866 -#define RISC_SOL 542,25897 -#define RISC_EOL 543,25927 -#define RISC_IRQ2 545,25958 -#define RISC_IRQ1 546,25989 -#define RISC_CNT_NONE 548,26021 -#define RISC_CNT_INC 549,26056 -#define RISC_CNT_RSVR 550,26090 -#define RISC_CNT_RESET 551,26125 -#define RISC_JMP_SRP 552,26161 -#define SEL_BTSC 558,26354 -#define SEL_EIAJ 559,26381 -#define SEL_A2 560,26408 -#define SEL_SAP 561,26435 -#define SEL_NICAM 562,26461 -#define SEL_FMRADIO 563,26488 -#define EN_BTSC_FORCE_MONO 566,26526 -#define EN_BTSC_FORCE_STEREO 567,26560 -#define EN_BTSC_FORCE_SAP 568,26594 -#define EN_BTSC_AUTO_STEREO 569,26628 -#define EN_BTSC_AUTO_SAP 570,26662 -#define EN_A2_FORCE_MONO1 572,26697 -#define EN_A2_FORCE_MONO2 573,26731 -#define EN_A2_FORCE_STEREO 574,26765 -#define EN_A2_AUTO_MONO2 575,26800 -#define EN_A2_AUTO_STEREO 576,26835 -#define EN_EIAJ_FORCE_MONO1 578,26871 -#define EN_EIAJ_FORCE_MONO2 579,26906 -#define EN_EIAJ_FORCE_STEREO 580,26941 -#define EN_EIAJ_AUTO_MONO2 581,26976 -#define EN_EIAJ_AUTO_STEREO 582,27011 -#define EN_NICAM_FORCE_MONO1 584,27047 -#define EN_NICAM_FORCE_MONO2 585,27082 -#define EN_NICAM_FORCE_STEREO 586,27117 -#define EN_NICAM_AUTO_MONO2 587,27152 -#define EN_NICAM_AUTO_STEREO 588,27187 -#define EN_FMRADIO_FORCE_MONO 590,27223 -#define EN_FMRADIO_FORCE_STEREO 591,27258 -#define EN_FMRADIO_AUTO_STEREO 592,27293 -#define EN_NICAM_AUTO_FALLBACK 594,27329 -#define EN_FMRADIO_EN_RDS 595,27372 -#define EN_NICAM_TRY_AGAIN_BIT 596,27415 -#define EN_DAC_ENABLE 597,27458 -#define EN_I2SOUT_ENABLE 598,27501 -#define EN_I2SIN_STR2DAC 599,27544 -#define EN_I2SIN_ENABLE 600,27587 -#define EN_DMTRX_SUMDIFF 604,27647 -#define EN_DMTRX_SUMR 605,27690 -#define EN_DMTRX_LR 606,27733 -#define EN_DMTRX_MONO 607,27776 -#define EN_DMTRX_SUMDIFF 610,27843 -#define EN_DMTRX_SUMR 611,27884 -#define EN_DMTRX_LR 612,27925 -#define EN_DMTRX_MONO 613,27966 -#define EN_DMTRX_BYPASS 614,28007 -#define VID_CAPTURE_CONTROL 618,28067 -#define CX23880_CAP_CTL_CAPTURE_VBI_ODD 620,28106 -#define CX23880_CAP_CTL_CAPTURE_VBI_EVEN 621,28154 -#define CX23880_CAP_CTL_CAPTURE_ODD 622,28202 -#define CX23880_CAP_CTL_CAPTURE_EVEN 623,28250 -#define VideoInputMux0 625,28299 -#define VideoInputMux1 626,28328 -#define VideoInputMux2 627,28357 -#define VideoInputMux3 628,28386 -#define VideoInputTuner 629,28415 -#define VideoInputComposite 630,28446 -#define VideoInputSVideo 631,28480 -#define VideoInputOther 632,28510 -#define Xtal0 634,28542 -#define Xtal1 635,28562 -#define XtalAuto 636,28582 -#define VideoFormatAuto 638,28605 -#define VideoFormatNTSC 639,28635 -#define VideoFormatNTSCJapan 640,28665 -#define VideoFormatNTSC443 641,28699 -#define VideoFormatPAL 642,28731 -#define VideoFormatPALB 643,28760 -#define VideoFormatPALD 644,28791 -#define VideoFormatPALG 645,28822 -#define VideoFormatPALH 646,28853 -#define VideoFormatPALI 647,28884 -#define VideoFormatPALBDGHI 648,28915 -#define VideoFormatPALM 649,28949 -#define VideoFormatPALN 650,28979 -#define VideoFormatPALNC 651,29009 -#define VideoFormatPAL60 652,29039 -#define VideoFormatSECAM 653,29069 -#define VideoFormatAuto27MHz 655,29100 -#define VideoFormatNTSC27MHz 656,29136 -#define VideoFormatNTSCJapan27MHz 657,29172 -#define VideoFormatNTSC44327MHz 658,29212 -#define VideoFormatPAL27MHz 659,29251 -#define VideoFormatPALB27MHz 660,29286 -#define VideoFormatPALD27MHz 661,29323 -#define VideoFormatPALG27MHz 662,29360 -#define VideoFormatPALH27MHz 663,29397 -#define VideoFormatPALI27MHz 664,29434 -#define VideoFormatPALBDGHI27MHz 665,29471 -#define VideoFormatPALM27MHz 666,29511 -#define VideoFormatPALN27MHz 667,29547 -#define VideoFormatPALNC27MHz 668,29583 -#define VideoFormatPAL6027MHz 669,29620 -#define VideoFormatSECAM27MHz 670,29657 -#define NominalUSECAM 672,29695 -#define NominalVSECAM 673,29723 -#define NominalUNTSC 674,29751 -#define NominalVNTSC 675,29778 -#define NominalContrast 677,29806 -#define HFilterAutoFormat 679,29837 -#define HFilterCIF 680,29868 -#define HFilterQCIF 681,29893 -#define HFilterICON 682,29919 -#define VFilter2TapInterpolate 684,29946 -#define VFilter3TapInterpolate 685,29980 -#define VFilter4TapInterpolate 686,30014 -#define VFilter5TapInterpolate 687,30048 -#define VFilter2TapNoInterpolate 688,30082 -#define VFilter3TapNoInterpolate 689,30118 -#define VFilter4TapNoInterpolate 690,30154 -#define VFilter5TapNoInterpolate 691,30190 -#define ColorFormatRGB32 693,30227 -#define ColorFormatRGB24 694,30260 -#define ColorFormatRGB16 695,30293 -#define ColorFormatRGB15 696,30326 -#define ColorFormatYUY2 697,30359 -#define ColorFormatBTYUV 698,30392 -#define ColorFormatY8 699,30425 -#define ColorFormatRGB8 700,30456 -#define ColorFormatPL422 701,30489 -#define ColorFormatPL411 702,30522 -#define ColorFormatYUV12 703,30555 -#define ColorFormatYUV9 704,30588 -#define ColorFormatRAW 705,30621 -#define ColorFormatBSWAP 706,30653 -#define ColorFormatWSWAP 707,30693 -#define ColorFormatEvenMask 708,30733 -#define ColorFormatOddMask 709,30773 -#define ColorFormatGamma 710,30813 -#define Interlaced 712,30854 -#define NonInterlaced 713,30879 -#define FieldEven 715,30909 -#define FieldOdd 716,30933 -#define TGReadWriteMode 718,30957 -#define TGEnableMode 719,30988 -#define DV_CbAlign 721,31017 -#define DV_Y0Align 722,31042 -#define DV_CrAlign 723,31067 -#define DV_Y1Align 724,31092 -#define DVF_Analog 726,31118 -#define DVF_CCIR656 727,31143 -#define DVF_ByteStream 728,31169 -#define DVF_ExtVSYNC 729,31198 -#define DVF_ExtField 730,31225 -#define CHANNEL_VID_Y 732,31253 -#define CHANNEL_VID_U 733,31281 -#define CHANNEL_VID_V 734,31309 -#define CHANNEL_VID_VBI 735,31337 -#define CHANNEL_AUD_DN 736,31367 -#define CHANNEL_AUD_UP 737,31396 -#define CHANNEL_AUD_RDS_DN 738,31425 -#define CHANNEL_MPEG_DN 739,31457 -#define CHANNEL_VIP_DN 740,31487 -#define CHANNEL_VIP_UP 741,31516 -#define CHANNEL_HOST_DN 742,31545 -#define CHANNEL_HOST_UP 743,31575 -#define CHANNEL_FIRST 744,31605 -#define CHANNEL_LAST 745,31634 -#define GP_COUNT_CONTROL_NONE 747,31663 -#define GP_COUNT_CONTROL_INC 748,31699 -#define GP_COUNT_CONTROL_RESERVED 749,31734 -#define GP_COUNT_CONTROL_RESET 750,31773 -#define PLL_PRESCALE_BY_2 752,31811 -#define PLL_PRESCALE_BY_3 753,31840 -#define PLL_PRESCALE_BY_4 754,31869 -#define PLL_PRESCALE_BY_5 755,31898 -#define HLNotchFilter4xFsc 757,31928 -#define HLNotchFilterSquare 758,31958 -#define HLNotchFilter135NTSC 759,31989 -#define HLNotchFilter135PAL 760,32021 -#define NTSC_8x_SUB_CARRIER 762,32053 -#define PAL_8x_SUB_CARRIER 763,32093 -#define DEFAULT_HUE_NTSC 766,32160 -#define DEFAULT_BRIGHTNESS_NTSC 767,32192 -#define DEFAULT_CONTRAST_NTSC 768,32231 -#define DEFAULT_SAT_U_NTSC 769,32268 -#define DEFAULT_SAT_V_NTSC 770,32302 - SOURCE_TUNER 774,32511 - SOURCE_COMPOSITE,775,32591 - SOURCE_SVIDEO,776,32671 - SOURCE_OTHER1,777,32751 - SOURCE_OTHER2,778,32831 - SOURCE_COMPVIASVIDEO,779,32911 - SOURCE_CCIR656 780,32991 -} VIDEOSOURCETYPE;VIDEOSOURCETYPE781,33075 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/cx88/cx88-vbi.c,386 -static unsigned int vbibufs 8,120 -static unsigned int vbi_debug 12,243 -#define dprintk(dprintk16,368 -void cx8800_vbi_fmt(21,555 -int cx8800_start_vbi_dma(45,1176 -int cx8800_restart_vbi_queue(75,1860 -void cx8800_vbi_timeout(96,2399 -vbi_setup(124,3230 -vbi_prepare(137,3476 -vbi_queue(173,4362 -static void vbi_release(205,5396 -struct videobuf_queue_ops cx8800_vbi_qops 213,5609 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/videodev.c,837 -#define VIDEO_NUM_DEVICES 36,995 -#define VIDEO_NAME 37,1025 -static ssize_t show_name(43,1095 -static ssize_t show_dev(49,1303 -struct video_device *video_device_alloc(59,1637 -void video_device_release(70,1832 -static void video_release(75,1902 -static struct class video_class video_class86,2141 -static struct video_device *video_device[95,2267 -struct video_device* video_devdata(98,2366 -static int video_open(106,2511 -video_fix_command(145,3350 -video_usercopy(171,3779 -int video_exclusive_open(234,5080 -int video_exclusive_release(249,5337 -static struct file_operations video_fops;257,5488 -int video_register_device(284,6278 -void video_unregister_device(374,8327 -static struct file_operations video_fops=387,8612 -static int __init videodev_init(398,8768 -static void __exit videodev_exit(418,9229 -module_init(424,9351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36016.h,1659 -#define ZR36016_H28,1071 -struct zr36016 zr3601631,1139 -#define ZR016_GOSTOP 50,1418 -#define ZR016_MODE 51,1449 -#define ZR016_IADDR 52,1480 -#define ZR016_IDATA 53,1511 -#define ZR016I_SETUP1 56,1578 -#define ZR016I_SETUP2 57,1609 -#define ZR016I_NAX_LO 58,1640 -#define ZR016I_NAX_HI 59,1671 -#define ZR016I_PAX_LO 60,1702 -#define ZR016I_PAX_HI 61,1733 -#define ZR016I_NAY_LO 62,1764 -#define ZR016I_NAY_HI 63,1795 -#define ZR016I_PAY_LO 64,1826 -#define ZR016I_PAY_HI 65,1857 -#define ZR016I_NOL_LO 66,1888 -#define ZR016I_NOL_HI 67,1919 -#define ZR016_RGB444_YUV444 70,1991 -#define ZR016_RGB444_YUV422 71,2025 -#define ZR016_RGB444_YUV411 72,2059 -#define ZR016_RGB444_Y400 73,2093 -#define ZR016_RGB444_RGB444 74,2127 -#define ZR016_YUV444_YUV444 75,2161 -#define ZR016_YUV444_YUV422 76,2195 -#define ZR016_YUV444_YUV411 77,2229 -#define ZR016_YUV444_Y400 78,2263 -#define ZR016_YUV444_RGB444 79,2297 -#define ZR016_YUV422_YUV422 80,2331 -#define ZR016_YUV422_YUV411 81,2365 -#define ZR016_YUV422_Y400 82,2399 -#define ZR016_YUV411_YUV411 83,2433 -#define ZR016_YUV411_Y400 84,2467 -#define ZR016_4444_4444 85,2501 -#define ZR016_100_100 86,2535 -#define ZR016_RGB444 88,2570 -#define ZR016_YUV444 89,2604 -#define ZR016_YUV422 90,2638 -#define ZR016_COMPRESSION 92,2673 -#define ZR016_EXPANSION 93,2707 -#define ZR016_CKRT 96,2785 -#define ZR016_VERT 97,2819 -#define ZR016_HORZ 98,2853 -#define ZR016_HRFL 99,2887 -#define ZR016_DSFL 100,2921 -#define ZR016_SBFL 101,2955 -#define ZR016_RSTR 102,2989 -#define ZR016_CNTI 103,3023 -#define ZR016_SYEN 106,3101 -#define ZR016_CCIR 107,3135 -#define ZR016_SIGN 108,3169 -#define ZR016_YMCS 109,3203 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36016.c,696 -#define ZR016_VERSION 27,1040 -#define MAX_CODECS 56,1642 -static int zr36016_codecs 59,1712 -static int debug 63,1795 -#define dprintk(dprintk67,1889 -zr36016_read 81,2310 -zr36016_write 103,2746 -zr36016_readi 124,3309 -zr36016_writei 146,3896 -zr36016_read_version 172,4677 -zr36016_basic_test 185,5056 -static int zr36016_pushit 233,6382 -static const int zr016_xoff[257,7019 -static const int zr016_yoff[258,7067 -zr36016_init 261,7125 -zr36016_set_mode 302,8676 -zr36016_set_video 320,9040 -zr36016_control 358,10467 -zr36016_unset 412,11575 -zr36016_setup 441,12264 -static const struct videocodec zr36016_codec 487,13249 -zr36016_init_module 508,13902 -zr36016_cleanup_module 516,14071 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/planb.c,1991 -#define DEBUG(DEBUG57,1726 -#define DEBUG(DEBUG59,1795 -#define IDEBUG(IDEBUG63,1856 -#define IDEBUG(IDEBUG65,1934 -#define PLANB_MAX 69,2047 -static int planb_num;71,2068 -static struct planb planbs[72,2090 -static volatile struct planb_registers *planb_regs;73,2129 -static int def_norm 75,2182 -static int video_nr 76,2239 -static int grabbuf_alloc(130,4700 -static void saa_write_reg(166,5603 -static unsigned char saa_status(174,5795 -static void saa_set(187,6204 -static void saa_init_regs(196,6408 -static unsigned int saa_geo_setup(204,6553 -static inline void planb_dbdma_restart(244,7752 -static inline void planb_dbdma_stop(250,7934 -static inline void tab_cmd_dbdma(261,8202 -static inline void tab_cmd_store(268,8384 -static inline void tab_cmd_gen(277,8645 -static volatile struct dbdma_cmd *cmd_geo_setup(287,8947 -static inline void planb_lock(330,10708 -static inline void planb_unlock(335,10779 -static int planb_prepare_open(344,10905 -static void planb_prepare_close(398,12641 -static void overlay_start(425,13277 -static void overlay_stop(471,14625 -static void suspend_overlay(505,15497 -static void resume_overlay(535,16246 -static void add_clip(577,17443 -static void fill_cmd_buff(620,18293 -static void cmd_buff(671,19400 -static int palette2fmt[836,25510 -#define PLANB_PALETTE_MAX 854,25728 -static inline int overlay_is_active(856,25758 -static int vgrab(866,26104 -static void planb_pre_capture(1091,32374 -static volatile struct dbdma_cmd *setup_grab_cmd(1131,33931 -static void planb_irq(1318,39407 -static int planb_open(1374,40949 -static void planb_close(1389,41209 -static long planb_read(1410,41611 -static long planb_write(1417,41763 -static int planb_ioctl(1424,41923 -static int planb_mmap(1985,54983 -static struct video_device planb_template=2010,55603 -static int init_planb(2024,55916 -static int find_planb(2148,59098 -static void release_planb(2248,61815 -static int __init init_planbs(2277,62485 -static void __exit exit_planbs(2296,62844 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/mxb.c,1459 -#define DEBUG_VARIABLE 24,931 -#define I2C_SAA7111 35,1132 -#define MXB_BOARD_CAN_DO_VBI(MXB_BOARD_CAN_DO_VBI37,1158 -static int mxb_num 40,1239 -static int freq 45,1392 -static int debug 49,1524 -#define MXB_INPUTS 53,1615 -enum { TUNER,54,1636 -enum { TUNER, AUX1,54,1636 -enum { TUNER, AUX1, AUX3,54,1636 -enum { TUNER, AUX1, AUX3, AUX3_YC 54,1636 -static struct v4l2_input mxb_inputs[56,1674 -} input_port_selection[68,2278 -static int video_audio_connect[77,2701 -static struct tea6420_multiplex TEA6420_cd[82,2871 -static struct tea6420_multiplex TEA6420_line[95,3283 -#define MAXCONTROLS 106,3514 -static struct v4l2_queryctrl mxb_controls[107,3536 -static struct saa7146_extension_ioctls ioctls[111,3661 -struct mxbmxb129,4345 -static struct saa7146_extension extension;149,4837 -static int mxb_probe(151,4881 -} mxb_saa7740_init[233,7273 -static const unsigned char mxb_saa7111_init[284,10113 -static int mxb_init_done(319,11683 -static struct saa7146_ext_vv vv_data;436,15608 -static int mxb_attach(439,15716 -static int mxb_detach(475,16763 -static int mxb_ioctl(502,17347 -static int std_callback(920,27740 -static struct saa7146_standard standard[942,28619 -static struct saa7146_pci_extension_data mxb 966,29313 -static struct pci_device_id pci_tbl[971,29443 -static struct saa7146_ext_vv vv_data 985,29720 -static struct saa7146_extension extension 995,30011 -int __init mxb_init_module(1010,30279 -void __exit mxb_cleanup_module(1020,30450 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/msp3400.c,2931 -static int debug 58,1443 -static int once 59,1490 -static int amsound 60,1555 -static int simple 62,1682 -static int dolby 63,1756 -#define DFP_COUNT 65,1782 -static const int bl_dfp[66,1805 -struct msp3400c msp3400c71,1913 -#define HAVE_NICAM(HAVE_NICAM103,2452 -#define HAVE_SIMPLE(HAVE_SIMPLE104,2510 -#define HAVE_RADIO(HAVE_RADIO105,2573 -#define VIDEO_MODE_RADIO 107,2637 -#define dprintk 111,2781 -#define d2printk 112,2825 -#define I2C_MSP3400C 126,3229 -#define I2C_MSP3400C_ALT 127,3261 -#define I2C_MSP3400C_DEM 129,3294 -#define I2C_MSP3400C_DFP 130,3326 -static unsigned short normal_i2c[133,3383 -static unsigned short normal_i2c_range[138,3491 -I2C_CLIENT_INSMOD;139,3567 -# define I2C_M_IGNORE_NAK 145,3769 -static int msp3400c_reset(148,3810 -msp3400c_read(174,4603 -msp3400c_write(206,5454 -#define MSP_CARRIER(MSP_CARRIER238,6369 -#define MSP_MODE_AM_DETECT 240,6434 -#define MSP_MODE_FM_RADIO 241,6465 -#define MSP_MODE_FM_TERRA 242,6496 -#define MSP_MODE_FM_SAT 243,6527 -#define MSP_MODE_FM_NICAM1 244,6558 -#define MSP_MODE_FM_NICAM2 245,6589 -#define MSP_MODE_AM_NICAM 246,6620 -#define MSP_MODE_BTSC 247,6651 -#define MSP_MODE_EXTERN 248,6682 -static struct MSP_INIT_DATA_DEM MSP_INIT_DATA_DEM250,6714 -} msp_init_data[259,6856 -struct CARRIER_DETECT CARRIER_DETECT301,8252 -static struct CARRIER_DETECT carrier_detect_main[306,8305 -static struct CARRIER_DETECT carrier_detect_55[314,8633 -static struct CARRIER_DETECT carrier_detect_65[320,8827 -#define CARRIER_COUNT(CARRIER_COUNT330,9267 -#define SCART_MASK 334,9414 -#define SCART_IN1 335,9438 -#define SCART_IN2 336,9462 -#define SCART_IN1_DA 337,9486 -#define SCART_IN2_DA 338,9510 -#define SCART_IN3 339,9534 -#define SCART_IN4 340,9558 -#define SCART_MONO 341,9582 -#define SCART_MUTE 342,9606 -static int scarts[344,9631 -static char *scart_names[351,9979 -msp3400c_set_scart(356,10099 -static void msp3400c_setcarrier(372,10549 -static void msp3400c_setvolume(381,10955 -static void msp3400c_setbass(402,11626 -static void msp3400c_settreble(410,11885 -static void msp3400c_setmode(418,12154 -static void msp3400c_setstereo(476,14145 -msp3400c_print_mode(590,17414 -msp3400c_restore_dfp(614,18298 -struct REGISTER_DUMP REGISTER_DUMP628,18636 -struct REGISTER_DUMP d1[633,18689 -autodetect_stereo(642,18869 -static int msp34xx_sleep(737,21224 -static void msp3400c_stereo_wake(753,21578 -static void watch_stereo(761,21775 -static int msp3400c_thread(781,22359 -static struct MODES MODES985,28043 -} modelist[989,28110 -static int msp3410d_thread(1012,29545 -static struct i2c_driver driver 1221,35216 -static struct i2c_client client_template 1231,35539 -static int msp_attach(1238,35680 -static int msp_detach(1336,38228 -static int msp_probe(1355,38617 -static void msp_wake_thread(1372,38999 -static int msp_command(1384,39282 -static int __init msp3400_init_module(1555,43403 -static void __exit msp3400_cleanup_module(1560,43485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bw-qcam.c,1442 -static unsigned int maxpoll=81,2719 -static unsigned int yieldlines=82,2797 -static int video_nr 83,2875 -static inline int read_lpstatus(89,2988 -static inline int read_lpcontrol(94,3087 -static inline int read_lpdata(99,3188 -static inline void write_lpdata(104,3283 -static inline void write_lpcontrol(109,3384 -static struct video_device qcam_template;120,3768 -static int qc_calibrate(122,3811 -static struct qcam_device *qcam_init(155,4571 -static int qc_command(199,5594 -static int qc_readparam(216,5865 -static int qc_waithand(234,6235 -static unsigned int qc_waithand2(288,7602 -static int qc_detect(324,8610 -static void qc_reset(366,9675 -static int qc_setscanmode(406,10842 -void qc_set(452,11456 -static inline int qc_readbytes(506,13002 -long qc_capture(602,15468 -static int qcam_do_ioctl(694,17736 -static int qcam_ioctl(852,21052 -static ssize_t qcam_read(858,21225 -static struct file_operations qcam_fops 882,21715 -static struct video_device qcam_template=890,21953 -#define MAX_CAMS 899,22151 -static struct qcam_device *qcams[900,22170 -static unsigned int num_cams 901,22214 -int init_bwqcam(903,22249 -void close_bwqcam(946,23002 -static char *parport[957,23359 -static int accept_bwqcam(961,23469 -static void bwqcam_attach(987,23964 -static void bwqcam_detach(993,24064 -static struct parport_driver bwqcam_driver 1005,24290 -static void __exit exit_bw_qcams(1011,24413 -static int __init init_bw_qcams(1016,24501 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/hexium_gemini.c,1712 -#define DEBUG_VARIABLE 24,978 -static int debug 28,1039 -static int hexium_num 33,1154 -#define HEXIUM_GEMINI 35,1182 -#define HEXIUM_GEMINI_DUAL 36,1208 -#define HEXIUM_INPUTS 38,1239 -static struct v4l2_input hexium_inputs[39,1263 -#define HEXIUM_AUDIOS 51,2078 -struct hexium_datahexium_data53,2103 -static struct saa7146_extension_ioctls ioctls[59,2147 -#define HEXIUM_CONTROLS 70,2485 -static struct v4l2_queryctrl hexium_controls[71,2511 -#define HEXIUM_GEMINI_V_1_0 75,2640 -#define HEXIUM_GEMINI_DUAL_V_1_0 76,2671 -struct hexiumhexium78,2707 -static u8 hexium_ks0127b[90,2986 -static struct hexium_data hexium_pal[125,4559 -static struct hexium_data hexium_pal_bw[129,4685 -static struct hexium_data hexium_ntsc[133,4814 -static struct hexium_data hexium_ntsc_bw[137,4941 -static struct hexium_data hexium_secam[141,5071 -static struct hexium_data hexium_input_select[145,5199 -static struct saa7146_standard hexium_standards[159,5498 -static int hexium_init_done(182,6305 -static int hexium_set_input(201,6840 -static int hexium_set_standard(215,7164 -static struct saa7146_ext_vv vv_data;233,7607 -static int hexium_attach(236,7715 -static int hexium_detach(289,9267 -static int hexium_ioctl(305,9573 -static int std_callback(452,12799 -static struct saa7146_extension hexium_extension;473,13344 -static struct saa7146_pci_extension_data hexium_gemini_4bnc 475,13395 -static struct saa7146_pci_extension_data hexium_gemini_dual_4bnc 480,13528 -static struct pci_device_id pci_tbl[485,13671 -static struct saa7146_ext_vv vv_data 507,14152 -static struct saa7146_extension hexium_extension 517,14426 -static int __init hexium_init_module(531,14679 -static void __exit hexium_cleanup_module(541,14865 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ir-kbd-i2c.c,763 -static IR_KEYTAB_TYPE ir_codes_pv951[45,1508 -static IR_KEYTAB_TYPE ir_codes_purpletv[83,2404 -struct IR IR133,3544 -static int debug;147,3959 -#define DEVNAME 150,4039 -#define dprintk(dprintk151,4068 -static inline int reverse(156,4252 -static int get_key_haup(166,4407 -static int get_key_pixelview(193,5020 -static int get_key_pv951(207,5270 -static int get_key_knc1(227,5593 -static int get_key_purpletv(255,6125 -static void ir_key_poll(279,6544 -static void ir_timer(298,6872 -static void ir_work(304,6980 -static struct i2c_driver driver 318,7371 -static struct i2c_client client_template 326,7632 -static int ir_attach(332,7738 -static int ir_detach(414,9800 -static int ir_probe(431,10121 -static int ir_init(481,11421 -static void ir_fini(487,11488 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7110.c,1149 -#define I2C_NAME(I2C_NAME43,1475 -static int debug 48,1568 -#define dprintk(dprintk52,1662 -#define SAA7110_MAX_INPUT 58,1775 -#define SAA7110_MAX_OUTPUT 59,1824 -#define I2C_SAA7110 61,1879 -struct saa7110 saa711063,1920 -saa7110_write 82,2278 -saa7110_write_block 93,2541 -saa7110_read 133,3439 -#define FRESP_06H_COMPST 142,3712 -#define FRESP_06H_SVIDEO 143,3749 -saa7110_selmux 147,3799 -static const unsigned char initseq[195,5373 -determine_norm 206,5822 -saa7110_command 268,7591 -static unsigned short normal_i2c[456,11997 -static unsigned short normal_i2c_range[461,12099 -static unsigned short probe[463,12163 -static unsigned short probe_range[464,12232 -static unsigned short ignore[465,12307 -static unsigned short ignore_range[466,12377 -static unsigned short force[467,12453 -static struct i2c_client_address_data addr_data 469,12604 -static int saa7110_i2c_id 479,12847 -static struct i2c_driver i2c_driver_saa7110;480,12878 -saa7110_detect_client 483,12935 -saa7110_attach_adapter 568,15155 -saa7110_detach_client 578,15402 -static struct i2c_driver i2c_driver_saa7110 596,15711 -saa7110_init 609,15993 -saa7110_exit 615,16082 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/vpx3220.c,1421 -#define I2C_NAME(I2C_NAME35,1101 -#define I2C_VPX3220 40,1194 -#define VPX3220_DEBUG 41,1226 -static int debug 43,1272 -#define dprintk(dprintk47,1366 -#define VPX_TIMEOUT_COUNT 53,1479 -struct vpx3220 vpx322057,1589 -static char *inputs[69,1720 -vpx3220_write 73,1880 -vpx3220_read 84,2150 -vpx3220_fp_status 91,2285 -vpx3220_fp_write 112,2578 -vpx3220_fp_read 135,3144 -vpx3220_write_block 160,3702 -vpx3220_write_fp_block 179,3992 -static const unsigned short init_ntsc[197,4333 -static const unsigned short init_pal[213,4867 -static const unsigned short init_secam[231,5533 -static const unsigned char init_common[249,6200 -static const unsigned short init_fp[279,7162 -vpx3220_dump_i2c 293,7368 -vpx3220_command 308,7659 -vpx3220_init_client 550,12653 -static unsigned short normal_i2c[568,13144 -static unsigned short normal_i2c_range[572,13248 -static unsigned short probe[574,13312 -static unsigned short probe_range[575,13381 -static unsigned short ignore[576,13456 -static unsigned short ignore_range[577,13526 -static unsigned short force[578,13602 -static struct i2c_client_address_data addr_data 580,13753 -static int vpx3220_i2c_id 590,13996 -static struct i2c_driver vpx3220_i2c_driver;591,14027 -vpx3220_detach_client 594,14084 -vpx3220_detect_client 611,14325 -vpx3220_attach_adapter 714,16658 -static struct i2c_driver vpx3220_i2c_driver 728,17000 -vpx3220_init 741,17282 -vpx3220_cleanup 747,17371 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/meye.h,7055 -#define _MEYE_PRIV_H_31,1189 -#define MEYE_DRIVER_MAJORVERSION 33,1212 -#define MEYE_DRIVER_MINORVERSION 34,1247 -#define MCHIP_PCI_POWER_CSR 45,1648 -#define MCHIP_PCI_MCORE_STATUS 46,1682 -#define MCHIP_PCI_HOSTUSEREQ_SET 47,1742 -#define MCHIP_PCI_HOSTUSEREQ_CLR 48,1780 -#define MCHIP_PCI_LOWPOWER_SET 49,1818 -#define MCHIP_PCI_LOWPOWER_CLR 50,1855 -#define MCHIP_PCI_SOFTRESET_SET 51,1892 -#define MCHIP_MM_REGS 54,1978 -#define MCHIP_REG_TIMEOUT 55,2032 -#define MCHIP_MCC_VRJ_TIMEOUT 56,2088 -#define MCHIP_MM_PCI_MODE 58,2149 -#define MCHIP_MM_PCI_MODE_RETRY 59,2204 -#define MCHIP_MM_PCI_MODE_MASTER 60,2265 -#define MCHIP_MM_PCI_MODE_READ_LINE 61,2329 -#define MCHIP_MM_INTA 63,2393 -#define MCHIP_MM_INTA_MCC 64,2445 -#define MCHIP_MM_INTA_VRJ 65,2503 -#define MCHIP_MM_INTA_HIC_1 66,2561 -#define MCHIP_MM_INTA_HIC_1_MASK 67,2622 -#define MCHIP_MM_INTA_HIC_END 68,2682 -#define MCHIP_MM_INTA_HIC_END_MASK 69,2746 -#define MCHIP_MM_INTA_JPEG 70,2792 -#define MCHIP_MM_INTA_JPEG_MASK 71,2855 -#define MCHIP_MM_INTA_CAPTURE 72,2899 -#define MCHIP_MM_INTA_PCI_ERR 73,2959 -#define MCHIP_MM_INTA_PCI_ERR_MASK 74,3017 -#define MCHIP_MM_PT_ADDR 76,3064 -#define MCHIP_NB_PAGES 78,3140 -#define MCHIP_NB_PAGES_MJPEG 79,3195 -#define MCHIP_MM_FIR(MCHIP_MM_FIR81,3253 -#define MCHIP_MM_FIR_RDY 82,3313 -#define MCHIP_MM_FIR_FAILFR_MASK 83,3368 -#define MCHIP_MM_FIR_FAILFR_SHIFT 84,3437 -#define MCHIP_MM_FIR_C_ENDL_MASK 87,3510 -#define MCHIP_MM_FIR_C_ENDL_SHIFT 88,3572 -#define MCHIP_MM_FIR_C_ENDP_MASK 89,3608 -#define MCHIP_MM_FIR_C_ENDP_SHIFT 90,3671 -#define MCHIP_MM_FIR_C_STARTP_MASK 91,3708 -#define MCHIP_MM_FIR_C_STARTP_SHIFT 92,3775 -#define MCHIP_MM_FIR_O_STARTP_MASK 95,3853 -#define MCHIP_MM_FIR_O_STARTP_SHIFT 96,3921 -#define MCHIP_MM_FIFO_DATA 98,3961 -#define MCHIP_MM_FIFO_STATUS 99,4019 -#define MCHIP_MM_FIFO_MASK 100,4079 -#define MCHIP_MM_FIFO_WAIT_OR_READY 101,4118 -#define MCHIP_MM_FIFO_IDLE 102,4203 -#define MCHIP_MM_FIFO_IDLE1 103,4251 -#define MCHIP_MM_FIFO_WAIT 104,4300 -#define MCHIP_MM_FIFO_READY 105,4352 -#define MCHIP_HIC_HOST_USEREQ 107,4404 -#define MCHIP_HIC_TP_BUSY 109,4464 -#define MCHIP_HIC_PIC_SAVED 111,4519 -#define MCHIP_HIC_LOWPOWER 113,4574 -#define MCHIP_HIC_CTL 115,4629 -#define MCHIP_HIC_CTL_SOFT_RESET 116,4677 -#define MCHIP_HIC_CTL_MCORE_RDY 117,4739 -#define MCHIP_HIC_CMD 119,4802 -#define MCHIP_HIC_CMD_BITS 120,4850 -#define MCHIP_HIC_CMD_NOOP 121,4915 -#define MCHIP_HIC_CMD_START 122,4947 -#define MCHIP_HIC_CMD_STOP 123,4980 -#define MCHIP_HIC_MODE 125,5013 -#define MCHIP_HIC_MODE_NOOP 126,5043 -#define MCHIP_HIC_MODE_STILL_CAP 127,5076 -#define MCHIP_HIC_MODE_DISPLAY 128,5135 -#define MCHIP_HIC_MODE_STILL_COMP 129,5186 -#define MCHIP_HIC_MODE_STILL_DECOMP 130,5247 -#define MCHIP_HIC_MODE_CONT_COMP 131,5312 -#define MCHIP_HIC_MODE_CONT_DECOMP 132,5371 -#define MCHIP_HIC_MODE_STILL_OUT 133,5434 -#define MCHIP_HIC_MODE_CONT_OUT 134,5495 -#define MCHIP_HIC_STATUS 136,5552 -#define MCHIP_HIC_STATUS_MCC_RDY 137,5583 -#define MCHIP_HIC_STATUS_VRJ_RDY 138,5648 -#define MCHIP_HIC_STATUS_IDLE 139,5713 -#define MCHIP_HIC_STATUS_CAPDIS 140,5764 -#define MCHIP_HIC_STATUS_COMPDEC 141,5831 -#define MCHIP_HIC_STATUS_BUSY 142,5898 -#define MCHIP_HIC_S_RATE 144,5956 -#define MCHIP_HIC_PCI_VFMT 146,6010 -#define MCHIP_HIC_PCI_VFMT_YVYU 147,6063 -#define MCHIP_MCC_CMD 150,6151 -#define MCHIP_MCC_CMD_INITIAL 151,6200 -#define MCHIP_MCC_CMD_IIC_START_SET 152,6249 -#define MCHIP_MCC_CMD_IIC_END_SET 153,6289 -#define MCHIP_MCC_CMD_FM_WRITE 154,6327 -#define MCHIP_MCC_CMD_FM_READ 155,6383 -#define MCHIP_MCC_CMD_FM_STOP 156,6418 -#define MCHIP_MCC_CMD_CAPTURE 157,6453 -#define MCHIP_MCC_CMD_DISPLAY 158,6488 -#define MCHIP_MCC_CMD_END_DISP 159,6523 -#define MCHIP_MCC_CMD_STILL_COMP 160,6559 -#define MCHIP_MCC_CMD_STILL_DECOMP 161,6596 -#define MCHIP_MCC_CMD_STILL_OUTPUT 162,6635 -#define MCHIP_MCC_CMD_CONT_OUTPUT 163,6674 -#define MCHIP_MCC_CMD_CONT_COMP 164,6712 -#define MCHIP_MCC_CMD_CONT_DECOMP 165,6749 -#define MCHIP_MCC_CMD_RESET 166,6787 -#define MCHIP_MCC_IIC_WR 168,6838 -#define MCHIP_MCC_MCC_WR 170,6870 -#define MCHIP_MCC_MCC_RD 172,6902 -#define MCHIP_MCC_STATUS 174,6934 -#define MCHIP_MCC_STATUS_CAPT 175,6965 -#define MCHIP_MCC_STATUS_DISP 176,7023 -#define MCHIP_MCC_STATUS_COMP 177,7082 -#define MCHIP_MCC_STATUS_DECOMP 178,7142 -#define MCHIP_MCC_STATUS_MCC_WR 179,7206 -#define MCHIP_MCC_STATUS_MCC_RD 180,7271 -#define MCHIP_MCC_STATUS_IIC_WR 181,7336 -#define MCHIP_MCC_STATUS_OUTPUT 182,7401 -#define MCHIP_MCC_SIG_POLARITY 184,7467 -#define MCHIP_MCC_SIG_POL_VS_H 185,7504 -#define MCHIP_MCC_SIG_POL_HS_H 186,7568 -#define MCHIP_MCC_SIG_POL_DOE_H 187,7632 -#define MCHIP_MCC_IRQ 189,7699 -#define MCHIP_MCC_IRQ_CAPDIS_STRT 190,7728 -#define MCHIP_MCC_IRQ_CAPDIS_STRT_MASK 191,7796 -#define MCHIP_MCC_IRQ_CAPDIS_END 192,7846 -#define MCHIP_MCC_IRQ_CAPDIS_END_MASK 193,7911 -#define MCHIP_MCC_IRQ_COMPDEC_STRT 194,7960 -#define MCHIP_MCC_IRQ_COMPDEC_STRT_MASK 195,8029 -#define MCHIP_MCC_IRQ_COMPDEC_END 196,8080 -#define MCHIP_MCC_IRQ_COMPDEC_END_MASK 197,8146 -#define MCHIP_MCC_HSTART 199,8197 -#define MCHIP_MCC_VSTART 200,8244 -#define MCHIP_MCC_HCOUNT 201,8275 -#define MCHIP_MCC_VCOUNT 202,8306 -#define MCHIP_MCC_R_XBASE 203,8337 -#define MCHIP_MCC_R_YBASE 204,8386 -#define MCHIP_MCC_R_XRANGE 205,8418 -#define MCHIP_MCC_R_YRANGE 206,8451 -#define MCHIP_MCC_B_XBASE 207,8484 -#define MCHIP_MCC_B_YBASE 208,8535 -#define MCHIP_MCC_B_XRANGE 209,8567 -#define MCHIP_MCC_B_YRANGE 210,8600 -#define MCHIP_MCC_R_SAMPLING 212,8634 -#define MCHIP_VRJ_CMD 214,8684 -#define MCHIP_VRJ_COMPRESSED_DATA 217,8774 -#define MCHIP_VRJ_PIXEL_DATA 218,8814 -#define MCHIP_VRJ_BUS_MODE 220,8851 -#define MCHIP_VRJ_SIGNAL_ACTIVE_LEVEL 221,8885 -#define MCHIP_VRJ_PDAT_USE 222,8929 -#define MCHIP_VRJ_MODE_SPECIFY 223,8963 -#define MCHIP_VRJ_LIMIT_COMPRESSED_LO 224,9001 -#define MCHIP_VRJ_LIMIT_COMPRESSED_HI 225,9045 -#define MCHIP_VRJ_COMP_DATA_FORMAT 226,9089 -#define MCHIP_VRJ_TABLE_DATA 227,9130 -#define MCHIP_VRJ_RESTART_INTERVAL 228,9166 -#define MCHIP_VRJ_NUM_LINES 229,9207 -#define MCHIP_VRJ_NUM_PIXELS 230,9242 -#define MCHIP_VRJ_NUM_COMPONENTS 231,9278 -#define MCHIP_VRJ_SOF1 232,9317 -#define MCHIP_VRJ_SOF2 233,9348 -#define MCHIP_VRJ_SOF3 234,9379 -#define MCHIP_VRJ_SOF4 235,9410 -#define MCHIP_VRJ_SOS 236,9441 -#define MCHIP_VRJ_SOFT_RESET 237,9471 -#define MCHIP_VRJ_STATUS 239,9508 -#define MCHIP_VRJ_STATUS_BUSY 240,9540 -#define MCHIP_VRJ_STATUS_COMP_ACCESS 241,9579 -#define MCHIP_VRJ_STATUS_PIXEL_ACCESS 242,9624 -#define MCHIP_VRJ_STATUS_ERROR 243,9670 -#define MCHIP_VRJ_IRQ_FLAG 245,9711 -#define MCHIP_VRJ_ERROR_REPORT 246,9745 -#define MCHIP_VRJ_START_COMMAND 248,9784 -#define MEYE_JPEG_CORRECTION 261,10254 -#define MEYE_MAX_BUFSIZE 264,10317 -#define MEYE_MAX_BUFNBRS 267,10402 -#define MEYE_BUF_UNUSED 270,10455 -#define MEYE_BUF_USING 271,10496 -#define MEYE_BUF_DONE 272,10556 -struct meye_grab_buffer meye_grab_buffer275,10610 -#define MEYE_QUEUE_SIZE 281,10765 -struct meye_queue meye_queue282,10806 -struct meye meye292,11131 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-gpio.c,433 -static int bttv_sub_bus_match(39,1325 -struct bus_type bttv_sub_bus_type 49,1566 -static void release_sub_device(55,1695 -int bttv_sub_add_device(61,1817 -int bttv_sub_del_devices(83,2392 -void bttv_gpio_irq(95,2653 -void bttv_i2c_info(109,2972 -int bttv_sub_register(126,3501 -int bttv_sub_unregister(135,3737 -void bttv_gpio_inout(145,4030 -u32 bttv_gpio_read(160,4440 -void bttv_gpio_write(170,4637 -void bttv_gpio_bits(178,4820 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-if.c,234 -int bttv_get_cardinfo(49,1794 -struct pci_dev* bttv_get_pcidev(59,1983 -int bttv_get_id(66,2104 -int bttv_gpio_enable(76,2283 -int bttv_read_gpio(91,2551 -int bttv_write_gpio(111,2885 -wait_queue_head_t* bttv_get_gpio_queue(129,3255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7114.c,2019 -#define I2C_NAME(I2C_NAME61,1801 -static int debug 65,1866 -#define dprintk(dprintk69,1960 -struct saa7114 saa711477,2152 -#define I2C_SAA7114 90,2303 -#define I2C_SAA7114A 91,2337 -#define I2C_DELAY 93,2372 -#define SAA_7114_NTSC_HSYNC_START 99,2495 -#define SAA_7114_NTSC_HSYNC_STOP 100,2536 -#define SAA_7114_NTSC_HOFFSET 103,2624 -#define SAA_7114_NTSC_VOFFSET 104,2659 -#define SAA_7114_NTSC_WIDTH 105,2704 -#define SAA_7114_NTSC_HEIGHT 106,2750 -#define SAA_7114_SECAM_HSYNC_START 108,2797 -#define SAA_7114_SECAM_HSYNC_STOP 109,2843 -#define SAA_7114_SECAM_HOFFSET 111,2890 -#define SAA_7114_SECAM_VOFFSET 112,2934 -#define SAA_7114_SECAM_WIDTH 113,2979 -#define SAA_7114_SECAM_HEIGHT 114,3025 -#define SAA_7114_PAL_HSYNC_START 116,3072 -#define SAA_7114_PAL_HSYNC_STOP 117,3118 -#define SAA_7114_PAL_HOFFSET 119,3165 -#define SAA_7114_PAL_VOFFSET 120,3209 -#define SAA_7114_PAL_WIDTH 121,3254 -#define SAA_7114_PAL_HEIGHT 122,3300 -#define SAA_7114_VERTICAL_CHROMA_OFFSET 126,3349 -#define SAA_7114_VERTICAL_LUMA_OFFSET 127,3412 -#define REG_ADDR(REG_ADDR129,3463 -#define LOBYTE(LOBYTE130,3500 -#define HIBYTE(HIBYTE131,3548 -#define LOWORD(LOWORD132,3603 -#define HIWORD(HIWORD133,3658 -saa7114_write 139,3820 -saa7114_write_block 150,4091 -saa7114_read 197,5179 -static const unsigned char init[208,5417 -saa7114_command 469,11353 -static unsigned short normal_i2c[821,20732 -static unsigned short normal_i2c_range[823,20830 -static unsigned short probe[825,20894 -static unsigned short probe_range[826,20963 -static unsigned short ignore[827,21038 -static unsigned short ignore_range[828,21108 -static unsigned short force[829,21184 -static struct i2c_client_address_data addr_data 831,21335 -static int saa7114_i2c_id 841,21578 -static struct i2c_driver i2c_driver_saa7114;842,21609 -saa7114_detect_client 845,21666 -saa7114_attach_adapter 1191,32235 -saa7114_detach_client 1201,32482 -static struct i2c_driver i2c_driver_saa7114 1219,32791 -saa7114_init 1232,33073 -saa7114_exit 1238,33162 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bt832.h,2679 -#define BT832_OFFSET 13,303 -#define BT832_RCOMP 14,326 -#define BT832_G1COMP 15,348 -#define BT832_G2COMP 16,371 -#define BT832_BCOMP 17,394 -#define BT832_FINEH 19,430 -#define BT832_FINEL 20,452 -#define BT832_COARSEH 21,474 -#define BT832_COARSEL 22,498 -#define BT832_CAMGAIN 23,524 -#define BT832_M00 25,567 -#define BT832_M01 26,588 -#define BT832_M02 27,609 -#define BT832_M10 28,630 -#define BT832_M11 29,651 -#define BT832_M12 30,672 -#define BT832_M20 31,693 -#define BT832_M21 32,714 -#define BT832_M22 33,735 -#define BT832_APCOR 34,756 -#define BT832_GAMCOR 35,779 -#define BT832_VPCONTROL2 37,831 -#define BT832_ZONECODE0 38,859 -#define BT832_ZONECODE1 39,886 -#define BT832_ZONECODE2 40,913 -#define BT832_ZONECODE3 41,940 -#define BT832_RACC 43,997 -#define BT832_GACC 44,1019 -#define BT832_BACC 45,1041 -#define BT832_BLACKACC 46,1063 -#define BT832_EXP_AGC 47,1089 -#define BT832_LACC0 48,1114 -#define BT832_LACC1 49,1137 -#define BT832_LACC2 50,1160 -#define BT832_LACC3 51,1183 -#define BT832_LACC4 52,1206 -#define BT832_LACC5 53,1229 -#define BT832_LACC6 54,1252 -#define BT832_LACC7 55,1275 -#define BT832_VP_CONTROL0 57,1309 -#define BT832_VP_CONTROL1 58,1338 -#define BT832_THRESH 59,1367 -#define BT832_VP_TESTCONTROL0 60,1391 -#define BT832_VP_DMCODE 61,1424 -#define BT832_ACB_CONFIG 62,1451 -#define BT832_ACB_GNBASE 63,1479 -#define BT832_ACB_MU 64,1507 -#define BT832_CAM_TEST0 65,1531 -#define BT832_AEC_CONFIG 66,1558 -#define BT832_AEC_TL 67,1586 -#define BT832_AEC_TC 68,1610 -#define BT832_AEC_TH 69,1634 -#define BT832_VP_STATUS 71,1669 -#define BT832_VP_LINECOUNT 72,1696 -#define BT832_CAM_DEVICEL 73,1726 -#define BT832_CAM_DEVICEH 74,1768 -#define BT832_CAM_STATUS 75,1864 - #define BT832_56_CAMERA_PRESENT 76,1893 -#define BT832_CAM_SETUP0 78,1948 -#define BT832_CAM_SETUP1 79,1976 -#define BT832_CAM_SETUP2 80,2004 -#define BT832_CAM_SETUP3 81,2032 -#define BT832_DEFCOR 83,2071 -#define BT832_VP_TESTCONTROL1 84,2096 -#define BT832_DEVICE_ID 85,2129 -# define BT832_DEVICE_ID__31 86,2157 -#define VV5404_device_h 92,2332 -#define VV5404_device_l 93,2371 -#define VV5404_status0 94,2410 -#define VV5404_linecountc 95,2439 -#define VV5404_linecountl 96,2494 -#define VV5404_setup0 97,2525 -#define VV5404_setup1 98,2553 -#define VV5404_setup2 99,2581 -#define VV5404_setup4 100,2609 -#define VV5404_setup5 101,2637 -#define VV5404_fine_h 102,2665 -#define VV5404_fine_l 103,2711 -#define VV5404_coarse_h 104,2739 -#define VV5404_coarse_l 105,2788 -#define VV5404_gain 106,2818 -#define VV5404_clk_div 107,2872 -#define VV5404_cr 108,2901 -#define VV5404_as0 109,2945 -#define BT832_HEXDUMP 113,3003 -#define BT832_REATTACH 114,3043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/video-buf.c,1414 -#define MAGIC_DMABUF 31,1061 -#define MAGIC_BUFFER 32,1093 -#define MAGIC_CHECK(MAGIC_CHECK33,1125 -static int debug 36,1268 -#define dprintk(dprintk43,1476 -videobuf_vmalloc_to_sg(47,1597 -videobuf_pages_to_sg(74,2156 -void videobuf_dma_init(117,3116 -int videobuf_dma_init_user(123,3230 -int videobuf_dma_init_kernel(161,4361 -int videobuf_dma_init_overlay(176,4782 -int videobuf_dma_pci_map(190,5111 -int videobuf_dma_pci_sync(223,6001 -int videobuf_dma_pci_unmap(233,6249 -int videobuf_dma_free(247,6554 -void* videobuf_alloc(272,7054 -int videobuf_waiton(286,7313 -videobuf_iolock(314,8010 -videobuf_queue_init(363,9200 -videobuf_queue_is_busy(385,9636 -videobuf_queue_cancel(421,10322 -videobuf_next_field(450,11028 -videobuf_status(469,11383 -videobuf_reqbufs(524,12420 -videobuf_querybuf(566,13311 -videobuf_qbuf(579,13636 -videobuf_dqbuf(652,15112 -int videobuf_streamon(692,15922 -int videobuf_streamoff(720,16498 -videobuf_read_zerocopy(737,16763 -ssize_t videobuf_read_one(779,17835 -int videobuf_read_start(855,19753 -void videobuf_read_stop(887,20532 -ssize_t videobuf_read_stream(903,20841 -unsigned int videobuf_poll_stream(990,22924 -videobuf_vm_open(1032,23845 -videobuf_vm_close(1042,24076 -videobuf_vm_nopage(1078,25001 -static struct vm_operations_struct videobuf_vm_ops 1096,25425 -int videobuf_mmap_setup(1103,25580 -int videobuf_mmap_free(1135,26270 -int videobuf_mmap_mapper(1152,26622 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tda9840.h,647 -#define __INCLUDED_TDA9840__2,29 -#define I2C_TDA9840 4,59 -#define TDA9840_DETECT 6,86 -#define TDA9840_MONO_DETECT 8,164 -#define TDA9840_DUAL_DETECT 9,197 -#define TDA9840_STEREO_DETECT 10,230 -#define TDA9840_INCORRECT_DETECT 11,265 -#define TDA9840_SWITCH 13,303 -#define TDA9840_SET_MUTE 15,391 -#define TDA9840_SET_MONO 16,422 -#define TDA9840_SET_STEREO 17,453 -#define TDA9840_SET_LANG1 18,486 -#define TDA9840_SET_LANG2 19,518 -#define TDA9840_SET_BOTH 20,550 -#define TDA9840_SET_BOTH_R 21,581 -#define TDA9840_SET_EXTERNAL 22,614 -#define TDA9840_LEVEL_ADJUST 26,738 -#define TDA9840_STEREO_ADJUST 30,872 -#define TDA9840_TEST 33,951 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tvmixer.c,586 -#define DEV_MAX 20,412 -static int devnr 22,432 -struct TVMIXER TVMIXER30,612 -static struct TVMIXER devices[36,682 -static int mix_to_v4l(43,913 -static int v4l_to_mix(53,1059 -static int v4l_to_mix2(63,1202 -static int tvmixer_ioctl(74,1422 -static int tvmixer_open(178,4551 -static int tvmixer_release(206,5167 -static struct i2c_driver driver 225,5553 -static struct file_operations tvmixer_fops 241,5977 -static int tvmixer_adapters(251,6264 -static int tvmixer_clients(263,6511 -static int __init tvmixer_init_module(333,8165 -static void __exit tvmixer_cleanup_module(343,8314 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_card.h,58 -#define __ZORAN_CARD_H__31,1180 -#define BUZ_MAX 34,1245 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36120_i2c.c,201 -#define I2C_DELAY 37,1227 -static void i2c_setlines(39,1251 -static int i2c_getdataline(49,1568 -void attach_inform(58,1787 -void detach_inform(98,2964 -struct i2c_bus zoran_i2c_bus_template 117,3412 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-i2c.c,1323 -static struct i2c_algo_bit_data bttv_i2c_algo_bit_template;33,1104 -static struct i2c_adapter bttv_i2c_adap_sw_template;34,1164 -static struct i2c_adapter bttv_i2c_adap_hw_template;35,1217 -static struct i2c_client bttv_i2c_client_template;36,1270 -static int i2c_debug 45,1556 -static int i2c_hw 46,1582 -void bttv_bit_setscl(53,1816 -void bttv_bit_setsda(65,2034 -static int bttv_bit_getscl(77,2252 -static int bttv_bit_getsda(86,2408 -static struct i2c_algo_bit_data bttv_i2c_algo_bit_template 95,2555 -static struct i2c_adapter bttv_i2c_adap_sw_template 105,2787 -static int algo_control(124,3351 -static u32 functionality(130,3461 -bttv_i2c_wait_done(136,3557 -#define I2C_HW 157,3996 -bttv_i2c_sendbytes(161,4093 -bttv_i2c_readbytes(214,5214 -int bttv_i2c_xfer(253,6067 -static struct i2c_algorithm bttv_algo 281,6654 -static struct i2c_adapter bttv_i2c_adap_hw_template 289,6886 -static void bttv_inc_use(310,7501 -static void bttv_dec_use(315,7577 -static int attach_inform(321,7660 -static int detach_inform(338,8154 -void bttv_call_i2c_clients(346,8321 -void bttv_i2c_call(353,8483 -static struct i2c_client bttv_i2c_client_template 360,8636 -int bttv_I2CRead(367,8765 -int bttv_I2CWrite(392,9460 -void __devinit bttv_readee(409,9909 -int __devinit init_bttv_i2c(427,10345 -int __devexit fini_bttv_i2c(466,11469 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bw-qcam.h,418 -#define QC_NOTSET 33,1267 -#define QC_UNIDIR 34,1287 -#define QC_BIDIR 35,1307 -#define QC_SERIAL 36,1327 -#define QC_ANY 39,1380 -#define QC_FORCE_UNIDIR 40,1409 -#define QC_FORCE_BIDIR 41,1438 -#define QC_FORCE_SERIAL 42,1467 -#define QC_MODE_MASK 45,1527 -#define QC_FORCE_MASK 46,1556 -#define MAX_HEIGHT 48,1586 -#define MAX_WIDTH 49,1609 -#define QC_PARAM_CHANGE 52,1666 -struct qcam_device qcam_device54,1736 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/ir-kbd-gpio.c,549 -static IR_KEYTAB_TYPE ir_codes_avermedia[35,1102 -static IR_KEYTAB_TYPE winfast_codes[77,2185 -static IR_KEYTAB_TYPE ir_codes_pixelview[122,3266 -struct IR IR156,4151 -static int debug;172,4578 -#define DEVNAME 175,4658 -#define dprintk(dprintk176,4688 -static struct bttv_sub_driver driver 183,4910 -static void ir_handle_key(194,5137 -static void ir_irq(237,6164 -static void ir_timer(245,6303 -static void ir_work(252,6412 -static int ir_probe(264,6676 -static int ir_remove(356,9045 -static int ir_init(376,9482 -static void ir_fini(381,9558 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/btcx-risc.c,226 -static unsigned int debug 38,1159 -static int memcnt;45,1407 -void btcx_riscmem_free(47,1427 -int btcx_riscmem_alloc(60,1713 -btcx_screen_clips(89,2378 -btcx_align(128,3255 -btcx_sort_clips(162,4130 -btcx_calc_skips(184,4499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv-risc.c,400 -#define VCR_HACK_LINES 36,1081 -bttv_risc_packed(42,1242 -bttv_risc_planar(115,3667 -bttv_risc_overlay(232,6646 -bttv_calc_geo(319,8917 -bttv_apply_geo(367,10419 -bttv_set_dma(394,11508 -bttv_risc_init_main(447,13010 -bttv_risc_hook(486,14300 -bttv_dma_free(513,15047 -bttv_buffer_activate_vbi(526,15382 -bttv_buffer_activate_video(543,15790 -bttv_buffer_risc(599,17941 -bttv_overlay_risc(751,22399 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/v4l2-common.c,407 -v4l2_video_std_fps(90,2454 -int v4l2_video_std_construct(101,2799 -#define V4L2_PRIO_VALID(V4L2_PRIO_VALID126,3445 -int v4l2_prio_init(130,3601 -int v4l2_prio_change(136,3704 -int v4l2_prio_open(151,4027 -int v4l2_prio_close(156,4172 -enum v4l2_priority v4l2_prio_max(163,4335 -int v4l2_prio_check(174,4725 -char *v4l2_field_names[185,5020 -char *v4l2_type_names[196,5348 -char *v4l2_ioctl_names[204,5607 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bttv.h,5048 -#define _BTTV_H_14,365 -#define BTTV_UNKNOWN 22,566 -#define BTTV_MIRO 23,598 -#define BTTV_HAUPPAUGE 24,630 -#define BTTV_STB 25,662 -#define BTTV_INTEL 26,694 -#define BTTV_DIAMOND 27,726 -#define BTTV_AVERMEDIA 28,759 -#define BTTV_MATRIX_VISION 29,792 -#define BTTV_FLYVIDEO 30,825 -#define BTTV_TURBOTV 31,857 -#define BTTV_HAUPPAUGE878 32,889 -#define BTTV_MIROPRO 33,921 -#define BTTV_ADSTECH_TV 34,953 -#define BTTV_AVERMEDIA98 35,985 -#define BTTV_VHX 36,1017 -#define BTTV_ZOLTRIX 37,1049 -#define BTTV_PIXVIEWPLAYTV 38,1081 -#define BTTV_WINVIEW_601 39,1113 -#define BTTV_AVEC_INTERCAP 40,1145 -#define BTTV_LIFE_FLYKIT 41,1177 -#define BTTV_CEI_RAFFLES 42,1209 -#define BTTV_CONFERENCETV 43,1241 -#define BTTV_PHOEBE_TVMAS 44,1273 -#define BTTV_MODTEC_205 45,1305 -#define BTTV_MAGICTVIEW061 46,1337 -#define BTTV_VOBIS_BOOSTAR 47,1369 -#define BTTV_HAUPPAUG_WCAM 48,1401 -#define BTTV_MAXI 49,1433 -#define BTTV_TERRATV 50,1465 -#define BTTV_PXC200 51,1497 -#define BTTV_FLYVIDEO_98 52,1529 -#define BTTV_IPROTV 53,1561 -#define BTTV_INTEL_C_S_PCI 54,1593 -#define BTTV_TERRATVALUE 55,1625 -#define BTTV_WINFAST2000 56,1657 -#define BTTV_CHRONOS_VS2 57,1689 -#define BTTV_TYPHOON_TVIEW 58,1721 -#define BTTV_PXELVWPLTVPRO 59,1753 -#define BTTV_MAGICTVIEW063 60,1785 -#define BTTV_PINNACLE 61,1817 -#define BTTV_STB2 62,1849 -#define BTTV_AVPHONE98 63,1881 -#define BTTV_PV951 64,1913 -#define BTTV_ONAIR_TV 65,1945 -#define BTTV_SIGMA_TVII_FM 66,1977 -#define BTTV_MATRIX_VISION2 67,2009 -#define BTTV_ZOLTRIX_GENIE 68,2042 -#define BTTV_TERRATVRADIO 69,2074 -#define BTTV_DYNALINK 70,2106 -#define BTTV_GVBCTV3PCI 71,2138 -#define BTTV_PXELVWPLTVPAK 72,2170 -#define BTTV_EAGLE 73,2202 -#define BTTV_PINNACLEPRO 74,2234 -#define BTTV_TVIEW_RDS_FM 75,2266 -#define BTTV_LIFETEC_9415 76,2298 -#define BTTV_BESTBUY_EASYTV 77,2330 -#define BTTV_FLYVIDEO_98FM 78,2363 -#define BTTV_GMV1 79,2395 -#define BTTV_BESTBUY_EASYTV2 80,2427 -#define BTTV_ATI_TVWONDER 81,2461 -#define BTTV_ATI_TVWONDERVE 82,2493 -#define BTTV_FLYVIDEO2000 83,2526 -#define BTTV_TERRATVALUER 84,2559 -#define BTTV_GVBCTV4PCI 85,2592 -#define BTTV_VOODOOTV_FM 86,2625 -#define BTTV_AIMMS 87,2658 -#define BTTV_PV_BT878P_PLUS 88,2691 -#define BTTV_FLYVIDEO98EZ 89,2724 -#define BTTV_PV_BT878P_9B 90,2757 -#define BTTV_SENSORAY311 91,2790 -#define BTTV_RV605 92,2823 -#define BTTV_WINDVR 93,2856 -#define BTTV_GRANDTEC 94,2889 -#define BTTV_KWORLD 95,2922 -#define BTTV_HAUPPAUGEPVR 96,2955 -#define BTTV_GVBCTV5PCI 97,2988 -#define BTTV_OSPREY1x0 98,3021 -#define BTTV_OSPREY1x0_848 99,3054 -#define BTTV_OSPREY101_848 100,3087 -#define BTTV_OSPREY1x1 101,3120 -#define BTTV_OSPREY1x1_SVID 102,3153 -#define BTTV_OSPREY2xx 103,3186 -#define BTTV_OSPREY2x0_SVID 104,3219 -#define BTTV_OSPREY2x0 105,3252 -#define BTTV_OSPREY500 106,3285 -#define BTTV_OSPREY540 107,3318 -#define BTTV_OSPREY2000 108,3351 -#define BTTV_IDS_EAGLE 109,3384 -#define BTTV_PINNACLESAT 110,3417 -#define BTTV_FORMAC_PROTV 111,3450 -#define BTTV_EURESYS_PICOLO 112,3483 -#define BTTV_PV150 113,3516 -#define BTTV_AD_TVK503 114,3549 -#define BTTV_IVC200 115,3582 -#define BTTV_XGUARD 116,3615 -#define BTTV_NEBULA_DIGITV 117,3648 -#define BTTV_PV143 118,3681 -#define BTTV_IVC100 119,3714 -#define BTTV_IVC120 120,3747 -#define BTTV_PC_HDTV 121,3780 -#define BTTV_TWINHAN_DST 122,3813 -#define BTTV_WINFASTVC100 123,3846 -#define BTTV_SIMUS_GVC1100 124,3879 -#define BTTV_NGSTV_PLUS 125,3912 -#define BTTV_LMLBT4 126,3945 -#define BTTV_PICOLO_TETRA_CHIP 127,3978 -#define BTTV_AVDVBT_771 128,4014 -#define BTTV_AVDVBT_761 129,4047 -#define BTTV_MATRIX_VISIONSQ 130,4080 -#define BTTV_MATRIX_VISIONSLC 131,4115 -#define BTTV_APAC_VIEWCOMP 132,4150 -#define I2C_TSA5522 135,4207 -#define I2C_TDA7432 136,4239 -#define I2C_BT832_ALT1 137,4271 -#define I2C_BT832_ALT2 138,4302 -#define I2C_TDA8425 139,4354 -#define I2C_TDA9840 140,4386 -#define I2C_TDA9850 141,4418 -#define I2C_TDA9874 142,4479 -#define I2C_TDA9875 143,4535 -#define I2C_HAUPEE 144,4567 -#define I2C_STBEE 145,4599 -#define I2C_VHX 146,4631 -#define I2C_MSP3400 147,4663 -#define I2C_MSP3400_ALT 148,4695 -#define I2C_TEA6300 149,4727 -#define I2C_DPL3518 150,4759 -#define I2C_TDA9887 151,4787 -#define PT2254_L_CHANNEL 154,4849 -#define PT2254_R_CHANNEL 155,4879 -#define PT2254_DBS_IN_2 156,4909 -#define PT2254_DBS_IN_10 157,4939 -#define WINVIEW_PT2254_CLK 158,4972 -#define WINVIEW_PT2254_DATA 159,5005 -#define WINVIEW_PT2254_STROBE 160,5038 -#define DIGITAL_MODE_VIDEO 163,5093 -#define DIGITAL_MODE_CAMERA 164,5122 -struct bttv_core bttv_core166,5153 -struct tvcardtvcard180,5557 -#define PLL_NONE 208,6320 -#define PLL_28 209,6339 -#define PLL_35 210,6358 -struct bttv_sub_device bttv_sub_device294,9211 -#define to_bttv_sub_dev(to_bttv_sub_dev299,9311 -struct bttv_sub_driver bttv_sub_driver301,9386 -#define to_bttv_sub_drv(to_bttv_sub_drv308,9667 -#define gpio_inout(gpio_inout319,10127 -#define gpio_read(gpio_read320,10195 -#define gpio_write(gpio_write321,10250 -#define gpio_bits(gpio_bits322,10313 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/btcx-risc.h,80 -struct btcx_riscmem btcx_riscmem2,1 -struct btcx_skiplist btcx_skiplist9,114 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tea6420.c,561 -static int debug 39,1369 -#define dprintk 41,1438 -static unsigned short normal_i2c[44,1537 -static unsigned short normal_i2c_range[45,1622 -I2C_CLIENT_INSMOD;48,1741 -static struct i2c_driver driver;50,1761 -static int tea6420_id 53,1822 -static int tea6420_switch(57,1991 -static int tea6420_detect(98,2854 -static int tea6420_attach(144,4071 -static int tea6420_detach(155,4424 -static int tea6420_command(169,4669 -static struct i2c_driver driver 190,5045 -static int __init tea6420_init_module(200,5312 -static void __exit tea6420_cleanup_module(205,5394 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa5246a.c,1622 -struct saa5246a_devicesaa5246a_device55,1742 -static struct video_device saa_template;63,1897 -static unsigned short normal_i2c[66,1990 -static unsigned short normal_i2c_range[67,2061 -static unsigned short probe[68,2124 -static unsigned short probe_range[69,2195 -static unsigned short ignore[70,2271 -static unsigned short ignore_range[71,2343 -static unsigned short force[72,2420 -static struct i2c_client_address_data addr_data 74,2492 -static struct i2c_client client_template;81,2630 -static int saa5246a_attach(83,2673 -static int saa5246a_probe(149,3960 -static int saa5246a_detach(156,4123 -static int saa5246a_command(166,4340 -static struct i2c_driver i2c_driver_videotext 176,4473 -static struct i2c_client client_template 187,4758 -static int i2c_sendbuf(193,4876 -static int i2c_senddata(205,5101 -static int i2c_getdata(224,5679 -static int saa5246a_clear_found_bit(238,6137 -static int saa5246a_request_page(282,6887 -static inline int saa5246a_extract_pagenum_from_infobits(371,9026 -static inline int saa5246a_extract_hour_from_infobits(394,9674 -static inline int saa5246a_extract_minutes_from_infobits(412,10144 -static inline int saa5246a_get_status(428,10600 -static inline int saa5246a_get_page(485,12419 -static inline int saa5246a_stop_dau(566,14661 -static int do_saa5246a_ioctl(594,15163 -static int saa5246a_ioctl(687,16790 -static int saa5246a_open(700,17110 -static int saa5246a_release(753,18168 -static int __init init_saa_5246a 773,18626 -static void __exit cleanup_saa_5246a 781,18839 -static struct file_operations saa_fops 789,18990 -static struct video_device saa_template 797,19166 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_driver.c,1467 -#define MAP_NR(MAP_NR61,1955 -#define ZORAN_HARDWARE 62,1999 -#define ZORAN_VID_TYPE 63,2048 -#define ZORAN_V4L2_VID_FLAGS 89,2681 -const struct zoran_format zoran_formats[99,2896 -const int zoran_num_formats 179,4680 -#define BUZ_USE_HIMEM185,4920 -#define dprintk(dprintk194,5048 -static int lock_norm 206,5283 -zoran_v4l2_calc_bufsize 215,5626 -get_high_mem 252,6556 -v4l_fbuffer_alloc 317,7974 -v4l_fbuffer_free 465,12264 -jpg_fbuffer_alloc 522,14237 -jpg_fbuffer_free 618,16750 -zoran_v4l_set_format 687,18392 -zoran_v4l_queue_frame 737,19702 -v4l_grab 817,21753 -v4l_sync 879,23339 -zoran_jpg_queue_frame 950,25136 -jpg_qbuf 1048,27590 -jpg_sync 1095,28607 -zoran_open_init_session 1168,30400 -zoran_close_end_session 1216,31901 -zoran_open 1264,33000 -zoran_close 1405,36261 -zoran_read 1472,37876 -zoran_write 1483,38072 -setup_fbuffer 1494,38261 -setup_window 1565,40286 -setup_overlay 1691,43439 -zoran_v4l2_buffer_status 1760,45371 -zoran_set_norm 1866,48104 -zoran_set_input 1963,50410 -zoran_do_ioctl 2002,51091 -zoran_ioctl 4254,104624 -zoran_poll 4263,104822 -zoran_vm_open 4347,106980 -zoran_vm_close 4355,107107 -static struct vm_operations_struct zoran_vm_ops 4448,109245 -#define zr_remap_page_range(zr_remap_page_range4454,109398 -#define zr_remap_page_range(zr_remap_page_range4456,109469 -zoran_mmap 4460,109555 -static struct file_operations zoran_fops 4675,115069 -struct video_device zoran_template __devinitdata 4687,115318 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zr36120.h,3666 -#define _ZR36120_H22,856 -#define DEBUG(DEBUG38,1130 -#define IDEBUG(IDEBUG39,1171 -#define PDEBUG 40,1224 -#define ZORAN_MAX_FBUFFERS 45,1343 -#define ZORAN_MAX_FBUFFER 46,1372 -#define ZORAN_MAX_FBUFSIZE 47,1410 -#define ZORAN_VBI_BUFFERS 49,1477 -#define ZORAN_VBI_BUFSIZE 50,1505 -struct tvcard tvcard52,1544 -#define IS_TUNER 63,2094 -#define IS_SVHS 64,2117 -#define CHANNEL_MASK 65,2140 -#define TUNER(TUNER68,2236 -#define SVHS(SVHS69,2268 -struct vidinfo vidinfo71,2300 -#define FBUFFER_OVERLAY 74,2381 -#define FBUFFER_GRAB 75,2408 -#define FBUFFER_VBI 76,2432 -#define FBUFFER_FREE 78,2469 -#define FBUFFER_BUSY 79,2493 -#define FBUFFER_DONE 80,2517 -struct zoran zoran92,2922 -#define CARD_DEBUG 95,2970 -#define CARD_INFO 96,3012 -#define CARD_ERR 97,3052 -#define CARD 98,3090 -#define STATE_OVERLAY 134,4396 -#define STATE_VBI 135,4420 -#define zrwrite(zrwrite146,4754 -#define zrread(zrread147,4828 -#define zrand(zrand150,4901 -#define zror(zror151,4963 -#define zraor(zraor152,5025 -#define zrand(zrand154,5113 -#define zror(zror162,5357 -#define zraor(zraor170,5602 -#define ZORAN_VFEH 185,6076 -#define ZORAN_VFEH_HSPOL 186,6141 -#define ZORAN_VFEH_HSTART 187,6174 -#define ZORAN_VFEH_HEND 188,6212 -#define ZORAN_VFEV 190,6249 -#define ZORAN_VFEV_VSPOL 191,6312 -#define ZORAN_VFEV_VSTART 192,6345 -#define ZORAN_VFEV_VEND 193,6383 -#define ZORAN_VFEC 195,6420 -#define ZORAN_VFEC_EXTFL 196,6485 -#define ZORAN_VFEC_TOPFIELD 197,6518 -#define ZORAN_VFEC_VCLKPOL 198,6554 -#define ZORAN_VFEC_HFILTER 199,6589 -#define ZORAN_VFEC_HFILTER_1 200,6624 -#define ZORAN_VFEC_HFILTER_2 201,6692 -#define ZORAN_VFEC_HFILTER_3 202,6760 -#define ZORAN_VFEC_HFILTER_4 203,6828 -#define ZORAN_VFEC_HFILTER_5 204,6896 -#define ZORAN_VFEC_DUPFLD 205,6964 -#define ZORAN_VFEC_HORDCM 206,6998 -#define ZORAN_VFEC_VERDCM 207,7033 -#define ZORAN_VFEC_DISPMOD 208,7067 -#define ZORAN_VFEC_RGB 209,7101 -#define ZORAN_VFEC_RGB_YUV422 210,7132 -#define ZORAN_VFEC_RGB_RGB888 211,7169 -#define ZORAN_VFEC_RGB_RGB565 212,7206 -#define ZORAN_VFEC_RGB_RGB555 213,7243 -#define ZORAN_VFEC_ERRDIF 214,7280 -#define ZORAN_VFEC_PACK24 215,7313 -#define ZORAN_VFEC_LE 216,7346 -#define ZORAN_VTOP 218,7377 -#define ZORAN_VBOT 220,7430 -#define ZORAN_VSTR 222,7486 -#define ZORAN_VSTR_DISPSTRIDE 223,7539 -#define ZORAN_VSTR_VIDOVF 224,7582 -#define ZORAN_VSTR_SNAPSHOT 225,7615 -#define ZORAN_VSTR_GRAB 226,7650 -#define ZORAN_VDC 228,7683 -#define ZORAN_VDC_VIDEN 229,7734 -#define ZORAN_VDC_MINPIX 230,7767 -#define ZORAN_VDC_TRICOM 231,7803 -#define ZORAN_VDC_VIDWINHT 232,7836 -#define ZORAN_VDC_VIDWINWID 233,7875 -#define ZORAN_MTOP 235,7915 -#define ZORAN_MBOT 237,7966 -#define ZORAN_OCR 239,8020 -#define ZORAN_OCR_OVLEN 240,8067 -#define ZORAN_OCR_MASKSTRIDE 241,8100 -#define ZORAN_PCI 243,8140 -#define ZORAN_PCI_SOFTRESET 244,8199 -#define ZORAN_PCI_WAITSTATE 245,8235 -#define ZORAN_PCI_GENPURDIR 246,8271 -#define ZORAN_GUEST 248,8310 -#define ZORAN_CSOURCE 250,8361 -#define ZORAN_CTRANS 252,8417 -#define ZORAN_CMEM 254,8474 -#define ZORAN_ISR 256,8527 -#define ZORAN_ISR_CODE 257,8584 -#define ZORAN_ISR_GIRQ0 258,8616 -#define ZORAN_ISR_GIRQ1 259,8649 -#define ZORAN_ICR 261,8683 -#define ZORAN_ICR_EN 262,8741 -#define ZORAN_ICR_CODE 263,8771 -#define ZORAN_ICR_GIRQ0 264,8803 -#define ZORAN_ICR_GIRQ1 265,8836 -#define ZORAN_I2C 267,8870 -#define ZORAN_I2C_SCL 268,8909 -#define ZORAN_I2C_SDA 269,8939 -#define ZORAN_POST 271,8970 -#define ZORAN_POST_PEN 272,9012 -#define ZORAN_POST_TIME 273,9044 -#define ZORAN_POST_DIR 274,9077 -#define ZORAN_POST_GUESTID 275,9109 -#define ZORAN_POST_GUEST 276,9144 -#define ZORAN_POST_DATA 277,9177 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/bt832.c,605 -static unsigned short normal_i2c[42,1073 -static unsigned short normal_i2c_range[43,1128 -I2C_CLIENT_INSMOD;44,1225 -#define dprintk 48,1323 -static struct i2c_driver driver;53,1416 -static struct i2c_client client_template;54,1449 -struct bt832 bt83256,1492 -int bt832_hexdump(60,1545 -int bt832_init(91,2519 -static int bt832_attach(171,4856 -static int bt832_probe(198,5452 -static int bt832_detach(205,5609 -bt832_command(216,5804 -static struct i2c_driver driver 241,6342 -static struct i2c_client client_template 250,6662 -int bt832_init_module(258,6799 -static void bt832_cleanup_module(264,6869 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/planb.h,1598 -#define _PLANB_H_32,1141 -#define PLANB_DEVICE_NAME 39,1247 -#define PLANB_REV 40,1296 -#define PLANB_MAXPIXELS 46,1487 -#define PLANB_MAXLINES 47,1515 -#define PLANB_NTSC_MAXLINES 48,1542 -#define PLANB_DEF_NORM 51,1615 -#define PLANB_GRAY 56,1759 -#define PLANB_COLOUR15 57,1801 -#define PLANB_COLOUR32 58,1846 -#define PLANB_CLIPMASK 59,1891 -#define CH_SYNC 62,1988 -#define FIELD_SYNC 64,2072 -#define EVEN_FIELD 66,2183 -#define DMA_ABORT 67,2244 -#define ODD_FIELD 68,2305 -#define MAX_GBUFFERS 71,2392 -#define PLANB_MAX_FBUF 74,2495 -#define TAB_FACTOR 75,2548 -#define PLANB_MAX_FBUF 77,2577 -#define TAB_FACTOR 78,2629 -struct planb_saa_regs planb_saa_regs82,2684 -struct planb_stat_regs planb_stat_regs87,2753 -struct planb_any_regs planb_any_regs94,2882 -#define PLANBIOCGSAAREGS 101,3006 -#define PLANBIOCSSAAREGS 102,3116 -#define PLANBIOCGSTAT 103,3228 -#define PLANB_TV_MODE 104,3333 -#define PLANB_VTR_MODE 105,3358 -#define PLANBIOCGMODE 106,3384 -#define PLANBIOCSMODE 107,3468 -#define PLANBG_GRAB_BPL 110,3576 -#define PLANB_INTR_DEBUG 114,3753 -#define PLANB_INV_REGS 116,3856 -#define PLANB_SET(PLANB_SET121,3991 -#define PLANB_CLR(PLANB_CLR122,4030 -struct planb_registers planb_registers125,4115 -#define PLANB_CLR_IRQ 134,4568 -#define PLANB_GEN_IRQ 135,4626 -#define PLANB_FRM_IRQ 136,4685 -struct planb_window planb_window148,5127 -struct planb_suspend planb_suspend160,5355 -struct planb planb166,5431 -#define PLANB_DUMMY 208,6901 -#define GBUFFER_UNUSED 213,7140 -#define GBUFFER_GRABBING 214,7175 -#define GBUFFER_DONE 215,7210 -#define MAX_LNUM 219,7296 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7121.h,1414 -#define __SAA7121_H__20,813 -#define NTSC_BURST_START 22,836 -#define NTSC_BURST_END 23,875 -#define NTSC_CHROMA_PHASE 24,913 -#define NTSC_GAINU 25,953 -#define NTSC_GAINV 26,987 -#define NTSC_BLACK_LEVEL 27,1021 -#define NTSC_BLANKING_LEVEL 28,1060 -#define NTSC_VBI_BLANKING 29,1102 -#define NTSC_DAC_CONTROL 30,1142 -#define NTSC_BURST_AMP 31,1181 -#define NTSC_SUBC3 32,1219 -#define NTSC_SUBC2 33,1253 -#define NTSC_SUBC1 34,1287 -#define NTSC_SUBC0 35,1321 -#define NTSC_HTRIG 36,1355 -#define NTSC_VTRIG 37,1389 -#define NTSC_MULTI 38,1423 -#define NTSC_CCTTX 39,1457 -#define NTSC_FIRST_ACTIVE 40,1491 -#define NTSC_LAST_ACTIVE 41,1531 -#define NTSC_MSB_VERTICAL 42,1570 -#define PAL_BURST_START 44,1611 -#define PAL_BURST_END 45,1650 -#define PAL_CHROMA_PHASE 46,1687 -#define PAL_GAINU 47,1726 -#define PAL_GAINV 48,1759 -#define PAL_BLACK_LEVEL 49,1792 -#define PAL_BLANKING_LEVEL 50,1831 -#define PAL_VBI_BLANKING 51,1872 -#define PAL_DAC_CONTROL 52,1911 -#define PAL_BURST_AMP 53,1950 -#define PAL_SUBC3 54,1987 -#define PAL_SUBC2 55,2020 -#define PAL_SUBC1 56,2053 -#define PAL_SUBC0 57,2086 -#define PAL_HTRIG 58,2119 -#define PAL_VTRIG 59,2152 -#define PAL_MULTI 60,2185 -#define PAL_CCTTX 61,2218 -#define PAL_FIRST_ACTIVE 62,2251 -#define PAL_LAST_ACTIVE 63,2290 -#define PAL_MSB_VERTICAL 64,2329 -static __u8 init7121ntsc[68,2402 -#define INIT7121LEN 99,3690 -static __u8 init7121pal[101,3736 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tda9887.c,2671 -static unsigned short normal_i2c[28,626 -static unsigned short normal_i2c_range[33,707 -I2C_CLIENT_INSMOD;34,783 -static unsigned int debug 37,824 -#define UNSET 43,981 -#define PREFIX 44,1007 -#define dprintk 45,1043 -struct tda9887 tda988747,1082 -struct tvnorm tvnorm56,1276 -static struct i2c_driver driver;64,1412 -static struct i2c_client client_template;65,1445 -#define cVideoTrapBypassOFF 74,1607 -#define cVideoTrapBypassON 75,1657 -#define cAutoMuteFmInactive 77,1708 -#define cAutoMuteFmActive 78,1758 -#define cIntercarrier 80,1809 -#define cQSS 81,1859 -#define cPositiveAmTV 83,1910 -#define cFmRadio 84,1962 -#define cNegativeFmTV 85,2014 -#define cForcedMuteAudioON 88,2068 -#define cForcedMuteAudioOFF 89,2118 -#define cOutputPort1Active 91,2169 -#define cOutputPort1Inactive 92,2219 -#define cOutputPort2Active 94,2270 -#define cOutputPort2Inactive 95,2320 -#define cDeemphasisOFF 99,2392 -#define cDeemphasisON 100,2442 -#define cDeemphasis75 102,2493 -#define cDeemphasis50 103,2543 -#define cAudioGain0 105,2594 -#define cAudioGain6 106,2644 -#define cAudioIF_4_5 110,2715 -#define cAudioIF_5_5 111,2768 -#define cAudioIF_6_0 112,2821 -#define cAudioIF_6_5 113,2874 -#define cVideoIF_58_75 116,2929 -#define cVideoIF_45_75 117,2982 -#define cVideoIF_38_90 118,3035 -#define cVideoIF_38_00 119,3088 -#define cVideoIF_33_90 120,3141 -#define cVideoIF_33_40 121,3194 -#define cRadioIF_45_75 122,3247 -#define cRadioIF_38_90 123,3300 -#define cTunerGainNormal 126,3355 -#define cTunerGainLow 127,3406 -#define cGating_18 129,3458 -#define cGating_36 130,3509 -#define cAgcOutON 132,3561 -#define cAgcOutOFF 133,3612 -static struct tvnorm tvnorms[137,3742 -static struct tvnorm radio 213,5527 -static void dump_read_message(225,5808 -static void dump_write_message(252,6471 -static int tda9887_set_tvnorm(348,9243 -static unsigned int port1 375,9723 -static unsigned int port2 376,9755 -static unsigned int qss 377,9787 -static unsigned int adjust 378,9823 -static int tda9887_set_insmod(384,9954 -static int tda9887_set_config(402,10262 -static int tda9887_set_pinnacle(434,11079 -static char *pal 462,11702 -static char *secam 464,11748 -static int tda9887_fixup_std(467,11799 -static int tda9887_status(512,12727 -static int tda9887_configure(524,13010 -static int tda9887_attach(555,13734 -static int tda9887_probe(576,14269 -static int tda9887_detach(593,14654 -#define SWITCH_V4L2 602,14812 -#define CHECK_V4L2 605,14953 -tda9887_command(610,15086 -static struct i2c_driver driver 717,17171 -static struct i2c_client client_template 726,17499 -static int __init tda9887_init_module(733,17639 -static void __exit tda9887_cleanup_module(738,17721 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7196.h,1428 -#define _SAA7196_H_21,641 -#define SAA7196_NUMREGS 23,662 -#define NUM_SUPPORTED_NORM 24,723 -#define SAA7196_IDEL 27,814 -#define SAA7196_HSB5 28,868 -#define SAA7196_HSS5 29,926 -#define SAA7196_HCB5 30,983 -#define SAA7196_HCS5 31,1042 -#define SAA7196_HSP5 32,1100 -#define SAA7196_LUMC 33,1163 -#define SAA7196_HUEC 34,1219 -#define SAA7196_CKTQ 35,1269 -#define SAA7196_CKTS 36,1347 -#define SAA7196_PALS 37,1415 -#define SAA7196_SECAMS 38,1476 -#define SAA7196_CGAINC 39,1539 -#define SAA7196_STDC 40,1597 -#define SAA7196_IOCC 41,1657 -#define SAA7196_CTRL1 42,1717 -#define SAA7196_CTRL2 43,1766 -#define SAA7196_CGAINR 44,1815 -#define SAA7196_CSAT 45,1875 -#define SAA7196_CONT 46,1931 -#define SAA7196_HSB6 47,1988 -#define SAA7196_HSS6 48,2046 -#define SAA7196_HCB6 49,2103 -#define SAA7196_HCS6 50,2162 -#define SAA7196_HSP6 51,2220 -#define SAA7196_BRIG 52,2283 -#define SAA7196_FMTS 55,2362 -#define SAA7196_OUTPIX 56,2421 -#define SAA7196_INPIX 57,2482 -#define SAA7196_HWS 58,2542 -#define SAA7196_HFILT 59,2600 -#define SAA7196_OUTLINE 60,2652 -#define SAA7196_INLINE 61,2714 -#define SAA7196_VWS 62,2775 -#define SAA7196_VYP 63,2835 -#define SAA7196_VBS 64,2899 -#define SAA7196_VBCNT 65,2959 -#define SAA7196_VBP 66,3019 -#define SAA7196_VLOW 67,3082 -#define SAA7196_VHIGH 68,3148 -#define SAA7196_ULOW 69,3214 -#define SAA7196_UHIGH 70,3280 -#define SAA7196_DPATH 71,3346 -unsigned char saa_regs[75,3442 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tuner.c,2919 -static unsigned short normal_i2c[19,406 -static unsigned short normal_i2c_range[20,461 -I2C_CLIENT_INSMOD;21,532 -#define UNSET 23,552 -static unsigned int debug 26,594 -static unsigned int type 27,626 -static unsigned int addr 28,662 -static unsigned int tv_range[29,694 -static unsigned int radio_range[30,744 -static unsigned int tv_antenna 31,794 -static unsigned int radio_antenna 32,830 -#define optimize_vco 41,1060 -static int this_adap;47,1242 -#define dprintk 48,1264 -struct tuner tuner50,1303 -static struct i2c_driver driver;67,1719 -static struct i2c_client client_template;68,1752 -#define TEMIC_SET_PAL_I 81,2251 -#define TEMIC_SET_PAL_DK 82,2288 -#define TEMIC_SET_PAL_L 83,2325 -#define TEMIC_SET_PAL_L2 84,2373 -#define TEMIC_SET_PAL_BG 85,2425 -#define PHILIPS_SET_PAL_I 97,2873 -#define PHILIPS_SET_PAL_BGDK 98,2929 -#define PHILIPS_SET_PAL_L2 99,2963 -#define PHILIPS_SET_PAL_L 100,2995 -#define PHILIPS_MF_SET_BG 111,3344 -#define PHILIPS_MF_SET_PAL_L 112,3424 -#define PHILIPS_MF_SET_PAL_L2 113,3468 -struct tunertype tunertype118,3589 -static struct tunertype tuners[140,4168 -#define TUNERS 253,9314 -static int tuner_getstatus(257,9427 -#define TUNER_POR 271,9660 -#define TUNER_FL 272,9689 -#define TUNER_MODE 273,9718 -#define TUNER_AFC 274,9747 -#define TUNER_STEREO 276,9777 -#define TUNER_SIGNAL 277,9823 -static int tuner_signal(279,9870 -static int tuner_stereo(284,9970 -static int tuner_islocked 290,10086 -static int tuner_afcstatus 295,10189 -static int tuner_mode 300,10298 -#define MT2032 308,10489 -#define MT2030 309,10509 -#define MT2040 310,10529 -#define MT2050 311,10549 -static char *microtune_part[313,10570 -static int mt2032_spurcheck(321,10723 -static int mt2032_compute_freq(349,11323 -static int mt2032_check_lo_lock(430,13622 -static int mt2032_optimize_vco(450,14015 -static void mt2032_set_if_freq(486,14584 -static void mt2032_set_tv_freq(543,16114 -static void mt2032_set_radio_freq(565,16589 -static int mt2032_init(576,16983 -static void mt2050_set_antenna(632,18567 -static void mt2050_set_if_freq(643,18856 -static void mt2050_set_tv_freq(702,20153 -static void mt2050_set_radio_freq(718,20531 -static int mt2050_init(727,20760 -static int microtune_init(751,21226 -static void default_set_tv_freq(817,22851 -static void default_set_radio_freq(926,25590 -static void set_tv_freq(962,26526 -static void set_radio_freq(986,27172 -static void set_freq(1007,27704 -static void set_type(1023,28065 -static char *pal 1052,28723 -static int tuner_fixup_std(1055,28770 -static int tuner_attach(1086,29407 -static int tuner_probe(1124,30549 -static int tuner_detach(1149,31093 -#define SWITCH_V4L2 1159,31263 -#define CHECK_V4L2 1162,31404 -tuner_command(1167,31537 -static struct i2c_driver driver 1297,34025 -static struct i2c_client client_template 1306,34352 -static int __init tuner_init_module(1313,34500 -static void __exit tuner_cleanup_module(1318,34580 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/vino.h,3204 -#define VINO_BASE 6,118 -#define VINO_REVID 8,177 -#define VINO_CTRL 9,204 -#define VINO_INTSTAT 10,230 -#define VINO_I2C_CTRL 11,282 -#define VINO_I2C_DATA 12,312 -#define VINO_A_ALPHA 13,342 -#define VINO_A_CLIPS 14,391 -#define VINO_A_CLIPE 15,441 -#define VINO_A_FRAMERT 16,489 -#define VINO_A_FLDCNT 17,536 -#define VINO_A_LNSZ 18,586 -#define VINO_A_LNCNT 19,614 -#define VINO_A_PGIX 20,643 -#define VINO_A_DESC_PTR 21,688 -#define VINO_A_DESC_TLB_PTR 22,755 -#define VINO_A_DESC_DATA0 23,829 -#define VINO_A_DESC_DATA1 24,886 -#define VINO_A_DESC_DATA2 25,929 -#define VINO_A_DESC_DATA3 26,962 -#define VINO_A_FIFO_THRESHOLD 27,995 -#define VINO_A_FIFO_RP 28,1053 -#define VINO_A_FIFO_WP 29,1084 -#define VINO_B_ALPHA 30,1115 -#define VINO_B_CLIPS 31,1164 -#define VINO_B_CLIPE 32,1193 -#define VINO_B_FRAMERT 33,1222 -#define VINO_B_FLDCNT 34,1253 -#define VINO_B_LNSZ 35,1283 -#define VINO_B_LNCNT 36,1311 -#define VINO_B_PGIX 37,1340 -#define VINO_B_DESC_PTR 38,1368 -#define VINO_B_DESC_TLB_PTR 39,1400 -#define VINO_B_DESC_DATA0 40,1435 -#define VINO_B_DESC_DATA1 41,1468 -#define VINO_B_DESC_DATA2 42,1501 -#define VINO_B_DESC_DATA3 43,1534 -#define VINO_B_FIFO_THRESHOLD 44,1567 -#define VINO_B_FIFO_RP 45,1604 -#define VINO_B_FIFO_WP 46,1635 -#define VINO_REVID_REV_MASK 50,1706 -#define VINO_REVID_ID_MASK 51,1757 -#define VINO_CTRL_LITTLE_ENDIAN 55,1846 -#define VINO_CTRL_A_FIELD_TRANS_INT 56,1886 -#define VINO_CTRL_A_FIFO_OF_INT 57,1957 -#define VINO_CTRL_A_END_DESC_TBL_INT 58,2021 -#define VINO_CTRL_B_FIELD_TRANS_INT 59,2093 -#define VINO_CTRL_B_FIFO_OF_INT 60,2164 -#define VINO_CTRL_B_END_DESC_TLB_INT 61,2228 -#define VINO_CTRL_A_DMA_ENBL 62,2300 -#define VINO_CTRL_A_INTERLEAVE_ENBL 63,2337 -#define VINO_CTRL_A_SYNC_ENBL 64,2380 -#define VINO_CTRL_A_SELECT 65,2418 -#define VINO_CTRL_A_RGB 66,2475 -#define VINO_CTRL_A_LUMA_ONLY 67,2527 -#define VINO_CTRL_A_DEC_ENBL 68,2566 -#define VINO_CTRL_A_DEC_SCALE_MASK 69,2621 -#define VINO_CTRL_A_DEC_HOR_ONLY 70,2681 -#define VINO_CTRL_A_DITHER 71,2744 -#define VINO_CTRL_B_DMA_ENBL 72,2805 -#define VINO_CTRL_B_INTERLEAVE_ENBL 73,2843 -#define VINO_CTRL_B_SYNC_ENBL 74,2887 -#define VINO_CTRL_B_SELECT 75,2926 -#define VINO_CTRL_B_RGB 76,2983 -#define VINO_CTRL_B_LUMA_ONLY 77,3035 -#define VINO_CTRL_B_DEC_ENBL 78,3074 -#define VINO_CTRL_B_DEC_SCALE_MASK 79,3129 -#define VINO_CTRL_B_DEC_HOR_ONLY 80,3192 -#define VINO_CTRL_B_DITHER 81,3266 -#define VINO_INTSTAT_A_FIELD_TRANS 85,3383 -#define VINO_INTSTAT_A_FIFO_OF 86,3453 -#define VINO_INTSTAT_A_END_DESC_TBL 87,3516 -#define VINO_INTSTAT_B_FIELD_TRANS 88,3587 -#define VINO_INTSTAT_B_FIFO_OF 89,3657 -#define VINO_INTSTAT_B_END_DESC_TBL 90,3720 -#define VINO_CLIPS_START 94,3835 -#define VINO_CLIPS_ODD_MASK 95,3883 -#define VINO_CLIPS_EVEN_MASK 96,3938 -#define VINO_CLIPE_END 100,4037 -#define VINO_CLIPE_ODD_MASK 101,4084 -#define VINO_CLIPE_EVEN_MASK 102,4139 -#define VINO_FRAMERT_PAL 106,4236 -#define VINO_FRAMERT_RT_MASK 107,4288 -#define VINO_CTRL_I2C_IDLE 111,4376 -#define VINO_CTRL_I2C_DIR 113,4470 -#define VINO_CTRL_I2C_MORE_BYTES 114,4525 -#define VINO_CTRL_I2C_TRANS_BUSY 115,4596 -#define VINO_CTRL_I2C_ACK 116,4668 -#define VINO_CTRL_I2C_BUS_ERROR 117,4733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa5249.c,1777 -#define VTX_VER_MAJ 60,1980 -#define VTX_VER_MIN 61,2002 -#define NUM_DAUS 65,2027 -#define NUM_BUFS 66,2046 -#define IF_NAME 67,2065 -static const int disp_modes[69,2092 -#define PAGE_WAIT 83,2486 -#define PGBUF_EXPIRE 85,2592 -} vdau_t;vdau_t94,3057 -struct saa5249_devicesaa5249_device96,3068 -#define CCTWR 109,3366 -#define CCTRD 110,3425 -#define NOACK_REPEAT 111,3442 -#define CLEAR_DELAY 112,3513 -#define READY_TIMEOUT 113,3577 -#define INIT_DELAY 114,3669 -#define START_DELAY 115,3755 -#define VTX_DEV_MINOR 117,3841 -#define FALSE 122,3925 -#define TRUE 123,3941 -#define RESCHED 126,3964 -static struct video_device saa_template;128,4013 -static unsigned short normal_i2c[131,4106 -static unsigned short normal_i2c_range[132,4167 -static unsigned short probe[133,4228 -static unsigned short probe_range[134,4304 -static unsigned short ignore[135,4380 -static unsigned short ignore_range[136,4456 -static unsigned short force[137,4532 -static struct i2c_client_address_data addr_data 139,4609 -static struct i2c_client client_template;146,4750 -static int saa5249_attach(148,4793 -static int saa5249_probe(220,6373 -static int saa5249_detach(227,6534 -static int saa5249_command(238,6762 -static struct i2c_driver i2c_driver_videotext 246,6905 -static struct i2c_client client_template 257,7188 -static void jdelay(268,7422 -static int i2c_sendbuf(290,7891 -static int i2c_senddata(302,8118 -static int i2c_getdata(321,8694 -static int do_saa5249_ioctl(333,8899 -static int saa5249_ioctl(585,16584 -static int saa5249_open(598,16897 -static int saa5249_release(644,18044 -static int __init init_saa_5249 654,18359 -static void __exit cleanup_saa_5249 661,18570 -static struct file_operations saa_fops 669,18719 -static struct video_device saa_template 677,18914 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/videocodec.h,2030 -#define __LINUX_VIDEOCODEC_H145,6152 -#define CODEC_DO_COMPRESSION 150,6255 -#define CODEC_DO_EXPANSION 151,6286 -#define CODEC_FLAG_JPEG 155,6415 -#define CODEC_FLAG_MPEG 156,6470 -#define CODEC_FLAG_DIVX 157,6530 -#define CODEC_FLAG_WAVELET 158,6585 -#define CODEC_FLAG_MAGIC 161,6675 -#define CODEC_FLAG_HARDWARE 162,6740 -#define CODEC_FLAG_VFE 163,6804 -#define CODEC_FLAG_ENCODER 164,6874 -#define CODEC_FLAG_DECODER 165,6941 -#define CODEC_FLAG_NEEDIRQ 166,7010 -#define CODEC_FLAG_RDWRPIC 167,7073 -#define CODEC_MODE_BJPG 170,7203 -#define CODEC_MODE_LJPG 171,7256 -#define CODEC_MODE_MPEG1 172,7309 -#define CODEC_MODE_MPEG2 173,7355 -#define CODEC_MODE_MPEG4 174,7401 -#define CODEC_MODE_MSDIVX 175,7447 -#define CODEC_MODE_ODIVX 176,7494 -#define CODEC_MODE_WAVELET 177,7543 -#define CODEC_TYPE_NONE 181,7684 -#define CODEC_TYPE_L64702 182,7713 -#define CODEC_TYPE_ZR36050 183,7742 -#define CODEC_TYPE_ZR36016 184,7771 -#define CODEC_TYPE_ZR36060 185,7800 -#define CODEC_G_STATUS 189,7986 -#define CODEC_S_CODEC_MODE 190,8056 -#define CODEC_G_CODEC_MODE 191,8137 -#define CODEC_S_VFE 192,8175 -#define CODEC_G_VFE 193,8251 -#define CODEC_S_MMAP 194,8289 -#define CODEC_S_JPEG_TDS_BYTE 196,8360 -#define CODEC_G_JPEG_TDS_BYTE 197,8430 -#define CODEC_S_JPEG_SCALE 198,8468 -#define CODEC_G_JPEG_SCALE 199,8545 -#define CODEC_S_JPEG_HDT_DATA 200,8583 -#define CODEC_G_JPEG_HDT_DATA 201,8642 -#define CODEC_S_JPEG_QDT_DATA 202,8680 -#define CODEC_G_JPEG_QDT_DATA 203,8742 -#define CODEC_S_JPEG_APP_DATA 204,8780 -#define CODEC_G_JPEG_APP_DATA 205,8835 -#define CODEC_S_JPEG_COM_DATA 206,8873 -#define CODEC_G_JPEG_COM_DATA 207,8928 -#define CODEC_S_PRIVATE 209,8967 -#define CODEC_G_PRIVATE 210,9041 -#define CODEC_G_FLAG 212,9080 -#define CODEC_TRANSFER_KERNEL 216,9311 -#define CODEC_TRANSFER_USER 217,9363 -struct vfe_polarity vfe_polarity224,9520 -struct vfe_settings vfe_settings235,9689 -struct tvnorm tvnorm247,10054 -struct videocodec videocodec251,10123 -struct videocodec_master videocodec_master310,11905 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/tda7432.c,1591 -# define VIDEO_AUDIO_BALANCE 56,1778 -static int maxvol 67,2128 -static int loudness 68,2151 -static int debug 69,2210 -static unsigned short normal_i2c[73,2307 -static unsigned short normal_i2c_range[77,2385 -I2C_CLIENT_INSMOD;78,2464 -struct tda7432 tda743282,2545 -static struct i2c_driver driver;92,2686 -static struct i2c_client client_template;93,2719 -#define dprintk 95,2762 -#define d2printk 96,2797 -#define TDA7432_IN 113,3355 -#define TDA7432_VL 114,3414 -#define TDA7432_TN 115,3473 -#define TDA7432_LF 116,3532 -#define TDA7432_LR 117,3591 -#define TDA7432_RF 118,3650 -#define TDA7432_RR 119,3709 -#define TDA7432_LD 120,3768 -#define TDA7432_STEREO_IN 142,4423 -#define TDA7432_MONO_IN 143,4451 -#define TDA7432_BASS_SYM 144,4507 -#define TDA7432_BASS_NORM 145,4539 -#define TDA7432_VOL_0DB 160,4830 -#define TDA7432_LD_ON 161,4860 -#define TDA7432_TREBLE_0DB 185,5426 -#define TDA7432_TREBLE 186,5459 -#define TDA7432_TREBLE_GAIN 187,5486 -#define TDA7432_BASS_0DB 188,5522 -#define TDA7432_BASS 189,5552 -#define TDA7432_BASS_GAIN 190,5582 -#define TDA7432_ATTEN_0DB 209,6069 -#define TDA7432_MUTE 210,6100 -static int tda7432_write(231,6456 -static int tda7432_read(248,6926 -static int tda7432_set(261,7239 -static void do_tda7432_init(288,7930 -static int tda7432_attach(315,8951 -static int tda7432_probe(339,9491 -static int tda7432_detach(351,9796 -static int tda7432_command(362,9983 -static struct i2c_driver driver 518,14207 -static struct i2c_client client_template 528,14535 -static int __init tda7432_init(535,14660 -static void __exit tda7432_fini(545,14878 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/vino.c,793 -struct vino_device vino_device24,542 -#define VINO_CHAN_A 28,612 -#define VINO_CHAN_B 29,635 -#define VINO_DMA_ACTIVE 32,681 -static struct vino_device vino[38,810 -static __inline__ unsigned long long vino_reg_read(45,1056 -static __inline__ void vino_reg_write(68,1509 -static __inline__ void vino_reg_and(92,2046 -static __inline__ void vino_reg_or(115,2497 -static int vino_dma_setup(138,2945 -static void vino_dma_stop(143,2993 -static int vino_init(148,3031 -static void vino_dma_go(192,4097 -static void vino_setup(199,4195 -static int vino_open(204,4248 -static void vino_close(209,4322 -static int vino_ioctl(213,4376 -static int vino_mmap(218,4469 -static struct video_device vino_dev 224,4576 -int __init init_vino(235,4821 -int init_module(253,5053 -void cleanup_module(264,5147 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7146.h,685 -#define __SAA7146__21,848 -#define SAA7146_VERSION_CODE 23,869 -#define O_NONCAP 31,1006 -#define MAX_GBUFFERS 34,1039 -#define FBUF_SIZE 35,1062 -struct saa7146_window saa7146_window39,1109 -struct device_opendevice_open53,1384 -#define MAX_OPENS 59,1473 -struct saa7146saa714661,1494 -#define MAX_MARKS 83,2172 -#define saawrite(saawrite98,2697 -#define saaread(saaread99,2774 -#define saawrite(saawrite101,2839 -#define saaread(saaread102,2917 -#define saaand(saaand105,2984 -#define saaor(saaor106,3049 -#define saaaor(saaaor107,3114 -#define SAA7146_UNKNOWN 110,3232 -#define SAA7146_SAA7111 111,3268 -#define SAA7146_SAA7121 112,3304 -#define SAA7146_IBMMPEG 113,3340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/zoran_procfs.c,380 -#define dprintk(dprintk54,1642 -struct procfs_params_zr36067 procfs_params_zr3606761,1781 -static const struct procfs_params_zr36067 zr67[68,1864 -setparam 98,2468 -static int zoran_show(126,3139 -static int zoran_open(138,3431 -static ssize_t zoran_write(144,3583 -static struct file_operations zoran_operations 189,4571 -zoran_proc_init 199,4754 -zoran_proc_cleanup 223,5310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/saa7146reg.h,8560 -#define __SAA7146_REG__21,852 -#define SAA7146_BASE_ODD1 22,876 -#define SAA7146_BASE_EVEN1 23,907 -#define SAA7146_PROT_ADDR1 24,939 -#define SAA7146_PITCH1 25,971 -#define SAA7146_PAGE1 26,1000 -#define SAA7146_NUM_LINE_BYTE1 27,1028 -#define SAA7146_BASE_ODD2 28,1064 -#define SAA7146_BASE_EVEN2 29,1095 -#define SAA7146_PROT_ADDR2 30,1127 -#define SAA7146_PITCH2 31,1159 -#define SAA7146_PAGE2 32,1188 -#define SAA7146_NUM_LINE_BYTE2 33,1216 -#define SAA7146_BASE_ODD3 34,1252 -#define SAA7146_BASE_EVEN3 35,1283 -#define SAA7146_PROT_ADDR3 36,1315 -#define SAA7146_PITCH3 37,1347 -#define SAA7146_PAGE3 38,1376 -#define SAA7146_NUM_LINE_BYTE3 39,1404 -#define SAA7146_PCI_BT_V1 40,1440 -#define SAA7146_PCI_BT_V2 41,1471 -#define SAA7146_PCI_BT_V3 42,1502 -#define SAA7146_PCI_BT_DEBI 43,1533 -#define SAA7146_PCI_BT_A 44,1566 -#define SAA7146_DD1_INIT 45,1596 -#define SAA7146_DD1_STREAM_B 46,1626 -#define SAA7146_DD1_STREAM_A 47,1660 -#define SAA7146_BRS_CTRL 48,1694 -#define SAA7146_HPS_CTRL 49,1724 -#define SAA7146_HPS_V_SCALE 50,1754 -#define SAA7146_HPS_V_GAIN 51,1787 -#define SAA7146_HPS_H_PRESCALE 52,1819 -#define SAA7146_HPS_H_SCALE 53,1855 -#define SAA7146_BCS_CTRL 54,1888 -#define SAA7146_CHROMA_KEY_RANGE 55,1918 -#define SAA7146_CLIP_FORMAT_CTRL 56,1956 -#define SAA7146_DEBI_CONFIG 57,1994 -#define SAA7146_DEBI_COMMAND 58,2027 -#define SAA7146_DEBI_PAGE 59,2061 -#define SAA7146_DEBI_AD 60,2092 -#define SAA7146_I2C_TRANSFER 61,2122 -#define SAA7146_I2C_STATUS 62,2156 -#define SAA7146_BASE_A1_IN 63,2188 -#define SAA7146_PROT_A1_IN 64,2220 -#define SAA7146_PAGE_A1_IN 65,2252 -#define SAA7146_BASE_A1_OUT 66,2284 -#define SAA7146_PROT_A1_OUT 67,2317 -#define SAA7146_PAGE_A1_OUT 68,2350 -#define SAA7146_BASE_A2_IN 69,2383 -#define SAA7146_PROT_A2_IN 70,2415 -#define SAA7146_PAGE_A2_IN 71,2447 -#define SAA7146_BASE_A2_OUT 72,2479 -#define SAA7146_PROT_A2_OUT 73,2512 -#define SAA7146_PAGE_A2_OUT 74,2545 -#define SAA7146_RPS_PAGE0 75,2578 -#define SAA7146_RPS_PAGE1 76,2609 -#define SAA7146_RPS_THRESH0 77,2640 -#define SAA7146_RPS_THRESH1 78,2673 -#define SAA7146_RPS_TOV0 79,2706 -#define SAA7146_RPS_TOV1 80,2736 -#define SAA7146_IER 81,2766 -#define SAA7146_GPIO_CTRL 82,2792 -#define SAA7146_EC1SSR 83,2823 -#define SAA7146_EC2SSR 84,2852 -#define SAA7146_ECT1R 85,2881 -#define SAA7146_ECT2R 86,2909 -#define SAA7146_ACON1 87,2937 -#define SAA7146_ACON2 88,2965 -#define SAA7146_MC1 89,2993 -#define SAA7146_MC2 90,3019 -#define SAA7146_RPS_ADDR0 91,3046 -#define SAA7146_RPS_ADDR1 92,3078 -#define SAA7146_ISR 93,3110 -#define SAA7146_PSR 94,3137 -#define SAA7146_SSR 95,3164 -#define SAA7146_EC1R 96,3191 -#define SAA7146_EC2R 97,3219 -#define SAA7146_VDP1 98,3247 -#define SAA7146_VDP2 99,3275 -#define SAA7146_VDP3 100,3303 -#define SAA7146_ADP1 101,3331 -#define SAA7146_ADP2 102,3359 -#define SAA7146_ADP3 103,3387 -#define SAA7146_ADP4 104,3415 -#define SAA7146_DDP 105,3443 -#define SAA7146_LEVEL_REP 106,3470 -#define SAA7146_FB_BUFFER1 107,3502 -#define SAA7146_FB_BUFFER2 108,3535 -#define SAA7146_A_TIME_SLOT1 109,3568 -#define SAA7146_A_TIME_SLOT2 110,3603 -#define MASK_31 113,3662 -#define MASK_30 114,3691 -#define MASK_29 115,3720 -#define MASK_28 116,3749 -#define MASK_27 117,3778 -#define MASK_26 118,3807 -#define MASK_25 119,3836 -#define MASK_24 120,3865 -#define MASK_23 121,3894 -#define MASK_22 122,3923 -#define MASK_21 123,3952 -#define MASK_20 124,3981 -#define MASK_19 125,4010 -#define MASK_18 126,4039 -#define MASK_17 127,4068 -#define MASK_16 128,4097 -#define MASK_15 129,4126 -#define MASK_14 130,4155 -#define MASK_13 131,4184 -#define MASK_12 132,4213 -#define MASK_11 133,4242 -#define MASK_10 134,4271 -#define MASK_09 135,4300 -#define MASK_08 136,4329 -#define MASK_07 137,4358 -#define MASK_06 138,4387 -#define MASK_05 139,4416 -#define MASK_04 140,4445 -#define MASK_03 141,4474 -#define MASK_02 142,4503 -#define MASK_01 143,4532 -#define MASK_00 144,4561 -#define MASK_B0 145,4590 -#define MASK_B1 146,4619 -#define MASK_B2 147,4648 -#define MASK_B3 148,4677 -#define MASK_W0 149,4706 -#define MASK_W1 150,4735 -#define MASK_PA 151,4764 -#define MASK_PR 152,4793 -#define MASK_ER 153,4822 -#define MASK_NONE 154,4851 -#define SAA7146_PAGE_MAP_EN 156,4882 -#define SAA7146_MC1_MRST_N 158,4948 -#define SAA7146_MC1_ERPS1 159,4983 -#define SAA7146_MC1_ERPS0 160,5017 -#define SAA7146_MC1_EDP 161,5051 -#define SAA7146_MC1_EVP 162,5084 -#define SAA7146_MC1_EAP 163,5117 -#define SAA7146_MC1_EI2C 164,5150 -#define SAA7146_MC1_TR_E_DEBI 165,5183 -#define SAA7146_MC1_TR_E_1 166,5221 -#define SAA7146_MC1_TR_E_2 167,5256 -#define SAA7146_MC1_TR_E_3 168,5291 -#define SAA7146_MC1_TR_E_A2_OUT 169,5326 -#define SAA7146_MC1_TR_E_A2_IN 170,5366 -#define SAA7146_MC1_TR_E_A1_OUT 171,5405 -#define SAA7146_MC1_TR_E_A1_IN 172,5445 -#define SAA7146_MC2_RPS_SIG4 174,5514 -#define SAA7146_MC2_RPS_SIG3 175,5551 -#define SAA7146_MC2_RPS_SIG2 176,5588 -#define SAA7146_MC2_RPS_SIG1 177,5625 -#define SAA7146_MC2_RPS_SIG0 178,5662 -#define SAA7146_MC2_UPLD_D1_B 179,5699 -#define SAA7146_MC2_UPLD_D1_A 180,5737 -#define SAA7146_MC2_UPLD_BRS 181,5775 -#define SAA7146_MC2_UPLD_HPS_H 182,5812 -#define SAA7146_MC2_UPLD_HPS_V 183,5851 -#define SAA7146_MC2_UPLD_DMA3 184,5890 -#define SAA7146_MC2_UPLD_DMA2 185,5928 -#define SAA7146_MC2_UPLD_DMA1 186,5966 -#define SAA7146_MC2_UPLD_DEBI 187,6004 -#define SAA7146_MC2_UPLD_I2C 188,6042 -#define SAA7146_PSR_PPEF 190,6147 -#define SAA7146_PSR_PABO 191,6180 -#define SAA7146_PSR_PPED 192,6213 -#define SAA7146_PSR_RPS_I1 193,6246 -#define SAA7146_PSR_RPS_I0 194,6281 -#define SAA7146_PSR_RPS_LATE1 195,6316 -#define SAA7146_PSR_RPS_LATE0 196,6354 -#define SAA7146_PSR_RPS_E1 197,6392 -#define SAA7146_PSR_RPS_E0 198,6427 -#define SAA7146_PSR_RPS_TO1 199,6462 -#define SAA7146_PSR_RPS_TO0 200,6498 -#define SAA7146_PSR_UPLD 201,6534 -#define SAA7146_PSR_DEBI_S 202,6567 -#define SAA7146_PSR_DEBI_E 203,6602 -#define SAA7146_PSR_I2C_S 204,6637 -#define SAA7146_PSR_I2C_E 205,6671 -#define SAA7146_PSR_A2_IN 206,6705 -#define SAA7146_PSR_A2_OUT 207,6739 -#define SAA7146_PSR_A1_IN 208,6774 -#define SAA7146_PSR_A1_OUT 209,6808 -#define SAA7146_PSR_AFOU 210,6843 -#define SAA7146_PSR_V_PE 211,6876 -#define SAA7146_PSR_VFOU 212,6909 -#define SAA7146_PSR_FIDA 213,6942 -#define SAA7146_PSR_FIDB 214,6975 -#define SAA7146_PSR_PIN3 215,7008 -#define SAA7146_PSR_PIN2 216,7041 -#define SAA7146_PSR_PIN1 217,7074 -#define SAA7146_PSR_PIN0 218,7107 -#define SAA7146_PSR_ECS 219,7140 -#define SAA7146_PSR_EC3S 220,7173 -#define SAA7146_PSR_EC0S 221,7206 -#define SAA7146_SSR_PRQ 223,7271 -#define SAA7146_SSR_PMA 224,7304 -#define SAA7146_SSR_RPS_RE1 225,7337 -#define SAA7146_SSR_RPS_PE1 226,7373 -#define SAA7146_SSR_RPS_A1 227,7409 -#define SAA7146_SSR_RPS_RE0 228,7444 -#define SAA7146_SSR_RPS_PE0 229,7480 -#define SAA7146_SSR_RPS_A0 230,7516 -#define SAA7146_SSR_DEBI_TO 231,7551 -#define SAA7146_SSR_DEBI_EF 232,7587 -#define SAA7146_SSR_I2C_EA 233,7623 -#define SAA7146_SSR_I2C_EW 234,7658 -#define SAA7146_SSR_I2C_ER 235,7693 -#define SAA7146_SSR_I2C_EL 236,7728 -#define SAA7146_SSR_I2C_EF 237,7763 -#define SAA7146_SSR_V3P 238,7798 -#define SAA7146_SSR_V2P 239,7831 -#define SAA7146_SSR_V1P 240,7864 -#define SAA7146_SSR_VF3 241,7897 -#define SAA7146_SSR_VF2 242,7930 -#define SAA7146_SSR_VF1 243,7963 -#define SAA7146_SSR_AF2_IN 244,7996 -#define SAA7146_SSR_AF2_OUT 245,8031 -#define SAA7146_SSR_AF1_IN 246,8067 -#define SAA7146_SSR_AF1_OUT 247,8102 -#define SAA7146_SSR_VGT 248,8138 -#define SAA7146_SSR_LNQG 249,8171 -#define SAA7146_SSR_EC5S 250,8204 -#define SAA7146_SSR_EC4S 251,8237 -#define SAA7146_SSR_EC2S 252,8270 -#define SAA7146_SSR_EC1S 253,8303 -#define SAA7146_I2C_ABORT 255,8362 -#define SAA7146_I2C_SPERR 256,8396 -#define SAA7146_I2C_APERR 257,8430 -#define SAA7146_I2C_DTERR 258,8464 -#define SAA7146_I2C_DRERR 259,8498 -#define SAA7146_I2C_AL 260,8532 -#define SAA7146_I2C_ERR 261,8564 -#define SAA7146_I2C_BUSY 262,8597 -#define SAA7146_YUV422 264,8651 -#define SAA7146_RGB16 265,8676 -#define SAA7146_YUV444 266,8700 -#define SAA7146_RGB24 267,8725 -#define SAA7146_ARGB32 268,8749 -#define SAA7146_YUV411 269,8774 -#define SAA7146_ARGB15 270,8799 -#define SAA7146_YUV2 271,8825 -#define SAA7146_RGAB15 272,8848 -#define SAA7146_Y8 273,8873 -#define SAA7146_YUV8 274,8894 -#define SAA7146_RGB8 275,8917 -#define SAA7146_YUV444p 276,8940 -#define SAA7146_YUV422p 277,8966 -#define SAA7146_YUV420p 278,8992 -#define SAA7146_YUV1620 279,9019 -#define SAA7146_Y1 280,9046 -#define SAA7146_Y2 281,9068 -#define SAA7146_YUV1 282,9090 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/video/adv7170.c,1308 -#define I2C_NAME(I2C_NAME59,1880 -static int debug 63,1945 -#define dprintk(dprintk67,2039 -struct adv7170 adv717075,2231 -#define I2C_ADV7170 87,2362 -#define I2C_ADV7171 88,2396 -static char adv7170_name[90,2431 -static char adv7171_name[91,2471 -static char *inputs[93,2512 -static char *norms[94,2569 -adv7170_write 99,2709 -adv7170_read 110,2979 -adv7170_write_block 117,3114 -#define MR050 166,4293 -#define MR060 167,4325 -#define TR0MODE 171,4437 -#define TR0RST 172,4462 -#define TR1CAPT 174,4487 -#define TR1PLAY 175,4512 -static const unsigned char init_NTSC[178,4539 -static const unsigned char init_PAL[207,5319 -adv7170_command 238,6108 -static unsigned short normal_i2c[382,9193 -static unsigned short normal_i2c_range[387,9340 -static unsigned short probe[389,9404 -static unsigned short probe_range[390,9473 -static unsigned short ignore[391,9548 -static unsigned short ignore_range[392,9618 -static unsigned short force[393,9694 -static struct i2c_client_address_data addr_data 395,9845 -static int adv7170_i2c_id 405,10088 -static struct i2c_driver i2c_driver_adv7170;406,10119 -adv7170_detect_client 409,10176 -adv7170_attach_adapter 485,12147 -adv7170_detach_client 495,12394 -static struct i2c_driver i2c_driver_adv7170 513,12703 -adv7170_init 526,12996 -adv7170_exit 532,13085 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttusb-dec/ttusb_dec.c,3298 -static int debug 45,1335 -static int output_pva 46,1357 -#define dprintk 48,1385 -#define DRIVER_NAME 50,1420 -#define COMMAND_PIPE 52,1474 -#define RESULT_PIPE 53,1501 -#define IN_PIPE 54,1527 -#define OUT_PIPE 55,1550 -#define COMMAND_PACKET_SIZE 57,1574 -#define ARM_PACKET_SIZE 58,1607 -#define ISO_BUF_COUNT 60,1640 -#define FRAMES_PER_ISO_BUF 61,1668 -#define ISO_FRAME_SIZE 62,1700 -#define MAX_PVA_LENGTH 64,1732 -#define LOF_HI 66,1762 -#define LOF_LO 67,1788 -enum ttusb_dec_model ttusb_dec_model69,1814 - TTUSB_DEC2000T,70,1837 - TTUSB_DEC2540T,71,1854 - TTUSB_DEC3000S72,1871 -enum ttusb_dec_packet_type ttusb_dec_packet_type75,1891 - TTUSB_DEC_PACKET_PVA,76,1920 - TTUSB_DEC_PACKET_SECTION,77,1943 - TTUSB_DEC_PACKET_EMPTY78,1970 -enum ttusb_dec_interface ttusb_dec_interface81,1998 - TTUSB_DEC_INTERFACE_INITIAL,82,2025 - TTUSB_DEC_INTERFACE_IN,83,2055 - TTUSB_DEC_INTERFACE_OUT84,2080 -struct ttusb_dec ttusb_dec87,2109 -struct urb_frame urb_frame152,3652 -struct filter_info filter_info158,3752 -static struct dvb_frontend_info dec2000t_frontend_info 164,3864 -static struct dvb_frontend_info dec3000s_frontend_info 177,4345 -static u16 crc16(193,4909 -static int ttusb_dec_send_command(206,5102 -static int ttusb_dec_get_stb_state 280,6688 -static int ttusb_dec_audio_pes2ts_cb(313,7327 -static int ttusb_dec_video_pes2ts_cb(324,7584 -static void ttusb_dec_set_pids(335,7841 -static void ttusb_dec_process_pva(361,8574 -static void ttusb_dec_process_filter(458,10980 -static void ttusb_dec_process_packet(484,11687 -static void swap_bytes(534,12863 -static void ttusb_dec_process_urb_frame(546,13026 -static void ttusb_dec_process_urb_frame_list(675,15659 -static void ttusb_dec_process_urb(700,16340 -static void ttusb_dec_setup_urbs(746,17394 -static void ttusb_dec_stop_iso_xfer(776,18223 -static int ttusb_dec_set_interface(799,18722 -static int ttusb_dec_start_iso_xfer(831,19395 -static int ttusb_dec_start_ts_feed(871,20111 -static int ttusb_dec_start_sec_feed(939,21677 -static int ttusb_dec_start_feed(994,22991 -static int ttusb_dec_stop_ts_feed(1022,23507 -static int ttusb_dec_stop_sec_feed(1036,23788 -static int ttusb_dec_stop_feed(1057,24366 -static void ttusb_dec_free_iso_urbs(1074,24663 -static int ttusb_dec_alloc_iso_urbs(1090,25010 -static void ttusb_dec_init_tasklet(1121,25634 -static void ttusb_dec_init_v_pes(1129,25879 -static void ttusb_dec_init_usb(1139,26065 -static int ttusb_dec_boot_dsp(1154,26483 -static int ttusb_dec_init_stb(1257,29264 -static int ttusb_dec_init_dvb(1314,30521 -static void ttusb_dec_exit_dvb(1392,32454 -static void ttusb_dec_exit_usb(1404,32790 -static void ttusb_dec_exit_tasklet(1418,33024 -static int ttusb_dec_2000t_frontend_ioctl(1432,33360 -static int ttusb_dec_3000s_frontend_ioctl(1528,35497 -static void ttusb_dec_init_frontend(1670,38778 -static void ttusb_dec_exit_frontend(1678,38983 -static void ttusb_dec_init_filters(1683,39109 -static void ttusb_dec_exit_filters(1689,39263 -static int ttusb_dec_probe(1701,39576 -static void ttusb_dec_disconnect(1754,40610 -static void ttusb_dec_set_model(1773,40973 -static struct usb_device_id ttusb_dec_table[1802,41761 -static struct usb_driver ttusb_dec_driver 1810,42011 -static int __init ttusb_dec_init(1817,42195 -static void __exit ttusb_dec_exit(1830,42423 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dmxdev.h,579 -#define _DMXDEV_H_24,893 -enum dmxdevype dmxdevype40,1185 - DMXDEV_TYPE_NONE,41,1202 - DMXDEV_TYPE_SEC,42,1221 - DMXDEV_TYPE_PES,43,1239 -enum dmxdev_state dmxdev_state46,1261 - DMXDEV_STATE_FREE,47,1281 - DMXDEV_STATE_ALLOCATED,48,1301 - DMXDEV_STATE_SET,49,1326 - DMXDEV_STATE_GO,50,1345 - DMXDEV_STATE_DONE,51,1363 - DMXDEV_STATE_TIMEDOUT52,1383 -struct dmxdev_buffer dmxdev_buffer55,1410 -struct dmxdev_filter dmxdev_filter64,1557 -struct dmxdev_dvr dmxdev_dvr97,2178 -struct dmxdev dmxdev104,2287 -#define DMXDEV_CAP_DUPLEX 114,2517 -#define DVR_BUFFER_SIZE 118,2629 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/demux.h,2281 -#define __DEMUX_H 27,924 -#define DMX_MAX_FILTER_SIZE 43,1345 -#define DMX_MAX_SECFEED_SIZE 51,1509 -enum dmx_success dmx_success59,1626 - DMX_OK 60,1646 - DMX_LENGTH_ERROR,61,1679 - DMX_OVERRUN_ERROR,62,1723 - DMX_CRC_ERROR,63,1780 - DMX_FRAME_ERROR,64,1818 - DMX_FIFO_ERROR,65,1866 - DMX_MISSED_ERROR 66,1913 -#define TS_PACKET 75,2187 -#define TS_PAYLOAD_ONLY 76,2272 -#define TS_DECODER 78,2404 -enum dmx_ts_pesdmx_ts_pes83,2603 - DMX_TS_PES_AUDIO0,85,2672 - DMX_TS_PES_VIDEO0,86,2699 - DMX_TS_PES_TELETEXT0,87,2719 - DMX_TS_PES_SUBTITLE0,88,2742 - DMX_TS_PES_PCR0,89,2765 - DMX_TS_PES_AUDIO1,91,2784 - DMX_TS_PES_VIDEO1,92,2811 - DMX_TS_PES_TELETEXT1,93,2831 - DMX_TS_PES_SUBTITLE1,94,2854 - DMX_TS_PES_PCR1,95,2877 - DMX_TS_PES_AUDIO2,97,2896 - DMX_TS_PES_VIDEO2,98,2923 - DMX_TS_PES_TELETEXT2,99,2943 - DMX_TS_PES_SUBTITLE2,100,2966 - DMX_TS_PES_PCR2,101,2989 - DMX_TS_PES_AUDIO3,103,3008 - DMX_TS_PES_VIDEO3,104,3035 - DMX_TS_PES_TELETEXT3,105,3055 - DMX_TS_PES_SUBTITLE3,106,3078 - DMX_TS_PES_PCR3,107,3101 - DMX_TS_PES_OTHER109,3120 -#define DMX_TS_PES_AUDIO 112,3142 -#define DMX_TS_PES_VIDEO 113,3188 -#define DMX_TS_PES_TELETEXT 114,3234 -#define DMX_TS_PES_SUBTITLE 115,3283 -#define DMX_TS_PES_PCR 116,3332 -struct dmx_ts_feed dmx_ts_feed119,3378 -struct dmx_section_filter dmx_section_filter139,4140 -struct dmx_section_feed dmx_section_feed147,4445 -typedef int (*dmx_ts_cb)dmx_ts_cb176,5500 -typedef int (*dmx_section_cb)dmx_section_cb183,5703 -enum dmx_frontend_source dmx_frontend_source194,6095 - DMX_MEMORY_FE,195,6123 - DMX_FRONTEND_0,196,6139 - DMX_FRONTEND_1,197,6156 - DMX_FRONTEND_2,198,6173 - DMX_FRONTEND_3,199,6190 - DMX_STREAM_0,200,6207 - DMX_STREAM_1,201,6264 - DMX_STREAM_2,202,6279 - DMX_STREAM_3203,6294 -struct dmx_frontend dmx_frontend206,6313 -#define DMX_TS_FILTERING 222,6850 -#define DMX_PES_FILTERING 223,6901 -#define DMX_SECTION_FILTERING 224,6952 -#define DMX_MEMORY_BASED_FILTERING 225,7003 -#define DMX_CRC_CHECKING 226,7081 -#define DMX_TS_DESCRAMBLING 227,7133 -#define DMX_SECTION_PAYLOAD_DESCRAMBLING 228,7185 -#define DMX_MAC_ADDRESS_DESCRAMBLING 229,7237 -#define DMX_FE_ENTRY(DMX_FE_ENTRY242,7500 -struct dmx_demux dmx_demux244,7586 -#define DMX_DIR_ENTRY(DMX_DIR_ENTRY299,9936 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_filter.c,696 -unsigned int bitrates[6,103 -u32 freq[11,312 -unsigned int ac3_bitrates[13,347 -u32 ac3_freq[17,488 -u32 ac3_frames[18,526 -static void setup_ts2pes(29,917 -static void ts_to_pes(43,1240 -static int read_picture_header(69,1793 -static int read_gop_header(115,2896 -static int read_sequence_header(146,3734 -static int get_vinfo(260,6130 -static int get_ainfo(289,6604 -int dvb_filter_get_ac3info(344,7561 -static u8 *skip_pes_header(395,8527 -static void initialize_quant_matrix(433,9614 -static void initialize_mpg_picture(460,10306 -static void mpg_set_picture_parameter(487,11122 -static void init_mpg_picture(525,12505 -void dvb_filter_pes2ts_init(554,13525 -int dvb_filter_pes2ts(567,13785 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_ca_en50221.c,2547 -static int dvb_ca_en50221_debug 44,1449 -#define dprintk 45,1486 -#define INIT_TIMEOUT_SECS 47,1536 -#define HOST_LINK_BUF_SIZE 49,1565 -#define RX_BUFFER_SIZE 51,1599 -#define MAX_RX_PACKETS_PER_ITERATION 53,1629 -#define CTRLIF_DATA 55,1670 -#define CTRLIF_COMMAND 56,1697 -#define CTRLIF_STATUS 57,1724 -#define CTRLIF_SIZE_LOW 58,1751 -#define CTRLIF_SIZE_HIGH 59,1778 -#define CMDREG_HC 61,1806 -#define CMDREG_SW 62,1852 -#define CMDREG_SR 63,1896 -#define CMDREG_RS 64,1939 -#define CMDREG_FRIE 65,1988 -#define CMDREG_DAIE 66,2041 -#define IRQEN 67,2094 -#define STATUSREG_RE 69,2123 -#define STATUSREG_WE 70,2167 -#define STATUSREG_FR 71,2212 -#define STATUSREG_DA 72,2257 -#define STATUSREG_TXERR 73,2305 -#define DVB_CA_SLOTSTATE_NONE 76,2388 -#define DVB_CA_SLOTSTATE_UNINITIALISED 77,2430 -#define DVB_CA_SLOTSTATE_RUNNING 78,2472 -#define DVB_CA_SLOTSTATE_INVALID 79,2514 -#define DVB_CA_SLOTSTATE_WAITREADY 80,2556 -#define DVB_CA_SLOTSTATE_VALIDATE 81,2598 -#define DVB_CA_SLOTSTATE_WAITFR 82,2640 -#define DVB_CA_SLOTSTATE_LINKINIT 83,2682 -struct dvb_ca_slot dvb_ca_slot87,2757 -struct dvb_ca_private dvb_ca_private121,3650 -static u8* findstr(177,5336 -static int dvb_ca_en50221_check_camstatus(199,5774 -static int dvb_ca_en50221_wait_if_status(253,7781 -static int dvb_ca_en50221_link_init(298,9078 -static int dvb_ca_en50221_read_tuple(353,11494 -static int dvb_ca_en50221_parse_attributes(392,12826 -static int dvb_ca_en50221_set_configoption(511,17077 -static int dvb_ca_en50221_read_data(544,18219 -static int dvb_ca_en50221_write_data(654,22169 -static int dvb_ca_en50221_slot_shutdown(730,24733 -void dvb_ca_en50221_camchange_irq(761,25667 -void dvb_ca_en50221_camready_irq(788,26380 -void dvb_ca_en50221_frda_irq(807,26900 -static void dvb_ca_en50221_thread_wakeup(842,27940 -static int dvb_ca_en50221_thread_should_wakeup(857,28250 -static void dvb_ca_en50221_thread_update_delay(874,28555 -static int dvb_ca_en50221_thread(924,30272 -static int dvb_ca_en50221_io_do_ioctl(1103,39046 -static int dvb_ca_en50221_io_ioctl(1175,41379 -static ssize_t dvb_ca_en50221_io_write(1191,41820 -static int dvb_ca_en50221_io_read_condition(1255,43894 -static ssize_t dvb_ca_en50221_io_read(1306,45574 -static int dvb_ca_en50221_io_open(1394,48728 -static int dvb_ca_en50221_io_release(1429,49642 -static unsigned int dvb_ca_en50221_io_poll(1456,50303 -static struct file_operations dvb_ca_fops 1486,51171 -static struct dvb_device dvbdev_ca 1496,51501 -int dvb_ca_en50221_init(1518,52091 -void dvb_ca_en50221_release(1597,54683 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_ca_en50221.h,464 -#define _DVB_CA_EN50221_H_22,873 -#define DVB_CA_EN50221_POLL_CAM_PRESENT 29,973 -#define DVB_CA_EN50221_POLL_CAM_CHANGED 30,1015 -#define DVB_CA_EN50221_POLL_CAM_READY 31,1057 -#define DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE 33,1099 -#define DVB_CA_EN50221_FLAG_IRQ_FR 34,1143 -#define DVB_CA_EN50221_FLAG_IRQ_DA 35,1181 -#define DVB_CA_EN50221_CAMCHANGE_REMOVED 37,1220 -#define DVB_CA_EN50221_CAMCHANGE_INSERTED 38,1264 -struct dvb_ca_en50221 dvb_ca_en5022143,1354 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_demux.c,2277 -#define NOBUFS 36,1206 -int dmx_register_demux(46,1369 -int dmx_unregister_demux(53,1493 -struct list_head *dmx_get_demuxes(70,1768 -static inline u16 section_length(83,2074 -static inline u16 ts_pid(89,2165 -static inline u8 payload(95,2246 -void dvb_set_crc32(109,2482 -static u32 dvb_dmx_crc32 122,2728 -static void dvb_dmx_memcopy 128,2887 -static inline int dvb_dmx_swfilter_payload 138,3192 -static int dvb_dmx_swfilter_sectionfilter 167,3681 -static inline int dvb_dmx_swfilter_section_feed 190,4154 -static void dvb_dmx_swfilter_section_new(221,4805 -static int dvb_dmx_swfilter_section_copy_dump(253,5596 -static int dvb_dmx_swfilter_section_packet(306,7046 -static inline void dvb_dmx_swfilter_packet_type(366,8435 -#define DVR_FEED(DVR_FEED395,9146 -void dvb_dmx_swfilter_packet(400,9313 -void dvb_dmx_swfilter_packets(430,10036 -void dvb_dmx_swfilter(445,10298 -void dvb_dmx_swfilter_204(483,11014 -static struct dvb_demux_filter * dvb_dmx_filter_alloc(528,11972 -static struct dvb_demux_feed * dvb_dmx_feed_alloc(544,12279 -static int dvb_demux_feed_find(560,12572 -static void dvb_demux_feed_add(571,12782 -static void dvb_demux_feed_del(582,13078 - list_del(&feed->list_head)590,13315 -static int dmx_ts_feed_set 593,13347 -static int dmx_ts_feed_start_filtering(657,14666 -static int dmx_ts_feed_stop_filtering(690,15337 -static int dvbdmx_allocate_ts_feed 720,15929 -static int dvbdmx_release_ts_feed(765,16964 -static int dmx_section_feed_allocate_filter(804,17834 -static int dmx_section_feed_set(836,18659 -static void prepare_secfilters(874,19534 -static int dmx_section_feed_start_filtering(897,20001 -static int dmx_section_feed_stop_filtering(941,20929 -static int dmx_section_feed_release_filter(964,21462 -static int dvbdmx_allocate_section_feed(997,22286 -static int dvbdmx_release_section_feed(1036,23415 -static int dvbdmx_open(1070,24234 -static int dvbdmx_close(1081,24437 -static int dvbdmx_write(1093,24676 -static int dvbdmx_add_frontend(1111,25103 -static int dvbdmx_remove_frontend(1122,25366 -static struct list_head * dvbdmx_get_frontends(1137,25710 -int dvbdmx_connect_frontend(1147,25937 -int dvbdmx_disconnect_frontend(1163,26255 -static int dvbdmx_get_pes_pids(1176,26499 -int dvb_dmx_init(1185,26686 -int dvb_dmx_release(1256,28603 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_demux.h,565 -#define _DVB_DEMUX_H_25,932 -#define DMX_TYPE_TS 34,1080 -#define DMX_TYPE_SEC 35,1103 -#define DMX_TYPE_PES 36,1126 -#define DMX_STATE_FREE 38,1150 -#define DMX_STATE_ALLOCATED 39,1180 -#define DMX_STATE_SET 40,1210 -#define DMX_STATE_READY 41,1240 -#define DMX_STATE_GO 42,1270 -#define DVB_DEMUX_MASK_MAX 44,1301 -struct dvb_demux_filter dvb_demux_filter46,1332 -#define DMX_FEED_ENTRY(DMX_FEED_ENTRY66,1756 -struct dvb_demux_feed dvb_demux_feed68,1835 -struct dvb_demux dvb_demux102,2429 -#define MAX_DVB_DEMUX_USERS 117,2945 -#define DMX_MAX_PID 128,3239 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_ringbuffer.h,309 -#define _DVB_RINGBUFFER_H_28,1113 -struct dvb_ringbuffer dvb_ringbuffer33,1194 -#define DVB_RINGBUFFER_PKTHDRSIZE 43,1419 -#define DVB_RINGBUFFER_PEEK(DVB_RINGBUFFER_PEEK96,3207 -#define DVB_RINGBUFFER_SKIP(DVB_RINGBUFFER_SKIP100,3340 -#define DVB_RINGBUFFER_WRITE_BYTE(DVB_RINGBUFFER_WRITE_BYTE115,3834 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_functions.h,60 -#define __DVB_FUNCTIONS_H__25,1021 -void dvb_delay(32,1117 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_i2c.c,619 -struct dvb_i2c_device dvb_i2c_device32,1129 -static int register_i2c_client 45,1423 -static void try_attach_device 64,1831 -static void detach_device 80,2126 -static void unregister_i2c_client_from_bus 89,2288 -static void unregister_i2c_client_from_all_busses 107,2693 -static void unregister_all_clients_from_bus 121,3010 -static void probe_device_on_all_busses 135,3313 -static void probe_devices_on_bus 149,3594 -static struct dvb_i2c_bus* dvb_find_i2c_bus 163,3861 -dvb_register_i2c_bus 185,4372 -void dvb_unregister_i2c_bus 217,5003 -int dvb_register_i2c_device 235,5384 -int dvb_unregister_i2c_device 265,6020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_net.h,96 -#define _DVB_NET_H_23,856 -#define DVB_NET_DEVICES_MAX 33,1041 -struct dvb_net dvb_net35,1073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_filter.h,2591 -#define _DVB_FILTER_H_22,823 -typedef int (dvb_filter_pes2ts_cb_t)dvb_filter_pes2ts_cb_t28,892 -struct dvb_filter_pes2ts dvb_filter_pes2ts30,957 -#define PROG_STREAM_MAP 44,1332 -#define PRIVATE_STREAM1 45,1362 -#define PADDING_STREAM 46,1392 -#define PRIVATE_STREAM2 47,1422 -#define AUDIO_STREAM_S 48,1452 -#define AUDIO_STREAM_E 49,1482 -#define VIDEO_STREAM_S 50,1512 -#define VIDEO_STREAM_E 51,1542 -#define ECM_STREAM 52,1572 -#define EMM_STREAM 53,1602 -#define DSM_CC_STREAM 54,1632 -#define ISO13522_STREAM 55,1662 -#define PROG_STREAM_DIR 56,1692 -#define DVB_PICTURE_START 58,1723 -#define DVB_USER_START 59,1757 -#define DVB_SEQUENCE_HEADER 60,1791 -#define DVB_SEQUENCE_ERROR 61,1825 -#define DVB_EXTENSION_START 62,1859 -#define DVB_SEQUENCE_END 63,1893 -#define DVB_GOP_START 64,1927 -#define DVB_EXCEPT_SLICE 65,1961 -#define SEQUENCE_EXTENSION 67,1996 -#define SEQUENCE_DISPLAY_EXTENSION 68,2038 -#define PICTURE_CODING_EXTENSION 69,2080 -#define QUANT_MATRIX_EXTENSION 70,2122 -#define PICTURE_DISPLAY_EXTENSION 71,2164 -#define I_FRAME 73,2207 -#define B_FRAME 74,2229 -#define P_FRAME 75,2251 -#define INIT_HORIZONTAL_SIZE 78,2304 -#define INIT_VERTICAL_SIZE 79,2344 -#define INIT_ASPECT_RATIO 80,2384 -#define INIT_FRAME_RATE 81,2424 -#define INIT_DISP_HORIZONTAL_SIZE 82,2464 -#define INIT_DISP_VERTICAL_SIZE 83,2504 -#define PTS_DTS_FLAGS 87,2555 -#define ESCR_FLAG 88,2585 -#define ES_RATE_FLAG 89,2615 -#define DSM_TRICK_FLAG 90,2645 -#define ADD_CPY_FLAG 91,2675 -#define PES_CRC_FLAG 92,2705 -#define PES_EXT_FLAG 93,2735 -#define PTS_ONLY 96,2783 -#define PTS_DTS 97,2813 -#define TS_SIZE 99,2844 -#define TRANS_ERROR 100,2871 -#define PAY_START 101,2899 -#define TRANS_PRIO 102,2927 -#define PID_MASK_HI 103,2955 -#define TRANS_SCRMBL1 105,2991 -#define TRANS_SCRMBL2 106,3019 -#define ADAPT_FIELD 107,3047 -#define PAYLOAD 108,3075 -#define COUNT_MASK 109,3103 -#define DISCON_IND 112,3152 -#define RAND_ACC_IND 113,3180 -#define ES_PRI_IND 114,3208 -#define PCR_FLAG 115,3236 -#define OPCR_FLAG 116,3264 -#define SPLICE_FLAG 117,3292 -#define TRANS_PRIV 118,3320 -#define ADAP_EXT_FLAG 119,3348 -#define LTW_FLAG 122,3407 -#define PIECE_RATE 123,3435 -#define SEAM_SPLICE 124,3463 -#define MAX_PLENGTH 127,3493 -#define MMAX_PLENGTH 128,3520 -#define IPACKS 131,3575 -struct ipack ipack134,3603 -struct dvb_video_info dvb_video_info156,3886 -#define OFF_SIZE 170,4123 -#define FIRST_FIELD 171,4142 -#define SECOND_FIELD 172,4164 -#define VIDEO_FRAME_PICTURE 173,4187 -struct mpg_picture mpg_picture175,4221 -struct dvb_audio_info dvb_audio_info232,6357 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_functions.c,62 -void dvb_kernel_thread_setup 10,202 -int dvb_usercopy(26,728 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_ringbuffer.c,568 -#define __KERNEL_SYSCALLS__29,1086 -#define PKT_READY 39,1297 -#define PKT_DISPOSED 40,1317 -void dvb_ringbuffer_init(43,1342 -int dvb_ringbuffer_empty(56,1596 -ssize_t dvb_ringbuffer_free(63,1701 -ssize_t dvb_ringbuffer_avail(75,1915 -void dvb_ringbuffer_flush(87,2132 -void dvb_ringbuffer_flush_spinlock_wakeup(94,2230 -ssize_t dvb_ringbuffer_read(107,2505 -ssize_t dvb_ringbuffer_write(136,3390 -ssize_t dvb_ringbuffer_pkt_write(155,3913 -ssize_t dvb_ringbuffer_pkt_read(169,4349 -void dvb_ringbuffer_pkt_dispose(203,5487 -ssize_t dvb_ringbuffer_pkt_next(222,6210 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvbdev.c,710 -static int dvbdev_debug 36,1192 -#define dprintk 37,1221 -static char *dnames[43,1345 -#define DVB_MAX_IDS 49,1458 -#define nums2minor(nums2minor50,1493 -static struct dvb_device* dvbdev_find_device 52,1559 -static int dvb_device_open(72,2040 -static struct file_operations dvb_device_fops 98,2711 -int dvb_generic_open(105,2816 -int dvb_generic_release(130,3306 -int dvb_generic_ioctl(148,3613 -static int dvbdev_get_free_id 163,3946 -int dvb_register_device(183,4329 -void dvb_unregister_device(230,5511 -static int dvbdev_get_free_adapter_num 243,5745 -int dvb_register_adapter(264,6081 -int dvb_unregister_adapter(301,6864 -static int __init init_dvbdev(313,7130 -static void __exit exit_dvbdev(326,7360 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_frontend.h,233 -#define _DVB_FRONTEND_H_26,944 -struct dvb_frontend dvb_frontend48,1310 -struct dvb_frontend_tune_settings dvb_frontend_tune_settings59,1866 -#define FE_SLEEP 75,2385 -#define FE_INIT 76,2428 -#define FE_GET_TUNE_SETTINGS 77,2471 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_frontend.c,2037 -#define FESTATE_IDLE 42,1425 -#define FESTATE_RETUNE 43,1448 -#define FESTATE_TUNING_FAST 44,1473 -#define FESTATE_TUNING_SLOW 45,1503 -#define FESTATE_TUNED 46,1533 -#define FESTATE_ZIGZAG_FAST 47,1558 -#define FESTATE_ZIGZAG_SLOW 48,1589 -#define FESTATE_DISEQC 49,1620 -#define FESTATE_WAITFORLOCK 50,1647 -#define FESTATE_SEARCHING_FAST 51,1780 -#define FESTATE_SEARCHING_SLOW 52,1855 -#define FESTATE_LOSTLOCK 53,1930 -static int dvb_frontend_debug 70,3045 -static int dvb_shutdown_timeout 71,3080 -static int dvb_override_frequency_bending 72,3117 -static int dvb_force_auto_inversion 73,3164 -static int dvb_override_tune_delay 74,3205 -static int do_frequency_bending 76,3246 -#define dprintk 78,3284 -#define MAX_EVENT 80,3332 -struct dvb_fe_events dvb_fe_events82,3353 -struct dvb_frontend_data dvb_frontend_data92,3605 -struct dvb_frontend_ioctl_data dvb_frontend_ioctl_data119,4155 -struct dvb_frontend_notifier_data dvb_frontend_notifier_data130,4460 -static int dvb_frontend_internal_ioctl 145,4775 -static void dvb_bend_frequency 173,5533 -static void dvb_call_frontend_notifiers 230,6835 -static void dvb_frontend_add_event 251,7336 -static int dvb_frontend_get_event 289,8159 -static void dvb_frontend_init 332,9209 -static void update_delay 343,9508 -static int dvb_frontend_autotune(367,10095 -static int dvb_frontend_is_exiting 456,12558 -static int dvb_frontend_should_wakeup 468,12778 -static void dvb_frontend_wakeup 477,12941 -static int dvb_frontend_thread 482,13067 -static void dvb_frontend_stop 627,17295 -static int dvb_frontend_start 666,18209 -static int dvb_frontend_ioctl 701,18793 -static unsigned int dvb_frontend_poll 810,22057 -static int dvb_frontend_open 826,22432 -static int dvb_frontend_release 850,22933 -dvb_add_frontend_ioctls 866,23270 -dvb_remove_frontend_ioctls 917,24642 -dvb_add_frontend_notifier 965,25858 -dvb_remove_frontend_notifier 1010,26825 -static struct file_operations dvb_frontend_fops 1051,27694 -dvb_register_frontend 1062,27901 -int dvb_unregister_frontend 1150,30155 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvbdev.h,429 -#define _DVBDEV_H_24,893 -#define DVB_MAJOR 32,1044 -#define DVB_DEVICE_VIDEO 34,1067 -#define DVB_DEVICE_AUDIO 35,1099 -#define DVB_DEVICE_SEC 36,1131 -#define DVB_DEVICE_FRONTEND 37,1163 -#define DVB_DEVICE_DEMUX 38,1195 -#define DVB_DEVICE_DVR 39,1227 -#define DVB_DEVICE_CA 40,1259 -#define DVB_DEVICE_NET 41,1291 -#define DVB_DEVICE_OSD 42,1323 -struct dvb_adapter dvb_adapter45,1357 -struct dvb_device dvb_device56,1519 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_ksyms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dmxdev.c,1927 -static int debug 39,1267 -#define dprintk 41,1290 -dvb_dmxdev_file_to_filter(44,1355 -dvb_dmxdev_file_to_dvr(50,1485 -static inline void dvb_dmxdev_buffer_init(55,1605 -static inline int dvb_dmxdev_buffer_write(65,1816 -static ssize_t dvb_dmxdev_buffer_read(99,2429 -static struct dmx_frontend * get_fe(159,3684 -static inline void dvb_dmxdev_dvr_state_set(173,3964 -static int dvb_dvr_open(180,4159 -static int dvb_dvr_release(229,5382 -static ssize_t dvb_dvr_write(256,6103 -static ssize_t dvb_dvr_read(274,6608 -static inline void dvb_dmxdev_filter_state_set(289,7019 -static int dvb_dmxdev_set_buffer_size(296,7232 -static void dvb_dmxdev_filter_timeout(325,7893 -static void dvb_dmxdev_filter_timer(336,8233 -static int dvb_dmxdev_section_callback(349,8655 -static int dvb_dmxdev_ts_callback(385,9832 -static int dvb_dmxdev_feed_stop(423,10901 -static int dvb_dmxdev_feed_start(444,11395 -static int dvb_dmxdev_feed_restart(466,11877 -static int dvb_dmxdev_filter_stop(485,12356 -static inline int dvb_dmxdev_filter_reset(520,13256 -static int dvb_dmxdev_filter_start(531,13540 -static int dvb_demux_open(690,17305 -static int dvb_dmxdev_filter_free(728,18219 -static inline void invert_mode(757,18917 -static int dvb_dmxdev_filter_set(766,19045 -static int dvb_dmxdev_pes_filter_set(787,19646 -static ssize_t dvb_dmxdev_read_sec(808,20225 -dvb_demux_read(848,21146 -static int dvb_demux_do_ioctl(868,21656 -static int dvb_demux_ioctl(959,23758 -static unsigned int dvb_demux_poll 966,23939 -static int dvb_demux_release(991,24576 -static struct file_operations dvb_demux_fops 999,24820 -static struct dvb_device dvbdev_demux 1008,25034 -static int dvb_dvr_do_ioctl(1015,25151 -static int dvb_dvr_ioctl(1039,25614 -static unsigned int dvb_dvr_poll 1046,25789 -static struct file_operations dvb_dvr_fops 1069,26420 -static struct dvb_device dvbdev_dvr 1079,26648 -dvb_dmxdev_init(1087,26766 -dvb_dmxdev_release(1125,27887 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_i2c.h,66 -#define _DVB_I2C_H_22,894 -struct dvb_i2c_bus dvb_i2c_bus30,985 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/dvb-core/dvb_net.c,1977 -static inline __u32 iov_crc32(46,1620 -#define dprintk(dprintk56,1818 -#define dprintk(dprintk58,1856 -#define DVB_NET_MULTICAST_MAX 62,1887 -#define isprint(isprint64,1921 -static void hexdump(66,2018 -struct dvb_net_priv dvb_net_priv94,2586 -#define RX_MODE_UNI 108,3002 -#define RX_MODE_MULTI 109,3024 -#define RX_MODE_ALL_MULTI 110,3048 -#define RX_MODE_PROMISC 111,3076 -static unsigned short dvb_net_eth_type_trans(137,3973 -#define TS_SZ 174,4858 -#define TS_SYNC 175,4876 -#define TS_TEI 176,4897 -#define TS_PUSI 177,4917 -#define TS_AF_A 178,4938 -#define TS_AF_D 179,4959 -#define ULE_TEST 181,4981 -#define ULE_BRIDGED 182,5000 -#define ULE_LLC 183,5022 -static inline void reset_ule(185,5042 -static const char eth_dest_addr[196,5267 -static void dvb_net_ule(198,5344 -static int dvb_net_ts_callback(557,17230 -static void dvb_net_sec(574,17805 -static int dvb_net_sec_callback(648,19692 -static int dvb_net_tx(663,20115 -static u8 mask_normal[668,20198 -static u8 mask_allmulti[669,20261 -static u8 mac_allmulti[670,20326 -static u8 mask_promisc[671,20390 -static int dvb_net_filter_sec_set(673,20455 -static int dvb_net_feed_start(718,21946 -static int dvb_net_feed_stop(814,24868 -static int dvb_set_mc_filter 865,26251 -static void wq_set_multicast_list 879,26558 -static void dvb_net_set_multicast_list 915,27363 -static int dvb_net_set_config(922,27542 -static void wq_restart_net_feed 930,27674 -static int dvb_net_set_mac 941,27841 -static int dvb_net_open(955,28135 -static int dvb_net_stop(965,28307 -static struct net_device_stats * dvb_net_get_stats(973,28480 -static void dvb_net_setup(979,28620 -static int get_if(997,29080 -static int dvb_net_add_if(1012,29288 -static int dvb_net_remove_if(1060,30428 -static int dvb_net_do_ioctl(1081,30825 -static int dvb_net_ioctl(1173,33033 -static struct file_operations dvb_net_fops 1179,33210 -static struct dvb_device dvbdev_net 1186,33369 -void dvb_net_release 1194,33509 -int dvb_net_init 1208,33725 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110.h,1029 -#define _AV7110_H_2,19 -#define MAXFILT 30,544 -enum {AV_PES_STREAM,32,564 -enum {AV_PES_STREAM, PS_STREAM,32,564 -enum {AV_PES_STREAM, PS_STREAM, TS_STREAM,32,564 -enum {AV_PES_STREAM, PS_STREAM, TS_STREAM, PES_STREAM}32,564 -struct av7110_p2t av7110_p2t34,621 -#define MAX_VIDEO_EVENT 44,927 -struct dvb_video_events dvb_video_events45,953 -struct av7110 av711056,1273 -#define DVB_ADAC_TI 80,1794 -#define DVB_ADAC_CRYSTAL 81,1822 -#define DVB_ADAC_MSP 82,1850 -#define DVB_ADAC_NONE 83,1878 -#define AVOUTLEN 90,2081 -#define AOUTLEN 92,2178 -#define BMPLEN 94,2244 -#define BMP_NONE 101,2437 -#define BMP_LOADING 102,2460 -#define BMP_LOADINGS 103,2483 -#define BMP_LOADED 104,2506 -#define RP_NONE 120,2901 -#define RP_VIDEO 121,2920 -#define RP_AUDIO 122,2939 -#define RP_AV 123,2958 -#define TRICK_NONE 150,3646 -#define TRICK_FAST 151,3669 -#define TRICK_SLOW 152,3692 -#define TRICK_FREEZE 153,3715 -#define MSP_WR_DEM 227,5685 -#define MSP_RD_DEM 228,5709 -#define MSP_WR_DSP 229,5733 -#define MSP_RD_DSP 230,5757 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_hw.h,8926 -#define _AV7110_HW_H_2,22 -#define DEBINOSWAP 8,97 -#define DEBISWAB 9,127 -#define DEBISWAP 10,157 -#define ARM_WAIT_FREE 12,188 -#define ARM_WAIT_SHAKE 13,216 -#define ARM_WAIT_OSD 14,246 -enum av7110_bootstateav7110_bootstate17,274 - BOOTSTATE_BUFFER_EMPTY 19,298 - BOOTSTATE_BUFFER_FULL 20,327 - BOOTSTATE_BOOT_COMPLETE 21,355 -enum av7110_type_rec_play_formatav7110_type_rec_play_format24,388 -{ RP_None,25,421 - AudioPES,26,432 - AudioMp2,27,443 - AudioPCM,28,454 - VideoPES,29,465 - AV_PES30,476 -enum av7110_osd_palette_typeav7110_osd_palette_type33,488 - NoPalet 35,519 - Pal1Bit 36,554 - Pal2Bit 37,608 - Pal4Bit 38,662 - Pal8Bit 39,717 -enum av7110_window_display_type av7110_window_display_type42,776 - BITMAP1,43,810 - BITMAP2,44,842 - BITMAP4,45,874 - BITMAP8,46,906 - BITMAP1HR,47,938 - BITMAP2HR,48,988 - BITMAP4HR,49,1038 - BITMAP8HR,50,1088 - YCRCB422,51,1138 - YCRCB444,52,1186 - YCRCB444HR,53,1234 - VIDEOTSIZE,54,1292 - VIDEOHSIZE,55,1350 - VIDEOQSIZE,56,1407 - VIDEODSIZE,57,1467 - VIDEOTHSIZE,58,1526 - VIDEOTQSIZE,59,1594 - VIDEOTDSIZE,60,1664 - VIDEONSIZE,61,1734 - CURSOR 62,1785 -#define SB_GPIO 66,1835 -#define SB_OFF 67,1853 -#define SB_ON 68,1918 -#define SB_WIDE 69,1982 -#define FB_GPIO 71,2069 -#define FB_OFF 72,2087 -#define FB_ON 73,2154 -#define FB_LOOP 74,2219 -enum av7110_video_output_modeav7110_video_output_mode76,2303 - NO_OUT 78,2335 - CVBS_RGB_OUT 79,2382 - CVBS_YC_OUT 80,2401 - YC_OUT 81,2420 -#define GPMQFull 85,2479 -#define GPMQOver 86,2534 -#define HPQFull 87,2593 -#define HPQOver 88,2653 -#define OSDQFull 89,2677 -#define OSDQOver 90,2723 -#define SECTION_EIT 93,2778 -#define SECTION_SINGLE 94,2804 -#define SECTION_CYCLE 95,2833 -#define SECTION_CONTINUOS 96,2861 -#define SECTION_MODE 97,2892 -#define SECTION_IPMPE 98,2919 -#define SECTION_HIGH_SPEED 99,2967 -#define DATA_PIPING_FLAG 100,3019 -#define PBUFSIZE_NONE 102,3079 -#define PBUFSIZE_1P 103,3108 -#define PBUFSIZE_2P 104,3137 -#define PBUFSIZE_1K 105,3166 -#define PBUFSIZE_2K 106,3195 -#define PBUFSIZE_4K 107,3224 -#define PBUFSIZE_8K 108,3253 -#define PBUFSIZE_16K 109,3282 -#define PBUFSIZE_32K 110,3311 -enum av7110_osd_command av7110_osd_command114,3371 - WCreate,115,3397 - WDestroy,116,3407 - WMoveD,117,3418 - WMoveA,118,3427 - WHide,119,3436 - WTop,120,3444 - DBox,121,3451 - DLine,122,3458 - DText,123,3466 - Set_Font,124,3474 - SetColor,125,3485 - SetBlend,126,3496 - SetWBlend,127,3507 - SetCBlend,128,3519 - SetNonBlend,129,3531 - LoadBmp,130,3545 - BlitBmp,131,3555 - ReleaseBmp,132,3565 - SetWTrans,133,3578 - SetWNoTrans,134,3590 - Set_Palette135,3604 -enum av7110_pid_command av7110_pid_command138,3621 - MultiPID,139,3647 - VideoPID,140,3658 - AudioPID,141,3669 - InitFilt,142,3680 - FiltError,143,3691 - NewVersion,144,3703 - CacheError,145,3716 - AddPIDFilter,146,3729 - DelPIDFilter,147,3744 - Scan,148,3759 - SetDescr,149,3766 - SetIR,150,3777 - FlushTSQueue151,3785 -enum av7110_mpeg_command av7110_mpeg_command154,3803 - SelAudChannels155,3830 -enum av7110_audio_command av7110_audio_command158,3850 - AudioDAC,159,3878 - CabADAC,160,3889 - ON22K,161,3899 - OFF22K,162,3907 - MainSwitch,163,3916 - ADSwitch,164,3929 - SendDiSEqC,165,3940 - SetRegister166,3953 -enum av7110_request_command av7110_request_command169,3970 - AudioState,170,4000 - AudioBuffState,171,4013 - VideoState1,172,4030 - VideoState2,173,4044 - VideoState3,174,4058 - CrashCounter,175,4072 - ReqVersion,176,4087 - ReqVCXO,177,4100 - ReqRegister,178,4110 - ReqSecFilterError,179,4124 - ReqSTC180,4144 -enum av7110_encoder_command av7110_encoder_command183,4156 - SetVidMode,184,4186 - SetTestMode,185,4199 - LoadVidCode,186,4213 - SetMonitorType,187,4227 - SetPanScanType,188,4244 - SetFreezeMode189,4261 -enum av7110_rec_play_state av7110_rec_play_state192,4280 - __Record,193,4309 - __Stop,194,4320 - __Play,195,4329 - __Pause,196,4338 - __Slow,197,4348 - __FF_IP,198,4357 - __Scan_I,199,4367 - __Continue200,4378 -enum av7110_fw_cmd_misc av7110_fw_cmd_misc203,4394 - AV7110_FW_VIDEO_ZOOM 204,4420 - AV7110_FW_VIDEO_COMMAND,205,4447 - AV7110_FW_AUDIO_COMMAND206,4473 -enum av7110_command_type av7110_command_type209,4502 - COMTYPE_NOCOM,210,4529 - COMTYPE_PIDFILTER,211,4545 - COMTYPE_MPEGDECODER,212,4565 - COMTYPE_OSD,213,4587 - COMTYPE_BMP,214,4601 - COMTYPE_ENCODER,215,4615 - COMTYPE_AUDIODAC,216,4633 - COMTYPE_REQUEST,217,4652 - COMTYPE_SYSTEM,218,4670 - COMTYPE_REC_PLAY,219,4687 - COMTYPE_COMMON_IF,220,4706 - COMTYPE_PID_FILTER,221,4726 - COMTYPE_PES,222,4747 - COMTYPE_TS,223,4761 - COMTYPE_VIDEO,224,4774 - COMTYPE_AUDIO,225,4790 - COMTYPE_CI_LL,226,4806 - COMTYPE_MISC 227,4822 - COMTYPE_MISC = 0x80227,4822 -#define VID_NONE_PREF 230,4847 -#define VID_PAN_SCAN_PREF 231,4919 -#define VID_VERT_COMP_PREF 232,4987 -#define VID_VC_AND_PS_PREF 233,5064 -#define VID_CENTRE_CUT_PREF 234,5146 -#define VIDEO_CMD_STOP 237,5245 -#define VIDEO_CMD_PLAY 238,5276 -#define VIDEO_CMD_FREEZE 239,5307 -#define VIDEO_CMD_FFWD 240,5339 -#define VIDEO_CMD_SLOW 241,5370 -#define AUDIO_CMD_MUTE 244,5436 -#define AUDIO_CMD_UNMUTE 245,5467 -#define AUDIO_CMD_PCM16 246,5499 -#define AUDIO_CMD_STEREO 247,5531 -#define AUDIO_CMD_MONO_L 248,5563 -#define AUDIO_CMD_MONO_R 249,5595 -#define AUDIO_CMD_SYNC_OFF 250,5627 -#define AUDIO_CMD_SYNC_ON 251,5661 -#define DATA_NONE 254,5731 -#define DATA_FSECTION 255,5756 -#define DATA_IPMPE 256,5785 -#define DATA_MPEG_RECORD 257,5811 -#define DATA_DEBUG_MESSAGE 258,5842 -#define DATA_COMMON_INTERFACE 259,5875 -#define DATA_MPEG_PLAY 260,5911 -#define DATA_BMP_LOAD 261,5941 -#define DATA_IRCOMMAND 262,5970 -#define DATA_PIPING 263,6000 -#define DATA_STREAMING 264,6027 -#define DATA_CI_GET 265,6057 -#define DATA_CI_PUT 266,6084 -#define DATA_MPEG_VIDEO_EVENT 267,6111 -#define DATA_PES_RECORD 269,6148 -#define DATA_PES_PLAY 270,6179 -#define DATA_TS_RECORD 271,6208 -#define DATA_TS_PLAY 272,6238 -#define CI_CMD_ERROR 276,6365 -#define CI_CMD_ACK 277,6393 -#define CI_CMD_SYSTEM_READY 278,6419 -#define CI_CMD_KEYPRESS 279,6453 -#define CI_CMD_ON_TUNED 280,6484 -#define CI_CMD_ON_SWITCH_PROGRAM 281,6515 -#define CI_CMD_SECTION_ARRIVED 282,6553 -#define CI_CMD_SECTION_TIMEOUT 283,6590 -#define CI_CMD_TIME 284,6627 -#define CI_CMD_ENTER_MENU 285,6654 -#define CI_CMD_FAST_PSI 286,6686 -#define CI_CMD_GET_SLOT_INFO 287,6717 -#define CI_MSG_NONE 289,6753 -#define CI_MSG_CI_INFO 290,6780 -#define CI_MSG_MENU 291,6810 -#define CI_MSG_LIST 292,6837 -#define CI_MSG_TEXT 293,6864 -#define CI_MSG_REQUEST_INPUT 294,6891 -#define CI_MSG_INPUT_COMPLETE 295,6926 -#define CI_MSG_LIST_MORE 296,6962 -#define CI_MSG_MENU_MORE 297,6993 -#define CI_MSG_CLOSE_MMI_IMM 298,7024 -#define CI_MSG_SECTION_REQUEST 299,7059 -#define CI_MSG_CLOSE_FILTER 300,7096 -#define CI_PSI_COMPLETE 301,7130 -#define CI_MODULE_READY 302,7161 -#define CI_SWITCH_PRG_REPLY 303,7192 -#define CI_MSG_TEXT_MORE 304,7226 -#define CI_MSG_CA_PMT 306,7258 -#define CI_MSG_ERROR 307,7287 -#define DPRAM_BASE 313,7467 -#define BOOT_STATE 316,7519 -#define BOOT_SIZE 317,7559 -#define BOOT_BASE 318,7598 -#define BOOT_BLOCK 319,7637 -#define BOOT_MAX_SIZE 320,7677 -#define IRQ_STATE 323,7743 -#define IRQ_STATE_EXT 324,7782 -#define MSGSTATE 325,7825 -#define FILT_STATE 326,7863 -#define COMMAND 327,7903 -#define COM_BUFF 328,7941 -#define COM_BUFF_SIZE 329,7979 -#define BUFF1_BASE 332,8034 -#define BUFF1_SIZE 333,8074 -#define DATA_BUFF0_BASE 335,8099 -#define DATA_BUFF0_SIZE 336,8144 -#define DATA_BUFF1_BASE 338,8176 -#define DATA_BUFF1_SIZE 339,8234 -#define DATA_BUFF2_BASE 341,8266 -#define DATA_BUFF2_SIZE 342,8324 -#define DATA_BUFF3_BASE 344,8356 -#define DATA_BUFF3_SIZE 345,8414 -#define Reserved 347,8446 -#define Reserved_SIZE 348,8485 -#define STATUS_BASE 352,8542 -#define STATUS_SCR 353,8584 -#define STATUS_MODES 354,8624 -#define STATUS_LOOPS 355,8666 -#define STATUS_MPEG_WIDTH 357,8709 -#define STATUS_MPEG_HEIGHT_AR 359,8814 -#define RX_TYPE 362,8900 -#define RX_LEN 363,8939 -#define TX_TYPE 364,8977 -#define TX_LEN 365,9016 -#define RX_BUFF 367,9055 -#define TX_BUFF 368,9094 -#define HANDSHAKE_REG 370,9134 -#define COM_IF_LOCK 371,9178 -#define IRQ_RX 373,9221 -#define IRQ_TX 374,9259 -#define DRAM_START_CODE 377,9360 -#define DRAM_MAX_CODE_SIZE 378,9396 -#define RESET_LINE 381,9460 -#define DEBI_DONE_LINE 382,9482 -#define ARM_IRQ_LINE 383,9508 -#define FW_CI_LL_SUPPORT(FW_CI_LL_SUPPORT390,9692 -#define FW_VERSION(FW_VERSION391,9751 -static inline void iwdebi(411,10648 -static inline void mwdebi(417,10817 -static inline u32 irdebi(423,11006 -static inline void wdebi(434,11294 -static inline u32 rdebi(443,11562 -static inline void ARM_ResetMailBox(455,11904 -static inline void ARM_ClearMailBox(465,12190 -static inline void ARM_ClearIrq(470,12297 -static inline int SendDAC(479,12579 -static inline void av7710_set_video_mode(484,12725 -static int inline vidcom(489,12866 -static int inline audcom(496,13076 -static inline void Set22K(502,13244 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_ir.c,510 -#define UP_TIMEOUT 15,255 -static int av7110_ir_debug 17,282 -#define dprintk(dprintk19,315 -static struct input_dev input_dev;22,390 -static u32 ir_config;24,426 -static u16 key_map 26,449 -static void av7110_emit_keyup 50,1567 -static struct timer_list keyup_timer 59,1728 -static void av7110_emit_key 62,1804 -static void input_register_keys 120,3151 -static void input_repeat_key(135,3450 -static int av7110_ir_write_proc 141,3574 -int __init av7110_ir_init 172,4124 -void __exit av7110_ir_exit 206,4811 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_ipack.c,233 -void av7110_ipack_reset(7,124 -int av7110_ipack_init(23,336 -void av7110_ipack_free(38,655 -static void send_ipack(45,732 -void av7110_ipack_flush(112,2266 -static void write_ipack(123,2454 -int av7110_ipack_instant_repack 146,2917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/ttpci-eeprom.h,34 -#define __TTPCI_EEPROM_H__26,972 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_ipack.h,30 -#define _AV7110_IPACK_H_2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/budget-av.c,876 -struct budget_av budget_av38,1301 -static u8 i2c_readreg 50,1583 -static int i2c_readregs(68,1932 -static int i2c_writereg 82,2271 -static const u8 saa7113_tab[95,2543 -static int saa7113_init 125,3010 -static int saa7113_setinput 149,3608 -static int budget_av_detach 170,4102 -static struct saa7146_ext_vv vv_data;192,4508 -static int budget_av_attach 194,4547 -#define KNC1_INPUTS 276,6548 -static struct v4l2_input knc1_inputs[277,6570 -static struct saa7146_extension_ioctls ioctls[283,6804 -static int av_ioctl(291,6996 -static struct saa7146_standard standard[334,7890 -static struct saa7146_ext_vv vv_data 348,8264 -static struct saa7146_extension budget_extension;360,8572 -static struct pci_device_id pci_tbl 365,8676 -static struct saa7146_extension budget_extension 374,8826 -static int __init budget_av_init(387,9094 -static void __exit budget_av_exit(398,9242 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_ca.c,671 -#define DEBUG_VARIABLE 41,1359 -void CI_handle(50,1514 -void ci_get_data(81,2073 -int ci_ll_init(97,2559 -void ci_ll_flush(104,2764 -void ci_ll_release(110,2942 -int ci_ll_reset(118,3116 -static ssize_t ci_ll_write(144,3583 -static ssize_t ci_ll_read(183,4439 -static int dvb_ca_open(209,5153 -static unsigned int dvb_ca_poll 223,5523 -static int dvb_ca_ioctl(242,6055 -static ssize_t dvb_ca_write(320,7744 -static ssize_t dvb_ca_read(330,8085 -static struct file_operations dvb_ca_fops 342,8419 -static struct dvb_device dvbdev_ca 352,8650 -int av7110_ca_register(361,8794 -void av7110_ca_unregister(367,8954 -void av7110_ca_init(372,9048 -void av7110_ca_exit(377,9157 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/budget.h,488 -#define __BUDGET_DVB__2,23 -struct budget_info budget_info17,276 -struct budget budget23,383 -#define MAKE_BUDGET_INFO(MAKE_BUDGET_INFO64,1235 -#define TS_WIDTH 72,1481 -#define TS_HEIGHT 73,1505 -#define TS_BUFLEN 74,1529 -#define TS_MAX_PACKETS 75,1568 -#define BUDGET_TT 77,1612 -#define BUDGET_TT_HW_DISEQC 78,1636 -#define BUDGET_KNC1 79,1669 -#define BUDGET_PATCH 80,1695 -#define BUDGET_FS_ACTIVY 81,1722 -#define BUDGET_VIDEO_PORTA 83,1753 -#define BUDGET_VIDEO_PORTB 84,1790 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/budget-patch.c,564 -#define budget_patch 37,1216 -static struct saa7146_extension budget_extension;39,1245 -static struct pci_device_id pci_tbl[43,1393 -static int budget_wdebi(50,1542 -static int budget_av7110_send_fw_cmd(70,2051 -static void av7110_set22k(89,2593 -static int av7110_send_diseqc_msg(98,2846 -int budget_patch_diseqc_ioctl 125,3493 -static int budget_patch_attach 165,4565 -static int budget_patch_detach 233,7542 -static int __init budget_patch_init(249,7897 -static void __exit budget_patch_exit(255,8001 -static struct saa7146_extension budget_extension 262,8133 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_hw.c,1540 -#define DEBUG_VARIABLE 41,1447 -int av7110_debiwrite(55,1846 -u32 av7110_debiread(74,2414 -void av7110_reset_arm(100,3083 -static int waitdebi(121,3639 -static int load_dram(135,3876 -static u8 bootcode[186,5501 -int av7110_bootarm(207,6837 -int __av7110_send_fw_cmd(288,9412 -int av7110_send_fw_cmd(366,11223 -int av7110_fw_cmd(386,11624 -int av7110_send_ci_cmd(410,12060 -int av7110_fw_request(432,12546 -int av7110_fw_query(503,14134 -int av7110_firmversion(518,14597 -int av7110_diseqc_send(553,15686 -static inline int ResetBlend(584,16250 -static inline int SetColorBlend(589,16390 -static inline int SetWindowBlend(594,16531 -static inline int SetBlend_(599,16696 -static inline int SetColor_(606,16941 -static inline int BringToTop(613,17207 -static inline int SetFont(618,17340 -static int FlushText(625,17554 -static int WriteText(645,18004 -static inline int DrawLine(689,19184 -static inline int DrawBlock(696,19392 -static inline int HideWindow(703,19601 -static inline int MoveWindowRel(708,19735 -static inline int MoveWindowAbs(713,19893 -static inline int DestroyOSDWindow(718,20051 -static inline int CreateOSDWindow(723,20194 -static enum av7110_osd_palette_type bpp2pal[732,20446 -static enum av7110_window_display_type bpp2bit[735,20548 -static inline int LoadBitmap(739,20654 -static int BlitBitmap(803,22276 -static inline int ReleaseBitmap(828,22935 -static u32 RGB2YUV(838,23171 -static void OSDSetColor(854,23492 -static int OSDSetPalette(868,23900 -static int OSDSetBlock(889,24615 -int av7110_osd_cmd(923,25501 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_v4l.c,1131 -#define DEBUG_VARIABLE 38,1404 -int msp_writereg(48,1582 -int msp_readreg(62,2012 -static struct v4l2_input inputs[83,2536 -static int ves1820_writereg(104,2991 -static int tuner_write(117,3302 -static int tuner_set_tv_freq(133,3683 -static struct saa7146_standard analog_standard[163,4233 -static struct saa7146_standard dvb_standard[164,4283 -static struct saa7146_standard standard[165,4330 -static struct v4l2_audio msp3400_v4l2_audio 167,4374 -int av7110_dvb_c_switch(173,4496 -int av7110_ioctl(237,6850 -struct saa7146_extension_ioctls ioctls[434,11983 -static u8 saa7113_init_regs[447,12412 -static struct saa7146_ext_vv av7110_vv_data_st;506,13135 -static struct saa7146_ext_vv av7110_vv_data_c;507,13183 -int av7110_init_analog_module(509,13231 -int av7110_init_v4l(582,16411 -int av7110_exit_v4l(615,17366 -static struct saa7146_standard standard[627,17731 -static struct saa7146_standard analog_standard[641,18096 -static struct saa7146_standard dvb_standard[655,18468 -static int std_callback(669,18837 -static struct saa7146_ext_vv av7110_vv_data_st 688,19254 -static struct saa7146_ext_vv av7110_vv_data_c 702,19545 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/ttpci-eeprom.c,215 -#define dprintk(dprintk43,1483 -#define dprintk(dprintk45,1539 -static int check_mac_tt(49,1587 -static int getmac_tt(63,1959 -static int ttpci_eeprom_read_encodedMAC(88,2758 -int ttpci_eeprom_parse_mac(109,3176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110.c,2028 - #define DEBUG_VARIABLE 64,1872 -int av7110_debug 76,2104 -static int vidmode=78,2127 -static int pids_off;79,2160 -static int adac=80,2181 -static int hw_sections 81,2210 -static int rgb_on 82,2238 -int av7110_num 84,2262 -static void recover_arm(87,2284 -static void arm_error(97,2524 -static int arm_thread(106,2697 -void av7110_setup_irc_config 159,4136 -void av7110_register_irc_handler(178,4479 -void av7110_unregister_irc_handler(184,4602 -void run_handlers(190,4729 -void IR_handle(198,4893 -static inline int DvbDmxFilterCallback(209,5248 -static inline void print_time(261,7397 -static void debiirq 270,7592 -static void gpioirq 402,12459 -static int dvb_osd_ioctl(631,21156 -static struct file_operations dvb_osd_fops 646,21531 -static struct dvb_device dvbdev_osd 653,21697 -static inline int SetPIDs(663,21879 -void ChangePIDs(681,22438 -static int StartHWFilter(713,23276 -static int StopHWFilter(757,24441 -static void dvb_feed_start_pid(792,25263 -static void dvb_feed_stop_pid(825,26423 -static int av7110_start_feed(860,27367 -static int av7110_stop_feed(918,29023 -static void restart_feeds(958,30085 -static int dvb_get_stc(981,30525 - *stc 1011,31251 - *base 1013,31368 -static int av7110_diseqc_ioctl(1025,31652 - break;1043,32035 - break;1054,32283 -static void av7110_before_after_tune 1064,32344 -static int av7110_register(1093,33117 -static void dvb_unregister(1169,35052 -int i2c_writereg(1203,36032 -u8 i2c_readreg(1216,36299 -static int master_xfer(1234,36685 -static int check_firmware(1245,37040 -static inline int get_firmware(1298,38273 -static int get_firmware(1305,38442 -static int av7110_attach(1334,39207 -static int av7110_detach 1534,44858 -static void av7110_irq(1581,45879 -static struct saa7146_extension av7110_extension;1595,46184 -#define MAKE_AV7110_INFO(MAKE_AV7110_INFO1597,46235 -static struct pci_device_id pci_tbl[1613,47043 -static struct saa7146_extension av7110_extension 1637,47825 -static int __init av7110_init(1651,48100 -static void __exit av7110_exit(1671,48533 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/fdump.c,16 -int main(7,104 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/budget-core.c,469 -int budget_debug 40,1392 -static int stop_ts_capture(46,1599 -static int start_ts_capture 59,1878 -static void vpeirq 129,4020 -static int budget_start_feed(163,5181 -static int budget_stop_feed(180,5595 -static int budget_register(195,5939 -static void budget_unregister(245,7416 -static int master_xfer 262,7879 -int ttpci_budget_init 269,8059 -int ttpci_budget_deinit 349,10247 -void ttpci_budget_irq10_handler 371,10672 -void ttpci_budget_set_video_port(381,10915 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/budget.c,562 -static void Set22K 40,1432 -static void DiseqcSendBit 52,1773 -static void DiseqcSendByte 64,2060 -static int SendDiSEqCMsg 80,2297 -int budget_diseqc_ioctl 110,2828 -static int SetVoltage_Activy 155,3983 -static int budget_ioctl_activy 176,4369 -static int budget_attach 193,4695 -static int budget_detach 224,5377 -static struct saa7146_extension budget_extension;246,5820 -static struct pci_device_id pci_tbl[256,6357 -static struct saa7146_extension budget_extension 271,6765 -static int __init budget_init(285,7031 -static void __exit budget_exit(291,7129 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_av.h,27 -#define _AV7110_AV_H_2,22 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/budget-ci.c,1584 -#define DEBIADDR_IR 48,1540 -#define DEBIADDR_CICONTROL 49,1568 -#define DEBIADDR_CIVERSION 50,1602 -#define DEBIADDR_IO 51,1636 -#define DEBIADDR_ATTR 52,1664 -#define CICONTROL_RESET 54,1695 -#define CICONTROL_ENABLETS 55,1725 -#define CICONTROL_CAMDETECT 56,1757 -#define DEBICICTL 58,1791 -#define DEBICICAM 59,1821 -#define SLOTSTATUS_NONE 61,1852 -#define SLOTSTATUS_PRESENT 62,1879 -#define SLOTSTATUS_RESET 63,1908 -#define SLOTSTATUS_READY 64,1935 -#define SLOTSTATUS_OCCUPIED 65,1962 -struct budget_ci budget_ci67,2046 -static u32 budget_debiread 78,2297 -static u8 budget_debiwrite 108,3013 -static u16 key_map[141,3878 -static void msp430_ir_debounce 191,4927 -static void msp430_ir_interrupt 208,5320 -static int msp430_ir_init 245,6348 -static void msp430_ir_deinit 273,7062 -static int ciintf_read_attribute_mem(287,7453 -static int ciintf_write_attribute_mem(295,7725 -static int ciintf_read_cam_control(303,8016 -static int ciintf_write_cam_control(311,8279 -static int ciintf_slot_reset(319,8561 -static int ciintf_slot_shutdown(337,9223 -static int ciintf_slot_ts_enable(348,9557 -static void ciintf_interrupt 366,10065 -static int ciintf_init(405,11340 -static void ciintf_deinit(469,13550 -static void budget_ci_irq 491,14251 -static int budget_ci_attach 509,14733 -static int budget_ci_detach 543,15431 -static struct saa7146_extension budget_extension;567,15931 -static struct pci_device_id pci_tbl[572,16128 -static struct saa7146_extension budget_extension 583,16367 -static int __init budget_ci_init(597,16652 -static void __exit budget_ci_exit(603,16753 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_av.c,2892 -#define DEBUG_VARIABLE 40,1355 -#define PROG_STREAM_MAP 50,1585 -#define PRIVATE_STREAM1 51,1615 -#define PADDING_STREAM 52,1645 -#define PRIVATE_STREAM2 53,1674 -#define AUDIO_STREAM_S 54,1704 -#define AUDIO_STREAM_E 55,1733 -#define VIDEO_STREAM_S 56,1762 -#define VIDEO_STREAM_E 57,1791 -#define ECM_STREAM 58,1820 -#define EMM_STREAM 59,1845 -#define DSM_CC_STREAM 60,1870 -#define ISO13522_STREAM 61,1898 -#define PROG_STREAM_DIR 62,1928 -#define PTS_DTS_FLAGS 64,1959 -#define PTS_ONLY 67,2004 -#define PTS_DTS 68,2027 -#define TS_SIZE 69,2050 -#define TRANS_ERROR 70,2072 -#define PAY_START 71,2098 -#define TRANS_PRIO 72,2122 -#define PID_MASK_HI 73,2147 -#define TRANS_SCRMBL1 75,2181 -#define TRANS_SCRMBL2 76,2209 -#define ADAPT_FIELD 77,2237 -#define PAYLOAD 78,2263 -#define COUNT_MASK 79,2286 -#define DISCON_IND 82,2332 -#define RAND_ACC_IND 83,2357 -#define ES_PRI_IND 84,2384 -#define PCR_FLAG 85,2409 -#define OPCR_FLAG 86,2432 -#define SPLICE_FLAG 87,2456 -#define TRANS_PRIV 88,2482 -#define ADAP_EXT_FLAG 89,2507 -#define LTW_FLAG 92,2566 -#define PIECE_RATE 93,2589 -#define SEAM_SPLICE 94,2614 -int av7110_record_cb(101,2752 -static int dvb_filter_pes2ts_cb(118,3274 -int av7110_av_start_record(129,3549 -int av7110_av_start_play(174,4883 -void av7110_av_stop(207,5633 -int av7110_pes_play(244,6489 -int av7110_set_volume(289,7557 -void av7110_set_vidmode(327,8601 -static int sw2mode[343,9005 -static void get_video_format(350,9301 -static inline long aux_ring_buffer_write(381,10054 -static void play_video_cb(404,10568 -static void play_audio_cb(416,10901 -#define FREE_COND 424,11100 -static ssize_t dvb_play(427,11228 -static ssize_t dvb_play_kernel(460,11961 -static ssize_t dvb_aplay(490,12601 -void av7110_p2t_init(522,13438 -static void clear_p2t(532,13618 -static int find_pes_header(541,13744 -void av7110_p2t_write(589,14694 -int write_ts_header2(684,16570 -static void p_to_t(719,17145 -int av7110_write_to_decoder(767,18254 -void dvb_video_add_event(809,19290 -static int dvb_video_get_event 834,19848 -static unsigned int dvb_video_poll(872,20745 -static ssize_t dvb_video_write(899,21483 -static unsigned int dvb_audio_poll(916,21978 -static ssize_t dvb_audio_write(935,22504 -u8 iframe_header[950,22988 -#define MIN_IFRAME 952,23068 -static int play_iframe(954,23095 -static int dvb_video_ioctl(980,23692 -static int dvb_audio_ioctl(1176,28674 -static int dvb_video_open(1294,31445 -static int dvb_video_release(1319,32145 -static int dvb_audio_open(1333,32514 -static int dvb_audio_release(1348,32939 -static struct file_operations dvb_video_fops 1365,33442 -static struct dvb_device dvbdev_video 1374,33660 -static struct file_operations dvb_audio_fops 1383,33843 -static struct dvb_device dvbdev_audio 1392,34061 -int av7110_av_register(1401,34214 -void av7110_av_unregister(1432,35320 -int av7110_av_init(1438,35460 -int av7110_av_exit(1456,36021 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttpci/av7110_ca.h,27 -#define _AV7110_CA_H_2,22 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/b2c2/skystar2.c,3579 -static int debug 54,1715 -#define dprintk(dprintk55,1737 -#define ddprintk(ddprintk56,1801 -static int enable_hw_filters 57,1866 -#define SIZE_OF_BUF_DMA1 59,1901 -#define SIZE_OF_BUF_DMA2 60,1934 -#define MAX_N_HW_FILTERS 62,1966 -#define N_PID_SLOTS 63,1998 -struct dmaq dmaq65,2024 -struct adapter adapter74,2111 -#define write_reg_dw(write_reg_dw116,2876 -#define read_reg_dw(read_reg_dw117,2953 -static void write_reg_bitfield(119,3016 -static int i2c_main_write_for_flex2(129,3248 -static void i2c_main_setup(157,3839 -static int flex_i2c_read4(167,4123 -static int flex_i2c_write4(192,4607 -static void fixchipaddr(214,5050 -static u32 flex_i2c_read(222,5195 -static u32 flex_i2c_write(251,5786 -static int master_xfer(280,6378 -static void sram_set_net_dest(351,8331 -static void sram_set_cai_dest(370,8650 -static void sram_set_cao_dest(390,8991 -static void sram_set_media_dest(410,9332 -static void flex_sram_write(439,9987 -static void flex_sram_read(464,10461 -static void sram_write_chunk(503,11203 -static void sram_read_chunk(523,11575 -static void sram_read(543,11945 -static void sram_write(565,12436 -static void sram_set_size(587,12929 -static void sram_init(592,13077 -static int sram_test_location(618,13608 -static u32 sram_length(666,14448 -static int sram_detect_for_flex2(691,15231 -static void sll_detect_sram_size(763,16733 -static int eeprom_read(776,17040 -u8 calc_lrc(781,17187 -static int eeprom_lrc_read(794,17314 -static int eeprom_get_mac_addr(862,18486 -static void filter_enable_hw_filter(943,19811 -static void pid_set_hw_pid(958,20290 -static void filter_enable_mask_filter(984,21039 -static void ctrl_enable_mac(992,21230 -static int ca_set_mac_dst_addr_filter(997,21366 -static void pid_set_group_pid(1033,22124 -static void pid_set_group_mask(1042,22359 -static void init_pids(1085,23331 -static void open_whole_bandwidth(1101,23715 -static void close_whole_bandwidth(1111,23922 -static void whole_bandwidth_inc(1121,24135 -static void whole_bandwidth_dec(1127,24274 -static int add_hw_pid(1139,24665 -static int remove_hw_pid(1169,25518 -static int add_pid(1201,26487 -static int remove_pid(1229,27147 -static void ctrl_enable_smc(1259,27791 -static void dma_enable_disable_irq(1264,27927 -static void irq_dma_enable_disable_irq(1293,28659 -static int dma_init_dma(1342,30474 -static void ctrl_enable_receive_data(1415,32572 -static void dma_start_stop(1429,33063 -static void open_stream(1519,35716 -static void close_stream(1558,36554 -static void interrupt_service_dma1(1580,37037 -static void interrupt_service_dma2(1643,39263 -static irqreturn_t isr(1648,39360 -static void init_dma_queue(1675,39890 -static void free_dma_queue(1732,41343 -static void free_adapter_object(1755,42003 -static struct pci_driver skystar2_pci_driver;1773,42316 -static int claim_adapter(1775,42363 -static void decide_how_many_hw_filters(1824,43459 -static int driver_initialize(1863,44495 -static void driver_halt(1978,47440 -static int dvb_start_feed(1997,47849 -static int dvb_stop_feed(2009,48160 -static void set_tuner_tone(2022,48489 -static void set_tuner_polarity(2056,49093 -static void diseqc_send_bit(2082,49527 -static void diseqc_send_byte(2091,49710 -static int send_diseqc_msg(2105,49935 -int soft_diseqc(2132,50357 -static int flexcop_diseqc_ioctl(2167,50974 -static int skystar2_probe(2231,52149 -static void skystar2_remove(2306,54042 -static struct pci_device_id skystar2_pci_tbl[2339,54893 -static struct pci_driver skystar2_pci_driver 2347,55182 -static int skystar2_init(2354,55341 -static void skystar2_cleanup(2359,55424 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/tda1004x.c,4364 -#define DVB_TDA1004X_FIRMWARE_FILE 50,1621 -static int tda1004x_debug 53,1705 -static char *tda1004x_firmware 54,1736 -#define MC44BC374_ADDRESS 56,1798 -#define TDA1004X_CHIPID 58,1837 -#define TDA1004X_AUTO 59,1875 -#define TDA1004X_IN_CONF1 60,1913 -#define TDA1004X_IN_CONF2 61,1951 -#define TDA1004X_OUT_CONF1 62,1989 -#define TDA1004X_OUT_CONF2 63,2027 -#define TDA1004X_STATUS_CD 64,2065 -#define TDA1004X_CONFC4 65,2103 -#define TDA1004X_DSSPARE2 66,2141 -#define TDA10045H_CODE_IN 67,2179 -#define TDA10045H_FWPAGE 68,2217 -#define TDA1004X_SCAN_CPT 69,2255 -#define TDA1004X_DSP_CMD 70,2293 -#define TDA1004X_DSP_ARG 71,2331 -#define TDA1004X_DSP_DATA1 72,2369 -#define TDA1004X_DSP_DATA2 73,2407 -#define TDA1004X_CONFADC1 74,2445 -#define TDA1004X_CONFC1 75,2483 -#define TDA10045H_S_AGC 76,2521 -#define TDA10046H_AGC_TUN_LEVEL 77,2559 -#define TDA1004X_SNR 78,2597 -#define TDA1004X_CONF_TS1 79,2635 -#define TDA1004X_CONF_TS2 80,2673 -#define TDA1004X_CBER_RESET 81,2711 -#define TDA1004X_CBER_MSB 82,2749 -#define TDA1004X_CBER_LSB 83,2787 -#define TDA1004X_CVBER_LUT 84,2825 -#define TDA1004X_VBER_MSB 85,2863 -#define TDA1004X_VBER_MID 86,2901 -#define TDA1004X_VBER_LSB 87,2939 -#define TDA1004X_UNCOR 88,2977 -#define TDA10045H_CONFPLL_P 90,3016 -#define TDA10045H_CONFPLL_M_MSB 91,3054 -#define TDA10045H_CONFPLL_M_LSB 92,3092 -#define TDA10045H_CONFPLL_N 93,3130 -#define TDA10046H_CONFPLL1 95,3169 -#define TDA10046H_CONFPLL2 96,3207 -#define TDA10046H_CONFPLL3 97,3245 -#define TDA10046H_TIME_WREF1 98,3283 -#define TDA10046H_TIME_WREF2 99,3321 -#define TDA10046H_TIME_WREF3 100,3359 -#define TDA10046H_TIME_WREF4 101,3397 -#define TDA10046H_TIME_WREF5 102,3435 -#define TDA10045H_UNSURW_MSB 104,3474 -#define TDA10045H_UNSURW_LSB 105,3512 -#define TDA10045H_WREF_MSB 106,3550 -#define TDA10045H_WREF_MID 107,3588 -#define TDA10045H_WREF_LSB 108,3626 -#define TDA10045H_MUXOUT 109,3664 -#define TDA1004X_CONFADC2 110,3702 -#define TDA10045H_IOFFSET 112,3741 -#define TDA10046H_CONF_TRISTATE1 114,3780 -#define TDA10046H_CONF_TRISTATE2 115,3818 -#define TDA10046H_CONF_POLARITY 116,3856 -#define TDA10046H_FREQ_OFFSET 117,3894 -#define TDA10046H_GPIO_OUT_SEL 118,3932 -#define TDA10046H_GPIO_SELECT 119,3970 -#define TDA10046H_AGC_CONF 120,4008 -#define TDA10046H_AGC_GAINS 121,4046 -#define TDA10046H_AGC_TUN_MIN 122,4084 -#define TDA10046H_AGC_TUN_MAX 123,4122 -#define TDA10046H_AGC_IF_MIN 124,4160 -#define TDA10046H_AGC_IF_MAX 125,4198 -#define TDA10046H_FREQ_PHY2_MSB 127,4237 -#define TDA10046H_FREQ_PHY2_LSB 128,4275 -#define TDA10046H_CVBER_CTRL 130,4314 -#define TDA10046H_AGC_IF_LEVEL 131,4352 -#define TDA10046H_CODE_CPT 132,4390 -#define TDA10046H_CODE_IN 133,4428 -#define FE_TYPE_TDA10045H 136,4468 -#define FE_TYPE_TDA10046H 137,4500 -#define TUNER_TYPE_TD1344 139,4533 -#define TUNER_TYPE_TD1316 140,4565 -#define dprintk 142,4598 -static struct dvb_frontend_info tda10045h_info 144,4642 -static struct dvb_frontend_info tda10046h_info 157,5088 -struct tda1004x_state tda1004x_state171,5605 -struct fwinfo fwinfo180,5741 -static struct fwinfo tda10045h_fwinfo[185,5806 -static int tda10045h_fwinfo_count 186,5913 -static struct fwinfo tda10046h_fwinfo[188,6000 -static int tda10046h_fwinfo_count 189,6107 -static int tda1004x_write_byte(192,6195 -static int tda1004x_read_byte(212,6781 -static int tda1004x_write_mask(237,7466 -static int tda1004x_write_buf(256,7930 -static int tda1004x_enable_tuner_i2c(273,8303 -static int tda1004x_disable_tuner_i2c(283,8558 -static int tda10045h_set_bandwidth(292,8763 -static int tda10046h_set_bandwidth(327,10017 -static int tda1004x_fwupload(360,11282 -static int tda10045h_init(535,16977 -static int tda10046h_init(573,18793 -static int tda1004x_encode_fec(625,21900 -static int tda1004x_decode_fec(645,22162 -static int tda1004x_set_frequency(665,22425 -static int tda1004x_set_fe(822,26645 -static int tda1004x_get_fe(1007,32123 -static int tda1004x_read_status(1116,35214 -static int tda1004x_read_signal_strength(1178,37577 -static int tda1004x_read_snr(1208,38247 -static int tda1004x_read_ucblocks(1228,38659 -static int tda1004x_read_ber(1265,39528 -static int tda1004x_sleep(1285,40090 -static int tda1004x_ioctl(1301,40427 -static int tda1004x_attach(1384,42665 -void tda1004x_detach(1506,46860 -int __init init_tda1004x(1516,47025 -void __exit exit_tda1004x(1523,47149 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/grundig_29504-491.c,973 -static int debug 36,1195 -#define dprintk 37,1217 -static struct dvb_frontend_info grundig_29504_491_info 40,1253 -static u8 tda8083_init_tab 60,1983 -static int tda8083_writereg 71,2292 -static int tda8083_readregs 87,2681 -static inline u8 tda8083_readreg 103,3092 -static int tsa5522_write 113,3228 -static int tsa5522_set_tv_freq 131,3641 -static int tda8083_init 140,3833 -static int tda8083_set_inversion 153,4026 -static int tda8083_set_fec 163,4246 -static fe_code_rate_t tda8083_get_fec 175,4511 -static int tda8083_set_symbolrate 187,4786 -static void tda8083_wait_diseqc_fifo 227,5648 -static int tda8083_send_diseqc_msg 239,5877 -static int tda8083_send_diseqc_burst 257,6270 -static int tda8083_set_tone 276,6639 -static int tda8083_set_voltage 291,6940 -static int grundig_29504_491_ioctl 304,7215 -static int tda8083_attach 430,10089 -static void tda8083_detach 440,10326 -static int __init init_tda8083 446,10454 -static void __exit exit_tda8083 453,10582 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/sp887x_firm.h,95 -#define __SP887x_FIRM_H__2,26 -u8 sp887x_firm 6,67 -u8 sp887x_firm [16384] __devinitdata 6,67 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/stv0299.c,2107 -#define dprintk(dprintk59,1662 -#define dprintk(dprintk61,1700 -static int stv0299_status 64,1730 -static int disable_typhoon 65,1761 -#define STATUS_BER 67,1794 -#define STATUS_UCBLOCKS 68,1815 -#define UNKNOWN_FRONTEND 72,1864 -#define PHILIPS_SU1278_TSA 73,1893 -#define ALPS_BSRU6 74,1986 -#define LG_TDQF_S001F 75,2015 -#define PHILIPS_SU1278_TUA 76,2044 -#define SAMSUNG_TBMU24112IMB 77,2107 -#define PHILIPS_SU1278_TSA_TT 78,2141 -#define PHILIPS_SU1278_TSA_TY 79,2227 -#define M_CLK 82,2336 -#define M_CLK_SU1278_TSA_TT 85,2406 -static struct dvb_frontend_info uni0299_info 87,2448 -struct stv0299_state stv0299_state105,2984 -static u8 init_tab 114,3114 -static u8 init_tab_samsung 177,4825 -static u8 init_tab_su1278_tsa_tt 222,5396 -static int stv0299_writereg 270,6442 -static u8 stv0299_readreg 286,6825 -static int stv0299_readregs 304,7248 -static int pll_write 319,7703 -static int sl1935_set_tv_freq 338,8155 -static int tsa5059_set_tv_freq 361,8643 -#define MIN2(MIN2421,9872 -#define MIN3(MIN3422,9914 -static int tua6100_set_tv_freq 424,9953 - reg1[466,11059 - reg1[507,12148 - reg2[509,12168 - R 511,12187 - A 512,12196 - P 513,12205 - M 515,12221 - N 516,12256 - reg1[518,12291 - reg1[519,12320 - reg1[520,12349 - reg2[522,12379 - reg2[523,12408 - reg1[525,12439 - reg0[530,12526 -static int pll_set_tv_freq 545,12770 -static int tsa5059_read_status 563,13177 -static int stv0299_init 584,13620 -static int stv0299_set_FEC 640,15105 -static fe_code_rate_t stv0299_get_fec 684,15980 -static int stv0299_wait_diseqc_fifo 702,16306 -static int stv0299_wait_diseqc_idle 720,16636 -static int stv0299_send_diseqc_msg 738,16974 -static int stv0299_send_diseqc_burst 769,17589 -static int stv0299_set_tone 796,18161 -static int stv0299_set_voltage 829,18848 -static int stv0299_set_symbolrate 870,19832 -static int stv0299_get_symbolrate 961,22821 -static int uni0299_ioctl 996,23522 -static long probe_tuner 1251,30687 -static int uni0299_attach 1334,33145 -static void uni0299_detach 1367,33966 -static int __init init_uni0299 1375,34131 -static void __exit exit_uni0299 1382,34280 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/ves1820.c,1509 -#define dprintk(dprintk36,1177 -#define dprintk(dprintk38,1215 -#define MAX_UNITS 41,1245 -static int pwm[42,1265 -static int verbose;43,1313 -#define SET_PWM(SET_PWM50,1471 -#define SET_REG0(SET_REG057,1600 -#define SET_TUNER(SET_TUNER64,1740 -#define SET_DEMOD_ADDR(SET_DEMOD_ADDR71,1882 -#define GET_PWM(GET_PWM78,2029 -#define GET_REG0(GET_REG079,2079 -#define GET_TUNER(GET_TUNER80,2137 -#define GET_DEMOD_ADDR(GET_DEMOD_ADDR81,2197 -#define XIN 84,2289 -#define DISABLE_INVERSION(DISABLE_INVERSION85,2312 -#define ENABLE_INVERSION(ENABLE_INVERSION86,2377 -#define HAS_INVERSION(HAS_INVERSION87,2440 -#define XIN 89,2505 -#define DISABLE_INVERSION(DISABLE_INVERSION90,2528 -#define ENABLE_INVERSION(ENABLE_INVERSION91,2592 -#define HAS_INVERSION(HAS_INVERSION92,2656 -#define FIN 95,2710 -static struct dvb_frontend_info ves1820_info 99,2736 -static u8 ves1820_inittab 119,3319 -static int ves1820_writereg 131,3681 -static u8 ves1820_readreg 151,4222 -static int tuner_write 171,4749 -static int tuner_set_tv_freq 190,5267 -static int ves1820_setup_reg0 226,6135 -static int ves1820_init 257,6864 -static int ves1820_set_symbolrate 278,7260 -static int ves1820_set_parameters 333,8893 -static int ves1820_ioctl 366,10007 -static long probe_tuner 477,12579 -static u8 read_pwm 499,13131 -static long probe_demod_addr 515,13499 -static int ves1820_attach 534,13962 -static void ves1820_detach 560,14627 -static int __init init_ves1820 566,14745 -static void __exit exit_ves1820 577,14968 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/cx24110.c,826 -static int debug 43,1562 -#define dprintk 44,1584 -static struct dvb_frontend_info cx24110_info 47,1620 -static struct {u8 reg; u8 data;} cx24110_regdata[67,2348 -static int cx24110_writereg 130,6197 -static u8 cx24110_readreg 147,6719 -static int cx24108_write 164,7167 -static int cx24108_set_tv_freq 198,8442 -#define XTAL 213,8923 -static int cx24110_init 262,10822 -static int cx24110_set_inversion 277,11143 -static int cx24110_set_fec 312,12543 -static fe_code_rate_t cx24110_get_fec 358,14256 -static int cx24110_set_symbolrate 375,14731 -static int cx24110_set_voltage 457,17723 -static void sendDiSEqCMessage(469,18057 -static int cx24110_ioctl 484,18456 -static int cx24110_attach 640,22765 -static void cx24110_detach 652,23007 -static int __init init_cx24110 658,23125 -static void __exit exit_cx24110 664,23248 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/dst.c,2132 -unsigned int dst_debug 38,1081 -unsigned int dst_verbose 39,1109 -#define DST_MAX_CARDS 47,1349 -unsigned int dst_cur_no 48,1373 -unsigned int dst_type[50,1403 -unsigned int dst_type_flags[51,1480 -#define dprintk 59,1917 -#define DST_TYPE_IS_SAT 61,1956 -#define DST_TYPE_IS_TERR 62,1983 -#define DST_TYPE_IS_CABLE 63,2010 -#define DST_TYPE_HAS_NEWTUNE 65,2039 -#define DST_TYPE_HAS_TS204 66,2070 -#define DST_TYPE_HAS_SYMDIV 67,2099 -#define HAS_LOCK 69,2130 -#define ATTEMPT_TUNE 70,2149 -#define HAS_POWER 71,2172 -struct dst_data dst_data73,2193 -static struct dvb_frontend_info dst_info_sat 97,2749 -static struct dvb_frontend_info dst_info_cable 112,3197 -static struct dvb_frontend_info dst_info_tv 126,3593 -static void dst_packsize(137,3898 -static int dst_gpio_outb(145,4062 -static int dst_gpio_inb(173,4888 -#define DST_I2C_ENABLE 188,5241 -#define DST_8820 189,5266 -dst_reset8820(192,5299 -dst_i2c_enable(214,5832 -dst_i2c_disable(228,6155 -dst_wait_dst_ready(242,6467 -#define DST_I2C_ADDR 261,6859 -static int write_dst 263,6886 -static int read_dst 295,7621 -static int dst_set_freq(323,8319 -static int dst_set_bandwidth(379,9469 -static int dst_set_inversion 408,9882 -static int dst_set_fec 431,10202 -static fe_code_rate_t dst_get_fec 437,10301 -static int dst_set_symbolrate 442,10381 -static u8 dst_check_sum(479,11123 -typedef struct dst_types dst_types491,11286 -} DST_TYPES;DST_TYPES496,11368 -struct dst_types dst_tlist[498,11382 -static void dst_type_flags_print(511,12126 -static int dst_type_print(523,12483 -static int dst_check_ci 545,12882 -static int dst_command 638,15383 -static int dst_get_signal(680,16410 -static int dst_set_diseqc 729,18141 -static int dst_tone_power_cmd 744,18489 -static int dst_set_voltage 764,18902 -static int dst_set_tone 803,19628 -static int dst_get_tuna 829,19990 -static int dst_write_tuna 875,21179 -static void dst_init 917,22364 -struct lkup lkup952,23757 -} looker[955,23803 -static int dst_ioctl 970,24432 -static int dst_attach 1119,27878 -static void dst_detach 1162,28910 -static int __init init_dst 1170,29102 -static void __exit exit_dst 1175,29212 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/sp887x.c,838 -#define DVB_SP887X_FIRMWARE_FILE 32,968 -static char *sp887x_firmware 35,1048 -#define dprintk(dprintk38,1112 -#define dprintk(dprintk40,1150 -#define LOG(LOG44,1186 -#define LOG(LOG53,1408 -struct dvb_frontend_info sp887x_info 58,1454 -int i2c_writebytes 71,1838 -int sp887x_writereg 91,2268 -u16 sp887x_readreg 119,2954 -void sp887x_microcontroller_stop 139,3545 -void sp887x_microcontroller_start 151,3788 -void sp887x_setup_agc 163,4033 -#define BLOCKSIZE 184,4651 -int sp887x_initial_setup 190,4734 -int tsa5060_setup_pll 314,7565 -int configure_reg0xc05 344,8249 -void divide 421,9531 -void sp887x_correct_offsets 441,9821 -int sp887x_setup_frontend_parameters 474,10747 -int sp887x_ioctl 534,12179 -int sp887x_attach 652,14785 -void sp887x_detach 666,15104 -int __init init_sp887x 674,15253 -void __exit exit_sp887x 682,15399 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/nxt6000.h,4000 -#define MAXNXT6000REG 12,246 -#define A_VIT_BER_0 15,318 -#define A_VIT_BER_TIMER_0 18,395 -#define RS_COR_STAT 21,457 -#define RSCORESTATUS 22,495 -#define RS_COR_INTEN 25,558 -#define RS_COR_INSTAT 28,622 -#define INSTAT_ERROR 29,660 -#define LOCK_LOSS_BITS 30,698 -#define RS_COR_SYNC_PARAM 33,766 -#define SYNC_PARAM 34,804 -#define BER_CTRL 37,863 -#define BER_ENABLE 38,901 -#define BER_RESET 39,939 -#define BER_PAY 42,997 -#define BER_PKT_L 45,1057 -#define BER_PKTOVERFLOW 46,1095 -#define VIT_COR_CTL 49,1157 -#define BER_CONTROL 50,1195 -#define VIT_COR_MASK 51,1233 -#define VIT_COR_RESYNC 52,1271 -#define VIT_SYNC_STATUS 56,1338 -#define VITINSYNC 57,1376 -#define VIT_COR_INTEN 60,1440 -#define GLOBAL_ENABLE 61,1478 -#define VIT_COR_INTSTAT 64,1544 -#define BER_DONE 65,1582 -#define BER_OVERFLOW 66,1620 -#define A_VIT_BER_TIMER_0 69,1718 -#define A_VIT_BER_0 72,1816 -#define OFDM_COR_CTL 75,1879 -#define COREACT 76,1917 -#define HOLDSM 77,1955 -#define WAIT_AGC 78,1993 -#define WAIT_SYR 79,2031 -#define OFDM_COR_STAT 82,2095 -#define COR_STATUS 83,2133 -#define MONITOR_TPS 84,2171 -#define TPSLOCKED 85,2209 -#define AGCLOCKED 86,2247 -#define OFDM_COR_INTEN 89,2312 -#define TPSRCVBAD 90,2350 -#define TPSRCVCHANGED 91,2388 -#define TPSRCVUPDATE 92,2425 -#define OFDM_COR_INSTAT 95,2491 -#define OFDM_COR_MODEGUARD 98,2560 -#define FORCEMODE 99,2598 -#define FORCEMODE8K 100,2636 -#define OFDM_AGC_CTL 103,2693 -#define INITIAL_AGC_BW 104,2731 -#define AGCNEG 105,2765 -#define AGCLAST 106,2803 -#define OFDM_AGC_TARGET 109,2860 -#define OFDM_AGC_TARGET_DEFAULT 110,2895 -#define OFDM_AGC_TARGET_IMPULSE 111,2934 -#define OFDM_AGC_GAIN_1 114,3001 -#define OFDM_ITB_CTL 117,3064 -#define ITBINV 118,3102 -#define OFDM_ITB_FREQ_1 121,3168 -#define OFDM_ITB_FREQ_2 124,3234 -#define OFDM_CAS_CTL 127,3305 -#define ACSDIS 128,3343 -#define CCSEN 129,3381 -#define CAS_FREQ 132,3440 -#define OFDM_SYR_CTL 135,3503 -#define SIXTH_ENABLE 136,3541 -#define SYR_TRACKING_DISABLE 137,3579 -#define OFDM_SYR_STAT 140,3643 -#define GI14_2K_SYR_LOCK 141,3676 -#define GI14_8K_SYR_LOCK 142,3711 -#define GI14_SYR_LOCK 143,3746 -#define OFDM_SYR_OFFSET_1 146,3809 -#define OFDM_SYR_OFFSET_2 149,3877 -#define OFDM_SCR_CTL 152,3940 -#define SYR_ADJ_DECAY_MASK 153,3978 -#define SYR_ADJ_DECAY 154,4016 -#define OFDM_PPM_CTL_1 157,4082 -#define PPMMAX_MASK 158,4120 -#define PPM256 159,4158 -#define OFDM_TRL_NOMINALRATE_1 162,4221 -#define OFDM_TRL_NOMINALRATE_2 165,4294 -#define OFDM_TRL_TIME_1 168,4360 -#define OFDM_CRL_FREQ_1 171,4426 -#define OFDM_CHC_CTL_1 174,4491 -#define MANMEAN1 175,4529 -#define CHCFIR 176,4568 -#define OFDM_CHC_SNR 179,4631 -#define OFDM_BDI_CTL 182,4694 -#define LP_SELECT 183,4732 -#define OFDM_TPS_RCVD_1 186,4798 -#define TPSFRAME 187,4836 -#define OFDM_TPS_RCVD_2 190,4902 -#define OFDM_TPS_RCVD_3 193,4968 -#define OFDM_TPS_RCVD_4 196,5034 -#define OFDM_TPS_RESERVED_1 199,5104 -#define OFDM_TPS_RESERVED_2 202,5174 -#define OFDM_MSC_REV 205,5237 -#define OFDM_SNR_CARRIER_2 208,5306 -#define MEAN_MASK 209,5344 -#define MEANBIT 210,5382 -#define ANALOG_CONTROL_0 213,5449 -#define POWER_DOWN_ADC 214,5487 -#define ENABLE_TUNER_IIC 217,5554 -#define ENABLE_TUNER_BIT 218,5592 -#define EN_DMD_RACQ 221,5654 -#define EN_DMD_RACQ_REG_VAL 222,5692 -#define EN_DMD_RACQ_REG_VAL_14 223,5731 -#define SNR_COMMAND 226,5793 -#define SNRStat 227,5831 -#define SNRCARRIERNUMBER_LSB 230,5902 -#define SNRMINTHRESHOLD_LSB 233,5972 -#define SNR_PER_CARRIER_LSB 236,6042 -#define SNRBELOWTHRESHOLD_LSB 239,6114 -#define RF_AGC_VAL_1 242,6177 -#define RF_AGC_STATUS 245,6241 -#define DIAG_CONFIG 248,6303 -#define DIAG_MASK 249,6341 -#define TB_SET 250,6379 -#define TRAN_SELECT 251,6417 -#define SERIAL_SELECT 252,6455 -#define SUB_DIAG_MODE_SEL 255,6523 -#define CLKINVERSION 256,6561 -#define TS_FORMAT 259,6621 -#define ERROR_SENSE 260,6659 -#define VALID_SENSE 261,6697 -#define SYNC_SENSE 262,6735 -#define GATED_CLOCK 263,6773 -#define NXT6000ASICDEVICE 265,6812 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/ves1x93.c,1354 -static int debug 35,1219 -#define dprintk 36,1241 -static int board_type 38,1276 -#define BOARD_SIEMENS_PCI 39,1303 -#define BOARD_NOKIA_DBOX2 40,1331 -#define BOARD_SAGEM_DBOX2 41,1359 -static int demod_type 43,1388 -#define DEMOD_VES1893 44,1415 -#define DEMOD_VES1993 45,1440 -static struct dvb_frontend_info ves1x93_info 47,1466 -static u8 init_1893_tab 70,2112 -static u8 init_1993_tab 81,2478 -static u8 * init_1x93_tab;93,2887 -static u8 init_1893_wtab[96,2916 -static u8 init_1993_wtab[105,3098 -struct ves1x93_state ves1x93_state113,3266 -static int ves1x93_writereg 119,3331 -static u8 ves1x93_readreg 134,3739 -static int tuner_write 151,4135 -static int sp5659_set_tv_freq 172,4674 -static int tsa5059_set_tv_freq 181,4915 -static int tuner_set_tv_freq 197,5139 -static int ves1x93_init 208,5436 -static int ves1x93_clr_bit 252,6395 -static int ves1x93_init_aquire 260,6592 -static int ves1x93_set_inversion 269,6768 -static int ves1x93_set_fec 296,7241 -static fe_code_rate_t ves1x93_get_fec 307,7507 -static int ves1x93_set_symbolrate 313,7639 -#define MUL 349,8289 -static int ves1x93_afc 417,10021 -static int ves1x93_set_voltage 436,10330 -static int ves1x93_ioctl 451,10672 -static int ves1x93_attach 582,13693 -static void ves1x93_detach 618,14614 -static int __init init_ves1x93 625,14746 -static void __exit exit_ves1x93 645,15149 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/alps_tdmb7.c,606 -static int debug 33,1045 -#define dprintk 34,1067 -static struct dvb_frontend_info tdmb7_info 37,1103 -static u8 init_tab 57,1662 -static int cx22700_writereg 79,1927 -static u8 cx22700_readreg 97,2340 -static int pll_write 116,2780 -static int pll_set_tv_freq 136,3344 -static int cx22700_init 153,3862 -static int cx22700_set_inversion 173,4222 -static int cx22700_set_tps 194,4660 -static int cx22700_get_tps 257,6422 -static int tdmb7_ioctl 304,7528 -static int tdmb7_attach 411,9977 -static void tdmb7_detach 427,10458 -static int __init init_tdmb7 435,10606 -static void __exit exit_tdmb7 443,10757 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/mt312.h,2837 -#define _DVB_FRONTENDS_MT31224,848 -enum mt312_reg_addr mt312_reg_addr26,878 - QPSK_INT_H 27,900 - QPSK_INT_M 28,917 - QPSK_INT_L 29,934 - FEC_INT 30,951 - QPSK_STAT_H 31,965 - QPSK_STAT_L 32,983 - FEC_STATUS 33,1001 - LNB_FREQ_H 34,1018 - LNB_FREQ_L 35,1035 - M_SNR_H 36,1052 - M_SNR_L 37,1066 - VIT_ERRCNT_H 38,1081 - VIT_ERRCNT_M 39,1101 - VIT_ERRCNT_L 40,1121 - RS_BERCNT_H 41,1141 - RS_BERCNT_M 42,1160 - RS_BERCNT_L 43,1179 - RS_UBC_H 44,1198 - RS_UBC_L 45,1214 - SIG_LEVEL 46,1230 - GPP_CTRL 47,1247 - RESET 48,1263 - DISEQC_MODE 49,1276 - SYM_RATE_H 50,1295 - SYM_RATE_L 51,1313 - VIT_MODE 52,1331 - QPSK_CTRL 53,1347 - GO 54,1364 - IE_QPSK_H 55,1374 - IE_QPSK_M 56,1391 - IE_QPSK_L 57,1408 - IE_FEC 58,1425 - QPSK_STAT_EN 59,1439 - FEC_STAT_EN 60,1459 - SYS_CLK 61,1478 - DISEQC_RATIO 62,1493 - DISEQC_INSTR 63,1513 - FR_LIM 64,1533 - FR_OFF 65,1547 - AGC_CTRL 66,1561 - AGC_INIT 67,1577 - AGC_REF 68,1593 - AGC_MAX 69,1608 - AGC_MIN 70,1623 - AGC_LK_TH 71,1638 - TS_AGC_LK_TH 72,1655 - AGC_PWR_SET 73,1675 - QPSK_MISC 74,1694 - SNR_THS_LOW 75,1711 - SNR_THS_HIGH 76,1730 - TS_SW_RATE 77,1750 - TS_SW_LIM_L 78,1768 - TS_SW_LIM_H 79,1787 - CS_SW_RATE_1 80,1806 - CS_SW_RATE_2 81,1826 - CS_SW_RATE_3 82,1846 - CS_SW_RATE_4 83,1866 - CS_SW_LIM 84,1886 - TS_LPK 85,1903 - TS_LPK_M 86,1917 - TS_LPK_L 87,1933 - CS_KPROP_H 88,1949 - CS_KPROP_L 89,1967 - CS_KINT_H 90,1985 - CS_KINT_L 91,2002 - QPSK_SCALE 92,2019 - TLD_OUTCLK_TH 93,2037 - TLD_INCLK_TH 94,2058 - FLD_TH 95,2078 - PLD_OUTLK3 96,2092 - PLD_OUTLK2 97,2110 - PLD_OUTLK1 98,2128 - PLD_OUTLK0 99,2146 - PLD_INLK3 100,2164 - PLD_INLK2 101,2181 - PLD_INLK1 102,2198 - PLD_INLK0 103,2215 - PLD_ACC_TIME 104,2232 - SWEEP_PAR 105,2252 - STARTUP_TIME 106,2269 - LOSSLOCK_TH 107,2289 - FEC_LOCK_TM 108,2308 - LOSSLOCK_TM 109,2327 - VIT_ERRPER_H 110,2346 - VIT_ERRPER_M 111,2366 - VIT_ERRPER_L 112,2386 - VIT_SETUP 113,2406 - VIT_REF0 114,2423 - VIT_REF1 115,2439 - VIT_REF2 116,2455 - VIT_REF3 117,2471 - VIT_REF4 118,2487 - VIT_REF5 119,2503 - VIT_REF6 120,2519 - VIT_MAXERR 121,2535 - BA_SETUPT 122,2553 - OP_CTRL 123,2570 - FEC_SETUP 124,2585 - PROG_SYNC 125,2602 - AFC_SEAR_TH 126,2619 - CSACC_DIF_TH 127,2638 - QPSK_LK_CT 128,2659 - QPSK_ST_CT 129,2678 - MON_CTRL 130,2697 - QPSK_RESET 131,2714 - QPSK_TST_CT 132,2733 - QPSK_TST_ST 133,2753 - TEST_R 134,2773 - AGC_H 135,2788 - AGC_M 136,2802 - AGC_L 137,2816 - FREQ_ERR1_H 138,2830 - FREQ_ERR1_M 139,2850 - FREQ_ERR1_L 140,2870 - FREQ_ERR2_H 141,2890 - FREQ_ERR2_L 142,2910 - SYM_RAT_OP_H 143,2930 - SYM_RAT_OP_L 144,2951 - DESEQC2_INT 145,2972 - DISEQC2_STAT 146,2992 - DISEQC2_FIFO 147,3013 - DISEQC2_CTRL1 148,3034 - DISEQC2_CTRL2 149,3056 - MONITOR_H 150,3078 - MONITOR_L 151,3096 - TEST_MODE 152,3114 - ID 153,3132 - CONFIG 154,3143 -enum mt312_model_id mt312_model_id157,3161 - ID_VP310 158,3183 - ID_MT312 159,3198 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/nxt6000.c,1174 -static int debug 39,1231 -static struct dvb_frontend_info nxt6000_info 46,1400 -struct nxt6000_config nxt6000_config66,2145 -#define TUNER_TYPE_ALP510 73,2242 -#define TUNER_TYPE_SP5659 74,2270 -#define TUNER_TYPE_SP5730 75,2298 -#define FE2NXT(FE2NXT77,2327 -#define FREQ2DIV(FREQ2DIV78,2386 -#define dprintk 80,2439 -static int nxt6000_write(82,2474 -static u8 nxt6000_writereg(96,2870 -static u8 nxt6000_read(105,3049 -static u8 nxt6000_readreg(125,3474 -static int pll_test(133,3635 -static int pll_write(146,4061 -static int sp5659_set_tv_freq(163,4588 -static int alp510_set_tv_freq(186,5147 -static int sp5730_set_tv_freq(224,6051 -static void nxt6000_reset(257,6918 -static int nxt6000_set_bandwidth(269,7136 -static int nxt6000_set_guard_interval(308,7716 -static int nxt6000_set_inversion(338,8476 -static int nxt6000_set_transmission_mode(359,8798 -static void nxt6000_setup(389,9582 -static void nxt6000_dump_status(421,10824 -static int nxt6000_ioctl(681,14994 -static u8 demod_addr_tbl[827,17618 -static int nxt6000_attach(829,17674 -static void nxt6000_detach(893,19340 -static __init int nxt6000_init(901,19562 -static __exit void nxt6000_exit(910,19716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/alps_tdlb7.c,1413 -#define CONFIG_ALPS_TDLB7_FIRMWARE_LOCATION 43,1318 -static char * firmware_file 46,1413 -static int debug 47,1480 -#define dprintk 49,1503 -#define SP8870_FIRMWARE_SIZE 52,1569 -#define SP8870_FIRMWARE_OFFSET 55,1660 -static struct dvb_frontend_info tdlb7_info 57,1697 -static int sp8870_writereg 72,2133 -static u16 sp8870_readreg 87,2571 -static int sp5659_write 106,3016 -static void sp5659_set_tv_freq 120,3359 -static int sp8870_read_firmware_file 143,3804 -static int sp8870_firmware_upload 184,4704 -static void sp8870_microcontroller_stop 242,6110 -static void sp8870_microcontroller_start 252,6322 -static int sp8870_init 265,6667 -static int sp8870_read_status 292,7252 -static int sp8870_read_ber 318,7726 -static int sp8870_read_signal_strength 346,8058 -static int sp8870_read_snr(372,8394 -static int sp8870_read_uncorrected_blocks 379,8512 -static int sp8870_read_data_valid_signal(398,8765 -int configure_reg0xc05 405,8887 -static int sp8870_set_frontend_parameters 477,10059 -#define MAXTRIALS 531,11413 -#define MAXCHECKS 533,11473 -static int lockups 536,11548 -static int switches 538,11624 -static int sp8870_set_frontend 540,11650 -static int sp8870_sleep(596,12996 -static int sp8870_wake_up(603,13145 -static int tdlb7_ioctl 610,13286 -static int tdlb7_attach 668,14750 -static void tdlb7_detach 686,15273 -static int __init init_tdlb7 694,15421 -static void __exit exit_tdlb7 702,15572 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/at76c651.c,998 -static int debug 40,1202 -static u8 at76c651_qam;41,1224 -static u8 at76c651_revision;42,1248 -#define dprintk 44,1278 -static struct dvb_frontend_info at76c651_info 57,1574 -static __inline__ int __ilog2(78,2312 -static int at76c651_writereg(92,2460 -static u8 at76c651_readreg(112,2874 -static int at76c651_reset(130,3272 -static int at76c651_disable_interrupts(137,3374 -static int at76c651_set_auto_config(144,3489 -static int at76c651_set_bbfreq(187,4340 -static int at76c651_switch_tuner_i2c(197,4489 -static int dat7021_write(207,4685 -static int dat7021_set_tv_freq(233,5094 -static int at76c651_set_symbolrate(261,5534 -static int at76c651_set_qam(287,6126 -static int at76c651_set_inversion(326,6692 -static int at76c651_set_parameters(354,7122 -static int at76c651_set_defaults(368,7438 -static int at76c651_ioctl(380,7646 -static int at76c651_attach(481,9553 -static void at76c651_detach(507,10153 -static int __init at76c651_init(514,10272 -static void __exit at76c651_exit(522,10408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/dst-bt878.h,295 -struct dst_gpio_enable dst_gpio_enable7,113 -struct dst_gpio_output dst_gpio_output12,166 -struct dst_gpio_read dst_gpio_read17,221 -union dst_gpio_packet dst_gpio_packet21,270 -#define DST_IG_ENABLE 28,398 -#define DST_IG_WRITE 29,422 -#define DST_IG_READ 30,445 -#define DST_IG_TS 31,467 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/dvb_dummy_fe.c,457 -static int sct 27,882 -static struct dvb_frontend_info dvb_s_dummyfe_info 33,970 -static struct dvb_frontend_info dvb_c_dummyfe_info 50,1550 -static struct dvb_frontend_info dvb_t_dummyfe_info 68,2139 -struct dvb_frontend_info *frontend_info(88,2827 -static int dvbdummyfe_ioctl 103,3032 -static int dvbdummyfe_attach 172,4075 -static void dvbdummyfe_detach 178,4227 -static int __init init_dvbdummyfe 184,4351 -static void __exit exit_dvbdummyfe 192,4494 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/grundig_29504-401.c,722 -static int debug 34,1214 -#define dprintk 36,1237 -struct grundig_state grundig_state38,1272 -struct dvb_frontend_info grundig_29504_401_info 42,1313 -static int l64781_writereg 58,1786 -static u8 l64781_readreg 72,2136 -static int tsa5060_write 89,2525 -static int tsa5060_set_tv_freq 106,2977 -static void apply_tps 144,3839 -static void reset_afc 158,4299 -static int apply_frontend_param 176,4929 -static int reset_and_configure 288,8576 -static int get_frontend(297,8792 -static int init 415,11219 -int grundig_29504_401_ioctl 452,12134 -static int l64781_attach 571,14653 -static void l64781_detach 637,16422 -static int __init init_grundig_29504_401 644,16563 -static void __exit exit_grundig_29504_401 651,16699 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/frontends/mt312.c,1600 -#define I2C_ADDR_MT312 35,1139 -#define I2C_ADDR_SL1935 36,1168 -#define I2C_ADDR_TSA5059 37,1198 -#define MT312_DEBUG 39,1229 -#define MT312_SYS_CLK 41,1253 -#define MT312_LPOWER_SYS_CLK 42,1300 -#define MT312_PLL_CLK 43,1353 -static int mt312_count 46,1434 -#define dprintk(dprintk49,1484 -static int debug 51,1512 -#define dprintk 52,1534 -static struct dvb_frontend_info mt312_info 55,1580 -static int mt312_read(73,2254 -static int mt312_write(109,2976 -static inline int mt312_readreg(145,3619 -static inline int mt312_writereg(151,3764 -static int mt312_pll_write(157,3917 -static inline u32 mt312_div(180,4380 -static int sl1935_set_tv_freq(185,4454 -static int tsa5059_set_tv_freq(222,5349 -static int mt312_reset(242,5793 -static int mt312_init(247,5917 -static int mt312_send_master_cmd(300,7118 -static int mt312_recv_slave_reply(331,7847 -static int mt312_send_burst(338,7984 -static int mt312_set_tone(359,8383 -static int mt312_set_voltage(380,8783 -static int mt312_read_status(390,9015 -static int mt312_read_bercnt(426,10076 -static int mt312_read_agc(439,10307 -static int mt312_read_snr(459,10704 -static int mt312_read_ubc(472,10942 -static int mt312_set_frontend(485,11154 -static int mt312_get_inversion(578,13515 -static int mt312_get_symbol_rate(593,13834 -static int mt312_get_code_rate(640,14950 -static int mt312_get_frontend(657,15311 -static int mt312_sleep(674,15674 -static int mt312_ioctl(693,16019 -static int mt312_attach(777,18036 -static void mt312_detach(797,18381 -static int __init mt312_module_init(805,18528 -static void __exit mt312_module_exit(810,18649 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttusb-budget/dvb-ttusb-dspbootcode.h,22 -u8 dsp_bootcode 4,25 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c,2007 -static int debug 52,1668 -#define dprintk(dprintk54,1691 -#define ISO_BUF_COUNT 56,1764 -#define FRAMES_PER_ISO_BUF 57,1793 -#define ISO_FRAME_SIZE 58,1822 -#define TTUSB_MAXCHANNEL 59,1853 -#define TTUSB_MAXFILTER 61,1907 -#define TTUSB_BUDGET_NAME 64,1955 -struct ttusb ttusb70,2130 - struct ttusb_channel ttusb_channel116,3085 -#define DEBUG 136,3507 -static int ttusb_cmd(137,3523 -static int ttusb_result(190,4652 -static int ttusb_i2c_msg(197,4794 -static int ttusb_i2c_xfer(245,5729 -static int ttusb_boot_dsp(292,6604 -static int ttusb_set_channel(339,7391 -static int ttusb_del_channel(352,7674 -static int ttusb_set_filter(363,7906 -static int ttusb_del_filter(381,8432 -static int ttusb_init_controller(392,8643 -static int ttusb_send_diseqc(461,10601 -static int ttusb_update_lnb(484,11071 -static int ttusb_set_voltage(501,11444 -static int ttusb_set_tone(508,11603 -static int ttusb_lnb_ioctl(515,11741 -static void ttusb_set_led_freq(538,12252 -int numpkt 560,12841 -static void ttusb_process_muxpack(562,12902 -static void ttusb_process_frame(625,14593 -static void ttusb_iso_irq(749,17217 -static void ttusb_free_iso_urbs(793,18285 -static int ttusb_alloc_iso_urbs(807,18595 -static void ttusb_stop_iso_xfer(836,19144 -static int ttusb_start_iso_xfer(846,19313 -static void ttusb_handle_ts_data(898,20593 -static void ttusb_handle_sec_data(906,20814 -static struct ttusb_channel *ttusb_channel_allocate(915,21090 -static int ttusb_start_feed(936,21445 -static int ttusb_stop_feed(995,22606 -static int ttusb_setup_interfaces(1011,22968 -static u8 stc_firmware[1023,23251 -static int stc_open(1025,23282 -static ssize_t stc_read(1039,23582 -static int stc_release(1058,23871 -static struct file_operations stc_fops 1063,23950 -static int ttusb_probe(1071,24090 -static void ttusb_disconnect(1175,26992 -static struct usb_device_id ttusb_table[1200,27557 -static struct usb_driver ttusb_driver 1209,27769 -static int __init ttusb_init(1216,27966 -static void __exit ttusb_exit(1229,28172 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/bt8xx/dvb-bt8xx.h,46 -struct dvb_bt8xx_card dvb_bt8xx_card29,1111 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/bt8xx/dvb-bt8xx.c,1042 -# define I2C_DRIVERID_DVB_BT878A 42,1188 -#define dprintk 46,1251 -static int debug 52,1448 -static void dvb_bt8xx_task(54,1471 -static int dvb_bt8xx_start_feed(66,1929 -static int dvb_bt8xx_stop_feed(86,2290 -static int master_xfer 106,2631 -static int is_pci_slot_eq(123,2986 -static struct bt878 __init *dvb_bt8xx_878_match(133,3297 -static int __init dvb_bt8xx_card_match(145,3619 -static struct dvb_bt8xx_card *dvb_bt8xx_find_by_i2c_adap(182,4671 -static struct dvb_bt8xx_card *dvb_bt8xx_find_by_pci(196,5032 -static int dvb_bt8xx_attach(220,5637 -static void dvb_bt8xx_i2c_adap_free(240,6081 -static int dvb_bt8xx_detach(245,6174 -static struct i2c_driver dvb_bt8xx_driver 259,6485 -static void __init dvb_bt8xx_get_adaps(268,6778 -static void __exit dvb_bt8xx_exit_adaps(273,6864 -static int __init dvb_bt8xx_load_card(278,6951 -static int __init dvb_bt8xx_load_all(396,10581 -#define BT878_NEBULA 413,10922 -#define BT878_TWINHAN_DST 414,10948 -static int __init dvb_bt8xx_init(416,10980 -static void __exit dvb_bt8xx_exit(497,13154 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/bt8xx/bt878.c,1430 -unsigned int bt878_verbose 55,1734 -unsigned int bt878_debug 56,1766 -int bt878_num;64,2036 -struct bt878 bt878[65,2051 -#define btwrite(btwrite72,2190 -#define btread(btread73,2257 -#define btand(btand75,2315 -#define btor(btor76,2377 -#define btaor(btaor77,2439 -#define dprintk 82,2556 -static void bt878_mem_free(84,2596 -static int bt878_mem_alloc(99,2902 -#define RISC_WRITE 132,3468 -#define RISC_JUMP 133,3508 -#define RISC_SYNC 134,3548 -#define RISC_WR_SOL 137,3605 -#define RISC_WR_EOL 138,3642 -#define RISC_IRQ 139,3679 -#define RISC_STATUS(RISC_STATUS140,3716 -#define RISC_SYNC_RESYNC 141,3799 -#define RISC_SYNC_FM1 142,3836 -#define RISC_SYNC_VRO 143,3868 -#define RISC_FLUSH(RISC_FLUSH145,3901 -#define RISC_INSTR(RISC_INSTR146,3940 -static int bt878_make_risc(148,4018 -static void bt878_risc_program(168,4392 -void bt878_start(210,5525 -void bt878_stop(244,6435 -static irqreturn_t bt878_irq(272,6950 -bt878_device_control(347,9074 -struct bt878 *bt878_find_by_dvb_adap(389,10130 -static int __devinit bt878_probe(408,10609 -static void __devexit bt878_remove(510,13074 -static struct pci_device_id bt878_pci_tbl[550,14126 -static struct pci_device_id bt878_pci_tbl[] __devinitdata 550,14126 -static struct pci_driver bt878_pci_driver 558,14332 -static int bt878_pci_driver_registered 565,14499 -int bt878_find_audio_dma(569,14633 -int bt878_init_module(582,14899 -void bt878_cleanup_module(600,15390 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/dvb/bt8xx/bt878.h,1696 -#define _BT878_H_22,851 -#define BT878_VERSION_CODE 30,995 -#define BT878_AINT_STAT 32,1032 -#define BT878_ARISCS 33,1063 -#define BT878_ARISC_EN 34,1095 -#define BT878_ASCERR 35,1127 -#define BT878_AOCERR 36,1157 -#define BT878_APABORT 37,1187 -#define BT878_ARIPERR 38,1218 -#define BT878_APPERR 39,1249 -#define BT878_AFDSR 40,1279 -#define BT878_AFTRGT 41,1308 -#define BT878_AFBUS 42,1338 -#define BT878_ARISCI 43,1367 -#define BT878_AOFLOW 44,1397 -#define BT878_AINT_MASK 46,1427 -#define BT878_AGPIO_DMA_CTL 48,1459 -#define BT878_A_GAIN 49,1493 -#define BT878_A_G2X 50,1525 -#define BT878_A_PWRDN 51,1554 -#define BT878_A_SEL 52,1585 -#define BT878_DA_SCE 53,1614 -#define BT878_DA_LRI 54,1644 -#define BT878_DA_MLB 55,1674 -#define BT878_DA_LRD 56,1704 -#define BT878_DA_DPM 57,1737 -#define BT878_DA_SBR 58,1767 -#define BT878_DA_ES2 59,1797 -#define BT878_DA_LMT 60,1827 -#define BT878_DA_SDR 61,1857 -#define BT878_DA_IOM 62,1888 -#define BT878_DA_APP 63,1917 -#define BT878_ACAP_EN 64,1946 -#define BT878_PKTP 65,1976 -#define BT878_RISC_EN 66,2003 -#define BT878_FIFO_EN 67,2033 -#define BT878_APACK_LEN 69,2059 -#define BT878_AFP_LEN 70,2090 -#define BT878_ALP_LEN 71,2124 -#define BT878_ARISC_START 73,2154 -#define BT878_ARISC_PC 75,2187 -#define BT878_GPIO_DMA_CTL 78,2251 -#define BT878_INT_STAT 81,2310 -#define BT878_INT_MASK 82,2340 -#define BT878_I2CRACK 83,2370 -#define BT878_I2CDONE 84,2401 -#define BT878_MAX 86,2432 -#define BT878_RISC_SYNC_MASK 88,2453 -struct bt878 bt87893,2554 -extern __inline__ void io_st_le32(131,3325 -#define bmtwrite(bmtwrite138,3527 -#define bmtread(bmtread139,3590 -#define bmtwrite(bmtwrite141,3650 -#define bmtread(bmtread142,3707 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-maxiradio.c,1063 -#define DRIVER_VERSION 45,1196 -#define PCI_VENDOR_ID_GUILLEMOT 48,1259 -#define PCI_DEVICE_ID_GUILLEMOT_MAXIRADIO 52,1338 -static const int clk 57,1423 -static int radio_nr 59,1494 -#define FREQ_LO 63,1550 -#define FREQ_HI 64,1577 -#define FREQ_IF 66,1605 -#define FREQ_STEP 67,1655 -#define FREQ2BITS(FREQ2BITS69,1706 -#define BITS2FREQ(BITS2FREQ72,1831 -static struct file_operations maxiradio_fops 78,1993 -static struct video_device maxiradio_radio 85,2215 -static struct radio_deviceradio_device94,2423 -} radio_unit 104,2653 -static void outbit(107,2686 -static void turn_power(123,3058 -static void set_freq(129,3150 -static int get_stereo(156,3694 -static int get_tune(162,3788 -inline static int radio_function(169,3885 -static int radio_ioctl(262,5852 -static int __devinit maxiradio_init_one(280,6346 -static void __devexit maxiradio_remove_one(317,7406 -static struct pci_device_id maxiradio_pci_tbl[323,7593 -static struct pci_driver maxiradio_driver 331,7794 -int __init maxiradio_radio_init(338,7983 -void __exit maxiradio_radio_exit(343,8070 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-sf16fmi.c,937 -struct fmi_devicefmi_device29,988 -static int io 37,1126 -static int radio_nr 38,1147 -static struct pnp_dev *dev 39,1173 -static struct semaphore lock;40,1208 -#define RSF16_ENCODE(RSF16_ENCODE47,1463 -#define RSF16_MINFREQ 48,1501 -#define RSF16_MAXFREQ 49,1532 -static void outbits(51,1565 -static inline void fmi_mute(69,1822 -static inline void fmi_unmute(76,1910 -static inline int fmi_setfreq(83,2000 -static inline int fmi_getsigstr(98,2314 -static int fmi_do_ioctl(117,2678 -static int fmi_ioctl(215,4915 -static struct fmi_device fmi_unit;221,5086 -static struct file_operations fmi_fops 223,5122 -static struct video_device fmi_radio=231,5330 -static struct isapnp_device_id id_table[241,5573 -static struct isapnp_device_id id_table[] __devinitdata 241,5573 -static int isapnp_fmi_probe(249,5792 -static int __init fmi_init(279,6404 -static void __exit fmi_cleanup_module(319,7387 -static int __init fmi_setup_io(331,7606 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/miropcm20-rds-core.c,692 -#define DEBUG 26,736 -static struct semaphore aci_rds_sem;28,753 -#define RDS_DATASHIFT 30,791 -#define RDS_DATAMASK 31,838 -#define RDS_BUSYMASK 32,887 -#define RDS_CLOCKMASK 33,934 -#define RDS_DATA(RDS_DATA35,982 -static void print_matrix(39,1052 -static int byte2trans(56,1505 -static int rds_waitread(69,1757 -static inline void rds_rawwrite_nowait(94,2187 -static int rds_rawwrite(103,2360 -static int rds_write(112,2499 -static int rds_readcycle_nowait(127,2724 -static int rds_readcycle(133,2816 -static int rds_read(140,2915 - #define READSIZE 142,2979 -static int rds_ack(166,3390 -int aci_rds_cmd(180,3596 -int __init attach_aci_rds(201,3975 -void __exit unload_aci_rds(207,4050 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/miropcm20-radio.c,501 -static int radio_nr 28,939 -struct pcm20_device pcm20_device31,994 -static int pcm20_mute(38,1067 -static int pcm20_stereo(44,1208 -static int pcm20_setfreq(50,1359 -static int pcm20_getflags(70,1794 -static int pcm20_do_ioctl(124,2850 -static int pcm20_ioctl(213,4695 -static struct pcm20_device pcm20_unit 219,4872 -static struct file_operations pcm20_fops 224,4953 -static struct video_device pcm20_radio 232,5165 -static int __init pcm20_init(241,5381 -static void __exit pcm20_cleanup(263,5857 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-zoltrix.c,658 -#define CONFIG_RADIO_ZOLTRIX_PORT 39,1490 -static int io 42,1535 -static int radio_nr 43,1578 -struct zol_device zol_device45,1605 -static void sleep_delay(57,1756 -static int zol_setvol(63,1838 -static void zol_mute(85,2192 -static void zol_unmute(95,2390 -static int zol_setfreq(101,2490 -int zol_getsigstr(172,3711 -int zol_is_stereo 197,4171 -static int zol_do_ioctl(219,4450 -static int zol_ioctl(313,6446 -static struct zol_device zoltrix_unit;319,6617 -static struct file_operations zoltrix_fops 321,6657 -static struct video_device zoltrix_radio 330,6869 -static int __init zoltrix_init(339,7069 -static void __exit zoltrix_cleanup_module(389,8206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/miropcm20-rds-core.h,283 -#define _MIROPCM20_RDS_CORE_H_2,31 -#define RDS_STATUS 6,149 -#define RDS_STATIONNAME 7,178 -#define RDS_TEXT 8,207 -#define RDS_ALTFREQ 9,236 -#define RDS_TIMEDATE 10,265 -#define RDS_PI_CODE 11,294 -#define RDS_PTYTATP 12,323 -#define RDS_RESET 13,352 -#define RDS_RXVALUE 14,381 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-cadet.c,1388 -#define RDS_BUFFER 40,1254 -static int io=42,1278 -static int radio_nr 43,1332 -static int users=44,1358 -static int curtuner=45,1378 -static int tunestat=46,1401 -static int sigstrength=47,1424 -static wait_queue_head_t read_queue;48,1450 -struct timer_list tunertimer,49,1487 -struct timer_list tunertimer,rdstimer,49,1487 -struct timer_list tunertimer,rdstimer,readtimer;49,1487 -static __u8 rdsin=50,1536 -static unsigned char rdsbuf[51,1576 -static spinlock_t cadet_io_lock;52,1617 -static __u16 sigtable[61,1876 -static int cadet_getrds(63,1938 -static int cadet_getstereo(86,2483 -static unsigned cadet_gettune(100,2807 -static unsigned cadet_getfreq(137,3603 -static void cadet_settune(169,4349 -static void cadet_setfreq(197,5088 -static int cadet_getvol(257,6499 -static void cadet_setvol(272,6770 -void cadet_handler(283,7028 -static ssize_t cadet_read(324,7837 -static int cadet_do_ioctl(356,8600 -static int cadet_ioctl(463,10966 -static int cadet_open(469,11143 -static int cadet_release(478,11294 -static struct file_operations cadet_fops 487,11427 -static struct video_device cadet_radio=496,11632 -static struct pnp_device_id cadet_pnp_devices[505,11818 -static int cadet_pnp_probe(513,12004 -static struct pnp_driver cadet_pnp_driver 532,12341 -static int cadet_probe(539,12494 -static int __init cadet_init(563,13010 -static void __exit cadet_cleanup_module(611,14139 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/miropcm20-rds.c,388 -static char * text_buffer;21,518 -static int rds_users 22,545 -static int rds_f_open(25,573 -static int rds_f_release(40,845 -static void print_matrix(48,957 -static ssize_t rds_f_read(57,1092 -static struct file_operations rds_fops 107,2306 -static struct miscdevice rds_miscdev 114,2447 -static int __init miropcm20_rds_init(121,2603 -static void __exit miropcm20_rds_cleanup(126,2688 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-maestro.c,1108 -#define DRIVER_VERSION 30,907 -#define PCI_VENDOR_ESS 32,938 -#define PCI_DEVICE_ID_ESS_ESS1968 33,985 -#define PCI_DEVICE_ID_ESS_ESS1978 34,1060 -#define GPIO_DATA 36,1136 -#define IO_MASK 38,1203 -#define IO_DIR 40,1311 -#define GPIO6 43,1416 -#define GPIO7 44,1478 -#define GPIO8 45,1509 -#define GPIO9 46,1540 -#define STR_DATA 48,1572 -#define STR_CLK 49,1642 -#define STR_WREN 50,1672 -#define STR_MOST 51,1702 -#define FREQ_LO 53,1733 -#define FREQ_HI 54,1760 -#define FREQ_IF 56,1788 -#define FREQ_STEP 57,1838 -#define FREQ2BITS(FREQ2BITS59,1889 -#define BITS2FREQ(BITS2FREQ62,2013 -static int radio_nr 64,2063 -static struct file_operations maestro_fops 70,2229 -static struct video_device maestro_radio=78,2443 -static struct radio_deviceradio_device87,2636 -} radio_unit 94,2864 -static __u32 radio_bits_get(96,2896 -static void radio_bits_set(130,3593 -inline static int radio_function(157,4289 -static int radio_ioctl(240,6239 -void __exit maestro_radio_exit(259,6762 -int __init maestro_radio_init(264,6846 -inline static __u16 radio_power_on(286,7409 -static __u16 radio_install(307,8073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-rtrack2.c,640 -#define CONFIG_RADIO_RTRACK2_PORT 22,792 -static int io 25,837 -static int radio_nr 26,881 -static spinlock_t lock;27,907 -struct rt_devicert_device29,932 -static void rt_mute(39,1023 -static void rt_unmute(49,1175 -static void zero(59,1327 -static void one(66,1410 -static int rt_setfreq(73,1492 -static int rt_getsigstr(102,1885 -static int rt_do_ioctl(109,2035 -static int rt_ioctl(189,3564 -static struct rt_device rtrack2_unit;195,3732 -static struct file_operations rtrack2_fops 197,3771 -static struct video_device rtrack2_radio=205,3982 -static int __init rtrack2_init(214,4182 -static void __exit rtrack2_cleanup_module(253,5051 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-aimslab.c,743 -#define CONFIG_RADIO_RTRACK_PORT 41,1517 -static int io 44,1561 -static int radio_nr 45,1604 -static struct semaphore lock;46,1630 -struct rt_devicert_device48,1661 -static void sleep_delay(59,1765 -static void rt_decvol(69,1914 -static void rt_incvol(76,2071 -static void rt_mute(83,2226 -static int rt_setvol(91,2362 -void send_0_byte(133,3347 -void send_1_byte(146,3697 -static int rt_setfreq(160,4051 -static int rt_getsigstr(204,5311 -static int rt_do_ioctl(211,5461 -static int rt_ioctl(289,7032 -static struct rt_device rtrack_unit;295,7200 -static struct file_operations rtrack_fops 297,7238 -static struct video_device rtrack_radio=305,7455 -static int __init rtrack_init(314,7649 -static void __exit cleanup_rtrack_module(360,8748 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-sf16fmr2.c,992 -static struct semaphore lock;24,875 -# define debug_print(debug_print30,951 -# define debug_print(debug_print32,991 -struct fmr2_devicefmr2_device36,1073 -static int io 47,1295 -static int radio_nr 48,1318 -#define RSF16_ENCODE(RSF16_ENCODE54,1478 -#define RSF16_MINFREQ 55,1516 -#define RSF16_MAXFREQ 56,1547 -static inline void wait(58,1580 -static void outbits(63,1650 -static inline void fmr2_mute(77,1900 -static inline void fmr2_unmute(83,1978 -static inline int fmr2_stereo_mode(89,2058 -static int fmr2_product_info(99,2231 -static inline int fmr2_getsigstr(114,2495 -static int fmr2_setfreq(126,2790 -static int fmr2_setvolume(152,3301 -static int fmr2_do_ioctl(204,4328 -static int fmr2_ioctl(346,7736 -static struct fmr2_device fmr2_unit;352,7925 -static struct file_operations fmr2_fops 354,7963 -static struct video_device fmr2_radio=362,8189 -static int __init fmr2_init(371,8371 -static void __exit fmr2_cleanup_module(415,9509 -static int __init fmr2_setup_io(426,9696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-trust.c,1089 -#define CONFIG_RADIO_TRUST_PORT 30,876 -static int io 33,919 -static int radio_nr 34,961 -static int ioval 35,987 -static __u16 curvol;36,1011 -static __u16 curbass;37,1032 -static __u16 curtreble;38,1054 -static unsigned long curfreq;39,1078 -static int curstereo;40,1108 -static int curmute;41,1130 -#define TDA7318_ADDR 44,1171 -#define TSA6060T_ADDR 45,1197 -#define TR_DELAY 47,1225 -#define TR_SET_SCL 48,1285 -#define TR_CLR_SCL 49,1325 -#define TR_SET_SDA 50,1368 -#define TR_CLR_SDA 51,1408 -static void write_i2c(53,1452 -static void tr_setvol(99,2062 -static int basstreble2chip[105,2166 -static void tr_setbass(109,2255 -static void tr_settreble(115,2381 -static void tr_setstereo(121,2517 -static void tr_setmute(128,2645 -static int tr_getsigstr(135,2762 -static int tr_getstereo(143,2886 -static void tr_setfreq(149,3003 -static int tr_do_ioctl(157,3205 -static int tr_ioctl(247,4960 -static struct file_operations trust_fops 253,5128 -static struct video_device trust_radio=261,5337 -static int __init trust_init(270,5526 -static void __exit cleanup_trust_module(313,6795 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-typhoon.c,928 -#define BANNER 41,1755 -#define CONFIG_RADIO_TYPHOON_PORT 44,1840 -#define CONFIG_RADIO_TYPHOON_MUTEFREQ 48,1923 -struct typhoon_device typhoon_device55,2038 -static void typhoon_setvol_generic(78,2841 -static int typhoon_setfreq_generic(88,3137 -static int typhoon_setfreq(120,3898 -static void typhoon_mute(127,4063 -static void typhoon_unmute(136,4249 -static int typhoon_setvol(145,4446 -static int typhoon_do_ioctl(166,4890 -static int typhoon_ioctl(246,6655 -static struct typhoon_device typhoon_unit 252,6831 -static struct file_operations typhoon_fops 259,7007 -static struct video_device typhoon_radio 267,7223 -static int typhoon_get_info(278,7455 - #define MODULEPROCSTRING 283,7567 - #define MODULEPROCSTRING 285,7632 -static int io 314,8621 -static int radio_nr 315,8641 -static unsigned long mutefreq 318,8682 -static int __init typhoon_init(321,8725 -static void __exit typhoon_cleanup_module(370,10173 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-aztech.c,725 -#define CONFIG_RADIO_AZTECH_PORT 39,1413 -static int io 42,1457 -static int radio_nr 43,1500 -static int radio_wait_time 44,1526 -static struct semaphore lock;45,1561 -struct az_deviceaz_device47,1592 -static int volconvert(54,1665 -static void send_0_byte 74,1948 -static void send_1_byte 81,2110 -static int az_setvol(88,2281 -static int az_getsigstr(104,2650 -static int az_getstereo(111,2799 -static int az_setfreq(118,2928 -static int az_do_ioctl(160,4035 -static int az_ioctl(246,5782 -static struct az_device aztech_unit;252,5950 -static struct file_operations aztech_fops 254,5988 -static struct video_device aztech_radio=262,6198 -static int __init aztech_init(271,6388 -static void __exit aztech_cleanup(308,7293 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-gemtek.c,661 -#define CONFIG_RADIO_GEMTEK_PORT 29,1057 -static int io 32,1101 -static int radio_nr 33,1144 -static spinlock_t lock;34,1170 -struct gemtek_devicegemtek_device36,1195 -static void gemtek_mute(49,1437 -static void gemtek_unmute(59,1600 -static void zero(69,1763 -static void one(77,1853 -static int gemtek_setfreq(85,1942 -int gemtek_getsigstr(130,2616 -static int gemtek_do_ioctl(141,2829 -static int gemtek_ioctl(223,4473 -static struct gemtek_device gemtek_unit;229,4646 -static struct file_operations gemtek_fops 231,4688 -static struct video_device gemtek_radio=239,4902 -static int __init gemtek_init(248,5092 -static void __exit gemtek_cleanup(291,6171 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-terratec.c,849 -#define CONFIG_RADIO_TERRATEC_PORT 37,1419 -#define BASEPORT 41,1538 -#define VOLPORT 42,1562 -#define WRT_DIS 43,1585 -#define CLK_OFF 44,1607 -#define IIC_DATA 45,1629 -#define IIC_CLK 46,1651 -#define DATA 47,1673 -#define CLK_ON 48,1692 -#define WRT_EN 49,1714 -static int io 52,1806 -static int radio_nr 53,1851 -static spinlock_t lock;54,1877 -struct tt_devicett_device56,1902 -static void cardWriteVol(67,2006 -static void tt_mute(83,2257 -static int tt_setvol(89,2340 -static int tt_setfreq(123,3032 -int tt_getsigstr(178,4049 -static int tt_do_ioctl(188,4242 -static int tt_ioctl(266,5814 -static struct tt_device terratec_unit;272,5982 -static struct file_operations terratec_fops 274,6022 -static struct video_device terratec_radio=282,6234 -static int __init terratec_init(291,6438 -static void __exit terratec_cleanup_module(332,7414 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/radio/radio-gemtek-pci.c,1328 -#define PCI_VENDOR_ID_GEMTEK 53,1882 -#define PCI_DEVICE_ID_GEMTEK_PR103 57,1961 -#define GEMTEK_PCI_RANGE_LOW 61,2040 -#define GEMTEK_PCI_RANGE_HIGH 65,2118 -#define TRUE 69,2181 -#define FALSE 73,2221 -struct gemtek_pci_card gemtek_pci_card76,2247 -static const char rcsid[88,2399 -static int nr_radio 90,2495 -static inline u8 gemtek_pci_out(92,2522 -#define _b0(_b099,2624 -static void __gemtek_pci_cmd(100,2655 -static inline void gemtek_pci_nil(123,3044 -static inline void gemtek_pci_cmd(128,3161 -static void gemtek_pci_setfrequency(133,3285 -static inline void gemtek_pci_mute(160,3771 -static inline void gemtek_pci_unmute(166,3892 -static inline unsigned int gemtek_pci_getsignal(174,4072 -static int gemtek_pci_do_ioctl(179,4205 -static int gemtek_pci_ioctl(274,5973 - GEMTEK_PR103281,6165 -static char *card_names[284,6183 -static char *card_names[] __devinitdata 284,6183 -static struct pci_device_id gemtek_pci_id[288,6247 -static u8 mx 297,6452 -static struct file_operations gemtek_pci_fops 299,6471 -static struct video_device vdev_template 307,6693 -static int __devinit gemtek_pci_probe(315,6920 -static void __devexit gemtek_pci_remove(370,8453 -static struct pci_driver gemtek_pci_driver 387,8798 -static int __init gemtek_pci_init_module(395,8974 -static void __exit gemtek_pci_cleanup_module(400,9075 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_vbi.c,627 -static int vbi_pixel_to_capture 3,31 -static int vbi_workaround(5,75 -void saa7146_set_vbi_capture(133,3995 -static int buffer_activate(202,6253 -static int buffer_prepare(216,6606 -static int buffer_setup(267,7801 -static void buffer_queue(282,8081 -static void buffer_release(293,8402 -static struct videobuf_queue_ops vbi_qops 303,8673 -static void vbi_stop(312,8925 -static void vbi_read_timeout(344,9613 -static void vbi_init(355,9852 -static int vbi_open(369,10208 -static void vbi_close(431,11945 -static void vbi_irq_done(443,12260 -static ssize_t vbi_read(462,12772 -struct saa7146_use_ops saa7146_vbi_uops 496,13957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_video.c,1314 -static int max_memory 3,31 -#define IS_CAPTURE_ACTIVE(IS_CAPTURE_ACTIVE8,180 -#define IS_OVERLAY_ACTIVE(IS_OVERLAY_ACTIVE11,283 -static struct saa7146_format formats[15,436 -static int NUM_FORMATS 77,2044 -struct saa7146_format* format_by_fourcc(79,2117 -static int g_fmt(93,2398 -static int try_win(116,2871 -static int try_fmt(173,4195 -int saa7146_start_preview(255,6218 -int saa7146_stop_preview(315,7694 -static int s_fmt(349,8405 -static struct v4l2_queryctrl controls[404,9874 -static int NUM_CONTROLS 443,10670 -#define V4L2_CID_PRIVATE_LASTP1 445,10745 -static struct v4l2_queryctrl* ctrl_by_id(447,10811 -static int get_control(457,10975 -static int set_control(499,11974 -static int saa7146_pgtable_build(585,13967 -static int video_begin(703,16984 -static int video_end(764,18521 -int saa7146_video_do_ioctl(827,19979 -static int buffer_activate 1230,29483 -static int buffer_prepare(1243,29784 -static int buffer_setup(1325,32193 -static void buffer_queue(1344,32679 -static void buffer_release(1356,33009 -static struct videobuf_queue_ops video_qops 1366,33280 -static void video_init(1376,33566 -static int video_open(1394,34085 -static void video_close(1419,34804 -static void video_irq_done(1436,35208 -static ssize_t video_read(1453,35597 -struct saa7146_use_ops saa7146_video_uops 1493,36503 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_core.c,877 -struct list_head saa7146_devices;24,883 -struct semaphore saa7146_devices_lock;25,917 -static int initialized 27,957 -int saa7146_num 28,985 -unsigned int saa7146_debug 30,1007 -static void dump_registers(36,1140 -void saa7146_set_gpio(52,1575 -int saa7146_wait_for_debi_done(70,1957 -static struct scatterlist* vmalloc_to_sg(107,3001 -#define SAA7146_PGTABLE_SIZE 136,3676 -char *saa7146_vmalloc_build_pgtable(138,3711 -void saa7146_pgtable_free(168,4302 -int saa7146_pgtable_alloc(180,4555 -int saa7146_pgtable_build_single(196,4887 -void saa7146_setgpio(245,5979 -static irqreturn_t interrupt_hw(258,6327 -static int saa7146_init_one(325,8263 -static void saa7146_remove_one(487,12633 -int saa7146_register_extension(519,13647 -int saa7146_unregister_extension(538,14112 -static int __init saa7146_init_module(546,14317 -static void __exit saa7146_cleanup_module(556,14498 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_hlp.c,1197 -static void calculate_output_format_register(4,57 -static void calculate_bcs_ctrl_register(12,363 -static void calculate_hps_source_and_sync(17,561 -static void calculate_hxo_and_hyo(23,761 -} hps_h_coeff_tab 48,1458 -u8 h_attenuation[65,2389 -static int calculate_h_scale_registers(68,2485 -} hps_v_coeff_tab 194,5288 -u16 v_attenuation[211,6396 -static int calculate_v_scale_registers(214,6497 -static int sort_and_eliminate(310,8756 -static void calculate_clipping_registers_rect(342,9447 -static void saa7146_disable_clipping(472,12599 -static void saa7146_set_clipping_rect(487,12987 -static void saa7146_set_window(527,14262 -static void saa7146_set_position(563,15665 -static void saa7146_set_output_format(610,17111 -void saa7146_set_picture_prop(622,17487 -void saa7146_set_hps_source_and_sync(635,17840 -int saa7146_enable_overlay(654,18335 -void saa7146_disable_overlay(669,18823 -void saa7146_write_out_dma(678,19024 -static int calculate_video_dma_grab_packed(707,20040 -static int calc_planar_422(770,21807 -static int calc_planar_420(802,22806 -static int calculate_video_dma_grab_planar(832,23766 -static void program_capture_engine(937,26627 -void saa7146_set_capture(1004,28954 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_i2c.c,409 -u32 saa7146_i2c_func(4,58 -static inline u32 saa7146_i2c_status(15,395 -static int saa7146_i2c_msg_prepare(28,813 -static int saa7146_i2c_msg_cleanup(92,2769 -static int saa7146_i2c_reset(114,3282 -static int saa7146_i2c_writeout(178,5390 -int saa7146_i2c_transfer(275,8013 -static int saa7146_i2c_xfer(375,10995 -static struct i2c_algorithm saa7146_algo 389,11469 -int saa7146_i2c_adapter_prepare(396,11649 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_vv_ksyms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/ir-common.c,328 -static int repeat 31,1106 -static int debug 35,1221 -#define dprintk(dprintk38,1297 -IR_KEYTAB_TYPE ir_codes_rc5_tv[45,1607 -IR_KEYTAB_TYPE ir_codes_empty[118,4871 -static void ir_input_key_event(125,5064 -void ir_input_init(140,5573 -void ir_input_nokey(162,6122 -void ir_input_keydown(170,6275 -u32 ir_extract_bits(192,6793 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/media/common/saa7146_fops.c,934 -#define BOARD_CAN_DO_VBI(BOARD_CAN_DO_VBI3,31 -int saa7146_res_get(8,275 -int saa7146_res_check(35,946 -int saa7146_res_locked(40,1045 -void saa7146_res_free(46,1186 -void saa7146_dma_free(65,1639 -int saa7146_buffer_queue(82,2051 -void saa7146_buffer_finish(108,2678 -void saa7146_buffer_next(136,3270 -void saa7146_buffer_timeout(192,5072 -static int fops_open(221,5990 -static int fops_release(307,7890 -static int fops_ioctl(333,8508 -static int fops_mmap(341,8762 -static unsigned int fops_poll(364,9279 -static ssize_t fops_read(399,10139 -static struct file_operations video_fops 419,10752 -void vv_callback(431,10981 -static struct video_device device_template 455,11565 -int saa7146_vv_init(462,11689 -int saa7146_vv_release(504,12784 -int saa7146_register_device(518,13081 -int saa7146_unregister_device(545,13858 -static int __init saa7146_vv_init_module(561,14154 -static void __exit saa7146_vv_cleanup_module(567,14218 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/names.c,554 -struct zorro_prod_info zorro_prod_info21,370 -struct zorro_manuf_info zorro_manuf_info27,453 -#define MANUF(MANUF40,749 -#define ENDMANUF(ENDMANUF41,831 -#define PRODUCT(PRODUCT42,850 -#define MANUF(MANUF46,968 -#define ENDMANUF(ENDMANUF47,1061 -#define PRODUCT(PRODUCT48,1085 -static struct zorro_manuf_info __initdata zorro_manuf_list[51,1186 -#define MANUF(MANUF52,1251 -#define ENDMANUF(ENDMANUF53,1391 -#define PRODUCT(PRODUCT54,1410 -#define MANUFS 58,1472 -void __init zorro_name_device(60,1547 -void __init zorro_name_device(105,2516 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/zorro-sysfs.c,236 -#define zorro_config_attr(zorro_config_attr22,446 -static ssize_t zorro_show_resource(39,1029 -static ssize_t zorro_read_config(50,1352 -static struct bin_attribute zorro_config_attr 75,1958 -void zorro_create_sysfs_dev_files(85,2162 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/zorro.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/proc.c,306 -proc_bus_zorro_lseek(23,517 -proc_bus_zorro_read(48,929 -static struct file_operations proc_bus_zorro_operations 78,1719 -get_zorro_dev_info(84,1859 -static struct proc_dir_entry *proc_bus_zorro_dir;108,2440 -static int __init zorro_proc_attach_device(110,2491 -static int __init zorro_proc_init(125,2853 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/zorro.c,298 -u_int zorro_num_autocon 29,600 -struct zorro_dev zorro_autocon[30,629 -struct zorro_bus zorro_bus 37,720 -struct zorro_dev *zorro_find_device(54,1214 -static void __init mark_region(88,2092 -static struct resource __init *zorro_find_parent_resource(113,2706 -static int __init zorro_init(129,3076 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/gen-devlist.c,54 -#define MAX_NAME_SIZE 14,229 -pq(17,267 -main(29,391 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/zorro/zorro-driver.c,263 -zorro_match_device(30,900 -static int zorro_device_probe(42,1105 -int zorro_register_driver(73,1887 -void zorro_unregister_driver(98,2582 -static int zorro_bus_match(115,3157 -struct bus_type zorro_bus_type 133,3526 -static int __init zorro_driver_init(139,3610 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/eisa/virtual_root.c,303 -#define EISA_FORCE_PROBE_DEFAULT 19,461 -#define EISA_FORCE_PROBE_DEFAULT 21,502 -static int force_probe 24,545 -static struct platform_device eisa_root_dev 30,773 -static struct eisa_root_device eisa_bus_root 38,904 -static void virtual_eisa_release 46,1112 -static int virtual_eisa_root_init 51,1204 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/eisa/eisa-bus.c,1163 -#define SLOT_ADDRESS(SLOT_ADDRESS19,390 -#define EISA_DEVINFO(EISA_DEVINFO21,451 -struct eisa_device_info eisa_device_info23,512 -static struct eisa_device_info __initdata eisa_table[29,624 -#define EISA_INFOS 32,707 -#define EISA_MAX_FORCED_DEV 35,793 -static int enable_dev[37,825 -static int enable_dev_count;38,869 -static int disable_dev[39,898 -static int disable_dev_count;40,943 -static int is_forced_dev 42,974 -static void __init eisa_name_device 58,1256 -static char __init *decode_eisa_sig(76,1642 -static int eisa_bus_match 109,2425 -struct bus_type eisa_bus_type 131,2887 -int eisa_driver_register 136,2969 -void eisa_driver_unregister 147,3144 -static ssize_t eisa_show_sig 152,3240 -static ssize_t eisa_show_state 160,3476 -static int __init eisa_init_device 168,3735 -static int __init eisa_register_device 210,4954 -static int __init eisa_request_resources 221,5194 -static void __init eisa_release_resources 264,6245 -static int __init eisa_probe 273,6453 -static struct resource eisa_root_res 376,8713 -static int eisa_bus_count;383,8850 -int __init eisa_root_register 385,8878 -static int __init eisa_init 410,9554 -int EISA_bus;426,9872 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/eisa/pci_eisa.c,248 -static struct eisa_root_device pci_eisa_root;20,490 -static int __devinit pci_eisa_init 22,537 -static struct pci_device_id pci_eisa_pci_tbl[48,1237 -static struct pci_driver pci_eisa_driver 54,1397 -static int __init pci_eisa_init_module 60,1525 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/vt_ioctl.c,642 -char vt_dont_switch;36,932 -#define VT_IS_IN_USE(VT_IS_IN_USE39,996 -#define VT_BUSY(VT_BUSY40,1080 -struct vt_struct *vt_cons[55,1798 -unsigned char keyboard_type 60,1928 -#define GPFIRST 70,2118 -#define GPLAST 71,2140 -#define GPNUM 72,2161 -#define i 74,2199 -#define s 75,2224 -#define v 76,2249 -do_kdsk_ioctl(78,2292 -do_kbkeycode_ioctl(163,4196 -do_kdgkb_ioctl(186,4669 -do_fontx_ioctl(296,7252 -do_unimap_ioctl(336,8240 -int vt_ioctl(365,9002 -int vt_waitactive(1034,24027 -#define vt_wake_waitactive(vt_wake_waitactive1055,24424 -void reset_vc(1057,24482 -void complete_change_console(1075,25041 -void change_console(1154,27318 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/n_hdlc.c,1922 -#define HDLC_MAGIC 81,3642 -#define HDLC_VERSION 82,3668 -#define VERSION(VERSION95,3957 -#define MAX_HDLC_FRAME_SIZE 115,4453 -#define DEFAULT_RX_BUF_COUNT 116,4488 -#define MAX_RX_BUF_COUNT 117,4520 -#define DEFAULT_TX_BUF_COUNT 118,4548 -struct n_hdlc_buf n_hdlc_buf120,4580 -#define N_HDLC_BUF_SIZE 126,4662 -struct n_hdlc_buf_list n_hdlc_buf_list128,4726 -struct n_hdlc n_hdlc149,5418 -#define DEBUG_LEVEL_INFO 176,6143 -static int debuglevel;177,6170 -static ssize_t maxframe 180,6238 -#define bset(bset199,7059 -#define tty2n_hdlc(tty2n_hdlc201,7117 -#define n_hdlc2tty(n_hdlc2tty202,7180 -static struct tty_ldisc n_hdlc_ldisc 204,7224 -static void n_hdlc_release(223,7756 -static void n_hdlc_tty_close(280,9036 -static int n_hdlc_tty_open 318,10011 -static void n_hdlc_send_frames(371,11431 -static void n_hdlc_tty_wakeup(462,13963 -static int n_hdlc_tty_room(488,14643 -static void n_hdlc_tty_receive(507,15288 -static ssize_t n_hdlc_tty_read(574,17252 -static ssize_t n_hdlc_tty_write(651,19216 -static int n_hdlc_tty_ioctl(732,21239 -static unsigned int n_hdlc_tty_poll(791,22987 -static struct n_hdlc *n_hdlc_alloc(825,24050 -static void n_hdlc_buf_list_init(871,25340 -static void n_hdlc_buf_put(882,25653 -static struct n_hdlc_buf* n_hdlc_buf_get(908,26285 -static char hdlc_banner[927,26666 -static char hdlc_banner[] __initdata 927,26666 -static char hdlc_register_ok[930,26782 -static char hdlc_register_ok[] __initdata 930,26782 -static char hdlc_register_fail[932,26877 -static char hdlc_register_fail[] __initdata 932,26877 -static char hdlc_init_fail[934,26976 -static char hdlc_init_fail[] __initdata 934,26976 -static int __init n_hdlc_init(937,27059 -static char hdlc_unregister_ok[961,27501 -static char hdlc_unregister_ok[] __exitdata 961,27501 -static char hdlc_unregister_fail[963,27600 -static char hdlc_unregister_fail[] __exitdata 963,27600 -static void __exit n_hdlc_exit(966,27716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/riscom8.c,3007 -#define RISCOM_PARANOIA_CHECK55,1820 -#define RISCOM_BRAIN_DAMAGED_CTS63,2059 -#define RISCOM_LEGAL_FLAGS 73,2289 -#define RS_EVENT_WRITE_WAKEUP 78,2503 -static struct riscom_board * IRQ_to_board[80,2536 -static struct tty_driver *riscom_driver;81,2583 -static unsigned char * tmp_buf;82,2624 -static unsigned long baud_table[85,2692 -static struct riscom_board rc_board[90,2840 -static struct riscom_port rc_port[105,3012 -static unsigned short rc_ioport[108,3135 -#define RC_NIOPORT 117,3480 -static inline int rc_paranoia_check(120,3544 -static inline int board_No 148,4161 -static inline int port_No 154,4284 -static inline struct riscom_board * port_Board(160,4431 -static inline unsigned char rc_in(166,4601 -static inline void rc_out(172,4771 -static inline void rc_wait_CCR(179,4963 -static inline int rc_request_io_range(195,5303 -static inline void rc_release_io_range(213,5745 -static inline void rc_long_delay(222,5970 -static void __init rc_init_CD180(230,6136 -static int __init rc_probe(255,7190 -static inline void rc_mark_event(327,9114 -static inline struct riscom_port * rc_get_port(333,9252 -static inline void rc_receive_exc(351,9744 -static inline void rc_receive(416,11329 -static inline void rc_transmit(447,12016 -static inline void rc_check_modem(516,13732 -static irqreturn_t rc_interrupt(567,14948 -static inline int rc_setup_board(634,16564 -static inline void rc_shutdown_board(657,17060 -static void rc_change_speed(676,17438 -static int rc_setup_port(842,21715 -static void rc_shutdown_port(880,22492 -static int block_til_ready(943,23882 -static int rc_open(1029,25978 -static void rc_close(1061,26659 -static int rc_write(1143,28986 -static void rc_put_char(1222,30753 -static void rc_flush_chars(1244,31240 -static int rc_write_room(1263,31736 -static int rc_chars_in_buffer(1277,32029 -static void rc_flush_buffer(1287,32262 -static int rc_tiocmget(1303,32654 -static int rc_tiocmset(1328,33410 -static inline void rc_send_break(1358,34131 -static inline int rc_set_serial_info(1376,34620 -static inline int rc_get_serial_info(1423,35941 -static int rc_ioctl(1442,36536 -static void rc_throttle(1488,37753 -static void rc_unthrottle(1511,38273 -static void rc_stop(1534,38796 -static void rc_start(1552,39207 -static void do_rc_hangup(1581,39963 -static void rc_hangup(1591,40188 -static void rc_set_termios(1609,40595 -static void do_softint(1632,41185 -static struct tty_operations riscom_ops 1646,41482 -static inline int rc_init_drivers(1666,41971 -static void rc_release_drivers(1715,43492 -static int __init riscom8_setup(1737,43962 -static char banner[1756,44269 -static char banner[] __initdata 1756,44269 -static char no_boards_msg[1759,44390 -static char no_boards_msg[] __initdata 1759,44390 -static int __init riscom8_init(1765,44544 -static int iobase;1788,44879 -static int iobase1;1789,44898 -static int iobase2;1790,44918 -static int iobase3;1791,44938 -static int __init riscom8_init_module 1805,45252 -static void __exit riscom8_exit_module 1828,45655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/snsc.c,351 -#define SYSCTL_BASENAME 31,793 -#define SCDRV_BUFSZ 33,825 -#define SCDRV_TIMEOUT 34,850 -scdrv_interrupt(37,897 -scdrv_open(70,1618 -scdrv_release(128,3001 -read_status_check(151,3416 -scdrv_read(157,3560 -write_status_check(243,5589 -scdrv_write(249,5737 -scdrv_poll(323,7583 -static struct file_operations scdrv_fops 351,8251 -scdrv_init(367,8560 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ser_a2232.c,1338 -#define A2232_SUPPRESS_RTSCTS_WARNING82,3299 -static struct real_driver a2232_real_driver 146,5680 -static void *a2232_driver_ID 160,6063 -static struct a2232_port a2232_ports[163,6164 -static struct tty_driver *a2232_driver;166,6255 -static int nr_a2232;169,6362 -static struct zorro_dev *zd_a2232[172,6425 -static inline volatile struct a2232memory *a2232mem(177,6575 -static inline volatile struct a2232status *a2232stat(182,6736 -static inline void a2232_receive_char(189,6941 -static void a2232_disable_tx_interrupts(223,7632 -static void a2232_enable_tx_interrupts(239,8003 -static void a2232_disable_rx_interrupts(255,8369 -static void a2232_enable_rx_interrupts(262,8488 -static int a2232_get_CD(269,8605 -static void a2232_shutdown_port(274,8694 -static int a2232_set_real_termios(307,9681 -static int a2232_chars_in_buffer(427,13280 -static void a2232_close(441,13669 -static void a2232_hungup(448,13832 -static int a2232_ioctl(455,13991 -static void a2232_throttle(461,14125 -static void a2232_unthrottle(473,14574 -static int a2232_open(480,14772 -static irqreturn_t a2232_vbl_inter(512,15383 -static void a2232_init_portstructs(647,20441 -static struct tty_operations a2232_ops 669,21040 -static int a2232_init_drivers(687,21487 -static int __init a2232board_init(714,22298 -static void __exit a2232board_exit(807,24889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mxser.c,4792 -#define MXSER_VERSION 69,2315 -#define MXSERMAJOR 71,2349 -#define MXSERCUMAJOR 72,2375 -#define MXSER_EVENT_TXLOW 75,2404 -#define MXSER_EVENT_HANGUP 76,2433 -#define SERIAL_DO_RESTART79,2465 -#define MXSER_BOARDS 81,2493 -#define MXSER_PORTS 82,2536 -#define MXSER_PORTS_PER_BOARD 83,2578 -#define MXSER_ISR_PASS_LIMIT 84,2638 -#define MXSER_ERR_IOADDR 86,2673 -#define MXSER_ERR_IRQ 87,2702 -#define MXSER_ERR_IRQ_CONFLIT 88,2729 -#define MXSER_ERR_VECTOR 89,2763 -#define SERIAL_TYPE_NORMAL 91,2793 -#define WAKEUP_CHARS 93,2824 -#define UART_MCR_AFE 95,2852 -#define UART_LSR_SPECIAL 96,2880 -#define PORTNO(PORTNO98,2912 -#define RELEVANT_IFLAG(RELEVANT_IFLAG100,2945 -#define IRQ_T(IRQ_T102,3022 -#define PCI_VENDOR_ID_MOXA 109,3187 -#define PCI_DEVICE_ID_C168 112,3255 -#define PCI_DEVICE_ID_C104 115,3323 -#define PCI_DEVICE_ID_CP104 118,3392 -#define PCI_DEVICE_ID_CP132 121,3462 -#define PCI_DEVICE_ID_CP114 124,3532 -#define PCI_DEVICE_ID_CT114 127,3602 -#define C168_ASIC_ID 130,3645 -#define C104_ASIC_ID 131,3671 -#define CI134_ASIC_ID 132,3697 -#define CI132_ASIC_ID 133,3723 -#define CI104J_ASIC_ID 134,3749 -#define C102_ASIC_ID 135,3775 - MXSER_BOARD_C168_ISA 138,3808 - MXSER_BOARD_C104_ISA,139,3835 - MXSER_BOARD_CI104J,140,3858 - MXSER_BOARD_C168_PCI,141,3879 - MXSER_BOARD_C104_PCI,142,3902 - MXSER_BOARD_CP104_PCI,143,3925 - MXSER_BOARD_C102_ISA,144,3949 - MXSER_BOARD_CI132,145,3972 - MXSER_BOARD_CI134,146,3992 - MXSER_BOARD_CP132_PCI,147,4012 - MXSER_BOARD_CP114_PCI,148,4036 - MXSER_BOARD_CT114_PCI149,4060 -static char *mxser_brdname[152,4087 -static int mxser_numports[168,4343 -#define MOXA 187,4451 -#define MOXA_GETDATACOUNT 188,4472 -#define MOXA_GET_CONF 189,4515 -#define MOXA_DIAGNOSE 190,4558 -#define MOXA_CHKPORTENABLE 191,4601 -#define MOXA_HighSpeedOn 192,4644 -#define MOXA_GET_MAJOR 193,4687 -#define MOXA_GET_CUMAJOR 194,4737 -#define MOXA_GETMSTATUS 195,4787 -static struct pci_device_id mxser_pcibrds[198,4856 -static int ioaddr[216,5591 -static int ttymajor 217,5624 -static int verbose;218,5658 -struct mxser_hwconf mxser_hwconf229,5919 -struct mxser_struct mxser_struct241,6129 -struct mxser_log mxser_log276,7134 -struct mxser_mstatus mxser_mstatus282,7218 -static struct mxser_mstatus GMStatus[290,7301 -static int mxserBoardCAP[292,7353 -static struct tty_driver *mxvar_sdriver;299,7456 -static struct mxser_struct mxvar_table[300,7497 -static struct mxser_log mxvar_log;301,7550 -static int mxvar_diagflag;302,7585 -static unsigned char *mxvar_tmp_buf;312,8094 -static struct semaphore mxvar_tmp_buf_sem;313,8131 -static int mxvar_baud_table[318,8248 -struct mxser_hwconf mxsercfg[323,8413 -static void __exit mxser_module_exit(367,10655 -int mxser_initbrd(391,11143 -static void mxser_getcfg(456,12923 -static int mxser_get_PCI_conf(462,13039 -static struct tty_operations mxser_ops 488,13683 -static int __init mxser_module_init(508,14221 -static void mxser_do_softint(669,18712 -static int mxser_open(693,19391 -static void mxser_close(738,20378 -static int mxser_write(832,22947 -static void mxser_put_char(902,24601 -static void mxser_flush_chars(929,25347 -static int mxser_write_room(945,25717 -static int mxser_chars_in_buffer(956,25942 -static void mxser_flush_buffer(963,26102 -static int mxser_ioctl(976,26424 -static int mxser_ioctl_special(1084,29814 -static void mxser_throttle(1162,31659 -static void mxser_unthrottle(1185,32215 -static void mxser_set_termios(1212,32833 -static void mxser_stop(1257,34019 -static void mxser_start(1271,34326 -void mxser_hangup(1289,34753 -static inline void mxser_receive_chars(1302,35056 -static inline void mxser_transmit_chars(1344,36186 -static inline void mxser_check_modem_status(1380,37103 -static irqreturn_t mxser_interrupt(1425,38240 -static int mxser_block_til_ready(1485,39728 -static int mxser_startup(1574,41985 -static void mxser_shutdown(1673,44280 -static int mxser_change_speed(1719,45421 -#define B921600 1735,45749 -static int mxser_get_serial_info(2044,51729 -static int mxser_set_serial_info(2065,52291 -static int mxser_get_lsr_info(2124,54251 -static void mxser_send_break(2141,54656 -static int mxser_tiocmget(2155,55048 -static int mxser_tiocmset(2181,55847 -static int mxser_get_ISA_conf(2213,56618 -#define CHIP_SK 2277,58406 -#define CHIP_DO 2278,58462 -#define CHIP_CS 2279,58518 -#define CHIP_DI 2280,58574 -#define EN_CCMD 2281,58630 -#define EN0_RSARLO 2282,58687 -#define EN0_RSARHI 2283,58746 -#define EN0_RCNTLO 2284,58805 -#define EN0_RCNTHI 2285,58864 -#define EN0_DCFG 2286,58923 -#define EN0_PORT 2287,58980 -#define ENC_PAGE0 2288,59043 -#define ENC_PAGE3 2289,59107 -static int mxser_read_register(2290,59171 -static int mxser_program_mode(2325,59940 -static void mxser_normal_mode(2359,60594 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2.c,234 -#define __init15,446 -#define __initfunc(__initfunc18,487 -#define __initdata21,537 -static int io[34,921 -static int irq[35,968 -static int poll_only 37,1023 -static int __init ip2_init(49,1455 -static int __init ip2_setup(84,2403 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/digiFep1.h,1084 -#define CSTART 2,1 -#define CMAX 3,29 -#define ISTART 4,57 -#define IMAX 5,85 -#define CIN 6,113 -#define GLOBAL 7,141 -#define EIN 8,169 -#define FEPSTAT 9,197 -#define CHANSTRUCT 10,225 -#define RXTXBUF 11,254 -struct global_data global_data14,285 -struct board_chan board_chan27,498 -#define SRXLWATER 101,1852 -#define SRXHWATER 102,1880 -#define STOUT 103,1908 -#define PAUSETX 104,1936 -#define RESUMETX 105,1964 -#define SAUXONOFFC 106,1992 -#define SENDBREAK 107,2020 -#define SETMODEM 108,2048 -#define SETIFLAGS 109,2076 -#define SONOFFC 110,2104 -#define STXLWATER 111,2132 -#define PAUSERX 112,2160 -#define RESUMERX 113,2188 -#define SETBUFFER 114,2216 -#define SETCOOKED 115,2244 -#define SETHFLOW 116,2272 -#define SETCTRLFLAGS 117,2300 -#define SETVNEXT 118,2328 -#define BREAK_IND 122,2359 -#define LOWTX_IND 123,2389 -#define EMPTYTX_IND 124,2419 -#define DATA_IND 125,2449 -#define MODEMCHG_IND 126,2479 -#define FEP_HUPCL 128,2510 -#define RTS 130,2543 -#define CD 131,2562 -#define DSR 132,2581 -#define CTS 133,2600 -#define RI 134,2619 -#define DTR 135,2638 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/toshiba.c,719 -#define TOSH_VERSION 56,2636 -#define TOSH_DEBUG 57,2674 -#define TOSH_MINOR_DEV 74,3028 -static int tosh_id 76,3056 -static int tosh_bios 77,3085 -static int tosh_date 78,3116 -static int tosh_sci 79,3147 -static int tosh_fan 80,3177 -static int tosh_fn 82,3203 -static struct file_operations tosh_fops 91,3343 -static struct miscdevice tosh_device 96,3438 -static int tosh_fn_status(106,3579 -static int tosh_emulate_fan(128,3939 -int tosh_smm(213,5624 -static int tosh_ioctl(250,6549 -static int tosh_get_info(296,7528 -static void tosh_set_fn_port(330,8182 -static int tosh_get_machine_id(354,8654 -int tosh_probe(410,10075 -int __init tosh_init(478,11985 -int init_module(510,12625 -void cleanup_module(515,12673 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ser_a2232fw.h,47 -static unsigned char a2232_65EC02code[48,2209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/decserial.c,78 -int __init rs_init(48,1185 -static int __init decserial_console_init(78,1595 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sx.h,2293 -#define SX_NBOARDS 15,218 -#define SX_PORTSPERBOARD 16,246 -#define SX_NPORTS 17,274 -#define SX_MAGIC 21,351 -struct sx_port sx_port23,380 -struct sx_board sx_board33,640 -struct vpd_prom vpd_prom50,966 -#define MOD_RS232DB25MALE 63,1165 -#define SI_ISA_BOARD 66,1204 -#define SX_ISA_BOARD 67,1244 -#define SX_PCI_BOARD 68,1284 -#define SX_CFPCI_BOARD 69,1324 -#define SX_CFISA_BOARD 70,1364 -#define SI_EISA_BOARD 71,1404 -#define SI1_ISA_BOARD 72,1444 -#define SX_BOARD_PRESENT 74,1485 -#define SX_BOARD_INITIALIZED 75,1525 -#define SX_IRQ_ALLOCATED 76,1565 -#define SX_BOARD_TYPE 78,1606 -#define IS_SX_BOARD(IS_SX_BOARD80,1647 -#define IS_SI_BOARD(IS_SI_BOARD83,1802 -#define IS_SI1_BOARD(IS_SI1_BOARD84,1859 -#define IS_EISA_BOARD(IS_EISA_BOARD86,1919 -#define IS_CF_BOARD(IS_CF_BOARD88,1980 -#define SERIAL_TYPE_NORMAL 90,2059 -#define SI_PROCESSOR_CLOCK 94,2196 -#define SX_RX_THROTTLE 99,2314 -#define SX_PORT_TRANSMIT_LOCK 103,2357 -#define SX_BOARD_INTR_LOCK 104,2390 -#define SX_DEBUG_OPEN 110,2489 -#define SX_DEBUG_SETTING 111,2531 -#define SX_DEBUG_FLOW 112,2573 -#define SX_DEBUG_MODEMSIGNALS 113,2615 -#define SX_DEBUG_TERMIOS 114,2657 -#define SX_DEBUG_TRANSMIT 115,2699 -#define SX_DEBUG_RECEIVE 116,2741 -#define SX_DEBUG_INTERRUPTS 117,2783 -#define SX_DEBUG_PROBE 118,2825 -#define SX_DEBUG_INIT 119,2867 -#define SX_DEBUG_CLEANUP 120,2909 -#define SX_DEBUG_CLOSE 121,2951 -#define SX_DEBUG_FIRMWARE 122,2993 -#define SX_DEBUG_MEMTEST 123,3035 -#define SX_DEBUG_ALL 125,3078 -#define O_OTHER(O_OTHER128,3122 -#define I_OTHER(I_OTHER144,3517 -#define MOD_TA 151,3673 -#define MOD_MTA 152,3706 -#define MOD_SXDC 153,3739 -#define SX_CHUNK_SIZE 157,3846 -#define SPX(SPX164,3943 -#define SPXL(SPXL167,4030 -#define SXIO_SET_BOARD 170,4072 -#define SXIO_GET_TYPE 171,4111 -#define SXIO_DOWNLOAD 172,4150 -#define SXIO_INIT 173,4189 -#define SXIO_SETDEBUG 174,4228 -#define SXIO_GETDEBUG 175,4267 -#define SXIO_DO_RAMTEST 176,4306 -#define SXIO_SETGSDEBUG 177,4345 -#define SXIO_GETGSDEBUG 178,4384 -#define SXIO_GETNPORTS 179,4423 -#define SXCTL_MISC_MINOR 184,4562 -#define SX_NORMAL_MAJOR 190,4737 -#define SX_CALLOUT_MAJOR 191,4765 -#define SX_TYPE_SX 195,4802 -#define SX_TYPE_SI 196,4835 -#define SX_TYPE_CF 197,4868 -#define WINDOW_LEN(WINDOW_LEN200,4903 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/scan_keyb.c,314 -#define SCANHZ 23,527 -struct scan_keyboard scan_keyboard25,551 -static int scan_jiffies=33,711 -static struct scan_keyboard *keyboards=34,738 -struct timer_list scan_timer;35,783 -static void check_kbd(37,814 -static void scan_kbd(67,1384 -int register_scan_keyboard(99,2006 -void __init scan_kbd_init(140,2715 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/specialix_io8.h,766 -#define __LINUX_SPECIALIX_H40,1728 -#define SX_NBOARD 49,1919 -#define SX_IO_SPACE 52,2021 -#define SX_PCI_IO_SPACE 54,2125 -#define SX_NPORT 57,2189 -#define SX_BOARD(SX_BOARD58,2216 -#define SX_PORT(SX_PORT59,2260 -#define SX_DATA_REG 62,2311 -#define SX_ADDR_REG 63,2366 -#define MHz 65,2426 -#define SX_OSCFREQ 68,2513 -#define SPECIALIX_TPS 73,2694 -#define SPECIALIX_RXFIFO 78,2818 -#define SPECIALIX_MAGIC 80,2882 -#define SX_CCR_TIMEOUT 82,2915 -#define SX_IOBASE1 87,3187 -#define SX_IOBASE2 88,3212 -#define SX_IOBASE3 89,3237 -#define SX_IOBASE4 90,3262 -struct specialix_board specialix_board92,3288 -#define SX_BOARD_PRESENT 101,3443 -#define SX_BOARD_ACTIVE 102,3479 -#define SX_BOARD_IS_PCI 103,3515 -struct specialix_port specialix_port106,3553 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sonypi.h,4168 -#define _SONYPI_PRIV_H_35,1249 -#define SONYPI_DRIVER_MAJORVERSION 39,1293 -#define SONYPI_DRIVER_MINORVERSION 40,1331 -#define SONYPI_DEVICE_MODEL_TYPE1 42,1370 -#define SONYPI_DEVICE_MODEL_TYPE2 43,1406 -#define SONYPI_IRQ_PORT 54,1644 -#define SONYPI_IRQ_SHIFT 55,1677 -#define SONYPI_BASE 56,1706 -#define SONYPI_G10A 57,1733 -#define SONYPI_TYPE1_REGION_SIZE 58,1774 -#define SONYPI_TYPE1_EVTYPE_OFFSET 59,1812 -#define SONYPI_SIRQ 62,1882 -#define SONYPI_SLOB 63,1909 -#define SONYPI_SHIB 64,1936 -#define SONYPI_TYPE2_REGION_SIZE 65,1963 -#define SONYPI_TYPE2_EVTYPE_OFFSET 66,2001 -#define SONYPI_BAT_FLAGS 69,2079 -#define SONYPI_LCD_LIGHT 70,2109 -#define SONYPI_BAT1_PCTRM 71,2139 -#define SONYPI_BAT1_LEFT 72,2170 -#define SONYPI_BAT1_MAXRT 73,2200 -#define SONYPI_BAT2_PCTRM 74,2231 -#define SONYPI_BAT2_LEFT 75,2262 -#define SONYPI_BAT2_MAXRT 76,2292 -#define SONYPI_BAT1_MAXTK 77,2323 -#define SONYPI_BAT1_FULL 78,2354 -#define SONYPI_BAT2_MAXTK 79,2384 -#define SONYPI_BAT2_FULL 80,2415 -#define SONYPI_DATA_IOPORT 83,2497 -#define SONYPI_CST_IOPORT 84,2529 -struct sonypi_ioport_list sonypi_ioport_list87,2595 -static struct sonypi_ioport_list sonypi_type1_ioport_list[92,2651 -static struct sonypi_ioport_list sonypi_type2_ioport_list[101,2875 -struct sonypi_irq_list sonypi_irq_list110,3078 -static struct sonypi_irq_list sonypi_type1_irq_list[115,3128 -static struct sonypi_irq_list sonypi_type2_irq_list[122,3385 -#define SONYPI_CAMERA_BRIGHTNESS 130,3691 -#define SONYPI_CAMERA_CONTRAST 131,3727 -#define SONYPI_CAMERA_HUE 132,3762 -#define SONYPI_CAMERA_COLOR 133,3792 -#define SONYPI_CAMERA_SHARPNESS 134,3824 -#define SONYPI_CAMERA_PICTURE 136,3861 -#define SONYPI_CAMERA_EXPOSURE_MASK 137,3895 -#define SONYPI_CAMERA_WHITE_BALANCE_MASK 138,3936 -#define SONYPI_CAMERA_PICTURE_MODE_MASK 139,3981 -#define SONYPI_CAMERA_MUTE_MASK 140,4027 -#define SONYPI_CAMERA_AGC 143,4115 -#define SONYPI_CAMERA_AGC_MASK 144,4145 -#define SONYPI_CAMERA_SHUTTER_MASK 145,4183 -#define SONYPI_CAMERA_SHUTDOWN_REQUEST 147,4225 -#define SONYPI_CAMERA_CONTROL 148,4267 -#define SONYPI_CAMERA_STATUS 150,4305 -#define SONYPI_CAMERA_STATUS_READY 151,4339 -#define SONYPI_CAMERA_STATUS_POSITION 152,4380 -#define SONYPI_DIRECTION_BACKWARDS 154,4424 -#define SONYPI_CAMERA_REVISION 156,4466 -#define SONYPI_CAMERA_ROMVERSION 157,4502 -#define SONYPI_JOGGER_MASK 160,4558 -#define SONYPI_CAPTURE_MASK 161,4598 -#define SONYPI_FNKEY_MASK 162,4639 -#define SONYPI_BLUETOOTH_MASK 163,4678 -#define SONYPI_PKEY_MASK 164,4721 -#define SONYPI_BACK_MASK 165,4759 -#define SONYPI_HELP_MASK 166,4797 -#define SONYPI_LID_MASK 167,4835 -#define SONYPI_ZOOM_MASK 168,4873 -#define SONYPI_THUMBPHRASE_MASK 169,4911 -#define SONYPI_MEYE_MASK 170,4956 -#define SONYPI_MEMORYSTICK_MASK 171,4994 -#define SONYPI_BATTERY_MASK 172,5039 -struct sonypi_event sonypi_event174,5081 -static struct sonypi_event sonypi_releaseev[180,5176 -static struct sonypi_event sonypi_joggerev[186,5325 -static struct sonypi_event sonypi_captureev[204,6013 -static struct sonypi_event sonypi_fnkeyev[212,6255 -static struct sonypi_event sonypi_pkeyev[238,7075 -static struct sonypi_event sonypi_blueev[247,7311 -static struct sonypi_event sonypi_backev[255,7537 -static struct sonypi_event sonypi_helpev[261,7681 -static struct sonypi_event sonypi_lidev[268,7818 -static struct sonypi_event sonypi_zoomev[275,7988 -static struct sonypi_event sonypi_thumbphraseev[281,8132 -static struct sonypi_event sonypi_meyeev[287,8295 -static struct sonypi_event sonypi_memorystickev[294,8475 -static struct sonypi_event sonypi_batteryev[301,8671 -struct sonypi_eventtypes sonypi_eventtypes307,8815 -} sonypi_eventtypes[312,8921 -#define SONYPI_BUF_SIZE 342,10736 -struct sonypi_queue sonypi_queue343,10764 -#define SONYPI_USE_INPUT358,11253 -#define SONYPI_INPUTNAME 363,11353 -struct sonypi_device sonypi_device365,11400 -#define ITERATIONS_LONG 387,11760 -#define ITERATIONS_SHORT 388,11791 -#define wait_on_command(wait_on_command390,11820 -#define SONYPI_ACPI_ACTIVE 399,12114 -#define SONYPI_ACPI_ACTIVE 401,12164 -static inline int sonypi_ec_write(404,12219 -static inline int sonypi_ec_read(419,12751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/specialix.c,3126 -#define VERSION 69,3091 -#define SPECIALIX_PARANOIA_CHECK106,3849 -#define SX_CRTSCTS(SX_CRTSCTS123,4334 -#define SX_CRTSCTS(SX_CRTSCTS125,4366 -#define short_pause(short_pause130,4450 -#define SPECIALIX_LEGAL_FLAGS 133,4485 -#define RS_EVENT_WRITE_WAKEUP 139,4731 -static struct tty_driver *specialix_driver;141,4764 -static unsigned char * tmp_buf;142,4808 -static unsigned long baud_table[145,4876 -static struct specialix_board sx_board[150,5025 -static struct specialix_port sx_port[157,5184 -static struct timer_list missed_irq_timer;161,5269 -static inline int sx_paranoia_check(167,5402 -static inline int board_No 196,6037 -static inline int port_No 203,6158 -static inline struct specialix_board * port_Board(210,6309 -static inline unsigned char sx_in(217,6487 -static inline void sx_out(226,6723 -static inline unsigned char sx_in_off(236,6974 -static inline void sx_out_off(245,7200 -static inline void sx_wait_CCR(255,7446 -static inline void sx_wait_CCR_off(268,7740 -static inline int sx_check_io_range(284,8043 -static inline void sx_request_io_range(290,8160 -static inline void sx_release_io_range(298,8368 -static inline void sx_long_delay(308,8672 -int sx_set_irq 318,8883 -static int sx_init_CD186x(344,9428 -int read_cross_byte 382,10655 -void missed_irq 397,10892 -static int sx_probe(415,11465 -static inline void sx_mark_event(556,15351 -static inline struct specialix_port * sx_get_port(563,15493 -static inline void sx_receive_exc(582,15990 -static inline void sx_receive(648,17585 -static inline void sx_transmit(679,18258 -static inline void sx_check_modem(749,19991 -static irqreturn_t sx_interrupt(816,21533 -void turn_ints_off 881,23089 -void turn_ints_on 892,23449 -static inline int sx_setup_board(902,23679 -static inline void sx_shutdown_board(925,24155 -static void sx_change_speed(946,24541 -static int sx_setup_port(1162,30482 -static void sx_shutdown_port(1201,31260 -static int block_til_ready(1263,32603 -static int sx_open(1356,34859 -static void sx_close(1396,35693 -static int sx_write(1484,38130 -static void sx_put_char(1561,39912 -static void sx_flush_chars(1586,40429 -static int sx_write_room(1606,40934 -static int sx_chars_in_buffer(1621,41234 -static void sx_flush_buffer(1632,41474 -static int sx_tiocmget(1649,41873 -static int sx_tiocmset(1688,43181 -static inline void sx_send_break(1733,44192 -static inline int sx_set_serial_info(1752,44695 -static inline int sx_get_serial_info(1803,46225 -static int sx_ioctl(1826,46887 -static void sx_throttle(1874,48162 -static void sx_unthrottle(1909,49118 -static void sx_stop(1937,49764 -static void sx_start(1956,50187 -static void do_sx_hangup(1986,50954 -static void sx_hangup(1997,51180 -static void sx_set_termios(2016,51597 -static void do_softint(2040,52194 -static struct tty_operations sx_ops 2052,52449 -static int sx_init_drivers(2072,52934 -static void sx_release_drivers(2121,54458 -void specialix_setup(2139,54863 -static int __init specialix_init(2159,55179 -int iobase[2217,56416 -int irq 2219,56448 -static int __init specialix_init_module(2233,56872 -static void __exit specialix_exit_module(2247,57121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rtc.c,2295 -#define RTC_VERSION 52,2226 -#define RTC_IO_EXTENT 54,2255 -static unsigned long rtc_port;96,3237 -static int rtc_irq 97,3268 -static int rtc_has_irq 105,3376 -#define is_hpet_enabled(is_hpet_enabled109,3444 -#define hpet_set_alarm_time(hpet_set_alarm_time110,3474 -#define hpet_set_periodic_freq(hpet_set_periodic_freq111,3520 -#define hpet_mask_rtc_irq_bit(hpet_mask_rtc_irq_bit112,3560 -#define hpet_set_rtc_irq_bit(hpet_set_rtc_irq_bit113,3599 -#define hpet_rtc_timer_init(hpet_rtc_timer_init114,3637 -#define hpet_rtc_dropped_irq(hpet_rtc_dropped_irq115,3687 -static inline irqreturn_t hpet_rtc_interrupt(116,3723 -static struct fasync_struct *rtc_async_queue;128,4123 -static struct timer_list rtc_irq_timer;133,4228 -#define RTC_IS_OPEN 161,4984 -#define RTC_TIMER_ON 162,5041 -static unsigned long rtc_status 171,5483 -static unsigned long rtc_freq 172,5549 -static unsigned long rtc_irq_data 173,5616 -static unsigned long rtc_max_user_freq 174,5685 -static spinlock_t rtc_task_lock 180,5829 -static rtc_task_t *rtc_callback 181,5883 -static unsigned long epoch 189,6068 -static const unsigned char days_in_mo[191,6137 -static inline unsigned char rtc_is_updating(197,6290 -irqreturn_t rtc_interrupt(218,6940 -static ctl_table rtc_table[262,8050 -static ctl_table rtc_root[274,8269 -static ctl_table dev_root[285,8425 -static struct ctl_table_header *sysctl_header;296,8586 -static int __init init_sysctl(298,8634 -static void __exit cleanup_sysctl(304,8745 -static ssize_t rtc_read(313,8897 -static int rtc_do_ioctl(369,10054 -static int rtc_ioctl(671,16811 -static int rtc_open(685,17243 -static int rtc_fasync 703,17531 -static int rtc_release(709,17651 -static unsigned int rtc_poll(752,18517 -int rtc_register(779,18934 -int rtc_unregister(805,19436 -int rtc_control(841,20164 -static struct file_operations rtc_fops 861,20520 -static struct miscdevice rtc_dev=874,20767 -static int __init rtc_init(885,20949 -static void __exit rtc_exit 1052,24932 -static void rtc_dropped_irq(1086,25942 -static int rtc_proc_output 1122,26705 -#define YN(YN1124,26746 -#define NY(NY1125,26792 -static int rtc_read_proc(1200,28531 -void rtc_get_rtc_time(1212,28871 -static void get_rtc_alm_time(1279,30836 -static void mask_rtc_irq_bit(1313,31856 -static void set_rtc_irq_bit(1331,32189 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/applicom.c,1279 -#define MAX_BOARD 49,2118 -#define MAX_ISA_BOARD 50,2174 -#define LEN_RAM_IO 51,2198 -#define AC_MINOR 52,2223 -#define PCI_VENDOR_ID_APPLICOM 55,2276 -#define PCI_DEVICE_ID_APPLICOM_PCIGENERIC 56,2329 -#define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 57,2382 -#define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 58,2435 -#define MAX_PCI_DEVICE_NUM 60,2495 -static char *applicom_pci_devnames[62,2525 -static struct pci_device_id applicom_pci_tbl[68,2626 -static struct applicom_board applicom_board90,3373 -} apbs[96,3513 -static unsigned int irq 98,3533 -static unsigned long mem 99,3595 -static unsigned int numboards;101,3659 -static volatile unsigned char Dummy;102,3723 -static unsigned int WriteErrorCount;104,3806 -static unsigned int ReadErrorCount;105,3876 -static unsigned int DeviceErrorCount;106,3945 -static struct file_operations ac_fops 114,4322 -static struct miscdevice ac_miscdev 122,4471 -static int dummy;128,4543 -static int ac_register_board(130,4593 -#define applicom_init 170,5644 -void cleanup_module(172,5679 -int __init applicom_init(192,5930 -static ssize_t ac_write(346,9706 -static int do_ac_read(470,13653 -static ssize_t ac_read 524,15315 -static irqreturn_t ac_interrupt(607,17565 -static int ac_ioctl(683,19537 -static int __init applicom_setup(838,24397 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mmtimer.c,381 -#define MMTIMER_NAME 38,1171 -#define MMTIMER_DESC 39,1202 -#define MMTIMER_VERSION 40,1248 -#define RTC_BITS 42,1279 -static unsigned long mmtimer_femtoperiod 51,1562 -static struct file_operations mmtimer_fops 53,1609 -static int mmtimer_ioctl(87,2657 -static int mmtimer_mmap(146,4049 -static struct miscdevice mmtimer_miscdev 175,4730 -static int __init mmtimer_init(186,4928 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ds1286.c,859 -#define DS1286_VERSION 46,1637 -static spinlock_t ds1286_lock 71,2424 -#define RTC_IS_OPEN 80,2674 -#define RTC_TIMER_ON 81,2731 -static unsigned char ds1286_status;83,2789 -static unsigned char days_in_mo[85,2855 -static ssize_t ds1286_read(93,3011 -static int ds1286_ioctl(99,3142 -static int ds1286_open(249,6316 -static int ds1286_release(266,6599 -static unsigned int ds1286_poll(273,6714 -static struct file_operations ds1286_fops 284,6889 -static struct miscdevice ds1286_dev=293,7084 -static int __init ds1286_init(300,7187 -static void __exit ds1286_exit(325,7571 -static char *days[331,7684 -static int ds1286_proc_output(338,7809 -static int ds1286_read_proc(410,10069 -static inline unsigned char ds1286_is_updating(428,10427 -static void ds1286_get_time(434,10522 -static int ds1286_set_time(493,12385 -static void ds1286_get_alm_time(552,13653 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/n_tty.c,1642 -#define WAKEUP_CHARS 53,1727 -#define TTY_THRESHOLD_THROTTLE 60,1932 -#define TTY_THRESHOLD_UNTHROTTLE 61,2002 -static inline unsigned char *alloc_buf(63,2041 -static inline void free_buf(73,2275 -static inline void put_tty_queue_nolock(81,2416 -static inline void put_tty_queue(90,2662 -static void check_unthrottle(114,3405 -static void reset_buffer_flags(130,3833 -void n_tty_flush_buffer(155,4610 -ssize_t n_tty_chars_in_buffer(177,5068 -static inline int is_utf8_continuation(203,5734 -static inline int is_continuation(216,6015 -static int opost(235,6657 -static ssize_t opost_block(308,8248 -static inline void put_char(377,9572 -static void echo_char(391,9911 -static inline void finish_erasing(401,10123 -static void eraser(420,10535 - enum { ERASE,422,10597 - enum { ERASE, WERASE,422,10597 - enum { ERASE, WERASE, KILL 422,10597 -static inline void isig(564,14294 -static inline void n_tty_receive_break(585,14814 -static inline void n_tty_receive_overrun(614,15483 -static inline void n_tty_receive_parity_error(635,16030 -static inline void n_tty_receive_char(662,16650 -static int n_tty_receive_room(863,21203 -static void n_tty_write_wakeup(890,21861 -static void n_tty_receive_buf(913,22437 -int is_ignored(990,24473 -static void n_tty_set_termios(1008,25018 -static void n_tty_close(1081,27109 -static int n_tty_open(1100,27540 -static inline int input_available_p(1120,27961 -static inline int copy_from_read_buf(1148,28737 -static int job_control(1188,29764 -static ssize_t read_chan(1226,30934 -static ssize_t write_chan(1437,35851 -static unsigned int normal_poll(1525,38001 -struct tty_ldisc tty_ldisc_N_TTY 1551,38810 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/amiserial.c,2863 -#define SERIAL_DO_RESTART37,1160 -#define SERIAL_INLINE48,1355 -#define DBG_CNT(DBG_CNT51,1432 -#define DBG_CNT(DBG_CNT54,1591 -static char *serial_version 67,1808 -#define _INLINE_ 99,2474 -static char *serial_name 102,2506 -static struct tty_driver *serial_driver;104,2565 -#define WAKEUP_CHARS 107,2677 -static struct async_struct *IRQ_ports;109,2703 -static unsigned char current_ctl_bits;111,2743 -static struct serial_state rs_table[117,2928 -#define NR_PORTS 119,2969 -static unsigned char *tmp_buf;130,3512 -#define serial_isroot(serial_isroot135,3605 -static inline int serial_paranoia_check(138,3656 -#define SDR_OVRUN 160,4174 -#define SDR_RBF 161,4202 -#define SDR_TBE 162,4230 -#define SDR_TSRE 163,4258 -#define SERPER_PARENB 165,4287 -#define AC_SETCLR 167,4321 -#define AC_UARTBRK 168,4349 -#define SER_DTR 170,4378 -#define SER_RTS 171,4405 -#define SER_DCD 172,4432 -#define SER_CTS 173,4459 -#define SER_DSR 174,4486 -static __inline__ void rtsdtr_ctrl(176,4514 -static void rs_stop(189,4969 -static void rs_start(209,5428 -static _INLINE_ void rs_sched_event(256,6954 -static _INLINE_ void receive_chars(263,7099 -static _INLINE_ void transmit_chars(359,9389 -static _INLINE_ void check_modem_status(399,10280 -static irqreturn_t ser_vbl_int(475,12246 -static irqreturn_t ser_rx_int(488,12633 -static irqreturn_t ser_tx_int(508,12992 -static void do_softint(546,14067 -static int startup(570,14771 -static void shutdown(663,16781 -static void change_speed(721,17960 -#define RELEVANT_IFLAG(RELEVANT_IFLAG813,20336 -static void rs_put_char(862,21468 -static void rs_flush_chars(886,22012 -static int rs_write(910,22590 -static int rs_write_room(991,24446 -static int rs_chars_in_buffer(1000,24717 -static void rs_flush_buffer(1009,24996 -static void rs_send_xchar(1027,25463 -static void rs_throttle(1062,26386 -static void rs_unthrottle(1087,26949 -static int get_serial_info(1120,27732 -static int set_serial_info(1144,28377 -static int get_lsr_info(1226,31271 -static int rs_tiocmget(1243,31631 -static int rs_tiocmset(1265,32272 -static void rs_break(1293,32965 -static int rs_ioctl(1311,33357 -static void rs_set_termios(1417,36533 -static void rs_close(1482,38428 -static void rs_wait_until_sent(1579,41126 -static void rs_hangup(1641,43126 -static int block_til_ready(1665,43717 -static int get_async_struct(1773,46463 -static int rs_open(1817,47632 -static inline int line_info(1894,49151 -static int rs_read_proc(1959,50683 -static _INLINE_ void show_serial_version(1995,51579 -static struct tty_operations serial_ops 2005,51784 -static int __init rs_init(2032,52453 -static __exit void rs_exit(2124,54926 -module_init(2149,55475 -static void serial_console_write(2173,56001 -static struct tty_driver *serial_console_device(2189,56306 -static struct console sercons 2195,56426 -static int __init amiserial_console_init(2206,56617 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rsf16fmi.h,27 -#define __RSF16FMI_H9,191 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/digi1.h,1134 -#define TIOCMODG 4,99 -#define TIOCMODS 5,159 -#define TIOCMSET 9,250 -#define TIOCMGET 10,310 -#define TIOCMBIC 14,401 -#define TIOCMBIS 15,461 -#define TIOCSDTR 19,552 -#define TIOCCDTR 20,598 -#define DIGI_GETA 26,851 -#define DIGI_SETA 28,904 -#define DIGI_SETAW 29,955 -#define DIGI_SETAF 30,1014 -#define DIGI_GETFLOW 32,1081 -#define DIGI_SETFLOW 34,1178 -#define DIGI_GETAFLOW 36,1275 -#define DIGI_SETAFLOW 38,1374 -#define DIGI_GETINFO 41,1473 -#define DIGI_POLLER 42,1534 -#define DIGI_INIT 43,1595 -struct digiflow_struct digiflow_struct45,1657 -typedef struct digiflow_struct digiflow_t;digiflow_t51,1791 -#define DIGI_IXON 57,2011 -#define DIGI_FAST 58,2066 -#define RTSPACE 59,2115 -#define CTSPACE 60,2169 -#define DSRPACE 61,2224 -#define DCDPACE 62,2279 -#define DTRPACE 63,2334 -#define DIGI_FORCEDCD 64,2388 -#define DIGI_ALTPIN 65,2439 -#define DIGI_AIXON 66,2500 -#define NORMAL 72,2732 -#define PCI_CTL 73,2750 -#define SIZE8 75,2769 -#define SIZE16 76,2786 -#define SIZE32 77,2803 -struct digi_struct digi_struct82,3029 -typedef struct digi_struct digi_t;digi_t87,3108 -struct digi_info digi_info89,3144 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/epca.c,4292 -#define ENABLE_PCI48,1536 -#define putUser(putUser51,1580 -#define getUser(getUser52,1653 -#define VERSION 70,2053 -#define DIGIINFOMAJOR 74,2167 -#define MAXCARDS 77,2232 -#define epcaassert(epcaassert78,2251 -#define PFX 80,2316 -static char mesg[84,2408 -static int nbdevs,85,2431 -static int nbdevs, num_cards,85,2431 -static int nbdevs, num_cards, liloconfig;85,2431 -static int digi_poller_inhibited 86,2473 -static int setup_error_code;88,2513 -static int invalid_lilo_config;89,2542 -static struct board_info boards[95,2807 -static struct tty_driver *pc_driver;100,2932 -static struct tty_driver *pc_info;101,2969 -static struct channel digi_channels[113,3549 -static struct channel *card_ptr[120,3928 -static struct timer_list epca_timer;122,3972 -static inline void memwinon(240,9635 -static inline void memwinoff(245,9732 -static inline void globalwinon(250,9831 -static inline void rxwinon(255,9918 -static inline void txwinon(260,9997 -static inline void memoff(265,10076 -static inline void assertgwinon(269,10152 -static inline void assertmemoff(274,10241 -static inline void pcxem_memwinon(284,10533 -static inline void pcxem_memwinoff(289,10658 -static inline void pcxem_globalwinon(294,10768 -static inline void pcxem_rxwinon(299,10874 -static inline void pcxem_txwinon(304,10978 -static inline void pcxem_memoff(309,11082 -static inline void pcxe_memwinon(316,11252 -static inline void pcxe_memwinoff(321,11385 -static inline void pcxe_globalwinon(328,11562 -static inline void pcxe_rxwinon(333,11667 -static inline void pcxe_txwinon(338,11771 -static inline void pcxe_memoff(343,11875 -static inline void pcxi_memwinon(351,12081 -static inline void pcxi_memwinoff(356,12224 -static inline void pcxi_globalwinon(361,12355 -static inline void pcxi_rxwinon(366,12455 -static inline void pcxi_txwinon(371,12552 -static inline void pcxi_memoff(376,12649 -static inline void pcxi_assertgwinon(381,12739 -static inline void pcxi_assertmemoff(386,12871 -static inline void dummy_memwinon(401,13530 -static inline void dummy_memwinoff(405,13609 -static inline void dummy_globalwinon(409,13689 -static inline void dummy_rxwinon(413,13751 -static inline void dummy_txwinon(417,13809 -static inline void dummy_memoff(421,13867 -static inline void dummy_assertgwinon(425,13924 -static inline void dummy_assertmemoff(429,13987 -static inline struct channel *verifyChannel(434,14127 -static inline void pc_sched_event(464,15030 -static void epca_error(481,15573 -static void pc_close(490,15807 -static void shutdown(585,18160 -static void pc_hangup(638,19653 -static int pc_write(673,20519 -static void pc_put_char(953,30637 -static int pc_write_room(964,30867 -static int pc_chars_in_buffer(1014,31973 -static void pc_flush_buffer(1084,33895 -static void pc_flush_chars(1123,34768 -static int block_til_ready(1155,35684 -static int pc_open(1274,38412 -static int __init epca_module_init(1417,42682 -static struct pci_driver epca_driver;1436,42911 -static void __exit epca_module_exit(1442,43044 -static struct tty_operations pc_ops 1501,44162 -static int info_open(1519,44594 -static struct tty_operations info_ops 1524,44675 -int __init pc_init(1531,44827 -static void post_fep_init(1803,53839 -static void epcapoll(2086,62748 -static void doevent(2149,64573 -static void fepcmd(2303,68192 -static unsigned termios2digi_h(2413,71531 -static unsigned termios2digi_i(2450,72297 -static unsigned termios2digi_c(2464,72689 -static void epcaparam(2542,75750 -static void receive_data(2707,80963 -static int info_ioctl(2831,84236 -static int pc_tiocmget(2907,86033 -static int pc_tiocmset(2950,86766 -static int pc_ioctl(2998,87955 -static void pc_set_termios(3238,93308 -static void do_softint(3274,94248 -static void pc_stop(3309,95177 -static void pc_start(3348,96046 -static void pc_throttle(3402,97571 -static void pc_unthrottle(3436,98339 -void digi_send_break(3475,99242 -static void setup_empty_event(3501,100024 -static int get_termio(3525,100717 -void epca_setup(3530,100978 -enum epic_board_types epic_board_types3826,108780 - brd_xr 3827,108804 - brd_xem,3828,108817 - brd_cx,3829,108827 - brd_xrj,3830,108836 -} epca_info_tbl[3838,108992 -static int __devinit epca_init_one 3846,109085 -static struct pci_device_id epca_pci_tbl[3924,111332 -int __init init_PCI 3934,111736 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/scan_keyb.h,39 -#define __DRIVER_CHAR_SCAN_KEYB_H2,34 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hvc_console.c,2067 -#define HVC_MAJOR 44,1498 -#define HVC_MINOR 45,1520 -#define TIMEOUT 47,1541 -#define HVC_CLOSE_WAIT 53,1727 -#define HVC_ALLOC_TTY_ADAPTERS 61,2075 -static struct tty_driver *hvc_driver;63,2109 -static int sysrq_pressed;65,2173 -#define N_OUTBUF 68,2207 -#define N_INBUF 69,2227 -#define __ALIGNED__ 71,2248 -struct hvc_struct hvc_struct73,2301 -static struct list_head hvc_structs 90,2667 -static spinlock_t hvc_structs_lock 96,2838 -static uint32_t vtermnos[104,3195 -static int num_vterms 107,3278 -static struct task_struct *hvc_task;109,3306 -static int hvc_count 115,3470 -static int hvc_kicked;118,3562 -static void hvc_kick(121,3616 -static irqreturn_t hvc_handle_interrupt(131,3824 -static void hvc_unthrottle(137,3954 -struct hvc_struct *hvc_get_by_index(147,4266 -static int hvc_open(174,4855 -static void hvc_close(230,6325 -static void hvc_hangup(288,7739 -static void hvc_push(319,8482 -static inline int __hvc_write_user(338,8894 -static inline int __hvc_write_kernel(394,9987 -static int hvc_write(420,10558 -static int hvc_write_room(451,11360 -static int hvc_chars_in_buffer(461,11516 -#define HVC_POLL_READ 470,11665 -#define HVC_POLL_WRITE 471,11698 -#define HVC_POLL_QUICK 472,11732 -static int hvc_poll(474,11767 -static const cpumask_t cpus_in_xmon 572,14017 -int khvcd(580,14249 -static struct tty_operations hvc_ops 618,15015 -char hvc_driver_name[628,15247 -static struct vio_device_id hvc_driver_table[630,15288 -static struct vio_device_id hvc_driver_table[] __devinitdata=630,15288 -static void destroy_hvc_struct(637,15488 -static struct kobj_type hvc_kobj_type 653,15823 -static int __devinit hvc_probe(657,15901 -static int __devexit hvc_remove(689,16540 -static struct vio_driver hvc_vio_driver 725,17459 -int __init hvc_init(734,17736 -static void __exit hvc_exit(775,18937 -int hvc_instantiate(795,19532 -void hvc_console_print(807,19729 -static struct tty_driver *hvc_console_device(845,20510 -static int __init hvc_console_setup(851,20631 -struct console hvc_con_driver 856,20718 -static int __init hvc_console_init(866,20977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/fep.h,1961 -#define CSTART 2,1 -#define CMAX 3,29 -#define ISTART 4,57 -#define IMAX 5,85 -#define CIN 6,113 -#define GLOBAL 7,141 -#define EIN 8,169 -#define FEPSTAT 9,197 -#define CHANSTRUCT 10,225 -#define RXTXBUF 11,254 -struct global_data global_data14,285 -struct board_chan board_chan26,497 -#define SRXLWATER 99,1850 -#define SRXHWATER 100,1878 -#define STOUT 101,1906 -#define PAUSETX 102,1934 -#define RESUMETX 103,1962 -#define SAUXONOFFC 104,1990 -#define SENDBREAK 105,2018 -#define SETMODEM 106,2046 -#define SETIFLAGS 107,2074 -#define SONOFFC 108,2102 -#define STXLWATER 109,2130 -#define PAUSERX 110,2158 -#define RESUMERX 111,2186 -#define SETBUFFER 112,2214 -#define SETCOOKED 113,2242 -#define SETHFLOW 114,2270 -#define SETCTRLFLAGS 115,2298 -#define SETVNEXT 116,2326 -#define BREAK_IND 119,2356 -#define LOWTX_IND 120,2386 -#define EMPTYTX_IND 121,2416 -#define DATA_IND 122,2446 -#define MODEMCHG_IND 123,2476 -#define RTS 126,2508 -#define CD 127,2527 -#define DSR 128,2546 -#define CTS 129,2565 -#define RI 130,2584 -#define DTR 131,2603 -#define FEP_CBAUD 136,2708 -#define FEP_B0 137,2734 -#define FEP_B50 138,2774 -#define FEP_B75 139,2799 -#define FEP_B110 140,2824 -#define FEP_B134 141,2850 -#define FEP_B150 142,2876 -#define FEP_B200 143,2902 -#define FEP_B300 144,2928 -#define FEP_B600 145,2954 -#define FEP_B1200 146,2980 -#define FEP_B1800 147,3007 -#define FEP_B2400 148,3034 -#define FEP_B4800 149,3061 -#define FEP_B9600 150,3088 -#define FEP_B19200 151,3115 -#define FEP_B38400 152,3143 -#define FEP_EXTA 153,3171 -#define FEP_EXTB 154,3199 -#define FEP_CSIZE 155,3227 -#define FEP_CS5 156,3253 -#define FEP_CS6 157,3279 -#define FEP_CS7 158,3305 -#define FEP_CS8 159,3331 -#define FEP_CSTOPB 160,3357 -#define FEP_CREAD 161,3384 -#define FEP_PARENB 162,3410 -#define FEP_PARODD 163,3437 -#define FEP_HUPCL 164,3464 -#define FEP_CLOCAL 165,3490 -#define FEP_CIBAUD 166,3517 -#define FEP_CRTSCTS 167,3579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/efirtc.c,596 -#define EFI_RTC_VERSION 43,1255 -#define EFI_ISDST 45,1287 -#define EFI_RTC_EPOCH 49,1385 -static spinlock_t efi_rtc_lock 51,1414 -#define is_leap(is_leap56,1579 -static const unsigned short int __mon_yday[59,1676 -compute_yday(71,1967 -compute_wday(82,2248 -convert_to_efi_time(104,2607 -convert_from_efi_time(119,2989 -efi_rtc_ioctl(149,3635 -efi_rtc_open(268,6388 -efi_rtc_close(279,6611 -static struct file_operations efi_rtc_fops 288,6732 -static struct miscdevice efi_rtc_dev=295,6884 -efi_rtc_get_status(306,7044 -efi_rtc_read_proc(371,8729 -efi_rtc_init(384,9091 -efi_rtc_exit(409,9640 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/lp.c,1470 -#define LP_NO 140,5018 -#define ROUND_UP(ROUND_UP143,5073 -struct lp_struct lp_table[145,5114 -static unsigned int lp_count 147,5149 -static struct class_simple *lp_class;148,5183 -static struct parport *console_registered;151,5247 -#define LP_PREEMPT_REQUEST 157,5411 -#define LP_PARPORT_CLAIMED 158,5440 -#define r_dtr(r_dtr162,5539 -#define r_str(r_str163,5601 -#define w_ctr(w_ctr164,5665 -#define w_dtr(w_dtr165,5754 -static void lp_claim_parport_or_block(168,5913 -static void lp_release_parport(176,6161 -static int lp_preempt(185,6326 -static int lp_negotiate(197,6612 -static int lp_reset(207,6803 -static void lp_error 219,7065 -static int lp_check_status(234,7464 -static int lp_wait_ready(273,8372 -static ssize_t lp_write(294,8790 -static ssize_t lp_read(410,11563 -static int lp_open(486,13344 -static int lp_release(543,15362 -static int lp_ioctl(557,15787 -static struct file_operations lp_fops 662,18071 -#define CONSOLE_LP 677,18374 -#define CONSOLE_LP_STRICT 682,18579 -static void lp_console_write 686,18660 -static struct console lpcons 738,19781 -static int parport_nr[748,19998 -static char *parport[749,20070 -static int reset 750,20112 -static int __init lp_setup 756,20231 -static int lp_register(787,21005 -static void lp_attach 822,21916 -static void lp_detach 853,22504 -static struct parport_driver lp_driver 864,22737 -int __init lp_init 870,22843 -static int __init lp_init_module 932,24297 -static void lp_cleanup_module 960,24933 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/vme_scc.c,1820 -#define CHANNEL_A 53,1322 -#define CHANNEL_B 54,1342 -#define SCC_MINOR_BASE 56,1363 -static unsigned char scc_shadow[59,1432 -static volatile unsigned char *scc_del 62,1528 -static unsigned char scc_last_status_reg[65,1655 -static struct tty_driver *scc_driver;92,2967 -struct scc_port scc_ports[94,3006 -int scc_initialized 96,3037 -static struct real_driver scc_real_driver 102,3266 -static struct tty_operations scc_ops 117,3613 -static int scc_init_drivers(140,4279 -static void scc_init_portstructs(175,5177 -static int mvme147_scc_init(196,5621 -static int mvme162_scc_init(263,7722 -static int bvme6000_scc_init(334,9908 -static int vme_scc_init(398,11865 -static irqreturn_t scc_rx_int(424,12395 -static irqreturn_t scc_spcond_int(462,13415 -static irqreturn_t scc_tx_int(513,14690 -static irqreturn_t scc_stat_int(555,15967 -static void scc_disable_tx_interrupts(588,16891 -static void scc_enable_tx_interrupts(601,17154 -static void scc_disable_rx_interrupts(615,17442 -static void scc_enable_rx_interrupts(628,17721 -static int scc_get_CD(641,17995 -static void scc_shutdown_port(650,18151 -static int scc_set_real_termios 661,18358 -static int scc_chars_in_buffer 743,20819 -static void scc_hungup(761,21481 -static void scc_close(768,21587 -static void scc_setsignals(779,21880 -static void scc_send_xchar(794,22234 -static int scc_open 808,22628 -static void scc_throttle 921,26087 -static void scc_unthrottle 937,26443 -static int scc_ioctl(953,26804 -static void scc_break_ctl(960,26940 -#define scc_delay(scc_delay977,27435 -static void scc_ch_write 979,27509 -static void scc_console_write 1008,28008 -static struct tty_driver *scc_console_device(1023,28264 -static int __init scc_console_setup(1030,28386 -static struct console sercons 1036,28474 -static int __init vme_scc_console_init(1046,28666 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/smapi.h,150 -#define _LINUX_SMAPI_H50,2122 -#define TRUE 52,2146 -#define FALSE 53,2161 -#define BOOLEAN 54,2177 -} SMAPI_DSP_SETTINGS;SMAPI_DSP_SETTINGS72,2598 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/tp3780i.h,734 -#define _LINUX_TP3780I_H50,2111 -#define TP_ABILITIES_INTS_PER_SEC 57,2237 -#define TP_ABILITIES_DATA_SIZE 58,2286 -#define TP_ABILITIES_INST_SIZE 59,2332 -#define TP_ABILITIES_MWAVEOS_NAME 60,2378 -#define TP_ABILITIES_BIOSTASK_NAME 61,2436 -#define TP_CFG_NumTransfers 65,2550 -#define TP_CFG_RerequestTimer 66,2603 -#define TP_CFG_MEMCS16 67,2650 -#define TP_CFG_IsaMemCmdWidth 68,2722 -#define TP_CFG_GateIOCHRDY 69,2780 -#define TP_CFG_EnablePwrMgmt 70,2838 -#define TP_CFG_HBusTimerValue 71,2910 -#define TP_CFG_DisableLBusTimeout 72,2972 -#define TP_CFG_N_Divisor 73,3034 -#define TP_CFG_M_Multiplier 74,3094 -#define TP_CFG_PllBypass 75,3136 -#define TP_CFG_ChipletEnable 76,3189 -} THINKPAD_BD_DATA;THINKPAD_BD_DATA83,3367 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/3780i.c,614 -static spinlock_t dsp_lock 64,2418 -static unsigned long flags;65,2467 -static void PaceMsaAccess(68,2497 -unsigned short dsp3780I_ReadMsaCfg(75,2604 -void dsp3780I_WriteMsaCfg(95,3205 -void dsp3780I_WriteGenCfg(110,3728 -unsigned char dsp3780I_ReadGenCfg(144,4699 -int dsp3780I_EnableDSP(171,5481 -int dsp3780I_DisableDSP(352,10927 -int dsp3780I_Reset(381,11612 -int dsp3780I_Run(425,12792 -int dsp3780I_ReadDStore(470,13894 -int dsp3780I_ReadAndClearDStore(510,15018 -int dsp3780I_WriteDStore(552,16207 -int dsp3780I_ReadIStore(593,17338 -int dsp3780I_WriteIStore(640,18713 -int dsp3780I_GetIPCSource(688,20094 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/smapi.c,239 -static unsigned short g_usSmapiPort 54,2199 -int smapi_request(57,2242 -int smapi_query_DSP_cfg(127,4579 -int smapi_set_DSP_cfg(203,7315 -int smapi_set_DSP_power_state(496,17585 -int SmapiQuerySystemID(515,18049 -int smapi_init(536,18540 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/mwavedd.c,792 -int mwave_debug 74,2810 -int mwave_3780i_irq 75,2831 -int mwave_3780i_io 76,2856 -int mwave_uart_irq 77,2880 -int mwave_uart_io 78,2904 -MWAVE_DEVICE_DATA mwave_s_mdd;90,3351 -static int mwave_open(92,3383 -static int mwave_close(105,3667 -static int mwave_ioctl(119,3949 -static ssize_t mwave_read(388,11469 -static ssize_t mwave_write(399,11729 -static int register_serial_portandirq(411,12003 -static struct file_operations mwave_fops 454,12783 -static struct miscdevice mwave_misc_dev 464,12973 -struct device mwave_device;471,13128 -#define mwave_show_function(mwave_show_function474,13231 -#define mwave_dev_rd_attr(mwave_dev_rd_attr483,13581 -static struct device_attribute * const mwave_dev_attrs[493,14026 -static void mwave_exit(508,14356 -static int __init mwave_init(546,15234 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/tp3780i.c,703 -static unsigned short s_ausThinkpadIrqToField[63,2391 -static unsigned short s_ausThinkpadDmaToField[66,2577 -static unsigned short s_numIrqs 68,2697 -static void EnableSRAM(71,2752 -static irqreturn_t UartInterrupt(99,3640 -static irqreturn_t DspInterrupt(106,3836 -int tp3780I_InitializeBoardData(158,5584 -int tp3780I_Cleanup(183,6294 -int tp3780I_CalcResources(193,6475 -int tp3780I_ClaimResources(241,8024 -int tp3780I_ReleaseResources(269,8907 -int tp3780I_EnableDSP(292,9427 -int tp3780I_DisableDSP(426,13698 -int tp3780I_ResetDSP(449,14293 -int tp3780I_StartDSP(469,14706 -int tp3780I_QueryAbilities(488,15128 -int tp3780I_ReadWriteDspDStore(524,16462 -int tp3780I_ReadWriteDspIStore(560,17558 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/mwavepub.h,681 -#define _LINUX_MWAVEPUB_H51,2169 -typedef struct _MW_ABILITIES _MW_ABILITIES56,2228 -} MW_ABILITIES, *pMW_ABILITIES;pMW_ABILITIES66,2506 -typedef struct _MW_READWRITE _MW_READWRITE69,2540 -} MW_READWRITE, *pMW_READWRITE;pMW_READWRITE73,2751 -#define IOCTL_MW_RESET 75,2784 -#define IOCTL_MW_RUN 76,2836 -#define IOCTL_MW_DSP_ABILITIES 77,2888 -#define IOCTL_MW_READ_DATA 78,2954 -#define IOCTL_MW_READCLEAR_DATA 79,3020 -#define IOCTL_MW_READ_INST 80,3086 -#define IOCTL_MW_WRITE_DATA 81,3152 -#define IOCTL_MW_WRITE_INST 82,3218 -#define IOCTL_MW_REGISTER_IPC 83,3284 -#define IOCTL_MW_UNREGISTER_IPC 84,3341 -#define IOCTL_MW_GET_IPC 85,3399 -#define IOCTL_MW_TRACE 86,3457 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/3780i.h,2816 -#define _LINUX_3780I_H50,2105 -#define DSP_IsaSlaveControl 55,2193 -#define DSP_IsaSlaveStatus 56,2268 -#define DSP_ConfigAddress 57,2342 -#define DSP_ConfigData 58,2422 -#define DSP_HBridgeControl 59,2499 -#define DSP_MsaAddrLow 60,2572 -#define DSP_MsaAddrHigh 61,2649 -#define DSP_MsaDataDSISHigh 62,2727 -#define DSP_MsaDataISLow 63,2831 -#define DSP_ReadAndClear 64,2918 -#define DSP_Interrupt 65,2999 -} DSP_ISA_SLAVE_CONTROL;DSP_ISA_SLAVE_CONTROL72,3390 -} DSP_HBRIDGE_CONTROL;DSP_HBRIDGE_CONTROL81,3894 -#define DSP_UartCfg1Index 85,4008 -#define DSP_UartCfg2Index 86,4079 -#define DSP_HBridgeCfg1Index 87,4150 -#define DSP_HBridgeCfg2Index 88,4224 -#define DSP_BusMasterCfg1Index 89,4298 -#define DSP_BusMasterCfg2Index 90,4379 -#define DSP_IsaProtCfgIndex 91,4460 -#define DSP_PowerMgCfgIndex 92,4538 -#define DSP_HBusTimerCfgIndex 93,4618 -} DSP_UART_CFG_1;DSP_UART_CFG_1101,5005 -} DSP_UART_CFG_2;DSP_UART_CFG_2106,5157 -} DSP_HBRIDGE_CFG_1;DSP_HBRIDGE_CFG_1114,5496 -} DSP_HBRIDGE_CFG_2;DSP_HBRIDGE_CFG_2119,5651 -} DSP_BUSMASTER_CFG_1;DSP_BUSMASTER_CFG_1127,6024 -} DSP_BUSMASTER_CFG_2;DSP_BUSMASTER_CFG_2132,6178 -} DSP_ISA_PROT_CFG;DSP_ISA_PROT_CFG138,6344 -} DSP_POWER_MGMT_CFG;DSP_POWER_MGMT_CFG143,6510 -} DSP_HBUS_TIMER_CFG;DSP_HBUS_TIMER_CFG147,6610 -#define DSP_ChipID 152,6683 -#define DSP_MspBootDomain 153,6729 -#define DSP_LBusTimeoutDisable 154,6775 -#define DSP_ClockControl_1 155,6821 -#define DSP_ClockControl_2 156,6867 -#define DSP_ChipReset 157,6913 -#define DSP_GpioModeControl_15_8 158,6959 -#define DSP_GpioDriverEnable_15_8 159,7005 -#define DSP_GpioOutputData_15_8 160,7051 -} DSP_BOOT_DOMAIN;DSP_BOOT_DOMAIN167,7331 -} DSP_LBUS_TIMEOUT_DISABLE;DSP_LBUS_TIMEOUT_DISABLE172,7480 -} DSP_CHIP_RESET;DSP_CHIP_RESET186,8199 -} DSP_CLOCK_CONTROL_1;DSP_CLOCK_CONTROL_1193,8473 -} DSP_CLOCK_CONTROL_2;DSP_CLOCK_CONTROL_2198,8611 -} DSP_GPIO_OUTPUT_DATA_15_8;DSP_GPIO_OUTPUT_DATA_15_8217,9072 -} DSP_GPIO_DRIVER_ENABLE_15_8;DSP_GPIO_DRIVER_ENABLE_15_8236,9547 -} DSP_GPIO_MODE_15_8;DSP_GPIO_MODE_15_8247,9834 -#define MW_ADC_MASK 250,9908 -#define MW_AIC2_MASK 251,9938 -#define MW_MIDI_MASK 252,9968 -#define MW_CDDAC_MASK 253,9998 -#define MW_AIC1_MASK 254,10028 -#define MW_UART_MASK 255,10058 -#define MW_ACI_MASK 256,10088 -typedef struct _DSP_3780I_CONFIG_SETTINGS _DSP_3780I_CONFIG_SETTINGS264,10364 -} DSP_3780I_CONFIG_SETTINGS;DSP_3780I_CONFIG_SETTINGS316,11988 -#define MKWORD(MKWORD349,13780 -#define MKBYTE(MKBYTE350,13830 -#define WriteMsaCfg(WriteMsaCfg352,13880 -#define ReadMsaCfg(ReadMsaCfg353,13957 -#define WriteGenCfg(WriteGenCfg354,14020 -#define ReadGenCfg(ReadGenCfg355,14099 -#define InWordDsp(InWordDsp357,14165 -#define InByteDsp(InByteDsp358,14222 -#define OutWordDsp(OutWordDsp359,14279 -#define OutByteDsp(OutByteDsp360,14343 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mwave/mwavedd.h,995 -#define _LINUX_MWAVEDD_H50,2121 -#define PRINTK_ERROR 65,2435 -#define KERN_ERR_MWAVE 66,2463 -#define TRACE_MWAVE 68,2506 -#define TRACE_SMAPI 69,2537 -#define TRACE_3780I 70,2568 -#define TRACE_TP3780I 71,2599 -#define PRINTK_1(PRINTK_174,2647 -#define PRINTK_2(PRINTK_279,2790 -#define PRINTK_3(PRINTK_384,2933 -#define PRINTK_4(PRINTK_489,3076 -#define PRINTK_5(PRINTK_594,3219 -#define PRINTK_6(PRINTK_699,3362 -#define PRINTK_7(PRINTK_7104,3505 -#define PRINTK_8(PRINTK_8109,3648 -#define PRINTK_1(PRINTK_1115,3797 -#define PRINTK_2(PRINTK_2116,3819 -#define PRINTK_3(PRINTK_3117,3844 -#define PRINTK_4(PRINTK_4118,3872 -#define PRINTK_5(PRINTK_5119,3903 -#define PRINTK_6(PRINTK_6120,3937 -#define PRINTK_7(PRINTK_7121,3974 -#define PRINTK_8(PRINTK_8122,4014 -typedef struct _MWAVE_IPC _MWAVE_IPC126,4066 -} MWAVE_IPC;MWAVE_IPC132,4261 -typedef struct _MWAVE_DEVICE_DATA _MWAVE_DEVICE_DATA134,4275 -} MWAVE_DEVICE_DATA, *pMWAVE_DEVICE_DATA;pMWAVE_DEVICE_DATA148,4798 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2.h,153 -#define IP2_H17,504 -#define IP2_TTY_MAJOR 27,661 -#define IP2_CALLOUT_MAJOR 28,691 -#define IP2_IPL_MAJOR 29,721 -static ip2config_t ip2config 94,3439 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2ellis.c,1033 -static int ii2Safe;54,2041 -static int iiDelayed;56,2108 -static struct timer_list * pDelayTimer;58,2222 -static wait_queue_head_t pDelayWait;59,2288 -static rwlock_t Dl_spinlock;60,2352 -iiEllisInit(87,2975 -iiEllisCleanup(107,3501 -iiSetAddress(132,4397 -iiReset(185,6108 -iiResetDelay(245,8232 -iiInitialize(277,9393 -ii2DelayWakeup(573,16805 -ii2DelayTimer(597,17667 -static int ii2DelValue 691,21749 -ii2DelayIO(697,21999 -ii2Nop(723,22609 -iiWriteBuf16(752,23729 -iiWriteBuf8(781,24822 -iiReadBuf16(810,25871 -iiReadBuf8(839,26950 -iiReadWord16(865,27781 -iiReadWord8(885,28495 -iiWriteWord16(910,29257 -iiWriteWord8(931,29992 -iiWaitForTxEmptyII(962,31121 -iiWaitForTxEmptyIIEX(1037,33616 -iiTxMailEmptyII(1082,34987 -iiTxMailEmptyIIEX(1105,35676 -iiTrySendMailII(1127,36386 -iiTrySendMailIIEX(1157,37223 -iiGetMailII(1181,37912 -iiGetMailIIEX(1206,38608 -iiEnableMailIrqII(1229,39181 -iiEnableMailIrqIIEX(1249,39745 -iiWriteMaskII(1268,40235 -iiWriteMaskIIEX(1288,40774 -iiDownloadBlock 1324,42076 -iiDownloadAll(1454,46201 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2cmd.c,1409 -static UCHAR ct02[48,2011 -static UCHAR ct03[49,2085 -static UCHAR ct04[50,2159 -static UCHAR ct05[51,2233 -static UCHAR ct06[52,2307 -static UCHAR ct07[53,2383 -static UCHAR ct08[54,2455 -static UCHAR ct09[55,2527 -static UCHAR ct10[56,2599 -static UCHAR ct11[57,2673 -static UCHAR ct12[58,2744 -static UCHAR ct13[59,2816 -static UCHAR ct14[60,2891 -static UCHAR ct16[62,3042 -static UCHAR ct17[63,3118 -static UCHAR ct18[64,3194 -static UCHAR ct19[65,3269 -static UCHAR ct20[66,3344 -static UCHAR ct21[67,3419 -static UCHAR ct22[68,3494 -static UCHAR ct23[69,3569 -static UCHAR ct24[70,3644 -static UCHAR ct25[71,3718 -static UCHAR ct26[72,3792 -static UCHAR ct27[73,3867 -static UCHAR ct30[76,4097 -static UCHAR ct31[77,4176 -static UCHAR ct32[78,4255 -static UCHAR ct33[79,4334 -static UCHAR ct34[80,4413 -static UCHAR ct35[81,4491 -static UCHAR ct36[82,4568 -static UCHAR ct38[91,4995 -static UCHAR ct41[94,5225 -static UCHAR ct47[100,5672 -static UCHAR ct53[106,6146 -static UCHAR ct54[107,6223 -static UCHAR ct55[108,6302 -static UCHAR ct56[109,6381 -static UCHAR ct57[110,6454 -static UCHAR ct58[111,6529 -static UCHAR ct59[112,6606 -static UCHAR ct60[113,6683 -static UCHAR ct63[116,6921 -static UCHAR ct64[117,6996 -static UCHAR ct79[132,8155 -static UCHAR ct87[140,8777 -static UCHAR ct89[142,8933 -i2cmdSetSeq(170,10090 -i2cmdUnixFlags(200,10949 -i2cmdBaudRemap(225,11746 -i2cmdBaudDef(246,12350 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2trace.c,348 -unsigned long namebuf[25,648 -} tbuf;35,767 -struct sigaction act;37,776 -typedef enum { kChar,39,799 -typedef enum { kChar, kInt,39,799 -typedef enum { kChar, kInt, kAddr,39,799 -typedef enum { kChar, kInt, kAddr, kHex 39,799 -typedef enum { kChar, kInt, kAddr, kHex } eFormat;eFormat39,799 -int active 41,851 -void quit(42,867 -int main 44,896 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2cmd.h,8598 -#define I2CMD_H 29,1218 -typedef struct _cmdSyntax_cmdSyntax44,1874 -} cmdSyntax, *cmdSyntaxPtr;cmdSyntaxPtr54,2313 -#define INL 58,2372 -#define BYP 59,2435 -#define BTH 60,2498 -#define END 61,2546 -#define VIP 62,2621 -#define VAR 65,2796 -static UCHAR ct02[89,3975 -static UCHAR ct03[90,3996 -static UCHAR ct04[91,4017 -static UCHAR ct05[92,4038 -static UCHAR ct06[93,4059 -static UCHAR ct07[94,4080 -static UCHAR ct08[95,4101 -static UCHAR ct09[96,4122 -static UCHAR ct10[97,4143 -static UCHAR ct11[98,4164 -static UCHAR ct12[99,4185 -static UCHAR ct13[100,4206 -static UCHAR ct14[101,4227 -static UCHAR ct15[102,4248 -static UCHAR ct16[103,4269 -static UCHAR ct17[104,4290 -static UCHAR ct18[105,4311 -static UCHAR ct19[106,4332 -static UCHAR ct20[107,4353 -static UCHAR ct21[108,4374 -static UCHAR ct22[109,4395 -static UCHAR ct23[110,4416 -static UCHAR ct24[111,4437 -static UCHAR ct25[112,4458 -static UCHAR ct26[113,4479 -static UCHAR ct27[114,4500 -static UCHAR ct28[115,4521 -static UCHAR ct29[116,4542 -static UCHAR ct30[117,4563 -static UCHAR ct31[118,4584 -static UCHAR ct32[119,4605 -static UCHAR ct33[120,4626 -static UCHAR ct34[121,4647 -static UCHAR ct35[122,4668 -static UCHAR ct36[123,4689 -static UCHAR ct36a[124,4710 -static UCHAR ct41[125,4732 -static UCHAR ct42[126,4753 -static UCHAR ct43[127,4774 -static UCHAR ct44[128,4795 -static UCHAR ct45[129,4816 -static UCHAR ct46[130,4837 -static UCHAR ct48[131,4858 -static UCHAR ct49[132,4879 -static UCHAR ct50[133,4900 -static UCHAR ct51[134,4921 -static UCHAR ct52[135,4942 -static UCHAR ct56[136,4963 -static UCHAR ct57[137,4984 -static UCHAR ct58[138,5005 -static UCHAR ct59[139,5026 -static UCHAR ct60[140,5047 -static UCHAR ct61[141,5068 -static UCHAR ct62[142,5089 -static UCHAR ct63[143,5110 -static UCHAR ct64[144,5131 -static UCHAR ct65[145,5152 -static UCHAR ct66[146,5173 -static UCHAR ct67[147,5194 -static UCHAR ct68[148,5215 -static UCHAR ct69[149,5236 -static UCHAR ct70[150,5257 -static UCHAR ct71[151,5278 -static UCHAR ct72[152,5299 -static UCHAR ct73[153,5320 -static UCHAR ct74[154,5341 -static UCHAR ct75[155,5362 -static UCHAR ct76[156,5383 -static UCHAR ct77[157,5404 -static UCHAR ct78[158,5425 -static UCHAR ct79[159,5446 -static UCHAR ct80[160,5467 -static UCHAR ct81[161,5488 -static UCHAR ct82[162,5509 -static UCHAR ct83[163,5530 -static UCHAR ct84[164,5551 -static UCHAR ct85[165,5572 -static UCHAR ct86[166,5593 -static UCHAR ct87[167,5614 -static UCHAR ct88[168,5635 -static UCHAR ct89[169,5656 -static UCHAR ct90[170,5677 -static UCHAR ct91[171,5698 -static UCHAR cc01[172,5719 -static UCHAR cc02[173,5740 -#define CMD_DTRUP 190,6552 -#define CMD_DTRDN 191,6604 -#define CMD_RTSUP 192,6656 -#define CMD_RTSDN 193,6708 -#define CMD_STARTFL 194,6760 -#define CMD_DTRRTS_UP 196,6825 -#define CMD_DTRRTS_DN 197,6889 -#define CMD_SETBAUD(CMD_SETBAUD200,6996 -#define CBR_50 203,7087 -#define CBR_75 204,7110 -#define CBR_110 205,7133 -#define CBR_134 206,7156 -#define CBR_150 207,7179 -#define CBR_200 208,7202 -#define CBR_300 209,7225 -#define CBR_600 210,7248 -#define CBR_1200 211,7271 -#define CBR_1800 212,7294 -#define CBR_2400 213,7318 -#define CBR_4800 214,7342 -#define CBR_9600 215,7366 -#define CBR_19200 216,7390 -#define CBR_38400 217,7414 -#define CBR_2000 218,7438 -#define CBR_3600 219,7462 -#define CBR_7200 220,7486 -#define CBR_56000 221,7510 -#define CBR_57600 222,7534 -#define CBR_64000 223,7558 -#define CBR_76800 224,7582 -#define CBR_115200 225,7606 -#define CBR_C1 226,7630 -#define CBR_C2 227,7679 -#define CBR_153600 228,7728 -#define CBR_230400 229,7752 -#define CBR_307200 230,7776 -#define CBR_460800 231,7800 -#define CBR_921600 232,7824 -#define CMD_SETBITS(CMD_SETBITS236,7874 -#define CSZ_5 239,7965 -#define CSZ_6 240,7982 -#define CSZ_7 241,7999 -#define CSZ_8 242,8016 -#define CMD_SETSTOP(CMD_SETSTOP246,8064 -#define CST_1 249,8155 -#define CST_15 250,8172 -#define CST_2 251,8207 -#define CMD_SETPAR(CMD_SETPAR255,8249 -#define CSP_NP 258,8339 -#define CSP_OD 259,8370 -#define CSP_EV 260,8402 -#define CSP_SP 261,8435 -#define CSP_MK 262,8469 -#define CMD_DEF_IXON(CMD_DEF_IXON266,8554 -#define CMD_DEF_IXOFF(CMD_DEF_IXOFF271,8698 -#define CMD_STOPFL 274,8791 -#define CMD_HOTACK 278,8899 -#define CMDVALUE_IRQ 283,9049 -#define CMD_SET_IRQ(CMD_SET_IRQ285,9187 -#define CIR_POLL 288,9278 -#define CIR_3 289,9316 -#define CIR_4 290,9346 -#define CIR_5 291,9376 -#define CIR_7 292,9406 -#define CIR_10 293,9436 -#define CIR_11 294,9467 -#define CIR_12 295,9498 -#define CIR_15 296,9529 -#define CMD_IXON_OPT(CMD_IXON_OPT300,9605 -#define CIX_NONE 303,9697 -#define CIX_XON 304,9762 -#define CIX_XANY 305,9811 -#define CMD_OXON_OPT(CMD_OXON_OPT309,9908 -#define COX_NONE 312,10000 -#define COX_XON 313,10044 -#define CMD_CTS_REP 316,10112 -#define CMD_CTS_NREP 317,10179 -#define CMD_DCD_REP 319,10247 -#define CMD_DCD_NREP 320,10314 -#define CMD_DSR_REP 322,10382 -#define CMD_DSR_NREP 323,10449 -#define CMD_RI_REP 325,10517 -#define CMD_RI_NREP 326,10584 -#define CMD_BRK_REP(CMD_BRK_REP330,10698 -#define CBK_STAT 333,10789 -#define CBK_NULL 334,10861 -#define CBK_STAT_SEQ 335,10920 -#define CBK_SEQ 337,11055 -#define CBK_FLSH 339,11155 -#define CBK_POSIX 340,11223 -#define CBK_SINGLE 341,11295 -#define CMD_BRK_NREP 344,11425 -#define CMD_MAX_BLOCK(CMD_MAX_BLOCK348,11546 -#define CMD_CTSFL_ENAB 353,11672 -#define CMD_CTSFL_DSAB 354,11745 -#define CMD_RTSFL_ENAB 355,11818 -#define CMD_RTSFL_DSAB 356,11891 -#define CMD_ISTRIP_OPT(CMD_ISTRIP_OPT360,11993 -#define CIS_NOSTRIP 363,12087 -#define CIS_STRIP 364,12149 -#define CMD_SEND_BRK(CMD_SEND_BRK368,12253 -#define CMD_SET_ERROR(CMD_SET_ERROR373,12376 -#define CSE_ESTAT 376,12469 -#define CSE_NOREP 377,12525 -#define CSE_DROP 378,12588 -#define CSE_NULL 379,12634 -#define CSE_MARK 380,12678 -#define CMD_SET_REPLACEMENT(CMD_SET_REPLACEMENT382,12749 -#define CSE_REPLACE 387,12911 -#define CSE_STAT_REPLACE 390,13024 -#define CMD_SET_SEQ(CMD_SET_SEQ406,13654 -#define CMD_OPOST_ON(CMD_OPOST_ON417,14344 -#define CMD_OPOST_OFF 421,14460 -#define CMD_RESUME 423,14536 -#define CMD_SETBAUD_TX(CMD_SETBAUD_TX428,14702 -#define CMD_SETBAUD_RX(CMD_SETBAUD_RX433,14854 -#define CMD_PING_REQ(CMD_PING_REQ440,15137 -#define CMD_HOT_ENAB 443,15229 -#define CMD_HOT_DSAB 444,15298 -#define CMD_UNIX_FLAGS(CMD_UNIX_FLAGS453,15604 -#define CMD_DSRFL_ENAB 455,15681 -#define CMD_DSRFL_DSAB 456,15755 -#define CMD_DTRFL_ENAB 457,15829 -#define CMD_DTRFL_DSAB 458,15902 -#define CMD_BAUD_RESET 459,15975 -#define CMD_BAUD_REMAP(CMD_BAUD_REMAP466,16207 -#define CMD_BAUD_DEF1(CMD_BAUD_DEF1471,16354 -#define CMD_BAUD_DEF2(CMD_BAUD_DEF2476,16492 -#define CMD_PAUSE(CMD_PAUSE480,16615 -#define CMD_SUSPEND 483,16704 -#define CMD_UNSUSPEND 484,16767 -#define CMD_PARCHK(CMD_PARCHK488,16868 -#define CPK_ENAB 491,16958 -#define CPK_DSAB 492,17017 -#define CMD_BMARK_REQ 494,17078 -#define CMD_INLOOP(CMD_INLOOP499,17189 -#define CIN_DISABLE 502,17279 -#define CIN_ENABLE 503,17333 -#define CIN_REMOTE 504,17386 -#define CMD_HOT_TIME(CMD_HOT_TIME509,17546 -#define CMD_DEF_OXON(CMD_DEF_OXON515,17692 -#define CMD_DEF_OXOFF(CMD_DEF_OXOFF520,17839 -#define CMD_RTS_XMIT(CMD_RTS_XMIT525,17988 -#define CHD_DISABLE 528,18080 -#define CHD_ENABLE 529,18103 -#define CMD_SETHIGHWAT(CMD_SETHIGHWAT533,18180 -#define CMD_START_SELFL(CMD_START_SELFL538,18320 -#define CMD_END_SELFL(CMD_END_SELFL543,18459 -#define CMD_HWFLOW_OFF 546,18552 -#define CMD_ODSRFL_ENAB 547,18627 -#define CMD_ODSRFL_DSAB 548,18697 -#define CMD_ODCDFL_ENAB 549,18768 -#define CMD_ODCDFL_DSAB 550,18838 -#define CMD_LOADLEVEL(CMD_LOADLEVEL554,18986 -#define CMD_STATDATA(CMD_STATDATA559,19153 -#define CSTD_DISABLE/562,19245 -#define CSTD_ENABLE 563,19320 -#define CMD_BREAK_ON 566,19425 -#define CMD_BREAK_OFF 567,19496 -#define CMD_GETFC 568,19570 -#define CMD_XMIT_NOW(CMD_XMIT_NOW573,19718 -#define CMD_DIVISOR_LATCH(CMD_DIVISOR_LATCH578,19848 -#define CDL_RX 583,20023 -#define CDL_TX 584,20061 -#define CMD_GET_STATUS 589,20205 -#define CMD_GET_TXCNT 593,20310 -#define CMD_GET_RXCNT 597,20414 -#define CMD_GET_BOXIDS 600,20497 -#define CMD_ENAB_MULT(CMD_ENAB_MULT604,20624 -#define CEM_DISABLE 612,21004 -#define CEM_ENABLE 613,21027 -#define CMD_RCV_ENABLE(CMD_RCV_ENABLE617,21130 -#define CRE_OFF 620,21222 -#define CRE_ON 621,21270 -#define CRE_INTOFF 622,21317 -#define CRE_INTON 623,21386 -#define CMD_HW_TEST 628,21596 -#define CMD_RCV_THRESHOLD(CMD_RCV_THRESHOLD635,21810 -#define CMD_DSS_NOW 642,22040 -#define CMD_SET_SILO(CMD_SET_SILO648,22237 -#define CMD_LBREAK(CMD_LBREAK655,22451 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2lib.c,861 -unsigned char DBGBuf[95,4093 -unsigned short I 96,4123 -WriteDBGBuf(99,4158 -fatality(116,4456 -i2Validate 145,4922 -iiSendPendingMail(163,5597 -i2InitChannels 220,7671 -i2DeQueueNeeds(362,11826 -i2QueueNeeds(440,13854 -i2QueueCommands(527,16515 -i2GetStatus(785,24109 -i2Input(826,25395 -i2InputFlush(915,28061 -i2InputAvailable(970,29578 -i2Output(1011,31010 -i2FlushOutput(1211,36586 -i2RetryFlushOutput(1232,37080 -i2DrainWakeup(1276,38368 -i2DrainOutput(1285,38565 -i2OutputFree(1350,40582 -ip2_owake(1373,41105 -set_baud_params(1396,41511 -static unsigned char junkBuffer[1438,42814 -static unsigned char cmdBuffer[1442,43019 -static char xlatDss[1446,43192 -i2StripFifo(1465,43801 -i2Write2Fifo(1867,54930 -i2StuffFifoBypass(1894,55866 -i2StuffFifoFlow(1964,58035 -i2StuffFifoInline(2001,59288 -serviceOutgoingFifo(2132,63513 -i2ServiceBoard 2173,65154 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2types.h,523 -#define IP2TYPES_H17,502 -#define IP2_MAX_BOARDS 27,777 -#define IP2_PORTS_PER_BOARD 28,809 -#define IP2_MAX_PORTS 29,854 -#define ISA 31,922 -#define PCI 32,939 -#define EISA 33,956 -typedef struct tty_struct * PTTY;PTTY39,1044 -typedef wait_queue_head_t PWAITQ;PWAITQ40,1080 -typedef unsigned char UCHAR;UCHAR42,1117 -typedef unsigned int UINT;UINT43,1154 -typedef unsigned short USHORT;USHORT44,1190 -typedef unsigned long ULONG;ULONG45,1228 -} ip2config_t;ip2config_t55,1445 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2lib.h,1569 -#define I2LIB_H 15,492 -#define MAX_OBUF_BLOCK 51,2174 -#define MAX_CBUF_BLOCK 69,3335 -#define IBUF_SIZE 71,3412 -#define OBUF_SIZE 72,3490 -#define CBUF_SIZE 73,3569 -typedef struct _i2ChanStr_i2ChanStr75,3643 -} i2ChanStr, *i2ChanStrPtr;i2ChanStrPtr232,8884 -#define STARTFL_FLAG 240,9094 -#define STOPFL_FLAG 241,9117 -#define CHANNEL_MAGIC_BITS 245,9156 -#define CHANNEL_MAGIC 246,9190 -#define CHANNEL_SUPPORT 249,9310 -#define NEED_FLOW 254,9441 -#define NEED_INLINE 255,9507 -#define NEED_BYPASS 256,9575 -#define NEED_CREDIT 257,9635 -#define I2_DCD 265,9975 -#define I2_CTS 266,9992 -#define I2_DSR 267,10009 -#define I2_RI 268,10026 -#define I2_DTR 272,10106 -#define I2_RTS 273,10123 -#define I2_BRK 277,10193 -#define I2_PAR 278,10241 -#define I2_FRA 279,10297 -#define I2_OVR 280,10353 -#define I2_DDCD 284,10467 -#define I2_DCTS 285,10529 -#define I2_DDSR 286,10591 -#define I2_DRI 287,10653 -#define HOT_CLEAR 291,10730 -#define CO_NBLOCK_WRITE 295,10826 -#define I2_OUTFLOW_CTS 300,10949 -#define I2_INFLOW_RTS 301,10980 -#define I2_INFLOW_DSR 302,11011 -#define I2_INFLOW_DTR 303,11042 -#define I2_OUTFLOW_DSR 304,11073 -#define I2_OUTFLOW_DTR 305,11104 -#define I2_OUTFLOW_XON 306,11135 -#define I2_OUTFLOW_XANY 307,11166 -#define I2_INFLOW_XON 308,11197 -#define I2_CRTSCTS 310,11229 -#define I2_IXANY_MODE 311,11284 -#define i2SetOption(i2SetOption319,11527 -#define i2ClrOption(i2ClrOption320,11590 -#define i2SetFatalTrap(i2SetFatalTrap324,11691 -#define ip2trace(ip2trace343,12447 -#define C_IN_LINE 348,12534 -#define C_BYPASS 349,12554 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2ellis.h,3272 -#define I2ELLIS_H 37,1293 -#define MAX_BOX 57,1855 -typedef struct _bidStat_bidStat59,1875 -} bidStat, *bidStatPtr;bidStatPtr62,1936 -#define FF(FF99,3722 -#define NN(NN100,3754 -#define L(L101,3786 -#define SSS(SSS102,3817 -#define BID_HAS_654(BID_HAS_654104,3845 -#define BID_NO_BOX 105,3885 -#define BID_8PORT 106,3922 -#define BID_4PORT 107,3964 -#define BID_EXP_MASK 108,4007 -#define BID_EXP_8PORT 109,4050 -#define BID_EXP_4PORT 110,4090 -#define BID_EXP_UNDEF 111,4130 -#define BID_EXP_16PORT 112,4174 -#define BID_LCD_CTRL 113,4215 -#define BID_LCD_NONE 114,4265 -#define BID_LCD_PRES 115,4321 -#define BID_CON_MASK 116,4377 -#define BID_CON_DB25 117,4429 -#define BID_CON_RJ45 118,4471 -#define CH_QUEUE_SIZE 130,4993 -typedef struct _i2eBordStr_i2eBordStr132,5033 -} i2eBordStr, *i2eBordStrPtr;i2eBordStrPtr408,14744 -#define iiDelay(iiDelay414,14988 -#define iiWriteBuf(iiWriteBuf415,15038 -#define iiReadBuf(iiReadBuf416,15095 -#define iiWriteWord(iiWriteWord418,15152 -#define iiReadWord(iiReadWord419,15208 -#define iiWaitForTxEmpty(iiWaitForTxEmpty421,15262 -#define iiTxMailEmpty(iiTxMailEmpty423,15324 -#define iiTrySendMail(iiTrySendMail424,15380 -#define iiGetMail(iiGetMail426,15439 -#define iiEnableMailIrq(iiEnableMailIrq427,15491 -#define iiDisableMailIrq(iiDisableMailIrq428,15549 -#define iiWriteMask(iiWriteMask429,15605 -#define YES 435,15784 -#define NO 436,15798 -#define NULLFUNC 438,15813 -#define NULLPTR 439,15848 -typedef void (*delayFunc_t)delayFunc_t441,15875 -#define I2E_MAGIC 445,15934 -#define I2E_INCOMPLETE 446,15990 -#define I2EE_GOOD 451,16073 -#define I2EE_BADADDR 452,16123 -#define I2EE_BADSTATE 453,16173 -#define I2EE_BADMAGIC 455,16294 -#define I2EE_PORM_SHORT 457,16404 -#define I2EE_PORM_LONG 458,16460 -#define I2EE_BAD_FAMILY 459,16515 -#define I2EE_INCONSIST 460,16575 -#define I2EE_POSTERR 463,16738 -#define I2EE_BADBUS 464,16807 -#define I2EE_TXE_TIME 465,16873 -#define I2EE_INVALID 466,16942 -#define I2EE_BAD_PORT 469,17104 -#define I2EE_BAD_IRQ 472,17287 -#define I2EE_NOCHANNELS 473,17354 -#define FIFO_II 478,17486 -#define FIFO_IIEX 479,17551 -#define NO_MAIL_HERE 483,17619 -#define II_STATE_COLD 487,17743 -#define II_STATE_RESET 489,17847 -#define II_STATE_READY 490,17920 -#define II_STATE_LOADING 491,17985 -#define II_STATE_LOADED 492,18040 -#define II_STATE_BADLOAD 493,18108 -#define II_STATE_STDLOADED 494,18174 -#define IRQ_UNDEFINED 498,18269 -#define HAS_INPUT(HAS_INPUT508,18636 -#define HAS_NO_INPUT(HAS_NO_INPUT509,18699 -#define BYTE_FROM(BYTE_FROM513,18838 -#define WORD_FROM(WORD_FROM514,18897 -#define HAS_OUTROOM(HAS_OUTROOM519,19062 -#define HAS_NO_OUTROOM(HAS_NO_OUTROOM520,19125 -#define BYTE_TO(BYTE_TO526,19358 -#define WORD_TO(WORD_TO531,19506 -#define HAS_MAIL(HAS_MAIL536,19648 -#define UPDATE_FIFO_ROOM(UPDATE_FIFO_ROOM538,19710 -#define ROUNDUP(ROUNDUP542,19865 -#define II_DOWN_BADVALID 580,21284 -#define II_DOWN_CONTINUING 581,21343 -#define II_DOWN_GOOD 582,21414 -#define II_DOWN_BAD 583,21474 -#define II_DOWN_BADFILE 584,21537 -#define II_DOWN_BADSTATE 585,21603 -#define II_DOWN_TIMEOUT 587,21722 -#define II_DOWN_OVER 588,21783 -#define II_DOWN_UNDER 589,21829 -#define II_DOWN_NOFILE 590,21877 -#define COMPLETE(COMPLETE609,22638 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2stat.c,144 -i2eBordStr Board[29,710 -i2ChanStr Port[30,731 -struct driver_statsdriver_stats32,752 -} Driver;37,831 -char devname[39,842 -int main 41,861 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2hw.h,2632 -#define I2HW_H 17,655 -#define FIFO_DATA 144,7065 -#define FIFO_STATUS 161,8067 -#define ST_OUT_FULL 165,8157 -#define ST_IN_EMPTY 166,8206 -#define ST_IN_MAIL 167,8255 -#define STE_OUT_MAIL 174,8559 -#define STN_MR 190,9313 -#define STN_OUT_AF 195,9469 -#define STN_IN_AE 196,9539 -#define STN_BD 197,9609 -#define STN_PE 198,9660 -#define STE_OUT_HF 202,9767 -#define STE_IN_HF 203,9820 -#define STE_IN_FULL 204,9872 -#define STE_OUT_MT 205,9919 -#define FIFO_PTR 213,10228 -#define SEL_COMMAND 217,10292 -#define SEL_CMD_MR 221,10389 -#define SEL_CMD_SH 222,10450 -#define SEL_CMD_UNSH 224,10553 -#define SEL_MASK 226,10660 -#define SEL_BYTE_DET 230,10880 -#define SEL_OUTMAIL 232,11002 -#define SEL_AEAF 238,11356 -#define SEL_INMAIL 239,11418 -#define FIFO_MASK 246,11732 -#define MX_OUTMAIL_RSEL 255,12151 -#define MX_IN_MAIL 257,12184 -#define MX_IN_FULL 259,12292 -#define MX_IN_MT 261,12394 -#define MX_OUT_FULL 263,12494 -#define MX_OUT_MT 265,12596 -#define FIFO_MAIL 288,13841 -#define FIFO_RESET 293,14008 -#define FIFO_NOP 301,14391 -typedef union _porStr _porStr356,17342 -} porStr, *porStrPtr;porStrPtr437,21259 -#define POR_MAGIC_1 447,21445 -#define POR_MAGIC_2 448,21513 -#define POR_1_INDEX 449,21581 -#define POR_2_INDEX 450,21643 -#define POR_ID_FAMILY 456,21761 -#define POR_ID_FII 458,21855 -#define POR_ID_FIIEX 459,21914 -#define POR_ID_RESERVED 464,22091 -#define POR_ID_SIZE 466,22121 -#define POR_ID_II_8 468,22229 -#define POR_ID_II_8R 470,22331 -#define POR_ID_II_6 472,22433 -#define POR_ID_II_4 474,22526 -#define POR_ID_EX 476,22630 -#define POR_BUS_SLOT16 485,22887 -#define POR_BUS_DIP16 490,23014 -#define POR_BUS_TYPE 499,23466 -#define POR_BUS_T_UNK 504,23639 -#define POR_BUS_T_MCA 509,23810 -#define POR_BUS_T_EISA 510,23851 -#define POR_BUS_T_ISA 511,23893 -#define POR_BAD_MAPPER 521,24054 -#define POR_BAD_UART1 525,24184 -#define POR_BAD_UART2 526,24232 -#define POR_DEBUG_PORT 532,24344 -#define POR_DIAG_OK 533,24415 -#define POR_CPU 540,24606 -#define POR_CPU_8 541,24673 -#define POR_CPU_6 542,24742 -#define POR_CEX4 543,24815 -#define POR_BOXES 546,24996 -#define POR_BOX_16 548,25103 -#define LOADWARE_BLOCK_SIZE 587,26786 -typedef union _loadHdrStr_loadHdrStr589,26868 -} loadHdrStr, *loadHdrStrPtr;loadHdrStrPtr605,27536 -#define MAGIC_LOADFILE 614,27785 -#define LOADWARE_OK 620,28054 -#define LOADWARE_BAD 621,28109 -#define MAX_DLOAD_START_TIME 629,28537 -#define MAX_DLOAD_READ_TIME 630,28584 -#define MAX_DLOAD_ACK_TIME 635,28742 -#define ABS_MAX_BOXES 643,29058 -#define ABS_BIGGEST_BOX 644,29121 -#define ABS_MOST_PORTS 645,29186 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2mkdev.c,91 -char nm[11,168 -i2eBordStr Board[12,182 -int main 16,244 -static void ex_details 104,2341 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/fip_firm.h,71 -unsigned char fip_firm[4,80 -unsigned char fip_firm[] __initdata 4,80 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2ioctl.h,101 -#define IP2IOCTL_H18,510 -# define B153600 26,644 -# define B307200 29,697 -# define B921600 32,750 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/ip2trace.h,839 -union ip2breadcrumb ip2breadcrumb3,4 - } __attribute__ __attribute__7,79 -#define ITRC_NO_PORT 11,138 -#define CHANN 12,165 -#define ITRC_ERROR 14,198 -#define ITRC_INIT 15,221 -#define ITRC_OPEN 16,244 -#define ITRC_CLOSE 17,266 -#define ITRC_DRAIN 18,289 -#define ITRC_IOCTL 19,312 -#define ITRC_FLUSH 20,335 -#define ITRC_STATUS 21,358 -#define ITRC_HANGUP 22,382 -#define ITRC_INTR 23,406 -#define ITRC_SFLOW 24,429 -#define ITRC_SBCMD 25,452 -#define ITRC_SICMD 26,475 -#define ITRC_MODEM 27,498 -#define ITRC_INPUT 28,521 -#define ITRC_OUTPUT 29,544 -#define ITRC_PUTC 30,568 -#define ITRC_QUEUE 31,590 -#define ITRC_STFLW 32,613 -#define ITRC_SFIFO 33,636 -#define ITRC_VERIFY 34,659 -#define ITRC_WRITE 35,683 -#define ITRC_ENTER 37,707 -#define ITRC_RETURN 38,731 -#define ITRC_QUEUE_ROOM 40,757 -#define ITRC_QUEUE_CMD 41,783 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2pack.h,2967 -#define I2PACK_H 17,644 -typedef struct _i2DataHeader_i2DataHeader64,2704 -} i2DataHeader, *i2DataHeaderPtr;i2DataHeaderPtr87,3553 -typedef struct _i2CmdHeader_i2CmdHeader95,3730 -} i2CmdHeader, *i2CmdHeaderPtr;i2CmdHeaderPtr106,4034 -typedef struct _flowIn_flowIn123,4723 -} flowIn, *flowInPtr;flowInPtr130,4996 -#define STAT_CTS_UP 142,5468 -#define STAT_CTS_DN 143,5530 -#define STAT_DCD_UP 144,5592 -#define STAT_DCD_DN 145,5654 -#define STAT_DSR_UP 146,5716 -#define STAT_DSR_DN 147,5778 -#define STAT_RI_UP 148,5840 -#define STAT_RI_DN 149,5902 -#define STAT_BRK_DET 150,5964 -#define STAT_FLOW 151,6026 -#define STAT_BMARK 152,6091 -#define STAT_STATUS 156,6247 -#define STAT_TXCNT 157,6306 -#define STAT_RXCNT 158,6365 -#define STAT_BOXIDS 159,6424 -#define STAT_HWFAIL 160,6483 -#define STAT_MOD_ERROR 162,6543 -#define STAT_MODEM 163,6572 -#define STAT_MOD_DCD 169,6814 -#define STAT_MOD_RI 170,6842 -#define STAT_MOD_DSR 171,6870 -#define STAT_MOD_CTS 172,6898 -#define STAT_ERROR 174,6927 -#define STAT_E_PARITY 182,7216 -#define STAT_E_FRAMING 183,7265 -#define STAT_E_OVERRUN 184,7315 -typedef struct _flowStat_flowStat190,7480 -}flowStat, *flowStatPtr;flowStatPtr194,7551 -#define CREDIT_USAGE(CREDIT_USAGE207,8263 -typedef struct _debugStat_debugStat213,8419 -} debugStat, *debugStatPtr;debugStatPtr219,8545 -#define D_CCSR_XON 224,8706 -#define D_CCSR_XOFF 225,8778 -#define D_CCSR_TXENAB 226,8850 -#define D_CCSR_RXENAB 227,8909 -#define D_TXINH_BREAK 229,8966 -#define D_TXINH_EMPTY 230,9025 -#define D_TXINH_SUSP 231,9077 -#define D_TXINH_CMD 232,9145 -#define D_TXINH_LCD 233,9218 -#define D_TXINH_PAUSE 234,9282 -#define D_TXINH_DCD 235,9352 -#define D_TXINH_DSR 236,9424 -#define D_STAT1_TXEN 238,9497 -#define D_STAT1_RXEN 239,9561 -#define D_STAT1_MDEN 240,9625 -#define D_STAT1_RLM 241,9702 -#define D_STAT1_LLM 242,9768 -#define D_STAT1_CTS 243,9842 -#define D_STAT1_DTR 244,9914 -#define D_STAT1_RTS 245,9990 -#define D_STAT2_TXMT 247,10067 -#define D_STAT2_RXMT 248,10134 -#define D_STAT2_RXINH 249,10200 -#define D_STAT2_RXFLO 253,10358 -typedef struct _cntStat_cntStat260,10620 -} cntStat, *cntStatPtr;cntStatPtr264,10739 -typedef struct _failStat_failStat275,11197 -} failStat, *failStatPtr;failStatPtr280,11303 -#define CHANNEL_OF(CHANNEL_OF298,12253 -#define PTYPE_OF(PTYPE_OF302,12377 -#define PTYPE_DATA 306,12468 -#define PTYPE_BYPASS 307,12514 -#define PTYPE_INLINE 308,12560 -#define PTYPE_STATUS 309,12606 -#define TAG_OF(TAG_OF313,12711 -#define ID_OF(ID_OF317,12827 -#define ID_ORDINARY_DATA 321,12911 -#define ID_HOT_KEY 322,12940 -#define DATA_COUNT_OF(DATA_COUNT_OF326,13030 -#define DATA_OF(DATA_OF330,13163 -#define CMD_COUNT_OF(CMD_COUNT_OF334,13298 -#define MAX_CMD_PACK_SIZE 336,13357 -#define CMD_OF(CMD_OF340,13496 -#define MB_OUT_STUFFED 350,13744 -#define MB_IN_STRIPPED 351,13812 -#define MB_IN_STUFFED 357,13976 -#define MB_OUT_STRIPPED 358,14044 -#define MB_FATAL_ERROR 359,14117 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2/i2os.h,661 -#define I2OS_H 20,731 -#define INB(INB33,1050 -#define OUTB(OUTB34,1093 -#define INW(INW35,1147 -#define OUTW(OUTW36,1190 -#define OUTSW(OUTSW37,1244 -#define OUTSB(OUTSB38,1314 -#define INSW(INSW39,1385 -#define INSB(INSB40,1454 -#define LOCK_INIT(LOCK_INIT46,1641 -#define SAVE_AND_DISABLE_INTS(SAVE_AND_DISABLE_INTS48,1678 -#define RESTORE_INTS(RESTORE_INTS53,1815 -#define READ_LOCK_IRQSAVE(READ_LOCK_IRQSAVE58,1948 -#define READ_UNLOCK_IRQRESTORE(READ_UNLOCK_IRQRESTORE63,2086 -#define WRITE_LOCK_IRQSAVE(WRITE_LOCK_IRQSAVE68,2234 -#define WRITE_UNLOCK_IRQRESTORE(WRITE_UNLOCK_IRQRESTORE73,2375 -#define I2_MOVE_DATA(I2_MOVE_DATA116,4339 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/serial167.c,2829 -#define SERIAL_PARANOIA_CHECK76,2184 -#define CYCLOM_ENABLE_MONITORING84,2397 -#define WAKEUP_CHARS 86,2432 -#define STD_COM_FLAGS 88,2458 -#define SERIAL_TYPE_NORMAL 90,2485 -static struct tty_driver *cy_serial_driver;94,2550 -static struct cyclades_port *serial_console_info 96,2621 -static unsigned int serial_console_cflag 97,2678 -u_char initial_console_speed;98,2724 -#define BASE_ADDR 102,2803 -#define pcc2chip 103,2834 -#define PccSCCMICR 104,2883 -#define PccSCCTICR 105,2907 -#define PccSCCRICR 106,2931 -#define PccTPIACKR 107,2955 -#define PccRPIACKR 108,2979 -#define PccIMLR 109,3003 -struct cyclades_port cy_port[112,3068 -#define NR_PORTS 119,3253 -static unsigned char *tmp_buf 130,3803 -static int baud_table[141,4270 -static char baud_co[147,4471 -static char baud_bpr[153,4791 -static u_char baud_co[161,5144 -static u_char baud_bpr[166,5410 -static u_char baud_cor4[170,5632 -#define DEBUG_PORT 191,6297 -#define DEBUG_LEN 192,6318 -} debugq;debugq198,6408 -debugq debugiq;200,6419 -void my_udelay 210,6712 -serial_paranoia_check(222,6856 -SP(257,7744 -char scrn[263,7871 -CP(265,7890 -void CP1(273,8049 -void CP2(274,8124 -void CP4(275,8198 -void CP8(276,8271 -write_cy_cmd(285,8598 -cy_stop(316,9323 -cy_start(341,9925 -cy_sched_event(373,10749 -cd2401_rxerr_interrupt(386,11212 -cd2401_modem_interrupt(477,13856 -cd2401_tx_interrupt(532,15252 -cd2401_rx_interrupt(652,18652 -do_cyclades_bh(735,21429 -do_softint(741,21522 -startup(768,22213 -start_xmit(830,23542 -shutdown(848,23996 -config_setup(907,25514 -cy_put_char(1148,33108 -cy_flush_chars(1177,33737 -cy_write(1211,34716 -cy_write_room(1289,36575 -cy_chars_in_buffer(1308,36982 -cy_flush_buffer(1324,37361 -cy_throttle(1347,37998 -cy_unthrottle(1383,38803 -get_serial_info(1418,39613 -set_serial_info(1440,40237 -cy_tiocmget(1484,41378 -cy_tiocmset(1508,42124 -send_break(1559,43517 -get_mon_info(1570,43805 -set_threshold(1583,44115 -get_threshold(1600,44488 -set_default_threshold(1613,44769 -get_default_threshold(1625,44984 -set_timeout(1631,45124 -get_timeout(1648,45477 -set_default_timeout(1661,45744 -get_default_timeout(1668,45884 -cy_ioctl(1674,46020 -cy_set_termios(1762,48717 -cy_close(1790,49419 -cy_hangup(1862,51406 -block_til_ready(1895,52135 -cy_open(2012,55348 -show_version(2088,57058 -mvme167_serial_console_setup(2106,57584 -static struct tty_operations cy_ops 2217,60679 -serial167_init(2253,62043 -show_status(2433,67066 -void console_setup(2531,70292 -void serial167_console_write(2611,71970 -static struct tty_driver *serial167_console_device(2671,73104 -static int __init serial167_console_setup(2678,73238 -static struct console sercons 2684,73332 -static int __init serial167_console_init(2694,73542 -void putDebugChar 2707,73858 -int getDebugChar(2748,74598 -void queueDebugChar 2818,75893 -debug_setup(2831,76058 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/esp.c,3209 -#define NR_PORTS 71,2101 -#define NR_PRIMARY 72,2151 -static int irq[75,2277 -static unsigned int divisor[76,2334 -static unsigned int dma 77,2410 -static unsigned int rx_trigger 78,2471 -static unsigned int tx_trigger 79,2520 -static unsigned int flow_off 80,2569 -static unsigned int flow_on 81,2614 -static unsigned int rx_timeout 82,2657 -static unsigned int pio_threshold 83,2704 -static char *dma_buffer;99,3053 -static int dma_bytes;100,3078 -static struct esp_pio_buffer *free_pio_buf;101,3100 -#define DMA_BUFFER_SZ 103,3145 -#define WAKEUP_CHARS 105,3173 -static char serial_name[107,3200 -static char serial_name[] __initdata 107,3200 -static char serial_version[108,3260 -static char serial_version[] __initdata 108,3260 -static struct tty_driver *esp_driver;110,3310 -#define SERIAL_TYPE_NORMAL 113,3382 -#define SERIAL_DO_RESTART124,3624 -#define _INLINE_ 130,3727 -#define DBG_CNT(DBG_CNT133,3806 -#define DBG_CNT(DBG_CNT136,3964 -static struct esp_struct *ports;139,3991 -#define BASE_BAUD 148,4275 -#define STD_COM_FLAGS 151,4403 -static unsigned char *tmp_buf;162,4943 -static inline int serial_paranoia_check(165,5010 -static inline unsigned int serial_in(186,5510 -static inline void serial_out(191,5623 -static void rs_stop(205,6058 -static void rs_start(223,6482 -static _INLINE_ void rs_sched_event(265,7915 -static _INLINE_ struct esp_pio_buffer *get_pio_buffer(272,8057 -static _INLINE_ void release_pio_buffer(286,8310 -static _INLINE_ void receive_chars_pio(292,8431 -static _INLINE_ void receive_chars_dma(372,10271 -static _INLINE_ void receive_chars_dma_done(391,10825 -static _INLINE_ void transmit_chars_pio(451,12216 -static _INLINE_ void transmit_chars_dma(521,13837 -static _INLINE_ void transmit_chars_dma_done(568,15078 -static _INLINE_ void check_modem_status(602,15904 -static irqreturn_t rs_interrupt_single(641,16906 -static void do_softint(751,19911 -static void do_serial_hangup(774,20454 -static _INLINE_ void esp_basic_init(793,21031 -static int startup(854,22923 -static void shutdown(982,26215 -static void change_speed(1066,28122 -#define RELEVANT_IFLAG(RELEVANT_IFLAG1139,29847 -static void rs_put_char(1223,32382 -static void rs_flush_chars(1246,32883 -static int rs_write(1266,33397 -static int rs_write_room(1335,34739 -static int rs_chars_in_buffer(1348,35029 -static void rs_flush_buffer(1357,35262 -static void rs_throttle(1377,35825 -static void rs_unthrottle(1399,36402 -static int get_serial_info(1427,37165 -static int get_esp_config(1449,37721 -static int set_serial_info(1469,38316 -static int set_esp_config(1584,41464 -static int get_lsr_info(1730,45630 -static int esp_tiocmget(1744,45961 -static int esp_tiocmset(1767,46688 -static void esp_break(1799,47454 -static int rs_ioctl(1820,48003 -static void rs_set_termios(1926,51020 -static void rs_close(1988,52922 -static void rs_wait_until_sent(2080,55573 -static void esp_hangup(2121,56628 -static int block_til_ready(2142,57156 -static int esp_open(2267,60416 -static _INLINE_ void show_serial_version(2337,61880 -static _INLINE_ int autoconfig(2347,62110 -static struct tty_operations esp_ops 2405,63397 -int __init espserial_init(2430,64010 -static void __exit espserial_exit(2591,67997 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/serial_tx3912.h,1420 -#define UART_RX_INT 18,564 -#define UART_RXOVERRUN_INT 19,642 -#define UART_FRAMEERR_INT 20,720 -#define UART_BREAK_INT 21,798 -#define UART_PARITYERR_INT 22,876 -#define UART_TX_INT 23,954 -#define UART_TXOVERRUN_INT 24,1032 -#define UART_EMPTY_INT 25,1110 -#define UART_DMAFULL_INT 26,1188 -#define UART_DMAHALF_INT 27,1266 -#define UARTA_SHIFT 29,1345 -#define UARTB_SHIFT 30,1375 -#define INTTYPE(INTTYPE32,1406 -#define TX3912_UART_DEBUG_OPEN 41,1666 -#define TX3912_UART_DEBUG_SETTING 42,1709 -#define TX3912_UART_DEBUG_FLOW 43,1754 -#define TX3912_UART_DEBUG_MODEMSIGNALS 44,1797 -#define TX3912_UART_DEBUG_TERMIOS 45,1847 -#define TX3912_UART_DEBUG_TRANSMIT 46,1892 -#define TX3912_UART_DEBUG_RECEIVE 47,1938 -#define TX3912_UART_DEBUG_INTERRUPTS 48,1983 -#define TX3912_UART_DEBUG_PROBE 49,2031 -#define TX3912_UART_DEBUG_INIT 50,2075 -#define TX3912_UART_DEBUG_CLEANUP 51,2118 -#define TX3912_UART_DEBUG_CLOSE 52,2163 -#define TX3912_UART_DEBUG_FIRMWARE 53,2207 -#define TX3912_UART_DEBUG_MEMTEST 54,2253 -#define TX3912_UART_DEBUG_THROTTLE 55,2298 -#define TX3912_UART_DEBUG_ALL 56,2344 -int rs_debug 58,2387 -#define rs_dprintk(rs_dprintk60,2456 -#define func_enter(func_enter61,2517 -#define func_exit(func_exit63,2612 -#define rs_dprintk(rs_dprintk67,2712 -#define func_enter(func_enter68,2742 -#define func_exit(func_exit69,2763 -#define TX3912_UART_NPORTS 76,2849 -struct rs_port rs_port81,2930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/lcd.c,643 -#define RTC_IO_EXTENT 15,369 -static int lcd_present 38,919 -int led_state 40,948 -#define MAX_INTERFACES 44,1000 -static linkcheck_func_t linkcheck_callbacks[45,1025 -static void *linkcheck_cookies[46,1086 -int lcd_register_linkcheck_func(48,1135 -static int lcd_ioctl(60,1446 -static int lcd_open(551,10591 -static inline int button_pressed(561,10761 -static int lcd_waiters 573,11039 -static long lcd_read(575,11068 -static struct file_operations lcd_fops 600,11558 -static struct miscdevice lcd_dev 606,11664 -static int lcd_init(612,11745 -static void __exit lcd_exit(636,12224 -static int dqpoll(652,12468 -static int timeout(672,12836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/applicom.h,853 -#define __LINUX_APPLICOM_H__5,91 -#define DATA_TO_PC_READY 8,122 -#define TIC_OWNER_TO_PC 9,157 -#define NUMCARD_OWNER_TO_PC 10,192 -#define TIC_DES_TO_PC 11,227 -#define NUMCARD_DES_TO_PC 12,262 -#define DATA_FROM_PC_READY 13,297 -#define TIC_OWNER_FROM_PC 14,332 -#define NUMCARD_OWNER_FROM_PC 15,367 -#define TIC_DES_FROM_PC 16,402 -#define NUMCARD_DES_FROM_PC 17,437 -#define ACK_FROM_PC_READY 18,472 -#define TIC_ACK_FROM_PC 19,507 -#define NUMCARD_ACK_FROM_PC 20,542 -#define TYP_ACK_FROM_PC 21,578 -#define CONF_END_TEST 22,614 -#define ERROR_CODE 23,650 -#define PARAMETER_ERROR 24,687 -#define VERS 25,724 -#define RAM_TO_PC 26,761 -#define RAM_FROM_PC 27,797 -#define TYPE_CARD 28,834 -#define SERIAL_NUMBER 29,871 -#define RAM_IT_FROM_PC 30,908 -#define RAM_IT_TO_PC 31,945 -struct mailbox{mailbox33,983 -struct st_ram_io st_ram_io54,1677 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/generic_serial.c,1102 -#define DEBUG 32,953 -static char * tmp_buf;34,969 -static int gs_debug;37,1046 -#define gs_dprintk(gs_dprintk40,1081 -#define gs_dprintk(gs_dprintk42,1148 -#define func_enter(func_enter45,1200 -#define func_exit(func_exit46,1280 -#define DECL 49,1386 -#define LOCKIT 50,1418 -#define RELEASEIT 51,1467 -#define DECL 53,1519 -#define LOCKIT 54,1558 -#define RELEASEIT 55,1602 -#define RS_EVENT_WRITE_WAKEUP 58,1650 -void gs_put_char(63,1713 -int gs_write(105,2557 -int gs_write(185,4566 -int gs_write_room(308,7759 -int gs_chars_in_buffer(322,7976 -int gs_real_chars_in_buffer(332,8127 -static int gs_wait_tx_flushed 348,8417 -void gs_flush_buffer(420,10627 -void gs_flush_chars(444,11033 -void gs_stop(469,11417 -void gs_start(491,11746 -void gs_shutdown_port 511,12058 -void gs_hangup(542,12521 -void gs_do_softint(565,12867 -int gs_block_til_ready(586,13189 -void gs_close(689,15663 -static unsigned int gs_baudrates[783,17936 -void gs_set_termios 789,18111 -int gs_init_port(907,21765 -int gs_setserial(966,22774 -int gs_getserial(1001,23608 -void gs_got_break(1030,24258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hw_random.c,2614 -#define RNG_VERSION 50,1216 -#define RNG_MODULE_NAME 51,1244 -#define RNG_DRIVER_NAME 52,1280 -#define PFX 53,1354 -#define DPRINTK(DPRINTK63,1538 -#define DPRINTK(DPRINTK65,1628 -#define RNG_NDEBUG 68,1666 -#define assert(assert70,1761 -#define assert(assert72,1788 -#define RNG_MISCDEV_MINOR 79,2003 -struct rng_operations rng_operations102,2730 -static struct rng_operations *rng_ops;109,2943 -static struct file_operations rng_chrdev_ops 111,2983 -static struct miscdevice rng_miscdev 118,3109 - rng_hw_none,125,3217 - rng_hw_intel,126,3231 - rng_hw_amd,127,3246 - rng_hw_via,128,3259 -static struct rng_operations rng_vendor_ops[131,3276 -static struct pci_device_id rng_pci_tbl[156,3908 -#define INTEL_RNG_HW_STATUS 180,4637 -#define INTEL_RNG_PRESENT 181,4669 -#define INTEL_RNG_ENABLED 182,4709 -#define INTEL_RNG_STATUS 183,4749 -#define INTEL_RNG_DATA_PRESENT 184,4778 -#define INTEL_RNG_DATA 185,4823 -#define INTEL_RNG_ADDR 190,4918 -#define INTEL_RNG_ADDR_LEN 191,4955 -static void *rng_mem;194,5034 -static inline u8 intel_hwstatus 196,5057 -static inline u8 intel_hwstatus_set 202,5175 -static unsigned int intel_data_present(209,5337 -static u32 intel_data_read(217,5496 -static int __init intel_init 224,5604 -static void intel_cleanup(266,6526 -static u32 pmbase;285,6912 -static struct pci_dev *amd_dev;286,6953 -static unsigned int amd_data_present 288,6986 -static u32 amd_data_read 294,7074 -static int __init amd_init 299,7139 -static void amd_cleanup(337,7861 - VIA_STRFILT_CNT_SHIFT 356,8195 - VIA_STRFILT_FAIL 357,8224 - VIA_STRFILT_ENABLE 358,8255 - VIA_RAWBITS_ENABLE 359,8288 - VIA_RNG_ENABLE 360,8321 - VIA_XSTORE_CNT_MASK 361,8350 - VIA_XSTORE_CNT_MASK = 0x0F,361,8350 - VIA_RNG_CHUNK_8 363,8380 - VIA_RNG_CHUNK_8 = 0x00,363,8380 - VIA_RNG_CHUNK_4 364,8441 - VIA_RNG_CHUNK_4 = 0x01,364,8441 - VIA_RNG_CHUNK_4_MASK 365,8502 - VIA_RNG_CHUNK_4_MASK = 0xFFFFFFFF,365,8502 - VIA_RNG_CHUNK_2 366,8538 - VIA_RNG_CHUNK_2 = 0x02,366,8538 - VIA_RNG_CHUNK_2_MASK 367,8599 - VIA_RNG_CHUNK_2_MASK = 0xFFFF,367,8599 - VIA_RNG_CHUNK_1 368,8631 - VIA_RNG_CHUNK_1 = 0x03,368,8631 - VIA_RNG_CHUNK_1_MASK 369,8691 - VIA_RNG_CHUNK_1_MASK = 0xFF,369,8691 -u32 via_rng_datum;372,8725 -static inline u32 xstore(388,9398 -static unsigned int via_data_present(399,9599 -static u32 via_data_read(423,10310 -static int __init via_init(428,10369 -static void via_cleanup(460,11247 -static int rng_dev_open 473,11457 -static ssize_t rng_dev_read 485,11695 -static int __init rng_init_one 537,12632 -static int __init rng_init 575,13258 -static void __exit rng_cleanup 619,14028 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/epcaconfig.h,81 -#define NUMCARDS 1,0 -#define NBDEVS 2,19 -struct board_info static_boards[4,37 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_poweroff.c,1917 -#define PFX 41,1642 -#define IPMI_POWEROFF_VERSION 42,1672 -unsigned int mfg_id;48,1837 -unsigned int prod_id;49,1858 -unsigned char capabilities;50,1880 -static void dummy_smi_free(56,2129 -static void dummy_recv_free(59,2186 -static struct ipmi_smi_msg halt_smi_msg 62,2245 -static struct ipmi_recv_msg halt_recv_msg 66,2316 -static void receive_handler(76,2452 -static struct ipmi_user_hndl ipmi_poweroff_handler 84,2609 -static int ipmi_request_wait_for_response(90,2704 -static int ipmi_request_in_rc_mode(110,3172 -#define IPMI_NETFN_ATCA 128,3531 -#define IPMI_ATCA_SET_POWER_CMD 129,3562 -#define IPMI_ATCA_GET_ADDR_INFO_CMD 130,3600 -#define IPMI_PICMG_ID 131,3641 -static int ipmi_atca_detect 133,3668 -static void ipmi_poweroff_atca 161,4450 -#define IPMI_NETFN_OEM_1 205,5507 -#define OEM_GRP_CMD_SET_RESET_STATE 206,5540 -#define OEM_GRP_CMD_SET_POWER_STATE 207,5582 -#define IPMI_NETFN_OEM_8 208,5624 -#define OEM_GRP_CMD_REQUEST_HOTSWAP_CTRL 209,5657 -#define OEM_GRP_CMD_GET_SLOT_GA 210,5703 -#define IPMI_NETFN_SENSOR_EVT 211,5742 -#define IPMI_CMD_GET_EVENT_RECEIVER 212,5779 -#define IPMI_CPI1_PRODUCT_ID 214,5822 -#define IPMI_CPI1_MANUFACTURER_ID 215,5861 -static int ipmi_cpi1_detect 217,5903 -static void ipmi_poweroff_cpi1 223,6043 -#define IPMI_NETFN_CHASSIS_REQUEST 329,8714 -#define IPMI_CHASSIS_CONTROL_CMD 330,8751 -static int ipmi_chassis_detect 332,8790 -static void ipmi_poweroff_chassis 338,8908 -struct poweroff_function poweroff_function377,9913 -static struct poweroff_function poweroff_functions[383,10043 -#define NUM_PO_FUNCS 390,10349 -static int ready 395,10469 -static ipmi_user_t ipmi_user;396,10491 -static void ipmi_poweroff_function 404,10736 -static void ipmi_po_new_smi(417,11144 -static void ipmi_po_smi_gone(491,13196 -static struct ipmi_smi_watcher smi_watcher 498,13395 -static int ipmi_poweroff_init 509,13575 -static __exit void ipmi_poweroff_cleanup(525,13906 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_msghandler.c,4354 -#define PFX 49,1810 -#define IPMI_MSGHANDLER_VERSION 50,1847 -static int initialized 55,1975 -static struct proc_dir_entry *proc_ipmi_root 57,2004 -#define MAX_EVENTS_IN_QUEUE 59,2058 -#define MAX_MSG_TIMEOUT 63,2220 -struct ipmi_useripmi_user65,2252 -struct cmd_rcvrcmd_rcvr80,2550 -struct seq_tableseq_table89,2660 -#define STORE_SEQ_IN_MSGID(STORE_SEQ_IN_MSGID111,3390 -#define GET_SEQ_FROM_MSGID(GET_SEQ_FROM_MSGID113,3469 -#define NEXT_SEQID(NEXT_SEQID119,3624 -struct ipmi_channelipmi_channel121,3678 -struct ipmi_proc_entryipmi_proc_entry127,3752 -#define IPMI_IPMB_NUM_SEQ 133,3843 -#define IPMI_MAX_CHANNELS 134,3872 -struct ipmi_smiipmi_smi135,3906 -ipmi_register_all_cmd_rcvr(298,9674 -ipmi_unregister_all_cmd_rcvr(317,10133 -#define MAX_IPMI_INTERFACES 335,10543 -static ipmi_smi_t ipmi_interfaces[336,10573 -static spinlock_t interfaces_lock 345,10941 -static struct list_head smi_watchers 349,11076 -int ipmi_smi_watcher_register(352,11186 -int ipmi_smi_watcher_unregister(369,11545 -call_smi_watchers(378,11730 -ipmi_addr_equal(393,11985 -int ipmi_validate_addr(437,13286 -unsigned int ipmi_addr_length(473,14033 -static void deliver_response(487,14339 -static int intf_next_seq(495,14653 -static int intf_find_seq(540,16015 -static int intf_start_seq_timer(575,16864 -static int intf_err_seq(602,17548 -int ipmi_create_user(642,18467 -static int ipmi_destroy_user_nolock(709,20137 -int ipmi_destroy_user(758,21286 -void ipmi_get_version(775,21662 -void ipmi_set_my_address(783,21843 -unsigned char ipmi_get_my_address(789,21955 -void ipmi_set_my_LUN(794,22044 -unsigned char ipmi_get_my_LUN(800,22149 -int ipmi_set_gets_events(805,22230 -int ipmi_register_for_cmd(829,22793 -int ipmi_unregister_for_cmd(874,23748 -void ipmi_user_set_run_to_completion(899,24399 -ipmb_checksum(906,24573 -static inline void format_ipmb_msg(916,24717 -static inline void format_lan_msg(958,26052 -static inline int i_ipmi_request(999,27471 -int ipmi_request(1363,38385 -int ipmi_request_settime(1383,38821 -int ipmi_request_supply_msgs(1406,39362 -int ipmi_request_with_source(1429,39969 -static int ipmb_file_read_proc(1451,40504 -static int version_file_read_proc(1460,40728 -static int stat_file_read_proc(1470,40987 -int ipmi_smi_add_proc_entry(1532,43702 -static int add_proc_entries(1571,44570 -static void remove_proc_entries(1601,45229 -send_channel_info_cmd(1617,45566 -channel_handler(1647,46210 -void ipmi_poll_interface(1705,47619 -int ipmi_register_smi(1713,47767 -static void free_recv_msg_list(1836,51031 -static void free_cmd_rcvr_list(1846,51226 -static void clean_up_interface_data(1856,51410 -int ipmi_unregister_smi(1873,51785 -static int handle_ipmb_get_msg_rsp(1916,52741 -static int handle_ipmb_get_msg_cmd(1980,54632 -static int handle_lan_get_msg_rsp(2098,58074 -static int handle_lan_get_msg_cmd(2165,60072 -static void copy_event_into_recv_msg(2261,62827 -static int handle_read_event_rsp(2281,63578 -static int handle_bmc_rsp(2371,65969 -static int handle_new_recv_msg(2428,67753 -void ipmi_smi_msg_received(2551,71283 -void ipmi_smi_watchdog_pretimeout(2628,73824 -handle_msg_timeout(2643,74160 -send_from_recv_msg(2654,74447 -ipmi_timeout_handler(2687,75382 -static void ipmi_request_event(2776,77861 -static struct timer_list ipmi_timer;2792,78157 -#define IPMI_TIMEOUT_TIME 2795,78221 -#define IPMI_TIMEOUT_JIFFIES 2798,78316 -#define IPMI_REQUEST_EV_TIME 2804,78632 -static volatile int stop_operation 2806,78691 -static volatile int timer_stopped 2807,78731 -static unsigned int ticks_to_req_ev 2808,78770 -static void ipmi_timeout(2810,78831 -static atomic_t smi_msg_inuse_count 2830,79172 -static atomic_t recv_msg_inuse_count 2831,79226 -static void free_smi_msg(2834,79320 -struct ipmi_smi_msg *ipmi_alloc_smi_msg(2840,79424 -static void free_recv_msg(2852,79670 -struct ipmi_recv_msg *ipmi_alloc_recv_msg(2858,79777 -static void dummy_smi_done_handler(2872,80038 -static void dummy_recv_done_handler(2876,80104 -static void event_receiver_fetcher(2881,80204 -static void device_id_fetcher(2893,80584 -static void send_panic_events(2907,81011 -static int has_paniced 3099,86347 -static int panic_event(3101,86376 -static struct notifier_block panic_block 3128,86937 -static int ipmi_init_msghandler(3134,87048 -static __init int ipmi_init_msghandler_mod(3169,87745 -static __exit void cleanup_ipmi(3175,87835 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_si_intf.c,4646 -# define get_arch_cycles(get_arch_cycles59,2138 -# define arch_cycles_per_jiffy 60,2195 -static inline void add_usec_to_timer(62,2254 -#define IPMI_SI_VERSION 79,2649 -#define SI_TIMEOUT_TIME_USEC 85,2775 -#define SI_USEC_PER_JIFFY 86,2810 -#define SI_TIMEOUT_JIFFIES 87,2849 -#define SI_SHORT_TIMEOUT_USEC 88,2917 -enum si_intf_state si_intf_state91,3040 - SI_NORMAL,92,3061 - SI_GETTING_FLAGS,93,3073 - SI_GETTING_EVENTS,94,3092 - SI_CLEARING_FLAGS,95,3112 - SI_CLEARING_FLAGS_THEN_SET_IRQ,96,3132 - SI_GETTING_MESSAGES,97,3165 - SI_ENABLE_INTERRUPTS1,98,3187 - SI_ENABLE_INTERRUPTS299,3211 -enum si_type si_type103,3273 - SI_KCS,104,3288 - SI_KCS, SI_SMIC,104,3288 - SI_KCS, SI_SMIC, SI_BT104,3288 -struct smi_infosmi_info107,3319 -#define RECEIVE_MSG_AVAIL 132,4132 -#define EVENT_MSG_BUFFER_FULL 133,4163 -#define WDT_PRE_TIMEOUT_INT 134,4198 -static void deliver_recv_msg(197,6094 -static void return_hosed_msg(207,6385 -static enum si_sm_result start_next_msg(221,6707 -static void start_enable_irq(269,7793 -static void start_clear_flags(282,8152 -static inline void disable_si_irq(299,8771 -static inline void enable_si_irq(307,8972 -static void handle_flags(315,9163 -static void handle_transaction_done(371,10837 -static enum si_sm_result smi_event_handler(554,15533 -static void sender(658,18617 -static void set_run_to_completion(713,20227 -static void poll(734,20779 -static void request_events(741,20892 -static int initialized 748,21021 -static void si_restart_short_timer(751,21118 -static void smi_timeout(779,21947 -static irqreturn_t si_irq_handler(848,24077 -static struct ipmi_smi_handlers handlers 875,24678 -#define SI_MAX_PARMS 887,25042 -#define SI_MAX_DRIVERS 888,25065 -static struct smi_info *smi_infos[889,25113 -#define DEVICE_NAME 892,25194 -#define DEFAULT_KCS_IO_PORT 894,25225 -#define DEFAULT_SMIC_IO_PORT 895,25259 -#define DEFAULT_BT_IO_PORT 896,25294 -#define DEFAULT_REGSPACING 897,25326 -static int si_trydefaults 899,25356 -static char *si_type[900,25397 -#define MAX_SI_TYPE_STR 901,25471 -static char si_type_str[902,25498 -static unsigned long addrs[903,25549 -static int num_addrs 904,25608 -static unsigned int ports[905,25634 -static int num_ports 906,25693 -static int irqs[907,25719 -static int num_irqs 908,25777 -static int regspacings[909,25802 -static int num_regspacings 910,25867 -static int regsizes[911,25899 -static int num_regsizes 912,25961 -static int regshifts[913,25990 -static int num_regshifts 914,26053 -#define IPMI_MEM_ADDR_SPACE 959,28305 -#define IPMI_IO_ADDR_SPACE 960,28335 -static int is_new_interface(963,28448 -static int std_irq_setup(986,28881 -static void std_irq_cleanup(1011,29303 -static unsigned char port_inb(1019,29415 -static void port_outb(1026,29571 -static unsigned char port_inw(1034,29743 -static void port_outw(1041,29926 -static unsigned char port_inl(1049,30114 -static void port_outl(1056,30297 -static void port_cleanup(1064,30485 -static int port_setup(1078,30779 -static int try_init_port(1122,31882 -static unsigned char mem_inb(1162,32883 -static void mem_outb(1167,33012 -static unsigned char mem_inw(1173,33154 -static void mem_outw(1179,33311 -static unsigned char mem_inl(1185,33469 -static void mem_outl(1191,33626 -static unsigned char mem_inq(1198,33797 -static void mem_outq(1204,33954 -static void mem_cleanup(1211,34119 -static int mem_setup(1227,34441 -static int try_init_mem(1283,35774 -static int acpi_failure 1331,37004 -u32 ipmi_acpi_gpe(1334,37065 -static int acpi_gpe_irq_setup(1362,37635 -static void acpi_gpe_irq_cleanup(1388,38182 -struct SPMITable SPMITable1400,38446 -static int try_init_acpi(1438,39187 -typedef struct dmi_ipmi_datadmi_ipmi_data1546,41968 -}dmi_ipmi_data_t;dmi_ipmi_data_t1553,42097 -typedef struct dmi_headerdmi_header1555,42116 -}dmi_header_t;dmi_header_t1560,42179 -static int decode_dmi(1562,42195 -static int dmi_table(1612,43374 -inline static int dmi_checksum(1652,43975 -static int dmi_iterator(1662,44097 -static int try_init_smbios(1689,44553 -#define PCI_ERMC_CLASSCODE 1759,46216 -#define PCI_HP_VENDOR_ID 1760,46253 -#define PCI_MMC_DEVICE_ID 1761,46288 -#define PCI_MMC_ADDR_CW 1762,46323 -static int pci_smic_checked 1765,46410 -static int find_pci_smic(1767,46444 -static int try_init_plug_and_play(1843,48266 -static int try_get_dev_id(1855,48481 -static int type_file_read_proc(1924,50275 -static int stat_file_read_proc(1942,50665 -static int init_one_smi(1979,52037 -static __init int init_ipmi_si(2176,57107 -void __exit cleanup_one_si(2250,58757 -static __exit void cleanup_ipmi_si(2303,60043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_kcs_sm.c,1827 -#define IPMI_KCS_VERSION 45,1757 -#define DEBUG_HOSED_REASON49,1885 -enum kcs_states kcs_states55,2033 - KCS_IDLE,56,2051 - KCS_START_OP,58,2150 - KCS_WAIT_WRITE_START,64,2398 - KCS_WAIT_WRITE,66,2480 - KCS_WAIT_WRITE_END,68,2578 - KCS_WAIT_READ,71,2766 - KCS_ERROR0,73,2844 - KCS_ERROR1,77,3001 - KCS_ERROR2,79,3118 - KCS_ERROR3,82,3219 - KCS_HOSED 85,3326 -#define MAX_KCS_READ_SIZE 89,3404 -#define MAX_KCS_WRITE_SIZE 90,3433 -#define IBF_RETRY_TIMEOUT 93,3496 -#define OBF_RETRY_TIMEOUT 94,3530 -#define MAX_ERROR_RETRIES 95,3564 -struct si_sm_datasi_sm_data97,3594 -static unsigned int init_kcs_data(114,3999 -static inline unsigned char read_status(132,4384 -static inline unsigned char read_data(137,4490 -static inline void write_cmd(142,4594 -static inline void write_data(147,4709 -#define KCS_GET_STATUS_ABORT 153,4846 -#define KCS_WRITE_START 154,4880 -#define KCS_WRITE_END 155,4910 -#define KCS_READ_BYTE 156,4938 -#define GET_STATUS_STATE(GET_STATUS_STATE159,4986 -#define KCS_IDLE_STATE 160,5044 -#define KCS_READ_STATE 161,5069 -#define KCS_WRITE_STATE 162,5094 -#define KCS_ERROR_STATE 163,5120 -#define GET_STATUS_ATN(GET_STATUS_ATN164,5146 -#define GET_STATUS_IBF(GET_STATUS_IBF165,5195 -#define GET_STATUS_OBF(GET_STATUS_OBF166,5244 -static inline void write_next_byte(169,5295 -static inline void start_error_recovery(176,5454 -static inline void read_next_byte(189,5758 -static inline int check_ibf(202,6072 -static inline int check_obf(218,6436 -static void clear_obf(233,6767 -static void restart_kcs_transaction(239,6887 -static int start_kcs_transaction(250,7184 -static int get_kcs_result(273,7715 -static enum si_sm_result kcs_event(303,8613 -static int kcs_size(469,12290 -static int kcs_detect(474,12356 -static void kcs_cleanup(486,12673 -struct si_sm_handlers kcs_smi_handlers 490,12726 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_bt_sm.c,1757 -#define IPMI_BT_VERSION 34,1570 -static int bt_debug 36,1601 -#define BT_DEBUG_ENABLE 38,1676 -#define BT_DEBUG_MSG 39,1702 -#define BT_DEBUG_STATES 40,1725 -#define BT_NORMAL_TIMEOUT 48,2093 -#define BT_RETRY_LIMIT 49,2157 -#define BT_RESET_DELAY 50,2183 -enum bt_states bt_states52,2249 - BT_STATE_IDLE,53,2266 - BT_STATE_XACTION_START,54,2282 - BT_STATE_WRITE_BYTES,55,2307 - BT_STATE_WRITE_END,56,2330 - BT_STATE_WRITE_CONSUME,57,2351 - BT_STATE_B2H_WAIT,58,2376 - BT_STATE_READ_END,59,2396 - BT_STATE_RESET1,60,2416 - BT_STATE_RESET2,61,2462 - BT_STATE_RESET3,62,2480 - BT_STATE_RESTART,63,2498 - BT_STATE_HOSED64,2517 -struct si_sm_data si_sm_data67,2537 -#define BT_CLR_WR_PTR 82,3034 -#define BT_CLR_RD_PTR 83,3093 -#define BT_H2B_ATN 84,3120 -#define BT_B2H_ATN 85,3144 -#define BT_SMS_ATN 86,3168 -#define BT_OEM0 87,3192 -#define BT_H_BUSY 88,3214 -#define BT_B_BUSY 89,3237 -#define BT_STATUS 97,3585 -#define BT_CONTROL(BT_CONTROL98,3629 -#define BMC2HOST 100,3682 -#define HOST2BMC(HOST2BMC101,3725 -#define BT_INTMASK_R 103,3776 -#define BT_INTMASK_W(BT_INTMASK_W104,3823 -static char *state2txt(109,4006 -#define STATE2TXT 127,4640 -static char *status2txt(129,4680 -#define STATUS2TXT(STATUS2TXT141,5077 -#define FIRST_SEQ 144,5197 -static unsigned int bt_init_data(145,5217 -static int bt_start_transaction(160,5612 -static int bt_get_result(196,6667 -#define BT_BMC_HWRST 230,7688 -static void reset_flags(232,7715 -static inline void write_all_bytes(251,8207 -static inline int read_all_bytes(265,8568 -static void error_recovery(308,10117 -static enum si_sm_result bt_event(346,11224 -static int bt_detect(482,15351 -static void bt_cleanup(494,15759 -static int bt_size(498,15810 -struct si_sm_handlers bt_smi_handlers 503,15875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_si_sm.h,285 -struct si_sm_iosi_sm_io44,1912 -enum si_sm_resultsi_sm_result61,2301 - SI_SM_CALL_WITHOUT_DELAY,63,2321 - SI_SM_CALL_WITH_DELAY,64,2388 - SI_SM_TRANSACTION_COMPLETE,65,2451 - SI_SM_IDLE,66,2513 - SI_SM_HOSED,67,2558 - SI_SM_ATTN 68,2620 -struct si_sm_handlerssi_sm_handlers73,2754 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_devintf.c,720 -#define IPMI_DEVINTF_VERSION 48,1784 -struct ipmi_file_privateipmi_file_private50,1820 -static void file_receive_handler(63,2159 -static unsigned int ipmi_poll(83,2700 -static int ipmi_fasync(101,3126 -static struct ipmi_user_hndl ipmi_hndlrs 111,3357 -static int ipmi_open(116,3447 -static int ipmi_release(153,4176 -static int handle_send_req(170,4491 -static int ipmi_ioctl(229,5641 -static struct file_operations ipmi_fops 503,11052 -#define DEVICE_NAME 512,11240 -static int ipmi_major 514,11275 -static void ipmi_new_smi(522,11625 -static void ipmi_smi_gone(529,11777 -static struct ipmi_smi_watcher smi_watcher 534,11857 -static __init int init_ipmi_devintf(541,11989 -static __exit void cleanup_ipmi(574,12628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_smic_sm.c,3347 -#define IPMI_SMIC_VERSION 49,1940 -#define SMIC_DEBUG_STATES 56,2132 -#define SMIC_DEBUG_MSG 57,2160 -#define SMIC_DEBUG_ENABLE 58,2186 -static int smic_debug 60,2215 -enum smic_states smic_states62,2243 - SMIC_IDLE,63,2262 - SMIC_START_OP,64,2274 - SMIC_OP_OK,65,2290 - SMIC_WRITE_START,66,2303 - SMIC_WRITE_NEXT,67,2322 - SMIC_WRITE_END,68,2340 - SMIC_WRITE2READ,69,2357 - SMIC_READ_START,70,2375 - SMIC_READ_NEXT,71,2393 - SMIC_READ_END,72,2410 - SMIC_HOSED73,2426 -#define MAX_SMIC_READ_SIZE 76,2442 -#define MAX_SMIC_WRITE_SIZE 77,2472 -#define SMIC_MAX_ERROR_RETRIES 78,2503 -#define SMIC_RETRY_TIMEOUT 81,2569 -#define SMIC_RX_DATA_READY 84,2635 -#define SMIC_TX_DATA_READY 85,2667 -#define SMIC_SMI 86,2699 -#define SMIC_EVM_DATA_AVAIL 87,2722 -#define SMIC_SMS_DATA_AVAIL 88,2755 -#define SMIC_FLAG_BSY 89,2788 -#define EC_NO_ERROR 92,2840 -#define EC_ABORTED 93,2866 -#define EC_ILLEGAL_CONTROL 94,2891 -#define EC_NO_RESPONSE 95,2923 -#define EC_ILLEGAL_COMMAND 96,2952 -#define EC_BUFFER_FULL 97,2984 -struct si_sm_datasi_sm_data99,3014 -static unsigned int init_smic_data 114,3394 -static int start_smic_transaction(131,3759 -static int smic_get_result(160,4475 -static inline unsigned char read_smic_flags(189,5126 -static inline unsigned char read_smic_status(194,5239 -static inline unsigned char read_smic_data(199,5353 -static inline void write_smic_flags(204,5465 -static inline void write_smic_control(210,5602 -static inline void write_si_sm_data 216,5747 -static inline void start_error_recovery(222,5882 -static inline void write_next_byte(240,6372 -static inline void read_next_byte 247,6543 -#define SMIC_GET_STATUS 259,6837 -#define SMIC_READY 260,6893 -#define SMIC_WR_START 261,6944 -#define SMIC_WR_NEXT 262,7010 -#define SMIC_WR_END 263,7037 -#define SMIC_RD_START 264,7063 -#define SMIC_RD_NEXT 265,7091 -#define SMIC_RD_END 266,7118 -#define SMIC_CODE_MASK 267,7144 -#define SMIC_CONTROL 269,7174 -#define SMIC_STATUS 270,7201 -#define SMIC_CS_MASK 271,7227 -#define SMIC_SMS 273,7255 -#define SMIC_SMM 274,7278 -#define SMIC_STREAM_MASK 275,7301 -#define SMIC_CC_SMS_GET_STATUS 278,7358 -#define SMIC_CC_SMS_WR_START 279,7429 -#define SMIC_CC_SMS_WR_NEXT 280,7496 -#define SMIC_CC_SMS_WR_END 281,7561 -#define SMIC_CC_SMS_RD_START 282,7624 -#define SMIC_CC_SMS_RD_NEXT 283,7691 -#define SMIC_CC_SMS_RD_END 284,7756 -#define SMIC_CC_SMM_GET_STATUS 286,7820 -#define SMIC_CC_SMM_WR_START 287,7891 -#define SMIC_CC_SMM_WR_NEXT 288,7958 -#define SMIC_CC_SMM_WR_END 289,8023 -#define SMIC_CC_SMM_RD_START 290,8086 -#define SMIC_CC_SMM_RD_NEXT 291,8153 -#define SMIC_CC_SMM_RD_END 292,8218 -#define SMIC_SC_SMS_READY 295,8307 -#define SMIC_SC_SMS_WR_START 296,8367 -#define SMIC_SC_SMS_WR_NEXT 297,8433 -#define SMIC_SC_SMS_WR_END 298,8497 -#define SMIC_SC_SMS_RD_START 299,8559 -#define SMIC_SC_SMS_RD_NEXT 300,8625 -#define SMIC_SC_SMS_RD_END 301,8689 -#define SMIC_SC_SMM_READY 303,8752 -#define SMIC_SC_SMM_WR_START 304,8812 -#define SMIC_SC_SMM_WR_NEXT 305,8878 -#define SMIC_SC_SMM_WR_END 306,8942 -#define SMIC_SC_SMM_RD_START 307,9004 -#define SMIC_SC_SMM_RD_NEXT 308,9070 -#define SMIC_SC_SMM_RD_END 309,9134 -static enum si_sm_result smic_event 329,9621 -static int smic_detect(568,16069 -static void smic_cleanup(580,16393 -static int smic_size(584,16447 -struct si_sm_handlers smic_smi_handlers 589,16514 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ipmi/ipmi_watchdog.c,4929 -#define PFX 54,1912 -#define IPMI_WATCHDOG_VERSION 56,1943 -#define WDOG_DONT_LOG 63,2125 -#define WDOG_DONT_STOP_ON_SET 64,2157 -#define WDOG_SET_TIMER_USE(WDOG_SET_TIMER_USE65,2196 -#define WDOG_GET_TIMER_USE(WDOG_GET_TIMER_USE67,2276 -#define WDOG_TIMER_USE_BIOS_FRB2 68,2324 -#define WDOG_TIMER_USE_BIOS_POST 69,2359 -#define WDOG_TIMER_USE_OS_LOAD 70,2394 -#define WDOG_TIMER_USE_SMS_OS 71,2428 -#define WDOG_TIMER_USE_OEM 72,2461 -#define WDOG_SET_PRETIMEOUT_ACT(WDOG_SET_PRETIMEOUT_ACT75,2564 -#define WDOG_GET_PRETIMEOUT_ACT(WDOG_GET_PRETIMEOUT_ACT77,2656 -#define WDOG_PRETIMEOUT_NONE 78,2716 -#define WDOG_PRETIMEOUT_SMI 79,2748 -#define WDOG_PRETIMEOUT_NMI 80,2779 -#define WDOG_PRETIMEOUT_MSG_INT 81,2810 -#define WDOG_PREOP_NONE 84,2901 -#define WDOG_PREOP_PANIC 85,2928 -#define WDOG_PREOP_GIVE_DATA 86,2955 -#define WDOG_SET_TIMEOUT_ACT(WDOG_SET_TIMEOUT_ACT91,3174 -#define WDOG_GET_TIMEOUT_ACT(WDOG_GET_TIMEOUT_ACT93,3256 -#define WDOG_TIMEOUT_NONE 94,3306 -#define WDOG_TIMEOUT_RESET 95,3335 -#define WDOG_TIMEOUT_POWER_DOWN 96,3365 -#define WDOG_TIMEOUT_POWER_CYCLE 97,3400 -#define WDOG_EXPIRE_CLEAR_BIOS_FRB2 103,3609 -#define WDOG_EXPIRE_CLEAR_BIOS_POST 104,3654 -#define WDOG_EXPIRE_CLEAR_OS_LOAD 105,3699 -#define WDOG_EXPIRE_CLEAR_SMS_OS 106,3742 -#define WDOG_EXPIRE_CLEAR_OEM 107,3784 -#define WDOG_SET_TIMEOUT(WDOG_SET_TIMEOUT114,4126 -#define WDOG_GET_TIMEOUT(WDOG_GET_TIMEOUT116,4236 -#define IPMI_WDOG_RESET_TIMER 119,4313 -#define IPMI_WDOG_SET_TIMER 120,4349 -#define IPMI_WDOG_GET_TIMER 121,4383 -#define WDIOC_GETTIMEOUT 125,4519 -#define WDIOC_SET_PRETIMEOUT 128,4622 -#define WDIOC_GET_PRETIMEOUT 131,4726 -static int nowayout 135,4834 -static int nowayout;137,4865 -static ipmi_user_t watchdog_user 140,4894 -static int timeout 143,4977 -static int pretimeout 146,5049 -static unsigned char action_val 149,5134 -static char action[151,5189 -static unsigned char preaction_val 153,5224 -static char preaction[155,5284 -static unsigned char preop_val 157,5325 -static char preop[159,5376 -static spinlock_t ipmi_read_lock 160,5414 -static char data_to_read 161,5469 -static struct fasync_struct *fasync_q 163,5539 -static char pretimeout_since_last_heartbeat 164,5585 -static char expect_close;165,5634 -static int start_now 169,5748 -static unsigned char ipmi_watchdog_state 191,6752 -static int ipmi_ignore_heartbeat 194,6873 -static unsigned long ipmi_wdog_open 197,6976 -static int ipmi_start_timer_on_heartbeat 203,7266 -static unsigned char ipmi_version_major;206,7344 -static unsigned char ipmi_version_minor;207,7385 -static atomic_t set_timeout_tofree 218,7747 -static void set_timeout_free_smi(220,7840 -static void set_timeout_free_recv(225,7981 -static struct ipmi_smi_msg set_timeout_smi_msg 230,8124 -static struct ipmi_recv_msg set_timeout_recv_msg 234,8208 -static int i_ipmi_set_timeout(239,8297 -#define IPMI_SET_TIMEOUT_NO_HB 304,10002 -#define IPMI_SET_TIMEOUT_HB_IF_NECESSARY 305,10037 -#define IPMI_SET_TIMEOUT_FORCE_HB 306,10080 -static int ipmi_set_timeout(308,10118 -static void dummy_smi_free(336,10654 -static void dummy_recv_free(339,10711 -static struct ipmi_smi_msg panic_halt_smi_msg 342,10770 -static struct ipmi_recv_msg panic_halt_recv_msg 346,10847 -static void panic_halt_ipmi_set_timeout(355,11150 -void ipmi_delayed_shutdown(372,11598 -static atomic_t heartbeat_tofree 387,12109 -static void heartbeat_free_smi(390,12248 -static void heartbeat_free_recv(395,12388 -static struct ipmi_smi_msg heartbeat_smi_msg 400,12530 -static struct ipmi_recv_msg heartbeat_recv_msg 404,12610 -static struct ipmi_smi_msg panic_halt_heartbeat_smi_msg 409,12695 -static struct ipmi_recv_msg panic_halt_heartbeat_recv_msg 413,12782 -static int ipmi_heartbeat(418,12874 -static void panic_halt_ipmi_heartbeat(490,14685 -static struct watchdog_info ident=519,15356 -static int ipmi_ioctl(526,15437 -static ssize_t ipmi_write(597,16942 -static ssize_t ipmi_read(628,17416 -static int ipmi_open(678,18348 -static unsigned int ipmi_poll(696,18833 -static int ipmi_fasync(710,19092 -static int ipmi_close(719,19238 -static struct file_operations ipmi_wdog_fops 739,19663 -static struct miscdevice ipmi_wdog_miscdev 750,19907 -static void ipmi_wdog_msg_handler(758,20042 -static void ipmi_wdog_pretimeout_handler(770,20318 -static struct ipmi_user_hndl ipmi_hndlrs 791,20881 -static void ipmi_register_watchdog(797,21040 -ipmi_nmi(836,21946 -static struct nmi_handler ipmi_nmi_handler 851,22367 -static int wdog_reboot_handler(861,22585 -static struct notifier_block wdog_reboot_notifier 887,23298 -static int wdog_panic_handler(895,23454 -static struct notifier_block wdog_panic_notifier 917,24052 -static void ipmi_new_smi(924,24179 -static void ipmi_smi_gone(929,24254 -static struct ipmi_smi_watcher smi_watcher 936,24443 -static int __init ipmi_wdog_init(943,24574 -static __exit void ipmi_unregister_watchdog(1037,27293 -static void __exit ipmi_wdog_exit(1081,28352 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/viotape.c,5653 -#define VIOTAPE_VERSION 62,2030 -#define VIOTAPE_MAXREQ 63,2061 -#define VIOTAPE_KERN_WARN 65,2088 -#define VIOTAPE_KERN_INFO 66,2139 -static int viotape_numdev;68,2188 -struct viot_devinfo_struct viot_devinfo_struct75,2385 -#define VIOTAPOP_RESET 81,2454 -#define VIOTAPOP_FSF 82,2488 -#define VIOTAPOP_BSF 83,2519 -#define VIOTAPOP_FSR 84,2550 -#define VIOTAPOP_BSR 85,2581 -#define VIOTAPOP_WEOF 86,2612 -#define VIOTAPOP_REW 87,2644 -#define VIOTAPOP_NOP 88,2675 -#define VIOTAPOP_EOM 89,2706 -#define VIOTAPOP_ERASE 90,2737 -#define VIOTAPOP_SETBLK 91,2771 -#define VIOTAPOP_SETDENSITY 92,2805 -#define VIOTAPOP_SETPOS 93,2839 -#define VIOTAPOP_GETPOS 94,2873 -#define VIOTAPOP_SETPART 95,2907 -#define VIOTAPOP_UNLOAD 96,2941 -struct viotapelpevent viotapelpevent98,2976 -enum viotapesubtype viotapesubtype127,3359 - viotapeopen 128,3381 - viotapeopen = 0x0001,128,3381 - viotapeclose 129,3404 - viotapeclose = 0x0002,129,3404 - viotaperead 130,3428 - viotaperead = 0x0003,130,3428 - viotapewrite 131,3451 - viotapewrite = 0x0004,131,3451 - viotapegetinfo 132,3475 - viotapegetinfo = 0x0005,132,3475 - viotapeop 133,3501 - viotapeop = 0x0006,133,3501 - viotapegetpos 134,3522 - viotapegetpos = 0x0007,134,3522 - viotapesetpos 135,3547 - viotapesetpos = 0x0008,135,3547 - viotapegetstatus 136,3572 - viotapegetstatus = 0x0009136,3572 -enum viotaperc viotaperc139,3603 - viotape_InvalidRange 140,3620 - viotape_InvalidRange = 0x0601,140,3620 - viotape_InvalidToken 141,3652 - viotape_InvalidToken = 0x0602,141,3652 - viotape_DMAError 142,3684 - viotape_DMAError = 0x0603,142,3684 - viotape_UseError 143,3712 - viotape_UseError = 0x0604,143,3712 - viotape_ReleaseError 144,3740 - viotape_ReleaseError = 0x0605,144,3740 - viotape_InvalidTape 145,3772 - viotape_InvalidTape = 0x0606,145,3772 - viotape_InvalidOp 146,3803 - viotape_InvalidOp = 0x0607,146,3803 - viotape_TapeErr 147,3832 - viotape_TapeErr = 0x0608,147,3832 - viotape_AllocTimedOut 149,3860 - viotape_AllocTimedOut = 0x0640,149,3860 - viotape_BOTEnc 150,3893 - viotape_BOTEnc = 0x0641,150,3893 - viotape_BlankTape 151,3919 - viotape_BlankTape = 0x0642,151,3919 - viotape_BufferEmpty 152,3948 - viotape_BufferEmpty = 0x0643,152,3948 - viotape_CleanCartFound 153,3979 - viotape_CleanCartFound = 0x0644,153,3979 - viotape_CmdNotAllowed 154,4013 - viotape_CmdNotAllowed = 0x0645,154,4013 - viotape_CmdNotSupported 155,4046 - viotape_CmdNotSupported = 0x0646,155,4046 - viotape_DataCheck 156,4081 - viotape_DataCheck = 0x0647,156,4081 - viotape_DecompressErr 157,4110 - viotape_DecompressErr = 0x0648,157,4110 - viotape_DeviceTimeout 158,4143 - viotape_DeviceTimeout = 0x0649,158,4143 - viotape_DeviceUnavail 159,4176 - viotape_DeviceUnavail = 0x064a,159,4176 - viotape_DeviceBusy 160,4209 - viotape_DeviceBusy = 0x064b,160,4209 - viotape_EndOfMedia 161,4239 - viotape_EndOfMedia = 0x064c,161,4239 - viotape_EndOfTape 162,4269 - viotape_EndOfTape = 0x064d,162,4269 - viotape_EquipCheck 163,4298 - viotape_EquipCheck = 0x064e,163,4298 - viotape_InsufficientRs 164,4328 - viotape_InsufficientRs = 0x064f,164,4328 - viotape_InvalidLogBlk 165,4362 - viotape_InvalidLogBlk = 0x0650,165,4362 - viotape_LengthError 166,4395 - viotape_LengthError = 0x0651,166,4395 - viotape_LibDoorOpen 167,4426 - viotape_LibDoorOpen = 0x0652,167,4426 - viotape_LoadFailure 168,4457 - viotape_LoadFailure = 0x0653,168,4457 - viotape_NotCapable 169,4488 - viotape_NotCapable = 0x0654,169,4488 - viotape_NotOperational 170,4518 - viotape_NotOperational = 0x0655,170,4518 - viotape_NotReady 171,4552 - viotape_NotReady = 0x0656,171,4552 - viotape_OpCancelled 172,4580 - viotape_OpCancelled = 0x0657,172,4580 - viotape_PhyLinkErr 173,4611 - viotape_PhyLinkErr = 0x0658,173,4611 - viotape_RdyNotBOT 174,4641 - viotape_RdyNotBOT = 0x0659,174,4641 - viotape_TapeMark 175,4670 - viotape_TapeMark = 0x065a,175,4670 - viotape_WriteProt 176,4698 - viotape_WriteProt = 0x065b176,4698 -static const struct vio_error_entry viotape_err_table[179,4730 -#define VIOTAPE_MAX_TAPE 220,6721 -#define MAX_PARTITIONS 221,6775 -#define VIOT_IDLE 224,6839 -#define VIOT_READING 225,6860 -#define VIOT_WRITING 226,6884 -struct tape_descr tape_descr229,6937 -static struct tape_descr *viotape_unitinfo;235,7012 -static dma_addr_t viotape_unitinfo_token;236,7056 -static struct mtget viomtget[238,7099 -static struct class_simple *tape_class;240,7148 -static struct device *tape_device[242,7189 -} state[252,7458 -static struct semaphore reqSem;255,7509 -struct op_struct op_struct261,7650 -static spinlock_t op_struct_list_lock;272,7832 -static struct op_struct *op_struct_list;273,7871 -static int proc_viotape_show(279,8065 -static int proc_viotape_open(294,8451 -static struct file_operations proc_viotape_operations 299,8577 -void get_dev_info(307,8791 -static void clear_op_struct_pool(316,9130 -static int add_op_structs(326,9361 -static struct op_struct *get_op_struct(344,9723 -static void free_op_struct(363,10145 -int tape_rc_to_errno(374,10444 -static int get_viotape_info(389,10845 -static ssize_t viotap_write(436,11945 -static ssize_t viotap_read(526,14041 -static int viotap_ioctl(606,15927 -static int viotap_open(774,19579 -static int viotap_release(818,20606 -struct file_operations viotap_fops 879,22110 -static void vioHandleTapeEvent(889,22323 -static int viotape_probe(945,23569 -static int viotape_remove(976,24573 -static struct vio_device_id viotape_device_table[992,24980 -static struct vio_device_id viotape_device_table[] __devinitdata 992,24980 -static struct vio_driver viotape_driver 998,25129 -int __init viotap_init(1006,25284 -static int chg_state(1085,27173 -static void __exit viotap_exit(1107,27707 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hp600_keyb.c,472 -#define PCDR 19,374 -#define PDDR 20,398 -#define PEDR 21,422 -#define PFDR 22,446 -#define PGDR 23,470 -#define PHDR 24,494 -#define PJDR 25,518 -#define PKDR 26,542 -#define PLDR 27,566 -static const unsigned char hp620_japanese_table[29,591 -static const unsigned char hp680_japanese_table[60,1640 -static int hp620_japanese_scan_kbd(91,2689 -static int hp680_japanese_scan_kbd(123,3255 -void __init hp600_kbd_init_hw(154,3807 -int __init hp620_keyboard_test(265,7121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/scc.h,6925 -#define _SCC_H14,351 -#define TIOCGATSCC 24,515 -#define TIOCSATSCC 25,569 -#define TIOCDATSCC 26,623 -#define CLK_RTxC 30,709 -#define CLK_TRxC 31,728 -#define CLK_PCLK 32,747 -#define SCC_BAUD_BASE_TIMC 38,874 -#define SCC_BAUD_BASE_BCLK 39,945 -#define SCC_BAUD_BASE_PCLK4 40,996 -#define SCC_BAUD_BASE_PCLK 41,1048 -#define SCC_BAUD_BASE_NONE 42,1102 -struct scc_clock_config scc_clock_config47,1233 -struct scc_port scc_port75,2092 -#define SCC_MAGIC 86,2388 -#define COMMAND_REG 102,3154 -#define INT_AND_DMA_REG 103,3186 -#define INT_VECTOR_REG 104,3222 -#define RX_CTRL_REG 105,3282 -#define AUX1_CTRL_REG 106,3314 -#define TX_CTRL_REG 107,3348 -#define SYNC_ADR_REG 108,3380 -#define SYNC_CHAR_REG 109,3413 -#define SDLC_OPTION_REG 110,3447 -#define TX_DATA_REG 111,3484 -#define MASTER_INT_CTRL 112,3516 -#define AUX2_CTRL_REG 113,3577 -#define CLK_CTRL_REG 114,3612 -#define TIMER_LOW_REG 115,3646 -#define TIMER_HIGH_REG 116,3681 -#define DPLL_CTRL_REG 117,3717 -#define INT_CTRL_REG 118,3752 -#define STATUS_REG 120,3787 -#define SPCOND_STATUS_REG 121,3819 -#define CURR_VECTOR_REG 123,3930 -#define INT_PENDING_REG 124,3989 -#define FS_FIFO_LOW_REG 127,4109 -#define FS_FIFO_HIGH_REG 128,4146 -#define RX_DATA_REG 129,4183 -#define DPLL_STATUS_REG 131,4251 -#define CR_RX_CRC_RESET 148,4808 -#define CR_TX_CRC_RESET 149,4838 -#define CR_TX_UNDERRUN_RESET 150,4868 -#define CR_EXTSTAT_RESET 152,4903 -#define CR_SEND_ABORT 153,4933 -#define CR_ENAB_INT_NEXT_RX 154,4961 -#define CR_TX_PENDING_RESET 155,4994 -#define CR_ERROR_RESET 156,5027 -#define CR_HIGHEST_IUS_RESET 157,5056 -#define IDR_EXTSTAT_INT_ENAB 162,5126 -#define IDR_TX_INT_ENAB 163,5160 -#define IDR_PARERR_AS_SPCOND 164,5190 -#define IDR_RX_INT_DISAB 166,5225 -#define IDR_RX_INT_FIRST 167,5255 -#define IDR_RX_INT_ALL 168,5285 -#define IDR_RX_INT_SPCOND 169,5314 -#define IDR_RX_INT_MASK 170,5345 -#define IDR_WAITREQ_RX 172,5376 -#define IDR_WAITREQ_IS_REQ 173,5405 -#define IDR_WAITREQ_ENAB 174,5437 -#define RCR_RX_ENAB 179,5499 -#define RCR_DISCARD_SYNC_CHARS 180,5525 -#define RCR_ADDR_SEARCH 181,5561 -#define RCR_CRC_ENAB 182,5591 -#define RCR_SEARCH_MODE 183,5618 -#define RCR_AUTO_ENAB_MODE 184,5648 -#define RCR_CHSIZE_MASK 186,5681 -#define RCR_CHSIZE_5 187,5711 -#define RCR_CHSIZE_6 188,5738 -#define RCR_CHSIZE_7 189,5765 -#define RCR_CHSIZE_8 190,5792 -#define A1CR_PARITY_MASK 195,5854 -#define A1CR_PARITY_NONE 196,5884 -#define A1CR_PARITY_ODD 197,5914 -#define A1CR_PARITY_EVEN 198,5944 -#define A1CR_MODE_MASK 200,5975 -#define A1CR_MODE_SYNCR 201,6004 -#define A1CR_MODE_ASYNC_1 202,6034 -#define A1CR_MODE_ASYNC_15 203,6065 -#define A1CR_MODE_ASYNC_2 204,6097 -#define A1CR_SYNCR_MODE_MASK 206,6129 -#define A1CR_SYNCR_MONOSYNC 207,6163 -#define A1CR_SYNCR_BISYNC 208,6196 -#define A1CR_SYNCR_SDLC 209,6227 -#define A1CR_SYNCR_EXTCSYNC 210,6257 -#define A1CR_CLKMODE_MASK 212,6291 -#define A1CR_CLKMODE_x1 213,6322 -#define A1CR_CLKMODE_x16 214,6352 -#define A1CR_CLKMODE_x32 215,6382 -#define A1CR_CLKMODE_x64 216,6412 -#define TCR_TX_CRC_ENAB 221,6474 -#define TCR_RTS 222,6504 -#define TCR_USE_CRC_CCITT 223,6527 -#define TCR_USE_CRC_16 224,6558 -#define TCR_TX_ENAB 225,6587 -#define TCR_SEND_BREAK 226,6613 -#define TCR_CHSIZE_MASK 228,6643 -#define TCR_CHSIZE_5 229,6673 -#define TCR_CHSIZE_6 230,6700 -#define TCR_CHSIZE_7 231,6727 -#define TCR_CHSIZE_8 232,6754 -#define TCR_DTR 234,6782 -#define SOR_AUTO_TX_ENAB 239,6842 -#define SOR_AUTO_EOM_RESET 240,6872 -#define SOR_AUTO_RTS_MODE 241,6904 -#define SOR_NRZI_DISAB_HIGH 242,6935 -#define SOR_ALT_DTRREQ_TIMING 243,6968 -#define SOR_READ_CRC_CHARS 244,7003 -#define SOR_EXTENDED_REG_ACCESS 245,7035 -#define MIC_VEC_INCL_STAT 250,7108 -#define MIC_NO_VECTOR 251,7139 -#define MIC_DISAB_LOWER_CHAIN 252,7167 -#define MIC_MASTER_INT_ENAB 253,7202 -#define MIC_STATUS_HIGH 254,7235 -#define MIC_IGN_INTACK 255,7265 -#define MIC_NO_RESET 257,7295 -#define MIC_CH_A_RESET 258,7322 -#define MIC_CH_B_RESET 259,7351 -#define MIC_HARD_RESET 260,7380 -#define A2CR_SYNC_6 265,7445 -#define A2CR_LOOP_MODE 266,7471 -#define A2CR_ABORT_ON_UNDERRUN 267,7500 -#define A2CR_MARK_IDLE 268,7536 -#define A2CR_GO_ACTIVE_ON_POLL 269,7565 -#define A2CR_CODING_MASK 271,7602 -#define A2CR_CODING_NRZ 272,7632 -#define A2CR_CODING_NRZI 273,7662 -#define A2CR_CODING_FM1 274,7692 -#define A2CR_CODING_FM0 275,7722 -#define A2CR_PRESET_CRC_1 277,7753 -#define CCR_TRxCOUT_MASK 282,7818 -#define CCR_TRxCOUT_XTAL 283,7848 -#define CCR_TRxCOUT_TXCLK 284,7878 -#define CCR_TRxCOUT_BRG 285,7909 -#define CCR_TRxCOUT_DPLL 286,7939 -#define CCR_TRxC_OUTPUT 288,7970 -#define CCR_TXCLK_MASK 290,8001 -#define CCR_TXCLK_RTxC 291,8030 -#define CCR_TXCLK_TRxC 292,8059 -#define CCR_TXCLK_BRG 293,8088 -#define CCR_TXCLK_DPLL 294,8116 -#define CCR_RXCLK_MASK 296,8146 -#define CCR_RXCLK_RTxC 297,8175 -#define CCR_RXCLK_TRxC 298,8204 -#define CCR_RXCLK_BRG 299,8233 -#define CCR_RXCLK_DPLL 300,8261 -#define CCR_RTxC_XTAL 302,8291 -#define DCR_BRG_ENAB 307,8354 -#define DCR_BRG_USE_PCLK 308,8381 -#define DCR_DTRREQ_IS_REQ 309,8411 -#define DCR_AUTO_ECHO 310,8442 -#define DCR_LOCAL_LOOPBACK 311,8470 -#define DCR_DPLL_EDGE_SEARCH 313,8503 -#define DCR_DPLL_ERR_RESET 314,8537 -#define DCR_DPLL_DISAB 315,8569 -#define DCR_DPLL_CLK_BRG 316,8598 -#define DCR_DPLL_CLK_RTxC 317,8628 -#define DCR_DPLL_FM 318,8659 -#define DCR_DPLL_NRZI 319,8685 -#define ICR_OPTIONREG_SELECT 324,8747 -#define ICR_ENAB_BRG_ZERO_INT 325,8781 -#define ICR_USE_FS_FIFO 326,8816 -#define ICR_ENAB_DCD_INT 327,8846 -#define ICR_ENAB_SYNC_INT 328,8876 -#define ICR_ENAB_CTS_INT 329,8907 -#define ICR_ENAB_UNDERRUN_INT 330,8937 -#define ICR_ENAB_BREAK_INT 331,8972 -#define SR_CHAR_AVAIL 336,9034 -#define SR_BRG_ZERO 337,9062 -#define SR_TX_BUF_EMPTY 338,9088 -#define SR_DCD 339,9118 -#define SR_SYNC_ABORT 340,9140 -#define SR_CTS 341,9168 -#define SR_TX_UNDERRUN 342,9190 -#define SR_BREAK 343,9219 -#define SCSR_ALL_SENT 348,9281 -#define SCSR_RESIDUAL_MASK 349,9309 -#define SCSR_PARITY_ERR 350,9341 -#define SCSR_RX_OVERRUN 351,9371 -#define SCSR_CRC_FRAME_ERR 352,9401 -#define SCSR_END_OF_FRAME 353,9433 -#define IPR_B_EXTSTAT 358,9500 -#define IPR_B_TX 359,9528 -#define IPR_B_RX 360,9551 -#define IPR_A_EXTSTAT 361,9574 -#define IPR_A_TX 362,9602 -#define IPR_A_RX 363,9625 -#define FFHR_CNT_MASK 368,9686 -#define FFHR_IS_FROM_FIFO 369,9714 -#define FFHR_FIFO_OVERRUN 370,9745 -#define DSR_ON_LOOP 375,9813 -#define DSR_ON_LOOP_SENDING 376,9839 -#define DSR_TWO_CLK_MISSING 377,9872 -#define DSR_ONE_CLK_MISSING 378,9905 -#define scc_reg_delay(scc_reg_delay394,10596 -static __inline__ void _SCCwrite(442,12792 -static __inline__ unsigned char _SCCread(531,14718 -#define SCC_ACCESS_INIT(SCC_ACCESS_INIT603,16263 -#define SCCwrite(SCCwrite606,16361 -#define SCCwrite_NB(SCCwrite_NB607,16437 -#define SCCread(SCCread608,16516 -#define SCCread_NB(SCCread_NB609,16581 -#define SCCmod(SCCmod611,16650 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/tty_io.c,3665 -#define TTY_PARANOIA_CHECK 110,3486 -#define CHECK_TTY_COUNT 111,3515 -struct termios tty_std_termios 113,3542 -static struct tty_struct *alloc_tty_struct(159,5286 -static inline void free_tty_struct(169,5489 -#define TTY_NUMBER(TTY_NUMBER174,5566 -char *tty_name(176,5633 -inline int tty_paranoia_check(187,5836 -static int check_tty_count(207,6284 -static void tty_set_termios_ldisc(238,7012 -static spinlock_t tty_ldisc_lock 251,7350 -static struct tty_ldisc tty_ldiscs[253,7453 -int tty_register_ldisc(255,7532 -struct tty_ldisc *tty_ldisc_get(282,8123 -void tty_ldisc_put(310,8685 -void tty_ldisc_assign(329,9046 -static int tty_ldisc_try(345,9433 -struct tty_ldisc *tty_ldisc_ref_wait(376,10214 -struct tty_ldisc *tty_ldisc_ref(396,10747 -void tty_ldisc_deref(413,11088 -static void tty_ldisc_enable(443,11778 -static int tty_set_ldisc(458,12090 -struct tty_driver *get_tty_driver(585,15514 -int tty_check_change(604,16027 -static ssize_t hung_up_tty_read(624,16487 -static ssize_t hung_up_tty_write(630,16606 -static unsigned int hung_up_tty_poll(637,16779 -static int hung_up_tty_ioctl(642,16932 -static struct file_operations tty_fops 648,17096 -static struct file_operations ptmx_fops 660,17345 -static struct file_operations console_fops 672,17577 -static struct file_operations hung_up_tty_fops 683,17815 -static spinlock_t redirect_lock 692,18034 -static struct file *redirect;693,18088 -void tty_wakeup(704,18349 -void tty_ldisc_flush(729,18855 -void do_tty_hangup(746,19273 -void tty_hangup(869,22579 -void tty_vhangup(881,22794 -int tty_hung_up_p(892,23005 -void disassociate_ctty(912,23632 -void stop_tty(951,24533 -void start_tty(967,24866 -static ssize_t tty_read(987,25350 -static inline ssize_t do_tty_write(1021,26127 -static ssize_t tty_write(1067,27118 -ssize_t redirected_tty_write(1091,27740 -static char ptychar[1113,28135 -static inline void pty_line_name(1115,28180 -static inline void tty_line_name(1124,28482 -static int init_dev(1135,28913 -static void release_mem(1369,34537 -static void release_dev(1428,36022 -static int tty_open(1716,44476 -static int ptmx_open(1823,46961 -static int tty_release(1878,48105 -static unsigned int tty_poll(1887,48273 -static int tty_fasync(1904,48658 -static int tiocsti(1930,49280 -static int tiocgwinsz(1945,49609 -static int tiocswinsz(1952,49771 -static int tioccons(1982,50521 -static int fionbio(2008,50984 -static int tiocsctty(2022,51200 -static int tiocgpgrp(2062,52150 -static int tiocspgrp(2073,52452 -static int tiocgsid(2096,53001 -static int tiocsetd(2109,53351 -static int send_break(2118,53506 -tty_tiocmget(2132,53814 -tty_tiocmset(2146,54072 -int tty_ioctl(2183,54774 -static void __do_SAK(2353,59216 -void do_SAK(2417,60836 -static void flush_to_ldisc(2432,61128 -int tty_push_data(2480,62354 -static int baud_table[2503,62855 -static int n_baud_table 2514,63171 -int tty_termios_baud_rate(2525,63472 -int tty_get_baud_rate(2553,64031 -void tty_flip_buffer_push(2582,64720 -static void initialize_tty_struct(2595,64974 -static void tty_default_put_char(2619,65756 -static struct class_simple *tty_class;2624,65873 -void tty_register_device(2638,66475 -void tty_unregister_device(2668,67394 -struct tty_driver *alloc_tty_driver(2677,67694 -void put_tty_driver(2691,68025 -void tty_set_operations(2696,68093 -int tty_register_driver(2731,69138 -int tty_unregister_driver(2805,70885 -void __init console_init(2856,72039 -static int __init tty_class_init(2886,72669 -static struct cdev tty_cdev,2898,72914 -static struct cdev tty_cdev, console_cdev;2898,72914 -static struct cdev ptmx_cdev;2900,72983 -static struct cdev vc0_cdev;2903,73037 -static int __init tty_init(2910,73195 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hvsi.c,3653 -#define HVSI_MAJOR 54,1998 -#define HVSI_MINOR 55,2021 -#define MAX_NR_HVSI_CONSOLES 56,2044 -#define HVSI_TIMEOUT 58,2076 -#define HVSI_VERSION 59,2104 -#define HVSI_MAX_PACKET 60,2127 -#define HVSI_MAX_READ 61,2155 -#define HVSI_MAX_OUTGOING_DATA 62,2180 -#define N_OUTBUF 63,2214 -#define __ALIGNED__ 69,2354 -struct hvsi_struct hvsi_struct71,2418 -static struct hvsi_struct hvsi_ports[97,3220 -static struct tty_driver *hvsi_driver;99,3281 -static int hvsi_count;100,3320 -enum HVSI_PROTOCOL_STATE HVSI_PROTOCOL_STATE103,3404 - HVSI_CLOSED,104,3431 - HVSI_WAIT_FOR_VER_RESPONSE,105,3445 - HVSI_WAIT_FOR_VER_QUERY,106,3474 - HVSI_OPEN,107,3500 - HVSI_WAIT_FOR_MCTRL_RESPONSE,108,3512 - HVSI_FSP_DIED,109,3543 -#define HVSI_CONSOLE 111,3562 -#define VS_DATA_PACKET_HEADER 113,3588 -#define VS_CONTROL_PACKET_HEADER 114,3633 -#define VS_QUERY_PACKET_HEADER 115,3678 -#define VS_QUERY_RESPONSE_PACKET_HEADER 116,3723 -#define VSV_SET_MODEM_CTL 119,3789 -#define VSV_MODEM_CTL_UPDATE 120,3852 -#define VSV_CLOSE_PROTOCOL 121,3917 -#define VSV_SEND_VERSION_NUMBER 124,3967 -#define VSV_SEND_MODEM_CTL_STATUS 125,4001 -#define HVSI_TSDTR 128,4082 -#define HVSI_TSCD 129,4106 -struct hvsi_header hvsi_header131,4131 -struct hvsi_data hvsi_data137,4228 -struct hvsi_control hvsi_control144,4363 -struct hvsi_query hvsi_query154,4544 -struct hvsi_query_response hvsi_query_response161,4656 -static inline int is_console(175,4860 -static inline int is_open(180,4952 -static inline void print_state(187,5152 -static inline void __set_state(207,5604 -static inline void set_state(214,5740 -static inline int len_packet(223,5938 -static inline int is_header(228,6045 -static inline int got_packet(234,6218 -static void compact_inbuf(246,6572 -#define dbg_dump_packet(dbg_dump_packet259,6880 -#define dbg_dump_hex(dbg_dump_hex260,6932 -#define dbg_dump_packet(dbg_dump_packet262,6990 -#define dbg_dump_hex(dbg_dump_hex263,7039 -static void dump_hex(266,7096 -static void dump_packet(284,7368 -static int hvsi_read(295,7650 -static void hvsi_recv_control(305,7893 -static void hvsi_recv_response(334,8686 -static int hvsi_version_respond(358,9349 -static void hvsi_recv_query(383,10060 -static void hvsi_insert_chars(399,10439 -#define TTY_THRESHOLD_THROTTLE 427,11220 -static struct tty_struct *hvsi_recv_data(428,11255 -static int hvsi_load_chunk(467,12416 -static void hvsi_send_overflow(546,14429 -static irqreturn_t hvsi_interrupt(559,14748 -static int __init poll_for_state(615,16104 -static int wait_for_state(632,16472 -static int hvsi_query(659,17064 -static int hvsi_get_mctrl(682,17644 -static int hvsi_set_mctrl(702,18066 -static void hvsi_drain_input(728,18732 -static int hvsi_handshake(738,18984 -static void hvsi_handshaker(765,19717 -static int hvsi_put_chars(782,20100 -static void hvsi_close_protocol(802,20657 -static int hvsi_open(817,21069 -static void hvsi_flush_output(869,22219 -static void hvsi_close(901,23031 -static void hvsi_hangup(953,24387 -static void hvsi_push(970,24708 -static void hvsi_write_worker(989,25161 -static int hvsi_write_room(1035,26300 -static int hvsi_chars_in_buffer(1042,26456 -static int hvsi_write(1049,26606 -static void hvsi_throttle(1123,28344 -static void hvsi_unthrottle(1132,28545 -static int hvsi_tiocmget(1153,28993 -static int hvsi_tiocmset(1161,29173 -static struct tty_operations hvsi_ops 1186,29695 -static int __init hvsi_init(1199,30019 -static void hvsi_console_print(1241,31160 -static struct tty_driver *hvsi_console_device(1276,31849 -static int __init hvsi_console_setup(1283,31985 -static struct console hvsi_con_driver 1311,32531 -static int __init hvsi_console_init(1320,32733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sxboards.h,3287 -#define _sxboards_h 25,672 -#define BUS_ISA 34,1113 -#define BUS_MCA 35,1133 -#define BUS_EISA 36,1153 -#define BUS_PCI 37,1173 -#define SI1_Z280 40,1216 -#define SI2_Z280 41,1236 -#define SI3_T225 42,1256 -#define CARD_TYPE(CARD_TYPE45,1298 -#define CARD_BUS(CARD_BUS46,1343 -#define CARD_PHASE(CARD_PHASE47,1384 -#define TYPE_SI1_ISA 49,1422 -#define TYPE_SI2_ISA 50,1473 -#define TYPE_SI2_EISA 51,1524 -#define TYPE_SI2_PCI 52,1577 -#define TYPE_SX_ISA 54,1629 -#define TYPE_SX_PCI 55,1679 -#define SI1_ISA_WINDOW_LEN 63,2152 -#define SI1_ISA_RESET 72,2689 -#define SI1_ISA_RESET_CLEAR 73,2745 -#define SI1_ISA_WAIT 74,2811 -#define SI1_ISA_WAIT_CLEAR 75,2872 -#define SI1_ISA_INTCL 76,2937 -#define SI1_ISA_INTCL_CLEAR 77,3000 -#define SI2_ISA_WINDOW_LEN 87,3486 -#define SI2_ISA_MEMORY_LEN 88,3558 -#define SI2_ISA_ADDR_LOW 89,3614 -#define SI2_ISA_ADDR_HIGH 90,3682 -#define SI2_ISA_ADDR_STEP 91,3760 -#define SI2_ISA_IRQ_MASK 92,3834 -#define SI2_ISA_ID_BASE 95,3930 -#define SI2_ISA_RESET 96,3994 -#define SI2_ISA_IRQ11 97,4059 -#define SI2_ISA_IRQ12 98,4126 -#define SI2_ISA_IRQ15 99,4193 -#define SI2_ISA_IRQSET 100,4260 -#define SI2_ISA_INTCLEAR 101,4337 -#define SI2_ISA_IRQ11_SET 103,4419 -#define SI2_ISA_IRQ11_CLEAR 104,4451 -#define SI2_ISA_IRQ12_SET 105,4485 -#define SI2_ISA_IRQ12_CLEAR 106,4517 -#define SI2_ISA_IRQ15_SET 107,4551 -#define SI2_ISA_IRQ15_CLEAR 108,4583 -#define SI2_ISA_INTCLEAR_SET 109,4617 -#define SI2_ISA_INTCLEAR_CLEAR 110,4652 -#define SI2_ISA_IRQSET_CLEAR 111,4689 -#define SI2_ISA_IRQSET_SET 112,4724 -#define SI2_ISA_RESET_SET 113,4757 -#define SI2_ISA_RESET_CLEAR 114,4789 -#define SI2_PCI_WINDOW_LEN 117,4851 -#define SI2_PCI_SET_IRQ 120,4957 -#define SI2_PCI_RESET 121,5018 -#define SX_WINDOW_LEN 130,5496 -#define SX_ISA_ADDR_LOW 133,5586 -#define SX_ISA_ADDR_HIGH 134,5654 -#define SX_ISA_ADDR_STEP 135,5731 -#define SX_ISA_IRQ_MASK 136,5800 -#define SX_EVENT_STATUS 139,5899 -#define SX_EVENT_STROBE 140,5964 -#define SX_EVENT_ENABLE 141,6029 -#define SX_VPD_ROM 142,6094 -#define SX_CONFIG 143,6159 -#define SX_IRQ_STATUS 144,6228 -#define SX_SET_IRQ 145,6295 -#define SX_RESET_STATUS 146,6356 -#define SX_RESET 147,6421 -#define SX_RESET_IRQ 148,6472 -#define SX_VPD_SLX_ID1 151,6570 -#define SX_VPD_SLX_ID2 152,6600 -#define SX_VPD_HW_REV 153,6630 -#define SX_VPD_HW_ASSEM 154,6659 -#define SX_VPD_UNIQUEID4 155,6690 -#define SX_VPD_UNIQUEID3 156,6721 -#define SX_VPD_UNIQUEID2 157,6752 -#define SX_VPD_UNIQUEID1 158,6783 -#define SX_VPD_MANU_YEAR 159,6814 -#define SX_VPD_MANU_WEEK 160,6845 -#define SX_VPD_IDENT 161,6876 -#define SX_VPD_IDENT_STRING 162,6904 -#define SX_UNIQUEID_MASK 165,6984 -#define SX_ISA_UNIQUEID1 166,7015 -#define SX_PCI_UNIQUEID1 167,7046 -#define SX_CONF_BUSEN 170,7109 -#define SX_CONF_HOSTIRQ 171,7172 -#define SX_BOOTSTRAP 174,7264 -#define SX_BOOTSTRAP_SIZE 175,7314 -#define SX_BOOTSTRAP_ADDR 176,7343 -#define SI2_EISA_OFF 184,7794 -#define SI2_EISA_VAL 185,7823 -#define SI2_EISA_WINDOW_LEN 186,7852 -#define SPX_VENDOR_ID 196,8320 -#define SPX_DEVICE_ID 197,8382 -#define SPX_PLXDEVICE_ID 198,8434 -#define SPX_SUB_VENDOR_ID 200,8485 -#define SI2_SUB_SYS_ID 201,8550 -#define SX_SUB_SYS_ID 202,8609 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rocket.h,1829 -} rocketModel_t;rocketModel_t16,347 -struct rocket_config rocket_config18,365 -struct rocket_ports rocket_ports27,482 -struct rocket_version rocket_version33,575 -#define ROCKET_CALLOUT_NOHUP 42,699 -#define ROCKET_FORCE_CD 43,742 -#define ROCKET_HUP_NOTIFY 44,778 -#define ROCKET_SPLIT_TERMIOS 45,815 -#define ROCKET_SPD_MASK 46,855 -#define ROCKET_SPD_HI 47,891 -#define ROCKET_SPD_VHI 48,962 -#define ROCKET_SPD_SHI 49,1035 -#define ROCKET_SPD_WARP 50,1108 -#define ROCKET_SAK 51,1189 -#define ROCKET_SESSION_LOCKOUT 52,1220 -#define ROCKET_PGRP_LOCKOUT 53,1262 -#define ROCKET_RTS_TOGGLE 54,1301 -#define ROCKET_MODE_MASK 55,1338 -#define ROCKET_MODE_RS232 56,1381 -#define ROCKET_MODE_RS485 57,1424 -#define ROCKET_MODE_RS422 58,1467 -#define ROCKET_FLAGS 59,1510 -#define ROCKET_USR_MASK 61,1544 -#define ROCKET_CLOSING_WAIT_NONE 67,1689 -#define ROCKET_CLOSING_WAIT_INF 68,1728 -#define RCKP_GET_STRUCT 73,1800 -#define RCKP_GET_CONFIG 74,1836 -#define RCKP_SET_CONFIG 75,1872 -#define RCKP_GET_PORTS 76,1908 -#define RCKP_RESET_RM2 77,1943 -#define RCKP_GET_VERSION 78,1978 -#define MODEL_RP32INTF 81,2040 -#define MODEL_RP8INTF 82,2111 -#define MODEL_RP16INTF 83,2182 -#define MODEL_RP8OCTA 84,2253 -#define MODEL_RP4QUAD 85,2324 -#define MODEL_RP8J 86,2395 -#define MODEL_RP4J 87,2466 -#define MODEL_RP8SNI 88,2537 -#define MODEL_RP16SNI 89,2612 -#define MODEL_RPP4 90,2688 -#define MODEL_RPP8 91,2759 -#define MODEL_RP2_232 92,2830 -#define MODEL_RP2_422 93,2901 -#define MODEL_RP6M 96,3002 -#define MODEL_RP4M 97,3073 -#define MODEL_UPCI_RP32INTF 100,3172 -#define MODEL_UPCI_RP8INTF 101,3250 -#define MODEL_UPCI_RP16INTF 102,3328 -#define MODEL_UPCI_RP8OCTA 103,3406 -#define MODEL_UPCI_RM3_8PORT 104,3485 -#define MODEL_UPCI_RM3_4PORT 105,3563 -#define MODEL_CPCI_RP16INTF 108,3670 -#define MODEL_ISA 111,3773 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/pcxx.c,2400 -#define VERSION 79,2955 -static struct board_info boards[91,3218 -static int verbose 101,3530 -static int debug 102,3554 -static int io[106,3620 -static int membase[107,3662 -static int memsize[108,3704 -static int altpin[109,3746 -static int numports[110,3788 -static int numcards 125,4196 -static int nbdevs 126,4221 -static struct channel *digi_channels;128,4246 -int pcxx_ncook=130,4289 -int pcxx_nbios=131,4323 -#define pcxxassert(pcxxassert133,4358 -#define FEPTIMEOUT 135,4422 -#define SERIAL_TYPE_NORMAL 136,4450 -#define PCXE_EVENT_HANGUP 137,4479 -static struct tty_driver *pcxe_driver;139,4510 -static struct timer_list pcxx_timer;141,4550 -#define TZ_BUFSZ 179,6502 -static void cleanup_board_resources(185,6634 -static void __exit pcxe_cleanup(204,7002 -static inline struct channel *chan(225,7420 -static inline void memwinon(238,7759 -static inline void memwinoff(246,7934 -static inline void globalwinon(253,8097 -static inline void rxwinon(261,8262 -static inline void txwinon(269,8416 -static inline void memoff(277,8569 -static inline void assertgwinon(284,8712 -static inline void assertmemoff(290,8866 -static inline void pcxe_sched_event(296,9015 -static void pcxx_error(302,9148 -static int pcxx_waitcarrier(307,9257 -int pcxe_open(360,10382 -static void shutdown(457,12609 -static void pcxe_close(490,13185 -void pcxe_hangup(553,14813 -static int pcxe_write(574,15144 -static void pcxe_put_char(669,16948 -static int pcxe_write_room(676,17058 -static int pcxe_chars_in_buffer(713,17711 -static void pcxe_flush_buffer(758,18566 -static void pcxe_flush_chars(782,18946 -void __init pcxx_setup(803,19409 -static struct tty_operations pcxe_ops 990,22640 -static int __init pcxe_init(1014,23318 -module_init(1535,36002 -static void doevent(1573,36598 -fepcmd(1677,38850 -static unsigned termios2digi_c(1736,40096 -static unsigned termios2digi_i(1755,40652 -static unsigned termios2digi_h(1764,40882 -static void pcxxparam(1791,41458 -static void receive_data(1868,43164 -static int pcxe_tiocmget(1959,44747 -static int pcxe_tiocmset(1998,45428 -static int pcxe_ioctl(2044,46340 -static void pcxe_set_termios(2224,50237 -static void do_softint(2248,50755 -static void pcxe_stop(2265,51152 -static void pcxe_throttle(2283,51501 -static void pcxe_unthrottle(2301,51854 -static void pcxe_start(2324,52337 -void digi_send_break(2349,52866 -static void setup_empty_event(2371,53373 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/viocons.c,2494 -#define VIOTTY_MAGIC 58,1773 -#define VTTY_PORTS 59,1803 -#define VIOCONS_KERN_WARN 61,1826 -#define VIOCONS_KERN_INFO 62,1877 -static spinlock_t consolelock 64,1926 -static spinlock_t consoleloglock 65,1978 -static int vio_sysrq_pressed;68,2060 -struct viocharlpevent viocharlpevent76,2259 -#define VIOCHAR_NUM_CFU_BUFFERS 91,2600 -static struct viocharlpevent viocons_cfu_buffer[92,2634 -static atomic_t viocons_cfu_buffer_available[93,2708 -#define VIOCHAR_WINDOW 95,2780 -#define VIOCHAR_HIGHWATERMARK 96,2807 -enum viocharsubtype viocharsubtype98,2840 - viocharopen 99,2862 - viocharopen = 0x0001,99,2862 - viocharclose 100,2885 - viocharclose = 0x0002,100,2885 - viochardata 101,2909 - viochardata = 0x0003,101,2909 - viocharack 102,2932 - viocharack = 0x0004,102,2932 - viocharconfig 103,2954 - viocharconfig = 0x0005103,2954 -enum viochar_rc viochar_rc106,2982 - viochar_rc_ebusy 107,3000 -#define VIOCHAR_NUM_BUF 110,3026 -static struct port_info port_info116,3146 -} port_info[135,3715 -#define viochar_is_console(viochar_is_console137,3741 -#define viochar_port(viochar_port138,3796 -static struct tty_driver *viotty_driver;142,3919 -void hvlog(144,3961 -void hvlogOutput(160,4292 -static inline int viotty_paranoia_check(190,5057 -static void viocons_init_cfu_buffer(212,5671 -static struct viocharlpevent *viocons_get_cfu_buffer(220,5825 -static void viocons_free_cfu_buffer(237,6299 -static int buffer_add(259,6956 -static void send_buffers(338,9059 -static int internal_write(441,11748 -static struct port_info *get_port_data(533,14278 -static void initDataEvent(558,14821 -static void viocons_write_early(578,15585 -static void viocons_write(586,15728 -static struct tty_driver *viocons_device(646,17201 -static struct console viocons_early 655,17358 -static struct console viocons 662,17494 -static int viotty_open(673,17671 -static void viotty_close(704,18335 -static int viotty_write(724,18781 -static void viotty_put_char(801,20961 -static int viotty_write_room(820,21323 -static int viotty_chars_in_buffer(857,22282 -static int viotty_ioctl(862,22356 -static void vioHandleOpenEvent(884,22828 -static void vioHandleCloseEvent(990,26057 -static void vioHandleConfig(1020,26933 -static void vioHandleData(1037,27389 -static void vioHandleAck(1149,30662 -static void vioHandleCharEvent(1171,31210 -static int send_open(1207,31914 -static struct tty_operations serial_ops 1219,32276 -static int __init viocons_init2(1229,32526 -static int __init viocons_init(1318,35122 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/random.c,5257 -#define DEFAULT_POOL_SIZE 266,11781 -#define SECONDARY_POOL_SIZE 267,11811 -#define BATCH_ENTROPY_SIZE 268,11843 -#define USE_SHA269,11874 -static int random_read_wakeup_thresh 275,12029 -static int random_write_wakeup_thresh 282,12239 -static int trickle_thresh 289,12427 -static struct poolinfo poolinfo301,12923 -} poolinfo_table[304,12999 -#define POOLBITS 343,14172 -#define POOLBYTES 344,14202 -#define DECLARE_WAITQUEUE(DECLARE_WAITQUEUE393,16691 -#define DECLARE_WAIT_QUEUE_HEAD(DECLARE_WAIT_QUEUE_HEAD396,16806 -static struct entropy_store *random_state;402,16910 -static struct entropy_store *sec_random_state;403,16984 -static struct entropy_store *urandom_state;404,17053 -static inline __u32 rotate_left(428,17821 -static inline __u32 rotate_left(434,17926 -static inline __u32 int_ln_12bits(453,18326 -static inline __u32 int_ln_12bits(462,18505 -#define DEBUG_ENT(DEBUG_ENT481,18935 -#define DEBUG_ENT(DEBUG_ENT483,19014 -struct entropy_store entropy_store493,19332 -static int create_entropy_store(512,19727 -static void clear_entropy_store(550,20596 -static void free_entropy_store(558,20784 -static void add_entropy_words(575,21340 -static void credit_entropy_store(635,23029 -struct sample sample665,23868 -static struct sample *batch_entropy_pool,670,23917 -static struct sample *batch_entropy_pool, *batch_entropy_copy;670,23917 -static int batch_head,671,23980 -static int batch_head, batch_tail;671,23980 -static spinlock_t batch_lock 672,24015 -static int batch_max;674,24067 -static int __init batch_entropy_init(679,24245 -void batch_entropy_store(701,24949 -static void batch_entropy_process(739,25868 -struct timer_rand_state timer_rand_state783,27141 -static struct timer_rand_state keyboard_timer_state;789,27255 -static struct timer_rand_state mouse_timer_state;790,27308 -static struct timer_rand_state extract_timer_state;791,27358 -static struct timer_rand_state *irq_timer_state[792,27410 -static void add_timer_randomness(804,27887 -void add_keyboard_randomness(869,29341 -void add_mouse_randomness(881,29655 -void add_interrupt_randomness(888,29797 -void add_disk_randomness(898,30000 -#define HASH_BUFFER_SIZE 941,31385 -#define HASH_EXTRA_SIZE 942,31412 -#define HASH_TRANSFORM 943,31439 -#define SHA_CODE_SIZE 946,31540 -#define f1(f1955,31710 -#define f2(f2956,31781 -#define f3(f3957,31839 -#define f4(f4958,31916 -#define K1 962,32011 -#define K2 963,32072 -#define K3 964,32133 -#define K4 965,32194 -#define ROTL(ROTL967,32257 -#define subRound(subRound969,32322 -static void SHATransform(973,32441 -#define W 978,32581 -#define HASH_BUFFER_SIZE 1178,39662 -#define HASH_EXTRA_SIZE 1179,39689 -#define HASH_TRANSFORM 1180,39715 -#define F1(F11190,39964 -#define F2(F21191,40004 -#define F3(F31192,40036 -#define F4(F41193,40068 -#define MD5STEP(MD5STEP1196,40157 -static void MD5Transform(1204,40472 -#define EXTRACT_ENTROPY_USER 1301,44080 -#define EXTRACT_ENTROPY_SECONDARY 1302,44112 -#define EXTRACT_ENTROPY_LIMIT 1303,44148 -#define TMP_BUF_SIZE 1304,44181 -#define SEC_XFER_SIZE 1305,44241 -static inline void xfer_secondary_pool(1315,44586 -static ssize_t extract_entropy(1349,45867 -void get_random_bytes(1472,49133 -static void init_std_data(1504,49842 -static int __init rand_initialize(1528,50388 -void rand_initialize_irq(1563,51420 -void rand_initialize_disk(1581,51797 -random_read(1597,52138 -urandom_read(1677,53910 -random_poll(1692,54359 -random_write(1707,54751 -random_ioctl(1739,55378 -struct file_operations random_fops 1803,56983 -struct file_operations urandom_fops 1810,57122 -void generate_random_uuid(1826,57508 -static int sysctl_poolsize;1847,58036 -static int min_read_thresh,1848,58064 -static int min_read_thresh, max_read_thresh;1848,58064 -static int min_write_thresh,1849,58109 -static int min_write_thresh, max_write_thresh;1849,58109 -static char sysctl_bootid[1850,58156 -static int change_poolsize(1856,58302 -static int proc_do_poolsize(1876,58806 -static int poolsize_strategy(1891,59209 -static int proc_do_uuid(1927,60341 -static int uuid_strategy(1953,61047 -ctl_table random_table[1983,61637 -static void sysctl_init_random(2042,62981 -#define F(F2071,64090 -#define G(G2072,64137 -#define H(H2073,64192 -#define ROUND(ROUND2081,64499 -#define K1 2083,64589 -#define K2 2084,64602 -#define K3 2085,64628 -static __u32 halfMD4Transform 2090,64728 -static __u32 twothirdsMD4Transform 2130,65990 -#define REKEY_INTERVAL 2190,67850 -#define COUNT_BITS 2210,68551 -#define COUNT_MASK 2211,68572 -#define HASH_BITS 2212,68612 -#define HASH_MASK 2213,68633 -static struct keydata keydata2215,68673 -} ____cacheline_aligned ip_keydata[2218,68772 -static unsigned int ip_cnt;2220,68812 -static void rekey_seq_generator(2238,69550 -static inline struct keydata *get_keyptr(2249,69841 -static __init int seqgen_init(2258,69972 -__u32 secure_tcpv6_sequence_number(2266,70136 -__u32 secure_tcp_sequence_number(2294,70767 -__u32 secure_ip_id(2337,72028 -#define COOKIEBITS 2366,72757 -#define COOKIEMASK 2367,72808 -static int syncookie_init;2369,72859 -static __u32 syncookie_secret[2370,72886 -__u32 secure_tcp_syn_cookie(2372,72944 -__u32 check_tcp_syn_cookie(2424,74560 -unsigned int get_random_int(2460,75554 -unsigned long randomize_range(2482,76075 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/mem.c,1578 -static inline int uncached_access(43,956 -static inline int valid_phys_addr_range(99,3066 -static inline int range_is_allowed(114,3312 -static ssize_t do_write_mem(126,3556 -static ssize_t read_mem(165,4414 -static ssize_t write_mem(199,5138 -static int mmap_mem(209,5383 -static ssize_t read_kmem(241,6206 -static ssize_t read_port(304,7597 -static ssize_t write_port(322,7951 -static ssize_t read_null(343,8339 -static ssize_t write_null(349,8451 -static inline size_t read_zero_pagealigned(359,8643 -static ssize_t read_zero(409,9790 -static int mmap_zero(447,10667 -static ssize_t read_zero(456,10950 -static int mmap_zero(475,11294 -static ssize_t write_full(481,11410 -static loff_t null_lseek(493,11706 -static loff_t memory_lseek(506,12118 -static int open_port(529,12560 -#define mmap_kmem 534,12673 -#define zero_lseek 535,12700 -#define full_lseek 536,12730 -#define write_zero 537,12765 -#define read_full 538,12795 -#define open_mem 539,12829 -#define open_kmem 540,12856 -static struct file_operations mem_fops 542,12884 -static struct file_operations kmem_fops 550,13039 -static struct file_operations null_fops 557,13176 -static struct file_operations port_fops 564,13341 -static struct file_operations zero_fops 572,13487 -static struct file_operations full_fops 579,13624 -static ssize_t kmsg_write(585,13740 -static struct file_operations kmsg_fops 603,14078 -static int memory_open(607,14148 -static struct file_operations memory_fops 647,14856 -} devlist[656,15076 -static struct class_simple *mem_class;669,15648 -static int __init chr_dev_init(671,15688 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ite_gpio.c,1173 -#define ite_gpio_base 47,1826 -#define ITE_GPADR 49,1860 -#define ITE_GPBDR 50,1919 -#define ITE_GPCDR 51,1978 -#define ITE_GPACR 52,2037 -#define ITE_GPBCR 53,2097 -#define ITE_GPCCR 54,2157 -#define ITE_GPAICR 55,2217 -#define ITE_GPBICR 56,2278 -#define ITE_GPCICR 57,2339 -#define ITE_GPAISR 58,2400 -#define ITE_GPBISR 59,2460 -#define ITE_GPCISR 60,2520 -#define ITE_GCR 61,2580 -#define MAX_GPIO_LINE 63,2639 -static int ite_gpio_irq=64,2665 -static long ite_irq_counter[66,2707 -wait_queue_head_t ite_gpio_wait[67,2751 -static int ite_gpio_irq_pending[68,2799 -static int ite_gpio_debug=70,2848 -#define DEB(DEB71,2877 -int ite_gpio_in(73,2919 -int ite_gpio_out(98,3375 -int ite_gpio_int_ctrl(120,3788 -int ite_gpio_in_status(139,4167 -int ite_gpio_out_status(165,4645 -int ite_gpio_gen_ctrl(184,5026 -int ite_gpio_int_wait 191,5149 -static int ite_gpio_open(239,6140 -static int ite_gpio_release(249,6305 -static int ite_gpio_ioctl(255,6390 -static void ite_gpio_irq_handler(320,7953 -static struct file_operations ite_gpio_fops 365,8936 -static struct miscdevice ite_gpio_miscdev 374,9141 -int __init ite_gpio_init(381,9233 -void __exit ite_gpio_exit(419,10042 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/cd1865.h,4465 -#define SX_ACK_MINT 27,934 -#define SX_ACK_TINT 28,1012 -#define SX_ACK_RINT 29,1090 -#define SX_ID 32,1222 -#define CD186x_NCH 36,1321 -#define CD186x_TPC 37,1400 -#define CD186x_NFIFO 38,1479 -#define CD186x_GIVR 43,1576 -#define CD186x_GICR 44,1655 -#define CD186x_PILR1 45,1734 -#define CD186x_PILR2 46,1813 -#define CD186x_PILR3 47,1892 -#define CD186x_CAR 48,1971 -#define CD186x_SRSR 49,2050 -#define CD186x_GFRCR 50,2129 -#define CD186x_PPRH 51,2208 -#define CD186x_PPRL 52,2287 -#define CD186x_RDR 53,2366 -#define CD186x_RCSR 54,2445 -#define CD186x_TDR 55,2524 -#define CD186x_EOIR 56,2603 -#define CD186x_MRAR 57,2682 -#define CD186x_TRAR 58,2762 -#define CD186x_RRAR 59,2842 -#define CD186x_SRCR 60,2922 -#define CD186x_CCR 64,3027 -#define CD186x_IER 65,3106 -#define CD186x_COR1 66,3185 -#define CD186x_COR2 67,3264 -#define CD186x_COR3 68,3343 -#define CD186x_CCSR 69,3422 -#define CD186x_RDCR 70,3501 -#define CD186x_SCHR1 71,3580 -#define CD186x_SCHR2 72,3659 -#define CD186x_SCHR3 73,3738 -#define CD186x_SCHR4 74,3817 -#define CD186x_MCOR1 75,3896 -#define CD186x_MCOR2 76,3975 -#define CD186x_MCR 77,4054 -#define CD186x_RTPR 78,4133 -#define CD186x_MSVR 79,4212 -#define CD186x_MSVRTS 80,4291 -#define CD186x_MSVDTR 81,4370 -#define CD186x_RBPRH 82,4449 -#define CD186x_RBPRL 83,4528 -#define CD186x_TBPRH 84,4607 -#define CD186x_TBPRL 85,4686 -#define GIVR_ITMASK 90,4813 -#define GIVR_IT_MODEM 91,4892 -#define GIVR_IT_TX 92,4971 -#define GIVR_IT_RCV 93,5050 -#define GIVR_IT_REXC 94,5129 -#define GICR_CHAN 99,5258 -#define GICR_CHAN_OFF 100,5336 -#define CAR_CHAN 105,5454 -#define CAR_A7 106,5532 -#define RCSR_TOUT 111,5659 -#define RCSR_SCDET 112,5737 -#define RCSR_NO_SC 113,5815 -#define RCSR_SC_1 114,5893 -#define RCSR_SC_2 115,5971 -#define RCSR_SC_3 116,6049 -#define RCSR_SC_4 117,6127 -#define RCSR_BREAK 118,6205 -#define RCSR_PE 119,6283 -#define RCSR_FE 120,6361 -#define RCSR_OE 121,6439 -#define CCR_HARDRESET 126,6591 -#define CCR_SOFTRESET 128,6670 -#define CCR_CORCHG1 130,6749 -#define CCR_CORCHG2 131,6827 -#define CCR_CORCHG3 132,6905 -#define CCR_SSCH1 134,6984 -#define CCR_SSCH2 136,7063 -#define CCR_SSCH3 138,7142 -#define CCR_SSCH4 140,7221 -#define CCR_TXEN 142,7300 -#define CCR_RXEN 143,7378 -#define CCR_TXDIS 145,7457 -#define CCR_RXDIS 146,7535 -#define IER_DSR 151,7654 -#define IER_CD 152,7732 -#define IER_CTS 153,7810 -#define IER_RXD 154,7888 -#define IER_RXSC 155,7966 -#define IER_TXRDY 156,8044 -#define IER_TXEMPTY 157,8122 -#define IER_RET 158,8200 -#define COR1_ODDP 163,8319 -#define COR1_PARMODE 164,8397 -#define COR1_NOPAR 165,8475 -#define COR1_FORCEPAR 166,8553 -#define COR1_NORMPAR 167,8631 -#define COR1_IGNORE 168,8709 -#define COR1_STOPBITS 169,8787 -#define COR1_1SB 170,8865 -#define COR1_15SB 171,8943 -#define COR1_2SB 172,9021 -#define COR1_CHARLEN 173,9099 -#define COR1_5BITS 174,9177 -#define COR1_6BITS 175,9255 -#define COR1_7BITS 176,9333 -#define COR1_8BITS 177,9411 -#define COR2_IXM 182,9530 -#define COR2_TXIBE 183,9608 -#define COR2_ETC 184,9686 -#define COR2_LLM 185,9764 -#define COR2_RLM 186,9842 -#define COR2_RTSAO 187,9920 -#define COR2_CTSAE 188,9998 -#define COR2_DSRAE 189,10076 -#define COR3_XONCH 194,10195 -#define COR3_XOFFCH 195,10273 -#define COR3_FCT 196,10351 -#define COR3_SCDE 197,10429 -#define COR3_RXTH 198,10507 -#define CCSR_RXEN 203,10632 -#define CCSR_RXFLOFF 204,10710 -#define CCSR_RXFLON 205,10788 -#define CCSR_TXEN 206,10866 -#define CCSR_TXFLOFF 207,10944 -#define CCSR_TXFLON 208,11022 -#define MCOR1_DSRZD 213,11146 -#define MCOR1_CDZD 214,11224 -#define MCOR1_CTSZD 215,11302 -#define MCOR1_DTRTH 216,11380 -#define MCOR1_NODTRFC 217,11458 -#define MCOR2_DSROD 222,11583 -#define MCOR2_CDOD 223,11661 -#define MCOR2_CTSOD 224,11739 -#define MCR_DSRCHG 228,11853 -#define MCR_CDCHG 229,11931 -#define MCR_CTSCHG 230,12009 -#define MSVR_DSR 235,12130 -#define MSVR_CD 236,12208 -#define MSVR_CTS 237,12286 -#define MSVR_DTR 238,12364 -#define MSVR_RTS 239,12442 -#define CD186x_C_ESC 244,12547 -#define CD186x_C_SBRK 245,12626 -#define CD186x_C_DELAY 246,12705 -#define CD186x_C_EBRK 247,12784 -#define SRSR_RREQint 249,12864 -#define SRSR_TREQint 250,12943 -#define SRSR_MREQint 251,13022 -#define SRCR_PKGTYPE 255,13104 -#define SRCR_REGACKEN 256,13133 -#define SRCR_DAISYEN 257,13162 -#define SRCR_GLOBPRI 258,13191 -#define SRCR_UNFAIR 259,13220 -#define SRCR_AUTOPRI 260,13249 -#define SRCR_PRISEL 261,13278 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip27-rtc.c,655 -#define RTC_VERSION 25,782 -#define RTC_IS_OPEN 62,1706 -#define RTC_TIMER_ON 63,1763 -static unsigned char rtc_status;65,1821 -static unsigned long rtc_freq;66,1883 -static struct m48t35_rtc *rtc;67,1946 -static unsigned long epoch 74,2115 -static const unsigned char days_in_mo[76,2184 -static int rtc_ioctl(79,2280 -static int rtc_open(166,4095 -static int rtc_release(181,4341 -static struct file_operations rtc_fops 199,4656 -static struct miscdevice rtc_dev=206,4794 -static int __init rtc_init(213,4865 -static void __exit rtc_exit 234,5393 -static int rtc_get_status(249,5651 -static int rtc_read_proc(277,6224 -static void get_rtc_time(289,6570 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/tty_ioctl.c,663 -#define TERMIOS_FLUSH 35,765 -#define TERMIOS_WAIT 36,789 -#define TERMIOS_TERMIO 37,812 -void tty_wait_until_sent(39,838 -static void unset_locked_termios(74,1774 -#define NOSET_MASK(NOSET_MASK80,1899 -static void change_termios(97,2471 -static int set_termios(158,4162 -static int get_termio(196,4988 -static unsigned long inq_canon(203,5158 -static int get_sgflags(228,5708 -static int get_sgttyb(246,6111 -static void set_sgflags(261,6490 -static int set_sgttyb(287,7123 -static int get_tchars(312,7654 -static int set_tchars(325,8099 -static int get_ltchars(342,8581 -static int set_ltchars(355,9074 -void send_prio_char(375,9642 -int n_tty_ioctl(390,9923 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/pcmcia/synclink_cs.c,7437 -#define VERSION(VERSION29,1147 -# define BREAKPOINT(BREAKPOINT31,1233 -# define BREAKPOINT(BREAKPOINT33,1280 -#define MAX_DEVICE_COUNT 36,1315 -#define CONFIG_HDLC 82,2377 -#define GET_USER(GET_USER85,2407 -#define COPY_FROM_USER(COPY_FROM_USER86,2471 -#define PUT_USER(PUT_USER87,2567 -#define COPY_TO_USER(COPY_TO_USER88,2631 -static MGSL_PARAMS default_params 94,2779 -} RXBUF;RXBUF115,3508 -#define BH_RECEIVE 119,3565 -#define BH_TRANSMIT 120,3587 -#define BH_STATUS 121,3609 -#define IO_PIN_SHUTDOWN_LIMIT 123,3632 -#define RELEVANT_IFLAG(RELEVANT_IFLAG125,3667 -struct _input_signal_events _input_signal_events127,3744 -typedef struct _mgslpc_info _mgslpc_info143,3933 -} MGSLPC_INFO;MGSLPC_INFO245,6634 -#define MGSLPC_MAGIC 247,6650 -#define TXBUFSIZE 252,6749 -#define CHA 255,6778 -#define CHB 256,6824 -#define RXFIFO 263,6962 -#define TXFIFO 264,6980 -#define STAR 265,6998 -#define CMDR 266,7019 -#define RSTA 267,7040 -#define PRE 268,7061 -#define MODE 269,7082 -#define TIMR 270,7103 -#define XAD1 271,7124 -#define XAD2 272,7145 -#define RAH1 273,7166 -#define RAH2 274,7187 -#define DAFO 275,7208 -#define RAL1 276,7229 -#define RFC 277,7250 -#define RHCR 278,7271 -#define RAL2 279,7292 -#define RBCL 280,7313 -#define XBCL 281,7334 -#define RBCH 282,7355 -#define XBCH 283,7376 -#define CCR0 284,7397 -#define CCR1 285,7418 -#define CCR2 286,7439 -#define CCR3 287,7460 -#define VSTR 288,7481 -#define BGR 289,7502 -#define RLCR 290,7523 -#define AML 291,7544 -#define AMH 292,7565 -#define GIS 293,7586 -#define IVA 294,7607 -#define IPC 295,7628 -#define ISR 296,7649 -#define IMR 297,7670 -#define PVR 298,7691 -#define PIS 299,7712 -#define PIM 300,7733 -#define PCR 301,7754 -#define CCR4 302,7775 -#define IRQ_BREAK_ON 306,7817 -#define IRQ_DATAOVERRUN 307,7870 -#define IRQ_ALLSENT 308,7925 -#define IRQ_UNDERRUN 309,7967 -#define IRQ_TIMER 310,8023 -#define IRQ_CTS 311,8072 -#define IRQ_TXREPEAT 312,8123 -#define IRQ_TXFIFO 313,8173 -#define IRQ_RXEOM 314,8225 -#define IRQ_EXITHUNT 315,8277 -#define IRQ_RXTIME 316,8329 -#define IRQ_DCD 317,8380 -#define IRQ_OVERRUN 318,8441 -#define IRQ_RXFIFO 319,8496 -#define XFW 323,8564 -#define CEC 324,8614 -#define CTS 325,8655 -#define PVR_DTR 327,8693 -#define PVR_DSR 328,8719 -#define PVR_RI 329,8745 -#define PVR_AUTOCTS 330,8771 -#define PVR_RS232 331,8797 -#define PVR_V35 332,8837 -#define PVR_RS422 333,8877 -#define write_reg(write_reg337,8960 -#define read_reg(read_reg338,9030 -#define read_reg16(read_reg16340,9088 -#define write_reg16(write_reg16341,9149 -#define set_reg_bits(set_reg_bits343,9227 -#define clear_reg_bits(clear_reg_bits346,9351 -static void irq_disable(352,9523 -static void irq_enable(362,9807 -#define port_irq_disable(port_irq_disable373,10093 -#define port_irq_enable(port_irq_enable376,10205 -#define dev_to_port(dev_to_port399,10895 -static MGSLPC_INFO *mgslpc_device_list 447,12773 -static int mgslpc_device_count 448,12820 -static int break_on_load=455,13035 -static int ttymajor=461,13185 -static int debug_level 463,13209 -static int maxframe[464,13237 -static int dosyncppp[465,13283 -static u_int irq_mask 469,13457 -static int irq_list[472,13546 -static char *driver_name 485,13887 -static char *driver_version 486,13941 -static struct tty_driver *serial_driver;488,13993 -#define WAKEUP_CHARS 491,14105 -static dev_info_t dev_info 505,14538 -static dev_link_t *dev_list 506,14582 -static void* mgslpc_get_text_ptr(514,14892 -static void ldisc_flush_buffer(529,15235 -static void ldisc_receive_buf(539,15426 -static dev_link_t *mgslpc_attach(553,15711 -#define CS_CHECK(CS_CHECK635,18053 -static void mgslpc_config(638,18160 -static void mgslpc_release(745,21800 -static void mgslpc_detach(765,22334 -static int mgslpc_event(798,23250 -static inline int mgslpc_paranoia_check(840,24441 -#define CMD_RXFIFO 865,24940 -#define CMD_RXRESET 866,24996 -#define CMD_RXFIFO_READ 867,25043 -#define CMD_START_TIMER 868,25072 -#define CMD_TXFIFO 869,25101 -#define CMD_TXEOM 870,25157 -#define CMD_TXRESET 871,25210 -static BOOLEAN wait_command_complete(873,25258 -static void issue_command(885,25521 -static void tx_pause(891,25710 -static void tx_release(907,26117 -int bh_action(926,26608 -void bh_handler(955,27180 -void bh_transmit(999,28053 -void bh_status(1011,28305 -void rx_ready_hdlc(1020,28479 -void rx_ready_async(1082,30020 -void tx_done(1156,31848 -void tx_ready(1193,32526 -void cts_change(1242,33689 -void dcd_change(1279,34652 -void dsr_change(1313,35631 -void ri_change(1328,36061 -static irqreturn_t mgslpc_isr(1351,36705 -static int startup(1460,39225 -static void shutdown(1513,40484 -static void mgslpc_program_hw(1559,41550 -static void mgslpc_change_params(1593,42283 -static void mgslpc_put_char(1684,44563 -static void mgslpc_flush_chars(1716,45341 -static int mgslpc_write(1753,46381 -static int mgslpc_write_room(1821,47978 -static int mgslpc_chars_in_buffer(1849,48616 -static void mgslpc_flush_buffer(1875,49286 -static void mgslpc_send_xchar(1898,49914 -static void mgslpc_throttle(1921,50506 -static void mgslpc_unthrottle(1946,51183 -static int get_stats(1975,51885 -static int get_params(1988,52223 -static int set_params(2008,52711 -static int get_txidle(2034,53397 -static int set_txidle(2045,53684 -static int get_interface(2057,54014 -static int set_interface(2068,54299 -static int set_txenable(2090,54881 -static int tx_abort(2109,55279 -static int set_rxenable(2129,55818 -static int wait_events(2156,56482 -static int modem_input_wait(2265,59836 -static int tiocmget(2317,61167 -static int tiocmset(2342,62015 -static void mgslpc_break(2373,62870 -static int mgslpc_ioctl(2404,63688 -int ioctl_common(2425,64278 -static void mgslpc_set_termios(2499,66406 -static void mgslpc_close(2546,67806 -static void mgslpc_wait_until_sent(2630,69962 -static void mgslpc_hangup(2696,71728 -static int block_til_ready(2720,72288 -static int mgslpc_open(2818,74898 -static inline int line_info(2901,76962 -int mgslpc_read_proc(2970,79265 -int rx_alloc_buffers(3000,79852 -void rx_free_buffers(3023,80461 -int claim_resources(3030,80570 -void release_resources(3040,80772 -void mgslpc_add_device(3052,81122 -void mgslpc_remove_device(3088,81993 -static struct pcmcia_driver mgslpc_driver 3112,82451 -static struct tty_operations mgslpc_ops 3121,82619 -static void synclink_cs_cleanup(3145,83294 -static int __init synclink_cs_init(3171,83925 -static void __exit synclink_cs_exit(3225,85289 -void mgslpc_set_rate(3233,85424 -void enable_auxclk(3269,86295 -static void loopback_enable(3356,88769 -void hdlc_mode(3379,89467 -void rx_stop(3619,96055 -void rx_start(3632,96348 -void tx_start(3648,96684 -void tx_stop(3686,97638 -void reset_device(3700,97945 -void async_mode(3750,99198 -void tx_set_idle(3921,103630 -void get_signals(3932,103913 -void set_signals(3954,104522 -void rx_reset_buffers(3978,105025 -int rx_get_frame(3997,105442 -BOOLEAN register_test(4083,107446 -BOOLEAN irq_test(4109,108088 -int adapter_test(4145,108837 -void trace_block(4167,109493 -void tx_timeout(4202,110160 -static int hdlcdev_attach(4240,111071 -static int hdlcdev_xmit(4287,112424 -static int hdlcdev_open(4331,113541 -static int hdlcdev_close(4387,115059 -static int hdlcdev_ioctl(4418,115752 -static void hdlcdev_tx_timeout(4517,119084 -static void hdlcdev_tx_done(4542,119675 -static void hdlcdev_rx(4556,120023 -static int hdlcdev_init(4593,120883 -static void hdlcdev_exit(4640,122061 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/crash.c,219 -#define CRASH_VERSION 36,1234 -crash_llseek(44,1387 -crash_read(64,1949 -static struct file_operations crash_fops 90,2440 -static struct miscdevice crash_dev 96,2555 -crash_init(103,2660 -crash_cleanup_module(121,2968 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sysrq.c,1501 -int sysrq_enabled 42,1092 -static void sysrq_handle_loglevel(48,1219 -static struct sysrq_key_op sysrq_loglevel_op 57,1429 -static void sysrq_handle_SAK(66,1623 -static struct sysrq_key_op sysrq_SAK_op 73,1771 -static void sysrq_handle_unraw(82,1941 -static struct sysrq_key_op sysrq_unraw_op 90,2133 -static void sysrq_handle_reboot(98,2332 -static struct sysrq_key_op sysrq_reboot_op 104,2456 -static void sysrq_handle_sync(110,2591 -static struct sysrq_key_op sysrq_sync_op 116,2713 -static void sysrq_handle_mountro(122,2847 -static struct sysrq_key_op sysrq_mountro_op 128,2971 -static void sysrq_handle_showregs(139,3192 -static struct sysrq_key_op sysrq_showregs_op 145,3331 -static void sysrq_handle_showstate(152,3471 -static struct sysrq_key_op sysrq_showstate_op 157,3591 -static void sysrq_handle_showmem(164,3737 -static struct sysrq_key_op sysrq_showmem_op 169,3851 -static void send_sig_all(182,4135 -static void sysrq_handle_term(193,4320 -static struct sysrq_key_op sysrq_term_op 199,4469 -static void sysrq_handle_kill(205,4608 -static struct sysrq_key_op sysrq_kill_op 211,4757 -static spinlock_t sysrq_key_table_lock 221,4967 -#define SYSRQ_KEY_TABLE_LENGTH 222,5028 -static struct sysrq_key_op *sysrq_key_table[223,5062 -static int sysrq_key_table_key2index(274,6255 -void __sysrq_lock_table 290,6559 -void __sysrq_unlock_table 292,6629 -struct sysrq_key_op *__sysrq_get_key_op 298,6771 -void __sysrq_put_key_op 307,6990 -void __handle_sysrq(321,7319 -void handle_sysrq(357,8226 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-eof.c,390 -eof_mark_union *zft_eof_map;46,1429 -int zft_nr_eof_marks 50,1523 -static char linux_tape_label[56,1577 - min_fmt_version 58,1640 - min_fmt_version = 1, max_fmt_version 58,1640 -static unsigned ftape_fmt_version 60,1686 -int zft_ftape_validate_label(98,3267 -static __u8 * find_end_of_eof_list(121,3949 -void zft_ftape_extract_file_marks(134,4151 -void zft_clear_ftape_file_marks(186,5649 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-read.c,316 -int zft_just_before_eof;44,1339 -static int buf_len_rd;48,1389 -void zft_zap_read_buffers(50,1413 -int zft_read_header_segments(55,1467 -int zft_fetch_segment_fraction(94,2843 -static int zft_simple_read 156,4736 -static int check_read_access(183,5474 -static int empty_deblock_buf(255,7545 -int _zft_read(296,8907 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-rw.h,353 -#define _ZFTAPE_RW_H2,21 -#define SEGMENTS_PER_TAPE 34,1129 -#define ZFT_MAX_BLK_SZ 40,1371 -# define CONFIG_ZFT_DFLT_BLK_SZ 42,1463 -# define CONFIG_ZFT_DFLT_BLK_SZ 45,1605 -#define ZFT_CMPR_OVERHEAD 57,2179 - zft_idle 61,2244 - zft_reading,62,2259 - zft_writing,63,2273 -} zft_status_enum;zft_status_enum64,2287 -} zft_position;zft_position74,2643 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-ctl.c,2756 -int zft_write_protected;47,1440 -int zft_header_read;48,1513 -int zft_offline;49,1534 -unsigned int zft_unit;50,1551 -int zft_resid;51,1574 -int zft_mt_compression;52,1589 -static int going_offline;56,1638 -typedef int (mt_fun)mt_fun58,1665 -typedef int (*mt_funp)mt_funp59,1700 -} fun_entry;fun_entry69,2148 -static mt_fun mt_dummy,71,2162 -static mt_fun mt_dummy, mt_reset,71,2162 -static mt_fun mt_dummy, mt_reset, mt_fsr,71,2162 -static mt_fun mt_dummy, mt_reset, mt_fsr, mt_bsr,71,2162 -static mt_fun mt_dummy, mt_reset, mt_fsr, mt_bsr, mt_rew,71,2162 -static mt_fun mt_dummy, mt_reset, mt_fsr, mt_bsr, mt_rew, mt_offl,71,2162 -static mt_fun mt_dummy, mt_reset, mt_fsr, mt_bsr, mt_rew, mt_offl, mt_nop,71,2162 - mt_weof,72,2237 - mt_weof, mt_erase,72,2237 - mt_weof, mt_erase, mt_ras2,72,2237 - mt_weof, mt_erase, mt_ras2, mt_setblk,72,2237 - mt_weof, mt_erase, mt_ras2, mt_setblk, mt_setdensity,72,2237 - mt_seek,73,2292 - mt_seek, mt_tell,73,2292 - mt_seek, mt_tell, mt_reten,73,2292 - mt_seek, mt_tell, mt_reten, mt_eom,73,2292 - mt_seek, mt_tell, mt_reten, mt_eom, mt_fsf,73,2292 - mt_seek, mt_tell, mt_reten, mt_eom, mt_fsf, mt_bsf,73,2292 - mt_fsfm,74,2345 - mt_fsfm, mt_bsfm,74,2345 - mt_fsfm, mt_bsfm, mt_setdrvbuffer,74,2345 - mt_fsfm, mt_bsfm, mt_setdrvbuffer, mt_compression;74,2345 -static fun_entry mt_funs[76,2398 -#define NR_MT_CMDS 115,4202 -void zft_reset_position(117,4240 -static void zft_init_driver(153,5234 -int zft_def_idle_state(174,5736 -static int mt_dummy(202,6629 -static int mt_reset(209,6712 -static int mt_fsf(224,7170 -static int mt_bsf(234,7330 -static int seek_block(245,7496 -static int mt_fsr(320,9955 -static int mt_bsr(329,10106 -static int mt_weof(338,10259 -static int mt_rew(348,10423 -static int mt_offl(361,10644 -static int mt_nop(371,10781 -static int mt_reten(382,10977 -static int fsfbsfm(397,11217 -static int mt_bsfm(433,12289 -static int mt_fsfm(442,12417 -static int mt_eom(451,12544 -static int mt_erase(459,12661 -static int mt_ras2(468,12779 -static int mt_setblk(480,12936 -static int mt_setdensity(506,13581 -static int mt_seek(518,13808 -static int mt_setdrvbuffer(536,14412 -static int mt_tell(548,14632 -static int mt_compression(557,14803 -int zft_check_write_access(608,17073 -int _zft_open(651,18314 -int _zft_close(738,21176 -static int mtioctop(800,22862 -static int mtiocget(846,24138 -static int mtiocrdftseg(915,26151 -static int mtiocwrftseg(971,27633 -static int mtiocvolinfo(1034,29349 -static int mtioc_zftape_getblksz(1063,30197 -static int mtiocgetsize(1091,30911 -static int mtiocpos(1113,31463 -static int set_format_parms(1143,32325 -static int get_format_parms(1197,34128 -static int mtiocftformat(1211,34518 -static int mtiocftcmd(1268,36227 -int _zft_ioctl(1322,37817 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-rw.c,787 -__u8 *zft_deblock_buf;43,1342 -__u8 *zft_hseg_buf;44,1365 -int zft_deblock_segment 45,1385 -zft_status_enum zft_io_state 46,1415 -int zft_header_changed;47,1456 -int zft_bad_sector_map_changed;48,1480 -int zft_qic113;49,1512 -int zft_use_compression;50,1571 -zft_position zft_pos 51,1596 -unsigned int zft_blk_sz 57,1709 -__s64 zft_capacity;58,1759 -unsigned int zft_written_segments;60,1780 -int zft_label_changed;61,1815 -unsigned int zft_get_seg_sz(66,1864 -void zft_set_flags(82,2179 -int zft_calc_seg_byte_coord(122,3284 -static int seg_pos;167,4420 -static __s64 tape_pos;168,4440 -__s64 zft_get_capacity(170,4464 -__s64 zft_calc_tape_pos(181,4655 -void zft_update_label(226,5551 -int zft_verify_write_segments(243,6068 -int zft_erase(331,8483 -unsigned int zft_get_time(373,9692 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-eof.h,68 -#define _ZFTAPE_EOF_H2,22 -} eof_mark_union;eof_mark_union39,1258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-init.h,100 -#define _ZFTAPE_INIT_H2,23 -#define ftape_status 45,1370 -struct zft_cmpr_ops zft_cmpr_ops52,1519 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-buffers.h,29 -#define _FTAPE_DYNMEM_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-vtbl.c,997 -#define ZFT_CMAP_HACK 44,1422 -int zft_qic_mode 49,1527 -int zft_old_ftape;50,1570 -int zft_volume_table_changed;51,1639 -static zft_volinfo tape_vtbl;61,1937 -static zft_volinfo eot_vtbl;62,1968 -static zft_volinfo *cur_vtbl;63,1998 -inline void zft_new_vtbl_entry(65,2029 -void zft_free_vtbl(74,2239 -void zft_init_vtbl(92,2586 -static int vtbl_signature_valid(131,3708 -static int check_volume_label(150,4308 -static int check_volume(189,5256 -static void create_zft_volume(208,5831 -void zft_create_volume_headers(251,7256 -int zft_update_volume_table(288,8252 -static void extract_alien_volume(315,9104 -static void extract_zft_volume(338,9732 -int zft_extract_volume_headers(367,10600 -int zft_fake_volume_headers 437,12932 -int zft_open_volume(504,15133 -int zft_skip_volumes(549,16585 -__s64 zft_get_eom_pos(589,17858 -void zft_skip_to_eom(601,18081 -int zft_close_volume(620,18666 -int zft_weof(651,19573 -const zft_volinfo *zft_find_volume(710,21257 -void zft_move_past_eof(742,22238 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-vtbl.h,1803 -#define _ZFTAPE_VTBL_H2,23 -#define VTBL_SIZE 39,1175 -#define VTBL_SIG 42,1256 -#define VTBL_START 43,1277 -#define VTBL_END 44,1298 -#define VTBL_DESC 45,1319 -#define VTBL_DATE 46,1340 -#define VTBL_FLAGS 47,1362 -#define VTBL_FL_VENDOR_SPECIFIC 48,1384 -#define VTBL_FL_MUTLI_CARTRIDGE 49,1423 -#define VTBL_FL_NOT_VERIFIED 50,1462 -#define VTBL_FL_REDIR_INHIBIT 51,1501 -#define VTBL_FL_SEG_SPANNING 52,1540 -#define VTBL_FL_DIRECTORY_LAST 53,1579 -#define VTBL_FL_RESERVED_6 54,1618 -#define VTBL_FL_RESERVED_7 55,1657 -#define VTBL_M_NO 56,1696 -#define VTBL_EXT 57,1718 -#define EXT_ZFTAPE_SIG 58,1740 -#define EXT_ZFTAPE_BLKSZ 59,1769 -#define EXT_ZFTAPE_CMAP 60,1798 -#define EXT_ZFTAPE_QIC113 61,1827 -#define VTBL_PWD 62,1856 -#define VTBL_DIR_SIZE 63,1878 -#define VTBL_DATA_SIZE 64,1903 -#define VTBL_OS_VERSION 65,1929 -#define VTBL_SRC_DRIVE 66,1957 -#define VTBL_DEV 67,1985 -#define VTBL_RESERVED_1 68,2013 -#define VTBL_CMPR 69,2041 -#define VTBL_CMPR_UNREG 70,2069 -#define VTBL_CMPR_USED 71,2098 -#define VTBL_FMT 72,2127 -#define VTBL_RESERVED_2 73,2155 -#define VTBL_RESERVED_3 74,2183 -#define VTBL_K_CMPR 76,2251 -#define VTBL_SCSI_SEGS 83,2539 -#define ZFT_MAX_VOLUMES 88,2688 -#define VTBL_ID 89,2740 -#define VTBL_IDS 90,2764 -#define ZFT_VOL_NAME 91,2839 -#define ZFTAPE_SIG 92,2906 -typedef struct zft_internal_vtblzft_internal_vtbl96,2963 -} zft_volinfo;zft_volinfo120,3867 -#define zft_head_vtbl 123,3917 -#define zft_eom_vtbl 124,3985 -#define zft_last_vtbl 125,4053 -#define zft_first_vtbl 126,4131 -#define zft_vtbl_empty 127,4210 -#define DUMP_VOLINFO(DUMP_VOLINFO129,4284 -static inline void zft_position_before_eof(182,6584 -static inline int zft_tape_at_eod(197,7005 -static inline int zft_tape_at_lbot(209,7263 -static inline __s64 zft_check_for_eof(222,7594 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-ctl.h,57 -#define _ZFTAPE_CTL_H2,22 -#define ftape_status 37,1166 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-buffers.c,345 -static unsigned int used_memory;48,1369 -static unsigned int peak_memory;49,1402 -void zft_memory_stats(51,1436 -int zft_vcalloc_once(63,1708 -int zft_vmalloc_once(72,1896 -int zft_vcalloc_always(89,2283 -int zft_vmalloc_always(96,2422 -void zft_vfree(103,2561 -void *zft_kmalloc(117,2822 -void zft_kfree(133,3119 -void zft_uninit_mem(143,3341 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-read.h,81 -#define _ZFTAPE_READ_H2,23 -#define zft_fetch_segment(zft_fetch_segment46,1474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-write.c,403 -static int last_write_failed;47,1347 -static int need_flush;48,1377 -void zft_prevent_flush(50,1401 -static int zft_write_header_segments(55,1452 -int zft_update_header_segments(102,2863 -static int read_merge_buffer(144,4105 -int zft_flush_buffers(189,5675 -static int zft_simple_write(304,9350 -static int check_write_access(326,10004 -static int fill_deblock_buf(380,11579 -int _zft_write(423,12892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-init.c,791 -char zft_src[49,1483 -char zft_src[] __initdata 49,1483 -char zft_rev[50,1579 -char zft_rev[] __initdata 50,1579 -char zft_dat[51,1627 -char zft_dat[] __initdata 51,1627 -struct zft_cmpr_ops *zft_cmpr_ops 64,2073 -const ftape_info *zft_status;65,2115 -static unsigned long busy_flag;69,2170 -static sigset_t orig_sigmask;71,2203 -static struct file_operations zft_cdev 96,3197 -static struct class_simple *zft_class;107,3395 -static int zft_open(111,3471 -static int zft_close(146,4467 -static int zft_ioctl(167,4967 -static int zft_mmap(188,5615 -static ssize_t zft_read(215,6300 -static ssize_t zft_write(238,7020 -int zft_cmpr_register(269,7977 -struct zft_cmpr_ops *zft_cmpr_unregister(281,8164 -int zft_cmpr_lock(292,8371 -int __init zft_init(319,8863 -static void zft_exit(388,11214 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/zftape/zftape-write.h,29 -#define _ZFTAPE_WRITE_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/compressor/lzrw3.c,749 -#define U(U89,6297 -#define SIZE_P_BYTE 90,6333 -#define SIZE_WORD 91,6378 -#define ALIGNMENT_FUDGE 92,6423 -#define MEM_REQ 93,6455 -static struct compress_identity identity 95,6516 -EXPORT void lzrw3_compress(118,7846 -#define FLAG_BYTES 262,18334 -#define FLAG_COMPRESS 266,18518 -#define FLAG_COPY 267,18599 -#define ULONG_ALIGN_UP(ULONG_ALIGN_UP273,19005 -#define MAX_RAW_ITEM 280,19407 -#define MAX_RAW_GROUP 285,19677 -#define MAX_CMP_GROUP 291,20042 -#define HASH_TABLE_LENGTH 295,20236 -#define START_STRING_18 310,21323 -#define HASH(HASH314,21543 -LOCAL void compress_compress(328,22448 -# define TOPWORD 354,24002 -# define ZH 382,25373 -# define PS 448,28529 -LOCAL void compress_decompress(574,34051 -# define ZJ 633,36938 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/compressor/zftape-compress.c,1484 - char zftc_src[30,1235 - char zftc_rev[31,1329 - char zftc_dat[32,1372 -static void *zftc_wrk_mem 63,2084 -static __u8 *zftc_buf 64,2118 -static void *zftc_scratch_buf 65,2152 -static unsigned int zftc_wr_uncompressed 69,2223 -static unsigned int zftc_wr_compressed 70,2269 -static unsigned int zftc_rd_uncompressed 71,2315 -static unsigned int zftc_rd_compressed 72,2361 -} cmpr_info;cmpr_info142,5138 -static cmpr_info cseg;144,5152 -#define DUMP_CMPR_INFO(DUMP_CMPR_INFO148,5271 -static int get_cseg 170,6212 -static void get_next_cluster(234,8421 -static void zftc_lock(267,9404 -static void zftc_reset(273,9511 -static int cmpr_mem_initialized 282,9641 -static unsigned int alloc_blksz 283,9678 -static int zft_allocate_cmpr_mem(285,9716 -static void zftc_cleanup(303,10206 -static int zft_compress(349,12472 -static unsigned int zft_uncompress(388,13785 -static void zftc_stats(415,14565 -static int start_new_cseg(458,15773 -static int zftc_write(540,18755 -static int zftc_read 658,22431 -#define ZFT_SLOW_SEEK_THRESHOLD 771,26302 -#define ZFT_FAST_SEEK_MAX_TRIALS 772,26353 -#define ZFT_FAST_SEEK_BACKUP 773,26401 -static int zftc_seek(775,26453 -static int seek_in_segment(928,30524 -static int slow_seek_forward_until_error(986,32116 -static int search_valid_segment(1032,33439 -static int slow_seek_forward(1074,34637 -static int compute_seg_pos(1116,35812 -static struct zft_cmpr_ops cmpr_ops 1162,37182 -int zft_compressor_init(1171,37302 -int init_module(1204,38379 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/compressor/lzrw3.h,1171 -#define _LZRW3_H2,17 - #define UBYTE 152,11037 - #define UWORD 153,11118 - #define ULONG 154,11199 - #define BOOL 155,11280 - #define FOPEN_BINARY_READ 156,11361 - #define FOPEN_BINARY_WRITE 157,11442 - #define FOPEN_TEXT_APPEND 158,11523 - #define REAL 159,11604 - #define UBYTE 162,11735 - #define UWORD 163,11816 - #define ULONG 164,11897 - #define LONG 165,11978 - #define BOOL 166,12059 - #define FOPEN_BINARY_READ 167,12140 - #define FOPEN_BINARY_WRITE 168,12221 - #define FOPEN_TEXT_APPEND 169,12302 - #define REAL 170,12383 - #define TRUE 172,12483 - #define DONE_PORT 176,12528 - #define MALLOC_FAIL 177,12609 - #define LOCAL 178,12690 - #define EXPORT 179,12771 - #define then 180,12852 -#define COMPRESS_ACTION_IDENTITY 188,13186 -#define COMPRESS_ACTION_COMPRESS 189,13223 -#define COMPRESS_ACTION_DECOMPRESS 190,13260 -#define COMPRESS_OVERRUN 192,13298 -#define COMPRESS_MAX_COM 193,13328 -#define COMPRESS_MAX_ORG 194,13364 -#define COMPRESS_MAX_STRLEN 196,13426 -struct compress_identitycompress_identity204,13939 -#define fast_copy(fast_copy247,16429 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/compressor/zftape-compress.h,288 -#define _ZFTAPE_COMPRESS_H2,27 -#define U(U37,1221 -#define SIZE_P_BYTE 38,1257 -#define ALIGNMENT_FUDGE 39,1301 -#define CMPR_WRK_MEM_SIZE 41,1334 -#define MAX_CMP_GROUP 61,2234 -#define CMPR_OVERRUN 63,2285 -#define CMPR_BUFFER_SIZE 67,2407 -typedef __u32 CmprMap;CmprMap75,2803 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-calibr.c,376 -static unsigned long ps_per_cycle 52,1566 -static spinlock_t calibr_lock;55,1613 -unsigned int ftape_timestamp(71,2337 -static unsigned int short_ftape_timestamp(104,3062 -static unsigned int diff(121,3529 -static unsigned int usecs(137,4060 -unsigned int ftape_timediff(146,4290 -static void time_inb(159,4698 -static void init_clock(178,5099 -void ftape_calibrate(195,5487 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-ctl.h,919 -#define _FTAPE_CTL_H2,21 -} history_record;history_record57,2132 -} ftape_info;ftape_info101,3649 -#define ft_drive_type 104,3689 -#define ft_data_rate 106,3766 -#define ft_drive_max_rate 107,3829 -#define ft_fdc_max_rate 108,3892 -#define ft_drive_sel 110,4002 -#define ft_formatted 112,4118 -#define ft_no_tape 113,4176 -#define ft_write_protected 114,4232 -#define ft_new_tape 115,4296 -#define ft_last_error 117,4411 -#define ft_last_status 118,4470 -#define ft_tracks_per_tape 120,4556 -#define ft_segments_per_track 121,4620 -#define ft_format_code 123,4743 -#define ft_qic_std 125,4867 -#define ft_used_header_segment 126,4923 -#define ft_header_segment_1 127,4991 -#define ft_header_segment_2 128,5056 -#define ft_first_data_segment 129,5121 -#define ft_last_data_segment 130,5188 -#define ft_runner_status 132,5278 -#define ft_driver_state 134,5401 -#define ft_failure 136,5489 -#define ft_history 138,5567 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-rw.c,1097 -int ft_nr_buffers;46,1506 -buffer_struct *ft_buffer[47,1525 -static volatile int ft_head;48,1570 -static volatile int ft_tail;49,1599 -int fdc_setup_error;50,1674 -location_record ft_location 51,1695 -volatile int ftape_tape_running;52,1734 -static int overrun_count_offset;56,1792 -static int inhibit_correction;57,1825 -#define OVERSHOOT_LIMIT 61,1910 -buffer_struct *ftape_next_buffer(65,1978 -int ftape_buffer_id(82,2294 -buffer_struct *ftape_get_buffer(90,2454 -void ftape_reset_buffer(98,2650 -buffer_state_enum ftape_set_state(103,2709 -static int setup_segment(115,3149 -int ftape_setup_new_segment(192,5980 -int ftape_calc_next_cluster(231,7120 -int ftape_handle_logical_eot(259,7779 -static int check_bot_eot(280,8313 -int ftape_read_id(304,9026 -static int logical_forward(369,10722 -int ftape_stop_tape(375,10829 -int ftape_dumb_stop(398,11265 -int ftape_wait_segment(449,12560 -static int fast_seek(519,14558 -static int validate(600,16867 -static int seek_forward(621,17529 -static int skip_reverse(725,20603 -static int determine_position(839,24074 -int ftape_start_tape(941,26900 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-write.c,258 -static int last_write_failed;49,1506 -void ftape_zap_write_buffers(51,1537 -static int copy_and_gen_ecc(61,1682 -int ftape_start_writing(92,2503 -int ftape_loop_until_writes_done(131,3753 -static int write_segment(186,5407 -int ftape_write_segment(296,8734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-buffer.c,180 -static inline void *dmaalloc(40,1212 -static inline void dmafree(57,1531 -static int add_one_buffer(69,1822 -static void del_one_buffer(95,2548 -int ftape_set_nr_buffers(111,2972 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-read.c,295 -void ftape_zap_read_buffers(50,1472 -static SectorMap convert_sector_map(64,1775 -static int correct_and_copy_fraction(98,2533 -int ftape_read_segment_fraction(155,4228 -int ftape_read_header_segment(335,9061 -#define HEADER_SEGMENT_BOUNDARY 353,9651 -int ftape_decode_header_segment(379,10491 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-bsm.h,252 -#define _FTAPE_BSM_H2,21 -#define EMPTY_SEGMENT 34,1141 -#define FAKE_SEGMENT 35,1186 -#define BAD_SECTOR_MAP_SIZE 39,1293 -typedef __u32 SectorMap;SectorMap44,1443 -typedef struct NewSectorMap NewSectorMap48,1595 -} SectorCount;SectorCount50,1651 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/fdc-isr.c,1506 -#define volatile 32,1107 -volatile int ft_expected_stray_interrupts;47,1489 -volatile int ft_interrupt_seen;48,1532 -volatile int ft_seek_completed;49,1564 -volatile int ft_hide_interrupt;50,1596 - no_error 54,1667 - no_error = 0, id_am_error 54,1667 - no_error = 0, id_am_error = 0x01,54,1667 - no_error = 0, id_am_error = 0x01, id_crc_error 54,1667 - no_error = 0, id_am_error = 0x01, id_crc_error = 0x02,54,1667 - data_am_error 55,1723 - data_am_error = 0x04,55,1723 - data_am_error = 0x04, data_crc_error 55,1723 - data_am_error = 0x04, data_crc_error = 0x08,55,1723 - no_data_error 56,1769 - no_data_error = 0x10,56,1769 - no_data_error = 0x10, overrun_error 56,1769 - no_data_error = 0x10, overrun_error = 0x20,56,1769 -} error_cause;error_cause57,1814 -static int stop_read_ahead;58,1829 -static void print_error_cause(61,1859 -static char *fdc_mode_txt(89,2377 -static inline error_cause decode_irq_cause(113,2864 -static void update_history(166,4179 -static void skip_bad_sector(191,4624 -static void update_error_maps(213,5163 -static void print_progress(234,5808 -static void determine_verify_progress(287,7344 -static void determine_progress(337,8623 -static int calc_steps(407,10664 -static void pause_tape(416,10828 -static void continue_xfer(451,11787 -static void retry_sector(567,15127 -static unsigned int find_resume_point(582,15479 -static int determine_fmt_progress(633,17015 -static void continue_formatting(687,18638 -static void handle_fdc_busy(731,19774 -void fdc_isr(1078,29251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-proc.h,27 -#define _FTAPE_PROC_H2,22 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-buffer.h,29 -#define _FTAPE_BUFFER_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-bsm.c,719 -static __u8 *bad_sector_map;42,1329 -static SectorCount *bsm_hash_ptr;43,1358 - forward,46,1409 - forward, backward46,1409 -} mode_type;mode_type47,1428 -void fix_tape(53,1547 -__u8 * ftape_find_end_of_bsm_list(100,2842 -static inline void put_sector(114,3126 -static inline unsigned int get_sector(123,3326 -static void bsm_debug_fake(142,3749 -static void print_bad_sector_map(194,5057 -void ftape_extract_bad_sector_map(255,6771 -static inline SectorMap cvt2map(286,7618 -static inline int cvt2segment(291,7743 -static int forward_seek_entry(296,7859 -static int backwards_seek_entry(331,8706 -void ftape_put_bad_sector_entry(378,9822 -SectorMap ftape_get_bad_sector_entry(442,11452 -void ftape_init_bsm(481,12776 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-init.c,316 -char ft_src[53,1631 -char ft_src[] __initdata 53,1631 -char ft_rev[54,1727 -char ft_rev[] __initdata 54,1727 -char ft_dat[55,1774 -char ft_dat[] __initdata 55,1774 -static int ft_tracing 59,1894 -static int __init ftape_init(66,2041 -#define FT_MOD_PARM(FT_MOD_PARM125,3889 -static void __exit ftape_exit(147,4928 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-ecc.c,803 -#define BIG_ENDIAN44,1470 -typedef __u8 Matrix[Matrix93,3232 -static const __u8 gfpow[99,3354 -static const __u8 gflog[139,5103 -static const __u8 gfmul_c0[178,6841 -static inline __u8 mod255(217,8523 -static inline __u8 gfadd(235,8839 -static inline unsigned long gfadd_long(244,8999 -static inline __u8 gfmul(252,9135 -static inline __u8 gfmul_exp(265,9357 -static inline unsigned long gfmul_exp_long(278,9611 -static inline __u8 gfdiv(320,11029 -static inline int gfinv3(348,11996 -static inline int gfinv2(393,13446 -static inline void gfmat_mul(423,14079 -static inline void set_parity(463,15391 -static int compute_syndromes(552,18758 -static inline int correct_block(592,19925 -static int sanity_check(699,22755 -int ftape_ecc_set_segment_parity(715,23126 -int ftape_ecc_correct_data(739,23765 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-setup.c,149 -static struct param_table param_table38,1246 -} config_params[44,1340 -} config_params[] __initdata 44,1340 -static int __init ftape_setup(57,2002 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/fc-10.h,22 -#define _FC_10_H2,17 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/fdc-io.c,2493 -int ftape_motor;53,1668 -volatile int ftape_current_cylinder 54,1685 -volatile fdc_mode_enum fdc_mode 55,1727 -fdc_config_info fdc;56,1771 -unsigned int ft_fdc_base 59,1835 -unsigned int ft_fdc_irq 60,1888 -unsigned int ft_fdc_dma 61,1940 -unsigned int ft_fdc_threshold 62,1992 -unsigned int ft_fdc_rate_limit 63,2057 -int ft_probe_fc10 64,2129 -int ft_mach2 65,2178 -static spinlock_t fdc_io_lock;69,2247 -static unsigned int fdc_calibr_count;70,2279 -static unsigned int fdc_calibr_time;71,2317 -static int fdc_status;72,2354 -volatile __u8 fdc_head;73,2377 -volatile __u8 fdc_cyl;74,2432 -volatile __u8 fdc_sect;75,2487 -static int fdc_data_rate 76,2544 -static int fdc_rate_code;77,2599 -static int fdc_seek_rate 78,2662 -static int fdc_fifo_state;80,2747 -static int fdc_fifo_thr;81,2817 -static int fdc_lock_state;82,2882 -static int fdc_fifo_locked;83,2946 -static __u8 fdc_precomp;84,3003 -static __u8 fdc_prec_code;85,3064 -static char ftape_id[87,3123 -void fdc_catch_stray_interrupts(89,3198 -int fdc_wait(106,3664 -int fdc_ready_wait(120,3968 -static void fdc_usec_wait(127,4119 -int fdc_ready_out_wait(132,4222 -int fdc_ready_in_wait(138,4397 -void fdc_wait_calibrate(144,4570 -static int fdc_write(154,4862 -static int fdc_read(169,5269 -int fdc_command(184,5658 -int fdc_result(298,9021 -int fdc_issue_command(344,10183 -int fdc_interrupt_wait(371,11070 -void fdc_motor(443,13540 -static void fdc_update_dsr(465,13985 -void fdc_set_write_precomp(479,14288 -void fdc_set_drive_specs(500,14906 -int fdc_set_data_rate(523,15528 -static void fdc_dor_reset(569,16518 -void fdc_reset(601,17215 -# define CLK_48MHZ 660,18671 -void fdc_disable(667,18888 -int fdc_set_seek_rate(708,19992 -int fdc_sense_drive_status(722,20332 -int fdc_sense_interrupt_status(739,20681 -int fdc_seek(754,20955 -int fdc_recalibrate(808,22334 -static int perpend_mode;849,23277 -static int perpend_off(851,23345 -static int handle_perpend(866,23657 -static inline void fdc_setup_dma(899,24575 -int fdc_setup_formatting(914,24946 -int fdc_setup_read_write(943,25826 -int fdc_fifo_threshold(1001,27609 -static int fdc_fifo_enable(1062,29527 -static __u8 fdc_save_state[1080,29974 -int fdc_probe(1082,30006 -static int fdc_request_regions(1183,33421 -void fdc_release_regions(1218,34221 -static int fdc_config_regs(1233,34449 -static int fdc_config(1253,34943 -static irqreturn_t ftape_interrupt(1295,36009 -int fdc_grab_irq_and_dma(1311,36330 -int fdc_release_irq_and_dma(1344,37252 -int fdc_init(1366,37889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-calibr.h,29 -#define _FTAPE_CALIBR_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-tracing.h,1045 -#define _FTAPE_TRACING_H2,25 -#define LL_X 48,1395 -#define LL(LL49,1419 - ft_t_nil 52,1506 - ft_t_bug,53,1522 - ft_t_err,54,1533 - ft_t_warn,55,1544 - ft_t_info,56,1556 - ft_t_noise,57,1568 - ft_t_flow,58,1581 - ft_t_fdc_dma,59,1593 - ft_t_data_flow,60,1608 - ft_t_any61,1625 -} ft_trace_t;ft_trace_t62,1635 -#define FT_TRACE_TOP_LEVEL 67,1744 -#define TRACE_FUN(TRACE_FUN68,1780 -#define TRACE_EXIT 69,1820 -#define TRACE(TRACE70,1847 -#define SET_TRACE_LEVEL(SET_TRACE_LEVEL77,2069 -#define TRACE_LEVEL 78,2132 -#define FT_TRACE_TOP_LEVEL 87,2358 -#define TRACE_FUN(TRACE_FUN88,2395 -#define TRACE_EXIT 89,2448 -#define FT_TRACE_TOP_LEVEL 93,2539 -#define FT_TRACE_TOP_LEVEL 95,2581 -#define TRACE_FUN(TRACE_FUN97,2625 -#define TRACE_EXIT 104,2873 -#define TRACE(TRACE113,3101 -#define SET_TRACE_LEVEL(SET_TRACE_LEVEL122,3325 -#define TRACE_LEVEL 130,3521 -#define TRACE_ABORT(TRACE_ABORT150,4120 -#define _TRACE_CATCH(_TRACE_CATCH159,4296 -#define TRACE_CATCH(TRACE_CATCH168,4518 -#define FT_SIGNAL_EXIT(FT_SIGNAL_EXIT173,4700 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-init.h,148 -#define _FTAPE_INIT_H2,22 -#define _NEVER_BLOCK 35,1111 -#define _DONT_BLOCK 36,1173 -#define _DO_BLOCK 37,1230 -#define QIC117_TAPE_MAJOR 40,1300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-proc.c,309 -static size_t get_driver_info(44,1368 -static size_t get_tapedrive_info(67,1932 -static size_t get_cartridge_info(90,2584 -static size_t get_controller_info(119,3430 -static size_t get_history_info(141,3994 -int ftape_read_proc(177,5198 -int __init ftape_proc_init(204,5830 -void ftape_proc_destroy(210,5957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-rw.h,619 -#define _FTAPE_RW_H2,20 -#define GET2(GET241,1353 -#define GET4(GET442,1433 -#define GET8(GET843,1513 -#define PUT2(PUT244,1593 -#define PUT4(PUT445,1690 -#define PUT8(PUT846,1787 -enum runner_status_enum runner_status_enum48,1885 - idle 49,1911 - running,50,1922 - do_abort,51,1932 - aborting,52,1943 - logical_eot,53,1954 - end_of_tape,54,1968 -typedef enum ft_buffer_queue ft_buffer_queue57,1986 - ft_queue_head 58,2017 - ft_queue_tail 59,2037 -} ft_buffer_queue_t;ft_buffer_queue_t60,2056 -} location_record;location_record70,2423 -static inline int count_ones(74,2483 -#define FT_MAX_NR_BUFFERS 86,2640 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-io.h,270 -#define _FTAPE_IO_H2,20 -} ft_timeout_table;ft_timeout_table41,1274 - prehistoric,44,1310 - prehistoric, pre_qic117c,44,1310 - prehistoric, pre_qic117c, post_qic117b,44,1310 - prehistoric, pre_qic117c, post_qic117b, post_qic117d 44,1310 -} qic_model;qic_model45,1365 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-ctl.c,1028 -#define vma_get_pgoff(vma_get_pgoff39,1294 -ftape_info ftape_status 51,1617 -int ftape_segments_per_head 91,2965 -int ftape_segments_per_cylinder 92,3005 -int ftape_init_drive_needed 93,3042 -static const vendor_struct vendors[99,3176 -static const wakeup_method methods[100,3231 -const ftape_info *ftape_get_status(102,3287 -void ftape_set_status(116,3568 -static int ftape_not_operational(121,3646 -int ftape_seek_to_eot(131,3897 -int ftape_seek_to_bot(147,4255 -static int ftape_new_cartridge(163,4613 -int ftape_abort_operation(171,4779 -static int lookup_vendor_id(201,5497 -void ftape_detach_drive(213,5678 -static void clear_history(226,5973 -int ftape_activate_drive(244,6388 -int ftape_get_drive_status(304,8088 -void ftape_log_vendor_id(377,9993 -void ftape_calc_timeouts(437,12172 -int ftape_calibrate_data_rate(551,15877 -int ftape_init_drive(583,16652 -static void ftape_munmap(678,19680 -int ftape_mmap(693,20014 -int ftape_enable(750,21608 -void ftape_disable(784,22519 -static void ftape_init_driver(843,24461 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-io.c,1383 -ft_timeout_table ftape_timeout;51,1699 -unsigned int ftape_tape_len;52,1731 -volatile qic117_cmd_t ftape_current_command;53,1760 -const struct qic117_command_table qic117_cmds[54,1805 -int ftape_might_be_off_track;55,1872 -static int diagnostic_mode;59,1927 -static unsigned int ftape_udelay_count;60,1955 -static unsigned int ftape_udelay_time;61,1995 -void ftape_udelay(63,2035 -void ftape_udelay_calibrate(74,2277 -void ftape_sleep(82,2442 -static inline int ft_send_to_drive(120,3333 -static int ft_check_cmd_restrictions(137,3808 -int ftape_command(231,6691 -int ftape_parameter(275,8004 -int ftape_ready_wait(290,8423 -int ftape_command_wait(346,9990 -int ftape_parameter_wait(359,10254 -int ftape_report_operation(380,10782 -int ftape_report_raw_drive_status(431,12285 -int ftape_report_drive_status(456,12900 -int ftape_report_error(473,13376 -int ftape_in_error_state(512,14556 -int ftape_report_configuration(522,14765 -int ftape_report_rom_version(626,17453 -int ftape_report_signature(636,17613 -void ftape_report_vendor_id(646,17817 -static int qic_rate_code(727,19871 -static int ftape_set_rate_test(743,20148 -int ftape_set_data_rate(775,20984 -int ftape_increase_threshold(851,23070 -int ftape_half_data_rate(867,23495 -int ftape_seek_head_to_track(881,23779 -int ftape_wakeup_drive(899,24283 -int ftape_put_drive_to_sleep(934,25126 -int ftape_reset_drive(955,25599 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/fdc-io.h,2694 -#define _FDC_IO_H2,18 -#define FDC_SK_BIT 37,1212 -#define FDC_MT_BIT 38,1243 -#define FDC_READ 40,1275 -#define FDC_WRITE 41,1338 -#define FDC_READ_DELETED 42,1387 -#define FDC_WRITE_DELETED 43,1420 -#define FDC_VERIFY 44,1453 -#define FDC_READID 45,1486 -#define FDC_SENSED 46,1517 -#define FDC_SENSEI 47,1548 -#define FDC_FORMAT 48,1584 -#define FDC_RECAL 49,1620 -#define FDC_SEEK 50,1661 -#define FDC_SPECIFY 51,1695 -#define FDC_RECALIBR 52,1732 -#define FDC_VERSION 53,1773 -#define FDC_PERPEND 54,1810 -#define FDC_DUMPREGS 55,1853 -#define FDC_LOCK 56,1891 -#define FDC_UNLOCK 57,1925 -#define FDC_CONFIGURE 58,1961 -#define FDC_DRIVE_SPEC 59,2000 -#define FDC_PARTID 60,2067 -#define FDC_SAVE 61,2120 -#define FDC_RESTORE 62,2187 -#define FDC_STATUS_MASK 64,2255 -#define FDC_DATA_READY 65,2334 -#define FDC_DATA_OUTPUT 66,2373 -#define FDC_DATA_READY_MASK 67,2410 -#define FDC_DATA_OUT_READY 68,2466 -#define FDC_DATA_IN_READY 69,2522 -#define FDC_BUSY 70,2565 -#define FDC_CLK48_BIT 71,2603 -#define FDC_SEL3V_BIT 72,2634 -#define ST0_INT_MASK 74,2666 -#define FDC_INT_NORMAL 75,2701 -#define FDC_INT_ABNORMAL 76,2743 -#define FDC_INT_INVALID 77,2786 -#define FDC_INT_READYCH 78,2828 -#define ST0_SEEK_END 79,2870 -#define ST3_TRACK_0 80,2903 -#define FDC_RESET_NOT 82,2937 -#define FDC_DMA_MODE 83,2968 -#define FDC_MOTOR_0 84,2999 -#define FDC_MOTOR_1 85,3030 - no_fdc,90,3139 - no_fdc, i8272,90,3139 - no_fdc, i8272, i82077,90,3139 - no_fdc, i8272, i82077, i82077AA,90,3139 - no_fdc, i8272, i82077, i82077AA, fc10,90,3139 - i82078,91,3180 - i82078, i82078_191,3180 -} fdc_config_info;fdc_config_info107,3869 - fdc_data_rate_250 110,3904 - fdc_data_rate_300 111,3929 - fdc_data_rate_500 112,3993 - fdc_data_rate_1000 113,4018 - fdc_data_rate_2000 114,4043 -} fdc_data_rate_type;fdc_data_rate_type115,4114 - fdc_idle 118,4152 - fdc_reading_data 119,4176 - fdc_reading_data = FDC_READ,119,4176 - fdc_seeking 120,4207 - fdc_seeking = FDC_SEEK,120,4207 - fdc_writing_data 121,4238 - fdc_writing_data = FDC_WRITE,121,4238 - fdc_deleting 122,4270 - fdc_deleting = FDC_WRITE_DELETED,122,4270 - fdc_reading_id 123,4310 - fdc_reading_id = FDC_READID,123,4310 - fdc_recalibrating 124,4343 - fdc_recalibrating = FDC_RECAL,124,4343 - fdc_formatting 125,4375 - fdc_formatting = FDC_FORMAT,125,4375 - fdc_verifying 126,4408 - fdc_verifying = FDC_VERIFY126,4408 -} fdc_mode_enum;fdc_mode_enum127,4440 - waiting 130,4473 - reading,131,4487 - writing,132,4497 - formatting,133,4507 - verifying,134,4520 - deleting,135,4532 - done,136,4543 - error,137,4550 - mmapped,138,4558 -} buffer_state_enum;buffer_state_enum139,4568 -} buffer_struct;buffer_struct205,6092 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/fdc-isr.h,24 -#define _FDC_ISR_H2,19 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/fc-10.c,77 -__u16 inbs_magic[59,2523 -__u16 fc10_ports[65,2682 -int fc10_enable(69,2758 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-tracing.c,225 -ft_trace_t ftape_tracing 45,1486 -int ftape_function_nest_level;46,1564 -static __u8 trace_id;50,1621 -static char spacing[51,1643 -void ftape_trace_call(53,1703 -void ftape_trace_exit(76,2296 -void ftape_trace_log(98,2880 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-format.h,29 -#define _FTAPE_FORMAT_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-read.h,168 -#define _FTAPE_READ_H2,22 - FT_RD_SINGLE 35,1133 - FT_RD_AHEAD 36,1152 -} ft_read_mode_t;ft_read_mode_t37,1171 -#define ftape_read_segment(ftape_read_segment46,1483 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-ecc.h,243 -#define _FTAPE_ECC_H_2,22 -#define BAD_CLEAR(BAD_CLEAR37,1205 -#define BAD_SET(BAD_SET38,1242 -#define BAD_CHECK(BAD_CHECK39,1297 - ECC_OK,45,1407 - ECC_CORRECTED,46,1442 - ECC_FAILED,47,1492 - struct memory_segment memory_segment63,2240 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-write.h,161 -#define _FTAPE_WRITE_H2,23 - FT_WR_ASYNC 39,1169 - FT_WR_MULTI 40,1236 - FT_WR_SINGLE 41,1300 - FT_WR_DELETE 42,1368 -} ft_write_mode_t;ft_write_mode_t43,1418 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ftape/lowlevel/ftape-format.c,296 -#define FT_FMT_SEGS_PER_BUF 42,1401 -#define FT_FMT_SEGS_PER_BUF 44,1438 -static spinlock_t ftape_format_lock;47,1516 -static int switch_segment;52,1597 -static void setup_format_buffer(64,2006 -int ftape_format_track(92,2741 -int ftape_format_status(143,4329 -int ftape_verify_segment(205,6331 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/tpqic02.c,3529 -#define REALLY_SLOW_IO 74,2592 -#define TPQIC02_NAME 110,3439 -static struct mtconfiginfo qic02_tape_dynconf 121,3746 -static struct qic02_ccb qic02_tape_ccb;125,3866 -static unsigned long qic02_tape_debug 129,3934 -static int ctlbits;136,4176 -static wait_queue_head_t qic02_tape_transfer;138,4239 -static struct mtget ioctl_status;140,4316 -static struct tpstatus tperror;142,4380 -static char rcs_revision[144,4437 -static char rcs_date[145,4487 -static flag status_dead 152,4729 -static flag status_zombie 153,4808 -static flag status_bytes_wr 155,4886 -static flag status_bytes_rd 156,4951 -static volatile unsigned long status_cmd_pending;158,5019 -static flag status_expect_int 159,5091 -static flag status_timer_on 160,5154 -static int status_error;161,5209 -static flag status_eof_detected 162,5269 -static flag status_eom_detected 163,5325 -static flag status_eot_detected 164,5391 -static flag doing_read 165,5447 -static flag doing_write 166,5476 -static unsigned long dma_bytes_todo;168,5507 -static unsigned long dma_bytes_done;169,5544 -static volatile unsigned dma_mode;170,5581 -static flag need_rewind 171,5648 -static int current_type;173,5680 -static int extra_blocks_left 174,5705 -static struct timer_list tp_timer;175,5754 -static unsigned long tape_open;177,5790 -static flag return_read_eof 193,6233 -static flag return_write_eof 194,6307 -static flag reported_read_eof 195,6342 -static flag reported_write_eof 196,6409 -static char seek_addr_buf[200,6492 -static int mode_access;208,6836 -static void *buffaddr;220,7407 -static const char *format_names[223,7539 -static struct class_simple *tpqic02_class;233,7747 -static struct exception_list_type exception_list_type255,8789 -} exception_list[259,8923 -#define NR_OF_EXC 290,11079 -#define CHECK_IOC_SIZE(CHECK_IOC_SIZE295,11283 -static void tpqputs(302,11480 -static void ifc_init(315,11874 -static void report_qic_exception(332,12373 -static int decode_qic_exception_nr(348,12864 -static void handle_qic_exception(366,13309 -static inline int is_exception(394,14108 -static int tape_reset(404,14388 -static int notify_cmd(459,15981 -static int wait_for_ready(512,17502 -static int send_qic02_data(580,19695 -static int send_qic02_cmd(605,20260 -static int rdstatus(645,21392 -static int get_status(732,23977 -static int get_ext_status3(749,24447 -static int tp_sense(775,25061 -static int wait_for_rewind(857,27934 -static int ll_do_qic_cmd(881,28503 -static void terminate_read(993,32257 -static void terminate_write(1024,33063 -static void finish_rw(1049,33721 -static int do_qic_cmd(1064,34105 -static int do_ioctl_cmd(1091,34754 -static inline void dma_transfer(1328,42070 -static int start_dma(1383,43919 -static void end_dma(1496,47324 -static void qic02_tape_times_out(1562,49125 -static irqreturn_t qic02_tape_interrupt(1610,50685 -static ssize_t qic02_tape_read(1730,54646 -static ssize_t qic02_tape_write(1908,60922 -static int qic02_tape_open(2063,65706 -static int qic02_tape_open_no_use_count(2073,65952 -static int qic02_tape_release(2269,70926 -static int update_ifc_masks(2302,71867 -static int qic02_tape_ioctl(2396,74572 -static ssize_t qic02_do_tape_read(2540,78420 -static ssize_t qic02_do_tape_write(2551,78633 -static int qic02_do_tape_ioctl(2562,78853 -static struct file_operations qic02_tape_fops 2574,79134 -static void qic02_release_resources(2585,79383 -static int qic02_get_resources(2597,79757 -int __init qic02_tape_init(2661,81811 -static void qic02_module_exit(2766,85649 -static int qic02_module_init(2792,86511 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/generic_nvram.c,351 -#define NVRAM_VERSION 12,271 -#define NVRAM_SIZE 26,555 -static loff_t nvram_llseek(28,580 -static ssize_t read_nvram(48,902 -static ssize_t write_nvram(65,1298 -static int nvram_ioctl(85,1730 -struct file_operations nvram_fops 117,2503 -static struct miscdevice nvram_dev 125,2665 -int __init nvram_init(131,2745 -void __exit nvram_cleanup(138,2895 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/stallion.c,8875 -#define BRD_EASYIO 60,1934 -#define BRD_ECH 61,1956 -#define BRD_ECHMC 62,1976 -#define BRD_ECHPCI 63,1997 -#define BRD_ECH64PCI 64,2019 -#define BRD_EASYIOPCI 65,2043 -} stlconf_t;stlconf_t99,3391 -static stlconf_t stl_brdconf[101,3405 -static int stl_nrbrds 105,3485 -#define STL_SIOMEMMAJOR 114,3776 -#define STL_SERIALMAJOR 117,3835 -#define STL_CALLOUTMAJOR 120,3895 -#define STL_TXBUFLOW 127,4042 -#define STL_TXBUFSIZE 128,4068 -static char *stl_drvtitle 136,4315 -static char *stl_drvname 137,4379 -static char *stl_drvversion 138,4418 -static struct tty_driver *stl_serial;140,4458 -static char *stl_tmpwritebuf;149,4843 -static struct termios stl_deftermios 157,5098 -static comstats_t stl_comstats;166,5318 -static combrd_t stl_brdstats;167,5350 -static stlbrd_t stl_dummybrd;168,5381 -static stlport_t stl_dummyport;169,5412 -static char stl_unwanted[174,5510 -static int stl_gotintrs[181,5725 -static int stl_numintrs;182,5763 -static stlbrd_t *stl_brds[186,5870 -#define BRD_FOUND 192,6017 -#define ASYI_TXBUSY 199,6242 -#define ASYI_TXLOW 200,6264 -#define ASYI_DCDCHANGE 201,6285 -#define ASYI_TXFLOWED 202,6310 -static char *stl_brdnames[208,6461 -static char *board0[249,7234 -static char *board1[250,7258 -static char *board2[251,7282 -static char *board3[252,7306 -static char **stl_brdsp[254,7331 -typedef struct stlbrdtype stlbrdtype266,7549 -} stlbrdtype_t;stlbrdtype_t269,7601 -static stlbrdtype_t stl_brdstr[271,7618 -#define EIO_8PORTRS 327,9277 -#define EIO_4PORTRS 328,9302 -#define EIO_8PORTDI 329,9327 -#define EIO_8PORTM 330,9352 -#define EIO_MK3 331,9376 -#define EIO_IDBITMASK 332,9398 -#define EIO_BRDMASK 334,9426 -#define ID_BRD4 335,9451 -#define ID_BRD8 336,9473 -#define ID_BRD16 337,9495 -#define EIO_INTRPEND 339,9518 -#define EIO_INTEDGE 340,9544 -#define EIO_INTLEVEL 341,9569 -#define EIO_0WS 342,9595 -#define ECH_ID 344,9618 -#define ECH_IDBITMASK 345,9639 -#define ECH_BRDENABLE 346,9666 -#define ECH_BRDDISABLE 347,9693 -#define ECH_INTENABLE 348,9721 -#define ECH_INTDISABLE 349,9748 -#define ECH_INTLEVEL 350,9776 -#define ECH_INTEDGE 351,9802 -#define ECH_INTRPEND 352,9827 -#define ECH_BRDRESET 353,9853 -#define ECHMC_INTENABLE 355,9880 -#define ECHMC_BRDRESET 356,9909 -#define ECH_PNLSTATUS 358,9938 -#define ECH_PNL16PORT 359,9962 -#define ECH_PNLIDMASK 360,9989 -#define ECH_PNLXPID 361,10016 -#define ECH_PNLINTRPEND 362,10041 -#define ECH_ADDR2MASK 364,10071 -static unsigned char stl_vecmap[371,10296 -#define BRDENABLE(BRDENABLE383,10745 -#define BRDDISABLE(BRDDISABLE390,11025 -#define STL_CD1400MAXBAUD 395,11196 -#define STL_SC26198MAXBAUD 396,11229 -#define STL_BAUDBASE 398,11264 -#define STL_CLOSEDELAY 399,11293 -#define PCI_VENDOR_ID_STALLION 409,11520 -#define PCI_DEVICE_ID_ECHPCI832 412,11598 -#define PCI_DEVICE_ID_ECHPCI864 415,11677 -#define PCI_DEVICE_ID_EIOPCI 418,11753 -typedef struct stlpcibrd stlpcibrd424,11858 -} stlpcibrd_t;stlpcibrd_t428,11950 -static stlpcibrd_t stl_pcibrds[430,11966 -static int stl_nrpcibrds 437,12266 -#define MINOR2BRD(MINOR2BRD446,12500 -#define MINOR2PORT(MINOR2PORT447,12546 -static unsigned int stl_baudrates[454,12773 -#define MIN(MIN463,12997 -#define TOLOWER(TOLOWER466,13057 -typedef struct uart uart598,19497 -} uart_t;uart_t613,20221 -#define stl_panelinit 618,20309 -#define stl_portinit 619,20374 -#define stl_setport 620,20436 -#define stl_getsignals 621,20496 -#define stl_setsignals 622,20562 -#define stl_enablerxtx 623,20628 -#define stl_startrxtx 624,20694 -#define stl_disableintrs 625,20758 -#define stl_sendbreak 626,20827 -#define stl_flowctrl 627,20891 -#define stl_sendflow 628,20953 -#define stl_flush 629,21015 -#define stl_datastate 630,21071 -static uart_t stl_cd1400uart 637,21269 -#define EREG_ADDR 658,21755 -#define EREG_DATA 659,21775 -#define EREG_RXACK 660,21795 -#define EREG_TXACK 661,21816 -#define EREG_MDACK 662,21837 -#define EREG_BANKSIZE 664,21859 -#define CD1400_CLK 666,21884 -#define CD1400_CLK8M 667,21912 -static int stl_cd1400clkdivs[674,22155 -static uart_t stl_sc26198uart 683,22390 -#define XP_DATA 703,22821 -#define XP_ADDR 704,22840 -#define XP_MODID 705,22859 -#define XP_STATUS 706,22878 -#define XP_IACK 707,22898 -#define XP_BANKSIZE 709,22918 -static unsigned int sc26198_baudtable[715,23077 -#define SC26198_NRBAUDS 721,23274 -static struct file_operations stl_fsiomem 729,23575 -static struct class_simple *stallion_class;736,23755 -static int __init stallion_module_init(744,23864 -static void __exit stallion_module_exit(762,24144 -static void stl_argbrds(850,26330 -static unsigned long stl_atol(885,27078 -static int stl_parsebrd(921,27728 -static void *stl_memalloc(970,28843 -static stlbrd_t *stl_allocbrd(981,29082 -static int stl_open(999,29506 -static int stl_waitcarrier(1094,32096 -static void stl_close(1146,33129 -static void stl_delay(1224,35151 -static int stl_write(1242,35541 -static void stl_putchar(1320,37411 -static void stl_flushchars(1360,38310 -static int stl_writeroom(1386,38839 -static int stl_charsinbuffer(1419,39801 -static int stl_getserial(1451,40503 -static int stl_setserial(1492,41639 -static int stl_tiocmget(1522,42524 -static int stl_tiocmset(1537,42842 -static int stl_ioctl(1564,43377 -static void stl_settermios(1631,44899 -static void stl_throttle(1669,45891 -static void stl_unthrottle(1691,46315 -static void stl_stop(1714,46781 -static void stl_start(1736,47219 -static void stl_hangup(1760,47763 -static void stl_flushbuffer(1796,48656 -static void stl_breakctl(1816,49043 -static void stl_waituntilsent(1835,49462 -static void stl_sendxchar(1865,50071 -#define MAXLINE 1889,50578 -static int stl_portinfo(1897,50781 -static int stl_readproc(1941,51978 -static irqreturn_t stl_intr(2027,53969 -static void stl_eiointr(2054,54518 -static void stl_echatintr(2071,54881 -static void stl_echmcaintr(2098,55517 -static void stl_echpciintr(2121,56039 -static void stl_echpci64intr(2149,56648 -static void stl_offintr(2171,57156 -static int __init stl_mapirq(2216,58267 -static int __init stl_initports(2247,58900 -static inline int stl_initeio(2299,60281 -static inline int stl_initech(2437,63618 -static int __init stl_brdinit(2644,69369 -static inline int stl_getbrdnr(2694,70516 -static inline int stl_initpcibrd(2718,70979 -static inline int stl_findpcibrds(2784,72638 -static inline int stl_initbrds(2822,73486 -static int stl_getbrdstats(2878,74665 -static stlport_t *stl_getport(2918,75793 -static int stl_getportstats(2946,76644 -static int stl_clrportstats(3004,78261 -static int stl_getportstruct(3029,78957 -static int stl_getbrdstruct(3048,79450 -static int stl_memioctl(3070,80072 -static struct tty_operations stl_ops 3109,80818 -int __init stl_init(3135,81519 -static int stl_cd1400getreg(3201,83523 -static void stl_cd1400setreg(3207,83675 -static int stl_cd1400updatereg(3213,83839 -static int stl_cd1400panelinit(3231,84342 -static void stl_cd1400portinit(3287,85830 -static void stl_cd1400ccrwait(3317,86811 -static void stl_cd1400setport(3338,87262 -static void stl_cd1400setsignals(3564,93229 -static int stl_cd1400getsignals(3599,93966 -static void stl_cd1400enablerxtx(3638,94899 -static void stl_cd1400startrxtx(3675,95684 -static void stl_cd1400disableintrs(3716,96614 -static void stl_cd1400sendbreak(3734,97065 -static void stl_cd1400flowctrl(3762,97702 -static void stl_cd1400sendflow(3827,99336 -static void stl_cd1400flush(3863,100194 -static int stl_cd1400datastate(3895,101024 -static void stl_cd1400eiointr(3913,101404 -static void stl_cd1400echintr(3943,102087 -static inline int stl_cd1400breakisr(3972,102816 -static void stl_cd1400txisr(4014,104340 -static void stl_cd1400rxisr(4095,106787 -static void stl_cd1400mdmisr(4206,109921 -static int stl_sc26198getreg(4246,111070 -static void stl_sc26198setreg(4252,111233 -static int stl_sc26198updatereg(4258,111410 -static int stl_sc26198getglobreg(4274,111811 -static void stl_sc26198setglobreg(4281,111964 -static int stl_sc26198panelinit(4296,112392 -static void stl_sc26198portinit(4344,113573 -static void stl_sc26198setport(4372,114361 -static void stl_sc26198setsignals(4570,119267 -static int stl_sc26198getsignals(4606,120044 -static void stl_sc26198enablerxtx(4638,120744 -static void stl_sc26198startrxtx(4673,121458 -static void stl_sc26198disableintrs(4710,122256 -static void stl_sc26198sendbreak(4729,122672 -static void stl_sc26198flowctrl(4756,123249 -static void stl_sc26198sendflow(4828,125190 -static void stl_sc26198flush(4870,126264 -static int stl_sc26198datastate(4901,127104 -static void stl_sc26198wait(4932,127759 -static inline void stl_sc26198txunflow(4955,128267 -static void stl_sc26198intr(4973,128754 -static void stl_sc26198txisr(5007,129784 -static void stl_sc26198rxisr(5070,131729 -static inline void stl_sc26198rxbadch(5130,133402 -static void stl_sc26198rxbadchars(5194,135067 -static void stl_sc26198otherisr(5227,135921 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/synclinkmp.c,9604 -#define VERSION(VERSION28,1182 -# define BREAKPOINT(BREAKPOINT30,1268 -# define BREAKPOINT(BREAKPOINT32,1315 -#define MAX_DEVICES 35,1350 -#define CONFIG_HDLC 73,2225 -#define GET_USER(GET_USER76,2255 -#define COPY_FROM_USER(COPY_FROM_USER77,2319 -#define PUT_USER(PUT_USER78,2415 -#define COPY_TO_USER(COPY_TO_USER79,2479 -static MGSL_PARAMS default_params 85,2627 -#define SCABUFSIZE 102,3329 -#define SCA_MEM_SIZE 103,3354 -#define SCA_BASE_SIZE 104,3383 -#define SCA_REG_SIZE 105,3411 -#define SCA_MAX_PORTS 106,3438 -#define SCAMAXDESC 107,3464 -#define BUFFERLISTSIZE 109,3489 -typedef struct _SCADESC_SCADESC112,3558 -} SCADESC, *PSCADESC;PSCADESC121,3830 -typedef struct _SCADESC_EX_SCADESC_EX123,3853 -} SCADESC_EX, *PSCADESC_EX;PSCADESC_EX128,4059 -#define BH_RECEIVE 132,4135 -#define BH_TRANSMIT 133,4157 -#define BH_STATUS 134,4179 -#define IO_PIN_SHUTDOWN_LIMIT 136,4202 -#define RELEVANT_IFLAG(RELEVANT_IFLAG138,4237 -struct _input_signal_events _input_signal_events140,4314 -typedef struct _synclinkmp_info _synclinkmp_info154,4499 -} SLMP_INFO;SLMP_INFO289,8415 -#define MGSL_MAGIC 291,8429 -#define MISCSTATUS_DCD_LATCHED 296,8508 -#define MISCSTATUS_RI_LATCHED 297,8591 -#define MISCSTATUS_CTS_LATCHED 298,8671 -#define MISCSTATUS_DSR_LATCHED 299,8754 -#define LPR 302,8857 -#define PABR0 303,8874 -#define PABR1 304,8893 -#define WCRL 305,8912 -#define WCRM 306,8930 -#define WCRH 307,8948 -#define DPCR 308,8966 -#define DMER 309,8984 -#define ISR0 310,9002 -#define ISR1 311,9020 -#define ISR2 312,9038 -#define IER0 313,9056 -#define IER1 314,9074 -#define IER2 315,9092 -#define ITCR 316,9110 -#define INTVR 317,9128 -#define IMVR 318,9148 -#define TRB 321,9194 -#define TRBL 322,9211 -#define TRBH 323,9229 -#define SR0 324,9247 -#define SR1 325,9264 -#define SR2 326,9281 -#define SR3 327,9298 -#define FST 328,9315 -#define IE0 329,9332 -#define IE1 330,9349 -#define IE2 331,9366 -#define FIE 332,9383 -#define CMD 333,9400 -#define MD0 334,9417 -#define MD1 335,9434 -#define MD2 336,9451 -#define CTL 337,9468 -#define SA0 338,9485 -#define SA1 339,9502 -#define IDL 340,9519 -#define TMC 341,9536 -#define RXS 342,9553 -#define TXS 343,9570 -#define TRC0 344,9587 -#define TRC1 345,9605 -#define RRC 346,9623 -#define CST0 347,9640 -#define CST1 348,9658 -#define TCNT 351,9705 -#define TCNTL 352,9723 -#define TCNTH 353,9742 -#define TCONR 354,9761 -#define TCONRL 355,9780 -#define TCONRH 356,9800 -#define TMCS 357,9820 -#define TEPR 358,9838 -#define DARL 361,9894 -#define DARH 362,9912 -#define DARB 363,9930 -#define BAR 364,9948 -#define BARL 365,9965 -#define BARH 366,9983 -#define BARB 367,10001 -#define SAR 368,10019 -#define SARL 369,10036 -#define SARH 370,10054 -#define SARB 371,10072 -#define CPB 372,10090 -#define CDA 373,10107 -#define CDAL 374,10124 -#define CDAH 375,10142 -#define EDA 376,10160 -#define EDAL 377,10177 -#define EDAH 378,10195 -#define BFL 379,10213 -#define BFLL 380,10230 -#define BFLH 381,10248 -#define BCR 382,10266 -#define BCRL 383,10283 -#define BCRH 384,10301 -#define DSR 385,10319 -#define DMR 386,10336 -#define FCT 387,10353 -#define DIR 388,10370 -#define DCMD 389,10387 -#define TIMER0 392,10455 -#define TIMER1 393,10475 -#define TIMER2 394,10495 -#define TIMER3 395,10515 -#define RXDMA 396,10535 -#define TXDMA 397,10555 -#define NOOP 400,10600 -#define TXRESET 401,10619 -#define TXENABLE 402,10641 -#define TXDISABLE 403,10663 -#define TXCRCINIT 404,10686 -#define TXCRCEXCL 405,10709 -#define TXEOM 406,10732 -#define TXABORT 407,10752 -#define MPON 408,10774 -#define TXBUFCLR 409,10793 -#define RXRESET 410,10815 -#define RXENABLE 411,10837 -#define RXDISABLE 412,10859 -#define RXCRCINIT 413,10882 -#define RXREJECT 414,10905 -#define SEARCHMP 415,10927 -#define RXCRCEXCL 416,10949 -#define RXCRCCALC 417,10972 -#define CHRESET 418,10995 -#define HUNT 419,11017 -#define SWABORT 422,11061 -#define FEICLEAR 423,11083 -#define TXINTE 426,11116 -#define RXINTE 427,11138 -#define TXRDYE 428,11160 -#define RXRDYE 429,11182 -#define UDRN 432,11221 -#define IDLE 433,11242 -#define SYNCD 434,11263 -#define FLGD 435,11284 -#define CCTS 436,11305 -#define CDCD 437,11326 -#define BRKD 438,11347 -#define ABTD 439,11368 -#define GAPD 440,11389 -#define BRKE 441,11410 -#define IDLD 442,11431 -#define EOM 445,11466 -#define PMP 446,11483 -#define SHRT 447,11500 -#define PE 448,11518 -#define ABT 449,11534 -#define FRME 450,11551 -#define RBIT 451,11569 -#define OVRN 452,11587 -#define CRCE 453,11605 -static SLMP_INFO *synclinkmp_device_list 459,11674 -static int synclinkmp_adapter_count 460,11723 -static int synclinkmp_device_count 461,11765 -static int break_on_load=468,11984 -static int ttymajor=474,12134 -static int debug_level 479,12218 -static int maxframe[480,12246 -static int dosyncppp[481,12287 -static char *driver_name 489,12543 -static char *driver_version 490,12599 -static struct pci_device_id synclinkmp_pci_tbl[495,12793 -static struct pci_driver synclinkmp_pci_driver 503,13034 -static struct tty_driver *serial_driver;511,13227 -#define WAKEUP_CHARS 514,13339 -#define dev_to_port(dev_to_port542,14582 -static unsigned char rx_active_fifo_level 643,18926 -static unsigned char tx_active_fifo_level 644,19019 -static unsigned char tx_negate_fifo_level 645,19112 -static u32 misc_ctrl_value 647,19204 -static u32 lcr1_brdr_value 648,19245 -static u32 read_ahead_count 650,19287 -static unsigned char dma_priority 663,19689 -static u32 sca_pci_load_interval 667,19816 -static void* synclinkmp_get_text_ptr(676,20173 -static inline int sanity_check(678,20251 -static void ldisc_receive_buf(711,20952 -static int open(729,21318 -static void close(814,23478 -static void hangup(900,25672 -static void set_termios(923,26132 -static int write(981,27774 -static void put_char(1071,29885 -static void send_xchar(1105,30663 -static void wait_until_sent(1129,31237 -static int write_room(1195,32945 -static void flush_chars(1220,33520 -static void flush_buffer(1259,34547 -static void tx_hold(1282,35124 -static void tx_release(1302,35579 -static int ioctl(1331,36268 -static inline int line_info(1425,39039 -int read_proc(1501,41507 -static int chars_in_buffer(1533,42145 -static void throttle(1549,42562 -static void unthrottle(1574,43196 -static void set_break(1604,43906 -static int hdlcdev_attach(1639,44813 -static int hdlcdev_xmit(1686,46157 -static int hdlcdev_open(1729,47242 -static int hdlcdev_close(1785,48751 -static int hdlcdev_ioctl(1816,49442 -static void hdlcdev_tx_timeout(1915,52765 -static void hdlcdev_tx_done(1940,53354 -static void hdlcdev_rx(1954,53700 -static int hdlcdev_init(1991,54558 -static void hdlcdev_exit(2039,55799 -int bh_action(2052,56067 -void bh_handler(2083,56701 -void bh_receive(2128,57633 -void bh_transmit(2137,57819 -void bh_status(2151,58098 -void isr_timer(2163,58357 -void isr_rxint(2189,59016 -void isr_rxrdy(2248,60425 -void isr_txeom(2332,62440 -void isr_txint(2392,63954 -void isr_txrdy(2420,64585 -void isr_rxdmaok(2451,65334 -void isr_rxdmaerror(2468,65804 -void isr_txdmaok(2486,66303 -void isr_txdmaerror(2504,66897 -void isr_io_pin(2521,67377 -static irqreturn_t synclinkmp_interrupt(2626,70295 -static int startup(2750,73783 -static void shutdown(2787,74627 -static void program_hw(2828,75567 -static void change_params(2864,76272 -static int get_stats(2964,78888 -static int get_params(2983,79367 -static int set_params(3001,79833 -static int get_txidle(3027,80506 -static int set_txidle(3046,80976 -static int tx_enable(3061,81337 -static int tx_abort(3084,81792 -static int rx_enable(3108,82512 -static int map_status(3128,82931 -static int wait_mgsl_event(3140,83399 -static int modem_input_wait(3264,87175 -static int tiocmget(3316,88504 -static int tiocmset(3341,89348 -static int block_til_ready(3371,90131 -int alloc_dma_bufs(3469,92680 -int alloc_buf_list(3543,95146 -int alloc_frame_bufs(3602,97092 -void free_dma_bufs(3619,97573 -int alloc_tmp_rx_buf(3629,97829 -void free_tmp_rx_buf(3637,97995 -int claim_resources(3644,98114 -void release_resources(3731,101054 -void add_device(3787,102562 -SLMP_INFO *alloc_dev(3834,103744 -void device_init(3915,106527 -static struct tty_operations ops 3970,108238 -static void synclinkmp_cleanup(3994,108791 -static int __init synclinkmp_init(4040,109719 -static void __exit synclinkmp_exit(4095,111029 -void enable_loopback(4107,111318 -void set_rate(4154,112623 -void rx_stop(4200,113638 -void rx_start(4221,114186 -void tx_start(4278,115821 -void tx_stop(4348,117818 -void tx_load_fifo(4375,118590 -void reset_port(4424,119882 -void reset_adapter(4448,120377 -void async_mode(4460,120584 -void hdlc_mode(4600,124102 -void tx_set_idle(4802,129965 -void get_signals(4822,130590 -void set_signals(4851,131414 -void rx_reset_buffers(4880,132171 -void rx_free_frame_buffers(4891,132461 -int rx_get_frame(4919,133209 -void tx_load_dma_buffer(5094,137703 -int register_test(5134,138545 -int irq_test(5173,139550 -int sca_init(5225,140885 -int init_adapter(5266,142228 -int loopback_test(5325,143442 -#define TESTFRAMESIZE 5327,143479 -int adapter_test(5391,144943 -int memory_test(5453,146795 -void load_pci_memory(5505,148319 -void trace_block(5524,148845 -void tx_timeout(5559,149543 -void status_timeout(5586,150192 -#define CALC_REGADDR(CALC_REGADDR5628,151310 -unsigned char read_reg(5640,151664 -void write_reg(5645,151764 -u16 read_reg16(5651,151879 -void write_reg16(5657,151981 -unsigned char read_status_reg(5663,152097 -void write_control_reg(5669,152232 -static int __devinit synclinkmp_init_one 5676,152391 -static void __devexit synclinkmp_remove_one 5687,152657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/keyboard.c,3499 -#define KBD_DEFMODE 51,1467 -#define KBD_DEFLEDS 61,1892 -#define KBD_DEFLEDS 63,1936 -#define KBD_DEFLOCK 66,1966 -#define K_HANDLERS\74,2048 -typedef void (k_handler_fn)k_handler_fn80,2220 -static k_handler_fn K_HANDLERS;82,2334 -static k_handler_fn *k_handler[83,2366 -#define FN_HANDLERS\85,2420 -typedef void (fn_handler_fn)fn_handler_fn92,2716 -static fn_handler_fn FN_HANDLERS;93,2788 -static fn_handler_fn *fn_handler[94,2822 -const int max_vals[101,2971 -const int NR_TYPES 107,3165 -struct kbd_struct kbd_table[109,3209 -static struct kbd_struct *kbd 110,3255 -static struct kbd_struct kbd0;111,3298 -int spawnpid,113,3330 -int spawnpid, spawnsig;113,3330 -int shift_state 119,3394 -static struct input_handler kbd_handler;125,3442 -static unsigned long key_down[126,3483 -static unsigned char shift_down[127,3557 -static int dead_key_next;128,3630 -static int npadch 129,3656 -static unsigned char diacr;130,3720 -static char rep;131,3748 -static unsigned char ledstate 133,3806 -static unsigned char ledioctl;134,3862 -static struct ledptr ledptr136,3894 -} ledptrs[140,3982 -unsigned char kbd_sysrq_xlate[145,4074 -static int sysrq_down;153,4651 -static int sysrq_alt;155,4681 -int getkeycode(161,4864 -int setkeycode(183,5273 -static void kd_nosound(218,5959 -static struct timer_list kd_mksound_timer 233,6382 -void kd_mksound(236,6466 -int kbd_rate(266,7120 -static void put_queue(293,7696 -static void puts_queue(303,7867 -static void applkey(317,8074 -void to_utf8(333,8531 -void compute_shiftstate(355,9136 -unsigned char handle_diacr(395,10004 -static void fn_enter(417,10364 -static void fn_caps_toggle(428,10559 -static void fn_caps_on(435,10688 -static void fn_show_ptregs(442,10813 -static void fn_hold(448,10917 -static void fn_num(466,11295 -static void fn_bare_num(480,11670 -static void fn_lastcons(486,11787 -static void fn_dec_console(492,11930 -static void fn_inc_console(509,12282 -static void fn_send_intr(526,12631 -static void fn_scroll_forw(536,12830 -static void fn_scroll_back(541,12921 -static void fn_show_mem(546,13011 -static void fn_show_state(551,13095 -static void fn_boot_it(556,13183 -static void fn_compose(561,13270 -static void fn_spawn_con(566,13360 -static void fn_SAK(573,13515 -static void fn_null(586,13748 -static void k_ignore(594,13869 -static void k_spec(598,13972 -static void k_lowercase(611,14325 -static void k_self(616,14502 -static void k_dead2(637,14950 -static void k_dead(647,15182 -static void k_cons(654,15423 -static void k_fn(661,15569 -static void k_cur(675,15881 -static void k_pad(684,16107 -static void k_shift(741,17530 -static void k_meta(782,18374 -static void k_ascii(794,18622 -static void k_lock(816,19020 -static void k_slock(823,19182 -unsigned char getledstate(841,19763 -void setledstate(846,19818 -void register_leds(856,20007 -static inline unsigned char getleds(868,20287 -static void kbd_bh(905,21306 -void kbd_refresh_leds(928,21914 -#define HW_RAW(HW_RAW944,22552 -static unsigned short x86_keycodes[947,22743 -static int sparc_l1_a_state 969,23957 -static int emulate_raw(973,24030 -#define HW_RAW(HW_RAW1013,24799 -static int emulate_raw(1017,24894 -void kbd_rawcode(1027,25074 -void kbd_keycode(1035,25244 -static void kbd_event(1166,28488 -static char kbd_name[1178,28910 -static struct input_handle *kbd_connect(1186,29240 -static void kbd_disconnect(1213,29852 -static struct input_device_id kbd_ids[1219,29958 -static struct input_handler kbd_handler 1235,30301 -int __init kbd_init(1243,30466 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/isicom.c,2369 -static struct pci_device_id isicom_pci_tbl[62,1803 -static int prev_card 76,2418 -static struct isi_board * irq_to_board[77,2478 -static struct tty_driver *isicom_normal;78,2522 -static struct isi_board isi_card[80,2564 -static struct isi_port isi_ports[81,2611 -static struct timer_list tx;83,2659 -static char re_schedule 84,2688 -static unsigned long tx_count 86,2737 -static unsigned char * tmp_buf;94,2981 -static signed char linuxb_to_isib[99,3102 -static struct file_operations ISILoad_fops 109,3271 -struct miscdevice isiloader_device 114,3372 -static inline int WaitTillCardIsFree(119,3462 -static int ISILoad_ioctl(129,3663 -static inline int isicom_paranoia_check(337,9000 -static void isicom_tx(359,9540 -static void isicom_bottomhalf(481,12525 -static irqreturn_t isicom_interrupt(494,12794 -static void isicom_config_port(687,17737 -static inline void isicom_setup_board(804,20603 -static int isicom_setup_port(829,21202 -static int block_til_ready(867,21989 -static int isicom_open(956,24265 -static inline void isicom_shutdown_board(1024,25884 -static void isicom_shutdown_port(1038,26179 -static void isicom_close(1070,26934 -static int isicom_write(1144,28886 -static void isicom_put_char(1207,30657 -static void isicom_flush_chars(1235,31321 -static int isicom_write_room(1252,31796 -static int isicom_chars_in_buffer(1266,32127 -static inline void isicom_send_break(1275,32381 -static int isicom_tiocmget(1295,32973 -static int isicom_tiocmset(1312,33518 -static int isicom_set_serial_info(1336,34038 -static int isicom_get_serial_info(1372,35026 -static int isicom_ioctl(1391,35567 -static void isicom_set_termios(1443,36791 -static void isicom_throttle(1467,37408 -static void isicom_unthrottle(1484,37905 -static void isicom_stop(1501,38392 -static void isicom_start(1514,38723 -static void do_isicom_hangup(1527,39053 -static void isicom_hangup(1537,39272 -static void isicom_flush_buffer(1552,39640 -static int register_ioregion(1569,40040 -static void unregister_ioregion(1584,40451 -static struct tty_operations isicom_ops 1596,40794 -static int register_drivers(1616,41350 -static void unregister_drivers(1647,42238 -static int register_isr(1655,42459 -static void unregister_isr(1704,43873 -static int isicom_init(1726,44409 -static int io[1792,46003 -static int irq[1793,46021 -int init_module(1803,46315 -void cleanup_module(1903,48782 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/istallion.c,10317 -#define BRD_UNKNOWN 61,2018 -#define BRD_STALLION 62,2040 -#define BRD_BRUMBY4 63,2063 -#define BRD_ONBOARD2 64,2085 -#define BRD_ONBOARD 65,2108 -#define BRD_BRUMBY8 66,2130 -#define BRD_BRUMBY16 67,2152 -#define BRD_ONBOARDE 68,2175 -#define BRD_ONBOARD32 69,2198 -#define BRD_ONBOARD2_32 70,2222 -#define BRD_ONBOARDRS 71,2249 -#define BRD_EASYIO 72,2274 -#define BRD_ECH 73,2296 -#define BRD_ECHMC 74,2316 -#define BRD_ECP 75,2337 -#define BRD_ECPE 76,2357 -#define BRD_ECPMC 77,2377 -#define BRD_ECHPCI 78,2398 -#define BRD_ECH64PCI 79,2420 -#define BRD_EASYIOPCI 80,2444 -#define BRD_ECPPCI 81,2469 -#define BRD_BRUMBY 83,2492 -} stlconf_t;stlconf_t131,4645 -static stlconf_t stli_brdconf[133,4659 -static int stli_nrbrds 137,4742 -#define STLI_EISAPROBE 144,4996 -#define STL_SIOMEMMAJOR 153,5247 -#define STL_SERIALMAJOR 156,5306 -#define STL_CALLOUTMAJOR 159,5366 -static char *stli_drvtitle 168,5620 -static char *stli_drvname 169,5697 -static char *stli_drvversion 170,5738 -static char *stli_serialname 171,5778 -static struct tty_driver *stli_serial;173,5818 -static char *stli_tmpwritebuf;182,6204 -#define STLI_TXBUFSIZE 185,6278 -static char *stli_txcookbuf;194,6649 -static int stli_txcooksize;195,6680 -static int stli_txcookrealsize;196,6710 -static struct tty_struct *stli_txcooktty;197,6744 -static struct termios stli_deftermios 204,6986 -static comstats_t stli_comstats;213,7207 -static combrd_t stli_brdstats;214,7240 -static asystats_t stli_cdkstats;215,7272 -static stlibrd_t stli_dummybrd;216,7305 -static stliport_t stli_dummyport;217,7337 -static stlibrd_t *stli_brds[221,7453 -static int stli_shared;223,7496 -#define BST_FOUND 231,7758 -#define BST_STARTED 232,7780 -#define ST_INITIALIZING 240,8090 -#define ST_OPENING 241,8116 -#define ST_CLOSING 242,8137 -#define ST_CMDING 243,8158 -#define ST_TXBUSY 244,8178 -#define ST_RXING 245,8198 -#define ST_DOFLUSHRX 246,8217 -#define ST_DOFLUSHTX 247,8240 -#define ST_DOSIGS 248,8263 -#define ST_RXSTOP 249,8283 -#define ST_GETSIGS 250,8304 -static char *stli_brdnames[256,8453 -static char *board0[298,9201 -static char *board1[299,9225 -static char *board2[300,9249 -static char *board3[301,9273 -static char **stli_brdsp[303,9298 -typedef struct stlibrdtype stlibrdtype315,9517 -} stlibrdtype_t;stlibrdtype_t318,9570 -static stlibrdtype_t stli_brdstr[320,9588 -static unsigned long stli_eisamemprobeaddrs[400,11973 -static int stli_eisamempsize 408,12269 -int stli_eisaprobe 409,12356 -#define PCI_VENDOR_ID_STALLION 416,12501 -#define PCI_DEVICE_ID_ECRA 419,12574 -static struct pci_device_id istallion_pci_tbl[422,12617 -#define ECP_IOSIZE 437,13116 -#define ECP_MEMSIZE 439,13138 -#define ECP_PCIMEMSIZE 440,13171 -#define ECP_ATPAGESIZE 442,13208 -#define ECP_MCPAGESIZE 443,13242 -#define ECP_EIPAGESIZE 444,13276 -#define ECP_PCIPAGESIZE 445,13311 -#define STL_EISAID 447,13348 -#define ECP_ATIREG 452,13435 -#define ECP_ATCONFR 453,13456 -#define ECP_ATMEMAR 454,13478 -#define ECP_ATMEMPR 455,13500 -#define ECP_ATSTOP 456,13522 -#define ECP_ATINTENAB 457,13545 -#define ECP_ATENABLE 458,13572 -#define ECP_ATDISABLE 459,13598 -#define ECP_ATADDRMASK 460,13625 -#define ECP_ATADDRSHFT 461,13656 -#define ECP_EIIREG 466,13744 -#define ECP_EIMEMARL 467,13765 -#define ECP_EICONFR 468,13788 -#define ECP_EIMEMARH 469,13810 -#define ECP_EIENABLE 470,13833 -#define ECP_EIDISABLE 471,13858 -#define ECP_EISTOP 472,13884 -#define ECP_EIEDGE 473,13907 -#define ECP_EILEVEL 474,13931 -#define ECP_EIADDRMASKL 475,13956 -#define ECP_EIADDRSHFTL 476,13991 -#define ECP_EIADDRMASKH 477,14018 -#define ECP_EIADDRSHFTH 478,14053 -#define ECP_EIBRDENAB 479,14080 -#define ECP_EISAID 481,14109 -#define ECP_MCIREG 487,14252 -#define ECP_MCCONFR 488,14273 -#define ECP_MCSTOP 489,14295 -#define ECP_MCENABLE 490,14319 -#define ECP_MCDISABLE 491,14345 -#define ECP_PCIIREG 497,14488 -#define ECP_PCICONFR 498,14510 -#define ECP_PCISTOP 499,14533 -#define ONB_IOSIZE 505,14704 -#define ONB_MEMSIZE 506,14726 -#define ONB_ATPAGESIZE 507,14758 -#define ONB_MCPAGESIZE 508,14793 -#define ONB_EIMEMSIZE 509,14828 -#define ONB_EIPAGESIZE 510,14863 -#define ONB_ATIREG 515,14963 -#define ONB_ATMEMAR 516,14984 -#define ONB_ATCONFR 517,15006 -#define ONB_ATSTOP 518,15028 -#define ONB_ATENABLE 519,15051 -#define ONB_ATDISABLE 520,15077 -#define ONB_ATADDRMASK 521,15104 -#define ONB_ATADDRSHFT 522,15136 -#define ONB_MEMENABLO 524,15163 -#define ONB_MEMENABHI 525,15187 -#define ONB_EIIREG 530,15280 -#define ONB_EIMEMARL 531,15301 -#define ONB_EICONFR 532,15324 -#define ONB_EIMEMARH 533,15346 -#define ONB_EIENABLE 534,15369 -#define ONB_EIDISABLE 535,15394 -#define ONB_EISTOP 536,15420 -#define ONB_EIEDGE 537,15443 -#define ONB_EILEVEL 538,15467 -#define ONB_EIADDRMASKL 539,15492 -#define ONB_EIADDRSHFTL 540,15527 -#define ONB_EIADDRMASKH 541,15554 -#define ONB_EIADDRSHFTH 542,15589 -#define ONB_EIBRDENAB 543,15616 -#define ONB_EISAID 545,15645 -#define BBY_IOSIZE 551,15800 -#define BBY_MEMSIZE 552,15822 -#define BBY_PAGESIZE 553,15854 -#define BBY_ATIREG 555,15888 -#define BBY_ATCONFR 556,15909 -#define BBY_ATSTOP 557,15931 -#define STAL_IOSIZE 563,16088 -#define STAL_MEMSIZE 564,16111 -#define STAL_PAGESIZE 565,16144 -#define ECH_PNLSTATUS 573,16441 -#define ECH_PNL16PORT 574,16465 -#define ECH_PNLIDMASK 575,16492 -#define ECH_PNLXPID 576,16519 -#define ECH_PNLINTRPEND 577,16544 -#define EBRDINIT(EBRDINIT588,17062 -#define EBRDENABLE(EBRDENABLE592,17147 -#define EBRDDISABLE(EBRDDISABLE596,17237 -#define EBRDINTR(EBRDINTR600,17330 -#define EBRDRESET(EBRDRESET604,17416 -#define EBRDGETMEMPTR(EBRDGETMEMPTR608,17504 -#define STL_MAXBAUD 614,17667 -#define STL_BAUDBASE 615,17694 -#define STL_CLOSEDELAY 616,17722 -#define MINOR2BRD(MINOR2BRD623,17918 -#define MINOR2PORT(MINOR2PORT624,17964 -static unsigned int stli_baudrates[631,18191 -#define MIN(MIN642,18497 -#define TOLOWER(TOLOWER645,18557 -static struct file_operations stli_fsiomem 769,24808 -static struct timer_list stli_timerlist 784,25301 -static int stli_timeron;786,25380 -#define STLI_TIMEOUT 791,25464 -static struct class_simple *istallion_class;795,25581 -static int __init istallion_module_init(803,25691 -static void __exit istallion_module_exit(821,25973 -static void stli_argbrds(900,27829 -static unsigned long stli_atol(933,28531 -static int stli_parsebrd(969,29182 -static void *stli_memalloc(1010,30147 -static int stli_open(1017,30313 -static void stli_close(1118,33160 -static int stli_initopen(1202,35452 -static int stli_rawopen(1254,36929 -static int stli_rawclose(1335,39008 -static int stli_cmdwait(1412,40870 -static int stli_setport(1455,41925 -static void stli_delay(1486,42784 -static int stli_waitcarrier(1504,43185 -static int stli_write(1566,44554 -static void stli_putchar(1696,48342 -static void stli_flushchars(1723,49125 -static int stli_writeroom(1818,51347 -static int stli_charsinbuffer(1878,52911 -static int stli_getserial(1926,54075 -static int stli_setserial(1963,55073 -static int stli_tiocmget(1996,55970 -static int stli_tiocmset(2019,56532 -static int stli_ioctl(2051,57261 -static void stli_settermios(2135,59291 -static void stli_throttle(2185,60956 -static void stli_unthrottle(2210,61533 -static void stli_stop(2234,62017 -static void stli_start(2268,62761 -static void stli_dohangup(2307,63823 -static void stli_hangup(2337,64578 -static void stli_flushbuffer(2395,66126 -static void stli_breakctl(2444,67325 -static void stli_waituntilsent(2485,68267 -static void stli_sendxchar(2515,68906 -#define MAXLINE 2551,69767 -static int stli_portinfo(2559,69970 -static int stli_readproc(2620,71557 -static void stli_sendcmd(2697,73586 -static void stli_read(2750,75081 -static void stli_dodelaycmd(2818,76764 -static int stli_hostcmd(2866,78533 -static void stli_brdpoll(3025,82736 -static void stli_poll(3091,84815 -static void stli_mkasyport(3125,85560 -static void stli_mkasysigs(3248,88644 -static long stli_mktiocm(3273,89241 -static int stli_initports(3298,89947 -static void stli_ecpinit(3343,91106 -static void stli_ecpenable(3362,91577 -static void stli_ecpdisable(3372,91840 -static char *stli_ecpgetmemptr(3382,92106 -static void stli_ecpreset(3408,92793 -static void stli_ecpintr(3422,93132 -static void stli_ecpeiinit(3436,93432 -static void stli_ecpeienable(3458,94066 -static void stli_ecpeidisable(3465,94250 -static char *stli_ecpeigetmemptr(3472,94436 -static void stli_ecpeireset(3501,95181 -static void stli_ecpmcenable(3515,95506 -static void stli_ecpmcdisable(3522,95690 -static char *stli_ecpmcgetmemptr(3529,95876 -static void stli_ecpmcreset(3550,96471 -static void stli_ecppciinit(3564,96796 -static char *stli_ecppcigetmemptr(3578,97129 -static void stli_ecppcireset(3604,97831 -static void stli_onbinit(3618,98134 -static void stli_onbenable(3639,98644 -static void stli_onbdisable(3649,98925 -static char *stli_onbgetmemptr(3659,99209 -static void stli_onbreset(3681,99772 -static void stli_onbeinit(3700,100168 -static void stli_onbeenable(3724,100839 -static void stli_onbedisable(3734,101104 -static char *stli_onbegetmemptr(3744,101372 -static void stli_onbereset(3773,102115 -static void stli_bbyinit(3792,102512 -static char *stli_bbygetmemptr(3809,102874 -static void stli_bbyreset(3835,103556 -static void stli_stalinit(3854,103956 -static char *stli_stalgetmemptr(3867,104208 -static void stli_stalreset(3889,104772 -static int stli_initecp(3910,105229 -static int stli_initonb(4071,109474 -static int stli_startbrd(4237,113729 -static int __init stli_brdinit(4350,116728 -static int stli_eisamemprobe(4413,118277 -static int stli_getbrdnr(4505,120768 -static int stli_findeisabrds(4531,121523 -static int stli_initpcibrd(4615,123495 -static int stli_findpcibrds(4661,124644 -static stlibrd_t *stli_allocbrd(4687,125107 -static int stli_initbrds(4710,125644 -static ssize_t stli_memread(4807,127976 -static ssize_t stli_memwrite(4861,129241 -static int stli_getbrdstats(4915,130445 -static stliport_t *stli_getport(4954,131521 -static int stli_portcmdstats(4979,132246 -static int stli_getportstats(5054,134758 -static int stli_clrportstats(5085,135438 -static int stli_getportstruct(5124,136345 -static int stli_getbrdstruct(5145,136860 -static int stli_memioctl(5169,137518 -static struct tty_operations stli_ops 5251,139020 -int __init stli_init(5277,139743 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ser_a2232.h,2134 -#define _SER_A2232_H_32,1159 -#define MAX_A2232_BOARDS 40,1429 -#define A2232_NORMAL_MAJOR 45,1595 -#define A2232_CALLOUT_MAJOR 46,1644 -#define A2232_MAGIC 50,1748 -struct a2232_port{a2232_port54,1864 -#define NUMLINES 63,2029 -#define A2232_IOBUFLEN 64,2081 -#define A2232_IOBUFLENMASK 65,2142 -#define A2232_UNKNOWN 68,2215 -#define A2232_NORMAL 69,2263 -#define A2232_TURBO 70,2329 -struct a2232common a2232common73,2395 -struct a2232status a2232status84,2702 -#define A2232_MEMPAD1 100,3328 -#define A2232_MEMPAD2 103,3434 -struct a2232memory a2232memory105,3511 -#define A2232INCTL_CHAR 127,4487 -#define A2232INCTL_EVENT 128,4563 -#define A2232EVENT_Break 130,4637 -#define A2232EVENT_CarrierOn 131,4680 -#define A2232EVENT_CarrierOff 132,4732 -#define A2232EVENT_Sync 133,4786 -#define A2232CMD_Enable 135,4851 -#define A2232CMD_Close 136,4901 -#define A2232CMD_Open 137,4952 -#define A2232CMD_CMask 138,5001 -#define A2232CMD_RTSOff 139,5048 -#define A2232CMD_RTSOn 140,5098 -#define A2232CMD_Break 141,5144 -#define A2232CMD_RTSMask 142,5195 -#define A2232CMD_NoParity 143,5249 -#define A2232CMD_OddParity 144,5303 -#define A2232CMD_EvenParity 145,5352 -#define A2232CMD_ParityMask 146,5403 -#define A2232PARAM_B115200 148,5455 -#define A2232PARAM_B50 149,5503 -#define A2232PARAM_B75 150,5531 -#define A2232PARAM_B110 151,5559 -#define A2232PARAM_B134 152,5588 -#define A2232PARAM_B150 153,5617 -#define A2232PARAM_B300 154,5646 -#define A2232PARAM_B600 155,5675 -#define A2232PARAM_B1200 156,5704 -#define A2232PARAM_B1800 157,5733 -#define A2232PARAM_B2400 158,5762 -#define A2232PARAM_B3600 159,5791 -#define A2232PARAM_B4800 160,5820 -#define A2232PARAM_B7200 161,5849 -#define A2232PARAM_B9600 162,5878 -#define A2232PARAM_B19200 163,5907 -#define A2232PARAM_BaudMask 164,5937 -#define A2232PARAM_RcvBaud 165,5990 -#define A2232PARAM_8Bit 166,6053 -#define A2232PARAM_7Bit 167,6105 -#define A2232PARAM_6Bit 168,6135 -#define A2232PARAM_5Bit 169,6165 -#define A2232PARAM_BitMask 170,6195 -#define A2232_BAUD_TABLE_NOAVAIL 174,6341 -#define A2232_BAUD_TABLE_NUM_RATES 175,6377 -static int a2232_baud_table[176,6417 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/digi_bios.h,87 -static unsigned char pcxx_bios[3,27 -static unsigned char pcxx_bios[] __initdata 3,27 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/serial_tx3912.c,1557 -static struct real_driver rs_real_driver 48,1373 -static struct tty_driver *rs_driver;62,1878 -struct rs_port *rs_ports;63,1915 -int rs_initialized 64,1941 -static inline void receive_char_pio(86,2803 -static inline void transmit_char_pio(161,4694 -static inline void check_modem_status(202,5777 -int count 209,6024 -static inline void rs_rx_interrupt(217,6253 -static inline void rs_tx_interrupt(283,7898 -static void rs_rx_interrupt_uarta(332,9077 -static void rs_tx_interrupt_uarta(338,9218 -static void rs_disable_tx_interrupts 350,9658 -static void rs_enable_tx_interrupts 369,10094 -static void rs_disable_rx_interrupts 390,10565 -static void rs_enable_rx_interrupts 412,11098 -static int rs_get_CD 440,11797 -static void rs_shutdown_port 447,11920 -static int rs_set_real_termios 458,12061 -#define e(e465,12203 -#define CFLAG 485,12879 -static int rs_chars_in_buffer 514,13669 -static int rs_open 528,14161 -static int rs_ioctl 599,15658 -static void rs_send_xchar(643,16763 -static void rs_throttle(666,17303 -static void rs_unthrottle(683,17602 -void * ckmalloc 713,18252 -static int rs_init_portstructs(725,18413 -static struct tty_operations rs_ops 762,19339 -static int rs_init_drivers(780,19772 -static void __init tx3912_rs_init(810,20518 -void serial_outc(882,22485 - #define BUSY_WAIT 886,22550 -static void serial_console_write(911,23174 -static struct tty_driver *serial_console_device(923,23386 -static __init int serial_console_setup(929,23509 -static struct console sercons 965,24671 -static int __init tx3912_console_init(974,24882 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ppdev.c,933 -#define PP_VERSION 73,2651 -#define CHRDEV 74,2711 -struct pp_struct pp_struct76,2735 -#define PP_CLAIMED 89,3013 -#define PP_EXCL 90,3042 -#define PP_INTERRUPT_TIMEOUT 93,3094 -#define PP_BUFFER_SIZE 94,3143 -#define PARDEVICE_MAX 95,3171 -#define ROUND_UP(ROUND_UP98,3234 -static inline void pp_enable_irq 100,3275 -static ssize_t pp_read 106,3407 -static ssize_t pp_write 189,5299 -static void pp_irq 272,7190 -static int register_device 285,7491 -static enum ieee1284_phase init_phase 321,8272 -static int pp_ioctl(332,8504 -static int pp_open 638,15396 -static int pp_release 667,16076 -static unsigned int pp_poll 728,17717 -static struct class_simple *ppdev_class;740,17975 -static struct file_operations pp_fops 742,18017 -static void pp_attach(753,18233 -static void pp_detach(759,18388 -static struct parport_driver pp_driver 764,18497 -static int __init ppdev_init 770,18608 -static void __exit ppdev_cleanup 808,19500 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/consolemap.c,863 -static unsigned short translations[26,594 -#define MAX_GLYPH 172,9697 -static int inv_translate[174,9752 -struct uni_pagedir uni_pagedir176,9796 -static struct uni_pagedir *dflt;184,9947 -static void set_inverse_transl(186,9981 -unsigned short *set_translate(211,10532 -unsigned char inverse_translate(224,10936 -static void update_user_maps(236,11298 -int con_set_trans_old(260,11879 -int con_get_trans_old(279,12196 -int con_set_trans_new(296,12527 -int con_get_trans_new(315,12843 -static void con_release_unimap(343,13550 -void con_free_unimap(365,13981 -static int con_unify_unimap(378,14250 -con_insert_unipair(419,15092 -int con_clear_unimap(445,15748 -con_set_unimap(471,16323 -con_set_default_unimap(533,17860 -con_copy_unimap(581,18867 -con_get_unimap(599,19334 -void con_protect_unimap(628,20037 -conv_uni_to_pc(637,20210 -console_map_init(676,21390 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rocket_int.h,10014 -#define ROCKET_TYPE_NORMAL 12,204 -#define ROCKET_TYPE_MODEM 13,233 -#define ROCKET_TYPE_MODEMII 14,261 -#define ROCKET_TYPE_MODEMIII 15,291 -#define ROCKET_TYPE_PC104 16,322 -typedef unsigned char Byte_t;Byte_t21,405 -typedef unsigned int ByteIO_t;ByteIO_t22,435 -typedef unsigned int Word_t;Word_t24,467 -typedef unsigned int WordIO_t;WordIO_t25,496 -typedef unsigned long DWord_t;DWord_t27,528 -typedef unsigned int DWordIO_t;DWordIO_t28,559 -static inline void sOutB(40,971 -static inline void sOutW(48,1137 -static inline void sOutDW(56,1304 -static inline unsigned char sInB(64,1486 -static inline unsigned short sInW(69,1566 -#define sOutB(sOutB75,1679 -#define sOutW(sOutW76,1712 -#define sOutDW(sOutDW77,1745 -#define sInB(sInB78,1806 -#define sInW(sInW79,1833 -#define sOutStrW(sOutStrW83,1972 -#define sInStrW(sInStrW84,2044 -#define CTL_SIZE 86,2115 -#define AIOP_CTL_SIZE 87,2134 -#define CHAN_AIOP_SIZE 88,2158 -#define MAX_PORTS_PER_AIOP 89,2183 -#define MAX_AIOPS_PER_BOARD 90,2212 -#define MAX_PORTS_PER_BOARD 91,2242 -#define isISA 94,2292 -#define isPCI 95,2308 -#define isMC 96,2324 -#define CTLID_NULL 99,2368 -#define CTLID_0001 100,2419 -#define AIOPID_NULL 103,2539 -#define AIOPID_0001 104,2595 -#define NULLDEV 106,2644 -#define NULLCTL 107,2701 -#define NULLCTLPTR 108,2762 -#define NULLAIOP 109,2840 -#define NULLCHAN 110,2896 -#define _CMD_REG 116,3161 -#define _INT_CHAN 117,3231 -#define _INT_MASK 118,3300 -#define _UNUSED 119,3377 -#define _INDX_ADDR 120,3438 -#define _INDX_DATA 121,3508 -#define _TD0 126,3800 -#define _RD0 127,3870 -#define _CHN_STAT0 128,3939 -#define _FIFO_CNT0 129,4016 -#define _INT_ID0 130,4085 -#define _TX_ENBLS 135,4361 -#define _TXCMP1 136,4437 -#define _TXCMP2 137,4513 -#define _TXREP1B1 138,4589 -#define _TXREP1B2 139,4665 -#define _TXREP2 140,4741 -#define _RX_FIFO 145,5030 -#define _TX_FIFO 146,5070 -#define _RXF_OUTP 147,5110 -#define _RXF_INP 148,5185 -#define _TXF_OUTP 149,5260 -#define _TXF_INP 150,5335 -#define _TXP_CNT 151,5410 -#define _TXP_PNTR 152,5485 -#define PRI_PEND 154,5561 -#define TXFIFO_SIZE 155,5633 -#define RXFIFO_SIZE 156,5680 -#define _TXP_BUF 161,5924 -#define TXP_SIZE 162,6001 -#define _TX_CTRL 168,6245 -#define _RX_CTRL 169,6318 -#define _BAUD 170,6391 -#define _CLK_PRE 171,6464 -#define STMBREAK 173,6538 -#define STMFRAME 174,6575 -#define STMRCVROVR 175,6620 -#define STMPARITY 176,6675 -#define STMERROR 177,6719 -#define STMBREAKH 178,6772 -#define STMFRAMEH 179,6810 -#define STMRCVROVRH 180,6856 -#define STMPARITYH 181,6912 -#define STMERRORH 182,6957 -#define CTS_ACT 184,7015 -#define DSR_ACT 185,7064 -#define CD_ACT 186,7113 -#define TXFIFOMT 187,7161 -#define TXSHRMT 188,7208 -#define RDA 189,7265 -#define DRAINED 190,7313 -#define STATMODE 192,7381 -#define RXFOVERFL 193,7435 -#define RX2MATCH 194,7488 -#define RX1MATCH 195,7548 -#define RXBREAK 196,7608 -#define RXFRAME 197,7654 -#define RXPARITY 198,7708 -#define STATERROR 199,7761 -#define CTSFC_EN 201,7811 -#define RTSTOG_EN 202,7869 -#define TXINT_EN 203,7921 -#define STOP2 204,7977 -#define PARITY_EN 205,8039 -#define EVEN_PAR 206,8099 -#define DATA8BIT 207,8158 -#define SETBREAK 209,8217 -#define LOCALLOOP 210,8281 -#define SET_DTR 211,8339 -#define SET_RTS 212,8380 -#define TX_ENABLE 213,8421 -#define RTSFC_EN 215,8471 -#define RXPROC_EN 216,8525 -#define TRIG_NO 217,8580 -#define TRIG_1 218,8647 -#define TRIG_1_2 219,8698 -#define TRIG_7_8 220,8746 -#define TRIG_MASK 221,8794 -#define SRCINT_EN 222,8843 -#define RXINT_EN 223,8911 -#define MCINT_EN 224,8961 -#define RXF_TRIG 226,9022 -#define TXFIFO_MT 227,9084 -#define SRC_INT 228,9138 -#define DELTA_CD 229,9204 -#define DELTA_CTS 230,9254 -#define DELTA_DSR 231,9305 -#define REP1W2_EN 233,9357 -#define IGN2_EN 234,9422 -#define IGN1_EN 235,9473 -#define COMP2_EN 236,9524 -#define COMP1_EN 237,9576 -#define RESET_ALL 239,9629 -#define TXOVERIDE 240,9685 -#define RESETUART 241,9746 -#define RESTXFCNT 242,9797 -#define RESRXFCNT 243,9866 -#define INTSTAT0 245,9936 -#define INTSTAT1 246,9990 -#define INTSTAT2 247,10044 -#define INTSTAT3 248,10098 -#define INTR_EN 250,10153 -#define INT_STROB 251,10208 -#define _CFG_INT_PCI 257,10455 -#define _PCI_INT_FUNC 258,10482 -#define PCI_STROB 260,10510 -#define INTR_EN_PCI 261,10569 -#define _PCI_9030_INT_CTRL 266,10686 -#define _PCI_9030_GPIO_CTRL 267,10751 -#define PCI_INT_CTRL_AIOP 268,10784 -#define PCI_GPIO_CTRL_8PORT 269,10817 -#define _PCI_9030_RING_IND 270,10852 -#define CHAN3_EN 272,10918 -#define CHAN2_EN 273,10962 -#define CHAN1_EN 274,11006 -#define CHAN0_EN 275,11050 -#define FREQ_DIS 276,11094 -#define FREQ_274HZ 277,11117 -#define FREQ_137HZ 278,11141 -#define FREQ_69HZ 279,11165 -#define FREQ_34HZ 280,11189 -#define FREQ_17HZ 281,11213 -#define FREQ_9HZ 282,11237 -#define PERIODIC_ONLY 283,11261 -#define CHANINT_EN 285,11319 -#define RDATASIZE 287,11389 -#define RREGDATASIZE 288,11410 -#define AIOP_INTR_BIT_0 293,11501 -#define AIOP_INTR_BIT_1 294,11533 -#define AIOP_INTR_BIT_2 295,11565 -#define AIOP_INTR_BIT_3 296,11597 -#define AIOP_INTR_BITS 298,11630 -#define UPCI_AIOP_INTR_BIT_0 304,11739 -#define UPCI_AIOP_INTR_BIT_1 305,11775 -#define UPCI_AIOP_INTR_BIT_2 306,11811 -#define UPCI_AIOP_INTR_BIT_3 307,11847 -#define UPCI_AIOP_INTR_BITS 309,11884 -} CONTROLLER_T;CONTROLLER_T338,12510 -typedef CONTROLLER_T CONTROLLER_t;CONTROLLER_t340,12527 -} CHANNEL_T;CHANNEL_T378,13187 -typedef CHANNEL_T CHANNEL_t;CHANNEL_t380,13201 -typedef CHANNEL_T *CHANPTR_T;CHANPTR_T381,13230 -#define InterfaceModeRS232 383,13261 -#define InterfaceModeRS422 384,13294 -#define InterfaceModeRS485 385,13327 -#define InterfaceModeRS232T 386,13360 -#define sClrBreak(sClrBreak394,13617 -#define sClrDTR(sClrDTR406,13966 -#define sClrRTS(sClrRTS418,14312 -#define sClrTxXOFF(sClrTxXOFF431,14743 -#define sCtlNumToCtlPtr(sCtlNumToCtlPtr444,15199 -#define sControllerEOI(sControllerEOI452,15499 -#define sPCIControllerEOI(sPCIControllerEOI462,15938 -#define sDisAiop(sDisAiop481,16472 -#define sDisCTSFlowCtl(sDisCTSFlowCtl493,16848 -#define sDisIXANY(sDisIXANY505,17223 -#define sDisParity(sDisParity519,17699 -#define sDisRTSToggle(sDisRTSToggle531,18062 -#define sDisRxFIFO(sDisRxFIFO544,18446 -#define sDisRxStatusMode(sDisRxStatusMode559,18977 -#define sDisTransmit(sDisTransmit571,19527 -#define sDisTxSoftFlowCtl(sDisTxSoftFlowCtl583,19914 -#define sEnAiop(sEnAiop596,20325 -#define sEnCTSFlowCtl(sEnCTSFlowCtl608,20697 -#define sEnIXANY(sEnIXANY620,21067 -#define sEnParity(sEnParity637,21672 -#define sEnRTSToggle(sEnRTSToggle651,22151 -#define sEnRxFIFO(sEnRxFIFO667,22671 -#define sEnRxProcessor(sEnRxProcessor688,23529 -#define sEnRxStatusMode(sEnRxStatusMode704,24123 -#define sEnTransmit(sEnTransmit712,24391 -#define sEnTxSoftFlowCtl(sEnTxSoftFlowCtl724,24773 -#define sGetAiopIntStatus(sGetAiopIntStatus740,25400 -#define sGetAiopNumChan(sGetAiopNumChan750,25835 -#define sGetChanIntID(sGetChanIntID766,26582 -#define sGetChanNum(sGetChanNum776,27031 -#define sGetChanStatus(sGetChanStatus804,28222 -#define sGetChanStatusLo(sGetChanStatusLo820,28923 -#define sGetChanRI(sGetChanRI827,29140 -#define sGetControllerIntStatus(sGetControllerIntStatus845,30078 -#define sPCIGetControllerIntStatus(sPCIGetControllerIntStatus858,30715 -#define sGetRxCnt(sGetRxCnt873,31240 -#define sGetTxCnt(sGetTxCnt884,31647 -#define sGetTxRxDataIO(sGetTxRxDataIO893,32022 -#define sInitChanDefaults(sInitChanDefaults904,32463 -#define sResetAiopByNum(sResetAiopByNum919,32896 -#define sSendBreak(sSendBreak931,33283 -#define sSetBaud(sSetBaud944,33700 -#define sSetData7(sSetData7957,34114 -#define sSetData8(sSetData8969,34467 -#define sSetDTR(sSetDTR981,34815 -#define sSetEvenParity(sSetEvenParity998,35414 -#define sSetOddParity(sSetOddParity1015,36018 -#define sSetRTS(sSetRTS1027,36371 -#define sSetRxTrigger(sSetRxTrigger1053,37421 -#define sSetStop1(sSetStop11066,37820 -#define sSetStop2(sSetStop21078,38170 -#define sSetTxXOFFChar(sSetTxXOFFChar1091,38615 -#define sSetTxXONChar(sSetTxXONChar1104,39052 -#define sStartRxProcessor(sStartRxProcessor1120,39646 -#define sWriteTxByte(sWriteTxByte1131,40184 -struct r_port r_port1179,41693 -#define RPORT_MAGIC 1217,42391 -#define NUM_BOARDS 1219,42421 -#define MAX_RP_PORTS 1220,42442 -#define XMIT_BUF_SIZE 1225,42543 -#define WAKEUP_CHARS 1228,42641 -#define ROCKET_INITIALIZED 1231,42723 -#define ROCKET_CLOSING 1232,42782 -#define ROCKET_NORMAL_ACTIVE 1233,42846 -#define SERIAL_TYPE_NORMAL 1236,42934 -#define TTY_ROCKET_MAJOR 1241,43024 -#define CUA_ROCKET_MAJOR 1242,43052 -#define PCI_VENDOR_ID_RP 1258,43437 -#define PCI_DEVICE_ID_RP32INTF 1261,43498 -#define PCI_DEVICE_ID_RP8INTF 1262,43581 -#define PCI_DEVICE_ID_RP16INTF 1263,43663 -#define PCI_DEVICE_ID_RP4QUAD 1264,43746 -#define PCI_DEVICE_ID_RP8OCTA 1265,43828 -#define PCI_DEVICE_ID_RP8J 1266,43910 -#define PCI_DEVICE_ID_RP4J 1267,43989 -#define PCI_DEVICE_ID_RP8SNI 1268,44068 -#define PCI_DEVICE_ID_RP16SNI 1269,44161 -#define PCI_DEVICE_ID_RPP4 1270,44258 -#define PCI_DEVICE_ID_RPP8 1271,44337 -#define PCI_DEVICE_ID_RP6M 1272,44416 -#define PCI_DEVICE_ID_RP4M 1273,44495 -#define PCI_DEVICE_ID_RP2_232 1274,44574 -#define PCI_DEVICE_ID_RP2_422 1275,44665 -#define PCI_DEVICE_ID_URP32INTF 1278,44786 -#define PCI_DEVICE_ID_URP8INTF 1279,44872 -#define PCI_DEVICE_ID_URP16INTF 1280,44956 -#define PCI_DEVICE_ID_URP8OCTA 1281,45041 -#define PCI_DEVICE_ID_UPCI_RM3_8PORT 1282,45125 -#define PCI_DEVICE_ID_UPCI_RM3_4PORT 1283,45217 -#define PCI_DEVICE_ID_CRP16INTF 1286,45336 -#define TTY_GET_LINE(TTY_GET_LINE1288,45429 -#define TTY_DRIVER_MINOR_START(TTY_DRIVER_MINOR_START1289,45462 -#define TTY_DRIVER_SUBTYPE(TTY_DRIVER_SUBTYPE1290,45519 -#define TTY_DRIVER_NAME(TTY_DRIVER_NAME1291,45568 -#define TTY_DRIVER_NAME_BASE(TTY_DRIVER_NAME_BASE1292,45611 -#define TTY_DRIVER_FLUSH_BUFFER_EXISTS(TTY_DRIVER_FLUSH_BUFFER_EXISTS1293,45664 -#define TTY_DRIVER_FLUSH_BUFFER(TTY_DRIVER_FLUSH_BUFFER1294,45730 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/moxa.c,13267 -#define MOXA_VERSION 59,1887 -#define MOXAMAJOR 61,1918 -#define MOXACUMAJOR 62,1946 -#define put_to_user(put_to_user64,1975 -#define get_from_user(get_from_user65,2045 -#define MAX_BOARDS 67,2117 -#define MAX_PORTS_PER_BOARD 68,2170 -#define MAX_PORTS 69,2231 -#define MOXA_BUS_TYPE_ISA 74,2342 -#define MOXA_BUS_TYPE_PCI 75,2371 -#define PCI_VENDOR_ID_MOXA 78,2428 -#define PCI_DEVICE_ID_CP204J 81,2498 -#define PCI_DEVICE_ID_C218 84,2568 -#define PCI_DEVICE_ID_C320 87,2636 - MOXA_BOARD_C218_PCI 91,2685 - MOXA_BOARD_C218_ISA,92,2711 - MOXA_BOARD_C320_PCI,93,2733 - MOXA_BOARD_C320_ISA,94,2755 - MOXA_BOARD_CP204J,95,2777 -static char *moxa_brdname[98,2801 -static struct pci_device_id moxa_pcibrds[108,2978 -typedef struct _moxa_isa_board_conf _moxa_isa_board_conf120,3400 -} moxa_isa_board_conf;moxa_isa_board_conf124,3494 -static moxa_isa_board_conf moxa_isa_boards[126,3518 -typedef struct _moxa_pci_devinfo _moxa_pci_devinfo131,3616 -} moxa_pci_devinfo;moxa_pci_devinfo134,3683 -typedef struct _moxa_board_conf _moxa_board_conf136,3704 -} moxa_board_conf;moxa_board_conf142,3835 -static moxa_board_conf moxa_boards[144,3855 -static unsigned long moxaBaseAddr[145,3903 -struct moxa_str moxa_str147,3951 -struct mxser_mstatus mxser_mstatus164,4292 -static struct mxser_mstatus GMStatus[172,4375 -#define TXSTOPPED 175,4443 -#define LOWWAIT 176,4465 -#define EMPTYWAIT 177,4486 -#define THROTTLE 178,4508 -#define MOXA_EVENT_HANGUP 181,4542 -#define SERIAL_DO_RESTART183,4571 -#define SERIAL_TYPE_NORMAL 186,4599 -#define WAKEUP_CHARS 188,4629 -#define PORTNO(PORTNO190,4656 -static int verbose 192,4689 -static int ttymajor 193,4713 -static int baseaddr[196,4787 -static int type[197,4827 -static int numports[198,4861 -static struct tty_driver *moxaDriver;210,5181 -static struct moxa_str moxaChannels[211,5219 -static unsigned char *moxaXmitBuff;212,5267 -static int moxaTimer_on;213,5303 -static struct timer_list moxaTimer;214,5328 -static int moxaEmptyTimer_on[215,5364 -static struct timer_list moxaEmptyTimer[216,5405 -static struct semaphore moxaBuffSem;217,5457 -static struct tty_operations moxa_ops 282,8261 -static int moxa_get_PCI_conf(303,8799 -static int __init moxa_init(328,9339 -static void __exit moxa_exit(476,13850 -static void do_moxa_softint(501,14319 -static int moxa_open(515,14693 -static void moxa_close(570,15781 -static int moxa_write(637,17302 -static int moxa_write_room(677,18246 -static void moxa_flush_buffer(689,18469 -static int moxa_chars_in_buffer(699,18668 -static void moxa_flush_chars(724,19334 -static void moxa_put_char(732,19507 -static int moxa_tiocmget(753,20042 -static int moxa_tiocmset(778,20550 -static int moxa_ioctl(802,21059 -static void moxa_throttle(856,22484 -static void moxa_unthrottle(863,22631 -static void moxa_set_termios(870,22781 -static void moxa_stop(883,23107 -static void moxa_start(894,23309 -static void moxa_hangup(908,23560 -static void moxa_poll(921,23846 -static void set_tty_param(983,25390 -static int block_till_ready(1008,26003 -static void setup_empty_event(1094,28019 -static void check_xmit_empty(1110,28420 -static void shut_down(1130,28931 -static void receive_data(1150,29293 -#define Magic_code 1189,30215 -#define C218_ConfBase 1197,30317 -#define C218_status 1198,30345 -#define C218_diag 1199,30414 -#define C218_key 1200,30481 -#define C218DLoad_len 1201,30546 -#define C218check_sum 1202,30609 -#define C218chksum_ok 1203,30672 -#define C218_TestRx 1204,30746 -#define C218_TestTx 1205,30818 -#define C218_RXerr 1206,30890 -#define C218_ErrFlag 1207,30961 -#define C218_LoadBuf 1209,31035 -#define C218_KeyCode 1210,31063 -#define CP204J_KeyCode 1211,31090 -#define C320_ConfBase 1216,31162 -#define C320_LoadBuf 1217,31190 -#define STS_init 1218,31218 -#define C320_status 1220,31270 -#define C320_diag 1221,31337 -#define C320_key 1222,31402 -#define C320DLoad_len 1223,31465 -#define C320check_sum 1224,31526 -#define C320chksum_ok 1225,31587 -#define C320bapi_len 1226,31659 -#define C320UART_no 1227,31722 -#define C320_KeyCode 1229,31785 -#define FixPage_addr 1231,31813 -#define DynPage_addr 1232,31877 -#define C218_start 1233,31941 -#define Control_reg 1234,32004 -#define HW_reset 1235,32067 -#define FC_CardReset 1240,32118 -#define FC_ChannelReset 1241,32144 -#define FC_EnableCH 1242,32204 -#define FC_DisableCH 1243,32226 -#define FC_SetParam 1244,32249 -#define FC_SetMode 1245,32271 -#define FC_SetRate 1246,32292 -#define FC_LineControl 1247,32313 -#define FC_LineStatus 1248,32338 -#define FC_XmitControl 1249,32362 -#define FC_FlushQueue 1250,32387 -#define FC_SendBreak 1251,32412 -#define FC_StopBreak 1252,32436 -#define FC_LoopbackON 1253,32460 -#define FC_LoopbackOFF 1254,32485 -#define FC_ClrIrqTable 1255,32511 -#define FC_SendXon 1256,32537 -#define FC_SetTermIrq 1257,32559 -#define FC_SetCntIrq 1258,32618 -#define FC_SetBreakIrq 1259,32676 -#define FC_SetLineIrq 1260,32702 -#define FC_SetFlowCtl 1261,32727 -#define FC_GenIrq 1262,32752 -#define FC_InCD180 1263,32773 -#define FC_OutCD180 1264,32795 -#define FC_InUARTreg 1265,32818 -#define FC_OutUARTreg 1266,32842 -#define FC_SetXonXoff 1267,32867 -#define FC_OutCD180CCR 1268,32892 -#define FC_ExtIQueue 1269,32918 -#define FC_ExtOQueue 1270,32942 -#define FC_ClrLineIrq 1271,32966 -#define FC_HWFlowCtl 1272,32991 -#define FC_GetClockRate 1273,33015 -#define FC_SetBaud 1274,33042 -#define FC_SetDataMode 1275,33064 -#define FC_GetCCSR 1276,33091 -#define FC_GetDataError 1277,33118 -#define FC_RxControl 1278,33145 -#define FC_ImmSend 1279,33169 -#define FC_SetXonState 1280,33191 -#define FC_SetXoffState 1281,33217 -#define FC_SetRxFIFOTrig 1282,33244 -#define FC_SetTxFIFOCnt 1283,33272 -#define FC_UnixRate 1284,33299 -#define FC_UnixResetTimer 1285,33322 -#define RxFIFOTrig1 1287,33352 -#define RxFIFOTrig4 1288,33374 -#define RxFIFOTrig8 1289,33396 -#define RxFIFOTrig14 1290,33418 -#define DRAM_global 1295,33471 -#define INT_data 1296,33493 -#define Config_base 1297,33528 -#define IRQindex 1299,33571 -#define IRQpending 1300,33603 -#define IRQtable 1301,33637 -#define IntrRx 1306,33700 -#define IntrTx 1307,33758 -#define IntrFunc 1308,33808 -#define IntrBreak 1309,33867 -#define IntrLine 1310,33919 -#define IntrIntr 1312,34004 -#define IntrQuit 1313,34063 -#define IntrEOF 1314,34122 -#define IntrRxTrigger 1316,34182 -#define IntrTxTrigger 1317,34250 -#define Magic_no 1319,34320 -#define Card_model_no 1320,34355 -#define Total_ports 1321,34395 -#define Module_cnt 1322,34433 -#define Module_no 1323,34470 -#define Timer_10ms 1324,34507 -#define Disable_IRQ 1325,34545 -#define TMS320_PORT1 1326,34584 -#define TMS320_PORT2 1327,34624 -#define TMS320_CLOCK 1328,34664 -#define Extern_table 1333,34738 -#define Extern_size 1336,34886 -#define RXrptr 1337,34948 -#define RXwptr 1338,35006 -#define TXrptr 1339,35064 -#define TXwptr 1340,35122 -#define HostStat 1341,35180 -#define FlagStat 1342,35239 -#define FlowControl 1343,35261 -#define Break_cnt 1349,35561 -#define CD180TXirq 1350,35613 -#define RX_mask 1351,35674 -#define TX_mask 1352,35696 -#define Ofs_rxb 1353,35718 -#define Ofs_txb 1354,35740 -#define Page_rxb 1355,35762 -#define Page_txb 1356,35784 -#define EndPage_rxb 1357,35806 -#define EndPage_txb 1358,35831 -#define Data_error 1359,35856 -#define RxTrigger 1360,35880 -#define TxTrigger 1361,35903 -#define rRXwptr 1363,35927 -#define Low_water 1364,35949 -#define FuncCode 1366,35973 -#define FuncArg 1367,35995 -#define FuncArg1 1368,36017 -#define C218rx_size 1370,36040 -#define C218tx_size 1371,36082 -#define C218rx_mask 1373,36126 -#define C218tx_mask 1374,36164 -#define C320p8rx_size 1376,36203 -#define C320p8tx_size 1377,36232 -#define C320p8rx_mask 1378,36261 -#define C320p8tx_mask 1379,36303 -#define C320p16rx_size 1381,36346 -#define C320p16tx_size 1382,36376 -#define C320p16rx_mask 1383,36406 -#define C320p16tx_mask 1384,36450 -#define C320p24rx_size 1386,36495 -#define C320p24tx_size 1387,36525 -#define C320p24rx_mask 1388,36555 -#define C320p24tx_mask 1389,36599 -#define C320p32rx_size 1391,36644 -#define C320p32tx_size 1392,36674 -#define C320p32rx_mask 1393,36704 -#define C320p32tx_mask 1394,36748 -#define Page_size 1396,36793 -#define Page_mask 1397,36818 -#define C218rx_spage 1398,36852 -#define C218tx_spage 1399,36875 -#define C218rx_pageno 1400,36898 -#define C218tx_pageno 1401,36922 -#define C218buf_pageno 1402,36946 -#define C320p8rx_spage 1404,36972 -#define C320p8tx_spage 1405,36997 -#define C320p8rx_pgno 1406,37022 -#define C320p8tx_pgno 1407,37046 -#define C320p8buf_pgno 1408,37070 -#define C320p16rx_spage 1410,37096 -#define C320p16tx_spage 1411,37122 -#define C320p16rx_pgno 1412,37148 -#define C320p16tx_pgno 1413,37173 -#define C320p16buf_pgno 1414,37198 -#define C320p24rx_spage 1416,37225 -#define C320p24tx_spage 1417,37251 -#define C320p24rx_pgno 1418,37277 -#define C320p24tx_pgno 1419,37302 -#define C320p24buf_pgno 1420,37327 -#define C320p32rx_spage 1422,37354 -#define C320p32tx_ofs 1423,37380 -#define C320p32tx_spage 1424,37417 -#define C320p32buf_pgno 1425,37443 -#define WakeupRx 1430,37495 -#define WakeupTx 1431,37517 -#define WakeupBreak 1432,37539 -#define WakeupLine 1433,37564 -#define WakeupIntr 1434,37588 -#define WakeupQuit 1435,37612 -#define WakeupEOF 1436,37636 -#define WakeupRxTrigger 1437,37687 -#define WakeupTxTrigger 1438,37717 -#define Rx_over 1442,37772 -#define Xoff_state 1443,37794 -#define Tx_flowOff 1444,37818 -#define Tx_enable 1445,37842 -#define CTS_state 1446,37865 -#define DSR_state 1447,37888 -#define DCD_state 1448,37911 -#define CTS_FlowCtl 1452,37959 -#define RTS_FlowCtl 1453,37981 -#define Tx_FlowCtl 1454,38003 -#define Rx_FlowCtl 1455,38024 -#define IXM_IXANY 1456,38045 -#define LowWater 1458,38069 -#define DTR_ON 1460,38091 -#define RTS_ON 1461,38109 -#define CTS_ON 1462,38127 -#define DSR_ON 1463,38145 -#define DCD_ON 1464,38163 -#define MX_CS8 1467,38204 -#define MX_CS7 1468,38225 -#define MX_CS6 1469,38246 -#define MX_CS5 1470,38267 -#define MX_STOP1 1472,38289 -#define MX_STOP15 1473,38311 -#define MX_STOP2 1474,38334 -#define MX_PARNONE 1476,38357 -#define MX_PAREVEN 1477,38381 -#define MX_PARODD 1478,38405 -#define QueryPort 1483,38448 -struct mon_str mon_str1487,38479 -typedef struct mon_str mon_st;mon_st1492,38556 -#define DCD_changed 1494,38588 -#define DCD_oldstate 1495,38614 -static unsigned char moxaBuff[1497,38642 -static unsigned long moxaIntNdx[1498,38680 -static unsigned long moxaIntPend[1499,38725 -static unsigned long moxaIntTable[1500,38771 -static char moxaChkPort[1501,38818 -static char moxaLineCtrl[1502,38854 -static unsigned long moxaTableAddr[1503,38891 -static long moxaCurBaud[1504,38938 -static char moxaDCDState[1505,38974 -static char moxaLowChkFlag[1506,39011 -static int moxaLowWaterChk;1507,39050 -static int moxaCard;1508,39078 -static mon_st moxaLog;1509,39099 -static int moxaFuncTout;1510,39122 -static ushort moxaBreakCnt[1511,39147 -void MoxaDriverInit(1530,40014 -#define MOXA 1547,40313 -#define MOXA_GET_IQUEUE 1548,40333 -#define MOXA_GET_OQUEUE 1549,40400 -#define MOXA_INIT_DRIVER 1550,40468 -#define MOXA_LOAD_BIOS 1551,40521 -#define MOXA_FIND_BOARD 1552,40576 -#define MOXA_LOAD_C320B 1553,40645 -#define MOXA_LOAD_CODE 1554,40711 -#define MOXA_GETDATACOUNT 1555,40771 -#define MOXA_GET_IOQUEUE 1556,40815 -#define MOXA_FLUSH_QUEUE 1557,40852 -#define MOXA_GET_CONF 1558,40889 -#define MOXA_GET_MAJOR 1559,40944 -#define MOXA_GET_CUMAJOR 1560,40988 -#define MOXA_GETMSTATUS 1561,41032 -struct moxaq_str moxaq_str1564,41078 -struct dl_str dl_str1569,41122 -static struct moxaq_str temp_queue[1575,41184 -static struct dl_str dltmp;1576,41231 -void MoxaPortFlushData(1578,41260 -int MoxaDriverIoctl(1591,41523 -int MoxaDriverPoll(1708,44636 -int MoxaPortsOfCard(1766,46238 -int MoxaPortIsValid(2133,60133 -void MoxaPortEnable(2143,60259 -void MoxaPortDisable(2166,60918 -long MoxaPortGetMaxBaud(2177,61201 -long MoxaPortSetBaud(2187,61451 -int MoxaPortSetTermio(2211,62046 -#define B921600 2253,62886 -int MoxaPortGetLineOut(2336,64205 -void MoxaPortLineCtrl(2356,64527 -void MoxaPortFlowCtrl(2371,64787 -int MoxaPortLineStatus(2391,65166 -int MoxaPortDCDChange(2417,65824 -int MoxaPortDCDON(2429,66007 -int MoxaPortWriteData(2459,66523 -int MoxaPortReadData(2523,68126 -int MoxaPortTxQueue(2593,69944 -int MoxaPortTxFree(2607,70216 -int MoxaPortRxQueue(2621,70496 -void MoxaPortTxDisable(2636,70769 -void MoxaPortTxEnable(2644,70913 -int MoxaPortResetBrkCnt(2653,71056 -void MoxaPortSendBreak(2662,71176 -static int moxa_get_serial_info(2677,71515 -static int moxa_set_serial_info(2699,72010 -static void moxadelay(2744,73236 -static void moxafunc(2753,73364 -static void wait_finish(2761,73525 -static void low_water_check(2774,73720 -static int moxaloadbios(2789,74057 -static int moxafindcard(2807,74572 -static int moxaload320b(2836,75172 -static int moxaloadcode(2856,75771 -static int moxaloadc218(2938,79093 -static int moxaloadc320(3014,80991 -long MoxaPortGetCurBaud(3109,83397 -static void MoxaSetFifo(3117,83509 -int MoxaPortSetMode(3131,83809 -int MoxaPortTxBufSize(3190,84617 -int MoxaPortRxBufSize(3200,84772 -int MoxaPortRxFree(3210,84927 -int MoxaPortGetBrkCnt(3223,85206 -void MoxaPortSetXonXoff(3228,85273 -int MoxaPortIsTxHold(3239,85543 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/tipar.c,1174 -#define DRIVER_VERSION 71,1934 -#define DRIVER_AUTHOR 72,1964 -#define DRIVER_DESC 73,2025 -#define DRIVER_LICENSE 74,2095 -#define VERSION(VERSION76,2125 -# define need_resched(need_resched78,2229 -struct tipar_struct tipar_struct83,2361 -#define PP_NO 87,2438 -static struct tipar_struct table[88,2454 -static int delay 90,2496 -static int timeout 91,2563 -static unsigned int tp_count;93,2634 -static unsigned long opened;94,2682 -static struct class_simple *tipar_class;96,2733 -#define r_dtr(r_dtr100,2851 -#define r_str(r_str101,2917 -#define w_ctr(w_ctr102,2985 -#define w_dtr(w_dtr103,3060 -outbyte(108,3228 -inbyte(114,3303 -init_ti_parallel(120,3369 -#define START(START127,3498 -#define WAIT(WAIT128,3554 -put_ti_parallel(144,4189 -get_ti_parallel(188,4881 -probe_ti_parallel(228,5568 -tipar_open(251,6027 -tipar_close(269,6393 -tipar_write(282,6602 -tipar_read(309,7113 -tipar_ioctl(357,7972 -static struct file_operations tipar_fops 382,8482 -tipar_setup(398,8929 -tipar_register(425,9523 -tipar_attach(469,10565 -tipar_detach(481,10771 -static struct parport_driver tipar_driver 486,10832 -tipar_init_module(493,10961 -tipar_cleanup_module(530,11701 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/riscom8_reg.h,4171 -#define RC_TO_ISA(RC_TO_ISA16,432 -#define RC_RI 21,561 -#define RC_DTR 22,639 -#define RC_BSR 23,717 -#define RC_CTOUT 24,795 -#define RC_BSR_TOUT 29,904 -#define RC_BSR_RINT 30,982 -#define RC_BSR_TINT 31,1060 -#define RC_BSR_MINT 32,1138 -#define RC_OSCFREQ 36,1262 -#define RC_ACK_MINT 39,1337 -#define RC_ACK_RINT 40,1415 -#define RC_ACK_TINT 41,1493 -#define RC_ID 44,1613 -#define CD180_NCH 48,1711 -#define CD180_TPC 49,1789 -#define CD180_NFIFO 50,1867 -#define CD180_GIVR 55,1961 -#define CD180_GICR 56,2039 -#define CD180_PILR1 57,2117 -#define CD180_PILR2 58,2195 -#define CD180_PILR3 59,2273 -#define CD180_CAR 60,2351 -#define CD180_GFRCR 61,2429 -#define CD180_PPRH 62,2507 -#define CD180_PPRL 63,2585 -#define CD180_RDR 64,2663 -#define CD180_RCSR 65,2741 -#define CD180_TDR 66,2819 -#define CD180_EOIR 67,2897 -#define CD180_CCR 72,3002 -#define CD180_IER 73,3080 -#define CD180_COR1 74,3158 -#define CD180_COR2 75,3236 -#define CD180_COR3 76,3314 -#define CD180_CCSR 77,3392 -#define CD180_RDCR 78,3470 -#define CD180_SCHR1 79,3548 -#define CD180_SCHR2 80,3626 -#define CD180_SCHR3 81,3704 -#define CD180_SCHR4 82,3782 -#define CD180_MCOR1 83,3860 -#define CD180_MCOR2 84,3938 -#define CD180_MCR 85,4016 -#define CD180_RTPR 86,4094 -#define CD180_MSVR 87,4172 -#define CD180_RBPRH 88,4250 -#define CD180_RBPRL 89,4328 -#define CD180_TBPRH 90,4406 -#define CD180_TBPRL 91,4484 -#define GIVR_ITMASK 96,4610 -#define GIVR_IT_MODEM 97,4689 -#define GIVR_IT_TX 98,4768 -#define GIVR_IT_RCV 99,4847 -#define GIVR_IT_REXC 100,4926 -#define GICR_CHAN 105,5055 -#define GICR_CHAN_OFF 106,5133 -#define CAR_CHAN 111,5251 -#define CAR_A7 112,5329 -#define RCSR_TOUT 117,5456 -#define RCSR_SCDET 118,5534 -#define RCSR_NO_SC 119,5612 -#define RCSR_SC_1 120,5690 -#define RCSR_SC_2 121,5768 -#define RCSR_SC_3 122,5846 -#define RCSR_SC_4 123,5924 -#define RCSR_BREAK 124,6002 -#define RCSR_PE 125,6080 -#define RCSR_FE 126,6158 -#define RCSR_OE 127,6236 -#define CCR_HARDRESET 132,6388 -#define CCR_SOFTRESET 134,6467 -#define CCR_CORCHG1 136,6546 -#define CCR_CORCHG2 137,6624 -#define CCR_CORCHG3 138,6702 -#define CCR_SSCH1 140,6781 -#define CCR_SSCH2 142,6860 -#define CCR_SSCH3 144,6939 -#define CCR_SSCH4 146,7018 -#define CCR_TXEN 148,7097 -#define CCR_RXEN 149,7175 -#define CCR_TXDIS 151,7254 -#define CCR_RXDIS 152,7332 -#define IER_DSR 157,7451 -#define IER_CD 158,7529 -#define IER_CTS 159,7607 -#define IER_RXD 160,7685 -#define IER_RXSC 161,7763 -#define IER_TXRDY 162,7841 -#define IER_TXEMPTY 163,7919 -#define IER_RET 164,7997 -#define COR1_ODDP 169,8116 -#define COR1_PARMODE 170,8194 -#define COR1_NOPAR 171,8272 -#define COR1_FORCEPAR 172,8350 -#define COR1_NORMPAR 173,8428 -#define COR1_IGNORE 174,8506 -#define COR1_STOPBITS 175,8584 -#define COR1_1SB 176,8662 -#define COR1_15SB 177,8740 -#define COR1_2SB 178,8818 -#define COR1_CHARLEN 179,8896 -#define COR1_5BITS 180,8974 -#define COR1_6BITS 181,9052 -#define COR1_7BITS 182,9130 -#define COR1_8BITS 183,9208 -#define COR2_IXM 188,9327 -#define COR2_TXIBE 189,9405 -#define COR2_ETC 190,9483 -#define COR2_LLM 191,9561 -#define COR2_RLM 192,9639 -#define COR2_RTSAO 193,9717 -#define COR2_CTSAE 194,9795 -#define COR2_DSRAE 195,9873 -#define COR3_XONCH 200,9992 -#define COR3_XOFFCH 201,10070 -#define COR3_FCT 202,10148 -#define COR3_SCDE 203,10226 -#define COR3_RXTH 204,10304 -#define CCSR_RXEN 209,10429 -#define CCSR_RXFLOFF 210,10507 -#define CCSR_RXFLON 211,10585 -#define CCSR_TXEN 212,10663 -#define CCSR_TXFLOFF 213,10741 -#define CCSR_TXFLON 214,10819 -#define MCOR1_DSRZD 219,10943 -#define MCOR1_CDZD 220,11021 -#define MCOR1_CTSZD 221,11099 -#define MCOR1_DTRTH 222,11177 -#define MCOR1_NODTRFC 223,11255 -#define MCOR2_DSROD 228,11380 -#define MCOR2_CDOD 229,11458 -#define MCOR2_CTSOD 230,11536 -#define MCR_DSRCHG 235,11651 -#define MCR_CDCHG 236,11729 -#define MCR_CTSCHG 237,11807 -#define MSVR_DSR 242,11928 -#define MSVR_CD 243,12006 -#define MSVR_CTS 244,12084 -#define MSVR_DTR 245,12162 -#define MSVR_RTS 246,12240 -#define CD180_C_ESC 251,12345 -#define CD180_C_SBRK 252,12423 -#define CD180_C_DELAY 253,12501 -#define CD180_C_EBRK 254,12579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sx.c,4936 -#define RCS_ID 203,7306 -#define RCS_REV 204,7378 -#define BYTE 232,8045 -#define WORD 233,8061 -#define _u8 236,8131 -#define _u16 237,8146 -#define PCI_DEVICE_ID_SPECIALIX_SX_XIO_IO8 251,8481 -static struct pci_device_id sx_pci_tbl[255,8557 -#define IRQ_RATE_LIMIT 273,9166 -#define SX_REPORT_FIFO289,9691 -#define SX_REPORT_OVERRUN290,9714 -static struct tty_driver *sx_driver;311,10458 -static struct sx_board boards[313,10496 -static struct sx_port *sx_ports;314,10539 -static int sx_initialized;315,10572 -static int sx_nports;316,10599 -static int sx_debug;317,10621 -static int sx_poll 328,11033 -static int sx_slowpoll;329,11057 -static int sx_maxints 336,11247 -static int sx_probe_addrs[342,11435 -static int si_probe_addrs[344,11551 -static int si1_probe_addrs[346,11676 -#define NR_SX_ADDRS 348,11719 -#define NR_SI_ADDRS 349,11777 -#define NR_SI1_ADDRS 350,11835 -static int sx_irqmask 355,12007 -static struct real_driver sx_real_driver 367,12275 -#define DEBUG388,12897 -#define sx_dprintk(sx_dprintk392,12926 -#define sx_dprintk(sx_dprintk394,12993 -#define func_enter(func_enter399,13047 -#define func_exit(func_exit400,13126 -#define func_enter2(func_enter2402,13207 -static struct file_operations sx_fw_fops 413,13378 -static struct miscdevice sx_fw_device 418,13475 -static inline int sx_paranoia_check(430,13653 -#define sx_paranoia_check(sx_paranoia_check451,14128 -#define TIMEOUT_1 458,14376 -#define TIMEOUT_2 459,14397 -static void my_hd 463,14438 -static inline void write_sx_byte 485,14818 -static inline u8 read_sx_byte 490,14938 -static inline void write_sx_word 496,15047 -static inline u16 read_sx_word 501,15168 -static int sx_busy_wait_eq 507,15280 -static int sx_busy_wait_neq 533,15728 -static int sx_reset 561,16196 -#define OFFSETOF(OFFSETOF598,17484 -#define CHAN_OFFSET(CHAN_OFFSET601,17556 -#define MODU_OFFSET(MODU_OFFSET602,17633 -#define BRD_OFFSET(BRD_OFFSET603,17709 -#define sx_write_channel_byte(sx_write_channel_byte606,17785 -#define sx_read_channel_byte(sx_read_channel_byte609,17897 -#define sx_write_channel_word(sx_write_channel_word612,17997 -#define sx_read_channel_word(sx_read_channel_word615,18109 -#define sx_write_module_byte(sx_write_module_byte619,18210 -#define sx_read_module_byte(sx_read_module_byte622,18329 -#define sx_write_module_word(sx_write_module_word625,18436 -#define sx_read_module_word(sx_read_module_word628,18555 -#define sx_write_board_byte(sx_write_board_byte632,18663 -#define sx_read_board_byte(sx_read_board_byte635,18768 -#define sx_write_board_word(sx_write_board_word638,18861 -#define sx_read_board_word(sx_read_board_word641,18966 -static int sx_start_board 645,19060 -#define SX_IRQ_REG_VAL(SX_IRQ_REG_VAL664,19713 -static int sx_start_interrupts 669,19949 -static int sx_send_command 699,20916 -static char *mod_type_s 709,21220 -static char *pan_type_s 723,21534 -static int mod_compat_type 741,22122 -static void sx_reconfigure_port(746,22198 -static void sx_setsignals 759,22646 -static int sx_getsignals 775,23020 -static void sx_set_baud 798,23741 -#define e(e805,23902 -#define e(e835,24926 -static int sx_set_real_termios 879,25987 -#define CFLAG 896,26398 -static void sx_transmit_chars 984,29900 -static inline void sx_receive_chars 1064,32282 -static inline void sx_check_modem_signals 1131,34359 -static irqreturn_t sx_interrupt 1185,36030 -static void sx_pollfunc 1287,38865 -static void sx_disable_tx_interrupts 1312,39563 -static void sx_enable_tx_interrupts 1323,39715 -static void sx_disable_rx_interrupts 1345,40344 -static void sx_enable_rx_interrupts 1353,40466 -static int sx_get_CD 1363,40619 -static int sx_chars_in_buffer 1374,40813 -static void sx_shutdown_port 1385,41034 -static int sx_open 1409,41613 -static void sx_close 1489,43419 -#define MARCHUP 1530,44530 -#define MARCHDOWN 1531,44572 -#define W0 1532,44616 -#define W1 1533,44666 -#define R0 1534,44716 -#define R1 1535,44781 -static int do_memtest 1539,44968 -#define MARCHUP 1565,45526 -#define MARCHDOWN 1566,45569 -#define W0 1567,45614 -#define W1 1568,45666 -#define R0 1569,45718 -#define R1 1570,45785 -static int do_memtest_w 1575,45980 -static int sx_fw_ioctl 1590,46202 -static void sx_break 1732,50354 -static int sx_tiocmget(1746,50734 -static int sx_tiocmset(1752,50876 -static int sx_ioctl 1772,51270 -static void sx_throttle 1827,53023 -static void sx_unthrottle 1842,53358 -static int sx_init_board 1864,53931 -static void printheader(2028,59273 -static int probe_sx 2041,59533 -static int probe_si 2119,61839 -static struct tty_operations sx_ops 2198,64003 -static int sx_init_drivers(2219,64511 -static void * ckmalloc 2251,65279 -static int sx_init_portstructs 2262,65404 -static void __exit sx_release_drivers(2339,67608 -static void fix_sx_pci 2359,68319 -#define CNTRL_REG_OFFSET 2365,68454 -#define CNTRL_REG_GOODVALUE 2366,68491 -static int __init sx_init(2381,68942 -static void __exit sx_exit 2553,73806 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/vt.c,5880 -const struct consw *conswitchp;113,3461 -#define CTRL_ACTION 120,3744 -#define CTRL_ALWAYS 121,3775 -#define DEFAULT_BELL_PITCH 126,3919 -#define DEFAULT_BELL_DURATION 127,3950 -struct vc vc_cons 140,4267 -static const struct consw *con_driver_map[143,4330 -static int printable;159,4976 -static int ignore_poke;165,5170 -int do_poke_blanked_console;167,5195 -int console_blanked;168,5224 -static int vesa_blank_mode;170,5246 -static int blankinterval 171,5321 -static int vesa_off_interval;172,5358 -int fg_console;182,5646 -int last_console;183,5662 -int want_console 184,5680 -int kmsg_redirect;185,5703 -static struct vc_data *master_display_fg;193,6012 -static int scrollback_delta;205,6396 -static struct timer_list console_timer;213,6556 -static int blank_state;214,6596 -static int blank_timer_expired;215,6620 - blank_off 217,6659 - blank_normal_wait,218,6675 - blank_vesa_wait,219,6695 -#define IS_FG 226,6748 -#define IS_VISIBLE 227,6787 -#define DO_UPDATE 230,6867 -#define DO_UPDATE 232,6893 -static struct pm_dev *pm_con;236,7008 -static inline unsigned short *screenpos(238,7039 -static inline void scrolldelta(251,7355 -void schedule_console_callback(257,7460 -static void scrup(262,7533 -scrdown(279,8060 -static void do_update_region(296,8522 -void update_region(342,9515 -static u8 build_attr(355,9779 -static void update_attr(397,10850 -void invert_screen(405,11138 -void complement_pos(450,12089 -static void insert_char(479,12710 -static void delete_char(500,13243 -static int softcursor_original;524,13821 -static void add_softcursor(526,13854 -static void hide_softcursor(543,14361 -static void hide_cursor(553,14602 -static void set_cursor(561,14768 -static void set_origin(575,15088 -static inline void save_screen(588,15392 -static void clear_buffer_attributes(600,15570 -void redraw_screen(611,15841 -int vc_cons_allocated(677,17462 -static void visual_init(682,17552 -int vc_allocate(708,18371 -inline int resize_screen(756,19907 -#define VC_RESIZE_MAXCOL 771,20351 -#define VC_RESIZE_MAXROW 772,20384 -int vc_resize(773,20417 -void vc_disallocate(867,22968 -#define set_kbd(set_kbd885,23291 -#define clr_kbd(clr_kbd886,23348 -#define is_kbd(is_kbd887,23405 -#define decarm 889,23458 -#define decckm 890,23484 -#define kbdapplic 891,23510 -#define lnm 892,23538 -#define VT100ID 897,23631 -#define VT102ID 898,23660 -unsigned char color_table[900,23688 -int default_red[904,23838 -int default_grn[906,23946 -int default_blu[908,24054 -static void gotoxy(916,24346 -static void gotoxay(945,24846 -void scrollback(950,24962 -void scrollfront(959,25087 -static void lf(968,25212 -static void ri(982,25488 -static inline void cr(996,25734 -static inline void bs(1002,25809 -static inline void del(1011,25899 -static void csi_J(1016,25956 -static void csi_K(1060,27100 -static void csi_X(1094,27951 -static void default_attr(1108,28321 -static void csi_m(1118,28469 -static void respond_string(1213,30582 -static void cursor_report(1222,30738 -static inline void status_report(1230,30910 -static inline void respond_ID(1235,31023 -void mouse_report(1240,31114 -int mouse_reporting(1250,31383 -static void set_mode(1258,31491 -static void setterm_command(1324,33025 -static void csi_at(1382,34550 -static void csi_L(1392,34747 -static void csi_P(1403,34959 -static void csi_M(1413,35155 -static void save_cur(1424,35399 -static void restore_cur(1439,35677 -enum { ESnormal,1455,36051 -enum { ESnormal, ESesc,1455,36051 -enum { ESnormal, ESesc, ESsquare,1455,36051 -enum { ESnormal, ESesc, ESsquare, ESgetpars,1455,36051 -enum { ESnormal, ESesc, ESsquare, ESgetpars, ESgotpars,1455,36051 -enum { ESnormal, ESesc, ESsquare, ESgetpars, ESgotpars, ESfunckey,1455,36051 - EShash,1456,36118 - EShash, ESsetG0,1456,36118 - EShash, ESsetG0, ESsetG1,1456,36118 - EShash, ESsetG0, ESsetG1, ESpercent,1456,36118 - EShash, ESsetG0, ESsetG1, ESpercent, ESignore,1456,36118 - EShash, ESsetG0, ESsetG1, ESpercent, ESignore, ESnonstd,1456,36118 - ESpalette 1457,36176 -static void reset_terminal(1460,36240 -static void do_con_trol(1517,37464 -char con_buf[1893,45014 -static int do_con_write(1897,45098 -#define FLUSH 1901,45227 -#define FLUSH 1903,45264 -static void console_callback(2131,51221 -void set_console(2165,52048 -struct tty_driver *console_driver;2171,52128 -void vt_console_print(2181,52280 -static struct tty_driver *vt_console_device(2272,54179 -struct console vt_console_driver 2278,54329 -int tioclinux(2303,54876 -static int con_write(2390,56721 -static void con_put_char(2402,56956 -static int con_write_room(2410,57164 -static int con_chars_in_buffer(2417,57309 -static void con_throttle(2427,57546 -static void con_unthrottle(2431,57600 -static void con_stop(2441,57802 -static void con_start(2456,58102 -static void con_flush_chars(2468,58336 -static int con_open(2488,58701 -static void con_close(2521,59571 -static void vc_init(2545,60071 -static int __init con_init(2576,60957 -static struct tty_operations con_ops 2634,62403 -int __init vty_init(2649,62759 -int take_over_console(2688,63799 -void give_up_console(2763,65487 -static void set_vesa_blanking(2780,65714 -static void vesa_powerdown(2790,65904 -void do_blank_screen(2810,66460 -void do_unblank_screen(2872,67718 -void unblank_screen(2911,68792 -static void blank_screen_t(2921,69089 -void poke_blanked_console(2927,69199 -void set_palette(2951,69740 -static int set_get_cmap(2959,69888 -int con_set_cmap(2994,70746 -int con_get_cmap(3005,70894 -void reset_palette(3016,71042 -#define max_font_size 3040,71813 -int con_font_get(3042,71842 -int con_font_set(3093,72828 -int con_font_default(3150,74215 -int con_font_copy(3180,74862 -int con_font_op(3203,75334 -u16 screen_glyph(3223,75762 -unsigned short *screen_pos(3234,75971 -void getconsxy(3239,76094 -void putconsxy(3245,76168 -u16 vcs_scr_readw(3251,76274 -void vcs_scr_writew(3258,76442 -static int pm_con_request(3267,76616 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ds1620.c,1445 -#define THERM_USE_PROC22,529 -#define THERM_START_CONVERT 26,594 -#define THERM_RESET 27,627 -#define THERM_READ_CONFIG 28,653 -#define THERM_READ_TEMP 29,684 -#define THERM_READ_TL 30,714 -#define THERM_READ_TH 31,742 -#define THERM_WRITE_CONFIG 32,770 -#define THERM_WRITE_TL 33,802 -#define THERM_WRITE_TH 34,831 -#define CFG_CPU 36,861 -#define CFG_1SHOT 37,881 -static const char *fan_state[39,903 -static inline void netwinder_ds1620_set_clk(51,1307 -static inline void netwinder_ds1620_set_data(56,1416 -static inline int netwinder_ds1620_get_data(61,1524 -static inline void netwinder_ds1620_set_data_dir(66,1612 -static inline void netwinder_ds1620_reset(71,1724 -static inline void netwinder_lock(77,1856 -static inline void netwinder_unlock(82,1957 -static inline void netwinder_set_fan(87,2065 -static inline int netwinder_get_fan(96,2265 -static void ds1620_send_bits(108,2466 -static unsigned int ds1620_recv_bits(123,2703 -static void ds1620_out(146,3034 -static unsigned int ds1620_in(170,3448 -static int cvt_9_to_int(193,3844 -static void ds1620_write_state(201,3944 -static void ds1620_read_state(209,4172 -ds1620_read(216,4355 -ds1620_ioctl(233,4720 -proc_therm_ds1620_read(319,6302 -static struct proc_dir_entry *proc_therm_ds1620;338,6791 -static struct file_operations ds1620_fops 341,6848 -static struct miscdevice ds1620_miscdev 348,6998 -static int __init ds1620_init(354,7082 -static void __exit ds1620_exit(405,8231 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/riscom8.h,506 -#define __LINUX_RISCOM8_H29,1265 -#define RC_NBOARD 35,1338 -#define RC_NPORT 37,1413 -#define RC_BOARD(RC_BOARD38,1442 -#define RC_PORT(RC_PORT39,1489 -#define RISCOM_TPS 42,1611 -#define RISCOM_RXFIFO 47,1732 -#define RISCOM8_MAGIC 49,1794 -#define RC_IOBASE1 51,1825 -#define RC_IOBASE2 52,1850 -#define RC_IOBASE3 53,1875 -#define RC_IOBASE4 54,1900 -struct riscom_board riscom_board56,1926 -#define RC_BOARD_PRESENT 64,2061 -#define RC_BOARD_ACTIVE 65,2097 -struct riscom_port riscom_port67,2135 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/nwbutton.c,761 -#define __NWBUTTON_C 24,488 -static int button_press_count;27,571 -static struct timer_list button_timer;28,637 -static char button_output_buffer[30,795 -static int bcount;31,874 -static int bdelay 32,935 -static struct button_callback button_callback_list[33,997 -static int callback_count;34,1077 -static int reboot_count 35,1146 -int button_add_callback 54,2116 -int button_del_callback 82,3103 -static void button_consume_callbacks 108,3794 -static void button_sequence_finished 128,4406 -static irqreturn_t button_handler 149,5250 -static int button_read 173,6048 -static struct file_operations button_fops 187,6488 -static struct miscdevice button_misc_device 198,6805 -static int __init nwbutton_init(213,7287 -static void __exit nwbutton_exit 237,7907 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sxwindow.h,5927 -#define _sxwindow_h 29,785 -typedef struct _SXCARD *PSXCARD;PSXCARD37,1207 -typedef struct _SXMODULE *PMOD;PMOD38,1272 -typedef struct _SXCHANNEL *PCHAN;PCHAN39,1338 -typedef struct _SXCARD_SXCARD47,1804 -} SXCARD;SXCARD60,2415 -#define ADAPTERS_FOUND 63,2469 -#define NO_ADAPTERS_FOUND 64,2505 -#define SX_MEMORY_SIZE 67,2584 -#define INT_COUNT_DEFAULT 70,2662 -#define TOP_POINTER(TOP_POINTER78,3099 -#define UNTOP_POINTER(UNTOP_POINTER79,3163 -typedef struct _SXMODULE_SXMODULE81,3232 -} SXMODULE;SXMODULE105,4509 -#define FOUR_PORTS 108,4560 -#define EIGHT_PORTS 109,4588 -#define CHIP_MASK 112,4656 -#define TA 113,4680 -#define TA4 114,4701 -#define TA8 115,4733 -#define TA4_ASIC 116,4766 -#define TA8_ASIC 117,4795 -#define MTA_CD1400 118,4824 -#define SXDC 119,4855 -#define MOD_RS232DB25 122,4920 -#define MOD_RS232RJ45 123,4980 -#define MOD_RESERVED_2 124,5051 -#define MOD_RS422DB25 125,5104 -#define MOD_RESERVED_4 126,5157 -#define MOD_PARALLEL 127,5202 -#define MOD_RESERVED_6 128,5245 -#define MOD_RESERVED_7 129,5298 -#define MOD_2_RS232DB25 130,5343 -#define MOD_2_RS232RJ45 131,5413 -#define MOD_RESERVED_A 132,5469 -#define MOD_2_RS422DB25 133,5522 -#define MOD_RESERVED_C 134,5578 -#define MOD_2_PARALLEL 135,5631 -#define MOD_RESERVED_E 136,5684 -#define MOD_BLANK 137,5737 -#define TX_BUFF_OFFSET 145,6177 -#define BUFF_POINTER(BUFF_POINTER146,6257 -#define UNBUFF_POINTER(UNBUFF_POINTER147,6313 -#define BUFFER_SIZE 148,6386 -#define HIGH_WATER 149,6412 -#define LOW_WATER 150,6457 -typedef struct _SXCHANNEL_SXCHANNEL152,6496 -} SXCHANNEL;SXCHANNEL217,10161 -#define FASTPATH 220,10216 -#define X_TANY 223,10338 -#define X_TION 224,10400 -#define X_TXEN 225,10459 -#define X_RTSEN 226,10520 -#define X_TXRC 227,10580 -#define X_RTSLOW 228,10635 -#define X_RXEN 229,10690 -#define X_ANYXO 230,10741 -#define X_RXSE 231,10806 -#define X_NPEND 232,10850 -#define X_FPEND 233,10913 -#define C_CRSE 234,10961 -#define C_TEMR 235,11023 -#define C_TEMA 236,11084 -#define C_ANYP 237,11141 -#define C_EN 238,11211 -#define C_HIGH 239,11286 -#define C_CTSEN 240,11350 -#define C_DCDEN 241,11417 -#define C_BREAK 242,11474 -#define C_RTSEN 243,11521 -#define C_PARITY 244,11599 -#define HS_IDLE_OPEN 247,11706 -#define HS_LOPEN 248,11759 -#define HS_MOPEN 249,11830 -#define HS_IDLE_MPEND 250,11901 -#define HS_CONFIG 251,11965 -#define HS_CLOSE 252,12018 -#define HS_START 253,12062 -#define HS_STOP 254,12121 -#define HS_IDLE_CLOSED 255,12179 -#define HS_IDLE_BREAK 256,12236 -#define HS_FORCE_CLOSED 257,12292 -#define HS_RESUME 258,12349 -#define HS_WFLUSH 259,12407 -#define HS_RFLUSH 260,12468 -#define HS_SUSPEND 261,12528 -#define PARALLEL 262,12604 -#define ENABLE_RX_INTS 263,12689 -#define ENABLE_TX_INTS 264,12778 -#define ENABLE_MDM_INTS 265,12868 -#define DISABLE_INTS 266,12956 -#define MR1_BITS 269,13075 -#define MR1_5_BITS 270,13120 -#define MR1_6_BITS 271,13164 -#define MR1_7_BITS 272,13208 -#define MR1_8_BITS 273,13252 -#define MR1_PARITY 274,13296 -#define MR1_ODD 275,13340 -#define MR1_EVEN 276,13381 -#define MR1_WITH 277,13423 -#define MR1_FORCE 278,13468 -#define MR1_NONE 279,13512 -#define MR1_NOPARITY 280,13552 -#define MR1_ODDPARITY 281,13600 -#define MR1_EVENPARITY 282,13659 -#define MR1_MARKPARITY 283,13721 -#define MR1_SPACEPARITY 284,13783 -#define MR1_RTS_RXFLOW 285,13848 -#define MR2_STOP 288,13948 -#define MR2_1_STOP 289,13993 -#define MR2_2_STOP 290,14036 -#define MR2_CTS_TXFLOW 291,14080 -#define MR2_RTS_TOGGLE 292,14142 -#define MR2_NORMAL 293,14201 -#define MR2_AUTO 294,14245 -#define MR2_LOCAL 295,14300 -#define MR2_REMOTE 296,14347 -#define CSR_75 299,14445 -#define CSR_110 300,14484 -#define CSR_38400 301,14548 -#define CSR_150 302,14589 -#define CSR_300 303,14629 -#define CSR_600 304,14669 -#define CSR_1200 305,14709 -#define CSR_2000 306,14749 -#define CSR_2400 307,14789 -#define CSR_4800 308,14829 -#define CSR_1800 309,14869 -#define CSR_9600 310,14909 -#define CSR_19200 311,14949 -#define CSR_57600 312,14990 -#define CSR_EXTBAUD 313,15031 -#define OP_RTS 316,15142 -#define OP_DTR 317,15195 -#define IP_CTS 320,15286 -#define IP_DCD 321,15338 -#define IP_DSR 322,15390 -#define IP_RI 323,15442 -#define ST_BREAK 326,15533 -#define ST_DCD 327,15598 -#define SP_TANY 330,15693 -#define SP_TXEN 331,15762 -#define SP_CEN 332,15823 -#define SP_RXEN 333,15868 -#define SP_DCEN 334,15918 -#define SP_DTR_RXFLOW 335,15964 -#define SP_PAEN 336,16024 -#define BR_IGN 339,16119 -#define BR_INT 340,16175 -#define BR_PARMRK 341,16232 -#define BR_PARIGN 342,16301 -#define BR_ERRINT 343,16364 -#define DIAG_IRQ_RX 346,16486 -#define DIAG_IRQ_TX 347,16566 -#define DIAG_IRQ_MD 348,16647 -#define BAUD_75 351,16789 -#define BAUD_115200 352,16831 -#define BAUD_38400 353,16876 -#define BAUD_150 354,16920 -#define BAUD_300 355,16962 -#define BAUD_600 356,17004 -#define BAUD_1200 357,17046 -#define BAUD_2000 358,17089 -#define BAUD_2400 359,17132 -#define BAUD_4800 360,17175 -#define BAUD_1800 361,17218 -#define BAUD_9600 362,17261 -#define BAUD_19200 363,17304 -#define BAUD_57600 364,17348 -#define BAUD_230400 365,17392 -#define BAUD_460800 366,17437 -#define BAUD_921600 367,17482 -#define BAUD_50 368,17527 -#define BAUD_110 369,17572 -#define BAUD_134_5 370,17614 -#define BAUD_200 371,17658 -#define BAUD_7200 372,17700 -#define BAUD_56000 373,17743 -#define BAUD_64000 374,17787 -#define BAUD_76800 375,17831 -#define BAUD_128000 376,17875 -#define BAUD_150000 377,17920 -#define BAUD_14400 378,17965 -#define BAUD_256000 379,18009 -#define BAUD_28800 380,18054 -#define TXBREAK_OFF 383,18143 -#define TXBREAK_START 384,18191 -#define TXBREAK_START1 385,18243 -#define TXBREAK_ON 386,18304 -#define TXBREAK_STOP 387,18347 -#define TXBREAK_STOP1 388,18397 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hvcs.c,3406 -#define HVCS_DRIVER_VERSION 131,6904 -#define HVCS_CLOSE_WAIT 142,7277 -#define HVCS_DEFAULT_SERVER_ADAPTERS 152,7792 -#define HVCS_MAX_SERVER_ADAPTERS 159,8029 -#define HVCS_MINOR_START 167,8343 -#define __ALIGNED__ 175,8674 -#define HVCS_BUFF_LEN 181,8863 -#define HVCS_MAX_FROM_USER 187,9015 -static struct termios hvcs_tty_termios 194,9249 -static int hvcs_parm_num_devs 207,9686 -char hvcs_driver_name[210,9765 -char hvcs_device_node[211,9799 -char hvcs_driver_string[212,9833 -static int hvcs_rescan_status;216,9975 -static struct tty_driver *hvcs_tty_driver;218,10007 -static int *hvcs_index_list;233,10863 -static int hvcs_index_count;239,10996 -static int hvcs_kicked;245,11177 -static struct task_struct *hvcs_task;251,11322 -static unsigned long *hvcs_pi_buff;257,11460 -static spinlock_t hvcs_pi_lock 260,11565 -struct hvcs_struct hvcs_struct263,11656 -#define from_kobj(from_kobj308,13170 -static struct list_head hvcs_structs 310,13240 -static spinlock_t hvcs_structs_lock 311,13309 -#define HVCS_SCHED_READ 351,14932 -#define HVCS_QUICK_READ 352,14967 -#define HVCS_TRY_WRITE 353,15002 -#define HVCS_READ_MASK 354,15036 -static void hvcs_kick(356,15096 -static void hvcs_unthrottle(363,15184 -static void hvcs_throttle(374,15450 -static irqreturn_t hvcs_handle_interrupt(389,15921 -static void hvcs_try_write(404,16291 -static int hvcs_io(434,17000 -static int khvcsd(491,18328 -static struct vio_device_id hvcs_driver_table[528,19114 -static struct vio_device_id hvcs_driver_table[] __devinitdata=528,19114 -static void hvcs_return_index(534,19267 -static void destroy_hvcs_struct(548,19560 -static struct kobj_type hvcs_kobj_type 587,20533 -static int hvcs_get_index(591,20613 -static int __devinit hvcs_probe(609,20971 -static int __devexit hvcs_remove(683,22671 -static struct vio_driver hvcs_vio_driver 722,23577 -static void hvcs_set_pi(730,23776 -static int hvcs_get_pi(758,24893 -static int hvcs_rescan_devices_list(793,25767 -static int hvcs_has_pi(816,26294 -static int hvcs_partner_connect(829,26621 -static void hvcs_partner_free(880,28043 -static int hvcs_enable_device(890,28307 -struct hvcs_struct *hvcs_get_by_index(932,29502 -static int hvcs_open(961,30235 -static void hvcs_close(1060,32732 -static void hvcs_hangup(1122,34261 -static int hvcs_write(1186,36131 -static int hvcs_write_room(1309,39220 -static int hvcs_chars_in_buffer(1319,39424 -static struct tty_operations hvcs_ops 1326,39565 -static int hvcs_alloc_index_list(1337,39833 -static void hvcs_free_index_list(1349,40096 -static int __init hvcs_module_init(1359,40281 -static void __exit hvcs_module_exit(1446,42631 -static inline struct hvcs_struct *from_vio_dev(1480,43330 -static ssize_t hvcs_partner_vtys_show(1486,43488 -static ssize_t hvcs_partner_clcs_show(1500,43919 -static ssize_t hvcs_current_vty_store(1514,44355 -static ssize_t hvcs_current_vty_show(1525,44650 -static ssize_t hvcs_vterm_state_store(1541,45113 -static ssize_t hvcs_vterm_state_show(1579,46165 -static ssize_t hvcs_index_show(1594,46618 -static struct attribute *hvcs_attrs[1609,47020 -static struct attribute_group hvcs_attr_group 1618,47214 -static void hvcs_create_device_attrs(1622,47290 -static void hvcs_remove_device_attrs(1628,47452 -static ssize_t hvcs_rescan_show(1633,47572 -static ssize_t hvcs_rescan_store(1639,47772 -static void hvcs_create_driver_attrs(1656,48221 -static void hvcs_remove_driver_attrs(1662,48382 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/snsc.h,140 -#define _SN_SYSCTL_H_17,450 -#define CHUNKSIZE 28,677 -struct subch_data_s subch_data_s31,758 -struct sysctl_data_s sysctl_data_s45,1300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hpet.c,1976 -#define HPET_USER_FREQ 49,1262 -#define HPET_DRIFT 50,1290 -static u32 hpet_ntimer,52,1316 -static u32 hpet_ntimer, hpet_nhpet,52,1316 -static u32 hpet_ntimer, hpet_nhpet, hpet_max_freq 52,1316 -static spinlock_t hpet_lock 55,1450 -static spinlock_t hpet_task_lock 57,1578 -#define HPET_DEV_NAME 59,1634 -struct hpet_dev hpet_dev61,1661 -struct hpets hpets76,2033 -static struct hpets *hpets;86,2235 -#define HPET_OPEN 88,2264 -#define HPET_IE 89,2290 -#define HPET_PERIODIC 90,2339 -#define write_counter(write_counter93,2394 -#define read_counter(read_counter94,2437 -#define write_counter(write_counter96,2478 -#define read_counter(read_counter97,2522 -static unsigned long long __inline readq(101,2579 -static void __inline writeq(108,2738 -static irqreturn_t hpet_interrupt(115,2879 -static int hpet_open(154,3814 -hpet_read(189,4487 -static unsigned int hpet_poll(235,5412 -static int hpet_mmap(257,5778 -static int hpet_fasync(288,6435 -static int hpet_release(300,6647 -hpet_ioctl(344,7548 -static int hpet_ioctl_ieon(353,7744 -static inline unsigned long hpet_time_div(426,9398 -hpet_ioctl_common(436,9565 -static struct file_operations hpet_fops 529,11535 -int hpet_register(546,11899 -static inline int hpet_tpcheck(596,12817 -int hpet_unregister(615,13179 -int hpet_control(645,13794 -static struct time_interpolator hpet_interpolator 665,14196 -static ctl_table hpet_table[673,14337 -static ctl_table hpet_root[685,14549 -static ctl_table dev_root[696,14704 -static struct ctl_table_header *sysctl_header;707,14862 -#define TICK_CALIBRATE 714,15056 -static unsigned long __init hpet_calibrate(716,15089 -int __init hpet_alloc(753,15883 -static acpi_status __init hpet_resources(862,18514 -static int __init hpet_acpi_add(902,19471 -static int __init hpet_acpi_remove(924,19912 -static struct acpi_driver hpet_acpi_driver 929,20001 -static struct miscdevice hpet_misc 938,20157 -static int __init hpet_init(940,20231 -static void __exit hpet_exit(967,20839 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/nwflash.c,796 -#define NWFLASH_VERSION 41,1208 -#define KFLASH_SIZE 48,1412 -#define KFLASH_SIZE4 49,1450 -#define KFLASH_ID 50,1491 -#define KFLASH_ID4 51,1531 -static int flashdebug;53,1578 -static int gbWriteEnable;55,1644 -static int gbWriteBase64Enable;56,1670 -static volatile unsigned char *FLASH_BASE;57,1702 -static int gbFlashSize 58,1745 -static int get_flash_id(63,1849 -static int flash_ioctl(98,2505 -static ssize_t flash_read(122,2925 -static ssize_t flash_write(157,3640 -static loff_t flash_llseek(294,6375 -static int erase_block(343,7218 -static int write_block(453,9331 -static void kick_open(626,12572 -static struct file_operations flash_fops 644,12921 -static struct miscdevice flash_miscdev 653,13090 -static int __init nwflash_init(660,13176 -static void __exit nwflash_exit(691,13801 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/synclink.c,16006 -#define VERSION(VERSION56,2285 -# define BREAKPOINT(BREAKPOINT58,2371 -# define BREAKPOINT(BREAKPOINT60,2418 -#define MAX_ISA_DEVICES 63,2453 -#define MAX_PCI_DEVICES 64,2480 -#define MAX_TOTAL_DEVICES 65,2507 -#define CONFIG_HDLC 106,3392 -#define GET_USER(GET_USER109,3422 -#define COPY_FROM_USER(COPY_FROM_USER110,3486 -#define PUT_USER(PUT_USER111,3582 -#define COPY_TO_USER(COPY_TO_USER112,3646 -#define RCLRVALUE 118,3794 -MGSL_PARAMS default_params 120,3820 -#define SHARED_MEM_ADDRESS_SIZE 136,4475 -#define BUFFERLISTSIZE 137,4515 -#define DMABUFFERSIZE 138,4550 -#define MAXRXFRAMES 139,4584 -typedef struct _DMABUFFERENTRY_DMABUFFERENTRY141,4607 -} DMABUFFERENTRY, *DMAPBUFFERENTRY;DMAPBUFFERENTRY151,5043 -#define BH_RECEIVE 155,5127 -#define BH_TRANSMIT 156,5149 -#define BH_STATUS 157,5171 -#define IO_PIN_SHUTDOWN_LIMIT 159,5194 -#define RELEVANT_IFLAG(RELEVANT_IFLAG161,5229 -struct _input_signal_events _input_signal_events163,5306 -#define MAX_TX_HOLDING_BUFFERS 175,5492 -struct tx_holding_buffer tx_holding_buffer176,5525 -struct mgsl_struct mgsl_struct186,5643 -#define MGSL_MAGIC 327,9863 -#define SERIAL_XMIT_SIZE 333,9985 -#define DCPIN 342,10138 -#define SDPIN 343,10182 -#define DCAR 345,10227 -#define CCAR 346,10278 -#define DATAREG 347,10337 -#define MSBONLY 348,10394 -#define LSBONLY 349,10415 -#define CMR 356,10558 -#define CCSR 357,10603 -#define CCR 358,10659 -#define PSR 359,10707 -#define PCR 360,10751 -#define TMDR 361,10796 -#define TMCR 362,10844 -#define CMCR 363,10895 -#define HCR 364,10947 -#define IVR 365,11002 -#define IOCR 366,11051 -#define ICR 367,11105 -#define DCCR 368,11155 -#define MISR 369,11208 -#define SICR 370,11263 -#define RDR 371,11321 -#define RMR 372,11366 -#define RCSR 373,11411 -#define RICR 374,11467 -#define RSR 375,11526 -#define RCLR 376,11571 -#define RCCR 377,11624 -#define TC0R 378,11681 -#define TDR 379,11730 -#define TMR 380,11776 -#define TCSR 381,11822 -#define TICR 382,11879 -#define TSR 383,11939 -#define TCLR 384,11985 -#define TCCR 385,12039 -#define TC1R 386,12097 -#define DCR 393,12195 -#define DACR 394,12248 -#define BDCR 395,12306 -#define DIVR 396,12368 -#define DICR 397,12432 -#define CDIR 398,12496 -#define SDIR 399,12558 -#define TDMR 401,12619 -#define TDIAR 402,12670 -#define TBCR 403,12731 -#define TARL 404,12784 -#define TARU 405,12840 -#define NTBCR 406,12897 -#define NTARL 407,12956 -#define NTARU 408,13018 -#define RDMR 410,13082 -#define RDIAR 411,13145 -#define RBCR 412,13205 -#define RARL 413,13257 -#define RARU 414,13312 -#define NRBCR 415,13368 -#define NRARL 416,13426 -#define NRARU 417,13487 -#define MODEMSTATUS_DTR 424,13602 -#define MODEMSTATUS_DSR 425,13631 -#define MODEMSTATUS_RTS 426,13660 -#define MODEMSTATUS_CTS 427,13689 -#define MODEMSTATUS_RI 428,13718 -#define MODEMSTATUS_DCD 429,13747 -#define RTCmd_Null 436,13843 -#define RTCmd_ResetHighestIus 437,13871 -#define RTCmd_TriggerChannelLoadDma 438,13909 -#define RTCmd_TriggerRxDma 439,13952 -#define RTCmd_TriggerTxDma 440,13987 -#define RTCmd_TriggerRxAndTxDma 441,14022 -#define RTCmd_PurgeRxFifo 442,14062 -#define RTCmd_PurgeTxFifo 443,14096 -#define RTCmd_PurgeRxAndTxFifo 444,14130 -#define RTCmd_LoadRcc 445,14169 -#define RTCmd_LoadTcc 446,14200 -#define RTCmd_LoadRccAndTcc 447,14231 -#define RTCmd_LoadTC0 448,14267 -#define RTCmd_LoadTC1 449,14298 -#define RTCmd_LoadTC0AndTC1 450,14329 -#define RTCmd_SerialDataLSBFirst 451,14365 -#define RTCmd_SerialDataMSBFirst 452,14405 -#define RTCmd_SelectBigEndian 453,14445 -#define RTCmd_SelectLittleEndian 454,14483 -#define DmaCmd_Null 461,14586 -#define DmaCmd_ResetTxChannel 462,14615 -#define DmaCmd_ResetRxChannel 463,14653 -#define DmaCmd_StartTxChannel 464,14691 -#define DmaCmd_StartRxChannel 465,14729 -#define DmaCmd_ContinueTxChannel 466,14767 -#define DmaCmd_ContinueRxChannel 467,14807 -#define DmaCmd_PauseTxChannel 468,14847 -#define DmaCmd_PauseRxChannel 469,14885 -#define DmaCmd_AbortTxChannel 470,14923 -#define DmaCmd_AbortRxChannel 471,14961 -#define DmaCmd_InitTxChannel 472,14999 -#define DmaCmd_InitRxChannel 473,15036 -#define DmaCmd_ResetHighestDmaIus 474,15073 -#define DmaCmd_ResetAllChannels 475,15114 -#define DmaCmd_StartAllChannels 476,15154 -#define DmaCmd_ContinueAllChannels 477,15194 -#define DmaCmd_PauseAllChannels 478,15236 -#define DmaCmd_AbortAllChannels 479,15276 -#define DmaCmd_InitAllChannels 480,15316 -#define TCmd_Null 482,15356 -#define TCmd_ClearTxCRC 483,15383 -#define TCmd_SelectTicrTtsaData 484,15416 -#define TCmd_SelectTicrTxFifostatus 485,15456 -#define TCmd_SelectTicrIntLevel 486,15499 -#define TCmd_SelectTicrdma_level 487,15539 -#define TCmd_SendFrame 488,15580 -#define TCmd_SendAbort 489,15612 -#define TCmd_EnableDleInsertion 490,15644 -#define TCmd_DisableDleInsertion 491,15684 -#define TCmd_ClearEofEom 492,15724 -#define TCmd_SetEofEom 493,15757 -#define RCmd_Null 495,15790 -#define RCmd_ClearRxCRC 496,15817 -#define RCmd_EnterHuntmode 497,15850 -#define RCmd_SelectRicrRtsaData 498,15885 -#define RCmd_SelectRicrRxFifostatus 499,15925 -#define RCmd_SelectRicrIntLevel 500,15968 -#define RCmd_SelectRicrdma_level 501,16008 -#define RECEIVE_STATUS 507,16135 -#define RECEIVE_DATA 508,16164 -#define TRANSMIT_STATUS 509,16191 -#define TRANSMIT_DATA 510,16221 -#define IO_PIN 511,16249 -#define MISC 512,16271 -#define RXSTATUS_SHORT_FRAME 519,16364 -#define RXSTATUS_CODE_VIOLATION 520,16399 -#define RXSTATUS_EXITED_HUNT 521,16437 -#define RXSTATUS_IDLE_RECEIVED 522,16472 -#define RXSTATUS_BREAK_RECEIVED 523,16509 -#define RXSTATUS_ABORT_RECEIVED 524,16547 -#define RXSTATUS_RXBOUND 525,16585 -#define RXSTATUS_CRC_ERROR 526,16616 -#define RXSTATUS_FRAMING_ERROR 527,16649 -#define RXSTATUS_ABORT 528,16686 -#define RXSTATUS_PARITY_ERROR 529,16716 -#define RXSTATUS_OVERRUN 530,16752 -#define RXSTATUS_DATA_AVAILABLE 531,16783 -#define RXSTATUS_ALL 532,16821 -#define usc_UnlatchRxstatusBits(usc_UnlatchRxstatusBits533,16851 -#define IDLEMODE_FLAGS 539,17035 -#define IDLEMODE_ALT_ONE_ZERO 540,17067 -#define IDLEMODE_ZERO 541,17105 -#define IDLEMODE_ONE 542,17136 -#define IDLEMODE_ALT_MARK_SPACE 543,17166 -#define IDLEMODE_SPACE 544,17206 -#define IDLEMODE_MARK 545,17238 -#define IDLEMODE_MASK 546,17269 -#define IUSC_SL1660 551,17337 -#define IUSC_PRE_SL1660 552,17366 -#define TCSR_PRESERVE 558,17475 -#define TCSR_UNDERWAIT 560,17507 -#define TXSTATUS_PREAMBLE_SENT 561,17538 -#define TXSTATUS_IDLE_SENT 562,17575 -#define TXSTATUS_ABORT_SENT 563,17608 -#define TXSTATUS_EOF_SENT 564,17642 -#define TXSTATUS_EOM_SENT 565,17674 -#define TXSTATUS_CRC_SENT 566,17706 -#define TXSTATUS_ALL_SENT 567,17738 -#define TXSTATUS_UNDERRUN 568,17770 -#define TXSTATUS_FIFO_EMPTY 569,17802 -#define TXSTATUS_ALL 570,17836 -#define usc_UnlatchTxstatusBits(usc_UnlatchTxstatusBits571,17866 -#define MISCSTATUS_RXC_LATCHED 574,17974 -#define MISCSTATUS_RXC 575,18012 -#define MISCSTATUS_TXC_LATCHED 576,18043 -#define MISCSTATUS_TXC 577,18081 -#define MISCSTATUS_RI_LATCHED 578,18112 -#define MISCSTATUS_RI 579,18149 -#define MISCSTATUS_DSR_LATCHED 580,18179 -#define MISCSTATUS_DSR 581,18216 -#define MISCSTATUS_DCD_LATCHED 582,18246 -#define MISCSTATUS_DCD 583,18283 -#define MISCSTATUS_CTS_LATCHED 584,18313 -#define MISCSTATUS_CTS 585,18350 -#define MISCSTATUS_RCC_UNDERRUN 586,18380 -#define MISCSTATUS_DPLL_NO_SYNC 587,18418 -#define MISCSTATUS_BRG1_ZERO 588,18456 -#define MISCSTATUS_BRG0_ZERO 589,18491 -#define usc_UnlatchIostatusBits(usc_UnlatchIostatusBits591,18527 -#define usc_UnlatchMiscstatusBits(usc_UnlatchMiscstatusBits592,18605 -#define SICR_RXC_ACTIVE 594,18686 -#define SICR_RXC_INACTIVE 595,18718 -#define SICR_RXC 596,18751 -#define SICR_TXC_ACTIVE 597,18784 -#define SICR_TXC_INACTIVE 598,18816 -#define SICR_TXC 599,18849 -#define SICR_RI_ACTIVE 600,18882 -#define SICR_RI_INACTIVE 601,18913 -#define SICR_RI 602,18945 -#define SICR_DSR_ACTIVE 603,18978 -#define SICR_DSR_INACTIVE 604,19009 -#define SICR_DSR 605,19041 -#define SICR_DCD_ACTIVE 606,19072 -#define SICR_DCD_INACTIVE 607,19103 -#define SICR_DCD 608,19135 -#define SICR_CTS_ACTIVE 609,19166 -#define SICR_CTS_INACTIVE 610,19197 -#define SICR_CTS 611,19229 -#define SICR_RCC_UNDERFLOW 612,19260 -#define SICR_DPLL_NO_SYNC 613,19293 -#define SICR_BRG1_ZERO 614,19325 -#define SICR_BRG0_ZERO 615,19355 -#define usc_EnableInterrupts(usc_EnableInterrupts623,19710 -#define usc_DisableInterrupts(usc_DisableInterrupts626,19825 -#define usc_EnableMasterIrqBit(usc_EnableMasterIrqBit629,19941 -#define usc_DisableMasterIrqBit(usc_DisableMasterIrqBit632,20049 -#define usc_ClearIrqPendingBits(usc_ClearIrqPendingBits635,20147 -#define TXSTATUS_PREAMBLE_SENT 642,20369 -#define TXSTATUS_IDLE_SENT 643,20405 -#define TXSTATUS_ABORT_SENT 644,20437 -#define TXSTATUS_EOF 645,20470 -#define TXSTATUS_CRC_SENT 646,20497 -#define TXSTATUS_ALL_SENT 647,20528 -#define TXSTATUS_UNDERRUN 648,20559 -#define TXSTATUS_FIFO_EMPTY 649,20590 -#define DICR_MASTER 651,20624 -#define DICR_TRANSMIT 652,20651 -#define DICR_RECEIVE 653,20679 -#define usc_EnableDmaInterrupts(usc_EnableDmaInterrupts655,20707 -#define usc_DisableDmaInterrupts(usc_DisableDmaInterrupts658,20812 -#define usc_EnableStatusIrqs(usc_EnableStatusIrqs661,20919 -#define usc_DisablestatusIrqs(usc_DisablestatusIrqs664,21015 -#define DISABLE_UNCONDITIONAL 671,21258 -#define DISABLE_END_OF_FRAME 672,21293 -#define ENABLE_UNCONDITIONAL 673,21328 -#define ENABLE_AUTO_CTS 674,21363 -#define ENABLE_AUTO_DCD 675,21398 -#define usc_EnableTransmitter(usc_EnableTransmitter676,21433 -#define usc_EnableReceiver(usc_EnableReceiver678,21538 -#define usc_TCmd(usc_TCmd691,22100 -#define usc_RCmd(usc_RCmd692,22174 -#define usc_SetTransmitSyncChars(usc_SetTransmitSyncChars694,22224 -#define dev_to_port(dev_to_port732,23725 -#define BUS_DESCRIPTOR(BUS_DESCRIPTOR744,24100 -typedef void (*isr_dispatch_func)isr_dispatch_func823,27344 -isr_dispatch_func UscIsrTable[825,27402 -static int pci_registered;855,28602 -struct mgsl_struct *mgsl_device_list;860,28679 -static int mgsl_device_count;861,28717 -static int break_on_load;868,28926 -static int ttymajor;874,29074 -static int io[879,29156 -static int irq[880,29188 -static int dma[881,29221 -static int debug_level;882,29254 -static int maxframe[883,29278 -static int dosyncppp[884,29318 -static int txdmabufs[885,29359 -static int txholdbufs[886,29400 -static char *driver_name 899,29985 -static char *driver_version 900,30038 -static struct pci_device_id synclink_pci_tbl[906,30240 -static struct pci_driver synclink_pci_driver 915,30540 -static struct tty_driver *serial_driver;922,30722 -#define WAKEUP_CHARS 925,30834 -void* mgsl_get_text_ptr(937,31264 -static unsigned char *tmp_buf;951,31804 -static inline int mgsl_paranoia_check(954,31871 -static void ldisc_receive_buf(987,32578 -static void mgsl_stop(1006,32987 -static void mgsl_start(1029,33594 -int mgsl_bh_action(1054,34255 -void mgsl_bh_handler(1086,34926 -void mgsl_bh_receive(1130,35848 -void mgsl_bh_transmit(1151,36397 -void mgsl_bh_status(1174,37016 -void mgsl_isr_receive_status(1195,37557 -void mgsl_isr_transmit_status(1247,39009 -void mgsl_isr_io_pin(1314,40783 -void mgsl_isr_transmit_data(1432,44231 -void mgsl_isr_receive_data(1464,45060 -void mgsl_isr_misc(1576,48433 -void mgsl_isr_null(1612,49490 -void mgsl_isr_receive_dma(1636,50316 -void mgsl_isr_transmit_dma(1680,51769 -static irqreturn_t mgsl_interrupt(1724,52860 -static int startup(1796,54753 -static void shutdown(1855,56166 -static void mgsl_program_hw(1912,57927 -static void mgsl_change_params(1948,58808 -static void mgsl_put_char(2058,61836 -static void mgsl_flush_chars(2097,62814 -static int mgsl_write(2148,64264 -static int mgsl_write_room(2330,69370 -static int mgsl_chars_in_buffer(2365,70217 -static void mgsl_flush_buffer(2399,71148 -static void mgsl_send_xchar(2428,71931 -static void mgsl_throttle(2457,72734 -static void mgsl_unthrottle(2487,73573 -static int mgsl_get_stats(2524,74546 -static int mgsl_get_params(2553,75334 -static int mgsl_set_params(2583,76094 -static int mgsl_get_txidle(2619,77089 -static int mgsl_set_txidle(2646,77828 -static int mgsl_txenable(2673,78486 -static int mgsl_txabort(2710,79626 -static int mgsl_rxenable(2737,80378 -static int mgsl_wait_event(2766,81172 -static int modem_input_wait(2888,85049 -static int tiocmget(2940,86419 -static int tiocmset(2965,87308 -static void mgsl_break(2997,88240 -static int mgsl_ioctl(3029,89164 -int mgsl_ioctl_common(3050,89768 -static void mgsl_set_termios(3136,92374 -static void mgsl_close(3196,94123 -static void mgsl_wait_until_sent(3290,96461 -static void mgsl_hangup(3363,98422 -static int block_til_ready(3398,99241 -static int mgsl_open(3506,102188 -static inline int line_info(3603,104488 -int mgsl_read_proc(3712,108042 -int mgsl_allocate_dma_buffers(3751,108907 -int mgsl_alloc_buffer_list_memory(3858,112755 -void mgsl_free_buffer_list_memory(3943,115750 -int mgsl_alloc_frame_memory(3970,116533 -void mgsl_free_frame_memory(4012,117677 -void mgsl_free_dma_buffers(4035,118195 -int mgsl_alloc_intermediate_rxbuffer_memory(4056,118794 -void mgsl_free_intermediate_rxbuffer_memory(4076,119227 -int mgsl_alloc_intermediate_txbuffer_memory(4098,119842 -void mgsl_free_intermediate_txbuffer_memory(4129,120586 -int load_next_tx_holding_buffer(4161,121310 -int save_tx_buffer_request(4207,122485 -int mgsl_claim_resources(4226,123011 -void mgsl_release_resources(4306,125626 -void mgsl_add_device(4360,127151 -struct mgsl_struct* mgsl_allocate_device(4426,129072 -static struct tty_operations mgsl_ops 4458,130012 -static int mgsl_init_tty(4485,130697 -static void mgsl_enum_isa_devices(4521,131668 -static void synclink_cleanup(4554,132562 -static int __init synclink_init(4589,133257 -static void __exit synclink_exit(4616,133713 -void usc_RTCmd(4645,134307 -void usc_DmaCmd(4672,134921 -void usc_OutDmaReg(4699,135476 -u16 usc_InDmaReg(4728,136149 -void usc_OutReg(4755,136732 -u16 usc_InReg(4780,137318 -void usc_set_sdlc_mode(4794,137668 -void usc_enable_loopback(5374,155350 -void usc_enable_aux_clock(5438,157293 -void usc_process_rxoverrun_sync(5495,158770 -void usc_stop_receiver(5634,162875 -void usc_start_receiver(5667,163836 -void usc_start_transmitter(5731,165843 -void usc_stop_transmitter(5837,169378 -void usc_load_txfifo(5866,170207 -void usc_reset(5923,171866 -void usc_set_async_mode(6037,174834 -void usc_loopback_frame(6230,179901 -void usc_set_sync_mode(6298,181716 -void usc_set_txidle(6321,182343 -void usc_get_serial_signals(6384,184259 -void usc_set_serial_signals(6420,185180 -void usc_enable_async_clock(6452,185882 -void mgsl_reset_tx_dma_buffers(6562,189717 -int num_free_tx_dma_buffers(6588,190341 -void mgsl_reset_rx_dma_buffers(6603,190768 -void mgsl_free_rx_frame_buffers(6631,191477 -int mgsl_get_rx_frame(6674,192663 -int mgsl_get_raw_rx_frame(6873,198742 -void mgsl_load_tx_dma_buffer(7038,204409 -BOOLEAN mgsl_register_test(7115,206634 -BOOLEAN mgsl_irq_test(7171,208469 -BOOLEAN mgsl_dma_test(7227,210026 -#define TESTFRAMESIZE 7245,210490 -int mgsl_adapter_test(7519,217870 -BOOLEAN mgsl_memory_test(7561,219147 -void mgsl_load_pci_memory(7642,221563 -#define PCI_LOAD_INTERVAL 7646,221726 -void mgsl_trace_block(7664,222190 -void mgsl_tx_timeout(7704,223023 -static int mgsl_loopmode_send_done(7739,224017 -void usc_loopmode_send_done(7758,224471 -void usc_loopmode_cancel_transmit(7768,224774 -void usc_loopmode_insert_request(7780,225226 -int usc_loopmode_active(7797,225746 -int usc_loopmode_send_active(7804,225910 -static int hdlcdev_attach(7821,226353 -static int hdlcdev_xmit(7868,227711 -static int hdlcdev_open(7911,228839 -static int hdlcdev_close(7967,230389 -static int hdlcdev_ioctl(7998,231089 -static void hdlcdev_tx_timeout(8097,234426 -static void hdlcdev_tx_done(8122,235053 -static void hdlcdev_rx(8136,235408 -static int hdlcdev_init(8173,236275 -static void hdlcdev_exit(8221,237495 -static int __devinit synclink_init_one 8231,237667 -static void __devexit synclink_remove_one 8283,239132 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/digiPCI.h,459 -#define PCIMAX 4,212 -#define PCI_VENDOR_DIGI 7,269 -#define PCI_DEVICE_EPC 8,301 -#define PCI_DEVICE_RIGHTSWITCH 9,332 -#define PCI_DEVICE_XEM 10,389 -#define PCI_DEVICE_XR 11,420 -#define PCI_DEVICE_CX 12,450 -#define PCI_DEVICE_XRJ 13,480 -#define PCI_DEVICE_EPCJ 14,539 -#define PCI_BIOS_SIZE 25,899 -#define PCI_RAM_SIZE 28,978 -#define PCI_MEM_SIZE 31,1040 -#define PCI_IO_OFFSET 34,1111 -#define MEMOUTB(MEMOUTB36,1148 -#define MEMINB(MEMINB37,1266 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/dsp56k.c,1139 -#define DSP56K_DEV_56001 47,1303 -#define TIMEOUT 49,1370 -#define MAXIO 50,1437 -#define DSP56K_MAX_BINARY_LENGTH 51,1504 -#define DSP56K_TX_INT_ON 53,1550 -#define DSP56K_RX_INT_ON 54,1621 -#define DSP56K_TX_INT_OFF 55,1692 -#define DSP56K_RX_INT_OFF 56,1764 -#define DSP56K_TRANSMIT 58,1837 -#define DSP56K_RECEIVE 59,1908 -#define handshake(handshake61,1979 -#define tx_wait(tx_wait78,2321 -#define rx_wait(rx_wait88,2469 -static char bootstrap[99,2645 -static int sizeof_bootstrap 138,4962 -static struct dsp56k_device dsp56k_device141,4999 -} dsp56k;145,5090 -static struct class_simple *dsp56k_class;147,5101 -static int dsp56k_reset(149,5144 -static int dsp56k_upload(168,5501 -static ssize_t dsp56k_read(202,6261 -static ssize_t dsp56k_write(265,7658 -static int dsp56k_ioctl(327,9090 -static unsigned int dsp56k_poll(421,11344 -static int dsp56k_open(438,11679 -static int dsp56k_release(469,12196 -static struct file_operations dsp56k_fops 486,12493 -static char banner[498,12735 -static char banner[] __initdata 498,12735 -static int __init dsp56k_init_driver(500,12809 -static void __exit dsp56k_cleanup_driver(538,13714 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/nwbutton.h,190 -#define __NWBUTTON_H2,21 -#define NUM_PRESSES_REBOOT 13,232 -#define BUTTON_DELAY 14,305 -#define VERSION 15,373 -#define BUTTON_MINOR 16,424 -struct button_callback button_callback20,521 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ec3104_keyb.c,1006 -#define MSR_CTS 60,1637 -#define MCR_RTS 61,1658 -#define LSR_DR 62,1679 -#define LSR_BOTH_EMPTY 63,1699 -static struct e5_struct e5_struct65,1728 -} ec3104_keyb;72,1823 -unsigned char ec3104_kbd_sysrq_xlate[78,1918 -static spinlock_t kbd_controller_lock 95,2540 -static volatile unsigned char reply_expected;99,2703 -static volatile unsigned char acknowledge;100,2749 -static volatile unsigned char resend;101,2792 -int ec3104_kbd_setkeycode(104,2832 -int ec3104_kbd_getkeycode(109,2919 -static inline unsigned char ec3104_scan2key(117,3057 -int ec3104_kbd_translate(203,4469 -char ec3104_kbd_unexpected_up(213,4640 -static inline void handle_keyboard_event(218,4712 -void ec3104_kbd_leds(226,4897 -static u8 e5_checksum(230,4943 -static void e5_wait_for_cts(244,5109 -static void e5_send_byte(254,5246 -static int e5_send_packet(272,5588 -static void e5_receive(323,6556 -static void ec3104_keyb_interrupt(374,7410 -static void ec3104_keyb_clear_state(406,8147 -void __init ec3104_kbd_init_hw(450,9002 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/nvidia-agp.c,1215 -#define NVIDIA_0_APSIZE 17,387 -#define NVIDIA_1_WBC 18,417 -#define NVIDIA_2_GARTCTRL 19,444 -#define NVIDIA_2_APBASE 20,475 -#define NVIDIA_2_APLIMIT 21,505 -#define NVIDIA_2_ATTBASE(NVIDIA_2_ATTBASE22,535 -#define NVIDIA_3_APBASE 23,580 -#define NVIDIA_3_APLIMIT 24,610 -static struct _nvidia_private _nvidia_private27,642 -} nvidia_private;35,837 -static int nvidia_fetch_size(38,857 -#define SYSCFG 60,1380 -#define IORR_BASE0 61,1415 -#define IORR_MASK0 62,1450 -#define AMD_K7_NUM_IORR 63,1485 -static int nvidia_init_iorr(65,1512 -static int nvidia_configure(105,2601 -static void nvidia_cleanup(162,4524 -static int nvidia_insert_memory(197,5648 -static int nvidia_remove_memory(227,6504 -static void nvidia_tlbflush(242,6853 -static struct aper_size_info_8 nvidia_generic_sizes[273,7696 -static struct gatt_mask nvidia_generic_masks[284,7912 -struct agp_bridge_driver nvidia_driver 290,7993 -static int __devinit agp_nvidia_probe(313,8805 -static void __devexit agp_nvidia_remove(369,10358 -static struct pci_device_id agp_nvidia_pci_table[377,10536 -static struct pci_driver agp_nvidia_pci_driver 399,11038 -static int __init agp_nvidia_init(406,11216 -static void __exit agp_nvidia_cleanup(411,11310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/intel-mch-agp.c,1721 -#define AGP_DCACHE_MEMORY 12,162 -#define AGP_PHYS_MEMORY 13,190 -static struct gatt_mask intel_i810_masks[15,218 -static void intel_i810_tlbflush(22,417 -static void intel_i810_agp_enable(27,487 -static struct agp_memory *alloc_agpphysmem_i8xx(38,713 -static void intel_i810_free_by_type(62,1216 -static unsigned long intel_i810_mask_memory(72,1456 -static struct aper_size_info_fixed intel_i830_sizes[78,1632 -static struct _intel_i830_private _intel_i830_private85,1775 -} intel_i830_private;89,1907 -static void intel_i830_init_gtt_entries(91,1930 -static int intel_i830_create_gatt_table(159,3716 -static int intel_i830_free_gatt_table(194,4624 -static int intel_i830_fetch_size(199,4685 -static int intel_i830_configure(229,5592 -static void intel_i830_cleanup(258,6586 -static int intel_i830_insert_entries(263,6685 -static int intel_i830_remove_entries(306,7886 -static struct agp_memory *intel_i830_alloc_by_type(328,8458 -static int intel_8xx_fetch_size(337,8696 -static void intel_8xx_tlbflush(358,9180 -static void intel_8xx_cleanup(367,9526 -static int intel_845_configure(378,9890 -static struct gatt_mask intel_generic_masks[409,10800 -static struct aper_size_info_8 intel_8xx_sizes[414,10887 -static struct agp_bridge_driver intel_830_driver 425,11086 -static struct agp_bridge_driver intel_845_driver 449,11957 -static int find_i830(473,12796 -static int __devinit agp_intelmch_probe(490,13135 -static void __devexit agp_intelmch_remove(568,14957 -static int agp_intelmch_resume(576,15137 -static struct pci_device_id agp_intelmch_pci_table[588,15386 -static struct pci_driver agp_intelmch_pci_driver 610,15891 -int __init agp_intelmch_init(620,16221 -static void __exit agp_intelmch_cleanup(631,16404 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/ati-agp.c,1815 -#define ATI_GART_MMBASE_ADDR 13,201 -#define ATI_RS100_APSIZE 14,235 -#define ATI_RS100_IG_AGPMODE 15,265 -#define ATI_RS300_APSIZE 16,299 -#define ATI_RS300_IG_AGPMODE 17,329 -#define ATI_GART_FEATURE_ID 18,363 -#define ATI_GART_BASE 19,397 -#define ATI_GART_CACHE_SZBASE 20,426 -#define ATI_GART_CACHE_CNTRL 21,462 -#define ATI_GART_CACHE_ENTRY_CNTRL 22,497 -static struct aper_size_info_lvl2 ati_generic_sizes[25,539 -static struct gatt_mask ati_generic_masks[36,792 -typedef struct _ati_page_map _ati_page_map43,871 -} ati_page_map;ati_page_map46,958 -static struct _ati_generic_private _ati_generic_private48,975 -} ati_generic_private;52,1090 -static int ati_create_page_map(54,1114 -static void ati_free_page_map(84,1908 -static void ati_free_gatt_pages(93,2144 -static int ati_create_gatt_pages(112,2482 -static int is_r200(150,3302 -static int ati_fetch_size(160,3599 -static void ati_tlbflush(186,4212 -static void ati_cleanup(192,4410 -static int ati_configure(213,5114 -#define GET_PAGE_DIR_OFF(GET_PAGE_DIR_OFF253,6410 -#define GET_PAGE_DIR_IDX(GET_PAGE_DIR_IDX254,6454 -#define GET_GATT_OFF(GET_GATT_OFF256,6559 -#define GET_GATT(GET_GATT258,6631 -static int ati_insert_memory(261,6725 -static int ati_remove_memory(301,7782 -static int ati_create_gatt_table(322,8314 -static int ati_free_gatt_table(383,10221 -struct agp_bridge_driver ati_generic_bridge 395,10488 -static struct agp_device_ids ati_agp_device_ids[419,11268 -static struct agp_device_ids ati_agp_device_ids[] __devinitdata 419,11268 -static int __devinit agp_ati_probe(456,12036 -static void __devexit agp_ati_remove(501,12992 -static struct pci_device_id agp_ati_pci_table[509,13167 -static struct pci_driver agp_ati_pci_driver 523,13448 -static int __init agp_ati_init(530,13611 -static void __exit agp_ati_cleanup(535,13699 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/alpha-agp.c,771 -static struct page *alpha_core_agp_vm_nopage(14,273 -static struct aper_size_info_fixed alpha_core_agp_sizes[38,856 -struct vm_operations_struct alpha_core_agp_vm_ops 43,976 -static int alpha_core_agp_nop(48,1072 -static int alpha_core_agp_fetch_size(54,1151 -static int alpha_core_agp_configure(59,1237 -static void alpha_core_agp_cleanup(66,1401 -static void alpha_core_agp_tlbflush(73,1526 -static void alpha_core_agp_enable(79,1684 -static int alpha_core_agp_insert_memory(91,1951 -static int alpha_core_agp_remove_memory(109,2392 -struct agp_bridge_driver alpha_core_agp_driver 120,2655 -struct agp_bridge_data *alpha_bridge;145,3520 -alpha_core_agp_setup(148,3570 -static int __init agp_alpha_core_init(196,4740 -static void __exit agp_alpha_core_cleanup(203,4863 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/generic.c,1436 -__u32 *agp_gatt_table;44,1711 -int agp_memory_reserved;45,1734 -int map_page_into_agp(54,1963 -int unmap_page_from_agp(63,2140 -void agp_free_key(78,2461 -static int agp_get_key(89,2607 -struct agp_memory *agp_create_memory(102,2799 -void agp_free_memory(138,3592 -#define ENTRIES_PER_PAGE 163,4108 -struct agp_memory *agp_allocate_memory(176,4568 -static int agp_return_size(222,5515 -int agp_num_entries(257,6179 -int agp_copy_info(301,7176 -int agp_bind_memory(345,8550 -int agp_unbind_memory(380,9435 -static void agp_v2_parse_one(407,10013 -static void agp_v3_parse_one(439,10965 -u32 agp_collect_device_status(526,13675 -void agp_device_command(568,14846 -void get_agp_version(590,15375 -void agp_generic_enable(605,15798 -int agp_generic_create_gatt_table(653,17160 -int agp_generic_free_gatt_table(772,20393 -int agp_generic_insert_memory(826,21676 -int agp_generic_remove_memory(893,23198 -struct agp_memory *agp_generic_alloc_by_type(915,23754 -void agp_generic_free_by_type(922,23890 -void *agp_generic_alloc_page(940,24327 -void agp_generic_destroy_page(958,24636 -void agp_enable(982,25118 -static void ipi_handler(992,25284 -void global_cache_flush(998,25352 -unsigned long agp_generic_mask_memory(1009,25577 -int agp3_generic_fetch_size(1025,25997 -void agp3_generic_tlbflush(1047,26551 -int agp3_generic_configure(1056,26902 -void agp3_generic_cleanup(1077,27687 -struct aper_size_info_16 agp3_generic_sizes[1085,27943 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/ali-agp.c,1106 -#define ALI_AGPCTRL 12,180 -#define ALI_ATTBASE 13,205 -#define ALI_TLBCTRL 14,230 -#define ALI_TAGCTRL 15,255 -#define ALI_CACHE_FLUSH_CTRL 16,280 -#define ALI_CACHE_FLUSH_ADDR_MASK 17,314 -#define ALI_CACHE_FLUSH_EN 18,359 -static int ali_fetch_size(20,393 -static void ali_tlbflush(42,901 -static void ali_cleanup(52,1134 -static int ali_configure(69,1630 -static void m1541_cache_flush(124,3249 -static void *m1541_alloc_page(142,3726 -static void ali_destroy_page(157,4087 -static void m1541_destroy_page(165,4244 -static struct aper_size_info_32 ali_generic_sizes[184,4639 -struct agp_bridge_driver ali_generic_bridge 195,4836 -struct agp_bridge_driver ali_m1541_bridge 218,5625 -static struct agp_device_ids ali_agp_device_ids[242,6408 -static struct agp_device_ids ali_agp_device_ids[] __devinitdata 242,6408 -static int __devinit agp_ali_probe(291,7329 -static void __devexit agp_ali_remove(367,8915 -static struct pci_device_id agp_ali_pci_table[375,9090 -static struct pci_driver agp_ali_pci_driver 389,9370 -static int __init agp_ali_init(396,9533 -static void __exit agp_ali_cleanup(401,9621 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/agp.h,4026 -#define _AGP_BACKEND_PRIV_H 29,1297 -#define PFX 33,1378 -#define DBG(DBG37,1442 -#define DBG(DBG39,1527 -enum aper_size_type aper_size_type44,1616 - U8_APER_SIZE,45,1638 - U16_APER_SIZE,46,1653 - U32_APER_SIZE,47,1669 - LVL2_APER_SIZE,48,1685 - FIXED_APER_SIZE49,1702 -struct gatt_mask gatt_mask52,1723 -struct aper_size_info_8 aper_size_info_860,1941 -struct aper_size_info_16 aper_size_info_1667,2033 -struct aper_size_info_32 aper_size_info_3274,2127 -struct aper_size_info_lvl2 aper_size_info_lvl281,2221 -struct aper_size_info_fixed aper_size_info_fixed87,2300 -struct agp_bridge_driver agp_bridge_driver93,2380 -struct agp_bridge_data agp_bridge_data118,3149 -#define KB(KB144,3782 -#define MB(MB145,3809 -#define GB(GB146,3837 -#define A_SIZE_8(A_SIZE_8148,3866 -#define A_SIZE_16(A_SIZE_16149,3918 -#define A_SIZE_32(A_SIZE_32150,3972 -#define A_SIZE_LVL2(A_SIZE_LVL2151,4026 -#define A_SIZE_FIX(A_SIZE_FIX152,4084 -#define A_IDX8(A_IDX8153,4142 -#define A_IDX16(A_IDX16154,4214 -#define A_IDX32(A_IDX32155,4288 -#define MAXKEY 156,4362 -#define PGE_EMPTY(PGE_EMPTY158,4391 -#define INTEL_APSIZE 162,4490 -#define INTEL_ATTBASE 163,4516 -#define INTEL_AGPCTRL 164,4543 -#define INTEL_NBXCFG 165,4570 -#define INTEL_ERRSTS 166,4596 -#define I830_GMCH_CTRL 169,4650 -#define I830_GMCH_ENABLED 170,4680 -#define I830_GMCH_MEM_MASK 171,4711 -#define I830_GMCH_MEM_64M 172,4743 -#define I830_GMCH_MEM_128M 173,4774 -#define I830_GMCH_GMS_MASK 174,4804 -#define I830_GMCH_GMS_DISABLED 175,4837 -#define I830_GMCH_GMS_LOCAL 176,4874 -#define I830_GMCH_GMS_STOLEN_512 177,4908 -#define I830_GMCH_GMS_STOLEN_1024 178,4946 -#define I830_GMCH_GMS_STOLEN_8192 179,4985 -#define I830_RDRAM_CHANNEL_TYPE 180,5024 -#define I830_RDRAM_ND(I830_RDRAM_ND181,5065 -#define I830_RDRAM_DDT(I830_RDRAM_DDT182,5111 -#define INTEL_I830_ERRSTS 185,5216 -#define I855_GMCH_GMS_STOLEN_0M 188,5282 -#define I855_GMCH_GMS_STOLEN_1M 189,5319 -#define I855_GMCH_GMS_STOLEN_4M 190,5363 -#define I855_GMCH_GMS_STOLEN_8M 191,5407 -#define I855_GMCH_GMS_STOLEN_16M 192,5451 -#define I855_GMCH_GMS_STOLEN_32M 193,5495 -#define I85X_CAPID 194,5539 -#define I85X_VARIANT_MASK 195,5565 -#define I85X_VARIANT_SHIFT 196,5596 -#define I855_GME 197,5626 -#define I855_GM 198,5649 -#define I852_GME 199,5672 -#define I852_GM 200,5695 -#define INTEL_I845_AGPM 203,5746 -#define INTEL_I845_ERRSTS 204,5776 -#define INTEL_I860_MCHCFG 207,5835 -#define INTEL_I860_ERRSTS 208,5866 -#define I810_GMADDR 211,5925 -#define I810_MMADDR 212,5951 -#define I810_PTE_BASE 213,5977 -#define I810_PTE_MAIN_UNCACHED 214,6008 -#define I810_PTE_LOCAL 215,6050 -#define I810_PTE_VALID 216,6085 -#define I810_SMRAM_MISCC 217,6120 -#define I810_GFX_MEM_WIN_SIZE 218,6150 -#define I810_GFX_MEM_WIN_32M 219,6191 -#define I810_GMS 220,6231 -#define I810_GMS_DISABLE 221,6260 -#define I810_PGETBL_CTL 222,6296 -#define I810_PGETBL_ENABLED 223,6328 -#define I810_DRAM_CTL 224,6367 -#define I810_DRAM_ROW_0 225,6397 -#define I810_DRAM_ROW_0_SDRAM 226,6433 -struct agp_device_ids agp_device_ids228,6475 -#define AGP_GENERIC_SIZES_ENTRIES 272,8210 -#define AGP_APBASE 280,8413 -#define AGPSTAT 282,8438 -#define AGPCMD 283,8459 -#define AGPNISTAT 284,8479 -#define AGPCTRL 285,8501 -#define AGPAPSIZE 286,8523 -#define AGPNEPG 287,8546 -#define AGPGARTLO 288,8568 -#define AGPGARTHI 289,8591 -#define AGPNICMD 290,8614 -#define AGP_MAJOR_VERSION_SHIFT 292,8637 -#define AGP_MINOR_VERSION_SHIFT 293,8674 -#define AGPSTAT_RQ_DEPTH 295,8712 -#define AGPSTAT_RQ_DEPTH_SHIFT 296,8750 -#define AGPSTAT_CAL_MASK 298,8785 -#define AGPSTAT_ARQSZ 299,8830 -#define AGPSTAT_ARQSZ_SHIFT 300,8873 -#define AGPSTAT_SBA 302,8905 -#define AGPSTAT_AGP_ENABLE 303,8933 -#define AGPSTAT_FW 304,8967 -#define AGPSTAT_MODE_3_0 305,8994 -#define AGPSTAT2_1X 307,9027 -#define AGPSTAT2_2X 308,9055 -#define AGPSTAT2_4X 309,9083 -#define AGPSTAT3_RSVD 311,9112 -#define AGPSTAT3_8X 312,9142 -#define AGPSTAT3_4X 313,9170 -#define AGPCTRL_APERENB 315,9196 -#define AGPCTRL_GTLBEN 316,9228 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/uninorth-agp.c,937 -static int uninorth_fetch_size(13,240 -static void uninorth_tlbflush(40,906 -static void uninorth_cleanup(52,1369 -static int uninorth_configure(64,1749 -static int uninorth_insert_memory(90,2436 -static void uninorth_agp_enable(127,3467 -static int uninorth_create_gatt_table(158,4217 -static int uninorth_free_gatt_table(215,5553 -void null_cache_flush(241,6191 -static struct aper_size_info_32 uninorth_sizes[248,6253 -struct agp_bridge_driver uninorth_agp_driver 261,6521 -static struct agp_device_ids uninorth_agp_device_ids[285,7359 -static struct agp_device_ids uninorth_agp_device_ids[] __devinitdata 285,7359 -static int __devinit agp_uninorth_probe(304,7786 -static void __devexit agp_uninorth_remove(345,8763 -static struct pci_device_id agp_uninorth_pci_table[353,8943 -static struct pci_driver agp_uninorth_pci_driver 367,9236 -static int __init agp_uninorth_init(374,9424 -static void __exit agp_uninorth_cleanup(379,9522 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/isoch.c,302 -struct agp_3_5_dev agp_3_5_dev14,221 -static void agp_3_5_dev_list_insert(21,316 -static void agp_3_5_dev_list_sort(34,649 -static int agp_3_5_isochronous_node_enable(62,1328 - struct isoch_data isoch_data69,1589 -static void agp_3_5_nonisochronous_node_enable(287,8299 -int agp_3_5_enable(317,9142 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/amd-k7-agp.c,1720 -#define AMD_MMBASE 14,233 -#define AMD_APSIZE 15,257 -#define AMD_MODECNTL 16,281 -#define AMD_MODECNTL2 17,307 -#define AMD_GARTENABLE 18,334 -#define AMD_ATTBASE 19,401 -#define AMD_TLBFLUSH 20,465 -#define AMD_CACHEENTRY 21,530 -static struct pci_device_id agp_amdk7_pci_table[23,598 -struct amd_page_map amd_page_map25,650 -static struct _amd_irongate_private _amd_irongate_private30,732 -} amd_irongate_private;34,855 -static int amd_create_page_map(36,880 -static void amd_free_page_map(64,1612 -static void amd_free_gatt_pages(71,1802 -static int amd_create_gatt_pages(90,2197 -#define GET_PAGE_DIR_OFF(GET_PAGE_DIR_OFF128,3063 -#define GET_PAGE_DIR_IDX(GET_PAGE_DIR_IDX129,3107 -#define GET_GATT_OFF(GET_GATT_OFF131,3212 -#define GET_GATT(GET_GATT132,3267 -static int amd_create_gatt_table(135,3362 -static int amd_free_gatt_table(178,4548 -static int amd_irongate_fetch_size(190,4822 -static int amd_irongate_configure(212,5347 -static void amd_irongate_cleanup(252,6787 -static void amd_irongate_tlbflush(280,7797 -static int amd_insert_memory(286,7990 -static int amd_remove_memory(324,9001 -static struct aper_size_info_lvl2 amd_irongate_sizes[344,9512 -static struct gatt_mask amd_irongate_masks[355,9766 -struct agp_bridge_driver amd_irongate_driver 360,9843 -static struct agp_device_ids amd_agp_device_ids[383,10661 -static struct agp_device_ids amd_agp_device_ids[] __devinitdata 383,10661 -static int __devinit agp_amdk7_probe(400,11023 -static void __devexit agp_amdk7_remove(433,11784 -static struct pci_device_id agp_amdk7_pci_table[442,12010 -static struct pci_driver agp_amdk7_pci_driver 472,12703 -static int __init agp_amdk7_init(479,12876 -static void __exit agp_amdk7_cleanup(484,12968 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/hp-agp.c,1357 -#define log2(log223,526 -#define HP_ZX1_IOC_OFFSET 26,561 -#define HP_ZX1_IBASE 29,659 -#define HP_ZX1_IMASK 30,687 -#define HP_ZX1_PCOM 31,715 -#define HP_ZX1_TCNFG 32,742 -#define HP_ZX1_PDIR_BASE 33,770 -#define HP_ZX1_IOVA_BASE 35,802 -#define HP_ZX1_IOVA_SIZE 36,835 -#define HP_ZX1_GART_SIZE 37,868 -#define HP_ZX1_SBA_IOMMU_COOKIE 38,916 -#define HP_ZX1_PDIR_VALID_BIT 40,970 -#define HP_ZX1_IOVA_TO_PDIR(HP_ZX1_IOVA_TO_PDIR41,1021 -#define AGP8X_MODE_BIT 43,1111 -#define AGP8X_MODE 44,1137 -static struct pci_dev fake_bridge_dev;47,1243 -static int hp_zx1_gart_found;49,1283 -static struct aper_size_info_fixed hp_zx1_sizes[51,1314 -static struct gatt_mask hp_zx1_masks[56,1424 -static struct _hp_private _hp_private61,1515 -} hp_private;77,1969 -static int __init hp_zx1_ioc_shared(79,1984 -hp_zx1_ioc_owner 129,3462 -hp_zx1_ioc_init 165,4356 -hp_zx1_lba_find_capability 186,4783 -hp_zx1_lba_init 209,5233 -hp_zx1_fetch_size(231,5696 -hp_zx1_configure 242,5885 -hp_zx1_cleanup 267,6660 -hp_zx1_tlbflush 283,6941 -hp_zx1_create_gatt_table 292,7144 -hp_zx1_free_gatt_table 320,7757 -hp_zx1_insert_memory 333,8004 -hp_zx1_remove_memory 379,8950 -hp_zx1_mask_memory 399,9442 -hp_zx1_enable 405,9547 -struct agp_bridge_driver hp_zx1_driver 419,9899 -hp_zx1_setup 442,10661 -zx1_gart_probe 474,11239 -agp_hp_init 525,12688 -agp_hp_cleanup 540,12949 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/intel-agp.c,4752 -#define INTEL_815_APCONT 21,397 -#define INTEL_815_ATTBASE_MASK 22,427 -#define INTEL_I820_RDCR 25,498 -#define INTEL_I820_ERRSTS 26,528 -#define INTEL_I840_MCHCFG 29,587 -#define INTEL_I840_ERRSTS 30,618 -#define INTEL_I850_MCHCFG 33,677 -#define INTEL_I850_ERRSTS 34,708 -#define I915_GMADDR 37,767 -#define I915_MMADDR 38,792 -#define I915_PTEADDR 39,817 -#define I915_GMCH_GMS_STOLEN_48M 40,843 -#define I915_GMCH_GMS_STOLEN_64M 41,887 -#define INTEL_I7505_APSIZE 45,960 -#define INTEL_I7505_NCAPID 46,992 -#define INTEL_I7505_NISTAT 47,1024 -#define INTEL_I7505_ATTBASE 48,1056 -#define INTEL_I7505_ERRSTS 49,1089 -#define INTEL_I7505_AGPCTRL 50,1121 -#define INTEL_I7505_MCHCFG 51,1154 -static struct aper_size_info_fixed intel_i810_sizes[53,1187 -#define AGP_DCACHE_MEMORY 60,1327 -#define AGP_PHYS_MEMORY 61,1355 -static struct gatt_mask intel_i810_masks[63,1383 -static struct _intel_i810_private _intel_i810_private70,1582 -} intel_i810_private;74,1720 -static int intel_i810_fetch_size(76,1743 -static int intel_i810_configure(103,2474 -static void intel_i810_cleanup(141,3793 -static void intel_i810_tlbflush(148,3990 -static void intel_i810_agp_enable(153,4060 -static void *i8xx_alloc_pages(159,4155 -static void i8xx_destroy_pages(179,4543 -static int intel_i810_insert_entries(195,4852 -static int intel_i810_remove_entries(242,6246 -static struct agp_memory *alloc_agpphysmem_i8xx(262,6818 -static struct agp_memory *intel_i810_alloc_by_type(302,7710 -static void intel_i810_free_by_type(326,8219 -static unsigned long intel_i810_mask_memory(340,8556 -static struct aper_size_info_fixed intel_i830_sizes[346,8732 -static struct _intel_i830_private _intel_i830_private354,8894 -} intel_i830_private;359,9067 -static void intel_i830_init_gtt_entries(361,9090 -static int intel_i830_create_gatt_table(448,11541 -static int intel_i830_free_gatt_table(483,12426 -static int intel_i830_fetch_size(488,12487 -static int intel_i830_configure(518,13400 -static void intel_i830_cleanup(548,14395 -static int intel_i830_insert_entries(553,14477 -static int intel_i830_remove_entries(593,15680 -static struct agp_memory *intel_i830_alloc_by_type(615,16252 -static int intel_i915_configure(624,16490 -static void intel_i915_cleanup(655,17440 -static int intel_i915_insert_entries(661,17556 -static int intel_i915_remove_entries(701,18687 -static int intel_i915_fetch_size(723,19192 -#define I915_256MB_ADDRESS_MASK 728,19295 -static int intel_i915_create_gatt_table(744,19827 -static int intel_fetch_size(782,20809 -static int __intel_8xx_fetch_size(802,21288 -static int intel_8xx_fetch_size(820,21705 -static int intel_815_fetch_size(828,21858 -static void intel_tlbflush(840,22151 -static void intel_8xx_tlbflush(847,22338 -static void intel_cleanup(857,22685 -static void intel_8xx_cleanup(869,23048 -static int intel_configure(881,23413 -static int intel_815_configure(911,24311 -static void intel_820_tlbflush(952,25571 -static void intel_820_cleanup(957,25640 -static int intel_820_configure(971,26016 -static int intel_840_configure(1002,27021 -static int intel_845_configure(1031,27912 -static int intel_850_configure(1060,28796 -static int intel_860_configure(1089,29699 -static int intel_830mp_configure(1118,30602 -static int intel_7505_configure(1147,31493 -static struct gatt_mask intel_generic_masks[1176,32298 -static struct aper_size_info_8 intel_815_sizes[1181,32385 -static struct aper_size_info_8 intel_8xx_sizes[1187,32482 -static struct aper_size_info_16 intel_generic_sizes[1198,32681 -static struct aper_size_info_8 intel_830mp_sizes[1209,32885 -static struct agp_bridge_driver intel_generic_driver 1217,33028 -static struct agp_bridge_driver intel_810_driver 1240,33859 -static struct agp_bridge_driver intel_815_driver 1264,34731 -static struct agp_bridge_driver intel_830_driver 1287,35569 -static struct agp_bridge_driver intel_820_driver 1311,36439 -static struct agp_bridge_driver intel_830mp_driver 1334,37277 -static struct agp_bridge_driver intel_840_driver 1357,38121 -static struct agp_bridge_driver intel_845_driver 1380,38959 -static struct agp_bridge_driver intel_850_driver 1403,39797 -static struct agp_bridge_driver intel_860_driver 1426,40635 -static struct agp_bridge_driver intel_915_driver 1449,41473 -static struct agp_bridge_driver intel_7505_driver 1474,42344 -static int find_i810(1497,43184 -static int find_i830(1508,43394 -static int __devinit agp_intel_probe(1525,43733 -static void __devexit agp_intel_remove(1719,48682 -static int agp_intel_resume(1727,48859 -static struct pci_device_id agp_intel_pci_table[1745,49325 -#define ID(ID1746,49379 -static struct pci_driver agp_intel_pci_driver 1782,50434 -int __init agp_intel_init(1792,50758 -static void __exit agp_intel_cleanup(1803,50935 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/sis-agp.c,1060 -#define SIS_ATTBASE 11,156 -#define SIS_APSIZE 12,181 -#define SIS_TLBCNTRL 13,205 -#define SIS_TLBFLUSH 14,231 -static int __devinitdata agp_sis_force_delay 16,258 -static int __devinitdata agp_sis_agp_spec 17,308 -static int sis_fetch_size(19,357 -static void sis_tlbflush(42,929 -static int sis_configure(47,1044 -static void sis_cleanup(63,1561 -static void sis_delayed_enable(72,1793 -static struct aper_size_info_8 sis_generic_sizes[111,2982 -struct agp_bridge_driver sis_driver 122,3183 -static struct agp_device_ids sis_agp_device_ids[145,3971 -static struct agp_device_ids sis_agp_device_ids[] __devinitdata 145,3971 -static int sis_broken_chipsets[236,5590 -static int sis_broken_chipsets[] __devinitdata 236,5590 -static void __devinit sis_get_driver(242,5708 -static int __devinit agp_sis_probe(268,6555 -static void __devexit agp_sis_remove(312,7555 -static struct pci_device_id agp_sis_pci_table[320,7730 -static struct pci_driver agp_sis_pci_driver 334,8010 -static int __init agp_sis_init(341,8173 -static void __exit agp_sis_cleanup(346,8261 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/via-agp.c,1274 -static struct pci_device_id agp_via_pci_table[12,181 -#define VIA_GARTCTRL 14,231 -#define VIA_APSIZE 15,257 -#define VIA_ATTBASE 16,281 -#define VIA_AGP3_GARTCTRL 18,307 -#define VIA_AGP3_APSIZE 19,338 -#define VIA_AGP3_ATTBASE 20,368 -#define VIA_AGPSEL 21,398 -static int via_fetch_size(23,424 -static int via_configure(43,902 -static void via_cleanup(66,1557 -static void via_tlbflush(79,1880 -static struct aper_size_info_8 via_generic_sizes[86,2071 -static int via_fetch_size_agp3(98,2279 -static int via_configure_agp3(120,2784 -static void via_cleanup_agp3(146,3619 -static void via_tlbflush_agp3(155,3838 -struct agp_bridge_driver via_agp3_driver 165,4121 -struct agp_bridge_driver via_driver 188,4936 -static struct agp_device_ids via_agp_device_ids[211,5724 -static struct agp_device_ids via_agp_device_ids[] __devinitdata 211,5724 -static void check_via_agp3 375,8652 -static int __devinit agp_via_probe(386,8884 -static void __devexit agp_via_remove(433,10065 -static int agp_via_suspend(443,10258 -static int agp_via_resume(451,10417 -static struct pci_device_id agp_via_pci_table[469,10837 -#define ID(ID470,10889 -static struct pci_driver agp_via_pci_driver 512,12001 -static int __init agp_via_init(524,12246 -static void __exit agp_via_cleanup(529,12334 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/i460-agp.c,2069 -#define INTEL_I460_BAPBASE 17,481 -#define INTEL_I460_GXBCTL 18,514 -#define INTEL_I460_AGPSIZ 19,546 -#define INTEL_I460_ATTBASE 20,578 -#define INTEL_I460_GATT_VALID 21,617 -#define INTEL_I460_GATT_COHERENT 22,660 -#define I460_LARGE_IO_PAGES 29,934 -# define I460_IO_PAGE_SHIFT 32,990 -# define I460_IO_PAGE_SHIFT 34,1044 -#define I460_IOPAGES_PER_KPAGE 37,1084 -#define I460_KPAGES_PER_IOPAGE 38,1150 -#define I460_SRAM_IO_DISABLE 39,1223 -#define I460_BAPBASE_ENABLE 40,1262 -#define I460_AGPSIZ_MASK 41,1300 -#define I460_4M_PS 42,1330 -#define I460_GXBCTL_OOG 45,1432 -#define I460_GXBCTL_BWC 46,1468 -#define RD_GATT(RD_GATT52,1659 -#define WR_GATT(WR_GATT53,1718 -#define WR_FLUSH_GATT(WR_FLUSH_GATT58,1909 -#define log2(log260,1954 - struct lp_desc lp_desc72,2288 -} i460;77,2505 -static struct aper_size_info_8 i460_sizes[79,2514 -static struct gatt_mask i460_masks[91,2800 -static int i460_fetch_size 99,2925 -static void i460_tlb_flush 163,5050 -static void i460_write_agpsiz 172,5274 -static void i460_cleanup 181,5514 -static int i460_configure 192,5756 -static int i460_create_gatt_table 236,6975 -static int i460_free_gatt_table 261,7609 -static int i460_insert_memory_small_io_page 283,7992 -static int i460_remove_memory_small_io_page(323,9181 -static int i460_alloc_large_page 353,10192 -static void i460_free_large_page 380,10947 -static int i460_insert_memory_large_io_page 389,11214 -static int i460_remove_memory_large_io_page 446,12904 -static int i460_insert_memory 485,14086 -static int i460_remove_memory 494,14349 -static void *i460_alloc_page 511,14994 -static void i460_destroy_page 524,15243 -static unsigned long i460_mask_memory 532,15398 -struct agp_bridge_driver intel_i460_driver 539,15647 -static int __devinit agp_intel_i460_probe(570,16656 -static void __devexit agp_intel_i460_remove(592,17114 -static struct pci_device_id agp_intel_i460_pci_table[600,17296 -static struct pci_driver agp_intel_i460_pci_driver 614,17610 -static int __init agp_intel_i460_init(621,17821 -static void __exit agp_intel_i460_cleanup(626,17923 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/sworks-agp.c,1847 -#define SVWRKS_COMMAND 11,163 -#define SVWRKS_APSIZE 12,192 -#define SVWRKS_MMBASE 13,220 -#define SVWRKS_CACHING 14,248 -#define SVWRKS_AGP_ENABLE 15,277 -#define SVWRKS_FEATURE 16,308 -#define SVWRKS_SIZE_MASK 18,338 -#define SVWRKS_GART_CACHE 21,405 -#define SVWRKS_GATTBASE 22,436 -#define SVWRKS_TLBFLUSH 23,466 -#define SVWRKS_POSTFLUSH 24,496 -#define SVWRKS_DIRFLUSH 25,526 -struct serverworks_page_map serverworks_page_map28,558 -static struct _serverworks_private _serverworks_private33,648 -} serverworks_private;42,906 -static int serverworks_create_page_map(44,930 -static void serverworks_free_page_map(70,1627 -static void serverworks_free_gatt_pages(77,1833 -static int serverworks_create_gatt_pages(96,2223 -#define SVRWRKS_GET_GATT(SVRWRKS_GET_GATT128,3069 -#define GET_PAGE_DIR_OFF(GET_PAGE_DIR_OFF132,3196 -#define GET_PAGE_DIR_IDX(GET_PAGE_DIR_IDX136,3273 -#define GET_GATT_OFF(GET_GATT_OFF141,3407 -static int serverworks_create_gatt_table(144,3470 -static int serverworks_free_gatt_table(195,5020 -static int serverworks_fetch_size(208,5391 -static void serverworks_tlbflush(243,6488 -static int serverworks_configure(254,6835 -static void serverworks_cleanup(306,8723 -static int serverworks_insert_memory(311,8824 -static int serverworks_remove_memory(350,9826 -static struct gatt_mask serverworks_masks[374,10360 -static struct aper_size_info_lvl2 serverworks_sizes[379,10436 -static void serverworks_agp_enable(390,10689 -struct agp_bridge_driver sworks_driver 412,11166 -static int __devinit agp_serverworks_probe(435,12008 -static void __devexit agp_serverworks_remove(511,14097 -static struct pci_device_id agp_serverworks_pci_table[519,14280 -static struct pci_driver agp_serverworks_pci_driver 533,14585 -static int __init agp_serverworks_init(540,14788 -static void __exit agp_serverworks_cleanup(545,14892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/amd64-agp.c,2123 -#define MAX_HAMMER_GARTS 19,528 -#define GPTE_VALID 22,574 -#define GPTE_COHERENT 23,595 -#define GARTEN 26,658 -#define DISGARTCPU 27,681 -#define DISGARTIO 28,707 -#define INVGART 31,773 -#define GARTPTEERR 32,797 -#define AMD64_GARTAPERTURECTL 35,855 -#define AMD64_GARTAPERTUREBASE 36,890 -#define AMD64_GARTTABLEBASE 37,926 -#define AMD64_GARTCACHECTL 38,959 -#define AMD64_GARTEN 39,991 -#define NVIDIA_X86_64_0_APBASE 42,1047 -#define NVIDIA_X86_64_1_APBASE1 43,1084 -#define NVIDIA_X86_64_1_APLIMIT1 44,1122 -#define NVIDIA_X86_64_1_APSIZE 45,1160 -#define NVIDIA_X86_64_1_APBASE2 46,1197 -#define NVIDIA_X86_64_1_APLIMIT2 47,1235 -#define ULI_X86_64_BASE_ADDR 50,1297 -#define ULI_X86_64_HTT_FEA_REG 51,1332 -#define ULI_X86_64_ENU_SCR_REG 52,1369 -static int nr_garts;54,1407 -static struct pci_dev * hammers[55,1428 -static struct resource *aperture_resource;57,1480 -static int __initdata agp_try_unsupported;58,1523 -static int gart_iterator;60,1567 -#define for_each_nb(for_each_nb61,1593 -static void flush_amd64_tlb(63,1676 -static void amd64_tlbflush(72,1870 -static int amd64_insert_memory(78,1985 -static struct aper_size_info_32 amd64_aperture_sizes[128,3241 -static int amd64_fetch_size(146,3872 -static u64 amd64_configure 177,4527 -static struct aper_size_info_32 amd_8151_sizes[208,5297 -static int amd_8151_configure(219,5712 -static void amd64_cleanup(232,5993 -struct agp_bridge_driver amd_8151_driver 245,6277 -static int __devinit aperture_valid(269,7122 -static __devinit int fix_northbridge(316,8541 -static __devinit int cache_nbs 358,9675 -static void __devinit amd8151_init(385,10408 -static struct aper_size_info_32 uli_sizes[415,11189 -static int __devinit uli_agp_init(426,11420 -static struct aper_size_info_32 nforce3_sizes[470,12884 -static int __devinit nforce3_agp_init(481,13234 -static int __devinit agp_amd64_probe(535,14868 -static void __devexit agp_amd64_remove(590,16033 -static struct pci_device_id agp_amd64_pci_table[600,16330 -static struct pci_driver agp_amd64_pci_driver 695,18497 -int __init agp_amd64_init(704,18724 -static void __exit agp_amd64_cleanup(741,19644 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/backend.c,840 -#define AGPGART_VERSION_MAJOR 44,1848 -#define AGPGART_VERSION_MINOR 45,1880 -static struct agp_version agp_current_version 46,1914 -static int agp_count=52,2034 -struct agp_bridge_data agp_bridge_dummy 54,2059 -struct agp_bridge_data *agp_bridge 55,2128 -int agp_backend_acquire(65,2371 -void agp_backend_release(85,2846 -struct { int mem, agp; } maxes_table[93,2998 -static int agp_find_max(105,3156 -static int agp_backend_initialize(130,3778 -static void agp_backend_cleanup(200,5559 -static const drm_agp_t drm_agp 217,6009 -struct agp_bridge_data *agp_alloc_bridge(229,6275 -void agp_put_bridge(236,6381 -int agp_add_bridge(242,6470 -void agp_remove_bridge(296,7583 -int agp_off;307,7854 -int agp_try_unsupported_boot;308,7867 -static int __init agp_init(312,7963 -void __exit agp_exit(320,8147 -static __init int agp_setup(325,8194 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/efficeon-agp.c,1325 -#define EFFICEON_ATTPAGE 52,1616 -#define EFFICEON_L1_SIZE 53,1646 -#define EFFICEON_PATI 55,1701 -#define EFFICEON_PRESENT 56,1733 -static struct _efficeon_private _efficeon_private58,1768 -} efficeon_private;60,1845 -static struct gatt_mask efficeon_generic_masks[62,1866 -static struct aper_size_info_lvl2 efficeon_generic_sizes[67,1956 -static int efficeon_fetch_size(80,2178 -static void efficeon_tlbflush(101,2671 -static void efficeon_cleanup(108,2910 -static int efficeon_configure(121,3336 -static int efficeon_free_gatt_table(151,4204 -#define GET_PAGE_DIR_OFF(GET_PAGE_DIR_OFF178,4898 -#define GET_PAGE_DIR_IDX(GET_PAGE_DIR_IDX179,4942 -#define GET_GATT_OFF(GET_GATT_OFF181,5047 -#define GET_GATT(GET_GATT183,5119 -static int efficeon_create_gatt_table(186,5210 -static int efficeon_insert_memory(231,6317 -static int efficeon_remove_memory(279,7569 -struct agp_bridge_driver efficeon_driver 306,8231 -static int agp_efficeon_resume(335,9180 -static int __devinit agp_efficeon_probe(341,9319 -static void __devexit agp_efficeon_remove(403,10812 -static int agp_efficeon_suspend(411,10992 -static struct pci_device_id agp_efficeon_pci_table[417,11073 -static struct pci_driver agp_efficeon_pci_driver 431,11370 -static int __init agp_efficeon_init(440,11625 -static void __exit agp_efficeon_cleanup(451,11815 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/agp/frontend.c,2240 -static struct agp_front_data agp_fe;43,1635 -static struct agp_memory *agp_find_mem_by_key(45,1673 -static void agp_remove_from_pool(64,1992 -agp_segment_priv *agp_find_seg_in_client(98,2672 -static void agp_remove_seg_from_client(123,3251 -static void agp_add_seg_to_client(138,3640 -static const pgprot_t my_protect_map[159,4226 -static pgprot_t agp_convert_mmap_flags(165,4404 -#define _trans(_trans167,4455 -static int agp_create_segment(184,4791 -static void agp_insert_into_pool(221,5841 -struct agp_file_private *agp_find_private(237,6116 -void agp_insert_file_private(252,6345 -void agp_remove_file_private(264,6567 -static void agp_free_memory_wrap(292,7070 -static struct agp_memory *agp_allocate_memory_wrap(298,7192 -static struct agp_controller *agp_find_controller_by_pid(315,7571 -static struct agp_controller *agp_create_controller(330,7847 -static int agp_insert_controller(345,8158 -static void agp_remove_all_clients(360,8465 -static void agp_remove_all_memory(383,8945 -static int agp_remove_controller(397,9196 -static void agp_controller_make_current(429,9949 -static void agp_controller_release_current(450,10394 -*agp_find_client_in_controller(480,11093 -static struct agp_controller *agp_find_controller_for_client(498,11388 -static struct agp_client *agp_find_client_by_pid(513,11702 -static void agp_insert_client(524,11933 -static struct agp_client *agp_create_client(538,12256 -static int agp_remove_client(553,12578 -static int agp_mmap(592,13400 -static int agp_release(668,15179 -static int agp_open(699,15909 -static ssize_t agp_read(743,16947 -static ssize_t agp_write(749,17062 -static int agpioc_info_wrap(755,17185 -static int agpioc_acquire_wrap(778,17860 -static int agpioc_release_wrap(818,18724 -static int agpioc_setup_wrap(825,18878 -static int agpioc_reserve_wrap(837,19113 -static int agpioc_protect_wrap(905,20804 -static int agpioc_allocate_wrap(912,20948 -static int agpioc_deallocate_wrap(936,21478 -static int agpioc_bind_wrap(950,21715 -static int agpioc_unbind_wrap(967,22086 -static int agp_ioctl(984,22436 -static struct file_operations agp_fops 1065,24308 -static struct miscdevice agp_miscdev 1077,24531 -int agp_frontend_initialize(1084,24640 -void agp_frontend_cleanup(1096,24900 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/n_r3964.c,1623 -#define TRACE(TRACE87,2263 -#define TRACE_M(TRACE_M90,2355 -#define TRACE_M(TRACE_M92,2435 -#define TRACE_PS(TRACE_PS96,2498 -#define TRACE_PS(TRACE_PS98,2579 -#define TRACE_PE(TRACE_PE102,2643 -#define TRACE_PE(TRACE_PE104,2724 -#define TRACE_L(TRACE_L108,2786 -#define TRACE_L(TRACE_L110,2866 -#define TRACE_Q(TRACE_Q114,2927 -#define TRACE_Q(TRACE_Q116,3007 -static struct tty_ldisc tty_ldisc_N_R3964 152,5030 -static void dump_block(169,5403 -static void __exit r3964_exit(197,6051 -static int __init r3964_init(216,6384 -static void add_tx_queue(250,7278 -static void remove_from_tx_queue(274,7821 -static void add_rx_queue(328,9062 -static void remove_from_rx_queue(354,9687 -static void put_char(410,11216 -static void flush(424,11457 -static void trigger_transmit(437,11658 -static void retry_transmit(466,12257 -static void transmit_block(495,12908 -static void on_receive_block(541,13954 -static void receive_char(623,16061 -static void receive_error(759,19831 -static void on_timeout(788,20526 -static struct r3964_client_info *findClient(833,21780 -static int enable_signals(848,22075 -static int read_telegram(913,23869 -static void add_msg(946,24462 -static struct r3964_message *remove_msg(1013,26040 -static void remove_client_block(1041,26711 -static int r3964_open(1065,27306 -static void r3964_close(1130,29066 -static ssize_t r3964_read(1187,30611 -static ssize_t r3964_write(1248,32197 -static int r3964_ioctl(1329,34064 -static void r3964_set_termios(1357,34892 -static unsigned int r3964_poll(1363,35049 -static void r3964_receive_buf(1392,35763 -static int r3964_receive_room(1415,36292 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riotable.c,183 -static char *_riotable_c_sccs_ 33,1253 -RIONewTable(94,2429 -RIOApel(437,13030 -RIODeleteRta(492,14609 -int RIOAssignRta(633,18933 -RIOReMapPorts(808,24228 -RIOChangeName(1003,29729 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/unixrup.h,107 -#define __rio_unixrup_h__34,1259 -static char *_unixrup_h_sccs_ 37,1305 -struct UnixRupUnixRup44,1504 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/func.h,65 -#define __func_h_def34,1248 -static char *_func_h_sccs_ 40,1329 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/poll.h,476 -#define _poll_h38,1575 -static char *_rio_poll_h_sccs 42,1624 -#define POLL_STACK 48,1703 -#define POLL_STACK 51,1755 -#define POLL_PERIOD 54,1797 -#define POLL_POLL 57,1873 -#define POLL_INTRO 58,1951 -#define POLL_TOPOLOGY 59,2020 -#define POLL_ASSIGN 60,2085 -#define POLL_FOAD 61,2144 -#define POLL_LMD 62,2210 -#define POLL_DYB 63,2256 -#define POLL_HOST_SERIAL 66,2364 -#define POLL_MY_SERIAL 67,2432 -#define POLL_YOUR_ID 68,2498 -#define POLL_TOPOLOGY_FIELDS 69,2562 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rom.h,204 -#define _rom_h 38,1557 -static char *_rio_rom_h_sccs 42,1600 -typedef struct ROM ROM ROM46,1664 -struct ROM ROM47,1691 -#define HOST_ROM 58,1966 -#define RTA_ROM 59,2001 -#define ROM_LENGTH 60,2036 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/chan.h,150 -#define _chan_h20,851 -static char *_rio_chan_h_sccs 24,893 -#define Link0 28,959 -#define Link1 29,977 -#define Link2 30,995 -#define Link3 31,1013 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riointr.c,304 -static char *_riointr_c_sccs_ 33,1251 -riopoll(100,2826 -char *firstchars 163,4538 -#define INCR(INCR174,4699 -RIOTxEnable(177,4815 -riointr(267,7644 -static int RupIntr;351,9652 -static int RxIntr;352,9672 -static int TxIntr;353,9691 -RIOServiceHost(355,9715 -RIOReceive(714,20439 -riotproc(895,25914 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/enable.h,97 -static char *_rio_enable_h_sccs 39,1582 -#define ENABLE_LTT 44,1653 -#define ENABLE_LRT 45,1678 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/list.h,964 -#define _list_h 37,1613 -static char *_rio_list_h_sccs 41,1664 -#define PKT_IN_USE 45,1730 -#define ZERO_PTR 49,1774 -#define CaD 50,1807 -#define can_add_transmit(can_add_transmit60,2112 -#define can_add_transmit(can_add_transmit67,2362 -#define can_add_transmit(can_add_transmit72,2511 -# define add_transmit(add_transmit83,2966 -# define add_transmit(add_transmit91,3234 -# define add_transmit(add_transmit102,3603 -# define can_remove_receive(can_remove_receive118,4188 -# define can_remove_receive(can_remove_receive122,4378 -# define can_remove_receive(can_remove_receive126,4601 -# define remove_receive(remove_receive139,5122 -# define remove_receive(remove_receive147,5416 -# define remove_receive(remove_receive158,5853 -#define ZERO_PTR 171,6130 -#define remove_transmit(remove_transmit176,6310 -#define can_add_receive(can_add_receive181,6605 -#define add_receive(add_receive182,6673 -#define splx(splx192,7023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioroute.c,317 -static char *_rioroute_c_sccs_ 33,1253 -int RIORouteRup(90,2328 -RIOFixPhbs(619,18881 -RIOCheckIsolated(721,22208 -RIOIsolate(751,22909 -RIOCheck(786,23780 -GetUnitType(847,25422 -RIOSetChange(871,25930 -RIOConCon(887,26202 -RIORemoveFromSavedTable(970,28564 -RIOFreeDisconnected(997,29160 -RIOFindFreeID(1064,31152 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riolocks.h,137 -#define __rio_riolocks_h__34,1262 -static char *_riolocks_h_sccs_ 37,1309 -#define LOCKB(LOCKB40,1372 -#define UNLOCKB(UNLOCKB41,1402 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/daemon.h,4130 -#define __rio_daemon_h__34,1256 -static char *_daemon_h_sccs_ 38,1314 -struct ErrorError47,1419 -struct DownLoadDownLoad54,1477 -#define MAX_VERSION_LEN 65,1598 -#define MAX_XP_CTRL_LEN 69,1658 -struct PortSetupPortSetup72,1715 -struct LpbReqLpbReq86,2210 -struct RupReqRupReq93,2278 -struct PortReqPortReq100,2348 -struct StreamInfoStreamInfo106,2407 -struct HostReqHostReq118,2526 -struct HostDpRamHostDpRam124,2585 -struct DebugCtrlDebugCtrl130,2646 -struct MapInfoMapInfo137,2709 -struct MapInMapIn143,2852 -struct SendPackSendPack149,2994 -struct SpecialRupCmdSpecialRupCmd156,3106 -struct IdentifyRtaIdentifyRta163,3200 -struct KillNeighbourKillNeighbour169,3254 -struct rioVersion rioVersion175,3312 -#define RIOC 193,3810 -#define RIO_GET_TABLE 199,3880 -#define RIO_PUT_TABLE 200,3919 -#define RIO_ASSIGN_RTA 201,3958 -#define RIO_DELETE_RTA 202,3997 -#define RIO_HOST_FOAD 203,4036 -#define RIO_QUICK_CHECK 204,4073 -#define RIO_SIGNALS_ON 205,4112 -#define RIO_SIGNALS_OFF 206,4151 -#define RIO_CHANGE_NAME 207,4190 -#define RIO_DOWNLOAD 208,4229 -#define RIO_GET_LOG 209,4268 -#define RIO_SETUP_PORTS 210,4303 -#define RIO_ALL_MODEM 211,4342 -#define RIO_NUM_HOSTS 216,4415 -#define RIO_HOST_LPB 217,4452 -#define RIO_HOST_RUP 218,4488 -#define RIO_HOST_PORT 219,4524 -#define RIO_PARMS 220,4561 -#define RIO_HOST_REQ 221,4595 -#define RIO_READ_CONFIG 222,4631 -#define RIO_SET_CONFIG 223,4670 -#define RIO_VERSID 224,4708 -#define RIO_FLAGS 225,4742 -#define RIO_SETDEBUG 226,4775 -#define RIO_GETDEBUG 227,4811 -#define RIO_READ_LEVELS 228,4847 -#define RIO_SET_FAST_BUS 229,4886 -#define RIO_SET_SLOW_BUS 230,4925 -#define RIO_SET_BYTE_MODE 231,4964 -#define RIO_SET_WORD_MODE 232,5003 -#define RIO_STREAM_INFO 233,5042 -#define RIO_START_POLLER 234,5081 -#define RIO_STOP_POLLER 235,5120 -#define RIO_LAST_ERROR 236,5159 -#define RIO_TICK 237,5198 -#define RIO_TOCK 238,5230 -#define RIO_SEND_PACKET 239,5301 -#define RIO_SET_BUSY 240,5340 -#define SPECIAL_RUP_CMD 241,5376 -#define RIO_FOAD_RTA 242,5415 -#define RIO_ZOMBIE_RTA 243,5454 -#define RIO_IDENTIFY_RTA 244,5493 -#define RIO_KILL_NEIGHBOUR 245,5532 -#define RIO_DEBUG_MEM 246,5572 -#define RIO_GET_PORT_SETUP 250,5652 -#define RIO_RESUME 251,5692 -#define RIO_MESG 252,5731 -#define RIO_NO_MESG 253,5761 -#define RIO_WHAT_MESG 254,5794 -#define RIO_HOST_DPRAM 255,5829 -#define RIO_MAP_B50_TO_50 256,5865 -#define RIO_MAP_B50_TO_57600 257,5904 -#define RIO_MAP_B110_TO_110 258,5946 -#define RIO_MAP_B110_TO_115200 259,5987 -#define RIO_GET_PORT_PARAMS 260,6031 -#define RIO_SET_PORT_PARAMS 261,6072 -#define RIO_GET_PORT_TTY 262,6113 -#define RIO_SET_PORT_TTY 263,6151 -#define RIO_SYSLOG_ONLY 264,6189 -#define RIO_SYSLOG_CONS 265,6226 -#define RIO_CONS_ONLY 266,6263 -#define RIO_BLOCK_OPENS 267,6298 -#define RIO_MEM_DUMP 279,6548 -#define RIO_READ_REGISTER 280,6582 -#define RIO_GET_MODTYPE 281,6621 -#define RIO_SET_TIMER 282,6658 -#define RIO_READ_CHECK 283,6693 -#define RIO_WAITING_FOR_RESTART 284,6729 -#define RIO_BIND_RTA 285,6774 -#define RIO_GET_BINDINGS 286,6808 -#define RIO_PUT_BINDINGS 287,6846 -#define RIO_MAKE_DEV 289,6885 -#define RIO_MINOR 290,6920 -#define RIO_IDENTIFY_DRIVER 292,6953 -#define RIO_DISPLAY_HOST_CFG 293,6994 -#define RIO_DEV_DIRECT 299,7070 -#define RIO_DEV_MODEM 300,7101 -#define RIO_DEV_XPRINT 301,7131 -#define RIO_DEV_MASK 302,7162 -#define rIOCN(rIOCN307,7231 -#define rIOCR(rIOCR308,7259 -#define rIOCW(rIOCW309,7289 -#define RIO_GET_XP_ON 311,7320 -#define RIO_SET_XP_ON 312,7392 -#define RIO_GET_XP_OFF 313,7438 -#define RIO_SET_XP_OFF 314,7511 -#define RIO_GET_XP_CPS 315,7557 -#define RIO_SET_XP_CPS 316,7615 -#define RIO_GET_IXANY 317,7656 -#define RIO_SET_IXANY 318,7718 -#define RIO_SET_IXANY_ON 319,7759 -#define RIO_SET_IXANY_OFF 320,7815 -#define RIO_GET_MODEM 321,7874 -#define RIO_SET_MODEM 322,7948 -#define RIO_SET_MODEM_ON 323,7989 -#define RIO_SET_MODEM_OFF 324,8049 -#define RIO_GET_IXON 325,8108 -#define RIO_SET_IXON 326,8169 -#define RIO_SET_IXON_ON 327,8210 -#define RIO_SET_IXON_OFF 328,8265 -#define RIO_GET_SIVIEW 330,8324 -#define RIO_IOCTL_UNKNOWN 332,8404 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/cmdpkt.h,773 -#define __rio_cmdpkt_h__33,1255 -static char *_cmdpkt_h_sccs_ 37,1313 -#define RTA_BOOT_DATA_SIZE 50,1749 -struct BootSequenceBootSequence57,1955 -#define BOOT_SEQUENCE_LEN 64,2040 -struct SamTopSamTop66,2069 -struct CmdHdrCmdHdr72,2119 -struct PktCmdPktCmd84,2243 -struct PktCmd_MPktCmd_M129,3161 -#define Command 188,4231 -#define PhbNum 189,4271 -#define IDNum 190,4312 -#define IDNum2 191,4351 -#define LinkNum 192,4382 -#define Sequence 193,4425 -#define BootData 194,4459 -#define BootSequence 195,4493 -#define UniqNum 196,4535 -#define ModemStatus 197,4568 -#define PortStatus 198,4608 -#define SubCommand 199,4646 -#define SubAddr 200,4684 -#define SubData 201,4717 -#define CommandText 202,4750 -#define RouteTopology 203,4790 -#define ModuleTypes 204,4827 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/lrt.h,92 -static char *_rio_lrt_h_sccs 39,1589 -#define LRT_STACK 45,1669 -#define LRT_STACK 47,1720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/proto.h,29 -#define _prototypes_h20,858 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riotty.c,548 -static char *_riotty_c_sccs_ 33,1249 -#define __EXPLICIT_DEF_H__37,1309 -default_sg 117,2965 -riotopen(145,3674 -riotclose(517,13889 -RIOCookMode(730,20065 -RIOClearUp(763,20800 -int RIOShortCommand(789,21519 -riotioctl(880,23861 -#define OLD_POSIX 1153,31940 -#define OLD_POSIX_SETA 1154,31969 -#define OLD_POSIX_SETAW 1155,32008 -#define OLD_POSIX_SETAF 1156,32048 -#define NEW_POSIX 1157,32088 -#define NEW_POSIX_SETA 1158,32134 -#define NEW_POSIX_SETAW 1159,32173 -#define NEW_POSIX_SETAF 1160,32213 -ttyseth(1282,35389 -ttyseth_pv(1340,36786 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/bootpkt.h,151 -#define _pkt_h 40,1586 -static char *_rio_bootpkt_h_sccs 44,1629 -typedef struct BOOT_PKT BOOT_PKT BOOT_PKT52,1876 -struct BOOT_PKT BOOT_PKT53,1911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/eisa.h,1663 -#define __rio_eisa_h__35,1251 -static char *_eisa_h_sccs_ 39,1307 -#define RIO_EISA_STRING_ADDRESS 47,1410 -#define RIO_MAX_EISA_SLOTS 49,1479 -#define RIO_EISA_IDENT 51,1538 -#define RIO_EISA_PRODUCT_CODE 52,1586 -#define RIO_EISA_ENABLE_BIT 53,1636 -#define EISA_MEMORY_BASE_LO 55,1692 -#define EISA_MEMORY_BASE_HI 56,1741 -#define EISA_INTERRUPT_VEC 57,1790 -#define EISA_CONTROL_PORT 58,1840 -#define EISA_INTERRUPT_RESET 59,1889 -#define EISA_PRODUCT_IDENT_LO 61,1950 -#define EISA_PRODUCT_IDENT_HI 62,2017 -#define EISA_PRODUCT_NUMBER 63,2054 -#define EISA_REVISION_NUMBER 64,2116 -#define EISA_ENABLE 65,2173 -#define EISA_UNIQUE_NUM_0 66,2230 -#define EISA_UNIQUE_NUM_1 67,2275 -#define EISA_UNIQUE_NUM_2 68,2308 -#define EISA_UNIQUE_NUM_3 69,2370 -#define EISA_MANUF_YEAR 70,2403 -#define EISA_MANUF_WEEK 71,2446 -#define EISA_TP_BOOT_FROM_RAM 73,2495 -#define EISA_TP_BOOT_FROM_LINK 74,2530 -#define EISA_TP_FAST_LINKS 75,2566 -#define EISA_TP_SLOW_LINKS 76,2598 -#define EISA_TP_BUS_ENABLE 77,2630 -#define EISA_TP_BUS_DISABLE 78,2662 -#define EISA_TP_RUN 79,2695 -#define EISA_TP_RESET 80,2721 -#define EISA_POLLED 81,2749 -#define EISA_IRQ_3 82,2775 -#define EISA_IRQ_4 83,2800 -#define EISA_IRQ_5 84,2825 -#define EISA_IRQ_6 85,2850 -#define EISA_IRQ_7 86,2875 -#define EISA_IRQ_9 87,2900 -#define EISA_IRQ_10 88,2925 -#define EISA_IRQ_11 89,2951 -#define EISA_IRQ_12 90,2977 -#define EISA_IRQ_14 91,3003 -#define EISA_IRQ_15 92,3029 -#define EISA_INTERRUPT_MASK 94,3056 -#define EISA_CONTROL_MASK 95,3089 -#define RIO_EISA_DEFAULT_MODE 97,3121 -#define RIOEisaToIvec(RIOEisaToIvec99,3171 -#define INBZ(INBZ101,3245 -#define OUTBZ(OUTBZ102,3284 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/protsts.h,358 -#define _protsts_h 38,1618 -#define PHB_RX_LAST_PKT_ACKED 56,2099 -#define PHB_RX_DATA_WNDW 62,2321 -#define PHB_RX_TGL 68,2563 -#define PHB_TX_SEND_PKT_ACK 77,2835 -#define PHB_TX_ACK_RQRD 82,3038 -#define PHB_TX_DATA_WNDW 91,3350 -#define PHB_TX_TGL 98,3592 -#define PHB_TX_INTR 104,3854 -#define PHB_TX_HANDSHAKE 110,4079 -#define RUP_SEND_WNDW 113,4131 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/sam.h,257 -#define _sam_h 37,1558 -#define RTA 47,1723 -#define NUM_FREE_LIST_UNITS 50,1745 -#define FALSE 53,1796 -#define TRUE 56,1844 -#define TX 59,1882 -#define RX 60,1901 -typedef struct FREE_LIST FREE_LIST FREE_LIST63,1923 -struct FREE_LIST FREE_LIST64,1960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioboard.h,4931 -#define _rioboard_h 39,1418 -#define RIO_REG_BASE 49,1869 -#define RIO_CONFIG 51,1932 -#define RIO_INTSET 52,2009 -#define RIO_RESET 53,2077 -#define RIO_INTRESET 54,2141 -#define RIO_VPD_ROM 56,2214 -#define RIO_INTSTAT 57,2291 -#define RIO_RESETSTAT 58,2380 -#define VPD_SLX_ID1 61,2501 -#define VPD_SLX_ID2 62,2564 -#define VPD_HW_REV 63,2627 -#define VPD_HW_ASSEM 64,2683 -#define VPD_UNIQUEID4 65,2747 -#define VPD_UNIQUEID3 66,2809 -#define VPD_UNIQUEID2 67,2871 -#define VPD_UNIQUEID1 68,2933 -#define VPD_MANU_YEAR 69,2995 -#define VPD_MANU_WEEK 70,3067 -#define VPD_HWFEATURE1 71,3145 -#define VPD_HWFEATURE2 72,3211 -#define VPD_HWFEATURE3 73,3277 -#define VPD_HWFEATURE4 74,3343 -#define VPD_HWFEATURE5 75,3409 -#define VPD_OEMID 76,3475 -#define VPD_IDENT 77,3527 -#define VPD_IDENT_LEN 78,3593 -#define SLX_ID1 81,3650 -#define SLX_ID2 82,3672 -#define PRODUCT_ID(PRODUCT_ID84,3695 -#define ID_SX_ISA 86,3782 -#define ID_RIO_EISA 87,3804 -#define ID_SX_PCI 88,3828 -#define ID_SX_EISA 89,3850 -#define ID_RIO_RTA16 90,3873 -#define ID_RIO_ISA 91,3898 -#define ID_RIO_MCA 92,3921 -#define ID_RIO_SBUS 93,3944 -#define ID_RIO_PCI 94,3968 -#define ID_RIO_RTA8 95,3991 -#define BOOTLOADADDR 99,4059 -#define BOOTINDICATE 100,4094 -#define FIRMWARELOADADDR 104,4163 -#define RIO_ISA_IDENT 113,4678 -#define RIO_ISA_CFG_BOOTRAM 115,4720 -#define RIO_ISA_CFG_BUSENABLE 116,4785 -#define RIO_ISA_CFG_IRQMASK 117,4848 -#define RIO_ISA_CFG_IRQ12 118,4903 -#define RIO_ISA_CFG_IRQ11 119,4962 -#define RIO_ISA_CFG_IRQ9 120,5021 -#define RIO_ISA_CFG_LINK20 121,5078 -#define RIO_ISA_CFG_WAITSTATE0 122,5142 -#define RIO_ISA2_IDENT 131,5641 -#define RIO_ISA2_CFG_BOOTRAM 133,5684 -#define RIO_ISA2_CFG_BUSENABLE 134,5750 -#define RIO_ISA2_CFG_INTENABLE 135,5814 -#define RIO_ISA2_CFG_16BIT 136,5888 -#define RIO_ISA2_CFG_IRQMASK 137,5949 -#define RIO_ISA2_CFG_IRQ15 138,6005 -#define RIO_ISA2_CFG_IRQ12 139,6065 -#define RIO_ISA2_CFG_IRQ11 140,6125 -#define RIO_ISA2_CFG_IRQ9 141,6185 -#define RIO_ISA2_CFG_LINK20 142,6243 -#define RIO_ISA2_CFG_WAITSTATE0 143,6308 -#define RIO_ISA3_IDENT 152,6808 -#define RIO_ISA3_CFG_BUSENABLE 154,6851 -#define RIO_ISA3_CFG_INTENABLE 155,6915 -#define RIO_ISA32_CFG_IRQMASK 156,6989 -#define RIO_ISA3_CFG_IRQ15 157,7047 -#define RIO_ISA3_CFG_IRQ12 158,7107 -#define RIO_ISA3_CFG_IRQ11 159,7167 -#define RIO_ISA3_CFG_IRQ10 160,7227 -#define RIO_ISA3_CFG_IRQ9 161,7287 -#define RIO_MCA_IDENT 170,7780 -#define RIO_MCA_CFG_BOOTRAM 172,7822 -#define RIO_MCA_CFG_BUSENABLE 173,7887 -#define RIO_MCA_CFG_LINK20 174,7950 -#define EISA_PRODUCT_ID1 183,8457 -#define EISA_PRODUCT_ID2 184,8488 -#define EISA_PRODUCT_NUMBER 185,8519 -#define EISA_REVISION_NUMBER 186,8553 -#define EISA_CARD_ENABLE 187,8588 -#define EISA_VPD_UNIQUEID4 188,8619 -#define EISA_VPD_UNIQUEID3 189,8686 -#define EISA_VPD_UNIQUEID2 190,8753 -#define EISA_VPD_UNIQUEID1 191,8820 -#define EISA_VPD_MANU_YEAR 192,8887 -#define EISA_VPD_MANU_WEEK 193,8964 -#define EISA_MEM_ADDR_23_16 194,9047 -#define EISA_MEM_ADDR_31_24 195,9081 -#define EISA_RIO_CONFIG 196,9115 -#define EISA_RIO_INTSET 197,9183 -#define EISA_RIO_INTRESET 198,9242 -#define RIO_EISA_CFG_BOOTRAM 201,9343 -#define RIO_EISA_CFG_LINK20 202,9409 -#define RIO_EISA_CFG_BUSENABLE 203,9474 -#define RIO_EISA_CFG_PROCRUN 204,9538 -#define RIO_EISA_CFG_IRQMASK 205,9609 -#define RIO_EISA_CFG_IRQ15 206,9665 -#define RIO_EISA_CFG_IRQ14 207,9725 -#define RIO_EISA_CFG_IRQ12 208,9785 -#define RIO_EISA_CFG_IRQ11 209,9845 -#define RIO_EISA_CFG_IRQ10 210,9905 -#define RIO_EISA_CFG_IRQ9 211,9965 -#define RIO_EISA_CFG_IRQ7 212,10023 -#define RIO_EISA_CFG_IRQ6 213,10081 -#define RIO_EISA_CFG_IRQ5 214,10139 -#define RIO_EISA_CFG_IRQ4 215,10197 -#define RIO_EISA_CFG_IRQ3 216,10255 -#define RIO_SBUS_IDENT 225,10748 -#define RIO_SBUS_CFG_BOOTRAM 227,10801 -#define RIO_SBUS_CFG_BUSENABLE 228,10867 -#define RIO_SBUS_CFG_INTENABLE 229,10931 -#define RIO_SBUS_CFG_IRQMASK 230,11005 -#define RIO_SBUS_CFG_IRQNONE 231,11061 -#define RIO_SBUS_CFG_IRQ7 232,11117 -#define RIO_SBUS_CFG_IRQ6 233,11175 -#define RIO_SBUS_CFG_IRQ5 234,11233 -#define RIO_SBUS_CFG_IRQ4 235,11291 -#define RIO_SBUS_CFG_IRQ3 236,11349 -#define RIO_SBUS_CFG_IRQ2 237,11407 -#define RIO_SBUS_CFG_IRQ1 238,11465 -#define RIO_SBUS_CFG_LINK20 239,11523 -#define RIO_SBUS_CFG_PROC25 240,11588 -#define RIO_PCI_IDENT 249,12097 -#define RIO_PCI_CFG_BOOTRAM 251,12139 -#define RIO_PCI_CFG_BUSENABLE 252,12204 -#define RIO_PCI_CFG_INTENABLE 253,12267 -#define RIO_PCI_CFG_LINK20 254,12340 -#define RIO_PCI_CFG_PROC25 255,12404 -#define SPX_VENDOR_ID 258,12503 -#define SPX_DEVICE_ID 259,12564 -#define SPX_PLXDEVICE_ID 260,12619 -#define SPX_SUB_VENDOR_ID 261,12676 -#define RIO_SUB_SYS_ID 262,12740 -#define RIO_PCI2_IDENT 271,13227 -#define RIO_PCI2_CFG_BUSENABLE 273,13270 -#define RIO_PCI2_CFG_INTENABLE 274,13334 -#define RIO2_SUB_SYS_ID 277,13434 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rtahw.h,790 -static char *_rio_rtahw_h_sccs 40,1588 -#define WATCHDOG_ADDR 44,1656 -#define RTA_LED_ADDR 45,1705 -#define SERIALNUM_ADDR 46,1753 -#define LATCH_ADDR 47,1802 -#define CD1400_ONE_ADDR 52,1915 -#define CD1400_TWO_ADDR 53,1949 -#define CD1400_THREE_ADDR 54,1983 -#define CD1400_FOUR_ADDR 55,2018 -enum module module60,2112 - MOD_BLANK 61,2126 - MOD_BLANK = 0x0f,61,2126 - MOD_RS232DB25 62,2177 - MOD_RS232DB25 = 0x00,62,2177 - MOD_RS232RJ45 63,2231 - MOD_RS232RJ45 = 0x01,63,2231 - MOD_RS422DB25 64,2285 - MOD_RS422DB25 = 0x02,64,2285 - MOD_RS485DB25 65,2339 - MOD_RS485DB25 = 0x03,65,2339 - MOD_PARALLEL 66,2393 - MOD_PARALLEL = 0x04 66,2393 -#define TYPE_HOST 69,2448 -#define TYPE_RTA8 70,2468 -#define TYPE_RTA16 71,2488 -#define WATCH_DOG 73,2510 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/qbuf.h,200 -#define _qbuf_h 39,1600 -static char *_rio_qbuf_h_sccs 43,1651 -#define PKTS_PER_BUFFER 50,1731 -#define PKTS_PER_BUFFER 52,1766 -typedef struct Q_BUF Q_BUF Q_BUF55,1820 -struct Q_BUF Q_BUF56,1849 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rup.h,319 -#define _rup_h 38,1570 -#define MAX_RUP 47,1732 -#define MAX_RUP 50,1789 -#define PKTS_PER_RUP 53,1834 -#define TX_RUP_INACTIVE 58,2054 -#define TX_PACKET_READY 59,2122 -#define TX_LOCK_RUP 60,2192 -#define RX_RUP_INACTIVE 62,2262 -#define RX_PACKET_READY 63,2327 -#define RUP_NO_OWNER 65,2392 -struct RUP RUP67,2470 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/phb.h,1880 -#define _phb_h 38,1614 -#define RX_LIMIT 51,1876 -#define RX_LIMIT 54,1929 -#define PHB_HANDSHAKE_SET 61,2122 -#define PHB_HANDSHAKE_RESET 63,2188 -#define PHB_HANDSHAKE_FLAGS 65,2264 -#define MAX_PHB 73,2577 -#define MAX_PHB 75,2647 -#define TXPKT_INCOMPLETE 81,2850 -#define TXINTR_ENABLED 82,2929 -#define TX_TAB3 83,2999 -#define TX_OCRNL 84,3055 -#define TX_ONLCR 85,3112 -#define TX_SENDSPACES 86,3169 -#define TX_SENDNULL 88,3298 -#define TX_SENDLF 89,3375 -#define TX_PARALLELBUG 90,3450 -#define TX_HANGOVER 92,3579 -#define TX_DTRFLOW 93,3653 -#define TX_DTRFLOWED 94,3706 -#define TX_DATAINFIFO 96,3798 -#define TX_BUSY 97,3860 -#define RX_SPARE 99,3928 -#define RXINTR_ENABLED 100,3974 -#define RX_ICRNL 101,4042 -#define RX_INLCR 102,4100 -#define RX_IGNCR 103,4158 -#define RX_CTSFLOW 104,4216 -#define RX_IXOFF 105,4279 -#define RX_CTSFLOWED 106,4340 -#define RX_IXOFFED 107,4411 -#define RX_BUFFERED 108,4478 -#define PORT_ISOPEN 110,4547 -#define PORT_HUPCL 111,4604 -#define PORT_MOPENPEND 112,4667 -#define PORT_ISPARALLEL 113,4732 -#define PORT_BREAK 114,4792 -#define PORT_STATUSPEND 115,4852 -#define PORT_BREAKPEND 116,4913 -#define PORT_MODEMPEND 117,4980 -#define PORT_PARALLELBUG 118,5054 -#define PORT_FULLMODEM 120,5183 -#define PORT_RJ45 121,5248 -#define PORT_RESTRICTED 122,5324 -#define PORT_MODEMBITS 124,5406 -#define PORT_WCLOSE 126,5475 -#define PORT_HANDSHAKEFIX 127,5539 -#define PORT_WASPCLOSED 128,5608 -#define DUMPMODE 129,5670 -#define READ_REG 130,5714 -#define src_unit 143,6174 -#define src_port 144,6206 -#define dest_unit 145,6238 -#define dest_port 146,6270 -#define tx_start 149,6321 -#define tx_add 150,6365 -#define tx_end 151,6407 -#define tx_remove 152,6449 -#define rx_start 153,6494 -#define rx_add 154,6538 -#define rx_end 155,6580 -#define rx_remove 156,6622 -typedef struct PHB PHB PHB158,6674 -struct PHB PHB159,6699 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/param.h,104 -#define __rio_param_h__34,1253 -static char *_param_h_sccs_ 37,1297 -struct phb_paramphb_param45,1423 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riopcicopy.c,23 -void rio_pcicopy(4,51 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioboot.c,425 -static char *_rioboot_c_sccs_ 34,1252 -RIOAtVec2Ctrl[84,2145 -RIOBootCodeRTA(108,2695 -void rio_start_card_running 181,4513 -RIOBootCodeHOST(241,6184 -#define NFIX(NFIX425,12798 -#define PFIX(PFIX426,12854 -#define JUMP(JUMP427,12910 -#define HOST_DISABLE 495,15112 -RIOBootRup(655,20004 -int RIOBootComplete(805,24500 -RIOBootOk(1240,38487 -FillSlot(1269,39089 -disable_interrupt(1316,40533 -enable_interrupt(1339,40890 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioinfo.h,408 -#define __rioinfo_h34,1253 -static char *_rioinfo_h_sccs_ 37,1293 -struct RioHostInfo RioHostInfo43,1388 -#define INTERRUPTED_MODE 54,1701 -#define POLLED_MODE 55,1761 -#define AUTO_MODE 56,1807 -#define WORD_ACCESS_MODE 58,1849 -#define BYTE_ACCESS_MODE 59,1903 -#define ISA_BUS 63,1992 -#define EISA_BUS 64,2038 -#define MCA_BUS 65,2085 -#define PCI_BUS 66,2131 -#define DEF_TERM_CHARACTERISTICS 74,2325 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/hosthw.h,248 -static char *_rio_hosthw_h_sccs 40,1607 -#define SET_OTHER_INTERRUPT 44,1677 -#define SET_EISA_INTERRUPT 45,1738 -#define EISA_HOST 47,1799 -#define AT_HOST 48,1825 -#define MCA_HOST 49,1851 -#define PCI_HOST 50,1877 -#define PRODUCT_MASK 52,1904 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/lttwake.h,113 -static char *_rio_lttwake_h_sccs 42,1597 -#define LTT_WAKEUP_STACK 46,1669 -#define LTT_WAKEUP_INTERVAL 47,1707 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rio_linux.h,1335 -#define RIO_NBOARDS 28,930 -#define RIO_PORTSPERBOARD 29,959 -#define RIO_NPORTS 30,989 -#define MODEM_SUPPORT32,1050 -#define RIO_MAGIC 36,1092 -struct vpd_prom vpd_prom39,1123 -#define RIO_DEBUG_ALL 52,1297 -#define O_OTHER(O_OTHER54,1341 -#define I_OTHER(I_OTHER70,1736 -#define RIO_BOARD_INTR_LOCK 81,1919 -#define RIOCTL_MISC_MINOR 86,2051 -#define rio_spin_lock_irqsave(rio_spin_lock_irqsave93,2184 -#define rio_spin_unlock_irqrestore(rio_spin_unlock_irqrestore99,2407 -#define rio_spin_lock(rio_spin_lock105,2644 -#define rio_spin_unlock(rio_spin_unlock111,2829 -#define rio_spin_lock_irqsave(rio_spin_lock_irqsave117,3025 -#define rio_spin_unlock_irqrestore(rio_spin_unlock_irqrestore120,3112 -#define rio_spin_lock(rio_spin_lock123,3209 -#define rio_spin_unlock(rio_spin_unlock126,3267 -static inline void *rio_memcpy_toio 134,3364 -static inline void *rio_memcpy_fromio 148,3586 -#define rio_memcpy_toio(rio_memcpy_toio160,3771 -#define rio_memcpy_fromio 161,3847 -#define DEBUG 164,3916 -#define rio_dprintk(rio_dprintk177,4327 -#define func_enter(func_enter178,4407 -#define func_exit(func_exit179,4490 -#define func_enter2(func_enter2180,4573 -#define rio_dprintk(rio_dprintk182,4684 -#define func_enter(func_enter183,4729 -#define func_exit(func_exit184,4750 -#define func_enter2(func_enter2185,4770 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioparam.c,214 -static char *_rioparam_c_sccs_ 34,1254 -RIOParam(161,5435 -#define e(e500,13883 -can_add_transmit(642,18614 -add_transmit(659,19041 -put_free_end(676,19576 -can_remove_receive(719,21068 -remove_receive(737,21487 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riospace.h,1716 -#define __rio_riospace_h__34,1262 -static char *_riospace_h_sccs_ 37,1309 -#define RIO_LOCATOR_LEN 40,1372 -#define MAX_RIO_BOARDS 41,1399 -struct ConfConf50,1694 -#define RIO_EMPTY 78,2291 -#define RIO_EISA 79,2313 -#define RIO_RTA_16 80,2334 -#define RIO_AT 81,2357 -#define RIO_MCA 82,2377 -#define RIO_PCI 83,2398 -#define RIO_RTA 84,2419 -struct BrdBrd89,2508 -struct BoardBoard96,2702 -#define BOOT_FROM_LINK 103,2826 -#define BOOT_FROM_RAM 104,2855 -#define EXTERNAL_BUS_OFF 105,2883 -#define EXTERNAL_BUS_ON 106,2913 -#define INTERRUPT_DISABLE 107,2943 -#define INTERRUPT_ENABLE 108,2974 -#define BYTE_OPERATION 109,3004 -#define WORD_OPERATION 110,3033 -#define POLLED 111,3062 -#define IRQ_15 112,3097 -#define IRQ_12 113,3140 -#define IRQ_11 114,3183 -#define IRQ_9 115,3226 -#define SLOW_LINKS 116,3268 -#define FAST_LINKS 117,3293 -#define SLOW_AT_BUS 118,3318 -#define FAST_AT_BUS 119,3344 -#define SLOW_PCI_TP 120,3370 -#define FAST_PCI_TP 121,3396 -#define DBG_NONE 125,3444 -#define DBG_INIT 127,3473 -#define DBG_OPEN 128,3501 -#define DBG_CLOSE 129,3529 -#define DBG_IOCTL 130,3558 -#define DBG_READ 132,3588 -#define DBG_WRITE 133,3616 -#define DBG_INTR 134,3645 -#define DBG_PROC 135,3673 -#define DBG_PARAM 137,3702 -#define DBG_CMD 138,3731 -#define DBG_XPRINT 139,3759 -#define DBG_POLL 140,3789 -#define DBG_DAEMON 142,3818 -#define DBG_FAIL 143,3848 -#define DBG_MODEM 144,3876 -#define DBG_LIST 145,3905 -#define DBG_ROUTE 147,3934 -#define DBG_UTIL 148,3963 -#define DBG_BOOT 149,3998 -#define DBG_BUFFER 150,4026 -#define DBG_MON 152,4057 -#define DBG_SPECIAL 153,4085 -#define DBG_VPIX 154,4120 -#define DBG_FLUSH 155,4148 -#define DBG_QENABLE 157,4178 -#define DBG_ALWAYS 159,4210 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rio_linux.c,2344 -#define RCS_ID 36,1191 -#define RCS_REV 37,1263 -#define RIO_NORMAL_MAJOR0 116,3090 -#define RIO_NORMAL_MAJOR1 117,3121 -#define PCI_DEVICE_ID_SPECIALIX_SX_XIO_IO8 121,3203 -#define RIO_WINDOW_LEN 125,3285 -#define IRQ_RATE_LIMIT 142,3780 -#define RIO_REPORT_FIFO150,3983 -#define RIO_REPORT_OVERRUN151,4007 -RIOConf 157,4113 -static struct tty_driver *rio_driver,203,6229 -static struct tty_driver *rio_driver, *rio_driver2;203,6229 -struct rio_info *p;207,6387 -struct rio_port *rio_ports;210,6450 -int rio_initialized;212,6479 -int rio_nports;213,6500 -int rio_debug;214,6516 -int rio_poll 221,6721 -int rio_probe_addrs[226,6829 -#define NR_RIO_ADDRS 228,6882 -long rio_irqmask 234,7141 -static struct real_driver rio_real_driver 243,7414 -static struct file_operations rio_fw_fops 262,7753 -struct miscdevice rio_fw_device 267,7852 -static inline int rio_paranoia_check(279,8028 -#define rio_paranoia_check(rio_paranoia_check300,8529 -void my_hd 305,8587 -#define my_hd(my_hd323,9043 -int RIODelay 328,9167 -int RIODelay_ni 345,9543 -int rio_minor(357,9799 -int rio_ismodem(363,9903 -void rio_udelay 369,9960 -static int rio_set_real_termios 374,10011 -void rio_reset_interrupt 392,10277 -static irqreturn_t rio_interrupt 407,10474 -static void rio_pollfunc 485,12879 -static void rio_disable_tx_interrupts 505,13551 -static void rio_enable_tx_interrupts 515,13683 -static void rio_disable_rx_interrupts 539,14178 -static void rio_enable_rx_interrupts 545,14266 -static int rio_get_CD 554,14424 -static int rio_chars_in_buffer 571,14797 -static void rio_shutdown_port 581,14924 -static void rio_hungup 615,15854 -static void rio_close 632,16170 -static int rio_fw_ioctl 653,16480 -static int rio_ioctl 669,16881 -static void rio_throttle 787,20753 -static void rio_unthrottle 804,21094 -struct vpd_prom *get_VPD_PROM 829,21671 -static struct tty_operations rio_ops 856,22282 -static int rio_init_drivers(874,22720 -static void * ckmalloc 930,24256 -static int rio_init_datastructures 942,24388 -#define RI_SZ 954,24802 -#define HOST_SZ 955,24842 -#define PORT_SZ 956,24878 -#define TMIO_SZ 957,24916 -static void __exit rio_release_drivers(1019,26632 -void fix_rio_pci 1050,27676 -#define CNTRL_REG_OFFSET 1056,27784 -#define CNTRL_REG_GOODVALUE 1057,27821 -static int __init rio_init(1073,28298 -static void __exit rio_exit 1331,38146 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/sysmap.h,267 -static char *_rio_sysmap_h_sccs 40,1591 -#define SYSTEM_MAP_LEN 44,1661 -typedef struct SYS_MAP SYS_MAP SYS_MAP47,1733 -typedef struct SYS_MAP_LINK SYS_MAP_LINK SYS_MAP_LINK48,1773 -struct SYS_MAP_LINK SYS_MAP_LINK50,1819 -struct SYS_MAP SYS_MAP56,2050 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riodrvr.h,284 -#define __riodrvr_h34,1253 -static char *_riodrvr_h_sccs_ 39,1330 -#define MEMDUMP_SIZE 42,1391 -#define MOD_DISABLE 43,1415 -struct rio_info rio_info46,1475 -#define debug(debug133,4786 -#define debug(debug135,4825 -#define RIO_RESET_INT 140,4863 -#define WRBYTE(WRBYTE141,4892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/link.h,1642 -#define _link_h 38,1575 -#define LRT_ACTIVE 51,1834 -#define LRT_SPARE1 52,1877 -#define INTRO_RCVD 53,1920 -#define FORCED_DISCONNECT 54,1963 -#define LRT_SPARE2 55,2006 -#define TOP_OF_RTA_RAM 57,2045 -#define HOST_SERIAL_POINTER 58,2090 -#define WAITING_ACK 61,2204 -#define DATA_SENT 62,2242 -#define WAITING_RUP 63,2278 -#define WAITING_RETRY 64,2316 -#define WAITING_TOPOLOGY 65,2356 -#define SEND_SYNC 66,2398 -#define FOAD_THIS_LINK 67,2434 -#define REQUEST_SYNC 68,2475 -#define REMOTE_DYING 69,2514 -#define DIE_NOW 70,2553 -#define BOOT_REQUEST 73,2613 -#define BOOT_ABORT 74,2681 -#define BOOT_SEQUENCE 75,2743 -#define BOOT_COMPLETED 77,2889 -#define LINK_DISCONNECTED 80,2989 -#define LINK_BOOT1 81,3051 -#define LINK_BOOT2 82,3130 -#define LINK_BOOT2WAIT 83,3209 -#define LINK_BOOT3 84,3287 -#define LINK_SYNC 85,3367 -#define LINK_INTRO 87,3425 -#define LINK_SUPPLYID 88,3495 -#define LINK_TOPOLOGY 89,3568 -#define LINK_REQUESTID 90,3641 -#define LINK_CONNECTED 91,3709 -#define LINK_INTERCONNECT 93,3770 -#define LINK_SPARE 95,3843 -#define LINKTIMEOUT 100,3938 -#define LED_OFF 106,4016 -#define LED_RED 107,4073 -#define LED_GREEN 108,4130 -#define LED_ORANGE 109,4189 -#define LED_1TO8_OPEN 110,4249 -#define LED_9TO16_OPEN 111,4315 -#define LED_SET_COLOUR(LED_SET_COLOUR112,4382 -#define LED_OR_COLOUR(LED_OR_COLOUR113,4436 -#define LED_TIMEOUT(LED_TIMEOUT114,4490 -#define LED_SET_COLOUR(LED_SET_COLOUR116,4577 -#define LED_OR_COLOUR(LED_OR_COLOUR117,4608 -#define LED_TIMEOUT(LED_TIMEOUT118,4638 -struct LPB LPB121,4682 -#define QBUFS_PER_REDIRECT 149,6316 -#define QBUFS_PER_REDIRECT 151,6379 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/cmdblk.h,134 -#define __rio_cmdblk_h__34,1256 -static char *_cmdblk_h_sccs_ 38,1314 -struct CmdBlkCmdBlk47,1470 -#define NUM_RIO_CMD_BLKS 59,1968 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/host.h,891 -#define __rio_host_h__34,1250 -static char *_host_h_sccs_ 38,1306 -#define MAX_EXTRA_UNITS 46,1432 -struct HostHost52,1549 -#define RC_WAITING 79,2898 -#define RC_STARTUP 80,2930 -#define RC_RUNNING 81,2962 -#define RC_STUFFED 82,2994 -#define RC_SOMETHING 83,3026 -#define RC_SOMETHING_NEW 84,3058 -#define RC_SOMETHING_ELSE 85,3090 -#define RC_READY 86,3122 -#define RUN_STATE 87,3154 -#define RC_BOOT_ALL 92,3272 -#define RC_BOOT_OWN 93,3335 -#define RC_BOOT_NONE 94,3412 -#define Control 116,4563 -#define SetInt 117,4601 -#define ResetTpu 118,4638 -#define ResetInt 119,4677 -#define Signature 120,4716 -#define Sram1 121,4756 -#define Sram2 122,4792 -#define Sram3 123,4828 -#define Scratch 124,4864 -#define __ParmMapR 125,4902 -#define SLX 126,4941 -#define Revision 127,4975 -#define Unique 128,5014 -#define Year 129,5051 -#define Week 130,5086 -#define RIO_DUMBPARM 132,5122 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/space.h,69 -#define __rio_space_h__34,1253 -static char *_space_h_sccs_ 37,1297 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/selftest.h,1117 -#define _selftests_h_29,969 -#define SELFTEST_MAGIC 34,1024 -}selftestStruct;selftestStruct46,1369 -enum test test51,1461 - TESTS_COMPLETE 52,1473 - TESTS_COMPLETE = 0x00,52,1473 - MEMTEST_ADDR 53,1500 - MEMTEST_ADDR = 0x01,53,1500 - MEMTEST_BIT 54,1525 - MEMTEST_BIT = 0x02,54,1525 - MEMTEST_FILL 55,1550 - MEMTEST_FILL = 0x03,55,1550 - MEMTEST_DATABUS 56,1575 - MEMTEST_DATABUS = 0x04,56,1575 - MEMTEST_ADDRBUS 57,1603 - MEMTEST_ADDRBUS = 0x05,57,1603 - CD1400_INIT 58,1631 - CD1400_INIT = 0x10,58,1631 - CD1400_LOOP 59,1656 - CD1400_LOOP = 0x11,59,1656 - CD1400_INTERRUPT 60,1681 - CD1400_INTERRUPT = 0x1260,1681 -enum result result63,1716 - E_PORT 64,1730 - E_PORT = 0x10,64,1730 - E_TX 65,1750 - E_TX = 0x11,65,1750 - E_RX 66,1768 - E_RX = 0x12,66,1768 - E_EXCEPT 67,1786 - E_EXCEPT = 0x13,67,1786 - E_COMPARE 68,1808 - E_COMPARE = 0x14,68,1808 - E_MODEM 69,1831 - E_MODEM = 0x15,69,1831 - E_TIMEOUT 70,1852 - E_TIMEOUT = 0x16,70,1852 - E_INTERRUPT 71,1875 - E_INTERRUPT = 0x1771,1875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/defaults.h,178 -static char *_rio_defaults_h_sccs 40,1577 -#define MILLISECOND 45,1652 -#define SECOND 46,1723 -#define RX_LIMIT 49,1808 -#define RX_LIMIT 52,1861 -#define LINK_TIMEOUT 55,1903 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/top.h,88 -#define __rio_top_h__34,1247 -static char *_top_h_sccs_ 37,1289 -struct TopTop43,1372 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riotime.h,367 -#define _riotime_h 39,1555 -static char *_rio_riotime_h_sccs 43,1602 -#define TWO_POWER_FIFTEEN 47,1674 -#define RioTime(RioTime48,1714 -#define RioTimeAfter(RioTimeAfter49,1743 -#define RioTimePlus(RioTimePlus50,1829 -#define RioTimeToLow(RioTimeToLow56,2052 -#define RioLowToTime(RioLowToTime57,2100 -#define RIOTENTHSECOND 59,2147 -#define RIOSECOND 60,2180 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/typdef.h,878 -#define __rio_typdef_h__34,1256 -static char *_typdef_h_sccs_ 37,1301 -typedef volatile unsigned char BYTE;BYTE48,1534 -typedef volatile unsigned short WORD;WORD49,1571 -typedef volatile unsigned int DWORD;DWORD50,1609 -typedef volatile unsigned short RIOP;RIOP51,1646 -typedef volatile short NUMBER;NUMBER52,1684 -typedef unsigned long ulong_t;ulong_t62,1992 -typedef unsigned short ushort_t;ushort_t63,2023 -typedef unsigned char uchar_t;uchar_t64,2056 -typedef unsigned char queue_t;queue_t65,2087 -typedef unsigned char mblk_t;mblk_t66,2118 -typedef unsigned int paddr_t;paddr_t67,2148 -typedef unsigned char uchar;uchar68,2179 -#define TPNULL 70,2211 -typedef struct PKT PKT;PKT76,2303 -typedef struct LPB LPB;LPB77,2329 -typedef struct RUP RUP;RUP78,2355 -typedef struct Port Port;Port79,2381 -typedef struct DpRam DpRam;DpRam80,2408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/mca.h,830 -#define __rio_mca_h__34,1247 -static char *_mca_h_sccs_ 37,1289 -#define McaMaxSlots 44,1372 -#define McaSlotSelect 45,1394 -#define McaSlotEnable 46,1421 -#define McaIdLow 47,1448 -#define McaIdHigh 48,1471 -#define McaIrqEnable 49,1495 -#define McaMemory 50,1522 -#define McaRIOId 51,1546 -#define McaIrq9 52,1570 -#define McaIrq3 53,1592 -#define McaIrq4 54,1614 -#define McaIrq7 55,1636 -#define McaIrq10 56,1658 -#define McaIrq11 57,1680 -#define McaIrq12 58,1702 -#define McaIrq15 59,1724 -#define McaIrqMask 60,1746 -#define McaCardEnable 61,1770 -#define McaAddress(McaAddress62,1797 -#define McaTpFastLinks 64,1837 -#define McaTpSlowLinks 65,1873 -#define McaTpBootFromRam 66,1909 -#define McaTpBootFromLink 67,1939 -#define McaTpBusEnable 68,1970 -#define McaTpBusDisable 69,1999 -#define RIO_MCA_DEFAULT_MODE 71,2030 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riotypes.h,3921 -#define _riotypes_h 38,1570 -typedef unsigned short NUMBER_ptr;NUMBER_ptr49,1743 -typedef unsigned short WORD_ptr;WORD_ptr50,1778 -typedef unsigned short BYTE_ptr;BYTE_ptr51,1811 -typedef unsigned short char_ptr;char_ptr52,1844 -typedef unsigned short Channel_ptr;Channel_ptr53,1877 -typedef unsigned short FREE_LIST_ptr_ptr;FREE_LIST_ptr_ptr54,1913 -typedef unsigned short FREE_LIST_ptr;FREE_LIST_ptr55,1955 -typedef unsigned short LPB_ptr;LPB_ptr56,1993 -typedef unsigned short Process_ptr;Process_ptr57,2025 -typedef unsigned short PHB_ptr;PHB_ptr58,2061 -typedef unsigned short PKT_ptr;PKT_ptr59,2093 -typedef unsigned short PKT_ptr_ptr;PKT_ptr_ptr60,2125 -typedef unsigned short Q_BUF_ptr;Q_BUF_ptr61,2161 -typedef unsigned short Q_BUF_ptr_ptr;Q_BUF_ptr_ptr62,2195 -typedef unsigned short ROUTE_STR_ptr;ROUTE_STR_ptr63,2233 -typedef unsigned short RUP_ptr;RUP_ptr64,2271 -typedef unsigned short short_ptr;short_ptr65,2303 -typedef unsigned short u_short_ptr;u_short_ptr66,2337 -typedef unsigned short ushort_ptr;ushort_ptr67,2373 -typedef char RIO_POINTER[RIO_POINTER70,2433 -typedef RIO_POINTER NUMBER_ptr;NUMBER_ptr71,2462 -typedef RIO_POINTER WORD_ptr;WORD_ptr72,2494 -typedef RIO_POINTER BYTE_ptr;BYTE_ptr73,2524 -typedef RIO_POINTER char_ptr;char_ptr74,2554 -typedef RIO_POINTER Channel_ptr;Channel_ptr75,2584 -typedef RIO_POINTER FREE_LIST_ptr_ptr;FREE_LIST_ptr_ptr76,2617 -typedef RIO_POINTER FREE_LIST_ptr;FREE_LIST_ptr77,2656 -typedef RIO_POINTER LPB_ptr;LPB_ptr78,2691 -typedef RIO_POINTER Process_ptr;Process_ptr79,2720 -typedef RIO_POINTER PHB_ptr;PHB_ptr80,2753 -typedef RIO_POINTER PKT_ptr;PKT_ptr81,2782 -typedef RIO_POINTER PKT_ptr_ptr;PKT_ptr_ptr82,2811 -typedef RIO_POINTER Q_BUF_ptr;Q_BUF_ptr83,2844 -typedef RIO_POINTER Q_BUF_ptr_ptr;Q_BUF_ptr_ptr84,2875 -typedef RIO_POINTER ROUTE_STR_ptr;ROUTE_STR_ptr85,2910 -typedef RIO_POINTER RUP_ptr;RUP_ptr86,2945 -typedef RIO_POINTER short_ptr;short_ptr87,2974 -typedef RIO_POINTER u_short_ptr;u_short_ptr88,3005 -typedef RIO_POINTER ushort_ptr;ushort_ptr89,3038 -typedef unsigned char BYTE;BYTE93,3103 -typedef unsigned short WORD;WORD94,3133 -typedef unsigned long DWORD;DWORD95,3163 -typedef short NUMBER;NUMBER96,3194 -typedef short *NUMBER_ptr;NUMBER_ptr97,3226 -typedef unsigned short *WORD_ptr;WORD_ptr98,3263 -typedef unsigned char *BYTE_ptr;BYTE_ptr99,3298 -typedef unsigned char uchar uchar100,3333 -typedef unsigned short ushort ushort101,3365 -typedef unsigned int uint uint102,3398 -typedef unsigned long ulong ulong103,3429 -typedef unsigned char u_char u_char104,3461 -typedef unsigned short u_short u_short105,3494 -typedef unsigned int u_int u_int106,3528 -typedef unsigned long u_long u_long107,3560 -typedef unsigned short ERROR ERROR108,3593 -typedef unsigned long ID ID109,3625 -typedef char *char_ptr;char_ptr110,3652 -typedef Channel *Channel_ptr;Channel_ptr111,3688 -typedef struct FREE_LIST *FREE_LIST_ptr;FREE_LIST_ptr112,3727 -typedef struct FREE_LIST **FREE_LIST_ptr_ptr;FREE_LIST_ptr_ptr113,3768 -typedef struct LPB *LPB_ptr;LPB_ptr114,3814 -typedef struct Process *Process_ptr;Process_ptr115,3849 -typedef struct PHB *PHB_ptr;PHB_ptr116,3888 -typedef struct PKT *PKT_ptr;PKT_ptr117,3923 -typedef struct PKT **PKT_ptr_ptr;PKT_ptr_ptr118,3958 -typedef struct Q_BUF *Q_BUF_ptr;Q_BUF_ptr119,3998 -typedef struct Q_BUF **Q_BUF_ptr_ptr;Q_BUF_ptr_ptr120,4035 -typedef struct ROUTE_STR *ROUTE_STR_ptr;ROUTE_STR_ptr121,4077 -typedef struct RUP *RUP_ptr;RUP_ptr122,4118 -typedef short *short_ptr;short_ptr123,4153 -typedef u_short *u_short_ptr;u_short_ptr124,4190 -typedef ushort *ushort_ptr;ushort_ptr125,4229 -typedef struct PKT PKT;PKT126,4267 -typedef struct LPB LPB;LPB127,4292 -typedef struct RUP RUP;RUP128,4317 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/route.h,1012 -#define _route_h38,1589 -#define MAX_LINKS 46,1712 -#define MAX_NODES 47,1732 -#define NODE_BYTES 48,1810 -#define ROUTE_DATA_SIZE 50,1953 -#define ROUTES_PER_PACKET 52,2105 -#define MAX_TOPOLOGY_PACKETS 55,2320 -#define ROUTE_REQUEST 59,2536 -#define ROUTE_FOAD 60,2602 -#define ROUTE_ALREADY 61,2667 -#define ROUTE_USED 62,2736 -#define ROUTE_ALLOCATE 63,2802 -#define ROUTE_REQ_TOP 64,2865 -#define ROUTE_TOPOLOGY 66,3022 -typedef struct COST_ROUTE COST_ROUTE;COST_ROUTE73,3395 -struct COST_ROUTE COST_ROUTE74,3433 -typedef struct ROUTE_STR ROUTE_STR ROUTE_STR79,3638 -struct ROUTE_STR ROUTE_STR80,3675 -#define NO_LINK 87,3924 -#define ROUTE_NO_ID 88,3988 -#define ROUTE_DISCONNECT 89,4042 -#define ROUTE_INTERCONNECT 90,4104 -#define SYNC_RUP 93,4175 -#define COMMAND_RUP 94,4213 -#define ERROR_RUP 95,4251 -#define POLL_RUP 96,4289 -#define BOOT_RUP 97,4327 -#define ROUTE_RUP 98,4365 -#define STATUS_RUP 99,4403 -#define POWER_RUP 100,4441 -#define HIGHEST_RUP 102,4480 -#define LOWEST_RUP 103,4541 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/timeouts.h,124 -static char *_rio_defaults_h_sccs 40,1584 -#define MILLISECOND 44,1658 -#define SECOND 45,1729 -#define TX_TIMEOUT 47,1803 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riocmd.c,608 -static char *_riocmd_c_sccs_ 34,1246 -static struct IdentifyRta IdRta;83,2157 -static struct KillNeighbour KillUnit;84,2190 -RIOFoadRta(87,2233 -RIOZombieRta(120,3033 -RIOCommandRta(153,3846 -RIOIdentifyRta(198,4901 -RIOKillNeighbour(266,6713 -RIOSuspendBootRta(332,8352 -RIOFoadWakeup(366,9220 -RIOCommandRup(401,9947 -RIOGetCmdBlk(622,17218 -RIOFreeCmdBlk(637,17455 -RIOQueueCmdBlk(648,17653 -RIOPollHostCommands(740,20180 -RIOStrlen(925,25297 -RIOStrCmp(939,25460 -RIOStrnCmp(952,25662 -RIOStrNCpy(966,25876 -RIOWFlushMark(977,25999 -RIORFlushEnable(995,26381 -RIOUnUse(1024,27143 -ShowPacket(1068,28686 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/pkt.h,578 -#define _pkt_h 38,1592 -#define MAX_TTL 47,1712 -#define PKT_CMD_BIT 48,1740 -#define PKT_CMD_DATA 49,1781 -#define PKT_ACK 51,1823 -#define PKT_TGL 53,1865 -#define PKT_LEN_MASK 55,1907 -#define DATA_WNDW 57,1949 -#define PKT_TTL_MASK 58,1989 -#define PKT_MAX_DATA_LEN 60,2030 -#define PKT_LENGTH 62,2061 -#define SYNC_PKT_LENGTH 63,2107 -#define CONTROL_PKT_LEN_MASK 65,2152 -#define CONTROL_PKT_CMD_BIT 66,2194 -#define CONTROL_PKT_ACK 67,2235 -#define CONTROL_PKT_TGL 68,2274 -#define CONTROL_PKT_TTL_MASK 69,2313 -#define CONTROL_DATA_WNDW 70,2362 -struct PKT PKT72,2407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riowinif.h,14165 -#define _riowinif_h 44,1567 -#define TPNULL 52,1989 -typedef struct _PARM_MAP_PARM_MAP63,2580 -} PARM_MAP;PARM_MAP100,4275 -#define PM_phb_ptr 104,4339 -#define PM_phb_num_ptr 105,4400 -#define PM_free_list 106,4463 -#define PM_free_list_end 107,4519 -#define PM_q_free_list_ptr 108,4582 -#define PM_unit_id_ptr 109,4647 -#define PM_link_str_ptr 110,4695 -#define PM_bootloader_1 111,4757 -#define PM_bootloader_2 112,4820 -#define PM_port_route_map_ptr 113,4883 -#define PM_route_ptr 114,4944 -#define PM_map_present 115,4992 -#define PM_pkt_num 116,5050 -#define PM_q_num 117,5110 -#define PM_buffers_per_port 118,5170 -#define PM_heap_size 119,5241 -#define PM_heap_left 120,5300 -#define PM_error 121,5356 -#define PM_tx_max 122,5401 -#define PM_rx_max 123,5466 -#define PM_rx_limit 124,5531 -#define PM_links 125,5594 -#define PM_timer 126,5641 -#define PM_rups 127,5697 -#define PM_max_phb 128,5751 -#define PM_living 129,5808 -#define PM_init_done 130,5861 -#define PM_booting_link 131,5919 -#define PM_idle_count 132,5960 -#define PM_busy_count 133,6017 -#define PM_idle_control 134,6069 -#define PM_tx_intr 135,6131 -#define PM_rx_intr 136,6188 -#define PM_rup_intr 137,6245 -#define sizeof_PARM_MAP 138,6304 -#define E_NO_ERROR 141,6399 -#define E_PROCESS_NOT_INIT 142,6424 -#define E_LINK_TIMEOUT 143,6456 -#define E_NO_ROUTE 144,6485 -#define E_CONFUSED 145,6510 -#define E_HOME 146,6535 -#define E_CSUM_FAIL 147,6557 -#define E_DISCONNECTED 148,6583 -#define E_BAD_RUP 149,6612 -#define E_NO_VIRGIN 150,6636 -#define E_BOOT_RUP_BUSY 151,6662 -#define E_CHANALLOC 152,6692 -#define E_POLL_ALLOC 153,6718 -#define E_LTTWAKE 154,6745 -#define E_LTT_ALLOC 155,6769 -#define E_LRT_ALLOC 156,6795 -#define E_CIRRUS 157,6821 -#define E_MONITOR 158,6844 -#define E_PHB_ALLOC 159,6868 -#define E_ARRAY_ALLOC 160,6894 -#define E_QBUF_ALLOC 161,6922 -#define E_PKT_ALLOC 162,6949 -#define E_GET_TX_Q_BUF 163,6975 -#define E_GET_RX_Q_BUF 164,7004 -#define E_MEM_OUT 165,7033 -#define E_MMU_INIT 166,7057 -#define E_LTT_INIT 167,7082 -#define E_LRT_INIT 168,7107 -#define E_LINK_RUN 169,7132 -#define E_MONITOR_ALLOC 170,7157 -#define E_MONITOR_INIT 171,7187 -#define E_POLL_INIT 172,7216 -#define RIO_LINK_ENABLE 175,7279 -typedef struct _RUP_RUP187,7922 -} RUP;RUP199,8347 -#define RUP_txpkt 203,8406 -#define RUP_rxpkt 204,8458 -#define RUP_link 205,8510 -#define RUP_rup_dest_unit 206,8578 -#define RUP_handshake 207,8638 -#define RUP_timeout 208,8690 -#define RUP_status 209,8736 -#define RUP_txcontrol 210,8780 -#define RUP_rxcontrol 211,8837 -#define sizeof_RUP 212,8893 -#define MAX_RUP 214,8948 -#define TX_RUP_INACTIVE 217,9005 -#define TX_PACKET_READY 218,9059 -#define TX_LOCK_RUP 219,9115 -#define RX_RUP_INACTIVE 222,9202 -#define RX_PACKET_READY 223,9253 -#define RUP_NO_OWNER 225,9304 -typedef struct _PHB_PHB237,9999 -} PHB;PHB256,11061 -#define PHB_source 260,11120 -#define PHB_handshake 261,11194 -#define PHB_status 262,11277 -#define PHB_timeout 263,11352 -#define PHB_link 264,11421 -#define PHB_destination 265,11494 -#define PHB_tx_start 266,11579 -#define PHB_tx_end 267,11671 -#define PHB_tx_add 268,11760 -#define PHB_tx_remove 269,11851 -#define PHB_rx_start 270,11936 -#define PHB_rx_end 271,12027 -#define PHB_rx_add 272,12115 -#define PHB_rx_remove 273,12205 -#define sizeof_PHB 274,12290 -#define PHB_HANDSHAKE_SET 277,12380 -#define PHB_HANDSHAKE_RESET 278,12431 -#define PHB_HANDSHAKE_FLAGS 279,12493 -#define MAX_PHB 282,12587 -typedef struct _LPB_LPB294,13220 -} LPB;LPB333,14942 -#define LPB_link_number 337,15001 -#define LPB_in_ch 338,15055 -#define LPB_out_ch 339,15107 -#define LPB_attached_serial 340,15161 -#define LPB_attached_host_serial 341,15229 -#define LPB_descheduled 342,15322 -#define LPB_state 343,15386 -#define LPB_send_poll 344,15436 -#define LPB_ltt_p 345,15495 -#define LPB_lrt_p 346,15550 -#define LPB_lrt_status 347,15605 -#define LPB_ltt_status 348,15665 -#define LPB_timeout 349,15725 -#define LPB_topology 350,15777 -#define LPB_mon_ltt 351,15830 -#define LPB_mon_lrt 352,15868 -#define LPB_num_pkts 353,15906 -#define LPB_add_packet_list 354,15945 -#define LPB_remove_packet_list 355,16010 -#define LPB_lrt_fail_chan 356,16081 -#define LPB_ltt_fail_chan 357,16146 -#define LPB_rup 358,16211 -#define LPB_link_rup 359,16285 -#define LPB_attached_link 360,16363 -#define LPB_csum_errors 361,16430 -#define LPB_num_disconnects 362,16484 -#define LPB_num_sync_rcvd 363,16551 -#define LPB_num_sync_rqst 364,16612 -#define LPB_num_tx 365,16671 -#define LPB_num_rx 366,16722 -#define LPB_module_attached 367,16777 -#define LPB_led_timeout 368,16847 -#define LPB_first_port 369,16901 -#define LPB_last_port 370,16964 -#define sizeof_LPB 371,17025 -#define LINKS_PER_UNIT 373,17080 -typedef struct _FREE_LIST_FREE_LIST383,17627 -} FREE_LIST;FREE_LIST388,17762 -#define FL_next 392,17827 -#define FL_prev 393,17887 -#define PKT_MAX_DATA_LEN 404,18453 -typedef struct _PKT_PKT406,18512 -} PKT;PKT417,18881 -#define PKT_dest_unit 421,18940 -#define PKT_dest_port 422,19000 -#define PKT_src_unit 423,19057 -#define PKT_src_port 424,19111 -#define PKT_len 425,19162 -#define PKT_control 426,19229 -#define PKT_data 427,19267 -#define PKT_csum 428,19314 -#define sizeof_PKT 429,19355 -#define PKT_CMD_BIT 432,19439 -#define PKT_CMD_DATA 433,19465 -#define PKT_LEN_MASK 434,19492 -#define PKT_ACK 437,19553 -#define PKT_TGL 438,19576 -#define DATA_WNDW 439,19599 -#define PKT_TTL_MASK 440,19623 -#define MAX_TTL 441,19650 -#define PRE_EMPTIVE 452,20208 -#define OPEN 455,20336 -#define CONFIG 456,20388 -#define MOPEN 457,20447 -#define CLOSE 458,20514 -#define WFLUSH 459,20568 -#define RFLUSH 460,20634 -#define RESUME 461,20699 -#define SBREAK 462,20779 -#define EBREAK 463,20833 -#define SUSPEND 464,20885 -#define FCLOSE 465,20967 -#define XPRINT 466,21033 -#define MBIS 467,21089 -#define MBIC 468,21157 -#define MSET 469,21227 -#define PCLOSE 470,21295 -#define MGET 471,21350 -#define MEMDUMP 472,21431 -#define READ_REGISTER 473,21515 -#define SYNC_RUP 476,21700 -#define COMMAND_RUP 477,21749 -#define ERROR_RUP 478,21802 -#define POLL_RUP 479,21852 -#define BOOT_RUP 480,21901 -#define ROUTE_RUP 481,21950 -#define STATUS_RUP 482,22015 -#define POWER_RUP 483,22057 -#define COMPLETE 486,22141 -#define BREAK_RECEIVED 487,22213 -#define MODEM_STATUS 488,22289 -#define BOOT_REQUEST 491,22399 -#define BOOT_ABORT 492,22463 -#define BOOT_SEQUENCE 493,22521 -#define BOOT_COMPLETED 494,22598 -#define IFOAD 495,22662 -#define IDENTIFY 496,22743 -#define ZOMBIE 497,22799 -#define UFOAD 498,22861 -#define IWAIT 499,22935 -#define ROUTE_REQUEST 502,23030 -#define ROUTE_FOAD 503,23092 -#define ROUTE_ALREADY 504,23157 -#define ROUTE_USED 505,23214 -#define ROUTE_ALLOCATE 506,23268 -#define ROUTE_REQ_TOP 507,23342 -#define ROUTE_TOPOLOGY 508,23399 -#define PKT_Cmd 521,24001 -#define PKT_Cor1 522,24052 -#define PKT_Cor2 523,24116 -#define PKT_Cor4 524,24180 -#define PKT_Cor5 525,24244 -#define PKT_TxXon 526,24308 -#define PKT_TxXoff 527,24370 -#define PKT_RxXon 528,24434 -#define PKT_RxXoff 529,24495 -#define PKT_Lnext 530,24558 -#define PKT_TxBaud 531,24613 -#define PKT_RxBaud 532,24673 -#define COR1_PARITY 535,24759 -#define COR1_NONE 536,24805 -#define COR1_SPACE 537,24847 -#define COR1_EVEN 538,24893 -#define COR1_MARK 539,24937 -#define COR1_ODD 540,24981 -#define COR1_STOPBITS 542,25024 -#define COR1_STOP1 543,25075 -#define COR1_STOP1_5 544,25119 -#define COR1_STOP2 545,25168 -#define COR1_DATABITS 547,25214 -#define COR1_DATA5 548,25265 -#define COR1_DATA6 549,25310 -#define COR1_DATA7 550,25355 -#define COR1_DATA8 551,25400 -#define COR2_XON_TXFLOW 554,25472 -#define COR2_XANY_TXFLOW 555,25533 -#define COR2_HUPCL 556,25594 -#define COR2_DSR_TXFLOW 557,25644 -#define COR2_RTS_RXFLOW 558,25708 -#define COR2_CTS_TXFLOW 559,25771 -#define COR2_XON_RXFLOW 560,25835 -#define COR4_IGNCR 563,25921 -#define COR4_ICRNL 564,25974 -#define COR4_INLCR 565,26029 -#define COR4_IGNBRK 566,26084 -#define COR4_NBRKINT 567,26140 -#define COR4_IGNPAR 568,26200 -#define COR4_PARMRK 569,26263 -#define COR4_RAISEMOD 570,26324 -#define COR5_ISTRIP 573,26416 -#define COR5_LNE 574,26478 -#define COR5_CMOE 575,26533 -#define COR5_TAB3 576,26595 -#define COR5_TSTATE_ON 577,26637 -#define COR5_TSTATE_OFF 578,26704 -#define COR5_ONLCR 579,26773 -#define COR5_OCRNL 580,26828 -#define RIO_B0 583,26920 -#define RIO_B50 584,26976 -#define RIO_B75 585,27015 -#define RIO_B110 586,27054 -#define RIO_B134 587,27094 -#define RIO_B150 588,27136 -#define RIO_B200 589,27176 -#define RIO_B300 590,27216 -#define RIO_B600 591,27256 -#define RIO_B1200 592,27296 -#define RIO_B1800 593,27338 -#define RIO_B2400 594,27380 -#define RIO_B4800 595,27422 -#define RIO_B9600 596,27464 -#define RIO_B19200 597,27506 -#define RIO_B38400 598,27550 -#define RIO_B56000 599,27594 -#define RIO_B57600 600,27638 -#define RIO_B64000 601,27682 -#define RIO_B115200 602,27726 -#define RIO_B2000 603,27772 -#define PKT_Cmd 639,29411 -#define PKT_Cmd 656,30182 -#define PKT_PhbNum 658,30240 -#define PKT_Cmd 672,30839 -#define PKT_PhbNum 673,30890 -#define PKT_Cmd 688,31546 -#define PKT_PhbNum 689,31597 -#define PKT_Cmd 710,32471 -#define PKT_BreakDelay 712,32529 -#define PKT_Cmd 739,33704 -#define PKT_PhbNum 740,33755 -#define PKT_Cmd 756,34480 -#define PKT_PhbNum 757,34531 -#define PKT_Cmd 777,35344 -#define PKT_PhbNum 778,35395 -#define PKT_Cmd 792,35978 -#define PKT_PhbNum 793,36029 -#define PKT_ModemSet 795,36096 -#define MBIS_RTS 798,36192 -#define MBIS_DTR 799,36240 -#define PKT_Cmd 812,36809 -#define PKT_PhbNum 813,36860 -#define PKT_ModemClear 816,36928 -#define MBIC_RTS 819,37030 -#define MBIC_DTR 820,37078 -#define PKT_Cmd 832,37645 -#define PKT_PhbNum 833,37696 -#define PKT_ModemSet 836,37764 -#define MSET_RTS 839,37860 -#define MSET_DTR 840,37908 -#define PKT_Cmd 856,38657 -#define PKT_Cmd 868,39230 -#define PKT_PhbNum 869,39281 -#define PKT_Cmd 883,39905 -#define PKT_PhbNum 885,39963 -#define PKT_SubCmd 886,40023 -#define PKT_Address 887,40075 -#define PKT_Cmd 901,40700 -#define PKT_PhbNum 903,40758 -#define PKT_SubCmd 904,40818 -#define PKT_Address 905,40870 -#define PKT_Cmd 919,41492 -#define PKT_PhbNum 921,41550 -#define PKT_Cmd2 922,41610 -#define PKT_ModemStatus 923,41666 -#define PKT_PortStatus 924,41731 -#define PKT_SubCmd 925,41794 -#define MODEM_DSR 928,41880 -#define MODEM_CTS 929,41939 -#define MODEM_RI 930,41997 -#define MODEM_CD 931,42054 -#define MODEM_TSTOP 932,42112 -#define MODEM_TEMPTY 933,42169 -#define MODEM_DTR 934,42225 -#define MODEM_RTS 935,42280 -#define PORT_ISOPEN 938,42368 -#define PORT_HUPCL 939,42414 -#define PORT_MOPENPEND 940,42464 -#define PORT_ISPARALLEL 941,42520 -#define PORT_BREAK 942,42572 -#define PORT_STATUSPEND 943,42619 -#define PORT_BREAKPEND 944,42679 -#define PORT_MODEMPEND 945,42737 -#define PKT_Cmd 959,43365 -#define PKT_PhbNum 960,43416 -#define PKT_Cmd2 961,43476 -#define PKT_ModemStatus 963,43539 -#define PKT_PortStatus 964,43604 -#define PKT_SubCmd 966,43673 -#define MODEM_DSR 970,43766 -#define MODEM_CTS 971,43825 -#define MODEM_RI 972,43883 -#define MODEM_CD 973,43940 -#define MODEM_TSTOP 974,43998 -#define MODEM_TEMPTY 975,44055 -#define MODEM_DTR 976,44111 -#define MODEM_RTS 977,44166 -#define PORT_ISOPEN 980,44254 -#define PORT_HUPCL 981,44300 -#define PORT_MOPENPEND 982,44350 -#define PORT_ISPARALLEL 983,44406 -#define PORT_BREAK 984,44458 -#define PORT_STATUSPEND 985,44505 -#define PORT_BREAKPEND 986,44565 -#define PORT_MODEMPEND 987,44623 -#define PKT_Cmd 1001,45243 -#define PKT_PhbNum 1002,45294 -#define PKT_Cmd2 1003,45354 -#define PKT_ModemStatus 1004,45410 -#define PKT_PortStatus 1005,45475 -#define PKT_SubCmd 1006,45538 -#define PKT_Address 1007,45590 -#define PKT_Dump 1009,45656 -#define PKT_Cmd 1023,46292 -#define PKT_PhbNum 1024,46342 -#define PKT_Cmd2 1025,46401 -#define PKT_RegisterValue 1027,46464 -#define PKT_PortStatus 1029,46536 -#define PKT_SubCmd 1030,46599 -#define PKT_Cmd 1044,47192 -#define PKT_PhbNum 1045,47243 -#define PKT_Cmd2 1046,47303 -#define PKT_Cmd 1062,47925 -#define PKT_PhbNum 1063,47976 -#define PKT_Cmd2 1064,48036 -#define PKT_ModemStatus 1065,48092 -#define PKT_Cmd 1080,48726 -#define PKT_Cmd 1095,49343 -#define PKT_NumPackets 1097,49401 -#define PKT_LoadBase 1098,49479 -#define PKT_CodeSize 1099,49547 -#define PKT_CmdString 1100,49615 -#define PKT_Cmd 1114,50222 -#define PKT_LinkNumber 1116,50280 -#define PKT_SerialNumber 1117,50350 -#define PKT_SequenceNumber 1130,50991 -#define PKT_SequenceNumber 1144,51639 -#define PKT_FirmwarePacket 1146,51716 -#define PKT_Cmd 1160,52326 -#define PKT_IfoadId1 1162,52384 -#define PKT_IfoadId2 1163,52437 -#define IFOADID1 1165,52491 -#define IFOADID2 1166,52514 -#define PKT_Cmd 1180,53102 -#define PKT_IdentifyId 1182,53160 -#define PKT_Cmd 1196,53786 -#define PKT_ZombieId1 1198,53844 -#define PKT_ZombieId2 1199,53899 -#define ZOMBIEID1 1201,53955 -#define ZOMBIEID2 1202,53979 -#define PKT_Cmd 1216,54579 -#define PKT_LinkNumber 1217,54630 -#define PKT_UfoadId1 1219,54709 -#define PKT_UfoadId2 1220,54762 -#define UFOADID1 1222,54816 -#define UFOADID2 1223,54839 -#define PKT_Cmd 1237,55439 -#define PKT_LinkNumber 1238,55490 -#define PKT_IwaitId1 1240,55569 -#define PKT_IwaitId2 1241,55622 -#define IWAITID1 1243,55676 -#define IWAITID2 1244,55699 -#define PKT_Cmd 1258,56298 -#define PKT_SerialNumber 1260,56356 -#define PKT_ModuleTypes 1261,56422 -#define MOD_BLANK 1264,56518 -#define MOD_RS232DB25 1265,56571 -#define MOD_RS232RJ45 1266,56628 -#define MOD_RS422DB25 1267,56685 -#define MOD_RS485DB25 1268,56742 -#define MOD_PARALLEL 1269,56799 -#define MOD2 1271,56855 -#define PKT_Cmd 1285,57514 -#define PKT_RouteCmdString 1287,57572 -#define PKT_Cmd 1301,58224 -#define PKT_IdNum 1303,58282 -#define PKT_RouteCmdString 1305,58353 -#define PKT_IdNum2 1307,58422 -#define PKT_Cmd 1321,59033 -#define PKT_Link1Rup 1323,59091 -#define PKT_Link1Link 1324,59151 -#define PKT_Link2Rup 1325,59213 -#define PKT_Link2Link 1326,59273 -#define PKT_Link3Rup 1327,59335 -#define PKT_Link3Link 1328,59395 -#define PKT_Link4Rup 1329,59457 -#define PKT_Link4Link 1330,59517 -#define PKT_RtaVpdProm 1331,59579 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/cirrus.h,7609 -#define _cirrus_h 41,1649 -#define TO_UART 44,1681 -#define TO_DRIVER 45,1700 -#define TO_UART 49,1741 -#define TO_DRIVER 50,1760 -#define MAP(MAP56,1889 -#define outp(outp57,1936 -#define inp(inp58,1970 -#define CIRRUS_FIRST 59,2006 -#define CIRRUS_SECOND 60,2042 -#define CIRRUS_THIRD 61,2079 -#define CIRRUS_FOURTH 62,2115 -#define PORTS_ON_CIRRUS 63,2152 -#define CIRRUS_FIFO_SIZE 64,2178 -#define SPACE 65,2206 -#define TAB 66,2226 -#define LINE_FEED 67,2244 -#define CARRIAGE_RETURN 68,2267 -#define BACKSPACE 69,2296 -#define SPACES_IN_TABS 70,2319 -#define SEND_ESCAPE 71,2344 -#define START_BREAK 72,2369 -#define TIMER_TICK 73,2394 -#define STOP_BREAK 74,2418 -#define BASE(BASE75,2442 -#define txack1 76,2589 -#define rxack1 77,2623 -#define mdack1 78,2657 -#define txack2 79,2691 -#define rxack2 80,2726 -#define mdack2 81,2760 -#define int_latch 82,2795 -#define int_status 83,2838 -#define tx1_pending 84,2882 -#define rx1_pending 85,2912 -#define md1_pending 86,2942 -#define tx2_pending 87,2972 -#define rx2_pending 88,3002 -#define md2_pending 89,3032 -#define module1_bits 90,3062 -#define module1_modern 91,3088 -#define module2_bits 92,3116 -#define module2_modern 93,3142 -#define module_blank 94,3170 -#define rs232_d25 95,3195 -#define rs232_rj45 96,3217 -#define rs422_d25 97,3240 -#define parallel 98,3262 -#define CLK0 100,3284 -#define CLK1 101,3302 -#define CLK2 102,3320 -#define CLK3 103,3338 -#define CLK4 104,3356 -#define CIRRUS_REVC 106,3375 -#define CIRRUS_REVE 107,3403 -#define TURNON 109,3432 -#define TURNOFF 110,3449 -#define ccr 116,3711 -#define ier 117,3763 -#define cor1 118,3815 -#define cor2 119,3868 -#define cor3 120,3921 -#define cor4 121,3974 -#define cor5 122,4027 -#define ccsr 124,4078 -#define rdcr 125,4134 -#define tdcr 126,4187 -#define mcor1 127,4240 -#define mcor2 128,4296 -#define livr 130,4353 -#define schr1 131,4409 -#define schr2 132,4463 -#define schr3 133,4517 -#define schr4 134,4571 -#define rtr 136,4626 -#define rtpr 137,4675 -#define lnc 138,4731 -#define rivr 140,4771 -#define tivr 141,4832 -#define mivr 142,4893 -#define gfrcr 143,4954 -#define ricr 144,5016 -#define ticr 145,5077 -#define micr 146,5138 -#define gcr 148,5200 -#define misr 149,5252 -#define rbusr 151,5315 -#define tbusr 152,5334 -#define mbusr 153,5353 -#define eoir 155,5373 -#define rdsr 156,5423 -#define tdr 157,5478 -#define svrr 158,5524 -#define car 160,5574 -#define mir 161,5621 -#define tir 162,5669 -#define rir 163,5720 -#define msvr1 164,5770 -#define msvr2 165,5825 -#define psvr 166,5879 -#define tbpr 168,5933 -#define tcor 169,5992 -#define rbpr 171,6048 -#define rber 172,6106 -#define rcor 173,6167 -#define ppr 174,6220 -#define airl 177,6342 -#define airm 178,6360 -#define airh 179,6378 -#define btcr 180,6396 -#define mtcr 181,6414 -#define tber 182,6432 -#define GCR_SERIAL 190,6533 -#define GCR_PARALLEL 191,6591 -#define RDSR_BREAK 194,6694 -#define RDSR_TIMEOUT 195,6740 -#define RDSR_SC1 196,6799 -#define RDSR_SC2 197,6867 -#define RDSR_SC12_MASK 198,6936 -#define PPR_DEFAULT 201,7018 -#define LIVR_EXCEPTION 205,7132 -#define CCR_RESET 208,7205 -#define CCR_CHANGE 209,7248 -#define CCR_WFLUSH 211,7333 -#define CCR_SENDSC1 213,7398 -#define CCR_SENDSC2 214,7456 -#define CCR_SENDSC3 215,7514 -#define CCR_SENDSC4 216,7574 -#define CCR_TENABLE 218,7634 -#define CCR_TDISABLE 219,7684 -#define CCR_RENABLE 220,7736 -#define CCR_RDISABLE 221,7783 -#define CCR_READY 223,7833 -#define CCSR_TXENABLE 226,7907 -#define CCSR_RXENABLE 227,7959 -#define CCSR_TXFLOWOFF 228,8008 -#define CCSR_TXFLOWON 229,8060 -#define SVRR_RECEIVE 232,8122 -#define SVRR_TRANSMIT 233,8180 -#define SVRR_MODEM 234,8240 -#define CAR_PORTS 237,8305 -#define IER_MODEM 240,8366 -#define IER_RECEIVE 241,8418 -#define IER_TRANSMITR 242,8476 -#define IER_TRANSMITE 243,8537 -#define IER_TIMEOUT 244,8585 -#define IER_DEFAULT 246,8636 -#define IER_PARALLEL 247,8682 -#define IER_EMPTY 248,8741 -#define COR1_INPCK 251,8832 -#define COR1_ODD 254,8927 -#define COR1_EVEN 255,8966 -#define COR1_NOP 256,9007 -#define COR1_FORCE 257,9045 -#define COR1_NORMAL 258,9088 -#define COR1_1STOP 259,9131 -#define COR1_15STOP 260,9172 -#define COR1_2STOP 261,9217 -#define COR1_5BITS 262,9259 -#define COR1_6BITS 263,9301 -#define COR1_7BITS 264,9343 -#define COR1_8BITS 265,9385 -#define COR1_HOST 267,9428 -#define COR1_CINPCK 270,9497 -#define COR1_CNINPCK 271,9571 -#define COR2_IXANY 274,9673 -#define COR2_IXON 275,9732 -#define COR2_RTSFLOW 276,9795 -#define COR2_HUPCL 279,9889 -#define COR2_CTSFLOW 280,9936 -#define COR2_IXOFF 281,10000 -#define COR2_DTRFLOW 282,10062 -#define COR2_ETC 285,10146 -#define COR2_LOCAL 286,10200 -#define COR2_REMOTE 287,10250 -#define COR2_HOST 288,10302 -#define COR3_SCDRNG 291,10373 -#define COR3_SCD34 292,10441 -#define COR3_FCT 293,10513 -#define COR3_SCD12 294,10567 -#define COR3_FIFO12 295,10639 -#define COR3_FIFO10 296,10706 -#define COR3_FIFO8 297,10780 -#define COR3_FIFO6 298,10853 -#define COR3_THRESHOLD 300,10927 -#define COR3_DEFAULT 302,11002 -#define COR4_IGNCR 306,11114 -#define COR4_ICRNL 307,11169 -#define COR4_INLCR 308,11221 -#define COR4_IGNBRK 309,11273 -#define COR4_NBRKINT 310,11317 -#define COR4_RAISEMOD 311,11381 -#define COR4_IGNPAR 315,11481 -#define COR4_PARMRK 316,11551 -#define COR4_HOST 318,11590 -#define COR4_CIGNPAR 321,11655 -#define COR4_CPARMRK 322,11714 -#define COR4_CNPARMRK 323,11764 -#define COR5_ISTRIP 326,11841 -#define COR5_LNE 327,11900 -#define COR5_CMOE 328,11952 -#define COR5_ONLCR 329,12015 -#define COR5_OCRNL 330,12067 -#define COR5_TSTATE_ON 339,12268 -#define COR5_TSTATE_OFF 340,12340 -#define COR5_TAB3 344,12428 -#define COR5_HOST 346,12468 -#define CCSR_TXFLOFF 349,12524 -#define MSVR1_CD 356,12756 -#define MSVR1_RTS 357,12803 -#define MSVR1_RI 358,12852 -#define MSVR1_DTR 359,12883 -#define MSVR1_CTS 360,12931 -#define MSVR1_TSTOP 362,13058 -#define MSVR1_TEMPTY 363,13117 -#define MSVR1_HOST 365,13178 -#define MSVR2_DSR 368,13245 -#define MCOR_CD 371,13317 -#define MCOR_RTS 372,13371 -#define MCOR_RI 373,13419 -#define MCOR_DTR 374,13457 -#define MCOR_DEFAULT 376,13505 -#define MCOR_FULLMODEM 377,13571 -#define MCOR_RJ45 378,13608 -#define MCOR_RESTRICTED 379,13664 -#define MCOR_THRESH8 382,13762 -#define MCOR_THRESH9 383,13824 -#define MCOR_THRESH10 384,13885 -#define MCOR_THRESH11 385,13946 -#define MCOR_THRESHBITS 387,14011 -#define MCOR_THRESHOLD 389,14077 -#define RTPR_DEFAULT 393,14168 -#define CONFIG_COR1 397,14262 -#define CONFIG_COR2 398,14308 -#define CONFIG_COR4 399,14354 -#define CONFIG_COR5 400,14400 -#define CONFIG_TXXON 401,14446 -#define CONFIG_TXXOFF 402,14492 -#define CONFIG_RXXON 403,14540 -#define CONFIG_RXXOFF 404,14586 -#define CONFIG_LNEXT 405,14634 -#define CONFIG_TXBAUD 406,14679 -#define CONFIG_RXBAUD 407,14723 -#define IDLE_CLOSED 410,14792 -#define IDLE_OPEN 411,14827 -#define IDLE_BREAK 412,14863 -#define MODEM_VALUE 415,14944 -#define BREAK_LENGTH 417,15038 -#define PRE_EMPTIVE 422,15177 -#define OPEN 428,15413 -#define CONFIG 429,15450 -#define MOPEN 430,15494 -#define CLOSE 431,15547 -#define WFLUSH 432,15586 -#define RFLUSH 433,15641 -#define RESUME 434,15695 -#define SBREAK 435,15755 -#define EBREAK 436,15795 -#define SUSPEND 437,15832 -#define FCLOSE 438,15907 -#define XPRINT 439,15970 -#define MBIS 440,16022 -#define MBIC 441,16079 -#define MSET 442,16138 -#define PCLOSE 443,16195 -#define MGET 444,16258 -#define MEMDUMP 445,16328 -#define READ_REGISTER 446,16405 -#define COMPLETE 452,16643 -#define BREAK_RECEIVED 454,16708 -#define MODEM_STATUS 456,16777 -#define HANDSHAKE 460,16921 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioctrl.c,1096 -static char *_rioctrl_c_sccs_ 33,1251 -static struct LpbReq LpbReq;85,2190 -static struct RupReq RupReq;86,2220 -static struct PortReq PortReq;87,2250 -static struct HostReq HostReq;88,2281 -static struct HostDpRam HostDpRam;89,2312 -static struct DebugCtrl DebugCtrl;90,2347 -static struct Map MapEnt;91,2382 -static struct PortSetup PortSetup;92,2410 -static struct DownLoad DownLoad;93,2445 -static struct SendPack SendPack;94,2478 -static struct SpecialRupCmd SpecialRupCmd;97,2596 -static struct PortParams PortParams;98,2639 -static struct portStats portStats;99,2676 -static struct SubCmdStruct SubCmdStruct101,2712 -} SubCmd;106,2796 -struct PortTty PortTty108,2807 -static struct PortTty PortTty;113,2865 -typedef struct ttystatics TERMIO;TERMIO114,2896 -(*RIOBootTable[125,3262 -(*RIOBootTable[MAX_PRODUCT])(struct rio_info 125,3262 -(*RIOBootTable[MAX_PRODUCT])(struct rio_info *, struct DownLoad 125,3262 -#define drv_makedev(drv_makedev131,3413 -int copyin 134,3508 -int copyout 145,3754 -copyin(158,4009 -copyout 171,4185 -riocontrol(185,4371 -RIOPreemptiveCmd(1788,57121 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/brates.h,570 -#define _brates_h 41,1649 -#define B0 46,1769 -#define B50 47,1785 -#define B75 48,1802 -#define B110 49,1819 -#define B134 50,1837 -#define B150 51,1855 -#define B200 52,1873 -#define B300 53,1891 -#define B600 54,1909 -#define B1200 55,1927 -#define B1800 56,1946 -#define B2400 57,1965 -#define B4800 58,1984 -#define B9600 59,2003 -#define B19200 60,2022 -#define B38400 61,2042 -#define B56000 77,2465 -#define B57600 81,2514 -#define B64000 85,2563 -#define B115200 89,2613 -#define B2000 94,2663 -#define MAX_RATE 98,2691 -struct baud_rate baud_rate100,2715 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/errors.h,2136 -#define __rio_errors_h__34,1256 -static char *_errors_h_sccs_ 38,1314 -#define NOTHING_WRONG_AT_ALL 46,1402 -#define BAD_CHARACTER_IN_NAME 47,1434 -#define TABLE_ENTRY_ISNT_PROPERLY_NULL 48,1467 -#define UNKNOWN_HOST_NUMBER 49,1508 -#define ZERO_RTA_ID 50,1539 -#define BAD_RTA_ID 51,1563 -#define DUPLICATED_RTA_ID 52,1586 -#define DUPLICATE_UNIQUE_NUMBER 53,1615 -#define BAD_TTY_NUMBER 54,1650 -#define TTY_NUMBER_IN_USE 55,1677 -#define NAME_USED_TWICE 56,1706 -#define HOST_ID_NOT_ZERO 57,1735 -#define BOOT_IN_PROGRESS 58,1764 -#define COPYIN_FAILED 59,1793 -#define HOST_FILE_TOO_LARGE 60,1820 -#define COPYOUT_FAILED 61,1852 -#define NOT_SUPER_USER 62,1880 -#define RIO_ALREADY_POLLING 63,1908 -#define ID_NUMBER_OUT_OF_RANGE 65,1941 -#define PORT_NUMBER_OUT_OF_RANGE 66,1976 -#define HOST_NUMBER_OUT_OF_RANGE 67,2012 -#define RUP_NUMBER_OUT_OF_RANGE 68,2048 -#define TTY_NUMBER_OUT_OF_RANGE 69,2084 -#define LINK_NUMBER_OUT_OF_RANGE 70,2120 -#define HOST_NOT_RUNNING 72,2157 -#define IOCTL_COMMAND_UNKNOWN 73,2186 -#define RIO_SYSTEM_HALTED 74,2220 -#define WAIT_FOR_DRAIN_BROKEN 75,2250 -#define PORT_NOT_MAPPED_INTO_SYSTEM 76,2284 -#define EXCLUSIVE_USE_SET 77,2323 -#define WAIT_FOR_NOT_CLOSING_BROKEN 78,2353 -#define WAIT_FOR_PORT_TO_OPEN_BROKEN 79,2392 -#define WAIT_FOR_CARRIER_BROKEN 80,2432 -#define WAIT_FOR_NOT_IN_USE_BROKEN 81,2468 -#define WAIT_FOR_CAN_ADD_COMMAND_BROKEN 82,2506 -#define WAIT_FOR_ADD_COMMAND_BROKEN 83,2549 -#define WAIT_FOR_NOT_PARAM_BROKEN 84,2588 -#define WAIT_FOR_RETRY_BROKEN 85,2625 -#define HOST_HAS_ALREADY_BEEN_BOOTED 86,2659 -#define UNIT_IS_IN_USE 87,2699 -#define COULDNT_FIND_ENTRY 88,2727 -#define RTA_UNIQUE_NUMBER_ZERO 89,2758 -#define CLOSE_COMMAND_FAILED 90,2793 -#define WAIT_FOR_CLOSE_BROKEN 91,2826 -#define CPS_VALUE_OUT_OF_RANGE 92,2860 -#define ID_ALREADY_IN_USE 93,2895 -#define SIGNALS_ALREADY_SET 94,2925 -#define NOT_RECEIVING_PROCESS 95,2957 -#define RTA_NUMBER_WRONG 96,2991 -#define NO_SUCH_PRODUCT 97,3020 -#define HOST_SYSPORT_BAD 98,3049 -#define ID_NOT_TENTATIVE 99,3078 -#define XPRINT_CPS_OUT_OF_RANGE 100,3107 -#define NOT_ENOUGH_CORE_FOR_PCI_COPY 101,3143 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/ltt.h,92 -static char *_rio_ltt_h_sccs 39,1589 -#define LTT_STACK 44,1668 -#define LTT_STACK 46,1720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/port.h,1547 -#define __rio_port_h__34,1250 -static char *_port_h_sccs_ 37,1293 -struct RIOStatsRIOStats49,1439 -struct PortPort94,2050 -#define RIO_LOPEN 104,2372 -#define RIO_MOPEN 105,2416 -#define RIO_WOPEN 106,2460 -#define RIO_CLOSING 107,2510 -#define RIO_XPBUSY 108,2569 -#define RIO_BREAKING 109,2628 -#define RIO_DIRECT 110,2682 -#define RIO_EXCLUSIVE 111,2736 -#define RIO_NDELAY 112,2803 -#define RIO_CARR_ON 113,2860 -#define RIO_XPWANTR 114,2922 -#define RIO_RBLK 115,2981 -#define RIO_BUSY 116,3036 -#define RIO_TIMEOUT 117,3093 -#define RIO_TXSTOP 118,3155 -#define RIO_WAITFLUSH 119,3214 -#define RIO_DYNOROD 120,3276 -#define RIO_DELETED 121,3324 -#define RIO_ISSCANCODE 122,3380 -#define RIO_USING_EUC 123,3448 -#define RIO_CAN_COOK 124,3511 -#define RIO_TRIAD_MODE 125,3572 -#define RIO_TRIAD_BLOCK 126,3644 -#define RIO_TRIAD_FUNC 127,3711 -#define RIO_THROTTLE_RX 128,3787 -#define RIO_NOREAD 131,3907 -#define RIO_NOWRITE 132,3969 -#define RIO_NOXPRINT 133,4033 -#define RIO_NOMASK 134,4099 -#define RIO_IXANY 135,4155 -#define RIO_MODEM 136,4217 -#define RIO_IXON 137,4274 -#define RIO_WAITDRAIN 138,4326 -#define RIO_MAP_50_TO_50 139,4396 -#define RIO_MAP_110_TO_110 140,4457 -#define RIO_CTSFLOW 147,4685 -#define RIO_RTSFLOW 148,4742 -#define MAGIC_FLUSH 173,6044 -#define MAGIC_REBOOT 174,6096 -#define MORE_OUTPUT_EYGOR 175,6157 - struct XprintXprint180,6315 -#define MAX_XP_CTRL_LEN 183,6363 -#define XP_OPEN 191,6622 -#define XP_RUNABLE 192,6645 -struct ModuleInfoModuleInfo229,7972 -struct PortParams PortParams240,8221 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/parmmap.h,110 -#define _parmap_h38,1655 -typedef struct PARM_MAP PARM_MAP PARM_MAP47,1784 -struct PARM_MAPPARM_MAP49,1820 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/formpkt.h,1320 -#define _formpkt_h 40,1590 -static char *_rio_formpkt_h_sccs 44,1637 -typedef struct FORM_BOOT_PKT_1 FORM_BOOT_PKT_1 FORM_BOOT_PKT_148,1709 -struct FORM_BOOT_PKT_1 FORM_BOOT_PKT_149,1758 -typedef struct FORM_BOOT_PKT_2 FORM_BOOT_PKT_2 FORM_BOOT_PKT_255,1949 -struct FORM_BOOT_PKT_2 FORM_BOOT_PKT_256,1998 -typedef struct FORM_ATTACH_RTA FORM_ATTACH_RTA FORM_ATTACH_RTA62,2149 -struct FORM_ATTACH_RTA FORM_ATTACH_RTA63,2200 -typedef struct FORM_BOOT_ID FORM_BOOT_ID FORM_BOOT_ID72,2483 -struct FORM_BOOT_ID FORM_BOOT_ID73,2528 -typedef struct FORM_ROUTE_1 FORM_ROUTE_1 FORM_ROUTE_182,2762 -struct FORM_ROUTE_1 FORM_ROUTE_183,2807 -typedef struct FORM_ROUTE_2 FORM_ROUTE_2 FORM_ROUTE_291,3088 -struct FORM_ROUTE_2 FORM_ROUTE_292,3133 -typedef struct FORM_ROUTE_REQ FORM_ROUTE_REQ FORM_ROUTE_REQ99,3364 -struct FORM_ROUTE_REQ FORM_ROUTE_REQ100,3413 -typedef struct FORM_ERROR FORM_ERROR FORM_ERROR108,3658 -struct FORM_ERROR FORM_ERROR109,3699 -typedef struct FORM_STATUS FORM_STATUS FORM_STATUS115,3831 -struct FORM_STATUS FORM_STATUS116,3874 -typedef struct FORM_LINK_STATUS FORM_LINK_STATUS FORM_LINK_STATUS127,4234 -struct FORM_LINK_STATUS FORM_LINK_STATUS128,4287 -typedef struct FORM_PARTITION FORM_PARTITION FORM_PARTITION140,4655 -struct FORM_PARTITION FORM_PARTITION141,4702 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/pci.h,942 -#define __rio_pci_h__34,1247 -static char *_pci_h_sccs_ 37,1289 -#define PCITpFastClock 44,1362 -#define PCITpSlowClock 45,1391 -#define PCITpFastLinks 46,1420 -#define PCITpSlowLinks 47,1456 -#define PCITpIntEnable 48,1492 -#define PCITpIntDisable 49,1521 -#define PCITpBusEnable 50,1551 -#define PCITpBusDisable 51,1580 -#define PCITpBootFromRam 52,1610 -#define PCITpBootFromLink 53,1640 -#define RIO_PCI_VENDOR 55,1672 -#define RIO_PCI_DEVICE 56,1703 -#define RIO_PCI_BASE_CLASS 57,1734 -#define RIO_PCI_SUB_CLASS 58,1766 -#define RIO_PCI_PROG_IFACE 59,1797 -#define RIO_PCI_RID 61,1830 -#define RIO_PCI_BADR0 62,1858 -#define RIO_PCI_INTLN 63,1888 -#define RIO_PCI_INTPIN 64,1918 -#define RIO_PCI_MEM_SIZE 66,1950 -#define RIO_PCI_TURBO_TP 68,1982 -#define RIO_PCI_FAST_LINKS 69,2012 -#define RIO_PCI_INT_ENABLE 70,2044 -#define RIO_PCI_TP_BUS_ENABLE 71,2076 -#define RIO_PCI_BOOT_FROM_RAM 72,2111 -#define RIO_PCI_DEFAULT_MODE 74,2147 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioinit.c,1109 -static char *_rioinit_c_sccs_ 33,1251 -#define bcopy 85,2227 -rioinit(98,2362 -RIOInitHosts(126,3107 -RIOISAinit(184,4491 -RIODoAT(215,5152 -#define FOUND 220,5220 -#define NOT_FOUND 221,5237 -RIOCheckForATCard(246,5747 -RIOAssignAT(310,7465 -int RIOMCAinit(365,9202 -int RIOEISAinit(542,13580 -#define CONFIG_ADDRESS 827,20603 -#define CONFIG_DATA 828,20632 -#define FORWARD_REG 829,20659 -read_config(833,20699 -write_config(858,21320 -read_config(883,21953 -write_config(889,22040 -RIOPCIinit(897,22129 - #define MAX_PCI_SLOT 901,22183 - #define RIO_PCI_JET_CARD 902,22209 -void riohalt(1013,25834 -static uchar val[1025,26114 -#define TEST_END 1032,26293 -RIOBoardTest(1039,26412 -RIOScrub(1120,28701 -RIOAllocateInterrupts(1266,34191 -RIOStopInterrupts(1305,34994 -RIOAllocDataStructs(1368,36331 -RIOSetupDataStructs(1426,38358 -RIODefaultName(1454,39100 -#define RIO_RELEASE 1476,39617 -#define RELEASE_ID 1477,39645 -RIOReport(1480,39675 -OLD_RIOVersid(1509,40372 -static struct rioVersion stVersion;1539,40956 -RIOVersid(1542,41013 -RIOMapin(1554,41239 -RIOMapout(1564,41393 -RIOHostReset(1574,41485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/mesg.h,67 -#define __rio_mesg_h__34,1250 -static char *_mesg_h_sccs_ 37,1293 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/riscos.h,278 -#define __rio_riscos_h__34,1256 -static char *_riscos_h_sccs_ 37,1301 -#define RIOSWAB(RIOSWAB55,1775 -#define WBYTE(WBYTE56,1803 -#define WWORD(WWORD57,1837 -#define RBYTE(RBYTE58,1872 -#define RWORD(RWORD59,1900 -#define RINDW(RINDW60,1929 -#define WINDW(WINDW61,1963 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/linux_compat.h,1984 -#define disable(disable22,829 -#define restore(restore23,873 -#define sysbrk(sysbrk25,921 -#define sysfree(sysfree26,993 -#define WBYTE(WBYTE28,1030 -#define RBYTE(RBYTE29,1063 -#define WWORD(WWORD30,1093 -#define RWORD(RWORD31,1126 -#define WINDW(WINDW32,1155 -#define RINDW(RINDW33,1187 -#define DEBUG_ALL35,1216 -#define cprintf 37,1235 -#define INKERNEL40,1277 -struct ttystatics ttystatics43,1302 -#define bzero(bzero47,1347 -#define bcopy(bcopy48,1395 -#define SEM_SIGIGNORE 50,1452 -#define swait(swait53,1499 -#define ssignal(ssignal54,1579 -#define sreset(sreset56,1660 -#define sem_init(sem_init57,1722 -#define getpid(getpid61,1793 -#define QSIZE 63,1829 -#define pseterr(pseterr65,1861 -#define V_CBAUD 67,1902 -#define delay(delay70,1999 -#define RIO_DEBUG_INIT 74,2060 -#define RIO_DEBUG_BOOT 75,2100 -#define RIO_DEBUG_CMD 76,2140 -#define RIO_DEBUG_CTRL 77,2180 -#define RIO_DEBUG_INTR 78,2220 -#define RIO_DEBUG_PARAM 79,2260 -#define RIO_DEBUG_ROUTE 80,2300 -#define RIO_DEBUG_TABLE 81,2340 -#define RIO_DEBUG_TTY 82,2380 -#define RIO_DEBUG_FLOW 83,2420 -#define RIO_DEBUG_MODEMSIGNALS 84,2460 -#define RIO_DEBUG_PROBE 85,2500 -#define RIO_DEBUG_CLEANUP 86,2540 -#define RIO_DEBUG_IFLOW 87,2580 -#define RIO_DEBUG_PFE 88,2620 -#define RIO_DEBUG_REC 89,2660 -#define RIO_DEBUG_SPINLOCK 90,2700 -#define RIO_DEBUG_DELAY 91,2740 -#define RIO_DEBUG_MOD_COUNT 92,2780 -#define RIO_B0 100,3121 -#define RIO_B50 101,3177 -#define RIO_B75 102,3216 -#define RIO_B110 103,3255 -#define RIO_B134 104,3295 -#define RIO_B150 105,3337 -#define RIO_B200 106,3377 -#define RIO_B300 107,3417 -#define RIO_B600 108,3457 -#define RIO_B1200 109,3497 -#define RIO_B1800 110,3539 -#define RIO_B2400 111,3581 -#define RIO_B4800 112,3623 -#define RIO_B9600 113,3665 -#define RIO_B19200 114,3707 -#define RIO_B38400 115,3751 -#define RIO_B56000 116,3795 -#define RIO_B57600 117,3839 -#define RIO_B64000 118,3883 -#define RIO_B115200 119,3927 -#define RIO_B2000 120,3973 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/error.h,939 -#define E_NO_ERROR 42,1632 -#define E_PROCESS_NOT_INIT 43,1686 -#define E_LINK_TIMEOUT 44,1740 -#define E_NO_ROUTE 45,1794 -#define E_CONFUSED 46,1848 -#define E_HOME 47,1902 -#define E_CSUM_FAIL 48,1956 -#define E_DISCONNECTED 49,2010 -#define E_BAD_RUP 50,2064 -#define E_NO_VIRGIN 51,2118 -#define E_BOOT_RUP_BUSY 52,2172 -#define E_CHANALLOC 59,2368 -#define E_POLL_ALLOC 60,2425 -#define E_LTTWAKE 61,2482 -#define E_LTT_ALLOC 62,2539 -#define E_LRT_ALLOC 63,2596 -#define E_CIRRUS 64,2653 -#define E_MONITOR 65,2710 -#define E_PHB_ALLOC 66,2767 -#define E_ARRAY_ALLOC 67,2824 -#define E_QBUF_ALLOC 68,2881 -#define E_PKT_ALLOC 69,2938 -#define E_GET_TX_Q_BUF 70,2995 -#define E_GET_RX_Q_BUF 71,3052 -#define E_MEM_OUT 72,3109 -#define E_MMU_INIT 73,3166 -#define E_LTT_INIT 74,3223 -#define E_LRT_INIT 75,3280 -#define E_LINK_RUN 76,3337 -#define E_MONITOR_ALLOC 77,3394 -#define E_MONITOR_INIT 78,3451 -#define E_POLL_INIT 79,3508 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/debug.h,95 -#define _debug_h_29,962 -#define DBPACKET(DBPACKET33,1003 -#define DBPACKET(DBPACKET35,1088 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rioioctl.h,800 -#define __rioioctl_h__34,1258 -static char *_rioioctl_h_sccs_ 37,1301 -struct portStats portStats44,1433 -#define rIOC 55,1558 -#define TCRIOSTATE 56,1580 -#define TCRIOXPON 57,1610 -#define TCRIOXPOFF 58,1639 -#define TCRIOXPCPS 59,1669 -#define TCRIOXPRINT 60,1699 -#define TCRIOIXANYON 61,1730 -#define TCRIOIXANYOFF 62,1762 -#define TCRIOIXONON 63,1795 -#define TCRIOIXONOFF 64,1826 -#define TCRIOMBIS 65,1858 -#define TCRIOMBIC 66,1888 -#define TCRIOTRIAD 67,1918 -#define TCRIOTSTATE 68,1949 -#define TCRIOCTSFLOWEN 75,2149 -#define TCRIOCTSFLOWDIS 76,2214 -#define TCRIORTSFLOWEN 77,2281 -#define TCRIORTSFLOWDIS 78,2346 -#define RIOC 96,3100 -#define RIO_QUICK_CHECK 98,3143 -#define RIO_GATHER_PORT_STATS 99,3183 -#define RIO_RESET_PORT_STATS 100,3226 -#define RIO_GET_PORT_STATS 101,3268 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/cdproto.h,30 -#define _cirrusprots_h21,862 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rio.h,3522 -#define __rio_rio_h__34,1247 -static char *_rio_h_sccs_ 37,1289 -#define RIO_DRV_STR 44,1424 -#define RIO_AT_HOST_STR 45,1467 -#define RIO_PCI_HOST_STR 46,1497 -#define RIO_INFO_PUT 52,1585 -#define RIO_INFO_GET 53,1617 -#define RIO_SLOTS 71,1818 -#define RIO_HOSTS 72,1874 -#define PORTS_PER_HOST 73,1934 -#define LINKS_PER_UNIT 74,1992 -#define RIO_PORTS 75,2051 -#define RTAS_PER_HOST 76,2122 -#define PORTS_PER_RTA 77,2184 -#define PORTS_PER_MODULE 78,2258 -#define MODULES_PER_RTA 80,2365 -#define MAX_PRODUCT 81,2423 -#define MAX_MODULE_TYPES 82,2485 -#define RIO_CONTROL_DEV 84,2556 -#define RIO_INVALID_MAJOR 85,2626 -#define MAX_RTA_BINDINGS 90,2760 -#define PC_RTA16 95,2828 -#define PC_RTA8 96,2856 -#define TYPE_HOST 97,2884 -#define TYPE_RTA8 98,2904 -#define TYPE_RTA16 99,2924 -#define RIO_FAIL 104,2989 -#define RIO_SUCCESS 105,3009 -#define COPYFAIL 106,3031 -#define NO_PORT 111,3137 -#define HOST_ID 116,3195 -#define LONYBLE(LONYBLE121,3247 -#define HINYBLE(HINYBLE122,3278 -#define DONT_SLEEP 127,3363 -#define OK_TO_SLEEP 128,3384 -#define DONT_PRINT 130,3407 -#define DO_PRINT 131,3428 -#define PRINT_TO_LOG_CONS 133,3448 -#define PRINT_TO_CONS 134,3476 -#define PRINT_TO_LOG 135,3500 -#define MIN_TIMEOUT 140,3588 -#define HALF_A_SECOND 145,3647 -#define A_SECOND 146,3680 -#define HUNDRED_HZ 147,3703 -#define FIFTY_HZ 148,3745 -#define TWENTY_HZ 149,3783 -#define TEN_HZ 150,3822 -#define FIVE_HZ 151,3859 -#define HUNDRED_MS 152,3895 -#define FIFTY_MS 153,3922 -#define TWENTY_MS 154,3950 -#define TEN_MS 155,3978 -#define TWO_SECONDS 156,4006 -#define FIVE_SECONDS 157,4042 -#define TEN_SECONDS 158,4079 -#define FIFTEEN_SECONDS 159,4116 -#define TWENTY_SECONDS 160,4157 -#define HALF_A_MINUTE 161,4197 -#define A_MINUTE 162,4234 -#define FIVE_MINUTES 163,4266 -#define QUARTER_HOUR 164,4301 -#define HALF_HOUR 165,4337 -#define HOUR 166,4370 -#define SIXTEEN_MEG 168,4400 -#define ONE_MEG 169,4431 -#define SIXTY_FOUR_K 170,4458 -#define RIO_AT_MEM_SIZE 172,4489 -#define RIO_EISA_MEM_SIZE 173,4527 -#define RIO_MCA_MEM_SIZE 174,4566 -#define POLL_VECTOR 176,4605 -#define COOK_WELL 178,4633 -#define COOK_MEDIUM 179,4654 -#define COOK_RAW 180,4677 -#define RIO_PTR(RIO_PTR189,4965 -#define RIO_OFF(RIO_OFF190,5016 -#define RIO_MODEMOFFSET 205,5580 -#define RIO_MODEM_MASK 206,5639 -#define RIO_MODEM_BIT 207,5669 -#define RIO_UNMODEM(RIO_UNMODEM208,5698 -#define RIO_ISMODEM(RIO_ISMODEM209,5753 -#define RIO_PORT(RIO_PORT210,5807 -#define splrio 213,5905 -#define RIO_IPL 215,5928 -#define RIO_PRI 216,5946 -#define RIO_CLOSE_PRI 217,5973 -typedef struct DbInfDbInf219,6043 -} DbInf;DbInf223,6093 -#define TRUE 226,6116 -#define FALSE 229,6157 -#define CSUM(CSUM232,6187 -#define CCOPY(CCOPY242,6617 -#define BUMP(BUMP247,6785 -#define INIT_PACKET(INIT_PACKET249,6843 -#define RIO_LINK_ENABLE 254,6920 -#define NOT_INITIALISED 257,7056 -#define INITIALISED 258,7082 -#define NOT_POLLING 260,7105 -#define POLLING 261,7127 -#define NOT_CHANGED 263,7147 -#define CHANGED 264,7169 -#define NOT_INUSE 266,7189 -#define DISCONNECT 268,7210 -#define CONNECT 269,7231 -#define RIO_MIPS_R3230 275,7324 -#define RIO_MIPS_R4030 276,7350 -#define RIO_IO_UNKNOWN 278,7377 -#define ERROR(ERROR281,7418 -#define DIST_LINESW_OPEN 285,7536 -#define DIST_LINESW_CLOSE 286,7566 -#define DIST_LINESW_READ 287,7597 -#define DIST_LINESW_WRITE 288,7627 -#define DIST_LINESW_IOCTL 289,7658 -#define DIST_LINESW_INPUT 290,7689 -#define DIST_LINESW_OUTPUT 291,7720 -#define DIST_LINESW_MDMINT 292,7752 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/rupstat.h,172 -#define _rupstat_h38,1564 -static char *_rio_rupstat_h_sccs 42,1616 -#define STATUS_SYNC 46,1688 -#define STATUS_REQ_TOP 47,1716 -#define STATUS_TOPOLOGY 48,1744 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/map.h,424 -#define __rio_map_h__34,1247 -static char *_map_h_sccs_ 37,1289 -#define MAX_MAP_ENTRY 45,1462 -#define TOTAL_MAP_ENTRIES 46,1487 -#define MAX_NAME_LEN 47,1539 -struct MapMap49,1564 -#define RTA_BOOTED 69,2228 -#define RTA_NEWBOOT 70,2259 -#define MSG_DONE 71,2291 -#define RTA_INTERCONNECT 72,2320 -#define RTA16_SECOND_SLOT 73,2356 -#define BEEN_HERE 74,2393 -#define SLOT_TENTATIVE 75,2423 -#define SLOT_IN_USE 76,2458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/data.h,68 -#define __rio_datadex__34,1251 -static char *_data_h_sccs_ 37,1289 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/cmd.h,854 -#define _cmd_h41,1587 -static char *_rio_cmd_h_sccs 45,1628 -#define PRE_EMPTIVE_CMD 50,1693 -#define INLINE_CMD 51,1730 -#define CMD_IGNORE_PKT 53,1780 -#define CMD_STATUS_REQ 54,1826 -#define CMD_UNIT_STATUS_REQ 55,1872 -#define CMD_CONF_PORT 56,1947 -#define CMD_CONF_UNIT 57,1993 -#define CMD_ROUTE_MAP_REQ 58,2039 -#define CMD_FLUSH_TX 59,2085 -#define CMD_FLUSH_RX 60,2131 -#define CMD_PARTION_PORT 61,2177 -#define CMD_RESET_PORT 62,2223 -#define CMD_BOOT_UNIT 63,2272 -#define CMD_FOUND_UNIT 64,2321 -#define CMD_ATTACHED_RTA_2 65,2370 -#define CMD_PROVIDE_BOOT 66,2419 -#define CMD_CIRRUS 67,2468 -#define FORM_STATUS_PKT 69,2518 -#define FORM_POLL_PKT 70,2565 -#define FORM_LINK_STATUS_PKT 71,2612 -#define CMD_DATA_PORT 74,2661 -#define CMD_DATA 75,2708 -#define CMD_TX_PART 77,2756 -#define CMD_RX_PART 78,2803 -#define CMD_RX_LIMIT 79,2850 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/control.h,288 -#define _control_h41,1589 -#define CONTROL 47,1692 -#define IFOAD 48,1713 -#define IDENTIFY 49,1744 -#define ZOMBIE 50,1777 -#define UFOAD 51,1809 -#define IWAIT 52,1840 -#define IFOAD_MAGIC 54,1872 -#define ZOMBIE_MAGIC 55,1916 -#define UFOAD_MAGIC 56,1972 -#define IWAIT_MAGIC 57,2025 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rio/board.h,834 -#define __rio_board_h__34,1254 -static char *_board_h_sccs_ 37,1298 -#define DP_SRAM1_SIZE 45,1499 -#define DP_SRAM2_SIZE 46,1528 -#define DP_SRAM3_SIZE 47,1557 -#define DP_SCRATCH_SIZE 48,1586 -#define DP_PARMMAP_ADDR 49,1617 -#define DP_STARTUP_ADDR 50,1672 -struct s_Ctrls_Ctrl55,1802 -struct s_Proms_Prom70,2096 -union u_CtrlProm u_CtrlProm86,2313 -struct s_ParmMapS s_ParmMapS95,2459 -struct s_StartUpSs_StartUpS101,2578 -union u_Sram2ParmMap u_Sram2ParmMap109,2713 -struct DpRamDpRam119,2919 -#define DpControl 128,3252 -#define DpSetInt 129,3294 -#define DpResetTpu 130,3338 -#define DpResetInt 131,3386 -#define DpSlx 133,3435 -#define DpRevision 134,3478 -#define DpUnique 135,3521 -#define DpYear 136,3563 -#define DpWeek 137,3605 -#define DpSignature 138,3647 -#define DpParmMapR 140,3694 -#define DpSram2 141,3751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/pcxx.h,992 -#define FEPCODESEG 1,0 -#define FEPCODE 2,28 -#define BIOSCODE 3,56 -#define MISCGLOBAL 5,85 -#define NPORT 6,113 -#define MBOX 7,141 -#define PORTBASE 8,169 -#define FEPCLR 10,198 -#define FEPMEM 11,223 -#define FEPRST 12,248 -#define FEPINT 13,273 -#define FEPMASK 14,298 -#define FEPWIN 15,323 -#define MAX_DIGI_BOARDS 18,390 -#define PCXX_NUM_TYPES 20,417 -#define PCXI 22,443 -#define PCXE 23,459 -#define PCXEVE 24,475 -#define PCXEM 25,493 -static char *board_desc[27,511 -static char *board_mem[34,588 -#define STARTC 40,651 -#define STOPC 41,675 -#define IAIXON 42,699 -struct board_info board_info45,728 -#define TXSTOPPED 58,901 -#define LOWWAIT 59,926 -#define EMPTYWAIT 60,948 -#define RXSTOPPED 61,971 -#define TXBUSY 62,994 -#define DISABLED 64,1016 -#define ENABLED 65,1037 -#define OFF 66,1058 -#define ON 67,1079 -#define FEPTIMEOUT 69,1101 -#define SERIAL_TYPE_NORMAL 70,1129 -#define PCXE_EVENT_HANGUP 71,1158 -#define PCXX_MAGIC 72,1188 -struct channel channel74,1220 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/hangcheck-timer.c,512 -#define VERSION_STR 51,1880 -#define DEFAULT_IOFENCE_MARGIN 53,1909 -#define DEFAULT_IOFENCE_TICK 54,1982 -static int hangcheck_tick 56,2056 -static int hangcheck_margin 57,2106 -static int hangcheck_reboot;58,2160 -static unsigned long long hangcheck_tsc,74,2846 -static unsigned long long hangcheck_tsc, hangcheck_tsc_margin;74,2846 -static struct timer_list hangcheck_ticktock 78,2954 -static void hangcheck_fire(83,3094 -static int __init hangcheck_init(107,3712 -static void __exit hangcheck_exit(123,4120 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/i8k.c,1928 -#define I8K_VERSION 29,935 -#define I8K_SMM_FN_STATUS 31,975 -#define I8K_SMM_POWER_STATUS 32,1008 -#define I8K_SMM_SET_FAN 33,1044 -#define I8K_SMM_GET_FAN 34,1076 -#define I8K_SMM_GET_SPEED 35,1108 -#define I8K_SMM_GET_TEMP 36,1141 -#define I8K_SMM_GET_DELL_SIG 37,1173 -#define I8K_SMM_BIOS_VERSION 38,1209 -#define I8K_FAN_MULT 40,1246 -#define I8K_MAX_TEMP 41,1271 -#define I8K_FN_NONE 43,1298 -#define I8K_FN_UP 44,1324 -#define I8K_FN_DOWN 45,1348 -#define I8K_FN_MUTE 46,1374 -#define I8K_FN_MASK 47,1400 -#define I8K_FN_SHIFT 48,1426 -#define I8K_POWER_AC 50,1451 -#define I8K_POWER_BATTERY 51,1478 -#define I8K_TEMPERATURE_BUG 53,1510 -#define DELL_SIGNATURE 55,1541 -static char *supported_models[57,1582 -static char system_vendor[63,1663 -static char product_name 64,1700 -static char bios_version 65,1737 -static char serial_number[66,1774 -static int force 68,1812 -static int restricted 69,1834 -static int power_status 70,1861 -static struct file_operations i8k_fops 86,2513 -} SMMRegisters;SMMRegisters98,2880 -} DMIHeader;DMIHeader104,2958 -static int i8k_smm(109,3055 -static int i8k_get_bios_version(151,4059 -static int i8k_get_serial_number(167,4304 -static int i8k_get_fn_status(176,4468 -static int i8k_get_power_status(201,4902 -static int i8k_get_fan_status(222,5236 -static int i8k_get_fan_speed(239,5519 -static int i8k_set_fan(256,5857 -static int i8k_get_cpu_temp(275,6246 -static int i8k_get_dell_signature(310,6986 -static int i8k_ioctl(327,7287 -static int i8k_get_info(419,8883 -static ssize_t i8k_read(465,10096 -static char* __init string_trim(491,10499 -static char* __init dmi_string(516,10986 -static void __init dmi_decode(535,11201 -static int __init dmi_table(577,12185 -static int __init dmi_iterate(620,13022 -static int __init i8k_dmi_probe(654,13871 -static int __init i8k_probe(684,14495 -int __init i8k_init(744,15725 -int init_module(769,16253 -void cleanup_module(774,16303 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/qtronix.c,1512 -#define leading1 87,2807 -#define leading2 88,2826 -#define KBD_CIR_PORT 90,2848 -#define AUX_RECONNECT 91,2871 -static int data_index;93,2950 -struct cir_port *cir;94,2973 -static unsigned char kbdbytes[95,2995 -static unsigned char cir_data[96,3029 -static struct aux_queue *queue;104,3390 -static int aux_count 105,3447 -#define NUM_FN_KEYS 113,3694 -static unsigned char fn_keys[114,3717 -void __init init_qtronix_990P_kbd(125,4029 -static inline unsigned char BitReverse(161,4786 -static inline u_int8_t UpperByte(177,5111 -static inline u_int8_t LowerByte(183,5186 -int CheckSumOk(189,5262 -static void kbd_int_handler(202,5558 -#define NUM_KBD_BYTES 265,6868 -static int handle_data(266,6892 -spinlock_t kbd_controller_lock 353,8744 -int kbd_setkeycode(357,8844 -int kbd_getkeycode(363,8995 -int kbd_translate(369,9061 -char kbd_unexpected_up(410,9796 -static unsigned char kbd_exists 416,9892 -static inline void handle_keyboard_event(418,9930 -void kbd_leds(426,10101 -void kbd_init_hw(431,10152 -static inline void handle_mouse_event(437,10182 -static unsigned char get_from_queue(459,10716 -static inline int queue_empty(472,11017 -static int fasync_aux(477,11094 -#define AUX_DEV 492,11347 -static int release_aux(494,11380 -static int open_aux(501,11501 -static ssize_t read_aux(514,11720 -static ssize_t write_aux(552,12508 -static unsigned int aux_poll(562,12720 -struct file_operations psaux_fops 570,12897 -static struct miscdevice psaux_mouse 582,13099 -static int __init psaux_init(586,13181 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/lcd.h,2862 -#define LCD_CHARS_PER_LINE 20,506 -#define FLASH_SIZE 21,536 -#define MAX_IDLE_TIME 22,562 -struct lcd_display lcd_display24,589 -#define LCD_DRIVER 38,915 -#define kLCD_IR 40,961 -#define kLCD_DR 41,989 -#define kGPI 42,1017 -#define kLED 43,1042 -#define kDD_R00 45,1068 -#define kDD_R01 46,1097 -#define kDD_R10 47,1126 -#define kDD_R11 48,1155 -#define kLCD_Addr 50,1185 -#define LCDTimeoutValue 52,1221 -#define kFlashBase 56,1285 -#define kFlash_Addr1 58,1316 -#define kFlash_Addr2 59,1347 -#define kFlash_Data1 60,1378 -#define kFlash_Data2 61,1407 -#define kFlash_Prog 62,1436 -#define kFlash_Erase3 63,1465 -#define kFlash_Erase6 64,1494 -#define kFlash_Read 65,1523 -#define kFlash_ID 67,1553 -#define kFlash_VenAddr 68,1582 -#define kFlash_DevAddr 69,1611 -#define kFlash_VenID 70,1640 -#define kFlash_DevID 71,1669 -#define LCDWriteData(LCDWriteData77,1766 -#define LCDWriteInst(LCDWriteInst78,1815 -#define LCDReadData 80,1865 -#define LCDReadInst 81,1906 -#define GPIRead 83,1948 -#define LEDSet(LEDSet85,1984 -#define WRITE_GAL(WRITE_GAL87,2023 -#define BusyCheck(BusyCheck88,2072 -#define WRITE_FLASH(WRITE_FLASH90,2130 -#define READ_FLASH(READ_FLASH91,2187 -#define LCD_On 98,2281 -#define LCD_Off 99,2300 -#define LCD_Clear 100,2320 -#define LCD_Reset 101,2341 -#define LCD_Cursor_Left 102,2362 -#define LCD_Cursor_Right 103,2389 -#define LCD_Disp_Left 104,2416 -#define LCD_Disp_Right 105,2441 -#define LCD_Get_Cursor 106,2467 -#define LCD_Set_Cursor 107,2493 -#define LCD_Home 108,2520 -#define LCD_Read 109,2541 -#define LCD_Write 110,2562 -#define LCD_Cursor_Off 111,2584 -#define LCD_Cursor_On 112,2611 -#define LCD_Get_Cursor_Pos 113,2637 -#define LCD_Set_Cursor_Pos 114,2667 -#define LCD_Blink_Off 115,2697 -#define LED_Set 117,2733 -#define LED_Bit_Set 118,2754 -#define LED_Bit_Clear 119,2778 -#define BUTTON_Read 123,2822 -#define FLASH_Erase 126,2882 -#define FLASH_Burn 127,2906 -#define FLASH_Read 128,2929 -#define LINK_Check 132,2986 -#define LINK_Check_2 133,3021 -#define BUTTON_NONE 137,3098 -#define BUTTON_NONE_B 138,3137 -#define BUTTON_Left 140,3177 -#define BUTTON_Left_B 141,3216 -#define BUTTON_Right 143,3256 -#define BUTTON_Right_B 144,3295 -#define BUTTON_Up 146,3335 -#define BUTTON_Up_B 147,3374 -#define BUTTON_Down 149,3414 -#define BUTTON_Down_B 150,3453 -#define BUTTON_Next 152,3493 -#define BUTTON_Next_B 153,3532 -#define BUTTON_Enter 155,3572 -#define BUTTON_Enter_B 156,3611 -#define BUTTON_Reset_B 158,3651 -#define BUTTON_SENSE 163,3715 -#define BUTTON_DEBOUNCE 164,3754 -#define kGal_DevBank2Cfg 169,3814 -#define kGal_DevBank2PReg 170,3857 -#define kGal_DevBank3Cfg 171,3895 -#define kGal_DevBank3PReg 172,3938 -#define kIPADDR 176,3989 -#define kNETMASK 177,4009 -#define kGATEWAY 178,4029 -#define kDNS 179,4049 -#define kClassA 181,4067 -#define kClassB 182,4087 -#define kClassC 183,4107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/sonypi.c,1938 -static int verbose;53,1647 -static struct sonypi_device sonypi_device;58,1725 -static int minor 59,1768 -static int fnkeyinit;60,1791 -static int camera;61,1823 -static int compat;62,1852 -static int useinput 63,1881 -static unsigned long mask 64,1906 -static inline void sonypi_initq(67,1969 -static inline unsigned char sonypi_pullq(75,2247 -static inline void sonypi_pushq(93,2816 -static inline int sonypi_emptyq(114,3539 -static int ec_read16(124,3814 -static void sonypi_type1_srs(135,4105 -static void sonypi_type2_srs(157,4849 -static void sonypi_type1_dis(168,5306 -static void sonypi_type2_dis(180,5584 -static u8 sonypi_call1(189,5870 -static u8 sonypi_call2(199,6110 -static u8 sonypi_call3(210,6423 -static u8 sonypi_read(223,6847 -static void sonypi_set(237,7076 -static int sonypi_camera_ready(243,7220 -static void sonypi_camera_off(251,7401 -static void sonypi_camera_on(263,7634 -static void sonypi_setbluetoothpower(297,8252 -static irqreturn_t sonypi_irq(309,8519 -u8 sonypi_camera_command(365,10343 -static int sonypi_misc_fasync(440,12362 -static int sonypi_misc_release(449,12559 -static int sonypi_misc_open(457,12765 -static ssize_t sonypi_misc_read(467,13023 -static unsigned int sonypi_misc_poll(501,13822 -static int sonypi_misc_ioctl(508,14022 -static struct file_operations sonypi_misc_fops 593,15863 -struct miscdevice sonypi_misc_device 603,16121 -static int old_camera_power;608,16216 -static int sonypi_suspend(610,16246 -static int sonypi_resume(626,16671 -static int sonypi_pm_callback(646,17132 -static struct sysdev_class sonypi_sysclass 660,17394 -static struct sys_device sonypi_sysdev 666,17525 -static int __devinit sonypi_probe(672,17615 -static void __devexit sonypi_remove(839,22326 -static struct dmi_system_id __initdata sonypi_dmi_table[872,23162 -static int __init sonypi_init_module(890,23515 -static void __exit sonypi_cleanup_module(903,23796 -static int __init sonypi_setup(908,23881 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/pty.c,969 -struct tty_driver *ptm_driver;37,923 -struct tty_driver *pts_driver;38,954 -static void pty_close(41,993 -static void pty_unthrottle(81,2311 -static int pty_write(106,3148 -static int pty_write_room(155,4154 -static int pty_chars_in_buffer(182,5220 -static int pty_set_lock(204,5920 -static void pty_flush_buffer(216,6148 -static int pty_open(232,6432 -static void pty_set_termios(255,6903 -static struct tty_operations pty_ops 261,7089 -static struct tty_driver *pty_driver,274,7422 -static struct tty_driver *pty_driver, *pty_slave_driver;274,7422 -static int pty_bsd_ioctl(276,7480 -static void __init legacy_pty_init(286,7741 -static inline void legacy_pty_init(336,9495 -int pty_limit 345,9758 -static int pty_limit_min 346,9797 -static int pty_limit_max 347,9827 -ctl_table pty_table[349,9874 -static int pty_unix98_ioctl(371,10296 -static void __init unix98_pty_init(384,10658 -static inline void unix98_pty_init(434,12449 -static int __init pty_init(437,12502 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/genrtc.c,1339 -#define RTC_VERSION 43,1761 -#define RTC_IS_OPEN 74,2403 -static unsigned char gen_rtc_status;76,2461 -static unsigned long gen_rtc_irq_data;77,2527 -static unsigned char days_in_mo[80,2625 -static int irq_active;83,2712 -struct work_struct genrtc_task;86,2760 -static struct timer_list timer_task;87,2792 -static unsigned int oldsecs;89,2830 -static int lostint;90,2859 -static unsigned long tt_exp;91,2879 -static volatile int stask_active;95,2957 -static volatile int ttask_active;96,3024 -static int stop_rtc_timers;97,3088 -static spinlock_t gen_rtc_lock 98,3161 -static void genrtc_troutine(106,3394 -static void gen_rtc_timer(130,3841 -static void gen_rtc_interrupt(151,4422 -static ssize_t gen_rtc_read(174,5003 -static unsigned int gen_rtc_poll(217,6029 -static inline void gen_clear_rtc_irq_bit(234,6419 -static inline int gen_set_rtc_irq_bit(251,6721 -static int gen_rtc_ioctl(276,7198 -static int gen_rtc_open(352,9069 -static int gen_rtc_release(364,9275 -static int gen_rtc_proc_output(384,9605 -static int gen_rtc_read_proc(456,11377 -static int __init gen_rtc_proc_init(468,11680 -static inline int gen_rtc_proc_init(478,11875 -static struct file_operations gen_rtc_fops 486,12012 -static struct miscdevice rtc_gen_dev 497,12245 -static int __init rtc_generic_init(504,12354 -static void __exit rtc_generic_exit(523,12660 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/nvram.c,2339 -#define NVRAM_VERSION 37,1621 -#define PC 45,1781 -#define ATARI 46,1795 -#define COBALT 47,1812 -# define MACH 51,1892 -#define MACH 53,2000 -# define MACH 56,2081 -# define MACH 58,2113 -#define CHECK_DRIVER_INIT(CHECK_DRIVER_INIT67,2257 -#define PC_CKS_RANGE_START 70,2346 -#define PC_CKS_RANGE_END 71,2375 -#define PC_CKS_LOC 72,2403 -#define NVRAM_BYTES 73,2426 -#define mach_check_checksum 75,2471 -#define mach_set_checksum 76,2517 -#define mach_proc_infos 77,2559 -#define CHECK_DRIVER_INIT(CHECK_DRIVER_INIT83,2627 -#define NVRAM_BYTES 85,2662 -#define mach_check_checksum 87,2707 -#define mach_set_checksum 88,2757 -#define mach_proc_infos 89,2803 -#define RTC_PORT(RTC_PORT98,2977 -#define CHECK_DRIVER_INIT(CHECK_DRIVER_INIT99,3019 -#define NVRAM_BYTES 101,3091 -#define ATARI_CKS_RANGE_START 105,3231 -#define ATARI_CKS_RANGE_END 106,3263 -#define ATARI_CKS_LOC 107,3294 -#define mach_check_checksum 109,3321 -#define mach_set_checksum 110,3370 -#define mach_proc_infos 111,3415 -static spinlock_t nvram_state_lock 136,4078 -static int nvram_open_cnt;137,4135 -static int nvram_open_mode;138,4182 -#define NVRAM_WRITE 139,4235 -#define NVRAM_EXCL 140,4295 -__nvram_read_byte(162,5042 -nvram_read_byte(168,5127 -__nvram_write_byte(181,5400 -nvram_write_byte(187,5491 -__nvram_check_checksum(197,5672 -nvram_check_checksum(203,5741 -__nvram_set_checksum(215,5935 -nvram_set_checksum(221,5994 -static loff_t nvram_llseek(234,6230 -nvram_read(253,6563 -nvram_write(282,7120 -nvram_ioctl(315,7769 -nvram_open(353,8485 -nvram_release(376,8979 -nvram_read_proc(395,9353 -nvram_read_proc(403,9480 -#define PRINT_PROC(PRINT_PROC426,10101 -static struct file_operations nvram_fops 439,10389 -static struct miscdevice nvram_dev 449,10607 -nvram_init(456,10705 -nvram_cleanup_module(486,11342 -pc_check_checksum(502,11572 -pc_set_checksum(516,11879 -static char *floppy_types[529,12144 -static char *gfx_types[534,12278 -pc_proc_infos(542,12403 -static int cobalt_check_checksum(610,14378 -static void cobalt_set_checksum(627,14793 -static int cobalt_proc_infos(645,15176 -atari_check_checksum(781,18814 -atari_set_checksum(793,19108 -} boot_prefs[809,19425 -static char *languages[817,19554 -static char *dateformat[829,19722 -static char *colors[840,19887 -#define fieldsize(fieldsize844,19967 -atari_proc_infos(847,20023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/digi_fep.h,87 -static unsigned char pcxx_cook[3,27 -static unsigned char pcxx_cook[] __initdata 3,27 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/selection.c,509 -#define isspace(isspace30,744 - int sel_cons;36,914 -static volatile int sel_start 37,967 -static int sel_end;38,1037 -static int sel_buffer_lth;39,1057 -static char *sel_buffer;40,1084 -highlight(47,1309 -highlight_pointer(53,1458 -sel_pos(58,1553 -clear_selection(66,1750 -static u32 inwordLut[78,1994 -static inline int inword(89,2338 -int sel_loadlut(94,2488 -static inline int atedge(100,2676 -static inline unsigned short limit(106,2820 -int set_selection(112,3004 -int paste_selection(276,7164 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i830_irq.c,281 -irqreturn_t i830_driver_irq_handler(38,1494 -int i830_emit_irq(59,1966 -int i830_wait_irq(77,2305 -int i830_irq_emit(123,3436 -int i830_irq_wait(158,4258 -void i830_driver_irq_preinstall(181,4821 -void i830_driver_irq_postinstall(193,5206 -void i830_driver_irq_uninstall(200,5384 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915_dma.c,914 -static inline void i915_print_status_page(16,408 -int i915_wait_ring(39,1160 -void i915_kernel_lost_context(65,1780 -int i915_dma_cleanup(80,2241 -static int i915_initialize(114,3066 -static int i915_resume(198,5449 -int i915_dma_init(233,6266 -static int do_validate_cmd(274,7364 -static int validate_cmd(332,8493 -static int i915_emit_cmds(341,8632 -static int i915_emit_box(374,9280 -static int i915_dispatch_cmdbuffer(404,9987 -static int i915_dispatch_batchbuffer(435,10543 -static int i915_dispatch_flip(488,11716 -static int i915_quiescent(536,12806 -int i915_flush_ioctl(544,13008 -int i915_batchbuffer(556,13235 -int i915_cmdbuffer(593,14269 -int i915_do_cleanup_pageflip(632,15293 -int i915_flip_bufs(643,15505 -int i915_getparam(656,15765 -int i915_setparam(691,16528 -static void i915_driver_pretakedown(723,17296 -static void i915_driver_prerelease(732,17517 -void i915_driver_register_fns(740,17738 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_context.h,276 -void DRM(59,2092 -int DRM(87,2870 -int DRM(145,4312 -void DRM(178,5041 -int DRM(207,5845 -int DRM(246,6891 -int DRM(300,8144 -int DRM(329,8927 -int DRM(356,9768 -int DRM(394,10680 -int DRM(444,11935 -int DRM(460,12304 -int DRM(488,12956 -int DRM(513,13612 -int DRM(540,14316 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_lists.h,186 -int DRM(35,1521 -int DRM(53,1989 -int DRM(67,2279 -drm_buf_t *DRM(88,2729 -int DRM(105,3085 -int DRM(118,3369 -int DRM(125,3477 -static drm_buf_t *DRM(160,4363 -drm_buf_t *DRM(187,4876 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm.h,9417 -#define _DRM_H_38,1523 -#define DRM_IOCTL_NR(DRM_IOCTL_NR43,1635 -#define DRM_IOC_VOID 44,1671 -#define DRM_IOC_READ 45,1703 -#define DRM_IOC_WRITE 46,1735 -#define DRM_IOC_READWRITE 47,1769 -#define DRM_IOC(DRM_IOC48,1816 -#define ioctl(ioctl54,2096 -#define DRM_IOCTL_NR(DRM_IOCTL_NR58,2203 -#define DRM_IOC_VOID 59,2241 -#define DRM_IOC_READ 60,2272 -#define DRM_IOC_WRITE 61,2302 -#define DRM_IOC_READWRITE 62,2332 -#define DRM_IOC(DRM_IOC63,2368 -#define XFREE86_VERSION(XFREE86_VERSION66,2441 -#define CONFIG_XFREE86_VERSION 70,2564 -#define DRM_PROC_DEVICES 74,2682 -#define DRM_PROC_MISC 75,2723 -#define DRM_PROC_DRM 76,2759 -#define DRM_DEV_DRM 77,2793 -#define DRM_DEV_MODE 78,2825 -#define DRM_DEV_UID 79,2881 -#define DRM_DEV_GID 80,2904 -#define DRM_MAJOR 84,2990 -#define DRM_MAX_MINOR 85,3018 -#define DRM_NAME 87,3052 -#define DRM_MIN_ORDER 88,3117 -#define DRM_MAX_ORDER 89,3181 -#define DRM_RAM_PERCENT 90,3239 -#define _DRM_LOCK_HELD 92,3310 -#define _DRM_LOCK_CONT 93,3374 -#define _DRM_LOCK_IS_HELD(_DRM_LOCK_IS_HELD94,3443 -#define _DRM_LOCK_IS_CONT(_DRM_LOCK_IS_CONT95,3504 -#define _DRM_LOCKING_CONTEXT(_DRM_LOCKING_CONTEXT96,3565 -typedef unsigned long drm_handle_t;drm_handle_t99,3646 -typedef unsigned int drm_context_t;drm_context_t100,3682 -typedef unsigned int drm_drawable_t;drm_drawable_t101,3719 -typedef unsigned int drm_magic_t;drm_magic_t102,3757 -typedef struct drm_clip_rect drm_clip_rect114,4022 -} drm_clip_rect_t;drm_clip_rect_t119,4133 -typedef struct drm_tex_region drm_tex_region125,4181 -} drm_tex_region_t;drm_tex_region_t131,4321 -typedef struct drm_hw_lock drm_hw_lock140,4568 -} drm_hw_lock_t;drm_hw_lock_t143,4702 -typedef struct drm_version drm_version151,4799 -} drm_version_t;drm_version_t161,5292 -typedef struct drm_unique drm_unique169,5407 -} drm_unique_t;drm_unique_t172,5553 -typedef struct drm_list drm_list175,5571 -} drm_list_t;drm_list_t178,5686 -typedef struct drm_block drm_block181,5702 -} drm_block_t;drm_block_t183,5744 -typedef struct drm_control drm_control191,5868 - DRM_ADD_COMMAND,193,5905 - DRM_RM_COMMAND,194,5924 - DRM_INST_HANDLER,195,5942 - DRM_UNINST_HANDLER196,5962 -} drm_control_t;drm_control_t199,6006 -typedef enum drm_map_type drm_map_type205,6059 - _DRM_FRAME_BUFFER 206,6087 - _DRM_REGISTERS 207,6152 - _DRM_SHM 208,6211 - _DRM_AGP 209,6254 - _DRM_SCATTER_GATHER 210,6298 -} drm_map_type_t;drm_map_type_t211,6367 -typedef enum drm_map_flags drm_map_flags217,6420 - _DRM_RESTRICTED 218,6449 - _DRM_RESTRICTED = 0x01,218,6449 - _DRM_READ_ONLY 219,6520 - _DRM_READ_ONLY = 0x02,219,6520 - _DRM_LOCKED 220,6549 - _DRM_LOCKED = 0x04,220,6549 - _DRM_KERNEL 221,6606 - _DRM_KERNEL = 0x08,221,6606 - _DRM_WRITE_COMBINING 222,6663 - _DRM_WRITE_COMBINING = 0x10,222,6663 - _DRM_CONTAINS_LOCK 223,6734 - _DRM_CONTAINS_LOCK = 0x20,223,6734 - _DRM_REMOVABLE 224,6800 - _DRM_REMOVABLE = 0x40 224,6800 -} drm_map_flags_t;drm_map_flags_t225,6855 -typedef struct drm_ctx_priv_map drm_ctx_priv_map228,6876 -} drm_ctx_priv_map_t;drm_ctx_priv_map_t231,7014 -typedef struct drm_map drm_map240,7155 -} drm_map_t;drm_map_t249,7581 -typedef struct drm_client drm_client255,7649 -} drm_client_t;drm_client_t262,7915 - _DRM_STAT_LOCK,266,7948 - _DRM_STAT_OPENS,267,7965 - _DRM_STAT_CLOSES,268,7983 - _DRM_STAT_IOCTLS,269,8002 - _DRM_STAT_LOCKS,270,8021 - _DRM_STAT_UNLOCKS,271,8039 - _DRM_STAT_VALUE,272,8059 - _DRM_STAT_BYTE,273,8099 - _DRM_STAT_COUNT,274,8160 - _DRM_STAT_IRQ,276,8221 - _DRM_STAT_PRIMARY,277,8250 - _DRM_STAT_SECONDARY,278,8296 - _DRM_STAT_DMA,279,8346 - _DRM_STAT_SPECIAL,280,8375 - _DRM_STAT_MISSED 281,8442 -} drm_stat_type_t;drm_stat_type_t284,8531 -typedef struct drm_stats drm_stats290,8604 -} drm_stats_t;drm_stats_t296,8725 -typedef enum drm_lock_flags drm_lock_flags302,8777 - _DRM_LOCK_READY 303,8807 - _DRM_LOCK_READY = 0x01,303,8807 - _DRM_LOCK_QUIESCENT 304,8882 - _DRM_LOCK_QUIESCENT = 0x02,304,8882 - _DRM_LOCK_FLUSH 305,8950 - _DRM_LOCK_FLUSH = 0x04,305,8950 - _DRM_LOCK_FLUSH_ALL 306,9025 - _DRM_LOCK_FLUSH_ALL = 0x08,306,9025 - _DRM_HALT_ALL_QUEUES 310,9217 - _DRM_HALT_ALL_QUEUES = 0x10,310,9217 - _DRM_HALT_CUR_QUEUES 311,9290 - _DRM_HALT_CUR_QUEUES = 0x20 311,9290 -} drm_lock_flags_t;drm_lock_flags_t312,9352 -typedef struct drm_lock drm_lock320,9501 -} drm_lock_t;drm_lock_t323,9568 -typedef enum drm_dma_flags drm_dma_flags334,9681 - _DRM_DMA_BLOCK 336,9763 - _DRM_DMA_BLOCK = 0x01,336,9763 - _DRM_DMA_WHILE_LOCKED 346,10116 - _DRM_DMA_WHILE_LOCKED = 0x02,346,10116 - _DRM_DMA_PRIORITY 347,10180 - _DRM_DMA_PRIORITY = 0x04,347,10180 - _DRM_DMA_WAIT 350,10288 - _DRM_DMA_WAIT = 0x10,350,10288 - _DRM_DMA_SMALLER_OK 351,10347 - _DRM_DMA_SMALLER_OK = 0x20,351,10347 - _DRM_DMA_LARGER_OK 352,10420 - _DRM_DMA_LARGER_OK = 0x40 352,10420 -} drm_dma_flags_t;drm_dma_flags_t353,10492 -typedef struct drm_buf_desc drm_buf_desc361,10612 - _DRM_PAGE_ALIGN 367,10839 - _DRM_PAGE_ALIGN = 0x01,367,10839 - _DRM_AGP_BUFFER 368,10906 - _DRM_AGP_BUFFER = 0x02,368,10906 - _DRM_SG_BUFFER 369,10963 - _DRM_SG_BUFFER = 0x04 369,10963 -} drm_buf_desc_t;drm_buf_desc_t375,11162 -typedef struct drm_buf_info drm_buf_info381,11234 -} drm_buf_info_t;drm_buf_info_t384,11337 -typedef struct drm_buf_free drm_buf_free390,11409 -} drm_buf_free_t;drm_buf_free_t393,11484 -typedef struct drm_buf_pub drm_buf_pub401,11557 -} drm_buf_pub_t;drm_buf_pub_t406,11807 -typedef struct drm_buf_map drm_buf_map412,11877 -} drm_buf_map_t;drm_buf_map_t416,12079 -typedef struct drm_dma drm_dma426,12240 -} drm_dma_t;drm_dma_t437,12780 - _DRM_CONTEXT_PRESERVED 441,12810 - _DRM_CONTEXT_PRESERVED = 0x01,441,12810 - _DRM_CONTEXT_2DONLY 442,12842 - _DRM_CONTEXT_2DONLY = 0x02442,12842 -} drm_ctx_flags_t;drm_ctx_flags_t443,12873 -typedef struct drm_ctx drm_ctx451,12998 -} drm_ctx_t;drm_ctx_t454,13070 -typedef struct drm_ctx_res drm_ctx_res460,13135 -} drm_ctx_res_t;drm_ctx_res_t463,13206 -typedef struct drm_draw drm_draw469,13298 -} drm_draw_t;drm_draw_t471,13348 -typedef struct drm_auth drm_auth477,13441 -} drm_auth_t;drm_auth_t479,13487 -typedef struct drm_irq_busid drm_irq_busid487,13593 -} drm_irq_busid_t;drm_irq_busid_t492,13758 - _DRM_VBLANK_ABSOLUTE 496,13794 - _DRM_VBLANK_ABSOLUTE = 0x0,496,13794 - _DRM_VBLANK_RELATIVE 497,13876 - _DRM_VBLANK_RELATIVE = 0x1,497,13876 - _DRM_VBLANK_SIGNAL 498,13950 - _DRM_VBLANK_SIGNAL = 0x40000000 498,13950 -} drm_vblank_seq_type_t;drm_vblank_seq_type_t499,14028 -#define _DRM_VBLANK_FLAGS_MASK 502,14055 -struct drm_wait_vblank_request drm_wait_vblank_request505,14107 -struct drm_wait_vblank_reply drm_wait_vblank_reply512,14221 -typedef union drm_wait_vblank drm_wait_vblank525,14424 -} drm_wait_vblank_t;drm_wait_vblank_t528,14534 -typedef struct drm_agp_mode drm_agp_mode536,14636 -} drm_agp_mode_t;drm_agp_mode_t538,14704 -typedef struct drm_agp_buffer drm_agp_buffer546,14842 -} drm_agp_buffer_t;drm_agp_buffer_t551,15125 -typedef struct drm_agp_binding drm_agp_binding559,15267 -} drm_agp_binding_t;drm_agp_binding_t562,15424 -typedef struct drm_agp_info drm_agp_info572,15683 -} drm_agp_info_t;drm_agp_info_t584,16058 -typedef struct drm_scatter_gather drm_scatter_gather590,16129 -} drm_scatter_gather_t;drm_scatter_gather_t593,16294 -typedef struct drm_set_version drm_set_version598,16373 -} drm_set_version_t;drm_set_version_t603,16482 -#define DRM_IOCTL_BASE 606,16505 -#define DRM_IO(DRM_IO607,16534 -#define DRM_IOR(DRM_IOR608,16578 -#define DRM_IOW(DRM_IOW609,16633 -#define DRM_IOWR(DRM_IOWR610,16688 -#define DRM_IOCTL_VERSION 612,16746 -#define DRM_IOCTL_GET_UNIQUE 613,16803 -#define DRM_IOCTL_GET_MAGIC 614,16862 -#define DRM_IOCTL_IRQ_BUSID 615,16918 -#define DRM_IOCTL_GET_MAP 616,16979 -#define DRM_IOCTL_GET_CLIENT 617,17045 -#define DRM_IOCTL_GET_STATS 618,17114 -#define DRM_IOCTL_SET_VERSION 619,17182 -#define DRM_IOCTL_SET_UNIQUE 621,17248 -#define DRM_IOCTL_AUTH_MAGIC 622,17307 -#define DRM_IOCTL_BLOCK 623,17364 -#define DRM_IOCTL_UNBLOCK 624,17418 -#define DRM_IOCTL_CONTROL 625,17473 -#define DRM_IOCTL_ADD_MAP 626,17530 -#define DRM_IOCTL_ADD_BUFS 627,17583 -#define DRM_IOCTL_MARK_BUFS 628,17642 -#define DRM_IOCTL_INFO_BUFS 629,17702 -#define DRM_IOCTL_MAP_BUFS 630,17762 -#define DRM_IOCTL_FREE_BUFS 631,17820 -#define DRM_IOCTL_RM_MAP 633,17881 -#define DRM_IOCTL_SET_SAREA_CTX 635,17934 -#define DRM_IOCTL_GET_SAREA_CTX 636,18002 -#define DRM_IOCTL_ADD_CTX 638,18071 -#define DRM_IOCTL_RM_CTX 639,18124 -#define DRM_IOCTL_MOD_CTX 640,18176 -#define DRM_IOCTL_GET_CTX 641,18229 -#define DRM_IOCTL_SWITCH_CTX 642,18282 -#define DRM_IOCTL_NEW_CTX 643,18338 -#define DRM_IOCTL_RES_CTX 644,18391 -#define DRM_IOCTL_ADD_DRAW 645,18448 -#define DRM_IOCTL_RM_DRAW 646,18503 -#define DRM_IOCTL_DMA 647,18557 -#define DRM_IOCTL_LOCK 648,18607 -#define DRM_IOCTL_UNLOCK 649,18659 -#define DRM_IOCTL_FINISH 650,18712 -#define DRM_IOCTL_AGP_ACQUIRE 652,18766 -#define DRM_IOCTL_AGP_RELEASE 653,18812 -#define DRM_IOCTL_AGP_ENABLE 654,18858 -#define DRM_IOCTL_AGP_INFO 655,18919 -#define DRM_IOCTL_AGP_ALLOC 656,18978 -#define DRM_IOCTL_AGP_FREE 657,19040 -#define DRM_IOCTL_AGP_BIND 658,19101 -#define DRM_IOCTL_AGP_UNBIND 659,19163 -#define DRM_IOCTL_SG_ALLOC 661,19228 -#define DRM_IOCTL_SG_FREE 662,19293 -#define DRM_IOCTL_WAIT_VBLANK 664,19358 -#define DRM_COMMAND_BASE 673,19653 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_fops.h,102 -int DRM(52,1927 -int DRM(119,3471 -int DRM(130,3746 -unsigned int DRM(143,4100 -ssize_t DRM(150,4205 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_irq.c,200 -irqreturn_t mga_driver_irq_handler(39,1629 -int mga_driver_vblank_wait(59,2091 -void mga_driver_irq_preinstall(77,2546 -void mga_driver_irq_postinstall(87,2820 -void mga_driver_irq_uninstall(95,3025 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_pciids.h,408 -#define radeon_PCI_IDS 5,147 -#define r128_PCI_IDS 66,3316 -#define mga_PCI_IDS 106,5349 -#define mach64_PCI_IDS 112,5545 -#define sisdrv_PCI_IDS 135,6662 -#define tdfx_PCI_IDS 142,6915 -#define viadrv_PCI_IDS 151,7274 -#define i810_PCI_IDS 158,7527 -#define i830_PCI_IDS 165,7778 -#define gamma_PCI_IDS 172,8029 -#define savage_PCI_IDS 176,8119 -#define ffb_PCI_IDS 201,9344 -#define i915_PCI_IDS 204,9378 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128_irq.c,205 -irqreturn_t r128_driver_irq_handler(39,1633 -int r128_driver_vblank_wait(59,2136 -void r128_driver_irq_preinstall(77,2592 -void r128_driver_irq_postinstall(87,2914 -void r128_driver_irq_uninstall(95,3144 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i810_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915_drv.h,3182 -#define _I915_DRV_H_11,341 -typedef struct _drm_i915_ring_buffer _drm_i915_ring_buffer13,363 -} drm_i915_ring_buffer_t;drm_i915_ring_buffer_t23,557 -struct mem_block mem_block25,584 -typedef struct drm_i915_private drm_i915_private33,739 -} drm_i915_private_t;drm_i915_private_t57,1235 -#define I915_READ(I915_READ89,2433 -#define I915_WRITE(I915_WRITE90,2501 -#define I915_READ16(I915_READ1691,2575 -#define I915_WRITE16(I915_WRITE1692,2637 -#define I915_VERBOSE 94,2710 -#define RING_LOCALS 96,2734 -#define BEGIN_LP_RING(BEGIN_LP_RING99,2844 -#define OUT_RING(OUT_RING111,3206 -#define ADVANCE_LP_RING(ADVANCE_LP_RING119,3441 -#define GFX_OP_USER_INTERRUPT 128,3760 -#define GFX_OP_BREAKPOINT_INTERRUPT 129,3810 -#define CMD_REPORT_HEAD 130,3864 -#define CMD_STORE_DWORD_IDX 131,3898 -#define CMD_OP_BATCH_BUFFER 132,3946 -#define INST_PARSER_CLIENT 134,4003 -#define INST_OP_FLUSH 135,4043 -#define INST_FLUSH_MAP_CACHE 136,4083 -#define BB1_START_ADDR_MASK 138,4124 -#define BB1_PROTECTED 139,4161 -#define BB1_UNPROTECTED 140,4198 -#define BB2_END_ADDR_MASK 141,4235 -#define I915REG_HWSTAM 143,4273 -#define I915REG_INT_IDENTITY_R 144,4305 -#define I915REG_INT_MASK_R 145,4344 -#define I915REG_INT_ENABLE_R 146,4380 -#define SRX_INDEX 148,4418 -#define SRX_DATA 149,4443 -#define SR01 150,4467 -#define SR01_SCREEN_OFF 151,4484 -#define PPCR 153,4517 -#define PPCR_ON 154,4540 -#define ADPA 156,4566 -#define ADPA_DPMS_MASK 157,4589 -#define ADPA_DPMS_ON 158,4624 -#define ADPA_DPMS_SUSPEND 159,4654 -#define ADPA_DPMS_STANDBY 160,4688 -#define ADPA_DPMS_OFF 161,4722 -#define NOPID 163,4754 -#define LP_RING 164,4793 -#define HP_RING 165,4822 -#define RING_TAIL 166,4851 -#define TAIL_ADDR 167,4881 -#define RING_HEAD 168,4911 -#define HEAD_WRAP_COUNT 169,4941 -#define HEAD_WRAP_ONE 170,4981 -#define HEAD_ADDR 171,5021 -#define RING_START 172,5061 -#define START_ADDR 173,5091 -#define RING_LEN 174,5133 -#define RING_NR_PAGES 175,5163 -#define RING_REPORT_MASK 176,5203 -#define RING_REPORT_64K 177,5243 -#define RING_REPORT_128K 178,5283 -#define RING_NO_REPORT 179,5323 -#define RING_VALID_MASK 180,5363 -#define RING_VALID 181,5403 -#define RING_INVALID 182,5443 -#define GFX_OP_SCISSOR 184,5484 -#define SC_UPDATE_SCISSOR 185,5549 -#define SC_ENABLE_MASK 186,5590 -#define SC_ENABLE 187,5631 -#define GFX_OP_SCISSOR_INFO 189,5673 -#define SCI_YMIN_MASK 190,5744 -#define SCI_XMIN_MASK 191,5784 -#define SCI_YMAX_MASK 192,5823 -#define SCI_XMAX_MASK 193,5863 -#define GFX_OP_SCISSOR_ENABLE 195,5903 -#define GFX_OP_SCISSOR_RECT 196,5968 -#define GFX_OP_COLOR_FACTOR 197,6033 -#define GFX_OP_STIPPLE 198,6103 -#define GFX_OP_MAP_INFO 199,6170 -#define GFX_OP_DESTBUFFER_VARS 200,6230 -#define GFX_OP_DRAWRECT_INFO 201,6301 -#define MI_BATCH_BUFFER 203,6375 -#define MI_BATCH_BUFFER_START 204,6415 -#define MI_BATCH_BUFFER_END 205,6457 -#define MI_BATCH_NON_SECURE 206,6496 -#define MI_WAIT_FOR_EVENT 208,6529 -#define MI_WAIT_FOR_PLANE_A_FLIP 209,6573 -#define MI_WAIT_FOR_PLANE_A_SCANLINES 210,6618 -#define MI_LOAD_SCAN_LINES_INCL 212,6664 -#define CMD_OP_DISPLAYBUFFER_INFO 214,6711 -#define ASYNC_FLIP 215,6770 -#define CMD_OP_DESTBUFFER_INFO 217,6813 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_drv.h,1327 -#define _GAMMA_DRV_H_33,1507 -typedef struct drm_gamma_private drm_gamma_private35,1530 -} drm_gamma_private_t;drm_gamma_private_t43,1707 -#define GLINT_DRI_BUF_COUNT 99,4085 -#define GAMMA_OFF(GAMMA_OFF101,4118 -#define GAMMA_BASE(GAMMA_BASE110,4355 -#define GAMMA_ADDR(GAMMA_ADDR115,4621 -#define GAMMA_DEREF(GAMMA_DEREF116,4681 -#define GAMMA_READ(GAMMA_READ117,4743 -#define GAMMA_WRITE(GAMMA_WRITE118,4785 -#define GAMMA_BROADCASTMASK 120,4856 -#define GAMMA_COMMANDINTENABLE 121,4894 -#define GAMMA_DMAADDRESS 122,4932 -#define GAMMA_DMACOUNT 123,4970 -#define GAMMA_FILTERMODE 124,5007 -#define GAMMA_GCOMMANDINTFLAGS 125,5045 -#define GAMMA_GCOMMANDMODE 126,5083 -#define GAMMA_QUEUED_DMA_MODE 127,5121 -#define GAMMA_GCOMMANDSTATUS 128,5158 -#define GAMMA_GDELAYTIMER 129,5196 -#define GAMMA_GDMACONTROL 130,5234 -#define GAMMA_USE_AGP 131,5272 -#define GAMMA_GINTENABLE 132,5302 -#define GAMMA_GINTFLAGS 133,5340 -#define GAMMA_INFIFOSPACE 134,5378 -#define GAMMA_OUTFIFOWORDS 135,5416 -#define GAMMA_OUTPUTFIFO 136,5454 -#define GAMMA_SYNC 137,5492 -#define GAMMA_SYNC_TAG 138,5525 -#define GAMMA_PAGETABLEADDR 139,5562 -#define GAMMA_PAGETABLELENGTH 140,5600 -#define GAMMA_PASSTHROUGH 142,5639 -#define GAMMA_DMAADDRTAG 143,5671 -#define GAMMA_DMACOUNTTAG 144,5702 -#define GAMMA_COMMANDINTTAG 145,5734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_irq.h,107 -int DRM(53,2038 -int DRM(92,3084 -int DRM(159,4424 -int DRM(194,5148 -int DRM(242,6617 -void DRM(342,9158 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128_cce.c,1168 -#define R128_FIFO_DEBUG 37,1549 -static u32 r128_cce_microcode[40,1608 -int R128_READ_PLL(84,4214 -static void r128_status(93,4428 -static int r128_do_pixcache_flush(115,5155 -static int r128_do_wait_for_fifo(136,5583 -static int r128_do_wait_for_idle(152,5930 -static void r128_cce_load_microcode(179,6495 -static void r128_do_cce_flush(200,7039 -int r128_do_cce_idle(210,7269 -static void r128_do_cce_start(236,7876 -static void r128_do_cce_reset(253,8440 -static void r128_do_cce_stop(264,8809 -static int r128_do_engine_reset(275,9102 -static void r128_cce_init_ring_buffer(314,10224 -static int r128_do_init_cce(352,11321 -int r128_do_cleanup_cce(586,17919 -int r128_cce_init(623,18893 -int r128_cce_start(644,19288 -int r128_cce_stop(665,19726 -int r128_cce_reset(706,20761 -int r128_cce_idle(727,21167 -int r128_engine_reset(742,21437 -int r128_fullscreen(752,21591 -#define R128_BUFFER_USED 761,21755 -#define R128_BUFFER_FREE 762,21791 -static int r128_freelist_init(765,21825 -drm_buf_t *r128_freelist_get(812,22901 -void r128_freelist_reset(850,23749 -int r128_wait_ring(867,24100 -static int r128_cce_get_buffers(884,24466 -int r128_cce_buffers(907,25002 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i830_drv.h,4011 -#define _I830_DRV_H_33,1544 -typedef struct drm_i830_buf_priv drm_i830_buf_priv35,1566 -} drm_i830_buf_priv_t;drm_i830_buf_priv_t41,1707 -typedef struct _drm_i830_ring_buffer{_drm_i830_ring_buffer43,1731 -} drm_i830_ring_buffer_t;drm_i830_ring_buffer_t52,1902 -typedef struct drm_i830_private drm_i830_private54,1929 -} drm_i830_private_t;drm_i830_private_t91,2543 -#define I830_BASE(I830_BASE144,4779 -#define I830_ADDR(I830_ADDR146,4854 -#define I830_DEREF(I830_DEREF147,4901 -#define I830_READ(I830_READ148,4971 -#define I830_WRITE(I830_WRITE149,5033 -#define I830_DEREF16(I830_DEREF16150,5106 -#define I830_READ16(I830_READ16151,5168 -#define I830_WRITE16(I830_WRITE16152,5212 -#define I830_VERBOSE 156,5287 -#define RING_LOCALS 158,5311 -#define BEGIN_LP_RING(BEGIN_LP_RING161,5421 -#define OUT_RING(OUT_RING174,5781 -#define ADVANCE_LP_RING(ADVANCE_LP_RING182,6013 -#define GFX_OP_USER_INTERRUPT 192,6329 -#define GFX_OP_BREAKPOINT_INTERRUPT 193,6379 -#define CMD_REPORT_HEAD 194,6433 -#define CMD_STORE_DWORD_IDX 195,6467 -#define CMD_OP_BATCH_BUFFER 196,6515 -#define STATE3D_LOAD_STATE_IMMEDIATE_2 198,6572 -#define LOAD_TEXTURE_MAP0 199,6650 -#define INST_PARSER_CLIENT 201,6703 -#define INST_OP_FLUSH 202,6743 -#define INST_FLUSH_MAP_CACHE 203,6783 -#define BB1_START_ADDR_MASK 206,6825 -#define BB1_PROTECTED 207,6862 -#define BB1_UNPROTECTED 208,6899 -#define BB2_END_ADDR_MASK 209,6936 -#define I830REG_HWSTAM 211,6974 -#define I830REG_INT_IDENTITY_R 212,7006 -#define I830REG_INT_MASK_R 213,7045 -#define I830REG_INT_ENABLE_R 214,7081 -#define I830_IRQ_RESERVED 216,7119 -#define LP_RING 219,7164 -#define HP_RING 220,7193 -#define RING_TAIL 221,7222 -#define TAIL_ADDR 222,7252 -#define RING_HEAD 223,7282 -#define HEAD_WRAP_COUNT 224,7312 -#define HEAD_WRAP_ONE 225,7352 -#define HEAD_ADDR 226,7392 -#define RING_START 227,7432 -#define START_ADDR 228,7462 -#define RING_LEN 229,7504 -#define RING_NR_PAGES 230,7534 -#define RING_REPORT_MASK 231,7575 -#define RING_REPORT_64K 232,7615 -#define RING_REPORT_128K 233,7655 -#define RING_NO_REPORT 234,7695 -#define RING_VALID_MASK 235,7735 -#define RING_VALID 236,7775 -#define RING_INVALID 237,7815 -#define GFX_OP_SCISSOR 239,7856 -#define SC_UPDATE_SCISSOR 240,7921 -#define SC_ENABLE_MASK 241,7962 -#define SC_ENABLE 242,8003 -#define GFX_OP_SCISSOR_INFO 244,8045 -#define SCI_YMIN_MASK 245,8116 -#define SCI_XMIN_MASK 246,8156 -#define SCI_YMAX_MASK 247,8195 -#define SCI_XMAX_MASK 248,8235 -#define GFX_OP_SCISSOR_ENABLE 250,8275 -#define GFX_OP_SCISSOR_RECT 251,8340 -#define GFX_OP_COLOR_FACTOR 252,8405 -#define GFX_OP_STIPPLE 253,8475 -#define GFX_OP_MAP_INFO 254,8542 -#define GFX_OP_DESTBUFFER_VARS 255,8602 -#define GFX_OP_DRAWRECT_INFO 256,8673 -#define GFX_OP_PRIMITIVE 257,8746 -#define CMD_OP_DESTBUFFER_INFO 259,8803 -#define CMD_OP_DISPLAYBUFFER_INFO 261,8872 -#define ASYNC_FLIP 262,8931 -#define CMD_3D 264,8974 -#define STATE3D_CONST_BLEND_COLOR_CMD 265,9024 -#define STATE3D_MAP_COORD_SETBIND_CMD 266,9095 -#define BR00_BITBLT_CLIENT 268,9167 -#define BR00_OP_COLOR_BLT 269,9207 -#define BR00_OP_SRC_COPY_BLT 270,9247 -#define BR13_SOLID_PATTERN 271,9287 -#define BUF_3D_ID_COLOR_BACK 273,9328 -#define BUF_3D_ID_DEPTH 274,9370 -#define BUF_3D_USE_FENCE 275,9412 -#define BUF_3D_PITCH(BUF_3D_PITCH276,9452 -#define CMD_OP_MAP_PALETTE_LOAD 278,9498 -#define MAP_PALETTE_NUM(MAP_PALETTE_NUM279,9566 -#define MAP_PALETTE_BOTH 280,9611 -#define XY_COLOR_BLT_CMD 282,9645 -#define XY_COLOR_BLT_WRITE_ALPHA 283,9696 -#define XY_COLOR_BLT_WRITE_RGB 284,9737 -#define XY_SRC_COPY_BLT_CMD 286,9778 -#define XY_SRC_COPY_BLT_WRITE_ALPHA 287,9841 -#define XY_SRC_COPY_BLT_WRITE_RGB 288,9889 -#define MI_BATCH_BUFFER 290,9938 -#define MI_BATCH_BUFFER_START 291,9978 -#define MI_BATCH_BUFFER_END 292,10020 -#define MI_BATCH_NON_SECURE 293,10059 -#define MI_WAIT_FOR_EVENT 295,10092 -#define MI_WAIT_FOR_PLANE_A_FLIP 296,10136 -#define MI_WAIT_FOR_PLANE_A_SCANLINES 297,10182 -#define MI_LOAD_SCAN_LINES_INCL 299,10229 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/tdfx_drv.c,18 -void DRM(39,1620 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i810_dma.c,2023 -#define I810_BUF_FREE 42,1774 -#define I810_BUF_CLIENT 43,1799 -#define I810_BUF_HARDWARE 44,1826 -#define I810_BUF_UNMAPPED 46,1861 -#define I810_BUF_MAPPED 47,1889 -#define down_write 50,1966 -#define up_write 51,1990 -static inline void i810_print_status_page(54,2018 -static drm_buf_t *i810_freelist_get(72,2713 -static int i810_freelist_put(97,3367 -static struct file_operations i810_buffer_fops 112,3752 -int i810_mmap_buffers(121,3954 -static int i810_map_buffer(148,4624 -static int i810_unmap_buffer(181,5554 -static int i810_dma_get_buffer(201,6022 -int i810_dma_cleanup(231,6671 -static int i810_wait_ring(272,7909 -static void i810_kernel_lost_context(304,8717 -static int i810_freelist_init(315,9104 -static int i810_dma_initialize(343,9818 -int i810_dma_init_compat(457,13499 -int i810_dma_init(489,14305 -static void i810EmitContextVerified(551,16002 -static void i810EmitTexVerified(585,16659 -static void i810EmitDestVerified(621,17383 -static void i810EmitState(658,18252 -static void i810_dma_dispatch_clear(691,19074 -static void i810_dma_dispatch_swap(768,21149 -static void i810_dma_dispatch_vertex(817,22415 -static void i810_dma_dispatch_flip(897,24326 -void i810_dma_quiescent(944,25624 -static int i810_flush_queue(963,26067 -void i810_reclaim_buffers(998,26902 -int i810_flush_ioctl(1027,27647 -int i810_dma_vertex(1043,28020 -int i810_clear_bufs(1083,29212 -int i810_swap_bufs(1109,29851 -int i810_getage(1126,30239 -int i810_getbuf(1140,30706 -int i810_copybuf(1174,31667 -int i810_docopy(1183,31829 -static void i810_dma_dispatch_mc(1190,31982 -int i810_dma_mc(1253,33514 -int i810_rstatus(1288,34501 -int i810_ov0_info(1298,34802 -int i810_fstatus(1313,35262 -int i810_ov0_flip(1327,35665 -static void i810_do_init_pageflip(1348,36198 -int i810_do_cleanup_pageflip(1358,36468 -int i810_flip_bufs(1370,36717 -static void i810_driver_pretakedown(1391,37223 -static void i810_driver_release(1396,37309 -static int i810_driver_dma_quiescent(1401,37413 -void i810_driver_register_fns(1407,37513 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_warp.c,464 -#define MGA_WARP_CODE_ALIGN 38,1519 -#define WARP_UCODE_SIZE(WARP_UCODE_SIZE40,1569 -#define WARP_UCODE_INSTALL(WARP_UCODE_INSTALL43,1676 -static unsigned int mga_warp_g400_microcode_size(53,1997 -static unsigned int mga_warp_g200_microcode_size(80,2847 -static int mga_warp_install_g400_microcode(99,3373 -static int mga_warp_install_g200_microcode(136,4760 -int mga_warp_install_microcode(164,5690 -#define WMISC_EXPECTED 176,5988 -int mga_warp_init(178,6059 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis.h,320 -#define __SIS_H__30,1480 -#define DRM(DRM37,1683 -#define DRM(DRM39,1715 -#define DRIVER_AUTHOR 45,1777 -#define DRIVER_NAME 46,1806 -#define DRIVER_DESC 47,1833 -#define DRIVER_DATE 48,1872 -#define DRIVER_MAJOR 49,1904 -#define DRIVER_MINOR 50,1928 -#define DRIVER_PATCHLEVEL 51,1952 -#define DRIVER_IOCTLS 53,1981 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_ucode.h,1182 -static unsigned char warp_g200_tgz[41,1892 -static unsigned char warp_g200_tgza[557,9337 -static unsigned char warp_g200_tgzaf[1093,17077 -static unsigned char warp_g200_tgzf[1680,25602 -static unsigned char warp_g200_tgzs[2252,33930 -static unsigned char warp_g200_tgzsa[2874,42993 -static unsigned char warp_g200_tgzsaf[3510,52253 -static unsigned char warp_g200_tgzsf[4133,61269 -static unsigned char warp_g400_t2gz[4769,70529 -static unsigned char warp_g400_t2gza[5216,77191 -static unsigned char warp_g400_t2gzaf[5676,84050 -static unsigned char warp_g400_t2gzf[6152,91155 -static unsigned char warp_g400_t2gzs[6615,98063 -static unsigned char warp_g400_t2gzsa[7104,105363 -static unsigned char warp_g400_t2gzsaf[7609,112909 -static unsigned char warp_g400_t2gzsf[8127,120652 -static unsigned char warp_g400_tgz[8632,128198 -static unsigned char warp_g400_tgza[8973,133291 -static unsigned char warp_g400_tgzaf[9327,138581 -static unsigned char warp_g400_tgzf[9697,144117 -static unsigned char warp_g400_tgzs[10054,149456 -static unsigned char warp_g400_tgzsa[10437,155187 -static unsigned char warp_g400_tgzsaf[10836,161164 -static unsigned char warp_g400_tgzsf[11248,167338 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/tdfx.h,265 -#define __TDFX_H__31,1407 -#define DRM(DRM35,1484 -#define DRIVER_AUTHOR 40,1540 -#define DRIVER_NAME 42,1588 -#define DRIVER_DESC 43,1616 -#define DRIVER_DATE 44,1661 -#define DRIVER_MAJOR 46,1694 -#define DRIVER_MINOR 47,1718 -#define DRIVER_PATCHLEVEL 48,1742 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_irq.c,358 -irqreturn_t radeon_driver_irq_handler(57,2259 -static __inline__ void radeon_acknowledge_irqs(89,3048 -int radeon_emit_irq(97,3292 -int radeon_wait_irq(116,3675 -int radeon_emit_and_wait_irq(138,4191 -int radeon_driver_vblank_wait(144,4299 -int radeon_irq_emit(176,5092 -int radeon_irq_wait(206,5706 -void DRM(226,6135 -void DRM(237,6433 -void DRM(250,6797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_vm.h,652 -static __inline__ struct page *DRM(50,1836 -static __inline__ struct page *DRM(115,3588 -static __inline__ struct page *DRM(132,4014 -void DRM(163,4821 -static __inline__ struct page *DRM(242,6781 -static __inline__ struct page *DRM(276,7833 -static struct page *DRM(305,8701 -static struct page *DRM(312,8893 -static struct page *DRM(319,9101 -static struct page *DRM(326,9309 -static struct page *DRM(335,9570 -static struct page *DRM(341,9728 -static struct page *DRM(347,9902 -static struct page *DRM(353,10076 -void DRM(399,11182 -void DRM(428,11895 -int DRM(463,12730 -unsigned long DRM(496,13570 -unsigned long DRM(501,13648 -int DRM(523,14329 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma.h,700 -#define __GAMMA_H__31,1401 -#define DRM(DRM35,1479 -#define DRIVER_AUTHOR 39,1535 -#define DRIVER_NAME 41,1583 -#define DRIVER_DESC 42,1612 -#define DRIVER_DATE 43,1648 -#define DRIVER_MAJOR 45,1681 -#define DRIVER_MINOR 46,1705 -#define DRIVER_PATCHLEVEL 47,1729 -#define DRIVER_IOCTLS 49,1758 -#define IOCTL_TABLE_NAME 54,1989 -#define IOCTL_FUNC_NAME 55,2026 -#define __HAVE_COUNTERS 57,2063 -#define __HAVE_COUNTER6 58,2090 -#define __HAVE_COUNTER7 59,2129 -#define __HAVE_COUNTER8 60,2168 -#define __HAVE_COUNTER9 61,2211 -#define __HAVE_COUNTER10 62,2254 -#define DRIVER_PRETAKEDOWN(DRIVER_PRETAKEDOWN66,2326 -#define __HAVE_MULTIPLE_DMA_QUEUES 72,2441 -#define __HAVE_DMA_WAITQUEUE 73,2478 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_context.h,305 -ssize_t gamma_fops_read(45,1992 -int DRM(95,3264 -unsigned int gamma_fops_poll(131,4189 -int DRM(141,4465 -int DRM(182,5322 -static int DRM(206,5922 -static int DRM(248,7155 -int DRM(295,8416 -int DRM(322,9063 -int DRM(344,9741 -int DRM(378,10463 -int DRM(411,11172 -int DRM(424,11547 -int DRM(439,11911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_mem.c,411 -static struct mem_block *split_block(42,1746 -static struct mem_block *alloc_block(82,2726 -static struct mem_block *find_block(97,3107 -static void free_block(109,3311 -static int init_heap(135,3856 -void radeon_mem_release(162,4437 -void radeon_mem_takedown(190,5021 -static struct mem_block **get_heap(211,5317 -int radeon_mem_alloc(224,5578 -int radeon_mem_free(266,6478 -int radeon_mem_init_heap(296,7145 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_drv.h,9429 -#define __MGA_DRV_H__32,1502 -typedef struct drm_mga_primary_buffer drm_mga_primary_buffer34,1525 -} drm_mga_primary_buffer_t;drm_mga_primary_buffer_t49,1721 -typedef struct drm_mga_freelist drm_mga_freelist51,1750 -} drm_mga_freelist_t;drm_mga_freelist_t56,1894 -} drm_mga_buf_priv_t;drm_mga_buf_priv_t62,2001 -typedef struct drm_mga_private drm_mga_private64,2024 -} drm_mga_private_t;drm_mga_private_t100,2779 -#define mga_flush_write_combine(mga_flush_write_combine139,4362 -#define MGA_BASE(MGA_BASE142,4467 -#define MGA_ADDR(MGA_ADDR143,4534 -#define MGA_DEREF(MGA_DEREF145,4582 -#define MGA_DEREF8(MGA_DEREF8146,4640 -#define MGA_READ(MGA_READ148,4699 -#define MGA_READ8(MGA_READ8149,4758 -#define MGA_WRITE(MGA_WRITE150,4816 -#define MGA_WRITE8(MGA_WRITE8151,4913 -static inline u32 _MGA_READ(153,5014 -#define MGA_READ8(MGA_READ8159,5116 -#define MGA_READ(MGA_READ160,5174 -#define MGA_WRITE8(MGA_WRITE8161,5233 -#define MGA_WRITE(MGA_WRITE162,5306 -#define DWGREG0 165,5386 -#define DWGREG0_END 166,5410 -#define DWGREG1 167,5438 -#define DWGREG1_END 168,5462 -#define ISREG0(ISREG0170,5490 -#define DMAREG0(DMAREG0171,5543 -#define DMAREG1(DMAREG1172,5587 -#define DMAREG(DMAREG173,5640 -#define MGA_EMIT_STATE(MGA_EMIT_STATE181,5793 -#define WRAP_TEST_WITH_RETURN(WRAP_TEST_WITH_RETURN192,6087 -#define WRAP_WAIT_WITH_RETURN(WRAP_WAIT_WITH_RETURN206,6505 -#define MGA_VERBOSE 223,6959 -#define DMA_LOCALS 225,6982 -#define DMA_BLOCK_SIZE 227,7041 -#define BEGIN_DMA(BEGIN_DMA229,7083 -#define BEGIN_DMA_WRAP(BEGIN_DMA_WRAP241,7427 -#define ADVANCE_DMA(ADVANCE_DMA251,7711 -#define FLUSH_DMA(FLUSH_DMA260,7938 -#define DMA_WRITE(DMA_WRITE281,8545 -#define DMA_BLOCK(DMA_BLOCK290,8826 -#define SET_AGE(SET_AGE307,9297 -#define TEST_AGE(TEST_AGE313,9411 -#define AGE_BUFFER(AGE_BUFFER317,9528 -#define MGA_ENGINE_IDLE_MASK 331,9917 -#define MGA_DMA_IDLE_MASK 334,10015 -#define MGA_DMA_DEBUG 337,10086 -#define MGA_CRTC_INDEX 343,10158 -#define MGA_CRTC_DATA 344,10190 -#define MGA_VINTCLR 347,10235 -#define MGA_VINTEN 348,10266 -#define MGA_ALPHACTRL 350,10297 -#define MGA_AR0 351,10329 -#define MGA_AR1 352,10355 -#define MGA_AR2 353,10381 -#define MGA_AR3 354,10407 -#define MGA_AR4 355,10433 -#define MGA_AR5 356,10459 -#define MGA_AR6 357,10485 -#define MGA_CXBNDRY 359,10512 -#define MGA_CXLEFT 360,10541 -#define MGA_CXRIGHT 361,10570 -#define MGA_DMAPAD 363,10600 -#define MGA_DSTORG 364,10629 -#define MGA_DWGCTL 365,10658 -# define MGA_OPCOD_MASK 366,10687 -# define MGA_OPCOD_TRAP 367,10723 -# define MGA_OPCOD_TEXTURE_TRAP 368,10758 -# define MGA_OPCOD_BITBLT 369,10800 -# define MGA_OPCOD_ILOAD 370,10837 -# define MGA_ATYPE_MASK 371,10873 -# define MGA_ATYPE_RPL 372,10908 -# define MGA_ATYPE_RSTR 373,10942 -# define MGA_ATYPE_ZI 374,10977 -# define MGA_ATYPE_BLK 375,11010 -# define MGA_ATYPE_I 376,11044 -# define MGA_LINEAR 377,11076 -# define MGA_ZMODE_MASK 378,11107 -# define MGA_ZMODE_NOZCMP 379,11142 -# define MGA_ZMODE_ZE 380,11179 -# define MGA_ZMODE_ZNE 381,11212 -# define MGA_ZMODE_ZLT 382,11246 -# define MGA_ZMODE_ZLTE 383,11280 -# define MGA_ZMODE_ZGT 384,11315 -# define MGA_ZMODE_ZGTE 385,11349 -# define MGA_SOLID 386,11384 -# define MGA_ARZERO 387,11415 -# define MGA_SGNZERO 388,11447 -# define MGA_SHIFTZERO 389,11480 -# define MGA_BOP_MASK 390,11515 -# define MGA_BOP_ZERO 391,11550 -# define MGA_BOP_DST 392,11584 -# define MGA_BOP_SRC 393,11618 -# define MGA_BOP_ONE 394,11652 -# define MGA_TRANS_SHIFT 395,11686 -# define MGA_TRANS_MASK 396,11716 -# define MGA_BLTMOD_MASK 397,11753 -# define MGA_BLTMOD_BMONOLEF 398,11791 -# define MGA_BLTMOD_BMONOWF 399,11831 -# define MGA_BLTMOD_PLAN 400,11870 -# define MGA_BLTMOD_BFCOL 401,11907 -# define MGA_BLTMOD_BU32BGR 402,11945 -# define MGA_BLTMOD_BU32RGB 403,11984 -# define MGA_BLTMOD_BU24BGR 404,12023 -# define MGA_BLTMOD_BU24RGB 405,12063 -# define MGA_PATTERN 406,12103 -# define MGA_TRANSC 407,12136 -# define MGA_CLIPDIS 408,12168 -#define MGA_DWGSYNC 409,12201 -#define MGA_FCOL 411,12231 -#define MGA_FIFOSTATUS 412,12258 -#define MGA_FOGCOL 413,12291 -#define MGA_FXBNDRY 414,12320 -#define MGA_FXLEFT 415,12349 -#define MGA_FXRIGHT 416,12378 -#define MGA_ICLEAR 418,12408 -# define MGA_SOFTRAPICLR 419,12437 -# define MGA_VLINEICLR 420,12473 -#define MGA_IEN 421,12507 -# define MGA_SOFTRAPIEN 422,12533 -# define MGA_VLINEIEN 423,12568 -#define MGA_LEN 425,12602 -#define MGA_MACCESS 427,12629 -#define MGA_PITCH 429,12659 -#define MGA_PLNWT 430,12687 -#define MGA_PRIMADDRESS 431,12715 -# define MGA_DMA_GENERAL 432,12748 -# define MGA_DMA_BLIT 433,12784 -# define MGA_DMA_VECTOR 434,12817 -# define MGA_DMA_VERTEX 435,12852 -#define MGA_PRIMEND 436,12887 -# define MGA_PRIMNOSTART 437,12916 -# define MGA_PAGPXFER 438,12952 -#define MGA_PRIMPTR 439,12985 -# define MGA_PRIMPTREN0 440,13014 -# define MGA_PRIMPTREN1 441,13049 -#define MGA_RST 443,13085 -# define MGA_SOFTRESET 444,13111 -# define MGA_SOFTEXTRST 445,13145 -#define MGA_SECADDRESS 447,13181 -#define MGA_SECEND 448,13214 -#define MGA_SETUPADDRESS 449,13243 -#define MGA_SETUPEND 450,13277 -#define MGA_SGN 451,13308 -#define MGA_SOFTRAP 452,13334 -#define MGA_SRCORG 453,13363 -# define MGA_SRMMAP_MASK 454,13392 -# define MGA_SRCMAP_FB 455,13428 -# define MGA_SRCMAP_SYSMEM 456,13462 -# define MGA_SRCACC_MASK 457,13499 -# define MGA_SRCACC_PCI 458,13535 -# define MGA_SRCACC_AGP 459,13570 -#define MGA_STATUS 460,13605 -# define MGA_SOFTRAPEN 461,13634 -# define MGA_VSYNCPEN 462,13668 -# define MGA_VLINEPEN 463,13701 -# define MGA_DWGENGSTS 464,13734 -# define MGA_ENDPRDMASTS 465,13769 -#define MGA_STENCIL 466,13806 -#define MGA_STENCILCTL 467,13835 -#define MGA_TDUALSTAGE0 469,13869 -#define MGA_TDUALSTAGE1 470,13902 -#define MGA_TEXBORDERCOL 471,13935 -#define MGA_TEXCTL 472,13969 -#define MGA_TEXCTL2 473,13998 -# define MGA_DUALTEX 474,14027 -# define MGA_G400_TC2_MAGIC 475,14059 -# define MGA_MAP1_ENABLE 476,14098 -#define MGA_TEXFILTER 477,14135 -#define MGA_TEXHEIGHT 478,14167 -#define MGA_TEXORG 479,14199 -# define MGA_TEXORGMAP_MASK 480,14228 -# define MGA_TEXORGMAP_FB 481,14266 -# define MGA_TEXORGMAP_SYSMEM 482,14303 -# define MGA_TEXORGACC_MASK 483,14343 -# define MGA_TEXORGACC_PCI 484,14381 -# define MGA_TEXORGACC_AGP 485,14418 -#define MGA_TEXORG1 486,14455 -#define MGA_TEXORG2 487,14484 -#define MGA_TEXORG3 488,14513 -#define MGA_TEXORG4 489,14542 -#define MGA_TEXTRANS 490,14571 -#define MGA_TEXTRANSHIGH 491,14602 -#define MGA_TEXWIDTH 492,14636 -#define MGA_WACCEPTSEQ 494,14668 -#define MGA_WCODEADDR 495,14701 -#define MGA_WFLAG 496,14733 -#define MGA_WFLAG1 497,14761 -#define MGA_WFLAGNB 498,14790 -#define MGA_WFLAGNB1 499,14819 -#define MGA_WGETMSB 500,14850 -#define MGA_WIADDR 501,14879 -#define MGA_WIADDR2 502,14908 -# define MGA_WMODE_SUSPEND 503,14937 -# define MGA_WMODE_RESUME 504,14974 -# define MGA_WMODE_JUMP 505,15011 -# define MGA_WMODE_START 506,15046 -# define MGA_WAGP_ENABLE 507,15082 -#define MGA_WMISC 508,15118 -# define MGA_WUCODECACHE_ENABLE 509,15146 -# define MGA_WMASTER_ENABLE 510,15188 -# define MGA_WCACHEFLUSH_ENABLE 511,15226 -#define MGA_WVRTXSZ 512,15268 -#define MGA_YBOT 514,15298 -#define MGA_YDST 515,15325 -#define MGA_YDSTLEN 516,15352 -#define MGA_YDSTORG 517,15381 -#define MGA_YTOP 518,15410 -#define MGA_ZORG 520,15438 -#define MGA_EXEC 524,15517 -#define MGA_WR0 528,15567 -#define MGA_WR1 529,15593 -#define MGA_WR2 530,15619 -#define MGA_WR3 531,15645 -#define MGA_WR4 532,15671 -#define MGA_WR5 533,15697 -#define MGA_WR6 534,15723 -#define MGA_WR7 535,15749 -#define MGA_WR8 536,15775 -#define MGA_WR9 537,15801 -#define MGA_WR10 538,15827 -#define MGA_WR11 539,15853 -#define MGA_WR12 540,15879 -#define MGA_WR13 541,15905 -#define MGA_WR14 542,15931 -#define MGA_WR15 543,15957 -#define MGA_WR16 544,15983 -#define MGA_WR17 545,16009 -#define MGA_WR18 546,16035 -#define MGA_WR19 547,16061 -#define MGA_WR20 548,16087 -#define MGA_WR21 549,16113 -#define MGA_WR22 550,16139 -#define MGA_WR23 551,16165 -#define MGA_WR24 552,16191 -#define MGA_WR25 553,16217 -#define MGA_WR26 554,16243 -#define MGA_WR27 555,16269 -#define MGA_WR28 556,16295 -#define MGA_WR29 557,16321 -#define MGA_WR30 558,16347 -#define MGA_WR31 559,16373 -#define MGA_WR32 560,16399 -#define MGA_WR33 561,16425 -#define MGA_WR34 562,16451 -#define MGA_WR35 563,16477 -#define MGA_WR36 564,16503 -#define MGA_WR37 565,16529 -#define MGA_WR38 566,16555 -#define MGA_WR39 567,16581 -#define MGA_WR40 568,16607 -#define MGA_WR41 569,16633 -#define MGA_WR42 570,16659 -#define MGA_WR43 571,16685 -#define MGA_WR44 572,16711 -#define MGA_WR45 573,16737 -#define MGA_WR46 574,16763 -#define MGA_WR47 575,16789 -#define MGA_WR48 576,16815 -#define MGA_WR49 577,16841 -#define MGA_WR50 578,16867 -#define MGA_WR51 579,16893 -#define MGA_WR52 580,16919 -#define MGA_WR53 581,16945 -#define MGA_WR54 582,16971 -#define MGA_WR55 583,16997 -#define MGA_WR56 584,17023 -#define MGA_WR57 585,17049 -#define MGA_WR58 586,17075 -#define MGA_WR59 587,17101 -#define MGA_WR60 588,17127 -#define MGA_WR61 589,17153 -#define MGA_WR62 590,17179 -#define MGA_WR63 591,17205 -# define MGA_G400_WR_MAGIC 592,17231 -# define MGA_G400_WR56_MAGIC 593,17268 -#define MGA_ILOAD_ALIGN 596,17326 -#define MGA_ILOAD_MASK 597,17354 -#define MGA_DWGCTL_FLUSH 599,17401 -#define MGA_DWGCTL_CLEAR 607,17609 -#define MGA_DWGCTL_COPY 619,17908 -static __inline__ int mga_is_idle(630,18160 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128.h,296 -#define __R128_H__31,1415 -#define DRM(DRM35,1492 -#define DRIVER_AUTHOR 39,1547 -#define DRIVER_NAME 41,1610 -#define DRIVER_DESC 42,1638 -#define DRIVER_DATE 43,1674 -#define DRIVER_MAJOR 45,1707 -#define DRIVER_MINOR 46,1731 -#define DRIVER_PATCHLEVEL 47,1755 -#define DRIVER_IOCTLS 55,1926 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_drv.h,528 -#define DRIVER_IOCTLS56,1994 -#define DRM_OPTIONS_FUNC 61,2101 -static int __init DRM(67,2302 -#define MAX_DEVICES 77,2468 -#define DRIVER_IOCTL_COUNT 159,6184 -static char *drm_opts 162,6256 -static int DRM(170,6437 -static int DRM(266,8683 -static void DRM(410,12343 -static int DRM(423,12653 -static int __init drm_init(547,15860 -static void __exit drm_cleanup(572,16271 -int DRM(631,17590 -#define DRM_COPY(DRM_COPY641,17854 -int DRM(674,18822 -int DRM(716,19813 -int DRM(881,24184 -int DRM(931,25474 -int DRM(1026,28164 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_drm.h,769 -#define _GAMMA_DRM_H_2,22 -typedef struct _drm_gamma_tex_region _drm_gamma_tex_region4,45 -} drm_gamma_tex_region_t;drm_gamma_tex_region_t8,264 -} drm_gamma_context_regs_t;drm_gamma_context_regs_t15,419 -typedef struct _drm_gamma_sarea _drm_gamma_sarea17,448 -#define GAMMA_NR_TEX_REGIONS 39,1333 -} drm_gamma_sarea_t;drm_gamma_sarea_t49,1747 -#define DRM_IOCTL_GAMMA_INIT 58,1975 -#define DRM_IOCTL_GAMMA_COPY 59,2038 -typedef struct drm_gamma_copy drm_gamma_copy61,2102 -} drm_gamma_copy_t;drm_gamma_copy_t72,2495 -typedef struct drm_gamma_init drm_gamma_init74,2516 - GAMMA_INIT_DMA 76,2559 - GAMMA_INIT_DMA = 0x01,76,2559 - GAMMA_CLEANUP_DMA 77,2590 - GAMMA_CLEANUP_DMA = 0x0277,2590 -} drm_gamma_init_t;drm_gamma_init_t88,2804 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_lock.h,101 -static int DRM(35,1540 -static int DRM(68,2351 -int DRM(85,2715 -int DRM(105,3137 -int DRM(125,3566 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_memory.h,739 -#define DEBUG_MEMORY 45,1736 -# define PAGE_AGP 55,1874 -# define PAGE_AGP 57,1940 -drm_lookup_map 67,2112 -agp_remap 85,2518 -drm_follow_page 125,3715 -static inline drm_map_t *drm_lookup_map(135,3981 -static inline void *agp_remap(140,4102 -static inline unsigned long drm_follow_page 145,4213 -static inline void *drm_ioremap(152,4296 -static inline void *drm_ioremap_nocache(163,4632 -static inline void drm_ioremapfree(175,4989 -void DRM(205,5762 -int DRM(222,6133 -void *DRM(229,6273 -void *DRM(235,6385 -void *DRM(247,6621 -void DRM(260,6878 -unsigned long DRM(274,7136 -void DRM(307,7804 -void *DRM(327,8204 -void *DRM(333,8373 -void DRM(339,8550 -DRM_AGP_MEM *DRM(346,8720 -int DRM(352,8861 -int DRM(358,9008 -int DRM(364,9159 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/ffb.h,46 -#define __FFB_H__5,82 -#define DRM(DRM9,158 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/ffb_context.c,555 -static int DRM(18,369 -static void ffb_save_context(40,875 -static void ffb_restore_context(173,6353 -#define FFB_UCSR_FB_BUSY 341,12997 -#define FFB_UCSR_RP_BUSY 342,13039 -#define FFB_UCSR_ALL_BUSY 343,13081 -static void FFBWait(345,13149 -int ffb_driver_context_switch(357,13328 -int ffb_driver_resctx(383,13913 -int ffb_driver_addctx(410,14563 -int ffb_driver_modctx(431,15092 -int ffb_driver_getctx(460,15737 -int ffb_driver_switchctx(492,16450 -int ffb_driver_newctx(505,16838 -int ffb_driver_rmctx(517,17089 -void ffb_set_context_ioctls(541,17669 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_proc.h,413 -struct drm_proc_list drm_proc_list60,2410 -#define DRM_PROC_ENTRIES 74,2846 -struct proc_dir_entry *DRM(89,3367 -int DRM(141,4662 -static int DRM(171,5444 -static int DRM(210,6411 -static int DRM(266,7847 -static int DRM(289,8467 -static int DRM(336,9731 -static int DRM(359,10361 -static int DRM(406,11596 -static int DRM(429,12223 -static int DRM(463,13019 -static int DRM(477,13342 -static int DRM(534,15083 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_bufs.h,232 -int DRM(48,1751 -int DRM(75,2431 -int DRM(219,6324 -static void DRM(296,8158 -int DRM(347,9361 -int DRM(512,13650 -int DRM(742,20110 -int DRM(922,24933 -int DRM(965,26258 -int DRM(1050,28622 -int DRM(1099,29994 -int DRM(1156,31462 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_state.c,2166 -static __inline__ int radeon_check_and_fixup_offset(42,1629 -static __inline__ int radeon_check_and_fixup_offset_user(66,2252 -static __inline__ int radeon_check_and_fixup_packets(81,2609 -static __inline__ int radeon_check_and_fixup_packet3(218,6661 -static __inline__ void radeon_emit_clip_rect(280,8528 -static int radeon_emit_state(298,9004 -static int radeon_emit_state2(467,13856 -} packet[493,14586 -static void radeon_clear_box(579,19021 -static void radeon_cp_performance_boxes(631,20230 -static void radeon_cp_dispatch_clear(688,21874 -static void radeon_cp_dispatch_swap(1001,30248 -static void radeon_cp_dispatch_flip(1080,32173 -static int bad_prim_vertex_nr(1128,33544 -} drm_radeon_tcl_prim_t;drm_radeon_tcl_prim_t1160,34283 -static void radeon_cp_dispatch_vertex(1162,34309 -static void radeon_cp_discard_buffer(1215,35572 -static void radeon_cp_dispatch_indirect(1232,35972 -static void radeon_cp_dispatch_indices(1269,36873 -#define RADEON_MAX_TEXTURE_SIZE 1333,38447 -static int radeon_cp_dispatch_texture(1335,38519 -static void radeon_cp_dispatch_stipple(1520,43653 -int radeon_cp_clear(1545,44160 -static int radeon_do_init_pageflip(1577,44989 -int radeon_do_cleanup_pageflip(1602,45734 -int radeon_cp_flip(1617,46121 -int radeon_cp_swap(1636,46460 -int radeon_cp_vertex(1657,46926 -int radeon_cp_indices(1742,49114 -int radeon_cp_texture(1844,51751 -int radeon_cp_stipple(1875,52463 -int radeon_cp_indirect(1898,52967 -int radeon_cp_vertex2(1973,54813 -static int radeon_emit_packets(2079,57387 -static __inline__ int radeon_emit_scalars(2116,58264 -static __inline__ int radeon_emit_scalars2(2140,58958 -static __inline__ int radeon_emit_vectors(2162,59653 -static int radeon_emit_packet3(2186,60328 -static int radeon_emit_packet3_cliprect(2214,60922 -static int radeon_emit_wait(2278,62556 -int radeon_cp_cmdbuf(2307,63114 -int radeon_cp_getparam(2446,66564 -int radeon_cp_setparam(2520,68554 -static void radeon_driver_prerelease(2556,69484 -static void radeon_driver_pretakedown(2568,69839 -static int radeon_driver_open_helper(2573,69926 -static void radeon_driver_free_filp_priv(2592,70426 -void radeon_driver_register_fns(2599,70658 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i830_dma.c,2171 -#define I830_BUF_FREE 44,1877 -#define I830_BUF_CLIENT 45,1902 -#define I830_BUF_HARDWARE 46,1929 -#define I830_BUF_UNMAPPED 48,1964 -#define I830_BUF_MAPPED 49,1992 -#define down_write 52,2069 -#define up_write 53,2093 -static inline void i830_print_status_page(56,2121 -static drm_buf_t *i830_freelist_get(73,2761 -static int i830_freelist_put(98,3421 -static struct file_operations i830_buffer_fops 113,3814 -int i830_mmap_buffers(122,4016 -static int i830_map_buffer(149,4692 -static int i830_unmap_buffer(182,5630 -static int i830_dma_get_buffer(202,6098 -int i830_dma_cleanup(232,6751 -int i830_wait_ring(273,7948 -static void i830_kernel_lost_context(306,8825 -static int i830_freelist_init(320,9321 -static int i830_dma_initialize(348,10038 -int i830_dma_init(464,13549 -#define GFX_OP_STIPPLE 494,14295 -#define ST1_ENABLE 495,14362 -#define ST1_MASK 496,14403 -static void i830EmitContextVerified(501,14568 -static void i830EmitTexVerified(547,15511 -static void i830EmitTexBlendVerified(582,16393 -static void i830EmitTexPalette(608,16798 -static void i830EmitDestVerified(638,17447 -static void i830EmitStippleVerified(702,18951 -static void i830EmitState(715,19206 -static void i830_fill_box(822,22135 -static void i830_cp_performance_boxes(862,23089 -static void i830_dma_dispatch_clear(906,24349 -static void i830_dma_dispatch_swap(1001,26824 -static void i830_dma_dispatch_flip(1075,28540 -static void i830_dma_dispatch_vertex(1122,29603 -void i830_dma_quiescent(1237,32361 -static int i830_flush_queue(1254,32779 -void i830_reclaim_buffers(1287,33594 -int i830_flush_ioctl(1316,34348 -int i830_dma_vertex(1331,34723 -int i830_clear_bufs(1366,35812 -int i830_swap_bufs(1393,36488 -static void i830_do_init_pageflip(1414,36933 -int i830_do_cleanup_pageflip(1424,37202 -int i830_flip_bufs(1436,37451 -int i830_getage(1457,37959 -int i830_getbuf(1471,38428 -int i830_copybuf(1506,39418 -int i830_docopy(1515,39580 -int i830_getparam(1523,39693 -int i830_setparam(1557,40436 -static void i830_driver_pretakedown(1585,41090 -static void i830_driver_release(1590,41176 -static int i830_driver_dma_quiescent(1595,41280 -void i830_driver_register_fns(1601,41380 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis_mm.c,571 -#define MAX_CONTEXT 40,1595 -#define VIDEO_TYPE 41,1619 -#define AGP_TYPE 42,1641 -} sis_context_t;sis_context_t48,1749 -static sis_context_t global_ppriv[50,1767 -static int add_alloc_set(53,1817 -static int del_alloc_set(67,2103 -int sis_fb_init(84,2475 -int sis_fb_alloc(89,2525 -int sis_fb_free(122,3213 -int sis_fb_init(153,4046 -int sis_fb_alloc(179,4604 -int sis_fb_free(216,5455 -int sis_ioctl_agp_init(243,6025 -int sis_ioctl_agp_alloc(269,6603 -int sis_ioctl_agp_free(306,7470 -int sis_init_context(329,8018 -int sis_final_context(361,8714 -void DRM(408,9657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis_drm.h,367 -#define __SIS_DRM_H__3,23 -#define DRM_IOCTL_SIS_FB_ALLOC 6,72 -#define DRM_IOCTL_SIS_FB_FREE 7,134 -#define DRM_IOCTL_SIS_AGP_INIT 8,195 -#define DRM_IOCTL_SIS_AGP_ALLOC 9,257 -#define DRM_IOCTL_SIS_AGP_FREE 10,320 -#define DRM_IOCTL_SIS_FB_INIT 11,382 -} drm_sis_mem_t;drm_sis_mem_t23,698 -} drm_sis_agp_t;drm_sis_agp_t27,761 -} drm_sis_fb_t;drm_sis_fb_t31,824 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_core.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga.h,295 -#define __MGA_H__31,1417 -#define DRM(DRM35,1493 -#define DRIVER_AUTHOR 40,1548 -#define DRIVER_NAME 42,1611 -#define DRIVER_DESC 43,1638 -#define DRIVER_DATE 44,1678 -#define DRIVER_MAJOR 46,1711 -#define DRIVER_MINOR 47,1735 -#define DRIVER_PATCHLEVEL 48,1759 -#define DRIVER_IOCTLS 50,1788 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_ioctl.h,182 -int DRM(51,1843 -int DRM(85,2886 -DRM(134,4159 -int DRM(171,5057 -int DRM(231,6433 -int DRM(275,7515 -#define DRM_IF_MAJOR 306,8224 -#define DRM_IF_MINOR 307,8247 -int DRM(309,8271 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_memory_debug.h,424 -typedef struct drm_mem_stats drm_mem_stats37,1493 -} drm_mem_stats_t;drm_mem_stats_t44,1672 -void DRM(75,2810 -static int DRM(95,3221 -int DRM(137,4386 -void *DRM(148,4624 -void *DRM(170,5074 -void *DRM(181,5263 -void DRM(193,5506 -unsigned long DRM(211,6012 -void DRM(253,6976 -void *DRM(286,7819 -void *DRM(309,8387 -void DRM(332,8971 -DRM_AGP_MEM *DRM(357,9621 -int DRM(380,10178 -int DRM(409,10929 -int DRM(433,11541 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_cp.c,1359 -#define RADEON_FIFO_DEBUG 37,1532 -static u32 R200_cp_microcode[41,1592 -static u32 radeon_cp_microcode[301,9068 -int RADEON_READ_PLL(561,16537 -static void radeon_status(570,16765 -static int radeon_do_pixcache_flush(597,17653 -static int radeon_do_wait_for_fifo(623,18225 -static int radeon_do_wait_for_idle(644,18686 -static void radeon_cp_load_microcode(675,19355 -static void radeon_do_cp_flush(710,20188 -int radeon_do_cp_idle(723,20431 -static void radeon_do_cp_start(742,20736 -static void radeon_do_cp_reset(767,21261 -static void radeon_do_cp_stop(782,21731 -static int radeon_do_engine_reset(793,21978 -static void radeon_cp_init_ring_buffer(850,23674 -static void radeon_set_pcigart(978,27635 -static int radeon_do_init_cp(1004,28446 -int radeon_do_cleanup_cp(1274,36457 -static int radeon_do_resume_cp(1319,37769 -int radeon_cp_init(1352,38402 -int radeon_cp_start(1372,38812 -int radeon_cp_stop(1398,39374 -void radeon_do_release(1441,40382 -int radeon_cp_reset(1475,41181 -int radeon_cp_idle(1496,41589 -int radeon_cp_resume(1509,41856 -int radeon_engine_reset(1517,41949 -int radeon_fullscreen(1534,42240 -drm_buf_t *radeon_freelist_get(1561,43136 -drm_buf_t *radeon_freelist_get(1600,44011 -void radeon_freelist_reset(1634,44789 -int radeon_wait_ring(1653,45220 -static int radeon_cp_get_buffers(1685,45937 -int radeon_cp_buffers(1708,46501 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i810_drv.h,3007 -#define _I810_DRV_H_33,1554 -typedef struct drm_i810_buf_priv drm_i810_buf_priv35,1576 -} drm_i810_buf_priv_t;drm_i810_buf_priv_t41,1710 -typedef struct _drm_i810_ring_buffer{_drm_i810_ring_buffer43,1734 -} drm_i810_ring_buffer_t;drm_i810_ring_buffer_t52,1905 -typedef struct drm_i810_private drm_i810_private54,1932 -} drm_i810_private_t;drm_i810_private_t91,2548 -#define I810_BASE(I810_BASE142,4514 -#define I810_ADDR(I810_ADDR144,4589 -#define I810_DEREF(I810_DEREF145,4636 -#define I810_READ(I810_READ146,4697 -#define I810_WRITE(I810_WRITE147,4737 -#define I810_DEREF16(I810_DEREF16148,4806 -#define I810_READ16(I810_READ16149,4868 -#define I810_WRITE16(I810_WRITE16150,4911 -#define I810_VERBOSE 152,4984 -#define RING_LOCALS 153,5007 -#define BEGIN_LP_RING(BEGIN_LP_RING156,5107 -#define ADVANCE_LP_RING(ADVANCE_LP_RING167,5526 -#define OUT_RING(OUT_RING173,5736 -#define GFX_OP_USER_INTERRUPT 180,6013 -#define GFX_OP_BREAKPOINT_INTERRUPT 181,6063 -#define CMD_REPORT_HEAD 182,6117 -#define CMD_STORE_DWORD_IDX 183,6151 -#define CMD_OP_BATCH_BUFFER 184,6199 -#define INST_PARSER_CLIENT 186,6256 -#define INST_OP_FLUSH 187,6296 -#define INST_FLUSH_MAP_CACHE 188,6336 -#define BB1_START_ADDR_MASK 191,6378 -#define BB1_PROTECTED 192,6415 -#define BB1_UNPROTECTED 193,6452 -#define BB2_END_ADDR_MASK 194,6489 -#define I810REG_HWSTAM 196,6527 -#define I810REG_INT_IDENTITY_R 197,6559 -#define I810REG_INT_MASK_R 198,6598 -#define I810REG_INT_ENABLE_R 199,6634 -#define LP_RING 201,6672 -#define HP_RING 202,6701 -#define RING_TAIL 203,6730 -#define TAIL_ADDR 204,6760 -#define RING_HEAD 205,6790 -#define HEAD_WRAP_COUNT 206,6820 -#define HEAD_WRAP_ONE 207,6860 -#define HEAD_ADDR 208,6900 -#define RING_START 209,6940 -#define START_ADDR 210,6970 -#define RING_LEN 211,7010 -#define RING_NR_PAGES 212,7040 -#define RING_REPORT_MASK 213,7080 -#define RING_REPORT_64K 214,7120 -#define RING_REPORT_128K 215,7160 -#define RING_NO_REPORT 216,7200 -#define RING_VALID_MASK 217,7240 -#define RING_VALID 218,7280 -#define RING_INVALID 219,7320 -#define GFX_OP_SCISSOR 221,7361 -#define SC_UPDATE_SCISSOR 222,7426 -#define SC_ENABLE_MASK 223,7467 -#define SC_ENABLE 224,7508 -#define GFX_OP_SCISSOR_INFO 226,7550 -#define SCI_YMIN_MASK 227,7621 -#define SCI_XMIN_MASK 228,7661 -#define SCI_YMAX_MASK 229,7700 -#define SCI_XMAX_MASK 230,7740 -#define GFX_OP_COLOR_FACTOR 232,7780 -#define GFX_OP_STIPPLE 233,7850 -#define GFX_OP_MAP_INFO 234,7917 -#define GFX_OP_DESTBUFFER_VARS 235,7977 -#define GFX_OP_DRAWRECT_INFO 236,8048 -#define GFX_OP_PRIMITIVE 237,8121 -#define CMD_OP_Z_BUFFER_INFO 239,8178 -#define CMD_OP_DESTBUFFER_INFO 240,8234 -#define CMD_OP_FRONTBUFFER_INFO 241,8290 -#define CMD_OP_WAIT_FOR_EVENT 242,8346 -#define BR00_BITBLT_CLIENT 244,8403 -#define BR00_OP_COLOR_BLT 245,8443 -#define BR00_OP_SRC_COPY_BLT 246,8483 -#define BR13_SOLID_PATTERN 247,8523 -#define WAIT_FOR_PLANE_A_SCANLINES 249,8564 -#define WAIT_FOR_PLANE_A_FLIP 250,8607 -#define WAIT_FOR_VBLANK 251,8650 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_old_dma.h,96 -void DRM(36,1558 -int DRM(47,1826 -int DRM(115,3468 -static int DRM(238,6449 -int DRM(275,7300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_init.h,61 -static void DRM(52,1736 -void DRM(99,3054 -int DRM(119,3538 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_os_linux.h,1847 -#define DRMFILE 11,169 -#define DRM_IOCTL_ARGS 13,246 -#define DRM_ERR(DRM_ERR14,348 -#define DRM_CURRENTPID 16,400 -#define DRM_UDELAY(DRM_UDELAY17,438 -#define DRM_READ8(DRM_READ819,510 -#define DRM_READ16(DRM_READ1621,630 -#define DRM_READ32(DRM_READ3223,759 -#define DRM_WRITE8(DRM_WRITE825,881 -#define DRM_WRITE16(DRM_WRITE1627,1013 -#define DRM_WRITE32(DRM_WRITE3229,1149 -#define DRM_READMEMORYBARRIER(DRM_READMEMORYBARRIER31,1270 -#define DRM_WRITEMEMORYBARRIER(DRM_WRITEMEMORYBARRIER33,1337 -#define DRM_MEMORYBARRIER(DRM_MEMORYBARRIER35,1409 -#define DRM_DEVICE 37,1479 -#define DRM_IRQ_ARGS 41,1629 -#define DRM_AGP_MEM 45,1727 -#define DRM_AGP_KERN 46,1766 -struct no_agp_kern no_agp_kern49,1876 -#define DRM_AGP_MEM 53,1954 -#define DRM_AGP_KERN 54,1990 -static __inline__ int mtrr_add 58,2070 -static __inline__ int mtrr_del 64,2231 -#define MTRR_TYPE_WRCOMB 69,2365 -#define DRM_TASKQUEUE_ARGS 74,2441 -#define DRM_COPY_FROM_USER_IOCTL(DRM_COPY_FROM_USER_IOCTL77,2544 -#define DRM_COPY_TO_USER_IOCTL(DRM_COPY_TO_USER_IOCTL81,2723 -#define DRM_COPY_FROM_USER(DRM_COPY_FROM_USER85,2879 -#define DRM_COPY_TO_USER(DRM_COPY_TO_USER88,3008 -#define DRM_VERIFYAREA_READ(DRM_VERIFYAREA_READ91,3153 -#define DRM_COPY_FROM_USER_UNCHECKED(DRM_COPY_FROM_USER_UNCHECKED93,3241 -#define DRM_COPY_TO_USER_UNCHECKED(DRM_COPY_TO_USER_UNCHECKED95,3335 -#define DRM_GET_USER_UNCHECKED(DRM_GET_USER_UNCHECKED97,3424 -#define DRM_PUT_USER_UNCHECKED(DRM_PUT_USER_UNCHECKED99,3494 -#define DRM_MALLOC(DRM_MALLOC104,3619 -#define DRM_FREE(DRM_FREE106,3714 -#define DRM_GET_PRIV_WITH_RETURN(DRM_GET_PRIV_WITH_RETURN108,3749 -#define DRM_GETSAREA(DRM_GETSAREA115,3949 -#define DRM_HZ 128,4317 -#define DRM_WAIT_ON(DRM_WAIT_ON130,4336 -#define DRM_WAKEUP(DRM_WAKEUP155,4975 -#define DRM_INIT_WAITQUEUE(DRM_INIT_WAITQUEUE156,5034 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_dma.h,73 -int DRM(46,1709 -void DRM(70,2222 -void DRM(136,3737 -void DRM(157,4178 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i830_drm.h,5903 -#define _I830_DRM_H_2,21 -#define _I830_DEFINES_12,311 -#define I830_DMA_BUF_ORDER 14,335 -#define I830_DMA_BUF_SZ 15,366 -#define I830_DMA_BUF_NR 16,416 -#define I830_NR_SAREA_CLIPRECTS 17,446 -#define I830_NR_TEX_REGIONS 21,556 -#define I830_LOG_MIN_TEX_REGION_SIZE 22,587 -#define I830_TEXTURE_COUNT 28,799 -#define I830_TEXBLEND_COUNT 29,828 -#define I830_TEXBLEND_SIZE 31,876 -#define I830_UPLOAD_CTX 33,946 -#define I830_UPLOAD_BUFFERS 34,976 -#define I830_UPLOAD_CLIPRECTS 35,1009 -#define I830_UPLOAD_TEX0_IMAGE 36,1044 -#define I830_UPLOAD_TEX0_CUBE 37,1107 -#define I830_UPLOAD_TEX1_IMAGE 38,1169 -#define I830_UPLOAD_TEX1_CUBE 39,1232 -#define I830_UPLOAD_TEX2_IMAGE 40,1294 -#define I830_UPLOAD_TEX2_CUBE 41,1358 -#define I830_UPLOAD_TEX3_IMAGE 42,1421 -#define I830_UPLOAD_TEX3_CUBE 43,1485 -#define I830_UPLOAD_TEX_N_IMAGE(I830_UPLOAD_TEX_N_IMAGE44,1548 -#define I830_UPLOAD_TEX_N_CUBE(I830_UPLOAD_TEX_N_CUBE45,1602 -#define I830_UPLOAD_TEXIMAGE_MASK 46,1655 -#define I830_UPLOAD_TEX0 47,1696 -#define I830_UPLOAD_TEX1 48,1731 -#define I830_UPLOAD_TEX2 49,1766 -#define I830_UPLOAD_TEX3 50,1801 -#define I830_UPLOAD_TEX_N(I830_UPLOAD_TEX_N51,1836 -#define I830_UPLOAD_TEX_MASK 52,1883 -#define I830_UPLOAD_TEXBLEND0 53,1921 -#define I830_UPLOAD_TEXBLEND1 54,1961 -#define I830_UPLOAD_TEXBLEND2 55,2001 -#define I830_UPLOAD_TEXBLEND3 56,2041 -#define I830_UPLOAD_TEXBLEND_N(I830_UPLOAD_TEXBLEND_N57,2081 -#define I830_UPLOAD_TEXBLEND_MASK 58,2133 -#define I830_UPLOAD_TEX_PALETTE_N(I830_UPLOAD_TEX_PALETTE_N59,2176 -#define I830_UPLOAD_TEX_PALETTE_SHARED 60,2235 -#define I830_UPLOAD_STIPPLE 61,2284 -#define I830_DESTREG_CBUFADDR 77,2822 -#define I830_DESTREG_DBUFADDR 78,2854 -#define I830_DESTREG_DV0 79,2886 -#define I830_DESTREG_DV1 80,2913 -#define I830_DESTREG_SENABLE 81,2940 -#define I830_DESTREG_SR0 82,2971 -#define I830_DESTREG_SR1 83,2998 -#define I830_DESTREG_SR2 84,3025 -#define I830_DESTREG_DR0 85,3052 -#define I830_DESTREG_DR1 86,3079 -#define I830_DESTREG_DR2 87,3106 -#define I830_DESTREG_DR3 88,3134 -#define I830_DESTREG_DR4 89,3162 -#define I830_DEST_SETUP_SIZE 90,3190 -#define I830_CTXREG_STATE1 94,3244 -#define I830_CTXREG_STATE2 95,3274 -#define I830_CTXREG_STATE3 96,3304 -#define I830_CTXREG_STATE4 97,3334 -#define I830_CTXREG_STATE5 98,3364 -#define I830_CTXREG_IALPHAB 99,3394 -#define I830_CTXREG_STENCILTST 100,3425 -#define I830_CTXREG_ENABLES_1 101,3459 -#define I830_CTXREG_ENABLES_2 102,3492 -#define I830_CTXREG_AA 103,3525 -#define I830_CTXREG_FOGCOLOR 104,3552 -#define I830_CTXREG_BLENDCOLR0 105,3585 -#define I830_CTXREG_BLENDCOLR 106,3620 -#define I830_CTXREG_VF 107,3687 -#define I830_CTXREG_VF2 108,3715 -#define I830_CTXREG_MCSB0 109,3744 -#define I830_CTXREG_MCSB1 110,3774 -#define I830_CTX_SETUP_SIZE 111,3804 -#define I830_STPREG_ST0 115,3864 -#define I830_STPREG_ST1 116,3890 -#define I830_STP_SETUP_SIZE 117,3916 -#define I830_TEXREG_MI0 123,3985 -#define I830_TEXREG_MI1 124,4044 -#define I830_TEXREG_MI2 125,4070 -#define I830_TEXREG_MI3 126,4096 -#define I830_TEXREG_MI4 127,4122 -#define I830_TEXREG_MI5 128,4148 -#define I830_TEXREG_MF 129,4174 -#define I830_TEXREG_MLC 130,4223 -#define I830_TEXREG_MLL 131,4274 -#define I830_TEXREG_MCS 132,4328 -#define I830_TEX_SETUP_SIZE 133,4382 -#define I830_TEXREG_TM0LI 135,4414 -#define I830_TEXREG_TM0S0 136,4484 -#define I830_TEXREG_TM0S1 137,4517 -#define I830_TEXREG_TM0S2 138,4550 -#define I830_TEXREG_TM0S3 139,4583 -#define I830_TEXREG_TM0S4 140,4616 -#define I830_TEXREG_NOP0 141,4649 -#define I830_TEXREG_NOP1 142,4699 -#define I830_TEXREG_NOP2 143,4749 -#define __I830_TEXREG_MCS 144,4799 -#define __I830_TEX_SETUP_SIZE 145,4876 -#define I830_FRONT 147,4912 -#define I830_BACK 148,4937 -#define I830_DEPTH 149,4962 -typedef struct _drm_i830_init _drm_i830_init153,5017 - I830_INIT_DMA 155,5057 - I830_INIT_DMA = 0x01,155,5057 - I830_CLEANUP_DMA 156,5081 - I830_CLEANUP_DMA = 0x02156,5081 -} drm_i830_init_t;drm_i830_init_t174,5508 -typedef struct _drm_i830_tex_region _drm_i830_tex_region179,5627 -} drm_i830_tex_region_t;drm_i830_tex_region_t183,5845 -typedef struct _drm_i830_sarea _drm_i830_sarea185,5871 -} drm_i830_sarea_t;drm_i830_sarea_t240,8118 -#define I830_BOX_RING_EMPTY 244,8167 -#define I830_BOX_FLIP 245,8228 -#define I830_BOX_WAIT 246,8289 -#define I830_BOX_TEXTURE_LOAD 247,8359 -#define I830_BOX_LOST_CONTEXT 248,8420 -#define DRM_IOCTL_I830_INIT 254,8564 -#define DRM_IOCTL_I830_VERTEX 255,8625 -#define DRM_IOCTL_I830_CLEAR 256,8690 -#define DRM_IOCTL_I830_FLUSH 257,8753 -#define DRM_IOCTL_I830_GETAGE 258,8798 -#define DRM_IOCTL_I830_GETBUF 259,8844 -#define DRM_IOCTL_I830_SWAP 260,8906 -#define DRM_IOCTL_I830_COPY 261,8950 -#define DRM_IOCTL_I830_DOCOPY 262,9011 -#define DRM_IOCTL_I830_FLIP 263,9057 -#define DRM_IOCTL_I830_IRQ_EMIT 264,9101 -#define DRM_IOCTL_I830_IRQ_WAIT 265,9177 -#define DRM_IOCTL_I830_GETPARAM 266,9253 -#define DRM_IOCTL_I830_SETPARAM 267,9329 -typedef struct _drm_i830_clear _drm_i830_clear269,9406 -} drm_i830_clear_t;drm_i830_clear_t275,9549 -typedef struct _drm_i830_vertex _drm_i830_vertex284,9800 -} drm_i830_vertex_t;drm_i830_vertex_t288,9958 -typedef struct _drm_i830_copy_t _drm_i830_copy_t290,9980 -} drm_i830_copy_t;drm_i830_copy_t294,10132 -typedef struct drm_i830_dma drm_i830_dma296,10152 -} drm_i830_dma_t;drm_i830_dma_t301,10256 -typedef struct drm_i830_irq_emit drm_i830_irq_emit306,10327 -} drm_i830_irq_emit_t;drm_i830_irq_emit_t308,10384 -typedef struct drm_i830_irq_wait drm_i830_irq_wait310,10408 -} drm_i830_irq_wait_t;drm_i830_irq_wait_t312,10457 -#define I830_PARAM_IRQ_ACTIVE 317,10528 -typedef struct drm_i830_getparam drm_i830_getparam319,10572 -} drm_i830_getparam_t;drm_i830_getparam_t322,10639 -#define I830_SETPARAM_USE_MI_BATCHBUFFER_START 327,10708 -typedef struct drm_i830_setparam drm_i830_setparam329,10769 -} drm_i830_setparam_t;drm_i830_setparam_t332,10828 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis_drv.h,131 -#define _SIS_DRV_H_29,1363 -typedef struct drm_sis_private drm_sis_private33,1405 -} drm_sis_private_t;drm_sis_private_t36,1479 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i810_drm.h,4150 -#define _I810_DRM_H_2,21 -#define _I810_DEFINES_9,207 -#define I810_DMA_BUF_ORDER 11,231 -#define I810_DMA_BUF_SZ 12,262 -#define I810_DMA_BUF_NR 13,312 -#define I810_NR_SAREA_CLIPRECTS 14,342 -#define I810_NR_TEX_REGIONS 18,452 -#define I810_LOG_MIN_TEX_REGION_SIZE 19,483 -#define I810_UPLOAD_TEX0IMAGE 22,531 -#define I810_UPLOAD_TEX1IMAGE 23,591 -#define I810_UPLOAD_CTX 24,651 -#define I810_UPLOAD_BUFFERS 25,686 -#define I810_UPLOAD_TEX0 26,721 -#define I810_UPLOAD_TEX1 27,757 -#define I810_UPLOAD_CLIPRECTS 28,793 -#define I810_DESTREG_DI0 44,1320 -#define I810_DESTREG_DI1 45,1388 -#define I810_DESTREG_DV0 46,1416 -#define I810_DESTREG_DV1 47,1484 -#define I810_DESTREG_DR0 48,1512 -#define I810_DESTREG_DR1 49,1578 -#define I810_DESTREG_DR2 50,1606 -#define I810_DESTREG_DR3 51,1634 -#define I810_DESTREG_DR4 52,1662 -#define I810_DEST_SETUP_SIZE 53,1690 -#define I810_CTXREG_CF0 57,1744 -#define I810_CTXREG_CF1 58,1798 -#define I810_CTXREG_ST0 59,1827 -#define I810_CTXREG_ST1 60,1880 -#define I810_CTXREG_VF 61,1908 -#define I810_CTXREG_MT 62,1960 -#define I810_CTXREG_MC0 63,2012 -#define I810_CTXREG_MC1 64,2080 -#define I810_CTXREG_MC2 65,2152 -#define I810_CTXREG_MA0 66,2220 -#define I810_CTXREG_MA1 67,2288 -#define I810_CTXREG_MA2 68,2357 -#define I810_CTXREG_SDM 69,2426 -#define I810_CTXREG_FOG 70,2482 -#define I810_CTXREG_B1 71,2534 -#define I810_CTXREG_B2 72,2583 -#define I810_CTXREG_LCS 73,2632 -#define I810_CTXREG_PV 74,2700 -#define I810_CTXREG_ZA 75,2764 -#define I810_CTXREG_AA 76,2822 -#define I810_CTX_SETUP_SIZE 77,2874 -#define I810_TEXREG_MI0 81,2943 -#define I810_TEXREG_MI1 82,3003 -#define I810_TEXREG_MI2 83,3031 -#define I810_TEXREG_MI3 84,3059 -#define I810_TEXREG_MF 85,3087 -#define I810_TEXREG_MLC 86,3138 -#define I810_TEXREG_MLL 87,3190 -#define I810_TEXREG_MCS 88,3245 -#define I810_TEX_SETUP_SIZE 89,3304 -#define I810_FRONT 93,3364 -#define I810_BACK 94,3389 -#define I810_DEPTH 95,3414 -typedef enum _drm_i810_init_func _drm_i810_init_func97,3440 - I810_INIT_DMA 98,3475 - I810_INIT_DMA = 0x01,98,3475 - I810_CLEANUP_DMA 99,3498 - I810_CLEANUP_DMA = 0x02,99,3498 - I810_INIT_DMA_1_4 100,3524 - I810_INIT_DMA_1_4 = 0x03100,3524 - } drm_i810_init_func_t;drm_i810_init_func_t101,3550 -typedef struct _drm_i810_init _drm_i810_init104,3620 -} drm_i810_init_t;drm_i810_init_t126,4170 -typedef struct _drm_i810_pre12_init _drm_i810_pre12_init129,4237 -} drm_i810_pre12_init_t;drm_i810_pre12_init_t144,4624 -typedef struct _drm_i810_tex_region _drm_i810_tex_region149,4749 -} drm_i810_tex_region_t;drm_i810_tex_region_t153,4967 -typedef struct _drm_i810_sarea _drm_i810_sarea155,4993 -} drm_i810_sarea_t;drm_i810_sarea_t193,6583 -#define DRM_IOCTL_I810_INIT 202,6807 -#define DRM_IOCTL_I810_VERTEX 203,6868 -#define DRM_IOCTL_I810_CLEAR 204,6933 -#define DRM_IOCTL_I810_FLUSH 205,6996 -#define DRM_IOCTL_I810_GETAGE 206,7041 -#define DRM_IOCTL_I810_GETBUF 207,7087 -#define DRM_IOCTL_I810_SWAP 208,7149 -#define DRM_IOCTL_I810_COPY 209,7193 -#define DRM_IOCTL_I810_DOCOPY 210,7254 -#define DRM_IOCTL_I810_OV0INFO 211,7300 -#define DRM_IOCTL_I810_FSTATUS 212,7367 -#define DRM_IOCTL_I810_OV0FLIP 213,7414 -#define DRM_IOCTL_I810_MC 214,7461 -#define DRM_IOCTL_I810_RSTATUS 215,7518 -#define DRM_IOCTL_I810_FLIP 216,7566 -typedef struct _drm_i810_clear _drm_i810_clear218,7623 -} drm_i810_clear_t;drm_i810_clear_t222,7704 -typedef struct _drm_i810_vertex _drm_i810_vertex229,7953 -} drm_i810_vertex_t;drm_i810_vertex_t233,8111 -typedef struct _drm_i810_copy_t _drm_i810_copy_t235,8133 -} drm_i810_copy_t;drm_i810_copy_t239,8278 -#define PR_TRIANGLES 241,8298 -#define PR_TRISTRIP_0 242,8337 -#define PR_TRISTRIP_1 243,8376 -#define PR_TRIFAN 244,8415 -#define PR_POLYGON 245,8454 -#define PR_LINES 246,8493 -#define PR_LINESTRIP 247,8532 -#define PR_RECTS 248,8571 -#define PR_MASK 249,8610 -typedef struct drm_i810_dma drm_i810_dma252,8651 -} drm_i810_dma_t;drm_i810_dma_t257,8748 -typedef struct _drm_i810_overlay_t _drm_i810_overlay_t259,8767 -} drm_i810_overlay_t;drm_i810_overlay_t262,8887 -typedef struct _drm_i810_mc _drm_i810_mc264,8910 -} drm_i810_mc_t;drm_i810_mc_t270,9204 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_sarea.h,491 -#define _DRM_SAREA_H_33,1340 -#define SAREA_MAX 39,1449 -#define SAREA_MAX 41,1520 -#define SAREA_MAX 44,1641 -#define SAREA_MAX_DRAWABLES 48,1744 -#define SAREA_DRAWABLE_CLAIMED_ENTRY 50,1779 -typedef struct drm_sarea_drawable drm_sarea_drawable53,1853 -} drm_sarea_drawable_t;drm_sarea_drawable_t56,1937 -typedef struct drm_sarea_frame drm_sarea_frame59,1981 -} drm_sarea_frame_t;drm_sarea_frame_t65,2167 -typedef struct drm_sarea drm_sarea68,2202 -} drm_sarea_t;drm_sarea_t76,2574 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_scatter.h,84 -#define DEBUG_SCATTER 38,1471 -void DRM(40,1496 -int DRM(64,1976 -int DRM(204,5442 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_auth.h,127 -static int DRM(47,1708 -static drm_file_t *DRM(62,2076 -int DRM(90,2754 -int DRM(127,3629 -int DRM(173,4713 -int DRM(213,5788 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_dma.c,982 -#define MGA_DEFAULT_USEC_TIMEOUT 42,1722 -#define MGA_FREELIST_DEBUG 43,1761 -int mga_do_wait_for_idle(50,1884 -int mga_do_dma_idle(72,2333 -int mga_do_dma_reset(90,2708 -int mga_do_engine_reset(114,3204 -void mga_do_dma_flush(156,4291 -void mga_do_dma_wrap_start(212,5714 -void mga_do_dma_wrap_end(255,6717 -#define MGA_BUFFER_USED 277,7269 -#define MGA_BUFFER_FREE 278,7297 -static void mga_freelist_print(281,7348 -static int mga_freelist_init(302,7966 -static void mga_freelist_cleanup(350,9160 -static void mga_freelist_reset(370,9571 -static drm_buf_t *mga_freelist_get(386,9902 -int mga_freelist_put(419,10744 -static int mga_do_init_dma(455,11588 -int mga_do_cleanup_dma(629,16728 -int mga_dma_init(661,17550 -int mga_dma_flush(685,18024 -int mga_dma_reset(720,18882 -static int mga_dma_get_buffers(735,19182 -int mga_dma_buffers(759,19720 -static void mga_driver_pretakedown(801,20695 -static int mga_driver_dma_quiescent(806,20782 -void mga_driver_register_fns(812,20933 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_state.c,1171 -static void mga_emit_clip_rect(46,1794 -static __inline__ void mga_g200_emit_context(72,2512 -static __inline__ void mga_g400_emit_context(98,3162 -static __inline__ void mga_g200_emit_tex0(129,3973 -static __inline__ void mga_g400_emit_tex0(160,4784 -static __inline__ void mga_g400_emit_tex1(204,6023 -static __inline__ void mga_g200_emit_pipe(245,7179 -static __inline__ void mga_g400_emit_pipe(275,7891 -static void mga_g200_emit_state(357,10292 -static void mga_g400_emit_state(378,10829 -static int mga_verify_context(412,11715 -static int mga_verify_tex(431,12227 -static int mga_verify_state(449,12693 -static int mga_verify_iload(478,13455 -static int mga_verify_blit(497,13934 -static void mga_dma_dispatch_clear(514,14366 -static void mga_dma_dispatch_swap(609,16580 -static void mga_dma_dispatch_vertex(667,18121 -static void mga_dma_dispatch_indices(714,19172 -static void mga_dma_dispatch_iload(763,20358 -static void mga_dma_dispatch_blit(816,21607 -int mga_dma_clear(883,23286 -int mga_dma_swap(908,23881 -int mga_dma_vertex(930,24358 -int mga_dma_indices(969,25236 -int mga_dma_iload(1008,26129 -int mga_dma_blit(1050,27132 -int mga_getparam(1079,27828 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon.h,298 -#define __RADEON_H__32,1467 -#define DRM(DRM36,1546 -#define DRIVER_AUTHOR 41,1604 -#define DRIVER_NAME 43,1669 -#define DRIVER_DESC 44,1699 -#define DRIVER_DATE 45,1733 -#define DRIVER_MAJOR 47,1766 -#define DRIVER_MINOR 48,1790 -#define DRIVER_PATCHLEVEL 49,1815 -#define DRIVER_IOCTLS 84,3446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_drv.h,21524 -#define __RADEON_DRV_H__32,1465 -#define GET_RING_HEAD(GET_RING_HEAD34,1491 -#define SET_RING_HEAD(SET_RING_HEAD35,1564 -typedef struct drm_radeon_freelist drm_radeon_freelist37,1648 -} drm_radeon_freelist_t;drm_radeon_freelist_t42,1803 -typedef struct drm_radeon_ring_buffer drm_radeon_ring_buffer44,1829 -} drm_radeon_ring_buffer_t;drm_radeon_ring_buffer_t55,1977 -typedef struct drm_radeon_depth_clear_t drm_radeon_depth_clear_t57,2006 -} drm_radeon_depth_clear_t;drm_radeon_depth_clear_t61,2102 -struct drm_radeon_driver_file_fields drm_radeon_driver_file_fields63,2131 -struct mem_block mem_block67,2200 -typedef struct drm_radeon_private drm_radeon_private75,2355 -} drm_radeon_private_t;drm_radeon_private_t153,3832 -typedef struct drm_radeon_buf_priv drm_radeon_buf_priv155,3857 -} drm_radeon_buf_priv_t;drm_radeon_buf_priv_t157,3904 -#define RADEON_BOX_DMA_IDLE 216,6303 -#define RADEON_BOX_RING_FULL 217,6340 -#define RADEON_BOX_FLIP 218,6377 -#define RADEON_BOX_WAIT_IDLE 219,6414 -#define RADEON_BOX_TEXTURE_LOAD 220,6451 -#define RADEON_AGP_COMMAND 228,6598 -#define RADEON_AUX_SCISSOR_CNTL 229,6633 -# define RADEON_EXCLUSIVE_SCISSOR_0 230,6673 -# define RADEON_EXCLUSIVE_SCISSOR_1 231,6719 -# define RADEON_EXCLUSIVE_SCISSOR_2 232,6765 -# define RADEON_SCISSOR_0_ENABLE 233,6811 -# define RADEON_SCISSOR_1_ENABLE 234,6855 -# define RADEON_SCISSOR_2_ENABLE 235,6899 -#define RADEON_BUS_CNTL 237,6944 -# define RADEON_BUS_MASTER_DIS 238,6977 -#define RADEON_CLOCK_CNTL_DATA 240,7019 -# define RADEON_PLL_WR_EN 241,7058 -#define RADEON_CLOCK_CNTL_INDEX 242,7095 -#define RADEON_CONFIG_APER_SIZE 243,7135 -#define RADEON_CRTC_OFFSET 244,7175 -#define RADEON_CRTC_OFFSET_CNTL 245,7210 -# define RADEON_CRTC_TILE_EN 246,7250 -# define RADEON_CRTC_OFFSET_FLIP_CNTL 247,7290 -#define RADEON_CRTC2_OFFSET 248,7338 -#define RADEON_CRTC2_OFFSET_CNTL 249,7374 -#define RADEON_RB3D_COLOROFFSET 251,7415 -#define RADEON_RB3D_COLORPITCH 252,7455 -#define RADEON_DP_GUI_MASTER_CNTL 254,7495 -# define RADEON_GMC_SRC_PITCH_OFFSET_CNTL 255,7536 -# define RADEON_GMC_DST_PITCH_OFFSET_CNTL 256,7587 -# define RADEON_GMC_BRUSH_SOLID_COLOR 257,7638 -# define RADEON_GMC_BRUSH_NONE 258,7686 -# define RADEON_GMC_DST_16BPP 259,7728 -# define RADEON_GMC_DST_24BPP 260,7768 -# define RADEON_GMC_DST_32BPP 261,7808 -# define RADEON_GMC_DST_DATATYPE_SHIFT 262,7848 -# define RADEON_GMC_SRC_DATATYPE_COLOR 263,7889 -# define RADEON_DP_SRC_SOURCE_MEMORY 264,7938 -# define RADEON_DP_SRC_SOURCE_HOST_DATA 265,7985 -# define RADEON_GMC_CLR_CMP_CNTL_DIS 266,8035 -# define RADEON_GMC_WR_MSK_DIS 267,8082 -# define RADEON_ROP3_S 268,8124 -# define RADEON_ROP3_P 269,8160 -#define RADEON_DP_WRITE_MASK 270,8196 -#define RADEON_DST_PITCH_OFFSET 271,8233 -#define RADEON_DST_PITCH_OFFSET_C 272,8273 -# define RADEON_DST_TILE_LINEAR 273,8314 -# define RADEON_DST_TILE_MACRO 274,8357 -# define RADEON_DST_TILE_MICRO 275,8399 -# define RADEON_DST_TILE_BOTH 276,8441 -#define RADEON_SCRATCH_REG0 278,8483 -#define RADEON_SCRATCH_REG1 279,8519 -#define RADEON_SCRATCH_REG2 280,8555 -#define RADEON_SCRATCH_REG3 281,8591 -#define RADEON_SCRATCH_REG4 282,8627 -#define RADEON_SCRATCH_REG5 283,8663 -#define RADEON_SCRATCH_UMSK 284,8699 -#define RADEON_SCRATCH_ADDR 285,8735 -#define RADEON_SCRATCHOFF(RADEON_SCRATCHOFF287,8772 -#define GET_SCRATCH(GET_SCRATCH289,8841 -#define RADEON_GEN_INT_CNTL 294,9014 -# define RADEON_CRTC_VBLANK_MASK 295,9050 -# define RADEON_GUI_IDLE_INT_ENABLE 296,9093 -# define RADEON_SW_INT_ENABLE 297,9139 -#define RADEON_GEN_INT_STATUS 299,9181 -# define RADEON_CRTC_VBLANK_STAT 300,9219 -# define RADEON_CRTC_VBLANK_STAT_ACK 301,9262 -# define RADEON_GUI_IDLE_INT_TEST_ACK 302,9311 -# define RADEON_SW_INT_TEST 303,9363 -# define RADEON_SW_INT_TEST_ACK 304,9402 -# define RADEON_SW_INT_FIRE 305,9447 -#define RADEON_HOST_PATH_CNTL 307,9487 -# define RADEON_HDP_SOFT_RESET 308,9525 -# define RADEON_HDP_WC_TIMEOUT_MASK 309,9567 -# define RADEON_HDP_WC_TIMEOUT_28BCLK 310,9613 -#define RADEON_ISYNC_CNTL 312,9662 -# define RADEON_ISYNC_ANY2D_IDLE3D 313,9696 -# define RADEON_ISYNC_ANY3D_IDLE2D 314,9740 -# define RADEON_ISYNC_TRIG2D_IDLE3D 315,9784 -# define RADEON_ISYNC_TRIG3D_IDLE2D 316,9829 -# define RADEON_ISYNC_WAIT_IDLEGUI 317,9874 -# define RADEON_ISYNC_CPSCRATCH_IDLEGUI 318,9918 -#define RADEON_RBBM_GUICNTL 320,9968 -# define RADEON_HOST_DATA_SWAP_NONE 321,10004 -# define RADEON_HOST_DATA_SWAP_16BIT 322,10049 -# define RADEON_HOST_DATA_SWAP_32BIT 323,10095 -# define RADEON_HOST_DATA_SWAP_HDW 324,10141 -#define RADEON_MC_AGP_LOCATION 326,10186 -#define RADEON_MC_FB_LOCATION 327,10225 -#define RADEON_MCLK_CNTL 328,10263 -# define RADEON_FORCEON_MCLKA 329,10296 -# define RADEON_FORCEON_MCLKB 330,10337 -# define RADEON_FORCEON_YCLKA 331,10378 -# define RADEON_FORCEON_YCLKB 332,10419 -# define RADEON_FORCEON_MC 333,10460 -# define RADEON_FORCEON_AIC 334,10498 -#define RADEON_PP_BORDER_COLOR_0 336,10538 -#define RADEON_PP_BORDER_COLOR_1 337,10578 -#define RADEON_PP_BORDER_COLOR_2 338,10618 -#define RADEON_PP_CNTL 339,10658 -# define RADEON_SCISSOR_ENABLE 340,10690 -#define RADEON_PP_LUM_MATRIX 341,10732 -#define RADEON_PP_MISC 342,10769 -#define RADEON_PP_ROT_MATRIX_0 343,10801 -#define RADEON_PP_TXFILTER_0 344,10840 -#define RADEON_PP_TXOFFSET_0 345,10877 -#define RADEON_PP_TXFILTER_1 346,10914 -#define RADEON_PP_TXFILTER_2 347,10951 -#define RADEON_RB2D_DSTCACHE_CTLSTAT 349,10989 -# define RADEON_RB2D_DC_FLUSH 350,11033 -# define RADEON_RB2D_DC_FREE 351,11073 -# define RADEON_RB2D_DC_FLUSH_ALL 352,11112 -# define RADEON_RB2D_DC_BUSY 353,11151 -#define RADEON_RB3D_CNTL 354,11191 -# define RADEON_ALPHA_BLEND_ENABLE 355,11224 -# define RADEON_PLANE_MASK_ENABLE 356,11268 -# define RADEON_DITHER_ENABLE 357,11312 -# define RADEON_ROUND_ENABLE 358,11352 -# define RADEON_SCALE_DITHER_ENABLE 359,11391 -# define RADEON_DITHER_INIT 360,11436 -# define RADEON_ROP_ENABLE 361,11474 -# define RADEON_STENCIL_ENABLE 362,11511 -# define RADEON_Z_ENABLE 363,11552 -#define RADEON_RB3D_DEPTHOFFSET 364,11588 -#define RADEON_RB3D_DEPTHPITCH 365,11628 -#define RADEON_RB3D_PLANEMASK 366,11667 -#define RADEON_RB3D_STENCILREFMASK 367,11705 -#define RADEON_RB3D_ZCACHE_MODE 368,11747 -#define RADEON_RB3D_ZCACHE_CTLSTAT 369,11787 -# define RADEON_RB3D_ZC_FLUSH 370,11829 -# define RADEON_RB3D_ZC_FREE 371,11869 -# define RADEON_RB3D_ZC_FLUSH_ALL 372,11908 -# define RADEON_RB3D_ZC_BUSY 373,11947 -#define RADEON_RB3D_ZSTENCILCNTL 374,11987 -# define RADEON_Z_TEST_MASK 375,12027 -# define RADEON_Z_TEST_ALWAYS 376,12065 -# define RADEON_STENCIL_TEST_ALWAYS 377,12105 -# define RADEON_STENCIL_S_FAIL_REPLACE 378,12151 -# define RADEON_STENCIL_ZPASS_REPLACE 379,12200 -# define RADEON_STENCIL_ZFAIL_REPLACE 380,12248 -# define RADEON_Z_WRITE_ENABLE 381,12296 -#define RADEON_RBBM_SOFT_RESET 382,12338 -# define RADEON_SOFT_RESET_CP 383,12377 -# define RADEON_SOFT_RESET_HI 384,12418 -# define RADEON_SOFT_RESET_SE 385,12459 -# define RADEON_SOFT_RESET_RE 386,12500 -# define RADEON_SOFT_RESET_PP 387,12541 -# define RADEON_SOFT_RESET_E2 388,12582 -# define RADEON_SOFT_RESET_RB 389,12623 -# define RADEON_SOFT_RESET_HDP 390,12664 -#define RADEON_RBBM_STATUS 391,12706 -# define RADEON_RBBM_FIFOCNT_MASK 392,12741 -# define RADEON_RBBM_ACTIVE 393,12783 -#define RADEON_RE_LINE_PATTERN 394,12822 -#define RADEON_RE_MISC 395,12861 -#define RADEON_RE_TOP_LEFT 396,12893 -#define RADEON_RE_WIDTH_HEIGHT 397,12928 -#define RADEON_RE_STIPPLE_ADDR 398,12967 -#define RADEON_RE_STIPPLE_DATA 399,13006 -#define RADEON_SCISSOR_TL_0 401,13046 -#define RADEON_SCISSOR_BR_0 402,13082 -#define RADEON_SCISSOR_TL_1 403,13118 -#define RADEON_SCISSOR_BR_1 404,13154 -#define RADEON_SCISSOR_TL_2 405,13190 -#define RADEON_SCISSOR_BR_2 406,13226 -#define RADEON_SE_COORD_FMT 407,13262 -#define RADEON_SE_CNTL 408,13298 -# define RADEON_FFACE_CULL_CW 409,13330 -# define RADEON_BFACE_SOLID 410,13370 -# define RADEON_FFACE_SOLID 411,13408 -# define RADEON_FLAT_SHADE_VTX_LAST 412,13446 -# define RADEON_DIFFUSE_SHADE_FLAT 413,13491 -# define RADEON_DIFFUSE_SHADE_GOURAUD 414,13535 -# define RADEON_ALPHA_SHADE_FLAT 415,13582 -# define RADEON_ALPHA_SHADE_GOURAUD 416,13626 -# define RADEON_SPECULAR_SHADE_FLAT 417,13672 -# define RADEON_SPECULAR_SHADE_GOURAUD 418,13718 -# define RADEON_FOG_SHADE_FLAT 419,13767 -# define RADEON_FOG_SHADE_GOURAUD 420,13809 -# define RADEON_VPORT_XY_XFORM_ENABLE 421,13854 -# define RADEON_VPORT_Z_XFORM_ENABLE 422,13902 -# define RADEON_VTX_PIX_CENTER_OGL 423,13949 -# define RADEON_ROUND_MODE_TRUNC 424,13994 -# define RADEON_ROUND_PREC_8TH_PIX 425,14038 -#define RADEON_SE_CNTL_STATUS 426,14083 -#define RADEON_SE_LINE_WIDTH 427,14121 -#define RADEON_SE_VPORT_XSCALE 428,14158 -#define RADEON_SE_ZBIAS_FACTOR 429,14197 -#define RADEON_SE_TCL_MATERIAL_EMMISSIVE_RED 430,14236 -#define RADEON_SE_TCL_OUTPUT_VTX_FMT 431,14288 -#define RADEON_SE_TCL_VECTOR_INDX_REG 432,14340 -# define RADEON_VEC_INDX_OCTWORD_STRIDE_SHIFT 433,14392 -# define RADEON_VEC_INDX_DWORD_COUNT_SHIFT 434,14448 -#define RADEON_SE_TCL_VECTOR_DATA_REG 435,14504 -#define RADEON_SE_TCL_SCALAR_INDX_REG 436,14555 -# define RADEON_SCAL_INDX_DWORD_STRIDE_SHIFT 437,14606 -#define RADEON_SE_TCL_SCALAR_DATA_REG 438,14661 -#define RADEON_SURFACE_ACCESS_FLAGS 439,14712 -#define RADEON_SURFACE_ACCESS_CLR 440,14755 -#define RADEON_SURFACE_CNTL 441,14796 -# define RADEON_SURF_TRANSLATION_DIS 442,14832 -# define RADEON_NONSURF_AP0_SWP_MASK 443,14878 -# define RADEON_NONSURF_AP0_SWP_LITTLE 444,14925 -# define RADEON_NONSURF_AP0_SWP_BIG16 445,14974 -# define RADEON_NONSURF_AP0_SWP_BIG32 446,15022 -# define RADEON_NONSURF_AP1_SWP_MASK 447,15070 -# define RADEON_NONSURF_AP1_SWP_LITTLE 448,15117 -# define RADEON_NONSURF_AP1_SWP_BIG16 449,15166 -# define RADEON_NONSURF_AP1_SWP_BIG32 450,15214 -#define RADEON_SURFACE0_INFO 451,15262 -# define RADEON_SURF_PITCHSEL_MASK 452,15299 -# define RADEON_SURF_TILE_MODE_MASK 453,15347 -# define RADEON_SURF_TILE_MODE_MACRO 454,15393 -# define RADEON_SURF_TILE_MODE_MICRO 455,15440 -# define RADEON_SURF_TILE_MODE_32BIT_Z 456,15487 -# define RADEON_SURF_TILE_MODE_16BIT_Z 457,15536 -#define RADEON_SURFACE0_LOWER_BOUND 458,15585 -#define RADEON_SURFACE0_UPPER_BOUND 459,15628 -#define RADEON_SURFACE1_INFO 460,15671 -#define RADEON_SURFACE1_LOWER_BOUND 461,15708 -#define RADEON_SURFACE1_UPPER_BOUND 462,15751 -#define RADEON_SURFACE2_INFO 463,15794 -#define RADEON_SURFACE2_LOWER_BOUND 464,15831 -#define RADEON_SURFACE2_UPPER_BOUND 465,15874 -#define RADEON_SURFACE3_INFO 466,15917 -#define RADEON_SURFACE3_LOWER_BOUND 467,15954 -#define RADEON_SURFACE3_UPPER_BOUND 468,15997 -#define RADEON_SURFACE4_INFO 469,16040 -#define RADEON_SURFACE4_LOWER_BOUND 470,16077 -#define RADEON_SURFACE4_UPPER_BOUND 471,16120 -#define RADEON_SURFACE5_INFO 472,16163 -#define RADEON_SURFACE5_LOWER_BOUND 473,16200 -#define RADEON_SURFACE5_UPPER_BOUND 474,16243 -#define RADEON_SURFACE6_INFO 475,16286 -#define RADEON_SURFACE6_LOWER_BOUND 476,16323 -#define RADEON_SURFACE6_UPPER_BOUND 477,16366 -#define RADEON_SURFACE7_INFO 478,16409 -#define RADEON_SURFACE7_LOWER_BOUND 479,16446 -#define RADEON_SURFACE7_UPPER_BOUND 480,16489 -#define RADEON_SW_SEMAPHORE 481,16532 -#define RADEON_WAIT_UNTIL 483,16569 -# define RADEON_WAIT_CRTC_PFLIP 484,16603 -# define RADEON_WAIT_2D_IDLECLEAN 485,16645 -# define RADEON_WAIT_3D_IDLECLEAN 486,16690 -# define RADEON_WAIT_HOST_IDLECLEAN 487,16735 -#define RADEON_RB3D_ZMASKOFFSET 489,16782 -#define RADEON_RB3D_ZSTENCILCNTL 490,16822 -# define RADEON_DEPTH_FORMAT_16BIT_INT_Z 491,16862 -# define RADEON_DEPTH_FORMAT_24BIT_INT_Z 492,16912 -#define RADEON_CP_ME_RAM_ADDR 496,16983 -#define RADEON_CP_ME_RAM_RADDR 497,17021 -#define RADEON_CP_ME_RAM_DATAH 498,17060 -#define RADEON_CP_ME_RAM_DATAL 499,17099 -#define RADEON_CP_RB_BASE 501,17139 -#define RADEON_CP_RB_CNTL 502,17173 -# define RADEON_BUF_SWAP_32BIT 503,17207 -#define RADEON_CP_RB_RPTR_ADDR 504,17249 -#define RADEON_CP_RB_RPTR 505,17288 -#define RADEON_CP_RB_WPTR 506,17322 -#define RADEON_CP_RB_WPTR_DELAY 508,17357 -# define RADEON_PRE_WRITE_TIMER_SHIFT 509,17397 -# define RADEON_PRE_WRITE_LIMIT_SHIFT 510,17437 -#define RADEON_CP_IB_BASE 512,17479 -#define RADEON_CP_CSQ_CNTL 514,17514 -# define RADEON_CSQ_CNT_PRIMARY_MASK 515,17549 -# define RADEON_CSQ_PRIDIS_INDDIS 516,17598 -# define RADEON_CSQ_PRIPIO_INDDIS 517,17643 -# define RADEON_CSQ_PRIBM_INDDIS 518,17688 -# define RADEON_CSQ_PRIPIO_INDBM 519,17732 -# define RADEON_CSQ_PRIBM_INDBM 520,17776 -# define RADEON_CSQ_PRIPIO_INDPIO 521,17819 -#define RADEON_AIC_CNTL 523,17866 -# define RADEON_PCIGART_TRANSLATE_EN 524,17899 -#define RADEON_AIC_STAT 525,17945 -#define RADEON_AIC_PT_BASE 526,17978 -#define RADEON_AIC_LO_ADDR 527,18013 -#define RADEON_AIC_HI_ADDR 528,18048 -#define RADEON_AIC_TLB_ADDR 529,18083 -#define RADEON_AIC_TLB_DATA 530,18119 -#define RADEON_CP_PACKET0 533,18181 -# define RADEON_ONE_REG_WR 534,18219 -#define RADEON_CP_PACKET1 535,18257 -#define RADEON_CP_PACKET2 536,18295 -#define RADEON_CP_PACKET3 537,18333 -# define RADEON_3D_RNDR_GEN_INDX_PRIM 538,18371 -# define RADEON_WAIT_FOR_IDLE 539,18420 -# define RADEON_3D_DRAW_VBUF 540,18462 -# define RADEON_3D_DRAW_IMMD 541,18503 -# define RADEON_3D_DRAW_INDX 542,18544 -# define RADEON_3D_LOAD_VBPNTR 543,18585 -# define RADEON_CNTL_HOSTDATA_BLT 544,18628 -# define RADEON_CNTL_PAINT_MULTI 545,18674 -# define RADEON_CNTL_BITBLT_MULTI 546,18719 -# define RADEON_CNTL_SET_SCISSORS 547,18765 -#define RADEON_CP_PACKET_MASK 549,18812 -#define RADEON_CP_PACKET_COUNT_MASK 550,18854 -#define RADEON_CP_PACKET0_REG_MASK 551,18901 -#define RADEON_CP_PACKET1_REG0_MASK 552,18947 -#define RADEON_CP_PACKET1_REG1_MASK 553,18994 -#define RADEON_VTX_Z_PRESENT 555,19042 -#define RADEON_VTX_PKCOLOR_PRESENT 556,19083 -#define RADEON_PRIM_TYPE_NONE 558,19129 -#define RADEON_PRIM_TYPE_POINT 559,19170 -#define RADEON_PRIM_TYPE_LINE 560,19212 -#define RADEON_PRIM_TYPE_LINE_STRIP 561,19253 -#define RADEON_PRIM_TYPE_TRI_LIST 562,19299 -#define RADEON_PRIM_TYPE_TRI_FAN 563,19343 -#define RADEON_PRIM_TYPE_TRI_STRIP 564,19386 -#define RADEON_PRIM_TYPE_TRI_TYPE2 565,19431 -#define RADEON_PRIM_TYPE_RECT_LIST 566,19476 -#define RADEON_PRIM_TYPE_3VRT_POINT_LIST 567,19521 -#define RADEON_PRIM_TYPE_3VRT_LINE_LIST 568,19571 -#define RADEON_PRIM_TYPE_MASK 569,19622 -#define RADEON_PRIM_WALK_IND 570,19674 -#define RADEON_PRIM_WALK_LIST 571,19714 -#define RADEON_PRIM_WALK_RING 572,19755 -#define RADEON_COLOR_ORDER_BGRA 573,19796 -#define RADEON_COLOR_ORDER_RGBA 574,19839 -#define RADEON_MAOS_ENABLE 575,19882 -#define RADEON_VTX_FMT_R128_MODE 576,19920 -#define RADEON_VTX_FMT_RADEON_MODE 577,19963 -#define RADEON_NUM_VERTICES_SHIFT 578,20008 -#define RADEON_COLOR_FORMAT_CI8 580,20047 -#define RADEON_COLOR_FORMAT_ARGB1555 581,20082 -#define RADEON_COLOR_FORMAT_RGB565 582,20121 -#define RADEON_COLOR_FORMAT_ARGB8888 583,20158 -#define RADEON_COLOR_FORMAT_RGB332 584,20197 -#define RADEON_COLOR_FORMAT_RGB8 585,20234 -#define RADEON_COLOR_FORMAT_ARGB4444 586,20269 -#define RADEON_TXFORMAT_I8 588,20310 -#define RADEON_TXFORMAT_AI88 589,20340 -#define RADEON_TXFORMAT_RGB332 590,20372 -#define RADEON_TXFORMAT_ARGB1555 591,20406 -#define RADEON_TXFORMAT_RGB565 592,20441 -#define RADEON_TXFORMAT_ARGB4444 593,20475 -#define RADEON_TXFORMAT_ARGB8888 594,20510 -#define RADEON_TXFORMAT_RGBA8888 595,20545 -#define RADEON_TXFORMAT_Y8 596,20580 -#define RADEON_TXFORMAT_VYUY422 597,20610 -#define RADEON_TXFORMAT_YVYU422 598,20653 -#define RADEON_TXFORMAT_DXT1 599,20696 -#define RADEON_TXFORMAT_DXT23 600,20739 -#define RADEON_TXFORMAT_DXT45 601,20782 -#define R200_PP_TXCBLEND_0 603,20826 -#define R200_PP_TXCBLEND_1 604,20875 -#define R200_PP_TXCBLEND_2 605,20924 -#define R200_PP_TXCBLEND_3 606,20973 -#define R200_PP_TXCBLEND_4 607,21022 -#define R200_PP_TXCBLEND_5 608,21071 -#define R200_PP_TXCBLEND_6 609,21120 -#define R200_PP_TXCBLEND_7 610,21169 -#define R200_SE_TCL_LIGHT_MODEL_CTL_0 611,21218 -#define R200_PP_TFACTOR_0 612,21268 -#define R200_SE_VTX_FMT_0 613,21317 -#define R200_SE_VAP_CNTL 614,21366 -#define R200_SE_TCL_MATRIX_SEL_0 615,21415 -#define R200_SE_TCL_TEX_PROC_CTL_2 616,21464 -#define R200_SE_TCL_UCP_VERT_BLEND_CTL 617,21514 -#define R200_PP_TXFILTER_5 618,21564 -#define R200_PP_TXFILTER_4 619,21614 -#define R200_PP_TXFILTER_3 620,21664 -#define R200_PP_TXFILTER_2 621,21714 -#define R200_PP_TXFILTER_1 622,21764 -#define R200_PP_TXFILTER_0 623,21814 -#define R200_PP_TXOFFSET_5 624,21864 -#define R200_PP_TXOFFSET_4 625,21913 -#define R200_PP_TXOFFSET_3 626,21962 -#define R200_PP_TXOFFSET_2 627,22011 -#define R200_PP_TXOFFSET_1 628,22060 -#define R200_PP_TXOFFSET_0 629,22109 -#define R200_PP_CUBIC_FACES_0 631,22159 -#define R200_PP_CUBIC_FACES_1 632,22208 -#define R200_PP_CUBIC_FACES_2 633,22257 -#define R200_PP_CUBIC_FACES_3 634,22306 -#define R200_PP_CUBIC_FACES_4 635,22355 -#define R200_PP_CUBIC_FACES_5 636,22404 -#define R200_PP_CUBIC_OFFSET_F1_0 637,22453 -#define R200_PP_CUBIC_OFFSET_F2_0 638,22502 -#define R200_PP_CUBIC_OFFSET_F3_0 639,22551 -#define R200_PP_CUBIC_OFFSET_F4_0 640,22600 -#define R200_PP_CUBIC_OFFSET_F5_0 641,22649 -#define R200_PP_CUBIC_OFFSET_F1_1 642,22698 -#define R200_PP_CUBIC_OFFSET_F2_1 643,22747 -#define R200_PP_CUBIC_OFFSET_F3_1 644,22796 -#define R200_PP_CUBIC_OFFSET_F4_1 645,22845 -#define R200_PP_CUBIC_OFFSET_F5_1 646,22894 -#define R200_PP_CUBIC_OFFSET_F1_2 647,22943 -#define R200_PP_CUBIC_OFFSET_F2_2 648,22992 -#define R200_PP_CUBIC_OFFSET_F3_2 649,23041 -#define R200_PP_CUBIC_OFFSET_F4_2 650,23090 -#define R200_PP_CUBIC_OFFSET_F5_2 651,23139 -#define R200_PP_CUBIC_OFFSET_F1_3 652,23188 -#define R200_PP_CUBIC_OFFSET_F2_3 653,23237 -#define R200_PP_CUBIC_OFFSET_F3_3 654,23286 -#define R200_PP_CUBIC_OFFSET_F4_3 655,23335 -#define R200_PP_CUBIC_OFFSET_F5_3 656,23384 -#define R200_PP_CUBIC_OFFSET_F1_4 657,23433 -#define R200_PP_CUBIC_OFFSET_F2_4 658,23482 -#define R200_PP_CUBIC_OFFSET_F3_4 659,23531 -#define R200_PP_CUBIC_OFFSET_F4_4 660,23580 -#define R200_PP_CUBIC_OFFSET_F5_4 661,23629 -#define R200_PP_CUBIC_OFFSET_F1_5 662,23678 -#define R200_PP_CUBIC_OFFSET_F2_5 663,23727 -#define R200_PP_CUBIC_OFFSET_F3_5 664,23776 -#define R200_PP_CUBIC_OFFSET_F4_5 665,23825 -#define R200_PP_CUBIC_OFFSET_F5_5 666,23874 -#define R200_RE_AUX_SCISSOR_CNTL 668,23924 -#define R200_SE_VTE_CNTL 669,23973 -#define R200_SE_TCL_OUTPUT_VTX_COMP_SEL 670,24022 -#define R200_PP_TAM_DEBUG3 671,24071 -#define R200_PP_CNTL_X 672,24120 -#define R200_SE_VAP_CNTL_STATUS 673,24169 -#define R200_RE_SCISSOR_TL_0 674,24218 -#define R200_RE_SCISSOR_TL_1 675,24267 -#define R200_RE_SCISSOR_TL_2 676,24316 -#define R200_RB3D_DEPTHXY_OFFSET 677,24365 -#define R200_RE_AUX_SCISSOR_CNTL 678,24415 -#define R200_SE_VTX_STATE_CNTL 679,24464 -#define R200_RE_POINTSIZE 680,24513 -#define R200_SE_TCL_INPUT_VTX_VECTOR_ADDR_0 681,24562 -#define RADEON_PP_TEX_SIZE_0 683,24614 -#define RADEON_PP_TEX_SIZE_1 684,24677 -#define RADEON_PP_TEX_SIZE_2 685,24728 -#define SE_VAP_CNTL__TCL_ENA_MASK 688,24781 -#define SE_VAP_CNTL__FORCE_W_TO_ONE_MASK 689,24851 -#define SE_VAP_CNTL__VF_MAX_VTX_NUM__SHIFT 690,24921 -#define SE_VTE_CNTL__VTX_XY_FMT_MASK 691,24991 -#define SE_VTE_CNTL__VTX_Z_FMT_MASK 692,25061 -#define SE_VTX_FMT_0__VTX_Z0_PRESENT_MASK 693,25131 -#define SE_VTX_FMT_0__VTX_W0_PRESENT_MASK 694,25201 -#define SE_VTX_FMT_0__VTX_COLOR_0_FMT__SHIFT 695,25271 -#define R200_3D_DRAW_IMMD_2 696,25341 -#define R200_SE_VTX_FMT_1 697,25385 -#define R200_RE_CNTL 698,25434 -#define R200_RB3D_BLENDCOLOR 700,25485 -#define RADEON_MAX_USEC_TIMEOUT 703,25551 -#define RADEON_LAST_FRAME_REG 705,25605 -#define RADEON_LAST_DISPATCH_REG 706,25656 -#define RADEON_LAST_CLEAR_REG 707,25709 -#define RADEON_LAST_SWI_REG 708,25760 -#define RADEON_LAST_DISPATCH 709,25809 -#define RADEON_MAX_VB_AGE 711,25842 -#define RADEON_MAX_VB_VERTS 712,25880 -#define RADEON_RING_HIGH_MARK 714,25919 -#define RADEON_READ(RADEON_READ716,25955 -#define RADEON_WRITE(RADEON_WRITE717,26017 -#define RADEON_READ8(RADEON_READ8718,26091 -#define RADEON_WRITE8(RADEON_WRITE8719,26153 -#define RADEON_WRITE_PLL(RADEON_WRITE_PLL721,26228 -#define CP_PACKET0(CP_PACKET0731,26509 -#define CP_PACKET0_TABLE(CP_PACKET0_TABLE733,26595 -#define CP_PACKET1(CP_PACKET1735,26706 -#define CP_PACKET2(CP_PACKET2737,26806 -#define CP_PACKET3(CP_PACKET3739,26856 -#define RADEON_WAIT_UNTIL_2D_IDLE(RADEON_WAIT_UNTIL_2D_IDLE747,27042 -#define RADEON_WAIT_UNTIL_3D_IDLE(RADEON_WAIT_UNTIL_3D_IDLE753,27238 -#define RADEON_WAIT_UNTIL_IDLE(RADEON_WAIT_UNTIL_IDLE759,27434 -#define RADEON_WAIT_UNTIL_PAGE_FLIPPED(RADEON_WAIT_UNTIL_PAGE_FLIPPED766,27665 -#define RADEON_FLUSH_CACHE(RADEON_FLUSH_CACHE771,27824 -#define RADEON_PURGE_CACHE(RADEON_PURGE_CACHE776,27979 -#define RADEON_FLUSH_ZCACHE(RADEON_FLUSH_ZCACHE781,28138 -#define RADEON_PURGE_ZCACHE(RADEON_PURGE_ZCACHE786,28292 -#define RING_SPACE_TEST_WITH_RETURN(RING_SPACE_TEST_WITH_RETURN798,28583 -#define VB_AGE_TEST_WITH_RETURN(VB_AGE_TEST_WITH_RETURN807,28868 -#define RADEON_DISPATCH_AGE(RADEON_DISPATCH_AGE818,29233 -#define RADEON_FRAME_AGE(RADEON_FRAME_AGE823,29376 -#define RADEON_CLEAR_AGE(RADEON_CLEAR_AGE828,29513 -#define RADEON_VERBOSE 838,29740 -#define RING_LOCALS 840,29766 -#define BEGIN_RING(BEGIN_RING842,29833 -#define ADVANCE_RING(ADVANCE_RING857,30325 -#define COMMIT_RING(COMMIT_RING871,30777 -#define OUT_RING(OUT_RING880,31075 -#define OUT_RING_REG(OUT_RING_REG889,31307 -#define OUT_RING_USER_TABLE(OUT_RING_USER_TABLE895,31430 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_lock.h,87 -int DRM(39,1530 -int DRM(55,1916 -int DRM(93,2884 -int DRM(118,3421 -int DRM(150,4340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/gamma_dma.c,1110 -static inline void gamma_dma_dispatch(41,1653 -void gamma_dma_quiescent_single(58,2062 -void gamma_dma_quiescent_dual(77,2501 -void gamma_dma_ready(104,3173 -static inline int gamma_dma_is_ready(112,3347 -irqreturn_t gamma_driver_irq_handler(119,3525 -static int gamma_do_dma(152,4451 -static void gamma_dma_timer_bh(260,7074 -void gamma_irq_immediate_bh(265,7174 -int gamma_dma_schedule(270,7247 -static int gamma_dma_priority(337,8789 -static int gamma_dma_send_buffers(501,13144 -int gamma_dma(561,14679 -static int gamma_do_init_dma(611,15986 -int gamma_do_cleanup_dma(688,18012 -int gamma_dma_init(713,18623 -static int gamma_do_copy_dma(735,19134 -int gamma_dma_copy(784,20663 -int gamma_getsareactx(801,21104 -int gamma_setsareactx(828,21761 -void gamma_driver_irq_preinstall(869,22722 -void gamma_driver_irq_postinstall(880,23014 -void gamma_driver_irq_uninstall(892,23358 -static int gamma_driver_preinit(908,23766 -static void gamma_driver_pretakedown(915,23928 -static void gamma_driver_dma_ready(920,24017 -static int gamma_driver_dma_quiescent(925,24099 -void gamma_driver_register_fns(935,24351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128_drv.h,8715 -#define __R128_DRV_H__35,1624 -#define GET_RING_HEAD(GET_RING_HEAD37,1648 -typedef struct drm_r128_freelist drm_r128_freelist39,1719 -} drm_r128_freelist_t;drm_r128_freelist_t44,1868 -typedef struct drm_r128_ring_buffer drm_r128_ring_buffer46,1892 -} drm_r128_ring_buffer_t;drm_r128_ring_buffer_t57,2038 -typedef struct drm_r128_private drm_r128_private59,2065 -} drm_r128_private_t;drm_r128_private_t104,2975 -typedef struct drm_r128_buf_priv drm_r128_buf_priv106,2998 -} drm_r128_buf_priv_t;drm_r128_buf_priv_t112,3122 -#define R128_AUX_SC_CNTL 156,4794 -# define R128_AUX1_SC_EN 157,4827 -# define R128_AUX1_SC_MODE_OR 158,4863 -# define R128_AUX1_SC_MODE_NAND 159,4903 -# define R128_AUX2_SC_EN 160,4945 -# define R128_AUX2_SC_MODE_OR 161,4981 -# define R128_AUX2_SC_MODE_NAND 162,5021 -# define R128_AUX3_SC_EN 163,5063 -# define R128_AUX3_SC_MODE_OR 164,5099 -# define R128_AUX3_SC_MODE_NAND 165,5139 -#define R128_AUX1_SC_LEFT 166,5181 -#define R128_AUX1_SC_RIGHT 167,5215 -#define R128_AUX1_SC_TOP 168,5250 -#define R128_AUX1_SC_BOTTOM 169,5283 -#define R128_AUX2_SC_LEFT 170,5319 -#define R128_AUX2_SC_RIGHT 171,5353 -#define R128_AUX2_SC_TOP 172,5388 -#define R128_AUX2_SC_BOTTOM 173,5421 -#define R128_AUX3_SC_LEFT 174,5457 -#define R128_AUX3_SC_RIGHT 175,5491 -#define R128_AUX3_SC_TOP 176,5526 -#define R128_AUX3_SC_BOTTOM 177,5559 -#define R128_BRUSH_DATA0 179,5596 -#define R128_BUS_CNTL 180,5629 -# define R128_BUS_MASTER_DIS 181,5660 -#define R128_CLOCK_CNTL_INDEX 183,5700 -#define R128_CLOCK_CNTL_DATA 184,5738 -# define R128_PLL_WR_EN 185,5775 -#define R128_CONSTANT_COLOR_C 186,5810 -#define R128_CRTC_OFFSET 187,5848 -#define R128_CRTC_OFFSET_CNTL 188,5881 -# define R128_CRTC_OFFSET_FLIP_CNTL 189,5919 -#define R128_DP_GUI_MASTER_CNTL 191,5966 -# define R128_GMC_SRC_PITCH_OFFSET_CNTL 192,6006 -# define R128_GMC_DST_PITCH_OFFSET_CNTL 193,6065 -# define R128_GMC_BRUSH_SOLID_COLOR 194,6124 -# define R128_GMC_BRUSH_NONE 195,6173 -# define R128_GMC_DST_16BPP 196,6216 -# define R128_GMC_DST_24BPP 197,6258 -# define R128_GMC_DST_32BPP 198,6300 -# define R128_GMC_DST_DATATYPE_SHIFT 199,6342 -# define R128_GMC_SRC_DATATYPE_COLOR 200,6387 -# define R128_DP_SRC_SOURCE_MEMORY 201,6437 -# define R128_DP_SRC_SOURCE_HOST_DATA 202,6485 -# define R128_GMC_CLR_CMP_CNTL_DIS 203,6536 -# define R128_GMC_AUX_CLIP_DIS 204,6584 -# define R128_GMC_WR_MSK_DIS 205,6629 -# define R128_ROP3_S 206,6672 -# define R128_ROP3_P 207,6706 -#define R128_DP_WRITE_MASK 208,6740 -#define R128_DST_PITCH_OFFSET_C 209,6775 -# define R128_DST_TILE 210,6815 -#define R128_GEN_INT_CNTL 212,6851 -# define R128_CRTC_VBLANK_INT_EN 213,6885 -#define R128_GEN_INT_STATUS 214,6929 -# define R128_CRTC_VBLANK_INT 215,6965 -# define R128_CRTC_VBLANK_INT_AK 216,7006 -#define R128_GEN_RESET_CNTL 217,7050 -# define R128_SOFT_RESET_GUI 218,7086 -#define R128_GUI_SCRATCH_REG0 220,7127 -#define R128_GUI_SCRATCH_REG1 221,7165 -#define R128_GUI_SCRATCH_REG2 222,7203 -#define R128_GUI_SCRATCH_REG3 223,7241 -#define R128_GUI_SCRATCH_REG4 224,7279 -#define R128_GUI_SCRATCH_REG5 225,7317 -#define R128_GUI_STAT 227,7356 -# define R128_GUI_FIFOCNT_MASK 228,7387 -# define R128_GUI_ACTIVE 229,7426 -#define R128_MCLK_CNTL 231,7464 -# define R128_FORCE_GCP 232,7496 -# define R128_FORCE_PIPE3D_CP 233,7532 -# define R128_FORCE_RCP 234,7573 -#define R128_PC_GUI_CTLSTAT 236,7610 -#define R128_PC_NGUI_CTLSTAT 237,7646 -# define R128_PC_FLUSH_GUI 238,7683 -# define R128_PC_RI_GUI 239,7720 -# define R128_PC_FLUSH_ALL 240,7755 -# define R128_PC_BUSY 241,7790 -#define R128_PCI_GART_PAGE 243,7825 -#define R128_PRIM_TEX_CNTL_C 244,7860 -#define R128_SCALE_3D_CNTL 246,7898 -#define R128_SEC_TEX_CNTL_C 247,7933 -#define R128_SEC_TEXTURE_BORDER_COLOR_C 248,7969 -#define R128_SETUP_CNTL 249,8016 -#define R128_STEN_REF_MASK_C 250,8049 -#define R128_TEX_CNTL_C 252,8087 -# define R128_TEX_CACHE_FLUSH 253,8120 -#define R128_WAIT_UNTIL 255,8162 -# define R128_EVENT_CRTC_OFFSET 256,8195 -#define R128_WINDOW_XY_OFFSET 257,8237 -#define R128_PM4_BUFFER_OFFSET 262,8298 -#define R128_PM4_BUFFER_CNTL 263,8337 -# define R128_PM4_MASK 264,8374 -# define R128_PM4_NONPM4 265,8410 -# define R128_PM4_192PIO 266,8448 -# define R128_PM4_192BM 267,8486 -# define R128_PM4_128PIO_64INDBM 268,8523 -# define R128_PM4_128BM_64INDBM 269,8568 -# define R128_PM4_64PIO_128INDBM 270,8612 -# define R128_PM4_64BM_128INDBM 271,8657 -# define R128_PM4_64PIO_64VCBM_64INDBM 272,8701 -# define R128_PM4_64BM_64VCBM_64INDBM 273,8751 -# define R128_PM4_64PIO_64VCPIO_64INDPIO 274,8800 -# define R128_PM4_BUFFER_CNTL_NOUPDATE 275,8852 -#define R128_PM4_BUFFER_WM_CNTL 277,8903 -# define R128_WMA_SHIFT 278,8943 -# define R128_WMB_SHIFT 279,8971 -# define R128_WMC_SHIFT 280,8999 -# define R128_WB_WM_SHIFT 281,9028 -#define R128_PM4_BUFFER_DL_RPTR_ADDR 283,9060 -#define R128_PM4_BUFFER_DL_RPTR 284,9104 -#define R128_PM4_BUFFER_DL_WPTR 285,9144 -# define R128_PM4_BUFFER_DL_DONE 286,9184 -#define R128_PM4_VC_FPU_SETUP 288,9229 -#define R128_PM4_IW_INDOFF 290,9268 -#define R128_PM4_IW_INDSIZE 291,9303 -#define R128_PM4_STAT 293,9340 -# define R128_PM4_FIFOCNT_MASK 294,9371 -# define R128_PM4_BUSY 295,9410 -# define R128_PM4_GUI_ACTIVE 296,9445 -#define R128_PM4_MICROCODE_ADDR 298,9486 -#define R128_PM4_MICROCODE_RADDR 299,9526 -#define R128_PM4_MICROCODE_DATAH 300,9566 -#define R128_PM4_MICROCODE_DATAL 301,9606 -#define R128_PM4_BUFFER_ADDR 303,9647 -#define R128_PM4_MICRO_CNTL 304,9684 -# define R128_PM4_MICRO_FREERUN 305,9720 -#define R128_PM4_FIFO_DATA_EVEN 307,9764 -#define R128_PM4_FIFO_DATA_ODD 308,9804 -#define R128_CCE_PACKET0 313,9872 -#define R128_CCE_PACKET1 314,9909 -#define R128_CCE_PACKET2 315,9946 -#define R128_CCE_PACKET3 316,9983 -# define R128_CNTL_HOSTDATA_BLT 317,10020 -# define R128_CNTL_PAINT_MULTI 318,10064 -# define R128_CNTL_BITBLT_MULTI 319,10107 -# define R128_3D_RNDR_GEN_INDX_PRIM 320,10151 -#define R128_CCE_PACKET_MASK 322,10199 -#define R128_CCE_PACKET_COUNT_MASK 323,10240 -#define R128_CCE_PACKET0_REG_MASK 324,10286 -#define R128_CCE_PACKET1_REG0_MASK 325,10331 -#define R128_CCE_PACKET1_REG1_MASK 326,10377 -#define R128_CCE_VC_CNTL_PRIM_TYPE_NONE 328,10424 -#define R128_CCE_VC_CNTL_PRIM_TYPE_POINT 329,10476 -#define R128_CCE_VC_CNTL_PRIM_TYPE_LINE 330,10528 -#define R128_CCE_VC_CNTL_PRIM_TYPE_POLY_LINE 331,10580 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_LIST 332,10636 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_FAN 333,10691 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_STRIP 334,10745 -#define R128_CCE_VC_CNTL_PRIM_TYPE_TRI_TYPE2 335,10801 -#define R128_CCE_VC_CNTL_PRIM_WALK_IND 336,10857 -#define R128_CCE_VC_CNTL_PRIM_WALK_LIST 337,10908 -#define R128_CCE_VC_CNTL_PRIM_WALK_RING 338,10960 -#define R128_CCE_VC_CNTL_NUM_SHIFT 339,11012 -#define R128_DATATYPE_VQ 341,11052 -#define R128_DATATYPE_CI4 342,11080 -#define R128_DATATYPE_CI8 343,11109 -#define R128_DATATYPE_ARGB1555 344,11138 -#define R128_DATATYPE_RGB565 345,11172 -#define R128_DATATYPE_RGB888 346,11204 -#define R128_DATATYPE_ARGB8888 347,11236 -#define R128_DATATYPE_RGB332 348,11270 -#define R128_DATATYPE_Y8 349,11302 -#define R128_DATATYPE_RGB8 350,11330 -#define R128_DATATYPE_CI16 351,11360 -#define R128_DATATYPE_YVYU422 352,11391 -#define R128_DATATYPE_VYUY422 353,11425 -#define R128_DATATYPE_AYUV444 354,11459 -#define R128_DATATYPE_ARGB4444 355,11493 -#define R128_AGP_OFFSET 358,11545 -#define R128_WATERMARK_L 360,11583 -#define R128_WATERMARK_M 361,11612 -#define R128_WATERMARK_N 362,11640 -#define R128_WATERMARK_K 363,11668 -#define R128_MAX_USEC_TIMEOUT 365,11699 -#define R128_LAST_FRAME_REG 367,11751 -#define R128_LAST_DISPATCH_REG 368,11802 -#define R128_MAX_VB_AGE 369,11856 -#define R128_MAX_VB_VERTS 370,11893 -#define R128_RING_HIGH_MARK 372,11930 -#define R128_PERFORMANCE_BOXES 374,11964 -#define R128_READ(R128_READ376,11999 -#define R128_WRITE(R128_WRITE377,12060 -#define R128_READ8(R128_READ8378,12132 -#define R128_WRITE8(R128_WRITE8379,12194 -#define R128_WRITE_PLL(R128_WRITE_PLL381,12268 -#define CCE_PACKET0(CCE_PACKET0391,12524 -#define CCE_PACKET1(CCE_PACKET1393,12612 -#define CCE_PACKET2(CCE_PACKET2395,12714 -#define CCE_PACKET3(CCE_PACKET3396,12757 -r128_update_ring_snapshot(401,12863 -#define RING_SPACE_TEST_WITH_RETURN(RING_SPACE_TEST_WITH_RETURN413,13195 -#define VB_AGE_TEST_WITH_RETURN(VB_AGE_TEST_WITH_RETURN430,13721 -#define R128_WAIT_UNTIL_PAGE_FLIPPED(R128_WAIT_UNTIL_PAGE_FLIPPED441,14079 -#define R128_VERBOSE 451,14325 -#define RING_LOCALS 453,14349 -#define BEGIN_RING(BEGIN_RING456,14439 -#define R128_BROKEN_CCE 476,15181 -#define ADVANCE_RING(ADVANCE_RING478,15208 -#define COMMIT_RING(COMMIT_RING497,15817 -#define OUT_RING(OUT_RING507,16119 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drmP.h,5560 -#define _DRM_P_H_35,1469 -#define __OS_HAS_AGP 76,2534 -#define __OS_HAS_MTRR 77,2628 -#define DRIVER_USE_AGP 86,2880 -#define DRIVER_REQUIRE_AGP 87,2911 -#define DRIVER_USE_MTRR 88,2942 -#define DRIVER_PCI_DMA 89,2973 -#define DRIVER_SG 90,3004 -#define DRIVER_HAVE_DMA 91,3036 -#define DRIVER_HAVE_IRQ 92,3068 -#define DRIVER_IRQ_SHARED 93,3100 -#define DRIVER_IRQ_VBL 94,3132 -#define DRIVER_DMA_QUEUE 95,3165 -#define DRM_DEBUG_CODE 101,3311 -#define DRM_HASH_SIZE 104,3424 -#define DRM_KERNEL_CONTEXT 105,3507 -#define DRM_RESERVED_CONTEXTS 106,3577 -#define DRM_LOOPING_LIMIT 107,3647 -#define DRM_BSZ 108,3685 -#define DRM_TIME_SLICE 109,3754 -#define DRM_LOCK_SLICE 110,3827 -#define DRM_FLAG_DEBUG 112,3899 -#define DRM_MEM_DMA 114,3930 -#define DRM_MEM_SAREA 115,3955 -#define DRM_MEM_DRIVER 116,3982 -#define DRM_MEM_MAGIC 117,4010 -#define DRM_MEM_IOCTLS 118,4037 -#define DRM_MEM_MAPS 119,4065 -#define DRM_MEM_VMAS 120,4091 -#define DRM_MEM_BUFS 121,4117 -#define DRM_MEM_SEGS 122,4143 -#define DRM_MEM_PAGES 123,4169 -#define DRM_MEM_FILES 124,4196 -#define DRM_MEM_QUEUES 125,4223 -#define DRM_MEM_CMDS 126,4251 -#define DRM_MEM_MAPPINGS 127,4277 -#define DRM_MEM_BUFLISTS 128,4306 -#define DRM_MEM_AGPLISTS 129,4335 -#define DRM_MEM_TOTALAGP 130,4364 -#define DRM_MEM_BOUNDAGP 131,4393 -#define DRM_MEM_CTXBITMAP 132,4422 -#define DRM_MEM_STUB 133,4451 -#define DRM_MEM_SGLISTS 134,4480 -#define DRM_MEM_CTXLIST 135,4509 -#define DRM_MAX_CTXBITMAP 137,4538 -#define MODULE_LICENSE(MODULE_LICENSE147,4740 -#define preempt_disable(preempt_disable151,4799 -#define preempt_enable(preempt_enable152,4825 -#define pte_offset_map 156,4882 -#define pte_unmap(pte_unmap157,4916 -static inline struct page * vmalloc_to_page(161,4995 -#define DRM_RPR_ARG(DRM_RPR_ARG186,5535 -#define DRM_RPR_ARG(DRM_RPR_ARG188,5566 -#define VM_OFFSET(VM_OFFSET191,5604 -#define DRM_ERROR(DRM_ERROR206,5888 -#define DRM_MEM_ERROR(DRM_MEM_ERROR216,6151 -#define DRM_INFO(DRM_INFO219,6308 -#define DRM_DEBUG(DRM_DEBUG228,6503 -#define DRM_DEBUG(DRM_DEBUG236,6718 -#define DRM_PROC_LIMIT 239,6776 -#define DRM_PROC_PRINT(DRM_PROC_PRINT241,6815 -#define DRM_PROC_PRINT_RET(DRM_PROC_PRINT_RET245,6970 -#define DRM_ARRAY_SIZE(DRM_ARRAY_SIZE256,7272 -#define DRM_MIN(DRM_MIN257,7323 -#define DRM_MAX(DRM_MAX258,7362 -#define DRM_LEFTCOUNT(DRM_LEFTCOUNT260,7402 -#define DRM_BUFCOUNT(DRM_BUFCOUNT261,7481 -#define DRM_WAITCOUNT(DRM_WAITCOUNT262,7537 -#define DRM_IF_VERSION(DRM_IF_VERSION264,7614 -#define DRM_GET_PRIV_SAREA(DRM_GET_PRIV_SAREA272,7799 -#define LOCK_TEST_WITH_RETURN(LOCK_TEST_WITH_RETURN282,8061 -typedef int drm_ioctl_t(drm_ioctl_t300,8487 -typedef struct drm_ioctl_desc drm_ioctl_desc303,8596 -} drm_ioctl_desc_t;drm_ioctl_desc_t307,8699 -typedef struct drm_devstate drm_devstate309,8720 -} drm_devstate_t;drm_devstate_t311,8803 -typedef struct drm_magic_entry drm_magic_entry313,8822 -} drm_magic_entry_t;drm_magic_entry_t317,8944 -typedef struct drm_magic_head drm_magic_head319,8966 -} drm_magic_head_t;drm_magic_head_t322,9060 -typedef struct drm_vma_entry drm_vma_entry324,9081 -} drm_vma_entry_t;drm_vma_entry_t328,9190 -typedef struct drm_buf drm_buf333,9233 - DRM_LIST_NONE 349,10089 - DRM_LIST_FREE 350,10111 - DRM_LIST_WAIT 351,10133 - DRM_LIST_PEND 352,10155 - DRM_LIST_PRIO 353,10177 - DRM_LIST_RECLAIM 354,10199 -} drm_buf_t;drm_buf_t359,10391 -typedef struct drm_waitlist drm_waitlist363,10450 -} drm_waitlist_t;drm_waitlist_t371,10761 -typedef struct drm_freelist drm_freelist373,10780 -} drm_freelist_t;drm_freelist_t383,11200 -typedef struct drm_buf_entry drm_buf_entry388,11294 -} drm_buf_entry_t;drm_buf_entry_t397,11539 -typedef struct drm_file drm_file400,11584 -} drm_file_t;drm_file_t413,11902 -typedef struct drm_queue drm_queue416,11935 -} drm_queue_t;drm_queue_t432,12763 -typedef struct drm_lock_data drm_lock_data437,12801 -} drm_lock_data_t;drm_lock_data_t442,13083 -typedef struct drm_device_dma drm_device_dma447,13124 - _DRM_DMA_USE_AGP 457,13518 - _DRM_DMA_USE_AGP = 0x01,457,13518 - _DRM_DMA_USE_SG 458,13545 - _DRM_DMA_USE_SG = 0x02458,13545 -} drm_device_dma_t;drm_device_dma_t461,13582 -typedef struct drm_agp_mem drm_agp_mem466,13666 -} drm_agp_mem_t;drm_agp_mem_t473,13934 -typedef struct drm_agp_head drm_agp_head480,14020 -} drm_agp_head_t;drm_agp_head_t490,14464 -typedef struct drm_sg_mem drm_sg_mem495,14517 -} drm_sg_mem_t;drm_sg_mem_t501,14672 -typedef struct drm_sigdata drm_sigdata503,14689 -} drm_sigdata_t;drm_sigdata_t506,14764 -typedef struct drm_map_list drm_map_list511,14807 -} drm_map_list_t;drm_map_list_t514,14913 -typedef drm_map_t drm_local_map_t;drm_local_map_t516,14932 -typedef struct drm_ctx_list drm_ctx_list521,14999 -} drm_ctx_list_t;drm_ctx_list_t525,15176 -typedef struct drm_vbl_sig drm_vbl_sig528,15196 -} drm_vbl_sig_t;drm_vbl_sig_t533,15324 -struct drm_driver_fn drm_driver_fn541,15406 -typedef struct drm_device drm_device572,16814 -} drm_device_t;drm_device_t700,21382 -static __inline__ int drm_core_check_feature(702,21399 -static inline int drm_core_has_AGP(708,21555 -#define drm_core_has_AGP(drm_core_has_AGP713,21678 -static inline int drm_core_has_MTRR(717,21738 -#define drm_core_has_MTRR(drm_core_has_MTRR722,21863 -static __inline__ void drm_core_ioremap(955,33197 -static __inline__ void drm_core_ioremap_nocache(960,33347 -static __inline__ void drm_core_ioremapfree(965,33511 -static __inline__ struct drm_map *drm_core_findmap(971,33689 -static __inline__ void drm_core_dropmap(984,34041 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915_drm.h,2477 -#define _I915_DRM_H_2,21 -#define I915_NR_TEX_REGIONS 12,258 -#define I915_LOG_MIN_TEX_REGION_SIZE 14,369 -typedef struct _drm_i915_init _drm_i915_init16,410 - I915_INIT_DMA 18,450 - I915_INIT_DMA = 0x01,18,450 - I915_CLEANUP_DMA 19,474 - I915_CLEANUP_DMA = 0x02,19,474 - I915_RESUME_DMA 20,501 - I915_RESUME_DMA = 0x0320,501 -} drm_i915_init_t;drm_i915_init_t38,920 -typedef struct _drm_i915_sarea _drm_i915_sarea40,940 -} drm_i915_sarea_t;drm_i915_sarea_t51,1454 -#define I915_BOX_RING_EMPTY 55,1503 -#define I915_BOX_FLIP 56,1538 -#define I915_BOX_WAIT 57,1573 -#define I915_BOX_TEXTURE_LOAD 58,1608 -#define I915_BOX_LOST_CONTEXT 59,1643 -#define DRM_IOCTL_I915_INIT 64,1760 -#define DRM_IOCTL_I915_FLUSH 65,1821 -#define DRM_IOCTL_I915_FLIP 66,1866 -#define DRM_IOCTL_I915_BATCHBUFFER 67,1910 -#define DRM_IOCTL_I915_IRQ_EMIT 68,1984 -#define DRM_IOCTL_I915_IRQ_WAIT 69,2060 -#define DRM_IOCTL_I915_GETPARAM 70,2136 -#define DRM_IOCTL_I915_SETPARAM 71,2212 -#define DRM_IOCTL_I915_ALLOC 72,2288 -#define DRM_IOCTL_I915_FREE 73,2365 -#define DRM_IOCTL_I915_INIT_HEAP 74,2441 -#define DRM_IOCTL_I915_CMDBUFFER 75,2522 -typedef struct _drm_i915_batchbuffer _drm_i915_batchbuffer80,2719 -} drm_i915_batchbuffer_t;drm_i915_batchbuffer_t87,3063 -typedef struct _drm_i915_cmdbuffer _drm_i915_cmdbuffer92,3216 -} drm_i915_cmdbuffer_t;drm_i915_cmdbuffer_t99,3588 -typedef struct drm_i915_irq_emit drm_i915_irq_emit103,3659 -} drm_i915_irq_emit_t;drm_i915_irq_emit_t105,3716 -typedef struct drm_i915_irq_wait drm_i915_irq_wait107,3740 -} drm_i915_irq_wait_t;drm_i915_irq_wait_t109,3789 -#define I915_PARAM_IRQ_ACTIVE 113,3850 -#define I915_PARAM_ALLOW_BATCHBUFFER 114,3893 -typedef struct drm_i915_getparam drm_i915_getparam116,3937 -} drm_i915_getparam_t;drm_i915_getparam_t119,4004 -#define I915_SETPARAM_USE_MI_BATCHBUFFER_START 123,4063 -#define I915_SETPARAM_TEX_LRU_LOG_GRANULARITY 124,4123 -#define I915_SETPARAM_ALLOW_BATCHBUFFER 125,4183 -typedef struct drm_i915_setparam drm_i915_setparam127,4244 -} drm_i915_setparam_t;drm_i915_setparam_t130,4303 -#define I915_MEM_REGION_AGP 134,4381 -typedef struct drm_i915_mem_alloc drm_i915_mem_alloc136,4412 -} drm_i915_mem_alloc_t;drm_i915_mem_alloc_t141,4553 -typedef struct drm_i915_mem_free drm_i915_mem_free143,4578 -} drm_i915_mem_free_t;drm_i915_mem_free_t146,4646 -typedef struct drm_i915_mem_init_heap drm_i915_mem_init_heap148,4670 -} drm_i915_mem_init_heap_t;drm_i915_mem_init_heap_t152,4746 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis_ds.c,473 -set_t *setInit(40,1562 -int setAdd(59,1911 -int setDel(77,2210 -int setFirst(107,2760 -int setNext(118,2939 -int setDestroy(129,3117 -#define ISFREE(ISFREE160,4387 -memHeap_t *mmInit(162,4424 -int mmBlockInHeap(181,4793 -memHeap_t *mmAddRange(200,5076 -static TMemBlock* SliceBlock(224,5627 -PMemBlock mmAllocMem(262,6481 -static __inline__ int Join2Blocks(292,7079 -int mmFreeMem(304,7322 -int mmReserveMem(329,7659 -int mmFreeReserved(349,8006 -void mmDestroy(373,8369 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128_drm.h,4581 -#define __R128_DRM_H__33,1531 -#define __R128_SAREA_DEFINES__39,1709 -#define R128_UPLOAD_CONTEXT 43,1804 -#define R128_UPLOAD_SETUP 44,1839 -#define R128_UPLOAD_TEX0 45,1872 -#define R128_UPLOAD_TEX1 46,1904 -#define R128_UPLOAD_TEX0IMAGES 47,1936 -#define R128_UPLOAD_TEX1IMAGES 48,1974 -#define R128_UPLOAD_CORE 49,2012 -#define R128_UPLOAD_MASKS 50,2044 -#define R128_UPLOAD_WINDOW 51,2077 -#define R128_UPLOAD_CLIPRECTS 52,2111 -#define R128_REQUIRE_QUIESCENCE 53,2174 -#define R128_UPLOAD_ALL 54,2213 -#define R128_FRONT 56,2246 -#define R128_BACK 57,2271 -#define R128_DEPTH 58,2295 -#define R128_POINTS 62,2344 -#define R128_LINES 63,2370 -#define R128_LINE_STRIP 64,2395 -#define R128_TRIANGLES 65,2425 -#define R128_TRIANGLE_FAN 66,2454 -#define R128_TRIANGLE_STRIP 67,2485 -#define R128_BUFFER_SIZE 71,2554 -#define R128_INDEX_PRIM_OFFSET 75,2632 -#define R128_HOSTDATA_BLIT_OFFSET 76,2667 -#define R128_NR_SAREA_CLIPRECTS 80,2742 -#define R128_LOCAL_TEX_HEAP 85,2912 -#define R128_AGP_TEX_HEAP 86,2943 -#define R128_NR_TEX_HEAPS 87,2972 -#define R128_NR_TEX_REGIONS 88,3001 -#define R128_LOG_TEX_GRANULARITY 89,3033 -#define R128_NR_CONTEXT_REGS 91,3070 -#define R128_MAX_TEXTURE_LEVELS 93,3104 -#define R128_MAX_TEXTURE_UNITS 94,3140 -} drm_r128_context_regs_t;drm_r128_context_regs_t131,4038 -} drm_r128_texture_regs_t;drm_r128_texture_regs_t141,4297 -typedef struct drm_r128_sarea drm_r128_sarea144,4326 -} drm_r128_sarea_t;drm_r128_sarea_t169,5143 -#define DRM_R128_INIT 179,5373 -#define DRM_R128_CCE_START 180,5406 -#define DRM_R128_CCE_STOP 181,5439 -#define DRM_R128_CCE_RESET 182,5472 -#define DRM_R128_CCE_IDLE 183,5505 -#define DRM_R128_RESET 185,5558 -#define DRM_R128_SWAP 186,5591 -#define DRM_R128_CLEAR 187,5624 -#define DRM_R128_VERTEX 188,5657 -#define DRM_R128_INDICES 189,5690 -#define DRM_R128_BLIT 190,5723 -#define DRM_R128_DEPTH 191,5756 -#define DRM_R128_STIPPLE 192,5789 -#define DRM_R128_INDIRECT 194,5842 -#define DRM_R128_FULLSCREEN 195,5875 -#define DRM_R128_CLEAR2 196,5908 -#define DRM_R128_GETPARAM 197,5941 -#define DRM_R128_FLIP 198,5974 -#define DRM_IOCTL_R128_INIT 200,6008 -#define DRM_IOCTL_R128_CCE_START 201,6102 -#define DRM_IOCTL_R128_CCE_STOP 202,6184 -#define DRM_IOCTL_R128_CCE_RESET 203,6286 -#define DRM_IOCTL_R128_CCE_IDLE 204,6368 -#define DRM_IOCTL_R128_RESET 206,6469 -#define DRM_IOCTL_R128_SWAP 207,6547 -#define DRM_IOCTL_R128_CLEAR 208,6624 -#define DRM_IOCTL_R128_VERTEX 209,6720 -#define DRM_IOCTL_R128_INDICES 210,6818 -#define DRM_IOCTL_R128_BLIT 211,6918 -#define DRM_IOCTL_R128_DEPTH 212,7012 -#define DRM_IOCTL_R128_STIPPLE 213,7108 -#define DRM_IOCTL_R128_INDIRECT 215,7228 -#define DRM_IOCTL_R128_FULLSCREEN 216,7330 -#define DRM_IOCTL_R128_CLEAR2 217,7436 -#define DRM_IOCTL_R128_GETPARAM 218,7534 -#define DRM_IOCTL_R128_FLIP 219,7636 -typedef struct drm_r128_init drm_r128_init221,7714 - R128_INIT_CCE 223,7753 - R128_INIT_CCE = 0x01,223,7753 - R128_CLEANUP_CCE 224,7780 - R128_CLEANUP_CCE = 0x02224,7780 -} drm_r128_init_t;drm_r128_init_t259,8642 -typedef struct drm_r128_cce_stop drm_r128_cce_stop261,8662 -} drm_r128_cce_stop_t;drm_r128_cce_stop_t264,8720 -typedef struct drm_r128_clear drm_r128_clear266,8744 -} drm_r128_clear_t;drm_r128_clear_t277,9043 -typedef struct drm_r128_vertex drm_r128_vertex279,9064 -} drm_r128_vertex_t;drm_r128_vertex_t284,9249 -typedef struct drm_r128_indices drm_r128_indices286,9271 -} drm_r128_indices_t;drm_r128_indices_t292,9399 -typedef struct drm_r128_blit drm_r128_blit294,9422 -} drm_r128_blit_t;drm_r128_blit_t301,9554 -typedef struct drm_r128_depth drm_r128_depth303,9574 - R128_WRITE_SPAN 305,9614 - R128_WRITE_SPAN = 0x01,305,9614 - R128_WRITE_PIXELS 306,9641 - R128_WRITE_PIXELS = 0x02,306,9641 - R128_READ_SPAN 307,9669 - R128_READ_SPAN = 0x03,307,9669 - R128_READ_PIXELS 308,9695 - R128_READ_PIXELS = 0x04308,9695 -} drm_r128_depth_t;drm_r128_depth_t315,9829 -typedef struct drm_r128_stipple drm_r128_stipple317,9850 -} drm_r128_stipple_t;drm_r128_stipple_t319,9912 -typedef struct drm_r128_indirect drm_r128_indirect321,9935 -} drm_r128_indirect_t;drm_r128_indirect_t326,10016 -typedef struct drm_r128_fullscreen drm_r128_fullscreen328,10040 - R128_INIT_FULLSCREEN 330,10085 - R128_INIT_FULLSCREEN = 0x01,330,10085 - R128_CLEANUP_FULLSCREEN 331,10119 - R128_CLEANUP_FULLSCREEN = 0x02331,10119 -} drm_r128_fullscreen_t;drm_r128_fullscreen_t333,10161 -#define R128_PARAM_IRQ_NR 338,10285 -typedef struct drm_r128_getparam drm_r128_getparam340,10325 -} drm_r128_getparam_t;drm_r128_getparam_t343,10393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915.h,313 -#define __I915_H__11,338 -#define DRM(DRM15,415 -#define DRIVER_AUTHOR 20,471 -#define DRIVER_NAME 22,521 -#define DRIVER_DESC 23,549 -#define DRIVER_DATE 24,587 -#define DRIVER_MAJOR 30,667 -#define DRIVER_MINOR 31,691 -#define DRIVER_PATCHLEVEL 32,715 -#define DRIVER_IOCTLS 34,744 -#define __HAVE_PM 51,1776 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/radeon_drm.h,11688 -#define __RADEON_DRM_H__34,1580 -#define __RADEON_SAREA_DEFINES__40,1764 -#define RADEON_UPLOAD_CONTEXT 45,1908 -#define RADEON_UPLOAD_VERTFMT 46,1950 -#define RADEON_UPLOAD_LINE 47,1992 -#define RADEON_UPLOAD_BUMPMAP 48,2031 -#define RADEON_UPLOAD_MASKS 49,2073 -#define RADEON_UPLOAD_VIEWPORT 50,2113 -#define RADEON_UPLOAD_SETUP 51,2156 -#define RADEON_UPLOAD_TCL 52,2196 -#define RADEON_UPLOAD_MISC 53,2234 -#define RADEON_UPLOAD_TEX0 54,2273 -#define RADEON_UPLOAD_TEX1 55,2312 -#define RADEON_UPLOAD_TEX2 56,2351 -#define RADEON_UPLOAD_TEX0IMAGES 57,2390 -#define RADEON_UPLOAD_TEX1IMAGES 58,2434 -#define RADEON_UPLOAD_TEX2IMAGES 59,2478 -#define RADEON_UPLOAD_CLIPRECTS 60,2522 -#define RADEON_REQUIRE_QUIESCENCE 61,2592 -#define RADEON_UPLOAD_ZBIAS 62,2637 -#define RADEON_UPLOAD_ALL 63,2705 -#define RADEON_UPLOAD_CONTEXT_ALL 64,2743 -#define RADEON_EMIT_PP_MISC 71,2975 -#define RADEON_EMIT_PP_CNTL 72,3045 -#define RADEON_EMIT_RB3D_COLORPITCH 73,3115 -#define RADEON_EMIT_RE_LINE_PATTERN 74,3185 -#define RADEON_EMIT_SE_LINE_WIDTH 75,3252 -#define RADEON_EMIT_PP_LUM_MATRIX 76,3319 -#define RADEON_EMIT_PP_ROT_MATRIX_0 77,3389 -#define RADEON_EMIT_RB3D_STENCILREFMASK 78,3459 -#define RADEON_EMIT_SE_VPORT_XSCALE 79,3527 -#define RADEON_EMIT_SE_CNTL 80,3598 -#define RADEON_EMIT_SE_CNTL_STATUS 81,3666 -#define RADEON_EMIT_RE_MISC 82,3735 -#define RADEON_EMIT_PP_TXFILTER_0 83,3803 -#define RADEON_EMIT_PP_BORDER_COLOR_0 84,3871 -#define RADEON_EMIT_PP_TXFILTER_1 85,3939 -#define RADEON_EMIT_PP_BORDER_COLOR_1 86,4007 -#define RADEON_EMIT_PP_TXFILTER_2 87,4075 -#define RADEON_EMIT_PP_BORDER_COLOR_2 88,4143 -#define RADEON_EMIT_SE_ZBIAS_FACTOR 89,4211 -#define RADEON_EMIT_SE_TCL_OUTPUT_VTX_FMT 90,4280 -#define RADEON_EMIT_SE_TCL_MATERIAL_EMMISSIVE_RED 91,4348 -#define R200_EMIT_PP_TXCBLEND_0 92,4421 -#define R200_EMIT_PP_TXCBLEND_1 93,4489 -#define R200_EMIT_PP_TXCBLEND_2 94,4557 -#define R200_EMIT_PP_TXCBLEND_3 95,4625 -#define R200_EMIT_PP_TXCBLEND_4 96,4693 -#define R200_EMIT_PP_TXCBLEND_5 97,4761 -#define R200_EMIT_PP_TXCBLEND_6 98,4829 -#define R200_EMIT_PP_TXCBLEND_7 99,4893 -#define R200_EMIT_TCL_LIGHT_MODEL_CTL_0 100,4957 -#define R200_EMIT_TFACTOR_0 101,5024 -#define R200_EMIT_VTX_FMT_0 102,5090 -#define R200_EMIT_VAP_CTL 103,5157 -#define R200_EMIT_MATRIX_SELECT_0 104,5224 -#define R200_EMIT_TEX_PROC_CTL_2 105,5291 -#define R200_EMIT_TCL_UCP_VERT_BLEND_CTL 106,5358 -#define R200_EMIT_PP_TXFILTER_0 107,5425 -#define R200_EMIT_PP_TXFILTER_1 108,5493 -#define R200_EMIT_PP_TXFILTER_2 109,5561 -#define R200_EMIT_PP_TXFILTER_3 110,5629 -#define R200_EMIT_PP_TXFILTER_4 111,5697 -#define R200_EMIT_PP_TXFILTER_5 112,5765 -#define R200_EMIT_PP_TXOFFSET_0 113,5833 -#define R200_EMIT_PP_TXOFFSET_1 114,5901 -#define R200_EMIT_PP_TXOFFSET_2 115,5969 -#define R200_EMIT_PP_TXOFFSET_3 116,6037 -#define R200_EMIT_PP_TXOFFSET_4 117,6105 -#define R200_EMIT_PP_TXOFFSET_5 118,6173 -#define R200_EMIT_VTE_CNTL 119,6241 -#define R200_EMIT_OUTPUT_VTX_COMP_SEL 120,6308 -#define R200_EMIT_PP_TAM_DEBUG3 121,6375 -#define R200_EMIT_PP_CNTL_X 122,6442 -#define R200_EMIT_RB3D_DEPTHXY_OFFSET 123,6509 -#define R200_EMIT_RE_AUX_SCISSOR_CNTL 124,6576 -#define R200_EMIT_RE_SCISSOR_TL_0 125,6643 -#define R200_EMIT_RE_SCISSOR_TL_1 126,6710 -#define R200_EMIT_RE_SCISSOR_TL_2 127,6777 -#define R200_EMIT_SE_VAP_CNTL_STATUS 128,6844 -#define R200_EMIT_SE_VTX_STATE_CNTL 129,6911 -#define R200_EMIT_RE_POINTSIZE 130,6978 -#define R200_EMIT_TCL_INPUT_VTX_VECTOR_ADDR_0 131,7045 -#define R200_EMIT_PP_CUBIC_FACES_0 132,7112 -#define R200_EMIT_PP_CUBIC_OFFSETS_0 133,7167 -#define R200_EMIT_PP_CUBIC_FACES_1 134,7222 -#define R200_EMIT_PP_CUBIC_OFFSETS_1 135,7277 -#define R200_EMIT_PP_CUBIC_FACES_2 136,7332 -#define R200_EMIT_PP_CUBIC_OFFSETS_2 137,7387 -#define R200_EMIT_PP_CUBIC_FACES_3 138,7442 -#define R200_EMIT_PP_CUBIC_OFFSETS_3 139,7497 -#define R200_EMIT_PP_CUBIC_FACES_4 140,7552 -#define R200_EMIT_PP_CUBIC_OFFSETS_4 141,7607 -#define R200_EMIT_PP_CUBIC_FACES_5 142,7662 -#define R200_EMIT_PP_CUBIC_OFFSETS_5 143,7717 -#define RADEON_EMIT_PP_TEX_SIZE_0 144,7772 -#define RADEON_EMIT_PP_TEX_SIZE_1 145,7827 -#define RADEON_EMIT_PP_TEX_SIZE_2 146,7882 -#define R200_EMIT_RB3D_BLENDCOLOR 147,7937 -#define RADEON_MAX_STATE_PACKETS 148,7992 -#define RADEON_CMD_PACKET 154,8168 -#define RADEON_CMD_SCALARS 155,8246 -#define RADEON_CMD_VECTORS 156,8302 -#define RADEON_CMD_DMA_DISCARD 157,8358 -#define RADEON_CMD_PACKET3 158,8421 -#define RADEON_CMD_PACKET3_CLIP 159,8475 -#define RADEON_CMD_SCALARS2 160,8551 -#define RADEON_CMD_WAIT 161,8604 -} drm_radeon_cmd_header_t;drm_radeon_cmd_header_t186,9191 -#define RADEON_WAIT_2D 188,9219 -#define RADEON_WAIT_3D 189,9247 -#define RADEON_FRONT 192,9277 -#define RADEON_BACK 193,9304 -#define RADEON_DEPTH 194,9330 -#define RADEON_STENCIL 195,9357 -#define RADEON_POINTS 199,9425 -#define RADEON_LINES 200,9453 -#define RADEON_LINE_STRIP 201,9480 -#define RADEON_TRIANGLES 202,9511 -#define RADEON_TRIANGLE_FAN 203,9541 -#define RADEON_TRIANGLE_STRIP 204,9574 -#define RADEON_BUFFER_SIZE 208,9645 -#define RADEON_INDEX_PRIM_OFFSET 212,9725 -#define RADEON_SCRATCH_REG_OFFSET 214,9762 -#define RADEON_NR_SAREA_CLIPRECTS 216,9800 -#define RADEON_LOCAL_TEX_HEAP 221,9971 -#define RADEON_GART_TEX_HEAP 222,10004 -#define RADEON_NR_TEX_HEAPS 223,10036 -#define RADEON_NR_TEX_REGIONS 224,10067 -#define RADEON_LOG_TEX_GRANULARITY 225,10101 -#define RADEON_MAX_TEXTURE_LEVELS 227,10140 -#define RADEON_MAX_TEXTURE_UNITS 228,10177 -#define RADEON_OFFSET_SHIFT 233,10311 -#define RADEON_OFFSET_ALIGN 234,10354 -#define RADEON_OFFSET_MASK 235,10421 -} radeon_color_regs_t;radeon_color_regs_t244,10625 -} drm_radeon_context_regs_t;drm_radeon_context_regs_t297,11948 -} drm_radeon_context2_regs_t;drm_radeon_context2_regs_t303,12093 -} drm_radeon_texture_regs_t;drm_radeon_texture_regs_t316,12379 -} drm_radeon_prim_t;drm_radeon_prim_t325,12642 -} drm_radeon_state_t;drm_radeon_state_t333,12835 -} drm_radeon_sarea_t;drm_radeon_sarea_t364,13813 -#define DRM_RADEON_CP_INIT 376,14126 -#define DRM_RADEON_CP_START 377,14162 -#define DRM_RADEON_CP_STOP 378,14198 -#define DRM_RADEON_CP_RESET 379,14233 -#define DRM_RADEON_CP_IDLE 380,14268 -#define DRM_RADEON_RESET 381,14303 -#define DRM_RADEON_FULLSCREEN 382,14339 -#define DRM_RADEON_SWAP 383,14374 -#define DRM_RADEON_CLEAR 384,14410 -#define DRM_RADEON_VERTEX 385,14446 -#define DRM_RADEON_INDICES 386,14481 -#define DRM_RADEON_NOT_USED387,14516 -#define DRM_RADEON_STIPPLE 388,14544 -#define DRM_RADEON_INDIRECT 389,14579 -#define DRM_RADEON_TEXTURE 390,14614 -#define DRM_RADEON_VERTEX2 391,14649 -#define DRM_RADEON_CMDBUF 392,14684 -#define DRM_RADEON_GETPARAM 393,14719 -#define DRM_RADEON_FLIP 394,14754 -#define DRM_RADEON_ALLOC 395,14789 -#define DRM_RADEON_FREE 396,14824 -#define DRM_RADEON_INIT_HEAP 397,14859 -#define DRM_RADEON_IRQ_EMIT 398,14894 -#define DRM_RADEON_IRQ_WAIT 399,14929 -#define DRM_RADEON_CP_RESUME 400,14964 -#define DRM_RADEON_SETPARAM 401,14999 -#define DRM_IOCTL_RADEON_CP_INIT 403,15035 -#define DRM_IOCTL_RADEON_CP_START 404,15138 -#define DRM_IOCTL_RADEON_CP_STOP 405,15223 -#define DRM_IOCTL_RADEON_CP_RESET 406,15329 -#define DRM_IOCTL_RADEON_CP_IDLE 407,15414 -#define DRM_IOCTL_RADEON_RESET 408,15498 -#define DRM_IOCTL_RADEON_FULLSCREEN 409,15580 -#define DRM_IOCTL_RADEON_SWAP 410,15692 -#define DRM_IOCTL_RADEON_CLEAR 411,15773 -#define DRM_IOCTL_RADEON_VERTEX 412,15875 -#define DRM_IOCTL_RADEON_INDICES 413,15979 -#define DRM_IOCTL_RADEON_STIPPLE 414,16085 -#define DRM_IOCTL_RADEON_INDIRECT 415,16191 -#define DRM_IOCTL_RADEON_TEXTURE 416,16299 -#define DRM_IOCTL_RADEON_VERTEX2 417,16405 -#define DRM_IOCTL_RADEON_CMDBUF 418,16511 -#define DRM_IOCTL_RADEON_GETPARAM 419,16619 -#define DRM_IOCTL_RADEON_FLIP 420,16727 -#define DRM_IOCTL_RADEON_ALLOC 421,16808 -#define DRM_IOCTL_RADEON_FREE 422,16914 -#define DRM_IOCTL_RADEON_INIT_HEAP 423,17018 -#define DRM_IOCTL_RADEON_IRQ_EMIT 424,17132 -#define DRM_IOCTL_RADEON_IRQ_WAIT 425,17240 -#define DRM_IOCTL_RADEON_CP_RESUME 426,17348 -#define DRM_IOCTL_RADEON_SETPARAM 427,17434 -typedef struct drm_radeon_init drm_radeon_init429,17543 - RADEON_INIT_CP 431,17584 - RADEON_INIT_CP = 0x01,431,17584 - RADEON_CLEANUP_CP 432,17612 - RADEON_CLEANUP_CP = 0x02,432,17612 - RADEON_INIT_R200_CP 433,17640 - RADEON_INIT_R200_CP = 0x03433,17640 -} drm_radeon_init_t;drm_radeon_init_t454,18143 -typedef struct drm_radeon_cp_stop drm_radeon_cp_stop456,18165 -} drm_radeon_cp_stop_t;drm_radeon_cp_stop_t459,18224 -typedef struct drm_radeon_fullscreen drm_radeon_fullscreen461,18249 - RADEON_INIT_FULLSCREEN 463,18296 - RADEON_INIT_FULLSCREEN = 0x01,463,18296 - RADEON_CLEANUP_FULLSCREEN 464,18332 - RADEON_CLEANUP_FULLSCREEN = 0x02464,18332 -} drm_radeon_fullscreen_t;drm_radeon_fullscreen_t466,18376 -#define CLEAR_X1 468,18404 -#define CLEAR_Y1 469,18423 -#define CLEAR_X2 470,18442 -#define CLEAR_Y2 471,18461 -#define CLEAR_DEPTH 472,18480 -typedef union drm_radeon_clear_rect drm_radeon_clear_rect474,18503 -} drm_radeon_clear_rect_t;drm_radeon_clear_rect_t477,18575 -typedef struct drm_radeon_clear drm_radeon_clear479,18603 -} drm_radeon_clear_t;drm_radeon_clear_t486,18853 -typedef struct drm_radeon_vertex drm_radeon_vertex488,18876 -} drm_radeon_vertex_t;drm_radeon_vertex_t493,19063 -typedef struct drm_radeon_indices drm_radeon_indices495,19087 -} drm_radeon_indices_t;drm_radeon_indices_t501,19217 -typedef struct drm_radeon_vertex2 drm_radeon_vertex2507,19439 -} drm_radeon_vertex2_t;drm_radeon_vertex2_t514,19666 -typedef struct drm_radeon_cmd_buffer drm_radeon_cmd_buffer526,20181 -} drm_radeon_cmd_buffer_t;drm_radeon_cmd_buffer_t531,20294 -typedef struct drm_radeon_tex_image drm_radeon_tex_image533,20322 -} drm_radeon_tex_image_t;drm_radeon_tex_image_t537,20459 -typedef struct drm_radeon_texture drm_radeon_texture539,20486 -} drm_radeon_texture_t;drm_radeon_texture_t546,20667 -typedef struct drm_radeon_stipple drm_radeon_stipple548,20692 -} drm_radeon_stipple_t;drm_radeon_stipple_t550,20756 -typedef struct drm_radeon_indirect drm_radeon_indirect552,20781 -} drm_radeon_indirect_t;drm_radeon_indirect_t557,20864 -#define RADEON_PARAM_GART_BUFFER_OFFSET 563,20989 -#define RADEON_PARAM_LAST_FRAME 564,21071 -#define RADEON_PARAM_LAST_DISPATCH 565,21116 -#define RADEON_PARAM_LAST_CLEAR 566,21161 -#define RADEON_PARAM_IRQ_NR 568,21240 -#define RADEON_PARAM_GART_BASE 569,21285 -#define RADEON_PARAM_REGISTER_HANDLE 571,21395 -#define RADEON_PARAM_STATUS_HANDLE 572,21459 -#define RADEON_PARAM_SAREA_HANDLE 573,21504 -#define RADEON_PARAM_GART_TEX_HANDLE 574,21549 -#define RADEON_PARAM_SCRATCH_OFFSET 575,21595 -typedef struct drm_radeon_getparam drm_radeon_getparam577,21642 -} drm_radeon_getparam_t;drm_radeon_getparam_t580,21712 -#define RADEON_MEM_REGION_GART 584,21804 -#define RADEON_MEM_REGION_FB 585,21837 -typedef struct drm_radeon_mem_alloc drm_radeon_mem_alloc587,21871 -} drm_radeon_mem_alloc_t;drm_radeon_mem_alloc_t592,22015 -typedef struct drm_radeon_mem_free drm_radeon_mem_free594,22042 -} drm_radeon_mem_free_t;drm_radeon_mem_free_t597,22112 -typedef struct drm_radeon_mem_init_heap drm_radeon_mem_init_heap599,22138 -} drm_radeon_mem_init_heap_t;drm_radeon_mem_init_heap_t603,22217 -typedef struct drm_radeon_irq_emit drm_radeon_irq_emit608,22300 -} drm_radeon_irq_emit_t;drm_radeon_irq_emit_t610,22359 -typedef struct drm_radeon_irq_wait drm_radeon_irq_wait612,22385 -} drm_radeon_irq_wait_t;drm_radeon_irq_wait_t614,22436 -typedef struct drm_radeon_setparam drm_radeon_setparam621,22616 -} drm_radeon_setparam_t;drm_radeon_setparam_t624,22695 -#define RADEON_SETPARAM_FB_LOCATION 626,22721 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_agpsupport.h,433 -#define DRM_AGP_GET 39,1516 -#define DRM_AGP_PUT 40,1577 -static const drm_agp_t *drm_agp 45,1710 -int DRM(59,2145 -int DRM(98,3360 -int DRM(128,4078 -void DRM(147,4468 -int DRM(165,4874 -int DRM(197,5774 -static drm_agp_mem_t *DRM(258,7476 -int DRM(282,8109 -int DRM(318,9161 -int DRM(359,10539 -drm_agp_head_t *DRM(398,11580 -void DRM(429,12313 -DRM_AGP_MEM *DRM(436,12416 -int DRM(444,12613 -int DRM(453,12793 -int DRM(461,12997 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis_ds.h,504 -#define __SIS_DS_H__32,1437 -#define SET_SIZE 36,1485 -typedef unsigned int ITEM_TYPE;ITEM_TYPE38,1508 -} list_item_t;list_item_t43,1602 -} set_t;set_t50,1699 -struct mem_block_t mem_block_t83,3103 -typedef struct mem_block_t TMemBlock;TMemBlock91,3238 -typedef struct mem_block_t *PMemBlock;PMemBlock92,3276 -typedef struct mem_block_t memHeap_t;memHeap_t95,3364 -static __inline__ int mmBlockSize(97,3403 -static __inline__ int mmOffset(102,3472 -static __inline__ void mmMarkReserved(107,3537 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/ffb_drv.c,921 -#define DRIVER_AUTHOR 19,387 -#define DRIVER_NAME 21,429 -#define DRIVER_DESC 22,456 -#define DRIVER_DATE 23,497 -#define DRIVER_MAJOR 25,530 -#define DRIVER_MINOR 26,554 -#define DRIVER_PATCHLEVEL 27,578 -typedef struct _ffb_position_t _ffb_position_t29,607 -} ffb_position_t;ffb_position_t32,662 -static ffb_position_t *ffb_position;34,681 -static void get_ffb_type(36,719 -static void ffb_apply_upa_parent_ranges(89,2355 -static int ffb_init_one(120,3102 -static drm_map_t *ffb_find_map(143,3758 -unsigned long ffb_get_unmapped_area(169,4255 -static int ffb_presetup(218,5529 -static void ffb_driver_release(252,6238 -static void ffb_driver_pretakedown(267,6622 -static int ffb_driver_postcleanup(272,6729 -static void ffb_driver_kernel_context_switch_unlock(278,6846 -static unsigned long ffb_driver_get_map_ofs(295,7245 -static unsigned long ffb_driver_get_reg_ofs(300,7346 -void ffb_driver_register_fns(310,7586 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_drawable.h,34 -int DRM(39,1529 -int DRM(52,1821 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/mga_drm.h,3920 -#define __MGA_DRM_H__36,1615 -#define __MGA_SAREA_DEFINES__43,1790 -#define MGA_F 47,1844 -#define MGA_A 48,1875 -#define MGA_S 49,1908 -#define MGA_T2 50,1944 -#define MGA_WARP_TGZ 52,1986 -#define MGA_WARP_TGZF 53,2010 -#define MGA_WARP_TGZA 54,2041 -#define MGA_WARP_TGZAF 55,2072 -#define MGA_WARP_TGZS 56,2110 -#define MGA_WARP_TGZSF 57,2141 -#define MGA_WARP_TGZSA 58,2179 -#define MGA_WARP_TGZSAF 59,2217 -#define MGA_WARP_T2GZ 60,2262 -#define MGA_WARP_T2GZF 61,2294 -#define MGA_WARP_T2GZA 62,2333 -#define MGA_WARP_T2GZAF 63,2372 -#define MGA_WARP_T2GZS 64,2418 -#define MGA_WARP_T2GZSF 65,2457 -#define MGA_WARP_T2GZSA 66,2503 -#define MGA_WARP_T2GZSAF 67,2549 -#define MGA_MAX_G200_PIPES 69,2602 -#define MGA_MAX_G400_PIPES 70,2650 -#define MGA_MAX_WARP_PIPES 71,2680 -#define MGA_WARP_UCODE_SIZE 72,2726 -#define MGA_CARD_TYPE_G200 74,2777 -#define MGA_CARD_TYPE_G400 75,2806 -#define MGA_FRONT 78,2837 -#define MGA_BACK 79,2860 -#define MGA_DEPTH 80,2882 -#define MGA_UPLOAD_CONTEXT 84,2973 -#define MGA_UPLOAD_TEX0 85,3004 -#define MGA_UPLOAD_TEX1 86,3033 -#define MGA_UPLOAD_PIPE 87,3062 -#define MGA_UPLOAD_TEX0IMAGE 88,3091 -#define MGA_UPLOAD_TEX1IMAGE 89,3151 -#define MGA_UPLOAD_2D 90,3211 -#define MGA_WAIT_AGE 91,3239 -#define MGA_UPLOAD_CLIPRECTS 92,3292 -#define MGA_DMA_FLUSH 94,3359 -#define MGA_BUFFER_SIZE 100,3493 -#define MGA_NUM_BUFFERS 101,3528 -#define MGA_NR_SAREA_CLIPRECTS 105,3595 -#define MGA_CARD_HEAP 114,3890 -#define MGA_AGP_HEAP 115,3916 -#define MGA_NR_TEX_HEAPS 116,3941 -#define MGA_NR_TEX_REGIONS 117,3969 -#define MGA_LOG_MIN_TEX_REGION_SIZE 118,4000 -#define DRM_MGA_IDLE_RETRY 120,4040 -} drm_mga_context_regs_t;drm_mga_context_regs_t140,4456 -} drm_mga_server_regs_t;drm_mga_server_regs_t146,4561 -} drm_mga_texture_regs_t;drm_mga_texture_regs_t162,4910 -} drm_mga_age_t;drm_mga_age_t169,5107 -typedef struct _drm_mga_sarea _drm_mga_sarea171,5125 -} drm_mga_sarea_t;drm_mga_sarea_t225,6966 -#define DRM_MGA_INIT 235,7189 -#define DRM_MGA_FLUSH 236,7219 -#define DRM_MGA_RESET 237,7249 -#define DRM_MGA_SWAP 238,7279 -#define DRM_MGA_CLEAR 239,7309 -#define DRM_MGA_VERTEX 240,7339 -#define DRM_MGA_INDICES 241,7369 -#define DRM_MGA_ILOAD 242,7399 -#define DRM_MGA_BLIT 243,7429 -#define DRM_MGA_GETPARAM 244,7459 -#define DRM_IOCTL_MGA_INIT 246,7490 -#define DRM_IOCTL_MGA_FLUSH 247,7579 -#define DRM_IOCTL_MGA_RESET 248,7665 -#define DRM_IOCTL_MGA_SWAP 249,7739 -#define DRM_IOCTL_MGA_CLEAR 250,7812 -#define DRM_IOCTL_MGA_VERTEX 251,7903 -#define DRM_IOCTL_MGA_INDICES 252,7996 -#define DRM_IOCTL_MGA_ILOAD 253,8091 -#define DRM_IOCTL_MGA_BLIT 254,8182 -#define DRM_IOCTL_MGA_GETPARAM 255,8271 -typedef struct _drm_mga_warp_index _drm_mga_warp_index257,8369 -} drm_mga_warp_index_t;drm_mga_warp_index_t261,8468 -typedef struct drm_mga_init drm_mga_init263,8493 - MGA_INIT_DMA 265,8534 - MGA_INIT_DMA = 0x01,265,8534 - MGA_CLEANUP_DMA 266,8563 - MGA_CLEANUP_DMA = 0x02266,8563 -} drm_mga_init_t;drm_mga_init_t292,9154 -typedef struct drm_mga_fullscreen drm_mga_fullscreen294,9173 - MGA_INIT_FULLSCREEN 296,9217 - MGA_INIT_FULLSCREEN = 0x01,296,9217 - MGA_CLEANUP_FULLSCREEN 297,9250 - MGA_CLEANUP_FULLSCREEN = 0x02297,9250 -} drm_mga_fullscreen_t;drm_mga_fullscreen_t299,9291 -typedef struct drm_mga_clear drm_mga_clear301,9316 -} drm_mga_clear_t;drm_mga_clear_t307,9474 -typedef struct drm_mga_vertex drm_mga_vertex309,9494 -} drm_mga_vertex_t;drm_mga_vertex_t313,9647 -typedef struct drm_mga_indices drm_mga_indices315,9668 -} drm_mga_indices_t;drm_mga_indices_t320,9830 -typedef struct drm_mga_iload drm_mga_iload322,9852 -} drm_mga_iload_t;drm_mga_iload_t326,9937 -typedef struct _drm_mga_blit _drm_mga_blit328,9957 -} drm_mga_blit_t;drm_mga_blit_t337,10213 -#define MGA_PARAM_IRQ_NR 342,10330 -typedef struct drm_mga_getparam drm_mga_getparam344,10369 -} drm_mga_getparam_t;drm_mga_getparam_t347,10436 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i830.h,322 -#define __I830_H__31,1413 -#define DRM(DRM35,1490 -#define DRIVER_AUTHOR 40,1546 -#define DRIVER_NAME 42,1594 -#define DRIVER_DESC 43,1622 -#define DRIVER_DATE 44,1656 -#define DRIVER_MAJOR 56,1929 -#define DRIVER_MINOR 57,1953 -#define DRIVER_PATCHLEVEL 58,1977 -#define DRIVER_IOCTLS 60,2006 -#define USE_IRQS 81,3231 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i830_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915_mem.c,434 -static void mark_block(28,989 -static struct mem_block *split_block(73,2101 -static struct mem_block *alloc_block(113,3081 -static struct mem_block *find_block(128,3459 -static void free_block(139,3657 -static int init_heap(165,4206 -void i915_mem_release(191,4765 -void i915_mem_takedown(221,5398 -static struct mem_block **get_heap(238,5660 -int i915_mem_alloc(250,5869 -int i915_mem_free(290,6748 -int i915_mem_init_heap(321,7419 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/r128_state.c,1683 -static void r128_emit_clip_rects(41,1602 -static __inline__ void r128_emit_core(84,2693 -static __inline__ void r128_emit_context(99,3058 -static __inline__ void r128_emit_setup(125,3825 -static __inline__ void r128_emit_masks(141,4241 -static __inline__ void r128_emit_window(160,4731 -static __inline__ void r128_emit_tex0(175,5104 -static __inline__ void r128_emit_tex1(202,5884 -static __inline__ void r128_emit_state(226,6541 -static void r128_clear_box(280,7862 -static void r128_cce_performance_boxes(330,8908 -static void r128_print_dirty(346,9261 -static void r128_cce_dispatch_clear(362,9915 -static void r128_cce_dispatch_swap(467,12514 -static void r128_cce_dispatch_flip(535,14221 -static void r128_cce_dispatch_vertex(579,15293 -static void r128_cce_dispatch_indirect(650,16995 -static void r128_cce_dispatch_indices(707,18343 -static int r128_cce_dispatch_blit(792,20426 -static int r128_cce_dispatch_write_span(906,23462 -static int r128_cce_dispatch_write_pixels(1002,25727 -static int r128_cce_dispatch_read_span(1124,28673 -static int r128_cce_dispatch_read_pixels(1168,29689 -static void r128_cce_dispatch_stipple(1242,31401 -int r128_cce_clear(1264,31830 -static int r128_do_init_pageflip(1292,32505 -int r128_do_cleanup_pageflip(1311,33056 -int r128_cce_flip(1332,33589 -int r128_cce_swap(1351,33936 -int r128_cce_vertex(1373,34450 -int r128_cce_indices(1433,35945 -int r128_cce_blit(1505,37774 -int r128_cce_depth(1535,38467 -int r128_cce_stipple(1565,39173 -int r128_cce_indirect(1589,39680 -int r128_getparam(1665,41575 -static void r128_driver_prerelease(1698,42233 -static void r128_driver_pretakedown(1708,42465 -void r128_driver_register_fns(1713,42554 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i915_irq.c,382 -#define USER_INT_FLAG 16,408 -#define MAX_NOPID 17,434 -#define READ_BREADCRUMB(READ_BREADCRUMB18,462 -irqreturn_t i915_driver_irq_handler(20,538 -int i915_emit_irq(40,980 -int i915_wait_irq(60,1294 -int i915_irq_emit(88,2024 -int i915_irq_wait(120,2712 -void i915_driver_irq_preinstall(139,3121 -void i915_driver_irq_postinstall(148,3373 -void i915_driver_irq_uninstall(156,3600 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/ffb_drv.h,615 -} ffb_auxclip, *ffb_auxclipPtr;ffb_auxclipPtr11,276 -typedef struct _ffb_fbc _ffb_fbc14,333 -} ffb_fbc, *ffb_fbcPtr;ffb_fbcPtr184,8506 -struct ffb_hw_context ffb_hw_context186,8531 -#define FFB_MAX_CTXS 248,9841 -enum ffb_chip_type ffb_chip_type250,9866 - ffb1_prototype 251,9887 - ffb1_standard,252,9932 - ffb1_speedsort,253,9993 - ffb2_prototype,254,10056 - ffb2_vertical,255,10108 - ffb2_vertical_plus,257,10231 - ffb2_horizontal,258,10297 - ffb2_horizontal_plus,259,10374 - afb_m3,260,10444 - afb_m6 261,10488 -typedef struct ffb_dev_priv ffb_dev_priv264,10535 -} ffb_dev_priv_t;ffb_dev_priv_t276,10813 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/ati_pcigart.h,510 -# define ATI_PCIGART_TABLE_ORDER 37,1423 -# define ATI_PCIGART_TABLE_PAGES 38,1458 -# define ATI_PCIGART_TABLE_ORDER 40,1525 -# define ATI_PCIGART_TABLE_PAGES 41,1560 -# define ATI_PCIGART_TABLE_ORDER 43,1626 -# define ATI_PCIGART_TABLE_PAGES 44,1662 -# define ATI_PCIGART_TABLE_ORDER 46,1729 -# define ATI_PCIGART_TABLE_PAGES 47,1765 -# define ATI_MAX_PCIGART_PAGES 52,1865 -# define ATI_PCIGART_PAGE_SIZE 53,1935 -static unsigned long DRM(55,2000 -static void DRM(78,2486 -int DRM(94,2818 -int DRM(172,4613 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/i810.h,296 -#define __I810_H__31,1418 -#define DRM(DRM35,1495 -#define DRIVER_AUTHOR 40,1551 -#define DRIVER_NAME 42,1599 -#define DRIVER_DESC 43,1627 -#define DRIVER_DATE 44,1661 -#define DRIVER_MAJOR 56,1998 -#define DRIVER_MINOR 57,2022 -#define DRIVER_PATCHLEVEL 58,2046 -#define DRIVER_IOCTLS 60,2075 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/sis_drv.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/drm/drm_stub.h,294 -#define DRM_STUB_MAXCARDS 36,1391 -static struct class_simple *drm_class;38,1450 -static struct drm_stub_list drm_stub_list41,1528 -static struct drm_stub_info drm_stub_info50,1799 -static int DRM(65,2230 -static int DRM(101,3257 -static int DRM(139,4294 -int DRM(175,5378 -int DRM(230,6783 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/console_macros.h,1769 -#define cons_num 1,0 -#define video_scan_lines 2,47 -#define sw 3,109 -#define screenbuf 4,150 -#define screenbuf_size 5,204 -#define origin 6,268 -#define scr_top 7,317 -#define visible_origin 8,368 -#define scr_end 9,433 -#define pos 10,484 -#define top 11,527 -#define bottom 12,570 -#define x 13,619 -#define y 14,658 -#define vc_state 15,697 -#define npar 16,746 -#define par 17,791 -#define ques 18,834 -#define attr 19,879 -#define saved_x 20,924 -#define saved_y 21,975 -#define translate 22,1026 -#define G0_charset 23,1080 -#define G1_charset 24,1136 -#define saved_G0 25,1192 -#define saved_G1 26,1244 -#define utf 27,1296 -#define utf_count 28,1339 -#define utf_char 29,1393 -#define video_erase_char 30,1445 -#define disp_ctrl 31,1513 -#define toggle_meta 32,1567 -#define decscnm 33,1625 -#define decom 34,1676 -#define decawm 35,1723 -#define deccm 36,1772 -#define decim 37,1819 -#define deccolm 38,1866 -#define need_wrap 39,1917 -#define kmalloced 40,1971 -#define report_mouse 41,2025 -#define color 42,2085 -#define s_color 43,2132 -#define def_color 44,2183 -#define foreground 45,2237 -#define background 46,2271 -#define charset 47,2305 -#define s_charset 48,2356 -#define intensity 49,2410 -#define underline 50,2464 -#define blink 51,2518 -#define reverse 52,2565 -#define s_intensity 53,2616 -#define s_underline 54,2674 -#define s_blink 55,2732 -#define s_reverse 56,2783 -#define ulcolor 57,2837 -#define halfcolor 58,2888 -#define tab_stop 59,2942 -#define palette 60,2994 -#define bell_pitch 61,3045 -#define bell_duration 62,3101 -#define cursor_type 63,3163 -#define display_fg 64,3221 -#define complement_mask 65,3277 -#define s_complement_mask 66,3343 -#define hi_font_mask 67,3413 -#define vcmode 69,3474 -#define structsize 71,3520 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/scx200_gpio.c,356 -#define NAME 19,446 -static int major 25,613 -static ssize_t scx200_gpio_write(29,741 -static ssize_t scx200_gpio_read(77,1848 -static int scx200_gpio_open(90,2111 -static int scx200_gpio_release(98,2283 -static struct file_operations scx200_gpio_fops 104,2371 -static int __init scx200_gpio_init(112,2575 -static void __exit scx200_gpio_cleanup(136,3058 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/raw.c,643 -struct raw_device_data raw_device_data25,630 -static struct class_simple *raw_class;30,702 -static struct raw_device_data raw_devices[31,741 -static struct file_operations raw_ctl_fops;33,833 -static int raw_open(45,1259 -static int raw_release(97,2345 -raw_ioctl(120,2872 -static void bind_device(128,3065 -static int raw_ctl_ioctl(139,3407 -static ssize_t raw_file_write(241,5576 -static ssize_t raw_file_aio_write(252,5837 -static struct file_operations raw_fops 264,6113 -static struct file_operations raw_ctl_fops 277,6437 -static struct cdev raw_cdev 283,6555 -static int __init raw_init(288,6642 -static void __exit raw_exit(326,7584 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/dtlk.c,1243 -#define KERNEL52,2120 -#define TRACE_TEXT(TRACE_TEXT69,2789 -#define TRACE_RET 70,2826 -#define TRACE_TEXT(TRACE_TEXT72,2880 -#define TRACE_RET 73,2915 -static int dtlk_major;77,2970 -static int dtlk_port_lpc;78,2993 -static int dtlk_port_tts;79,3019 -static int dtlk_busy;80,3045 -static int dtlk_has_indexing;81,3067 -static unsigned int dtlk_portlist[82,3097 -static wait_queue_head_t dtlk_process_list;84,3182 -static struct timer_list dtlk_timer;85,3226 -static struct file_operations dtlk_fops 98,3774 -static ssize_t dtlk_read(124,4458 -static ssize_t dtlk_write(157,5226 -static unsigned int dtlk_poll(230,6827 -static void dtlk_timer_tick(261,7501 -static int dtlk_ioctl(267,7631 -static int dtlk_open(294,8150 -static int dtlk_release(310,8426 -static int __init dtlk_init(328,8653 -static void __exit dtlk_cleanup 351,9185 -static void dtlk_delay(372,9728 -static int dtlk_readable(378,9851 -static int dtlk_writeable(386,10019 -static int __init dtlk_dev_probe(395,10238 -#define LOOK 442,11628 -#define LOOK 472,12304 -static struct dtlk_settings *dtlk_interrogate(516,13197 -static char dtlk_read_tts(571,14460 -static char dtlk_read_lpc(601,15151 -static char dtlk_write_bytes(626,15742 -static char dtlk_write_tts(637,15986 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/rocket.c,3781 -#define PCI_BASE_ADDRESS(PCI_BASE_ADDRESS44,1810 -#define PCI_BASE_ADDRESS(PCI_BASE_ADDRESS46,1876 -#define ROCKET_PARANOIA_CHECK49,1942 -#define ROCKET_DISABLE_SIMUSAGE50,1972 -#define POLL_PERIOD 64,2295 -#define ROCKET_VERSION 104,3204 -#define ROCKET_DATE 105,3234 -static struct tty_driver *rocket_driver;109,3314 -static struct rocket_version driver_version 111,3356 -static struct r_port *rp_table[115,3438 -static unsigned int xmit_flags[116,3552 -static atomic_t rp_num_ports_open;118,3738 -static struct timer_list rocket_timer;119,3849 -static unsigned long board1;121,3889 -static unsigned long board2;122,4002 -static unsigned long board3;123,4031 -static unsigned long board4;124,4060 -static unsigned long controller;125,4089 -static unsigned long support_low_speed;126,4122 -static unsigned long modem1;127,4162 -static unsigned long modem2;128,4191 -static unsigned long modem3;129,4220 -static unsigned long modem4;130,4249 -static unsigned long pc104_1[131,4278 -static unsigned long pc104_2[132,4311 -static unsigned long pc104_3[133,4344 -static unsigned long pc104_4[134,4377 -static unsigned long *pc104[135,4410 -static int rp_baud_base[137,4484 -static unsigned long rcktpt_io_addr[138,4599 -static int rcktpt_type[139,4648 -static int is_PCI[140,4684 -static rocketModel_t rocketModel[141,4715 -static int max_board;142,4761 -static Word_t aiop_intr_bits[150,4970 -static Word_t upci_aiop_intr_bits[157,5093 -static unsigned char lineNumbers[169,5458 -static unsigned long nextLineNumber;170,5506 -static inline int rocket_paranoia_check(228,7925 -static void rp_do_receive(248,8437 -static void rp_do_transmit(371,11717 -static void rp_handle_port(436,13557 -static void rp_do_poll(491,15064 -static void init_r_port(568,17098 -static void configure_r_port(654,19461 -static int block_til_ready(810,22902 -static int rp_open(914,25818 -static void rp_close(1023,28450 -static void rp_set_termios(1137,31496 -static void rp_break(1182,32568 -static int sGetChanRI(1204,33245 -static int rp_tiocmget(1227,34051 -static int rp_tiocmset(1247,34645 -static int get_config(1265,35168 -static int set_config(1283,35609 -static int get_ports(1322,36897 -static int reset_rm2(1344,37603 -static int get_version(1365,38058 -static int rp_ioctl(1373,38281 -static void rp_send_xchar(1403,39033 -static void rp_throttle(1418,39351 -static void rp_unthrottle(1438,39779 -static void rp_stop(1465,40511 -static void rp_start(1481,40873 -static void rp_wait_until_sent(1501,41352 -static void rp_hangup(1555,42724 -static void rp_put_char(1596,43925 -static int rp_write(1638,45355 -static int rp_write_room(1749,48177 -static int rp_chars_in_buffer(1770,48670 -static void rp_flush_buffer(1791,49260 -__init int register_PCI(1821,49996 -static int __init init_PCI(2171,60119 -static int __init init_ISA(2191,60567 -static struct tty_operations rocket_ops 2297,63576 -int __init rp_init(2322,64202 -static void rp_cleanup_module(2448,67974 -#define TRUE 2501,69380 -#define FALSE 2505,69417 -static Byte_t RData[2508,69441 -static Byte_t RRegData[2529,69929 -CONTROLLER_T sController[2545,70615 -Byte_t sBitMapClrTbl[2556,71117 -Byte_t sBitMapSetTbl[2560,71197 -int sClockPrescale 2564,71277 -int sInitController(2636,74785 -int sPCIInitController(2769,80234 -int sReadAiopID(2831,82251 -int sReadAiopNumChan(2857,83196 -int sInitChan(2888,84408 -void sStopRxProcessor(3036,89398 -void sFlushRxFIFO(3061,90248 -void sFlushTxFIFO(3103,91918 -int sWriteTxPrioByte(3143,93346 -void sEnInterrupts(3205,96082 -void sDisInterrupts(3249,97852 -void sSetInterfaceMode(3265,98325 -void sModemReset(3274,98536 -void sPCIModemReset(3299,99099 -static void rmSpeakerReset(3310,99373 -static unsigned char GetLineNumber(3329,99956 -static unsigned char SetLineNumber(3339,100226 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/digi.h,892 -#define TIOCMODG 4,99 -#define TIOCMODS 5,161 -#define TIOCMSET 9,254 -#define TIOCMGET 10,316 -#define TIOCMBIC 14,409 -#define TIOCMBIS 15,471 -#define TIOCSDTR 19,564 -#define TIOCCDTR 20,612 -#define DIGI_GETA 26,867 -#define DIGI_SETA 28,922 -#define DIGI_SETAW 29,975 -#define DIGI_SETAF 30,1036 -#define DIGI_GETFLOW 32,1105 -#define DIGI_SETFLOW 34,1204 -#define DIGI_GETAFLOW 36,1303 -#define DIGI_SETAFLOW 38,1404 -struct digiflow_struct digiflow_struct41,1505 -typedef struct digiflow_struct digiflow_t;digiflow_t46,1638 -#define DIGI_IXON 52,1858 -#define DIGI_FAST 53,1913 -#define RTSPACE 54,1962 -#define CTSPACE 55,2016 -#define DSRPACE 56,2071 -#define DCDPACE 57,2126 -#define DTRPACE 58,2181 -#define DIGI_FORCEDCD 59,2235 -#define DIGI_ALTPIN 60,2286 -#define DIGI_AIXON 61,2347 -struct digi_struct digi_struct67,2614 -typedef struct digi_struct digi_t;digi_t71,2692 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/epca.h,1415 -#define XEMPORTS 1,0 -#define XEPORTS 2,26 -#define MAX_ALLOC 4,53 -#define MAXBOARDS 6,80 -#define FEPCODESEG 7,103 -#define FEPCODE 8,131 -#define BIOSCODE 9,159 -#define MISCGLOBAL 11,188 -#define NPORT 12,216 -#define MBOX 13,244 -#define PORTBASE 14,272 -#define INVALID_BOARD_TYPE 18,347 -#define INVALID_NUM_PORTS 19,380 -#define INVALID_MEM_BASE 20,413 -#define INVALID_PORT_BASE 21,446 -#define INVALID_BOARD_STATUS 22,479 -#define INVALID_ALTPIN 23,513 -#define FEPCLR 28,593 -#define FEPMEM 29,618 -#define FEPRST 30,643 -#define FEPINT 31,668 -#define FEPMASK 32,693 -#define FEPWIN 33,718 -#define PCXE 35,744 -#define PCXEVE 36,762 -#define PCXEM 37,780 -#define EISAXEM 38,801 -#define PC64XE 39,819 -#define PCXI 40,837 -#define PCIXEM 41,855 -#define PCICX 42,873 -#define PCIXR 43,891 -#define PCIXRJ 44,909 -#define EPCA_NUM_TYPES 45,928 -static char *board_desc[48,955 -#define STARTC 63,1116 -#define STOPC 64,1140 -#define IAIXON 65,1164 -#define TXSTOPPED 68,1193 -#define LOWWAIT 69,1216 -#define EMPTYWAIT 70,1239 -#define RXSTOPPED 71,1262 -#define TXBUSY 72,1285 -#define DISABLED 74,1310 -#define ENABLED 75,1331 -#define OFF 76,1352 -#define ON 77,1373 -#define FEPTIMEOUT 79,1395 -#define SERIAL_TYPE_NORMAL 80,1423 -#define SERIAL_TYPE_INFO 81,1453 -#define EPCA_EVENT_HANGUP 82,1483 -#define EPCA_MAGIC 83,1513 -struct channel channel85,1554 -struct board_info board_info144,2987 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/vc_screen.c,331 -#define HEADER_SIZE 47,1451 -vcs_size(50,1485 -static loff_t vcs_lseek(69,1815 -vcs_read(98,2286 -vcs_write(269,6161 -vcs_open(455,10183 -static struct file_operations vcs_fops 463,10359 -static struct class_simple *vc_class;470,10491 -void vcs_make_devfs(472,10530 -void vcs_remove_devfs(483,11000 -int __init vcs_init(491,11262 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/misc.c,585 -#define DYNAMIC_MINORS 63,1762 -static unsigned char misc_minors[64,1814 -static void *misc_seq_start(73,2051 -static void *misc_seq_next(86,2274 -static void misc_seq_stop(96,2499 -static int misc_seq_show(101,2577 -static struct seq_operations misc_seq_ops 110,2748 -static int misc_seq_open(117,2899 -static struct file_operations misc_proc_fops 122,3008 -static int misc_open(131,3189 -static struct class_simple *misc_class;183,4180 -static struct file_operations misc_fops 185,4221 -int misc_register(207,4836 -int misc_deregister(277,6325 -static int __init misc_init(298,6761 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/ip2main.c,2710 -static char *pcName 152,4129 -static char *pcVersion 153,4201 -static char *pcDriver_name 156,4275 -static char *pcIpl 157,4313 -#define SERIAL_TYPE_NORMAL 160,4384 -static unsigned char *Fip_firmware;164,4512 -static int Fip_firmware_size;165,4548 -static struct tty_driver *ip2_tty_driver;224,6697 -static unsigned short i2nBoards;229,6872 -static i2eBordStrPtr i2BoardPtrTable[231,6931 -static i2ChanStrPtr DevTable[233,6986 -static void *DevTableMem[235,7084 -static struct file_operations ip2_ipl 240,7245 -static unsigned long irq_counter 248,7416 -static unsigned long bh_counter 249,7454 -#define USE_IQI252,7537 -#define POLL_TIMEOUT 258,7753 -static struct timer_list PollTimer 259,7791 -static char TimerOn;260,7863 -#define TRACEMAX 264,7940 -static unsigned long tracebuf[265,7963 -static int tracestuff;266,8004 -static int tracestrip;267,8027 -static int tracewrap;268,8050 -#define DBG_CNT(DBG_CNT276,8166 -#define DBG_CNT(DBG_CNT280,8363 -static int poll_only 296,8767 -static int Eisa_irq;298,8794 -static int Eisa_slot;299,8815 -static int iindx;301,8838 -static char rirqs[302,8856 -static int Valid_Irqs[303,8891 -static struct class_simple *ip2_class;306,8982 -is_valid_irq(311,9095 -mark_requested_irq(322,9225 -clear_requested_irq(329,9316 -have_requested_irq(343,9501 -init_module(365,10456 -cleanup_module(391,11821 -static struct tty_operations ip2_ops 467,13867 -#define IP2_SA_FLAGS 504,15706 -ip2_loadmain(507,15734 -ip2_init_board(822,25692 -find_eisa_board(965,30255 -set_irq(1053,33025 -service_all_boards(1133,35745 -ip2_interrupt_bh(1159,36770 -ip2_interrupt(1197,38684 -ip2_poll(1252,40685 -static void do_input(1270,41178 -static inline void isig(1293,41701 -static void do_status(1304,41964 -open_sanity_check(1389,44679 -ip2_open(1419,46217 -ip2_close(1569,50732 -ip2_hangup 1664,53450 -ip2_write(1717,55715 -ip2_putchar(1749,57173 -ip2_flush_chars(1776,58321 -ip2_write_room 1808,59548 -ip2_chars_in_buf 1833,60645 -ip2_flush_buffer(1865,62015 -ip2_wait_until_sent 1898,63430 -ip2_throttle 1924,64790 -ip2_unthrottle 1950,65927 -ip2_start 1975,66588 -ip2_stop 1988,66918 -static int ip2_tiocmget(2002,67362 -static int ip2_tiocmset(2047,68643 -ip2_ioctl 2089,70327 -get_serial_info 2324,76749 -set_serial_info(2358,78330 -ip2_set_termios(2419,80604 -ip2_set_line_discipline 2440,81583 -set_params(2461,82608 -ip2_ipl_read(2729,91395 -DumpFifoBuffer 2762,92041 -DumpTraceBuffer 2776,92270 -ip2_ipl_write(2838,94331 -ip2_ipl_ioctl 2859,95512 -ip2_ipl_open(2995,99883 -#define LIMIT 3047,101363 -ip2_read_procmem(3050,101408 -#define FMTLINE 3059,101546 -#define FMTLIN2 3060,101599 -#define FMTLIN3 3061,101651 -int ip2_read_proc(3101,102778 -ip2trace 3222,106166 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/cyclades.c,3295 -#define Z_WAKE2,17 -static char rcsid[4,61 -#define NR_CARDS 600,25331 -#define NR_PORTS 607,25533 -#define ZE_V1_NPORTS 609,25562 -#define ZO_V1 610,25586 -#define ZO_V2 611,25602 -#define ZE_V1 612,25618 -#define SERIAL_PARANOIA_CHECK614,25635 -#define PAUSE 628,25927 -#define PAUSE 630,25963 -#define CY_LOCK(CY_LOCK662,26616 -#define CY_UNLOCK(CY_UNLOCK667,26743 -#define IS_CYC_Z(IS_CYC_Z682,27114 -#define Z_FPGA_CHECK(Z_FPGA_CHECK684,27163 -#define ISZLOADED(ISZLOADED688,27295 -#define SERIAL_XMIT_SIZE 695,27571 -#define WAKEUP_CHARS 697,27626 -#define STD_COM_FLAGS 699,27653 -#define JIFFIES_DIFF(JIFFIES_DIFF701,27680 -static struct tty_driver *cy_serial_driver;703,27720 -static unsigned int cy_isa_addresses[715,28236 -#define NR_ISA_ADDRS 726,28442 -static long maddr[729,28528 -static int irq[730,28566 -static struct cyclades_card cy_card[741,28891 -static struct cyclades_port cy_port[746,29084 -static int cy_next_channel;748,29132 -static unsigned char *tmp_buf;760,29726 -static int baud_table[772,30190 -static char baud_co_25[777,30383 -static char baud_bpr_25[783,30690 -static char baud_co_60[787,30905 -static char baud_bpr_60[794,31233 -static char baud_cor3[799,31469 -static char rflow_thr[815,32221 -static int cy_chip_offset 823,32565 -static unsigned short cy_pci_nboard;836,32746 -static unsigned short cy_isa_nboard;837,32783 -static unsigned short cy_nboard;838,32820 -static unsigned short cy_pci_dev_id[840,32871 -static long cyz_polling_cycle 866,33844 -static int cyz_timeron 868,33890 -static struct timer_list cyz_timerlist 869,33918 -static struct timer_list cyz_rx_full_timer[873,34066 -serial_paranoia_check(877,34168 -cy_sched_event(914,35269 -do_softint(942,36511 -cyy_issue_cmd(995,38266 -detect_isa_irq(1019,38853 -cyy_interrupt(1073,40463 -cyz_fetch_msg(1487,58183 -cyz_issue_cmd(1516,59094 -cyz_handle_rx(1548,60021 -cyz_handle_tx(1647,63093 -cyz_handle_cmd(1732,65479 -cyz_interrupt(1854,68577 -cyz_rx_restart(1879,69148 -cyz_poll(1900,69714 -startup(1960,71442 -start_xmit(2149,76229 -shutdown(2190,77385 -block_til_ready(2312,80668 -cy_open(2502,86056 -cy_wait_until_sent(2635,89607 -cy_close(2716,92154 -cy_write(2863,96692 -cy_put_char(2951,98900 -cy_flush_chars(2986,99790 -cy_write_room(3012,100499 -cy_chars_in_buffer(3031,100962 -cyy_baud_calc(3088,102676 -set_line_char(3117,103362 -get_serial_info(3497,114692 -set_serial_info(3520,115408 -static int get_lsr_info(3575,117324 -cy_tiocmget(3603,118098 -cy_tiocmset(3675,120327 -cy_break(3810,124518 -get_mon_info(3867,125925 -set_threshold(3881,126267 -get_threshold(3910,126985 -set_default_threshold(3934,127566 -get_default_threshold(3942,127740 -set_timeout(3949,127916 -get_timeout(3974,128509 -set_default_timeout(3998,129073 -get_default_timeout(4006,129241 -cy_ioctl(4017,129598 -cy_set_termios(4203,135215 -cy_send_xchar 4241,136324 -cy_throttle(4270,137071 -cy_unthrottle(4329,138658 -cy_stop(4385,140083 -cy_start(4423,141093 -cy_flush_buffer(4461,142102 -cy_hangup(4500,143188 -cyy_init_card(4535,144170 -cy_detect_isa(4619,147115 -plx_init(4727,150997 -cy_detect_pci(4747,151734 -show_version(5198,168339 -cyclades_get_proc_info(5212,168731 -static struct tty_operations cy_ops 5286,171031 -cy_init(5310,171695 -cy_cleanup_module(5538,180378 -cy_setup(5584,181425 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/pcwd_usb.c,2401 - static int debug 48,1453 - static int debug;50,1482 -#define dbg(dbg55,1548 -#define DRIVER_VERSION 59,1688 -#define DRIVER_DATE 60,1718 -#define DRIVER_AUTHOR 61,1752 -#define DRIVER_DESC 62,1809 -#define DRIVER_LICENSE 63,1864 -#define DRIVER_NAME 64,1893 -#define PFX 65,1924 -#define WATCHDOG_HEARTBEAT 77,2225 -static int heartbeat 78,2284 -static int nowayout 83,2525 -static int nowayout 85,2556 -#define USB_PCWD_VENDOR_ID 92,2791 -#define USB_PCWD_PRODUCT_ID 93,2825 -static struct usb_device_id usb_pcwd_table 96,2911 -#define USB_COMMAND_TIMEOUT 104,3246 -#define CMD_READ_TEMP 107,3314 -#define CMD_TRIGGER 108,3387 -#define CMD_GET_STATUS 109,3423 -#define CMD_GET_FIRMWARE_VERSION 110,3482 -#define CMD_GET_DIP_SWITCH_SETTINGS 111,3547 -#define CMD_READ_WATCHDOG_TIMEOUT 112,3618 -#define CMD_WRITE_WATCHDOG_TIMEOUT 113,3690 -#define CMD_ENABLE_WATCHDOG 114,3764 -#define CMD_DISABLE_WATCHDOG 115,3830 -#define HID_REQ_SET_REPORT 118,3962 -#define HID_DT_REPORT 119,3995 -static int cards_found;122,4110 -static unsigned long is_active;125,4165 -static char expect_release;126,4197 -struct usb_pcwd_private usb_pcwd_private129,4283 -static struct usb_pcwd_private *usb_pcwd_device;148,5175 -static struct usb_driver usb_pcwd_driver 158,5590 -static void usb_pcwd_intr_done(167,5777 -static int usb_pcwd_send_command(205,6860 -static int usb_pcwd_start(251,8367 -static int usb_pcwd_stop(268,8733 -static int usb_pcwd_keepalive(285,9101 -static int usb_pcwd_set_heartbeat(295,9296 -static int usb_pcwd_get_temperature(310,9633 -static ssize_t usb_pcwd_write(329,10006 -static int usb_pcwd_ioctl(357,10663 -static int usb_pcwd_open(435,12162 -static int usb_pcwd_release(447,12460 -static ssize_t usb_pcwd_temperature_read(467,12852 -static int usb_pcwd_temperature_open(481,13138 -static int usb_pcwd_temperature_release(486,13259 -static int usb_pcwd_notify_sys(495,13380 -static struct file_operations usb_pcwd_fops 509,13633 -static struct miscdevice usb_pcwd_miscdev 518,13837 -static struct file_operations usb_pcwd_temperature_fops 524,13961 -static struct miscdevice usb_pcwd_temperature_miscdev 532,14186 -static struct notifier_block usb_pcwd_notifier 538,14333 -static inline void usb_pcwd_delete 545,14454 -static int usb_pcwd_probe(561,14898 -static void usb_pcwd_disconnect(733,20270 -static int __init usb_pcwd_init(774,21077 -static void __exit usb_pcwd_exit(794,21458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/advantechwdt.c,679 -#define WATCHDOG_NAME 46,1418 -#define PFX 47,1456 -#define WATCHDOG_TIMEOUT 48,1487 -static unsigned long advwdt_is_open;50,1546 -static char adv_expect_close;51,1583 -static int wdt_stop 64,2082 -static int wdt_start 68,2220 -static int timeout 72,2362 -static int nowayout 77,2606 -static int nowayout 79,2637 -advwdt_ping(90,2848 -advwdt_disable(97,2942 -advwdt_write(103,3001 -advwdt_ioctl(125,3359 -advwdt_open(190,4581 -advwdt_close(203,4787 -advwdt_notify_sys(221,5109 -static struct file_operations advwdt_fops 235,5339 -static struct miscdevice advwdt_miscdev 244,5535 -static struct notifier_block advwdt_notifier 255,5756 -advwdt_init(260,5864 -advwdt_exit(318,7171 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/mixcomwd.c,969 -#define VERSION 36,1131 -static int mixcomwd_ioports[51,1464 -#define MIXCOM_WATCHDOG_OFFSET 53,1529 -#define MIXCOM_ID 54,1566 -#define FLASHCOM_WATCHDOG_OFFSET 55,1589 -#define FLASHCOM_ID 56,1626 -static unsigned long mixcomwd_opened;58,1652 -static int watchdog_port;60,1724 -static int mixcomwd_timer_alive;61,1750 -static struct timer_list mixcomwd_timer 62,1783 -static char expect_close;63,1856 -static int nowayout 66,1915 -static int nowayout 68,1946 -static void mixcomwd_ping(74,2118 -static void mixcomwd_timerfun(80,2191 -static int mixcomwd_open(91,2354 -static int mixcomwd_release(114,2825 -static ssize_t mixcomwd_write(137,3413 -static int mixcomwd_ioctl(160,3804 -static struct file_operations mixcomwd_fops=197,4569 -static struct miscdevice mixcomwd_miscdev=207,4776 -static int __init mixcomwd_checkcard(214,4897 -static int __init flashcom_checkcard(231,5161 -static int __init mixcomwd_init(248,5425 -static void __exit mixcomwd_exit(286,6186 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/mpc8xx_wdt.c,515 -static unsigned long wdt_opened;23,612 -static int wdt_status;24,645 -static void mpc8xx_wdt_handler_disable(26,669 -static void mpc8xx_wdt_handler_enable(35,900 -static int mpc8xx_wdt_open(44,1125 -static int mpc8xx_wdt_release(55,1316 -static ssize_t mpc8xx_wdt_write(68,1528 -static int mpc8xx_wdt_ioctl(80,1723 -static struct file_operations mpc8xx_wdt_fops 130,2671 -static struct miscdevice mpc8xx_wdt_miscdev 139,2884 -static int __init mpc8xx_wdt_init(145,3010 -static void __exit mpc8xx_wdt_exit(150,3099 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/wdt977.c,959 -#define PFX 40,1289 -#define WATCHDOG_MINOR 41,1312 -#define DEFAULT_TIMEOUT 43,1340 -static int timeout 45,1403 -static int timeoutM;46,1441 -static unsigned long timer_alive;47,1490 -static int testmode;48,1524 -static char expect_close;49,1545 -static int nowayout 57,1859 -static int nowayout 59,1890 -static int wdt977_start(69,2092 -static int wdt977_stop(112,3083 -static int wdt977_keepalive(153,3983 -static int wdt977_set_timeout(176,4375 -static int wdt977_get_status(203,4928 -static int wdt977_open(233,5369 -static int wdt977_release(246,5660 -static ssize_t wdt977_write(276,6412 -static struct watchdog_info ident 311,7114 -static int wdt977_ioctl(319,7291 -static int wdt977_notify_sys(384,8425 -static struct file_operations wdt977_fops=392,8599 -static struct miscdevice wdt977_miscdev=402,8796 -static struct notifier_block wdt977_notifier 409,8916 -static int __init nwwatchdog_init(413,9006 -static void __exit nwwatchdog_exit(447,9901 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/pcwd_pci.c,2123 -#define WATCHDOG_VERSION 51,1448 -#define WATCHDOG_DATE 52,1480 -#define WATCHDOG_DRIVER_NAME 53,1516 -#define WATCHDOG_NAME 54,1563 -#define PFX 55,1596 -#define DRIVER_VERSION 56,1627 -#define PCI_VENDOR_ID_QUICKLOGIC 60,1790 -#define PCI_DEVICE_ID_WATCHDOG_PCIPCWD 64,1880 -#define WD_PCI_WTRP 71,2037 -#define WD_PCI_HRBT 72,2101 -#define WD_PCI_TTRP 73,2163 -#define PCI_COMMAND_TIMEOUT 77,2371 -#define CMD_GET_STATUS 80,2439 -#define CMD_GET_FIRMWARE_VERSION 81,2469 -#define CMD_READ_WATCHDOG_TIMEOUT 82,2507 -#define CMD_WRITE_WATCHDOG_TIMEOUT 83,2546 -static int cards_found;86,2653 -static int temp_panic;89,2703 -static unsigned long is_active;90,2726 -static char expect_release;91,2758 -} pcipcwd_private;98,3019 -#define WATCHDOG_HEARTBEAT 101,3063 -static int heartbeat 102,3122 -static int nowayout 107,3363 -static int nowayout 109,3394 -static int send_command(119,3596 -static int pcipcwd_start(156,4797 -static int pcipcwd_stop(175,5139 -static int pcipcwd_keepalive(197,5561 -static int pcipcwd_set_heartbeat(204,5700 -static int pcipcwd_get_status(219,5970 -static int pcipcwd_clear_status(236,6300 -static int pcipcwd_get_temperature(242,6398 -static ssize_t pcipcwd_write(261,6751 -static int pcipcwd_ioctl(289,7391 -static int pcipcwd_open(382,9040 -static int pcipcwd_release(394,9305 -static ssize_t pcipcwd_temp_read(414,9664 -static int pcipcwd_temp_open(428,9925 -static int pcipcwd_temp_release(436,10094 -static int pcipcwd_notify_sys(445,10207 -static struct file_operations pcipcwd_fops 459,10443 -static struct miscdevice pcipcwd_miscdev 468,10642 -static struct file_operations pcipcwd_temp_fops 474,10764 -static struct miscdevice pcipcwd_temp_miscdev 482,10957 -static struct notifier_block pcipcwd_notifier 488,11088 -static inline void check_temperature_support(496,11212 -static int __devinit pcipcwd_card_init(502,11350 -static void __devexit pcipcwd_card_exit(628,14973 -static struct pci_device_id pcipcwd_pci_tbl[644,15364 -static struct pci_driver pcipcwd_driver 651,15579 -static int __init pcipcwd_init_module(658,15756 -static void __exit pcipcwd_cleanup_module(665,15892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/ib700wdt.c,687 -static unsigned long ibwdt_is_open;51,1530 -static spinlock_t ibwdt_lock;52,1566 -static char expect_close;53,1596 -#define PFX 55,1623 -static int wd_times[93,2769 -#define WDT_STOP 112,3034 -#define WDT_START 113,3057 -#define WD_TIMO 116,3104 -static int wd_margin 118,3161 -static int nowayout 121,3226 -static int nowayout 123,3257 -ibwdt_ping(135,3469 -ibwdt_write(142,3567 -ibwdt_ioctl(165,3954 -ibwdt_open(214,4934 -ibwdt_close(231,5260 -ibwdt_notify_sys(250,5613 -static struct file_operations ibwdt_fops 264,5845 -static struct miscdevice ibwdt_miscdev 273,6036 -static struct notifier_block ibwdt_notifier 284,6255 -static int __init ibwdt_init(288,6343 -ibwdt_exit(334,7391 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/wdt.c,1233 -static unsigned long wdt_is_open;52,1586 -static char expect_close;53,1620 -#define WD_TIMO 59,1676 -static int heartbeat 61,1735 -static int wd_heartbeat;62,1767 -static int nowayout 67,1979 -static int nowayout 69,2010 -static int io=76,2255 -static int irq=77,2276 -static int tachometer;86,2525 -static void wdt_ctr_mode(96,2731 -static void wdt_ctr_load(104,2841 -static int wdt_start(116,3013 -static int wdt_stop 135,3557 -static int wdt_ping(150,3845 -static int wdt_set_heartbeat(168,4371 -static int wdt_get_status(189,4846 -static int wdt_get_temperature(221,5602 -static irqreturn_t wdt_interrupt(241,6075 -static ssize_t wdt_write(289,7338 -static int wdt_ioctl(323,8062 -static int wdt_open(388,9678 -static int wdt_release(411,10283 -static ssize_t wdt_temp_read(436,10896 -static int wdt_temp_open(457,11276 -static int wdt_temp_release(470,11518 -static int wdt_notify_sys(488,11998 -static struct file_operations wdt_fops 503,12227 -static struct miscdevice wdt_miscdev 512,12410 -static struct file_operations wdt_temp_fops 519,12544 -static struct miscdevice temp_miscdev 527,12723 -static struct notifier_block wdt_notifier 539,12976 -static void __exit wdt_exit(553,13411 -static int __init wdt_init(572,13862 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/i8xx_tco.h,263 -#define TCOBASE 32,987 -#define TCO1_RLD 33,1044 -#define TCO1_TMR 34,1117 -#define TCO1_DAT_IN 35,1179 -#define TCO1_DAT_OUT 36,1242 -#define TCO1_STS 37,1306 -#define TCO2_STS 38,1366 -#define TCO1_CNT 39,1426 -#define TCO2_CNT 40,1486 -#define SMI_EN 42,1547 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/sc1200wdt.c,1726 -#define SC1200_MODULE_VER 48,1709 -#define SC1200_MODULE_NAME 49,1752 -#define PFX 50,1791 -#define MAX_TIMEOUT 52,1830 -#define PMIR 53,1872 -#define PMDR 54,1929 -#define FER1 57,2016 -#define FER2 58,2068 -#define PMC1 59,2120 -#define PMC2 60,2169 -#define PMC3 61,2218 -#define WDTO 62,2267 -#define WDCF 63,2318 -#define WDST 64,2368 -#define KBC_IRQ 67,2467 -#define MSE_IRQ 68,2515 -#define UART1_IRQ 69,2549 -#define UART2_IRQ 70,2586 -static char banner[73,2648 -static char banner[] __initdata 73,2648 -static int timeout 74,2715 -static int io 75,2739 -static int io_len 76,2759 -struct semaphore open_sem;77,2811 -static char expect_close;78,2838 -spinlock_t sc1200wdt_lock;79,2864 -static int isapnp 82,2950 -static struct pnp_dev *wdt_dev;83,2973 -static int nowayout 95,3317 -static int nowayout 97,3348 -static inline void sc1200wdt_read_data(106,3552 -static inline void sc1200wdt_write_data(116,3770 -static void sc1200wdt_start(125,3958 -static void sc1200wdt_stop(138,4299 -static inline int sc1200wdt_status(145,4434 -static int sc1200wdt_open(158,4789 -static int sc1200wdt_ioctl(176,5128 -static int sc1200wdt_release(245,6592 -static ssize_t sc1200wdt_write(261,6937 -static int sc1200wdt_notify_sys(287,7326 -static struct notifier_block sc1200wdt_notifier 296,7512 -static struct file_operations sc1200wdt_fops 301,7608 -static struct miscdevice sc1200wdt_miscdev 311,7821 -static int __init sc1200wdt_probe(319,7949 -struct pnp_device_id scl200wdt_pnp_devices[338,8488 -static int scl200wdt_pnp_probe(344,8657 -static void scl200wdt_pnp_remove(363,9166 -static struct pnp_driver scl200wdt_pnp_driver 371,9292 -static int __init sc1200wdt_init(381,9497 -static void __exit sc1200wdt_exit(448,10764 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/ixp4xx_wdt.c,648 -static int nowayout 31,816 -static int nowayout 33,847 -static int heartbeat 35,879 -static unsigned long wdt_status;36,939 -static unsigned long boot_status;37,972 -#define WDT_TICK_RATE 39,1007 -#define WDT_IN_USE 41,1072 -#define WDT_OK_TO_CLOSE 42,1094 -wdt_enable(45,1134 -wdt_disable(55,1348 -ixp4xx_wdt_open(63,1452 -ixp4xx_wdt_write(76,1692 -static struct watchdog_info ident 99,2068 -ixp4xx_wdt_ioctl(107,2248 -ixp4xx_wdt_release(154,3044 -static struct file_operations ixp4xx_wdt_fops 170,3369 -static struct miscdevice ixp4xx_wdt_miscdev 180,3587 -static int __init ixp4xx_wdt_init(187,3723 -static void __exit ixp4xx_wdt_exit(210,4228 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/eurotechwdt.c,1309 -static unsigned long eurwdt_is_open;60,1719 -static int eurwdt_timeout;61,1756 -static char eur_expect_close;62,1783 -static int io 69,1936 -static int irq 70,1959 -static char *ev 71,1980 -#define WDT_TIMEOUT 73,2006 -static int nowayout 76,2093 -static int nowayout 78,2124 -#define WDT_CTRL_REG 88,2327 -#define WDT_OUTPIN_CFG 89,2354 -#define WDT_EVENT_INT 90,2383 -#define WDT_EVENT_REBOOT 91,2411 -#define WDT_UNIT_SEL 92,2441 -#define WDT_UNIT_SECS 93,2468 -#define WDT_TIMEOUT_VAL 94,2496 -#define WDT_TIMER_CFG 95,2526 -static inline void eurwdt_write_reg(110,2856 -static inline void eurwdt_lock_chip(116,2953 -static inline void eurwdt_unlock_chip(121,3017 -static inline void eurwdt_set_timeout(127,3143 -static inline void eurwdt_disable_timer(132,3249 -static void eurwdt_activate_timer(137,3324 -static irqreturn_t eurwdt_interrupt(162,3966 -static void eurwdt_ping(182,4341 -static ssize_t eurwdt_write(199,4804 -static int eurwdt_ioctl(233,5455 -static int eurwdt_open(302,6890 -static int eurwdt_release(324,7572 -static int eurwdt_notify_sys(349,8245 -static struct file_operations eurwdt_fops 365,8495 -static struct miscdevice eurwdt_miscdev 374,8688 -static struct notifier_block eurwdt_notifier 385,8914 -static void __exit eurwdt_exit(399,9355 -static int __init eurwdt_init(418,9745 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/shwdt.c,1105 -#define PFX 36,1094 -static int clock_division_ratio 65,2543 -#define next_ping_period(next_ping_period67,2594 -static unsigned long shwdt_is_open;69,2651 -static struct watchdog_info sh_wdt_info;70,2687 -static char shwdt_expect_close;71,2728 -static struct timer_list timer;72,2760 -static unsigned long next_heartbeat;73,2792 -#define WATCHDOG_HEARTBEAT 75,2830 -static int heartbeat 76,2893 -static int nowayout 79,2986 -static int nowayout 81,3017 -static void sh_wdt_start(89,3124 -static void sh_wdt_stop(136,4326 -static void sh_wdt_keepalive(152,4605 -static int sh_wdt_set_heartbeat(162,4807 -static void sh_wdt_ping(178,5067 -static int sh_wdt_open(203,5574 -static int sh_wdt_close(223,5957 -static ssize_t sh_wdt_write(248,6438 -static int sh_wdt_ioctl(282,7058 -static int sh_wdt_notify_sys(342,8312 -static struct file_operations sh_wdt_fops 352,8504 -static struct watchdog_info sh_wdt_info 361,8700 -static struct notifier_block sh_wdt_notifier 367,8868 -static struct miscdevice sh_wdt_miscdev 371,8959 -static int __init sh_wdt_init(383,9236 -static void __exit sh_wdt_exit(430,10384 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/alim1535_wdt.c,983 -#define WATCHDOG_NAME 25,668 -#define PFX 26,702 -#define WATCHDOG_TIMEOUT 27,733 -static unsigned long ali_is_open;30,816 -static char ali_expect_release;31,850 -static struct pci_dev *ali_pci;32,882 -static u32 ali_timeout_bits;33,914 -static spinlock_t ali_lock;34,977 -static int timeout 37,1056 -static int nowayout 42,1283 -static int nowayout 44,1314 -static void ali_start(57,1621 -static void ali_stop(77,1958 -static void ali_keepalive(97,2386 -static int ali_settimer(109,2558 -static ssize_t ali_write(141,3215 -static int ali_ioctl(180,4135 -static int ali_open(257,5571 -static int ali_release(277,6022 -static int ali_notify_sys(300,6423 -static struct pci_device_id ali_pci_tbl[319,6891 -static int __init ali_find_watchdog(332,7236 -static struct file_operations ali_fops 370,7988 -static struct miscdevice ali_miscdev 379,8167 -static struct notifier_block ali_notifier 385,8281 -static int __init watchdog_init(396,8542 -static void __exit watchdog_exit(447,9676 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/indydog.c,743 -#define PFX 29,817 -static int indydog_alive;30,841 -static int nowayout 33,900 -static int nowayout 35,931 -#define WATCHDOG_TIMEOUT 38,964 -static void indydog_start(43,1162 -static void indydog_stop(51,1311 -static void indydog_ping(61,1496 -static int indydog_open(69,1603 -static int indydog_release(87,1921 -static ssize_t indydog_write(99,2170 -static int indydog_ioctl(108,2339 -static int indydog_notify_sys(155,3335 -static struct file_operations indydog_fops 163,3540 -static struct miscdevice indydog_miscdev 172,3743 -static struct notifier_block indydog_notifier 178,3866 -static char banner[182,3958 -static char banner[] __initdata 182,3958 -static int __init watchdog_init(185,4055 -static void __exit watchdog_exit(209,4513 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/sc520_wdt.c,1462 -#define OUR_NAME 71,2456 -#define PFX 72,2485 -#define WDT_INTERVAL 84,2818 -#define WATCHDOG_TIMEOUT 92,3031 -static int timeout 93,3089 -static int nowayout 98,3394 -static int nowayout 100,3425 -#define MMCR_BASE 109,3649 -#define OFFS_WDTMRCTL 110,3709 -#define WDT_EXP_SEL_01 113,3819 -#define WDT_EXP_SEL_02 114,3897 -#define WDT_EXP_SEL_03 115,3975 -#define WDT_EXP_SEL_04 116,4053 -#define WDT_EXP_SEL_05 117,4131 -#define WDT_EXP_SEL_06 118,4209 -#define WDT_EXP_SEL_07 119,4287 -#define WDT_EXP_SEL_08 120,4365 -#define WDT_IRQ_FLG 121,4443 -#define WDT_WRST_ENB 122,4504 -#define WDT_ENB 123,4571 -static __u16 *wdtmrctl;125,4629 -static struct timer_list timer;128,4697 -static unsigned long next_heartbeat;129,4729 -static unsigned long wdt_is_open;130,4766 -static char wdt_expect_close;131,4800 -static spinlock_t wdt_spinlock;132,4830 -static void wdt_timer_ping(138,4888 -static void wdt_config(163,5427 -static int wdt_startup(181,5929 -static int wdt_turnoff(196,6244 -static int wdt_keepalive(208,6436 -static int wdt_set_heartbeat(215,6549 -static ssize_t fop_write(228,6724 -static int fop_open(255,7340 -static int fop_close(270,7654 -static int fop_ioctl(283,7934 -static struct file_operations wdt_fops 343,9114 -static struct miscdevice wdt_miscdev 352,9295 -static int wdt_notify_sys(362,9443 -static struct notifier_block wdt_notifier 375,9717 -static void __exit sc520_wdt_unload(379,9801 -static int __init sc520_wdt_init(390,9996 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/w83627hf_wdt.c,830 -#define WATCHDOG_NAME 41,1159 -#define PFX 42,1196 -#define WATCHDOG_TIMEOUT 43,1227 -static unsigned long wdt_is_open;45,1286 -static char expect_close;46,1320 -static int wdt_io 49,1419 -static int timeout 53,1541 -static int nowayout 58,1785 -static int nowayout 60,1816 -#define WDT_EFER 70,2015 -#define WDT_EFIR 71,2086 -#define WDT_EFDR 72,2170 -w83627hf_select_wd_register(75,2251 -w83627hf_unselect_wd_register(87,2651 -w83627hf_init(95,2857 -wdt_ctrl(110,3202 -wdt_ping(121,3418 -wdt_disable(128,3480 -wdt_set_heartbeat(135,3539 -wdt_write(145,3654 -wdt_ioctl(167,3998 -wdt_open(231,5169 -wdt_close(244,5366 -wdt_notify_sys(262,5668 -static struct file_operations wdt_fops 276,5892 -static struct miscdevice wdt_miscdev 285,6073 -static struct notifier_block wdt_notifier 296,6288 -wdt_init(301,6390 -wdt_exit(349,7451 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/sa1100_wdt.c,691 -#define OSCR_FREQ 38,1078 -#define SA1100_CLOSE_MAGIC 39,1105 -static unsigned long sa1100wdt_users;41,1146 -static int expect_close;42,1184 -static int pre_margin;43,1209 -static int boot_status;44,1232 -static int nowayout 46,1288 -static int nowayout 48,1319 -static int sa1100dog_open(54,1400 -static int sa1100dog_release(74,1915 -static ssize_t sa1100dog_write(90,2246 -static struct watchdog_info ident 114,2651 -static int sa1100dog_ioctl(120,2819 -static struct file_operations sa1100dog_fops 166,3663 -static struct miscdevice sa1100dog_miscdev 176,3876 -static int margin __initdata 183,4017 -static int __init sa1100dog_init(185,4087 -static void __exit sa1100dog_exit(205,4535 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/i8xx_tco.c,1208 -#define TCO_VERSION 76,2879 -#define TCO_MODULE_NAME 77,2906 -#define TCO_DRIVER_NAME 78,2947 -#define PFX 79,3007 -static unsigned int ACPIBASE;82,3066 -static spinlock_t tco_lock;83,3096 -static unsigned long timer_alive;84,3150 -static char tco_expect_close;85,3184 -static struct pci_dev *i8xx_tco_pci;86,3214 -#define WATCHDOG_HEARTBEAT 89,3276 -static int heartbeat 90,3354 -static int nowayout 95,3610 -static int nowayout 97,3641 -static inline unsigned char seconds_to_ticks(107,3852 -static int tco_timer_start 114,4026 -static int tco_timer_stop 130,4271 -static int tco_timer_keepalive 146,4522 -static int tco_timer_set_heartbeat 154,4648 -static int i8xx_tco_open 185,5211 -static int i8xx_tco_release 199,5514 -static ssize_t i8xx_tco_write 215,5850 -static int i8xx_tco_ioctl 243,6500 -static int i8xx_tco_notify_sys 314,7811 -static struct file_operations i8xx_tco_fops 328,8052 -static struct miscdevice i8xx_tco_miscdev 337,8256 -static struct notifier_block i8xx_tco_notifier 343,8380 -static struct pci_device_id i8xx_tco_pci_tbl[355,8742 -static unsigned char __init i8xx_tco_getdevice 373,9642 -static int __init watchdog_init 429,11137 -static void __exit watchdog_cleanup 483,12443 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/wdt285.c,568 -static unsigned int soft_margin 41,1009 -static unsigned int reload;42,1065 -static unsigned long timer_alive;43,1093 -static void watchdog_fire(49,1181 -static void watchdog_ping(60,1386 -static int watchdog_open(68,1499 -static int watchdog_release(109,2337 -watchdog_write(119,2521 -static struct watchdog_info ident 130,2679 -watchdog_ioctl(136,2798 -static struct file_operations watchdog_fops 181,3657 -static struct miscdevice watchdog_miscdev 190,3865 -static int __init footbridge_watchdog_init(196,3990 -static void __exit footbridge_watchdog_exit(215,4379 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/softdog.c,985 -#define PFX 52,1635 -#define TIMER_MARGIN 54,1660 -static int soft_margin 55,1713 -static int nowayout 60,1969 -static int nowayout 62,2000 -static int soft_noboot 69,2192 -static int soft_noboot 71,2226 -static struct timer_list watchdog_ticktock 83,2506 -static unsigned long timer_alive;85,2593 -static char expect_close;86,2627 -static void watchdog_fire(93,2689 -static int softdog_keepalive(109,2986 -static int softdog_stop(115,3095 -static int softdog_set_heartbeat(121,3173 -static int softdog_open(134,3335 -static int softdog_release(147,3593 -static ssize_t softdog_write(164,3961 -static int softdog_ioctl(190,4387 -static int softdog_notify_sys(231,5326 -static struct file_operations softdog_fops 245,5561 -static struct miscdevice softdog_miscdev 254,5764 -static struct notifier_block softdog_notifier 260,5887 -static char banner[264,5979 -static char banner[] __initdata 264,5979 -static int __init watchdog_init(266,6121 -static void __exit watchdog_exit(297,6896 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/wdt_pci.c,1707 -#define WDT_IS_PCI56,1798 -#define PFX 59,1838 -#define PCI_VENDOR_ID_ACCESSIO 68,2092 -#define PCI_DEVICE_ID_WDG_CSM 71,2167 -static int dev_count;75,2278 -static struct semaphore open_sem;77,2301 -static spinlock_t wdtpci_lock;78,2335 -static char expect_close;79,2366 -static int io;81,2393 -static int irq;82,2408 -#define WD_TIMO 85,2447 -static int heartbeat 87,2506 -static int wd_heartbeat;88,2538 -static int nowayout 93,2750 -static int nowayout 95,2781 -static int tachometer;103,3034 -static void wdtpci_ctr_mode(113,3246 -static void wdtpci_ctr_load(121,3359 -static int wdtpci_start(133,3537 -static int wdtpci_stop 171,4642 -static int wdtpci_ping(190,5049 -static int wdtpci_set_heartbeat(212,5696 -static int wdtpci_get_status(234,6224 -static int wdtpci_get_temperature(266,6998 -static irqreturn_t wdtpci_interrupt(286,7481 -static ssize_t wdtpci_write(334,8787 -static int wdtpci_ioctl(368,9482 -static int wdtpci_open(433,11128 -static int wdtpci_release(460,11783 -static ssize_t wdtpci_temp_read(485,12377 -static int wdtpci_temp_open(506,12766 -static int wdtpci_temp_release(519,13014 -static int wdtpci_notify_sys(537,13501 -static struct file_operations wdtpci_fops 552,13737 -static struct miscdevice wdtpci_miscdev 561,13935 -static struct file_operations wdtpci_temp_fops 568,14079 -static struct miscdevice temp_miscdev 576,14270 -static struct notifier_block wdtpci_notifier 588,14530 -static int __devinit wdtpci_init_one 593,14621 -static void __devexit wdtpci_remove_one 690,17007 -static struct pci_device_id wdtpci_pci_tbl[706,17453 -static struct pci_driver wdtpci_driver 718,17717 -static void __exit wdtpci_cleanup(736,18238 -static int __init wdtpci_init(750,18536 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/machzwd.c,2140 -#define ZF_IOBASE 50,1496 -#define INDEX 51,1520 -#define DATA_B 52,1541 -#define DATA_W 53,1563 -#define DATA_D 54,1585 -#define ZFL_VERSION 57,1635 -#define CONTROL 58,1671 -#define STATUS 59,1704 -#define COUNTER_1 60,1736 -#define COUNTER_2 61,1770 -#define PULSE_LEN 62,1804 -#define ENABLE_WD1 65,1854 -#define ENABLE_WD2 66,1880 -#define RESET_WD1 67,1906 -#define RESET_WD2 68,1931 -#define GEN_SCI 69,1956 -#define GEN_NMI 70,1980 -#define GEN_SMI 71,2004 -#define GEN_RESET 72,2028 -#define WD1 77,2072 -#define WD2 78,2086 -#define zf_writew(zf_writew80,2101 -#define zf_writeb(zf_writeb81,2175 -#define zf_get_ZFL_version(zf_get_ZFL_version82,2249 -static unsigned short zf_readw(85,2304 -static unsigned short zf_readb(91,2401 -static int nowayout 104,2709 -static int nowayout 106,2740 -#define PFX 112,2912 -static struct watchdog_info zf_info 114,2935 -static int action 129,3244 -static int zf_action 133,3400 -static unsigned long zf_is_open;134,3434 -static char zf_expect_close;135,3467 -static spinlock_t zf_lock;136,3496 -static spinlock_t zf_port_lock;137,3523 -static struct timer_list zf_timer;138,3555 -static unsigned long next_heartbeat 139,3590 -#define ZF_USER_TIMEO 143,3685 -#define ZF_HW_TIMEO 146,3761 -#define ZF_CTIMEOUT 149,3849 -# define dprintk(dprintk152,3894 -# define dprintk(dprintk154,3934 -static inline unsigned char zf_get_status(160,4085 -static inline void zf_set_status(165,4164 -static inline unsigned short zf_get_control(173,4281 -static inline void zf_set_control(178,4363 -static inline unsigned short zf_get_timer(189,4520 -static inline void zf_set_timer(205,4743 -static void zf_timer_off(220,4988 -static void zf_timer_on(243,5500 -static void zf_ping(272,6099 -static ssize_t zf_write(305,6871 -static int zf_ioctl(348,7695 -static int zf_open(373,8137 -static int zf_close(391,8435 -static int zf_notify_sys(413,8815 -static struct file_operations zf_fops 426,9005 -static struct miscdevice zf_miscdev 435,9228 -static struct notifier_block zf_notifier 446,9445 -static void __init zf_show_action(450,9527 -static int __init zf_init(457,9692 -void __exit zf_exit(520,10897 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/cpu5wdt.c,1022 -static int verbose 38,1144 -static int port 39,1168 -static int ticks 40,1192 -#define PFX 42,1219 -#define CPU5WDT_EXTENT 44,1246 -#define CPU5WDT_STATUS_REG 46,1284 -#define CPU5WDT_TIME_A_REG 47,1321 -#define CPU5WDT_TIME_B_REG 48,1358 -#define CPU5WDT_MODE_REG 49,1395 -#define CPU5WDT_TRIGGER_REG 50,1432 -#define CPU5WDT_ENABLE_REG 51,1469 -#define CPU5WDT_RESET_REG 52,1506 -#define CPU5WDT_INTERVAL 54,1544 -} cpu5wdt_device;65,1756 -static void cpu5wdt_trigger(69,1807 -static void cpu5wdt_reset(92,2280 -static void cpu5wdt_start(101,2434 -static int cpu5wdt_stop(117,2896 -static int cpu5wdt_open(132,3140 -static int cpu5wdt_release(140,3317 -static int cpu5wdt_ioctl(146,3438 -static ssize_t cpu5wdt_write(189,4395 -static struct file_operations cpu5wdt_fops 199,4565 -static struct miscdevice cpu5wdt_misc 208,4768 -static int __devinit cpu5wdt_init(216,4911 -static int __devinit cpu5wdt_init_module(262,5864 -static void __devexit cpu5wdt_exit(267,5940 -static void __devexit cpu5wdt_exit_module(280,6153 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/wafer5823wdt.c,832 -#define WATCHDOG_NAME 42,1238 -#define PFX 43,1277 -#define WD_TIMO 44,1308 -static unsigned long wafwdt_is_open;46,1359 -static char expect_close;47,1396 -static spinlock_t wafwdt_lock;48,1422 -static int wdt_stop 59,1784 -static int wdt_start 60,1813 -static int timeout 62,1844 -static int nowayout 67,2072 -static int nowayout 69,2103 -static void wafwdt_ping(75,2275 -static void wafwdt_start(84,2421 -wafwdt_stop(92,2542 -static ssize_t wafwdt_write(98,2604 -static int wafwdt_ioctl(123,3198 -static int wafwdt_open(187,4408 -wafwdt_close(200,4631 -static int wafwdt_notify_sys(217,4942 -static struct file_operations wafwdt_fops 230,5179 -static struct miscdevice wafwdt_miscdev 239,5375 -static struct notifier_block wafwdt_notifier 250,5596 -static int __init wafwdt_init(254,5686 -static void __exit wafwdt_exit(313,6993 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/w83877f_wdt.c,1198 -#define OUR_NAME 58,2453 -#define PFX 59,2484 -#define ENABLE_W83877F_PORT 61,2511 -#define ENABLE_W83877F 62,2545 -#define DISABLE_W83877F 63,2573 -#define WDT_PING 64,2602 -#define WDT_REGISTER 65,2625 -#define WDT_ENABLE 66,2651 -#define WDT_DISABLE 67,2675 -#define WDT_INTERVAL 74,2869 -#define WATCHDOG_TIMEOUT 82,3082 -static int timeout 83,3150 -static int nowayout 89,3456 -static int nowayout 91,3487 -static struct timer_list timer;98,3702 -static unsigned long next_heartbeat;99,3734 -static unsigned long wdt_is_open;100,3771 -static char wdt_expect_close;101,3805 -static spinlock_t wdt_spinlock;102,3835 -static void wdt_timer_ping(108,3893 -static void wdt_change(136,4444 -static void wdt_startup(158,4960 -static void wdt_turnoff(171,5210 -static void wdt_keepalive(181,5377 -static ssize_t fop_write(191,5514 -static int fop_open(221,6164 -static int fop_close(232,6429 -static int fop_ioctl(245,6722 -static struct file_operations wdt_fops 307,7965 -static struct miscdevice wdt_miscdev 316,8146 -static int wdt_notify_sys(326,8294 -static struct notifier_block wdt_notifier=339,8568 -static void __exit w83877f_wdt_unload(344,8651 -static int __init w83877f_wdt_init(356,8881 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/wd501p.h,558 -#define WDT_COUNT0 24,426 -#define WDT_COUNT1 25,453 -#define WDT_COUNT2 26,480 -#define WDT_CR 27,507 -#define WDT_SR 28,531 -#define WDT_RT 29,587 -#define WDT_BUZZER 30,642 -#define WDT_DC 31,707 -#define WDT_CLOCK 35,827 -#define WDT_OPTONOTRST 37,937 -#define WDT_OPTORST 39,1031 -#define WDT_PROGOUT 41,1116 -#define WDC_SR_WCCR 44,1200 -#define WDC_SR_TGOOD 45,1258 -#define WDC_SR_ISOI0 46,1303 -#define WDC_SR_ISII1 47,1348 -#define WDC_SR_FANGOOD 48,1393 -#define WDC_SR_PSUOVER 49,1441 -#define WDC_SR_PSUUNDR 50,1503 -#define WDC_SR_IRQ 51,1565 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/alim7101_wdt.c,1101 -#define OUR_NAME 34,989 -#define PFX 35,1021 -#define WDT_ENABLE 37,1048 -#define WDT_DISABLE 38,1072 -#define ALI_7101_WDT 40,1098 -#define ALI_WDT_ARM 41,1127 -#define WDT_INTERVAL 47,1267 -#define WATCHDOG_TIMEOUT 55,1480 -static int timeout 56,1548 -static struct timer_list timer;61,1864 -static unsigned long next_heartbeat;62,1896 -static unsigned long wdt_is_open;63,1933 -static char wdt_expect_close;64,1967 -static struct pci_dev *alim7101_pmu;65,1997 -static int nowayout 68,2067 -static int nowayout 70,2098 -static void wdt_timer_ping(80,2295 -static void wdt_change(105,2968 -static void wdt_startup(116,3255 -static void wdt_turnoff(133,3601 -static void wdt_keepalive(141,3771 -static ssize_t fop_write(151,3908 -static int fop_open(177,4505 -static int fop_close(187,4769 -static int fop_ioctl(200,5095 -static struct file_operations wdt_fops 261,6339 -static struct miscdevice wdt_miscdev 270,6513 -static int wdt_notify_sys(280,6655 -static struct notifier_block wdt_notifier=302,7271 -static void __exit alim7101_wdt_unload(307,7354 -static int __init alim7101_wdt_init(315,7514 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/scx200_wdt.c,935 -#define NAME 35,1099 -#define CONFIG_WATCHDOG_NOWAYOUT 43,1336 -static int margin 46,1379 -static int nowayout 50,1508 -static u16 wdto_restart;54,1655 -static struct semaphore open_semaphore;55,1680 -static char expect_close;56,1720 -#define W_ENABLE 59,1781 -#define W_DISABLE 60,1828 -#define W_SCALE 63,1955 -static void scx200_wdt_ping(65,1985 -static void scx200_wdt_update_margin(70,2079 -static void scx200_wdt_enable(76,2224 -static void scx200_wdt_disable(88,2547 -static int scx200_wdt_open(97,2811 -static int scx200_wdt_release(107,3030 -static int scx200_wdt_notify_sys(120,3345 -static struct notifier_block scx200_wdt_notifier 130,3568 -static ssize_t scx200_wdt_write(135,3666 -static int scx200_wdt_ioctl(160,4054 -static struct file_operations scx200_wdt_fops 202,4996 -static struct miscdevice scx200_wdt_miscdev 211,5218 -static int __init scx200_wdt_init(217,5340 -static void __exit scx200_wdt_cleanup(272,6672 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/sbc60xxwdt.c,970 -#define OUR_NAME 64,2702 -#define PFX 65,2732 -static int wdt_stop 71,2832 -static int wdt_start 75,2966 -#define WDT_INTERVAL 85,3294 -#define WATCHDOG_TIMEOUT 96,3689 -static int timeout 97,3747 -static int nowayout 102,4052 -static int nowayout 104,4083 -static struct timer_list timer;111,4298 -static unsigned long next_heartbeat;112,4330 -static unsigned long wdt_is_open;113,4367 -static char wdt_expect_close;114,4401 -static void wdt_timer_ping(120,4457 -static void wdt_startup(141,4927 -static void wdt_turnoff(151,5150 -static void wdt_keepalive(159,5307 -static ssize_t fop_write(169,5444 -static int fop_open(199,6108 -static int fop_close(215,6423 -static int fop_ioctl(228,6716 -static struct file_operations wdt_fops 290,7959 -static struct miscdevice wdt_miscdev 299,8140 -static int wdt_notify_sys(309,8288 -static struct notifier_block wdt_notifier=322,8562 -static void __exit sbc60xxwdt_unload(327,8645 -static int __init sbc60xxwdt_init(340,8917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/acquirewdt.c,733 -#define WATCHDOG_NAME 66,2436 -#define PFX 67,2472 -#define WATCHDOG_HEARTBEAT 68,2503 -static unsigned long acq_is_open;70,2598 -static char expect_close;71,2632 -static int wdt_stop 77,2737 -static int wdt_start 81,2871 -static int nowayout 86,3043 -static int nowayout 88,3074 -static void acq_keepalive(98,3273 -static void acq_stop(104,3359 -static ssize_t acq_write(114,3469 -static int acq_ioctl(141,4111 -static int acq_open(195,5102 -static int acq_close(208,5343 -static int acq_notify_sys(225,5647 -static struct file_operations acq_fops 239,5874 -static struct miscdevice acq_miscdev=248,6055 -static struct notifier_block acq_notifier 260,6274 -static int __init acq_init(265,6358 -static void __exit acq_exit(317,7474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/ixp2000_wdt.c,662 -static int nowayout 34,933 -static int nowayout 36,964 -static unsigned int heartbeat 38,996 -static unsigned long wdt_status;39,1065 -#define WDT_IN_USE 41,1099 -#define WDT_OK_TO_CLOSE 42,1121 -static unsigned long wdt_tick_rate;44,1149 -wdt_enable(47,1198 -wdt_disable(56,1485 -wdt_keepalive(62,1559 -ixp2000_wdt_open(68,1658 -ixp2000_wdt_write(81,1899 -static struct watchdog_info ident 105,2280 -ixp2000_wdt_ioctl(112,2441 -ixp2000_wdt_release(160,3232 -static struct file_operations ixp2000_wdt_fops 176,3558 -static struct miscdevice ixp2000_wdt_miscdev 186,3781 -static int __init ixp2000_wdt_init(193,3920 -static void __exit ixp2000_wdt_exit(200,4059 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/char/watchdog/pcwd.c,2742 -#define WD_VER 73,3074 -#define PFX 74,3126 -#define PCWD_REVISION_A 83,3467 -#define PCWD_REVISION_C 84,3494 -#define WD_WDRST 90,3633 -#define WD_T110 91,3699 -#define WD_HRTBT 92,3769 -#define WD_RLY2 93,3828 -#define WD_SRLY2 94,3896 -#define WD_REVC_WTRP 100,4085 -#define WD_REVC_HRBT 101,4149 -#define WD_REVC_TTRP 102,4211 -#define ISA_COMMAND_TIMEOUT 106,4402 -#define CMD_ISA_IDLE 109,4475 -#define CMD_ISA_VERSION_INTEGER 110,4520 -#define CMD_ISA_VERSION_TENTH 111,4565 -#define CMD_ISA_VERSION_HUNDRETH 112,4610 -#define CMD_ISA_VERSION_MINOR 113,4655 -#define CMD_ISA_SWITCH_SETTINGS 114,4700 -#define CMD_ISA_DELAY_TIME_2SECS 115,4745 -#define CMD_ISA_DELAY_TIME_4SECS 116,4790 -#define CMD_ISA_DELAY_TIME_8SECS 117,4835 -#define WDT_INTERVAL 125,5037 -static int cards_found;128,5134 -static atomic_t open_allowed 131,5184 -static char expect_close;132,5231 -static struct timer_list timer;133,5257 -static unsigned long next_heartbeat;134,5289 -static int temp_panic;135,5326 -static int revision;136,5349 -static int supports_temp;137,5398 -static int command_mode;138,5479 -static int initial_status;139,5553 -static int current_readport;140,5610 -static spinlock_t io_lock;141,5668 -#define WATCHDOG_HEARTBEAT 144,5720 -static int heartbeat 145,5782 -static int nowayout 150,6024 -static int nowayout 152,6055 -static int send_isa_command(162,6257 -static int set_command_mode(187,6787 -static void unset_command_mode(213,7326 -static void pcwd_timer_ping(224,7538 -static int pcwd_start(254,8332 -static int pcwd_stop(278,8828 -static int pcwd_keepalive(302,9330 -static int pcwd_set_heartbeat(309,9446 -static int pcwd_get_status(318,9590 -static int pcwd_clear_status(366,10737 -static int pcwd_get_temperature(376,10938 -static int pcwd_ioctl(401,11413 -static ssize_t pcwd_write(485,12924 -static int pcwd_open(509,13316 -static int pcwd_close(525,13613 -static ssize_t pcwd_temp_read(542,13922 -static int pcwd_temp_open(556,14176 -static int pcwd_temp_close(564,14326 -static int pcwd_notify_sys(573,14434 -static struct file_operations pcwd_fops 587,14664 -static struct miscdevice pcwd_miscdev 596,14850 -static struct file_operations pcwd_temp_fops 602,14966 -static struct miscdevice temp_miscdev 610,15147 -static struct notifier_block pcwd_notifier 616,15267 -static inline void get_support(624,15385 -static inline int get_revision(630,15484 -static inline char *get_firmware(645,15806 -static inline int get_option_switches(668,16310 -static int __devinit pcwatchdog_init(681,16516 -static void __devexit pcwatchdog_exit(820,20621 -static int __init pcwd_checkcard(842,21306 -static int pcwd_ioports[889,22425 -static int __init pcwd_init_module(891,22486 -static void __exit pcwd_cleanup_module(912,22846 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/daisy.c,719 -#define DPRINTK(DPRINTK33,1032 -#define DPRINTK(DPRINTK35,1079 -static struct daisydev daisydev38,1113 -} *topology 43,1210 -static spinlock_t topology_lock 44,1230 -static int numdevs 46,1285 -static void add_dev 55,1601 -static struct parport *clone_parport 73,2070 -int parport_daisy_init 91,2569 -void parport_daisy_fini 174,4734 -struct pardevice *parport_open 217,5812 -void parport_close 273,6986 -int parport_device_num 290,7481 -static int cpp_daisy 308,7882 -static int cpp_mux 356,9303 -void parport_daisy_deselect_all 385,10142 -int parport_daisy_select 390,10227 -static int mux_present 421,11053 -static int num_mux_ports 426,11139 -static int select_port 431,11222 -static int assign_addrs 437,11354 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_mfc3.c,1305 -#define MAX_MFC 69,2274 -#define DPRINTK 73,2319 -static inline int DPRINTK(75,2348 -static struct parport *this_port[78,2414 -static volatile int dummy;79,2468 -#define pia(pia81,2521 -static struct parport_operations pp_mfc3_ops;82,2566 -static void mfc3_write_data(84,2613 -static unsigned char mfc3_read_data(93,2825 -static unsigned char control_pc_to_mfc3(99,2959 -static unsigned char control_mfc3_to_pc(114,3385 -static void mfc3_write_control(128,3769 -static unsigned char mfc3_read_control(134,3969 -static unsigned char mfc3_frob_control(140,4121 -static unsigned char status_pc_to_mfc3(151,4430 -static unsigned char status_mfc3_to_pc(169,4845 -static void mfc3_write_status(188,5304 -static unsigned char mfc3_read_status(195,5505 -static void mfc3_change_mode(205,5736 -static int use_cnt 212,5901 -static irqreturn_t mfc3_interrupt(214,5926 -static void mfc3_enable_irq(227,6279 -static void mfc3_disable_irq(232,6366 -static void mfc3_data_forward(237,6455 -static void mfc3_data_reverse(245,6724 -static void mfc3_init_state(253,6990 -static void mfc3_save_state(261,7174 -static void mfc3_restore_state(273,7497 -static struct parport_operations pp_mfc3_ops 285,7823 -static int __init parport_mfc3_init(323,8940 -static void __exit parport_mfc3_exit(380,10319 -module_init(403,10938 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_pc.c,6760 -#define PARPORT_PC_MAX_PORTS 67,2023 -#define ECR_SPP 70,2081 -#define ECR_PS2 71,2100 -#define ECR_PPF 72,2119 -#define ECR_ECP 73,2138 -#define ECR_EPP 74,2157 -#define ECR_VND 75,2176 -#define ECR_TST 76,2195 -#define ECR_CNF 77,2214 -#define ECR_MODE_MASK 78,2233 -#define ECR_WRITE(ECR_WRITE79,2260 -#define DPRINTK 84,2339 -#define DPRINTK(DPRINTK86,2369 -#define NR_SUPERIOS 90,2404 -static struct superio_struct superio_struct91,2426 -} superios[95,2525 -} superios[NR_SUPERIOS] __devinitdata 95,2525 -static int user_specified;97,2576 -static int verbose_probing;100,2720 -static int pci_registered_parport;102,2755 -static int pnp_registered_parport;103,2790 -static void frob_econtrol 106,2858 -static __inline__ void frob_set_mode 120,3161 -static int change_mode(132,3475 -static int get_fifo_residue 195,5010 -static int clear_epp_timeout(243,6167 -static irqreturn_t parport_pc_interrupt(268,6780 -void parport_pc_init_state(275,6985 -void parport_pc_save_state(287,7283 -void parport_pc_restore_state(295,7505 -static size_t parport_pc_epp_read_data 306,7821 -static size_t parport_pc_epp_write_data 374,9467 -static size_t parport_pc_epp_read_addr 403,10090 -static size_t parport_pc_epp_write_addr 428,10587 -static size_t parport_pc_ecpepp_read_data 454,11115 -static size_t parport_pc_ecpepp_write_data 468,11454 -static size_t parport_pc_ecpepp_read_addr 483,11823 -static size_t parport_pc_ecpepp_write_addr 497,12162 -static size_t parport_pc_fifo_write_block_pio 514,12592 -static size_t parport_pc_fifo_write_block_dma 610,14848 -size_t parport_pc_compat_write_block_pio 734,18101 -size_t parport_pc_ecp_write_block_pio 811,20320 -size_t parport_pc_ecp_read_block_pio 926,23765 -struct parport_operations parport_pc_ops 1158,30764 -static void __devinit show_parconfig_smsc37c669(1197,31962 -static void __devinit show_parconfig_winbond(1274,34114 -static void __devinit decode_winbond(1337,35994 -static void __devinit decode_smsc(1373,37278 -static void __devinit winbond_check(1402,38002 -static void __devinit winbond_check2(1436,38880 -static void __devinit smsc_check(1469,39816 -static void __devinit detect_and_report_winbond 1509,40831 -static void __devinit detect_and_report_smsc 1522,41207 -static int __devinit get_superio_dma 1533,41507 -static int __devinit get_superio_irq 1543,41715 -static int __devinit parport_SPP_supported(1565,42349 -static int __devinit parport_ECR_present(1646,44726 -static int __devinit parport_PS2_supported(1698,46322 -static int __devinit parport_ECP_supported(1727,46906 -static int __devinit parport_ECPPS2_supported(1854,50136 -static int __devinit parport_EPP_supported(1872,50494 -static int __devinit parport_ECPEPP_supported(1917,51765 -static int __devinit parport_PS2_supported(1949,52555 -static int __devinit parport_ECP_supported(1951,52662 -static int __devinit parport_EPP_supported(1953,52746 -static int __devinit parport_ECPEPP_supported(1954,52823 -static int __devinit parport_ECPPS2_supported(1955,52900 -static int __devinit programmable_irq_support(1962,53109 -static int __devinit irq_probe_ECP(1979,53489 -static int __devinit irq_probe_EPP(2007,54130 -static int __devinit irq_probe_SPP(2046,54920 -static int __devinit parport_irq_probe(2059,55305 -static int __devinit programmable_dma_support 2093,56101 -static int __devinit parport_dma_probe 2110,56482 -static spinlock_t ports_lock 2128,57012 -struct parport *parport_pc_probe_port 2130,57064 -#define printmode(printmode2244,60186 -void parport_pc_unregister_port 2346,62641 -static int __devinit sio_ite_8872_probe 2380,63563 -static int __devinit sio_via_686a_probe 2485,66553 -enum parport_pc_sio_types parport_pc_sio_types2592,69061 - sio_via_686a 2593,69089 - sio_ite_8872,2594,69150 - last_sio2595,69165 -static struct parport_pc_superio parport_pc_superio2599,69237 -} parport_pc_superio_info[2601,69336 -} parport_pc_superio_info[] __devinitdata 2601,69336 -enum parport_pc_pci_cards parport_pc_pci_cards2607,69439 - siig_1p_10x 2608,69467 - siig_1p_10x = last_sio,2608,69467 - siig_2p_10x,2609,69492 - siig_1p_20x,2610,69506 - siig_2p_20x,2611,69520 - lava_parallel,2612,69534 - lava_parallel_dual_a,2613,69550 - lava_parallel_dual_b,2614,69573 - boca_ioppar,2615,69596 - plx_9050,2616,69610 - timedia_4078a,2617,69621 - timedia_4079h,2618,69637 - timedia_4085h,2619,69653 - timedia_4088a,2620,69669 - timedia_4089a,2621,69685 - timedia_4095a,2622,69701 - timedia_4096a,2623,69717 - timedia_4078u,2624,69733 - timedia_4079a,2625,69749 - timedia_4085u,2626,69765 - timedia_4079r,2627,69781 - timedia_4079s,2628,69797 - timedia_4079d,2629,69813 - timedia_4079e,2630,69829 - timedia_4079f,2631,69845 - timedia_9079a,2632,69861 - timedia_9079b,2633,69877 - timedia_9079c,2634,69893 - timedia_4006a,2635,69909 - timedia_4014,2636,69925 - timedia_4008a,2637,69940 - timedia_4018,2638,69956 - timedia_9018a,2639,69971 - syba_2p_epp,2640,69987 - syba_1p_ecp,2641,70001 - titan_010l,2642,70015 - titan_1284p2,2643,70028 - avlab_1p,2644,70043 - avlab_2p,2645,70054 - oxsemi_954,2646,70065 - oxsemi_840,2647,70078 - aks_0100,2648,70091 - mobility_pp,2649,70102 - netmos_9705,2650,70116 - netmos_9805,2651,70130 - netmos_9815,2652,70144 - netmos_9855,2653,70158 - netmos_9735,2654,70172 - netmos_9835,2655,70186 - netmos_9755,2656,70200 - netmos_97152657,70214 -static struct parport_pc_pci parport_pc_pci2663,70319 -} cards[2680,70991 -} cards[] __devinitdata 2680,70991 -static struct pci_device_id parport_pc_pci_tbl[2737,74115 -static int parport_pc_pci_probe 2824,78553 -static struct pci_driver parport_pc_pci_driver 2871,79920 -static int __init parport_pc_init_superio 2877,80065 -static struct pci_driver parport_pc_pci_driver;2897,80556 -static int __init parport_pc_init_superio(2898,80604 -static const struct pnp_device_id parport_pc_pnp_tbl[2902,80710 -static int parport_pc_pnp_probe(2912,80957 -static void parport_pc_pnp_remove(2950,81861 -static struct pnp_driver parport_pc_pnp_driver 2960,82120 -static int __init __attribute__(2969,82373 -static int __init parport_pc_find_ports 2994,83220 -static int __initdata io[3033,84185 -static int __initdata io_hi[3034,84274 -static int __initdata dmaval[3036,84383 -static int __initdata irqval[3037,84491 -static int __init parport_parse_param(3039,84605 -static int __init parport_parse_irq(3063,85088 -static int __init parport_parse_dma(3069,85249 -static const char *irq[3076,85441 -static const char *dma[3077,85487 -static int __init parse_parport_params(3093,86210 -static int parport_setup_ptr __initdata 3139,87174 -static int __init parport_setup 3150,87364 -static int __init parse_parport_params(3199,88395 -static int __init parport_pc_init(3209,88550 -static void __exit parport_pc_exit(3235,89075 -module_init(3259,89745 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_cs.c,727 -#define INT_MODULE_PARM(INT_MODULE_PARM67,2457 -static int irq_list[71,2604 -#define DEBUG(DEBUG78,2761 -static char *version 79,2829 -#define DEBUG(DEBUG82,2913 -#define FORCE_EPP_MODE 87,3021 -typedef struct parport_info_t parport_info_t89,3050 -} parport_info_t;parport_info_t94,3168 -static dev_info_t dev_info 103,3451 -static dev_link_t *dev_list 104,3494 -static dev_link_t *parport_attach(114,3841 -static void parport_detach(173,5763 -#define CS_CHECK(CS_CHECK209,6725 -void parport_config(212,6832 -void parport_cs_release(319,10439 -int parport_event(352,11390 -static struct pcmcia_driver parport_cs_driver 387,12281 -static int __init init_parport_cs(396,12454 -static void __exit exit_parport_cs(401,12551 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/procfs.c,1834 -#define PARPORT_MIN_TIMESLICE_VALUE 30,769 -#define PARPORT_MAX_TIMESLICE_VALUE 31,810 -#define PARPORT_MIN_SPINTIME_VALUE 32,867 -#define PARPORT_MAX_SPINTIME_VALUE 33,904 -static int do_active_device(35,945 -static int do_autoprobe(72,1644 -static int do_hardware_base_addr 114,2610 -static int do_hardware_irq 142,3156 -static int do_hardware_dma 170,3676 -static int do_hardware_modes 198,4196 -#define printmode(printmode215,4548 -#define PARPORT_PORT_DIR(PARPORT_PORT_DIR237,4960 -#define PARPORT_PARPORT_DIR(PARPORT_PARPORT_DIR238,5026 -#define PARPORT_DEV_DIR(PARPORT_DEV_DIR240,5149 -#define PARPORT_DEVICES_ROOT_DIR 241,5221 -static const unsigned long parport_min_timeslice_value 244,5350 -static const unsigned long parport_max_timeslice_value 247,5437 -static const int parport_min_spintime_value 250,5524 -static const int parport_max_spintime_value 253,5600 -struct parport_sysctl_table parport_sysctl_table257,5676 -static const struct parport_sysctl_table parport_sysctl_template 266,5872 -struct parport_device_sysctl_tableparport_device_sysctl_table313,7227 -parport_device_sysctl_template 325,7509 -struct parport_default_sysctl_tableparport_default_sysctl_table341,7958 -parport_default_sysctl_table 354,8274 -int parport_proc_register(380,9092 -int parport_proc_unregister(417,9925 -int parport_device_proc_register(428,10162 -int parport_device_proc_unregister(473,11347 -static int __init parport_default_proc_register(484,11608 -static void __exit parport_default_proc_unregister(491,11790 -int parport_proc_register(502,12071 -int parport_proc_unregister(507,12133 -int parport_device_proc_register(512,12197 -int parport_device_proc_unregister(517,12272 -static int __init parport_default_proc_register 522,12349 -static void __exit parport_default_proc_unregister 527,12420 -module_init(532,12490 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_serial.c,1381 -enum parport_pc_pci_cards parport_pc_pci_cards33,963 - titan_110l 34,991 - titan_210l,35,1008 - netmos_9735,36,1021 - netmos_9835,37,1035 - avlab_1s1p,38,1049 - avlab_1s1p_650,39,1062 - avlab_1s1p_850,40,1079 - avlab_1s2p,41,1096 - avlab_1s2p_650,42,1109 - avlab_1s2p_850,43,1126 - avlab_2s1p,44,1143 - avlab_2s1p_650,45,1156 - avlab_2s1p_850,46,1173 - siig_1s1p_10x,47,1190 - siig_2s1p_10x,48,1206 - siig_2p1s_20x,49,1222 - siig_1s1p_20x,50,1238 - siig_2s1p_20x,51,1254 -static struct parport_pc_pci parport_pc_pci56,1333 -} cards[73,2005 -} cards[] __devinitdata 73,2005 -static struct pci_device_id parport_serial_pci_tbl[94,2872 -struct pci_board_no_ids pci_board_no_ids149,5660 -static int __devinit siig10x_init_fn(160,5877 -static int __devinit siig20x_init_fn(165,6021 -static struct pci_board_no_ids pci_boards[170,6165 -static struct pci_board_no_ids pci_boards[] __devinitdata 170,6165 -struct parport_serial_private parport_serial_private201,7864 -static int __devinit get_pci_port 209,8009 -static int __devinit serial_register 271,9587 -static int __devinit parport_register 311,10628 -static int __devinit parport_serial_pci_probe 354,11930 -static void __devexit parport_serial_pci_remove 391,12658 -static struct pci_driver parport_serial_pci_driver 413,13130 -static int __init parport_serial_init 421,13344 -static void __exit parport_serial_exit 426,13448 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/ieee1284_ops.c,621 -#define DPRINTK(DPRINTK31,891 -#define DPRINTK(DPRINTK33,938 -size_t parport_ieee1284_write_compat 41,1114 -size_t parport_ieee1284_read_nibble 151,4062 -size_t parport_ieee1284_read_byte 245,6334 -int ecp_forward_to_reverse 340,8709 -int ecp_reverse_to_forward 374,9505 -size_t parport_ieee1284_ecp_write_data 409,10320 -size_t parport_ieee1284_ecp_read_data 496,12543 -size_t parport_ieee1284_ecp_write_addr 645,16486 -size_t parport_ieee1284_epp_write_data 737,18804 -size_t parport_ieee1284_epp_read_data 781,20066 -size_t parport_ieee1284_epp_write_addr 825,21237 -size_t parport_ieee1284_epp_read_addr 869,22495 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_arc.c,381 -#define DATA_ADDRESS 31,1013 -#define PORT_BASE 34,1120 -static unsigned char data_copy;38,1272 -static void arc_enable_irq(42,1422 -static void arc_disable_irq(47,1494 -static void arc_interrupt(52,1568 -static void arc_write_data(57,1704 -static unsigned char arc_read_data(63,1821 -static struct parport_operations parport_arc_ops 68,1899 -static int parport_arc_init(107,2998 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/probe.c,148 -} classes[17,402 -static void pretty_print(35,928 -static char *strdup(51,1275 -static void parse_data(59,1416 -ssize_t parport_device_id 141,3631 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/share.c,1267 -#define PARPORT_DEFAULT_TIMESLICE 39,1080 -unsigned long parport_default_timeslice 41,1122 -int parport_default_spintime 42,1191 -static spinlock_t parportlist_lock 45,1271 -static spinlock_t full_list_lock 49,1412 -static void dead_write_lines 56,1589 -static unsigned char dead_read_lines 57,1657 -static unsigned char dead_frob_lines 58,1728 -static void dead_onearg 60,1841 -static void dead_initstate 61,1887 -static void dead_state 62,1965 -static size_t dead_write 63,2037 -static size_t dead_read 65,2128 -static struct parport_operations dead_ops 67,2212 -static void attach_driver_chain(104,3246 -static void detach_driver_chain(113,3495 -static void get_lowlevel_driver 122,3735 -int parport_register_driver 154,4934 -void parport_unregister_driver 187,5870 -static void free_port 198,6104 -struct parport *parport_get_port 229,6888 -void parport_put_port 243,7189 -struct parport *parport_register_port(281,8537 -void parport_announce_port 364,10907 -void parport_remove_port(413,12316 -parport_register_device(525,16465 -void parport_unregister_device(638,19466 -struct parport *parport_find_number 706,21045 -struct parport *parport_find_base 736,21770 -int parport_claim(766,22610 -int parport_claim_or_block(876,25713 -void parport_release(936,27340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_amiga.c,1066 -#define DPRINTK 29,879 -#define DPRINTK(DPRINTK31,908 -static struct parport *this_port 34,955 -static void amiga_write_data(36,997 -static unsigned char amiga_read_data(44,1202 -static unsigned char control_pc_to_amiga(51,1349 -static unsigned char control_amiga_to_pc(67,1794 -static void amiga_write_control(75,2073 -static unsigned char amiga_read_control(81,2240 -static unsigned char amiga_frob_control(87,2377 -static unsigned char status_pc_to_amiga(98,2690 -static unsigned char status_amiga_to_pc(116,3133 -static unsigned char amiga_read_status(131,3559 -static irqreturn_t amiga_interrupt(141,3833 -static void amiga_enable_irq(147,3999 -static void amiga_disable_irq(152,4085 -static void amiga_data_forward(157,4173 -static void amiga_data_reverse(164,4310 -static void amiga_init_state(171,4443 -static void amiga_save_state(179,4625 -static void amiga_restore_state(189,4853 -static struct parport_operations pp_amiga_ops 199,5119 -static int __init parport_amiga_init(237,6248 -static void __exit parport_amiga_exit(277,7056 -module_init(292,7499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/ieee1284.c,592 -#define DPRINTK(DPRINTK36,1075 -#define DPRINTK(DPRINTK38,1122 -static void parport_ieee1284_wakeup 43,1261 -static struct parport *port_from_cookie[48,1362 -static void timeout_waiting_on_port 49,1416 -int parport_wait_event 70,2170 -int parport_poll_peripheral(119,3688 -int parport_wait_peripheral(168,5203 -static void parport_ieee1284_terminate 229,6679 -int parport_negotiate 336,9659 -static int parport_ieee1284_ack_data_avail 562,15792 -void parport_ieee1284_interrupt 576,16179 -ssize_t parport_write 609,17254 -ssize_t parport_read 702,19882 -long parport_set_timeout 799,22729 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/multiface.h,158 -#define _MULTIFACE_H_2,22 -#define PIA_REG_PADWIDTH 12,248 -#define DUARTBASE 14,278 -#define PITBASE 15,303 -#define ROMBASE 16,328 -#define PIABASE 17,353 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_sunbpp.c,1182 -#define dprintk(dprintk42,1168 -#define dprintk(dprintk44,1202 -static irqreturn_t parport_sunbpp_interrupt(47,1229 -static void parport_sunbpp_disable_irq(53,1404 -static void parport_sunbpp_enable_irq(63,1620 -static void parport_sunbpp_write_data(73,1834 -static unsigned char parport_sunbpp_read_data(81,2039 -static void control_pc_to_sunbpp(89,2202 -static unsigned char status_sunbpp_to_pc(109,2780 -static unsigned char control_sunbpp_to_pc(132,3472 -static unsigned char parport_sunbpp_read_control(153,4112 -static unsigned char parport_sunbpp_frob_control(158,4218 -static void parport_sunbpp_write_control(202,5363 -static unsigned char parport_sunbpp_read_status(212,5635 -static void parport_sunbpp_data_forward 217,5739 -static void parport_sunbpp_data_reverse 227,6012 -static void parport_sunbpp_init_state(237,6255 -static void parport_sunbpp_save_state(243,6386 -static void parport_sunbpp_restore_state(248,6520 -static struct parport_operations parport_sunbpp_ops 253,6657 -} Node;Node293,7901 -static int __init init_one_port(297,7979 -static int __init parport_sunbpp_init(371,9724 -static void __exit parport_sunbpp_exit(386,10023 -module_init(411,10671 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_gsc.c,1274 -static int clear_epp_timeout(59,1577 -static irqreturn_t parport_gsc_interrupt(84,2215 -void parport_gsc_write_data(90,2387 -unsigned char parport_gsc_read_data(95,2487 -void parport_gsc_write_control(101,2603 -unsigned char parport_gsc_read_control(118,3071 -unsigned char parport_gsc_frob_control 128,3390 -unsigned char parport_gsc_read_status(154,4073 -void parport_gsc_disable_irq(159,4171 -void parport_gsc_enable_irq(164,4266 -void parport_gsc_data_forward 169,4363 -void parport_gsc_data_reverse 174,4460 -void parport_gsc_init_state(179,4560 -void parport_gsc_save_state(184,4692 -void parport_gsc_restore_state(189,4813 -struct parport_operations parport_gsc_ops 194,4937 -static int __devinit parport_SPP_supported(236,6197 -static int __devinit parport_PS2_supported(300,8325 -struct parport *__devinit parport_gsc_probe_port 331,8951 -#define printmode(printmode403,10762 -#define PARPORT_GSC_OFFSET 441,11631 -static int __initdata parport_count;443,11665 -static int __devinit parport_init_chip(445,11703 -static int __devexit parport_remove_chip(479,12554 -static struct parisc_device_id parport_tbl[501,13141 -static struct parisc_driver parport_driver 508,13304 -int __devinit parport_gsc_init(515,13479 -static void __devexit parport_gsc_exit(520,13570 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/parport/parport_atari.c,713 -static struct parport *this_port 21,582 -parport_atari_read_data(24,645 -parport_atari_write_data(37,880 -parport_atari_read_control(48,1102 -parport_atari_write_control(62,1397 -parport_atari_frob_control(76,1761 -parport_atari_read_status(85,1997 -parport_atari_init_state(92,2166 -parport_atari_save_state(97,2254 -parport_atari_restore_state(102,2340 -parport_atari_interrupt(107,2436 -parport_atari_enable_irq(114,2603 -parport_atari_disable_irq(120,2691 -parport_atari_data_forward(126,2781 -parport_atari_data_reverse(138,3037 -static struct parport_operations parport_atari_ops 151,3335 -static int __init parport_atari_init(188,4501 -static void __exit parport_atari_exit(226,5483 -module_init(239,5847 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/telephony/ixj.c,6737 -static char ixj_c_rcsid[44,2066 -static char ixj_c_revision[45,2147 -#define PERFMON_STATS253,9791 -#define IXJDEBUG 254,9813 -#define MAXRINGS 255,9832 -#define TYPE(TYPE281,10372 -#define NUM(NUM282,10413 -static int ixjdebug;284,10455 -static int hertz 285,10476 -static int samplerate 286,10499 -static IXJ *ixj[310,11260 -#define get_ixj(get_ixj311,11285 -static IXJ *ixj_alloc(317,11353 -static void ixj_fsk_free(333,11592 -static void ixj_fsk_alloc(341,11701 -static IXJ ixj[361,12060 -#define get_ixj(get_ixj362,12084 -static IXJ *ixj_alloc(368,12155 -static inline void ixj_fsk_free(378,12293 -static inline void ixj_fsk_alloc(380,12338 -#define ixj_perfmon(ixj_perfmon388,12433 -#define ixj_perfmon(ixj_perfmon390,12470 -static int ixj_convert_loaded;393,12517 -static int Stub(404,12867 -static IXJ_REGFUNC ixj_DownloadG729 409,12927 -static IXJ_REGFUNC ixj_DownloadTS85 410,12972 -static IXJ_REGFUNC ixj_PreRead 411,13017 -static IXJ_REGFUNC ixj_PostRead 412,13057 -static IXJ_REGFUNC ixj_PreWrite 413,13098 -static IXJ_REGFUNC ixj_PostWrite 414,13139 -static IXJ_REGFUNC ixj_PreIoctl 415,13181 -static IXJ_REGFUNC ixj_PostIoctl 416,13222 -static inline void ixj_read_HSR(495,16442 -static inline int IsControlReady(501,16574 -static inline int IsPCControlReady(507,16678 -static inline int IsStatusReady(513,16804 -static inline int IsRxReady(519,16906 -static inline int IsTxReady(526,17031 -static inline void set_play_volume(533,17156 -static int set_play_volume_linear(541,17398 -static inline void set_play_depth(580,18246 -static inline int get_play_volume(589,18405 -static int get_play_volume_linear(595,18524 -static inline BYTE SLIC_GetState(630,19238 -static BOOL SLIC_SetState(652,19835 -static int ixj_wink(777,23060 -static int ixj_register(795,23380 -static int ixj_unregister(850,24519 -static void ixj_init_timer(886,25083 -static void ixj_add_timer(893,25216 -static void ixj_tone_timeout(899,25330 -static inline void ixj_kill_fasync(949,27125 -static void ixj_pstn_state(960,27449 -static void ixj_timeout(1255,39620 -static int ixj_status_wait(1507,46819 -static int ixj_PCcontrol_wait(1522,47079 -static int ixj_WriteDSPCommand(1537,47349 -static inline int ixj_gpio_read(1597,49052 -static inline void LED_SetState(1608,49228 -static int ixj_set_port(1634,50097 -static int ixj_set_pots(1763,53999 -static void ixj_ring_on(1787,54470 -static int ixj_siadc(1809,55073 -static int ixj_sidac(1834,55761 -static int ixj_pcmcia_cable_check(1859,56454 -static int ixj_hookstate(2013,61545 -static void ixj_ring_off(2109,63982 -static void ixj_ring_start(2133,64508 -static int ixj_ring(2162,65342 -static int ixj_open(2215,66446 -int ixj_release(2260,67330 -static int read_filters(2467,72105 -static int LineMonitor(2721,81130 -static void ulaw2alaw(2768,82309 -static void alaw2ulaw(2813,84138 -static ssize_t ixj_read(2858,86009 -static ssize_t ixj_enhanced_read(2913,87409 -static ssize_t ixj_write(2938,87959 -static ssize_t ixj_enhanced_write(2992,89360 -static void ixj_read_frame(3025,90117 -static short fsk[3080,91569 -static void ixj_write_cid_bit(3137,93520 -static void ixj_write_cid_byte(3154,93794 -static void ixj_write_cid_seize(3171,94298 -static void ixj_write_cidcw_seize(3184,94511 -static int ixj_write_cid_string(3193,94633 -static void ixj_pad_fsk(3204,94841 -static void ixj_pre_cid(3218,95123 -static void ixj_post_cid(3254,95837 -static void ixj_write_cid(3288,96565 -static void ixj_write_cidcw(3367,98210 -static void ixj_write_vmwi(3521,101838 -static void ixj_write_frame(3575,102753 -static int idle(3729,107479 -static int set_base_frame(3746,107744 -static int set_rec_codec(3798,108777 -static int ixj_record_start(3981,111793 -static void ixj_record_stop(4090,113688 -static void ixj_vad(4106,114049 -static void set_rec_depth(4114,114175 -static void set_dtmf_prescale(4123,114326 -static int get_dtmf_prescale(4129,114447 -static void set_rec_volume(4135,114561 -static int set_rec_volume_linear(4150,115034 -static int get_rec_volume(4188,115975 -static int get_rec_volume_linear(4205,116458 -static int get_rec_level(4235,116982 -static void ixj_aec_start(4246,117157 -static void aec_stop(4366,120846 -static int set_play_codec(4380,121217 -static int ixj_play_start(4563,124281 -static void ixj_play_stop(4677,126377 -static inline int get_play_level(4695,126806 -static unsigned int ixj_poll(4706,127058 -static int ixj_play_tone(4722,127457 -static int ixj_set_tone_on(4743,127833 -static int SCI_WaitHighSCI(4757,128055 -static int SCI_WaitLowSCI(4777,128447 -static int SCI_Control(4797,128837 -static int SCI_Prepare(4847,129799 -static int ixj_get_mixer(4858,129928 -static int ixj_mixer(4864,130040 -static int daa_load(4885,130481 -static int ixj_daa_cr4(4895,130690 -static char daa_int_read(4942,131544 -static char daa_CR_read(4977,132299 -static int ixj_daa_cid_reset(5047,133763 -static int ixj_daa_cid_read(5093,134566 -static char daa_get_version(5182,136622 -static int daa_set_mode(5218,137502 -static int ixj_daa_write(5350,141434 -int ixj_set_tone_off(5848,154718 -static int ixj_get_tone_on(5859,154933 -static int ixj_get_tone_off(5867,155061 -static void ixj_busytone(5875,155191 -static void ixj_dialtone(5885,155383 -static void ixj_cpt_stop(5899,155628 -static void ixj_ringback(5926,156249 -static void ixj_testram(5936,156441 -static int ixj_build_cadence(5941,156536 -static int ixj_build_filter_cadence(6002,158108 -static void add_caps(6054,159744 -static int capabilities_check(6205,164512 -static int ixj_ioctl(6219,164795 -static int ixj_fasync(6781,177022 -struct file_operations ixj_fops 6788,177198 -static int ixj_linetest(6799,177517 -static int ixj_selfprobe(6887,179979 -IXJ *ixj_pcmcia_probe(7245,190892 -static int ixj_get_status_proc(7260,191156 -static int ixj_read_proc(7554,201603 -static void cleanup(7567,201952 -} DATABLOCK;DATABLOCK7624,203671 -static void PCIEE_WriteBit(7626,203685 -static BYTE PCIEE_ReadBit(7643,204122 -static BOOL PCIEE_ReadWord(7656,204428 -static DWORD PCIEE_GetSerialNumber(7691,205254 -static int dspio[7701,205468 -static int xio[7705,205508 -static void __exit ixj_exit(7716,205808 -static IXJ *new_ixj(7721,205866 -int __init ixj_probe_isapnp(7738,206207 -int __init ixj_probe_isa(7818,207932 -int __init ixj_probe_pci(7842,208296 -static int __init ixj_init(7871,208922 -static void DAA_Coeff_US(7896,209387 -static void DAA_Coeff_UK(8106,220731 -static void DAA_Coeff_France(8286,230484 -static void DAA_Coeff_Germany(8466,240229 -static void DAA_Coeff_Australia(8646,250174 -static void DAA_Coeff_Japan(8826,259922 -static s16 tone_table[9005,269674 -static int ixj_init_filter(10565,320072 -static int ixj_init_filter_raw(10620,321485 -static int ixj_init_tone(10666,322689 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/telephony/ixj.h,5290 -static char ixj_h_rcsid[41,1839 -#define IXJ_VERSION 43,1921 -typedef __u16 WORD;WORD51,2056 -typedef __u32 DWORD;DWORD52,2076 -typedef __u8 BYTE;BYTE53,2097 -typedef __u8 BOOL;BOOL54,2116 -#define IXJMAX 57,2151 -#define TRUE 60,2177 -#define FALSE 61,2192 -} BYTES;BYTES72,2541 -} IXJ_WORD;IXJ_WORD77,2608 -} IXJ_CBITS;IXJ_CBITS88,2797 -} IXJ_CBYTE;IXJ_CBYTE93,2860 -} HCRBIT;HCRBIT115,3503 -} HCR;HCR120,3558 -} HSRBIT;HSRBIT142,4216 -} HSR;HSR147,4271 -} GPIOBIT;GPIOBIT173,5022 -} GPIO;GPIO179,5101 -} LMON;LMON197,5575 -} DTMF;DTMF202,5626 -} CP;CP212,5795 -} CPTF;CPTF217,5842 -} PSCRWI;PSCRWI234,6297 -} PSCRWP;PSCRWP240,6442 -} PLD_SCRW;PLD_SCRW246,6540 -} PSCRRI;PSCRRI257,6749 -} PSCRRP;PSCRRP265,6886 -} PLD_SCRR;PLD_SCRR271,6953 -} PSLICWRITE;PSLICWRITE288,7403 -} PSLICREAD;PSLICREAD297,7570 -} PSLICPCI;PSLICPCI308,7764 -} PLD_SLICW;PLD_SLICW315,7856 -} PLD_SLICR;PLD_SLICR321,7931 -} PCLOCK;PCLOCK338,8383 -} PLD_CLOCK;PLD_CLOCK343,8436 -} MIX;MIX356,8793 -} COMMAND_REG1;COMMAND_REG1374,9299 -} PCMCIA_CR1;PCMCIA_CR1379,9373 -} COMMAND_REG2;COMMAND_REG2390,9574 -} PCMCIA_CR2;PCMCIA_CR2395,9648 -} CONTROL_REG;CONTROL_REG404,9846 -} PCMCIA_SCCR;PCMCIA_SCCR409,9918 -} PCMCIA_SLIC_REG;PCMCIA_SLIC_REG420,10129 -} PCMCIA_SLIC;PCMCIA_SLIC425,10209 -} Si3CONTROL1;Si3CONTROL1442,10570 -} Si3C1;Si3C1447,10642 -} Si3CONTROL2;Si3CONTROL2462,10993 -} Si3C2;Si3C2467,11065 -} Si3RXGAIN;Si3RXGAIN482,11358 -} Si3RXG;Si3RXG487,11426 -} Si3ADCVOLUME;Si3ADCVOLUME498,11618 -} Si3ADC;Si3ADC503,11692 -} Si3DACVOLUME;Si3DACVOLUME514,11890 -} Si3DAC;Si3DAC519,11964 -} Si3STATUSREPORT;Si3STATUSREPORT530,12194 -} Si3STAT;Si3STAT535,12274 -} Si3ANALOGATTN;Si3ANALOGATTN544,12442 -} Si3AATT;Si3AATT549,12518 -typedef struct _DAA_REGS _DAA_REGS557,12758 - union _SOP_REGS _SOP_REGS563,12881 - struct _SOP _SOP564,12900 - struct _CR0_BITREGS _CR0_BITREGS568,12970 - struct _CR1_REGS _CR1_REGS591,13340 - struct _CR2_REGS _CR2_REGS614,13732 - struct _CR3_REGS _CR3_REGS633,14052 - struct _CR4_REGS _CR4_REGS650,14334 - struct _CR5_REGS _CR5_REGS667,14611 - struct _CR6_REGS _CR6_REGS690,14977 - struct _CR7_REGS _CR7_REGS699,15117 - union _XOP_REGS _XOP_REGS720,15520 - struct _XOP _XOP721,15539 - union XOPXR0/XOPXR0722,15555 - struct _XR0_BITREGS _XR0_BITREGS725,15629 - struct _XR1_BITREGS _XR1_BITREGS748,16076 - struct _XR2_BITREGS _XR2_BITREGS771,16482 - struct _XR3_BITREGS _XR3_BITREGS794,16859 - struct _XR4_BITREGS _XR4_BITREGS817,17236 - struct _XR5_BITREGS _XR5_BITREGS840,17605 - struct _XR6_BITREGS _XR6_BITREGS863,17988 - struct _XR7_BITREGS _XR7_BITREGS880,18275 - union _COP_REGS _COP_REGS907,18788 - struct _COP _COP908,18807 - union _CAO_REGS _CAO_REGS957,20448 - struct _CAO _CAO958,20467 - struct _XR0_BITREGSW _XR0_BITREGSW969,20662 - struct _XR6_BITREGSW _XR6_BITREGSW984,20941 -} DAA_REGS;DAA_REGS994,21101 -#define ALISDAA_ID_BYTE 996,21114 -#define ALISDAA_CALLERID_SIZE 997,21148 -#define SOP_PU_SLEEP 1005,21282 -#define SOP_PU_RINGING 1006,21308 -#define SOP_PU_CONVERSATION 1007,21336 -#define SOP_PU_PULSEDIALING 1008,21367 -#define SOP_PU_RESET 1009,21398 -#define ALISDAA_CALLERID_SIZE 1011,21425 -#define PLAYBACK_MODE_COMPRESSED 1013,21460 -#define PLAYBACK_MODE_TRUESPEECH_V40 1014,21584 -#define PLAYBACK_MODE_TRUESPEECH 1015,21687 -#define PLAYBACK_MODE_ULAW 1016,21798 -#define PLAYBACK_MODE_ALAW 1017,21874 -#define PLAYBACK_MODE_16LINEAR 1018,21949 -#define PLAYBACK_MODE_8LINEAR 1019,22032 -#define PLAYBACK_MODE_8LINEAR_WSS 1020,22119 -#define RECORD_MODE_COMPRESSED 1022,22216 -#define RECORD_MODE_TRUESPEECH 1023,22339 -#define RECORD_MODE_ULAW 1024,22437 -#define RECORD_MODE_ALAW 1025,22510 -#define RECORD_MODE_16LINEAR 1026,22583 -#define RECORD_MODE_8LINEAR 1027,22664 -#define RECORD_MODE_8LINEAR_WSS 1028,22749 -enum SLIC_STATES SLIC_STATES1030,22845 - PLD_SLIC_STATE_OC 1031,22864 - PLD_SLIC_STATE_RINGING,1032,22888 - PLD_SLIC_STATE_ACTIVE,1033,22913 - PLD_SLIC_STATE_OHT,1034,22937 - PLD_SLIC_STATE_TIPOPEN,1035,22958 - PLD_SLIC_STATE_STANDBY,1036,22983 - PLD_SLIC_STATE_APR,1037,23008 - PLD_SLIC_STATE_OHTPR1038,23029 -enum SCI_CONTROL SCI_CONTROL1041,23055 - SCI_End 1042,23074 - SCI_Enable_DAA,1043,23088 - SCI_Enable_Mixer,1044,23105 - SCI_Enable_EEPROM1045,23124 -enum Mode Mode1048,23147 - T63,1049,23159 - T63, T53,1049,23159 - T63, T53, T48,1049,23159 - T63, T53, T48, T401049,23159 -enum Dir Dir1051,23182 - V3_TO_V4,1052,23193 - V3_TO_V4, V4_TO_V3,1052,23193 - V3_TO_V4, V4_TO_V3, V4_TO_V5,1052,23193 - V3_TO_V4, V4_TO_V3, V4_TO_V5, V5_TO_V41052,23193 -typedef struct Proc_Info_Tag Proc_Info_Tag1055,23237 -} Proc_Info_Type;Proc_Info_Type1060,23363 -enum PREVAL PREVAL1062,23382 - NORMAL 1063,23396 - NOPOST,1064,23409 - POSTONLY,1065,23418 - PREERROR1066,23429 -enum IXJ_EXTENSIONS IXJ_EXTENSIONS1069,23443 - G729LOADER 1070,23465 - TS85LOADER,1071,23482 - PRE_READ,1072,23495 - POST_READ,1073,23506 - PRE_WRITE,1074,23518 - POST_WRITE,1075,23530 - PRE_IOCTL,1076,23543 - POST_IOCTL1077,23555 -} IXJ_CADENCE_F;IXJ_CADENCE_F1118,24499 -} IXJ_FLAGS;IXJ_FLAGS1161,25733 -} ixj_cadence;ixj_cadence1173,26069 -} IXJ;IXJ1324,29683 -typedef int (*IXJ_REGFUNC)IXJ_REGFUNC1326,29691 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/telephony/ixj-ver.h,82 -#define IXJ_VER_MAJOR 2,43 -#define IXJ_VER_MINOR 3,67 -#define IXJ_BLD_VER 4,91 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/telephony/ixj_pcmcia.c,609 -static int pc_debug 25,473 -#define DEBUG(DEBUG27,537 -#define DEBUG(DEBUG29,611 -typedef struct ixj_info_t ixj_info_t32,645 -} ixj_info_t;ixj_info_t36,721 -static dev_info_t dev_info 43,982 -static dev_link_t *dev_list 44,1021 -static dev_link_t *ixj_attach(46,1058 -static void ixj_detach(89,2343 -#define CS_CHECK(CS_CHECK113,2933 -static void ixj_get_serial(116,3040 -static void ixj_config(179,4338 -static void ixj_cs_release(254,6585 -static int ixj_event(265,6865 -static struct pcmcia_driver ixj_driver 299,7741 -static int __init ixj_pcmcia_init(308,7895 -static void ixj_pcmcia_exit(313,7985 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/telephony/phonedev.c,327 -#define PHONE_NUM_DEVICES 33,972 -static struct phone_device *phone_device[39,1033 -static int phone_open(46,1164 -int phone_register_device(89,2069 -void phone_unregister_device(122,2662 -static struct file_operations phone_fops 133,2906 -static int __init telephony_init(148,3080 -static void __exit telephony_exit(159,3335 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptlan.c,1512 -#define MYNAM 81,3445 -#define MPT_LAN_RECEIVE_POST_REQUEST_SIZE 89,3629 -#define MPT_LAN_TRANSACTION32_SIZE 92,3733 -struct NAA_Hosed NAA_Hosed99,3861 -struct BufferControl BufferControl105,3938 -struct mpt_lan_priv mpt_lan_priv111,4023 -struct mpt_lan_ohdr mpt_lan_ohdr140,4861 -static int LanCtx 175,6159 -static u32 max_buckets_out 177,6184 -static u32 tx_max_out_p 178,6218 -static struct NAA_Hosed *mpt_bad_naa 181,6284 -rwlock_t bad_naa_lock 182,6329 -lan_reply 202,6930 -mpt_lan_ioc_reset(335,10566 -mpt_lan_event_process(375,11681 -mpt_lan_open(408,12667 -mpt_lan_reset(497,15277 -mpt_lan_close(528,15999 -mpt_lan_get_stats(589,17544 -mpt_lan_change_mtu(598,17780 -mpt_lan_tx_timeout(609,18074 -mpt_lan_send_turbo(623,18455 -mpt_lan_send_reply(656,19350 -mpt_lan_sdu_send 729,21161 - pTrans->TransactionDetails[832,24116 - pTrans->TransactionDetails[835,24259 - pSimple 840,24439 - pSimple->FlagsLength 845,24716 - pSimple->Address.Low 854,25038 - pSimple->Address.High 858,25195 - dev->trans_start 861,25267 -mpt_lan_wake_post_buckets_task(872,25563 -mpt_lan_receive_skb(894,26254 -mpt_lan_receive_post_turbo(926,27151 -mpt_lan_receive_post_free(980,28569 -mpt_lan_receive_post_reply(1035,30243 -mpt_lan_post_receive_buckets(1218,35695 -mpt_register_lan_device 1367,39927 -mptlan_probe(1453,42187 -mptlan_remove(1501,43539 -static struct mpt_pci_driver mptlan_driver 1512,43733 -static int __init mpt_lan_init 1517,43836 -static void __exit mpt_lan_exit(1545,44710 -mpt_lan_type_trans(1562,45073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptscsih.h,494 -#define SCSIHOST_H_INCLUDED62,2861 -#define MPT_SCSI_CMD_PER_DEV_HIGH 69,3002 -#define MPT_SCSI_CMD_PER_DEV_LOW 70,3039 -#define MPT_SCSI_CMD_PER_LUN 72,3075 -#define MPT_SCSI_MAX_SECTORS 74,3108 -#define MPTSCSIH_ENABLE_DOMAIN_VALIDATION83,3361 -#define MPTSCSIH_DOMAIN_VALIDATION 89,3496 -#define MPTSCSIH_MAX_WIDTH 90,3538 -#define MPTSCSIH_MIN_SYNC 91,3580 -#define MPTSCSIH_SAF_TE 92,3625 -struct mptscsih_driver_setupmptscsih_driver_setup94,3668 -#define MPTSCSIH_DRIVER_SETUP 103,3805 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptctl.c,1660 -#define COPYRIGHT 97,4074 -#define MODULEAUTHOR 98,4140 -#define my_NAME 103,4331 -#define my_VERSION 104,4388 -#define MYNAM 105,4432 -static int mptctl_id 113,4620 -struct buflist buflist119,4778 -#define MAX_FRAGS_SPILL1 169,6621 -#define MAX_FRAGS_SPILL2 170,6648 -#define FRAGS_PER_BUCKET 171,6676 -#define MAX_CHAIN_FRAGS 175,6794 -#define MAX_SGL_BYTES 180,7019 -#define MAX_KMALLOC_SZ 183,7175 -#define MPT_IOCTL_DEFAULT_TIMEOUT 185,7211 -static u32 fwReplyBuffer[187,7287 -static pMPIDefaultReply_t ReplyMsg 188,7317 -mptctl_syscall_down(202,7813 -mptctl_reply(231,8631 -static void mptctl_timer_expired 353,12655 -static int mptctl_bus_reset(381,13145 -mptctl_set_tm_flags(458,15029 -mptctl_free_tm_flags(476,15403 -mptctl_ioc_reset(503,15920 -mptctl_ioctl(556,17439 -static int mptctl_do_reset(640,19851 -mptctl_fw_download(688,21366 -mptctl_do_fw_download(719,22325 -kbuf_alloc_2_sgl(938,28591 -kfree_sgl(1087,32494 -mptctl_getiocinfo 1152,34004 -mptctl_gettargetinfo 1312,38484 -mptctl_readtest 1492,43858 -mptctl_eventquery 1552,45494 -mptctl_eventenable 1590,46652 -mptctl_eventreport 1637,47970 -mptctl_replace_fw 1687,49452 -mptctl_mpt_command 1759,51347 -mptctl_do_mpt_command 1801,52557 -mptctl_hp_hostinfo(2344,67828 -mptctl_hp_targetinfo(2530,73123 -static struct file_operations mptctl_fops 2669,77297 -static struct miscdevice mptctl_miscdev 2675,77416 -compat_mptctl_ioctl(2695,78059 -compat_mptfwxfer_ioctl(2708,78359 -compat_mpt_command(2747,79328 -mptctl_probe(2813,81218 -mptctl_remove(2856,82176 -static struct mpt_pci_driver mptctl_driver 2863,82284 -static int __init mptctl_init(2869,82469 -static void mptctl_exit(2967,85877 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptctl.h,2993 -#define MPTCTL_H_INCLUDED62,2844 -#define MPT_MISCDEV_BASENAME 72,3070 -#define MPT_MISCDEV_PATHNAME 73,3119 -#define MPT_PRODUCT_LENGTH 75,3189 -#define MPT_MAGIC_NUMBER 80,3286 -#define MPTRWPERF 82,3316 -#define MPTFWDOWNLOAD 84,3381 -#define MPTCOMMAND 85,3450 -#define MPTFWDOWNLOAD32 88,3573 -#define MPTCOMMAND32 89,3646 -#define MPTIOCINFO 92,3730 -#define MPTIOCINFO1 93,3802 -#define MPTIOCINFO2 94,3880 -#define MPTTARGETINFO 95,3958 -#define MPTTEST 96,4036 -#define MPTEVENTQUERY 97,4103 -#define MPTEVENTENABLE 98,4181 -#define MPTEVENTREPORT 99,4261 -#define MPTHARDRESET 100,4341 -#define MPTFWREPLACE 101,4418 -struct mpt_fw_xfer mpt_fw_xfer115,4927 -struct mpt_fw_xfer32 mpt_fw_xfer32122,5123 -typedef struct _mpt_ioctl_header _mpt_ioctl_header141,5779 -} mpt_ioctl_header;mpt_ioctl_header145,5968 -struct mpt_ioctl_diag_reset mpt_ioctl_diag_reset150,6024 -struct mpt_ioctl_pci_info mpt_ioctl_pci_info158,6140 -struct mpt_ioctl_pci_info2 mpt_ioctl_pci_info2169,6347 -#define MPT_IOCTL_INTERFACE_FC 186,6653 -#define MPT_IOCTL_INTERFACE_SCSI 187,6692 -#define MPT_IOCTL_VERSION_LENGTH 188,6732 -struct mpt_ioctl_iocinfo mpt_ioctl_iocinfo190,6771 -struct mpt_ioctl_iocinfo_rev1 mpt_ioctl_iocinfo_rev1208,7403 -struct mpt_ioctl_iocinfo_rev0 mpt_ioctl_iocinfo_rev0230,8193 -struct mpt_ioctl_targetinfo mpt_ioctl_targetinfo257,9032 -struct mpt_ioctl_eventquery mpt_ioctl_eventquery268,9246 -struct mpt_ioctl_eventenable mpt_ioctl_eventenable275,9388 -} MPT_IOCTL_EVENTS;MPT_IOCTL_EVENTS285,9557 -struct mpt_ioctl_eventreport mpt_ioctl_eventreport288,9585 -#define MPT_MAX_NAME 293,9675 -struct mpt_ioctl_test mpt_ioctl_test294,9699 -typedef struct mpt_ioctl_replace_fw mpt_ioctl_replace_fw305,9967 -} mpt_ioctl_replace_fw_t;mpt_ioctl_replace_fw_t309,10068 -struct mpt_ioctl_command mpt_ioctl_command332,10890 -struct mpt_ioctl_command32 mpt_ioctl_command32351,11315 -#define CPQFCTS_IOC_MAGIC 373,11720 -#define HP_IOC_MAGIC 374,11750 -#define HP_GETHOSTINFO 375,11775 -#define HP_GETHOSTINFO1 376,11838 -#define HP_GETTARGETINFO 377,11907 -typedef struct _hp_header _hp_header381,12020 -} hp_header_t;hp_header_t387,12150 -typedef struct _hp_host_info _hp_host_info397,12284 -} hp_host_info_t;hp_host_info_t415,12812 -typedef struct _hp_host_info_rev0 _hp_host_info_rev0420,12910 -} hp_host_info_rev0_t;hp_host_info_rev0_t438,13446 -typedef struct _hp_target_info _hp_target_info450,13659 -} hp_target_info_t;hp_target_info_t459,13880 -#define HP_STATUS_OTHER 461,13901 -#define HP_STATUS_OK 462,13928 -#define HP_STATUS_FAILED 463,13952 -#define HP_BUS_WIDTH_UNK 465,13980 -#define HP_BUS_WIDTH_8 466,14007 -#define HP_BUS_WIDTH_16 467,14033 -#define HP_BUS_WIDTH_32 468,14060 -#define HP_DEV_SPEED_ASYNC 470,14088 -#define HP_DEV_SPEED_FAST 471,14117 -#define HP_DEV_SPEED_ULTRA 472,14145 -#define HP_DEV_SPEED_ULTRA2 473,14174 -#define HP_DEV_SPEED_ULTRA160 474,14204 -#define HP_DEV_SPEED_SCSI1 475,14236 -#define HP_DEV_SPEED_ULTRA320 476,14265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptscsih.c,4843 -#define my_NAME 91,3936 -#define my_VERSION 92,3983 -#define MYNAM 93,4027 -char *mptscsih 101,4201 -typedef struct _BIG_SENSE_BUF _BIG_SENSE_BUF107,4341 -} BIG_SENSE_BUF;BIG_SENSE_BUF109,4408 -#define MPT_SCANDV_GOOD 111,4426 -#define MPT_SCANDV_DID_RESET 112,4481 -#define MPT_SCANDV_SENSE 113,4524 -#define MPT_SCANDV_SOME_ERROR 114,4563 -#define MPT_SCANDV_SELECTION_TIMEOUT 115,4607 -#define MPT_SCANDV_ISSUE_SENSE 116,4657 -#define MPT_SCANDV_FALLBACK 117,4702 -#define MPT_SCANDV_MAX_RETRIES 119,4745 -#define MPT_ICFLAG_BUF_CAP 121,4783 -#define MPT_ICFLAG_ECHO 122,4853 -#define MPT_ICFLAG_PHYS_DISK 123,4919 -#define MPT_ICFLAG_TAGGED_CMD 124,4995 -#define MPT_ICFLAG_DID_RESET 125,5049 -#define MPT_ICFLAG_RESERVED 126,5126 -typedef struct _internal_cmd _internal_cmd128,5191 -} INTERNAL_CMD;INTERNAL_CMD140,5550 -typedef struct _negoparms _negoparms142,5567 -} NEGOPARMS;NEGOPARMS147,5641 -typedef struct _dv_parameters _dv_parameters149,5655 -} DVPARAMETERS;DVPARAMETERS155,5755 -static struct work_struct mptscsih_rstTask;192,7983 -static int mpt_scsi_hosts 223,9059 -static int ScsiDoneCtx 225,9091 -static int ScsiTaskCtx 226,9120 -static int ScsiScanDvCtx 227,9149 -#define SNS_LEN(SNS_LEN229,9217 -static spinlock_t dvtaskQ_lock 235,9351 -static int dvtaskQ_active 236,9404 -static int dvtaskQ_release 237,9435 -static struct work_struct mptscsih_dvTask;238,9467 -static int scandv_wait_done 245,9592 - driver_setup 251,9691 -static struct scsi_cmnd *foo_to[254,9759 -static struct scsi_host_template driver_template;257,9803 -mptscsih_add_sge(270,10220 -mptscsih_add_chain(300,11157 -mptscsih_getFreeChainBuffer(333,12233 -mptscsih_AddSGE(380,13446 -mptscsih_io_done(624,20888 -mptscsih_flush_running_cmds(909,29275 -mptscsih_search_running_cmds(980,31001 -static long last_queue_full 1016,31959 -mptscsih_report_queue_full(1031,32514 -static char *info_kbuf 1047,33100 -mptscsih_probe(1060,33455 -mptscsih_remove(1355,40251 -mptscsih_shutdown(1451,42324 -mptscsih_suspend(1477,42823 -mptscsih_resume(1490,43085 -static struct mpt_pci_driver mptscsih_driver 1523,43722 -mptscsih_init(1542,44229 -mptscsih_exit(1584,45327 -mptscsih_info(1615,46087 -struct info_str info_str1634,46460 -static void copy_mem_info(1641,46539 -static int copy_info(1662,47000 -static int mptscsih_host_info(1676,47222 -static int mptscsih_user_command(1694,47761 -#define is_digit(is_digit1700,47883 -#define digit_to_bin(digit_to_bin1701,47930 -#define is_space(is_space1702,47966 -#define UC_DBG_TIMEOUT 1704,48015 -#define UC_DBG_HARDRESET 1705,48044 -static int skip_spaces(1707,48075 -static int get_int_arg(1716,48225 -static int is_keyword(1731,48461 -#define SKIP_SPACES(SKIP_SPACES1741,48646 -#define GET_INT_ARG(GET_INT_ARG1747,48810 -static int mptscsih_user_command(1753,48959 -mptscsih_proc_info(1830,50707 -#define ADD_INDEX_LOG(ADD_INDEX_LOG1851,51188 -mptscsih_qcmd(1866,51753 -mptscsih_freeChainBuffers(2080,57625 -mptscsih_TMHandler(2145,59458 -mptscsih_IssueTaskMgmt(2272,63646 -mptscsih_abort(2350,65877 -mptscsih_dev_reset(2454,68854 -mptscsih_bus_reset(2509,70358 -mptscsih_host_reset(2561,71852 -mptscsih_tm_pending_wait(2610,73222 -mptscsih_taskmgmt_complete(2647,74357 -mptscsih_bios_param(2736,76916 -mptscsih_slave_alloc(2783,77966 -mptscsih_slave_destroy(2832,79232 -mptscsih_slave_configure(2897,80735 -copy_sense_data(2988,83435 -SCPNT_TO_LOOKUP_IDX(3039,85017 -mptscsih_ioc_reset(3057,85347 -mptscsih_event_process(3190,88629 -static struct scsi_host_template driver_template 3305,91813 -mptscsih_initTarget(3345,93077 -mptscsih_setTargetNegoParms(3442,95930 -static void mptscsih_set_dvflags(3620,100701 -static void mptscsih_no_negotiate(3658,101846 -mptscsih_setDevicePage1Flags 3686,102711 -mptscsih_writeSDP1(3734,104279 -mptscsih_writeIOCPage4(3928,109846 -static void mptscsih_taskmgmt_timeout(3999,111836 -mptscsih_schedule_reset(4027,112681 -mptscsih_scandv_complete(4073,114120 -static void mptscsih_timer_expired(4232,118946 -mptscsih_do_raid(4284,120615 -mptscsih_do_cmd(4364,122778 -mptscsih_synchronize_cache(4605,128286 -mptscsih_domainValidation(4756,132185 -static int mptscsih_is_phys_disk(4888,135713 -static void mptscsih_qas_check(4907,136090 -#define MPT_GET_NVRAM_VALS 4942,136881 -#define MPT_UPDATE_MAX 4943,136913 -#define MPT_SET_MAX 4944,136942 -#define MPT_SET_MIN 4945,136968 -#define MPT_FALLBACK 4946,136994 -#define MPT_SAVE 4947,137021 -mptscsih_doDv(4963,137462 -mptscsih_dv_parms(5875,160722 -mptscsih_fillbuf(6143,169035 -#define ARG_SEP 6273,171443 -#define ARG_SEP 6275,171469 -static char setup_token[6279,171511 -static char setup_token[] __initdata 6279,171511 -#define OPT_DV 6287,171642 -#define OPT_MAX_WIDTH 6288,171661 -#define OPT_MIN_SYNC_FACTOR 6289,171686 -#define OPT_SAF_TE 6290,171716 -get_setup_token(6295,171804 -mptscsih_setup(6313,172081 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptbase.c,3351 -#define my_NAME 115,5021 -#define my_VERSION 116,5063 -#define MYNAM 117,5107 -static int mfcounter 128,5301 -#define PRINT_MF_COUNT 129,5327 -int mpt_lan_index 136,5470 -int mpt_stm_index 137,5494 -struct proc_dir_entry *mpt_proc_root_dir;139,5519 -DmpServices_t *DmpService;141,5562 -#define WHOINIT_UNKNOWN 143,5590 -static MPT_CALLBACK MptCallbacks[152,5811 -static int MptDriverClass[154,5919 -static MPT_EVHANDLER MptEvHandlers[156,6013 -static MPT_RESETHANDLER MptResetHandlers[158,6115 -static struct mpt_pci_driver *MptDeviceDriverHandlers[159,6185 -static int FusionInitCalled 161,6268 -static int mpt_base_index 162,6301 -static int last_drv_idx 163,6333 -static struct pci_device_id mptbase_pci_table[233,9791 -#define CHIPREG_READ32(CHIPREG_READ32252,10499 -#define CHIPREG_READ32_dmasync(CHIPREG_READ32_dmasync253,10550 -#define CHIPREG_WRITE32(CHIPREG_WRITE32254,10599 -#define CHIPREG_PIO_WRITE32(CHIPREG_PIO_WRITE32255,10652 -#define CHIPREG_PIO_READ32(CHIPREG_PIO_READ32256,10721 -mpt_interrupt(278,11724 -mpt_base_reply(467,17008 -mpt_register(601,21164 -mpt_deregister(649,22274 -mpt_event_register(673,22926 -mpt_event_deregister(693,23479 -mpt_reset_register(713,24032 -mpt_reset_deregister(732,24597 -mpt_device_driver_register(745,24888 -mpt_device_driver_deregister(775,25558 -mpt_get_msg_frame(805,26327 -mpt_put_msg_frame(868,28175 -mpt_free_msg_frame(917,29659 -mpt_add_sge(941,30317 -mpt_add_chain(971,31205 -mpt_send_handshake_request(1013,32629 -mpt_verify_adapter(1098,34939 -mptbase_probe(1131,35785 -mptbase_remove(1420,43452 -mptbase_shutdown(1463,44513 -mptbase_suspend(1489,45084 -mptbase_resume(1549,46458 -mpt_do_ioc_recovery(1626,48584 -mpt_detect_bound_ports(1887,56128 -mpt_adapter_disable(1928,57453 -mpt_adapter_dispose(2023,59860 -MptDisplayIocCapabilities(2063,60770 -MakeIocReady(2116,62060 -mpt_GetIocState(2260,65963 -GetIocFacts(2285,66591 -GetPortFacts(2458,71915 -SendIocInit(2526,74079 -SendPortEnable(2636,77323 -mpt_alloc_fw_memory(2685,78531 -mpt_free_fw_memory(2702,79066 -mpt_do_upload(2732,79988 -mpt_downloadboot(2834,82729 -KickStart(3028,89448 -mpt_diag_reset(3097,91583 -SendIocReset(3345,98767 -initChainBuffers(3400,100185 -PrimeIocFifos(3504,103163 -mpt_handshake_req_reply_wait(3693,108981 -WaitForDoorbellAck(3799,112135 -WaitForDoorbellInt(3850,113472 -WaitForDoorbellReply(3901,114886 -GetLanConfigPages(3985,117434 -GetFcPortPage0(4097,120154 -GetIoUnitPage2(4181,122904 -mpt_GetScsiPortSettings(4248,124619 -mpt_readScsiDevicePageHeaders(4408,129387 -mpt_findImVolumes(4461,130892 -mpt_read_ioc_pg_3(4556,132848 -mpt_read_ioc_pg_4(4617,134148 -mpt_read_ioc_pg_1(4668,135385 -SendEventNotification(4759,137794 -SendEventAck(4790,138651 -mpt_config(4829,139834 -mpt_toolbox(4936,142935 -mpt_timer_expired(5039,145618 -mpt_ioc_reset(5067,146412 -procmpt_create(5134,148237 -procmpt_destroy(5160,148881 -procmpt_summary_read(5181,149515 -procmpt_version_read(5224,150459 -procmpt_iocinfo_read(5277,151853 -mpt_get_fw_exp_ver(5363,155345 -mpt_print_ioc_summary(5390,156256 -mpt_HardResetHandler(5450,157992 -EventDescriptionStr(5520,160055 -ProcessEventNotification(5596,161916 -mpt_fc_log_info(5721,165122 -mpt_sp_log_info(5743,165804 -mpt_sp_ioc_info(5814,167072 -static struct pci_driver mptbase_driver 5963,171056 -fusion_init(5984,171589 -fusion_exit(6038,172834 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptbase.h,11653 -#define MPTBASE_H_INCLUDED55,2554 -#define MODULEAUTHOR 79,3465 -#define COPYRIGHT 83,3536 -#define MPT_LINUX_VERSION_COMMON 86,3602 -#define MPT_LINUX_PACKAGE_NAME 87,3645 -#define WHAT_MAGIC_STRING 88,3700 -#define show_mptmod_ver(show_mptmod_ver90,3744 -#define MPT_MAX_ADAPTERS 97,3955 -#define MPT_MAX_PROTOCOL_DRIVERS 98,3984 -#define MPT_MAX_BUS 99,4020 -#define MPT_MAX_FC_DEVICES 100,4064 -#define MPT_MAX_SCSI_DEVICES 101,4096 -#define MPT_LAST_LUN 102,4129 -#define MPT_SENSE_BUFFER_ALLOC 103,4156 -# define MPT_SENSE_BUFFER_ALLOC 107,4319 -# define MPT_SENSE_BUFFER_SIZE 108,4355 -# define MPT_SENSE_BUFFER_SIZE 110,4396 -#define MPT_NAME_LENGTH 113,4458 -#define MPT_PROCFS_MPTBASEDIR 115,4488 -#define MPT_PROCFS_SUMMARY_ALL_NODE 117,4565 -#define MPT_PROCFS_SUMMARY_ALL_PATHNAME 118,4635 -#define MPT_FW_REV_MAGIC_ID_STRING 119,4713 -#define MPT_MAX_REQ_DEPTH 121,4759 -#define MPT_DEFAULT_REQ_DEPTH 122,4792 -#define MPT_MIN_REQ_DEPTH 123,4828 -#define MPT_MAX_REPLY_DEPTH 125,4861 -#define MPT_DEFAULT_REPLY_DEPTH 126,4909 -#define MPT_MIN_REPLY_DEPTH 127,4946 -#define MPT_MAX_REPLIES_PER_ISR 128,4978 -#define MPT_MAX_FRAME_SIZE 130,5015 -#define MPT_DEFAULT_FRAME_SIZE 131,5048 -#define MPT_REPLY_FRAME_SIZE 133,5086 -#define MPT_SG_REQ_128_SCALE 135,5154 -#define MPT_SG_REQ_96_SCALE 136,5187 -#define MPT_SG_REQ_64_SCALE 137,5219 -#define CAN_SLEEP 139,5252 -#define NO_SLEEP 140,5275 -#define MPT_COALESCING_TIMEOUT 142,5298 -#define MPT_ULTRA320 147,5374 -#define MPT_ULTRA160 148,5402 -#define MPT_ULTRA2 149,5430 -#define MPT_ULTRA 150,5456 -#define MPT_FAST 151,5481 -#define MPT_SCSI 152,5505 -#define MPT_ASYNC 153,5529 -#define MPT_NARROW 155,5555 -#define MPT_WIDE 156,5578 -#define C0_1030 158,5600 -#define XL_929 159,5624 -#define MPT_FC_CAN_QUEUE 165,5686 -#define MPT_SCSI_CAN_QUEUE 166,5715 -#define MPT_SCSI_SG_DEPTH 173,5866 -#define MPT_SCSI_SG_DEPTH 175,5932 -#define MPT_SCSI_SG_DEPTH 177,5968 -#define MPT_SCSI_SG_DEPTH 180,6029 -#define MYIOC_s_INFO_FMT 194,6435 -#define MYIOC_s_NOTE_FMT 195,6486 -#define MYIOC_s_WARN_FMT 196,6539 -#define MYIOC_s_ERR_FMT 197,6603 - MPTBASE_DRIVER,204,6796 - MPTCTL_DRIVER,205,6835 - MPTSCSIH_DRIVER,206,6874 - MPTLAN_DRIVER,207,6930 - MPTSTM_DRIVER,208,6967 - MPTDMP_DRIVER,209,7017 - MPTUNKNOWN_DRIVER210,7072 -} MPT_DRIVER_CLASS;MPT_DRIVER_CLASS211,7091 -struct mpt_pci_driver{mpt_pci_driver213,7112 -typedef union _MPT_FRAME_TRACKER _MPT_FRAME_TRACKER227,7468 -} MPT_FRAME_TRACKER;MPT_FRAME_TRACKER270,8671 -typedef struct _MPT_FRAME_HDR _MPT_FRAME_HDR280,8869 -} MPT_FRAME_HDR;MPT_FRAME_HDR289,9073 -#define MPT_REQ_MSGFLAGS_DROPME 291,9091 -typedef struct _MPT_Q_TRACKER _MPT_Q_TRACKER296,9205 -} MPT_Q_TRACKER;MPT_Q_TRACKER299,9281 -typedef struct _MPT_SGL_HDR _MPT_SGL_HDR302,9300 -} MPT_SGL_HDR;MPT_SGL_HDR304,9354 -typedef struct _MPT_SGL64_HDR _MPT_SGL64_HDR306,9370 -} MPT_SGL64_HDR;MPT_SGL64_HDR308,9426 -typedef struct _Q_ITEM _Q_ITEM311,9445 -} Q_ITEM;Q_ITEM314,9516 -typedef struct _Q_TRACKER _Q_TRACKER316,9527 -} Q_TRACKER;Q_TRACKER319,9601 - FC919X 327,9745 - FC919X = 0x0819,327,9745 - FC929X 328,9763 - FC929X = 0x0829,328,9763 - FC909 329,9781 - FC909 = 0x0909,329,9781 - FC919 330,9798 - FC919 = 0x0919,330,9798 - FC929 331,9815 - FC929 = 0x0929,331,9815 - C1030 332,9832 - C1030 = 0x1030,332,9832 - C1035 333,9849 - C1035 = 0x1035,333,9849 - FCUNK 334,9866 - FCUNK = 0xFBAD334,9866 -} CHIP_TYPE;CHIP_TYPE335,9882 -typedef struct _SYSIF_REGS_SYSIF_REGS341,9938 -} SYSIF_REGS;SYSIF_REGS360,10951 -#define DMP_MAX_PATHS 371,11133 -typedef struct _PathInfo _PathInfo373,11158 -} PathInfo;PathInfo378,11235 -#define PATHINFO_FLAGS_OWNED 380,11248 -#define PATHINFO_FLAGS_EXISTS 381,11283 -#define PATHINFO_FLAGS_AVAILABLE 382,11319 -#define PATHINFO_FLAGS_SECONDARY 383,11357 -#define PFLAGS_EXISTS_AND_AVAIL 385,11396 -#define PFLAGS_AVAIL_AND_OWNED 386,11478 -typedef struct _ScsiCmndTracker _ScsiCmndTracker388,11559 -} ScsiCmndTracker;ScsiCmndTracker391,11623 -#define MPT_TARGET_NO_NEGO_WIDE 394,11676 -#define MPT_TARGET_NO_NEGO_SYNC 395,11714 -#define MPT_TARGET_NO_NEGO_QAS 396,11752 -#define MPT_TAPE_NEGO_IDP 397,11789 -typedef struct _VirtDevice _VirtDevice403,11916 -} VirtDevice;VirtDevice443,13084 -#define MPT_TARGET_DEFAULT_DV_STATUS 448,13171 -#define MPT_TARGET_FLAGS_VALID_NEGO 449,13213 -#define MPT_TARGET_FLAGS_VALID_INQUIRY 450,13254 -#define MPT_TARGET_FLAGS_Q_YES 451,13298 -#define MPT_TARGET_FLAGS_VALID_56 452,13335 -#define MPT_TARGET_FLAGS_SAF_TE_ISSUED 453,13374 -typedef struct _VirtDevTracker _VirtDevTracker455,13419 -} VirtDevTracker;VirtDevTracker460,13542 -} mpt_proc_entry_t;mpt_proc_entry_t472,13708 -#define MPT_PROC_READ_RETURN(MPT_PROC_READ_RETURN474,13729 -#define MPT_IOCTL_STATUS_DID_IOCRESET 492,14036 -#define MPT_IOCTL_STATUS_RF_VALID 493,14118 -#define MPT_IOCTL_STATUS_TIMER_ACTIVE 494,14188 -#define MPT_IOCTL_STATUS_SENSE_VALID 495,14258 -#define MPT_IOCTL_STATUS_COMMAND_GOOD 496,14326 -#define MPT_IOCTL_STATUS_TMTIMER_ACTIVE 497,14395 -#define MPT_IOCTL_STATUS_TM_FAILED 498,14470 -#define MPTCTL_RESET_OK 500,14540 -typedef struct _MPT_IOCTL _MPT_IOCTL502,14594 -} MPT_IOCTL;MPT_IOCTL515,15122 -#define MPTCTL_EVENT_LOG_SIZE 520,15174 -typedef struct _mpt_ioctl_events _mpt_ioctl_events521,15218 -} MPT_IOCTL_EVENTS;MPT_IOCTL_EVENTS525,15388 -#define MPT_CONFIG_GOOD 530,15446 -#define MPT_CONFIG_ERROR 531,15493 -#define MPT_SCSICFG_NEGOTIATE 537,15626 -#define MPT_SCSICFG_NEED_DV 538,15689 -#define MPT_SCSICFG_DV_PENDING 539,15741 -#define MPT_SCSICFG_DV_NOT_DONE 540,15815 -#define MPT_SCSICFG_BLK_NEGO 541,15885 -#define MPT_SCSICFG_RELOAD_IOC_PG3 542,15964 -#define MPT_SCSICFG_USE_NVRAM 544,16074 -#define MPT_SCSICFG_ALL_IDS 545,16138 -typedef struct _ScsiCfgData _ScsiCfgData548,16282 -} ScsiCfgData;ScsiCfgData571,17299 -typedef struct _MPT_ADAPTER_MPT_ADAPTER576,17390 -} MPT_ADAPTER;MPT_ADAPTER676,20943 -typedef struct _MPT_ADAPTER_TRACKER _MPT_ADAPTER_TRACKER679,20960 -} MPT_ADAPTER_TRACKER;MPT_ADAPTER_TRACKER682,21038 -typedef int (*MPT_CALLBACK)MPT_CALLBACK689,21169 -typedef int (*MPT_EVHANDLER)MPT_EVHANDLER690,21258 -typedef int (*MPT_RESETHANDLER)MPT_RESETHANDLER691,21341 -#define MPT_IOC_PRE_RESET 693,21432 -#define MPT_IOC_POST_RESET 694,21461 -#define MPT_IOC_SETUP_RESET 695,21491 -typedef struct _MPT_HOST_EVENT _MPT_HOST_EVENT701,21634 -} MPT_HOST_EVENT;MPT_HOST_EVENT705,21759 -#define MPT_HOSTEVENT_IOC_BRINGUP 707,21778 -#define MPT_HOSTEVENT_IOC_RECOVER 708,21817 -typedef struct _mpt_sge _mpt_sge713,21934 -} MptSge_t;MptSge_t716,22000 -#define mpt_addr_size(mpt_addr_size718,22013 -#define mpt_msg_flags(mpt_msg_flags722,22151 -#define dprintk(dprintk731,22427 -#define dprintk(dprintk733,22462 -#define dinitprintk(dinitprintk737,22511 -#define DBG_DUMP_FW_REQUEST_FRAME(DBG_DUMP_FW_REQUEST_FRAME738,22544 -#define dinitprintk(dinitprintk747,22775 -#define DBG_DUMP_FW_REQUEST_FRAME(DBG_DUMP_FW_REQUEST_FRAME748,22798 -#define dexitprintk(dexitprintk752,22867 -#define dexitprintk(dexitprintk754,22906 -#define dfailprintk(dfailprintk758,22990 -#define dfailprintk(dfailprintk760,23028 -#define dhsprintk(dhsprintk764,23086 -#define dhsprintk(dhsprintk766,23123 -#define devtprintk(devtprintk770,23176 -#define devtprintk(devtprintk772,23214 -#define drsprintk(drsprintk776,23267 -#define drsprintk(drsprintk778,23304 -#define dmfprintk(dmfprintk783,23423 -#define DBG_DUMP_REQUEST_FRAME(DBG_DUMP_REQUEST_FRAME784,23454 -#define dmfprintk(dmfprintk795,23717 -#define DBG_DUMP_REQUEST_FRAME(DBG_DUMP_REQUEST_FRAME796,23738 -#define dirqprintk(dirqprintk800,23803 -#define dirqprintk(dirqprintk802,23841 -#define dsgprintk(dsgprintk806,23891 -#define dsgprintk(dsgprintk808,23928 -#define ddlprintk(ddlprintk812,24005 -#define ddlprintk(ddlprintk814,24042 -#define ddvprintk(ddvprintk818,24091 -#define ddvprintk(ddvprintk820,24128 -#define dnegoprintk(dnegoprintk824,24179 -#define dnegoprintk(dnegoprintk826,24218 -#define ddvtprintk(ddvtprintk830,24305 -#define ddvtprintk(ddvtprintk832,24343 -#define dctlprintk(dctlprintk836,24396 -#define dctlprintk(dctlprintk838,24433 -#define dreplyprintk(dreplyprintk842,24486 -#define dreplyprintk(dreplyprintk844,24525 -#define dtmprintk(dtmprintk848,24577 -#define DBG_DUMP_TM_REQUEST_FRAME(DBG_DUMP_TM_REQUEST_FRAME849,24607 -#define DBG_DUMP_TM_REPLY_FRAME(DBG_DUMP_TM_REPLY_FRAME860,24899 -#define dtmprintk(dtmprintk872,25242 -#define DBG_DUMP_TM_REQUEST_FRAME(DBG_DUMP_TM_REQUEST_FRAME873,25263 -#define DBG_DUMP_TM_REPLY_FRAME(DBG_DUMP_TM_REPLY_FRAME874,25302 -#define nehprintk(nehprintk878,25368 -#define nehprintk(nehprintk880,25404 -#define dcprintk(dcprintk884,25485 -#define dcprintk(dcprintk886,25520 -#define dsprintk(dsprintk890,25630 -#define dsprintk(dsprintk892,25665 -#define MPT_INDEX_2_MFPTR(MPT_INDEX_2_MFPTR896,25694 -#define MFPTR_2_MPT_INDEX(MFPTR_2_MPT_INDEX899,25800 -#define MPT_INDEX_2_RFPTR(MPT_INDEX_2_RFPTR902,25898 -#define Q_INIT(Q_INIT905,26006 -#define Q_IS_EMPTY(Q_IS_EMPTY906,26065 -#define Q_ADD_TAIL(Q_ADD_TAIL908,26127 -#define Q_ADD_HEAD(Q_ADD_HEAD917,26355 -#define Q_DEL_ITEM(Q_DEL_ITEM926,26583 -#define SWAB4(SWAB4933,26740 -#define DBG_DUMP_REPLY_FRAME(DBG_DUMP_REPLY_FRAME941,26992 -#define DBG_DUMP_REQUEST_FRAME_HDR(DBG_DUMP_REQUEST_FRAME_HDR949,27243 -#define DBG_DUMP_REPLY_FRAME(DBG_DUMP_REPLY_FRAME958,27474 -#define DBG_DUMP_REQUEST_FRAME_HDR(DBG_DUMP_REQUEST_FRAME_HDR959,27508 -#define SCSI_STD_SENSE_BYTES 965,27638 -#define SCSI_STD_INQUIRY_BYTES 966,27673 -#define SCSI_MAX_INQUIRY_BYTES 967,27708 -typedef struct _MPT_LOCAL_REPLY _MPT_LOCAL_REPLY977,27984 -} MPT_LOCAL_REPLY;MPT_LOCAL_REPLY984,28132 -#define MPT_HOST_BUS_UNKNOWN 986,28152 -#define MPT_HOST_TOO_MANY_TM 987,28189 -#define MPT_HOST_NVRAM_INVALID 988,28226 -#define MPT_HOST_NO_CHAIN 989,28271 -#define MPT_NVRAM_MASK_TIMEOUT 990,28311 -#define MPT_NVRAM_SYNC_MASK 991,28356 -#define MPT_NVRAM_SYNC_SHIFT 992,28398 -#define MPT_NVRAM_DISCONNECT_ENABLE 993,28432 -#define MPT_NVRAM_ID_SCAN_ENABLE 994,28481 -#define MPT_NVRAM_LUN_SCAN_ENABLE 995,28527 -#define MPT_NVRAM_TAG_QUEUE_ENABLE 996,28574 -#define MPT_NVRAM_WIDE_DISABLE 997,28622 -#define MPT_NVRAM_BOOT_CHOICE 998,28667 -#define TM_STATE_NONE 1003,28846 -#define TM_STATE_IN_PROGRESS 1004,28881 -#define TM_STATE_ERROR 1005,28916 -typedef struct _MPT_SCSI_HOST _MPT_SCSI_HOST1007,28951 -} MPT_SCSI_HOST;MPT_SCSI_HOST1037,30094 -typedef struct _DmpServices _DmpServices1050,30384 -} DmpServices_t;DmpServices_t1065,30831 -typedef struct _x_config_parms _x_config_parms1071,30997 -} CONFIGPARMS;CONFIGPARMS1084,31375 -#define offsetof(offsetof1134,33675 -#define CAST_U32_TO_PTR(CAST_U32_TO_PTR1138,33824 -#define CAST_PTR_TO_U32(CAST_PTR_TO_U321139,33868 -#define CAST_U32_TO_PTR(CAST_U32_TO_PTR1141,33915 -#define CAST_PTR_TO_U32(CAST_PTR_TO_U321142,33954 -#define MPT_PROTOCOL_FLAGS_c_c_c_c(MPT_PROTOCOL_FLAGS_c_c_c_c1145,33998 -#define MPT_TRANSFER_IOC_TO_HOST 1156,34486 -#define MPT_TRANSFER_HOST_TO_IOC 1157,34533 -#define MPT_SGE_FLAGS_LAST_ELEMENT 1158,34580 -#define MPT_SGE_FLAGS_END_OF_BUFFER 1159,34629 -#define MPT_SGE_FLAGS_LOCAL_ADDRESS 1160,34679 -#define MPT_SGE_FLAGS_DIRECTION 1161,34729 -#define MPT_SGE_FLAGS_ADDRESSING 1162,34776 -#define MPT_SGE_FLAGS_END_OF_LIST 1163,34851 -#define MPT_SGE_FLAGS_TRANSACTION_ELEMENT 1165,34900 -#define MPT_SGE_FLAGS_SIMPLE_ELEMENT 1166,34955 -#define MPT_SGE_FLAGS_CHAIN_ELEMENT 1167,35006 -#define MPT_SGE_FLAGS_ELEMENT_MASK 1168,35056 -#define MPT_SGE_FLAGS_SSIMPLE_READ 1170,35106 -#define MPT_SGE_FLAGS_SSIMPLE_WRITE 1177,35336 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/mptlan.h,991 -#define LINUX_MPTLAN_H_INCLUDED4,48 - #define MODULEAUTHOR 32,766 -#define LANAME 37,922 -#define LANVER 38,962 -#define MPT_LAN_MAX_BUCKETS_OUT 46,1163 -#define MPT_LAN_BUCKET_THRESH 47,1199 -#define MPT_LAN_BUCKETS_REMAIN_MISMATCH_THRESH 48,1263 -#define MPT_LAN_RX_COPYBREAK 49,1313 -#define MPT_LAN_TX_TIMEOUT 50,1346 -#define MPT_TX_MAX_OUT_LIM 51,1380 -#define MPT_LAN_MIN_MTU 53,1417 -#define MPT_LAN_MAX_MTU 54,1460 -#define MPT_LAN_MTU 55,1506 -#define MPT_LAN_NAA_RFC2625 58,1605 -#define MPT_LAN_NAA_QLOGIC 59,1641 -#define MPT_LAN_RESOURCE_FLAG_RETURN_POSTED_BUCKETS 63,1734 -#define MPT_LAN_RESOURCE_FLAG_RETURN_PEND_TRANSMITS 64,1794 -#define dioprintk(dioprintk68,1959 -#define dioprintk(dioprintk70,1996 -#define dlprintk(dlprintk74,2046 -#define dlprintk(dlprintk76,2082 -#define NETDEV_TO_LANPRIV_PTR(NETDEV_TO_LANPRIV_PTR79,2110 -#define NETDEV_PTR_TO_IOC_NAME_s(NETDEV_PTR_TO_IOC_NAME_s80,2178 -#define IOC_AND_NETDEV_NAMES_s_s(IOC_AND_NETDEV_NAMES_s_s81,2256 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_cnfg.h,45533 -#define MPI_CNFG_H152,9213 -typedef struct _CONFIG_PAGE_HEADER_CONFIG_PAGE_HEADER161,9466 - ConfigPageHeader_t, MPI_POINTER pConfigPageHeader_t;pConfigPageHeader_t168,9826 -typedef union _CONFIG_PAGE_HEADER_UNION_CONFIG_PAGE_HEADER_UNION170,9882 - fCONFIG_PAGE_HEADER_UNION, MPI_POINTER PTR_CONFIG_PAGE_HEADER_UNION;PTR_CONFIG_PAGE_HEADER_UNION177,10114 -typedef struct _CONFIG_EXTENDED_PAGE_HEADER_CONFIG_EXTENDED_PAGE_HEADER179,10186 - ConfigExtendedPageHeader_t, MPI_POINTER pConfigExtendedPageHeader_t;pConfigExtendedPageHeader_t189,10743 -#define MPI_CONFIG_PAGEATTR_READ_ONLY 196,10999 -#define MPI_CONFIG_PAGEATTR_CHANGEABLE 197,11058 -#define MPI_CONFIG_PAGEATTR_PERSISTENT 198,11117 -#define MPI_CONFIG_PAGEATTR_RO_PERSISTENT 199,11176 -#define MPI_CONFIG_PAGEATTR_MASK 200,11235 -#define MPI_CONFIG_PAGETYPE_IO_UNIT 202,11295 -#define MPI_CONFIG_PAGETYPE_IOC 203,11354 -#define MPI_CONFIG_PAGETYPE_BIOS 204,11413 -#define MPI_CONFIG_PAGETYPE_SCSI_PORT 205,11472 -#define MPI_CONFIG_PAGETYPE_SCSI_DEVICE 206,11531 -#define MPI_CONFIG_PAGETYPE_FC_PORT 207,11590 -#define MPI_CONFIG_PAGETYPE_FC_DEVICE 208,11649 -#define MPI_CONFIG_PAGETYPE_LAN 209,11708 -#define MPI_CONFIG_PAGETYPE_RAID_VOLUME 210,11767 -#define MPI_CONFIG_PAGETYPE_MANUFACTURING 211,11826 -#define MPI_CONFIG_PAGETYPE_RAID_PHYSDISK 212,11885 -#define MPI_CONFIG_PAGETYPE_INBAND 213,11944 -#define MPI_CONFIG_PAGETYPE_EXTENDED 214,12003 -#define MPI_CONFIG_PAGETYPE_MASK 215,12062 -#define MPI_CONFIG_TYPENUM_MASK 217,12122 -#define MPI_CONFIG_EXTPAGETYPE_SAS_IO_UNIT 223,12370 -#define MPI_CONFIG_EXTPAGETYPE_SAS_EXPANDER 224,12429 -#define MPI_CONFIG_EXTPAGETYPE_SAS_DEVICE 225,12488 -#define MPI_CONFIG_EXTPAGETYPE_SAS_PHY 226,12547 -#define MPI_SCSI_PORT_PGAD_PORT_MASK 232,12793 -#define MPI_SCSI_DEVICE_TARGET_ID_MASK 234,12859 -#define MPI_SCSI_DEVICE_TARGET_ID_SHIFT 235,12924 -#define MPI_SCSI_DEVICE_BUS_MASK 236,12980 -#define MPI_SCSI_DEVICE_BUS_SHIFT 237,13045 -#define MPI_FC_PORT_PGAD_PORT_MASK 239,13102 -#define MPI_FC_PORT_PGAD_PORT_SHIFT 240,13167 -#define MPI_FC_PORT_PGAD_FORM_MASK 241,13224 -#define MPI_FC_PORT_PGAD_FORM_INDEX 242,13289 -#define MPI_FC_PORT_PGAD_INDEX_MASK 243,13354 -#define MPI_FC_PORT_PGAD_INDEX_SHIFT 244,13419 -#define MPI_FC_DEVICE_PGAD_PORT_MASK 246,13476 -#define MPI_FC_DEVICE_PGAD_PORT_SHIFT 247,13541 -#define MPI_FC_DEVICE_PGAD_FORM_MASK 248,13598 -#define MPI_FC_DEVICE_PGAD_FORM_NEXT_DID 249,13663 -#define MPI_FC_DEVICE_PGAD_ND_PORT_MASK 250,13728 -#define MPI_FC_DEVICE_PGAD_ND_PORT_SHIFT 251,13793 -#define MPI_FC_DEVICE_PGAD_ND_DID_MASK 252,13850 -#define MPI_FC_DEVICE_PGAD_ND_DID_SHIFT 253,13915 -#define MPI_FC_DEVICE_PGAD_FORM_BUS_TID 254,13971 -#define MPI_FC_DEVICE_PGAD_BT_BUS_MASK 255,14036 -#define MPI_FC_DEVICE_PGAD_BT_BUS_SHIFT 256,14101 -#define MPI_FC_DEVICE_PGAD_BT_TID_MASK 257,14157 -#define MPI_FC_DEVICE_PGAD_BT_TID_SHIFT 258,14222 -#define MPI_PHYSDISK_PGAD_PHYSDISKNUM_MASK 260,14279 -#define MPI_PHYSDISK_PGAD_PHYSDISKNUM_SHIFT 261,14344 -#define MPI_SAS_DEVICE_PGAD_FORM_MASK 263,14401 -#define MPI_SAS_DEVICE_PGAD_FORM_SHIFT 264,14466 -#define MPI_SAS_DEVICE_PGAD_FORM_GET_NEXT_HANDLE 265,14523 -#define MPI_SAS_DEVICE_PGAD_FORM_BUS_TARGET_ID 266,14588 -#define MPI_SAS_DEVICE_PGAD_FORM_HANDLE 267,14653 -#define MPI_SAS_DEVICE_PGAD_GNH_HANDLE_MASK 268,14718 -#define MPI_SAS_DEVICE_PGAD_GNH_HANDLE_SHIFT 269,14783 -#define MPI_SAS_DEVICE_PGAD_BT_BUS_MASK 270,14839 -#define MPI_SAS_DEVICE_PGAD_BT_BUS_SHIFT 271,14904 -#define MPI_SAS_DEVICE_PGAD_BT_TID_MASK 272,14960 -#define MPI_SAS_DEVICE_PGAD_BT_TID_SHIFT 273,15025 -#define MPI_SAS_DEVICE_PGAD_H_HANDLE_MASK 274,15081 -#define MPI_SAS_DEVICE_PGAD_H_HANDLE_SHIFT 275,15146 -#define MPI_SAS_PHY_PGAD_PHY_NUMBER_MASK 277,15203 -#define MPI_SAS_PHY_PGAD_PHY_NUMBER_SHIFT 278,15268 -#define MPI_SAS_PHY_PGAD_DEVHANDLE_MASK 279,15325 -#define MPI_SAS_PHY_PGAD_DEVHANDLE_SHIFT 280,15390 -typedef struct _MSG_CONFIG_MSG_CONFIG286,15631 - Config_t, MPI_POINTER pConfig_t;pConfig_t301,16495 -#define MPI_CONFIG_ACTION_PAGE_HEADER 307,16712 -#define MPI_CONFIG_ACTION_PAGE_READ_CURRENT 308,16771 -#define MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT 309,16830 -#define MPI_CONFIG_ACTION_PAGE_DEFAULT 310,16889 -#define MPI_CONFIG_ACTION_PAGE_WRITE_NVRAM 311,16948 -#define MPI_CONFIG_ACTION_PAGE_READ_DEFAULT 312,17007 -#define MPI_CONFIG_ACTION_PAGE_READ_NVRAM 313,17066 -typedef struct _MSG_CONFIG_REPLY_MSG_CONFIG_REPLY317,17154 - ConfigReply_t, MPI_POINTER pConfigReply_t;pConfigReply_t332,18036 -#define MPI_MANUFACTPAGE_VENDORID_LSILOGIC 345,18489 -#define MPI_MANUFACTPAGE_DEVICEID_FC909 347,18570 -#define MPI_MANUFACTPAGE_DEVICEID_FC919 348,18631 -#define MPI_MANUFACTPAGE_DEVICEID_FC929 349,18692 -#define MPI_MANUFACTPAGE_DEVICEID_FC919X 350,18753 -#define MPI_MANUFACTPAGE_DEVICEID_FC929X 351,18814 -#define MPI_MANUFACTPAGE_DEVID_53C1030 353,18886 -#define MPI_MANUFACTPAGE_DEVID_53C1030ZC 354,18947 -#define MPI_MANUFACTPAGE_DEVID_1030_53C1035 355,19008 -#define MPI_MANUFACTPAGE_DEVID_1030ZC_53C1035 356,19069 -#define MPI_MANUFACTPAGE_DEVID_53C1035 357,19130 -#define MPI_MANUFACTPAGE_DEVID_53C1035ZC 358,19191 -#define MPI_MANUFACTPAGE_DEVID_SAS1064 360,19262 -typedef struct _CONFIG_PAGE_MANUFACTURING_0_CONFIG_PAGE_MANUFACTURING_0363,19325 - ManufacturingPage0_t, MPI_POINTER pManufacturingPage0_t;pManufacturingPage0_t373,19846 -#define MPI_MANUFACTURING0_PAGEVERSION 375,19906 -typedef struct _CONFIG_PAGE_MANUFACTURING_1_CONFIG_PAGE_MANUFACTURING_1378,19970 - ManufacturingPage1_t, MPI_POINTER pManufacturingPage1_t;pManufacturingPage1_t383,20226 -#define MPI_MANUFACTURING1_PAGEVERSION 385,20286 -typedef struct _MPI_CHIP_REVISION_ID_MPI_CHIP_REVISION_ID388,20350 - MpiChipRevisionId_t, MPI_POINTER pMpiChipRevisionId_t;pMpiChipRevisionId_t394,20649 -#define MPI_MAN_PAGE_2_HW_SETTINGS_WORDS 402,20881 -typedef struct _CONFIG_PAGE_MANUFACTURING_2_CONFIG_PAGE_MANUFACTURING_2405,20937 - ManufacturingPage2_t, MPI_POINTER pManufacturingPage2_t;pManufacturingPage2_t411,21300 -#define MPI_MANUFACTURING2_PAGEVERSION 413,21360 -#define MPI_MAN_PAGE_3_INFO_WORDS 421,21591 -typedef struct _CONFIG_PAGE_MANUFACTURING_3_CONFIG_PAGE_MANUFACTURING_3424,21647 - ManufacturingPage3_t, MPI_POINTER pManufacturingPage3_t;pManufacturingPage3_t430,22009 -#define MPI_MANUFACTURING3_PAGEVERSION 432,22069 -typedef struct _CONFIG_PAGE_MANUFACTURING_4_CONFIG_PAGE_MANUFACTURING_4435,22134 - ManufacturingPage4_t, MPI_POINTER pManufacturingPage4_t;pManufacturingPage4_t451,23116 -#define MPI_MANUFACTURING4_PAGEVERSION 453,23176 -#define MPI_MANPAGE4_IR_NO_MIX_SAS_SATA 456,23274 -typedef struct _CONFIG_PAGE_MANUFACTURING_5_CONFIG_PAGE_MANUFACTURING_5459,23339 - ManufacturingPage5_t, MPI_POINTER pManufacturingPage5_t;pManufacturingPage5_t464,23595 -#define MPI_MANUFACTURING5_PAGEVERSION 466,23655 -typedef struct _CONFIG_PAGE_MANUFACTURING_6_CONFIG_PAGE_MANUFACTURING_6469,23720 - ManufacturingPage6_t, MPI_POINTER pManufacturingPage6_t;pManufacturingPage6_t474,23976 -#define MPI_MANUFACTURING6_PAGEVERSION 476,24036 -typedef struct _CONFIG_PAGE_IO_UNIT_0_CONFIG_PAGE_IO_UNIT_0483,24283 - IOUnitPage0_t, MPI_POINTER pIOUnitPage0_t;pIOUnitPage0_t488,24521 -#define MPI_IOUNITPAGE0_PAGEVERSION 490,24567 -typedef struct _CONFIG_PAGE_IO_UNIT_1_CONFIG_PAGE_IO_UNIT_1493,24632 - IOUnitPage1_t, MPI_POINTER pIOUnitPage1_t;pIOUnitPage1_t498,24870 -#define MPI_IOUNITPAGE1_PAGEVERSION 500,24916 -#define MPI_IOUNITPAGE1_MULTI_FUNCTION 503,25015 -#define MPI_IOUNITPAGE1_SINGLE_FUNCTION 504,25084 -#define MPI_IOUNITPAGE1_MULTI_PATHING 505,25153 -#define MPI_IOUNITPAGE1_SINGLE_PATHING 506,25222 -#define MPI_IOUNITPAGE1_IR_USE_STATIC_VOLUME_ID 507,25291 -#define MPI_IOUNITPAGE1_DISABLE_QUEUE_FULL_HANDLING 508,25360 -#define MPI_IOUNITPAGE1_DISABLE_IR 509,25429 -#define MPI_IOUNITPAGE1_FORCE_32 510,25498 -#define MPI_IOUNITPAGE1_NATIVE_COMMAND_Q_DISABLE 511,25567 -typedef struct _MPI_ADAPTER_INFO_MPI_ADAPTER_INFO514,25638 - MpiAdapterInfo_t, MPI_POINTER pMpiAdapterInfo_t;pMpiAdapterInfo_t520,25925 -#define MPI_ADAPTER_INFO_FLAGS_EMBEDDED 522,25977 -#define MPI_ADAPTER_INFO_FLAGS_INIT_STATUS 523,26042 -typedef struct _CONFIG_PAGE_IO_UNIT_2_CONFIG_PAGE_IO_UNIT_2525,26108 - IOUnitPage2_t, MPI_POINTER pIOUnitPage2_t;pIOUnitPage2_t532,26478 -#define MPI_IOUNITPAGE2_PAGEVERSION 534,26524 -#define MPI_IOUNITPAGE2_FLAGS_PAUSE_ON_ERROR 536,26588 -#define MPI_IOUNITPAGE2_FLAGS_VERBOSE_ENABLE 537,26657 -#define MPI_IOUNITPAGE2_FLAGS_COLOR_VIDEO_DISABLE 538,26726 -#define MPI_IOUNITPAGE2_FLAGS_DONT_HOOK_INT_40 539,26795 -#define MPI_IOUNITPAGE2_FLAGS_DEV_LIST_DISPLAY_MASK 541,26865 -#define MPI_IOUNITPAGE2_FLAGS_INSTALLED_DEV_DISPLAY 542,26934 -#define MPI_IOUNITPAGE2_FLAGS_ADAPTER_DISPLAY 543,27003 -#define MPI_IOUNITPAGE2_FLAGS_ADAPTER_DEV_DISPLAY 544,27072 -#define MPI_IO_UNIT_PAGE_3_GPIO_VAL_MAX 552,27315 -typedef struct _CONFIG_PAGE_IO_UNIT_3_CONFIG_PAGE_IO_UNIT_3555,27371 - IOUnitPage3_t, MPI_POINTER pIOUnitPage3_t;pIOUnitPage3_t563,27877 -#define MPI_IOUNITPAGE3_PAGEVERSION 565,27923 -#define MPI_IOUNITPAGE3_GPIO_FUNCTION_MASK 567,27987 -#define MPI_IOUNITPAGE3_GPIO_FUNCTION_SHIFT 568,28050 -#define MPI_IOUNITPAGE3_GPIO_SETTING_OFF 569,28110 -#define MPI_IOUNITPAGE3_GPIO_SETTING_ON 570,28173 -typedef struct _CONFIG_PAGE_IOC_0_CONFIG_PAGE_IOC_0577,28416 - IOCPage0_t, MPI_POINTER pIOCPage0_t;pIOCPage0_t590,29170 -#define MPI_IOCPAGE0_PAGEVERSION 592,29210 -typedef struct _CONFIG_PAGE_IOC_1_CONFIG_PAGE_IOC_1595,29275 - IOCPage1_t, MPI_POINTER pIOCPage1_t;pIOCPage1_t604,29765 -#define MPI_IOCPAGE1_PAGEVERSION 606,29805 -#define MPI_IOCPAGE1_EEDP_HOST_SUPPORTS_DIF 609,29903 -#define MPI_IOCPAGE1_EEDP_MODE_MASK 610,29972 -#define MPI_IOCPAGE1_EEDP_MODE_OFF 611,30041 -#define MPI_IOCPAGE1_EEDP_MODE_T10 612,30110 -#define MPI_IOCPAGE1_EEDP_MODE_LSI_1 613,30179 -#define MPI_IOCPAGE1_REPLY_COALESCING 614,30248 -#define MPI_IOCPAGE1_PCISLOTNUM_UNKNOWN 616,30318 -typedef struct _CONFIG_PAGE_IOC_2_RAID_VOL_CONFIG_PAGE_IOC_2_RAID_VOL619,30383 - ConfigPageIoc2RaidVol_t, MPI_POINTER pConfigPageIoc2RaidVol_t;pConfigPageIoc2RaidVol_t629,30965 -#define MPI_RAID_VOL_TYPE_IS 633,31105 -#define MPI_RAID_VOL_TYPE_IME 634,31164 -#define MPI_RAID_VOL_TYPE_IM 635,31223 -#define MPI_IOCPAGE2_FLAG_VOLUME_INACTIVE 639,31321 -#define MPI_IOC_PAGE_2_RAID_VOLUME_MAX 646,31552 -typedef struct _CONFIG_PAGE_IOC_2_CONFIG_PAGE_IOC_2649,31608 - IOCPage2_t, MPI_POINTER pIOCPage2_t;pIOCPage2_t659,32262 -#define MPI_IOCPAGE2_PAGEVERSION 661,32302 -#define MPI_IOCPAGE2_CAP_FLAGS_IS_SUPPORT 665,32403 -#define MPI_IOCPAGE2_CAP_FLAGS_IME_SUPPORT 666,32472 -#define MPI_IOCPAGE2_CAP_FLAGS_IM_SUPPORT 667,32541 -#define MPI_IOCPAGE2_CAP_FLAGS_SES_SUPPORT 668,32610 -#define MPI_IOCPAGE2_CAP_FLAGS_SAFTE_SUPPORT 669,32679 -#define MPI_IOCPAGE2_CAP_FLAGS_CROSS_CHANNEL_SUPPORT 670,32748 -typedef struct _IOC_3_PHYS_DISK_IOC_3_PHYS_DISK673,32819 - Ioc3PhysDisk_t, MPI_POINTER pIoc3PhysDisk_t;pIoc3PhysDisk_t680,33169 -#define MPI_IOC_PAGE_3_PHYSDISK_MAX 687,33385 -typedef struct _CONFIG_PAGE_IOC_3_CONFIG_PAGE_IOC_3690,33441 - IOCPage3_t, MPI_POINTER pIOCPage3_t;pIOCPage3_t698,33940 -#define MPI_IOCPAGE3_PAGEVERSION 700,33980 -typedef struct _IOC_4_SEP_IOC_4_SEP703,34045 - Ioc4Sep_t, MPI_POINTER pIoc4Sep_t;pIoc4Sep_t709,34311 -#define MPI_IOC_PAGE_4_SEP_MAX 716,34512 -typedef struct _CONFIG_PAGE_IOC_4_CONFIG_PAGE_IOC_4719,34568 - IOCPage4_t, MPI_POINTER pIOCPage4_t;pIOCPage4_t727,35032 -#define MPI_IOCPAGE4_PAGEVERSION 729,35072 -typedef struct _IOC_5_HOT_SPARE_IOC_5_HOT_SPARE732,35137 - Ioc5HotSpare_t, MPI_POINTER pIoc5HotSpare_t;pIoc5HotSpare_t739,35488 -#define MPI_IOC_PAGE_5_HOT_SPARE_ACTIVE 742,35568 -#define MPI_IOC_PAGE_5_HOT_SPARE_MAX 749,35801 -typedef struct _CONFIG_PAGE_IOC_5_CONFIG_PAGE_IOC_5752,35857 - IOCPage5_t, MPI_POINTER pIOCPage5_t;pIOCPage5_t761,36403 -#define MPI_IOCPAGE5_PAGEVERSION 763,36443 -typedef struct _CONFIG_PAGE_BIOS_1_CONFIG_PAGE_BIOS_1770,36692 - BIOSPage1_t, MPI_POINTER pBIOSPage1_t;pBIOSPage1_t784,37515 -#define MPI_BIOSPAGE1_PAGEVERSION 786,37557 -#define MPI_BIOSPAGE1_OPTIONS_SPI_ENABLE 789,37660 -#define MPI_BIOSPAGE1_OPTIONS_FC_ENABLE 790,37729 -#define MPI_BIOSPAGE1_OPTIONS_SAS_ENABLE 791,37798 -#define MPI_BIOSPAGE1_OPTIONS_DISABLE_BIOS 792,37867 -#define MPI_BIOSPAGE1_IOCSET_MASK_SPINUP_DELAY 795,37976 -#define MPI_BIOSPAGE1_IOCSET_SHIFT_SPINUP_DELAY 796,38045 -#define MPI_BIOSPAGE1_IOCSET_MASK_RM_SETTING 798,38106 -#define MPI_BIOSPAGE1_IOCSET_NONE_RM_SETTING 799,38175 -#define MPI_BIOSPAGE1_IOCSET_BOOT_RM_SETTING 800,38244 -#define MPI_BIOSPAGE1_IOCSET_MEDIA_RM_SETTING 801,38313 -#define MPI_BIOSPAGE1_IOCSET_MASK_ADAPTER_SUPPORT 803,38383 -#define MPI_BIOSPAGE1_IOCSET_NO_SUPPORT 804,38452 -#define MPI_BIOSPAGE1_IOCSET_BIOS_SUPPORT 805,38521 -#define MPI_BIOSPAGE1_IOCSET_OS_SUPPORT 806,38590 -#define MPI_BIOSPAGE1_IOCSET_ALL_SUPPORT 807,38659 -#define MPI_BIOSPAGE1_IOCSET_ALTERNATE_CHS 809,38729 -#define MPI_BIOSPAGE1_DEVSET_DISABLE_SEQ_LUN 812,38841 -#define MPI_BIOSPAGE1_DEVSET_DISABLE_RM_LUN 813,38910 -#define MPI_BIOSPAGE1_DEVSET_DISABLE_NON_RM_LUN 814,38979 -#define MPI_BIOSPAGE1_DEVSET_DISABLE_OTHER_LUN 815,39048 -typedef struct _CONFIG_PAGE_SCSI_PORT_0_CONFIG_PAGE_SCSI_PORT_0822,39303 - SCSIPortPage0_t, MPI_POINTER pSCSIPortPage0_t;pSCSIPortPage0_t828,39613 -#define MPI_SCSIPORTPAGE0_PAGEVERSION 830,39663 -#define MPI_SCSIPORTPAGE0_CAP_IU 832,39727 -#define MPI_SCSIPORTPAGE0_CAP_DT 833,39796 -#define MPI_SCSIPORTPAGE0_CAP_QAS 834,39865 -#define MPI_SCSIPORTPAGE0_CAP_MIN_SYNC_PERIOD_MASK 835,39934 -#define MPI_SCSIPORTPAGE0_SYNC_ASYNC 836,40003 -#define MPI_SCSIPORTPAGE0_SYNC_5 837,40066 -#define MPI_SCSIPORTPAGE0_SYNC_10 838,40129 -#define MPI_SCSIPORTPAGE0_SYNC_20 839,40192 -#define MPI_SCSIPORTPAGE0_SYNC_33_33 840,40255 -#define MPI_SCSIPORTPAGE0_SYNC_40 841,40318 -#define MPI_SCSIPORTPAGE0_SYNC_80 842,40381 -#define MPI_SCSIPORTPAGE0_SYNC_160 843,40444 -#define MPI_SCSIPORTPAGE0_SYNC_UNKNOWN 844,40507 -#define MPI_SCSIPORTPAGE0_CAP_SHIFT_MIN_SYNC_PERIOD 846,40571 -#define MPI_SCSIPORTPAGE0_CAP_GET_MIN_SYNC_PERIOD(MPI_SCSIPORTPAGE0_CAP_GET_MIN_SYNC_PERIOD847,40631 -#define MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK 851,40823 -#define MPI_SCSIPORTPAGE0_CAP_SHIFT_MAX_SYNC_OFFSET 852,40892 -#define MPI_SCSIPORTPAGE0_CAP_GET_MAX_SYNC_OFFSET(MPI_SCSIPORTPAGE0_CAP_GET_MAX_SYNC_OFFSET853,40953 -#define MPI_SCSIPORTPAGE0_CAP_WIDE 857,41145 -#define MPI_SCSIPORTPAGE0_CAP_AIP 858,41214 -#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_TYPE_MASK 860,41284 -#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_HVD 861,41353 -#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_SE 862,41416 -#define MPI_SCSIPORTPAGE0_PHY_SIGNAL_LVD 863,41479 -#define MPI_SCSIPORTPAGE0_PHY_MASK_CONNECTED_ID 864,41542 -#define MPI_SCSIPORTPAGE0_PHY_SHIFT_CONNECTED_ID 865,41611 -#define MPI_SCSIPORTPAGE0_PHY_BUS_FREE_CONNECTED_ID 866,41672 -#define MPI_SCSIPORTPAGE0_PHY_UNKNOWN_CONNECTED_ID 867,41735 -typedef struct _CONFIG_PAGE_SCSI_PORT_1_CONFIG_PAGE_SCSI_PORT_1870,41800 - SCSIPortPage1_t, MPI_POINTER pSCSIPortPage1_t;pSCSIPortPage1_t879,42308 -#define MPI_SCSIPORTPAGE1_PAGEVERSION 881,42358 -#define MPI_SCSIPORTPAGE1_CFG_PORT_SCSI_ID_MASK 884,42449 -#define MPI_SCSIPORTPAGE1_CFG_PORT_RESPONSE_ID_MASK 885,42518 -#define MPI_SCSIPORTPAGE1_CFG_SHIFT_PORT_RESPONSE_ID 886,42587 -#define MPI_SCSIPORTPAGE1_TARGCONFIG_TARG_ONLY 889,42675 -#define MPI_SCSIPORTPAGE1_TARGCONFIG_INIT_TARG 890,42736 -typedef struct _MPI_DEVICE_INFO_MPI_DEVICE_INFO893,42799 - MpiDeviceInfo_t, MPI_POINTER pMpiDeviceInfo_t;pMpiDeviceInfo_t899,43083 -typedef struct _CONFIG_PAGE_SCSI_PORT_2_CONFIG_PAGE_SCSI_PORT_2901,43133 - SCSIPortPage2_t, MPI_POINTER pSCSIPortPage2_t;pSCSIPortPage2_t908,43509 -#define MPI_SCSIPORTPAGE2_PAGEVERSION 910,43559 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_SCAN_HIGH_TO_LOW 913,43650 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_AVOID_SCSI_RESET 914,43723 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_ALTERNATE_CHS 915,43796 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_TERMINATION_DISABLE 916,43869 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_DV_MASK 918,43943 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_FULL_DV 919,44016 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_BASIC_DV_ONLY 920,44089 -#define MPI_SCSIPORTPAGE2_PORT_FLAGS_OFF_DV 921,44162 -#define MPI_SCSIPORTPAGE2_PORT_HOST_ID_MASK 925,44263 -#define MPI_SCSIPORTPAGE2_PORT_MASK_INIT_HBA 926,44336 -#define MPI_SCSIPORTPAGE2_PORT_DISABLE_INIT_HBA 927,44409 -#define MPI_SCSIPORTPAGE2_PORT_BIOS_INIT_HBA 928,44482 -#define MPI_SCSIPORTPAGE2_PORT_OS_INIT_HBA 929,44555 -#define MPI_SCSIPORTPAGE2_PORT_BIOS_OS_INIT_HBA 930,44628 -#define MPI_SCSIPORTPAGE2_PORT_REMOVABLE_MEDIA 931,44701 -#define MPI_SCSIPORTPAGE2_PORT_RM_NONE 932,44774 -#define MPI_SCSIPORTPAGE2_PORT_RM_BOOT_ONLY 933,44847 -#define MPI_SCSIPORTPAGE2_PORT_RM_WITH_MEDIA 934,44920 -#define MPI_SCSIPORTPAGE2_PORT_SPINUP_DELAY_MASK 935,44993 -#define MPI_SCSIPORTPAGE2_PORT_SHIFT_SPINUP_DELAY 936,45066 -#define MPI_SCSIPORTPAGE2_PORT_MASK_NEGO_MASTER_SETTINGS 937,45130 -#define MPI_SCSIPORTPAGE2_PORT_NEGO_MASTER_SETTINGS 938,45203 -#define MPI_SCSIPORTPAGE2_PORT_NONE_MASTER_SETTINGS 939,45276 -#define MPI_SCSIPORTPAGE2_PORT_ALL_MASTER_SETTINGS 940,45349 -#define MPI_SCSIPORTPAGE2_DEVICE_DISCONNECT_ENABLE 942,45423 -#define MPI_SCSIPORTPAGE2_DEVICE_ID_SCAN_ENABLE 943,45492 -#define MPI_SCSIPORTPAGE2_DEVICE_LUN_SCAN_ENABLE 944,45561 -#define MPI_SCSIPORTPAGE2_DEVICE_TAG_QUEUE_ENABLE 945,45630 -#define MPI_SCSIPORTPAGE2_DEVICE_WIDE_DISABLE 946,45699 -#define MPI_SCSIPORTPAGE2_DEVICE_BOOT_CHOICE 947,45768 -typedef struct _CONFIG_PAGE_SCSI_DEVICE_0_CONFIG_PAGE_SCSI_DEVICE_0954,46032 - SCSIDevicePage0_t, MPI_POINTER pSCSIDevicePage0_t;pSCSIDevicePage0_t960,46348 -#define MPI_SCSIDEVPAGE0_PAGEVERSION 962,46402 -#define MPI_SCSIDEVPAGE0_NP_IU 964,46466 -#define MPI_SCSIDEVPAGE0_NP_DT 965,46535 -#define MPI_SCSIDEVPAGE0_NP_QAS 966,46604 -#define MPI_SCSIDEVPAGE0_NP_HOLD_MCS 967,46673 -#define MPI_SCSIDEVPAGE0_NP_WR_FLOW 968,46742 -#define MPI_SCSIDEVPAGE0_NP_RD_STRM 969,46811 -#define MPI_SCSIDEVPAGE0_NP_RTI 970,46880 -#define MPI_SCSIDEVPAGE0_NP_PCOMP_EN 971,46949 -#define MPI_SCSIDEVPAGE0_NP_NEG_SYNC_PERIOD_MASK 972,47018 -#define MPI_SCSIDEVPAGE0_NP_SHIFT_SYNC_PERIOD 973,47087 -#define MPI_SCSIDEVPAGE0_NP_NEG_SYNC_OFFSET_MASK 974,47147 -#define MPI_SCSIDEVPAGE0_NP_SHIFT_SYNC_OFFSET 975,47216 -#define MPI_SCSIDEVPAGE0_NP_WIDE 976,47277 -#define MPI_SCSIDEVPAGE0_NP_AIP 977,47346 -#define MPI_SCSIDEVPAGE0_INFO_PARAMS_NEGOTIATED 979,47416 -#define MPI_SCSIDEVPAGE0_INFO_SDTR_REJECTED 980,47485 -#define MPI_SCSIDEVPAGE0_INFO_WDTR_REJECTED 981,47554 -#define MPI_SCSIDEVPAGE0_INFO_PPR_REJECTED 982,47623 -typedef struct _CONFIG_PAGE_SCSI_DEVICE_1_CONFIG_PAGE_SCSI_DEVICE_1985,47694 - SCSIDevicePage1_t, MPI_POINTER pSCSIDevicePage1_t;pSCSIDevicePage1_t992,48076 -#define MPI_SCSIDEVPAGE1_PAGEVERSION 994,48130 -#define MPI_SCSIDEVPAGE1_RP_IU 996,48194 -#define MPI_SCSIDEVPAGE1_RP_DT 997,48263 -#define MPI_SCSIDEVPAGE1_RP_QAS 998,48332 -#define MPI_SCSIDEVPAGE1_RP_HOLD_MCS 999,48401 -#define MPI_SCSIDEVPAGE1_RP_WR_FLOW 1000,48470 -#define MPI_SCSIDEVPAGE1_RP_RD_STRM 1001,48539 -#define MPI_SCSIDEVPAGE1_RP_RTI 1002,48608 -#define MPI_SCSIDEVPAGE1_RP_PCOMP_EN 1003,48677 -#define MPI_SCSIDEVPAGE1_RP_MIN_SYNC_PERIOD_MASK 1004,48746 -#define MPI_SCSIDEVPAGE1_RP_SHIFT_MIN_SYNC_PERIOD 1005,48815 -#define MPI_SCSIDEVPAGE1_RP_MAX_SYNC_OFFSET_MASK 1006,48875 -#define MPI_SCSIDEVPAGE1_RP_SHIFT_MAX_SYNC_OFFSET 1007,48944 -#define MPI_SCSIDEVPAGE1_RP_WIDE 1008,49005 -#define MPI_SCSIDEVPAGE1_RP_AIP 1009,49074 -#define MPI_SCSIDEVPAGE1_CONF_WDTR_DISALLOWED 1011,49144 -#define MPI_SCSIDEVPAGE1_CONF_SDTR_DISALLOWED 1012,49213 -#define MPI_SCSIDEVPAGE1_CONF_EXTENDED_PARAMS_ENABLE 1013,49282 -#define MPI_SCSIDEVPAGE1_CONF_FORCE_PPR_MSG 1014,49351 -typedef struct _CONFIG_PAGE_SCSI_DEVICE_2_CONFIG_PAGE_SCSI_DEVICE_21017,49422 - SCSIDevicePage2_t, MPI_POINTER pSCSIDevicePage2_t;pSCSIDevicePage2_t1024,49804 -#define MPI_SCSIDEVPAGE2_PAGEVERSION 1026,49858 -#define MPI_SCSIDEVPAGE2_DV_ISI_ENABLE 1028,49922 -#define MPI_SCSIDEVPAGE2_DV_SECONDARY_DRIVER_ENABLE 1029,49991 -#define MPI_SCSIDEVPAGE2_DV_SLEW_RATE_CTRL 1030,50060 -#define MPI_SCSIDEVPAGE2_DV_PRIM_DRIVE_STR_CTRL 1031,50129 -#define MPI_SCSIDEVPAGE2_DV_SECOND_DRIVE_STR_CTRL 1032,50198 -#define MPI_SCSIDEVPAGE2_DV_XCLKH_ST 1033,50267 -#define MPI_SCSIDEVPAGE2_DV_XCLKS_ST 1034,50336 -#define MPI_SCSIDEVPAGE2_DV_XCLKH_DT 1035,50405 -#define MPI_SCSIDEVPAGE2_DV_XCLKS_DT 1036,50474 -#define MPI_SCSIDEVPAGE2_PPS_PPS_MASK 1038,50544 -#define MPI_SCSIDEVPAGE2_DPS_BIT_0_PL_SELECT_MASK 1040,50614 -#define MPI_SCSIDEVPAGE2_DPS_BIT_1_PL_SELECT_MASK 1041,50683 -#define MPI_SCSIDEVPAGE2_DPS_BIT_2_PL_SELECT_MASK 1042,50752 -#define MPI_SCSIDEVPAGE2_DPS_BIT_3_PL_SELECT_MASK 1043,50821 -#define MPI_SCSIDEVPAGE2_DPS_BIT_4_PL_SELECT_MASK 1044,50890 -#define MPI_SCSIDEVPAGE2_DPS_BIT_5_PL_SELECT_MASK 1045,50959 -#define MPI_SCSIDEVPAGE2_DPS_BIT_6_PL_SELECT_MASK 1046,51028 -#define MPI_SCSIDEVPAGE2_DPS_BIT_7_PL_SELECT_MASK 1047,51097 -#define MPI_SCSIDEVPAGE2_DPS_BIT_8_PL_SELECT_MASK 1048,51166 -#define MPI_SCSIDEVPAGE2_DPS_BIT_9_PL_SELECT_MASK 1049,51235 -#define MPI_SCSIDEVPAGE2_DPS_BIT_10_PL_SELECT_MASK 1050,51304 -#define MPI_SCSIDEVPAGE2_DPS_BIT_11_PL_SELECT_MASK 1051,51373 -#define MPI_SCSIDEVPAGE2_DPS_BIT_12_PL_SELECT_MASK 1052,51442 -#define MPI_SCSIDEVPAGE2_DPS_BIT_13_PL_SELECT_MASK 1053,51511 -#define MPI_SCSIDEVPAGE2_DPS_BIT_14_PL_SELECT_MASK 1054,51580 -#define MPI_SCSIDEVPAGE2_DPS_BIT_15_PL_SELECT_MASK 1055,51649 -typedef struct _CONFIG_PAGE_SCSI_DEVICE_3_CONFIG_PAGE_SCSI_DEVICE_31058,51720 - SCSIDevicePage3_t, MPI_POINTER pSCSIDevicePage3_t;pSCSIDevicePage3_t1066,52168 -#define MPI_SCSIDEVPAGE3_PAGEVERSION 1068,52222 -#define MPI_SCSIDEVPAGE3_MAX_COUNTER 1070,52286 -#define MPI_SCSIDEVPAGE3_UNSUPPORTED_COUNTER 1071,52351 -typedef struct _CONFIG_PAGE_FC_PORT_0_CONFIG_PAGE_FC_PORT_01078,52600 - FCPortPage0_t, MPI_POINTER pFCPortPage0_t;pFCPortPage0_t1102,54092 -#define MPI_FCPORTPAGE0_PAGEVERSION 1104,54138 -#define MPI_FCPORTPAGE0_FLAGS_PROT_MASK 1106,54202 -#define MPI_FCPORTPAGE0_FLAGS_PROT_FCP_INIT 1107,54271 -#define MPI_FCPORTPAGE0_FLAGS_PROT_FCP_TARG 1108,54362 -#define MPI_FCPORTPAGE0_FLAGS_PROT_LAN 1109,54450 -#define MPI_FCPORTPAGE0_FLAGS_PROT_LOGBUSADDR 1110,54535 -#define MPI_FCPORTPAGE0_FLAGS_ALIAS_ALPA_SUPPORTED 1112,54628 -#define MPI_FCPORTPAGE0_FLAGS_ALIAS_WWN_SUPPORTED 1113,54697 -#define MPI_FCPORTPAGE0_FLAGS_FABRIC_WWN_VALID 1114,54766 -#define MPI_FCPORTPAGE0_FLAGS_ATTACH_TYPE_MASK 1116,54836 -#define MPI_FCPORTPAGE0_FLAGS_ATTACH_NO_INIT 1117,54905 -#define MPI_FCPORTPAGE0_FLAGS_ATTACH_POINT_TO_POINT 1118,54974 -#define MPI_FCPORTPAGE0_FLAGS_ATTACH_PRIVATE_LOOP 1119,55043 -#define MPI_FCPORTPAGE0_FLAGS_ATTACH_FABRIC_DIRECT 1120,55112 -#define MPI_FCPORTPAGE0_FLAGS_ATTACH_PUBLIC_LOOP 1121,55181 -#define MPI_FCPORTPAGE0_LTYPE_RESERVED 1123,55251 -#define MPI_FCPORTPAGE0_LTYPE_OTHER 1124,55314 -#define MPI_FCPORTPAGE0_LTYPE_UNKNOWN 1125,55377 -#define MPI_FCPORTPAGE0_LTYPE_COPPER 1126,55440 -#define MPI_FCPORTPAGE0_LTYPE_SINGLE_1300 1127,55503 -#define MPI_FCPORTPAGE0_LTYPE_SINGLE_1500 1128,55566 -#define MPI_FCPORTPAGE0_LTYPE_50_LASER_MULTI 1129,55629 -#define MPI_FCPORTPAGE0_LTYPE_50_LED_MULTI 1130,55692 -#define MPI_FCPORTPAGE0_LTYPE_62_LASER_MULTI 1131,55755 -#define MPI_FCPORTPAGE0_LTYPE_62_LED_MULTI 1132,55818 -#define MPI_FCPORTPAGE0_LTYPE_MULTI_LONG_WAVE 1133,55881 -#define MPI_FCPORTPAGE0_LTYPE_MULTI_SHORT_WAVE 1134,55944 -#define MPI_FCPORTPAGE0_LTYPE_LASER_SHORT_WAVE 1135,56007 -#define MPI_FCPORTPAGE0_LTYPE_LED_SHORT_WAVE 1136,56070 -#define MPI_FCPORTPAGE0_LTYPE_1300_LONG_WAVE 1137,56133 -#define MPI_FCPORTPAGE0_LTYPE_1500_LONG_WAVE 1138,56196 -#define MPI_FCPORTPAGE0_PORTSTATE_UNKNOWN 1140,56260 -#define MPI_FCPORTPAGE0_PORTSTATE_ONLINE 1141,56377 -#define MPI_FCPORTPAGE0_PORTSTATE_OFFLINE 1142,56498 -#define MPI_FCPORTPAGE0_PORTSTATE_BYPASSED 1143,56620 -#define MPI_FCPORTPAGE0_PORTSTATE_DIAGNOST 1144,56738 -#define MPI_FCPORTPAGE0_PORTSTATE_LINKDOWN 1145,56867 -#define MPI_FCPORTPAGE0_PORTSTATE_ERROR 1146,56986 -#define MPI_FCPORTPAGE0_PORTSTATE_LOOPBACK 1147,57106 -#define MPI_FCPORTPAGE0_SUPPORT_CLASS_1 1149,57225 -#define MPI_FCPORTPAGE0_SUPPORT_CLASS_2 1150,57294 -#define MPI_FCPORTPAGE0_SUPPORT_CLASS_3 1151,57363 -#define MPI_FCPORTPAGE0_SUPPORT_SPEED_UKNOWN 1153,57433 -#define MPI_FCPORTPAGE0_SUPPORT_1GBIT_SPEED 1154,57585 -#define MPI_FCPORTPAGE0_SUPPORT_2GBIT_SPEED 1155,57703 -#define MPI_FCPORTPAGE0_SUPPORT_10GBIT_SPEED 1156,57821 -#define MPI_FCPORTPAGE0_SUPPORT_4GBIT_SPEED 1157,57939 -#define MPI_FCPORTPAGE0_CURRENT_SPEED_UKNOWN 1159,58058 -#define MPI_FCPORTPAGE0_CURRENT_SPEED_1GBIT 1160,58151 -#define MPI_FCPORTPAGE0_CURRENT_SPEED_2GBIT 1161,58243 -#define MPI_FCPORTPAGE0_CURRENT_SPEED_10GBIT 1162,58335 -#define MPI_FCPORTPAGE0_CURRENT_SPEED_4GBIT 1163,58428 -#define MPI_FCPORTPAGE0_CURRENT_SPEED_NOT_NEGOTIATED 1164,58520 -typedef struct _CONFIG_PAGE_FC_PORT_1_CONFIG_PAGE_FC_PORT_11168,58670 - FCPortPage1_t, MPI_POINTER pFCPortPage1_t;pFCPortPage1_t1183,59568 -#define MPI_FCPORTPAGE1_PAGEVERSION 1185,59614 -#define MPI_FCPORTPAGE1_FLAGS_EXT_FCP_STATUS_EN 1187,59678 -#define MPI_FCPORTPAGE1_FLAGS_IMMEDIATE_ERROR_REPLY 1188,59747 -#define MPI_FCPORTPAGE1_FLAGS_FORCE_USE_NOSEEPROM_WWNS 1189,59816 -#define MPI_FCPORTPAGE1_FLAGS_VERBOSE_RESCAN_EVENTS 1190,59885 -#define MPI_FCPORTPAGE1_FLAGS_TARGET_MODE_OXID 1191,59954 -#define MPI_FCPORTPAGE1_FLAGS_PORT_OFFLINE 1192,60023 -#define MPI_FCPORTPAGE1_FLAGS_SOFT_ALPA_FALLBACK 1193,60092 -#define MPI_FCPORTPAGE1_FLAGS_MASK_RR_TOV_UNITS 1194,60161 -#define MPI_FCPORTPAGE1_FLAGS_SUPPRESS_PROT_REG 1195,60230 -#define MPI_FCPORTPAGE1_FLAGS_PLOGI_ON_LOGO 1196,60299 -#define MPI_FCPORTPAGE1_FLAGS_MAINTAIN_LOGINS 1197,60368 -#define MPI_FCPORTPAGE1_FLAGS_SORT_BY_DID 1198,60437 -#define MPI_FCPORTPAGE1_FLAGS_SORT_BY_WWN 1199,60506 -#define MPI_FCPORTPAGE1_FLAGS_PROT_MASK 1201,60576 -#define MPI_FCPORTPAGE1_FLAGS_PROT_SHIFT 1202,60645 -#define MPI_FCPORTPAGE1_FLAGS_PROT_FCP_INIT 1203,60706 -#define MPI_FCPORTPAGE1_FLAGS_PROT_FCP_TARG 1204,60838 -#define MPI_FCPORTPAGE1_FLAGS_PROT_LAN 1205,60967 -#define MPI_FCPORTPAGE1_FLAGS_PROT_LOGBUSADDR 1206,61093 -#define MPI_FCPORTPAGE1_FLAGS_NONE_RR_TOV_UNITS 1208,61227 -#define MPI_FCPORTPAGE1_FLAGS_THOUSANDTH_RR_TOV_UNITS 1209,61296 -#define MPI_FCPORTPAGE1_FLAGS_TENTH_RR_TOV_UNITS 1210,61365 -#define MPI_FCPORTPAGE1_FLAGS_TEN_RR_TOV_UNITS 1211,61434 -#define MPI_FCPORTPAGE1_HARD_ALPA_NOT_USED 1213,61504 -#define MPI_FCPORTPAGE1_LCONFIG_SPEED_MASK 1215,61568 -#define MPI_FCPORTPAGE1_LCONFIG_SPEED_1GIG 1216,61631 -#define MPI_FCPORTPAGE1_LCONFIG_SPEED_2GIG 1217,61694 -#define MPI_FCPORTPAGE1_LCONFIG_SPEED_4GIG 1218,61757 -#define MPI_FCPORTPAGE1_LCONFIG_SPEED_10GIG 1219,61820 -#define MPI_FCPORTPAGE1_LCONFIG_SPEED_AUTO 1220,61883 -#define MPI_FCPORTPAGE1_TOPOLOGY_MASK 1222,61947 -#define MPI_FCPORTPAGE1_TOPOLOGY_NLPORT 1223,62010 -#define MPI_FCPORTPAGE1_TOPOLOGY_NPORT 1224,62073 -#define MPI_FCPORTPAGE1_TOPOLOGY_AUTO 1225,62136 -#define MPI_FCPORTPAGE1_ALT_CONN_UNKNOWN 1227,62200 -#define MPI_FCPORTPAGE1_INITIATOR_DEV_TIMEOUT_MASK 1229,62264 -typedef struct _CONFIG_PAGE_FC_PORT_2_CONFIG_PAGE_FC_PORT_21232,62329 - FCPortPage2_t, MPI_POINTER pFCPortPage2_t;pFCPortPage2_t1238,62633 -#define MPI_FCPORTPAGE2_PAGEVERSION 1240,62679 -typedef struct _WWN_FORMAT_WWN_FORMAT1243,62744 - WWNFormat, MPI_POINTER pWWNFormat;pWWNFormat1248,62947 -typedef union _FC_PORT_PERSISTENT_PHYSICAL_ID_FC_PORT_PERSISTENT_PHYSICAL_ID1250,62985 - PersistentPhysicalId_t, MPI_POINTER pPersistentPhysicalId_t;pPersistentPhysicalId_t1255,63181 -typedef struct _FC_PORT_PERSISTENT_FC_PORT_PERSISTENT1257,63245 - PersistentData_t, MPI_POINTER pPersistentData_t;pPersistentData_t1264,63604 -#define MPI_PERSISTENT_FLAGS_SHIFT 1266,63656 -#define MPI_PERSISTENT_FLAGS_ENTRY_VALID 1267,63717 -#define MPI_PERSISTENT_FLAGS_SCAN_ID 1268,63782 -#define MPI_PERSISTENT_FLAGS_SCAN_LUNS 1269,63847 -#define MPI_PERSISTENT_FLAGS_BOOT_DEVICE 1270,63912 -#define MPI_PERSISTENT_FLAGS_BY_DID 1271,63977 -#define MPI_FC_PORT_PAGE_3_ENTRY_MAX 1278,64212 -typedef struct _CONFIG_PAGE_FC_PORT_3_CONFIG_PAGE_FC_PORT_31281,64268 - FCPortPage3_t, MPI_POINTER pFCPortPage3_t;pFCPortPage3_t1286,64530 -#define MPI_FCPORTPAGE3_PAGEVERSION 1288,64576 -typedef struct _CONFIG_PAGE_FC_PORT_4_CONFIG_PAGE_FC_PORT_41291,64641 - FCPortPage4_t, MPI_POINTER pFCPortPage4_t;pFCPortPage4_t1297,64945 -#define MPI_FCPORTPAGE4_PAGEVERSION 1299,64991 -#define MPI_FCPORTPAGE4_PORT_FLAGS_ALTERNATE_CHS 1301,65055 -#define MPI_FCPORTPAGE4_PORT_MASK_INIT_HBA 1303,65125 -#define MPI_FCPORTPAGE4_PORT_DISABLE_INIT_HBA 1304,65194 -#define MPI_FCPORTPAGE4_PORT_BIOS_INIT_HBA 1305,65263 -#define MPI_FCPORTPAGE4_PORT_OS_INIT_HBA 1306,65332 -#define MPI_FCPORTPAGE4_PORT_BIOS_OS_INIT_HBA 1307,65401 -#define MPI_FCPORTPAGE4_PORT_REMOVABLE_MEDIA 1308,65470 -#define MPI_FCPORTPAGE4_PORT_SPINUP_DELAY_MASK 1309,65539 -typedef struct _CONFIG_PAGE_FC_PORT_5_ALIAS_INFO_CONFIG_PAGE_FC_PORT_5_ALIAS_INFO1312,65610 - FcPortPage5AliasInfo_t, MPI_POINTER pFcPortPage5AliasInfo_t;pFcPortPage5AliasInfo_t1321,66080 -typedef struct _CONFIG_PAGE_FC_PORT_5_CONFIG_PAGE_FC_PORT_51323,66144 - FCPortPage5_t, MPI_POINTER pFCPortPage5_t;pFCPortPage5_t1328,66383 -#define MPI_FCPORTPAGE5_PAGEVERSION 1330,66429 -#define MPI_FCPORTPAGE5_FLAGS_ALPA_ACQUIRED 1332,66493 -#define MPI_FCPORTPAGE5_FLAGS_HARD_ALPA 1333,66556 -#define MPI_FCPORTPAGE5_FLAGS_HARD_WWNN 1334,66619 -#define MPI_FCPORTPAGE5_FLAGS_HARD_WWPN 1335,66682 -#define MPI_FCPORTPAGE5_FLAGS_DISABLE 1336,66745 -typedef struct _CONFIG_PAGE_FC_PORT_6_CONFIG_PAGE_FC_PORT_61338,66809 - FCPortPage6_t, MPI_POINTER pFCPortPage6_t;pFCPortPage6_t1359,68103 -#define MPI_FCPORTPAGE6_PAGEVERSION 1361,68149 -typedef struct _CONFIG_PAGE_FC_PORT_7_CONFIG_PAGE_FC_PORT_71364,68214 - FCPortPage7_t, MPI_POINTER pFCPortPage7_t;pFCPortPage7_t1370,68518 -#define MPI_FCPORTPAGE7_PAGEVERSION 1372,68564 -typedef struct _CONFIG_PAGE_FC_PORT_8_CONFIG_PAGE_FC_PORT_81375,68629 - FCPortPage8_t, MPI_POINTER pFCPortPage8_t;pFCPortPage8_t1380,68867 -#define MPI_FCPORTPAGE8_PAGEVERSION 1382,68913 -typedef struct _CONFIG_PAGE_FC_PORT_9_CONFIG_PAGE_FC_PORT_91385,68978 - FCPortPage9_t, MPI_POINTER pFCPortPage9_t;pFCPortPage9_t1400,69876 -#define MPI_FCPORTPAGE9_PAGEVERSION 1402,69922 -typedef struct _CONFIG_PAGE_FC_PORT_10_BASE_SFP_DATA_CONFIG_PAGE_FC_PORT_10_BASE_SFP_DATA1405,69987 - FCPortPage10BaseSfpData_t, MPI_POINTER pFCPortPage10BaseSfpData_t;pFCPortPage10BaseSfpData_t1430,71525 -#define MPI_FCPORT10_BASE_ID_UNKNOWN 1432,71595 -#define MPI_FCPORT10_BASE_ID_GBIC 1433,71646 -#define MPI_FCPORT10_BASE_ID_FIXED 1434,71697 -#define MPI_FCPORT10_BASE_ID_SFP 1435,71748 -#define MPI_FCPORT10_BASE_ID_SFP_MIN 1436,71799 -#define MPI_FCPORT10_BASE_ID_SFP_MAX 1437,71850 -#define MPI_FCPORT10_BASE_ID_VEND_SPEC_MASK 1438,71901 -#define MPI_FCPORT10_BASE_EXTID_UNKNOWN 1440,71953 -#define MPI_FCPORT10_BASE_EXTID_MODDEF1 1441,72004 -#define MPI_FCPORT10_BASE_EXTID_MODDEF2 1442,72055 -#define MPI_FCPORT10_BASE_EXTID_MODDEF3 1443,72106 -#define MPI_FCPORT10_BASE_EXTID_SEEPROM 1444,72157 -#define MPI_FCPORT10_BASE_EXTID_MODDEF5 1445,72208 -#define MPI_FCPORT10_BASE_EXTID_MODDEF6 1446,72259 -#define MPI_FCPORT10_BASE_EXTID_MODDEF7 1447,72310 -#define MPI_FCPORT10_BASE_EXTID_VNDSPC_MASK 1448,72361 -#define MPI_FCPORT10_BASE_CONN_UNKNOWN 1450,72413 -#define MPI_FCPORT10_BASE_CONN_SC 1451,72464 -#define MPI_FCPORT10_BASE_CONN_COPPER1 1452,72515 -#define MPI_FCPORT10_BASE_CONN_COPPER2 1453,72566 -#define MPI_FCPORT10_BASE_CONN_BNC_TNC 1454,72617 -#define MPI_FCPORT10_BASE_CONN_COAXIAL 1455,72668 -#define MPI_FCPORT10_BASE_CONN_FIBERJACK 1456,72719 -#define MPI_FCPORT10_BASE_CONN_LC 1457,72770 -#define MPI_FCPORT10_BASE_CONN_MT_RJ 1458,72821 -#define MPI_FCPORT10_BASE_CONN_MU 1459,72872 -#define MPI_FCPORT10_BASE_CONN_SG 1460,72923 -#define MPI_FCPORT10_BASE_CONN_OPT_PIGT 1461,72974 -#define MPI_FCPORT10_BASE_CONN_RSV1_MIN 1462,73025 -#define MPI_FCPORT10_BASE_CONN_RSV1_MAX 1463,73076 -#define MPI_FCPORT10_BASE_CONN_HSSDC_II 1464,73127 -#define MPI_FCPORT10_BASE_CONN_CPR_PIGT 1465,73178 -#define MPI_FCPORT10_BASE_CONN_RSV2_MIN 1466,73229 -#define MPI_FCPORT10_BASE_CONN_RSV2_MAX 1467,73280 -#define MPI_FCPORT10_BASE_CONN_VNDSPC_MASK 1468,73331 -#define MPI_FCPORT10_BASE_ENCODE_UNSPEC 1470,73383 -#define MPI_FCPORT10_BASE_ENCODE_8B10B 1471,73434 -#define MPI_FCPORT10_BASE_ENCODE_4B5B 1472,73485 -#define MPI_FCPORT10_BASE_ENCODE_NRZ 1473,73536 -#define MPI_FCPORT10_BASE_ENCODE_MANCHESTER 1474,73587 -typedef struct _CONFIG_PAGE_FC_PORT_10_EXTENDED_SFP_DATA_CONFIG_PAGE_FC_PORT_10_EXTENDED_SFP_DATA1477,73640 - FCPortPage10ExtendedSfpData_t, MPI_POINTER pFCPortPage10ExtendedSfpData_t;pFCPortPage10ExtendedSfpData_t1488,74266 -#define MPI_FCPORT10_EXT_OPTION1_RATESEL 1490,74344 -#define MPI_FCPORT10_EXT_OPTION1_TX_DISABLE 1491,74395 -#define MPI_FCPORT10_EXT_OPTION1_TX_FAULT 1492,74446 -#define MPI_FCPORT10_EXT_OPTION1_LOS_INVERT 1493,74497 -#define MPI_FCPORT10_EXT_OPTION1_LOS 1494,74548 -typedef struct _CONFIG_PAGE_FC_PORT_10_CONFIG_PAGE_FC_PORT_101497,74601 - FCPortPage10_t, MPI_POINTER pFCPortPage10_t;pFCPortPage10_t1509,75414 -#define MPI_FCPORTPAGE10_PAGEVERSION 1511,75462 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_MASK 1514,75582 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF2 1515,75651 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF1 1516,75720 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF0 1517,75789 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_NOGBIC 1518,75858 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_CPR_IEEE_CX 1519,75927 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_COPPER 1520,75996 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_OPTICAL_LW 1521,76065 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_SEEPROM 1522,76134 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_SW_OPTICAL 1523,76203 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_LX_IEEE_OPT_LW 1524,76272 -#define MPI_FCPORTPAGE10_FLAGS_MODDEF_SX_IEEE_OPT_SW 1525,76341 -#define MPI_FCPORTPAGE10_FLAGS_CC_BASE_OK 1527,76411 -#define MPI_FCPORTPAGE10_FLAGS_CC_EXT_OK 1528,76480 -typedef struct _CONFIG_PAGE_FC_DEVICE_0_CONFIG_PAGE_FC_DEVICE_01535,76735 - FCDevicePage0_t, MPI_POINTER pFCDevicePage0_t;pFCDevicePage0_t1552,77771 -#define MPI_FC_DEVICE_PAGE0_PAGEVERSION 1554,77821 -#define MPI_FC_DEVICE_PAGE0_FLAGS_TARGETID_BUS_VALID 1556,77885 -#define MPI_FC_DEVICE_PAGE0_FLAGS_PLOGI_INVALID 1557,77948 -#define MPI_FC_DEVICE_PAGE0_FLAGS_PRLI_INVALID 1558,78011 -#define MPI_FC_DEVICE_PAGE0_PROT_IP 1560,78075 -#define MPI_FC_DEVICE_PAGE0_PROT_FCP_TARGET 1561,78138 -#define MPI_FC_DEVICE_PAGE0_PROT_FCP_INITIATOR 1562,78201 -#define MPI_FC_DEVICE_PAGE0_PROT_FCP_RETRY 1563,78264 -#define MPI_FC_DEVICE_PAGE0_PGAD_PORT_MASK 1565,78328 -#define MPI_FC_DEVICE_PAGE0_PGAD_FORM_MASK 1566,78407 -#define MPI_FC_DEVICE_PAGE0_PGAD_FORM_NEXT_DID 1567,78486 -#define MPI_FC_DEVICE_PAGE0_PGAD_FORM_BUS_TID 1568,78569 -#define MPI_FC_DEVICE_PAGE0_PGAD_DID_MASK 1569,78651 -#define MPI_FC_DEVICE_PAGE0_PGAD_BUS_MASK 1570,78732 -#define MPI_FC_DEVICE_PAGE0_PGAD_BUS_SHIFT 1571,78813 -#define MPI_FC_DEVICE_PAGE0_PGAD_TID_MASK 1572,78895 -#define MPI_FC_DEVICE_PAGE0_HARD_ALPA_UNKNOWN 1574,78977 -typedef struct _RAID_VOL0_PHYS_DISK_RAID_VOL0_PHYS_DISK1580,79219 - RaidVol0PhysDisk_t, MPI_POINTER pRaidVol0PhysDisk_t;pRaidVol0PhysDisk_t1586,79515 -#define MPI_RAIDVOL0_PHYSDISK_PRIMARY 1588,79571 -#define MPI_RAIDVOL0_PHYSDISK_SECONDARY 1589,79634 -typedef struct _RAID_VOL0_STATUS_RAID_VOL0_STATUS1591,79698 - RaidVol0Status_t, MPI_POINTER pRaidVol0Status_t;pRaidVol0Status_t1597,79985 -#define MPI_RAIDVOL0_STATUS_FLAG_ENABLED 1601,80084 -#define MPI_RAIDVOL0_STATUS_FLAG_QUIESCED 1602,80147 -#define MPI_RAIDVOL0_STATUS_FLAG_RESYNC_IN_PROGRESS 1603,80210 -#define MPI_RAIDVOL0_STATUS_FLAG_VOLUME_INACTIVE 1604,80273 -#define MPI_RAIDVOL0_STATUS_STATE_OPTIMAL 1606,80337 -#define MPI_RAIDVOL0_STATUS_STATE_DEGRADED 1607,80400 -#define MPI_RAIDVOL0_STATUS_STATE_FAILED 1608,80463 -typedef struct _RAID_VOL0_SETTINGS_RAID_VOL0_SETTINGS1610,80527 - RaidVol0Settings, MPI_POINTER pRaidVol0Settings;pRaidVol0Settings1616,80827 -#define MPI_RAIDVOL0_SETTING_WRITE_CACHING_ENABLE 1620,80928 -#define MPI_RAIDVOL0_SETTING_OFFLINE_ON_SMART 1621,80993 -#define MPI_RAIDVOL0_SETTING_AUTO_CONFIGURE 1622,81058 -#define MPI_RAIDVOL0_SETTING_PRIORITY_RESYNC 1623,81123 -#define MPI_RAIDVOL0_SETTING_USE_PRODUCT_ID_SUFFIX 1624,81188 -#define MPI_RAIDVOL0_SETTING_USE_DEFAULTS 1625,81253 -#define MPI_RAID_HOT_SPARE_POOL_0 1628,81398 -#define MPI_RAID_HOT_SPARE_POOL_1 1629,81461 -#define MPI_RAID_HOT_SPARE_POOL_2 1630,81524 -#define MPI_RAID_HOT_SPARE_POOL_3 1631,81587 -#define MPI_RAID_HOT_SPARE_POOL_4 1632,81650 -#define MPI_RAID_HOT_SPARE_POOL_5 1633,81713 -#define MPI_RAID_HOT_SPARE_POOL_6 1634,81776 -#define MPI_RAID_HOT_SPARE_POOL_7 1635,81839 -#define MPI_RAID_VOL_PAGE_0_PHYSDISK_MAX 1642,82076 -typedef struct _CONFIG_PAGE_RAID_VOL_0_CONFIG_PAGE_RAID_VOL_01645,82136 - RaidVolumePage0_t, MPI_POINTER pRaidVolumePage0_t;pRaidVolumePage0_t1664,83161 -#define MPI_RAIDVOLPAGE0_PAGEVERSION 1666,83215 -typedef struct _RAID_PHYS_DISK0_ERROR_DATA_RAID_PHYS_DISK0_ERROR_DATA1673,83473 - RaidPhysDisk0ErrorData_t, MPI_POINTER pRaidPhysDisk0ErrorData_t;pRaidPhysDisk0ErrorData_t1685,84186 -typedef struct _RAID_PHYS_DISK_INQUIRY_DATA_RAID_PHYS_DISK_INQUIRY_DATA1687,84254 - RaidPhysDisk0InquiryData, MPI_POINTER pRaidPhysDisk0InquiryData;pRaidPhysDisk0InquiryData1694,84642 -typedef struct _RAID_PHYS_DISK0_SETTINGS_RAID_PHYS_DISK0_SETTINGS1696,84710 - RaidPhysDiskSettings_t, MPI_POINTER pRaidPhysDiskSettings_t;pRaidPhysDiskSettings_t1703,85054 -typedef struct _RAID_PHYS_DISK0_STATUS_RAID_PHYS_DISK0_STATUS1705,85118 - RaidPhysDiskStatus_t, MPI_POINTER pRaidPhysDiskStatus_t;pRaidPhysDiskStatus_t1711,85423 -#define MPI_PHYSDISK0_STATUS_FLAG_OUT_OF_SYNC 1715,85538 -#define MPI_PHYSDISK0_STATUS_FLAG_QUIESCED 1716,85601 -#define MPI_PHYSDISK0_STATUS_ONLINE 1718,85665 -#define MPI_PHYSDISK0_STATUS_MISSING 1719,85728 -#define MPI_PHYSDISK0_STATUS_NOT_COMPATIBLE 1720,85791 -#define MPI_PHYSDISK0_STATUS_FAILED 1721,85854 -#define MPI_PHYSDISK0_STATUS_INITIALIZING 1722,85917 -#define MPI_PHYSDISK0_STATUS_OFFLINE_REQUESTED 1723,85980 -#define MPI_PHYSDISK0_STATUS_FAILED_REQUESTED 1724,86043 -#define MPI_PHYSDISK0_STATUS_OTHER_OFFLINE 1725,86106 -typedef struct _CONFIG_PAGE_RAID_PHYS_DISK_0_CONFIG_PAGE_RAID_PHYS_DISK_01727,86170 - RaidPhysDiskPage0_t, MPI_POINTER pRaidPhysDiskPage0_t;pRaidPhysDiskPage0_t1744,87221 -#define MPI_RAIDPHYSDISKPAGE0_PAGEVERSION 1746,87279 -typedef struct _CONFIG_PAGE_LAN_0_CONFIG_PAGE_LAN_01753,87518 - LANPage0_t, MPI_POINTER pLANPage0_t;pLANPage0_t1760,87875 -#define MPI_LAN_PAGE0_PAGEVERSION 1762,87915 -#define MPI_LAN_PAGE0_RETURN_LOOPBACK 1764,87979 -#define MPI_LAN_PAGE0_SUPPRESS_LOOPBACK 1765,88044 -#define MPI_LAN_PAGE0_LOOPBACK_MASK 1766,88109 -typedef struct _CONFIG_PAGE_LAN_1_CONFIG_PAGE_LAN_11768,88175 - LANPage1_t, MPI_POINTER pLANPage1_t;pLANPage1_t1785,89192 -#define MPI_LAN_PAGE1_PAGEVERSION 1787,89232 -#define MPI_LAN_PAGE1_DEV_STATE_RESET 1789,89296 -#define MPI_LAN_PAGE1_DEV_STATE_OPERATIONAL 1790,89359 -typedef struct _CONFIG_PAGE_INBAND_0_CONFIG_PAGE_INBAND_01797,89605 - InbandPage0_t, MPI_POINTER pInbandPage0_t;pInbandPage0_t1804,89972 -#define MPI_INBAND_PAGEVERSION 1806,90018 -typedef struct _MPI_SAS_IO_UNIT0_PHY_DATA_MPI_SAS_IO_UNIT0_PHY_DATA1814,90254 - SasIOUnit0PhyData, MPI_POINTER pSasIOUnit0PhyData;pSasIOUnit0PhyData1825,90770 -#define MPI_SAS_IOUNIT0_PHY_MAX 1832,90988 -typedef struct _CONFIG_PAGE_SAS_IO_UNIT_0_CONFIG_PAGE_SAS_IO_UNIT_01835,91040 - SasIOUnitPage0_t, MPI_POINTER pSasIOUnitPage0_t;pSasIOUnitPage0_t1844,91650 -#define MPI_SASIOUNITPAGE0_PAGEVERSION 1846,91702 -#define MPI_SAS_IOUNIT0_PORT_FLAGS_DISCOVERY_IN_PROGRESS 1849,91800 -#define MPI_SAS_IOUNIT0_PORT_FLAGS_0_TARGET_IOC_NUM 1850,91867 -#define MPI_SAS_IOUNIT0_PORT_FLAGS_1_TARGET_IOC_NUM 1851,91934 -#define MPI_SAS_IOUNIT0_PORT_FLAGS_WAIT_FOR_PORTENABLE 1852,92001 -#define MPI_SAS_IOUNIT0_PORT_FLAGS_AUTO_PORT_CONFIG 1853,92068 -#define MPI_SAS_IOUNIT0_PHY_FLAGS_PHY_DISABLED 1856,92181 -#define MPI_SAS_IOUNIT0_PHY_FLAGS_TX_INVERT 1857,92248 -#define MPI_SAS_IOUNIT0_PHY_FLAGS_RX_INVERT 1858,92315 -#define MPI_SAS_IOUNIT0_RATE_UNKNOWN 1861,92438 -#define MPI_SAS_IOUNIT0_RATE_PHY_DISABLED 1862,92505 -#define MPI_SAS_IOUNIT0_RATE_FAILED_SPEED_NEGOTIATION 1863,92572 -#define MPI_SAS_IOUNIT0_RATE_SATA_OOB_COMPLETE 1864,92639 -#define MPI_SAS_IOUNIT0_RATE_1_5 1865,92706 -#define MPI_SAS_IOUNIT0_RATE_3_0 1866,92773 -typedef struct _MPI_SAS_IO_UNIT1_PHY_DATA_MPI_SAS_IO_UNIT1_PHY_DATA1871,92928 - SasIOUnit1PhyData, MPI_POINTER pSasIOUnit1PhyData;pSasIOUnit1PhyData1880,93344 -#define MPI_SAS_IOUNIT1_PHY_MAX 1887,93562 -typedef struct _CONFIG_PAGE_SAS_IO_UNIT_1_CONFIG_PAGE_SAS_IO_UNIT_11890,93614 - SasIOUnitPage1_t, MPI_POINTER pSasIOUnitPage1_t;pSasIOUnitPage1_t1899,94200 -#define MPI_SASIOUNITPAGE1_PAGEVERSION 1901,94252 -#define MPI_SAS_IOUNIT1_PORT_FLAGS_0_TARGET_IOC_NUM 1904,94350 -#define MPI_SAS_IOUNIT1_PORT_FLAGS_1_TARGET_IOC_NUM 1905,94417 -#define MPI_SAS_IOUNIT1_PORT_FLAGS_WAIT_FOR_PORTENABLE 1906,94484 -#define MPI_SAS_IOUNIT1_PORT_FLAGS_AUTO_PORT_CONFIG 1907,94551 -#define MPI_SAS_IOUNIT1_PHY_FLAGS_PHY_DISABLE 1910,94664 -#define MPI_SAS_IOUNIT1_PHY_FLAGS_TX_INVERT 1911,94731 -#define MPI_SAS_IOUNIT1_PHY_FLAGS_RX_INVERT 1912,94798 -#define MPI_SAS_IOUNIT1_MAX_RATE_MASK 1915,94917 -#define MPI_SAS_IOUNIT1_MAX_RATE_1_5 1916,94984 -#define MPI_SAS_IOUNIT1_MAX_RATE_3_0 1917,95051 -#define MPI_SAS_IOUNIT1_MIN_RATE_MASK 1918,95118 -#define MPI_SAS_IOUNIT1_MIN_RATE_1_5 1919,95185 -#define MPI_SAS_IOUNIT1_MIN_RATE_3_0 1920,95252 -typedef struct _CONFIG_PAGE_SAS_IO_UNIT_2_CONFIG_PAGE_SAS_IO_UNIT_21925,95407 - SasIOUnitPage2_t, MPI_POINTER pSasIOUnitPage2_t;pSasIOUnitPage2_t1935,96043 -#define MPI_SASIOUNITPAGE2_PAGEVERSION 1937,96095 -#define MPI_SAS_IOUNIT2_STATUS_DISABLED_PERSISTENT_MAPPINGS 1940,96196 -#define MPI_SAS_IOUNIT2_STATUS_FULL_PERSISTENT_MAPPINGS 1941,96263 -#define MPI_SAS_IOUNIT2_FLAGS_DISABLE_PERSISTENT_MAPPINGS 1944,96379 -typedef struct _CONFIG_PAGE_SAS_IO_UNIT_3_CONFIG_PAGE_SAS_IO_UNIT_31947,96448 - SasIOUnitPage3_t, MPI_POINTER pSasIOUnitPage3_t;pSasIOUnitPage3_t1960,97306 -#define MPI_SASIOUNITPAGE3_PAGEVERSION 1962,97358 -typedef struct _CONFIG_PAGE_SAS_EXPANDER_0_CONFIG_PAGE_SAS_EXPANDER_01965,97411 - SasExpanderPage0_t, MPI_POINTER pSasExpanderPage0_t;pSasExpanderPage0_t1980,98420 -#define MPI_SASEXPANDER0_PAGEVERSION 1982,98476 -#define MPI_SAS_EXPANDER0_FLAGS_ROUTE_TABLE_CONFIG 1985,98577 -#define MPI_SAS_EXPANDER0_FLAGS_CONFIG_IN_PROGRESS 1986,98640 -typedef struct _CONFIG_PAGE_SAS_DEVICE_0_CONFIG_PAGE_SAS_DEVICE_01989,98705 - SasDevicePage0_t, MPI_POINTER pSasDevicePage0_t;pSasDevicePage0_t2003,99634 -#define MPI_SASDEVICE0_PAGEVERSION 2005,99686 -#define MPI_SAS_DEVICE0_FLAGS_MAPPING_PERSISTENT 2008,99785 -#define MPI_SAS_DEVICE0_FLAGS_DEVICE_MAPPED 2009,99844 -#define MPI_SAS_DEVICE0_FLAGS_DEVICE_PRESENT 2010,99903 -typedef struct _CONFIG_PAGE_SAS_DEVICE_1_CONFIG_PAGE_SAS_DEVICE_12015,100036 - SasDevicePage1_t, MPI_POINTER pSasDevicePage1_t;pSasDevicePage1_t2026,100743 -#define MPI_SASDEVICE1_PAGEVERSION 2028,100795 -typedef struct _CONFIG_PAGE_SAS_PHY_0_CONFIG_PAGE_SAS_PHY_02031,100848 - SasPhyPage0_t, MPI_POINTER pSasPhyPage0_t;pSasPhyPage0_t2046,101842 -#define MPI_SASPHY0_PAGEVERSION 2048,101888 -#define MPI_SAS_PHY0_PRATE_MAX_RATE_MASK 2051,101997 -#define MPI_SAS_PHY0_PRATE_MAX_RATE_NOT_PROGRAMMABLE 2052,102068 -#define MPI_SAS_PHY0_PRATE_MAX_RATE_1_5 2053,102139 -#define MPI_SAS_PHY0_PRATE_MAX_RATE_3_0 2054,102210 -#define MPI_SAS_PHY0_PRATE_MIN_RATE_MASK 2055,102281 -#define MPI_SAS_PHY0_PRATE_MIN_RATE_NOT_PROGRAMMABLE 2056,102352 -#define MPI_SAS_PHY0_PRATE_MIN_RATE_1_5 2057,102423 -#define MPI_SAS_PHY0_PRATE_MIN_RATE_3_0 2058,102494 -#define MPI_SAS_PHY0_HWRATE_MAX_RATE_MASK 2061,102615 -#define MPI_SAS_PHY0_HWRATE_MAX_RATE_1_5 2062,102686 -#define MPI_SAS_PHY0_HWRATE_MAX_RATE_3_0 2063,102757 -#define MPI_SAS_PHY0_HWRATE_MIN_RATE_MASK 2064,102828 -#define MPI_SAS_PHY0_HWRATE_MIN_RATE_1_5 2065,102899 -#define MPI_SAS_PHY0_HWRATE_MIN_RATE_3_0 2066,102970 -#define MPI_SAS_PHY0_PHYINFO_SATA_PORT_ACTIVE 2069,103088 -#define MPI_SAS_PHY0_PHYINFO_SATA_PORT_SELECTOR 2070,103165 -#define MPI_SAS_PHY0_PHYINFO_VIRTUAL_PHY 2071,103242 -#define MPI_SAS_PHY0_PHYINFO_MASK_PARTIAL_PATHWAY_TIME 2073,103320 -#define MPI_SAS_PHY0_PHYINFO_SHIFT_PARTIAL_PATHWAY_TIME 2074,103397 -#define MPI_SAS_PHY0_PHYINFO_MASK_ROUTING_ATTRIBUTE 2076,103466 -#define MPI_SAS_PHY0_PHYINFO_DIRECT_ROUTING 2077,103543 -#define MPI_SAS_PHY0_PHYINFO_SUBTRACTIVE_ROUTING 2078,103620 -#define MPI_SAS_PHY0_PHYINFO_TABLE_ROUTING 2079,103697 -#define MPI_SAS_PHY0_PHYINFO_MASK_LINK_RATE 2081,103775 -#define MPI_SAS_PHY0_PHYINFO_UNKNOWN_LINK_RATE 2082,103852 -#define MPI_SAS_PHY0_PHYINFO_PHY_DISABLED 2083,103929 -#define MPI_SAS_PHY0_PHYINFO_NEGOTIATION_FAILED 2084,104006 -#define MPI_SAS_PHY0_PHYINFO_SATA_OOB_COMPLETE 2085,104083 -#define MPI_SAS_PHY0_PHYINFO_RATE_1_5 2086,104160 -#define MPI_SAS_PHY0_PHYINFO_RATE_3_0 2087,104237 -typedef struct _CONFIG_PAGE_SAS_PHY_1_CONFIG_PAGE_SAS_PHY_12090,104316 - SasPhyPage1_t, MPI_POINTER pSasPhyPage1_t;pSasPhyPage1_t2099,104842 -#define MPI_SASPHY1_PAGEVERSION 2101,104888 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_ioc.h,11137 -#define MPI_IOC_H64,3450 -typedef struct _MSG_IOC_INIT_MSG_IOC_INIT77,3912 - IOCInit_t, MPI_POINTER pIOCInit_t;pIOCInit_t94,4913 -#define MPI_WHOINIT_NO_ONE 97,4972 -#define MPI_WHOINIT_SYSTEM_BIOS 98,5031 -#define MPI_WHOINIT_ROM_BIOS 99,5090 -#define MPI_WHOINIT_PCI_PEER 100,5149 -#define MPI_WHOINIT_HOST_DRIVER 101,5208 -#define MPI_WHOINIT_MANUFACTURER 102,5267 -#define MPI_IOCINIT_FLAGS_DISCARD_FW_IMAGE 105,5346 -#define MPI_IOCINIT_FLAGS_REPLY_FIFO_HOST_SIGNAL 106,5405 -typedef struct _MSG_IOC_INIT_REPLY_MSG_IOC_INIT_REPLY108,5465 - IOCInitReply_t, MPI_POINTER pIOCInitReply_t;pIOCInitReply_t123,6352 -typedef struct _MSG_IOC_FACTS_MSG_IOC_FACTS131,6640 - IOCFacts_t, MPI_POINTER pIOCFacts_t;pIOCFacts_t140,7112 -typedef struct _MPI_FW_VERSION_STRUCT_MPI_FW_VERSION_STRUCT142,7152 -} MPI_FW_VERSION_STRUCT;MPI_FW_VERSION_STRUCT148,7456 -typedef union _MPI_FW_VERSION_MPI_FW_VERSION150,7482 -} MPI_FW_VERSION;MPI_FW_VERSION154,7584 -typedef struct _MSG_IOC_FACTS_REPLY_MSG_IOC_FACTS_REPLY157,7625 - IOCFactsReply_t, MPI_POINTER pIOCFactsReply_t;pIOCFactsReply_t191,9801 -#define MPI_IOCFACTS_MSGVERSION_MAJOR_MASK 193,9851 -#define MPI_IOCFACTS_MSGVERSION_MINOR_MASK 194,9912 -#define MPI_IOCFACTS_HEADERVERSION_UNIT_MASK 196,9974 -#define MPI_IOCFACTS_HEADERVERSION_DEV_MASK 197,10035 -#define MPI_IOCFACTS_EXCEPT_CONFIG_CHECKSUM_FAIL 199,10097 -#define MPI_IOCFACTS_EXCEPT_RAID_CONFIG_INVALID 200,10158 -#define MPI_IOCFACTS_EXCEPT_FW_CHECKSUM_FAIL 201,10219 -#define MPI_IOCFACTS_EXCEPT_PERSISTENT_TABLE_FULL 202,10280 -#define MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT 204,10342 -#define MPI_IOCFACTS_EVENTSTATE_DISABLED 206,10402 -#define MPI_IOCFACTS_EVENTSTATE_ENABLED 207,10461 -#define MPI_IOCFACTS_CAPABILITY_HIGH_PRI_Q 209,10521 -#define MPI_IOCFACTS_CAPABILITY_REPLY_HOST_SIGNAL 210,10586 -#define MPI_IOCFACTS_CAPABILITY_QUEUE_FULL_HANDLING 211,10651 -#define MPI_IOCFACTS_CAPABILITY_DIAG_TRACE_BUFFER 212,10716 -#define MPI_IOCFACTS_CAPABILITY_SNAPSHOT_BUFFER 213,10781 -#define MPI_IOCFACTS_CAPABILITY_EXTENDED_BUFFER 214,10846 -#define MPI_IOCFACTS_CAPABILITY_EEDP 215,10911 -typedef struct _MSG_PORT_FACTS_MSG_PORT_FACTS229,11423 - PortFacts_t, MPI_POINTER pPortFacts_t;pPortFacts_t239,11968 -typedef struct _MSG_PORT_FACTS_REPLY_MSG_PORT_FACTS_REPLY241,12010 - PortFactsReply_t, MPI_POINTER pPortFactsReply_t;pPortFactsReply_t264,13431 -#define MPI_PORTFACTS_PORTTYPE_INACTIVE 269,13508 -#define MPI_PORTFACTS_PORTTYPE_SCSI 270,13563 -#define MPI_PORTFACTS_PORTTYPE_FC 271,13618 -#define MPI_PORTFACTS_PORTTYPE_ISCSI 272,13673 -#define MPI_PORTFACTS_PORTTYPE_SAS 273,13728 -#define MPI_PORTFACTS_PROTOCOL_LOGBUSADDR 277,13812 -#define MPI_PORTFACTS_PROTOCOL_LAN 278,13867 -#define MPI_PORTFACTS_PROTOCOL_TARGET 279,13922 -#define MPI_PORTFACTS_PROTOCOL_INITIATOR 280,13977 -typedef struct _MSG_PORT_ENABLE_MSG_PORT_ENABLE287,14272 - PortEnable_t, MPI_POINTER pPortEnable_t;pPortEnable_t297,14820 -typedef struct _MSG_PORT_ENABLE_REPLY_MSG_PORT_ENABLE_REPLY299,14864 - PortEnableReply_t, MPI_POINTER pPortEnableReply_t;pPortEnableReply_t312,15628 -typedef struct _MSG_EVENT_NOTIFY_MSG_EVENT_NOTIFY325,16129 - EventNotification_t, MPI_POINTER pEventNotification_t;pEventNotification_t335,16680 -typedef struct _MSG_EVENT_NOTIFY_REPLY_MSG_EVENT_NOTIFY_REPLY339,16770 - EventNotificationReply_t, MPI_POINTER pEventNotificationReply_t;pEventNotificationReply_t355,17735 -typedef struct _MSG_EVENT_ACK_MSG_EVENT_ACK359,17828 - EventAck_t, MPI_POINTER pEventAck_t;pEventAck_t370,18436 -typedef struct _MSG_EVENT_ACK_REPLY_MSG_EVENT_ACK_REPLY372,18476 - EventAckReply_t, MPI_POINTER pEventAckReply_t;pEventAckReply_t384,19168 -#define MPI_EVENT_NOTIFICATION_SWITCH_OFF 388,19232 -#define MPI_EVENT_NOTIFICATION_SWITCH_ON 389,19283 -#define MPI_EVENT_NONE 393,19348 -#define MPI_EVENT_LOG_DATA 394,19405 -#define MPI_EVENT_STATE_CHANGE 395,19462 -#define MPI_EVENT_UNIT_ATTENTION 396,19519 -#define MPI_EVENT_IOC_BUS_RESET 397,19576 -#define MPI_EVENT_EXT_BUS_RESET 398,19633 -#define MPI_EVENT_RESCAN 399,19690 -#define MPI_EVENT_LINK_STATUS_CHANGE 400,19747 -#define MPI_EVENT_LOOP_STATE_CHANGE 401,19804 -#define MPI_EVENT_LOGOUT 402,19861 -#define MPI_EVENT_EVENT_CHANGE 403,19918 -#define MPI_EVENT_INTEGRATED_RAID 404,19975 -#define MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE 405,20032 -#define MPI_EVENT_ON_BUS_TIMER_EXPIRED 406,20089 -#define MPI_EVENT_QUEUE_FULL 407,20146 -#define MPI_EVENT_SAS_DEVICE_STATUS_CHANGE 408,20203 -#define MPI_EVENT_SAS_SES 409,20260 -#define MPI_EVENT_PERSISTENT_TABLE_FULL 410,20317 -#define MPI_EVENT_NOTIFICATION_ACK_NOT_REQUIRED 414,20407 -#define MPI_EVENT_NOTIFICATION_ACK_REQUIRED 415,20462 -typedef struct _EVENT_DATA_EVENT_CHANGE_EVENT_DATA_EVENT_CHANGE419,20548 - EventDataEventChange_t, MPI_POINTER pEventDataEventChange_t;pEventDataEventChange_t425,20856 -typedef struct _EVENT_DATA_SCSI_EVENT_DATA_SCSI429,20974 - EventDataScsi_t, MPI_POINTER pEventDataScsi_t;pEventDataScsi_t435,21258 -typedef struct _EVENT_DATA_SCSI_DEVICE_STATUS_CHANGE_EVENT_DATA_SCSI_DEVICE_STATUS_CHANGE439,21352 - MPI_POINTER pMpiEventDataScsiDeviceStatusChange_t;pMpiEventDataScsiDeviceStatusChange_t451,22005 -#define MPI_EVENT_SCSI_DEV_STAT_RC_ADDED 454,22124 -#define MPI_EVENT_SCSI_DEV_STAT_RC_NOT_RESPONDING 455,22187 -#define MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA 456,22250 -typedef struct _EVENT_DATA_SAS_DEVICE_STATUS_CHANGE_EVENT_DATA_SAS_DEVICE_STATUS_CHANGE460,22357 - MPI_POINTER pMpiEventDataSasDeviceStatusChange_t;pMpiEventDataSasDeviceStatusChange_t473,23072 -#define MPI_EVENT_SAS_DEV_STAT_RC_ADDED 476,23189 -#define MPI_EVENT_SAS_DEV_STAT_RC_NOT_RESPONDING 477,23252 -#define MPI_EVENT_SAS_DEV_STAT_RC_SMART_DATA 478,23315 -#define MPI_EVENT_SAS_DEV_STAT_RC_NO_PERSIST_ADDED 479,23378 -typedef struct _EVENT_DATA_QUEUE_FULL_EVENT_DATA_QUEUE_FULL483,23486 - EventDataQueueFull_t, MPI_POINTER pEventDataQueueFull_t;pEventDataQueueFull_t489,23788 -typedef struct _EVENT_DATA_LINK_STATUS_EVENT_DATA_LINK_STATUS493,23889 - EventDataLinkStatus_t, MPI_POINTER pEventDataLinkStatus_t;pEventDataLinkStatus_t502,24392 -#define MPI_EVENT_LINK_STATUS_FAILURE 504,24454 -#define MPI_EVENT_LINK_STATUS_ACTIVE 505,24511 -typedef struct _EVENT_DATA_LOOP_STATE_EVENT_DATA_LOOP_STATE509,24609 - EventDataLoopState_t, MPI_POINTER pEventDataLoopState_t;pEventDataLoopState_t519,25175 -#define MPI_EVENT_LOOP_STATE_CHANGE_LIP 521,25235 -#define MPI_EVENT_LOOP_STATE_CHANGE_LPE 522,25288 -#define MPI_EVENT_LOOP_STATE_CHANGE_LPB 523,25341 -typedef struct _EVENT_DATA_LOGOUT_EVENT_DATA_LOGOUT527,25424 - EventDataLogout_t, MPI_POINTER pEventDataLogout_t;pEventDataLogout_t534,25780 -#define MPI_EVENT_LOGOUT_ALL_ALIASES 536,25834 -typedef struct _EVENT_DATA_RAID_EVENT_DATA_RAID541,25925 - MpiEventDataRaid_t, MPI_POINTER pMpiEventDataRaid_t;pMpiEventDataRaid_t552,26539 -#define MPI_EVENT_RAID_RC_VOLUME_CREATED 555,26650 -#define MPI_EVENT_RAID_RC_VOLUME_DELETED 556,26713 -#define MPI_EVENT_RAID_RC_VOLUME_SETTINGS_CHANGED 557,26776 -#define MPI_EVENT_RAID_RC_VOLUME_STATUS_CHANGED 558,26839 -#define MPI_EVENT_RAID_RC_VOLUME_PHYSDISK_CHANGED 559,26902 -#define MPI_EVENT_RAID_RC_PHYSDISK_CREATED 560,26965 -#define MPI_EVENT_RAID_RC_PHYSDISK_DELETED 561,27028 -#define MPI_EVENT_RAID_RC_PHYSDISK_SETTINGS_CHANGED 562,27091 -#define MPI_EVENT_RAID_RC_PHYSDISK_STATUS_CHANGED 563,27154 -#define MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED 564,27217 -#define MPI_EVENT_RAID_RC_SMART_DATA 565,27280 -#define MPI_EVENT_RAID_RC_REPLACE_ACTION_STARTED 566,27343 -typedef struct _MSG_FW_DOWNLOAD_MSG_FW_DOWNLOAD579,27871 - FWDownload_t, MPI_POINTER pFWDownload_t;pFWDownload_t590,28485 -#define MPI_FW_DOWNLOAD_ITYPE_RESERVED 592,28529 -#define MPI_FW_DOWNLOAD_ITYPE_FW 593,28580 -#define MPI_FW_DOWNLOAD_ITYPE_BIOS 594,28631 -#define MPI_FW_DOWNLOAD_ITYPE_NVDATA 595,28682 -#define MPI_FW_DOWNLOAD_ITYPE_BOOTLOADER 596,28733 -typedef struct _FWDownloadTCSGE_FWDownloadTCSGE599,28786 - FWDownloadTCSGE_t, MPI_POINTER pFWDownloadTCSGE_t;pFWDownloadTCSGE_t609,29362 -typedef struct _MSG_FW_DOWNLOAD_REPLY_MSG_FW_DOWNLOAD_REPLY612,29446 - FWDownloadReply_t, MPI_POINTER pFWDownloadReply_t;pFWDownloadReply_t625,30210 -typedef struct _MSG_FW_UPLOAD_MSG_FW_UPLOAD632,30503 - FWUpload_t, MPI_POINTER pFWUpload_t;pFWUpload_t643,31111 -#define MPI_FW_UPLOAD_ITYPE_FW_IOC_MEM 645,31151 -#define MPI_FW_UPLOAD_ITYPE_FW_FLASH 646,31202 -#define MPI_FW_UPLOAD_ITYPE_BIOS_FLASH 647,31253 -#define MPI_FW_UPLOAD_ITYPE_NVDATA 648,31304 -#define MPI_FW_UPLOAD_ITYPE_BOOTLOADER 649,31355 -typedef struct _FWUploadTCSGE_FWUploadTCSGE651,31407 - FWUploadTCSGE_t, MPI_POINTER pFWUploadTCSGE_t;pFWUploadTCSGE_t661,31953 -typedef struct _MSG_FW_UPLOAD_REPLY_MSG_FW_UPLOAD_REPLY664,32031 - FWUploadReply_t, MPI_POINTER pFWUploadReply_t;pFWUploadReply_t678,32855 -typedef struct _MPI_FW_HEADER_MPI_FW_HEADER681,32906 - MpiFwHeader_t, MPI_POINTER pMpiFwHeader_t;pMpiFwHeader_t705,34372 -#define MPI_FW_HEADER_WHAT_SIGNATURE 707,34418 -#define MPI_FW_HEADER_PID_TYPE_MASK 710,34520 -#define MPI_FW_HEADER_PID_TYPE_SCSI 711,34577 -#define MPI_FW_HEADER_PID_TYPE_FC 712,34634 -#define MPI_FW_HEADER_PID_TYPE_SAS 713,34691 -#define MPI_FW_HEADER_SIGNATURE_0 715,34749 -#define MPI_FW_HEADER_SIGNATURE_1 716,34810 -#define MPI_FW_HEADER_SIGNATURE_2 717,34871 -#define MPI_FW_HEADER_PID_PROD_MASK 719,34933 -#define MPI_FW_HEADER_PID_PROD_INITIATOR_SCSI 720,34998 -#define MPI_FW_HEADER_PID_PROD_TARGET_INITIATOR_SCSI 721,35063 -#define MPI_FW_HEADER_PID_PROD_TARGET_SCSI 722,35128 -#define MPI_FW_HEADER_PID_PROD_IM_SCSI 723,35193 -#define MPI_FW_HEADER_PID_PROD_IS_SCSI 724,35258 -#define MPI_FW_HEADER_PID_PROD_CTX_SCSI 725,35323 -#define MPI_FW_HEADER_PID_FAMILY_MASK 727,35389 -#define MPI_FW_HEADER_PID_FAMILY_1030A0_SCSI 729,35457 -#define MPI_FW_HEADER_PID_FAMILY_1030B0_SCSI 730,35514 -#define MPI_FW_HEADER_PID_FAMILY_1030B1_SCSI 731,35571 -#define MPI_FW_HEADER_PID_FAMILY_1030C0_SCSI 732,35628 -#define MPI_FW_HEADER_PID_FAMILY_1020A0_SCSI 733,35685 -#define MPI_FW_HEADER_PID_FAMILY_1020B0_SCSI 734,35742 -#define MPI_FW_HEADER_PID_FAMILY_1020B1_SCSI 735,35799 -#define MPI_FW_HEADER_PID_FAMILY_1020C0_SCSI 736,35856 -#define MPI_FW_HEADER_PID_FAMILY_1035A0_SCSI 737,35913 -#define MPI_FW_HEADER_PID_FAMILY_1035B0_SCSI 738,35970 -#define MPI_FW_HEADER_PID_FAMILY_1030TA0_SCSI 739,36027 -#define MPI_FW_HEADER_PID_FAMILY_1020TA0_SCSI 740,36084 -#define MPI_FW_HEADER_PID_FAMILY_909_FC 742,36161 -#define MPI_FW_HEADER_PID_FAMILY_919_FC 743,36218 -#define MPI_FW_HEADER_PID_FAMILY_919X_FC 744,36275 -#define MPI_FW_HEADER_PID_FAMILY_919XL_FC 745,36332 -#define MPI_FW_HEADER_PID_FAMILY_949_FC 746,36389 -#define MPI_FW_HEADER_PID_FAMILY_959_FC 747,36446 -#define MPI_FW_HEADER_PID_FAMILY_1064_SAS 749,36513 -typedef struct _MPI_EXT_IMAGE_HEADER_MPI_EXT_IMAGE_HEADER751,36571 - MpiExtImageHeader_t, MPI_POINTER pMpiExtImageHeader_t;pMpiExtImageHeader_t762,37200 -#define MPI_EXT_IMAGE_TYPE_UNSPECIFIED 765,37296 -#define MPI_EXT_IMAGE_TYPE_FW 766,37351 -#define MPI_EXT_IMAGE_TYPE_NVDATA 767,37406 -#define MPI_EXT_IMAGE_TYPE_BOOTLOADER 768,37461 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_sas.h,3254 -#define MPI_SAS_H21,535 -typedef struct _MSG_SMP_PASSTHROUGH_REQUEST_MSG_SMP_PASSTHROUGH_REQUEST33,1026 - SmpPassthroughRequest_t, MPI_POINTER pSmpPassthroughRequest_t;pSmpPassthroughRequest_t49,1902 -#define MPI_SMP_PT_REQ_PT_FLAGS_IMMEDIATE 51,1968 -#define MPI_SMP_PT_REQ_CONNECT_RATE_NEGOTIATED 53,2024 -#define MPI_SMP_PT_REQ_CONNECT_RATE_1_5 54,2079 -#define MPI_SMP_PT_REQ_CONNECT_RATE_3_0 55,2134 -typedef struct _MSG_SMP_PASSTHROUGH_REPLY_MSG_SMP_PASSTHROUGH_REPLY59,2242 - SmpPassthroughReply_t, MPI_POINTER pSmpPassthroughReply_t;pSmpPassthroughReply_t76,3170 -#define MPI_SMP_PT_REPLY_PT_FLAGS_IMMEDIATE 78,3232 -#define MPI_SASSTATUS_SUCCESS 81,3325 -#define MPI_SASSTATUS_UNKNOWN_ERROR 82,3388 -#define MPI_SASSTATUS_INVALID_FRAME 83,3451 -#define MPI_SASSTATUS_UTC_BAD_DEST 84,3514 -#define MPI_SASSTATUS_UTC_BREAK_RECEIVED 85,3577 -#define MPI_SASSTATUS_UTC_CONNECT_RATE_NOT_SUPPORTED 86,3640 -#define MPI_SASSTATUS_UTC_PORT_LAYER_REQUEST 87,3703 -#define MPI_SASSTATUS_UTC_PROTOCOL_NOT_SUPPORTED 88,3766 -#define MPI_SASSTATUS_UTC_STP_RESOURCES_BUSY 89,3829 -#define MPI_SASSTATUS_UTC_WRONG_DESTINATION 90,3892 -#define MPI_SASSTATUS_SHORT_INFORMATION_UNIT 91,3955 -#define MPI_SASSTATUS_LONG_INFORMATION_UNIT 92,4018 -#define MPI_SASSTATUS_XFER_RDY_INCORRECT_WRITE_DATA 93,4081 -#define MPI_SASSTATUS_XFER_RDY_REQUEST_OFFSET_ERROR 94,4144 -#define MPI_SASSTATUS_XFER_RDY_NOT_EXPECTED 95,4207 -#define MPI_SASSTATUS_DATA_INCORRECT_DATA_LENGTH 96,4270 -#define MPI_SASSTATUS_DATA_TOO_MUCH_READ_DATA 97,4333 -#define MPI_SASSTATUS_DATA_OFFSET_ERROR 98,4396 -#define MPI_SASSTATUS_SDSF_NAK_RECEIVED 99,4459 -#define MPI_SASSTATUS_SDSF_CONNECTION_FAILED 100,4522 -#define MPI_SASSTATUS_INITIATOR_RESPONSE_TIMEOUT 101,4585 -#define MPI_SAS_DEVICE_INFO_ATAPI_DEVICE 108,4780 -#define MPI_SAS_DEVICE_INFO_LSI_DEVICE 109,4841 -#define MPI_SAS_DEVICE_INFO_DIRECT_ATTACH 110,4902 -#define MPI_SAS_DEVICE_INFO_SSP_TARGET 111,4963 -#define MPI_SAS_DEVICE_INFO_STP_TARGET 112,5024 -#define MPI_SAS_DEVICE_INFO_SMP_TARGET 113,5085 -#define MPI_SAS_DEVICE_INFO_SATA_DEVICE 114,5146 -#define MPI_SAS_DEVICE_INFO_SSP_INITIATOR 115,5207 -#define MPI_SAS_DEVICE_INFO_STP_INITIATOR 116,5268 -#define MPI_SAS_DEVICE_INFO_SMP_INITIATOR 117,5329 -#define MPI_SAS_DEVICE_INFO_SATA_HOST 118,5390 -#define MPI_SAS_DEVICE_INFO_MASK_DEVICE_TYPE 120,5452 -#define MPI_SAS_DEVICE_INFO_NO_DEVICE 121,5513 -#define MPI_SAS_DEVICE_INFO_END_DEVICE 122,5574 -#define MPI_SAS_DEVICE_INFO_EDGE_EXPANDER 123,5635 -#define MPI_SAS_DEVICE_INFO_FANOUT_EXPANDER 124,5696 -typedef struct _MSG_SAS_IOUNIT_CONTROL_REQUEST_MSG_SAS_IOUNIT_CONTROL_REQUEST131,5997 - SasIoUnitControlRequest_t, MPI_POINTER pSasIoUnitControlRequest_t;pSasIoUnitControlRequest_t149,6998 -#define MPI_SAS_OP_CLEAR_NOT_PRESENT 152,7099 -#define MPI_SAS_OP_CLEAR_ALL 153,7155 -#define MPI_SAS_OP_MAP 154,7211 -#define MPI_SAS_OP_MOVE 155,7267 -#define MPI_SAS_OP_CLEAR 156,7323 -#define MPI_SAS_OP_PHY_LINK_RESET 157,7379 -#define MPI_SAS_OP_PHY_HARD_RESET 158,7435 -#define MPI_SAS_OP_PHY_CLEAR_ERROR_LOG 159,7491 -typedef struct _MSG_SAS_IOUNIT_CONTROL_REPLY_MSG_SAS_IOUNIT_CONTROL_REPLY163,7581 - SasIoUnitControlReply_t, MPI_POINTER pSasIoUnitControlReply_t;pSasIoUnitControlReply_t177,8344 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_init.h,7476 -#define MPI_INIT_H40,1757 -typedef struct _MSG_SCSI_IO_REQUEST_MSG_SCSI_IO_REQUEST53,2243 - SCSIIORequest_t, MPI_POINTER pSCSIIORequest_t;pSCSIIORequest_t71,3211 -#define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH 76,3291 -#define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_32 77,3350 -#define MPI_SCSIIO_MSGFLGS_SENSE_WIDTH_64 78,3409 -#define MPI_SCSIIO_MSGFLGS_SENSE_LOCATION 79,3468 -#define MPI_SCSIIO_MSGFLGS_SENSE_LOC_HOST 80,3527 -#define MPI_SCSIIO_MSGFLGS_SENSE_LOC_IOC 81,3586 -#define MPI_SCSIIO_MSGFLGS_CMD_DETERMINES_DATA_DIR 82,3645 -#define MPI_SCSIIO_MSGFLGS_EEDP_TYPE_MASK 83,3704 -#define MPI_SCSIIO_MSGFLGS_EEDP_NONE 84,3763 -#define MPI_SCSIIO_MSGFLGS_EEDP_RDPROTECT_T10 85,3822 -#define MPI_SCSIIO_MSGFLGS_EEDP_VRPROTECT_T10 86,3881 -#define MPI_SCSIIO_MSGFLGS_EEDP_WRPROTECT_T10 87,3940 -#define MPI_SCSIIO_MSGFLGS_EEDP_520_READ_MODE1 88,3999 -#define MPI_SCSIIO_MSGFLGS_EEDP_520_WRITE_MODE1 89,4058 -#define MPI_SCSIIO_MSGFLGS_EEDP_8_9_READ_MODE1 90,4117 -#define MPI_SCSIIO_MSGFLGS_EEDP_8_9_WRITE_MODE1 91,4176 -#define MPI_SCSIIO_LUN_FIRST_LEVEL_ADDRESSING 96,4263 -#define MPI_SCSIIO_LUN_SECOND_LEVEL_ADDRESSING 97,4324 -#define MPI_SCSIIO_LUN_THIRD_LEVEL_ADDRESSING 98,4385 -#define MPI_SCSIIO_LUN_FOURTH_LEVEL_ADDRESSING 99,4446 -#define MPI_SCSIIO_LUN_LEVEL_1_WORD 100,4507 -#define MPI_SCSIIO_LUN_LEVEL_1_DWORD 101,4564 -#define MPI_SCSIIO_CONTROL_DATADIRECTION_MASK 105,4654 -#define MPI_SCSIIO_CONTROL_NODATATRANSFER 106,4715 -#define MPI_SCSIIO_CONTROL_WRITE 107,4776 -#define MPI_SCSIIO_CONTROL_READ 108,4837 -#define MPI_SCSIIO_CONTROL_ADDCDBLEN_MASK 110,4899 -#define MPI_SCSIIO_CONTROL_ADDCDBLEN_SHIFT 111,4960 -#define MPI_SCSIIO_CONTROL_TASKATTRIBUTE_MASK 113,5014 -#define MPI_SCSIIO_CONTROL_SIMPLEQ 114,5075 -#define MPI_SCSIIO_CONTROL_HEADOFQ 115,5136 -#define MPI_SCSIIO_CONTROL_ORDEREDQ 116,5197 -#define MPI_SCSIIO_CONTROL_ACAQ 117,5258 -#define MPI_SCSIIO_CONTROL_UNTAGGED 118,5319 -#define MPI_SCSIIO_CONTROL_NO_DISCONNECT 119,5380 -#define MPI_SCSIIO_CONTROL_TASKMANAGE_MASK 121,5442 -#define MPI_SCSIIO_CONTROL_OBSOLETE 122,5503 -#define MPI_SCSIIO_CONTROL_CLEAR_ACA_RSV 123,5564 -#define MPI_SCSIIO_CONTROL_TARGET_RESET 124,5625 -#define MPI_SCSIIO_CONTROL_LUN_RESET_RSV 125,5686 -#define MPI_SCSIIO_CONTROL_RESERVED 126,5747 -#define MPI_SCSIIO_CONTROL_CLR_TASK_SET_RSV 127,5808 -#define MPI_SCSIIO_CONTROL_ABORT_TASK_SET 128,5869 -#define MPI_SCSIIO_CONTROL_RESERVED2 129,5930 -typedef struct _MSG_SCSI_IO_REPLY_MSG_SCSI_IO_REPLY133,6023 - SCSIIOReply_t, MPI_POINTER pSCSIIOReply_t;pSCSIIOReply_t152,7043 -#define MPI_SCSI_STATUS_SUCCESS 157,7150 -#define MPI_SCSI_STATUS_CHECK_CONDITION 158,7205 -#define MPI_SCSI_STATUS_CONDITION_MET 159,7260 -#define MPI_SCSI_STATUS_BUSY 160,7315 -#define MPI_SCSI_STATUS_INTERMEDIATE 161,7370 -#define MPI_SCSI_STATUS_INTERMEDIATE_CONDMET 162,7425 -#define MPI_SCSI_STATUS_RESERVATION_CONFLICT 163,7480 -#define MPI_SCSI_STATUS_COMMAND_TERMINATED 164,7535 -#define MPI_SCSI_STATUS_TASK_SET_FULL 165,7590 -#define MPI_SCSI_STATUS_ACA_ACTIVE 166,7645 -#define MPI_SCSI_STATUS_FCPEXT_DEVICE_LOGGED_OUT 168,7701 -#define MPI_SCSI_STATUS_FCPEXT_NO_LINK 169,7760 -#define MPI_SCSI_STATUS_FCPEXT_UNASSIGNED 170,7819 -#define MPI_SCSI_STATE_AUTOSENSE_VALID 175,7918 -#define MPI_SCSI_STATE_AUTOSENSE_FAILED 176,7973 -#define MPI_SCSI_STATE_NO_SCSI_STATUS 177,8028 -#define MPI_SCSI_STATE_TERMINATED 178,8083 -#define MPI_SCSI_STATE_RESPONSE_INFO_VALID 179,8138 -#define MPI_SCSI_STATE_QUEUE_TAG_REJECTED 180,8193 -#define MPI_SCSI_RSP_INFO_FUNCTION_COMPLETE 185,8355 -#define MPI_SCSI_RSP_INFO_FCP_BURST_LEN_ERROR 186,8416 -#define MPI_SCSI_RSP_INFO_CMND_FIELDS_INVALID 187,8477 -#define MPI_SCSI_RSP_INFO_FCP_DATA_RO_ERROR 188,8538 -#define MPI_SCSI_RSP_INFO_TASK_MGMT_UNSUPPORTED 189,8599 -#define MPI_SCSI_RSP_INFO_TASK_MGMT_FAILED 190,8660 -#define MPI_SCSI_RSP_INFO_SPI_LQ_INVALID_TYPE 191,8721 -typedef struct _MSG_SCSI_IO32_REQUEST_MSG_SCSI_IO32_REQUEST198,9022 - SCSIIO32Request_t, MPI_POINTER pSCSIIO32Request_t;pSCSIIO32Request_t216,9996 -typedef struct _MSG_SCSI_TASK_MGMT_MSG_SCSI_TASK_MGMT225,10350 - SCSITaskMgmt_t, MPI_POINTER pSCSITaskMgmt_t;pSCSITaskMgmt_t240,11137 -#define MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK 244,11208 -#define MPI_SCSITASKMGMT_TASKTYPE_ABRT_TASK_SET 245,11271 -#define MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET 246,11334 -#define MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS 247,11397 -#define MPI_SCSITASKMGMT_TASKTYPE_LOGICAL_UNIT_RESET 248,11460 -#define MPI_SCSITASKMGMT_TASKTYPE_CLEAR_TASK_SET 249,11523 -#define MPI_SCSITASKMGMT_MSGFLAGS_TARGET_RESET_OPTION 252,11607 -#define MPI_SCSITASKMGMT_MSGFLAGS_LIP_RESET_OPTION 253,11670 -#define MPI_SCSITASKMGMT_MSGFLAGS_LIPRESET_RESET_OPTION 254,11733 -typedef struct _MSG_SCSI_TASK_MGMT_REPLY_MSG_SCSI_TASK_MGMT_REPLY257,11830 - SCSITaskMgmtReply_t, MPI_POINTER pSCSITaskMgmtReply_t;pSCSITaskMgmtReply_t273,12697 -typedef struct _MSG_SEP_REQUEST_MSG_SEP_REQUEST280,12994 - SEPRequest_t, MPI_POINTER pSEPRequest_t;pSEPRequest_t293,13660 -#define MPI_SEP_REQ_ACTION_WRITE_STATUS 296,13725 -#define MPI_SEP_REQ_ACTION_READ_STATUS 297,13788 -#define MPI_SEP_REQ_SLOTSTATUS_NO_ERROR 300,13894 -#define MPI_SEP_REQ_SLOTSTATUS_DEV_FAULTY 301,13963 -#define MPI_SEP_REQ_SLOTSTATUS_DEV_REBUILDING 302,14032 -#define MPI_SEP_REQ_SLOTSTATUS_IN_FAILED_ARRAY 303,14101 -#define MPI_SEP_REQ_SLOTSTATUS_IN_CRITICAL_ARRAY 304,14170 -#define MPI_SEP_REQ_SLOTSTATUS_PARITY_CHECK 305,14239 -#define MPI_SEP_REQ_SLOTSTATUS_PREDICTED_FAULT 306,14308 -#define MPI_SEP_REQ_SLOTSTATUS_UNCONFIGURED 307,14377 -#define MPI_SEP_REQ_SLOTSTATUS_HOT_SPARE 308,14446 -#define MPI_SEP_REQ_SLOTSTATUS_REBUILD_STOPPED 309,14515 -#define MPI_SEP_REQ_SLOTSTATUS_IDENTIFY_REQUEST 310,14584 -#define MPI_SEP_REQ_SLOTSTATUS_REQUEST_REMOVE 311,14653 -#define MPI_SEP_REQ_SLOTSTATUS_REQUEST_INSERT 312,14722 -#define MPI_SEP_REQ_SLOTSTATUS_DO_NOT_MOVE 313,14791 -#define MPI_SEP_REQ_SLOTSTATUS_B_ENABLE_BYPASS 314,14860 -#define MPI_SEP_REQ_SLOTSTATUS_A_ENABLE_BYPASS 315,14929 -#define MPI_SEP_REQ_SLOTSTATUS_DEV_OFF 316,14998 -#define MPI_SEP_REQ_SLOTSTATUS_SWAP_RESET 317,15067 -typedef struct _MSG_SEP_REPLY_MSG_SEP_REPLY320,15138 - SEPReply_t, MPI_POINTER pSEPReply_t;pSEPReply_t336,15972 -#define MPI_SEP_REPLY_SLOTSTATUS_NO_ERROR 339,16052 -#define MPI_SEP_REPLY_SLOTSTATUS_DEV_FAULTY 340,16121 -#define MPI_SEP_REPLY_SLOTSTATUS_DEV_REBUILDING 341,16190 -#define MPI_SEP_REPLY_SLOTSTATUS_IN_FAILED_ARRAY 342,16259 -#define MPI_SEP_REPLY_SLOTSTATUS_IN_CRITICAL_ARRAY 343,16328 -#define MPI_SEP_REPLY_SLOTSTATUS_PARITY_CHECK 344,16397 -#define MPI_SEP_REPLY_SLOTSTATUS_PREDICTED_FAULT 345,16466 -#define MPI_SEP_REPLY_SLOTSTATUS_UNCONFIGURED 346,16535 -#define MPI_SEP_REPLY_SLOTSTATUS_HOT_SPARE 347,16604 -#define MPI_SEP_REPLY_SLOTSTATUS_REBUILD_STOPPED 348,16673 -#define MPI_SEP_REPLY_SLOTSTATUS_REPORT 349,16742 -#define MPI_SEP_REPLY_SLOTSTATUS_IDENTIFY_REQUEST 350,16811 -#define MPI_SEP_REPLY_SLOTSTATUS_REMOVE_READY 351,16880 -#define MPI_SEP_REPLY_SLOTSTATUS_INSERT_READY 352,16949 -#define MPI_SEP_REPLY_SLOTSTATUS_DO_NOT_REMOVE 353,17018 -#define MPI_SEP_REPLY_SLOTSTATUS_B_BYPASS_ENABLED 354,17087 -#define MPI_SEP_REPLY_SLOTSTATUS_A_BYPASS_ENABLED 355,17156 -#define MPI_SEP_REPLY_SLOTSTATUS_B_ENABLE_BYPASS 356,17225 -#define MPI_SEP_REPLY_SLOTSTATUS_A_ENABLE_BYPASS 357,17294 -#define MPI_SEP_REPLY_SLOTSTATUS_DEV_OFF 358,17363 -#define MPI_SEP_REPLY_SLOTSTATUS_FAULT_SENSED 359,17432 -#define MPI_SEP_REPLY_SLOTSTATUS_SWAPPED 360,17501 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_inb.h,2003 -#define MPI_INB_H21,525 -typedef struct _MSG_INBAND_BUFFER_POST_REQUEST_MSG_INBAND_BUFFER_POST_REQUEST34,989 - MpiInbandBufferPostRequest_t , MPI_POINTER pMpiInbandBufferPostRequest_t;pMpiInbandBufferPostRequest_t47,1700 -typedef struct _WWN_FC_FORMAT_WWN_FC_FORMAT50,1778 - WwnFcFormat_t, MPI_POINTER pWwnFcFormat_t;pWwnFcFormat_t55,1974 -typedef struct _WWN_SAS_FORMAT_WWN_SAS_FORMAT57,2020 - WwnSasFormat_t, MPI_POINTER pWwnSasFormat_t;pWwnSasFormat_t63,2277 -typedef union _WWN_INBAND_FORMAT_WWN_INBAND_FORMAT65,2325 - WwnInbandFormat, MPI_POINTER pWwnInbandFormat;pWwnInbandFormat70,2481 -typedef struct _MSG_INBAND_BUFFER_POST_REPLY_MSG_INBAND_BUFFER_POST_REPLY75,2572 - MpiInbandBufferPostReply_t, MPI_POINTER pMpiInbandBufferPostReply_t;pMpiInbandBufferPostReply_t92,3509 -typedef struct _MSG_INBAND_SEND_REQUEST_MSG_INBAND_SEND_REQUEST99,3820 - MpiInbandSendRequest_t , MPI_POINTER pMpiInbandSendRequest_t;pMpiInbandSendRequest_t113,4568 -typedef struct _MSG_INBAND_SEND_REPLY_MSG_INBAND_SEND_REPLY118,4667 - MpiInbandSendReply_t, MPI_POINTER pMpiInbandSendReply_t;pMpiInbandSendReply_t132,5409 -typedef struct _MSG_INBAND_RSP_REQUEST_MSG_INBAND_RSP_REQUEST139,5708 - MpiInbandRspRequest_t , MPI_POINTER pMpiInbandRspRequest_t;pMpiInbandRspRequest_t154,6511 -typedef struct _MSG_INBAND_RSP_REPLY_MSG_INBAND_RSP_REPLY159,6612 - MpiInbandRspReply_t, MPI_POINTER pMpiInbandRspReply_t;pMpiInbandRspReply_t172,7293 -typedef struct _MSG_INBAND_ABORT_REQUEST_MSG_INBAND_ABORT_REQUEST179,7590 - MpiInbandAbortRequest_t , MPI_POINTER pMpiInbandAbortRequest_t;pMpiInbandAbortRequest_t192,8283 -#define MPI_INBAND_ABORT_TYPE_ALL_BUFFERS 194,8350 -#define MPI_INBAND_ABORT_TYPE_EXACT_BUFFER 195,8405 -#define MPI_INBAND_ABORT_TYPE_SEND_REQUEST 196,8460 -#define MPI_INBAND_ABORT_TYPE_RESPONSE_REQUEST 197,8515 -typedef struct _MSG_INBAND_ABORT_REPLY_MSG_INBAND_ABORT_REPLY202,8606 - MpiInbandAbortReply_t, MPI_POINTER pMpiInbandAbortReply_t;pMpiInbandAbortReply_t216,9351 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_fc.h,4536 -#define MPI_FC_H43,1959 -typedef struct _MSG_LINK_SERVICE_BUFFER_POST_REQUEST_MSG_LINK_SERVICE_BUFFER_POST_REQUEST56,2442 - LinkServiceBufferPostRequest_t, MPI_POINTER pLinkServiceBufferPostRequest_t;pLinkServiceBufferPostRequest_t69,3089 -#define LINK_SERVICE_BUFFER_POST_FLAGS_PORT_MASK 71,3169 -typedef struct _WWNFORMAT_WWNFORMAT73,3226 - WwnFormat_t;WwnFormat_t80,3499 -typedef struct _MSG_LINK_SERVICE_BUFFER_POST_REPLY_MSG_LINK_SERVICE_BUFFER_POST_REPLY83,3552 - LinkServiceBufferPostReply_t, MPI_POINTER pLinkServiceBufferPostReply_t;pLinkServiceBufferPostReply_t109,5029 -#define MPI_LS_BUF_POST_REPLY_FLAG_NO_RSP_NEEDED 111,5105 -#define MPI_FC_DID_MASK 113,5165 -#define MPI_FC_DID_SHIFT 114,5230 -#define MPI_FC_RCTL_MASK 115,5286 -#define MPI_FC_RCTL_SHIFT 116,5351 -#define MPI_FC_SID_MASK 117,5408 -#define MPI_FC_SID_SHIFT 118,5473 -#define MPI_FC_CSCTL_MASK 119,5529 -#define MPI_FC_CSCTL_SHIFT 120,5594 -#define MPI_FC_FCTL_MASK 121,5651 -#define MPI_FC_FCTL_SHIFT 122,5716 -#define MPI_FC_TYPE_MASK 123,5772 -#define MPI_FC_TYPE_SHIFT 124,5837 -#define FCP_TARGET_DID_MASK 127,5929 -#define FCP_TARGET_DID_SHIFT 128,5994 -#define FCP_TARGET_RCTL_MASK 129,6050 -#define FCP_TARGET_RCTL_SHIFT 130,6115 -#define FCP_TARGET_SID_MASK 131,6172 -#define FCP_TARGET_SID_SHIFT 132,6237 -#define FCP_TARGET_CSCTL_MASK 133,6293 -#define FCP_TARGET_CSCTL_SHIFT 134,6358 -#define FCP_TARGET_FCTL_MASK 135,6415 -#define FCP_TARGET_FCTL_SHIFT 136,6480 -#define FCP_TARGET_TYPE_MASK 137,6536 -#define FCP_TARGET_TYPE_SHIFT 138,6601 -typedef struct _MSG_LINK_SERVICE_RSP_REQUEST_MSG_LINK_SERVICE_RSP_REQUEST145,6898 - LinkServiceRspRequest_t, MPI_POINTER pLinkServiceRspRequest_t;pLinkServiceRspRequest_t166,8067 -#define LINK_SERVICE_RSP_FLAGS_IMMEDIATE 168,8133 -#define LINK_SERVICE_RSP_FLAGS_PORT_MASK 169,8188 -typedef struct _MSG_LINK_SERVICE_RSP_REPLY_MSG_LINK_SERVICE_RSP_REPLY173,8280 - LinkServiceRspReply_t, MPI_POINTER pLinkServiceRspReply_t;pLinkServiceRspReply_t187,9077 -typedef struct _MSG_EXLINK_SERVICE_SEND_REQUEST_MSG_EXLINK_SERVICE_SEND_REQUEST194,9378 - ExLinkServiceSendRequest_t, MPI_POINTER pExLinkServiceSendRequest_t;pExLinkServiceSendRequest_t205,9976 -#define EX_LINK_SERVICE_SEND_DID_MASK 207,10048 -#define EX_LINK_SERVICE_SEND_DID_SHIFT 208,10109 -#define EX_LINK_SERVICE_SEND_MSGFLAGS_MASK 209,10161 -#define EX_LINK_SERVICE_SEND_MSGFLAGS_SHIFT 210,10222 -typedef struct _MSG_EXLINK_SERVICE_SEND_REPLY_MSG_EXLINK_SERVICE_SEND_REPLY214,10316 - ExLinkServiceSendReply_t, MPI_POINTER pExLinkServiceSendReply_t;pExLinkServiceSendReply_t229,11140 -typedef struct _MSG_FC_ABORT_REQUEST_MSG_FC_ABORT_REQUEST235,11446 - FcAbortRequest_t, MPI_POINTER pFcAbortRequest_t;pFcAbortRequest_t247,12141 -#define FC_ABORT_FLAG_PORT_MASK 249,12193 -#define FC_ABORT_TYPE_ALL_FC_BUFFERS 251,12249 -#define FC_ABORT_TYPE_EXACT_FC_BUFFER 252,12304 -#define FC_ABORT_TYPE_CT_SEND_REQUEST 253,12359 -#define FC_ABORT_TYPE_EXLINKSEND_REQUEST 254,12414 -typedef struct _MSG_FC_ABORT_REPLY_MSG_FC_ABORT_REPLY257,12491 - FcAbortReply_t, MPI_POINTER pFcAbortReply_t;pFcAbortReply_t270,13166 -typedef struct _MSG_FC_COMMON_TRANSPORT_SEND_REQUEST_MSG_FC_COMMON_TRANSPORT_SEND_REQUEST277,13453 - FcCommonTransportSendRequest_t, MPI_POINTER pFcCommonTransportSendRequest_t;pFcCommonTransportSendRequest_t291,14183 -#define MPI_FC_CT_SEND_DID_MASK 293,14263 -#define MPI_FC_CT_SEND_DID_SHIFT 294,14324 -#define MPI_FC_CT_SEND_MSGFLAGS_MASK 295,14376 -#define MPI_FC_CT_SEND_MSGFLAGS_SHIFT 296,14437 -typedef struct _MSG_FC_COMMON_TRANSPORT_SEND_REPLY_MSG_FC_COMMON_TRANSPORT_SEND_REPLY300,14529 - FcCommonTransportSendReply_t, MPI_POINTER pFcCommonTransportSendReply_t;pFcCommonTransportSendReply_t315,15368 -typedef struct _MSG_FC_PRIMITIVE_SEND_REQUEST_MSG_FC_PRIMITIVE_SEND_REQUEST322,15683 - FcPrimitiveSendRequest_t, MPI_POINTER pFcPrimitiveSendRequest_t;pFcPrimitiveSendRequest_t334,16333 -#define MPI_FC_PRIM_SEND_FLAGS_PORT_MASK 336,16401 -#define MPI_FC_PRIM_SEND_FLAGS_ML_RESET_LINK 337,16455 -#define MPI_FC_PRIM_SEND_FLAGS_RESET_LINK 338,16509 -#define MPI_FC_PRIM_SEND_FLAGS_STOP_SEND 339,16563 -#define MPI_FC_PRIM_SEND_FLAGS_SEND_ONCE 340,16617 -#define MPI_FC_PRIM_SEND_FLAGS_SEND_AROUND 341,16671 -#define MPI_FC_PRIM_SEND_FLAGS_UNTIL_FULL 342,16725 -#define MPI_FC_PRIM_SEND_FLAGS_FOREVER 343,16779 -typedef struct _MSG_FC_PRIMITIVE_SEND_REPLY_MSG_FC_PRIMITIVE_SEND_REPLY346,16864 - FcPrimitiveSendReply_t, MPI_POINTER pFcPrimitiveSendReply_t;pFcPrimitiveSendReply_t360,17624 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/fc_log.h,5413 -typedef enum _MpiIocLogInfoFc_MpiIocLogInfoFc37,1363 - MPI_IOCLOGINFO_FC_INIT_BASE 39,1395 - MPI_IOCLOGINFO_FC_INIT_BASE = 0x20000000,39,1395 - MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME 40,1461 - MPI_IOCLOGINFO_FC_INIT_ERROR_OUT_OF_ORDER_FRAME = 0x20000001,40,1461 - MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME 41,1578 - MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_START_OF_FRAME = 0x20000002,41,1578 - MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME 42,1693 - MPI_IOCLOGINFO_FC_INIT_ERROR_BAD_END_OF_FRAME = 0x20000003,42,1693 - MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN 43,1806 - MPI_IOCLOGINFO_FC_INIT_ERROR_OVER_RUN = 0x20000004,43,1806 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER 44,1900 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OTHER = 0x20000005,44,1900 - MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD 45,2021 - MPI_IOCLOGINFO_FC_INIT_ERROR_SUBPROC_DEAD = 0x20000006,45,2021 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN 46,2143 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_OVERRUN = 0x20000007,46,2143 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS 47,2239 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_BAD_STATUS = 0x20000008,47,2239 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME=48,2365 - MPI_IOCLOGINFO_FC_INIT_ERROR_RX_UNEXPECTED_FRAME= 0x20000009,48,2365 - MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE 49,2477 - MPI_IOCLOGINFO_FC_INIT_ERROR_LINK_FAILURE = 0x2000000A,49,2477 - MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT 50,2572 - MPI_IOCLOGINFO_FC_INIT_ERROR_TX_TIMEOUT = 0x2000000B,50,2572 - MPI_IOCLOGINFO_FC_TARGET_BASE 52,2671 - MPI_IOCLOGINFO_FC_TARGET_BASE = 0x21000000,52,2671 - MPI_IOCLOGINFO_FC_TARGET_NO_PDISC 53,2737 - MPI_IOCLOGINFO_FC_TARGET_NO_PDISC = 0x21000001,53,2737 - MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN 54,2872 - MPI_IOCLOGINFO_FC_TARGET_NO_LOGIN = 0x21000002,54,2872 - MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP 55,3001 - MPI_IOCLOGINFO_FC_TARGET_DOAR_KILLED_BY_LIP = 0x21000003,55,3001 - MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP 56,3120 - MPI_IOCLOGINFO_FC_TARGET_DIAR_KILLED_BY_LIP = 0x21000004,56,3120 - MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA 57,3238 - MPI_IOCLOGINFO_FC_TARGET_DIAR_MISSING_DATA = 0x21000005,57,3238 - MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP 58,3354 - MPI_IOCLOGINFO_FC_TARGET_DONR_KILLED_BY_LIP = 0x21000006,58,3354 - MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP 59,3471 - MPI_IOCLOGINFO_FC_TARGET_WRSP_KILLED_BY_LIP = 0x21000007,59,3471 - MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP 60,3593 - MPI_IOCLOGINFO_FC_TARGET_DINR_KILLED_BY_LIP = 0x21000008,60,3593 - MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA 61,3714 - MPI_IOCLOGINFO_FC_TARGET_DINR_MISSING_DATA = 0x21000009,61,3714 - MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP 62,3828 - MPI_IOCLOGINFO_FC_TARGET_MRSP_KILLED_BY_LIP = 0x2100000a,62,3828 - MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3 63,3938 - MPI_IOCLOGINFO_FC_TARGET_NO_CLASS_3 = 0x2100000b,63,3938 - MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID 64,4064 - MPI_IOCLOGINFO_FC_TARGET_LOGIN_NOT_VALID = 0x2100000c,64,4064 - MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND 65,4188 - MPI_IOCLOGINFO_FC_TARGET_FROM_OUTBOUND = 0x2100000e,65,4188 - MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN 66,4307 - MPI_IOCLOGINFO_FC_TARGET_WAITING_FOR_DATA_IN = 0x2100000f,66,4307 - MPI_IOCLOGINFO_FC_LAN_BASE 68,4420 - MPI_IOCLOGINFO_FC_LAN_BASE = 0x22000000,68,4420 - MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING 69,4486 - MPI_IOCLOGINFO_FC_LAN_TRANS_SGL_MISSING = 0x22000001,69,4486 - MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE 70,4590 - MPI_IOCLOGINFO_FC_LAN_TRANS_WRONG_PLACE = 0x22000002,70,4590 - MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET 71,4702 - MPI_IOCLOGINFO_FC_LAN_TRANS_RES_BITS_SET = 0x22000003,71,4702 - MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG 72,4822 - MPI_IOCLOGINFO_FC_LAN_WRONG_SGL_FLAG = 0x22000004,72,4822 - MPI_IOCLOGINFO_FC_MSG_BASE 74,4913 - MPI_IOCLOGINFO_FC_MSG_BASE = 0x23000000,74,4913 - MPI_IOCLOGINFO_FC_LINK_BASE 76,4980 - MPI_IOCLOGINFO_FC_LINK_BASE = 0x24000000,76,4980 - MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT 77,5046 - MPI_IOCLOGINFO_FC_LINK_LOOP_INIT_TIMEOUT = 0x24000001,77,5046 - MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED 78,5148 - MPI_IOCLOGINFO_FC_LINK_ALREADY_INITIALIZED = 0x24000002,78,5148 - MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED 79,5275 - MPI_IOCLOGINFO_FC_LINK_LINK_NOT_ESTABLISHED = 0x24000003,79,5275 - MPI_IOCLOGINFO_FC_LINK_CRC_ERROR 80,5420 - MPI_IOCLOGINFO_FC_LINK_CRC_ERROR = 0x24000004,80,5420 - MPI_IOCLOGINFO_FC_CTX_BASE 82,5536 - MPI_IOCLOGINFO_FC_CTX_BASE = 0x25000000,82,5536 - MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET 84,5603 - MPI_IOCLOGINFO_FC_INVALID_FIELD_BYTE_OFFSET = 0x26000000,84,5603 - MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET 85,5766 - MPI_IOCLOGINFO_FC_INVALID_FIELD_MAX_OFFSET = 0x26ffffff,85,5766 - MPI_IOCLOGINFO_FC_STATE_CHANGE 87,5833 - MPI_IOCLOGINFO_FC_STATE_CHANGE = 0x27000000 87,5833 -} MpiIocLogInfoFc_t;MpiIocLogInfoFc_t89,5976 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_tool.h,3776 -#define MPI_TOOL_H22,604 -#define MPI_TOOLBOX_CLEAN_TOOL 24,624 -#define MPI_TOOLBOX_MEMORY_MOVE_TOOL 25,683 -#define MPI_TOOLBOX_DIAG_DATA_UPLOAD_TOOL 26,742 -#define MPI_TOOLBOX_ISTWI_READ_WRITE_TOOL 27,801 -#define MPI_TOOLBOX_FC_MANAGEMENT_TOOL 28,860 -typedef struct _MSG_TOOLBOX_REPLY_MSG_TOOLBOX_REPLY35,1159 - ToolboxReply_t, MPI_POINTER pToolboxReply_t;pToolboxReply_t49,1977 -typedef struct _MSG_TOOLBOX_CLEAN_REQUEST_MSG_TOOLBOX_CLEAN_REQUEST56,2264 - ToolboxCleanRequest_t, MPI_POINTER pToolboxCleanRequest_t;pToolboxCleanRequest_t68,2974 -#define MPI_TOOLBOX_CLEAN_NVSRAM 70,3036 -#define MPI_TOOLBOX_CLEAN_SEEPROM 71,3101 -#define MPI_TOOLBOX_CLEAN_FLASH 72,3166 -#define MPI_TOOLBOX_CLEAN_BOOTLOADER 73,3231 -#define MPI_TOOLBOX_CLEAN_FW_BACKUP 74,3296 -#define MPI_TOOLBOX_CLEAN_FW_CURRENT 75,3361 -#define MPI_TOOLBOX_CLEAN_OTHER_PERSIST_PAGES 76,3426 -#define MPI_TOOLBOX_CLEAN_PERSIST_MANUFACT_PAGES 77,3491 -#define MPI_TOOLBOX_CLEAN_BOOT_SERVICES 78,3556 -typedef struct _MSG_TOOLBOX_MEM_MOVE_REQUEST_MSG_TOOLBOX_MEM_MOVE_REQUEST85,3861 - ToolboxMemMoveRequest_t, MPI_POINTER pToolboxMemMoveRequest_t;pToolboxMemMoveRequest_t97,4580 -typedef struct _MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST_MSG_TOOLBOX_DIAG_DATA_UPLOAD_REQUEST104,4885 - ToolboxDiagDataUploadRequest_t, MPI_POINTER pToolboxDiagDataUploadRequest_t;pToolboxDiagDataUploadRequest_t118,5760 -typedef struct _DIAG_DATA_UPLOAD_HEADER_DIAG_DATA_UPLOAD_HEADER120,5840 - DiagDataUploadHeader_t, MPI_POINTER pDiagDataUploadHeader_t;pDiagDataUploadHeader_t127,6214 -#define MPI_TB_DIAG_FORMAT_SCSI_PRINTF_1 129,6278 -#define MPI_TB_DIAG_FORMAT_SCSI_2 130,6337 -#define MPI_TB_DIAG_FORMAT_SCSI_3 131,6396 -#define MPI_TB_DIAG_FORMAT_FC_TRACE_1 132,6455 -typedef struct _MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST_MSG_TOOLBOX_ISTWI_READ_WRITE_REQUEST139,6754 - ToolboxIstwiReadWriteRequest_t, MPI_POINTER pToolboxIstwiReadWriteRequest_t;pToolboxIstwiReadWriteRequest_t162,8223 -#define MPI_TB_ISTWI_FLAGS_WRITE 164,8303 -#define MPI_TB_ISTWI_FLAGS_READ 165,8362 -typedef struct _MPI_TB_FC_MANAGE_BUS_TID_AI_MPI_TB_FC_MANAGE_BUS_TID_AI173,8699 - MpiTbFcManageBusTidAi_t, MPI_POINTER pMpiTbFcManageBusTidAi_t;pMpiTbFcManageBusTidAi_t179,9019 -typedef struct _MPI_TB_FC_MANAGE_PID_AI_MPI_TB_FC_MANAGE_PID_AI182,9122 - MpiTbFcManagePidAi_t, MPI_POINTER pMpiTbFcManagePidAi_t;pMpiTbFcManagePidAi_t186,9298 -typedef union _MPI_TB_FC_MANAGE_AI_UNION_MPI_TB_FC_MANAGE_AI_UNION189,9384 - MpiTbFcManageAiUnion_t, MPI_POINTER pMpiTbFcManageAiUnion_t;pMpiTbFcManageAiUnion_t194,9585 -typedef struct _MSG_TOOLBOX_FC_MANAGE_REQUEST_MSG_TOOLBOX_FC_MANAGE_REQUEST196,9649 - ToolboxFcManageRequest_t, MPI_POINTER pToolboxFcManageRequest_t;pToolboxFcManageRequest_t211,10569 -#define MPI_TB_FC_MANAGE_ACTION_DISC_ALL 214,10672 -#define MPI_TB_FC_MANAGE_ACTION_DISC_PID 215,10731 -#define MPI_TB_FC_MANAGE_ACTION_DISC_BUS_TID 216,10790 -typedef struct _MSG_DIAG_BUFFER_POST_REQUEST_MSG_DIAG_BUFFER_POST_REQUEST223,11089 - DiagBufferPostRequest_t, MPI_POINTER pDiagBufferPostRequest_t;pDiagBufferPostRequest_t239,12072 -#define MPI_DIAG_BUF_TYPE_TRACE 241,12138 -#define MPI_DIAG_BUF_TYPE_SNAPSHOT 242,12197 -#define MPI_DIAG_BUF_TYPE_EXTENDED 243,12256 -#define MPI_DIAG_EXTENDED_QTAG 245,12316 -typedef struct _MSG_DIAG_BUFFER_POST_REPLY_MSG_DIAG_BUFFER_POST_REPLY249,12418 - DiagBufferPostReply_t, MPI_POINTER pDiagBufferPostReply_t;pDiagBufferPostReply_t264,13329 -typedef struct _MSG_DIAG_RELEASE_REQUEST_MSG_DIAG_RELEASE_REQUEST271,13630 - DiagReleaseRequest_t, MPI_POINTER pDiagReleaseRequest_t;pDiagReleaseRequest_t282,14271 -typedef struct _MSG_DIAG_RELEASE_REPLY_MSG_DIAG_RELEASE_REPLY286,14363 - DiagReleaseReply_t, MPI_POINTER pDiagReleaseReply_t;pDiagReleaseReply_t300,15196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_targ.h,5848 -#define MPI_TARG_H50,2449 -typedef struct _CMD_BUFFER_DESCRIPTOR_CMD_BUFFER_DESCRIPTOR59,2687 - CmdBufferDescriptor_t, MPI_POINTER pCmdBufferDescriptor_t;pCmdBufferDescriptor_t69,3098 -typedef struct _MSG_TARGET_CMD_BUFFER_POST_REQUEST_MSG_TARGET_CMD_BUFFER_POST_REQUEST76,3399 - TargetCmdBufferPostRequest_t, MPI_POINTER pTargetCmdBufferPostRequest_t;pTargetCmdBufferPostRequest_t89,4202 -#define CMD_BUFFER_POST_FLAGS_PORT_MASK 91,4278 -#define CMD_BUFFER_POST_FLAGS_ADDR_MODE_MASK 92,4333 -#define CMD_BUFFER_POST_FLAGS_ADDR_MODE_32 93,4388 -#define CMD_BUFFER_POST_FLAGS_ADDR_MODE_64 94,4440 -#define CMD_BUFFER_POST_FLAGS_64_BIT_ADDR 95,4492 -#define CMD_BUFFER_POST_IO_INDEX_MASK 97,4548 -#define CMD_BUFFER_POST_IO_INDEX_MASK_0100 98,4609 -typedef struct _MSG_TARGET_CMD_BUFFER_POST_REPLY_MSG_TARGET_CMD_BUFFER_POST_REPLY101,4687 - TargetCmdBufferPostReply_t, MPI_POINTER pTargetCmdBufferPostReply_t;pTargetCmdBufferPostReply_t116,5616 -typedef struct _MSG_PRIORITY_CMD_RECEIVED_REPLY_MSG_PRIORITY_CMD_RECEIVED_REPLY119,5745 - PriorityCommandReceivedReply_t, MPI_POINTER pPriorityCommandReceivedReply_t;pPriorityCommandReceivedReply_t134,6671 -#define PRIORITY_REASON_NO_DISCONNECT 136,6751 -#define PRIORITY_REASON_SCSI_TASK_MANAGEMENT 137,6806 -#define PRIORITY_REASON_CMD_PARITY_ERR 138,6861 -#define PRIORITY_REASON_MSG_OUT_PARITY_ERR 139,6916 -#define PRIORITY_REASON_LQ_CRC_ERR 140,6971 -#define PRIORITY_REASON_CMD_CRC_ERR 141,7026 -#define PRIORITY_REASON_PROTOCOL_ERR 142,7081 -#define PRIORITY_REASON_DATA_OUT_PARITY_ERR 143,7136 -#define PRIORITY_REASON_DATA_OUT_CRC_ERR 144,7191 -#define PRIORITY_REASON_TARGET_BUSY 145,7246 -#define PRIORITY_REASON_UNKNOWN 146,7301 -typedef struct _MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY_MSG_TARGET_CMD_BUFFER_POST_ERROR_REPLY149,7358 - TargetCmdBufferPostErrorReply_t, MPI_POINTER pTargetCmdBufferPostErrorReply_t;pTargetCmdBufferPostErrorReply_t165,8307 -typedef struct _MPI_TARGET_FCP_CMD_BUFFER_MPI_TARGET_FCP_CMD_BUFFER168,8390 - MpiTargetFcpCmdBuffer, MPI_POINTER pMpiTargetFcpCmdBuffer;pMpiTargetFcpCmdBuffer178,8968 -typedef struct _MPI_TARGET_SCSI_SPI_CMD_BUFFER_MPI_TARGET_SCSI_SPI_CMD_BUFFER181,9031 - MpiTargetScsiSpiCmdBuffer, MPI_POINTER pMpiTargetScsiSpiCmdBuffer;pMpiTargetScsiSpiCmdBuffer201,10115 -typedef struct _MSG_TARGET_ASSIST_REQUEST_MSG_TARGET_ASSIST_REQUEST208,10424 - TargetAssistRequest_t, MPI_POINTER pTargetAssistRequest_t;pTargetAssistRequest_t224,11398 -#define TARGET_ASSIST_FLAGS_DATA_DIRECTION 226,11460 -#define TARGET_ASSIST_FLAGS_AUTO_STATUS 227,11519 -#define TARGET_ASSIST_FLAGS_HIGH_PRIORITY 228,11578 -#define TARGET_ASSIST_FLAGS_CONFIRMED 229,11637 -#define TARGET_ASSIST_FLAGS_REPOST_CMD_BUFFER 230,11696 -typedef struct _MSG_TARGET_ERROR_REPLY_MSG_TARGET_ERROR_REPLY233,11757 - TargetErrorReply_t, MPI_POINTER pTargetErrorReply_t;pTargetErrorReply_t249,12722 -typedef struct _MSG_TARGET_STATUS_SEND_REQUEST_MSG_TARGET_STATUS_SEND_REQUEST256,13017 - TargetStatusSendRequest_t, MPI_POINTER pTargetStatusSendRequest_t;pTargetStatusSendRequest_t270,13874 -#define TARGET_STATUS_SEND_FLAGS_AUTO_GOOD_STATUS 272,13944 -#define TARGET_STATUS_SEND_FLAGS_HIGH_PRIORITY 273,14003 -#define TARGET_STATUS_SEND_FLAGS_CONFIRMED 274,14062 -#define TARGET_STATUS_SEND_FLAGS_REPOST_CMD_BUFFER 275,14121 -typedef struct _MPI_TARGET_FCP_RSP_BUFFER_MPI_TARGET_FCP_RSP_BUFFER281,14307 - MpiTargetFcpRspBuffer, MPI_POINTER pMpiTargetFcpRspBuffer;pMpiTargetFcpRspBuffer293,15017 -typedef struct _MPI_TARGET_SCSI_SPI_STATUS_IU_MPI_TARGET_SCSI_SPI_STATUS_IU299,15210 - TargetScsiSpiStatusIU_t, MPI_POINTER pTargetScsiSpiStatusIU_t;pTargetScsiSpiStatusIU_t309,15800 -typedef struct _MSG_TARGET_MODE_ABORT_REQUEST_MSG_TARGET_MODE_ABORT_REQUEST315,16104 - TargetModeAbort_t, MPI_POINTER pTargetModeAbort_t;pTargetModeAbort_t328,16876 -#define TARGET_MODE_ABORT_TYPE_ALL_CMD_BUFFERS 330,16930 -#define TARGET_MODE_ABORT_TYPE_ALL_IO 331,16989 -#define TARGET_MODE_ABORT_TYPE_EXACT_IO 332,17048 -#define TARGET_MODE_ABORT_TYPE_EXACT_IO_REQUEST 333,17107 -typedef struct _MSG_TARGET_MODE_ABORT_REPLY_MSG_TARGET_MODE_ABORT_REPLY337,17198 - TargetModeAbortReply_t, MPI_POINTER pTargetModeAbortReply_t;pTargetModeAbortReply_t351,18046 -#define TARGET_MODE_REPLY_IO_INDEX_MASK 358,18349 -#define TARGET_MODE_REPLY_IO_INDEX_SHIFT 359,18410 -#define TARGET_MODE_REPLY_INITIATOR_INDEX_MASK 360,18462 -#define TARGET_MODE_REPLY_INITIATOR_INDEX_SHIFT 361,18523 -#define TARGET_MODE_REPLY_ALIAS_MASK 362,18576 -#define TARGET_MODE_REPLY_ALIAS_SHIFT 363,18637 -#define TARGET_MODE_REPLY_PORT_MASK 364,18690 -#define TARGET_MODE_REPLY_PORT_SHIFT 365,18751 -#define GET_IO_INDEX(GET_IO_INDEX368,18806 -#define SET_IO_INDEX(SET_IO_INDEX371,18961 -#define GET_INITIATOR_INDEX(GET_INITIATOR_INDEX376,19284 -#define SET_INITIATOR_INDEX(SET_INITIATOR_INDEX379,19445 -#define GET_ALIAS(GET_ALIAS384,19768 -#define SET_ALIAS(SET_ALIAS387,19931 -#define GET_PORT(GET_PORT391,20174 -#define SET_PORT(SET_PORT394,20336 -#define TARGET_MODE_REPLY_0100_MASK_HOST_INDEX 399,20640 -#define TARGET_MODE_REPLY_0100_SHIFT_HOST_INDEX 400,20706 -#define TARGET_MODE_REPLY_0100_MASK_IOC_INDEX 401,20763 -#define TARGET_MODE_REPLY_0100_SHIFT_IOC_INDEX 402,20829 -#define TARGET_MODE_REPLY_0100_PORT_MASK 403,20887 -#define TARGET_MODE_REPLY_0100_PORT_SHIFT 404,20953 -#define TARGET_MODE_REPLY_0100_MASK_INITIATOR_INDEX 405,21011 -#define TARGET_MODE_REPLY_0100_SHIFT_INITIATOR_INDEX 406,21077 -#define GET_HOST_INDEX_0100(GET_HOST_INDEX_0100408,21136 -#define SET_HOST_INDEX_0100(SET_HOST_INDEX_0100411,21296 -#define GET_IOC_INDEX_0100(GET_IOC_INDEX_0100416,21619 -#define SET_IOC_INDEX_0100(SET_IOC_INDEX_0100419,21778 -#define GET_INITIATOR_INDEX_0100(GET_INITIATOR_INDEX_0100424,22099 -#define SET_INITIATOR_INDEX_0100(SET_INITIATOR_INDEX_0100428,22341 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_type.h,673 -#define MPI_TYPE_H25,788 -#define MPI_POINTER 34,1149 -typedef signed char S8;S844,1386 -typedef unsigned char U8;U845,1414 -typedef signed short S16;S1646,1442 -typedef unsigned short U16;U1647,1471 -typedef int32_t S32;S3250,1502 -typedef u_int32_t U32;U3251,1525 -typedef struct _S64_S6458,1655 -} S64;S6462,1722 -typedef struct _U64_U6464,1730 -} U64;U6468,1797 -typedef S8 *PS8;PS875,2044 -typedef U8 *PU8;PU876,2066 -typedef S16 *PS16;PS1677,2088 -typedef U16 *PU16;PU1678,2111 -typedef S32 *PS32;PS3279,2134 -typedef U32 *PU32;PU3280,2157 -typedef S64 *PS64;PS6481,2180 -typedef U64 *PU64;PU6482,2203 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_lan.h,2134 -#define MPI_LAN_H35,1490 -typedef struct _MSG_LAN_SEND_REQUEST_MSG_LAN_SEND_REQUEST46,1741 - LANSendRequest_t, MPI_POINTER pLANSendRequest_t;pLANSendRequest_t57,2306 -typedef struct _MSG_LAN_SEND_REPLY_MSG_LAN_SEND_REPLY60,2359 - LANSendReply_t, MPI_POINTER pLANSendReply_t;pLANSendReply_t75,3150 -typedef struct _MSG_LAN_RECEIVE_POST_REQUEST_MSG_LAN_RECEIVE_POST_REQUEST80,3221 - LANReceivePostRequest_t, MPI_POINTER pLANReceivePostRequest_t;pLANReceivePostRequest_t92,3868 -typedef struct _MSG_LAN_RECEIVE_POST_REPLY_MSG_LAN_RECEIVE_POST_REPLY95,3935 - LANReceivePostReply_t, MPI_POINTER pLANReceivePostReply_t;pLANReceivePostReply_t113,4924 -typedef struct _MSG_LAN_RESET_REQUEST_MSG_LAN_RESET_REQUEST118,5003 - LANResetRequest_t, MPI_POINTER pLANResetRequest_t;pLANResetRequest_t128,5513 -typedef struct _MSG_LAN_RESET_REPLY_MSG_LAN_RESET_REPLY131,5568 - LANResetReply_t, MPI_POINTER pLANResetReply_t;pLANResetReply_t144,6246 -#define LAN_REPLY_PACKET_LENGTH_MASK 151,6535 -#define LAN_REPLY_PACKET_LENGTH_SHIFT 152,6596 -#define LAN_REPLY_BUCKET_CONTEXT_MASK 153,6648 -#define LAN_REPLY_BUCKET_CONTEXT_SHIFT 154,6709 -#define LAN_REPLY_BUFFER_CONTEXT_MASK 155,6762 -#define LAN_REPLY_BUFFER_CONTEXT_SHIFT 156,6823 -#define LAN_REPLY_FORM_MASK 157,6875 -#define LAN_REPLY_FORM_RECEIVE_SINGLE 158,6936 -#define LAN_REPLY_FORM_RECEIVE_MULTIPLE 159,6991 -#define LAN_REPLY_FORM_SEND_SINGLE 160,7046 -#define LAN_REPLY_FORM_MESSAGE_CONTEXT 161,7101 -#define LAN_REPLY_FORM_SHIFT 162,7156 -#define GET_LAN_PACKET_LENGTH(GET_LAN_PACKET_LENGTH164,7210 -#define SET_LAN_PACKET_LENGTH(SET_LAN_PACKET_LENGTH167,7363 -#define GET_LAN_BUCKET_CONTEXT(GET_LAN_BUCKET_CONTEXT172,7669 -#define SET_LAN_BUCKET_CONTEXT(SET_LAN_BUCKET_CONTEXT175,7823 -#define GET_LAN_BUFFER_CONTEXT(GET_LAN_BUFFER_CONTEXT180,8130 -#define SET_LAN_BUFFER_CONTEXT(SET_LAN_BUFFER_CONTEXT183,8284 -#define GET_LAN_FORM(GET_LAN_FORM188,8591 -#define SET_LAN_FORM(SET_LAN_FORM191,8735 -#define MPI_LAN_DEVICE_STATE_RESET 201,9271 -#define MPI_LAN_DEVICE_STATE_OPERATIONAL 202,9333 -#define MPI_LAN_TX_MODES_ENABLE_LOOPBACK_SUPPRESSION 209,9635 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi_raid.h,2640 -#define MPI_RAID_H35,1459 -typedef struct _MSG_RAID_ACTION_MSG_RAID_ACTION49,1921 - MpiRaidActionRequest_t , MPI_POINTER pMpiRaidActionRequest_t;pMpiRaidActionRequest_t64,2719 -#define MPI_RAID_ACTION_STATUS 69,2826 -#define MPI_RAID_ACTION_INDICATOR_STRUCT 70,2885 -#define MPI_RAID_ACTION_CREATE_VOLUME 71,2944 -#define MPI_RAID_ACTION_DELETE_VOLUME 72,3003 -#define MPI_RAID_ACTION_DISABLE_VOLUME 73,3062 -#define MPI_RAID_ACTION_ENABLE_VOLUME 74,3121 -#define MPI_RAID_ACTION_QUIESCE_PHYS_IO 75,3180 -#define MPI_RAID_ACTION_ENABLE_PHYS_IO 76,3239 -#define MPI_RAID_ACTION_CHANGE_VOLUME_SETTINGS 77,3298 -#define MPI_RAID_ACTION_PHYSDISK_OFFLINE 78,3357 -#define MPI_RAID_ACTION_PHYSDISK_ONLINE 79,3416 -#define MPI_RAID_ACTION_CHANGE_PHYSDISK_SETTINGS 80,3475 -#define MPI_RAID_ACTION_CREATE_PHYSDISK 81,3534 -#define MPI_RAID_ACTION_DELETE_PHYSDISK 82,3593 -#define MPI_RAID_ACTION_FAIL_PHYSDISK 83,3652 -#define MPI_RAID_ACTION_REPLACE_PHYSDISK 84,3711 -#define MPI_RAID_ACTION_ACTIVATE_VOLUME 85,3770 -#define MPI_RAID_ACTION_INACTIVATE_VOLUME 86,3829 -#define MPI_RAID_ACTION_ADATA_DO_NOT_SYNC 89,3968 -#define MPI_RAID_ACTION_ADATA_LOW_LEVEL_INIT 90,4033 -#define MPI_RAID_ACTION_ADATA_KEEP_PHYS_DISKS 93,4178 -#define MPI_RAID_ACTION_ADATA_DEL_PHYS_DISKS 94,4243 -#define MPI_RAID_ACTION_ADATA_KEEP_LBA0 96,4309 -#define MPI_RAID_ACTION_ADATA_ZERO_LBA0 97,4374 -#define MPI_RAID_ACTION_ADATA_INACTIVATE_ALL 100,4521 -typedef struct _MSG_RAID_ACTION_REPLY_MSG_RAID_ACTION_REPLY105,4621 - MpiRaidActionReply_t, MPI_POINTER pMpiRaidActionReply_t;pMpiRaidActionReply_t122,5537 -#define MPI_RAID_ACTION_ASTATUS_SUCCESS 127,5643 -#define MPI_RAID_ACTION_ASTATUS_INVALID_ACTION 128,5704 -#define MPI_RAID_ACTION_ASTATUS_FAILURE 129,5765 -#define MPI_RAID_ACTION_ASTATUS_IN_PROGRESS 130,5826 -typedef struct _MPI_RAID_VOL_INDICATOR_MPI_RAID_VOL_INDICATOR135,5946 - MpiRaidVolIndicator_t, MPI_POINTER pMpiRaidVolIndicator_t;pMpiRaidVolIndicator_t140,6169 -typedef struct _MSG_SCSI_IO_RAID_PT_REQUEST_MSG_SCSI_IO_RAID_PT_REQUEST147,6470 - SCSIIORaidPassthroughRequest_t, MPI_POINTER pSCSIIORaidPassthroughRequest_t;pSCSIIORaidPassthroughRequest_t165,7462 -typedef struct _MSG_SCSI_IO_RAID_PT_REPLY_MSG_SCSI_IO_RAID_PT_REPLY170,7591 - SCSIIORaidPassthroughReply_t, MPI_POINTER pSCSIIORaidPassthroughReply_t;pSCSIIORaidPassthroughReply_t189,8635 -typedef struct _MSG_MAILBOX_REQUEST_MSG_MAILBOX_REQUEST196,8903 - MailboxRequest_t, MPI_POINTER pMailboxRequest_t;pMailboxRequest_t209,9388 -typedef struct _MSG_MAILBOX_REPLY_MSG_MAILBOX_REPLY213,9471 - MailboxReply_t, MPI_POINTER pMailboxReply_t;pMailboxReply_t227,10201 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/lsi/mpi.h,14050 -#define MPI_H59,3094 -#define MPI_VERSION_MAJOR 68,3330 -#define MPI_VERSION_MINOR 69,3381 -#define MPI_VERSION_MAJOR_MASK 70,3432 -#define MPI_VERSION_MAJOR_SHIFT 71,3485 -#define MPI_VERSION_MINOR_MASK 72,3533 -#define MPI_VERSION_MINOR_SHIFT 73,3586 -#define MPI_VERSION 74,3634 -#define MPI_VERSION_01_00 77,3766 -#define MPI_VERSION_01_01 78,3819 -#define MPI_VERSION_01_02 79,3872 -#define MPI_VERSION_01_03 80,3925 -#define MPI_VERSION_01_05 81,3978 -#define MPI_HEADER_VERSION_UNIT 85,4138 -#define MPI_HEADER_VERSION_DEV 86,4189 -#define MPI_HEADER_VERSION_UNIT_MASK 87,4240 -#define MPI_HEADER_VERSION_UNIT_SHIFT 88,4293 -#define MPI_HEADER_VERSION_DEV_MASK 89,4341 -#define MPI_HEADER_VERSION_DEV_SHIFT 90,4394 -#define MPI_HEADER_VERSION 91,4442 -#define MPI_IOC_STATE_RESET 99,4744 -#define MPI_IOC_STATE_READY 100,4801 -#define MPI_IOC_STATE_OPERATIONAL 101,4858 -#define MPI_IOC_STATE_FAULT 102,4915 -#define MPI_IOC_STATE_MASK 104,4973 -#define MPI_IOC_STATE_SHIFT 105,5030 -#define MPI_FAULT_REQUEST_MESSAGE_PCI_PARITY_ERROR 109,5147 -#define MPI_FAULT_REQUEST_MESSAGE_PCI_BUS_FAULT 110,5208 -#define MPI_FAULT_REPLY_MESSAGE_PCI_PARITY_ERROR 111,5269 -#define MPI_FAULT_REPLY_MESSAGE_PCI_BUS_FAULT 112,5330 -#define MPI_FAULT_DATA_SEND_PCI_PARITY_ERROR 113,5391 -#define MPI_FAULT_DATA_SEND_PCI_BUS_FAULT 114,5452 -#define MPI_FAULT_DATA_RECEIVE_PCI_PARITY_ERROR 115,5513 -#define MPI_FAULT_DATA_RECEIVE_PCI_BUS_FAULT 116,5574 -#define MPI_DOORBELL_OFFSET 126,5909 -#define MPI_DOORBELL_ACTIVE 127,5966 -#define MPI_DOORBELL_USED 128,6042 -#define MPI_DOORBELL_ACTIVE_SHIFT 129,6108 -#define MPI_DOORBELL_WHO_INIT_MASK 130,6157 -#define MPI_DOORBELL_WHO_INIT_SHIFT 131,6214 -#define MPI_DOORBELL_FUNCTION_MASK 132,6263 -#define MPI_DOORBELL_FUNCTION_SHIFT 133,6320 -#define MPI_DOORBELL_ADD_DWORDS_MASK 134,6369 -#define MPI_DOORBELL_ADD_DWORDS_SHIFT 135,6426 -#define MPI_DOORBELL_DATA_MASK 136,6475 -#define MPI_WRITE_SEQUENCE_OFFSET 139,6534 -#define MPI_WRSEQ_KEY_VALUE_MASK 140,6591 -#define MPI_WRSEQ_1ST_KEY_VALUE 141,6648 -#define MPI_WRSEQ_2ND_KEY_VALUE 142,6699 -#define MPI_WRSEQ_3RD_KEY_VALUE 143,6750 -#define MPI_WRSEQ_4TH_KEY_VALUE 144,6801 -#define MPI_WRSEQ_5TH_KEY_VALUE 145,6852 -#define MPI_DIAGNOSTIC_OFFSET 147,6904 -#define MPI_DIAG_CLEAR_FLASH_BAD_SIG 148,6961 -#define MPI_DIAG_PREVENT_IOC_BOOT 149,7018 -#define MPI_DIAG_DRWE 150,7075 -#define MPI_DIAG_FLASH_BAD_SIG 151,7132 -#define MPI_DIAG_RESET_HISTORY 152,7189 -#define MPI_DIAG_RW_ENABLE 153,7246 -#define MPI_DIAG_RESET_ADAPTER 154,7303 -#define MPI_DIAG_DISABLE_ARM 155,7360 -#define MPI_DIAG_MEM_ENABLE 156,7417 -#define MPI_TEST_BASE_ADDRESS_OFFSET 158,7475 -#define MPI_DIAG_RW_DATA_OFFSET 160,7533 -#define MPI_DIAG_RW_ADDRESS_OFFSET 162,7591 -#define MPI_HOST_INTERRUPT_STATUS_OFFSET 164,7649 -#define MPI_HIS_IOP_DOORBELL_STATUS 165,7706 -#define MPI_HIS_REPLY_MESSAGE_INTERRUPT 166,7763 -#define MPI_HIS_DOORBELL_INTERRUPT 167,7820 -#define MPI_HOST_INTERRUPT_MASK_OFFSET 169,7878 -#define MPI_HIM_RIM 170,7935 -#define MPI_HIM_DIM 171,7992 -#define MPI_REQUEST_QUEUE_OFFSET 173,8050 -#define MPI_REQUEST_POST_FIFO_OFFSET 174,8107 -#define MPI_REPLY_QUEUE_OFFSET 176,8165 -#define MPI_REPLY_POST_FIFO_OFFSET 177,8222 -#define MPI_REPLY_FREE_FIFO_OFFSET 178,8279 -#define MPI_HI_PRI_REQUEST_QUEUE_OFFSET 180,8337 -#define MPI_REQ_MF_DESCRIPTOR_NB_MASK 190,8621 -#define MPI_REQ_MF_DESCRIPTOR_F_BIT 191,8678 -#define MPI_REQ_MF_DESCRIPTOR_ADDRESS_MASK 192,8735 -#define MPI_ADDRESS_REPLY_A_BIT 194,8793 -#define MPI_ADDRESS_REPLY_ADDRESS_MASK 195,8850 -#define MPI_CONTEXT_REPLY_A_BIT 197,8908 -#define MPI_CONTEXT_REPLY_TYPE_MASK 198,8965 -#define MPI_CONTEXT_REPLY_TYPE_SCSI_INIT 199,9022 -#define MPI_CONTEXT_REPLY_TYPE_SCSI_TARGET 200,9073 -#define MPI_CONTEXT_REPLY_TYPE_LAN 201,9124 -#define MPI_CONTEXT_REPLY_TYPE_SHIFT 202,9175 -#define MPI_CONTEXT_REPLY_CONTEXT_MASK 203,9224 -#define MPI_GET_CONTEXT_REPLY_TYPE(MPI_GET_CONTEXT_REPLY_TYPE210,9521 -#define MPI_SET_CONTEXT_REPLY_TYPE(MPI_SET_CONTEXT_REPLY_TYPE213,9675 -#define MPI_FUNCTION_SCSI_IO_REQUEST 227,10263 -#define MPI_FUNCTION_SCSI_TASK_MGMT 228,10322 -#define MPI_FUNCTION_IOC_INIT 229,10381 -#define MPI_FUNCTION_IOC_FACTS 230,10440 -#define MPI_FUNCTION_CONFIG 231,10499 -#define MPI_FUNCTION_PORT_FACTS 232,10558 -#define MPI_FUNCTION_PORT_ENABLE 233,10617 -#define MPI_FUNCTION_EVENT_NOTIFICATION 234,10676 -#define MPI_FUNCTION_EVENT_ACK 235,10735 -#define MPI_FUNCTION_FW_DOWNLOAD 236,10794 -#define MPI_FUNCTION_TARGET_CMD_BUFFER_POST 237,10853 -#define MPI_FUNCTION_TARGET_ASSIST 238,10912 -#define MPI_FUNCTION_TARGET_STATUS_SEND 239,10971 -#define MPI_FUNCTION_TARGET_MODE_ABORT 240,11030 -#define MPI_FUNCTION_FC_LINK_SRVC_BUF_POST 241,11089 -#define MPI_FUNCTION_FC_LINK_SRVC_RSP 242,11148 -#define MPI_FUNCTION_FC_EX_LINK_SRVC_SEND 243,11207 -#define MPI_FUNCTION_FC_ABORT 244,11266 -#define MPI_FUNCTION_FW_UPLOAD 245,11325 -#define MPI_FUNCTION_FC_COMMON_TRANSPORT_SEND 246,11384 -#define MPI_FUNCTION_FC_PRIMITIVE_SEND 247,11443 -#define MPI_FUNCTION_RAID_ACTION 249,11503 -#define MPI_FUNCTION_RAID_SCSI_IO_PASSTHROUGH 250,11562 -#define MPI_FUNCTION_TOOLBOX 252,11622 -#define MPI_FUNCTION_SCSI_ENCLOSURE_PROCESSOR 254,11682 -#define MPI_FUNCTION_MAILBOX 256,11742 -#define MPI_FUNCTION_SMP_PASSTHROUGH 258,11802 -#define MPI_FUNCTION_SAS_IO_UNIT_CONTROL 259,11861 -#define MPI_DIAG_BUFFER_POST 261,11921 -#define MPI_DIAG_RELEASE 262,11980 -#define MPI_FUNCTION_SCSI_IO_32 264,12040 -#define MPI_FUNCTION_LAN_SEND 266,12100 -#define MPI_FUNCTION_LAN_RECEIVE 267,12159 -#define MPI_FUNCTION_LAN_RESET 268,12218 -#define MPI_FUNCTION_INBAND_BUFFER_POST 270,12278 -#define MPI_FUNCTION_INBAND_SEND 271,12337 -#define MPI_FUNCTION_INBAND_RSP 272,12396 -#define MPI_FUNCTION_INBAND_ABORT 273,12455 -#define MPI_FUNCTION_IOC_MESSAGE_UNIT_RESET 275,12515 -#define MPI_FUNCTION_IO_UNIT_RESET 276,12574 -#define MPI_FUNCTION_HANDSHAKE 277,12633 -#define MPI_FUNCTION_REPLY_FRAME_REMOVAL 278,12692 -typedef struct _MPI_VERSION_STRUCT_MPI_VERSION_STRUCT282,12783 - MpiVersionStruct_t, MPI_POINTER pMpiVersionStruct;pMpiVersionStruct289,13142 -typedef union _MPI_VERSION_FORMAT_MPI_VERSION_FORMAT291,13196 - MpiVersionFormat_t, MPI_POINTER pMpiVersionFormat_t;pMpiVersionFormat_t296,13360 -typedef struct _SGE_SIMPLE32_SGE_SIMPLE32309,13875 - SGESimple32_t, MPI_POINTER pSGESimple32_t;pSGESimple32_t314,14030 -typedef struct _SGE_SIMPLE64_SGE_SIMPLE64316,14076 - SGESimple64_t, MPI_POINTER pSGESimple64_t;pSGESimple64_t321,14231 -typedef struct _SGE_SIMPLE_UNION_SGE_SIMPLE_UNION323,14277 - SGE_SIMPLE_UNION, MPI_POINTER PTR_SGE_SIMPLE_UNION;PTR_SGE_SIMPLE_UNION332,14506 -typedef struct _SGE_CHAIN32_SGE_CHAIN32338,14799 - SGEChain32_t, MPI_POINTER pSGEChain32_t;pSGEChain32_t345,15026 -typedef struct _SGE_CHAIN64_SGE_CHAIN64347,15070 - SGEChain64_t, MPI_POINTER pSGEChain64_t;pSGEChain64_t354,15297 -typedef struct _SGE_CHAIN_UNION_SGE_CHAIN_UNION356,15341 - SGEChainUnion_t, MPI_POINTER pSGEChainUnion_t;pSGEChainUnion_t367,15645 -typedef struct _SGE_TRANSACTION32_SGE_TRANSACTION32373,15933 - SGETransaction32_t, MPI_POINTER pSGETransaction32_t;pSGETransaction32_t382,16284 -typedef struct _SGE_TRANSACTION64_SGE_TRANSACTION64384,16340 - SGETransaction64_t, MPI_POINTER pSGETransaction64_t;pSGETransaction64_t393,16691 -typedef struct _SGE_TRANSACTION96_SGE_TRANSACTION96395,16747 - SGETransaction96_t, MPI_POINTER pSGETransaction96_t;pSGETransaction96_t404,17098 -typedef struct _SGE_TRANSACTION128_SGE_TRANSACTION128406,17154 - SGETransaction_t128, MPI_POINTER pSGETransaction_t128;pSGETransaction_t128415,17508 -typedef struct _SGE_TRANSACTION_UNION_SGE_TRANSACTION_UNION417,17566 - SGETransactionUnion_t, MPI_POINTER pSGETransactionUnion_t;pSGETransactionUnion_t432,18115 -typedef struct _SGE_IO_UNION_SGE_IO_UNION439,18416 - SGEIOUnion_t, MPI_POINTER pSGEIOUnion_t;pSGEIOUnion_t447,18589 -typedef struct _SGE_TRANS_SIMPLE_UNION_SGE_TRANS_SIMPLE_UNION453,18871 - SGETransSimpleUnion_t, MPI_POINTER pSGETransSimpleUnion_t;pSGETransSimpleUnion_t461,19088 -typedef struct _SGE_MPI_UNION_SGE_MPI_UNION467,19388 - SGEAllUnion_t, MPI_POINTER pSGEAllUnion_t;pSGEAllUnion_t477,19666 -#define MPI_SGE_FLAGS_LAST_ELEMENT 486,19986 -#define MPI_SGE_FLAGS_END_OF_BUFFER 487,20041 -#define MPI_SGE_FLAGS_ELEMENT_TYPE_MASK 488,20096 -#define MPI_SGE_FLAGS_LOCAL_ADDRESS 489,20151 -#define MPI_SGE_FLAGS_DIRECTION 490,20206 -#define MPI_SGE_FLAGS_ADDRESS_SIZE 491,20261 -#define MPI_SGE_FLAGS_END_OF_LIST 492,20316 -#define MPI_SGE_FLAGS_SHIFT 494,20372 -#define MPI_SGE_LENGTH_MASK 496,20426 -#define MPI_SGE_CHAIN_LENGTH_MASK 497,20487 -#define MPI_SGE_FLAGS_TRANSACTION_ELEMENT 501,20569 -#define MPI_SGE_FLAGS_SIMPLE_ELEMENT 502,20624 -#define MPI_SGE_FLAGS_CHAIN_ELEMENT 503,20679 -#define MPI_SGE_FLAGS_ELEMENT_MASK 504,20734 -#define MPI_SGE_FLAGS_SYSTEM_ADDRESS 508,20814 -#define MPI_SGE_FLAGS_IOC_TO_HOST 512,20887 -#define MPI_SGE_FLAGS_HOST_TO_IOC 513,20942 -#define MPI_SGE_FLAGS_32_BIT_ADDRESSING 517,21018 -#define MPI_SGE_FLAGS_64_BIT_ADDRESSING 518,21073 -#define MPI_SGE_FLAGS_32_BIT_CONTEXT 522,21149 -#define MPI_SGE_FLAGS_64_BIT_CONTEXT 523,21204 -#define MPI_SGE_FLAGS_96_BIT_CONTEXT 524,21259 -#define MPI_SGE_FLAGS_128_BIT_CONTEXT 525,21314 -#define MPI_SGE_CHAIN_OFFSET_MASK 527,21370 -#define MPI_SGE_CHAIN_OFFSET_SHIFT 528,21431 -#define MPI_SGE_SET_FLAGS(MPI_SGE_SET_FLAGS536,21775 -#define MPI_SGE_GET_FLAGS(MPI_SGE_GET_FLAGS537,21849 -#define MPI_SGE_LENGTH(MPI_SGE_LENGTH538,21944 -#define MPI_SGE_CHAIN_LENGTH(MPI_SGE_CHAIN_LENGTH539,22013 -#define MPI_SGE_SET_FLAGS_LENGTH(MPI_SGE_SET_FLAGS_LENGTH541,22089 -#define MPI_pSGE_GET_FLAGS(MPI_pSGE_GET_FLAGS543,22173 -#define MPI_pSGE_GET_LENGTH(MPI_pSGE_GET_LENGTH544,22251 -#define MPI_pSGE_SET_FLAGS_LENGTH(MPI_pSGE_SET_FLAGS_LENGTH545,22326 -#define MPI_pSGE_SET_FLAGS(MPI_pSGE_SET_FLAGS547,22484 -#define MPI_pSGE_SET_LENGTH(MPI_pSGE_SET_LENGTH548,22567 -#define MPI_GET_CHAIN_OFFSET(MPI_GET_CHAIN_OFFSET550,22648 -typedef struct _MSG_REQUEST_HEADER_MSG_REQUEST_HEADER564,23210 - MPIHeader_t, MPI_POINTER pMPIHeader_t;pMPIHeader_t573,23602 -typedef struct _MSG_DEFAULT_REPLY_MSG_DEFAULT_REPLY580,23883 - MPIDefaultReply_t, MPI_POINTER pMPIDefaultReply_t;pMPIDefaultReply_t592,24419 -#define MPI_MSGFLAGS_CONTINUATION_REPLY 597,24517 -#define MPI_IOCSTATUS_SUCCESS 610,25026 -#define MPI_IOCSTATUS_INVALID_FUNCTION 611,25083 -#define MPI_IOCSTATUS_BUSY 612,25140 -#define MPI_IOCSTATUS_INVALID_SGL 613,25197 -#define MPI_IOCSTATUS_INTERNAL_ERROR 614,25254 -#define MPI_IOCSTATUS_RESERVED 615,25311 -#define MPI_IOCSTATUS_INSUFFICIENT_RESOURCES 616,25368 -#define MPI_IOCSTATUS_INVALID_FIELD 617,25425 -#define MPI_IOCSTATUS_INVALID_STATE 618,25482 -#define MPI_IOCSTATUS_OP_STATE_NOT_SUPPORTED 619,25539 -#define MPI_IOCSTATUS_CONFIG_INVALID_ACTION 625,25835 -#define MPI_IOCSTATUS_CONFIG_INVALID_TYPE 626,25892 -#define MPI_IOCSTATUS_CONFIG_INVALID_PAGE 627,25949 -#define MPI_IOCSTATUS_CONFIG_INVALID_DATA 628,26006 -#define MPI_IOCSTATUS_CONFIG_NO_DEFAULTS 629,26063 -#define MPI_IOCSTATUS_CONFIG_CANT_COMMIT 630,26120 -#define MPI_IOCSTATUS_SCSI_RECOVERED_ERROR 636,26416 -#define MPI_IOCSTATUS_SCSI_INVALID_BUS 637,26473 -#define MPI_IOCSTATUS_SCSI_INVALID_TARGETID 638,26530 -#define MPI_IOCSTATUS_SCSI_DEVICE_NOT_THERE 639,26587 -#define MPI_IOCSTATUS_SCSI_DATA_OVERRUN 640,26644 -#define MPI_IOCSTATUS_SCSI_DATA_UNDERRUN 641,26701 -#define MPI_IOCSTATUS_SCSI_IO_DATA_ERROR 642,26758 -#define MPI_IOCSTATUS_SCSI_PROTOCOL_ERROR 643,26815 -#define MPI_IOCSTATUS_SCSI_TASK_TERMINATED 644,26872 -#define MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH 645,26929 -#define MPI_IOCSTATUS_SCSI_TASK_MGMT_FAILED 646,26986 -#define MPI_IOCSTATUS_SCSI_IOC_TERMINATED 647,27043 -#define MPI_IOCSTATUS_SCSI_EXT_TERMINATED 648,27100 -#define MPI_IOCSTATUS_EEDP_CRC_ERROR 654,27396 -#define MPI_IOCSTATUS_EEDP_LBA_TAG_ERROR 655,27453 -#define MPI_IOCSTATUS_EEDP_APP_TAG_ERROR 656,27510 -#define MPI_IOCSTATUS_TARGET_PRIORITY_IO 663,27807 -#define MPI_IOCSTATUS_TARGET_INVALID_PORT 664,27865 -#define MPI_IOCSTATUS_TARGET_INVALID_IOCINDEX 665,27923 -#define MPI_IOCSTATUS_TARGET_INVALID_IO_INDEX 666,27998 -#define MPI_IOCSTATUS_TARGET_ABORTED 667,28056 -#define MPI_IOCSTATUS_TARGET_NO_CONN_RETRYABLE 668,28114 -#define MPI_IOCSTATUS_TARGET_NO_CONNECTION 669,28172 -#define MPI_IOCSTATUS_TARGET_XFER_COUNT_MISMATCH 670,28230 -#define MPI_IOCSTATUS_TARGET_STS_DATA_NOT_SENT 671,28288 -#define MPI_IOCSTATUS_TARGET_FC_ABORTED 677,28585 -#define MPI_IOCSTATUS_TARGET_FC_RX_ID_INVALID 678,28660 -#define MPI_IOCSTATUS_TARGET_FC_DID_INVALID 679,28735 -#define MPI_IOCSTATUS_TARGET_FC_NODE_LOGGED_OUT 680,28810 -#define MPI_IOCSTATUS_FC_ABORTED 686,29124 -#define MPI_IOCSTATUS_FC_RX_ID_INVALID 687,29181 -#define MPI_IOCSTATUS_FC_DID_INVALID 688,29238 -#define MPI_IOCSTATUS_FC_NODE_LOGGED_OUT 689,29295 -#define MPI_IOCSTATUS_FC_EXCHANGE_CANCELED 690,29352 -#define MPI_IOCSTATUS_LAN_DEVICE_NOT_FOUND 696,29648 -#define MPI_IOCSTATUS_LAN_DEVICE_FAILURE 697,29705 -#define MPI_IOCSTATUS_LAN_TRANSMIT_ERROR 698,29762 -#define MPI_IOCSTATUS_LAN_TRANSMIT_ABORTED 699,29819 -#define MPI_IOCSTATUS_LAN_RECEIVE_ERROR 700,29876 -#define MPI_IOCSTATUS_LAN_RECEIVE_ABORTED 701,29933 -#define MPI_IOCSTATUS_LAN_PARTIAL_PACKET 702,29990 -#define MPI_IOCSTATUS_LAN_CANCELED 703,30047 -#define MPI_IOCSTATUS_SAS_SMP_REQUEST_FAILED 709,30360 -#define MPI_IOCSTATUS_INBAND_ABORTED 715,30656 -#define MPI_IOCSTATUS_INBAND_NO_CONNECTION 716,30713 -#define MPI_IOCSTATUS_DIAGNOSTIC_RELEASED 722,31009 -#define MPI_IOCSTATUS_FLAG_LOG_INFO_AVAILABLE 729,31306 -#define MPI_IOCSTATUS_MASK 730,31363 -#define MPI_IOCLOGINFO_TYPE_MASK 736,31659 -#define MPI_IOCLOGINFO_TYPE_SHIFT 737,31720 -#define MPI_IOCLOGINFO_TYPE_NONE 738,31773 -#define MPI_IOCLOGINFO_TYPE_SCSI 739,31827 -#define MPI_IOCLOGINFO_TYPE_FC 740,31881 -#define MPI_IOCLOGINFO_TYPE_SAS 741,31935 -#define MPI_IOCLOGINFO_TYPE_ISCSI 742,31989 -#define MPI_IOCLOGINFO_LOG_DATA_MASK 743,32043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/fusion/linux_compat.h,80 -#define FUSION_LINUX_COMPAT_H4,75 -static int inline scsi_device_online(10,213 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/pci.c,526 -static struct pci_device_id __devinitdata i2o_pci_ids[49,1529 -int i2o_dma_realloc(68,2195 -static void __devexit i2o_pci_free(86,2615 -static int __devinit i2o_pci_alloc(124,3501 -static irqreturn_t i2o_pci_interrupt(274,7460 -static int i2o_pci_irq_enable(337,9001 -static void i2o_pci_irq_disable(367,9638 -static int __devinit i2o_pci_probe(386,10205 -static void __devexit i2o_pci_remove(487,12572 -static struct pci_driver i2o_pci_driver 503,12896 -int __init i2o_pci_init(515,13194 -void __exit i2o_pci_exit(523,13348 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/exec-osm.c,699 -struct i2o_driver i2o_exec_driver;33,1017 -struct i2o_exec_wait i2o_exec_wait42,1278 -static struct i2o_class_id i2o_exec_class_id[53,1704 -static struct i2o_exec_wait *i2o_exec_wait_alloc(66,2032 -static void i2o_exec_wait_free(85,2406 -int i2o_msg_post_wait_mem(108,3325 -static int i2o_msg_post_wait_complete(203,6000 -static int i2o_exec_probe(268,7541 -static int i2o_exec_remove(287,7939 -static void i2o_exec_lct_modified(302,8340 -static int i2o_exec_reply(322,9060 -static void i2o_exec_event(379,10501 -int i2o_exec_lct_get(396,11009 -int i2o_exec_lct_notify(438,12200 -struct i2o_driver i2o_exec_driver 470,13064 -int __init i2o_exec_init(488,13451 -void __exit i2o_exec_exit(498,13633 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/i2o_block.h,335 -#define I2O_BLOCK_OSM_H54,1995 -#define I2O_BLOCK_RETRY_TIME 56,2020 -#define I2O_BLOCK_MAX_OPEN_REQUESTS 57,2054 -struct i2o_block_mempool i2o_block_mempool60,2129 -struct i2o_block_device i2o_block_device66,2233 -struct i2o_block_requesti2o_block_request82,2738 -struct i2o_block_delayed_requesti2o_block_delayed_request93,3119 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/device.c,848 -static inline int i2o_device_issue_claim(34,1002 -int i2o_device_claim(60,1795 -int i2o_device_claim_release(92,2655 -static void i2o_device_release(132,3531 -static void i2o_device_class_release(149,4029 -static struct class i2o_device_class i2o_device_class169,4605 -static struct i2o_device *i2o_device_alloc(182,4959 -struct i2o_device *i2o_device_add(214,5764 -void i2o_device_remove(257,6791 -int i2o_device_parse_lct(275,7376 -static ssize_t i2o_device_class_show_class_id(350,8897 -static ssize_t i2o_device_class_show_tid(366,9372 -static int i2o_device_class_add(389,10130 -static struct class_interface i2o_device_class_interface 428,11349 -int i2o_parm_issue(446,11844 -int i2o_parm_field_get(528,14131 -int i2o_parm_field_set(552,14695 -int i2o_parm_table_get(606,16069 -int i2o_device_init(647,16943 -void i2o_device_exit(663,17207 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/i2o_config.c,1149 -static spinlock_t i2o_config_lock 53,1541 -struct wait_queue *i2o_wait_queue;54,1597 -#define MODINC(MODINC56,1633 -struct sg_simple_element sg_simple_element58,1678 -struct i2o_cfg_info i2o_cfg_info63,1741 -static struct i2o_cfg_info *open_files 74,2074 -static ulong i2o_cfg_info_id 75,2121 -static void i2o_cfg_reply(84,2366 -struct i2o_driver i2o_config_driver 172,4937 -static int i2o_cfg_getiops(176,5003 -static int i2o_cfg_gethrt(195,5431 -static int i2o_cfg_getlct(232,6208 -static int i2o_cfg_parms(267,6900 -static int i2o_cfg_swdl(335,8212 -static int i2o_cfg_swul(409,10273 -static int i2o_cfg_swdel(483,12270 -static int i2o_cfg_validate(529,13405 -static int i2o_cfg_evt_reg(562,14138 -static int i2o_cfg_evt_get(600,15086 -static int i2o_cfg_passthru32(628,15807 -static int i2o_cfg_passthru(847,21261 -static int i2o_cfg_ioctl(1058,26470 -static int cfg_open(1122,27436 -static int cfg_fasync(1149,28018 -static int cfg_release(1164,28286 -static struct file_operations config_fops 1196,28841 -static struct miscdevice i2o_miscdev 1205,29028 -static int __init i2o_config_init(1211,29110 -static void i2o_config_exit(1235,29760 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/i2o_scsi.c,1112 -#define VERSION_STRING 68,2233 -static struct i2o_driver i2o_scsi_driver;70,2280 -static int i2o_scsi_max_id 72,2323 -static int i2o_scsi_max_lun 73,2356 -struct i2o_scsi_host i2o_scsi_host75,2390 -static struct scsi_host_template i2o_scsi_host_template;81,2612 -#define I2O_SCSI_CAN_QUEUE 83,2670 -static struct i2o_class_id i2o_scsi_class_id[86,2741 -static struct i2o_scsi_host *i2o_scsi_host_alloc(91,2843 -static struct i2o_scsi_host *i2o_scsi_get_host(160,4759 -static int i2o_scsi_remove(173,5072 -static int i2o_scsi_probe(201,5838 -static const char *i2o_scsi_info(270,7621 -static void i2o_retry_run(289,8177 -static void flush_pending(308,8599 -static int i2o_scsi_reply(339,9572 -void i2o_scsi_notify_controller_add(506,13573 -void i2o_scsi_notify_controller_remove(539,14373 -static struct i2o_driver i2o_scsi_driver 554,14737 -static int i2o_scsi_queuecommand(580,15562 -int i2o_scsi_abort(764,19829 -static int i2o_scsi_bios_param(805,20844 -static struct scsi_host_template i2o_scsi_host_template 822,21356 -static int __init i2o_scsi_init(851,22057 -static void __exit i2o_scsi_exit(872,22440 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/i2o_block.c,1717 -static struct i2o_driver i2o_block_driver;64,2135 -static struct i2o_block_mempool i2o_blk_req_pool;67,2218 -static struct i2o_class_id i2o_block_class_id[70,2311 -static void i2o_block_device_free(81,2623 -static int i2o_block_remove(98,2982 -static int i2o_block_device_flush(127,3668 -static int i2o_block_device_mount(155,4489 -static int i2o_block_device_lock(184,5365 -static int i2o_block_device_unlock(212,6207 -static int i2o_block_device_power(239,7005 -static inline struct i2o_block_request *i2o_block_request_alloc(272,7853 -static inline void i2o_block_request_free(291,8290 -static inline int i2o_block_sglist_alloc(304,8656 -static inline void i2o_block_sglist_free(328,9299 -static int i2o_block_prep_req_fn(346,9884 -static void i2o_block_delayed_request_fn(387,11044 -static int i2o_block_reply(408,11586 -static void i2o_block_event(571,15759 -static int i2o_block_event(577,15872 - struct i2o_reply i2o_reply584,16054 -#define BLOCK_SIZE_528M 767,20932 -#define BLOCK_SIZE_1G 768,20965 -#define BLOCK_SIZE_21G 769,20996 -#define BLOCK_SIZE_42G 770,21028 -#define BLOCK_SIZE_84G 771,21060 -static void i2o_block_biosparam(773,21094 -static int i2o_block_open(805,21960 -static int i2o_block_release(832,22557 -static int i2o_block_ioctl(872,23546 -static int i2o_block_media_changed(921,24806 -static int i2o_block_transfer(943,25463 -static void i2o_block_request_fn(1073,28444 -static struct block_device_operations i2o_block_fops 1122,29506 -static struct i2o_block_device *i2o_block_device_alloc(1139,30049 -static int i2o_block_probe(1208,31630 -static struct i2o_driver i2o_block_driver 1315,34296 -static int __init i2o_block_init(1334,34808 -static void __exit i2o_block_exit(1402,36499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/iop.c,1130 -static struct i2o_dma i2o_systab;38,1183 -void i2o_msg_nop(63,2040 -u32 i2o_msg_get_wait(89,2910 -u32 i2o_cntxt_list_add(120,3801 -u32 i2o_cntxt_list_remove(165,4980 -void *i2o_cntxt_list_get(198,5862 -u32 i2o_cntxt_list_get_ptr(230,6716 -struct i2o_controller *i2o_find_iop(262,7540 -struct i2o_device *i2o_iop_find_device(284,8055 -static int i2o_iop_quiesce(304,8549 -static int i2o_iop_enable(346,9700 -static inline void i2o_iop_quiesce_all(384,10649 -static inline void i2o_iop_enable_all(399,10981 -static int i2o_iop_clear(418,11554 -static int i2o_iop_reset(458,12570 -int i2o_iop_init_outbound_queue(559,15326 -static int i2o_iop_activate(623,17050 -static int i2o_iop_systab_set(679,18355 -static int i2o_iop_online(788,21850 -void i2o_iop_remove(812,22346 -static int i2o_systab_build(839,23095 -static int i2o_parse_hrt(924,25394 -int i2o_status_get(940,25793 -int i2o_hrt_get(997,27352 -struct i2o_controller *i2o_iop_alloc(1052,28712 -void i2o_iop_free(1084,29445 -int i2o_iop_add(1098,29756 -int i2o_event_register(1157,31228 -static int __init i2o_iop_init(1188,32100 -static void __exit i2o_iop_exit(1230,32708 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/i2o_lan.h,2657 -#define _I2O_LAN_H17,443 -#define I2O_LAN_MAX_BUCKETS_OUT 21,514 -#define I2O_LAN_BUCKET_THRESH 22,549 -#define I2O_LAN_RX_COPYBREAK 23,613 -#define I2O_LAN_TX_TIMEOUT 24,646 -#define I2O_LAN_TX_BATCH_MODE 25,681 -#define I2O_LAN_EVENT_MASK 26,744 -#define I2O_LAN_ETHERNET 29,819 -#define I2O_LAN_100VG 30,851 -#define I2O_LAN_TR 31,881 -#define I2O_LAN_FDDI 32,908 -#define I2O_LAN_FIBRE_CHANNEL 33,937 -#define I2O_LAN_UNKNOWN 34,974 -#define I2O_LAN_AUI 39,1049 -#define I2O_LAN_10BASE5 40,1107 -#define I2O_LAN_FIORL 41,1169 -#define I2O_LAN_10BASE2 42,1229 -#define I2O_LAN_10BROAD36 43,1291 -#define I2O_LAN_10BASE_T 44,1354 -#define I2O_LAN_10BASE_FP 45,1416 -#define I2O_LAN_10BASE_FB 46,1479 -#define I2O_LAN_10BASE_FL 47,1542 -#define I2O_LAN_100BASE_TX 48,1605 -#define I2O_LAN_100BASE_FX 49,1669 -#define I2O_LAN_100BASE_T4 50,1733 -#define I2O_LAN_1000BASE_SX 51,1797 -#define I2O_LAN_1000BASE_LX 52,1862 -#define I2O_LAN_1000BASE_CX 53,1927 -#define I2O_LAN_1000BASE_T 54,1992 -#define I2O_LAN_100VG_ETHERNET 57,2070 -#define I2O_LAN_100VG_TR 58,2135 -#define I2O_LAN_4MBIT 61,2212 -#define I2O_LAN_16MBIT 62,2266 -#define I2O_LAN_125MBAUD 65,2333 -#define I2O_LAN_POINT_POINT 68,2412 -#define I2O_LAN_ARB_LOOP 69,2482 -#define I2O_LAN_PUBLIC_LOOP 70,2549 -#define I2O_LAN_FABRIC 71,2619 -#define I2O_LAN_EMULATION 73,2686 -#define I2O_LAN_OTHER 74,2723 -#define I2O_LAN_DEFAULT 75,2757 -#define LAN_PACKET_SEND 79,2821 -#define LAN_SDU_SEND 80,2851 -#define LAN_RECEIVE_POST 81,2878 -#define LAN_RESET 82,2908 -#define LAN_SUSPEND 83,2932 -#define I2O_LAN_DSC_SUCCESS 86,2996 -#define I2O_LAN_DSC_DEVICE_FAILURE 87,3031 -#define I2O_LAN_DSC_DESTINATION_NOT_FOUND 88,3072 -#define I2O_LAN_DSC_TRANSMIT_ERROR 89,3119 -#define I2O_LAN_DSC_TRANSMIT_ABORTED 90,3160 -#define I2O_LAN_DSC_RECEIVE_ERROR 91,3203 -#define I2O_LAN_DSC_RECEIVE_ABORTED 92,3243 -#define I2O_LAN_DSC_DMA_ERROR 93,3285 -#define I2O_LAN_DSC_BAD_PACKET_DETECTED 94,3322 -#define I2O_LAN_DSC_OUT_OF_MEMORY 95,3368 -#define I2O_LAN_DSC_BUCKET_OVERRUN 96,3408 -#define I2O_LAN_DSC_IOP_INTERNAL_ERROR 97,3449 -#define I2O_LAN_DSC_CANCELED 98,3494 -#define I2O_LAN_DSC_INVALID_TRANSACTION_CONTEXT 99,3530 -#define I2O_LAN_DSC_DEST_ADDRESS_DETECTED 100,3583 -#define I2O_LAN_DSC_DEST_ADDRESS_OMITTED 101,3630 -#define I2O_LAN_DSC_PARTIAL_PACKET_RETURNED 102,3676 -#define I2O_LAN_DSC_SUSPENDED 103,3725 -struct i2o_packet_info i2o_packet_info105,3763 -struct i2o_bucket_descriptor i2o_bucket_descriptor112,3862 -#define I2O_LAN_EVT_LINK_DOWN 119,4027 -#define I2O_LAN_EVT_LINK_UP 120,4063 -#define I2O_LAN_EVT_MEDIA_CHANGE 121,4097 -struct i2o_lan_local i2o_lan_local126,4197 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/debug.c,466 -static int verbose;7,125 -void i2o_dump_status_block(16,462 -void i2o_report_status(45,1886 -void i2o_dump_message(81,2837 -void i2o_report_controller_unit(103,3413 -void i2o_report_fail_status(157,4957 -void i2o_report_common_status(212,6630 -static void i2o_report_common_dsc(240,7336 -static void i2o_report_util_cmd(283,8306 -static void i2o_report_exec_cmd(336,9466 -void i2o_debug_state(443,11860 -void i2o_systab_debug(474,12434 -void i2o_dump_hrt(488,12767 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/i2o_proc.c,4619 -#define I2O_MAX_MODULES 30,1009 -#define FMT_U64_HEX 32,1045 -#define U64_VAL(U64_VAL33,1078 -typedef struct _i2o_proc_entry_t _i2o_proc_entry_t52,1539 -} i2o_proc_entry;i2o_proc_entry56,1682 -static struct proc_dir_entry *i2o_proc_dir_root;59,1734 -static struct i2o_driver i2o_proc_driver 62,1813 -static int print_serial_number(66,1883 -static const char *i2o_get_class_name(164,4854 -#define SCSI_TABLE_SIZE 241,6186 -static char *scsi_devices[242,6213 -static char *chtostr(258,6560 -static int i2o_report_query_status(265,6674 -static char *bus_strings[282,7187 -int i2o_seq_show_hrt(293,7301 -int i2o_seq_show_lct(394,10104 -#define BUS_TABLE_SIZE 401,10284 -int i2o_seq_show_status(524,13335 -int i2o_seq_show_hw(721,18218 -int i2o_seq_show_ddm_table(778,19862 - typedef struct _i2o_exec_execute_ddm_table _i2o_exec_execute_ddm_table784,20010 - } i2o_exec_execute_ddm_table;i2o_exec_execute_ddm_table793,20206 -int i2o_seq_show_driver_store(854,21681 -int i2o_seq_show_drivers_stored(877,22281 - typedef struct _i2o_driver_store _i2o_driver_store879,22346 - } i2o_driver_store_table;i2o_driver_store_table890,22576 - } i2o_driver_result_table;i2o_driver_result_table905,22881 -int i2o_seq_show_groups(965,24440 - typedef struct _i2o_group_info _i2o_group_info972,24593 - } i2o_group_info;i2o_group_info978,24715 -int i2o_seq_show_phys_device(1041,26120 -int i2o_seq_show_claimed(1082,26965 -int i2o_seq_show_users(1122,27793 - typedef struct _i2o_user_table _i2o_user_table1128,27929 - } i2o_user_table;i2o_user_table1134,28045 -int i2o_seq_show_priv_msgs(1176,28998 - typedef struct _i2o_private _i2o_private1182,29138 - } i2o_private;i2o_private1186,29235 -int i2o_seq_show_authorized_users(1225,30119 -int i2o_seq_show_dev_identity(1266,30981 -int i2o_seq_show_dev_name(1304,32198 -int i2o_seq_show_ddm_identity(1314,32426 -int i2o_seq_show_uinfo(1351,33403 -int i2o_seq_show_sgl_limits(1383,34232 -int i2o_seq_show_sensors(1430,35528 -static int i2o_seq_open_hrt(1615,40639 -static int i2o_seq_open_lct(1620,40776 -static int i2o_seq_open_status(1625,40913 -static int i2o_seq_open_hw(1630,41056 -static int i2o_seq_open_ddm_table(1635,41191 -static int i2o_seq_open_driver_store(1640,41340 -static int i2o_seq_open_drivers_stored(1645,41495 -static int i2o_seq_open_groups(1650,41654 -static int i2o_seq_open_phys_device(1655,41797 -static int i2o_seq_open_claimed(1660,41950 -static int i2o_seq_open_users(1665,42095 -static int i2o_seq_open_priv_msgs(1670,42236 -static int i2o_seq_open_authorized_users(1675,42385 -static int i2o_seq_open_dev_identity(1681,42554 -static int i2o_seq_open_ddm_identity(1686,42709 -static int i2o_seq_open_uinfo(1691,42864 -static int i2o_seq_open_sgl_limits(1696,43005 -static int i2o_seq_open_sensors(1701,43156 -static int i2o_seq_open_dev_name(1706,43301 -static struct file_operations i2o_seq_fops_lct 1711,43448 -static struct file_operations i2o_seq_fops_hrt 1718,43599 -static struct file_operations i2o_seq_fops_status 1725,43750 -static struct file_operations i2o_seq_fops_hw 1732,43907 -static struct file_operations i2o_seq_fops_ddm_table 1739,44056 -static struct file_operations i2o_seq_fops_driver_store 1746,44219 -static struct file_operations i2o_seq_fops_drivers_stored 1753,44388 -static struct file_operations i2o_seq_fops_groups 1760,44561 -static struct file_operations i2o_seq_fops_phys_device 1767,44718 -static struct file_operations i2o_seq_fops_claimed 1774,44885 -static struct file_operations i2o_seq_fops_users 1781,45044 -static struct file_operations i2o_seq_fops_priv_msgs 1788,45199 -static struct file_operations i2o_seq_fops_authorized_users 1795,45362 -static struct file_operations i2o_seq_fops_dev_name 1802,45539 -static struct file_operations i2o_seq_fops_dev_identity 1809,45700 -static struct file_operations i2o_seq_fops_ddm_identity 1816,45869 -static struct file_operations i2o_seq_fops_uinfo 1823,46038 -static struct file_operations i2o_seq_fops_sgl_limits 1830,46193 -static struct file_operations i2o_seq_fops_sensors 1837,46358 -static i2o_proc_entry i2o_proc_generic_iop_entries[1848,46602 -static i2o_proc_entry generic_dev_entries[1862,47106 -static i2o_proc_entry rbs_dev_entries[1880,47915 -static int i2o_proc_create_entries(1895,48396 -static void i2o_proc_subdir_remove(1921,48984 -static void i2o_proc_device_add(1941,49521 -static int i2o_proc_iop_add(1985,50637 -static void i2o_proc_iop_remove(2018,51403 -static int __init i2o_proc_fs_create(2042,51937 -static int __exit i2o_proc_fs_destroy(2065,52444 -static int __init i2o_proc_init(2084,52831 -static void __exit i2o_proc_exit(2106,53170 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/message/i2o/driver.c,584 -unsigned int i2o_max_drivers 23,673 -static spinlock_t i2o_drivers_lock 28,883 -static struct i2o_driver **i2o_drivers;29,940 -static int i2o_bus_match(43,1338 -struct bus_type i2o_bus_type 59,1726 -int i2o_driver_register(73,2079 -void i2o_driver_unregister(136,3633 -int i2o_driver_dispatch(178,4856 -void i2o_driver_notify_controller_add_all(249,6673 -void i2o_driver_notify_controller_remove_all(268,7105 -void i2o_driver_notify_device_add_all(286,7521 -void i2o_driver_notify_device_remove_all(304,7941 -int __init i2o_driver_init(323,8370 -void __exit i2o_driver_exit(356,9175 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/s390mach.h,543 -#define __s390mach_h11,258 -struct mci mci15,304 -struct crw crw38,1309 -#define CRW_RSC_MONITOR 50,1746 -#define CRW_RSC_SCH 51,1802 -#define CRW_RSC_CPATH 52,1849 -#define CRW_RSC_CONFIG 53,1898 -#define CRW_RSC_CSS 54,1963 -#define CRW_ERC_EVENT 56,2018 -#define CRW_ERC_AVAIL 57,2080 -#define CRW_ERC_INIT 58,2126 -#define CRW_ERC_TERROR 59,2174 -#define CRW_ERC_IPARM 60,2226 -#define CRW_ERC_TERM 61,2289 -#define CRW_ERC_PERRN 62,2334 -#define CRW_ERC_PERRI 63,2397 -#define CRW_ERC_PMOD 64,2460 -extern __inline__ int stcrw(66,2527 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/ebcdic.c,78 -__u8 _ascebc[15,268 -__u8 _ebcasc[70,2895 -__u8 _ebcasc_reduce_case[145,6985 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_int.h,2239 -#define DASD_INT_H13,397 -#define ERP_DEBUG18,486 -#define DASD_PER_MAJOR 22,582 -#define DASD_PARTN_MASK 23,643 -#define DASD_STATE_NEW 48,1819 -#define DASD_STATE_KNOWN 49,1846 -#define DASD_STATE_BASIC 50,1874 -#define DASD_STATE_READY 51,1902 -#define DASD_STATE_ONLINE 52,1930 -typedef int (*dasd_ioctl_fn_t)dasd_ioctl_fn_t72,2328 -struct dasd_ioctl dasd_ioctl74,2408 - dasd_era_fatal 82,2529 - dasd_era_none 83,2584 - dasd_era_msg 84,2644 - dasd_era_recover 85,2703 -} dasd_era_t;dasd_era_t86,2764 -#define DASD_SENSE_BIT_0 89,2816 -#define DASD_SENSE_BIT_1 90,2846 -#define DASD_SENSE_BIT_2 91,2876 -#define DASD_SENSE_BIT_3 92,2906 -#define DBF_DEV_EVENT(DBF_DEV_EVENT97,3002 -#define DBF_DEV_EXC(DBF_DEV_EXC105,3184 -#define DBF_EVENT(DBF_EVENT113,3359 -#define DBF_EXC(DBF_EXC121,3520 -#define DBF_EMERG 130,3711 -#define DBF_ALERT 131,3758 -#define DBF_CRIT 132,3817 -#define DBF_ERR 133,3864 -#define DBF_WARNING 134,3908 -#define DBF_NOTICE 135,3957 -#define DBF_INFO 136,4017 -#define DBF_DEBUG 137,4058 -#define DEV_MESSAGE(DEV_MESSAGE140,4155 -#define MESSAGE(MESSAGE147,4397 -struct dasd_ccw_req dasd_ccw_req153,4570 -#define DASD_CQR_FILLED 189,5967 -#define DASD_CQR_QUEUED 190,6037 -#define DASD_CQR_IN_IO 191,6108 -#define DASD_CQR_DONE 192,6172 -#define DASD_CQR_ERROR 193,6243 -#define DASD_CQR_FAILED 194,6312 -#define DASD_CQR_CLEAR 195,6375 -#define DASD_CQR_FLAGS_USE_ERP 198,6467 -typedef struct dasd_ccw_req *(*dasd_erp_fn_t)dasd_erp_fn_t201,6580 -struct dasd_discipline dasd_discipline209,6852 -struct dasd_device dasd_device266,9469 -#define DASD_STOPPED_NOT_ACC 313,10664 -#define DASD_STOPPED_QUIESCE 314,10724 -#define DASD_STOPPED_PENDING 315,10778 -#define DASD_STOPPED_DC_WAIT 316,10833 -#define DASD_STOPPED_DC_EIO 317,10897 -#define DASD_FLAG_RO 320,10992 -#define DASD_FLAG_USE_DIAG 321,11042 -#define DASD_FLAG_DSC_ERROR 322,11097 -#define DASD_FLAG_OFFLINE 323,11163 -dasd_get_device(331,11334 -dasd_put_device(337,11435 -struct dasd_mchunkdasd_mchunk347,11670 -dasd_init_chunklist(354,11788 -dasd_alloc_chunk(366,12083 -dasd_free_chunk(388,12663 -dasd_check_blocksize(425,13732 -#define DASD_PROFILE_ON 433,13893 -#define DASD_PROFILE_OFF 434,13920 -dasd_kmalloc_set_cda(451,14510 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_fba.h,330 -#define DASD_FBA_H11,284 -struct DE_fba_data DE_fba_data13,304 - } __attribute__ __attribute__20,557 -struct LO_fba_data LO_fba_data28,845 - } __attribute__ __attribute__32,923 -struct dasd_fba_characteristics dasd_fba_characteristics38,1038 - } __attribute__ __attribute__47,1252 - } __attribute__ __attribute__58,1510 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd.c,2596 -#define PRINTK_HEADER 28,728 -#define DASD_CHANQ_MAX_SIZE 34,849 -debug_info_t *dasd_debug_area;39,928 -struct dasd_discipline *dasd_diag_discipline_pointer;40,959 -static wait_queue_head_t dasd_init_waitq;64,1865 -dasd_alloc_device(70,1983 -dasd_free_device(116,3378 -dasd_state_new_to_known(129,3653 -dasd_state_known_to_new(153,4059 -dasd_state_known_to_basic(169,4400 -dasd_state_basic_to_known(193,5054 -dasd_state_basic_to_ready(219,6109 -dasd_state_ready_to_basic(241,6658 -dasd_state_ready_to_online(258,7093 -dasd_state_online_to_ready(269,7296 -dasd_increase_state(278,7450 -dasd_decrease_state(309,8131 -dasd_change_state(334,8746 -do_kick_device(359,9409 -dasd_kick_device(370,9596 -dasd_set_target_state(381,9852 -_wait_for_device(399,10342 -dasd_enable_device(405,10440 -struct dasd_profile_info_t dasd_global_profile;420,10881 -unsigned int dasd_profile_level 421,10929 -#define dasd_profile_counter(dasd_profile_counter426,11053 -dasd_profile_start(438,11351 -dasd_profile_end(460,11866 -#define dasd_profile_start(dasd_profile_start502,13280 -#define dasd_profile_end(dasd_profile_end503,13341 -dasd_kmalloc_request(514,13769 -dasd_smalloc_request(561,15077 -dasd_kfree_request(615,16682 -dasd_sfree_request(637,17206 -dasd_check_cqr(653,17632 -dasd_term_IO(678,18234 -dasd_start_IO(732,19480 -dasd_timeout_device(790,20995 -dasd_set_timer(807,21414 -dasd_clear_timer(828,21888 -dasd_handle_killed_request(835,22015 -dasd_handle_state_change_pending(867,22824 -dasd_int_handler(889,23384 -dasd_end_request(1032,27176 -__dasd_process_erp(1044,27439 -__dasd_process_ccw_queue(1060,27823 -dasd_end_request_cb(1103,28976 -__dasd_process_blk_queue(1123,29449 -__dasd_check_expire(1196,31526 -__dasd_start_head(1217,32089 -dasd_flush_ccw_queue(1241,32652 -dasd_tasklet(1283,33917 -dasd_schedule_bh(1319,35129 -dasd_add_request_head(1333,35449 -dasd_add_request_tail(1353,35972 -dasd_wakeup_cb(1372,36448 -_wait_for_wakeup(1378,36562 -dasd_sleep_on(1394,36932 -dasd_sleep_on_interruptible(1426,37696 -_dasd_term_running_cqr(1471,39037 -dasd_sleep_on_immediatly(1490,39446 -dasd_cancel_req(1529,40455 -do_dasd_request(1575,41538 -dasd_alloc_queue(1592,42002 -dasd_setup_queue(1615,42506 -dasd_free_queue(1632,43032 -dasd_flush_request_queue(1644,43249 -dasd_open(1663,43674 -dasd_release(1705,44475 -dasd_device_operations 1716,44744 -dasd_exit(1725,44882 -dasd_generic_probe 1747,45302 -dasd_generic_remove 1767,45760 -dasd_generic_set_online 1794,46573 -dasd_generic_set_offline 1850,47981 -dasd_generic_notify(1886,48996 -dasd_generic_auto_online 1936,50312 -dasd_init(1959,50886 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_9336_erp.c,60 -#define PRINTK_HEADER 10,265 -dasd_9336_erp_examine(32,790 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_ioctl.c,737 -#define PRINTK_HEADER 22,621 -static struct list_head dasd_ioctl_list 29,717 -dasd_find_ioctl(35,861 -dasd_ioctl_no_register(49,1070 -dasd_ioctl_no_unregister(68,1473 -dasd_ioctl(81,1780 -dasd_ioctl_api_version(120,2993 -dasd_ioctl_enable(131,3249 -dasd_ioctl_disable(153,3784 -dasd_ioctl_quiesce(185,4674 -dasd_ioctl_resume(210,5212 -dasd_format(240,6029 -dasd_ioctl_format(292,7418 -dasd_ioctl_reset_profile(324,8196 -dasd_ioctl_read_profile(343,8563 -dasd_ioctl_reset_profile(358,8901 -dasd_ioctl_read_profile(364,9005 -dasd_ioctl_information(374,9189 -dasd_ioctl_set_ro(459,11517 -dasd_ioctl_getgeo(486,12108 -static struct { int no; dasd_ioctl_fn_t fn; } dasd_ioctls[512,12736 -dasd_ioctl_init(530,13303 -dasd_ioctl_exit(542,13480 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_eckd.h,2200 -#define DASD_ECKD_H12,346 -#define DASD_ECKD_CCW_WRITE 17,557 -#define DASD_ECKD_CCW_READ 18,592 -#define DASD_ECKD_CCW_WRITE_HOME_ADDRESS 19,626 -#define DASD_ECKD_CCW_READ_HOME_ADDRESS 20,672 -#define DASD_ECKD_CCW_WRITE_KD 21,718 -#define DASD_ECKD_CCW_READ_KD 22,756 -#define DASD_ECKD_CCW_ERASE 23,793 -#define DASD_ECKD_CCW_READ_COUNT 24,828 -#define DASD_ECKD_CCW_SLCK 25,867 -#define DASD_ECKD_CCW_WRITE_RECORD_ZERO 26,901 -#define DASD_ECKD_CCW_READ_RECORD_ZERO 27,947 -#define DASD_ECKD_CCW_WRITE_CKD 28,992 -#define DASD_ECKD_CCW_READ_CKD 29,1031 -#define DASD_ECKD_CCW_PSF 30,1069 -#define DASD_ECKD_CCW_RSSD 31,1102 -#define DASD_ECKD_CCW_LOCATE_RECORD 32,1136 -#define DASD_ECKD_CCW_DEFINE_EXTENT 33,1178 -#define DASD_ECKD_CCW_WRITE_MT 34,1220 -#define DASD_ECKD_CCW_READ_MT 35,1258 -#define DASD_ECKD_CCW_WRITE_KD_MT 36,1295 -#define DASD_ECKD_CCW_READ_KD_MT 37,1335 -#define DASD_ECKD_CCW_RELEASE 38,1374 -#define DASD_ECKD_CCW_READ_CKD_MT 39,1411 -#define DASD_ECKD_CCW_WRITE_CKD_MT 40,1451 -#define DASD_ECKD_CCW_RESERVE 41,1492 -#define PSF_ORDER_PRSSD 46,1579 -struct eckd_count eckd_count52,1804 -struct ch_t ch_t60,1913 -struct chs_t chs_t65,1981 -struct chr_t chr_t71,2065 -struct geom_t geom_t77,2148 -struct eckd_home eckd_home83,2233 -struct DE_eckd_data DE_eckd_data94,2440 - } __attribute__ __attribute__101,2695 - } __attribute__ __attribute__108,2972 -struct LO_eckd_data LO_eckd_data121,3528 - } __attribute__ __attribute__125,3620 - } __attribute__ __attribute__130,3769 -struct dasd_eckd_characteristics dasd_eckd_characteristics139,3943 - } __attribute__ __attribute__147,4139 - } __attribute__ __attribute__169,4733 - } __attribute__ __attribute__183,4978 - } __attribute__ __attribute__190,5086 -struct dasd_eckd_confdata dasd_eckd_confdata212,5517 - } __attribute__ __attribute__222,5769 - } __attribute__ __attribute__242,6289 - } __attribute__ __attribute__261,6797 - } __attribute__ __attribute__280,7307 - } __attribute__ __attribute__297,7744 - } __attribute__ __attribute__307,7974 - } __attribute__ __attribute__319,8259 - } __attribute__ __attribute__323,8374 -struct dasd_psf_prssd_data dasd_psf_prssd_data332,8607 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_fba.c,967 -#define PRINTK_HEADER 33,748 -#define DASD_FBA_CCW_WRITE 35,784 -#define DASD_FBA_CCW_READ 36,816 -#define DASD_FBA_CCW_LOCATE 37,847 -#define DASD_FBA_CCW_DEFINE_EXTENT 38,880 -static struct dasd_discipline dasd_fba_discipline;42,945 -struct dasd_fba_private dasd_fba_private44,997 -static struct ccw_device_id dasd_fba_ids[48,1070 -static struct ccw_driver dasd_fba_driver;56,1316 -dasd_fba_probe(58,1385 -dasd_fba_set_online(70,1595 -static struct ccw_driver dasd_fba_driver 75,1707 -define_extent(87,2047 -locate_record(107,2533 -dasd_fba_check_characteristics(126,2987 -dasd_fba_do_analysis(165,4037 -dasd_fba_fill_geometry(186,4637 -dasd_fba_examine_error(197,4938 -dasd_fba_erp_action(219,5459 -dasd_fba_erp_postaction(225,5565 -dasd_fba_build_cp(236,5815 -dasd_fba_free_cp(359,9628 -dasd_fba_fill_info(407,10848 -dasd_fba_dump_sense(422,11289 -static struct dasd_discipline dasd_fba_discipline 455,12518 -dasd_fba_init(475,13110 -dasd_fba_cleanup(490,13334 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_3990_erp.c,1497 -#define PRINTK_HEADER 16,421 -struct DCTL_data DCTL_data22,510 -dasd_3990_erp_examine_24(53,1481 -dasd_3990_erp_examine_32(110,2928 -dasd_3990_erp_examine(148,3759 -dasd_3990_erp_cleanup(207,5314 -dasd_3990_erp_block_queue(226,5777 -dasd_3990_erp_int_req(253,6346 -dasd_3990_erp_alternate_path(295,7330 -dasd_3990_erp_DCTL(346,8721 -dasd_3990_erp_action_1(407,10215 -dasd_3990_erp_action_4(436,10900 -dasd_3990_erp_action_5(500,12480 -dasd_3990_handle_env_data(526,12963 -dasd_3990_erp_com_rej(1150,29712 -dasd_3990_erp_bus_out(1191,30596 -dasd_3990_erp_equip_check(1230,31478 -dasd_3990_erp_data_check(1292,32931 -dasd_3990_erp_overrun(1351,34356 -dasd_3990_erp_inv_format(1380,34955 -dasd_3990_erp_EOC(1421,35857 -dasd_3990_erp_env_data(1446,36431 -dasd_3990_erp_no_rec(1483,37168 -dasd_3990_erp_file_prot(1510,37864 -dasd_3990_erp_inspect_24(1536,38483 -dasd_3990_erp_action_10_32(1616,40891 -dasd_3990_erp_action_1B_32(1650,41805 -dasd_3990_update_1B(1796,45565 -dasd_3990_erp_compound_retry(1909,48219 -dasd_3990_erp_compound_path(1953,49001 -dasd_3990_erp_compound_code(1989,49713 -dasd_3990_erp_compound_config(2037,50690 -dasd_3990_erp_compound(2073,51586 -dasd_3990_erp_inspect_32(2120,52648 -dasd_3990_erp_inspect(2234,55771 -dasd_3990_erp_add_erp(2274,56787 -dasd_3990_erp_additional_erp(2336,58448 -dasd_3990_erp_error_match(2373,59328 -dasd_3990_erp_in_erp(2409,60250 -dasd_3990_erp_further_erp(2453,61393 -dasd_3990_erp_handle_match_erp(2542,63784 -dasd_3990_erp_action(2623,65876 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dcssblk.c,1078 -#define DCSSBLK_NAME 21,525 -#define DCSSBLK_MINORS_PER_DISK 22,556 -#define DCSSBLK_PARM_LEN 23,590 -#define PRINT_DEBUG(PRINT_DEBUG26,641 -#define PRINT_DEBUG(PRINT_DEBUG28,718 -#define PRINT_INFO(PRINT_INFO30,767 -#define PRINT_WARN(PRINT_WARN31,836 -#define PRINT_ERR(PRINT_ERR32,911 -static char dcssblk_segments[39,1191 -static int dcssblk_major;41,1247 -static struct block_device_operations dcssblk_devops 42,1273 -static struct device *dcssblk_root_dev;66,2235 -struct dcssblk_dev_info dcssblk_dev_info68,2276 -static struct list_head dcssblk_devices 82,2577 -static struct rw_semaphore dcssblk_devices_sem;83,2652 -dcssblk_release_segment(89,2760 -dcssblk_assign_free_minor(103,3138 -dcssblk_get_device_by_name(130,3784 -dcssblk_shared_show(147,4109 -dcssblk_shared_store(156,4337 -dcssblk_save_show(270,7694 -dcssblk_save_store(279,7923 -dcssblk_add_store(325,9236 -dcssblk_remove_store(500,13651 -dcssblk_open(559,15003 -dcssblk_release(577,15323 -dcssblk_make_request(602,15896 -dcssblk_check_params(649,17127 -dcssblk_exit(693,18171 -dcssblk_init(707,18451 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_diag.c,689 -#define PRINTK_HEADER 34,863 -struct dasd_discipline dasd_diag_discipline;38,924 -struct dasd_diag_private dasd_diag_private40,970 -struct dasd_diag_req dasd_diag_req47,1129 -dia250(53,1226 -mdsk_init_io(82,1839 -mdsk_term_io(104,2362 -dasd_start_diag(119,2734 -dasd_ext_handler(154,3624 -dasd_diag_check_device(221,5439 -dasd_diag_fill_geometry(317,8115 -dasd_diag_examine_error(328,8417 -dasd_diag_erp_action(334,8537 -dasd_diag_erp_postaction(340,8644 -dasd_diag_build_cp(346,8767 -dasd_diag_free_cp(417,10697 -dasd_diag_fill_info(427,10887 -dasd_diag_dump_sense(445,11444 -struct dasd_discipline dasd_diag_discipline 476,12521 -dasd_diag_init(494,13046 -dasd_diag_cleanup(511,13428 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_genhd.c,205 -#define PRINTK_HEADER 23,610 -dasd_gendisk_alloc(31,738 -dasd_gendisk_free(88,2331 -dasd_scan_partitions(100,2521 -dasd_destroy_partitions(133,3579 -dasd_gendisk_init(166,4559 -dasd_gendisk_exit(182,4824 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_erp.c,237 -#define PRINTK_HEADER 22,571 -dasd_alloc_erp_request(27,651 -dasd_free_erp_request(76,2084 -dasd_default_erp_action(93,2547 -dasd_default_erp_postaction(130,3641 -hex_dump_memory(171,4571 -dasd_log_sense(185,4838 -dasd_log_ccw(196,5093 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_diag.h,404 -#define MDSK_WRITE_REQ 12,379 -#define MDSK_READ_REQ 13,407 -#define INIT_BIO 15,436 -#define RW_BIO 16,458 -#define TERM_BIO 17,479 -#define DEV_CLASS_FBA 19,502 -#define DEV_CLASS_ECKD 20,529 -struct dasd_diag_characteristics dasd_diag_characteristics22,558 -struct dasd_diag_bio dasd_diag_bio35,791 -struct dasd_diag_init_io dasd_diag_init_io44,933 -struct dasd_diag_rw_io dasd_diag_rw_io54,1111 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_devmap.c,1201 -#define PRINTK_HEADER 25,748 -kmem_cache_t *dasd_page_cache;29,809 -struct dasd_devmap dasd_devmap42,1354 -int dasd_probeonly 64,2036 -int dasd_autodetect 65,2106 -static char *dasd[72,2378 -static spinlock_t dasd_devmap_lock 77,2469 -static struct list_head dasd_hashlists[82,2571 -int dasd_max_devindex;83,2616 -dasd_hash_busid(88,2715 -dasd_call_setup(105,3087 -dasd_busid(121,3329 -dasd_feature_list(167,4476 -dasd_parse_keyword(216,5586 -dasd_parse_range(264,7063 -dasd_parse_next_element(310,8136 -dasd_parse(328,8783 -dasd_add_busid(361,9515 -dasd_find_busid(398,10359 -dasd_busid_known(420,10801 -dasd_forget_ranges(430,11028 -dasd_device_from_devindex(451,11429 -dasd_devmap_from_cdev(480,12099 -dasd_create_device(494,12402 -dasd_delete_device(547,13574 -dasd_put_device_wake(589,14664 -dasd_device_from_cdev(598,14827 -dasd_ro_show(622,15277 -dasd_ro_store(636,15617 -dasd_use_diag_show(668,16428 -dasd_use_diag_store(682,16764 -dasd_discipline_show(706,17368 -static struct attribute * dasd_attrs[722,17799 -static struct attribute_group dasd_attr_group 729,17933 -dasd_add_sysfs_files(734,18013 -dasd_remove_sysfs_files(740,18132 -dasd_devmap_init(747,18247 -dasd_devmap_exit(760,18427 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_proc.c,719 -#define PRINTK_HEADER 24,626 -static struct proc_dir_entry *dasd_proc_root_entry 28,685 -static struct proc_dir_entry *dasd_devices_entry 29,744 -static struct proc_dir_entry *dasd_statistics_entry 30,801 -dasd_get_user_string(33,883 -dasd_devices_show(53,1330 -static void *dasd_devices_start(119,3007 -static void *dasd_devices_next(126,3168 -static void dasd_devices_stop(132,3291 -static struct seq_operations dasd_devices_seq_ops 136,3355 -static int dasd_devices_open(143,3531 -static struct file_operations dasd_devices_file_ops 148,3652 -dasd_calc_metrics(156,3827 -dasd_statistics_array(169,4076 -dasd_statistics_read(183,4323 -dasd_statistics_write(242,6731 -dasd_proc_init(293,8304 -dasd_proc_exit(312,8960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/xpram.c,1268 -#define XPRAM_NAME 42,1264 -#define XPRAM_DEVS 43,1291 -#define XPRAM_MAX_DEVS 44,1332 -#define PRINT_DEBUG(PRINT_DEBUG46,1404 -#define PRINT_INFO(PRINT_INFO47,1472 -#define PRINT_WARN(PRINT_WARN48,1537 -#define PRINT_ERR(PRINT_ERR49,1608 -static struct sysdev_class xpram_sysclass 52,1675 -static struct sys_device xpram_sys_device 56,1750 -} xpram_device_t;xpram_device_t64,1968 -static xpram_device_t xpram_devices[66,1987 -static unsigned int xpram_sizes[67,2040 -static struct gendisk *xpram_disks[68,2089 -static unsigned int xpram_pages;69,2141 -static int xpram_devs;70,2174 -static int devs 75,2237 -static unsigned int sizes[76,2267 -static unsigned int sizes_count;77,2310 -static int __init xpram_setup 114,3685 -static int xpram_page_in 154,4878 -static long xpram_page_out 202,6236 -static int __init xpram_present(243,7135 -static unsigned long __init xpram_highest_page_index(259,7442 -static int xpram_make_request(284,7937 -static int xpram_ioctl 332,9155 -static struct block_device_operations xpram_devops 353,9767 -static int __init xpram_setup_sizes(362,9907 -static struct request_queue *xpram_queue;426,11565 -static int __init xpram_setup_blkdev(428,11608 -static void __exit xpram_exit(495,13061 -static int __init xpram_init(509,13392 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_eckd.c,1833 -#define PRINTK_HEADER 36,914 -#define ECKD_C0(ECKD_C038,951 -#define ECKD_F(ECKD_F39,986 -#define ECKD_F1(ECKD_F140,1017 -#define ECKD_F2(ECKD_F241,1100 -#define ECKD_F3(ECKD_F342,1183 -#define ECKD_F4(ECKD_F443,1266 -#define ECKD_F5(ECKD_F544,1328 -#define ECKD_F6(ECKD_F645,1390 -#define ECKD_F7(ECKD_F746,1422 -#define ECKD_F8(ECKD_F847,1454 -static struct dasd_discipline dasd_eckd_discipline;51,1511 -struct dasd_eckd_private dasd_eckd_private53,1564 -static struct ccw_device_id dasd_eckd_ids[64,1897 -static struct ccw_driver dasd_eckd_driver;80,2665 -dasd_eckd_probe 85,2843 -dasd_eckd_set_online(97,3077 -static struct ccw_driver dasd_eckd_driver 102,3191 -static const int sizes_trk0[113,3517 -#define LABEL_SIZE 114,3566 -round_up_multiple(117,3617 -ceil_quot(124,3763 -bytes_per_record(130,3860 -bytes_per_track(162,4712 -recs_per_track(168,4853 -check_XRC 201,5715 -define_extent(226,6515 -locate_record(311,9010 -dasd_eckd_cdl_special(423,12291 -dasd_eckd_cdl_reclen(440,12643 -dasd_eckd_check_characteristics(448,12755 -dasd_eckd_analysis_ccw(519,14853 -dasd_eckd_analysis_callback(584,16763 -dasd_eckd_start_analysis(597,17113 -dasd_eckd_end_analysis(614,17565 -dasd_eckd_do_analysis(692,19888 -dasd_eckd_fill_geometry(704,20173 -dasd_eckd_format_device(719,20618 -dasd_eckd_examine_error(902,26157 -dasd_eckd_erp_action(928,26801 -dasd_eckd_erp_postaction(948,27211 -dasd_eckd_build_cp(954,27334 -dasd_eckd_free_cp(1100,32147 -dasd_eckd_fill_info(1152,33528 -dasd_eckd_release(1180,34393 -dasd_eckd_reserve(1224,35510 -dasd_eckd_steal_lock(1267,36572 -dasd_eckd_performance(1308,37524 -dasd_eckd_get_attrib 1376,39540 -dasd_eckd_set_attrib(1406,40309 -dasd_eckd_dump_sense(1439,41027 -static struct dasd_discipline dasd_eckd_discipline 1522,43888 -dasd_eckd_init(1543,44535 -dasd_eckd_cleanup(1584,45753 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_9343_erp.c,60 -#define PRINTK_HEADER 10,266 -dasd_9343_erp_examine(15,340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_cmb.c,184 -dasd_ioctl_cmf_enable(34,1091 -dasd_ioctl_cmf_disable(46,1311 -dasd_ioctl_readall_cmb(58,1533 -ioctl_reg(85,2215 -ioctl_unreg(101,2534 -dasd_cmf_exit(111,2723 -dasd_cmf_init(119,2936 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/block/dasd_3370_erp.c,60 -#define PRINTK_HEADER 10,265 -dasd_3370_erp_examine(32,790 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/ctctty.c,1870 -#define CTC_TTY_MAJOR 36,1209 -#define CTC_TTY_MAX_DEVICES 37,1240 -#define CTC_ASYNC_MAGIC 39,1272 -#define CTC_ASYNC_INITIALIZED 40,1351 -#define CTC_ASYNC_NORMAL_ACTIVE 41,1430 -#define CTC_ASYNC_CLOSING 42,1509 -#define CTC_ASYNC_CTS_FLOW 43,1588 -#define CTC_ASYNC_CHECK_CD 44,1667 -#define CTC_ASYNC_HUP_NOTIFY 45,1746 -#define CTC_ASYNC_NETDEV_OPEN 46,1825 -#define CTC_ASYNC_TX_LINESTAT 47,1904 -#define CTC_ASYNC_SPLIT_TERMIOS 48,1983 -#define CTC_TTY_XMIT_SIZE 49,2062 -#define CTC_SERIAL_XMIT_MAX 50,2141 -} ctc_tty_info;ctc_tty_info71,3138 -} ctc_tty_driver;ctc_tty_driver77,3356 -static ctc_tty_driver *driver;79,3375 -#define MODEM_PARANOIA_CHECK82,3463 -#define MODEM_DO_RESTART83,3492 -#define CTC_TTY_NAME 85,3518 -static __u32 ctc_tty_magic 87,3549 -static int ctc_tty_shuttingdown 88,3595 -static spinlock_t ctc_tty_lock;90,3633 -ctc_tty_try_read(102,3985 -ctc_tty_readmodem(133,4741 -ctc_tty_setcarrier(168,5532 -ctc_tty_netif_rx(188,5982 -ctc_tty_tint(251,7372 -ctc_tty_paranoia_check(325,9168 -ctc_tty_inject(343,9578 -ctc_tty_transmit_status(367,10129 -ctc_tty_change_speed(377,10336 -ctc_tty_startup(420,11212 -ctc_tty_stopdev(447,11870 -ctc_tty_shutdown(463,12273 -ctc_tty_write(492,13377 -ctc_tty_write_room(551,14674 -ctc_tty_chars_in_buffer(561,14898 -ctc_tty_flush_buffer(571,15117 -ctc_tty_flush_chars(596,15730 -ctc_tty_throttle(619,16394 -ctc_tty_unthrottle(633,16741 -ctc_tty_get_lsr_info(663,17737 -static int ctc_tty_tiocmget(679,18089 -ctc_tty_tiocmset(707,18907 -ctc_tty_ioctl(734,19553 -ctc_tty_set_termios(805,21582 -ctc_tty_block_til_ready(841,22677 -ctc_tty_open(946,25598 -ctc_tty_close(995,26790 -ctc_tty_hangup(1084,29490 -ctc_tty_task(1106,30051 -static struct tty_operations ctc_ops 1126,30504 -ctc_tty_init(1144,30999 -ctc_tty_register_netdev(1205,32743 -ctc_tty_unregister_netdev(1253,33907 -ctc_tty_cleanup(1274,34397 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/ctcdbug.h,752 -#define CTC_DBF_SETUP_NAME 34,1047 -#define CTC_DBF_SETUP_LEN 35,1086 -#define CTC_DBF_SETUP_INDEX 36,1115 -#define CTC_DBF_SETUP_NR_AREAS 37,1145 -#define CTC_DBF_SETUP_LEVEL 38,1178 -#define CTC_DBF_DATA_NAME 40,1209 -#define CTC_DBF_DATA_LEN 41,1246 -#define CTC_DBF_DATA_INDEX 42,1275 -#define CTC_DBF_DATA_NR_AREAS 43,1304 -#define CTC_DBF_DATA_LEVEL 44,1336 -#define CTC_DBF_TRACE_NAME 46,1366 -#define CTC_DBF_TRACE_LEN 47,1405 -#define CTC_DBF_TRACE_INDEX 48,1434 -#define CTC_DBF_TRACE_NR_AREAS 49,1464 -#define CTC_DBF_TRACE_LEVEL 50,1497 -#define DBF_TEXT(DBF_TEXT52,1528 -#define DBF_HEX(DBF_HEX57,1635 -#define DBF_TEXT_(DBF_TEXT_68,1913 -#define DBF_SPRINTF(DBF_SPRINTF76,2181 -#define HEXDUMP16(HEXDUMP1691,2463 -hex_dump(112,3486 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/cu3088.h,319 -#define _CU3088_H2,18 -enum channel_types channel_types7,87 - channel_type_none,9,147 - channel_type_parallel,12,200 - channel_type_escon,15,258 - channel_type_ficon,18,313 - channel_type_p390,21,368 - channel_type_osa2,24,418 - channel_type_unknown,28,507 - channel_type_unsupported,31,569 - num_channel_types34,627 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/cu3088.c,358 -const char *cu3088_type[35,1104 -static struct ccw_device_id cu3088_ids[48,1317 -static struct ccw_driver cu3088_driver;57,1720 -struct device *cu3088_root_dev;59,1761 -group_write(62,1809 -register_cu3088_discipline(96,2570 -unregister_cu3088_discipline(117,2884 -static struct ccw_driver cu3088_driver 126,3058 -cu3088_init 136,3299 -cu3088_exit 151,3581 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth_mpc.c,388 -const char *VERSION_QETH_MPC_C 14,285 -unsigned char IDX_ACTIVATE_READ[16,340 -unsigned char IDX_ACTIVATE_WRITE[24,563 -unsigned char CM_ENABLE[32,787 -unsigned char CM_SETUP[51,1355 -unsigned char ULP_ENABLE[71,1929 -unsigned char ULP_SETUP[91,2541 -unsigned char DM_ACT[113,3160 -unsigned char IPA_PDU_HEADER[129,3648 -unsigned char WRITE_CCW[149,4310 -unsigned char READ_CCW[154,4375 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth_proc.c,1448 -const char *VERSION_QETH_PROC_C 24,486 -#define QETH_PROCFILE_NAME 27,567 -static struct proc_dir_entry *qeth_procfile;28,601 -qeth_procfile_seq_start(31,661 -qeth_procfile_seq_stop(50,1048 -qeth_procfile_seq_next(56,1178 -qeth_get_router_str(78,1751 -qeth_procfile_seq_show(115,2672 -static struct seq_operations qeth_procfile_seq_ops 153,3840 -qeth_procfile_open(161,4047 -static struct file_operations qeth_procfile_fops 166,4159 -#define QETH_PERF_PROCFILE_NAME 175,4373 -static struct proc_dir_entry *qeth_perf_procfile;176,4417 -qeth_perf_procfile_seq_start(181,4513 -qeth_perf_procfile_seq_stop(197,4866 -qeth_perf_procfile_seq_next(203,5001 -qeth_perf_procfile_seq_show(214,5298 -static struct seq_operations qeth_perf_procfile_seq_ops 281,7952 -qeth_perf_procfile_open(289,8184 -static struct file_operations qeth_perf_procfile_fops 294,8306 -#define qeth_perf_procfile_created 302,8500 -#define qeth_perf_procfile_created 304,8560 -#define QETH_IPATO_PROCFILE_NAME 308,8672 -static struct proc_dir_entry *qeth_ipato_procfile;309,8725 -qeth_ipato_procfile_seq_start(312,8791 -qeth_ipato_procfile_seq_stop(334,9311 -qeth_ipato_procfile_seq_next(340,9447 -qeth_ipato_procfile_seq_show(357,9911 -static struct seq_operations qeth_ipato_procfile_seq_ops 374,10286 -qeth_ipato_procfile_open(382,10523 -static struct file_operations qeth_ipato_procfile_fops 387,10647 -qeth_create_procfs_entries(396,10854 -qeth_remove_procfs_entries(424,11615 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth.h,9500 -#define __QETH_H__2,19 -#define VERSION_QETH_H 26,442 -#define QETH_VERSION_IPV6 29,513 -#define QETH_VERSION_IPV6 31,554 -#define QETH_VERSION_VLAN 34,615 -#define QETH_VERSION_VLAN 36,656 -#define QETH_DBF_SETUP_NAME 42,726 -#define QETH_DBF_SETUP_LEN 43,767 -#define QETH_DBF_SETUP_INDEX 44,796 -#define QETH_DBF_SETUP_NR_AREAS 45,827 -#define QETH_DBF_SETUP_LEVEL 46,861 -#define QETH_DBF_MISC_NAME 48,893 -#define QETH_DBF_MISC_LEN 49,932 -#define QETH_DBF_MISC_INDEX 50,962 -#define QETH_DBF_MISC_NR_AREAS 51,992 -#define QETH_DBF_MISC_LEVEL 52,1025 -#define QETH_DBF_DATA_NAME 54,1056 -#define QETH_DBF_DATA_LEN 55,1095 -#define QETH_DBF_DATA_INDEX 56,1124 -#define QETH_DBF_DATA_NR_AREAS 57,1154 -#define QETH_DBF_DATA_LEVEL 58,1187 -#define QETH_DBF_CONTROL_NAME 60,1218 -#define QETH_DBF_CONTROL_LEN 61,1263 -#define QETH_DBF_CONTROL_INDEX 62,1296 -#define QETH_DBF_CONTROL_NR_AREAS 63,1329 -#define QETH_DBF_CONTROL_LEVEL 64,1365 -#define QETH_DBF_TRACE_NAME 66,1399 -#define QETH_DBF_TRACE_LEN 67,1440 -#define QETH_DBF_TRACE_INDEX 68,1469 -#define QETH_DBF_TRACE_NR_AREAS 69,1500 -#define QETH_DBF_TRACE_LEVEL 70,1534 -#define QETH_DBF_SENSE_NAME 72,1566 -#define QETH_DBF_SENSE_LEN 73,1607 -#define QETH_DBF_SENSE_INDEX 74,1637 -#define QETH_DBF_SENSE_NR_AREAS 75,1668 -#define QETH_DBF_SENSE_LEVEL 76,1702 -#define QETH_DBF_QERR_NAME 78,1734 -#define QETH_DBF_QERR_LEN 79,1773 -#define QETH_DBF_QERR_INDEX 80,1801 -#define QETH_DBF_QERR_NR_AREAS 81,1831 -#define QETH_DBF_QERR_LEVEL 82,1864 -#define QETH_DBF_TEXT(QETH_DBF_TEXT84,1895 -#define QETH_DBF_HEX(QETH_DBF_HEX89,2008 -#define QETH_DBF_TEXT_(QETH_DBF_TEXT_96,2185 -#define QETH_DBF_SPRINTF(QETH_DBF_SPRINTF104,2449 -#define PRINTK_HEADER 113,2663 -#define HEXDUMP16(HEXDUMP16115,2696 -qeth_hex_dump(136,3719 -#define SENSE_COMMAND_REJECT_BYTE 148,3899 -#define SENSE_COMMAND_REJECT_FLAG 149,3935 -#define SENSE_RESETTING_EVENT_BYTE 150,3974 -#define SENSE_RESETTING_EVENT_FLAG 151,4011 -#define atomic_swap(atomic_swap153,4052 -#define CARD_RDEV(CARD_RDEV162,4276 -#define CARD_WDEV(CARD_WDEV163,4318 -#define CARD_DDEV(CARD_DDEV164,4361 -#define CARD_BUS_ID(CARD_BUS_ID165,4403 -#define CARD_RDEV_ID(CARD_RDEV_ID166,4452 -#define CARD_WDEV_ID(CARD_WDEV_ID167,4509 -#define CARD_DDEV_ID(CARD_DDEV_ID168,4567 -#define CHANNEL_ID(CHANNEL_ID169,4624 -#define CARD_FROM_CDEV(CARD_FROM_CDEV171,4681 -struct qeth_perf_stats qeth_perf_stats179,4860 -struct qeth_routing_info qeth_routing_info212,5929 -struct qeth_ipa_info qeth_ipa_info217,6007 -qeth_is_ipa_supported(223,6098 -qeth_is_ipa_enabled(229,6235 -#define qeth_adp_supported(qeth_adp_supported234,6373 -#define qeth_adp_enabled(qeth_adp_enabled236,6450 -#define qeth_is_supported(qeth_is_supported238,6523 -#define qeth_is_enabled(qeth_is_enabled240,6600 -#define qeth_is_supported6(qeth_is_supported6243,6697 -#define qeth_is_enabled6(qeth_is_enabled6245,6775 -#define qeth_is_supported6(qeth_is_supported6248,6878 -#define qeth_is_enabled6(qeth_is_enabled6249,6912 -#define qeth_is_ipafunc_supported(qeth_is_ipafunc_supported251,6974 -#define qeth_is_ipafunc_enabled(qeth_is_ipafunc_enabled253,7093 -#define QETH_IDX_FUNC_LEVEL_OSAE_ENA_IPAT 257,7208 -#define QETH_IDX_FUNC_LEVEL_OSAE_DIS_IPAT 258,7257 -#define QETH_IDX_FUNC_LEVEL_IQD_ENA_IPAT 259,7306 -#define QETH_IDX_FUNC_LEVEL_IQD_DIS_IPAT 260,7354 -#define QETH_MODELLIST_ARRAY 262,7403 -#define QETH_REAL_CARD 273,7759 -#define QETH_VLAN_CARD 274,7785 -#define QETH_BUFSIZE 275,7811 -#define IF_NAME_LEN 280,7866 -#define QETH_TX_TIMEOUT 281,7891 -#define QETH_HEADER_SIZE 282,7925 -#define MAX_PORTNO 283,7953 -#define QETH_FAKE_LL_LEN 284,7977 -#define QETH_FAKE_LL_V6_ADDR_POS 285,8012 -#define UNIQUE_ID_IF_CREATE_ADDR_FAILED 288,8090 -#define UNIQUE_ID_NOT_BY_CARD 289,8137 -#define QETH_MAX_QUEUES 294,8418 -#define QETH_IN_BUF_SIZE_DEFAULT 295,8444 -#define QETH_IN_BUF_COUNT_DEFAULT 296,8483 -#define QETH_IN_BUF_COUNT_MIN 297,8520 -#define QETH_IN_BUF_COUNT_MAX 298,8552 -#define QETH_MAX_BUFFER_ELEMENTS(QETH_MAX_BUFFER_ELEMENTS299,8586 -#define QETH_IN_BUF_REQUEUE_THRESHOLD(QETH_IN_BUF_REQUEUE_THRESHOLD300,8658 -#define QETH_PCI_THRESHOLD_A(QETH_PCI_THRESHOLD_A304,8803 -#define QETH_PCI_THRESHOLD_B(QETH_PCI_THRESHOLD_B306,8928 -#define QETH_PCI_TIMER_VALUE(QETH_PCI_TIMER_VALUE308,9012 -#define QETH_MIN_INPUT_THRESHOLD 310,9050 -#define QETH_MAX_INPUT_THRESHOLD 311,9085 -#define QETH_MIN_OUTPUT_THRESHOLD 312,9122 -#define QETH_MAX_OUTPUT_THRESHOLD 313,9158 -#define QETH_PRIOQ_DEFAULT 316,9219 -#define QETH_DEFAULT_QUEUE 317,9268 -#define QETH_NO_PRIO_QUEUEING 318,9300 -#define QETH_PRIO_Q_ING_PREC 319,9332 -#define QETH_PRIO_Q_ING_TOS 320,9364 -#define IP_TOS_LOWDELAY 321,9396 -#define IP_TOS_HIGHTHROUGHPUT 322,9425 -#define IP_TOS_HIGHRELIABILITY 323,9460 -#define IP_TOS_NOTIMPORTANT 324,9496 -#define QETH_LOW_WATERMARK_PACK 327,9544 -#define QETH_HIGH_WATERMARK_PACK 328,9579 -#define QETH_WATERMARK_PACK_FUZZ 329,9614 -#define QETH_IP_HEADER_SIZE 331,9650 -#define QETH_EXT_HDR_VLAN_FRAME 333,9700 -#define QETH_EXT_HDR_TOKEN_ID 334,9744 -#define QETH_EXT_HDR_INCLUDE_VLAN_TAG 335,9788 -struct qeth_hdr qeth_hdr337,9833 -#define QETH_HDR_PASSTHRU 351,10085 -#define QETH_HDR_IPV6 352,10116 -#define QETH_HDR_CAST_MASK 353,10147 -enum qeth_cast_flags qeth_cast_flags354,10179 - QETH_CAST_UNICAST 355,10202 - QETH_CAST_UNICAST = 0x06,355,10202 - QETH_CAST_MULTICAST 356,10231 - QETH_CAST_MULTICAST = 0x04,356,10231 - QETH_CAST_BROADCAST 357,10260 - QETH_CAST_BROADCAST = 0x05,357,10260 - QETH_CAST_ANYCAST 358,10289 - QETH_CAST_ANYCAST = 0x07,358,10289 - QETH_CAST_NOCAST 359,10318 - QETH_CAST_NOCAST = 0x00,359,10318 -#define QETH_HDR_EXT_VLAN_FRAME 363,10386 -#define QETH_HDR_EXT_CSUM_HDR_REQ 364,10428 -#define QETH_HDR_EXT_CSUM_TRANSP_REQ 365,10470 -#define QETH_HDR_EXT_SRC_MAC_ADDR 366,10512 -qeth_is_last_sbale(369,10573 -enum qeth_qdio_buffer_states qeth_qdio_buffer_states374,10680 - QETH_QDIO_BUF_EMPTY,379,10845 - QETH_QDIO_BUF_PRIMED,384,11019 -enum qeth_qdio_info_states qeth_qdio_info_states387,11046 - QETH_QDIO_UNINITIALIZED,388,11075 - QETH_QDIO_ALLOCATED,389,11101 - QETH_QDIO_ESTABLISHED,390,11123 -struct qeth_buffer_pool_entry qeth_buffer_pool_entry393,11151 -struct qeth_qdio_buffer_pool qeth_qdio_buffer_pool399,11287 -struct qeth_qdio_buffer qeth_qdio_buffer404,11368 -struct qeth_qdio_q qeth_qdio_q411,11582 -struct qeth_qdio_out_buffer qeth_qdio_out_buffer421,11919 -enum qeth_out_q_states qeth_out_q_states430,12085 - QETH_OUT_Q_UNLOCKED,431,12110 - QETH_OUT_Q_LOCKED,432,12138 - QETH_OUT_Q_LOCKED_FLUSH,433,12164 -struct qeth_qdio_out_q qeth_qdio_out_q436,12200 -struct qeth_qdio_info qeth_qdio_info456,12796 -enum qeth_send_errors qeth_send_errors473,13152 - QETH_SEND_ERROR_NONE,474,13176 - QETH_SEND_ERROR_LINK_FAILURE,475,13199 - QETH_SEND_ERROR_RETRY,476,13230 - QETH_SEND_ERROR_KICK_IT,477,13254 -#define QETH_ETH_MAC_V4 480,13284 -#define QETH_ETH_MAC_V6 481,13334 -#define QETH_TR_MAC_NC 483,13455 -#define QETH_TR_MAC_C 484,13511 -#define DEFAULT_ADD_HHLEN 486,13564 -#define MAX_ADD_HHLEN 487,13592 -#define QETH_CMD_BUFFER_NO 492,13661 -enum qeth_channel_states qeth_channel_states497,13725 - CH_STATE_UP,498,13752 - CH_STATE_DOWN,499,13766 - CH_STATE_ACTIVATING,500,13782 - CH_STATE_HALTED,501,13804 - CH_STATE_STOPPED,502,13822 -enum qeth_card_states qeth_card_states507,13874 - CARD_STATE_DOWN,508,13898 - CARD_STATE_HARDSETUP,509,13916 - CARD_STATE_SOFTSETUP,510,13939 - CARD_STATE_UP,511,13962 - CARD_STATE_RECOVER,512,13978 -enum qeth_prot_versions qeth_prot_versions518,14032 - QETH_PROT_SNA 519,14058 - QETH_PROT_SNA = 0x0001,519,14058 - QETH_PROT_IPV4 520,14084 - QETH_PROT_IPV4 = 0x0004,520,14084 - QETH_PROT_IPV6 521,14110 - QETH_PROT_IPV6 = 0x0006,521,14110 -enum qeth_ip_types qeth_ip_types524,14140 - QETH_IP_TYPE_NORMAL,525,14161 - QETH_IP_TYPE_VIPA,526,14183 - QETH_IP_TYPE_RXIP,527,14203 - QETH_IP_TYPE_DEL_ALL_MC,528,14223 -enum qeth_cmd_buffer_state qeth_cmd_buffer_state531,14253 - BUF_STATE_FREE,532,14282 - BUF_STATE_LOCKED,533,14299 - BUF_STATE_PROCESSED,534,14318 -struct qeth_ipaddr qeth_ipaddr539,14384 -struct qeth_ipato_entry qeth_ipato_entry560,14794 -struct qeth_ipato qeth_ipato567,14913 -struct qeth_cmd_buffer qeth_cmd_buffer576,15028 -struct qeth_channel qeth_channel588,15289 -struct qeth_token qeth_token605,15675 -struct qeth_seqno qeth_seqno618,15919 -struct qeth_reply qeth_reply625,16009 -#define QETH_BROADCAST_WITH_ECHO 638,16273 -#define QETH_BROADCAST_WITHOUT_ECHO 639,16311 -struct qeth_card_info qeth_card_info641,16350 -struct qeth_card_options qeth_card_options662,16787 -enum qeth_threads qeth_threads681,17220 - QETH_SET_IP_THREAD 682,17240 - QETH_RECOVER_THREAD 683,17266 -struct qeth_card qeth_card686,17296 -struct qeth_card_list_struct qeth_card_list_struct728,18361 -struct qeth_notify_list_struct qeth_notify_list_struct736,18510 -qeth_get_ipa_adp_type(747,18735 -qeth_get_hlen(758,18898 -qeth_get_netdev_flags(782,19429 -qeth_get_initial_mtu_for_card(798,19647 -qeth_get_max_mtu_for_card(819,20048 -qeth_get_mtu_out_of_mpc(834,20291 -qeth_get_mtu_outof_framesize(845,20436 -qeth_mtu_is_valid(862,20669 -qeth_get_arphdr_type(877,20994 -qeth_get_micros(896,21355 -qeth_get_qdio_q_format(903,21442 -qeth_ipaddr4_to_string(914,21604 -qeth_string_to_ipaddr4(920,21745 -qeth_ipaddr6_to_string(945,22223 -qeth_string_to_ipaddr6(956,22576 -qeth_ipaddr_to_string(983,23103 -qeth_string_to_ipaddr(993,23369 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth_main.c,9447 -qeth_eyecatcher(37,1175 -#define VERSION_QETH_C 82,2096 -static const char *version 83,2140 -static debug_info_t *qeth_dbf_setup 88,2235 -static debug_info_t *qeth_dbf_data 89,2279 -static debug_info_t *qeth_dbf_misc 90,2322 -static debug_info_t *qeth_dbf_control 91,2365 -static debug_info_t *qeth_dbf_trace 92,2411 -static debug_info_t *qeth_dbf_sense 93,2455 -static debug_info_t *qeth_dbf_qerr 94,2499 -static unsigned int known_devices[101,2639 -struct qeth_card_list_struct qeth_card_list;104,2728 -spinlock_t qeth_notify_lock;106,2810 -struct list_head qeth_notify_list;107,2839 -qeth_notify_processes(167,4053 -qeth_notifier_unregister(181,4379 -qeth_notifier_register(199,4765 -qeth_clean_channel(232,5543 -qeth_free_card(245,5758 -qeth_setup_channel(264,6173 -qeth_alloc_card(299,7078 -__qeth_check_irb_error(323,7589 -qeth_get_problem(349,8265 -qeth_irq(399,9526 -qeth_irq_tasklet(489,11674 -qeth_set_offline(514,12273 -qeth_remove_device(538,12949 -__qeth_ref_ip_on_card(584,14455 -__qeth_address_exists_in_list(631,15677 -__qeth_insert_ip_todo(662,16697 -qeth_delete_ip(722,18395 -qeth_add_ip(741,18883 -__qeth_delete_all_mc(760,19376 -qeth_set_ip_addr_list(779,19809 -qeth_set_thread_start_bit(845,21694 -qeth_clear_thread_start_bit(861,22133 -qeth_clear_thread_running_bit(872,22418 -__qeth_do_run_thread(883,22713 -qeth_do_run_thread(903,23203 -qeth_register_ip_addresses(913,23390 -qeth_recover(929,23766 -qeth_schedule_recovery(959,24597 -qeth_do_start_thread(968,24808 -qeth_start_kernel_thread(984,25239 -qeth_set_intial_options(1000,25664 -qeth_setup_card(1018,26198 -qeth_determine_card_type(1064,27454 -qeth_probe_device(1086,28036 -qeth_get_unitaddr(1142,29337 -qeth_init_tokens(1164,29852 -raw_devno_from_bus_id(1174,30133 -qeth_setup_ccw(1183,30290 -__qeth_get_buffer(1201,30796 -qeth_release_buffer(1225,31346 -qeth_get_buffer(1239,31746 -qeth_wait_for_buffer(1251,32045 -qeth_clear_cmd_buffers(1260,32244 -qeth_idx_activate_get_answer(1274,32520 -qeth_idx_activate_channel(1319,33852 -qeth_peer_func_level(1385,36123 -qeth_idx_write_cb(1395,36309 -qeth_check_idx_response(1427,37181 -qeth_idx_read_cb(1448,37681 -qeth_issue_next_read(1495,39012 -qeth_alloc_reply(1524,39809 -qeth_get_reply(1538,40086 -qeth_put_reply(1545,40217 -qeth_cmd_timeout(1553,40377 -qeth_reset_ip_addresses(1577,40978 -qeth_check_ipa_data(1587,41227 -qeth_clear_ipacmd_list(1647,42767 -qeth_send_control_data_cb(1667,43231 -qeth_send_control_data(1736,44985 -qeth_send_ipa_cmd(1815,47414 -qeth_cm_enable_cb(1835,47915 -qeth_cm_enable(1851,48309 -qeth_cm_setup_cb(1871,48849 -qeth_cm_setup(1888,49242 -qeth_ulp_enable_cb(1910,49881 -qeth_ulp_enable(1954,51171 -__raw_devno_from_bus_id(1981,51915 -qeth_ulp_setup_cb(1988,52035 -qeth_ulp_setup(2004,52438 -qeth_check_for_inbound_error(2032,53331 -qeth_get_skb(2053,53919 -qeth_get_next_skb(2066,54170 -qeth_type_trans(2138,56091 -qeth_rebuild_skb_fake_ll(2172,56954 -qeth_rebuild_skb_vlan(2221,58341 -qeth_rebuild_skb(2237,58744 -qeth_process_inbound_buffer(2284,60013 -qeth_get_buffer_pool_entry(2316,60839 -qeth_init_input_buffer(2331,61215 -qeth_clear_output_buffer(2358,62032 -qeth_queue_input_buffer(2382,62665 -qeth_put_buffer_pool_entry(2432,64398 -qeth_qdio_input_handler(2440,64614 -qeth_handle_send_error(2485,66119 -qeth_flush_buffers(2526,67324 -qeth_switch_to_packing_if_needed(2611,69996 -qeth_switch_to_nonpacking_if_needed(2633,70614 -qeth_flush_buffers_on_no_pci(2669,71634 -qeth_check_outbound_queue(2686,72102 -qeth_qdio_output_handler(2723,73273 -qeth_create_qib_param_field(2775,74993 -qeth_initialize_working_pool_list(2798,75627 -qeth_clear_working_pool_list(2811,75906 -qeth_free_buffer_pool(2823,76191 -qeth_alloc_buffer_pool(2838,76612 -qeth_realloc_buffer_pool(2870,77369 -qeth_alloc_qdio_buffers(2887,77848 -qeth_free_qdio_buffers(2945,79576 -qeth_clear_qdio_buffers(2967,80151 -qeth_init_qdio_info(2982,80529 -qeth_init_qdio_queues(2998,81091 -qeth_qdio_establish(3044,82598 -qeth_qdio_activate(3115,84945 -qeth_clear_channel(3122,85082 -qeth_halt_channel(3147,85741 -qeth_halt_channels(3171,86361 -qeth_clear_channels(3183,86624 -qeth_clear_halt_card(3196,86893 -qeth_qdio_clear_card(3211,87163 -qeth_dm_act(3229,87630 -qeth_mpc_initialize(3248,88135 -qeth_get_netdevice(3299,89261 -qeth_hard_start_xmit(3329,89849 -qeth_verify_vlan_dev(3367,90807 -qeth_verify_dev(3388,91144 -qeth_get_card_from_dev(3410,91578 -qeth_tx_timeout(3427,91933 -qeth_open(3437,92112 -qeth_stop(3462,92567 -qeth_get_cast_type(3478,92868 -qeth_get_priority_queue(3521,94077 -qeth_get_ip_version(3554,95093 -qeth_prepare_skb(3567,95266 -qeth_get_qeth_hdr_flags4(3625,97054 -qeth_get_qeth_hdr_flags6(3635,97269 -qeth_fill_header(3648,97609 -qeth_fill_buffer(3699,99314 -qeth_do_send_packet_fast(3762,100986 -qeth_do_send_packet(3796,102057 -qeth_send_packet(3878,104759 -qeth_mdio_read(3928,106036 -qeth_mdio_write(3993,107832 -qeth_arp_get_error_cause(4020,108794 -qeth_arp_set_no_entries(4048,109433 -qeth_copy_arp_entries_stripped(4077,110149 -qeth_arp_query_cb(4096,110681 -qeth_send_ipa_arp_cmd(4179,113444 -qeth_send_ipa_snmp_cmd(4195,113978 -qeth_arp_query(4223,114981 -qeth_snmp_command_cb(4278,116574 -qeth_get_adapter_cmd(4345,118839 -qeth_snmp_command(4365,119402 -qeth_arp_add_entry(4433,121411 -qeth_arp_remove_entry(4476,122651 -qeth_arp_flush_cache(4519,123878 -qeth_do_ioctl(4551,124774 -qeth_get_stats(4654,127156 -qeth_change_mtu(4666,127338 -qeth_vlan_rx_register(4690,127851 -qeth_free_vlan_buffer(4704,128184 -qeth_free_vlan_skbs(4727,128765 -qeth_free_vlan_addresses4(4740,129076 -qeth_free_vlan_addresses6(4769,129751 -#define qeth_free_vlan_addresses6(qeth_free_vlan_addresses64795,130421 -qeth_vlan_rx_kill_vid(4799,130502 -qeth_set_multicast_list(4824,131149 -qeth_neigh_setup(4839,131546 -qeth_ipv6_generate_eui64(4846,131655 -qeth_get_mac_for_ipm(4866,132042 -qeth_get_addr_buffer(4875,132238 -qeth_delete_mc_addresses(4891,132596 -qeth_add_mc(4910,133065 -qeth_add_vlan_mc(4931,133591 -qeth_add_multicast_ipv4(4960,134226 -qeth_add_mc6(4977,134602 -qeth_add_vlan_mc6(4999,135181 -qeth_add_multicast_ipv6(5028,135827 -qeth_fill_ipacmd_header(5048,136243 -qeth_get_ipacmd_buffer(5065,136826 -qeth_send_setdelmc(5079,137184 -qeth_fill_netmask(5101,137819 -qeth_send_setdelip(5116,138049 -qeth_register_addr_entry(5148,138982 -qeth_deregister_addr_entry(5187,140074 -qeth_netdev_init(5221,141068 -qeth_init_func_level(5274,142560 -qeth_hardsetup_card(5297,143089 -qeth_default_setassparms_cb(5380,145160 -qeth_default_setadapterparms_cb(5406,146004 -qeth_query_setadapterparms_cb(5421,146343 -qeth_query_setadapterparms(5438,146905 -qeth_setadpparms_change_macaddr_cb(5451,147252 -qeth_setadpparms_change_macaddr(5467,147669 -qeth_send_setadp_mode(5488,148361 -qeth_setadapter_hstr(5506,148856 -qeth_setadapter_parms(5538,149899 -qeth_send_startstoplan(5574,150772 -qeth_send_startlan(5587,151051 -qeth_send_stoplan(5598,151269 -qeth_query_ipassists_cb(5614,151586 -qeth_query_ipassists(5635,152150 -qeth_get_setassparms_cmd(5648,152488 -qeth_send_setassparms(5669,153111 -qeth_send_simple_setassparms_ipv6(5692,153754 -qeth_send_simple_setassparms(5709,154153 -qeth_start_ipa_arp_processing(5728,154634 -qeth_start_ipa_ip_fragmentation(5750,155124 -qeth_start_ipa_source_mac(5774,155713 -qeth_start_ipa_vlan(5799,156260 -qeth_start_ipa_multicast(5826,156874 -qeth_softsetup_ipv6(5853,157463 -qeth_start_ipa_ipv6(5904,158634 -qeth_start_ipa_broadcast(5921,158949 -qeth_send_checksum_command(5968,160198 -qeth_start_ipa_checksum(5993,160859 -qeth_start_ipassists(6046,162284 -qeth_send_setrouting(6061,162752 -qeth_correct_routing_type(6079,163201 -qeth_setrouting_v4(6120,164254 -qeth_setrouting_v6(6141,164720 -qeth_softsetup_card(6172,165489 -qeth_get_unique_id_cb(6203,166291 -qeth_put_unique_id(6227,166998 -qeth_clear_ip_list(6259,167812 -qeth_set_allowed_threads(6291,168637 -qeth_threads_running(6305,169014 -qeth_wait_for_threads(6317,169300 -qeth_stop_card(6324,169478 -qeth_get_unique_id(6371,170759 -qeth_print_status_with_portname(6400,171517 -qeth_print_status_no_portname(6425,172205 -qeth_print_status_message(6453,173185 -qeth_register_netdev(6491,174268 -qeth_start_again(6508,174609 -qeth_set_online(6519,174793 -static struct ccw_device_id qeth_ids[6595,176843 -struct device *qeth_root_dev 6602,177054 -struct ccwgroup_driver qeth_ccwgroup_driver 6604,177092 -struct ccw_driver qeth_ccw_driver 6614,177336 -qeth_unregister_dbf_views(6623,177494 -qeth_register_dbf_views(6641,177938 -static struct neigh_ops *arp_direct_ops;6705,180155 -static struct neigh_ops arp_direct_ops_template 6708,180258 -qeth_arp_constructor(6720,180531 -qeth_clear_ipato_list(6754,181269 -qeth_add_ipato_entry(6768,181596 -qeth_del_ipato_entry(6795,182284 -qeth_convert_addr_to_bits(6817,182892 -qeth_is_addr_covered_by_ipato(6832,183114 -qeth_add_vipa(6872,184104 -qeth_del_vipa(6914,185300 -qeth_add_rxip(6945,186061 -qeth_del_rxip(6987,187237 -qeth_ip_event(7018,187995 -static struct notifier_block qeth_ip_notifier 7057,188883 -qeth_ip6_event(7067,189021 -static struct notifier_block qeth_ip6_notifier 7110,190010 -qeth_reboot_event(7117,190103 -static struct notifier_block qeth_reboot_notifier 7135,190634 -qeth_register_notifiers(7141,190726 -qeth_unregister_notifiers(7169,191302 -qeth_ipv6_init(7183,191637 -qeth_ipv6_uninit(7202,192053 -qeth_sysfs_unregister(7212,192254 -qeth_sysfs_register(7223,192501 -qeth_init(7248,192931 -__exit qeth_exit(7298,194015 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/ctctty.h,26 -#define _CTCTTY_H_25,963 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/iucv.h,1903 -#define IUCV_DBF_SETUP_NAME 38,1333 -#define IUCV_DBF_SETUP_LEN 39,1374 -#define IUCV_DBF_SETUP_INDEX 40,1404 -#define IUCV_DBF_SETUP_NR_AREAS 41,1435 -#define IUCV_DBF_SETUP_LEVEL 42,1469 -#define IUCV_DBF_DATA_NAME 44,1501 -#define IUCV_DBF_DATA_LEN 45,1540 -#define IUCV_DBF_DATA_INDEX 46,1570 -#define IUCV_DBF_DATA_NR_AREAS 47,1600 -#define IUCV_DBF_DATA_LEVEL 48,1633 -#define IUCV_DBF_TRACE_NAME 50,1664 -#define IUCV_DBF_TRACE_LEN 51,1705 -#define IUCV_DBF_TRACE_INDEX 52,1735 -#define IUCV_DBF_TRACE_NR_AREAS 53,1766 -#define IUCV_DBF_TRACE_LEVEL 54,1800 -#define IUCV_DBF_TEXT(IUCV_DBF_TEXT56,1832 -#define IUCV_DBF_HEX(IUCV_DBF_HEX61,1945 -#define IUCV_DBF_TEXT_(IUCV_DBF_TEXT_68,2122 -#define IUCV_DBF_SPRINTF(IUCV_DBF_SPRINTF76,2400 -#define IUCV_HEXDUMP16(IUCV_HEXDUMP1685,2614 -iucv_hex_dump(106,3642 -#define uchar 121,3852 -#define ushort 122,3881 -#define ulong 123,3911 -#define iucv_handle_t 124,3940 -#define IPLOCAL 136,4514 -#define IPPRTY 137,4538 -#define IPQUSCE 138,4567 -#define IPRMDATA 139,4596 -#define IPNORPY 147,4919 -#define Nonpriority_MessagePendingInterruptsFlag 149,4949 -#define Priority_MessagePendingInterruptsFlag 150,5011 -#define Nonpriority_MessageCompletionInterruptsFlag 151,5073 -#define Priority_MessageCompletionInterruptsFlag 152,5135 -#define IUCVControlInterruptsFlag 153,5197 -#define AllInterrupts 154,5259 -} iucv_ConnectionPending;iucv_ConnectionPending177,6037 -} iucv_ConnectionComplete;iucv_ConnectionComplete190,6233 -} iucv_ConnectionSevered;iucv_ConnectionSevered202,6411 -} iucv_ConnectionQuiesced;iucv_ConnectionQuiesced214,6588 -} iucv_ConnectionResumed;iucv_ConnectionResumed226,6766 - union u1 u1235,6906 -} iucv_MessagePending;iucv_MessagePending243,7029 -} iucv_MessageComplete;iucv_MessageComplete258,7252 -} iucv_interrupt_ops_t;iucv_interrupt_ops_t284,8417 -} iucv_array_t __attribute__ ((aligned aligned293,8619 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/ctcmain.c,6307 -#define CCW_CMD_WRITE 85,2629 -#define CCW_CMD_READ 86,2657 -#define CCW_CMD_SET_EXTENDED 87,2684 -#define CCW_CMD_PREPARE 88,2718 -#define CTC_PROTO_S390 90,2749 -#define CTC_PROTO_LINUX 91,2783 -#define CTC_PROTO_LINUX_TTY 92,2817 -#define CTC_PROTO_OS390 93,2851 -#define CTC_PROTO_MAX 94,2885 -#define CTC_BUFSIZE_LIMIT 96,2920 -#define CTC_BUFSIZE_DEFAULT 97,2958 -#define CTC_TIMEOUT_5SEC 99,2997 -#define CTC_INITIAL_BLOCKLEN 101,3035 -#define READ 103,3070 -#define WRITE 104,3087 -#define CTC_ID_SIZE 106,3106 -struct ctc_profile ctc_profile109,3155 -struct channel channel122,3400 -#define CHANNEL_FLAGS_READ 212,4685 -#define CHANNEL_FLAGS_WRITE 213,4725 -#define CHANNEL_FLAGS_INUSE 214,4765 -#define CHANNEL_FLAGS_BUFSIZE_CHANGED 215,4805 -#define CHANNEL_FLAGS_FAILED 216,4845 -#define CHANNEL_FLAGS_WAITIRQ 217,4885 -#define CHANNEL_FLAGS_RWMASK 218,4925 -#define CHANNEL_DIRECTION(CHANNEL_DIRECTION219,4956 -#define LOG_FLAG_ILLEGALPKT 221,5013 -#define LOG_FLAG_ILLEGALSIZE 222,5044 -#define LOG_FLAG_OVERRUN 223,5075 -#define LOG_FLAG_NOMEM 224,5106 -#define CTC_LOGLEVEL_INFO 226,5138 -#define CTC_LOGLEVEL_NOTICE 227,5170 -#define CTC_LOGLEVEL_WARN 228,5202 -#define CTC_LOGLEVEL_EMERG 229,5234 -#define CTC_LOGLEVEL_ERR 230,5266 -#define CTC_LOGLEVEL_DEBUG 231,5298 -#define CTC_LOGLEVEL_CRIT 232,5330 -#define CTC_LOGLEVEL_DEFAULT 234,5363 -#define CTC_LOGLEVEL_MAX 237,5477 -static int loglevel 239,5534 -#define ctc_pr_debug(ctc_pr_debug241,5579 -#define ctc_pr_info(ctc_pr_info244,5698 -#define ctc_pr_notice(ctc_pr_notice247,5814 -#define ctc_pr_warn(ctc_pr_warn250,5936 -#define ctc_pr_emerg(ctc_pr_emerg253,6055 -#define ctc_pr_err(ctc_pr_err256,6174 -#define ctc_pr_crit(ctc_pr_crit259,6287 -static struct channel *channels 265,6452 -struct ctc_priv ctc_priv267,6493 -struct ll_header ll_header289,6880 -#define LL_HEADER_LENGTH 294,6945 -ctc_clear_busy(301,7094 -ctc_test_and_set_busy(309,7314 -print_banner(320,7568 -get_channel_type(346,8061 -enum dev_states dev_states359,8302 - DEV_STATE_STOPPED,360,8320 - DEV_STATE_STARTWAIT_RXTX,361,8340 - DEV_STATE_STARTWAIT_RX,362,8367 - DEV_STATE_STARTWAIT_TX,363,8392 - DEV_STATE_STOPWAIT_RXTX,364,8417 - DEV_STATE_STOPWAIT_RX,365,8443 - DEV_STATE_STOPWAIT_TX,366,8467 - DEV_STATE_RUNNING,367,8491 - NR_DEV_STATES371,8559 -static const char *dev_state_names[374,8578 -enum dev_events dev_events388,8799 - DEV_EVENT_START,389,8817 - DEV_EVENT_STOP,390,8835 - DEV_EVENT_RXUP,391,8852 - DEV_EVENT_TXUP,392,8869 - DEV_EVENT_RXDOWN,393,8886 - DEV_EVENT_TXDOWN,394,8905 - DEV_EVENT_RESTART,395,8924 - NR_DEV_EVENTS399,8992 -static const char *dev_event_names[402,9011 -enum ch_events ch_events415,9178 - CH_EVENT_IO_SUCCESS,420,9307 - CH_EVENT_IO_EBUSY,421,9329 - CH_EVENT_IO_ENODEV,422,9349 - CH_EVENT_IO_EIO,423,9370 - CH_EVENT_IO_UNKNOWN,424,9388 - CH_EVENT_ATTNBUSY,426,9411 - CH_EVENT_ATTN,427,9431 - CH_EVENT_BUSY,428,9447 - CH_EVENT_UC_RCRESET,433,9510 - CH_EVENT_UC_RSRESET,434,9532 - CH_EVENT_UC_TXTIMEOUT,435,9554 - CH_EVENT_UC_TXPARITY,436,9578 - CH_EVENT_UC_HWFAIL,437,9601 - CH_EVENT_UC_RXPARITY,438,9622 - CH_EVENT_UC_ZERO,439,9645 - CH_EVENT_UC_UNKNOWN,440,9664 - CH_EVENT_SC_UNKNOWN,445,9739 - CH_EVENT_MC_FAIL,450,9812 - CH_EVENT_MC_GOOD,451,9831 - CH_EVENT_IRQ,456,9896 - CH_EVENT_FINSTAT,457,9911 - CH_EVENT_TIMER,462,9979 - CH_EVENT_START,467,10060 - CH_EVENT_STOP,468,10077 - NR_CH_EVENTS,473,10142 -static const char *ch_event_names[476,10161 -enum ch_states ch_states513,10780 - CH_STATE_IDLE,518,10884 - CH_STATE_STOPPED,523,10950 - CH_STATE_STARTWAIT,524,10969 - CH_STATE_STARTRETRY,525,10990 - CH_STATE_SETUPWAIT,526,11012 - CH_STATE_RXINIT,527,11033 - CH_STATE_TXINIT,528,11051 - CH_STATE_RX,529,11069 - CH_STATE_TX,530,11083 - CH_STATE_RXIDLE,531,11097 - CH_STATE_TXIDLE,532,11115 - CH_STATE_RXERR,533,11133 - CH_STATE_TXERR,534,11150 - CH_STATE_TERM,535,11167 - CH_STATE_DTERM,536,11183 - CH_STATE_NOTOP,537,11200 - NR_CH_STATES,542,11266 -static const char *ch_state_names[545,11285 -ctc_dump_skb(572,11750 -ctc_dump_skb(603,12462 -ctc_unpack_skb(616,12713 -ccw_check_return_code(762,16349 -ccw_unit_check(797,17283 -ctc_purge_skb_queue(841,18718 -ctc_checkalloc_buffer(854,18938 -fsm_action_nop(897,20056 -ch_action_txdone(915,20555 -ch_action_txidle(1005,23222 -ch_action_rx(1025,23824 -ch_action_firstio(1102,25869 -ch_action_rxidle(1176,28237 -ch_action_setmode(1217,29409 -ch_action_start(1248,30338 -ch_action_haltio(1328,32541 -ch_action_stopped(1363,33586 -ch_action_stop(1400,34678 -ch_action_fail(1415,35101 -ch_action_setuperr(1446,35991 -ch_action_restart(1495,37513 -ch_action_rxiniterr(1534,38704 -ch_action_rxinitfail(1563,39548 -ch_action_rxdisc(1583,40211 -ch_action_txiniterr(1616,41184 -ch_action_txretry(1644,41995 -ch_action_iofatal(1703,43696 -ch_action_reinit(1724,44306 -static const fsm_node ch_fsm[1739,44683 -static const int CH_FSM_LEN 1845,50929 -less_than(1852,51153 -add_channel(1876,51600 -channel_free(1971,54307 -channel_remove(1983,54548 -channel_get(2020,55338 -extract_channel_media(2067,56544 -__ctc_check_irb_error(2081,56816 -ctc_irq_handler(2114,57677 -dev_action_start(2208,60372 -dev_action_stop(2231,61082 -dev_action_restart(2245,61499 -dev_action_chup(2267,62177 -dev_action_chdown(2320,63688 -static const fsm_node dev_fsm[2360,64813 -static const int DEV_FSM_LEN 2407,67408 -transmit_skb(2421,67817 -ctc_open(2562,71533 -ctc_close(2578,71904 -ctc_tx(2597,72427 -ctc_change_mtu(2656,73930 -ctc_stats(2678,74495 -buffer_show(2687,74626 -buffer_write(2699,74843 -loglevel_show(2734,75685 -loglevel_write(2745,75871 -ctc_print_statistics(2763,76201 -stats_show(2802,77390 -stats_write(2812,77583 -ctc_add_attributes(2828,78041 -ctc_remove_attributes(2837,78241 -ctc_netdev_unregister(2846,78435 -ctc_netdev_register(2860,78702 -ctc_free_netdevice(2870,78946 -ctc_init_netdevice(2892,79342 -ctc_proto_show(2933,80423 -ctc_proto_store(2945,80617 -ctc_type_show(2967,81077 -static struct attribute *ctc_attr[2980,81351 -static struct attribute_group ctc_attr_group 2986,81450 -ctc_add_files(2991,81534 -ctc_remove_files(2999,81685 -ctc_probe_device(3016,81999 -ctc_new_device(3058,82788 -ctc_shutdown_device(3158,85208 -ctc_remove_device(3209,86194 -static struct ccwgroup_driver ctc_group_driver 3227,86577 -ctc_exit(3249,87221 -ctc_init(3264,87519 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/netiucv.c,4669 -#define PRINTK_HEADER 72,2125 -static struct device_driver netiucv_driver 74,2184 -struct connection_profile connection_profile82,2316 -struct iucv_connection iucv_connection97,2638 -static struct iucv_connection *iucv_connections;118,3270 -struct iucv_event iucv_event124,3397 -struct netiucv_priv netiucv_priv132,3539 -typedef struct ll_header_t ll_header_t143,3773 -} ll_header;ll_header145,3815 -#define NETIUCV_HDRLEN 147,3829 -#define NETIUCV_BUFSIZE_MAX 148,3882 -#define NETIUCV_BUFSIZE_DEFAULT 149,3921 -#define NETIUCV_MTU_MAX 150,3974 -#define NETIUCV_MTU_DEFAULT 151,4046 -#define NETIUCV_QUEUELEN_DEFAULT 152,4084 -#define NETIUCV_TIMEOUT_5SEC 153,4120 -static __inline__ void netiucv_clear_busy(159,4232 -static __inline__ int netiucv_test_and_set_busy(165,4388 -static __u8 iucv_host[171,4562 -static __u8 iucvMagic[172,4641 -static __u8 netiucv_mask[182,4931 -netiucv_printname(197,5303 -enum dev_states dev_states212,5526 - DEV_STATE_STOPPED,213,5544 - DEV_STATE_STARTWAIT,214,5564 - DEV_STATE_STOPWAIT,215,5586 - DEV_STATE_RUNNING,216,5607 - NR_DEV_STATES220,5675 -static const char *dev_state_names[223,5694 -enum dev_events dev_events233,5839 - DEV_EVENT_START,234,5857 - DEV_EVENT_STOP,235,5875 - DEV_EVENT_CONUP,236,5892 - DEV_EVENT_CONDOWN,237,5910 - NR_DEV_EVENTS241,5978 -static const char *dev_event_names[244,5997 -enum conn_events conn_events254,6149 - CONN_EVENT_CONN_REQ,259,6243 - CONN_EVENT_CONN_ACK,260,6265 - CONN_EVENT_CONN_REJ,261,6287 - CONN_EVENT_CONN_SUS,262,6309 - CONN_EVENT_CONN_RES,263,6331 - CONN_EVENT_RX,264,6353 - CONN_EVENT_TXDONE,265,6369 - CONN_EVENT_TIMER,275,6532 - CONN_EVENT_START,280,6615 - CONN_EVENT_STOP,281,6634 - NR_CONN_EVENTS,286,6701 -static const char *conn_event_names[289,6722 -enum conn_states conn_states307,7022 - CONN_STATE_INVALID,312,7121 - CONN_STATE_STOPPED,317,7191 - CONN_STATE_STARTWAIT,324,7321 - CONN_STATE_SETUPWAIT,330,7469 - CONN_STATE_IDLE,335,7538 - CONN_STATE_TX,340,7609 - CONN_STATE_REGERR,345,7667 - CONN_STATE_CONNERR,350,7729 - NR_CONN_STATES,355,7799 -static const char *conn_state_names[358,7820 -static debug_info_t *iucv_dbf_setup 374,8025 -static debug_info_t *iucv_dbf_data 375,8069 -static debug_info_t *iucv_dbf_trace 376,8112 -iucv_unregister_dbf_views(381,8215 -iucv_register_dbf_views(391,8431 -netiucv_callback_rx(428,9550 -netiucv_callback_txdone(440,9806 -netiucv_callback_connack(451,10070 -netiucv_callback_connreq(462,10340 -netiucv_callback_connrej(473,10609 -netiucv_callback_connsusp(484,10878 -netiucv_callback_connres(495,11149 -static iucv_interrupt_ops_t netiucv_ops 505,11406 -fsm_action_nop(519,11853 -netiucv_unpack_skb(537,12293 -conn_action_rx(597,13958 -conn_action_txdone(639,15292 -conn_action_connaccept(724,17901 -conn_action_connreject(752,18766 -conn_action_connack(775,19470 -conn_action_conntimsev(801,20340 -conn_action_connsever(814,20646 -conn_action_start(834,21289 -netiucv_purge_skb_queue(922,23882 -conn_action_stop(933,24060 -conn_action_inval(954,24743 -static const fsm_node conn_fsm[965,25074 -static const int CONN_FSM_LEN 997,26784 -dev_action_start(1012,27238 -dev_action_stop(1033,27841 -dev_action_connup(1056,28464 -dev_action_conndown(1090,29429 -static const fsm_node dev_fsm[1105,29774 -static const int DEV_FSM_LEN 1119,30353 -netiucv_transmit_skb(1133,30773 -netiucv_open(1240,33848 -netiucv_close(1254,34189 -static int netiucv_tx(1270,34672 -netiucv_stats 1327,36105 -netiucv_change_mtu 1343,36515 -user_show 1359,36910 -user_write 1368,37129 -buffer_show 1425,38486 -buffer_write 1434,38694 -dev_fsm_show 1489,40087 -conn_fsm_show 1500,40364 -maxmulti_show 1511,40653 -maxmulti_write 1520,40865 -maxcq_show 1532,41165 -maxcq_write 1541,41375 -sdoio_show 1553,41666 -sdoio_write 1562,41879 -mdoio_show 1574,42176 -mdoio_write 1583,42388 -txlen_show 1595,42683 -txlen_write 1604,42889 -txtime_show 1616,43171 -txtime_write 1625,43380 -txpend_show 1637,43670 -txpend_write 1646,43882 -txmpnd_show 1658,44170 -txmpnd_write 1667,44386 -static struct attribute *netiucv_attrs[1678,44667 -static struct attribute_group netiucv_attr_group 1684,44769 -static struct attribute *netiucv_stat_attrs[1688,44851 -static struct attribute_group netiucv_stat_attr_group 1702,45248 -netiucv_add_files(1708,45377 -netiucv_remove_files(1723,45717 -netiucv_register_device(1731,45927 -netiucv_unregister_device(1774,46893 -netiucv_new_connection(1786,47178 -netiucv_remove_connection(1842,48603 -netiucv_free_netdevice(1870,49169 -netiucv_setup_netdevice(1895,49689 -netiucv_init_netdevice(1918,50435 -conn_write(1953,51272 -remove_write 2022,53014 -netiucv_banner(2077,54842 -netiucv_exit(2092,55142 -netiucv_init(2114,55711 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/smsgiucv.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/smsgiucv.c,480 -struct smsg_callback smsg_callback31,1025 -static iucv_handle_t smsg_handle;42,1294 -static unsigned short smsg_pathid;43,1328 -static spinlock_t smsg_list_lock 44,1363 -static struct list_head smsg_list 45,1418 -smsg_connection_complete(48,1494 -smsg_message_pending(54,1583 -static iucv_interrupt_ops_t smsg_ops 83,2248 -static struct device_driver smsg_driver 88,2387 -smsg_register_callback(94,2480 -smsg_unregister_callback(111,2854 -smsg_exit(129,3233 -smsg_init(141,3444 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/ctcdbug.c,176 -debug_info_t *ctc_dbf_setup 34,1045 -debug_info_t *ctc_dbf_data 35,1081 -debug_info_t *ctc_dbf_trace 36,1116 -ctc_unregister_dbf_views(41,1203 -ctc_register_dbf_views(51,1405 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/lcs.c,3185 -#define VERSION_LCS_C 62,1824 -static char version[64,1868 -static char version[] __initdata 64,1868 -static char debug_buffer[65,1954 -static debug_info_t *lcs_dbf_setup;78,2291 -static debug_info_t *lcs_dbf_trace;79,2327 -lcs_unregister_debug_facility(85,2417 -lcs_register_debug_facility(94,2579 -lcs_alloc_channel(114,3141 -lcs_free_channel(142,3797 -lcs_cleanup_channel(158,4087 -lcs_free_card(171,4370 -lcs_alloc_card(182,4583 -lcs_setup_read_ccws(222,5473 -lcs_setup_read(261,6796 -lcs_setup_write_ccws(277,7163 -lcs_setup_write(308,8088 -lcs_set_allowed_threads(321,8431 -lcs_threads_running(331,8704 -lcs_wait_for_threads(343,9002 -lcs_set_thread_start_bit(350,9212 -lcs_clear_thread_running_bit(366,9698 -__lcs_do_run_thread(377,9998 -lcs_do_run_thread(397,10633 -lcs_do_start_thread(406,10851 -lcs_setup_card(425,11419 -lcs_clear_multicast_list(454,12206 -lcs_cleanup_card(481,12903 -lcs_start_channel(498,13213 -lcs_clear_channel(519,13834 -lcs_stop_channel(543,14441 -lcs_start_channels(570,15199 -lcs_stop_channels(590,15548 -__lcs_get_buffer(602,15761 -lcs_get_buffer(619,16156 -__lcs_resume_channel(635,16546 -__lcs_ready_buffer_bits(658,17104 -lcs_ready_buffer(677,17742 -__lcs_processed_buffer(704,18567 -lcs_release_buffer(737,19603 -lcs_get_lancmd(754,20065 -lcs_get_reply(776,20645 -lcs_put_reply(783,20774 -lcs_alloc_reply(793,20966 -lcs_notify_lancmd_waiters(816,21446 -lcs_lancmd_timeout(844,22104 -lcs_send_lancmd(869,22737 -lcs_send_startup(912,23870 -lcs_send_shutdown(930,24311 -__lcs_lanstat_cb(947,24697 -lcs_send_lanstat(954,24880 -lcs_send_stoplan(974,25398 -__lcs_send_startlan_cb(993,25884 -lcs_send_startlan(1001,26098 -lcs_send_setipm(1021,26640 -lcs_send_delipm(1045,27419 -__lcs_check_multicast_cb(1069,28206 -lcs_check_multicast_support(1079,28477 -lcs_fix_multicast_list(1117,29724 -lcs_get_mac_for_ipm(1175,31462 -lcs_remove_mc_addresses(1188,31767 -lcs_check_addr_entry(1214,32547 -lcs_set_mc_addresses(1236,33117 -lcs_register_mc_addresses(1268,34077 -lcs_set_multicast_list(1299,34775 -lcs_check_irb_error(1314,35112 -lcs_irq(1344,35821 -lcs_tasklet(1409,37709 -__lcs_emit_txbuffer(1450,38873 -lcs_txbuffer_cb(1464,39204 -__lcs_start_xmit(1488,39824 -lcs_start_xmit(1542,41320 -lcs_startlan_auto(1559,41679 -lcs_startlan(1587,42231 -lcs_detect(1621,43214 -lcs_resetcard(1652,43787 -lcs_stopcard(1676,44234 -lcs_lgw_startlan_thread(1699,44690 -lcs_lgw_startup_thread(1728,45357 -lcs_lgw_stoplan_thread(1773,46329 -lcs_start_kernel_thread(1804,47128 -lcs_get_control(1823,47769 -lcs_get_skb(1855,48571 -lcs_get_frames_cb(1884,49289 -lcs_getstats(1935,50824 -lcs_stop_device(1949,51091 -lcs_open_device(1969,51497 -lcs_portno_show 1993,51950 -lcs_portno_store 2009,52250 -lcs_type_show(2030,52675 -lcs_timeout_show(2044,52964 -lcs_timeout_store 2054,53166 -static struct attribute * lcs_attrs[2074,53588 -static struct attribute_group lcs_attr_group 2081,53719 -lcs_probe_device(2089,53881 -lcs_register_netdev(2118,54594 -lcs_new_device(2135,54998 -lcs_shutdown_device(2235,57454 -lcs_remove_device(2266,58201 -static struct ccwgroup_driver lcs_group_driver 2291,58790 -__init lcs_init_module(2306,59145 -__exit lcs_cleanup_module(2332,59552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth_fs.h,283 -#define __QETH_FS_H__13,293 -#define VERSION_QETH_FS_H 15,316 -qeth_create_procfs_entries(28,580 -qeth_remove_procfs_entries(34,648 -qeth_get_checksum_str(56,1031 -qeth_get_prioq_str(67,1271 -qeth_get_bufsize_str(79,1598 -qeth_get_cardname(94,1928 -qeth_get_cardname_short(120,2454 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/iucv.c,2946 -#define IPSRCCLS 72,2309 -#define IPFGMCL 73,2332 -#define IPFGPID 74,2361 -#define IPFGMID 75,2390 -#define IPANSLST 76,2419 -#define IPBUFLST 77,2448 -iucv_bus_match 80,2489 -struct bus_type iucv_bus 85,2568 -struct device *iucv_root;90,2645 -} iucv_GeneralInterrupt;iucv_GeneralInterrupt100,2821 -static iucv_GeneralInterrupt *iucv_external_int_buffer 102,2847 -static spinlock_t iucv_lock 106,2940 -static int messagesDisabled 108,2991 -} iucv_irqdata;iucv_irqdata115,3149 -static struct list_head iucv_irq_queue;117,3166 -static spinlock_t iucv_irq_queue_lock 118,3207 -#define ACCEPT 130,3532 -#define CONNECT 131,3559 -#define DECLARE_BUFFER 132,3586 -#define PURGE 133,3613 -#define QUERY 134,3639 -#define QUIESCE 135,3665 -#define RECEIVE 136,3692 -#define REJECT 137,3718 -#define REPLY 138,3744 -#define RESUME 139,3770 -#define RETRIEVE_BUFFER 140,3797 -#define SEND 141,3823 -#define SETMASK 142,3849 -#define SEVER 143,3876 -typedef struct handler_t handler_t156,4364 -} handler;handler165,4581 -static struct list_head iucv_handler_table;170,4653 -static handler **iucv_pathid_table;176,4833 -static unsigned long max_connections;178,4870 -static int iucv_cpuid 185,5105 -static int register_flag;189,5212 -} iparml_control;iparml_control231,6306 -} iparml_dpl;iparml_dpl245,6524 -} iparml_db;iparml_db260,6753 -} iparml_purge;iparml_purge273,6948 -} iparml_set_mask;iparml_set_mask280,7045 -} __attribute__ ((aligned(aligned292,7266 -#define PARAM_POOL_SIZE 293,7310 -static iucv_param * iucv_param_pool;295,7368 -static int debuglevel 307,7686 -iucv_dumpit(314,7839 -#define iucv_debug(iucv_debug335,8194 -#define iucv_debug(iucv_debug343,8351 -#define iucv_dumpit(iucv_dumpit344,8389 -iucv_banner(356,8586 -iucv_init(377,8990 -iucv_exit(447,10710 -grab_param(474,11475 -release_param(499,12049 -iucv_add_handler 514,12395 -b2f0(559,13420 -__iucv_add_pathid(589,14233 -iucv_add_pathid(612,14755 -iucv_remove_pathid(624,14983 -iucv_declare_buffer_cpuid 642,15390 -iucv_retrieve_buffer_cpuid 660,15868 -iucv_declare_buffer 677,16223 -iucv_retrieve_buffer 711,17005 -iucv_remove_handler(732,17453 -iucv_register_program 778,18784 -iucv_unregister_program 926,22670 -iucv_accept(1002,25134 -iucv_connect 1099,28378 -iucv_purge 1232,31997 -iucv_query_generic(1271,32986 -iucv_query_maxconn(1310,33740 -iucv_query_bufsize 1323,33948 -iucv_quiesce 1338,34283 -iucv_receive 1388,36063 -iucv_receive_array 1476,38861 -iucv_reject 1576,41152 -iucv_reply 1627,42995 -iucv_reply_array 1692,45236 -iucv_reply_prmmsg 1749,46712 -iucv_resume 1782,47397 -iucv_send 1819,48367 -iucv_send_array 1872,49988 -iucv_send_prmmsg 1922,51469 -iucv_send2way 1974,53047 -iucv_send2way_array 2036,54985 -iucv_send2way_prmmsg 2095,56882 -iucv_send2way_prmmsg_array 2156,58866 -iucv_setmask_cpuid 2193,59677 -iucv_setmask 2222,60679 -iucv_sever(2247,61092 -iucv_irq_handler(2281,61826 -iucv_do_int(2310,62552 -iucv_tasklet_handler(2506,67530 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/fsm.h,469 -#define _FSM_H_4,79 -#define FSM_DEBUG 18,346 -#define FSM_TIMER_DEBUG 24,447 -#define FSM_DEBUG_HISTORY 31,597 -#define FSM_HISTORY_SIZE 32,625 -typedef void (*fsm_function_t)fsm_function_t39,740 -} fsm;fsm50,984 -} fsm_history;fsm_history59,1117 -typedef struct fsm_instance_t fsm_instance_t65,1175 -} fsm_instance;fsm_instance76,1404 -} fsm_node;fsm_node85,1550 -} fsm_timer;fsm_timer95,1698 -fsm_event(144,3244 -fsm_newstate(192,4474 -fsm_getstate(212,4874 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth_sys.c,3234 -const char *VERSION_QETH_SYS_C 23,449 -qeth_dev_state_show(33,941 -qeth_dev_chpid_show(61,1613 -qeth_dev_if_name_show(73,1870 -qeth_dev_card_type_show(85,2133 -qeth_dev_portno_show(97,2413 -qeth_dev_portno_store(107,2609 -qeth_dev_portname_show(133,3200 -qeth_dev_portname_store(150,3583 -qeth_dev_checksum_show(181,4278 -qeth_dev_checksum_store(192,4500 -qeth_dev_prioqing_show(222,5283 -qeth_dev_prioqing_store(241,5726 -qeth_dev_bufcnt_show(284,7152 -qeth_dev_bufcnt_store(295,7364 -qeth_dev_route_show(325,8144 -qeth_dev_route4_show(354,9099 -qeth_dev_route_store(365,9317 -qeth_dev_route4_store(404,10509 -qeth_dev_route6_show(419,10884 -qeth_dev_route6_store(433,11175 -qeth_dev_add_hhlen_show(455,11718 -qeth_dev_add_hhlen_store(466,11924 -qeth_dev_fake_ll_show(493,12495 -qeth_dev_fake_ll_store(504,12702 -qeth_dev_fake_broadcast_show(531,13272 -qeth_dev_fake_broadcast_store(542,13493 -qeth_dev_recover_store(569,14105 -qeth_dev_broadcast_mode_show(591,14511 -qeth_dev_broadcast_mode_store(608,14945 -qeth_dev_canonical_macaddr_show(646,15902 -qeth_dev_canonical_macaddr_store(662,16311 -static struct device_attribute * qeth_device_attrs[697,17181 -static struct attribute_group qeth_device_attr_group 720,17662 -#define QETH_DEVICE_ATTR(QETH_DEVICE_ATTR725,17774 -qeth_dev_ipato_enable_show(733,18040 -qeth_dev_ipato_enable_store(744,18250 -qeth_dev_ipato_invert4_show(776,19018 -qeth_dev_ipato_invert4_store(787,19229 -qeth_dev_ipato_add_show(815,19909 -qeth_dev_ipato_add4_show(837,20470 -qeth_parse_ipatoe(848,20685 -qeth_dev_ipato_add_store(875,21295 -qeth_dev_ipato_add4_store(904,21995 -qeth_dev_ipato_del_store(919,22352 -qeth_dev_ipato_del4_store(935,22671 -qeth_dev_ipato_invert6_show(950,23022 -qeth_dev_ipato_invert6_store(961,23233 -qeth_dev_ipato_add6_show(990,23907 -qeth_dev_ipato_add6_store(1001,24119 -qeth_dev_ipato_del6_store(1016,24469 -static struct device_attribute * qeth_ipato_device_attrs[1030,24811 -static struct attribute_group qeth_device_ipato_group 1043,25085 -qeth_dev_vipa_add_show(1049,25250 -qeth_dev_vipa_add4_show(1073,25841 -qeth_parse_vipae(1084,26054 -qeth_dev_vipa_add_store(1095,26284 -qeth_dev_vipa_add4_store(1111,26587 -qeth_dev_vipa_del_store(1126,26939 -qeth_dev_vipa_del4_store(1141,27210 -qeth_dev_vipa_add6_show(1156,27557 -qeth_dev_vipa_add6_store(1167,27767 -qeth_dev_vipa_del6_store(1182,28112 -static struct device_attribute * qeth_vipa_device_attrs[1196,28450 -static struct attribute_group qeth_device_vipa_group 1206,28642 -qeth_dev_rxip_add_show(1212,28797 -qeth_dev_rxip_add4_show(1236,29394 -qeth_parse_rxipe(1247,29607 -qeth_dev_rxip_add_store(1258,29837 -qeth_dev_rxip_add4_store(1274,30139 -qeth_dev_rxip_del_store(1289,30491 -qeth_dev_rxip_del4_store(1304,30761 -qeth_dev_rxip_add6_show(1319,31108 -qeth_dev_rxip_add6_store(1330,31318 -qeth_dev_rxip_del6_store(1345,31663 -static struct device_attribute * qeth_rxip_device_attrs[1359,32001 -static struct attribute_group qeth_device_rxip_group 1369,32193 -qeth_create_device_attributes(1375,32330 -qeth_remove_device_attributes(1400,33106 -qeth_driver_group_store(1412,33484 -qeth_driver_notifier_register_store(1445,34207 -qeth_create_driver_attributes(1474,34848 -qeth_remove_driver_attributes(1486,35104 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/qeth_mpc.h,14803 -#define __QETH_MPC_H__13,317 -#define VERSION_QETH_MPC_H 17,364 -#define IPA_PDU_HEADER_SIZE 21,452 -#define QETH_IPA_PDU_LEN_TOTAL(QETH_IPA_PDU_LEN_TOTAL22,485 -#define QETH_IPA_PDU_LEN_PDU1(QETH_IPA_PDU_LEN_PDU123,538 -#define QETH_IPA_PDU_LEN_PDU2(QETH_IPA_PDU_LEN_PDU224,590 -#define QETH_IPA_PDU_LEN_PDU3(QETH_IPA_PDU_LEN_PDU325,642 -#define QETH_IPA_CMD_DEST_ADDR(QETH_IPA_CMD_DEST_ADDR28,734 -#define IPA_CMD_LENGTH 30,788 -#define QETH_SEQ_NO_LENGTH 32,864 -#define QETH_MPC_TOKEN_LENGTH 33,894 -#define QETH_MCL_LENGTH 34,927 -#define OSA_ADDR_LEN 35,954 -#define QETH_TIMEOUT 37,979 -#define QETH_IPA_TIMEOUT 38,1012 -#define QETH_IDX_COMMAND_SEQNO 39,1048 -#define SR_INFO_LEN 40,1091 -#define QETH_CLEAR_CHANNEL_PARM 42,1116 -#define QETH_HALT_CHANNEL_PARM 43,1152 -#define IPA_CMD_INITIATOR_HOST 48,1428 -#define IPA_CMD_INITIATOR_HYDRA 49,1465 -#define IPA_CMD_PRIM_VERSION_NO 50,1502 -enum qeth_card_types qeth_card_types52,1540 - QETH_CARD_TYPE_UNKNOWN 53,1563 - QETH_CARD_TYPE_OSAE 54,1592 - QETH_CARD_TYPE_IQD 55,1622 -#define QETH_MPC_DIFINFO_LEN_INDICATES_LINK_TYPE 58,1658 -enum qeth_link_types qeth_link_types60,1784 - QETH_LINK_TYPE_FAST_ETH 61,1807 - QETH_LINK_TYPE_FAST_ETH = 0x01,61,1807 - QETH_LINK_TYPE_HSTR 62,1844 - QETH_LINK_TYPE_HSTR = 0x02,62,1844 - QETH_LINK_TYPE_GBIT_ETH 63,1881 - QETH_LINK_TYPE_GBIT_ETH = 0x03,63,1881 - QETH_LINK_TYPE_10GBIT_ETH 64,1918 - QETH_LINK_TYPE_10GBIT_ETH = 0x10,64,1918 - QETH_LINK_TYPE_LANE_ETH100 65,1955 - QETH_LINK_TYPE_LANE_ETH100 = 0x81,65,1955 - QETH_LINK_TYPE_LANE_TR 66,1992 - QETH_LINK_TYPE_LANE_TR = 0x82,66,1992 - QETH_LINK_TYPE_LANE_ETH1000 67,2029 - QETH_LINK_TYPE_LANE_ETH1000 = 0x83,67,2029 - QETH_LINK_TYPE_LANE 68,2066 - QETH_LINK_TYPE_LANE = 0x88,68,2066 - QETH_LINK_TYPE_ATM_NATIVE 69,2103 - QETH_LINK_TYPE_ATM_NATIVE = 0x90,69,2103 -enum qeth_tr_macaddr_modes qeth_tr_macaddr_modes72,2144 - QETH_TR_MACADDR_NONCANONICAL 73,2173 - QETH_TR_MACADDR_CANONICAL 74,2208 -enum qeth_tr_broadcast_modes qeth_tr_broadcast_modes77,2247 - QETH_TR_BROADCAST_ALLRINGS 78,2278 - QETH_TR_BROADCAST_LOCAL 79,2311 -enum qeth_checksum_types qeth_checksum_types83,2410 - SW_CHECKSUMMING 84,2437 - HW_CHECKSUMMING 85,2507 - NO_CHECKSUMMING 86,2529 -#define QETH_CHECKSUM_DEFAULT 88,2554 -#define RESET_ROUTING_FLAG 93,2625 -enum qeth_routing_types qeth_routing_types94,2703 - NO_ROUTER 95,2729 - PRIMARY_ROUTER 96,2803 - SECONDARY_ROUTER 97,2829 - MULTICAST_ROUTER 98,2855 - PRIMARY_CONNECTOR 99,2881 - SECONDARY_CONNECTOR 100,2907 -enum qeth_ipa_cmds qeth_ipa_cmds105,2957 - IPA_CMD_STARTLAN 106,2978 - IPA_CMD_STARTLAN = 0x01,106,2978 - IPA_CMD_STOPLAN 107,3017 - IPA_CMD_STOPLAN = 0x02,107,3017 - IPA_CMD_SETIP 108,3056 - IPA_CMD_SETIP = 0xb1,108,3056 - IPA_CMD_DELIP 109,3095 - IPA_CMD_DELIP = 0xb7,109,3095 - IPA_CMD_QIPASSIST 110,3134 - IPA_CMD_QIPASSIST = 0xb2,110,3134 - IPA_CMD_SETASSPARMS 111,3173 - IPA_CMD_SETASSPARMS = 0xb3,111,3173 - IPA_CMD_SETIPM 112,3212 - IPA_CMD_SETIPM = 0xb4,112,3212 - IPA_CMD_DELIPM 113,3251 - IPA_CMD_DELIPM = 0xb5,113,3251 - IPA_CMD_SETRTG 114,3290 - IPA_CMD_SETRTG = 0xb6,114,3290 - IPA_CMD_SETADAPTERPARMS 115,3329 - IPA_CMD_SETADAPTERPARMS = 0xb8,115,3329 - IPA_CMD_IPFRAME 116,3368 - IPA_CMD_IPFRAME = 0xb9,116,3368 - IPA_CMD_ADD_ADDR_ENTRY 117,3407 - IPA_CMD_ADD_ADDR_ENTRY = 0xc1,117,3407 - IPA_CMD_DELETE_ADDR_ENTRY 118,3446 - IPA_CMD_DELETE_ADDR_ENTRY = 0xc2,118,3446 - IPA_CMD_CREATE_ADDR 119,3485 - IPA_CMD_CREATE_ADDR = 0xc3,119,3485 - IPA_CMD_DESTROY_ADDR 120,3524 - IPA_CMD_DESTROY_ADDR = 0xc4,120,3524 - IPA_CMD_REGISTER_LOCAL_ADDR 121,3563 - IPA_CMD_REGISTER_LOCAL_ADDR = 0xd1,121,3563 - IPA_CMD_UNREGISTER_LOCAL_ADDR 122,3602 - IPA_CMD_UNREGISTER_LOCAL_ADDR = 0xd2,122,3602 -enum qeth_ip_ass_cmds qeth_ip_ass_cmds125,3645 - IPA_CMD_ASS_START 126,3669 - IPA_CMD_ASS_START = 0x0001,126,3669 - IPA_CMD_ASS_STOP 127,3698 - IPA_CMD_ASS_STOP = 0x0002,127,3698 - IPA_CMD_ASS_CONFIGURE 128,3726 - IPA_CMD_ASS_CONFIGURE = 0x0003,128,3726 - IPA_CMD_ASS_ENABLE 129,3760 - IPA_CMD_ASS_ENABLE = 0x0004,129,3760 -enum qeth_arp_process_subcmds qeth_arp_process_subcmds132,3795 - IPA_CMD_ASS_ARP_SET_NO_ENTRIES 133,3827 - IPA_CMD_ASS_ARP_SET_NO_ENTRIES = 0x0003,133,3827 - IPA_CMD_ASS_ARP_QUERY_CACHE 134,3870 - IPA_CMD_ASS_ARP_QUERY_CACHE = 0x0004,134,3870 - IPA_CMD_ASS_ARP_ADD_ENTRY 135,3910 - IPA_CMD_ASS_ARP_ADD_ENTRY = 0x0005,135,3910 - IPA_CMD_ASS_ARP_REMOVE_ENTRY 136,3948 - IPA_CMD_ASS_ARP_REMOVE_ENTRY = 0x0006,136,3948 - IPA_CMD_ASS_ARP_FLUSH_CACHE 137,3989 - IPA_CMD_ASS_ARP_FLUSH_CACHE = 0x0007,137,3989 - IPA_CMD_ASS_ARP_QUERY_INFO 138,4029 - IPA_CMD_ASS_ARP_QUERY_INFO = 0x0104,138,4029 - IPA_CMD_ASS_ARP_QUERY_STATS 139,4068 - IPA_CMD_ASS_ARP_QUERY_STATS = 0x0204,139,4068 -enum qeth_ipa_return_codes qeth_ipa_return_codes143,4148 - IPA_RC_SUCCESS 144,4177 - IPA_RC_SUCCESS = 0x0000,144,4177 - IPA_RC_NOTSUPP 145,4215 - IPA_RC_NOTSUPP = 0x0001,145,4215 - IPA_RC_NO_ACCESS 146,4253 - IPA_RC_NO_ACCESS = 0x0002,146,4253 - IPA_RC_FAILED 147,4291 - IPA_RC_FAILED = 0x0003,147,4291 - IPA_RC_DATA_MISMATCH 148,4329 - IPA_RC_DATA_MISMATCH = 0xe001,148,4329 - IPA_RC_INVALID_LAN_TYPE 149,4367 - IPA_RC_INVALID_LAN_TYPE = 0xe003,149,4367 - IPA_RC_INVALID_LAN_NO 150,4405 - IPA_RC_INVALID_LAN_NO = 0xe004,150,4405 - IPA_RC_IPADDR_ALREADY_REG 151,4443 - IPA_RC_IPADDR_ALREADY_REG = 0xe005,151,4443 - IPA_RC_IPADDR_TABLE_FULL 152,4481 - IPA_RC_IPADDR_TABLE_FULL = 0xe006,152,4481 - IPA_RC_IPADDR_ALREADY_USED 153,4519 - IPA_RC_IPADDR_ALREADY_USED = 0xe00a,153,4519 - IPA_RC_ASSNO_NOT_SUPP 154,4557 - IPA_RC_ASSNO_NOT_SUPP = 0xe00d,154,4557 - IPA_RC_ASSCMD_START_FAILED 155,4595 - IPA_RC_ASSCMD_START_FAILED = 0xe00e,155,4595 - IPA_RC_ASSCMD_PART_SUCCESS 156,4633 - IPA_RC_ASSCMD_PART_SUCCESS = 0xe00f,156,4633 - IPA_RC_IPADDR_NOT_DEFINED 157,4671 - IPA_RC_IPADDR_NOT_DEFINED = 0xe010,157,4671 - IPA_RC_LAN_OFFLINE 158,4709 - IPA_RC_LAN_OFFLINE = 0xe080,158,4709 -enum qeth_ipa_funcs qeth_ipa_funcs162,4829 - IPA_ARP_PROCESSING 163,4851 - IPA_ARP_PROCESSING = 0x00000001L,163,4851 - IPA_INBOUND_CHECKSUM 164,4891 - IPA_INBOUND_CHECKSUM = 0x00000002L,164,4891 - IPA_OUTBOUND_CHECKSUM 165,4931 - IPA_OUTBOUND_CHECKSUM = 0x00000004L,165,4931 - IPA_IP_FRAGMENTATION 166,4971 - IPA_IP_FRAGMENTATION = 0x00000008L,166,4971 - IPA_FILTERING 167,5011 - IPA_FILTERING = 0x00000010L,167,5011 - IPA_IPV6 168,5051 - IPA_IPV6 = 0x00000020L,168,5051 - IPA_MULTICASTING 169,5091 - IPA_MULTICASTING = 0x00000040L,169,5091 - IPA_IP_REASSEMBLY 170,5131 - IPA_IP_REASSEMBLY = 0x00000080L,170,5131 - IPA_QUERY_ARP_COUNTERS 171,5171 - IPA_QUERY_ARP_COUNTERS = 0x00000100L,171,5171 - IPA_QUERY_ARP_ADDR_INFO 172,5211 - IPA_QUERY_ARP_ADDR_INFO = 0x00000200L,172,5211 - IPA_SETADAPTERPARMS 173,5251 - IPA_SETADAPTERPARMS = 0x00000400L,173,5251 - IPA_VLAN_PRIO 174,5291 - IPA_VLAN_PRIO = 0x00000800L,174,5291 - IPA_PASSTHRU 175,5331 - IPA_PASSTHRU = 0x00001000L,175,5331 - IPA_FULL_VLAN 176,5371 - IPA_FULL_VLAN = 0x00004000L,176,5371 - IPA_SOURCE_MAC 177,5411 - IPA_SOURCE_MAC = 0x00010000L,177,5411 - IPA_OSA_MC_ROUTER 178,5451 - IPA_OSA_MC_ROUTER = 0x00020000L,178,5451 -enum qeth_ipa_setdelip_flags qeth_ipa_setdelip_flags182,5576 - QETH_IPA_SETDELIP_DEFAULT 183,5607 - QETH_IPA_SETDELIP_DEFAULT = 0x00L,183,5607 - QETH_IPA_SETIP_VIPA_FLAG 184,5666 - QETH_IPA_SETIP_VIPA_FLAG = 0x01L,184,5666 - QETH_IPA_SETIP_TAKEOVER_FLAG 185,5730 - QETH_IPA_SETIP_TAKEOVER_FLAG = 0x02L,185,5730 - QETH_IPA_DELIP_ADDR_2_B_TAKEN_OVER 186,5801 - QETH_IPA_DELIP_ADDR_2_B_TAKEN_OVER = 0x20L,186,5801 - QETH_IPA_DELIP_VIPA_FLAG 187,5846 - QETH_IPA_DELIP_VIPA_FLAG = 0x40L,187,5846 - QETH_IPA_DELIP_ADDR_NEEDS_SETIP 188,5891 - QETH_IPA_DELIP_ADDR_NEEDS_SETIP = 0x80L,188,5891 -enum qeth_ipa_setadp_cmd qeth_ipa_setadp_cmd192,6021 - IPA_SETADP_QUERY_COMMANDS_SUPPORTED 193,6048 - IPA_SETADP_QUERY_COMMANDS_SUPPORTED = 0x01,193,6048 - IPA_SETADP_ALTER_MAC_ADDRESS 194,6093 - IPA_SETADP_ALTER_MAC_ADDRESS = 0x02,194,6093 - IPA_SETADP_ADD_DELETE_GROUP_ADDRESS 195,6133 - IPA_SETADP_ADD_DELETE_GROUP_ADDRESS = 0x04,195,6133 - IPA_SETADP_ADD_DELETE_FUNCTIONAL_ADDR 196,6179 - IPA_SETADP_ADD_DELETE_FUNCTIONAL_ADDR = 0x08,196,6179 - IPA_SETADP_SET_ADDRESSING_MODE 197,6227 - IPA_SETADP_SET_ADDRESSING_MODE = 0x10,197,6227 - IPA_SETADP_SET_CONFIG_PARMS 198,6269 - IPA_SETADP_SET_CONFIG_PARMS = 0x20,198,6269 - IPA_SETADP_SET_CONFIG_PARMS_EXTENDED 199,6308 - IPA_SETADP_SET_CONFIG_PARMS_EXTENDED = 0x40,199,6308 - IPA_SETADP_SET_BROADCAST_MODE 200,6355 - IPA_SETADP_SET_BROADCAST_MODE = 0x80,200,6355 - IPA_SETADP_SEND_OSA_MESSAGE 201,6396 - IPA_SETADP_SEND_OSA_MESSAGE = 0x0100,201,6396 - IPA_SETADP_SET_SNMP_CONTROL 202,6437 - IPA_SETADP_SET_SNMP_CONTROL = 0x0200,202,6437 - IPA_SETADP_READ_SNMP_PARMS 203,6478 - IPA_SETADP_READ_SNMP_PARMS = 0x0400,203,6478 - IPA_SETADP_WRITE_SNMP_PARMS 204,6518 - IPA_SETADP_WRITE_SNMP_PARMS = 0x0800,204,6518 - IPA_SETADP_QUERY_CARD_INFO 205,6559 - IPA_SETADP_QUERY_CARD_INFO = 0x1000,205,6559 -enum qeth_ipa_mac_ops qeth_ipa_mac_ops207,6602 - CHANGE_ADDR_READ_MAC 208,6626 - CHANGE_ADDR_REPLACE_MAC 209,6655 - CHANGE_ADDR_ADD_MAC 210,6686 - CHANGE_ADDR_DEL_MAC 211,6714 - CHANGE_ADDR_RESET_MAC 212,6742 -enum qeth_ipa_addr_ops qeth_ipa_addr_ops214,6775 - CHANGE_ADDR_READ_ADDR 215,6800 - CHANGE_ADDR_ADD_ADDR 216,6830 - CHANGE_ADDR_DEL_ADDR 217,6859 - CHANGE_ADDR_FLUSH_ADDR_TABLE 218,6888 -struct qeth_ipacmd_setdelip4 qeth_ipacmd_setdelip4223,7009 -struct qeth_ipacmd_setdelip6 qeth_ipacmd_setdelip6229,7121 -struct qeth_ipacmd_setdelipm qeth_ipacmd_setdelipm235,7235 -struct qeth_ipacmd_setassparms_hdr qeth_ipacmd_setassparms_hdr242,7356 -struct qeth_arp_query_data qeth_arp_query_data251,7534 -struct qeth_arp_query_info qeth_arp_query_info259,7706 -struct qeth_ipacmd_setassparms qeth_ipacmd_setassparms268,7860 -struct qeth_set_routing qeth_set_routing280,8183 -struct qeth_query_cmds_supp qeth_query_cmds_supp285,8305 -struct qeth_change_addr qeth_change_addr293,8468 -struct qeth_snmp_cmd qeth_snmp_cmd301,8596 -struct qeth_snmp_ureq_hdr qeth_snmp_ureq_hdr311,8768 -struct qeth_snmp_ureq qeth_snmp_ureq318,8902 -struct qeth_ipacmd_setadpparms_hdr qeth_ipacmd_setadpparms_hdr323,9013 -struct qeth_ipacmd_setadpparms qeth_ipacmd_setadpparms335,9247 -struct qeth_create_destroy_address qeth_create_destroy_address355,9985 -struct qeth_ipacmd_hdr qeth_ipacmd_hdr366,10377 -struct qeth_ipa_cmd qeth_ipa_cmd381,10690 -enum qeth_ipa_arp_return_codes qeth_ipa_arp_return_codes399,11295 - QETH_IPA_ARP_RC_SUCCESS 400,11328 - QETH_IPA_ARP_RC_SUCCESS = 0x0000,400,11328 - QETH_IPA_ARP_RC_FAILED 401,11368 - QETH_IPA_ARP_RC_FAILED = 0x0001,401,11368 - QETH_IPA_ARP_RC_NOTSUPP 402,11408 - QETH_IPA_ARP_RC_NOTSUPP = 0x0002,402,11408 - QETH_IPA_ARP_RC_OUT_OF_RANGE 403,11448 - QETH_IPA_ARP_RC_OUT_OF_RANGE = 0x0003,403,11448 - QETH_IPA_ARP_RC_Q_NOTSUPP 404,11488 - QETH_IPA_ARP_RC_Q_NOTSUPP = 0x0004,404,11488 - QETH_IPA_ARP_RC_Q_NO_DATA 405,11528 - QETH_IPA_ARP_RC_Q_NO_DATA = 0x0008,405,11528 -#define QETH_SETASS_BASE_LEN 408,11572 -#define QETH_IPA_ARP_DATA_POS(QETH_IPA_ARP_DATA_POS410,11691 -#define QETH_SETADP_BASE_LEN 412,11796 -#define QETH_SNMP_SETADP_CMDLENGTH 414,11914 -#define QETH_ARP_DATA_SIZE 416,11953 -#define QETH_ARP_CMD_LEN 417,11985 -#define IS_IPA_REPLY(IS_IPA_REPLY419,12058 -#define CM_ENABLE_SIZE 430,12476 -#define QETH_CM_ENABLE_ISSUER_RM_TOKEN(QETH_CM_ENABLE_ISSUER_RM_TOKEN431,12504 -#define QETH_CM_ENABLE_FILTER_TOKEN(QETH_CM_ENABLE_FILTER_TOKEN432,12565 -#define QETH_CM_ENABLE_USER_DATA(QETH_CM_ENABLE_USER_DATA433,12623 -#define QETH_CM_ENABLE_RESP_FILTER_TOKEN(QETH_CM_ENABLE_RESP_FILTER_TOKEN435,12679 -#define CM_SETUP_SIZE 440,12801 -#define QETH_CM_SETUP_DEST_ADDR(QETH_CM_SETUP_DEST_ADDR441,12828 -#define QETH_CM_SETUP_CONNECTION_TOKEN(QETH_CM_SETUP_CONNECTION_TOKEN442,12882 -#define QETH_CM_SETUP_FILTER_TOKEN(QETH_CM_SETUP_FILTER_TOKEN443,12943 -#define QETH_CM_SETUP_RESP_DEST_ADDR(QETH_CM_SETUP_RESP_DEST_ADDR445,13001 -#define ULP_ENABLE_SIZE 449,13121 -#define QETH_ULP_ENABLE_LINKNUM(QETH_ULP_ENABLE_LINKNUM450,13150 -#define QETH_ULP_ENABLE_DEST_ADDR(QETH_ULP_ENABLE_DEST_ADDR451,13204 -#define QETH_ULP_ENABLE_FILTER_TOKEN(QETH_ULP_ENABLE_FILTER_TOKEN452,13260 -#define QETH_ULP_ENABLE_PORTNAME_AND_LL(QETH_ULP_ENABLE_PORTNAME_AND_LL453,13319 -#define QETH_ULP_ENABLE_RESP_FILTER_TOKEN(QETH_ULP_ENABLE_RESP_FILTER_TOKEN454,13381 -#define QETH_ULP_ENABLE_RESP_MAX_MTU(QETH_ULP_ENABLE_RESP_MAX_MTU456,13470 -#define QETH_ULP_ENABLE_RESP_DIFINFO_LEN(QETH_ULP_ENABLE_RESP_DIFINFO_LEN458,13553 -#define QETH_ULP_ENABLE_RESP_LINK_TYPE(QETH_ULP_ENABLE_RESP_LINK_TYPE460,13641 -#define ULP_SETUP_SIZE 464,13761 -#define QETH_ULP_SETUP_DEST_ADDR(QETH_ULP_SETUP_DEST_ADDR465,13789 -#define QETH_ULP_SETUP_CONNECTION_TOKEN(QETH_ULP_SETUP_CONNECTION_TOKEN466,13844 -#define QETH_ULP_SETUP_FILTER_TOKEN(QETH_ULP_SETUP_FILTER_TOKEN467,13906 -#define QETH_ULP_SETUP_CUA(QETH_ULP_SETUP_CUA468,13964 -#define QETH_ULP_SETUP_REAL_DEVADDR(QETH_ULP_SETUP_REAL_DEVADDR469,14013 -#define QETH_ULP_SETUP_RESP_CONNECTION_TOKEN(QETH_ULP_SETUP_RESP_CONNECTION_TOKEN471,14072 -#define DM_ACT_SIZE 476,14195 -#define QETH_DM_ACT_DEST_ADDR(QETH_DM_ACT_DEST_ADDR477,14220 -#define QETH_DM_ACT_CONNECTION_TOKEN(QETH_DM_ACT_CONNECTION_TOKEN478,14272 -#define QETH_TRANSPORT_HEADER_SEQ_NO(QETH_TRANSPORT_HEADER_SEQ_NO482,14334 -#define QETH_PDU_HEADER_SEQ_NO(QETH_PDU_HEADER_SEQ_NO483,14390 -#define QETH_PDU_HEADER_ACK_SEQ_NO(QETH_PDU_HEADER_ACK_SEQ_NO484,14443 -#define IDX_ACTIVATE_SIZE 489,14587 -#define QETH_IDX_ACT_ISSUER_RM_TOKEN(QETH_IDX_ACT_ISSUER_RM_TOKEN490,14619 -#define QETH_IDX_NO_PORTNAME_REQUIRED(QETH_IDX_NO_PORTNAME_REQUIRED491,14678 -#define QETH_IDX_ACT_FUNC_LEVEL(QETH_IDX_ACT_FUNC_LEVEL492,14746 -#define QETH_IDX_ACT_DATASET_NAME(QETH_IDX_ACT_DATASET_NAME493,14800 -#define QETH_IDX_ACT_QDIO_DEV_CUA(QETH_IDX_ACT_QDIO_DEV_CUA494,14856 -#define QETH_IDX_ACT_QDIO_DEV_REALADDR(QETH_IDX_ACT_QDIO_DEV_REALADDR495,14912 -#define QETH_IS_IDX_ACT_POS_REPLY(QETH_IS_IDX_ACT_POS_REPLY496,14973 -#define QETH_IDX_REPLY_LEVEL(QETH_IDX_REPLY_LEVEL497,15039 -#define PDU_ENCAPSULATION(PDU_ENCAPSULATION499,15091 -#define IS_IPA(IS_IPA503,15213 -#define ADDR_FRAME_TYPE_DIX 507,15302 -#define ADDR_FRAME_TYPE_802_3 508,15332 -#define ADDR_FRAME_TYPE_TR_WITHOUT_SR 509,15364 -#define ADDR_FRAME_TYPE_TR_WITH_SR 510,15407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/fsm.c,238 -init_fsm(18,390 -kfree_fsm(77,1994 -fsm_print_history(93,2264 -fsm_record_history(118,2836 -fsm_getstate_str(129,3120 -fsm_expire_timer(138,3288 -fsm_settimer(148,3499 -fsm_deltimer(161,3774 -fsm_addtimer(171,3937 -fsm_modtimer(191,4421 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/net/lcs.h,3181 -#define VERSION_LCS_H 9,149 -#define LCS_DBF_TEXT(LCS_DBF_TEXT11,192 -#define LCS_DBF_HEX(LCS_DBF_HEX16,307 -#define LCS_DBF_TEXT_(LCS_DBF_TEXT_21,426 -#define PRINTK_HEADER 30,677 -#define CARD_FROM_DEV(CARD_FROM_DEV35,741 -#define LCS_CCW_WRITE 41,907 -#define LCS_CCW_READ 42,935 -#define LCS_CCW_TRANSFER 43,962 -#define LCS_CMD_STARTLAN 48,1033 -#define LCS_CMD_STOPLAN 49,1063 -#define LCS_CMD_LANSTAT 50,1093 -#define LCS_CMD_STARTUP 51,1123 -#define LCS_CMD_SHUTDOWN 52,1153 -#define LCS_CMD_QIPASSIST 53,1183 -#define LCS_CMD_SETIPM 54,1214 -#define LCS_CMD_DELIPM 55,1243 -#define LCS_INITIATOR_TCPIP 57,1273 -#define LCS_INITIATOR_LGW 58,1306 -#define LCS_STD_CMD_SIZE 59,1337 -#define LCS_MULTICAST_CMD_SIZE 60,1365 -#define LCS_IPASS_ARP_PROCESSING 66,1498 -#define LCS_IPASS_IN_CHECKSUM_SUPPORT 67,1538 -#define LCS_IPASS_OUT_CHECKSUM_SUPPORT 68,1583 -#define LCS_IPASS_IP_FRAG_REASSEMBLY 69,1629 -#define LCS_IPASS_IP_FILTERING 70,1673 -#define LCS_IPASS_IPV6_SUPPORT 72,1740 -#define LCS_IPASS_MULTICAST_SUPPORT 73,1779 -#define LCS_SENSE_INTERFACE_DISCONNECT 78,1861 -#define LCS_SENSE_EQUIPMENT_CHECK 79,1905 -#define LCS_SENSE_BUS_OUT_CHECK 80,1944 -#define LCS_SENSE_INTERVENTION_REQUIRED 81,1982 -#define LCS_SENSE_CMD_REJECT 82,2027 -#define LCS_SENSE_RESETTING_EVENT 83,2062 -#define LCS_SENSE_DEVICE_ONLINE 84,2103 -#define LCS_FRAME_TYPE_CONTROL 89,2183 -#define LCS_FRAME_TYPE_ENET 90,2217 -#define LCS_FRAME_TYPE_TR 91,2248 -#define LCS_FRAME_TYPE_FDDI 92,2277 -#define LCS_FRAME_TYPE_AUTO 93,2308 -#define LCS_ILLEGAL_OFFSET 98,2398 -#define LCS_IOBUFFERSIZE 99,2433 -#define LCS_NUM_BUFFS 100,2466 -#define LCS_MAC_LENGTH 101,2521 -#define LCS_INVALID_PORT_NO 102,2548 -#define LCS_LANCMD_TIMEOUT_DEFAULT 103,2580 -#define LCS_IPM_STATE_SET_REQUIRED 108,2650 -#define LCS_IPM_STATE_DEL_REQUIRED 109,2688 -#define LCS_IPM_STATE_ON_CARD 110,2726 -#define LCS_IPASS_ARP_PROCESSING 116,2838 -#define LCS_IPASS_INBOUND_CSUM_SUPP 117,2879 -#define LCS_IPASS_OUTBOUND_CSUM_SUPP 118,2923 -#define LCS_IPASS_IP_FRAG_REASSEMBLY 119,2968 -#define LCS_IPASS_IP_FILTERING 120,3013 -#define LCS_IPASS_IPV6_SUPPORT 121,3053 -#define LCS_IPASS_MULTICAST_SUPPORT 122,3093 -enum lcs_buffer_states lcs_buffer_states127,3167 - BUF_STATE_EMPTY,128,3192 - BUF_STATE_LOCKED,129,3232 - BUF_STATE_READY,130,3287 - BUF_STATE_PROCESSED,131,3342 -enum lcs_channel_states lcs_channel_states137,3418 - CH_STATE_INIT,138,3444 - CH_STATE_HALTED,139,3460 - CH_STATE_STOPPED,140,3478 - CH_STATE_RUNNING,141,3497 - CH_STATE_SUSPENDED,142,3516 - CH_STATE_CLEARED,143,3537 -enum lcs_dev_states lcs_dev_states149,3596 - DEV_STATE_DOWN,150,3618 - DEV_STATE_UP,151,3635 - DEV_STATE_RECOVER,152,3650 -enum lcs_threads lcs_threads155,3674 - LCS_SET_MC_THREAD 156,3693 - LCS_STARTLAN_THREAD 157,3718 - LCS_STOPLAN_THREAD 158,3744 - LCS_STARTUP_THREAD 159,3769 -struct lcs_header lcs_header164,3832 -struct lcs_ip_mac_pair lcs_ip_mac_pair170,3926 -struct lcs_ipm_list lcs_ipm_list176,4053 -struct lcs_cmd lcs_cmd182,4149 -struct lcs_buffer lcs_buffer245,5539 -struct lcs_reply lcs_reply253,5726 -struct lcs_channel lcs_channel268,6027 -struct lcs_card lcs_card283,6318 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/blacklist.h,30 -#define S390_BLACKLIST_H2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device.c,1828 -ccw_bus_match 38,1007 -ccw_hotplug 61,1472 -struct bus_type ccw_bus_type 112,2706 -struct css_driver io_subchannel_driver 126,3166 -struct workqueue_struct *ccw_device_work;141,3557 -struct workqueue_struct *ccw_device_notify_work;142,3599 -static wait_queue_head_t ccw_device_init_wq;143,3648 -static atomic_t ccw_device_init_count;144,3693 -init_ccw_bus_type 147,3751 -cleanup_ccw_bus_type 188,4803 -chpids_show 210,5500 -pimpampom_show 225,5838 -devtype_show 235,6072 -cutype_show 248,6355 -online_show 258,6577 -ccw_device_remove_disconnected(266,6734 -ccw_device_set_offline(282,7080 -ccw_device_set_online(311,7660 -online_store 348,8576 -available_show 420,10512 -static struct attribute * subch_attrs[450,11438 -static struct attribute_group subch_attr_group 456,11544 -subchannel_add_files 461,11640 -static struct attribute * ccwdev_attrs[466,11746 -static struct attribute_group ccwdev_attr_group 475,11933 -device_add_files 480,12031 -device_remove_files(486,12153 -ccw_device_register(494,12376 -get_disc_ccwdev_by_devno(511,12640 -ccw_device_do_unreg_rereg(546,13484 -ccw_device_release(605,15254 -io_subchannel_register(618,15436 -ccw_device_call_sch_unregister(656,16295 -io_subchannel_recog_done(674,16677 -io_subchannel_recog(712,17694 -io_subchannel_probe 748,18625 -io_subchannel_remove 813,20270 -io_subchannel_notify(834,20824 -io_subchannel_verify(849,21095 -io_subchannel_ioterm(859,21258 -io_subchannel_shutdown(873,21530 -static struct ccw_device console_cdev;904,22266 -static struct ccw_device_private console_private;905,22305 -static int console_cdev_in_use;906,22355 -ccw_device_console_enable 909,22399 -ccw_device_probe_console(944,23223 -get_ccwdev_by_busid(974,23904 -ccw_device_probe 1013,24835 -ccw_device_remove 1032,25164 -ccw_driver_register 1060,25813 -ccw_driver_unregister 1073,26072 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device_fsm.c,1512 -device_is_disconnected(27,529 -device_set_disconnected(39,802 -device_set_waiting(51,1037 -ccw_device_timeout(66,1339 -ccw_device_set_timeout(80,1578 -ccw_device_cancel_halt_clear(105,2408 -ccw_device_handle_oper(146,3561 -__recover_lost_chpids(176,4653 -ccw_device_recog_done(194,4955 -ccw_device_sense_id_done(275,7327 -ccw_device_oper_notify(291,7667 -ccw_device_done(312,8137 -ccw_device_sense_pgid_done(348,9018 -ccw_device_recognition(378,9790 -ccw_device_recog_timeout(413,10890 -ccw_device_nopath_notify(432,11246 -ccw_device_verify_done(466,12078 -ccw_device_online(491,12682 -ccw_device_disband_done(522,13510 -ccw_device_offline(541,13814 -ccw_device_onoff_timeout(569,14476 -ccw_device_recog_notoper(590,14874 -ccw_device_offline_notoper(599,15071 -ccw_device_online_notoper(615,15442 -ccw_device_online_verify(643,16190 -ccw_device_irq(673,17007 -ccw_device_online_timeout(715,18202 -ccw_device_w4sense(746,18977 -ccw_device_clear_verify(780,19946 -ccw_device_killing_irq(793,20321 -ccw_device_killing_timeout(814,20998 -ccw_device_wait4io_irq(844,21727 -ccw_device_wait4io_timeout(878,22704 -ccw_device_wait4io_verify(914,23739 -ccw_device_stlck_done(922,23973 -ccw_device_start_id(948,24600 -device_trigger_reprobe(965,25078 -ccw_device_offline_irq(1004,26145 -ccw_device_change_cmfstate(1017,26435 -ccw_device_quiesce_done(1026,26630 -ccw_device_quiesce_timeout(1037,26922 -ccw_device_nop(1061,27436 -ccw_device_bug(1069,27552 -fsm_func_t *dev_jumptable[1079,27757 -io_subchannel_irq 1185,31567 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/chsc.h,332 -#define S390_CHSC_H2,20 -#define NR_CHPIDS 4,41 -#define CHSC_SEI_ACC_CHPID 6,64 -#define CHSC_SEI_ACC_LINKADDR 7,100 -#define CHSC_SEI_ACC_FULLLINKADDR 8,136 -struct chsc_header chsc_header10,173 -struct channel_path channel_path15,222 -struct css_general_char css_general_char27,463 -struct css_chsc_char css_chsc_char41,734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device_pgid.c,425 -__ccw_device_sense_pgid_start(31,624 -ccw_device_sense_pgid_start(72,1718 -__ccw_device_check_sense_pgid(90,2178 -ccw_device_sense_pgid_irq(139,3620 -__ccw_device_do_pgid(193,5248 -__ccw_device_check_pgid(246,6753 -__ccw_device_verify_start(279,7730 -ccw_device_verify_irq(306,8404 -ccw_device_verify_start(360,9906 -__ccw_device_disband_start(368,10073 -ccw_device_disband_irq(390,10551 -ccw_device_disband_start(436,11769 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/qdio.h,6398 -#define _CIO_QDIO_H2,20 -#define VERSION_CIO_QDIO_H 4,41 -#define QDIO_VERBOSE_LEVEL 7,114 -#define QDIO_VERBOSE_LEVEL 9,173 -#define QDIO_USE_PROCESSING_STATE12,234 -#define QDIO_PERFORMANCE_STATS15,299 -#define QDIO_MINIMAL_BH_RELIEF_TIME 18,367 -#define QDIO_TIMER_POLL_VALUE 19,406 -#define IQDIO_TIMER_POLL_VALUE 20,438 -#define IQDIO_FILL_LEVEL_TO_POLL 30,890 -#define TIQDIO_THININT_ISC 32,926 -#define TIQDIO_DELAY_TARGET 33,955 -#define QDIO_BUSY_BIT_PATIENCE 34,985 -#define QDIO_BUSY_BIT_GIVE_UP 35,1039 -#define IQDIO_GLOBAL_LAPS 36,1095 -#define IQDIO_GLOBAL_LAPS_INT 37,1160 -#define IQDIO_LOCAL_LAPS 38,1219 -#define IQDIO_LOCAL_LAPS_INT 39,1246 -#define IQDIO_GLOBAL_SUMMARY_CC_MASK 40,1277 -#define QDIO_Q_LAPS 43,1356 -#define QDIO_STORAGE_KEY 45,1379 -#define L2_CACHELINE_SIZE 47,1407 -#define INDICATORS_PER_CACHELINE 48,1437 -#define QDIO_PERF 50,1505 -#define QDIO_NO_USE_COUNT_TIMEOUT 58,1660 -#define QDIO_ESTABLISH_TIMEOUT 62,1809 -#define QDIO_ACTIVATE_TIMEOUT 63,1847 -#define QDIO_CLEANUP_CLEAR_TIMEOUT 64,1890 -#define QDIO_CLEANUP_HALT_TIMEOUT 65,1933 -enum qdio_irq_states qdio_irq_states67,1976 - QDIO_IRQ_STATE_INACTIVE,68,1999 - QDIO_IRQ_STATE_ESTABLISHED,69,2025 - QDIO_IRQ_STATE_ACTIVE,70,2054 - QDIO_IRQ_STATE_STOPPED,71,2078 - QDIO_IRQ_STATE_CLEANUP,72,2103 - QDIO_IRQ_STATE_ERR,73,2128 - NR_QDIO_IRQ_STATES,74,2149 -#define QDIO_DOING_SENSEID 78,2206 -#define QDIO_DOING_ESTABLISH 79,2235 -#define QDIO_DOING_ACTIVATE 80,2266 -#define QDIO_DOING_CLEANUP 81,2296 -#define QDIO_DBF_HEX(QDIO_DBF_HEX85,2398 -#define QDIO_DBF_TEXT(QDIO_DBF_TEXT92,2605 -#define QDIO_DBF_HEX0(QDIO_DBF_HEX0101,2795 -#define QDIO_DBF_HEX1(QDIO_DBF_HEX1102,2868 -#define QDIO_DBF_HEX2(QDIO_DBF_HEX2103,2941 -#define QDIO_DBF_HEX3(QDIO_DBF_HEX3105,3039 -#define QDIO_DBF_HEX4(QDIO_DBF_HEX4106,3112 -#define QDIO_DBF_HEX5(QDIO_DBF_HEX5107,3185 -#define QDIO_DBF_HEX6(QDIO_DBF_HEX6108,3258 -#define QDIO_DBF_HEX3(QDIO_DBF_HEX3110,3361 -#define QDIO_DBF_HEX4(QDIO_DBF_HEX4111,3417 -#define QDIO_DBF_HEX5(QDIO_DBF_HEX5112,3473 -#define QDIO_DBF_HEX6(QDIO_DBF_HEX6113,3529 -#define QDIO_DBF_TEXT0(QDIO_DBF_TEXT0116,3617 -#define QDIO_DBF_TEXT1(QDIO_DBF_TEXT1117,3684 -#define QDIO_DBF_TEXT2(QDIO_DBF_TEXT2118,3751 -#define QDIO_DBF_TEXT3(QDIO_DBF_TEXT3120,3843 -#define QDIO_DBF_TEXT4(QDIO_DBF_TEXT4121,3910 -#define QDIO_DBF_TEXT5(QDIO_DBF_TEXT5122,3977 -#define QDIO_DBF_TEXT6(QDIO_DBF_TEXT6123,4044 -#define QDIO_DBF_TEXT3(QDIO_DBF_TEXT3125,4141 -#define QDIO_DBF_TEXT4(QDIO_DBF_TEXT4126,4194 -#define QDIO_DBF_TEXT5(QDIO_DBF_TEXT5127,4247 -#define QDIO_DBF_TEXT6(QDIO_DBF_TEXT6128,4300 -#define QDIO_DBF_SETUP_NAME 131,4385 -#define QDIO_DBF_SETUP_LEN 132,4426 -#define QDIO_DBF_SETUP_INDEX 133,4455 -#define QDIO_DBF_SETUP_NR_AREAS 134,4486 -#define QDIO_DBF_SETUP_LEVEL 136,4545 -#define QDIO_DBF_SETUP_LEVEL 138,4606 -#define QDIO_DBF_SBAL_NAME 141,4669 -#define QDIO_DBF_SBAL_LEN 142,4719 -#define QDIO_DBF_SBAL_INDEX 143,4749 -#define QDIO_DBF_SBAL_NR_AREAS 144,4779 -#define QDIO_DBF_SBAL_LEVEL 146,4837 -#define QDIO_DBF_SBAL_LEVEL 148,4897 -#define QDIO_DBF_TRACE_NAME 151,4959 -#define QDIO_DBF_TRACE_LEN 152,5000 -#define QDIO_DBF_TRACE_NR_AREAS 153,5029 -#define QDIO_DBF_TRACE_INDEX 155,5088 -#define QDIO_DBF_TRACE_LEVEL 156,5119 -#define QDIO_DBF_TRACE_INDEX 158,5227 -#define QDIO_DBF_TRACE_LEVEL 159,5258 -#define QDIO_DBF_SENSE_NAME 162,5321 -#define QDIO_DBF_SENSE_LEN 163,5362 -#define QDIO_DBF_SENSE_INDEX 164,5392 -#define QDIO_DBF_SENSE_NR_AREAS 165,5423 -#define QDIO_DBF_SENSE_LEVEL 167,5482 -#define QDIO_DBF_SENSE_LEVEL 169,5543 -#define QDIO_TRACE_QTYPE 173,5631 -#define QDIO_DBF_SLSB_OUT_NAME 175,5672 -#define QDIO_DBF_SLSB_OUT_LEN 176,5719 -#define QDIO_DBF_SLSB_OUT_INDEX 177,5772 -#define QDIO_DBF_SLSB_OUT_NR_AREAS 178,5806 -#define QDIO_DBF_SLSB_OUT_LEVEL 179,5843 -#define QDIO_DBF_SLSB_IN_NAME 181,5878 -#define QDIO_DBF_SLSB_IN_LEN 182,5923 -#define QDIO_DBF_SLSB_IN_INDEX 183,5975 -#define QDIO_DBF_SLSB_IN_NR_AREAS 184,6008 -#define QDIO_DBF_SLSB_IN_LEVEL 185,6044 -#define QDIO_PRINTK_HEADER 188,6109 -#define QDIO_PRINT_STUPID(QDIO_PRINT_STUPID191,6177 -#define QDIO_PRINT_STUPID(QDIO_PRINT_STUPID193,6256 -#define QDIO_PRINT_ALL(QDIO_PRINT_ALL197,6321 -#define QDIO_PRINT_ALL(QDIO_PRINT_ALL199,6386 -#define QDIO_PRINT_INFO(QDIO_PRINT_INFO203,6448 -#define QDIO_PRINT_INFO(QDIO_PRINT_INFO205,6514 -#define QDIO_PRINT_WARN(QDIO_PRINT_WARN209,6577 -#define QDIO_PRINT_WARN(QDIO_PRINT_WARN211,6643 -#define QDIO_PRINT_ERR(QDIO_PRINT_ERR215,6706 -#define QDIO_PRINT_ERR(QDIO_PRINT_ERR217,6771 -#define QDIO_PRINT_CRIT(QDIO_PRINT_CRIT221,6833 -#define QDIO_PRINT_CRIT(QDIO_PRINT_CRIT223,6899 -#define QDIO_PRINT_ALERT(QDIO_PRINT_ALERT227,6962 -#define QDIO_PRINT_ALERT(QDIO_PRINT_ALERT229,7029 -#define QDIO_PRINT_EMERG(QDIO_PRINT_EMERG233,7093 -#define QDIO_PRINT_EMERG(QDIO_PRINT_EMERG235,7160 -#define HEXDUMP16(HEXDUMP16238,7199 -do_siga_sync(267,8336 -do_siga_input(302,9019 -do_siga_output(336,9629 -do_clear_global_summary(403,10954 -#define DEFAULT_ESTABLISH_QS_CMD 430,11437 -#define DEFAULT_ESTABLISH_QS_COUNT 431,11475 -#define DEFAULT_ACTIVATE_QS_CMD 432,11517 -#define DEFAULT_ACTIVATE_QS_COUNT 433,11554 -#define CIW_TYPE_EQUEUE 438,11647 -#define CIW_TYPE_AQUEUE 439,11709 -#define QDIO_CHSC_RESPONSE_CODE_OK 441,11771 -#define CHSC_FLAG_QDIO_CAPABILITY 443,11841 -#define CHSC_FLAG_VALIDITY 444,11880 -#define CHSC_FLAG_SIGA_INPUT_NECESSARY 446,11913 -#define CHSC_FLAG_SIGA_OUTPUT_NECESSARY 447,11957 -#define CHSC_FLAG_SIGA_SYNC_NECESSARY 448,12002 -#define CHSC_FLAG_SIGA_SYNC_DONE_ON_THININTS 449,12045 -#define CHSC_FLAG_SIGA_SYNC_DONE_ON_OUTB_PCIS 450,12095 -struct qdio_perf_stats qdio_perf_stats453,12177 -#define atomic_swap(atomic_swap472,12578 -#define SYNC_MEMORY 475,12667 -#define SYNC_MEMORY_ALL 476,12735 -#define SYNC_MEMORY_ALL_OUTB 478,12816 -#define NOW 481,12901 -#define SAVE_TIMESTAMP(SAVE_TIMESTAMP482,12931 -#define GET_SAVED_TIMESTAMP(GET_SAVED_TIMESTAMP483,12990 -#define SAVE_FRONTIER(SAVE_FRONTIER484,13052 -#define GET_SAVED_FRONTIER(GET_SAVED_FRONTIER485,13102 -#define MY_MODULE_STRING(MY_MODULE_STRING487,13152 -#define QDIO_GET_ADDR(QDIO_GET_ADDR490,13209 -#define QDIO_GET_ADDR(QDIO_GET_ADDR492,13290 -#define set_slsb(set_slsb496,13389 -#define set_slsb(set_slsb513,13973 -struct qdio_q qdio_q516,14046 -struct qdio_irq qdio_irq614,16503 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/ccwgroup.c,698 -ccwgroup_bus_match 34,990 -ccwgroup_hotplug 48,1319 -static struct bus_type ccwgroup_bus_type 55,1447 -__ccwgroup_remove_symlinks(62,1601 -ccwgroup_ungroup_store(80,2018 -ccwgroup_release 98,2370 -__ccwgroup_create_symlinks(113,2631 -ccwgroup_create(152,3542 -init_ccwgroup 244,5561 -cleanup_ccwgroup 250,5649 -ccwgroup_set_online(261,5861 -ccwgroup_set_offline(287,6334 -ccwgroup_online_store 313,6815 -ccwgroup_online_show 341,7375 -ccwgroup_probe 353,7644 -ccwgroup_remove 375,8085 -ccwgroup_driver_register 393,8425 -__get_next_ccwgroup_device(407,8766 -ccwgroup_driver_unregister 423,9055 -ccwgroup_probe_ccwdev(439,9483 -__ccwgroup_get_gdev_by_cdev(445,9585 -ccwgroup_remove_ccwdev(462,9917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/cio_debug.h,239 -#define CIO_DEBUG_H2,20 -#define CIO_TRACE_EVENT(CIO_TRACE_EVENT6,65 -#define CIO_MSG_EVENT(CIO_MSG_EVENT10,172 -#define CIO_CRW_EVENT(CIO_CRW_EVENT14,286 -#define CIO_HEX_EVENT(CIO_HEX_EVENT18,400 -#define CIO_DEBUG(CIO_DEBUG22,528 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/qdio.c,4092 -#define VERSION_QDIO_C 59,1586 -static const char version[69,1940 -static int proc_perf_file_registration;73,2097 -static unsigned long i_p_c,74,2137 -static unsigned long i_p_c, i_p_nc,74,2137 -static unsigned long i_p_c, i_p_nc, o_p_c,74,2137 -static unsigned long i_p_c, i_p_nc, o_p_c, o_p_nc,74,2137 -static unsigned long i_p_c, i_p_nc, o_p_c, o_p_nc, ii_p_c,74,2137 -static unsigned long i_p_c, i_p_nc, o_p_c, o_p_nc, ii_p_c, ii_p_nc;74,2137 -static struct qdio_perf_stats perf_stats;75,2205 -static int hydra_thinints;78,2284 -static int omit_svs;79,2311 -static int indicator_used[81,2333 -static __u32 * volatile indicators;82,2386 -static __u32 volatile spare_indicator;83,2422 -static atomic_t spare_indicator_usecount;84,2461 -static debug_info_t *qdio_dbf_setup;86,2504 -static debug_info_t *qdio_dbf_sbal;87,2541 -static debug_info_t *qdio_dbf_trace;88,2577 -static debug_info_t *qdio_dbf_sense;89,2614 -static debug_info_t *qdio_dbf_slsb_out;91,2676 -static debug_info_t *qdio_dbf_slsb_in;92,2716 -static volatile struct qdio_q *tiq_list=96,2806 -static spinlock_t ttiq_list_lock=98,2913 -static int register_thinint_result;99,2966 -qdio_min(105,3170 -qdio_get_micros(116,3336 -qdio_reserve_q(128,3717 -qdio_release_q(134,3823 -qdio_set_slsb(140,3918 -qdio_siga_sync(146,4024 -qdio_siga_sync_q(166,4414 -qdio_siga_output(178,4673 -qdio_siga_input(213,5368 -qdio_get_indicator(234,5776 -qdio_put_indicator(249,6095 -tiqdio_clear_summary_bit(262,6334 -tiqdio_set_summary_bit(271,6515 -tiqdio_sched_tl(280,6687 -qdio_mark_tiq(286,6772 -qdio_mark_q(324,7544 -qdio_stop_polling(336,7766 -qdio_unmark_q(383,8970 -tiqdio_clear_global_summary(419,9870 -qdio_get_outbound_buffer_frontier(436,10172 -qdio_is_outbound_q_done(514,12155 -qdio_has_outbound_q_moved(536,12603 -qdio_kick_outbound_q(556,13040 -qdio_kick_outbound_handler(645,16061 -__qdio_outbound_processing(682,17008 -qdio_outbound_processing(735,18258 -qdio_get_inbound_buffer_frontier(744,18435 -qdio_has_inbound_q_moved(869,21712 -iqdio_is_inbound_q_done(902,22528 -qdio_is_inbound_q_done(955,23883 -qdio_kick_inbound_handler(1014,25356 -__tiqdio_inbound_processing(1061,26459 -tiqdio_inbound_processing(1156,28809 -__qdio_inbound_processing(1162,28950 -qdio_inbound_processing(1205,29849 -tiqdio_reset_processing_state(1214,30053 -tiqdio_inbound_checks(1267,31122 -tiqdio_tl(1319,32231 -qdio_release_irq_memory(1333,32505 -qdio_set_impl_params(1359,33018 -qdio_alloc_qs(1396,34050 -qdio_fill_qs(1446,34881 -qdio_fill_thresholds(1598,39012 -tiqdio_thinint_handler(1634,40004 -qdio_set_state(1654,40409 -qdio_irq_check_sense(1674,40890 -qdio_handle_pci(1691,41276 -qdio_handle_activate_check(1729,42194 -qdio_call_shutdown(1765,43262 -qdio_timeout_handler(1775,43450 -qdio_handler(1822,44829 -qdio_synchronize(1907,46845 -qdio_check_siga_needs(1951,47836 -tiqdio_check_chsc_availability(2033,49861 -tiqdio_set_subchannel_ind(2069,50838 -tiqdio_set_delay_target(2163,53235 -qdio_cleanup(2226,54791 -qdio_shutdown(2247,55197 -qdio_free(2349,58232 -qdio_allocate_do_dbf(2374,58696 -qdio_allocate_fill_input_desc(2407,60246 -qdio_allocate_fill_output_desc(2426,60871 -qdio_initialize_set_siga_flags_input(2447,61534 -qdio_initialize_set_siga_flags_output(2473,62383 -qdio_establish_irq_check_for_errors(2499,63239 -qdio_establish_handle_irq(2544,64677 -qdio_initialize(2565,65165 -qdio_allocate(2586,65531 -int qdio_fill_irq(2652,67279 -qdio_establish(2784,71362 -qdio_activate(2897,74366 -qdio_do_qdio_fill_input(2999,77045 -qdio_do_qdio_fill_output(3014,77416 -do_qdio_handle_inbound(3029,77762 -do_qdio_handle_outbound(3065,78626 -do_QDIO(3129,80292 -qdio_perf_procfile_read(3184,81771 -#define _OUTP_IT(_OUTP_IT3194,82051 -static struct proc_dir_entry *qdio_perf_proc_file;3227,83349 -qdio_add_procfs_entry(3231,83449 -qdio_remove_procfs_entry(3249,83982 -tiqdio_register_thinints(3260,84239 -tiqdio_unregister_thinints(3276,84707 -qdio_get_qdio_memory(3283,84849 -qdio_release_qdio_memory(3298,85195 -qdio_unregister_dbf_views(3305,85281 -qdio_register_dbf_views(3324,85777 -init_QDIO(3392,88072 -cleanup_QDIO(3429,88784 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/cio.h,541 -#define S390_CIO_H2,19 -struct ssd_info ssd_info7,75 -struct pmcw pmcw17,288 -struct schib schib52,1645 -struct orb orb62,1939 -struct subchannel subchannel85,2922 - SUBCHANNEL_TYPE_IO 90,3039 - SUBCHANNEL_TYPE_CHSC 91,3065 - SUBCHANNEL_TYPE_MESSAGE 92,3093 - SUBCHANNEL_TYPE_ADM 93,3124 - } __attribute__ __attribute__100,3350 -#define IO_INTERRUPT_TYPE 113,3841 -#define to_subchannel(to_subchannel115,3898 -#define cio_is_console(cio_is_console136,4839 -#define cio_get_console_subchannel(cio_get_console_subchannel137,4869 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/blacklist.c,505 -#define __BL_DEV_WORDS 38,911 -static unsigned long bl_dev[40,1002 -typedef enum {add,41,1047 -typedef enum {add, free}41,1047 -typedef enum {add, free} range_action;range_action41,1047 -blacklist_range 48,1180 -blacklist_busid(72,1688 -blacklist_parse_parameters 126,3022 -blacklist_setup 199,4871 -is_blacklisted 216,5248 -s390_redo_validation 227,5485 -blacklist_parse_proc_parameters 259,6099 -static int cio_ignore_read 282,6768 -static int cio_ignore_write(311,7598 -cio_ignore_proc_init 334,8080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/cio.c,898 -debug_info_t *cio_debug_msg_id;34,771 -debug_info_t *cio_debug_trace_id;35,803 -debug_info_t *cio_debug_crw_id;36,837 -int cio_show_msg;38,870 -cio_setup 41,907 -cio_debug_init 64,1561 -cio_set_options 98,2600 -cio_get_options 108,2909 -cio_tpi(127,3349 -cio_start_handle_notoper(157,4071 -cio_start 178,4518 -cio_resume 231,5789 -cio_halt(265,6334 -cio_clear(300,6918 -cio_cancel 336,7645 -cio_modify 371,8281 -cio_enable_subchannel 400,8818 -cio_disable_subchannel 447,9764 -cio_validate_subchannel 504,11139 -do_IRQ 595,13549 -static struct subchannel console_subchannel;646,15003 -static int console_subchannel_in_use;647,15048 -wait_cons_dev 653,15150 -cio_console_irq(683,15819 -cio_probe_console(718,16782 -cio_release_console(752,17546 -cio_is_console(762,17767 -cio_get_console_subchannel(770,17902 -__disable_subchannel_easy(779,18039 -__clear_subchannel_easy(797,18374 -reipl(818,18754 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device_status.c,337 -ccw_device_msg_control_check(30,640 -ccw_device_path_notoper(58,1423 -ccw_device_accumulate_ecw(78,1911 -ccw_device_accumulate_esw_valid(100,2618 -ccw_device_accumulate_esw(115,2994 -ccw_device_accumulate_irb(195,5700 -ccw_device_do_sense(300,9270 -ccw_device_accumulate_basic_sense(332,10169 -ccw_device_accumulate_and_sense(367,11300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/cmf.c,2132 -#define ARGSTRING 51,1657 -enum cmb_index cmb_index54,1712 - cmb_ssch_rsch_count,56,1762 - cmb_sample_count,57,1784 - cmb_device_connect_time,58,1803 - cmb_function_pending_time,59,1829 - cmb_device_disconnect_time,60,1857 - cmb_control_unit_queuing_time,61,1886 - cmb_device_active_only_time,62,1918 - cmb_device_busy_time,64,1977 - cmb_initial_command_response_time,65,2000 -enum cmb_format cmb_format78,2460 - CMF_BASIC,79,2478 - CMF_EXTENDED,80,2490 - CMF_AUTODETECT 81,2505 -static int format 90,2741 -struct cmb_operations cmb_operations108,3427 -static struct cmb_operations *cmbops;118,3742 -static inline u64 time_to_nsec(123,3905 -static inline u64 time_to_avg_nsec(134,4145 -cmf_activate(154,4622 -set_schib(166,4873 -struct set_schib_struct set_schib_struct220,6042 -static int set_schib_wait(228,6152 -void retry_set_schib(271,7160 -struct cmb_area cmb_area292,7641 -static struct cmb_area cmb_area 299,7742 -struct cmb cmb329,8720 -alloc_cmb_single 344,9061 -alloc_cmb 380,9806 -free_cmb(422,10656 -set_cmb(452,11235 -read_cmb 465,11468 -readall_cmb 510,12513 -reset_cmb(554,13834 -static struct attribute_group cmf_attr_group;565,14073 -static struct cmb_operations cmbops_basic 567,14120 -struct cmbe cmbe586,14613 -static inline struct cmbe* cmbe_align(602,15048 -alloc_cmbe 611,15279 -free_cmbe 639,15874 -set_cmbe(656,16296 -read_cmbe 669,16523 -readall_cmbe 720,17729 -reset_cmbe(767,19203 -static struct attribute_group cmf_attr_group_ext;778,19456 -static struct cmb_operations cmbops_extended 780,19507 -cmb_show_attr(792,19764 -cmb_show_avg_sample_interval(799,19935 -cmb_show_avg_utilization(816,20302 -#define cmf_attr(cmf_attr844,20961 -#define cmf_attr_avg(cmf_attr_avg849,21159 -static struct attribute *cmf_attributes[867,21855 -static struct attribute_group cmf_attr_group 880,22262 -static struct attribute *cmf_attributes_ext[885,22358 -static struct attribute_group cmf_attr_group_ext 900,22858 -static ssize_t cmb_enable_show(905,22962 -static ssize_t cmb_enable_store(910,23097 -enable_cmf(937,23659 -disable_cmf(959,24037 -cmf_read(972,24239 -cmf_readall(978,24328 -init_cmf(984,24447 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/css.h,830 -#define _CSS_H2,15 -#define SPID_FUNC_SINGLE_PATH 12,137 -#define SPID_FUNC_MULTI_PATH 13,175 -#define SPID_FUNC_ESTABLISH 14,212 -#define SPID_FUNC_RESIGN 15,248 -#define SPID_FUNC_DISBAND 16,281 -#define SNID_STATE1_RESET 18,316 -#define SNID_STATE1_UNGROUPED 19,347 -#define SNID_STATE1_GROUPED 20,382 -#define SNID_STATE2_NOT_RESVD 22,416 -#define SNID_STATE2_RESVD_ELSE 23,451 -#define SNID_STATE2_RESVD_SELF 24,487 -#define SNID_STATE3_MULTI_PATH 26,524 -#define SNID_STATE3_SINGLE_PATH 27,560 -struct path_state path_state29,598 -struct pgid pgid36,813 -#define MAX_CIWS 49,1159 -struct senseid senseid54,1221 -struct ccw_device_private ccw_device_private66,1627 - } __attribute__ __attribute__78,2098 - } __attribute__(__attribute__86,2510 -struct css_driver css_driver107,3276 -#define __MAX_SUBCHANNELS 127,3792 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device_ops.c,496 -ccw_device_set_options(31,634 -ccw_device_clear(47,1150 -ccw_device_start(69,1628 -ccw_device_start_timeout(97,2334 -ccw_device_halt(113,2687 -ccw_device_resume(135,3163 -ccw_device_call_handler(156,3594 -ccw_device_get_ciw(202,4803 -ccw_device_get_path_mask(215,5098 -ccw_device_wake_up(227,5279 -__ccw_device_retry_loop(261,6266 -read_dev_chars 316,7614 -read_conf_data 374,9024 -ccw_device_stlck(453,10880 -_ccw_device_get_subchannel_number(523,12734 -_ccw_device_get_device_number(529,12830 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/css.c,1111 -unsigned int highest_subchannel;24,508 -int need_rescan 25,541 -int css_init_done 26,562 -struct pgid global_pgid;28,586 -int css_characteristics_avail 29,611 -struct device css_bus_device 31,647 -css_alloc_subchannel(36,730 -css_free_subchannel(73,1480 -css_subchannel_release(85,1655 -css_register_subchannel(97,1867 -css_probe_device(117,2301 -get_subchannel_by_schid(132,2551 -css_get_subchannel_status(160,3106 -css_evaluate_subchannel(179,3481 -css_rescan_devices(277,5883 -struct slow_subchannel slow_subchannel295,6343 -static spinlock_t slow_subchannel_lock 301,6464 -css_trigger_slow_path(304,6538 -typedef void (*workfunc)workfunc329,7128 -struct workqueue_struct *slow_path_wq;331,7231 -css_reiterate_subchannels(339,7444 -css_process_crw(349,7615 -css_generate_pgid(374,8156 -init_channel_subsystem 397,8819 -css_bus_match 458,10187 -struct bus_type css_bus_type 469,10463 -s390_root_dev_release(481,10724 -s390_root_dev_register(487,10800 -s390_root_dev_unregister(509,11261 -css_enqueue_subchannel_slow(516,11351 -css_clear_subchannel_slow_list(533,11849 -css_slow_subchannels_exist(552,12262 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device_id.c,209 -diag210(32,623 -diag210(66,1331 -VM_virtual_device_info 93,1775 -__ccw_device_sense_id_start(170,3791 -ccw_device_sense_id_start(214,4886 -ccw_device_check_sense_id(232,5331 -ccw_device_sense_id_irq(298,7542 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/airq.h,95 -#define S390_AINTERRUPT_H2,26 -typedef int (*adapter_int_handler_t)adapter_int_handler_t4,53 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/device.h,807 -#define S390_DEVICE_H2,22 -enum dev_state dev_state7,89 - DEV_STATE_NOT_OPER,8,106 - DEV_STATE_SENSE_PGID,9,127 - DEV_STATE_SENSE_ID,10,150 - DEV_STATE_OFFLINE,11,171 - DEV_STATE_VERIFY,12,191 - DEV_STATE_ONLINE,13,210 - DEV_STATE_W4SENSE,14,229 - DEV_STATE_DISBAND_PGID,15,249 - DEV_STATE_BOXED,16,274 - DEV_STATE_CLEAR_VERIFY,18,356 - DEV_STATE_TIMEOUT_KILL,19,381 - DEV_STATE_WAIT4IO,20,406 - DEV_STATE_QUIESCE,21,426 - DEV_STATE_DISCONNECTED,23,501 - DEV_STATE_DISCONNECTED_SENSE_ID,24,526 - DEV_STATE_CMFCHANGE,25,560 - NR_DEV_STATES27,603 -enum dev_event dev_event33,679 - DEV_EVENT_NOTOPER,34,696 - DEV_EVENT_INTERRUPT,35,716 - DEV_EVENT_TIMEOUT,36,738 - DEV_EVENT_VERIFY,37,758 - NR_DEV_EVENTS39,798 -typedef void (fsm_func_t)fsm_func_t47,879 -dev_fsm_event(51,1027 -dev_fsm_final_state(60,1232 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/chsc.c,1005 -static struct channel_path *chps[27,581 -static void *sei_page;29,627 -set_chp_logically_online(34,711 -get_chp_status(40,799 -chsc_validate_chpids(46,883 -chpid_is_actually_online(59,1120 -chsc_get_sch_desc_irq(74,1432 -css_get_ssd_info(179,4126 -s390_subchannel_remove_chpid(216,4948 -s390_set_chpid_offline(295,6717 -s390_process_res_acc_sch(313,7078 -s390_process_res_acc 348,7747 -__get_chpid_from_lir(440,9753 - struct lir lir442,9788 -chsc_process_crw(470,10412 -chp_add(612,14240 -chp_process_crw(684,15600 -__check_for_io_and_kill(702,16030 -__s390_subchannel_vary_chpid(717,16305 -s390_subchannel_vary_chpid_off(757,17271 -s390_subchannel_vary_chpid_on(770,17491 -s390_vary_chpid(787,17794 -chp_status_show(849,19115 -chp_status_write(860,19371 -chp_release(886,19916 -new_channel_path(899,20134 -chsc_alloc_sei_area(938,20948 -struct css_general_char css_general_characteristics;949,21227 -struct css_chsc_char css_chsc_characteristics;950,21280 -chsc_determine_css_characteristics(953,21339 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/ioasm.h,538 -#define S390_CIO_IOASM_H2,25 -struct tpi_info tpi_info7,80 -extern __inline__ int stsch(24,463 -extern __inline__ int msch(39,732 -extern __inline__ int msch_err(54,1001 -extern __inline__ int tsch(82,1528 -extern __inline__ int tpi(97,1795 -extern __inline__ int ssch(111,2017 -extern __inline__ int rsch(126,2284 -extern __inline__ int csch(141,2505 -extern __inline__ int hsch(156,2726 -extern __inline__ int xsch(171,2947 -extern __inline__ int chsc(186,3189 -extern __inline__ int iac(201,3401 -extern __inline__ int rchp(213,3578 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/cio/airq.c,160 -static adapter_int_handler_t adapter_handler;22,495 -s390_register_adapter_interrupt 36,1007 -s390_unregister_adapter_interrupt 57,1369 -do_adapter_IO 78,1700 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/sysinfo.c,791 -struct sysinfo_1_1_1sysinfo_1_1_115,323 -struct sysinfo_1_2_1sysinfo_1_2_126,486 -struct sysinfo_1_2_2sysinfo_1_2_235,621 -struct sysinfo_2_2_1sysinfo_2_2_146,849 -struct sysinfo_2_2_2sysinfo_2_2_255,987 - #define LPAR_CHAR_DEDICATED 61,1111 - #define LPAR_CHAR_SHARED 62,1149 - #define LPAR_CHAR_LIMITED 63,1184 -struct sysinfo_3_2_2sysinfo_3_2_275,1463 -union s390_sysinfos390_sysinfo94,1779 -static inline int stsi 104,2026 -static inline int stsi_0 153,3141 -static inline int stsi_1_1_1 159,3262 -static inline int stsi_1_2_1 173,3648 -static inline int stsi_1_2_2 184,3887 -static inline int stsi_2_2_1 190,4009 -static inline int stsi_2_2_2 201,4248 -static inline int stsi_3_2_2 211,4436 -static int proc_read_sysinfo(227,4743 -static __init int create_proc_sysinfo(339,8751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/s390mach.c,210 -#define DBG 21,441 -static struct semaphore m_sem;24,503 -s390_handle_damage(35,788 -s390_collect_crw_info(50,1102 -s390_do_machine_check(129,2885 -machine_check_init(189,4744 -machine_check_crw_init 212,5345 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/ctrlchar.c,93 -static int ctrlchar_sysrq_key;19,409 -ctrlchar_handle_sysrq(22,453 -ctrlchar_handle(43,1014 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_std.c,854 -#define TAPE_DBF_AREA 25,645 -#define PRINTK_HEADER 30,723 -tape_std_assign_timeout(36,797 -tape_std_assign(57,1352 -tape_std_unassign 102,2478 -tape_std_display(137,3392 -tape_std_read_block_id(167,4212 -tape_std_terminate_write(190,4821 -tape_std_mtload(214,5324 -tape_std_mtsetblk(224,5522 -tape_std_mtreset(269,6644 -tape_std_mtfsf(281,6921 -tape_std_mtfsr(305,7501 -tape_std_mtbsr(337,8216 -tape_std_mtweof(368,8907 -tape_std_mtbsfm(393,9548 -tape_std_mtbsf(417,10183 -tape_std_mtfsfm(448,10920 -tape_std_mtrew(478,11543 -tape_std_mtoffl(501,12097 -tape_std_mtnop(522,12595 -tape_std_mteom(543,13179 -tape_std_mtreten(573,13867 -tape_std_mterase(597,14541 -tape_std_mtunload(621,15218 -tape_std_mtcompression(631,15410 -tape_std_read_block(663,16305 -tape_std_read_backward(688,16932 -tape_std_write_block(707,17532 -tape_std_process_eov(728,18047 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/fs3270.c,542 -struct raw3270_fn fs3270_fn;28,663 -struct fs3270 fs327030,693 -fs3270_wake_up(41,1074 -fs3270_do_io(47,1183 -fs3270_reset_callback(64,1552 -fs3270_activate(73,1699 -fs3270_deactivate(87,1981 -fs3270_irq(101,2359 -fs3270_read(123,2848 -fs3270_write(159,3703 -fs3270_ioctl(195,4508 -fs3270_alloc_view(238,5338 -fs3270_free_view(258,5698 -fs3270_release(268,5879 -struct raw3270_fn fs3270_fn 273,5990 -fs3270_open(285,6263 -fs3270_close(326,7246 -static struct file_operations fs3270_fops 337,7427 -fs3270_init(350,7765 -fs3270_exit(364,8018 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_class.h,118 -#define __TAPE_CLASS_H__11,251 -#define TAPECLASS_NAME_LEN 24,507 -struct tape_class_device tape_class_device26,538 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp.c,1960 -#define SCLP_CORE_PRINT_HEADER 29,689 -static ext_int_info_t ext_int_info_hwc;32,802 -static spinlock_t sclp_lock;35,899 -static sccb_mask_t sclp_receive_mask;38,961 -static sccb_mask_t sclp_send_mask;39,999 -static struct list_head sclp_reg_list;42,1072 -static struct list_head sclp_req_queue;45,1129 -static struct sclp_req sclp_read_req;48,1204 -static char sclp_read_sccb[49,1242 -static char sclp_init_sccb[51,1352 -static struct timer_list retry_timer;54,1467 -static struct timer_list sclp_busy_timer;57,1536 -static volatile unsigned long sclp_status 59,1579 -#define SCLP_INIT 61,1650 -#define SCLP_RUNNING 62,1671 -#define SCLP_READING 63,1695 -#define SCLP_SHUTDOWN 64,1719 -#define SCLP_INIT_POLL_INTERVAL 66,1745 -#define SCLP_BUSY_POLL_INTERVAL 67,1779 -#define SCLP_COMMAND_INITIATED 69,1814 -#define SCLP_BUSY 70,1847 -#define SCLP_NOT_OPERATIONAL 71,1868 -__service_call(77,1960 -sclp_start_request(108,2609 -sclp_process_evbufs(160,4000 -sclp_error_message(199,4940 -sclp_unconditional_read_cb(232,6018 -__sclp_unconditional_read(258,6726 -#define EXT_INT_SCCB_MASK 289,7685 -#define EXT_INT_STATECHANGE_PENDING 290,7723 -#define EXT_INT_EVBUF_PENDING 291,7770 -sclp_interrupt_handler(297,7885 -sclp_sync_wait(355,9532 -sclp_add_request(398,10499 -struct sclp_statechangebuf sclp_statechangebuf418,11018 -__sclp_notify_state_change(433,11445 -sclp_state_change(454,11995 -static struct sclp_register sclp_state_change_event 486,12879 -do_load_quiesce_psw(497,13082 -do_machine_quiesce(534,13913 -do_machine_quiesce(540,14007 -sclp_quiesce(553,14214 -static struct sclp_register sclp_quiesce_event 568,14679 -struct init_sccb init_sccb574,14832 -sclp_init_mask(587,15114 -sclp_init_mask_retry(674,17908 -sclp_reboot_event(682,18115 -static struct notifier_block sclp_reboot_notifier 695,18477 -sclp_init(703,18666 -sclp_register(767,20357 -sclp_unregister(804,21238 -#define SCLP_EVBUF_PROCESSED 814,21434 -sclp_remove_processed(821,21630 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/defkeymap.c,400 -u_short plain_map[9,208 -static u_short shift_map[28,1283 -static u_short ctrl_map[47,2365 -static u_short shift_ctrl_map[66,3446 -ushort *key_maps[85,4533 -unsigned int keymap_count 90,4632 -char func_buf[99,4878 -char *funcbufptr 123,5538 -int funcbufsize 124,5567 -int funcbufleft 125,5603 -char *func_table[127,5651 -struct kbdiacr accent_table[151,6013 -unsigned int accent_table_size 156,6145 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_class.c,203 -struct class_simple *tape_class;19,419 -struct tape_class_device *register_tape_dev(36,928 -void unregister_tape_dev(97,2236 -static int __init tape_init(112,2548 -static void __exit tape_exit(119,2658 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/raw3270.h,1740 -#define TUBICMD 15,376 -#define TUBOCMD 16,441 -#define TUBGETI 17,507 -#define TUBGETO 18,572 -#define TUBSETMOD 19,638 -#define TUBGETMOD 20,698 -#define TC_WRITE 23,788 -#define TC_EWRITE 24,823 -#define TC_READMOD 25,865 -#define TC_EWRITEA 26,910 -#define TC_WRITESF 27,963 -#define TO_SF 30,1046 -#define TO_SBA 31,1085 -#define TO_IC 32,1132 -#define TO_PT 33,1173 -#define TO_RA 34,1212 -#define TO_SFE 35,1257 -#define TO_EUA 36,1306 -#define TO_MF 37,1363 -#define TO_SA 38,1403 -#define TF_INPUT 41,1473 -#define TF_INPUTN 42,1516 -#define TF_INMDT 43,1562 -#define TF_LOG 44,1608 -#define TAT_RESET 47,1662 -#define TAT_FIELD 48,1685 -#define TAT_EXTHI 49,1708 -#define TAT_COLOR 50,1731 -#define TAT_CHARS 51,1754 -#define TAT_TRANS 52,1777 -#define TAX_RESET 55,1835 -#define TAX_BLINK 56,1858 -#define TAX_REVER 57,1881 -#define TAX_UNDER 58,1904 -#define TAR_RESET 61,1946 -#define TAC_RESET 64,1989 -#define TAC_BLUE 65,2012 -#define TAC_RED 66,2034 -#define TAC_PINK 67,2056 -#define TAC_GREEN 68,2078 -#define TAC_TURQ 69,2101 -#define TAC_YELLOW 70,2123 -#define TAC_WHITE 71,2147 -#define TAC_DEFAULT 72,2170 -#define TW_NONE 75,2227 -#define TW_KR 76,2277 -#define TW_PLUSALARM 77,2321 -#define RAW3270_MAXDEVS 79,2378 -struct raw3270_iocb raw3270_iocb82,2458 -struct raw3270_request raw3270_request95,2634 -raw3270_request_final(119,3663 -#define RAW3270_IO_DONE 127,3901 -#define RAW3270_IO_BUSY 128,3951 -#define RAW3270_IO_RETRY 129,4005 -#define RAW3270_IO_STOP 130,4060 -struct raw3270_fn raw3270_fn135,4151 -struct raw3270_view raw3270_view152,4640 -raw3270_get_view(173,5409 -raw3270_put_view(181,5554 -struct stringstring197,6013 -alloc_string(207,6200 -free_string(233,6811 -add_string_memory(266,7719 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/con3270.c,1082 -#define CON3270_OUTPUT_BUFFER_SIZE 27,632 -#define CON3270_STRING_PAGES 28,672 -static struct raw3270_fn con3270_fn;30,704 -struct con3270 con327035,791 -static struct con3270 *condev;59,1711 -#define CON_UPDATE_ERASE 62,1804 -#define CON_UPDATE_LIST 63,1867 -#define CON_UPDATE_STATUS 64,1933 -#define CON_UPDATE_ALL 65,1987 -con3270_set_timer(73,2134 -con3270_update_status(96,2756 -con3270_create_status(107,3023 -con3270_update_string(131,3941 -con3270_rebuild_update(143,4219 -con3270_alloc_string(169,4839 -con3270_write_callback(198,5475 -con3270_update(208,5667 -con3270_read_tasklet(282,7471 -con3270_read_callback(346,9047 -con3270_issue_read(357,9330 -con3270_activate(380,9839 -con3270_deactivate(397,10213 -con3270_irq(409,10465 -static struct raw3270_fn con3270_fn 426,10888 -con3270_cline_add(433,11047 -con3270_cline_insert(444,11270 -con3270_cline_end(455,11563 -con3270_write(486,12364 -con3270_device(514,13102 -con3270_wait_write(524,13250 -con3270_unblank(537,13477 -con3270_consetup(560,13977 -static struct console con3270 568,14099 -con3270_init(582,14440 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_std.h,2285 -#define _TAPE_STD_H13,362 -#define MAX_BLOCKSIZE 21,528 -#define INVALID_00 26,616 -#define BACKSPACEBLOCK 27,659 -#define BACKSPACEFILE 28,711 -#define DATA_SEC_ERASE 29,761 -#define ERASE_GAP 30,816 -#define FORSPACEBLOCK 31,856 -#define FORSPACEFILE 32,910 -#define FORCE_STREAM_CNT 33,962 -#define NOP 34,1023 -#define READ_FORWARD 35,1061 -#define REWIND 36,1107 -#define REWIND_UNLOAD 37,1142 -#define SENSE 38,1194 -#define NEW_MODE_SET 39,1227 -#define WRITE_CMD 40,1281 -#define WRITETAPEMARK 41,1317 -#define ASSIGN 43,1368 -#define CONTROL_ACCESS 44,1416 -#define DIAG_MODE_SET 45,1466 -#define LOAD_DISPLAY 46,1522 -#define LOCATE 47,1575 -#define LOOP_WRITE_TO_READ 48,1622 -#define MODE_SET_DB 49,1672 -#define MODE_SET_C3 50,1724 -#define MODE_SET_CB 51,1765 -#define MODE_SET_D3 52,1806 -#define READ_BACKWARD 53,1847 -#define READ_BLOCK_ID 54,1881 -#define READ_BUFFER 55,1935 -#define READ_BUFF_LOG 56,1987 -#define RELEASE 57,2041 -#define REQ_TRK_IN_ERROR 58,2092 -#define RESERVE 59,2150 -#define SENSE_GROUP_ID 60,2201 -#define SENSE_ID 61,2256 -#define READ_DEV_CHAR 62,2305 -#define SET_DIAGNOSE 63,2367 -#define SET_GROUP_ID 64,2422 -#define SET_TAPE_WRITE_IMMED 65,2475 -#define SUSPEND 66,2524 -#define SYNC 67,2572 -#define UNASSIGN 68,2625 -#define PERF_SUBSYS_FUNC 69,2674 -#define READ_CONFIG_DATA 70,2719 -#define READ_MESSAGE_ID 71,2764 -#define READ_SUBSYS_DATA 72,2809 -#define SET_INTERFACE_ID 73,2854 -#define SENSE_COMMAND_REJECT 75,2900 -#define SENSE_INTERVENTION_REQUIRED 76,2935 -#define SENSE_BUS_OUT_CHECK 77,2976 -#define SENSE_EQUIPMENT_CHECK 78,3010 -#define SENSE_DATA_CHECK 79,3046 -#define SENSE_OVERRUN 80,3077 -#define SENSE_DEFERRED_UNIT_CHECK 81,3106 -#define SENSE_ASSIGNED_ELSEWHERE 82,3145 -#define SENSE_LOCATE_FAILURE 84,3184 -#define SENSE_DRIVE_ONLINE 85,3219 -#define SENSE_RESERVED 86,3252 -#define SENSE_RECORD_SEQUENCE_ERR 87,3282 -#define SENSE_BEGINNING_OF_TAPE 88,3321 -#define SENSE_WRITE_MODE 89,3359 -#define SENSE_WRITE_PROTECT 90,3390 -#define SENSE_NOT_CAPABLE 91,3424 -#define SENSE_CHANNEL_ADAPTER_CODE 93,3457 -#define SENSE_CHANNEL_ADAPTER_LOC 94,3497 -#define SENSE_REPORTING_CU 95,3536 -#define SENSE_AUTOMATIC_LOADER 96,3569 -#define SENSE_TAPE_SYNC_MODE 97,3606 -#define SENSE_TAPE_POSITIONING 98,3641 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tty3270.c,2648 -#define TTY3270_CHAR_BUF_SIZE 33,739 -#define TTY3270_OUTPUT_BUFFER_SIZE 34,773 -#define TTY3270_STRING_PAGES 35,813 -struct tty_driver *tty3270_driver;37,845 -static int tty3270_max_index;38,880 -struct raw3270_fn tty3270_fn;40,911 -struct tty3270_cell tty3270_cell42,942 -struct tty3270_line tty3270_line48,1044 -#define ESCAPE_NPAR 53,1109 -struct tty3270 tty327062,1327 -#define TTY_UPDATE_ERASE 112,3319 -#define TTY_UPDATE_LIST 113,3382 -#define TTY_UPDATE_INPUT 114,3448 -#define TTY_UPDATE_STATUS 115,3500 -#define TTY_UPDATE_ALL 116,3554 -tty3270_set_timer(124,3702 -tty3270_update_prompt(148,4256 -tty3270_create_prompt(175,4981 -tty3270_update_status(206,5980 -tty3270_create_status(217,6246 -tty3270_update_string(240,7020 -tty3270_rebuild_update(256,7406 -tty3270_alloc_string(287,8121 -tty3270_blank_line(318,8816 -tty3270_write_callback(338,9297 -tty3270_update(357,9681 -tty3270_rcl_add(440,11661 -tty3270_rcl_backward(460,12091 -tty3270_exit_tty(488,12800 -tty3270_scroll_forward(500,12981 -tty3270_scroll_backward(523,13415 -tty3270_read_tasklet(546,13908 -tty3270_read_callback(607,15455 -tty3270_issue_read(618,15724 -tty3270_activate(646,16328 -tty3270_deactivate(664,16723 -tty3270_irq(674,16879 -tty3270_alloc_view(698,17381 -tty3270_free_view(754,18653 -tty3270_alloc_screen(772,19031 -tty3270_free_screen(802,19701 -tty3270_release(815,19928 -tty3270_free(834,20239 -tty3270_del_views(844,20432 -struct raw3270_fn tty3270_fn 856,20649 -tty3270_open(868,20909 -tty3270_close(951,23044 -tty3270_write_room(969,23344 -tty3270_put_character(979,23572 -tty3270_convert_line(1005,24194 -tty3270_cr(1112,26663 -tty3270_lf(1121,26748 -tty3270_ri(1142,27188 -tty3270_insert_characters(1154,27361 -tty3270_delete_characters(1185,28207 -tty3270_erase_characters(1206,28592 -tty3270_erase_line(1229,29209 -tty3270_erase_display(1259,29958 -tty3270_set_attributes(1289,30598 -tty3270_getpar(1343,31841 -tty3270_goto_xy(1349,31954 -tty3270_escape_sequence(1380,32857 - enum { ESnormal,1382,32912 - enum { ESnormal, ESesc,1382,32912 - enum { ESnormal, ESesc, ESsquare,1382,32912 - enum { ESnormal, ESesc, ESsquare, ESgetpars 1382,32912 -tty3270_do_write(1529,36676 -tty3270_write(1602,38343 -tty3270_put_char(1641,39129 -tty3270_flush_chars(1657,39452 -tty3270_chars_in_buffer(1676,39849 -tty3270_flush_buffer(1682,39925 -tty3270_set_termios(1690,40040 -tty3270_throttle(1714,40489 -tty3270_unthrottle(1728,40674 -tty3270_hangup(1744,40898 -tty3270_wait_until_sent(1750,40975 -tty3270_ioctl(1755,41052 -static struct tty_operations tty3270_ops 1768,41330 -tty3270_notifier(1786,41843 -tty3270_init(1799,42145 -tty3270_exit(1842,43233 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape.h,2246 -#define _TAPE_H13,353 -#define DBF_LIKE_HELL31,718 -#define DBF_LH(DBF_LH33,762 -#define DBF_LH(DBF_LH38,888 -#define DBF_EVENT(DBF_EVENT44,985 -#define DBF_EXCEPTION(DBF_EXCEPTION49,1099 -#define TAPE_VERSION_MAJOR 54,1221 -#define TAPE_VERSION_MINOR 55,1250 -#define TAPE_MAGIC 56,1279 -#define TAPE_MINORS_PER_DEV 58,1306 -#define TAPEBLOCK_HSEC_SIZE 59,1368 -#define TAPEBLOCK_HSEC_S2B 60,1401 -#define TAPEBLOCK_RETRIES 61,1430 -enum tape_medium_state tape_medium_state63,1459 - MS_UNKNOWN,64,1484 - MS_LOADED,65,1497 - MS_UNLOADED,66,1509 - MS_SIZE67,1523 -enum tape_state tape_state70,1536 - TS_UNUSED=71,1554 - TS_IN_USE,72,1568 - TS_BLKUSE,73,1580 - TS_INIT,74,1592 - TS_NOT_OPER,75,1602 - TS_SIZE76,1616 -enum tape_op tape_op79,1629 - TO_BLOCK,80,1644 - TO_BSB,81,1672 - TO_BSF,82,1709 - TO_DSE,83,1749 - TO_FSB,84,1785 - TO_FSF,85,1821 - TO_LBL,86,1860 - TO_NOP,87,1895 - TO_RBA,88,1924 - TO_RBI,89,1954 - TO_RFO,90,1993 - TO_REW,91,2022 - TO_RUN,92,2050 - TO_WRI,93,2089 - TO_WTM,94,2117 - TO_MSEN,95,2149 - TO_LOAD,96,2178 - TO_READ_CONFIG,97,2204 - TO_READ_ATTMSG,98,2251 - TO_DIS,99,2297 - TO_ASSIGN,100,2326 - TO_UNASSIGN,101,2372 - TO_SIZE 102,2424 -enum tape_request_status tape_request_status109,2548 - TAPE_REQUEST_INIT,110,2575 - TAPE_REQUEST_QUEUED,111,2634 - TAPE_REQUEST_IN_IO,112,2696 - TAPE_REQUEST_DONE,113,2750 -struct tape_request tape_request117,2825 -typedef int (*tape_mtop_fn)tape_mtop_fn136,3488 -#define TAPE_NR_MTOPS 139,3607 -struct tape_discipline tape_discipline142,3665 -#define TAPE_IO_SUCCESS 166,4659 -#define TAPE_IO_PENDING 167,4710 -#define TAPE_IO_RETRY 168,4764 -#define TAPE_IO_STOP 169,4819 -struct tape_char_data tape_char_data172,4899 -struct tape_blk_datatape_blk_data179,5098 -struct tape_device tape_device197,5493 -tape_do_io_free(251,6989 -static inline int tapeblock_init 291,8426 -static inline void tapeblock_exit 292,8478 -static inline int tapeblock_setup_device(293,8523 -static inline void tapeblock_cleanup_device 294,8599 -static inline void tape_proc_init 302,8816 -static inline void tape_proc_cleanup 303,8861 -tape_ccw_cc(320,9407 -tape_ccw_end(330,9638 -tape_ccw_cmd(340,9860 -tape_ccw_repeat(350,10061 -tape_ccw_cc_idal(363,10321 -tape_ccw_end_idal(372,10535 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/raw3270.c,2296 -struct raw3270 raw327029,695 -#define RAW3270_FLAGS_14BITADDR 47,1107 -#define RAW3270_FLAGS_BUSY 48,1171 -#define RAW3270_FLAGS_ATTN 49,1234 -#define RAW3270_FLAGS_READY 50,1299 -#define RAW3270_FLAGS_CONSOLE 51,1362 -static struct list_head raw3270_devices 57,1561 -static int raw3270_registered;64,1843 -static int tubxcorrect 67,1899 -unsigned char raw3270_ebcgraf[78,2113 -raw3270_buffer_address(90,2551 -raw3270_request_alloc(105,2904 -raw3270_request_alloc_bootmem(141,3671 -raw3270_request_free 176,4287 -raw3270_request_reset(187,4439 -raw3270_request_set_cmd(202,4717 -raw3270_request_add_data(211,4857 -raw3270_request_set_data(224,5139 -raw3270_request_set_idal(234,5324 -raw3270_halt_io_nolock(245,5535 -raw3270_halt_io(265,5977 -__raw3270_start(281,6386 -raw3270_start(301,6885 -raw3270_start_irq(320,7333 -raw3270_irq 335,7626 -struct raw3270_ua raw3270_ua426,9910 - } __attribute__ __attribute__445,10451 - } __attribute__ __attribute__458,10881 -static struct raw3270_fn raw3270_init_fn 498,11940 -static struct raw3270_view raw3270_init_view 502,12015 -raw3270_wake_init(513,12359 -raw3270_start_init(522,12546 -__raw3270_size_device_vm(561,13594 -__raw3270_size_device(602,14324 -raw3270_size_device(686,17224 -raw3270_reset_device(713,17810 -raw3270_setup_device(740,18620 -raw3270_setup_console(800,19925 -raw3270_wait_cons_dev(820,20388 -raw3270_create_device(835,20663 -raw3270_activate_view(864,21172 -raw3270_deactivate_view(910,22184 -raw3270_add_view(941,22908 -raw3270_find_view(976,23737 -raw3270_del_view(1009,24488 -raw3270_delete_device(1043,25324 -raw3270_probe 1067,25753 -raw3270_model_show(1076,25874 -raw3270_rows_show(1084,26091 -raw3270_columns_show(1092,26304 -static struct attribute * raw3270_attrs[1099,26511 -static struct attribute_group raw3270_attr_group 1106,26638 -raw3270_create_attributes(1111,26732 -struct raw3270_notifier raw3270_notifier1120,26921 -static struct list_head raw3270_notifier 1125,27004 -int raw3270_register_notifier(1127,27082 -void raw3270_unregister_notifier(1146,27518 -raw3270_set_online 1164,27836 -raw3270_remove 1188,28350 -raw3270_set_offline 1231,29422 -static struct ccw_device_id raw3270_id[1242,29625 -static struct ccw_driver raw3270_ccw_driver 1257,30006 -raw3270_init(1268,30262 -raw3270_exit(1290,30689 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_cpi.c,509 -#define CPI_LENGTH_SYSTEM_TYPE 24,507 -#define CPI_LENGTH_SYSTEM_NAME 25,540 -#define CPI_LENGTH_SYSPLEX_NAME 26,573 -struct cpi_evbuf cpi_evbuf28,608 -struct cpi_sccb cpi_sccb42,925 -static struct sclp_register sclp_cpi_event 48,1100 -static char *system_name 61,1388 -static char *sysplex_name 65,1527 -static char *system_type 72,1771 -cpi_check_parms(75,1819 -cpi_callback(116,3031 -cpi_prepare_req(125,3177 -cpi_free_req(179,4874 -cpi_module_init(186,4984 -static void __exit cpi_module_exit(237,6068 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/keyboard.h,159 -#define NR_FN_HANDLER 13,317 -typedef void (fn_handler_fn)fn_handler_fn17,361 -struct kbd_data kbd_data23,454 -kbd_put_queue(45,986 -kbd_puts_queue(52,1116 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/ctrlchar.h,121 -#define CTRLCHAR_NONE 16,356 -#define CTRLCHAR_CTRL 17,388 -#define CTRLCHAR_SYSRQ 18,420 -#define CTRLCHAR_MASK 20,453 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_block.c,694 -#define TAPE_DBF_AREA 22,566 -#define PRINTK_HEADER 26,622 -#define TAPEBLOCK_MAX_SEC 28,660 -#define TAPEBLOCK_MIN_REQUEUE 29,690 -static struct block_device_operations tapeblock_fops 53,1641 -static int tapeblock_major 62,1916 -tapeblock_trigger_requeue(65,1961 -tapeblock_end_request(77,2240 -__tapeblock_end_request(85,2418 -tapeblock_start_request(112,3204 -tapeblock_requeue(147,4015 -tapeblock_request_fn(195,5254 -tapeblock_setup_device(211,5572 -tapeblock_cleanup_device(274,7199 -tapeblock_revalidate_disk(303,7979 -tapeblock_medium_changed(353,8995 -tapeblock_open(368,9329 -tapeblock_release(414,10314 -tapeblock_ioctl(430,10639 -tapeblock_init(470,11414 -tapeblock_exit(489,11768 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/keyboard.c,559 -#define K_HANDLERS\24,489 -typedef void (k_handler_fn)k_handler_fn30,670 -static k_handler_fn K_HANDLERS;31,733 -static k_handler_fn *k_handler[32,765 -static const int max_vals[35,868 -static const int NR_TYPES 39,999 -static unsigned char ret_diacr[41,1050 -kbd_alloc(49,1192 -kbd_free(117,2992 -kbd_ascebc(138,3421 -kbd_ebcasc(164,4029 -handle_diacr(194,4893 -k_dead(218,5289 -k_self(228,5482 -k_ignore(239,5666 -k_fn(247,5767 -k_spec(254,5913 -to_utf8(268,6209 -kbd_keycode(289,6653 -do_kdsk_ioctl(341,7829 -do_kdgkb_ioctl(413,9483 -kbd_ioctl(464,10542 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp.h,1928 -#define __SCLP_H__11,254 -#define MAX_KMEM_PAGES 19,416 -#define MAX_CONSOLE_PAGES 20,468 -#define EvTyp_OpCmd 22,497 -#define EvTyp_Msg 23,523 -#define EvTyp_StateChange 24,547 -#define EvTyp_PMsgCmd 25,578 -#define EvTyp_CntlProgOpCmd 26,606 -#define EvTyp_CntlProgIdent 27,639 -#define EvTyp_SigQuiesce 28,672 -#define EvTyp_VT220Msg 29,702 -#define EvTyp_OpCmd_Mask 31,732 -#define EvTyp_Msg_Mask 32,768 -#define EvTyp_StateChange_Mask 33,803 -#define EvTyp_PMsgCmd_Mask 34,845 -#define EvTyp_CtlProgOpCmd_Mask 35,883 -#define EvTyp_CtlProgIdent_Mask 36,926 -#define EvTyp_SigQuiesce_Mask 37,969 -#define EvTyp_VT220Msg_Mask 38,1010 -#define GnrlMsgFlgs_DOM 40,1050 -#define GnrlMsgFlgs_SndAlrm 41,1082 -#define GnrlMsgFlgs_HoldMsg 42,1117 -#define LnTpFlgs_CntlText 44,1153 -#define LnTpFlgs_LabelText 45,1186 -#define LnTpFlgs_DataText 46,1220 -#define LnTpFlgs_EndText 47,1253 -#define LnTpFlgs_PromptText 48,1285 -typedef unsigned int sclp_cmdw_t;sclp_cmdw_t50,1321 -#define SCLP_CMDW_READDATA 52,1356 -#define SCLP_CMDW_WRITEDATA 53,1394 -#define SCLP_CMDW_WRITEMASK 54,1433 -#define GDS_ID_MDSMU 56,1473 -#define GDS_ID_MDSRouteInfo 57,1502 -#define GDS_ID_AgUnWrkCorr 58,1537 -#define GDS_ID_SNACondReport 59,1571 -#define GDS_ID_CPMSU 60,1607 -#define GDS_ID_RoutTargInstr 61,1636 -#define GDS_ID_OpReq 62,1672 -#define GDS_ID_TextCmd 63,1701 -#define GDS_KEY_SelfDefTextMsg 65,1733 -typedef u32 sccb_mask_t;sccb_mask_t67,1770 -struct sccb_header sccb_header69,1836 -struct gds_subvector gds_subvector76,1958 -struct gds_vector gds_vector81,2030 -struct evbuf_header evbuf_header86,2104 -struct sclp_req sclp_req93,2204 -#define SCLP_REQ_FILLED 103,2571 -#define SCLP_REQ_QUEUED 104,2641 -#define SCLP_REQ_RUNNING 105,2712 -#define SCLP_REQ_DONE 106,2778 -#define SCLP_REQ_FAILED 107,2847 -struct sclp_register sclp_register111,3059 -sclp_ascebc(138,3965 -sclp_ebcasc_str(145,4120 -sclp_ascebc_str(152,4290 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/con3215.c,2411 -#define NR_3215 38,849 -#define NR_3215_REQ 39,872 -#define RAW3215_BUFFER_SIZE 40,908 -#define RAW3215_INBUF_SIZE 41,971 -#define RAW3215_MIN_SPACE 42,1033 -#define RAW3215_MIN_WRITE 43,1107 -#define RAW3215_MAX_BYTES 44,1184 -#define RAW3215_MAX_NEWLINE 45,1262 -#define RAW3215_NR_CCWS 46,1339 -#define RAW3215_TIMEOUT 47,1369 -#define RAW3215_FIXED 49,1438 -#define RAW3215_ACTIVE 50,1514 -#define RAW3215_WORKING 51,1583 -#define RAW3215_THROTTLED 52,1661 -#define RAW3215_STOPPED 53,1730 -#define RAW3215_CLOSING 54,1800 -#define RAW3215_TIMER_RUNS 55,1870 -#define RAW3215_FLUSHING 56,1949 -#define TAB_STOP_SIZE 58,2025 -enum raw3215_type raw3215_type63,2122 - RAW3215_FREE,64,2142 - RAW3215_FREE, RAW3215_READ,64,2142 - RAW3215_FREE, RAW3215_READ, RAW3215_WRITE64,2142 -struct raw3215_req raw3215_req70,2235 -struct raw3215_info raw3215_info80,2729 -static struct raw3215_info *raw3215[103,3879 -static spinlock_t raw3215_device_lock 105,3969 -static struct raw3215_req *raw3215_freelist;107,4067 -static spinlock_t raw3215_freelist_lock;109,4148 -static struct tty_driver *tty3215_driver;111,4190 -raw3215_alloc_req(117,4321 -raw3215_free_req(132,4650 -raw3215_mk_read_req(151,5239 -raw3215_mk_write_req(180,6042 -raw3215_start_io(257,8070 -raw3215_timeout(296,9023 -raw3215_try_io(318,9701 -raw3215_tasklet(350,10633 -raw3215_irq(377,11264 -raw3215_make_room(509,14873 -raw3215_write(534,15488 -raw3215_putchar(575,16480 -raw3215_flush_buffer(612,17321 -raw3215_startup(629,17639 -raw3215_shutdown(648,17967 -raw3215_probe 674,18753 -raw3215_remove 722,19838 -raw3215_set_online 737,20087 -raw3215_set_offline 749,20266 -static struct ccw_device_id raw3215_id[762,20441 -static struct ccw_driver raw3215_ccw_driver 767,20542 -con3215_write(782,20873 -static struct tty_driver *con3215_device(805,21305 -con3215_unblank(816,21532 -con3215_consetup(828,21811 -static struct console con3215 836,21933 -con3215_init(850,22271 -tty3215_open(917,24043 -tty3215_close(951,24677 -tty3215_write_room(969,25048 -tty3215_write(986,25429 -tty3215_put_char(1021,26115 -tty3215_flush_chars(1032,26316 -tty3215_chars_in_buffer(1040,26440 -tty3215_flush_buffer(1049,26602 -tty3215_ioctl(1062,26850 -tty3215_throttle(1079,27129 -tty3215_unthrottle(1091,27340 -tty3215_stop(1109,27724 -tty3215_start(1121,27926 -static struct tty_operations tty3215_ops 1135,28248 -tty3215_init(1156,28837 -tty3215_exit(1203,29951 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_vt220.c,2394 -#define SCLP_VT220_PRINT_HEADER 31,748 -#define SCLP_VT220_MAJOR 32,807 -#define SCLP_VT220_MINOR 33,843 -#define SCLP_VT220_DRIVER_NAME 34,872 -#define SCLP_VT220_DEVICE_NAME 35,917 -#define SCLP_VT220_CONSOLE_NAME 36,959 -#define SCLP_VT220_CONSOLE_INDEX 37,999 -#define SCLP_VT220_BUF_SIZE 38,1054 -struct sclp_vt220_request sclp_vt220_request41,1134 -struct sclp_vt220_sccb sclp_vt220_sccb49,1284 -#define SCLP_VT220_MAX_CHARS_PER_BUFFER 54,1369 -static struct tty_driver *sclp_vt220_driver;59,1563 -static struct tty_struct *sclp_vt220_tty;62,1665 -static spinlock_t sclp_vt220_lock;65,1767 -static struct list_head sclp_vt220_empty;68,1865 -static struct list_head sclp_vt220_outqueue;71,1939 -static int sclp_vt220_outqueue_count;74,2022 -static wait_queue_head_t sclp_vt220_waitq;77,2138 -static struct timer_list sclp_vt220_timer;81,2280 -static struct sclp_vt220_request *sclp_vt220_current_request;85,2416 -static int sclp_vt220_buffered_chars;88,2532 -static int sclp_vt220_initialized 91,2642 -static int sclp_vt220_flush_later;96,2839 -static struct sclp_register sclp_vt220_register 103,3118 -sclp_vt220_process_queue(116,3430 -sclp_vt220_retry(151,4467 -#define SCLP_BUFFER_MAX_RETRY 163,4806 -#define SCLP_BUFFER_RETRY_INTERVAL 164,4839 -sclp_vt220_callback(171,4980 -__sclp_vt220_emit(226,6485 -sclp_vt220_emit(245,7023 -sclp_vt220_emit_current(264,7487 -#define SCLP_NORMAL_WRITE 289,8195 -sclp_vt220_initialize_page(295,8342 -sclp_vt220_space_left(319,9083 -sclp_vt220_chars_stored(328,9348 -sclp_vt220_add_msg(340,9667 -sclp_vt220_timeout(390,10893 -#define BUFFER_MAX_DELAY 395,10965 -__sclp_vt220_write(410,11668 -sclp_vt220_write(476,13734 -#define SCLP_VT220_SESSION_ENDED 505,14414 -#define SCLP_VT220_SESSION_STARTED 506,14452 -#define SCLP_VT220_SESSION_DATA 507,14492 -sclp_vt220_receiver_fn(513,14606 -sclp_vt220_open(552,15759 -sclp_vt220_close(568,16108 -sclp_vt220_put_char(588,16756 -sclp_vt220_flush_chars(598,17002 -sclp_vt220_write_room(613,17392 -sclp_vt220_chars_in_buffer(633,17859 -__sclp_vt220_flush_buffer(653,18379 -sclp_vt220_flush_buffer(674,18908 -__sclp_vt220_init(683,19078 -static struct tty_operations sclp_vt220_ops 715,19887 -sclp_vt220_tty_init(730,20319 -sclp_vt220_con_write(782,21613 -sclp_vt220_con_device(788,21787 -sclp_vt220_con_unblank(800,22123 -static struct console sclp_vt220_console 806,22234 -sclp_vt220_con_init(817,22499 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_tty.h,596 -#define __SCLP_TTY_H__12,308 -struct sclp_ioctls sclp_ioctls19,485 -#define SCLP_IOCTL_LETTER 31,815 -#define TIOCSCLPSHTAB 34,886 -#define TIOCSCLPSECHO 36,1021 -#define TIOCSCLPSCOLS 38,1123 -#define TIOCSCLPSNL 40,1250 -#define TIOCSCLPSOBUF 42,1389 -#define TIOCSCLPSINIT 44,1494 -#define TIOCSCLPSCASE 46,1608 -#define TIOCSCLPSDELIM 49,1775 -#define TIOCSCLPGHTAB 52,1881 -#define TIOCSCLPGECHO 54,2015 -#define TIOCSCLPGCOLS 56,2118 -#define TIOCSCLPGNL 58,2244 -#define TIOCSCLPGOBUF 60,2351 -#define TIOCSCLPGCASE 62,2481 -#define TIOCSCLPGDELIM 65,2649 -#define TIOCSCLPGKBUF 67,2780 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_proc.c,504 -#define TAPE_DBF_AREA 19,424 -#define PRINTK_HEADER 23,480 -static const char *tape_med_st_verbose[25,517 -static struct proc_dir_entry *tape_proc_devices;33,689 -static int tape_proc_show(38,785 -static void *tape_proc_start(83,2170 -static void *tape_proc_next(90,2336 -static void tape_proc_stop(96,2453 -static struct seq_operations tape_proc_seq 100,2514 -static int tape_proc_open(107,2671 -static struct file_operations tape_proc_ops 112,2782 -tape_proc_init(124,2978 -tape_proc_cleanup(141,3370 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_char.c,484 -#define TAPE_DBF_AREA 21,542 -#define PRINTK_HEADER 27,644 -#define TAPECHAR_MAJOR 29,681 -static struct file_operations tape_fops 41,1166 -static int tapechar_major 51,1367 -tapechar_setup_device(57,1475 -tapechar_cleanup_device(82,1958 -tapechar_terminate_write(98,2444 -tapechar_check_idalbuffer(106,2633 -tapechar_read(139,3386 -tapechar_write(203,5001 -tapechar_open 293,7288 -tapechar_release(328,8006 -tapechar_ioctl(365,8891 -tapechar_init 470,11162 -tapechar_exit(487,11404 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_con.c,766 -#define SCLP_CON_PRINT_HEADER 24,541 -#define sclp_console_major 26,596 -#define sclp_console_minor 27,645 -#define sclp_console_name 28,675 -static spinlock_t sclp_con_lock;31,763 -static struct list_head sclp_con_pages;33,867 -static struct list_head sclp_con_outqueue;35,973 -static int sclp_con_buffer_count;38,1111 -static struct sclp_buffer *sclp_conbuf;40,1185 -static struct timer_list sclp_con_timer;42,1276 -static unsigned short sclp_con_columns;45,1359 -static unsigned short sclp_con_width_htab;46,1399 -sclp_conbuf_callback(49,1455 -sclp_conbuf_emit(74,2258 -sclp_console_timeout(99,2876 -sclp_console_write(108,3013 -sclp_console_device(164,4708 -sclp_console_unblank(176,4975 -static struct console sclp_console 196,5464 -sclp_console_init(210,5774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_tty.c,1514 -#define SCLP_TTY_PRINT_HEADER 29,665 -#define SCLP_TTY_BUF_SIZE 35,812 -static spinlock_t sclp_tty_lock;43,1015 -static struct list_head sclp_tty_pages;45,1120 -static struct list_head sclp_tty_outqueue;47,1227 -static int sclp_tty_buffer_count;49,1314 -static struct sclp_buffer *sclp_ttybuf;51,1389 -static struct timer_list sclp_tty_timer;53,1481 -static wait_queue_head_t sclp_tty_waitq;55,1572 -static struct tty_struct *sclp_tty;57,1614 -static unsigned char sclp_tty_chars[58,1650 -static unsigned short int sclp_tty_chars_count;59,1706 -struct tty_driver *sclp_tty_driver;61,1755 -static struct sclp_ioctls sclp_ioctls;65,1833 -static struct sclp_ioctls sclp_ioctls_init 66,1872 -sclp_tty_open(81,2398 -sclp_tty_close(91,2612 -sclp_tty_ioctl(100,2814 -sclp_tty_write_room 238,6792 -sclp_ttybuf_callback(255,7187 -__sclp_ttybuf_emit(285,8110 -sclp_tty_timeout(304,8551 -sclp_tty_write_string(323,8879 -sclp_tty_write(398,11133 -sclp_tty_put_char(441,12371 -sclp_tty_flush_chars(455,12782 -sclp_tty_chars_in_buffer(471,13310 -sclp_tty_flush_buffer(494,13835 -sclp_tty_input(506,14053 -sclp_switch_cases(552,15319 -sclp_get_input(599,16420 -find_gds_vector(633,17275 -find_gds_subvector(644,17535 -sclp_eval_selfdeftextmsg(657,17822 -sclp_eval_textcmd(674,18229 -sclp_eval_cpmsu(692,18659 -sclp_eval_mdsmu(709,19013 -sclp_tty_receiver(719,19225 -sclp_tty_state_change(731,19526 -static struct sclp_register sclp_input_event 735,19580 -static struct tty_operations sclp_ops 742,19766 -sclp_tty_init(755,20117 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_rw.h,281 -#define __SCLP_RW_H__12,306 -struct mto mto17,379 -struct go go25,505 -struct mdb_header mdb_header40,779 -struct mdb mdb47,881 -struct msg_buf msg_buf52,964 -struct write_sccb write_sccb57,1055 -#define NR_EMPTY_MTO_PER_SCCB 63,1234 -struct sclp_buffer sclp_buffer70,1489 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_34xx.c,1550 -#define TAPE_DBF_AREA 18,469 -#define PRINTK_HEADER 23,547 -debug_info_t *TAPE_DBF_AREA 28,617 -enum tape_34xx_type tape_34xx_type31,684 - tape_3480,32,706 - tape_3490,33,718 -#define TAPE34XX_FMT_3480 36,734 -#define TAPE34XX_FMT_3480_2_XF 37,762 -#define TAPE34XX_FMT_3480_XF 38,795 -struct tape_34xx_block_id tape_34xx_block_id40,827 -struct tape_34xx_sbid tape_34xx_sbid50,1028 -tape_34xx_medium_sense(62,1302 -tape_34xx_work_handler(113,2740 -tape_34xx_schedule_work(134,3101 -tape_34xx_done(159,3624 -tape_34xx_erp_failed(179,3978 -tape_34xx_erp_succeeded(187,4167 -tape_34xx_erp_retry(195,4364 -tape_34xx_unsolicited_irq(206,4609 -tape_34xx_erp_read_opposite(226,5184 -tape_34xx_erp_bug(249,5805 -tape_34xx_erp_overrun(269,6376 -tape_34xx_erp_sequence(285,6805 -tape_34xx_unit_check(308,7452 -tape_34xx_irq(850,25447 -tape_34xx_ioctl(891,26534 -tape_34xx_append_new_sbid(905,26858 -tape_34xx_add_sbid(923,27342 -tape_34xx_delete_sbid_from(985,29054 -tape_34xx_merge_sbid(1014,29657 -tape_34xx_setup_device(1051,30457 -tape_34xx_cleanup_device(1072,30915 -tape_34xx_mttell(1088,31221 -tape_34xx_mtseek(1108,31624 -tape_34xx_bread(1142,32521 -tape_34xx_free_bread 1208,34317 -tape_34xx_check_locate(1239,35149 -static tape_mtop_fn tape_34xx_mtop[1263,35938 -static struct tape_discipline tape_discipline_34xx 1301,36921 -static struct ccw_device_id tape_34xx_ids[1318,37426 -tape_34xx_online(1325,37652 -tape_34xx_offline(1334,37792 -static struct ccw_driver tape_34xx_driver 1339,37893 -tape_34xx_init 1350,38152 -tape_34xx_exit(1371,38635 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/tape_core.c,1514 -#define TAPE_DBF_AREA 23,685 -#define PRINTK_HEADER 28,763 -static struct list_head tape_device_list 38,1132 -static rwlock_t tape_device_lock 39,1209 -debug_info_t *TAPE_DBF_AREA 44,1296 -const char *tape_state_verbose[50,1414 -const char *tape_op_verbose[59,1596 -busid_to_int(76,2094 -tape_medium_state_show(110,2763 -tape_first_minor_show(122,3048 -tape_state_show(134,3329 -tape_operation_show(147,3651 -tape_blocksize_show(174,4312 -static struct attribute *tape_attrs[186,4582 -static struct attribute_group tape_attr_group 195,4770 -tape_state_set(203,4882 -tape_med_state_set(233,5704 -__tape_halt_io(260,6366 -tape_assign_minor(297,7168 -tape_remove_minor(321,7673 -tape_generic_online(338,8159 -tape_cleanup_device(384,9108 -tape_generic_offline(401,9575 -tape_alloc_device(441,10551 -tape_get_device_reference(478,11580 -tape_put_device(493,12014 -tape_get_device(518,12541 -tape_generic_probe(538,12938 -__tape_discard_requests(558,13422 -tape_generic_remove(584,14145 -tape_alloc_request(641,15673 -tape_free_request 690,16941 -__tape_do_io_list(705,17276 -__tape_remove_request(740,18230 -tape_dump_sense(758,18625 -tape_dump_sense_dbf(782,19385 -__tape_do_io(808,20155 -tape_do_io_async(860,21563 -__tape_wake_up(879,22088 -tape_do_io(886,22219 -__tape_wake_up_interruptible(913,23010 -tape_do_io_interruptible(920,23169 -tape_handle_killed_request(955,24182 -__tape_do_irq 973,24587 -tape_open(1102,27987 -tape_release(1132,28705 -tape_mtop(1146,29030 -tape_init 1180,29805 -tape_exit(1198,30176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/char/sclp_rw.c,561 -#define SCLP_RW_PRINT_HEADER 23,557 -#define MAX_SCCB_ROOM 30,828 -static struct sclp_register sclp_rw_event 33,964 -sclp_make_buffer(44,1327 -sclp_unmake_buffer(85,2508 -sclp_initialize_mto(95,2745 -sclp_finalize_mto(133,3792 -sclp_write(178,5060 -sclp_buffer_space(308,9067 -sclp_chars_in_buffer(322,9343 -sclp_set_columns(336,9607 -sclp_set_htab(345,9827 -sclp_rw_init(354,9980 -sclp_buffer_retry(369,10162 -#define SCLP_BUFFER_MAX_RETRY 377,10390 -#define SCLP_BUFFER_RETRY_INTERVAL 378,10423 -sclp_writedata_callback(385,10605 -sclp_emit_buffer(452,12319 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_ext.h,62 -#define ZFCP_EXT_H32,1147 -#define ZFCP_EXT_REVISION 34,1240 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_sysfs_port.c,647 -#define ZFCP_SYSFS_PORT_C_REVISION 29,968 -#define ZFCP_LOG_AREA 33,1047 -zfcp_sysfs_port_release(40,1238 -#define ZFCP_DEFINE_PORT_ATTR(ZFCP_DEFINE_PORT_ATTR53,1463 -zfcp_sysfs_unit_add_store(81,2888 -zfcp_sysfs_unit_remove_store(124,3847 -zfcp_sysfs_port_failed_store(185,5319 -zfcp_sysfs_port_failed_show(223,6259 -static struct attribute *zfcp_port_common_attrs[241,6722 -static struct attribute_group zfcp_port_common_attr_group 250,6907 -static struct attribute *zfcp_port_no_ns_attrs[258,7097 -static struct attribute_group zfcp_port_no_ns_attr_group 265,7240 -zfcp_sysfs_port_create_files(276,7512 -zfcp_sysfs_port_remove_files(299,8069 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_ccw.c,396 -#define ZFCP_CCW_C_REVISION 29,961 -#define ZFCP_LOG_AREA 33,1033 -static struct ccw_device_id zfcp_ccw_device_id[42,1403 -static struct ccw_driver zfcp_ccw_driver 54,1730 -zfcp_ccw_probe(81,2623 -zfcp_ccw_remove(107,3350 -zfcp_ccw_set_online(154,4908 -zfcp_ccw_set_offline(201,6198 -zfcp_ccw_notify(225,6822 -zfcp_ccw_register(267,8017 -zfcp_ccw_unregister(288,8461 -zfcp_ccw_shutdown(300,8739 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_scsi.c,1392 -#define ZFCP_LOG_AREA 31,1129 -#define ZFCP_SCSI_REVISION 34,1247 -static struct device_attribute *zfcp_sysfs_sdev_attrs[54,2108 -struct scsi_transport_template *zfcp_transport_template;56,2166 -struct zfcp_data zfcp_data 58,2224 -zfcp_get_fcp_rsp_info_ptr(90,3454 -zfcp_get_fcp_sns_info_ptr(102,3720 -zfcp_get_fcp_dl_ptr(116,4062 -zfcp_get_fcp_dl(133,4506 -zfcp_set_fcp_dl(139,4601 -set_byte(149,4818 -set_host_byte(155,4907 -set_driver_byte(161,4988 -zfcp_scsi_slave_alloc(175,5150 -zfcp_scsi_slave_destroy(208,5774 -zfcp_scsi_slave_configure(226,6167 -zfcp_scsi_command_fail(241,6587 -zfcp_scsi_command_async(260,7144 -zfcp_scsi_command_sync_handler(310,8510 -zfcp_scsi_command_sync(327,8938 -zfcp_scsi_queuecommand(353,9559 -zfcp_unit_lookup(384,10222 -zfcp_port_lookup(413,10761 -zfcp_scsi_eh_abort_handler(443,11722 -zfcp_scsi_eh_device_reset_handler(629,18377 -zfcp_task_management_function(684,19979 -zfcp_scsi_eh_bus_reset_handler(727,21049 -zfcp_scsi_eh_host_reset_handler(754,21640 -zfcp_adapter_scsi_register(781,22203 -zfcp_adapter_scsi_unregister(834,23695 -zfcp_fsf_start_scsi_er_timer(852,24029 -zfcp_get_port_id(864,24384 -zfcp_get_port_name(881,24902 -zfcp_get_node_name(898,25426 -struct fc_function_template zfcp_transport_functions 914,25938 -#define ZFCP_DEFINE_SCSI_ATTR(ZFCP_DEFINE_SCSI_ATTR931,26383 -static struct device_attribute *zfcp_sysfs_sdev_attrs[949,27552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_fsf.h,7119 -#define FSF_H32,1142 -#define FSF_QTCB_VERSION1 34,1157 -#define FSF_QTCB_CURRENT_VERSION 35,1196 -#define FSF_QTCB_FCP_CMND 38,1268 -#define FSF_QTCB_ABORT_FCP_CMND 39,1307 -#define FSF_QTCB_OPEN_PORT_WITH_DID 40,1352 -#define FSF_QTCB_OPEN_LUN 41,1400 -#define FSF_QTCB_CLOSE_LUN 42,1439 -#define FSF_QTCB_CLOSE_PORT 43,1479 -#define FSF_QTCB_CLOSE_PHYSICAL_PORT 44,1520 -#define FSF_QTCB_SEND_ELS 45,1569 -#define FSF_QTCB_SEND_GENERIC 46,1608 -#define FSF_QTCB_EXCHANGE_CONFIG_DATA 47,1651 -#define FSF_QTCB_EXCHANGE_PORT_DATA 48,1701 -#define FSF_QTCB_DOWNLOAD_CONTROL_FILE 49,1749 -#define FSF_QTCB_UPLOAD_CONTROL_FILE 50,1800 -#define FSF_IO_COMMAND 53,1871 -#define FSF_SUPPORT_COMMAND 54,1908 -#define FSF_CONFIG_COMMAND 55,1949 -#define FSF_PORT_COMMAND 56,1989 -#define FSF_CFDC_OPERATION_SUBTYPE 59,2099 -#define FSF_CFDC_OPTION_NORMAL_MODE 60,2146 -#define FSF_CFDC_OPTION_FORCE 61,2194 -#define FSF_CFDC_OPTION_FULL_ACCESS 62,2237 -#define FSF_CFDC_OPTION_RESTRICTED_ACCESS 63,2285 -#define FSF_PROT_GOOD 66,2364 -#define FSF_PROT_QTCB_VERSION_ERROR 67,2400 -#define FSF_PROT_SEQ_NUMB_ERROR 68,2448 -#define FSF_PROT_UNSUPP_QTCB_TYPE 69,2493 -#define FSF_PROT_HOST_CONNECTION_INITIALIZING 70,2539 -#define FSF_PROT_FSF_STATUS_PRESENTED 71,2596 -#define FSF_PROT_DUPLICATE_REQUEST_ID 72,2646 -#define FSF_PROT_LINK_DOWN 73,2696 -#define FSF_PROT_REEST_QUEUE 74,2755 -#define FSF_PROT_ERROR_STATE 75,2814 -#define FSF_GOOD 78,2873 -#define FSF_PORT_ALREADY_OPEN 79,2904 -#define FSF_LUN_ALREADY_OPEN 80,2947 -#define FSF_PORT_HANDLE_NOT_VALID 81,2989 -#define FSF_LUN_HANDLE_NOT_VALID 82,3035 -#define FSF_HANDLE_MISMATCH 83,3080 -#define FSF_SERVICE_CLASS_NOT_SUPPORTED 84,3121 -#define FSF_FCPLUN_NOT_VALID 85,3173 -#define FSF_ACCESS_DENIED 86,3215 -#define FSF_LUN_SHARING_VIOLATION 87,3254 -#define FSF_FCP_COMMAND_DOES_NOT_EXIST 88,3313 -#define FSF_DIRECTION_INDICATOR_NOT_VALID 89,3364 -#define FSF_CMND_LENGTH_NOT_VALID 90,3417 -#define FSF_MAXIMUM_NUMBER_OF_PORTS_EXCEEDED 91,3463 -#define FSF_MAXIMUM_NUMBER_OF_LUNS_EXCEEDED 92,3519 -#define FSF_ELS_COMMAND_REJECTED 93,3574 -#define FSF_GENERIC_COMMAND_REJECTED 94,3619 -#define FSF_OPERATION_PARTIALLY_SUCCESSFUL 95,3668 -#define FSF_AUTHORIZATION_FAILURE 96,3722 -#define FSF_CFDC_ERROR_DETECTED 97,3768 -#define FSF_CONTROL_FILE_UPDATE_ERROR 98,3813 -#define FSF_CONTROL_FILE_TOO_LARGE 99,3863 -#define FSF_ACCESS_CONFLICT_DETECTED 100,3910 -#define FSF_CONFLICTS_OVERRULED 101,3959 -#define FSF_PORT_BOXED 102,4004 -#define FSF_LUN_BOXED 103,4041 -#define FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE 104,4077 -#define FSF_PAYLOAD_SIZE_MISMATCH 105,4132 -#define FSF_REQUEST_SIZE_TOO_LARGE 106,4178 -#define FSF_RESPONSE_SIZE_TOO_LARGE 107,4225 -#define FSF_ADAPTER_STATUS_AVAILABLE 108,4273 -#define FSF_FCP_RSP_AVAILABLE 109,4322 -#define FSF_UNKNOWN_COMMAND 110,4365 -#define FSF_UNKNOWN_OP_SUBTYPE 111,4406 -#define FSF_INVALID_COMMAND_OPTION 112,4465 -#define FSF_STATUS_QUALIFIER_SIZE 115,4589 -#define FSF_SQ_NO_RECOM 118,4672 -#define FSF_SQ_FCP_RSP_AVAILABLE 119,4704 -#define FSF_SQ_RETRY_IF_POSSIBLE 120,4743 -#define FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED 121,4782 -#define FSF_SQ_INVOKE_LINK_TEST_PROCEDURE 122,4829 -#define FSF_SQ_ULP_PROGRAMMING_ERROR 123,4876 -#define FSF_SQ_COMMAND_ABORTED 124,4919 -#define FSF_SQ_NO_RETRY_POSSIBLE 125,4957 -#define FSF_SQ_CFDC_COULD_NOT_HARDEN_ON_SE 128,5042 -#define FSF_SQ_CFDC_COULD_NOT_HARDEN_ON_SE2 129,5096 -#define FSF_SQ_CFDC_SUBTABLE_OS 131,5177 -#define FSF_SQ_CFDC_SUBTABLE_PORT_WWPN 132,5218 -#define FSF_SQ_CFDC_SUBTABLE_PORT_DID 133,5265 -#define FSF_SQ_CFDC_SUBTABLE_LUN 134,5311 -#define FSF_PSQ_LINK_NOLIGHT 137,5424 -#define FSF_PSQ_LINK_WRAPPLUG 138,5466 -#define FSF_PSQ_LINK_NOFCP 139,5509 -#define FSF_STATUS_READ_PAYLOAD_SIZE 142,5591 -#define FSF_STATUS_READS_RECOM 145,5698 -#define FSF_STATUS_READ_PORT_CLOSED 148,5776 -#define FSF_STATUS_READ_INCOMING_ELS 149,5824 -#define FSF_STATUS_READ_BIT_ERROR_THRESHOLD 150,5873 -#define FSF_STATUS_READ_LINK_DOWN 151,5928 -#define FSF_STATUS_READ_LINK_UP 152,5995 -#define FSF_STATUS_READ_CFDC_UPDATED 153,6048 -#define FSF_STATUS_READ_CFDC_HARDENED 154,6097 -#define FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT 157,6192 -#define FSF_STATUS_READ_SUB_ERROR_PORT 158,6247 -#define FSF_STATUS_READ_SUB_CFDC_HARDENED_ON_SE 161,6330 -#define FSF_STATUS_READ_SUB_CFDC_HARDENED_ON_SE2 162,6389 -#define FSF_TOPO_ERROR 165,6498 -#define FSF_TOPO_P2P 166,6535 -#define FSF_TOPO_FABRIC 167,6570 -#define FSF_TOPO_AL 168,6608 -#define FSF_TOPO_FABRIC_VIRT 169,6642 -#define FSF_DATADIR_WRITE 172,6723 -#define FSF_DATADIR_READ 173,6762 -#define FSF_DATADIR_READ_WRITE 174,6800 -#define FSF_DATADIR_CMND 175,6844 -#define FSF_CLASS_1 178,6906 -#define FSF_CLASS_2 179,6940 -#define FSF_CLASS_3 180,6974 -#define FSF_MAX_SBALS_PER_REQ 183,7029 -#define FSF_MAX_SBALS_PER_ELS_REQ 184,7064 -#define FSF_QTCB_LOG_SIZE 187,7134 -#define FSF_FEATURE_QTCB_SUPPRESSION 190,7191 -#define FSF_FEATURE_CFDC 191,7250 -#define FSF_FEATURE_HBAAPI_MANAGEMENT 192,7288 -#define FSF_FEATURE_ELS_CT_CHAINED_SBALS 193,7347 -#define FSF_OPEN_LUN_SUPPRESS_BOXING 196,7420 -#define FSF_ADAPTER_TYPE_FICON 199,7490 -#define FSF_ADAPTER_TYPE_FICON_EXPRESS 200,7549 -#define FSF_HBA_PORTTYPE_UNKNOWN 203,7626 -#define FSF_HBA_PORTTYPE_NOTPRESENT 204,7671 -#define FSF_HBA_PORTTYPE_NPORT 205,7719 -#define FSF_HBA_PORTTYPE_PTP 206,7763 -#define FSF_HBA_PORTTYPE_OTHER 209,7900 -#define FSF_HBA_PORTTYPE_NOTPRESENT 210,7944 -#define FSF_HBA_PORTTYPE_NLPORT 211,7992 -#define FSF_HBA_PORTTYPE_FLPORT 212,8037 -#define FSF_HBA_PORTTYPE_FPORT 213,8082 -#define FSF_HBA_PORTTYPE_LPORT 214,8126 -#define FSF_HBA_PORTSTATE_UNKNOWN 217,8189 -#define FSF_HBA_PORTSTATE_ONLINE 218,8235 -#define FSF_HBA_PORTSTATE_OFFLINE 219,8280 -#define FSF_HBA_PORTSTATE_LINKDOWN 220,8326 -#define FSF_HBA_PORTSTATE_ERROR 221,8373 -#define FSF_IOSTAT_NPORT_RJT 224,8446 -#define FSF_IOSTAT_FABRIC_RJT 225,8488 -#define FSF_IOSTAT_LS_RJT 226,8531 -struct fsf_queue_designator fsf_queue_designator242,8948 -struct fsf_port_closed_payload fsf_port_closed_payload250,9061 -struct fsf_bit_error_payload fsf_bit_error_payload255,9212 -struct fsf_status_read_buffer fsf_status_read_buffer272,9744 -struct fsf_qual_version_error fsf_qual_version_error285,10011 -struct fsf_qual_sequence_error fsf_qual_sequence_error290,10104 -struct fsf_qual_locallink_error fsf_qual_locallink_error295,10201 -union fsf_prot_status_qual fsf_prot_status_qual300,10289 -struct fsf_qtcb_prefix fsf_qtcb_prefix306,10494 -union fsf_status_qual fsf_status_qual317,10707 -struct fsf_qtcb_header fsf_qtcb_header324,10959 -struct fsf_nport_serv_param fsf_nport_serv_param339,11225 -struct fsf_plogi fsf_plogi351,11492 -#define FSF_FCP_CMND_SIZE 356,11595 -#define FSF_FCP_RSP_SIZE 357,11625 -struct fsf_qtcb_bottom_io fsf_qtcb_bottom_io359,11655 -struct fsf_qtcb_bottom_support fsf_qtcb_bottom_support370,11885 -struct fsf_qtcb_bottom_config fsf_qtcb_bottom_config389,12210 -struct fsf_qtcb_bottom_port fsf_qtcb_bottom_port412,12687 -union fsf_qtcb_bottom fsf_qtcb_bottom445,13626 -struct fsf_qtcb fsf_qtcb452,13806 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_sysfs_adapter.c,544 -#define ZFCP_SYSFS_ADAPTER_C_REVISION 29,974 -#define ZFCP_LOG_AREA 33,1056 -static const char fc_topologies[35,1118 -#define ZFCP_DEFINE_ADAPTER_ATTR(ZFCP_DEFINE_ADAPTER_ATTR51,1423 -zfcp_sysfs_port_add_store(89,3500 -zfcp_sysfs_port_remove_store(134,4528 -zfcp_sysfs_adapter_failed_store(195,6007 -zfcp_sysfs_adapter_failed_show(235,6995 -static struct attribute *zfcp_adapter_attrs[249,7383 -static struct attribute_group zfcp_adapter_attr_group 269,7889 -zfcp_sysfs_adapter_create_files(280,8165 -zfcp_sysfs_adapter_remove_files(292,8473 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_aux.c,2146 -#define ZFCP_AUX_REVISION 32,1179 -static u32 loglevel 37,1297 -static char *device;38,1344 -#define ZFCP_CFDC_IOC_MAGIC 59,2053 -#define ZFCP_CFDC_IOC 60,2106 -static struct ioctl_trans zfcp_ioctl_trans 64,2218 -static struct file_operations zfcp_cfdc_fops 67,2307 -static struct miscdevice zfcp_cfdc_misc 71,2390 -u32 flags_dump 102,3396 -_zfcp_hex_dump(111,3666 -#define ZFCP_LOG_AREA 129,4096 -zfcp_fsf_req_is_scsi_cmnd(132,4159 -zfcp_cmd_dbf_event_fsf(139,4341 -zfcp_cmd_dbf_event_scsi(173,5562 -zfcp_in_els_dbf_event(205,6805 -zfcp_device_setup(227,7431 -zfcp_init_device_configure(258,8007 -zfcp_module_init(294,8905 -zfcp_cfdc_dev_ioctl(379,11269 -zfcp_sg_list_alloc(581,16353 -zfcp_sg_list_free(628,17430 -zfcp_sg_size(649,17876 -zfcp_sg_list_copy_from_user(673,18425 -zfcp_sg_list_copy_to_user(711,19349 -#define ZFCP_LOG_AREA 747,20186 -zfcp_get_unit_by_lun(757,20503 -zfcp_get_port_by_wwpn(781,21112 -zfcp_get_port_by_did(805,21750 -zfcp_get_adapter_by_busid(828,22305 -zfcp_unit_enqueue(855,23080 -zfcp_unit_dequeue(932,25062 -zfcp_mempool_alloc(945,25397 -zfcp_mempool_free(951,25501 -zfcp_allocate_low_mem_buffers(965,25852 -zfcp_free_low_mem_buffers(1024,27603 -zfcp_adapter_debug_register(1046,28367 -zfcp_adapter_debug_unregister(1105,30442 -zfcp_dummy_release(1114,30665 -zfcp_adapter_enqueue(1130,31167 -zfcp_adapter_dequeue(1255,34854 -zfcp_port_enqueue(1317,36945 -zfcp_port_dequeue(1441,40063 -zfcp_nameserver_enqueue(1456,40467 -#define ZFCP_LOG_AREA 1479,41073 -zfcp_fsf_incoming_els_rscn(1482,41136 -zfcp_fsf_incoming_els_plogi(1575,44019 -zfcp_fsf_incoming_els_logo(1604,44979 -zfcp_fsf_incoming_els_unknown(1633,45929 -zfcp_fsf_incoming_els(1644,46273 -zfcp_gid_pn_buffers_alloc(1673,47187 -zfcp_gid_pn_buffers_free(1707,48136 -zfcp_ns_gid_pn_request(1722,48472 -static void zfcp_ns_gid_pn_handler(1773,50258 -static const struct zfcp_rc_entry zfcp_ct_rc[1829,52002 -static const struct zfcp_rc_entry zfcp_ls_rjt_rc[1845,52477 -static const struct zfcp_rc_entry zfcp_p_rjt_rc[1858,52867 -zfcp_rc_description(1903,54307 -zfcp_check_ct_response(1924,54783 -zfcp_print_els_rjt(1951,55540 -zfcp_handle_els_rjt(1967,56127 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_def.h,13223 -#define ZFCP_DEF_H33,1149 -#define ZFCP_DEF_REVISION 36,1243 -#define ZFCP_PRINT_FLAGS69,2128 -#define ZFCP_VERSION 74,2308 -zfcp_sg_to_address(82,2496 -zfcp_address_to_sg(93,2760 -typedef u32 scsi_id_t;scsi_id_t102,3078 -typedef u32 scsi_lun_t;scsi_lun_t103,3101 -#define ZFCP_ERP_SCSI_LOW_MEM_TIMEOUT 105,3126 -#define ZFCP_SCSI_ER_TIMEOUT 106,3183 -#define ZFCP_CONTROL_UNIT_TYPE 111,3362 -#define ZFCP_CONTROL_UNIT_MODEL 112,3401 -#define ZFCP_DEVICE_TYPE 113,3438 -#define ZFCP_DEVICE_MODEL 114,3477 -#define ZFCP_DEVICE_MODEL_PRIV 115,3514 -#define ZFCP_MAX_SBALS_PER_REQ 118,3615 -#define ZFCP_MAX_SBALS_PER_CT_REQ 119,3669 -#define ZFCP_MAX_SBALS_PER_ELS_REQ 120,3725 -#define ZFCP_MAX_SBALES_PER_SBAL 123,3834 -#define ZFCP_LAST_SBALE_PER_SBAL 126,3966 -#define ZFCP_MAX_SBALES_PER_REQ 129,4095 -#define ZFCP_QDIO_PCI_INTERVAL 134,4329 -#define ZFCP_SBAL_TIMEOUT 137,4461 -#define ZFCP_TYPE2_RECOVERY_TIME 139,4509 -#define ZFCP_MAX_INPUT_THRESHOLD 142,4602 -#define ZFCP_MAX_OUTPUT_THRESHOLD 143,4659 -#define ZFCP_MIN_INPUT_THRESHOLD 144,4717 -#define ZFCP_MIN_OUTPUT_THRESHOLD 145,4781 -#define QDIO_SCSI_QFMT 147,4847 -#define ZFCP_ULP_INFO_VERSION 151,4971 -#define ZFCP_QTCB_VERSION 152,5022 -#define FSF_QTCB_UNSOLICITED_STATUS 154,5125 -#define ZFCP_STATUS_READ_FAILED_THRESHOLD 155,5169 -#define ZFCP_STATUS_READS_RECOM 156,5213 -#define ZFCP_EXCHANGE_CONFIG_DATA_RETRIES 157,5277 -#define ZFCP_EXCHANGE_CONFIG_DATA_SLEEP 158,5321 -#define ZFCP_FSF_REQUEST_TIMEOUT 161,5423 -typedef unsigned long long wwn_t;wwn_t165,5546 -typedef unsigned int fc_id_t;fc_id_t166,5580 -typedef unsigned long long fcp_lun_t;fcp_lun_t167,5616 -typedef unsigned int fcp_dl_t;fcp_dl_t169,5727 -#define ZFCP_FC_SERVICE_CLASS_DEFAULT 171,5765 -#define ZFCP_NS_GID_PN_TIMEOUT 174,5866 -#define ZFCP_MAX_SCSI_CMND_LENGTH 178,5994 -#define ZFCP_CMND_PER_LUN 180,6096 -#define SIMPLE_Q 183,6189 -#define HEAD_OF_Q 184,6208 -#define ORDERED_Q 185,6228 -#define ACA_Q 186,6248 -#define UNTAGGED 187,6265 -#define CLEAR_ACA 190,6334 -#define TARGET_RESET 191,6358 -#define LOGICAL_UNIT_RESET 192,6385 -#define CLEAR_TASK_SET 193,6417 -#define ABORT_TASK_SET 194,6446 -#define FCP_CDB_LENGTH 196,6476 -#define ZFCP_DID_MASK 198,6504 -struct fcp_cmnd_iu fcp_cmnd_iu201,6574 -struct fcp_rsp_iu fcp_rsp_iu214,7071 -#define RSP_CODE_GOOD 234,7409 -#define RSP_CODE_LENGTH_MISMATCH 235,7435 -#define RSP_CODE_FIELD_INVALID 236,7470 -#define RSP_CODE_RO_MISMATCH 237,7504 -#define RSP_CODE_TASKMAN_UNSUPP 238,7536 -#define RSP_CODE_TASKMAN_FAILED 239,7571 -#define LS_FAN 242,7623 -#define LS_RSCN 243,7649 -struct fcp_rscn_head fcp_rscn_head245,7677 -struct fcp_rscn_element fcp_rscn_element251,7817 -#define ZFCP_PORT_ADDRESS 258,7974 -#define ZFCP_AREA_ADDRESS 259,8006 -#define ZFCP_DOMAIN_ADDRESS 260,8038 -#define ZFCP_FABRIC_ADDRESS 261,8070 -#define ZFCP_PORTS_RANGE_PORT 263,8103 -#define ZFCP_PORTS_RANGE_AREA 264,8144 -#define ZFCP_PORTS_RANGE_DOMAIN 265,8185 -#define ZFCP_PORTS_RANGE_FABRIC 266,8226 -#define ZFCP_NO_PORTS_PER_AREA 268,8268 -#define ZFCP_NO_PORTS_PER_DOMAIN 269,8308 -#define ZFCP_NO_PORTS_PER_FABRIC 270,8350 -struct fcp_fan fcp_fan272,8395 -struct fcp_logo fcp_logo280,8554 -#define R_A_TOV 289,8692 -#define ZFCP_ELS_TIMEOUT 290,8728 -#define ZFCP_LS_RTV 292,8769 -#define ZFCP_LS_RLS 293,8796 -#define ZFCP_LS_PDISC 294,8823 -#define ZFCP_LS_ADISC 295,8852 -#define ZFCP_LS_RTV_E_D_TOV_FLAG 296,8881 -struct zfcp_ls_rjt_par zfcp_ls_rjt_par298,8926 -struct zfcp_ls_rtv zfcp_ls_rtv305,9048 -struct zfcp_ls_rtv_acc zfcp_ls_rtv_acc310,9124 -struct zfcp_ls_rls zfcp_ls_rls318,9251 -struct zfcp_ls_rls_acc zfcp_ls_rls_acc324,9346 -struct zfcp_ls_pdisc zfcp_ls_pdisc335,9590 -struct zfcp_ls_pdisc_acc zfcp_ls_pdisc_acc350,9840 -struct zfcp_ls_adisc zfcp_ls_adisc365,10094 -struct zfcp_ls_adisc_acc zfcp_ls_adisc_acc374,10245 -struct zfcp_rc_entry zfcp_rc_entry383,10400 -#define ZFCP_CT_REVISION 391,10487 -#define ZFCP_CT_DIRECTORY_SERVICE 392,10518 -#define ZFCP_CT_NAME_SERVER 393,10557 -#define ZFCP_CT_SYNCHRONOUS 394,10591 -#define ZFCP_CT_GID_PN 395,10625 -#define ZFCP_CT_MAX_SIZE 396,10657 -#define ZFCP_CT_ACCEPT 397,10690 -#define ZFCP_CT_REJECT 398,10722 -#define ZFCP_CT_TIMEOUT 403,10779 -#define ZFCP_ERP_DBF_INDEX 409,10942 -#define ZFCP_ERP_DBF_AREAS 410,10976 -#define ZFCP_ERP_DBF_LENGTH 411,11009 -#define ZFCP_ERP_DBF_LEVEL 412,11043 -#define ZFCP_ERP_DBF_NAME 413,11076 -#define ZFCP_CMD_DBF_INDEX 415,11118 -#define ZFCP_CMD_DBF_AREAS 416,11151 -#define ZFCP_CMD_DBF_LENGTH 417,11184 -#define ZFCP_CMD_DBF_LEVEL 418,11217 -#define ZFCP_CMD_DBF_NAME 419,11250 -#define ZFCP_ABORT_DBF_INDEX 421,11292 -#define ZFCP_ABORT_DBF_AREAS 422,11325 -#define ZFCP_ABORT_DBF_LENGTH 423,11358 -#define ZFCP_ABORT_DBF_LEVEL 424,11391 -#define ZFCP_ABORT_DBF_NAME 425,11424 -#define ZFCP_IN_ELS_DBF_INDEX 427,11466 -#define ZFCP_IN_ELS_DBF_AREAS 428,11499 -#define ZFCP_IN_ELS_DBF_LENGTH 429,11532 -#define ZFCP_IN_ELS_DBF_LEVEL 430,11565 -#define ZFCP_IN_ELS_DBF_NAME 431,11598 -#define ZFCP_NAME 441,11888 -#define ZFCP_LOG_AREA_OTHER 444,11956 -#define ZFCP_LOG_AREA_SCSI 445,11986 -#define ZFCP_LOG_AREA_FSF 446,12015 -#define ZFCP_LOG_AREA_CONFIG 447,12043 -#define ZFCP_LOG_AREA_CIO 448,12074 -#define ZFCP_LOG_AREA_QDIO 449,12102 -#define ZFCP_LOG_AREA_ERP 450,12131 -#define ZFCP_LOG_AREA_FC 451,12159 -#define ZFCP_LOG_LEVEL_NORMAL 454,12209 -#define ZFCP_LOG_LEVEL_INFO 455,12241 -#define ZFCP_LOG_LEVEL_DEBUG 456,12271 -#define ZFCP_LOG_LEVEL_TRACE 457,12302 -#define ZFCP_LOG_LEVEL_LIMIT 464,12505 -#define ZFCP_GET_LOG_VALUE(ZFCP_GET_LOG_VALUE467,12595 -#define ZFCP_SET_LOG_NIBBLE(ZFCP_SET_LOG_NIBBLE471,12743 -#define ZFCP_LOG_LEVEL_DEFAULTS 475,12910 -#define ZFCP_LOG_CHECK(ZFCP_LOG_CHECK486,13548 -#define _ZFCP_LOG(_ZFCP_LOG490,13660 -#define ZFCP_LOG(ZFCP_LOG494,13783 -# define ZFCP_LOG_NORMAL(ZFCP_LOG_NORMAL501,13951 -# define ZFCP_LOG_NORMAL(ZFCP_LOG_NORMAL503,13996 -# define ZFCP_LOG_INFO(ZFCP_LOG_INFO511,14205 -# define ZFCP_LOG_INFO(ZFCP_LOG_INFO513,14248 -# define ZFCP_LOG_DEBUG(ZFCP_LOG_DEBUG521,14454 -# define ZFCP_LOG_DEBUG(ZFCP_LOG_DEBUG523,14498 -# define ZFCP_LOG_TRACE(ZFCP_LOG_TRACE528,14640 -# define ZFCP_LOG_TRACE(ZFCP_LOG_TRACE530,14684 -# define ZFCP_LOG_FLAGS(ZFCP_LOG_FLAGS535,14803 -# define ZFCP_LOG_FLAGS(ZFCP_LOG_FLAGS538,14877 -#define ZFCP_COMMON_FLAGS 551,15173 -#define ZFCP_SPECIFIC_FLAGS 552,15232 -#define ZFCP_STATUS_COMMON_REMOVE 555,15317 -#define ZFCP_STATUS_COMMON_RUNNING 556,15363 -#define ZFCP_STATUS_COMMON_ERP_FAILED 557,15410 -#define ZFCP_STATUS_COMMON_UNBLOCKED 558,15460 -#define ZFCP_STATUS_COMMON_OPENING 559,15509 -#define ZFCP_STATUS_COMMON_OPEN 560,15568 -#define ZFCP_STATUS_COMMON_CLOSING 561,15627 -#define ZFCP_STATUS_COMMON_ERP_INUSE 562,15686 -#define ZFCP_STATUS_ADAPTER_QDIOUP 565,15757 -#define ZFCP_STATUS_ADAPTER_REGISTERED 566,15804 -#define ZFCP_STATUS_ADAPTER_XCONFIG_OK 567,15855 -#define ZFCP_STATUS_ADAPTER_HOST_CON_INIT 568,15906 -#define ZFCP_STATUS_ADAPTER_ERP_THREAD_UP 569,15959 -#define ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL 570,16012 -#define ZFCP_STATUS_ADAPTER_ERP_PENDING 571,16067 -#define ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED 572,16119 -#define ZFCP_STATUS_ADAPTER_SCSI_UP 574,16174 -#define ZFCP_DID_MANAGEMENT_SERVICE 580,16357 -#define ZFCP_DID_TIME_SERVICE 581,16403 -#define ZFCP_DID_DIRECTORY_SERVICE 582,16444 -#define ZFCP_DID_ALIAS_SERVICE 583,16489 -#define ZFCP_DID_KEY_DISTRIBUTION_SERVICE 584,16531 -#define ZFCP_STATUS_PORT_PHYS_OPEN 587,16608 -#define ZFCP_STATUS_PORT_DID_DID 588,16655 -#define ZFCP_STATUS_PORT_PHYS_CLOSING 589,16700 -#define ZFCP_STATUS_PORT_NO_WWPN 590,16750 -#define ZFCP_STATUS_PORT_NO_SCSI_ID 591,16795 -#define ZFCP_STATUS_PORT_INVALID_WWPN 592,16843 -#define ZFCP_STATUS_PORT_WKA 595,16936 -#define ZFCP_STATUS_UNIT_NOTSUPPUNITRESET 600,17058 -#define ZFCP_STATUS_FSFREQ_NOT_INIT 604,17173 -#define ZFCP_STATUS_FSFREQ_POOL 605,17221 -#define ZFCP_STATUS_FSFREQ_TASK_MANAGEMENT 606,17267 -#define ZFCP_STATUS_FSFREQ_COMPLETED 607,17321 -#define ZFCP_STATUS_FSFREQ_ERROR 608,17370 -#define ZFCP_STATUS_FSFREQ_CLEANUP 609,17415 -#define ZFCP_STATUS_FSFREQ_ABORTING 610,17462 -#define ZFCP_STATUS_FSFREQ_ABORTSUCCEEDED 611,17510 -#define ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED 612,17563 -#define ZFCP_STATUS_FSFREQ_ABORTED 613,17622 -#define ZFCP_STATUS_FSFREQ_TMFUNCFAILED 614,17681 -#define ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP 615,17740 -#define ZFCP_STATUS_FSFREQ_RETRY 616,17799 -#define ZFCP_STATUS_FSFREQ_DISMISSED 617,17858 -#define ZFCP_MAX_ERPS 621,17999 -#define ZFCP_ERP_FSFREQ_TIMEOUT 623,18042 -#define ZFCP_ERP_MEMWAIT_TIMEOUT 624,18085 -#define ZFCP_STATUS_ERP_TIMEDOUT 626,18122 -#define ZFCP_STATUS_ERP_CLOSE_ONLY 627,18166 -#define ZFCP_STATUS_ERP_DISMISSING 628,18212 -#define ZFCP_STATUS_ERP_DISMISSED 629,18258 -#define ZFCP_STATUS_ERP_LOWMEM 630,18303 -#define ZFCP_ERP_STEP_UNINITIALIZED 632,18347 -#define ZFCP_ERP_STEP_FSF_XCONFIG 633,18394 -#define ZFCP_ERP_STEP_PHYS_PORT_CLOSING 634,18439 -#define ZFCP_ERP_STEP_PORT_CLOSING 635,18490 -#define ZFCP_ERP_STEP_NAMESERVER_OPEN 636,18536 -#define ZFCP_ERP_STEP_NAMESERVER_LOOKUP 637,18585 -#define ZFCP_ERP_STEP_PORT_OPENING 638,18636 -#define ZFCP_ERP_STEP_UNIT_CLOSING 639,18682 -#define ZFCP_ERP_STEP_UNIT_OPENING 640,18728 -#define ZFCP_ERP_ACTION_REOPEN_ADAPTER 643,18851 -#define ZFCP_ERP_ACTION_REOPEN_PORT_FORCED 644,18895 -#define ZFCP_ERP_ACTION_REOPEN_PORT 645,18942 -#define ZFCP_ERP_ACTION_REOPEN_UNIT 646,18983 -#define ZFCP_ERP_ACTION_RUNNING 648,19025 -#define ZFCP_ERP_ACTION_READY 649,19063 -#define ZFCP_ERP_SUCCEEDED 651,19100 -#define ZFCP_ERP_FAILED 652,19131 -#define ZFCP_ERP_CONTINUES 653,19160 -#define ZFCP_ERP_EXIT 654,19191 -#define ZFCP_ERP_DISMISSED 655,19218 -#define ZFCP_ERP_NOMEM 656,19249 -struct zfcp_cfdc_sense_data zfcp_cfdc_sense_data662,19399 -#define ZFCP_CFDC_SIGNATURE 672,19814 -#define ZFCP_CFDC_CMND_DOWNLOAD_NORMAL 674,19856 -#define ZFCP_CFDC_CMND_DOWNLOAD_FORCE 675,19907 -#define ZFCP_CFDC_CMND_FULL_ACCESS 676,19957 -#define ZFCP_CFDC_CMND_RESTRICTED_ACCESS 677,20004 -#define ZFCP_CFDC_CMND_UPLOAD 678,20056 -#define ZFCP_CFDC_DOWNLOAD 680,20100 -#define ZFCP_CFDC_UPLOAD 681,20140 -#define ZFCP_CFDC_WITH_CONTROL_FILE 682,20178 -#define ZFCP_CFDC_DEV_NAME 684,20227 -#define ZFCP_CFDC_DEV_MAJOR 685,20268 -#define ZFCP_CFDC_DEV_MINOR 686,20309 -#define ZFCP_CFDC_MAX_CONTROL_FILE_SIZE 688,20359 -struct zfcp_adapter_mempool zfcp_adapter_mempool695,20562 -struct zfcp_exchange_config_data{zfcp_exchange_config_data704,20762 -struct zfcp_open_port zfcp_open_port707,20801 -struct zfcp_close_port zfcp_close_port711,20861 -struct zfcp_open_unit zfcp_open_unit715,20915 -struct zfcp_close_unit zfcp_close_unit719,20968 -struct zfcp_close_physical_port zfcp_close_physical_port723,21022 -struct zfcp_send_fcp_command_task zfcp_send_fcp_command_task727,21092 -struct zfcp_send_fcp_command_task_management zfcp_send_fcp_command_task_management734,21249 -struct zfcp_abort_fcp_command zfcp_abort_fcp_command738,21325 -struct ct_hdr ct_hdr746,21444 -struct ct_iu_gid_pn_req ct_iu_gid_pn_req763,21927 -struct ct_iu_gid_pn_resp ct_iu_gid_pn_resp769,22078 -typedef void (*zfcp_send_ct_handler_t)zfcp_send_ct_handler_t774,22172 -struct zfcp_send_ct zfcp_send_ct791,22958 -struct zfcp_gid_pn_data zfcp_gid_pn_data807,23333 -typedef void (*zfcp_send_els_handler_t)zfcp_send_els_handler_t816,23545 -struct zfcp_send_els zfcp_send_els832,24271 -struct zfcp_status_read zfcp_status_read846,24576 -struct zfcp_fsf_done zfcp_fsf_done850,24646 -union zfcp_req_data zfcp_req_data856,24744 -struct zfcp_qdio_queue zfcp_qdio_queue873,25384 -struct zfcp_erp_action zfcp_erp_action884,25817 -struct zfcp_adapter zfcp_adapter898,26273 -struct zfcp_port zfcp_port966,29438 -struct zfcp_unit zfcp_unit991,30646 -struct zfcp_fsf_req zfcp_fsf_req1010,31596 -typedef void zfcp_fsf_req_handler_t(zfcp_fsf_req_handler_t1034,32749 -struct zfcp_data zfcp_data1037,32827 -struct zfcp_sg_list zfcp_sg_list1065,34039 -#define ZFCP_POOL_FSF_REQ_ERP_NR 1071,34161 -#define ZFCP_POOL_FSF_REQ_SCSI_NR 1072,34196 -#define ZFCP_POOL_FSF_REQ_ABORT_NR 1073,34232 -#define ZFCP_POOL_STATUS_READ_NR 1074,34269 -#define ZFCP_POOL_DATA_GID_PN_NR 1075,34326 -struct zfcp_fsf_req_pool_element zfcp_fsf_req_pool_element1078,34413 -#define ZFCP_FSFREQ_CLEANUP_TIMEOUT 1085,34586 -#define ZFCP_KNOWN 1087,34629 -#define ZFCP_REQ_AUTO_CLEANUP 1088,34672 -#define ZFCP_WAIT_FOR_SBAL 1089,34713 -#define ZFCP_REQ_NO_QTCB 1090,34751 -#define ZFCP_SET 1092,34788 -#define ZFCP_CLEAR 1093,34831 -#define ZFCP_INTERRUPTIBLE 1095,34875 -#define ZFCP_UNINTERRUPTIBLE 1096,34904 -#define atomic_test_mask(atomic_test_mask1099,34961 -#define ZFCP_HEX_DUMP(ZFCP_HEX_DUMP1104,35101 -#define zfcp_get_busid_by_adapter(zfcp_get_busid_by_adapter1109,35217 -#define zfcp_get_busid_by_port(zfcp_get_busid_by_port1110,35294 -#define zfcp_get_busid_by_unit(zfcp_get_busid_by_unit1111,35374 -zfcp_unit_get(1118,35526 -zfcp_unit_put(1124,35618 -zfcp_unit_wait(1131,35755 -zfcp_port_get(1137,35883 -zfcp_port_put(1143,35975 -zfcp_port_wait(1150,36112 -zfcp_adapter_get(1156,36240 -zfcp_adapter_put(1162,36344 -zfcp_adapter_wait(1169,36496 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_qdio.c,1039 -#define ZFCP_QDIO_C_REVISION 31,1043 -static qdio_handler_t zfcp_qdio_request_handler;53,2089 -static qdio_handler_t zfcp_qdio_response_handler;54,2138 -#define ZFCP_LOG_AREA 59,2308 -zfcp_qdio_buffers_enqueue(71,2755 -zfcp_qdio_buffers_dequeue(111,3884 -zfcp_qdio_allocate_queues(126,4333 -zfcp_qdio_free_queues(163,5454 -zfcp_qdio_allocate(175,5812 -zfcp_qdio_handler_error_check(216,7183 -zfcp_qdio_request_handler(302,9814 -zfcp_qdio_response_handler(350,11217 -zfcp_qdio_reqid_check(483,14982 -zfcp_qdio_sbale_get(526,16195 -zfcp_qdio_sbale_req(536,16466 -zfcp_qdio_sbale_resp(547,16782 -zfcp_qdio_sbale_curr(558,17089 -zfcp_qdio_sbal_limit(573,17610 -zfcp_qdio_sbal_chain(591,18246 -zfcp_qdio_sbale_next(628,19279 -zfcp_qdio_sbals_zero(643,19643 -zfcp_qdio_sbals_wipe(665,20061 -zfcp_qdio_sbale_fill(677,20344 -zfcp_qdio_sbals_from_segment(698,20928 -zfcp_qdio_sbals_from_sg(733,22026 -zfcp_qdio_sbals_from_buffer(781,23336 -zfcp_qdio_sbals_from_scsicmnd(802,23939 -zfcp_qdio_determine_pci(823,24829 -zfcp_qdio_zero_sbals(854,25621 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_sysfs_unit.c,434 -#define ZFCP_SYSFS_UNIT_C_REVISION 29,968 -#define ZFCP_LOG_AREA 33,1047 -zfcp_sysfs_unit_release(40,1238 -#define ZFCP_DEFINE_UNIT_ATTR(ZFCP_DEFINE_UNIT_ATTR53,1462 -zfcp_sysfs_unit_failed_store(81,2873 -zfcp_sysfs_unit_failed_show(118,3818 -static struct attribute *zfcp_unit_attrs[132,4185 -static struct attribute_group zfcp_unit_attr_group 140,4345 -zfcp_sysfs_unit_create_files(151,4606 -zfcp_sysfs_unit_remove_files(163,4899 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_erp.c,3671 -#define ZFCP_LOG_AREA 31,1129 -#define ZFCP_ERP_REVISION 34,1246 -zfcp_fsf_request_timeout_handler(140,6444 -zfcp_fsf_scsi_er_timeout_handler(161,7062 -zfcp_erp_adapter_reopen_internal(185,7655 -zfcp_erp_adapter_reopen(221,8628 -zfcp_erp_adapter_shutdown(243,9052 -zfcp_erp_port_shutdown(263,9351 -zfcp_erp_unit_shutdown(283,9647 -zfcp_els(307,10219 -zfcp_els_handler(441,13883 -zfcp_test_link(540,16869 -zfcp_erp_port_forced_reopen_internal(573,17605 -zfcp_erp_port_forced_reopen(613,18742 -zfcp_erp_port_reopen_internal(640,19392 -zfcp_erp_port_reopen(683,20792 -zfcp_erp_unit_reopen_internal(709,21418 -zfcp_erp_unit_reopen(751,22848 -zfcp_erp_adapter_block(780,23465 -zfcp_erp_adapter_unblock(796,23780 -zfcp_erp_port_block(812,24116 -zfcp_erp_port_unblock(831,24522 -zfcp_erp_unit_block(850,24958 -zfcp_erp_unit_unblock(869,25377 -zfcp_erp_action_ready(886,25729 -zfcp_erp_action_exists(909,26281 -zfcp_erp_strategy_check_fsfreq(948,27247 -zfcp_erp_async_handler_nolock(1019,29594 -zfcp_erp_async_handler(1058,30791 -zfcp_erp_memwait_handler(1078,31325 -zfcp_erp_timeout_handler(1095,31814 -zfcp_erp_action_dismiss(1116,32484 -zfcp_erp_thread_setup(1129,32811 -zfcp_erp_thread_kill(1171,33933 -zfcp_erp_thread(1198,34576 -zfcp_erp_strategy(1258,36379 -zfcp_erp_strategy_check_action(1410,41479 -zfcp_erp_strategy_do_action(1435,42058 -zfcp_erp_strategy_memwait(1489,43613 -zfcp_erp_adapter_failed(1512,44280 -zfcp_erp_port_failed(1528,44706 -zfcp_erp_unit_failed(1546,45184 -zfcp_erp_strategy_check_target(1574,46235 -zfcp_erp_strategy_statechange(1611,47110 -zfcp_erp_strategy_statechange_detected(1659,48251 -zfcp_erp_scsi_add_device(1677,48780 -zfcp_erp_schedule_work(1700,49295 -zfcp_erp_strategy_check_unit(1735,50017 -zfcp_erp_strategy_check_port(1772,50807 -zfcp_erp_strategy_check_adapter(1808,51572 -zfcp_erp_strategy_followup_actions(1844,52359 -zfcp_erp_strategy_check_queues(1894,53528 -zfcp_erp_wait(1932,54698 -zfcp_erp_modify_adapter_status(1950,54977 -zfcp_erp_modify_port_status(1981,55879 -zfcp_erp_modify_unit_status(2012,56818 -zfcp_erp_port_reopen_all(2039,57631 -zfcp_erp_port_reopen_all_internal(2061,58070 -zfcp_erp_unit_reopen_all_internal(2081,58457 -zfcp_erp_adapter_strategy(2104,59056 -zfcp_erp_adapter_strategy_close(2138,59997 -zfcp_erp_adapter_strategy_open(2160,60514 -zfcp_erp_adapter_strategy_generic(2182,61023 -zfcp_erp_adapter_strategy_open_qdio(2221,61899 -zfcp_erp_adapter_strategy_close_qdio(2320,64821 -zfcp_erp_adapter_strategy_open_fsf(2384,66877 -zfcp_erp_adapter_strategy_open_fsf_xconfig(2406,67319 -zfcp_erp_adapter_strategy_open_fsf_statusread(2483,69806 -zfcp_erp_adapter_strategy_close_fsf(2516,70632 -zfcp_erp_port_forced_strategy(2546,71468 -zfcp_erp_port_strategy(2605,73214 -zfcp_erp_port_strategy_open(2658,74617 -zfcp_erp_port_strategy_open_common(2681,75058 -zfcp_erp_port_strategy_open_nameserver(2783,78027 -zfcp_erp_port_strategy_open_nameserver_wakeup(2830,79312 -zfcp_erp_port_forced_strategy_close(2869,80461 -zfcp_erp_port_strategy_clearstati(2906,81436 -zfcp_erp_port_strategy_close(2931,82073 -zfcp_erp_port_strategy_open_port(2969,83134 -zfcp_erp_port_strategy_open_common_lookup(3007,84197 -zfcp_erp_unit_strategy(3047,85415 -zfcp_erp_unit_strategy_clearstati(3113,87233 -zfcp_erp_unit_strategy_close(3136,87778 -zfcp_erp_unit_strategy_open(3177,88875 -zfcp_erp_timeout_init(3216,89867 -zfcp_erp_action_enqueue(3233,90294 -zfcp_erp_action_dequeue(3410,95563 -zfcp_erp_action_cleanup(3452,96656 -zfcp_erp_action_dismiss_adapter(3486,97302 -zfcp_erp_action_dismiss_port(3509,97777 -zfcp_erp_action_dismiss_unit(3534,98345 -zfcp_erp_action_to_running(3555,98836 -zfcp_erp_action_to_ready(3572,99256 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_sysfs_driver.c,386 -#define ZFCP_SYSFS_DRIVER_C_REVISION 29,972 -#define ZFCP_LOG_AREA 33,1053 -#define ZFCP_DEFINE_DRIVER_ATTR(ZFCP_DEFINE_DRIVER_ATTR42,1353 -static ssize_t zfcp_sysfs_version_show(85,3970 -static struct attribute *zfcp_driver_attrs[93,4177 -static struct attribute_group zfcp_driver_attr_group 106,4534 -zfcp_sysfs_driver_create_files(117,4795 -zfcp_sysfs_driver_remove_files(129,5095 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/scsi/zfcp_fsf.c,2017 -#define ZFCP_FSF_C_REVISION 32,1179 -static u32 fsf_qtcb_type[66,3002 -static const char zfcp_act_subtable_type[82,3756 -#define ZFCP_LOG_AREA 90,4052 -zfcp_fsf_req_alloc(106,4482 -zfcp_fsf_req_free(152,5428 -zfcp_fsf_req_dismiss_all(170,5709 -zfcp_fsf_req_dismiss(206,6639 -zfcp_fsf_req_complete(224,7011 -zfcp_fsf_protstatus_eval(297,8985 -zfcp_fsf_fsfstatus_eval(580,18792 -zfcp_fsf_fsfstatus_qual_eval(643,20519 -zfcp_fsf_req_dispatch(727,23554 -zfcp_fsf_status_read(840,26718 -zfcp_fsf_status_read_port_closed(903,28633 -zfcp_fsf_status_read_handler(966,30491 -zfcp_fsf_abort_fcp_command(1118,35678 -zfcp_fsf_abort_fcp_command_handler(1188,37838 -zfcp_use_one_sbal(1355,43221 -zfcp_fsf_send_ct(1380,44150 -zfcp_fsf_send_ct_handler(1507,48938 -zfcp_fsf_send_els(1665,54307 -static int zfcp_fsf_send_els_handler(1788,59091 -zfcp_fsf_exchange_config_data(1965,64520 -zfcp_fsf_exchange_config_evaluate(2023,66371 -zfcp_fsf_exchange_config_data_handler(2101,68956 -zfcp_fsf_exchange_port_data(2205,72302 -zfcp_fsf_exchange_port_data_handler(2281,74680 -zfcp_fsf_open_port(2313,75514 -zfcp_fsf_open_port_handler(2373,77485 -zfcp_fsf_close_port(2564,83851 -zfcp_fsf_close_port_handler(2625,85837 -zfcp_fsf_close_physical_port(2700,88065 -zfcp_fsf_close_physical_port_handler(2766,90166 -zfcp_fsf_open_unit(2914,94849 -zfcp_fsf_open_unit_handler(2980,97062 -zfcp_fsf_close_unit(3207,104390 -zfcp_fsf_close_unit_handler(3271,106592 -zfcp_fsf_send_fcp_command_task(3413,111320 -zfcp_fsf_send_fcp_command_task_management(3613,117355 -zfcp_fsf_send_fcp_command_handler(3703,120237 -zfcp_fsf_send_fcp_command_task_handler(4001,130130 -zfcp_fsf_send_fcp_command_task_management_handler(4240,138287 -zfcp_fsf_control_file(4312,140640 -zfcp_fsf_control_file_handler(4433,143980 -zfcp_fsf_req_wait_and_cleanup(4606,149044 -zfcp_fsf_req_sbal_check(4638,149766 -zfcp_fsf_req_qtcb_init(4652,150122 -zfcp_fsf_req_sbal_get(4673,150958 -zfcp_fsf_req_create(4708,152069 -zfcp_fsf_req_send(4795,154522 -zfcp_fsf_req_cleanup(4925,158827 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/crypto/z90hardware.c,5395 -#define VERSION_Z90HARDWARE_C 35,1153 -char z90chardware_version[37,1204 -char z90chardware_version[] __initdata 37,1204 -struct cca_token_hdr cca_token_hdr41,1358 -#define CCA_TKN_HDR_ID_EXT 48,1503 -struct cca_private_ext_ME_sec cca_private_ext_ME_sec50,1536 -#define CCA_PVT_USAGE_ALL 67,2011 -struct cca_public_sec cca_public_sec69,2043 -struct cca_private_ext_ME cca_private_ext_ME80,2319 -struct cca_public_key cca_public_key86,2469 -struct cca_pvt_ext_CRT_sec cca_pvt_ext_CRT_sec91,2559 -#define CCA_PVT_EXT_CRT_SEC_ID_PVT 113,3136 -#define CCA_PVT_EXT_CRT_SEC_FMT_CL 114,3176 -struct cca_private_ext_CRT cca_private_ext_CRT116,3217 -struct ap_status_word ap_status_word122,3362 -#define AP_Q_STATUS_EMPTY 128,3477 -#define AP_Q_STATUS_REPLIES_WAITING 129,3509 -#define AP_Q_STATUS_ARRAY_FULL 130,3550 -#define AP_RESPONSE_NORMAL 132,3588 -#define AP_RESPONSE_Q_NOT_AVAIL 133,3621 -#define AP_RESPONSE_RESET_IN_PROGRESS 134,3659 -#define AP_RESPONSE_DECONFIGURED 135,3702 -#define AP_RESPONSE_CHECKSTOPPED 136,3740 -#define AP_RESPONSE_BUSY 137,3778 -#define AP_RESPONSE_Q_FULL 138,3809 -#define AP_RESPONSE_NO_PENDING_REPLY 139,3842 -#define AP_RESPONSE_INDEX_TOO_BIG 140,3884 -#define AP_RESPONSE_NO_FIRST_PART 141,3923 -#define AP_RESPONSE_MESSAGE_TOO_BIG 142,3962 -#define AP_MAX_CDX_BITL 144,4004 -#define AP_RQID_RESERVED_BITL 145,4031 -#define SKIP_BITL 146,4063 -struct type4_hdr type4_hdr148,4125 -#define TYPE4_TYPE_CODE 157,4313 -#define TYPE4_REQU_CODE 158,4342 -#define TYPE4_SME_LEN 160,4372 -#define TYPE4_LME_LEN 161,4401 -#define TYPE4_SCR_LEN 162,4430 -#define TYPE4_LCR_LEN 163,4459 -#define TYPE4_SME_FMT 165,4489 -#define TYPE4_LME_FMT 166,4516 -#define TYPE4_SCR_FMT 167,4543 -#define TYPE4_LCR_FMT 168,4570 -struct type4_sme type4_sme170,4598 -struct type4_lme type4_lme177,4738 -struct type4_scr type4_scr184,4878 -struct type4_lcr type4_lcr194,5074 -union type4_msg type4_msg204,5275 -struct type84_hdr type84_hdr211,5389 -#define TYPE84_RSP_CODE 218,5513 -struct type6_hdr type6_hdr220,5543 -struct CPRB CPRB247,6212 -struct CPRBX CPRBX281,7109 -struct type6_msg type6_msg314,7987 -union request_msg request_msg319,8056 -struct request_msg_ext request_msg_ext324,8130 -struct type82_hdr type82_hdr330,8225 -#define TYPE82_RSP_CODE 338,8381 -#define REPLY_ERROR_MACHINE_FAILURE 340,8411 -#define REPLY_ERROR_PREEMPT_FAILURE 341,8453 -#define REPLY_ERROR_CHECKPT_FAILURE 342,8495 -#define REPLY_ERROR_MESSAGE_TYPE 343,8537 -#define REPLY_ERROR_INVALID_COMM_CD 344,8579 -#define REPLY_ERROR_INVALID_MSG_LEN 345,8621 -#define REPLY_ERROR_RESERVD_FIELD 346,8663 -#define REPLY_ERROR_FORMAT_FIELD 347,8705 -#define REPLY_ERROR_INVALID_COMMAND 348,8747 -#define REPLY_ERROR_MALFORMED_MSG 349,8789 -#define REPLY_ERROR_RESERVED_FIELD 350,8831 -#define REPLY_ERROR_WORD_ALIGNMENT 351,8873 -#define REPLY_ERROR_MESSAGE_LENGTH 352,8915 -#define REPLY_ERROR_OPERAND_INVALID 353,8957 -#define REPLY_ERROR_OPERAND_SIZE 354,8999 -#define REPLY_ERROR_EVEN_MOD_IN_OPND 355,9041 -#define REPLY_ERROR_TRANSPORT_FAIL 356,9083 -#define REPLY_ERROR_PACKET_TRUNCATED 357,9125 -#define REPLY_ERROR_ZERO_BUFFER_LEN 358,9167 -struct type86_hdr type86_hdr360,9210 -#define TYPE86_RSP_CODE 369,9386 -#define TYPE86_FMT2 370,9415 -struct type86_fmt2_msg type86_fmt2_msg372,9441 -static struct type6_hdr static_type6_hdr 386,9745 -static struct type6_hdr static_type6_hdrX 414,10196 -static struct CPRB static_cprb 442,10648 -struct function_and_rules_block function_and_rules_block478,11364 -static struct function_and_rules_block static_pkd_function_and_rules 484,11488 -static struct function_and_rules_block static_pke_function_and_rules 490,11628 -struct T6_keyBlock_hdr T6_keyBlock_hdr496,11768 -static struct T6_keyBlock_hdr static_T6_keyBlock_hdr 502,11870 -static struct CPRBX static_cprbx 508,11967 -static struct function_and_rules_block static_pkd_function_and_rulesX 549,13126 -static struct function_and_rules_block static_pke_function_and_rulesX 555,13267 -struct T6_keyBlock_hdrX T6_keyBlock_hdrX561,13408 -static unsigned char static_pad[567,13507 -static struct cca_private_ext_ME static_pvt_me_key 586,14847 -static struct cca_public_key static_public_key 661,17096 -#define FIXED_TYPE6_ME_LEN 681,17305 -#define FIXED_TYPE6_ME_EN_LEN 683,17344 -#define FIXED_TYPE6_ME_LENX 685,17386 -#define FIXED_TYPE6_ME_EN_LENX 687,17426 -static struct cca_public_sec static_cca_pub_sec 689,17469 -#define FIXED_TYPE6_CR_LEN 700,17607 -#define FIXED_TYPE6_CR_LENX 702,17646 -#define MAX_RESPONSE_SIZE 705,17712 -#define MAX_RESPONSEX_SIZE 707,17750 -#define RESPONSE_CPRB_SIZE 710,17796 -#define RESPONSE_CPRBX_SIZE 711,17835 -#define CALLER_HEADER 713,17875 -static unsigned char static_PKE_function_code[715,17901 -testq(718,17985 -resetq(788,19407 -sen(854,20662 -rec(932,22225 -itoLe2(1017,23980 -le2toI(1024,24169 -is_empty(1034,24355 -query_online(1040,24478 -reset_device(1148,26988 -print_buffer(1220,28420 -send_to_AP(1235,28896 -receive_from_AP(1292,30252 -pad_msg(1346,31361 -is_common_public_key(1368,31750 -ICAMEX_msg_to_type4MEX_msg(1385,32030 -ICACRT_msg_to_type4CRT_msg(1447,34058 -ICAMEX_msg_to_type6MEX_de_msg(1538,37147 -ICAMEX_msg_to_type6MEX_en_msg(1615,39566 -ICACRT_msg_to_type6CRT_msg(1715,42790 -ICAMEX_msg_to_type6MEX_msgX(1826,46696 -ICACRT_msg_to_type6CRT_msgX(1910,49625 -convert_request(2019,53479 -convert_response(2061,54734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/crypto/z90crypt.h,1125 -#define _LINUX_Z90CRYPT_H_28,1003 -#define VERSION_Z90CRYPT_H 32,1057 -#define z90crypt_VERSION 34,1104 -#define z90crypt_RELEASE 35,1131 -#define z90crypt_VARIANT 36,1206 -struct ica_rsa_modexpo ica_rsa_modexpo48,1522 -struct ica_rsa_modexpo_crt ica_rsa_modexpo_crt71,2175 -#define Z90_IOCTL_MAGIC 83,2447 -#define ICARSAMODEXPO 172,5356 -#define ICARSACRT 173,5431 -#define ICAZ90STATUS 176,5557 -#define Z90QUIESCE 179,5661 -#define Z90STAT_TOTALCOUNT 182,5731 -#define Z90STAT_PCICACOUNT 183,5791 -#define Z90STAT_PCICCCOUNT 184,5851 -#define Z90STAT_PCIXCCCOUNT 185,5911 -#define Z90STAT_REQUESTQ_COUNT 186,5972 -#define Z90STAT_PENDINGQ_COUNT 187,6036 -#define Z90STAT_TOTALOPEN_COUNT 188,6100 -#define Z90STAT_DOMAIN_INDEX 189,6165 -#define Z90STAT_STATUS_MASK 190,6227 -#define Z90STAT_QDEPTH_MASK 191,6293 -#define Z90STAT_PERDEV_REQCNT 192,6359 -#define ENOBUFF 197,6462 -#define EWORKPEND 198,6539 -#define ERELEASED 199,6604 -#define EQUIESCE 200,6663 -#define ETIMEOUT 201,6730 -#define EUNKNOWN 202,6773 -#define EGETBUFF 203,6830 -#define MASK_LENGTH 215,7140 -struct ica_z90_status ica_z90_status216,7178 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/crypto/z90main.c,5554 -#define VERSION_CODE(VERSION_CODE45,1473 -#define VERSION_Z90MAIN_C 53,1805 -static char z90cmain_version[55,1852 -static char z90cmain_version[] __initdata 55,1852 -#define Z90CRYPT_MINOR 70,2198 -#define Z90CRYPT_MAJOR 77,2338 -#define DOMAIN_INDEX 86,2495 -#define REG_NAME 92,2610 -#define CLEANUPTIME 99,2791 -#define CONFIGTIME 106,2895 -#define INITIAL_CONFIGTIME 114,3056 -#define READERTIME 121,3171 -#define LONG2DEVPTR(LONG2DEVPTR127,3260 -#define SHRT2LONG(SHRT2LONG132,3383 -#define SHRT2DEVPTR(SHRT2DEVPTR137,3516 -#define STAT_DEFAULT 142,3607 -#define STAT_ROUTED 144,3668 -#define STAT_FAILED 146,3798 -#define STAT_WRITTEN 148,3924 -#define STAT_READPEND 150,4025 -#define STAT_NOWORK 151,4101 -#define STAT_RDWRMASK 152,4160 -#define CHK_RDWRMASK(CHK_RDWRMASK157,4256 -#define SET_RDWRMASK(SET_RDWRMASK158,4316 -#define FP_COPYFROM 165,4540 -#define FP_BUFFREQ 166,4616 -#define FP_BUFFGOT 167,4670 -#define FP_SENT 168,4723 -#define FP_PENDING 170,4838 -#define FP_REQUEST 172,4955 -#define FP_ASLEEP 173,5019 -#define FP_AWAKE 174,5073 -#define FP_NOTPENDING 179,5213 -#define FP_AWAKENING 180,5285 -#define FP_TIMEDOUT 181,5344 -#define FP_RESPSIZESET 182,5391 -#define FP_RESPADDRCOPIED 183,5461 -#define FP_RESPBUFFCOPIED 184,5535 -#define FP_REMREQUEST 185,5608 -#define FP_SIGNALED 186,5680 -#define STAT_OPEN 195,5837 -#define STAT_CLOSED 196,5857 -#define PID(PID201,5946 -#define Z90CRYPT_NUM_APS 207,6076 -#define Z90CRYPT_NUM_DEVS 210,6137 -#define Z90CRYPT_NUM_TYPES 213,6214 -#define MAX_RESPONSE_SIZE 222,6469 -struct status status228,6554 -struct device_x device_x241,7057 -struct device device248,7179 -struct hdware_block hdware_block265,7848 -struct z90crypt z90crypt275,8118 -struct caller caller299,9056 -static struct proc_dir_entry *z90crypt_entry;335,10344 -struct priv_data priv_data344,10480 -struct work_element work_element352,10624 -#define Z90CRYPT_HOTPLUG_ADD 401,12513 -#define Z90CRYPT_HOTPLUG_REMOVE 402,12545 -static int z90crypt_major 412,12762 -static int domain 415,12814 -static struct z90crypt z90crypt;416,12848 -static int quiesce_z90crypt;417,12881 -static spinlock_t queuespinlock;418,12910 -static struct list_head request_list;419,12943 -static int requestq_count;420,12981 -static struct list_head pending_list;421,13008 -static int pendingq_count;422,13046 -static struct tasklet_struct reader_tasklet;424,13074 -static struct timer_list reader_timer;425,13119 -static struct timer_list config_timer;426,13158 -static struct timer_list cleanup_timer;427,13197 -static atomic_t total_open;428,13237 -static atomic_t z90crypt_step;429,13265 -static struct file_operations z90crypt_fops 431,13297 -static struct miscdevice z90crypt_misc_device 441,13535 -struct ica_rsa_modexpo_32 ica_rsa_modexpo_32464,14121 -trans_modexpo32(474,14350 -struct ica_rsa_modexpo_crt_32 ica_rsa_modexpo_crt_32505,15573 -trans_modexpo_crt32(518,15881 -static int compatible_ioctls[555,17378 -static void z90_unregister_ioctl32s(562,17688 -static int z90_register_ioctl32s(573,17942 -static inline void z90_unregister_ioctl32s(594,18437 -static inline int z90_register_ioctl32s(598,18491 -z90crypt_init_module(608,18621 -z90crypt_cleanup_module(737,22011 -z90crypt_open(796,23218 -z90crypt_release(819,23729 -z90crypt_read(845,24380 -z90crypt_read(858,24787 -z90crypt_write(896,25560 -get_status_totalcount(906,25762 -get_status_PCICAcount(912,25865 -get_status_PCICCcount(918,25973 -get_status_PCIXCCcount(924,26081 -get_status_requestq_count(930,26191 -get_status_pendingq_count(936,26270 -get_status_totalopen_count(942,26349 -get_status_domain_index(948,26439 -get_status_status_mask(954,26526 -get_status_qdepth_mask(971,26872 -get_status_perdevice_reqcnt(986,27161 -init_work_element(1001,27459 -allocate_work_element(1027,28282 -remove_device(1041,28598 -select_device_type(1051,28862 -select_device(1090,29840 -send_to_crypto_device(1140,31283 -z90crypt_send(1199,32900 -z90crypt_process_results(1262,34387 -static unsigned char NULL_psmid[1296,35123 -#define MIN_MOD_SIZE 1304,35375 -#define MAX_PCICC_MOD_SIZE 1305,35399 -#define MAX_MOD_SIZE 1306,35430 -#define MAX_RESET 1311,35506 -is_PKCS11_padded(1317,35593 -is_PKCS12_padded(1336,35940 -build_caller(1358,36441 -unbuild_caller(1390,37419 -get_crypto_request_buffer(1404,37825 -z90crypt_prepare(1559,42082 -purge_work_element(1609,43130 -z90crypt_rsa(1635,43583 -z90crypt_ioctl(1704,45346 -sprintcl(1894,50456 -sprintrw(1907,50707 -sprinthx(1930,51096 -sprinthx4(1953,51519 -z90crypt_status(1974,51930 -disable_card(2021,53533 -enable_card(2036,53880 -scan_char(2051,54226 -scan_string(2075,54592 -z90crypt_status_write(2109,55234 -#define LBUFSIZE 2116,55429 -receive_from_crypto_device(2213,56974 -helper_send_work(2343,59996 -helper_handle_work_element(2400,61336 -helper_receive_rc(2464,62930 -z90crypt_schedule_reader_timer(2495,63438 -z90crypt_reader_task(2504,63661 -z90crypt_schedule_config_task(2566,65131 -z90crypt_config_task(2575,65367 -z90crypt_schedule_cleanup_task(2589,65737 -helper_drain_queues(2598,65966 -helper_timeout_requests(2631,66840 -z90crypt_cleanup_task(2680,68183 -z90crypt_schedule_reader_task(2693,68486 -create_z90crypt(2713,69087 -helper_scan_devices(2736,69658 -probe_crypto_domain(2772,70438 -refresh_z90crypt(2807,71070 -find_crypto_devices(2903,73672 -refresh_index_array(2937,74557 -create_crypto_device(2954,74903 -destroy_crypto_device(3041,77336 -destroy_z90crypt(3078,78278 -static unsigned char static_testmsg[3089,78528 -probe_device_type(3117,80528 -z90crypt_hotplug_event(3217,82671 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/s390/crypto/z90common.h,2040 -#define _Z90COMMON_28,997 -#define VERSION_Z90COMMON_H 30,1018 -#define RESPBUFFSIZE 33,1067 -#define PCI_FUNC_KEY_DECRYPT 34,1092 -#define PCI_FUNC_KEY_ENCRYPT 35,1128 -enum devstat devstat37,1165 - DEV_GONE,38,1180 - DEV_ONLINE,39,1191 - DEV_QUEUE_FULL,40,1204 - DEV_EMPTY,41,1221 - DEV_NO_WORK,42,1233 - DEV_BAD_MESSAGE,43,1247 - DEV_TSQ_EXCEPTION,44,1265 - DEV_RSQ_EXCEPTION,45,1285 - DEV_SEN_EXCEPTION,46,1305 - DEV_REC_EXCEPTION47,1325 -enum hdstat hdstat50,1348 - HD_NOT_THERE,51,1362 - HD_BUSY,52,1377 - HD_DECONFIGURED,53,1387 - HD_CHECKSTOPPED,54,1405 - HD_ONLINE,55,1423 - HD_TSQ_EXCEPTION56,1435 -#define Z90C_AMBIGUOUS_DOMAIN 59,1457 -#define Z90C_INCORRECT_DOMAIN 60,1489 -#define ENOTINIT 61,1521 -#define SEN_BUSY 63,1542 -#define SEN_USER_ERROR 64,1562 -#define SEN_QUEUE_FULL 65,1588 -#define SEN_NOT_AVAIL 66,1614 -#define SEN_PAD_ERROR 67,1639 -#define SEN_RETRY 68,1664 -#define SEN_RELEASED 69,1685 -#define REC_EMPTY 71,1710 -#define REC_BUSY 72,1731 -#define REC_OPERAND_INV 73,1751 -#define REC_OPERAND_SIZE 74,1778 -#define REC_EVEN_MOD 75,1805 -#define REC_NO_WORK 76,1829 -#define REC_HARDWAR_ERR 77,1852 -#define REC_NO_RESPONSE 78,1879 -#define REC_RETRY_DEV 79,1906 -#define REC_USER_GONE 80,1931 -#define REC_BAD_MESSAGE 81,1956 -#define REC_INVALID_PAD 82,1983 -#define REC_RELEASED 83,2010 -#define WRONG_DEVICE_TYPE 85,2035 -#define REC_FATAL_ERROR 87,2065 -#define SEN_FATAL_ERROR 88,2092 -#define TSQ_FATAL_ERROR 89,2119 -#define RSQ_FATAL_ERROR 90,2146 -#define PCICA 92,2174 -#define PCICC 93,2190 -#define PCIXCC 94,2206 -#define NILDEV 95,2223 -#define ANYDEV 96,2241 -enum hdevice_type hdevice_type98,2260 - PCICC_HW 99,2280 - PCICA_HW 100,2296 - PCIXCC_HW 101,2312 - OTHER_HW 102,2328 - OTHER2_HW 103,2344 -#define DEV_NAME 107,2380 -#define PRINTK(PRINTK109,2415 -#define PRINTKN(PRINTKN111,2514 -#define PRINTKW(PRINTKW113,2593 -#define PRINTKC(PRINTKC115,2695 -#define PDEBUG(PDEBUG119,2817 -#define PDEBUG(PDEBUG122,2922 -#define UMIN(UMIN125,2975 -#define IS_EVEN(IS_EVEN126,3017 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/eata_generic.h,4016 -#define _EATA_GENERIC_H13,510 -#define TRUE 22,676 -#define FALSE 25,712 -#define R_LIMIT 28,736 -#define MAXISA 30,761 -#define MAXEISA 31,781 -#define MAXPCI 32,804 -#define MAXIRQ 33,824 -#define MAXTARGET 34,845 -#define MAXCHANNEL 35,866 -#define IS_ISA 37,888 -#define IS_EISA 38,910 -#define IS_PCI 39,933 -#define BROKEN_INQUIRY 41,956 -#define BUSMASTER 43,982 -#define PIO 44,1011 -#define EATA_SIGNATURE 46,1041 -#define DPT_ID1 48,1116 -#define DPT_ID2 49,1145 -#define ATT_ID1 51,1175 -#define ATT_ID2 52,1204 -#define ATT_ID3 53,1233 -#define NEC_ID1 55,1262 -#define NEC_ID2 56,1291 -#define NEC_ID3 57,1320 -#define EATA_CP_SIZE 60,1352 -#define MAX_PCI_DEVICES 62,1378 -#define MAX_METHOD_2 63,1449 -#define MAX_PCI_BUS 64,1513 -#define SG_SIZE 66,1580 -#define SG_SIZE_BIG 67,1602 -#define UPPER_DEVICE_QUEUE_LIMIT 69,1665 -#define TYPE_DISK_QUEUE 75,1853 -#define TYPE_TAPE_QUEUE 76,1881 -#define TYPE_ROM_QUEUE 77,1908 -#define TYPE_OTHER_QUEUE 78,1935 -#define FREE 80,1963 -#define OK 81,1987 -#define NO_TIMEOUT 82,2009 -#define USED 83,2036 -#define TIMEOUT 84,2060 -#define RESET 85,2087 -#define LOCKED 86,2112 -#define ABORTED 87,2138 -#define READ 89,2167 -#define WRITE 90,2194 -#define OTHER 91,2221 -#define HD(HD93,2249 -#define CD(CD94,2311 -#define SD(SD95,2370 -#define PCI_REG_DPTconfig 100,2568 -#define PCI_REG_PumpModeAddress 101,2602 -#define PCI_REG_PumpModeData 102,2642 -#define PCI_REG_ConfigParam1 103,2679 -#define PCI_REG_ConfigParam2 104,2716 -#define EATA_CMD_PIO_SETUPTEST 107,2755 -#define EATA_CMD_PIO_READ_CONFIG 108,2792 -#define EATA_CMD_PIO_SET_CONFIG 109,2830 -#define EATA_CMD_PIO_SEND_CP 110,2868 -#define EATA_CMD_PIO_RECEIVE_SP 111,2903 -#define EATA_CMD_PIO_TRUNC 112,2941 -#define EATA_CMD_RESET 114,2975 -#define EATA_CMD_IMMEDIATE 115,3005 -#define EATA_CMD_DMA_READ_CONFIG 117,3039 -#define EATA_CMD_DMA_SET_CONFIG 118,3077 -#define EATA_CMD_DMA_SEND_CP 119,3115 -#define ECS_EMULATE_SENSE 121,3151 -#define EATA_GENERIC_ABORT 123,3184 -#define EATA_SPECIFIC_RESET 124,3223 -#define EATA_BUS_RESET 125,3261 -#define EATA_SPECIFIC_ABORT 126,3299 -#define EATA_QUIET_INTR 127,3337 -#define EATA_COLD_BOOT_HBA 128,3375 -#define EATA_FORCE_IO 129,3444 -#define HA_CTRLREG 131,3483 -#define HA_CTRL_DISINT 132,3552 -#define HA_CTRL_RESCPU 133,3621 -#define HA_CTRL_8HEADS 134,3690 -#define HA_WCOMMAND 137,3807 -#define HA_WIFC 138,3868 -#define HA_WCODE 139,3931 -#define HA_WCODE2 140,3960 -#define HA_WDMAADDR 141,3989 -#define HA_RAUXSTAT 142,4051 -#define HA_RSTATUS 143,4114 -#define HA_RDATA 144,4174 -#define HA_WDATA 145,4233 -#define HA_ABUSY 147,4293 -#define HA_AIRQ 148,4344 -#define HA_SERROR 149,4401 -#define HA_SMORE 150,4464 -#define HA_SCORR 151,4524 -#define HA_SDRQ 152,4577 -#define HA_SSC 153,4634 -#define HA_SFAULT 154,4685 -#define HA_SREADY 155,4735 -#define HA_SBUSY 156,4785 -#define HA_SDRDY 157,4834 -#define HA_NO_ERROR 163,5015 -#define HA_ERR_SEL_TO 164,5059 -#define HA_ERR_CMD_TO 165,5113 -#define HA_BUS_RESET 166,5165 -#define HA_INIT_POWERUP 167,5223 -#define HA_UNX_BUSPHASE 168,5288 -#define HA_UNX_BUS_FREE 169,5347 -#define HA_BUS_PARITY 170,5405 -#define HA_SCSI_HUNG 171,5458 -#define HA_UNX_MSGRJCT 172,5504 -#define HA_RESET_STUCK 173,5568 -#define HA_RSENSE_FAIL 174,5626 -#define HA_PARITY_ERR 175,5688 -#define HA_CP_ABORT_NA 176,5751 -#define HA_CP_ABORTED 177,5823 -#define HA_CP_RESET_NA 178,5890 -#define HA_CP_RESET 179,5962 -#define HA_ECC_ERR 180,6027 -#define HA_PCI_PARITY 181,6084 -#define HA_PCI_MABORT 182,6137 -#define HA_PCI_TABORT 183,6190 -#define HA_PCI_STABORT 184,6243 -struct reg_bit reg_bit190,6437 -struct reg_abit reg_abit201,6971 -struct eata_register eata_register207,7171 -struct get_conf get_conf218,7570 -struct eata_sg_listeata_sg_list268,9834 -struct eata_ccb eata_ccb274,9891 -struct eata_sp eata_sp325,12002 -typedef struct hstd hstd335,12350 -}hostdata;hostdata369,13761 -struct drive_geom_emul drive_geom_emul372,13816 -struct geom_emul geom_emul383,14231 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/advansys.h,27 -#define _ADVANSYS_H19,578 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTStrigger.h,67 -#define TRIGGERABLE_HBA 2,53 -#define TriggerHBA(TriggerHBA6,135 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/g_NCR5380_mmio.c,33 -#define SCSI_G_NCR5380_MEM7,180 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sun3x_esp.c,888 -int sun3x_esp_detect(52,1841 -static void dma_do_drain(123,3872 -static void dma_barrier(150,4450 -static int dma_bytes_sent(169,4969 -static int dma_can_transfer(179,5201 -static void dma_drain(184,5301 -static void dma_invalidate(201,5711 -static void dma_dump_state(221,6132 -static void dma_init_read(230,6374 -static void dma_init_write(239,6615 -static void dma_ints_off(250,6911 -static void dma_ints_on(255,7019 -static int dma_irq_p(260,7125 -static void dma_poll(265,7234 -static int dma_ports_p(284,7705 -static void dma_reset(291,7907 -static void dma_setup(302,8169 -static void dma_mmu_get_scsi_one 324,8632 -static void dma_mmu_get_scsi_sgl 331,8874 -static void dma_mmu_release_scsi_one 344,9262 -static void dma_mmu_release_scsi_sgl 349,9387 -static void dma_advance_sg 360,9673 -static int sun3x_esp_release(365,9794 -static Scsi_Host_Template driver_template 372,9931 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_sysfs.c,1728 -} sdev_states[26,484 -const char *scsi_device_state_name(36,710 -static int check_set(50,978 -static int scsi_scan(67,1253 -#define shost_show_function(shost_show_function90,1810 -#define shost_rd_attr2(shost_rd_attr2102,2187 -#define shost_rd_attr(shost_rd_attr106,2356 -static ssize_t store_scan(113,2518 -static struct class_device_attribute *scsi_sysfs_shost_attrs[133,3055 -static void scsi_device_cls_release(144,3357 -void scsi_device_dev_release(152,3525 -struct class sdev_class sdev_class192,4583 -static int scsi_bus_match(198,4738 -struct bus_type scsi_bus_type 204,4924 -int scsi_sysfs_register(209,5021 -void scsi_sysfs_unregister(223,5229 -#define sdev_show_function(sdev_show_function233,5440 -#define sdev_rd_attr(sdev_rd_attr246,5825 -#define sdev_rw_attr(sdev_rw_attr255,6074 -#define sdev_rw_attr_bit(sdev_rw_attr_bit275,6726 -static int scsi_sdev_check_buf_bit(297,7365 -sdev_show_timeout 322,7942 -sdev_store_timeout 330,8124 -store_rescan_field 342,8451 -static ssize_t sdev_store_delete(349,8632 -store_state_field(358,8861 -show_state_field(381,9392 -static struct device_attribute *scsi_sysfs_sdev_attrs[396,9774 -static struct device_attribute *attr_overridden(412,10065 -static int attr_add(426,10339 -static void scsi_target_dev_release(448,10878 -int scsi_sysfs_add_sdev(463,11214 -void scsi_remove_device(590,14348 -int scsi_register_driver(613,14985 -int scsi_register_interface(620,15101 -static struct class_device_attribute *class_attr_overridden(628,15234 -static int class_attr_add(642,15532 -int scsi_sysfs_add_host(670,16277 -int scsi_sysfs_device_initialize(719,17609 -int scsi_sysfs_target_initialize(744,18516 -struct scsi_transport_template blank_transport_template 813,20718 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ppa.h,966 -#define _PPA_H11,249 -#define PPA_VERSION 13,265 -#define PPA_AUTODETECT 95,3139 -#define PPA_NIBBLE 96,3210 -#define PPA_PS2 97,3281 -#define PPA_EPP_8 98,3344 -#define PPA_EPP_16 99,3415 -#define PPA_EPP_32 100,3486 -#define PPA_UNKNOWN 101,3557 -static char *PPA_MODE_STRING[103,3629 -#define PPA_BURST_SIZE 118,3856 -#define PPA_SELECT_TMO 119,3905 -#define PPA_SPIN_TMO 120,3970 -#define PPA_RECON_TMO 121,4028 -#define PPA_DEBUG 122,4093 -#define IN_EPP_MODE(IN_EPP_MODE123,4136 -#define CONNECT_EPP_MAYBE 126,4241 -#define CONNECT_NORMAL 127,4269 -#define r_dtr(r_dtr129,4296 -#define r_str(r_str130,4344 -#define r_ctr(r_ctr131,4394 -#define r_epp(r_epp132,4444 -#define r_fifo(r_fifo133,4494 -#define r_ecr(r_ecr135,4609 -#define w_dtr(w_dtr137,4686 -#define w_str(w_str138,4723 -#define w_epp(w_epp139,4762 -#define w_fifo(w_fifo140,4801 -#define w_ecr(w_ecr141,4862 -#define w_ctr(w_ctr144,4960 -#define w_ctr(w_ctr146,5007 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ata_piix.c,1470 -#define DRV_NAME 34,777 -#define DRV_VERSION 35,805 - PIIX_IOCFG 38,840 - PIIX_IOCFG = 0x54,38,840 - ICH5_PMR 39,898 - ICH5_PMR = 0x90,39,898 - ICH5_PCS 40,945 - ICH5_PCS = 0x92,40,945 - PIIX_FLAG_AHCI 42,995 - PIIX_FLAG_CHECKINTR 43,1045 - PIIX_FLAG_COMBINED 44,1112 - PIIX_COMB_PATA_P0 49,1260 - PIIX_COMB 50,1291 - PIIX_PORT_PRESENT 52,1345 - PIIX_PORT_ENABLED 53,1376 - PIIX_80C_PRI 55,1408 - PIIX_80C_SEC 56,1446 - ich5_pata 58,1485 - ich5_sata 59,1502 - piix4_pata 60,1519 - ich6_sata 61,1537 - ich6_sata_rm 62,1554 -static unsigned int in_module_init 73,1932 -static struct pci_device_id piix_pci_tbl[75,1973 -static struct pci_driver piix_pci_driver 97,2811 -static Scsi_Host_Template piix_sht 104,2969 -static struct ata_port_operations piix_pata_ops 123,3546 -static struct ata_port_operations piix_sata_ops 150,4201 -static struct ata_port_info piix_port_info[175,4786 -static struct pci_bits piix_enable_bits[241,6361 -static void piix_pata_cbl_detect(262,7055 -static void piix_pata_phy_reset(295,7744 -static int piix_sata_probe 324,8443 -static void piix_sata_phy_reset(366,9508 -static void piix_set_piomode 393,10041 -static void piix_set_dmamode 445,11443 -static void pci_enable_intx(512,13543 -#define AHCI_PCI_BAR 523,13824 -#define AHCI_GLOBAL_CTL 524,13847 -#define AHCI_ENABLE 525,13876 -static int piix_disable_ahci(526,13906 -static int piix_init_one 574,14959 -static int __init piix_init(640,16518 -static void __exit piix_exit(662,16757 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR53c406a.c,4102 -#define NCR53C406A_DEBUG 22,825 -#define VERBOSE_NCR53C406A_DEBUG 23,852 -#define USE_PIO 26,956 -#define USE_BIOS 28,975 -#define DMA_CHAN 32,1202 -#define USE_FAST_PIO 36,1357 -#define WATCHDOG 61,1916 -#define SYNC_MODE 63,1942 -#define NCR53C406A_DEBUG 67,2030 -#define USE_DMA 71,2077 -#define USE_DMA 73,2101 -#define C1_IMG 77,2155 -#define C2_IMG 78,2189 -#define C3_IMG 80,2239 -#define C3_IMG 82,2281 -#define C4_IMG 84,2321 -#define C5_IMG 85,2354 -#define REG0 87,2398 -#define REG1 88,2435 -#define DEB(DEB91,2494 -#define DEB(DEB93,2517 -#define VDEB(VDEB97,2569 -#define VDEB(VDEB99,2593 -#define LOAD_DMA_COUNT(LOAD_DMA_COUNT102,2617 -#define DMA_OP 108,2780 -#define SCSI_NOP 110,2815 -#define FLUSH_FIFO 111,2849 -#define CHIP_RESET 112,2883 -#define SCSI_RESET 113,2917 -#define RESELECT 114,2951 -#define SELECT_NO_ATN 115,2985 -#define SELECT_ATN 116,3019 -#define SELECT_ATN_STOP 117,3053 -#define ENABLE_SEL 118,3087 -#define DISABLE_SEL 119,3121 -#define SELECT_ATN3 120,3155 -#define RESELECT3 121,3189 -#define TRANSFER_INFO 122,3223 -#define INIT_CMD_COMPLETE 123,3257 -#define MSG_ACCEPT 124,3291 -#define TRANSFER_PAD 125,3325 -#define SET_ATN 126,3359 -#define RESET_ATN 127,3393 -#define SEND_MSG 128,3427 -#define SEND_STATUS 129,3461 -#define SEND_DATA 130,3495 -#define DISCONN_SEQ 131,3529 -#define TERMINATE_SEQ 132,3563 -#define TARG_CMD_COMPLETE 133,3597 -#define DISCONN 134,3631 -#define RECV_MSG 135,3665 -#define RECV_CMD 136,3699 -#define RECV_DATA 137,3733 -#define RECV_CMD_SEQ 138,3767 -#define TARGET_ABORT_DMA 139,3801 -#define rtrc(rtrc154,4134 -#define rtrc(rtrc156,4203 -enum Phase Phase160,4299 - idle,161,4312 - data_out,162,4319 - data_in,163,4330 - command_ph,164,4340 - status_ph,165,4353 - message_out,166,4365 - message_in167,4379 -static void *bios_base;182,4759 -static int port_base 186,4805 -static int port_base;188,4845 -static int irq_level 192,4887 -static int irq_level 194,4925 -static int dma_chan;198,5023 -static int fast_pio 202,5064 -static Scsi_Cmnd *current_SC;205,5108 -static char info_msg[206,5138 -static void *addresses[212,5282 -#define ADDRESS_COUNT 216,5351 -static unsigned short ports[220,5476 -#define PORT_COUNT 221,5582 -static unsigned short intrs[224,5681 -#define INTR_COUNT 225,5733 -struct signature signature229,5862 -} signatures[233,5933 -} signatures[] __initdata 233,5933 -#define SIGNATURE_COUNT 239,6202 -static int TC_LSB;245,6401 -static int TC_MSB;246,6456 -static int SCSI_FIFO;247,6503 -static int CMD_REG;248,6553 -static int STAT_REG;249,6609 -static int DEST_ID;250,6666 -static int INT_REG;251,6722 -static int SRTIMOUT;252,6778 -static int SEQ_REG;253,6835 -static int SYNCPRD;254,6891 -static int FIFO_FLAGS;255,6947 -static int SYNCOFF;256,7006 -static int CONFIG1;257,7062 -static int CLKCONV;258,7118 -static int CONFIG2;260,7228 -static int CONFIG3;261,7284 -static int CONFIG4;262,7340 -static int TC_HIGH;263,7396 -static int PIO_FIFO;270,7732 -static int PIO_STATUS;274,7893 -static int PIO_FLAG;277,8069 -static int CONFIG5;278,8129 -static __inline__ int NCR53c406a_dma_setup(285,8390 -static __inline__ int NCR53c406a_dma_write(320,9247 -static __inline__ int NCR53c406a_dma_read(325,9393 -static __inline__ int NCR53c406a_dma_residual(330,9537 -static __inline__ int NCR53c406a_pio_read(345,9798 -static __inline__ int NCR53c406a_pio_write(399,10651 -static int __init NCR53c406a_detect(450,11471 -static int NCR53c406a_release(593,15381 -static int __init NCR53c406a_setup(609,15735 -static const char *NCR53c406a_info(664,17116 -static void wait_intr(671,17250 -static int NCR53c406a_queue(692,17678 -static int NCR53c406a_abort(725,18548 -static int NCR53c406a_host_reset(731,18690 -static int NCR53c406a_device_reset(744,18988 -static int NCR53c406a_bus_reset(749,19063 -static int NCR53c406a_biosparm(754,19135 -static irqreturn_t do_NCR53c406a_intr(774,19630 -static void NCR53c406a_intr(786,19929 -static int irq_probe(970,25305 -static void chip_init(1002,25934 -static void __init calc_port_addr(1023,26404 -static Scsi_Host_Template driver_template 1070,27855 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_vsc.c,1630 -#define DRV_NAME 28,683 -#define DRV_VERSION 29,711 -#define VSC_SATA_INT_STAT_OFFSET 32,797 -#define VSC_SATA_INT_MASK_OFFSET 33,835 -#define VSC_SATA_TF_CMD_OFFSET 36,907 -#define VSC_SATA_TF_DATA_OFFSET 37,944 -#define VSC_SATA_TF_ERROR_OFFSET 38,982 -#define VSC_SATA_TF_FEATURE_OFFSET 39,1020 -#define VSC_SATA_TF_NSECT_OFFSET 40,1060 -#define VSC_SATA_TF_LBAL_OFFSET 41,1098 -#define VSC_SATA_TF_LBAM_OFFSET 42,1136 -#define VSC_SATA_TF_LBAH_OFFSET 43,1174 -#define VSC_SATA_TF_DEVICE_OFFSET 44,1212 -#define VSC_SATA_TF_STATUS_OFFSET 45,1251 -#define VSC_SATA_TF_COMMAND_OFFSET 46,1290 -#define VSC_SATA_TF_ALTSTATUS_OFFSET 47,1330 -#define VSC_SATA_TF_CTL_OFFSET 48,1372 -#define VSC_SATA_UP_DESCRIPTOR_OFFSET 51,1425 -#define VSC_SATA_UP_DATA_BUFFER_OFFSET 52,1468 -#define VSC_SATA_DMA_CMD_OFFSET 53,1512 -#define VSC_SATA_SCR_STATUS_OFFSET 56,1567 -#define VSC_SATA_SCR_ERROR_OFFSET 57,1608 -#define VSC_SATA_SCR_CONTROL_OFFSET 58,1648 -#define VSC_SATA_PORT_OFFSET 61,1709 -static u32 vsc_sata_scr_read 64,1747 -static void vsc_sata_scr_write 72,1934 -static void vsc_intr_mask_update(81,2129 -static void vsc_sata_tf_load(97,2442 -static void vsc_sata_tf_read(132,3685 -irqreturn_t vsc_sata_interrupt 158,4388 -static Scsi_Host_Template vsc_sata_sht 190,5117 -static struct ata_port_operations vsc_sata_ops 210,5699 -static void __devinit vsc_sata_setup_port(231,6375 -static int __devinit vsc_sata_init_one 253,7375 -static struct pci_device_id vsc_sata_pci_tbl[365,10311 -static struct pci_driver vsc_sata_pci_driver 372,10506 -static int __init vsc_sata_init(380,10677 -static void __exit vsc_sata_exit(386,10768 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pci2000.c,898 -#define PCI2000_VERSION 36,1229 -#define DEB(DEB65,1787 -#define STOP_HERE 66,1804 -#define DEB(DEB68,1866 -#define STOP_HERE69,1881 - } SCATGATH, *PSCATGATH;PSCATGATH76,1970 - } DEV2000, *PDEV2000;PDEV200086,2137 - } ADAPTER2000, *PADAPTER2000;PADAPTER2000101,2385 -#define HOSTDATA(HOSTDATA103,2417 -#define consistentLen 104,2472 -static struct Scsi_Host *PsiHost[107,2564 -static int NumAdapters 108,2649 -static int WaitReady 119,2989 -static int WaitReadyLong 141,3507 -static void OpDone 164,4048 -static UCHAR Command 180,4549 -static int BuildSgList 203,5210 -static int PsiRaidCmd 244,6544 -static irqreturn_t Irq_Handler 265,7182 -int Pci2000_QueueCommand 409,11301 -int Pci2000_Detect 624,17621 -int Pci2000_Abort 737,21374 -int Pci2000_Reset 757,22060 -int Pci2000_Release 771,22474 -int Pci2000_BiosParam 796,23305 -static Scsi_Host_Template driver_template 819,23797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/advansys.c,64757 -#define ASC_VERSION 1,0 -#define CONFIG_ISA761,32784 -#define ADVANSYS_ASSERT812,34077 -#define ADVANSYS_STATS815,34140 -#define STATIC826,34278 -#define STATIC 828,34320 -#define ASC_LIB_VERSION_MAJOR 836,34420 -#define ASC_LIB_VERSION_MINOR 837,34453 -#define ASC_LIB_SERIAL_NUMBER 838,34487 -#define ASC_PADDR 849,34868 -#define ASC_VADDR 850,34938 -#define ASC_DCNT 851,35003 -#define ASC_SDCNT 852,35067 -#define ASC_VADDR_TO_U32 862,35455 -#define ASC_U32_TO_VADDR 863,35494 -typedef unsigned char uchar;uchar865,35534 -#define TRUE 868,35577 -#define FALSE 871,35619 -#define EOF 874,35648 -#define ERR 875,35670 -#define UW_ERR 876,35692 -#define isodd_word(isodd_word877,35724 -#define AscPCIConfigVendorIDRegister 878,35786 -#define AscPCIConfigDeviceIDRegister 879,35835 -#define AscPCIConfigCommandRegister 880,35884 -#define AscPCIConfigStatusRegister 881,35933 -#define AscPCIConfigRevisionIDRegister 882,35982 -#define AscPCIConfigCacheSize 883,36031 -#define AscPCIConfigLatencyTimer 884,36080 -#define AscPCIIOBaseRegister 885,36129 -#define AscPCICmdRegBits_IOMemBusMaster 886,36178 -#define ASC_PCI_ID2BUS(ASC_PCI_ID2BUS887,36227 -#define ASC_PCI_ID2DEV(ASC_PCI_ID2DEV888,36271 -#define ASC_PCI_ID2FUNC(ASC_PCI_ID2FUNC889,36323 -#define ASC_PCI_MKID(ASC_PCI_MKID890,36373 -#define ASC_PCI_VENDORID 891,36476 -#define ASC_PCI_DEVICEID_1200A 892,36525 -#define ASC_PCI_DEVICEID_1200B 893,36574 -#define ASC_PCI_DEVICEID_ULTRA 894,36623 -#define ASC_PCI_REVISION_3150 895,36672 -#define ASC_PCI_REVISION_3050 896,36719 -#define ASC_DVCLIB_CALL_DONE 898,36767 -#define ASC_DVCLIB_CALL_FAILED 899,36805 -#define ASC_DVCLIB_CALL_ERROR 900,36843 -#define CC_VERY_LONG_SG_LIST 908,37118 -#define ASC_SRB2SCSIQ(ASC_SRB2SCSIQ909,37149 -#define PortAddr 911,37192 -#define inp(inp912,37268 -#define outp(outp913,37311 -#define inpw(inpw915,37366 -#define outpw(outpw916,37409 -#define ASC_MAX_SG_QUEUE 918,37464 -#define ASC_MAX_SG_LIST 919,37494 -#define ASC_CS_TYPE 921,37527 -#define ASC_IS_ISA 923,37564 -#define ASC_IS_ISAPNP 924,37601 -#define ASC_IS_EISA 925,37638 -#define ASC_IS_PCI 926,37675 -#define ASC_IS_PCI_ULTRA 927,37712 -#define ASC_IS_PCMCIA 928,37749 -#define ASC_IS_MCA 929,37786 -#define ASC_IS_VL 930,37823 -#define ASC_ISA_PNP_PORT_ADDR 931,37860 -#define ASC_ISA_PNP_PORT_WRITE 932,37899 -#define ASC_IS_WIDESCSI_16 933,37960 -#define ASC_IS_WIDESCSI_32 934,37997 -#define ASC_IS_BIG_ENDIAN 935,38034 -#define ASC_CHIP_MIN_VER_VL 936,38071 -#define ASC_CHIP_MAX_VER_VL 937,38111 -#define ASC_CHIP_MIN_VER_PCI 938,38151 -#define ASC_CHIP_MAX_VER_PCI 939,38191 -#define ASC_CHIP_VER_PCI_BIT 940,38231 -#define ASC_CHIP_MIN_VER_ISA 941,38271 -#define ASC_CHIP_MIN_VER_ISA_PNP 942,38311 -#define ASC_CHIP_MAX_VER_ISA 943,38351 -#define ASC_CHIP_VER_ISA_BIT 944,38391 -#define ASC_CHIP_VER_ISAPNP_BIT 945,38431 -#define ASC_CHIP_VER_ASYN_BUG 946,38471 -#define ASC_CHIP_VER_PCI 947,38511 -#define ASC_CHIP_VER_PCI_ULTRA_3150 948,38553 -#define ASC_CHIP_VER_PCI_ULTRA_3050 949,38616 -#define ASC_CHIP_MIN_VER_EISA 950,38679 -#define ASC_CHIP_MAX_VER_EISA 951,38716 -#define ASC_CHIP_VER_EISA_BIT 952,38753 -#define ASC_CHIP_LATEST_VER_EISA 953,38790 -#define ASC_MAX_LIB_SUPPORTED_ISA_CHIP_VER 954,38859 -#define ASC_MAX_LIB_SUPPORTED_PCI_CHIP_VER 955,38909 -#define ASC_MAX_VL_DMA_ADDR 956,38959 -#define ASC_MAX_VL_DMA_COUNT 957,39005 -#define ASC_MAX_PCI_DMA_ADDR 958,39051 -#define ASC_MAX_PCI_DMA_COUNT 959,39097 -#define ASC_MAX_ISA_DMA_ADDR 960,39143 -#define ASC_MAX_ISA_DMA_COUNT 961,39189 -#define ASC_MAX_EISA_DMA_ADDR 962,39235 -#define ASC_MAX_EISA_DMA_COUNT 963,39281 -#define ASC_SCSI_ID_BITS 965,39328 -#define ASC_SCSI_TIX_TYPE 966,39356 -#define ASC_ALL_DEVICE_BIT_SET 967,39392 -#define ASC_SCSI_BIT_ID_TYPE 968,39429 -#define ASC_MAX_TID 969,39465 -#define ASC_MAX_LUN 970,39493 -#define ASC_SCSI_WIDTH_BIT_SET 971,39521 -#define ASC_MAX_SENSE_LEN 972,39558 -#define ASC_MIN_SENSE_LEN 973,39589 -#define ASC_MAX_CDB_LEN 974,39620 -#define ASC_SCSI_RESET_HOLD_TIME_US 975,39651 -#define ADV_INQ_CLOCKING_ST_ONLY 977,39692 -#define ADV_INQ_CLOCKING_DT_ONLY 978,39732 -#define ADV_INQ_CLOCKING_ST_AND_DT 979,39772 -#define ADV_INQ_RTN_VPD_AND_CMDDT 985,39940 -#define ADV_INQ_RTN_CMDDT_FOR_OP_CODE 986,39988 -#define ADV_INQ_RTN_VPD_FOR_PG_CODE 987,40036 -#define ADV_INQ_RTN_STD_INQUIRY_DATA 988,40084 -#define ASC_SCSIDIR_NOCHK 990,40133 -#define ASC_SCSIDIR_T2H 991,40167 -#define ASC_SCSIDIR_H2T 992,40201 -#define ASC_SCSIDIR_NODATA 993,40235 -#define SCSI_ASC_NOMEDIA 994,40269 -#define ASC_SRB_HOST(ASC_SRB_HOST995,40308 -#define ASC_SRB_TID(ASC_SRB_TID996,40360 -#define ASC_SRB_LUN(ASC_SRB_LUN997,40421 -#define PUT_CDB1(PUT_CDB1998,40473 -#define MS_CMD_DONE 999,40521 -#define MS_EXTEND 1000,40549 -#define MS_SDTR_LEN 1001,40577 -#define MS_SDTR_CODE 1002,40605 -#define MS_WDTR_LEN 1003,40633 -#define MS_WDTR_CODE 1004,40661 -#define MS_MDP_LEN 1005,40689 -#define MS_MDP_CODE 1006,40716 -#define ASC_INQ_DVC_TYPE(ASC_INQ_DVC_TYPE1016,41000 -#define ASC_INQ_QUALIFIER(ASC_INQ_QUALIFIER1017,41059 -#define ASC_INQ_DVC_TYPE_MOD(ASC_INQ_DVC_TYPE_MOD1018,41125 -#define ASC_INQ_REMOVABLE(ASC_INQ_REMOVABLE1019,41185 -#define ASC_INQ_ANSI_VER(ASC_INQ_ANSI_VER1020,41245 -#define ASC_INQ_ECMA_VER(ASC_INQ_ECMA_VER1021,41301 -#define ASC_INQ_ISO_VER(ASC_INQ_ISO_VER1022,41364 -#define ASC_INQ_RESPONSE_FMT(ASC_INQ_RESPONSE_FMT1023,41427 -#define ASC_INQ_TERM_IO(ASC_INQ_TERM_IO1024,41485 -#define ASC_INQ_ASYNC_NOTIF(ASC_INQ_ASYNC_NOTIF1025,41543 -#define ASC_INQ_SOFT_RESET(ASC_INQ_SOFT_RESET1026,41601 -#define ASC_INQ_CMD_QUEUE(ASC_INQ_CMD_QUEUE1027,41659 -#define ASC_INQ_LINK_CMD(ASC_INQ_LINK_CMD1028,41717 -#define ASC_INQ_SYNC(ASC_INQ_SYNC1029,41775 -#define ASC_INQ_WIDE16(ASC_INQ_WIDE161030,41833 -#define ASC_INQ_WIDE32(ASC_INQ_WIDE321031,41891 -#define ASC_INQ_REL_ADDR(ASC_INQ_REL_ADDR1032,41949 -#define ASC_INQ_INFO_UNIT(ASC_INQ_INFO_UNIT1033,42007 -#define ASC_INQ_QUICK_ARB(ASC_INQ_QUICK_ARB1034,42064 -#define ASC_INQ_CLOCKING(ASC_INQ_CLOCKING1035,42121 -} ASC_SCSI_INQUIRY;ASC_SCSI_INQUIRY1049,42576 -#define ASC_SG_LIST_PER_Q 1051,42597 -#define QS_FREE 1052,42627 -#define QS_READY 1053,42655 -#define QS_DISC1 1054,42683 -#define QS_DISC2 1055,42711 -#define QS_BUSY 1056,42739 -#define QS_ABORTED 1057,42767 -#define QS_DONE 1058,42795 -#define QC_NO_CALLBACK 1059,42823 -#define QC_SG_SWAP_QUEUE 1060,42853 -#define QC_SG_HEAD 1061,42883 -#define QC_DATA_IN 1062,42913 -#define QC_DATA_OUT 1063,42943 -#define QC_URGENT 1064,42973 -#define QC_MSG_OUT 1065,43003 -#define QC_REQ_SENSE 1066,43033 -#define QCSG_SG_XFER_LIST 1067,43063 -#define QCSG_SG_XFER_MORE 1068,43095 -#define QCSG_SG_XFER_END 1069,43127 -#define QD_IN_PROGRESS 1070,43159 -#define QD_NO_ERROR 1071,43193 -#define QD_ABORTED_BY_HOST 1072,43227 -#define QD_WITH_ERROR 1073,43261 -#define QD_INVALID_REQUEST 1074,43295 -#define QD_INVALID_HOST_NUM 1075,43329 -#define QD_INVALID_DEVICE 1076,43363 -#define QD_ERR_INTERNAL 1077,43397 -#define QHSTA_NO_ERROR 1078,43431 -#define QHSTA_M_SEL_TIMEOUT 1079,43473 -#define QHSTA_M_DATA_OVER_RUN 1080,43515 -#define QHSTA_M_DATA_UNDER_RUN 1081,43557 -#define QHSTA_M_UNEXPECTED_BUS_FREE 1082,43599 -#define QHSTA_M_BAD_BUS_PHASE_SEQ 1083,43641 -#define QHSTA_D_QDONE_SG_LIST_CORRUPTED 1084,43683 -#define QHSTA_D_ASC_DVC_ERROR_CODE_SET 1085,43728 -#define QHSTA_D_HOST_ABORT_FAILED 1086,43773 -#define QHSTA_D_EXE_SCSI_Q_FAILED 1087,43818 -#define QHSTA_D_EXE_SCSI_Q_BUSY_TIMEOUT 1088,43863 -#define QHSTA_D_ASPI_NO_BUF_POOL 1089,43908 -#define QHSTA_M_WTM_TIMEOUT 1090,43953 -#define QHSTA_M_BAD_CMPL_STATUS_IN 1091,43994 -#define QHSTA_M_NO_AUTO_REQ_SENSE 1092,44035 -#define QHSTA_M_AUTO_REQ_SENSE_FAIL 1093,44076 -#define QHSTA_M_TARGET_STATUS_BUSY 1094,44117 -#define QHSTA_M_BAD_TAG_CODE 1095,44158 -#define QHSTA_M_BAD_QUEUE_FULL_OR_BUSY 1096,44199 -#define QHSTA_M_HUNG_REQ_SCSI_BUS_RESET 1097,44244 -#define QHSTA_D_LRAM_CMP_ERROR 1098,44289 -#define QHSTA_M_MICRO_CODE_ERROR_HALT 1099,44332 -#define ASC_FLAG_SCSIQ_REQ 1100,44375 -#define ASC_FLAG_BIOS_SCSIQ_REQ 1101,44414 -#define ASC_FLAG_BIOS_ASYNC_IO 1102,44453 -#define ASC_FLAG_SRB_LINEAR_ADDR 1103,44492 -#define ASC_FLAG_WIN16 1104,44531 -#define ASC_FLAG_WIN32 1105,44570 -#define ASC_FLAG_ISA_OVER_16MB 1106,44609 -#define ASC_FLAG_DOS_VM_CALLBACK 1107,44648 -#define ASC_TAG_FLAG_EXTRA_BYTES 1108,44687 -#define ASC_TAG_FLAG_DISABLE_DISCONNECT 1109,44739 -#define ASC_TAG_FLAG_DISABLE_ASYN_USE_SYN_FIX 1110,44791 -#define ASC_TAG_FLAG_DISABLE_CHK_COND_INT_HOST 1111,44843 -#define ASC_SCSIQ_CPY_BEG 1112,44895 -#define ASC_SCSIQ_SGHD_CPY_BEG 1113,44936 -#define ASC_SCSIQ_B_FWD 1114,44977 -#define ASC_SCSIQ_B_BWD 1115,45018 -#define ASC_SCSIQ_B_STATUS 1116,45059 -#define ASC_SCSIQ_B_QNO 1117,45100 -#define ASC_SCSIQ_B_CNTL 1118,45141 -#define ASC_SCSIQ_B_SG_QUEUE_CNT 1119,45182 -#define ASC_SCSIQ_D_DATA_ADDR 1120,45223 -#define ASC_SCSIQ_D_DATA_CNT 1121,45264 -#define ASC_SCSIQ_B_SENSE_LEN 1122,45305 -#define ASC_SCSIQ_DONE_INFO_BEG 1123,45346 -#define ASC_SCSIQ_D_SRBPTR 1124,45387 -#define ASC_SCSIQ_B_TARGET_IX 1125,45428 -#define ASC_SCSIQ_B_CDB_LEN 1126,45469 -#define ASC_SCSIQ_B_TAG_CODE 1127,45510 -#define ASC_SCSIQ_W_VM_ID 1128,45551 -#define ASC_SCSIQ_DONE_STATUS 1129,45592 -#define ASC_SCSIQ_HOST_STATUS 1130,45633 -#define ASC_SCSIQ_SCSI_STATUS 1131,45674 -#define ASC_SCSIQ_CDB_BEG 1132,45715 -#define ASC_SCSIQ_DW_REMAIN_XFER_ADDR 1133,45756 -#define ASC_SCSIQ_DW_REMAIN_XFER_CNT 1134,45797 -#define ASC_SCSIQ_B_FIRST_SG_WK_QP 1135,45838 -#define ASC_SCSIQ_B_SG_WK_QP 1136,45879 -#define ASC_SCSIQ_B_SG_WK_IX 1137,45920 -#define ASC_SCSIQ_W_ALT_DC1 1138,45961 -#define ASC_SCSIQ_B_LIST_CNT 1139,46002 -#define ASC_SCSIQ_B_CUR_LIST_CNT 1140,46042 -#define ASC_SGQ_B_SG_CNTL 1141,46082 -#define ASC_SGQ_B_SG_HEAD_QP 1142,46122 -#define ASC_SGQ_B_SG_LIST_CNT 1143,46162 -#define ASC_SGQ_B_SG_CUR_LIST_CNT 1144,46202 -#define ASC_SGQ_LIST_BEG 1145,46242 -#define ASC_DEF_SCSI1_QNG 1146,46282 -#define ASC_MAX_SCSI1_QNG 1147,46313 -#define ASC_DEF_SCSI2_QNG 1148,46344 -#define ASC_MAX_SCSI2_QNG 1149,46376 -#define ASC_TAG_CODE_MASK 1150,46408 -#define ASC_STOP_REQ_RISC_STOP 1151,46442 -#define ASC_STOP_ACK_RISC_STOP 1152,46483 -#define ASC_STOP_CLEAN_UP_BUSY_Q 1153,46524 -#define ASC_STOP_CLEAN_UP_DISC_Q 1154,46565 -#define ASC_STOP_HOST_REQ_RISC_HALT 1155,46606 -#define ASC_TIDLUN_TO_IX(ASC_TIDLUN_TO_IX1156,46647 -#define ASC_TID_TO_TARGET_ID(ASC_TID_TO_TARGET_ID1157,46738 -#define ASC_TIX_TO_TARGET_ID(ASC_TIX_TO_TARGET_ID1158,46812 -#define ASC_TIX_TO_TID(ASC_TIX_TO_TID1159,46880 -#define ASC_TID_TO_TIX(ASC_TID_TO_TIX1160,46938 -#define ASC_TIX_TO_LUN(ASC_TIX_TO_LUN1161,46996 -#define ASC_QNO_TO_QADDR(ASC_QNO_TO_QADDR1162,47076 -typedef struct asc_scsiq_1 asc_scsiq_11164,47149 -} ASC_SCSIQ_1;ASC_SCSIQ_11176,47556 -typedef struct asc_scsiq_2 asc_scsiq_21178,47572 -} ASC_SCSIQ_2;ASC_SCSIQ_21185,47797 -typedef struct asc_scsiq_3 asc_scsiq_31187,47813 -} ASC_SCSIQ_3;ASC_SCSIQ_31192,47981 -typedef struct asc_scsiq_4 asc_scsiq_41194,47997 -} ASC_SCSIQ_4;ASC_SCSIQ_41204,48392 -typedef struct asc_q_done_info asc_q_done_info1206,48408 -} ASC_QDONE_INFO;ASC_QDONE_INFO1216,48730 -typedef struct asc_sg_list asc_sg_list1218,48749 -} ASC_SG_LIST;ASC_SG_LIST1221,48839 -typedef struct asc_sg_head asc_sg_head1223,48855 -} ASC_SG_HEAD;ASC_SG_HEAD1229,49072 -#define ASC_MIN_SG_LIST 1231,49088 -typedef struct asc_min_sg_head asc_min_sg_head1233,49117 -} ASC_MIN_SG_HEAD;ASC_MIN_SG_HEAD1239,49338 -#define QCX_SORT 1241,49358 -#define QCX_COALEASE 1242,49391 -typedef struct asc_scsi_q asc_scsi_q1244,49425 -} ASC_SCSI_Q;ASC_SCSI_Q1251,49660 -typedef struct asc_scsi_req_q asc_scsi_req_q1253,49675 -} ASC_SCSI_REQ_Q;ASC_SCSI_REQ_Q1262,49990 -typedef struct asc_scsi_bios_req_q asc_scsi_bios_req_q1264,50009 -} ASC_SCSI_BIOS_REQ_Q;ASC_SCSI_BIOS_REQ_Q1273,50329 -typedef struct asc_risc_q asc_risc_q1275,50353 -} ASC_RISC_Q;ASC_RISC_Q1282,50551 -typedef struct asc_sg_list_q asc_sg_list_q1284,50566 -} ASC_SG_LIST_Q;ASC_SG_LIST_Q1291,50803 -typedef struct asc_risc_sg_list_q asc_risc_sg_list_q1293,50821 -} ASC_RISC_SG_LIST_Q;ASC_RISC_SG_LIST_Q1298,50979 -#define ASC_EXE_SCSI_IO_MAX_IDLE_LOOP 1300,51002 -#define ASC_EXE_SCSI_IO_MAX_WAIT_LOOP 1301,51053 -#define ASCQ_ERR_NO_ERROR 1302,51097 -#define ASCQ_ERR_IO_NOT_FOUND 1303,51137 -#define ASCQ_ERR_LOCAL_MEM 1304,51177 -#define ASCQ_ERR_CHKSUM 1305,51217 -#define ASCQ_ERR_START_CHIP 1306,51257 -#define ASCQ_ERR_INT_TARGET_ID 1307,51297 -#define ASCQ_ERR_INT_LOCAL_MEM 1308,51337 -#define ASCQ_ERR_HALT_RISC 1309,51377 -#define ASCQ_ERR_GET_ASPI_ENTRY 1310,51417 -#define ASCQ_ERR_CLOSE_ASPI 1311,51457 -#define ASCQ_ERR_HOST_INQUIRY 1312,51497 -#define ASCQ_ERR_SAVED_SRB_BAD 1313,51540 -#define ASCQ_ERR_QCNTL_SG_LIST 1314,51583 -#define ASCQ_ERR_Q_STATUS 1315,51626 -#define ASCQ_ERR_WR_SCSIQ 1316,51669 -#define ASCQ_ERR_PC_ADDR 1317,51712 -#define ASCQ_ERR_SYN_OFFSET 1318,51755 -#define ASCQ_ERR_SYN_XFER_TIME 1319,51798 -#define ASCQ_ERR_LOCK_DMA 1320,51841 -#define ASCQ_ERR_UNLOCK_DMA 1321,51884 -#define ASCQ_ERR_VDS_CHK_INSTALL 1322,51927 -#define ASCQ_ERR_MICRO_CODE_HALT 1323,51970 -#define ASCQ_ERR_SET_LRAM_ADDR 1324,52013 -#define ASCQ_ERR_CUR_QNG 1325,52056 -#define ASCQ_ERR_SG_Q_LINKS 1326,52099 -#define ASCQ_ERR_SCSIQ_PTR 1327,52142 -#define ASCQ_ERR_ISR_RE_ENTRY 1328,52185 -#define ASCQ_ERR_CRITICAL_RE_ENTRY 1329,52228 -#define ASCQ_ERR_ISR_ON_CRITICAL 1330,52271 -#define ASCQ_ERR_SG_LIST_ODD_ADDRESS 1331,52314 -#define ASCQ_ERR_XFER_ADDRESS_TOO_BIG 1332,52357 -#define ASCQ_ERR_SCSIQ_NULL_PTR 1333,52400 -#define ASCQ_ERR_SCSIQ_BAD_NEXT_PTR 1334,52443 -#define ASCQ_ERR_GET_NUM_OF_FREE_Q 1335,52486 -#define ASCQ_ERR_SEND_SCSI_Q 1336,52529 -#define ASCQ_ERR_HOST_REQ_RISC_HALT 1337,52572 -#define ASCQ_ERR_RESET_SDTR 1338,52615 -#define ASC_WARN_NO_ERROR 1343,52726 -#define ASC_WARN_IO_PORT_ROTATE 1344,52771 -#define ASC_WARN_EEPROM_CHKSUM 1345,52816 -#define ASC_WARN_IRQ_MODIFIED 1346,52861 -#define ASC_WARN_AUTO_CONFIG 1347,52906 -#define ASC_WARN_CMD_QNG_CONFLICT 1348,52951 -#define ASC_WARN_EEPROM_RECOVER 1349,52996 -#define ASC_WARN_CFG_MSW_RECOVER 1350,53041 -#define ASC_WARN_SET_PCI_CONFIG_SPACE 1351,53086 -#define ASC_IERR_WRITE_EEPROM 1356,53196 -#define ASC_IERR_MCODE_CHKSUM 1357,53241 -#define ASC_IERR_SET_PC_ADDR 1358,53286 -#define ASC_IERR_START_STOP_CHIP 1359,53331 -#define ASC_IERR_IRQ_NO 1360,53376 -#define ASC_IERR_SET_IRQ_NO 1361,53421 -#define ASC_IERR_CHIP_VERSION 1362,53466 -#define ASC_IERR_SET_SCSI_ID 1363,53511 -#define ASC_IERR_GET_PHY_ADDR 1364,53556 -#define ASC_IERR_BAD_SIGNATURE 1365,53601 -#define ASC_IERR_NO_BUS_TYPE 1366,53646 -#define ASC_IERR_SCAM 1367,53691 -#define ASC_IERR_SET_SDTR 1368,53736 -#define ASC_IERR_RW_LRAM 1369,53781 -#define ASC_DEF_IRQ_NO 1371,53827 -#define ASC_MAX_IRQ_NO 1372,53854 -#define ASC_MIN_IRQ_NO 1373,53881 -#define ASC_MIN_REMAIN_Q 1374,53908 -#define ASC_DEF_MAX_TOTAL_QNG 1375,53947 -#define ASC_MIN_TAG_Q_PER_DVC 1376,53986 -#define ASC_DEF_TAG_Q_PER_DVC 1377,54025 -#define ASC_MIN_FREE_Q 1378,54064 -#define ASC_MIN_TOTAL_QNG 1379,54111 -#define ASC_MAX_TOTAL_QNG 1380,54179 -#define ASC_MAX_PCI_ULTRA_INRAM_TOTAL_QNG 1381,54209 -#define ASC_MAX_PCI_ULTRA_INRAM_TAG_QNG 1382,54254 -#define ASC_MAX_PCI_INRAM_TOTAL_QNG 1383,54298 -#define ASC_MAX_INRAM_TAG_QNG 1384,54338 -#define ASC_IOADR_TABLE_MAX_IX 1385,54373 -#define ASC_IOADR_GAP 1386,54408 -#define ASC_SEARCH_IOP_GAP 1387,54437 -#define ASC_MIN_IOP_ADDR 1388,54469 -#define ASC_MAX_IOP_ADDR 1389,54513 -#define ASC_IOADR_1 1390,54556 -#define ASC_IOADR_2 1391,54597 -#define ASC_IOADR_3 1392,54638 -#define ASC_IOADR_4 1393,54679 -#define ASC_IOADR_5 1394,54720 -#define ASC_IOADR_6 1395,54761 -#define ASC_IOADR_7 1396,54802 -#define ASC_IOADR_8 1397,54843 -#define ASC_IOADR_DEF 1398,54884 -#define ASC_LIB_SCSIQ_WK_SP 1399,54920 -#define ASC_MAX_SYN_XFER_NO 1400,54959 -#define ASC_SYN_MAX_OFFSET 1401,54997 -#define ASC_DEF_SDTR_OFFSET 1402,55037 -#define ASC_DEF_SDTR_INDEX 1403,55077 -#define ASC_SDTR_ULTRA_PCI_10MB_INDEX 1404,55117 -#define SYN_XFER_NS_0 1405,55161 -#define SYN_XFER_NS_1 1406,55187 -#define SYN_XFER_NS_2 1407,55213 -#define SYN_XFER_NS_3 1408,55239 -#define SYN_XFER_NS_4 1409,55265 -#define SYN_XFER_NS_5 1410,55291 -#define SYN_XFER_NS_6 1411,55317 -#define SYN_XFER_NS_7 1412,55343 -#define SYN_ULTRA_XFER_NS_0 1413,55369 -#define SYN_ULTRA_XFER_NS_1 1414,55403 -#define SYN_ULTRA_XFER_NS_2 1415,55437 -#define SYN_ULTRA_XFER_NS_3 1416,55471 -#define SYN_ULTRA_XFER_NS_4 1417,55505 -#define SYN_ULTRA_XFER_NS_5 1418,55539 -#define SYN_ULTRA_XFER_NS_6 1419,55573 -#define SYN_ULTRA_XFER_NS_7 1420,55607 -#define SYN_ULTRA_XFER_NS_8 1421,55641 -#define SYN_ULTRA_XFER_NS_9 1422,55675 -#define SYN_ULTRA_XFER_NS_10 1423,55709 -#define SYN_ULTRA_XFER_NS_11 1424,55743 -#define SYN_ULTRA_XFER_NS_12 1425,55777 -#define SYN_ULTRA_XFER_NS_13 1426,55811 -#define SYN_ULTRA_XFER_NS_14 1427,55845 -#define SYN_ULTRA_XFER_NS_15 1428,55879 -typedef struct ext_msg ext_msg1430,55914 -} EXT_MSG;EXT_MSG1450,56502 -#define xfer_period 1452,56514 -#define req_ack_offset 1453,56570 -#define wdtr_width 1454,56629 -#define mdp_b3 1455,56679 -#define mdp_b2 1456,56720 -#define mdp_b1 1457,56761 -#define mdp_b0 1458,56802 -typedef struct asc_dvc_cfg asc_dvc_cfg1460,56844 -} ASC_DVC_CFG;ASC_DVC_CFG1479,57596 -#define ASC_DEF_DVC_CNTL 1481,57612 -#define ASC_DEF_CHIP_SCSI_ID 1482,57650 -#define ASC_DEF_ISA_DMA_SPEED 1483,57683 -#define ASC_INIT_STATE_NULL 1484,57716 -#define ASC_INIT_STATE_BEG_GET_CFG 1485,57760 -#define ASC_INIT_STATE_END_GET_CFG 1486,57804 -#define ASC_INIT_STATE_BEG_SET_CFG 1487,57848 -#define ASC_INIT_STATE_END_SET_CFG 1488,57892 -#define ASC_INIT_STATE_BEG_LOAD_MC 1489,57936 -#define ASC_INIT_STATE_END_LOAD_MC 1490,57980 -#define ASC_INIT_STATE_BEG_INQUIRY 1491,58024 -#define ASC_INIT_STATE_END_INQUIRY 1492,58068 -#define ASC_INIT_RESET_SCSI_DONE 1493,58112 -#define ASC_INIT_STATE_WITHOUT_EEP 1494,58156 -#define ASC_PCI_DEVICE_ID_REV_A 1495,58200 -#define ASC_PCI_DEVICE_ID_REV_B 1496,58244 -#define ASC_BUG_FIX_IF_NOT_DWB 1497,58288 -#define ASC_BUG_FIX_ASYN_USE_SYN 1498,58332 -#define ASYN_SDTR_DATA_FIX_PCI_REV_AB 1499,58376 -#define ASC_MIN_TAGGED_CMD 1500,58419 -#define ASC_MAX_SCSI_RESET_WAIT 1501,58449 -typedef void (* ASC_ISR_CALLBACK)ASC_ISR_CALLBACK1505,58542 -typedef int (* ASC_EXE_CALLBACK)ASC_EXE_CALLBACK1506,58617 -typedef struct asc_dvc_var asc_dvc_var1508,58688 -} ASC_DVC_VAR;ASC_DVC_VAR1548,60280 -typedef struct asc_dvc_inq_info asc_dvc_inq_info1550,60296 -} ASC_DVC_INQ_INFO;ASC_DVC_INQ_INFO1552,60394 -typedef struct asc_cap_info asc_cap_info1554,60415 -} ASC_CAP_INFO;ASC_CAP_INFO1557,60508 -typedef struct asc_cap_info_array asc_cap_info_array1559,60525 -} ASC_CAP_INFO_ARRAY;ASC_CAP_INFO_ARRAY1561,60629 -#define ASC_MCNTL_NO_SEL_TIMEOUT 1563,60652 -#define ASC_MCNTL_NULL_TARGET 1564,60701 -#define ASC_CNTL_INITIATOR 1565,60750 -#define ASC_CNTL_BIOS_GT_1GB 1566,60800 -#define ASC_CNTL_BIOS_GT_2_DISK 1567,60850 -#define ASC_CNTL_BIOS_REMOVABLE 1568,60900 -#define ASC_CNTL_NO_SCAM 1569,60950 -#define ASC_CNTL_INT_MULTI_Q 1570,61000 -#define ASC_CNTL_NO_LUN_SUPPORT 1571,61050 -#define ASC_CNTL_NO_VERIFY_COPY 1572,61100 -#define ASC_CNTL_RESET_SCSI 1573,61150 -#define ASC_CNTL_INIT_INQUIRY 1574,61200 -#define ASC_CNTL_INIT_VERBOSE 1575,61250 -#define ASC_CNTL_SCSI_PARITY 1576,61300 -#define ASC_CNTL_BURST_MODE 1577,61350 -#define ASC_CNTL_SDTR_ENABLE_ULTRA 1578,61400 -#define ASC_EEP_DVC_CFG_BEG_VL 1579,61450 -#define ASC_EEP_MAX_DVC_ADDR_VL 1580,61486 -#define ASC_EEP_DVC_CFG_BEG 1581,61523 -#define ASC_EEP_MAX_DVC_ADDR 1582,61559 -#define ASC_EEP_DEFINED_WORDS 1583,61595 -#define ASC_EEP_MAX_ADDR 1584,61631 -#define ASC_EEP_RES_WORDS 1585,61667 -#define ASC_EEP_MAX_RETRY 1586,61703 -#define ASC_MAX_INIT_BUSY_RETRY 1587,61739 -#define ASC_EEP_ISA_PNP_WSIZE 1588,61775 -#define ASC_EEP_GET_CHIP_ID(ASC_EEP_GET_CHIP_ID1597,62001 -#define ASC_EEP_GET_DMA_SPD(ASC_EEP_GET_DMA_SPD1598,62062 -#define ASC_EEP_SET_CHIP_ID(ASC_EEP_SET_CHIP_ID1599,62130 -#define ASC_EEP_SET_DMA_SPD(ASC_EEP_SET_DMA_SPD1601,62242 -typedef struct asceep_config asceep_config1604,62353 -} ASCEEP_CONFIG;ASCEEP_CONFIG1622,63088 -#define ASC_PCI_CFG_LSW_SCSI_PARITY 1624,63106 -#define ASC_PCI_CFG_LSW_BURST_MODE 1625,63150 -#define ASC_PCI_CFG_LSW_INTR_ABLE 1626,63194 -#define ASC_EEP_CMD_READ 1628,63239 -#define ASC_EEP_CMD_WRITE 1629,63278 -#define ASC_EEP_CMD_WRITE_ABLE 1630,63317 -#define ASC_EEP_CMD_WRITE_DISABLE 1631,63356 -#define ASC_OVERRUN_BSIZE 1632,63395 -#define ASC_CTRL_BREAK_ONCE 1633,63435 -#define ASC_CTRL_BREAK_STAY_IDLE 1634,63477 -#define ASCV_MSGOUT_BEG 1635,63519 -#define ASCV_MSGOUT_SDTR_PERIOD 1636,63558 -#define ASCV_MSGOUT_SDTR_OFFSET 1637,63610 -#define ASCV_BREAK_SAVED_CODE 1638,63662 -#define ASCV_MSGIN_BEG 1639,63709 -#define ASCV_MSGIN_SDTR_PERIOD 1640,63761 -#define ASCV_MSGIN_SDTR_OFFSET 1641,63812 -#define ASCV_SDTR_DATA_BEG 1642,63863 -#define ASCV_SDTR_DONE_BEG 1643,63914 -#define ASCV_MAX_DVC_QNG_BEG 1644,63969 -#define ASCV_BREAK_ADDR 1645,64016 -#define ASCV_BREAK_NOTIFY_COUNT 1646,64065 -#define ASCV_BREAK_CONTROL 1647,64114 -#define ASCV_BREAK_HIT_COUNT 1648,64163 -#define ASCV_ASCDVC_ERR_CODE_W 1650,64213 -#define ASCV_MCODE_CHKSUM_W 1651,64260 -#define ASCV_MCODE_SIZE_W 1652,64305 -#define ASCV_STOP_CODE_B 1653,64350 -#define ASCV_DVC_ERR_CODE_B 1654,64395 -#define ASCV_OVERRUN_PADDR_D 1655,64440 -#define ASCV_OVERRUN_BSIZE_D 1656,64485 -#define ASCV_HALTCODE_W 1657,64530 -#define ASCV_CHKSUM_W 1658,64575 -#define ASCV_MC_DATE_W 1659,64620 -#define ASCV_MC_VER_W 1660,64665 -#define ASCV_NEXTRDY_B 1661,64710 -#define ASCV_DONENEXT_B 1662,64755 -#define ASCV_USE_TAGGED_QNG_B 1663,64800 -#define ASCV_SCSIBUSY_B 1664,64845 -#define ASCV_Q_DONE_IN_PROGRESS_B 1665,64890 -#define ASCV_CURCDB_B 1666,64940 -#define ASCV_RCLUN_B 1667,64985 -#define ASCV_BUSY_QHEAD_B 1668,65030 -#define ASCV_DISC1_QHEAD_B 1669,65075 -#define ASCV_DISC_ENABLE_B 1670,65120 -#define ASCV_CAN_TAGGED_QNG_B 1671,65165 -#define ASCV_HOSTSCSI_ID_B 1672,65210 -#define ASCV_MCODE_CNTL_B 1673,65255 -#define ASCV_NULL_TARGET_B 1674,65300 -#define ASCV_FREE_Q_HEAD_W 1675,65345 -#define ASCV_DONE_Q_TAIL_W 1676,65390 -#define ASCV_FREE_Q_HEAD_B 1677,65435 -#define ASCV_DONE_Q_TAIL_B 1678,65496 -#define ASCV_HOST_FLAG_B 1679,65557 -#define ASCV_TOTAL_READY_Q_B 1680,65602 -#define ASCV_VER_SERIAL_B 1681,65647 -#define ASCV_HALTCODE_SAVED_W 1682,65692 -#define ASCV_WTM_FLAG_B 1683,65737 -#define ASCV_RISC_FLAG_B 1684,65782 -#define ASCV_REQ_SG_LIST_QP 1685,65827 -#define ASC_HOST_FLAG_IN_ISR 1686,65872 -#define ASC_HOST_FLAG_ACK_INT 1687,65913 -#define ASC_RISC_FLAG_GEN_INT 1688,65954 -#define ASC_RISC_FLAG_REQ_SG_LIST 1689,65994 -#define IOP_CTRL 1690,66034 -#define IOP_STATUS 1691,66066 -#define IOP_INT_ACK 1692,66098 -#define IOP_REG_IFC 1693,66134 -#define IOP_SYN_OFFSET 1694,66166 -#define IOP_EXTRA_CONTROL 1695,66199 -#define IOP_REG_PC 1696,66232 -#define IOP_RAM_ADDR 1697,66265 -#define IOP_RAM_DATA 1698,66298 -#define IOP_EEP_DATA 1699,66331 -#define IOP_EEP_CMD 1700,66364 -#define IOP_VERSION 1701,66397 -#define IOP_CONFIG_HIGH 1702,66430 -#define IOP_CONFIG_LOW 1703,66463 -#define IOP_SIG_BYTE 1704,66496 -#define IOP_SIG_WORD 1705,66529 -#define IOP_REG_DC1 1706,66562 -#define IOP_REG_DC0 1707,66594 -#define IOP_REG_SB 1708,66626 -#define IOP_REG_DA1 1709,66658 -#define IOP_REG_DA0 1710,66690 -#define IOP_REG_SC 1711,66722 -#define IOP_DMA_SPEED 1712,66754 -#define IOP_REG_FLAG 1713,66786 -#define IOP_FIFO_H 1714,66818 -#define IOP_FIFO_L 1715,66850 -#define IOP_REG_ID 1716,66882 -#define IOP_REG_QP 1717,66914 -#define IOP_REG_IH 1718,66946 -#define IOP_REG_IX 1719,66978 -#define IOP_REG_AX 1720,67010 -#define IFC_REG_LOCK 1721,67042 -#define IFC_REG_UNLOCK 1722,67075 -#define IFC_WR_EN_FILTER 1723,67108 -#define IFC_RD_NO_EEPROM 1724,67141 -#define IFC_SLEW_RATE 1725,67174 -#define IFC_ACT_NEG 1726,67207 -#define IFC_INP_FILTER 1727,67240 -#define IFC_INIT_DEFAULT 1728,67273 -#define SC_SEL 1729,67330 -#define SC_BSY 1730,67361 -#define SC_ACK 1731,67392 -#define SC_REQ 1732,67423 -#define SC_ATN 1733,67454 -#define SC_IO 1734,67485 -#define SC_CD 1735,67516 -#define SC_MSG 1736,67547 -#define SEC_SCSI_CTL 1737,67578 -#define SEC_ACTIVE_NEGATE 1738,67621 -#define SEC_SLEW_RATE 1739,67664 -#define SEC_ENABLE_FILTER 1740,67707 -#define ASC_HALT_EXTMSG_IN 1741,67750 -#define ASC_HALT_CHK_CONDITION 1742,67796 -#define ASC_HALT_SS_QUEUE_FULL 1743,67842 -#define ASC_HALT_DISABLE_ASYN_USE_SYN_FIX 1744,67888 -#define ASC_HALT_ENABLE_ASYN_USE_SYN_FIX 1745,67946 -#define ASC_HALT_SDTR_REJECTED 1746,68004 -#define ASC_HALT_HOST_COPY_SG_LIST_TO_RISC 1747,68050 -#define ASC_MAX_QNO 1748,68110 -#define ASC_DATA_SEC_BEG 1749,68142 -#define ASC_DATA_SEC_END 1750,68184 -#define ASC_CODE_SEC_BEG 1751,68226 -#define ASC_CODE_SEC_END 1752,68268 -#define ASC_QADR_BEG 1753,68310 -#define ASC_QADR_USED 1754,68346 -#define ASC_QADR_END 1755,68400 -#define ASC_QLAST_ADR 1756,68442 -#define ASC_QBLK_SIZE 1757,68484 -#define ASC_BIOS_DATA_QBEG 1758,68516 -#define ASC_MIN_ACTIVE_QNO 1759,68548 -#define ASC_QLINK_END 1760,68580 -#define ASC_EEPROM_WORDS 1761,68612 -#define ASC_MAX_MGS_LEN 1762,68644 -#define ASC_BIOS_ADDR_DEF 1763,68676 -#define ASC_BIOS_SIZE 1764,68710 -#define ASC_BIOS_RAM_OFF 1765,68744 -#define ASC_BIOS_RAM_SIZE 1766,68778 -#define ASC_BIOS_MIN_ADDR 1767,68811 -#define ASC_BIOS_MAX_ADDR 1768,68845 -#define ASC_BIOS_BANK_SIZE 1769,68879 -#define ASC_MCODE_START_ADDR 1770,68913 -#define ASC_CFG0_HOST_INT_ON 1771,68950 -#define ASC_CFG0_BIOS_ON 1772,68989 -#define ASC_CFG0_VERA_BURST_ON 1773,69028 -#define ASC_CFG0_SCSI_PARITY_ON 1774,69067 -#define ASC_CFG1_SCSI_TARGET_ON 1775,69106 -#define ASC_CFG1_LRAM_8BITS_ON 1776,69145 -#define ASC_CFG_MSW_CLR_MASK 1777,69184 -#define CSW_TEST1 1778,69223 -#define CSW_AUTO_CONFIG 1779,69273 -#define CSW_RESERVED1 1780,69323 -#define CSW_IRQ_WRITTEN 1781,69373 -#define CSW_33MHZ_SELECTED 1782,69423 -#define CSW_TEST2 1783,69473 -#define CSW_TEST3 1784,69523 -#define CSW_RESERVED2 1785,69573 -#define CSW_DMA_DONE 1786,69623 -#define CSW_FIFO_RDY 1787,69673 -#define CSW_EEP_READ_DONE 1788,69723 -#define CSW_HALTED 1789,69773 -#define CSW_SCSI_RESET_ACTIVE 1790,69823 -#define CSW_PARITY_ERR 1791,69873 -#define CSW_SCSI_RESET_LATCH 1792,69923 -#define CSW_INT_PENDING 1793,69973 -#define CIW_CLR_SCSI_RESET_INT 1794,70023 -#define CIW_INT_ACK 1795,70074 -#define CIW_TEST1 1796,70119 -#define CIW_TEST2 1797,70164 -#define CIW_SEL_33MHZ 1798,70209 -#define CIW_IRQ_ACT 1799,70254 -#define CC_CHIP_RESET 1800,70299 -#define CC_SCSI_RESET 1801,70335 -#define CC_HALT 1802,70371 -#define CC_SINGLE_STEP 1803,70407 -#define CC_DMA_ABLE 1804,70443 -#define CC_TEST 1805,70479 -#define CC_BANK_ONE 1806,70515 -#define CC_DIAG 1807,70551 -#define ASC_1000_ID0W 1808,70587 -#define ASC_1000_ID0W_FIX 1809,70621 -#define ASC_1000_ID1B 1810,70655 -#define ASC_EISA_BIG_IOP_GAP 1811,70687 -#define ASC_EISA_SMALL_IOP_GAP 1812,70734 -#define ASC_EISA_MIN_IOP_ADDR 1813,70774 -#define ASC_EISA_MAX_IOP_ADDR 1814,70814 -#define ASC_EISA_REV_IOP_MASK 1815,70854 -#define ASC_EISA_PID_IOP_MASK 1816,70894 -#define ASC_EISA_CFG_IOP_MASK 1817,70934 -#define ASC_GET_EISA_SLOT(ASC_GET_EISA_SLOT1818,70974 -#define ASC_EISA_ID_740 1819,71033 -#define ASC_EISA_ID_750 1820,71073 -#define INS_HALTINT 1821,71113 -#define INS_HALT 1822,71155 -#define INS_SINT 1823,71197 -#define INS_RFLAG_WTM 1824,71239 -#define ASC_MC_SAVE_CODE_WSIZE 1825,71281 -#define ASC_MC_SAVE_DATA_WSIZE 1826,71319 -typedef struct asc_mc_saved asc_mc_saved1828,71357 -} ASC_MC_SAVED;ASC_MC_SAVED1831,71495 -#define AscGetQDoneInProgress(AscGetQDoneInProgress1833,71512 -#define AscPutQDoneInProgress(AscPutQDoneInProgress1834,71607 -#define AscGetVarFreeQHead(AscGetVarFreeQHead1835,71708 -#define AscGetVarDoneQTail(AscGetVarDoneQTail1836,71796 -#define AscPutVarFreeQHead(AscPutVarFreeQHead1837,71884 -#define AscPutVarDoneQTail(AscPutVarDoneQTail1838,71978 -#define AscGetRiscVarFreeQHead(AscGetRiscVarFreeQHead1839,72072 -#define AscGetRiscVarDoneQTail(AscGetRiscVarDoneQTail1840,72156 -#define AscPutRiscVarFreeQHead(AscPutRiscVarFreeQHead1841,72241 -#define AscPutRiscVarDoneQTail(AscPutRiscVarDoneQTail1842,72331 -#define AscPutMCodeSDTRDoneAtID(AscPutMCodeSDTRDoneAtID1843,72422 -#define AscGetMCodeSDTRDoneAtID(AscGetMCodeSDTRDoneAtID1844,72554 -#define AscPutMCodeInitSDTRAtID(AscPutMCodeInitSDTRAtID1845,72677 -#define AscGetMCodeInitSDTRAtID(AscGetMCodeInitSDTRAtID1846,72807 -#define AscSynIndexToPeriod(AscSynIndexToPeriod1847,72930 -#define AscGetChipSignatureByte(AscGetChipSignatureByte1848,73017 -#define AscGetChipSignatureWord(AscGetChipSignatureWord1849,73091 -#define AscGetChipVerNo(AscGetChipVerNo1850,73167 -#define AscGetChipCfgLsw(AscGetChipCfgLsw1851,73240 -#define AscGetChipCfgMsw(AscGetChipCfgMsw1852,73318 -#define AscSetChipCfgLsw(AscSetChipCfgLsw1853,73397 -#define AscSetChipCfgMsw(AscSetChipCfgMsw1854,73474 -#define AscGetChipEEPCmd(AscGetChipEEPCmd1855,73552 -#define AscSetChipEEPCmd(AscSetChipEEPCmd1856,73625 -#define AscGetChipEEPData(AscGetChipEEPData1857,73698 -#define AscSetChipEEPData(AscSetChipEEPData1858,73774 -#define AscGetChipLramAddr(AscGetChipLramAddr1859,73849 -#define AscSetChipLramAddr(AscSetChipLramAddr1860,73937 -#define AscGetChipLramData(AscGetChipLramData1861,74024 -#define AscSetChipLramData(AscSetChipLramData1862,74100 -#define AscGetChipIFC(AscGetChipIFC1863,74175 -#define AscSetChipIFC(AscSetChipIFC1864,74248 -#define AscGetChipStatus(AscGetChipStatus1865,74322 -#define AscSetChipStatus(AscSetChipStatus1866,74401 -#define AscGetChipControl(AscGetChipControl1867,74476 -#define AscSetChipControl(AscSetChipControl1868,74546 -#define AscGetChipSyn(AscGetChipSyn1869,74618 -#define AscSetChipSyn(AscSetChipSyn1870,74694 -#define AscSetPCAddr(AscSetPCAddr1871,74770 -#define AscGetPCAddr(AscGetPCAddr1872,74843 -#define AscIsIntPending(AscIsIntPending1873,74917 -#define AscGetChipScsiID(AscGetChipScsiID1874,75027 -#define AscGetExtraControl(AscGetExtraControl1875,75115 -#define AscSetExtraControl(AscSetExtraControl1876,75194 -#define AscReadChipAX(AscReadChipAX1877,75273 -#define AscWriteChipAX(AscWriteChipAX1878,75347 -#define AscReadChipIX(AscReadChipIX1879,75420 -#define AscWriteChipIX(AscWriteChipIX1880,75492 -#define AscReadChipIH(AscReadChipIH1881,75564 -#define AscWriteChipIH(AscWriteChipIH1882,75638 -#define AscReadChipQP(AscReadChipQP1883,75711 -#define AscWriteChipQP(AscWriteChipQP1884,75783 -#define AscReadChipFIFO_L(AscReadChipFIFO_L1885,75855 -#define AscWriteChipFIFO_L(AscWriteChipFIFO_L1886,75933 -#define AscReadChipFIFO_H(AscReadChipFIFO_H1887,76010 -#define AscWriteChipFIFO_H(AscWriteChipFIFO_H1888,76088 -#define AscReadChipDmaSpeed(AscReadChipDmaSpeed1889,76165 -#define AscWriteChipDmaSpeed(AscWriteChipDmaSpeed1890,76240 -#define AscReadChipDA0(AscReadChipDA01891,76315 -#define AscWriteChipDA0(AscWriteChipDA01892,76390 -#define AscReadChipDA1(AscReadChipDA11893,76464 -#define AscWriteChipDA1(AscWriteChipDA11894,76539 -#define AscReadChipDC0(AscReadChipDC01895,76613 -#define AscWriteChipDC0(AscWriteChipDC01896,76688 -#define AscReadChipDC1(AscReadChipDC11897,76762 -#define AscWriteChipDC1(AscWriteChipDC11898,76837 -#define AscReadChipDvcID(AscReadChipDvcID1899,76911 -#define AscWriteChipDvcID(AscWriteChipDvcID1900,76983 -#define ADV_LIB_VERSION_MAJOR 2021,82766 -#define ADV_LIB_VERSION_MINOR 2022,82799 -#define ADV_PADDR 2037,83233 -#define ADV_VADDR 2038,83299 -#define ADV_DCNT 2039,83364 -#define ADV_SDCNT 2040,83428 -#define ADV_VADDR_TO_U32 2050,83816 -#define ADV_U32_TO_VADDR 2051,83855 -#define AdvPortAddr 2053,83895 -#define ADV_MEM_READB(ADV_MEM_READB2058,84030 -#define ADV_MEM_READW(ADV_MEM_READW2059,84070 -#define ADV_MEM_WRITEB(ADV_MEM_WRITEB2060,84110 -#define ADV_MEM_WRITEW(ADV_MEM_WRITEW2061,84164 -#define ADV_MEM_WRITEDW(ADV_MEM_WRITEDW2062,84218 -#define ADV_CARRIER_COUNT 2064,84276 -#define ADV_MAX_CDB_LEN 2070,84408 -#define ADV_TOT_SG_BLOCK 2082,84921 -#define ADV_MAX_SG_LIST 2088,85071 -#define ADV_NUM_SG_BLOCK 2091,85142 -#define ADV_SG_TOTAL_MEM_SIZE 2095,85292 -#define ADV_PAGE_SIZE 2098,85372 -#define ADV_NUM_PAGE_CROSSING 2100,85405 -#define ADV_PCI_VENDOR_ID 2104,85521 -#define ADV_PCI_DEVICE_ID_REV_A 2105,85568 -#define ADV_PCI_DEVID_38C0800_REV1 2106,85615 -#define ADV_PCI_DEVID_38C1600_REV1 2107,85662 -#define ADV_EEP_DVC_CFG_BEGIN 2109,85710 -#define ADV_EEP_DVC_CFG_END 2110,85757 -#define ADV_EEP_DVC_CTL_BEGIN 2111,85804 -#define ADV_EEP_MAX_WORD_ADDR 2112,85879 -#define ADV_EEP_DELAY_MS 2114,85927 -#define ADV_EEPROM_BIG_ENDIAN 2116,85972 -#define ADV_EEPROM_BIOS_ENABLE 2117,86040 -#define ADV_EEPROM_TERM_POL 2123,86288 -#define ADV_EEPROM_CIS_LD 2124,86356 -#define ADV_EEPROM_INTAB 2136,86810 -typedef struct adveep_3550_configadveep_3550_config2138,86879 -} ADVEEP_3550_CONFIG;ADVEEP_3550_CONFIG2206,90707 -typedef struct adveep_38C0800_configadveep_38C0800_config2208,90730 -} ADVEEP_38C0800_CONFIG;ADVEEP_38C0800_CONFIG2307,96174 -typedef struct adveep_38C1600_configadveep_38C1600_config2309,96200 -} ADVEEP_38C1600_CONFIG;ADVEEP_38C1600_CONFIG2410,101865 -#define ASC_EEP_CMD_DONE 2415,101917 -#define ASC_EEP_CMD_DONE_ERR 2416,101961 -#define EEP_CFG_WORD_BIG_ENDIAN 2419,102021 -#define BIOS_CTRL_BIOS 2422,102082 -#define BIOS_CTRL_EXTENDED_XLAT 2423,102126 -#define BIOS_CTRL_GT_2_DISK 2424,102170 -#define BIOS_CTRL_BIOS_REMOVABLE 2425,102214 -#define BIOS_CTRL_BOOTABLE_CD 2426,102258 -#define BIOS_CTRL_MULTIPLE_LUN 2427,102302 -#define BIOS_CTRL_DISPLAY_MSG 2428,102346 -#define BIOS_CTRL_NO_SCAM 2429,102390 -#define BIOS_CTRL_RESET_SCSI_BUS 2430,102434 -#define BIOS_CTRL_INIT_VERBOSE 2431,102478 -#define BIOS_CTRL_SCSI_PARITY 2432,102522 -#define BIOS_CTRL_AIPP_DIS 2433,102566 -#define ADV_3550_MEMSIZE 2435,102611 -#define ADV_3550_IOLEN 2436,102678 -#define ADV_38C0800_MEMSIZE 2438,102749 -#define ADV_38C0800_IOLEN 2439,102817 -#define ADV_38C1600_MEMSIZE 2448,103150 -#define ADV_38C1600_IOLEN 2449,103216 -#define ADV_38C1600_MEMLEN 2450,103286 -#define IOPB_INTR_STATUS_REG 2455,103416 -#define IOPB_CHIP_ID_1 2456,103453 -#define IOPB_INTR_ENABLES 2457,103490 -#define IOPB_CHIP_TYPE_REV 2458,103527 -#define IOPB_RES_ADDR_4 2459,103564 -#define IOPB_RES_ADDR_5 2460,103601 -#define IOPB_RAM_DATA 2461,103638 -#define IOPB_RES_ADDR_7 2462,103675 -#define IOPB_FLAG_REG 2463,103712 -#define IOPB_RES_ADDR_9 2464,103749 -#define IOPB_RISC_CSR 2465,103786 -#define IOPB_RES_ADDR_B 2466,103823 -#define IOPB_RES_ADDR_C 2467,103860 -#define IOPB_RES_ADDR_D 2468,103897 -#define IOPB_SOFT_OVER_WR 2469,103934 -#define IOPB_RES_ADDR_F 2470,103971 -#define IOPB_MEM_CFG 2471,104008 -#define IOPB_RES_ADDR_11 2472,104045 -#define IOPB_GPIO_DATA 2473,104082 -#define IOPB_RES_ADDR_13 2474,104119 -#define IOPB_FLASH_PAGE 2475,104156 -#define IOPB_RES_ADDR_15 2476,104193 -#define IOPB_GPIO_CNTL 2477,104230 -#define IOPB_RES_ADDR_17 2478,104267 -#define IOPB_FLASH_DATA 2479,104304 -#define IOPB_RES_ADDR_19 2480,104341 -#define IOPB_RES_ADDR_1A 2481,104378 -#define IOPB_RES_ADDR_1B 2482,104415 -#define IOPB_RES_ADDR_1C 2483,104452 -#define IOPB_RES_ADDR_1D 2484,104489 -#define IOPB_RES_ADDR_1E 2485,104526 -#define IOPB_RES_ADDR_1F 2486,104563 -#define IOPB_DMA_CFG0 2487,104600 -#define IOPB_DMA_CFG1 2488,104637 -#define IOPB_TICKLE 2489,104674 -#define IOPB_DMA_REG_WR 2490,104711 -#define IOPB_SDMA_STATUS 2491,104748 -#define IOPB_SCSI_BYTE_CNT 2492,104785 -#define IOPB_HOST_BYTE_CNT 2493,104822 -#define IOPB_BYTE_LEFT_TO_XFER 2494,104859 -#define IOPB_BYTE_TO_XFER_0 2495,104896 -#define IOPB_BYTE_TO_XFER_1 2496,104933 -#define IOPB_BYTE_TO_XFER_2 2497,104970 -#define IOPB_BYTE_TO_XFER_3 2498,105007 -#define IOPB_ACC_GRP 2499,105044 -#define IOPB_RES_ADDR_2D 2500,105081 -#define IOPB_DEV_ID 2501,105118 -#define IOPB_RES_ADDR_2F 2502,105155 -#define IOPB_SCSI_DATA 2503,105192 -#define IOPB_RES_ADDR_31 2504,105229 -#define IOPB_RES_ADDR_32 2505,105266 -#define IOPB_SCSI_DATA_HSHK 2506,105303 -#define IOPB_SCSI_CTRL 2507,105340 -#define IOPB_RES_ADDR_35 2508,105377 -#define IOPB_RES_ADDR_36 2509,105414 -#define IOPB_RES_ADDR_37 2510,105451 -#define IOPB_RAM_BIST 2511,105488 -#define IOPB_PLL_TEST 2512,105525 -#define IOPB_PCI_INT_CFG 2513,105562 -#define IOPB_RES_ADDR_3B 2514,105599 -#define IOPB_RFIFO_CNT 2515,105636 -#define IOPB_RES_ADDR_3D 2516,105673 -#define IOPB_RES_ADDR_3E 2517,105710 -#define IOPB_RES_ADDR_3F 2518,105747 -#define IOPW_CHIP_ID_0 2523,105846 -#define IOPW_CTRL_REG 2524,105896 -#define IOPW_RAM_ADDR 2525,105946 -#define IOPW_RAM_DATA 2526,105996 -#define IOPW_RES_ADDR_08 2527,106046 -#define IOPW_RISC_CSR 2528,106083 -#define IOPW_SCSI_CFG0 2529,106133 -#define IOPW_SCSI_CFG1 2530,106183 -#define IOPW_RES_ADDR_10 2531,106233 -#define IOPW_SEL_MASK 2532,106270 -#define IOPW_RES_ADDR_14 2533,106320 -#define IOPW_FLASH_ADDR 2534,106357 -#define IOPW_RES_ADDR_18 2535,106407 -#define IOPW_EE_CMD 2536,106444 -#define IOPW_EE_DATA 2537,106494 -#define IOPW_SFIFO_CNT 2538,106544 -#define IOPW_RES_ADDR_20 2539,106594 -#define IOPW_Q_BASE 2540,106631 -#define IOPW_QP 2541,106681 -#define IOPW_IX 2542,106731 -#define IOPW_SP 2543,106781 -#define IOPW_PC 2544,106831 -#define IOPW_RES_ADDR_2C 2545,106881 -#define IOPW_RES_ADDR_2E 2546,106918 -#define IOPW_SCSI_DATA 2547,106955 -#define IOPW_SCSI_DATA_HSHK 2548,107005 -#define IOPW_SCSI_CTRL 2549,107055 -#define IOPW_HSHK_CFG 2550,107105 -#define IOPW_SXFR_STATUS 2551,107155 -#define IOPW_SXFR_CNTL 2552,107205 -#define IOPW_SXFR_CNTH 2553,107255 -#define IOPW_RES_ADDR_3C 2554,107305 -#define IOPW_RFIFO_DATA 2555,107342 -#define IOPDW_RES_ADDR_0 2560,107460 -#define IOPDW_RAM_DATA 2561,107498 -#define IOPDW_RES_ADDR_8 2562,107536 -#define IOPDW_RES_ADDR_C 2563,107574 -#define IOPDW_RES_ADDR_10 2564,107612 -#define IOPDW_COMMA 2565,107650 -#define IOPDW_COMMB 2566,107688 -#define IOPDW_RES_ADDR_1C 2567,107726 -#define IOPDW_SDMA_ADDR0 2568,107764 -#define IOPDW_SDMA_ADDR1 2569,107802 -#define IOPDW_SDMA_COUNT 2570,107840 -#define IOPDW_SDMA_ERROR 2571,107878 -#define IOPDW_RDMA_ADDR0 2572,107916 -#define IOPDW_RDMA_ADDR1 2573,107954 -#define IOPDW_RDMA_COUNT 2574,107992 -#define IOPDW_RDMA_ERROR 2575,108030 -#define ADV_CHIP_ID_BYTE 2577,108069 -#define ADV_CHIP_ID_WORD 2578,108107 -#define ADV_SC_SCSI_BUS_RESET 2580,108148 -#define ADV_INTR_ENABLE_HOST_INTR 2582,108189 -#define ADV_INTR_ENABLE_SEL_INTR 2583,108246 -#define ADV_INTR_ENABLE_DPR_INTR 2584,108303 -#define ADV_INTR_ENABLE_RTA_INTR 2585,108360 -#define ADV_INTR_ENABLE_RMA_INTR 2586,108417 -#define ADV_INTR_ENABLE_RST_INTR 2587,108474 -#define ADV_INTR_ENABLE_DPE_INTR 2588,108531 -#define ADV_INTR_ENABLE_GLOBAL_INTR 2589,108588 -#define ADV_INTR_STATUS_INTRA 2591,108646 -#define ADV_INTR_STATUS_INTRB 2592,108692 -#define ADV_INTR_STATUS_INTRC 2593,108738 -#define ADV_RISC_CSR_STOP 2595,108785 -#define ADV_RISC_TEST_COND 2596,108830 -#define ADV_RISC_CSR_RUN 2597,108875 -#define ADV_RISC_CSR_SINGLE_STEP 2598,108920 -#define ADV_CTRL_REG_HOST_INTR 2600,108966 -#define ADV_CTRL_REG_SEL_INTR 2601,109009 -#define ADV_CTRL_REG_DPR_INTR 2602,109052 -#define ADV_CTRL_REG_RTA_INTR 2603,109095 -#define ADV_CTRL_REG_RMA_INTR 2604,109138 -#define ADV_CTRL_REG_RES_BIT14 2605,109181 -#define ADV_CTRL_REG_DPE_INTR 2606,109224 -#define ADV_CTRL_REG_POWER_DONE 2607,109267 -#define ADV_CTRL_REG_ANY_INTR 2608,109310 -#define ADV_CTRL_REG_CMD_RESET 2610,109354 -#define ADV_CTRL_REG_CMD_WR_IO_REG 2611,109404 -#define ADV_CTRL_REG_CMD_RD_IO_REG 2612,109454 -#define ADV_CTRL_REG_CMD_WR_PCI_CFG_SPACE 2613,109504 -#define ADV_CTRL_REG_CMD_RD_PCI_CFG_SPACE 2614,109554 -#define ADV_TICKLE_NOP 2616,109605 -#define ADV_TICKLE_A 2617,109654 -#define ADV_TICKLE_B 2618,109703 -#define ADV_TICKLE_C 2619,109752 -#define ADV_SCSI_CTRL_RSTOUT 2621,109802 -#define AdvIsIntPending(AdvIsIntPending2623,109846 -#define TIMER_MODEAB 2629,109996 -#define PARITY_EN 2630,110076 -#define EVEN_PARITY 2631,110149 -#define WD_LONG 2632,110206 -#define QUEUE_128 2633,110284 -#define PRIM_MODE 2634,110358 -#define SCAM_EN 2635,110416 -#define SEL_TMO_LONG 2636,110476 -#define CFRM_ID 2637,110554 -#define OUR_ID_EN 2638,110634 -#define OUR_ID 2639,110691 -#define BIG_ENDIAN 2644,110783 -#define TERM_POL 2645,110859 -#define SLEW_RATE 2646,110938 -#define FILTER_SEL 2647,111005 -#define FLTR_DISABLE 2648,111067 -#define FLTR_11_TO_20NS 2649,111131 -#define FLTR_21_TO_39NS 2650,111199 -#define ACTIVE_DBL 2651,111267 -#define DIFF_MODE 2652,111329 -#define DIFF_SENSE 2653,111402 -#define TERM_CTL_SEL 2654,111481 -#define TERM_CTL 2655,111552 -#define TERM_CTL_H 2656,111621 -#define TERM_CTL_L 2657,111699 -#define CABLE_DETECT 2658,111777 -#define DIS_TERM_DRV 2671,112363 -#define HVD_LVD_SE 2672,112436 -#define HVD 2673,112493 -#define LVD 2674,112550 -#define SE 2675,112607 -#define TERM_LVD 2676,112663 -#define TERM_LVD_HI 2677,112722 -#define TERM_LVD_LO 2678,112790 -#define TERM_SE 2679,112858 -#define TERM_SE_HI 2680,112916 -#define TERM_SE_LO 2681,112983 -#define C_DET_LVD 2682,113050 -#define C_DET3 2683,113110 -#define C_DET2 2684,113184 -#define C_DET_SE 2685,113258 -#define C_DET1 2686,113317 -#define C_DET0 2687,113390 -#define CABLE_ILLEGAL_A 2690,113467 -#define CABLE_ILLEGAL_B 2693,113562 -#define BIOS_EN 2699,113700 -#define FAST_EE_CLK 2700,113764 -#define RAM_SZ 2701,113817 -#define RAM_SZ_2KB 2702,113883 -#define RAM_SZ_4KB 2703,113927 -#define RAM_SZ_8KB 2704,113971 -#define RAM_SZ_16KB 2705,114015 -#define RAM_SZ_32KB 2706,114060 -#define RAM_SZ_64KB 2707,114105 -#define BC_THRESH_ENB 2714,114247 -#define FIFO_THRESH 2715,114310 -#define FIFO_THRESH_16B 2716,114371 -#define FIFO_THRESH_32B 2717,114419 -#define FIFO_THRESH_48B 2718,114467 -#define FIFO_THRESH_64B 2719,114515 -#define FIFO_THRESH_80B 2720,114563 -#define FIFO_THRESH_96B 2721,114621 -#define FIFO_THRESH_112B 2722,114669 -#define START_CTL 2723,114718 -#define START_CTL_TH 2724,114777 -#define START_CTL_ID 2725,114847 -#define START_CTL_THID 2726,114906 -#define START_CTL_EMFU 2727,114979 -#define READ_CMD 2728,115044 -#define READ_CMD_MR 2729,115101 -#define READ_CMD_MRL 2730,115152 -#define READ_CMD_MRM 2731,115208 -#define RAM_TEST_MODE 2736,115335 -#define PRE_TEST_MODE 2737,115370 -#define NORMAL_MODE 2738,115405 -#define RAM_TEST_DONE 2739,115440 -#define RAM_TEST_STATUS 2740,115475 -#define RAM_TEST_HOST_ERROR 2741,115510 -#define RAM_TEST_INTRAM_ERROR 2742,115546 -#define RAM_TEST_RISC_ERROR 2743,115582 -#define RAM_TEST_SCSI_ERROR 2744,115618 -#define RAM_TEST_SUCCESS 2745,115654 -#define PRE_TEST_VALUE 2746,115690 -#define NORMAL_VALUE 2747,115725 -#define INTAB_LD 2755,115840 -#define TOTEMPOLE 2763,116195 -#define INTAB 2774,116606 -#define ADV_TRUE 2781,116695 -#define ADV_FALSE 2782,116721 -#define ADV_NOERROR 2783,116747 -#define ADV_SUCCESS 2784,116773 -#define ADV_BUSY 2785,116799 -#define ADV_ERROR 2786,116825 -#define ASC_WARN_BUSRESET_ERROR 2792,116897 -#define ASC_WARN_EEPROM_CHKSUM 2793,116971 -#define ASC_WARN_EEPROM_TERMINATION 2794,117044 -#define ASC_WARN_SET_PCI_CONFIG_SPACE 2795,117123 -#define ASC_WARN_ERROR 2796,117203 -#define ADV_MAX_TID 2798,117274 -#define ADV_MAX_LUN 2799,117346 -#define ASC_IERR_WRITE_EEPROM 2804,117484 -#define ASC_IERR_MCODE_CHKSUM 2805,117552 -#define ASC_IERR_NO_CARRIER 2806,117628 -#define ASC_IERR_START_STOP_CHIP 2807,117701 -#define ASC_IERR_CHIP_VERSION 2808,117773 -#define ASC_IERR_SET_SCSI_ID 2809,117841 -#define ASC_IERR_HVD_DEVICE 2810,117909 -#define ASC_IERR_BAD_SIGNATURE 2811,117989 -#define ASC_IERR_ILLEGAL_CONNECTION 2812,118058 -#define ASC_IERR_SINGLE_END_DEVICE 2813,118132 -#define ASC_IERR_REVERSED_CABLE 2814,118212 -#define ASC_IERR_BIST_PRE_TEST 2815,118288 -#define ASC_IERR_BIST_RAM_TEST 2816,118357 -#define ASC_IERR_BAD_CHIPTYPE 2817,118426 -#define ASC_MC_CODE_BEGIN_ADDR 2822,118565 -#define ASC_MC_CODE_END_ADDR 2823,118642 -#define ASC_MC_CODE_CHK_SUM 2824,118717 -#define ASC_MC_VERSION_DATE 2825,118794 -#define ASC_MC_VERSION_NUM 2826,118865 -#define ASC_MC_BIOSMEM 2827,118935 -#define ASC_MC_BIOSLEN 2828,119011 -#define ASC_MC_BIOS_SIGNATURE 2829,119088 -#define ASC_MC_BIOS_VERSION 2830,119163 -#define ASC_MC_SDTR_SPEED1 2831,119239 -#define ASC_MC_SDTR_SPEED2 2832,119315 -#define ASC_MC_SDTR_SPEED3 2833,119391 -#define ASC_MC_SDTR_SPEED4 2834,119468 -#define ASC_MC_CHIP_TYPE 2835,119546 -#define ASC_MC_INTRB_CODE 2836,119593 -#define ASC_MC_WDTR_ABLE 2837,119640 -#define ASC_MC_SDTR_ABLE 2838,119687 -#define ASC_MC_TAGQNG_ABLE 2839,119734 -#define ASC_MC_DISC_ENABLE 2840,119781 -#define ASC_MC_IDLE_CMD_STATUS 2841,119828 -#define ASC_MC_IDLE_CMD 2842,119875 -#define ASC_MC_IDLE_CMD_PARAMETER 2843,119922 -#define ASC_MC_DEFAULT_SCSI_CFG0 2844,119969 -#define ASC_MC_DEFAULT_SCSI_CFG1 2845,120016 -#define ASC_MC_DEFAULT_MEM_CFG 2846,120063 -#define ASC_MC_DEFAULT_SEL_MASK 2847,120110 -#define ASC_MC_SDTR_DONE 2848,120157 -#define ASC_MC_NUMBER_OF_QUEUED_CMD 2849,120204 -#define ASC_MC_NUMBER_OF_MAX_CMD 2850,120251 -#define ASC_MC_DEVICE_HSHK_CFG_TABLE 2851,120298 -#define ASC_MC_CONTROL_FLAG 2852,120345 -#define ASC_MC_WDTR_DONE 2853,120422 -#define ASC_MC_CAM_MODE_MASK 2854,120469 -#define ASC_MC_ICQ 2855,120544 -#define ASC_MC_IRQ 2856,120591 -#define ASC_MC_PPR_ABLE 2857,120638 -#define BIOS_CODESEG 2862,120733 -#define BIOS_CODELEN 2863,120762 -#define BIOS_SIGNATURE 2864,120791 -#define BIOS_VERSION 2865,120820 -#define CONTROL_FLAG_IGNORE_PERR 2873,120992 -#define CONTROL_FLAG_ENABLE_AIPP 2874,121070 -#define HSHK_CFG_WIDE_XFR 2879,121230 -#define HSHK_CFG_RATE 2880,121269 -#define HSHK_CFG_OFFSET 2881,121308 -#define ASC_DEF_MAX_HOST_QNG 2883,121348 -#define ASC_DEF_MIN_HOST_QNG 2884,121426 -#define ASC_DEF_MAX_DVC_QNG 2885,121503 -#define ASC_DEF_MIN_DVC_QNG 2886,121583 -#define ASC_QC_DATA_CHECK 2888,121663 -#define ASC_QC_DATA_OUT 2889,121739 -#define ASC_QC_START_MOTOR 2890,121800 -#define ASC_QC_NO_OVERRUN 2891,121876 -#define ASC_QC_FREEZE_TIDQ 2892,121936 -#define ASC_QSC_NO_DISC 2894,122015 -#define ASC_QSC_NO_TAGMSG 2895,122090 -#define ASC_QSC_NO_SYNC 2896,122166 -#define ASC_QSC_NO_WIDE 2897,122243 -#define ASC_QSC_REDO_DTR 2898,122318 -#define ASC_QSC_HEAD_TAG 2903,122547 -#define ASC_QSC_ORDERED_TAG 2904,122615 -typedef struct adv_carr_tadv_carr_t2910,122782 -} ADV_CARR_T;ADV_CARR_T2922,123251 -#define ASC_NEXT_VPA_MASK 2927,123339 -#define ASC_RQ_DONE 2929,123383 -#define ASC_RQ_GOOD 2930,123426 -#define ASC_CQ_STOPPER 2931,123469 -#define ASC_GET_CARRP(ASC_GET_CARRP2933,123513 -#define ADV_CARRIER_NUM_PAGE_CROSSING 2935,123573 -#define ADV_CARRIER_BUFSIZE 2939,123709 -#define ADV_POLL_REQUEST 2948,124008 -#define ADV_SCSIQ_DONE 2949,124089 -#define ADV_DONT_RETRY 2950,124155 -#define ADV_CHIP_ASC3550 2952,124224 -#define ADV_CHIP_ASC38C0800 2953,124285 -#define ADV_CHIP_ASC38C1600 2954,124351 -typedef struct adv_dvc_cfg adv_dvc_cfg2967,124726 -} ADV_DVC_CFG;ADV_DVC_CFG2982,125614 -typedef void (* ADV_ISR_CALLBACK)ADV_ISR_CALLBACK2987,125674 -typedef void (* ADV_ASYNC_CALLBACK)ADV_ASYNC_CALLBACK2990,125762 -typedef struct adv_dvc_var adv_dvc_var3005,126227 -} ADV_DVC_VAR;ADV_DVC_VAR3041,128152 -#define NO_OF_SG_PER_BLOCK 3043,128168 -typedef struct asc_sg_block asc_sg_block3045,128212 -} ADV_SG_BLOCK;ADV_SG_BLOCK3055,128630 -typedef struct adv_scsi_req_q adv_scsi_req_q3068,129057 -} ADV_SCSI_REQ_Q;ADV_SCSI_REQ_Q3100,130531 -#define IDLE_CMD_COMPLETED 3105,130589 -#define IDLE_CMD_STOP_CHIP 3106,130628 -#define IDLE_CMD_STOP_CHIP_SEND_INT 3107,130672 -#define IDLE_CMD_SEND_INT 3108,130716 -#define IDLE_CMD_ABORT 3109,130760 -#define IDLE_CMD_DEVICE_RESET 3110,130804 -#define IDLE_CMD_SCSI_RESET_START 3111,130848 -#define IDLE_CMD_SCSI_RESET_END 3112,130920 -#define IDLE_CMD_SCSIREQ 3113,130994 -#define IDLE_CMD_STATUS_SUCCESS 3115,131039 -#define IDLE_CMD_STATUS_FAILURE 3116,131083 -#define ADV_NOWAIT 3121,131173 -#define SCSI_WAIT_10_SEC 3126,131239 -#define SCSI_WAIT_100_MSEC 3127,131301 -#define SCSI_US_PER_MSEC 3128,131369 -#define SCSI_MS_PER_SEC 3129,131449 -#define SCSI_MAX_RETRY 3130,131524 -#define ADV_ASYNC_RDMA_FAILURE 3132,131588 -#define ADV_ASYNC_SCSI_BUS_RESET_DET 3133,131659 -#define ADV_ASYNC_CARRIER_READY_FAILURE 3134,131735 -#define ADV_RDMA_IN_CARR_AND_Q_INVALID 3135,131809 -#define ADV_HOST_SCSI_BUS_RESET 3138,131886 -#define AscPCICmdRegBits_BusMastering 3184,133813 -#define AscPCICmdRegBits_ParErrRespCtrl 3185,133862 -#define AdvReadByteRegister(AdvReadByteRegister3188,133945 -#define AdvWriteByteRegister(AdvWriteByteRegister3192,134072 -#define AdvReadWordRegister(AdvReadWordRegister3196,134226 -#define AdvWriteWordRegister(AdvWriteWordRegister3200,134363 -#define AdvWriteDWordRegister(AdvWriteDWordRegister3204,134517 -#define AdvReadByteLram(AdvReadByteLram3208,134659 -#define AdvWriteByteLram(AdvWriteByteLram3215,134869 -#define AdvReadWordLram(AdvReadWordLram3220,135072 -#define AdvWriteWordLram(AdvWriteWordLram3227,135294 -#define AdvWriteDWordLramNoSwap(AdvWriteDWordLramNoSwap3233,135591 -#define AdvReadWordAutoIncLram(AdvReadWordAutoIncLram3242,136091 -#define AdvWriteWordAutoIncLram(AdvWriteWordAutoIncLram3246,136261 -#define AdvFindSignature(AdvFindSignature3256,136551 -#define AdvGetChipVersion(AdvGetChipVersion3267,136921 -#define AdvAbortQueue(AdvAbortQueue3282,137510 -#define AdvResetDevice(AdvResetDevice3297,138022 -#define ADV_SCSI_BIT_ID_TYPE 3304,138217 -#define ADV_SCAN_LUN 3309,138307 -#define ADV_CAPINFO_NOLUN 3310,138343 -#define ADV_TID_TO_TIDMASK(ADV_TID_TO_TIDMASK3315,138431 -#define QD_NO_STATUS 3321,138571 -#define QD_NO_ERROR 3322,138644 -#define QD_ABORTED_BY_HOST 3323,138678 -#define QD_WITH_ERROR 3324,138712 -#define QHSTA_NO_ERROR 3326,138747 -#define QHSTA_M_SEL_TIMEOUT 3327,138788 -#define QHSTA_M_DATA_OVER_RUN 3328,138829 -#define QHSTA_M_UNEXPECTED_BUS_FREE 3329,138870 -#define QHSTA_M_QUEUE_ABORTED 3330,138911 -#define QHSTA_M_SXFR_SDMA_ERR 3331,138952 -#define QHSTA_M_SXFR_SXFR_PERR 3332,139026 -#define QHSTA_M_RDMA_PERR 3333,139107 -#define QHSTA_M_SXFR_OFF_UFLW 3334,139180 -#define QHSTA_M_SXFR_OFF_OFLW 3335,139256 -#define QHSTA_M_SXFR_WD_TMO 3336,139331 -#define QHSTA_M_SXFR_DESELECTED 3337,139407 -#define QHSTA_M_SXFR_XFR_OFLW 3339,139550 -#define QHSTA_M_SXFR_XFR_PH_ERR 3340,139627 -#define QHSTA_M_SXFR_UNKNOWN_ERROR 3341,139707 -#define QHSTA_M_SCSI_BUS_RESET 3342,139780 -#define QHSTA_M_SCSI_BUS_RESET_UNSOL 3343,139852 -#define QHSTA_M_BUS_DEVICE_RESET 3344,139932 -#define QHSTA_M_DIRECTION_ERR 3345,140004 -#define QHSTA_M_DIRECTION_ERR_HUNG 3346,140071 -#define QHSTA_M_WTM_TIMEOUT 3347,140151 -#define QHSTA_M_BAD_CMPL_STATUS_IN 3348,140192 -#define QHSTA_M_NO_AUTO_REQ_SENSE 3349,140233 -#define QHSTA_M_AUTO_REQ_SENSE_FAIL 3350,140274 -#define QHSTA_M_INVALID_DEVICE 3351,140315 -#define QHSTA_M_FROZEN_TIDQ 3352,140376 -#define QHSTA_M_SGBACKUP_ERROR 3353,140441 -static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config;3359,140588 -static ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config;3360,140642 -static ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config;3361,140702 -#define ADV_IS_SCSIQ_FLAG 3366,140804 -#define ADV_ASCGETSGLIST_VADDR 3367,140880 -#define ADV_IS_SENSE_FLAG 3368,140961 -#define ADV_IS_DATA_FLAG 3369,141036 -#define ADV_IS_SGLIST_FLAG 3370,141110 -#define ADV_IS_CARRIER_FLAG 3371,141186 -#define ADV_8BALIGN(ADV_8BALIGN3374,141337 -#define ADV_16BALIGN(ADV_16BALIGN3375,141400 -#define ADV_32BALIGN(ADV_32BALIGN3376,141463 -#define ADV_SG_LIST_MAX_BYTE_SIZE 3386,141743 -#define ADV_INQ_DVC_TYPE(ADV_INQ_DVC_TYPE3399,142165 -#define ADV_INQ_QUALIFIER(ADV_INQ_QUALIFIER3400,142224 -#define ADV_INQ_DVC_TYPE_MOD(ADV_INQ_DVC_TYPE_MOD3401,142290 -#define ADV_INQ_REMOVABLE(ADV_INQ_REMOVABLE3402,142350 -#define ADV_INQ_ANSI_VER(ADV_INQ_ANSI_VER3403,142410 -#define ADV_INQ_ECMA_VER(ADV_INQ_ECMA_VER3404,142466 -#define ADV_INQ_ISO_VER(ADV_INQ_ISO_VER3405,142529 -#define ADV_INQ_RESPONSE_FMT(ADV_INQ_RESPONSE_FMT3406,142592 -#define ADV_INQ_TERM_IO(ADV_INQ_TERM_IO3407,142650 -#define ADV_INQ_ASYNC_NOTIF(ADV_INQ_ASYNC_NOTIF3408,142708 -#define ADV_INQ_SOFT_RESET(ADV_INQ_SOFT_RESET3409,142766 -#define ADV_INQ_CMD_QUEUE(ADV_INQ_CMD_QUEUE3410,142824 -#define ADV_INQ_LINK_CMD(ADV_INQ_LINK_CMD3411,142882 -#define ADV_INQ_SYNC(ADV_INQ_SYNC3412,142940 -#define ADV_INQ_WIDE16(ADV_INQ_WIDE163413,142998 -#define ADV_INQ_WIDE32(ADV_INQ_WIDE323414,143056 -#define ADV_INQ_REL_ADDR(ADV_INQ_REL_ADDR3415,143114 -#define ADV_INQ_INFO_UNIT(ADV_INQ_INFO_UNIT3416,143172 -#define ADV_INQ_QUICK_ARB(ADV_INQ_QUICK_ARB3417,143229 -#define ADV_INQ_CLOCKING(ADV_INQ_CLOCKING3418,143286 -} ADV_SCSI_INQUIRY;ADV_SCSI_INQUIRY3456,145509 -#define ASC_NUM_BOARD_SUPPORTED 3463,145589 -#define ASC_NUM_IOPORT_PROBE 3464,145624 -#define ASC_NUM_BUS 3465,145658 -#define ASC_BOARDP(ASC_BOARDP3468,145728 -#define ASC_HOST_IN_RESET 3471,145816 -#define ASC_IS_WIDE_BOARD 3472,145853 -#define ASC_SELECT_QUEUE_DEPTHS 3473,145919 -#define ASC_NARROW_BOARD(ASC_NARROW_BOARD3475,145957 -#define ASC_WIDE_BOARD(ASC_WIDE_BOARD3476,146035 -#define NO_ISA_DMA 3478,146107 -#define ASC_INFO_SIZE 3480,146182 -#define ASC_PRTBUF_SIZE 3484,146337 -#define ASC_PRTLINE_SIZE 3485,146374 -#define ASC_PRT_NEXT(ASC_PRT_NEXT3487,146411 -#define ASC_TRUE 3499,146661 -#define ASC_FALSE 3500,146687 -#define ASC_NOERROR 3501,146713 -#define ASC_BUSY 3502,146739 -#define ASC_ERROR 3503,146765 -#define STATUS_BYTE(STATUS_BYTE3506,146840 -#define MSG_BYTE(MSG_BYTE3507,146875 -#define HOST_BYTE(HOST_BYTE3508,146917 -#define DRIVER_BYTE(DRIVER_BYTE3509,146960 -typedef struct scsi_cmnd REQ,REQ3522,147407 -typedef struct scsi_cmnd REQ, *REQP;REQP3522,147407 -#define REQPNEXT(REQPNEXT3523,147448 -#define REQPNEXTP(REQPNEXTP3524,147510 -#define REQPTID(REQPTID3525,147575 -#define REQPTIME(REQPTIME3526,147625 -#define REQTIMESTAMP(REQTIMESTAMP3527,147682 -#define REQTIMESTAT(REQTIMESTAT3529,147722 -#define ASC_FRONT 3560,148944 -#define ASC_BACK 3561,148970 -#define ASC_TID_ALL 3564,149031 -#define ASC_QUEUE_EMPTY(ASC_QUEUE_EMPTY3567,149110 -#define PCI_MAX_SLOT 3569,149169 -#define PCI_MAX_BUS 3570,149206 -#define PCI_IOADDRESS_MASK 3571,149243 -#define ASC_PCI_VENDORID 3572,149282 -#define ASC_PCI_DEVICE_ID_CNT 3573,149321 -#define ASC_PCI_DEVICE_ID_1100 3574,149388 -#define ASC_PCI_DEVICE_ID_1200 3575,149427 -#define ASC_PCI_DEVICE_ID_1300 3576,149466 -#define ASC_PCI_DEVICE_ID_2300 3577,149505 -#define ASC_PCI_DEVICE_ID_2500 3578,149560 -#define ASC_PCI_DEVICE_ID_2700 3579,149618 -#define ASC_STATS(ASC_STATS3582,149700 -#define ASC_STATS_ADD(ASC_STATS_ADD3583,149732 -#define ASC_STATS(ASC_STATS3585,149802 -#define ASC_STATS_ADD(ASC_STATS_ADD3588,149880 -#define ASC_CEILING(ASC_CEILING3592,150006 -#define ASC_TENTHS(ASC_TENTHS3595,150131 -#define ASC_PRINT(ASC_PRINT3602,150317 -#define ASC_PRINT1(ASC_PRINT13608,150408 -#define ASC_PRINT2(ASC_PRINT23614,150512 -#define ASC_PRINT3(ASC_PRINT33620,150626 -#define ASC_PRINT4(ASC_PRINT43626,150750 -#define ASC_DBG(ASC_DBG3635,150909 -#define ASC_DBG1(ASC_DBG13636,150933 -#define ASC_DBG2(ASC_DBG23637,150962 -#define ASC_DBG3(ASC_DBG33638,150995 -#define ASC_DBG4(ASC_DBG43639,151032 -#define ASC_DBG_PRT_SCSI_HOST(ASC_DBG_PRT_SCSI_HOST3640,151073 -#define ASC_DBG_PRT_SCSI_CMND(ASC_DBG_PRT_SCSI_CMND3641,151111 -#define ASC_DBG_PRT_ASC_SCSI_Q(ASC_DBG_PRT_ASC_SCSI_Q3642,151149 -#define ASC_DBG_PRT_ADV_SCSI_REQ_Q(ASC_DBG_PRT_ADV_SCSI_REQ_Q3643,151193 -#define ASC_DBG_PRT_ASC_QDONE_INFO(ASC_DBG_PRT_ASC_QDONE_INFO3644,151241 -#define ADV_DBG_PRT_ADV_SCSI_REQ_Q(ADV_DBG_PRT_ADV_SCSI_REQ_Q3645,151288 -#define ASC_DBG_PRT_HEX(ASC_DBG_PRT_HEX3646,151336 -#define ASC_DBG_PRT_CDB(ASC_DBG_PRT_CDB3647,151386 -#define ASC_DBG_PRT_SENSE(ASC_DBG_PRT_SENSE3648,151425 -#define ASC_DBG_PRT_INQUIRY(ASC_DBG_PRT_INQUIRY3649,151468 -#define ASC_DBG(ASC_DBG3660,151644 -#define ASC_DBG1(ASC_DBG13667,151759 -#define ASC_DBG2(ASC_DBG23674,151887 -#define ASC_DBG3(ASC_DBG33681,152025 -#define ASC_DBG4(ASC_DBG43688,152173 -#define ASC_DBG_PRT_SCSI_HOST(ASC_DBG_PRT_SCSI_HOST3695,152331 -#define ASC_DBG_PRT_SCSI_CMND(ASC_DBG_PRT_SCSI_CMND3702,152471 -#define ASC_DBG_PRT_ASC_SCSI_Q(ASC_DBG_PRT_ASC_SCSI_Q3709,152611 -#define ASC_DBG_PRT_ASC_QDONE_INFO(ASC_DBG_PRT_ASC_QDONE_INFO3716,152763 -#define ASC_DBG_PRT_ADV_SCSI_REQ_Q(ASC_DBG_PRT_ADV_SCSI_REQ_Q3723,152921 -#define ASC_DBG_PRT_HEX(ASC_DBG_PRT_HEX3730,153081 -#define ASC_DBG_PRT_CDB(ASC_DBG_PRT_CDB3737,153251 -#define ASC_DBG_PRT_SENSE(ASC_DBG_PRT_SENSE3740,153356 -#define ASC_DBG_PRT_INQUIRY(ASC_DBG_PRT_INQUIRY3743,153469 -#define ASC_ASSERT(ASC_ASSERT3748,153634 -#define ASC_ASSERT(ASC_ASSERT3751,153685 -struct asc_stats asc_stats3769,153986 -typedef struct asc_queue asc_queue3797,155441 -} asc_queue_t;asc_queue_t3809,156210 -typedef struct adv_sgblk adv_sgblk3828,156878 -} adv_sgblk_t;adv_sgblk_t3832,157114 -typedef struct adv_req adv_req3834,157130 -} adv_req_t;adv_req_t3840,157522 -typedef struct asc_board asc_board3849,157770 -} asc_board_t;asc_board_t3905,160833 -typedef struct _PCI_DATA__PCI_DATA_3910,160888 -} PCI_DATA;PCI_DATA3917,161012 -typedef struct _PCI_DEVICE__PCI_DEVICE_3919,161025 -} PCI_DEVICE;PCI_DEVICE3932,161309 -typedef struct _PCI_CONFIG_SPACE__PCI_CONFIG_SPACE_3934,161324 -} PCI_CONFIG_SPACE;PCI_CONFIG_SPACE3954,161795 -STATIC int asc_board_count 3964,161946 -STATIC struct Scsi_Host *asc_host[3965,161978 -STATIC uchar overrun_buf[3968,162098 -STATIC ASC_SCSI_Q asc_scsi_q 3973,162209 -STATIC ASC_SG_HEAD asc_sg_head 3974,162251 -STATIC ushort asc_bus[3977,162327 -STATIC ushort asc_bus[ASC_NUM_BUS] __initdata 3977,162327 -STATIC int asc_iopflag 3988,162570 -STATIC int asc_ioport[3989,162606 -asc_bus_name[3993,162705 -STATIC int asc_dbglvl 4000,162811 -STATIC PortAddr _asc_def_iop_base[4004,162946 -advansys_proc_info(4095,167021 -advansys_detect(4311,172975 -advansys_release(5445,219598 -advansys_info(5494,220969 -advansys_queuecommand(5587,224303 -advansys_reset(5675,227040 -advansys_biosparam(5860,232787 -advansys_setup(5927,234922 -static struct scsi_host_template driver_template 5972,236074 -advansys_interrupt(6017,237820 -advansys_slave_configure(6114,241022 -asc_scsi_done_list(6149,242153 -asc_execute_scsi_cmnd(6234,244597 -asc_build_req(6407,250806 -adv_build_req(6544,255686 -adv_get_sglist(6714,260817 -asc_isr_callback(6823,264616 -adv_isr_callback(6989,270439 -adv_async_callback(7188,277254 -asc_enqueue(7231,278411 -asc_dequeue(7284,280237 -asc_dequeue_list(7331,282040 -asc_rmqueue(7411,284766 -asc_execute_queue(7479,287076 -asc_prt_board_devices(7524,288534 -asc_prt_adv_bios(7565,289632 -asc_get_eeprom_string(7645,292327 -asc_prt_asc_board_eeprom(7732,294399 -asc_prt_adv_board_eeprom(7861,298159 -asc_prt_driver_conf(8166,307429 -asc_prt_asc_board_info(8233,309444 -asc_prt_adv_board_info(8418,315137 -asc_proc_copy(8657,322495 -asc_prt_line(8694,323798 -DvcSleepMilliSecond(8727,324532 -DvcEnterCritical(8738,324777 -DvcLeaveCritical(8748,324958 -DvcPutScsiQ(8764,325213 -DvcGetQinfo(8790,325824 -DvcReadPCIConfigByte(8811,326315 -DvcWritePCIConfigByte(8828,326675 -AscGetChipBiosAddress(8843,327033 -DvcGetPhyAddr(8903,328473 -DvcAdvReadPCIConfigByte(8921,328902 -DvcAdvWritePCIConfigByte(8938,329245 -asc_prt_board_stats(8966,329851 -asc_prt_target_stats(9071,333107 -asc_prt_scsi_host(9143,335581 -asc_prt_scsi_cmnd(9180,336617 -asc_prt_asc_dvc_var(9224,337859 -asc_prt_asc_dvc_cfg(9266,339277 -asc_prt_asc_scsi_q(9296,340102 -asc_prt_asc_qdone_info(9336,341312 -asc_prt_adv_dvc_var(9354,341828 -asc_prt_adv_dvc_cfg(9396,342955 -asc_prt_adv_scsi_req_q(9423,343579 -asc_prt_adv_sgblock(9484,345463 -asc_prt_hex(9510,346162 -AscGetEisaChipCfg(9566,347431 -AscSetChipScsiID(9577,347689 -AscGetChipScsiCtrl(9595,348141 -AscGetChipVersion(9607,348348 -AscGetChipBusType(9624,348840 -AscLoadMicroCode(9656,349671 -AscFindSignature(9685,350767 -STATIC PortAddr _asc_def_iop_base[9705,351417 -STATIC PortAddr _asc_def_iop_base[ASC_IOADR_TABLE_MAX_IX] __initdata 9705,351417 -STATIC uchar _isa_pnp_inited __initdata 9712,351644 -AscSearchIOPortAddr(9715,351713 -AscSearchIOPortAddr11(9749,352669 -AscSetISAPNPWaitForKey(9778,353450 -AscToggleIRQAct(9787,353618 -AscGetChipIRQ(9797,353791 -AscSetChipIRQ(9830,354762 -AscEnableIsaDma(9869,356043 -AscIsrChipHalted(9884,356414 -_AscCopyLramScsiDoneQ(10318,373189 -AscIsrQDone(10362,374719 -AscISR(10499,380500 -STATIC uchar _asc_mcode_buf[10597,383826 -STATIC ushort _asc_mcode_size 10745,400136 -STATIC ADV_DCNT _asc_mcode_chksum 10746,400192 -#define ASC_SYN_OFFSET_ONE_DISABLE_LIST 10748,400243 -STATIC uchar _syn_offset_one_disable_cmd[10749,400287 -AscExeScsiQueue(10770,400596 -AscSendScsiQueue(10978,408766 -AscSgListToQueue(11028,410539 -AscGetNumOfFreeQueue(11042,410809 -AscPutReadyQueue(11084,412087 -AscPutReadySgListQueue(11130,413775 -AscSetRunChipSynRegAtID(11262,418894 -AscSetChipSynRegAtID(11279,419288 -AscInitLram(11313,420167 -AscInitQLinkVar(11366,422261 -AscSetLibErrorCode(11399,423463 -AscMsgOutSDTR(11414,423791 -AscCalSDTRData(11451,424948 -AscSetChipSDTR(11471,425416 -AscGetSynPeriodIndex(11483,425680 -AscAllocFreeQueue(11509,426395 -AscAllocMultipleFreeQueue(11530,427021 -AscHostReqRiscHalt(11548,427450 -AscStopQueueExe(11574,428133 -DvcDelayMicroSecond(11596,428679 -DvcDelayNanoSecond(11602,428779 -AscGetEisaProductID(11609,428920 -AscSearchIOPortAddrEISA(11625,429400 -AscStartChip(11663,430485 -AscStopChip(11675,430687 -AscIsChipHalted(11692,431110 -AscSetChipIH(11705,431357 -AscAckInterrupt(11717,431567 -AscDisableInterrupt(11748,432450 -AscEnableInterrupt(11760,432674 -AscSetBank(11774,432895 -AscResetChipAndScsiBus(11795,433345 -AscGetMaxDmaCount(11821,434140 -AscGetIsaDmaChannel(11833,434438 -AscSetIsaDmaChannel(11847,434733 -AscSetIsaDmaSpeed(11868,435283 -AscGetIsaDmaSpeed(11880,435581 -AscReadPCIConfigWord(11895,435887 -AscInitGetConfig(11907,436184 -AscInitSetConfig(11990,439256 -AscInitFromAscDvcVar(12009,439748 -AscInitAsc1000Driver(12075,442089 -AscInitAscDvcVar(12115,443410 -AscInitFromEEP(12227,448037 -AscInitMicroCodeVar(12392,454944 -AscTestExternalLram(12444,456601 -AscWriteEEPCmdReg(12468,457259 -AscWriteEEPDataReg(12491,457757 -AscWaitEEPRead(12514,458265 -AscWaitEEPWrite(12521,458350 -AscReadEEPWord(12528,458439 -AscWriteEEPWord(12546,458893 -AscGetEEPConfig(12570,459622 -AscSetEEPConfigOnce(12619,461246 -AscSetEEPConfig(12714,464340 -AscAsyncFix(12736,464816 -AscTagQueuingSafe(12777,466023 -AscInquiryHandling(12791,466363 -AscCompareString(12837,468080 -AscReadLramByte(12855,468416 -AscReadLramWord(12875,468959 -AscReadLramDWord(12889,469239 -AscWriteLramWord(12906,469682 -AscWriteLramByte(12918,469923 -AscMemWordCopyPtrToLram(12947,470670 -AscMemDWordCopyPtrToLram(12979,471642 -AscMemWordCopyPtrFromLram(13005,472363 -AscMemSumLramWord(13025,472835 -AscMemWordSetLram(13042,473166 -STATIC unsigned char _adv_asc3550_buf[13066,473630 -STATIC unsigned short _adv_asc3550_size 13383,509146 -STATIC ADV_DCNT _adv_asc3550_chksum 13385,509235 -STATIC unsigned char _adv_asc38C0800_buf[13389,509407 -STATIC unsigned short _adv_asc38C0800_size 13727,547145 -STATIC ADV_DCNT _adv_asc38C0800_chksum 13729,547240 -STATIC unsigned char _adv_asc38C1600_buf[13733,547415 -STATIC unsigned short _adv_asc38C1600_size 14132,592172 -STATIC ADV_DCNT _adv_asc38C1600_chksum 14134,592267 -Default_3550_EEPROM_Config __initdata 14155,593137 -ADVEEP_3550_Config_Field_IsChar __initdata 14193,594952 -Default_38C0800_EEPROM_Config __initdata 14231,596776 -ADVEEP_38C0800_Config_Field_IsChar __initdata 14296,600073 -Default_38C1600_EEPROM_Config __initdata 14361,603375 -ADVEEP_38C1600_Config_Field_IsChar __initdata 14426,606672 -AdvInitGetConfig(14499,610186 -AdvInitAsc3550Driver(14641,614513 -AdvInitAsc38C0800Driver(15221,632871 -AdvInitAsc38C1600Driver(15846,653543 -AdvInitFrom3550EEP(16484,675090 -AdvInitFrom38C0800EEP(16656,680636 -AdvInitFrom38C1600EEP(16889,688035 -AdvGet3550EEPConfig(17155,696825 -AdvGet38C0800EEPConfig(17201,698109 -AdvGet38C1600EEPConfig(17248,699425 -AdvReadEEPWord(17293,700663 -AdvWaitEEPCmd(17305,700965 -AdvSet3550EEPConfig(17328,701436 -AdvSet38C0800EEPConfig(17395,703285 -AdvSet38C1600EEPConfig(17463,705166 -AdvExeScsiQueue(17550,707920 -AdvResetSB(17681,712042 -AdvResetChipAndSB(17726,713217 -AdvISR(17840,716710 -AdvSendIdleCmd(18008,722320 -AdvInquiryHandling(18082,724683 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/jazz_esp.c,833 -static volatile unsigned char cmd_buffer[48,1635 -int jazz_esp_detect(55,1877 -static int jazz_esp_release(142,4108 -static int dma_bytes_sent(155,4487 -static int dma_can_transfer(160,4578 -static void dma_dump_state(171,4792 -static void dma_init_read(178,4998 -static void dma_init_write(188,5382 -static void dma_ints_off(198,5780 -static void dma_ints_on(203,5858 -static int dma_irq_p(208,5934 -static int dma_ports_p(213,6044 -static void dma_setup(220,6190 -static void dma_mmu_get_scsi_one 233,6521 -static void dma_mmu_get_scsi_sgl 239,6749 -static void dma_mmu_release_scsi_one 251,7111 -static void dma_mmu_release_scsi_sgl 256,7227 -static void dma_advance_sg 267,7464 -#define JAZZ_HDC_LED 272,7585 -static void dma_led_off(274,7654 -static void dma_led_on(281,7765 -static Scsi_Host_Template driver_template 288,7879 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi.h,652 -#define _SCSI_H21,658 -#define TRUE 37,1004 -#define FALSE 40,1040 -#define SCSI_DATA_UNKNOWN 56,1410 -#define SCSI_DATA_WRITE 57,1456 -#define SCSI_DATA_READ 58,1497 -#define SCSI_DATA_NONE 59,1539 -#define scsi_to_pci_dma_dir(scsi_to_pci_dma_dir61,1575 -#define scsi_to_sbus_dma_dir(scsi_to_sbus_dma_dir62,1631 -static inline void print_Scsi_Cmnd(67,1745 -static inline void print_command(71,1840 -static inline void print_sense(75,1932 -static inline void print_req_sense(79,2053 -static inline void print_driverbyte(83,2185 -static inline void print_hostbyte(87,2284 -static inline void print_status(91,2379 -static inline int print_msg(95,2472 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fd_mcs.h,25 -#define _FD_MCS_H23,833 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi.c,1836 -#define MIN_RESET_DELAY 76,2107 -#define MIN_RESET_PERIOD 79,2210 -#define CDB_SIZE(CDB_SIZE87,2492 -unsigned long scsi_pid;93,2634 -static unsigned long serial_number;94,2658 -unsigned int scsi_logging_level;100,2857 -const char *const scsi_device_types[102,2891 -struct scsi_request *scsi_allocate_request(131,3595 -void __scsi_release_request(151,4141 -void scsi_release_request(185,4989 -struct scsi_host_cmd_pool scsi_host_cmd_pool191,5092 -static struct scsi_host_cmd_pool scsi_cmd_pool 199,5230 -static struct scsi_host_cmd_pool scsi_cmd_dma_pool 204,5348 -static struct scsi_cmnd *__scsi_get_command(212,5558 -struct scsi_cmnd *scsi_get_command(245,6318 -void scsi_put_command(284,7216 -int scsi_setup_command_freelist(318,8154 -void scsi_destroy_command_freelist(371,9323 -void scsi_log_send(388,9763 -void scsi_log_completion(432,10807 -int scsi_dispatch_cmd(514,12731 -void scsi_init_cmd_from_req(660,17316 -void scsi_done(726,19441 -void __scsi_done(743,20009 -static void scsi_softirq(775,20839 -int scsi_retry_command(818,21938 -void scsi_finish_command(841,22498 -void scsi_adjust_queue_depth(920,24848 -int scsi_track_queue_full(987,26805 -int scsi_device_get(1023,27826 -void scsi_device_put(1045,28440 -struct scsi_device *__scsi_iterate_devices(1053,28657 -struct scsi_device *__scsi_device_lookup(1094,30010 -struct scsi_device *scsi_device_lookup(1120,30792 -int scsi_device_cancel(1142,31379 -static int scsi_cpu_notify(1183,32398 -static struct notifier_block __devinitdata scsi_cpu_nb 1203,32808 -#define register_scsi_cpu(register_scsi_cpu1207,32906 -#define unregister_scsi_cpu(unregister_scsi_cpu1208,32970 -#define register_scsi_cpu(register_scsi_cpu1210,33044 -#define unregister_scsi_cpu(unregister_scsi_cpu1211,33072 -static int __init init_scsi(1220,33319 -static void __exit exit_scsi(1267,34273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/i91uscsi.c,2604 -#define DEBUG_INTERRUPT 77,3996 -#define DEBUG_QUEUE 78,4022 -#define DEBUG_STATE 79,4048 -#define INT_DISC 80,4074 -HCS tul_hcs[145,6292 -static INI_ADPT_STRUCT i91u_adpt[147,6368 -static NVRAM i91unvram;150,6463 -static NVRAM *i91unvramp;151,6487 -static UCHAR i91udftNvRam[155,6516 -static UCHAR tul_rate_tbl[195,7753 -static void tul_do_pause(211,8074 -void tul_se2_wait(223,8456 -void tul_se2_instr(288,9883 -void tul_se2_ew_en(319,10682 -void tul_se2_ew_ds(331,11027 -USHORT tul_se2_rd(344,11387 -void tul_se2_wr(375,12211 -int tul_se2_rd_all(417,13400 -void tul_se2_update_all(445,14151 -void tul_read_eeprom(474,14876 -int Addi91u_into_Adapter_table(491,15399 -void init_i91uAdapter_table(523,16393 -void tul_stop_bm(537,16706 -void get_tulipPCIConfig(549,17143 -int tul_reset_scsi(558,17518 -int init_tulip(577,18101 -SCB *tul_alloc_scb(695,22176 -void tul_release_scb(714,22725 -void tul_append_pend_scb(736,23293 -void tul_push_pend_scb(754,23748 -SCB *tul_find_first_pend_scb(770,24152 -SCB *tul_pop_pend_scb(801,24990 -void tul_unlink_pend_scb(818,25396 -void tul_append_busy_scb(846,26172 -SCB *tul_pop_busy_scb(868,26760 -void tul_unlink_busy_scb(889,27313 -SCB *tul_find_busy_scb(922,28241 -void tul_append_done_scb(944,28789 -SCB *tul_find_done_scb(963,29245 -int tul_abort_srb(980,29653 -int tul_bad_seq(1070,32527 -int tul_device_reset(1090,33011 -int tul_reset_scsi_bus(1161,34983 -void tul_exec_scb(1191,35796 -int tul_isr(1224,36640 -int tulip_main(1245,37125 -void tulip_scsi(1331,39984 -int tul_next_state(1439,43108 -int tul_state_1(1480,43862 -int tul_state_2(1534,45808 -int tul_state_3(1557,46459 -int tul_state_4(1623,48423 -int tul_state_5(1683,50036 -int tul_state_6(1769,53168 -int tul_state_7(1809,54130 -int tul_xfer_data_in(1832,54689 -int tul_xfer_data_out(1858,55615 -int tul_xpad_in(1884,56530 -int tul_xpad_out(1910,57198 -int tul_status_msg(1939,58057 -int int_tul_busfree(1992,59719 -int int_tul_scsi_rst(2018,60592 -int int_tul_resel(2048,61486 -int int_tul_bad_seq(2124,63865 -int tul_msgout_abort_targ(2143,64348 -int tul_msgout_abort_tag(2159,64856 -int tul_msgin(2176,65368 -int tul_msgout_reject(2251,67293 -int tul_msgout_ide(2270,67831 -int tul_msgin_extend(2279,68117 -int tul_msgin_sync(2367,71375 -int wdtr_done(2400,72177 -int tul_sync_done(2417,72756 -int tul_post_scsi_rst(2439,73335 -void tul_select_atn_stop(2468,74175 -void tul_select_atn(2480,74538 -void tul_select_atn3(2497,75073 -int tul_bus_device_reset(2517,75759 -int tul_msgin_accept(2567,77178 -int wait_tulip(2574,77383 -int tul_wait_disc(2623,79365 -int tul_wait_done_disc(2646,80155 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/eata_pio.c,1222 -static uint ISAbases[75,3411 -static uint ISAirqs[79,3477 -static unsigned char EISAbases[83,3529 -static uint registered_HBAs;88,3621 -static struct Scsi_Host *last_HBA;89,3650 -static struct Scsi_Host *first_HBA;90,3685 -static unsigned char reg_IRQ[91,3721 -static unsigned char reg_IRQL[92,3755 -static unsigned long int_counter;93,3790 -static unsigned long queue_counter;94,3824 -static struct scsi_host_template driver_template;96,3861 -static int eata_pio_proc_info(109,4427 -static int eata_pio_release(167,6219 -static void IncStat(180,6494 -static irqreturn_t do_eata_pio_int_handler(196,6918 -static void eata_pio_int_handler(208,7227 -static inline uint eata_pio_send_command(332,10167 -static int eata_pio_queue(350,10608 -static int eata_pio_abort(448,13411 -static int eata_pio_host_reset(480,14440 -static char *get_pio_board_data(548,16283 -static int get_pio_conf_PIO(594,17377 -static void print_pio_config(652,18697 -static uint print_selftest(660,19267 -static int register_pio_HBA(687,19951 -static void find_pio_ISA(822,23259 -static void find_pio_EISA(839,23558 -static void find_pio_PCI(880,24645 -static int eata_pio_detect(943,26438 -static struct scsi_host_template driver_template 980,27837 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sr.c,1094 -#define SR_DISKS 65,1837 -#define MAX_RETRIES 67,1859 -#define SR_TIMEOUT 68,1881 -#define SR_CAPABILITIES 69,1910 -static struct scsi_driver sr_template 80,2348 -static unsigned long sr_index_bits[90,2536 -static spinlock_t sr_index_lock 91,2598 -static struct cdrom_device_ops sr_dops 107,3185 -static inline struct scsi_cd *scsi_cd(126,3707 -static inline struct scsi_cd *scsi_cd_get(135,3974 -static inline void scsi_cd_put(156,4339 -int sr_media_change(174,4994 -static void rw_intr(222,6370 -static int sr_init_command(305,8768 -static int sr_block_open(462,12953 -static int sr_block_release(477,13275 -static int sr_block_ioctl(490,13506 -static int sr_block_media_changed(508,14092 -struct block_device_operations sr_bdops 514,14229 -static int sr_open(523,14425 -static void sr_release(551,15095 -static int sr_probe(560,15260 -static void get_sectorsize(652,17287 -static void get_capabilities(755,19570 -static int sr_packet(893,23515 -static void sr_kref_release(913,24046 -static int sr_remove(931,24391 -static int __init init_sr(944,24596 -static void __exit exit_sr(954,24763 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/inia100.c,904 -#define ORC_RDWORD(ORC_RDWORD98,4311 -char *inia100_Copyright 100,4393 -char *inia100_InitioName 101,4444 -char *inia100_ProductName 102,4496 -char *inia100_Version 103,4539 -static void inia100AppendSRBToQueue(127,5721 -static struct scsi_cmnd *inia100PopSRBFromQueue(150,6548 -static void inia100BuildSCB(170,7291 -static int inia100_queue(243,9839 -static int inia100_abort(270,10883 -static int inia100_bus_reset(286,11527 -static int inia100_device_reset(300,12120 -void inia100SCBPost(317,12805 -static irqreturn_t inia100_intr(390,15347 -static struct scsi_host_template inia100_template 403,15687 -static int __devinit inia100_probe_one(417,16080 -static void __devexit inia100_remove_one(535,19326 -static struct pci_device_id inia100_pci_tbl[552,19843 -static struct pci_driver inia100_pci_driver 558,20012 -static int __init inia100_init(565,20190 -static void __exit inia100_exit(570,20278 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_promise.h,466 -#define __SATA_PROMISE_H__25,1063 -enum pdc_packet_bits pdc_packet_bits29,1115 - PDC_PKT_READ 30,1138 - PDC_PKT_NODATA 31,1165 - PDC_PKT_SIZEMASK 33,1195 - PDC_PKT_CLEAR_BSY 34,1247 - PDC_PKT_WAIT_DRDY 35,1278 - PDC_LAST_REG 36,1320 - PDC_REG_DEVCTL 38,1348 -static inline unsigned int pdc_pkt_header(41,1403 -static inline unsigned int pdc_pkt_footer(87,2349 -static inline unsigned int pdc_prep_lba28(102,2717 -static inline unsigned int pdc_prep_lba48(125,3221 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR_Q720.h,424 -#define _NCR_Q720_H9,165 -#define NCR_Q720_MCA_ID 12,211 -#define NCR_Q720_CLOCK_MHZ 14,244 -#define NCR_Q720_POS2_BOARD_ENABLE 16,275 -#define NCR_Q720_POS2_INTERRUPT_ENABLE 17,315 -#define NCR_Q720_POS2_PARITY_DISABLE 18,359 -#define NCR_Q720_POS2_IO_MASK 19,401 -#define NCR_Q720_POS2_IO_SHIFT 20,437 -#define NCR_Q720_CHIP_REGISTER_OFFSET 22,472 -#define NCR_Q720_SCSR_OFFSET 23,516 -#define NCR_Q720_SIOP_SHIFT 24,552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/osst_detect.h,28 -#define SIGS_FROM_OSST 1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/bvme6000.c,126 -int bvme6000_scsi_detect(27,512 -static int bvme6000_scsi_release(51,1074 -static Scsi_Host_Template driver_template 63,1378 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aha1740.h,2186 -#define SLOTSIZE 15,227 -#define HID0(HID018,294 -#define HID1(HID119,326 -#define HID2(HID220,358 -#define HID3(HID321,390 -#define EBCNTRL(EBCNTRL22,422 -#define PORTADR(PORTADR23,457 -#define BIOSADR(BIOSADR24,493 -#define INTDEF(INTDEF25,529 -#define SCSIDEF(SCSIDEF26,564 -#define BUSDEF(BUSDEF27,600 -#define RESV0(RESV028,635 -#define RESV1(RESV129,669 -#define RESV2(RESV230,703 -#define HID_MFG 32,738 -#define HID_PRD 33,760 -#define HID_REV 34,778 -#define EBCNTRL_VALUE 35,796 -#define PORTADDR_ENH 36,820 -#define G2INTST(G2INTST38,857 -#define G2STAT(G2STAT39,893 -#define MBOXIN0(MBOXIN040,928 -#define MBOXIN1(MBOXIN141,964 -#define MBOXIN2(MBOXIN242,1000 -#define MBOXIN3(MBOXIN343,1036 -#define G2STAT2(G2STAT244,1072 -#define G2INTST_MASK 46,1109 -#define G2INTST_CCBGOOD 47,1161 -#define G2INTST_CCBRETRY 48,1211 -#define G2INTST_HARDFAIL 49,1274 -#define G2INTST_CMDGOOD 50,1335 -#define G2INTST_CCBERROR 51,1397 -#define G2INTST_ASNEVENT 52,1458 -#define G2INTST_CMDERROR 53,1526 -#define G2STAT_MBXOUT 55,1587 -#define G2STAT_INTPEND 56,1639 -#define G2STAT_BUSY 57,1692 -#define G2STAT2_READY 59,1750 -#define MBOXOUT0(MBOXOUT062,1823 -#define MBOXOUT1(MBOXOUT163,1860 -#define MBOXOUT2(MBOXOUT264,1897 -#define MBOXOUT3(MBOXOUT365,1934 -#define ATTN(ATTN66,1971 -#define G2CNTRL(G2CNTRL67,2004 -#define ATTN_IMMED 69,2041 -#define ATTN_START 70,2089 -#define ATTN_ABORT 71,2129 -#define G2CNTRL_HRST 73,2170 -#define G2CNTRL_IRST 74,2213 -#define G2CNTRL_HRDY 75,2266 -struct aha1740_chain aha1740_chain78,2354 -#define any2scsi(any2scsi84,2496 -#define scsi2int(scsi2int89,2644 -#define xany2scsi(xany2scsi91,2735 -#define xscsi2int(xscsi2int97,2878 -#define MAX_CDB 100,3010 -#define MAX_SENSE 101,3029 -#define MAX_STATUS 102,3050 -struct ecb ecb104,3073 -#define AHA1740CMD_NOP 141,4407 -#define AHA1740CMD_INIT 142,4448 -#define AHA1740CMD_DIAG 143,4507 -#define AHA1740CMD_SCSI 144,4566 -#define AHA1740CMD_SENSE 145,4618 -#define AHA1740CMD_DOWN 146,4677 -#define AHA1740CMD_RINQ 147,4746 -#define AHA1740CMD_TARG 148,4813 -#define AHA1740_ECBS 150,4870 -#define AHA1740_SCATTER 151,4894 -#define AHA1740_CMDLUN 152,4921 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR_D700.c,576 -#define NCR_D700_VERSION 93,3081 -char *NCR_D700;109,3435 -static __u8 __initdata id_array[116,3618 -#define ARG_SEP 120,3736 -#define ARG_SEP 122,3762 -param_setup(126,3808 -static struct scsi_host_template NCR_D700_driver_template 160,4689 -struct NCR_D700_private NCR_D700_private168,4926 -NCR_D700_probe_one(174,5019 -NCR_D700_probe(245,6883 -NCR_D700_remove_one(345,9420 -NCR_D700_remove(355,9651 -static short NCR_D700_id_table[367,9837 -struct mca_driver NCR_D700_driver 369,9897 -static int __init NCR_D700_init(379,10094 -static void __exit NCR_D700_exit(389,10246 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gdth_proc.c,558 -int gdth_proc_info(10,214 -int gdth_proc_info(27,711 -static int gdth_set_info(53,1451 -static int gdth_set_asc_info(109,3093 -static int gdth_get_info(236,7438 -static void gdth_do_req(844,30714 -static void gdth_do_cmd(863,31226 -void gdth_scsi_done(902,32396 -static char *gdth_ioctl_alloc(921,32937 -static void gdth_ioctl_free(957,33807 -static int gdth_ioctl_check_bin(979,34294 -static void gdth_wait_completion(998,34688 -static void gdth_stop_timeout(1039,35896 -static void gdth_start_timeout(1065,36681 -static int gdth_update_timeout(1091,37464 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ppa.c,1623 -} ppa_struct;ppa_struct43,1385 -static inline ppa_struct *ppa_dev(47,1419 -static spinlock_t arbitration_lock 52,1523 -static void got_it(54,1581 -static void ppa_wakeup(63,1738 -static int ppa_pb_claim(78,2029 -static void ppa_pb_dismiss(92,2307 -static inline void ppa_pb_release(104,2572 -static inline int ppa_proc_write(121,3050 -static int ppa_proc_info(140,3546 -#define ppa_fail(ppa_fail174,4331 -static inline void ppa_fail_func(176,4455 -static unsigned char ppa_wait(195,4958 -static inline void epp_reset(227,5681 -static inline void ecp_sync(239,5869 -static int ppa_byte_out(256,6221 -static int ppa_byte_in(268,6446 -static int ppa_nibble_in(280,6667 -static int ppa_out(293,6942 -static int ppa_in(338,7763 -static inline void ppa_d_pulse(393,8771 -static void ppa_disconnect(403,8950 -static inline void ppa_c_pulse(413,9129 -static inline void ppa_connect(422,9290 -static int ppa_select(435,9577 -static int ppa_init(479,10461 -static inline int ppa_send_command(509,10985 -static int ppa_completion(530,11520 -static void ppa_interrupt(631,14283 -static int ppa_engine(690,15525 -static int ppa_queuecommand(810,18404 -static int ppa_biosparam(840,19107 -static int ppa_abort(856,19478 -static void ppa_reset_pulse(876,19975 -static int ppa_reset(884,20098 -static int device_check(900,20474 -static struct scsi_host_template ppa_template 983,22380 -static int __ppa_attach(1006,23109 -static void ppa_attach(1111,25481 -static void ppa_detach(1116,25548 -static struct parport_driver ppa_driver 1131,25853 -static int __init ppa_driver_init(1137,25963 -static void __exit ppa_driver_exit(1143,26097 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mac_scsi.h,794 -#define MAC_NCR5380_H30,520 -#define MACSCSI_PUBLIC_RELEASE 32,543 -#define CMD_PER_LUN 37,610 -#define CAN_QUEUE 41,658 -#define SG_TABLESIZE 45,708 -#define USE_TAGGED_QUEUING 49,772 -#define NCR5380_implementation_fields 56,853 -#define NCR5380_local_declare(NCR5380_local_declare59,913 -#define NCR5380_setup(NCR5380_setup62,984 -#define NCR5380_read(NCR5380_read65,1048 -#define NCR5380_write(NCR5380_write66,1103 -#define NCR5380_pread 68,1175 -#define NCR5380_pwrite 69,1212 -#define NCR5380_intr 71,1253 -#define NCR5380_queue_command 72,1287 -#define NCR5380_abort 73,1339 -#define NCR5380_bus_reset 74,1375 -#define NCR5380_device_reset 75,1419 -#define NCR5380_host_reset 76,1469 -#define NCR5380_proc_info 77,1515 -#define BOARD_NORMAL 79,1560 -#define BOARD_NCR53C400 80,1583 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_defs.h,13804 -#define SYM53C8XX_DEFS_H65,2637 -#define SCSI_NCR_PROC_INFO_SUPPORT70,2745 -#define SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT76,2874 -#define SCSI_NCR_DEBUG_INFO_SUPPORT77,2917 -# define SCSI_NCR_USER_COMMAND_SUPPORT79,2987 -# define SCSI_NCR_USER_INFO_SUPPORT80,3026 -# define SCSI_NCR_ENABLE_INTEGRITY_CHECK88,3195 -#define SCSI_NCR_SETUP_SPECIAL_FEATURES 108,3861 -#define SCSI_NCR_MAX_SYNC 110,3907 -#define SCSI_NCR_MAX_TAGS 117,4064 -#define SCSI_NCR_MAX_TAGS 119,4137 -#define SCSI_NCR_MAX_TAGS 121,4175 -#define SCSI_NCR_MAX_TAGS 124,4245 -#define SCSI_NCR_SETUP_DEFAULT_TAGS 132,4442 -#define SCSI_NCR_SETUP_DEFAULT_TAGS 134,4562 -#define SCSI_NCR_SETUP_DEFAULT_TAGS 136,4622 -#define SCSI_NCR_IARB_SUPPORT143,4742 -#define CONFIG_SCSI_NCR53C8XX_SYNC 151,4905 -#define CONFIG_SCSI_NCR53C8XX_SYNC 154,5032 -#define SCSI_NCR_SETUP_DEFAULT_SYNC 158,5129 -#define SCSI_NCR_SETUP_DEFAULT_SYNC 160,5209 -#define SCSI_NCR_SETUP_DEFAULT_SYNC 162,5289 -#define SCSI_NCR_SETUP_DEFAULT_SYNC 164,5399 -#define SCSI_NCR_SETUP_DEFAULT_SYNC 166,5479 -#define SCSI_NCR_SETUP_DEFAULT_SYNC 168,5526 -#define SCSI_NCR_SETUP_DISCONNECTION 175,5663 -#define SCSI_NCR_SETUP_DISCONNECTION 177,5710 -#define SCSI_NCR_SETUP_FORCE_SYNC_NEGO 184,5860 -#define SCSI_NCR_SETUP_FORCE_SYNC_NEGO 186,5909 -#define SCSI_NCR_SETUP_MASTER_PARITY 193,6081 -#define SCSI_NCR_SETUP_MASTER_PARITY 195,6128 -#define SCSI_NCR_SETUP_SCSI_PARITY 202,6297 -#define SCSI_NCR_SETUP_SCSI_PARITY 204,6342 -#define SCSI_NCR_SETUP_SETTLE_TIME 210,6434 -#define SCSI_NCR_PCIQ_WORK_AROUND_OPT 216,6570 -#define SCSI_NCR_PCIQ_MAY_NOT_FLUSH_PW_UPSTREAM230,6911 -#define SCSI_NCR_PCIQ_MAY_REORDER_WRITES231,6959 -#define SCSI_NCR_PCIQ_MAY_MISS_COMPLETIONS232,7000 -#define SCSI_NCR_PCIQ_MAY_NOT_FLUSH_PW_UPSTREAM248,7447 -#define SCSI_NCR_PCIQ_MAY_REORDER_WRITES249,7495 -#define SCSI_NCR_PCIQ_MAY_MISS_COMPLETIONS250,7536 -#define SCSI_NCR_PCIQ_BROKEN_INTR251,7579 -#define SCSI_NCR_PCIQ_SYNC_ON_INTR260,7806 -#define SCSI_NCR_ALWAYS_SIMPLE_TAG268,7984 -#define SCSI_NCR_MAX_SCATTER 269,8019 -#define SCSI_NCR_MAX_TARGET 270,8054 -#define SCSI_NCR_CAN_QUEUE 278,8247 -#define SCSI_NCR_CMD_PER_LUN 279,8320 -#define SCSI_NCR_SG_TABLESIZE 281,8370 -#define SCSI_NCR_TIMER_INTERVAL 282,8423 -#define SCSI_NCR_MAX_LUN 285,8503 -#define SCSI_NCR_MAX_LUN 287,8539 -#define ktime_get(ktime_get295,8728 -#define ktime_exp(ktime_exp296,8773 -#define ktime_dif(ktime_dif297,8830 -#define ktime_add(ktime_add299,8924 -#define ktime_sub(ktime_sub300,8969 -#define inw_l2b 310,9182 -#define inl_l2b 311,9203 -#define outw_b2l 312,9224 -#define outl_b2l 313,9246 -#define readb_raw 315,9269 -#define writeb_raw 316,9293 -#define readw_l2b 319,9353 -#define readl_l2b 320,9383 -#define writew_b2l 321,9413 -#define writel_b2l 322,9445 -#define readw_raw 323,9477 -#define readl_raw(readl_raw324,9507 -#define writew_raw 325,9560 -#define writel_raw(writel_raw326,9592 -#define readw_l2b 328,9680 -#define readl_l2b 329,9704 -#define writew_b2l 330,9728 -#define writel_b2l 331,9754 -#define readw_raw 332,9780 -#define readl_raw 333,9804 -#define writew_raw 334,9828 -#define writel_raw 335,9854 -#define inw_raw 340,9915 -#define inl_raw 341,9936 -#define outw_raw 342,9957 -#define outl_raw 343,9979 -#define readb_raw 345,10002 -#define readw_raw 346,10026 -#define readl_raw 347,10050 -#define writeb_raw 348,10074 -#define writew_raw 349,10100 -#define writel_raw 350,10126 -#define MEMORY_BARRIER(MEMORY_BARRIER360,10318 -#define ncr_offb(ncr_offb373,10670 -#define ncr_offw(ncr_offw374,10716 -#define ncr_offb(ncr_offb378,10770 -#define ncr_offw(ncr_offw379,10794 -#define cpu_to_scr(cpu_to_scr393,11146 -#define scr_to_cpu(scr_to_cpu394,11185 -#define cpu_to_scr(cpu_to_scr398,11289 -#define scr_to_cpu(scr_to_cpu399,11328 -#define cpu_to_scr(cpu_to_scr403,11375 -#define scr_to_cpu(scr_to_cpu404,11403 -#define INB_OFF(INB_OFF425,11933 -#define OUTB_OFF(OUTB_OFF426,11994 -#define INW_OFF(INW_OFF430,12129 -#define INL_OFF(INL_OFF431,12190 -#define OUTW_OFF(OUTW_OFF433,12244 -#define OUTL_OFF(OUTL_OFF434,12318 -#define INW_OFF(INW_OFF438,12449 -#define INL_OFF(INL_OFF439,12510 -#define OUTW_OFF(OUTW_OFF441,12564 -#define OUTL_OFF(OUTL_OFF442,12638 -#define INW_OFF(INW_OFF448,12800 -#define INW_OFF(INW_OFF450,12913 -#define INL_OFF(INL_OFF452,12981 -#define OUTW_OFF(OUTW_OFF456,13123 -#define OUTW_OFF(OUTW_OFF458,13286 -#define OUTL_OFF(OUTL_OFF460,13367 -#define INB(INB464,13442 -#define INW(INW465,13495 -#define INL(INL466,13548 -#define OUTB(OUTB468,13602 -#define OUTW(OUTW469,13668 -#define OUTL(OUTL470,13734 -#define OUTONB(OUTONB476,13836 -#define OUTOFFB(OUTOFFB477,13879 -#define OUTONW(OUTONW478,13924 -#define OUTOFFW(OUTOFFW479,13967 -#define OUTONL(OUTONL480,14012 -#define OUTOFFL(OUTOFFL481,14055 -#define OUTL_DSP(OUTL_DSP488,14246 -#define OUTONB_STD(OUTONB_STD494,14345 -struct ncr_chip ncr_chip504,14502 -#define FE_LED0 510,14683 -#define FE_WIDE 511,14707 -#define FE_ULTRA 512,14760 -#define FE_DBLR 513,14817 -#define FE_QUAD 514,14871 -#define FE_ERL 515,14928 -#define FE_CLSE 516,14977 -#define FE_WRIE 517,15033 -#define FE_ERMP 518,15092 -#define FE_BOF 519,15146 -#define FE_DFS 520,15197 -#define FE_PFEN 521,15243 -#define FE_LDSTR 522,15292 -#define FE_RAM 523,15346 -#define FE_VARCLK 524,15398 -#define FE_RAM8K 525,15452 -#define FE_64BIT 526,15507 -#define FE_IO256 527,15568 -#define FE_NOPM 528,15638 -#define FE_LEDC 529,15702 -#define FE_DIFF 530,15759 -#define FE_66MHZ 531,15818 -#define FE_DAC 532,15870 -#define FE_ISTAT1 533,15942 -#define FE_DAC_IN_USE 534,16013 -#define FE_EHP 535,16076 -#define FE_MUX 536,16130 -#define FE_EA 537,16183 -#define FE_CACHE_SET 539,16231 -#define FE_SCSI_SET 540,16285 -#define FE_SPECIAL_SET 541,16348 -#define SCSI_NCR_MAX_EXCLUDES 551,16586 -struct ncr_driver_setup ncr_driver_setup552,16618 -#define SCSI_NCR_DRIVER_SETUP 584,17146 -#define SCSI_NCR_DRIVER_SAFE_SETUP 616,17720 -struct ncr_reg ncr_reg651,18264 - #define ISCON 655,18410 - #define CRST 656,18471 - #define IARB 657,18542 - #define SDU 660,18678 - #define CHM 661,18742 - #define WSS 662,18806 - #define WSR 663,18870 - #define EWS 666,18999 - #define ULTRA 667,19063 - #define RRE 671,19230 - #define SRE 672,19294 - #define CREQ 684,19664 - #define CACK 685,19726 - #define CBSY 686,19788 - #define CSEL 687,19850 - #define CATN 688,19912 - #define CMSG 689,19974 - #define CC_D 690,20036 - #define CI_O 691,20098 - #define DFE 698,20224 - #define MDPE 699,20295 - #define BF 700,20366 - #define ABRT 701,20437 - #define SSI 702,20508 - #define SIR 703,20579 - #define IID 704,20650 - #define ILF 707,20744 - #define ORF 708,20815 - #define OLF 709,20886 - #define AIP 710,20957 - #define LOA 711,21028 - #define WOA 712,21099 - #define IRST 713,21170 - #define SDP 714,21241 - #define FF3210 717,21335 - #define ILF1 720,21421 - #define ORF1 721,21492 - #define OLF1 722,21563 - #define DM 723,21634 - #define LDSC 724,21708 - #define CABRT 732,21959 - #define SRST 733,22030 - #define SIGP 734,22101 - #define SEM 735,22172 - #define CON 736,22243 - #define INTF 737,22314 - #define SIP 738,22385 - #define DIP 739,22456 - #define FLSH 742,22581 - #define SRUN 743,22652 - #define SIRQD 744,22723 - #define EHP 750,22921 - #define CSIGP 754,23029 - #define FLF 758,23119 - #define CLF 759,23183 - #define FM 760,23236 - #define WRIE 761,23300 - #define MUX 768,23514 - #define BDIS 769,23578 - #define MPEE 770,23642 - #define DFS 773,23729 - #define BL_2 788,24275 - #define BL_1 789,24339 - #define ERL 790,24403 - #define ERMP 791,24467 - #define BOF 792,24531 - #define CLSE 798,24696 - #define PFF 799,24760 - #define PFEN 800,24824 - #define EA 801,24888 - #define SSM 802,24952 - #define IRQM 803,25016 - #define STD 804,25080 - #define IRQD 805,25144 - #define NOCOM 806,25208 - #define SBMC 813,25459 - #define STO 814,25536 - #define GEN 815,25607 - #define HTH 816,25678 - #define MA 817,25749 - #define CMP 818,25820 - #define SEL 819,25891 - #define RSL 820,25962 - #define SGE 821,26033 - #define UDC 822,26104 - #define RST 823,26175 - #define PAR 824,26246 - #define SCLK 837,26645 - #define DBLEN 838,26707 - #define DBLSEL 839,26760 - #define ROF 843,26840 - #define DIF 844,26909 - #define EXT 845,26979 - #define TE 848,27072 - #define HSC 849,27120 - #define CSF 850,27168 - #define SMODE 854,27301 - #define SMODE_HVD 855,27362 - #define SMODE_SE 856,27427 - #define SMODE_LVD 857,27492 - #define LCKFRQ 858,27557 - #define ENPMJ 864,27801 - #define PMJCTL 865,27863 - #define ENNDJ 866,27925 - #define DISFC 867,27987 - #define DILS 868,28049 - #define DPR 869,28111 - #define ZMOD 872,28234 - #define DIC 873,28296 - #define DDAC 874,28351 - #define XTIMOD 875,28413 - #define EXTIBMV 876,28475 - #define EXDBMV 877,28538 - #define U3EN 896,29458 - #define AIPEN 897,29520 - #define XCLKH_DT 898,29584 - #define XCLKH_ST 900,29677 - #define SNDCRC 928,30941 -#define REGJ(REGJ944,31443 -#define REG(REG945,31496 -typedef u32 ncrcmd;ncrcmd947,31526 -#define SCR_DATA_OUT 958,31736 -#define SCR_DATA_IN 959,31768 -#define SCR_COMMAND 960,31799 -#define SCR_STATUS 961,31830 -#define SCR_DT_DATA_OUT 962,31860 -#define SCR_DT_DATA_IN 963,31895 -#define SCR_MSG_OUT 964,31929 -#define SCR_MSG_IN 965,31960 -#define SCR_ILG_OUT 967,31996 -#define SCR_ILG_IN 968,32027 -#define OPC_MOVE 988,32400 -#define SCR_MOVE_ABS(SCR_MOVE_ABS990,32438 -#define SCR_MOVE_IND(SCR_MOVE_IND991,32494 -#define SCR_MOVE_TBL 992,32550 -#define SCR_CHMOV_ABS(SCR_CHMOV_ABS994,32600 -#define SCR_CHMOV_IND(SCR_CHMOV_IND995,32646 -#define SCR_CHMOV_TBL 996,32692 -struct scr_tblmove scr_tblmove998,32732 -#define SCR_SEL_ABS 1018,33151 -#define SCR_SEL_ABS_ATN 1019,33182 -#define SCR_SEL_TBL 1020,33217 -#define SCR_SEL_TBL_ATN 1021,33248 -struct scr_tblsel scr_tblsel1025,33312 -struct scr_tblsel scr_tblsel1032,33429 -#define SCR_JMP_REL 1040,33548 -#define SCR_ID(SCR_ID1041,33583 -#define SCR_WAIT_DISC 1058,33950 -#define SCR_WAIT_RESEL 1059,33983 -#define SCR_SET(SCR_SET1074,34287 -#define SCR_CLR(SCR_CLR1075,34329 -#define SCR_CARRY 1077,34372 -#define SCR_TRG 1078,34401 -#define SCR_ACK 1079,34429 -#define SCR_ATN 1080,34457 -#define SCR_NO_FLUSH 1103,34975 -#define SCR_COPY(SCR_COPY1105,35008 -#define SCR_COPY_F(SCR_COPY_F1106,35062 -#define SCR_REG_OFS(SCR_REG_OFS1132,35882 -#define SCR_SFBR_REG(SCR_SFBR_REG1134,35953 -#define SCR_REG_SFBR(SCR_REG_SFBR1137,36067 -#define SCR_REG_REG(SCR_REG_REG1140,36181 -#define SCR_LOAD 1144,36295 -#define SCR_SHL 1145,36330 -#define SCR_OR 1146,36365 -#define SCR_XOR 1147,36400 -#define SCR_AND 1148,36435 -#define SCR_SHR 1149,36470 -#define SCR_ADD 1150,36505 -#define SCR_ADDC 1151,36540 -#define SCR_SFBR_DATA 1153,36576 -#define SCR_FROM_REG(SCR_FROM_REG1172,36974 -#define SCR_TO_REG(SCR_TO_REG1175,37031 -#define SCR_LOAD_REG(SCR_LOAD_REG1178,37086 -#define SCR_LOAD_SFBR(SCR_LOAD_SFBR1181,37152 -#define SCR_REG_OFS2(SCR_REG_OFS21202,37661 -#define SCR_NO_FLUSH2 1203,37712 -#define SCR_DSA_REL2 1204,37745 -#define SCR_LOAD_R(SCR_LOAD_R1206,37778 -#define SCR_STORE_R(SCR_STORE_R1209,37873 -#define SCR_LOAD_ABS(SCR_LOAD_ABS1212,37969 -#define SCR_LOAD_REL(SCR_LOAD_REL1213,38032 -#define SCR_LOAD_ABS_F(SCR_LOAD_ABS_F1214,38108 -#define SCR_LOAD_REL_F(SCR_LOAD_REL_F1215,38161 -#define SCR_STORE_ABS(SCR_STORE_ABS1217,38226 -#define SCR_STORE_REL(SCR_STORE_REL1218,38291 -#define SCR_STORE_ABS_F(SCR_STORE_ABS_F1219,38368 -#define SCR_STORE_REL_F(SCR_STORE_REL_F1220,38423 -#define SCR_NO_OP 1259,39289 -#define SCR_JUMP 1260,39324 -#define SCR_JUMP64 1261,39359 -#define SCR_JUMPR 1262,39394 -#define SCR_CALL 1263,39429 -#define SCR_CALLR 1264,39464 -#define SCR_RETURN 1265,39499 -#define SCR_INT 1266,39534 -#define SCR_INT_FLY 1267,39569 -#define IFFALSE(IFFALSE1269,39605 -#define IFTRUE(IFTRUE1270,39649 -#define WHEN(WHEN1272,39694 -#define IF(IF1273,39740 -#define DATA(DATA1275,39787 -#define MASK(MASK1276,39838 -#define CARRYSET 1278,39919 -#define M_COMPLETE 1291,40129 -#define M_EXTENDED 1292,40155 -#define M_SAVE_DP 1293,40181 -#define M_RESTORE_DP 1294,40206 -#define M_DISCONNECT 1295,40234 -#define M_ID_ERROR 1296,40262 -#define M_ABORT 1297,40288 -#define M_REJECT 1298,40312 -#define M_NOOP 1299,40336 -#define M_PARITY 1300,40359 -#define M_LCOMPLETE 1301,40383 -#define M_FCOMPLETE 1302,40410 -#define M_RESET 1303,40437 -#define M_ABORT_TAG 1304,40461 -#define M_CLEAR_QUEUE 1305,40488 -#define M_INIT_REC 1306,40517 -#define M_REL_REC 1307,40543 -#define M_TERMINATE 1308,40568 -#define M_SIMPLE_TAG 1309,40595 -#define M_HEAD_TAG 1310,40623 -#define M_ORDERED_TAG 1311,40649 -#define M_IGN_RESIDUE 1312,40678 -#define M_IDENTIFY 1313,40707 -#define M_X_MODIFY_DP 1315,40737 -#define M_X_SYNC_REQ 1316,40766 -#define M_X_WIDE_REQ 1317,40794 -#define M_X_PPR_REQ 1318,40822 -#define S_GOOD 1324,40867 -#define S_CHECK_COND 1325,40890 -#define S_COND_MET 1326,40918 -#define S_BUSY 1327,40944 -#define S_INT 1328,40967 -#define S_INT_COND_MET 1329,40989 -#define S_CONFLICT 1330,41019 -#define S_TERMINATED 1331,41045 -#define S_QUEUE_FULL 1332,41073 -#define S_ILLEGAL 1333,41101 -#define S_SENSE 1334,41126 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla1280.h,9259 -#define _QLA1280_H21,817 -#define BIT_0 26,869 -#define BIT_1 27,887 -#define BIT_2 28,905 -#define BIT_3 29,923 -#define BIT_4 30,941 -#define BIT_5 31,960 -#define BIT_6 32,979 -#define BIT_7 33,998 -#define BIT_8 34,1017 -#define BIT_9 35,1037 -#define BIT_10 36,1057 -#define BIT_11 37,1078 -#define BIT_12 38,1099 -#define BIT_13 39,1121 -#define BIT_14 40,1143 -#define BIT_15 41,1165 -#define BIT_16 42,1187 -#define BIT_17 43,1210 -#define BIT_18 44,1233 -#define BIT_19 45,1256 -#define BIT_20 46,1279 -#define BIT_21 47,1303 -#define BIT_22 48,1327 -#define BIT_23 49,1351 -#define BIT_24 50,1375 -#define BIT_25 51,1400 -#define BIT_26 52,1425 -#define BIT_27 53,1450 -#define BIT_28 54,1475 -#define BIT_29 55,1501 -#define BIT_30 56,1527 -#define BIT_31 57,1553 -#define RD_REG_WORD(RD_REG_WORD60,1601 -#define RD_REG_WORD_dmasync(RD_REG_WORD_dmasync61,1648 -#define WRT_REG_WORD(WRT_REG_WORD62,1694 -#define RD_REG_WORD(RD_REG_WORD64,1778 -#define RD_REG_WORD_dmasync(RD_REG_WORD_dmasync65,1830 -#define WRT_REG_WORD(WRT_REG_WORD66,1882 -#define MAX_BUSES 72,2025 -#define MAX_B_BITS 73,2053 -#define MAX_TARGETS 75,2075 -#define MAX_T_BITS 76,2107 -#define MAX_LUNS 78,2137 -#define MAX_L_BITS 79,2165 -#define QLA1280_WDG_TIME_QUANTUM 84,2227 -#define COMMAND_RETRY_COUNT 87,2316 -#define MAX_OUTSTANDING_COMMANDS 90,2399 -#define INVALID_HANDLE 91,2436 -#define REQUEST_ENTRY_CNT 94,2548 -#define RESPONSE_ENTRY_CNT 95,2612 -#define SG_SEGMENTS 98,2714 -struct srb srb104,2873 -#define SRB_TIMEOUT 118,3322 -#define SRB_SENT 119,3376 -#define SRB_ABORT_PENDING 120,3429 -#define SRB_ABORTED 121,3499 -struct device_reg device_reg126,3623 -#define ISP_CFG0_HWMSK 130,3744 -#define ISP_CFG0_1020 131,3805 -#define ISP_CFG0_1020A 132,3850 -#define ISP_CFG0_1040 133,3895 -#define ISP_CFG0_1040A 134,3938 -#define ISP_CFG0_1040B 135,3983 -#define ISP_CFG0_1040C 136,4028 -#define ISP_CFG1_F128 138,4113 -#define ISP_CFG1_F64 139,4175 -#define ISP_CFG1_F32 140,4242 -#define ISP_CFG1_F16 141,4304 -#define ISP_CFG1_BENAB 142,4366 -#define ISP_CFG1_SXP 143,4428 -#define ISP_RESET 145,4528 -#define ISP_EN_INT 146,4580 -#define ISP_EN_RISC 147,4640 -#define ISP_FLASH_ENABLE 148,4705 -#define ISP_FLASH_UPPER 149,4771 -#define PCI_64BIT_SLOT 151,4874 -#define RISC_INT 152,4939 -#define PCI_INT 153,4991 -#define NV_DESELECT 156,5119 -#define NV_CLOCK 157,5145 -#define NV_SELECT 158,5175 -#define NV_DATA_OUT 159,5205 -#define NV_DATA_IN 160,5235 -#define CDMA_CONF_SENAB 168,5447 -#define CDMA_CONF_RIRQ 169,5507 -#define CDMA_CONF_BENAB 170,5566 -#define CDMA_CONF_DIR 171,5620 -#define DDMA_CONF_SENAB 185,5998 -#define DDMA_CONF_RIRQ 186,6058 -#define DDMA_CONF_BENAB 187,6117 -#define DDMA_CONF_DIR 188,6171 -#define HOST_INT 213,6917 -#define BIOS_ENABLE 214,6970 -#define MAILBOX_REGISTER_COUNT 225,7168 -#define PROD_ID_1 230,7278 -#define PROD_ID_2 231,7304 -#define PROD_ID_2a 232,7330 -#define PROD_ID_3 233,7357 -#define PROD_ID_4 234,7383 -#define HC_RESET_RISC 239,7475 -#define HC_PAUSE_RISC 240,7522 -#define HC_RELEASE_RISC 241,7569 -#define HC_SET_HOST_INT 242,7632 -#define HC_CLR_HOST_INT 243,7689 -#define HC_CLR_RISC_INT 244,7748 -#define HC_DISABLE_BIOS 245,7807 -#define MBS_FRM_ALIVE 250,7905 -#define MBS_CHKSUM_ERR 251,7952 -#define MBS_SHADOW_LD_ERR 252,8000 -#define MBS_BUSY 253,8053 -#define MBS_CMD_CMP 258,8138 -#define MBS_INV_CMD 259,8190 -#define MBS_HOST_INF_ERR 260,8241 -#define MBS_TEST_FAILED 261,8301 -#define MBS_CMD_ERR 262,8352 -#define MBS_CMD_PARAM_ERR 263,8401 -#define MBA_ASYNC_EVENT 268,8520 -#define MBA_BUS_RESET 269,8578 -#define MBA_SYSTEM_ERR 270,8630 -#define MBA_REQ_TRANSFER_ERR 271,8681 -#define MBA_RSP_TRANSFER_ERR 272,8747 -#define MBA_WAKEUP_THRES 273,8814 -#define MBA_TIMEOUT_RESET 274,8875 -#define MBA_DEVICE_RESET 275,8939 -#define MBA_BUS_MODE_CHANGE 276,8995 -#define MBA_SCSI_COMPLETION 277,9062 -#define MBC_NOP 282,9156 -#define MBC_LOAD_RAM 283,9196 -#define MBC_EXECUTE_FIRMWARE 284,9236 -#define MBC_DUMP_RAM 285,9291 -#define MBC_WRITE_RAM_WORD 286,9340 -#define MBC_READ_RAM_WORD 287,9391 -#define MBC_MAILBOX_REGISTER_TEST 288,9440 -#define MBC_VERIFY_CHECKSUM 289,9506 -#define MBC_ABOUT_FIRMWARE 290,9559 -#define MBC_INIT_REQUEST_QUEUE 291,9617 -#define MBC_INIT_RESPONSE_QUEUE 292,9685 -#define MBC_EXECUTE_IOCB 293,9755 -#define MBC_ABORT_COMMAND 294,9813 -#define MBC_ABORT_DEVICE 295,9870 -#define MBC_ABORT_TARGET 296,9929 -#define MBC_BUS_RESET 297,9984 -#define MBC_GET_RETRY_COUNT 298,10034 -#define MBC_GET_TARGET_PARAMETERS 299,10100 -#define MBC_SET_INITIATOR_ID 300,10167 -#define MBC_SET_SELECTION_TIMEOUT 301,10230 -#define MBC_SET_RETRY_COUNT 302,10297 -#define MBC_SET_TAG_AGE_LIMIT 303,10363 -#define MBC_SET_CLOCK_RATE 304,10423 -#define MBC_SET_ACTIVE_NEGATION 305,10477 -#define MBC_SET_ASYNC_DATA_SETUP 306,10547 -#define MBC_SET_PCI_CONTROL 307,10617 -#define MBC_SET_TARGET_PARAMETERS 308,10684 -#define MBC_SET_DEVICE_QUEUE 309,10751 -#define MBC_SET_RESET_DELAY_PARAMETERS 310,10820 -#define MBC_SET_SYSTEM_PARAMETER 311,10897 -#define MBC_SET_FIRMWARE_FEATURES 312,10967 -#define MBC_INIT_REQUEST_QUEUE_A64 313,11038 -#define MBC_INIT_RESPONSE_QUEUE_A64 314,11113 -#define MBC_ENABLE_TARGET_MODE 315,11186 -#define MBC_SET_DATA_OVERRUN_RECOVERY 316,11248 -#define TP_PPR 321,11400 -#define TP_RENEGOTIATE 322,11433 -#define TP_STOP_QUEUE 323,11491 -#define TP_AUTO_REQUEST_SENSE 324,11563 -#define TP_TAGGED_QUEUE 325,11633 -#define TP_SYNC 326,11694 -#define TP_WIDE 327,11767 -#define TP_PARITY 328,11833 -#define TP_DISCONNECT 329,11895 -#define NV_START_BIT 334,11995 -#define NV_WRITE_OP 335,12023 -#define NV_READ_OP 336,12062 -#define NV_ERASE_OP 337,12100 -#define NV_MASK_OP 338,12148 -#define NV_DELAY_COUNT 339,12195 -struct nvram nvram344,12286 -#define MAX_CMDSZ 524,16315 -struct cmd_entry cmd_entry525,16366 -#define COMMAND_TYPE 527,16425 -struct cont_entry cont_entry553,17479 -#define CONTINUE_TYPE 555,17539 -struct response response579,18596 -#define STATUS_TYPE 581,18653 -#define RF_CONT 585,18826 -#define RF_FULL 586,18876 -#define RF_BAD_HEADER 587,18917 -#define RF_BAD_PAYLOAD 588,18965 -#define SF_TRANSFER_CMPL 593,19185 -#define SF_GOT_SENSE 594,19242 -#define SF_GOT_STATUS 595,19289 -#define SF_TRANSFERRED_DATA 596,19338 -#define SF_SENT_CDB 597,19396 -#define SF_GOT_TARGET 598,19440 -#define SF_GOT_BUS 599,19476 -struct mrk_entry mrk_entry611,19844 -#define MARKER_TYPE 613,19902 -#define MK_SYNC_ID_LUN 621,20198 -#define MK_SYNC_ID 622,20253 -#define MK_SYNC_ALL 623,20304 -struct ecmd_entry ecmd_entry632,20487 -#define EXTENDED_CMD_TYPE 634,20546 -#define COMMAND_A64_TYPE 654,21221 -} cmd_a64_entry_t, request_t;request_t672,22022 -struct cont_a64_entry cont_a64_entry677,22135 -#define CONTINUE_A64_TYPE 679,22198 -struct elun_entry elun_entry698,23015 -#define ENABLE_LUN_TYPE 700,23074 -struct modify_lun_entry modify_lun_entry726,23878 -#define MODIFY_LUN_TYPE 728,23943 -struct notify_entry notify_entry751,24598 -#define IMMED_NOTIFY_TYPE 753,24659 -struct nack_entry nack_entry777,25329 -#define NOTIFY_ACK_TYPE 779,25388 -struct atio_entry atio_entry798,25833 -#define ACCEPT_TGT_IO_TYPE 800,25892 -struct ctio_entry ctio_entry821,26457 -#define CONTINUE_TGT_IO_TYPE 823,26516 -struct ctio_ret_entry ctio_ret_entry854,27625 -#define CTIO_RET_TYPE 856,27688 -struct ctio_a64_entry ctio_a64_entry884,28599 -#define CTIO_A64_TYPE 886,28662 -struct ctio_a64_ret_entry ctio_a64_ret_entry914,29581 -#define CTIO_A64_RET_TYPE 916,29648 -#define RESPONSE_ENTRY_SIZE 941,30368 -#define REQUEST_ENTRY_SIZE 942,30422 -#define CS_COMPLETE 947,30530 -#define CS_INCOMPLETE 948,30578 -#define CS_DMA 949,30644 -#define CS_TRANSPORT 950,30705 -#define CS_RESET 951,30760 -#define CS_ABORTED 952,30822 -#define CS_TIMEOUT 953,30884 -#define CS_DATA_OVERRUN 954,30937 -#define CS_COMMAND_OVERRUN 955,30989 -#define CS_STATUS_OVERRUN 956,31044 -#define CS_BAD_MSG 957,31098 -#define CS_NO_MSG_OUT 958,31164 -#define CS_EXTENDED_ID 959,31230 -#define CS_IDE_MSG 960,31288 -#define CS_ABORT_MSG 961,31351 -#define CS_REJECT_MSG 962,31416 -#define CS_NOP_MSG 963,31482 -#define CS_PARITY_MSG 964,31546 -#define CS_DEV_RESET_MSG 965,31613 -#define CS_ID_MSG 966,31681 -#define CS_FREE 967,31744 -#define CS_DATA_UNDERRUN 968,31804 -#define CS_TRANACTION_1 969,31858 -#define CS_TRANACTION_2 970,31917 -#define CS_TRANACTION_3 971,31976 -#define CS_INV_ENTRY_TYPE 972,32035 -#define CS_DEV_QUEUE_FULL 973,32093 -#define CS_PHASED_SKIPPED 974,32150 -#define CS_ARS_FAILED 975,32208 -#define CS_LVD_BUS_ERROR 976,32258 -#define CS_BAD_PAYLOAD 977,32311 -#define CS_UNKNOWN 978,32365 -#define CS_RETRY 979,32419 -#define SS_CHECK_CONDITION 984,32537 -#define SS_CONDITION_MET 985,32571 -#define SS_BUSY_CONDITION 986,32605 -#define SS_RESERVE_CONFLICT 987,32639 -#define OF_ENABLE_TAG 992,32745 -#define OF_DATA_IN 993,32812 -#define OF_DATA_OUT 995,32917 -#define OF_NO_DATA 997,33025 -#define OF_DISC_DISABLED 998,33069 -#define OF_DISABLE_SDP 999,33131 -#define OF_SEND_RDP 1000,33202 -#define OF_FORCE_DISC 1001,33274 -#define OF_SSTS 1002,33337 -struct bus_param bus_param1008,33450 -struct qla_driver_setup qla_driver_setup1023,33990 -struct scsi_qla_host scsi_qla_host1037,34206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mvme147.c,347 -#define HDATA(HDATA20,364 -static struct Scsi_Host *mvme147_host 22,431 -static irqreturn_t mvme147_intr 24,478 -static int dma_setup 33,713 -static void dma_stop 61,1348 -int mvme147_detect(67,1470 -static int mvme147_bus_reset(116,2993 -#define HOSTS_C123,3126 -static Scsi_Host_Template driver_template 127,3165 -int mvme147_release(146,3665 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/in2000.h,6598 -#define IN2000_H24,793 -#define PROC_INTERFACE 28,832 -#define PROC_STATISTICS 30,933 -#define SYNC_DEBUG 33,1019 -#define DEBUGGING_ON 34,1091 -#define DEBUG_DEFAULTS 35,1162 -#define FAST_READ_IO 38,1255 -#define FAST_WRITE_IO39,1325 -#define DB(DB43,1375 -#define CHECK_NULL(CHECK_NULL44,1420 -#define DB(DB46,1515 -#define CHECK_NULL(CHECK_NULL47,1531 -#define uchar 50,1563 -#define read1_io(read1_io52,1592 -#define read2_io(read2_io53,1645 -#define write1_io(write1_io54,1698 -#define write2_io(write2_io55,1756 -#define FAST_READ2_IO(FAST_READ2_IO67,2206 -#define FAST_WRITE2_IO(FAST_WRITE2_IO82,2635 -#define IO_WD_ASR 99,3099 -#define ASR_INT 100,3159 -#define ASR_LCI 101,3191 -#define ASR_BSY 102,3223 -#define ASR_CIP 103,3255 -#define ASR_PE 104,3287 -#define ASR_DBR 105,3319 -#define IO_WD_ADDR 106,3351 -#define IO_WD_DATA 107,3411 -#define IO_FIFO 108,3474 -#define IN2000_FIFO_SIZE 109,3551 -#define IO_CARD_RESET 110,3616 -#define IO_FIFO_COUNT 111,3685 -#define IO_FIFO_WRITE 112,3748 -#define IO_FIFO_READ 113,3823 -#define IO_LED_OFF 114,3882 -#define IO_SWITCHES 115,3954 -#define SW_ADDR0 116,4020 -#define SW_ADDR1 117,4096 -#define SW_DISINT 118,4169 -#define SW_INT0 119,4239 -#define SW_INT1 120,4317 -#define SW_INT_SHIFT 121,4395 -#define SW_SYNC_DOS5 122,4487 -#define SW_FLOPPY 123,4555 -#define SW_BIT7 124,4626 -#define IO_LED_ON 125,4698 -#define IO_HARDWARE 126,4769 -#define IO_INTR_MASK 127,4849 -#define IMASK_WD 128,4918 -#define IMASK_FIFO 129,4983 -#define WD_OWN_ID 132,5070 -#define WD_CONTROL 133,5096 -#define WD_TIMEOUT_PERIOD 134,5122 -#define WD_CDB_1 135,5154 -#define WD_CDB_2 136,5180 -#define WD_CDB_3 137,5206 -#define WD_CDB_4 138,5232 -#define WD_CDB_5 139,5258 -#define WD_CDB_6 140,5284 -#define WD_CDB_7 141,5310 -#define WD_CDB_8 142,5336 -#define WD_CDB_9 143,5362 -#define WD_CDB_10 144,5388 -#define WD_CDB_11 145,5414 -#define WD_CDB_12 146,5440 -#define WD_TARGET_LUN 147,5466 -#define WD_COMMAND_PHASE 148,5498 -#define WD_SYNCHRONOUS_TRANSFER 149,5530 -#define WD_TRANSFER_COUNT_MSB 150,5568 -#define WD_TRANSFER_COUNT 151,5603 -#define WD_TRANSFER_COUNT_LSB 152,5635 -#define WD_DESTINATION_ID 153,5670 -#define WD_SOURCE_ID 154,5702 -#define WD_SCSI_STATUS 155,5731 -#define WD_COMMAND 156,5763 -#define WD_DATA 157,5792 -#define WD_QUEUE_TAG 158,5818 -#define WD_AUXILIARY_STATUS 159,5847 -#define WD_CMD_RESET 162,5901 -#define WD_CMD_ABORT 163,5930 -#define WD_CMD_ASSERT_ATN 164,5959 -#define WD_CMD_NEGATE_ACK 165,5991 -#define WD_CMD_DISCONNECT 166,6023 -#define WD_CMD_RESELECT 167,6055 -#define WD_CMD_SEL_ATN 168,6087 -#define WD_CMD_SEL 169,6119 -#define WD_CMD_SEL_ATN_XFER 170,6148 -#define WD_CMD_SEL_XFER 171,6183 -#define WD_CMD_RESEL_RECEIVE 172,6215 -#define WD_CMD_RESEL_SEND 173,6250 -#define WD_CMD_WAIT_SEL_RECEIVE 174,6282 -#define WD_CMD_TRANS_ADDR 175,6319 -#define WD_CMD_TRANS_INFO 176,6351 -#define WD_CMD_TRANSFER_PAD 177,6383 -#define WD_CMD_SBT_MODE 178,6418 -#define PHS_DATA_OUT 181,6473 -#define PHS_DATA_IN 182,6502 -#define PHS_COMMAND 183,6531 -#define PHS_STATUS 184,6560 -#define PHS_MESS_OUT 185,6589 -#define PHS_MESS_IN 186,6618 -#define CSR_RESET 191,6722 -#define CSR_RESET_AF 192,6748 -#define CSR_RESELECT 195,6819 -#define CSR_SELECT 196,6848 -#define CSR_SEL_XFER_DONE 197,6877 -#define CSR_XFER_DONE 198,6909 -#define CSR_MSGIN 201,6979 -#define CSR_SDP 202,7005 -#define CSR_SEL_ABORT 203,7034 -#define CSR_RESEL_ABORT 204,7066 -#define CSR_RESEL_ABORT_AM 205,7098 -#define CSR_ABORT 206,7130 -#define CSR_INVALID 209,7187 -#define CSR_UNEXP_DISC 210,7216 -#define CSR_TIMEOUT 211,7248 -#define CSR_PARITY 212,7277 -#define CSR_PARITY_ATN 213,7306 -#define CSR_BAD_STATUS 214,7338 -#define CSR_UNEXP 215,7370 -#define CSR_RESEL 218,7433 -#define CSR_RESEL_AM 219,7459 -#define CSR_DISC 220,7488 -#define CSR_SRV_REQ 221,7514 -#define OWNID_EAF 224,7578 -#define OWNID_EHP 225,7604 -#define OWNID_RAF 226,7630 -#define OWNID_FS_8 227,7656 -#define OWNID_FS_12 228,7682 -#define OWNID_FS_16 229,7708 -#define CTRL_HSP 232,7761 -#define CTRL_HA 233,7787 -#define CTRL_IDI 234,7813 -#define CTRL_EDI 235,7839 -#define CTRL_HHP 236,7865 -#define CTRL_POLLED 237,7891 -#define CTRL_BURST 238,7917 -#define CTRL_BUS 239,7943 -#define CTRL_DMA 240,7969 -#define TIMEOUT_PERIOD_VALUE 243,8029 -#define STR_FSS 246,8130 -#define DSTID_DPD 249,8190 -#define DATA_OUT_DIR 250,8216 -#define DATA_IN_DIR 251,8239 -#define DSTID_SCC 252,8262 -#define SRCID_MASK 255,8317 -#define SRCID_SIV 256,8343 -#define SRCID_DSP 257,8369 -#define SRCID_ES 258,8395 -#define SRCID_ER 259,8421 -#define ILLEGAL_STATUS_BYTE 263,8450 -#define DEFAULT_SX_PER 266,8487 -#define DEFAULT_SX_OFF 267,8543 -#define OPTIMUM_SX_PER 269,8593 -#define OPTIMUM_SX_OFF 270,8664 -struct sx_period sx_period272,8724 -struct IN2000_hostdata IN2000_hostdata278,8809 -#define C_WD33C93 317,11068 -#define C_WD33C93A 318,11094 -#define C_WD33C93B 319,11120 -#define C_UNKNOWN_CHIP 320,11146 -#define S_UNCONNECTED 324,11210 -#define S_SELECTING 325,11242 -#define S_RUNNING_LEVEL2 326,11274 -#define S_CONNECTED 327,11306 -#define S_PRE_TMP_DISC 328,11338 -#define S_PRE_CMP_DISC 329,11370 -#define FI_FIFO_UNUSED 333,11437 -#define FI_FIFO_READING 334,11469 -#define FI_FIFO_WRITING 335,11501 -#define L2_NONE 343,11716 -#define L2_SELECT 344,11792 -#define L2_BASIC 345,11867 -#define L2_DATA 346,11937 -#define L2_MOST 347,11997 -#define L2_RESELECT 348,12071 -#define L2_ALL 349,12150 -#define DIS_NEVER 353,12235 -#define DIS_ADAPTIVE 354,12258 -#define DIS_ALWAYS 355,12281 -#define DB_TEST 359,12339 -#define DB_FIFO 360,12374 -#define DB_QUEUE_COMMAND 361,12409 -#define DB_EXECUTE 362,12444 -#define DB_INTR 363,12479 -#define DB_TRANSFER 364,12514 -#define DB_MASK 365,12549 -#define A_NO_SCSI_RESET 367,12585 -#define SS_UNSET 372,12664 -#define SS_FIRST 373,12687 -#define SS_WAITING 374,12710 -#define SS_SET 375,12733 -#define PR_VERSION 379,12791 -#define PR_INFO 380,12817 -#define PR_STATISTICS 381,12843 -#define PR_CONNECTED 382,12870 -#define PR_INPUTQ 383,12896 -#define PR_DISCQ 384,12922 -#define PR_TEST 385,12948 -#define PR_STOP 386,12974 -# define in2000__INITFUNC(in2000__INITFUNC391,13056 -# define in2000__INIT 392,13113 -# define in2000__INITDATA 393,13142 -# define CLISPIN_LOCK(CLISPIN_LOCK394,13179 -# define CLISPIN_UNLOCK(CLISPIN_UNLOCK395,13257 -static int in2000_detect(398,13353 -#define IN2000_CAN_Q 409,13803 -#define IN2000_SG 410,13830 -#define IN2000_CPL 411,13861 -#define IN2000_HOST_ID 412,13887 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mesh.h,1583 -#define _MESH_H8,206 -struct mesh_regs mesh_regs14,268 -#define SEQ_DMA_MODE 50,999 -#define SEQ_TARGET 51,1057 -#define SEQ_ATN 52,1123 -#define SEQ_ACTIVE_NEG 53,1169 -#define SEQ_CMD 54,1234 -#define SEQ_ARBITRATE 55,1276 -#define SEQ_SELECT 56,1319 -#define SEQ_COMMAND 57,1363 -#define SEQ_STATUS 58,1407 -#define SEQ_DATAOUT 59,1450 -#define SEQ_DATAIN 60,1489 -#define SEQ_MSGOUT 61,1530 -#define SEQ_MSGIN 62,1573 -#define SEQ_BUSFREE 63,1618 -#define SEQ_ENBPARITY 64,1665 -#define SEQ_DISPARITY 65,1722 -#define SEQ_ENBRESEL 66,1780 -#define SEQ_DISRESEL 67,1832 -#define SEQ_RESETMESH 68,1885 -#define SEQ_FLUSHFIFO 69,1940 -#define BS0_REQ 73,2113 -#define BS0_ACK 74,2135 -#define BS0_ATN 75,2157 -#define BS0_MSG 76,2179 -#define BS0_CD 77,2201 -#define BS0_IO 78,2222 -#define BS1_RST 79,2243 -#define BS1_BSY 80,2265 -#define BS1_SEL 81,2287 -#define BS0_PHASE 84,2362 -#define BP_DATAOUT 85,2404 -#define BP_DATAIN 86,2425 -#define BP_COMMAND 87,2450 -#define BP_STATUS 88,2476 -#define BP_MSGOUT 89,2510 -#define BP_MSGIN 90,2545 -#define EXC_SELWATN 93,2625 -#define EXC_SELECTED 94,2694 -#define EXC_RESELECTED 95,2763 -#define EXC_ARBLOST 96,2831 -#define EXC_PHASEMM 97,2882 -#define EXC_SELTO 98,2933 -#define ERR_UNEXPDISC 101,3014 -#define ERR_SCSIRESET 102,3080 -#define ERR_SEQERR 103,3138 -#define ERR_PARITY 104,3206 -#define INT_ERROR 107,3315 -#define INT_EXCEPTION 108,3360 -#define INT_CMDDONE 109,3413 -#define SYNC_OFF(SYNC_OFF112,3509 -#define SYNC_PER(SYNC_PER113,3559 -#define SYNC_PARAMS(SYNC_PARAMS114,3610 -#define ASYNC_PARAMS 115,3655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/psi_roy.h,6523 -#define ROY_HOST23,800 -#define VENDOR_PSI 28,944 -#define DEVICE_ROY_1 29,972 -#define MAXADAPTER 34,1148 -#define MAX_BUS 35,1243 -#define MAX_UNITS 36,1264 -#define TIMEOUT_COMMAND 37,1287 -#define RTR_MAILBOX 42,1505 -#define RTR_LOCAL_DOORBELL 43,1536 -#define RTR_PCI_DOORBELL 44,1572 -#define CMD_READ_CHS 51,1774 -#define CMD_READ 52,1845 -#define CMD_READ_SG 53,1913 -#define CMD_WRITE_CHS 54,1986 -#define CMD_WRITE 55,2059 -#define CMD_WRITE_SG 56,2129 -#define CMD_READ_CHS_SG 57,2214 -#define CMD_WRITE_CHS_SG 58,2301 -#define CMD_VERIFY_CHS 59,2389 -#define CMD_VERIFY 60,2472 -#define CMD_DASD_CDB 61,2552 -#define CMD_DASD_CDB_SG 62,2616 -#define CMD_READ_ABS 64,2704 -#define CMD_WRITE_ABS 65,2757 -#define CMD_VERIFY_ABS 66,2812 -#define CMD_TEST_READY 67,2869 -#define CMD_LOCK_DOOR 68,2944 -#define CMD_UNLOCK_DOOR 69,2996 -#define CMD_EJECT_MEDIA 70,3052 -#define CMD_UPDATE_CAP 71,3105 -#define CMD_TEST_PRIV 72,3169 -#define CMD_SCSI_THRU 75,3242 -#define CMD_SCSI_THRU_SG 76,3299 -#define CMD_SCSI_REQ_SENSE 77,3378 -#define CMD_DASD_RAID_RQ 79,3472 -#define CMD_DASD_RAID_RQ0 80,3538 -#define CMD_DASD_RAID_RQ1 81,3629 -#define CMD_DASD_RAID_RQ5 82,3720 -#define CMD_DASD_SCSI_INQ 84,3812 -#define CMD_DASD_CAP 85,3892 -#define CMD_DASD_INQ 86,3945 -#define CMD_SCSI_INQ 87,4038 -#define CMD_READ_SETUP 88,4088 -#define CMD_WRITE_SETUP 89,4161 -#define CMD_READ_CONFIG 90,4251 -#define CMD_WRITE_CONFIG 91,4338 -#define CMD_TEXT_DEVICE 93,4435 -#define CMD_TEXT_SIGNON 94,4491 -#define CMD_QUEUE 96,4548 -#define CMD_PREFETCH 98,4643 -#define CMD_TEST_WRITE 99,4707 -#define CMD_LAST_STATUS 100,4775 -#define CMD_ABORT 101,4850 -#define CMD_ERROR 102,4909 -#define CMD_DONE 103,4975 -#define CMD_DIAGNOSTICS 104,5026 -#define CMD_FEATURE_MODE 105,5115 -#define CMD_DASD_INQUIRE 106,5178 -#define CMD_FEATURE_QUERY 107,5260 -#define CMD_DASD_EJECT 108,5329 -#define CMD_DASD_LOCK 109,5401 -#define CMD_DASD_TYPE 110,5471 -#define CMD_NUM_DEV 111,5530 -#define CMD_GET_PARMS 112,5621 -#define CMD_SPECIFY 113,5681 -#define CMD_RAID_GET_DEV 115,5771 -#define CMD_RAID_READ 116,5834 -#define CMD_RAID_WRITE 117,5897 -#define CMD_RAID_LITEUP 118,5962 -#define CMD_RAID_REBUILD 119,6043 -#define CMD_RAID_MUTE 120,6108 -#define CMD_RAID_FAIL 121,6167 -#define CMD_RAID_STATUS 122,6224 -#define CMD_RAID_STOP 123,6285 -#define CMD_RAID_START 124,6353 -#define CMD_RAID0_READ 125,6407 -#define CMD_RAID0_WRITE 126,6471 -#define CMD_RAID5_READ 127,6537 -#define CMD_RAID5_WRITE 128,6601 -#define CMD_ERASE_TABLES 130,6668 -#define CMD_SCSI_GET 132,6750 -#define CMD_SCSI_TIMEOUT 133,6814 -#define CMD_SCSI_ERROR 134,6881 -#define CMD_GET_SPARMS 135,6984 -#define CMD_SCSI_ABORT 136,7048 -#define CMD_CHIRP_CHIRP 138,7119 -#define CMD_GET_LAST_DONE 139,7181 -#define CMD_GET_FEATURES 140,7252 -#define CMD_CLEAR_CACHE 141,7314 -#define CMD_BIOS_TEST 142,7383 -#define CMD_WAIT_FLUSH 143,7451 -#define CMD_RESET_BUS 144,7536 -#define CMD_STARTUP_QRY 145,7590 -#define CMD_RESET 146,7653 -#define CMD_RESTART_RESET 148,7707 -#define CMD_SOFT_RESET 149,7799 -#define ERR08_TAGGED 156,8024 -#define ERR16_NONE 158,8088 -#define ERR16_SC_COND_MET 159,8133 -#define ERR16_CMD 160,8201 -#define ERR16_SC_CHECK_COND 161,8249 -#define ERR16_CMD_NOT 162,8321 -#define ERR16_NO_DEVICE 163,8380 -#define ERR16_SECTOR 164,8447 -#define ERR16_PROTECT 165,8494 -#define ERR16_NOSECTOR 166,8547 -#define ERR16_MEDIA 167,8602 -#define ERR16_CONTROL 168,8652 -#define ERR16_CONTROL_DMA 169,8706 -#define ERR16_NO_ALARM 170,8774 -#define ERR16_OP_BUSY 171,8832 -#define ERR16_SEEK 172,8884 -#define ERR16_DEVICE_FAIL 173,8932 -#define ERR16_TIMEOUT 174,8990 -#define ERR16_DEV_NOT_READY 175,9041 -#define ERR16_UNDEFINED 176,9099 -#define ERR16_WRITE_FAULT 177,9154 -#define ERR16_INVALID_DEV 178,9206 -#define ERR16_DEVICE_BUSY 179,9268 -#define ERR16_MEMORY 180,9323 -#define ERR16_NO_FEATURE 181,9401 -#define ERR16_NOTAG 182,9463 -#define ERR16_NOT_READY 183,9522 -#define ERR16_SETUP_FLASH 184,9588 -#define ERR16_SETUP_SIZE 185,9669 -#define ERR16_SENSE 186,9731 -#define ERR16_SC_BUSY 187,9792 -#define ERR16_SC_RES_CONFL 188,9848 -#define ERR16_SC_CMD_TERM 189,9924 -#define ERR16_SC_OTHER 190,9997 -#define ERR16_MEDIA_CHANGED 191,10083 -#define ERR32_NONE 193,10157 -#define ERR32_SC_COND_MET 194,10205 -#define ERR32_CMD 195,10276 -#define ERR32_SC_CHECK_COND 196,10327 -#define ERR32_CMD_NOT 197,10402 -#define ERR32_NO_DEVICE 198,10464 -#define ERR32_SECTOR 199,10534 -#define ERR32_PROTECT 200,10584 -#define ERR32_NOSECTOR 201,10640 -#define ERR32_MEDIA 202,10698 -#define ERR32_CONTROL 203,10751 -#define ERR32_CONTROL_DMA 204,10808 -#define ERR32_NO_ALARM 205,10872 -#define ERR32_OP_BUSY 206,10934 -#define ERR32_SEEK 207,10989 -#define ERR32_DEVICE_FAIL 208,11040 -#define ERR32_TIMEOUT 209,11101 -#define ERR32_DEV_NOT_READY 210,11155 -#define ERR32_UNDEFINED 211,11216 -#define ERR32_WRITE_FAULT 212,11274 -#define ERR32_INVALID_DEV 213,11329 -#define ERR32_DEVICE_BUSY 214,11394 -#define ERR32_MEMORY 215,11452 -#define ERR32_NO_FEATURE 216,11533 -#define ERR32_NOTAG 217,11598 -#define ERR32_NOT_READY 218,11660 -#define ERR32_SETUP_FLASH 219,11729 -#define ERR32_SETUP_SIZE 220,11813 -#define ERR32_SENSE 221,11878 -#define ERR32_SC_BUSY 222,11942 -#define ERR32_SC_RES_CONFL 223,12001 -#define ERR32_SC_CMD_TERM 224,12080 -#define ERR32_SC_OTHER 225,12156 -#define ERR32_MEDIA_CHANGED 226,12245 -#define SPEC_INTERRUPT 233,12506 -#define SPEC_BACKWARD_SG 234,12580 -#define SPEC_DOS_BLOCK 235,12670 -#define SPEC_OS2_V3 236,12740 -#define SPCE_SCO_3242 237,12784 -#define SPEC_QNX_4X 238,12831 -#define SPEC_NOVELL_NWPA 239,12874 -typedef struct _CNT_SCSI_INQ_CNT_SCSI_INQ246,13114 - } CNT_SCSI_INQ;CNT_SCSI_INQ259,13618 -typedef struct _CNT_IDE_INQ_CNT_IDE_INQ261,13636 - } CNT_IDE_INQ;CNT_IDE_INQ291,14715 -typedef struct _DASD_INQUIRE_DASD_INQUIRE293,14732 - } DASD_INQUIRE;DASD_INQUIRE301,14918 -#define DEVC_DASD 308,15098 -#define DEVC_SEQACESS 309,15159 -#define DEVC_PRINTER 310,15219 -#define DEVC_PROCESSOR 311,15268 -#define DEVC_WRITEONCE 312,15321 -#define DEVC_CDROM 313,15375 -#define DEVC_SCANNER 314,15422 -#define DEVC_OPTICAL 315,15471 -#define DEVC_MEDCHGR 316,15527 -#define DEVC_DASD_REMOVABLE 317,15583 -#define DEVC_NONE 318,15663 -#define SC_MY_RAID 321,15732 -#define MY_SCSI_QUERY0 322,15815 -#define MY_SCSI_QUERY1 323,15908 -#define MY_SCSI_QUERY5 324,16001 -#define MY_SCSI_REBUILD 325,16094 -#define MY_SCSI_DEMOFAIL 326,16178 -#define MY_SCSI_ALARMMUTE 327,16262 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aha152x.h,6105 -#define _AHA152X_H2,19 -#define AHA152X_MAXQUEUE 10,202 -#define AHA152X_REVID 12,230 -#define SCSISEQ 15,319 -#define SXFRCTL0 16,390 -#define SXFRCTL1 17,463 -#define SCSISIG 18,536 -#define SCSIRATE 19,604 -#define SELID 20,671 -#define SCSIID 21,745 -#define SCSIDAT 22,802 -#define SCSIBUS 23,869 -#define STCNT0 24,932 -#define STCNT1 25,1003 -#define STCNT2 26,1074 -#define SSTAT0 27,1145 -#define SSTAT1 28,1218 -#define SSTAT2 29,1291 -#define SCSITEST 30,1364 -#define SSTAT3 31,1431 -#define SSTAT4 32,1504 -#define SIMODE0 33,1567 -#define SIMODE1 34,1638 -#define DMACNTRL0 35,1709 -#define DMACNTRL1 36,1772 -#define DMASTAT 37,1835 -#define FIFOSTAT 38,1895 -#define DATAPORT 39,1956 -#define BRSTCNTRL 40,2015 -#define PORTA 41,2078 -#define PORTB 42,2134 -#define REV 43,2190 -#define STACK 44,2248 -#define TEST 45,2303 -#define IO_RANGE 47,2367 -#define O_PORTA 50,2428 -#define O_PORTB 51,2484 -#define O_DMACNTRL1 52,2540 -#define O_STACK 53,2603 -#define O_TC_PORTA 56,2689 -#define O_TC_PORTB 57,2745 -#define O_TC_DMACNTRL1 58,2801 -#define O_TC_STACK 59,2864 -#define TEMODEO 64,2982 -#define ENSELO 65,3008 -#define ENSELI 66,3034 -#define ENRESELI 67,3060 -#define ENAUTOATNO 68,3086 -#define ENAUTOATNI 69,3112 -#define ENAUTOATNP 70,3138 -#define SCSIRSTO 71,3164 -#define SCSIEN 74,3221 -#define DMAEN 75,3247 -#define CH1 76,3273 -#define CLRSTCNT 77,3299 -#define SPIOEN 78,3325 -#define CLRCH1 79,3351 -#define BITBUCKET 82,3408 -#define SWRAPEN 83,3434 -#define ENSPCHK 84,3460 -#define STIMESEL 85,3486 -#define STIMESEL_ 86,3526 -#define ENSTIMER 87,3549 -#define BYTEALIGN 88,3575 -#define SIG_CDI 91,3623 -#define SIG_IOI 92,3653 -#define SIG_MSGI 93,3683 -#define SIG_ATNI 94,3713 -#define SIG_SELI 95,3743 -#define SIG_BSYI 96,3773 -#define SIG_REQI 97,3803 -#define SIG_ACKI 98,3833 -#define P_MASK 101,3882 -#define P_DATAO 102,3930 -#define P_DATAI 103,3955 -#define P_CMD 104,3986 -#define P_STATUS 105,4017 -#define P_MSGO 106,4056 -#define P_MSGI 107,4096 -#define SIG_CDO 110,4167 -#define SIG_IOO 111,4197 -#define SIG_MSGO 112,4227 -#define SIG_ATNO 113,4257 -#define SIG_SELO 114,4287 -#define SIG_BSYO 115,4317 -#define SIG_REQO 116,4347 -#define SIG_ACKO 117,4377 -#define SXFR 120,4432 -#define SXFR_ 121,4472 -#define SOFS 122,4495 -#define OID 125,4550 -#define OID_ 126,4576 -#define TID 127,4599 -#define GETSTCNT(GETSTCNT130,4652 -#define SETSTCNT(SETSTCNT134,4782 -#define TARGET 139,5001 -#define SELDO 140,5027 -#define SELDI 141,5053 -#define SELINGO 142,5079 -#define SWRAP 143,5105 -#define SDONE 144,5131 -#define SPIORDY 145,5157 -#define DMADONE 146,5183 -#define SETSDONE 148,5210 -#define CLRSELDO 149,5236 -#define CLRSELDI 150,5262 -#define CLRSELINGO 151,5288 -#define CLRSWRAP 152,5314 -#define CLRSDONE 153,5340 -#define CLRSPIORDY 154,5366 -#define CLRDMADONE 155,5392 -#define SELTO 158,5439 -#define ATNTARG 159,5465 -#define SCSIRSTI 160,5491 -#define PHASEMIS 161,5517 -#define BUSFREE 162,5543 -#define SCSIPERR 163,5569 -#define PHASECHG 164,5595 -#define REQINIT 165,5621 -#define CLRSELTIMO 167,5648 -#define CLRATNO 168,5674 -#define CLRSCSIRSTI 169,5700 -#define CLRBUSFREE 170,5726 -#define CLRSCSIPERR 171,5752 -#define CLRPHASECHG 172,5778 -#define CLRREQINIT 173,5804 -#define SOFFSET 176,5851 -#define SEMPTY 177,5877 -#define SFULL 178,5903 -#define SFCNT 179,5929 -#define SCSICNT 182,5990 -#define SCSICNT_ 183,6030 -#define OFFCNT 184,6053 -#define SCTESTU 187,6118 -#define SCTESTD 188,6144 -#define STCTEST 189,6170 -#define SYNCERR 192,6217 -#define FWERR 193,6243 -#define FRERR 194,6269 -#define CLRSYNCERR 196,6296 -#define CLRFWERR 197,6322 -#define CLRFRERR 198,6348 -#define ENSELDO 201,6403 -#define ENSELDI 202,6429 -#define ENSELINGO 203,6455 -#define ENSWRAP 204,6481 -#define ENSDONE 205,6507 -#define ENSPIORDY 206,6533 -#define ENDMADONE 207,6559 -#define ENSELTIMO 210,6614 -#define ENATNTARG 211,6640 -#define ENSCSIRST 212,6666 -#define ENPHASEMIS 213,6692 -#define ENBUSFREE 214,6718 -#define ENSCSIPERR 215,6744 -#define ENPHASECHG 216,6770 -#define ENREQINIT 217,6796 -#define ENDMA 220,6843 -#define _8BIT 221,6869 -#define DMA 222,6895 -#define WRITE_READ 223,6921 -#define INTEN 224,6947 -#define RSTFIFO 225,6973 -#define SWINT 226,6999 -#define PWRDWN 229,7046 -#define STK 230,7072 -#define ATDONE 233,7130 -#define WORDRDY 234,7156 -#define INTSTAT 235,7182 -#define DFIFOFULL 236,7208 -#define DFIFOEMP 237,7234 -#define BON 240,7281 -#define BOFF 241,7307 -#define BOFFTMR 244,7354 -#define BONTMR 245,7380 -#define STCNTH 246,7406 -#define STCNTM 247,7432 -#define STCNTL 248,7458 -#define SCSIBLK 249,7484 -#define DMABLK 250,7510 -} aha152x_config aha152x_config273,8521 -#define cf_parity 275,8541 -#define cf_dmachan 276,8577 -#define cf_irq 277,8614 -#define cf_id 278,8647 -#define cf_dma 279,8679 -#define cf_boot 280,8712 -#define cf_msgclasses 281,8746 -#define cf_syncneg 282,8786 -#define cf_tardisc 283,8823 -#define cf_port 284,8860 -#define SETPORT(SETPORT288,8942 -#define GETPORT(GETPORT289,8991 -#define SETBITS(SETBITS290,9026 -#define CLRBITS(CLRBITS291,9091 -#define TESTHI(TESTHI292,9157 -#define TESTLO(TESTLO293,9217 -#define SETRATE(SETRATE295,9273 - debug_procinfo 299,9363 - debug_procinfo = 0x0001,299,9363 - debug_queue 300,9391 - debug_queue = 0x0002,300,9391 - debug_locks 301,9419 - debug_locks = 0x0004,301,9419 - debug_intr 302,9447 - debug_intr = 0x0008,302,9447 - debug_selection 303,9475 - debug_selection = 0x0010,303,9475 - debug_msgo 304,9503 - debug_msgo = 0x0020,304,9503 - debug_msgi 305,9531 - debug_msgi = 0x0040,305,9531 - debug_status 306,9559 - debug_status = 0x0080,306,9559 - debug_cmd 307,9587 - debug_cmd = 0x0100,307,9587 - debug_datai 308,9615 - debug_datai = 0x0200,308,9615 - debug_datao 309,9643 - debug_datao = 0x0400,309,9643 - debug_eh 310,9671 - debug_eh = 0x0800,310,9671 - debug_done 311,9694 - debug_done = 0x1000,311,9694 - debug_phases 312,9722 - debug_phases = 0x2000,312,9722 -struct aha152x_setup aha152x_setup317,9787 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/atp870u.c,914 -static struct scsi_host_template atp870u_template;40,1046 -static irqreturn_t atp870u_intr_handle(44,1146 -static int atp870u_queuecommand(464,10945 -static void send_s870(539,12351 -static unsigned char fun_scam(805,18820 -static void tscam(846,19852 -void is870(1088,24516 -static void is880(1579,34433 -static void atp870u_free_tables(2227,47258 -static int atp870u_init_tables(2241,47607 -static int atp870u_probe(2276,48398 -static int atp870u_abort(2566,55636 -static const char *atp870u_info(2605,56777 -#define BLS 2614,56978 -static int atp870u_proc_info(2615,57010 -static int atp870u_biosparam(2649,57860 -static void atp870u_remove(2670,58280 -static struct scsi_host_template atp870u_template 2685,58649 -static struct pci_device_id atp870u_id_table[2701,59095 -static struct pci_driver atp870u_driver 2715,59740 -static int __init atp870u_init(2722,59908 -static void __exit atp870u_exit(2727,59992 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicisp.c,9049 -#define RELOAD_FIRMWARE 48,1631 -#define USE_NVRAM_DEFAULTS 54,1847 -#define DEBUG_ISP1020 58,1911 -#define DEBUG_ISP1020_INTR 59,1936 -#define DEBUG_ISP1020_SETUP 60,1965 -#define TRACE_ISP 61,1995 -#define DEFAULT_LOOP_COUNT 63,2017 -# define TRACE_BUF_LEN 71,2176 -} trace;81,2331 -#define TRACE(TRACE83,2341 -# define TRACE(TRACE95,2655 -#define ENTER(ENTER99,2705 -#define LEAVE(LEAVE100,2762 -#define DEBUG(DEBUG101,2818 -#define ENTER(ENTER103,2843 -#define LEAVE(LEAVE104,2860 -#define DEBUG(DEBUG105,2877 -#define ENTER_INTR(ENTER_INTR109,2945 -#define LEAVE_INTR(LEAVE_INTR110,3007 -#define DEBUG_INTR(DEBUG_INTR111,3068 -#define ENTER_INTR(ENTER_INTR113,3098 -#define LEAVE_INTR(LEAVE_INTR114,3120 -#define DEBUG_INTR(DEBUG_INTR115,3142 -#define ISP1020_REV_ID 118,3197 -#define MAX_TARGETS 120,3223 -#define MAX_LUNS 121,3246 -#define HOST_HCCR 124,3313 -#define PCI_ID_LOW 127,3402 -#define PCI_ID_HIGH 128,3442 -#define ISP_CFG0 129,3483 -#define ISP_CFG0_HWMSK 130,3537 -#define ISP_CFG0_1020 131,3598 -#define ISP_CFG0_1020A 132,3643 -#define ISP_CFG0_1040 133,3690 -#define ISP_CFG0_1040A 134,3735 -#define ISP_CFG0_1040B 135,3782 -#define ISP_CFG0_1040C 136,3829 -#define ISP_CFG1 137,3876 -#define ISP_CFG1_F128 138,3930 -#define ISP_CFG1_F64 139,3991 -#define ISP_CFG1_F32 140,4051 -#define ISP_CFG1_F16 141,4111 -#define ISP_CFG1_BENAB 142,4171 -#define ISP_CFG1_SXP 143,4233 -#define PCI_INTF_CTL 144,4289 -#define PCI_INTF_STS 145,4343 -#define PCI_SEMAPHORE 146,4396 -#define PCI_NVRAM 147,4443 -#define CDMA_CONF 148,4492 -#define DDMA_CONF 149,4540 -#define DMA_CONF_SENAB 150,4585 -#define DMA_CONF_RIRQ 151,4646 -#define DMA_CONF_BENAB 152,4705 -#define DMA_CONF_DIR 153,4760 -#define MBOX0 156,4863 -#define MBOX1 157,4899 -#define MBOX2 158,4935 -#define MBOX3 159,4971 -#define MBOX4 160,5007 -#define MBOX5 161,5043 -#define MBOX6 162,5079 -#define MBOX7 163,5127 -#define MBOX_COMMAND_COMPLETE 166,5220 -#define INVALID_COMMAND 167,5258 -#define HOST_INTERFACE_ERROR 168,5291 -#define TEST_FAILED 169,5328 -#define COMMAND_ERROR 170,5357 -#define COMMAND_PARAM_ERROR 171,5388 -#define ASYNC_SCSI_BUS_RESET 174,5456 -#define SYSTEM_ERROR 175,5493 -#define REQUEST_TRANSFER_ERROR 176,5523 -#define RESPONSE_TRANSFER_ERROR 177,5562 -#define REQUEST_QUEUE_WAKEUP 178,5602 -#define EXECUTION_TIMEOUT_RESET 179,5639 -#define IOCB_SEGS 182,5705 -#define CONTINUATION_SEGS 183,5747 -#define MAX_CONTINUATION_ENTRIES 184,5789 -#define IOCB_SEGS 186,5839 -#define CONTINUATION_SEGS 187,5881 -struct Entry_header Entry_header190,5955 -#define ENTRY_COMMAND 199,6112 -#define ENTRY_CONTINUATION 200,6146 -#define ENTRY_COMMAND 202,6188 -#define ENTRY_CONTINUATION 203,6213 -#define ENTRY_STATUS 206,6274 -#define ENTRY_MARKER 207,6298 -#define ENTRY_EXTENDED_COMMAND 208,6322 -#define EFLAG_CONTINUATION 211,6392 -#define EFLAG_BUSY 212,6421 -#define EFLAG_BAD_HEADER 213,6443 -#define EFLAG_BAD_PAYLOAD 214,6470 -struct dataseg dataseg216,6499 -struct Command_Entry Command_Entry224,6623 -#define CFLAG_NODISC 243,7044 -#define CFLAG_HEAD_TAG 244,7071 -#define CFLAG_ORDERED_TAG 245,7100 -#define CFLAG_SIMPLE_TAG 246,7131 -#define CFLAG_TAR_RTN 247,7161 -#define CFLAG_READ 248,7189 -#define CFLAG_WRITE 249,7214 -struct Ext_Command_Entry Ext_Command_Entry251,7241 -struct Continuation_Entry Continuation_Entry264,7488 -struct Marker_Entry Marker_Entry272,7643 -#define SYNC_DEVICE 283,7854 -#define SYNC_TARGET 284,7876 -#define SYNC_ALL 285,7898 -struct Status_Entry Status_Entry287,7918 -#define CS_COMPLETE 302,8250 -#define CS_INCOMPLETE 303,8279 -#define CS_DMA_ERROR 304,8310 -#define CS_TRANSPORT_ERROR 305,8340 -#define CS_RESET_OCCURRED 306,8375 -#define CS_ABORTED 307,8409 -#define CS_TIMEOUT 308,8437 -#define CS_DATA_OVERRUN 309,8465 -#define CS_COMMAND_OVERRUN 310,8498 -#define CS_STATUS_OVERRUN 311,8533 -#define CS_BAD_MESSAGE 312,8567 -#define CS_NO_MESSAGE_OUT 313,8599 -#define CS_EXT_ID_FAILED 314,8633 -#define CS_IDE_MSG_FAILED 315,8666 -#define CS_ABORT_MSG_FAILED 316,8700 -#define CS_REJECT_MSG_FAILED 317,8736 -#define CS_NOP_MSG_FAILED 318,8773 -#define CS_PARITY_ERROR_MSG_FAILED 319,8807 -#define CS_DEVICE_RESET_MSG_FAILED 320,8849 -#define CS_ID_MSG_FAILED 321,8891 -#define CS_UNEXP_BUS_FREE 322,8924 -#define CS_DATA_UNDERRUN 323,8958 -#define SF_GOT_BUS 326,9034 -#define SF_GOT_TARGET 327,9062 -#define SF_SENT_CDB 328,9093 -#define SF_TRANSFERRED_DATA 329,9122 -#define SF_GOT_STATUS 330,9158 -#define SF_GOT_SENSE 331,9189 -#define STF_DISCONNECT 334,9263 -#define STF_SYNCHRONOUS 335,9295 -#define STF_PARITY_ERROR 336,9328 -#define STF_BUS_RESET 337,9361 -#define STF_DEVICE_RESET 338,9392 -#define STF_ABORTED 339,9425 -#define STF_TIMEOUT 340,9454 -#define STF_NEGOTIATION 341,9483 -#define ISP_RESET 344,9550 -#define ISP_EN_INT 345,9577 -#define ISP_EN_RISC 346,9605 -#define HCCR_NOP 349,9663 -#define HCCR_RESET 350,9689 -#define HCCR_PAUSE 351,9717 -#define HCCR_RELEASE 352,9745 -#define HCCR_SINGLE_STEP 353,9775 -#define HCCR_SET_HOST_INTR 354,9808 -#define HCCR_CLEAR_HOST_INTR 355,9843 -#define HCCR_CLEAR_RISC_INTR 356,9880 -#define HCCR_BP_ENABLE 357,9917 -#define HCCR_BIOS_DISABLE 358,9949 -#define HCCR_TEST_MODE 359,9983 -#define RISC_BUSY 361,10016 -#define MBOX_NO_OP 364,10067 -#define MBOX_LOAD_RAM 365,10095 -#define MBOX_EXEC_FIRMWARE 366,10126 -#define MBOX_DUMP_RAM 367,10161 -#define MBOX_WRITE_RAM_WORD 368,10192 -#define MBOX_READ_RAM_WORD 369,10228 -#define MBOX_MAILBOX_REG_TEST 370,10263 -#define MBOX_VERIFY_CHECKSUM 371,10301 -#define MBOX_ABOUT_FIRMWARE 372,10338 -#define MBOX_CHECK_FIRMWARE 373,10374 -#define MBOX_INIT_REQ_QUEUE 374,10410 -#define MBOX_INIT_RES_QUEUE 375,10446 -#define MBOX_EXECUTE_IOCB 376,10482 -#define MBOX_WAKE_UP 377,10516 -#define MBOX_STOP_FIRMWARE 378,10546 -#define MBOX_ABORT 379,10581 -#define MBOX_ABORT_DEVICE 380,10609 -#define MBOX_ABORT_TARGET 381,10643 -#define MBOX_BUS_RESET 382,10677 -#define MBOX_STOP_QUEUE 383,10709 -#define MBOX_START_QUEUE 384,10742 -#define MBOX_SINGLE_STEP_QUEUE 385,10775 -#define MBOX_ABORT_QUEUE 386,10814 -#define MBOX_GET_DEV_QUEUE_STATUS 387,10847 -#define MBOX_GET_FIRMWARE_STATUS 388,10888 -#define MBOX_GET_INIT_SCSI_ID 389,10928 -#define MBOX_GET_SELECT_TIMEOUT 390,10966 -#define MBOX_GET_RETRY_COUNT 391,11006 -#define MBOX_GET_TAG_AGE_LIMIT 392,11043 -#define MBOX_GET_CLOCK_RATE 393,11082 -#define MBOX_GET_ACT_NEG_STATE 394,11118 -#define MBOX_GET_ASYNC_DATA_SETUP_TIME 395,11157 -#define MBOX_GET_PCI_PARAMS 396,11203 -#define MBOX_GET_TARGET_PARAMS 397,11239 -#define MBOX_GET_DEV_QUEUE_PARAMS 398,11278 -#define MBOX_SET_INIT_SCSI_ID 399,11319 -#define MBOX_SET_SELECT_TIMEOUT 400,11357 -#define MBOX_SET_RETRY_COUNT 401,11397 -#define MBOX_SET_TAG_AGE_LIMIT 402,11434 -#define MBOX_SET_CLOCK_RATE 403,11473 -#define MBOX_SET_ACTIVE_NEG_STATE 404,11509 -#define MBOX_SET_ASYNC_DATA_SETUP_TIME 405,11550 -#define MBOX_SET_PCI_CONTROL_PARAMS 406,11596 -#define MBOX_SET_TARGET_PARAMS 407,11639 -#define MBOX_SET_DEV_QUEUE_PARAMS 408,11678 -#define MBOX_RETURN_BIOS_BLOCK_ADDR 409,11719 -#define MBOX_WRITE_FOUR_RAM_WORDS 410,11762 -#define MBOX_EXEC_BIOS_IOCB 411,11803 -#define MBOX_CMD_INIT_REQUEST_QUEUE_64 414,11865 -#define MBOX_CMD_INIT_RESPONSE_QUEUE_64 415,11916 -#define PACKB(PACKB420,12027 -static const u_char mbox_param[422,12065 -#define MAX_MBOX_COMMAND 511,15167 -struct host_param host_param513,15230 -struct dev_param dev_param545,15956 -#define RES_QUEUE_LEN 558,16254 -#define QUEUE_ENTRY_LEN 559,16317 -#define QSIZE(QSIZE560,16345 -struct isp_queue_entry isp_queue_entry562,16406 -struct isp1020_hostdata isp1020_hostdata566,16468 -#define QUEUE_DEPTH(QUEUE_DEPTH595,17533 -#define REQ_QUEUE_DEPTH(REQ_QUEUE_DEPTH596,17586 -#define RES_QUEUE_DEPTH(RES_QUEUE_DEPTH598,17684 -static inline u_short isp_inw(628,18834 -static inline void isp_outw(637,19077 -static inline void isp1020_enable_irqs(646,19329 -static inline void isp1020_disable_irqs(652,19453 -int isp1020_detect(658,19559 -int isp1020_release(739,21421 -const char *isp1020_info(760,21774 -int isp1020_queuecommand(786,22495 -#define ASYNC_EVENT_INTERRUPT 961,27304 -irqreturn_t do_isp1020_intr_handler(963,27340 -void isp1020_intr_handler(975,27640 -static int isp1020_return_status(1076,30452 -int isp1020_abort(1164,32820 -int isp1020_reset(1205,33682 -int isp1020_biosparam(1237,34352 -static int isp1020_reset_hardware(1263,34743 -static int isp1020_init(1356,37141 -static int isp1020_get_defaults(1482,40333 -#define ISP1020_NVRAM_LEN 1584,44247 -#define ISP1020_NVRAM_SIG1 1585,44278 -#define ISP1020_NVRAM_SIG2 1586,44312 -static int isp1020_verify_nvram(1588,44347 -#define NVRAM_DELAY(NVRAM_DELAY1615,44856 -u_short isp1020_read_nvram_word(1618,44916 -static int isp1020_set_defaults(1648,45651 -static int isp1020_load_parameters(1685,46802 -static int isp1020_mbox_command(1877,51626 -void isp1020_print_status_entry(1943,53477 -void isp1020_print_scsi_cmd(1967,54435 -static Scsi_Host_Template driver_template 1983,54785 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mac_scsi.c,1402 -#define NDEBUG 60,1039 -#define NDEBUG 62,1155 -#define RESET_BOOT65,1193 -#define DRIVER_SETUP66,1212 -#define ENABLE_IRQ(ENABLE_IRQ68,1234 -#define DISABLE_IRQ(DISABLE_IRQ69,1288 -static int setup_called 77,1466 -static int setup_can_queue 78,1495 -static int setup_cmd_per_lun 79,1528 -static int setup_sg_tablesize 80,1563 -static int setup_use_pdma 81,1599 -static int setup_use_tagged_queuing 83,1651 -static int setup_hostid 85,1700 -#define TOSHIBA_DELAY90,1929 -#define AFTER_RESET_DELAY 93,1973 -#define AFTER_RESET_DELAY 95,2014 -static volatile unsigned char *mac_scsi_regp 98,2055 -static volatile unsigned char *mac_scsi_drq 99,2108 -static volatile unsigned char *mac_scsi_nodrq 100,2161 -#define CTRL(CTRL109,2290 -static char macscsi_read(111,2323 -static void macscsi_write(124,2589 -static __inline__ char macscsi_read(136,2875 -static __inline__ void macscsi_write(141,2998 -static int __init mac_scsi_setup(157,3321 -static struct Scsi_Host *default_instance;221,4772 -int macscsi_detect(236,5123 -int macscsi_release 325,7608 -static void mac_scsi_reset_boot(339,7828 -const char * macscsi_info 378,8874 -#define CP_IO_TO_MEM(CP_IO_TO_MEM393,9396 -static int macscsi_pread 452,11206 -#define CP_MEM_TO_IO(CP_MEM_TO_IO486,11957 -static int macscsi_pwrite 544,13766 -#define AUTOSENSE579,14584 -#define PSEUDO_DMA580,14602 -static Scsi_Host_Template driver_template 584,14644 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/wd7000.c,4570 -#define dprintk 195,7708 -#define dprintk(dprintk197,7737 -#define OGMB_CNT 206,8028 -#define ICMB_CNT 207,8048 -#define MAX_SCBS 216,8402 -#define WD7000_Q 229,8886 -#define WD7000_SG 230,8906 -} Mailbox;240,9088 -typedef struct adapter adapter246,9233 -} Adapter;Adapter261,10009 -static const long wd7000_biosaddr[266,10066 -#define NUM_ADDRS 270,10254 -static const unsigned short wd7000_iobase[272,10312 -#define NUM_IOPORTS 278,10622 -static const short wd7000_irq[280,10690 -#define NUM_IRQS 281,10763 -static const short wd7000_dma[283,10816 -#define NUM_DMAS 284,10863 -#define UNITS 291,11025 -static struct Scsi_Host *wd7000_host[292,11041 -#define BUS_ON 294,11087 -#define BUS_OFF 295,11147 -} Config;Config309,11764 -static Config configs[314,11816 -#define NUM_CONFIGS 320,12116 -typedef struct signature signature327,12369 -} Signature;Signature331,12558 -static const Signature signatures[333,12572 -#define NUM_SIGNATURES 336,12673 -#define ASC_STAT 343,12849 -#define ASC_COMMAND 344,12904 -#define ASC_INTR_STAT 345,12959 -#define ASC_INTR_ACK 346,13014 -#define ASC_CONTROL 347,13069 -#define INT_IM 352,13151 -#define CMD_RDY 353,13209 -#define CMD_REJ 354,13268 -#define ASC_INIT 355,13327 -#define ASC_STATMASK 356,13393 -#define NO_OP 367,13859 -#define INITIALIZATION 368,13932 -#define DISABLE_UNS_INTR 369,14005 -#define ENABLE_UNS_INTR 370,14078 -#define INTR_ON_FREE_OGMB 371,14151 -#define SOFT_RESET 372,14224 -#define HARD_RESET_ACK 373,14297 -#define START_OGMB 374,14370 -#define SCAN_OGMBS 375,14446 -typedef struct initCmd initCmd380,14601 -} InitCmd;InitCmd389,15124 -#define MB_INTR 407,15629 -#define IMB_INTR 408,15694 -#define MB_MASK 409,15759 -#define INT_EN 414,15853 -#define DMA_EN 415,15901 -#define SCSI_RES 416,15949 -#define ASC_RES 417,15997 -typedef struct sgb sgb447,17375 -} Sgb;Sgb450,17463 -typedef struct scb scb452,17471 -} Scb;Scb471,18682 -#define ICB_OP_MASK 484,19220 -#define ICB_OP_OPEN_RBUF 485,19297 -#define ICB_OP_RECV_CMD 486,19374 -#define ICB_OP_RECV_DATA 487,19451 -#define ICB_OP_RECV_SDATA 488,19528 -#define ICB_OP_SEND_DATA 489,19605 -#define ICB_OP_SEND_STAT 490,19682 -#define ICB_OP_READ_INIT 492,19806 -#define ICB_OP_READ_ID 493,19883 -#define ICB_OP_SET_UMASK 494,19960 -#define ICB_OP_GET_UMASK 495,20037 -#define ICB_OP_GET_REVISION 496,20114 -#define ICB_OP_DIAGNOSTICS 497,20191 -#define ICB_OP_SET_EPARMS 498,20268 -#define ICB_OP_GET_EPARMS 499,20345 -typedef struct icbRecvCmd icbRecvCmd501,20423 -} IcbRecvCmd;IcbRecvCmd510,20826 -typedef struct icbSendStat icbSendStat512,20841 -} IcbSendStat;IcbSendStat520,21254 -typedef struct icbRevLvl icbRevLvl522,21270 -} IcbRevLvl;IcbRevLvl530,21704 -typedef struct icbUnsMask icbUnsMask532,21718 -} IcbUnsMask;IcbUnsMask541,22079 -typedef struct icbDiag icbDiag543,22094 -} IcbDiag;IcbDiag552,22507 -#define ICB_DIAG_POWERUP 554,22519 -#define ICB_DIAG_WALKING 555,22580 -#define ICB_DIAG_DMA 556,22641 -#define ICB_DIAG_FULL 557,22702 -typedef struct icbParms icbParms559,22764 -} IcbParms;IcbParms569,23214 -typedef struct icbAny icbAny571,23227 -} IcbAny;IcbAny577,23480 -typedef union icb icb579,23491 -} Icb;Icb588,23915 -static char *wd7000;591,23937 -static Scb scbs[601,24157 -static Scb *scbfree;602,24184 -static int freescbs 603,24230 -static spinlock_t scbpool_lock;604,24286 -static void __init setup_error(609,24412 -static int __init wd7000_setup(634,25283 -static inline void any2scsi(728,27924 -static inline int scsi2int(735,28060 -static inline void wd7000_enable_intr(740,28159 -static inline void wd7000_enable_dma(747,28295 -#define WAITnexttimeout 761,28575 -static inline short WAIT(763,28620 -static inline int command_out(779,28970 -static inline Scb *alloc_scbs(810,29933 -static inline void free_scb(863,31169 -static inline void init_scbs(878,31409 -static int mail_out(897,31775 -static int make_code(952,33217 -#define wd7000_intr_ack(wd7000_intr_ack998,34420 -static irqreturn_t wd7000_intr(1001,34492 -static int wd7000_queuecommand(1086,36994 -static int wd7000_diagnostics(1141,38493 -static int wd7000_adapter_reset(1176,39396 -static int wd7000_init(1247,41151 -static void wd7000_revision(1275,41735 -#define SPRINTF(SPRINTF1297,42313 -static int wd7000_set_info(1299,42403 -static int wd7000_proc_info(1311,42677 -static int wd7000_detect(1394,44932 -static int wd7000_release(1555,49107 -static int wd7000_abort(1569,49420 -static int wd7000_host_reset(1586,49756 -static int wd7000_biosparam(1600,50036 -static struct scsi_host_template driver_template 1651,51404 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/atari_scsi.h,2855 -#define ATARI_SCSI_H16,404 -#define atari_scsi_release 27,688 -#define ATARI_TT_CAN_QUEUE 40,1144 -#define ATARI_TT_CMD_PER_LUN 41,1175 -#define ATARI_TT_SG_TABLESIZE 42,1207 -#define ATARI_FALCON_CAN_QUEUE 44,1246 -#define ATARI_FALCON_CMD_PER_LUN 45,1280 -#define ATARI_FALCON_SG_TABLESIZE 46,1315 -#define DEFAULT_USE_TAGGED_QUEUING 48,1358 -#define NCR5380_implementation_fields 51,1397 -#define NCR5380_read(NCR5380_read53,1447 -#define NCR5380_write(NCR5380_write54,1503 -#define NCR5380_intr 56,1573 -#define NCR5380_queue_command 57,1610 -#define NCR5380_abort 58,1665 -#define NCR5380_proc_info 59,1704 -#define NCR5380_dma_read_setup(NCR5380_dma_read_setup60,1751 -#define NCR5380_dma_write_setup(NCR5380_dma_write_setup61,1829 -#define NCR5380_dma_residual(NCR5380_dma_residual62,1908 -#define NCR5380_dma_xfer_len(NCR5380_dma_xfer_len63,1975 -#define ARB_PRINTK(ARB_PRINTK95,2862 -#define ARB_PRINTK(ARB_PRINTK98,2943 -#define ASEN_PRINTK(ASEN_PRINTK101,3016 -#define ASEN_PRINTK(ASEN_PRINTK104,3098 -#define DMA_PRINTK(DMA_PRINTK107,3166 -#define DMA_PRINTK(DMA_PRINTK110,3247 -#define HSH_PRINTK(HSH_PRINTK113,3320 -#define HSH_PRINTK(HSH_PRINTK116,3401 -#define INF_PRINTK(INF_PRINTK119,3476 -#define INF_PRINTK(INF_PRINTK122,3557 -#define INI_PRINTK(INI_PRINTK125,3625 -#define INI_PRINTK(INI_PRINTK128,3706 -#define INT_PRINTK(INT_PRINTK131,3774 -#define INT_PRINTK(INT_PRINTK134,3855 -#define LNK_PRINTK(LNK_PRINTK137,3925 -#define LNK_PRINTK(LNK_PRINTK140,4006 -#define MAIN_PRINTK(MAIN_PRINTK143,4074 -#define MAIN_PRINTK(MAIN_PRINTK146,4156 -#define NDAT_PRINTK(NDAT_PRINTK149,4231 -#define NDAT_PRINTK(NDAT_PRINTK152,4313 -#define NWR_PRINTK(NWR_PRINTK155,4386 -#define NWR_PRINTK(NWR_PRINTK158,4467 -#define PIO_PRINTK(PIO_PRINTK161,4534 -#define PIO_PRINTK(PIO_PRINTK164,4615 -#define PDMA_PRINTK(PDMA_PRINTK167,4689 -#define PDMA_PRINTK(PDMA_PRINTK170,4771 -#define QU_PRINTK(QU_PRINTK173,4842 -#define QU_PRINTK(QU_PRINTK176,4922 -#define RSL_PRINTK(RSL_PRINTK179,4996 -#define RSL_PRINTK(RSL_PRINTK182,5077 -#define SEL_PRINTK(SEL_PRINTK185,5150 -#define SEL_PRINTK(SEL_PRINTK188,5231 -#define USL_PRINTK(USL_PRINTK191,5301 -#define USL_PRINTK(USL_PRINTK194,5382 -#define LBS_PRINTK(LBS_PRINTK197,5460 -#define LBS_PRINTK(LBS_PRINTK200,5541 -#define RSS_PRINTK(RSS_PRINTK203,5619 -#define RSS_PRINTK(RSS_PRINTK206,5700 -#define EXT_PRINTK(EXT_PRINTK209,5772 -#define EXT_PRINTK(EXT_PRINTK212,5853 -#define ABRT_PRINTK(ABRT_PRINTK215,5922 -#define ABRT_PRINTK(ABRT_PRINTK218,6004 -#define TAG_PRINTK(TAG_PRINTK221,6073 -#define TAG_PRINTK(TAG_PRINTK224,6154 -#define MER_PRINTK(MER_PRINTK227,6225 -#define MER_PRINTK(MER_PRINTK230,6306 -#define NCR_PRINT(NCR_PRINT235,6410 -#define NCR_PRINT_PHASE(NCR_PRINT_PHASE238,6494 -#define NCR_PRINT_STATUS(NCR_PRINT_STATUS241,6590 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_devinfo.c,594 -struct scsi_dev_info_list scsi_dev_info_list19,353 -static const char spaces[28,543 -static unsigned scsi_default_dev_flags;29,609 -static __initdata char scsi_dev_flags[31,687 -} scsi_static_device_list[47,1246 -} scsi_static_device_list[] __initdata 47,1246 -static void scsi_strcpy_devinfo(226,10423 -static int scsi_dev_info_list_add(267,11560 -static int scsi_dev_info_list_add_str(311,12800 -int scsi_get_device_flags(361,14105 -static int proc_scsi_devinfo_read(429,15970 -static int proc_scsi_devinfo_write(467,16946 -void scsi_exit_devinfo(511,18095 -int scsi_init_devinfo(535,18679 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid.c,3091 -#define MEGARAID_MODULE_VERSION 53,1494 -static unsigned int max_cmd_per_lun 60,1693 -static unsigned short int max_sectors_per_io 64,1914 -static unsigned short int max_mbox_busy_wait 69,2137 -#define RDINDOOR(RDINDOOR73,2357 -#define RDOUTDOOR(RDOUTDOOR74,2414 -#define WRINDOOR(WRINDOOR75,2472 -#define WROUTDOOR(WROUTDOOR76,2543 -static int hba_count;82,2643 -static adapter_t *hba_soft_state[83,2665 -static struct proc_dir_entry *mega_proc_dir_entry;84,2716 -static struct mega_hbas mega_hbas[87,2801 -static struct file_operations megadev_fops 92,2939 -static struct mcontroller mcontroller[103,3252 -static u32 driver_ver 106,3342 -static int major;109,3441 -#define IS_RAID_CH(IS_RAID_CH111,3460 -static int trace_level;117,3589 -mega_setup_mailbox(126,3764 -mega_query_adapter(183,5119 -mega_runpendq(345,9541 -megaraid_queue(359,9832 -mega_allocate_scb(408,10977 -mega_get_ldrv_num(440,11625 -mega_build_cmd(503,13184 -mega_prepare_passthru(956,23074 -mega_prepare_extpassthru(1020,24726 -__mega_runpendq(1071,25934 -issue_scb(1102,26535 -mega_busywait_mbox 1166,27844 -issue_scb_block(1181,28134 -megaraid_isr_iomapped(1265,30041 -megaraid_isr_memmapped(1342,31607 -mega_cmd_done(1419,33223 -mega_rundoneq 1683,39156 -mega_free_scb(1705,39567 -__mega_busywait_mbox 1740,40176 -mega_build_sglist(1758,40555 -mega_8_to_40ld(1846,42514 -mega_free_sgl(1880,43557 -megaraid_info(1921,44231 -megaraid_abort(1941,44760 -megaraid_reset(1961,45113 -megaraid_abort_and_reset(2007,46147 -make_local_pdev(2075,47650 -free_local_pdev(2092,47970 -mega_allocate_inquiry(2105,48209 -mega_free_inquiry(2112,48373 -#define CREATE_READ_PROC(CREATE_READ_PROC2121,48591 -mega_create_proc_entry(2134,48926 -proc_read_config(2197,50985 -proc_read_stat(2297,53870 -proc_read_mbox(2351,55297 -proc_rebuild_rate(2397,56653 -proc_battery(2465,58098 -proc_pdrv_ch0(2564,60295 -proc_pdrv_ch1(2587,60881 -proc_pdrv_ch2(2610,61467 -proc_pdrv_ch3(2633,62053 -proc_pdrv(2652,62407 -mega_print_inquiry(2784,64943 -proc_rdrv_10(2838,66204 -proc_rdrv_20(2861,66790 -proc_rdrv_30(2884,67378 -proc_rdrv_40(2907,67966 -proc_rdrv(2929,68470 -megaraid_biosparam(3178,73429 -mega_init_scb(3257,75147 -megadev_open 3338,76752 -megadev_ioctl(3362,77315 -mega_m_to_n(3764,85814 -mega_n_to_m(3890,88479 -mega_is_bios_enabled(3955,89799 -mega_enum_raid_scsi(3988,90524 -mega_get_boot_drv(4042,91687 -mega_support_random_del(4109,93168 -mega_support_ext_cdb(4138,93658 -mega_del_logdrv(4168,94283 -mega_do_del_logdrv(4216,95362 -mega_get_max_sgl(4253,96103 -mega_support_cluster(4298,96998 -mega_adapinq(4343,98045 -mega_internal_dev_inquiry(4377,98725 -mega_internal_command(4456,100537 -mega_internal_done(4548,102603 -static struct scsi_host_template megaraid_template 4568,102975 -megaraid_probe_one(4588,103611 -__megaraid_shutdown(4945,113108 -megaraid_remove_one(4979,113938 -megaraid_shutdown(5047,115901 -static struct pci_device_id megaraid_pci_tbl[5055,116087 -static struct pci_driver megaraid_pci_driver 5076,116907 -static int __init megaraid_init(5086,117141 -static void __exit megaraid_exit(5125,118086 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_nv.c,2472 -#define DRV_NAME 46,1579 -#define DRV_VERSION 47,1608 -#define NV_PORTS 49,1638 -#define NV_PIO_MASK 50,1659 -#define NV_MWDMA_MASK 51,1686 -#define NV_UDMA_MASK 52,1715 -#define NV_PORT0_SCR_REG_OFFSET 53,1743 -#define NV_PORT1_SCR_REG_OFFSET 54,1781 -#define NV_INT_STATUS 56,1820 -#define NV_INT_STATUS_CK804 57,1849 -#define NV_INT_STATUS_PDEV_INT 58,1884 -#define NV_INT_STATUS_PDEV_PM 59,1921 -#define NV_INT_STATUS_PDEV_ADDED 60,1957 -#define NV_INT_STATUS_PDEV_REMOVED 61,1995 -#define NV_INT_STATUS_SDEV_INT 62,2035 -#define NV_INT_STATUS_SDEV_PM 63,2072 -#define NV_INT_STATUS_SDEV_ADDED 64,2108 -#define NV_INT_STATUS_SDEV_REMOVED 65,2146 -#define NV_INT_STATUS_PDEV_HOTPLUG 66,2186 -#define NV_INT_STATUS_SDEV_HOTPLUG 68,2284 -#define NV_INT_STATUS_HOTPLUG 70,2382 -#define NV_INT_ENABLE 73,2479 -#define NV_INT_ENABLE_CK804 74,2508 -#define NV_INT_ENABLE_PDEV_MASK 75,2543 -#define NV_INT_ENABLE_PDEV_PM 76,2581 -#define NV_INT_ENABLE_PDEV_ADDED 77,2617 -#define NV_INT_ENABLE_PDEV_REMOVED 78,2655 -#define NV_INT_ENABLE_SDEV_MASK 79,2695 -#define NV_INT_ENABLE_SDEV_PM 80,2733 -#define NV_INT_ENABLE_SDEV_ADDED 81,2769 -#define NV_INT_ENABLE_SDEV_REMOVED 82,2807 -#define NV_INT_ENABLE_PDEV_HOTPLUG 83,2847 -#define NV_INT_ENABLE_SDEV_HOTPLUG 85,2945 -#define NV_INT_ENABLE_HOTPLUG 87,3043 -#define NV_INT_CONFIG 90,3140 -#define NV_INT_CONFIG_METHD 91,3169 -#define NV_MCP_SATA_CFG_20 94,3254 -#define NV_MCP_SATA_CFG_20_SATA_SPACE_EN 95,3287 -enum nv_host_typenv_host_type109,4090 - NFORCE2,111,4110 - NFORCE3,112,4120 - CK804113,4130 -static struct pci_device_id nv_pci_tbl[116,4141 -#define NV_HOST_FLAGS_SCR_MMIO 134,4958 -struct nv_host_descnv_host_desc136,5001 -static struct nv_host_desc nv_device_tbl[145,5261 -struct nv_hostnv_host168,5863 -static struct pci_driver nv_pci_driver 173,5917 -static Scsi_Host_Template nv_sht 180,6069 -static struct ata_port_operations nv_ops 199,6644 -static struct ata_port_info nv_port_info 221,7295 -irqreturn_t nv_interrupt 239,7762 -static u32 nv_scr_read 271,8525 -static void nv_scr_write 285,8909 -static void nv_host_stop 299,9290 -static int nv_init_one 310,9539 -static void nv_enable_hotplug(404,11631 -static void nv_disable_hotplug(417,11957 -static void nv_check_hotplug(428,12224 -static void nv_enable_hotplug_ck804(456,12986 -static void nv_disable_hotplug_ck804(473,13515 -static void nv_check_hotplug_ck804(489,13967 -static int __init nv_init(517,14719 -static void __exit nv_exit(522,14797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fdomain.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/tmscsim.c,3697 -#define DC390_IRQ 183,9110 -#define C_NOP194,9362 -# define DEBUG0(DEBUG0198,9421 -# define DEBUG0(DEBUG0200,9448 -# define DEBUG1(DEBUG1203,9500 -# define DEBUG1(DEBUG1205,9527 -# define DCBDEBUG(DCBDEBUG208,9581 -# define DCBDEBUG(DCBDEBUG210,9610 -# define PARSEDEBUG(PARSEDEBUG213,9668 -# define PARSEDEBUG(PARSEDEBUG215,9699 -# define REMOVABLEDEBUG(REMOVABLEDEBUG218,9763 -# define REMOVABLEDEBUG(REMOVABLEDEBUG220,9798 -#define DCBDEBUG1(DCBDEBUG1222,9838 -#define DC390_BANNER 250,10459 -#define DC390_VERSION 251,10504 -#define PCI_DEVICE_ID_AMD53C974 253,10545 - static struct pci_device_id tmscsim_pci_tbl[256,10603 -static struct dc390_acb* dc390_pACB_start=298,13092 -static struct dc390_acb* dc390_pACB_current 299,13141 -static u32 dc390_laststatus 300,13193 -static u8 dc390_adapterCnt 301,13226 -static int tmscsim[304,13316 -static int tmscsim_paramnum 305,13365 -static void *dc390_phase0[314,13820 -static void *dc390_phase1[326,14059 -static char* dc390_p0_str[339,14336 -static char* dc390_p1_str[351,14600 -static u8 dc390_baddevname1[365,14946 -#define BADDEVCNT 368,15064 -static char* dc390_adapname 370,15085 -static u8 dc390_eepromBuf[371,15125 -static u8 dc390_clock_period1[372,15178 -static u8 dc390_clock_speed[373,15242 -static void __devinit dc390_EnDisableCE(382,15524 -static void __devinit dc390_EEprom_Override 399,15910 -static void __devinit dc390_check_for_safe_settings 425,16611 -static int __initdata tmscsim_def[437,16927 -static void __devinit dc390_fill_with_defaults 448,17300 -static int __init dc390_setup 469,17948 -static void __devinit dc390_EEpromOutDI(489,18306 -static u8 __devinit dc390_EEpromInDO(510,18705 -static u16 __devinit dc390_EEpromGetData1(526,19007 -static void __devinit dc390_Prepare(543,19258 -static void __devinit dc390_ReadEEprom(559,19540 -static void __devinit dc390_interpret_delay 575,19881 -static u8 __devinit dc390_CheckEEpromCheckSum(581,20071 -static struct dc390_dcb __inline__ *dc390_findDCB 605,20813 -static __inline__ struct dc390_srb* dc390_Free_get 634,21814 -static __inline__ void dc390_Free_insert 650,22154 -static __inline__ void dc390_Waiting_insert 659,22416 -static __inline__ void dc390_Waiting_append 671,22786 -static __inline__ void dc390_Going_append 685,23180 -static __inline__ void dc390_Going_remove 700,23597 -static void dc390_Going_to_Waiting 720,24225 -static __inline__ void dc390_Waiting_to_Going 731,24674 -static void dc390_waiting_timer 743,25113 -static void dc390_Waiting_process 758,25666 -static void DC390_waiting_timed_out 794,26559 -static void dc390_SendSRB(811,27214 -static struct scatterlist* dc390_sg_build_single(845,28050 -static int dc390_pci_map 855,28344 -static void dc390_pci_unmap 902,30143 -static void dc390_BuildSRB 929,31330 -static int DC390_queue_command(973,32736 -static void dc390_dumpinfo 1002,33466 -static int DC390_abort(1048,35594 -static void dc390_ResetDevParam(1099,36873 -static int DC390_bus_reset 1122,37406 -static void dc390_updateDCB 1164,38526 -static void __inline__ dc390_initSRB(1196,39551 -static void dc390_linkSRB(1202,39666 -static void __devinit dc390_initACB 1227,40360 -static int __devinit dc390_initAdapter 1295,42466 -static void __devinit dc390_set_pci_cfg 1366,44766 -static int dc390_slave_alloc(1382,45296 -static void dc390_slave_destroy(1449,47094 -static int dc390_slave_configure(1484,47981 -static struct scsi_host_template driver_template 1491,48163 -static int __devinit dc390_init_one(1508,48673 -static void __devexit dc390_remove_one(1586,50737 -static struct pci_driver dc390_driver 1613,51507 -static int __init dc390_module_init(1620,51704 -static void __exit dc390_module_exit(1625,51791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/nsp32_io.h,1322 -#define _NSP32_IO_H10,223 -static inline void nsp32_write1(12,244 -static inline unsigned char nsp32_read1(19,377 -static inline void nsp32_write2(25,493 -static inline unsigned short nsp32_read2(32,629 -static inline void nsp32_write4(38,747 -static inline unsigned long nsp32_read4(45,880 -static inline void nsp32_mmio_write1(53,1048 -static inline unsigned char nsp32_mmio_read1(64,1279 -static inline void nsp32_mmio_write2(74,1492 -static inline unsigned short nsp32_mmio_read2(85,1741 -static inline void nsp32_mmio_write4(95,1971 -static inline unsigned long nsp32_mmio_read4(106,2215 -static inline unsigned char nsp32_index_read1(118,2493 -static inline void nsp32_index_write1(125,2656 -static inline unsigned short nsp32_index_read2(133,2843 -static inline void nsp32_index_write2(140,3008 -static inline unsigned long nsp32_index_read4(148,3198 -static inline void nsp32_index_write4(160,3436 -static inline unsigned char nsp32_mmio_index_read1(176,3792 -static inline void nsp32_mmio_index_write1(188,4140 -static inline unsigned short nsp32_mmio_index_read2(201,4507 -static inline void nsp32_mmio_index_write2(213,4871 -static inline void nsp32_multi_read4(228,5319 -static inline void nsp32_fifo_read(236,5502 -static inline void nsp32_multi_write4(243,5672 -static inline void nsp32_fifo_write(251,5860 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/wd33c93.h,5205 -#define WD33C93_H23,813 -#define PROC_INTERFACE 25,832 -#define PROC_STATISTICS 27,934 -#define SYNC_DEBUG 30,1020 -#define DEBUGGING_ON 31,1092 -#define DEBUG_DEFAULTS 32,1163 -#define DB(DB36,1244 -#define DB(DB38,1295 -#define uchar 41,1319 -#define WD_OWN_ID 45,1373 -#define WD_CONTROL 46,1399 -#define WD_TIMEOUT_PERIOD 47,1428 -#define WD_CDB_1 48,1460 -#define WD_CDB_2 49,1486 -#define WD_CDB_3 50,1512 -#define WD_CDB_4 51,1538 -#define WD_CDB_5 52,1564 -#define WD_CDB_6 53,1590 -#define WD_CDB_7 54,1616 -#define WD_CDB_8 55,1642 -#define WD_CDB_9 56,1668 -#define WD_CDB_10 57,1694 -#define WD_CDB_11 58,1720 -#define WD_CDB_12 59,1746 -#define WD_TARGET_LUN 60,1772 -#define WD_COMMAND_PHASE 61,1804 -#define WD_SYNCHRONOUS_TRANSFER 62,1836 -#define WD_TRANSFER_COUNT_MSB 63,1873 -#define WD_TRANSFER_COUNT 64,1908 -#define WD_TRANSFER_COUNT_LSB 65,1940 -#define WD_DESTINATION_ID 66,1975 -#define WD_SOURCE_ID 67,2007 -#define WD_SCSI_STATUS 68,2036 -#define WD_COMMAND 69,2068 -#define WD_DATA 70,2097 -#define WD_QUEUE_TAG 71,2123 -#define WD_AUXILIARY_STATUS 72,2152 -#define WD_CMD_RESET 75,2206 -#define WD_CMD_ABORT 76,2235 -#define WD_CMD_ASSERT_ATN 77,2264 -#define WD_CMD_NEGATE_ACK 78,2296 -#define WD_CMD_DISCONNECT 79,2328 -#define WD_CMD_RESELECT 80,2360 -#define WD_CMD_SEL_ATN 81,2392 -#define WD_CMD_SEL 82,2424 -#define WD_CMD_SEL_ATN_XFER 83,2453 -#define WD_CMD_SEL_XFER 84,2488 -#define WD_CMD_RESEL_RECEIVE 85,2520 -#define WD_CMD_RESEL_SEND 86,2555 -#define WD_CMD_WAIT_SEL_RECEIVE 87,2587 -#define WD_CMD_TRANS_ADDR 88,2624 -#define WD_CMD_TRANS_INFO 89,2656 -#define WD_CMD_TRANSFER_PAD 90,2688 -#define WD_CMD_SBT_MODE 91,2723 -#define ASR_INT 94,2775 -#define ASR_LCI 95,2806 -#define ASR_BSY 96,2837 -#define ASR_CIP 97,2868 -#define ASR_PE 98,2899 -#define ASR_DBR 99,2930 -#define PHS_DATA_OUT 102,2984 -#define PHS_DATA_IN 103,3013 -#define PHS_COMMAND 104,3042 -#define PHS_STATUS 105,3071 -#define PHS_MESS_OUT 106,3100 -#define PHS_MESS_IN 107,3129 -#define CSR_RESET 112,3233 -#define CSR_RESET_AF 113,3259 -#define CSR_RESELECT 116,3330 -#define CSR_SELECT 117,3359 -#define CSR_SEL_XFER_DONE 118,3388 -#define CSR_XFER_DONE 119,3420 -#define CSR_MSGIN 122,3490 -#define CSR_SDP 123,3516 -#define CSR_SEL_ABORT 124,3545 -#define CSR_RESEL_ABORT 125,3577 -#define CSR_RESEL_ABORT_AM 126,3609 -#define CSR_ABORT 127,3641 -#define CSR_INVALID 130,3698 -#define CSR_UNEXP_DISC 131,3727 -#define CSR_TIMEOUT 132,3759 -#define CSR_PARITY 133,3788 -#define CSR_PARITY_ATN 134,3817 -#define CSR_BAD_STATUS 135,3849 -#define CSR_UNEXP 136,3881 -#define CSR_RESEL 139,3944 -#define CSR_RESEL_AM 140,3970 -#define CSR_DISC 141,3999 -#define CSR_SRV_REQ 142,4025 -#define OWNID_EAF 145,4089 -#define OWNID_EHP 146,4115 -#define OWNID_RAF 147,4141 -#define OWNID_FS_8 148,4167 -#define OWNID_FS_12 149,4193 -#define OWNID_FS_16 150,4219 -#define WD33C93_FS_8_10 153,4309 -#define WD33C93_FS_12_15 154,4345 -#define WD33C93_FS_16_20 155,4382 -#define CTRL_HSP 158,4446 -#define CTRL_HA 159,4472 -#define CTRL_IDI 160,4498 -#define CTRL_EDI 161,4524 -#define CTRL_HHP 162,4550 -#define CTRL_POLLED 163,4576 -#define CTRL_BURST 164,4602 -#define CTRL_BUS 165,4628 -#define CTRL_DMA 166,4654 -#define TIMEOUT_PERIOD_VALUE 169,4714 -#define STR_FSS 172,4808 -#define DSTID_DPD 175,4868 -#define DATA_OUT_DIR 176,4894 -#define DATA_IN_DIR 177,4917 -#define DSTID_SCC 178,4940 -#define SRCID_MASK 181,4995 -#define SRCID_SIV 182,5021 -#define SRCID_DSP 183,5047 -#define SRCID_ES 184,5073 -#define SRCID_ER 185,5099 -} wd33c93_regs;wd33c93_regs196,5351 -typedef int (*dma_setup_t)dma_setup_t199,5369 -typedef void (*dma_stop_t)dma_stop_t200,5435 -#define ILLEGAL_STATUS_BYTE 204,5533 -#define DEFAULT_SX_PER 206,5569 -#define DEFAULT_SX_OFF 207,5625 -#define OPTIMUM_SX_PER 209,5675 -#define OPTIMUM_SX_OFF 210,5746 -struct sx_period sx_period212,5806 -#define BUF_CHIP_ALLOCED 219,5940 -#define BUF_SCSI_ALLOCED 220,5967 -struct WD33C93_hostdata WD33C93_hostdata222,5995 -#define C_WD33C93 271,8691 -#define C_WD33C93A 272,8717 -#define C_WD33C93B 273,8743 -#define C_UNKNOWN_CHIP 274,8769 -#define S_UNCONNECTED 278,8833 -#define S_SELECTING 279,8865 -#define S_RUNNING_LEVEL2 280,8897 -#define S_CONNECTED 281,8929 -#define S_PRE_TMP_DISC 282,8961 -#define S_PRE_CMP_DISC 283,8993 -#define D_DMA_OFF 287,9059 -#define D_DMA_RUNNING 288,9088 -#define L2_NONE 293,9206 -#define L2_SELECT 294,9282 -#define L2_BASIC 295,9357 -#define L2_DATA 296,9427 -#define L2_MOST 297,9487 -#define L2_RESELECT 298,9561 -#define L2_ALL 299,9640 -#define DIS_NEVER 303,9725 -#define DIS_ADAPTIVE 304,9748 -#define DIS_ALWAYS 305,9771 -#define DB_TEST1 309,9829 -#define DB_TEST2 310,9864 -#define DB_QUEUE_COMMAND 311,9899 -#define DB_EXECUTE 312,9934 -#define DB_INTR 313,9969 -#define DB_TRANSFER 314,10004 -#define DB_MASK 315,10039 -#define SS_UNSET 319,10116 -#define SS_FIRST 320,10139 -#define SS_WAITING 321,10162 -#define SS_SET 322,10185 -#define PR_VERSION 326,10243 -#define PR_INFO 327,10269 -#define PR_STATISTICS 328,10295 -#define PR_CONNECTED 329,10322 -#define PR_INPUTQ 330,10348 -#define PR_DISCQ 331,10374 -#define PR_TEST 332,10400 -#define PR_STOP 333,10426 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/a2091.h,567 -#define A2091_H2,16 -#define CMD_PER_LUN 22,546 -#define CAN_QUEUE 26,594 -#define A2091_XFER_MASK 33,729 -} a2091_scsiregs;a2091_scsiregs54,1490 -#define DAWR_A2091 56,1509 -#define CNTR_TCEN 59,1551 -#define CNTR_PREST 60,1577 -#define CNTR_PDMD 61,1604 -#define CNTR_INTEN 62,1630 -#define CNTR_DDIR 63,1657 -#define ISTR_INTX 66,1701 -#define ISTR_INT_F 67,1727 -#define ISTR_INTS 68,1754 -#define ISTR_E_INT 69,1780 -#define ISTR_INT_P 70,1807 -#define ISTR_UE_INT 71,1834 -#define ISTR_OE_INT 72,1862 -#define ISTR_FF_FLG 73,1890 -#define ISTR_FE_FLG 74,1918 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmmca.c,6551 -#define IBMMCA_SCSI_DRIVER_VERSION 52,1589 -#define IM_MAX_HOSTS 55,1662 -#define IM_RESET_DELAY 56,1727 -#define TIMEOUT_PUN 61,1938 -#define TIMEOUT_LUN 62,1960 -#define IM_DEBUG_CMD_DEVICE 73,2290 -#define IM_CMD_REG(IM_CMD_REG76,2391 -#define IM_ATTN_REG(IM_ATTN_REG77,2476 -#define IM_CTR_REG(IM_CTR_REG78,2549 -#define IM_INTR_REG(IM_INTR_REG79,2625 -#define IM_STAT_REG(IM_STAT_REG80,2710 -#define IM_IO_PORT 83,2836 -#define IM_N_IO_PORT 85,2910 -#define IM_IMM_CMD 89,3075 -#define IM_SCB 90,3122 -#define IM_LONG_SCB 91,3180 -#define IM_EOI 92,3247 -#define IM_HW_RESET 95,3368 -#define IM_ENABLE_DMA 96,3413 -#define IM_ENABLE_INTR 97,3478 -#define IM_SCB_CMD_COMPLETED 101,3681 -#define IM_SCB_CMD_COMPLETED_WITH_RETRIES 102,3717 -#define IM_LOOP_SCATTER_BUFFER_FULL 103,3764 -#define IM_ADAPTER_HW_FAILURE 104,3806 -#define IM_IMMEDIATE_CMD_COMPLETED 105,3843 -#define IM_CMD_COMPLETED_WITH_FAILURE 106,3884 -#define IM_CMD_ERROR 107,3928 -#define IM_SOFTWARE_SEQUENCING_ERROR 108,3957 -#define IM_CMD_REG_FULL 111,4073 -#define IM_CMD_REG_EMPTY 112,4103 -#define IM_INTR_REQUEST 113,4133 -#define IM_BUSY 114,4163 -#define IM_RESET_IMM_CMD 117,4258 -#define IM_FEATURE_CTR_IMM_CMD 118,4290 -#define IM_DMA_PACING_IMM_CMD 119,4328 -#define IM_ASSIGN_IMM_CMD 120,4365 -#define IM_ABORT_IMM_CMD 121,4398 -#define IM_FORMAT_PREP_IMM_CMD 122,4430 -struct im_scb im_scb125,4514 -struct im_sge im_sge146,5313 -struct im_pos_info im_pos_info152,5428 -#define IM_NO_SYNCHRONOUS 176,6570 -#define IM_NO_DISCONNECT 177,6634 -#define IM_READ_DATA_CMD 178,6698 -#define IM_WRITE_DATA_CMD 179,6736 -#define IM_READ_VERIFY_CMD 180,6774 -#define IM_WRITE_VERIFY_CMD 181,6812 -#define IM_REQUEST_SENSE_CMD 182,6850 -#define IM_READ_CAPACITY_CMD 183,6888 -#define IM_DEVICE_INQUIRY_CMD 184,6926 -#define IM_READ_LOGICAL_CMD 185,6964 -#define IM_OTHER_SCSI_CMD_CMD 186,7002 -#define IM_GET_COMMAND_COMPLETE_STATUS_CMD 189,7083 -#define IM_GET_POS_INFO_CMD 190,7156 -#define IM_READ_PREFETCH_CMD 191,7233 -#define IM_FOMAT_UNIT_CMD 192,7315 -#define IM_REASSIGN_BLOCK_CMD 193,7385 -#define IM_READ_CONTROL 196,7511 -#define IM_REPORT_TSB_ONLY_ON_ERROR 197,7555 -#define IM_RETRY_ENABLE 198,7599 -#define IM_POINTER_TO_LIST 199,7643 -#define IM_SUPRESS_EXCEPTION_SHORT 200,7687 -#define IM_BYPASS_BUFFER 201,7731 -#define IM_CHAIN_ON_NO_ERROR 202,7775 -struct im_tsb im_tsb205,7866 -#define IM_IRQ 222,8326 -#define IM_IRQ_FW 224,8390 -#define MOD95_LED_PORT 233,8738 -#define PS2_SYS_CTR 235,8828 -#define LED_DISP 237,8894 -#define LED_ADISP 238,8923 -#define LED_ACTIVITY 239,8952 -#define CMD_FAIL 241,8999 -static int display_mode 251,9544 -static unsigned int adapter_timeout 253,9607 -static unsigned int global_command_error_excuse 255,9687 -static int global_adapter_speed 257,9795 -#define PS2_DISK_LED_ON(PS2_DISK_LED_ON261,9996 -#define PS2_DISK_LED_OFF(PS2_DISK_LED_OFF271,10513 -struct subsys_list_struct subsys_list_struct278,10866 -#define IBM_SCSI2_FW 284,11016 -#define IBM_7568_WCACHE 285,11043 -#define IBM_EXP_UNIT 286,11070 -#define IBM_SCSI_WCACHE 287,11097 -#define IBM_SCSI 288,11124 -#define FORCED_DETECTION 291,11201 -#define INTEGRATED_SCSI 292,11238 -struct subsys_list_struct subsys_list[295,11317 -#define MAX_LOG_DEV 305,11779 -struct logical_device logical_device308,11841 -struct Driver_Statistics Driver_Statistics322,12599 -struct ibmmca_hostdata ibmmca_hostdata344,13640 -#define subsystem_pun(subsystem_pun386,15244 -#define subsystem_maxid(subsystem_maxid387,15293 -#define ld(ld388,15343 -#define get_ldn(get_ldn389,15416 -#define get_scsi(get_scsi390,15499 -#define local_checking_phase_flag(local_checking_phase_flag391,15584 -#define got_interrupt(got_interrupt392,15703 -#define stat_result(stat_result393,15798 -#define reset_status(reset_status394,15889 -#define last_scsi_command(last_scsi_command395,15982 -#define last_scsi_type(last_scsi_type396,16085 -#define last_scsi_blockcount(last_scsi_blockcount397,16182 -#define last_scsi_logical_block(last_scsi_logical_block398,16291 -#define last_scsi_type(last_scsi_type399,16406 -#define next_ldn(next_ldn400,16503 -#define IBM_DS(IBM_DS401,16588 -#define special(special402,16669 -#define subsystem_connector_size(subsystem_connector_size403,16752 -#define adapter_speed(adapter_speed404,16859 -#define pos2(pos2405,16954 -#define pos3(pos3406,17033 -#define pos4(pos4407,17112 -#define pos5(pos5408,17191 -#define pos6(pos6409,17270 -#define TYPE_IBM_SCSI_ADAPTER 413,17503 -#define TYPE_NO_DEVICE 418,17706 -#define TYPE_MEDIUM_CHANGER 423,17880 -#define SET_LDN 427,17991 -#define REMOVE_LDN 428,18016 -#define PROBE_LDN 431,18092 -#define IM_RESET_NOT_IN_PROGRESS 434,18151 -#define IM_RESET_IN_PROGRESS 435,18194 -#define IM_RESET_FINISHED_OK 436,18237 -#define IM_RESET_FINISHED_FAIL 437,18280 -#define IM_RESET_NOT_IN_PROGRESS_NO_INT 438,18323 -#define IM_RESET_FINISHED_OK_NO_INT 439,18366 -#define NO_SCSI 442,18446 -static int io_port[447,18638 -static int scsi_id[448,18701 -static char *boot_options 453,18883 -static int disk_rw_in_progress 463,19258 -static int found 466,19318 -static struct Scsi_Host *hosts[467,19340 -static unsigned int pos[470,19450 -static char ibm_ansi_order 475,19737 -static char ibm_ansi_order 477,19775 -static irqreturn_t interrupt_handler(503,20749 -static void issue_cmd(716,30105 -static void internal_done(732,30653 -static int device_inquiry(739,30772 -static int read_capacity(776,32109 -static int get_pos_info(813,33363 -static int immediate_assign(858,35036 -static int immediate_feature(900,36455 -static int immediate_reset(937,37588 -static char *ti_p(976,38822 -static char *ti_l(1004,39350 -static char *ibmrate(1018,39643 -static int probe_display(1041,40045 -static int probe_bus_mode(1067,40629 -static void check_devices(1104,41701 -static int device_exists(1337,50595 -static void internal_ibmmca_scsi_setup(1394,52161 -static int ibmmca_getinfo(1437,53300 -int ibmmca_detect(1488,55880 -static struct Scsi_Host *ibmmca_register(1741,68424 -static int ibmmca_release(1796,70443 -static int ibmmca_queuecommand(1805,70687 -static int ibmmca_abort(2118,82900 -static int ibmmca_host_reset(2225,86280 -static int ibmmca_biosparam(2312,89323 -static int ldn_access_load(2334,89844 -static int ldn_access_total_read_write(2344,90153 -static int ldn_access_total_inquiry(2355,90374 -static int ldn_access_total_modeselect(2366,90554 -static int ibmmca_proc_info(2378,90814 -static int option_setup(2454,95773 -static Scsi_Host_Template driver_template 2472,96127 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/tmscsim.h,9523 -#define _TMSCSIM_H9,366 -#define SCSI_IRQ_NONE 14,438 -#define MAX_ADAPTER_NUM 16,465 -#define MAX_SG_LIST_BUF 17,492 -#define MAX_CMD_PER_LUN 18,535 -#define MAX_CMD_QUEUE 19,563 -#define MAX_SCSI_ID 20,623 -#define MAX_SRB_CNT 21,646 -#define SEL_TIMEOUT 23,721 -#define pci_dma_lo32(pci_dma_lo3225,789 -typedef u8 UCHAR;UCHAR27,833 -typedef u16 USHORT;USHORT28,866 -typedef u32 UINT;UINT29,901 -typedef unsigned long ULONG;ULONG30,934 -struct dc390_srbdc390_srb38,1155 -struct dc390_dcbdc390_dcb91,2210 -struct dc390_acbdc390_acb140,3159 -#define BIT31 196,4132 -#define BIT30 197,4157 -#define BIT29 198,4182 -#define BIT28 199,4207 -#define BIT27 200,4232 -#define BIT26 201,4257 -#define BIT25 202,4282 -#define BIT24 203,4307 -#define BIT23 204,4332 -#define BIT22 205,4357 -#define BIT21 206,4382 -#define BIT20 207,4407 -#define BIT19 208,4432 -#define BIT18 209,4457 -#define BIT17 210,4482 -#define BIT16 211,4507 -#define BIT15 212,4532 -#define BIT14 213,4557 -#define BIT13 214,4582 -#define BIT12 215,4607 -#define BIT11 216,4632 -#define BIT10 217,4657 -#define BIT9 218,4682 -#define BIT8 219,4706 -#define BIT7 220,4730 -#define BIT6 221,4754 -#define BIT5 222,4778 -#define BIT4 223,4802 -#define BIT3 224,4826 -#define BIT2 225,4850 -#define BIT1 226,4874 -#define BIT0 227,4898 -#define UNIT_ALLOCATED 230,4945 -#define UNIT_INFO_CHANGED 231,4973 -#define FORMATING_MEDIA 232,5004 -#define UNIT_RETRY 233,5033 -#define DASD_SUPPORT 236,5077 -#define SCSI_SUPPORT 237,5103 -#define ASPI_SUPPORT 238,5129 -#define SRB_FREE 241,5194 -#define SRB_WAIT 242,5213 -#define SRB_READY 243,5235 -#define SRB_MSGOUT 244,5258 -#define SRB_MSGIN 245,5316 -#define SRB_MSGIN_MULTI 246,5339 -#define SRB_COMMAND 247,5368 -#define SRB_START_ 248,5393 -#define SRB_DISCONNECT 249,5454 -#define SRB_DATA_XFER 250,5482 -#define SRB_XFERPAD 251,5509 -#define SRB_STATUS 252,5534 -#define SRB_COMPLETED 253,5559 -#define SRB_ABORT_SENT 254,5587 -#define DO_SYNC_NEGO 255,5616 -#define SRB_UNEXPECT_RESEL 256,5643 -#define SRB_OK 259,5696 -#define ABORTION 260,5717 -#define OVER_RUN 261,5739 -#define UNDER_RUN 262,5761 -#define PARITY_ERROR 263,5784 -#define SRB_ERROR 264,5810 -#define RESET_DEV 267,5851 -#define RESET_DETECT 268,5874 -#define RESET_DONE 269,5900 -#define ABORT_DEV_ 272,5942 -#define DATAOUT 275,5984 -#define DATAIN 276,6006 -#define RESIDUAL_VALID 277,6027 -#define ENABLE_TIMER 278,6055 -#define RESET_DEV0 279,6081 -#define ABORT_DEV 280,6105 -#define AUTO_REQSENSE 281,6128 -#define H_STATUS_GOOD 284,6180 -#define H_SEL_TIMEOUT 285,6205 -#define H_OVER_UNDER_RUN 286,6233 -#define H_UNEXP_BUS_FREE 287,6263 -#define H_TARGET_PHASE_F 288,6293 -#define H_INVALID_CCB_OP 289,6323 -#define H_LINK_CCB_BAD 290,6353 -#define H_BAD_TARGET_DIR 291,6382 -#define H_DUPLICATE_CCB 292,6412 -#define H_BAD_CCB_OR_SG 293,6442 -#define H_ABORT 294,6472 -#define SCSI_STAT_UNEXP_BUS_F 299,6596 -#define SCSI_STAT_BUS_RST_DETECT 300,6657 -#define SCSI_STAT_SEL_TIMEOUT 301,6727 -#define RES_TARGET 304,6808 -#define RES_TARGET_LNX 305,6858 -#define RES_ENDMSG 306,6918 -#define RES_DID 307,6967 -#define RES_DRV 308,7013 -#define MK_RES(MK_RES310,7063 -#define MK_RES_LNX(MK_RES_LNX311,7158 -#define SET_RES_TARGET(SET_RES_TARGET313,7261 -#define SET_RES_TARGET_LNX(SET_RES_TARGET_LNX314,7336 -#define SET_RES_MSG(SET_RES_MSG315,7424 -#define SET_RES_DID(SET_RES_DID316,7501 -#define SET_RES_DRV(SET_RES_DRV317,7576 -#define SYNC_DISABLE 320,7671 -#define SYNC_ENABLE 321,7694 -#define SYNC_NEGO_DONE 322,7719 -#define WIDE_ENABLE 323,7747 -#define WIDE_NEGO_DONE 324,7791 -#define EN_TAG_QUEUEING 325,7838 -#define EN_ATN_STOP 326,7867 -#define SYNC_NEGO_OFFSET 328,7893 -#define SCSI_DATA_OUT 331,7945 -#define SCSI_DATA_IN 332,7969 -#define SCSI_COMMAND 333,7992 -#define SCSI_STATUS_ 334,8015 -#define SCSI_NOP0 335,8038 -#define SCSI_NOP1 336,8058 -#define SCSI_MSG_OUT 337,8078 -#define SCSI_MSG_IN 338,8101 -#define ABORT_TAG 341,8192 -} dc390_cmd_scp_t;dc390_cmd_scp_t348,8291 -typedef struct _SCSIInqData _SCSIInqData354,8342 -} SCSI_INQDATA, *PSCSI_INQDATA;PSCSI_INQDATA369,8939 -#define SCSI_DEVTYPE 375,9003 -#define SCSI_PERIPHQUAL 376,9072 -#define TYPE_NODEV 377,9142 -#define SCSI_REMOVABLE_MEDIA 382,9246 -# define TYPE_PRINTER 389,9435 -# define TYPE_COMM 392,9517 -#define SCSI_INQ_RELADR 399,9638 -#define SCSI_INQ_WBUS32 400,9717 -#define SCSI_INQ_WBUS16 401,9796 -#define SCSI_INQ_SYNC 402,9875 -#define SCSI_INQ_LINKED 403,9952 -#define SCSI_INQ_CMDQUEUE 404,10031 -#define SCSI_INQ_SFTRE 405,10110 -typedef struct _EEprom_EEprom413,10330 -} EEprom, *PEEprom;PEEprom419,10399 -#define REAL_EE_ADAPT_SCSI_ID 421,10420 -#define REAL_EE_MODE2 422,10453 -#define REAL_EE_DELAY 423,10478 -#define REAL_EE_TAG_CMD_NUM 424,10503 -#define EE_ADAPT_SCSI_ID 426,10535 -#define EE_MODE2 427,10563 -#define EE_DELAY 428,10583 -#define EE_TAG_CMD_NUM 429,10603 -#define EE_LEN 431,10630 -#define PARITY_CHK_ 434,10681 -#define SYNC_NEGO_ 435,10706 -#define EN_DISCONNECT_ 436,10730 -#define SEND_START_ 437,10758 -#define TAG_QUEUEING_ 438,10783 -#define MORE2_DRV 441,10842 -#define GREATER_1G 442,10865 -#define RST_SCSI_BUS 443,10889 -#define ACTIVE_NEGATION 444,10915 -#define NO_SEEK 445,10944 -#define LUN_CHECK 446,10966 -#define ENABLE_CE 448,10990 -#define DISABLE_CE 449,11010 -#define EEPROM_READ 450,11031 -#define DMA_COMMAND 464,11319 -#define NOP_CMD 465,11345 -#define CLEAR_FIFO_CMD 466,11365 -#define RST_DEVICE_CMD 467,11391 -#define RST_SCSI_BUS_CMD 468,11417 -#define INFO_XFER_CMD 470,11445 -#define INITIATOR_CMD_CMPLTE 471,11473 -#define MSG_ACCEPTED_CMD 472,11507 -#define XFER_PAD_BYTE 473,11537 -#define SET_ATN_CMD 474,11565 -#define RESET_ATN_CMD 475,11591 -#define SEL_WO_ATN 477,11620 -#define SEL_W_ATN 478,11670 -#define SEL_W_ATN_STOP 479,11694 -#define SEL_W_ATN3 480,11723 -#define EN_SEL_RESEL 481,11748 -#define DIS_SEL_RESEL 482,11775 -#define RESEL 483,11828 -#define RESEL_ATN3 484,11857 -#define DATA_XFER_CMD 486,11891 -#define INTERRUPT 490,11964 -#define ILLEGAL_OP_ERR 491,11988 -#define PARITY_ERR 492,12017 -#define COUNT_2_ZERO 493,12042 -#define GROUP_CODE_VALID 494,12069 -#define SCSI_PHASE_MASK 495,12099 -#define SCSI_RESET 499,12238 -#define INVALID_CMD 500,12263 -#define DISCONNECTED 501,12289 -#define SERVICE_REQUEST 502,12316 -#define SUCCESSFUL_OP 503,12346 -#define RESELECTED 504,12374 -#define SEL_ATTENTION 505,12399 -#define SELECTED 506,12427 -#define SYNC_OFFSET_FLAG 509,12488 -#define INTRN_STATE_MASK 510,12518 -#define CLK_FREQ_40MHZ 514,12668 -#define CLK_FREQ_35MHZ 515,12694 -#define CLK_FREQ_30MHZ 516,12735 -#define CLK_FREQ_25MHZ 517,12771 -#define CLK_FREQ_20MHZ 518,12807 -#define CLK_FREQ_15MHZ 519,12836 -#define CLK_FREQ_10MHZ 520,12872 -#define EXTENDED_TIMING 523,12935 -#define DIS_INT_ON_SCSI_RST 524,12965 -#define PARITY_ERR_REPO 525,12998 -#define SCSI_ID_ON_BUS 526,13028 -#define EN_FEATURE 529,13125 -#define EN_SCSI2_CMD 530,13150 -#define ID_MSG_CHECK 533,13211 -#define EN_QTAG_MSG 534,13238 -#define EN_GRP2_CMD 535,13264 -#define FAST_SCSI 536,13290 -#define FAST_CLK 537,13330 -#define EATER_12NS 540,13406 -#define EATER_25NS 541,13428 -#define EATER_35NS 542,13453 -#define EATER_0NS 543,13478 -#define REDUCED_POWER 544,13509 -#define CTRL4_RESERVED 545,13537 -#define NEGATE_REQACKDATA 546,13601 -#define NEGATE_REQACK 547,13632 -#define GLITCH_TO_NS(GLITCH_TO_NS549,13661 -#define NS_TO_GLITCH(NS_TO_GLITCH550,13739 -#define READ_DIRECTION 558,13921 -#define WRITE_DIRECTION 559,13950 -#define EN_DMA_INT 560,13977 -#define EN_PAGE_INT 561,14002 -#define MAP_TO_MDL 562,14065 -#define DIAGNOSTIC 563,14090 -#define DMA_IDLE_CMD 564,14115 -#define DMA_BLAST_CMD 565,14139 -#define DMA_ABORT_CMD 566,14167 -#define DMA_START_CMD 567,14195 -#define PCI_MS_ABORT 570,14264 -#define BLAST_COMPLETE 571,14291 -#define SCSI_INTERRUPT 572,14320 -#define DMA_XFER_DONE 573,14349 -#define DMA_XFER_ABORT 574,14377 -#define DMA_XFER_ERROR 575,14406 -#define POWER_DOWN 576,14435 -#define EN_INT_ON_PCI_ABORT 579,14497 -#define WRT_ERASE_DMA_STAT 580,14531 -#define PW_DOWN_CTRL 581,14564 -#define SCSI_BUSY 582,14592 -#define SCLK 583,14617 -#define SCAM 584,14638 -#define SCSI_LINES 585,14659 -#define CtcReg_Low 593,14898 -#define CtcReg_Mid 594,14951 -#define CtcReg_High 595,14983 -#define ScsiFifo 596,15016 -#define ScsiCmd 597,15038 -#define Scsi_Status 598,15060 -#define INT_Status 599,15093 -#define Sync_Period 600,15125 -#define Sync_Offset 601,15158 -#define Clk_Factor 602,15191 -#define CtrlReg1 603,15223 -#define CtrlReg2 604,15246 -#define CtrlReg3 605,15268 -#define CtrlReg4 606,15290 -#define DMA_Cmd 607,15312 -#define DMA_XferCnt 608,15334 -#define DMA_XferAddr 609,15401 -#define DMA_Wk_ByteCntr 610,15471 -#define DMA_Wk_AddrCntr 611,15529 -#define DMA_Status 612,15590 -#define DMA_MDL_Addr 613,15622 -#define DMA_Wk_MDL_Cntr 614,15678 -#define DMA_ScsiBusCtrl 615,15735 -#define StcReg_Low 617,15797 -#define StcReg_Mid 618,15856 -#define StcReg_High 619,15894 -#define Scsi_Dest_ID 620,15934 -#define Scsi_TimeOut 621,15975 -#define Intern_State 622,16015 -#define Current_Fifo 623,16056 -#define DC390_read8(DC390_read8626,16123 -#define DC390_read8_(DC390_read8_629,16195 -#define DC390_read16(DC390_read16632,16268 -#define DC390_read32(DC390_read32635,16341 -#define DC390_write8(DC390_write8638,16414 -#define DC390_write8_(DC390_write8_641,16500 -#define DC390_write16(DC390_write16644,16586 -#define DC390_write32(DC390_write32647,16673 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla1280.c,6199 -#define QLA1280_VERSION 20,910 -#define DEBUG_QLA1280_INTR 380,17662 -#define DEBUG_PRINT_NVRAM 381,17692 -#define DEBUG_QLA1280 382,17721 -#define MEMORY_MAPPED_IO 388,17835 -#define MEMORY_MAPPED_IO 390,17868 -#define UNIQUE_FW_NAME393,17903 -#define PCI_DEVICE_ID_QLOGIC_ISP1080 403,18082 -#define PCI_DEVICE_ID_QLOGIC_ISP1240 406,18170 -#define PCI_DEVICE_ID_QLOGIC_ISP1280 409,18258 -#define PCI_DEVICE_ID_QLOGIC_ISP10160 412,18347 -#define PCI_DEVICE_ID_QLOGIC_ISP12160 415,18437 -#define PCI_VENDOR_ID_AMI 419,18516 -#define QLA_64BIT_PTR 426,18688 -#define pci_dma_hi32(pci_dma_hi32430,18741 -#define pci_dma_hi32(pci_dma_hi32432,18791 -#define pci_dma_lo32(pci_dma_lo32434,18826 -#define NVRAM_DELAY(NVRAM_DELAY436,18870 -#define HOST_LOCK 439,18962 -#define irqreturn_t 440,18999 -#define IRQ_RETVAL(IRQ_RETVAL441,19026 -#define MSG_ORDERED_TAG 442,19050 -#define DMA_BIDIRECTIONAL 444,19079 -#define DMA_TO_DEVICE 445,19123 -#define DMA_FROM_DEVICE 446,19162 -#define DMA_NONE 447,19202 -typedef unsigned int sector_t;sector_t450,19258 -scsi_adjust_queue_depth(454,19316 -static inline struct Scsi_Host *scsi_host_alloc(462,19494 -static inline void scsi_host_put(466,19608 -#define HOST_LOCK 471,19693 -#define DEV_SIMPLE_TAGS(DEV_SIMPLE_TAGS474,19774 -#define __devexit480,19932 -#define DEV_SIMPLE_TAGS(DEV_SIMPLE_TAGS482,19956 -#define ia64_platform_is(ia64_platform_is485,20068 -#define IS_ISP1040(IS_ISP1040489,20136 -#define IS_ISP1x40(IS_ISP1x40490,20210 -#define IS_ISP1x160(IS_ISP1x160492,20341 -static int qla1280_setup(507,20881 -static char *qla1280;585,23749 -#define CMD_SP(CMD_SP600,24081 -#define CMD_CDBLEN(CMD_CDBLEN601,24114 -#define CMD_CDBP(CMD_CDBP602,24153 -#define CMD_SNSP(CMD_SNSP603,24188 -#define CMD_SNSLEN(CMD_SNSLEN604,24231 -#define CMD_RESULT(CMD_RESULT605,24283 -#define CMD_HANDLE(CMD_HANDLE606,24321 -#define CMD_REQUEST(CMD_REQUEST608,24400 -#define CMD_REQUEST(CMD_REQUEST610,24450 -#define CMD_HOST(CMD_HOST613,24503 -#define SCSI_BUS_32(SCSI_BUS_32614,24546 -#define SCSI_TCN_32(SCSI_TCN_32615,24594 -#define SCSI_LUN_32(SCSI_LUN_32616,24637 -struct qla_boards qla_boards623,24816 -static struct pci_device_id qla1280_pci_tbl[633,25238 -static struct qla_boards ql1280_board_tbl[648,25793 -static int qla1280_verbose 663,26427 -static int qla1280_buffer_size;664,26459 -static char *qla1280_buffer;665,26491 -static int ql_debug_level 668,26539 -#define dprintk(dprintk669,26570 -#define qla1280_dump_buffer(qla1280_dump_buffer671,26685 -#define qla1280_print_scsi_cmd(qla1280_print_scsi_cmd673,26796 -#define ql_debug_level 676,26907 -#define dprintk(dprintk677,26934 -#define qla1280_dump_buffer(qla1280_dump_buffer678,26984 -#define qla1280_print_scsi_cmd(qla1280_print_scsi_cmd679,27034 -#define ENTER(ENTER682,27092 -#define LEAVE(LEAVE683,27154 -#define ENTER_INTR(ENTER_INTR684,27215 -#define LEAVE_INTR(LEAVE_INTR685,27282 -#define PROC_BUF 698,27657 -static int qla1280_proc_info(700,27696 -static int qla1280_read_nvram(779,29909 -qla1280_info(863,32582 -qla1280_queuecommand(895,33691 -enum action action922,34415 - ABORT_COMMAND,923,34429 - ABORT_DEVICE,924,34445 - DEVICE_RESET,925,34460 - BUS_RESET,926,34475 - ADAPTER_RESET,927,34487 - FAIL928,34503 -static void qla1280_error_wait_timeout(932,34559 -static void qla1280_mailbox_timeout(940,34745 -qla1280_error_action(973,35948 -qla1280_eh_abort(1180,41620 -qla1280_eh_device_reset(1190,41945 -qla1280_eh_bus_reset(1200,42265 -qla1280_eh_adapter_reset(1210,42602 -qla1280_biosparam(1216,42716 -qla1280_detect(1241,43235 -qla1280_release(1315,45383 -qla1280_biosparam_old(1324,45550 -qla1280_proc_info_old(1330,45694 -qla1280_intr_handler(1351,46258 -qla1280_set_target_parameters(1388,47015 -qla1280_slave_configure(1440,48749 -qla1280_select_queue_depth(1502,50808 -qla1280_done(1527,51412 -qla1280_return_status(1597,53016 -qla1280_enable_intrs(1708,55625 -qla1280_disable_intrs(1720,55921 -qla1280_initialize_adapter(1742,56343 -qla1280_isp_firmware(1845,58785 -qla1280_chip_diag(1906,60407 -qla1280_load_firmware_pio(2016,63311 -#define DUMP_IT_BACK 2043,63992 -qla1280_load_firmware_dma(2045,64059 -qla1280_start_firmware(2145,66652 -qla1280_load_firmware(2177,67492 -qla1280_init_rings(2216,68332 -qla1280_print_settings(2266,69821 -qla1280_set_target_defaults(2316,71684 -qla1280_set_defaults(2349,73002 -qla1280_config_target(2398,74526 -qla1280_config_bus(2469,76679 -qla1280_nvram_config(2501,77562 -qla1280_get_nvram_word(2656,82119 -qla1280_nvram_request(2687,82778 -qla1280_nv_write(2730,83681 -qla1280_mailbox_command(2761,84464 -qla1280_poll(2868,87123 -qla1280_bus_reset(2904,87744 -qla1280_device_reset(2964,89212 -qla1280_abort_device(3000,89983 -qla1280_abort_command(3033,90707 -qla1280_reset_adapter(3071,91495 -qla1280_marker(3099,92120 -qla1280_64bit_start_scsi(3135,92922 -qla1280_32bit_start_scsi(3418,101699 -qla1280_req_pkt(3678,109157 -qla1280_isp_cmd(3746,110572 -qla1280_isr(3784,111756 -qla1280_rst_aen(4003,117574 -qla1280_get_target_options(4035,118214 -qla1280_status_entry(4084,119594 -qla1280_error_entry(4181,121978 -qla1280_abort_isp(4243,123585 -qla1280_debounce_register(4323,125163 -#define SET_SXP_BANK 4349,125828 -#define SCSI_PHASE_INVALID 4350,125867 -qla1280_check_for_dead_scsi_bus(4352,125917 -qla1280_get_target_parameters(4384,126814 -__qla1280_dump_buffer(4421,127681 -__qla1280_print_scsi_cmd(4450,128309 -ql1280_dump_device(4490,129677 -enum tokens tokens4510,130035 - TOKEN_NVRAM,4511,130049 - TOKEN_SYNC,4512,130063 - TOKEN_WIDE,4513,130076 - TOKEN_PPR,4514,130089 - TOKEN_VERBOSE,4515,130101 - TOKEN_DEBUG,4516,130117 -struct setup_tokens setup_tokens4519,130135 -static struct setup_tokens setup_token[4524,130185 -static struct setup_tokens setup_token[] __initdata 4524,130185 -qla1280_setup(4542,130707 -qla1280_get_token(4604,131770 -static struct scsi_host_template qla1280_driver_template 4628,132133 -static Scsi_Host_Template qla1280_driver_template 4647,132760 -qla1280_probe_one(4670,133448 -qla1280_remove_one(4850,138222 -static struct pci_driver qla1280_pci_driver 4882,138955 -qla1280_init(4890,139151 -qla1280_exit(4919,139985 -# define driver_template 4928,140115 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dtc.h,859 -#define DTC3280_H29,510 -#define CMD_PER_LUN 41,919 -#define CAN_QUEUE 45,967 -#define NCR5380_implementation_fields 48,997 -#define NCR5380_local_declare(NCR5380_local_declare51,1060 -#define NCR5380_setup(NCR5380_setup54,1117 -#define DTC_address(DTC_address57,1194 -#define dbNCR5380_read(dbNCR5380_read59,1251 -#define dbNCR5380_write(dbNCR5380_write64,1501 -#define NCR5380_read(NCR5380_read71,1799 -#define NCR5380_write(NCR5380_write72,1855 -#define NCR5380_read(NCR5380_read74,1933 -#define xNCR5380_read(xNCR5380_read75,1989 -#define NCR5380_write(NCR5380_write79,2159 -#define NCR5380_intr 85,2377 -#define NCR5380_queue_command 86,2409 -#define NCR5380_abort 87,2458 -#define NCR5380_bus_reset 88,2492 -#define NCR5380_device_reset 89,2533 -#define NCR5380_host_reset 90,2580 -#define NCR5380_proc_info 91,2623 -#define DTC_IRQS 96,2708 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_conf.h,307 -#define SYM_CONF_H54,2541 -#define SYM_CONF_MAX_TARGET 63,2711 -#define SYM_CONF_MAX_LUN 74,3073 -#define SYM_CONF_TIMEOUT_ORDER_MAX 99,3820 -#define SYM_CONF_IARB_MAX 107,4011 -#define SYM_CONF_SET_IARB_ON_ARB_LOST 108,4039 -#define SYM_SETUP_RESIDUAL_SUPPORT 116,4280 -#define SYM_SETUP_MAX_LUN 128,4675 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_fw.h,1201 -#define SYM_FW_H54,2539 -#define SYM_GEN_FW_A(SYM_GEN_FW_A58,2615 -#define SYM_GEN_FW_B(SYM_GEN_FW_B77,3336 -#define SYM_GEN_FW_Z(SYM_GEN_FW_Z93,3961 -#define SYM_GEN_A(SYM_GEN_A100,4137 -#define SYM_GEN_B(SYM_GEN_B101,4174 -#define SYM_GEN_Z(SYM_GEN_Z102,4211 -struct sym_fwa_ofs sym_fwa_ofs103,4248 -struct sym_fwb_ofs sym_fwb_ofs106,4295 - SYM_GEN_FW_B(SYM_GEN_FW_B107,4316 -struct sym_fwz_ofs sym_fwz_ofs114,4472 -struct sym_fwa_ba sym_fwa_ba122,4620 -struct sym_fwb_ba sym_fwb_ba125,4662 - SYM_GEN_FW_B(SYM_GEN_FW_B126,4682 -struct sym_fwz_ba sym_fwz_ba133,4824 -struct sym_fw sym_fw149,5127 -#define SYM_FW_ENTRY(SYM_FW_ENTRY171,5825 -#define SCRIPTA_BA(SCRIPTA_BA184,6163 -#define SCRIPTB_BA(SCRIPTB_BA185,6213 -#define SCRIPTZ_BA(SCRIPTZ_BA186,6263 -#define RELOC_SOFTC 207,7086 -#define RELOC_LABEL_A 208,7117 -#define RELOC_REGISTER 209,7150 -#define RELOC_LABEL_B 210,7184 -#define RELOC_MASK 211,7217 -#define HADDR_1(HADDR_1213,7248 -#define HADDR_2(HADDR_2214,7325 -#define RADDR_1(RADDR_1216,7417 -#define RADDR_2(RADDR_2217,7473 -#define SYM_GEN_PADDR_A(SYM_GEN_PADDR_A219,7541 -#define SYM_GEN_PADDR_B(SYM_GEN_PADDR_B220,7613 -#define SCR_DATA_ZERO 222,7686 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_hipd.h,6270 -#define SYM_HIPD_H54,2541 -#define SYM_OPT_HANDLE_DIR_UNKNOWN78,3280 -#define SYM_OPT_HANDLE_DEVICE_QUEUEING79,3315 -#define SYM_OPT_LIMIT_COMMAND_REORDERING80,3354 -#define DEBUG_ALLOC 88,3559 -#define DEBUG_PHASE 89,3588 -#define DEBUG_POLL 90,3617 -#define DEBUG_QUEUE 91,3645 -#define DEBUG_RESULT 92,3674 -#define DEBUG_SCATTER 93,3704 -#define DEBUG_SCRIPT 94,3735 -#define DEBUG_TINY 95,3765 -#define DEBUG_TIMING 96,3793 -#define DEBUG_NEGO 97,3823 -#define DEBUG_TAGS 98,3851 -#define DEBUG_POINTER 99,3879 -#define DEBUG_FLAGS 102,3931 -#define sym_verbose 106,3988 -#define assert(assert113,4101 -#define SYM_CONF_MAX_TASK 129,4441 -#define SYM_CONF_MAX_TAG 135,4574 -#define SYM_CONF_MAX_TAG 139,4689 -#define NO_TAG 145,4790 -#define SYM_CONF_MIN_ASYNC 165,5168 -#define SYM_MEM_SHIFT 172,5369 -#define SYM_MEM_CLUSTER_SIZE 173,5393 -#define SYM_MEM_CLUSTER_MASK 174,5453 -#define SYM_CONF_MAX_QUEUE 183,5711 -#define SYM_CONF_MAX_QUEUE 185,5767 -#define SYM_CONF_MAX_START 186,5818 -#define SYM_CONF_MAX_QUEUE 191,5950 -#define SYM_CONF_MAX_START 193,6028 -#define MAX_QUEUE 199,6136 -#define INB(INB204,6252 -#define INW(INW205,6304 -#define INL(INL206,6356 -#define OUTB(OUTB208,6409 -#define OUTW(OUTW209,6470 -#define OUTL(OUTL210,6531 -#define OUTONB(OUTONB212,6593 -#define OUTOFFB(OUTOFFB213,6636 -#define OUTONW(OUTONW214,6681 -#define OUTOFFW(OUTOFFW215,6724 -#define OUTONL(OUTONL216,6769 -#define OUTOFFL(OUTOFFL217,6812 -#define OUTL_DSP(OUTL_DSP224,7003 -#define OUTONB_STD(OUTONB_STD230,7108 -#define HS_IDLE 239,7266 -#define HS_BUSY 240,7287 -#define HS_NEGOTIATE 241,7308 -#define HS_DISCONNECT 242,7362 -#define HS_WAIT 243,7417 -#define HS_DONEMASK 245,7468 -#define HS_COMPLETE 246,7495 -#define HS_SEL_TIMEOUT 247,7531 -#define HS_UNEXPECTED 248,7599 -#define HS_COMP_ERR 249,7666 -#define SIR_BAD_SCSI_STATUS 254,7768 -#define SIR_SEL_ATN_NO_MSG_OUT 255,7800 -#define SIR_MSG_RECEIVED 256,7835 -#define SIR_MSG_WEIRD 257,7864 -#define SIR_NEGO_FAILED 258,7891 -#define SIR_NEGO_PROTO 259,7920 -#define SIR_SCRIPT_STOPPED 260,7948 -#define SIR_REJECT_TO_SEND 261,7979 -#define SIR_SWIDE_OVERRUN 262,8010 -#define SIR_SODL_UNDERRUN 263,8040 -#define SIR_RESEL_NO_MSG_IN 264,8071 -#define SIR_RESEL_NO_IDENTIFY 265,8104 -#define SIR_RESEL_BAD_LUN 266,8139 -#define SIR_TARGET_SELECTED 267,8170 -#define SIR_RESEL_BAD_I_T_L 268,8203 -#define SIR_RESEL_BAD_I_T_L_Q 269,8236 -#define SIR_ABORT_SENT 270,8271 -#define SIR_RESEL_ABORTED 271,8300 -#define SIR_MSG_OUT_DONE 272,8331 -#define SIR_COMPLETE_ERROR 273,8361 -#define SIR_DATA_OVERRUN 274,8393 -#define SIR_BAD_PHASE 275,8423 -#define SIR_DMAP_DIRTY 277,8489 -#define SIR_MAX 278,8518 -#define SIR_MAX 280,8547 -#define XE_EXTRA_DATA 287,8656 -#define XE_BAD_PHASE 288,8711 -#define XE_PARITY_ERR 289,8767 -#define XE_SODL_UNRUN 290,8832 -#define XE_SWIDE_OVRUN 291,8898 -#define NS_SYNC 297,9037 -#define NS_WIDE 298,9058 -#define NS_PPR 299,9079 -#define CCB_HASH_SHIFT 305,9183 -#define CCB_HASH_SIZE 306,9209 -#define CCB_HASH_MASK 307,9256 -#define CCB_HASH_CODE(CCB_HASH_CODE309,9303 -#define CCB_HASH_CODE(CCB_HASH_CODE312,9403 -#define SYM_DMAP_SHIFT 320,9625 -#define SYM_DMAP_SIZE 321,9652 -#define SYM_DMAP_MASK 322,9695 -#define SYM_DISC_ENABLED 328,9768 -#define SYM_TAGS_ENABLED 329,9797 -#define SYM_SCAN_BOOT_DISABLED 330,9829 -#define SYM_SCAN_LUNS_DISABLED 331,9867 -#define SYM_AVOID_BUS_RESET 336,9951 -#define SYM_SCAN_TARGETS_HILO 337,9983 -#define SYM_SNOOP_TIMEOUT 342,10038 -#define BUS_8_BIT 343,10075 -#define BUS_16_BIT 344,10095 -struct sym_trans sym_trans349,10163 -struct sym_tinfo sym_tinfo358,10287 -struct sym_tcbh sym_tcbh375,10707 -struct sym_tcb sym_tcb398,11394 -struct sym_lcbh sym_lcbh473,13062 -struct sym_lcb sym_lcb497,13594 -struct sym_actscr sym_actscr574,15232 -struct sym_pmc sym_pmc586,15547 -#define sym_lp(sym_lp598,15864 -#define sym_lp(sym_lp600,15926 -#define HX_REG 616,16357 -#define HX_PRT 617,16378 -#define HS_REG 618,16402 -#define HS_PRT 619,16423 -#define SS_REG 620,16447 -#define SS_PRT 621,16468 -#define HF_REG 622,16492 -#define HF_PRT 623,16513 -#define host_xflags 628,16572 -#define host_status 629,16615 -#define ssss_status 630,16658 -#define host_flags 631,16701 -#define HF_IN_PM0 636,16767 -#define HF_IN_PM1 637,16788 -#define HF_ACT_PM 638,16814 -#define HF_DP_SAVED 639,16840 -#define HF_SENSE 640,16868 -#define HF_EXT_ERR 641,16893 -#define HF_DATA_IN 642,16920 -#define HF_HINT_IARB 644,16976 -#define HX_DMAP_DIRTY 651,17078 -struct sym_ccbh sym_ccbh665,17453 -#define sym_set_script_dp(sym_set_script_dp697,18284 -#define sym_get_script_dp(sym_get_script_dp704,18488 -#define sym_set_script_dp(sym_set_script_dp708,18622 -#define sym_get_script_dp(sym_get_script_dp713,18736 -struct sym_dsb sym_dsb723,18982 -struct sym_ccb sym_ccb754,19647 -#define SYM_SNS_BBUF_LEN 769,20055 -#define CCB_BA(CCB_BA842,22085 -#define sym_goalp(sym_goalp845,22188 -#define sym_goalp(sym_goalp847,22273 -struct sym_hcb sym_hcb853,22345 -#define HCB_BA(HCB_BA1091,29627 -static void __inline sym_untimeout_ccb(1137,31253 -#define sym_build_sge(sym_build_sge1162,31943 -#define sym_build_sge(sym_build_sge1168,32124 -sym_build_sge(1176,32411 -static inline void sym_setup_data_pointers(1199,32853 -typedef struct sym_m_link sym_m_link1267,34275 -} *m_link_p;m_link_p1269,34329 -typedef struct sym_m_vtob sym_m_vtob1275,34469 -} *m_vtob_p;m_vtob_p1282,34734 -#define VTOB_HASH_SHIFT 1285,34801 -#define VTOB_HASH_SIZE 1286,34828 -#define VTOB_HASH_MASK 1287,34877 -#define VTOB_HASH_CODE(VTOB_HASH_CODE1288,34920 -typedef struct sym_m_pool sym_m_pool1300,35356 -#define M_GET_MEM_CLUSTER(M_GET_MEM_CLUSTER1306,35591 -#define M_FREE_MEM_CLUSTER(M_FREE_MEM_CLUSTER1307,35644 -} *m_pool_p;m_pool_p1315,35924 -#define _uvptv_(_uvptv_1337,36565 -#define _sym_calloc_dma(_sym_calloc_dma1339,36609 -#define _sym_mfree_dma(_sym_mfree_dma1340,36680 -#define sym_calloc_dma(sym_calloc_dma1342,36769 -#define sym_mfree_dma(sym_mfree_dma1343,36825 -#define _vtobus(_vtobus1344,36885 -#define vtobus(vtobus1345,36945 -#define PRINT_ADDR 1350,37022 -#define PRINT_TARGET 1351,37056 -#define PRINT_LUN 1352,37094 -#define MDELAY 1353,37126 -#define UDELAY 1354,37153 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_fw.c,949 -#define SYM_GEN_A(SYM_GEN_A62,2649 -#define SYM_GEN_B(SYM_GEN_B63,2707 -#define SYM_GEN_Z(SYM_GEN_Z64,2765 -#define PADDR_A(PADDR_A65,2823 -#define PADDR_B(PADDR_B66,2890 -#define SYM_FWA_SCR 73,3033 -#define SYM_FWB_SCR 74,3067 -#define SYM_FWZ_SCR 75,3101 -static struct sym_fwa_ofs sym_fw1a_ofs 81,3217 -static struct sym_fwb_ofs sym_fw1b_ofs 84,3297 -static struct sym_fwz_ofs sym_fw1z_ofs 90,3458 -#define SYM_FWA_SCR 101,3679 -#define SYM_FWB_SCR 102,3713 -#define SYM_FWZ_SCR 103,3747 -static struct sym_fwa_ofs sym_fw2a_ofs 109,3863 -static struct sym_fwb_ofs sym_fw2b_ofs 112,3943 -static struct sym_fwz_ofs sym_fw2z_ofs 120,4186 -sym_fw1_patch(138,4489 -sym_fw2_patch(179,5614 -sym_fw_fill_data 268,8144 -sym_fw_setup_bus_addresses(285,8507 -sym_fw1_setup(322,9300 -sym_fw2_setup(346,9816 -static struct sym_fw sym_fw1 369,10310 -static struct sym_fw sym_fw2 371,10417 -sym_find_firmware(377,10567 -void sym_fw_bind_script(392,10848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_nvram.h,2775 -#define SYM_NVRAM_H54,2542 -#define SYMBIOS_NVRAM_SIZE 61,2622 -#define SYMBIOS_NVRAM_ADDRESS 62,2653 -struct Symbios_nvram Symbios_nvram64,2690 -#define SYMBIOS_SCAM_ENABLE 75,2955 -#define SYMBIOS_PARITY_ENABLE 76,2987 -#define SYMBIOS_VERBOSE_MSGS 77,3024 -#define SYMBIOS_CHS_MAPPING 78,3060 -#define SYMBIOS_NO_NVRAM 79,3095 -#define SYMBIOS_SCAN_HI_LO 81,3154 -#define SYMBIOS_TERM_CANT_PROGRAM 83,3206 -#define SYMBIOS_TERM_ENABLED 84,3244 -#define SYMBIOS_TERM_DISABLED 85,3278 -#define SYMBIOS_RMVBL_NO_SUPPORT 87,3335 -#define SYMBIOS_RMVBL_BOOT_DEVICE 88,3372 -#define SYMBIOS_RMVBL_MEDIA_INSTALLED 89,3410 -#define SYMBIOS_AVOID_BUS_RESET 96,3625 - struct Symbios_host{Symbios_host99,3696 -#define SYMBIOS_INIT_SCAN_AT_BOOT 107,3967 - struct Symbios_target Symbios_target112,4090 -#define SYMBIOS_DISCONNECT_ENABLE 114,4131 -#define SYMBIOS_SCAN_AT_BOOT_TIME 115,4169 -#define SYMBIOS_SCAN_LUNS 116,4210 -#define SYMBIOS_QUEUE_TAGS_ENABLED 117,4244 - struct Symbios_scam Symbios_scam125,4467 -#define SYMBIOS_SCAM_DEFAULT_METHOD 128,4522 -#define SYMBIOS_SCAM_DONT_ASSIGN 129,4562 -#define SYMBIOS_SCAM_SET_SPECIFIC_ID 130,4599 -#define SYMBIOS_SCAM_USE_ORDER_GIVEN 131,4640 -#define SYMBIOS_SCAM_UNKNOWN 133,4699 -#define SYMBIOS_SCAM_DEVICE_NOT_FOUND 134,4733 -#define SYMBIOS_SCAM_ID_NOT_SET 135,4775 -#define SYMBIOS_SCAM_ID_VALID 136,4812 -typedef struct Symbios_nvram Symbios_nvram;Symbios_nvram144,4984 -typedef struct Symbios_host Symbios_host;Symbios_host145,5028 -typedef struct Symbios_target Symbios_target;Symbios_target146,5070 -typedef struct Symbios_scam Symbios_scam;Symbios_scam147,5116 -#define TEKRAM_NVRAM_SIZE 152,5195 -#define TEKRAM_93C46_NVRAM_ADDRESS 153,5224 -#define TEKRAM_24C16_NVRAM_ADDRESS 154,5261 -struct Tekram_nvram Tekram_nvram156,5302 - struct Tekram_target Tekram_target157,5324 -#define TEKRAM_PARITY_CHECK 159,5364 -#define TEKRAM_SYNC_NEGO 160,5397 -#define TEKRAM_DISCONNECT_ENABLE 161,5430 -#define TEKRAM_START_CMD 162,5470 -#define TEKRAM_TAGGED_COMMANDS 163,5503 -#define TEKRAM_WIDE_NEGO 164,5542 -#define TEKRAM_MORE_THAN_2_DRIVES 170,5660 -#define TEKRAM_DRIVES_SUP_1GB 171,5698 -#define TEKRAM_RESET_ON_POWER_ON 172,5736 -#define TEKRAM_ACTIVE_NEGATION 173,5776 -#define TEKRAM_IMMEDIATE_SEEK 174,5815 -#define TEKRAM_SCAN_LUNS 175,5853 -#define TEKRAM_REMOVABLE_FLAGS 176,5886 -#define TEKRAM_F2_F6_ENABLED 181,6044 -typedef struct Tekram_nvram Tekram_nvram;Tekram_nvram184,6101 -typedef struct Tekram_target Tekram_target;Tekram_target185,6143 -struct sym_nvram sym_nvram190,6233 -#define SYM_SYMBIOS_NVRAM 192,6263 -#define SYM_TEKRAM_NVRAM 193,6293 -static inline void sym_nvram_setup_host(207,6684 -static inline void sym_nvram_setup_target(208,6773 -static inline int sym_read_nvram(209,6864 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_fw1.h,270 -struct SYM_FWA_SCR SYM_FWA_SCR68,2938 -struct SYM_FWB_SCR SYM_FWB_SCR174,5198 -struct SYM_FWZ_SCR SYM_FWZ_SCR234,6517 -static struct SYM_FWA_SCR SYM_FWA_SCR 239,6587 -static struct SYM_FWB_SCR SYM_FWB_SCR 1350,34483 -static struct SYM_FWZ_SCR SYM_FWZ_SCR 1824,47031 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym53c8xx.h,1393 -#define SYM53C8XX_H54,2542 -#define SYM_CONF_IOMAPPED59,2628 -#define SYM_CONF_DMA_ADDRESSING_MODE 70,2891 -#define SYM_CONF_NVRAM_SUPPORT 76,3003 -#define SYM_LINUX_PROC_INFO_SUPPORT83,3113 -#define SYM_LINUX_BOOT_COMMAND_LINE_SUPPORT84,3149 -#define SYM_LINUX_USER_COMMAND_SUPPORT85,3193 -#define SYM_LINUX_USER_INFO_SUPPORT86,3232 -#define SYM_LINUX_DEBUG_CONTROL_SUPPORT87,3268 -#define SYM_CONF_GENERIC_SUPPORT 93,3365 -#define CONFIG_SCSI_SYM53C8XX_MAX_TAGS 99,3489 -#define SYM_CONF_MAX_TAG 103,3579 -#define SYM_CONF_MAX_TAG 105,3651 -#define SYM_CONF_MAX_TAG 107,3688 -#define CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS 111,3795 -#define SYM_CONF_MAX_TAG_ORDER 118,3966 -#define SYM_CONF_MAX_TAG_ORDER 120,4031 -#define SYM_CONF_MAX_TAG_ORDER 122,4072 -#define SYM_CONF_MAX_SG 128,4152 -struct sym_driver_setup sym_driver_setup136,4344 -#define SYM_SETUP_MAX_TAG 154,4649 -#define SYM_SETUP_BURST_ORDER 155,4701 -#define SYM_SETUP_SCSI_LED 156,4761 -#define SYM_SETUP_SCSI_DIFF 157,4815 -#define SYM_SETUP_IRQ_MODE 158,4871 -#define SYM_SETUP_SCSI_BUS_CHECK 159,4925 -#define SYM_SETUP_HOST_ID 160,4990 -#define SYM_SETUP_PCI_PARITY 163,5071 -#define SYM_SETUP_SCSI_PARITY 164,5103 -#define SYM_LINUX_DRIVER_SETUP 171,5217 -#define SYM_LINUX_DRIVER_SAFE_SETUP 192,5676 - sym_driver_setup 213,6174 -u_int sym_debug_flags 215,6257 -#define DEBUG_FLAGS 225,6486 -#define boot_verbose 227,6529 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_misc.h,1129 -#define SYM_MISC_H54,2541 -typedef struct sym_quehead sym_quehead59,2605 -} SYM_QUEHEAD;SYM_QUEHEAD62,2736 -#define sym_que_init(sym_que_init64,2752 -static __inline struct sym_quehead *sym_que_first(68,2845 -static __inline struct sym_quehead *sym_que_last(73,2975 -static __inline void __sym_que_add(78,3104 -static __inline void __sym_que_del(88,3312 -static __inline int sym_que_empty(95,3455 -static __inline void sym_que_splice(100,3549 -static __inline void sym_que_move(117,3886 -#define sym_que_entry(sym_que_entry137,4278 -#define sym_insque(sym_insque141,4387 -#define sym_remque(sym_remque143,4456 -#define sym_insque_head(sym_insque_head145,4522 -static __inline struct sym_quehead *sym_remque_head(147,4598 -#define sym_insque_tail(sym_insque_tail158,4813 -static __inline struct sym_quehead *sym_remque_tail(160,4889 -#define FOR_EACH_QUEUED_ELEMENT(FOR_EACH_QUEUED_ELEMENT174,5136 -#define sym_qptr(sym_qptr180,5329 -#define sym_set_bit(sym_set_bit185,5417 -#define sym_clr_bit(sym_clr_bit186,5486 -#define sym_is_bit(sym_is_bit187,5555 -#define _U_(_U_194,5789 -#define _LGRU16_(_LGRU16_199,5883 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_nvram.c,1299 -static u_char Tekram_boot_delay[57,2596 -void sym_nvram_setup_host(63,2708 -sym_Symbios_setup_target(93,3532 -sym_Tekram_setup_target(113,4110 -void sym_nvram_setup_target(133,4678 -static void sym_display_Symbios_nvram(151,5083 -static void sym_display_Tekram_nvram(183,6192 -static void sym_display_Symbios_nvram(230,7869 -static void sym_display_Tekram_nvram(231,7979 -#define SET_BIT 243,8257 -#define CLR_BIT 244,8275 -#define SET_CLK 245,8293 -#define CLR_CLK 246,8311 -static void S24C16_set_bit(251,8375 -static void S24C16_start(277,8789 -static void S24C16_stop(288,9091 -static void S24C16_do_bit(298,9334 -static void S24C16_write_ack(313,9768 -static void S24C16_read_ack(325,10097 -static void S24C16_write_byte(337,10439 -static void S24C16_read_byte(352,10849 -static int sym_write_S24C16_nvram(371,11278 -static int sym_read_S24C16_nvram(425,12680 -static int sym_read_Symbios_nvram(504,14663 -static void T93C46_Clk(545,15538 -static void T93C46_Read_Bit(555,15708 -static void T93C46_Write_Bit(565,15893 -static void T93C46_Stop(583,16209 -static void T93C46_Send_Command(595,16407 -static void T93C46_Read_Word(610,16754 -static int T93C46_Read_Data(630,17124 -static int sym_read_T93C46_nvram(651,17567 -static int sym_read_Tekram_nvram 683,18368 -int sym_read_nvram(721,19157 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_malloc.c,764 -static void *___sym_malloc(77,3370 -static void ___sym_mfree(123,4117 -static void *__sym_calloc2(175,4976 -#define __sym_calloc(__sym_calloc191,5324 -static void __sym_mfree(196,5423 -static m_addr_t ___mp0_get_mem_cluster(210,5807 -static void ___mp0_free_mem_cluster(219,5972 -static struct sym_m_pool mp0 227,6111 -static struct sym_m_pool mp0 230,6206 -void *sym_calloc_unlocked(237,6343 -void sym_mfree_unlocked(247,6483 -static m_addr_t ___get_dma_mem_cluster(258,6860 -static void ___free_dma_mem_cluster(282,7337 -static __inline m_pool_p ___get_dma_pool(301,7777 -static m_pool_p ___cre_dma_pool(311,8024 -static void ___del_dma_pool(335,8582 -void *__sym_calloc_dma_unlocked(352,8868 -__sym_mfree_dma_unlocked(374,9232 -u32 __vtobus_unlocked(391,9593 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_fw2.h,270 -struct SYM_FWA_SCR SYM_FWA_SCR68,2938 -struct SYM_FWB_SCR SYM_FWB_SCR158,4838 -struct SYM_FWZ_SCR SYM_FWZ_SCR228,6351 -static struct SYM_FWA_SCR SYM_FWA_SCR 233,6421 -static struct SYM_FWB_SCR SYM_FWB_SCR 1223,32056 -static struct SYM_FWZ_SCR SYM_FWZ_SCR 1916,51015 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_hipd.c,3315 -#define SYM_DEBUG_GENERIC_SUPPORT56,2573 -char *sym_driver_name(74,3079 -static void sym_printb_hex 81,3185 -static void sym_printl_hex 90,3335 -static void sym_print_target 101,3589 -static void sym_print_lun(106,3688 -static int sym_show_msg 114,3852 -static void sym_print_msg 131,4141 -static void sym_print_nego_msg 141,4310 -void sym_print_xerr(154,4567 -static char *sym_scsi_bus_mode(181,5159 -static void sym_chip_reset 199,5570 -static void sym_soft_reset 216,5984 -static void sym_start_reset(249,6615 -int sym_reset_scsi_bus(254,6694 -static void sym_selectclock(309,8125 -static unsigned getfreq 364,9696 -static unsigned sym_getfreq 436,11720 -static void sym_getclock 451,12009 -static int sym_getpciclock 508,13356 -#define _5M 536,13875 -static u32 div_10M[537,13895 -sym_getsync(544,14073 -#define burst_length(burst_length653,16805 -#define burst_code(burst_code658,16899 -static __inline void sym_init_burst(664,17071 -static void sym_print_targets_flag(684,17419 -static void sym_save_initial_setting 712,18093 -static u32 parisc_setup_hcb(733,18736 -static inline int parisc_setup_hcb(763,19550 -static int sym_prepare_setting(769,19745 -static int sym_regtest 1107,28678 -static int sym_snooptest 1131,29216 -static void sym_log_hard_error(1257,32159 -static struct sym_pci_chip sym_pci_dev_table[1314,33684 -#define sym_pci_num_devs 1398,36585 -sym_lookup_pci_chip_table 1408,36803 -int sym_lookup_dmap(1431,37270 -static void sym_update_dmap_regs(1464,37916 -static void sym_check_goals(1479,38163 -static int sym_prepare_nego(1535,39515 -void sym_put_start_queue(1613,41344 -void sym_start_next_ccbs(1679,42907 -static int sym_wakeup_done 1733,44349 -static void sym_flush_busy_queue 1770,44930 -void sym_start_up 1789,45348 -static void sym_settrans(2025,51411 -static void sym_setwide(2134,53682 -sym_setsync(2153,54093 -sym_setpprot(2179,54708 -static void sym_recover_scsi_int 2220,56325 -static void sym_int_sto 2271,57724 -static void sym_int_udc 2286,58015 -static void sym_int_sbmc 2302,58560 -static void sym_int_par 2343,59897 -static void sym_int_ma 2431,62093 -void sym_interrupt 2841,73490 -sym_dequeue_from_squeue(2996,77844 -void sym_flush_comp_queue(3053,79446 -static void sym_sir_bad_scsi_status(3111,81126 -int sym_clear_tasks(3281,85506 -static void sym_sir_task_recovery(3364,88196 -static int sym_evaluate_dp(3717,97170 -static void sym_modify_dp(3835,99809 -int sym_compute_residual(3934,102150 -sym_sync_nego_check(4034,105092 -static void sym_sync_nego(4115,106523 -sym_ppr_nego_check(4152,107294 -static void sym_ppr_nego(4263,109471 -sym_wide_nego_check(4300,110240 -static void sym_wide_nego(4365,111298 -static void sym_nego_default(4434,112979 -static void sym_nego_rejected(4464,113673 -static void sym_int_sir 4473,113855 -ccb_p sym_get_ccb 4747,120479 -void sym_free_ccb 4896,123863 -static ccb_p sym_alloc_ccb(5006,126260 -static ccb_p sym_ccb_from_dsa(5093,127966 -static void sym_init_tcb 5113,128274 -lcb_p sym_alloc_lcb 5129,128700 -static void sym_alloc_lcb_tags 5231,130761 -int sym_queue_scsiio(5283,131904 -int sym_reset_scsi_target(5425,135140 -int sym_abort_ccb(5444,135423 -int sym_abort_scsiio(5474,135976 -void sym_complete_error 5504,136697 -void sym_complete_ok 5639,139509 -int sym_hcb_attach(5750,141730 -void sym_hcb_free(5996,148294 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_defs.h,9538 -#define SYM_DEFS_H54,2541 -#define SYM_VERSION 56,2561 -#define SYM_DRIVER_NAME 57,2591 -#define PCI_VENDOR_NCR 62,2654 -#define PCI_ID_SYM53C810 67,2737 -#define PCI_ID_SYM53C810AP 68,2764 -#define PCI_ID_SYM53C815 69,2793 -#define PCI_ID_SYM53C820 70,2820 -#define PCI_ID_SYM53C825 71,2847 -#define PCI_ID_SYM53C860 72,2874 -#define PCI_ID_SYM53C875 73,2901 -#define PCI_ID_SYM53C875_2 74,2930 -#define PCI_ID_SYM53C885 75,2962 -#define PCI_ID_SYM53C895 76,2991 -#define PCI_ID_SYM53C896 77,3020 -#define PCI_ID_SYM53C895A 78,3049 -#define PCI_ID_SYM53C875A 79,3080 -#define PCI_ID_LSI53C1010_33 80,3111 -#define PCI_ID_LSI53C1010_66 81,3145 -#define PCI_ID_LSI53C1510D 82,3179 -struct sym_pci_chip sym_pci_chip87,3259 -#define FE_LED0 96,3464 -#define FE_WIDE 97,3488 -#define FE_ULTRA 98,3541 -#define FE_ULTRA2 99,3598 -#define FE_DBLR 100,3655 -#define FE_QUAD 101,3709 -#define FE_ERL 102,3766 -#define FE_CLSE 103,3815 -#define FE_WRIE 104,3871 -#define FE_ERMP 105,3930 -#define FE_BOF 106,3984 -#define FE_DFS 107,4035 -#define FE_PFEN 108,4081 -#define FE_LDSTR 109,4130 -#define FE_RAM 110,4184 -#define FE_VARCLK 111,4236 -#define FE_RAM8K 112,4295 -#define FE_64BIT 113,4350 -#define FE_IO256 114,4408 -#define FE_NOPM 115,4478 -#define FE_LEDC 116,4542 -#define FE_ULTRA3 117,4599 -#define FE_66MHZ 118,4660 -#define FE_CRC 119,4711 -#define FE_DIFF 120,4755 -#define FE_DFBC 121,4805 -#define FE_LCKFRQ 122,4857 -#define FE_C10 123,4903 -#define FE_U3EN 124,4966 -#define FE_DAC 125,5015 -#define FE_ISTAT1 126,5083 -#define FE_CACHE_SET 128,5155 -#define FE_CACHE0_SET 129,5209 -struct sym_reg sym_reg135,5308 - #define ISCON 139,5448 - #define CRST 140,5509 - #define IARB 141,5580 - #define SDU 144,5713 - #define CHM 145,5777 - #define WSS 146,5841 - #define WSR 147,5905 - #define EWS 150,6031 - #define ULTRA 151,6095 - #define RRE 155,6262 - #define SRE 156,6326 - #define CREQ 168,6696 - #define CACK 169,6758 - #define CBSY 170,6820 - #define CSEL 171,6882 - #define CATN 172,6944 - #define CMSG 173,7006 - #define CC_D 174,7068 - #define CI_O 175,7130 - #define DFE 182,7256 - #define MDPE 183,7327 - #define BF 184,7398 - #define ABRT 185,7469 - #define SSI 186,7540 - #define SIR 187,7611 - #define IID 188,7682 - #define ILF 191,7776 - #define ORF 192,7847 - #define OLF 193,7918 - #define AIP 194,7989 - #define LOA 195,8060 - #define WOA 196,8131 - #define IRST 197,8202 - #define SDP 198,8273 - #define FF3210 201,8367 - #define ILF1 204,8453 - #define ORF1 205,8524 - #define OLF1 206,8595 - #define DM 207,8666 - #define LDSC 208,8740 - #define CABRT 216,8992 - #define SRST 217,9063 - #define SIGP 218,9134 - #define SEM 219,9205 - #define CON 220,9279 - #define INTF 221,9350 - #define SIP 222,9421 - #define DIP 223,9492 - #define FLSH 226,9601 - #define SCRUN 227,9672 - #define SIRQD 228,9743 - #define CSIGP 237,9954 - #define FLF 241,10044 - #define CLF 242,10108 - #define FM 243,10161 - #define WRIE 244,10225 - #define BDIS 251,10436 - #define MPEE 252,10500 - #define DFS 255,10587 - #define BL_2 271,11118 - #define BL_1 272,11182 - #define ERL 273,11246 - #define ERMP 274,11310 - #define BOF 275,11374 - #define CLSE 281,11539 - #define PFF 282,11603 - #define PFEN 283,11667 - #define SSM 284,11731 - #define IRQM 285,11795 - #define STD 286,11859 - #define IRQD 287,11923 - #define NOCOM 288,11987 - #define SBMC 295,12238 - #define STO 296,12315 - #define GEN 297,12386 - #define HTH 298,12457 - #define MA 299,12528 - #define CMP 300,12599 - #define SEL 301,12670 - #define RSL 302,12741 - #define SGE 303,12812 - #define UDC 304,12883 - #define RST 305,12954 - #define PAR 306,13025 - #define SCLK 319,13413 - #define DBLEN 320,13475 - #define DBLSEL 321,13528 - #define ROF 325,13608 - #define EXT 326,13677 - #define TE 329,13770 - #define HSC 330,13818 - #define CSF 331,13866 - #define SMODE 335,13997 - #define SMODE_HVD 336,14058 - #define SMODE_SE 337,14123 - #define SMODE_LVD 338,14188 - #define LCKFRQ 339,14253 - #define ENPMJ 345,14496 - #define PMJCTL 346,14558 - #define ENNDJ 347,14620 - #define DISFC 348,14682 - #define DILS 349,14744 - #define DPR 350,14806 - #define ZMOD 353,14929 - #define DDAC 354,14991 - #define XTIMOD 355,15053 - #define EXTIBMV 356,15115 - #define EXDBMV 357,15178 - #define U3EN 376,15981 - #define AIPCKEN 377,16044 - #define XCLKH_DT 379,16154 - #define XCLKH_ST 380,16221 - #define XCLKS_DT 381,16288 - #define XCLKS_ST 382,16355 - #define DISAIP 385,16546 - #define SNDCRC 407,17448 -#define REGJ(REGJ422,17923 -#define REG(REG423,17976 -#define SCR_DATA_OUT 432,18156 -#define SCR_DATA_IN 433,18188 -#define SCR_COMMAND 434,18219 -#define SCR_STATUS 435,18250 -#define SCR_DT_DATA_OUT 436,18280 -#define SCR_DT_DATA_IN 437,18315 -#define SCR_MSG_OUT 438,18349 -#define SCR_MSG_IN 439,18380 -#define SCR_ILG_OUT 441,18463 -#define SCR_ILG_IN 442,18494 -#define OPC_MOVE 462,18868 -#define SCR_MOVE_ABS(SCR_MOVE_ABS464,18906 -#define SCR_MOVE_TBL 466,19024 -#define SCR_CHMOV_ABS(SCR_CHMOV_ABS468,19074 -#define SCR_CHMOV_TBL 470,19172 -#define OPC_TCHMOVE 475,19327 -#define SCR_TCHMOVE_ABS(SCR_TCHMOVE_ABS477,19366 -#define SCR_TCHMOVE_TBL 478,19428 -#define SCR_TMOV_ABS(SCR_TMOV_ABS480,19484 -#define SCR_TMOV_TBL 481,19532 -struct sym_tblmove sym_tblmove484,19581 -#define SCR_SEL_ABS 504,20001 -#define SCR_SEL_ABS_ATN 505,20032 -#define SCR_SEL_TBL 506,20067 -#define SCR_SEL_TBL_ATN 507,20098 -#define SCR_RESEL_ABS 510,20170 -#define SCR_RESEL_ABS_ATN 511,20207 -#define SCR_RESEL_TBL 512,20244 -#define SCR_RESEL_TBL_ATN 513,20281 -struct sym_tblsel sym_tblsel516,20326 -#define SCR_JMP_REL 523,20474 -#define SCR_ID(SCR_ID524,20509 -#define SCR_WAIT_DISC 541,20877 -#define SCR_WAIT_RESEL 542,20910 -#define SCR_DISCONNECT 545,20982 -#define SCR_SET(SCR_SET561,21293 -#define SCR_CLR(SCR_CLR562,21335 -#define SCR_CARRY 564,21378 -#define SCR_TRG 565,21407 -#define SCR_ACK 566,21435 -#define SCR_ATN 567,21463 -#define SCR_NO_FLUSH 589,21984 -#define SCR_COPY(SCR_COPY591,22017 -#define SCR_COPY_F(SCR_COPY_F592,22071 -#define SCR_REG_OFS(SCR_REG_OFS620,22887 -#define SCR_SFBR_REG(SCR_SFBR_REG622,22958 -#define SCR_REG_SFBR(SCR_REG_SFBR625,23072 -#define SCR_REG_REG(SCR_REG_REG628,23186 -#define SCR_LOAD 632,23300 -#define SCR_SHL 633,23335 -#define SCR_OR 634,23370 -#define SCR_XOR 635,23405 -#define SCR_AND 636,23440 -#define SCR_SHR 637,23475 -#define SCR_ADD 638,23510 -#define SCR_ADDC 639,23545 -#define SCR_SFBR_DATA 641,23581 -#define SCR_FROM_REG(SCR_FROM_REG660,23980 -#define SCR_TO_REG(SCR_TO_REG663,24037 -#define SCR_LOAD_REG(SCR_LOAD_REG666,24092 -#define SCR_LOAD_SFBR(SCR_LOAD_SFBR669,24158 -#define SCR_REG_OFS2(SCR_REG_OFS2690,24668 -#define SCR_NO_FLUSH2 691,24719 -#define SCR_DSA_REL2 692,24752 -#define SCR_LOAD_R(SCR_LOAD_R694,24785 -#define SCR_STORE_R(SCR_STORE_R697,24880 -#define SCR_LOAD_ABS(SCR_LOAD_ABS700,24976 -#define SCR_LOAD_REL(SCR_LOAD_REL701,25039 -#define SCR_LOAD_ABS_F(SCR_LOAD_ABS_F702,25115 -#define SCR_LOAD_REL_F(SCR_LOAD_REL_F703,25168 -#define SCR_STORE_ABS(SCR_STORE_ABS705,25233 -#define SCR_STORE_REL(SCR_STORE_REL706,25298 -#define SCR_STORE_ABS_F(SCR_STORE_ABS_F707,25375 -#define SCR_STORE_REL_F(SCR_STORE_REL_F708,25430 -#define SCR_NO_OP 747,26297 -#define SCR_JUMP 748,26332 -#define SCR_JUMP64 749,26367 -#define SCR_JUMPR 750,26402 -#define SCR_CALL 751,26437 -#define SCR_CALLR 752,26472 -#define SCR_RETURN 753,26507 -#define SCR_INT 754,26542 -#define SCR_INT_FLY 755,26577 -#define IFFALSE(IFFALSE757,26613 -#define IFTRUE(IFTRUE758,26657 -#define WHEN(WHEN760,26702 -#define IF(IF761,26748 -#define DATA(DATA763,26795 -#define MASK(MASK764,26846 -#define CARRYSET 766,26927 -#define M_COMPLETE 779,27139 -#define M_EXTENDED 780,27165 -#define M_SAVE_DP 781,27191 -#define M_RESTORE_DP 782,27216 -#define M_DISCONNECT 783,27244 -#define M_ID_ERROR 784,27272 -#define M_ABORT 785,27298 -#define M_REJECT 786,27322 -#define M_NOOP 787,27346 -#define M_PARITY 788,27369 -#define M_LCOMPLETE 789,27393 -#define M_FCOMPLETE 790,27420 -#define M_RESET 791,27447 -#define M_ABORT_TAG 792,27471 -#define M_CLEAR_QUEUE 793,27498 -#define M_INIT_REC 794,27527 -#define M_REL_REC 795,27553 -#define M_TERMINATE 796,27578 -#define M_SIMPLE_TAG 797,27605 -#define M_HEAD_TAG 798,27633 -#define M_ORDERED_TAG 799,27659 -#define M_IGN_RESIDUE 800,27688 -#define M_IDENTIFY 801,27717 -#define M_X_MODIFY_DP 803,27747 -#define M_X_SYNC_REQ 804,27776 -#define M_X_WIDE_REQ 805,27804 -#define M_X_PPR_REQ 806,27832 -#define PPR_OPT_IU 811,27891 -#define PPR_OPT_DT 812,27917 -#define PPR_OPT_QAS 813,27943 -#define PPR_OPT_MASK 814,27970 -#define S_GOOD 820,28017 -#define S_CHECK_COND 821,28040 -#define S_COND_MET 822,28068 -#define S_BUSY 823,28094 -#define S_INT 824,28117 -#define S_INT_COND_MET 825,28139 -#define S_CONFLICT 826,28169 -#define S_TERMINATED 827,28195 -#define S_QUEUE_FULL 828,28223 -#define S_ILLEGAL 829,28251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_glue.c,5535 -#define SYM_GLUE_C52,2521 -#define NAME53C 68,2870 -#define NAME53C8XX 69,2896 -pci_get_base_address(72,2949 -#define PCI_BAR_OFFSET(PCI_BAR_OFFSET75,3029 -spinlock_t sym53c8xx_lock 92,3466 -static struct scsi_transport_template *sym2_transport_template 94,3515 -void *sym_calloc(99,3640 -void sym_mfree(109,3858 -void *__sym_calloc_dma(117,4060 -void __sym_mfree_dma(127,4325 -m_addr_t __vtobus(135,4574 -struct sym_eh_wait sym_eh_wait149,4916 -struct sym_ucmd sym_ucmd160,5119 -#define SYM_UCMD_PTR(SYM_UCMD_PTR167,5316 -#define SYM_SCMD_PTR(SYM_SCMD_PTR168,5378 -#define SYM_SOFTC_PTR(SYM_SOFTC_PTR169,5448 -static void __unmap_scsi_data(171,5533 -static dma_addr_t __map_scsi_single_data(187,5923 -static int __map_scsi_sg_data(202,6286 -#define unmap_scsi_data(unmap_scsi_data216,6604 -#define map_scsi_single_data(map_scsi_single_data218,6678 -#define map_scsi_sg_data(map_scsi_sg_data220,6762 -void sym_xpt_done(225,6877 -void sym_xpt_done2(232,7036 -void sym_print_addr(242,7233 -void sym_xpt_async_bus_reset(253,7468 -void sym_xpt_async_sent_bdr(266,7896 -void sym_xpt_async_nego_wide(274,8100 -static int sym_xerr_cam_status(285,8335 -void sym_set_cam_result_error(303,8752 -static int sym_scatter_no_sglist(381,11038 -static int sym_scatter(403,11503 -static int sym_queue_command(440,12328 -static inline int sym_setup_cdb(505,14071 -int sym_setup_data_and_start(531,14617 -static void sym_timer(605,16079 -void sym_log_bus_error(653,17146 -static void sym_requeue_awaiting_cmds(668,17472 -static int sym53c8xx_queue_command(693,18058 -static irqreturn_t sym53c8xx_intr(734,19079 -static void sym53c8xx_timer(761,19689 -#define SYM_EH_ABORT 780,20089 -#define SYM_EH_DEVICE_RESET 781,20113 -#define SYM_EH_BUS_RESET 782,20143 -#define SYM_EH_HOST_RESET 783,20170 -#define SYM_EH_DO_IGNORE 788,20263 -#define SYM_EH_DO_COMPLETE 789,20290 -#define SYM_EH_DO_WAIT 790,20319 -static void __sym_eh_done(795,20389 -static void sym_eh_done(820,20957 -static void sym_eh_timeout(825,21091 -static int sym_eh_handler(831,21271 -static int sym53c8xx_eh_abort_handler(939,24076 -static int sym53c8xx_eh_device_reset_handler(944,24194 -static int sym53c8xx_eh_bus_reset_handler(949,24333 -static int sym53c8xx_eh_host_reset_handler(954,24463 -static void sym_tune_dev_queuing(962,24663 -#define DEF_DEPTH 993,25414 -#define ALL_TARGETS 994,25459 -#define NO_TARGET 995,25482 -#define ALL_LUNS 996,25503 -#define NO_LUN 997,25523 -static int device_queue_depth(999,25543 -#define device_queue_depth(device_queue_depth1043,26298 -static int sym53c8xx_slave_configure(1049,26465 -static const char *sym53c8xx_info 1108,27889 -struct sym_usrcmd sym_usrcmd1126,28293 -#define UC_SETSYNC 1133,28373 -#define UC_SETTAGS 1134,28400 -#define UC_SETDEBUG 1135,28422 -#define UC_SETWIDE 1136,28445 -#define UC_SETFLAG 1137,28467 -#define UC_SETVERBOSE 1138,28489 -#define UC_RESETDEV 1139,28514 -#define UC_CLEARDEV 1140,28537 -static void sym_exec_user_command 1142,28561 -#define digit_to_bin(digit_to_bin1221,30408 -static int skip_spaces(1223,30445 -static int get_int_arg(1232,30593 -static int is_keyword(1247,30830 -#define SKIP_SPACES(SKIP_SPACES1258,31012 -#define GET_INT_ARG(GET_INT_ARG1263,31168 -static int sym_user_command(1273,31345 -struct info_str info_str1415,34987 -static void copy_mem_info(1422,35060 -static int copy_info(1442,35478 -static int sym_host_info(1459,35761 -static int sym53c8xx_proc_info(1501,36879 -static void sym_free_resources(1536,37563 -static int sym_setup_bus_dma_mask(1560,37987 -#define PciDmaMask 1567,38198 -#define PciDmaMask 1569,38273 -static struct Scsi_Host * __devinit sym_attach(1600,38946 -static void __devinit sym_get_nvram(1814,44122 -static inline void sym_get_nvram(1839,44595 - sym_driver_safe_setup __initdata 1850,44843 -char *sym53c8xx;1852,44922 -#define OPT_MAX_TAG 1856,45012 -#define OPT_BURST_ORDER 1857,45035 -#define OPT_SCSI_LED 1858,45062 -#define OPT_SCSI_DIFF 1859,45086 -#define OPT_IRQ_MODE 1860,45111 -#define OPT_SCSI_BUS_CHECK 1861,45135 -#define OPT_HOST_ID 1862,45164 -#define OPT_REVERSE_PROBE 1863,45187 -#define OPT_VERBOSE 1864,45215 -#define OPT_DEBUG 1865,45238 -#define OPT_SETTLE_DELAY 1866,45260 -#define OPT_USE_NVRAM 1867,45288 -#define OPT_EXCLUDE 1868,45314 -#define OPT_SAFE_SETUP 1869,45338 -static char setup_token[1871,45366 -static char setup_token[] __initdata 1871,45366 -#define ARG_SEP 1882,45558 -#define ARG_SEP 1884,45584 -static int __init get_setup_token(1887,45612 -int __init sym53c8xx_setup(1904,45905 -#define __SIMPLE_OPTION(__SIMPLE_OPTION1948,46822 -sym53c8xx_pci_init(1989,47876 -void sym_config_pqs(2156,52412 -static int sym_detach(2198,53354 -static struct scsi_host_template sym2_template 2225,53862 -static int attach_count;2243,54474 -static int __devinit sym2_probe(2245,54500 -static void __devexit sym2_remove(2292,55393 -static void sym2_get_signalling(2308,55677 -static void sym2_get_offset(2330,56094 -static void sym2_set_offset(2339,56379 -static void sym2_get_period(2349,56664 -static void sym2_set_period(2358,56949 -static void sym2_get_width(2371,57345 -static void sym2_set_width(2380,57635 -static void sym2_get_dt(2393,58030 -static void sym2_set_dt(2402,58331 -static struct spi_function_template sym2_transport_functions 2415,58672 -static struct pci_device_id sym2_id_table[2431,59090 -static struct pci_device_id sym2_id_table[] __devinitdata 2431,59090 -static struct pci_driver sym2_driver 2471,60849 -static int __init sym2_init(2478,61005 -static void __exit sym2_exit(2488,61217 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_misc.c,193 -void sym_timeout_ccb(83,3424 -static void sym_walk_ccb_tmo_list(107,3974 -void sym_clock(127,4491 -void sym_announce_transfer_rate(155,5044 -#define __tprev 159,5134 -#define __tcurr 160,5165 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_2/sym_glue.h,5429 -#define SYM_GLUE_H54,2541 -#define bzero(bzero75,2930 -#define SYM_CONF_TIMER_INTERVAL 88,3125 -#define SYM_OPT_HANDLE_DIR_UNKNOWN90,3170 -#define SYM_OPT_HANDLE_DEVICE_QUEUEING91,3205 -#define SYM_OPT_NVRAM_PRE_READ92,3244 -#define SYM_OPT_LIMIT_COMMAND_REORDERING93,3275 -#define SYM_OPT_ANNOUNCE_TRANSFER_RATE94,3316 -#define printf_emerg(printf_emerg99,3398 -#define printf_alert(printf_alert100,3452 -#define printf_crit(printf_crit101,3506 -#define printf_err(printf_err102,3558 -#define printf_warning(printf_warning103,3608 -#define printf_notice(printf_notice104,3666 -#define printf_info(printf_info105,3722 -#define printf_debug(printf_debug106,3774 -#define printf(printf107,3828 -#define sym_udelay(sym_udelay112,3929 -#define sym_mdelay(sym_mdelay113,3963 -#define MEMORY_READ_BARRIER(MEMORY_READ_BARRIER132,4752 -#define MEMORY_WRITE_BARRIER(MEMORY_WRITE_BARRIER133,4788 -typedef struct sym_tcb *tcb_p;tcb_p138,4894 -typedef struct sym_lcb *lcb_p;lcb_p139,4925 -typedef struct sym_ccb *ccb_p;ccb_p140,4956 -typedef struct sym_hcb *hcb_p;hcb_p141,4987 -typedef struct scsi_cmnd *cam_ccb_p;cam_ccb_p146,5082 -typedef struct scsi_cmnd *cam_scsiio_p;cam_scsiio_p147,5133 -#define inw_l2b 157,5358 -#define inl_l2b 158,5379 -#define outw_b2l 159,5400 -#define outl_b2l 160,5422 -#define readw_l2b 161,5444 -#define readl_l2b 162,5468 -#define writew_b2l 163,5492 -#define writel_b2l 164,5518 -#define inw_raw 168,5572 -#define inl_raw 169,5593 -#define outw_raw 170,5614 -#define outl_raw 171,5636 -#define readw_raw 173,5659 -#define readl_raw 174,5683 -#define writew_raw 175,5707 -#define writel_raw 176,5733 -#define sym_offb(sym_offb195,6217 -#define sym_offw(sym_offw196,6263 -#define sym_offb(sym_offb200,6317 -#define sym_offw(sym_offw201,6341 -#define cpu_to_scr(cpu_to_scr215,6699 -#define scr_to_cpu(scr_to_cpu216,6738 -#define cpu_to_scr(cpu_to_scr220,6847 -#define scr_to_cpu(scr_to_cpu221,6886 -#define cpu_to_scr(cpu_to_scr225,6933 -#define scr_to_cpu(scr_to_cpu226,6961 -#define INB_OFF(INB_OFF256,7816 -#define OUTB_OFF(OUTB_OFF257,7876 -#define INW_OFF(INW_OFF261,8010 -#define INL_OFF(INL_OFF262,8074 -#define OUTW_OFF(OUTW_OFF264,8131 -#define OUTL_OFF(OUTL_OFF265,8203 -#define INW_OFF(INW_OFF269,8337 -#define INL_OFF(INL_OFF270,8401 -#define OUTW_OFF(OUTW_OFF272,8458 -#define OUTL_OFF(OUTL_OFF273,8530 -#define INW_OFF(INW_OFF277,8602 -#define INL_OFF(INL_OFF278,8666 -#define OUTW_OFF(OUTW_OFF280,8723 -#define OUTL_OFF(OUTL_OFF281,8795 -#define INB_OFF(INB_OFF291,8965 -#define OUTB_OFF(OUTB_OFF292,9026 -#define INW_OFF(INW_OFF296,9161 -#define INL_OFF(INL_OFF297,9226 -#define OUTW_OFF(OUTW_OFF299,9284 -#define OUTL_OFF(OUTL_OFF300,9357 -#define INW_OFF(INW_OFF304,9492 -#define INL_OFF(INL_OFF305,9557 -#define OUTW_OFF(OUTW_OFF307,9615 -#define OUTL_OFF(OUTL_OFF308,9688 -#define INW_OFF(INW_OFF312,9761 -#define INL_OFF(INL_OFF313,9826 -#define OUTW_OFF(OUTW_OFF315,9884 -#define OUTL_OFF(OUTL_OFF316,9957 -#define OUTRAM_OFF(OUTRAM_OFF322,10071 -#define CAM_REQ_CMP 327,10185 -#define CAM_SEL_TIMEOUT 328,10213 -#define CAM_CMD_TIMEOUT 329,10253 -#define CAM_REQ_ABORTED 330,10291 -#define CAM_UNCOR_PARITY 331,10326 -#define CAM_SCSI_BUS_RESET 332,10362 -#define CAM_REQUEUE_REQ 333,10400 -#define CAM_UNEXP_BUSFREE 334,10440 -#define CAM_SCSI_BUSY 335,10476 -#define CAM_DEV_NOT_THERE 337,10513 -#define CAM_REQ_INVALID 338,10554 -#define CAM_REQ_TOO_BIG 339,10589 -#define CAM_RESRC_UNAVAIL 341,10625 -#define CAM_DIR_NONE 346,10702 -#define CAM_DIR_IN 347,10733 -#define CAM_DIR_OUT 348,10769 -#define CAM_DIR_UNKNOWN 349,10804 -#define SCSI_SUCCESS 355,10941 -#define SCSI_FAILED 356,10970 -#define SYM_HAVE_SLCB367,11155 -struct sym_slcb sym_slcb368,11177 -struct sym_shcb sym_shcb382,11474 -#define sym_name(sym_name411,12200 -struct sym_slot sym_slot418,12405 -struct sym_device sym_device432,12637 -struct host_data host_data444,12834 -typedef u_long m_addr_t;m_addr_t452,12999 -#define SYM_MEM_PAGE_ORDER 453,13067 -#define SYM_MEM_CLUSTER_SHIFT 454,13118 -#define SYM_MEM_FREE_UNUSED 456,13194 -typedef struct pci_dev *m_pool_ident_t;m_pool_ident_t458,13265 -#define SYM_MEM_GFP_FLAGS 470,13437 -#define SYM_MEM_WARN 471,13474 -#define sym_get_mem_cluster(sym_get_mem_cluster473,13530 -#define sym_free_mem_cluster(sym_free_mem_cluster475,13619 -#define sym_m_pool_match(sym_m_pool_match486,13919 -static __inline m_addr_t sym_m_get_dma_mem_cluster(488,13980 -static __inline void sym_m_free_dma_mem_cluster(501,14291 -#define sym_m_create_dma_mem_tag(sym_m_create_dma_mem_tag507,14494 -#define sym_m_delete_dma_mem_tag(sym_m_delete_dma_mem_tag508,14535 -sym_set_cam_status(518,14863 -sym_get_cam_status(528,15053 -#define sym_data_dmamap_create(sym_data_dmamap_create537,15239 -#define sym_data_dmamap_destroy(sym_data_dmamap_destroy538,15283 -#define sym_data_dmamap_unload(sym_data_dmamap_unload539,15343 -#define sym_data_dmamap_presync(sym_data_dmamap_presync540,15402 -#define sym_data_dmamap_postsync(sym_data_dmamap_postsync541,15462 -#define sym_xpt_async_nego_sync(sym_xpt_async_nego_sync547,15618 -#define sym_xpt_async_nego_ppr(sym_xpt_async_nego_ppr549,15704 -static __inline void sym_set_cam_result_ok(555,15859 -#define sym_cam_target_id(sym_cam_target_id567,16163 -#define sym_cam_target_lun(sym_cam_target_lun568,16208 -#define sym_freeze_cam_ccb(sym_freeze_cam_ccb569,16251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/libata.h,211 -#define __LIBATA_H__26,1058 -#define DRV_NAME 28,1080 -#define DRV_VERSION 29,1106 -struct ata_scsi_args ata_scsi_args31,1167 -static inline void ata_bad_scsiop(77,3169 -static inline void ata_bad_cdb(82,3306 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid.h,8028 -#define __MEGARAID_H__2,23 -#define MEGARAID_VERSION 7,77 -#define MEGA_HAVE_COALESCING 21,525 -#define MEGA_HAVE_CLUSTERING 28,728 -#define MEGA_HAVE_STATS 37,1078 -#define MEGA_HAVE_ENH_PROC 44,1337 -#define MAX_DEV_TYPE 46,1367 -#define PCI_VENDOR_ID_LSI_LOGIC 49,1424 -#define PCI_VENDOR_ID_AMI 53,1498 -#define PCI_VENDOR_ID_DELL 57,1567 -#define PCI_VENDOR_ID_INTEL 61,1638 -#define PCI_DEVICE_ID_AMI_MEGARAID 65,1717 -#define PCI_DEVICE_ID_AMI_MEGARAID2 69,1803 -#define PCI_DEVICE_ID_AMI_MEGARAID3 73,1890 -#define PCI_DEVICE_ID_DISCOVERY 76,1941 -#define PCI_DEVICE_ID_PERC4_DI 77,1981 -#define PCI_DEVICE_ID_PERC4_QC_VERDE 78,2020 -#define AMI_SUBSYS_VID 81,2093 -#define DELL_SUBSYS_VID 82,2125 -#define HP_SUBSYS_VID 83,2158 -#define LSI_SUBSYS_VID 84,2189 -#define INTEL_SUBSYS_VID 85,2221 -#define HBA_SIGNATURE 87,2255 -#define HBA_SIGNATURE_471 88,2292 -#define HBA_SIGNATURE_64BIT 89,2328 -#define MBOX_BUSY_WAIT 91,2365 -#define DEFAULT_INITIATOR_ID 93,2454 -#define MAX_SGLIST 95,2486 -#define MIN_SGLIST 96,2536 -#define MAX_COMMANDS 97,2598 -#define CMDID_INT_CMDS 98,2624 -#define MAX_CDB_LEN 102,2755 -#define MAX_EXT_CDB_LEN 103,2784 -#define DEF_CMD_PER_LUN 105,2850 -#define MAX_CMD_PER_LUN 106,2878 -#define MAX_FIRMWARE_STATUS 107,2916 -#define MAX_XFER_PER_CMD 108,2947 -#define MAX_SECTORS_PER_IO 109,2982 -#define MAX_LOGICAL_DRIVES_40LD 111,3014 -#define FC_MAX_PHYSICAL_DEVICES 112,3050 -#define MAX_LOGICAL_DRIVES_8LD 113,3087 -#define MAX_CHANNELS 114,3121 -#define MAX_TARGET 115,3146 -#define MAX_PHYSICAL_DRIVES 116,3170 -#define MAX_ROW_SIZE_40LD 117,3223 -#define MAX_ROW_SIZE_8LD 118,3253 -#define MAX_SPAN_DEPTH 119,3281 -#define NVIRT_CHAN 121,3309 -struct mbox_out mbox_out123,3404 -struct mbox_in mbox_in134,3635 -} __attribute__ ((packed)packed146,3933 -} __attribute__ ((packed)packed152,4044 -#define MAX_REQ_SENSE_LEN 158,4114 -} __attribute__ ((packed)packed178,4596 -} __attribute__ ((packed)packed206,5182 -} __attribute__ ((packed)packed211,5273 -} __attribute__ ((packed)packed216,5357 -} scb_t;scb_t240,5791 -#define SCB_FREE 245,5876 -#define SCB_ACTIVE 246,5923 -#define SCB_PENDQ 247,5973 -#define SCB_ISSUED 248,6025 -#define SCB_ABORT 249,6076 -#define SCB_RESET 250,6133 -} __attribute__ ((packed)packed281,7055 -struct notify notify283,7102 -#define MAX_NOTIFY_SIZE 329,8677 -#define CUR_NOTIFY_SIZE 330,8710 -} __attribute__ ((packed)packed359,9730 -} __attribute__ ((packed)packed395,10866 -} __attribute__ ((packed)packed404,11115 -} __attribute__ ((packed)packed409,11223 -} __attribute__ ((packed)packed416,11409 -} __attribute__ ((packed)packed426,11627 -}__attribute__ ((packed)packed432,11717 -}__attribute__ ((packed)packed438,11884 -}__attribute__ ((packed)packed444,12053 -} __attribute__ ((packed)packed456,12497 -}__attribute__ ((packed)packed461,12615 -}__attribute__ ((packed)packed466,12730 -}__attribute__ ((packed)packed475,13039 -}__attribute__ ((packed)packed482,13239 -}__attribute__ ((packed)packed489,13443 -#define IOCTL_MAX_DATALEN 501,13839 -struct uioctl_t uioctl_t503,13877 - } __attribute__ __attribute__520,14121 -#define MAX_CONTROLLERS 540,14827 -struct mcontroller mcontroller542,14855 -} __attribute__ ((packed)packed569,15197 -#define MEGAIOC_MAGIC 574,15281 -#define MEGAIOC_QNADAP 576,15310 -#define MEGAIOC_QDRVRVER 577,15364 -#define MEGAIOC_QADAPINFO 578,15420 -#define MKADAP(MKADAP579,15485 -#define GETADAP(GETADAP580,15544 -#define VENDOR_SPECIFIC_COMMANDS 589,15704 -#define MEGA_INTERNAL_CMD 590,15742 -#define USCSICMD 595,15881 -#define UIOC_RD 600,15955 -#define UIOC_WR 601,15980 -#define MBOX_CMD 606,16030 -#define GET_DRIVER_VER 607,16086 -#define GET_N_ADAP 608,16142 -#define GET_ADAP_INFO 609,16198 -#define GET_CAP 610,16266 -#define GET_STATS 611,16320 -#define uioc_rmbox 628,16804 -#define MBOX(MBOX629,16839 -#define MBOX_P(MBOX_P630,16902 -#define uioc_uaddr 631,16975 -}nitioctl_t;nitioctl_t636,17117 -}megastat_t;megastat_t663,18034 -struct private_bios_data private_bios_data666,18049 -#define MEGA_MBOXCMD_LREAD 691,18578 -#define MEGA_MBOXCMD_LWRITE 692,18610 -#define MEGA_MBOXCMD_PASSTHRU 693,18643 -#define MEGA_MBOXCMD_ADPEXTINQ 694,18678 -#define MEGA_MBOXCMD_ADAPTERINQ 695,18714 -#define MEGA_MBOXCMD_LREAD64 696,18751 -#define MEGA_MBOXCMD_LWRITE64 697,18785 -#define MEGA_MBOXCMD_PASSTHRU64 698,18820 -#define MEGA_MBOXCMD_EXTPTHRU 699,18857 -#define MAIN_MISC_OPCODE 701,18893 -#define GET_MAX_SG_SUPPORT 702,18945 -#define FC_NEW_CONFIG 704,19016 -#define NC_SUBOP_PRODUCT_INFO 705,19044 -#define NC_SUBOP_ENQUIRY3 706,19079 -#define ENQ3_GET_SOLICITED_FULL 707,19110 -#define OP_DCMD_READ_CONFIG 708,19147 -#define NEW_READ_CONFIG_8LD 709,19180 -#define READ_CONFIG_8LD 710,19213 -#define FLUSH_ADAPTER 711,19243 -#define FLUSH_SYSTEM 712,19271 -#define FC_DEL_LOGDRV 717,19355 -#define OP_SUP_DEL_LOGDRV 718,19401 -#define OP_GET_LDID_MAP 719,19459 -#define OP_DEL_LOGDRV 720,19526 -#define IS_BIOS_ENABLED 725,19606 -#define GET_BIOS 726,19636 -#define CHNL_CLASS 727,19659 -#define GET_CHNL_CLASS 728,19684 -#define SET_CHNL_CLASS 729,19713 -#define CH_RAID 730,19742 -#define CH_SCSI 731,19765 -#define BIOS_PVT_DATA 732,19788 -#define GET_BIOS_PVT_DATA 733,19816 -#define MEGA_GET_TARGET_ID 739,19890 -#define MEGA_CLUSTER_OP 740,19922 -#define MEGA_GET_CLUSTER_MODE 741,19952 -#define MEGA_CLUSTER_CMD 742,19987 -#define MEGA_RESERVE_LD 743,20017 -#define MEGA_RELEASE_LD 744,20047 -#define MEGA_RESET_RESERVATIONS 745,20077 -#define MEGA_RESERVATION_STATUS 746,20114 -#define MEGA_RESERVE_PD 747,20151 -#define MEGA_RELEASE_PD 748,20181 -#define MEGA_BATT_MODULE_MISSING 754,20245 -#define MEGA_BATT_LOW_VOLTAGE 755,20283 -#define MEGA_BATT_TEMP_HIGH 756,20319 -#define MEGA_BATT_PACK_MISSING 757,20353 -#define MEGA_BATT_CHARGE_MASK 758,20390 -#define MEGA_BATT_CHARGE_DONE 759,20426 -#define MEGA_BATT_CHARGE_INPROG 760,20462 -#define MEGA_BATT_CHARGE_FAIL 761,20500 -#define MEGA_BATT_CYCLES_EXCEEDED 762,20536 -#define PDRV_UNCNF 767,20609 -#define PDRV_ONLINE 768,20630 -#define PDRV_FAILED 769,20652 -#define PDRV_RBLD 770,20674 -#define PDRV_HOTSPARE 771,20694 -#define RDRV_OFFLINE 777,20757 -#define RDRV_DEGRADED 778,20780 -#define RDRV_OPTIMAL 779,20804 -#define RDRV_DELETED 780,20827 -#define NO_READ_AHEAD 785,20892 -#define READ_AHEAD 786,20917 -#define ADAP_READ_AHEAD 787,20939 -#define WRMODE_WRITE_THRU 788,20966 -#define WRMODE_WRITE_BACK 789,20994 -#define CACHED_IO 790,21022 -#define DIRECT_IO 791,21043 -#define SCSI_LIST(SCSI_LIST794,21066 -#define MEGA_BUFFER_SIZE 822,21692 -#define MAX_PROC_CHANNELS 857,22563 -}adapter_t;adapter_t898,23822 -struct mega_hbas mega_hbas901,23836 -#define IN_ABORT 911,24013 -#define IN_RESET 912,24042 -#define BOARD_MEMMAP 913,24071 -#define BOARD_IOMAP 914,24104 -#define BOARD_40LD 915,24136 -#define BOARD_64BIT 916,24170 -#define INTR_VALID 918,24203 -#define PCI_CONF_AMISIG 920,24230 -#define PCI_CONF_AMISIG64 921,24261 -#define MEGA_DMA_TYPE_NONE 924,24295 -#define MEGA_BULK_DATA 925,24330 -#define MEGA_SGLIST 926,24362 -typedef enum { LOCK_INT,933,24602 -typedef enum { LOCK_INT, LOCK_EXT 933,24602 -typedef enum { LOCK_INT, LOCK_EXT } lockscope_t;lockscope_t933,24602 -#define CMD_PORT 940,24727 -#define ACK_PORT 941,24751 -#define TOGGLE_PORT 942,24775 -#define INTR_PORT 943,24801 -#define MBOX_BUSY_PORT 945,24828 -#define MBOX_PORT0 946,24861 -#define MBOX_PORT1 947,24887 -#define MBOX_PORT2 948,24913 -#define MBOX_PORT3 949,24939 -#define ENABLE_MBOX_REGION 950,24965 -#define ISSUE_BYTE 953,25021 -#define ACK_BYTE 954,25047 -#define ENABLE_INTR_BYTE 955,25073 -#define DISABLE_INTR_BYTE 956,25106 -#define VALID_INTR_BYTE 957,25139 -#define MBOX_BUSY_BYTE 958,25172 -#define ENABLE_MBOX_BYTE 959,25205 -#define issue_command(issue_command963,25274 -#define irq_state(irq_state966,25357 -#define set_irq_state(set_irq_state968,25420 -#define irq_ack(irq_ack971,25508 -#define irq_enable(irq_enable974,25583 -#define irq_disable(irq_disable977,25671 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicpti.c,2036 -#define MAX_TARGETS 51,1222 -#define MAX_LUNS 52,1245 -#define DEFAULT_LOOP_COUNT 54,1287 -static struct qlogicpti *qptichain 58,1349 -static spinlock_t qptichain_lock 59,1392 -static int qptis_running 60,1447 -#define PACKB(PACKB62,1478 -static const u_char mbox_param[64,1516 -#define MAX_MBOX_COMMAND 134,3985 -#define QUEUE_DEPTH(QUEUE_DEPTH137,4093 -#define REQ_QUEUE_DEPTH(REQ_QUEUE_DEPTH138,4146 -#define RES_QUEUE_DEPTH(RES_QUEUE_DEPTH140,4244 -static inline void qlogicpti_enable_irqs(142,4314 -static inline void qlogicpti_disable_irqs(148,4464 -static inline void set_sbus_cfg1(153,4577 -static int qlogicpti_mbox_command(179,5323 -static inline void qlogicpti_set_hostdev_defaults(279,8328 -static int qlogicpti_reset_hardware(319,9700 -#define PTI_RESET_LIMIT 465,14188 -static int __init qlogicpti_load_firmware(467,14217 -static int qlogicpti_verify_tmon(624,19069 -static void __init qpti_chain_add(657,20065 -static void __init qpti_chain_del(673,20382 -static int __init qpti_map_regs(688,20718 -static int __init qpti_register_irq(711,21284 -static void __init qpti_get_scsi_id(736,21899 -static void qpti_get_bursts(755,22416 -static void qpti_get_clock(773,22864 -static int __init qpti_map_queues(789,23276 -#define QSIZE(QSIZE793,23374 -static int __init qlogicpti_detect(819,24165 -#define QSIZE(QSIZE928,27332 -static int qlogicpti_release(956,28106 -#define QSIZE(QSIZE969,28456 -const char *qlogicpti_info(985,28895 -static inline void marker_frob(996,29194 -static inline void cmd_frob(1007,29484 -static inline int load_cmd(1037,30456 -static inline void update_can_queue(1113,32362 -static void ourdone(1125,32852 -static int qlogicpti_queuecommand_slow(1176,34257 -static int qlogicpti_queuecommand(1248,36302 -static int qlogicpti_return_status(1297,37602 -static struct scsi_cmnd *qlogicpti_intr_handler(1361,39347 -static irqreturn_t qpti_intr(1439,41540 -static int qlogicpti_abort(1462,42032 -static int qlogicpti_reset(1499,43025 -static struct scsi_host_template driver_template 1523,43655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lasi700.h,266 -#define _LASI700_H26,1050 -#define LASI_710_SVERSION 28,1070 -#define LASI_700_SVERSION 29,1102 -#define LASI700_ID_TABLE 31,1135 -#define LASI710_ID_TABLE 38,1300 -#define LASI700_CLOCK 45,1465 -#define LASI710_CLOCK 46,1490 -#define LASI_SCSI_CORE_OFFSET 47,1515 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/i91uscsi.h,12101 -#define ULONG 59,3062 -#define USHORT 60,3092 -#define UCHAR 61,3123 -#define BYTE 62,3153 -#define WORD 63,3183 -#define DWORD 64,3214 -#define UBYTE 65,3244 -#define UWORD 66,3274 -#define UDWORD 67,3305 -#define U32 68,3335 -#define FAILURE 71,3372 -#define TOTAL_SG_ENTRY 74,3402 -#define MAX_SUPPORTED_ADAPTERS 75,3429 -#define MAX_OFFSET 76,3463 -#define MAX_TARGETS 77,3486 -#define INI_VENDOR_ID 79,3511 -#define I950_DEVICE_ID 80,3577 -#define I940_DEVICE_ID 81,3644 -#define I935_DEVICE_ID 82,3711 -#define _I91USCSI_H84,3779 -} i91u_config;i91u_config89,3860 -#define TUL_PVID 94,4000 -#define TUL_PDID 95,4064 -#define TUL_PCMD 96,4128 -#define TUL_PSTUS 97,4192 -#define TUL_PRID 98,4256 -#define TUL_PPI 99,4320 -#define TUL_PSC 100,4384 -#define TUL_PBC 101,4448 -#define TUL_PCLS 102,4512 -#define TUL_PLTR 103,4576 -#define TUL_PHDT 104,4640 -#define TUL_PBIST 105,4704 -#define TUL_PBAD 106,4768 -#define TUL_PBAD1 107,4832 -#define TUL_PBAD2 108,4896 -#define TUL_PBAD3 109,4960 -#define TUL_PBAD4 110,5024 -#define TUL_PBAD5 111,5088 -#define TUL_PRSVD 112,5152 -#define TUL_PRSVD1 113,5216 -#define TUL_PRAD 114,5280 -#define TUL_PRSVD2 115,5344 -#define TUL_PRSVD3 116,5408 -#define TUL_PINTL 117,5472 -#define TUL_PINTP 118,5536 -#define TUL_PIGNT 119,5600 -#define TUL_PMGNT 120,5664 -#define TUL_HACFG0 125,5810 -#define TUL_HACFG1 126,5882 -#define TUL_HACFG2 127,5954 -#define TUL_SDCFG0 129,6027 -#define TUL_SDCFG1 130,6099 -#define TUL_SDCFG2 131,6171 -#define TUL_SDCFG3 132,6243 -#define TUL_GINTS 134,6316 -#define TUL_GIMSK 135,6388 -#define TUL_GCTRL 136,6460 -#define TUL_GCTRL_EEPROM_BIT 137,6532 -#define TUL_GCTRL1 138,6569 -#define TUL_DMACFG 139,6641 -#define TUL_NVRAM 140,6713 -#define TUL_SCnt0 142,6786 -#define TUL_SCnt1 143,6858 -#define TUL_SCnt2 144,6930 -#define TUL_SFifoCnt 145,7002 -#define TUL_SIntEnable 146,7074 -#define TUL_SInt 147,7146 -#define TUL_SCtrl0 148,7218 -#define TUL_SStatus0 149,7290 -#define TUL_SCtrl1 150,7362 -#define TUL_SStatus1 151,7434 -#define TUL_SConfig 152,7506 -#define TUL_SStatus2 153,7578 -#define TUL_SPeriod 154,7650 -#define TUL_SOffset 155,7723 -#define TUL_SScsiId 156,7795 -#define TUL_SBusId 157,7867 -#define TUL_STimeOut 158,7939 -#define TUL_SIdent 159,8011 -#define TUL_SAvail 160,8083 -#define TUL_SData 161,8155 -#define TUL_SFifo 162,8227 -#define TUL_SSignal 163,8299 -#define TUL_SCmd 164,8371 -#define TUL_STest0 165,8443 -#define TUL_STest1 166,8515 -#define TUL_SCFG1 167,8587 -#define TUL_XAddH 169,8654 -#define TUL_XAddW 170,8726 -#define TUL_XCntH 171,8798 -#define TUL_XCntW 172,8870 -#define TUL_XCmd 173,8942 -#define TUL_Int 174,9014 -#define TUL_XStatus 175,9086 -#define TUL_Mask 176,9158 -#define TUL_XCtrl 177,9230 -#define TUL_XCtrl1 178,9302 -#define TUL_XFifo 179,9374 -#define TUL_WCtrl 181,9447 -#define TUL_DCtrl 182,9519 -#define BUSMS 187,9817 -#define IOSPA 188,9889 -#define TSC_EN_RESEL 193,10187 -#define TSC_CMD_COMP 194,10259 -#define TSC_SEL 195,10331 -#define TSC_SEL_ATN 196,10403 -#define TSC_SEL_ATN_DMA 197,10475 -#define TSC_SEL_ATN3 198,10547 -#define TSC_SEL_ATNSTOP 199,10619 -#define TSC_SELATNSTOP 200,10691 -#define TSC_SEL_ATN_DIRECT_IN 202,10764 -#define TSC_SEL_ATN_DIRECT_OUT 203,10836 -#define TSC_SEL_ATN3_DIRECT_IN 204,10908 -#define TSC_SEL_ATN3_DIRECT_OUT 205,10980 -#define TSC_XF_DMA_OUT_DIRECT 206,11052 -#define TSC_XF_DMA_IN_DIRECT 207,11124 -#define TSC_XF_DMA_OUT 209,11197 -#define TSC_XF_DMA_IN 210,11269 -#define TSC_XF_FIFO_OUT 211,11341 -#define TSC_XF_FIFO_IN 212,11413 -#define TSC_MSG_ACCEPT 214,11486 -#define TSC_RST_SEQ 219,11784 -#define TSC_FLUSH_FIFO 220,11856 -#define TSC_ABT_CMD 221,11928 -#define TSC_RST_CHIP 222,12000 -#define TSC_RST_BUS 223,12072 -#define TSC_EN_SCAM 228,12370 -#define TSC_TIMER 229,12442 -#define TSC_EN_SCSI2 230,12514 -#define TSC_PWDN 231,12586 -#define TSC_WIDE_CPU 232,12658 -#define TSC_HW_RESELECT 233,12730 -#define TSC_EN_BUS_OUT 234,12802 -#define TSC_EN_BUS_IN 235,12874 -#define TSC_EN_LATCH 240,13172 -#define TSC_INITIATOR 241,13244 -#define TSC_EN_SCSI_PAR 242,13316 -#define TSC_DMA_8BIT 243,13388 -#define TSC_DMA_16BIT 244,13460 -#define TSC_EN_WDACK 245,13532 -#define TSC_ALT_PERIOD 246,13604 -#define TSC_DIS_SCSIRST 247,13676 -#define TSC_INITDEFAULT 249,13749 -#define TSC_WIDE_SCSI 251,13840 -#define TSC_RST_ACK 256,14138 -#define TSC_RST_ATN 257,14210 -#define TSC_RST_BSY 258,14282 -#define TSC_SET_ACK 260,14355 -#define TSC_SET_ATN 261,14427 -#define TSC_REQI 263,14500 -#define TSC_ACKI 264,14572 -#define TSC_BSYI 265,14644 -#define TSC_SELI 266,14716 -#define TSC_ATNI 267,14788 -#define TSC_MSGI 268,14860 -#define TSC_CDI 269,14932 -#define TSC_IOI 270,15004 -#define TSS_INT_PENDING 276,15303 -#define TSS_SEQ_ACTIVE 277,15367 -#define TSS_XFER_CNT 278,15431 -#define TSS_FIFO_EMPTY 279,15495 -#define TSS_PAR_ERROR 280,15559 -#define TSS_PH_MASK 281,15623 -#define TSS_STATUS_RCV 286,15913 -#define TSS_MSG_SEND 287,15977 -#define TSS_CMD_PH_CMP 288,16041 -#define TSS_DATA_PH_CMP 289,16108 -#define TSS_STATUS_SEND 290,16172 -#define TSS_XFER_CMP 291,16236 -#define TSS_SEL_CMP 292,16300 -#define TSS_ARB_CMP 293,16364 -#define TSS_CMD_ABTED 298,16654 -#define TSS_OFFSET_0 299,16718 -#define TSS_FIFO_FULL 300,16782 -#define TSS_TIMEOUT_0 301,16846 -#define TSS_BUSY_RLS 302,16910 -#define TSS_PH_MISMATCH 303,16974 -#define TSS_SCSI_BUS_EN 304,17038 -#define TSS_SCSIRST 305,17102 -#define TSS_RESEL_INT 310,17392 -#define TSS_SEL_TIMEOUT 311,17456 -#define TSS_BUS_SERV 312,17520 -#define TSS_SCSIRST_INT 313,17549 -#define TSS_DISC_INT 314,17613 -#define TSS_SEL_INT 315,17677 -#define TSS_SCAM_SEL 316,17741 -#define TSS_FUNC_COMP 317,17805 -#define DATA_OUT 322,18060 -#define DATA_IN 323,18086 -#define CMD_OUT 324,18147 -#define STATUS_IN 325,18173 -#define MSG_OUT 326,18234 -#define MSG_IN 327,18295 -#define TAX_X_FORC 334,18549 -#define TAX_X_ABT 335,18578 -#define TAX_X_CLR_FIFO 336,18607 -#define TAX_X_IN 338,18637 -#define TAX_X_OUT 339,18666 -#define TAX_SG_IN 340,18695 -#define TAX_SG_OUT 341,18724 -#define XCMP 346,18979 -#define FCMP 347,19008 -#define XABT 348,19037 -#define XERR 349,19066 -#define SCMP 350,19095 -#define IPEND 351,19124 -#define XPEND 356,19379 -#define FEMPTY 357,19443 -#define EXTSG 364,19735 -#define EXTAD 365,19764 -#define SEG4K 366,19793 -#define EEPRG 367,19822 -#define MRMUL 368,19851 -#define SE2CS 373,20106 -#define SE2CLK 374,20135 -#define SE2DO 375,20164 -#define SE2DI 376,20193 -typedef struct SG_Struc SG_Struc382,20449 -} SG;SG385,20540 -typedef struct Scsi_Ctrl_Blk Scsi_Ctrl_Blk390,20715 -} SCB;SCB428,21995 -#define SCB_RENT 431,22039 -#define SCB_PEND 432,22068 -#define SCB_CONTIG 433,22097 -#define SCB_SELECT 434,22153 -#define SCB_BUSY 435,22182 -#define SCB_DONE 436,22211 -#define ExecSCSI 440,22270 -#define BusDevRst 441,22298 -#define AbortCmd 442,22326 -#define SCM_RSENS 446,22390 -#define SCF_DONE 450,22481 -#define SCF_POST 451,22510 -#define SCF_SENSE 452,22539 -#define SCF_DIR 453,22568 -#define SCF_NO_DCHK 454,22597 -#define SCF_DIN 455,22626 -#define SCF_DOUT 456,22655 -#define SCF_NO_XF 457,22684 -#define SCF_WR_VF 458,22713 -#define SCF_POLL 459,22777 -#define SCF_SG 460,22806 -#define HOST_SEL_TOUT 463,22869 -#define HOST_DO_DU 464,22898 -#define HOST_BUS_FREE 465,22927 -#define HOST_BAD_PHAS 466,22956 -#define HOST_INV_CMD 467,22985 -#define HOST_ABORTED 468,23014 -#define HOST_SCSI_RST 469,23058 -#define HOST_DEV_RST 470,23087 -#define TARGET_CHKCOND 473,23150 -#define TARGET_BUSY 474,23179 -#define QUEUE_FULL 475,23208 -#define MSG_COMP 478,23252 -#define MSG_EXTEND 479,23281 -#define MSG_SDP 480,23310 -#define MSG_RESTORE 481,23339 -#define MSG_DISC 482,23368 -#define MSG_IDE 483,23397 -#define MSG_ABORT 484,23426 -#define MSG_REJ 485,23455 -#define MSG_NOP 486,23484 -#define MSG_PARITY 487,23513 -#define MSG_LINK_COMP 488,23542 -#define MSG_LINK_FLAG 489,23571 -#define MSG_DEVRST 490,23600 -#define MSG_ABORT_TAG 491,23629 -#define MSG_STAG 494,23735 -#define MSG_HTAG 495,23764 -#define MSG_OTAG 496,23793 -#define MSG_IGNOREWIDE 498,23823 -#define MSG_IDENT 500,23853 -typedef struct Tar_Ctrl_Struc Tar_Ctrl_Struc506,24059 -} TCS;TCS514,24264 -#define TCF_SCSI_RATE 521,24487 -#define TCF_EN_DISC 522,24526 -#define TCF_NO_SYNC_NEGO 523,24565 -#define TCF_NO_WDTR 524,24604 -#define TCF_EN_255 525,24643 -#define TCF_EN_START 526,24682 -#define TCF_WDTR_DONE 527,24721 -#define TCF_SYNC_DONE 528,24760 -#define TCF_BUSY 529,24799 -#define TCF_DRV_BUSY 533,24878 -#define TCF_DRV_EN_TAG 534,24950 -#define TCF_DRV_255_63 535,24989 -typedef struct I91u_Adpt_Struc I91u_Adpt_Struc537,25029 -} INI_ADPT_STRUCT;INI_ADPT_STRUCT543,25194 -typedef struct Ha_Ctrl_Struc Ha_Ctrl_Struc549,25400 -} HCS;HCS594,26681 -#define HCC_SCSI_RESET 597,26725 -#define HCC_EN_PAR 598,26762 -#define HCC_ACT_TERM1 599,26799 -#define HCC_ACT_TERM2 600,26836 -#define HCC_AUTO_TERM 601,26873 -#define HCC_EN_PWR 602,26910 -#define HCF_EXPECT_DISC 605,26983 -#define HCF_EXPECT_SELECT 606,27020 -#define HCF_EXPECT_RESET 607,27057 -#define HCF_EXPECT_DONE_DISC 608,27094 -typedef struct _NVRAM_SCSI _NVRAM_SCSI614,27285 -} NVRAM_SCSI;NVRAM_SCSI636,28572 -typedef struct _NVRAM _NVRAM638,28587 -} NVRAM, *PNVRAM;PNVRAM656,29468 -#define NBC1_ENABLE 659,29562 -#define NBC1_8DRIVE 660,29634 -#define NBC1_REMOVABLE 661,29706 -#define NBC1_INT19 662,29778 -#define NBC1_BIOSSCAN 663,29850 -#define NBC1_LUNSUPPORT 664,29922 -#define NHC1_BOOTIDMASK 667,30070 -#define NHC1_LUNMASK 668,30134 -#define NHC1_CHANMASK 669,30198 -#define NCC1_BUSRESET 672,30338 -#define NCC1_PARITYCHK 673,30410 -#define NCC1_ACTTERM1 674,30482 -#define NCC1_ACTTERM2 675,30554 -#define NCC1_AUTOTERM 676,30626 -#define NCC1_PWRMGR 677,30698 -#define NTC_DISCONNECT 680,30846 -#define NTC_SYNC 681,30918 -#define NTC_NO_WDTR 682,30990 -#define NTC_1GIGA 683,31062 -#define NTC_SPINUP 684,31135 -#define INI_SIGNATURE 687,31283 -#define NBC1_DEFAULT 688,31322 -#define NCC1_DEFAULT 689,31368 -#define NTC_DEFAULT 690,31449 -#define DISC_NOT_ALLOW 693,31600 -#define DISC_ALLOW 694,31672 -#define SCSICMD_RequestSense 695,31744 -#define PCI_FUNCTION_ID 701,32008 -#define PCI_BIOS_PRESENT 702,32045 -#define FIND_PCI_DEVICE 703,32082 -#define FIND_PCI_CLASS_CODE 704,32119 -#define GENERATE_SPECIAL_CYCLE 705,32156 -#define READ_CONFIG_BYTE 706,32193 -#define READ_CONFIG_WORD 707,32230 -#define READ_CONFIG_DWORD 708,32267 -#define WRITE_CONFIG_BYTE 709,32304 -#define WRITE_CONFIG_WORD 710,32341 -#define WRITE_CONFIG_DWORD 711,32378 -#define SUCCESSFUL 713,32416 -#define FUNC_NOT_SUPPORTED 714,32453 -#define BAD_VENDOR_ID 715,32490 -#define DEVICE_NOT_FOUND 716,32562 -#define BAD_REGISTER_NUMBER 717,32634 -#define MAX_PCI_DEVICES 719,32672 -#define MAX_PCI_CHANL 721,32743 -typedef struct _BIOS32_ENTRY_STRUCTURE _BIOS32_ENTRY_STRUCTURE723,32778 -} BIOS32_ENTRY_STRUCTURE, *PBIOS32_ENTRY_STRUCTURE;PBIOS32_ENTRY_STRUCTURE730,33136 -} REGS;REGS785,33938 -} CONFIG_ADR;CONFIG_ADR797,34209 -} HOST_ADR;HOST_ADR806,34403 -typedef struct _HCSinfo _HCSinfo808,34416 -} HCSINFO;HCSINFO813,34590 -#define TUL_RD(TUL_RD815,34602 -#define TUL_RDLONG(TUL_RDLONG816,34671 -#define TUL_WR(TUL_WR817,34738 -#define TUL_WRSHORT(TUL_WRSHORT818,34803 -#define TUL_WRLONG(TUL_WRLONG819,34868 -#define SCSI_ABORT_SNOOZE 821,34934 -#define SCSI_ABORT_SUCCESS 822,34962 -#define SCSI_ABORT_PENDING 823,34991 -#define SCSI_ABORT_BUSY 824,35020 -#define SCSI_ABORT_NOT_RUNNING 825,35046 -#define SCSI_ABORT_ERROR 826,35079 -#define SCSI_RESET_SNOOZE 828,35107 -#define SCSI_RESET_PUNT 829,35135 -#define SCSI_RESET_SUCCESS 830,35161 -#define SCSI_RESET_PENDING 831,35190 -#define SCSI_RESET_WAKEUP 832,35219 -#define SCSI_RESET_NOT_RUNNING 833,35247 -#define SCSI_RESET_ERROR 834,35280 -#define SCSI_RESET_SYNCHRONOUS 836,35308 -#define SCSI_RESET_ASYNCHRONOUS 837,35345 -#define SCSI_RESET_SUGGEST_BUS_RESET 838,35383 -#define SCSI_RESET_SUGGEST_HOST_RESET 839,35425 -#define SCSI_RESET_BUS_RESET 841,35469 -#define SCSI_RESET_HOST_RESET 842,35504 -#define SCSI_RESET_ACTION 843,35540 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/t128.h,1328 -#define T128_H42,801 -#define T128_PUBLIC_RELEASE 44,817 -#define TDEBUG_INIT 46,848 -#define TDEBUG_TRANSFER 47,872 -#define T_ROM_OFFSET 63,1509 -#define T_RAM_OFFSET 69,1668 -#define T_CONTROL_REG_OFFSET 75,1852 -#define T_CR_INT 76,1897 -#define T_CR_CT 77,1944 -#define T_STATUS_REG_OFFSET 79,1995 -#define T_ST_BOOT 80,2039 -#define T_ST_S3 81,2081 -#define T_ST_S2 82,2134 -#define T_ST_S1 83,2195 -#define T_ST_PS2 84,2218 -#define T_ST_RDY 85,2272 -#define T_ST_TIM 86,2310 -#define T_ST_ZERO 87,2375 -#define T_5380_OFFSET 89,2418 -#define T_DATA_REG_OFFSET 91,2487 -#define CMD_PER_LUN 104,2948 -#define CAN_QUEUE 108,2996 -#define NCR5380_implementation_fields 113,3043 -#define NCR5380_local_declare(NCR5380_local_declare116,3107 -#define NCR5380_setup(NCR5380_setup119,3165 -#define T128_address(T128_address122,3228 -#define NCR5380_read(NCR5380_read125,3328 -#define NCR5380_write(NCR5380_write126,3383 -#define NCR5380_read(NCR5380_read128,3463 -#define NCR5380_write(NCR5380_write132,3655 -#define NCR5380_intr 139,3889 -#define do_NCR5380_intr 140,3920 -#define NCR5380_queue_command 141,3957 -#define NCR5380_abort 142,4006 -#define NCR5380_host_reset 143,4039 -#define NCR5380_device_reset 144,4082 -#define NCR5380_bus_reset 145,4129 -#define NCR5380_proc_info 146,4170 -#define T128_IRQS 151,4264 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR53C9x.h,7813 -#define NCR53C9X_H14,432 -#define PAD_SIZE 21,560 -#define PAD_SIZE 23,586 -#define MULTIPLE_PAD_SIZES36,1223 -#define PAD_SIZE 38,1256 -#define DEBUG_ESP44,1327 -#define ESPLOG(ESPLOG64,1912 -#define ESPLOG(ESPLOG66,1950 -#define ESPDATA(ESPDATA70,2024 -#define ESPDATA(ESPDATA72,2063 -#define ESPQUEUE(ESPQUEUE76,2121 -#define ESPQUEUE(ESPQUEUE78,2161 -#define ESPDISC(ESPDISC82,2225 -#define ESPDISC(ESPDISC84,2264 -#define ESPSTAT(ESPSTAT88,2323 -#define ESPSTAT(ESPSTAT90,2362 -#define ESPPHASE(ESPPHASE94,2421 -#define ESPPHASE(ESPPHASE96,2461 -#define ESPBUS(ESPBUS100,2522 -#define ESPBUS(ESPBUS102,2560 -#define ESPIRQ(ESPIRQ106,2616 -#define ESPIRQ(ESPIRQ108,2654 -#define ESPSDTR(ESPSDTR112,2706 -#define ESPSDTR(ESPSDTR114,2745 -#define ESPMISC(ESPMISC118,2802 -#define ESPMISC(ESPMISC120,2841 -#define EREGS_PAD(EREGS_PAD127,2934 -#define EREGS_PAD(EREGS_PAD130,2988 -#define esp_write(esp_write150,3430 -#define esp_write(esp_write152,3511 -#define esp_read(esp_read154,3570 -struct ESP_regs ESP_regs156,3603 -#define esp_busid 167,4302 -#define esp_timeo 170,4512 -#define esp_stp 173,4722 -#define esp_soff 176,4932 -#define esp_uid 194,6063 -#define esp_write(esp_write201,6311 -#define esp_read(esp_read202,6364 -struct ESP_regs ESP_regs204,6400 -#define esp_tclow 207,6558 -#define esp_tcmed 208,6655 -#define esp_fdata 209,6752 -#define esp_cmnd 210,6849 -#define esp_status 211,6946 -#define esp_busid 212,7043 -#define esp_intrpt 213,7140 -#define esp_timeo 214,7237 -#define esp_sstep 215,7334 -#define esp_stp 216,7431 -#define esp_fflags 217,7528 -#define esp_soff 218,7625 -#define esp_cfg1 219,7722 -#define esp_cfact 220,7819 -#define esp_ctest 221,7916 -#define esp_cfg2 222,8013 -#define esp_cfg3 225,8180 -#define esp_cfg4 226,8276 -#define esp_tchi 229,8448 -#define esp_uid 230,8544 -#define esp_fgrnd 231,8640 -#define esp_write(esp_write238,8804 -#define esp_read(esp_read239,8859 -struct ESP_regs ESP_regs241,8897 -#define esp_tclow 244,9022 -#define esp_tcmed 245,9103 -#define esp_fdata 246,9184 -#define esp_cmnd 247,9265 -#define esp_status 248,9346 -#define esp_busid 249,9427 -#define esp_intrpt 250,9508 -#define esp_timeo 251,9589 -#define esp_sstep 252,9670 -#define esp_stp 253,9751 -#define esp_fflags 254,9832 -#define esp_soff 255,9913 -#define esp_cfg1 256,9994 -#define esp_cfact 257,10075 -#define esp_ctest 258,10156 -#define esp_cfg2 259,10237 -#define esp_cfg3 262,10388 -#define esp_cfg4 263,10468 -#define esp_tchi 266,10624 -#define esp_uid 267,10704 -#define esp_fgrnd 268,10784 -enum esp_rev esp_rev274,10967 - esp100 275,10982 - esp100 = 0x00,275,10982 - esp100a 276,11033 - esp100a = 0x01,276,11033 - esp236 277,11071 - esp236 = 0x02,277,11071 - fas236 278,11092 - fas236 = 0x03,278,11092 - fas100a 279,11113 - fas100a = 0x04,279,11113 - fast 280,11134 - fast = 0x05,280,11134 - fas366 281,11155 - fas366 = 0x06,281,11155 - fas216 282,11176 - fas216 = 0x07,282,11176 - fsc 283,11197 - fsc = 0x08,283,11197 - espunknown 284,11236 - espunknown = 0x09284,11236 -struct esp_device esp_device290,11371 -struct NCR_ESP NCR_ESP299,11571 - struct esp_pointers esp_pointers353,14292 -#define SYNC_DEFP_SLOW 375,15442 -#define SYNC_DEFP_FAST 376,15496 -#define ESP_CONFIG1_ID 454,18673 -#define ESP_CONFIG1_CHTEST 455,18741 -#define ESP_CONFIG1_PENABLE 456,18816 -#define ESP_CONFIG1_PARTEST 457,18890 -#define ESP_CONFIG1_SRRDISAB 458,18969 -#define ESP_CONFIG1_SLCABLE 459,19049 -#define ESP_CONFIG2_DMAPARITY 462,19208 -#define ESP_CONFIG2_REGPARITY 463,19293 -#define ESP_CONFIG2_BADPARITY 464,19378 -#define ESP_CONFIG2_SCSI2ENAB 465,19456 -#define ESP_CONFIG2_HI 466,19545 -#define ESP_CONFIG2_HMEFENAB 467,19623 -#define ESP_CONFIG2_BCM 468,19696 -#define ESP_CONFIG2_FENAB 469,19778 -#define ESP_CONFIG2_SPL 470,19872 -#define ESP_CONFIG2_RFB 471,19962 -#define ESP_CONFIG2_MAGIC 472,20039 -#define ESP_CONFIG3_FCLOCK 475,20192 -#define ESP_CONFIG3_TEM 476,20283 -#define ESP_CONFIG3_FAST 477,20375 -#define ESP_CONFIG3_ADMA 478,20459 -#define ESP_CONFIG3_TENB 479,20551 -#define ESP_CONFIG3_SRB 480,20635 -#define ESP_CONFIG3_TMS 481,20727 -#define ESP_CONFIG3_FCLK 482,20811 -#define ESP_CONFIG3_IDMSG 483,20903 -#define ESP_CONFIG3_FSCSI 484,20987 -#define ESP_CONFIG3_GTM 485,21079 -#define ESP_CONFIG3_TBMS 486,21171 -#define ESP_CONFIG3_IMS 487,21263 -#define ESP_CONFIG4_BBTE 490,21420 -#define ESP_CONFIG4_TEST 491,21502 -#define ESP_CONFIG4_EAN 492,21582 -#define ESP_CMD_NULL 500,21997 -#define ESP_CMD_FLUSH 501,22074 -#define ESP_CMD_RC 502,22138 -#define ESP_CMD_RS 503,22202 -#define ESP_CMD_TI 508,22398 -#define ESP_CMD_ICCSEQ 509,22472 -#define ESP_CMD_MOK 510,22557 -#define ESP_CMD_TPAD 511,22629 -#define ESP_CMD_SATN 512,22695 -#define ESP_CMD_RATN 513,22756 -#define ESP_CMD_SMSG 518,22987 -#define ESP_CMD_SSTAT 519,23053 -#define ESP_CMD_SDATA 520,23118 -#define ESP_CMD_DSEQ 521,23181 -#define ESP_CMD_TSEQ 522,23255 -#define ESP_CMD_TCCSEQ 523,23327 -#define ESP_CMD_DCNCT 524,23406 -#define ESP_CMD_RMSG 525,23470 -#define ESP_CMD_RCMD 526,23539 -#define ESP_CMD_RDATA 527,23608 -#define ESP_CMD_RCSEQ 528,23674 -#define ESP_CMD_RSEL 534,23943 -#define ESP_CMD_SEL 535,24005 -#define ESP_CMD_SELA 536,24073 -#define ESP_CMD_SELAS 537,24139 -#define ESP_CMD_ESEL 538,24212 -#define ESP_CMD_DSEL 539,24282 -#define ESP_CMD_SA3 540,24354 -#define ESP_CMD_RSEL3 541,24421 -#define ESP_CMD_DMA 544,24522 -#define ESP_STAT_PIO 547,24620 -#define ESP_STAT_PCD 548,24686 -#define ESP_STAT_PMSG 549,24752 -#define ESP_STAT_PMASK 550,24819 -#define ESP_STAT_TDONE 551,24891 -#define ESP_STAT_TCNT 552,24963 -#define ESP_STAT_PERR 553,25041 -#define ESP_STAT_SPAM 554,25107 -#define ESP_STAT_INTR 558,25307 -#define ESP_DOP 565,25638 -#define ESP_DIP 566,25714 -#define ESP_CMDP 567,25790 -#define ESP_STATP 568,25866 -#define ESP_MOP 569,25942 -#define ESP_MIP 570,26020 -#define ESP_INTR_S 573,26137 -#define ESP_INTR_SATN 574,26205 -#define ESP_INTR_RSEL 575,26271 -#define ESP_INTR_FDONE 576,26335 -#define ESP_INTR_BSERV 577,26402 -#define ESP_INTR_DC 578,26467 -#define ESP_INTR_IC 579,26531 -#define ESP_INTR_SR 580,26606 -#define ESP_SRESET_IRQ(ESP_SRESET_IRQ583,26714 -#define ESP_ILLCMD_IRQ(ESP_ILLCMD_IRQ584,26775 -#define ESP_SELECT_WITH_ATN_IRQ(ESP_SELECT_WITH_ATN_IRQ585,26836 -#define ESP_SELECT_WITHOUT_ATN_IRQ(ESP_SELECT_WITHOUT_ATN_IRQ586,26911 -#define ESP_SELECTION_IRQ(ESP_SELECTION_IRQ587,26983 -#define ESP_RESELECTION_IRQ(ESP_RESELECTION_IRQ589,27100 -#define ESP_STEP_VBITS 592,27219 -#define ESP_STEP_ASEL 593,27283 -#define ESP_STEP_SID 594,27362 -#define ESP_STEP_NCMD 595,27433 -#define ESP_STEP_PPC 596,27511 -#define ESP_STEP_FINI4 599,27707 -#define ESP_STEP_FINI5 602,27847 -#define ESP_STEP_FINI6 603,27882 -#define ESP_STEP_FINI7 604,27917 -#define ESP_STEP_SOM 605,27952 -#define ESP_TEST_TARG 608,28069 -#define ESP_TEST_INI 609,28139 -#define ESP_TEST_TS 610,28212 -#define ESP_UID_F100A 613,28358 -#define ESP_UID_F236 614,28420 -#define ESP_UID_FSC 615,28482 -#define ESP_UID_REV 616,28548 -#define ESP_UID_FAM 617,28614 -#define ESP_FF_FBYTES 621,28786 -#define ESP_FF_ONOTZERO 622,28857 -#define ESP_FF_SSTEP 623,28943 -#define ESP_CCF_F0 626,29065 -#define ESP_CCF_NEVER 627,29135 -#define ESP_CCF_F2 628,29211 -#define ESP_CCF_F3 629,29270 -#define ESP_CCF_F4 630,29340 -#define ESP_CCF_F5 631,29410 -#define ESP_CCF_F6 632,29480 -#define ESP_CCF_F7 633,29550 -#define ESP_BUS_TIMEOUT 635,29621 -#define ESP_TIMEO_CONST 636,29691 -#define FSC_TIMEO_CONST 637,29726 -#define ESP_NEG_DEFP(ESP_NEG_DEFP638,29761 -#define FSC_NEG_DEFP(FSC_NEG_DEFP640,29860 -#define ESP_MHZ_TO_CYCLE(ESP_MHZ_TO_CYCLE642,29959 -#define ESP_TICK(ESP_TICK643,30028 -#define for_each_esp(for_each_esp650,30196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicfc_asm.c,212 -unsigned short risc_code_addr01 22,849 -unsigned short risc_code_length2100 24,893 -unsigned short risc_code2100[25,939 -unsigned short risc_code_length2200 4732,306277 -unsigned short risc_code2200[4733,306323 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/dpti_i2o.h,10244 -#define _SCSI_I2O_H2,20 -#define MAX_I2O_MODULES 36,922 -#define I2O_EVT_CAPABILITY_OTHER 38,951 -#define I2O_EVT_CAPABILITY_CHANGED 39,990 -#define I2O_EVT_SENSOR_STATE_CHANGED 41,1032 -#define I2O_MAX_MANAGERS 45,1146 -#define DECLARE_MUTEX(DECLARE_MUTEX53,1255 -typedef struct wait_queue *adpt_wait_queue_head_t;adpt_wait_queue_head_t55,1312 -#define ADPT_DECLARE_WAIT_QUEUE_HEAD(ADPT_DECLARE_WAIT_QUEUE_HEAD56,1363 -typedef struct wait_queue adpt_wait_queue_t;adpt_wait_queue_t57,1441 -typedef wait_queue_head_t adpt_wait_queue_head_t;adpt_wait_queue_head_t61,1517 -#define ADPT_DECLARE_WAIT_QUEUE_HEAD(ADPT_DECLARE_WAIT_QUEUE_HEAD62,1567 -typedef wait_queue_t adpt_wait_queue_t;adpt_wait_queue_t63,1640 -struct i2o_messagei2o_message70,1718 -struct i2o_devicei2o_device84,1923 -struct i2o_controlleri2o_controller101,2324 -struct i2o_sys_tbl_entryi2o_sys_tbl_entry118,2615 -struct i2o_sys_tbli2o_sys_tbl136,2891 -#define I2O_CLASS_VERSION_10 154,3156 -#define I2O_CLASS_VERSION_11 155,3216 -#define I2O_CLASS_EXECUTIVE 161,3354 -#define I2O_CLASS_DDM 162,3415 -#define I2O_CLASS_RANDOM_BLOCK_STORAGE 163,3476 -#define I2O_CLASS_SEQUENTIAL_STORAGE 164,3537 -#define I2O_CLASS_LAN 165,3598 -#define I2O_CLASS_WAN 166,3659 -#define I2O_CLASS_FIBRE_CHANNEL_PORT 167,3720 -#define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 168,3781 -#define I2O_CLASS_SCSI_PERIPHERAL 169,3842 -#define I2O_CLASS_ATE_PORT 170,3903 -#define I2O_CLASS_ATE_PERIPHERAL 171,3964 -#define I2O_CLASS_FLOPPY_CONTROLLER 172,4025 -#define I2O_CLASS_FLOPPY_DEVICE 173,4086 -#define I2O_CLASS_BUS_ADAPTER_PORT 174,4147 -#define I2O_CLASS_PEER_TRANSPORT_AGENT 175,4208 -#define I2O_CLASS_PEER_TRANSPORT 176,4269 -#define I2O_CLASS_MATCH_ANYCLASS 181,4397 -#define I2O_SUBCLASS_i960 186,4484 -#define I2O_SUBCLASS_HDM 187,4545 -#define I2O_SUBCLASS_ISM 188,4606 -#define I2O_PARAMS_FIELD_GET 192,4696 -#define I2O_PARAMS_LIST_GET 193,4732 -#define I2O_PARAMS_MORE_GET 194,4767 -#define I2O_PARAMS_SIZE_GET 195,4802 -#define I2O_PARAMS_TABLE_GET 196,4837 -#define I2O_PARAMS_FIELD_SET 197,4873 -#define I2O_PARAMS_LIST_SET 198,4909 -#define I2O_PARAMS_ROW_ADD 199,4944 -#define I2O_PARAMS_ROW_DELETE 200,4978 -#define I2O_PARAMS_TABLE_CLEAR 201,5015 -#define I2O_SNFORMAT_UNKNOWN 208,5121 -#define I2O_SNFORMAT_BINARY 209,5178 -#define I2O_SNFORMAT_ASCII 210,5235 -#define I2O_SNFORMAT_UNICODE 211,5292 -#define I2O_SNFORMAT_LAN48_MAC 212,5349 -#define I2O_SNFORMAT_WAN 213,5406 -#define I2O_SNFORMAT_LAN64_MAC 218,5511 -#define I2O_SNFORMAT_DDM 219,5568 -#define I2O_SNFORMAT_IEEE_REG64 220,5625 -#define I2O_SNFORMAT_IEEE_REG128 221,5682 -#define I2O_SNFORMAT_UNKNOWN2 222,5739 -#define TRL_SINGLE_FIXED_LENGTH 226,5860 -#define TRL_SINGLE_VARIABLE_LENGTH 227,5898 -#define TRL_MULTIPLE_FIXED_LENGTH 228,5938 -#define I2O_CMD_ADAPTER_ASSIGN 234,6011 -#define I2O_CMD_ADAPTER_READ 235,6048 -#define I2O_CMD_ADAPTER_RELEASE 236,6083 -#define I2O_CMD_BIOS_INFO_SET 237,6121 -#define I2O_CMD_BOOT_DEVICE_SET 238,6157 -#define I2O_CMD_CONFIG_VALIDATE 239,6195 -#define I2O_CMD_CONN_SETUP 240,6233 -#define I2O_CMD_DDM_DESTROY 241,6266 -#define I2O_CMD_DDM_ENABLE 242,6300 -#define I2O_CMD_DDM_QUIESCE 243,6333 -#define I2O_CMD_DDM_RESET 244,6367 -#define I2O_CMD_DDM_SUSPEND 245,6399 -#define I2O_CMD_DEVICE_ASSIGN 246,6433 -#define I2O_CMD_DEVICE_RELEASE 247,6469 -#define I2O_CMD_HRT_GET 248,6506 -#define I2O_CMD_ADAPTER_CLEAR 249,6537 -#define I2O_CMD_ADAPTER_CONNECT 250,6573 -#define I2O_CMD_ADAPTER_RESET 251,6611 -#define I2O_CMD_LCT_NOTIFY 252,6647 -#define I2O_CMD_OUTBOUND_INIT 253,6680 -#define I2O_CMD_PATH_ENABLE 254,6716 -#define I2O_CMD_PATH_QUIESCE 255,6750 -#define I2O_CMD_PATH_RESET 256,6785 -#define I2O_CMD_STATIC_MF_CREATE 257,6818 -#define I2O_CMD_STATIC_MF_RELEASE 258,6856 -#define I2O_CMD_STATUS_GET 259,6895 -#define I2O_CMD_SW_DOWNLOAD 260,6928 -#define I2O_CMD_SW_UPLOAD 261,6962 -#define I2O_CMD_SW_REMOVE 262,6994 -#define I2O_CMD_SYS_ENABLE 263,7026 -#define I2O_CMD_SYS_MODIFY 264,7059 -#define I2O_CMD_SYS_QUIESCE 265,7092 -#define I2O_CMD_SYS_TAB_SET 266,7126 -#define I2O_CMD_UTIL_NOP 268,7161 -#define I2O_CMD_UTIL_ABORT 269,7192 -#define I2O_CMD_UTIL_CLAIM 270,7225 -#define I2O_CMD_UTIL_RELEASE 271,7258 -#define I2O_CMD_UTIL_PARAMS_GET 272,7293 -#define I2O_CMD_UTIL_PARAMS_SET 273,7331 -#define I2O_CMD_UTIL_EVT_REGISTER 274,7369 -#define I2O_CMD_UTIL_EVT_ACK 275,7408 -#define I2O_CMD_UTIL_CONFIG_DIALOG 276,7443 -#define I2O_CMD_UTIL_DEVICE_RESERVE 277,7483 -#define I2O_CMD_UTIL_DEVICE_RELEASE 278,7524 -#define I2O_CMD_UTIL_LOCK 279,7565 -#define I2O_CMD_UTIL_LOCK_RELEASE 280,7597 -#define I2O_CMD_UTIL_REPLY_FAULT_NOTIFY 281,7636 -#define I2O_CMD_SCSI_EXEC 283,7682 -#define I2O_CMD_SCSI_ABORT 284,7714 -#define I2O_CMD_SCSI_BUSRESET 285,7747 -#define I2O_CMD_BLOCK_READ 287,7784 -#define I2O_CMD_BLOCK_WRITE 288,7817 -#define I2O_CMD_BLOCK_CFLUSH 289,7851 -#define I2O_CMD_BLOCK_MLOCK 290,7886 -#define I2O_CMD_BLOCK_MUNLOCK 291,7920 -#define I2O_CMD_BLOCK_MMOUNT 292,7956 -#define I2O_CMD_BLOCK_MEJECT 293,7991 -#define I2O_PRIVATE_MSG 295,8027 -#define I2O_CMD_OUTBOUND_INIT_IN_PROGRESS 301,8095 -#define I2O_CMD_OUTBOUND_INIT_REJECTED 302,8142 -#define I2O_CMD_OUTBOUND_INIT_FAILED 303,8187 -#define I2O_CMD_OUTBOUND_INIT_COMPLETE 304,8230 -#define ADAPTER_STATE_INITIALIZING 310,8316 -#define ADAPTER_STATE_RESET 311,8357 -#define ADAPTER_STATE_HOLD 312,8392 -#define ADAPTER_STATE_READY 313,8426 -#define ADAPTER_STATE_OPERATIONAL 314,8461 -#define ADAPTER_STATE_FAILED 315,8501 -#define ADAPTER_STATE_FAULTED 316,8537 -#define I2O_RTN_NO_ERROR 320,8614 -#define I2O_RTN_NOT_INIT 321,8643 -#define I2O_RTN_FREE_Q_EMPTY 322,8672 -#define I2O_RTN_TCB_ERROR 323,8705 -#define I2O_RTN_TRANSACTION_ERROR 324,8735 -#define I2O_RTN_ADAPTER_ALREADY_INIT 325,8772 -#define I2O_RTN_MALLOC_ERROR 326,8812 -#define I2O_RTN_ADPTR_NOT_REGISTERED 327,8845 -#define I2O_RTN_MSG_REPLY_TIMEOUT 328,8885 -#define I2O_RTN_NO_STATUS 329,8922 -#define I2O_RTN_NO_FIRM_VER 330,8952 -#define I2O_RTN_NO_LINK_SPEED 331,8985 -#define I2O_REPLY_STATUS_SUCCESS 335,9074 -#define I2O_REPLY_STATUS_ABORT_DIRTY 336,9132 -#define I2O_REPLY_STATUS_ABORT_NO_DATA_TRANSFER 337,9190 -#define I2O_REPLY_STATUS_ABORT_PARTIAL_TRANSFER 338,9248 -#define I2O_REPLY_STATUS_ERROR_DIRTY 339,9302 -#define I2O_REPLY_STATUS_ERROR_NO_DATA_TRANSFER 340,9346 -#define I2O_REPLY_STATUS_ERROR_PARTIAL_TRANSFER 341,9400 -#define I2O_REPLY_STATUS_PROCESS_ABORT_DIRTY 342,9454 -#define I2O_REPLY_STATUS_PROCESS_ABORT_NO_DATA_TRANSFER 343,9505 -#define I2O_REPLY_STATUS_PROCESS_ABORT_PARTIAL_TRANSFER 344,9566 -#define I2O_REPLY_STATUS_TRANSACTION_ERROR 345,9627 -#define I2O_REPLY_STATUS_PROGRESS_REPORT 346,9676 -#define I2O_PARAMS_STATUS_SUCCESS 350,9790 -#define I2O_PARAMS_STATUS_BAD_KEY_ABORT 351,9830 -#define I2O_PARAMS_STATUS_BAD_KEY_CONTINUE 352,9876 -#define I2O_PARAMS_STATUS_BUFFER_FULL 353,9927 -#define I2O_PARAMS_STATUS_BUFFER_TOO_SMALL 354,9971 -#define I2O_PARAMS_STATUS_FIELD_UNREADABLE 355,10019 -#define I2O_PARAMS_STATUS_FIELD_UNWRITEABLE 356,10067 -#define I2O_PARAMS_STATUS_INSUFFICIENT_FIELDS 357,10116 -#define I2O_PARAMS_STATUS_INVALID_GROUP_ID 358,10167 -#define I2O_PARAMS_STATUS_INVALID_OPERATION 359,10215 -#define I2O_PARAMS_STATUS_NO_KEY_FIELD 360,10264 -#define I2O_PARAMS_STATUS_NO_SUCH_FIELD 361,10309 -#define I2O_PARAMS_STATUS_NON_DYNAMIC_GROUP 362,10355 -#define I2O_PARAMS_STATUS_OPERATION_ERROR 363,10404 -#define I2O_PARAMS_STATUS_SCALAR_ERROR 364,10451 -#define I2O_PARAMS_STATUS_TABLE_ERROR 365,10496 -#define I2O_PARAMS_STATUS_WRONG_GROUP_TYPE 366,10540 -#define I2O_DSC_SUCCESS 371,10715 -#define I2O_DSC_BAD_KEY 372,10769 -#define I2O_DSC_TCL_ERROR 373,10823 -#define I2O_DSC_REPLY_BUFFER_FULL 374,10877 -#define I2O_DSC_NO_SUCH_PAGE 375,10931 -#define I2O_DSC_INSUFFICIENT_RESOURCE_SOFT 376,10985 -#define I2O_DSC_INSUFFICIENT_RESOURCE_HARD 377,11039 -#define I2O_DSC_CHAIN_BUFFER_TOO_LARGE 378,11093 -#define I2O_DSC_UNSUPPORTED_FUNCTION 379,11147 -#define I2O_DSC_DEVICE_LOCKED 380,11201 -#define I2O_DSC_DEVICE_RESET 381,11255 -#define I2O_DSC_INAPPROPRIATE_FUNCTION 382,11309 -#define I2O_DSC_INVALID_INITIATOR_ADDRESS 383,11363 -#define I2O_DSC_INVALID_MESSAGE_FLAGS 384,11417 -#define I2O_DSC_INVALID_OFFSET 385,11471 -#define I2O_DSC_INVALID_PARAMETER 386,11525 -#define I2O_DSC_INVALID_REQUEST 387,11579 -#define I2O_DSC_INVALID_TARGET_ADDRESS 388,11633 -#define I2O_DSC_MESSAGE_TOO_LARGE 389,11687 -#define I2O_DSC_MESSAGE_TOO_SMALL 390,11741 -#define I2O_DSC_MISSING_PARAMETER 391,11795 -#define I2O_DSC_TIMEOUT 392,11849 -#define I2O_DSC_UNKNOWN_ERROR 393,11903 -#define I2O_DSC_UNKNOWN_FUNCTION 394,11957 -#define I2O_DSC_UNSUPPORTED_VERSION 395,12011 -#define I2O_DSC_DEVICE_BUSY 396,12065 -#define I2O_DSC_DEVICE_NOT_AVAILABLE 397,12119 -#define I2O_CLAIM_PRIMARY 400,12199 -#define I2O_CLAIM_MANAGEMENT 401,12240 -#define I2O_CLAIM_AUTHORIZED 402,12284 -#define I2O_CLAIM_SECONDARY 403,12328 -#define I2OVER15 406,12420 -#define I2OVER20 407,12444 -#define I2OVERSION 409,12531 -#define SGL_OFFSET_0 410,12559 -#define SGL_OFFSET_4 411,12594 -#define SGL_OFFSET_5 412,12640 -#define SGL_OFFSET_6 413,12686 -#define SGL_OFFSET_7 414,12732 -#define SGL_OFFSET_8 415,12778 -#define SGL_OFFSET_9 416,12824 -#define SGL_OFFSET_10 417,12870 -#define SGL_OFFSET_12 418,12916 -#define TRL_OFFSET_5 420,12963 -#define TRL_OFFSET_6 421,13009 -#define MSG_STATIC 424,13095 -#define MSG_64BIT_CNTXT 425,13121 -#define MSG_MULTI_TRANS 426,13152 -#define MSG_FAIL 427,13183 -#define MSG_LAST 428,13207 -#define MSG_REPLY 429,13231 -#define THREE_WORD_MSG_SIZE 432,13281 -#define FOUR_WORD_MSG_SIZE 433,13320 -#define FIVE_WORD_MSG_SIZE 434,13358 -#define SIX_WORD_MSG_SIZE 435,13396 -#define SEVEN_WORD_MSG_SIZE 436,13433 -#define EIGHT_WORD_MSG_SIZE 437,13472 -#define NINE_WORD_MSG_SIZE 438,13511 -#define TEN_WORD_MSG_SIZE 439,13549 -#define I2O_MESSAGE_SIZE(I2O_MESSAGE_SIZE440,13586 -#define ADAPTER_TID 445,13657 -#define HOST_TID 446,13680 -#define MSG_FRAME_SIZE 448,13701 -#define NMBR_MSG_FRAMES 449,13729 -#define MSG_POOL_SIZE 451,13759 -#define I2O_POST_WAIT_OK 453,13789 -#define I2O_POST_WAIT_TIMEOUT 454,13816 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/osd_defs.h,287 -#define _OSD_DEFS_H25,1214 -# define _DPT_LINUX56,1978 -# define _DPT_BSDI58,2024 -# define _DPT_FREE_BSD60,2072 -# define _DPT_SCO62,2101 -#define _DPT_CURSES66,2152 -#define _DPT_MOTIF68,2179 -#define far72,2287 -#define SEMAPHORE_T 75,2354 -#define DLL_HANDLE_T 77,2423 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/dpt_osdutil.h,1422 -#define __OSD_UTIL_H26,1223 - #define DPT_UNALIGNED87,3014 - #define DPT_EXPORT91,3071 - #define DPT_IMPORT95,3125 - #define DPT_RUNTIME_IMPORT 99,3187 - #define _DPT_16_BIT107,3374 - #define _DPT_32_BIT109,3408 - #define _DPT_UNIX113,3637 - #define _DPT_DLL_SUPPORT118,3776 - #define _DPT_PREEMPTIVE122,3896 - #define _DPT_MULTI_THREADED126,3988 - #define _DPT_MULTI_TASKING130,4058 - #define _DPT_STRICT_ALIGN139,4340 - #define _DPT_CPP146,4462 - #define _DPT_C148,4493 - #define DPTSQO165,5440 - #define DPTSQC166,5461 - #define DPTSQO 168,5491 - #define DPTSQC 169,5514 - #define BYTE 179,5717 - #define WORD 180,5747 - #define _DPT_TYPEDEFS184,5808 - typedef unsigned char uCHAR;uCHAR185,5833 - typedef unsigned short uSHORT;uSHORT186,5867 - typedef unsigned int uINT;uINT187,5902 - typedef unsigned long uLONG;uLONG188,5935 - } access_U;access_U194,6054 - #define NULL 198,6097 - inline uLONG osdSwap4(227,6861 - #define osdSwap4(osdSwap4231,6955 -#define NET_SWAP_2(NET_SWAP_2268,8046 -#define NET_SWAP_4(NET_SWAP_4272,8136 -#define NET_SWAP_2(NET_SWAP_2280,8272 -#define NET_SWAP_4(NET_SWAP_4284,8340 -#define DPT_THREAD_PRIORITY_LOWEST 348,10471 -#define DPT_THREAD_PRIORITY_NORMAL 349,10511 -#define DPT_THREAD_PRIORITY_HIGHEST 350,10551 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/osd_util.h,1422 -#define __OSD_UTIL_H26,1223 - #define DPT_UNALIGNED87,3014 - #define DPT_EXPORT91,3071 - #define DPT_IMPORT95,3125 - #define DPT_RUNTIME_IMPORT 99,3187 - #define _DPT_16_BIT107,3374 - #define _DPT_32_BIT109,3408 - #define _DPT_UNIX113,3637 - #define _DPT_DLL_SUPPORT118,3776 - #define _DPT_PREEMPTIVE122,3896 - #define _DPT_MULTI_THREADED126,3988 - #define _DPT_MULTI_TASKING130,4058 - #define _DPT_STRICT_ALIGN139,4340 - #define _DPT_CPP146,4462 - #define _DPT_C148,4493 - #define DPTSQO165,5440 - #define DPTSQC166,5461 - #define DPTSQO 168,5491 - #define DPTSQC 169,5514 - #define BYTE 179,5717 - #define WORD 180,5747 - #define _DPT_TYPEDEFS184,5808 - typedef unsigned char uCHAR;uCHAR185,5833 - typedef unsigned short uSHORT;uSHORT186,5867 - typedef unsigned int uINT;uINT187,5902 - typedef unsigned long uLONG;uLONG188,5935 - } access_U;access_U194,6054 - #define NULL 198,6097 - inline uLONG osdSwap4(227,6861 - #define osdSwap4(osdSwap4231,6955 -#define NET_SWAP_2(NET_SWAP_2268,8046 -#define NET_SWAP_4(NET_SWAP_4272,8136 -#define NET_SWAP_2(NET_SWAP_2280,8272 -#define NET_SWAP_4(NET_SWAP_4284,8340 -#define DPT_THREAD_PRIORITY_LOWEST 348,10471 -#define DPT_THREAD_PRIORITY_NORMAL 349,10511 -#define DPT_THREAD_PRIORITY_HIGHEST 350,10551 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/dpti_ioctl.h,874 -#define _dpti_ioctl_h26,1360 -# define _IOWR(_IOWR31,1426 -# define _IOW(_IOW34,1481 -# define _IOR(_IOR37,1535 -# define _IO(_IO40,1588 -#define EATAUSRCMD 43,1657 -#define DPT_DEBUG 45,1736 -#define DPT_SIGNATURE 47,1807 -#define DPT_SIGNATURE_PACKED 49,1875 -#define DPT_NUMCTRLS 52,1976 -#define DPT_CTRLINFO 54,2050 -#define DPT_STATINFO 56,2128 -#define DPT_CLRSTAT 58,2193 -#define DPT_SYSINFO 60,2261 -#define DPT_TIMEOUT 62,2333 -#define DPT_CONFIG 64,2394 -#define DPT_BLINKLED 66,2463 -#define DPT_STATS_INFO 68,2553 -#define DPT_STATS_CLEAR 70,2656 -#define DPT_PERF_INFO 72,2728 -#define I2OUSRCMD 74,2807 -#define I2ORESCANCMD 76,2887 -#define I2ORESETCMD 78,2957 -#define DPT_TARGET_BUSY 80,3024 -} CtrlInfo;CtrlInfo106,4497 -} drvrHBAinfo_S;drvrHBAinfo_S129,5289 -typedef struct TARGET_BUSYTARGET_BUSY131,5307 -} TARGET_BUSY_T;TARGET_BUSY_T137,5394 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/dptsig.h,4798 -#define __DPTSIG_H_26,1212 -typedef unsigned char sigBYTE;sigBYTE34,1478 -typedef unsigned short sigWORD;sigWORD35,1509 -typedef uint32_t sigLONG;sigLONG37,1609 -typedef unsigned long sigLONG;sigLONG39,1641 -# define sigWORDLittleEndian(sigWORDLittleEndian53,1923 -# define sigLONGLittleEndian(sigLONGLittleEndian54,1989 -# define sigWORDLittleEndian(sigWORDLittleEndian60,2173 -# define sigLONGLittleEndian(sigLONGLittleEndian61,2209 -#define SIG_VERSION 86,3039 -#define PROC_INTEL 92,3340 -#define PROC_MOTOROLA 93,3390 -#define PROC_MIPS4000 94,3441 -#define PROC_ALPHA 95,3494 -#define PROC_POWERPC 96,3542 -#define PROC_i960 97,3593 -#define PROC_ULTRASPARC 98,3642 -#define PROC_8086 105,3920 -#define PROC_286 106,3969 -#define PROC_386 107,4019 -#define PROC_486 108,4069 -#define PROC_PENTIUM 109,4119 -#define PROC_SEXIUM 110,4186 -#define PROC_960RX 113,4275 -#define PROC_960HX 114,4330 -#define PROC_68000 117,4410 -#define PROC_68010 118,4463 -#define PROC_68020 119,4508 -#define PROC_68030 120,4561 -#define PROC_68040 121,4614 -#define PROC_PPC601 124,4687 -#define PROC_PPC603 125,4731 -#define PROC_PPC604 126,4775 -#define PROC_R4000 129,4841 -#define FT_EXECUTABLE 133,5023 -#define FT_SCRIPT 134,5080 -#define FT_HBADRVR 135,5139 -#define FT_OTHERDRVR 136,5188 -#define FT_IFS 137,5239 -#define FT_ENGINE 138,5307 -#define FT_COMPDRVR 139,5356 -#define FT_LANGUAGE 140,5417 -#define FT_FIRMWARE 141,5477 -#define FT_COMMMODL 142,5547 -#define FT_INT13 143,5607 -#define FT_HELPFILE 144,5669 -#define FT_LOGGER 145,5717 -#define FT_INSTALL 146,5768 -#define FT_LIBRARY 147,5825 -#define FT_RESOURCE 148,5895 -#define FT_MODEM_DB 149,5956 -#define FTF_DLL 153,6155 -#define FTF_NLM 154,6214 -#define FTF_OVERLAYS 155,6276 -#define FTF_DEBUG 156,6328 -#define FTF_TSR 157,6380 -#define FTF_SYS 158,6422 -#define FTF_PROTECTED 159,6480 -#define FTF_APP_SPEC 160,6541 -#define FTF_ROM 161,6600 -#define OEM_DPT 165,6779 -#define OEM_ATT 166,6821 -#define OEM_NEC 167,6863 -#define OEM_ALPHA 168,6905 -#define OEM_AST 169,6955 -#define OEM_OLIVETTI 170,6997 -#define OEM_SNI 171,7044 -#define OEM_SUN 172,7098 -#define OS_DOS 176,7280 -#define OS_WINDOWS 177,7334 -#define OS_WINDOWS_NT 178,7398 -#define OS_OS2M 179,7461 -#define OS_OS2L 180,7545 -#define OS_OS22x 181,7615 -#define OS_NW286 182,7671 -#define OS_NW386 183,7732 -#define OS_GEN_UNIX 184,7793 -#define OS_SCO_UNIX 185,7849 -#define OS_ATT_UNIX 186,7902 -#define OS_UNIXWARE 187,7955 -#define OS_INT_UNIX 188,8008 -#define OS_SOLARIS 189,8068 -#define OS_QNX 190,8127 -#define OS_NEXTSTEP 191,8187 -#define OS_BANYAN 192,8252 -#define OS_OLIVETTI_UNIX 193,8308 -#define OS_MAC_OS 194,8365 -#define OS_WINDOWS_95 195,8410 -#define OS_NW4x 196,8472 -#define OS_BSDI_UNIX 197,8526 -#define OS_AIX_UNIX 198,8592 -#define OS_FREE_BSD 199,8645 -#define OS_LINUX 200,8697 -#define OS_DGUX_UNIX 201,8740 -#define OS_SINIX_N 202,8798 -#define OS_PLAN9 203,8853 -#define OS_TSX 204,8900 -#define OS_OTHER 206,8947 -#define CAP_RAID0 210,9133 -#define CAP_RAID1 211,9178 -#define CAP_RAID3 212,9223 -#define CAP_RAID5 213,9268 -#define CAP_SPAN 214,9313 -#define CAP_PASS 215,9360 -#define CAP_OVERLAP 216,9419 -#define CAP_ASPI 217,9498 -#define CAP_ABOVE16MB 218,9567 -#define CAP_EXTEND 219,9643 -#define CAP_CACHEMODE 221,9737 -#define DEV_DASD 226,9950 -#define DEV_TAPE 227,10007 -#define DEV_PRINTER 228,10057 -#define DEV_PROC 229,10104 -#define DEV_WORM 230,10153 -#define DEV_CDROM 231,10203 -#define DEV_SCANNER 232,10255 -#define DEV_OPTICAL 233,10302 -#define DEV_JUKEBOX 234,10355 -#define DEV_COMM 235,10401 -#define DEV_OTHER 236,10462 -#define DEV_ALL 237,10514 -#define ADF_2001 241,10712 -#define ADF_2012A 242,10767 -#define ADF_PLUS_ISA 243,10822 -#define ADF_PLUS_EISA 244,10877 -#define ADF_SC3_ISA 245,10932 -#define ADF_SC3_EISA 246,10983 -#define ADF_SC3_PCI 247,11037 -#define ADF_SC4_ISA 248,11090 -#define ADF_SC4_EISA 249,11142 -#define ADF_SC4_PCI 250,11196 -#define ADF_SC5_PCI 251,11247 -#define ADF_ALL_2000 255,11345 -#define ADF_ALL_PLUS 256,11387 -#define ADF_ALL_SC3 257,11437 -#define ADF_ALL_SC4 258,11496 -#define ADF_ALL_SC5 259,11555 -#define ADF_ALL_CACHE 261,11622 -#define ADF_ALL_MASTER 263,11721 -#define ADF_ALL_EATA 265,11802 -#define ADF_ALL 266,11849 -#define APP_DPTMGR 270,12014 -#define APP_ENGINE 271,12072 -#define APP_SYTOS 272,12121 -#define APP_CHEYENNE 273,12177 -#define APP_MSCDEX 274,12243 -#define APP_NOVABACK 275,12309 -#define APP_AIM 276,12365 -#define REQ_SMARTROM 280,12582 -#define REQ_DPTDDL 281,12657 -#define REQ_HBA_DRIVER 282,12732 -#define REQ_ASPI_TRAN 283,12807 -#define REQ_ENGINE 284,12882 -#define REQ_COMM_ENG 285,12957 -# define dsDescription_size 292,13205 -typedef struct dpt_sig dpt_sig295,13244 -} dpt_sig_S;dpt_sig_S317,14497 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt/sys_info.h,1170 -#define __SYS_INFO_H26,1223 - struct driveParam_S driveParam_S77,2402 - } driveParam_S;97,2874 -#define SI_CMOS_Valid 113,3284 -#define SI_NumDrivesValid 114,3323 -#define SI_ProcessorValid 115,3362 -#define SI_MemorySizeValid 116,3401 -#define SI_DriveParamsValid 117,3440 -#define SI_SmartROMverValid 118,3479 -#define SI_OSversionValid 119,3518 -#define SI_OSspecificValid 120,3557 -#define SI_BusTypeValid 121,3630 -#define SI_ALL_VALID 123,3670 -#define SI_NO_SmartROM 124,3741 -#define SI_ISA_BUS 127,3808 -#define SI_MCA_BUS 128,3837 -#define SI_EISA_BUS 129,3866 -#define SI_PCI_BUS 130,3895 - struct sysInfo_S sysInfo_S133,3945 - } sysInfo_S;175,5545 -#define DI_DOS_HIGH 191,5920 -#define DI_DPMI_VALID 192,5985 - struct DOS_Info_S DOS_Info_S195,6074 - } DOS_Info_S;216,6585 - struct Netware_Info_S Netware_Info_S232,6957 - } Netware_Info_S;264,7858 - struct OS2_Info_S OS2_Info_S280,8232 - } OS2_Info_S;298,8587 - struct WinNT_Info_S WinNT_Info_S314,8960 - } WinNT_Info_S;332,9317 - struct SCO_Info_S SCO_Info_S348,9691 - } SCO_Info_S;366,10046 - struct USL_Info_S USL_Info_S382,10415 - } USL_Info_S;400,10770 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTS.h,23 -#define CPQFCTS_H2,18 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicfas.c,485 -#define INT_TYPE 42,1182 -static char qlogicfas_name[44,1202 -static struct Scsi_Host *__qlogicfas_detect(50,1299 -#define MAX_QLOGICFAS 136,3410 -static struct qlogicfas408_priv *cards;137,3434 -static int iobase[138,3474 -static int irq[139,3508 -static int __devinit qlogicfas_detect(145,3767 -static int qlogicfas_release(165,4159 -static Scsi_Host_Template qlogicfas_driver_template 186,4642 -static __init int qlogicfas_init(204,5217 -static __exit void qlogicfas_exit(217,5517 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_inline.h,412 -qla2x00_debounce_register(33,918 -qla2x00_normalize_dma_addr(98,2757 -qla2x00_poll(118,3289 -qla2x00_enable_intrs(131,3598 -qla2x00_disable_intrs(146,3977 -qla2x00_is_wwn_zero(175,4591 -qla2x00_suspend_lun(196,4995 -qla2x00_delay_lun(202,5159 -static __inline__ void qla2x00_check_fabric_devices(212,5428 -qla2x00_issue_marker(227,5792 -qla2x00_add_timer_to_cmd(262,6743 -qla2x00_delete_timer_from_cmd(284,7340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql6322_fw.c,741 -unsigned short fw2322flx_version 25,883 -unsigned short risc_code_version 27,934 -unsigned char fw2322flx_version_str[31,1009 -unsigned char firmware_version[33,1066 -#define fw2322flx_VERSION_STRING 37,1142 -#define FW_VERSION_STRING 39,1191 -unsigned short fw2322flx_addr01 43,1257 -unsigned short risc_code_addr01 45,1306 -unsigned short fw2322flx_code01[49,1379 -unsigned short fw2322flx_length01 6664,431042 -unsigned short risc_code_length01 6666,431092 -unsigned long rseqflx_code_addr01 6673,431155 -unsigned short rseqflx_code01[6674,431204 -unsigned short rseqflx_code_length01 6906,446144 -unsigned long xseqflx_code_addr01 6911,446202 -unsigned short xseqflx_code01[6912,446251 -unsigned short xseqflx_code_length01 7433,480008 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2100.c,336 -static char qla_driver_name[15,285 -static struct qla_fw_info qla_fw_tbl[23,539 -static struct qla_board_info qla_board_tbl 34,755 -static struct pci_device_id qla2100_pci_tbl[41,885 -qla2100_probe_one(55,1200 -qla2100_remove_one(62,1379 -static struct pci_driver qla2100_pci_driver 67,1452 -qla2100_init(75,1648 -qla2100_exit(81,1737 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2322_fw.c,741 -unsigned short fw2322ipx_version 25,883 -unsigned short risc_code_version 27,934 -unsigned char fw2322ipx_version_str[31,1009 -unsigned char firmware_version[33,1066 -#define fw2322ipx_VERSION_STRING 37,1142 -#define FW_VERSION_STRING 39,1191 -unsigned short fw2322ipx_addr01 43,1257 -unsigned short risc_code_addr01 45,1306 -unsigned short fw2322ipx_code01[49,1379 -unsigned short fw2322ipx_length01 7209,466491 -unsigned short risc_code_length01 7211,466541 -unsigned long rseqipx_code_addr01 7218,466604 -unsigned short rseqipx_code01[7219,466653 -unsigned short rseqipx_code_length01 7538,487280 -unsigned long xseqipx_code_addr01 7543,487338 -unsigned short xseqipx_code01[7544,487387 -unsigned short xseqipx_code_length01 8085,522444 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_sup.c,228 -qla2x00_lock_nvram_access(39,1167 -qla2x00_unlock_nvram_access(72,1963 -qla2x00_get_nvram_word(91,2464 -qla2x00_write_nvram_word(110,2812 -qla2x00_nvram_request(197,4598 -qla2x00_nv_deselect(240,5523 -qla2x00_nv_write(255,5848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2300.c,336 -static char qla_driver_name[15,285 -static struct qla_fw_info qla_fw_tbl[23,544 -static struct qla_board_info qla_board_tbl[33,762 -static struct pci_device_id qla2300_pci_tbl[46,991 -qla2300_probe_one(66,1498 -qla2300_remove_one(73,1677 -static struct pci_driver qla2300_pci_driver 78,1750 -qla2300_init(86,1946 -qla2300_exit(92,2035 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_rscn.c,1458 -#define HDL_TYPE_SCSI 32,908 -#define HDL_TYPE_ASYNC_IOCB 33,933 -#define HDL_INDEX_BITS 35,967 -#define HDL_ITER_BITS 36,993 -#define HDL_TYPE_BITS 37,1018 -#define HDL_INDEX_MASK 39,1043 -#define HDL_ITER_MASK 40,1096 -#define HDL_TYPE_MASK 41,1147 -#define HDL_INDEX_SHIFT 43,1199 -#define HDL_ITER_SHIFT 44,1225 -#define HDL_TYPE_SHIFT 45,1283 -int (*iocb_function_cb_list[90,3129 - (scsi_qla_host_t 91,3172 - (scsi_qla_host_t *, struct io_descriptor 91,3172 - (scsi_qla_host_t *, struct io_descriptor *, struct mbx_entry 91,3172 -qla2x00_to_handle(113,3675 -qla2x00_handle_to_idx(127,4062 -qla2x00_handle_to_type(139,4375 -qla2x00_handle_to_iter(151,4683 -qla2x00_iodesc_to_handle(163,4973 -qla2x00_handle_to_iodesc(183,5525 -qla2x00_alloc_iodesc(209,6066 -qla2x00_free_iodesc(238,6680 -qla2x00_remove_iodesc_timer(249,6912 -qla2x00_init_io_descriptors(263,7249 -qla2x00_iodesc_timeout(286,7686 -qla2x00_add_iodesc_timer(315,8641 -qla2x00_update_login_fcport(339,9243 -qla2x00_get_mbx_iocb_entry(374,10211 -qla2x00_send_abort_iocb(412,11219 -qla2x00_send_abort_iocb_cb(465,12682 -qla2x00_send_adisc_iocb(486,13350 -qla2x00_send_adisc_iocb_cb(541,14973 -qla2x00_send_logout_iocb(603,17081 -qla2x00_send_logout_iocb_cb(653,18433 -qla2x00_send_login_iocb(678,19226 -qla2x00_send_login_iocb_cb(733,20821 -qla2x00_alloc_rscn_fcport(1093,32520 -qla2x00_handle_port_rscn(1116,32974 -qla2x00_process_iodesc(1367,40866 -qla2x00_cancel_io_descriptors(1439,42846 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2300_fw.c,461 -unsigned short fw2300ipx_version 25,883 -unsigned short risc_code_version 27,934 -unsigned char fw2300ipx_version_str[31,1009 -unsigned char firmware_version[33,1066 -#define fw2300ipx_VERSION_STRING 37,1142 -#define FW_VERSION_STRING 39,1191 -unsigned short fw2300ipx_addr01 43,1257 -unsigned short risc_code_addr01 45,1306 -unsigned short fw2300ipx_code01[49,1379 -unsigned short fw2300ipx_length01 7544,488226 -unsigned short risc_code_length01 7546,488276 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql6312.c,336 -static char qla_driver_name[14,244 -static struct qla_fw_info qla_fw_tbl[22,503 -static struct qla_board_info qla_board_tbl[32,721 -static struct pci_device_id qla6312_pci_tbl[40,862 -qla6312_probe_one(53,1179 -qla6312_remove_one(60,1358 -static struct pci_driver qla6312_pci_driver 65,1431 -qla6312_init(73,1627 -qla6312_exit(79,1716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_devtbl.h,93 -#define QLA_MODEL_NAMES 1,0 -char *qla2x00_model_name[6,69 -char *qla2x00_model_desc[42,897 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_isr.c,374 -qla2100_intr_handler(43,1549 -qla2300_intr_handler(127,3562 -qla2x00_mbx_completion(235,6132 -qla2x00_async_event(272,7064 -qla2x00_process_completed_request(680,18687 -qla2x00_process_response_queue(725,19811 -qla2x00_status_entry(821,22365 -qla2x00_status_cont_entry(1258,34013 -qla2x00_error_entry(1304,35140 -qla2x00_ms_entry(1369,37057 -qla2x00_check_sense(1409,38053 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql6322.c,338 -static char qla_driver_name[14,244 -static struct qla_fw_info qla_fw_tbl[28,757 -static struct qla_board_info qla_board_tbl[50,1277 -static struct pci_device_id qla6322_pci_tbl[58,1418 -qla6322_probe_one(71,1735 -qla6322_remove_one(78,1914 -static struct pci_driver qla6322_pci_driver 83,1987 -qla6322_init(91,2183 -qla6322_exit(97,2272 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql6312_fw.c,461 -unsigned short fw2300flx_version 25,883 -unsigned short risc_code_version 27,934 -unsigned char fw2300flx_version_str[31,1009 -unsigned char firmware_version[33,1066 -#define fw2300flx_VERSION_STRING 37,1142 -#define FW_VERSION_STRING 39,1191 -unsigned short fw2300flx_addr01 43,1257 -unsigned short risc_code_addr01 45,1306 -unsigned short fw2300flx_code01[49,1379 -unsigned short fw2300flx_length01 6898,446252 -unsigned short risc_code_length01 6900,446302 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2200.c,336 -static char qla_driver_name[15,285 -static struct qla_fw_info qla_fw_tbl[23,539 -static struct qla_board_info qla_board_tbl 34,755 -static struct pci_device_id qla2200_pci_tbl[41,885 -qla2200_probe_one(55,1200 -qla2200_remove_one(62,1379 -static struct pci_driver qla2200_pci_driver 67,1452 -qla2200_init(75,1648 -qla2200_exit(81,1737 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_mbx.c,1296 -qla2x00_mbx_sem_timeout(24,718 -qla2x00_mailbox_command(57,1429 -qla2x00_load_ram(348,9364 -qla2x00_load_ram_ext(424,11188 -qla2x00_execute_fw(505,13156 -qla2x00_get_fw_version(548,14019 -qla2x00_get_fw_options(599,15192 -qla2x00_set_fw_options(645,16085 -qla2x00_read_ram_word(691,17040 -qla2x00_write_ram_word(733,17862 -qla2x00_write_ram_word_ext(777,18707 -qla2x00_mbx_reg_test(823,19664 -qla2x00_verify_checksum(883,21046 -qla2x00_issue_iocb(932,22079 -qla2x00_abort_command(979,23067 -qla2x00_abort_device(1050,24669 -qla2x00_abort_target(1106,25903 -qla2x00_target_reset(1168,27150 -qla2x00_get_adapter_id(1233,28543 -qla2x00_get_retry_cnt(1286,29697 -qla2x00_init_firmware(1343,31075 -qla2x00_get_port_database(1397,32298 -qla2x00_get_firmware_state(1501,34991 -qla2x00_get_port_name(1552,36073 -qla2x00_get_link_status(1615,37442 -qla2x00_lip_reset(1712,40093 -qla2x00_send_sns(1769,41214 -qla2x00_login_fabric(1831,42920 -qla2x00_login_local_device(1908,44939 -qla2x00_fabric_logout(1978,46853 -qla2x00_full_login_lip(2031,47925 -qla2x00_get_id_list(2076,48751 -qla2x00_lun_reset(2131,49961 -qla2x00_send_rnid_mbx(2179,50934 -qla2x00_set_rnid_params_mbx(2241,52408 -qla2x00_get_rnid_params_mbx(2296,53728 -qla2x00_get_resource_cnts(2348,54934 -qla2x00_get_fcal_position_map(2403,56280 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_gbl.h,215 -#define __QLA_GBL_H24,921 -#define qla2x00_enqueue_aen(qla2x00_enqueue_aen295,9292 -#define qla2x00_alloc_ioctl_mem(qla2x00_alloc_ioctl_mem296,9352 -#define qla2x00_free_ioctl_mem(qla2x00_free_ioctl_mem297,9393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_iocb.c,428 -qla2x00_get_cmd_direction(38,1326 -qla2x00_calc_iocbs_32(61,1846 -qla2x00_calc_iocbs_64(83,2261 -qla2x00_prep_cont_type0_iocb(103,2626 -qla2x00_prep_cont_type1_iocb(132,3302 -void qla2x00_build_scsi_iocbs_32(162,4010 -void qla2x00_build_scsi_iocbs_64(242,6043 -qla2x00_start_scsi(325,8161 -__qla2x00_marker(498,12720 -qla2x00_marker(526,13240 -qla2x00_req_pkt(548,13801 -qla2x00_ms_req_pkt(617,15500 -qla2x00_isp_cmd(707,17607 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_listops.h,747 -__add_to_done_queue(33,1106 -__add_to_retry_queue(50,1519 -__add_to_scsi_retry_queue(67,1915 -add_to_done_queue(83,2296 -add_to_free_queue(93,2549 -add_to_retry_queue(99,2667 -add_to_scsi_retry_queue(109,2922 -__del_from_retry_queue(134,3607 -__del_from_scsi_retry_queue(155,4110 -del_from_retry_queue(179,4721 -del_from_scsi_retry_queue(206,5386 -__add_to_pending_queue(231,5975 -__add_to_pending_queue_head(250,6373 -add_to_pending_queue(265,6699 -add_to_pending_queue_head(277,6965 -__del_from_pending_queue(287,7204 -__add_to_failover_queue(298,7393 -static inline void add_to_failover_queue(312,7703 -static inline void __del_from_failover_queue(322,7964 -static inline void del_from_failover_queue(330,8171 -del_from_pending_queue(342,8457 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_dbg.h,2146 - #define QL_DEBUG_ROUTINES47,2285 -#define ENTER(ENTER55,2412 -#define LEAVE(LEAVE56,2486 -#define ENTER_INTR(ENTER_INTR57,2560 -#define LEAVE_INTR(LEAVE_INTR58,2639 -#define ENTER(ENTER60,2724 -#define LEAVE(LEAVE61,2757 -#define ENTER_INTR(ENTER_INTR62,2790 -#define LEAVE_INTR(LEAVE_INTR63,2829 -#define DEBUG(DEBUG67,2896 -#define DEBUG(DEBUG69,2938 -#define DEBUG1(DEBUG173,3010 -#define DEBUG1(DEBUG175,3053 -#define DEBUG2(DEBUG279,3126 -#define DEBUG2_3(DEBUG2_380,3169 -#define DEBUG2_3_11(DEBUG2_3_1181,3212 -#define DEBUG2_9_10(DEBUG2_9_1082,3255 -#define DEBUG2_11(DEBUG2_1183,3300 -#define DEBUG2(DEBUG285,3349 -#define DEBUG3(DEBUG389,3422 -#define DEBUG2_3(DEBUG2_390,3459 -#define DEBUG2_3_11(DEBUG2_3_1191,3498 -#define DEBUG3_11(DEBUG3_1192,3540 -#define DEBUG3(DEBUG394,3586 - #define DEBUG2_3(DEBUG2_396,3654 -#define DEBUG4(DEBUG4101,3740 -#define DEBUG4(DEBUG4103,3783 -#define DEBUG5(DEBUG5107,3856 -#define DEBUG5(DEBUG5109,3908 -#define DEBUG7(DEBUG7113,3981 -#define DEBUG7(DEBUG7115,4033 -#define DEBUG9(DEBUG9119,4109 -#define DEBUG9_10(DEBUG9_10120,4152 -#define DEBUG2_9_10(DEBUG2_9_10121,4195 -#define DEBUG9(DEBUG9123,4243 -#define DEBUG10(DEBUG10127,4317 -#define DEBUG2_9_10(DEBUG2_9_10128,4360 -#define DEBUG9_10(DEBUG9_10129,4402 -#define DEBUG10(DEBUG10131,4448 - #define DEBUG2_9_10(DEBUG2_9_10133,4512 - #define DEBUG9_10(DEBUG9_10136,4589 -#define DEBUG11(DEBUG11141,4677 -#define DEBUG2_11(DEBUG2_11143,4742 -#define DEBUG2_3_11(DEBUG2_3_11146,4816 -#define DEBUG3_11(DEBUG3_11149,4888 -#define DEBUG11(DEBUG11152,4942 - #define DEBUG2_11(DEBUG2_11154,5009 - #define DEBUG2_3_11(DEBUG2_3_11156,5082 - #define DEBUG3_11(DEBUG3_11160,5177 -#define DEBUG12(DEBUG12165,5263 -#define DEBUG12(DEBUG12167,5312 -#define DEBUG13(DEBUG13171,5387 -#define DEBUG13(DEBUG13173,5435 -#define DEBUG14(DEBUG14177,5509 -#define DEBUG14(DEBUG14179,5557 -#define FW_DUMP_SIZE_128K 185,5645 -#define FW_DUMP_SIZE_512K 186,5679 -#define FW_DUMP_SIZE_1M 187,5714 -struct qla2300_fw_dump qla2300_fw_dump189,5749 -struct qla2100_fw_dump qla2100_fw_dump213,6340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_def.h,25782 -#define __QLA_DEF_H21,819 -#define PCI_DEVICE_ID_QLOGIC_ISP2300 45,1389 -#define PCI_DEVICE_ID_QLOGIC_ISP2312 49,1478 -#define PCI_DEVICE_ID_QLOGIC_ISP2322 53,1567 -#define PCI_DEVICE_ID_QLOGIC_ISP6312 57,1656 -#define PCI_DEVICE_ID_QLOGIC_ISP6322 61,1745 -#define IS_QLA2100(IS_QLA210065,1869 -#define IS_QLA2100(IS_QLA210067,1951 -#define IS_QLA2200(IS_QLA220071,2056 -#define IS_QLA2200(IS_QLA220073,2138 -#define IS_QLA2300(IS_QLA230077,2243 -#define IS_QLA2312(IS_QLA231278,2319 -#define IS_QLA2300(IS_QLA230080,2401 -#define IS_QLA2312(IS_QLA231281,2426 -#define IS_QLA2322(IS_QLA232285,2531 -#define IS_QLA2322(IS_QLA232287,2613 -#define IS_QLA6312(IS_QLA631291,2718 -#define IS_QLA6312(IS_QLA631293,2800 -#define IS_QLA6322(IS_QLA632297,2905 -#define IS_QLA6322(IS_QLA632299,2987 -#define IS_QLA23XX(IS_QLA23XX102,3020 -#define HAS_EXTENDED_IDS(HAS_EXTENDED_IDS108,3223 -#define MAILBOX_REGISTER_COUNT_2100 115,3438 -#define MAILBOX_REGISTER_COUNT 116,3476 -#define QLA2200A_RISC_ROM_VER 118,3512 -#define FPM_2300 119,3544 -#define FPM_2310 120,3564 -#define BIT_0 127,3644 -#define BIT_1 128,3662 -#define BIT_2 129,3680 -#define BIT_3 130,3698 -#define BIT_4 131,3716 -#define BIT_5 132,3735 -#define BIT_6 133,3754 -#define BIT_7 134,3773 -#define BIT_8 135,3792 -#define BIT_9 136,3812 -#define BIT_10 137,3832 -#define BIT_11 138,3853 -#define BIT_12 139,3874 -#define BIT_13 140,3896 -#define BIT_14 141,3918 -#define BIT_15 142,3940 -#define BIT_16 143,3962 -#define BIT_17 144,3985 -#define BIT_18 145,4008 -#define BIT_19 146,4031 -#define BIT_20 147,4054 -#define BIT_21 148,4078 -#define BIT_22 149,4102 -#define BIT_23 150,4126 -#define BIT_24 151,4150 -#define BIT_25 152,4175 -#define BIT_26 153,4200 -#define BIT_27 154,4225 -#define BIT_28 155,4250 -#define BIT_29 156,4276 -#define BIT_30 157,4302 -#define BIT_31 158,4328 -#define LSB(LSB160,4355 -#define MSB(MSB161,4385 -#define LSW(LSW163,4433 -#define MSW(MSW164,4464 -#define LSD(LSD166,4514 -#define MSD(MSD167,4557 -#define RD_REG_BYTE(RD_REG_BYTE174,4641 -#define RD_REG_WORD(RD_REG_WORD175,4680 -#define RD_REG_DWORD(RD_REG_DWORD176,4719 -#define RD_REG_BYTE_RELAXED(RD_REG_BYTE_RELAXED177,4759 -#define RD_REG_WORD_RELAXED(RD_REG_WORD_RELAXED178,4813 -#define RD_REG_DWORD_RELAXED(RD_REG_DWORD_RELAXED179,4867 -#define WRT_REG_BYTE(WRT_REG_BYTE180,4922 -#define WRT_REG_WORD(WRT_REG_WORD181,4973 -#define WRT_REG_DWORD(WRT_REG_DWORD182,5024 -#define WWN_SIZE 187,5121 -#define MAX_FIBRE_DEVICES 188,5172 -#define MAX_FIBRE_LUNS 189,5202 -#define MAX_RSCN_COUNT 190,5231 -#define MAX_HOST_COUNT 191,5258 -#define MAX_BUSES 196,5330 -#define MAX_TARGETS_2100 197,5385 -#define MAX_TARGETS_2200 198,5428 -#define MAX_TARGETS 199,5471 -#define MIN_LUNS 200,5510 -#define MAX_LUNS 201,5530 -#define MAX_CMDS_PER_LUN 202,5563 -#define SNS_LAST_LOOP_ID_2100 207,5674 -#define SNS_LAST_LOOP_ID_2300 208,5709 -#define LAST_LOCAL_LOOP_ID 210,5746 -#define SNS_FL_PORT 211,5778 -#define FABRIC_CONTROLLER 212,5804 -#define SIMPLE_NAME_SERVER 213,5835 -#define SNS_FIRST_LOOP_ID 214,5867 -#define MANAGEMENT_SERVER 215,5898 -#define BROADCAST 216,5929 -#define RESERVED_LOOP_ID(RESERVED_LOOP_ID218,5954 -#define PORT_RETRY_TIME 226,6142 -#define LOOP_DOWN_TIMEOUT 227,6170 -#define LOOP_DOWN_TIME 228,6200 -#define LOOP_DOWN_RESET 229,6239 -#define MAX_OUTSTANDING_COMMANDS 232,6347 -#define REQUEST_ENTRY_CNT_2100 235,6441 -#define REQUEST_ENTRY_CNT_2200 236,6510 -#define REQUEST_ENTRY_CNT_2XXX_EXT_MEM 237,6580 -#define RESPONSE_ENTRY_CNT_2100 238,6657 -#define RESPONSE_ENTRY_CNT_2300 239,6726 -typedef struct srb srb244,6827 -#define SRB_ERR_PORT 283,7901 -#define SRB_ERR_LOOP 284,7961 -#define SRB_ERR_DEVICE 285,8021 -#define SRB_ERR_OTHER 286,8086 -#define SRB_MAGIC 290,8152 -} srb_t;srb_t291,8183 -#define SRB_TIMEOUT 296,8224 -#define SRB_DMA_VALID 297,8275 -#define SRB_WATCHDOG 298,8330 -#define SRB_ABORT_PENDING 299,8389 -#define SRB_ABORTED 301,8457 -#define SRB_RETRY 302,8522 -#define SRB_GOT_SENSE 303,8576 -#define SRB_FAILOVER 304,8634 -#define SRB_BUSY 306,8695 -#define SRB_FO_CANCEL 307,8756 -#define SRB_IOCTL 308,8825 -#define SRB_TAPE 309,8872 -#define SRB_FREE_STATE 314,8957 -#define SRB_PENDING_STATE 315,9005 -#define SRB_ACTIVE_STATE 316,9057 -#define SRB_DONE_STATE 317,9108 -#define SRB_RETRY_STATE 318,9163 -#define SRB_SUSPENDED_STATE 319,9213 -#define SRB_NO_QUEUE_STATE 320,9270 -#define SRB_ACTIVE_TIMEOUT_STATE 321,9328 -#define SRB_FAILOVER_STATE 322,9401 -#define SRB_SCSI_RETRY_STATE 323,9456 -#define CSR_FLASH_64K_BANK 334,9796 -#define CSR_FLASH_ENABLE 335,9864 -#define CSR_ISP_SOFT_RESET 336,9930 -#define ICR_EN_INT 339,10035 -#define ICR_EN_RISC 340,10091 -#define ISR_RISC_INT 343,10204 -#define NVR_DESELECT 347,10348 -#define NVR_BUSY 348,10372 -#define NVR_DATA_IN 349,10397 -#define NVR_DATA_OUT 350,10424 -#define NVR_SELECT 351,10452 -#define NVR_CLOCK 352,10478 - } __attribute__(__attribute__365,10809 -#define HSR_RISC_INT 376,11180 -#define HSR_RISC_PAUSED 377,11230 - } __attribute__(__attribute__416,12469 -#define HCCR_HOST_INT 428,12935 -#define HCCR_RISC_PAUSE 429,12989 -#define HCCR_RESET_RISC 431,13066 -#define HCCR_PAUSE_RISC 432,13115 -#define HCCR_RELEASE_RISC 433,13164 -#define HCCR_SET_HOST_INT 434,13228 -#define HCCR_CLR_HOST_INT 435,13286 -#define HCCR_CLR_RISC_INT 436,13346 -#define HCCR_DISABLE_PARITY_PAUSE 437,13406 -#define HCCR_ENABLE_PARITY 438,13486 -#define GPIO_LED_MASK 443,13691 -#define GPIO_LED_GREEN_OFF_AMBER_OFF 444,13722 -#define GPIO_LED_GREEN_ON_AMBER_OFF 445,13766 -#define GPIO_LED_GREEN_OFF_AMBER_ON 446,13809 -#define GPIO_LED_GREEN_ON_AMBER_ON 447,13852 - } __attribute__(__attribute__468,14484 -#define ISP_REQ_Q_IN(ISP_REQ_Q_IN472,14548 -#define ISP_REQ_Q_OUT(ISP_REQ_Q_OUT476,14682 -#define ISP_RSP_Q_IN(ISP_RSP_Q_IN480,14818 -#define ISP_RSP_Q_OUT(ISP_RSP_Q_OUT484,14952 -#define MAILBOX_REG(MAILBOX_REG489,15089 -#define RD_MAILBOX_REG(RD_MAILBOX_REG495,15310 -#define WRT_MAILBOX_REG(WRT_MAILBOX_REG497,15389 -#define FB_CMD_REG(FB_CMD_REG500,15483 -#define RD_FB_CMD_REG(RD_FB_CMD_REG504,15606 -#define WRT_FB_CMD_REG(WRT_FB_CMD_REG506,15673 -#define MBX_DMA_IN 517,15963 -#define MBX_DMA_OUT 518,15988 -#define IOCTL_CMD 519,16014 -} mbx_cmd_t;mbx_cmd_t520,16038 -#define MBX_TOV_SECONDS 522,16052 -#define PROD_ID_1 527,16156 -#define PROD_ID_2 528,16182 -#define PROD_ID_2a 529,16208 -#define PROD_ID_3 530,16235 -#define MBS_FRM_ALIVE 535,16307 -#define MBS_CHKSUM_ERR 536,16354 -#define MBS_BUSY 537,16402 -#define MBS_COMMAND_COMPLETE 542,16487 -#define MBS_INVALID_COMMAND 543,16524 -#define MBS_HOST_INTERFACE_ERROR 544,16560 -#define MBS_TEST_FAILED 545,16600 -#define MBS_COMMAND_ERROR 546,16633 -#define MBS_COMMAND_PARAMETER_ERROR 547,16667 -#define MBS_PORT_ID_USED 548,16710 -#define MBS_LOOP_ID_USED 549,16743 -#define MBS_ALL_IDS_IN_USE 550,16776 -#define MBS_NOT_LOGGED_IN 551,16811 -#define MBA_ASYNC_EVENT 556,16900 -#define MBA_RESET 557,16958 -#define MBA_SYSTEM_ERR 558,17006 -#define MBA_REQ_TRANSFER_ERR 559,17057 -#define MBA_RSP_TRANSFER_ERR 560,17123 -#define MBA_WAKEUP_THRES 561,17190 -#define MBA_LIP_OCCURRED 562,17251 -#define MBA_LOOP_UP 564,17340 -#define MBA_LOOP_DOWN 565,17386 -#define MBA_LIP_RESET 566,17436 -#define MBA_PORT_UPDATE 567,17492 -#define MBA_RSCN_UPDATE 568,17552 -#define MBA_LIP_F8 569,17623 -#define MBA_LOOP_INIT_ERR 570,17675 -#define MBA_FABRIC_AUTH_REQ 571,17741 -#define MBA_SCSI_COMPLETION 572,17814 -#define MBA_CTIO_COMPLETION 573,17878 -#define MBA_IP_COMPLETION 574,17934 -#define MBA_IP_RECEIVE 575,18003 -#define MBA_IP_BROADCAST 576,18053 -#define MBA_IP_LOW_WATER_MARK 577,18114 -#define MBA_IP_RCV_BUFFER_EMPTY 578,18184 -#define MBA_IP_HDR_DATA_SPLIT 579,18260 -#define MBA_POINT_TO_POINT 581,18353 -#define MBA_CMPLT_1_16BIT 582,18414 -#define MBA_CMPLT_2_16BIT 583,18478 -#define MBA_CMPLT_3_16BIT 584,18542 -#define MBA_CMPLT_4_16BIT 585,18606 -#define MBA_CMPLT_5_16BIT 586,18670 -#define MBA_CHG_IN_CONNECTION 587,18734 -#define MBA_RIO_RESPONSE 588,18804 -#define MBA_ZIO_RESPONSE 589,18869 -#define MBA_CMPLT_2_32BIT 590,18934 -#define MBA_BYPASS_NOTIFICATION 591,18998 -#define MBA_DISCARD_RND_FRAME 592,19069 -#define MBA_REJECTED_FCP_CMD 593,19144 -#define FO1_AE_ON_LIPF8 598,19241 -#define FO1_AE_ALL_LIP_RESET 599,19273 -#define FO1_CTIO_RETRY 600,19309 -#define FO1_DISABLE_LIP_F7_SW 601,19340 -#define FO1_DISABLE_100MS_LOS_WAIT 602,19377 -#define FO1_DISABLE_GPIO6_7 603,19418 -#define FO1_AE_ON_LOOP_INIT_ERR 604,19453 -#define FO1_SET_EMPHASIS_SWING 605,19492 -#define FO1_AE_AUTO_BYPASS 606,19530 -#define FO1_ENABLE_PURE_IOCB 607,19564 -#define FO1_AE_PLOGI_RJT 608,19601 -#define FO1_ENABLE_ABORT_SEQUENCE 609,19634 -#define FO1_AE_QUEUE_FULL 610,19675 -#define FO2_ENABLE_ATIO_TYPE_3 612,19710 -#define FO2_REV_LOOPBACK 613,19748 -#define FO3_ENABLE_EMERG_IOCB 615,19781 -#define FO3_AE_RND_ERROR 616,19818 -#define MBC_LOAD_RAM 621,19882 -#define MBC_EXECUTE_FIRMWARE 622,19923 -#define MBC_WRITE_RAM_WORD 623,19979 -#define MBC_READ_RAM_WORD 624,20031 -#define MBC_MAILBOX_REGISTER_TEST 625,20081 -#define MBC_VERIFY_CHECKSUM 626,20147 -#define MBC_GET_FIRMWARE_VERSION 627,20201 -#define MBC_LOAD_RISC_RAM 628,20265 -#define MBC_DUMP_RISC_RAM 629,20318 -#define MBC_LOAD_RISC_RAM_EXTENDED 630,20373 -#define MBC_DUMP_RISC_RAM_EXTENDED 631,20437 -#define MBC_WRITE_RAM_WORD_EXTENDED 632,20501 -#define MBC_READ_RAM_EXTENDED 633,20571 -#define MBC_IOCB_COMMAND 634,20631 -#define MBC_ABORT_COMMAND 635,20690 -#define MBC_ABORT_DEVICE 636,20748 -#define MBC_ABORT_TARGET 637,20808 -#define MBC_RESET 638,20864 -#define MBC_GET_ADAPTER_LOOP_ID 639,20902 -#define MBC_GET_RETRY_COUNT 640,20970 -#define MBC_DISABLE_VI 641,21035 -#define MBC_ENABLE_VI 642,21093 -#define MBC_GET_FIRMWARE_OPTION 643,21149 -#define MBC_SET_FIRMWARE_OPTION 644,21215 -#define MBC_LOOP_PORT_BYPASS 645,21281 -#define MBC_LOOP_PORT_ENABLE 646,21340 -#define MBC_GET_RESOURCE_COUNTS 647,21399 -#define MBC_NON_PARTICIPATE 648,21464 -#define MBC_DIAGNOSTIC_ECHO 649,21528 -#define MBC_DIAGNOSTIC_LOOP_BACK 650,21585 -#define MBC_ONLINE_SELF_TEST 651,21651 -#define MBC_ENHANCED_GET_PORT_DATABASE 652,21710 -#define MBC_RESET_LINK_STATUS 653,21786 -#define MBC_IOCB_COMMAND_A64 654,21852 -#define MBC_SEND_RNID_ELS 655,21919 -#define MBC_SET_RNID_PARAMS 656,21979 -#define MBC_GET_RNID_PARAMS 657,22039 -#define MBC_DATA_RATE 658,22089 -#define MBC_INITIALIZE_FIRMWARE 659,22144 -#define MBC_INITIATE_LIP 660,22208 -#define MBC_GET_FC_AL_POSITION_MAP 662,22296 -#define MBC_GET_PORT_DATABASE 663,22366 -#define MBC_CLEAR_ACA 664,22427 -#define MBC_TARGET_RESET 665,22473 -#define MBC_CLEAR_TASK_SET 666,22524 -#define MBC_ABORT_TASK_SET 667,22579 -#define MBC_GET_FIRMWARE_STATE 668,22634 -#define MBC_GET_PORT_NAME 669,22697 -#define MBC_GET_LINK_STATUS 670,22750 -#define MBC_LIP_RESET 671,22812 -#define MBC_SEND_SNS_COMMAND 672,22858 -#define MBC_LOGIN_FABRIC_PORT 674,22945 -#define MBC_SEND_CHANGE_REQUEST 675,23006 -#define MBC_LOGOUT_FABRIC_PORT 676,23071 -#define MBC_LIP_FULL_LOGIN 677,23134 -#define MBC_LOGIN_LOOP_PORT 678,23189 -#define MBC_PORT_NODE_NAME_LIST 679,23246 -#define MBC_INITIALIZE_RECEIVE_QUEUE 680,23315 -#define MBC_UNLOAD_IP 681,23388 -#define MBC_GET_ID_LIST 682,23435 -#define MBC_SEND_LFA_COMMAND 683,23490 -#define MBC_LUN_RESET 684,23556 -#define FCAL_MAP_SIZE 687,23640 -#define MBX_31 690,23718 -#define MBX_30 691,23741 -#define MBX_29 692,23764 -#define MBX_28 693,23787 -#define MBX_27 694,23810 -#define MBX_26 695,23833 -#define MBX_25 696,23856 -#define MBX_24 697,23879 -#define MBX_23 698,23902 -#define MBX_22 699,23925 -#define MBX_21 700,23948 -#define MBX_20 701,23971 -#define MBX_19 702,23994 -#define MBX_18 703,24017 -#define MBX_17 704,24040 -#define MBX_16 705,24063 -#define MBX_15 706,24086 -#define MBX_14 707,24109 -#define MBX_13 708,24132 -#define MBX_12 709,24155 -#define MBX_11 710,24178 -#define MBX_10 711,24201 -#define MBX_9 712,24224 -#define MBX_8 713,24245 -#define MBX_7 714,24266 -#define MBX_6 715,24287 -#define MBX_5 716,24308 -#define MBX_4 717,24329 -#define MBX_3 718,24350 -#define MBX_2 719,24371 -#define MBX_1 720,24392 -#define MBX_0 721,24413 -#define FSTATE_CONFIG_WAIT 726,24506 -#define FSTATE_WAIT_AL_PA 727,24540 -#define FSTATE_WAIT_LOGIN 728,24574 -#define FSTATE_READY 729,24608 -#define FSTATE_LOSS_OF_SYNC 730,24642 -#define FSTATE_ERROR 731,24676 -#define FSTATE_REINIT 732,24710 -#define FSTATE_NON_PART 733,24744 -#define FSTATE_CONFIG_CORRECT 735,24779 -#define FSTATE_P2P_RCV_LIP 736,24816 -#define FSTATE_P2P_CHOOSE_LOOP 737,24853 -#define FSTATE_P2P_RCV_UNIDEN_LIP 738,24890 -#define FSTATE_FATAL_ERROR 739,24927 -#define FSTATE_LOOP_BACK_CONN 740,24964 -#define PORT_DATABASE_SIZE 746,25084 -} port_database_t;port_database_t791,26392 -#define PD_STATE_DISCOVERY 796,26456 -#define PD_STATE_WAIT_DISCOVERY_ACK 797,26487 -#define PD_STATE_PORT_LOGIN 798,26526 -#define PD_STATE_WAIT_PORT_LOGIN_ACK 799,26558 -#define PD_STATE_PROCESS_LOGIN 800,26598 -#define PD_STATE_WAIT_PROCESS_LOGIN_ACK 801,26633 -#define PD_STATE_PORT_LOGGED_IN 802,26676 -#define PD_STATE_PORT_UNAVAILABLE 803,26712 -#define PD_STATE_PROCESS_LOGOUT 804,26749 -#define PD_STATE_WAIT_PROCESS_LOGOUT_ACK 805,26785 -#define PD_STATE_PORT_LOGOUT 806,26828 -#define PD_STATE_WAIT_PORT_LOGOUT_ACK 807,26862 -#define ICB_VERSION 814,26987 -} init_cb_t;init_cb_t910,29664 -} link_stat_t;link_stat_t922,29910 -#define NV_START_BIT 927,29958 -#define NV_WRITE_OP 928,29996 -#define NV_READ_OP 929,30044 -#define NV_ERASE_OP 930,30092 -#define NV_MASK_OP 931,30147 -#define NV_DELAY_COUNT 932,30202 -} nvram_t;nvram_t1160,35991 -#define RESPONSE_PROCESSED 1168,36116 -} response_t;response_t1169,36170 -} target_id_t;target_id_t1177,36278 -#define SET_TARGET_ID(SET_TARGET_ID1179,36294 -#define COMMAND_TYPE 1190,36536 -#define MAX_CMDSZ 1191,36583 -#define CF_WRITE 1201,36976 -#define CF_READ 1202,36999 -#define CF_SIMPLE_TAG 1203,37022 -#define CF_ORDERED_TAG 1204,37050 -#define CF_HEAD_TAG 1205,37079 -} cmd_entry_t;cmd_entry_t1217,37656 -#define COMMAND_A64_TYPE 1222,37749 -} cmd_a64_entry_t, request_t;request_t1241,38590 -#define CONTINUE_TYPE 1246,38684 -} cont_entry_t;cont_entry_t1267,39722 -#define CONTINUE_A64_TYPE 1272,39821 -} cont_a64_entry_t;cont_a64_entry_t1288,40640 -#define STATUS_TYPE 1293,40718 -} sts_entry_t;sts_entry_t1309,41454 -#define RF_INV_E_ORDER 1314,41506 -#define RF_INV_E_COUNT 1315,41563 -#define RF_INV_E_PARAM 1316,41620 -#define RF_INV_E_TYPE 1317,41681 -#define RF_BUSY 1318,41736 -#define SS_MASK 1323,41824 -#define SS_RESIDUAL_UNDER 1324,41882 -#define SS_RESIDUAL_OVER 1325,41916 -#define SS_SENSE_LEN_VALID 1326,41949 -#define SS_RESPONSE_INFO_LEN_VALID 1327,41983 -#define SS_RESERVE_CONFLICT 1329,42025 -#define SS_BUSY_CONDITION 1330,42070 -#define SS_CONDITION_MET 1331,42103 -#define SS_CHECK_CONDITION 1332,42135 -#define CS_COMPLETE 1337,42211 -#define CS_INCOMPLETE 1338,42252 -#define CS_DMA 1339,42313 -#define CS_TRANSPORT 1340,42363 -#define CS_RESET 1341,42412 -#define CS_ABORTED 1342,42464 -#define CS_TIMEOUT 1343,42518 -#define CS_DATA_OVERRUN 1344,42563 -#define CS_DATA_UNDERRUN 1346,42613 -#define CS_QUEUE_FULL 1347,42664 -#define CS_PORT_UNAVAILABLE 1348,42710 -#define CS_PORT_LOGGED_OUT 1350,42797 -#define CS_PORT_CONFIG_CHG 1351,42851 -#define CS_PORT_BUSY 1352,42916 -#define CS_COMPLETE_CHKCOND 1353,42959 -#define CS_BAD_PAYLOAD 1354,43005 -#define CS_UNKNOWN 1355,43055 -#define CS_RETRY 1356,43101 -#define CS_LOOP_DOWN_ABORT 1357,43145 -#define SF_LOGOUT_SENT 1362,43235 -#define STATUS_CONT_TYPE 1367,43337 -} sts_cont_entry_t;sts_cont_entry_t1374,43618 -#define STATUS_TYPE_21 1380,43738 -} sts21_entry_t;sts21_entry_t1387,44019 -#define STATUS_TYPE_22 1393,44136 -} sts22_entry_t;sts22_entry_t1400,44417 -#define MARKER_TYPE 1405,44492 -#define MK_SYNC_ID_LUN 1414,44850 -#define MK_SYNC_ID 1415,44901 -#define MK_SYNC_ALL 1416,44944 -#define MK_SYNC_LIP 1417,44996 -} mrk_entry_t;mrk_entry_t1424,45248 -#define MS_IOCB_TYPE 1429,45332 -} ms_iocb_entry_t;ms_iocb_entry_t1454,46173 -#define MBX_IOCB_TYPE 1460,46260 -struct mbx_entry mbx_entry1461,46287 -#define SOURCE_SCSI 1466,46410 -#define SOURCE_IP 1467,46435 -#define SOURCE_VI 1468,46458 -#define SOURCE_SCTP 1469,46481 -#define SOURCE_MP 1470,46506 -#define SOURCE_MPIOCTL 1471,46529 -#define SOURCE_ASYNC_IOCB 1472,46557 -#define RESPONSE_ENTRY_SIZE 1501,47010 -#define REQUEST_ENTRY_SIZE 1502,47059 -} port_id_t;port_id_t1522,47326 -#define INVALID_PORT_ID 1523,47339 -#define SW_TYPE_IP 1533,47526 -#define SW_TYPE_SCSI 1534,47551 -} sw_info_t;sw_info_t1535,47578 -#define INQ_DATA_SIZE 1540,47629 -} inq_cmd_rsp_t;inq_cmd_rsp_t1551,47808 -#define CHAR_TO_SHORT(CHAR_TO_SHORT1556,47866 -} rpt_hdr_t;rpt_hdr_t1561,47984 -} rpt_lun_t;rpt_lun_t1570,48114 -} rpt_lun_lst_t;rpt_lun_lst_t1575,48187 -} rpt_lun_cmd_rsp_t;rpt_lun_cmd_rsp_t1586,48353 -typedef struct os_tgt os_tgt1591,48413 -} os_tgt_t;os_tgt_t1603,48744 -#define TQF_ONLINE 1608,48791 -#define TQF_SUSPENDED 1609,48841 -#define TQF_RETRY_CMDS 1610,48866 -typedef struct os_lun os_lun1615,48928 -#define LUN_MPIO_BUSY 1620,49070 -#define LUN_EXEC_DELAYED 1621,49124 -#define LUN_STATE_READY 1628,49406 -#define LUN_STATE_RUN 1629,49460 -#define LUN_STATE_WAIT 1630,49515 -#define LUN_STATE_TIMEOUT 1631,49564 -} os_lun_t;os_lun_t1638,49818 -typedef struct lun_bit_mask lun_bit_mask1645,50010 -} lun_bit_mask_t;lun_bit_mask_t1652,50230 - FCT_UNKNOWN,1658,50300 - FCT_RSCN,1659,50314 - FCT_SWITCH,1660,50325 - FCT_BROADCAST,1661,50338 - FCT_INITIATOR,1662,50354 - FCT_TARGET1663,50370 -} fc_port_type_t;fc_port_type_t1664,50382 -typedef struct fc_port fc_port1669,50441 -} fc_port_t;fc_port_t1703,51110 -#define FCS_UNCONFIGURED 1708,51165 -#define FCS_DEVICE_DEAD 1709,51192 -#define FCS_DEVICE_LOST 1710,51219 -#define FCS_ONLINE 1711,51246 -#define FCS_NOT_SUPPORTED 1712,51268 -#define FCS_FAILOVER 1713,51296 -#define FCS_FAILOVER_FAILED 1714,51320 -#define FCF_FABRIC_DEVICE 1719,51376 -#define FCF_LOGIN_NEEDED 1720,51408 -#define FCF_FO_MASKED 1721,51439 -#define FCF_FAILOVER_NEEDED 1722,51468 -#define FCF_RESET_NEEDED 1723,51502 -#define FCF_PERSISTENT_BOUND 1724,51533 -#define FCF_TAPE_PRESENT 1725,51568 -#define FCF_FARP_DONE 1726,51599 -#define FCF_FARP_FAILED 1727,51628 -#define FCF_FARP_REPLY_NEEDED 1728,51659 -#define FCF_AUTH_REQ 1729,51695 -#define FCF_SEND_AUTH_REQ 1730,51724 -#define FCF_RECEIVE_AUTH_REQ 1731,51757 -#define FCF_AUTH_SUCCESS 1732,51793 -#define FCF_RLC_SUPPORT 1733,51825 -#define FCF_CONFIG 1734,51857 -#define FCF_RESCAN_NEEDED 1735,51898 -#define FCF_XP_DEVICE 1736,51931 -#define FCF_MSA_DEVICE 1737,51961 -#define FCF_EVA_DEVICE 1738,51992 -#define FCF_MSA_PORT_ACTIVE 1739,52023 -#define FCF_FAILBACK_DISABLE 1740,52058 -#define FCF_FAILOVER_DISABLE 1741,52094 -#define FC_NO_LOOP_ID 1744,52154 -typedef struct fc_lun fc_lun1749,52224 -} fc_lun_t;fc_lun_t1760,52421 -#define FLF_VISIBLE_LUN 1762,52434 -#define FLF_ACTIVE_LUN 1763,52465 -#define CT_REJECT_RESPONSE 1771,52574 -#define CT_ACCEPT_RESPONSE 1772,52608 -#define NS_N_PORT_TYPE 1774,52643 -#define NS_NL_PORT_TYPE 1775,52671 -#define NS_NX_PORT_TYPE 1776,52700 -#define GA_NXT_CMD 1778,52730 -#define GA_NXT_REQ_SIZE 1779,52755 -#define GA_NXT_RSP_SIZE 1780,52788 -#define GID_PT_CMD 1782,52824 -#define GID_PT_REQ_SIZE 1783,52849 -#define GID_PT_RSP_SIZE 1784,52882 -#define GPN_ID_CMD 1786,52938 -#define GPN_ID_REQ_SIZE 1787,52963 -#define GPN_ID_RSP_SIZE 1788,52996 -#define GNN_ID_CMD 1790,53030 -#define GNN_ID_REQ_SIZE 1791,53055 -#define GNN_ID_RSP_SIZE 1792,53088 -#define GFT_ID_CMD 1794,53122 -#define GFT_ID_REQ_SIZE 1795,53147 -#define GFT_ID_RSP_SIZE 1796,53180 -#define RFT_ID_CMD 1798,53215 -#define RFT_ID_REQ_SIZE 1799,53240 -#define RFT_ID_RSP_SIZE 1800,53278 -#define RFF_ID_CMD 1802,53306 -#define RFF_ID_REQ_SIZE 1803,53331 -#define RFF_ID_RSP_SIZE 1804,53376 -#define RNN_ID_CMD 1806,53404 -#define RNN_ID_REQ_SIZE 1807,53429 -#define RNN_ID_RSP_SIZE 1808,53466 -#define RSNN_NN_CMD 1810,53494 -#define RSNN_NN_REQ_SIZE 1811,53521 -#define RSNN_NN_RSP_SIZE 1812,53565 -struct ct_cmd_hdr ct_cmd_hdr1815,53652 -struct ct_sns_req ct_sns_req1825,53815 -struct ct_rsp_hdr ct_rsp_hdr1875,54639 -struct ct_sns_gid_pt_data ct_sns_gid_pt_data1885,54825 -struct ct_sns_rsp ct_sns_rsp1890,54901 -struct ct_sns_pkt ct_sns_pkt1931,55665 -#define RFT_ID_SNS_SCMD_LEN 1941,55814 -#define RFT_ID_SNS_CMD_SIZE 1942,55845 -#define RFT_ID_SNS_DATA_SIZE 1943,55876 -#define RNN_ID_SNS_SCMD_LEN 1945,55909 -#define RNN_ID_SNS_CMD_SIZE 1946,55940 -#define RNN_ID_SNS_DATA_SIZE 1947,55971 -#define GA_NXT_SNS_SCMD_LEN 1949,56004 -#define GA_NXT_SNS_CMD_SIZE 1950,56034 -#define GA_NXT_SNS_DATA_SIZE 1951,56065 -#define GID_PT_SNS_SCMD_LEN 1953,56106 -#define GID_PT_SNS_CMD_SIZE 1954,56136 -#define GID_PT_SNS_DATA_SIZE 1955,56167 -#define GPN_ID_SNS_SCMD_LEN 1957,56226 -#define GPN_ID_SNS_CMD_SIZE 1958,56256 -#define GPN_ID_SNS_DATA_SIZE 1959,56287 -#define GNN_ID_SNS_SCMD_LEN 1961,56326 -#define GNN_ID_SNS_CMD_SIZE 1962,56356 -#define GNN_ID_SNS_DATA_SIZE 1963,56387 -struct sns_cmd_pkt sns_cmd_pkt1965,56426 -#define MAX_IO_DESCRIPTORS 1989,56985 -#define ABORT_IOCB_CB 1991,57016 -#define ADISC_PORT_IOCB_CB 1992,57041 -#define LOGOUT_PORT_IOCB_CB 1993,57070 -#define LOGIN_PORT_IOCB_CB 1994,57100 -#define LAST_IOCB_CB 1995,57129 -#define IODESC_INVALID_INDEX 1997,57154 -#define IODESC_ADISC_NEEDED 1998,57190 -#define IODESC_LOGIN_NEEDED 1999,57225 -struct io_descriptor io_descriptor2001,57261 -struct qla_fw_info qla_fw_info2016,57466 -#define FW_INFO_ADDR_NORMAL 2018,57555 -#define FW_INFO_ADDR_EXTENDED 2019,57585 -#define FW_INFO_ADDR_NOMORE 2020,57617 -struct qla_board_info qla_board_info2027,57879 -struct gid_list_info gid_list_info2035,58019 -#define GID_LIST_SIZE 2042,58205 -typedef struct scsi_qla_host scsi_qla_host2047,58318 -#define LOOP_TIMEOUT 2076,59018 -#define LOOP_DOWN 2077,59041 -#define LOOP_UP 2078,59061 -#define LOOP_UPDATE 2079,59080 -#define LOOP_READY 2080,59102 -#define LOOP_DEAD 2081,59123 -#define RESET_MARKER_NEEDED 2084,59172 -#define RESET_ACTIVE 2085,59228 -#define ISP_ABORT_NEEDED 2086,59252 -#define ABORT_ISP_ACTIVE 2087,59305 -#define LOOP_RESYNC_NEEDED 2088,59361 -#define LOOP_RESYNC_ACTIVE 2089,59418 -#define LOCAL_LOOP_UPDATE 2090,59447 -#define RSCN_UPDATE 2091,59516 -#define MAILBOX_RETRY 2092,59580 -#define ISP_RESET_NEEDED 2093,59614 -#define FAILOVER_EVENT_NEEDED 2094,59676 -#define FAILOVER_EVENT 2095,59711 -#define FAILOVER_NEEDED 2096,59738 -#define SCSI_RESTART_NEEDED 2097,59768 -#define PORT_RESTART_NEEDED 2098,59833 -#define RESTART_QUEUES_NEEDED 2099,59893 -#define ABORT_QUEUES_NEEDED 2100,59956 -#define RELOGIN_NEEDED 2101,59987 -#define LOGIN_RETRY_NEEDED 2102,60021 -#define REGISTER_FC4_NEEDED 2103,60090 -#define ISP_ABORT_RETRY 2104,60158 -#define FCPORT_RESCAN_NEEDED 2105,60217 -#define IODESC_PROCESS_NEEDED 2106,60292 -#define IOCTL_ERROR_RECOVERY 2107,60368 -#define DFLG_LOCAL_DEVICES 2110,60431 -#define DFLG_RETRY_LOCAL_DEVICES 2111,60465 -#define DFLG_FABRIC_DEVICES 2112,60504 -#define SWITCH_FOUND 2113,60539 -#define DFLG_NO_CABLE 2114,60568 -#define SRB_MIN_REQ 2117,60617 -#define MIN_IOBASE_LEN 2132,61105 -#define ISP_CFG_NL 2207,63856 -#define ISP_CFG_N 2208,63877 -#define ISP_CFG_FL 2209,63897 -#define ISP_CFG_F 2210,63918 -#define LOOP 2213,63991 -#define P2P 2214,64011 -#define LOOP_P2P 2215,64031 -#define P2P_LOOP 2216,64051 -#define DMA_POOL_SIZE 2294,65943 -#define MBX_INTERRUPT 2308,66259 -#define MBX_INTR_WAIT 2309,66283 -#define MBX_UPDATE_FLASH_ACTIVE 2310,66307 -#define MBX_IN_PROGRESS 2318,66554 -#define MBX_BUSY 2319,66585 -#define MBX_SLEEPING_ON_SEM 2320,66631 -#define MBX_POLLING_FOR_COMP 2321,66667 -#define MBX_COMPLETED 2322,66703 -#define MBX_TIMEDOUT 2323,66733 -#define MBX_ACCESS_TIMEDOUT 2324,66763 -#define CFG_ACTIVE 2333,66915 -#define CFG_FAILOVER 2334,66988 -#define BIND_BY_PORT_NAME 2337,67065 -#define BIND_BY_PORT_ID 2338,67093 -#define BINZERO 2365,67701 -} scsi_qla_host_t;scsi_qla_host_t2381,68088 -#define LOOP_TRANSITION(LOOP_TRANSITION2387,68155 -#define LOOP_NOT_READY(LOOP_NOT_READY2391,68284 -#define LOOP_RDY(LOOP_RDY2398,68573 -#define TGT_Q(TGT_Q2400,68617 -#define LUN_Q(LUN_Q2401,68652 -#define GET_LU_Q(GET_LU_Q2402,68700 -#define to_qla_host(to_qla_host2404,68782 -#define qla_printk(qla_printk2406,68843 -#define MBS_MASK 2412,69003 -#define QLA_SUCCESS 2414,69029 -#define QLA_INVALID_COMMAND 2415,69084 -#define QLA_INTERFACE_ERROR 2416,69145 -#define QLA_TEST_FAILED 2417,69211 -#define QLA_COMMAND_ERROR 2418,69265 -#define QLA_PARAMETER_ERROR 2419,69322 -#define QLA_PORT_ID_USED 2420,69391 -#define QLA_LOOP_ID_USED 2421,69446 -#define QLA_ALL_IDS_IN_USE 2422,69501 -#define QLA_NOT_LOGGED_IN 2423,69560 -#define QLA_FUNCTION_TIMEOUT 2425,69618 -#define QLA_FUNCTION_PARAMETER_ERROR 2426,69654 -#define QLA_FUNCTION_FAILED 2427,69697 -#define QLA_MEMORY_ALLOC_FAILED 2428,69732 -#define QLA_LOCK_TIMEOUT 2429,69771 -#define QLA_ABORTED 2430,69803 -#define QLA_SUSPENDED 2431,69831 -#define QLA_BUSY 2432,69861 -#define QLA_RSCNS_HANDLED 2433,69886 -struct _qla2x00stats _qla2x00stats2438,69955 -#define NVRAM_DELAY(NVRAM_DELAY2448,70325 -#define INVALID_HANDLE 2450,70360 -#define FLASH_IMAGE_SIZE 2455,70449 -#define LINESIZE 2465,70596 -#define MAXARGS 2466,70620 -#define CMD_SP(CMD_SP2468,70645 -#define CMD_COMPL_STATUS(CMD_COMPL_STATUS2469,70685 -#define CMD_RESID_LEN(CMD_RESID_LEN2470,70745 -#define CMD_SCSI_STATUS(CMD_SCSI_STATUS2471,70804 -#define CMD_ACTUAL_SNSLEN(CMD_ACTUAL_SNSLEN2472,70855 -#define CMD_ENTRY_STATUS(CMD_ENTRY_STATUS2473,70909 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_init.c,1899 -#define EXT_IS_LUN_BIT_SET(EXT_IS_LUN_BIT_SET27,827 -#define EXT_SET_LUN_BIT(EXT_SET_LUN_BIT29,906 -qla2x00_initialize_adapter(104,3984 -qla2x00_pci_config(247,7321 -qla2x00_isp_firmware(354,10200 -qla2x00_reset_chip(385,10803 -qla2x00_chip_diag(539,14794 -qla2x00_resize_request_q(664,18078 -qla2x00_setup_chip(717,19595 -qla2x00_init_response_q_entries(834,22476 -qla2x00_update_fw_options(854,22838 -qla2x00_init_rings(903,24278 -qla2x00_fw_ready(973,26449 -qla2x00_configure_hba(1081,28874 -qla2x00_nvram_config(1186,31219 -qla2x00_init_tgt_map(1536,41581 -qla2x00_alloc_fcport(1552,41911 -qla2x00_configure_loop(1586,42726 -qla2x00_configure_local_loop(1696,45395 -qla2x00_probe_for_all_luns(1853,49581 -qla2x00_update_fcport(1882,50072 -qla2x00_lun_discovery(1937,51434 -qla2x00_rpt_lun_discovery(1977,52299 -qla2x00_report_lun(2032,53567 -qla2x00_cfg_lun(2129,56303 -qla2x00_add_lun(2186,57478 -qla2x00_inquiry(2244,58569 -qla2x00_configure_fabric(2343,61395 -qla2x00_find_all_fabric_devs(2519,65907 -qla2x00_find_new_loop_id(2713,70602 -qla2x00_device_resync(2783,71944 -qla2x00_fabric_dev_login(2908,74951 -qla2x00_fabric_login(2945,75672 -qla2x00_local_device_login(3068,78768 -qla2x00_loop_resync(3098,79383 -qla2x00_restart_queues(3157,80623 -qla2x00_rescan_fcports(3228,82379 -qla2x00_config_os(3263,82995 -qla2x00_fcport_bind(3317,84041 -qla2x00_fclun_bind(3423,86421 -qla2x00_tgt_alloc(3471,87352 -qla2x00_tgt_free(3520,88291 -qla2x00_lun_alloc(3565,89035 -qla2x00_lun_free(3618,90113 -qla2x00_get_lun_mask_from_config(3653,90802 -qla2x00_bstr_to_hex(3700,92211 -qla2x00_get_prop_xstr(3752,93548 -qla2x00_find_propname(3807,94735 -qla2x00_get_prop_16chars(3853,95779 -qla2x00_get_properties(3942,97567 -qla2x00_cfg_persistent_binding(4002,99443 -qla2x00_persistent_bind(4066,100933 -qla2x00_abort_isp(4127,102160 -qla2x00_restart_isp(4271,105750 -qla2x00_reset_adapter(4356,107871 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_version.h,179 -#define QLA2XXX_VERSION 22,838 -#define QLA_DRIVER_MAJOR_VER 24,883 -#define QLA_DRIVER_MINOR_VER 25,914 -#define QLA_DRIVER_PATCH_VER 26,945 -#define QLA_DRIVER_BETA_VER 27,976 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2322.c,338 -static char qla_driver_name[14,244 -static struct qla_fw_info qla_fw_tbl[28,757 -static struct qla_board_info qla_board_tbl[50,1277 -static struct pci_device_id qla2322_pci_tbl[58,1418 -qla2322_probe_one(71,1735 -qla2322_remove_one(78,1914 -static struct pci_driver qla2322_pci_driver 83,1987 -qla2322_init(91,2183 -qla2322_exit(97,2272 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2100_fw.c,455 -unsigned short fw2100tp_version 25,887 -unsigned short risc_code_version 27,938 -unsigned char fw2100tp_version_str[31,1014 -unsigned char firmware_version[33,1070 -#define fw2100tp_VERSION_STRING 37,1146 -#define FW_VERSION_STRING 39,1194 -unsigned short fw2100tp_addr01 43,1260 -unsigned short risc_code_addr01 45,1308 -unsigned short fw2100tp_code01[49,1381 -unsigned short fw2100tp_length01 4854,313369 -unsigned short risc_code_length01 4856,313418 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_settings.h,386 -#define DEBUG_QLA2100 23,878 -#define STOP_ON_RESET 25,931 -#define USE_ABORT_TGT 26,956 -#define VSA 28,1013 -#define MAX_RECOVERYTIME 31,1081 -#define MAX_FAILBACKTIME 35,1178 -#define QLA_CMD_TIMER_DELTA 37,1246 -#define SUSPEND_COUNT 43,1436 -#define EXTEND_CMD_TIMEOUT 50,1689 -#define MAX_RETRIES_OF_ISP_ABORT 52,1720 -#define MAX_LOOP_TIMEOUT 55,1818 -#define EH_ACTIVE 56,1852 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_gs.c,477 -qla2x00_prep_ms_iocb(46,1585 -qla2x00_prep_ct_req(83,2844 -qla2x00_ga_nxt(105,3357 -qla2x00_gid_pt(190,6048 -qla2x00_gpn_id(269,8157 -qla2x00_gnn_id(334,9885 -qla2x00_rft_id(414,12276 -qla2x00_rff_id(471,13827 -qla2x00_rnn_id(530,15467 -qla2x00_rsnn_nn(587,17033 -qla2x00_prep_sns_cmd(670,19421 -qla2x00_sns_ga_nxt(700,20353 -qla2x00_sns_gid_pt(774,22798 -qla2x00_sns_gpn_id(841,24620 -qla2x00_sns_gnn_id(896,26133 -qla2x00_sns_rft_id(966,28309 -qla2x00_sns_rnn_id(1015,29655 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/ql2200_fw.c,455 -unsigned short fw2200tp_version 25,887 -unsigned short risc_code_version 27,937 -unsigned char fw2200tp_version_str[31,1012 -unsigned char firmware_version[33,1066 -#define fw2200tp_VERSION_STRING 37,1140 -#define FW_VERSION_STRING 39,1188 -unsigned short fw2200tp_addr01 43,1254 -unsigned short risc_code_addr01 45,1302 -unsigned short fw2200tp_code01[49,1375 -unsigned short fw2200tp_length01 5317,343506 -unsigned short risc_code_length01 5319,343555 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_os.c,3180 -char qla2x00_version_str[34,940 -char srb_cachep_name[39,1002 -kmem_cache_t *srb_cachep;40,1028 -struct _qla2x00stats qla2x00_stats;45,1089 -int num_hosts;50,1163 -int apiHBAInstance;51,1178 -int ql2xmaxqdepth;56,1252 -int ql2xlogintimeout 61,1411 -int qlport_down_retry;66,1566 -int ql2xretrycount 72,1768 -int displayConfig;78,1972 -int ql2xplogiabsentdevice;83,2145 -int ql2xenablezio 90,2451 -int ql2xintrdelaytimer 97,2684 -int ConfigRequired;103,2927 -int Bind 109,3147 -int ql2xsuspendcount 115,3342 -int ql2xdoinitscan 122,3607 -int ql2xloginretrycount 128,3814 -struct info_str info_str136,4045 -static struct scsi_host_template qla2x00_driver_template 164,4879 -static struct scsi_transport_template *qla2xxx_transport_template 190,5577 -#define WATCH_INTERVAL 198,5762 -qla2x00_start_timer(208,6118 -qla2x00_restart_timer(219,6427 -qla2x00_stop_timer(225,6571 -qla2x00_callback(254,7450 -sp_put(325,9256 -sp_get(356,9942 -qla2x00_delete_from_done_queue(371,10233 -static struct bin_attribute sysfs_fw_dump_attr 406,11309 -static struct bin_attribute sysfs_nvram_attr 420,11715 -qla2x00_set_info(433,11958 -static ssize_t qla2x00_sysfs_read_fw_dump(442,12190 -static ssize_t qla2x00_sysfs_write_fw_dump(460,12641 -static ssize_t qla2x00_sysfs_read_nvram(521,14205 -static ssize_t qla2x00_sysfs_write_nvram(548,14917 -qla2x00_get_pci_info_str(587,15914 -qla2x00_get_fw_version_str(610,16377 -qla2x00_queuecommand(667,17614 -qla2x00_eh_wait_on_command(889,23219 -#define ABORT_POLLING_PERIOD 891,23292 -#define ABORT_WAIT_TIME 892,23324 -qla2x00_wait_for_hba_online(960,24796 -qla2x00_wait_for_loop_ready(1000,25781 -qla2xxx_eh_abort(1036,26715 -qla2x00_eh_wait_for_pending_target_commands(1294,33088 -qla2xxx_eh_device_reset(1348,34343 -qla2x00_eh_wait_for_pending_commands(1506,38296 -qla2xxx_eh_bus_reset(1553,39314 -qla2xxx_eh_host_reset(1611,40762 -qla2x00_loop_reset(1687,42708 -qla2x00_device_reset(1752,43970 -qla2xxx_slave_configure(1764,44336 -qla2x00_config_dma_addressing(1803,45272 -qla2x00_iospace_config(1840,46370 -int qla2x00_probe_one(1908,48084 -void qla2x00_remove_one(2162,54930 -qla2x00_free_device(2183,55353 -copy_mem_info(2237,56423 -copy_info(2264,56927 -qla2x00_proc_info(2299,57951 -qla2x00_display_fc_names(2563,64700 -__qla2x00_suspend_lun(2659,67065 -void qla2x00_mark_device_lost(2736,68971 -qla2x00_mark_all_devices_lost(2784,70061 -qla2x00_mem_alloc(2812,70582 -qla2x00_mem_free(3013,75313 -qla2x00_allocate_sp_pool(3150,78413 -qla2x00_free_sp_pool(3169,78824 -qla2x00_do_dpc(3191,79610 -qla2x00_abort_queues(3567,89227 -qla2x00_rst_aen(3603,89982 -qla2x00_get_new_sp(3630,90598 -qla2x00_timer(3649,91006 -qla2x00_extend_timeout(3849,96135 -qla2x00_cmd_timeout(3885,97077 -qla2x00_done(4057,102315 -qla2x00_process_response_queue_in_zio_mode(4178,105085 -qla2x00_next(4213,105886 -qla2x00_check_tgt_status(4346,109787 -qla2x00_check_port_status(4400,111170 -qla2x00_down_timeout(4431,112002 -qla2xxx_get_port_id(4447,112304 -qla2xxx_get_port_name(4465,112747 -qla2xxx_get_node_name(4482,113167 -static struct fc_function_template qla2xxx_transport_functions 4498,113575 -qla2x00_module_init(4511,113952 -qla2x00_module_exit(4543,114738 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qla2xxx/qla_dbg.c,278 -qla2300_fw_dump(31,901 -qla2300_ascii_fw_dump(396,11678 -qla2100_fw_dump(584,16881 -qla2100_ascii_fw_dump(811,23930 -qla_uprintf(962,27980 -qla2x00_dump_regs(985,28490 -qla2x00_dump_buffer(1006,29132 -qla2x00_print_scsi_cmd(1036,29834 -qla2x00_formatted_dump_buffer(1089,31555 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lasi700.c,265 -static struct parisc_device_id lasi700_ids[64,1999 -static struct scsi_host_template lasi700_template 70,2097 -lasi700_probe(79,2310 -lasi700_driver_remove(139,3696 -static struct parisc_driver lasi700_driver 153,4012 -lasi700_init(161,4202 -lasi700_exit(167,4294 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/53c7xx.c,3156 -#define FORCE_DSA_ALIGNMENT34,1460 -#define BIG_ENDIAN262,9431 -#define NO_IO_SPACE263,9450 -#define BIG_ENDIAN269,9528 -#define NO_IO_SPACE270,9547 -#define VALID_IDS271,9567 -#define BIG_ENDIAN277,9645 -#define NO_IO_SPACE278,9664 -#define VALID_IDS279,9684 -#define inb(inb299,10039 -#define inw(inw300,10065 -#define inl(inl301,10091 -#define outb(outb302,10117 -#define outw(outw303,10143 -#define outl(outl304,10169 -static int track_events 343,12003 -static struct Scsi_Host *first_host 344,12032 -static Scsi_Host_Template *the_template 345,12109 -#define DEBUG_SYNC_INTR 351,12243 -int NCR53c7xx_script_len 353,12291 -int NCR53c7xx_dsa_len 354,12335 -int CmdPageStart 356,12436 -static char *setup_strings[359,12521 -#define MAX_SETUP_STRINGS 362,12581 -#define SETUP_BUFFER_SIZE 363,12648 -static char setup_buffer[364,12678 -static char setup_used[365,12723 -void ncr53c7xx_setup 367,12767 -static int check_setup_strings(401,13465 -#define ROUNDUP(ROUNDUP586,20857 -issue_to_cmd 603,21276 -static const unsigned char sdtr_message[634,22470 -static const unsigned char async_message[644,22778 -static const unsigned char wdtr_message[650,22963 -find_host 667,23387 -request_synchronous 696,24215 -request_disconnect 742,25394 -NCR53c7x0_driver_init 766,26010 -clock_to_ccf_710 813,27496 -NCR53c7x0_init 842,28228 -ncr53c7xx_init 1120,36794 -NCR53c7x0_init_fixup 1351,44255 -NCR53c7xx_run_tests 1579,53032 -NCR53c7xx_dsa_fixup 1760,58539 -static volatile int process_issue_queue_running 1823,61228 -run_process_issue_queue(1826,61306 -abnormal_finished 1857,62268 -intr_break 1972,65851 -print_synchronous 2026,67442 -set_synchronous 2056,68562 -asynchronous 2132,70728 -} syncs[2164,72012 -synchronous 2192,72962 -NCR53c7x0_dstat_sir_intr 2250,74988 -NCR53c7x0_soft_reset 2911,96998 -my_free_page 3041,101428 -allocate_cmd 3051,101728 -create_cmd 3151,105174 -NCR53c7xx_queue_command 3593,119343 -to_schedule_list 3704,122815 -busyp 3797,125640 -process_issue_queue 3823,126587 -intr_scsi 3914,129391 -u32 insn_log[4081,134146 -u32 insn_log_index 4082,134166 -void log1 4084,134191 -void log_insn 4091,134298 -void dump_log(4100,134446 -NCR53c7x0_intfly 4141,135288 -NCR53c7x0_intr 4243,138145 -abort_connected 4370,141965 -datapath_residual 4442,143768 -sbcl_to_phase 4483,144924 -sstat2_to_phase 4512,145526 -intr_phase_mismatch 4547,146462 - enum {ACTION_ABORT,4554,146746 - enum {ACTION_ABORT, ACTION_ABORT_PRINT,4554,146746 - enum {ACTION_ABORT, ACTION_ABORT_PRINT, ACTION_CONTINUE}4554,146746 -intr_bf 4759,153685 - enum {MAYBE,4768,154007 - enum {MAYBE, ALWAYS,4768,154007 - enum {MAYBE, ALWAYS, NEVER}4768,154007 -intr_dma 4836,155873 -print_insn 5058,163410 -NCR53c7xx_abort 5141,165919 -NCR53c7xx_reset 5304,171000 -insn_to_offset 5393,173775 -print_progress 5456,175768 -print_dsa 5509,177336 -print_queues 5584,180018 -print_lots 5664,182722 -shutdown 5739,185452 -ncr_scsi_reset 5763,186013 -hard_reset 5780,186426 -return_outstanding_commands 5814,187591 -disable 5880,189326 -ncr_halt 5915,190372 -event_name 5973,191718 -dump_events 5996,192480 -check_address 6052,194075 -NCR53c7x0_release(6058,194274 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pas16.c,1061 -#define AUTOSENSE1,0 -#define PSEUDO_DMA2,18 -#define FOO3,37 -#define UNSAFE 4,49 -#define AUTOPROBE_IRQ130,4320 -static int pas_maxi 134,4365 -static int pas_wmaxi 135,4390 -static unsigned short pas16_addr 136,4416 -static int pas16_irq 137,4454 -int scsi_irq_translate[140,4483 -int default_irqs[148,4848 -int default_irqs[] __initdata 148,4848 -static struct override override155,5009 -} overrides 158,5076 - [] __initdata 160,5111 - [4] __initdata 162,5153 -#define NO_OVERRIDES 166,5241 -static struct base base168,5309 -} bases[171,5374 -} bases[] __initdata 171,5374 -#define NO_BASES 178,5522 -unsigned short pas16_offset[180,5580 -#define rtrc(rtrc207,6355 -#define rtrc(rtrc209,6428 - enable_board(223,6673 - init_board(243,7136 - pas16_hw_detect(292,8511 -void __init pas16_setup(351,10223 -int __init pas16_detect(383,11078 -int pas16_biosparam(511,14921 -static inline int NCR5380_pread 542,15628 -static inline int NCR5380_pwrite 579,16637 -static int pas16_release(604,17326 -static Scsi_Host_Template driver_template 617,17644 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/esp.c,7529 -#define DEBUG_ESP52,1201 -#define ESPLOG(ESPLOG73,1814 -#define ESPLOG(ESPLOG75,1852 -#define ESPHME(ESPHME79,1925 -#define ESPHME(ESPHME81,1963 -#define ESPDATA(ESPDATA85,2019 -#define ESPDATA(ESPDATA87,2058 -#define ESPQUEUE(ESPQUEUE91,2116 -#define ESPQUEUE(ESPQUEUE93,2156 -#define ESPDISC(ESPDISC97,2220 -#define ESPDISC(ESPDISC99,2259 -#define ESPSTAT(ESPSTAT103,2318 -#define ESPSTAT(ESPSTAT105,2357 -#define ESPPHASE(ESPPHASE109,2416 -#define ESPPHASE(ESPPHASE111,2456 -#define ESPBUS(ESPBUS115,2517 -#define ESPBUS(ESPBUS117,2555 -#define ESPIRQ(ESPIRQ121,2611 -#define ESPIRQ(ESPIRQ123,2649 -#define ESPSDTR(ESPSDTR127,2701 -#define ESPSDTR(ESPSDTR129,2740 -#define ESPMISC(ESPMISC133,2797 -#define ESPMISC(ESPMISC135,2836 - not_issued 140,2905 - not_issued = 0x00,140,2905 -#define in_slct_mask 143,3018 - in_slct_norm 144,3047 - in_slct_norm = 0x10,144,3047 - in_slct_stop 145,3115 - in_slct_stop = 0x11,145,3115 - in_slct_msg 146,3183 - in_slct_msg = 0x12,146,3183 - in_slct_tag 147,3251 - in_slct_tag = 0x13,147,3251 - in_slct_sneg 148,3319 - in_slct_sneg = 0x14,148,3319 -#define in_phases_mask 151,3424 - in_datain 152,3453 - in_datain = 0x20,152,3453 - in_dataout 153,3521 - in_dataout = 0x21,153,3521 - in_data_done 154,3589 - in_data_done = 0x22,154,3589 - in_msgin 155,3657 - in_msgin = 0x23,155,3657 - in_msgincont 156,3725 - in_msgincont = 0x24,156,3725 - in_msgindone 157,3793 - in_msgindone = 0x25,157,3793 - in_msgout 158,3861 - in_msgout = 0x26,158,3861 - in_msgoutdone 159,3929 - in_msgoutdone = 0x27,159,3929 - in_cmdbegin 160,3997 - in_cmdbegin = 0x28,160,3997 - in_cmdend 161,4065 - in_cmdend = 0x29,161,4065 - in_status 162,4133 - in_status = 0x2a,162,4133 - in_freeing 163,4201 - in_freeing = 0x2b,163,4201 - in_the_dark 164,4269 - in_the_dark = 0x2c,164,4269 -#define in_spec_mask 167,4395 - in_abortone 168,4424 - in_abortone = 0x80,168,4424 - in_abortall 169,4492 - in_abortall = 0x81,169,4492 - in_resetdev 170,4560 - in_resetdev = 0x82,170,4560 - in_resetbus 171,4628 - in_resetbus = 0x83,171,4628 - in_tgterror 172,4696 - in_tgterror = 0x84,172,4696 -/*0*/ do_never,177,4827 -/*1*/ do_phase_determine,179,4844 -/*2*/ do_reset_bus,180,4870 -/*3*/ do_reset_complete,181,4890 -/*4*/ do_work_bus,182,4915 -/*5*/ do_intr_end183,4934 -static struct esp *espchain;187,5027 -static spinlock_t espchain_lock 188,5056 -static int esps_running 189,5110 -struct esp_cmdstrings esp_cmdstrings195,5269 -} esp_cmd_strings[198,5319 -#define NUM_ESP_COMMANDS 233,6384 -static inline void esp_print_cmd(236,6526 -static inline void esp_print_statreg(253,6913 -static inline void esp_print_ireg(280,7613 -static inline void esp_print_seqreg(303,8152 -static char *phase_string(315,8531 -static inline void esp_advance_phase(372,9595 -#define esp_advance_phase(esp_advance_phase379,9783 -static inline void esp_cmd(385,9939 -#define esp_cmd(esp_cmd392,10126 -#define ESP_INTSOFF(ESP_INTSOFF396,10216 -#define ESP_INTSON(ESP_INTSON398,10326 -#define ESP_IRQ_P(ESP_IRQ_P400,10432 -static inline void append_SC(425,11442 -static inline void prepend_SC(439,11769 -static inline struct scsi_cmnd *remove_first_SC(445,11916 -static inline struct scsi_cmnd *remove_SC(454,12102 -static void esp_reset_dma(472,12603 -static void __init esp_reset_esp(564,15078 -static void __init esp_bootup_reset(671,18015 -static void esp_chain_add(695,18532 -static void esp_chain_del(710,18812 -static int __init esp_find_dvma(725,19118 -static int __init esp_map_regs(773,20136 -static int __init esp_map_cmdarea(793,20526 -static int __init esp_register_irq(805,20793 -static void __init esp_get_scsi_id(828,21371 -static void __init esp_get_clock_params(849,21903 -static void __init esp_get_bursts(949,24992 -static void __init esp_get_revision(978,25606 -static void __init esp_init_swstate(1034,27170 -static int __init detect_one_esp(1068,27929 -static int __init esp_detect(1143,29599 -static int __init esp_detect(1168,30280 -static int esp_release(1223,31627 -static const char *esp_info(1247,32203 -struct info_strinfo_str1271,32710 -static void copy_mem_info(1279,32783 -static int copy_info(1299,33201 -static int esp_host_info(1313,33423 -static int esp_proc_info(1413,35800 -static void esp_get_dmabufs(1434,36161 -static void esp_release_dmabufs(1459,37012 -static void esp_restore_pointers(1472,37345 -static void esp_save_pointers(1482,37659 -static inline void esp_check_cmd(1512,38734 -static inline void build_sync_nego_msg(1529,39013 -static inline void build_wide_nego_msg(1540,39356 -static void esp_exec_cmd(1561,39717 -static int esp_queue(1840,49073 -static void esp_dump_cmd(1877,50074 -static void esp_dump_state(1886,50308 -static int esp_abort(1933,51757 -static int esp_finish_reset(2014,54022 -static int esp_do_resetbus(2051,54798 -static int esp_reset(2065,55139 -static void esp_done(2081,55479 -#define sreg_datainp(sreg_datainp2110,56250 -#define sreg_dataoutp(sreg_dataoutp2111,56321 -static void hme_fifo_read(2116,56503 -static inline void hme_fifo_push(2160,57942 -static inline int skipahead1(2174,58313 -static inline int skipahead2(2208,59382 -static void dma_setup(2245,60544 -static void dma_drain(2267,61076 -static void dma_invalidate(2287,61480 -static inline void dma_flashclear(2318,62305 -static int dma_can_transfer(2324,62400 -#define esp_setcount(esp_setcount2344,62840 -#define esp_getcount(esp_getcount2352,63122 -#define fcount(fcount2357,63327 -#define fnzero(fnzero2362,63488 -#define esp_maybe_nop(esp_maybe_nop2370,63777 -#define sreg_to_dataphase(sreg_to_dataphase2374,63874 -static int esp100_sync_hwbug(2385,64414 -static inline int esp100_reconnect_hwbug(2411,65295 -static inline int reconnect_target(2426,65604 -static inline int reconnect_lun(2456,66325 -static inline void esp_connect(2485,67073 -static inline void esp_reconnect(2508,67893 -static int esp_do_msgin(2520,68235 -static inline int esp_bytes_sent(2537,68768 -static inline void advance_sg(2546,69050 -static int esp_do_data(2572,70298 -static int esp_do_data_finale(2623,71853 -static int esp_should_clear_sync(2806,77768 -static int esp_do_freebus(2838,78532 -static int esp_bad_reconnect(2909,80901 -static int esp_do_reconnect(2941,81772 -static int esp_do_status(2992,82992 -static int esp_enter_status(3112,86523 -static int esp_disconnect_amidst_phases(3137,87205 -static int esp_enter_msgout(3181,88356 -static int esp_enter_msgin(3187,88482 -static int esp_enter_cmd(3193,88605 -static int esp_enter_badphase(3199,88732 -typedef int (*espfunc_t)espfunc_t3206,88895 -static espfunc_t phase_vector[3208,88936 -static int esp_do_phase_determine(3222,89349 -static int esp_select_complete(3230,89596 -static int esp_do_msgincont(3485,98411 -static int check_singlebyte_msg(3510,99161 -static int target_with_ants_in_pants(3587,101419 -static void sync_report(3606,101901 -static int check_multibyte_msg(3645,102948 -static int esp_do_msgindone(3826,108395 -static int esp_do_cmdbegin(3908,110871 -static int esp_do_cmddone(3940,111716 -static int esp_do_msgout(3957,112086 -static int esp_do_msgoutdone(4039,114083 -static int esp_bus_unexpected(4102,115692 -static espfunc_t bus_vector[4109,115859 -static int esp_work_bus(4129,116273 -static espfunc_t isvc_vector[4148,116716 -static void esp_handle(4157,116884 -static irqreturn_t esp_intr(4339,122544 -static int esp_slave_alloc(4359,122982 -static void esp_slave_destroy(4371,123242 -static struct scsi_host_template driver_template 4380,123456 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_ioctl.c,571 -#define NORMAL_RETRIES 27,632 -#define IOCTL_NORMAL_TIMEOUT 28,659 -#define FORMAT_UNIT_TIMEOUT 29,700 -#define START_STOP_TIMEOUT 30,748 -#define MOVE_MEDIUM_TIMEOUT 31,786 -#define READ_ELEMENT_STATUS_TIMEOUT 32,829 -#define READ_DEFECT_DATA_TIMEOUT 33,879 -#define MAX_BUF 35,971 -static int ioctl_probe(44,1233 -static int ioctl_internal_command(92,2647 -int scsi_set_medium_removal(150,4375 -#define OMAX_SB_LEN 203,6406 -int scsi_ioctl_send_command(205,6461 -static int scsi_ioctl_get_pci(363,10119 -int scsi_ioctl(378,10568 -int scsi_nonblockable_ioctl(465,13361 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicfas408.h,537 -#define __QLOGICFAS408_H3,69 -#define QL_TURBO_PDMA 11,313 -#define QL_ENABLE_PARITY 15,389 -#define QL_RESET_AT_START 24,834 -#define XTALFREQ 30,1036 -#define SLOWCABLE 44,1554 -#define FASTSCSI 50,1720 -#define FASTCLK 53,1802 -#define SYNCXFRPD 60,2027 -#define SYNCOFFST 69,2397 -struct qlogicfas408_priv qlogicfas408_priv77,2762 -#define REG0 90,3289 -#define REG1 91,3378 -#define WATCHDOG 94,3533 -#define rtrc(rtrc100,3769 -#define get_priv_by_cmd(get_priv_by_cmd102,3789 -#define get_priv_by_host(get_priv_by_host103,3878 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_via.c,1126 -#define DRV_NAME 40,1408 -#define DRV_VERSION 41,1436 - via_sata 44,1471 - SATA_CHAN_ENAB 46,1488 - SATA_CHAN_ENAB = 0x40,46,1488 - SATA_INT_GATE 47,1539 - SATA_INT_GATE = 0x41,47,1539 - SATA_NATIVE_MODE 48,1591 - SATA_NATIVE_MODE = 0x42,48,1591 - SATA_PATA_SHARING 49,1642 - SATA_PATA_SHARING = 0x49,49,1642 - PORT0 51,1704 - PORT1 52,1725 - ENAB_ALL 54,1747 - ENAB_ALL = PORT0 54,1747 - ENAB_ALL = PORT0 | PORT1,54,1747 - INT_GATE_ALL 56,1776 - INT_GATE_ALL = PORT0 56,1776 - INT_GATE_ALL = PORT0 | PORT1,56,1776 - NATIVE_MODE_ALL 58,1809 - SATA_EXT_PHY 60,1873 - SATA_2DEV 61,1930 -static struct pci_device_id svia_pci_tbl[68,2217 -static struct pci_driver svia_pci_driver 74,2356 -static Scsi_Host_Template svia_sht 81,2514 -static struct ata_port_operations svia_sata_ops 100,3091 -static struct ata_port_info svia_port_info 128,3752 -static u32 svia_scr_read 143,4172 -static void svia_scr_write 150,4343 -static const unsigned int svia_bar_sizes[157,4512 -static unsigned long svia_scr_addr(161,4584 -static int svia_init_one 166,4692 -static int __init svia_init(273,7725 -static void __exit svia_exit(278,7807 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fcal.c,473 -#define fcal_printk 32,612 -#define FCALD(FCALD35,690 -#define FCALND(FCALND36,723 -#define FCALD(FCALD38,776 -#define FCALND(FCALND39,793 -static unsigned char alpa2target[42,819 -static unsigned char target2alpa[60,2301 -int fcal_slave_configure(73,3196 -int __init fcal_detect(92,3586 -int fcal_release(195,5944 -#define SPRINTF(SPRINTF210,6248 -int fcal_proc_info 212,6338 -static int fcal_encode_addr(282,8311 -static Scsi_Host_Template driver_template 300,8957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aha1740.c,1035 -#define DEB(DEB67,2024 -#define DEB(DEB69,2047 -struct aha1740_hostdata aha1740_hostdata72,2070 -struct aha1740_sg aha1740_sg80,2240 -#define HOSTDATA(HOSTDATA86,2364 -static inline struct ecb *ecb_dma_to_cpu 88,2434 -static inline dma_addr_t ecb_cpu_to_dma 99,2709 -static int aha1740_proc_info(109,2951 -static int aha1740_makecode(138,3541 - struct statuswordstatusword140,3602 -static int aha1740_test_port(216,5796 -static irqreturn_t aha1740_intr_handle(226,6064 -static int aha1740_queuecommand(346,9544 -#define LOOPCNT_WARN 491,14120 -#define LOOPCNT_MAX 492,14187 -static void aha1740_getconfig(527,15419 -static int aha1740_biosparam(539,15802 -static int aha1740_eh_abort_handler 559,16210 -static Scsi_Host_Template aha1740_template 573,16519 -static int aha1740_probe 588,17024 -static __devexit int aha1740_remove 660,19228 -static struct eisa_device_id aha1740_ids[677,19617 -static struct eisa_driver aha1740_driver 685,19792 -static __init int aha1740_init 694,19981 -static __exit void aha1740_exit 699,20072 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/eata_pio.h,646 -#define _EATA_PIO_H10,343 -#define VER_MAJOR 12,364 -#define VER_MINOR 13,384 -#define VER_SUB 14,404 -#define VERBOSE_SETUP 20,633 -#define ALLOW_DMA_BOARDS 21,690 -#define DEBUG_EATA 27,949 -#define DPT_DEBUG 28,1017 -#define DBG_DELAY 29,1084 -#define DBG_PROBE 33,1223 -#define DBG_ISA 34,1290 -#define DBG_EISA 35,1356 -#define DBG_PCI 36,1422 -#define DBG_PIO 37,1488 -#define DBG_COM 38,1554 -#define DBG_QUEUE 39,1620 -#define DBG_INTR 40,1687 -#define DBG_INTR2 41,1753 -#define DBG_PROC 42,1820 -#define DBG_PROC_WRITE 43,1886 -#define DBG_REGISTER 44,1911 -#define DBG_ABNORM 45,1940 -#define DBG(DBG48,2024 -#define DBG(DBG50,2064 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c416.h,62 -#define _SYM53C416_H19,610 -#define SYM53C416_SCSI_ID 23,658 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/hosts.c,561 -static int scsi_host_next_hn;40,1113 -static void scsi_host_cls_release(43,1178 -static struct class shost_class shost_class48,1304 -void scsi_host_cancel(58,1547 -void scsi_remove_host(74,1948 -int scsi_add_host(98,2563 -static void scsi_host_dev_release(154,3872 -struct Scsi_Host *scsi_host_alloc(195,4905 -struct Scsi_Host *scsi_register(310,8308 -void scsi_unregister(325,8690 -struct Scsi_Host *scsi_host_lookup(339,8974 -struct Scsi_Host *scsi_host_get(362,9486 -void scsi_host_put(374,9758 -int scsi_init_hosts(379,9842 -void scsi_exit_hosts(384,9911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/atari_NCR5380.c,1941 -#define LIST(LIST78,2715 -#define REMOVE(REMOVE81,2845 -#define LIST(LIST86,3027 -#define REMOVE(REMOVE87,3045 -static struct Scsi_Host *first_instance 256,10169 -static Scsi_Host_Template *the_template 257,10217 -#define SETUP_HOSTDATA(SETUP_HOSTDATA260,10296 -#define HOSTDATA(HOSTDATA263,10415 -#define NEXT(NEXT265,10481 -#define NEXTADDR(NEXTADDR266,10537 -#define HOSTNO 268,10600 -#define H_NO(H_NO269,10634 -#define TAG_NONE 310,12618 -} TAG_ALLOC;TAG_ALLOC316,12743 -static TAG_ALLOC TagAlloc[318,12757 -static void __init init_tags(321,12819 -static int is_lun_busy(351,13686 -static void cmd_get_tag(375,14429 -static void cmd_free_tag(407,15447 -static void free_all_tags(430,16147 -static void merge_contiguous_buffers(462,16901 -static __inline__ void initialize_SCp(500,18003 -signals[532,18893 -static void NCR5380_print(555,19881 -} phases[588,20902 -static void NCR5380_print_phase(601,21298 -__inline__ void NCR5380_print(619,21772 -__inline__ void NCR5380_print_phase(620,21835 -static volatile int main_running 640,22485 -static __inline__ void queue_main(643,22598 -static inline void NCR5380_all_init 657,23008 -static void __init NCR5380_print_options 676,23403 -static void NCR5380_print_status 704,23995 -#define SPRINTF(SPRINTF740,24915 -int NCR5380_proc_info 747,25154 -#define check_offset(check_offset755,25410 -lprint_Scsi_Cmnd 803,26855 -static int NCR5380_init 831,27655 -int NCR5380_queue_command 898,29464 -static void NCR5380_main 1026,33467 -static void NCR5380_dma_complete(1191,38717 -static irqreturn_t NCR5380_intr 1264,40758 -static void collect_stats(1344,43321 -static int NCR5380_select 1400,45210 -static int NCR5380_transfer_pio(1727,55350 -static int do_abort 1844,58774 -static int NCR5380_transfer_dma(1908,60692 -static void NCR5380_information_transfer 1987,63055 -static void NCR5380_reselect 2490,79152 -int NCR5380_abort 2641,83303 -static int NCR5380_bus_reset(2846,89684 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gdth.h,9147 -#define _GDTH_H2,16 -#define TRUE 20,424 -#define FALSE 23,460 -#define GDTH_VERSION_STR 29,528 -#define GDTH_VERSION 30,567 -#define GDTH_SUBVERSION 31,601 -#define PROTOCOL_VERSION 34,659 -#define OEM_ID_ICP 37,708 -#define OEM_ID_INTEL 38,739 -#define GDT_ISA 41,796 -#define GDT_EISA 42,865 -#define GDT_PCI 43,935 -#define GDT_PCINEW 44,1004 -#define GDT_PCIMPR 45,1077 -#define GDT3_ID 47,1191 -#define GDT3A_ID 48,1258 -#define GDT3B_ID 49,1333 -#define GDT2_ID 51,1416 -#define PCI_VENDOR_ID_VORTEX 56,1605 -#define PCI_VENDOR_ID_INTEL 59,1719 -#define PCI_DEVICE_ID_VORTEX_GDT60x0 64,1827 -#define PCI_DEVICE_ID_VORTEX_GDT6000B 65,1899 -#define PCI_DEVICE_ID_VORTEX_GDT6x10 67,1984 -#define PCI_DEVICE_ID_VORTEX_GDT6x20 68,2051 -#define PCI_DEVICE_ID_VORTEX_GDT6530 69,2118 -#define PCI_DEVICE_ID_VORTEX_GDT6550 70,2180 -#define PCI_DEVICE_ID_VORTEX_GDT6x17 72,2288 -#define PCI_DEVICE_ID_VORTEX_GDT6x27 73,2355 -#define PCI_DEVICE_ID_VORTEX_GDT6537 74,2422 -#define PCI_DEVICE_ID_VORTEX_GDT6557 75,2484 -#define PCI_DEVICE_ID_VORTEX_GDT6x15 77,2595 -#define PCI_DEVICE_ID_VORTEX_GDT6x25 78,2662 -#define PCI_DEVICE_ID_VORTEX_GDT6535 79,2729 -#define PCI_DEVICE_ID_VORTEX_GDT6555 80,2791 -#define PCI_DEVICE_ID_VORTEX_GDT6x17RP 85,2951 -#define PCI_DEVICE_ID_VORTEX_GDT6x27RP 86,3025 -#define PCI_DEVICE_ID_VORTEX_GDT6537RP 87,3099 -#define PCI_DEVICE_ID_VORTEX_GDT6557RP 88,3163 -#define PCI_DEVICE_ID_VORTEX_GDT6x11RP 90,3271 -#define PCI_DEVICE_ID_VORTEX_GDT6x21RP 91,3345 -#define PCI_DEVICE_ID_VORTEX_GDT6x17RD 95,3507 -#define PCI_DEVICE_ID_VORTEX_GDT6x27RD 96,3581 -#define PCI_DEVICE_ID_VORTEX_GDT6537RD 97,3655 -#define PCI_DEVICE_ID_VORTEX_GDT6557RD 98,3719 -#define PCI_DEVICE_ID_VORTEX_GDT6x11RD 100,3827 -#define PCI_DEVICE_ID_VORTEX_GDT6x21RD 101,3901 -#define PCI_DEVICE_ID_VORTEX_GDT6x18RD 103,4018 -#define PCI_DEVICE_ID_VORTEX_GDT6x28RD 105,4154 -#define PCI_DEVICE_ID_VORTEX_GDT6x38RD 107,4290 -#define PCI_DEVICE_ID_VORTEX_GDT6x58RD 108,4364 -#define PCI_DEVICE_ID_VORTEX_GDT7x18RN 110,4494 -#define PCI_DEVICE_ID_VORTEX_GDT7x28RN 112,4630 -#define PCI_DEVICE_ID_VORTEX_GDT7x38RN 114,4766 -#define PCI_DEVICE_ID_VORTEX_GDT7x58RN 115,4840 -#define PCI_DEVICE_ID_VORTEX_GDT6x19RD 120,5001 -#define PCI_DEVICE_ID_VORTEX_GDT6x29RD 121,5075 -#define PCI_DEVICE_ID_VORTEX_GDT7x19RN 123,5202 -#define PCI_DEVICE_ID_VORTEX_GDT7x29RN 124,5276 -#define PCI_DEVICE_ID_VORTEX_GDTMAXRP 129,5426 -#define PCI_DEVICE_ID_VORTEX_GDTNEWRX 134,5549 -#define PCI_DEVICE_ID_VORTEX_GDTNEWRX2 139,5673 -#define PCI_DEVICE_ID_INTEL_SRC 144,5803 -#define PCI_DEVICE_ID_INTEL_SRC_XSCALE 149,5932 -#define GDTH_SCRATCH 153,5999 -#define GDTH_MAXCMDS 154,6072 -#define GDTH_MAXC_P_L 155,6100 -#define GDTH_MAX_RAW 156,6172 -#define MAXOFFSETS 157,6251 -#define MAXHA 158,6279 -#define MAXID 159,6306 -#define MAXLUN 160,6334 -#define MAXBUS 161,6360 -#define MAX_EVENTS 162,6386 -#define MAX_RES_ARGS 163,6459 -#define MAXCYLS 165,6609 -#define HEADS 166,6638 -#define SECS 167,6665 -#define MEDHEADS 168,6733 -#define MEDSECS 169,6761 -#define BIGHEADS 170,6830 -#define BIGSECS 171,6858 -#define UNUSED_CMND 174,6955 -#define INTERNAL_CMND 175,6997 -#define SCREEN_CMND 176,7039 -#define SPECIAL_SCP(SPECIAL_SCP177,7081 -#define SCSIRAWSERVICE 180,7187 -#define CACHESERVICE 181,7213 -#define SCREENSERVICE 182,7239 -#define MSG_INV_HANDLE 185,7295 -#define MSGLEN 186,7372 -#define MSG_SIZE 187,7447 -#define MSG_REQUEST 188,7527 -#define SECTOR_SIZE 191,7631 -#define DPMEM_MAGIC 194,7734 -#define IC_HEADER_BYTES 195,7769 -#define IC_QUEUE_BYTES 196,7796 -#define DPMEM_COMMAND_OFFSET 197,7822 -#define CLUSTER_DRIVE 200,7926 -#define CLUSTER_MOUNTED 201,7958 -#define CLUSTER_RESERVED 202,7990 -#define CLUSTER_RESERVE_STATE 203,8022 -#define GDT_INIT 206,8149 -#define GDT_READ 207,8226 -#define GDT_WRITE 208,8293 -#define GDT_INFO 209,8361 -#define GDT_FLUSH 210,8441 -#define GDT_IOCTL 211,8521 -#define GDT_DEVTYPE 212,8589 -#define GDT_MOUNT 213,8666 -#define GDT_UNMOUNT 214,8739 -#define GDT_SET_FEAT 215,8814 -#define GDT_GET_FEAT 216,8895 -#define GDT_WRITE_THR 217,8962 -#define GDT_READ_THR 218,9030 -#define GDT_EXT_INFO 219,9097 -#define GDT_RESET 220,9165 -#define GDT_RESERVE_DRV 221,9236 -#define GDT_RELEASE_DRV 222,9309 -#define GDT_CLUST_INFO 223,9382 -#define GDT_RW_ATTRIBS 224,9449 -#define GDT_CLUST_RESET 225,9530 -#define GDT_FREEZE_IO 226,9611 -#define GDT_UNFREEZE_IO 227,9681 -#define GDT_X_INIT_HOST 228,9753 -#define GDT_X_INFO 229,9833 -#define GDT_RESERVE 232,9940 -#define GDT_RELEASE 233,10020 -#define GDT_RESERVE_ALL 234,10089 -#define GDT_RELEASE_ALL 235,10163 -#define GDT_RESET_BUS 236,10237 -#define GDT_SCAN_START 237,10301 -#define GDT_SCAN_END 238,10373 -#define GDT_X_INIT_RAW 239,10446 -#define GDT_REALTIME 242,10557 -#define GDT_X_INIT_SCR 243,10638 -#define SCSI_DR_INFO 246,10747 -#define SCSI_CHAN_CNT 247,10836 -#define SCSI_DR_LIST 248,10912 -#define SCSI_DEF_CNT 249,10982 -#define DSK_STATISTICS 250,11058 -#define IOCHAN_DESC 251,11133 -#define IOCHAN_RAW_DESC 252,11213 -#define L_CTRL_PATTERN 253,11294 -#define ARRAY_INFO 254,11364 -#define ARRAY_DRV_LIST 255,11435 -#define ARRAY_DRV_LIST2 256,11506 -#define LA_CTRL_PATTERN 257,11583 -#define CACHE_DRV_CNT 258,11654 -#define CACHE_DRV_LIST 259,11726 -#define CACHE_INFO 260,11797 -#define CACHE_CONFIG 261,11862 -#define CACHE_DRV_INFO 262,11936 -#define BOARD_FEATURES 263,12007 -#define BOARD_INFO 264,12081 -#define SET_PERF_MODES 265,12151 -#define GET_PERF_MODES 266,12230 -#define CACHE_READ_OEM_STRING_RECORD 267,12293 -#define HOST_GET 268,12371 -#define IO_CHANNEL 269,12445 -#define INVALID_CHANNEL 270,12518 -#define S_OK 273,12610 -#define S_GENERR 274,12673 -#define S_BSY 275,12741 -#define S_CACHE_UNKNOWN 276,12811 -#define S_RAW_SCSI 277,12892 -#define S_RAW_ILL 278,12970 -#define S_NOFUNC 279,13043 -#define S_CACHE_RESERV 280,13114 -#define INIT_RETRIES 283,13217 -#define INIT_TIMEOUT 284,13291 -#define POLL_TIMEOUT 285,13365 -#define DEFAULT_PRI 288,13455 -#define IOCTL_PRI 289,13484 -#define HIGH_PRI 290,13513 -#define GDTH_DATA_IN 293,13565 -#define GDTH_DATA_OUT 294,13636 -#define ID0REG 297,13746 -#define EINTENABREG 298,13809 -#define SEMA0REG 299,13880 -#define SEMA1REG 300,13952 -#define LDOORREG 301,14023 -#define EDENABREG 302,14092 -#define EDOORREG 303,14173 -#define MAILBOXREG 304,14248 -#define EISAREG 305,14326 -#define GDTH_MAP_NONE 308,14426 -#define GDTH_MAP_SINGLE 309,14452 -#define GDTH_MAP_SG 310,14478 -#define GDTH_MAP_IOCTL 311,14504 -#define LINUX_OS 314,14552 -#define SCATTER_GATHER 315,14628 -#define SECS32 316,14694 -#define BIOS_ID_OFFS 317,14763 -#define LOCALBOARD 318,14844 -#define ASYNCINDEX 319,14918 -#define SPEZINDEX 320,14995 -#define COALINDEX 321,15075 -#define SCATTER_GATHER 324,15134 -#define GDT_WR_THROUGH 325,15200 -#define GDT_64BIT 326,15278 -} PACKED gdth_msg_str;gdth_msg_str339,15903 -} PACKED gdth_coal_status;gdth_coal_status350,16149 -} PACKED gdth_perf_modes;gdth_perf_modes373,17583 -} PACKED gdth_diskinfo_str;gdth_diskinfo_str417,20460 -} PACKED gdth_getch_str;gdth_getch_str425,20822 -} PACKED gdth_drlist_str;gdth_drlist_str432,21109 -} PACKED gdth_defcnt_str;gdth_defcnt_str441,21505 -} PACKED gdth_dskstat_str;gdth_dskstat_str462,22573 -} PACKED gdth_iochan_header;gdth_iochan_header472,23083 -} PACKED gdth_iochan_str;gdth_iochan_str483,23512 -} PACKED gdth_raw_iochan_str;gdth_raw_iochan_str493,23825 -} PACKED gdth_arraycomp_str;gdth_arraycomp_str501,24146 -} PACKED gdth_arrayinf_str;gdth_arrayinf_str526,25775 -} PACKED gdth_alist_str;gdth_alist_str537,26320 -} PACKED gdth_arcdl_str;gdth_arcdl_str545,26717 -} PACKED gdth_cpar_str;gdth_cpar_str554,27156 -} PACKED gdth_cstat_str;gdth_cstat_str563,27509 -} PACKED gdth_cinfo_str;gdth_cinfo_str568,27605 -} PACKED gdth_cdrinfo_str;gdth_cdrinfo_str588,28786 -} PACKED gdth_oem_str_params;gdth_oem_str_params600,29082 -} PACKED gdth_oem_str;gdth_oem_str627,30007 -} PACKED gdth_oem_str_ioctl;gdth_oem_str_ioctl632,30110 -} PACKED gdth_bfeat_str;gdth_bfeat_str640,30484 -} PACKED gdth_binfo_str;gdth_binfo_str669,32370 -} PACKED gdth_hentry_str;gdth_hentry_str680,32884 -} PACKED gdth_hget_str;gdth_hget_str691,33435 -} PACKED gdt_dpr_if;gdt_dpr_if715,34561 -} PACKED gdt_pci_sram;gdt_pci_sram726,35072 -} PACKED gdt_eisa_sram;gdt_eisa_sram734,35422 -} PACKED gdt2_dpram_str;gdt2_dpram_str762,36683 -} PACKED gdt6_dpram_str;gdt6_dpram_str782,37479 -} PACKED gdt6c_plx_regs;gdt6c_plx_regs802,38532 -} PACKED gdt6c_dpram_str;gdt6c_dpram_str811,38828 -} PACKED gdt6m_i960_regs;gdt6m_i960_regs832,39866 -} PACKED gdt6m_dpram_str;gdt6m_dpram_str842,40236 -} gdth_pci_str;gdth_pci_str857,40959 -} gdth_ha_str;gdth_ha_str951,46584 -} gdth_num_str;gdth_num_str957,46715 -} gdth_ext_str;gdth_ext_str964,46928 -} PACKED gdth_inq_data;gdth_inq_data980,47284 -} PACKED gdth_rdcap_data;gdth_rdcap_data986,47419 -} PACKED gdth_rdcap16_data;gdth_rdcap16_data992,47561 -} PACKED gdth_sense_data;gdth_sense_data1006,47881 -} PACKED gdth_modep_data;gdth_modep_data1022,48239 -} PACKED gdth_stackframe;gdth_stackframe1027,48376 -#define GDTH 1049,49178 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_uli.c,789 -#define DRV_NAME 34,1241 -#define DRV_VERSION 35,1269 - uli_5289 38,1304 - uli_5287 39,1320 - ULI_SCR_BASE 42,1372 - ULI_SCR_BASE = 0x90,42,1372 - ULI_SATA1_OFS 43,1425 - ULI_SATA1_OFS = 0x10,43,1425 -static struct pci_device_id uli_pci_tbl[51,1723 -static struct pci_driver uli_pci_driver 58,1942 -static Scsi_Host_Template uli_sht 65,2097 -static struct ata_port_operations uli_ops 84,2673 -static struct ata_port_info uli_port_info 112,3326 -static unsigned int get_scr_cfg_addr(128,3816 -static u32 uli_scr_cfg_read 151,4168 -static void uli_scr_cfg_write 160,4392 -static u32 uli_scr_read 167,4598 -static void uli_scr_write 175,4758 -static void pci_enable_intx(184,5007 -static int uli_init_one 195,5288 -static int __init uli_init(271,6980 -static void __exit uli_exit(276,7060 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_debug.h,75 -#define SCSI_DEBUG_CANQUEUE 20,850 -#define SCSI_DEBUG_MAX_CMD_LEN 22,908 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/libata-scsi.c,1552 -typedef unsigned int (*ata_xlat_func_t)ata_xlat_func_t36,1264 -int ata_std_bios_param(59,2032 -int ata_scsi_ioctl(70,2248 -struct ata_queued_cmd *ata_scsi_qc_new(129,3532 -void ata_to_sense_error(169,4441 -int ata_scsi_slave_config(327,9392 -int ata_scsi_error(369,10427 -static unsigned int ata_scsi_flush_xlat(403,11131 -static unsigned int ata_scsi_verify_xlat(433,11818 -static unsigned int ata_scsi_rw_xlat(526,14010 -static int ata_scsi_qc_complete(619,16238 -static void ata_scsi_translate(652,17184 -static unsigned int ata_scsi_rbuf_get(715,18597 -static inline void ata_scsi_rbuf_put(745,19208 -void ata_scsi_rbuf_fill(770,19957 -unsigned int ata_scsiop_inq_std(804,20805 -unsigned int ata_scsiop_inq_00(860,22036 -unsigned int ata_scsiop_inq_80(888,22764 -static const char *inq_83_str 906,23149 -unsigned int ata_scsiop_inq_83(921,23605 -unsigned int ata_scsiop_noop(950,24447 -static void ata_msense_push(970,24906 -static unsigned int ata_msense_caching(999,25497 -static unsigned int ata_msense_ctl_mode(1030,26296 -static unsigned int ata_msense_rw_recovery(1050,26833 -unsigned int ata_scsiop_mode_sense(1075,27491 -unsigned int ata_scsiop_read_cap(1148,29087 -unsigned int ata_scsiop_report_luns(1207,30414 -void ata_scsi_badcmd(1231,31066 -static int atapi_qc_complete(1245,31446 -static unsigned int atapi_xlat(1288,32305 -ata_scsi_find_dev(1352,33922 -static inline ata_xlat_func_t ata_get_xlat_func(1389,34753 -static inline void ata_scsi_dump_cdb(1422,35361 -int ata_scsi_queuecmd(1457,36407 -void ata_scsi_simulate(1502,37490 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicpti_asm.c,140 -unsigned short sbus_risc_code01[2,54 -unsigned short sbus_risc_code01[] __initdata 2,54 -unsigned short sbus_risc_code_length01 1160,75189 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c8xx_comm.h,5849 -#define u_char 81,3010 -#define u_long 82,3040 -#define bzero(bzero85,3085 -#define assert(assert99,3401 -#define DEBUG_ALLOC 115,3731 -#define DEBUG_PHASE 116,3763 -#define DEBUG_QUEUE 117,3795 -#define DEBUG_RESULT 118,3827 -#define DEBUG_POINTER 119,3859 -#define DEBUG_SCRIPT 120,3891 -#define DEBUG_TINY 121,3923 -#define DEBUG_TIMING 122,3955 -#define DEBUG_NEGO 123,3987 -#define DEBUG_TAGS 124,4019 -#define DEBUG_SCATTER 125,4051 -#define DEBUG_IC 126,4083 -static int ncr_debug 134,4233 - #define DEBUG_FLAGS 135,4278 - #define DEBUG_FLAGS 137,4315 -typedef struct xpt_quehead xpt_quehead148,4576 -} XPT_QUEHEAD;XPT_QUEHEAD151,4707 -#define xpt_que_init(xpt_que_init153,4723 -static inline void __xpt_que_add(157,4816 -static inline void __xpt_que_del(167,5022 -static inline int xpt_que_empty(174,5163 -static inline void xpt_que_splice(179,5255 -#define xpt_que_entry(xpt_que_entry196,5590 -#define xpt_insque(xpt_insque200,5700 -#define xpt_remque(xpt_remque202,5769 -#define xpt_insque_head(xpt_insque_head204,5835 -static inline struct xpt_quehead *xpt_remque_head(206,5911 -#define xpt_insque_tail(xpt_insque_tail217,6124 -static inline struct xpt_quehead *xpt_remque_tail(219,6200 -spinlock_t DRIVER_SMP_LOCK 252,7200 -#define NCR_LOCK_DRIVER(NCR_LOCK_DRIVER253,7249 -#define NCR_UNLOCK_DRIVER(NCR_UNLOCK_DRIVER254,7327 -#define NCR_INIT_LOCK_NCB(NCR_INIT_LOCK_NCB257,7415 -#define NCR_LOCK_NCB(NCR_LOCK_NCB258,7480 -#define NCR_UNLOCK_NCB(NCR_UNLOCK_NCB259,7555 -#define NCR_LOCK_SCSI_DONE(NCR_LOCK_SCSI_DONE261,7636 -#define NCR_UNLOCK_SCSI_DONE(NCR_UNLOCK_SCSI_DONE263,7724 -#define memcpy_to_pci(memcpy_to_pci285,8385 -#define UDELAY 301,8947 -#define MDELAY 302,8969 -#define __GetFreePages(__GetFreePages322,9676 -#define MEMO_SHIFT 324,9745 -#define MEMO_PAGE_ORDER 326,9824 -#define MEMO_PAGE_ORDER 328,9878 -#define MEMO_FREE_UNUSED 330,9933 -#define MEMO_WARN 331,9994 -#define MEMO_GFP_FLAGS 332,10014 -#define MEMO_CLUSTER_SHIFT 333,10048 -#define MEMO_CLUSTER_SIZE 334,10104 -#define MEMO_CLUSTER_MASK 335,10158 -typedef u_long m_addr_t;m_addr_t337,10207 -typedef struct device *m_bush_t;m_bush_t338,10272 -typedef struct m_link m_link340,10345 -} m_link_s;m_link_s342,10430 -typedef struct m_vtob m_vtob344,10443 -} m_vtob_s;m_vtob_s348,10565 -#define VTOB_HASH_SHIFT 349,10577 -#define VTOB_HASH_SIZE 350,10604 -#define VTOB_HASH_MASK 351,10653 -#define VTOB_HASH_CODE(VTOB_HASH_CODE352,10696 -typedef struct m_pool m_pool355,10786 -#define M_GETP(M_GETP359,10940 -#define M_FREEP(M_FREEP360,10971 -#define GetPages(GetPages361,11008 -#define FreePages(FreePages362,11076 -} m_pool_s;m_pool_s367,11256 -static void *___m_alloc(369,11269 -static void ___m_free(412,11972 -static void *__m_calloc2(458,12686 -#define __m_calloc(__m_calloc475,13022 -static void __m_free(477,13085 -static m_addr_t ___mp0_getp(492,13505 -static void ___mp0_freep(500,13611 -static m_pool_s mp0 506,13695 -static m_addr_t ___dma_getp(516,13930 -static void ___dma_freep(542,14436 -static inline m_pool_s *___get_dma_pool(560,14857 -static m_pool_s *___cre_dma_pool(567,15005 -static void ___del_dma_pool(582,15284 -static void *__m_calloc_dma(594,15488 -static void __m_free_dma(613,15832 -static m_addr_t __vtobus(627,16110 -#define _m_calloc_dma(_m_calloc_dma646,16524 -#define _m_free_dma(_m_free_dma647,16587 -#define m_calloc_dma(m_calloc_dma648,16651 -#define m_free_dma(m_free_dma649,16703 -#define _vtobus(_vtobus650,16757 -#define vtobus(vtobus651,16803 -#define __data_mapped 658,16953 -#define __data_mapping 659,16985 -static void __unmap_scsi_data(661,17026 -static u_long __map_scsi_single_data(678,17438 -static int __map_scsi_sg_data(696,17856 -static void __sync_scsi_data_for_cpu(712,18220 -static void __sync_scsi_data_for_device(728,18628 -#define scsi_sg_dma_address(scsi_sg_dma_address744,19047 -#define scsi_sg_dma_len(scsi_sg_dma_len745,19099 -#define unmap_scsi_data(unmap_scsi_data747,19144 -#define map_scsi_single_data(map_scsi_single_data748,19209 -#define map_scsi_sg_data(map_scsi_sg_data749,19284 -#define sync_scsi_data_for_cpu(sync_scsi_data_for_cpu750,19351 -#define sync_scsi_data_for_device(sync_scsi_data_for_device751,19430 -#define scsi_data_direction(scsi_data_direction753,19516 - driver_setup 766,19883 - driver_safe_setup __initdata 770,19998 -#define initverbose 773,20066 -#define bootverbose 774,20109 -struct info_strinfo_str785,20394 -static void copy_mem_info(793,20467 -static int copy_info(813,20885 -#define ARG_SEP 837,21322 -#define ARG_SEP 839,21348 -#define OPT_TAGS 842,21376 -#define OPT_MASTER_PARITY 843,21396 -#define OPT_SCSI_PARITY 844,21424 -#define OPT_DISCONNECTION 845,21451 -#define OPT_SPECIAL_FEATURES 846,21479 -#define OPT_UNUSED_1 847,21510 -#define OPT_FORCE_SYNC_NEGO 848,21534 -#define OPT_REVERSE_PROBE 849,21564 -#define OPT_DEFAULT_SYNC 850,21592 -#define OPT_VERBOSE 851,21619 -#define OPT_DEBUG 852,21643 -#define OPT_BURST_MAX 853,21665 -#define OPT_LED_PIN 854,21691 -#define OPT_MAX_WIDE 855,21715 -#define OPT_SETTLE_DELAY 856,21740 -#define OPT_DIFF_SUPPORT 857,21768 -#define OPT_IRQM 858,21796 -#define OPT_PCI_FIX_UP 859,21817 -#define OPT_BUS_CHECK 860,21844 -#define OPT_OPTIMIZE 861,21870 -#define OPT_RECOVERY 862,21895 -#define OPT_SAFE_SETUP 863,21920 -#define OPT_USE_NVRAM 864,21947 -#define OPT_EXCLUDE 865,21973 -#define OPT_HOST_ID 866,21997 -#define OPT_IARB 869,22051 -static char setup_token[872,22080 -static char setup_token[] __initdata 872,22080 -#define ARG_SEP 892,22464 -#define ARG_SEP 894,22490 -static int __init get_setup_token(897,22518 -static int __init sym53c8xx__setup(914,22763 -#define DEF_DEPTH 1042,25586 -#define ALL_TARGETS 1043,25632 -#define NO_TARGET 1044,25655 -#define ALL_LUNS 1045,25676 -#define NO_LUN 1046,25696 -static int device_queue_depth(1048,25716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/libata-core.c,4252 -static unsigned int ata_unique_id 64,2243 -static struct workqueue_struct *ata_wq;65,2282 -static void ata_tf_load_pio(83,2701 -static void ata_tf_load_mmio(141,4150 -void ata_tf_load(188,5574 -static void ata_exec_command_pio(208,6058 -static void ata_exec_command_mmio(229,6588 -void ata_exec_command(237,6813 -static inline void ata_exec(257,7294 -static void ata_tf_to_host(280,7908 -void ata_tf_to_host_nolock(300,8377 -static void ata_tf_read_pio(318,8794 -static void ata_tf_read_mmio(350,9693 -void ata_tf_read(370,10501 -static u8 ata_check_status_pio(389,10965 -static u8 ata_check_status_mmio(405,11376 -u8 ata_check_status(410,11497 -void ata_tf_to_fis(430,11960 -void ata_tf_from_fis(471,12828 -static int ata_prot_to_cmd(500,13434 -static void ata_dev_set_protocol(545,14353 -static const char * xfer_mode_str[564,14754 -static const char *ata_mode_string(598,15336 -static unsigned int ata_pio_devchk(636,16189 -static unsigned int ata_mmio_devchk(680,17238 -static unsigned int ata_devchk(719,18248 -unsigned int ata_dev_classify(743,18882 -static u8 ata_dev_try_classify(784,20107 -void ata_dev_id_string(835,21294 -void ata_noop_dev_select 854,21533 -void ata_std_dev_select 871,21907 -void ata_dev_select(907,22851 -static inline void ata_dump_id(936,23450 -static void ata_dev_identify(986,24782 -static int ata_bus_probe(1178,29647 -void ata_port_probe(1217,30309 -void __sata_phy_reset(1229,30450 -void sata_phy_reset(1277,31516 -void ata_port_disable(1292,31710 -} xfer_mode_classes[1302,31917 -static inline u8 base_from_shift(1308,32050 -static void ata_dev_set_mode(1319,32265 -static int ata_host_set_pio(1344,32934 -static void ata_host_set_dma(1377,33644 -static void ata_set_mode(1401,34172 -static unsigned int ata_busy_sleep 1453,35252 -static void ata_bus_post_reset(1487,36066 -static unsigned int ata_bus_edd(1542,37307 -static unsigned int ata_bus_softreset(1565,37859 -void ata_bus_reset(1622,39677 -static unsigned int ata_get_mode_mask(1702,41587 -static int fgb(1756,42923 -static int ata_choose_xfer_mode(1778,43171 -static void ata_dev_set_xfermode(1808,43779 -static void ata_sg_clean(1849,44609 -static void ata_fill_sg(1880,45305 -void ata_qc_prep(1928,46384 -void ata_sg_init_one(1936,46501 -void ata_sg_init(1953,46869 -static int ata_sg_setup_one(1972,47139 -static int ata_sg_setup(2003,47737 -static unsigned long ata_pio_poll(2034,48216 -static void ata_pio_complete 2078,49013 -void swap_buf_le16(2118,49988 -static void ata_mmio_data_xfer(2128,50175 -static void ata_pio_data_xfer(2145,50611 -static void ata_data_xfer(2156,50880 -static void ata_pio_sector(2165,51127 -static void __atapi_pio_bytes(2203,52038 -static void atapi_pio_bytes(2256,53178 -static void ata_pio_block(2295,54014 -static void ata_pio_error(2345,55149 -static void ata_pio_task(2364,55523 -static void atapi_request_sense(2400,56167 -static void ata_qc_timeout(2471,58048 -void ata_eng_timeout(2553,60231 -static struct ata_queued_cmd *ata_qc_new(2580,60720 -struct ata_queued_cmd *ata_qc_new_init(2605,61211 -static int ata_qc_complete_noop(2630,61687 -static void __ata_qc_complete(2635,61775 -void ata_qc_complete(2668,62398 -static inline int ata_should_dma_map(2692,62873 -int ata_qc_issue(2732,63650 -int ata_qc_issue_prot(2775,64561 -static void ata_bmdma_setup_mmio 2832,65845 -static void ata_bmdma_start_mmio 2862,66655 -static void ata_bmdma_setup_pio 2893,67671 -static void ata_bmdma_start_pio 2921,68407 -void ata_bmdma_start(2932,68676 -void ata_bmdma_setup(2940,68826 -void ata_bmdma_irq_clear(2948,68976 -inline unsigned int ata_host_intr 2969,69533 -irqreturn_t ata_interrupt 3044,71058 -static void atapi_packet_task(3086,72165 -int ata_port_start 3132,73227 -void ata_port_stop 3145,73520 -static void ata_host_remove(3160,73867 -static void ata_host_init(3184,74399 -static struct ata_port * ata_host_add(3241,75829 -int ata_device_add(3279,76422 -int ata_scsi_release(3411,79648 -void ata_std_ports(3428,79993 -ata_probe_ent_alloc(3443,80633 -ata_pci_init_native_mode(3474,81392 -ata_pci_init_legacy_mode(3503,82267 -int ata_pci_init_one 3550,83451 -void ata_pci_remove_one 3679,86544 -int pci_test_config_bits(3726,87539 -static int __init ata_init(3769,88119 -static void __exit ata_exit(3779,88300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/3w-xxxx.c,2786 -#define __3W_C 220,11702 -static struct notifier_block tw_notifier 238,12542 -static struct file_operations tw_fops 243,12659 -#define TW_DRIVER_VERSION 251,12827 -TW_Device_Extension *tw_device_extension_list[252,12867 -int tw_device_extension_count 253,12927 -static int twe_major 254,12962 -static int cmds_per_lun;255,12989 -int tw_aen_complete(265,13250 -int tw_aen_drain_queue(329,15458 -int tw_aen_read_queue(495,20734 -int tw_allocate_memory(567,23472 -int tw_check_bits(609,24872 -int tw_check_errors(624,25384 -static int tw_chrdev_ioctl(640,25818 -static int tw_chrdev_open(805,31488 -static int tw_chrdev_release(819,31837 -void tw_clear_all_interrupts(827,32073 -void tw_clear_attention_interrupt(837,32418 -void tw_clear_host_interrupt(847,32781 -static int tw_copy_info(857,33128 -static void tw_copy_mem_info(871,33426 -int tw_decode_bits(891,33989 -int tw_decode_sense(935,35476 -void tw_disable_interrupts(980,37047 -void tw_empty_response_que(990,37386 -void tw_enable_interrupts(1007,37947 -void tw_enable_and_clear_interrupts(1018,38344 -int tw_findcards(1030,38802 -void tw_free_device_extension(1256,46205 -static int tw_halt(1269,46857 -int tw_initconnection(1286,47355 -int tw_initialize_device_extension(1346,49489 -int tw_initialize_units(1380,50419 -static irqreturn_t tw_interrupt(1492,54092 -int tw_ioctl(1712,61913 -int tw_ioctl_complete(2057,76256 -static int tw_map_scsi_sg_data(2112,78358 -static u32 tw_map_scsi_single_data(2135,78889 -void tw_mask_command_interrupt(2159,79578 -int tw_poll_status(2169,79942 -int tw_poll_status_gone(2202,80952 -int tw_post_command_packet(2235,81982 -int tw_reset_device_extension(2282,83729 -int tw_reset_sequence(2328,84979 -int tw_scsi_biosparam(2376,86209 -int tw_scsi_detect(2404,86995 -int tw_scsi_eh_abort(2418,87331 -int tw_scsi_eh_reset(2486,89770 -int tw_scsi_proc_info(2524,90919 -int tw_scsi_queue(2594,93851 -int tw_scsi_release(2686,96808 -int tw_scsiop_inquiry(2720,97684 -int tw_scsiop_inquiry_complete(2779,99814 -int tw_scsiop_mode_sense(2821,101468 -int tw_scsiop_mode_sense_complete(2890,103953 -int tw_scsiop_read_capacity(2922,105110 -int tw_scsiop_read_capacity_complete(2983,107361 -int tw_scsiop_read_write(3029,108801 -int tw_scsiop_request_sense(3135,112461 -int tw_scsiop_synchronize_cache(3152,113136 -int tw_scsiop_test_unit_ready(3190,114501 -int tw_scsiop_test_unit_ready_complete(3249,116692 -int tw_setfeature(3275,117580 -int tw_setup_irq(3349,120182 -int tw_shutdown_device(3366,120708 -int tw_slave_configure(3388,121253 -void tw_soft_reset(3407,121698 -int tw_state_request_finish(3423,122252 -int tw_state_request_start(3440,122802 -static void tw_unmap_scsi_data(3460,123322 -void tw_unmask_command_interrupt(3477,123833 -static Scsi_Host_Template driver_template 3486,124141 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ipr.h,15675 -#define _IPR_H27,1021 -#define IPR_DRIVER_VERSION 42,1259 -#define IPR_DRIVER_DATE 43,1295 -#define IPR_DEBUG 53,1621 -#define IPR_DBG_TRACE 54,1644 -#define IPR_DEBUG 56,1676 -#define IPR_DBG_TRACE 57,1699 -#define IPR_MAX_CMD_PER_LUN 65,1945 -#define IPR_NUM_BASE_CMD_BLKS 71,2093 -#define IPR_SUBS_DEV_ID_2780 73,2131 -#define IPR_SUBS_DEV_ID_5702 74,2167 -#define IPR_SUBS_DEV_ID_5703 75,2203 -#define IPR_SUBS_DEV_ID_572E 76,2239 -#define IPR_SUBS_DEV_ID_573D 77,2276 -#define IPR_SUBS_DEV_ID_570F 78,2313 -#define IPR_SUBS_DEV_ID_571B 79,2349 -#define IPR_NAME 81,2386 -#define IPR_RC_JOB_CONTINUE 86,2436 -#define IPR_RC_JOB_RETURN 87,2467 -#define IPR_IOASC_NR_INIT_CMD_REQUIRED 92,2514 -#define IPR_IOASC_SYNC_REQUIRED 93,2565 -#define IPR_IOASC_MED_DO_NOT_REALLOC 94,2610 -#define IPR_IOASC_HW_SEL_TIMEOUT 95,2659 -#define IPR_IOASC_HW_DEV_BUS_STATUS 96,2705 -#define IPR_IOASC_IOASC_MASK 97,2754 -#define IPR_IOASC_SCSI_STATUS_MASK 98,2796 -#define IPR_IOASC_IR_RESOURCE_HANDLE 99,2843 -#define IPR_IOASC_BUS_WAS_RESET 100,2892 -#define IPR_IOASC_BUS_WAS_RESET_BY_OTHER 101,2937 -#define IPR_IOASC_ABORTED_CMD_TERM_BY_HOST 102,2990 -#define IPR_FIRST_DRIVER_IOASC 104,3045 -#define IPR_IOASC_IOA_WAS_RESET 105,3089 -#define IPR_IOASC_PCI_ACCESS_ERROR 106,3134 -#define IPR_NUM_LOG_HCAMS 108,3183 -#define IPR_NUM_CFG_CHG_HCAMS 109,3214 -#define IPR_NUM_HCAMS 110,3249 -#define IPR_MAX_NUM_TARGETS_PER_BUS 111,3315 -#define IPR_MAX_NUM_LUNS_PER_TARGET 112,3358 -#define IPR_MAX_NUM_VSET_LUNS_PER_TARGET 113,3400 -#define IPR_VSET_BUS 114,3443 -#define IPR_IOA_BUS 115,3473 -#define IPR_IOA_TARGET 116,3503 -#define IPR_IOA_LUN 117,3535 -#define IPR_MAX_NUM_BUSES 118,3565 -#define IPR_MAX_BUS_TO_SCAN 119,3596 -#define IPR_NUM_RESET_RELOAD_RETRIES 121,3646 -#define IPR_NUM_INTERNAL_CMD_BLKS 124,3756 -#define IPR_MAX_COMMANDS 127,3893 -#define IPR_NUM_CMD_BLKS 128,3941 -#define IPR_MAX_PHYSICAL_DEVS 131,4028 -#define IPR_MAX_SGLIST 133,4066 -#define IPR_MAX_SECTORS 134,4096 -#define IPR_MAX_CDB_LEN 135,4128 -#define IPR_DEFAULT_BUS_WIDTH 137,4160 -#define IPR_80MBs_SCSI_RATE 138,4196 -#define IPR_U160_SCSI_RATE 139,4267 -#define IPR_U320_SCSI_RATE 140,4337 -#define IPR_MAX_SCSI_RATE(IPR_MAX_SCSI_RATE141,4407 -#define IPR_IOA_RES_HANDLE 143,4470 -#define IPR_IOA_RES_ADDR 144,4511 -#define IPR_RESET_DEVICE 149,4578 -#define IPR_RESET_TYPE_SELECT 150,4611 -#define IPR_LUN_RESET 151,4649 -#define IPR_TARGET_RESET 152,4680 -#define IPR_BUS_RESET 153,4714 -#define IPR_ID_HOST_RR_Q 154,4745 -#define IPR_QUERY_IOA_CONFIG 155,4778 -#define IPR_CANCEL_ALL_REQUESTS 156,4815 -#define IPR_HOST_CONTROLLED_ASYNC 157,4854 -#define IPR_HCAM_CDB_OP_CODE_CONFIG_CHANGE 158,4895 -#define IPR_HCAM_CDB_OP_CODE_LOG_DATA 159,4943 -#define IPR_SET_SUPPORTED_DEVICES 160,4987 -#define IPR_IOA_SHUTDOWN 161,5028 -#define IPR_WR_BUF_DOWNLOAD_AND_SAVE 162,5061 -#define IPR_SHUTDOWN_TIMEOUT 167,5125 -#define IPR_VSET_RW_TIMEOUT 168,5171 -#define IPR_ABBREV_SHUTDOWN_TIMEOUT 169,5215 -#define IPR_DEVICE_RESET_TIMEOUT 170,5262 -#define IPR_CANCEL_ALL_TIMEOUT 171,5306 -#define IPR_ABORT_TASK_TIMEOUT 172,5348 -#define IPR_INTERNAL_TIMEOUT 173,5390 -#define IPR_WRITE_BUFFER_TIMEOUT 174,5431 -#define IPR_SET_SUP_DEVICE_TIMEOUT 175,5480 -#define IPR_REQUEST_SENSE_TIMEOUT 176,5530 -#define IPR_OPERATIONAL_TIMEOUT 177,5575 -#define IPR_WAIT_FOR_RESET_TIMEOUT 178,5622 -#define IPR_CHECK_FOR_RESET_TIMEOUT 179,5667 -#define IPR_WAIT_FOR_BIST_TIMEOUT 180,5714 -#define IPR_DUMP_TIMEOUT 181,5758 -#define IPR_VENDOR_ID_LEN 186,5820 -#define IPR_PROD_ID_LEN 187,5850 -#define IPR_SERIAL_NUM_LEN 188,5880 -#define IPR_FMT2_MBX_ADDR_MASK 193,5940 -#define IPR_FMT2_MBX_BAR_SEL_MASK 194,5985 -#define IPR_FMT2_MKR_BAR_SEL_SHIFT 195,6032 -#define IPR_GET_FMT2_BAR_SEL(IPR_GET_FMT2_BAR_SEL196,6072 -#define IPR_SDT_FMT2_BAR0_SEL 198,6176 -#define IPR_SDT_FMT2_BAR1_SEL 199,6213 -#define IPR_SDT_FMT2_BAR2_SEL 200,6250 -#define IPR_SDT_FMT2_BAR3_SEL 201,6287 -#define IPR_SDT_FMT2_BAR4_SEL 202,6324 -#define IPR_SDT_FMT2_BAR5_SEL 203,6361 -#define IPR_SDT_FMT2_EXP_ROM_SEL 204,6398 -#define IPR_FMT2_SDT_READY_TO_USE 205,6437 -#define IPR_DOORBELL 206,6484 -#define IPR_PCII_IOA_TRANS_TO_OPER 208,6521 -#define IPR_PCII_IOARCB_XFER_FAILED 209,6576 -#define IPR_PCII_IOA_UNIT_CHECKED 210,6632 -#define IPR_PCII_NO_HOST_RRQ 211,6686 -#define IPR_PCII_CRITICAL_OPERATION 212,6736 -#define IPR_PCII_IO_DEBUG_ACKNOWLEDGE 213,6792 -#define IPR_PCII_IOARRIN_LOST 214,6849 -#define IPR_PCII_MMIO_ERROR 215,6901 -#define IPR_PCII_PROC_ERR_STATE 216,6951 -#define IPR_PCII_HRRQ_UPDATED 217,7004 -#define IPR_PCII_CORE_ISSUED_RST_REQ 218,7056 -#define IPR_PCII_ERROR_INTERRUPTS 220,7114 -#define IPR_PCII_OPER_INTERRUPTS 224,7280 -#define IPR_UPROCI_RESET_ALERT 227,7397 -#define IPR_UPROCI_IO_DEBUG_ALERT 228,7448 -#define IPR_LDUMP_MAX_LONG_ACK_DELAY_IN_USEC 230,7503 -#define IPR_LDUMP_MAX_SHORT_ACK_DELAY_IN_USEC 231,7569 -#define IPR_MAX_IOA_DUMP_SIZE 236,7661 -#define IPR_NUM_SDT_ENTRIES 237,7712 -#define IPR_MAX_NUM_DUMP_PAGES 238,7747 -#define IPR_NUM_IOADL_ENTRIES 243,7845 -struct ipr_res_addr ipr_res_addr249,7928 -#define IPR_GET_PHYS_LOC(IPR_GET_PHYS_LOC254,7994 -struct ipr_std_inq_vpids ipr_std_inq_vpids258,8141 -struct ipr_std_inq_data ipr_std_inq_data263,8262 -#define IPR_STD_INQ_PERI_QUAL(IPR_STD_INQ_PERI_QUAL265,8312 -#define IPR_STD_INQ_PERI_DEV_TYPE(IPR_STD_INQ_PERI_DEV_TYPE266,8362 -#define IPR_STD_INQ_REMOVEABLE_MEDIUM 269,8447 -#define IPR_IS_DASD_DEVICE(IPR_IS_DASD_DEVICE271,8491 -#define IPR_IS_SES_DEVICE(IPR_IS_SES_DEVICE275,8678 -struct ipr_config_table_entry ipr_config_table_entry292,9023 -#define IPR_IS_IOA_RESOURCE 296,9099 -#define IPR_IS_ARRAY_MEMBER 297,9132 -#define IPR_IS_HOT_SPARE 298,9165 -#define IPR_RES_SUBTYPE(IPR_RES_SUBTYPE301,9214 -#define IPR_SUBTYPE_AF_DASD 302,9280 -#define IPR_SUBTYPE_GENERIC_SCSI 303,9312 -#define IPR_SUBTYPE_VOLUME_SET 304,9347 -struct ipr_config_table_hdr ipr_config_table_hdr312,9529 -#define IPR_UCODE_DOWNLOAD_REQ 315,9587 -struct ipr_config_table ipr_config_table319,9678 -struct ipr_hostrcb_cfg_ch_not ipr_hostrcb_cfg_ch_not324,9837 -struct ipr_supported_device ipr_supported_device329,9966 -struct ipr_cmd_pkt ipr_cmd_pkt338,10168 -#define IPR_RQTYPE_SCSICDB 341,10245 -#define IPR_RQTYPE_IOACMD 342,10278 -#define IPR_RQTYPE_HCAM 343,10310 -#define IPR_FLAGS_HI_WRITE_NOT_READ 348,10376 -#define IPR_FLAGS_HI_NO_ULEN_CHK 349,10418 -#define IPR_FLAGS_HI_SYNC_OVERRIDE 350,10457 -#define IPR_FLAGS_HI_SYNC_COMPLETE 351,10498 -#define IPR_FLAGS_HI_NO_LINK_DESC 352,10539 -#define IPR_FLAGS_LO_ALIGNED_BFR 355,10594 -#define IPR_FLAGS_LO_DELAY_AFTER_RST 356,10633 -#define IPR_FLAGS_LO_UNTAGGED_TASK 357,10675 -#define IPR_FLAGS_LO_SIMPLE_TASK 358,10716 -#define IPR_FLAGS_LO_ORDERED_TASK 359,10755 -#define IPR_FLAGS_LO_HEAD_OF_Q_TASK 360,10795 -#define IPR_FLAGS_LO_ACA_TASK 361,10837 -struct ipr_ioarcb ipr_ioarcb368,10988 -struct ipr_ioadl_desc ipr_ioadl_desc394,11474 -#define IPR_IOADL_FLAGS_MASK 396,11523 -#define IPR_IOADL_GET_FLAGS(IPR_IOADL_GET_FLAGS397,11564 -#define IPR_IOADL_DATA_LEN_MASK 398,11635 -#define IPR_IOADL_GET_DATA_LEN(IPR_IOADL_GET_DATA_LEN399,11679 -#define IPR_IOADL_FLAGS_READ 400,11756 -#define IPR_IOADL_FLAGS_READ_LAST 401,11797 -#define IPR_IOADL_FLAGS_WRITE 402,11842 -#define IPR_IOADL_FLAGS_WRITE_LAST 403,11884 -#define IPR_IOADL_FLAGS_LAST 404,11930 -struct ipr_ioasa_vset ipr_ioasa_vset409,12026 -struct ipr_ioasa_af_dasd ipr_ioasa_af_dasd415,12151 -struct ipr_ioasa_gpdd ipr_ioasa_gpdd419,12236 -struct ipr_ioasa_raw ipr_ioasa_raw426,12364 -struct ipr_ioasa ipr_ioasa430,12446 -#define IPR_IOASC_SENSE_KEY(IPR_IOASC_SENSE_KEY432,12477 -#define IPR_IOASC_SENSE_CODE(IPR_IOASC_SENSE_CODE433,12528 -#define IPR_IOASC_SENSE_QUAL(IPR_IOASC_SENSE_QUAL434,12595 -#define IPR_IOASC_SENSE_STATUS(IPR_IOASC_SENSE_STATUS435,12661 -#define IPR_NO_ILID 445,12972 -#define IPR_DRIVER_ILID 446,12996 -#define IPR_IOASC_SPECIFIC_MASK 455,13147 -#define IPR_FIELD_POINTER_VALID 456,13191 -#define IPR_FIELD_POINTER_MASK 457,13242 -struct ipr_mode_parm_hdr ipr_mode_parm_hdr467,13462 -struct ipr_mode_pages ipr_mode_pages474,13588 -struct ipr_mode_page_hdr ipr_mode_page_hdr479,13720 -#define IPR_MODE_PAGE_PS 481,13765 -#define IPR_GET_MODE_PAGE_CODE(IPR_GET_MODE_PAGE_CODE482,13795 -struct ipr_dev_bus_entry ipr_dev_bus_entry486,13905 -#define IPR_SCSI_ATTR_ENABLE_QAS 489,13974 -#define IPR_SCSI_ATTR_DISABLE_QAS 490,14014 -#define IPR_SCSI_ATTR_QAS_MASK 491,14055 -#define IPR_SCSI_ATTR_ENABLE_TM 492,14094 -#define IPR_SCSI_ATTR_NO_TERM_PWR 493,14134 -#define IPR_SCSI_ATTR_TM_SUPPORTED 494,14175 -#define IPR_SCSI_ATTR_LVD_TO_SE_NOT_ALLOWED 495,14217 -#define IPR_EXTENDED_RESET_DELAY 500,14321 -struct ipr_mode_page28 ipr_mode_page28509,14467 -struct ipr_ioa_vpd ipr_ioa_vpd516,14619 -struct ipr_inquiry_page3 ipr_inquiry_page3523,14773 -struct ipr_hostrcb_device_data_entry ipr_hostrcb_device_data_entry538,15043 -struct ipr_hostrcb_array_data_entry ipr_hostrcb_array_data_entry551,15515 -struct ipr_hostrcb_type_ff_error ipr_hostrcb_type_ff_error558,15741 -struct ipr_hostrcb_type_01_error ipr_hostrcb_type_01_error562,15836 -struct ipr_hostrcb_type_02_error ipr_hostrcb_type_02_error569,15989 -struct ipr_hostrcb_type_03_error ipr_hostrcb_type_03_error582,16461 -struct ipr_hostrcb_type_04_error ipr_hostrcb_type_04_error594,16805 -struct ipr_hostrcb_error ipr_hostrcb_error613,17414 -struct ipr_hostrcb_raw ipr_hostrcb_raw627,17852 -struct ipr_hcam ipr_hcam631,17974 -#define IPR_HOST_RCB_OP_CODE_CONFIG_CHANGE 633,18005 -#define IPR_HOST_RCB_OP_CODE_LOG_DATA 634,18055 -#define IPR_HOST_RCB_NOTIF_TYPE_EXISTING_CHANGED 637,18119 -#define IPR_HOST_RCB_NOTIF_TYPE_NEW_ENTRY 638,18173 -#define IPR_HOST_RCB_NOTIF_TYPE_REM_ENTRY 639,18222 -#define IPR_HOST_RCB_NOTIF_TYPE_ERROR_LOG_ENTRY 640,18271 -#define IPR_HOST_RCB_NOTIF_TYPE_INFORMATION_ENTRY 641,18325 -#define IPR_HOST_RCB_NO_NOTIFICATIONS_LOST 644,18405 -#define IPR_HOST_RCB_NOTIFICATIONS_LOST 645,18452 -#define IPR_HOSTRCB_INTERNAL_OPER 648,18512 -#define IPR_HOSTRCB_ERR_RESP_SENT 649,18551 -#define IPR_HOST_RCB_OVERLAY_ID_1 652,18607 -#define IPR_HOST_RCB_OVERLAY_ID_2 653,18649 -#define IPR_HOST_RCB_OVERLAY_ID_3 654,18691 -#define IPR_HOST_RCB_OVERLAY_ID_4 655,18733 -#define IPR_HOST_RCB_OVERLAY_ID_6 656,18775 -#define IPR_HOST_RCB_OVERLAY_ID_DEFAULT 657,18817 -struct ipr_hostrcb ipr_hostrcb672,19112 -struct ipr_sdt_entry ipr_sdt_entry679,19248 -#define IPR_SDT_ENDIAN 686,19354 -#define IPR_SDT_VALID_ENTRY 687,19383 -struct ipr_sdt_header ipr_sdt_header693,19482 -struct ipr_sdt ipr_sdt700,19615 -struct ipr_uc_sdt ipr_uc_sdt705,19750 -struct ipr_bus_attributes ipr_bus_attributes713,19893 -struct ipr_resource_entry ipr_resource_entry721,20000 -struct ipr_resource_hdr ipr_resource_hdr735,20255 -struct ipr_resource_table ipr_resource_table740,20318 -struct ipr_misc_cbs ipr_misc_cbs745,20435 -struct ipr_interrupts ipr_interrupts752,20602 -struct ipr_chip_cfg_t ipr_chip_cfg_t765,20970 -enum ipr_shutdown_type ipr_shutdown_type771,21062 - IPR_SHUTDOWN_NORMAL 772,21087 - IPR_SHUTDOWN_NORMAL = 0x00,772,21087 - IPR_SHUTDOWN_PREPARE_FOR_NORMAL 773,21116 - IPR_SHUTDOWN_PREPARE_FOR_NORMAL = 0x40,773,21116 - IPR_SHUTDOWN_ABBREV 774,21157 - IPR_SHUTDOWN_ABBREV = 0x80,774,21157 - IPR_SHUTDOWN_NONE 775,21186 - IPR_SHUTDOWN_NONE = 0x100775,21186 -struct ipr_trace_entry ipr_trace_entry778,21217 -#define IPR_TRACE_START 783,21277 -#define IPR_TRACE_FINISH 784,21308 -struct ipr_sglist ipr_sglist795,21437 -enum ipr_sdt_state ipr_sdt_state802,21539 - INACTIVE,803,21560 - WAIT_FOR_DUMP,804,21571 - GET_DUMP,805,21587 - ABORT_DUMP,806,21598 - DUMP_OBTAINED807,21611 -struct ipr_ioa_cfg ipr_ioa_cfg811,21656 -#define IPR_EYECATCHER 813,21699 -#define IPR_MAX_LOG_LEVEL 829,21985 -#define IPR_DEFAULT_LOG_LEVEL 830,22015 -#define IPR_NUM_TRACE_INDEX_BITS 832,22049 -#define IPR_NUM_TRACE_ENTRIES 833,22084 -#define IPR_TRACE_SIZE 834,22147 -#define IPR_TRACE_START_LABEL 836,22249 -#define IPR_FREEQ_LABEL 844,22433 -#define IPR_PENDQ_LABEL 851,22588 -#define IPR_CFG_TBL_START 855,22679 -#define IPR_RES_TABLE_LABEL 860,22808 -#define IPR_HCAM_LABEL 866,22974 -#define IPR_HRRQ_REQ_RESP_HANDLE_MASK 874,23206 -#define IPR_HRRQ_RESP_BIT_SET 875,23255 -#define IPR_HRRQ_TOGGLE_BIT 876,23298 -#define IPR_HRRQ_REQ_RESP_HANDLE_SHIFT 877,23340 -#define IPR_CMD_LABEL 919,24265 -struct ipr_cmnd ipr_cmnd924,24396 -struct ipr_ses_table_entry ipr_ses_table_entry952,25104 -struct ipr_dump_header ipr_dump_header958,25258 -#define IPR_DUMP_EYE_CATCHER 960,25301 -#define IPR_DUMP_STATUS_SUCCESS 965,25408 -#define IPR_DUMP_STATUS_QUAL_SUCCESS 966,25444 -#define IPR_DUMP_STATUS_FAILED 967,25484 -#define IPR_DUMP_OS_LINUX 969,25537 -#define IPR_DUMP_DRIVER_NAME 971,25592 -struct ipr_dump_entry_header ipr_dump_entry_header974,25672 -#define IPR_DUMP_EYE_CATCHER 976,25721 -#define IPR_DUMP_DATA_TYPE_ASCII 981,25817 -#define IPR_DUMP_DATA_TYPE_BINARY 982,25861 -#define IPR_DUMP_IOA_DUMP_ID 984,25915 -#define IPR_DUMP_LOCATION_ID 985,25956 -#define IPR_DUMP_TRACE_ID 986,25997 -#define IPR_DUMP_DRIVER_VERSION_ID 987,26035 -#define IPR_DUMP_DRIVER_TYPE_ID 988,26081 -#define IPR_DUMP_IOA_CTRL_BLK 989,26124 -#define IPR_DUMP_PEND_OPS 990,26166 -struct ipr_dump_location_entry ipr_dump_location_entry994,26257 -struct ipr_dump_trace_entry ipr_dump_trace_entry999,26379 -struct ipr_dump_version_entry ipr_dump_version_entry1004,26526 -struct ipr_dump_ioa_type_entry ipr_dump_ioa_type_entry1009,26638 -struct ipr_driver_dump ipr_driver_dump1015,26738 -struct ipr_ioa_dump ipr_ioa_dump1023,27003 -#define IPR_SDT_FMT2 1031,27189 -#define IPR_SDT_UNKNOWN 1032,27213 -struct ipr_dump ipr_dump1035,27280 -struct ipr_error_table_t ipr_error_table_t1042,27419 -struct ipr_software_inq_lid_info ipr_software_inq_lid_info1049,27507 -struct ipr_ucode_image_header ipr_ucode_image_header1054,27623 -#define IPR_DBG_CMD(IPR_DBG_CMD1070,27949 -#define IPR_DBG_CMD(IPR_DBG_CMD1072,28002 -#define ipr_breakpoint_data 1075,28035 -#define ipr_breakpoint 1080,28219 -#define ipr_breakpoint_or_die 1081,28286 -#define ipr_breakpoint1083,28366 -#define ipr_breakpoint_or_die 1084,28389 -#define ipr_create_trace_file(ipr_create_trace_file1088,28483 -#define ipr_remove_trace_file(ipr_remove_trace_file1089,28559 -#define ipr_create_trace_file(ipr_create_trace_file1091,28641 -#define ipr_remove_trace_file(ipr_remove_trace_file1092,28685 -#define ipr_create_dump_file(ipr_create_dump_file1096,28779 -#define ipr_remove_dump_file(ipr_remove_dump_file1097,28854 -#define ipr_create_dump_file(ipr_create_dump_file1099,28935 -#define ipr_remove_dump_file(ipr_remove_dump_file1100,28978 -#define ipr_err(ipr_err1106,29074 -#define ipr_info(ipr_info1107,29137 -#define ipr_crit(ipr_crit1108,29202 -#define ipr_warn(ipr_warn1109,29267 -#define ipr_dbg(ipr_dbg1110,29334 -#define ipr_sdev_printk(ipr_sdev_printk1112,29412 -#define ipr_sdev_err(ipr_sdev_err1116,29584 -#define ipr_sdev_info(ipr_sdev_info1119,29677 -#define ipr_sdev_dbg(ipr_sdev_dbg1122,29772 -#define ipr_res_printk(ipr_res_printk1125,29879 -#define ipr_res_err(ipr_res_err1129,30055 -#define ipr_res_dbg(ipr_res_dbg1131,30161 -#define ipr_trace 1134,30282 -#define ENTER 1138,30385 -#define LEAVE 1139,30457 -#define ENTER1141,30534 -#define LEAVE1142,30548 -#define ipr_err_separator 1145,30570 -static inline int ipr_is_ioa_resource(1160,30839 -static inline int ipr_is_af_dasd_device(1172,31133 -static inline int ipr_is_vset_device(1189,31524 -static inline int ipr_is_gscsi(1206,31928 -static inline int ipr_is_device(1222,32277 -static inline int ipr_sdt_is_fmt2(1238,32615 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTSchip.h,4296 -#define CPQFCTSCHIP_H22,876 -#define FC_PH42 28,1049 -#define FC_PH43 29,1072 -#define FC_PH3 30,1095 -#define TACHLITE_TS_RX_SIZE 32,1118 -#define IVENDID 35,1212 -#define IDEVID 36,1245 -#define ITLCFGCMD 37,1269 -#define IMEMBASE 38,1292 -#define ITLMEMBASE 39,1330 -#define IIOBASEL 40,1369 -#define IIOBASEU 41,1441 -#define ITLIOBASEL 42,1513 -#define ITLIOBASEU 43,1586 -#define ITLRAMBASE 44,1659 -#define ISROMBASE 45,1711 -#define IROMBASE 46,1735 -#define ICFGCMD 48,1760 -#define ICFGSTAT 49,1828 -#define IRCTR_WCTR 50,1880 -#define IPCIMCTR 51,1947 -#define IINTPEND 52,2005 -#define IINTEN 53,2080 -#define IINTSTAT 54,2155 -#define IMQ_BASE 56,2231 -#define IMQ_LENGTH 57,2264 -#define IMQ_CONSUMER_INDEX 58,2297 -#define IMQ_PRODUCER_INDEX 59,2330 -#define TL_MEM_ERQ_BASE 96,3787 -#define TL_IO_ERQ_BASE 97,3845 -#define TL_MEM_ERQ_LENGTH 99,3904 -#define TL_IO_ERQ_LENGTH 100,3964 -#define TL_MEM_ERQ_PRODUCER_INDEX 102,4025 -#define TL_IO_ERQ_PRODUCER_INDEX 103,4103 -#define TL_MEM_ERQ_CONSUMER_INDEX_ADR 105,4182 -#define TL_IO_ERQ_CONSUMER_INDEX_ADR 106,4262 -#define TL_MEM_ERQ_CONSUMER_INDEX 108,4343 -#define TL_IO_ERQ_CONSUMER_INDEX 109,4407 -#define TL_MEM_SFQ_BASE 111,4472 -#define TL_IO_SFQ_BASE 112,4526 -#define TL_MEM_SFQ_LENGTH 114,4581 -#define TL_IO_SFQ_LENGTH 115,4637 -#define TL_MEM_SFQ_CONSUMER_INDEX 117,4694 -#define TL_IO_SFQ_CONSUMER_INDEX 118,4758 -#define TL_MEM_IMQ_BASE 120,4823 -#define TL_IO_IMQ_BASE 121,4877 -#define TL_MEM_IMQ_LENGTH 123,4932 -#define TL_IO_IMQ_LENGTH 124,4988 -#define TL_MEM_IMQ_CONSUMER_INDEX 126,5045 -#define TL_IO_IMQ_CONSUMER_INDEX 127,5109 -#define TL_MEM_IMQ_PRODUCER_INDEX_ADR 129,5174 -#define TL_IO_IMQ_PRODUCER_INDEX_ADR 130,5255 -#define TL_MEM_SEST_BASE 132,5337 -#define TL_IO_SEST_BASE 133,5392 -#define TL_MEM_SEST_LENGTH 135,5447 -#define TL_IO_SEST_LENGTH 136,5504 -#define TL_MEM_SEST_LINKED_LIST 138,5561 -#define TL_MEM_SEST_SG_PAGE 140,5606 -#define TL_MEM_TACH_My_ID 142,5689 -#define TL_IO_TACH_My_ID 143,5733 -#define TL_MEM_TACH_CONFIG 145,5791 -#define TL_IO_CONFIG 146,5869 -#define TL_MEM_TACH_CONTROL 148,5947 -#define TL_IO_CTR 149,6019 -#define TL_MEM_TACH_STATUS 151,6091 -#define TL_IO_STAT 152,6162 -#define TL_MEM_FM_CONFIG 154,6233 -#define TL_IO_FM_CONFIG 155,6310 -#define TL_MEM_FM_CONTROL 157,6387 -#define TL_IO_FM_CTL 158,6449 -#define TL_MEM_FM_STATUS 160,6511 -#define TL_IO_FM_STAT 161,6572 -#define TL_MEM_FM_LINK_STAT1 163,6633 -#define TL_IO_FM_LINK_STAT1 164,6701 -#define TL_MEM_FM_LINK_STAT2 166,6769 -#define TL_IO_FM_LINK_STAT2 167,6837 -#define TL_MEM_FM_TIMEOUT2 169,6905 -#define TL_MEM_FM_BB_CREDIT0 171,6953 -#define TL_MEM_FM_WWN_HI 173,6992 -#define TL_IO_FM_WWN_HI 174,7067 -#define TL_MEM_FM_WWN_LO 176,7142 -#define TL_IO_FM_WWN_LO 177,7216 -#define TL_MEM_FM_RCV_AL_PA 179,7290 -#define TL_IO_FM_ALPA 180,7368 -#define TL_MEM_FM_ED_TOV 182,7446 -#define TL_IO_ROMCTR 184,7488 -#define TL_IO_PCIMCTR 185,7555 -#define TL_IO_SOFTRST 186,7625 -#define TL_MEM_SOFTRST 187,7696 -#define OUTBOUND_COMPLETION 191,7846 -#define ERROR_IDLE_COMPLETION 192,7883 -#define OUT_HI_PRI_COMPLETION 193,7920 -#define INBOUND_MFS_COMPLETION 194,7957 -#define INBOUND_000_COMPLETION 195,7994 -#define INBOUND_SFS_COMPLETION 196,8031 -#define ERQ_FROZEN_COMPLETION 197,8091 -#define INBOUND_C1_TIMEOUT 198,8141 -#define INBOUND_BUSIED_FRAME 199,8178 -#define SFS_BUF_WARN 200,8215 -#define FCP_FROZEN_COMPLETION 201,8252 -#define MFS_BUF_WARN 202,8302 -#define IMQ_BUF_WARN 203,8339 -#define FRAME_MGR_INTERRUPT 204,8376 -#define READ_STATUS 205,8413 -#define INBOUND_SCSI_DATA_COMPLETION 206,8450 -#define INBOUND_FCP_XCHG_COMPLETION 207,8493 -#define INBOUND_SCSI_DATA_COMMAND 208,8549 -#define BAD_SCSI_FRAME 209,8592 -#define INB_SCSI_STATUS_COMPLETION 210,8635 -#define BUFFER_PROCESSED_COMPLETION 211,8678 -#define MONITORING 215,8792 -#define ARBITRATING 216,8815 -#define ARBITRAT_WON 217,8839 -#define OPEN 218,8864 -#define OPENED 219,8881 -#define XMITTD_CLOSE 220,8900 -#define RCVD_CLOSE 221,8925 -#define TRANSFER 222,8948 -#define INITIALIZING 225,8994 -#define O_I_INIT 226,9019 -#define O_I_PROTOCOL 227,9040 -#define O_I_LIP_RCVD 228,9065 -#define HOST_CONTROL 229,9090 -#define LOOP_FAIL 230,9115 -#define OLD_PORT 232,9149 -#define TACHYON_CHIP_INC236,9173 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cyberstormII.c,802 -#define CYBERII_ESP_ADDR 43,991 -#define CYBERII_DMA_ADDR 44,1024 -struct cyberII_dma_registers cyberII_dma_registers48,1097 -#define ctrl_reg 50,1201 -#define CYBERII_DMA_LED 62,1668 -static volatile unsigned char cmd_buffer[77,2407 -int __init cyberII_esp_detect(84,2651 -static int dma_bytes_sent(176,5299 -static int dma_can_transfer(186,5656 -static void dma_dump_state(197,5929 -static void dma_init_read(206,6189 -static void dma_init_write(220,6561 -static void dma_ints_off(234,6930 -static void dma_ints_on(239,7005 -static int dma_irq_p(244,7078 -static void dma_led_off(250,7252 -static void dma_led_on(255,7381 -static int dma_ports_p(260,7508 -static void dma_setup(265,7596 -#define HOSTS_C277,7903 -int cyberII_esp_release(279,7920 -static Scsi_Host_Template driver_template 293,8262 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/psi_dale.h,10493 -#define CHAR 25,913 -#define UCHAR 26,932 -#define SHORT 27,961 -#define USHORT 28,982 -#define BOOL 29,1013 -#define LONG 30,1042 -#define ULONG 31,1061 -#define VOID 32,1090 -#define VENDOR_PSI 37,1240 -#define DEVICE_DALE_1 38,1268 -#define DEVICE_BIGD_1 39,1310 -#define DEVICE_BIGD_2 40,1352 -#define DALE_MAXDRIVES 45,1525 -#define BIGD_MAXDRIVES 46,1552 -#define SECTORSXFER 47,1579 -#define ATAPI_TRANSFER 48,1604 -#define BYTES_PER_SECTOR 49,1634 -#define DEFAULT_TIMING_MODE 50,1664 -#define DALE_FLASH_PAGE_SIZE 55,1827 -#define DALE_FLASH_SIZE 56,1891 -#define DALE_FLASH_BIOS 58,1925 -#define DALE_FLASH_SETUP 59,1985 -#define DALE_FLASH_RAID 60,2071 -#define DALE_FLASH_FACTORY 61,2136 -#define DALE_FLASH_BIOS_SIZE 63,2224 -#define REG_DATA 68,2433 -#define REG_ERROR 69,2459 -#define REG_SECTOR_COUNT 70,2486 -#define REG_LBA_0 71,2518 -#define REG_LBA_8 72,2545 -#define REG_LBA_16 73,2572 -#define REG_LBA_24 74,2600 -#define REG_STAT_CMD 75,2628 -#define REG_STAT_SEL 76,2657 -#define REG_FAIL 77,2686 -#define REG_ALT_STAT 78,2712 -#define REG_DRIVE_ADRS 79,2741 -#define DALE_DATA_SLOW 81,2773 -#define DALE_DATA_MODE2 82,2811 -#define DALE_DATA_MODE3 83,2850 -#define DALE_DATA_MODE4 84,2889 -#define DALE_DATA_MODE5 85,2928 -#define BIGD_DATA_SLOW 87,2968 -#define BIGD_DATA_MODE0 88,3006 -#define BIGD_DATA_MODE2 89,3045 -#define BIGD_DATA_MODE3 90,3084 -#define BIGD_DATA_MODE4 91,3123 -#define BIGD_DATA_MODE5 92,3162 -#define RTR_LOCAL_RANGE 94,3202 -#define RTR_LOCAL_REMAP 95,3235 -#define RTR_EXP_RANGE 96,3268 -#define RTR_EXP_REMAP 97,3299 -#define RTR_REGIONS 98,3330 -#define RTR_DM_MASK 99,3360 -#define RTR_DM_LOCAL_BASE 100,3390 -#define RTR_DM_IO_BASE 101,3424 -#define RTR_DM_PCI_REMAP 102,3456 -#define RTR_DM_IO_CONFIG 103,3489 -#define RTR_MAILBOX 104,3522 -#define RTR_LOCAL_DOORBELL 105,3552 -#define RTR_PCI_DOORBELL 106,3587 -#define RTR_INT_CONTROL_STATUS 107,3620 -#define RTR_EEPROM_CONTROL_STATUS 108,3659 -#define RTR_DMA0_MODE 110,3700 -#define RTR_DMA0_PCI_ADDR 111,3732 -#define RTR_DMA0_LOCAL_ADDR 112,3767 -#define RTR_DMA0_COUNT 113,3804 -#define RTR_DMA0_DESC_PTR 114,3837 -#define RTR_DMA1_MODE 115,3872 -#define RTR_DMA1_PCI_ADDR 116,3904 -#define RTR_DMA1_LOCAL_ADDR 117,3939 -#define RTR_DMA1_COUNT 118,3976 -#define RTR_DMA1_DESC_PTR 119,4009 -#define RTR_DMA_COMMAND_STATUS 120,4044 -#define RTR_DMA_ARB0 121,4083 -#define RTR_DMA_ARB1 122,4114 -#define RTL_DMA0_MODE 124,4146 -#define RTL_DMA0_PCI_ADDR 125,4176 -#define RTL_DMA0_LOCAL_ADDR 126,4209 -#define RTL_DMA0_COUNT 127,4244 -#define RTL_DMA0_DESC_PTR 128,4275 -#define RTL_DMA1_MODE 129,4308 -#define RTL_DMA1_PCI_ADDR 130,4338 -#define RTL_DMA1_LOCAL_ADDR 131,4371 -#define RTL_DMA1_COUNT 132,4406 -#define RTL_DMA1_DESC_PTR 133,4437 -#define RTL_DMA_COMMAND_STATUS 134,4470 -#define RTL_DMA_ARB0 135,4507 -#define RTL_DMA_ARB1 136,4536 -#define DALE_CHANNEL_DEVICE_0 141,4704 -#define DALE_CHANNEL_DEVICE_1 142,4766 -#define DALE_CHANNEL_DEVICE_2 143,4799 -#define DALE_CHANNEL_DEVICE_3 144,4832 -#define DALE_SCRATCH_DEVICE_0 146,4866 -#define DALE_SCRATCH_DEVICE_1 147,4921 -#define DALE_SCRATCH_DEVICE_2 148,4954 -#define DALE_SCRATCH_DEVICE_3 149,4987 -#define DALE_RAID_0_STATUS 151,5021 -#define DALE_RAID_1_STATUS 152,5052 -#define DALE_TIMING_MODE 154,5084 -#define DALE_NUM_DRIVES 155,5154 -#define DALE_RAID_ON 156,5231 -#define DALE_LAST_ERROR 157,5278 -#define BIGD_DEVICE_0 162,5477 -#define BIGD_DEVICE_1 163,5532 -#define BIGD_DEVICE_2 164,5558 -#define BIGD_DEVICE_3 165,5584 -#define BIGD_DEVICE_4 167,5611 -#define BIGD_DEVICE_5 168,5659 -#define BIGD_DEVICE_6 169,5685 -#define BIGD_DEVICE_7 170,5711 -#define BIGD_ALARM_IMAGE 172,5738 -#define BIGD_TIMING_MODE 173,5803 -#define BIGD_NUM_DRIVES 174,5872 -#define BIGD_RAID_ON 175,5948 -#define BIGD_LAST_ERROR 176,6017 -#define BIGD_RAID_0_STATUS 178,6077 -#define BIGD_RAID_1_STATUS 179,6108 -#define BIGD_RAID_2_STATUS 180,6139 -#define BIGD_RAID_3_STATUS 181,6170 -#define BIGD_RAID_4_STATUS 182,6201 -#define BIGD_RAID_5_STATUS 183,6232 -#define BIGD_RAID_6_STATUS 184,6263 -#define BIGD_RAID_7_STATUS 185,6294 -#define SEL_NONE 190,6462 -#define SEL_1 191,6488 -#define SEL_2 192,6512 -#define SEL_3 193,6536 -#define SEL_4 194,6560 -#define SEL_NEW_SPEED_1 195,6584 -#define SEL_COPY 196,6616 -#define SEL_IRQ_OFF 197,6642 -#define GEOMETRY_NONE 202,6809 -#define GEOMETRY_SET 203,6855 -#define GEOMETRY_LBA 204,6902 -#define GEOMETRY_PHOENIX 205,6969 -#define DEVICE_NONE 207,7055 -#define DEVICE_INACTIVE 208,7107 -#define DEVICE_ATAPI 209,7185 -#define DEVICE_DASD_NONLBA 210,7255 -#define DEVICE_DASD_LBA 211,7322 -#define FAIL_NONE 216,7519 -#define FAIL_0 217,7545 -#define FAIL_1 218,7569 -#define FAIL_2 219,7593 -#define FAIL_MULTIPLE 220,7617 -#define FAIL_GOOD 221,7646 -#define FAIL_AUDIBLE 222,7672 -#define FAIL_ANY 223,7700 - } SETUP_DEVICE, *PSETUP_DEVICE;PSETUP_DEVICE237,8278 - } SETUP, *PSETUP;PSETUP250,8569 - } DISK_MIRROR;DISK_MIRROR261,8958 -typedef struct DEVICE_RAID1DEVICE_RAID1263,8975 - } DEVICE_RAID1, *PDEVICE_RAID1;PDEVICE_RAID1267,9051 -#define DISK_MIRROR_POSITION 269,9085 -#define SIGNATURE 270,9121 -#define MASK_SERIAL_NUMBER 272,9148 -#define MASK_SERIAL_UNIT 273,9219 -#define UCBF_MIRRORED 276,9311 -#define UCBF_MATCHED 277,9368 -#define UCBF_SURVIVOR 278,9429 -#define UCBF_REBUILD 279,9503 -#define SC_MY_RAID 282,9604 -#define MY_SCSI_QUERY1 283,9687 -#define MY_SCSI_REBUILD 284,9780 -#define MY_SCSI_DEMOFAIL 285,9864 -#define MY_SCSI_ALARMMUTE 286,9948 -#define TIMEOUT_READY 291,10167 -#define TIMEOUT_DRQ 292,10210 -#define TIMEOUT_DATA 293,10252 -#define ANY2SCSI(ANY2SCSI298,10428 -#define SCSI2LONG(SCSI2LONG302,10534 -#define XANY2SCSI(XANY2SCSI307,10671 -#define XSCSI2LONG(XSCSI2LONG313,10853 -#define SelectSpigot(SelectSpigot319,11031 -#define WriteCommand(WriteCommand320,11107 -#define AtapiDevice(AtapiDevice321,11178 -#define AtapiCountLo(AtapiCountLo322,11244 -#define AtapiCountHi(AtapiCountHi323,11308 -#define SCSIOP_TEST_UNIT_READY 328,11512 -#define SCSIOP_REZERO_UNIT 329,11549 -#define SCSIOP_REWIND 330,11583 -#define SCSIOP_REQUEST_BLOCK_ADDR 331,11613 -#define SCSIOP_REQUEST_SENSE 332,11652 -#define SCSIOP_FORMAT_UNIT 333,11687 -#define SCSIOP_READ_BLOCK_LIMITS 334,11721 -#define SCSIOP_REASSIGN_BLOCKS 335,11759 -#define SCSIOP_READ6 336,11796 -#define SCSIOP_RECEIVE 337,11825 -#define SCSIOP_WRITE6 338,11856 -#define SCSIOP_PRINT 339,11886 -#define SCSIOP_SEND 340,11915 -#define SCSIOP_SEEK6 341,11944 -#define SCSIOP_TRACK_SELECT 342,11973 -#define SCSIOP_SLEW_PRINT 343,12008 -#define SCSIOP_SEEK_BLOCK 344,12041 -#define SCSIOP_PARTITION 345,12074 -#define SCSIOP_READ_REVERSE 346,12106 -#define SCSIOP_WRITE_FILEMARKS 347,12141 -#define SCSIOP_FLUSH_BUFFER 348,12178 -#define SCSIOP_SPACE 349,12213 -#define SCSIOP_INQUIRY 350,12242 -#define SCSIOP_VERIFY6 351,12273 -#define SCSIOP_RECOVER_BUF_DATA 352,12304 -#define SCSIOP_MODE_SELECT 353,12342 -#define SCSIOP_RESERVE_UNIT 354,12376 -#define SCSIOP_RELEASE_UNIT 355,12411 -#define SCSIOP_COPY 356,12446 -#define SCSIOP_ERASE 357,12475 -#define SCSIOP_MODE_SENSE 358,12504 -#define SCSIOP_START_STOP_UNIT 359,12537 -#define SCSIOP_STOP_PRINT 360,12574 -#define SCSIOP_LOAD_UNLOAD 361,12607 -#define SCSIOP_RECEIVE_DIAGNOSTIC 362,12641 -#define SCSIOP_SEND_DIAGNOSTIC 363,12680 -#define SCSIOP_MEDIUM_REMOVAL 364,12717 -#define SCSIOP_READ_CAPACITY 365,12753 -#define SCSIOP_READ 366,12788 -#define SCSIOP_WRITE 367,12817 -#define SCSIOP_SEEK 368,12846 -#define SCSIOP_LOCATE 369,12875 -#define SCSIOP_WRITE_VERIFY 370,12905 -#define SCSIOP_VERIFY 371,12940 -#define SCSIOP_SEARCH_DATA_HIGH 372,12970 -#define SCSIOP_SEARCH_DATA_EQUAL 373,13008 -#define SCSIOP_SEARCH_DATA_LOW 374,13046 -#define SCSIOP_SET_LIMITS 375,13083 -#define SCSIOP_READ_POSITION 376,13116 -#define SCSIOP_SYNCHRONIZE_CACHE 377,13151 -#define SCSIOP_COMPARE 378,13189 -#define SCSIOP_COPY_COMPARE 379,13220 -#define SCSIOP_WRITE_DATA_BUFF 380,13255 -#define SCSIOP_READ_DATA_BUFF 381,13292 -#define SCSIOP_CHANGE_DEFINITION 382,13328 -#define SCSIOP_READ_SUB_CHANNEL 383,13366 -#define SCSIOP_READ_TOC 384,13404 -#define SCSIOP_READ_HEADER 385,13436 -#define SCSIOP_PLAY_AUDIO 386,13470 -#define SCSIOP_PLAY_AUDIO_MSF 387,13503 -#define SCSIOP_PLAY_TRACK_INDEX 388,13539 -#define SCSIOP_PLAY_TRACK_RELATIVE 389,13577 -#define SCSIOP_PAUSE_RESUME 390,13617 -#define SCSIOP_LOG_SELECT 391,13652 -#define SCSIOP_LOG_SENSE 392,13685 -#define SCSIOP_MODE_SELECT10 393,13717 -#define SCSIOP_MODE_SENSE10 394,13752 -#define SCSIOP_LOAD_UNLOAD_SLOT 395,13787 -#define SCSIOP_MECHANISM_STATUS 396,13825 -#define SCSIOP_READ_CD 397,13863 -#define IDE_COMMAND_ATAPI_RESET 400,13922 -#define IDE_COMMAND_READ 401,13960 -#define IDE_COMMAND_WRITE 402,13992 -#define IDE_COMMAND_RECALIBRATE 403,14025 -#define IDE_COMMAND_SEEK 404,14063 -#define IDE_COMMAND_SET_PARAMETERS 405,14095 -#define IDE_COMMAND_VERIFY 406,14135 -#define IDE_COMMAND_ATAPI_PACKET 407,14169 -#define IDE_COMMAND_ATAPI_IDENTIFY 408,14207 -#define IDE_CMD_READ_MULTIPLE 409,14247 -#define IDE_CMD_WRITE_MULTIPLE 410,14283 -#define IDE_CMD_SET_MULTIPLE 411,14320 -#define IDE_COMMAND_IDENTIFY 412,14355 -#define IDE_STATUS_ERROR 415,14417 -#define IDE_STATUS_INDEX 416,14449 -#define IDE_STATUS_CORRECTED_ERROR 417,14481 -#define IDE_STATUS_DRQ 418,14521 -#define IDE_STATUS_DSC 419,14552 -#define IDE_STATUS_WRITE_FAULT 420,14583 -#define IDE_STATUS_DRDY 421,14620 -#define IDE_STATUS_BUSY 422,14652 -typedef struct _ATAPI_STATUS_ATAPI_STATUS424,14685 - } ATAPI_STATUS;ATAPI_STATUS434,14854 -typedef struct _ATAPI_REASON_ATAPI_REASON436,14872 - } ATAPI_REASON;ATAPI_REASON441,14955 -typedef struct _ATAPI_ERROR_ATAPI_ERROR443,14973 - } ATAPI_ERROR;ATAPI_ERROR450,15088 -#define IDE_ERROR_AMNF 453,15130 -#define IDE_ERROR_TKONF 454,15161 -#define IDE_ERROR_ABRT 455,15193 -#define IDE_ERROR_MCR 456,15224 -#define IDE_ERROR_IDFN 457,15254 -#define IDE_ERROR_MC 458,15285 -#define IDE_ERROR_UNC 459,15314 -#define IDE_ERROR_BBK 460,15344 -typedef struct _READ_CAPACITY_DATA_READ_CAPACITY_DATA463,15407 - } READ_CAPACITY_DATA, *PREAD_CAPACITY_DATA;PREAD_CAPACITY_DATA467,15574 -typedef struct _INQUIRYDATA_INQUIRYDATA470,15641 - } INQUIRYDATA, *PINQUIRYDATA;PINQUIRYDATA493,16227 -typedef struct _IDENTIFY_DATA_IDENTIFY_DATA497,16297 - } IDENTIFY_DATA, *PIDENTIFY_DATA;PIDENTIFY_DATA550,18995 -typedef struct _ATAPI_GENERAL_0_ATAPI_GENERAL_0553,19059 - } ATAPI_GENERAL_0;ATAPI_GENERAL_0562,19293 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dec_esp.c,1725 -#define DEC_SCSI_SREG 48,1318 -#define DEC_SCSI_DMAREG 49,1342 -#define DEC_SCSI_SRAM 50,1374 -#define DEC_SCSI_DIAG 51,1404 -#define TC_ESP_RAM_SIZE 83,2988 -#define ESP_TGT_DMA_SIZE 84,3020 -#define ESP_NCMD 85,3086 -#define TC_ESP_DMAR_MASK 87,3106 -#define TC_ESP_DMAR_WRITE 88,3140 -#define TC_ESP_DMA_ADDR(TC_ESP_DMA_ADDR89,3177 -__u32 esp_virt_buffer;91,3240 -int scsi_current_length;92,3263 -volatile unsigned char cmd_buffer[94,3289 -volatile unsigned char pmaz_cmd_buffer[95,3328 -volatile unsigned long *scsi_dma_ptr;101,3488 -volatile unsigned long *scsi_next_ptr;102,3526 -volatile unsigned long *scsi_scr;103,3565 -volatile unsigned long *ioasic_ssr;104,3599 -volatile unsigned long *scsi_sdr0;105,3635 -volatile unsigned long *scsi_sdr1;106,3670 -static int dec_esp_release(112,3812 -static Scsi_Host_Template driver_template 122,4045 -int dec_esp_detect(145,4647 -static void scsi_dma_int(316,9323 -static int dma_bytes_sent(345,10031 -static void dma_drain(350,10122 -static int dma_can_transfer(379,10769 -static void dma_dump_state(384,10870 -static void dma_init_read(392,11078 -static void dma_init_write(417,11647 -static void dma_ints_off(442,12217 -static void dma_ints_on(447,12296 -static int dma_irq_p(452,12373 -static int dma_ports_p(457,12473 -static void dma_setup(465,12572 -static void dma_mmu_get_scsi_one(481,12933 -static void dma_mmu_get_scsi_sgl(486,13057 -static void dma_advance_sg(498,13389 -static void pmaz_dma_drain(503,13509 -static void pmaz_dma_init_read(510,13693 -static void pmaz_dma_init_write(523,14048 -static void pmaz_dma_ints_off(535,14418 -static void pmaz_dma_ints_on(539,14474 -static void pmaz_dma_setup(543,14529 -static void pmaz_dma_mmu_get_scsi_one(556,14857 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old/aic7xxx_reg.h,13818 -#define SCSISEQ 5,65 -#define TEMODE 6,96 -#define ENSELO 7,127 -#define ENSELI 8,158 -#define ENRSELI 9,189 -#define ENAUTOATNO 10,220 -#define ENAUTOATNI 11,251 -#define ENAUTOATNP 12,282 -#define SCSIRSTO 13,313 -#define SXFRCTL0 15,345 -#define DFON 16,376 -#define DFPEXP 17,407 -#define FAST20 18,438 -#define CLRSTCNT 19,469 -#define SPIOEN 20,500 -#define SCAMEN 21,531 -#define CLRCHN 22,562 -#define SXFRCTL1 24,594 -#define BITBUCKET 25,625 -#define SWRAPEN 26,656 -#define ENSPCHK 27,687 -#define STIMESEL 28,718 -#define ENSTIMER 29,749 -#define ACTNEGEN 30,780 -#define STPWEN 31,811 -#define SCSISIGO 33,843 -#define CDO 34,874 -#define IOO 35,905 -#define MSGO 36,936 -#define ATNO 37,967 -#define SELO 38,998 -#define BSYO 39,1029 -#define REQO 40,1060 -#define ACKO 41,1091 -#define SCSISIGI 43,1123 -#define ATNI 44,1154 -#define SELI 45,1185 -#define BSYI 46,1216 -#define REQI 47,1247 -#define ACKI 48,1278 -#define SCSIRATE 50,1310 -#define WIDEXFER 51,1341 -#define SXFR_ULTRA2 52,1372 -#define SXFR 53,1403 -#define SOFS 54,1434 -#define SCSIID 56,1466 -#define SCSIOFFSET 57,1497 -#define SOFS_ULTRA2 58,1528 -#define SCSIDATL 60,1560 -#define SCSIDATH 62,1592 -#define STCNT 64,1624 -#define OPTIONMODE 66,1656 -#define AUTORATEEN 67,1687 -#define AUTOACKEN 68,1718 -#define ATNMGMNTEN 69,1749 -#define BUSFREEREV 70,1780 -#define EXPPHASEDIS 71,1811 -#define SCSIDATL_IMGEN 72,1842 -#define AUTO_MSGOUT_DE 73,1873 -#define DIS_MSGIN_DUALEDGE 74,1904 -#define CLRSINT0 76,1938 -#define CLRSELDO 77,1969 -#define CLRSELDI 78,2000 -#define CLRSELINGO 79,2031 -#define CLRSWRAP 80,2062 -#define CLRSPIORDY 81,2093 -#define SSTAT0 83,2125 -#define TARGET 84,2156 -#define SELDO 85,2187 -#define SELDI 86,2218 -#define SELINGO 87,2249 -#define IOERR 88,2280 -#define SWRAP 89,2311 -#define SDONE 90,2342 -#define SPIORDY 91,2373 -#define DMADONE 92,2404 -#define CLRSINT1 94,2436 -#define CLRSELTIMEO 95,2467 -#define CLRATNO 96,2498 -#define CLRSCSIRSTI 97,2529 -#define CLRBUSFREE 98,2560 -#define CLRSCSIPERR 99,2591 -#define CLRPHASECHG 100,2622 -#define CLRREQINIT 101,2653 -#define SSTAT1 103,2685 -#define SELTO 104,2716 -#define ATNTARG 105,2747 -#define SCSIRSTI 106,2778 -#define PHASEMIS 107,2809 -#define BUSFREE 108,2840 -#define SCSIPERR 109,2871 -#define PHASECHG 110,2902 -#define REQINIT 111,2933 -#define SSTAT2 113,2965 -#define OVERRUN 114,2996 -#define SHVALID 115,3027 -#define WIDE_RES 116,3058 -#define SFCNT 117,3089 -#define EXP_ACTIVE 118,3120 -#define CRCVALERR 119,3151 -#define CRCENDERR 120,3182 -#define CRCREQERR 121,3213 -#define DUAL_EDGE_ERROR 122,3244 -#define SSTAT3 124,3276 -#define SCSICNT 125,3307 -#define OFFCNT 126,3338 -#define SCSIID_ULTRA2 128,3370 -#define OID 129,3401 -#define SIMODE0 131,3433 -#define ENSELDO 132,3464 -#define ENSELDI 133,3495 -#define ENSELINGO 134,3526 -#define ENIOERR 135,3557 -#define ENSWRAP 136,3588 -#define ENSDONE 137,3619 -#define ENSPIORDY 138,3650 -#define ENDMADONE 139,3681 -#define SIMODE1 141,3713 -#define ENSELTIMO 142,3744 -#define ENATNTARG 143,3775 -#define ENSCSIRST 144,3806 -#define ENPHASEMIS 145,3837 -#define ENBUSFREE 146,3868 -#define ENSCSIPERR 147,3899 -#define ENPHASECHG 148,3930 -#define ENREQINIT 149,3961 -#define SCSIBUSL 151,3993 -#define SCSIBUSH 153,4025 -#define SHADDR 155,4057 -#define SELTIMER 157,4089 -#define STAGE6 158,4120 -#define STAGE5 159,4151 -#define STAGE4 160,4182 -#define STAGE3 161,4213 -#define STAGE2 162,4244 -#define STAGE1 163,4275 -#define SELID 165,4307 -#define SELID_MASK 166,4338 -#define ONEBIT 167,4369 -#define SPIOCAP 169,4401 -#define SOFT1 170,4432 -#define SOFT0 171,4463 -#define SOFTCMDEN 172,4494 -#define HAS_BRDCTL 173,4525 -#define SEEPROM 174,4556 -#define EEPROM 175,4587 -#define ROM 176,4618 -#define SSPIOCPS 177,4649 -#define BRDCTL 179,4681 -#define BRDDAT7 180,4712 -#define BRDDAT6 181,4743 -#define BRDDAT5 182,4774 -#define BRDDAT4 183,4805 -#define BRDSTB 184,4836 -#define BRDCS 185,4867 -#define BRDDAT3 186,4898 -#define BRDDAT2 187,4929 -#define BRDRW 188,4960 -#define BRDRW_ULTRA2 189,4991 -#define BRDCTL1 190,5022 -#define BRDSTB_ULTRA2 191,5053 -#define BRDCTL0 192,5084 -#define SEECTL 194,5116 -#define EXTARBACK 195,5147 -#define EXTARBREQ 196,5178 -#define SEEMS 197,5209 -#define SEERDY 198,5240 -#define SEECS 199,5271 -#define SEECK 200,5302 -#define SEEDO 201,5333 -#define SEEDI 202,5364 -#define SBLKCTL 204,5396 -#define DIAGLEDEN 205,5427 -#define DIAGLEDON 206,5458 -#define AUTOFLUSHDIS 207,5489 -#define ENAB40 208,5520 -#define ENAB20 209,5551 -#define SELWIDE 210,5582 -#define XCVR 211,5613 -#define SRAM_BASE 213,5645 -#define TARG_SCSIRATE 215,5677 -#define ULTRA_ENB 217,5709 -#define DISC_DSB 219,5741 -#define MSG_OUT 221,5773 -#define DMAPARAMS 223,5805 -#define PRELOADEN 224,5836 -#define WIDEODD 225,5867 -#define SCSIEN 226,5898 -#define SDMAENACK 227,5929 -#define SDMAEN 228,5960 -#define HDMAEN 229,5991 -#define HDMAENACK 230,6022 -#define DIRECTION 231,6053 -#define FIFOFLUSH 232,6084 -#define FIFORESET 233,6115 -#define SEQ_FLAGS 235,6147 -#define IDENTIFY_SEEN 236,6178 -#define SCBPTR_VALID 237,6209 -#define DPHASE 238,6240 -#define AMTARGET 239,6271 -#define WIDE_BUS 240,6302 -#define TWIN_BUS 241,6333 -#define SAVED_TCL 243,6365 -#define SG_COUNT 245,6397 -#define SG_NEXT 247,6429 -#define LASTPHASE 249,6461 -#define P_MESGIN 250,6492 -#define PHASE_MASK 251,6523 -#define P_STATUS 252,6554 -#define P_MESGOUT 253,6585 -#define P_COMMAND 254,6616 -#define CDI 255,6647 -#define IOI 256,6678 -#define P_DATAIN 257,6709 -#define MSGI 258,6740 -#define P_BUSFREE 259,6771 -#define P_DATAOUT 260,6802 -#define WAITING_SCBH 262,6834 -#define DISCONNECTED_SCBH 264,6866 -#define FREE_SCBH 266,6899 -#define HSCB_ADDR 268,6931 -#define SCBID_ADDR 270,6963 -#define TMODE_CMDADDR 272,6995 -#define KERNEL_QINPOS 274,7027 -#define QINPOS 276,7059 -#define QOUTPOS 278,7091 -#define TMODE_CMDADDR_NEXT 280,7123 -#define ARG_1 282,7157 -#define RETURN_1 283,7188 -#define SEND_MSG 284,7219 -#define SEND_SENSE 285,7250 -#define SEND_REJ 286,7281 -#define MSGOUT_PHASEMIS 287,7312 -#define ARG_2 289,7344 -#define RETURN_2 290,7375 -#define LAST_MSG 292,7407 -#define PREFETCH_CNT 294,7439 -#define SCSICONF 296,7471 -#define TERM_ENB 297,7502 -#define RESET_SCSI 298,7533 -#define HWSCSIID 299,7564 -#define HSCSIID 300,7595 -#define HOSTCONF 302,7627 -#define HA_274_BIOSCTRL 304,7659 -#define BIOSMODE 305,7690 -#define BIOSDISABLED 306,7721 -#define CHANNEL_B_PRIMARY 307,7752 -#define SEQCTL 309,7785 -#define PERRORDIS 310,7816 -#define PAUSEDIS 311,7847 -#define FAILDIS 312,7878 -#define FASTMODE 313,7909 -#define BRKADRINTEN 314,7940 -#define STEP 315,7971 -#define SEQRESET 316,8002 -#define LOADRAM 317,8033 -#define SEQRAM 319,8065 -#define SEQADDR0 321,8097 -#define SEQADDR1 323,8129 -#define SEQADDR1_MASK 324,8160 -#define ACCUM 326,8192 -#define SINDEX 328,8224 -#define DINDEX 330,8256 -#define ALLONES 332,8288 -#define ALLZEROS 334,8320 -#define NONE 336,8352 -#define FLAGS 338,8384 -#define ZERO 339,8415 -#define CARRY 340,8446 -#define SINDIR 342,8478 -#define DINDIR 344,8510 -#define FUNCTION1 346,8542 -#define STACK 348,8574 -#define TARG_OFFSET 350,8606 -#define BCTL 352,8638 -#define ACE 353,8669 -#define ENABLE 354,8700 -#define DSCOMMAND0 356,8732 -#define INTSCBRAMSEL 357,8763 -#define RAMPS 358,8794 -#define USCBSIZE32 359,8825 -#define CIOPARCKEN 360,8856 -#define DSCOMMAND 362,8888 -#define CACHETHEN 363,8919 -#define DPARCKEN 364,8950 -#define MPARCKEN 365,8981 -#define EXTREQLCK 366,9012 -#define BUSTIME 368,9044 -#define BOFF 369,9075 -#define BON 370,9106 -#define BUSSPD 372,9138 -#define DFTHRSH 373,9169 -#define STBOFF 374,9200 -#define STBON 375,9231 -#define DSPCISTATUS 377,9263 -#define DFTHRSH_100 378,9294 -#define HCNTRL 380,9326 -#define POWRDN 381,9357 -#define SWINT 382,9388 -#define IRQMS 383,9419 -#define PAUSE 384,9450 -#define INTEN 385,9481 -#define CHIPRST 386,9512 -#define CHIPRSTACK 387,9543 -#define HADDR 389,9575 -#define HCNT 391,9607 -#define SCBPTR 393,9639 -#define INTSTAT 395,9671 -#define SEQINT_MASK 396,9702 -#define DATA_OVERRUN 397,9733 -#define MSGIN_PHASEMIS 398,9764 -#define TRACEPOINT2 399,9795 -#define SEQ_SG_FIXUP 400,9826 -#define AWAITING_MSG 401,9857 -#define RESIDUAL 402,9888 -#define BAD_STATUS 403,9919 -#define REJECT_MSG 404,9950 -#define WIDE_RESIDUE 405,9981 -#define EXTENDED_MSG 406,10012 -#define NO_MATCH 407,10043 -#define NO_IDENT 408,10074 -#define SEND_REJECT 409,10105 -#define INT_PEND 410,10136 -#define BRKADRINT 411,10167 -#define SCSIINT 412,10198 -#define CMDCMPLT 413,10229 -#define BAD_PHASE 414,10260 -#define SEQINT 415,10291 -#define CLRINT 417,10323 -#define CLRPARERR 418,10354 -#define CLRBRKADRINT 419,10385 -#define CLRSCSIINT 420,10416 -#define CLRCMDINT 421,10447 -#define CLRSEQINT 422,10478 -#define ERROR 424,10510 -#define CIOPARERR 425,10541 -#define PCIERRSTAT 426,10572 -#define MPARERR 427,10603 -#define DPARERR 428,10634 -#define SQPARERR 429,10665 -#define ILLOPCODE 430,10696 -#define DSCTMOUT 431,10727 -#define ILLSADDR 432,10758 -#define ILLHADDR 433,10789 -#define DFCNTRL 435,10821 -#define DFSTATUS 437,10853 -#define PRELOAD_AVAIL 438,10884 -#define DWORDEMP 439,10915 -#define MREQPEND 440,10946 -#define HDONE 441,10977 -#define DFTHRESH 442,11008 -#define FIFOFULL 443,11039 -#define FIFOEMP 444,11070 -#define DFDAT 446,11102 -#define SCBCNT 448,11134 -#define SCBAUTO 449,11165 -#define SCBCNT_MASK 450,11196 -#define QINFIFO 452,11228 -#define QINCNT 454,11260 -#define SCSIDATL_IMG 456,11292 -#define QOUTFIFO 458,11324 -#define CRCCONTROL1 460,11356 -#define CRCONSEEN 461,11387 -#define CRCVALCHKEN 462,11418 -#define CRCENDCHKEN 463,11449 -#define CRCREQCHKEN 464,11480 -#define TARGCRCENDEN 465,11511 -#define TARGCRCCNTEN 466,11542 -#define SCSIPHASE 468,11574 -#define SP_STATUS 469,11605 -#define SP_COMMAND 470,11636 -#define SP_MSG_IN 471,11667 -#define SP_MSG_OUT 472,11698 -#define SP_DATA_IN 473,11729 -#define SP_DATA_OUT 474,11760 -#define QOUTCNT 476,11792 -#define SFUNCT 478,11824 -#define ALT_MODE 479,11855 -#define SCB_CONTROL 481,11887 -#define MK_MESSAGE 482,11918 -#define DISCENB 483,11949 -#define TAG_ENB 484,11980 -#define DISCONNECTED 485,12011 -#define SCB_TAG_TYPE 486,12042 -#define SCB_BASE 488,12074 -#define SCB_TCL 490,12106 -#define TID 491,12137 -#define SELBUSB 492,12168 -#define LID 493,12199 -#define SCB_TARGET_STATUS 495,12231 -#define SCB_SGCOUNT 497,12264 -#define SCB_SGPTR 499,12296 -#define SCB_RESID_SGCNT 501,12328 -#define SCB_RESID_DCNT 503,12360 -#define SCB_DATAPTR 505,12392 -#define SCB_DATACNT 507,12424 -#define SCB_CMDPTR 509,12456 -#define SCB_CMDLEN 511,12488 -#define SCB_TAG 513,12520 -#define SCB_NEXT 515,12552 -#define SCB_PREV 517,12584 -#define SCB_BUSYTARGETS 519,12616 -#define SEECTL_2840 521,12648 -#define CS_2840 522,12679 -#define CK_2840 523,12710 -#define DO_2840 524,12741 -#define STATUS_2840 526,12773 -#define EEPROM_TF 527,12804 -#define BIOS_SEL 528,12835 -#define ADSEL 529,12866 -#define DI_2840 530,12897 -#define CCHADDR 532,12929 -#define CCHCNT 534,12961 -#define CCSGRAM 536,12993 -#define CCSGADDR 538,13025 -#define CCSGCTL 540,13057 -#define CCSGDONE 541,13088 -#define CCSGEN 542,13119 -#define FLAG 543,13150 -#define CCSGRESET 544,13181 -#define CCSCBRAM 546,13213 -#define CCSCBADDR 548,13245 -#define CCSCBCTL 550,13277 -#define CCSCBDONE 551,13308 -#define ARRDONE 552,13339 -#define CCARREN 553,13370 -#define CCSCBEN 554,13401 -#define CCSCBDIR 555,13432 -#define CCSCBRESET 556,13463 -#define CCSCBCNT 558,13495 -#define CCSCBPTR 560,13527 -#define HNSCB_QOFF 562,13559 -#define HESCB_QOFF 564,13591 -#define SNSCB_QOFF 566,13623 -#define SESCB_QOFF 568,13655 -#define SDSCB_QOFF 570,13687 -#define QOFF_CTLSTA 572,13719 -#define ESTABLISH_SCB_AVAIL 573,13750 -#define SCB_AVAIL 574,13784 -#define SNSCB_ROLLOVER 575,13815 -#define SDSCB_ROLLOVER 576,13846 -#define SESCB_ROLLOVER 577,13877 -#define SCB_QSIZE 578,13908 -#define SCB_QSIZE_256 579,13939 -#define DFF_THRSH 581,13971 -#define WR_DFTHRSH 582,14002 -#define WR_DFTHRSH_MAX 583,14033 -#define WR_DFTHRSH_90 584,14064 -#define WR_DFTHRSH_85 585,14095 -#define WR_DFTHRSH_75 586,14126 -#define WR_DFTHRSH_63 587,14157 -#define WR_DFTHRSH_50 588,14188 -#define WR_DFTHRSH_25 589,14219 -#define RD_DFTHRSH_MAX 590,14250 -#define RD_DFTHRSH 591,14281 -#define RD_DFTHRSH_90 592,14312 -#define RD_DFTHRSH_85 593,14343 -#define RD_DFTHRSH_75 594,14374 -#define RD_DFTHRSH_63 595,14405 -#define RD_DFTHRSH_50 596,14436 -#define RD_DFTHRSH_25 597,14467 -#define WR_DFTHRSH_MIN 598,14498 -#define RD_DFTHRSH_MIN 599,14529 -#define SG_CACHEPTR 601,14561 -#define SG_USER_DATA 602,14592 -#define LAST_SEG 603,14623 -#define LAST_SEG_DONE 604,14654 -#define CMD_GROUP2_BYTE_DELTA 607,14687 -#define MAX_OFFSET_8BIT 608,14722 -#define BUS_16_BIT 609,14751 -#define QINFIFO_OFFSET 610,14775 -#define CMD_GROUP5_BYTE_DELTA 611,14803 -#define CMD_GROUP_CODE_SHIFT 612,14838 -#define MAX_OFFSET_ULTRA2 613,14872 -#define MAX_OFFSET_16BIT 614,14903 -#define BUS_8_BIT 615,14933 -#define QOUTFIFO_OFFSET 616,14956 -#define UNTAGGEDSCB_OFFSET 617,14985 -#define CCSGRAM_MAXSEGS 618,15017 -#define SCB_LIST_NULL 619,15046 -#define SG_SIZEOF 620,15073 -#define CMD_GROUP4_BYTE_DELTA 621,15096 -#define CMD_GROUP0_BYTE_DELTA 622,15131 -#define HOST_MSG 623,15166 -#define BUS_32_BIT 624,15188 -#define CCSGADDR_MAX 625,15212 -#define TMODE_NUMCMDS 629,15278 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old/aic7xxx_seq.c,618 -static unsigned char seqprog[4,64 -aic7xxx_patch15_func(600,14922 -aic7xxx_patch14_func(608,15092 -aic7xxx_patch13_func(616,15261 -aic7xxx_patch12_func(624,15421 -aic7xxx_patch11_func(632,15586 -aic7xxx_patch10_func(640,15748 -aic7xxx_patch9_func(648,15911 -aic7xxx_patch8_func(656,16082 -aic7xxx_patch7_func(664,16241 -aic7xxx_patch6_func(672,16401 -aic7xxx_patch5_func(680,16560 -aic7xxx_patch4_func(688,16719 -aic7xxx_patch3_func(696,16883 -aic7xxx_patch2_func(704,17041 -aic7xxx_patch1_func(712,17205 -aic7xxx_patch0_func(720,17367 -struct sequencer_patch sequencer_patch725,17429 -} sequencer_patches[730,17564 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old/scsi_message.h,1425 -#define MSG_CMDCOMPLETE 2,66 -#define MSG_EXTENDED 3,106 -#define MSG_SAVEDATAPOINTER 4,143 -#define MSG_RESTOREPOINTERS 5,186 -#define MSG_DISCONNECT 6,229 -#define MSG_INITIATOR_DET_ERR 7,268 -#define MSG_ABORT 8,313 -#define MSG_MESSAGE_REJECT 9,347 -#define MSG_NOOP 10,389 -#define MSG_PARITY_ERROR 11,422 -#define MSG_LINK_CMD_COMPLETE 12,462 -#define MSG_LINK_CMD_COMPLETEF 13,507 -#define MSG_BUS_DEV_RESET 14,553 -#define MSG_ABORT_TAG 15,594 -#define MSG_CLEAR_QUEUE 16,632 -#define MSG_INIT_RECOVERY 17,672 -#define MSG_REL_RECOVERY 18,713 -#define MSG_TERM_IO_PROC 19,753 -#define MSG_SIMPLE_Q_TAG 22,818 -#define MSG_HEAD_OF_Q_TAG 23,858 -#define MSG_ORDERED_Q_TAG 24,899 -#define MSG_IGN_WIDE_RESIDUE 25,940 -#define MSG_IDENTIFYFLAG 28,1025 -#define MSG_IDENTIFY_DISCFLAG 29,1056 -#define MSG_IDENTIFY(MSG_IDENTIFY30,1092 -#define MSG_ISIDENTIFY(MSG_ISIDENTIFY31,1169 -#define MSG_EXT_SDTR 34,1265 -#define MSG_EXT_SDTR_LEN 35,1292 -#define MSG_EXT_WDTR 37,1323 -#define MSG_EXT_WDTR_LEN 38,1350 -#define MSG_EXT_WDTR_BUS_8_BIT 39,1380 -#define MSG_EXT_WDTR_BUS_16_BIT 40,1416 -#define MSG_EXT_WDTR_BUS_32_BIT 41,1453 -#define MSG_EXT_PPR 43,1491 -#define MSG_EXT_PPR_LEN 44,1520 -#define MSG_EXT_PPR_OPTION_ST 45,1549 -#define MSG_EXT_PPR_OPTION_DT_CRC 46,1584 -#define MSG_EXT_PPR_OPTION_DT_UNITS 47,1623 -#define MSG_EXT_PPR_OPTION_DT_CRC_QUICK 48,1664 -#define MSG_EXT_PPR_OPTION_DT_UNITS_QUICK 49,1709 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old/aic7xxx.h,62 -#define _aic7xxx_h24,1082 -#define AIC7XXX_H_VERSION 26,1102 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old/sequencer.h,840 -struct ins_format1 ins_format140,2007 -struct ins_format2 ins_format250,2145 -struct ins_format3 ins_format360,2287 -struct ins_format1 ins_format169,2446 -struct ins_format2 ins_format279,2584 -struct ins_format3 ins_format389,2726 -union ins_formats ins_formats99,2856 -struct instruction instruction106,3025 -#define AIC_OP_OR 115,3186 -#define AIC_OP_AND 116,3208 -#define AIC_OP_XOR 117,3231 -#define AIC_OP_ADD 118,3254 -#define AIC_OP_ADC 119,3277 -#define AIC_OP_ROL 120,3300 -#define AIC_OP_BMOV 121,3323 -#define AIC_OP_JMP 123,3348 -#define AIC_OP_JC 124,3371 -#define AIC_OP_JNC 125,3393 -#define AIC_OP_CALL 126,3416 -#define AIC_OP_JNE 127,3440 -#define AIC_OP_JNZ 128,3463 -#define AIC_OP_JE 129,3486 -#define AIC_OP_JZ 130,3508 -#define AIC_OP_SHL 133,3548 -#define AIC_OP_SHR 134,3572 -#define AIC_OP_ROR 135,3596 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old/aic7xxx_proc.c,234 -#define BLS 34,1409 -#define HDRB 35,1445 -proc_debug(42,1622 -# define proc_debug(proc_debug53,1790 -static int aic7xxx_buffer_size 56,1850 -static char *aic7xxx_buffer 57,1886 -aic7xxx_set_info(68,2201 -aic7xxx_proc_info 83,2659 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/g_NCR5380.c,1559 -#define USLEEP86,2639 -#define USLEEP_POLL 87,2654 -#define USLEEP_SLEEP 88,2676 -#define USLEEP_WAITLONG 89,2700 -#define AUTOPROBE_IRQ91,2729 -#define AUTOSENSE92,2751 -#define NCR53C400_PSEUDO_DMA 97,2834 -#define PSEUDO_DMA98,2865 -#define NCR53C40099,2884 -#define NCR5380_STATS100,2902 -#define NCR_NOT_SET 120,3324 -static int ncr_irq 121,3346 -static int ncr_dma 122,3380 -static int ncr_addr 123,3414 -static int ncr_5380 124,3449 -static int ncr_53c400 125,3484 -static int ncr_53c400a 126,3521 -static int dtc_3181e 127,3559 -static struct override override129,3596 -} overrides134,3732 -[] __initdata 136,3776 -[1] __initdata 138,3824 -#define NO_OVERRIDES 142,3861 -static void __init internal_setup(158,4216 -static int __init do_NCR5380_setup(209,5547 -static int __init do_NCR53C400_setup(227,5922 -static int __init do_NCR53C400A_setup(245,6302 -static int __init do_DTC3181E_setup(263,6680 -int __init generic_NCR5380_detect(288,7235 -const char *generic_NCR5380_info(485,13151 -int generic_NCR5380_release_resources(500,13476 -generic_NCR5380_biosparam(538,14471 -static inline int NCR5380_pread(560,14899 -static inline int NCR5380_pwrite(644,16995 -#define PRINTP(PRINTP736,19500 -#define ANDP 737,19548 -static int sprint_opcode(739,19564 -static int sprint_command(746,19700 -static int sprint_Scsi_Cmnd(765,20164 -static int generic_NCR5380_proc_info(791,20967 -static Scsi_Host_Template driver_template 902,24714 -static struct isapnp_device_id id_table[933,25763 -static struct isapnp_device_id id_table[] __devinitdata 933,25763 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mvme16x.c,124 -int mvme16x_scsi_detect(25,461 -static int mvme16x_scsi_release(53,1149 -static Scsi_Host_Template driver_template 65,1452 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fastlane.c,1273 -#define NODMAIRQ53,1355 -#define FASTLANE_ESP_ADDR 59,1468 -#define FASTLANE_DMA_ADDR 60,1504 -struct fastlane_dma_registers fastlane_dma_registers64,1575 -#define ctrl_reg 66,1673 -#define FASTLANE_DMA_MINT 73,1864 -#define FASTLANE_DMA_IACT 74,1896 -#define FASTLANE_DMA_CREQ 75,1928 -#define FASTLANE_DMA_FCODE 78,1984 -#define FASTLANE_DMA_MASK 79,2016 -#define FASTLANE_DMA_LED 80,2048 -#define FASTLANE_DMA_WRITE 81,2108 -#define FASTLANE_DMA_ENABLE 82,2156 -#define FASTLANE_DMA_EDI 83,2206 -#define FASTLANE_DMA_ESI 84,2261 -static unsigned char ctrl_data 100,3042 -static volatile unsigned char cmd_buffer[106,3233 -static inline void dma_clear(112,3397 -int __init fastlane_esp_detect(128,3791 -static int dma_bytes_sent(247,7026 -static int dma_can_transfer(257,7381 -static void dma_dump_state(265,7537 -static void dma_init_read(274,7798 -static void dma_init_write(293,8228 -static void dma_ints_off(315,8698 -static void dma_ints_on(320,8773 -static void dma_irq_exit(325,8846 -static int dma_irq_p(337,9122 -static void dma_led_off(357,9629 -static void dma_led_on(363,9784 -static int dma_ports_p(369,9937 -static void dma_setup(374,10025 -#define HOSTS_C386,10332 -int fastlane_esp_release(388,10349 -static Scsi_Host_Template driver_template 401,10690 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_priv.h,1310 -#define _SCSI_PRIV_H2,21 -#define SCSI_OWNER_HIGHLEVEL 19,351 -#define SCSI_OWNER_MIDLEVEL 20,391 -#define SCSI_OWNER_LOWLEVEL 21,431 -#define SCSI_OWNER_ERROR_HANDLER 22,471 -#define SCSI_OWNER_BH_HANDLER 23,511 -#define SCSI_OWNER_NOBODY 24,551 -#define SCSI_CMND_MAGIC 29,665 -#define SCSI_REQ_MAGIC 30,701 -#define NORMAL_TIMEOUT 35,788 -#define scsi_eh_eflags_chk(scsi_eh_eflags_chk40,850 -#define scsi_eh_eflags_set(scsi_eh_eflags_set42,921 -#define scsi_eh_eflags_clr(scsi_eh_eflags_clr44,1008 -#define scsi_eh_eflags_clr_all(scsi_eh_eflags_clr_all46,1096 -#define SCSI_EH_CANCEL_CMD 49,1157 -#define SCSI_EH_REC_TIMEOUT 50,1213 -#define SCSI_SENSE_VALID(SCSI_SENSE_VALID52,1274 -#define SCAN_WILD_CARD 59,1492 -static inline void scsi_log_send(80,2311 -static inline void scsi_log_completion(82,2374 -# define scsi_proc_hostdir_add(scsi_proc_hostdir_add120,3873 -# define scsi_proc_hostdir_rm(scsi_proc_hostdir_rm121,3926 -# define scsi_proc_host_add(scsi_proc_host_add122,3978 -# define scsi_proc_host_rm(scsi_proc_host_rm123,4030 -# define scsi_init_procfs(scsi_init_procfs124,4081 -# define scsi_exit_procfs(scsi_exit_procfs125,4114 -# define scsi_init_sysctl(scsi_init_sysctl139,4535 -# define scsi_exit_sysctl(scsi_exit_sysctl140,4568 -#define SCSI_DEVICE_BLOCK_MAX_TIMEOUT 161,5254 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_proc.c,674 -#define PROC_BLOCK_SIZE 39,1023 -static struct proc_dir_entry *proc_scsi;41,1057 -static int proc_scsi_read(46,1193 -static int proc_scsi_write_proc(58,1452 -void scsi_proc_hostdir_add(81,1982 -void scsi_proc_hostdir_rm(98,2398 -void scsi_proc_host_add(111,2676 -void scsi_proc_host_rm(134,3213 -static int proc_print_scsidevice(145,3411 -static int scsi_add_single_device(193,4540 -static int scsi_remove_single_device(207,4850 -static ssize_t proc_scsi_write(227,5263 -static int proc_scsi_show(287,6699 -static int proc_scsi_open(294,6876 -static struct file_operations proc_scsi_operations 303,7087 -int __init scsi_init_procfs(311,7271 -void scsi_exit_procfs(332,7599 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sym53c416.c,4705 -#define VERSION_STRING 49,1507 -#define TC_LOW 51,1557 -#define TC_MID 52,1621 -#define SCSI_FIFO 53,1685 -#define COMMAND_REG 54,1749 -#define STATUS_REG 55,1813 -#define DEST_BUS_ID 56,1877 -#define INT_REG 57,1941 -#define TOM 58,2005 -#define STP 59,2069 -#define SYNC_OFFSET 60,2133 -#define CONF_REG_1 61,2197 -#define CONF_REG_2 62,2261 -#define CONF_REG_3 63,2325 -#define CONF_REG_4 64,2389 -#define TC_HIGH 65,2453 -#define PIO_FIFO_1 66,2517 -#define PIO_FIFO_2 67,2581 -#define PIO_FIFO_3 68,2645 -#define PIO_FIFO_4 69,2709 -#define PIO_FIFO_CNT 70,2773 -#define PIO_INT_REG 71,2837 -#define CONF_REG_5 72,2901 -#define FEATURE_EN 73,2965 -#define SCM 77,3110 -#define SRID 78,3185 -#define PTM 79,3260 -#define EPC 80,3335 -#define CTME 81,3410 -#define FE 84,3526 -#define SCSI2 85,3601 -#define TBPA 86,3676 -#define IDMRC 89,3792 -#define QTE 90,3867 -#define CDB10 91,3942 -#define FSCSI 92,4017 -#define FCLK 93,4092 -#define RBS 96,4208 -#define EAN 97,4283 -#define LPSR 100,4399 -#define IE 101,4474 -#define LPM 102,4549 -#define WSE0 103,4624 -#define SRST 106,4734 -#define ILCMD 107,4809 -#define DIS 108,4884 -#define BS 109,4959 -#define FC 110,5034 -#define RESEL 111,5109 -#define SI 112,5184 -#define SCI 115,5291 -#define GE 116,5366 -#define PE 117,5441 -#define TC 118,5516 -#define VGC 119,5591 -#define PHBITS 120,5666 -#define SCI 123,5780 -#define PFI 124,5855 -#define FULL 125,5930 -#define EMPTY 126,6005 -#define CE 127,6080 -#define OUE 128,6155 -#define FIE 129,6230 -#define EIE 130,6305 -#define PHASE_DATA_OUT 133,6448 -#define PHASE_DATA_IN 134,6479 -#define PHASE_COMMAND 135,6510 -#define PHASE_STATUS 136,6541 -#define PHASE_RESERVED_1 137,6572 -#define PHASE_RESERVED_2 138,6603 -#define PHASE_MESSAGE_OUT 139,6634 -#define PHASE_MESSAGE_IN 140,6665 -#define NOOP 143,6727 -#define FLUSH_FIFO 144,6766 -#define RESET_CHIP 145,6805 -#define RESET_SCSI_BUS 146,6844 -#define DISABLE_SEL_RESEL 147,6883 -#define RESEL_SEQ 148,6922 -#define SEL_WITHOUT_ATN_SEQ 149,6961 -#define SEL_WITH_ATN_SEQ 150,7000 -#define SEL_WITH_ATN_AND_STOP_SEQ 151,7039 -#define ENABLE_SEL_RESEL 152,7078 -#define SEL_WITH_ATN3_SEQ 153,7117 -#define RESEL3_SEQ 154,7156 -#define SND_MSG 155,7195 -#define SND_STAT 156,7234 -#define SND_DATA 157,7273 -#define DISCONNECT_SEQ 158,7312 -#define TERMINATE_SEQ 159,7351 -#define TARGET_COMM_COMPLETE_SEQ 160,7390 -#define DISCONN 161,7429 -#define RECV_MSG_SEQ 162,7468 -#define RECV_CMD 163,7507 -#define RECV_DATA 164,7546 -#define RECV_CMD_SEQ 165,7585 -#define TARGET_ABORT_PIO 166,7624 -#define TRANSFER_INFORMATION 167,7663 -#define INIT_COMM_COMPLETE_SEQ 168,7702 -#define MSG_ACCEPTED 169,7741 -#define TRANSFER_PAD 170,7780 -#define SET_ATN 171,7819 -#define RESET_ATN 172,7858 -#define ILLEGAL 173,7897 -#define PIO_MODE 175,7937 -#define IO_RANGE 177,7977 -#define ID 178,8043 -#define PIO_SIZE 179,8115 -#define READ_TIMEOUT 181,8182 -#define WRITE_TIMEOUT 182,8220 -#define sym53c416_base 186,8274 -#define sym53c416_base_1 187,8307 -#define sym53c416_base_2 188,8344 -#define sym53c416_base_3 189,8381 -static unsigned int sym53c416_base[191,8419 -static unsigned int sym53c416_base_1[192,8466 -static unsigned int sym53c416_base_2[193,8515 -static unsigned int sym53c416_base_3[194,8564 -#define MAXHOSTS 198,8622 -#define SG_ADDRESS(SG_ADDRESS200,8642 -enum phasesphases202,8733 - idle,204,8747 - data_out,205,8754 - data_in,206,8765 - command_ph,207,8775 - status_ph,208,8788 - message_out,209,8800 - message_in210,8814 -} host;host218,8882 -static host hosts[220,8891 -static int host_index 227,9149 -static char info[228,9176 -static Scsi_Cmnd *current_command 229,9199 -static int fastpio 230,9241 -static int probeaddrs[232,9266 -static void sym53c416_set_transfer_counter(234,9319 -static spinlock_t sym53c416_lock 242,9557 -static __inline__ unsigned int sym53c416_read(245,9652 -static __inline__ unsigned int sym53c416_write(287,10793 -static irqreturn_t sym53c416_intr_handle(329,11869 -static void sym53c416_init(525,18085 -static int sym53c416_probeirq(540,18572 -void sym53c416_setup(569,19306 -static int sym53c416_test(595,19892 -static struct isapnp_device_id id_table[609,20227 -static struct isapnp_device_id id_table[] __devinitdata 609,20227 -void sym53c416_probe(619,20547 -int __init sym53c416_detect(636,20836 -const char *sym53c416_info(746,23491 -int sym53c416_queuecommand(761,23908 -static int sym53c416_abort(788,25019 -static int sym53c416_bus_reset(793,25085 -static int sym53c416_device_reset(798,25155 -static int sym53c416_host_reset(803,25228 -static int sym53c416_release(822,25750 -static int sym53c416_bios_param(831,25961 -static Scsi_Host_Template driver_template 862,26712 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTSworker.c,1844 -#define SHUTDOWN_SIGS 35,1163 -void cpqfcTSWorkerThread(150,6590 -static BOOLEAN FreezeTach(241,9247 -#define DBG 274,10316 -void cpqfcTS_WorkTask(276,10343 -void cpqfcTSPutLinkQue(811,28051 -void cpqfcTSLinkQReset(907,30279 -void cpqfcTSPutScsiQue(927,30699 -void cpqfcTSImplicitLogout(1004,32787 -static void TestDuplicatePortId(1043,34152 -static PFC_LOGGEDIN_PORT CreateFcPort(1075,35080 -void cpqfcTSTerminateExchange(1166,38099 -static void ProcessELS_Request(1215,39601 -static void ProcessELS_Reply(1672,52374 -static void ProcessFCS_Reply(2041,63121 -static void AnalyzeIncomingFrame(2123,65611 -static void SendLogins(2394,75248 -static void ScsiReportLunsDone(2679,84747 -call_scsi_done(2884,91313 -static void IssueReportLunsCommand(2912,92486 -static void CompleteBoardLockCmnd(3019,95118 -void cpqfcTSheartbeat(3043,95721 -static const UCHAR valid_al_pa[3237,101633 -const int number_of_al_pa 3273,102607 -static int GetLoopID(3288,103136 -PFC_LOGGEDIN_PORT fcFindLoggedInPort(3313,103916 -static void RevalidateSEST(3444,107957 -static void UnblockScsiDevice(3487,109222 -static void SetLoginFields(3536,110518 -static void BuildLinkServicePayload(3690,114466 -void LoadWWN(3916,122344 -int verify_PLOGI(3948,123082 -int verify_PRLI(3996,124561 -void BigEndianSwap(4022,125262 -ULONG cpqfcTSBuildExchange(4136,129973 -static void buildFCPstatus(5060,164079 -cpqfc_pci_map_sg_page(5086,164920 -cpqfc_undo_SEST_mappings(5115,165819 -static int ap_hi_water 5157,167168 -static ULONG build_SEST_sgList(5159,167213 -# define WE_HAVE_SG_LIST 5182,168004 -ULONG cpqfcTSStartExchange(5545,179318 -static LONG FindFreeExchange(5830,188833 -cpqfc_pci_unmap_extended_sg(5934,191850 -cpqfc_pci_unmap(5954,192454 -void cpqfcTSCompleteExchange(5982,193372 -void cpqfcTSCheckandSnoopFCP(6238,202953 -static int build_FCP_payload(6402,208734 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ql12160_fw.h,461 -unsigned short fw12160i_version 29,1169 -unsigned short risc_code_version 31,1220 -unsigned char fw12160i_version_str[35,1296 -unsigned char firmware_version[37,1352 -#define fw12160i_VERSION_STRING 41,1428 -#define FW_VERSION_STRING 43,1477 -unsigned short fw12160i_addr01 47,1544 -unsigned short risc_code_addr01 49,1591 -unsigned short fw12160i_code01[53,1663 -unsigned short fw12160i_length01 1784,113879 -unsigned short risc_code_length01 1786,113930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_logging.h,1514 -#define _SCSI_LOGGING_H2,24 -#define SCSI_LOG_ERROR_SHIFT 18,748 -#define SCSI_LOG_TIMEOUT_SHIFT 19,792 -#define SCSI_LOG_SCAN_SHIFT 20,836 -#define SCSI_LOG_MLQUEUE_SHIFT 21,880 -#define SCSI_LOG_MLCOMPLETE_SHIFT 22,924 -#define SCSI_LOG_LLQUEUE_SHIFT 23,969 -#define SCSI_LOG_LLCOMPLETE_SHIFT 24,1014 -#define SCSI_LOG_HLQUEUE_SHIFT 25,1059 -#define SCSI_LOG_HLCOMPLETE_SHIFT 26,1104 -#define SCSI_LOG_IOCTL_SHIFT 27,1149 -#define SCSI_LOG_ERROR_BITS 29,1195 -#define SCSI_LOG_TIMEOUT_BITS 30,1239 -#define SCSI_LOG_SCAN_BITS 31,1283 -#define SCSI_LOG_MLQUEUE_BITS 32,1327 -#define SCSI_LOG_MLCOMPLETE_BITS 33,1371 -#define SCSI_LOG_LLQUEUE_BITS 34,1415 -#define SCSI_LOG_LLCOMPLETE_BITS 35,1459 -#define SCSI_LOG_HLQUEUE_BITS 36,1503 -#define SCSI_LOG_HLCOMPLETE_BITS 37,1547 -#define SCSI_LOG_IOCTL_BITS 38,1591 -#define SCSI_LOG_LEVEL(SCSI_LOG_LEVEL44,1705 -#define SCSI_CHECK_LOGGING(SCSI_CHECK_LOGGING47,1811 -#define SCSI_CHECK_LOGGING(SCSI_CHECK_LOGGING53,1966 -#define SCSI_LOG_ERROR_RECOVERY(SCSI_LOG_ERROR_RECOVERY61,2242 -#define SCSI_LOG_TIMEOUT(SCSI_LOG_TIMEOUT63,2370 -#define SCSI_LOG_SCAN_BUS(SCSI_LOG_SCAN_BUS65,2495 -#define SCSI_LOG_MLQUEUE(SCSI_LOG_MLQUEUE67,2615 -#define SCSI_LOG_MLCOMPLETE(SCSI_LOG_MLCOMPLETE69,2740 -#define SCSI_LOG_LLQUEUE(SCSI_LOG_LLQUEUE71,2874 -#define SCSI_LOG_LLCOMPLETE(SCSI_LOG_LLCOMPLETE73,2999 -#define SCSI_LOG_HLQUEUE(SCSI_LOG_HLQUEUE75,3133 -#define SCSI_LOG_HLCOMPLETE(SCSI_LOG_HLCOMPLETE77,3258 -#define SCSI_LOG_IOCTL(SCSI_LOG_IOCTL79,3392 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sr_ioctl.c,594 -#define DEBUG25,511 -static int xa_test 30,678 -#define IOCTL_RETRIES 32,703 -static int sr_fake_playtrkind(38,955 -int sr_do_ioctl(82,2332 -static int test_unit_ready(184,5179 -int sr_tray_move(196,5448 -int sr_lock_door(209,5811 -int sr_drive_status(217,6007 -int sr_disk_status(229,6244 -int sr_get_last_session(259,6953 -#define SR_GFP_DMA(SR_GFP_DMA272,7323 -int sr_get_mcn(274,7403 -int sr_reset(299,8092 -int sr_select_speed(304,8152 -int sr_audio_ioctl(332,9087 -static int sr_read_cd(437,11699 -static int sr_read_sector(479,12668 -int sr_is_xa(523,13910 -int sr_dev_ioctl(548,14436 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fdomain.c,4800 -#define VERSION 299,12262 -#define DEBUG 303,12347 -#define ENABLE_PARITY 304,12404 -#define FIFO_COUNT 305,12456 -#define EVERY_ACCESS 310,12575 -#define ERRORS_ONLY 311,12642 -#define DEBUG_DETECT 312,12714 -#define DEBUG_MESSAGES 313,12775 -#define DEBUG_ABORT 314,12831 -#define DEBUG_RESET 315,12886 -#define DEBUG_RACE 316,12941 -#define EVERY_ACCESS 318,13023 -#define ERRORS_ONLY 319,13097 -#define DEBUG_DETECT 320,13124 -#define DEBUG_MESSAGES 321,13151 -#define DEBUG_ABORT 322,13178 -#define DEBUG_RESET 323,13205 -#define DEBUG_RACE 324,13232 -#define ERRORS_ONLY 330,13380 -#define PARITY_MASK 334,13433 -#define PARITY_MASK 336,13469 -enum chip_type chip_type339,13507 - unknown 340,13524 - unknown = 0x00,340,13524 - tmc1800 341,13552 - tmc1800 = 0x01,341,13552 - tmc18c50 342,13580 - tmc18c50 = 0x02,342,13580 - tmc18c30 343,13608 - tmc18c30 = 0x03,343,13608 - in_arbitration 347,13647 - in_arbitration = 0x02,347,13647 - in_selection 348,13675 - in_selection = 0x04,348,13675 - in_other 349,13703 - in_other = 0x08,349,13703 - disconnect 350,13731 - disconnect = 0x10,350,13731 - aborted 351,13759 - aborted = 0x20,351,13759 - sent_ident 352,13787 - sent_ident = 0x40,352,13787 -enum in_port_type in_port_type355,13819 - Read_SCSI_Data 356,13839 - SCSI_Status 357,13865 - TMC_Status 358,13891 - FIFO_Status 359,13917 - Interrupt_Cond 360,13972 - LSB_ID_Code 361,14027 - MSB_ID_Code 362,14053 - Read_Loopback 363,14079 - SCSI_Data_NoACK 364,14105 - Interrupt_Status 365,14131 - Configuration1 366,14157 - Configuration2 367,14183 - Read_FIFO 368,14238 - FIFO_Data_Count 369,14264 -enum out_port_type out_port_type372,14293 - Write_SCSI_Data 373,14314 - SCSI_Cntl 374,14340 - Interrupt_Cntl 375,14366 - SCSI_Mode_Cntl 376,14392 - TMC_Cntl 377,14418 - Memory_Cntl 378,14444 - Write_Loopback 379,14499 - IO_Control 380,14525 - Write_FIFO 381,14571 -static int port_base;385,14652 -static unsigned long bios_base;386,14688 -static int bios_major;387,14724 -static int bios_minor;388,14761 -static int PCI_bus;389,14798 -static int Quantum;390,14832 -static int interrupt_level;391,14894 -static volatile int in_command;392,14936 -static struct scsi_cmnd *current_SC;393,14973 -static enum chip_type chip 394,15011 -static int adapter_mask;395,15065 -static int this_id;396,15104 -static int setup_called;397,15138 -static volatile int in_interrupt_flag;400,15193 -static int SCSI_Mode_Cntl_port;403,15245 -static int FIFO_Data_Count_port;404,15291 -static int Interrupt_Cntl_port;405,15338 -static int Interrupt_Status_port;406,15384 -static int Read_FIFO_port;407,15432 -static int Read_SCSI_Data_port;408,15473 -static int SCSI_Cntl_port;409,15519 -static int SCSI_Data_NoACK_port;410,15560 -static int SCSI_Status_port;411,15607 -static int TMC_Cntl_port;412,15650 -static int TMC_Status_port;413,15690 -static int Write_FIFO_port;414,15732 -static int Write_SCSI_Data_port;415,15774 -static int FIFO_Size 417,15822 -static char * fdomain 424,16122 -static unsigned long addresses[427,16180 -#define ADDRESS_COUNT 436,16342 -static unsigned short ports[438,16417 -#define PORT_COUNT 439,16481 -static unsigned short ints[441,16546 -struct signature signature475,17821 -} signatures[482,18041 -#define SIGNATURE_COUNT 518,20324 -static void print_banner(520,20401 -int fdomain_setup(557,21580 -static void do_pause(581,22190 -inline static void fdomain_make_bus_idle(586,22292 -static int fdomain_is_valid_port(596,22579 -static int fdomain_test_loopback(636,23795 -static int fdomain_get_irq(664,24806 -static int fdomain_isa_detect(682,25286 -static int fdomain_pci_bios_detect(806,28810 -struct Scsi_Host *__fdomain_16x0_detect(872,30767 -static int fdomain_16x0_detect(997,34884 -static const char *fdomain_16x0_info(1004,35040 -static int fdomain_arbitrate(1026,35662 -static int fdomain_select(1060,36539 -static void my_done(1101,37545 -static irqreturn_t do_fdomain_16x0_intr(1119,38013 -static int fdomain_16x0_queue(1414,46937 -static void print_info(1467,48726 -static int fdomain_16x0_abort(1538,51046 -int fdomain_16x0_bus_reset(1564,51593 -static int fdomain_16x0_biosparam(1575,51841 - struct drive_info drive_info1582,52059 -static int fdomain_16x0_release(1729,57058 -struct scsi_host_template fdomain_driver_template 1738,57272 -#define driver_template 1757,57802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_lib.c,1804 -#define SG_MEMPOOL_NR 31,720 -#define SG_MEMPOOL_SIZE 32,800 -struct scsi_host_sg_pool scsi_host_sg_pool34,829 -#define SP(SP45,1014 -struct scsi_host_sg_pool scsi_sg_pools[46,1049 -int scsi_insert_special_req(86,2179 -int scsi_queue_insert(117,3233 -void scsi_do_req(202,6038 -static void scsi_wait_done(236,7090 -void scsi_wait_req(253,7520 -static int scsi_init_cmd_errh(283,8438 -void scsi_setup_cmd_retry(327,9705 -void scsi_device_unbusy(338,10051 -static void scsi_single_lun_run(361,10707 -static void scsi_run_queue(409,12078 -static void scsi_requeue_command(471,13966 -void scsi_next_command(479,14161 -void scsi_run_host_queues(487,14312 -static struct scsi_cmnd *scsi_end_request(518,15329 -static struct scatterlist *scsi_alloc_sgtable(567,16546 -static void scsi_free_sgtable(610,17324 -static void scsi_release_buffers(637,18036 -void scsi_io_completion(687,19614 -static int scsi_init_io(892,25483 -static int scsi_issue_flush_fn(956,27069 -static int scsi_prep_fn(972,27465 -static inline int scsi_dev_queue_ready(1123,31941 -static inline int scsi_host_queue_ready(1155,32725 -static void scsi_request_fn(1199,33865 -u64 scsi_calculate_bounce_limit(1320,36946 -struct request_queue *scsi_alloc_queue(1341,37400 -void scsi_free_queue(1364,38070 -void scsi_block_requests(1385,38605 -void scsi_unblock_requests(1410,39320 -int __init scsi_init_queue(1416,39438 -void scsi_exit_queue(1443,40030 -__scsi_mode_sense(1470,40892 -scsi_mode_sense(1560,43447 -scsi_test_unit_ready(1579,43851 -scsi_device_set_state(1617,44816 -scsi_device_quiesce(1726,46912 -scsi_device_resume(1751,47478 -device_quiesce_fn(1760,47669 -scsi_target_quiesce(1767,47783 -device_resume_fn(1774,47948 -scsi_target_resume(1781,48060 -scsi_internal_device_block(1812,49180 -scsi_internal_device_unblock(1862,50656 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mac53c94.c,829 -enum fsc_phase fsc_phase35,856 - idle,36,873 - selecting,37,880 - dataing,38,892 - completing,39,902 - busfreeing,40,915 -struct fsc_state fsc_state43,932 -static int mac53c94_queue(69,1786 -static int mac53c94_abort(101,2572 -static int mac53c94_host_reset(106,2642 -static void mac53c94_init(122,3152 -static void mac53c94_start(143,3782 -static irqreturn_t do_mac53c94_interrupt(180,4790 -static void mac53c94_interrupt(191,5144 -static void cmd_done(349,9877 -static void set_dma_cmds(366,10190 -static struct scsi_host_template mac53c94_template 415,11532 -static int mac53c94_probe(428,11865 -static int mac53c94_remove(525,14786 -static struct of_match mac53c94_match[548,15184 -static struct macio_driver mac53c94_driver 558,15317 -static int __init init_mac53c94(567,15481 -static void __exit exit_mac53c94(572,15573 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/a3000.h,595 -#define A3000_H2,16 -#define CMD_PER_LUN 22,541 -#define CAN_QUEUE 26,589 -#define A3000_XFER_MASK 33,724 -} a3000_scsiregs;a3000_scsiregs56,1558 -#define DAWR_A3000 58,1577 -#define CNTR_TCEN 61,1619 -#define CNTR_PREST 62,1645 -#define CNTR_PDMD 63,1672 -#define CNTR_INTEN 64,1698 -#define CNTR_DDIR 65,1725 -#define CNTR_IO_DX 66,1751 -#define ISTR_INTX 69,1796 -#define ISTR_INT_F 70,1822 -#define ISTR_INTS 71,1849 -#define ISTR_E_INT 72,1875 -#define ISTR_INT_P 73,1902 -#define ISTR_UE_INT 74,1929 -#define ISTR_OE_INT 75,1957 -#define ISTR_FF_FLG 76,1985 -#define ISTR_FE_FLG 77,2013 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/nsp32.h,12172 -#define _NSP32_H17,605 -#define PCI_VENDOR_ID_IODATA 24,675 -#define PCI_DEVICE_ID_NINJASCSI_32BI_CBSC_II 26,713 -#define PCI_DEVICE_ID_NINJASCSI_32BI_KME 27,767 -#define PCI_DEVICE_ID_NINJASCSI_32BI_WBT 28,821 -#define PCI_DEVICE_ID_WORKBIT_STANDARD 29,875 -#define PCI_DEVICE_ID_WORKBIT_DUALEDGE 30,929 -#define PCI_DEVICE_ID_NINJASCSI_32BI_LOGITEC 31,983 -#define PCI_DEVICE_ID_NINJASCSI_32BIB_LOGITEC 32,1037 -#define PCI_DEVICE_ID_NINJASCSI_32UDE_MELCO 33,1091 -#define PCI_DEVICE_ID_NINJASCSI_32UDE_MELCO_II 34,1145 - MODEL_IODATA 40,1223 - MODEL_KME 41,1249 - MODEL_WORKBIT 42,1275 - MODEL_LOGITEC 43,1301 - MODEL_PCI_WORKBIT 44,1327 - MODEL_PCI_LOGITEC 45,1353 - MODEL_PCI_MELCO 46,1379 -static char * nsp32_model[49,1409 -#define EXTENDED_SDTR_LEN 63,1734 -typedef u32 u32_le;u32_le66,1786 -typedef u16 u16_le;u16_le67,1806 -#define BIT(BIT72,1843 -# define TRUE 78,1918 -# define FALSE 81,1956 -#define ASSERT 83,1980 -#define NEGATE 84,1997 -#define IRQ_CONTROL 94,2206 -#define IRQ_STATUS 95,2251 -# define IRQSTATUS_LATCHED_MSG 96,2296 -# define IRQSTATUS_LATCHED_IO 97,2339 -# define IRQSTATUS_LATCHED_CD 98,2382 -# define IRQSTATUS_LATCHED_BUS_FREE 99,2425 -# define IRQSTATUS_RESELECT_OCCUER 100,2468 -# define IRQSTATUS_PHASE_CHANGE_IRQ 101,2511 -# define IRQSTATUS_SCSIRESET_IRQ 102,2554 -# define IRQSTATUS_TIMER_IRQ 103,2597 -# define IRQSTATUS_FIFO_SHLD_IRQ 104,2640 -# define IRQSTATUS_PCI_IRQ 105,2683 -# define IRQSTATUS_BMCNTERR_IRQ 106,2721 -# define IRQSTATUS_AUTOSCSI_IRQ 107,2765 -# define PCI_IRQ_MASK 108,2809 -# define TIMER_IRQ_MASK 109,2853 -# define FIFO_IRQ_MASK 110,2897 -# define SCSI_IRQ_MASK 111,2941 -# define IRQ_CONTROL_ALL_IRQ_MASK 112,2985 -# define IRQSTATUS_ANY_IRQ 116,3207 -#define TRANSFER_CONTROL 125,3524 -#define TRANSFER_STATUS 126,3574 -# define CB_MMIO_MODE 127,3624 -# define CB_IO_MODE 128,3660 -# define BM_TEST 129,3696 -# define BM_TEST_DIR 130,3732 -# define DUAL_EDGE_ENABLE 131,3768 -# define NO_TRANSFER_TO_HOST 132,3804 -# define TRANSFER_GO 133,3840 -# define BLIEND_MODE 134,3876 -# define BM_START 135,3912 -# define ADVANCED_BM_WRITE 136,3948 -# define BM_SINGLE_MODE 137,3985 -# define FIFO_TRUE_FULL 138,4022 -# define FIFO_TRUE_EMPTY 139,4059 -# define ALL_COUNTER_CLR 140,4096 -# define FIFOTEST 141,4133 -#define INDEX_REG 143,4171 -#define TIMER_SET 145,4230 -# define TIMER_CNT_MASK 146,4276 -# define TIMER_STOP 147,4307 -#define DATA_REG_LOW 149,4339 -#define DATA_REG_HI 150,4391 -#define FIFO_REST_CNT 152,4443 -# define FIFO_REST_MASK 153,4493 -# define FIFO_EMPTY_SHLD_FLAG 154,4529 -# define FIFO_FULL_SHLD_FLAG 155,4567 -#define SREQ_SMPL_RATE 157,4606 -# define SREQSMPLRATE_RATE0 158,4657 -# define SREQSMPLRATE_RATE1 159,4692 -# define SAMPLING_ENABLE 160,4727 -# define SMPL_40M 161,4762 -# define SMPL_20M 162,4833 -# define SMPL_10M 163,4904 -#define SCSI_BUS_CONTROL 165,4976 -# define BUSCTL_SEL 166,5028 -# define BUSCTL_RST 167,5063 -# define BUSCTL_DATAOUT_ENB 168,5098 -# define BUSCTL_ATN 169,5133 -# define BUSCTL_ACK 170,5168 -# define BUSCTL_BSY 171,5203 -# define AUTODIRECTION 172,5238 -# define ACKENB 173,5273 -#define CLR_COUNTER 175,5309 -# define ACK_COUNTER_CLR 176,5355 -# define SREQ_COUNTER_CLR 177,5393 -# define FIFO_HOST_POINTER_CLR 178,5431 -# define FIFO_REST_COUNT_CLR 179,5469 -# define BM_COUNTER_CLR 180,5507 -# define SAVED_ACK_CLR 181,5545 -# define CLRCOUNTER_ALLMASK 182,5583 -#define SCSI_BUS_MONITOR 189,5930 -# define BUSMON_MSG 190,5980 -# define BUSMON_IO 191,6007 -# define BUSMON_CD 192,6034 -# define BUSMON_BSY 193,6061 -# define BUSMON_ACK 194,6088 -# define BUSMON_REQ 195,6115 -# define BUSMON_SEL 196,6142 -# define BUSMON_ATN 197,6169 -#define COMMAND_DATA 199,6197 -#define PARITY_CONTROL 201,6247 -# define PARITY_CHECK_ENABLE 202,6296 -# define PARITY_ERROR_CLEAR 203,6332 -#define PARITY_STATUS 204,6368 -# define PARITY_ERROR_NORMAL 206,6454 -# define PARITY_ERROR_LSB 207,6490 -# define PARITY_ERROR_MSB 208,6526 -#define RESELECT_ID 210,6563 -#define COMMAND_CONTROL 212,6610 -# define CLEAR_CDB_FIFO_POINTER 213,6660 -# define AUTO_COMMAND_PHASE 214,6699 -# define AUTOSCSI_START 215,6738 -# define AUTOSCSI_RESTART 216,6777 -# define AUTO_PARAMETER 217,6816 -# define AUTO_ATN 218,6855 -# define AUTO_MSGIN_00_OR_04 219,6894 -# define AUTO_MSGIN_02 220,6933 -# define AUTO_MSGIN_03 221,6972 -#define SET_ARBIT 223,7012 -# define ARBIT_GO 224,7056 -# define ARBIT_CLEAR 225,7084 -#define ARBIT_STATUS 227,7113 -# define ARBIT_WIN 229,7199 -# define ARBIT_FAIL 230,7236 -# define AUTO_PARAMETER_VALID 231,7273 -# define SGT_VALID 232,7310 -#define SYNC_REG 234,7348 -#define ACK_WIDTH 236,7394 -#define SCSI_DATA_WITH_ACK 238,7441 -#define SCSI_OUT_LATCH_TARGET_ID 239,7495 -#define SCSI_DATA_IN 240,7553 -#define SCAM_CONTROL 242,7601 -#define SCAM_STATUS 243,7648 -# define SCAM_MSG 244,7694 -# define SCAM_IO 245,7722 -# define SCAM_CD 246,7750 -# define SCAM_BSY 247,7778 -# define SCAM_SEL 248,7806 -# define SCAM_XFEROK 249,7834 -#define SCAM_DATA 251,7863 -# define SD0 252,7909 -# define SD1 253,7929 -# define SD2 254,7949 -# define SD3 255,7969 -# define SD4 256,7989 -# define SD5 257,8009 -# define SD6 258,8029 -# define SD7 259,8049 -#define SACK_CNT 261,8070 -#define SREQ_CNT 262,8116 -#define FIFO_DATA_LOW 264,8163 -#define FIFO_DATA_HIGH 265,8218 -#define BM_START_ADR 266,8271 -#define BM_CNT 268,8322 -# define BM_COUNT_MASK 269,8367 -# define SGTEND 270,8403 -#define SGT_ADR 272,8462 -#define WAIT_REG 273,8508 -#define SCSI_EXECUTE_PHASE 275,8546 -# define COMMAND_PHASE 276,8598 -# define DATA_IN_PHASE 277,8632 -# define DATA_OUT_PHASE 278,8666 -# define MSGOUT_PHASE 279,8700 -# define STATUS_PHASE 280,8734 -# define ILLEGAL_PHASE 281,8768 -# define BUS_FREE_OCCUER 282,8802 -# define MSG_IN_OCCUER 283,8836 -# define MSG_OUT_OCCUER 284,8870 -# define SELECTION_TIMEOUT 285,8904 -# define MSGIN_00_VALID 286,8938 -# define MSGIN_02_VALID 287,8973 -# define MSGIN_03_VALID 288,9008 -# define MSGIN_04_VALID 289,9043 -# define AUTOSCSI_BUSY 290,9078 -#define SCSI_CSB_IN 292,9114 -#define SCSI_MSG_OUT 294,9161 -# define MSGOUT_COUNT_MASK 295,9211 -# define MV_VALID 296,9254 -#define SEL_TIME_OUT 298,9284 -#define SAVED_SACK_CNT 299,9333 -#define HTOSDATADELAY 301,9384 -#define STOHDATADELAY 302,9434 -#define ACKSUMCHECKRD 303,9484 -#define REQSUMCHECKRD 304,9532 -#define CLOCK_DIV 311,9652 -# define CLOCK_2 312,9706 -# define CLOCK_4 313,9744 -# define PCICLK 314,9782 -#define TERM_PWR_CONTROL 316,9829 -# define BPWR 317,9889 -# define SENSE 318,9911 -#define EXT_PORT_DDR 320,9950 -#define EXT_PORT 321,10007 -# define LED_ON 322,10060 -# define LED_OFF 323,10081 -#define IRQ_SELECT 325,10106 -# define IRQSELECT_RESELECT_IRQ 326,10161 -# define IRQSELECT_PHASE_CHANGE_IRQ 327,10205 -# define IRQSELECT_SCSIRESET_IRQ 328,10249 -# define IRQSELECT_TIMER_IRQ 329,10293 -# define IRQSELECT_FIFO_SHLD_IRQ 330,10337 -# define IRQSELECT_TARGET_ABORT_IRQ 331,10381 -# define IRQSELECT_MASTER_ABORT_IRQ 332,10425 -# define IRQSELECT_SERR_IRQ 333,10469 -# define IRQSELECT_PERR_IRQ 334,10513 -# define IRQSELECT_BMCNTERR_IRQ 335,10557 -# define IRQSELECT_AUTO_SCSI_SEQ_IRQ 336,10601 -#define OLD_SCSI_PHASE 338,10647 -# define OLD_MSG 339,10704 -# define OLD_IO 340,10729 -# define OLD_CD 341,10754 -# define OLD_BUSY 342,10779 -#define FIFO_FULL_SHLD_COUNT 344,10805 -#define FIFO_EMPTY_SHLD_COUNT 345,10869 -#define EXP_ROM_CONTROL 347,10935 -# define ROM_WRITE_ENB 348,11022 -# define IO_ACCESS_ENB 349,11052 -# define ROM_ADR_CLEAR 350,11082 -#define EXP_ROM_ADR 352,11113 -#define EXP_ROM_DATA 354,11170 -#define CHIP_MODE 356,11228 -# define OEM0 357,11308 -# define OEM1 358,11397 -# define OPTB 359,11436 -# define OPTC 360,11480 -# define OPTD 361,11524 -# define OPTE 362,11568 -# define OPTF 363,11612 -#define MISC_WR 365,11658 -#define MISC_RD 366,11711 -# define SCSI_DIRECTION_DETECTOR_SELECT 367,11734 -# define SCSI2_HOST_DIRECTION_VALID 368,11781 -# define HOST2_SCSI_DIRECTION_VALID 369,11840 -# define DELAYED_BMSTART 370,11899 -# define MASTER_TERMINATION_SELECT 371,11946 -# define BMREQ_NEGATE_TIMING_SEL 372,11993 -# define AUTOSEL_TIMING_SEL 373,12040 -# define MISC_MABORT_MASK 374,12087 -# define BMSTOP_CHANGE2_NONDATA_PHASE 375,12121 -#define BM_CYCLE 377,12167 -# define BM_CYCLE0 378,12220 -# define BM_CYCLE1 379,12248 -# define BM_FRAME_ASSERT_TIMING 380,12276 -# define BM_IRDY_ASSERT_TIMING 381,12316 -# define BM_SINGLE_BUS_MASTER 382,12355 -# define MEMRD_CMD0 383,12393 -# define SGT_AUTO_PARA_MEMED_CMD 384,12433 -# define MEMRD_CMD1 385,12473 -#define SREQ_EDGH 388,12515 -# define SREQ_EDGH_SELECT 389,12567 -#define UP_CNT 391,12601 -# define REQCNT_UP 392,12651 -# define ACKCNT_UP 393,12678 -# define BMADR_UP 394,12705 -# define BMCNT_UP 395,12732 -# define SGT_CNT_UP 396,12759 -#define CFG_CMD_STR 398,12787 -#define CFG_LATE_CACHE 399,12841 -#define CFG_BASE_ADR_1 400,12900 -#define CFG_BASE_ADR_2 401,12957 -#define CFG_INLINE 402,13014 -#define SERIAL_ROM_CTL 404,13068 -# define SCL 405,13125 -# define ENA 406,13145 -# define SDA 407,13165 -#define FIFO_HST_POINTER 409,13186 -#define SREQ_DELAY 410,13246 -#define SACK_DELAY 411,13301 -#define SREQ_NOISE_CANCEL 412,13356 -#define SDP_NOISE_CANCEL 413,13417 -#define DELAY_TEST 414,13477 -#define SD0_NOISE_CANCEL 415,13532 -#define SD1_NOISE_CANCEL 416,13592 -#define SD2_NOISE_CANCEL 417,13652 -#define SD3_NOISE_CANCEL 418,13712 -#define SD4_NOISE_CANCEL 419,13772 -#define SD5_NOISE_CANCEL 420,13832 -#define SD6_NOISE_CANCEL 421,13892 -#define SD7_NOISE_CANCEL 422,13952 -#define BUSMON_BUS_FREE 428,14064 -#define BUSMON_COMMAND 429,14093 -#define BUSMON_MESSAGE_IN 430,14185 -#define BUSMON_MESSAGE_OUT 431,14277 -#define BUSMON_DATA_IN 432,14369 -#define BUSMON_DATA_OUT 433,14461 -#define BUSMON_STATUS 434,14553 -#define BUSMON_RESELECT 435,14645 -#define BUSMON_PHASE_MASK 436,14749 -#define BUSPHASE_COMMAND 438,14854 -#define BUSPHASE_MESSAGE_IN 439,14926 -#define BUSPHASE_MESSAGE_OUT 440,14998 -#define BUSPHASE_DATA_IN 441,15070 -#define BUSPHASE_DATA_OUT 442,15142 -#define BUSPHASE_STATUS 443,15214 -#define BUSPHASE_SELECT 444,15286 -#define NSP32_SG_SIZE 450,15463 -typedef struct _nsp32_sgtable _nsp32_sgtable452,15494 -} __attribute__ ((packed)packed456,15664 -typedef struct _nsp32_sglun _nsp32_sglun458,15707 -} __attribute__ ((packed)packed460,15789 -#define NSP32_SG_TABLE_SIZE 461,15829 -typedef struct _nsp32_autoparam _nsp32_autoparam465,16001 -} __attribute__ ((packed)packed476,16647 -#define MSGOUTBUF_MAX 482,16779 -#define MSGINBUF_MAX 483,16805 -#define NSP32_TRANSFER_BUSMASTER 486,16859 -#define NSP32_TRANSFER_MMIO 487,16899 -#define NSP32_TRANSFER_PIO 488,16959 -#define DISCPRIV_OK 497,17184 -#define MSGIN03 498,17240 -typedef struct _nsp32_lunt _nsp32_lunt500,17294 -} nsp32_lunt;nsp32_lunt508,17738 -#define NSP32_HOST_SCSIID 514,17791 -#define MAX_TARGET 515,17870 -#define MAX_LUN 516,17896 -typedef struct _nsp32_sync_table _nsp32_sync_table519,17967 -} nsp32_sync_table;nsp32_sync_table525,18328 -#define SDTR_INITIATOR 532,18438 -#define SDTR_TARGET 533,18514 -#define SDTR_DONE 534,18587 -#define FAST5M 537,18717 -#define FAST10M 538,18739 -#define ULTRA20M 539,18762 -#define ASYNC_OFFSET 542,18836 -#define SYNC_OFFSET 543,18898 -#define TO_SYNCREG(TO_SYNCREG548,19039 -typedef struct _nsp32_target _nsp32_target550,19120 -} nsp32_target;nsp32_target559,19561 -typedef struct _nsp32_hw_data _nsp32_hw_data561,19578 -#define NSP32_MMIO_OFFSET 566,19719 -} nsp32_hw_data;nsp32_hw_data610,21368 -#define RESET_HOLD_TIME 615,21412 -#define SEL_TIMEOUT_TIME 617,21508 -#define ARBIT_TIMEOUT_TIME 619,21604 -#define REQSACK_TIMEOUT_TIME 620,21647 -# define scsi_register_host(scsi_register_host629,21941 -# define scsi_unregister_host(scsi_unregister_host630,22027 -# define scsi_host_put(scsi_host_put631,22116 -# define pci_name(pci_name632,22178 -typedef void irqreturn_t;irqreturn_t634,22242 -# define IRQ_NONE 635,22268 -# define IRQ_HANDLED 636,22297 -# define IRQ_RETVAL(IRQ_RETVAL637,22326 -static inline struct Scsi_Host *scsi_host_get_next(640,22409 -static inline struct Scsi_Host *scsi_host_hn_get(650,22619 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sr.h,117 -#define _SR_H18,421 -#define IOCTL_TIMEOUT 27,628 -typedef struct scsi_cd scsi_cd30,658 -} Scsi_CD;Scsi_CD46,1431 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/t128.c,742 -#define AUTOSENSE1,0 -#define PSEUDO_DMA2,18 -#define AUTOPROBE_IRQ123,3292 -static struct override override126,3336 -} overrides 129,3401 - [] __initdata 131,3435 - [4] __initdata 133,3476 -#define NO_OVERRIDES 137,3576 -static struct base base139,3644 -} bases[142,3707 -} bases[] __initdata 142,3707 -#define NO_BASES 146,3799 -static struct signature signature148,3857 -} signatures[151,3923 -} signatures[] __initdata 151,3923 -#define NO_SIGNATURES 155,3999 -void __init t128_setup(167,4314 -int __init t128_detect(198,5143 -static int t128_release(283,7633 -int t128_biosparam(314,8559 -static inline int NCR5380_pread 336,9060 -static inline int NCR5380_pwrite 380,10211 -static Scsi_Host_Template driver_template 414,11085 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aha152x.c,6163 -#define AUTOCONF269,8510 -#define DEBUG_DEFAULT 278,8653 -#define DPRINTK(DPRINTK280,8685 -#define DO_LOCK(DO_LOCK283,8785 -#define DO_UNLOCK(DO_UNLOCK295,9299 -#define DPRINTK(DPRINTK305,9685 -#define DO_LOCK(DO_LOCK306,9715 -#define DO_UNLOCK(DO_UNLOCK307,9771 -#define LEAD 310,9841 -#define WARN_LEAD 311,9873 -#define INFO_LEAD 312,9909 -#define NOTE_LEAD 313,9942 -#define ERR_LEAD 314,9977 -#define DEBUG_LEAD 315,10008 -#define CMDINFO(CMDINFO316,10043 -#define DELAY_DEFAULT 321,10228 -#define IRQ_MIN 324,10276 -#define IRQ_MAX 325,10294 -#define IRQ_MIN 327,10319 -#define IRQ_MAX 329,10356 -#define IRQ_MAX 331,10390 - not_issued 336,10431 - not_issued = 0x0001,336,10431 - selecting 337,10482 - selecting = 0x0002,337,10482 - identified 338,10536 - identified = 0x0004,338,10536 - disconnected 339,10582 - disconnected = 0x0008,339,10582 - completed 340,10632 - completed = 0x0010,340,10632 - aborted 341,10689 - aborted = 0x0020,341,10689 - resetted 342,10730 - resetted = 0x0040,342,10730 - spiordy 343,10782 - spiordy = 0x0080,343,10782 - syncneg 344,10837 - syncneg = 0x0100,344,10837 - aborting 345,10899 - aborting = 0x0200,345,10899 - resetting 346,10942 - resetting = 0x0400,346,10942 - check_condition 347,10997 - check_condition = 0x0800,347,10997 -static int io[358,11285 -static int irq[362,11388 -static int scsiid[366,11495 -static int reconnect[370,11617 -static int parity[374,11724 -static int sync[378,11834 -static int delay[382,11935 -static int exttrans[386,12075 -static int aha152x[391,12228 -static int aha152x1[395,12386 -static int debug[399,12538 -static int aha152x[403,12684 -static int aha152x1[407,12859 -static struct isapnp_device_id id_table[412,13014 -static struct isapnp_device_id id_table[] __devinitdata 412,13014 -static int registered_count=424,13376 -static struct Scsi_Host *aha152x_host[425,13407 -static Scsi_Host_Template aha152x_driver_template;426,13449 -enum aha152x_state aha152x_state432,13543 - idle=433,13564 - unknown,434,13573 - seldo,435,13583 - seldi,436,13591 - selto,437,13599 - busfree,438,13607 - msgo,439,13617 - cmd,440,13624 - msgi,441,13630 - status,442,13637 - datai,443,13646 - datao,444,13654 - parerr,445,13662 - rsti,446,13671 - maxstate447,13678 -struct aha152x_hostdata aha152x_hostdata454,13743 -struct aha152x_scdata aha152x_scdata549,15944 -#define HOSTDATA(HOSTDATA557,16100 -#define HOSTNO 559,16173 -#define CURRENT_SC 561,16210 -#define DONE_SC 562,16260 -#define ISSUE_SC 563,16305 -#define DISCONNECTED_SC 564,16351 -#define QLOCK 565,16411 -#define QLOCKER 566,16451 -#define QLOCKERL 567,16495 -#define STATE 569,16541 -#define PREVSTATE 570,16582 -#define LASTSTATE 571,16630 -#define RECONN_TARGET 573,16679 -#define CMD_I 575,16729 -#define MSGO(MSGO577,16771 -#define MSGO_I 578,16816 -#define MSGOLEN 579,16859 -#define ADDMSGO(ADDMSGO580,16905 -#define MSGI(MSGI582,17007 -#define MSGILEN 583,17052 -#define ADDMSGI(ADDMSGI584,17098 -#define DATA_LEN 586,17200 -#define SYNCRATE 588,17247 -#define SYNCNEG 589,17317 -#define DELAY 591,17387 -#define EXT_TRANS 592,17428 -#define TC1550 593,17476 -#define RECONNECT 594,17519 -#define PARITY 595,17567 -#define SYNCHRONOUS 596,17610 -#define HOSTIOPORT0 598,17663 -#define HOSTIOPORT1 599,17712 -#define SCDATA(SCDATA601,17762 -#define SCNEXT(SCNEXT602,17836 -#define SCSEM(SCSEM603,17879 -#define SG_ADDRESS(SG_ADDRESS605,17921 -} states[649,19267 -static inline void append_SC(683,20384 -static inline Scsi_Cmnd *remove_first_SC(697,20612 -static inline Scsi_Cmnd *remove_lun_SC(709,20774 -static inline Scsi_Cmnd *remove_SC(730,21152 -static inline struct Scsi_Host *lookup_irq(751,21470 -static irqreturn_t swintr(762,21676 -struct Scsi_Host *aha152x_probe_one(777,22017 -void aha152x_release(914,25304 -static int setup_expected_interrupts(942,25783 -static int aha152x_internal_queue(980,27149 -static int aha152x_queue(1060,29412 -static void reset_done(1079,29660 -static int aha152x_abort(1096,29969 -static void timer_expired(1141,30895 -static int aha152x_device_reset(1160,31230 -static void free_hard_reset_SCs(1232,32918 -static int aha152x_bus_reset(1263,33489 -static void reset_ports(1303,34315 -int aha152x_host_reset(1340,34969 -static int aha152x_biosparam(1360,35374 -static void done(1411,36949 -static struct work_struct aha152x_tq;1424,37300 -static void run(1430,37413 -static irqreturn_t intr(1447,37681 -static void busfree_run(1500,39290 -static void seldo_run(1685,44409 -static void selto_run(1728,45383 -static void seldi_run(1762,46370 -static void msgi_run(1831,48054 -static void msgi_end(2004,52012 -static void msgo_init(2019,52375 -static void msgo_run(2046,52967 -static void msgo_end(2078,53766 -static void cmd_init(2096,54128 -static void cmd_run(2118,54537 -static void cmd_end(2137,55113 -static void status_run(2149,55367 -static void datai_init(2171,55836 -static void datai_run(2188,56285 -static void datai_end(2296,60165 -static void datao_init(2312,60511 -static void datao_run(2330,60999 -static void datao_end(2383,62546 -static int update_state(2427,63758 -static void parerr_run(2482,64964 -static void rsti_run(2492,65135 -static void is_complete(2524,65666 -static void aha152x_error(2638,68120 -static void disp_ports(2648,68329 -static void disp_enintr(2880,72564 -static void show_command(2923,73387 -static void show_queues(2961,74346 -#define SPRINTF(SPRINTF2987,74910 -static int get_command(2989,74965 -static int get_ports(3024,75894 -static int aha152x_set_info(3286,80924 -#define SPRINTF(SPRINTF3330,82107 -static int aha152x_proc_info(3333,82208 -#define PDEBUG(PDEBUG3374,83558 -static Scsi_Host_Template aha152x_driver_template 3469,86257 -static int setup_count;3488,86826 -static struct aha152x_setup setup[3489,86850 -static unsigned short ports[3492,86950 -static unsigned int addresses[3496,87091 -static struct signature signature3516,87725 -} signatures[3520,87812 -static int aha152x_porttest(3555,88831 -static int tc1550_porttest(3570,89155 -static int checksetup(3586,89488 -static int __init aha152x_init(3634,90476 -static void __exit aha152x_exit(3920,99109 -static int __init aha152x_setup(3934,99338 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/cumana_2.c,1541 -#define CUMANASCSI2_STATUS 44,1214 -#define STATUS_INT 45,1251 -#define STATUS_DRQ 46,1281 -#define STATUS_LATCHED 47,1311 -#define CUMANASCSI2_ALATCH 49,1346 -#define ALATCH_ENA_INT 50,1383 -#define ALATCH_DIS_INT 51,1412 -#define ALATCH_ENA_TERM 52,1441 -#define ALATCH_DIS_TERM 53,1471 -#define ALATCH_ENA_BIT32 54,1501 -#define ALATCH_DIS_BIT32 55,1532 -#define ALATCH_ENA_DMA 56,1563 -#define ALATCH_DIS_DMA 57,1593 -#define ALATCH_DMA_OUT 58,1623 -#define ALATCH_DMA_IN 59,1653 -#define CUMANASCSI2_PSEUDODMA 61,1683 -#define CUMANASCSI2_FAS216_OFFSET 63,1724 -#define CUMANASCSI2_FAS216_SHIFT 64,1767 -#define VERSION 69,1821 -static int term[74,1921 -#define NR_SG 76,1980 -struct cumanascsi2_info cumanascsi2_info78,1999 -#define CSTATUS_IRQ 89,2302 -#define CSTATUS_DRQ 90,2331 -cumanascsi_2_irqenable(98,2570 -cumanascsi_2_irqdisable(109,2886 -static const expansioncard_ops_t cumanascsi_2_ops 114,2992 -cumanascsi_2_terminator_ctl(125,3359 -cumanascsi_2_intr(145,3934 -cumanascsi_2_dma_setup(161,4447 -cumanascsi_2_dma_pseudo(213,5861 -cumanascsi_2_dma_stop(286,7264 -const char *cumanascsi_2_info(300,7800 -cumanascsi_2_set_proc_info(320,8467 -int cumanascsi_2_proc_info 356,9618 -static Scsi_Host_Template cumanascsi2_template 384,10295 -cumanascsi2_probe(403,10883 -static void __devexit cumanascsi2_remove(513,13600 -static const struct ecard_id cumanascsi2_cids[537,14197 -static struct ecard_driver cumanascsi2_driver 542,14312 -static int __init cumanascsi2_init(551,14512 -static void __exit cumanascsi2_exit(556,14610 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/scsi.h,245 -#define BELT_AND_BRACES13,317 -static inline int copy_SCp_to_sg(19,457 -static inline int next_SCp(35,830 -static inline unsigned char get_next_SCp_byte(52,1174 -static inline void put_next_SCp_byte(62,1320 -static inline void init_SCp(69,1456 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/powertec.c,1334 -#define POWERTEC_FAS216_OFFSET 35,799 -#define POWERTEC_FAS216_SHIFT 36,837 -#define POWERTEC_INTR_STATUS 38,870 -#define POWERTEC_INTR_BIT 39,906 -#define POWERTEC_RESET_CONTROL 41,938 -#define POWERTEC_RESET_BIT 42,976 -#define POWERTEC_TERM_CONTROL 44,1006 -#define POWERTEC_TERM_ENABLE 45,1043 -#define POWERTEC_INTR_CONTROL 47,1075 -#define POWERTEC_INTR_ENABLE 48,1112 -#define POWERTEC_INTR_DISABLE 49,1143 -#define VERSION 51,1176 -static int term[57,1300 -#define NR_SG 59,1359 -struct powertec_info powertec_info61,1378 -powertecscsi_irqenable(75,1738 -powertecscsi_irqdisable(86,2060 -static const expansioncard_ops_t powertecscsi_ops 91,2173 -powertecscsi_terminator_ctl(102,2540 -powertecscsi_intr(117,3056 -powertecscsi_dma_setup(133,3566 -powertecscsi_dma_stop(175,4585 -const char *powertecscsi_info(186,5000 -powertecscsi_set_proc_info(206,5664 -int powertecscsi_proc_info(241,6769 -static ssize_t powertecscsi_show_term(269,7441 -powertecscsi_store_term(279,7749 -static Scsi_Host_Template powertecscsi_template 293,8106 -powertecscsi_probe(313,8691 -static void __devexit powertecscsi_remove(422,11390 -static const struct ecard_id powertecscsi_cids[448,12048 -static struct ecard_driver powertecscsi_driver 453,12169 -static int __init powertecscsi_init(462,12374 -static void __exit powertecscsi_exit(467,12474 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/oak.c,1056 -#define AUTOSENSE22,375 -#define OAKSCSI_PUBLIC_RELEASE 25,417 -#define NCR5380_read(NCR5380_read27,451 -#define NCR5380_write(NCR5380_write28,507 -#define NCR5380_intr 29,578 -#define NCR5380_queue_command 30,614 -#define NCR5380_proc_info 31,667 -#define NCR5380_implementation_fields 33,713 -#define NCR5380_local_declare(NCR5380_local_declare34,766 -#define NCR5380_setup(NCR5380_setup35,827 -#define BOARD_NORMAL 37,882 -#define BOARD_NCR53C400 38,905 -#define START_DMA_INITIATOR_RECEIVE_REG 43,996 -const char * oakscsi_info 45,1047 -#define STAT(STAT50,1115 -static inline int NCR5380_pwrite(53,1195 -static inline int NCR5380_pread(67,1487 -#define oakscsi_read(oakscsi_read107,2244 -#define oakscsi_write(oakscsi_write108,2314 -static Scsi_Host_Template oakscsi_template 114,2436 -oakscsi_probe(133,2986 -static void __devexit oakscsi_remove(175,3932 -static const struct ecard_id oakscsi_cids[187,4199 -static struct ecard_driver oakscsi_driver 192,4301 -static int __init oakscsi_init(201,4481 -static void __exit oakscsi_exit(206,4571 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/queue.c,671 -#define DEBUG28,795 -typedef struct queue_entry queue_entry30,810 -} QE_t;QE_t36,932 -#define QUEUE_MAGIC_FREE 39,954 -#define QUEUE_MAGIC_USED 40,990 -#define SET_MAGIC(SET_MAGIC42,1027 -#define BAD_MAGIC(BAD_MAGIC43,1069 -#define SET_MAGIC(SET_MAGIC45,1118 -#define BAD_MAGIC(BAD_MAGIC46,1158 -#define NR_QE 51,1213 -int queue_initialise 58,1363 -void queue_free 90,2063 -int __queue_add(107,2554 -static Scsi_Cmnd *__queue_remove(139,3114 -Scsi_Cmnd *queue_remove_exclude(164,3764 -Scsi_Cmnd *queue_remove(189,4477 -Scsi_Cmnd *queue_remove_tgtluntag 211,5163 -void queue_remove_all_target(238,5910 -int queue_probetgtlun 261,6574 -int queue_remove_cmd(287,7219 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/ecoscsi.c,884 -#define AUTOSENSE1,0 -#define NCR5380_implementation_fields 38,646 -#define NCR5380_local_declare(NCR5380_local_declare39,699 -#define NCR5380_setup(NCR5380_setup40,760 -#define NCR5380_read(NCR5380_read42,815 -#define NCR5380_write(NCR5380_write43,871 -#define NCR5380_intr 45,943 -#define NCR5380_queue_command 46,979 -#define NCR5380_proc_info 47,1032 -#define ECOSCSI_PUBLIC_RELEASE 51,1103 -static char ecoscsi_read(53,1137 -static void ecoscsi_write(60,1289 -void ecoscsi_setup(77,1697 -const char * ecoscsi_info 81,1743 -#define STAT(STAT87,1817 -static inline int NCR5380_pwrite(89,1847 -static inline int NCR5380_pread(103,2131 -#define BOARD_NORMAL 153,3220 -#define BOARD_NCR53C400 154,3243 -static Scsi_Host_Template ecoscsi_template 158,3295 -static struct Scsi_Host *host;175,3792 -static int __init ecoscsi_init(177,3824 -static void __exit ecoscsi_exit(219,4920 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/fas216.c,3927 -#define SCSI2_SYNC82,2945 -#define LOG_CONNECT 90,3051 -#define LOG_BUSSERVICE 91,3081 -#define LOG_FUNCTIONDONE 92,3114 -#define LOG_MESSAGES 93,3148 -#define LOG_BUFFER 94,3179 -#define LOG_ERROR 95,3208 -static int level_mask 97,3237 -static int __init fas216_log_setup(101,3304 -static inline unsigned char fas216_readb(142,4023 -static inline void fas216_writeb(151,4267 -static void fas216_dumpstate(160,4519 -static void print_SCp(181,5149 -static void fas216_dumpinfo(188,5395 -static void __fas216_checkmagic(233,7258 -#define fas216_checkmagic(fas216_checkmagic249,7683 -#define fas216_checkmagic(fas216_checkmagic251,7763 -static const char *fas216_bus_phase(254,7803 -static const char *fas216_drv_phase(266,8026 -static char fas216_target(288,8622 -fas216_do_log(297,8762 -fas216_log_command(306,8972 -fas216_log_target(322,9285 -static void fas216_log(341,9586 -#define PH_SIZE 355,9836 -static struct { int stat, ssr, isr, ph; } ph_list[357,9856 -static int ph_ptr;358,9916 -static void add_debug_list(360,9936 -static struct { int command; void *from; } cmd_list[370,10155 -static int cmd_ptr;371,10211 -static void fas216_cmd(373,10232 -static void print_debug_list(383,10466 -fas216_get_last_msg(420,11291 -static int fas216_syncperiod(452,12076 -static void fas216_set_sync(476,12700 -static void fas216_handlesync(521,14509 - enum { sync,524,14640 - enum { sync, async,524,14640 - enum { sync, async, none,524,14640 - enum { sync, async, none, reject 524,14640 -static void fas216_updateptrs(634,17572 -static void fas216_pio(674,18587 -static void fas216_set_stc(689,18913 -static unsigned int fas216_get_ctc(696,19116 -static void fas216_cleanuptransfer(710,19511 -static void fas216_transfer(754,20683 -static void fas216_stoptransfer(836,22912 -static void fas216_aborttransfer(869,23758 -static void fas216_disconnect_intr(889,24267 -fas216_reselected_intr(944,25702 -static void fas216_parse_message(1058,28647 -static int fas216_wait_cmd(1169,31376 -static int fas216_get_msg_byte(1186,31644 -static void fas216_message(1232,32704 -static void fas216_send_command(1293,33996 -static void fas216_send_messageout(1318,34608 -static void fas216_busservice_intr(1355,35505 -#define STATE(STATE1391,36171 -static void fas216_funcdone_intr(1551,41798 -static void fas216_bus_reset(1594,42928 -irqreturn_t fas216_intr(1631,43819 -static void __fas216_start_command(1670,44987 -static int parity_test(1751,47067 -static void fas216_start_command(1762,47258 -static void fas216_allocate_tag(1816,48664 -static void fas216_do_bus_device_reset(1850,49434 -static void fas216_kick(1896,50586 -#define TYPE_OTHER 1899,50657 -#define TYPE_RESET 1900,50678 -#define TYPE_QUEUE 1901,50699 -fas216_devicereset_done(1987,52429 -fas216_rq_sns_done(2005,52909 -fas216_std_done(2038,54070 -static void fas216_done(2148,57134 -int fas216_queue_command(2215,59043 -static void fas216_internal_done(2262,60155 -int fas216_noqueue_command(2279,60567 -static void fas216_eh_timer(2329,61976 -enum res_find res_find2345,62312 - res_failed,2346,62328 - res_success,2347,62360 - res_hw_abort 2348,62404 -static enum res_find fas216_find_command(2358,62606 -int fas216_eh_abort(2425,64367 -int fas216_eh_device_reset(2482,65677 -int fas216_eh_bus_reset(2563,68003 -static void fas216_init_chip(2642,69929 -int fas216_eh_host_reset(2663,70710 -#define TYPE_UNKNOWN 2697,71399 -#define TYPE_NCR53C90 2698,71422 -#define TYPE_NCR53C90A 2699,71446 -#define TYPE_NCR53C9x 2700,71471 -#define TYPE_Am53CF94 2701,71495 -#define TYPE_EmFAS216 2702,71519 -#define TYPE_QLFAS216 2703,71543 -static char *chip_types[2705,71568 -static int fas216_detect_type(2715,71715 -static void fas216_reset_state(2803,73487 -int fas216_init(2844,74320 -int fas216_add(2889,75510 -void fas216_remove(2940,76614 -void fas216_release(2957,77038 -int fas216_print_host(2965,77215 -int fas216_print_stats(2977,77480 -int fas216_print_devices(3002,78103 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/eesox.c,1320 -#define EESOX_FAS216_OFFSET 50,1403 -#define EESOX_FAS216_SHIFT 51,1438 -#define EESOX_DMASTAT 53,1468 -#define EESOX_STAT_INTR 54,1498 -#define EESOX_STAT_DMA 55,1528 -#define EESOX_CONTROL 57,1558 -#define EESOX_INTR_ENABLE 58,1588 -#define EESOX_TERM_ENABLE 59,1619 -#define EESOX_RESET 60,1650 -#define EESOX_DMADATA 62,1677 -#define VERSION 64,1708 -static int term[69,1808 -#define NR_SG 71,1867 -struct eesoxscsi_info eesoxscsi_info73,1886 -eesoxscsi_irqenable(88,2263 -eesoxscsi_irqdisable(103,2680 -static const expansioncard_ops_t eesoxscsi_ops 112,2894 -eesoxscsi_terminator_ctl(123,3247 -eesoxscsi_intr(145,3913 -eesoxscsi_dma_setup(161,4418 -static void eesoxscsi_buffer_in(197,5323 -static void eesoxscsi_buffer_out(275,6800 -eesoxscsi_dma_pseudo(356,8274 -eesoxscsi_dma_stop(373,8720 -const char *eesoxscsi_info(384,9129 -eesoxscsi_set_proc_info(404,9808 -int eesoxscsi_proc_info(440,10950 -static ssize_t eesoxscsi_show_term(468,11634 -static ssize_t eesoxscsi_store_term(477,11945 -static Scsi_Host_Template eesox_template 501,12608 -eesoxscsi_probe(520,13174 -static void __devexit eesoxscsi_remove(631,15904 -static const struct ecard_id eesoxscsi_cids[657,16553 -static struct ecard_driver eesoxscsi_driver 662,16663 -static int __init eesox_init(671,16853 -static void __exit eesox_exit(676,16943 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/acornscsi.h,5842 -#define ACORNSCSI_H13,322 -#define SBIC_OWNID 16,364 -#define OWNID_FS1 17,386 -#define OWNID_FS2 18,412 -#define OWNID_EHP 19,438 -#define OWNID_EAF 20,464 -#define SBIC_CTRL 22,491 -#define CTRL_DMAMODE 23,512 -#define CTRL_DMADBAMODE 24,541 -#define CTRL_DMABURST 25,573 -#define CTRL_DMAPOLLED 26,603 -#define CTRL_HHP 27,629 -#define CTRL_EDI 28,654 -#define CTRL_IDI 29,679 -#define CTRL_HA 30,704 -#define CTRL_HSP 31,729 -#define SBIC_TIMEOUT 33,755 -#define SBIC_TOTSECTS 34,779 -#define SBIC_TOTHEADS 35,804 -#define SBIC_TOTCYLH 36,829 -#define SBIC_TOTCYLL 37,853 -#define SBIC_LOGADDRH 38,877 -#define SBIC_LOGADDRM2 39,902 -#define SBIC_LOGADDRM1 40,928 -#define SBIC_LOGADDRL 41,954 -#define SBIC_SECTORNUM 42,980 -#define SBIC_HEADNUM 43,1007 -#define SBIC_CYLH 44,1032 -#define SBIC_CYLL 45,1054 -#define SBIC_TARGETLUN 46,1076 -#define TARGETLUN_TLV 47,1103 -#define TARGETLUN_DOK 48,1133 -#define SBIC_CMNDPHASE 50,1164 -#define SBIC_SYNCHTRANSFER 51,1191 -#define SYNCHTRANSFER_OF0 52,1221 -#define SYNCHTRANSFER_OF1 53,1252 -#define SYNCHTRANSFER_OF2 54,1283 -#define SYNCHTRANSFER_OF3 55,1314 -#define SYNCHTRANSFER_OF4 56,1345 -#define SYNCHTRANSFER_OF5 57,1376 -#define SYNCHTRANSFER_OF6 58,1407 -#define SYNCHTRANSFER_OF7 59,1438 -#define SYNCHTRANSFER_OF8 60,1469 -#define SYNCHTRANSFER_OF9 61,1500 -#define SYNCHTRANSFER_OF10 62,1531 -#define SYNCHTRANSFER_OF11 63,1563 -#define SYNCHTRANSFER_OF12 64,1595 -#define SYNCHTRANSFER_8DBA 65,1627 -#define SYNCHTRANSFER_2DBA 66,1659 -#define SYNCHTRANSFER_3DBA 67,1691 -#define SYNCHTRANSFER_4DBA 68,1723 -#define SYNCHTRANSFER_5DBA 69,1755 -#define SYNCHTRANSFER_6DBA 70,1787 -#define SYNCHTRANSFER_7DBA 71,1819 -#define SBIC_TRANSCNTH 73,1852 -#define SBIC_TRANSCNTM 74,1879 -#define SBIC_TRANSCNTL 75,1906 -#define SBIC_DESTID 76,1933 -#define DESTID_SCC 77,1957 -#define DESTID_DPD 78,1984 -#define SBIC_SOURCEID 80,2012 -#define SOURCEID_ER 81,2038 -#define SOURCEID_ES 82,2066 -#define SOURCEID_DSP 83,2094 -#define SOURCEID_SIV 84,2123 -#define SBIC_SSR 86,2153 -#define SBIC_CMND 87,2174 -#define CMND_RESET 88,2196 -#define CMND_ABORT 89,2221 -#define CMND_ASSERTATN 90,2246 -#define CMND_NEGATEACK 91,2275 -#define CMND_DISCONNECT 92,2304 -#define CMND_RESELECT 93,2334 -#define CMND_SELWITHATN 94,2362 -#define CMND_SELECT 95,2392 -#define CMND_SELECTATNTRANSFER 96,2418 -#define CMND_SELECTTRANSFER 97,2454 -#define CMND_RESELECTRXDATA 98,2487 -#define CMND_RESELECTTXDATA 99,2520 -#define CMND_WAITFORSELRECV 100,2553 -#define CMND_SENDSTATCMD 101,2586 -#define CMND_SENDDISCONNECT 102,2616 -#define CMND_SETIDI 103,2649 -#define CMND_RECEIVECMD 104,2675 -#define CMND_RECEIVEDTA 105,2705 -#define CMND_RECEIVEMSG 106,2735 -#define CMND_RECEIVEUSP 107,2765 -#define CMND_SENDCMD 108,2795 -#define CMND_SENDDATA 109,2822 -#define CMND_SENDMSG 110,2850 -#define CMND_SENDUSP 111,2877 -#define CMND_TRANSLATEADDR 112,2904 -#define CMND_XFERINFO 113,2936 -#define CMND_SBT 114,2964 -#define SBIC_DATA 116,2990 -#define SBIC_ASR 117,3012 -#define ASR_INT 118,3033 -#define ASR_LCI 119,3058 -#define ASR_BSY 120,3083 -#define ASR_CIP 121,3108 -#define ASR_PE 122,3133 -#define ASR_DBR 123,3157 -#define DMAC_INIT 126,3204 -#define INIT_8BIT 127,3228 -#define DMAC_CHANNEL 129,3252 -#define CHANNEL_0 130,3279 -#define CHANNEL_1 131,3303 -#define CHANNEL_2 132,3327 -#define CHANNEL_3 133,3351 -#define DMAC_TXCNTLO 135,3376 -#define DMAC_TXCNTHI 136,3403 -#define DMAC_TXADRLO 137,3430 -#define DMAC_TXADRMD 138,3457 -#define DMAC_TXADRHI 139,3484 -#define DMAC_DEVCON0 141,3512 -#define DEVCON0_AKL 142,3539 -#define DEVCON0_RQL 143,3567 -#define DEVCON0_EXW 144,3595 -#define DEVCON0_ROT 145,3623 -#define DEVCON0_CMP 146,3651 -#define DEVCON0_DDMA 147,3679 -#define DEVCON0_AHLD 148,3708 -#define DEVCON0_MTM 149,3737 -#define DMAC_DEVCON1 151,3766 -#define DEVCON1_WEV 152,3793 -#define DEVCON1_BHLD 153,3821 -#define DMAC_MODECON 155,3851 -#define MODECON_WOED 156,3878 -#define MODECON_VERIFY 157,3905 -#define MODECON_READ 158,3934 -#define MODECON_WRITE 159,3961 -#define MODECON_AUTOINIT 160,3989 -#define MODECON_ADDRDIR 161,4019 -#define MODECON_DEMAND 162,4049 -#define MODECON_SINGLE 163,4078 -#define MODECON_BLOCK 164,4107 -#define MODECON_CASCADE 165,4135 -#define DMAC_STATUS 167,4166 -#define STATUS_TC0 168,4192 -#define STATUS_RQ0 169,4219 -#define DMAC_TEMPLO 171,4247 -#define DMAC_TEMPHI 172,4273 -#define DMAC_REQREG 173,4299 -#define DMAC_MASKREG 174,4325 -#define MASKREG_M0 175,4352 -#define MASKREG_M1 176,4377 -#define MASKREG_M2 177,4402 -#define MASKREG_M3 178,4427 -#define POD_SPACE(POD_SPACE182,4493 -#define MASK_ON 183,4530 -#define MASK_OFF 184,4593 - PHASE_IDLE,190,4690 - PHASE_CONNECTING,191,4754 - PHASE_CONNECTED,192,4810 - PHASE_MSGOUT,193,4864 - PHASE_RECONNECTED,194,4915 - PHASE_COMMANDPAUSED,195,4963 - PHASE_COMMAND,196,5019 - PHASE_DATAOUT,197,5067 - PHASE_DATAIN,198,5117 - PHASE_STATUSIN,199,5167 - PHASE_MSGIN,200,5220 - PHASE_DONE,201,5271 - PHASE_ABORTED,202,5310 - PHASE_DISCONNECT,203,5350 -} phase_t;phase_t204,5398 - INTR_IDLE,210,5467 - INTR_NEXT_COMMAND,211,5520 - INTR_PROCESSING,212,5574 -} intr_ret_t;intr_ret_t213,5640 - DMA_OUT,219,5694 - DMA_IN 220,5742 -} dmadir_t;dmadir_t221,5788 - SYNC_ASYNCHRONOUS,227,5891 - SYNC_NEGOCIATE,228,5960 - SYNC_SENT_REQUEST,229,6009 - SYNC_COMPLETED,230,6061 -} syncxfer_t;syncxfer_t231,6112 - CMD_READ,237,6191 - CMD_WRITE,238,6241 - CMD_MISC,239,6295 -} cmdtype_t;cmdtype_t240,6329 - DATADIR_IN,246,6416 - DATADIR_OUT 247,6466 -} datadir_t;datadir_t248,6517 -#define STATUS_BUFFER_SIZE 253,6573 -struct status_entry status_entry257,6666 -#define ADD_STATUS(ADD_STATUS265,6795 -typedef struct acornscsi_hostdata acornscsi_hostdata277,7219 -} AS_Host;AS_Host356,9927 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/msgqueue.c,274 -static struct msgqueue_entry *mqe_alloc(25,647 -static void mqe_free(41,1024 -void msgqueue_initialise(54,1296 -void msgqueue_free(73,1653 -int msgqueue_msglength(83,1920 -struct message *msgqueue_getmsg(101,2350 -int msgqueue_addmsg(118,2802 -void msgqueue_flush(151,3397 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/fas216.h,4047 -#define FAS216_H13,325 -#define NO_IRQ 16,358 -#define REG_CTCL 25,484 -#define REG_STCL 26,506 -#define REG_CTCM 29,557 -#define REG_STCM 30,579 -#define REG_FF 33,618 -#define REG_CMD 36,654 -#define CMD_NOP 37,676 -#define CMD_FLUSHFIFO 38,699 -#define CMD_RESETCHIP 39,727 -#define CMD_RESETSCSI 40,755 -#define CMD_TRANSFERINFO 42,784 -#define CMD_INITCMDCOMPLETE 43,814 -#define CMD_MSGACCEPTED 44,847 -#define CMD_PADBYTES 45,877 -#define CMD_SETATN 46,904 -#define CMD_RSETATN 47,929 -#define CMD_SELECTWOATN 49,956 -#define CMD_SELECTATN 50,986 -#define CMD_SELECTATNSTOP 51,1014 -#define CMD_ENABLESEL 52,1045 -#define CMD_DISABLESEL 53,1073 -#define CMD_SELECTATN3 54,1102 -#define CMD_RESEL3 55,1131 -#define CMD_WITHDMA 57,1157 -#define REG_STAT 60,1213 -#define STAT_IO 61,1235 -#define STAT_CD 62,1280 -#define STAT_MSG 63,1325 -#define STAT_TRANSFERDONE 64,1371 -#define STAT_TRANSFERCNTZ 65,1433 -#define STAT_PARITYERROR 66,1501 -#define STAT_REALBAD 67,1557 -#define STAT_INT 68,1610 -#define STAT_BUSMASK 70,1657 -#define STAT_DATAOUT 71,1706 -#define STAT_DATAIN 72,1751 -#define STAT_COMMAND 73,1799 -#define STAT_STATUS 74,1852 -#define STAT_MESGOUT 75,1909 -#define STAT_MESGIN 76,1970 -#define REG_SDID 79,2072 -#define BUSID(BUSID80,2094 -#define REG_INST 83,2172 -#define INST_SELWOATN 84,2194 -#define INST_SELATN 85,2249 -#define INST_RESELECTED 86,2301 -#define INST_FUNCDONE 87,2355 -#define INST_BUSSERVICE 88,2409 -#define INST_DISCONNECT 89,2464 -#define INST_ILLEGALCMD 90,2518 -#define INST_BUSRESET 91,2576 -#define REG_STIM 94,2663 -#define REG_IS 97,2722 -#define IS_BITS 98,2743 -#define IS_SELARB 99,2766 -#define IS_MSGBYTESENT 100,2815 -#define IS_NOTCOMMAND 101,2874 -#define IS_EARLYPHASE 102,2932 -#define IS_COMPLETE 103,2988 -#define IS_SOF 104,3035 -#define REG_STP 107,3116 -#define REG_SOF 110,3172 -#define REG_CFIS 113,3228 -#define CFIS_CF 114,3250 -#define CFIS_IS 115,3300 -#define REG_CNTL1 118,3364 -#define CNTL1_CID 119,3387 -#define CNTL1_STE 120,3433 -#define CNTL1_PERE 121,3487 -#define CNTL1_PTE 122,3552 -#define CNTL1_DISR 123,3608 -#define CNTL1_ETM 124,3671 -#define REG_CLKF 127,3767 -#define CLKF_F37MHZ 128,3789 -#define CLKF_F10MHZ 129,3840 -#define CLKF_F12MHZ 130,3884 -#define CLKF_F17MHZ 131,3935 -#define CLKF_F22MHZ 132,3986 -#define CLKF_F27MHZ 133,4037 -#define CLKF_F32MHZ 134,4088 -#define REG_FTM 137,4173 -#define TEST_FTM 138,4196 -#define TEST_FIM 139,4247 -#define TEST_FHI 140,4301 -#define REG_CNTL2 143,4404 -#define CNTL2_PGDP 144,4428 -#define CNTL2_PGRP 145,4494 -#define CNTL2_ACDPE 146,4559 -#define CNTL2_S2FE 147,4626 -#define CNTL2_TSDR 148,4685 -#define CNTL2_SBO 149,4737 -#define CNTL2_ENF 150,4792 -#define CNTL2_DAE 151,4845 -#define REG_CNTL3 154,4948 -#define CNTL3_BS8 155,4972 -#define CNTL3_MDM 156,5023 -#define CNTL3_LBTM 157,5076 -#define CNTL3_FASTCLK 158,5137 -#define CNTL3_FASTSCSI 159,5197 -#define CNTL3_G2CB 160,5250 -#define CNTL3_QTAG 161,5308 -#define CNTL3_ADIDCHK 162,5365 -#define REG_CTCH 165,5466 -#define REG_STCH 166,5489 -#define REG_ID 169,5543 -#define REG_DAL 172,5587 - PHASE_IDLE,175,5626 - PHASE_SELECTION,176,5686 - PHASE_SELSTEPS,177,5734 - PHASE_COMMAND,178,5791 - PHASE_MESSAGESENT,179,5833 - PHASE_DATAOUT,180,5894 - PHASE_DATAIN,181,5941 - PHASE_MSGIN,182,5988 - PHASE_MSGIN_DISCONNECT,183,6036 - PHASE_MSGOUT,184,6094 - PHASE_MSGOUT_EXPECT,185,6144 - PHASE_STATUS,186,6198 - PHASE_DONE 187,6244 -} phase_t;phase_t188,6285 - DMA_OUT,191,6312 - DMA_IN 192,6357 -} fasdmadir_t;fasdmadir_t193,6401 - fasdma_none,196,6432 - fasdma_pio,197,6466 - fasdma_pseudo,198,6501 - fasdma_real_block,199,6541 - fasdma_real_all 200,6604 -} fasdmatype_t;fasdmatype_t201,6663 - neg_wait,204,6695 - neg_inprogress,205,6739 - neg_complete,206,6785 - neg_targcomplete,207,6833 - neg_invalid 208,6891 -} neg_t;neg_t209,6941 -#define MAGIC 211,6951 -#define NR_MSGS 212,6978 -#define FASCAP_DMA 214,6997 -#define FASCAP_PSEUDODMA 215,7026 - struct fas216_device fas216_device291,9508 -} FAS216_Info;FAS216_Info315,10662 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/acornscsi-io.S,318 -acornscsi_in16lp:acornscsi_in16lp36,982 -acornscsi_in8:acornscsi_in853,1354 -acornscsi_in4:acornscsi_in464,1599 -acornscsi_in2:acornscsi_in273,1789 -acornscsi_out16lp:acornscsi_out16lp88,2193 -acornscsi_out8:acornscsi_out8113,2786 -acornscsi_out4:acornscsi_out4128,3138 -acornscsi_out2:acornscsi_out2139,3383 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/queue.h,165 -#define QUEUE_H11,305 -} Queue_t;Queue_t18,456 -#define queue_add_cmd_ordered(queue_add_cmd_ordered51,1478 -#define queue_add_cmd_tail(queue_add_cmd_tail53,1583 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/arxescsi.c,743 -struct arxescsi_info arxescsi_info43,1225 -#define DMADATA_OFFSET 48,1300 -#define DMASTAT_OFFSET 50,1332 -#define DMASTAT_DRQ 51,1363 -#define CSTATUS_IRQ 53,1393 -#define VERSION 55,1423 -arxescsi_dma_setup(67,1847 -static void arxescsi_pseudo_dma_write(76,2026 -arxescsi_dma_pseudo(113,3449 -static void arxescsi_dma_stop(199,5152 -static const char *arxescsi_info(212,5530 -arxescsi_proc_info(239,6490 -static Scsi_Host_Template arxescsi_template 263,7043 -arxescsi_probe(281,7592 -static void __devexit arxescsi_remove(353,9277 -static const struct ecard_id arxescsi_cids[372,9701 -static struct ecard_driver arxescsi_driver 377,9807 -static int __init init_arxe_scsi_driver(386,9992 -static void __exit exit_arxe_scsi_driver(391,10092 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/acornscsi.c,4083 -#define DEBUG_NO_WRITE 31,1293 -#define DEBUG_QUEUES 32,1318 -#define DEBUG_DMA 33,1341 -#define DEBUG_ABORT 34,1361 -#define DEBUG_DISCON 35,1383 -#define DEBUG_CONNECT 36,1407 -#define DEBUG_PHASES 37,1432 -#define DEBUG_WRITE 38,1456 -#define DEBUG_LINK 39,1480 -#define DEBUG_MESSAGES 40,1503 -#define DEBUG_RESET 41,1530 -#define DEBUG_ALL 42,1555 -#define SDTR_SIZE 80,2870 -#define SDTR_PERIOD 81,2891 -#define DEFAULT_PERIOD 82,2915 -#define DEBUG 91,3140 -#define NO_WRITE 93,3237 -#define TIMEOUT_TIME 101,3461 -#define USE_DMAC111,3756 -#define DBG(DBG118,3890 -#define DBG(DBG123,3980 -#define STRINGIFY(STRINGIFY127,4034 -#define STRx(STRx129,4065 -#define NO_WRITE_STR 130,4094 -#define VER_MAJOR 160,4722 -#define VER_MINOR 161,4742 -#define VER_PATCH 162,4762 -#define ABORT_TAG 165,4801 -#define INIT_DEVCON0 178,5042 -#define INIT_DEVCON1 179,5101 -#define DMAC_READ 180,5137 -#define DMAC_WRITE 181,5170 -#define INIT_SBICDMA 182,5205 -#define scsi_xferred 184,5243 -#define DMAC_BUFFER_SIZE 189,5316 -#define STATUS_BUFFER_TO_PRINT 192,5355 -unsigned int sdtr_period 194,5390 -unsigned int sdtr_size 195,5430 -sbic_arm_write(207,5853 -#define sbic_arm_writenext(sbic_arm_writenext213,5985 -int sbic_arm_read(217,6068 -#define sbic_arm_readnext(sbic_arm_readnext225,6260 -#define dmac_read(dmac_read229,6332 -#define dmac_write(dmac_write232,6390 -#define dmac_clearintr(dmac_clearintr235,6472 -unsigned int dmac_address(239,6548 -void acornscsi_dumpdma(247,6742 -unsigned long acornscsi_sbic_xfcount(271,7441 -acornscsi_sbic_wait(283,7737 -int acornscsi_sbic_issuecmd(302,8065 -acornscsi_csdelay(313,8298 -void acornscsi_resetcard(328,8583 -static char *acornscsi_interrupttype[418,11205 -static signed char acornscsi_map[425,11368 -static char *acornscsi_interruptcode[444,12496 -void print_scsi_status(481,13282 -void print_sbic_status(493,13537 -acornscsi_dumplogline(513,14067 -void acornscsi_dumplog(560,15074 -char acornscsi_target(575,15330 -cmdtype_t acornscsi_cmdtype(591,15751 -datadir_t acornscsi_datadirection(612,16306 -static struct sync_xfer_tbl sync_xfer_tbl636,17218 -} sync_xfer_table[639,17305 -int acornscsi_getperiod(652,17694 -int round_period(674,18254 -unsigned char calc_sync_xfer(695,18846 -intr_ret_t acornscsi_kick(712,19391 -void acornscsi_done(805,21963 -void acornscsi_data_updateptr(898,24738 -void acornscsi_data_read(918,25346 -void acornscsi_data_write(963,26537 -void acornscsi_dma_stop(1009,27735 -void acornscsi_dma_setup(1028,28288 -void acornscsi_dma_cleanup(1089,30149 -void acornscsi_dma_intr(1147,31660 -void acornscsi_dma_xfer(1232,34264 -void acornscsi_dma_adjust(1248,34692 -acornscsi_write_pio(1289,36074 -acornscsi_sendcommand(1319,36740 -void acornscsi_sendmessage(1337,37297 -void acornscsi_readstatusbyte(1420,39581 -unsigned char acornscsi_readmessagebyte(1433,40026 -void acornscsi_message(1457,40696 -void acornscsi_buildmessages(1730,49760 -int acornscsi_starttransfer(1783,51147 -int acornscsi_reconnect(1815,52284 -int acornscsi_reconnect_finish(1875,53910 -void acornscsi_disconnect_unexpected(1934,55715 -void acornscsi_abortcmd(1952,56217 -intr_ret_t acornscsi_sbicintr(1978,57031 -acornscsi_intr(2470,72966 -int acornscsi_queuecmd(2518,74122 -void acornscsi_reportstatus(2576,75846 -enum res_abort res_abort2591,76106 -enum res_abort { res_not_running,2591,76106 -enum res_abort { res_not_running, res_success,2591,76106 -enum res_abort { res_not_running, res_success, res_success_clear,2591,76106 -enum res_abort { res_not_running, res_success, res_success_clear, res_snooze 2591,76106 -acornscsi_do_abort(2600,76389 -int acornscsi_abort(2692,78971 -int acornscsi_reset(2779,81108 -char *acornscsi_info(2836,82599 -int acornscsi_proc_info(2860,83103 -static Scsi_Host_Template acornscsi_template 2973,86193 -acornscsi_probe(2992,86665 -static void __devexit acornscsi_remove(3074,88778 -static const struct ecard_id acornscsi_cids[3101,89453 -static struct ecard_driver acornscsi_driver 3106,89562 -static int __init acornscsi_init(3115,89752 -static void __exit acornscsi_exit(3120,89846 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/cumana_1.c,1346 -#define AUTOSENSE24,426 -#define PSEUDO_DMA25,444 -#define CUMANASCSI_PUBLIC_RELEASE 27,464 -#define NCR5380_implementation_fields 29,501 -#define NCR5380_local_declare(NCR5380_local_declare30,554 -#define NCR5380_setup(NCR5380_setup31,615 -#define NCR5380_read(NCR5380_read32,669 -#define NCR5380_write(NCR5380_write33,728 -#define NCR5380_intr 34,802 -#define NCR5380_queue_command 35,841 -#define NCR5380_proc_info 36,897 -#define BOARD_NORMAL 38,946 -#define BOARD_NCR53C400 39,969 -void cumanascsi_setup(43,1021 -const char *cumanascsi_info(47,1070 -#define CTRL(CTRL53,1160 -#define STAT(STAT54,1211 -#define IN(IN55,1244 -#define OUT(OUT56,1275 -#define CTRL(CTRL58,1318 -#define STAT(STAT59,1363 -#define IN(IN60,1387 -#define IN2(IN261,1409 -#define OUT(OUT62,1476 -#define OUT2(OUT263,1506 -#define L(L65,1572 -#define H(H66,1617 -NCR5380_pwrite(69,1681 -NCR5380_pread(139,3358 -#define CTRL(CTRL212,4977 -static char cumanascsi_read(214,5025 -static void cumanascsi_write(227,5295 -static Scsi_Host_Template cumanascsi_template 241,5590 -cumanascsi1_probe(260,6148 -static void __devexit cumanascsi1_remove(316,7499 -static const struct ecard_id cumanascsi1_cids[329,7798 -static struct ecard_driver cumanascsi1_driver 334,7912 -static int __init cumanascsi_init(343,8112 -static void __exit cumanascsi_exit(348,8209 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/arm/msgqueue.h,162 -#define MSGQUEUE_H13,325 -struct message message15,345 -struct msgqueue_entry msgqueue_entry21,413 -#define NR_MESSAGES 26,498 -} MsgQueue_t;MsgQueue_t32,650 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/53c700.h,7242 -#define _53C700_H9,193 -#define CONFIG_53C700_BOTH_MAPPED18,368 -#define DEBUG(DEBUG28,652 -#define DEBUG(DEBUG30,684 -#define NCR_700_COMMAND_SLOTS_PER_HOST 34,753 -#define NCR_700_SG_SEGMENTS 36,848 -#define NCR_700_MAX_LUNS 38,941 -#define NCR_700_LUN_MASK 39,970 -#define NCR_700_MAX_TAGS 41,1082 -#define NCR_700_DEFAULT_TAGS 43,1180 -#define NCR_700_CMD_PER_LUN 48,1405 -#define NCR_700_INTERNAL_SENSE_MAGIC 50,1511 -enum NCR_700_Host_State NCR_700_Host_State68,2181 - NCR_700_HOST_BUSY,69,2207 - NCR_700_HOST_FREE,70,2227 -struct NCR_700_SG_List NCR_700_SG_List73,2251 - #define SCRIPT_MOVE_DATA_IN 76,2396 - #define SCRIPT_MOVE_DATA_OUT 77,2437 - #define SCRIPT_NOP 80,2505 - #define SCRIPT_RETURN 81,2538 -#define NCR_700_DEV_NEGOTIATED_SYNC 102,3377 -#define NCR_700_DEV_BEGIN_SYNC_NEGOTIATION 103,3421 -#define NCR_700_DEV_BEGIN_TAG_QUEUEING 104,3472 -#define NCR_700_DEV_PRINT_SYNC_NEGOTIATION 105,3519 -NCR_700_set_depth(108,3590 -NCR_700_get_depth(117,3775 -NCR_700_is_flag_set(122,3896 -NCR_700_is_flag_clear(127,4029 -NCR_700_set_flag(132,4162 -NCR_700_clear_flag(137,4277 -struct NCR_700_command_slot NCR_700_command_slot142,4377 - #define NCR_700_SLOT_MASK 145,4488 - #define NCR_700_SLOT_MAGIC 146,4520 - #define NCR_700_SLOT_FREE 147,4553 - #define NCR_700_SLOT_BUSY 148,4626 - #define NCR_700_SLOT_QUEUED 149,4712 -struct NCR_700_Host_Parameters NCR_700_Host_Parameters164,5213 -#define MSG_ARRAY_SIZE 196,6557 -#define MSGOUT_OFFSET 197,6582 -#define MSGIN_OFFSET 199,6652 -#define STATUS_OFFSET 201,6736 -#define SLOTS_OFFSET 203,6821 -#define TOTAL_MEM_SIZE 205,6928 -#define bE 227,7635 -#define bSWAP 228,7681 -#define bE 230,7750 -#define bSWAP 231,7763 -#define bE 233,7810 -#define bSWAP 234,7823 -#define bS_to_cpu(bS_to_cpu238,7939 -#define bS_to_host(bS_to_host239,7991 -#define SCNTL0_REG 243,8187 -#define FULL_ARBITRATION 244,8213 -#define PARITY 245,8244 -#define ENABLE_PARITY 246,8267 -#define AUTO_ATN 247,8296 -#define SCNTL1_REG 248,8320 -#define SLOW_BUS 249,8346 -#define ENABLE_SELECT 250,8370 -#define ASSERT_RST 251,8399 -#define ASSERT_EVEN_PARITY 252,8425 -#define SDID_REG 253,8458 -#define SIEN_REG 254,8482 -#define PHASE_MM_INT 255,8506 -#define FUNC_COMP_INT 256,8534 -#define SEL_TIMEOUT_INT 257,8563 -#define SELECT_INT 258,8594 -#define GROSS_ERR_INT 259,8620 -#define UX_DISC_INT 260,8649 -#define RST_INT 261,8676 -#define PAR_ERR_INT 262,8700 -#define SCID_REG 263,8727 -#define SXFER_REG 264,8751 -#define ASYNC_OPERATION 265,8776 -#define SODL_REG 266,8807 -#define SOCL_REG 267,8852 -#define SFBR_REG 268,8876 -#define SIDL_REG 269,8900 -#define SBDL_REG 270,8924 -#define SBCL_REG 271,8948 -#define SBCL_IO 273,8988 -#define SYNC_DIV_AS_ASYNC 275,9028 -#define SYNC_DIV_1_0 276,9060 -#define SYNC_DIV_1_5 277,9088 -#define SYNC_DIV_2_0 278,9116 -#define DSTAT_REG 279,9144 -#define ILGL_INST_DETECTED 280,9169 -#define WATCH_DOG_INTERRUPT 281,9202 -#define SCRIPT_INT_RECEIVED 282,9236 -#define ABORTED 283,9270 -#define SSTAT0_REG 284,9294 -#define PARITY_ERROR 285,9320 -#define SCSI_RESET_DETECTED 286,9348 -#define UNEXPECTED_DISCONNECT 287,9382 -#define SCSI_GROSS_ERROR 288,9418 -#define SELECTED 289,9449 -#define SELECTION_TIMEOUT 290,9473 -#define FUNCTION_COMPLETE 291,9505 -#define PHASE_MISMATCH 292,9537 -#define SSTAT1_REG 293,9568 -#define SIDL_REG_FULL 294,9594 -#define SODR_REG_FULL 295,9623 -#define SODL_REG_FULL 296,9652 -#define SSTAT2_REG 297,9681 -#define CTEST0_REG 298,9726 -#define BTB_TIMER_DISABLE 299,9771 -#define CTEST1_REG 300,9803 -#define CTEST2_REG 301,9848 -#define CTEST3_REG 302,9893 -#define CTEST4_REG 303,9938 -#define DISABLE_FIFO 304,9983 -#define SLBE 305,10028 -#define SFWR 306,10073 -#define BYTE_LANE0 307,10118 -#define BYTE_LANE1 308,10163 -#define BYTE_LANE2 309,10208 -#define BYTE_LANE3 310,10253 -#define SCSI_ZMODE 311,10298 -#define ZMODE 312,10343 -#define CTEST5_REG 313,10388 -#define MASTER_CONTROL 314,10433 -#define DMA_DIRECTION 315,10478 -#define CTEST7_REG 316,10523 -#define BURST_DISABLE 317,10568 -#define SEL_TIMEOUT_DISABLE 318,10612 -#define DFP 319,10661 -#define EVP 320,10706 -#define DIFF 321,10751 -#define CTEST6_REG 322,10772 -#define TEMP_REG 323,10817 -#define DFIFO_REG 324,10841 -#define FLUSH_DMA_FIFO 325,10866 -#define CLR_FIFO 326,10896 -#define ISTAT_REG 327,10920 -#define ABORT_OPERATION 328,10945 -#define SOFTWARE_RESET_710 329,10976 -#define DMA_INT_PENDING 330,11009 -#define SCSI_INT_PENDING 331,11040 -#define CONNECTED 332,11071 -#define CTEST8_REG 333,11096 -#define LAST_DIS_ENBL 334,11141 -#define SHORTEN_FILTERING 335,11186 -#define ENABLE_ACTIVE_NEGATION 336,11218 -#define GENERATE_RECEIVE_PARITY 337,11255 -#define CLR_FIFO_710 338,11293 -#define FLUSH_DMA_FIFO_710 339,11321 -#define CTEST9_REG 340,11354 -#define DBC_REG 341,11399 -#define DCMD_REG 342,11423 -#define DNAD_REG 343,11447 -#define DIEN_REG 344,11471 -#define BUS_FAULT 345,11495 -#define ABORT_INT 346,11520 -#define INT_INST_INT 347,11545 -#define WD_INT 348,11573 -#define ILGL_INST_INT 349,11596 -#define DCNTL_REG 350,11625 -#define SOFTWARE_RESET 351,11650 -#define COMPAT_700_MODE 352,11680 -#define SCRPTS_16BITS 353,11711 -#define ASYNC_DIV_2_0 354,11740 -#define ASYNC_DIV_1_5 355,11769 -#define ASYNC_DIV_1_0 356,11798 -#define ASYNC_DIV_3_0 357,11827 -#define DMODE_710_REG 358,11856 -#define DMODE_700_REG 359,11885 -#define BURST_LENGTH_1 360,11914 -#define BURST_LENGTH_2 361,11944 -#define BURST_LENGTH_4 362,11974 -#define BURST_LENGTH_8 363,12004 -#define DMODE_FC1 364,12034 -#define DMODE_FC2 365,12059 -#define BW16 366,12084 -#define MODE_286 367,12104 -#define IO_XFER 368,12126 -#define FIXED_ADDR 369,12147 -#define DSP_REG 371,12171 -#define DSPS_REG 372,12216 -#define NCR_700_MAX_OFFSET 376,12400 -#define NCR_710_MAX_OFFSET 379,12532 -#define NCR_700_MIN_XFERP 380,12561 -#define NCR_710_MIN_XFERP 381,12589 -#define NCR_700_MIN_PERIOD 382,12617 -#define script_patch_32(script_patch_32384,12678 -#define script_patch_32_abs(script_patch_32_abs396,13113 -#define script_patch_ID(script_patch_ID408,13549 -#define script_patch_16(script_patch_16422,14038 -NCR_700_mem_readb(438,14546 -NCR_700_mem_readl(447,14792 -NCR_700_mem_writeb(462,15148 -NCR_700_mem_writel(471,15407 -NCR_700_io_readb(486,15758 -NCR_700_io_readl(495,16001 -NCR_700_io_writeb(511,16349 -NCR_700_io_writel(520,16605 -NCR_700_readb(537,16981 -NCR_700_readl(553,17318 -NCR_700_writeb(569,17655 -NCR_700_writel(581,17982 -NCR_700_set_mem_mapped(593,18310 -NCR_700_set_io_mapped(599,18426 -#define NCR_700_readb 607,18563 -#define NCR_700_readl 608,18602 -#define NCR_700_writeb 609,18641 -#define NCR_700_writel 610,18682 -#define NCR_700_set_io_mapped(NCR_700_set_io_mapped612,18724 -#define NCR_700_set_mem_mapped(NCR_700_set_mem_mapped613,18757 -#define NCR_700_readb 617,18855 -#define NCR_700_readl 618,18895 -#define NCR_700_writeb 619,18935 -#define NCR_700_writel 620,18977 -#define NCR_700_set_io_mapped(NCR_700_set_io_mapped622,19020 -#define NCR_700_set_mem_mapped(NCR_700_set_mem_mapped623,19075 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sun3_scsi.h,4264 -#define SUN3_NCR5380_H37,683 -#define SUN3SCSI_PUBLIC_RELEASE 39,707 -#define IRQ_SUN3_SCSI 45,835 -#define IOBASE_SUN3_SCSI 46,859 -#define IOBASE_SUN3_VMESCSI 48,896 -#define CMD_PER_LUN 58,1274 -#define CAN_QUEUE 62,1322 -#define SG_TABLESIZE 66,1372 -#define MAX_TAGS 70,1426 -#define USE_TAGGED_QUEUING 74,1481 -#define SUN3_SCSI_NAME 80,1566 -#define SUN3_SCSI_NAME 82,1619 -#define NCR5380_implementation_fields 87,1687 -#define NCR5380_local_declare(NCR5380_local_declare90,1747 -#define NCR5380_setup(NCR5380_setup93,1818 -#define NCR5380_read(NCR5380_read96,1882 -#define NCR5380_write(NCR5380_write97,1927 -#define NCR5380_intr 99,1989 -#define NCR5380_queue_command 100,2024 -#define NCR5380_bus_reset 101,2077 -#define NCR5380_abort 102,2122 -#define NCR5380_proc_info 103,2159 -#define NCR5380_dma_xfer_len(NCR5380_dma_xfer_len104,2204 -#define NCR5380_dma_write_setup(NCR5380_dma_write_setup107,2335 -#define NCR5380_dma_read_setup(NCR5380_dma_read_setup108,2425 -#define NCR5380_dma_residual 109,2514 -#define BOARD_NORMAL 111,2566 -#define BOARD_NCR53C400 112,2589 -struct sun3_dma_regs sun3_dma_regs116,2733 -struct sun3_udc_regs sun3_udc_regs134,3442 -#define UDC_MODE 144,3828 -#define UDC_CSR 145,3851 -#define UDC_CHN_HI 146,3893 -#define UDC_CHN_LO 147,3939 -#define UDC_CURA_HI 148,3983 -#define UDC_CURA_LO 149,4029 -#define UDC_CURB_HI 150,4074 -#define UDC_CURB_LO 151,4120 -#define UDC_MODE_HI 152,4165 -#define UDC_MODE_LO 153,4210 -#define UDC_COUNT 154,4254 -#define UDC_RESET 157,4322 -#define UDC_CHN_START 158,4342 -#define UDC_INT_ENABLE 159,4387 -#define UDC_MODE_HIWORD 162,4460 -#define UDC_MODE_LSEND 163,4489 -#define UDC_MODE_LRECV 164,4517 -#define UDC_RSEL_SEND 167,4571 -#define UDC_RSEL_RECV 168,4599 -#define CSR_DMA_ACTIVE 171,4650 -#define CSR_DMA_CONFLICT 172,4680 -#define CSR_DMA_BUSERR 173,4712 -#define CSR_FIFO_EMPTY 175,4743 -#define CSR_SDB_INT 176,4792 -#define CSR_DMA_INT 177,4846 -#define CSR_LEFT 179,4901 -#define CSR_LEFT_3 180,4923 -#define CSR_LEFT_2 181,4947 -#define CSR_LEFT_1 182,4971 -#define CSR_PACK_ENABLE 183,4995 -#define CSR_DMA_ENABLE 185,5025 -#define CSR_SEND 187,5054 -#define CSR_FIFO 188,5100 -#define CSR_INTR 189,5138 -#define CSR_SCSI 190,5182 -#define VME_DATA24 192,5205 -#define ARB_PRINTK(ARB_PRINTK226,6050 -#define ARB_PRINTK(ARB_PRINTK229,6131 -#define ASEN_PRINTK(ASEN_PRINTK232,6204 -#define ASEN_PRINTK(ASEN_PRINTK235,6286 -#define DMA_PRINTK(DMA_PRINTK238,6354 -#define DMA_PRINTK(DMA_PRINTK241,6435 -#define HSH_PRINTK(HSH_PRINTK244,6508 -#define HSH_PRINTK(HSH_PRINTK247,6589 -#define INF_PRINTK(INF_PRINTK250,6664 -#define INF_PRINTK(INF_PRINTK253,6745 -#define INI_PRINTK(INI_PRINTK256,6813 -#define INI_PRINTK(INI_PRINTK259,6894 -#define INT_PRINTK(INT_PRINTK262,6962 -#define INT_PRINTK(INT_PRINTK265,7043 -#define LNK_PRINTK(LNK_PRINTK268,7113 -#define LNK_PRINTK(LNK_PRINTK271,7194 -#define MAIN_PRINTK(MAIN_PRINTK274,7262 -#define MAIN_PRINTK(MAIN_PRINTK277,7344 -#define NDAT_PRINTK(NDAT_PRINTK280,7419 -#define NDAT_PRINTK(NDAT_PRINTK283,7501 -#define NWR_PRINTK(NWR_PRINTK286,7574 -#define NWR_PRINTK(NWR_PRINTK289,7655 -#define PIO_PRINTK(PIO_PRINTK292,7722 -#define PIO_PRINTK(PIO_PRINTK295,7803 -#define PDMA_PRINTK(PDMA_PRINTK298,7877 -#define PDMA_PRINTK(PDMA_PRINTK301,7959 -#define QU_PRINTK(QU_PRINTK304,8030 -#define QU_PRINTK(QU_PRINTK307,8110 -#define RSL_PRINTK(RSL_PRINTK310,8184 -#define RSL_PRINTK(RSL_PRINTK313,8265 -#define SEL_PRINTK(SEL_PRINTK316,8338 -#define SEL_PRINTK(SEL_PRINTK319,8419 -#define USL_PRINTK(USL_PRINTK322,8489 -#define USL_PRINTK(USL_PRINTK325,8570 -#define LBS_PRINTK(LBS_PRINTK328,8648 -#define LBS_PRINTK(LBS_PRINTK331,8729 -#define RSS_PRINTK(RSS_PRINTK334,8807 -#define RSS_PRINTK(RSS_PRINTK337,8888 -#define EXT_PRINTK(EXT_PRINTK340,8960 -#define EXT_PRINTK(EXT_PRINTK343,9041 -#define ABRT_PRINTK(ABRT_PRINTK346,9110 -#define ABRT_PRINTK(ABRT_PRINTK349,9192 -#define TAG_PRINTK(TAG_PRINTK352,9261 -#define TAG_PRINTK(TAG_PRINTK355,9342 -#define MER_PRINTK(MER_PRINTK358,9413 -#define MER_PRINTK(MER_PRINTK361,9494 -#define NCR_PRINT(NCR_PRINT366,9598 -#define NCR_PRINT_PHASE(NCR_PRINT_PHASE369,9682 -#define NCR_PRINT_STATUS(NCR_PRINT_STATUS372,9778 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsiiom.c,1248 -dc390_freetag 9,447 -dc390_StartSCSI(19,650 -#define DMA_INT 153,5648 -dc390_dma_intr 158,5730 -dc390_InvalidCmd(218,7641 -DC390_Interrupt(226,7832 -static irqreturn_t do_DC390_Interrupt(345,11052 -dc390_DataOut_0(356,11387 -dc390_DataIn_0(420,13331 -dc390_Command_0(545,17152 -dc390_Status_0(550,17248 -dc390_MsgOut_0(563,17586 -dc390_reprog 572,17824 -dc390_printMsg 584,18136 -#define DC390_ENABLE_MSGOUT 594,18302 -dc390_MsgIn_reject 598,18407 -dc390_EnableMsgOut_Abort 607,18649 -dc390_MsgIn_QTag 615,18874 -dc390_MsgIn_set_async 656,19731 -dc390_MsgIn_set_sync 674,20361 -dc390_restore_ptr 749,22777 -dc390_MsgIn_complete 804,24697 -dc390_MsgIn_0(820,25005 -dc390_DataIO_Comm(894,27141 -dc390_DataOutPhase(975,29656 -dc390_DataInPhase(981,29808 -dc390_CommandPhase(987,29958 -dc390_StatusPhase(1019,30841 -dc390_MsgOutPhase(1028,31110 -dc390_MsgInPhase(1081,32558 -dc390_Nop_0(1094,32904 -dc390_Nop_1(1099,32996 -dc390_SetXferRate(1105,33089 -dc390_Disconnect(1136,33684 -dc390_Reselect(1217,35596 -dc390_tagq_blacklist 1303,38199 -dc390_disc_tagq_set 1314,38373 -dc390_add_dev 1336,39006 -dc390_RequestSense(1346,39274 -dc390_SRBdone(1375,40080 -dc390_DoingSRB_Done(1581,46192 -dc390_ResetSCSIBus(1610,46769 -dc390_ScsiRstDetect(1625,47107 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pluto.h,125 -#define _PLUTO_H7,155 -struct pluto pluto11,203 -struct pluto_inquiry pluto_inquiry19,329 -#define PLUTO_CAN_QUEUE 39,765 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dmx3191d.c,213 -#define AUTOSENSE50,1483 -static int __init dmx3191d_detect(55,1545 -static const char * dmx3191d_info(101,2781 -static int dmx3191d_release_resources(107,2903 -static Scsi_Host_Template driver_template 119,3159 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/psi_chip.h,2294 -#define PSI_CHIP28,1123 -#define CHIP_MAXDRIVES 33,1271 -#define CHIP_ADRS_0 38,1432 -#define CHIP_ADRS_1 39,1462 -#define CHIP_ADRS_2 40,1492 -#define CHIP_ADRS_3 41,1522 -#define CHIP_ADRS_4 42,1552 -#define CHIP_ADRS_5 43,1582 -#define CHIP_EEPROM_BIOS 48,1740 -#define CHIP_EEPROM_DATA 49,1795 -#define CHIP_EEPROM_FACTORY 50,1859 -#define CHIP_EEPROM_SETUP 51,1928 -#define CHIP_EEPROM_SIZE 53,1997 -#define CHIP_EEPROM_BIOS_SIZE 54,2063 -#define CHIP_EEPROM_DATA_SIZE 55,2131 -#define CHIP_EEPROM_SETUP_SIZE 56,2221 -#define CHIP_IRQ_10 61,2433 -#define CHIP_IRQ_11 62,2461 -#define CHIP_IRQ_12 63,2489 -#define CHIP_SETUP_BASE 68,2649 -#define REG_DATA 73,2827 -#define REG_ERROR 74,2852 -#define REG_SECTOR_COUNT 75,2878 -#define REG_LBA_0 76,2909 -#define REG_LBA_8 77,2935 -#define REG_LBA_16 78,2961 -#define REG_LBA_24 79,2988 -#define REG_STAT_CMD 80,3015 -#define REG_SEL_FAIL 81,3043 -#define REG_IRQ_STATUS 82,3071 -#define REG_ADDRESS 83,3101 -#define REG_FAIL 84,3129 -#define REG_ALT_STAT 85,3154 -#define REG_DRIVE_ADRS 86,3185 -#define CHIP_DEVICE 91,3345 -#define CHIP_DEVICE_0 92,3375 -#define CHIP_DEVICE_1 93,3406 -#define CHIP_DEVICE_2 94,3437 -#define CHIP_DEVICE_3 95,3468 -#define CHIP_DEVICE_4 96,3499 -#define CHIP_DEVICE_5 97,3530 -#define CHIP_DEVICE_6 98,3561 -#define CHIP_DEVICE_7 99,3592 - } CHIP_DEVICE_N;CHIP_DEVICE_N105,3766 -#define CHIP_CONFIG 107,3785 - } CHIP_CONFIG_N;CHIP_CONFIG_N113,4028 -#define CHIP_MAP 115,4047 -#define CHIP_RAID 118,4109 -#define CHIP_RAID_1 119,4185 -#define CHIP_RAID_2 120,4215 -#define CHIP_RAID_3 121,4245 -#define CHIP_RAID_4 122,4275 -#define CHIP_ID 127,4436 -#define SEL_RAM 128,4461 -#define MASK_FAIL 129,4488 -#define SECTORSXFER 134,4648 -#define SEL_NONE 139,4807 -#define SEL_1 140,4832 -#define SEL_2 141,4855 -#define SEL_3 142,4878 -#define SEL_4 143,4901 -#define PIC1 148,5067 -#define PIC2 149,5122 -#define INT_OCW1 150,5178 -#define EOI 151,5240 -#define GEOMETRY_NONE 156,5434 -#define GEOMETRY_AUTO 157,5478 -#define GEOMETRY_USER 158,5538 -#define DEVICE_NONE 160,5596 -#define DEVICE_INACTIVE 161,5646 -#define DEVICE_ATAPI 162,5722 -#define DEVICE_DASD_NONLBA 163,5790 -#define DEVICE_DASD_LBA 164,5855 - } SETUP_DEVICE, *PSETUP_DEVICE;PSETUP_DEVICE179,6430 - } SETUP, *PSETUP;PSETUP192,6700 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/st.c,5115 -static char *verstr 20,698 -#define DEBUG 45,1322 -#define ST_DEB_MSG 51,1590 -#define DEB(DEB52,1622 -#define DEBC(DEBC53,1639 -#define DEB(DEB55,1684 -#define DEBC(DEBC56,1699 -#define ST_KILOBYTE 66,1831 -static int buffer_kbs;71,1898 -static int max_sg_segs;72,1921 -static int try_direct_io 73,1945 -static int try_rdio 74,1987 -static int try_wdio 75,2015 -static int st_dev_max;77,2044 -static int st_nr_dev;78,2067 -static struct class_simple *st_sysfs_class;80,2090 -static int write_threshold_kbs;104,3128 -static struct st_dev_parm st_dev_parm105,3194 -} parms[108,3246 -} parms[] __initdata 108,3246 -static char *st_formats[130,3708 -#define ST_FIXED_BUFFER_SIZE 136,3886 -#define MAX_RETRIES 146,4211 -#define MAX_WRITE_RETRIES 147,4233 -#define MAX_READY_RETRIES 148,4261 -#define NO_TAPE 149,4289 -#define ST_TIMEOUT 151,4317 -#define ST_LONG_TIMEOUT 152,4347 -#define TAPE_NR(TAPE_NR155,4432 -#define TAPE_MODE(TAPE_MODE157,4547 -#define TAPE_MINOR(TAPE_MINOR160,4703 -#define SET_DENS_AND_BLK 165,4980 -static rwlock_t st_dev_arr_lock 167,5014 -static int st_fixed_buffer_size 169,5067 -static int st_max_sg_segs 170,5123 -static Scsi_Tape **scsi_tapes 172,5163 -static int modes_defined;174,5202 -static struct scsi_driver st_template 198,6185 -#define SIGS_FROM_OSST 218,6618 -struct st_reject_data st_reject_data226,6828 -static struct st_reject_data reject_list[233,6967 -static char * st_incompatible(240,7234 -static inline char *tape_name(257,7649 -static int st_chk_result(263,7773 -static void st_sleep_done(354,10483 - st_do_scsi(389,11643 -static void write_behind_check(435,13006 -static int cross_eof(471,13845 -static int flush_write_buffer(505,14749 -static int flush_buffer(580,16822 -static int set_mode_densblk(635,18070 -static int do_door_lock(669,18971 -static void reset_state(690,19473 -#define CHKRES_READY 715,20054 -#define CHKRES_NEW_SESSION 716,20083 -#define CHKRES_NOT_READY 717,20112 -#define CHKRES_NO_TAPE 718,20141 -#define MAX_ATTENTIONS 720,20171 -static int test_ready(722,20201 -static int check_tape(797,21923 -static int st_open(996,28451 -static int st_flush(1075,30321 -static int st_release(1189,33636 -static ssize_t rw_checks(1207,34040 -static int setup_buffering(1274,35402 -static void release_buffering(1332,37006 -st_write(1346,37238 -static long read_tape(1633,44793 -st_read(1815,50816 -static int st_set_options(1986,55317 -#define MODE_HEADER_LENGTH 2152,61448 -#define MH_OFF_DATA_LENGTH 2155,61519 -#define MH_OFF_MEDIUM_TYPE 2156,61552 -#define MH_OFF_DEV_SPECIFIC 2157,61585 -#define MH_OFF_BDESCS_LENGTH 2158,61618 -#define MP_OFF_PAGE_NBR 2159,61651 -#define MP_OFF_PAGE_LENGTH 2160,61684 -#define MH_BIT_WP 2163,61755 -#define MP_MSK_PAGE_NBR 2164,61791 -#define MODE_SENSE_OMIT_BDESCS 2167,61865 -#define MODE_SELECT_PAGE_FORMAT 2169,61902 -static int read_mode_page(2174,62124 -static int write_mode_page(2199,62821 -#define COMPRESSION_PAGE 2228,63715 -#define COMPRESSION_PAGE_LENGTH 2229,63752 -#define CP_OFF_DCE_DCC 2231,63788 -#define CP_OFF_C_ALGO 2232,63822 -#define DCE_MASK 2234,63857 -#define DCC_MASK 2235,63880 -#define RED_MASK 2236,63903 -static int st_compression(2245,64244 -static int do_load_unload(2299,65863 -static int st_int_ioctl(2373,67586 -static int get_location(2787,80024 -static int set_location(2847,81839 -static int find_partition(2950,84678 -static int switch_partition(2964,84949 -#define PART_PAGE 2978,85326 -#define PART_PAGE_FIXED_LENGTH 2979,85351 -#define PP_OFF_MAX_ADD_PARTS 2981,85385 -#define PP_OFF_NBR_ADD_PARTS 2982,85418 -#define PP_OFF_FLAGS 2983,85451 -#define PP_OFF_PART_UNITS 2984,85484 -#define PP_OFF_RESERVED 2985,85517 -#define PP_BIT_IDP 2987,85551 -#define PP_MSK_PSUM_MB 2988,85587 -static int nbr_partitions(2992,85734 -static int partition_tape(3035,87425 -static int st_ioctl(3097,89373 - new_tape_buffer(3427,98319 -static int enlarge_buffer(3460,99101 -static void normalize_buffer(3509,100383 -static int append_to_buffer(3525,100854 -static int from_buffer(3556,101773 -static void move_buffer_data(3587,102637 -static void buf_to_sg(3625,103656 -static void validate_options(3652,104267 -static int __init st_setup(3663,104535 -static struct file_operations st_fops 3707,105471 -static int st_probe(3718,105662 -static int st_remove(3962,112422 -static void st_intr(4006,113555 -static int st_init_command(4015,113789 -static int __init init_st(4041,114365 -static void __exit exit_st(4073,115186 -static ssize_t st_try_direct_io_show(4091,115626 -static ssize_t st_fixed_buffer_size_show(4097,115836 -static ssize_t st_max_sg_segs_show(4103,116065 -static ssize_t st_version_show(4109,116270 -static void do_create_driverfs_files(4115,116457 -static void do_remove_driverfs_files(4125,116793 -static ssize_t st_defined_show(4137,117169 -static ssize_t st_defblk_show(4148,117447 -static ssize_t st_defdensity_show(4159,117739 -static ssize_t st_defcompression_show(4172,118104 -static void do_create_class_files(4183,118424 -static int st_map_user_pages(4239,120093 -static int sgl_map_user_pages(4262,120641 -static int sgl_unmap_user_pages(4342,122411 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ipr.c,7918 -static struct list_head ipr_ioa_head 88,2583 -static unsigned int ipr_log_level 89,2652 -static unsigned int ipr_max_speed 90,2711 -static int ipr_testmode 91,2750 -static spinlock_t ipr_driver_lock 92,2779 -static const struct ipr_chip_cfg_t ipr_chip_cfg[95,2908 -static int ipr_max_bus_speeds 128,3791 -static const char *ipr_gpdd_dev_end_states[143,4495 -static const char *ipr_gpdd_dev_bus_phases[152,4686 -struct ipr_error_table_t ipr_error_table[168,4955 -static const struct ipr_ses_table_entry ipr_ses_table[363,11724 -static void ipr_trc_hook(399,13027 -#define ipr_trc_hook(ipr_trc_hook414,13510 -static void ipr_reinit_ipr_cmnd(424,13717 -static void ipr_init_ipr_cmnd(449,14327 -struct ipr_cmnd *ipr_get_free_ipr_cmnd(465,14654 -static void ipr_unmap_sglist(484,15053 -static void ipr_mask_and_clear_interrupts(513,15815 -static int ipr_save_pcix_cmd_reg(536,16392 -static int ipr_set_pcix_cmd_reg(562,17090 -static void ipr_scsi_eh_done(591,17841 -static void ipr_fail_all_ops(612,18326 -static void ipr_do_req(647,19201 -static void ipr_internal_cmd_done(680,20100 -static void ipr_send_blocking_cmd(697,20473 -static void ipr_send_hcam(724,21260 -static void ipr_init_res_entry(773,22806 -static void ipr_handle_config_change(793,23232 -static void ipr_process_ccn(855,24800 -static void ipr_log_vpd(883,25525 -static void ipr_log_cache_error(907,26187 -static void ipr_log_config_error(941,27258 -static void ipr_log_array_error(996,28947 -static void ipr_log_generic_error(1070,30772 -static u32 ipr_get_error(1102,31701 -static void ipr_handle_log_data(1123,32069 -static void ipr_process_error(1199,34195 -static void ipr_timeout(1228,34946 -static int ipr_reset_reload(1260,35814 -ipr_find_ses_entry(1288,36571 -static u32 ipr_get_max_scsi_speed(1323,37460 -static int ipr_wait_iodbg_ack(1356,38346 -static int ipr_get_ldump_data_section(1389,39151 -static int ipr_sdt_copy(1478,41749 -static void ipr_init_dump_entry_hdr(1539,43267 -static void ipr_dump_ioa_type_data(1555,43649 -static void ipr_dump_version_data(1581,44587 -static void ipr_dump_trace_data(1602,45278 -static void ipr_dump_location_data(1623,45964 -static void ipr_get_ioa_dump(1644,46656 -#define ipr_get_ioa_dump(ipr_get_ioa_dump1769,50493 -static void ipr_release_dump(1779,50666 -static void ipr_worker_thread(1810,51478 -static ssize_t ipr_read_trace(1893,53682 -static struct bin_attribute ipr_trace_attr 1916,54334 -static ssize_t ipr_show_fw_version(1934,54651 -static struct class_device_attribute ipr_fw_version_attr 1951,55292 -static ssize_t ipr_show_log_level(1967,55629 -static ssize_t ipr_store_log_level(1988,56257 -static struct class_device_attribute ipr_log_level_attr 2001,56718 -static ssize_t ipr_store_diagnostics(2022,57234 -static struct class_device_attribute ipr_diagnostics_attr 2057,58305 -static ssize_t ipr_store_reset_adapter(2076,58704 -static struct class_device_attribute ipr_ioa_reset_attr 2096,59333 -static struct ipr_sglist *ipr_alloc_ucode_buffer(2114,59767 -static void ipr_free_ucode_buffer(2183,61404 -static int ipr_copy_ucode_buffer(2205,61914 -static int ipr_map_ucode_buffer(2254,63042 -static ssize_t ipr_store_update_fw(2301,64357 -static struct class_device_attribute ipr_update_fw_attr 2381,66730 -static struct class_device_attribute *ipr_ioa_attrs[2389,66883 -static ssize_t ipr_read_dump(2409,67279 -static int ipr_alloc_dump(2496,69398 -static int ipr_free_dump(2540,70347 -static ssize_t ipr_write_dump(2573,70993 -static struct bin_attribute ipr_dump_attr 2597,71525 -static int ipr_free_dump(2607,71703 -static ssize_t ipr_store_queue_depth(2618,71945 -static struct device_attribute ipr_queue_depth_attr 2645,72690 -static ssize_t ipr_show_tcq_enable(2661,73025 -static ssize_t ipr_store_tcq_enable(2685,73728 -static struct device_attribute ipr_tcqing_attr 2719,74592 -static ssize_t ipr_show_adapter_handle(2736,74964 -static struct device_attribute ipr_adapter_handle_attr 2752,75514 -static struct device_attribute *ipr_dev_attrs[2760,75674 -static int ipr_biosparam(2781,76236 -static void ipr_slave_destroy(2809,76710 -static int ipr_slave_configure(2835,77339 -static int ipr_slave_alloc(2870,78381 -static int ipr_eh_host_reset(2905,79212 -static int ipr_eh_dev_reset(2936,79925 -static void ipr_bus_reset_done(2999,81553 -static void ipr_abort_timeout(3037,82575 -static int ipr_cancel_op(3075,83713 -static int ipr_eh_abort(3136,85280 -static irqreturn_t ipr_handle_other_interrupt(3165,86006 -static irqreturn_t ipr_isr(3207,87125 -static int ipr_build_ioadl(3298,89644 -static u8 ipr_get_task_attributes(3384,92376 -static void ipr_erp_done(3416,93021 -static void ipr_reinit_ipr_cmnd_for_erp(3448,93898 -static void ipr_erp_request_sense(3475,94549 -static void ipr_erp_cancel_all(3520,95909 -static void ipr_dump_ioasa(3555,96743 -static void ipr_gen_sense(3619,98362 -static void ipr_erp_start(3713,101217 -static void ipr_scsi_done(3792,103330 -static int ipr_save_ioafp_mode_select(3819,104121 -static int ipr_queuecommand(3849,104962 -static const char * ipr_ioa_info(3935,107523 -static struct scsi_host_template driver_template 3950,107903 -static const u16 ipr_blocked_processors[3974,108624 -static int ipr_invalid_adapter(3996,109159 -#define ipr_invalid_adapter(ipr_invalid_adapter4015,109561 -static int ipr_ioa_bringdown_done(4028,109849 -static int ipr_ioa_reset_done(4057,110563 -static void ipr_set_sup_dev_dflt(4110,111923 -static int ipr_set_supported_devs(4130,112562 -static void *ipr_get_mode_page(4182,114332 -static void ipr_check_term_power(4222,115384 -static void ipr_scsi_bus_speed_limit(4259,116334 -static void ipr_modify_ioafp_mode_page_28(4283,116916 -static void ipr_build_mode_select(4330,118311 -static int ipr_ioafp_mode_select_page28(4361,119303 -static void ipr_build_mode_sense(4405,120592 -static int ipr_ioafp_mode_sense_page28(4435,121501 -static int ipr_init_res_table(4465,122350 -static int ipr_ioafp_query_ioa_cfg(4536,124197 -static void ipr_ioafp_inquiry(4579,125630 -static int ipr_ioafp_page3_inquiry(4615,126705 -static int ipr_ioafp_std_inquiry(4646,127488 -static int ipr_ioafp_indentify_hrrq(4671,128082 -static void ipr_reset_timer_done(4717,129451 -static void ipr_reset_start_timer(4746,130236 -static void ipr_init_ioa_mem(4765,130750 -static int ipr_reset_enable_ioa(4789,131434 -static int ipr_reset_wait_for_dump(4837,132842 -static void ipr_unit_check_no_data(4859,133363 -static void ipr_get_unit_check_buffer(4875,133773 -static int ipr_reset_restore_cfg_space(4932,135437 -static int ipr_reset_start_bist(4986,136774 -static int ipr_reset_allowed(5014,137453 -static int ipr_reset_wait_to_start_bist(5037,138284 -static int ipr_reset_alert(5065,139114 -static int ipr_reset_ucode_download_done(5098,139989 -static int ipr_reset_ucode_download(5120,140630 -static int ipr_reset_shutdown_ioa(5165,141992 -static void ipr_reset_ioa_job(5206,143153 -static void _ipr_initiate_ioa_reset(5254,144425 -static void ipr_initiate_ioa_reset(5284,145232 -static int __devinit ipr_probe_ioa_part2(5331,146503 -static void ipr_free_cmd_blks(5368,147481 -static void ipr_free_mem(5394,148018 -static void ipr_free_all_resources(5430,148991 -static int __devinit ipr_alloc_cmd_blks(5451,149471 -static int __devinit ipr_alloc_mem(5503,150896 -static void __devinit ipr_initialize_bus_attr(5600,153503 -static void __devinit ipr_init_ioa_cfg(5624,154138 -static int __devinit ipr_probe_ioa(5679,156276 -static void ipr_scan_vsets(5813,159450 -static void ipr_initiate_ioa_bringdown(5836,160162 -static void __ipr_remove(5857,160638 -static void ipr_remove(5892,161544 -static int __devinit ipr_probe(5917,162061 -static void ipr_shutdown(5981,163368 -static struct pci_device_id ipr_pci_table[5992,163758 -static struct pci_device_id ipr_pci_table[] __devinitdata 5992,163758 -static struct pci_driver ipr_driver 6018,164845 -static int __init ipr_init(6034,165132 -static void __exit ipr_exit(6050,165413 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_promise.c,1782 -#define DRV_NAME 42,1452 -#define DRV_VERSION 43,1484 - PDC_PKT_SUBMIT 47,1520 - PDC_PKT_SUBMIT = 0x40,47,1520 - PDC_INT_SEQMASK 48,1579 - PDC_INT_SEQMASK = 0x40,48,1579 - PDC_TBG_MODE 49,1637 - PDC_TBG_MODE = 0x41,49,1637 - PDC_FLASH_CTL 50,1675 - PDC_FLASH_CTL = 0x44,50,1675 - PDC_PCI_CTL 51,1728 - PDC_PCI_CTL = 0x48,51,1728 - PDC_GLOBAL_CTL 52,1788 - PDC_GLOBAL_CTL = 0x48,52,1788 - PDC_CTLSTAT 53,1852 - PDC_CTLSTAT = 0x60,53,1852 - PDC_SATA_PLUG_CSR 54,1914 - PDC_SATA_PLUG_CSR = 0x6C,54,1914 - PDC_SLEW_CTL 55,1976 - PDC_SLEW_CTL = 0x470,55,1976 - PDC_ERR_MASK 57,2029 - board_2037x 60,2120 - board_20319 61,2167 - PDC_HAS_PATA 63,2211 - PDC_RESET 65,2263 -struct pdc_port_priv pdc_port_priv69,2310 -static Scsi_Host_Template pdc_ata_sht 88,3208 -static struct ata_port_operations pdc_ata_ops 107,3788 -static struct ata_port_info pdc_port_info[126,4363 -static struct pci_device_id pdc_ata_pci_tbl[150,4978 -static struct pci_driver pdc_ata_pci_driver 167,5551 -static int pdc_port_start(175,5719 -static void pdc_port_stop(210,6241 -static void pdc_reset_port(222,6498 -static void pdc_phy_reset(244,6847 -static u32 pdc_sata_scr_read 250,6941 -static void pdc_sata_scr_write 258,7128 -static void pdc_qc_prep(266,7322 -static void pdc_eng_timeout(295,7866 -static inline unsigned int pdc_host_intr(338,8885 -static void pdc_irq_clear(370,9544 -static irqreturn_t pdc_interrupt 378,9711 -static inline void pdc_packet_start(431,10867 -static int pdc_qc_issue_prot(449,11422 -static void pdc_tf_load_mmio(468,11690 -static void pdc_exec_command_mmio(476,11872 -static void pdc_ata_setup_port(484,12064 -static void pdc_host_init(502,12528 -static int pdc_ata_init_one 542,13706 -static int __init pdc_ata_init(648,16319 -static void __exit pdc_ata_exit(654,16408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/i60uscsi.c,958 -#define JIFFIES_TO_MS(JIFFIES_TO_MS87,4102 -#define MS_TO_JIFFIES(MS_TO_JIFFIES88,4145 -NVRAM nvram,111,5127 -NVRAM nvram, *nvramp 111,5127 -static UCHAR dftNvRam[112,5158 -static void waitForPause(162,7239 -UCHAR waitChipReady(170,7473 -UCHAR waitFWReady(183,7842 -UCHAR waitSCSIRSTdone(196,8205 -UCHAR waitHDOoff(209,8578 -UCHAR waitHDIset(222,8938 -unsigned short get_FW_version(235,9320 -UCHAR set_NVRAM(262,10155 -UCHAR get_NVRAM(283,10875 -void orc_exec_scb(306,11634 -int se2_rd_all(317,11994 -void se2_update_all(342,12638 -void read_eeprom(366,13225 -UCHAR load_FW(376,13489 -void setup_SCBs(443,16310 -static void initAFlag(475,17257 -int init_orchid(487,17507 -int orc_reset_scsi_bus(554,19943 -int orc_device_reset(580,20884 -ORC_SCB *__orc_alloc_scb(633,22296 -ORC_SCB *orc_alloc_scb(656,22764 -void orc_release_scb(669,23087 -void orc_release_dma(687,23512 -int abort_SCB(710,24418 -int orc_abort_srb(742,25652 -void orc_interrupt(784,26959 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicisp.h,121 -#define _QLOGICISP_H44,1238 -#define QLOGICISP_REQ_QUEUE_LEN 58,1891 -#define QLOGICISP_MAX_SG(QLOGICISP_MAX_SG59,1957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/nsp_message.c,72 -static void nsp_message_in(11,340 -static void nsp_message_out(53,1482 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/fdomain_stub.c,703 -static int irq_mask 65,2384 -static int irq_list[67,2442 -static int pc_debug 71,2527 -#define DEBUG(DEBUG73,2591 -static char *version 74,2659 -#define DEBUG(DEBUG77,2743 -typedef struct scsi_info_t scsi_info_t82,2851 -} scsi_info_t;scsi_info_t86,2952 -static dev_link_t *dev_list 97,3189 -static dev_info_t dev_info 99,3226 -static dev_link_t *fdomain_attach(101,3270 -static void fdomain_detach(154,4921 -#define CS_CHECK(CS_CHECK180,5524 -static void fdomain_config(183,5631 -static void fdomain_release(257,7944 -static int fdomain_event(277,8428 -static struct pcmcia_driver fdomain_cs_driver 314,9377 -static int __init init_fdomain_cs(323,9550 -static void __exit exit_fdomain_cs(328,9647 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/nsp_cs.h,6555 -#define __nsp_cs__16,458 -#define BIT(BIT29,626 -#define NSP_INITIATOR_ID 32,693 -#define NSP_SELTIMEOUT 34,722 -#define IRQCONTROL 42,1097 -# define IRQCONTROL_RESELECT_CLEAR 43,1130 -# define IRQCONTROL_PHASE_CHANGE_CLEAR 44,1177 -# define IRQCONTROL_TIMER_CLEAR 45,1224 -# define IRQCONTROL_FIFO_CLEAR 46,1271 -# define IRQCONTROL_ALLMASK 47,1318 -# define IRQCONTROL_ALLCLEAR 48,1363 -# define IRQCONTROL_IRQDISABLE 52,1557 -#define IRQSTATUS 54,1603 -# define IRQSTATUS_SCSI 55,1635 -# define IRQSTATUS_TIMER 56,1668 -# define IRQSTATUS_FIFO 57,1701 -# define IRQSTATUS_MASK 58,1734 -#define IFSELECT 60,1766 -# define IF_IFSEL 61,1796 -# define IF_REGSEL 62,1825 -#define FIFOSTATUS 64,1855 -# define FIFOSTATUS_CHIP_REVISION_MASK 65,1887 -# define FIFOSTATUS_CHIP_ID_MASK 66,1932 -# define FIFOSTATUS_FULL_EMPTY 67,1977 -#define INDEXREG 69,2025 -#define DATAREG 70,2057 -#define FIFODATA 71,2089 -#define FIFODATA1 72,2121 -#define FIFODATA2 73,2154 -#define FIFODATA3 74,2187 -#define EXTBUSCTRL 79,2384 -#define CLOCKDIV 81,2427 -# define CLOCK_40M 82,2459 -# define CLOCK_20M 83,2484 -# define FAST_20 84,2509 -#define TERMPWRCTRL 86,2537 -# define POWER_ON 87,2572 -#define SCSIIRQMODE 89,2599 -# define SCSI_PHASE_CHANGE_EI 90,2634 -# define RESELECT_EI 91,2672 -# define FIFO_IRQ_EI 92,2710 -# define SCSI_RESET_IRQ_EI 93,2748 -#define IRQPHASESENCE 95,2787 -# define LATCHED_MSG 96,2822 -# define LATCHED_IO 97,2856 -# define LATCHED_CD 98,2890 -# define LATCHED_BUS_FREE 99,2924 -# define PHASE_CHANGE_IRQ 100,2958 -# define RESELECT_IRQ 101,2992 -# define FIFO_IRQ 102,3026 -# define SCSI_RESET_IRQ 103,3060 -#define TIMERCOUNT 105,3095 -#define SCSIBUSCTRL 107,3130 -# define SCSI_SEL 108,3165 -# define SCSI_RST 109,3199 -# define SCSI_DATAOUT_ENB 110,3233 -# define SCSI_ATN 111,3267 -# define SCSI_ACK 112,3301 -# define SCSI_BSY 113,3335 -# define AUTODIRECTION 114,3369 -# define ACKENB 115,3403 -#define SCSIBUSMON 117,3438 -#define SETARBIT 119,3471 -# define ARBIT_GO 120,3501 -# define ARBIT_FLAG_CLEAR 121,3535 -#define ARBITSTATUS 123,3570 -# define ARBIT_WIN 125,3640 -# define ARBIT_FAIL 126,3674 -# define RESELECT_FLAG 127,3708 -#define PARITYCTRL 129,3743 -#define PARITYSTATUS 130,3776 -#define COMMANDCTRL 132,3812 -# define CLEAR_COMMAND_POINTER 133,3846 -# define AUTO_COMMAND_GO 134,3885 -#define RESELECTID 136,3925 -#define COMMANDDATA 137,3960 -#define POINTERCLR 139,3997 -# define POINTER_CLEAR 140,4032 -# define ACK_COUNTER_CLEAR 141,4068 -# define REQ_COUNTER_CLEAR 142,4104 -# define HOST_COUNTER_CLEAR 143,4140 -# define READ_SOURCE 144,4176 -# define ACK_COUNTER 145,4223 -# define REQ_COUNTER 146,4258 -# define HOST_COUNTER 147,4298 -#define TRANSFERCOUNT 149,4339 -#define TRANSFERMODE 151,4378 -# define MODE_MEM8 152,4415 -# define MODE_MEM32 153,4444 -# define MODE_ADR24 154,4473 -# define MODE_ADR32 155,4502 -# define MODE_IO8 156,4531 -# define MODE_IO32 157,4560 -# define TRANSFER_GO 158,4589 -# define BRAIND 159,4618 -#define SYNCREG 161,4648 -# define SYNCREG_OFFSET_MASK 162,4680 -# define SYNCREG_PERIOD_MASK 163,4716 -# define SYNCREG_PERIOD_SHIFT 164,4752 -#define SCSIDATALATCH 166,4786 -#define SCSIDATAIN 167,4823 -#define SCSIDATAWITHACK 168,4857 -#define SCAMCONTROL 169,4896 -#define SCAMSTATUS 170,4931 -#define SCAMDATA 171,4965 -#define OTHERCONTROL 173,4998 -# define TPL_ROM_WRITE_EN 174,5034 -# define TPWR_OUT 175,5068 -# define TPWR_SENSE 176,5102 -# define RA8_CONTROL 177,5136 -#define ACKWIDTH 179,5171 -#define CLRTESTPNT 180,5203 -#define ACKCNTLD 181,5237 -#define REQCNTLD 182,5269 -#define HSTCNTLD 183,5301 -#define CHECKSUM 184,5333 -#define S_MESSAGE 189,5548 -#define S_IO 190,5614 -#define S_CD 191,5676 -#define S_BUSY 192,5738 -#define S_ACK 193,5802 -#define S_REQUEST 194,5865 -#define S_SELECT 195,5931 -#define S_ATN 196,5995 -#define BUSMON_SEL 201,6248 -#define BUSMON_BSY 202,6284 -#define BUSMON_REQ 203,6318 -#define BUSMON_IO 204,6355 -#define BUSMON_ACK 205,6387 -#define BUSMON_BUS_FREE 206,6420 -#define BUSMON_COMMAND 207,6449 -#define BUSMON_MESSAGE_IN 208,6525 -#define BUSMON_MESSAGE_OUT 209,6601 -#define BUSMON_DATA_IN 210,6677 -#define BUSMON_DATA_OUT 211,6753 -#define BUSMON_STATUS 212,6829 -#define BUSMON_SELECT 213,6905 -#define BUSMON_RESELECT 214,6991 -#define BUSMON_PHASE_MASK 215,7077 -#define BUSPHASE_SELECT 217,7164 -#define BUSPHASE_COMMAND 218,7236 -#define BUSPHASE_MESSAGE_IN 219,7308 -#define BUSPHASE_MESSAGE_OUT 220,7380 -#define BUSPHASE_DATA_IN 221,7452 -#define BUSPHASE_DATA_OUT 222,7524 -#define BUSPHASE_STATUS 223,7596 -typedef struct scsi_info_t scsi_info_t227,7743 -} scsi_info_t;scsi_info_t238,8044 -typedef struct _sync_data _sync_data242,8105 -#define SYNC_NOT_YET 244,8164 -#define SYNC_OK 245,8187 -#define SYNC_NG 246,8210 -} sync_data;sync_data252,8342 -typedef struct _nsp_hw_data _nsp_hw_data254,8356 -#define NSP_MMIO_OFFSET 260,8496 -#define MSGBUF_SIZE 274,8761 -#define N_TARGET 278,8837 -} nsp_hw_data;nsp_hw_data291,9120 -# define show_command(show_command365,11974 -# define show_phase(show_phase366,12009 -# define show_busphase(show_busphase367,12044 -# define show_message(show_message368,12079 -enum _scsi_phase _scsi_phase374,12143 - PH_UNDETERMINED 375,12162 - PH_ARBSTART 376,12181 - PH_SELSTART 377,12200 - PH_SELECTED 378,12219 - PH_COMMAND 379,12238 - PH_DATA 380,12257 - PH_STATUS 381,12276 - PH_MSG_IN 382,12295 - PH_MSG_OUT 383,12314 - PH_DISCONNECT 384,12333 - PH_RESELECT 385,12352 - PH_ABORT 386,12371 - PH_RESET387,12390 -enum _data_in_out _data_in_out390,12404 - IO_UNKNOWN,391,12424 - IO_IN,392,12437 - IO_OUT393,12445 -enum _burst_mode _burst_mode396,12457 - BURST_IO8 397,12476 - BURST_IO32 398,12494 - BURST_MEM32 399,12512 -#define MSG_COMMAND_COMPLETE 406,12632 -#define MSG_EXTENDED 407,12666 -#define MSG_ABORT 408,12700 -#define MSG_NO_OPERATION 409,12734 -#define MSG_BUS_DEVICE_RESET 410,12768 -#define MSG_EXT_SDTR 412,12803 -# define scsi_register_host(scsi_register_host421,13017 -# define scsi_unregister_host(scsi_unregister_host422,13105 -# define scsi_host_put(scsi_host_put423,13195 -typedef void irqreturn_t;irqreturn_t425,13259 -# define IRQ_NONE 426,13285 -# define IRQ_HANDLED 427,13315 -# define IRQ_RETVAL(IRQ_RETVAL428,13345 -static inline struct Scsi_Host *scsi_host_get_next(431,13429 -static inline struct Scsi_Host *scsi_host_hn_get(441,13639 -static void cs_error(455,13901 -# define BUFFER_ADDR 462,14068 -# define BUFFER_ADDR 468,14225 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/nsp_io.h,1160 -#define __NSP_IO_H__13,279 -static inline void nsp_write(30,819 -static inline unsigned char nsp_read(37,957 -static inline unsigned char nsp_index_read(47,1165 -static inline void nsp_index_write(54,1338 -static inline void nsp_multi_read_1(67,1644 -static inline void nsp_fifo8_read(75,1841 -static inline void nsp_multi_read_2(86,2163 -static inline void nsp_fifo16_read(94,2360 -static inline void nsp_multi_read_4(105,2684 -static inline void nsp_fifo32_read(113,2881 -static inline void nsp_multi_write_1(124,3201 -static inline void nsp_fifo8_write(132,3403 -static inline void nsp_multi_write_2(142,3654 -static inline void nsp_fifo16_write(150,3856 -static inline void nsp_multi_write_4(160,4110 -static inline void nsp_fifo32_write(168,4312 -static inline void nsp_mmio_write(178,4555 -static inline unsigned char nsp_mmio_read(187,4759 -static inline unsigned char nsp_mmio_index_read(197,4965 -static inline void nsp_mmio_index_write(207,5292 -static inline void nsp_mmio_multi_read_4(219,5670 -static inline void nsp_mmio_fifo32_read(237,6131 -static inline void nsp_mmio_multi_write_4(245,6371 -static inline void nsp_mmio_fifo32_write(263,6836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/aha152x_stub.c,895 -static int pc_debug 60,2228 -#define DEBUG(DEBUG62,2292 -static char *version 63,2360 -#define DEBUG(DEBUG66,2444 -static u_int irq_mask 74,2643 -static int irq_list[75,2675 -static int host_id 78,2738 -static int reconnect 79,2762 -static int parity 80,2788 -static int synchronous 81,2811 -static int reset_delay 82,2839 -static int ext_trans 83,2869 -typedef struct scsi_info_t scsi_info_t98,3236 -} scsi_info_t;scsi_info_t102,3337 -static dev_link_t *dev_list;111,3576 -static dev_info_t dev_info 112,3605 -static dev_link_t *aha152x_attach(114,3649 -static void aha152x_detach(168,5301 -#define CS_CHECK(CS_CHECK194,5907 -static void aha152x_config_cs(197,6014 -static void aha152x_release_cs(279,8658 -static int aha152x_event(293,8971 -static struct pcmcia_driver aha152x_cs_driver 333,9999 -static int __init init_aha152x_cs(342,10172 -static void __exit exit_aha152x_cs(347,10269 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/aha152x_core.c,47 -#define PCMCIA 1,0 -#define AHA152X_STAT 2,17 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/qlogic_stub.c,883 -#define INT_TYPE 63,2313 -static char qlogic_name[65,2333 -static int pc_debug 68,2395 -#define DEBUG(DEBUG70,2459 -static char *version 71,2527 -#define DEBUG(DEBUG73,2604 -static Scsi_Host_Template qlogicfas_driver_template 76,2638 -static unsigned int irq_mask 99,3372 -static int irq_list[100,3411 -typedef struct scsi_info_t scsi_info_t107,3579 -} scsi_info_t;scsi_info_t112,3694 -static dev_link_t *dev_list 121,3924 -static dev_info_t dev_info 123,3961 -static struct Scsi_Host *qlogic_detect(125,4004 -static dev_link_t *qlogic_attach(180,5259 -static void qlogic_detach(232,6801 -#define CS_CHECK(CS_CHECK259,7369 -static void qlogic_config(262,7476 -static void qlogic_release(352,10314 -static int qlogic_event(374,10810 -static struct pcmcia_driver qlogic_cs_driver 418,12027 -static int __init init_qlogic_cs(427,12196 -static void __exit exit_qlogic_cs(432,12291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/fdomain_core.c,20 -#define PCMCIA 1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/sym53c500_cs.c,3407 -#define SYM53C500_DEBUG 40,1495 -#define VERBOSE_SYM53C500_DEBUG 41,1521 -#define USE_FAST_PIO 47,1691 -static int pc_debug 84,2559 -#define DEBUG(DEBUG86,2627 -static char *version 87,2695 -#define DEBUG(DEBUG90,2770 -static unsigned int irq_mask 98,2969 -static int irq_list[99,3036 -static int num_irqs 100,3069 -#define SYNC_MODE 109,3412 -#define C1_IMG 112,3495 -#define C2_IMG 113,3529 -#define C3_IMG 114,3567 -#define C4_IMG 115,3600 -#define C5_IMG 116,3633 -#define C7_IMG 117,3695 -#define TC_LSB 122,3839 -#define TC_MSB 123,3888 -#define SCSI_FIFO 124,3937 -#define CMD_REG 125,3986 -#define STAT_REG 126,4032 -#define DEST_ID 127,4077 -#define INT_REG 128,4135 -#define SRTIMOUT 129,4190 -#define SEQ_REG 130,4247 -#define SYNCPRD 131,4299 -#define FIFO_FLAGS 132,4356 -#define SYNCOFF 133,4416 -#define CONFIG1 134,4473 -#define CLKCONV 135,4525 -#define CONFIG2 137,4633 -#define CONFIG3 138,4687 -#define CONFIG4 139,4741 -#define TC_HIGH 140,4795 -#define PIO_FIFO 147,5135 -#define PIO_STATUS 151,5300 -#define PIO_FLAG 154,5474 -#define CONFIG5 155,5535 -#define CONFIG7 158,5711 -#define REG0(REG0161,5762 -#define REG1(REG1163,5837 -#define DEB(DEB166,5932 -#define DEB(DEB168,5955 -#define VDEB(VDEB172,6006 -#define VDEB(VDEB174,6030 -#define LOAD_DMA_COUNT(LOAD_DMA_COUNT177,6054 -#define DMA_OP 183,6238 -#define SCSI_NOP 185,6273 -#define FLUSH_FIFO 186,6307 -#define CHIP_RESET 187,6341 -#define SCSI_RESET 188,6375 -#define RESELECT 189,6409 -#define SELECT_NO_ATN 190,6443 -#define SELECT_ATN 191,6477 -#define SELECT_ATN_STOP 192,6511 -#define ENABLE_SEL 193,6545 -#define DISABLE_SEL 194,6579 -#define SELECT_ATN3 195,6613 -#define RESELECT3 196,6647 -#define TRANSFER_INFO 197,6681 -#define INIT_CMD_COMPLETE 198,6715 -#define MSG_ACCEPT 199,6749 -#define TRANSFER_PAD 200,6783 -#define SET_ATN 201,6817 -#define RESET_ATN 202,6851 -#define SEND_MSG 203,6885 -#define SEND_STATUS 204,6919 -#define SEND_DATA 205,6953 -#define DISCONN_SEQ 206,6987 -#define TERMINATE_SEQ 207,7021 -#define TARG_CMD_COMPLETE 208,7055 -#define DISCONN 209,7089 -#define RECV_MSG 210,7123 -#define RECV_CMD 211,7157 -#define RECV_DATA 212,7191 -#define RECV_CMD_SEQ 213,7225 -#define TARGET_ABORT_DMA 214,7259 -struct scsi_info_t scsi_info_t218,7368 -struct sym53c500_data sym53c500_data228,7527 -enum Phase Phase233,7601 - idle,234,7614 - data_out,235,7624 - data_in,236,7638 - command_ph,237,7651 - status_ph,238,7667 - message_out,239,7682 - message_in240,7699 -static dev_link_t *dev_list;249,7905 -static dev_info_t dev_info 250,7934 -chip_init(255,8066 -SYM53C500_int_host_reset(273,8596 -SYM53C500_pio_read(283,8876 -SYM53C500_pio_write(338,9854 -SYM53C500_intr(389,10693 -SYM53C500_release(553,15773 -SYM53C500_info(588,16593 -SYM53C500_queue(602,16984 -SYM53C500_host_reset(639,18095 -SYM53C500_biosparm(650,18309 -SYM53C500_show_pio(671,18775 -SYM53C500_store_pio(681,19026 -static struct class_device_attribute SYM53C500_pio_attr 701,19452 -static struct class_device_attribute *SYM53C500_shost_attrs[710,19644 -static struct scsi_host_template sym53c500_driver_template 718,19783 -#define CS_CHECK(CS_CHECK734,20283 -SYM53C500_config(738,20402 -SYM53C500_event(888,24615 -SYM53C500_detach(938,26008 -SYM53C500_attach(964,26538 -static struct pcmcia_driver sym53c500_cs_driver 1020,28135 -init_sym53c500_cs(1030,28334 -exit_sym53c500_cs(1036,28436 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/nsp_debug.c,608 -static const char unknown[14,455 -static const char * group_0_commands[16,497 -static const char *group_1_commands[28,1100 -static const char *group_2_commands[40,1681 -#define group(group49,2226 -#define RESERVED_GROUP 51,2271 -#define VENDOR_GROUP 52,2297 -#define NOTEXT_GROUP 53,2323 -static const char **commands[55,2350 -static const char reserved[62,2615 -static const char vendor[63,2658 -static void print_opcodek(65,2707 -static void print_commandk 88,3227 -static void show_command(141,4609 -static void show_phase(146,4687 -static void show_busphase(174,5137 -static void show_message(204,5811 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pcmcia/nsp_cs.c,3021 -static unsigned int irq_mask 75,2164 -static int irq_list[79,2300 -static int nsp_burst_mode 83,2456 -static int free_ports 88,2678 -static Scsi_Host_Template nsp_driver_template 93,2879 -static dev_link_t *dev_list 118,3669 -static dev_info_t dev_info 119,3705 -static nsp_hw_data nsp_data_base;121,3748 -# define NSP_DEBUG_MASK 129,3861 -# define nsp_msg(nsp_msg130,3895 -# define nsp_dbg(nsp_dbg131,3963 -# define NSP_DEBUG_MASK 133,4007 -# define nsp_msg(nsp_msg134,4041 -# define nsp_dbg(nsp_dbg136,4130 -#define NSP_DEBUG_QUEUECOMMAND 140,4227 -#define NSP_DEBUG_REGISTER 141,4266 -#define NSP_DEBUG_AUTOSCSI 142,4301 -#define NSP_DEBUG_INTR 143,4336 -#define NSP_DEBUG_SGLIST 144,4368 -#define NSP_DEBUG_BUSFREE 145,4401 -#define NSP_DEBUG_CDB_CONTENTS 146,4435 -#define NSP_DEBUG_RESELECTION 147,4474 -#define NSP_DEBUG_MSGINOCCUR 148,4512 -#define NSP_DEBUG_EEPROM 149,4549 -#define NSP_DEBUG_MSGOUTOCCUR 150,4582 -#define NSP_DEBUG_BUSRESET 151,4621 -#define NSP_DEBUG_RESTART 152,4657 -#define NSP_DEBUG_SYNC 153,4692 -#define NSP_DEBUG_WAIT 154,4725 -#define NSP_DEBUG_TARGETFLAG 155,4758 -#define NSP_DEBUG_PROC 156,4796 -#define NSP_DEBUG_INIT 157,4829 -#define NSP_DEBUG_DATA_IO 158,4862 -#define NSP_SPECIAL_PRINT_REGISTER 159,4903 -#define NSP_DEBUG_BUF_LEN 161,4947 -static void nsp_cs_message(163,4979 -static void nsp_cs_dmessage(180,5337 -static void nsp_scsi_done(201,5889 -static int nsp_queuecommand(210,6058 -static void nsp_setup_fifo(290,8509 -static void nsphw_init_sync(308,8912 -static int nsphw_init(325,9237 -static int nsphw_start_selection(383,10785 -struct nsp_sync_table nsp_sync_table439,12601 -static struct nsp_sync_table nsp_sync_table_40M[446,12733 -static struct nsp_sync_table nsp_sync_table_20M[454,12975 -static int nsp_analyze_sdtr(464,13224 -static void nsp_start_timer(522,14684 -static int nsp_negate_signal(535,15035 -static int nsp_expect_signal(562,15517 -static int nsp_xfer(597,16379 -static int nsp_dataphase_bypass(637,17410 -static int nsp_reselected(669,18043 -static int nsp_fifo_count(708,18997 -#define RFIFO_CRIT 729,19548 -#define WFIFO_CRIT 730,19570 -static void nsp_pio_read(735,19630 -static void nsp_pio_write(830,22665 -static int nsp_nexus(923,25370 -static irqreturn_t nspintr(966,26528 -static struct Scsi_Host *nsp_detect(1324,35974 -static int nsp_detect_old(1372,37336 -static int nsp_release_old(1383,37485 -static const char *nsp_info(1405,38064 -#define SPRINTF(SPRINTF1413,38214 -nsp_proc_info(1421,38499 -static int nsp_bus_reset(1568,41563 -static int nsp_eh_bus_reset(1589,42010 -static int nsp_eh_host_reset(1598,42210 -static dev_link_t *nsp_cs_attach(1623,43034 -static void nsp_cs_detach(1702,45434 -#define CS_CHECK(CS_CHECK1739,46339 -static void nsp_cs_config(1742,46518 -static void nsp_cs_release(2017,54813 -static int nsp_cs_event(2074,56444 -static struct pcmcia_driver nsp_driver 2159,58565 -static int __init nsp_cs_init(2169,58766 -static void __exit nsp_cs_exit(2191,59284 -module_init(2211,59695 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/blz2060.c,812 -#define BLZ2060_ESP_ADDR 44,1054 -#define BLZ2060_DMA_ADDR 45,1087 -struct blz2060_dma_registers blz2060_dma_registers56,1474 -#define BLZ2060_DMA_WRITE 68,1971 -#define BLZ2060_DMA_LED 71,2032 -static volatile unsigned char cmd_buffer[86,2773 -int __init blz2060_esp_detect(93,3017 -static int dma_bytes_sent(169,5180 -static int dma_can_transfer(179,5535 -static void dma_dump_state(190,5812 -static void dma_init_read(196,5944 -static void dma_init_write(211,6347 -static void dma_ints_off(226,6747 -static void dma_ints_on(231,6822 -static int dma_irq_p(236,6895 -static void dma_led_off(241,7002 -static void dma_led_on(247,7136 -static int dma_ports_p(252,7253 -static void dma_setup(257,7341 -#define HOSTS_C269,7648 -int blz2060_esp_release(271,7665 -static Scsi_Host_Template driver_template 285,8006 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR53C9x.c,5570 - not_issued 50,1256 - not_issued = 0x00,50,1256 -#define in_slct_mask 53,1369 - in_slct_norm 54,1398 - in_slct_norm = 0x10,54,1398 - in_slct_stop 55,1466 - in_slct_stop = 0x11,55,1466 - in_slct_msg 56,1534 - in_slct_msg = 0x12,56,1534 - in_slct_tag 57,1602 - in_slct_tag = 0x13,57,1602 - in_slct_sneg 58,1670 - in_slct_sneg = 0x14,58,1670 -#define in_phases_mask 61,1775 - in_datain 62,1804 - in_datain = 0x20,62,1804 - in_dataout 63,1872 - in_dataout = 0x21,63,1872 - in_data_done 64,1940 - in_data_done = 0x22,64,1940 - in_msgin 65,2008 - in_msgin = 0x23,65,2008 - in_msgincont 66,2076 - in_msgincont = 0x24,66,2076 - in_msgindone 67,2144 - in_msgindone = 0x25,67,2144 - in_msgout 68,2212 - in_msgout = 0x26,68,2212 - in_msgoutdone 69,2280 - in_msgoutdone = 0x27,69,2280 - in_cmdbegin 70,2348 - in_cmdbegin = 0x28,70,2348 - in_cmdend 71,2416 - in_cmdend = 0x29,71,2416 - in_status 72,2484 - in_status = 0x2a,72,2484 - in_freeing 73,2552 - in_freeing = 0x2b,73,2552 - in_the_dark 74,2620 - in_the_dark = 0x2c,74,2620 -#define in_spec_mask 77,2746 - in_abortone 78,2775 - in_abortone = 0x80,78,2775 - in_abortall 79,2843 - in_abortall = 0x81,79,2843 - in_resetdev 80,2911 - in_resetdev = 0x82,80,2911 - in_resetbus 81,2979 - in_resetbus = 0x83,81,2979 - in_tgterror 82,3047 - in_tgterror = 0x84,82,3047 -/*0*/ do_never,87,3178 -/*1*/ do_phase_determine,89,3195 -/*2*/ do_reset_bus,90,3221 -/*3*/ do_reset_complete,91,3241 -/*4*/ do_work_bus,92,3266 -/*5*/ do_intr_end93,3285 -struct NCR_ESP *espchain;97,3378 -int nesps 98,3404 -struct esp_cmdstrings esp_cmdstrings103,3549 -} esp_cmd_strings[106,3603 -#define NUM_ESP_COMMANDS 141,4668 -static inline void esp_print_cmd(144,4810 -static inline void esp_print_statreg(161,5196 -static inline void esp_print_ireg(188,5899 -static inline void esp_print_seqreg(211,6434 -static char *phase_string(223,6817 -static inline void esp_advance_phase(280,7880 -#define esp_advance_phase(esp_advance_phase287,8061 -inline void esp_cmd(293,8217 -#define esp_cmd(esp_cmd301,8428 -static inline void append_SC(325,9427 -static inline void prepend_SC(339,9724 -static inline Scsi_Cmnd *remove_first_SC(345,9857 -static inline Scsi_Cmnd *remove_SC(355,10015 -static void esp_reset_esp(375,10516 -void esp_bootup_reset(508,14174 -struct NCR_ESP* esp_allocate(532,14825 -void esp_deallocate(563,15527 -void esp_initialize(581,15966 -const char *esp_info(746,20760 -struct info_strinfo_str774,21330 -static void copy_mem_info(782,21403 -static int copy_info(802,21821 -static int esp_host_info(816,22043 -int esp_proc_info(891,23831 -static void esp_get_dmabufs(903,24132 -static void esp_release_dmabufs(926,24856 -static void esp_restore_pointers(937,25125 -static void esp_save_pointers(947,25436 -static inline void esp_check_cmd(977,26508 -static inline void build_sync_nego_msg(994,26783 -static void esp_exec_cmd(1004,27056 -int esp_queue(1234,34703 -int esp_command(1275,35744 -static void esp_dump_cmd(1286,35978 -static void esp_dump_state(1295,36205 -int esp_abort(1349,37563 -static int esp_finish_reset(1427,39812 -static int esp_do_resetbus(1462,40611 -int esp_reset(1477,40993 -static void esp_done(1493,41339 -#define sreg_datainp(sreg_datainp1529,42593 -#define sreg_dataoutp(sreg_dataoutp1530,42664 -static inline int skipahead1(1535,42863 -static inline int skipahead2(1555,43446 -#define esp_setcount(esp_setcount1578,44138 -#define esp_getcount(esp_getcount1582,44290 -#define fcount(fcount1586,44415 -#define fnzero(fnzero1589,44500 -#define esp_maybe_nop(esp_maybe_nop1596,44752 -#define sreg_to_dataphase(sreg_to_dataphase1600,44868 -static inline int esp100_sync_hwbug(1611,45408 -static inline int esp100_reconnect_hwbug(1637,46333 -static inline int reconnect_target(1654,46683 -static inline int reconnect_lun(1674,47114 -static inline void esp_connect(1700,47802 -static inline void esp_reconnect(1725,48648 -static int esp_do_msgin(1737,48989 -static inline void advance_sg(1748,49276 -static int esp_do_data(1778,50625 -#define MAX_FIFO 1887,53382 -static int esp_do_data_finale(1986,55716 -static int esp_should_clear_sync(2163,61515 -static int esp_do_freebus(2195,62273 -static int esp_bad_reconnect(2266,64644 -static int esp_do_reconnect(2298,65515 -static int esp_do_status(2342,66586 -static int esp_enter_status(2455,69972 -static int esp_disconnect_amidst_phases(2482,70816 -static int esp_enter_msgout(2527,71966 -static int esp_enter_msgin(2534,72134 -static int esp_enter_cmd(2541,72298 -static int esp_enter_badphase(2548,72464 -typedef int (*espfunc_t)espfunc_t2556,72664 -static espfunc_t phase_vector[2559,72732 -static int esp_do_phase_determine(2573,73145 -static int esp_select_complete(2582,73440 -static int esp_do_msgincont(2834,82026 -static int check_singlebyte_msg(2859,82809 -static int target_with_ants_in_pants(2937,85093 -static void sync_report(2956,85571 -static int check_multibyte_msg(2990,86449 -static int esp_do_msgindone(3129,90331 -static int esp_do_cmdbegin(3203,92592 -static int esp_do_cmddone(3217,92940 -static int esp_do_msgout(3229,93293 -static int esp_do_msgoutdone(3305,95600 -static int esp_bus_unexpected(3349,96722 -static espfunc_t bus_vector[3356,96917 -static int esp_work_bus(3376,97331 -static espfunc_t isvc_vector[3395,97821 -void esp_handle(3404,97992 -irqreturn_t esp_intr(3552,102747 -irqreturn_t esp_intr(3589,103520 -int esp_slave_alloc(3618,104127 -void esp_slave_destroy(3630,104373 -int init_module(3640,104595 -void cleanup_module(3641,104631 -void esp_release(3642,104660 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ncr53c8xx.c,8991 -#define SCSI_NCR_DRIVER_NAME 94,3350 -#define SCSI_NCR_DEBUG_FLAGS 96,3399 -#define SCSI_NCR_INTEGRITY_CHECKING138,4345 -#define NAME53C 141,4389 -#define NAME53C8XX 142,4416 -#define DRIVER_SMP_LOCK 143,4448 -#define SCSI_NCR_CCB_DONE_SUPPORT165,5121 -#define MAX_DONE 168,5190 -#define CCB_DONE_EMPTY 169,5210 -#define CCB_DONE_VALID(CCB_DONE_VALID173,5302 -#define CCB_DONE_VALID(CCB_DONE_VALID177,5436 -#define SCSI_NCR_MYADDR 198,5910 -#define SCSI_NCR_MAX_TAGS 207,6085 -#define MAX_TAGS 215,6273 -#define MAX_TAGS 217,6301 -#define NO_TAG 220,6344 -typedef u64 tagmap_t;tagmap_t226,6433 -typedef u32 tagmap_t;tagmap_t228,6461 -#define MAX_TARGET 239,6682 -#define MAX_TARGET 241,6730 -#define MAX_LUN 252,6974 -#define MAX_LUN 254,7016 -#define SCSI_NCR_MIN_ASYNC 262,7130 -#define MAX_START 273,7414 -#define MAX_START 275,7465 -#define MAX_START 285,7691 -#define MAX_SCATTER 297,8077 -#define MAX_SCATTERL 300,8144 -#define MAX_SCATTERH 301,8168 -#define MAX_SCATTERL 303,8224 -#define MAX_SCATTERH 304,8261 -#define NCR_SNOOP_TIMEOUT 311,8308 -#define ScsiResult(ScsiResult317,8373 -#define initverbose 323,8633 -#define bootverbose 324,8676 -#define HS_IDLE 333,8876 -#define HS_BUSY 334,8897 -#define HS_NEGOTIATE 335,8918 -#define HS_DISCONNECT 336,8972 -#define HS_DONEMASK 338,9028 -#define HS_COMPLETE 339,9055 -#define HS_SEL_TIMEOUT 340,9091 -#define HS_RESET 341,9159 -#define HS_ABORTED 342,9219 -#define HS_TIMEOUT 343,9283 -#define HS_FAIL 344,9347 -#define HS_UNEXPECTED 345,9409 -#define HS_INVALMASK 353,9620 -#define HS_SELECTING 354,9648 -#define HS_IN_RESELECT 355,9686 -#define HS_STARTING 356,9726 -#define HS_SKIPMASK 362,9848 -#define SIR_BAD_STATUS 371,10036 -#define SIR_XXXXXXXXXX 372,10064 -#define SIR_NEGO_SYNC 373,10092 -#define SIR_NEGO_WIDE 374,10119 -#define SIR_NEGO_FAILED 375,10146 -#define SIR_NEGO_PROTO 376,10175 -#define SIR_REJECT_RECEIVED 377,10203 -#define SIR_REJECT_SENT 378,10235 -#define SIR_IGN_RESIDUE 379,10264 -#define SIR_MISSING_SAVE 380,10293 -#define SIR_RESEL_NO_MSG_IN 381,10323 -#define SIR_RESEL_NO_IDENTIFY 382,10356 -#define SIR_RESEL_BAD_LUN 383,10391 -#define SIR_RESEL_BAD_TARGET 384,10422 -#define SIR_RESEL_BAD_I_T_L 385,10456 -#define SIR_RESEL_BAD_I_T_L_Q 386,10489 -#define SIR_DONE_OVERFLOW 387,10524 -#define SIR_INTFLY 388,10555 -#define SIR_MAX 389,10580 -#define XE_OK 399,10797 -#define XE_EXTRA_DATA 400,10816 -#define XE_BAD_PHASE 401,10870 -#define NS_NOCHANGE 411,11115 -#define NS_SYNC 412,11139 -#define NS_WIDE 413,11160 -#define NS_PPR 414,11181 -#define QUIRK_AUTOSAVE 425,11437 -#define QUIRK_NOMSG 426,11467 -#define QUIRK_NOSYNC 427,11494 -#define QUIRK_NOWIDE16 428,11522 -#define INQ7_QUEUE 437,11732 -#define INQ7_SYNC 438,11758 -#define INQ7_WIDE16 439,11783 -#define CCB_MAGIC 448,11952 -struct link link463,12207 -struct usrcmd usrcmd468,12257 -#define UC_SETSYNC 475,12333 -#define UC_SETTAGS 476,12360 -#define UC_SETDEBUG 477,12382 -#define UC_SETORDER 478,12405 -#define UC_SETWIDE 479,12428 -#define UC_SETFLAG 480,12450 -#define UC_SETVERBOSE 481,12472 -#define UF_TRACE 483,12498 -#define UF_NODISC 484,12522 -#define UF_NOSCAN 485,12547 -struct tcb tcb493,12781 -struct lcb lcb594,15865 -struct launch launch681,19421 -struct head head706,20304 -#define QU_REG 769,22527 -#define HS_REG 770,22548 -#define HS_PRT 771,22569 -#define SS_REG 772,22593 -#define SS_PRT 773,22614 -#define PS_REG 774,22638 -#define actualquirks 780,22719 -#define host_status 781,22764 -#define scsi_status 782,22809 -#define parity_status 783,22854 -#define actualquirks 785,22905 -#define host_status 786,22950 -#define scsi_status 787,22995 -#define parity_status 788,23040 -#define xerr_st 794,23128 -#define sync_st 795,23168 -#define nego_st 796,23208 -#define wide_st 797,23248 -#define xerr_status 802,23322 -#define nego_status 803,23358 -#define sync_status 806,23401 -#define wide_status 807,23437 -struct dsb dsb826,24015 -struct ccb ccb852,24481 -#define CCB_PHYS(CCB_PHYS928,27341 -struct ncb ncb937,27625 -#define NCB_SCRIPT_PHYS(NCB_SCRIPT_PHYS1112,34945 -#define NCB_SCRIPTH_PHYS(NCB_SCRIPTH_PHYS1113,35026 -#define PREFETCH_FLUSH_CNT 1146,36045 -#define PREFETCH_FLUSH 1147,36074 -#define PREFETCH_FLUSH_CNT 1149,36133 -#define PREFETCH_FLUSH1150,36162 -struct script script1157,36289 -struct scripth scripth1211,37652 -#define remove_from_waiting_list(remove_from_waiting_list1317,41764 -#define requeue_waiting_list(requeue_waiting_list1319,41853 -#define reset_waiting_list(reset_waiting_list1320,41921 -static inline char *ncr_name 1322,41991 -#define RELOC_SOFTC 1347,42642 -#define RELOC_LABEL 1348,42673 -#define RELOC_REGISTER 1349,42704 -#define RELOC_KVAR 1351,42744 -#define RELOC_LABELH 1353,42781 -#define RELOC_MASK 1354,42813 -#define NADDR(NADDR1356,42844 -#define PADDR(PADDR1357,42909 -#define PADDRH(PADDRH1358,42980 -#define RADDR(RADDR1359,43053 -#define FADDR(FADDR1360,43104 -#define KVAR(KVAR1362,43174 -#define SCRIPT_KVAR_JIFFIES 1366,43231 -#define SCRIPT_KVAR_FIRST 1367,43263 -#define SCRIPT_KVAR_LAST 1368,43310 -static void *script_kvars[1373,43461 -static void *script_kvars[] __initdata 1373,43461 -static struct script script0 __initdata 1377,43533 -static struct scripth scripth0 __initdata 2139,60835 -void __init ncr_script_fill 2818,76464 -ncr_script_copy_and_bind 2894,78452 -struct host_data host_data3056,81595 -static void PRINT_TARGET(3065,81764 -static void PRINT_LUN(3070,81878 -static void PRINT_ADDR(3075,82004 -#define _5M 3090,82452 -static u_long div_10M[3091,82472 -#define burst_length(burst_length3111,83062 -#define burst_code(burst_code3116,83188 -static inline void ncr_init_burst(3122,83332 -static void __init ncr_prepare_setting(3138,83616 -static inline void ncr_queue_done_cmd(3421,91116 -static inline void ncr_flush_done_cmds(3428,91293 -static int ncr_ic_nego(3454,91898 -static int ncr_prepare_nego(3629,96019 -static int ncr_queue_command 3713,97694 -static void ncr_start_next_ccb(4090,106938 -static void ncr_put_start_queue(4111,107427 -static int ncr_reset_scsi_bus(4142,108098 -static void ncr_start_reset(4208,109921 -static int ncr_reset_bus 4224,110264 -static int ncr_abort_command 4292,111894 -static void ncr_detach(4375,113629 -void ncr_complete 4486,116320 -static void ncr_ccb_skipped(4779,122742 -void ncr_wakeup_done 4804,123314 -void ncr_wakeup 4850,124205 -static void ncr_chip_reset(4871,124619 -void ncr_init 4893,125010 -static void ncr_negotiate 5057,128676 -static void ncr_getsync(5112,129590 -static void ncr_set_sync_wide_status 5181,131377 -static void ncr_setsync 5216,132165 -static void ncr_setwide 5300,134241 -static void ncr_setup_tags 5354,135343 -static void ncr_usercmd 5450,137517 -static void ncr_timeout 5535,139184 -static void ncr_log_hard_error(5623,141201 -void ncr_exception 5703,143742 -void ncr_int_sto 5886,148564 -static int ncr_int_sbmc 5931,149597 -static int ncr_int_par 5963,150339 -static void ncr_int_ma 6050,152534 -static void ncr_sir_to_redo(6351,159971 -static int ncr_show_msg 6503,163629 -static void ncr_print_msg 6520,163918 -void ncr_int_sir 6531,164108 -static struct ccb *ncr_get_ccb 7009,175248 -static void ncr_free_ccb 7127,177316 -#define ncr_reg_bus_addr(ncr_reg_bus_addr7185,178515 -static void ncr_init_ccb(7192,178864 -static void ncr_alloc_ccb(7231,180093 -static void ncr_init_tcb 7281,181378 -static struct lcb *ncr_alloc_lcb 7368,184006 -static struct lcb *ncr_setup_lcb 7458,186372 -static int ncr_scatter_no_sglist(7578,189501 -static int ncr_scatter(7600,189956 -static int __init ncr_regtest 7645,190955 -static int __init ncr_snooptest 7668,191494 -struct table_entry table_entry7760,193407 -static struct table_entry device_tab[7767,193500 -static u_long ncr_lookup(7779,193833 -static void ncr_selectclock(7831,195163 -static unsigned __init ncrgetfreq 7860,195979 -static void __init ncr_getclock 7911,197615 -int ncr53c8xx_slave_configure(7978,199184 -int ncr53c8xx_queue_command 8035,200546 -irqreturn_t ncr53c8xx_intr(8081,201689 -static void ncr53c8xx_timeout(8115,202602 -int ncr53c8xx_bus_reset(8138,203158 -int ncr53c8xx_abort(8169,203834 -#define next_wcmd 8220,205176 -static void insert_into_waiting_list(8222,205209 -static struct scsi_cmnd *retrieve_from_waiting_list(8238,205637 -static void process_waiting_list(8258,206138 -#define is_digit(is_digit8303,207424 -#define digit_to_bin(digit_to_bin8304,207471 -#define is_space(is_space8305,207507 -static int skip_spaces(8307,207556 -static int get_int_arg(8316,207705 -static int is_keyword(8331,207943 -#define SKIP_SPACES(SKIP_SPACES8342,208129 -#define GET_INT_ARG(GET_INT_ARG8347,208285 -static int ncr_user_command(8357,208461 -static int ncr_host_info(8503,212074 -static int ncr53c8xx_proc_info(8534,212913 -char *ncr53c8xx;8582,213959 -int __init ncr53c8xx_setup(8586,214049 -const char *ncr53c8xx_info 8601,214354 -struct Scsi_Host * __init ncr_attach(8616,214675 -int ncr53c8xx_release(8856,221425 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmvscsi/ibmvscsi.c,2462 -static int max_id 84,3822 -static int max_channel 85,3846 -static int init_timeout 86,3874 -static int max_requests 87,3903 -static int max_sectors 88,3933 -#define IBMVSCSI_VERSION 90,3998 -static int initialize_event_pool(119,5209 -static void release_event_pool(162,6340 -static int valid_event_struct(186,7048 -static void free_event_struct(203,7486 -static struct srp_event_struct *get_event_struct(228,8215 -static void init_event_struct(254,8915 -static void set_srp_direction(275,9554 -static void unmap_cmd_data(304,10312 -static int map_sg_data(340,11478 -static int map_single_data(399,13204 -static int map_data_for_srp_cmd(431,14134 -static int ibmvscsi_send_srp_event(469,15200 -static void handle_cmd_rsp(537,17356 -static inline u16 lun_from_dev(566,18105 -static int ibmvscsi_queuecommand(576,18417 -static void adapter_info_rsp(633,20248 -static void send_mad_adapter_info(668,21508 -static void login_rsp(716,22882 -static int send_srp_login(765,24260 -static void sync_completion(804,25443 -static int ibmvscsi_eh_abort_handler(813,25684 -static int ibmvscsi_eh_device_reset_handler(901,28097 -static void purge_requests(968,30061 -void ibmvscsi_handle_crq(998,30897 -static int ibmvscsi_do_host_config(1082,33331 -static ssize_t show_host_srp_version(1131,34676 -static struct class_device_attribute ibmvscsi_host_srp_version 1143,35016 -static ssize_t show_host_partition_name(1151,35182 -static struct class_device_attribute ibmvscsi_host_partition_name 1164,35533 -static ssize_t show_host_partition_number(1172,35708 -static struct class_device_attribute ibmvscsi_host_partition_number 1185,36065 -static ssize_t show_host_mad_version(1193,36246 -static struct class_device_attribute ibmvscsi_host_mad_version 1205,36586 -static ssize_t show_host_os_type(1213,36752 -static struct class_device_attribute ibmvscsi_host_os_type 1224,37075 -static ssize_t show_host_config(1232,37229 -static struct class_device_attribute ibmvscsi_host_config 1245,37603 -static struct class_device_attribute *ibmvscsi_attrs[1253,37754 -static struct scsi_host_template driver_template 1266,38092 -static int ibmvscsi_probe(1284,38647 -static int ibmvscsi_remove(1361,40951 -static struct vio_device_id ibmvscsi_device_table[1378,41374 -static struct vio_device_id ibmvscsi_device_table[] __devinitdata 1378,41374 -static struct vio_driver ibmvscsi_driver 1384,41529 -int __init ibmvscsi_module_init(1391,41688 -void __exit ibmvscsi_module_exit(1396,41778 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmvscsi/srp.h,1735 -#define SRP_H29,2174 -#define PACKED 31,2189 -enum srp_types srp_types33,2229 - SRP_LOGIN_REQ_TYPE 34,2246 - SRP_LOGIN_REQ_TYPE = 0x00,34,2246 - SRP_LOGIN_RSP_TYPE 35,2274 - SRP_LOGIN_RSP_TYPE = 0xC0,35,2274 - SRP_LOGIN_REJ_TYPE 36,2302 - SRP_LOGIN_REJ_TYPE = 0x80,36,2302 - SRP_I_LOGOUT_TYPE 37,2330 - SRP_I_LOGOUT_TYPE = 0x03,37,2330 - SRP_T_LOGOUT_TYPE 38,2357 - SRP_T_LOGOUT_TYPE = 0x80,38,2357 - SRP_TSK_MGMT_TYPE 39,2384 - SRP_TSK_MGMT_TYPE = 0x01,39,2384 - SRP_CMD_TYPE 40,2411 - SRP_CMD_TYPE = 0x02,40,2411 - SRP_RSP_TYPE 41,2433 - SRP_RSP_TYPE = 0xC1,41,2433 - SRP_CRED_REQ_TYPE 42,2455 - SRP_CRED_REQ_TYPE = 0x81,42,2455 - SRP_CRED_RSP_TYPE 43,2482 - SRP_CRED_RSP_TYPE = 0x41,43,2482 - SRP_AER_REQ_TYPE 44,2509 - SRP_AER_REQ_TYPE = 0x82,44,2509 - SRP_AER_RSP_TYPE 45,2535 - SRP_AER_RSP_TYPE = 0x4245,2535 -enum srp_descriptor_formats srp_descriptor_formats48,2564 - SRP_NO_BUFFER 49,2594 - SRP_NO_BUFFER = 0x00,49,2594 - SRP_DIRECT_BUFFER 50,2617 - SRP_DIRECT_BUFFER = 0x01,50,2617 - SRP_INDIRECT_BUFFER 51,2644 - SRP_INDIRECT_BUFFER = 0x0251,2644 -struct memory_descriptor memory_descriptor54,2676 -struct indirect_descriptor indirect_descriptor60,2762 -struct srp_generic srp_generic66,2888 -struct srp_login_req srp_login_req72,2951 -struct srp_login_rsp srp_login_rsp87,3251 -struct srp_login_rej srp_login_rej101,3524 -struct srp_i_logout srp_i_logout111,3667 -struct srp_t_logout srp_t_logout117,3731 -struct srp_tsk_mgmt srp_tsk_mgmt124,3808 -struct srp_cmd srp_cmd138,4010 -struct srp_rsp srp_rsp157,4332 -struct srp_cred_req srp_cred_req178,4705 -struct srp_cred_rsp srp_cred_rsp185,4795 -struct srp_aer_req srp_aer_req191,4859 -struct srp_aer_rsp srp_aer_rsp203,5039 -union srp_iu srp_iu209,5102 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmvscsi/ibmvscsi.h,240 -#define IBMVSCSI_H31,1324 -#define MAX_INDIRECT_BUFS 45,1657 -struct crq_queue crq_queue51,1820 -struct srp_event_struct srp_event_struct59,1973 -struct event_pool event_pool73,2325 -struct ibmvscsi_host_data ibmvscsi_host_data82,2510 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmvscsi/rpa_vscsi.c,291 -static irqreturn_t ibmvscsi_handle_event(49,1839 -void ibmvscsi_release_crq_queue(68,2417 -static struct viosrp_crq *crq_queue_next_crq(92,3147 -int ibmvscsi_send_crq(115,3658 -static void ibmvscsi_task(126,3963 -int ibmvscsi_init_crq_queue(160,4884 -void ibmvscsi_reset_crq_queue(234,6804 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmvscsi/viosrp.h,1219 -#define VIOSRP_H35,2657 -enum viosrp_crq_formats viosrp_crq_formats38,2692 - VIOSRP_SRP_FORMAT 39,2718 - VIOSRP_SRP_FORMAT = 0x01,39,2718 - VIOSRP_MAD_FORMAT 40,2745 - VIOSRP_MAD_FORMAT = 0x02,40,2745 - VIOSRP_OS400_FORMAT 41,2772 - VIOSRP_OS400_FORMAT = 0x03,41,2772 - VIOSRP_AIX_FORMAT 42,2801 - VIOSRP_AIX_FORMAT = 0x04,42,2801 - VIOSRP_LINUX_FORMAT 43,2828 - VIOSRP_LINUX_FORMAT = 0x06,43,2828 - VIOSRP_INLINE_FORMAT 44,2857 - VIOSRP_INLINE_FORMAT = 0x0744,2857 -struct viosrp_crq viosrp_crq47,2890 -enum viosrp_mad_types viosrp_mad_types60,3266 - VIOSRP_EMPTY_IU_TYPE 61,3290 - VIOSRP_EMPTY_IU_TYPE = 0x01,61,3290 - VIOSRP_ERROR_LOG_TYPE 62,3320 - VIOSRP_ERROR_LOG_TYPE = 0x02,62,3320 - VIOSRP_ADAPTER_INFO_TYPE 63,3351 - VIOSRP_ADAPTER_INFO_TYPE = 0x03,63,3351 - VIOSRP_HOST_CONFIG_TYPE 64,3385 - VIOSRP_HOST_CONFIG_TYPE = 0x0464,3385 -struct mad_common mad_common70,3450 -struct viosrp_empty_iu viosrp_empty_iu84,3839 -struct viosrp_error_log viosrp_error_log90,3919 -struct viosrp_adapter_info viosrp_adapter_info95,3989 -struct viosrp_host_config viosrp_host_config100,4062 -union mad_iu mad_iu105,4134 -union viosrp_iu viosrp_iu112,4305 -struct mad_adapter_info_data mad_adapter_info_data117,4365 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmvscsi/iseries_vscsi.c,296 -static struct ibmvscsi_host_data *single_host_data;40,1556 -struct srp_lp_event srp_lp_event45,1727 -static void ibmvscsi_handle_event(56,2047 -int ibmvscsi_init_crq_queue(77,2533 -void ibmvscsi_release_crq_queue(105,3229 -void ibmvscsi_reset_crq_queue(120,3635 -int ibmvscsi_send_crq(131,3893 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/megaraid_ioctl.h,1476 -#define _MEGARAID_IOCTL_H_18,484 -#define CL_ANN 37,931 -#define CL_DLEVEL1 38,992 -#define CL_DLEVEL2 39,1046 -#define CL_DLEVEL3 40,1096 -#define con_log(con_log42,1152 -#define MEGAIOC_MAGIC 48,1295 -#define MEGAIOCCMD 49,1322 -#define MEGAIOC_QNADAP 51,1375 -#define MEGAIOC_QDRVRVER 52,1430 -#define MEGAIOC_QADAPINFO 53,1487 -#define USCSICMD 55,1553 -#define UIOC_RD 56,1576 -#define UIOC_WR 57,1602 -#define MBOX_CMD 59,1629 -#define GET_DRIVER_VER 60,1655 -#define GET_N_ADAP 61,1687 -#define GET_ADAP_INFO 62,1715 -#define GET_CAP 63,1746 -#define GET_STATS 64,1772 -#define GET_IOCTL_VERSION 65,1799 -#define EXT_IOCTL_SIGN_SZ 67,1831 -#define EXT_IOCTL_SIGN 68,1860 -#define MBOX_LEGACY 70,1904 -#define MBOX_HPE 71,1958 -#define APPTYPE_MIMD 73,2008 -#define APPTYPE_UIOC 74,2060 -#define IOCTL_ISSUE 76,2115 -#define IOCTL_ABORT 77,2166 -#define DRVRTYPE_MBOX 79,2226 -#define DRVRTYPE_HPE 80,2286 -#define MKADAP(MKADAP82,2341 -#define GETADAP(GETADAP83,2397 -#define MAX_DMA_POOLS 85,2454 -typedef struct uioc uioc117,3876 -} __attribute__ ((aligned(1024),packed)packed148,4454 -typedef struct mraid_hba_info mraid_hba_info169,5271 -} __attribute__ ((aligned(256), packed)packed186,5569 -typedef struct mcontroller mcontroller203,5949 -} __attribute__ ((packed)packed216,6156 -typedef struct mm_dmapool mm_dmapool229,6518 -} mm_dmapool_t;mm_dmapool_t236,6664 -typedef struct mraid_mmadp mraid_mmadp260,7653 -} mraid_mmadp_t;mraid_mmadp_t286,8178 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/mbox_defs.h,4013 -#define _MRAID_MBOX_DEFS_H_16,430 -#define MBOXCMD_LREAD 24,546 -#define MBOXCMD_LWRITE 25,574 -#define MBOXCMD_PASSTHRU 26,603 -#define MBOXCMD_ADPEXTINQ 27,633 -#define MBOXCMD_ADAPTERINQ 28,664 -#define MBOXCMD_LREAD64 29,696 -#define MBOXCMD_LWRITE64 30,726 -#define MBOXCMD_PASSTHRU64 31,756 -#define MBOXCMD_EXTPTHRU 32,788 -#define MAIN_MISC_OPCODE 34,819 -#define GET_MAX_SG_SUPPORT 35,849 -#define SUPPORT_EXT_CDB 36,881 -#define FC_NEW_CONFIG 38,912 -#define NC_SUBOP_PRODUCT_INFO 39,940 -#define NC_SUBOP_ENQUIRY3 40,975 -#define ENQ3_GET_SOLICITED_FULL 41,1006 -#define OP_DCMD_READ_CONFIG 42,1043 -#define NEW_READ_CONFIG_8LD 43,1076 -#define READ_CONFIG_8LD 44,1109 -#define FLUSH_ADAPTER 45,1139 -#define FLUSH_SYSTEM 46,1167 -#define FC_DEL_LOGDRV 51,1251 -#define OP_SUP_DEL_LOGDRV 52,1279 -#define OP_GET_LDID_MAP 53,1310 -#define OP_DEL_LOGDRV 54,1340 -#define IS_BIOS_ENABLED 59,1393 -#define GET_BIOS 60,1423 -#define CHNL_CLASS 61,1446 -#define GET_CHNL_CLASS 62,1471 -#define SET_CHNL_CLASS 63,1500 -#define CH_RAID 64,1529 -#define CH_SCSI 65,1552 -#define BIOS_PVT_DATA 66,1575 -#define GET_BIOS_PVT_DATA 67,1603 -#define GET_TARGET_ID 73,1677 -#define CLUSTER_OP 74,1705 -#define GET_CLUSTER_MODE 75,1730 -#define CLUSTER_CMD 76,1760 -#define RESERVE_LD 77,1786 -#define RELEASE_LD 78,1811 -#define RESET_RESERVATIONS 79,1836 -#define RESERVATION_STATUS 80,1868 -#define RESERVE_PD 81,1900 -#define RELEASE_PD 82,1925 -#define BATTERY_MODULE_MISSING 88,1984 -#define BATTERY_LOW_VOLTAGE 89,2021 -#define BATTERY_TEMP_HIGH 90,2055 -#define BATTERY_PACK_MISSING 91,2087 -#define BATTERY_CHARGE_MASK 92,2122 -#define BATTERY_CHARGE_DONE 93,2156 -#define BATTERY_CHARGE_INPROG 94,2190 -#define BATTERY_CHARGE_FAIL 95,2226 -#define BATTERY_CYCLES_EXCEEDED 96,2260 -#define PDRV_UNCNF 101,2332 -#define PDRV_ONLINE 102,2353 -#define PDRV_FAILED 103,2375 -#define PDRV_RBLD 104,2397 -#define PDRV_HOTSPARE 105,2417 -#define RDRV_OFFLINE 111,2480 -#define RDRV_DEGRADED 112,2503 -#define RDRV_OPTIMAL 113,2527 -#define RDRV_DELETED 114,2550 -#define NO_READ_AHEAD 119,2615 -#define READ_AHEAD 120,2640 -#define ADAP_READ_AHEAD 121,2662 -#define WRMODE_WRITE_THRU 122,2689 -#define WRMODE_WRITE_BACK 123,2717 -#define CACHED_IO 124,2745 -#define DIRECT_IO 125,2766 -#define MAX_LOGICAL_DRIVES_8LD 127,2788 -#define MAX_LOGICAL_DRIVES_40LD 128,2822 -#define FC_MAX_PHYSICAL_DEVICES 129,2858 -#define MAX_MBOX_CHANNELS 130,2895 -#define MAX_MBOX_TARGET 131,2924 -#define MBOX_MAX_PHYSICAL_DRIVES 132,2953 -#define MAX_ROW_SIZE_40LD 133,3020 -#define MAX_ROW_SIZE_8LD 134,3050 -#define SPAN_DEPTH_8_SPANS 135,3078 -#define SPAN_DEPTH_4_SPANS 136,3108 -#define MAX_REQ_SENSE_LEN 137,3138 -#define MBOX_MAX_FIRMWARE_STATUS 161,3955 -} __attribute__ ((packed)packed177,4283 -} __attribute__ ((packed)packed194,4791 -} __attribute__ ((packed)packed210,5025 -} __attribute__ ((packed)packed249,6304 -} __attribute__ ((packed)packed257,6452 -} __attribute__ ((packed)packed305,7936 -} __attribute__ ((packed)packed350,9333 -} __attribute__ ((packed)packed425,11723 -#define MAX_NOTIFY_SIZE 450,12479 -#define CUR_NOTIFY_SIZE 451,12509 -} __attribute__ ((packed)packed478,13227 -} __attribute__ ((packed)packed527,14705 -} __attribute__ ((packed)packed544,15142 -} __attribute__ ((packed)packed554,15386 -} __attribute__ ((packed)packed567,15755 -} __attribute__ ((packed)packed585,16131 -}__attribute__ ((packed)packed596,16351 -}__attribute__ ((packed)packed608,16597 -}__attribute__ ((packed)packed620,16843 -} __attribute__ ((packed)packed644,17467 -}__attribute__ ((packed)packed655,17726 -}__attribute__ ((packed)packed668,18028 -}__attribute__ ((packed)packed681,18335 -}__attribute__ ((packed)packed698,18760 -}__attribute__ ((packed)packed713,19141 -}__attribute__ ((packed)packed730,19596 -}__attribute__ ((packed)packed747,20056 -struct private_bios_data private_bios_data759,20474 -} __attribute__ ((packed)packed776,20831 -} __attribute__ ((packed)packed786,21069 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/megaraid_mm.h,294 -#define MEGARAID_MM_H16,416 -#define LSI_COMMON_MOD_VERSION 32,726 -#define LSI_COMMON_MOD_EXT_VERSION 33,768 -#define LSI_DBGLVL 37,856 -#define MRAID_MM_INIT_BUFF_SIZE 40,912 -typedef struct mimd mimd65,1437 - } __attribute__ __attribute__84,1751 -} __attribute__ ((packed)packed98,2053 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/megaraid_mm.c,869 -static int dbglevel 55,1807 -static int majorno;62,2016 -static uint32_t drvr_ver 63,2036 -static int adapters_count_g;65,2076 -static struct list_head adapters_list_g;66,2105 -wait_queue_head_t wait_q;68,2147 -static struct file_operations lsi_fops 70,2174 -mraid_mm_open(84,2476 -mraid_mm_ioctl(102,2861 -mraid_mm_get_adapter(201,4996 -handle_drvrcmd(243,5738 -mimd_to_kioc(316,7076 -mraid_mm_attach_buf(469,10566 -mraid_mm_alloc_kioc(549,12315 -mraid_mm_dealloc_kioc(595,13322 -lld_ioctl(636,14411 -ioctl_done(680,15221 -lld_timedout(704,15685 -kioc_to_mimd(723,16040 -hinfo_to_cinfo(801,17472 -mraid_mm_register_adp(825,18044 -mraid_mm_setup_dma_pools(962,21221 -mraid_mm_unregister_adp(1012,22105 -mraid_mm_free_adp_resources(1047,22670 -mraid_mm_teardown_dma_pools(1079,23150 -mraid_mm_init(1106,23558 -mraid_mm_compat_ioctl(1136,24159 -mraid_mm_exit(1149,24432 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/megaraid_mbox.c,2132 -static int megaraid_expose_unconf_disks 146,5138 -static unsigned int max_mbox_busy_wait 154,5408 -static unsigned int megaraid_max_sectors 162,5660 -static unsigned int megaraid_cmd_per_lun 170,5922 -static unsigned int megaraid_fast_load 181,6366 -int mraid_debug_level 192,6809 -static uint8_t megaraid_mbox_version[199,7001 -static struct pci_device_id pci_id_table_g[206,7139 -static struct pci_driver megaraid_pci_driver_g 440,12161 -static struct scsi_host_template megaraid_template_g 454,12457 -megaraid_init(474,13060 -megaraid_exit(509,13816 -megaraid_probe_one(529,14317 -megaraid_detach_one(656,17504 -megaraid_mbox_shutdown(723,19144 -megaraid_io_attach(751,19728 -megaraid_io_detach(807,21014 -megaraid_init_mbox(838,21700 -megaraid_fini_mbox(1014,25977 -megaraid_alloc_cmd_packets(1047,26713 -megaraid_free_cmd_packets(1209,31120 -megaraid_mbox_setup_dma_pools(1234,31755 -megaraid_mbox_teardown_dma_pools(1330,34308 -megaraid_alloc_scb(1377,35642 -megaraid_dealloc_scb(1415,36612 -megaraid_mbox_mksgl(1440,37127 -mbox_post_cmd(1513,38768 -megaraid_queue_command(1588,40378 -megaraid_mbox_build_cmd(1639,41729 -megaraid_mbox_runpendq(2020,50825 -megaraid_mbox_prepare_pthru(2091,52481 -megaraid_mbox_prepare_epthru(2139,53692 -megaraid_ack_sequence(2187,54914 -megaraid_isr(2301,57405 -megaraid_mbox_sync_scb(2325,57881 -megaraid_mbox_dpc(2375,58967 -megaraid_abort_handler(2598,64061 -megaraid_reset_handler(2743,68075 -mbox_post_sync_cmd(2881,71476 -mbox_post_sync_cmd_fast(3014,74360 -megaraid_busywait_mbox(3063,75430 -megaraid_mbox_product_info(3087,75881 -megaraid_mbox_extended_cdb(3212,79051 -megaraid_mbox_support_ha(3248,79772 -megaraid_mbox_support_random_del(3291,80629 -megaraid_mbox_get_max_sg(3326,81307 -megaraid_mbox_enum_raid_scsi(3366,82152 -megaraid_mbox_flush_cache(3402,82964 -megaraid_mbox_display_scb(3438,83757 -megaraid_mbox_setup_device_map(3485,84820 -megaraid_cmm_register(3528,85911 -megaraid_cmm_unregister(3618,88238 -megaraid_mbox_mm_handler(3637,88751 -megaraid_mbox_mm_command(3689,89873 -wait_till_fw_empty(3774,91705 -megaraid_mbox_mm_done(3812,92511 -gather_hbainfo(3857,93501 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/mega_common.h,1278 -#define _MEGA_COMMON_H_18,489 -#define LSI_MAX_CHANNELS 37,916 -#define LSI_MAX_LOGICAL_DRIVES_64LD 38,945 -} scb_t;scb_t74,2155 -#define SCB_FREE 79,2230 -#define SCB_ACTIVE 80,2277 -#define SCB_PENDQ 81,2327 -#define SCB_ISSUED 82,2379 -#define SCB_ABORT 83,2430 -#define SCB_RESET 84,2487 -#define MRAID_DMA_NONE 89,2572 -#define MRAID_DMA_WSG 90,2642 -#define MRAID_DMA_WBUF 91,2707 -#define VERSION_SIZE 148,5518 -} adapter_t;adapter_t190,6518 -#define SCSI_FREE_LIST_LOCK(SCSI_FREE_LIST_LOCK192,6532 -#define USER_FREE_LIST_LOCK(USER_FREE_LIST_LOCK193,6596 -#define PENDING_LIST_LOCK(PENDING_LIST_LOCK194,6660 -#define COMPLETED_LIST_LOCK(COMPLETED_LIST_LOCK195,6722 -#define SCP2HOST(SCP2HOST199,6825 -#define SCP2HOSTDATA(SCP2HOSTDATA200,6880 -#define SCP2CHANNEL(SCP2CHANNEL201,6948 -#define SCP2TARGET(SCP2TARGET202,7011 -#define SCP2LUN(SCP2LUN203,7068 -#define SCSIHOST2ADAP(SCSIHOST2ADAP206,7198 -#define SCP2ADAPTER(SCP2ADAPTER207,7261 -#define MRAID_IS_LOGICAL(MRAID_IS_LOGICAL221,7802 -#define MRAID_GET_DEVICE_MAP(MRAID_GET_DEVICE_MAP224,7890 -#define LSI_DBGLVL 248,8547 -#define ASSERT_ACTION 253,8686 -#define ASSERT_ACTION 255,8720 -#define ASSERT(ASSERT258,8757 -#define ASSERT(ASSERT264,8949 -struct mraid_pci_blk mraid_pci_blk276,9332 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/megaraid/megaraid_mbox.h,4577 -#define _MEGARAID_H_16,417 -#define MEGARAID_VERSION 24,518 -#define MEGARAID_EXT_VERSION 25,554 -#define PCI_DEVICE_ID_PERC4_DI_DISCOVERY 31,703 -#define PCI_SUBSYS_ID_PERC4_DI_DISCOVERY 32,752 -#define PCI_DEVICE_ID_PERC4_SC 34,802 -#define PCI_SUBSYS_ID_PERC4_SC 35,843 -#define PCI_DEVICE_ID_PERC4_DC 37,885 -#define PCI_SUBSYS_ID_PERC4_DC 38,926 -#define PCI_DEVICE_ID_PERC4_QC 40,968 -#define PCI_SUBSYS_ID_PERC4_QC 41,1009 -#define PCI_DEVICE_ID_PERC4_DI_EVERGLADES 43,1051 -#define PCI_SUBSYS_ID_PERC4_DI_EVERGLADES 44,1101 -#define PCI_DEVICE_ID_PERC4E_SI_BIGBEND 46,1152 -#define PCI_SUBSYS_ID_PERC4E_SI_BIGBEND 47,1201 -#define PCI_DEVICE_ID_PERC4E_DI_KOBUK 49,1251 -#define PCI_SUBSYS_ID_PERC4E_DI_KOBUK 50,1298 -#define PCI_DEVICE_ID_PERC4E_DI_CORVETTE 52,1346 -#define PCI_SUBSYS_ID_PERC4E_DI_CORVETTE 53,1395 -#define PCI_DEVICE_ID_PERC4E_DI_EXPEDITION 55,1445 -#define PCI_SUBSYS_ID_PERC4E_DI_EXPEDITION 56,1496 -#define PCI_DEVICE_ID_PERC4E_DI_GUADALUPE 58,1548 -#define PCI_SUBSYS_ID_PERC4E_DI_GUADALUPE 59,1598 -#define PCI_DEVICE_ID_PERC4E_DC_320_2E 61,1649 -#define PCI_SUBSYS_ID_PERC4E_DC_320_2E 62,1697 -#define PCI_DEVICE_ID_PERC4E_SC_320_1E 64,1746 -#define PCI_SUBSYS_ID_PERC4E_SC_320_1E 65,1794 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_0 67,1843 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_0 68,1893 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_1 70,1944 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_1 71,1994 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_2 73,2045 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_2 74,2095 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_0x 76,2146 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_0x 77,2197 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_2x 79,2249 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_2x 80,2300 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_4x 82,2352 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_4x 83,2403 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_1E 85,2455 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_1E 86,2506 -#define PCI_DEVICE_ID_MEGARAID_SCSI_320_2E 88,2558 -#define PCI_SUBSYS_ID_MEGARAID_SCSI_320_2E 89,2609 -#define PCI_DEVICE_ID_MEGARAID_I4_133_RAID 91,2661 -#define PCI_SUBSYS_ID_MEGARAID_I4_133_RAID 92,2712 -#define PCI_DEVICE_ID_MEGARAID_SATA_150_4 94,2764 -#define PCI_SUBSYS_ID_MEGARAID_SATA_150_4 95,2814 -#define PCI_DEVICE_ID_MEGARAID_SATA_150_6 97,2865 -#define PCI_SUBSYS_ID_MEGARAID_SATA_150_6 98,2915 -#define PCI_DEVICE_ID_MEGARAID_SATA_300_4x 100,2966 -#define PCI_SUBSYS_ID_MEGARAID_SATA_300_4x 101,3017 -#define PCI_DEVICE_ID_MEGARAID_SATA_300_8x 103,3069 -#define PCI_SUBSYS_ID_MEGARAID_SATA_300_8x 104,3120 -#define PCI_DEVICE_ID_INTEL_RAID_SRCU42X 106,3172 -#define PCI_SUBSYS_ID_INTEL_RAID_SRCU42X 107,3221 -#define PCI_DEVICE_ID_INTEL_RAID_SRCS16 109,3271 -#define PCI_SUBSYS_ID_INTEL_RAID_SRCS16 110,3320 -#define PCI_DEVICE_ID_INTEL_RAID_SRCU42E 112,3370 -#define PCI_SUBSYS_ID_INTEL_RAID_SRCU42E 113,3419 -#define PCI_DEVICE_ID_INTEL_RAID_SRCZCRX 115,3469 -#define PCI_SUBSYS_ID_INTEL_RAID_SRCZCRX 116,3518 -#define PCI_DEVICE_ID_INTEL_RAID_SRCS28X 118,3568 -#define PCI_SUBSYS_ID_INTEL_RAID_SRCS28X 119,3617 -#define PCI_DEVICE_ID_INTEL_RAID_SROMBU42E_ALIEF 121,3667 -#define PCI_SUBSYS_ID_INTEL_RAID_SROMBU42E_ALIEF 122,3723 -#define PCI_DEVICE_ID_INTEL_RAID_SROMBU42E_HARWICH 124,3780 -#define PCI_SUBSYS_ID_INTEL_RAID_SROMBU42E_HARWICH 125,3838 -#define PCI_DEVICE_ID_INTEL_RAID_SRCU41L_LAKE_SHETEK 127,3897 -#define PCI_SUBSYS_ID_INTEL_RAID_SRCU41L_LAKE_SHETEK 128,3957 -#define PCI_DEVICE_ID_FSC_MEGARAID_PCI_EXPRESS_ROMB 130,4018 -#define PCI_SUBSYS_ID_FSC_MEGARAID_PCI_EXPRESS_ROMB 131,4077 -#define PCI_DEVICE_ID_MEGARAID_ACER_ROMB_2E 133,4137 -#define PCI_SUBSYS_ID_MEGARAID_ACER_ROMB_2E 134,4189 -#define PCI_SUBSYS_ID_PERC3_QC 136,4242 -#define PCI_SUBSYS_ID_PERC3_DC 137,4283 -#define PCI_SUBSYS_ID_PERC3_SC 138,4324 -#define PCI_SUBSYS_ID_FSC 141,4392 -#define MBOX_MAX_SCSI_CMDS 144,4436 -#define MBOX_MAX_USER_CMDS 145,4505 -#define MBOX_DEF_CMD_PER_LUN 146,4570 -#define MBOX_DEFAULT_SG_SIZE 147,4630 -#define MBOX_MAX_SG_SIZE 148,4701 -#define MBOX_MAX_SECTORS 149,4765 -#define MBOX_TIMEOUT 150,4820 -#define MBOX_BUSY_WAIT 151,4880 -#define MBOX_RESET_WAIT 152,4944 -#define MBOX_RESET_EXT_WAIT 153,5009 -#define MBOX_IBUF_SIZE 159,5176 -} mbox_ccb_t;mbox_ccb_t192,6164 -} mraid_device_t;mraid_device_t250,8473 -#define ADAP2RAIDDEV(ADAP2RAIDDEV253,8529 -#define MAILBOX_LOCK(MAILBOX_LOCK255,8597 -#define IS_RAID_CH(IS_RAID_CH258,8695 -#define RDINDOOR(RDINDOOR261,8767 -#define RDOUTDOOR(RDOUTDOOR262,8822 -#define WRINDOOR(WRINDOOR263,8878 -#define WROUTDOOR(WROUTDOOR264,8947 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ultrastor.c,1725 -#define ULTRASTOR_PRIVATE 146,4714 -#define FALSE 151,4855 -#define TRUE 152,4871 -#define ULTRASTOR_DEBUG 155,4911 -#define VERSION 158,4971 -#define PACKED 160,4995 -#define ALIGNED(ALIGNED161,5035 -} ultrastor_sg_list;ultrastor_sg_list172,5361 -struct mscp mscp177,5482 -#define U14F_PRODUCT_ID(U14F_PRODUCT_ID206,6913 -#define CONFIG(CONFIG207,6958 -#define LCL_DOORBELL_MASK(LCL_DOORBELL_MASK210,7056 -#define LCL_DOORBELL_INTR(LCL_DOORBELL_INTR211,7103 -#define SYS_DOORBELL_MASK(SYS_DOORBELL_MASK212,7150 -#define SYS_DOORBELL_INTR(SYS_DOORBELL_INTR213,7197 -static struct ultrastor_configultrastor_config225,7577 -} config 259,8665 -int ultrastor_bus_reset;262,8735 -static const void *const bios_segment_table[266,8822 -static const unsigned char interrupt_table_14f[272,9038 -static const unsigned char dma_channel_table_14f[275,9169 -} mapping_table[281,9352 -static const unsigned short ultrastor_ports_14f[285,9506 -static inline int find_and_clear_bit_16(297,9881 -static inline unsigned char xchgb(315,10539 -static void log_ultrastor_abort(325,10802 -static int ultrastor_14f_detect(346,11328 - struct config_1 config_1350,11448 - struct config_2 config_2356,11640 -static int ultrastor_24f_detect(528,17111 -static int ultrastor_detect(640,20228 -static int ultrastor_release(646,20386 -static const char *ultrastor_info(658,20686 -static inline void build_sg_list(676,21275 -static int ultrastor_queuecommand(697,21987 -static int ultrastor_abort(836,26266 -static int ultrastor_host_reset(965,30610 -int ultrastor_biosparam(1027,32202 -static void ultrastor_interrupt(1043,32588 -static irqreturn_t do_ultrastor_interrupt(1175,36108 -static Scsi_Host_Template driver_template 1189,36461 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpt_i2o.c,3257 -#define ADDR32 36,1715 -static dpt_sig_S DPTI_sig 85,3122 -static struct i2o_sys_tbl *sys_tbl 113,3867 -static int sys_tbl_ind 114,3910 -static int sys_tbl_len 115,3938 -static adpt_hba* hbas[117,3967 -static adpt_hba* hba_chain 118,4004 -static int hba_count 119,4039 -static struct file_operations adpt_fops 121,4066 -static struct notifier_block adpt_reboot_notifier 128,4204 -struct adpt_i2o_post_wait_dataadpt_i2o_post_wait_data139,4415 -static struct adpt_i2o_post_wait_data *adpt_post_wait_queue 147,4542 -static u32 adpt_post_wait_id 148,4610 -static spinlock_t adpt_post_wait_lock 149,4644 -static u8 adpt_read_blink_led(157,4886 -static struct pci_device_id dptids[172,5287 -static int adpt_detect(179,5514 -static int adpt_release(275,7895 -static void adpt_inquiry(285,8092 -static int adpt_slave_configure(368,10202 -static int adpt_queue(384,10560 -static int adpt_bios_param(458,13001 -static const char *adpt_info(510,13997 -static int adpt_proc_info(518,14146 -static int adpt_abort(649,17508 -#define I2O_DEVICE_RESET 685,18620 -static int adpt_device_reset(689,18815 -#define I2O_HBA_BUS_RESET 727,19816 -static int adpt_bus_reset(729,19910 -static int adpt_reset(751,20662 -static int adpt_hba_reset(768,21256 -static void adpt_i2o_sys_shutdown(814,22299 -static int adpt_reboot_event(853,23308 -static int adpt_install_hba(866,23544 -static void adpt_i2o_delete_hba(1001,27133 -static int adpt_init(1078,28532 -static struct adpt_device* adpt_find_device(1094,28793 -static int adpt_i2o_post_wait(1126,29458 -static s32 adpt_i2o_post_this(1221,32170 -static void adpt_i2o_post_wait_complete(1253,32781 -static s32 adpt_i2o_reset_hba(1290,33953 -static int adpt_i2o_parse_lct(1389,36352 -static int adpt_i2o_install_device(1562,41350 -static int adpt_open(1579,41674 -static int adpt_close(1612,42241 -static int adpt_i2o_passthru(1638,42664 -static int adpt_system_info(1823,48047 -static void adpt_ia64_info(1856,48808 -static void adpt_sparc_info(1867,49032 -static void adpt_alpha_info(1877,49262 -static void adpt_i386_info(1888,49486 -static int adpt_ioctl(1912,49934 -#define FLG_OSD_PCI_VALID 1955,50814 -#define FLG_OSD_DMA 1956,50847 -#define FLG_OSD_I2O 1957,50876 -static irqreturn_t adpt_isr(2000,51964 -static s32 adpt_scsi_to_i2o(2088,54284 -static s32 adpt_scsi_register(2205,57398 -static s32 adpt_i2o_to_scsi(2236,58151 -static s32 adpt_rescan(2359,62620 -static s32 adpt_i2o_reparse_lct(2377,62976 -static void adpt_fail_posted_scbs(2536,67344 -static int adpt_i2o_activate_hba(2566,68064 -static int adpt_i2o_online_hba(2622,69403 -static s32 adpt_send_nop(2639,69686 -static s32 adpt_i2o_init_outbound_q(2668,70316 -static s32 adpt_i2o_status_get(2774,72976 -static int adpt_i2o_lct_get(2891,75770 -static int adpt_i2o_build_sys_table(2952,77569 -static void adpt_i2o_report_hba_unit(3015,79395 -static const char *adpt_i2o_get_class_name(3058,80524 -static s32 adpt_i2o_hrt_get(3120,81834 -static int adpt_i2o_query_scalar(3158,82971 -static int adpt_i2o_issue_params(3204,84266 -static s32 adpt_i2o_quiesce_hba(3240,85381 -static int adpt_i2o_enable_hba(3274,86162 -static int adpt_i2o_systab_send(3307,86878 -static static void adpt_delay(3353,87927 -static struct scsi_host_template driver_template 3363,88077 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/u14-34f.c,3894 -static Scsi_Host_Template driver_template 439,20080 -#define PRODUCT_ID1 460,21099 -#define PRODUCT_ID2 461,21125 -#define ISA 464,21221 -#define ESA 465,21236 -#define OP_HOST_ADAPTER 467,21251 -#define OP_SCSI 468,21281 -#define OP_RESET 469,21311 -#define DTD_SCSI 470,21341 -#define DTD_IN 471,21371 -#define DTD_OUT 472,21401 -#define DTD_NONE 473,21431 -#define HA_CMD_INQUIRY 474,21461 -#define HA_CMD_SELF_DIAG 475,21491 -#define HA_CMD_READ_BUFF 476,21521 -#define HA_CMD_WRITE_BUFF 477,21551 -#define MAX_ISA 487,21761 -#define MAX_VESA 488,21779 -#define MAX_EISA 489,21798 -#define MAX_PCI 490,21817 -#define MAX_BOARDS 491,21835 -#define MAX_CHANNEL 492,21896 -#define MAX_LUN 493,21918 -#define MAX_TARGET 494,21936 -#define MAX_MAILBOXES 495,21957 -#define MAX_SGLIST 496,21982 -#define MAX_SAFE_SGLIST 497,22004 -#define MAX_INTERNAL_RETRIES 498,22031 -#define MAX_CMD_PER_LUN 499,22063 -#define MAX_TAGGED_CMD_PER_LUN 500,22089 -#define SKIP 502,22155 -#define FALSE 503,22178 -#define TRUE 504,22194 -#define FREE 505,22209 -#define IN_USE 506,22224 -#define LOCKED 507,22243 -#define IN_RESET 508,22262 -#define IGNORE 509,22281 -#define READY 510,22300 -#define ABORTING 511,22319 -#define NO_DMA 512,22338 -#define MAXLOOP 513,22359 -#define TAG_DISABLED 514,22382 -#define TAG_SIMPLE 515,22405 -#define TAG_ORDERED 516,22428 -#define REG_LCL_MASK 518,22452 -#define REG_LCL_INTR 519,22480 -#define REG_SYS_MASK 520,22508 -#define REG_SYS_INTR 521,22536 -#define REG_PRODUCT_ID1 522,22564 -#define REG_PRODUCT_ID2 523,22592 -#define REG_CONFIG1 524,22620 -#define REG_CONFIG2 525,22648 -#define REG_OGM 526,22676 -#define REG_ICM 527,22704 -#define REGION_SIZE 528,22733 -#define BSY_ASSERTED 529,22764 -#define IRQ_ASSERTED 530,22795 -#define CMD_RESET 531,22826 -#define CMD_OGM_INTR 532,22857 -#define CMD_CLR_INTR 533,22888 -#define CMD_ENA_INTR 534,22919 -#define ASOK 535,22950 -#define ASST 536,22981 -#define YESNO(YESNO538,23013 -#define TLDEV(TLDEV539,23048 -#define PACKED 541,23113 -struct sg_list sg_list543,23162 -struct mscp mscp549,23343 -#define CP_TAIL_SIZE 587,25135 -struct hostdata hostdata589,25204 -static struct Scsi_Host *sh[608,26300 -static const char *driver_name 609,26345 -static char sha[610,26386 -static spinlock_t driver_lock 611,26415 -static unsigned int num_boards 614,26547 -static unsigned long io_port[616,26593 -#define HD(HD629,26907 -#define BN(BN630,26968 -#define H2DEV(H2DEV633,27041 -#define DEV2H(DEV2H634,27073 -static int do_trace 638,27259 -static int setup_done 639,27288 -static int link_statistics;640,27319 -static int ext_tran 641,27347 -static int have_old_firmware 644,27413 -static int have_old_firmware 646,27456 -static int tag_mode 650,27548 -static int tag_mode 652,27588 -static int linked_comm 656,27681 -static int linked_comm 658,27718 -static int max_queue_depth 662,27800 -static int max_queue_depth 664,27865 -#define MAX_INT_PARAM 667,27919 -#define MAX_BOOT_OPTIONS_SIZE 668,27944 -static char boot_options[669,27978 -static int u14_34f_slave_configure(685,28459 -static int wait_on_busy(734,29806 -static int board_inquiry(744,30012 -static int port_detect 796,31739 - struct config_1 config_1823,32548 - struct config_2 config_2835,32868 -static void internal_setup(1032,39070 -static int option_setup(1067,40069 -static int u14_34f_detect(1083,40397 -static void map_dma(1111,41000 -static void unmap_dma(1156,42523 -static void sync_dma(1178,43231 -static void scsi_to_dev_dir(1201,43999 -static int u14_34f_queuecommand(1254,45508 -static int u14_34f_eh_abort(1335,47936 -static int u14_34f_eh_host_reset(1409,50268 -static int u14_34f_bios_param(1542,54173 -static void sort(1565,54827 -static int reorder(1590,55356 -static void flush_dev(1688,58996 -static irqreturn_t ihdlr(1727,60196 -static irqreturn_t do_interrupt_handler(1940,67435 -static int u14_34f_release(1955,67927 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/psi240i.c,1248 -#define DEB(DEB52,1569 -#define DEB(DEB54,1592 -#define MAXBOARDS 57,1615 -#define PORT_DATA 59,1709 -#define PORT_ERROR 60,1732 -#define PORT_SECTOR_COUNT 61,1756 -#define PORT_LBA_0 62,1785 -#define PORT_LBA_8 63,1809 -#define PORT_LBA_16 64,1833 -#define PORT_LBA_24 65,1858 -#define PORT_STAT_CMD 66,1883 -#define PORT_SEL_FAIL 67,1909 -#define PORT_IRQ_STATUS 68,1935 -#define PORT_ADDRESS 69,1963 -#define PORT_FAIL 70,1989 -#define PORT_ALT_STAT 71,2013 - } OUR_DEVICE, *POUR_DEVICE;POUR_DEVICE84,2489 - } ADAPTER240I, *PADAPTER240I;PADAPTER240I97,2724 -#define HOSTDATA(HOSTDATA99,2756 -static struct Scsi_Host *PsiHost[101,2812 -static IDENTIFY_DATA identifyData;102,2897 -static SETUP ChipSetup;103,2934 -static USHORT portAddr[105,2963 -static int WriteData 117,3396 -static UCHAR IdeCmd 144,4252 -static int SetupTransfer 185,5684 -static ULONG DecodeError 214,6650 -static void Irq_Handler 255,7631 -static irqreturn_t do_Irq_Handler 371,10884 -int Psi240i_QueueCommand 393,11544 -void ReadChipMemory 512,15211 -int Psi240i_Detect 541,15958 -static int Psi240i_Release(634,19719 -int Psi240i_Abort 654,20273 -int Psi240i_Reset 674,20959 -int Psi240i_BiosParam 692,21506 -static Scsi_Host_Template driver_template 707,21806 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sgiwd93.h,79 -#define _SGIWD93_H7,178 -#define CMD_PER_LUN 10,218 -#define CAN_QUEUE 14,266 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sim710.c,757 -#define MAX_SLOTS 47,1632 -static __u8 __initdata id_array[48,1652 -char *sim710;50,1727 -#define ARG_SEP 59,1923 -#define ARG_SEP 61,1949 -param_setup(65,1988 -static struct scsi_host_template sim710_driver_template 91,2600 -sim710_probe_common(99,2793 -sim710_device_remove(161,4454 -#define MCA_01BB_IO_PORTS 177,4822 -#define MCA_01BB_IRQS 182,5048 -#define MCA_004F_IO_PORTS 185,5107 -#define MCA_004F_IRQS 186,5185 -static short sim710_mca_id_table[188,5221 -sim710_mca_probe(191,5307 -static struct mca_driver sim710_mca_driver 270,7641 -static struct eisa_device_id sim710_eisa_ids[283,7912 -sim710_eisa_probe(291,8041 -struct eisa_driver sim710_eisa_driver 329,9027 -static int __init sim710_init(339,9246 -static void __exit sim710_exit(363,9753 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aha1542.h,1333 -#define STATUS(STATUS38,832 -#define STST 39,858 -#define DIAGF 40,905 -#define INIT 41,959 -#define IDLE 42,1016 -#define CDF 43,1064 -#define DF 44,1115 -#define INVDCMD 45,1156 -#define STATMASK 46,1204 -#define INTRFLAGS(INTRFLAGS48,1251 -#define ANYINTR 49,1292 -#define SCRD 50,1334 -#define HACC 51,1379 -#define MBOA 52,1424 -#define MBIF 53,1459 -#define INTRMASK 54,1493 -#define CONTROL(CONTROL57,1528 -#define HRST 58,1563 -#define SRST 59,1599 -#define IRST 60,1635 -#define SCRST 61,1676 -#define DATA(DATA64,1735 -#define CMD_NOP 65,1771 -#define CMD_MBINIT 66,1812 -#define CMD_START_SCSI 67,1865 -#define CMD_INQUIRY 68,1918 -#define CMD_EMBOI 69,1965 -#define CMD_BUSON_TIME 70,2023 -#define CMD_BUSOFF_TIME 71,2073 -#define CMD_DMASPEED 72,2125 -#define CMD_RETDEVS 73,2183 -#define CMD_RETCONF 74,2239 -#define CMD_RETSETUP 75,2296 -#define CMD_ECHO 76,2346 -#define CMD_EXTBIOS 78,2393 -#define CMD_MBENABLE 79,2473 -struct mailbox mailbox82,2593 -struct chain chain88,2732 -static inline void any2scsi(94,2885 -#define scsi2int(scsi2int101,2976 -#define xany2scsi(xany2scsi103,3067 -#define xscsi2int(xscsi2int109,3210 -#define MAX_CDB 112,3342 -#define MAX_SENSE 113,3361 -struct ccb ccb115,3383 -#define AHA1542_MAILBOXES 147,4726 -#define AHA1542_SCATTER 148,4754 -#define AHA1542_CMDLUN 149,4781 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/a3000.c,371 -#define DMA(DMA24,461 -#define HDATA(HDATA25,512 -static struct Scsi_Host *a3000_host 27,579 -static irqreturn_t a3000_intr 29,624 -static int dma_setup 47,1095 -static void dma_stop 113,2876 -int __init a3000_detect(171,4624 -static int a3000_bus_reset(208,5634 -#define HOSTS_C215,5765 -static Scsi_Host_Template driver_template 217,5782 -int a3000_release(236,6277 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/imm.c,1788 -#define IMM_PROBE_SPP 29,825 -#define IMM_PROBE_PS2 30,856 -#define IMM_PROBE_ECR 31,887 -#define IMM_PROBE_EPP17 32,918 -#define IMM_PROBE_EPP19 33,949 -} imm_struct;imm_struct51,1686 -static inline imm_struct *imm_dev(58,1810 -static spinlock_t arbitration_lock 63,1914 -static void got_it(65,1972 -static void imm_wakeup(74,2129 -static int imm_pb_claim(88,2411 -static void imm_pb_dismiss(102,2689 -static inline void imm_pb_release(114,2954 -static inline int imm_proc_write(126,3396 -static int imm_proc_info(139,3696 -#define imm_fail(imm_fail168,4340 -imm_fail_func(171,4483 -static unsigned char imm_wait(191,4967 -static int imm_negotiate(236,5961 -static inline void epp_reset(287,6888 -static inline void ecp_sync(299,7076 -static int imm_byte_out(316,7417 -static int imm_nibble_in(331,7820 -static int imm_byte_in(350,8209 -static int imm_out(366,8514 -static int imm_in(415,9491 -static int imm_cpp(470,10549 -static inline int imm_connect(540,12433 -static void imm_disconnect(554,12873 -static int imm_select(559,12978 -static int imm_init(608,13816 -static inline int imm_send_command(619,14098 -static int imm_completion(639,14643 -static void imm_interrupt(739,17225 -static int imm_engine(802,18652 -static int imm_queuecommand(943,21926 -static int imm_biosparam(973,22649 -static int imm_abort(987,22980 -static void imm_reset_pulse(1007,23477 -static int imm_reset(1019,23674 -static int device_check(1035,24050 -static int imm_adjust_queue(1121,26103 -static struct scsi_host_template imm_template 1127,26240 -static int __imm_attach(1151,27003 -static void imm_attach(1256,29202 -static void imm_detach(1261,29269 -static struct parport_driver imm_driver 1276,29574 -static int __init imm_driver_init(1282,29684 -static void __exit imm_driver_exit(1288,29818 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/seagate.c,3791 -#define DPRINTK(DPRINTK112,3913 -#define DPRINTK(DPRINTK114,4017 -#define DANY(DANY116,4073 -#define IRQ 119,4133 -#define FAST123,4169 -#define CMD_RST 146,4611 -#define CMD_SEL 147,4634 -#define CMD_BSY 148,4657 -#define CMD_ATTN 149,4680 -#define CMD_START_ARB 150,4707 -#define CMD_EN_PARITY 151,4735 -#define CMD_INTR 152,4763 -#define CMD_DRVR_ENABLE 153,4786 -#define STAT_MSG 159,4847 -#define STAT_CD 160,4870 -#define STAT_MSG 162,4899 -#define STAT_CD 163,4922 -#define STAT_BSY 166,4953 -#define STAT_IO 167,4976 -#define STAT_REQ 168,4999 -#define STAT_SEL 169,5022 -#define STAT_PARITY 170,5045 -#define STAT_ARB_CMPL 171,5071 -#define REQ_MASK 177,5118 -#define REQ_DATAOUT 178,5167 -#define REQ_DATAIN 179,5189 -#define REQ_CMDOUT 180,5216 -#define REQ_STATIN 181,5243 -#define REQ_MSGOUT 182,5282 -#define REQ_MSGIN 183,5322 -#define BASE_CMD 188,5429 -#define BASE_CMD 190,5466 -#define PHASE_BUS_FREE 197,5517 -#define PHASE_ARBITRATION 198,5542 -#define PHASE_SELECTION 199,5570 -#define PHASE_DATAIN 200,5596 -#define PHASE_DATAOUT 201,5619 -#define PHASE_CMDOUT 202,5646 -#define PHASE_MSGIN 203,5672 -#define PHASE_MSGOUT 204,5697 -#define PHASE_STATUSIN 205,5723 -#define PHASE_ETC 206,5752 -#define PRINT_COMMAND 207,5862 -#define PHASE_EXIT 208,5890 -#define PHASE_RESELECT 209,5915 -#define DEBUG_FAST 210,5944 -#define DEBUG_SG 211,5970 -#define DEBUG_LINKED 212,5996 -#define DEBUG_BORKEN 213,6024 -#define ST0X_BUS_FREE_DELAY 220,6146 -#define ST0X_SELECTION_DELAY 221,6177 -#define SEAGATE 223,6210 -#define FD 224,6278 -#define ST0X_ID_STR 226,6292 -#define FD_ID_STR 227,6334 -static int incommand;233,6516 -static unsigned int base_address 236,6619 -static unsigned long st0x_cr_sr;240,6760 -static unsigned long st0x_dr;246,6949 -static volatile int st0x_aborted 249,7041 -static unsigned char controller_type 252,7143 -static int irq 255,7265 -#define retcode(retcode263,7406 -#define STATUS 264,7475 -#define DATA 265,7519 -#define WRITE_CONTROL(WRITE_CONTROL266,7558 -#define WRITE_DATA(WRITE_DATA267,7616 -static unsigned int seagate_bases[270,7686 -} Signature;Signature280,7892 -static Signature __initdata signatures[282,7906 -#define NUM_SIGNATURES 313,9096 -static int hostno 320,9264 -static int fast 325,9447 -#define fast 327,9474 -static int borken_calibration 371,11372 -static void __init borken_init 373,11408 -static inline void borken_wait 396,11985 -#define ULOOP(ULOOP416,12466 -#define TIMEOUT 417,12505 -int __init seagate_st0x_detect 419,12535 -static const char *seagate_st0x_info 545,15674 -static unsigned char current_target,560,16023 -static unsigned char current_target, current_lun;560,16023 -static unsigned char *current_cmnd,561,16073 -static unsigned char *current_cmnd, *current_data;561,16073 -static int current_nobuffs;562,16124 -static struct scatterlist *current_buffer;563,16152 -static int current_bufflen;564,16195 -static int linked_connected 573,16414 -static unsigned char linked_target,574,16447 -static unsigned char linked_target, linked_lun;574,16447 -static Scsi_Cmnd *SCint 578,16548 -#define NO_RECONNECT 585,16690 -#define RECONNECT_NOW 586,16716 -#define CAN_RECONNECT 587,16742 -#define LINKED_RIGHT 595,17012 -#define LINKED_WRONG 596,17038 -static int should_reconnect 602,17133 -static irqreturn_t do_seagate_reconnect_intr(610,17340 -static void seagate_reconnect_intr 622,17657 -static int recursion_depth 665,19183 -static int seagate_st0x_queue_command 667,19216 -static int internal_command 718,20546 -static int seagate_st0x_abort 1632,46514 -static int seagate_st0x_bus_reset(1647,46744 -static int seagate_st0x_host_reset(1664,47113 -static int seagate_st0x_device_reset(1669,47187 -static int seagate_st0x_release(1674,47263 -static Scsi_Host_Template driver_template 1682,47435 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cyberstorm.c,1000 -#define CYBER_ESP_ADDR 47,1200 -#define CYBER_DMA_ADDR 48,1230 -struct cyber_dma_registers cyber_dma_registers52,1297 -#define ctrl_reg 62,1779 -#define CYBER_DMA_LED 66,1867 -#define CYBER_DMA_WRITE 67,1925 -#define CYBER_DMA_Z3 68,1986 -#define CYBER_DMA_HNDL_INTR 71,2086 -#define CYBER_HOST_ID 76,2279 -#define CYBER_SLOW_CABLE 79,2379 -static unsigned char ctrl_data 94,3126 -static volatile unsigned char cmd_buffer[100,3317 -int __init cyber_esp_detect(107,3561 -static int dma_bytes_sent(199,6379 -static int dma_can_transfer(209,6736 -static void dma_dump_state(220,7009 -static void dma_init_read(229,7267 -static void dma_init_write(266,8502 -static void dma_ints_off(293,9236 -static void dma_ints_on(298,9311 -static int dma_irq_p(303,9384 -static void dma_led_off(311,9649 -static void dma_led_on(317,9798 -static int dma_ports_p(323,9945 -static void dma_setup(328,10033 -#define HOSTS_C340,10340 -int cyber_esp_release(342,10357 -static Scsi_Host_Template driver_template 356,10696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/g_NCR5380.h,1721 -#define GENERIC_NCR5380_H33,620 -#define GENERIC_NCR5380_PUBLIC_RELEASE 37,674 -#define BIOSPARAM40,733 -#define NCR5380_BIOSPARAM 41,751 -#define NCR5380_BIOSPARAM 43,809 -#define CMD_PER_LUN 57,1351 -#define CAN_QUEUE 61,1399 -#define __STRVAL(__STRVAL66,1445 -#define STRVAL(STRVAL67,1468 -#define NCR5380_map_config 71,1534 -#define NCR5380_map_type 72,1566 -#define NCR5380_map_name 73,1595 -#define NCR5380_instance_name 74,1625 -#define NCR53C400_register_offset 75,1663 -#define NCR53C400_address_adjust 76,1699 -#define NCR5380_region_size 79,1752 -#define NCR5380_region_size 81,1789 -#define NCR5380_read(NCR5380_read84,1827 -#define NCR5380_write(NCR5380_write85,1885 -#define NCR5380_map_config 90,2014 -#define NCR5380_map_type 91,2048 -#define NCR5380_map_name 92,2087 -#define NCR5380_instance_name 93,2117 -#define NCR53C400_register_offset 94,2152 -#define NCR53C400_address_adjust 95,2192 -#define NCR53C400_mem_base 96,2227 -#define NCR53C400_host_buffer 97,2261 -#define NCR5380_region_size 98,2298 -#define NCR5380_read(NCR5380_read100,2334 -#define NCR5380_write(NCR5380_write101,2417 -#define NCR5380_implementation_fields 104,2524 -#define NCR5380_local_declare(NCR5380_local_declare107,2603 -#define NCR5380_setup(NCR5380_setup110,2681 -#define NCR5380_intr 113,2793 -#define NCR5380_queue_command 114,2835 -#define NCR5380_abort 115,2895 -#define NCR5380_bus_reset 116,2939 -#define NCR5380_device_reset 117,2991 -#define NCR5380_host_reset 118,3049 -#define NCR5380_pread 119,3103 -#define NCR5380_pwrite 120,3147 -#define NCR5380_proc_info 121,3193 -#define BOARD_NCR5380 123,3245 -#define BOARD_NCR53C400 124,3269 -#define BOARD_NCR53C400A 125,3295 -#define BOARD_DTC3181E 126,3322 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/a2091.c,327 -#define DMA(DMA25,487 -#define HDATA(HDATA26,538 -static irqreturn_t a2091_intr 28,605 -static int dma_setup 44,1084 -static void dma_stop 119,3115 -int __init a2091_detect(176,4604 -static int a2091_bus_reset(221,5837 -#define HOSTS_C228,5968 -static Scsi_Host_Template driver_template 230,5985 -int a2091_release(249,6482 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sd.c,1390 -#define SD_MAJORS 71,2469 -#define SD_MAX_DISKS 77,2622 -#define SD_TIMEOUT 82,2753 -#define SD_MOD_TIMEOUT 83,2783 -#define SD_MAX_RETRIES 88,2854 -struct scsi_disk scsi_disk92,2932 -static spinlock_t sd_index_lock 107,3377 -static struct scsi_driver sd_template 126,4121 -static int sd_major(153,4894 -#define to_scsi_disk(to_scsi_disk168,5161 -static inline struct scsi_disk *scsi_disk(170,5228 -static struct scsi_disk *scsi_disk_get(175,5365 -static void scsi_disk_put(197,5768 -static int sd_init_command(213,6248 -static int sd_open(418,12754 -static int sd_release(493,14564 -static int sd_hdio_getgeo(514,15135 -static int sd_ioctl(558,16577 -static void set_media_not_present(603,17846 -static int sd_media_changed(618,18202 -static int sd_sync_cache(678,19901 -static int sd_issue_flush(720,20872 -static void sd_rescan(734,21146 -static struct block_device_operations sd_fops 740,21274 -static void sd_rw_intr(756,21749 -static int media_not_present(858,24633 -sd_spinup_disk(878,25114 -sd_read_capacity(998,28298 -sd_do_mode_sense(1179,33529 -sd_read_write_protect_flag(1191,33903 -sd_read_cache_type(1247,35609 -static int sd_revalidate_disk(1327,37697 -static int sd_probe(1406,39928 -static int sd_remove(1517,42669 -static void scsi_disk_release(1539,43245 -static void sd_shutdown(1560,43694 -static int __init init_sd(1582,44199 -static void __exit exit_sd(1603,44649 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/nsp32.c,4324 -static int trans_mode 61,1670 -#define ASYNC_MODE 64,1844 -#define ULTRA20M_MODE 65,1868 -static int auto_param 67,1893 -static int disc_priv 71,2056 -static const char *nsp32_release_version 79,2447 -static struct pci_device_id nsp32_pci_table[85,2603 -static struct pci_device_id nsp32_pci_table[] __devinitdata 85,2603 -static nsp32_hw_data nsp32_data_base;146,4253 -static nsp32_sync_table nsp32_sync_table_40M[154,4445 -static nsp32_sync_table nsp32_sync_table_20M[167,5131 -static nsp32_sync_table nsp32_sync_table_pci[179,5735 -static Scsi_Host_Template nsp32_template 282,10138 -# define NSP32_DEBUG_MASK 315,11072 -# define nsp32_msg(nsp32_msg316,11113 -# define nsp32_dbg(nsp32_dbg317,11187 -# define NSP32_DEBUG_MASK 319,11237 -# define nsp32_msg(nsp32_msg320,11278 -# define nsp32_dbg(nsp32_dbg322,11368 -#define NSP32_DEBUG_QUEUECOMMAND 326,11466 -#define NSP32_DEBUG_REGISTER 327,11506 -#define NSP32_DEBUG_AUTOSCSI 328,11543 -#define NSP32_DEBUG_INTR 329,11580 -#define NSP32_DEBUG_SGLIST 330,11613 -#define NSP32_DEBUG_BUSFREE 331,11648 -#define NSP32_DEBUG_CDB_CONTENTS 332,11684 -#define NSP32_DEBUG_RESELECTION 333,11724 -#define NSP32_DEBUG_MSGINOCCUR 334,11764 -#define NSP32_DEBUG_EEPROM 335,11803 -#define NSP32_DEBUG_MSGOUTOCCUR 336,11838 -#define NSP32_DEBUG_BUSRESET 337,11879 -#define NSP32_DEBUG_RESTART 338,11917 -#define NSP32_DEBUG_SYNC 339,11954 -#define NSP32_DEBUG_WAIT 340,11988 -#define NSP32_DEBUG_TARGETFLAG 341,12022 -#define NSP32_DEBUG_PROC 342,12062 -#define NSP32_DEBUG_INIT 343,12096 -#define NSP32_SPECIAL_PRINT_REGISTER 344,12130 -#define NSP32_DEBUG_BUF_LEN 346,12176 -static void nsp32_message(348,12210 -static void nsp32_dmessage(365,12571 -# define show_command(show_command383,12945 -# define show_busphase(show_busphase384,12980 -# define show_autophase(show_autophase385,13015 -static void nsp32_build_identify(391,13085 -static void nsp32_build_sdtr(410,13510 -static void nsp32_build_nop(429,14045 -static void nsp32_build_reject(447,14398 -static void nsp32_start_timer(460,14660 -static int nsp32_selection_autopara(478,15051 -static int nsp32_selection_autoscsi(609,18465 -static int nsp32_arbitration(784,22883 -static int nsp32_reselection(833,24037 -static int nsp32_setup_sg_table(887,25451 -static int nsp32_queuecommand(953,27249 -static int nsp32hw_init(1097,31532 -static irqreturn_t do_nsp32_isr(1204,35315 -#define SPRINTF(SPRINTF1496,42695 -static int nsp32_proc_info(1503,42966 -static void nsp32_scsi_done(1625,46082 -static int nsp32_busfree_occur(1681,47308 -static void nsp32_adjust_busfree(1839,51691 -static void nsp32_msgout_occur(1912,53704 -static void nsp32_restart_autoscsi(1988,55649 -static void nsp32_msgin_occur(2054,57253 -static void nsp32_analyze_sdtr(2351,63765 -static int nsp32_search_period_entry(2486,67308 -static void nsp32_set_async(2519,67943 -static void nsp32_set_max_sync(2536,68358 -static void nsp32_set_sync_entry(2558,68989 -static void nsp32_wait_req(2587,69856 -static void nsp32_wait_sack(2616,70588 -static void nsp32_sack_assert(2647,71344 -static void nsp32_sack_negate(2660,71640 -#define DETECT_OK 2680,72172 -#define DETECT_NG 2681,72192 -#define PCIDEV 2682,72212 -#define DETECT_OK 2685,72287 -#define DETECT_NG 2686,72307 -#define PCIDEV 2687,72327 -static int nsp32_detect(2683,72235 -static int nsp32_release(2919,78417 -static const char *nsp32_info(2948,79010 -static int nsp32_eh_abort(2959,79252 -static int nsp32_eh_bus_reset(2987,79967 -static void nsp32_do_bus_reset(3002,80427 -static int nsp32_eh_host_reset(3044,81403 -static int nsp32_getprom_param(3069,82055 -static int nsp32_getprom_at24(3144,84250 -static int nsp32_getprom_c16(3231,86551 -static int nsp32_prom_read(3282,87524 -static void nsp32_prom_set(3345,88922 -static int nsp32_prom_get(3363,89207 -static void nsp32_prom_start 3387,89544 -static void nsp32_prom_stop 3398,89867 -static void nsp32_prom_write_bit(3408,90117 -static int nsp32_prom_read_bit(3416,90297 -static int nsp32_suspend(3439,90728 -static int nsp32_resume(3454,91157 -static int nsp32_enable_wake(3484,91894 -static int __devinit nsp32_probe(3497,92282 -static void __devexit nsp32_remove(3539,93359 -static struct pci_driver nsp32_driver 3560,93756 -static int __init init_nsp32(3575,94127 -static void __exit exit_nsp32(3580,94244 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mac_esp.c,1468 -#define myreadl(myreadl12,235 -#define mywritel(mywritel13,293 -#define mac_turnon_irq(mac_turnon_irq46,938 -#define mac_turnoff_irq(mac_turnoff_irq47,982 -static volatile unsigned char cmd_buffer[70,2094 -static int esp_initialized 76,2258 -static int setup_num_esps 78,2291 -static int setup_disconnect 79,2323 -static int setup_nosync 80,2357 -static int setup_can_queue 81,2387 -static int setup_cmd_per_lun 82,2420 -static int setup_sg_tablesize 83,2455 -static int setup_use_tagged_queuing 85,2511 -static int setup_hostid 87,2560 -void mac_esp_intr(94,2691 -void scsi_esp_polled(128,3470 -void fake_intr(136,3615 -irqreturn_t fake_drq(145,3776 -#define DRIVER_SETUP151,3900 -static int __init mac_esp_setup(165,4203 -unsigned long get_base(259,6068 -int mac_esp_detect(303,6926 -static int mac_esp_release(474,10779 -static int esp_dafb_dma_irq_p(509,12287 -static int esp_iosb_dma_irq_p(550,13028 -static int dma_bytes_sent(573,13571 -static int dma_can_transfer(588,13883 -static void dma_dump_state(611,14272 -static void dma_init_read(628,14684 -static void dma_init_write(634,14804 -static void dma_ints_off(640,14926 -static void dma_ints_on(646,15007 -static int dma_irq_p(655,15124 -static int dma_irq_p_quick(666,15320 -static void dma_led_off(689,15830 -static void dma_led_on(697,15953 -static int dma_ports_p(705,16074 -static void dma_setup(711,16136 -static void dma_setup_quick(726,16399 -static Scsi_Host_Template driver_template 733,16555 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/hosts.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/st.h,1179 -#define _ST_H3,15 -} ST_buffer;ST_buffer31,935 -struct st_buf_fragment st_buf_fragment34,991 -} ST_mode;ST_mode51,1558 -#define ST_NBR_MODE_BITS 55,1695 -#define ST_NBR_MODES 56,1722 -#define ST_MODE_SHIFT 57,1767 -#define ST_MODE_MASK 58,1812 -#define ST_MAX_TAPES 60,1872 -#define ST_MAX_TAPE_ENTRIES 61,1897 -} ST_partstat;ST_partstat72,2219 -#define ST_NBR_PARTITIONS 74,2235 -} Scsi_Tape;Scsi_Tape149,4484 -#define USE_PF 152,4525 -#define PF_TESTED 153,4547 -#define ST_NOEOF 156,4590 -#define ST_FM_HIT 157,4609 -#define ST_FM 158,4635 -#define ST_EOM_OK 159,4661 -#define ST_EOM_ERROR 160,4687 -#define ST_EOD_1 161,4710 -#define ST_EOD_2 162,4736 -#define ST_EOD 163,4762 -#define ST_IDLE 171,5094 -#define ST_READING 172,5113 -#define ST_WRITING 173,5134 -#define ST_READY 176,5184 -#define ST_NOT_READY 177,5203 -#define ST_NO_TAPE 178,5226 -#define ST_UNLOCKED 181,5281 -#define ST_LOCKED_EXPLICIT 182,5303 -#define ST_LOCKED_AUTO 183,5332 -#define ST_LOCK_FAILS 184,5358 -#define QFA_REQUEST_BLOCK 187,5443 -#define QFA_SEEK_BLOCK 188,5474 -#define ST_DONT_TOUCH 191,5537 -#define ST_NO 192,5562 -#define ST_YES 193,5587 -#define EXTENDED_SENSE_START 195,5613 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mvme147.h,54 -#define CMD_PER_LUN 21,532 -#define CAN_QUEUE 25,580 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_sx4.c,5931 -#define DRV_NAME 42,1448 -#define DRV_VERSION 43,1476 - PDC_PRD_TBL 47,1512 - PDC_PRD_TBL = 0x44,47,1512 - PDC_PKT_SUBMIT 49,1571 - PDC_PKT_SUBMIT = 0x40,49,1571 - PDC_HDMA_PKT_SUBMIT 50,1630 - PDC_HDMA_PKT_SUBMIT = 0x100,50,1630 - PDC_INT_SEQMASK 51,1695 - PDC_INT_SEQMASK = 0x40,51,1695 - PDC_HDMA_CTLSTAT 52,1753 - PDC_HDMA_CTLSTAT = 0x12C,52,1753 - PDC_20621_SEQCTL 54,1813 - PDC_20621_SEQCTL = 0x400,54,1813 - PDC_20621_SEQMASK 55,1840 - PDC_20621_SEQMASK = 0x480,55,1840 - PDC_20621_GENERAL_CTL 56,1868 - PDC_20621_GENERAL_CTL = 0x484,56,1868 - PDC_20621_PAGE_SIZE 57,1900 - PDC_20621_DIMM_WINDOW 60,2005 - PDC_20621_DIMM_WINDOW = 0x0C,60,2005 - PDC_20621_DIMM_BASE 61,2068 - PDC_20621_DIMM_BASE = 0x00200000,61,2068 - PDC_20621_DIMM_DATA 62,2103 - PDC_DIMM_DATA_STEP 63,2139 - PDC_DIMM_WINDOW_STEP 64,2175 - PDC_DIMM_HOST_PRD 65,2211 - PDC_DIMM_HOST_PKT 66,2244 - PDC_DIMM_HPKT_PRD 67,2276 - PDC_DIMM_ATA_PKT 68,2308 - PDC_DIMM_APKT_PRD 69,2339 - PDC_DIMM_HEADER_SZ 70,2371 - PDC_DIMM_HEADER_SZ = PDC_DIMM_APKT_PRD 70,2371 - PDC_PAGE_WINDOW 71,2418 - PDC_PAGE_WINDOW = 0x40,71,2418 - PDC_PAGE_DATA 72,2444 - PDC_PAGE_DATA = PDC_PAGE_WINDOW 72,2444 - (PDC_20621_DIMM_DATA 73,2480 - (PDC_20621_DIMM_DATA / PDC_20621_PAGE_SIZE)73,2480 - PDC_PAGE_SET 74,2531 - PDC_PAGE_SET = PDC_DIMM_DATA_STEP 74,2531 - PDC_PAGE_SET = PDC_DIMM_DATA_STEP / PDC_20621_PAGE_SIZE,74,2531 - PDC_CHIP0_OFS 76,2591 - PDC_CHIP0_OFS = 0xC0000,76,2591 - PDC_20621_ERR_MASK 78,2643 - board_20621 81,2721 - PDC_RESET 83,2765 - PDC_MAX_HDMA 85,2808 - PDC_HDMA_Q_MASK 86,2829 - PDC_HDMA_Q_MASK = (PDC_MAX_HDMA 86,2829 - PDC_DIMM0_SPD_DEV_ADDRESS 88,2870 - PDC_DIMM0_SPD_DEV_ADDRESS = 0x50,88,2870 - PDC_DIMM1_SPD_DEV_ADDRESS 89,2909 - PDC_DIMM1_SPD_DEV_ADDRESS = 0x51,89,2909 - PDC_MAX_DIMM_MODULE 90,2948 - PDC_MAX_DIMM_MODULE = 0x02,90,2948 - PDC_I2C_CONTROL_OFFSET 91,2987 - PDC_I2C_CONTROL_OFFSET = 0x48,91,2987 - PDC_I2C_ADDR_DATA_OFFSET 92,3026 - PDC_I2C_ADDR_DATA_OFFSET = 0x4C,92,3026 - PDC_DIMM0_CONTROL_OFFSET 93,3065 - PDC_DIMM0_CONTROL_OFFSET = 0x80,93,3065 - PDC_DIMM1_CONTROL_OFFSET 94,3104 - PDC_DIMM1_CONTROL_OFFSET = 0x84,94,3104 - PDC_SDRAM_CONTROL_OFFSET 95,3143 - PDC_SDRAM_CONTROL_OFFSET = 0x88,95,3143 - PDC_I2C_WRITE 96,3182 - PDC_I2C_WRITE = 0x00000000,96,3182 - PDC_I2C_READ 97,3227 - PDC_I2C_READ = 0x00000040,97,3227 - PDC_I2C_START 98,3273 - PDC_I2C_START = 0x00000080,98,3273 - PDC_I2C_MASK_INT 99,3318 - PDC_I2C_MASK_INT = 0x00000020,99,3318 - PDC_I2C_COMPLETE 100,3363 - PDC_I2C_COMPLETE = 0x00010000,100,3363 - PDC_I2C_NO_ACK 101,3408 - PDC_I2C_NO_ACK = 0x00100000,101,3408 - PDC_DIMM_SPD_SUBADDRESS_START 102,3453 - PDC_DIMM_SPD_SUBADDRESS_START = 0x00,102,3453 - PDC_DIMM_SPD_SUBADDRESS_END 103,3492 - PDC_DIMM_SPD_SUBADDRESS_END = 0x7F,103,3492 - PDC_DIMM_SPD_ROW_NUM 104,3531 - PDC_DIMM_SPD_COLUMN_NUM 105,3567 - PDC_DIMM_SPD_MODULE_ROW 106,3603 - PDC_DIMM_SPD_TYPE 107,3639 - PDC_DIMM_SPD_FRESH_RATE 108,3676 - PDC_DIMM_SPD_BANK_NUM 109,3722 - PDC_DIMM_SPD_CAS_LATENCY 110,3760 - PDC_DIMM_SPD_ATTRIBUTE 111,3797 - PDC_DIMM_SPD_ROW_PRE_CHARGE 112,3838 - PDC_DIMM_SPD_ROW_ACTIVE_DELAY 113,3875 - PDC_DIMM_SPD_RAS_CAS_DELAY 114,3918 - PDC_DIMM_SPD_ACTIVE_PRECHARGE 115,3955 - PDC_DIMM_SPD_SYSTEM_FREQ 116,3992 - PDC_CTL_STATUS 117,4030 - PDC_CTL_STATUS = 0x08,117,4030 - PDC_DIMM_WINDOW_CTLR 118,4062 - PDC_DIMM_WINDOW_CTLR = 0x0C,118,4062 - PDC_TIME_CONTROL 119,4098 - PDC_TIME_CONTROL = 0x3C,119,4098 - PDC_TIME_PERIOD 120,4137 - PDC_TIME_PERIOD = 0x40,120,4137 - PDC_TIME_COUNTER 121,4176 - PDC_TIME_COUNTER = 0x44,121,4176 - PDC_GENERAL_CTLR 122,4215 - PDC_GENERAL_CTLR = 0x484,122,4215 - PCI_PLL_INIT 123,4248 - PCI_PLL_INIT = 0x8A531824,123,4248 - PCI_X_TCOUNT 124,4293 - PCI_X_TCOUNT = 0xEE1E5CFF124,4293 -struct pdc_port_priv pdc_port_priv128,4342 -struct pdc_host_priv pdc_host_priv134,4453 -static Scsi_Host_Template pdc_sata_sht 174,6061 -static struct ata_port_operations pdc_20621_ops 193,6642 -static struct ata_port_info pdc_port_info[211,7212 -static struct pci_device_id pdc_sata_pci_tbl[225,7549 -static struct pci_driver pdc_sata_pci_driver 232,7713 -static void pdc20621_host_stop(240,7884 -static int pdc_port_start(249,8080 -static void pdc_port_stop(284,8602 -static void pdc_20621_phy_reset 296,8859 -static inline void pdc20621_ata_sg(304,9026 -static inline void pdc20621_host_sg(326,9676 -static inline unsigned int pdc20621_ata_pkt(348,10288 -static inline void pdc20621_host_pkt(401,11503 -static void pdc20621_dma_prep(441,12619 -static void pdc20621_nodata_prep(504,14483 -static void pdc20621_qc_prep(540,15517 -static void __pdc20621_push_hdma(554,15742 -static void pdc20621_push_hdma(572,16222 -static void pdc20621_pop_hdma(592,16669 -static void pdc20621_dump_hdma(610,17120 -static inline void pdc20621_dump_hdma(626,17684 -static void pdc20621_packet_start(629,17785 -static int pdc20621_qc_issue_prot(672,19034 -static inline unsigned int pdc20621_host_intr(691,19312 -static void pdc20621_irq_clear(770,21573 -static irqreturn_t pdc20621_interrupt 780,21772 -static void pdc_eng_timeout(844,23221 -static void pdc_tf_load_mmio(887,24240 -static void pdc_exec_command_mmio(895,24422 -static void pdc_sata_setup_port(903,24614 -static void pdc20621_get_from_dimm(922,25104 -static void pdc20621_put_to_dimm(978,26626 -static unsigned int pdc20621_i2c_read(1030,28125 -static int pdc20621_detect_dimm(1066,29006 -static int pdc20621_prog_dimm0(1086,29394 -static unsigned int pdc20621_prog_dimm_global(1151,31288 -static unsigned int pdc20621_dimm_init(1199,32505 -static void pdc_20621_init(1330,36312 -static int pdc_sata_init_one 1361,37008 -static int __init pdc_sata_init(1479,39951 -static void __exit pdc_sata_exit(1485,40042 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ibmmca.h,24 -#define _IBMMCA_H9,336 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dtc.c,1661 -#define AUTOSENSE2,1 -#define PSEUDO_DMA3,19 -#define DONT_USE_INTR4,38 -#define UNSAFE 5,60 -#define xNDEBUG 6,130 -#define DMA_WORKS_RIGHT8,220 -#define rtrc(rtrc69,1760 -#define rtrc(rtrc71,1833 -#define AUTOPROBE_IRQ89,2199 -#define DTC_PUBLIC_RELEASE 93,2244 -#define DTCDEBUG_INIT 96,2299 -#define DTCDEBUG_TRANSFER 97,2325 -#define DTC_CONTROL_REG 107,2457 -#define D_CR_ACCESS 108,2497 -#define CSR_DIR_READ 109,2562 -#define CSR_RESET 111,2629 -#define CSR_5380_REG 112,2689 -#define CSR_TRANS_DIR 113,2766 -#define CSR_SCSI_BUFF_INTR 114,2836 -#define CSR_5380_INTR 115,2911 -#define CSR_SHARED_INTR 116,2980 -#define CSR_HOST_BUF_NOT_RDY 117,3044 -#define CSR_SCSI_BUF_RDY 118,3112 -#define CSR_GATED_5380_IRQ 119,3176 -#define CSR_INT_BASE 120,3241 -#define DTC_BLK_CNT 123,3301 -#define D_CR_ACCESS 127,3381 -#define DTC_SWITCH_REG 129,3458 -#define DTC_RESUME_XFER 130,3513 -#define DTC_5380_OFFSET 133,3609 -#define DTC_DATA_BUF 136,3734 -static struct override override138,3788 -} overrides141,3846 -[] __initdata 143,3874 -[4] __initdata 145,3906 -#define NO_OVERRIDES 152,3998 -static struct base base154,4066 -} bases[157,4124 -} bases[] __initdata 157,4124 -#define NO_BASES 164,4224 -static const struct signature signature166,4282 -} signatures[169,4348 -#define NO_SIGNATURES 173,4417 -static void __init dtc_setup(186,4745 -static int __init dtc_detect(218,5549 -static int dtc_biosparam(326,9125 -static int dtc_maxi 351,9706 -static int dtc_wmaxi 352,9731 -static inline int NCR5380_pread(354,9758 -static inline int NCR5380_pwrite(406,11244 -static int dtc_release(450,12406 -static Scsi_Host_Template driver_template 461,12657 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ips.h,16219 - #define _IPS_H_51,3858 - #define IPS_HIGHIO68,4357 - #define IPS_HA(IPS_HA71,4393 - #define IPS_COMMAND_ID(IPS_COMMAND_ID72,4459 - #define IPS_IS_TROMBONE(IPS_IS_TROMBONE73,4521 - #define IPS_IS_CLARINET(IPS_IS_CLARINET76,4791 - #define IPS_IS_MORPHEUS(IPS_IS_MORPHEUS79,5061 - #define IPS_IS_MARCO(IPS_IS_MARCO80,5141 - #define IPS_USE_I2O_DELIVER(IPS_USE_I2O_DELIVER81,5218 - #define IPS_USE_MEMIO(IPS_USE_MEMIO84,5420 - #define IPS_HAS_ENH_SGLIST(IPS_HAS_ENH_SGLIST88,5650 - #define IPS_USE_ENH_SGLIST(IPS_USE_ENH_SGLIST89,5730 - #define IPS_SGLIST_SIZE(IPS_SGLIST_SIZE90,5798 - #define pci_set_dma_mask(pci_set_dma_mask94,6007 - #define scsi_set_pci_device(scsi_set_pci_device95,6076 - typedef void irqreturn_t;irqreturn_t101,6213 - #define IRQ_NONE104,6269 - #define IRQ_HANDLED105,6292 - #define IRQ_RETVAL(IRQ_RETVAL106,6318 - #define IPS_REGISTER_HOSTS(IPS_REGISTER_HOSTS107,6346 - #define IPS_UNREGISTER_HOSTS(IPS_UNREGISTER_HOSTS108,6430 - #define IPS_ADD_HOST(IPS_ADD_HOST109,6516 - #define IPS_REMOVE_HOST(IPS_REMOVE_HOST110,6557 - #define IPS_SCSI_SET_DEVICE(IPS_SCSI_SET_DEVICE111,6594 - #define IPS_PRINTK(IPS_PRINTK112,6675 - #define scsi_host_alloc(scsi_host_alloc115,6848 - #define scsi_host_put(scsi_host_put116,6918 - #define IPS_REGISTER_HOSTS(IPS_REGISTER_HOSTS118,6991 - #define IPS_UNREGISTER_HOSTS(IPS_UNREGISTER_HOSTS119,7053 - #define IPS_ADD_HOST(IPS_ADD_HOST120,7093 - #define IPS_REMOVE_HOST(IPS_REMOVE_HOST121,7205 - #define IPS_SCSI_SET_DEVICE(IPS_SCSI_SET_DEVICE122,7272 - #define IPS_PRINTK(IPS_PRINTK123,7355 - #define MDELAY 128,7525 - #define min(min132,7579 - #define pci_dma_hi32(pci_dma_hi32135,7633 - #define pci_dma_lo32(pci_dma_lo32136,7686 - #define IPS_ENABLE_DMA64 139,7820 - #define IPS_ENABLE_DMA64 141,7871 - #define IPS_REG_HISR 147,7971 - #define IPS_REG_CCSAR 148,8053 - #define IPS_REG_CCCR 149,8135 - #define IPS_REG_SQHR 150,8217 - #define IPS_REG_SQTR 151,8299 - #define IPS_REG_SQER 152,8381 - #define IPS_REG_SQSR 153,8463 - #define IPS_REG_SCPR 154,8545 - #define IPS_REG_ISPR 155,8627 - #define IPS_REG_CBSP 156,8709 - #define IPS_REG_FLAP 157,8791 - #define IPS_REG_FLDP 158,8873 - #define IPS_REG_NDAE 159,8955 - #define IPS_REG_I2O_INMSGQ 160,9037 - #define IPS_REG_I2O_OUTMSGQ 161,9119 - #define IPS_REG_I2O_HIR 162,9201 - #define IPS_REG_I960_IDR 163,9283 - #define IPS_REG_I960_MSG0 164,9365 - #define IPS_REG_I960_MSG1 165,9447 - #define IPS_REG_I960_OIMR 166,9529 - #define IPS_BIT_GHI 171,9660 - #define IPS_BIT_SQO 172,9742 - #define IPS_BIT_SCE 173,9824 - #define IPS_BIT_SEM 174,9906 - #define IPS_BIT_ILE 175,9988 - #define IPS_BIT_START_CMD 176,10070 - #define IPS_BIT_START_STOP 177,10152 - #define IPS_BIT_RST 178,10234 - #define IPS_BIT_EBM 179,10316 - #define IPS_BIT_EI 180,10398 - #define IPS_BIT_OP 181,10480 - #define IPS_BIT_I2O_OPQI 182,10562 - #define IPS_BIT_I960_MSG0I 183,10644 - #define IPS_BIT_I960_MSG1I 184,10726 - #define IPS_CMD_GET_LD_INFO 189,10855 - #define IPS_CMD_GET_SUBSYS 190,10900 - #define IPS_CMD_READ_CONF 191,10945 - #define IPS_CMD_RW_NVRAM_PAGE 192,10990 - #define IPS_CMD_READ 193,11035 - #define IPS_CMD_WRITE 194,11080 - #define IPS_CMD_FFDC 195,11125 - #define IPS_CMD_ENQUIRY 196,11170 - #define IPS_CMD_FLUSH 197,11215 - #define IPS_CMD_READ_SG 198,11260 - #define IPS_CMD_WRITE_SG 199,11305 - #define IPS_CMD_DCDB 200,11350 - #define IPS_CMD_DCDB_SG 201,11395 - #define IPS_CMD_EXTENDED_DCDB 202,11440 - #define IPS_CMD_EXTENDED_DCDB_SG 203,11483 - #define IPS_CMD_CONFIG_SYNC 204,11528 - #define IPS_CMD_ERROR_TABLE 205,11573 - #define IPS_CMD_DOWNLOAD 206,11618 - #define IPS_CMD_RW_BIOSFW 207,11663 - #define IPS_CMD_GET_VERSION_INFO 208,11708 - #define IPS_CMD_RESET_CHANNEL 209,11753 - #define IPS_CSL 214,11836 - #define IPS_POCL 215,11881 - #define IPS_NORM_STATE 216,11926 - #define IPS_MAX_ADAPTER_TYPES 217,11971 - #define IPS_MAX_ADAPTERS 218,12013 - #define IPS_MAX_IOCTL 219,12056 - #define IPS_MAX_IOCTL_QUEUE 220,12098 - #define IPS_MAX_QUEUE 221,12140 - #define IPS_BLKSIZE 222,12184 - #define IPS_MAX_SG 223,12228 - #define IPS_MAX_LD 224,12271 - #define IPS_MAX_CHANNELS 225,12313 - #define IPS_MAX_TARGETS 226,12355 - #define IPS_MAX_CHUNKS 227,12398 - #define IPS_MAX_CMDS 228,12441 - #define IPS_MAX_XFER 229,12485 - #define IPS_NVRAM_P5_SIG 230,12533 - #define IPS_MAX_POST_BYTES 231,12584 - #define IPS_MAX_CONFIG_BYTES 232,12629 - #define IPS_GOOD_POST_STATUS 233,12674 - #define IPS_SEM_TIMEOUT 234,12719 - #define IPS_IOCTL_COMMAND 235,12764 - #define IPS_INTR_ON 236,12809 - #define IPS_INTR_IORL 237,12851 - #define IPS_FFDC 238,12893 - #define IPS_ADAPTER_ID 239,12936 - #define IPS_VENDORID_IBM 240,12980 - #define IPS_VENDORID_ADAPTEC 241,13027 - #define IPS_DEVICEID_COPPERHEAD 242,13074 - #define IPS_DEVICEID_MORPHEUS 243,13121 - #define IPS_DEVICEID_MARCO 244,13168 - #define IPS_SUBDEVICEID_4M 245,13215 - #define IPS_SUBDEVICEID_4L 246,13262 - #define IPS_SUBDEVICEID_4MX 247,13309 - #define IPS_SUBDEVICEID_4LX 248,13356 - #define IPS_SUBDEVICEID_5I2 249,13403 - #define IPS_SUBDEVICEID_5I1 250,13450 - #define IPS_SUBDEVICEID_6M 251,13497 - #define IPS_SUBDEVICEID_6I 252,13544 - #define IPS_SUBDEVICEID_7k 253,13591 - #define IPS_SUBDEVICEID_7M 254,13638 - #define IPS_IOCTL_SIZE 255,13685 - #define IPS_STATUS_SIZE 256,13730 - #define IPS_STATUS_Q_SIZE 257,13772 - #define IPS_IMAGE_SIZE 258,13847 - #define IPS_MEMMAP_SIZE 259,13898 - #define IPS_ONE_MSEC 260,13942 - #define IPS_ONE_SEC 261,13984 - #define IPS_COMP_HEADS 266,14067 - #define IPS_COMP_SECTORS 267,14111 - #define IPS_NORM_HEADS 268,14154 - #define IPS_NORM_SECTORS 269,14198 - #define IPS_BASIC_STATUS_MASK 274,14288 - #define IPS_GSC_STATUS_MASK 275,14333 - #define IPS_CMD_SUCCESS 276,14378 - #define IPS_CMD_RECOVERED_ERROR 277,14423 - #define IPS_INVAL_OPCO 278,14468 - #define IPS_INVAL_CMD_BLK 279,14513 - #define IPS_INVAL_PARM_BLK 280,14558 - #define IPS_BUSY 281,14603 - #define IPS_CMD_CMPLT_WERROR 282,14648 - #define IPS_LD_ERROR 283,14693 - #define IPS_CMD_TIMEOUT 284,14738 - #define IPS_PHYS_DRV_ERROR 285,14783 - #define IPS_ERR_SEL_TO 290,14880 - #define IPS_ERR_OU_RUN 291,14925 - #define IPS_ERR_HOST_RESET 292,14970 - #define IPS_ERR_DEV_RESET 293,15015 - #define IPS_ERR_RECOVERY 294,15060 - #define IPS_ERR_CKCOND 295,15105 - #define IPS_OS_WINDOWS_NT 300,15195 - #define IPS_OS_NETWARE 301,15240 - #define IPS_OS_OPENSERVER 302,15285 - #define IPS_OS_UNIXWARE 303,15330 - #define IPS_OS_SOLARIS 304,15375 - #define IPS_OS_OS2 305,15420 - #define IPS_OS_LINUX 306,15465 - #define IPS_OS_FREEBSD 307,15510 - #define IPS_REVID_SERVERAID 312,15597 - #define IPS_REVID_NAVAJO 313,15642 - #define IPS_REVID_SERVERAID2 314,15687 - #define IPS_REVID_CLARINETP1 315,15732 - #define IPS_REVID_CLARINETP2 316,15777 - #define IPS_REVID_CLARINETP3 317,15822 - #define IPS_REVID_TROMBONE32 318,15867 - #define IPS_REVID_TROMBONE64 319,15912 - #define IPS_ADTYPE_SERVERAID 324,16006 - #define IPS_ADTYPE_SERVERAID2 325,16051 - #define IPS_ADTYPE_NAVAJO 326,16096 - #define IPS_ADTYPE_KIOWA 327,16141 - #define IPS_ADTYPE_SERVERAID3 328,16186 - #define IPS_ADTYPE_SERVERAID3L 329,16231 - #define IPS_ADTYPE_SERVERAID4H 330,16276 - #define IPS_ADTYPE_SERVERAID4M 331,16321 - #define IPS_ADTYPE_SERVERAID4L 332,16366 - #define IPS_ADTYPE_SERVERAID4MX 333,16411 - #define IPS_ADTYPE_SERVERAID4LX 334,16456 - #define IPS_ADTYPE_SERVERAID5I2 335,16501 - #define IPS_ADTYPE_SERVERAID5I1 336,16546 - #define IPS_ADTYPE_SERVERAID6M 337,16591 - #define IPS_ADTYPE_SERVERAID6I 338,16636 - #define IPS_ADTYPE_SERVERAID7t 339,16681 - #define IPS_ADTYPE_SERVERAID7k 340,16726 - #define IPS_ADTYPE_SERVERAID7M 341,16771 - #define IPS_SUCCESS 346,16878 - #define IPS_SUCCESS_IMM 347,16958 - #define IPS_FAILURE 348,17038 - #define IPS_LD_OFFLINE 353,17160 - #define IPS_LD_OKAY 354,17205 - #define IPS_LD_FREE 355,17250 - #define IPS_LD_SYS 356,17295 - #define IPS_LD_CRS 357,17340 - #define IPS_NO_DISCONNECT 362,17424 - #define IPS_DISCONNECT_ALLOWED 363,17469 - #define IPS_NO_AUTO_REQSEN 364,17514 - #define IPS_DATA_NONE 365,17559 - #define IPS_DATA_UNK 366,17604 - #define IPS_DATA_IN 367,17649 - #define IPS_DATA_OUT 368,17694 - #define IPS_TRANSFER64K 369,17739 - #define IPS_NOTIMEOUT 370,17784 - #define IPS_TIMEOUT10 371,17829 - #define IPS_TIMEOUT60 372,17874 - #define IPS_TIMEOUT20M 373,17919 - #define IPS_SCSI_INQ_TYPE_DASD 378,18008 - #define IPS_SCSI_INQ_TYPE_PROCESSOR 379,18053 - #define IPS_SCSI_INQ_LU_CONNECTED 380,18098 - #define IPS_SCSI_INQ_RD_REV2 381,18143 - #define IPS_SCSI_INQ_REV2 382,18188 - #define IPS_SCSI_INQ_REV3 383,18233 - #define IPS_SCSI_INQ_Address16 384,18278 - #define IPS_SCSI_INQ_Address32 385,18323 - #define IPS_SCSI_INQ_MedChanger 386,18368 - #define IPS_SCSI_INQ_MultiPort 387,18413 - #define IPS_SCSI_INQ_EncServ 388,18458 - #define IPS_SCSI_INQ_SoftReset 389,18503 - #define IPS_SCSI_INQ_CmdQue 390,18548 - #define IPS_SCSI_INQ_Linked 391,18593 - #define IPS_SCSI_INQ_Sync 392,18638 - #define IPS_SCSI_INQ_WBus16 393,18683 - #define IPS_SCSI_INQ_WBus32 394,18728 - #define IPS_SCSI_INQ_RelAdr 395,18773 - #define IPS_SCSI_REQSEN_VALID 400,18868 - #define IPS_SCSI_REQSEN_CURRENT_ERR 401,18913 - #define IPS_SCSI_REQSEN_NO_SENSE 402,18958 - #define IPS_SCSI_MP3_SoftSector 407,19046 - #define IPS_SCSI_MP3_HardSector 408,19091 - #define IPS_SCSI_MP3_Removeable 409,19136 - #define IPS_SCSI_MP3_AllocateSurface 410,19181 - #define IPS_HA_ENH_SG 416,19256 - #define IPS_SCB_MAP_SG 421,19330 - #define IPS_SCB_MAP_SINGLE 422,19378 - #define IPS_COPPUSRCMD 427,19461 - #define IPS_COPPIOCCMD 428,19516 - #define IPS_NUMCTRLS 429,19571 - #define IPS_CTRLINFO 430,19626 - #define IPS_FW_IMAGE 433,19708 - #define IPS_BIOS_IMAGE 434,19752 - #define IPS_WRITE_FW 435,19796 - #define IPS_WRITE_BIOS 436,19840 - #define IPS_ERASE_BIOS 437,19884 - #define IPS_BIOS_HEADER 438,19928 - #define IPS_IS_LEAP_YEAR(IPS_IS_LEAP_YEAR441,20002 - #define IPS_NUM_LEAP_YEARS_THROUGH(IPS_NUM_LEAP_YEARS_THROUGH442,20106 - #define IPS_SECS_MIN 444,20182 - #define IPS_SECS_HOUR 445,20225 - #define IPS_SECS_8HOURS 446,20270 - #define IPS_SECS_DAY 447,20316 - #define IPS_DAYS_NORMAL_YEAR 448,20362 - #define IPS_DAYS_LEAP_YEAR 449,20406 - #define IPS_EPOCH_YEAR 450,20450 -} IPS_IO_CMD, *PIPS_IO_CMD;PIPS_IO_CMD481,21329 -} IPS_LD_CMD, *PIPS_LD_CMD;PIPS_LD_CMD492,21550 -} IPS_IOCTL_CMD, *PIPS_IOCTL_CMD;PIPS_IOCTL_CMD502,21757 -} IPS_RESET_CMD, *PIPS_RESET_CMD;PIPS_RESET_CMD521,22183 -} IPS_DCDB_CMD, *PIPS_DCDB_CMD;PIPS_DCDB_CMD534,22460 -} IPS_CS_CMD, *PIPS_CS_CMD;PIPS_CS_CMD546,22708 -} IPS_US_CMD, *PIPS_US_CMD;PIPS_US_CMD558,22946 -} IPS_FC_CMD, *PIPS_FC_CMD;PIPS_FC_CMD570,23184 -} IPS_STATUS_CMD, *PIPS_STATUS_CMD;PIPS_STATUS_CMD582,23423 -} IPS_NVRAM_CMD, *PIPS_NVRAM_CMD;PIPS_NVRAM_CMD594,23666 -} IPS_VERSION_INFO, *PIPS_VERSION_INFO;PIPS_VERSION_INFO604,23859 -} IPS_FFDC_CMD, *PIPS_FFDC_CMD;PIPS_FFDC_CMD620,24192 -} IPS_FLASHFW_CMD, *PIPS_FLASHFW_CMD;PIPS_FLASHFW_CMD632,24445 -} IPS_FLASHBIOS_CMD, *PIPS_FLASHBIOS_CMD;PIPS_FLASHBIOS_CMD642,24651 -} IPS_HOST_COMMAND, *PIPS_HOST_COMMAND;PIPS_HOST_COMMAND659,25163 -} IPS_DRIVE_INFO, *PIPS_DRIVE_INFO;PIPS_DRIVE_INFO667,25336 -} IPS_LD_INFO, *PIPS_LD_INFO;PIPS_LD_INFO673,25496 -} IPS_DCDB_TABLE, *PIPS_DCDB_TABLE;PIPS_DCDB_TABLE688,25867 -} IPS_DCDB_TABLE_TAPE, *PIPS_DCDB_TABLE_TAPE;PIPS_DCDB_TABLE_TAPE703,26251 -} IPS_STATUS, *PIPS_STATUS;PIPS_STATUS714,26520 -} IPS_ADAPTER, *PIPS_ADAPTER;PIPS_ADAPTER723,26814 -} IPS_ENQ, *PIPS_ENQ;PIPS_ENQ748,27540 -} IPS_DEVSTATE, *PIPS_DEVSTATE;PIPS_DEVSTATE757,27730 -} IPS_CHUNK, *PIPS_CHUNK;PIPS_CHUNK765,27892 -} IPS_LD, *PIPS_LD;PIPS_LD777,28176 -} IPS_HARDWARE, *PIPS_HARDWARE;PIPS_HARDWARE787,28399 -} IPS_CONF, *PIPS_CONF;PIPS_CONF805,28948 -} IPS_NVRAM_P5, *PIPS_NVRAM_P5;PIPS_NVRAM_P5825,29679 -#define IPS_GET_VERSION_SUPPORT 832,30029 -} IPS_VERSION_DATA;IPS_VERSION_DATA844,30373 -typedef struct _IPS_SUBSYS _IPS_SUBSYS847,30395 -} IPS_SUBSYS, *PIPS_SUBSYS;PIPS_SUBSYS849,30449 -} IPS_SCSI_INQ_DATA, *PIPS_SCSI_INQ_DATA;PIPS_SCSI_INQ_DATA870,30934 -} IPS_SCSI_CAPACITY;IPS_SCSI_CAPACITY878,31064 -} IPS_SCSI_REQSEN;IPS_SCSI_REQSEN894,31425 -} IPS_SCSI_MODE_PAGE3;IPS_SCSI_MODE_PAGE3913,31839 -} IPS_SCSI_MODE_PAGE4;IPS_SCSI_MODE_PAGE4936,32375 -} IPS_SCSI_MODE_PAGE8;IPS_SCSI_MODE_PAGE8950,32658 -} IPS_SCSI_MODE_PAGE_BLKDESC;IPS_SCSI_MODE_PAGE_BLKDESC960,32863 -} IPS_SCSI_MODE_PAGE_HEADER;IPS_SCSI_MODE_PAGE_HEADER970,33057 -} IPS_SCSI_MODE_PAGE_DATA;IPS_SCSI_MODE_PAGE_DATA981,33295 -typedef struct ips_sglist ips_sglist986,33360 -} IPS_STD_SG_LIST;IPS_STD_SG_LIST989,33429 -typedef struct ips_enh_sglist ips_enh_sglist991,33449 -} IPS_ENH_SG_LIST;IPS_ENH_SG_LIST996,33571 -} IPS_SG_LIST;IPS_SG_LIST1002,33696 -typedef struct _IPS_INFOSTR _IPS_INFOSTR1004,33712 -} IPS_INFOSTR;IPS_INFOSTR1010,33826 -} IPS_OPTION;IPS_OPTION1016,33926 -typedef struct ips_stat ips_stat1021,33963 -} ips_stat_t;ips_stat_t1025,34079 -typedef struct ips_scb_queue ips_scb_queue1030,34121 -} ips_scb_queue_t;ips_scb_queue_t1034,34228 -typedef struct ips_wait_queue ips_wait_queue1039,34276 -} ips_wait_queue_t;ips_wait_queue_t1043,34384 -typedef struct ips_copp_wait_item ips_copp_wait_item1045,34405 -} ips_copp_wait_item_t;ips_copp_wait_item_t1048,34517 -typedef struct ips_copp_queue ips_copp_queue1050,34542 -} ips_copp_queue_t;ips_copp_queue_t1054,34683 -} ips_hw_func_t;ips_hw_func_t1072,35352 -typedef struct ips_ha ips_ha1074,35370 -} ips_ha_t;ips_ha_t1130,39443 -typedef void (*ips_scb_callback)ips_scb_callback1132,39456 -typedef struct ips_scb ips_scb1137,39543 -} ips_scb_t;ips_scb_t1162,40363 -typedef struct ips_scb_pt ips_scb_pt1164,40377 -} ips_scb_pt_t;ips_scb_pt_t1185,41013 -} ips_passthru_t;ips_passthru_t1202,41388 -#define IPS_VER_MAJOR 1215,41888 -#define IPS_VER_MAJOR_STRING 1216,41912 -#define IPS_VER_MINOR 1217,41945 -#define IPS_VER_MINOR_STRING 1218,41970 -#define IPS_VER_BUILD 1219,42004 -#define IPS_VER_BUILD_STRING 1220,42029 -#define IPS_VER_STRING 1221,42063 -#define IPS_RELEASE_ID 1222,42096 -#define IPS_BUILD_IDENT 1223,42130 -#define IPS_LEGALCOPYRIGHT_STRING 1224,42158 -#define IPS_ADAPTECCOPYRIGHT_STRING 1225,42251 -#define IPS_DELLCOPYRIGHT_STRING 1226,42352 -#define IPS_NT_LEGALCOPYRIGHT_STRING 1227,42433 -#define IPS_VER_SERVERAID1 1230,42552 -#define IPS_VER_SERVERAID2 1231,42589 -#define IPS_VER_NAVAJO 1232,42626 -#define IPS_VER_SERVERAID3 1233,42659 -#define IPS_VER_SERVERAID4H 1234,42696 -#define IPS_VER_SERVERAID4MLx 1235,42734 -#define IPS_VER_SARASOTA 1236,42774 -#define IPS_VER_MARCO 1237,42809 -#define IPS_VER_SEBRING 1238,42841 -#define IPS_VER_KEYWEST 1239,42875 -#define IPS_COMPAT_UNKNOWN 1242,42955 -#define IPS_COMPAT_CURRENT 1243,42985 -#define IPS_COMPAT_SERVERAID1 1244,43020 -#define IPS_COMPAT_SERVERAID2 1245,43060 -#define IPS_COMPAT_NAVAJO 1246,43100 -#define IPS_COMPAT_KIOWA 1247,43137 -#define IPS_COMPAT_SERVERAID3H 1248,43172 -#define IPS_COMPAT_SERVERAID3L 1249,43212 -#define IPS_COMPAT_SERVERAID4H 1250,43252 -#define IPS_COMPAT_SERVERAID4M 1251,43292 -#define IPS_COMPAT_SERVERAID4L 1252,43332 -#define IPS_COMPAT_SERVERAID4Mx 1253,43372 -#define IPS_COMPAT_SERVERAID4Lx 1254,43412 -#define IPS_COMPAT_SARASOTA 1255,43452 -#define IPS_COMPAT_MARCO 1256,43492 -#define IPS_COMPAT_SEBRING 1257,43532 -#define IPS_COMPAT_TAMPA 1258,43572 -#define IPS_COMPAT_KEYWEST 1259,43612 -#define IPS_COMPAT_BIOS 1260,43652 -#define IPS_COMPAT_MAX_ADAPTER_TYPE 1262,43685 -#define IPS_COMPAT_ID_LENGTH 1263,43724 -#define IPS_DEFINE_COMPAT_TABLE(IPS_DEFINE_COMPAT_TABLE1265,43756 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ini9100u.c,1141 -#define CVT_LINUX_VERSION(CVT_LINUX_VERSION113,5048 -unsigned int i91u_debug 143,5696 -static Scsi_Host_Template driver_template 146,5745 -char *i91uCopyright 164,6185 -char *i91uInitioName 165,6232 -char *i91uProductName 166,6280 -char *i91uVersion 167,6320 -#define TULSZ(TULSZ169,6351 -#define TUL_RDWORD(TUL_RDWORD170,6402 -static int setup_called 173,6537 -static int tul_num_ch 175,6567 -static int tul_num_scb;176,6629 -static int tul_tag_enable 177,6653 -static SCB *tul_scb;178,6684 -static int setup_debug 181,6724 -static char *setup_str 184,6760 -const PCI_ID i91u_pci_devices[210,7892 -static void i91uAppendSRBToQueue(229,8572 -static Scsi_Cmnd *i91uPopSRBFromQueue(253,9395 -static irqreturn_t i91u_intr(269,9746 -void i91u_setup(282,10055 -int tul_NewReturnNumberOfAdapters(295,10292 -int i91u_detect(334,11299 -static void i91uBuildSCB(433,14328 -int i91u_queue(504,16909 -int i91u_abort(532,17642 -int i91u_reset(544,17893 -int i91u_bus_reset(556,18266 -int i91u_biosparam(568,18448 -static void i91u_unmap_cmnd(604,19418 -static void i91uSCBPost(639,20575 -static void i91u_panic(712,22883 -int i91u_release(721,23009 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sun3_scsi.c,1797 -#define AUTOSENSE52,959 -#define REAL_DMA75,1392 -#define USE_WRAPPER86,1579 -#define DRIVER_SETUP88,1623 -#define NDEBUG 90,1645 -#define ENABLE_IRQ(ENABLE_IRQ102,1833 -static int setup_can_queue 109,2071 -static int setup_cmd_per_lun 111,2139 -static int setup_sg_tablesize 113,2211 -static int setup_use_tagged_queuing 116,2305 -static int setup_hostid 119,2398 -static Scsi_Cmnd *sun3_dma_setup_done 122,2461 -#define AFTER_RESET_DELAY 124,2508 -#define SUN3_DMA_DELAY 127,2582 -#define SUN3_DVMA_BUFSIZE 130,2687 -#define SUN3_DMA_MINSIZE 133,2764 -static volatile unsigned char *sun3_scsi_regp;135,2794 -static volatile struct sun3_dma_regs *dregs;136,2841 -static unsigned char *dmabuf 138,2900 -static struct sun3_udc_regs *udc_regs 140,2968 -static unsigned char *sun3_dma_orig_addr 141,3014 -static unsigned long sun3_dma_orig_count 142,3063 -static int sun3_dma_active 143,3109 -static unsigned long last_residual 144,3141 -static inline unsigned char sun3scsi_read(150,3228 -static inline void sun3scsi_write(155,3316 -static inline unsigned short sun3_udc_read(162,3453 -static inline void sun3_udc_write(174,3659 -static struct Scsi_Host *default_instance;185,3863 -int sun3scsi_detect(199,4208 -int sun3scsi_release 311,6906 -static void sun3_scsi_reset_boot(326,7132 -const char * sun3scsi_info 367,8184 -#define CSR_GOOD 372,8281 -static irqreturn_t scsi_sun3_intr(374,8306 -void sun3_sun3_debug 405,9010 -static unsigned long sun3scsi_dma_setup(420,9303 -static inline unsigned long sun3scsi_dma_count(506,11326 -static inline unsigned long sun3scsi_dma_residual(519,11577 -static inline unsigned long sun3scsi_dma_xfer_len(524,11683 -static inline int sun3scsi_dma_start(533,11871 -static int sun3scsi_dma_finish(542,12056 -static Scsi_Host_Template driver_template 624,13772 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR5380.c,1816 -#define LIST(LIST91,2581 -#define REMOVE(REMOVE92,2700 -#define LIST(LIST94,2865 -#define REMOVE(REMOVE95,2883 -#define READ_OVERRUNS105,3010 -#define io_recovery_delay(io_recovery_delay109,3071 -#define io_recovery_delay(io_recovery_delay111,3106 -static __inline__ void initialize_SCp(323,12168 -static int NCR5380_poll_politely(358,13197 -} phases[392,13811 -} signals[406,14096 -static void NCR5380_print(451,15074 -static void NCR5380_print_phase(492,16106 -#define USLEEP_SLEEP 521,16991 -#define USLEEP_POLL 525,17081 -#define USLEEP_WAITLONG 529,17199 -static int should_disconnect(554,18092 -static void NCR5380_set_timer(574,18425 -static int probe_irq __initdata 581,18634 -static irqreturn_t __init probe_intr(593,18887 -static int __init NCR5380_probe_irq(611,19334 -static void __init NCR5380_print_options(668,21012 -static void NCR5380_print_status(713,22015 -#define SPRINTF(SPRINTF742,22771 -int NCR5380_proc_info(751,23124 -static char *lprint_Scsi_Cmnd(819,25508 -static char *lprint_command(827,25816 -static char *lprint_opcode(837,26094 -static int __devinit NCR5380_init(860,26679 -static void __devexit NCR5380_exit(978,30041 -static int NCR5380_queue_command(998,30601 -static void NCR5380_main(1080,33167 -static irqreturn_t NCR5380_intr(1203,37632 -static void collect_stats(1284,40502 -static int NCR5380_select(1338,42341 -static int NCR5380_transfer_pio(1624,51997 -static void do_reset(1761,56246 -static int do_abort(1783,56872 -static int NCR5380_transfer_dma(1856,58993 -static void NCR5380_information_transfer(2135,69191 -static void NCR5380_reselect(2548,84611 -static void NCR5380_dma_complete(2667,88205 -static int NCR5380_abort(2722,89925 -static int NCR5380_bus_reset(2881,95428 -static int NCR5380_device_reset(2900,95799 -static int NCR5380_host_reset(2914,96036 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicfc.h,228 -#define _QLOGICFC_H50,1340 -#define DATASEGS_PER_COMMAND 65,1993 -#define DATASEGS_PER_CONT 66,2024 -#define QLOGICFC_REQ_QUEUE_LEN 68,2053 -#define QLOGICFC_MAX_SG(QLOGICFC_MAX_SG69,2123 -#define QLOGICFC_CMD_PER_LUN 70,2224 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_obsolete.h,778 -#define _SCSI_OBSOLETE_H7,90 -#define SCSI_ABORT_SNOOZE 21,705 -#define SCSI_ABORT_SUCCESS 26,961 -#define SCSI_ABORT_PENDING 31,1183 -#define SCSI_ABORT_BUSY 34,1289 -#define SCSI_ABORT_NOT_RUNNING 38,1401 -#define SCSI_ABORT_ERROR 43,1631 -#define SCSI_RESET_SNOOZE 49,1918 -#define SCSI_RESET_PUNT 54,2156 -#define SCSI_RESET_SUCCESS 63,2665 -#define SCSI_RESET_PENDING 72,3052 -#define SCSI_RESET_WAKEUP 77,3261 -#define SCSI_RESET_NOT_RUNNING 81,3375 -#define SCSI_RESET_ERROR 84,3471 -#define SCSI_RESET_SYNCHRONOUS 86,3499 -#define SCSI_RESET_ASYNCHRONOUS 87,3536 -#define SCSI_RESET_SUGGEST_BUS_RESET 88,3574 -#define SCSI_RESET_SUGGEST_HOST_RESET 89,3616 -#define SCSI_RESET_BUS_RESET 94,3786 -#define SCSI_RESET_HOST_RESET 99,3956 -#define SCSI_RESET_ACTION 104,4080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTStrigger.c,24 -void TriggerHBA(15,419 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicisp_asm.c,212 -static const unsigned short risc_code_version 4,61 -static const unsigned short risc_code_addr01 6,121 -static const unsigned short risc_code01[10,199 -static const unsigned short risc_code_length01 2034,131481 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/atp870u.h,218 -#define _ATP870U_H2,19 -#define MAX_CDB 8,81 -#define MAX_SENSE 9,101 -#define qcnt 10,122 -#define ATP870U_SCATTER 11,139 -#define ATP870U_CMDLUN 12,167 -struct atp_unit atp_unit14,194 - struct atp_id atp_id35,716 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/eata.c,4316 -static Scsi_Host_Template driver_template 511,24018 -#define ISA 531,24996 -#define ESA 532,25011 -#define MAX_ISA 545,25252 -#define MAX_VESA 546,25270 -#define MAX_EISA 547,25289 -#define MAX_PCI 548,25309 -#define MAX_BOARDS 549,25328 -#define MAX_CHANNEL 550,25389 -#define MAX_LUN 551,25411 -#define MAX_TARGET 552,25430 -#define MAX_MAILBOXES 553,25452 -#define MAX_SGLIST 554,25477 -#define MAX_LARGE_SGLIST 555,25499 -#define MAX_INTERNAL_RETRIES 556,25528 -#define MAX_CMD_PER_LUN 557,25560 -#define MAX_TAGGED_CMD_PER_LUN 558,25586 -#define SKIP 560,25652 -#define FALSE 561,25675 -#define TRUE 562,25691 -#define FREE 563,25706 -#define IN_USE 564,25721 -#define LOCKED 565,25740 -#define IN_RESET 566,25759 -#define IGNORE 567,25778 -#define READY 568,25797 -#define ABORTING 569,25816 -#define NO_DMA 570,25835 -#define MAXLOOP 571,25856 -#define TAG_DISABLED 572,25879 -#define TAG_SIMPLE 573,25902 -#define TAG_ORDERED 574,25925 -#define REG_CMD 576,25949 -#define REG_STATUS 577,25975 -#define REG_AUX_STATUS 578,26001 -#define REG_DATA 579,26027 -#define REG_DATA2 580,26053 -#define REG_SEE 581,26079 -#define REG_LOW 582,26105 -#define REG_LM 583,26131 -#define REG_MID 584,26157 -#define REG_MSB 585,26183 -#define REGION_SIZE 586,26209 -#define MAX_ISA_ADDR 587,26237 -#define MIN_EISA_ADDR 588,26268 -#define MAX_EISA_ADDR 589,26299 -#define BSY_ASSERTED 590,26330 -#define DRQ_ASSERTED 591,26361 -#define ABSY_ASSERTED 592,26392 -#define IRQ_ASSERTED 593,26423 -#define READ_CONFIG_PIO 594,26454 -#define SET_CONFIG_PIO 595,26485 -#define SEND_CP_PIO 596,26516 -#define RECEIVE_SP_PIO 597,26547 -#define TRUNCATE_XFR_PIO 598,26578 -#define RESET_PIO 599,26609 -#define READ_CONFIG_DMA 600,26640 -#define SET_CONFIG_DMA 601,26671 -#define SEND_CP_DMA 602,26702 -#define ASOK 603,26733 -#define ASST 604,26764 -#define YESNO(YESNO606,26796 -#define TLDEV(TLDEV607,26831 -#define EATA_SIG_BE 610,26931 -#define EATA_2_0A_SIZE 613,27035 -#define EATA_2_0B_SIZE 614,27061 -#define EATA_2_0C_SIZE 615,27087 -struct eata_info eata_info618,27141 -struct eata_config eata_config686,29983 -struct mssp mssp703,30537 -struct sg_list sg_list719,31050 -struct mscp mscp725,31231 -#define CP_TAIL_SIZE 777,33608 -struct hostdata hostdata779,33677 -static struct Scsi_Host *sh[800,35038 -static const char *driver_name 801,35083 -static char sha[802,35124 -static spinlock_t driver_lock 803,35153 -static unsigned int num_boards 806,35285 -static unsigned long io_port[808,35331 -#define HD(HD832,35998 -#define BN(BN833,36059 -#define H2DEV(H2DEV836,36129 -#define DEV2H(DEV2H837,36163 -#define H2DEV16(H2DEV16838,36197 -#define DEV2H16(DEV2H16839,36231 -#define REG2H(REG2H842,36344 -static int do_trace 846,36532 -static int setup_done 847,36561 -static int link_statistics;848,36592 -static int ext_tran 849,36620 -static int rev_scan 850,36649 -static int tag_mode 853,36721 -static int tag_mode 855,36761 -static int linked_comm 859,36851 -static int linked_comm 861,36888 -static int max_queue_depth 865,36967 -static int max_queue_depth 867,37029 -static int isa_probe 871,37107 -static int isa_probe 873,37142 -static int eisa_probe 877,37205 -static int eisa_probe 879,37241 -static int pci_probe 883,37304 -static int pci_probe 885,37339 -#define MAX_INT_PARAM 888,37377 -#define MAX_BOOT_OPTIONS_SIZE 889,37402 -static char boot_options[890,37436 -static int eata2x_slave_configure(905,37900 -static int wait_on_busy(954,39246 -static int do_dma(964,39455 -static int read_pio(983,39970 -static struct pci_dev *get_pci_dev(1001,40339 -static void enable_pci_ports(1024,40879 -static int port_detect 1045,41413 -static void internal_setup(1393,52202 -static int option_setup(1431,53368 -static void add_pci_ports(1447,53696 -static int eata2x_detect(1486,54608 -static void map_dma(1528,55636 -static void unmap_dma(1570,57094 -static void sync_dma(1592,57802 -static void scsi_to_dev_dir(1615,58570 -static int eata2x_queuecommand(1669,60119 -static int eata2x_eh_abort(1753,62612 -static int eata2x_eh_host_reset(1827,64945 -int eata2x_bios_param(1959,68797 -static void sort(1977,69309 -static int reorder(2002,69838 -static void flush_dev(2100,73484 -static irqreturn_t ihdlr(2137,74580 -static irqreturn_t do_interrupt_handler(2371,82551 -static int eata2x_release(2386,83043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/3w-9xxx.h,9646 -#define _3W_9XXX_H49,2194 -typedef struct TAG_twa_message_type TAG_twa_message_type52,2236 -} twa_message_type;twa_message_type55,2320 -static twa_message_type twa_aen_table[58,2359 -static char *twa_aen_severity_table[133,5506 -static twa_message_type twa_error_table[139,5628 -#define TW_CONTROL_CLEAR_HOST_INTERRUPT 256,10537 -#define TW_CONTROL_CLEAR_ATTENTION_INTERRUPT 257,10595 -#define TW_CONTROL_MASK_COMMAND_INTERRUPT 258,10653 -#define TW_CONTROL_MASK_RESPONSE_INTERRUPT 259,10711 -#define TW_CONTROL_UNMASK_COMMAND_INTERRUPT 260,10769 -#define TW_CONTROL_UNMASK_RESPONSE_INTERRUPT 261,10827 -#define TW_CONTROL_CLEAR_ERROR_STATUS 262,10885 -#define TW_CONTROL_ISSUE_SOFT_RESET 263,10941 -#define TW_CONTROL_ENABLE_INTERRUPTS 264,10995 -#define TW_CONTROL_DISABLE_INTERRUPTS 265,11050 -#define TW_CONTROL_ISSUE_HOST_INTERRUPT 266,11106 -#define TW_CONTROL_CLEAR_PARITY_ERROR 267,11164 -#define TW_CONTROL_CLEAR_QUEUE_ERROR 268,11222 -#define TW_CONTROL_CLEAR_PCI_ABORT 269,11280 -#define TW_CONTROL_CLEAR_SBUF_WRITE_ERROR 270,11338 -#define TW_STATUS_MAJOR_VERSION_MASK 273,11435 -#define TW_STATUS_MINOR_VERSION_MASK 274,11490 -#define TW_STATUS_PCI_PARITY_ERROR 275,11545 -#define TW_STATUS_QUEUE_ERROR 276,11598 -#define TW_STATUS_MICROCONTROLLER_ERROR 277,11647 -#define TW_STATUS_PCI_ABORT 278,11705 -#define TW_STATUS_HOST_INTERRUPT 279,11752 -#define TW_STATUS_ATTENTION_INTERRUPT 280,11803 -#define TW_STATUS_COMMAND_INTERRUPT 281,11859 -#define TW_STATUS_RESPONSE_INTERRUPT 282,11913 -#define TW_STATUS_COMMAND_QUEUE_FULL 283,11968 -#define TW_STATUS_RESPONSE_QUEUE_EMPTY 284,12023 -#define TW_STATUS_MICROCONTROLLER_READY 285,12080 -#define TW_STATUS_COMMAND_QUEUE_EMPTY 286,12138 -#define TW_STATUS_EXPECTED_BITS 287,12194 -#define TW_STATUS_UNEXPECTED_BITS 288,12245 -#define TW_STATUS_SBUF_WRITE_ERROR 289,12297 -#define TW_STATUS_VALID_INTERRUPT 290,12355 -#define TW_RESPONSE_ID_MASK 293,12451 -#define TW_DEVICE_NAME 296,12525 -#define TW_NUMDEVICES 297,12567 -#define TW_PCI_CLEAR_PARITY_ERRORS 298,12591 -#define TW_PCI_CLEAR_PCI_ABORT 299,12633 -#define TW_OP_INIT_CONNECTION 302,12724 -#define TW_OP_GET_PARAM 303,12758 -#define TW_OP_SET_PARAM 304,12793 -#define TW_OP_EXECUTE_SCSI 305,12828 -#define TW_OP_DOWNLOAD_FIRMWARE 306,12863 -#define TW_OP_RESET 307,12900 -#define TW_AEN_QUEUE_EMPTY 310,13007 -#define TW_AEN_SOFT_RESET 311,13047 -#define TW_AEN_SYNC_TIME_WITH_HOST 312,13087 -#define TW_AEN_SEVERITY_ERROR 313,13128 -#define TW_AEN_SEVERITY_DEBUG 314,13165 -#define TW_AEN_NOT_RETRIEVED 315,13202 -#define TW_AEN_RETRIEVED 316,13235 -#define TW_S_INITIAL 319,13293 -#define TW_S_STARTED 320,13341 -#define TW_S_POSTED 321,13385 -#define TW_S_PENDING 322,13444 -#define TW_S_COMPLETED 323,13506 -#define TW_S_FINISHED 324,13557 -#define TW_9000_ARCH_ID 327,13640 -#define TW_CURRENT_FW_SRL 328,13668 -#define TW_CURRENT_FW_BUILD 329,13697 -#define TW_CURRENT_FW_BRANCH 330,13727 -#define TW_PHASE_INITIAL 333,13779 -#define TW_PHASE_SINGLE 334,13806 -#define TW_PHASE_SGLIST 335,13833 -#define TW_SECTOR_SIZE 338,13880 -#define TW_ALIGNMENT_9000 339,13930 -#define TW_ALIGNMENT_9000_SGL 340,13993 -#define TW_MAX_UNITS 341,14043 -#define TW_INIT_MESSAGE_CREDITS 342,14075 -#define TW_INIT_COMMAND_PACKET_SIZE 343,14120 -#define TW_INIT_COMMAND_PACKET_SIZE_EXTENDED 344,14166 -#define TW_EXTENDED_INIT_CONNECT 345,14216 -#define TW_BUNDLED_FW_SAFE_TO_FLASH 346,14259 -#define TW_CTLR_FW_RECOMMENDS_FLASH 347,14305 -#define TW_CTLR_FW_COMPATIBLE 348,14351 -#define TW_BASE_FW_SRL 349,14392 -#define TW_BASE_FW_BRANCH 350,14428 -#define TW_BASE_FW_BUILD 351,14463 -#define TW_APACHE_MAX_SGL_LENGTH 353,14520 -#define TW_ESCALADE_MAX_SGL_LENGTH 354,14556 -#define TW_APACHE_CMD_PKT_SIZE 355,14594 -#define TW_APACHE_MAX_SGL_LENGTH 357,14633 -#define TW_ESCALADE_MAX_SGL_LENGTH 358,14670 -#define TW_APACHE_CMD_PKT_SIZE 359,14708 -#define TW_ATA_PASS_SGL_MAX 361,14748 -#define TW_Q_LENGTH 362,14797 -#define TW_Q_START 363,14829 -#define TW_MAX_SLOT 364,14858 -#define TW_MAX_RESET_TRIES 365,14889 -#define TW_MAX_CMDS_PER_LUN 366,14925 -#define TW_MAX_RESPONSE_DRAIN 367,14964 -#define TW_MAX_AEN_DRAIN 368,15005 -#define TW_IN_IOCTL 369,15040 -#define TW_IN_CHRDEV_IOCTL 370,15088 -#define TW_IN_ATTENTION_LOOP 371,15136 -#define TW_MAX_SECTORS 372,15174 -#define TW_AEN_WAIT_TIME 373,15224 -#define TW_IOCTL_WAIT_TIME 374,15275 -#define TW_MAX_CDB_LEN 375,15345 -#define TW_ISR_DONT_COMPLETE 376,15394 -#define TW_ISR_DONT_RESULT 377,15442 -#define TW_IOCTL_CHRDEV_TIMEOUT 378,15490 -#define TW_IOCTL_CHRDEV_FREE 379,15556 -#define TW_COMMAND_OFFSET 380,15605 -#define TW_VERSION_TABLE 381,15671 -#define TW_TIMEKEEP_TABLE 382,15724 -#define TW_INFORMATION_TABLE 383,15764 -#define TW_PARAM_FWVER 384,15807 -#define TW_PARAM_FWVER_LENGTH 385,15840 -#define TW_PARAM_BIOSVER 386,15880 -#define TW_PARAM_BIOSVER_LENGTH 387,15914 -#define TW_PARAM_PORTCOUNT 388,15956 -#define TW_PARAM_PORTCOUNT_LENGTH 389,15992 -#define TW_MIN_SGL_LENGTH 390,16034 -#define TW_MAX_SENSE_LENGTH 391,16102 -#define TW_EVENT_SOURCE_AEN 392,16152 -#define TW_EVENT_SOURCE_COMMAND 393,16205 -#define TW_EVENT_SOURCE_PCHIP 394,16258 -#define TW_EVENT_SOURCE_DRIVER 395,16311 -#define TW_IOCTL_GET_COMPATIBILITY_INFO 396,16364 -#define TW_IOCTL_GET_LAST_EVENT 397,16416 -#define TW_IOCTL_GET_FIRST_EVENT 398,16468 -#define TW_IOCTL_GET_NEXT_EVENT 399,16520 -#define TW_IOCTL_GET_PREVIOUS_EVENT 400,16572 -#define TW_IOCTL_GET_LOCK 401,16624 -#define TW_IOCTL_RELEASE_LOCK 402,16676 -#define TW_IOCTL_FIRMWARE_PASS_THROUGH 403,16728 -#define TW_IOCTL_ERROR_STATUS_NOT_LOCKED 404,16780 -#define TW_IOCTL_ERROR_STATUS_LOCKED 405,16847 -#define TW_IOCTL_ERROR_STATUS_NO_MORE_EVENTS 406,16918 -#define TW_IOCTL_ERROR_STATUS_AEN_CLOBBER 407,16989 -#define TW_IOCTL_ERROR_OS_EFAULT 408,17066 -#define TW_IOCTL_ERROR_OS_EINTR 409,17128 -#define TW_IOCTL_ERROR_OS_EINVAL 410,17202 -#define TW_IOCTL_ERROR_OS_ENOMEM 411,17269 -#define TW_IOCTL_ERROR_OS_ERESTARTSYS 412,17333 -#define TW_IOCTL_ERROR_OS_EIO 413,17413 -#define TW_IOCTL_ERROR_OS_ENOTTY 414,17468 -#define TW_IOCTL_ERROR_OS_ENODEV 415,17535 -#define TW_ALLOCATION_LENGTH 416,17600 -#define TW_SENSE_DATA_LENGTH 417,17640 -#define TW_STATUS_CHECK_CONDITION 418,17679 -#define TW_ERROR_LOGICAL_UNIT_NOT_SUPPORTED 419,17721 -#define TW_ERROR_UNIT_OFFLINE 420,17773 -#define TW_MESSAGE_SOURCE_CONTROLLER_ERROR 421,17825 -#define TW_MESSAGE_SOURCE_CONTROLLER_EVENT 422,17873 -#define TW_MESSAGE_SOURCE_LINUX_DRIVER 423,17921 -#define TW_DRIVER 424,17969 -#define TW_MESSAGE_SOURCE_LINUX_OS 425,18018 -#define TW_OS 426,18066 -#define TW_COMMAND_SIZE 428,18130 -#define TW_DMA_MASK 429,18164 -#define TW_COMMAND_SIZE 431,18213 -#define TW_DMA_MASK 432,18247 -#define PCI_DEVICE_ID_3WARE_9000 435,18330 -#define TW_OPRES_IN(TW_OPRES_IN441,18452 -#define TW_OP_OUT(TW_OP_OUT442,18501 -#define TW_OPSGL_IN(TW_OPSGL_IN445,18564 -#define TW_SGL_OUT(TW_SGL_OUT446,18613 -#define TW_SEV_OUT(TW_SEV_OUT449,18684 -#define TW_RESID_OUT(TW_RESID_OUT452,18769 -#define TW_CONTROL_REG_ADDR(TW_CONTROL_REG_ADDR455,18825 -#define TW_STATUS_REG_ADDR(TW_STATUS_REG_ADDR456,18871 -#define TW_COMMAND_QUEUE_REG_ADDR(TW_COMMAND_QUEUE_REG_ADDR458,18962 -#define TW_COMMAND_QUEUE_REG_ADDR(TW_COMMAND_QUEUE_REG_ADDR460,19044 -#define TW_RESPONSE_QUEUE_REG_ADDR(TW_RESPONSE_QUEUE_REG_ADDR462,19126 -#define TW_CLEAR_ALL_INTERRUPTS(TW_CLEAR_ALL_INTERRUPTS463,19202 -#define TW_CLEAR_ATTENTION_INTERRUPT(TW_CLEAR_ATTENTION_INTERRUPT464,19297 -#define TW_CLEAR_HOST_INTERRUPT(TW_CLEAR_HOST_INTERRUPT465,19408 -#define TW_DISABLE_INTERRUPTS(TW_DISABLE_INTERRUPTS466,19509 -#define TW_ENABLE_AND_CLEAR_INTERRUPTS(TW_ENABLE_AND_CLEAR_INTERRUPTS467,19606 -#define TW_MASK_COMMAND_INTERRUPT(TW_MASK_COMMAND_INTERRUPT468,19789 -#define TW_UNMASK_COMMAND_INTERRUPT(TW_UNMASK_COMMAND_INTERRUPT469,19894 -#define TW_SOFT_RESET(TW_SOFT_RESET470,20003 -#define TW_PRINTK(TW_PRINTK477,20330 -typedef struct TAG_TW_SG_Entry TAG_TW_SG_Entry487,20590 -} TW_SG_Entry;TW_SG_Entry490,20660 -typedef struct TW_Command TW_Command493,20697 -} TW_Command;TW_Command524,21334 -typedef struct TAG_TW_SG_Apache TAG_TW_SG_Apache527,21400 -} TW_SG_Apache;TW_SG_Apache530,21471 -typedef struct TAG_TW_Command_Apache TAG_TW_Command_Apache533,21531 -} TW_Command_Apache;TW_Command_Apache545,21861 -typedef struct TAG_TW_Command_Apache_Header TAG_TW_Command_Apache_Header548,21915 -} TW_Command_Apache_Header;TW_Command_Apache_Header562,22290 -typedef struct TAG_TW_Command_Full TAG_TW_Command_Full565,22373 -} TW_Command_Full;TW_Command_Full571,22522 -typedef struct TAG_TW_Initconnect TAG_TW_Initconnect574,22573 -} TW_Initconnect;TW_Initconnect588,22922 -typedef struct TAG_TW_EventTAG_TW_Event591,22968 -} TW_Event;TW_Event601,23226 -typedef struct TAG_TW_Ioctl_Driver_Command TAG_TW_Ioctl_Driver_Command603,23239 -} TW_Ioctl_Driver_Command;TW_Ioctl_Driver_Command610,23442 -typedef struct TAG_TW_Ioctl_Apache TAG_TW_Ioctl_Apache612,23470 -} TW_Ioctl_Buf_Apache;TW_Ioctl_Buf_Apache617,23632 -typedef struct TAG_TW_Lock TAG_TW_Lock620,23704 -} TW_Lock;TW_Lock624,23825 -} TW_Param_Apache, *PTW_Param_Apache;PTW_Param_Apache633,24044 -typedef union TAG_TW_Response_Queue TAG_TW_Response_Queue636,24104 -} TW_Response_Queue;TW_Response_Queue639,24172 -typedef struct TAG_TW_Info TAG_TW_Info641,24194 -} TW_Info;TW_Info646,24279 -typedef struct TAG_TW_Compatibility_InfoTAG_TW_Compatibility_Info649,24333 -} TW_Compatibility_Info;TW_Compatibility_Info655,24494 -typedef struct TAG_TW_Device_Extension TAG_TW_Device_Extension657,24520 -} TW_Device_Extension;TW_Device_Extension699,26000 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sun3_scsi_vme.c,1616 -#define AUTOSENSE14,311 -#define SUN3_SCSI_VME36,730 -#define REAL_DMA41,791 -#define USE_WRAPPER50,950 -#define DRIVER_SETUP52,994 -#define NDEBUG 54,1016 -#define ENABLE_IRQ(ENABLE_IRQ67,1261 -static int setup_can_queue 74,1469 -static int setup_cmd_per_lun 76,1537 -static int setup_sg_tablesize 78,1609 -static int setup_use_tagged_queuing 81,1703 -static int setup_hostid 84,1796 -static Scsi_Cmnd *sun3_dma_setup_done 87,1859 -#define AFTER_RESET_DELAY 89,1906 -#define SUN3_DMA_DELAY 92,1980 -#define SUN3_DVMA_BUFSIZE 95,2085 -#define SUN3_DMA_MINSIZE 98,2162 -static volatile unsigned char *sun3_scsi_regp;100,2192 -static volatile struct sun3_dma_regs *dregs;101,2239 -static unsigned char *dmabuf 103,2298 -static unsigned char *sun3_dma_orig_addr 105,2366 -static unsigned long sun3_dma_orig_count 106,2415 -static int sun3_dma_active 107,2461 -static unsigned long last_residual 108,2493 -static inline unsigned char sun3scsi_read(114,2580 -static inline void sun3scsi_write(119,2668 -static struct Scsi_Host *default_instance;127,2785 -static int sun3scsi_detect(141,3130 -int sun3scsi_release 280,6306 -static void sun3_scsi_reset_boot(295,6532 -static const char * sun3scsi_info 336,7584 -#define CSR_GOOD 341,7688 -static irqreturn_t scsi_sun3_intr(343,7713 -void sun3_sun3_debug 388,8790 -static unsigned long sun3scsi_dma_setup(403,9083 -static inline unsigned long sun3scsi_dma_residual(453,10176 -static inline unsigned long sun3scsi_dma_xfer_len(458,10282 -static int sun3scsi_dma_start(467,10470 -static int sun3scsi_dma_finish(490,11041 -static Scsi_Host_Template driver_template 567,12446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/imm.h,931 -#define _IMM_H11,250 -#define IMM_VERSION 13,266 -#define IMM_AUTODETECT 88,3060 -#define IMM_NIBBLE 89,3131 -#define IMM_PS2 90,3202 -#define IMM_EPP_8 91,3265 -#define IMM_EPP_16 92,3336 -#define IMM_EPP_32 93,3407 -#define IMM_UNKNOWN 94,3478 -static char *IMM_MODE_STRING[96,3550 -#define IMM_BURST_SIZE 112,3883 -#define IMM_SELECT_TMO 113,3932 -#define IMM_SPIN_TMO 114,4000 -#define IMM_DEBUG 115,4063 -#define IN_EPP_MODE(IN_EPP_MODE116,4106 -#define CONNECT_EPP_MAYBE 119,4211 -#define CONNECT_NORMAL 120,4239 -#define r_dtr(r_dtr122,4266 -#define r_str(r_str123,4314 -#define r_ctr(r_ctr124,4364 -#define r_epp(r_epp125,4414 -#define r_fifo(r_fifo126,4464 -#define r_ecr(r_ecr128,4582 -#define w_dtr(w_dtr130,4657 -#define w_str(w_str131,4694 -#define w_epp(w_epp132,4733 -#define w_fifo(w_fifo133,4772 -#define w_ecr(w_ecr134,4837 -#define w_ctr(w_ctr137,4936 -#define w_ctr(w_ctr139,4983 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/3w-xxxx.h,5489 -#define _3W_XXXX_H55,2781 -static char *tw_aen_string[61,2872 -static unsigned char tw_sense_table[99,4573 -#define TW_CONTROL_CLEAR_HOST_INTERRUPT 120,5734 -#define TW_CONTROL_CLEAR_ATTENTION_INTERRUPT 121,5792 -#define TW_CONTROL_MASK_COMMAND_INTERRUPT 122,5850 -#define TW_CONTROL_MASK_RESPONSE_INTERRUPT 123,5908 -#define TW_CONTROL_UNMASK_COMMAND_INTERRUPT 124,5966 -#define TW_CONTROL_UNMASK_RESPONSE_INTERRUPT 125,6024 -#define TW_CONTROL_CLEAR_ERROR_STATUS 126,6082 -#define TW_CONTROL_ISSUE_SOFT_RESET 127,6138 -#define TW_CONTROL_ENABLE_INTERRUPTS 128,6192 -#define TW_CONTROL_DISABLE_INTERRUPTS 129,6247 -#define TW_CONTROL_ISSUE_HOST_INTERRUPT 130,6303 -#define TW_CONTROL_CLEAR_PARITY_ERROR 131,6361 -#define TW_CONTROL_CLEAR_QUEUE_ERROR 132,6419 -#define TW_CONTROL_CLEAR_PCI_ABORT 133,6477 -#define TW_CONTROL_CLEAR_SBUF_WRITE_ERROR 134,6535 -#define TW_STATUS_MAJOR_VERSION_MASK 137,6632 -#define TW_STATUS_MINOR_VERSION_MASK 138,6687 -#define TW_STATUS_PCI_PARITY_ERROR 139,6742 -#define TW_STATUS_QUEUE_ERROR 140,6795 -#define TW_STATUS_MICROCONTROLLER_ERROR 141,6844 -#define TW_STATUS_PCI_ABORT 142,6902 -#define TW_STATUS_HOST_INTERRUPT 143,6949 -#define TW_STATUS_ATTENTION_INTERRUPT 144,7000 -#define TW_STATUS_COMMAND_INTERRUPT 145,7056 -#define TW_STATUS_RESPONSE_INTERRUPT 146,7110 -#define TW_STATUS_COMMAND_QUEUE_FULL 147,7165 -#define TW_STATUS_RESPONSE_QUEUE_EMPTY 148,7220 -#define TW_STATUS_MICROCONTROLLER_READY 149,7277 -#define TW_STATUS_COMMAND_QUEUE_EMPTY 150,7335 -#define TW_STATUS_ALL_INTERRUPTS 151,7391 -#define TW_STATUS_CLEARABLE_BITS 152,7442 -#define TW_STATUS_EXPECTED_BITS 153,7493 -#define TW_STATUS_UNEXPECTED_BITS 154,7544 -#define TW_STATUS_SBUF_WRITE_ERROR 155,7596 -#define TW_STATUS_VALID_INTERRUPT 156,7654 -#define TW_RESPONSE_ID_MASK 159,7750 -#define TW_IO_ADDRESS_RANGE 162,7824 -#define TW_DEVICE_NAME 163,7865 -#define TW_VENDOR_ID 164,7924 -#define TW_DEVICE_ID 165,7966 -#define TW_DEVICE_ID2 166,8021 -#define TW_NUMDEVICES 167,8082 -#define TW_PCI_CLEAR_PARITY_ERRORS 168,8106 -#define TW_PCI_CLEAR_PCI_ABORT 169,8148 -#define TW_OP_NOP 172,8220 -#define TW_OP_INIT_CONNECTION 173,8248 -#define TW_OP_READ 174,8282 -#define TW_OP_WRITE 175,8311 -#define TW_OP_VERIFY 176,8341 -#define TW_OP_GET_PARAM 177,8372 -#define TW_OP_SET_PARAM 178,8407 -#define TW_OP_SECTOR_INFO 179,8442 -#define TW_OP_AEN_LISTEN 180,8477 -#define TW_OP_FLUSH_CACHE 181,8512 -#define TW_CMD_PACKET 182,8547 -#define TW_ATA_PASSTHRU 183,8582 -#define TW_CMD_PACKET_WITH_DATA 184,8617 -#define TW_AEN_QUEUE_EMPTY 187,8705 -#define TW_AEN_SOFT_RESET 188,8745 -#define TW_AEN_DEGRADED_MIRROR 189,8785 -#define TW_AEN_CONTROLLER_ERROR 190,8825 -#define TW_AEN_REBUILD_FAIL 191,8865 -#define TW_AEN_REBUILD_DONE 192,8905 -#define TW_AEN_QUEUE_FULL 193,8945 -#define TW_AEN_TABLE_UNDEFINED 194,8985 -#define TW_AEN_APORT_TIMEOUT 195,9023 -#define TW_AEN_DRIVE_ERROR 196,9063 -#define TW_AEN_SMART_FAIL 197,9103 -#define TW_AEN_SBUF_FAIL 198,9143 -#define TW_ALIGNMENT_6000 201,9203 -#define TW_ALIGNMENT_7000 202,9254 -#define TW_MAX_UNITS 203,9317 -#define TW_COMMAND_ALIGNMENT_MASK 204,9349 -#define TW_INIT_MESSAGE_CREDITS 205,9395 -#define TW_INIT_COMMAND_PACKET_SIZE 206,9440 -#define TW_POLL_MAX_RETRIES 207,9486 -#define TW_MAX_SGL_LENGTH 208,9534 -#define TW_ATA_PASS_SGL_MAX 209,9570 -#define TW_MAX_PASSTHRU_BYTES 210,9619 -#define TW_Q_LENGTH 211,9670 -#define TW_Q_START 212,9702 -#define TW_MAX_SLOT 213,9731 -#define TW_MAX_PCI_BUSES 214,9762 -#define TW_MAX_RESET_TRIES 215,9798 -#define TW_UNIT_INFORMATION_TABLE_BASE 216,9834 -#define TW_MAX_CMDS_PER_LUN 217,9885 -#define TW_BLOCK_SIZE 220,10094 -#define TW_IOCTL 221,10152 -#define TW_UNIT_ONLINE 222,10203 -#define TW_IN_INTR 223,10251 -#define TW_IN_IOCTL 224,10299 -#define TW_IN_CHRDEV_IOCTL 225,10347 -#define TW_MAX_SECTORS 226,10395 -#define TW_AEN_WAIT_TIME 227,10445 -#define TW_IOCTL_WAIT_TIME 228,10496 -#define TW_ISR_DONT_COMPLETE 229,10566 -#define TW_ISR_DONT_RESULT 230,10614 -#define TW_IOCTL_TIMEOUT 231,10662 -#define TW_IOCTL_CHRDEV_TIMEOUT 232,10728 -#define TW_IOCTL_CHRDEV_FREE 233,10794 -#define TW_STATUS_ERRORS(TW_STATUS_ERRORS236,10857 -#define dprintk(dprintk244,11096 -#define dprintk(dprintk246,11138 -typedef struct TAG_TW_SG_Entry TAG_TW_SG_Entry252,11235 -} TW_SG_Entry;TW_SG_Entry255,11295 -typedef unsigned char TW_Sector[TW_Sector257,11311 -typedef struct TW_Command TW_Command260,11371 -} TW_Command;TW_Command298,12148 -typedef struct TAG_TW_Ioctl TAG_TW_Ioctl302,12179 -} TW_Ioctl;TW_Ioctl309,12375 -typedef struct TAG_TW_New_Ioctl TAG_TW_New_Ioctl314,12444 -} TW_New_Ioctl;TW_New_Ioctl319,12594 -} TW_Param, *PTW_Param;PTW_Param327,12770 -typedef union TAG_TW_Response_Queue TAG_TW_Response_Queue330,12816 -} TW_Response_Queue;TW_Response_Queue337,12949 -typedef struct TAG_TW_Registers TAG_TW_Registers339,12971 -} TW_Registers;TW_Registers345,13113 -typedef struct TAG_TW_Info TAG_TW_Info347,13130 -} TW_Info;TW_Info352,13215 -typedef int TW_Cmd_State;TW_Cmd_State354,13227 -#define TW_S_INITIAL 356,13254 -#define TW_S_STARTED 357,13302 -#define TW_S_POSTED 358,13346 -#define TW_S_PENDING 359,13405 -#define TW_S_COMPLETED 360,13467 -#define TW_S_FINISHED 361,13518 -#define TW_START_MASK 362,13572 -typedef struct TAG_TW_PassthruTAG_TW_Passthru365,13695 -} TW_Passthru;TW_Passthru389,14252 -typedef struct TAG_TW_Device_Extension TAG_TW_Device_Extension391,14268 -} TW_Device_Extension;TW_Device_Extension434,15696 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_svw.c,1459 -#define DRV_NAME 51,1750 -#define DRV_VERSION 52,1778 -#define K2_SATA_TF_CMD_OFFSET 55,1839 -#define K2_SATA_TF_DATA_OFFSET 56,1875 -#define K2_SATA_TF_ERROR_OFFSET 57,1912 -#define K2_SATA_TF_NSECT_OFFSET 58,1950 -#define K2_SATA_TF_LBAL_OFFSET 59,1988 -#define K2_SATA_TF_LBAM_OFFSET 60,2025 -#define K2_SATA_TF_LBAH_OFFSET 61,2062 -#define K2_SATA_TF_DEVICE_OFFSET 62,2099 -#define K2_SATA_TF_CMDSTAT_OFFSET 63,2137 -#define K2_SATA_TF_CTL_OFFSET 64,2182 -#define K2_SATA_DMA_CMD_OFFSET 67,2234 -#define K2_SATA_SCR_STATUS_OFFSET 70,2288 -#define K2_SATA_SCR_ERROR_OFFSET 71,2327 -#define K2_SATA_SCR_CONTROL_OFFSET 72,2365 -#define K2_SATA_SICR1_OFFSET 75,2419 -#define K2_SATA_SICR2_OFFSET 76,2454 -#define K2_SATA_SIM_OFFSET 77,2489 -#define K2_SATA_PORT_OFFSET 80,2541 -static u32 k2_sata_scr_read 83,2578 -static void k2_sata_scr_write 91,2764 -static void k2_sata_tf_load(100,2958 -static void k2_sata_tf_read(131,3985 -void k2_bmdma_setup_mmio 159,4752 -void k2_bmdma_start_mmio 189,5619 -static u8 k2_stat_check_status(218,7103 -static int k2_sata_proc_info(235,7736 -static Scsi_Host_Template k2_sata_sht 271,8532 -static struct ata_port_operations k2_sata_ops 294,9175 -static void k2_sata_setup_port(315,9833 -static int k2_sata_init_one 335,10603 -static struct pci_device_id k2_sata_pci_tbl[441,13488 -static struct pci_driver k2_sata_pci_driver 449,13710 -static int __init k2_sata_init(457,13878 -static void __exit k2_sata_exit(463,13967 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_transport_fc.c,1931 -#define FC_PRINTK(FC_PRINTK28,1073 -#define FC_STARGET_NUM_ATTRS 35,1431 -#define FC_STARGET_OTHER_ATTRS 36,1505 -#define FC_HOST_NUM_ATTRS 38,1601 -struct fc_internal fc_internal40,1630 -#define to_fc_internal(to_fc_internal55,2161 -struct class fc_transport_class fc_transport_class57,2233 -struct class fc_host_class fc_host_class62,2335 -static __init int fc_transport_init(67,2422 -static void __exit fc_transport_exit(75,2587 -static int fc_setup_starget_transport_attrs(81,2710 -static void fc_destroy_starget(97,3224 -static int fc_setup_host_transport_attrs(104,3406 -static void fc_destroy_host(117,3793 -static void transport_class_release(124,3962 -static void host_class_release(130,4133 -#define fc_starget_show_function(fc_starget_show_function141,4345 -#define fc_starget_store_function(fc_starget_store_function155,4943 -#define fc_starget_rd_attr(fc_starget_rd_attr170,5471 -#define fc_starget_rd_attr_cast(fc_starget_rd_attr_cast175,5659 -#define fc_starget_rw_attr(fc_starget_rw_attr180,5864 -#define SETUP_STARGET_ATTRIBUTE_RD(SETUP_STARGET_ATTRIBUTE_RD187,6140 -#define SETUP_STARGET_ATTRIBUTE_RW(SETUP_STARGET_ATTRIBUTE_RW195,6472 -#define fc_host_show_function(fc_host_show_function216,7169 -#define fc_host_store_function(fc_host_store_function229,7673 -#define fc_host_rd_attr(fc_host_rd_attr243,8121 -#define fc_host_rd_attr_cast(fc_host_rd_attr_cast248,8309 -#define fc_host_rw_attr(fc_host_rw_attr253,8512 -#define SETUP_HOST_ATTRIBUTE_RD(SETUP_HOST_ATTRIBUTE_RD260,8782 -#define SETUP_HOST_ATTRIBUTE_RW(SETUP_HOST_ATTRIBUTE_RW268,9100 -fc_attach_transport(284,9583 -void fc_release_transport(339,10858 -static int fc_device_block(354,11137 -static int fc_device_unblock(365,11384 -static void fc_timeout_blocked_tgt(376,11706 -fc_target_block(408,12747 -fc_target_unblock(437,13648 -static void fc_timeout_blocked_host(457,14249 -fc_host_block(492,15356 -fc_host_unblock(524,16251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mesh.c,2891 -#define KERN_DEBUG 56,1513 -static int sync_rate 74,2210 -static int sync_targets 75,2261 -static int resel_targets 76,2293 -static int debug_targets 77,2326 -static int init_reset_delay 78,2392 -static int mesh_sync_period 80,2456 -static int mesh_sync_offset 81,2491 -static unsigned char use_active_neg 82,2524 -#define ALLOW_SYNC(ALLOW_SYNC84,2609 -#define ALLOW_RESEL(ALLOW_RESEL85,2664 -#define ALLOW_DEBUG(ALLOW_DEBUG86,2720 -#define DEBUG_TARGET(DEBUG_TARGET87,2776 -#define N_DBG_LOG 90,2861 -#define N_DBG_SLOG 91,2882 -#define NUM_DBG_EVENTS 92,2904 -struct dbglog dbglog95,2969 -enum mesh_phase mesh_phase105,3056 - idle,106,3074 - arbitrating,107,3081 - selecting,108,3095 - commanding,109,3107 - dataing,110,3120 - statusing,111,3130 - busfreeing,112,3142 - disconnecting,113,3155 - reselecting,114,3171 - sleeping115,3185 -enum msg_phase msg_phase118,3199 - msg_none,119,3216 - msg_out,120,3227 - msg_out_xxx,121,3237 - msg_out_last,122,3251 - msg_in,123,3266 - msg_in_bad,124,3275 -enum sdtr_phase sdtr_phase127,3292 - do_sdtr,128,3310 - sdtr_sent,129,3320 - sdtr_done130,3332 -struct mesh_target mesh_target133,3347 -struct mesh_state mesh_state146,3600 -static inline u32 readtb(202,5003 -static void dlog(215,5192 -static void dumplog(240,5788 -static void dumpslog(266,6302 -static inline void dlog(293,6786 -static inline void dumplog(295,6854 -static inline void dumpslog(297,6916 -#define MKWORD(MKWORD302,6994 -mesh_dump_regs(305,7081 -static inline void mesh_flush_io(341,8381 -static void mesh_completed(350,8512 -static void mesh_init(360,8779 -static void mesh_start_cmd(408,10136 -static void mesh_start(562,14944 -static void mesh_done(593,15651 -static inline void add_sdtr_msg(627,16653 -static void set_sdtr(639,16958 -static void start_phase(680,18125 -static inline void get_msgin(825,22146 -static inline int msgin_length(839,22397 -static void reselected(857,22698 -static void do_abort(978,25749 -static void handle_reset(987,25906 -static irqreturn_t do_mesh_interrupt(1020,26789 -static void handle_error(1031,27114 -static void handle_exception(1125,29507 -static void handle_msgin(1157,30344 -static void set_dma_cmds(1258,32768 -static void halt_dma(1326,34666 -static void phase_mismatch(1375,36187 -static void cmd_complete(1454,37895 -static int mesh_queue(1640,42987 -static void mesh_interrupt(1666,43549 -static int mesh_abort(1697,44518 -static int mesh_host_reset(1714,44950 -static void set_mesh_power(1746,45969 -static int mesh_suspend(1763,46418 -static int mesh_resume(1789,47107 -static int mesh_shutdown(1817,47769 -static struct scsi_host_template mesh_template 1837,48333 -static int mesh_probe(1850,48667 -static int mesh_remove(1985,52548 -static struct of_match mesh_match[2017,53229 -static struct macio_driver mesh_driver 2032,53435 -static int __init init_mesh(2046,53682 -static void __exit exit_mesh(2062,54096 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fd_mcs.c,4064 -#define DRIVER_VERSION 101,4130 -#define DEBUG 105,4225 -#define ENABLE_PARITY 106,4282 -#define DO_DETECT 107,4334 -#define EVERY_ACCESS 112,4453 -#define ERRORS_ONLY 113,4520 -#define DEBUG_DETECT 114,4592 -#define DEBUG_MESSAGES 115,4647 -#define DEBUG_ABORT 116,4703 -#define DEBUG_RESET 117,4758 -#define DEBUG_RACE 118,4813 -#define EVERY_ACCESS 120,4890 -#define ERRORS_ONLY 121,4964 -#define DEBUG_DETECT 122,4991 -#define DEBUG_MESSAGES 123,5018 -#define DEBUG_ABORT 124,5045 -#define DEBUG_RESET 125,5072 -#define DEBUG_RACE 126,5099 -#define ERRORS_ONLY 132,5247 -#define PARITY_MASK 136,5300 -#define PARITY_MASK 138,5336 -enum chip_type chip_type141,5374 - unknown 142,5391 - unknown = 0x00,142,5391 - tmc1800 143,5408 - tmc1800 = 0x01,143,5408 - tmc18c50 144,5425 - tmc18c50 = 0x02,144,5425 - tmc18c30 145,5443 - tmc18c30 = 0x03,145,5443 - in_arbitration 149,5472 - in_arbitration = 0x02,149,5472 - in_selection 150,5496 - in_selection = 0x04,150,5496 - in_other 151,5518 - in_other = 0x08,151,5518 - disconnect 152,5536 - disconnect = 0x10,152,5536 - aborted 153,5556 - aborted = 0x20,153,5556 - sent_ident 154,5573 - sent_ident = 0x40,154,5573 -enum in_port_type in_port_type157,5597 - Read_SCSI_Data 158,5617 - SCSI_Status 159,5638 - TMC_Status 160,5656 - FIFO_Status 161,5673 - Interrupt_Cond 162,5720 - LSB_ID_Code 163,5770 - MSB_ID_Code 164,5788 - Read_Loopback 165,5806 - SCSI_Data_NoACK 166,5826 - Interrupt_Status 167,5848 - Configuration1 168,5871 - Configuration2 169,5893 - Read_FIFO 170,5944 - FIFO_Data_Count 171,5961 -enum out_port_type out_port_type174,5987 - Write_SCSI_Data 175,6008 - SCSI_Cntl 176,6030 - Interrupt_Cntl 177,6046 - SCSI_Mode_Cntl 178,6067 - TMC_Cntl 179,6088 - Memory_Cntl 180,6103 - Write_Loopback 181,6150 - IO_Control 182,6171 - Write_FIFO 183,6209 -struct fd_hostdata fd_hostdata186,6230 -#define FD_MAX_HOSTS 224,7069 -#define HOSTDATA(HOSTDATA226,7108 -#define bios_base 227,7173 -#define bios_major 228,7233 -#define bios_minor 229,7294 -#define in_command 230,7355 -#define current_SC 231,7416 -#define chip 232,7477 -#define adapter_mask 233,7532 -#define FIFO_COUNT 234,7595 -#define adapter_name 235,7656 -#define in_interrupt_flag 237,7734 -#define SCSI_Mode_Cntl_port 239,7809 -#define FIFO_Data_Count_port 240,7879 -#define Interrupt_Cntl_port 241,7950 -#define Interrupt_Status_port 242,8020 -#define Interrupt_Cond_port 243,8092 -#define Read_FIFO_port 244,8162 -#define Read_SCSI_Data_port 245,8227 -#define SCSI_Cntl_port 246,8297 -#define SCSI_Data_NoACK_port 247,8362 -#define SCSI_Status_port 248,8433 -#define TMC_Cntl_port 249,8500 -#define TMC_Status_port 250,8564 -#define Write_FIFO_port 251,8630 -#define Write_SCSI_Data_port 252,8696 -#define FIFO_Size 253,8767 -#define Bytes_Read 254,8827 -#define Bytes_Written 255,8888 -#define INTR_Processed 256,8952 -struct fd_mcs_adapters_struct fd_mcs_adapters_struct258,9018 -#define REPLY_ID 266,9134 -static struct fd_mcs_adapters_struct fd_mcs_adapters[268,9159 -#define FD_BRDS 286,9475 -static unsigned long addresses[290,9632 -static unsigned short ports[291,9707 -static unsigned short interrupts[292,9771 -static int found 295,9865 -static struct Scsi_Host *hosts[296,9887 -static int user_fifo_count 298,9949 -static int user_fifo_size 299,9981 -static int __init fd_mcs_setup(301,10013 -static void print_banner(319,10427 -static void do_pause(333,10830 -static void fd_mcs_make_bus_idle(340,10956 -static int fd_mcs_detect(350,11236 -static const char *fd_mcs_info(578,17811 -static int TOTAL_INTR 583,17894 -static int fd_mcs_proc_info(595,18419 -static int fd_mcs_select(616,19114 -static void my_done(659,20072 -static irqreturn_t fd_mcs_intr(676,20462 -static int fd_mcs_release(1117,33894 -static int fd_mcs_queue(1146,34387 -static void fd_mcs_print_info(1195,35969 -static int fd_mcs_abort(1264,38028 -static int fd_mcs_host_reset(1300,38756 -static int fd_mcs_device_reset(1305,38825 -static int fd_mcs_bus_reset(1310,38897 -static int fd_mcs_biosparam(1343,39628 -static Scsi_Host_Template driver_template 1407,41988 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aha1542.c,2329 -#define SCSI_BUF_PA(SCSI_BUF_PA53,1691 -#define SCSI_SG_PA(SCSI_SG_PA54,1745 -static void BAD_DMA(56,1823 -static void BAD_SG_DMA(65,2074 -#define DEB(DEB85,2567 -#define DEB(DEB87,2590 -#define MAXBOARDS 99,3032 -static unsigned int bases[104,3193 -static unsigned int bases[MAXBOARDS] __initdata 104,3193 -static int setup_called[109,3399 -static int setup_buson[110,3435 -static int setup_busoff[111,3470 -static int setup_dmaspeed[112,3506 -static int setup_dmaspeed[MAXBOARDS] __initdata 112,3506 -int isapnp 132,4478 -int aha1542[133,4494 -static struct isapnp_device_id id_table[137,4587 -static struct isapnp_device_id id_table[] __initdata 137,4587 -static int isapnp 149,4799 -#define BIOS_TRANSLATION_1632 152,4830 -#define BIOS_TRANSLATION_6432 153,4898 -#define BIOS_TRANSLATION_25563 154,4960 -struct aha1542_hostdata aha1542_hostdata156,5014 -#define HOSTDATA(HOSTDATA166,5353 -static struct Scsi_Host *aha_host[168,5423 -static spinlock_t aha1542_lock 170,5498 -#define WAITnexttimeout 174,5554 -#define aha1542_intr_reset(aha1542_intr_reset182,5895 -#define WAIT(WAIT184,5956 -#define WAITd(WAITd197,6464 -static void aha1542_stat(209,6900 -static int aha1542_out(219,7289 -static int __init aha1542_in(258,8190 -static int __init aha1542_in1(279,8833 -static int makecode(295,9186 -static int __init aha1542_test_port(351,11409 -static irqreturn_t do_aha1542_intr_handle(420,13085 -static void aha1542_intr_handle(437,13492 -static int aha1542_queuecommand(599,18000 -static void setup_mailboxes(781,23643 -static int __init aha1542_getconfig(807,24320 -static int __init aha1542_mbenable(876,25893 -static int __init aha1542_query(911,26811 -static char *setup_str[951,27962 -static char *setup_str[MAXBOARDS] __initdata;951,27962 -static int setup_idx 952,28008 -void __init aha1542_setup(954,28035 -static int __init do_setup(1010,29501 -static int __init aha1542_detect(1026,29758 -static int aha1542_release(1314,36756 -static int aha1542_restart(1326,37054 -static int aha1542_abort(1351,37599 -static int aha1542_dev_reset(1369,38049 -static int aha1542_bus_reset(1462,40755 -static int aha1542_host_reset(1526,42621 -static int aha1542_old_abort(1600,44790 -static int aha1542_old_reset(1678,47253 -static int aha1542_biosparam(1790,51352 -static Scsi_Host_Template driver_template 1814,51884 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicpti.h,8756 -#define _QLOGICPTI_H7,164 -#define SBUS_CFG1 10,226 -#define SBUS_CTRL 11,252 -#define SBUS_STAT 12,278 -#define SBUS_SEMAPHORE 13,304 -#define CMD_DMA_CTRL 14,335 -#define DATA_DMA_CTRL 15,364 -#define MBOX0 16,394 -#define MBOX1 17,417 -#define MBOX2 18,440 -#define MBOX3 19,463 -#define MBOX4 20,486 -#define MBOX5 21,509 -#define CPU_CMD 22,532 -#define CPU_ORIDE 23,557 -#define CPU_PCTRL 24,583 -#define CPU_PDIFF 25,609 -#define RISC_PSR 26,635 -#define RISC_MTREG 27,660 -#define HCCTRL 28,687 -#define MAX_TARGETS 31,751 -#define MAX_LUNS 32,774 -#define QLOGICPTI_REQ_QUEUE_LEN 45,1422 -#define QLOGICPTI_MAX_SG(QLOGICPTI_MAX_SG46,1489 -#define MBOX_COMMAND_COMPLETE 49,1599 -#define INVALID_COMMAND 50,1637 -#define HOST_INTERFACE_ERROR 51,1670 -#define TEST_FAILED 52,1707 -#define COMMAND_ERROR 53,1736 -#define COMMAND_PARAM_ERROR 54,1767 -#define ASYNC_SCSI_BUS_RESET 57,1835 -#define SYSTEM_ERROR 58,1872 -#define REQUEST_TRANSFER_ERROR 59,1902 -#define RESPONSE_TRANSFER_ERROR 60,1941 -#define REQUEST_QUEUE_WAKEUP 61,1981 -#define EXECUTION_TIMEOUT_RESET 62,2018 -struct Entry_header Entry_header65,2096 -#define ENTRY_COMMAND 80,2324 -#define ENTRY_CONTINUATION 81,2349 -#define ENTRY_STATUS 82,2378 -#define ENTRY_MARKER 83,2402 -#define ENTRY_EXTENDED_COMMAND 84,2426 -#define EFLAG_CONTINUATION 87,2496 -#define EFLAG_BUSY 88,2525 -#define EFLAG_BAD_HEADER 89,2547 -#define EFLAG_BAD_PAYLOAD 90,2574 -struct dataseg dataseg92,2603 -struct Command_Entry Command_Entry97,2651 -#define CFLAG_NODISC 117,3024 -#define CFLAG_HEAD_TAG 118,3051 -#define CFLAG_ORDERED_TAG 119,3080 -#define CFLAG_SIMPLE_TAG 120,3111 -#define CFLAG_TAR_RTN 121,3141 -#define CFLAG_READ 122,3169 -#define CFLAG_WRITE 123,3194 -struct Ext_Command_Entry Ext_Command_Entry125,3221 -struct Continuation_Entry Continuation_Entry143,3524 -struct Marker_Entry Marker_Entry149,3628 -#define SYNC_DEVICE 170,3990 -#define SYNC_TARGET 171,4012 -#define SYNC_ALL 172,4034 -struct Status_Entry Status_Entry174,4054 -#define CS_COMPLETE 189,4350 -#define CS_INCOMPLETE 190,4379 -#define CS_DMA_ERROR 191,4410 -#define CS_TRANSPORT_ERROR 192,4440 -#define CS_RESET_OCCURRED 193,4475 -#define CS_ABORTED 194,4509 -#define CS_TIMEOUT 195,4537 -#define CS_DATA_OVERRUN 196,4565 -#define CS_COMMAND_OVERRUN 197,4598 -#define CS_STATUS_OVERRUN 198,4633 -#define CS_BAD_MESSAGE 199,4667 -#define CS_NO_MESSAGE_OUT 200,4699 -#define CS_EXT_ID_FAILED 201,4733 -#define CS_IDE_MSG_FAILED 202,4766 -#define CS_ABORT_MSG_FAILED 203,4800 -#define CS_REJECT_MSG_FAILED 204,4836 -#define CS_NOP_MSG_FAILED 205,4873 -#define CS_PARITY_ERROR_MSG_FAILED 206,4907 -#define CS_DEVICE_RESET_MSG_FAILED 207,4949 -#define CS_ID_MSG_FAILED 208,4991 -#define CS_UNEXP_BUS_FREE 209,5024 -#define CS_DATA_UNDERRUN 210,5058 -#define CS_BUS_RESET 211,5091 -#define SF_GOT_BUS 214,5164 -#define SF_GOT_TARGET 215,5192 -#define SF_SENT_CDB 216,5223 -#define SF_TRANSFERRED_DATA 217,5252 -#define SF_GOT_STATUS 218,5288 -#define SF_GOT_SENSE 219,5319 -#define STF_DISCONNECT 222,5393 -#define STF_SYNCHRONOUS 223,5425 -#define STF_PARITY_ERROR 224,5458 -#define STF_BUS_RESET 225,5491 -#define STF_DEVICE_RESET 226,5522 -#define STF_ABORTED 227,5555 -#define STF_TIMEOUT 228,5584 -#define STF_NEGOTIATION 229,5613 -#define MBOX_NO_OP 232,5670 -#define MBOX_LOAD_RAM 233,5698 -#define MBOX_EXEC_FIRMWARE 234,5729 -#define MBOX_DUMP_RAM 235,5764 -#define MBOX_WRITE_RAM_WORD 236,5795 -#define MBOX_READ_RAM_WORD 237,5831 -#define MBOX_MAILBOX_REG_TEST 238,5866 -#define MBOX_VERIFY_CHECKSUM 239,5904 -#define MBOX_ABOUT_FIRMWARE 240,5941 -#define MBOX_CHECK_FIRMWARE 241,5977 -#define MBOX_INIT_REQ_QUEUE 242,6013 -#define MBOX_INIT_RES_QUEUE 243,6049 -#define MBOX_EXECUTE_IOCB 244,6085 -#define MBOX_WAKE_UP 245,6119 -#define MBOX_STOP_FIRMWARE 246,6149 -#define MBOX_ABORT 247,6184 -#define MBOX_ABORT_DEVICE 248,6212 -#define MBOX_ABORT_TARGET 249,6246 -#define MBOX_BUS_RESET 250,6280 -#define MBOX_STOP_QUEUE 251,6312 -#define MBOX_START_QUEUE 252,6345 -#define MBOX_SINGLE_STEP_QUEUE 253,6378 -#define MBOX_ABORT_QUEUE 254,6417 -#define MBOX_GET_DEV_QUEUE_STATUS 255,6450 -#define MBOX_GET_FIRMWARE_STATUS 256,6491 -#define MBOX_GET_INIT_SCSI_ID 257,6531 -#define MBOX_GET_SELECT_TIMEOUT 258,6569 -#define MBOX_GET_RETRY_COUNT 259,6609 -#define MBOX_GET_TAG_AGE_LIMIT 260,6646 -#define MBOX_GET_CLOCK_RATE 261,6685 -#define MBOX_GET_ACT_NEG_STATE 262,6721 -#define MBOX_GET_ASYNC_DATA_SETUP_TIME 263,6760 -#define MBOX_GET_SBUS_PARAMS 264,6806 -#define MBOX_GET_TARGET_PARAMS 265,6843 -#define MBOX_GET_DEV_QUEUE_PARAMS 266,6882 -#define MBOX_SET_INIT_SCSI_ID 267,6923 -#define MBOX_SET_SELECT_TIMEOUT 268,6961 -#define MBOX_SET_RETRY_COUNT 269,7001 -#define MBOX_SET_TAG_AGE_LIMIT 270,7038 -#define MBOX_SET_CLOCK_RATE 271,7077 -#define MBOX_SET_ACTIVE_NEG_STATE 272,7113 -#define MBOX_SET_ASYNC_DATA_SETUP_TIME 273,7154 -#define MBOX_SET_SBUS_CONTROL_PARAMS 274,7200 -#define MBOX_SET_TARGET_PARAMS 275,7244 -#define MBOX_SET_DEV_QUEUE_PARAMS 276,7283 -struct host_param host_param278,7325 -struct dev_param dev_param308,7994 -#define RES_QUEUE_LEN 321,8292 -#define QUEUE_ENTRY_LEN 322,8350 -#define NEXT_REQ_PTR(NEXT_REQ_PTR324,8379 -#define NEXT_RES_PTR(NEXT_RES_PTR325,8451 -#define PREV_REQ_PTR(PREV_REQ_PTR326,8513 -#define PREV_RES_PTR(PREV_RES_PTR327,8585 -struct pti_queue_entry pti_queue_entry329,8648 -struct qlogicpti qlogicpti336,8766 -#define SREG_TPOWER 374,10528 -#define SREG_FUSE 375,10602 -#define SREG_PDISAB 376,10676 -#define SREG_DSENSE 377,10750 -#define SREG_IMASK 378,10824 -#define SREG_SPMASK 379,10898 -#define SBUS_CFG1_EPAR 390,11232 -#define SBUS_CFG1_FMASK 391,11315 -#define SBUS_CFG1_BENAB 392,11398 -#define SBUS_CFG1_B64 393,11481 -#define SBUS_CFG1_B32 394,11564 -#define SBUS_CFG1_B16 395,11647 -#define SBUS_CFG1_B8 396,11730 -#define SBUS_CTRL_EDIRQ 399,11842 -#define SBUS_CTRL_ECIRQ 400,11925 -#define SBUS_CTRL_ESIRQ 401,12008 -#define SBUS_CTRL_ERIRQ 402,12091 -#define SBUS_CTRL_GENAB 403,12174 -#define SBUS_CTRL_RESET 404,12257 -#define SBUS_STAT_DINT 407,12368 -#define SBUS_STAT_CINT 408,12451 -#define SBUS_STAT_SINT 409,12534 -#define SBUS_STAT_RINT 410,12617 -#define SBUS_STAT_GINT 411,12700 -#define SBUS_SEMAPHORE_STAT 414,12814 -#define SBUS_SEMAPHORE_LCK 415,12897 -#define DMA_CTRL_CSUSPEND 418,13009 -#define DMA_CTRL_CCLEAR 419,13092 -#define DMA_CTRL_FCLEAR 420,13175 -#define DMA_CTRL_CIRQ 421,13258 -#define DMA_CTRL_DMASTART 422,13341 -#define CPU_ORIDE_ETRIG 425,13464 -#define CPU_ORIDE_STEP 426,13547 -#define CPU_ORIDE_BKPT 427,13630 -#define CPU_ORIDE_PWRITE 428,13713 -#define CPU_ORIDE_OFORCE 429,13796 -#define CPU_ORIDE_LBACK 430,13879 -#define CPU_ORIDE_PTEST 431,13962 -#define CPU_ORIDE_TENAB 432,14045 -#define CPU_ORIDE_TPINS 433,14128 -#define CPU_ORIDE_FRESET 434,14211 -#define CPU_ORIDE_CTERM 435,14294 -#define CPU_ORIDE_RREG 436,14377 -#define CPU_ORIDE_RMOD 437,14460 -#define CPU_CMD_BRESET 440,14574 -#define CPU_PCTRL_PVALID 443,14700 -#define CPU_PCTRL_PHI 444,14783 -#define CPU_PCTRL_PLO 445,14866 -#define CPU_PCTRL_REQ 446,14949 -#define CPU_PCTRL_ACK 447,15032 -#define CPU_PCTRL_RST 448,15115 -#define CPU_PCTRL_BSY 449,15198 -#define CPU_PCTRL_SEL 450,15281 -#define CPU_PCTRL_ATN 451,15364 -#define CPU_PCTRL_MSG 452,15447 -#define CPU_PCTRL_CD 453,15530 -#define CPU_PCTRL_IO 454,15613 -#define CPU_PDIFF_SENSE 457,15745 -#define CPU_PDIFF_MODE 458,15828 -#define CPU_PDIFF_OENAB 459,15911 -#define CPU_PDIFF_PMASK 460,15994 -#define CPU_PDIFF_TGT 461,16077 -#define CPU_PDIFF_INIT 462,16160 -#define RISC_PSR_FTRUE 465,16281 -#define RISC_PSR_LCD 466,16364 -#define RISC_PSR_RIRQ 467,16447 -#define RISC_PSR_TOFLOW 468,16530 -#define RISC_PSR_AOFLOW 469,16613 -#define RISC_PSR_AMSB 470,16696 -#define RISC_PSR_ACARRY 471,16779 -#define RISC_PSR_AZERO 472,16862 -#define RISC_PSR_ULTRA 473,16945 -#define RISC_PSR_DIRQ 474,17028 -#define RISC_PSR_SIRQ 475,17111 -#define RISC_PSR_HIRQ 476,17194 -#define RISC_PSR_IPEND 477,17277 -#define RISC_PSR_FFALSE 478,17360 -#define RISC_MTREG_P1DFLT 481,17488 -#define RISC_MTREG_P0DFLT 482,17571 -#define RISC_MTREG_P1ULTRA 483,17654 -#define RISC_MTREG_P0ULTRA 484,17737 -#define HCCTRL_NOP 487,17854 -#define HCCTRL_RESET 488,17937 -#define HCCTRL_PAUSE 489,18020 -#define HCCTRL_REL 490,18103 -#define HCCTRL_STEP 491,18186 -#define HCCTRL_SHIRQ 492,18269 -#define HCCTRL_CHIRQ 493,18352 -#define HCCTRL_CRIRQ 494,18435 -#define HCCTRL_BKPT 495,18518 -#define HCCTRL_TMODE 496,18601 -#define HCCTRL_HIRQ 497,18684 -#define HCCTRL_RRIP 498,18767 -#define HCCTRL_RPAUSED 499,18850 -#define HCCTRL_EBENAB 500,18933 -#define HCCTRL_B1ENAB 501,19016 -#define HCCTRL_B0ENAB 502,19099 -#define for_each_qlogicpti(for_each_qlogicpti505,19215 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTScontrol.c,759 -#define LinuxVersionCode(LinuxVersionCode31,1391 -cpqfc_free_dma_consistent(59,2225 -int CpqTsCreateTachLiteQues(79,2979 -int CpqTsResetTachLite(361,11537 -int CpqTsLaserControl(463,14828 -int CpqTsInitializeFrameManager(486,15474 -static int PeekIMQEntry(590,18741 -static void SetTachTOV(651,20301 -int CpqTsProcessIMQEntry(710,22525 -int CpqTsInitializeTachLite(1652,57178 -int CpqTsDestroyTachLiteQues(1786,61015 -static void CpqTsGetSFQEntry(1900,64400 -void CpqTsUnFreezeTachlite(1948,65986 -void CpqTsFreezeTachlite(1994,67707 -void fcParseLinkStatusCounters(2020,68632 -void cpqfcTSClearLinkStatusCounters(2082,70586 -int CpqTsReadWriteWWN(2114,71365 -#define NVRAM_SIZE 2117,71450 -int CpqTsReadWriteNVRAM(2196,73648 -#define NVRAM_SIZE 2199,73746 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/oktagon_io.S,900 -int int6,188 -int int14,362 -gcc2_compiled.:gcc2_compiled.32,724 -oktag_to_io:oktag_to_io39,824 -.L5:.L547,916 -exp1:exp152,971 -.L3:.L354,1000 -ret1:ret155,1005 -.Lfe1:.Lfe158,1040 -oktag_from_io:oktag_from_io63,1149 -.L11:.L1170,1235 -exp2:exp272,1254 -.L9:.L977,1321 -ret2:ret278,1326 -.Lfe2:.Lfe281,1361 -.section .section91,1618 -oktagon_except:oktagon_except93,1652 -The The100,1713 -instructions instructions102,1847 -exception exception103,1914 -gcc2_compiled.:gcc2_compiled.111,2062 -.globl .globl114,2095 -oktag_to_io:oktag_to_io116,2144 -.L5:.L5129,2352 -exp1:exp1130,2357 -.L3:.L3136,2434 -ret1:ret1137,2439 -.Lfe1:.Lfe1145,2526 -.globl .globl148,2582 -oktag_from_io:oktag_from_io150,2635 -.L11:.L11163,2845 -exp2:exp2164,2851 -.L9:.L9170,2930 -ret2:ret2171,2935 -.Lfe2:.Lfe2178,3021 -.section .section188,3245 -oktagon_except:oktagon_except190,3279 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_transport_spi.c,2072 -#define SPI_PRINTK(SPI_PRINTK37,1315 -#define SPI_NUM_ATTRS 42,1518 -#define SPI_OTHER_ATTRS 43,1585 -#define SPI_HOST_ATTRS 45,1672 -#define SPI_MAX_ECHO_BUFFER_SIZE 47,1698 -#define spi_dv_pending(spi_dv_pending50,1802 -#define spi_dv_sem(spi_dv_sem51,1893 -struct spi_internal spi_internal53,1977 -#define to_spi_internal(to_spi_internal65,2456 -static const char *const ppr_to_ns[67,2530 -#define SPI_STATIC_PPR 86,3015 -} signal_types[91,3104 -static inline const char *spi_signal_to_string(98,3247 -static inline enum spi_signal_type spi_signal_to_value(108,3490 -struct class spi_transport_class spi_transport_class122,3859 -struct class spi_host_class spi_host_class127,3963 -static __init int spi_transport_init(132,4052 -static void __exit spi_transport_exit(140,4220 -static int spi_setup_host_attrs(146,4346 -static int spi_configure_device(153,4465 -static int spi_setup_transport_attrs(170,5005 -static void transport_class_release(189,5499 -static void host_class_release(195,5670 -#define spi_transport_show_function(spi_transport_show_function201,5837 -#define spi_transport_store_function(spi_transport_store_function216,6433 -#define spi_transport_rd_attr(spi_transport_rd_attr231,6962 -store_spi_revalidate(250,7654 -static ssize_t show_spi_transport_period(266,8278 -store_spi_transport_period(299,9011 -static ssize_t show_spi_host_signalling(346,9963 -static ssize_t store_spi_host_signalling(356,10301 -#define DV_SET(DV_SET373,10807 -#define DV_LOOPS 377,10893 -#define DV_TIMEOUT 378,10912 -#define DV_RETRIES 379,10939 -spi_dv_device_echo_buffer(386,11149 -spi_dv_device_compare_inquiry(463,13391 -spi_dv_retrain(503,14251 -spi_dv_device_get_echo_buffer(541,15328 -spi_dv_device_internal(594,16611 -spi_dv_device(662,18685 -struct work_queue_wrapper work_queue_wrapper714,19798 -spi_dv_device_work_wrapper(720,19895 -spi_schedule_dv_device(742,20497 -#define SETUP_ATTRIBUTE(SETUP_ATTRIBUTE769,21116 -#define SETUP_HOST_ATTRIBUTE(SETUP_HOST_ATTRIBUTE779,21442 -spi_attach_transport(789,21793 -void spi_release_transport(841,23062 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ncr53c8xx.h,194 -#define NCR53C8XX_H43,1811 -typedef u_long vm_offset_t;vm_offset_t47,1861 -#define ncr_build_sge(ncr_build_sge57,2040 -struct ncr_slot ncr_slot70,2418 -struct ncr_device ncr_device89,2851 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTSioctl.h,495 -#define CCPQFCTS_IOC_MAGIC 5,67 -} cpqfc_pci_info_struct;cpqfc_pci_info_struct12,162 -typedef __u32 DriverVer_type;DriverVer_type14,188 -} VENDOR_IOCTL_REQ;VENDOR_IOCTL_REQ55,997 -} cpqfc_passthru_t;cpqfc_passthru_t67,1422 -#define VENDOR_READ_OPCODE 73,1477 -#define VENDOR_WRITE_OPCODE 74,1511 -#define CPQFCTS_GETPCIINFO 76,1547 -#define CPQFCTS_GETDRIVVER 77,1626 -#define CPQFCTS_SCSI_PASSTHRU 79,1699 -#define CPQFC_IOCTL_FC_TARGET_ADDRESS 88,2158 -#define CPQFC_IOCTL_FC_TDR 93,2346 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/nsp32_debug.c,619 -static const char unknown[12,250 -static const char * group_0_commands[14,292 -static const char *group_1_commands[26,895 -static const char *group_2_commands[38,1476 -#define group(group47,2021 -#define RESERVED_GROUP 49,2066 -#define VENDOR_GROUP 50,2092 -#define NOTEXT_GROUP 51,2118 -static const char **commands[53,2145 -static const char reserved[60,2410 -static const char vendor[61,2453 -static void print_opcodek(63,2502 -static void print_commandk 86,3022 -static void show_command(140,4406 -static void show_busphase(145,4484 -static void show_autophase(175,5090 -static void nsp32_print_register(228,5893 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/in2000.c,1859 -#define IN2000_VERSION 131,5945 -#define IN2000_DATE 132,5982 -static char *setup_args[184,8658 -static char *setup_strings;187,8755 -static inline uchar read_3393(191,8818 -#define READ_AUX_STAT(READ_AUX_STAT198,8966 -static inline void write_3393(201,9012 -static inline void write_3393_cmd(208,9174 -static uchar read_1_byte(217,9384 -static void write_3393_count(232,9721 -static unsigned long read_3393_count(241,9966 -static int is_dir_out(258,10505 -static struct sx_period sx_table[299,11184 -static int round_period(311,11346 -static uchar calc_sync_xfer(323,11566 -static int in2000_queuecommand(337,11893 -static void in2000_execute(444,16108 -static void transfer_pio(712,24450 -static void transfer_bytes(746,25349 -static irqreturn_t in2000_intr(832,28231 -#define RESET_CARD 1594,52923 -#define RESET_CARD_AND_BUS 1595,52952 -#define B_FLAG 1596,52981 -static int reset_hardware(1602,53045 -static int in2000_bus_reset(1642,54389 -static int in2000_host_reset(1674,55236 -static int in2000_device_reset(1679,55303 -static int in2000_abort(1685,55373 -#define MAX_IN2000_HOSTS 1808,59096 -#define MAX_SETUP_ARGS 1809,59123 -#define SETUP_BUFFER_SIZE 1810,59184 -static char setup_buffer[1811,59214 -static char setup_used[1812,59259 -static int done_setup 1813,59299 -static void __init in2000_setup(1815,59327 -static int __init check_setup_args(1845,59834 -static u32 bios_tab[1877,60566 -static u32 bios_tab[] in2000__INITDATA 1877,60566 -static unsigned short base_tab[1884,60646 -static unsigned short base_tab[] in2000__INITDATA 1884,60646 -static int int_tab[1891,60736 -static int int_tab[] in2000__INITDATA 1891,60736 -static int __init in2000_detect(1899,60802 -static int in2000_release(2108,67748 -static int in2000_biosparam(2122,68114 -static int in2000_proc_info(2154,68890 -static Scsi_Host_Template driver_template 2305,72976 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/atari_dma_emul.c,258 -#define hades_dma_ctrl 24,722 -#define hades_psdm_reg 25,778 -#define TRANSFER_SIZE 27,835 -struct m68040_frame m68040_frame29,862 -static void writeback 47,1641 -static inline void set_restdata_reg(103,2894 -static irqreturn_t hades_dma_emulator(141,4426 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_module.c,98 -static int __init init_this_scsi_driver(18,295 -static void __exit exit_this_scsi_driver(53,1077 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dc395x.c,7393 -#define DC395X_NAME 69,2553 -#define DC395X_BANNER 70,2582 -#define DC395X_VERSION 71,2654 -#define DBG_KG 90,3321 -#define DBG_0 91,3344 -#define DBG_1 92,3366 -#define DBG_SG 93,3388 -#define DBG_FIFO 94,3411 -#define DBG_PIO 95,3435 -#define dprintkl(dprintkl110,3768 -#define dprintkdbg(dprintkdbg121,4120 -#define debug_enabled(debug_enabled130,4323 -#define dprintkdbg(dprintkdbg136,4417 -#define debug_enabled(debug_enabled138,4477 -#define PCI_VENDOR_ID_TEKRAM 144,4548 -#define PCI_DEVICE_ID_TEKRAM_TRMS1040 147,4667 -#define DC395x_LOCK_IO(DC395x_LOCK_IO151,4750 -#define DC395x_UNLOCK_IO(DC395x_UNLOCK_IO152,4848 -#define DC395x_read8(DC395x_read8154,4954 -#define DC395x_read16(DC395x_read16155,5030 -#define DC395x_read32(DC395x_read32156,5108 -#define DC395x_write8(DC395x_write8157,5186 -#define DC395x_write16(DC395x_write16158,5272 -#define DC395x_write32(DC395x_write32159,5359 -#define RES_TARGET 162,5465 -#define RES_TARGET_LNX 163,5515 -#define RES_ENDMSG 164,5575 -#define RES_DID 165,5624 -#define RES_DRV 166,5670 -#define MK_RES(MK_RES168,5720 -#define MK_RES_LNX(MK_RES_LNX169,5815 -#define SET_RES_TARGET(SET_RES_TARGET171,5918 -#define SET_RES_TARGET_LNX(SET_RES_TARGET_LNX172,5993 -#define SET_RES_MSG(SET_RES_MSG173,6081 -#define SET_RES_DID(SET_RES_DID174,6158 -#define SET_RES_DRV(SET_RES_DRV175,6233 -#define TAG_NONE 177,6309 -#define SEGMENTX_LEN 184,6496 -struct SGentry SGentry187,6568 -struct NVRamTarget NVRamTarget193,6678 -struct NvRamType NvRamType200,6889 -struct ScsiReqBlk ScsiReqBlk226,7706 -struct DeviceCtlBlk DeviceCtlBlk268,8955 -struct AdapterCtlBlk AdapterCtlBlk295,9653 -static u16 current_sync_offset 401,13594 -static void *dc395x_scsi_phase0[403,13631 -static void *dc395x_scsi_phase1[414,13957 -static u8 clock_period[447,14818 -static u16 clock_speed[448,14881 -#define CFG_ADAPTER_ID 464,15402 -#define CFG_MAX_SPEED 465,15428 -#define CFG_DEV_MODE 466,15453 -#define CFG_ADAPTER_MODE 467,15477 -#define CFG_TAGS 468,15504 -#define CFG_RESET_DELAY 469,15524 -#define CFG_NUM 471,15552 -#define CFG_PARAM_UNSET 478,15713 -struct ParameterData ParameterData484,15782 -static struct ParameterData __initdata cfg_data[491,15971 -static int use_safe_settings 548,17015 -static void __init set_safe_settings(576,18159 -static void __init fix_settings(595,18485 -static char __initdata eeprom_index_to_delay_map[622,19171 -static void __init eeprom_index_to_delay(632,19449 -static int __init delay_to_eeprom_index(645,19814 -static void __init eeprom_override(661,20187 -static unsigned int list_size(696,21246 -static struct DeviceCtlBlk *dcb_get_next(706,21407 -static void free_tag(735,21980 -inline static struct ScsiReqBlk *find_cmd(745,22206 -static struct ScsiReqBlk *srb_get_free(756,22411 -static void srb_free_insert(770,22738 -static void srb_waiting_insert(777,22926 -static void srb_waiting_append(786,23189 -static void srb_going_append(795,23458 -static void srb_going_remove(803,23718 -static void srb_waiting_remove(818,24096 -static void srb_going_to_waiting_move(834,24482 -static void srb_waiting_to_going_move(844,24762 -static void waiting_set_timer(855,25075 -static void waiting_process_next(872,25633 -static void waiting_timeout(938,27303 -static struct DeviceCtlBlk *find_dcb(951,27676 -static void send_srb(958,27846 -static void build_srb(980,28392 -static int dc395x_queue_command(1096,31901 -static int dc395x_bios_param(1174,33952 -static void dump_register_info(1203,34645 -static inline void clear_fifo(1269,37209 -static void reset_dev_param(1283,37617 -static int dc395x_eh_bus_reset(1311,38442 -static int dc395x_eh_abort(1363,39816 -static void build_sdtr(1405,40974 -static void build_wdtr(1433,41781 -static void selto_timer(1460,42587 -void selection_timeout_missed(1476,43029 -static u8 start_scsi(1494,43523 -#define DC395x_ENABLE_MSGOUT 1679,49622 -static inline void enable_msgout_abort(1685,49761 -static void dc395x_handle_interrupt(1703,50246 -static irqreturn_t dc395x_interrupt(1807,53236 -static void msgout_phase0(1847,54354 -static void msgout_phase1(1859,54756 -static void command_phase0(1892,55745 -static void command_phase1(1900,55976 -static void sg_verify_length(1939,57201 -static void sg_update_list(1959,57763 -static void sg_subtract_one(2029,59688 -static void cleanup_after_transfer(2051,60305 -#define DC395x_LASTPIO 2074,61177 -static void data_out_phase0(2077,61204 -static void data_out_phase1(2210,65892 -static void data_in_phase0(2221,66255 -static void data_in_phase1(2395,72391 -static void data_io_transfer(2404,72660 -static void status_phase0(2564,78037 -static void status_phase1(2578,78639 -static inline u8 msgin_completed(2590,79080 -static inline void msgin_reject(2604,79372 -static struct ScsiReqBlk *msgin_qtag(2618,79723 -static inline void reprogram_regs(2671,81057 -static void msgin_set_async(2682,81392 -static void msgin_set_sync(2705,82104 -static inline void msgin_set_nowide(2778,84284 -static void msgin_set_wide(2797,84865 -static void msgin_phase0(2849,86315 -static void msgin_phase1(2960,89174 -static void nop0(2976,89694 -static void nop1(2982,89789 -static void set_xfer_rate(2988,89884 -static void disconnect(3011,90409 -static void reselect(3107,93214 -static inline u8 tagq_blacklist(3206,96456 -static void disc_tagq_set(3222,96682 -static void add_dev(3243,97337 -static void pci_unmap_srb(3254,97626 -static void pci_unmap_srb_sense(3281,98591 -static void srb_done(3304,99286 -static void doing_srb_done(3515,105771 -static void reset_scsi_bus(3586,107842 -static void set_basic_config(3597,108174 -static void scsi_reset_detect(3633,109538 -static void request_sense(3668,110585 -static struct DeviceCtlBlk *device_alloc(3724,112553 -static void adapter_add_device(3793,114512 -static void adapter_remove_device(3821,115373 -static void adapter_remove_and_free_device(3856,116366 -static void adapter_remove_and_free_all_devices(3877,116975 -static int dc395x_slave_alloc(3896,117592 -static void dc395x_slave_destroy(3916,118081 -static void __init trms1040_wait_30us(3934,118508 -static void __init trms1040_write_cmd(3951,118911 -static void __init trms1040_set_data(3996,120038 -static void __init trms1040_write_all(4050,121349 -static u8 __init trms1040_get_data(4090,122359 -static void __init trms1040_read_all(4128,123178 -static void __init check_eeprom(4158,123979 -static void __init print_eeprom_settings(4228,126120 -static void adapter_sg_tables_free(4243,126651 -static int __init adapter_sg_tables_alloc(4257,127039 -static void __init adapter_print_config(4303,128322 -static void __init adapter_init_params(4347,129587 -static void __init adapter_init_scsi_host(4409,131513 -void __init adapter_init_chip(4450,132605 -static int __init adapter_init(4503,134169 -static void adapter_uninit_chip(4565,135966 -static void adapter_uninit(4588,136537 -#define SPRINTF(SPRINTF4613,137120 -#define YESNO(YESNO4616,137185 -static int dc395x_proc_info(4620,137257 -static struct scsi_host_template dc395x_driver_template 4744,141214 -static void banner_display(4768,142095 -static int __devinit dc395x_init_one(4792,142750 -static void __devexit dc395x_remove_one(4853,144362 -static struct pci_device_id dc395x_pci_table[4867,144724 -static struct pci_driver dc395x_driver 4879,144995 -static int __init dc395x_module_init(4892,145336 -static void __exit dc395x_module_exit(4901,145484 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTSinit.c,2141 -#define LinuxVersionCode(LinuxVersionCode32,1199 -static struct proc_dir_entry proc_scsi_cpqfcTS 76,2499 -# define CPQFC_DECLARE_COMPLETION(CPQFC_DECLARE_COMPLETION90,2910 -# define CPQFC_WAITING 91,2970 -# define CPQFC_COMPLETE(CPQFC_COMPLETE92,3002 -# define CPQFC_WAIT_FOR_COMPLETION(CPQFC_WAIT_FOR_COMPLETION93,3042 -# define CPQFC_DECLARE_COMPLETION(CPQFC_DECLARE_COMPLETION95,3111 -# define CPQFC_WAITING 96,3173 -# define CPQFC_COMPLETE(CPQFC_COMPLETE97,3201 -# define CPQFC_WAIT_FOR_COMPLETION(CPQFC_WAIT_FOR_COMPLETION98,3235 -static void Cpqfc_initHBAdata(110,3612 -static void launch_FCworker_thread(232,9218 -#define HBA_TYPES 267,10078 -#define PCI_DEVICE_ID_COMPAQ_TACHYON 270,10129 -static struct SupportedPCIcards cpqfc_boards[273,10181 -static struct SupportedPCIcards cpqfc_boards[] __initdata 273,10181 -int cpqfcTS_detect(280,10398 -static void my_ioctl_done 485,17212 -static int cpqfc_alloc_private_data_pool(497,17479 -static void cpqfc_free_private_data_pool(520,18163 -int is_private_data_of_cpqfc(526,18288 -cpqfc_passthru_private_t *cpqfc_alloc_private_data(545,19040 -void cpqfc_free_private_data(559,19400 -int cpqfcTS_ioctl(567,19604 -int cpqfcTS_release(793,26167 -const char * cpqfcTS_info(839,27620 -struct info_strinfo_str885,29161 -static void copy_mem_info(894,29430 -static int copy_info(920,30267 -int cpqfcTS_proc_info 937,30598 -#define DISPLAY_WWN_INFO967,31462 -UCHAR *ScsiToAscii(1060,34634 -void cpqfcTS_print_scsi_cmd(1211,37248 -static void QueCmndOnBoardLock(1237,37909 -static void QueLinkDownCmnd(1259,38440 -static void QueBadTargetCmnd(1294,39482 -int cpqfcTS_queuecommand(1315,40041 -int cpqfcTS_abort(1486,45838 -int cpqfcTS_eh_abort(1492,45932 -int cpqfcTS_TargetDeviceReset(1598,48891 -int cpqfcTS_TargetDeviceReset(1678,51275 -int cpqfcTS_eh_device_reset(1686,51438 -int cpqfcTS_reset(1698,51762 -int cpqfcTS_biosparam(1714,52175 -irqreturn_t cpqfcTS_intr_handler(1737,52539 -#define INFINITE_IMQ_BREAK 1756,53114 -int cpqfcTSDecodeGBICtype(1819,55397 -int cpqfcTSGetLPSM(1870,56888 -void* fcMemManager(1992,61145 -static Scsi_Host_Template driver_template 2081,64528 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_sysctl.c,241 -static ctl_table scsi_table[14,205 -static ctl_table scsi_dir_table[24,448 -static ctl_table scsi_root_table[32,587 -static struct ctl_table_header *scsi_table_header;40,729 -int __init scsi_init_sysctl(42,781 -void scsi_exit_sysctl(50,938 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sg.c,4328 -static int sg_version_num 21,682 -#define SG_VERSION_STR 22,751 -static char *sg_version_date 63,1796 -#define SG_ALLOW_DIO_DEF 73,2004 -#define SG_ALLOW_DIO_CODE 74,2031 -#define SG_MAX_DEVS 76,2102 -#define MULDIV(MULDIV87,2564 -#define SG_DEFAULT_TIMEOUT 89,2639 -int sg_big_buff 91,2712 -static int def_reserved_size 98,3151 -static int sg_allow_dio 99,3216 -#define SG_SECTOR_SZ 101,3261 -#define SG_SECTOR_MSK 102,3286 -#define SG_DEV_ARR_LUMP 104,3328 -static Scsi_Request *dummy_cmdp;109,3489 -static rwlock_t sg_dev_arr_lock 111,3550 -static struct class_interface sg_interface 114,3669 -typedef struct sg_scatter_hold sg_scatter_hold119,3760 -} Sg_scatter_hold;Sg_scatter_hold127,4278 -typedef struct sg_request sg_request132,4359 -} Sg_request;Sg_request143,5038 -typedef struct sg_fd sg_fd145,5053 -} Sg_fd;Sg_fd164,6297 -typedef struct sg_device sg_device166,6307 -} Sg_device;Sg_device176,6897 -static Sg_device **sg_dev_arr 217,8996 -static int sg_dev_max;218,9034 -static int sg_nr_dev;219,9057 -#define SZ_SG_HEADER 221,9080 -#define SZ_SG_IO_HDR 222,9126 -#define SZ_SG_IOVEC 223,9167 -#define SZ_SG_REQ_INFO 224,9206 -sg_open(227,9263 -sg_release(311,11343 -sg_read(331,11886 -sg_new_read(444,15048 -sg_write(482,16042 -sg_new_write(571,19007 -sg_common_write(640,20959 -sg_srp_done(722,23371 -sg_ioctl(734,23597 -sg_poll(1025,31877 -sg_fasync(1060,32786 -sg_scatg2virt(1076,33189 -sg_rb_correct4mmap(1086,33537 -sg_vma_nopage(1125,34623 -static struct vm_operations_struct sg_mmap_vm_ops 1170,35922 -sg_mmap(1175,36017 -sg_cmd_done(1222,37553 -static struct file_operations sg_fops 1324,40895 -static struct class_simple * sg_sysfs_class;1336,41122 -static int sg_sysfs_valid 1338,41168 -static int sg_alloc(1340,41200 -sg_add(1413,43140 -sg_remove(1489,44990 -init_sg(1572,47323 -exit_sg(1603,48028 -sg_start_req(1621,48417 -sg_finish_rem_req(1654,49388 -sg_build_sgat(1668,49713 -st_map_user_pages(1697,50634 -st_unmap_user_pages(1787,52683 -sg_build_direct(1811,53240 -sg_build_indirect(1843,54114 -sg_write_xfer(1916,56219 -sg_u_iovec(2010,58668 -sg_remove_scat(2039,59346 -sg_read_xfer(2070,60226 -sg_read_oxfer(2164,62629 -sg_build_reserve(2202,63538 -sg_link_reserve(2219,63943 -sg_unlink_reserve(2264,65178 -sg_get_rq_mark(2290,65927 -sg_get_nth_request(2310,66479 -sg_add_request(2326,66837 -sg_remove_request(2370,67745 -sg_get_nth_sfp(2402,68385 -sg_add_sfp(2417,68696 -__sg_remove_sfp(2455,69810 -sg_remove_sfp(2487,70625 -sg_res_in_use(2533,71736 -sg_page_malloc(2548,72078 -sg_page_free(2582,72840 -static unsigned char allow_ops[2593,73048 -sg_allow_access(2599,73234 -sg_last_dev(2614,73511 -sg_get_dev(2629,73815 -static struct proc_dir_entry *sg_proc_sgp 2645,74114 -static char sg_proc_sg_dirname[2647,74165 -static struct file_operations adio_fops 2654,74473 -static struct file_operations dressz_fops 2664,74863 -static struct file_operations version_fops 2672,75156 -static struct file_operations devhdr_fops 2679,75417 -static struct file_operations dev_fops 2689,75850 -static struct seq_operations dev_seq_ops 2693,75948 -static struct file_operations devstrs_fops 2702,76241 -static struct seq_operations devstrs_seq_ops 2706,76347 -static struct file_operations debug_fops 2715,76644 -static struct seq_operations debug_seq_ops 2719,76746 -struct sg_proc_leaf sg_proc_leaf2727,76905 -static struct sg_proc_leaf sg_proc_leaf_arr[2732,76983 -sg_proc_init(2743,77256 -sg_proc_cleanup(2770,77924 -static int sg_proc_seq_show_int(2784,78211 -static int sg_proc_single_open_adio(2790,78334 -sg_proc_write_adio(2796,78495 -static int sg_proc_single_open_dressz(2812,78881 -sg_proc_write_dressz(2818,79043 -static int sg_proc_seq_show_version(2839,79536 -static int sg_proc_single_open_version(2846,79704 -static int sg_proc_seq_show_devhdr(2851,79847 -static int sg_proc_single_open_devhdr(2858,80011 -struct sg_proc_deviter sg_proc_deviter2863,80152 -static void * dev_seq_start(2868,80209 -static void * dev_seq_next(2886,80534 -static void dev_seq_stop(2894,80734 -static int sg_proc_open_dev(2899,80805 -static int sg_proc_seq_show_dev(2904,80923 -static int sg_proc_open_devstrs(2924,81556 -static int sg_proc_seq_show_devstrs(2929,81682 -static void sg_proc_debug_helper(2944,82110 -static int sg_proc_open_debug(3001,83882 -static int sg_proc_seq_show_debug(3006,84004 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/wd33c93.c,1217 -#define WD33C93_VERSION 93,3584 -#define WD33C93_DATE 94,3618 -static char *setup_args[154,6783 -static char *setup_strings;156,6852 -read_wd33c93(163,7018 -read_wd33c93_count(173,7183 -read_aux_stat(185,7419 -write_wd33c93(191,7506 -write_wd33c93_count(198,7659 -#define write_wd33c93_cmd(write_wd33c93_cmd206,7883 -write_wd33c93_cdb(210,7984 -read_wd33c93(221,8195 -read_wd33c93_count(229,8326 -read_aux_stat(243,8560 -write_wd33c93(249,8643 -write_wd33c93_count(258,8785 -write_wd33c93_cmd(269,9000 -write_wd33c93_cdb(278,9137 -read_1_byte(289,9345 -static struct sx_period sx_table[304,9667 -round_period(317,9840 -calc_sync_xfer(331,10068 -wd33c93_queuecommand(342,10327 -wd33c93_execute(450,14418 -transfer_pio(660,21165 -transfer_bytes(695,22097 -wd33c93_intr(766,24454 -reset_wd33c93(1456,45613 -wd33c93_host_reset(1519,47563 -wd33c93_abort(1554,48456 -#define MAX_WD33C93_HOSTS 1704,52521 -#define MAX_SETUP_ARGS 1705,52549 -#define SETUP_BUFFER_SIZE 1706,52617 -static char setup_buffer[1707,52647 -static char setup_used[1708,52692 -static int done_setup 1709,52732 -wd33c93_setup(1712,52764 -check_setup_args(1757,53899 -wd33c93_init(1785,54428 -wd33c93_proc_info(1910,57974 -wd33c93_release(2067,61982 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mac53c94.h,3123 -#define _MAC53C94_H8,217 -struct mac53c94_regs mac53c94_regs14,284 -#define dest_id 52,1008 -#define sel_timeout 53,1032 -#define sync_period 54,1062 -#define sync_offset 55,1090 -#define CMD_DMA_MODE 60,1153 -#define CMD_MODE_MASK 61,1179 -#define CMD_MODE_INIT 62,1206 -#define CMD_MODE_TARG 63,1233 -#define CMD_MODE_DISC 64,1260 -#define CMD_NOP 66,1288 -#define CMD_FLUSH 67,1307 -#define CMD_RESET 68,1327 -#define CMD_SCSI_RESET 69,1347 -#define CMD_XFER_DATA 71,1373 -#define CMD_I_COMPLETE 72,1400 -#define CMD_ACCEPT_MSG 73,1428 -#define CMD_XFER_PAD 74,1456 -#define CMD_SET_ATN 75,1482 -#define CMD_CLR_ATN 76,1507 -#define CMD_SEND_MSG 78,1533 -#define CMD_SEND_STATUS 79,1559 -#define CMD_SEND_DATA 80,1588 -#define CMD_DISC_SEQ 81,1615 -#define CMD_TERMINATE 82,1641 -#define CMD_T_COMPLETE 83,1668 -#define CMD_DISCONNECT 84,1696 -#define CMD_RECV_MSG 85,1724 -#define CMD_RECV_CDB 86,1750 -#define CMD_RECV_DATA 87,1776 -#define CMD_RECV_CMD 88,1803 -#define CMD_ABORT_DMA 89,1829 -#define CMD_RESELECT 91,1857 -#define CMD_SELECT 92,1883 -#define CMD_SELECT_ATN 93,1907 -#define CMD_SELATN_STOP 94,1935 -#define CMD_ENABLE_SEL 95,1964 -#define CMD_DISABLE_SEL 96,1992 -#define CMD_SEL_ATN3 97,2021 -#define CMD_RESEL_ATN3 98,2047 -#define STAT_IRQ 103,2111 -#define STAT_ERROR 104,2133 -#define STAT_PARITY 105,2157 -#define STAT_TC_ZERO 106,2182 -#define STAT_DONE 107,2208 -#define STAT_PHASE 108,2231 -#define STAT_MSG 109,2255 -#define STAT_CD 110,2277 -#define STAT_IO 111,2299 -#define INTR_RESET 116,2360 -#define INTR_ILL_CMD 117,2409 -#define INTR_DISCONNECT 118,2457 -#define INTR_BUS_SERV 119,2512 -#define INTR_DONE 120,2567 -#define INTR_RESELECTED 121,2615 -#define INTR_SEL_ATN 122,2669 -#define INTR_SELECT 123,2732 -#define TIMO_VAL(TIMO_VAL128,2837 -#define SS_MASK 133,2920 -#define SS_ARB_SEL 134,2939 -#define SS_MSG_SENT 135,2999 -#define SS_NOT_CMD 136,3049 -#define SS_PHASE_CHG 137,3097 -#define SS_DONE 138,3161 -#define SYNCP_MASK 143,3252 -#define SYNCP_MIN 144,3276 -#define SYNCP_MAX 145,3296 -#define FLAGS_FIFO_LEV 150,3352 -#define FLAGS_SEQ_STEP 151,3380 -#define SYNCO_MASK 156,3445 -#define SYNCO_ASS_CTRL 157,3469 -#define SYNCO_NEG_CTRL 158,3529 -#define CF1_SLOW_CABLE 163,3625 -#define CF1_NO_RES_REP 164,3675 -#define CF1_PAR_TEST 165,3736 -#define CF1_PAR_ENABLE 166,3792 -#define CF1_TEST 167,3847 -#define CF1_MY_ID 168,3886 -#define CLKF_MASK 173,3988 -#define CLKF_VAL(CLKF_VAL174,4008 -#define TEST_TARGET 179,4115 -#define TEST_INITIATOR 180,4160 -#define TEST_TRISTATE 181,4211 -#define CF2_RFB 186,4304 -#define CF2_FEATURE_EN 187,4326 -#define CF2_BYTECTRL 188,4390 -#define CF2_DREQ_HIZ 189,4416 -#define CF2_SCSI2 190,4442 -#define CF2_PAR_ABORT 191,4465 -#define CF2_REG_PARERR 192,4522 -#define CF2_DMA_PARERR 193,4578 -#define CF3_ID_MSG_CHK 198,4670 -#define CF3_3B_MSGS 199,4698 -#define CF3_CDB10 200,4723 -#define CF3_FASTSCSI 201,4746 -#define CF3_FASTCLOCK 202,4803 -#define CF3_SAVERESID 203,4830 -#define CF3_ALT_DMA 204,4857 -#define CF3_THRESH_8 205,4882 -#define CF4_EAN 210,4949 -#define CF4_TEST 211,4971 -#define CF4_BBTE 212,4993 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sun3_NCR5380.c,1995 -#define LIST(LIST80,2802 -#define REMOVE(REMOVE83,2932 -#define LIST(LIST88,3114 -#define REMOVE(REMOVE89,3132 -static struct Scsi_Host *first_instance 258,10256 -static Scsi_Host_Template *the_template 259,10304 -#define SETUP_HOSTDATA(SETUP_HOSTDATA262,10383 -#define HOSTDATA(HOSTDATA265,10502 -#define NEXT(NEXT267,10568 -#define NEXTADDR(NEXTADDR268,10624 -#define HOSTNO 270,10687 -#define H_NO(H_NO271,10721 -#define SGADDR(SGADDR273,10769 -#define TAG_NONE 315,12809 -} TAG_ALLOC;TAG_ALLOC326,13082 -static TAG_ALLOC TagAlloc[328,13096 -static void __init init_tags(331,13158 -static int is_lun_busy(361,14028 -static void cmd_get_tag(385,14771 -static void cmd_free_tag(417,15791 -static void free_all_tags(440,16492 -static void merge_contiguous_buffers(472,17249 -static __inline__ void initialize_SCp(510,18313 -signals[543,19161 -static void NCR5380_print(566,20149 -} phases[599,21170 -static void NCR5380_print_phase(612,21566 -__inline__ void NCR5380_print(630,22040 -__inline__ void NCR5380_print_phase(631,22103 -static volatile int main_running 651,22753 -static __inline__ void queue_main(654,22866 -static inline void NCR5380_all_init 668,23276 -static void __init NCR5380_print_options 687,23671 -static void NCR5380_print_status 715,24263 -#define SPRINTF(SPRINTF751,25185 -static int NCR5380_proc_info 757,25417 -#define check_offset(check_offset765,25680 -lprint_Scsi_Cmnd 813,27125 -static int NCR5380_init 841,27925 -static int NCR5380_queue_command 908,29780 -static void NCR5380_main 1030,33603 -static void NCR5380_dma_complete(1188,38621 -static irqreturn_t NCR5380_intr 1254,40660 -static void collect_stats(1341,43335 -static int NCR5380_select 1397,45224 -static int NCR5380_transfer_pio(1726,55419 -static int do_abort 1843,58843 -static int NCR5380_transfer_dma(1907,60761 -static void NCR5380_information_transfer 1975,62869 -static void NCR5380_reselect 2514,79595 -static int NCR5380_abort 2686,84344 -static int NCR5380_bus_reset(2878,90202 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/amiga7xx.c,242 -static int amiga7xx_register_one(33,824 -} amiga7xx_table[59,1525 -static int __init amiga7xx_zorro_detect(69,1910 -int __init amiga7xx_detect(93,2487 -static int amiga7xx_release(114,2866 -static Scsi_Host_Template driver_template 126,3165 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/seagate.h,25 -#define SEAGATE_H10,168 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR_Q720.c,448 -static struct ncr_chip q720_chip __initdata 25,464 -#define NCR_Q720_VERSION 37,741 -struct NCR_Q720_private NCR_Q720_private40,852 -struct scsi_host_template NCR_Q720_tpnt 51,1043 -NCR_Q720_intr(57,1163 -NCR_Q720_probe_one(77,1562 -NCR_Q720_probe(138,3371 -NCR_Q720_remove_one(323,8331 -NCR_Q720_remove(330,8449 -static short NCR_Q720_id_table[346,8770 -struct mca_driver NCR_Q720_driver 348,8830 -NCR_Q720_init(359,9058 -NCR_Q720_exit(365,9149 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicfc.c,8369 -#define pci64_dma_hi32(pci64_dma_hi3269,1884 -#define pci64_dma_lo32(pci64_dma_lo3270,1950 -#define pci64_dma_build(pci64_dma_build71,2012 -#define USE_NVRAM_DEFAULTS 83,2374 -#define ISP2x00_PORTDB 85,2409 -#define ISP2x00_FABRIC 90,2587 -#define DEBUG_ISP2x00 93,2655 -#define DEBUG_ISP2x00_INT 94,2680 -#define DEBUG_ISP2x00_INTR 95,2708 -#define DEBUG_ISP2x00_SETUP 96,2737 -#define DEBUG_ISP2x00_FABRIC 97,2767 -#define TRACE_ISP 98,2801 -#define DEFAULT_LOOP_COUNT 101,2826 -#define ISP_TIMEOUT 103,2865 -#define TRACE_BUF_LEN 110,3016 -} trace;120,3165 -#define TRACE(TRACE122,3175 -#define TRACE(TRACE137,3560 -#define DEBUG_FABRIC(DEBUG_FABRIC141,3616 -#define DEBUG_FABRIC(DEBUG_FABRIC143,3648 -#define ENTER(ENTER148,3729 -#define LEAVE(LEAVE149,3786 -#define DEBUG(DEBUG150,3842 -#define ENTER(ENTER152,3867 -#define LEAVE(LEAVE153,3884 -#define DEBUG(DEBUG154,3901 -#define ENTER_INTR(ENTER_INTR158,3972 -#define LEAVE_INTR(LEAVE_INTR159,4034 -#define DEBUG_INTR(DEBUG_INTR160,4095 -#define ENTER_INTR(ENTER_INTR162,4125 -#define LEAVE_INTR(LEAVE_INTR163,4147 -#define DEBUG_INTR(DEBUG_INTR164,4169 -#define ISP2100_REV_ID1 168,4228 -#define ISP2100_REV_ID3 169,4261 -#define ISP2200_REV_ID5 170,4294 -#define HOST_HCCR 173,4375 -#define FLASH_BIOS_ADDR 176,4464 -#define FLASH_BIOS_DATA 177,4493 -#define ISP_CTRL_STATUS 178,4522 -#define PCI_INTER_CTL 179,4583 -#define PCI_INTER_STS 180,4638 -#define PCI_SEMAPHORE 181,4692 -#define PCI_NVRAM 182,4739 -#define MBOX0 185,4813 -#define MBOX1 186,4849 -#define MBOX2 187,4885 -#define MBOX3 188,4921 -#define MBOX4 189,4957 -#define MBOX5 190,4993 -#define MBOX6 191,5029 -#define MBOX7 192,5065 -#define MBOX_COMMAND_COMPLETE 195,5146 -#define INVALID_COMMAND 196,5184 -#define HOST_INTERFACE_ERROR 197,5217 -#define TEST_FAILED 198,5254 -#define COMMAND_ERROR 199,5283 -#define COMMAND_PARAM_ERROR 200,5314 -#define PORT_ID_USED 201,5350 -#define LOOP_ID_USED 202,5397 -#define ALL_IDS_USED 203,5444 -#define RESET_DETECTED 206,5523 -#define SYSTEM_ERROR 207,5556 -#define REQUEST_TRANSFER_ERROR 208,5586 -#define RESPONSE_TRANSFER_ERROR 209,5625 -#define REQUEST_QUEUE_WAKEUP 210,5665 -#define LIP_OCCURRED 211,5702 -#define LOOP_UP 212,5750 -#define LOOP_DOWN 213,5797 -#define LIP_RECEIVED 214,5844 -#define PORT_DB_CHANGED 215,5891 -#define CHANGE_NOTIFICATION 216,5938 -#define SCSI_COMMAND_COMPLETE 217,5985 -#define POINT_TO_POINT_UP 218,6032 -#define CONNECTION_MODE 219,6079 -struct Entry_header Entry_header221,6127 -#define ENTRY_COMMAND 229,6259 -#define ENTRY_CONTINUATION 230,6287 -#define ENTRY_STATUS 232,6320 -#define ENTRY_MARKER 233,6347 -#define EFLAG_BUSY 237,6412 -#define EFLAG_BAD_HEADER 238,6434 -#define EFLAG_BAD_PAYLOAD 239,6461 -struct dataseg dataseg241,6490 -struct Command_Entry Command_Entry247,6560 -#define CFLAG_NODISC 263,6903 -#define CFLAG_HEAD_TAG 264,6930 -#define CFLAG_ORDERED_TAG 265,6959 -#define CFLAG_SIMPLE_TAG 266,6990 -#define CFLAG_TAR_RTN 267,7020 -#define CFLAG_READ 268,7048 -#define CFLAG_WRITE 269,7073 -struct Continuation_Entry Continuation_Entry271,7100 -struct Marker_Entry Marker_Entry276,7202 -#define SYNC_DEVICE 287,7409 -#define SYNC_TARGET 288,7431 -#define SYNC_ALL 289,7453 -struct Status_Entry Status_Entry291,7473 -#define CS_COMPLETE 306,7797 -#define CS_DMA_ERROR 307,7826 -#define CS_RESET_OCCURRED 308,7856 -#define CS_ABORTED 309,7890 -#define CS_TIMEOUT 310,7918 -#define CS_DATA_OVERRUN 311,7946 -#define CS_DATA_UNDERRUN 312,7979 -#define CS_QUEUE_FULL 313,8012 -#define CS_PORT_UNAVAILABLE 314,8043 -#define CS_PORT_LOGGED_OUT 315,8090 -#define CS_PORT_CONFIG_CHANGED 316,8137 -#define SF_SENT_CDB 319,8219 -#define SF_TRANSFERRED_DATA 320,8248 -#define SF_GOT_STATUS 321,8284 -#define STF_BUS_RESET 324,8359 -#define STF_DEVICE_RESET 325,8390 -#define STF_ABORTED 326,8423 -#define STF_TIMEOUT 327,8452 -#define ISP_EN_INT 330,8515 -#define ISP_EN_RISC 331,8543 -#define HCCR_NOP 334,8601 -#define HCCR_RESET 335,8627 -#define HCCR_PAUSE 336,8655 -#define HCCR_RELEASE 337,8683 -#define HCCR_SINGLE_STEP 338,8713 -#define HCCR_SET_HOST_INTR 339,8746 -#define HCCR_CLEAR_HOST_INTR 340,8781 -#define HCCR_CLEAR_RISC_INTR 341,8818 -#define HCCR_BP_ENABLE 342,8855 -#define HCCR_BIOS_DISABLE 343,8887 -#define HCCR_TEST_MODE 344,8921 -#define RISC_BUSY 346,8954 -#define MBOX_NO_OP 349,9005 -#define MBOX_LOAD_RAM 350,9033 -#define MBOX_EXEC_FIRMWARE 351,9064 -#define MBOX_DUMP_RAM 352,9099 -#define MBOX_WRITE_RAM_WORD 353,9130 -#define MBOX_READ_RAM_WORD 354,9166 -#define MBOX_MAILBOX_REG_TEST 355,9201 -#define MBOX_VERIFY_CHECKSUM 356,9239 -#define MBOX_ABOUT_FIRMWARE 357,9276 -#define MBOX_LOAD_RISC_RAM 358,9312 -#define MBOX_DUMP_RISC_RAM 359,9359 -#define MBOX_CHECK_FIRMWARE 360,9406 -#define MBOX_INIT_REQ_QUEUE 361,9442 -#define MBOX_INIT_RES_QUEUE 362,9478 -#define MBOX_EXECUTE_IOCB 363,9514 -#define MBOX_WAKE_UP 364,9548 -#define MBOX_STOP_FIRMWARE 365,9578 -#define MBOX_ABORT_IOCB 366,9613 -#define MBOX_ABORT_DEVICE 367,9646 -#define MBOX_ABORT_TARGET 368,9680 -#define MBOX_BUS_RESET 369,9714 -#define MBOX_STOP_QUEUE 370,9746 -#define MBOX_START_QUEUE 371,9779 -#define MBOX_SINGLE_STEP_QUEUE 372,9812 -#define MBOX_ABORT_QUEUE 373,9851 -#define MBOX_GET_DEV_QUEUE_STATUS 374,9884 -#define MBOX_GET_FIRMWARE_STATUS 375,9925 -#define MBOX_GET_INIT_SCSI_ID 376,9965 -#define MBOX_GET_RETRY_COUNT 377,10003 -#define MBOX_GET_TARGET_PARAMS 378,10040 -#define MBOX_GET_DEV_QUEUE_PARAMS 379,10079 -#define MBOX_SET_RETRY_COUNT 380,10120 -#define MBOX_SET_TARGET_PARAMS 381,10157 -#define MBOX_SET_DEV_QUEUE_PARAMS 382,10196 -#define MBOX_EXECUTE_IOCB64 383,10237 -#define MBOX_INIT_FIRMWARE 384,10284 -#define MBOX_GET_INIT_CB 385,10331 -#define MBOX_INIT_LIP 386,10378 -#define MBOX_GET_POS_MAP 387,10409 -#define MBOX_GET_PORT_DB 388,10456 -#define MBOX_CLEAR_ACA 389,10503 -#define MBOX_TARGET_RESET 390,10550 -#define MBOX_CLEAR_TASK_SET 391,10597 -#define MBOX_ABORT_TASK_SET 392,10644 -#define MBOX_GET_FIRMWARE_STATE 393,10691 -#define MBOX_GET_PORT_NAME 394,10738 -#define MBOX_SEND_SNS 395,10785 -#define MBOX_PORT_LOGIN 396,10832 -#define MBOX_SEND_CHANGE_REQUEST 397,10879 -#define MBOX_PORT_LOGOUT 398,10926 -static unsigned short risc_code_addr01 408,11133 -static const u_char mbox_param[415,11360 -#define MAX_MBOX_COMMAND 533,14512 -struct id_name_map id_name_map536,14576 -struct sns_cb sns_cb541,14628 -struct init_cb init_cb553,14855 -#define RES_QUEUE_LEN 590,15795 -#define QUEUE_ENTRY_LEN 591,15857 -#define QLOGICFC_MAX_ID 594,15905 -#define QLOGICFC_MAX_ID 596,15943 -#define QLOGICFC_MAX_LUN 599,15983 -#define QLOGICFC_MAX_LOOP_ID 600,16012 -#define LOOP_ONLY 606,16169 -#define P2P_ONLY 607,16202 -#define LOOP_PREFERED 608,16235 -#define P2P_PREFERED 609,16268 -#define CONNECTION_PREFERENCE 611,16302 -#define AS_FIRMWARE_DEAD 614,16371 -#define AS_LOOP_DOWN 615,16404 -#define AS_LOOP_GOOD 616,16437 -#define AS_REDO_FABRIC_PORTDB 617,16470 -#define AS_REDO_LOOP_PORTDB 618,16503 -#define RES_SIZE 620,16537 -#define REQ_SIZE 621,16592 -struct isp2x00_hostdata isp2x00_hostdata623,16657 -#define QUEUE_DEPTH(QUEUE_DEPTH652,17504 -#define REQ_QUEUE_DEPTH(REQ_QUEUE_DEPTH653,17557 -#define RES_QUEUE_DEPTH(RES_QUEUE_DEPTH655,17654 -static inline void isp2x00_enable_irqs(684,18710 -static inline void isp2x00_disable_irqs(690,18843 -int isp2x00_detect(696,18956 -static int isp2x00_make_portdb(830,23692 -#define FABRIC_PORT 938,26687 -#define FABRIC_CONTROLLER 939,26721 -#define FABRIC_SNS 940,26755 -int isp2x00_init_fabric(942,26790 -int isp2x00_release(1084,31542 -const char *isp2x00_info(1108,32120 -int isp2x00_queuecommand(1133,32784 -static void redo_port_db(1353,40185 -#define ASYNC_EVENT_INTERRUPT 1416,42453 -irqreturn_t do_isp2x00_intr_handler(1418,42489 -void isp2x00_intr_handler(1430,42789 -static int isp2x00_return_status(1625,49865 -int isp2x00_abort(1698,51526 -int isp2x00_reset(1756,52899 -int isp2x00_biosparam(1786,53553 -static int isp2x00_reset_hardware(1806,53889 -static int isp2x00_get_nvram_defaults(1968,59454 -static int isp2x00_init(1988,60086 -#define NVRAM_DELAY(NVRAM_DELAY2045,61562 -u_short isp2x00_read_nvram_word(2048,61624 -static int isp2x00_mbox_command(2097,62686 -void isp2x00_print_status_entry(2189,65253 -void isp2x00_print_scsi_cmd(2208,66140 -static Scsi_Host_Template driver_template 2224,66493 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_osm.h,9093 -#define _AIC79XX_LINUX_H_43,2027 -#define KERNEL_VERSION(KERNEL_VERSION57,2331 -#define AIC_LIB_PREFIX 69,2616 -#define AHD_DEBUG 87,3033 -#define AHD_DEBUG_OPTS 88,3053 -#define AHD_DEBUG 93,3176 -#define AHD_DEBUG_OPTS 94,3196 -#define roundup(roundup100,3342 -#define powerof2(powerof2101,3392 -typedef struct pci_dev *ahd_dev_softc_t;ahd_dev_softc_t105,3531 -typedef Scsi_Cmnd *ahd_io_ctx_t;ahd_io_ctx_t106,3572 -#define ahd_htobe16(ahd_htobe16109,3692 -#define ahd_htobe32(ahd_htobe32110,3730 -#define ahd_htobe64(ahd_htobe64111,3768 -#define ahd_htole16(ahd_htole16112,3806 -#define ahd_htole32(ahd_htole32113,3844 -#define ahd_htole64(ahd_htole64114,3882 -#define ahd_be16toh(ahd_be16toh116,3921 -#define ahd_be32toh(ahd_be32toh117,3959 -#define ahd_be64toh(ahd_be64toh118,3997 -#define ahd_le16toh(ahd_le16toh119,4035 -#define ahd_le32toh(ahd_le32toh120,4073 -#define ahd_le64toh(ahd_le64toh121,4111 -#define LITTLE_ENDIAN 124,4172 -#define BIG_ENDIAN 128,4226 -#define BYTE_ORDER 133,4303 -#define BYTE_ORDER 136,4369 -typedef dma_addr_t bus_addr_t;bus_addr_t148,4770 -typedef uint32_t bus_addr_t;bus_addr_t150,4807 -typedef uint32_t bus_size_t;bus_size_t152,4843 - BUS_SPACE_MEMIO,155,4888 - BUS_SPACE_PIO156,4906 -} bus_space_tag_t;bus_space_tag_t157,4921 -} bus_space_handle_t;bus_space_handle_t162,5002 -typedef struct bus_dma_segmentbus_dma_segment164,5025 -} bus_dma_segment_t;bus_dma_segment_t168,5099 -struct ahd_linux_dma_tagahd_linux_dma_tag170,5121 -typedef struct ahd_linux_dma_tag* bus_dma_tag_t;bus_dma_tag_t176,5217 -struct ahd_linux_dmamapahd_linux_dmamap178,5267 -typedef struct ahd_linux_dmamap* bus_dmamap_t;bus_dmamap_t182,5318 -typedef int bus_dma_filter_t(bus_dma_filter_t184,5366 -typedef void bus_dmamap_callback_t(bus_dmamap_callback_t185,5415 -#define BUS_DMA_WAITOK 187,5491 -#define BUS_DMA_NOWAIT 188,5519 -#define BUS_DMA_ALLOCNOW 189,5547 -#define BUS_DMA_LOAD_SEGS 190,5576 -#define BUS_SPACE_MAXADDR 195,5680 -#define BUS_SPACE_MAXADDR_32BIT 196,5717 -#define BUS_SPACE_MAXSIZE_32BIT 197,5760 -#define BUS_DMASYNC_PREREAD 229,6910 -#define BUS_DMASYNC_POSTREAD 230,6974 -#define BUS_DMASYNC_PREWRITE 231,7040 -#define BUS_DMASYNC_POSTWRITE 232,7106 -#define ahd_dmamap_sync(ahd_dmamap_sync242,7453 -typedef struct timer_list ahd_timer_t;ahd_timer_t245,7598 -#define AIC_DEBUG_REGISTERS 249,7758 -#define AIC_DEBUG_REGISTERS 251,7794 -#define ahd_timer_init 256,7934 -#define ahd_timer_stop 257,7968 -typedef void ahd_linux_callback_t ahd_linux_callback_t258,8006 -ahd_timer_reset(264,8257 -ahd_scb_timer_reset(277,8584 -#define AHD_SCSI_HAS_HOST_LOCK 290,9028 -#define AHD_SCSI_HAS_HOST_LOCK 292,9067 -#define AIC79XX_DRIVER_VERSION 295,9108 -struct ahd_cmd_internal ahd_cmd_internal304,9516 - STAILQ_ENTRY(STAILQ_ENTRY308,9652 -struct ahd_cmd ahd_cmd315,9766 -#define acmd_icmd(acmd_icmd322,9864 -#define acmd_scsi_cmd(acmd_scsi_cmd323,9904 -#define acmd_links 324,9952 - AHD_DEV_UNCONFIGURED 336,10451 - AHD_DEV_UNCONFIGURED = 0x01,336,10451 - AHD_DEV_FREEZE_TIL_EMPTY 337,10482 - AHD_DEV_FREEZE_TIL_EMPTY = 0x02,337,10482 - AHD_DEV_TIMER_ACTIVE 338,10553 - AHD_DEV_TIMER_ACTIVE = 0x04,338,10553 - AHD_DEV_ON_RUN_LIST 339,10610 - AHD_DEV_ON_RUN_LIST = 0x08,339,10610 - AHD_DEV_Q_BASIC 340,10669 - AHD_DEV_Q_BASIC = 0x10,340,10669 - AHD_DEV_Q_TAGGED 341,10729 - AHD_DEV_Q_TAGGED = 0x20,341,10729 - AHD_DEV_PERIODIC_OTAG 342,10796 - AHD_DEV_PERIODIC_OTAG = 0x40,342,10796 - AHD_DEV_SLAVE_CONFIGURED 343,10866 - AHD_DEV_SLAVE_CONFIGURED = 0x80 343,10866 -} ahd_linux_dev_flags;ahd_linux_dev_flags344,10940 -struct ahd_linux_device ahd_linux_device347,10989 - TAILQ_ENTRY(TAILQ_ENTRY348,11015 -#define AHD_TAG_SUCCESS_INTERVAL 385,11813 -#define AHD_LOCK_TAGS_COUNT 412,12369 -#define AHD_OTAG_THRESH 424,12735 - AHD_DV_REQUIRED 432,12865 - AHD_DV_REQUIRED = 0x01,432,12865 - AHD_INQ_VALID 433,12892 - AHD_INQ_VALID = 0x02,433,12892 - AHD_BASIC_DV 434,12917 - AHD_BASIC_DV = 0x04,434,12917 - AHD_ENHANCED_DV 435,12941 - AHD_ENHANCED_DV = 0x08435,12941 -} ahd_linux_targ_flags;ahd_linux_targ_flags436,12967 - AHD_DV_STATE_EXIT 440,13023 - AHD_DV_STATE_INQ_SHORT_ASYNC,441,13047 - AHD_DV_STATE_INQ_ASYNC,442,13078 - AHD_DV_STATE_INQ_ASYNC_VERIFY,443,13103 - AHD_DV_STATE_TUR,444,13135 - AHD_DV_STATE_REBD,445,13154 - AHD_DV_STATE_INQ_VERIFY,446,13174 - AHD_DV_STATE_WEB,447,13200 - AHD_DV_STATE_REB,448,13219 - AHD_DV_STATE_SU,449,13238 - AHD_DV_STATE_BUSY450,13256 -} ahd_dv_state;ahd_dv_state451,13275 -struct ahd_linux_target ahd_linux_target453,13292 -#define AHD_NSEG 497,14623 -#define AHD_LINUX_MIN_NSEG 498,14655 -#define AHD_NSEG 500,14691 - AHD_SCB_UP_EH_SEM 507,14766 - AHD_SCB_UP_EH_SEM = 0x1507,14766 -} ahd_linux_scb_flags;ahd_linux_scb_flags508,14791 -struct scb_platform_data scb_platform_data510,14815 - AHD_DV_WAIT_SIMQ_EMPTY 528,15337 - AHD_DV_WAIT_SIMQ_EMPTY = 0x01,528,15337 - AHD_DV_WAIT_SIMQ_RELEASE 529,15370 - AHD_DV_WAIT_SIMQ_RELEASE = 0x02,529,15370 - AHD_DV_ACTIVE 530,15404 - AHD_DV_ACTIVE = 0x04,530,15404 - AHD_DV_SHUTDOWN 531,15429 - AHD_DV_SHUTDOWN = 0x08,531,15429 - AHD_RUN_CMPLT_Q_TIMER 532,15456 - AHD_RUN_CMPLT_Q_TIMER = 0x10532,15456 -} ahd_linux_softc_flags;ahd_linux_softc_flags533,15487 -struct ahd_platform_data ahd_platform_data537,15550 - TAILQ_HEAD(TAILQ_HEAD542,15683 -#define AHD_LINUX_NOIRQ 561,16264 -#define printf 570,16562 -#define M_NOWAIT 571,16584 -#define M_WAITOK 572,16612 -#define malloc(malloc573,16631 -#define free(free574,16686 -ahd_inb(604,17607 -ahd_inw_atomic(618,17866 -ahd_outb(632,18128 -ahd_outw_atomic(643,18373 -ahd_outsb(654,18626 -ahd_insb(668,18947 -struct info_str info_str688,19525 -ahd_lockinit(722,20875 -ahd_lock(728,20986 -ahd_unlock(734,21126 -ahd_midlayer_entrypoint_lock(740,21273 -ahd_midlayer_entrypoint_unlock(756,21793 -ahd_done_lockinit(765,22010 -ahd_done_lock(775,22253 -ahd_done_unlock(783,22407 -ahd_list_lockinit(791,22565 -ahd_list_lock(797,22652 -ahd_list_unlock(803,22762 -#define PCIR_DEVVENDOR 818,23219 -#define PCIR_VENDOR 819,23248 -#define PCIR_DEVICE 820,23274 -#define PCIR_COMMAND 821,23300 -#define PCIM_CMD_PORTEN 822,23327 -#define PCIM_CMD_MEMEN 823,23359 -#define PCIM_CMD_BUSMASTEREN 824,23390 -#define PCIM_CMD_MWRICEN 825,23426 -#define PCIM_CMD_PERRESPEN 826,23458 -#define PCIM_CMD_SERRESPEN 827,23492 -#define PCIR_STATUS 828,23526 -#define PCIR_REVID 829,23552 -#define PCIR_PROGIF 830,23577 -#define PCIR_SUBCLASS 831,23603 -#define PCIR_CLASS 832,23631 -#define PCIR_CACHELNSZ 833,23656 -#define PCIR_LATTIMER 834,23685 -#define PCIR_HEADERTYPE 835,23713 -#define PCIM_MFDEV 836,23743 -#define PCIR_BIST 837,23768 -#define PCIR_CAP_PTR 838,23792 -#define PCIR_MAPS 841,23869 -#define PCIR_SUBVEND_0 842,23892 -#define PCIR_SUBDEV_0 843,23920 -#define PCIXR_COMMAND 846,24029 -#define PCIXR_DEVADDR 847,24056 -#define PCIXM_DEVADDR_FNUM 848,24083 -#define PCIXM_DEVADDR_DNUM 849,24139 -#define PCIXM_DEVADDR_BNUM 850,24193 -#define PCIXR_STATUS 851,24244 -#define PCIXM_STATUS_64BIT 852,24270 -#define PCIXM_STATUS_133CAP 853,24345 -#define PCIXM_STATUS_SCDISC 854,24411 -#define PCIXM_STATUS_UNEXPSC 855,24479 -#define PCIXM_STATUS_CMPLEXDEV 856,24549 -#define PCIXM_STATUS_MAXMRDBC 857,24627 -#define PCIXM_STATUS_MAXSPLITS 858,24695 -#define PCIXM_STATUS_MAXCRDS 859,24766 -#define PCIXM_STATUS_RCVDSCEM 860,24837 - AHD_POWER_STATE_D0,868,25031 - AHD_POWER_STATE_D1,869,25052 - AHD_POWER_STATE_D2,870,25073 - AHD_POWER_STATE_D3871,25094 -} ahd_power_state;ahd_power_state872,25114 -ahd_pci_read_config(887,25593 -ahd_pci_write_config(921,26199 -ahd_get_pci_function(941,26645 -ahd_get_pci_slot(948,26799 -ahd_get_pci_bus(955,26948 -ahd_flush_device_writes(962,27105 -#define pci_map_sg(pci_map_sg969,27284 -#define pci_unmap_sg(pci_unmap_sg970,27342 -#define sg_dma_address(sg_dma_address971,27395 -#define sg_dma_len(sg_dma_len972,27451 -#define pci_map_single(pci_map_single973,27489 -#define pci_unmap_single(pci_unmap_single975,27571 -#define ahd_pci_set_dma_mask 979,27685 -#define ahd_pci_set_dma_mask(ahd_pci_set_dma_mask984,27778 -#define AHD_DV_CMD(AHD_DV_CMD996,28245 -#define AHD_DV_SIMQ_FROZEN(AHD_DV_SIMQ_FROZEN997,28313 -void ahd_cmd_set_transaction_status(1027,29945 -void ahd_set_transaction_status(1034,30107 -void ahd_cmd_set_scsi_status(1040,30247 -void ahd_set_scsi_status(1047,30379 -uint32_t ahd_cmd_get_transaction_status(1053,30506 -uint32_t ahd_get_transaction_status(1059,30632 -uint32_t ahd_cmd_get_scsi_status(1065,30761 -uint32_t ahd_get_scsi_status(1071,30863 -void ahd_set_transaction_tag(1077,30978 -u_long ahd_get_transfer_length(1086,31178 -int ahd_get_transfer_dir(1092,31287 -void ahd_set_residual(1116,31835 -void ahd_set_sense_residual(1126,32035 -u_long ahd_get_residual(1132,32157 -u_long ahd_get_sense_residual(1142,32347 -int ahd_perform_autosense(1148,32458 -ahd_get_sense_bufsize(1159,32662 -ahd_notify_xfer_settings_change(1165,32792 -ahd_platform_scb_free(1172,32942 -ahd_freeze_scb(1185,33393 -#define AHD_PCI_CONFIG 1209,34322 -#define AHD_PCI_CONFIG 1211,34353 -#define bootverbose 1213,34385 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_osm_pci.c,454 -struct pci_device_idpci_device_id46,2123 -static struct pci_device_id ahd_linux_pci_id_table[62,2659 -struct pci_driver aic79xx_pci_driver 76,2970 -ahd_linux_pci_dev_remove(84,3158 -ahd_linux_pci_dev_probe(111,3730 -ahd_linux_pci_init(208,6099 -ahd_linux_pci_exit(238,6677 -ahd_linux_pci_reserve_io_regions(244,6763 -ahd_linux_pci_reserve_mem_region(281,7839 -ahd_pci_map_registers(329,8970 -ahd_pci_map_int(402,11116 -ahd_power_state_change(415,11355 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_osm.c,4614 -spinlock_t ahc_list_spinlock;148,6131 -u_int ahc_linux_nseg;152,6252 -struct proc_dir_entry proc_scsi_aic7xxx 156,6329 -#define AIC7XXX_RESET_DELAY 170,6765 -#define AIC7XXX_RESET_DELAY 172,6829 -#define AIC7XXX_PROC_STATS182,7141 -} adapter_tag_info_t;adapter_tag_info_t198,7733 -#define AIC7XXX_CMDS_PER_DEVICE 244,9560 -#define AIC7XXX_CMDS_PER_DEVICE 246,9629 -#define AIC7XXX_CONFIGED_TAG_COMMANDS 249,9683 -static adapter_tag_info_t aic7xxx_tag_info[264,10260 -#define AIC7XXX_CONFIGED_DV 292,11025 -#define AIC7XXX_CONFIGED_DV 294,11085 -static int8_t aic7xxx_dv_settings[297,11124 -#define DID_UNDERFLOW 321,11634 -ahc_print_path(324,11674 -static uint32_t aic7xxx_no_reset;344,12328 -static uint32_t aic7xxx_reverse_scan;363,13446 -static uint32_t aic7xxx_extended;370,13670 -static uint32_t aic7xxx_pci_parity 382,14216 -uint32_t aic7xxx_probe_eisa_vl;395,14851 -uint32_t aic7xxx_probe_eisa_vl 397,14889 -uint32_t aic7xxx_allow_memio 406,15193 -int aic7xxx_detect_complete;413,15414 -static uint32_t aic7xxx_seltime;425,15729 -uint32_t aic7xxx_periodic_otag;435,16134 -static char *aic7xxx 440,16218 -static char dummy_buffer[446,16434 -static aic_option_callback_t ahc_linux_setup_tag_info;553,21271 -static aic_option_callback_t ahc_linux_setup_dv;554,21326 -ahc_schedule_completeq(578,22481 -ahc_schedule_runq(591,22828 -ahc_linux_get_device(604,23125 -#define AHC_LINUX_MAX_RETURNED_ERRORS 629,23725 -ahc_linux_run_complete_queue(631,23789 -ahc_linux_check_device_queue(669,24777 -ahc_linux_next_device_to_run(686,25188 -ahc_linux_run_device_queues(697,25465 -ahc_linux_unmap_scb(709,25780 -ahc_linux_map_seg(730,26353 -ahc_linux_size_nseg(794,28898 -ahc_linux_detect(841,29995 -ahc_linux_release(920,31905 -ahc_linux_info(952,32458 -ahc_linux_queue(980,33054 -ahc_linux_slave_alloc(1034,34685 -ahc_linux_slave_configure(1045,34916 -ahc_linux_slave_destroy(1073,35673 -ahc_linux_select_queue_depth(1109,36739 -ahc_linux_biosparam(1177,38523 -ahc_linux_abort(1244,40037 -ahc_linux_dev_reset(1258,40315 -ahc_linux_bus_reset(1272,40559 -Scsi_Host_Template aic7xxx_driver_template 1292,41051 -ahc_runq_tasklet(1322,42041 -#define BUILD_SCSIID(BUILD_SCSIID1351,42837 -ahc_dma_tag_create(1358,43140 -ahc_dma_tag_destroy(1386,43956 -ahc_dmamem_alloc(1392,44051 -ahc_dmamem_free(1440,45539 -ahc_dmamap_load(1452,45807 -#define VIRT_TO_BUS(VIRT_TO_BUS1465,46217 -ahc_dmamap_destroy(1474,46422 -ahc_dmamap_unload(1484,46616 -ahc_softc_comp(1498,47008 -ahc_linux_setup_tag_info_global(1584,49279 -ahc_linux_setup_tag_info(1599,49599 -ahc_linux_setup_dv(1612,49957 -aic7xxx_setup(1629,50410 -uint32_t aic7xxx_verbose;1700,52158 -ahc_linux_register_host(1703,52189 -ahc_linux_get_memsize(1805,55506 -ahc_linux_next_unit(1820,55802 -ahc_linux_initialize_scsi_bus(1842,56155 -ahc_platform_alloc(1910,57892 -ahc_platform_free(1950,59296 -ahc_platform_freeze_devq(2023,61342 -ahc_platform_set_tags(2032,61577 -ahc_platform_abort_scbs(2124,63905 -ahc_linux_thread_run_complete_queue(2195,65247 -ahc_linux_start_dv(2207,65529 -ahc_linux_kill_dv_thread(2229,65998 -ahc_linux_dv_thread(2271,67228 -#define AHC_LINUX_DV_INQ_SHORT_LEN 2363,69284 -#define AHC_LINUX_DV_INQ_LEN 2364,69322 -#define AHC_LINUX_DV_TIMEOUT 2365,69356 -#define AHC_SET_DV_STATE(AHC_SET_DV_STATE2367,69396 -ahc_set_dv_state(2371,69515 -ahc_linux_dv_target(2391,69968 -ahc_linux_dv_transition(2583,75240 -ahc_linux_dv_fill_cmd(3058,86735 -ahc_linux_dv_inq(3071,87116 -ahc_linux_dv_tur(3106,88093 -#define AHC_REBD_LEN 3123,88514 -ahc_linux_dv_rebd(3126,88550 -ahc_linux_dv_web(3151,89260 -ahc_linux_dv_reb(3173,89856 -ahc_linux_dv_su(3195,90451 -ahc_linux_fallback(3217,90950 -ahc_linux_dv_timeout(3399,96225 -ahc_linux_dv_complete(3455,97744 -ahc_linux_generate_dv_pattern(3476,98233 -ahc_linux_user_tagdepth(3532,99457 -ahc_linux_user_dv_setting(3563,100252 -ahc_linux_device_queue_depth(3608,101212 -ahc_linux_run_device_queue(3634,101912 -ahc_linux_isr(3850,107803 -ahc_platform_flushwork(3867,108170 -ahc_linux_alloc_target(3875,108309 -ahc_linux_free_target(3897,108811 -ahc_linux_alloc_device(3938,110100 -__ahc_linux_free_device(3972,110812 -ahc_linux_free_device(3986,111138 -ahc_send_async(3993,111289 -ahc_done(4104,114284 -ahc_linux_handle_scsi_status(4250,118777 -ahc_linux_queue_cmd_complete(4399,122838 -ahc_linux_filter_inquiry(4514,126141 -ahc_linux_sem_timeout(4623,129194 -ahc_linux_freeze_simq(4639,129510 -ahc_linux_release_simq(4653,129879 -ahc_linux_dev_timed_unfreeze(4685,130694 -ahc_linux_queue_recovery_cmd(4707,131202 -ahc_platform_dump_card_state(5038,141289 -ahc_linux_init(5079,142144 -ahc_linux_exit(5100,142581 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_proc.c,199 -copy_mem_info(57,2619 -copy_info(84,3120 -ahd_format_transinfo(99,3339 -ahd_dump_target_state(165,4970 -ahd_dump_device_state(202,5947 -ahd_proc_write_seeprom(215,6488 -ahd_linux_proc_info(282,8214 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7770.c,694 -#define ID_AIC7770 55,2294 -#define ID_AHA_274x 56,2324 -#define ID_AHA_284xB 57,2355 -#define ID_AHA_284x 58,2406 -#define ID_OLV_274x 59,2456 -#define ID_OLV_274xD 60,2506 -static ahc_device_setup_t ahc_aic7770_VL_setup;66,2783 -static ahc_device_setup_t ahc_aic7770_EISA_setup;67,2831 -static ahc_device_setup_t ahc_aic7770_setup;68,2881 -struct aic7770_identity aic7770_ident_table[70,2927 -const int ahc_num_aic7770_devs 110,3653 -aic7770_find_device(113,3748 -aic7770_config(127,3998 -aic7770_chip_init(274,7140 -aic7770_suspend(284,7445 -aic7770_resume(290,7528 -aha2840_load_seeprom(299,7642 -ahc_aic7770_VL_setup(385,9756 -ahc_aic7770_EISA_setup(395,9901 -ahc_aic7770_setup(405,10050 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aiclib.c,1159 -#define FALSE 44,1783 -#define TRUE 47,1833 -#define ERESTART 50,1886 -#define EJUSTRETURN 53,1975 -typedef int (cam_quirkmatch_t)cam_quirkmatch_t65,2515 -#define SCSI_NO_SENSE_STRINGS 72,2808 -#define SST(SST74,2876 -static const char empty_string[77,2947 -#define SST(SST79,2987 -static const struct sense_key_table_entry sense_key_table[83,3068 -static const int sense_key_table_size 106,4070 -static struct asc_table_entry quantum_fireball_entries[109,4167 -static struct asc_table_entry sony_mo_entries[114,4348 -static struct scsi_sense_quirk_entry sense_quirk_table[119,4513 -static const int sense_quirk_table_size 146,5310 -static struct asc_table_entry asc_table[149,5413 -static const int asc_table_size 849,35541 -struct asc_keyasc_key851,35616 -ascentrycomp(858,35669 -senseentrycomp(887,36278 -fetchtableentries(904,36643 -scsibsearch(986,38734 -cam_strmatch(1020,39400 -cam_quirkmatch(1043,39775 -aic_sense_desc(1054,40066 -aic_sense_error_action(1084,40954 -aic_inquiry_match(1169,43595 -} scsi_syncrates[1198,44496 -aic_calc_syncsrate(1211,44783 -aic_calc_speed(1237,45321 -aic_error_action(1251,45587 -aic_parse_brace_option(1336,47470 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_core.c,5119 -struct ahd_softc_tailq ahd_tailq 56,2379 -char *ahd_chip_names[59,2531 -static const u_int num_chip_names 66,2606 -struct ahd_hard_error_entry ahd_hard_error_entry71,2705 -static struct ahd_hard_error_entry ahd_hard_errors[76,2778 -static const u_int num_errors 84,3111 -static struct ahd_phase_table_entry ahd_phase_table[86,3175 -static const u_int num_phases 104,3867 - AHDMSG_1B,159,6122 - AHDMSG_2B,160,6134 - AHDMSG_EXT161,6146 -} ahd_msgtype;ahd_msgtype162,6158 - ahd_dmamap_cb;185,7103 -static ahd_callback_t ahd_reset_poll;213,8398 -static ahd_callback_t ahd_stat_timer;214,8436 -ahd_assert_atn(250,9828 -ahd_currently_packetized(262,10146 -ahd_set_active_fifo(285,10761 -ahd_restart(306,11216 -ahd_clear_fifo(342,12295 -ahd_flush_qoutfifo(366,13047 -ahd_scb_active_in_fifo(530,17430 -ahd_run_data_fifo(559,18323 -ahd_run_qoutfifo(789,24396 -ahd_handle_hwerrint(822,25422 -ahd_handle_seqint(851,26130 -ahd_handle_scsiint(1474,42979 -ahd_handle_transmission_error(1721,50392 -ahd_handle_lqiphase_error(1908,56871 -ahd_handle_pkt_busfree(1950,58149 -ahd_handle_nonpkt_busfree(2086,62180 -ahd_handle_proto_violation(2324,69030 -ahd_force_renegotiation(2423,71899 -#define AHD_MAX_STEPS 2443,72413 -ahd_clear_critical_section(2445,72445 -ahd_clear_intstat(2569,75700 -uint32_t ahd_debug 2597,76901 -ahd_print_scb(2600,76950 -ahd_dump_sglist(2625,77670 -ahd_alloc_tstate(2673,79000 -ahd_free_tstate(2715,80328 -ahd_devlimited_syncrate(2741,80965 -ahd_find_syncrate(2790,82474 -ahd_validate_offset(2829,83560 -ahd_validate_width(2860,84319 -ahd_update_neg_request(2890,85077 -ahd_set_syncrate(2933,86579 -ahd_set_width(3079,90598 -ahd_set_tags(3133,91948 -ahd_update_neg_table(3142,92201 -ahd_update_pending_scbs(3242,95273 -ahd_fetch_devinfo(3327,97932 -ahd_print_devinfo(3362,98812 -ahd_lookup_phase_entry(3369,99002 -ahd_compile_devinfo(3387,99406 -ahd_scb_devinfo(3402,99819 -ahd_setup_initiator_msgout(3425,100557 -ahd_build_transfer_msg(3546,104435 -ahd_construct_sdtr(3642,107221 -ahd_construct_wdtr(3665,107964 -ahd_construct_ppr(3685,108584 -ahd_clear_msg_state(3719,109703 -ahd_handle_message_phase(3747,110385 -ahd_sent_msg(4087,118672 -ahd_parse_msg(4136,119791 -ahd_handle_msg_reject(4554,130682 -ahd_handle_ign_wide_residue(4725,136126 -ahd_reinitialize_dataptrs(4875,139957 -ahd_handle_devreset(4966,142532 -ahd_setup_target_msgin(5029,144158 -ahd_sglist_size(5052,144836 -ahd_sglist_allocsize(5069,145334 -ahd_alloc(5114,146633 -ahd_softc_init(5174,148313 -ahd_softc_insert(5183,148416 -ahd_find_softc(5239,149733 -ahd_set_unit(5251,149916 -ahd_set_name(5257,149991 -ahd_free(5265,150121 -ahd_shutdown(5340,151674 -ahd_reset(5366,152373 -ahd_probe_scbs(5469,155208 -ahd_dmamap_cb(5493,155792 -ahd_initialize_hscbs(5502,155955 -ahd_init_scbdata(5518,156239 -ahd_find_scb_by_tag(5619,159183 -ahd_fini_scbdata(5657,159909 -ahd_setup_iocell_workaround(5726,161529 -ahd_iocell_first_selection(5744,162084 -ahd_add_col_list(5775,163027 -ahd_rem_col_list(5795,163593 -ahd_get_scb(5829,164460 -ahd_free_scb(5865,165223 -ahd_alloc_scbs(5918,166695 -ahd_controller_info(6118,172328 -static const char *channel_strings[6141,172831 -static const char *termstat_strings[6148,172946 -ahd_init(6159,173134 -ahd_chip_init(6385,179766 -ahd_default_config(6717,190507 -ahd_parse_cfgdata(6794,192601 -ahd_parse_vpddata(6928,196440 -ahd_intr_enable(6941,196690 -ahd_update_coalescing_values(6958,196983 -ahd_enable_coalescing(6976,197583 -ahd_pause_and_flushwork(6995,198067 -ahd_suspend(7065,200130 -ahd_resume(7079,200328 -ahd_index_busy_tcl(7098,200843 -ahd_find_busy_tcl(7120,201448 -ahd_busy_tcl(7133,201721 -ahd_match_scb(7145,202044 -ahd_freeze_devq(7181,203077 -ahd_qinfifo_requeue_tail(7199,203451 -ahd_qinfifo_requeue(7221,204024 -ahd_qinfifo_count(7244,204864 -ahd_reset_cmds_pending(7262,205331 -ahd_search_qinfifo(7287,205926 -ahd_search_scb_list(7462,210745 -ahd_stitch_tid_list(7536,212687 -ahd_rem_wscb(7574,213642 -ahd_add_scb_to_free_list(7604,214434 -ahd_abort_scbs(7622,215045 -ahd_reset_current_bus(7718,217468 -ahd_reset_channel(7748,218317 -#define AHD_RESET_POLL_US 7901,222345 -ahd_reset_poll(7903,222388 -ahd_stat_timer(7944,223480 -ahd_handle_scb_status(7989,224790 -ahd_handle_scsi_status(8000,225020 -ahd_calc_residual(8211,230748 -ahd_queue_lstate_event(8314,233409 -ahd_send_lstate_events(8365,235087 -ahd_dumpseq(8401,236148 -ahd_loadseq(8424,236583 -ahd_check_patch(8580,241544 -ahd_resolve_seqaddr(8616,242364 -ahd_download_instr(8645,242852 -ahd_probe_stack_size(8714,244314 -ahd_dump_all_cards_state(8749,244959 -ahd_print_register(8759,245111 -ahd_dump_card_state(8807,246163 -ahd_dump_scbs(9049,254667 -ahd_read_seeprom(9082,255754 -ahd_write_seeprom(9127,256841 -ahd_wait_seeprom(9176,257953 -ahd_verify_vpd_cksum(9194,258246 -ahd_verify_cksum(9222,258924 -ahd_acquire_seeprom(9244,259286 -ahd_release_seeprom(9267,259817 -ahd_write_flexport(9273,259894 -ahd_read_flexport(9296,260512 -ahd_wait_flexport(9317,261022 -ahd_find_tmode_devs(9334,261405 -ahd_handle_en_lun(9375,262419 -ahd_update_scsiid(9698,270232 -ahd_run_tqinfifo(9738,271137 -ahd_handle_target_cmd(9776,272101 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_osm.c,5437 -spinlock_t ahd_list_spinlock;69,2721 -struct proc_dir_entry proc_scsi_aic79xx 72,2799 -u_int ahd_linux_nseg;81,3062 -#define AHD_LINUX_ERR_THRESH 87,3162 -#define AIC79XX_RESET_DELAY 96,3460 -#define AIC79XX_RESET_DELAY 98,3524 -} adapter_tag_info_t;adapter_tag_info_t114,4123 -#define AIC79XX_CMDS_PER_DEVICE 160,5950 -#define AIC79XX_CMDS_PER_DEVICE 162,6019 -#define AIC79XX_CONFIGED_TAG_COMMANDS 165,6073 -static adapter_tag_info_t aic79xx_tag_info[180,6650 -#define AIC79XX_CONFIGED_RD_STRM 207,7481 -#define AIC79XX_CONFIGED_RD_STRM 209,7527 -static uint16_t aic79xx_rd_strm_info[212,7570 -#define AIC79XX_CONFIGED_DV 240,8217 -#define AIC79XX_CONFIGED_DV 242,8277 -static int8_t aic79xx_dv_settings[245,8316 -struct ahd_linux_iocell_optsahd_linux_iocell_opts270,8896 -#define AIC79XX_DEFAULT_PRECOMP 276,8987 -#define AIC79XX_DEFAULT_SLEWRATE 277,9025 -#define AIC79XX_DEFAULT_AMPLITUDE 278,9063 -#define AIC79XX_DEFAULT_IOOPTS 279,9102 -#define AIC79XX_PRECOMP_INDEX 285,9237 -#define AIC79XX_SLEWRATE_INDEX 286,9269 -#define AIC79XX_AMPLITUDE_INDEX 287,9302 -static struct ahd_linux_iocell_opts aic79xx_iocell_info[288,9336 -#define DID_UNDERFLOW 312,9916 -ahd_print_path(315,9956 -static uint32_t aic79xx_no_reset;335,10604 -static uint32_t aic79xx_reverse_scan;354,11722 -static uint32_t aic79xx_extended;361,11946 -static uint32_t aic79xx_pci_parity 377,12623 -uint32_t aic79xx_allow_memio 385,12924 -int aic79xx_detect_complete;392,13145 -static uint32_t aic79xx_seltime;404,13460 -uint32_t aic79xx_periodic_otag;414,13865 -static char *aic79xx 419,13949 -static char dummy_buffer[425,14165 -static aic_option_callback_t ahd_linux_setup_tag_info;538,19306 -static aic_option_callback_t ahd_linux_setup_rd_strm_info;539,19361 -static aic_option_callback_t ahd_linux_setup_dv;540,19420 -static aic_option_callback_t ahd_linux_setup_iocell_info;541,19469 -ahd_schedule_completeq(567,20770 -ahd_schedule_runq(580,21117 -void ahd_setup_runq_tasklet(593,21389 -ahd_teardown_runq_tasklet(602,21616 -ahd_linux_get_device(610,21816 -#define AHD_LINUX_MAX_RETURNED_ERRORS 635,22416 -ahd_linux_run_complete_queue(637,22480 -ahd_linux_check_device_queue(675,23469 -ahd_linux_next_device_to_run(692,23880 -ahd_linux_run_device_queues(703,24157 -ahd_linux_unmap_scb(715,24472 -ahd_linux_map_seg(736,25038 -#define BUILD_SCSIID(BUILD_SCSIID758,25641 -ahd_linux_size_nseg(803,27755 -ahd_linux_detect(850,28852 -ahd_linux_release(934,30871 -ahd_linux_info(966,31424 -ahd_linux_queue(994,32013 -ahd_linux_slave_alloc(1051,33704 -ahd_linux_slave_configure(1062,33935 -ahd_linux_slave_destroy(1091,34734 -ahd_linux_select_queue_depth(1128,35800 -ahd_linux_biosparam(1197,37594 -ahd_linux_abort(1260,38986 -ahd_linux_dev_reset_complete(1542,47349 -ahd_linux_dev_reset(1551,47511 -ahd_linux_bus_reset(1645,50325 -Scsi_Host_Template aic79xx_driver_template 1670,50962 -ahd_runq_tasklet(1700,51952 -ahd_dma_tag_create(1730,52752 -ahd_dma_tag_destroy(1758,53568 -ahd_dmamem_alloc(1764,53663 -ahd_dmamem_free(1812,55151 -ahd_dmamap_load(1824,55419 -#define VIRT_TO_BUS(VIRT_TO_BUS1837,55829 -ahd_dmamap_destroy(1846,56034 -ahd_dmamap_unload(1856,56228 -ahd_softc_comp(1870,56620 -ahd_linux_setup_tag_info(1917,57924 -ahd_linux_setup_rd_strm_info(1930,58283 -ahd_linux_setup_dv(1941,58582 -ahd_linux_setup_iocell_info(1952,58853 -ahd_linux_setup_tag_info_global(1967,59232 -aic79xx_setup(1987,59733 -uint32_t aic79xx_verbose;2075,62150 -ahd_linux_register_host(2078,62181 -ahd_linux_get_memsize(2169,65154 -ahd_linux_next_unit(2184,65450 -ahd_linux_initialize_scsi_bus(2206,65810 -ahd_platform_alloc(2252,67121 -ahd_platform_free(2284,68287 -ahd_platform_init(2358,70400 -ahd_platform_freeze_devq(2378,70983 -ahd_platform_set_tags(2387,71218 -ahd_platform_abort_scbs(2479,73546 -ahd_linux_thread_run_complete_queue(2537,74649 -ahd_linux_start_dv(2549,74931 -ahd_linux_dv_thread(2571,75387 -ahd_linux_kill_dv_thread(2664,77435 -#define AHD_LINUX_DV_INQ_SHORT_LEN 2705,78654 -#define AHD_LINUX_DV_INQ_LEN 2706,78692 -#define AHD_LINUX_DV_TIMEOUT 2707,78726 -#define AHD_SET_DV_STATE(AHD_SET_DV_STATE2709,78766 -ahd_set_dv_state(2713,78885 -ahd_linux_dv_target(2733,79338 -ahd_linux_dv_fallback(2923,84561 -ahd_linux_dv_transition(2936,84782 -ahd_linux_dv_fill_cmd(3413,96297 -ahd_linux_dv_inq(3426,96678 -ahd_linux_dv_tur(3461,97655 -#define AHD_REBD_LEN 3478,98076 -ahd_linux_dv_rebd(3481,98112 -ahd_linux_dv_web(3506,98822 -ahd_linux_dv_reb(3528,99418 -ahd_linux_dv_su(3550,100013 -ahd_linux_fallback(3572,100512 -ahd_linux_dv_timeout(3746,105642 -ahd_linux_dv_complete(3802,107149 -ahd_linux_generate_dv_pattern(3823,107638 -ahd_linux_user_tagdepth(3880,108863 -ahd_linux_user_dv_setting(3911,109658 -ahd_linux_setup_user_rd_strm_settings(3944,110328 -ahd_linux_device_queue_depth(3989,111593 -ahd_linux_run_device_queue(4014,112244 -ahd_linux_isr(4182,116870 -ahd_platform_flushwork(4199,117237 -ahd_linux_alloc_target(4207,117376 -ahd_linux_free_target(4224,117782 -ahd_linux_alloc_device(4261,118988 -ahd_linux_free_device(4295,119700 -ahd_send_async(4310,120042 -ahd_done(4415,122888 -ahd_linux_handle_scsi_status(4550,127081 -ahd_linux_queue_cmd_complete(4716,131613 -ahd_linux_filter_inquiry(4871,135957 -ahd_freeze_simq(4970,138754 -ahd_release_simq(4982,139071 -ahd_linux_sem_timeout(5012,139839 -ahd_linux_dev_timed_unfreeze(5029,140185 -ahd_platform_dump_card_state(5051,140701 -ahd_linux_init(5082,141331 -ahd_linux_exit(5099,141715 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/scsi_iu.h,817 -#define _SCSI_SCSI_IU_H 5,69 -struct scsi_status_iu_headerscsi_status_iu_header7,96 -#define SIU_SNSVALID 11,167 -#define SIU_RSPVALID 12,192 -#define SIU_PKTFAIL_OFFSET(SIU_PKTFAIL_OFFSET19,327 -#define SIU_PKTFAIL_CODE(SIU_PKTFAIL_CODE20,362 -#define SIU_PFC_NONE 21,434 -#define SIU_PFC_CIU_FIELDS_INVALID 22,460 -#define SIU_PFC_TMF_NOT_SUPPORTED 23,498 -#define SIU_PFC_TMF_FAILED 24,535 -#define SIU_PFC_INVALID_TYPE_CODE 25,566 -#define SIU_PFC_ILLEGAL_REQUEST 26,603 -#define SIU_SENSE_OFFSET(SIU_SENSE_OFFSET27,639 -#define SIU_TASKMGMT_NONE 32,771 -#define SIU_TASKMGMT_ABORT_TASK 33,803 -#define SIU_TASKMGMT_ABORT_TASK_SET 34,841 -#define SIU_TASKMGMT_CLEAR_TASK_SET 35,882 -#define SIU_TASKMGMT_LUN_RESET 36,923 -#define SIU_TASKMGMT_TARGET_RESET 37,960 -#define SIU_TASKMGMT_CLEAR_ACA 38,999 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/scsi_message.h,1952 -#define MSG_CMDCOMPLETE 7,195 -#define MSG_TASK_COMPLETE 8,235 -#define MSG_EXTENDED 9,299 -#define MSG_SAVEDATAPOINTER 10,336 -#define MSG_RESTOREPOINTERS 11,379 -#define MSG_DISCONNECT 12,422 -#define MSG_INITIATOR_DET_ERR 13,461 -#define MSG_ABORT 14,506 -#define MSG_ABORT_TASK_SET 15,540 -#define MSG_MESSAGE_REJECT 16,605 -#define MSG_NOOP 17,647 -#define MSG_PARITY_ERROR 18,680 -#define MSG_LINK_CMD_COMPLETE 19,720 -#define MSG_LINK_CMD_COMPLETEF 20,765 -#define MSG_BUS_DEV_RESET 21,811 -#define MSG_TARGET_RESET 22,852 -#define MSG_ABORT_TAG 23,915 -#define MSG_ABORT_TASK 24,953 -#define MSG_CLEAR_QUEUE 25,1015 -#define MSG_CLEAR_TASK_SET 26,1055 -#define MSG_INIT_RECOVERY 27,1120 -#define MSG_REL_RECOVERY 28,1186 -#define MSG_TERM_IO_PROC 29,1251 -#define MSG_CLEAR_ACA 30,1316 -#define MSG_LOGICAL_UNIT_RESET 31,1365 -#define MSG_QAS_REQUEST 32,1422 -#define MSG_SIMPLE_Q_TAG 35,1498 -#define MSG_SIMPLE_TASK 36,1538 -#define MSG_HEAD_OF_Q_TAG 37,1601 -#define MSG_HEAD_OF_QUEUE_TASK 38,1642 -#define MSG_ORDERED_Q_TAG 39,1711 -#define MSG_ORDERED_TASK 40,1752 -#define MSG_IGN_WIDE_RESIDUE 41,1815 -#define MSG_ACA_TASK 42,1859 -#define MSG_IDENTIFYFLAG 45,1948 -#define MSG_IDENTIFY_DISCFLAG 46,1979 -#define MSG_IDENTIFY(MSG_IDENTIFY47,2015 -#define MSG_ISIDENTIFY(MSG_ISIDENTIFY48,2092 -#define MSG_IDENTIFY_LUNMASK 49,2143 -#define MSG_EXT_SDTR 52,2223 -#define MSG_EXT_SDTR_LEN 53,2250 -#define MSG_EXT_WDTR 55,2281 -#define MSG_EXT_WDTR_LEN 56,2308 -#define MSG_EXT_WDTR_BUS_8_BIT 57,2338 -#define MSG_EXT_WDTR_BUS_16_BIT 58,2374 -#define MSG_EXT_WDTR_BUS_32_BIT 59,2411 -#define MSG_EXT_PPR 61,2474 -#define MSG_EXT_PPR_LEN 62,2511 -#define MSG_EXT_PPR_PCOMP_EN 63,2541 -#define MSG_EXT_PPR_RTI 64,2575 -#define MSG_EXT_PPR_RD_STRM 65,2605 -#define MSG_EXT_PPR_WR_FLOW 66,2638 -#define MSG_EXT_PPR_HOLD_MCS 67,2671 -#define MSG_EXT_PPR_QAS_REQ 68,2705 -#define MSG_EXT_PPR_DT_REQ 69,2738 -#define MSG_EXT_PPR_IU_REQ 70,2770 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_osm.h,8603 -#define _AIC7XXX_LINUX_H_60,2830 -#define KERNEL_VERSION(KERNEL_VERSION74,3134 -#define AIC_LIB_PREFIX 86,3419 -#define AHC_DEBUG 103,3815 -#define AHC_DEBUG_OPTS 104,3835 -#define AHC_DEBUG 109,3958 -typedef struct pci_dev *ahc_dev_softc_t;ahc_dev_softc_t116,4117 -typedef Scsi_Cmnd *ahc_io_ctx_t;ahc_io_ctx_t117,4158 -#define ahc_htobe16(ahc_htobe16120,4278 -#define ahc_htobe32(ahc_htobe32121,4316 -#define ahc_htobe64(ahc_htobe64122,4354 -#define ahc_htole16(ahc_htole16123,4392 -#define ahc_htole32(ahc_htole32124,4430 -#define ahc_htole64(ahc_htole64125,4468 -#define ahc_be16toh(ahc_be16toh127,4507 -#define ahc_be32toh(ahc_be32toh128,4545 -#define ahc_be64toh(ahc_be64toh129,4583 -#define ahc_le16toh(ahc_le16toh130,4621 -#define ahc_le32toh(ahc_le32toh131,4659 -#define ahc_le64toh(ahc_le64toh132,4697 -#define LITTLE_ENDIAN 135,4758 -#define BIG_ENDIAN 139,4812 -#define BYTE_ORDER 144,4889 -#define BYTE_ORDER 147,4955 -typedef dma_addr_t bus_addr_t;bus_addr_t160,5384 -typedef uint32_t bus_addr_t;bus_addr_t162,5421 -typedef uint32_t bus_size_t;bus_size_t164,5457 - BUS_SPACE_MEMIO,167,5502 - BUS_SPACE_PIO168,5520 -} bus_space_tag_t;bus_space_tag_t169,5535 -} bus_space_handle_t;bus_space_handle_t174,5616 -typedef struct bus_dma_segmentbus_dma_segment176,5639 -} bus_dma_segment_t;bus_dma_segment_t180,5713 -struct ahc_linux_dma_tagahc_linux_dma_tag182,5735 -typedef struct ahc_linux_dma_tag* bus_dma_tag_t;bus_dma_tag_t188,5831 -struct ahc_linux_dmamapahc_linux_dmamap190,5881 -typedef struct ahc_linux_dmamap* bus_dmamap_t;bus_dmamap_t194,5932 -typedef int bus_dma_filter_t(bus_dma_filter_t196,5980 -typedef void bus_dmamap_callback_t(bus_dmamap_callback_t197,6029 -#define BUS_DMA_WAITOK 199,6105 -#define BUS_DMA_NOWAIT 200,6133 -#define BUS_DMA_ALLOCNOW 201,6161 -#define BUS_DMA_LOAD_SEGS 202,6190 -#define BUS_SPACE_MAXADDR 207,6294 -#define BUS_SPACE_MAXADDR_32BIT 208,6331 -#define BUS_SPACE_MAXSIZE_32BIT 209,6374 -#define BUS_DMASYNC_PREREAD 241,7524 -#define BUS_DMASYNC_POSTREAD 242,7588 -#define BUS_DMASYNC_PREWRITE 243,7654 -#define BUS_DMASYNC_POSTWRITE 244,7720 -#define ahc_dmamap_sync(ahc_dmamap_sync254,8067 -typedef struct timer_list ahc_timer_t;ahc_timer_t257,8212 -#define AIC_DEBUG_REGISTERS 261,8372 -#define AIC_DEBUG_REGISTERS 263,8408 -#define ahc_timer_init 268,8548 -#define ahc_timer_stop 269,8582 -typedef void ahc_linux_callback_t ahc_linux_callback_t270,8620 -ahc_timer_reset(276,8869 -ahc_scb_timer_reset(289,9194 -#define AHC_SCSI_HAS_HOST_LOCK 302,9638 -#define AHC_SCSI_HAS_HOST_LOCK 304,9677 -#define AIC7XXX_DRIVER_VERSION 307,9718 -struct ahc_cmd_internal ahc_cmd_internal316,10126 - STAILQ_ENTRY(STAILQ_ENTRY320,10262 -struct ahc_cmd ahc_cmd327,10376 -#define acmd_icmd(acmd_icmd334,10474 -#define acmd_scsi_cmd(acmd_scsi_cmd335,10514 -#define acmd_links 336,10562 - AHC_DEV_UNCONFIGURED 348,11061 - AHC_DEV_UNCONFIGURED = 0x01,348,11061 - AHC_DEV_FREEZE_TIL_EMPTY 349,11092 - AHC_DEV_FREEZE_TIL_EMPTY = 0x02,349,11092 - AHC_DEV_TIMER_ACTIVE 350,11163 - AHC_DEV_TIMER_ACTIVE = 0x04,350,11163 - AHC_DEV_ON_RUN_LIST 351,11220 - AHC_DEV_ON_RUN_LIST = 0x08,351,11220 - AHC_DEV_Q_BASIC 352,11279 - AHC_DEV_Q_BASIC = 0x10,352,11279 - AHC_DEV_Q_TAGGED 353,11339 - AHC_DEV_Q_TAGGED = 0x20,353,11339 - AHC_DEV_PERIODIC_OTAG 354,11406 - AHC_DEV_PERIODIC_OTAG = 0x40,354,11406 - AHC_DEV_SLAVE_CONFIGURED 355,11476 - AHC_DEV_SLAVE_CONFIGURED = 0x80 355,11476 -} ahc_linux_dev_flags;ahc_linux_dev_flags356,11550 -struct ahc_linux_device ahc_linux_device359,11599 - TAILQ_ENTRY(TAILQ_ENTRY360,11625 -#define AHC_TAG_SUCCESS_INTERVAL 397,12422 -#define AHC_LOCK_TAGS_COUNT 424,12978 -#define AHC_OTAG_THRESH 436,13344 - AHC_DV_REQUIRED 444,13474 - AHC_DV_REQUIRED = 0x01,444,13474 - AHC_INQ_VALID 445,13501 - AHC_INQ_VALID = 0x02,445,13501 - AHC_BASIC_DV 446,13526 - AHC_BASIC_DV = 0x04,446,13526 - AHC_ENHANCED_DV 447,13550 - AHC_ENHANCED_DV = 0x08447,13550 -} ahc_linux_targ_flags;ahc_linux_targ_flags448,13576 - AHC_DV_STATE_EXIT 452,13632 - AHC_DV_STATE_INQ_SHORT_ASYNC,453,13656 - AHC_DV_STATE_INQ_ASYNC,454,13687 - AHC_DV_STATE_INQ_ASYNC_VERIFY,455,13712 - AHC_DV_STATE_TUR,456,13744 - AHC_DV_STATE_REBD,457,13763 - AHC_DV_STATE_INQ_VERIFY,458,13783 - AHC_DV_STATE_WEB,459,13809 - AHC_DV_STATE_REB,460,13828 - AHC_DV_STATE_SU,461,13847 - AHC_DV_STATE_BUSY462,13865 -} ahc_dv_state;ahc_dv_state463,13884 -struct ahc_linux_target ahc_linux_target465,13901 -#define AHC_NSEG 503,15127 -#define AHC_LINUX_MIN_NSEG 504,15159 -#define AHC_NSEG 506,15195 - AHC_UP_EH_SEMAPHORE 513,15270 - AHC_UP_EH_SEMAPHORE = 0x1513,15270 -} ahc_linux_scb_flags;ahc_linux_scb_flags514,15297 -struct scb_platform_data scb_platform_data516,15321 - AHC_DV_WAIT_SIMQ_EMPTY 534,15843 - AHC_DV_WAIT_SIMQ_EMPTY = 0x01,534,15843 - AHC_DV_WAIT_SIMQ_RELEASE 535,15876 - AHC_DV_WAIT_SIMQ_RELEASE = 0x02,535,15876 - AHC_DV_ACTIVE 536,15910 - AHC_DV_ACTIVE = 0x04,536,15910 - AHC_DV_SHUTDOWN 537,15935 - AHC_DV_SHUTDOWN = 0x08,537,15935 - AHC_RUN_CMPLT_Q_TIMER 538,15962 - AHC_RUN_CMPLT_Q_TIMER = 0x10538,15962 -} ahc_linux_softc_flags;ahc_linux_softc_flags539,15993 -struct ahc_platform_data ahc_platform_data543,16056 - TAILQ_HEAD(TAILQ_HEAD548,16189 -#define AHC_LINUX_NOIRQ 566,16737 -#define printf 575,17035 -#define M_NOWAIT 576,17057 -#define M_WAITOK 577,17085 -#define malloc(malloc578,17104 -#define free(free579,17159 -ahc_inb(606,17908 -ahc_outb(620,18130 -ahc_outsb(631,18344 -ahc_insb(645,18665 -struct info_str info_str665,19243 -ahc_lockinit(699,20593 -ahc_lock(705,20704 -ahc_unlock(711,20844 -ahc_midlayer_entrypoint_lock(717,20991 -ahc_midlayer_entrypoint_unlock(733,21511 -ahc_done_lockinit(742,21728 -ahc_done_lock(752,21971 -ahc_done_unlock(760,22141 -ahc_list_lockinit(768,22318 -ahc_list_lock(774,22405 -ahc_list_unlock(780,22515 -#define PCIR_DEVVENDOR 795,22972 -#define PCIR_VENDOR 796,23001 -#define PCIR_DEVICE 797,23027 -#define PCIR_COMMAND 798,23053 -#define PCIM_CMD_PORTEN 799,23080 -#define PCIM_CMD_MEMEN 800,23112 -#define PCIM_CMD_BUSMASTEREN 801,23143 -#define PCIM_CMD_MWRICEN 802,23179 -#define PCIM_CMD_PERRESPEN 803,23211 -#define PCIM_CMD_SERRESPEN 804,23245 -#define PCIR_STATUS 805,23279 -#define PCIR_REVID 806,23305 -#define PCIR_PROGIF 807,23330 -#define PCIR_SUBCLASS 808,23356 -#define PCIR_CLASS 809,23384 -#define PCIR_CACHELNSZ 810,23409 -#define PCIR_LATTIMER 811,23438 -#define PCIR_HEADERTYPE 812,23466 -#define PCIM_MFDEV 813,23496 -#define PCIR_BIST 814,23521 -#define PCIR_CAP_PTR 815,23545 -#define PCIR_MAPS 818,23622 -#define PCIR_SUBVEND_0 819,23645 -#define PCIR_SUBDEV_0 820,23673 - AHC_POWER_STATE_D0,828,23817 - AHC_POWER_STATE_D1,829,23838 - AHC_POWER_STATE_D2,830,23859 - AHC_POWER_STATE_D3831,23880 -} ahc_power_state;ahc_power_state832,23900 -#define CONFIG_EISA838,24130 -static inline int ahc_linux_eisa_init(849,24426 -static inline void ahc_linux_eisa_exit(852,24491 -ahc_pci_read_config(869,25026 -ahc_pci_write_config(903,25632 -ahc_get_pci_function(923,26078 -ahc_get_pci_slot(930,26232 -ahc_get_pci_bus(937,26381 -static inline int ahc_linux_pci_init(942,26456 -static inline void ahc_linux_pci_exit(945,26514 -ahc_flush_device_writes(951,26657 -#define pci_map_sg(pci_map_sg958,26836 -#define pci_unmap_sg(pci_unmap_sg959,26894 -#define sg_dma_address(sg_dma_address960,26947 -#define sg_dma_len(sg_dma_len961,27003 -#define pci_map_single(pci_map_single962,27041 -#define pci_unmap_single(pci_unmap_single964,27123 -#define ahc_pci_set_dma_mask 968,27237 -#define ahc_pci_set_dma_mask(ahc_pci_set_dma_mask973,27330 -#define AHC_DV_CMD(AHC_DV_CMD985,27801 -#define AHC_DV_SIMQ_FROZEN(AHC_DV_SIMQ_FROZEN986,27869 -void ahc_cmd_set_transaction_status(1016,29500 -void ahc_set_transaction_status(1023,29662 -void ahc_cmd_set_scsi_status(1029,29802 -void ahc_set_scsi_status(1036,29934 -uint32_t ahc_cmd_get_transaction_status(1042,30061 -uint32_t ahc_get_transaction_status(1048,30187 -uint32_t ahc_cmd_get_scsi_status(1054,30316 -uint32_t ahc_get_scsi_status(1060,30418 -void ahc_set_transaction_tag(1066,30533 -u_long ahc_get_transfer_length(1075,30733 -int ahc_get_transfer_dir(1081,30842 -void ahc_set_residual(1105,31390 -void ahc_set_sense_residual(1115,31590 -u_long ahc_get_residual(1121,31712 -u_long ahc_get_sense_residual(1131,31902 -int ahc_perform_autosense(1137,32013 -ahc_get_sense_bufsize(1148,32217 -ahc_notify_xfer_settings_change(1154,32347 -ahc_platform_scb_free(1161,32497 -ahc_freeze_scb(1171,32810 -#define AHC_PCI_CONFIG 1195,33739 -#define AHC_PCI_CONFIG 1197,33770 -#define bootverbose 1199,33802 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7770_osm.c,707 -#define EISA_MFCTR_CHAR0(EISA_MFCTR_CHAR048,2142 -#define EISA_MFCTR_CHAR1(EISA_MFCTR_CHAR149,2221 -#define EISA_MFCTR_CHAR2(EISA_MFCTR_CHAR250,2300 -#define EISA_PRODUCT_ID(EISA_PRODUCT_ID51,2379 -#define EISA_REVISION_ID(EISA_REVISION_ID52,2458 -static struct eisa_driver aic7770_driver 56,2649 -typedef struct device *aic7770_dev_t;aic7770_dev_t64,2810 -#define MINSLOT 66,2855 -#define NUMSLOTS 67,2875 -#define IDOFFSET 68,2896 -typedef void *aic7770_dev_t;aic7770_dev_t70,2920 -ahc_linux_eisa_init(77,3066 -ahc_linux_eisa_exit(160,5164 -aic7770_linux_config(169,5364 -aic7770_map_registers(207,6247 -aic7770_map_int(226,6692 -aic7770_eisa_dev_probe(244,7048 -aic7770_eisa_dev_remove(254,7291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_93cx6.h,350 -#define _AIC7XXX_93CX6_H_46,2179 - C46 49,2221 - C56_66 50,2231 -} seeprom_chip_t;seeprom_chip_t51,2243 -struct seeprom_descriptor seeprom_descriptor53,2262 -#define SEEPROM_INB(SEEPROM_INB83,2992 -#define SEEPROM_OUTB(SEEPROM_OUTB85,3062 -#define SEEPROM_STATUS_INB(SEEPROM_STATUS_INB91,3223 -#define SEEPROM_DATA_INB(SEEPROM_DATA_INB93,3299 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_inline.h,942 -#define _AIC7XXX_INLINE_H_46,2075 -ahc_pause_bug_fix(63,2839 -ahc_is_paused(74,3102 -ahc_pause(87,3508 -ahc_unpause(112,4215 -ahc_freeze_untagged_queues(127,4727 -ahc_release_untagged_queues(140,5114 -ahc_sg_bus_to_virt(167,5996 -ahc_sg_virt_to_bus(179,6266 -ahc_hscb_busaddr(190,6519 -ahc_sync_scb(197,6679 -ahc_sync_sglist(206,6940 -ahc_targetcmd_offset(218,7285 -ahc_name(227,7571 -ahc_update_residual(271,9109 -ahc_fetch_transinfo(285,9454 -ahc_inw(301,9989 -ahc_outw(307,10118 -ahc_inl(314,10286 -ahc_outl(323,10500 -ahc_inq(332,10771 -ahc_outq(345,11185 -ahc_get_scb(361,11715 -ahc_free_scb(379,12093 -ahc_lookup_scb(396,12512 -ahc_swap_with_next_hscb(408,12754 -ahc_queue_scb(448,14049 -ahc_get_sense_buf(488,15107 -ahc_get_sense_bufaddr(497,15291 -ahc_sync_qoutfifo(513,15873 -ahc_sync_tqinfifo(520,16051 -#define AHC_RUN_QOUTFIFO 537,16455 -#define AHC_RUN_TQINFIFO 538,16484 -ahc_check_cmdcmpltqueues(540,16535 -ahc_intr(569,17326 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aiclib.h,12511 -#define _AICLIB_H58,2694 -typedef void irqreturn_t;irqreturn_t64,2767 -#define IRQ_RETVAL(IRQ_RETVAL65,2793 -#define SCSI_CTL_LINK 75,2925 -#define SCSI_CTL_FLAG 76,2953 -#define SCSI_CTL_VENDOR 77,2981 -#define SCSI_CMD_LUN 78,3011 -#define SCSI_CMD_LUN_SHIFT 79,3075 -#define SCSI_MAX_CDBLEN 81,3144 -#define SCSI_CDB6_LEN(SCSI_CDB6_LEN86,3292 - SS_NOP 94,3565 - SS_NOP = 0x000000,94,3565 - SS_RETRY 95,3603 - SS_RETRY = 0x010000,95,3603 - SS_FAIL 96,3649 - SS_FAIL = 0x020000,96,3649 - SS_START 97,3686 - SS_START = 0x030000,97,3686 - SS_TUR 100,3808 - SS_TUR = 0x040000,100,3808 - SS_REQSENSE 103,3934 - SS_REQSENSE = 0x050000,103,3934 - SS_INQ_REFRESH 106,4061 - SS_INQ_REFRESH = 0x060000,106,4061 - SS_MASK 107,4089 - SS_MASK = 0xff0000107,4089 -} aic_sense_action;aic_sense_action108,4110 - SSQ_NONE 111,4146 - SSQ_NONE = 0x0000,111,4146 - SSQ_DECREMENT_COUNT 112,4167 - SSQ_DECREMENT_COUNT = 0x0100,112,4167 - SSQ_MANY 113,4231 - SSQ_MANY = 0x0200,113,4231 - SSQ_RANGE 114,4290 - SSQ_RANGE = 0x0400,114,4290 - SSQ_PRINT_SENSE 120,4472 - SSQ_PRINT_SENSE = 0x0800,120,4472 - SSQ_DELAY 121,4500 - SSQ_DELAY = 0x1000,121,4500 - SSQ_DELAY_RANDOM 122,4549 - SSQ_DELAY_RANDOM = 0x2000,122,4549 - SSQ_FALLBACK 123,4615 - SSQ_FALLBACK = 0x4000,123,4615 - SSQ_MASK 124,4678 - SSQ_MASK = 0xff00124,4678 -} aic_sense_action_qualifier;aic_sense_action_qualifier125,4698 -#define SS_ERRMASK 128,4764 -#define SS_RDEF 131,4831 -#define SS_RET 134,4964 -#define SS_FATAL 137,5084 -struct scsi_genericscsi_generic139,5126 -struct scsi_request_sensescsi_request_sense145,5189 -struct scsi_test_unit_readyscsi_test_unit_ready154,5309 -struct scsi_send_diagscsi_send_diag162,5414 -#define SSD_UOL 166,5471 -#define SSD_DOL 167,5493 -#define SSD_SELFTEST 168,5515 -#define SSD_PF 169,5541 -struct scsi_sensescsi_sense175,5626 -struct scsi_inquiryscsi_inquiry184,5738 -#define SI_EVPD 188,5793 -struct scsi_mode_sense_6scsi_mode_sense_6195,5892 -#define SMS_DBD 199,5952 -#define SMS_PAGE_CODE 201,5991 -#define SMS_VENDOR_SPECIFIC_PAGE 202,6021 -#define SMS_DISCONNECT_RECONNECT_PAGE 203,6059 -#define SMS_PERIPHERAL_DEVICE_PAGE 204,6102 -#define SMS_CONTROL_MODE_PAGE 205,6142 -#define SMS_ALL_PAGES_PAGE 206,6178 -#define SMS_PAGE_CTRL_MASK 207,6211 -#define SMS_PAGE_CTRL_CURRENT 208,6244 -#define SMS_PAGE_CTRL_CHANGEABLE 209,6281 -#define SMS_PAGE_CTRL_DEFAULT 210,6320 -#define SMS_PAGE_CTRL_SAVED 211,6357 -struct scsi_mode_sense_10scsi_mode_sense_10217,6448 -struct scsi_mode_select_6scsi_mode_select_6227,6655 -#define SMS_SP 231,6716 -#define SMS_PF 232,6736 -struct scsi_mode_select_10scsi_mode_select_10238,6815 -struct scsi_mode_hdr_6scsi_mode_hdr_6250,7054 -struct scsi_mode_hdr_10scsi_mode_hdr_10258,7172 -struct scsi_mode_block_descrscsi_mode_block_descr267,7319 -struct scsi_log_sensescsi_log_sense275,7443 -#define SLS_SP 279,7500 -#define SLS_PPC 280,7523 -#define SLS_PAGE_CODE 282,7562 -#define SLS_ALL_PAGES_PAGE 283,7592 -#define SLS_OVERRUN_PAGE 284,7625 -#define SLS_ERROR_WRITE_PAGE 285,7656 -#define SLS_ERROR_READ_PAGE 286,7691 -#define SLS_ERROR_READREVERSE_PAGE 287,7725 -#define SLS_ERROR_VERIFY_PAGE 288,7765 -#define SLS_ERROR_NONMEDIUM_PAGE 289,7801 -#define SLS_ERROR_LASTN_PAGE 290,7839 -#define SLS_PAGE_CTRL_MASK 291,7874 -#define SLS_PAGE_CTRL_THRESHOLD 292,7907 -#define SLS_PAGE_CTRL_CUMULATIVE 293,7945 -#define SLS_PAGE_CTRL_THRESH_DEFAULT 294,7983 -#define SLS_PAGE_CTRL_CUMUL_DEFAULT 295,8025 -struct scsi_log_selectscsi_log_select302,8152 -#define SLS_PCR 307,8231 -struct scsi_log_headerscsi_log_header319,8516 -struct scsi_log_param_header scsi_log_param_header326,8600 -#define SLP_LP 329,8679 -#define SLP_LBIN 330,8702 -#define SLP_TMC_MASK 331,8726 -#define SLP_TMC_ALWAYS 332,8754 -#define SLP_TMC_EQUAL 333,8784 -#define SLP_TMC_NOTEQUAL 334,8813 -#define SLP_TMC_GREATER 335,8844 -#define SLP_ETC 336,8875 -#define SLP_TSD 337,8899 -#define SLP_DS 338,8923 -#define SLP_DU 339,8946 -struct scsi_control_page scsi_control_page343,8993 -#define SCB_RLEC 347,9077 -#define SCP_QUEUE_ALG_MASK 349,9153 -#define SCP_QUEUE_ALG_RESTRICTED 350,9186 -#define SCP_QUEUE_ALG_UNRESTRICTED 351,9224 -#define SCP_QUEUE_ERR 352,9264 -#define SCP_QUEUE_DQUE 353,9325 -#define SCP_EECA 355,9401 -#define SCP_RAENP 356,9448 -#define SCP_UAAENP 357,9498 -#define SCP_EAENP 358,9546 -struct scsi_reservescsi_reserve363,9651 -struct scsi_releasescsi_release372,9765 -struct scsi_preventscsi_prevent381,9879 -#define PR_PREVENT 389,9989 -#define PR_ALLOW 390,10013 -struct scsi_sync_cachescsi_sync_cache392,10038 -struct scsi_changedefscsi_changedef403,10184 -struct scsi_read_bufferscsi_read_buffer414,10333 -#define RWB_MODE 418,10392 -#define RWB_MODE_HDR_DATA 419,10415 -#define RWB_MODE_DATA 420,10446 -#define RWB_MODE_DOWNLOAD 421,10474 -#define RWB_MODE_DOWNLOAD_SAVE 422,10505 -struct scsi_write_bufferscsi_write_buffer429,10651 -struct scsi_rw_6scsi_rw_6439,10793 -#define SRW_TOPADDR 444,10899 -struct scsi_rw_10scsi_rw_10449,10963 -#define SRW10_RELADDR 452,11000 -#define SRW10_FUA 453,11027 -#define SRW10_DPO 454,11050 -struct scsi_rw_12scsi_rw_12462,11168 -#define SRW12_RELADDR 465,11205 -#define SRW12_FUA 466,11232 -#define SRW12_DPO 467,11255 -struct scsi_start_stop_unitscsi_start_stop_unit475,11373 -#define SSS_IMMED 479,11436 -#define SSS_START 482,11496 -#define SSS_LOEJ 483,11520 -#define SC_SCSI_1 487,11565 -#define SC_SCSI_2 488,11588 -#define TEST_UNIT_READY 494,11631 -#define REQUEST_SENSE 495,11661 -#define READ_6 496,11689 -#define WRITE_6 497,11711 -#define INQUIRY 498,11734 -#define MODE_SELECT_6 499,11757 -#define MODE_SENSE_6 500,11785 -#define START_STOP_UNIT 501,11812 -#define START_STOP 502,11842 -#define RESERVE 503,11867 -#define RELEASE 504,11895 -#define RECEIVE_DIAGNOSTIC 505,11923 -#define SEND_DIAGNOSTIC 506,11955 -#define PREVENT_ALLOW 507,11985 -#define READ_CAPACITY 508,12013 -#define READ_10 509,12041 -#define WRITE_10 510,12064 -#define POSITION_TO_ELEMENT 511,12087 -#define SYNCHRONIZE_CACHE 512,12120 -#define WRITE_BUFFER 513,12151 -#define READ_BUFFER 514,12188 -#define CHANGE_DEFINITION 515,12225 -#define LOG_SELECT 516,12256 -#define LOG_SENSE 517,12281 -#define MODE_SENSE_10 519,12319 -#define MODE_SELECT_10 521,12354 -#define MOVE_MEDIUM 522,12383 -#define READ_12 523,12413 -#define WRITE_12 524,12436 -#define READ_ELEMENT_STATUS 525,12459 -#define T_DIRECT 531,12517 -#define T_SEQUENTIAL 532,12539 -#define T_PRINTER 533,12565 -#define T_PROCESSOR 534,12588 -#define T_WORM 535,12613 -#define T_CDROM 536,12634 -#define T_SCANNER 537,12656 -#define T_OPTICAL 538,12680 -#define T_CHANGER 539,12704 -#define T_COMM 540,12727 -#define T_ASC0 541,12748 -#define T_ASC1 542,12769 -#define T_STORARRAY 543,12790 -#define T_ENCLOSURE 544,12815 -#define T_RBC 545,12840 -#define T_OCRW 546,12860 -#define T_NODEVICE 547,12881 -#define T_ANY 548,12905 -#define T_REMOV 550,12960 -#define T_FIXED 551,12979 -#define SHORT_INQUIRY_LENGTH 559,13264 -struct scsi_inquiry_datascsi_inquiry_data561,13297 -#define SID_TYPE(SID_TYPE564,13341 -#define SID_QUAL(SID_QUAL565,13396 -#define SID_QUAL_LU_CONNECTED 566,13458 -#define SID_QUAL_LU_OFFLINE 578,13923 -#define SID_QUAL_RSVD 585,14181 -#define SID_QUAL_BAD_LU 586,14209 -#define SID_QUAL_IS_VENDOR_UNIQUE(SID_QUAL_IS_VENDOR_UNIQUE598,14629 -#define SID_QUAL2 600,14728 -#define SID_IS_REMOVABLE(SID_IS_REMOVABLE601,14751 -#define SID_ANSI_REV(SID_ANSI_REV603,14842 -#define SCSI_REV_0 604,14902 -#define SCSI_REV_CCS 605,14925 -#define SCSI_REV_2 606,14950 -#define SCSI_REV_SPC 607,14973 -#define SCSI_REV_SPC2 608,14998 -#define SID_ECMA 610,15025 -#define SID_ISO 611,15047 -#define SID_AENC 613,15095 -#define SID_TrmIOP 614,15117 -#define SID_SftRe 618,15207 -#define SID_CmdQue 619,15230 -#define SID_Linked 620,15254 -#define SID_Sync 621,15278 -#define SID_WBus16 622,15300 -#define SID_WBus32 623,15324 -#define SID_RelAdr 624,15348 -#define SID_VENDOR_SIZE 625,15372 -#define SID_PRODUCT_SIZE 627,15432 -#define SID_REVISION_SIZE 629,15495 -#define SID_VENDOR_SPECIFIC_0_SIZE 635,15683 -#define SID_SPI_IUS 640,15835 -#define SID_SPI_QAS 641,15861 -#define SID_SPI_CLOCK_ST 642,15887 -#define SID_SPI_CLOCK_DT 643,15917 -#define SID_SPI_CLOCK_DT_ST 644,15947 -#define SID_SPI_MASK 645,15980 -#define SID_VENDOR_SPECIFIC_1_SIZE 662,16304 -struct scsi_vpd_unit_serial_numberscsi_vpd_unit_serial_number666,16402 -#define SVPD_UNIT_SERIAL_NUMBER 670,16476 -#define SVPD_SERIAL_NUM_SIZE 673,16576 -struct scsi_read_capacityscsi_read_capacity677,16656 -struct scsi_read_capacity_datascsi_read_capacity_data686,16777 -struct scsi_report_lunsscsi_report_luns692,16852 -struct scsi_report_luns_data scsi_report_luns_data701,16971 -#define RPL_LUNDATA_ATYP_MASK 711,17216 -#define RPL_LUNDATA_T0LUN 712,17276 -struct scsi_sense_datascsi_sense_data715,17325 -#define SSD_ERRCODE 718,17371 -#define SSD_CURRENT_ERROR 719,17398 -#define SSD_DEFERRED_ERROR 720,17430 -#define SSD_ERRCODE_VALID 721,17463 -#define SSD_KEY 724,17529 -#define SSD_KEY_NO_SENSE 725,17553 -#define SSD_KEY_RECOVERED_ERROR 726,17584 -#define SSD_KEY_NOT_READY 727,17622 -#define SSD_KEY_MEDIUM_ERROR 728,17654 -#define SSD_KEY_HARDWARE_ERROR 729,17689 -#define SSD_KEY_ILLEGAL_REQUEST 730,17726 -#define SSD_KEY_UNIT_ATTENTION 731,17764 -#define SSD_KEY_DATA_PROTECT 732,17801 -#define SSD_KEY_BLANK_CHECK 733,17836 -#define SSD_KEY_Vendor_Specific 734,17870 -#define SSD_KEY_COPY_ABORTED 735,17908 -#define SSD_KEY_ABORTED_COMMAND 736,17943 -#define SSD_KEY_EQUAL 737,17983 -#define SSD_KEY_VOLUME_OVERFLOW 738,18012 -#define SSD_KEY_MISCOMPARE 739,18050 -#define SSD_KEY_RESERVED 740,18083 -#define SSD_ILI 741,18117 -#define SSD_EOM 742,18139 -#define SSD_FILEMARK 743,18161 -#define SSD_SCS_VALID 751,18349 -#define SSD_FIELDPTR_CMD 752,18377 -#define SSD_BITPTR_VALID 753,18407 -#define SSD_BITPTR_VALUE 754,18437 -#define SSD_MIN_SIZE 755,18467 -#define SSD_FULL_SIZE 757,18517 -struct scsi_mode_header_6scsi_mode_header_6760,18574 -struct scsi_mode_header_10scsi_mode_header_10768,18716 -struct scsi_mode_page_headerscsi_mode_page_header777,18884 -struct scsi_mode_blk_descscsi_mode_blk_desc783,18961 -#define SCSI_DEFAULT_DENSITY 791,19071 -#define SCSI_SAME_DENSITY 792,19133 -#define SCSI_STATUS_OK 798,19229 -#define SCSI_STATUS_CHECK_COND 799,19259 -#define SCSI_STATUS_COND_MET 800,19296 -#define SCSI_STATUS_BUSY 801,19331 -#define SCSI_STATUS_INTERMED 802,19362 -#define SCSI_STATUS_INTERMED_COND_MET 803,19397 -#define SCSI_STATUS_RESERV_CONFLICT 804,19440 -#define SCSI_STATUS_CMD_TERMINATED 805,19481 -#define SCSI_STATUS_QUEUE_FULL 806,19545 -#define SCSI_STATUS_ACA_ACTIVE 807,19582 -#define SCSI_STATUS_TASK_ABORTED 808,19619 -struct scsi_inquiry_pattern scsi_inquiry_pattern810,19658 -#define SIP_MEDIA_REMOVABLE 813,19728 -#define SIP_MEDIA_FIXED 814,19761 -struct scsi_static_inquiry_pattern scsi_static_inquiry_pattern820,19862 -struct scsi_sense_quirk_entry scsi_sense_quirk_entry828,20066 -struct sense_key_table_entry sense_key_table_entry836,20265 -struct asc_table_entry asc_table_entry842,20362 -struct op_table_entry op_table_entry849,20465 -struct scsi_op_quirk_entry scsi_op_quirk_entry855,20553 - SSS_FLAG_NONE 862,20691 - SSS_FLAG_NONE = 0x00,862,20691 - SSS_FLAG_PRINT_COMMAND 863,20715 - SSS_FLAG_PRINT_COMMAND = 0x01863,20715 -} scsi_sense_string_flags;scsi_sense_string_flags864,20746 -aic_sector_div(873,21043 -aic_sector_div(881,21249 -#define AIC_LIB_ENTRY_CONCAT(AIC_LIB_ENTRY_CONCAT898,21933 -#define AIC_LIB_ENTRY_EXPAND(AIC_LIB_ENTRY_EXPAND899,21985 -#define AIC_LIB_ENTRY(AIC_LIB_ENTRY900,22057 -#define aic_sense_desc 902,22124 -#define aic_sense_error_action 903,22176 -#define aic_error_action 904,22243 -#define aic_op_desc 905,22298 -#define aic_cdb_string 906,22344 -#define aic_print_inquiry 907,22396 -#define aic_calc_syncsrate 908,22453 -#define aic_calc_syncparam 909,22511 -#define aic_calc_speed 910,22570 -#define aic_inquiry_match 911,22622 -#define aic_static_inquiry_match 912,22679 -#define aic_parse_brace_option 913,22749 -#define SF_RETRY_UA 928,23339 -#define SF_NO_PRINT 929,23364 -#define SF_QUIET_IR 930,23389 -#define SF_PRINT_ALWAYS 931,23460 -typedef void aic_option_callback_t(aic_option_callback_t949,24065 -static __inline void scsi_extract_sense(965,24825 -scsi_ulto2b(976,25212 -scsi_ulto3b(984,25336 -scsi_ulto4b(993,25492 -scsi_2btoul(1003,25684 -scsi_3btoul(1013,25811 -scsi_3btol(1024,25963 -scsi_4btoul(1035,26122 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx.h,15107 -#define _AIC7XXX_H_46,2082 -#define MAX(MAX58,2410 -#define MIN(MIN62,2473 -#define TRUE 66,2537 -#define FALSE 69,2573 -#define NUM_ELEMENTS(NUM_ELEMENTS72,2597 -#define ALL_CHANNELS 74,2659 -#define ALL_TARGETS_MASK 75,2685 -#define INITIATOR_WILDCARD 76,2717 -#define SCSIID_TARGET(SCSIID_TARGET78,2750 -#define SCSIID_OUR_ID(SCSIID_OUR_ID81,2874 -#define SCSIID_CHANNEL(SCSIID_CHANNEL83,2924 -#define SCB_IS_SCSIBUS_B(SCB_IS_SCSIBUS_B87,3073 -#define SCB_GET_OUR_ID(SCB_GET_OUR_ID89,3161 -#define SCB_GET_TARGET(SCB_GET_TARGET91,3227 -#define SCB_GET_CHANNEL(SCB_GET_CHANNEL93,3305 -#define SCB_GET_LUN(SCB_GET_LUN95,3383 -#define SCB_GET_TARGET_OFFSET(SCB_GET_TARGET_OFFSET97,3436 -#define SCB_GET_TARGET_MASK(SCB_GET_TARGET_MASK99,3545 -#define SCB_IS_SILENT(SCB_IS_SILENT102,3647 -#define SCB_IS_SILENT(SCB_IS_SILENT106,3778 -#define TCL_TARGET_OFFSET(TCL_TARGET_OFFSET109,3854 -#define TCL_LUN(TCL_LUN111,3916 -#define BUILD_TCL(BUILD_TCL113,3967 -#define AHC_TMODE_ENABLE 118,4084 -#define AHC_NUM_TARGETS 125,4251 -#define AHC_NUM_LUNS 133,4511 -#define AHC_MAXTRANSFER_SIZE 138,4584 -#define AHC_SCB_MAX 145,4829 -#define AHC_MAX_QUEUE 165,5887 -#define AHC_SCB_MAX_ALLOC 172,6085 -#define AHC_TMODE_CMDS 179,6294 -#define AHC_BUSRESET_DELAY 182,6360 - AHC_NONE 190,6576 - AHC_NONE = 0x0000,190,6576 - AHC_CHIPID_MASK 191,6596 - AHC_CHIPID_MASK = 0x00FF,191,6596 - AHC_AIC7770 192,6623 - AHC_AIC7770 = 0x0001,192,6623 - AHC_AIC7850 193,6646 - AHC_AIC7850 = 0x0002,193,6646 - AHC_AIC7855 194,6669 - AHC_AIC7855 = 0x0003,194,6669 - AHC_AIC7859 195,6692 - AHC_AIC7859 = 0x0004,195,6692 - AHC_AIC7860 196,6715 - AHC_AIC7860 = 0x0005,196,6715 - AHC_AIC7870 197,6738 - AHC_AIC7870 = 0x0006,197,6738 - AHC_AIC7880 198,6761 - AHC_AIC7880 = 0x0007,198,6761 - AHC_AIC7895 199,6784 - AHC_AIC7895 = 0x0008,199,6784 - AHC_AIC7895C 200,6807 - AHC_AIC7895C = 0x0009,200,6807 - AHC_AIC7890 201,6831 - AHC_AIC7890 = 0x000a,201,6831 - AHC_AIC7896 202,6854 - AHC_AIC7896 = 0x000b,202,6854 - AHC_AIC7892 203,6877 - AHC_AIC7892 = 0x000c,203,6877 - AHC_AIC7899 204,6900 - AHC_AIC7899 = 0x000d,204,6900 - AHC_VL 205,6923 - AHC_VL = 0x0100,205,6923 - AHC_EISA 206,6960 - AHC_EISA = 0x0200,206,6960 - AHC_PCI 207,7000 - AHC_PCI = 0x0400,207,7000 - AHC_BUS_MASK 208,7039 - AHC_BUS_MASK = 0x0F00208,7039 -} ahc_chip;ahc_chip209,7062 - AHC_FENONE 215,7138 - AHC_FENONE = 0x00000,215,7138 - AHC_ULTRA 216,7161 - AHC_ULTRA = 0x00001,216,7161 - AHC_ULTRA2 217,7214 - AHC_ULTRA2 = 0x00002,217,7214 - AHC_WIDE 218,7268 - AHC_WIDE = 0x00004,218,7268 - AHC_TWIN 219,7310 - AHC_TWIN = 0x00008,219,7310 - AHC_MORE_SRAM 220,7350 - AHC_MORE_SRAM = 0x00010,220,7350 - AHC_CMD_CHAN 221,7405 - AHC_CMD_CHAN = 0x00020,221,7405 - AHC_QUEUE_REGS 222,7462 - AHC_QUEUE_REGS = 0x00040,222,7462 - AHC_SG_PRELOAD 223,7526 - AHC_SG_PRELOAD = 0x00080,223,7526 - AHC_SPIOCAP 224,7587 - AHC_SPIOCAP = 0x00100,224,7587 - AHC_MULTI_TID 225,7652 - AHC_MULTI_TID = 0x00200,225,7652 - AHC_HS_MAILBOX 226,7718 - AHC_HS_MAILBOX = 0x00400,226,7718 - AHC_DT 227,7775 - AHC_DT = 0x00800,227,7775 - AHC_NEW_TERMCTL 228,7829 - AHC_NEW_TERMCTL = 0x01000,228,7829 - AHC_MULTI_FUNC 229,7888 - AHC_MULTI_FUNC = 0x02000,229,7888 - AHC_LARGE_SCBS 230,7956 - AHC_LARGE_SCBS = 0x04000,230,7956 - AHC_AUTORATE 231,8001 - AHC_AUTORATE = 0x08000,231,8001 - AHC_AUTOPAUSE 232,8067 - AHC_AUTOPAUSE = 0x10000,232,8067 - AHC_TARGETMODE 233,8134 - AHC_TARGETMODE = 0x20000,233,8134 - AHC_MULTIROLE 234,8198 - AHC_MULTIROLE = 0x40000,234,8198 - AHC_REMOVABLE 235,8260 - AHC_REMOVABLE = 0x80000,235,8260 - AHC_AIC7770_FE 236,8311 - AHC_AIC7770_FE = AHC_FENONE,236,8311 - AHC_AIC7850_FE 244,8670 - AHC_AIC7850_FE = AHC_SPIOCAP|244,8670 - AHC_AIC7850_FE = AHC_SPIOCAP|AHC_AUTOPAUSE|244,8670 - AHC_AIC7850_FE = AHC_SPIOCAP|AHC_AUTOPAUSE|AHC_TARGETMODE|244,8670 - AHC_AIC7850_FE = AHC_SPIOCAP|AHC_AUTOPAUSE|AHC_TARGETMODE|AHC_ULTRA,244,8670 - AHC_AIC7860_FE 245,8740 - AHC_AIC7860_FE = AHC_AIC7850_FE,245,8740 - AHC_AIC7870_FE 246,8774 - AHC_AIC7870_FE = AHC_TARGETMODE,246,8774 - AHC_AIC7880_FE 247,8808 - AHC_AIC7880_FE = AHC_AIC7870_FE|247,8808 - AHC_AIC7880_FE = AHC_AIC7870_FE|AHC_ULTRA,247,8808 - AHC_AIC7890_FE 257,9240 - AHC_AIC7890_FE = AHC_MORE_SRAM|257,9240 - AHC_AIC7890_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|257,9240 - AHC_AIC7890_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA2257,9240 - |AHC_QUEUE_REGS|258,9296 - |AHC_QUEUE_REGS|AHC_SG_PRELOAD|258,9296 - |AHC_QUEUE_REGS|AHC_SG_PRELOAD|AHC_MULTI_TID258,9296 - |AHC_HS_MAILBOX|259,9346 - |AHC_HS_MAILBOX|AHC_NEW_TERMCTL|259,9346 - |AHC_HS_MAILBOX|AHC_NEW_TERMCTL|AHC_LARGE_SCBS259,9346 - |AHC_TARGETMODE,260,9398 - AHC_AIC7892_FE 261,9420 - AHC_AIC7892_FE = AHC_AIC7890_FE|261,9420 - AHC_AIC7892_FE = AHC_AIC7890_FE|AHC_DT|261,9420 - AHC_AIC7892_FE = AHC_AIC7890_FE|AHC_DT|AHC_AUTORATE|261,9420 - AHC_AIC7892_FE = AHC_AIC7890_FE|AHC_DT|AHC_AUTORATE|AHC_AUTOPAUSE,261,9420 - AHC_AIC7895_FE 262,9488 - AHC_AIC7895_FE = AHC_AIC7880_FE|262,9488 - AHC_AIC7895_FE = AHC_AIC7880_FE|AHC_MORE_SRAM|262,9488 - AHC_AIC7895_FE = AHC_AIC7880_FE|AHC_MORE_SRAM|AHC_AUTOPAUSE262,9488 - |AHC_CMD_CHAN|263,9549 - |AHC_CMD_CHAN|AHC_MULTI_FUNC|263,9549 - |AHC_CMD_CHAN|AHC_MULTI_FUNC|AHC_LARGE_SCBS,263,9549 - AHC_AIC7895C_FE 264,9599 - AHC_AIC7895C_FE = AHC_AIC7895_FE|264,9599 - AHC_AIC7895C_FE = AHC_AIC7895_FE|AHC_MULTI_TID,264,9599 - AHC_AIC7896_FE 265,9648 - AHC_AIC7896_FE = AHC_AIC7890_FE|265,9648 - AHC_AIC7896_FE = AHC_AIC7890_FE|AHC_MULTI_FUNC,265,9648 - AHC_AIC7899_FE 266,9697 - AHC_AIC7899_FE = AHC_AIC7892_FE|266,9697 - AHC_AIC7899_FE = AHC_AIC7892_FE|AHC_MULTI_FUNC266,9697 -} ahc_feature;ahc_feature267,9745 - AHC_BUGNONE 273,9839 - AHC_BUGNONE = 0x00,273,9839 - AHC_TMODE_WIDEODD_BUG 279,10003 - AHC_TMODE_WIDEODD_BUG = 0x01,279,10003 - AHC_AUTOFLUSH_BUG 285,10168 - AHC_AUTOFLUSH_BUG = 0x02,285,10168 - AHC_CACHETHEN_BUG 289,10258 - AHC_CACHETHEN_BUG = 0x04,289,10258 - AHC_CACHETHEN_DIS_BUG 294,10364 - AHC_CACHETHEN_DIS_BUG = 0x08,294,10364 - AHC_PCI_2_1_RETRY_BUG 298,10454 - AHC_PCI_2_1_RETRY_BUG = 0x10,298,10454 - AHC_PCI_MWI_BUG 304,10615 - AHC_PCI_MWI_BUG = 0x20,304,10615 - AHC_SCBCHAN_UPLOAD_BUG 311,10799 - AHC_SCBCHAN_UPLOAD_BUG = 0x40311,10799 -} ahc_bug;ahc_bug312,10830 - AHC_FNONE 320,10991 - AHC_FNONE = 0x000,320,10991 - AHC_PRIMARY_CHANNEL 321,11017 - AHC_PRIMARY_CHANNEL = 0x003,321,11017 - AHC_USEDEFAULTS 325,11119 - AHC_USEDEFAULTS = 0x004,325,11119 - AHC_SEQUENCER_DEBUG 331,11302 - AHC_SEQUENCER_DEBUG = 0x008,331,11302 - AHC_SHARED_SRAM 332,11334 - AHC_SHARED_SRAM = 0x010,332,11334 - AHC_LARGE_SEEPROM 333,11366 - AHC_LARGE_SEEPROM = 0x020,333,11366 - AHC_RESET_BUS_A 334,11425 - AHC_RESET_BUS_A = 0x040,334,11425 - AHC_RESET_BUS_B 335,11457 - AHC_RESET_BUS_B = 0x080,335,11457 - AHC_EXTENDED_TRANS_A 336,11489 - AHC_EXTENDED_TRANS_A = 0x100,336,11489 - AHC_EXTENDED_TRANS_B 337,11521 - AHC_EXTENDED_TRANS_B = 0x200,337,11521 - AHC_TERM_ENB_A 338,11553 - AHC_TERM_ENB_A = 0x400,338,11553 - AHC_TERM_ENB_B 339,11584 - AHC_TERM_ENB_B = 0x800,339,11584 - AHC_INITIATORROLE 340,11615 - AHC_INITIATORROLE = 0x1000,340,11615 - AHC_TARGETROLE 344,11727 - AHC_TARGETROLE = 0x2000,344,11727 - AHC_NEWEEPROM_FMT 348,11835 - AHC_NEWEEPROM_FMT = 0x4000,348,11835 - AHC_RESOURCE_SHORTAGE 349,11868 - AHC_RESOURCE_SHORTAGE = 0x8000,349,11868 - AHC_TQINFIFO_BLOCKED 350,11901 - AHC_TQINFIFO_BLOCKED = 0x10000,350,11901 - AHC_INT50_SPEEDFLEX 351,11968 - AHC_INT50_SPEEDFLEX = 0x20000,351,11968 - AHC_SCB_BTT 355,12085 - AHC_SCB_BTT = 0x40000,355,12085 - AHC_BIOS_ENABLED 360,12224 - AHC_BIOS_ENABLED = 0x80000,360,12224 - AHC_ALL_INTERRUPTS 361,12258 - AHC_ALL_INTERRUPTS = 0x100000,361,12258 - AHC_PAGESCBS 362,12293 - AHC_PAGESCBS = 0x400000,362,12293 - AHC_EDGE_INTERRUPT 363,12350 - AHC_EDGE_INTERRUPT = 0x800000,363,12350 - AHC_39BIT_ADDRESSING 364,12424 - AHC_39BIT_ADDRESSING = 0x1000000,364,12424 - AHC_LSCBS_ENABLED 365,12496 - AHC_LSCBS_ENABLED = 0x2000000,365,12496 - AHC_SCB_CONFIG_USED 366,12558 - AHC_SCB_CONFIG_USED = 0x4000000,366,12558 - AHC_NO_BIOS_INIT 367,12630 - AHC_NO_BIOS_INIT = 0x8000000,367,12630 - AHC_DISABLE_PCI_PERR 368,12700 - AHC_DISABLE_PCI_PERR = 0x10000000,368,12700 - AHC_HAS_TERM_LOGIC 369,12737 - AHC_HAS_TERM_LOGIC = 0x20000000369,12737 -} ahc_flag;ahc_flag370,12773 -struct status_pkt status_pkt396,13915 -struct target_data target_data405,14187 -struct hardware_scb hardware_scb414,14574 -#define SG_PTR_MASK 471,16902 -struct ahc_dma_seg ahc_dma_seg514,18485 -#define AHC_DMA_LAST_SEG 517,18537 -#define AHC_SG_HIGH_ADDR_MASK 518,18573 -#define AHC_SG_LEN_MASK 519,18614 -struct sg_map_node sg_map_node522,18654 - SLIST_ENTRY(SLIST_ENTRY526,18761 - SCB_FREE 533,18854 - SCB_FREE = 0x0000,533,18854 - SCB_OTHERTCL_TIMEOUT 534,18875 - SCB_OTHERTCL_TIMEOUT = 0x0002,534,18875 - SCB_DEVICE_RESET 542,19126 - SCB_DEVICE_RESET = 0x0004,542,19126 - SCB_SENSE 543,19154 - SCB_SENSE = 0x0008,543,19154 - SCB_CDB32_PTR 544,19176 - SCB_CDB32_PTR = 0x0010,544,19176 - SCB_RECOVERY_SCB 545,19202 - SCB_RECOVERY_SCB = 0x0020,545,19202 - SCB_AUTO_NEGOTIATE 546,19230 - SCB_AUTO_NEGOTIATE = 0x0040,546,19230 - SCB_NEGOTIATE 547,19292 - SCB_NEGOTIATE = 0x0080,547,19292 - SCB_ABORT 548,19355 - SCB_ABORT = 0x0100,548,19355 - SCB_UNTAGGEDQ 549,19377 - SCB_UNTAGGEDQ = 0x0200,549,19377 - SCB_ACTIVE 550,19403 - SCB_ACTIVE = 0x0400,550,19403 - SCB_TARGET_IMMEDIATE 551,19426 - SCB_TARGET_IMMEDIATE = 0x0800,551,19426 - SCB_TRANSMISSION_ERROR 552,19458 - SCB_TRANSMISSION_ERROR = 0x1000,552,19458 - SCB_TARGET_SCB 562,19790 - SCB_TARGET_SCB = 0x2000,562,19790 - SCB_SILENT 563,19817 - SCB_SILENT = 0x4000 563,19817 -} scb_flag;scb_flag569,20025 -struct scb scb571,20038 - SLIST_ENTRY(SLIST_ENTRY574,20089 -struct scb_data scb_data591,20497 - SLIST_HEAD(SLIST_HEAD592,20515 -struct target_cmd target_cmd633,21740 -#define AHC_TMODE_EVENT_BUFFER_SIZE 659,22564 -struct ahc_tmode_event ahc_tmode_event660,22602 -#define EVENT_TYPE_BUS_RESET 663,22710 -struct ahc_tmode_lstate ahc_tmode_lstate675,23065 -#define AHC_TRANS_CUR 688,23422 -#define AHC_TRANS_ACTIVE 689,23490 -#define AHC_TRANS_GOAL 690,23559 -#define AHC_TRANS_USER 691,23618 -#define AHC_WIDTH_UNKNOWN 693,23687 -#define AHC_PERIOD_UNKNOWN 694,23718 -#define AHC_OFFSET_UNKNOWN 695,23750 -#define AHC_PPR_OPTS_UNKNOWN 696,23782 -struct ahc_transinfo ahc_transinfo701,23861 -struct ahc_initiator_tinfo ahc_initiator_tinfo712,24250 -struct ahc_tmode_tstate ahc_tmode_tstate726,24734 -struct ahc_syncrate ahc_syncrate742,25207 -#define ULTRA_SXFR 745,25363 -#define ST_SXFR 746,25424 -#define DT_SXFR 747,25484 -#define AHC_ASYNC_XFER_PERIOD 753,25666 -#define AHC_ULTRA2_XFER_PERIOD 754,25701 -#define AHC_SYNCRATE_DT 759,25801 -#define AHC_SYNCRATE_ULTRA2 760,25828 -#define AHC_SYNCRATE_ULTRA 761,25858 -#define AHC_SYNCRATE_FAST 762,25887 -#define AHC_SYNCRATE_MAX 763,25915 -#define AHC_SYNCRATE_MIN 764,25956 -struct ahc_phase_table_entry ahc_phase_table_entry771,26157 -struct seeprom_config seeprom_config779,26380 -#define CFXFER 784,26491 -#define CFSYNCH 785,26547 -#define CFDISC 786,26606 -#define CFWIDEB 787,26657 -#define CFSYNCHISULTRA 788,26704 -#define CFSYNCSINGLE 789,26776 -#define CFSTART 790,26840 -#define CFINCBIOS 791,26900 -#define CFRNFOUND 792,26953 -#define CFMULTILUNDEV 793,27010 -#define CFWBCACHEENB 794,27079 -#define CFWBCACHENOP 795,27145 -#define CFSUPREM 801,27275 -#define CFSUPREMB 802,27336 -#define CFBIOSEN 803,27399 -#define CFBIOS_BUSSCAN 804,27443 -#define CFSM2DRV 805,27507 -#define CFSTPWLEVEL 806,27567 -#define CF284XEXTEND 807,27627 -#define CFCTRL_A 808,27697 -#define CFTERM_MENU 809,27758 -#define CFEXTEND 810,27824 -#define CFSCAMEN 811,27884 -#define CFMSG_LEVEL 812,27927 -#define CFMSG_VERBOSE 813,27980 -#define CFMSG_SILENT 814,28011 -#define CFMSG_DIAG 815,28041 -#define CFBOOTCD 816,28069 -#define CFAUTOTERM 823,28226 -#define CFULTRAEN 824,28284 -#define CF284XSELTO 825,28340 -#define CF284XFIFO 826,28409 -#define CFSTERM 827,28475 -#define CFWSTERM 828,28532 -#define CFSPARITY 829,28590 -#define CF284XSTERM 830,28634 -#define CFMULTILUN 831,28705 -#define CFRESETB 832,28732 -#define CFCLUSTERENB 833,28786 -#define CFBOOTCHAN 834,28836 -#define CFBOOTCHANSHIFT 835,28894 -#define CFSEAUTOTERM 836,28921 -#define CFSELOWTERM 837,28990 -#define CFSEHIGHTERM 838,29050 -#define CFENABLEDV 839,29112 -#define CFSCSIID 845,29251 -#define CFBRTIME 847,29325 -#define CFMAXTARG 853,29439 -#define CFBOOTLUN 854,29487 -#define CFBOOTID 855,29536 -#define CFSIGNATURE 858,29674 -#define CFSIGNATURE2 859,29701 - MSG_TYPE_NONE 865,29864 - MSG_TYPE_NONE = 0x00,865,29864 - MSG_TYPE_INITIATOR_MSGOUT 866,29889 - MSG_TYPE_INITIATOR_MSGOUT = 0x01,866,29889 - MSG_TYPE_INITIATOR_MSGIN 867,29924 - MSG_TYPE_INITIATOR_MSGIN = 0x02,867,29924 - MSG_TYPE_TARGET_MSGOUT 868,29958 - MSG_TYPE_TARGET_MSGOUT = 0x03,868,29958 - MSG_TYPE_TARGET_MSGIN 869,29991 - MSG_TYPE_TARGET_MSGIN = 0x04869,29991 -} ahc_msg_type;ahc_msg_type870,30022 - MSGLOOP_IN_PROG,873,30054 - MSGLOOP_MSGCOMPLETE,874,30072 - MSGLOOP_TERMINATED875,30094 -} msg_loop_stat;msg_loop_stat876,30114 -struct ahc_aic7770_softc ahc_aic7770_softc881,30242 -struct ahc_pci_softc ahc_pci_softc889,30364 -union ahc_bus_softc ahc_bus_softc905,30675 -typedef void (*ahc_bus_intr_t)ahc_bus_intr_t910,30775 -typedef int (*ahc_bus_chip_init_t)ahc_bus_chip_init_t911,30827 -typedef int (*ahc_bus_suspend_t)ahc_bus_suspend_t912,30883 -typedef int (*ahc_bus_resume_t)ahc_bus_resume_t913,30937 -typedef void ahc_callback_t ahc_callback_t914,30990 -struct ahc_softc ahc_softc916,31029 - LIST_HEAD(LIST_HEAD929,31316 -#define AHC_PCI_TARGET_PERR_THRESH 1096,35254 - ROLE_UNKNOWN,1119,35856 - ROLE_INITIATOR,1120,35871 - ROLE_TARGET1121,35888 -} role_t;role_t1122,35901 -struct ahc_devinfo ahc_devinfo1124,35912 -typedef int (ahc_device_setup_t)ahc_device_setup_t1138,36225 -struct ahc_pci_identity ahc_pci_identity1140,36280 -struct aic7770_identity aic7770_identity1150,36567 -#define AHC_EISA_SLOT_OFFSET 1159,36780 -#define AHC_EISA_IOSIZE 1160,36815 - SEARCH_COMPLETE,1225,39719 - SEARCH_COUNT,1226,39737 - SEARCH_REMOVE1227,39752 -} ahc_search_action;ahc_search_action1228,39767 - AHC_NEG_TO_GOAL,1277,41817 - AHC_NEG_IF_NON_ASYNC,1278,41883 - AHC_NEG_ALWAYS 1279,41954 -} ahc_neg_type;ahc_neg_type1280,42011 - AHC_QUEUE_NONE,1296,42569 - AHC_QUEUE_BASIC,1297,42586 - AHC_QUEUE_TAGGED1298,42604 -} ahc_queue_alg;ahc_queue_alg1299,42622 -#define AHC_TMODE_ENABLE 1317,43273 -#define AHC_SHOW_MISC 1323,43438 -#define AHC_SHOW_SENSE 1324,43468 -#define AHC_DUMP_SEEPROM 1325,43499 -#define AHC_SHOW_TERMCTL 1326,43531 -#define AHC_SHOW_MEMORY 1327,43563 -#define AHC_SHOW_MESSAGES 1328,43595 -#define AHC_SHOW_DV 1329,43628 -#define AHC_SHOW_SELTO 1330,43656 -#define AHC_SHOW_QFULL 1331,43687 -#define AHC_SHOW_QUEUE 1332,43718 -#define AHC_SHOW_TQIN 1333,43749 -#define AHC_SHOW_MASKED_ERRORS 1334,43779 -#define AHC_DEBUG_SEQUENCER 1335,43817 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/cam.h,2071 -#define _AIC7XXX_CAM_H 36,1614 -#define CAM_BUS_WILDCARD 40,1666 -#define CAM_TARGET_WILDCARD 41,1703 -#define CAM_LUN_WILDCARD 42,1743 - CAM_REQ_INPROG,46,1826 - CAM_REQ_CMP,47,1877 - CAM_REQ_ABORTED,48,1934 - CAM_UA_ABORT,49,1990 - CAM_REQ_CMP_ERR,50,2040 - CAM_BUSY,51,2100 - CAM_REQ_INVALID,52,2139 - CAM_PATH_INVALID,53,2187 - CAM_SEL_TIMEOUT,54,2240 - CAM_CMD_TIMEOUT,55,2289 - CAM_SCSI_STATUS_ERROR,56,2329 - CAM_SCSI_BUS_RESET,57,2397 - CAM_UNCOR_PARITY,58,2453 - CAM_AUTOSENSE_FAIL,59,2514 - CAM_NO_HBA,60,2575 - CAM_DATA_RUN_ERR,61,2617 - CAM_UNEXP_BUSFREE,62,2661 - CAM_SEQUENCE_FAIL,63,2707 - CAM_CCB_LEN_ERR,64,2752 - CAM_PROVIDE_FAIL,65,2810 - CAM_BDR_SENT,66,2874 - CAM_REQ_TERMIO,67,2930 - CAM_UNREC_HBA_ERROR,68,2989 - CAM_REQ_TOO_BIG,69,3054 - CAM_UA_TERMIO,70,3118 - CAM_MSG_REJECT_REC,71,3177 - CAM_DEV_NOT_THERE,72,3228 - CAM_RESRC_UNAVAIL,73,3286 - CAM_REQUEUE_REQ,82,3609 - CAM_DEV_QFRZN 83,3627 - CAM_DEV_QFRZN = 0x40,83,3627 - CAM_STATUS_MASK 85,3652 - CAM_STATUS_MASK = 0x3F85,3652 -} cam_status;cam_status86,3677 -#define SCSI_DATA_READ 89,3739 -#define SCSI_DATA_WRITE 90,3764 -#define SCSI_DATA_NONE 91,3790 - AC_GETDEV_CHANGED 98,3903 - AC_GETDEV_CHANGED = 0x800,98,3903 - AC_INQ_CHANGED 99,3967 - AC_INQ_CHANGED = 0x400,99,3967 - AC_TRANSFER_NEG 100,4030 - AC_TRANSFER_NEG = 0x200,100,4030 - AC_LOST_DEVICE 101,4094 - AC_LOST_DEVICE = 0x100,101,4094 - AC_FOUND_DEVICE 102,4144 - AC_FOUND_DEVICE = 0x080,102,4144 - AC_PATH_DEREGISTERED 103,4199 - AC_PATH_DEREGISTERED = 0x040,103,4199 - AC_PATH_REGISTERED 104,4260 - AC_PATH_REGISTERED = 0x020,104,4260 - AC_SENT_BDR 105,4325 - AC_SENT_BDR = 0x010,105,4325 - AC_SCSI_AEN 106,4386 - AC_SCSI_AEN = 0x008,106,4386 - AC_UNSOL_RESEL 107,4443 - AC_UNSOL_RESEL = 0x002,107,4443 - AC_BUS_RESET 108,4507 - AC_BUS_RESET = 0x001 108,4507 -} ac_code;ac_code109,4562 - CAM_DIR_IN 112,4589 - CAM_DIR_IN = SCSI_DATA_READ,112,4589 - CAM_DIR_OUT 113,4620 - CAM_DIR_OUT = SCSI_DATA_WRITE,113,4620 - CAM_DIR_NONE 114,4653 - CAM_DIR_NONE = SCSI_DATA_NONE114,4653 -} ccb_flags;ccb_flags115,4685 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_pci.c,3313 -ahd_compose_id(55,2272 -#define ID_ALL_MASK 67,2487 -#define ID_ALL_IROC_MASK 68,2531 -#define ID_DEV_VENDOR_MASK 69,2579 -#define ID_9005_GENERIC_MASK 70,2629 -#define ID_9005_GENERIC_IROC_MASK 71,2681 -#define ID_AIC7901 73,2738 -#define ID_AHA_29320A 74,2781 -#define ID_AHA_29320ALP 75,2827 -#define ID_AIC7901A 77,2876 -#define ID_AHA_29320 78,2920 -#define ID_AHA_29320B 79,2965 -#define ID_AHA_29320LP 80,3011 -#define ID_AIC7902 82,3059 -#define ID_AIC7902_B 83,3102 -#define ID_AHA_39320 84,3147 -#define ID_AHA_39320_B 85,3192 -#define ID_AHA_39320A 86,3239 -#define ID_AHA_39320D 87,3285 -#define ID_AHA_39320D_B 88,3331 -#define ID_AHA_39320D_HP 89,3379 -#define ID_AHA_39320D_B_HP 90,3427 -#define ID_AIC7902_PCI_REV_A4 91,3477 -#define ID_AIC7902_PCI_REV_B0 92,3512 -#define SUBID_HP 93,3548 -#define DEVID_9005_HOSTRAID(DEVID_9005_HOSTRAID95,3575 -#define DEVID_9005_TYPE(DEVID_9005_TYPE97,3622 -#define DEVID_9005_TYPE_HBA 98,3663 -#define DEVID_9005_TYPE_HBA_2EXT 99,3717 -#define DEVID_9005_TYPE_IROC 100,3778 -#define DEVID_9005_TYPE_MB 101,3837 -#define DEVID_9005_MFUNC(DEVID_9005_MFUNC103,3892 -#define DEVID_9005_PACKETIZED(DEVID_9005_PACKETIZED105,3936 -#define SUBID_9005_TYPE(SUBID_9005_TYPE107,3987 -#define SUBID_9005_TYPE_HBA 108,4028 -#define SUBID_9005_TYPE_MB 109,4082 -#define SUBID_9005_AUTOTERM(SUBID_9005_AUTOTERM111,4137 -#define SUBID_9005_LEGACYCONN_FUNC(SUBID_9005_LEGACYCONN_FUNC113,4191 -#define SUBID_9005_SEEPTYPE(SUBID_9005_SEEPTYPE115,4245 -#define SUBID_9005_SEEPTYPE_NONE 116,4298 -#define SUBID_9005_SEEPTYPE_4K 117,4336 -static ahd_device_setup_t ahd_aic7901_setup;119,4374 -static ahd_device_setup_t ahd_aic7901A_setup;120,4419 -static ahd_device_setup_t ahd_aic7902_setup;121,4465 -static ahd_device_setup_t ahd_aic790X_setup;122,4510 -struct ahd_pci_identity ahd_pci_ident_table 124,4556 -const u_int ahd_num_pci_devs 221,6375 -#define DEVCONFIG 223,6444 -#define PCIXINITPAT 224,6468 -#define PCIXINIT_PCI33_66 225,6502 -#define PCIXINIT_PCIX50_66 226,6543 -#define PCIXINIT_PCIX66_100 227,6585 -#define PCIXINIT_PCIX100_133 228,6628 -#define PCI_BUS_MODES_INDEX(PCI_BUS_MODES_INDEX229,6672 -static const char *pci_bus_modes[231,6750 -#define TESTMODE 243,6972 -#define IRDY_RST 244,7003 -#define FRAME_RST 245,7034 -#define PCI64BIT 246,7066 -#define MRDCEN 247,7097 -#define ENDIANSEL 248,7127 -#define MIXQWENDIANEN 249,7159 -#define DACEN 250,7195 -#define STPWLEVEL 251,7224 -#define QWENDIANSEL 252,7256 -#define DEVCONFIG1 254,7291 -#define PREQDIS 255,7316 -#define CSIZE_LATTIME 257,7340 -#define CACHESIZE 258,7368 -#define LATTIME 259,7400 -ahd_find_pci_device(267,7674 -ahd_pci_config(305,8557 -ahd_pci_test_register_access(415,11307 -ahd_check_extport(509,13956 -ahd_configure_termination(642,17457 -#define DPE 733,20410 -#define SSE 734,20427 -#define RMA 735,20444 -#define RTA 736,20461 -#define STA 737,20478 -#define DPR 738,20495 -static const char *split_status_source[740,20513 -static const char *pci_status_source[748,20597 -static const char *split_status_strings[760,20711 -static const char *pci_status_strings[772,21131 -ahd_pci_intr(785,21600 -ahd_pci_split_intr(843,22918 -ahd_aic7901_setup(913,24743 -ahd_aic7901A_setup(922,24894 -ahd_aic7902_setup(931,25048 -ahd_aic790X_setup(939,25198 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_proc.c,200 -copy_mem_info(58,2646 -copy_info(85,3147 -ahc_format_transinfo(100,3366 -ahc_dump_target_state(140,4256 -ahc_dump_device_state(178,5242 -ahc_proc_write_seeprom(191,5783 -ahc_linux_proc_info(293,8244 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c,453 -struct pci_device_idpci_device_id45,2090 -static struct pci_device_id ahc_linux_pci_id_table[61,2609 -struct pci_driver aic7xxx_pci_driver 75,2920 -ahc_linux_pci_dev_remove(83,3108 -ahc_linux_pci_dev_probe(110,3680 -ahc_linux_pci_init(200,5846 -ahc_linux_pci_exit(231,6485 -ahc_linux_pci_reserve_io_region(237,6571 -ahc_linux_pci_reserve_mem_region(262,7184 -ahc_pci_map_registers(304,8199 -ahc_pci_map_int(379,10279 -ahc_power_state_change(392,10518 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/queue.h,3520 -#define _SYS_QUEUE_H_31,1529 -#define SLIST_HEAD(SLIST_HEAD107,4949 -#define SLIST_HEAD_INITIALIZER(SLIST_HEAD_INITIALIZER112,5062 -#define SLIST_ENTRY(SLIST_ENTRY115,5117 -#define SLIST_EMPTY(SLIST_EMPTY123,5259 -#define SLIST_FIRST(SLIST_FIRST125,5314 -#define SLIST_FOREACH(SLIST_FOREACH127,5361 -#define SLIST_INIT(SLIST_INIT132,5507 -#define SLIST_INSERT_AFTER(SLIST_INSERT_AFTER136,5592 -#define SLIST_INSERT_HEAD(SLIST_INSERT_HEAD141,5769 -#define SLIST_NEXT(SLIST_NEXT146,5924 -#define SLIST_REMOVE(SLIST_REMOVE148,5980 -#define SLIST_REMOVE_HEAD(SLIST_REMOVE_HEAD161,6397 -#define STAILQ_HEAD(STAILQ_HEAD168,6573 -#define STAILQ_HEAD_INITIALIZER(STAILQ_HEAD_INITIALIZER174,6747 -#define STAILQ_ENTRY(STAILQ_ENTRY177,6822 -#define STAILQ_EMPTY(STAILQ_EMPTY185,6971 -#define STAILQ_FIRST(STAILQ_FIRST187,7028 -#define STAILQ_FOREACH(STAILQ_FOREACH189,7077 -#define STAILQ_INIT(STAILQ_INIT194,7222 -#define STAILQ_INSERT_AFTER(STAILQ_INSERT_AFTER199,7357 -#define STAILQ_INSERT_HEAD(STAILQ_INSERT_HEAD205,7600 -#define STAILQ_INSERT_TAIL(STAILQ_INSERT_TAIL211,7824 -#define STAILQ_LAST(STAILQ_LAST217,8020 -#define STAILQ_NEXT(STAILQ_NEXT219,8068 -#define STAILQ_REMOVE(STAILQ_REMOVE221,8126 -#define STAILQ_REMOVE_HEAD(STAILQ_REMOVE_HEAD235,8618 -#define STAILQ_REMOVE_HEAD_UNTIL(STAILQ_REMOVE_HEAD_UNTIL241,8824 -#define LIST_HEAD(LIST_HEAD249,9041 -#define LIST_HEAD_INITIALIZER(LIST_HEAD_INITIALIZER254,9152 -#define LIST_ENTRY(LIST_ENTRY257,9205 -#define LIST_EMPTY(LIST_EMPTY267,9396 -#define LIST_FIRST(LIST_FIRST269,9449 -#define LIST_FOREACH(LIST_FOREACH271,9494 -#define LIST_INIT(LIST_INIT276,9637 -#define LIST_INSERT_AFTER(LIST_INSERT_AFTER280,9720 -#define LIST_INSERT_BEFORE(LIST_INSERT_BEFORE288,10047 -#define LIST_INSERT_HEAD(LIST_INSERT_HEAD295,10311 -#define LIST_NEXT(LIST_NEXT302,10589 -#define LIST_REMOVE(LIST_REMOVE304,10643 -#define TAILQ_HEAD(TAILQ_HEAD314,10910 -#define TAILQ_HEAD_INITIALIZER(TAILQ_HEAD_INITIALIZER320,11083 -#define TAILQ_ENTRY(TAILQ_ENTRY323,11156 -#define TAILQ_EMPTY(TAILQ_EMPTY332,11355 -#define TAILQ_FIRST(TAILQ_FIRST334,11410 -#define TAILQ_FOREACH(TAILQ_FOREACH336,11457 -#define TAILQ_FOREACH_REVERSE(TAILQ_FOREACH_REVERSE341,11603 -#define TAILQ_INIT(TAILQ_INIT346,11782 -#define TAILQ_INSERT_AFTER(TAILQ_INSERT_AFTER351,11913 -#define TAILQ_INSERT_BEFORE(TAILQ_INSERT_BEFORE361,12317 -#define TAILQ_INSERT_HEAD(TAILQ_INSERT_HEAD368,12588 -#define TAILQ_INSERT_TAIL(TAILQ_INSERT_TAIL378,12954 -#define TAILQ_LAST(TAILQ_LAST385,13191 -#define TAILQ_NEXT(TAILQ_NEXT388,13289 -#define TAILQ_PREV(TAILQ_PREV390,13345 -#define TAILQ_REMOVE(TAILQ_REMOVE393,13453 -#define CIRCLEQ_HEAD(CIRCLEQ_HEAD405,13800 -#define CIRCLEQ_HEAD_INITIALIZER(CIRCLEQ_HEAD_INITIALIZER411,13961 -#define CIRCLEQ_ENTRY(CIRCLEQ_ENTRY414,14045 -#define CIRCLEQ_EMPTY(CIRCLEQ_EMPTY423,14235 -#define CIRCLEQ_FIRST(CIRCLEQ_FIRST425,14302 -#define CIRCLEQ_FOREACH(CIRCLEQ_FOREACH427,14351 -#define CIRCLEQ_FOREACH_REVERSE(CIRCLEQ_FOREACH_REVERSE432,14518 -#define CIRCLEQ_INIT(CIRCLEQ_INIT437,14691 -#define CIRCLEQ_INSERT_AFTER(CIRCLEQ_INSERT_AFTER442,14834 -#define CIRCLEQ_INSERT_BEFORE(CIRCLEQ_INSERT_BEFORE452,15241 -#define CIRCLEQ_INSERT_HEAD(CIRCLEQ_INSERT_HEAD462,15650 -#define CIRCLEQ_INSERT_TAIL(CIRCLEQ_INSERT_TAIL472,16019 -#define CIRCLEQ_LAST(CIRCLEQ_LAST482,16387 -#define CIRCLEQ_NEXT(CIRCLEQ_NEXT484,16434 -#define CIRCLEQ_PREV(CIRCLEQ_PREV486,16491 -#define CIRCLEQ_REMOVE(CIRCLEQ_REMOVE488,16548 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx.h,17532 -#define _AIC79XX_H_46,2082 -#define MAX(MAX57,2383 -#define MIN(MIN61,2446 -#define TRUE 65,2510 -#define FALSE 68,2546 -#define NUM_ELEMENTS(NUM_ELEMENTS71,2570 -#define ALL_CHANNELS 73,2632 -#define ALL_TARGETS_MASK 74,2658 -#define INITIATOR_WILDCARD 75,2690 -#define SCB_LIST_NULL 76,2722 -#define SCB_LIST_NULL_LE 77,2752 -#define QOUTFIFO_ENTRY_VALID 78,2806 -#define QOUTFIFO_ENTRY_VALID_LE 79,2842 -#define SCBID_IS_NULL(SCBID_IS_NULL80,2896 -#define SCSIID_TARGET(SCSIID_TARGET82,2965 -#define SCSIID_OUR_ID(SCSIID_OUR_ID84,3035 -#define SCSIID_CHANNEL(SCSIID_CHANNEL86,3086 -#define SCB_IS_SCSIBUS_B(SCB_IS_SCSIBUS_B87,3128 -#define SCB_GET_OUR_ID(SCB_GET_OUR_ID88,3167 -#define SCB_GET_TARGET(SCB_GET_TARGET90,3233 -#define SCB_GET_CHANNEL(SCB_GET_CHANNEL92,3311 -#define SCB_GET_LUN(SCB_GET_LUN94,3389 -#define SCB_GET_TARGET_OFFSET(SCB_GET_TARGET_OFFSET96,3436 -#define SCB_GET_TARGET_MASK(SCB_GET_TARGET_MASK98,3504 -#define SCB_IS_SILENT(SCB_IS_SILENT101,3606 -#define SCB_IS_SILENT(SCB_IS_SILENT105,3737 -#define TCL_TARGET_OFFSET(TCL_TARGET_OFFSET111,3868 -#define TCL_LUN(TCL_LUN113,3930 -#define BUILD_TCL(BUILD_TCL115,3981 -#define BUILD_TCL_RAW(BUILD_TCL_RAW117,4049 -#define SCB_GET_TAG(SCB_GET_TAG120,4123 -#define AHD_TMODE_ENABLE 125,4228 -#define AHD_BUILD_COL_IDX(AHD_BUILD_COL_IDX128,4263 -#define AHD_GET_SCB_COL_IDX(AHD_GET_SCB_COL_IDX131,4333 -#define AHD_SET_SCB_COL_IDX(AHD_SET_SCB_COL_IDX134,4431 -#define AHD_COPY_SCB_COL_IDX(AHD_COPY_SCB_COL_IDX140,4630 -#define AHD_NEVER_COL_IDX 146,4783 -#define AHD_NUM_TARGETS 152,4949 -#define AHD_NUM_LUNS_NONPKT 160,5236 -#define AHD_NUM_LUNS 161,5267 -#define AHD_MAXTRANSFER_SIZE 166,5341 -#define AHD_SCB_MAX 173,5595 -#define AHD_MAX_QUEUE 179,5777 -#define AHD_QIN_SIZE 185,5971 -#define AHD_QOUT_SIZE 186,6006 -#define AHD_QIN_WRAP(AHD_QIN_WRAP188,6043 -#define AHD_SCB_MAX_ALLOC 192,6164 -#define AHD_TMODE_CMDS 199,6369 -#define AHD_BUSRESET_DELAY 202,6435 - AHD_NONE 210,6651 - AHD_NONE = 0x0000,210,6651 - AHD_CHIPID_MASK 211,6671 - AHD_CHIPID_MASK = 0x00FF,211,6671 - AHD_AIC7901 212,6698 - AHD_AIC7901 = 0x0001,212,6698 - AHD_AIC7902 213,6721 - AHD_AIC7902 = 0x0002,213,6721 - AHD_AIC7901A 214,6744 - AHD_AIC7901A = 0x0003,214,6744 - AHD_PCI 215,6768 - AHD_PCI = 0x0100,215,6768 - AHD_PCIX 216,6807 - AHD_PCIX = 0x0200,216,6807 - AHD_BUS_MASK 217,6847 - AHD_BUS_MASK = 0x0F00217,6847 -} ahd_chip;ahd_chip218,6870 - AHD_FENONE 224,6946 - AHD_FENONE = 0x00000,224,6946 - AHD_WIDE 225,6970 - AHD_WIDE = 0x00001,225,6970 - AHD_MULTI_FUNC 226,7012 - AHD_MULTI_FUNC = 0x00100,226,7012 - AHD_TARGETMODE 227,7075 - AHD_TARGETMODE = 0x01000,227,7075 - AHD_MULTIROLE 228,7139 - AHD_MULTIROLE = 0x02000,228,7139 - AHD_RTI 229,7201 - AHD_RTI = 0x04000,229,7201 - AHD_NEW_IOCELL_OPTS 230,7254 - AHD_NEW_IOCELL_OPTS = 0x08000,230,7254 - AHD_NEW_DFCNTRL_OPTS 231,7323 - AHD_NEW_DFCNTRL_OPTS = 0x10000,231,7323 - AHD_FAST_CDB_DELIVERY 232,7377 - AHD_FAST_CDB_DELIVERY = 0x20000,232,7377 - AHD_REMOVABLE 233,7449 - AHD_REMOVABLE = 0x00000,233,7449 - AHD_AIC7901_FE 234,7513 - AHD_AIC7901_FE = AHD_FENONE,234,7513 - AHD_AIC7901A_FE 235,7544 - AHD_AIC7901A_FE = AHD_FENONE,235,7544 - AHD_AIC7902_FE 236,7576 - AHD_AIC7902_FE = AHD_MULTI_FUNC236,7576 -} ahd_feature;ahd_feature237,7610 - AHD_BUGNONE 243,7704 - AHD_BUGNONE = 0x0000,243,7704 - AHD_SENT_SCB_UPDATE_BUG 248,7843 - AHD_SENT_SCB_UPDATE_BUG = 0x0001,248,7843 - AHD_ABORT_LQI_BUG 250,7943 - AHD_ABORT_LQI_BUG = 0x0002,250,7943 - AHD_PKT_BITBUCKET_BUG 252,8027 - AHD_PKT_BITBUCKET_BUG = 0x0004,252,8027 - AHD_LONG_SETIMO_BUG 254,8122 - AHD_LONG_SETIMO_BUG = 0x0008,254,8122 - AHD_NLQICRC_DELAYED_BUG 256,8219 - AHD_NLQICRC_DELAYED_BUG = 0x0010,256,8219 - AHD_SCSIRST_BUG 258,8314 - AHD_SCSIRST_BUG = 0x0020,258,8314 - AHD_PCIX_CHIPRST_BUG 260,8412 - AHD_PCIX_CHIPRST_BUG = 0x0040,260,8412 - AHD_PCIX_MMAPIO_BUG 262,8492 - AHD_PCIX_MMAPIO_BUG = 0x0080,262,8492 - AHD_PCIX_SCBRAM_RD_BUG 264,8579 - AHD_PCIX_SCBRAM_RD_BUG = 0x0100,264,8579 - AHD_PCIX_BUG_MASK 266,8678 - AHD_PCIX_BUG_MASK = AHD_PCIX_CHIPRST_BUG266,8678 - | AHD_PCIX_MMAPIO_BUG267,8720 - | AHD_PCIX_SCBRAM_RD_BUG,268,8746 - AHD_LQO_ATNO_BUG 273,8893 - AHD_LQO_ATNO_BUG = 0x0200,273,8893 - AHD_AUTOFLUSH_BUG 275,8970 - AHD_AUTOFLUSH_BUG = 0x0400,275,8970 - AHD_CLRLQO_AUTOCLR_BUG 277,9050 - AHD_CLRLQO_AUTOCLR_BUG = 0x0800,277,9050 - AHD_PKTIZED_STATUS_BUG 279,9152 - AHD_PKTIZED_STATUS_BUG = 0x1000,279,9152 - AHD_PKT_LUN_BUG 281,9258 - AHD_PKT_LUN_BUG = 0x2000,281,9258 - AHD_NONPACKFIFO_BUG 286,9410 - AHD_NONPACKFIFO_BUG = 0x4000,286,9410 - AHD_MDFF_WSCBPTR_BUG 294,9753 - AHD_MDFF_WSCBPTR_BUG = 0x8000,294,9753 - AHD_REG_SLOW_SETTLE_BUG 296,9818 - AHD_REG_SLOW_SETTLE_BUG = 0x10000,296,9818 - AHD_SET_MODE_BUG 302,10041 - AHD_SET_MODE_BUG = 0x20000,302,10041 - AHD_BUSFREEREV_BUG 304,10124 - AHD_BUSFREEREV_BUG = 0x40000,304,10124 - AHD_PACED_NEGTABLE_BUG 310,10339 - AHD_PACED_NEGTABLE_BUG = 0x80000,310,10339 - AHD_LQOOVERRUN_BUG 312,10409 - AHD_LQOOVERRUN_BUG = 0x100000,312,10409 - AHD_INTCOLLISION_BUG 317,10523 - AHD_INTCOLLISION_BUG = 0x200000,317,10523 - AHD_EARLY_REQ_BUG 327,10923 - AHD_EARLY_REQ_BUG = 0x400000,327,10923 - AHD_FAINT_LED_BUG 331,11025 - AHD_FAINT_LED_BUG = 0x800000331,11025 -} ahd_bug;ahd_bug332,11055 - AHD_FNONE 340,11216 - AHD_FNONE = 0x00000,340,11216 - AHD_BOOT_CHANNEL 341,11244 - AHD_BOOT_CHANNEL = 0x00001,341,11244 - AHD_USEDEFAULTS 342,11316 - AHD_USEDEFAULTS = 0x00004,342,11316 - AHD_SEQUENCER_DEBUG 348,11499 - AHD_SEQUENCER_DEBUG = 0x00008,348,11499 - AHD_RESET_BUS_A 349,11533 - AHD_RESET_BUS_A = 0x00010,349,11533 - AHD_EXTENDED_TRANS_A 350,11567 - AHD_EXTENDED_TRANS_A = 0x00020,350,11567 - AHD_TERM_ENB_A 351,11601 - AHD_TERM_ENB_A = 0x00040,351,11601 - AHD_SPCHK_ENB_A 352,11634 - AHD_SPCHK_ENB_A = 0x00080,352,11634 - AHD_STPWLEVEL_A 353,11668 - AHD_STPWLEVEL_A = 0x00100,353,11668 - AHD_INITIATORROLE 354,11702 - AHD_INITIATORROLE = 0x00200,354,11702 - AHD_TARGETROLE 358,11810 - AHD_TARGETROLE = 0x00400,358,11810 - AHD_RESOURCE_SHORTAGE 362,11914 - AHD_RESOURCE_SHORTAGE = 0x00800,362,11914 - AHD_TQINFIFO_BLOCKED 363,11948 - AHD_TQINFIFO_BLOCKED = 0x01000,363,11948 - AHD_INT50_SPEEDFLEX 364,12013 - AHD_INT50_SPEEDFLEX = 0x02000,364,12013 - AHD_BIOS_ENABLED 368,12122 - AHD_BIOS_ENABLED = 0x04000,368,12122 - AHD_ALL_INTERRUPTS 369,12156 - AHD_ALL_INTERRUPTS = 0x08000,369,12156 - AHD_39BIT_ADDRESSING 370,12190 - AHD_39BIT_ADDRESSING = 0x10000,370,12190 - AHD_64BIT_ADDRESSING 371,12259 - AHD_64BIT_ADDRESSING = 0x20000,371,12259 - AHD_CURRENT_SENSING 372,12328 - AHD_CURRENT_SENSING = 0x40000,372,12328 - AHD_SCB_CONFIG_USED 373,12362 - AHD_SCB_CONFIG_USED = 0x80000,373,12362 - AHD_HP_BOARD 374,12430 - AHD_HP_BOARD = 0x100000,374,12430 - AHD_RESET_POLL_ACTIVE 375,12462 - AHD_RESET_POLL_ACTIVE = 0x200000,375,12462 - AHD_UPDATE_PEND_CMDS 376,12497 - AHD_UPDATE_PEND_CMDS = 0x400000,376,12497 - AHD_RUNNING_QOUTFIFO 377,12532 - AHD_RUNNING_QOUTFIFO = 0x800000,377,12532 - AHD_HAD_FIRST_SEL 378,12567 - AHD_HAD_FIRST_SEL = 0x1000000378,12567 -} ahd_flag;ahd_flag379,12602 -struct initiator_status initiator_status405,13721 -struct target_status target_status411,13936 -typedef uint32_t sense_addr_t;sense_addr_t427,14566 -#define MAX_CDB_LEN 428,14597 -#define MAX_CDB_LEN_WITH_SENSE_ADDR 429,14620 -union initiator_data initiator_data430,14693 -struct target_data target_data445,14977 -struct hardware_scb hardware_scb453,15255 -#define SG_PTR_MASK 499,17368 -struct ahd_dma_seg ahd_dma_seg536,18798 -#define AHD_DMA_LAST_SEG 539,18850 -#define AHD_SG_HIGH_ADDR_MASK 540,18886 -#define AHD_SG_LEN_MASK 541,18927 -struct ahd_dma64_seg ahd_dma64_seg544,18967 -struct map_node map_node550,19040 - SLIST_ENTRY(SLIST_ENTRY554,19125 - SCB_FLAG_NONE 561,19216 - SCB_FLAG_NONE = 0x00000,561,19216 - SCB_TRANSMISSION_ERROR 562,19243 - SCB_TRANSMISSION_ERROR = 0x00001,562,19243 - SCB_OTHERTCL_TIMEOUT 572,19585 - SCB_OTHERTCL_TIMEOUT = 0x00002,572,19585 - SCB_DEVICE_RESET 580,19844 - SCB_DEVICE_RESET = 0x00004,580,19844 - SCB_SENSE 581,19873 - SCB_SENSE = 0x00008,581,19873 - SCB_CDB32_PTR 582,19896 - SCB_CDB32_PTR = 0x00010,582,19896 - SCB_RECOVERY_SCB 583,19923 - SCB_RECOVERY_SCB = 0x00020,583,19923 - SCB_AUTO_NEGOTIATE 584,19952 - SCB_AUTO_NEGOTIATE = 0x00040,584,19952 - SCB_NEGOTIATE 585,20015 - SCB_NEGOTIATE = 0x00080,585,20015 - SCB_ABORT 586,20079 - SCB_ABORT = 0x00100,586,20079 - SCB_ACTIVE 587,20102 - SCB_ACTIVE = 0x00200,587,20102 - SCB_TARGET_IMMEDIATE 588,20126 - SCB_TARGET_IMMEDIATE = 0x00400,588,20126 - SCB_PACKETIZED 589,20159 - SCB_PACKETIZED = 0x00800,589,20159 - SCB_EXPECT_PPR_BUSFREE 590,20187 - SCB_EXPECT_PPR_BUSFREE = 0x01000,590,20187 - SCB_PKT_SENSE 591,20222 - SCB_PKT_SENSE = 0x02000,591,20222 - SCB_CMDPHASE_ABORT 592,20249 - SCB_CMDPHASE_ABORT = 0x04000,592,20249 - SCB_ON_COL_LIST 593,20280 - SCB_ON_COL_LIST = 0x08000,593,20280 - SCB_SILENT 594,20309 - SCB_SILENT = 0x10000 594,20309 -} scb_flag;scb_flag600,20523 -struct scb scb602,20536 - SLIST_ENTRY(SLIST_ENTRY605,20587 - SLIST_ENTRY(SLIST_ENTRY610,20680 -#define pending_links 614,20765 -#define collision_links 615,20797 -#define AHD_MAX_LQ_CRC_ERRORS 632,21271 -struct scb_data scb_data639,21390 - SLIST_HEAD(SLIST_HEAD668,22119 -struct target_cmd target_cmd687,22720 -#define AHD_TMODE_EVENT_BUFFER_SIZE 713,23544 -struct ahd_tmode_event ahd_tmode_event714,23582 -#define EVENT_TYPE_BUS_RESET 717,23690 -struct ahd_tmode_lstate ahd_tmode_lstate729,24045 -#define AHD_TRANS_CUR 742,24402 -#define AHD_TRANS_ACTIVE 743,24470 -#define AHD_TRANS_GOAL 744,24539 -#define AHD_TRANS_USER 745,24598 -#define AHD_PERIOD_10MHz 746,24666 -#define AHD_WIDTH_UNKNOWN 748,24697 -#define AHD_PERIOD_UNKNOWN 749,24728 -#define AHD_OFFSET_UNKNOWN 750,24760 -#define AHD_PPR_OPTS_UNKNOWN 751,24792 -struct ahd_transinfo ahd_transinfo756,24871 -struct ahd_initiator_tinfo ahd_initiator_tinfo767,25260 -struct ahd_tmode_tstate ahd_tmode_tstate780,25686 -#define AHD_SYNCRATE_160 795,26097 -#define AHD_SYNCRATE_PACED 796,26126 -#define AHD_SYNCRATE_DT 797,26157 -#define AHD_SYNCRATE_ULTRA2 798,26186 -#define AHD_SYNCRATE_ULTRA 799,26218 -#define AHD_SYNCRATE_FAST 800,26249 -#define AHD_SYNCRATE_MIN_DT 801,26280 -#define AHD_SYNCRATE_SYNC 802,26326 -#define AHD_SYNCRATE_MIN 803,26357 -#define AHD_SYNCRATE_ASYNC 804,26387 -#define AHD_SYNCRATE_MAX 805,26419 -#define AHD_ASYNC_XFER_PERIOD 808,26514 -#define AHD_SYNCRATE_REVA_120 817,26808 -#define AHD_SYNCRATE_REVA_160 818,26842 -struct ahd_phase_table_entry ahd_phase_table_entry825,27049 -struct seeprom_config seeprom_config833,27272 -#define CFXFER 838,27383 -#define CFXFER_ASYNC 839,27439 -#define CFQAS 840,27467 -#define CFPACKETIZED 841,27510 -#define CFSTART 842,27576 -#define CFINCBIOS 843,27636 -#define CFDISC 844,27689 -#define CFMULTILUNDEV 845,27740 -#define CFWIDEB 846,27809 -#define CFHOSTMANAGED 847,27856 -#define CFSUPREM 853,27989 -#define CFSUPREMB 854,28050 -#define CFBIOSSTATE 855,28113 -#define CFBS_DISABLED 856,28165 -#define CFBS_ENABLED 857,28197 -#define CFBS_DISABLED_SCAN 858,28228 -#define CFENABLEDV 859,28265 -#define CFCTRL_A 860,28324 -#define CFSPARITY 861,28385 -#define CFEXTEND 862,28429 -#define CFBOOTCD 863,28489 -#define CFMSG_LEVEL 864,28545 -#define CFMSG_VERBOSE 865,28598 -#define CFMSG_SILENT 866,28629 -#define CFMSG_DIAG 867,28659 -#define CFRESETB 868,28687 -#define CFAUTOTERM 875,28842 -#define CFSTERM 876,28900 -#define CFWSTERM 877,28957 -#define CFSEAUTOTERM 878,29015 -#define CFSELOWTERM 879,29084 -#define CFSEHIGHTERM 880,29144 -#define CFSTPWLEVEL 881,29206 -#define CFBIOSAUTOTERM 882,29266 -#define CFTERM_MENU 883,29328 -#define CFCLUSTERENB 884,29394 -#define CFSCSIID 890,29525 -#define CFBRTIME 892,29599 -#define CFMAXTARG 898,29730 -#define CFBOOTLUN 899,29778 -#define CFBOOTID 900,29827 -#define CFSIGNATURE 903,29961 -struct vpd_config vpd_config910,30090 -#define VPDMASTERBIOS 912,30132 -#define VPDBOOTHOST 913,30162 -#define FLXADDR_TERMCTL 942,30875 -#define FLX_TERMCTL_ENSECHIGH 943,30905 -#define FLX_TERMCTL_ENSECLOW 944,30940 -#define FLX_TERMCTL_ENPRIHIGH 945,30974 -#define FLX_TERMCTL_ENPRILOW 946,31009 -#define FLXADDR_ROMSTAT_CURSENSECTL 947,31043 -#define FLX_ROMSTAT_SEECFG 948,31083 -#define FLX_ROMSTAT_EECFG 949,31116 -#define FLX_ROMSTAT_SEE_93C66 950,31148 -#define FLX_ROMSTAT_SEE_NONE 951,31184 -#define FLX_ROMSTAT_EE_512x8 952,31219 -#define FLX_ROMSTAT_EE_1MBx8 953,31253 -#define FLX_ROMSTAT_EE_2MBx8 954,31287 -#define FLX_ROMSTAT_EE_4MBx8 955,31321 -#define FLX_ROMSTAT_EE_16MBx8 956,31355 -#define CURSENSE_ENB 957,31390 -#define FLXADDR_FLEXSTAT 958,31417 -#define FLX_FSTAT_BUSY 959,31447 -#define FLXADDR_CURRENT_STAT 960,31476 -#define FLX_CSTAT_SEC_HIGH 961,31510 -#define FLX_CSTAT_SEC_LOW 962,31543 -#define FLX_CSTAT_PRI_HIGH 963,31575 -#define FLX_CSTAT_PRI_LOW 964,31608 -#define FLX_CSTAT_MASK 965,31640 -#define FLX_CSTAT_SHIFT 966,31670 -#define FLX_CSTAT_OKAY 967,31698 -#define FLX_CSTAT_OVER 968,31727 -#define FLX_CSTAT_UNDER 969,31756 -#define FLX_CSTAT_INVALID 970,31786 - MSG_FLAG_NONE 985,32371 - MSG_FLAG_NONE = 0x00,985,32371 - MSG_FLAG_EXPECT_PPR_BUSFREE 986,32396 - MSG_FLAG_EXPECT_PPR_BUSFREE = 0x01,986,32396 - MSG_FLAG_IU_REQ_CHANGED 987,32433 - MSG_FLAG_IU_REQ_CHANGED = 0x02,987,32433 - MSG_FLAG_EXPECT_IDE_BUSFREE 988,32467 - MSG_FLAG_EXPECT_IDE_BUSFREE = 0x04,988,32467 - MSG_FLAG_EXPECT_QASREJ_BUSFREE 989,32504 - MSG_FLAG_EXPECT_QASREJ_BUSFREE = 0x08,989,32504 - MSG_FLAG_PACKETIZED 990,32544 - MSG_FLAG_PACKETIZED = 0x10990,32544 -} ahd_msg_flags;ahd_msg_flags991,32573 - MSG_TYPE_NONE 994,32606 - MSG_TYPE_NONE = 0x00,994,32606 - MSG_TYPE_INITIATOR_MSGOUT 995,32631 - MSG_TYPE_INITIATOR_MSGOUT = 0x01,995,32631 - MSG_TYPE_INITIATOR_MSGIN 996,32666 - MSG_TYPE_INITIATOR_MSGIN = 0x02,996,32666 - MSG_TYPE_TARGET_MSGOUT 997,32700 - MSG_TYPE_TARGET_MSGOUT = 0x03,997,32700 - MSG_TYPE_TARGET_MSGIN 998,32733 - MSG_TYPE_TARGET_MSGIN = 0x04998,32733 -} ahd_msg_type;ahd_msg_type999,32764 - MSGLOOP_IN_PROG,1002,32796 - MSGLOOP_MSGCOMPLETE,1003,32814 - MSGLOOP_TERMINATED1004,32836 -} msg_loop_stat;msg_loop_stat1005,32856 -struct ahd_suspend_channel_state ahd_suspend_channel_state1008,32955 -struct ahd_suspend_state ahd_suspend_state1018,33122 -typedef void (*ahd_bus_intr_t)ahd_bus_intr_t1032,33416 - AHD_MODE_DFF0,1035,33484 - AHD_MODE_DFF1,1036,33500 - AHD_MODE_CCHAN,1037,33516 - AHD_MODE_SCSI,1038,33533 - AHD_MODE_CFG,1039,33549 - AHD_MODE_UNKNOWN1040,33564 -} ahd_mode;ahd_mode1041,33582 -#define AHD_MK_MSK(AHD_MK_MSK1043,33595 -#define AHD_MODE_DFF0_MSK 1044,33631 -#define AHD_MODE_DFF1_MSK 1045,33683 -#define AHD_MODE_CCHAN_MSK 1046,33735 -#define AHD_MODE_SCSI_MSK 1047,33789 -#define AHD_MODE_CFG_MSK 1048,33841 -#define AHD_MODE_UNKNOWN_MSK 1049,33891 -#define AHD_MODE_ANY_MSK 1050,33949 -typedef uint8_t ahd_mode_state;ahd_mode_state1052,33980 -typedef void ahd_callback_t ahd_callback_t1054,34013 -struct ahd_softc ahd_softc1056,34052 - LIST_HEAD(LIST_HEAD1069,34356 -#define AHD_STAT_UPDATE_US 1128,35656 -#define AHD_STAT_BUCKETS 1129,35702 -#define AHD_INT_COALESCING_TIMER_DEFAULT 1233,38183 -#define AHD_INT_COALESCING_MAXCMDS_DEFAULT 1234,38236 -#define AHD_INT_COALESCING_MAXCMDS_MAX 1235,38283 -#define AHD_INT_COALESCING_MINCMDS_DEFAULT 1236,38328 -#define AHD_INT_COALESCING_MINCMDS_MAX 1237,38374 -#define AHD_INT_COALESCING_THRESHOLD_DEFAULT 1238,38419 -#define AHD_INT_COALESCING_STOP_THRESHOLD_DEFAULT 1239,38470 -#define AHD_PRECOMP_SLEW_INDEX 1254,38991 -#define AHD_AMPLITUDE_INDEX 1257,39086 -#define AHD_SET_SLEWRATE(AHD_SET_SLEWRATE1260,39175 -#define AHD_SET_PRECOMP(AHD_SET_PRECOMP1267,39436 -#define AHD_SET_AMPLITUDE(AHD_SET_AMPLITUDE1274,39695 - ROLE_UNKNOWN,1283,40049 - ROLE_INITIATOR,1284,40064 - ROLE_TARGET1285,40081 -} role_t;role_t1286,40094 -struct ahd_devinfo ahd_devinfo1288,40105 -#define AHD_PCI_IOADDR0 1302,40418 -#define AHD_PCI_MEMADDR 1303,40465 -#define AHD_PCI_IOADDR1 1304,40522 -typedef int (ahd_device_setup_t)ahd_device_setup_t1306,40584 -struct ahd_pci_identity ahd_pci_identity1308,40639 -struct aic7770_identity aic7770_identity1318,40927 -#define AHD_EISA_SLOT_OFFSET 1327,41136 -#define AHD_EISA_IOSIZE 1328,41171 -ahd_unbusy_tcl(1338,41650 - SEARCH_COMPLETE,1409,44704 - SEARCH_COUNT,1410,44722 - SEARCH_REMOVE,1411,44737 - SEARCH_PRINT1412,44753 -} ahd_search_action;ahd_search_action1413,44767 - AHD_NEG_TO_GOAL,1459,46726 - AHD_NEG_IF_NON_ASYNC,1460,46792 - AHD_NEG_ALWAYS 1461,46863 -} ahd_neg_type;ahd_neg_type1462,46920 - AHD_QUEUE_NONE,1477,47441 - AHD_QUEUE_BASIC,1478,47458 - AHD_QUEUE_TAGGED1479,47476 -} ahd_queue_alg;ahd_queue_alg1480,47494 -#define AHD_TMODE_ENABLE 1498,48145 -#define AHD_SHOW_MISC 1504,48310 -#define AHD_SHOW_SENSE 1505,48341 -#define AHD_SHOW_RECOVERY 1506,48373 -#define AHD_DUMP_SEEPROM 1507,48407 -#define AHD_SHOW_TERMCTL 1508,48440 -#define AHD_SHOW_MEMORY 1509,48473 -#define AHD_SHOW_MESSAGES 1510,48506 -#define AHD_SHOW_MODEPTR 1511,48540 -#define AHD_SHOW_SELTO 1512,48573 -#define AHD_SHOW_FIFOS 1513,48605 -#define AHD_SHOW_QFULL 1514,48637 -#define AHD_SHOW_DV 1515,48669 -#define AHD_SHOW_MASKED_ERRORS 1516,48698 -#define AHD_SHOW_QUEUE 1517,48737 -#define AHD_SHOW_TQIN 1518,48769 -#define AHD_SHOW_SG 1519,48800 -#define AHD_SHOW_INT_COALESCING 1520,48829 -#define AHD_DEBUG_SEQUENCER 1521,48869 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_pci.c,7631 -#define AHC_PCI_IOADDR 57,2369 -#define AHC_PCI_MEMADDR 58,2420 -ahc_compose_id(61,2508 -#define ID_ALL_MASK 73,2723 -#define ID_DEV_VENDOR_MASK 74,2767 -#define ID_9005_GENERIC_MASK 75,2817 -#define ID_9005_SISL_MASK 76,2869 -#define ID_9005_SISL_ID 77,2918 -#define ID_AIC7850 78,2966 -#define ID_AHA_2902_04_10_15_20C_30C 79,3009 -#define ID_AIC7855 80,3068 -#define ID_AIC7859 81,3111 -#define ID_AHA_2930CU 82,3154 -#define ID_AIC7860 83,3200 -#define ID_AIC7860C 84,3243 -#define ID_AHA_1480A 85,3287 -#define ID_AHA_2940AU_0 86,3332 -#define ID_AHA_2940AU_1 87,3380 -#define ID_AHA_2940AU_CN 88,3428 -#define ID_AHA_2930C_VAR 89,3476 -#define ID_AIC7870 91,3525 -#define ID_AHA_2940 92,3568 -#define ID_AHA_3940 93,3612 -#define ID_AHA_398X 94,3656 -#define ID_AHA_2944 95,3700 -#define ID_AHA_3944 96,3744 -#define ID_AHA_4944 97,3788 -#define ID_AIC7880 99,3833 -#define ID_AIC7880_B 100,3876 -#define ID_AHA_2940U 101,3921 -#define ID_AHA_3940U 102,3966 -#define ID_AHA_2944U 103,4011 -#define ID_AHA_3944U 104,4056 -#define ID_AHA_398XU 105,4101 -#define ID_AHA_4944U 106,4146 -#define ID_AHA_2940UB 107,4191 -#define ID_AHA_2930U 108,4237 -#define ID_AHA_2940U_PRO 109,4282 -#define ID_AHA_2940U_CN 110,4330 -#define ID_AIC7895 112,4379 -#define ID_AIC7895_ARO 113,4422 -#define ID_AIC7895_ARO_MASK 114,4469 -#define ID_AHA_2940U_DUAL 115,4520 -#define ID_AHA_3940AU 116,4569 -#define ID_AHA_3944AU 117,4615 -#define ID_AIC7890 119,4662 -#define ID_AIC7890_ARO 120,4705 -#define ID_AAA_131U2 121,4752 -#define ID_AHA_2930U2 122,4797 -#define ID_AHA_2940U2B 123,4843 -#define ID_AHA_2940U2_OEM 124,4890 -#define ID_AHA_2940U2 125,4939 -#define ID_AHA_2950U2B 126,4985 -#define ID_AIC7892 128,5033 -#define ID_AIC7892_ARO 129,5076 -#define ID_AHA_29160 130,5123 -#define ID_AHA_29160_CPQ 131,5168 -#define ID_AHA_29160N 132,5216 -#define ID_AHA_29160C 133,5262 -#define ID_AHA_29160B 134,5308 -#define ID_AHA_19160B 135,5354 -#define ID_AIC7896 137,5401 -#define ID_AIC7896_ARO 138,5444 -#define ID_AHA_3950U2B_0 139,5491 -#define ID_AHA_3950U2B_1 140,5539 -#define ID_AHA_3950U2D_0 141,5587 -#define ID_AHA_3950U2D_1 142,5635 -#define ID_AIC7899 144,5684 -#define ID_AIC7899_ARO 145,5727 -#define ID_AHA_3960D 146,5774 -#define ID_AHA_3960D_CPQ 147,5819 -#define ID_AIC7810 149,5868 -#define ID_AIC7815 150,5911 -#define DEVID_9005_TYPE(DEVID_9005_TYPE152,5955 -#define DEVID_9005_TYPE_HBA 153,5996 -#define DEVID_9005_TYPE_AAA 154,6050 -#define DEVID_9005_TYPE_SISL 155,6100 -#define DEVID_9005_TYPE_MB 156,6156 -#define DEVID_9005_MAXRATE(DEVID_9005_MAXRATE158,6211 -#define DEVID_9005_MAXRATE_U160 159,6263 -#define DEVID_9005_MAXRATE_ULTRA2 160,6301 -#define DEVID_9005_MAXRATE_ULTRA 161,6340 -#define DEVID_9005_MAXRATE_FAST 162,6378 -#define DEVID_9005_MFUNC(DEVID_9005_MFUNC164,6417 -#define DEVID_9005_CLASS(DEVID_9005_CLASS166,6468 -#define DEVID_9005_CLASS_SPI 167,6520 -#define SUBID_9005_TYPE(SUBID_9005_TYPE169,6576 -#define SUBID_9005_TYPE_MB 170,6617 -#define SUBID_9005_TYPE_CARD 171,6671 -#define SUBID_9005_TYPE_LCCARD 172,6726 -#define SUBID_9005_TYPE_RAID 173,6783 -#define SUBID_9005_TYPE_KNOWN(SUBID_9005_TYPE_KNOWN175,6844 -#define SUBID_9005_MAXRATE(SUBID_9005_MAXRATE181,7063 -#define SUBID_9005_MAXRATE_ULTRA2 182,7115 -#define SUBID_9005_MAXRATE_ULTRA 183,7154 -#define SUBID_9005_MAXRATE_U160 184,7192 -#define SUBID_9005_MAXRATE_RESERVED 185,7230 -#define SUBID_9005_SEEPTYPE(SUBID_9005_SEEPTYPE187,7272 -#define SUBID_9005_SEEPTYPE_NONE 191,7416 -#define SUBID_9005_SEEPTYPE_1K 192,7454 -#define SUBID_9005_SEEPTYPE_2K_4K 193,7491 -#define SUBID_9005_SEEPTYPE_RESERVED 194,7530 -#define SUBID_9005_AUTOTERM(SUBID_9005_AUTOTERM195,7572 -#define SUBID_9005_NUMCHAN(SUBID_9005_NUMCHAN200,7731 -#define SUBID_9005_LEGACYCONN(SUBID_9005_LEGACYCONN205,7877 -#define SUBID_9005_MFUNCENB(SUBID_9005_MFUNCENB210,8007 -#define SUBID_9005_CARD_SCSIWIDTH_MASK 218,8270 -#define SUBID_9005_CARD_PCIWIDTH_MASK 219,8316 -#define SUBID_9005_CARD_SEDIFF_MASK 220,8361 -static ahc_device_setup_t ahc_aic785X_setup;222,8405 -static ahc_device_setup_t ahc_aic7860_setup;223,8450 -static ahc_device_setup_t ahc_apa1480_setup;224,8495 -static ahc_device_setup_t ahc_aic7870_setup;225,8540 -static ahc_device_setup_t ahc_aha394X_setup;226,8585 -static ahc_device_setup_t ahc_aha494X_setup;227,8630 -static ahc_device_setup_t ahc_aha398X_setup;228,8675 -static ahc_device_setup_t ahc_aic7880_setup;229,8720 -static ahc_device_setup_t ahc_aha2940Pro_setup;230,8765 -static ahc_device_setup_t ahc_aha394XU_setup;231,8813 -static ahc_device_setup_t ahc_aha398XU_setup;232,8859 -static ahc_device_setup_t ahc_aic7890_setup;233,8905 -static ahc_device_setup_t ahc_aic7892_setup;234,8950 -static ahc_device_setup_t ahc_aic7895_setup;235,8995 -static ahc_device_setup_t ahc_aic7896_setup;236,9040 -static ahc_device_setup_t ahc_aic7899_setup;237,9085 -static ahc_device_setup_t ahc_aha29160C_setup;238,9130 -static ahc_device_setup_t ahc_raid_setup;239,9177 -static ahc_device_setup_t ahc_aha394XX_setup;240,9219 -static ahc_device_setup_t ahc_aha494XX_setup;241,9265 -static ahc_device_setup_t ahc_aha398XX_setup;242,9311 -struct ahc_pci_identity ahc_pci_ident_table 244,9358 -const u_int ahc_num_pci_devs 629,16680 -#define AHC_394X_SLOT_CHANNEL_A 631,16749 -#define AHC_394X_SLOT_CHANNEL_B 632,16783 -#define AHC_398X_SLOT_CHANNEL_A 634,16818 -#define AHC_398X_SLOT_CHANNEL_B 635,16852 -#define AHC_398X_SLOT_CHANNEL_C 636,16886 -#define AHC_494X_SLOT_CHANNEL_A 638,16922 -#define AHC_494X_SLOT_CHANNEL_B 639,16956 -#define AHC_494X_SLOT_CHANNEL_C 640,16990 -#define AHC_494X_SLOT_CHANNEL_D 641,17024 -#define DEVCONFIG 643,17059 -#define PCIERRGENDIS 644,17083 -#define SCBSIZE32 645,17118 -#define REXTVALID 646,17169 -#define MPORTMODE 647,17224 -#define RAMPSM 648,17276 -#define VOLSENSE 649,17326 -#define PCI64BIT 650,17357 -#define SCBRAMSEL 651,17421 -#define MRDCEN 652,17453 -#define EXTSCBTIME 653,17483 -#define EXTSCBPEN 654,17535 -#define BERREN 655,17586 -#define DACEN 656,17616 -#define STPWLEVEL 657,17645 -#define DIFACTNEGEN 658,17677 -#define CSIZE_LATTIME 660,17731 -#define CACHESIZE 661,17759 -#define LATTIME 662,17809 -#define DPE 665,17870 -#define SSE 666,17887 -#define RMA 667,17904 -#define RTA 668,17921 -#define STA 669,17938 -#define DPR 670,17955 -ahc_9005_subdevinfo_valid(707,19446 -ahc_find_pci_device(741,20168 -ahc_pci_config(782,21357 -ahc_ext_scbram_present(1058,28614 -ahc_scbram_config(1094,29402 -ahc_probe_ext_scbram(1152,30732 -ahc_pci_test_register_access(1253,33267 -check_extport(1332,35446 -ahc_parse_pci_eeprom(1477,39052 -configure_termination(1595,42235 -ahc_new_term_detect(1821,48330 -aic787X_cable_detect(1843,48978 -aic785X_cable_detect(1884,49974 -ahc_acquire_seeprom(1907,50619 -ahc_release_seeprom(1935,51353 -write_brdctl(1942,51507 -read_brdctl(1974,52230 -ahc_pci_intr(1996,52684 -ahc_pci_chip_init(2062,54594 -ahc_pci_suspend(2087,55409 -ahc_pci_resume(2093,55492 -ahc_aic785X_setup(2129,56553 -ahc_aic7860_setup(2147,56978 -ahc_apa1480_setup(2165,57403 -ahc_aic7870_setup(2177,57587 -ahc_aha394X_setup(2189,57843 -ahc_aha398X_setup(2200,58015 -ahc_aha494X_setup(2211,58187 -ahc_aic7880_setup(2222,58359 -ahc_aha2940Pro_setup(2243,58815 -ahc_aha394XU_setup(2251,58946 -ahc_aha398XU_setup(2262,59119 -ahc_aic7890_setup(2273,59292 -ahc_aic7892_setup(2291,59694 -ahc_aic7895_setup(2304,59952 -ahc_aic7896_setup(2360,61464 -ahc_aic7899_setup(2375,61804 -ahc_aha29160C_setup(2390,62146 -ahc_raid_setup(2402,62332 -ahc_aha394XX_setup(2409,62448 -ahc_aha398XX_setup(2431,62875 -ahc_aha494XX_setup(2458,63407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_core.c,3636 -struct ahc_softc_tailq ahc_tailq 56,2379 -char *ahc_chip_names[59,2531 -static const u_int num_chip_names 76,2732 -struct ahc_hard_error_entry ahc_hard_error_entry81,2831 -static struct ahc_hard_error_entry ahc_hard_errors[86,2904 -static const u_int num_errors 96,3324 -static struct ahc_phase_table_entry ahc_phase_table[98,3388 -static const u_int num_phases 116,4080 -static struct ahc_syncrate ahc_syncrates[123,4292 - AHCMSG_1B,188,6866 - AHCMSG_2B,189,6878 - AHCMSG_EXT190,6890 -} ahc_msgtype;ahc_msgtype191,6902 -static bus_dmamap_callback_t ahc_dmamap_cb;211,7694 -ahc_restart(250,9281 -ahc_run_qoutfifo(302,10853 -ahc_run_untagged_queues(349,11994 -ahc_run_untagged_queue(358,12143 -ahc_handle_brkadrint(374,12508 -ahc_handle_seqint(403,13225 -ahc_handle_scsiint(953,28833 -ahc_force_renegotiation(1389,41996 -#define AHC_MAX_STEPS 1403,42366 -ahc_clear_critical_section(1405,42398 -ahc_clear_intstat(1498,44513 -uint32_t ahc_debug 1513,45017 -ahc_print_scb(1517,45067 -ahc_alloc_tstate(1555,46151 -ahc_free_tstate(1603,47652 -ahc_devlimited_syncrate(1632,48418 -ahc_find_syncrate(1687,50090 -ahc_find_period(1754,51795 -ahc_validate_offset(1784,52494 -ahc_validate_width(1816,53244 -ahc_update_neg_request(1846,54002 -ahc_set_syncrate(1889,55504 -ahc_set_width(2016,58827 -ahc_set_tags(2072,60228 -ahc_update_pending_scbs(2086,60671 -ahc_fetch_devinfo(2164,62898 -ahc_lookup_phase_entry(2196,63758 -ahc_compile_devinfo(2214,64162 -ahc_print_devinfo(2229,64568 -ahc_scb_devinfo(2236,64753 -ahc_assert_atn(2253,65221 -ahc_setup_initiator_msgout(2270,65688 -ahc_build_transfer_msg(2356,68559 -ahc_construct_sdtr(2454,71386 -ahc_construct_wdtr(2477,72128 -ahc_construct_ppr(2497,72748 -ahc_clear_msg_state(2524,73681 -ahc_handle_proto_violation(2542,74109 -ahc_handle_message_phase(2639,76912 -ahc_sent_msg(2941,84041 -ahc_parse_msg(2988,85063 -ahc_handle_msg_reject(3410,96014 -ahc_handle_ign_wide_residue(3561,100754 -ahc_reinitialize_dataptrs(3670,103520 -ahc_handle_devreset(3726,105131 -ahc_setup_target_msgin(3780,106635 -ahc_alloc(3807,107415 -ahc_softc_init(3860,108623 -ahc_softc_insert(3882,109158 -ahc_find_softc(3942,110626 -ahc_set_unit(3954,110809 -ahc_set_name(3960,110884 -ahc_free(3968,111014 -ahc_shutdown(4041,112500 -ahc_reset(4068,113248 -ahc_probe_scbs(4182,115941 -ahc_dmamap_cb(4199,116235 -ahc_build_free_scb_list(4208,116398 -ahc_init_scbdata(4259,117563 -ahc_fini_scbdata(4399,121548 -ahc_alloc_scbs(4453,122875 -ahc_controller_info(4531,124957 -ahc_chip_init(4572,125995 -ahc_init(4759,131480 -ahc_intr_enable(5080,140821 -ahc_pause_and_flushwork(5104,141343 -ahc_suspend(5135,142094 -ahc_resume(5161,142556 -ahc_index_busy_tcl(5176,142887 -ahc_unbusy_tcl(5197,143357 -ahc_busy_tcl(5215,143805 -ahc_match_scb(5234,144330 -ahc_freeze_devq(5270,145359 -ahc_qinfifo_requeue_tail(5288,145733 -ahc_qinfifo_requeue(5310,146249 -ahc_qinfifo_count(5326,146735 -ahc_search_qinfifo(5341,147030 -ahc_search_untagged_queues(5550,152518 -ahc_search_disc_list(5648,154687 -ahc_rem_scb_from_disc_list(5715,156262 -ahc_add_curscb_to_free_list(5741,156823 -ahc_rem_wscb(5760,157278 -ahc_abort_scbs(5811,158559 -ahc_reset_current_bus(5943,162057 -ahc_reset_channel(5962,162530 -ahc_calc_residual(6133,167283 -ahc_queue_lstate_event(6221,169460 -ahc_send_lstate_events(6272,171138 -ahc_dumpseq(6308,172199 -ahc_loadseq(6328,172615 -ahc_check_patch(6438,175751 -ahc_download_instr(6474,176570 -ahc_print_register(6599,179431 -ahc_dump_card_state(6647,180483 -ahc_find_tmode_devs(6832,186297 -ahc_handle_en_lun(6873,187311 -ahc_update_scsiid(7246,196664 -ahc_run_tqinfifo(7284,197550 -ahc_handle_target_cmd(7339,198935 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic79xx_inline.h,1746 -#define _AIC79XX_INLINE_H_46,2075 -ahd_name(52,2263 -ahd_known_modes(80,3423 -ahd_build_mode_state(89,3626 -ahd_extract_mode_state(95,3785 -ahd_set_modes(103,4010 -ahd_update_modes(121,4559 -ahd_assert_modes(137,4912 -ahd_save_modes(150,5264 -ahd_restore_modes(160,5500 -#define AHD_ASSERT_MODES(AHD_ASSERT_MODES169,5679 -ahd_is_paused(177,5929 -ahd_pause(190,6335 -ahd_unpause(213,7016 -ahd_sg_setup(244,8084 -ahd_setup_scb_common(268,8739 -ahd_setup_data_scb(289,9411 -ahd_setup_noxfer_scb(326,10425 -ahd_sg_size(354,11364 -ahd_sg_bus_to_virt(362,11553 -ahd_sg_virt_to_bus(372,11848 -ahd_sync_scb(384,12136 -ahd_sync_sglist(393,12388 -ahd_sync_sense(405,12686 -ahd_targetcmd_offset(414,12921 -ahd_complete_scb(471,15539 -ahd_update_residual(487,15871 -ahd_fetch_transinfo(501,16217 -#define AHD_COPY_COL_IDX(AHD_COPY_COL_IDX516,16727 -ahd_inw(523,16901 -ahd_outw(529,17030 -ahd_inl(536,17198 -ahd_outl(545,17412 -ahd_inq(554,17683 -ahd_outq(567,18097 -ahd_get_scbptr(580,18541 -ahd_set_scbptr(588,18783 -ahd_get_hnscb_qoff(597,19061 -ahd_set_hnscb_qoff(603,19172 -ahd_get_hescb_qoff(609,19296 -ahd_set_hescb_qoff(615,19400 -ahd_get_snscb_qoff(621,19517 -ahd_set_snscb_qoff(632,19763 -ahd_get_sescb_qoff(639,19944 -ahd_set_sescb_qoff(646,20112 -ahd_get_sdscb_qoff(653,20293 -ahd_set_sdscb_qoff(660,20499 -ahd_inb_scbram(668,20738 -ahd_inw_scbram(693,21428 -ahd_inl_scbram(700,21595 -ahd_inq_scbram(707,21763 -ahd_lookup_scb(714,21945 -ahd_swap_with_next_hscb(728,22228 -ahd_queue_scb(763,23418 -ahd_get_sense_buf(807,24632 -ahd_get_sense_bufaddr(813,24747 -ahd_sync_qoutfifo(825,25213 -ahd_sync_tqinfifo(832,25418 -#define AHD_RUN_QOUTFIFO 849,25822 -#define AHD_RUN_TQINFIFO 850,25851 -ahd_check_cmdcmpltqueues(852,25902 -ahd_intr(882,26741 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.c,467 -static DB *symtable;63,2350 -symbol_create(66,2383 -symbol_delete(84,2808 -symtable_open(131,3675 -symtable_close(145,3929 -symtable_get(166,4319 -symlist_search(205,5221 -symlist_add(219,5489 -symlist_free(294,7285 -symlist_merge(308,7509 -aic_print_file_prologue(325,7898 -aic_print_include(341,8131 -aic_print_reg_dump_types(350,8279 -aic_print_reg_dump_start(367,8596 -aic_print_reg_dump_end(379,8811 -aic_print_reg_dump_entry(436,10036 -symtable_dump(457,10428 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aicasm/aicasm_insformat.h,757 -struct ins_format1 ins_format145,2067 -struct ins_format2 ins_format263,2349 -struct ins_format3 ins_format381,2639 -union ins_formats ins_formats97,2891 -struct instruction instruction104,3051 - STAILQ_ENTRY(STAILQ_ENTRY108,3144 -#define AIC_OP_OR 111,3182 -#define AIC_OP_AND 112,3204 -#define AIC_OP_XOR 113,3227 -#define AIC_OP_ADD 114,3250 -#define AIC_OP_ADC 115,3273 -#define AIC_OP_ROL 116,3296 -#define AIC_OP_BMOV 117,3319 -#define AIC_OP_JMP 119,3344 -#define AIC_OP_JC 120,3367 -#define AIC_OP_JNC 121,3389 -#define AIC_OP_CALL 122,3412 -#define AIC_OP_JNE 123,3436 -#define AIC_OP_JNZ 124,3459 -#define AIC_OP_JE 125,3482 -#define AIC_OP_JZ 126,3504 -#define AIC_OP_SHL 129,3544 -#define AIC_OP_SHR 130,3568 -#define AIC_OP_ROR 131,3592 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aicasm/aicasm.h,274 -#define TRUE 52,2162 -#define FALSE 56,2199 -typedef struct path_entry path_entry59,2223 - SLIST_ENTRY(SLIST_ENTRY62,2296 -} *path_entry_t;path_entry_t63,2328 - QUOTED_INCLUDE,66,2363 - BRACKETED_INCLUDE,67,2380 - SOURCE_FILE68,2400 -} include_type;include_type69,2413 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aicasm/aicasm.c,377 -typedef struct patch patch66,2417 - STAILQ_ENTRY(STAILQ_ENTRY67,2440 -} patch_t;patch_t72,2541 -STAILQ_HEAD(74,2553 -usage(308,7841 -back_patch(320,8099 -output_code(349,8765 -dump_scope(461,11487 -emit_patch(489,11906 -output_listing(520,12587 -check_patch(640,15314 -stop(679,16213 -seq_alloc(724,17088 -cs_alloc(738,17461 -scope_alloc(752,17771 -process_scope(772,18290 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aicasm/aicasm_symbol.h,1675 - UNINITIALIZED,52,2159 - REGISTER,53,2175 - ALIAS,54,2186 - SCBLOC,55,2194 - SRAMLOC,56,2203 - ENUM_ENTRY,57,2213 - FIELD,58,2226 - MASK,59,2234 - ENUM,60,2241 - CONST,61,2248 - DOWNLOAD_CONST,62,2256 - LABEL,63,2273 - CONDITIONAL,64,2281 - MACRO65,2295 -} symtype;symtype66,2302 - RO 69,2329 - RO = 0x01,69,2329 - WO 70,2341 - WO = 0x02,70,2341 - RW 71,2353 - RW = 0x0371,2353 -}amode_t;amode_t72,2364 -typedef SLIST_HEAD(SLIST_HEAD74,2375 -struct reg_info reg_info76,2428 -struct field_info field_info86,2585 -struct const_info const_info92,2664 -struct alias_info alias_info97,2715 -struct label_info label_info101,2763 -struct cond_info cond_info106,2816 -struct macro_arg macro_arg110,2854 - STAILQ_ENTRY(STAILQ_ENTRY111,2873 -struct macro_info macro_info117,3001 -typedef struct expression_info expression_info123,3086 -} expression_t;expression_t126,3191 -typedef struct symbol symbol128,3208 -} symbol_t;symbol_t140,3480 -typedef struct symbol_ref symbol_ref142,3493 -} symbol_ref_t;symbol_ref_t145,3554 -typedef struct symbol_node symbol_node147,3571 - SLIST_ENTRY(SLIST_ENTRY148,3600 -} symbol_node_t;symbol_node_t150,3652 -typedef struct critical_section critical_section152,3670 - TAILQ_ENTRY(TAILQ_ENTRY153,3704 -} critical_section_t;critical_section_t156,3774 - SCOPE_ROOT,159,3812 - SCOPE_IF,160,3825 - SCOPE_ELSE_IF,161,3836 - SCOPE_ELSE162,3852 -} scope_type;scope_type163,3864 -typedef struct patch_info patch_info165,3879 -} patch_info_t;patch_info_t168,3941 -typedef struct scope scope170,3958 - SLIST_ENTRY(SLIST_ENTRY171,3981 -} scope_t;scope_t180,4211 -#define SYMLIST_INSERT_HEAD 200,4595 -#define SYMLIST_SORT 201,4628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx/aic7xxx_93cx6.c,390 -static struct seeprom_cmd seeprom_cmd84,3861 -} seeprom_read 87,3924 -static struct seeprom_cmd seeprom_ewen 89,3958 -static struct seeprom_cmd seeprom_ewds 90,4033 -static struct seeprom_cmd seeprom_write 91,4108 -#define CLOCK_PULSE(CLOCK_PULSE96,4223 -send_seeprom_cmd(106,4452 -reset_seeprom(132,5059 -ahc_read_seeprom(150,5414 -ahc_write_seeprom(222,7183 -ahc_verify_cksum(287,8804 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ahci.c,4826 -#define DRV_NAME 40,1394 -#define DRV_VERSION 41,1418 - AHCI_PCI_BAR 45,1454 - AHCI_MAX_SG 46,1474 - AHCI_DMA_BOUNDARY 47,1521 - AHCI_DMA_BOUNDARY = 0xffffffff,47,1521 - AHCI_USE_CLUSTERING 48,1554 - AHCI_CMD_SLOT_SZ 49,1580 - AHCI_RX_FIS_SZ 50,1609 - AHCI_CMD_TBL_HDR 51,1633 - AHCI_CMD_TBL_HDR = 0x80,51,1633 - AHCI_CMD_TBL_SZ 52,1659 - AHCI_CMD_TBL_SZ = AHCI_CMD_TBL_HDR 52,1659 - AHCI_CMD_TBL_SZ = AHCI_CMD_TBL_HDR + (AHCI_MAX_SG 52,1659 - AHCI_PORT_PRIV_DMA_SZ 53,1718 - AHCI_PORT_PRIV_DMA_SZ = AHCI_CMD_SLOT_SZ 53,1718 - AHCI_PORT_PRIV_DMA_SZ = AHCI_CMD_SLOT_SZ + AHCI_CMD_TBL_SZ 53,1718 - AHCI_RX_FIS_SZ,54,1780 - AHCI_IRQ_ON_SG 55,1802 - AHCI_CMD_ATAPI 56,1832 - AHCI_CMD_WRITE 57,1861 - RX_FIS_D2H_REG 59,1891 - RX_FIS_D2H_REG = 0x40,59,1891 - board_ahci 61,1955 - HOST_CAP 64,2009 - HOST_CAP = 0x00,64,2009 - HOST_CTL 65,2052 - HOST_CTL = 0x04,65,2052 - HOST_IRQ_STAT 66,2097 - HOST_IRQ_STAT = 0x08,66,2097 - HOST_PORTS_IMPL 67,2144 - HOST_PORTS_IMPL = 0x0c,67,2144 - HOST_VERSION 68,2204 - HOST_VERSION = 0x10,68,2204 - HOST_RESET 71,2285 - HOST_IRQ_EN 72,2346 - HOST_AHCI_EN 73,2397 - HOST_CAP_64 76,2466 - PORT_LST_ADDR 79,2565 - PORT_LST_ADDR = 0x00,79,2565 - PORT_LST_ADDR_HI 80,2617 - PORT_LST_ADDR_HI = 0x04,80,2617 - PORT_FIS_ADDR 81,2674 - PORT_FIS_ADDR = 0x08,81,2674 - PORT_FIS_ADDR_HI 82,2720 - PORT_FIS_ADDR_HI = 0x0c,82,2720 - PORT_IRQ_STAT 83,2771 - PORT_IRQ_STAT = 0x10,83,2771 - PORT_IRQ_MASK 84,2818 - PORT_IRQ_MASK = 0x14,84,2818 - PORT_CMD 85,2878 - PORT_CMD = 0x18,85,2878 - PORT_TFDATA 86,2916 - PORT_TFDATA = 0x20,86,2916 - PORT_SIG 87,2958 - PORT_SIG = 0x24,87,2958 - PORT_CMD_ISSUE 88,3003 - PORT_CMD_ISSUE = 0x38,88,3003 - PORT_SCR 89,3048 - PORT_SCR = 0x28,89,3048 - PORT_SCR_STAT 90,3097 - PORT_SCR_STAT = 0x28,90,3097 - PORT_SCR_CTL 91,3154 - PORT_SCR_CTL = 0x2c,91,3154 - PORT_SCR_ERR 92,3211 - PORT_SCR_ERR = 0x30,92,3211 - PORT_SCR_ACT 93,3266 - PORT_SCR_ACT = 0x34,93,3266 - PORT_IRQ_COLD_PRES 96,3356 - PORT_IRQ_TF_ERR 97,3416 - PORT_IRQ_HBUS_ERR 98,3469 - PORT_IRQ_HBUS_DATA_ERR 99,3528 - PORT_IRQ_IF_ERR 100,3591 - PORT_IRQ_IF_NONFATAL 101,3650 - PORT_IRQ_OVERFLOW 102,3717 - PORT_IRQ_BAD_PMP 103,3784 - PORT_IRQ_PHYRDY 105,3848 - PORT_IRQ_DEV_ILCK 106,3900 - PORT_IRQ_CONNECT 107,3954 - PORT_IRQ_SG_DONE 108,4017 - PORT_IRQ_UNK_FIS 109,4074 - PORT_IRQ_SDB_FIS 110,4127 - PORT_IRQ_DMAS_FIS 111,4188 - PORT_IRQ_PIOS_FIS 112,4244 - PORT_IRQ_D2H_REG_FIS 113,4300 - PORT_IRQ_FATAL 115,4363 - PORT_IRQ_FATAL = PORT_IRQ_TF_ERR 115,4363 - PORT_IRQ_HBUS_ERR 116,4400 - PORT_IRQ_HBUS_DATA_ERR 117,4426 - PORT_IRQ_IF_ERR,118,4457 - DEF_PORT_IRQ 119,4480 - DEF_PORT_IRQ = PORT_IRQ_FATAL 119,4480 - DEF_PORT_IRQ = PORT_IRQ_FATAL | PORT_IRQ_PHYRDY 119,4480 - PORT_IRQ_CONNECT 120,4532 - PORT_IRQ_CONNECT | PORT_IRQ_SG_DONE 120,4532 - PORT_IRQ_UNK_FIS 121,4576 - PORT_IRQ_UNK_FIS | PORT_IRQ_SDB_FIS 121,4576 - PORT_IRQ_DMAS_FIS 122,4620 - PORT_IRQ_DMAS_FIS | PORT_IRQ_PIOS_FIS 122,4620 - PORT_IRQ_D2H_REG_FIS,123,4666 - PORT_CMD_LIST_ON 126,4716 - PORT_CMD_FIS_ON 127,4781 - PORT_CMD_FIS_RX 128,4841 - PORT_CMD_POWER_ON 129,4907 - PORT_CMD_SPIN_UP 130,4960 - PORT_CMD_START 131,5011 - PORT_CMD_ICC_ACTIVE 133,5070 - PORT_CMD_ICC_ACTIVE = (0x1 133,5070 - PORT_CMD_ICC_PARTIAL 134,5136 - PORT_CMD_ICC_PARTIAL = (0x2 134,5136 - PORT_CMD_ICC_SLUMBER 135,5204 - PORT_CMD_ICC_SLUMBER = (0x6 135,5204 -struct ahci_cmd_hdr ahci_cmd_hdr138,5276 -struct ahci_sg ahci_sg146,5387 -struct ahci_host_priv ahci_host_priv153,5473 -struct ahci_port_priv ahci_port_priv159,5621 -static Scsi_Host_Template ahci_sht 184,6687 -static struct ata_port_operations ahci_ops 203,7259 -static struct ata_port_info ahci_port_info[227,7768 -static struct pci_device_id ahci_pci_tbl[240,8089 -static struct pci_driver ahci_pci_driver 249,8325 -static inline unsigned long ahci_port_base_ul 257,8484 -static inline void *ahci_port_base 262,8613 -static void ahci_host_stop(267,8748 -static int ahci_port_start(273,8882 -static void ahci_port_stop(356,10787 -static u32 ahci_scr_read 381,11460 -static void ahci_scr_write 398,11827 -static void ahci_phy_reset(415,12201 -static u8 ahci_check_status(438,12721 -static void ahci_fill_sg(445,12862 -static void ahci_qc_prep(468,13369 -static inline void ahci_dma_complete 512,14398 -static void ahci_intr_error(521,14681 -static void ahci_eng_timeout(569,15932 -static inline int ahci_host_intr(596,16690 -static void ahci_irq_clear(625,17320 -static irqreturn_t ahci_interrupt 630,17385 -static int ahci_qc_issue(678,18398 -static void ahci_setup_port(692,18721 -static int ahci_host_init(705,19056 -static void pci_enable_intx(852,22914 -static void ahci_print_info(863,23195 -static int ahci_init_one 934,24776 -static int __init ahci_init(1026,26921 -static void __exit ahci_exit(1032,27004 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pas16.h,1821 -#define PAS16_H37,681 -#define PAS16_PUBLIC_RELEASE 39,698 -#define PDEBUG_INIT 41,730 -#define PDEBUG_TRANSFER 42,754 -#define PAS16_DEFAULT_BASE_1 44,783 -#define PAS16_DEFAULT_BASE_2 45,819 -#define PAS16_DEFAULT_BASE_3 46,855 -#define PAS16_DEFAULT_BASE_4 47,891 -#define PAS16_DEFAULT_BOARD_1_IRQ 49,928 -#define PAS16_DEFAULT_BOARD_2_IRQ 50,965 -#define PAS16_DEFAULT_BOARD_3_IRQ 51,1002 -#define PAS16_DEFAULT_BOARD_4_IRQ 52,1039 -#define P_TIMEOUT_COUNTER_REG 71,1776 -#define P_TC_DISABLE 72,1813 -#define P_TIMEOUT_STATUS_REG_OFFSET 76,1922 -#define P_TS_TIM 77,1965 -#define P_TS_ARM_DRQ_INT 79,2041 -#define P_TS_ENABLE_TO_ERR_INTERRUPT 87,2307 -#define P_TS_ENABLE_WAIT 88,2376 -#define P_TS_CT 90,2421 -#define P_DATA_REG_OFFSET 100,2639 -#define P_STATUS_REG_OFFSET 102,2682 -#define P_ST_RDY 103,2726 -#define P_IRQ_STATUS 105,2773 -#define P_IS_IRQ 106,2802 -#define PCB_CONFIG 108,2844 -#define MASTER_ADDRESS_PTR 109,2869 -#define SYS_CONFIG_4 110,2935 -#define WAIT_STATE 111,2963 -#define OPERATION_MODE_1 112,2989 -#define IO_CONFIG_3 113,3021 -#define CMD_PER_LUN 127,3461 -#define CAN_QUEUE 131,3509 -#define NCR5380_implementation_fields 136,3556 -#define NCR5380_local_declare(NCR5380_local_declare139,3633 -#define NCR5380_setup(NCR5380_setup142,3704 -#define PAS16_io_port(PAS16_io_port145,3773 -#define NCR5380_read(NCR5380_read148,3868 -#define NCR5380_write(NCR5380_write149,3922 -#define NCR5380_read(NCR5380_read151,3999 -#define NCR5380_write(NCR5380_write155,4189 -#define NCR5380_intr 163,4414 -#define do_NCR5380_intr 164,4446 -#define NCR5380_queue_command 165,4484 -#define NCR5380_abort 166,4534 -#define NCR5380_device_reset 167,4568 -#define NCR5380_bus_reset 168,4616 -#define NCR5380_host_reset 169,4658 -#define NCR5380_proc_info 170,4702 -#define PAS16_IRQS 175,4797 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/osst.h,2904 -} idetape_inquiry_result_t;idetape_inquiry_result_t33,1343 -} idetape_read_position_result_t;idetape_read_position_result_t51,2020 -#define COMPRESSION_PAGE 57,2166 -#define COMPRESSION_PAGE_LENGTH 58,2206 -#define CAPABILITIES_PAGE 60,2245 -#define CAPABILITIES_PAGE_LENGTH 61,2285 -#define TAPE_PARAMTR_PAGE 63,2324 -#define TAPE_PARAMTR_PAGE_LENGTH 64,2364 -#define NUMBER_RETRIES_PAGE 66,2403 -#define NUMBER_RETRIES_PAGE_LENGTH 67,2443 -#define BLOCK_SIZE_PAGE 69,2481 -#define BLOCK_SIZE_PAGE_LENGTH 70,2521 -#define BUFFER_FILLING_PAGE 72,2559 -#define BUFFER_FILLING_PAGE_LENGTH 73,2599 -#define VENDOR_IDENT_PAGE 75,2636 -#define VENDOR_IDENT_PAGE_LENGTH 76,2676 -#define LOCATE_STATUS_PAGE 78,2714 -#define LOCATE_STATUS_PAGE_LENGTH 79,2754 -#define MODE_HEADER_LENGTH 81,2792 -} idetape_request_sense_result_t;idetape_request_sense_result_t107,3864 -} osst_mode_parameter_header_t;osst_mode_parameter_header_t117,4303 -} osst_parameter_block_descriptor_t;osst_parameter_block_descriptor_t129,4759 -} osst_data_compression_page_t;osst_data_compression_page_t172,6818 -} osst_medium_partition_page_t;osst_medium_partition_page_t209,8653 -} osst_capabilities_page_t;osst_capabilities_page_t298,13514 -} osst_block_size_page_t;osst_block_size_page_t336,14888 -} osst_tape_paramtr_page_t;osst_tape_paramtr_page_t359,15564 -#define OS_CONFIG_PARTITION 363,15621 -#define OS_DATA_PARTITION 364,15660 -#define OS_PARTITION_VERSION 365,15696 -typedef struct os_partition_s os_partition_s370,15753 -} os_partition_t;os_partition_t377,15976 -typedef struct os_dat_entry_s os_dat_entry_s382,16015 -} os_dat_entry_t;os_dat_entry_t387,16145 -#define OS_DAT_FLAGS_DATA 392,16178 -#define OS_DAT_FLAGS_MARK 393,16216 -typedef struct os_dat_s os_dat_s395,16255 -} os_dat_t;os_dat_t401,16456 -#define OS_FRAME_TYPE_FILL 406,16491 -#define OS_FRAME_TYPE_EOD 407,16527 -#define OS_FRAME_TYPE_MARKER 408,16568 -#define OS_FRAME_TYPE_HEADER 409,16609 -#define OS_FRAME_TYPE_DATA 410,16650 -typedef struct os_aux_s os_aux_s415,16706 -} os_aux_t;os_aux_t445,17982 -#define OS_FM_TAB_MAX 447,17995 -typedef struct os_fm_tab_s os_fm_tab_s449,18023 -} os_fm_tab_t;os_fm_tab_t457,18216 -typedef struct os_ext_trk_ey_s os_ext_trk_ey_s459,18232 -} os_ext_trk_ey_t;os_ext_trk_ey_t468,18422 -typedef struct os_ext_trk_tb_s os_ext_trk_tb_s470,18442 -} os_ext_trk_tb_t;os_ext_trk_tb_t477,18626 -typedef struct os_header_s os_header_s479,18646 -} os_header_t;os_header_t499,19313 -#define OS_FRAME_SIZE 505,19360 -#define OS_DATA_SIZE 506,19402 -#define OS_AUX_SIZE 507,19438 -} OSST_buffer;OSST_buffer528,20243 -} OS_Scsi_Tape;OS_Scsi_Tape626,24169 -#define OS_WRITE_DATA 629,24213 -#define OS_WRITE_EOD 630,24242 -#define OS_WRITE_NEW_MARK 631,24271 -#define OS_WRITE_LAST_MARK 632,24300 -#define OS_WRITE_HEADER 633,24329 -#define OS_WRITE_FILLER 634,24358 -#define OS_WRITING_COMPLETE 637,24414 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/amiga7xx.h,54 -#define CMD_PER_LUN 14,406 -#define CAN_QUEUE 18,454 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aic7xxx_old.c,19241 -#define AIC7XXX_STRICT_PCI_SETUP202,10529 -#define AIC7XXX_C_VERSION 255,12134 -#define ALL_TARGETS 257,12170 -#define ALL_CHANNELS 258,12193 -#define ALL_LUNS 259,12217 -#define MAX_TARGETS 260,12237 -#define MAX_LUNS 261,12261 -# define TRUE 263,12297 -# define FALSE 266,12335 -# define MMAPIO270,12430 -#define AIC7XXX_CMDS_PER_DEVICE 278,12657 -} adapter_tag_info_t;adapter_tag_info_t283,12782 -#define DEFAULT_TAG_COMMANDS 289,12899 -static adapter_tag_info_t aic7xxx_tag_info[329,14474 -static const char *board_names[354,15073 -#define DID_UNDERFLOW 391,17365 -#define DID_RETRY_COMMAND 406,18012 -#define HSCSIID 408,18049 -#define SCSI_RESET 409,18077 -#define MINSLOT 414,18135 -#define MAXSLOT 415,18168 -#define SLOTBASE(SLOTBASE416,18202 -#define BASE_TO_SLOT(BASE_TO_SLOT417,18241 -#define AHC_HID0 422,18340 -#define AHC_HID1 423,18414 -#define AHC_HID2 424,18488 -#define AHC_HID3 425,18562 -#define MINREG 430,18688 -#define MAXREG 431,18724 -#define INTDEF 433,18761 -#define CLASS_PROGIF_REVID 438,18871 -#define DEVREVID 439,18917 -#define PROGINFC 440,18969 -#define SUBCLASS 441,19021 -#define BASECLASS 442,19073 -#define CSIZE_LATTIME 444,19127 -#define CACHESIZE 445,19176 -#define LATTIME 446,19254 -#define DEVCONFIG 448,19314 -#define SCBSIZE32 449,19359 -#define MPORTMODE 450,19438 -#define RAMPSM 451,19517 -#define RAMPSM_ULTRA2 452,19596 -#define VOLSENSE 453,19647 -#define SCBRAMSEL 454,19700 -#define SCBRAMSEL_ULTRA2 455,19753 -#define MRDCEN 456,19804 -#define EXTSCBTIME 457,19857 -#define EXTSCBPEN 458,19936 -#define BERREN 459,20015 -#define DACEN 460,20068 -#define STPWLEVEL 461,20121 -#define DIFACTNEGEN 462,20174 -#define SCAMCTL 464,20254 -#define CCSCBBADDR 465,20333 -typedef enum {C46 476,20826 -typedef enum {C46 = 6, C56_66 476,20826 -typedef enum {C46 = 6, C56_66 = 8} seeprom_chip_type;seeprom_chip_type476,20826 -struct seeprom_config seeprom_config483,20951 -#define CFXFER 488,21014 -#define CFSYNCH 489,21088 -#define CFDISC 490,21164 -#define CFWIDEB 491,21233 -#define CFSYNCHISULTRA 492,21309 -#define CFNEWULTRAFORMAT 493,21383 -#define CFSTART 494,21461 -#define CFINCBIOS 495,21538 -#define CFRNFOUND 496,21607 -#define CFMULTILUN 497,21680 -#define CFWBCACHEYES 498,21757 -#define CFWBCACHENC 499,21836 -#define CFSUPREM 506,22035 -#define CFSUPREMB 507,22102 -#define CFBIOSEN 508,22179 -#define CFSM2DRV 510,22265 -#define CF284XEXTEND 511,22332 -#define CFEXTEND 513,22439 -#define CFAUTOTERM 520,22624 -#define CFULTRAEN 521,22687 -#define CF284XSELTO 522,22763 -#define CF284XFIFO 523,22832 -#define CFSTERM 524,22898 -#define CFWSTERM 525,22962 -#define CFSPARITY 526,23039 -#define CF284XSTERM 527,23089 -#define CFRESETB 528,23166 -#define CFBPRIMARY 529,23227 -#define CFSEAUTOTERM 530,23300 -#define CFLVDSTERM 531,23367 -#define CFSCSIID 538,23559 -#define CFBRTIME 540,23667 -#define CFMAXTARG 546,23820 -#define SELBUS_MASK 554,24097 -#define SELNARROW 555,24137 -#define SELBUSB 556,24175 -#define SINGLE_BUS 557,24219 -#define SCB_TARGET(SCB_TARGET559,24259 -#define SCB_LUN(SCB_LUN561,24347 -#define SCB_IS_SCSIBUS_B(SCB_IS_SCSIBUS_B563,24428 -#define aic7xxx_error(aic7xxx_error572,24795 -#define aic7xxx_status(aic7xxx_status577,24903 -#define aic7xxx_position(aic7xxx_position582,25035 -#define aic7xxx_mapping(aic7xxx_mapping587,25166 -#define AIC_DEV(AIC_DEV592,25280 -static struct aic7xxx_host *first_aic7xxx 597,25402 -struct hw_scatterlist hw_scatterlist604,25627 -#define AIC7XXX_MAX_SG 612,25767 -#define AIC7XXX_MAXSCB 619,25960 -struct aic7xxx_hwscb aic7xxx_hwscb622,25996 -#define SCB_PIO_TRANSFER_SIZE 638,26736 - SCB_FREE 654,27547 - SCB_FREE = 0x0000,654,27547 - SCB_DTR_SCB 655,27589 - SCB_DTR_SCB = 0x0001,655,27589 - SCB_WAITINGQ 656,27631 - SCB_WAITINGQ = 0x0002,656,27631 - SCB_ACTIVE 657,27673 - SCB_ACTIVE = 0x0004,657,27673 - SCB_SENSE 658,27715 - SCB_SENSE = 0x0008,658,27715 - SCB_ABORT 659,27757 - SCB_ABORT = 0x0010,659,27757 - SCB_DEVICE_RESET 660,27799 - SCB_DEVICE_RESET = 0x0020,660,27799 - SCB_RESET 661,27841 - SCB_RESET = 0x0040,661,27841 - SCB_RECOVERY_SCB 662,27883 - SCB_RECOVERY_SCB = 0x0080,662,27883 - SCB_MSGOUT_PPR 663,27925 - SCB_MSGOUT_PPR = 0x0100,663,27925 - SCB_MSGOUT_SENT 664,27967 - SCB_MSGOUT_SENT = 0x0200,664,27967 - SCB_MSGOUT_SDTR 665,28009 - SCB_MSGOUT_SDTR = 0x0400,665,28009 - SCB_MSGOUT_WDTR 666,28051 - SCB_MSGOUT_WDTR = 0x0800,666,28051 - SCB_MSGOUT_BITS 667,28093 - SCB_MSGOUT_BITS = SCB_MSGOUT_PPR 667,28093 - SCB_MSGOUT_SENT 668,28144 - SCB_MSGOUT_SDTR 669,28197 - SCB_MSGOUT_WDTR,670,28249 - SCB_QUEUED_ABORT 671,28300 - SCB_QUEUED_ABORT = 0x1000,671,28300 - SCB_QUEUED_FOR_DONE 672,28342 - SCB_QUEUED_FOR_DONE = 0x2000,672,28342 - SCB_WAS_BUSY 673,28384 - SCB_WAS_BUSY = 0x4000,673,28384 - SCB_QUEUE_FULL 674,28426 - SCB_QUEUE_FULL = 0x8000674,28426 -} scb_flag_type;scb_flag_type675,28452 - AHC_FNONE 678,28485 - AHC_FNONE = 0x00000000,678,28485 - AHC_PAGESCBS 679,28533 - AHC_PAGESCBS = 0x00000001,679,28533 - AHC_CHANNEL_B_PRIMARY 680,28581 - AHC_CHANNEL_B_PRIMARY = 0x00000002,680,28581 - AHC_USEDEFAULTS 681,28629 - AHC_USEDEFAULTS = 0x00000004,681,28629 - AHC_INDIRECT_PAGING 682,28677 - AHC_INDIRECT_PAGING = 0x00000008,682,28677 - AHC_CHNLB 683,28725 - AHC_CHNLB = 0x00000020,683,28725 - AHC_CHNLC 684,28773 - AHC_CHNLC = 0x00000040,684,28773 - AHC_EXTEND_TRANS_A 685,28821 - AHC_EXTEND_TRANS_A = 0x00000100,685,28821 - AHC_EXTEND_TRANS_B 686,28869 - AHC_EXTEND_TRANS_B = 0x00000200,686,28869 - AHC_TERM_ENB_A 687,28917 - AHC_TERM_ENB_A = 0x00000400,687,28917 - AHC_TERM_ENB_SE_LOW 688,28965 - AHC_TERM_ENB_SE_LOW = 0x00000400,688,28965 - AHC_TERM_ENB_B 689,29013 - AHC_TERM_ENB_B = 0x00000800,689,29013 - AHC_TERM_ENB_SE_HIGH 690,29061 - AHC_TERM_ENB_SE_HIGH = 0x00000800,690,29061 - AHC_HANDLING_REQINITS 691,29109 - AHC_HANDLING_REQINITS = 0x00001000,691,29109 - AHC_TARGETMODE 692,29157 - AHC_TARGETMODE = 0x00002000,692,29157 - AHC_NEWEEPROM_FMT 693,29205 - AHC_NEWEEPROM_FMT = 0x00004000,693,29205 - AHC_MOTHERBOARD 701,29604 - AHC_MOTHERBOARD = 0x00020000,701,29604 - AHC_NO_STPWEN 702,29652 - AHC_NO_STPWEN = 0x00040000,702,29652 - AHC_RESET_DELAY 703,29700 - AHC_RESET_DELAY = 0x00080000,703,29700 - AHC_A_SCANNED 704,29748 - AHC_A_SCANNED = 0x00100000,704,29748 - AHC_B_SCANNED 705,29796 - AHC_B_SCANNED = 0x00200000,705,29796 - AHC_MULTI_CHANNEL 706,29844 - AHC_MULTI_CHANNEL = 0x00400000,706,29844 - AHC_BIOS_ENABLED 707,29892 - AHC_BIOS_ENABLED = 0x00800000,707,29892 - AHC_SEEPROM_FOUND 708,29940 - AHC_SEEPROM_FOUND = 0x01000000,708,29940 - AHC_TERM_ENB_LVD 709,29988 - AHC_TERM_ENB_LVD = 0x02000000,709,29988 - AHC_ABORT_PENDING 710,30036 - AHC_ABORT_PENDING = 0x04000000,710,30036 - AHC_RESET_PENDING 711,30084 - AHC_RESET_PENDING = 0x08000000,711,30084 -#define AHC_IN_ISR_BIT 712,30132 - AHC_IN_ISR 713,30171 - AHC_IN_ISR = 0x10000000,713,30171 - AHC_IN_ABORT 714,30219 - AHC_IN_ABORT = 0x20000000,714,30219 - AHC_IN_RESET 715,30267 - AHC_IN_RESET = 0x40000000,715,30267 - AHC_EXTERNAL_SRAM 716,30315 - AHC_EXTERNAL_SRAM = 0x80000000716,30315 -} ahc_flag_type;ahc_flag_type717,30362 - AHC_NONE 720,30395 - AHC_NONE = 0x0000,720,30395 - AHC_CHIPID_MASK 721,30428 - AHC_CHIPID_MASK = 0x00ff,721,30428 - AHC_AIC7770 722,30461 - AHC_AIC7770 = 0x0001,722,30461 - AHC_AIC7850 723,30494 - AHC_AIC7850 = 0x0002,723,30494 - AHC_AIC7860 724,30527 - AHC_AIC7860 = 0x0003,724,30527 - AHC_AIC7870 725,30560 - AHC_AIC7870 = 0x0004,725,30560 - AHC_AIC7880 726,30593 - AHC_AIC7880 = 0x0005,726,30593 - AHC_AIC7890 727,30626 - AHC_AIC7890 = 0x0006,727,30626 - AHC_AIC7895 728,30659 - AHC_AIC7895 = 0x0007,728,30659 - AHC_AIC7896 729,30692 - AHC_AIC7896 = 0x0008,729,30692 - AHC_AIC7892 730,30725 - AHC_AIC7892 = 0x0009,730,30725 - AHC_AIC7899 731,30758 - AHC_AIC7899 = 0x000a,731,30758 - AHC_VL 732,30791 - AHC_VL = 0x0100,732,30791 - AHC_EISA 733,30824 - AHC_EISA = 0x0200,733,30824 - AHC_PCI 734,30857 - AHC_PCI = 0x0400,734,30857 -} ahc_chip;ahc_chip735,30890 - AHC_FENONE 738,30918 - AHC_FENONE = 0x0000,738,30918 - AHC_ULTRA 739,30951 - AHC_ULTRA = 0x0001,739,30951 - AHC_ULTRA2 740,30984 - AHC_ULTRA2 = 0x0002,740,30984 - AHC_WIDE 741,31017 - AHC_WIDE = 0x0004,741,31017 - AHC_TWIN 742,31050 - AHC_TWIN = 0x0008,742,31050 - AHC_MORE_SRAM 743,31083 - AHC_MORE_SRAM = 0x0010,743,31083 - AHC_CMD_CHAN 744,31116 - AHC_CMD_CHAN = 0x0020,744,31116 - AHC_QUEUE_REGS 745,31149 - AHC_QUEUE_REGS = 0x0040,745,31149 - AHC_SG_PRELOAD 746,31182 - AHC_SG_PRELOAD = 0x0080,746,31182 - AHC_SPIOCAP 747,31215 - AHC_SPIOCAP = 0x0100,747,31215 - AHC_ULTRA3 748,31248 - AHC_ULTRA3 = 0x0200,748,31248 - AHC_NEW_AUTOTERM 749,31281 - AHC_NEW_AUTOTERM = 0x0400,749,31281 - AHC_AIC7770_FE 750,31314 - AHC_AIC7770_FE = AHC_FENONE,750,31314 - AHC_AIC7850_FE 751,31351 - AHC_AIC7850_FE = AHC_SPIOCAP,751,31351 - AHC_AIC7860_FE 752,31389 - AHC_AIC7860_FE = AHC_ULTRA|752,31389 - AHC_AIC7860_FE = AHC_ULTRA|AHC_SPIOCAP,752,31389 - AHC_AIC7870_FE 753,31437 - AHC_AIC7870_FE = AHC_FENONE,753,31437 - AHC_AIC7880_FE 754,31474 - AHC_AIC7880_FE = AHC_ULTRA,754,31474 - AHC_AIC7890_FE 755,31510 - AHC_AIC7890_FE = AHC_MORE_SRAM|755,31510 - AHC_AIC7890_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|755,31510 - AHC_AIC7890_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA2|755,31510 - AHC_QUEUE_REGS|756,31574 - AHC_QUEUE_REGS|AHC_SG_PRELOAD|756,31574 - AHC_QUEUE_REGS|AHC_SG_PRELOAD|AHC_NEW_AUTOTERM,756,31574 - AHC_AIC7895_FE 757,31647 - AHC_AIC7895_FE = AHC_MORE_SRAM|757,31647 - AHC_AIC7895_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|757,31647 - AHC_AIC7895_FE = AHC_MORE_SRAM|AHC_CMD_CHAN|AHC_ULTRA,757,31647 - AHC_AIC7896_FE 758,31710 - AHC_AIC7896_FE = AHC_AIC7890_FE,758,31710 - AHC_AIC7892_FE 759,31751 - AHC_AIC7892_FE = AHC_AIC7890_FE|759,31751 - AHC_AIC7892_FE = AHC_AIC7890_FE|AHC_ULTRA3,759,31751 - AHC_AIC7899_FE 760,31803 - AHC_AIC7899_FE = AHC_AIC7890_FE|760,31803 - AHC_AIC7899_FE = AHC_AIC7890_FE|AHC_ULTRA3,760,31803 -} ahc_feature;ahc_feature761,31855 -#define SCB_DMA_ADDR(SCB_DMA_ADDR763,31871 -struct aic7xxx_scb_dma aic7xxx_scb_dma765,31957 - AHC_BUG_NONE 775,32293 - AHC_BUG_NONE = 0x0000,775,32293 - AHC_BUG_TMODE_WIDEODD 776,32329 - AHC_BUG_TMODE_WIDEODD = 0x0001,776,32329 - AHC_BUG_AUTOFLUSH 777,32365 - AHC_BUG_AUTOFLUSH = 0x0002,777,32365 - AHC_BUG_CACHETHEN 778,32401 - AHC_BUG_CACHETHEN = 0x0004,778,32401 - AHC_BUG_CACHETHEN_DIS 779,32437 - AHC_BUG_CACHETHEN_DIS = 0x0008,779,32437 - AHC_BUG_PCI_2_1_RETRY 780,32473 - AHC_BUG_PCI_2_1_RETRY = 0x0010,780,32473 - AHC_BUG_PCI_MWI 781,32509 - AHC_BUG_PCI_MWI = 0x0020,781,32509 - AHC_BUG_SCBCHAN_UPLOAD 782,32545 - AHC_BUG_SCBCHAN_UPLOAD = 0x0040,782,32545 -} ahc_bugs;ahc_bugs783,32581 -struct aic7xxx_scb aic7xxx_scb785,32594 -} scb_queue_type;scb_queue_type812,33824 -} hard_error[817,33905 -generic_sense[829,34333 -} scb_data_type;scb_data_type844,35048 -struct target_cmd target_cmd846,35066 -#define AHC_TRANS_CUR 851,35150 -#define AHC_TRANS_ACTIVE 852,35182 -#define AHC_TRANS_GOAL 853,35214 -#define AHC_TRANS_USER 854,35246 -#define AHC_TRANS_QUITE 855,35278 -} transinfo_type;transinfo_type861,35423 -struct aic_dev_data aic_dev_data863,35442 -#define BUS_DEVICE_RESET_PENDING 887,36328 -#define DEVICE_RESET_DELAY 888,36373 -#define DEVICE_PRINT_DTR 889,36418 -#define DEVICE_WAS_BUSY 890,36463 -#define DEVICE_DTR_SCANNED 891,36508 -#define DEVICE_SCSI_3 892,36542 -struct aic7xxx_host aic7xxx_host915,37420 - struct aic7xxx_cmd_queue aic7xxx_cmd_queue931,38017 -#define MSG_TYPE_NONE 960,39139 -#define MSG_TYPE_INITIATOR_MSGOUT 961,39179 -#define MSG_TYPE_INITIATOR_MSGIN 962,39219 -#define AHC_SYNCRATE_ULTRA3 1004,41111 -#define AHC_SYNCRATE_ULTRA2 1005,41141 -#define AHC_SYNCRATE_ULTRA 1006,41171 -#define AHC_SYNCRATE_FAST 1007,41201 -#define AHC_SYNCRATE_CRC 1008,41231 -#define AHC_SYNCRATE_SE 1009,41261 -static struct aic7xxx_syncrate aic7xxx_syncrate1010,41291 -#define ULTRA_SXFR 1012,41375 -} aic7xxx_syncrates[1017,41493 -#define CTL_OF_SCB(CTL_OF_SCB1035,42182 -#define CTL_OF_CMD(CTL_OF_CMD1039,42397 -#define TARGET_INDEX(TARGET_INDEX1043,42564 -#define WARN_LEAD 1049,42718 -#define INFO_LEAD 1050,42770 -static unsigned int aic7xxx_default_queue_depth 1061,43087 -static unsigned int aic7xxx_no_reset 1068,43341 -static int aic7xxx_reverse_scan 1086,44466 -static unsigned int aic7xxx_extended 1092,44688 -static int aic7xxx_irq_trigger 1099,44924 -static int aic7xxx_override_term 1133,46933 -static int aic7xxx_stpwlev 1160,48547 -static int aic7xxx_panic_on_abort 1165,48721 -static int aic7xxx_pci_parity 1181,49453 -static int aic7xxx_dump_card 1191,49815 -static int aic7xxx_dump_sequencer 1199,50183 -static int aic7xxx_no_probe 1210,50778 -static int aic7xxx_scbram 1218,51156 -static int aic7xxx_seltime 1230,51536 -static char * aic7xxx 1235,51663 -#define VERBOSE_NORMAL 1239,51728 -#define VERBOSE_NEGOTIATION 1240,51766 -#define VERBOSE_SEQINT 1241,51804 -#define VERBOSE_SCSIINT 1242,51842 -#define VERBOSE_PROBE 1243,51880 -#define VERBOSE_PROBE2 1244,51918 -#define VERBOSE_NEGOTIATION2 1245,51956 -#define VERBOSE_MINOR_ERROR 1246,51994 -#define VERBOSE_TRACING 1247,52032 -#define VERBOSE_ABORT 1248,52070 -#define VERBOSE_ABORT_MID 1249,52108 -#define VERBOSE_ABORT_FIND 1250,52146 -#define VERBOSE_ABORT_PROCESS 1251,52184 -#define VERBOSE_ABORT_RETURN 1252,52222 -#define VERBOSE_RESET 1253,52260 -#define VERBOSE_RESET_MID 1254,52298 -#define VERBOSE_RESET_FIND 1255,52336 -#define VERBOSE_RESET_PROCESS 1256,52374 -#define VERBOSE_RESET_RETURN 1257,52412 -static int aic7xxx_verbose 1258,52450 -aic_inb(1295,54161 -aic_outb(1314,54417 -aic7xxx_setup(1344,55307 -pause_sequencer(1497,59963 -unpause_sequencer(1519,60490 -restart_sequencer(1538,61076 -aic7xxx_check_patch(1562,61894 -aic7xxx_download_instr(1611,63127 -aic7xxx_loadseq(1740,66435 -aic7xxx_print_sequencer(1798,67975 -aic7xxx_info(1842,69022 -aic7xxx_find_syncrate(1871,69824 -aic7xxx_find_period(1992,73203 -aic7xxx_validate_offset(2036,74289 -aic7xxx_set_syncrate(2068,75070 -aic7xxx_set_width(2199,78583 -scbq_init(2268,80282 -scbq_insert_head(2283,80647 -scbq_remove_head(2300,81173 -scbq_remove(2321,81722 -scbq_insert_tail(2362,82679 -aic7xxx_match_scb(2383,83541 -aic7xxx_add_curscb_to_free_list(2410,84460 -aic7xxx_rem_scb_from_disc_list(2432,85114 -aic7xxx_busy_target(2462,85814 -aic7xxx_index_busy_target(2476,86293 -aic7xxx_find_scb(2500,86999 -aic7xxx_allocate_scb(2532,87789 -aic7xxx_queue_cmd_complete(2632,91365 -aic7xxx_done_cmds_complete(2647,91830 -aic7xxx_free_scb(2668,92369 -aic7xxx_done(2691,92994 -aic7xxx_run_done_queue(2902,99344 -aic7xxx_abort_waiting_scb(2954,100899 -aic7xxx_search_qinfifo(3003,102112 -aic7xxx_scb_on_qoutfifo(3099,104921 -aic7xxx_reset_device(3130,106051 -aic7xxx_clear_intstat(3465,116812 -aic7xxx_reset_current_bus(3482,117445 -aic7xxx_reset_channel(3527,118840 -aic7xxx_run_waiting_queues(3652,122047 -#define DPE 3708,123244 -#define SSE 3709,123262 -#define RMA 3710,123280 -#define RTA 3711,123298 -#define STA 3712,123316 -#define DPR 3713,123334 -aic7xxx_pci_intr(3727,123862 -aic7xxx_construct_ppr(3771,125536 -aic7xxx_construct_sdtr(3793,126379 -aic7xxx_construct_wdtr(3813,127037 -aic7xxx_calculate_residual 3830,127596 -aic7xxx_handle_device_reset(3901,129898 -aic7xxx_handle_seqint(3928,130779 -aic7xxx_parse_msg(4923,169505 -aic7xxx_handle_reqinit(5546,190745 -aic7xxx_handle_scsiint(5664,194440 -aic7xxx_check_scbs(6104,207896 -#define SCB_NO_LIST 6110,208097 -#define SCB_FREE_LIST 6111,208119 -#define SCB_WAITING_LIST 6112,208143 -#define SCB_DISCONNECTED_LIST 6113,208170 -#define SCB_CURRENTLY_ACTIVE 6114,208202 -aic7xxx_handle_command_completion_intr(6252,211995 -aic7xxx_isr(6353,215186 -do_aic7xxx_isr(6485,218764 -aic7xxx_init_transinfo(6516,219617 -aic7xxx_slave_alloc(6585,221914 -aic7xxx_device_queue_depth(6648,224150 -aic7xxx_slave_destroy(6738,226829 -aic7xxx_slave_configure(6758,227422 -aic7xxx_probe(6819,229564 -read_284x_seeprom(6902,231944 - struct seeprom_cmd seeprom_cmd6908,232139 -#define CLOCK_PULSE(CLOCK_PULSE6914,232270 -#define CLOCK_PULSE(CLOCK_PULSE7025,235305 -acquire_seeprom(7048,236526 -release_seeprom(7076,237272 -read_seeprom(7136,240278 - struct seeprom_cmd seeprom_cmd7142,240470 -read_brdctl(7273,243810 -write_brdctl(7313,244717 -aic785x_cable_detect(7366,245980 -aic2940_uwpro_wide_cable_detect(7395,246809 -aic787x_cable_detect(7441,248124 -aic7xxx_ultra2_term_detect(7488,249502 -configure_termination(7512,250285 -detect_maxscb(7807,260568 -aic7xxx_register(7869,262364 -aic7xxx_chip_reset(8362,276675 -aic7xxx_alloc(8416,278187 -aic7xxx_free(8465,279518 -aic7xxx_load_seeprom(8520,281228 -aic7xxx_configure_bugs(8919,293571 -aic7xxx_detect(8997,295722 -aic7xxx_buildscb(10141,337612 -aic7xxx_queue(10295,342367 -aic7xxx_bus_device_reset(10366,344513 -aic7xxx_panic_abort(10568,351236 -aic7xxx_abort(10594,352066 -aic7xxx_reset(10822,359337 -aic7xxx_biosparam(10907,361688 -aic7xxx_release(10957,362887 -aic7xxx_print_card(11008,364036 - static struct register_ranges register_ranges11011,364102 -aic7xxx_print_scratch_ram(11108,367567 -static Scsi_Host_Template driver_template 11145,368160 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/st_options.h,599 -#define _ST_OPTIONS_H10,197 -#define TRY_DIRECT_IO 15,449 -#define ST_NOWAIT 21,777 -#define ST_IN_FILE_POS 28,1164 -#define ST_RECOVERED_WRITE_FATAL 32,1301 -#define ST_DEFAULT_BLOCK 36,1420 -#define ST_FIXED_BUFFER_BLOCKS 40,1545 -#define ST_MAX_SG 43,1628 -#define ST_FIRST_SG 47,1771 -#define ST_FIRST_ORDER 52,2003 -#define ST_TWO_FM 61,2320 -#define ST_BUFFER_WRITES 66,2549 -#define ST_ASYNC_WRITES 71,2738 -#define ST_READ_AHEAD 75,2847 -#define ST_AUTO_LOCK 80,3047 -#define ST_FAST_MTEOM 86,3330 -#define ST_SCSI2LOGICAL 91,3525 -#define ST_SYSV 95,3666 -#define ST_BLOCK_SECONDS 98,3751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_debug.c,6022 -#define SCSI_DEBUG_VERSION 58,1808 -static const char * scsi_debug_version_date 59,1842 -#define NO_ADDED_SENSE 62,1940 -#define UNRECOVERED_READ_ERR 63,1967 -#define INVALID_OPCODE 64,2001 -#define ADDR_OUT_OF_RANGE 65,2029 -#define INVALID_FIELD_IN_CDB 66,2060 -#define POWERON_RESET 67,2094 -#define SAVING_PARAMS_UNSUP 68,2121 -#define THRESHHOLD_EXCEEDED 69,2154 -#define SDEBUG_TAGGED_QUEUING 71,2188 -#define DEF_NUM_HOST 74,2307 -#define DEF_NUM_TGTS 75,2332 -#define DEF_MAX_LUNS 76,2357 -#define DEF_DELAY 80,2516 -#define DEF_DEV_SIZE_MB 81,2538 -#define DEF_EVERY_NTH 82,2566 -#define DEF_NUM_PARTS 83,2592 -#define DEF_OPTS 84,2618 -#define DEF_SCSI_LEVEL 85,2639 -#define DEF_PTYPE 86,2666 -#define SCSI_DEBUG_OPT_NOISE 89,2731 -#define SCSI_DEBUG_OPT_MEDIUM_ERR 90,2764 -#define SCSI_DEBUG_OPT_TIMEOUT 91,2802 -#define SCSI_DEBUG_OPT_RECOVERED_ERR 92,2837 -#define OPT_MEDIUM_ERR_ADDR 101,3236 -#define SAM2_LUN_ADDRESS_METHOD 105,3431 -static int scsi_debug_add_host 107,3466 -static int scsi_debug_delay 108,3513 -static int scsi_debug_dev_size_mb 109,3554 -static int scsi_debug_every_nth 110,3607 -static int scsi_debug_max_luns 111,3656 -static int scsi_debug_num_parts 112,3703 -static int scsi_debug_num_tgts 113,3752 -static int scsi_debug_opts 114,3822 -static int scsi_debug_scsi_level 115,3861 -static int scsi_debug_ptype 116,3912 -static int scsi_debug_cmnd_count 118,3991 -#define DEV_READONLY(DEV_READONLY120,4030 -#define DEV_REMOVEABLE(DEV_REMOVEABLE121,4065 -static unsigned long sdebug_store_size;123,4101 -static sector_t sdebug_capacity;124,4156 -static int sdebug_heads;128,4305 -static int sdebug_cylinders_per;129,4352 -static int sdebug_sectors_per;130,4413 -#define POW2_SECT_SIZE 133,4524 -#define SECT_SIZE 134,4549 -#define SECT_SIZE_PER(SECT_SIZE_PER135,4589 -#define SDEBUG_MAX_PARTS 137,4627 -#define SDEBUG_SENSE_LEN 139,4655 -struct sdebug_dev_info sdebug_dev_info141,4684 -struct sdebug_host_info sdebug_host_info152,4929 -#define to_sdebug_host(to_sdebug_host159,5067 -static spinlock_t sdebug_host_list_lock 163,5179 -typedef void (* done_funct_t)done_funct_t165,5242 -struct sdebug_queued_cmd sdebug_queued_cmd167,5295 -static struct sdebug_queued_cmd queued_arr[174,5441 -static Scsi_Host_Template sdebug_driver_template 176,5507 -static unsigned char * fake_storep;200,6292 -static unsigned char spare_buff[202,6351 -static int num_aborts 204,6403 -static int num_dev_resets 205,6430 -static int num_bus_resets 206,6461 -static int num_host_resets 207,6492 -static spinlock_t queued_arr_lock 209,6525 -static rwlock_t atomic_rw 210,6581 -static char sdebug_proc_name[212,6628 -static struct bus_type pseudo_lld_bus;216,6775 -static struct device_driver sdebug_driverfs_driver 218,6815 -static const int check_condition_result 225,7010 -static struct device pseudo_primary;262,8769 -static struct bus_type pseudo_lld_bus;263,8806 -static unsigned char * scatg2virt(265,8846 -int scsi_debug_queuecommand(277,9078 -static int scsi_debug_ioctl(487,15287 -static int check_reset(496,15555 -#define SDEBUG_LONG_INQ_SZ 506,15793 -#define SDEBUG_MAX_INQ_ARR_SZ 507,15823 -static const char * vendor_id 509,15858 -static const char * product_id 510,15902 -static const char * product_rev 511,15955 -static int inquiry_evpd_83(513,15998 -static int resp_inquiry(545,16889 -static int resp_err_recov_pg(607,18982 -static int resp_disconnect_pg(618,19349 -static int resp_format_pg(629,19724 -static int resp_caching_pg(647,20473 -static int resp_ctrl_m_pg(658,20850 -static int resp_iec_m_pg(669,21183 -#define SDEBUG_MAX_MSENSE_SZ 679,21536 -static int resp_mode_sense(681,21570 -static int resp_read(773,24419 -static int resp_write(824,25989 -static int resp_report_luns(867,27190 -static void timer_intr_handler(902,28331 -static int scsi_debug_slave_alloc(929,29060 -static int scsi_debug_slave_configure(937,29306 -static void scsi_debug_slave_destroy(954,29863 -static struct sdebug_dev_info * devInfoReg(969,30287 -static void mk_sense_buffer(1019,31820 -static int scsi_debug_abort(1035,32213 -static int scsi_debug_biosparam(1044,32418 -static int scsi_debug_device_reset(1066,32929 -static int scsi_debug_bus_reset(1081,33248 -static int scsi_debug_host_reset(1103,33915 -static int stop_queued_cmnd(1123,34614 -static void stop_all_queued(1144,35148 -static void __init init_all_queued(1163,35589 -static void __init sdebug_build_parts(1179,35947 -static int schedule_resp(1229,37635 -static char sdebug_info[1324,41056 -static const char * scsi_debug_info(1326,41087 -static int scsi_debug_proc_info(1338,41443 -static ssize_t sdebug_delay_show(1387,42972 -static ssize_t sdebug_delay_store(1392,43118 -static ssize_t sdebug_opts_show(1409,43517 -static ssize_t sdebug_opts_store(1414,43663 -static ssize_t sdebug_ptype_show(1438,44200 -static ssize_t sdebug_ptype_store(1442,44345 -static ssize_t sdebug_num_tgts_show(1455,44668 -static ssize_t sdebug_num_tgts_store(1459,44819 -static ssize_t sdebug_dev_size_mb_show(1474,45191 -static ssize_t sdebug_num_parts_show(1480,45415 -static ssize_t sdebug_every_nth_show(1486,45631 -static ssize_t sdebug_every_nth_store(1490,45784 -static ssize_t sdebug_max_luns_show(1505,46173 -static ssize_t sdebug_max_luns_store(1509,46324 -static ssize_t sdebug_scsi_level_show(1524,46696 -static ssize_t sdebug_add_host_show(1530,46916 -static ssize_t sdebug_add_host_store(1535,47068 -static void do_create_driverfs_files(1567,47795 -static void do_remove_driverfs_files(1581,48530 -static int __init scsi_debug_init(1595,49265 -static void __exit scsi_debug_exit(1660,51137 -void pseudo_0_release(1678,51509 -static struct device pseudo_primary 1684,51665 -static int pseudo_lld_bus_match(1689,51763 -static struct bus_type pseudo_lld_bus 1695,51898 -static void sdebug_release_adapter(1700,52009 -static int sdebug_add_adapter(1708,52175 -static void sdebug_remove_adapter(1771,54173 -static int sdebug_driver_probe(1790,54685 -static int sdebug_driver_remove(1825,55675 -static void sdebug_max_tgts_luns(1852,56409 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/constants.c,1907 -#define CONST_COMMAND 20,471 -#define CONST_STATUS 21,500 -#define CONST_SENSE 22,529 -#define CONST_XSENSE 23,558 -#define CONST_CMND 24,587 -#define CONST_MSG 25,616 -#define CONST_HOST 26,645 -#define CONST_DRIVER 27,669 -static const char unknown[29,696 -#define CONSTANTS 35,808 -#define CONSTANTS 38,952 -static const char * group_0_commands[42,1012 -static const char *group_1_commands[54,1616 -static const char *group_2_commands[69,2284 -static const char *group_4_commands[87,3157 -static const char *group_5_commands[102,3910 -#define group(group122,4892 -#define RESERVED_GROUP 124,4937 -#define VENDOR_GROUP 125,4963 -static const char **commands[127,4990 -static const char reserved[134,5229 -static const char vendor[135,5272 -static void print_opcode(137,5321 -static void print_opcode(155,5790 -void __scsi_print_command 160,5872 -scsi_print_status(179,6404 -struct error_info error_info205,7167 -static struct error_info additional[210,7276 -struct error_info2 error_info2833,31979 -static struct error_info2 additional2[838,32067 -static const char *snstext[852,32540 -scsi_sense_key_string(877,33670 -scsi_extd_sense_format(890,33956 -scsi_show_extd_sense(909,34466 -print_sense_internal(923,34798 -void scsi_print_sense(1020,37423 -void scsi_print_req_sense(1025,37561 -static const char *one_byte_msgs[1031,37744 -#define NO_ONE_BYTE_MSGS 1040,38158 -static const char *two_byte_msgs[1042,38233 -#define NO_TWO_BYTE_MSGS 1047,38381 -static const char *extended_msgs[1049,38456 -#define NO_EXTENDED_MSGS 1054,38638 -int scsi_print_msg 1057,38750 -void scsi_print_command(1130,40537 -static const char * hostbyte_table[1140,40823 -void scsi_print_hostbyte(1145,41072 -void scsi_print_hostbyte(1161,41427 -static const char * driverbyte_table[1167,41563 -static const char * driversuggest_table[1171,41740 -void scsi_print_driverbyte(1176,41913 -void scsi_print_driverbyte(1193,42438 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_typedefs.h,307 -typedef struct scsi_host_template Scsi_Host_Template;Scsi_Host_Template2,1 -typedef struct scsi_device Scsi_Device;Scsi_Device3,55 -typedef struct scsi_cmnd Scsi_Cmnd;Scsi_Cmnd4,95 -typedef struct scsi_request Scsi_Request;Scsi_Request5,131 -typedef struct scsi_pointer Scsi_Pointer;Scsi_Pointer6,173 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ultrastor.h,979 -#define _ULTRASTOR_H14,517 -#define ULTRASTOR_14F_MAX_SG 24,909 -#define ULTRASTOR_24F_MAX_SG 25,941 -#define ULTRASTOR_MAX_CMDS_PER_LUN 27,974 -#define ULTRASTOR_MAX_CMDS 28,1011 -#define ULTRASTOR_24F_PORT 30,1042 -#define UD_ABORT 35,1103 -#define UD_COMMAND 36,1127 -#define UD_DETECT 37,1153 -#define UD_INTERRUPT 38,1178 -#define UD_RESET 39,1206 -#define UD_MULTI_CMD 40,1230 -#define UD_CSIR 41,1258 -#define UD_ERROR 42,1282 -#define US14F_PRODUCT_ID_0 47,1392 -#define US14F_PRODUCT_ID_1 48,1424 -#define US24F_PRODUCT_ID_0 50,1496 -#define US24F_PRODUCT_ID_1 51,1528 -#define US24F_PRODUCT_ID_2 52,1560 -#define U14F 55,1617 -#define U34F 56,1632 -#define OP_HOST_ADAPTER 61,1686 -#define OP_SCSI 62,1714 -#define OP_RESET 63,1734 -#define DTD_SCSI 66,1786 -#define DTD_IN 67,1807 -#define DTD_OUT 68,1826 -#define DTD_NONE 69,1846 -#define HA_CMD_INQUIRY 72,1904 -#define HA_CMD_SELF_DIAG 73,1931 -#define HA_CMD_READ_BUFF 74,1960 -#define HA_CMD_WRITE_BUFF 75,1989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sr_vendor.c,263 -#define DEBUG53,1667 -#define VENDOR_SCSI3 58,1752 -#define VENDOR_NEC 60,1812 -#define VENDOR_TOSHIBA 61,1845 -#define VENDOR_WRITER 62,1878 -#define VENDOR_TIMEOUT 64,1936 -void sr_vendor_init(66,1966 -int sr_set_blocklength(109,3069 -int sr_cd_check(157,4426 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ips.c,5279 -static char *ips 203,12557 -#define IPS_VERSION_HIGH 210,12640 -#define IPS_VERSION_LOW 211,12679 -#define IPS_SG_ADDRESS(IPS_SG_ADDRESS220,12960 -#define IPS_LOCK_SAVE(IPS_LOCK_SAVE221,13009 -#define IPS_UNLOCK_RESTORE(IPS_UNLOCK_RESTORE222,13085 -#define __devexit_p(__devexit_p224,13191 -#define IPS_SG_ADDRESS(IPS_SG_ADDRESS227,13229 -#define IPS_LOCK_SAVE(IPS_LOCK_SAVE229,13372 -#define IPS_UNLOCK_RESTORE(IPS_UNLOCK_RESTORE230,13447 -#define IPS_DMA_DIR(IPS_DMA_DIR233,13537 -#define METHOD_TRACE(METHOD_TRACE239,13848 -#define DEBUG(DEBUG240,13931 -#define DEBUG_VAR(DEBUG_VAR241,14009 -#define METHOD_TRACE(METHOD_TRACE243,14096 -#define DEBUG(DEBUG244,14123 -#define DEBUG_VAR(DEBUG_VAR245,14143 -static const char ips_name[251,14208 -static struct Scsi_Host *ips_sh[252,14246 -static ips_ha_t *ips_ha[253,14339 -static unsigned int ips_next_controller;254,14411 -static unsigned int ips_num_controllers;255,14452 -static unsigned int ips_released_controllers;256,14493 -static int ips_hotplug;257,14539 -static int ips_cmd_timeout 258,14563 -static int ips_reset_timeout 259,14596 -static int ips_force_memio 260,14635 -static int ips_force_i2o 261,14706 -static int ips_ioctlsize 262,14774 -static int ips_cd_boot;263,14855 -static char *ips_FlashData 264,14919 -static dma_addr_t ips_flashbusaddr;265,14993 -static long ips_FlashDataInUse;266,15029 -static uint32_t MaxLiteCmds 267,15101 -static Scsi_Host_Template ips_driver_template 268,15176 -static struct pci_device_id ips_pci_table[300,16120 -static char ips_hot_plug_name[309,16379 -struct pci_driver ips_pci_driver 314,16593 -#define MAX_ADAPTER_NAME 327,16897 -static char ips_adapter_name[329,16926 -static struct notifier_block ips_notifier 350,17297 -static char ips_command_direction[357,17392 -ips_setup(535,27484 -ips_detect(593,29314 -ips_setup_funclist(618,29955 -ips_release(682,32493 -ips_halt(759,34635 -ips_eh_abort(819,36520 -ips_eh_reset(878,38315 -ips_queue(1078,44238 -ips_biosparam(1180,47039 -ips_proc24_info(1232,48237 -ips_select_queue_depth(1256,49286 -ips_slave_configure(1301,50747 -do_ipsintr(1327,51796 -ips_intr_copperhead(1374,53354 -ips_intr_morpheus(1438,55036 -ips_info(1506,56703 -ips_proc_info(1544,57912 -ips_is_passthru(1594,59453 -ips_alloc_passthru_buffer(1631,60876 -ips_make_passthru(1664,62205 -ips_flash_copperhead(1762,65017 -ips_flash_bios(1834,67674 -ips_fill_scb_sg_single(1898,69834 -ips_flash_firmware(1936,71051 -ips_free_flash_copperhead(1989,72983 -ips_usrcmd(2009,73978 -ips_cleanup_passthru(2097,76758 -ips_host_info(2137,78377 -copy_mem_info(2264,83497 -copy_info(2299,84741 -ips_identify_controller(2326,85708 -ips_get_bios_version(2411,88318 -ips_hainit(2574,93240 -ips_next(2710,96572 -ips_putq_scb_head(2963,103001 -ips_removeq_scb_head(2991,104128 -ips_removeq_scb(3026,105321 -ips_putq_wait_tail(3072,106677 -ips_removeq_wait_head(3104,107873 -ips_removeq_wait(3139,109097 -ips_putq_copp_tail(3185,110527 -ips_removeq_copp_head(3217,111718 -ips_removeq_copp(3252,112932 -ipsintr_blocking(3296,114144 -ipsintr_done(3318,115092 -ips_done(3350,116192 -ips_map_status(3474,119442 -ips_send_wait(3612,123321 -ips_scmd_buf_write(3642,124404 -ips_scmd_buf_read(3674,125591 -ips_send_cmd(3708,126933 -ips_chkstatus(4095,138744 -ips_online(4252,142669 -ips_inquiry(4287,144026 -ips_rdcap(4322,145495 -ips_msense(4352,146608 -ips_reqsen(4443,149777 -ips_free(4472,150960 -ips_deallocatescbs(4548,152966 -ips_allocatescbs(4572,154051 -ips_init_scb(4637,156091 -ips_getscb(4682,157864 -ips_freescb(4714,159002 -ips_isinit_copperhead(4742,160254 -ips_isinit_copperhead_memio(4768,161271 -ips_isinit_morpheus(4794,162309 -ips_enable_int_copperhead(4821,163250 -ips_enable_int_copperhead_memio(4838,164102 -ips_enable_int_morpheus(4855,164970 -ips_init_copperhead(4877,165985 -ips_init_copperhead_memio(4971,168395 -ips_init_morpheus(5066,170878 -ips_reset_copperhead(5183,173918 -ips_reset_copperhead_memio(5228,175235 -ips_reset_morpheus(5273,176576 -ips_statinit(5317,177920 -ips_statinit_memio(5348,179314 -ips_statupd_copperhead(5378,180676 -ips_statupd_copperhead_memio(5406,181886 -ips_statupd_morpheus(5433,183091 -ips_issue_copperhead(5454,183978 -ips_issue_copperhead_memio(5508,185777 -ips_issue_i2o(5561,187541 -ips_issue_i2o_memio(5593,188788 -ips_isintr_copperhead(5625,190036 -ips_isintr_copperhead_memio(5658,191180 -ips_isintr_morpheus(5691,192329 -ips_wait(5715,193258 -ips_write_driver_status(5773,194900 -ips_read_adapter_status(5838,197342 -ips_read_subsystem_parameters(5881,198857 -ips_read_config(5925,200453 -ips_readwrite_page5(5983,202300 -ips_clear_adapter(6033,204015 -ips_ffdc_reset(6096,206173 -ips_ffdc_time(6130,207450 -ips_fix_ffdc_time(6165,208694 -ips_erase_bios(6233,210780 -ips_erase_bios_memio(6345,213523 -ips_program_bios(6457,216298 -ips_program_bios_memio(6548,218785 -ips_verify_bios(6639,221299 -ips_verify_bios_memio(6688,222823 -ips_version_check(6740,224526 -ips_get_version_info(6830,227886 -ips_abort_init(6866,229203 -ips_shift_controllers(6883,229904 -ips_order_controllers(6907,230836 -ips_register_scsi(7002,233623 -ips_remove_device(7059,235500 -ips_module_init(7085,236399 -ips_module_exit(7107,237293 -ips_insert_device(7127,238252 -ips_init_phase1(7163,239463 -ips_init_phase2(7415,246138 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/osst_options.h,600 -#define _OSST_OPTIONS_H15,370 -#define OSST_MAX_TAPES 20,617 -#define OSST_IN_FILE_POS 27,1011 -#define OSST_BUFFER_BLOCKS 31,1135 -#define OSST_WRITE_THRESHOLD_BLOCKS 36,1315 -#define OSST_EOM_RESERVE 42,1632 -#define OSST_MAX_BUFFERS 47,1862 -#define OSST_MAX_SG 51,2013 -#define OSST_FIRST_SG 55,2200 -#define OSST_FIRST_ORDER 60,2472 -#define OSST_TWO_FM 69,2807 -#define OSST_BUFFER_WRITES 74,2985 -#define OSST_ASYNC_WRITES 79,3178 -#define OSST_READ_AHEAD 83,3291 -#define OSST_AUTO_LOCK 88,3495 -#define OSST_FAST_MTEOM 94,3782 -#define OSST_SCSI2LOGICAL 99,3983 -#define OSST_SYSV 103,4128 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR_D700.h,300 -#define _NCR_D700_H9,165 -#define NCR_D700_MCA_ID 15,273 -#define BOARD_RESET 18,344 -#define ADD_PARENB 19,394 -#define DAT_PARENB 20,448 -#define SFBK_ENB 21,499 -#define LED0GREEN 22,552 -#define LED1GREEN 23,605 -#define LED0RED 24,658 -#define LED1RED 25,710 -#define NCR_D700_CLOCK_MHZ 27,763 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/53c700.c,1938 -#define NCR_700_VERSION 115,4277 -#define to32bit(to32bit154,5412 -#define STATIC157,5483 -#define STATIC 159,5504 -STATIC struct device_attribute *NCR_700_dev_attrs[180,6238 -STATIC struct scsi_transport_template *NCR_700_transport_template 182,6292 -static char *NCR_700_phase[184,6367 -static char *NCR_700_condition[195,6572 -static char *NCR_700_fatal_messages[210,6800 -static char *NCR_700_SBCL_bits[217,6996 -static char *NCR_700_SBCL_to_phase[228,7107 -static __u8 NCR_700_SDTR_msg[239,7258 -NCR_700_offset_period_to_sxfer(253,7692 -NCR_700_get_SXFER(285,8663 -NCR_700_detect(296,8968 -NCR_700_release(416,13064 -NCR_700_identify(427,13341 -NCR_700_data_residual 445,13884 -sbcl_to_string(490,15068 -bitmap_to_number(505,15311 -find_empty_slot(516,15485 -free_slot(547,16387 -save_for_reselection(569,17036 -NCR_700_unmap(584,17424 -NCR_700_scsi_done(601,17903 -NCR_700_internal_bus_reset(655,19597 -NCR_700_chip_setup(665,19781 -NCR_700_chip_reset(757,23505 -process_extended_message(785,24316 -process_message(871,27052 -process_script_interrupt(954,29854 -process_selection(1271,42169 -NCR_700_clear_fifo(1352,44652 -NCR_700_flush_fifo(1363,44957 -NCR_700_start_command(1381,45460 -NCR_700_intr(1467,48686 -NCR_700_queuecommand(1739,58420 -NCR_700_abort(1922,64392 -NCR_700_bus_reset(1954,65476 -NCR_700_dev_reset(1984,66568 -NCR_700_host_reset(1994,66819 -NCR_700_set_period(2006,67158 -NCR_700_set_offset(2025,67666 -NCR_700_slave_configure(2053,68451 -NCR_700_slave_destroy(2077,69093 -NCR_700_store_queue_depth(2083,69197 -NCR_700_show_active_tags(2097,69513 -static struct device_attribute NCR_700_queue_depth_attr 2104,69682 -static struct device_attribute NCR_700_active_tags_attr 2112,69844 -STATIC struct device_attribute *NCR_700_dev_attrs[2120,70004 -static struct spi_function_template NCR_700_transport_functions 2130,70220 -static int __init NCR_700_init(2137,70401 -static void __exit NCR_700_exit(2145,70587 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_error.c,1716 -#define SENSE_TIMEOUT 38,1056 -#define START_UNIT_TIMEOUT 39,1087 -#define BUS_RESET_SETTLE_TIME 45,1241 -#define HOST_RESET_SETTLE_TIME 46,1278 -void scsi_eh_wakeup(49,1356 -int scsi_eh_scmd_add(66,1718 -void scsi_add_timer(106,2920 -int scsi_delete_timer(140,3907 -void scsi_times_out(166,4585 -int scsi_block_when_processing_errors(204,5668 -static inline void scsi_eh_prt_fail_stats(224,6147 -static int scsi_check_sense(272,7287 -static int scsi_eh_completed_normally(347,9153 -static void scsi_eh_times_out(406,10603 -static void scsi_eh_done(420,10960 -static int scsi_send_eh_cmnd(452,11932 -static int scsi_request_sense(551,14699 -static void scsi_eh_finish_cmd(618,16746 -static int scsi_eh_get_sense(654,17838 -static int scsi_try_to_abort_cmd(712,19517 -static int scsi_eh_tur(743,20231 -static int scsi_eh_abort_cmds(797,21812 -static int scsi_try_bus_device_reset(840,23002 -static int scsi_eh_try_stu(869,23679 -static int scsi_eh_stu(919,25026 -static int scsi_eh_bus_device_reset(973,26495 -static int scsi_try_bus_reset(1026,27688 -static int scsi_try_host_reset(1058,28632 -static int scsi_eh_bus_reset(1091,29612 -static int scsi_eh_host_reset(1152,31192 -static void scsi_eh_offline_sdevs(1190,32185 -int scsi_decide_disposition(1230,33484 -static void scsi_eh_lock_done(1396,37781 -static void scsi_eh_lock_door(1424,38583 -static void scsi_restart_operations(1460,39573 -static void scsi_eh_ready_devs(1501,40788 -static void scsi_eh_flush_done_q(1517,41282 -static void scsi_unjam_host(1567,43151 -int scsi_error_handler(1597,44156 -void scsi_report_bus_reset(1721,47595 -void scsi_report_device_reset(1755,48563 -scsi_reset_provider_done_command(1769,48851 -scsi_reset_provider(1787,49240 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_logmsg.h,433 -#define _H_LPFC_LOGMSG26,1412 -#define LOG_ELS 28,1436 -#define LOG_DISCOVERY 29,1495 -#define LOG_MBOX 30,1565 -#define LOG_INIT 31,1628 -#define LOG_LINK_EVENT 32,1698 -#define LOG_IP 33,1759 -#define LOG_FCP 34,1827 -#define LOG_NODE 35,1896 -#define LOG_MISC 36,1963 -#define LOG_SLI 37,2034 -#define LOG_CHK_COND 38,2095 -#define LOG_LIBDFC 39,2171 -#define LOG_ALL_MSG 40,2236 -#define lpfc_printf_log(lpfc_printf_log42,2305 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc.h,2644 -#define _H_LPFC26,1399 -#define LPFC_MAX_TARGET 30,1440 -#define LPFC_MAX_DISC_THREADS 32,1531 -#define LPFC_MAX_NS_RETRY 34,1628 -#define LPFC_DFT_HBA_Q_DEPTH 36,1740 -#define LPFC_LC_HBA_Q_DEPTH 37,1808 -#define LPFC_LP101_HBA_Q_DEPTH 38,1885 -#define LPFC_SLIM2_PAGE_AREA 41,1996 -#define putPaddrLow(putPaddrLow44,2071 -#define putPaddrHigh(putPaddrHigh45,2140 -#define getPaddr(getPaddr46,2217 -#define LPFC_DRVR_TIMEOUT 49,2364 -#define MAX_FCP_TARGET 50,2434 -#define FC_MAX_ADPTMSG 51,2505 -#define MAX_HBAEVT 53,2536 -#define putLunLow(putLunLow57,2580 -#define putLunHigh(putLunHigh62,2724 -#define putLunLow(putLunLow69,2900 -#define putLunHigh(putLunHigh74,3044 -typedef struct lpfc_vpd lpfc_vpd83,3432 -} lpfc_vpd_t;lpfc_vpd_t105,3961 -struct lpfc_hba_event lpfc_hba_event109,3999 -struct lpfc_stats lpfc_stats120,4168 -enum sysfs_mbox_state sysfs_mbox_state173,5317 - SMBOX_IDLE,174,5341 - SMBOX_WRITING,175,5354 - SMBOX_READING176,5370 -struct lpfc_sysfs_mbox lpfc_sysfs_mbox179,5389 -struct lpfc_hba lpfc_hba185,5508 -#define LPFC_INIT_START 194,5746 -#define LPFC_INIT_MBX_CMDS 195,5820 -#define LPFC_LINK_DOWN 196,5896 -#define LPFC_LINK_UP 197,5968 -#define LPFC_LOCAL_CFG_LINK 198,6038 -#define LPFC_FLOGI 199,6106 -#define LPFC_FABRIC_CFG_LINK 200,6169 -#define LPFC_NS_REG 202,6255 -#define LPFC_NS_QRY 203,6322 -#define LPFC_BUILD_DISC_LIST 204,6399 -#define LPFC_DISC_AUTH 206,6516 -#define LPFC_CLEAR_LA 207,6581 -#define LPFC_HBA_READY 209,6670 -#define LPFC_HBA_ERROR 210,6707 -#define FCP_SEED_WWNN 220,7050 -#define FCP_SEED_WWPN 221,7078 -#define FCP_SEED_DID 222,7106 -#define FCP_SEED_MASK 223,7134 -#define FCP_SEED_AUTO 224,7162 -#define FC_PT2PT 267,8969 -#define FC_PT2PT_PLOGI 268,9033 -#define FC_DISC_TMO 269,9097 -#define FC_PUBLIC_LOOP 270,9164 -#define FC_LBIT 271,9218 -#define FC_RSCN_MODE 272,9288 -#define FC_NLP_MORE 273,9348 -#define FC_OFFLINE_MODE 274,9424 -#define FC_FABRIC 275,9497 -#define FC_ESTABLISH_LINK 276,9564 -#define FC_RSCN_DISCOVERY 277,9625 -#define FC_LOADING 278,9704 -#define FC_UNLOADING 279,9769 -#define FC_SCSI_SCAN_TMO 280,9838 -#define FC_ABORT_DISCOVERY 281,9908 -#define LPFC_RPI_HASH_SIZE 314,10979 -#define LPFC_RPI_HASH_FUNC(LPFC_RPI_HASH_FUNC315,11013 -#define FC_REG_LINK_EVENT 410,13612 -#define FC_REG_RSCN_EVENT 411,13689 -#define FC_REG_CT_EVENT 412,13756 -#define FC_FSTYPE_ALL 414,13830 -typedef struct fcEVT fcEVT416,13887 -} fcEVT_t;fcEVT_t426,14130 -typedef struct fcEVTHDR fcEVTHDR428,14142 -#define E_SLEEPING_MODE 432,14256 -#define E_GET_EVENT_ACTIVE 435,14329 -} fcEVTHDR_t;fcEVTHDR_t440,14443 -struct rnidrsp rnidrsp442,14458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_mem.h,319 -#define _H_LPFC_MEM26,1406 -struct lpfc_dmabuf lpfc_dmabuf29,1428 -struct lpfc_dmabufext lpfc_dmabufext34,1555 -typedef struct lpfc_dmabufext DMABUFEXT_t;DMABUFEXT_t42,1699 -struct lpfc_dma_pool lpfc_dma_pool44,1743 -#define MEM_PRI 51,1856 -#define LPFC_MBUF_POOL_SIZE 53,1942 -#define LPFC_MEM_POOL_SIZE 54,2021 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_mbox.c,464 -lpfc_dump_mem(45,1907 -lpfc_read_nv(69,2567 -lpfc_read_la(85,2968 -lpfc_clear_la(132,4399 -lpfc_config_link(150,4869 -lpfc_init_link(187,5916 -lpfc_read_sparam(250,7544 -lpfc_unreg_did(297,8842 -lpfc_set_slim(316,9251 -lpfc_read_config(346,9990 -lpfc_reg_login(363,10392 -lpfc_unreg_login(423,12129 -lpfc_config_pcb_setup(439,12443 -lpfc_read_rev(497,14205 -lpfc_config_ring(510,14438 -lpfc_config_port(551,15535 -lpfc_mbox_put(646,18625 -lpfc_mbox_get(660,18822 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_sli.c,1979 -static int lpfc_sli_reset_on_init 45,1813 -#define LOG_MBOX_CANNOT_ISSUE_DATA(LOG_MBOX_CANNOT_ISSUE_DATA52,2004 -#define LPFC_UNKNOWN_IOCB 68,2419 -#define LPFC_UNSOL_IOCB 69,2447 -#define LPFC_SOL_IOCB 70,2475 -#define LPFC_ABORT_IOCB 71,2503 -static uint8_t lpfc_sli_iocb_cmd_type[72,2531 -lpfc_sli_ring_map(231,9406 -lpfc_sli_ringtxcmpl_put(277,10605 -lpfc_sli_ringtx_get(311,11519 -lpfc_sli_next_iocb_slot 332,12041 -lpfc_sli_submit_iocb(371,13071 -lpfc_sli_update_full_ring(413,14156 -lpfc_sli_update_ring(433,14610 -lpfc_sli_resume_iocb(447,14900 -lpfc_sli_turn_on_ring(481,15872 -lpfc_sli_chk_mbx_command(505,16479 -lpfc_sli_handle_mb_event(562,17608 -lpfc_sli_process_unsol_iocb(754,22513 -lpfc_search_txcmpl(840,24643 -lpfc_sli_ringtxcmpl_get(867,25258 -lpfc_sli_process_sol_iocb(920,26477 -lpfc_sli_handle_ring_event(985,28225 -lpfc_intr_prep(1276,36263 -lpfc_sli_intr(1296,36797 -lpfc_sli_abort_iocb_ring(1367,38352 -lpfc_sli_brdreset(1470,40829 -lpfc_setup_slim_access(1577,43415 -lpfc_sli_hba_setup(1592,43832 -lpfc_mbox_abort(1785,48869 -lpfc_mbox_timeout(1846,50233 -lpfc_sli_issue_mbox(1896,51317 -lpfc_sli_ringtx_put(2173,58840 -lpfc_sli_next_iocb(2183,59124 -lpfc_sli_issue_iocb(2198,59394 -lpfc_sli_queue_setup(2288,61532 -lpfc_sli_hba_down(2323,62406 -lpfc_sli_pcimem_bcopy(2406,64288 -lpfc_sli_ringpostbuf_put(2419,64515 -lpfc_sli_ringpostbuf_get(2432,64817 -lpfc_sli_next_iotag(2458,65602 -lpfc_sli_abort_elsreq_cmpl(2500,66603 -lpfc_sli_issue_abort_iotag32(2536,67611 -lpfc_sli_abort_iocb_ctx(2592,69138 -lpfc_sli_sum_iocb_host(2667,70938 -lpfc_sli_abort_iocb_host(2722,72183 -lpfc_sli_sum_iocb_lun(2823,74736 -lpfc_sli_abort_iocb_lun(2884,76237 -lpfc_sli_abort_iocb_tgt(2990,79049 -lpfc_sli_wake_iocb_high_priority(3096,81732 -lpfc_sli_issue_iocb_wait_high_priority(3110,82096 -lpfc_sli_wake_mbox_wait(3177,84035 -lpfc_sli_issue_mbox_wait(3192,84348 -lpfc_sli_wake_iocb_wait(3238,85550 -lpfc_sli_issue_iocb_wait(3260,86030 -lpfc_intr_handler(3329,88077 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_mem.c,151 -lpfc_pool_kmalloc(38,1637 -lpfc_pool_kfree(44,1748 -lpfc_mem_alloc(50,1809 -lpfc_mem_free(131,4271 -lpfc_mbuf_alloc(164,5210 -lpfc_mbuf_free(180,5640 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_els.c,1477 -static int lpfc_max_els_tries 43,1851 -lpfc_els_chk_latt(46,1898 -lpfc_prep_els_iocb(102,3304 -lpfc_cmpl_els_flogi(255,7802 -lpfc_issue_els_flogi(502,14438 -lpfc_els_abort_flogi(566,16215 -lpfc_initial_flogi(618,17575 -lpfc_more_plogi(646,18222 -lpfc_cmpl_els_plogi(669,18841 -lpfc_issue_els_plogi(773,21486 -lpfc_cmpl_els_prli(829,23100 -lpfc_issue_els_prli(884,24547 -lpfc_more_adisc(952,26427 -lpfc_rscn_disc(977,27073 -lpfc_cmpl_els_adisc(999,27550 -lpfc_issue_els_adisc(1110,30573 -lpfc_cmpl_els_logo(1166,32269 -lpfc_issue_els_logo(1224,33768 -lpfc_cmpl_els_cmd(1275,35276 -lpfc_issue_els_scr(1297,35777 -lpfc_issue_els_farpr(1354,37434 -lpfc_els_retry_delay(1427,39642 -lpfc_els_retry(1475,40853 -lpfc_els_free_iocb(1674,45170 -lpfc_cmpl_els_logo_acc(1703,45992 -lpfc_cmpl_els_acc(1734,46784 -lpfc_els_rsp_acc(1796,48493 -lpfc_els_rsp_reject(1880,50710 -lpfc_els_rsp_adisc_acc(1939,52465 -lpfc_els_rsp_prli_acc(2004,54407 -lpfc_els_rsp_rnid_acc(2090,56752 -lpfc_els_disc_adisc(2179,59243 -lpfc_els_disc_plogi(2212,60023 -lpfc_els_flush_rscn(2244,60810 -lpfc_rscn_payload_check(2262,61191 -lpfc_rscn_recovery_check(2327,62779 -lpfc_els_rcv_rscn(2369,63918 -lpfc_els_handle_rscn(2456,66493 -lpfc_els_rcv_flogi(2514,68046 -lpfc_els_rcv_rnid(2605,70523 -lpfc_els_rcv_rrq(2650,71695 -lpfc_els_rcv_farp(2692,72819 -lpfc_els_rcv_farpr(2763,74694 -lpfc_els_rcv_fan(2798,75615 -lpfc_els_timeout_handler(2850,76941 -lpfc_els_flush_cmd(2940,79021 -lpfc_els_unsol_event(3036,81249 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_scsi.h,261 -#define _H_LPFC_SCSI26,1408 -struct lpfc_target lpfc_target35,1517 -struct lpfc_scsi_buf lpfc_scsi_buf54,1990 -#define LPFC_SCSI_INITIAL_BPL_SIZE 85,2854 -#define LPFC_SCSI_DMA_EXT_SIZE 87,2934 -#define LPFC_BPL_SIZE 88,2969 -#define MDAC_DIRECT_CMD 90,3006 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_version.h,170 -#define _H_LPFC_VERSION26,1414 -#define LPFC_DRIVER_VERSION 28,1439 -#define LPFC_DRIVER_NAME 30,1477 -#define LPFC_MODULE_DESC 32,1510 -#define DFC_API_VERSION 35,1607 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_init.c,662 -static int lpfc_rdrev_wd30 48,1943 -lpfc_config_port_prep(62,2805 -lpfc_config_port_post(207,7642 -lpfc_hba_down_prep(499,16325 -lpfc_handle_eratt(522,17214 -lpfc_handle_latt(627,20523 -lpfc_parse_vpd(687,22435 -lpfc_post_buffer(768,24249 -lpfc_post_rcv_buf(869,27073 -#define S(S880,27312 -lpfc_sha_init(888,27744 -lpfc_sha_iterate(903,28360 -lpfc_challenge_key(955,29762 -lpfc_hba_init(966,30269 -lpfc_consistent_bind_cleanup(989,30811 -lpfc_cleanup(1002,31102 -lpfc_establish_link_tmo(1073,32821 -lpfc_online(1090,33303 -lpfc_offline(1122,33919 -lpfc_scsi_free(1180,35358 -lpfc_wakeup_event(1196,35625 -lpfc_put_event(1214,35988 -lpfc_stop_timer(1319,38540 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_sli.h,1389 -#define _H_LPFC_SLI26,1406 -struct lpfc_iocbq lpfc_iocbq34,1580 -#define LPFC_IO_POLL 40,1787 -#define LPFC_IO_LIBDFC 41,1834 -#define LPFC_IO_WAIT 42,1877 -#define LPFC_IO_HIPRI 43,1900 -#define SLI_IOCB_RET_IOCB 63,2470 -#define SLI_IOCB_HIGH_PRIORITY 64,2538 -#define IOCB_SUCCESS 66,2600 -#define IOCB_BUSY 67,2630 -#define IOCB_ERROR 68,2660 -#define IOCB_TIMEDOUT 69,2690 -typedef struct lpfcMboxq lpfcMboxq71,2721 -} LPFC_MBOXQ_t;LPFC_MBOXQ_t80,3050 -#define MBX_POLL 82,3067 -#define MBX_NOWAIT 84,3150 -#define MBX_STOP_IOCB 85,3220 -#define LPFC_MAX_RING_MASK 88,3305 -#define LPFC_MAX_RING 90,3392 -struct lpfc_sli_ring lpfc_sli_ring93,3515 -#define LPFC_DEFERRED_RING_EVENT 95,3572 -#define LPFC_CALL_RING_AVAILABLE 96,3650 -#define LPFC_STOP_IOCB_MBX 97,3718 -#define LPFC_STOP_IOCB_EVENT 98,3794 -#define LPFC_STOP_IOCB_MASK 99,3871 -} LPFC_RING_MASK_t;LPFC_RING_MASK_t136,5405 -} LPFC_RING_INIT_t;LPFC_RING_INIT_t150,6045 -} LPFC_SLI_INIT_t;LPFC_SLI_INIT_t156,6198 -} LPFC_SLI_STAT_t;LPFC_SLI_STAT_t174,7104 -struct lpfc_sli lpfc_sli177,7169 -#define LPFC_SLI_MBOX_ACTIVE 180,7267 -#define LPFC_SLI2_ACTIVE 181,7345 -#define LPFC_PROCESS_LA 182,7426 -#define IOCB_ENTRY(IOCB_ENTRY206,8239 -#define LPFC_SLI_ABORT_IMED 208,8317 -#define LPFC_MBOX_TMO 210,8428 -#define LPFC_ABORT_TXQ 214,8569 -#define LPFC_ABORT_TXCMPLQ 215,8619 -#define LPFC_ABORT_ALLQ 216,8676 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_disc.h,3511 -#define _H_LPFC_DISC26,1409 -#define FC_MAX_HOLD_RSCN 32,1475 -#define FC_MAX_NS_RSP 33,1548 -#define FC_MAXLOOP 34,1616 -#define LPFC_DISC_FLOGI_TMO 35,1695 -#define LPFC_DEV_LINK_DOWN 41,1885 -#define LPFC_DEV_DISAPPEARED 42,1941 -#define LPFC_DEV_DISCOVERY_INP 44,2028 -#define LPFC_DEV_DISCONNECTED 45,2102 -#define LPFC_SET_BITMASK 48,2236 -#define LPFC_CLR_BITMASK 49,2264 -typedef enum lpfc_farp_addr_type lpfc_farp_addr_type52,2369 - LPFC_FARP_BY_IEEE,53,2404 - LPFC_FARP_BY_WWPN,54,2424 - LPFC_FARP_BY_WWNN,55,2444 -} LPFC_FARP_ADDR_TYPE;LPFC_FARP_ADDR_TYPE56,2464 -struct lpfc_bindlist lpfc_bindlist62,2619 -struct lpfc_nodelist lpfc_nodelist72,3004 -#define NLP_FC_NODE 81,3405 -#define NLP_FABRIC 82,3464 -#define NLP_FCP_TARGET 83,3529 -#define NLP_FCP_2_DEVICE 92,3956 -struct lpfc_node_farp_pend lpfc_node_farp_pend115,4726 -#define NLP_NO_LIST 121,4854 -#define NLP_UNUSED_LIST 122,4924 -#define NLP_PLOGI_LIST 123,4997 -#define NLP_ADISC_LIST 124,5062 -#define NLP_REGLOGIN_LIST 125,5127 -#define NLP_PRLI_LIST 126,5196 -#define NLP_UNMAPPED_LIST 127,5260 -#define NLP_MAPPED_LIST 128,5319 -#define NLP_NPR_LIST 129,5376 -#define NLP_JUST_DQ 130,5446 -#define NLP_LIST_MASK 131,5517 -#define NLP_PLOGI_SND 132,5588 -#define NLP_PRLI_SND 133,5661 -#define NLP_ADISC_SND 134,5733 -#define NLP_LOGO_SND 135,5806 -#define NLP_RNID_SND 136,5878 -#define NLP_ELS_SND_MASK 137,5950 -#define NLP_AUTOMAP 138,6021 -#define NLP_SEED_WWPN 139,6081 -#define NLP_SEED_WWNN 140,6154 -#define NLP_SEED_DID 141,6227 -#define NLP_SEED_MASK 142,6299 -#define NLP_NS_NODE 143,6363 -#define NLP_NODEV_TMO 144,6437 -#define NLP_DELAY_TMO 145,6512 -#define NLP_NPR_2B_DISC 146,6587 -#define NLP_RCV_PLOGI 147,6663 -#define NLP_LOGO_ACC 148,6736 -#define NLP_TGT_NO_SCSIID 149,6811 -#define NLP_SEED_ALPA 150,6888 -#define NLP_ACC_REGLOGIN 151,6965 -#define NLP_NPR_ADISC 153,7053 -#define NLP_DELAY_REMOVE 155,7141 -#define NLP_SEARCH_MAPPED 158,7246 -#define NLP_SEARCH_UNMAPPED 159,7299 -#define NLP_SEARCH_PLOGI 160,7354 -#define NLP_SEARCH_ADISC 161,7406 -#define NLP_SEARCH_REGLOGIN 162,7458 -#define NLP_SEARCH_PRLI 163,7514 -#define NLP_SEARCH_NPR 164,7566 -#define NLP_SEARCH_UNUSED 165,7617 -#define NLP_SEARCH_ALL 166,7671 -#define NLP_STE_UNUSED_NODE 184,8629 -#define NLP_STE_PLOGI_ISSUE 185,8696 -#define NLP_STE_ADISC_ISSUE 186,8766 -#define NLP_STE_REG_LOGIN_ISSUE 187,8836 -#define NLP_STE_PRLI_ISSUE 188,8913 -#define NLP_STE_UNMAPPED_NODE 189,8982 -#define NLP_STE_MAPPED_NODE 190,9054 -#define NLP_STE_NPR_NODE 191,9125 -#define NLP_STE_MAX_STATE 192,9187 -#define NLP_STE_FREED_NODE 193,9225 -#define NLP_EVT_RCV_PLOGI 236,11878 -#define NLP_EVT_RCV_PRLI 237,11949 -#define NLP_EVT_RCV_LOGO 238,12020 -#define NLP_EVT_RCV_ADISC 239,12091 -#define NLP_EVT_RCV_PDISC 240,12162 -#define NLP_EVT_RCV_PRLO 241,12233 -#define NLP_EVT_CMPL_PLOGI 242,12304 -#define NLP_EVT_CMPL_PRLI 243,12374 -#define NLP_EVT_CMPL_LOGO 244,12444 -#define NLP_EVT_CMPL_ADISC 245,12514 -#define NLP_EVT_CMPL_REG_LOGIN 246,12584 -#define NLP_EVT_DEVICE_RM 247,12657 -#define NLP_EVT_DEVICE_RECOVERY 248,12734 -#define NLP_EVT_MAX_EVENT 249,12803 -struct lpfc_disc_evt lpfc_disc_evt252,12903 -typedef struct lpfc_disc_evt LPFC_DISC_EVT_t;LPFC_DISC_EVT_t258,13057 -#define LPFC_EVT_MBOX 260,13104 -#define LPFC_EVT_SOL_IOCB 261,13131 -#define LPFC_EVT_UNSOL_IOCB 262,13161 -#define LPFC_EVT_NODEV_TMO 263,13193 -#define LPFC_EVT_SCAN 264,13224 -#define LPFC_BIND_WW_NN_PN 267,13325 -#define LPFC_BIND_DID 268,13356 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_nportdisc.c,2671 -lpfc_check_adisc(45,1840 -lpfc_check_sparm(63,2284 -lpfc_check_elscmpl_iocb(113,3867 -lpfc_els_abort(155,4903 -lpfc_rcv_plogi(231,7211 -lpfc_rcv_padisc(366,11074 -lpfc_rcv_logo(423,12527 -lpfc_binding_found(454,13579 -lpfc_binding_useid(474,14135 -lpfc_mapping_useid(487,14364 -lpfc_create_binding(502,14680 -lpfc_consistent_bind_get(535,15478 -lpfc_assign_binding(632,17890 -lpfc_disc_set_adisc(682,19146 -lpfc_disc_noop(695,19433 -lpfc_disc_illegal(703,19640 -lpfc_rcv_plogi_unused_node(720,20076 -lpfc_rcv_els_unused_node(742,20680 -lpfc_rcv_logo_unused_node(751,20917 -lpfc_cmpl_logo_unused_node(771,21462 -lpfc_device_rm_unused_node(779,21664 -lpfc_rcv_plogi_plogi_issue(787,21867 -lpfc_rcv_els_plogi_issue(828,22987 -lpfc_cmpl_plogi_plogi_issue(861,23885 -lpfc_device_rm_plogi_issue(957,26347 -lpfc_device_recov_plogi_issue(968,26623 -lpfc_rcv_plogi_adisc_issue(983,26983 -lpfc_rcv_prli_adisc_issue(1010,27660 -lpfc_rcv_logo_adisc_issue(1028,28111 -lpfc_rcv_padisc_adisc_issue(1049,28627 -lpfc_rcv_prlo_adisc_issue(1067,29074 -lpfc_cmpl_adisc_adisc_issue(1086,29544 -lpfc_device_rm_adisc_issue(1144,31235 -lpfc_device_recov_adisc_issue(1156,31519 -lpfc_rcv_plogi_reglogin_issue(1172,31913 -lpfc_rcv_prli_reglogin_issue(1190,32365 -lpfc_rcv_logo_reglogin_issue(1208,32821 -lpfc_rcv_padisc_reglogin_issue(1226,33269 -lpfc_rcv_prlo_reglogin_issue(1244,33725 -lpfc_cmpl_reglogin_reglogin_issue(1256,34026 -lpfc_device_rm_reglogin_issue(1306,35370 -lpfc_device_recov_reglogin_issue(1315,35588 -lpfc_rcv_plogi_prli_issue(1326,35883 -lpfc_rcv_prli_prli_issue(1343,36318 -lpfc_rcv_logo_prli_issue(1360,36758 -lpfc_rcv_padisc_prli_issue(1380,37281 -lpfc_rcv_prlo_prli_issue(1402,37905 -lpfc_cmpl_prli_prli_issue(1413,38190 -lpfc_device_rm_prli_issue(1490,40437 -lpfc_device_recov_prli_issue(1518,41163 -lpfc_rcv_plogi_unmap_node(1531,41512 -lpfc_rcv_prli_unmap_node(1548,41947 -lpfc_rcv_logo_unmap_node(1565,42387 -lpfc_rcv_padisc_unmap_node(1582,42819 -lpfc_rcv_prlo_unmap_node(1599,43257 -lpfc_device_recov_unmap_node(1617,43716 -lpfc_rcv_plogi_mapped_node(1629,44028 -lpfc_rcv_prli_mapped_node(1646,44465 -lpfc_rcv_logo_mapped_node(1663,44907 -lpfc_rcv_padisc_mapped_node(1680,45341 -lpfc_rcv_prlo_mapped_node(1698,45788 -lpfc_device_recov_mapped_node(1721,46395 -lpfc_rcv_plogi_npr_node(1733,46715 -lpfc_rcv_prli_npr_node(1766,47600 -lpfc_rcv_logo_npr_node(1800,48595 -lpfc_rcv_padisc_npr_node(1818,49047 -lpfc_rcv_prlo_npr_node(1848,49854 -lpfc_cmpl_logo_npr_node(1879,50681 -lpfc_cmpl_reglogin_npr_node(1888,50926 -lpfc_device_rm_npr_node(1909,51352 -lpfc_device_recov_npr_node(1918,51560 -static void *lpfc_disc_action[1983,55109 -lpfc_disc_state_machine(2099,61288 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_fcp.c,3706 -static char *lpfc_drvr_name 59,2159 -static struct scsi_transport_template *lpfc_transport_template 61,2208 -static struct list_head lpfc_hba_list 63,2280 -lpfc_info(66,2372 -lpfc_jedec_to_ascii(87,2870 -lpfc_drvr_version_show(103,3117 -management_version_show(109,3255 -lpfc_info_show(115,3393 -lpfc_serialnum_show(122,3572 -lpfc_fwrev_show(130,3821 -lpfc_hdw_show(140,4113 -lpfc_option_rom_version_show(150,4428 -lpfc_state_show(157,4690 -lpfc_num_discovered_ports_show(205,5955 -lpfc_speed_show(218,6328 -lpfc_node_name_show(234,6813 -lpfc_port_name_show(243,7164 -lpfc_did_show(252,7515 -lpfc_port_type_show(260,7757 -lpfc_fabric_name_show(284,8355 -lpfc_events_show(304,8972 -lpfc_issue_lip 350,10096 -lpfc_nport_evt_cnt_show(387,11020 -lpfc_board_online_show(395,11277 -lpfc_board_online_store(409,11620 -lpfc_disc_ndlp_show(432,12098 -#define LPFC_MAX_SYS_DISC_ENTRIES 475,13305 -lpfc_disc_npr_show(478,13358 -lpfc_disc_map_show(515,14435 -lpfc_disc_unmap_show(552,15515 -lpfc_disc_prli_show(589,16603 -lpfc_disc_reglgn_show(626,17684 -lpfc_disc_adisc_show(663,18779 -lpfc_disc_plogi_show(700,19864 -lpfc_disc_unused_show(737,20949 -#define LPFC_MAX_SYS_OUTFCPIO_ENTRIES 773,22023 -lpfc_outfcpio_show(776,22080 -#define lpfc_param_show(lpfc_param_show905,25357 -#define lpfc_param_store(lpfc_param_store920,25731 -#define LPFC_ATTR_R_NOINIT(LPFC_ATTR_R_NOINIT938,26197 -#define LPFC_ATTR_R(LPFC_ATTR_R945,26435 -#define LPFC_ATTR_RW(LPFC_ATTR_RW952,26699 -static int lpfc_cr_delay 1132,34819 -static int lpfc_cr_count 1137,34999 -static int lpfc_discovery_threads 1155,35592 -static int lpfc_scsi_hotplug 1165,35903 -static int lpfc_scsi_hotplug 1171,36048 -dfc_rsp_data_copy(1187,36526 -dfc_cmd_data_free(1222,37280 -dfc_cmd_data_alloc(1248,37837 -sysfs_ctpass_write(1316,39434 - typedef struct tagctpassthruinput tagctpassthruinput1334,40122 - } ctpassthruinput_t;ctpassthruinput_t1338,40218 -sysfs_ctpass_read(1508,44807 -static struct bin_attribute sysfs_ctpass_attr 1533,45462 -sysfs_sendrnid_write(1545,45689 -sysfs_sendrnid_read(1684,49786 -static struct bin_attribute sysfs_sendrnid_attr 1711,50433 -sysfs_slimem_write(1723,50658 -sysfs_slimem_read(1766,51756 -static struct bin_attribute sysfs_slimem_attr 1804,52721 -sysfs_ctlreg_write(1817,52984 -sysfs_ctlreg_read(1850,53853 -static struct bin_attribute sysfs_ctlreg_attr 1883,54698 -#define MBOX_BUFF_SIZE 1895,54913 -sysfs_mbox_idle 1898,54986 -sysfs_mbox_write(1911,55249 -sysfs_mbox_read(1965,56483 -static struct bin_attribute sysfs_mbox_attr 2098,60016 -lpfc_get_host_port_id(2117,60361 -lpfc_get_host_port_type(2124,60543 -lpfc_get_host_port_state(2150,61243 -lpfc_get_host_speed(2192,62278 -lpfc_get_host_fabric_name 2220,62915 -lpfc_get_stats(2243,63564 -lpfc_get_starget_port_id(2337,66142 -lpfc_get_starget_node_name(2358,66694 -lpfc_get_starget_port_name(2380,67327 -lpfc_get_starget_loss_tmo(2402,67960 -lpfc_set_starget_loss_tmo(2412,68222 -lpfc_get_port_id(2424,68475 -lpfc_get_node_name(2432,68672 -lpfc_get_port_name(2443,68981 -static struct fc_function_template lpfc_transport_functions 2454,69285 -lpfc_proc_info(2523,71132 -lpfc_slave_alloc(2574,72549 -lpfc_slave_configure(2615,73591 -lpfc_slave_destroy(2645,74397 -static struct class_device_attribute *lpfc_host_attrs[2684,75291 -static struct scsi_host_template driver_template 2731,76774 -lpfc_sli_setup(2752,77414 -lpfc_set_bind_type(2840,80218 -lpfc_get_cfgparam(2869,80662 -lpfc_consistent_bind_setup(2913,81970 -lpfc_get_brd_no(2920,82106 -lpfc_pci_probe_one(2941,82407 -lpfc_pci_remove_one(3244,91305 -static struct pci_device_id lpfc_id_table[3346,93991 -static struct pci_driver lpfc_driver 3384,95281 -lpfc_init(3392,95477 -lpfc_exit(3409,95737 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_hw.h,28402 -#define _H_LPFC_HW26,1405 -#define FDMI_DID 28,1425 -#define NameServer_DID 29,1470 -#define SCR_DID 30,1515 -#define Fabric_DID 31,1560 -#define Bcast_DID 32,1605 -#define Mask_DID 33,1650 -#define CT_DID_MASK 34,1695 -#define Fabric_DID_MASK 35,1740 -#define WELL_KNOWN_DID_MASK 36,1785 -#define PT2PT_LocalID 38,1835 -#define PT2PT_RemoteID 39,1873 -#define FF_DEF_EDTOV 41,1912 -#define FF_DEF_ALTOV 42,1978 -#define FF_DEF_RATOV 43,2042 -#define FF_DEF_ARBTOV 44,2103 -#define LPFC_BUF_RING0 46,2170 -#define FCELSSIZE 49,2254 -#define LPFC_FCP_RING 51,2322 -#define LPFC_IP_RING 52,2397 -#define LPFC_ELS_RING 53,2461 -#define LPFC_FCP_NEXT_RING 54,2526 -#define SLI2_IOCB_CMD_R0_ENTRIES 56,2562 -#define SLI2_IOCB_RSP_R0_ENTRIES 57,2639 -#define SLI2_IOCB_CMD_R1_ENTRIES 58,2717 -#define SLI2_IOCB_RSP_R1_ENTRIES 59,2793 -#define SLI2_IOCB_CMD_R1XTRA_ENTRIES 60,2870 -#define SLI2_IOCB_RSP_R1XTRA_ENTRIES 61,2949 -#define SLI2_IOCB_CMD_R2_ENTRIES 62,3028 -#define SLI2_IOCB_RSP_R2_ENTRIES 63,3105 -#define SLI2_IOCB_CMD_R3_ENTRIES 64,3183 -#define SLI2_IOCB_RSP_R3_ENTRIES 65,3223 -#define SLI2_IOCB_CMD_R3XTRA_ENTRIES 66,3263 -#define SLI2_IOCB_RSP_R3XTRA_ENTRIES 67,3303 -union CtRevisionId CtRevisionId71,3395 -union CtCommandResponse CtCommandResponse80,3539 -struct lpfc_sli_ct_request lpfc_sli_ct_request89,3687 - struct gid gid104,4015 - struct rft rft110,4178 - struct rnn rnn131,4653 - struct rsnn rsnn135,4743 -#define SLI_CT_REVISION 143,4869 -#define GID_REQUEST_SZ 144,4903 -#define RFT_REQUEST_SZ 145,4978 -#define RNN_REQUEST_SZ 146,5053 -#define RSNN_REQUEST_SZ 147,5128 -#define SLI_CT_MANAGEMENT_SERVICE 153,5228 -#define SLI_CT_TIME_SERVICE 154,5275 -#define SLI_CT_DIRECTORY_SERVICE 155,5322 -#define SLI_CT_FABRIC_CONTROLLER_SERVICE 156,5369 -#define SLI_CT_DIRECTORY_NAME_SERVER 162,5455 -#define SLI_CT_RESPONSE_FS_RJT 168,5529 -#define SLI_CT_RESPONSE_FS_ACC 169,5578 -#define SLI_CT_NO_ADDITIONAL_EXPL 175,5652 -#define SLI_CT_INVALID_COMMAND 176,5693 -#define SLI_CT_INVALID_VERSION 177,5740 -#define SLI_CT_LOGICAL_ERROR 178,5787 -#define SLI_CT_INVALID_IU_SIZE 179,5834 -#define SLI_CT_LOGICAL_BUSY 180,5881 -#define SLI_CT_PROTOCOL_ERROR 181,5928 -#define SLI_CT_UNABLE_TO_PERFORM_REQ 182,5975 -#define SLI_CT_REQ_NOT_SUPPORTED 183,6022 -#define SLI_CT_HBA_INFO_NOT_REGISTERED 184,6069 -#define SLI_CT_MULTIPLE_HBA_ATTR_OF_SAME_TYPE 185,6116 -#define SLI_CT_INVALID_HBA_ATTR_BLOCK_LEN 186,6169 -#define SLI_CT_HBA_ATTR_NOT_PRESENT 187,6222 -#define SLI_CT_PORT_INFO_NOT_REGISTERED 188,6266 -#define SLI_CT_MULTIPLE_PORT_ATTR_OF_SAME_TYPE 189,6313 -#define SLI_CT_INVALID_PORT_ATTR_BLOCK_LEN 190,6366 -#define SLI_CT_VENDOR_UNIQUE 191,6419 -#define SLI_CT_NO_PORT_ID 197,6532 -#define SLI_CT_NO_PORT_NAME 198,6579 -#define SLI_CT_NO_NODE_NAME 199,6626 -#define SLI_CT_NO_CLASS_OF_SERVICE 200,6673 -#define SLI_CT_NO_IP_ADDRESS 201,6720 -#define SLI_CT_NO_IPA 202,6767 -#define SLI_CT_NO_FC4_TYPES 203,6814 -#define SLI_CT_NO_SYMBOLIC_PORT_NAME 204,6861 -#define SLI_CT_NO_SYMBOLIC_NODE_NAME 205,6908 -#define SLI_CT_NO_PORT_TYPE 206,6955 -#define SLI_CT_ACCESS_DENIED 207,7002 -#define SLI_CT_INVALID_PORT_ID 208,7049 -#define SLI_CT_DATABASE_EMPTY 209,7096 -#define SLI_CTNS_GA_NXT 215,7181 -#define SLI_CTNS_GPN_ID 216,7218 -#define SLI_CTNS_GNN_ID 217,7255 -#define SLI_CTNS_GCS_ID 218,7292 -#define SLI_CTNS_GFT_ID 219,7329 -#define SLI_CTNS_GSPN_ID 220,7366 -#define SLI_CTNS_GPT_ID 221,7403 -#define SLI_CTNS_GID_PN 222,7440 -#define SLI_CTNS_GID_NN 223,7477 -#define SLI_CTNS_GIP_NN 224,7514 -#define SLI_CTNS_GIPA_NN 225,7551 -#define SLI_CTNS_GSNN_NN 226,7588 -#define SLI_CTNS_GNN_IP 227,7625 -#define SLI_CTNS_GIPA_IP 228,7662 -#define SLI_CTNS_GID_FT 229,7699 -#define SLI_CTNS_GID_PT 230,7736 -#define SLI_CTNS_RPN_ID 231,7773 -#define SLI_CTNS_RNN_ID 232,7810 -#define SLI_CTNS_RCS_ID 233,7847 -#define SLI_CTNS_RFT_ID 234,7884 -#define SLI_CTNS_RSPN_ID 235,7921 -#define SLI_CTNS_RPT_ID 236,7958 -#define SLI_CTNS_RIP_NN 237,7995 -#define SLI_CTNS_RIPA_NN 238,8032 -#define SLI_CTNS_RSNN_NN 239,8069 -#define SLI_CTNS_DA_ID 240,8106 -#define SLI_CTPT_N_PORT 246,8166 -#define SLI_CTPT_NL_PORT 247,8201 -#define SLI_CTPT_FNL_PORT 248,8236 -#define SLI_CTPT_IP 249,8271 -#define SLI_CTPT_FCP 250,8306 -#define SLI_CTPT_NX_PORT 251,8341 -#define SLI_CTPT_F_PORT 252,8376 -#define SLI_CTPT_FL_PORT 253,8411 -#define SLI_CTPT_E_PORT 254,8446 -#define SLI_CT_LAST_ENTRY 256,8482 -#define FC_PH_4_0 260,8575 -#define FC_PH_4_1 261,8622 -#define FC_PH_4_2 262,8669 -#define FC_PH_4_3 263,8716 -#define FC_PH_LOW 265,8764 -#define FC_PH_HIGH 266,8824 -#define FC_PH3 267,8885 -#define FF_FRAME_SIZE 269,8931 -struct lpfc_name lpfc_name271,8963 -#define NAME_IEEE 280,9297 -#define NAME_IEEE_EXT 281,9356 -#define NAME_FC_TYPE 282,9413 -#define NAME_IP_TYPE 283,9471 -#define NAME_CCITT_TYPE 284,9520 -#define NAME_CCITT_GR_TYPE 285,9552 -struct csp csp290,9695 -struct class_parms class_parms347,11749 -struct serv_parm serv_parm414,14444 -#define ELS_CMD_MASK 429,14808 -#define ELS_RSP_MASK 430,14845 -#define ELS_CMD_LS_RJT 431,14882 -#define ELS_CMD_ACC 432,14919 -#define ELS_CMD_PLOGI 433,14956 -#define ELS_CMD_FLOGI 434,14993 -#define ELS_CMD_LOGO 435,15030 -#define ELS_CMD_ABTX 436,15067 -#define ELS_CMD_RCS 437,15104 -#define ELS_CMD_RES 438,15141 -#define ELS_CMD_RSS 439,15178 -#define ELS_CMD_RSI 440,15215 -#define ELS_CMD_ESTS 441,15252 -#define ELS_CMD_ESTC 442,15289 -#define ELS_CMD_ADVC 443,15326 -#define ELS_CMD_RTV 444,15363 -#define ELS_CMD_RLS 445,15400 -#define ELS_CMD_ECHO 446,15437 -#define ELS_CMD_TEST 447,15474 -#define ELS_CMD_RRQ 448,15511 -#define ELS_CMD_PRLI 449,15548 -#define ELS_CMD_PRLO 450,15585 -#define ELS_CMD_PDISC 451,15622 -#define ELS_CMD_FDISC 452,15659 -#define ELS_CMD_ADISC 453,15696 -#define ELS_CMD_FARP 454,15733 -#define ELS_CMD_FARPR 455,15770 -#define ELS_CMD_FAN 456,15807 -#define ELS_CMD_RSCN 457,15844 -#define ELS_CMD_SCR 458,15881 -#define ELS_CMD_RNID 459,15918 -#define ELS_CMD_MASK 461,15993 -#define ELS_RSP_MASK 462,16026 -#define ELS_CMD_LS_RJT 463,16057 -#define ELS_CMD_ACC 464,16088 -#define ELS_CMD_PLOGI 465,16119 -#define ELS_CMD_FLOGI 466,16150 -#define ELS_CMD_LOGO 467,16181 -#define ELS_CMD_ABTX 468,16212 -#define ELS_CMD_RCS 469,16243 -#define ELS_CMD_RES 470,16274 -#define ELS_CMD_RSS 471,16305 -#define ELS_CMD_RSI 472,16336 -#define ELS_CMD_ESTS 473,16367 -#define ELS_CMD_ESTC 474,16398 -#define ELS_CMD_ADVC 475,16429 -#define ELS_CMD_RTV 476,16460 -#define ELS_CMD_RLS 477,16491 -#define ELS_CMD_ECHO 478,16522 -#define ELS_CMD_TEST 479,16553 -#define ELS_CMD_RRQ 480,16584 -#define ELS_CMD_PRLI 481,16615 -#define ELS_CMD_PRLO 482,16652 -#define ELS_CMD_PDISC 483,16689 -#define ELS_CMD_FDISC 484,16720 -#define ELS_CMD_ADISC 485,16751 -#define ELS_CMD_FARP 486,16782 -#define ELS_CMD_FARPR 487,16813 -#define ELS_CMD_FAN 488,16844 -#define ELS_CMD_RSCN 489,16875 -#define ELS_CMD_SCR 490,16908 -#define ELS_CMD_RNID 491,16939 -struct ls_rjt ls_rjt498,17016 -#define LSRJT_INVALID_CMD 506,17247 -#define LSRJT_LOGICAL_ERR 507,17282 -#define LSRJT_LOGICAL_BSY 508,17317 -#define LSRJT_PROTOCOL_ERR 509,17352 -#define LSRJT_UNABLE_TPC 510,17387 -#define LSRJT_CMD_UNSUPPORTED 511,17454 -#define LSRJT_VENDOR_UNIQUE 512,17489 -#define LSEXP_NOTHING_MORE 516,17631 -#define LSEXP_SPARM_OPTIONS 517,17668 -#define LSEXP_SPARM_ICTL 518,17705 -#define LSEXP_SPARM_RCTL 519,17742 -#define LSEXP_SPARM_RCV_SIZE 520,17779 -#define LSEXP_SPARM_CONCUR_SEQ 521,17816 -#define LSEXP_SPARM_CREDIT 522,17853 -#define LSEXP_INVALID_PNAME 523,17890 -#define LSEXP_INVALID_NNAME 524,17927 -#define LSEXP_INVALID_CSP 525,17964 -#define LSEXP_INVALID_ASSOC_HDR 526,18001 -#define LSEXP_ASSOC_HDR_REQ 527,18038 -#define LSEXP_INVALID_O_SID 528,18075 -#define LSEXP_INVALID_OX_RX 529,18112 -#define LSEXP_CMD_IN_PROGRESS 530,18149 -#define LSEXP_INVALID_NPORT_ID 531,18186 -#define LSEXP_INVALID_SEQ_ID 532,18223 -#define LSEXP_INVALID_XCHG 533,18260 -#define LSEXP_INACTIVE_XCHG 534,18297 -#define LSEXP_RQ_REQUIRED 535,18334 -#define LSEXP_OUT_OF_RESOURCE 536,18371 -#define LSEXP_CANT_GIVE_DATA 537,18408 -#define LSEXP_REQ_UNSUPPORTED 538,18445 -typedef struct _LOGO _LOGO548,18618 -} LOGO;LOGO559,19031 -#define PRLX_PAGE_LEN 565,19102 -#define TPRLO_PAGE_LEN 566,19131 -typedef struct _PRLI _PRLI568,19161 -#define PRLI_FCP_TYPE 571,19277 -#define PRLI_REQ_EXECUTED 591,20094 -#define PRLI_NO_RESOURCES 592,20148 -#define PRLI_INIT_INCOMPLETE 593,20182 -#define PRLI_NO_SUCH_PA 594,20216 -#define PRLI_PREDEF_CONFIG 595,20250 -#define PRLI_PARTIAL_SUCCESS 596,20284 -#define PRLI_INVALID_PAGE_CNT 597,20318 -} PRLI;PRLI642,22529 -typedef struct _PRLO _PRLO648,22601 -#define PRLO_FCP_TYPE 651,22717 -#define PRLO_REQ_EXECUTED 666,23354 -#define PRLO_NO_SUCH_IMAGE 667,23408 -#define PRLO_INVALID_PAGE_CNT 668,23442 -} PRLO;PRLO677,23704 -typedef struct _ADISC _ADISC679,23713 -} ADISC;ADISC684,23870 -typedef struct _FARP _FARP686,23880 -#define FARP_NO_ACTION 689,23983 -#define FARP_MATCH_PORT 691,24068 -#define FARP_MATCH_NODE 692,24139 -#define FARP_MATCH_IP 693,24210 -#define FARP_MATCH_IPV4 694,24287 -#define FARP_MATCH_IPV6 696,24374 -#define FARP_REQUEST_PLOGI 700,24500 -#define FARP_REQUEST_FARPR 701,24560 -} FARP;FARP708,24788 -typedef struct _FAN _FAN710,24797 -} FAN;FAN714,24934 -typedef struct _SCR _SCR716,24942 -#define SCR_FUNC_FABRIC 721,25075 -#define SCR_FUNC_NPORT 722,25109 -#define SCR_FUNC_FULL 723,25143 -#define SCR_CLEAR 724,25177 -} SCR;SCR725,25211 -typedef struct _RNID_TOP_DISC _RNID_TOP_DISC727,25219 -#define RNID_HBA 731,25318 -#define RNID_HOST 732,25350 -#define RNID_DRIVER 733,25382 -#define RNID_IPV4 737,25480 -#define RNID_IPV6 738,25512 -#define RNID_TD_SUPPORT 743,25619 -#define RNID_LP_VALID 744,25651 -} RNID_TOP_DISC;RNID_TOP_DISC745,25683 -typedef struct _RNID _RNID747,25701 -#define RNID_TOPOLOGY_DISC 749,25782 -} RNID;RNID758,26003 -typedef struct _RRQ _RRQ760,26012 -} RRQ;RRQ765,26172 -typedef struct _D_ID _D_ID768,26216 -} D_ID;D_ID785,26541 -typedef struct _ELS_PKT _ELS_PKT791,26604 -} ELS_PKT;ELS_PKT810,27325 -#define SLI_MGMT_GRHL 816,27395 -#define SLI_MGMT_GHAT 817,27458 -#define SLI_MGMT_GRPL 818,27516 -#define SLI_MGMT_GPAT 819,27580 -#define SLI_MGMT_RHBA 820,27639 -#define SLI_MGMT_RHAT 821,27691 -#define SLI_MGMT_RPRT 822,27755 -#define SLI_MGMT_RPA 823,27808 -#define SLI_MGMT_DHBA 824,27872 -#define SLI_MGMT_DPRT 825,27927 -#define SLI_CT_FDMI_Subtypes 830,28022 -#define REJECT_CODE 835,28107 -#define NODE_NAME 845,28310 -#define MANUFACTURER 846,28347 -#define SERIAL_NUMBER 847,28384 -#define MODEL 848,28421 -#define MODEL_DESCRIPTION 849,28458 -#define HARDWARE_VERSION 850,28495 -#define DRIVER_VERSION 851,28532 -#define OPTION_ROM_VERSION 852,28569 -#define FIRMWARE_VERSION 853,28606 -#define OS_NAME_VERSION 854,28643 -#define MAX_CT_PAYLOAD_LEN 855,28673 -#define SUPPORTED_FC4_TYPES 860,28738 -#define SUPPORTED_SPEED 861,28775 -#define PORT_SPEED 862,28812 -#define MAX_FRAME_SIZE 863,28849 -#define OS_DEVICE_NAME 864,28886 -#define HOST_NAME 865,28923 -union AttributesDef AttributesDef867,28961 -} ATTRIBUTE_ENTRY;ATTRIBUTE_ENTRY902,29724 -} ATTRIBUTE_BLOCK;ATTRIBUTE_BLOCK910,29901 -} PORT_ENTRY;PORT_ENTRY917,29987 -} HBA_IDENTIFIER;HBA_IDENTIFIER924,30072 -} REG_PORT_LIST;REG_PORT_LIST932,30211 -} REG_HBA;REG_HBA941,30371 -} REG_HBA_ATTRIBUTE;REG_HBA_ATTRIBUTE949,30494 -} REG_PORT_ATTRIBUTE;REG_PORT_ATTRIBUTE957,30623 -} GRHL_ACC_PAYLOAD;GRHL_ACC_PAYLOAD965,30855 -} GRPL_ACC_PAYLOAD;GRPL_ACC_PAYLOAD973,31081 -} GPAT_ACC_PAYLOAD;GPAT_ACC_PAYLOAD981,31201 -#define MAX_CONFIGURED_RINGS 996,31689 -#define MAX_RINGS 997,31724 -#define OWN_CHIP 1000,31801 -#define OWN_HOST 1003,31866 -#define IOCB_WORD_SZ 1006,31934 -#define FC_ELS_DATA 1009,32003 -#define FC_LLC_SNAP 1010,32031 -#define FC_FCP_DATA 1011,32059 -#define FC_COMMON_TRANSPORT_ULP 1012,32087 -#define FC_DEV_DATA 1015,32167 -#define FC_UNSOL_CTL 1016,32195 -#define FC_SOL_CTL 1017,32223 -#define FC_UNSOL_DATA 1018,32251 -#define FC_FCP_CMND 1019,32279 -#define FC_ELS_REQ 1020,32307 -#define FC_ELS_RSP 1021,32336 -#define FC_NET_HDR 1024,32404 -#define PCI_VENDOR_ID_EMULEX 1027,32475 -#define PCI_DEVICE_ID_FIREFLY 1028,32518 -#define PCI_DEVICE_ID_SUPERFLY 1029,32560 -#define PCI_DEVICE_ID_DRAGONFLY 1030,32603 -#define PCI_DEVICE_ID_RFLY 1031,32646 -#define PCI_DEVICE_ID_PFLY 1032,32689 -#define PCI_DEVICE_ID_TFLY 1033,32732 -#define PCI_DEVICE_ID_CENTAUR 1034,32775 -#define PCI_DEVICE_ID_PEGASUS 1035,32818 -#define PCI_DEVICE_ID_THOR 1036,32861 -#define PCI_DEVICE_ID_VIPER 1037,32904 -#define PCI_DEVICE_ID_HELIOS 1038,32947 -#define PCI_DEVICE_ID_BMID 1039,32990 -#define PCI_DEVICE_ID_BSMB 1040,33033 -#define PCI_DEVICE_ID_ZEPHYR 1041,33076 -#define PCI_DEVICE_ID_ZMID 1042,33119 -#define PCI_DEVICE_ID_ZSMB 1043,33162 -#define PCI_DEVICE_ID_LP101 1044,33205 -#define JEDEC_ID_ADDRESS 1046,33245 -#define FIREFLY_JEDEC_ID 1047,33292 -#define SUPERFLY_JEDEC_ID 1048,33335 -#define DRAGONFLY_JEDEC_ID 1049,33378 -#define DRAGONFLY_V2_JEDEC_ID 1050,33421 -#define CENTAUR_2G_JEDEC_ID 1051,33464 -#define CENTAUR_1G_JEDEC_ID 1052,33507 -#define PEGASUS_ORION_JEDEC_ID 1053,33550 -#define PEGASUS_JEDEC_ID 1054,33593 -#define THOR_JEDEC_ID 1055,33636 -#define HELIOS_JEDEC_ID 1056,33679 -#define ZEPHYR_JEDEC_ID 1057,33722 -#define VIPER_JEDEC_ID 1058,33765 -#define JEDEC_ID_MASK 1060,33809 -#define JEDEC_ID_SHIFT 1061,33856 -#define FC_JEDEC_ID(FC_JEDEC_ID1062,33895 -} FF_REGS;FF_REGS1073,34392 -#define FF_REG_AREA_SIZE 1076,34436 -#define HA_REG_OFFSET 1080,34503 -#define HA_R0RE_REQ 1082,34574 -#define HA_R0CE_RSP 1083,34621 -#define HA_R0ATT 1084,34668 -#define HA_R1RE_REQ 1085,34715 -#define HA_R1CE_RSP 1086,34762 -#define HA_R1ATT 1087,34809 -#define HA_R2RE_REQ 1088,34856 -#define HA_R2CE_RSP 1089,34903 -#define HA_R2ATT 1090,34950 -#define HA_R3RE_REQ 1091,34997 -#define HA_R3CE_RSP 1092,35044 -#define HA_R3ATT 1093,35091 -#define HA_LATT 1094,35138 -#define HA_MBATT 1095,35185 -#define HA_ERATT 1096,35232 -#define HA_RXRE_REQ 1098,35280 -#define HA_RXCE_RSP 1099,35327 -#define HA_RXATT 1100,35374 -#define HA_RXMASK 1101,35421 -#define CA_REG_OFFSET 1105,35487 -#define CA_R0CE_REQ 1107,35558 -#define CA_R0RE_RSP 1108,35605 -#define CA_R0ATT 1109,35652 -#define CA_R1CE_REQ 1110,35699 -#define CA_R1RE_RSP 1111,35746 -#define CA_R1ATT 1112,35793 -#define CA_R2CE_REQ 1113,35840 -#define CA_R2RE_RSP 1114,35887 -#define CA_R2ATT 1115,35934 -#define CA_R3CE_REQ 1116,35981 -#define CA_R3RE_RSP 1117,36028 -#define CA_R3ATT 1118,36075 -#define CA_MBATT 1119,36122 -#define HS_REG_OFFSET 1123,36198 -#define HS_MBRDY 1125,36269 -#define HS_FFRDY 1126,36316 -#define HS_FFER8 1127,36363 -#define HS_FFER7 1128,36410 -#define HS_FFER6 1129,36457 -#define HS_FFER5 1130,36504 -#define HS_FFER4 1131,36551 -#define HS_FFER3 1132,36598 -#define HS_FFER2 1133,36645 -#define HS_FFER1 1134,36692 -#define HS_FFERM 1135,36739 -#define HC_REG_OFFSET 1139,36835 -#define HC_MBINT_ENA 1141,36906 -#define HC_R0INT_ENA 1142,36953 -#define HC_R1INT_ENA 1143,37000 -#define HC_R2INT_ENA 1144,37047 -#define HC_R3INT_ENA 1145,37094 -#define HC_INITHBI 1146,37141 -#define HC_INITMB 1147,37188 -#define HC_INITFF 1148,37235 -#define HC_LAINT_ENA 1149,37282 -#define HC_ERINT_ENA 1150,37329 -#define MBX_SHUTDOWN 1153,37400 -#define MBX_LOAD_SM 1154,37457 -#define MBX_READ_NV 1155,37490 -#define MBX_WRITE_NV 1156,37523 -#define MBX_RUN_BIU_DIAG 1157,37556 -#define MBX_INIT_LINK 1158,37589 -#define MBX_DOWN_LINK 1159,37622 -#define MBX_CONFIG_LINK 1160,37655 -#define MBX_CONFIG_RING 1161,37688 -#define MBX_RESET_RING 1162,37721 -#define MBX_READ_CONFIG 1163,37754 -#define MBX_READ_RCONFIG 1164,37787 -#define MBX_READ_SPARM 1165,37820 -#define MBX_READ_STATUS 1166,37853 -#define MBX_READ_RPI 1167,37886 -#define MBX_READ_XRI 1168,37919 -#define MBX_READ_REV 1169,37952 -#define MBX_READ_LNK_STAT 1170,37985 -#define MBX_REG_LOGIN 1171,38018 -#define MBX_UNREG_LOGIN 1172,38051 -#define MBX_READ_LA 1173,38084 -#define MBX_CLEAR_LA 1174,38117 -#define MBX_DUMP_MEMORY 1175,38150 -#define MBX_DUMP_CONTEXT 1176,38183 -#define MBX_RUN_DIAGS 1177,38216 -#define MBX_RESTART 1178,38249 -#define MBX_UPDATE_CFG 1179,38282 -#define MBX_DOWN_LOAD 1180,38315 -#define MBX_DEL_LD_ENTRY 1181,38348 -#define MBX_RUN_PROGRAM 1182,38381 -#define MBX_SET_MASK 1183,38414 -#define MBX_SET_SLIM 1184,38447 -#define MBX_UNREG_D_ID 1185,38480 -#define MBX_CONFIG_FARP 1186,38513 -#define MBX_LOAD_AREA 1188,38547 -#define MBX_RUN_BIU_DIAG64 1189,38580 -#define MBX_CONFIG_PORT 1190,38613 -#define MBX_READ_SPARM64 1191,38646 -#define MBX_READ_RPI64 1192,38679 -#define MBX_REG_LOGIN64 1193,38712 -#define MBX_READ_LA64 1194,38745 -#define MBX_FLASH_WR_ULA 1196,38779 -#define MBX_SET_DEBUG 1197,38812 -#define MBX_LOAD_EXP_ROM 1198,38845 -#define MBX_MAX_CMDS 1200,38879 -#define MBX_SLI2_CMD_MASK 1201,38912 -#define CMD_RCV_SEQUENCE_CX 1205,38967 -#define CMD_XMIT_SEQUENCE_CR 1206,39004 -#define CMD_XMIT_SEQUENCE_CX 1207,39041 -#define CMD_XMIT_BCAST_CN 1208,39078 -#define CMD_XMIT_BCAST_CX 1209,39115 -#define CMD_QUE_RING_BUF_CN 1210,39152 -#define CMD_QUE_XRI_BUF_CX 1211,39189 -#define CMD_IOCB_CONTINUE_CN 1212,39226 -#define CMD_RET_XRI_BUF_CX 1213,39263 -#define CMD_ELS_REQUEST_CR 1214,39300 -#define CMD_ELS_REQUEST_CX 1215,39337 -#define CMD_RCV_ELS_REQ_CX 1216,39374 -#define CMD_ABORT_XRI_CN 1217,39411 -#define CMD_ABORT_XRI_CX 1218,39448 -#define CMD_CLOSE_XRI_CN 1219,39485 -#define CMD_CLOSE_XRI_CX 1220,39522 -#define CMD_CREATE_XRI_CR 1221,39559 -#define CMD_CREATE_XRI_CX 1222,39596 -#define CMD_GET_RPI_CN 1223,39633 -#define CMD_XMIT_ELS_RSP_CX 1224,39670 -#define CMD_GET_RPI_CR 1225,39707 -#define CMD_XRI_ABORTED_CX 1226,39744 -#define CMD_FCP_IWRITE_CR 1227,39781 -#define CMD_FCP_IWRITE_CX 1228,39818 -#define CMD_FCP_IREAD_CR 1229,39855 -#define CMD_FCP_IREAD_CX 1230,39892 -#define CMD_FCP_ICMND_CR 1231,39929 -#define CMD_FCP_ICMND_CX 1232,39966 -#define CMD_ADAPTER_MSG 1234,40004 -#define CMD_ADAPTER_DUMP 1235,40041 -#define CMD_RCV_SEQUENCE64_CX 1239,40110 -#define CMD_XMIT_SEQUENCE64_CR 1240,40147 -#define CMD_XMIT_SEQUENCE64_CX 1241,40184 -#define CMD_XMIT_BCAST64_CN 1242,40221 -#define CMD_XMIT_BCAST64_CX 1243,40258 -#define CMD_QUE_RING_BUF64_CN 1244,40295 -#define CMD_QUE_XRI_BUF64_CX 1245,40332 -#define CMD_IOCB_CONTINUE64_CN 1246,40369 -#define CMD_RET_XRI_BUF64_CX 1247,40406 -#define CMD_ELS_REQUEST64_CR 1248,40443 -#define CMD_ELS_REQUEST64_CX 1249,40480 -#define CMD_ABORT_MXRI64_CN 1250,40517 -#define CMD_RCV_ELS_REQ64_CX 1251,40554 -#define CMD_XMIT_ELS_RSP64_CX 1252,40591 -#define CMD_FCP_IWRITE64_CR 1253,40628 -#define CMD_FCP_IWRITE64_CX 1254,40665 -#define CMD_FCP_IREAD64_CR 1255,40702 -#define CMD_FCP_IREAD64_CX 1256,40739 -#define CMD_FCP_ICMND64_CR 1257,40776 -#define CMD_FCP_ICMND64_CX 1258,40813 -#define CMD_GEN_REQUEST64_CR 1260,40851 -#define CMD_GEN_REQUEST64_CX 1261,40888 -#define CMD_MAX_IOCB_CMD 1263,40926 -#define CMD_IOCB_MASK 1264,40963 -#define MAX_MSG_DATA 1266,41001 -#define LPFC_MAX_ADPTMSG 1268,41087 -#define MBX_SUCCESS 1272,41167 -#define MBXERR_NUM_RINGS 1273,41205 -#define MBXERR_NUM_IOCBS 1274,41243 -#define MBXERR_IOCBS_EXCEEDED 1275,41281 -#define MBXERR_BAD_RING_NUMBER 1276,41319 -#define MBXERR_MASK_ENTRIES_RANGE 1277,41357 -#define MBXERR_MASKS_EXCEEDED 1278,41395 -#define MBXERR_BAD_PROFILE 1279,41433 -#define MBXERR_BAD_DEF_CLASS 1280,41471 -#define MBXERR_BAD_MAX_RESPONDER 1281,41509 -#define MBXERR_BAD_MAX_ORIGINATOR 1282,41547 -#define MBXERR_RPI_REGISTERED 1283,41586 -#define MBXERR_RPI_FULL 1284,41625 -#define MBXERR_NO_RESOURCES 1285,41664 -#define MBXERR_BAD_RCV_LENGTH 1286,41703 -#define MBXERR_DMA_ERROR 1287,41742 -#define MBXERR_ERROR 1288,41781 -#define MBX_NOT_FINISHED 1289,41820 -#define MBX_BUSY 1291,41860 -#define MBX_TIMEOUT 1292,41940 -} RR_REG;RR_REG1310,42298 -struct ulp_bde ulp_bde1312,42309 -struct ulp_bde64 ulp_bde641325,42570 - union ULP_BDE_TUS ULP_BDE_TUS1326,42601 -#define BUFF_USE_RSVD 1339,42984 -#define BUFF_USE_INTRPT 1340,43032 -#define BUFF_USE_CMND 1341,43099 -#define BUFF_USE_RCV 1342,43172 -#define BUFF_TYPE_32BIT 1344,43256 -#define BUFF_TYPE_SPECIAL 1346,43340 -#define BUFF_TYPE_BDL 1347,43408 -#define BUFF_TYPE_INVALID 1348,43476 -#define BDE64_SIZE_WORD 1354,43580 -#define BPL64_SIZE_WORD 1355,43606 -typedef struct ULP_BDL ULP_BDL1357,43636 -} ULP_BDL;ULP_BDL1369,44099 -} LOAD_SM_VAR;LOAD_SM_VAR1403,44818 -} READ_NV_VAR;READ_NV_VAR1422,45280 -} WRITE_NV_VAR;WRITE_NV_VAR1441,45744 -} BIU_DIAG_VAR;BIU_DIAG_VAR1458,46070 -#define FLAGS_LOCAL_LB 1481,46679 -#define FLAGS_TOPOLOGY_MODE_LOOP_PT 1482,46758 -#define FLAGS_TOPOLOGY_MODE_PT_PT 1483,46830 -#define FLAGS_TOPOLOGY_MODE_LOOP 1484,46897 -#define FLAGS_TOPOLOGY_MODE_PT_LOOP 1485,46963 -#define FLAGS_LIRP_LILP 1486,47035 -#define FLAGS_TOPOLOGY_FAILOVER 1488,47108 -#define FLAGS_LINK_SPEED 1489,47165 -#define LINK_SPEED_AUTO 1492,47245 -#define LINK_SPEED_1G 1493,47298 -#define LINK_SPEED_2G 1494,47347 -#define LINK_SPEED_4G 1495,47396 -#define LINK_SPEED_8G 1496,47445 -#define LINK_SPEED_10G 1497,47494 -} INIT_LINK_VAR;INIT_LINK_VAR1499,47546 -} DOWN_LINK_VAR;DOWN_LINK_VAR1505,47645 -} CONFIG_LINK;CONFIG_LINK1546,48445 -} RING_DEF;RING_DEF1563,48813 -} PART_SLIM_VAR;PART_SLIM_VAR1576,49045 -} CONFIG_RING_VAR;CONFIG_RING_VAR1608,49684 -} RESET_RING_VAR;RESET_RING_VAR1614,49788 -#define LMT_RESERVED 1662,50706 -#define LMT_266_10bit 1663,50752 -#define LMT_532_10bit 1664,50817 -#define LMT_1063_20bit 1665,50882 -#define LMT_1063_10bit 1666,50947 -#define LMT_2125_10bit 1667,51012 -#define LMT_4250_10bit 1668,51077 -} READ_CONFIG_VAR;READ_CONFIG_VAR1679,51322 -} READ_RCONF_VAR;READ_RCONF_VAR1729,52333 -} READ_SPARM_VAR;READ_SPARM_VAR1742,52626 -} READ_STATUS_VAR;READ_STATUS_VAR1769,53211 -} READ_RPI_VAR;READ_RPI_VAR1792,53629 -} READ_XRI_VAR;READ_XRI_VAR1834,54387 -} READ_REV_VAR;READ_REV_VAR1898,55626 -} READ_LNK_VAR;READ_LNK_VAR1914,55948 -} REG_LOGIN_VAR;REG_LOGIN_VAR1937,56355 -} REG_WD30;REG_WD301953,56656 -} UNREG_LOGIN_VAR;UNREG_LOGIN_VAR1965,56873 -} UNREG_D_ID_VAR;UNREG_D_ID_VAR1971,56975 -#define AT_RESERVED 1990,57361 -#define AT_LINK_UP 1991,57414 -#define AT_LINK_DOWN 1992,57459 -#define TOPOLOGY_PT_PT 2006,57740 -#define TOPOLOGY_LOOP 2007,57804 -#define LA_UNKNW_LINK 2052,58713 -#define LA_1GHZ_LINK 2053,58758 -#define LA_2GHZ_LINK 2054,58803 -#define LA_4GHZ_LINK 2055,58848 -#define LA_8GHZ_LINK 2056,58893 -#define LA_10GHZ_LINK 2057,58938 -} READ_LA_VAR;READ_LA_VAR2059,58984 -} CLEAR_LA_VAR;CLEAR_LA_VAR2066,59116 -} DUMP_VAR;DUMP_VAR2092,59592 -#define DMP_MEM_REG 2094,59605 -#define DMP_NV_PARAMS 2095,59642 -#define DMP_REGION_VPD 2097,59680 -#define DMP_VPD_SIZE 2098,59717 -} CONFIG_PORT_VAR;CONFIG_PORT_VAR2107,60013 -#define SLIMOFF 2112,60084 -typedef struct _SLI2_RDSC _SLI2_RDSC2114,60118 -} SLI2_RDSC;SLI2_RDSC2122,60281 -typedef struct _PCB _PCB2124,60295 -#define TYPE_NATIVE_SLI2 2127,60364 -#define FEATURE_INITIAL_SLI2 2129,60422 -#define FEATURE_INITIAL_SLI2 2136,60598 -#define TYPE_NATIVE_SLI2 2138,60653 -} PCB_t;PCB_t2151,60884 -} CONFIG_FARP_VAR;CONFIG_FARP_VAR2177,61427 -#define MAILBOX_CMD_WSIZE 2180,61488 -} MAILVARIANTS;MAILVARIANTS2210,63103 -} HGP;HGP2219,63216 -} PGP;PGP2224,63283 -typedef struct _SLI2_DESC _SLI2_DESC2226,63291 -} SLI2_DESC;SLI2_DESC2230,63386 -} SLI_VAR;SLI_VAR2234,63431 -} MAILBOX_t;2253,63847 -#define RJT_BAD_D_ID 2272,64217 -#define RJT_BAD_S_ID 2273,64274 -#define RJT_UNAVAIL_TEMP 2274,64331 -#define RJT_UNAVAIL_PERM 2275,64394 -#define RJT_UNSUP_CLASS 2276,64457 -#define RJT_DELIM_ERR 2277,64515 -#define RJT_UNSUP_TYPE 2278,64575 -#define RJT_BAD_CONTROL 2279,64632 -#define RJT_BAD_RCTL 2280,64691 -#define RJT_BAD_FCTL 2281,64743 -#define RJT_BAD_OXID 2282,64795 -#define RJT_BAD_RXID 2283,64847 -#define RJT_BAD_SEQID 2284,64899 -#define RJT_BAD_DFCTL 2285,64952 -#define RJT_BAD_SEQCNT 2286,65005 -#define RJT_BAD_PARM 2287,65059 -#define RJT_XCHG_ERR 2288,65118 -#define RJT_PROT_ERR 2289,65171 -#define RJT_BAD_LENGTH 2290,65224 -#define RJT_UNEXPECTED_ACK 2291,65277 -#define RJT_LOGIN_REQUIRED 2292,65330 -#define RJT_TOO_MANY_SEQ 2293,65383 -#define RJT_XCHG_NOT_STRT 2294,65441 -#define RJT_UNSUP_SEC_HDR 2295,65500 -#define RJT_UNAVAIL_PATH 2296,65565 -#define RJT_VENDOR_UNIQUE 2297,65629 -#define IOERR_SUCCESS 2299,65688 -#define IOERR_MISSING_CONTINUE 2300,65752 -#define IOERR_SEQUENCE_TIMEOUT 2301,65795 -#define IOERR_INTERNAL_ERROR 2302,65838 -#define IOERR_INVALID_RPI 2303,65881 -#define IOERR_NO_XRI 2304,65924 -#define IOERR_ILLEGAL_COMMAND 2305,65967 -#define IOERR_XCHG_DROPPED 2306,66010 -#define IOERR_ILLEGAL_FIELD 2307,66053 -#define IOERR_BAD_CONTINUE 2308,66096 -#define IOERR_TOO_MANY_BUFFERS 2309,66139 -#define IOERR_RCV_BUFFER_WAITING 2310,66182 -#define IOERR_NO_CONNECTION 2311,66225 -#define IOERR_TX_DMA_FAILED 2312,66268 -#define IOERR_RX_DMA_FAILED 2313,66311 -#define IOERR_ILLEGAL_FRAME 2314,66354 -#define IOERR_EXTRA_DATA 2315,66397 -#define IOERR_NO_RESOURCES 2316,66440 -#define IOERR_RESERVED 2317,66483 -#define IOERR_ILLEGAL_LENGTH 2318,66526 -#define IOERR_UNSUPPORTED_FEATURE 2319,66569 -#define IOERR_ABORT_IN_PROGRESS 2320,66612 -#define IOERR_ABORT_REQUESTED 2321,66655 -#define IOERR_RECEIVE_BUFFER_TIMEOUT 2322,66698 -#define IOERR_LOOP_OPEN_FAILURE 2323,66741 -#define IOERR_RING_RESET 2324,66784 -#define IOERR_LINK_DOWN 2325,66827 -#define IOERR_CORRUPTED_DATA 2326,66870 -#define IOERR_CORRUPTED_RPI 2327,66913 -#define IOERR_OUT_OF_ORDER_DATA 2328,66956 -#define IOERR_OUT_OF_ORDER_ACK 2329,66999 -#define IOERR_DUP_FRAME 2330,67042 -#define IOERR_LINK_CONTROL_FRAME 2331,67085 -#define IOERR_BAD_HOST_ADDRESS 2332,67149 -#define IOERR_RCV_HDRBUF_WAITING 2333,67192 -#define IOERR_MISSING_HDR_BUFFER 2334,67235 -#define IOERR_MSEQ_CHAIN_CORRUPTED 2335,67278 -#define IOERR_ABORTMULT_REQUESTED 2336,67321 -#define IOERR_BUFFER_SHORTAGE 2337,67364 -#define IOERR_DEFAULT 2338,67407 -#define IOERR_CNT 2339,67450 -#define IOERR_DRVR_MASK 2341,67494 -#define IOERR_SLI_DOWN 2342,67538 -#define IOERR_SLI_BRESET 2343,67617 -#define IOERR_SLI_ABORTED 2344,67661 -} PARM_ERR;PARM_ERR2345,67705 -#define BC 2361,68117 -#define SI 2362,68172 -#define LA 2363,68220 -#define LS 2364,68276 -} WORD5;WORD52367,68347 -} GENERIC_RSP;GENERIC_RSP2373,68464 -} XR_SEQ_FIELDS;XR_SEQ_FIELDS2380,68695 -} ELS_REQUEST;ELS_REQUEST2400,69105 -} RCV_ELS_REQ;RCV_ELS_REQ2414,69394 -#define ABORT_TYPE_ABTX 2420,69517 -#define ABORT_TYPE_ABTS 2421,69553 -} AC_XRI;AC_XRI2430,69953 -} A_MXRI64;A_MXRI642438,70101 -} GET_RPI;GET_RPI2451,70374 -} FCPI_FIELDS;FCPI_FIELDS2459,70640 -} FCPT_FIELDS;FCPT_FIELDS2466,70873 -} XMT_SEQ_FIELDS64;XMT_SEQ_FIELDS642475,71122 -} RCV_SEQ_FIELDS64;RCV_SEQ_FIELDS642483,71351 -} ELS_REQUEST64;ELS_REQUEST642501,71731 -} GEN_REQUEST64;GEN_REQUEST642508,71920 -} RCV_ELS_REQ64;RCV_ELS_REQ642523,72229 -} FCPI_FIELDS64;FCPI_FIELDS642530,72418 -} FCPT_FIELDS64;FCPT_FIELDS642537,72608 -#define ulpContext 2586,74381 -#define ulpIoTag 2587,74418 -#define ulpIoTag0 2588,74453 -#define PARM_UNUSED 2616,75101 -#define PARM_REL_OFF 2617,75163 -#define PARM_READ_CHECK 2618,75224 -#define CLASS1 2619,75300 -#define CLASS2 2620,75343 -#define CLASS3 2621,75386 -#define CLASS_FCP_INTERMIX 2622,75429 -#define IOSTAT_SUCCESS 2624,75498 -#define IOSTAT_FCP_RSP_ERROR 2625,75564 -#define IOSTAT_REMOTE_STOP 2626,75599 -#define IOSTAT_LOCAL_REJECT 2627,75634 -#define IOSTAT_NPORT_RJT 2628,75669 -#define IOSTAT_FABRIC_RJT 2629,75704 -#define IOSTAT_NPORT_BSY 2630,75739 -#define IOSTAT_FABRIC_BSY 2631,75774 -#define IOSTAT_INTERMED_RSP 2632,75809 -#define IOSTAT_LS_RJT 2633,75844 -#define IOSTAT_BA_RJT 2634,75879 -#define IOSTAT_RSVD1 2635,75914 -#define IOSTAT_RSVD2 2636,75949 -#define IOSTAT_RSVD3 2637,75984 -#define IOSTAT_RSVD4 2638,76019 -#define IOSTAT_RSVD5 2639,76054 -#define IOSTAT_DRIVER_REJECT 2640,76089 -#define IOSTAT_DEFAULT 2641,76161 -#define IOSTAT_CNT 2642,76227 -} IOCB_t;2644,76264 -#define SLI1_SLIM_SIZE 2647,76276 -#define SLI2_SLIM_SIZE 2652,76421 -#define MAX_SLI2_IOCB 2655,76506 -struct lpfc_sli2_slim lpfc_sli2_slim2657,76536 -lpfc_is_LC_HBA(2673,76935 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_compat.h,239 -#define _H_LPFC_COMPAT29,1527 -lpfc_memcpy_to_slim(43,1954 -lpfc_memcpy_from_slim(65,2363 -lpfc_memcpy_to_slim(88,2751 -lpfc_memcpy_from_slim(95,2913 -#define msleep(msleep104,3134 -static inline unsigned long msecs_to_jiffies(109,3310 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_crtn.h,180 -#define _H_LPFC_CRTN26,1409 -#define ScsiResult(ScsiResult261,11742 -#define HBA_EVENT_RSCN 262,11817 -#define HBA_EVENT_LINK_UP 263,11860 -#define HBA_EVENT_LINK_DOWN 264,11903 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_ct.c,851 -#define HBA_PORTSPEED_UNKNOWN 46,1865 -#define HBA_PORTSPEED_1GBIT 48,1972 -#define HBA_PORTSPEED_2GBIT 49,2035 -#define HBA_PORTSPEED_4GBIT 50,2098 -#define HBA_PORTSPEED_8GBIT 51,2163 -#define HBA_PORTSPEED_10GBIT 52,2228 -#define HBA_PORTSPEED_NOT_NEGOTIATED 53,2292 -#define FOURBYTES 55,2367 -static char *lpfc_release_version 58,2389 -lpfc_ct_unsol_event(64,2482 -lpfc_free_ct_rsp(151,4565 -lpfc_alloc_ct_rsp(166,4944 -lpfc_gen_req(221,6156 -lpfc_ct_cmd(295,8416 -lpfc_ns_rsp(324,9196 -lpfc_cmpl_ct_cmd_gid_ft(411,11227 -lpfc_cmpl_ct_cmd_rft_id(497,13623 -lpfc_cmpl_ct_cmd_rnn_id(534,14716 -lpfc_cmpl_ct_cmd_rsnn_nn(542,14901 -lpfc_get_hba_sym_node_name(550,15081 -lpfc_ns_cmd(568,15471 -lpfc_cmpl_ct_cmd_fdmi(686,18954 -lpfc_fdmi_cmd(735,20270 -lpfc_fdmi_tmo(1110,32052 -lpfc_decode_firmware_rev(1131,32542 -lpfc_get_hba_model_desc(1217,34202 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_scsiport.c,468 -lpfc_get_scsi_buf(52,2284 -lpfc_free_scsi_buf(142,5112 -lpfc_os_prep_io(195,6839 -lpfc_handle_fcp_err(417,12987 -lpfc_scsi_cmd_iocb_cmpl(522,16277 -lpfc_scsi_prep_task_mgmt_cmd(598,18403 -lpfc_scsi_tgt_reset(691,20630 -lpfc_reset_bus_handler(747,22294 -lpfc_queuecommand(848,24801 -lpfc_reset_lun_handler(958,27682 -lpfc_abort_handler(1063,30537 -lpfc_target_unblock(1162,33155 -lpfc_target_block(1198,34121 -lpfc_target_remove(1236,35199 -lpfc_target_add(1270,36090 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_fcp.h,1089 -#define H_LPFC_DFC26,1404 -#define MAX_LPFC_SNS 28,1424 -struct fcp_rsp fcp_rsp30,1455 -#define RSP_LEN_VALID 37,1737 -#define SNS_LEN_VALID 38,1777 -#define RESID_OVER 39,1817 -#define RESID_UNDER 40,1857 -#define RSP_NO_FAILURE 56,2515 -#define RSP_DATA_BURST_ERR 57,2549 -#define RSP_CMD_FIELD_ERR 58,2583 -#define RSP_RO_MISMATCH_ERR 59,2617 -#define RSP_TM_NOT_SUPPORTED 60,2651 -#define RSP_TM_NOT_COMPLETED 61,2724 -#define SNS_ILLEGAL_REQ 66,2897 -#define SNSCOD_BADCMD 67,2958 -struct fcp_cmnd fcp_cmnd70,3024 -#define FC_LUN_SHIFT 77,3288 -#define FC_ADDR_MODE_SHIFT 78,3320 -#define FC_LUN_SHIFT 80,3381 -#define FC_ADDR_MODE_SHIFT 81,3412 -#define SIMPLE_Q 86,3555 -#define HEAD_OF_Q 87,3585 -#define ORDERED_Q 88,3615 -#define ACA_Q 89,3645 -#define UNTAGGED 90,3675 -#define FCP_ABORT_TASK_SET 92,3767 -#define FCP_CLEAR_TASK_SET 93,3813 -#define FCP_BUS_RESET 94,3859 -#define FCP_LUN_RESET 95,3905 -#define FCP_TARGET_RESET 96,3951 -#define FCP_CLEAR_ACA 97,3997 -#define FCP_TERMINATE_TASK 98,4043 -#define WRITE_DATA 100,4108 -#define READ_DATA 101,4150 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/lpfc/lpfc_hbadisc.c,1321 -uint8_t lpfcAlpaArray[50,1975 -lpfc_evt_iocb_free(67,2787 -lpfc_process_nodev_timeout(81,3160 -lpfc_disc_done(116,4049 -lpfc_do_dpc(189,6092 -lpfc_discq_post_event(234,6978 -lpfc_linkdown(261,7614 -lpfc_linkup(368,10577 -lpfc_mbx_cmpl_clear_la(438,12491 -lpfc_mbx_cmpl_config_link(500,14098 -lpfc_mbx_cmpl_read_sparam(579,16216 -lpfc_mbx_cmpl_read_la(651,18390 -lpfc_mbx_cmpl_reg_login(840,23158 -lpfc_mbx_cmpl_fabric_reg_login(878,24189 -lpfc_mbx_cmpl_ns_reg_login(977,27042 -lpfc_consistent_bind_save(1045,28854 -lpfc_nlp_list(1062,29322 -lpfc_set_disctmo(1271,34905 -lpfc_can_disctmo(1295,35453 -lpfc_check_sli_ndlp(1318,36055 -lpfc_no_rpi(1359,37099 -lpfc_unreg_rpi(1418,38695 -lpfc_freenode(1446,39385 -lpfc_nlp_remove(1509,41017 -lpfc_matchdid(1532,41500 -lpfc_findnode_wwpn(1583,42661 -lpfc_findnode_wwnn(1640,44238 -lpfc_findnode_did(1695,45804 -lpfc_setup_disc_node(1885,51108 -lpfc_disc_list_loopmap(1929,52255 -lpfc_disc_start(1974,53173 -lpfc_free_tx(2074,55671 -lpfc_disc_flush_list(2152,57523 -lpfc_disc_timeout(2193,58527 -lpfc_scan_timeout(2408,64180 -lpfc_nodev_timeout(2425,64548 -lpfc_find_target(2455,65342 -lpfc_set_failmask(2528,67037 -lpfc_mbx_cmpl_fdmi_reg_login(2566,67950 -lpfc_findnode_rpi(2623,69447 -lpfc_findnode_remove_rpi(2641,69888 -lpfc_addnode_rpi(2676,70640 -lpfc_nlp_init(2689,70888 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/fcal.h,78 -#define _FCAL_H7,172 -struct fcal fcal11,219 -#define FCAL_CAN_QUEUE 21,460 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mvme16x.h,82 -#define MVME16x_SCSI_H2,23 -#define CMD_PER_LUN 15,437 -#define CAN_QUEUE 19,485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/NCR5380.h,4429 -#define NCR5380_H29,484 -#define NCR5380_PUBLIC_RELEASE 33,533 -#define NCR53C400_PUBLIC_RELEASE 34,566 -#define NDEBUG_ARBITRATION 36,602 -#define NDEBUG_AUTOSENSE 37,633 -#define NDEBUG_DMA 38,662 -#define NDEBUG_HANDSHAKE 39,686 -#define NDEBUG_INFORMATION 40,715 -#define NDEBUG_INIT 41,747 -#define NDEBUG_INTR 42,773 -#define NDEBUG_LINKED 43,799 -#define NDEBUG_MAIN 44,827 -#define NDEBUG_NO_DATAOUT 45,854 -#define NDEBUG_NO_WRITE 46,886 -#define NDEBUG_PIO 47,917 -#define NDEBUG_PSEUDO_DMA 48,943 -#define NDEBUG_QUEUES 49,976 -#define NDEBUG_RESELECTION 50,1006 -#define NDEBUG_SELECTION 51,1040 -#define NDEBUG_USLEEP 52,1072 -#define NDEBUG_LAST_BYTE_SENT 53,1103 -#define NDEBUG_RESTART_SELECT 54,1141 -#define NDEBUG_EXTENDED 55,1179 -#define NDEBUG_C400_PREAD 56,1212 -#define NDEBUG_C400_PWRITE 57,1247 -#define NDEBUG_LISTS 58,1283 -#define NDEBUG_ANY 60,1315 -#define OUTPUT_DATA_REG 69,1616 -#define CURRENT_SCSI_DATA_REG 70,1682 -#define INITIATOR_COMMAND_REG 72,1731 -#define ICR_ASSERT_RST 73,1772 -#define ICR_ARBITRATION_PROGRESS 74,1829 -#define ICR_TRI_STATE 75,1907 -#define ICR_ARBITRATION_LOST 76,1969 -#define ICR_DIFF_ENABLE 77,2039 -#define ICR_ASSERT_ACK 78,2106 -#define ICR_ASSERT_BSY 79,2166 -#define ICR_ASSERT_SEL 80,2222 -#define ICR_ASSERT_ATN 81,2279 -#define ICR_ASSERT_DATA 82,2335 -#define ICR_BASE 85,2421 -#define ICR_BASE 87,2461 -#define MODE_REG 90,2489 -#define MR_BLOCK_DMA_MODE 96,2670 -#define MR_TARGET 97,2725 -#define MR_ENABLE_PAR_CHECK 98,2770 -#define MR_ENABLE_PAR_INTR 99,2835 -#define MR_ENABLE_EOP_INTR 100,2904 -#define MR_MONITOR_BSY 101,2966 -#define MR_DMA_MODE 102,3038 -#define MR_ARBITRATE 103,3095 -#define MR_BASE 106,3164 -#define MR_BASE 108,3208 -#define TARGET_COMMAND_REG 111,3236 -#define TCR_LAST_BYTE_SENT 112,3265 -#define TCR_ASSERT_REQ 113,3315 -#define TCR_ASSERT_MSG 114,3368 -#define TCR_ASSERT_CD 115,3421 -#define TCR_ASSERT_IO 116,3472 -#define STATUS_REG 118,3524 -#define SR_RST 123,3646 -#define SR_BSY 124,3668 -#define SR_REQ 125,3690 -#define SR_MSG 126,3712 -#define SR_CD 127,3734 -#define SR_IO 128,3755 -#define SR_SEL 129,3776 -#define SR_DBP 130,3798 -#define SELECT_ENABLE_REG 136,3975 -#define BUS_AND_STATUS_REG 138,4013 -#define BASR_END_DMA_TRANSFER 139,4051 -#define BASR_DRQ 140,4118 -#define BASR_PARITY_ERROR 141,4168 -#define BASR_IRQ 142,4230 -#define BASR_PHASE_MATCH 143,4280 -#define BASR_BUSY_ERROR 144,4348 -#define BASR_ATN 145,4423 -#define BASR_ACK 146,4467 -#define START_DMA_SEND_REG 149,4570 -#define INPUT_DATA_REG 155,4730 -#define START_DMA_TARGET_RECEIVE_REG 158,4829 -#define RESET_PARITY_INTERRUPT_REG 161,4933 -#define START_DMA_INITIATOR_RECEIVE_REG 164,5052 -#define C400_CONTROL_STATUS_REG 166,5104 -#define CSR_RESET 168,5174 -#define CSR_53C80_REG 169,5234 -#define CSR_TRANS_DIR 170,5300 -#define CSR_SCSI_BUFF_INTR 171,5370 -#define CSR_53C80_INTR 172,5445 -#define CSR_SHARED_INTR 173,5515 -#define CSR_HOST_BUF_NOT_RDY 174,5579 -#define CSR_SCSI_BUF_RDY 175,5646 -#define CSR_GATED_53C80_IRQ 176,5709 -#define CSR_BASE 179,5781 -#define CSR_BASE 181,5840 -#define C400_BLOCK_COUNTER_REG 185,5930 -#define C400_RESUME_TRANSFER_REG 188,6040 -#define C400_HOST_BUFFER 191,6145 -#define PHASE_MASK 195,6292 -#define PHASE_DATAOUT 197,6338 -#define PHASE_DATAIN 198,6363 -#define PHASE_CMDOUT 199,6391 -#define PHASE_STATIN 200,6419 -#define PHASE_MSGOUT 201,6457 -#define PHASE_MSGIN 202,6496 -#define PHASE_UNKNOWN 203,6542 -#define PHASE_SR_TO_TCR(PHASE_SR_TO_TCR211,6739 -#define DISCONNECT_NONE 219,6949 -#define DISCONNECT_TIME_TO_DATA 220,6976 -#define DISCONNECT_LONG 221,7010 -#define TAG_NEXT 227,7125 -#define TAG_NONE 228,7169 -#define SCSI_IRQ_NONE 238,7386 -#define DMA_NONE 239,7412 -#define IRQ_AUTO 240,7433 -#define DMA_AUTO 241,7454 -#define PORT_AUTO 242,7475 -#define FLAG_HAS_LAST_BYTE_SENT 244,7537 -#define FLAG_CHECK_LAST_BYTE_SENT 245,7597 -#define FLAG_NCR53C400 246,7654 -#define FLAG_NO_PSEUDO_DMA 247,7697 -#define FLAG_DTC3181E 248,7745 -struct NCR5380_hostdata NCR5380_hostdata251,7800 -#define dprintk(dprintk288,9313 -#define NCR5380_dprint(NCR5380_dprint289,9351 -#define NCR5380_dprint_phase(NCR5380_dprint_phase290,9395 -static __inline__ int NCR5380_pc_dma_setup(339,11359 -static __inline__ int NCR5380_pc_dma_write_setup(385,12601 -static __inline__ int NCR5380_pc_dma_read_setup(402,13126 -static __inline__ int NCR5380_pc_dma_residual(416,13518 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/mca_53c9x.c,717 -#define PS2_SYS_CTR 59,1732 -#define MCA_53C9X_IO_PORTS 63,1832 -#define MCA_53C9X_IDS 74,2251 -static volatile unsigned char cmd_buffer[96,3046 -static struct ESP_regs eregs;103,3186 -int mca_esp_detect(106,3297 -int mca_esp_release(286,7402 -static int dma_bytes_sent(309,7900 -static int dma_can_transfer(316,8022 -static void dma_dump_state(329,8282 -static void dma_init_read(340,8554 -static void dma_init_write(358,8936 -static void dma_ints_off(376,9340 -static void dma_ints_on(386,9548 -static int dma_irq_p(396,9715 -static int dma_ports_p(410,10207 -static void dma_setup(420,10454 -static void dma_led_on(437,10864 -static void dma_led_off(442,10958 -static Scsi_Host_Template driver_template 447,11053 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gdth.c,5788 -#define GDTH_STATISTICS373,14797 -static unchar DebugState 475,18496 -#define MAX_SERBUF 478,18556 -static char strbuf[483,18716 -#define COM_BASE 485,18766 -#define COM_BASE 487,18795 -static void ser_init(489,18825 -static void ser_puts(505,19081 -static void ser_putc(514,19203 -static int ser_printk(527,19416 -#define TRACE(TRACE539,19608 -#define TRACE2(TRACE2540,19665 -#define TRACE3(TRACE3541,19739 -#define TRACE(TRACE544,19821 -#define TRACE2(TRACE2545,19874 -#define TRACE3(TRACE3546,19944 -#define TRACE(TRACE550,20024 -#define TRACE2(TRACE2551,20041 -#define TRACE3(TRACE3552,20059 -static ulong32 max_rq=556,20108 -static ulong32 max_int_coal=558,20172 -static ulong32 act_ints=560,20210 -static struct timer_list gdth_timer;561,20271 -#define PTR2USHORT(PTR2USHORT564,20316 -#define GDTOFFSOF(GDTOFFSOF565,20359 -#define INDEX_OK(INDEX_OK566,20408 -#define NUMDATA(NUMDATA568,20464 -#define HADATA(HADATA569,20524 -#define CMDDATA(CMDDATA570,20592 -#define BUS_L2P(BUS_L2P572,20662 -#define gdth_readb(gdth_readb574,20719 -#define gdth_readw(gdth_readw575,20763 -#define gdth_readl(gdth_readl576,20807 -#define gdth_writeb(gdth_writeb577,20851 -#define gdth_writew(gdth_writew578,20902 -#define gdth_writel(gdth_writel579,20953 -static unchar gdth_drq_tab[581,21005 -static unchar gdth_irq_tab[582,21077 -static unchar gdth_polling;583,21149 -static unchar gdth_from_wait 584,21227 -static int wait_index,585,21301 -static int wait_index,wait_hanum;585,21301 -static int gdth_ctr_count 586,21375 -static int gdth_ctr_vcount 587,21454 -static int gdth_ctr_released 588,21533 -static struct Scsi_Host *gdth_ctr_tab[589,21610 -static struct Scsi_Host *gdth_ctr_vtab[590,21689 -static unchar gdth_write_through 591,21768 -static gdth_evt_str ebuffer[592,21844 -static int elastidx;593,21919 -static int eoldidx;594,21940 -static int major;595,21960 -#define DIN 597,21979 -#define DOU 598,22051 -#define DNO 599,22124 -#define DUN 600,22195 -static unchar gdth_direction_tab[601,22272 -#define GDTH_INITFUNC(GDTH_INITFUNC622,23507 -#define GDTH_INITFUNC(GDTH_INITFUNC625,23595 -#define GDTH_INIT_LOCK_HA(GDTH_INIT_LOCK_HA630,23737 -#define GDTH_LOCK_HA(GDTH_LOCK_HA631,23809 -#define GDTH_UNLOCK_HA(GDTH_UNLOCK_HA632,23890 -#define GDTH_LOCK_SCSI_DONE(GDTH_LOCK_SCSI_DONE634,23977 -#define GDTH_UNLOCK_SCSI_DONE(GDTH_UNLOCK_SCSI_DONE635,24057 -#define GDTH_INIT_LOCK_HA(GDTH_INIT_LOCK_HA638,24151 -#define GDTH_LOCK_HA(GDTH_LOCK_HA639,24223 -#define GDTH_UNLOCK_HA(GDTH_UNLOCK_HA640,24304 -#define GDTH_LOCK_SCSI_DONE(GDTH_LOCK_SCSI_DONE642,24391 -#define GDTH_UNLOCK_SCSI_DONE(GDTH_UNLOCK_SCSI_DONE643,24473 -static int irq[648,24659 -static int irq[MAXHA] __initdata 648,24659 -static int disable __initdata 652,24806 -static int reserve_mode 654,24860 -static int reserve_list[656,24926 -static int reverse_scan 661,25211 -static int hdr_channel 663,25282 -static int max_ids 665,25337 -static int rescan 667,25386 -static int virt_ctr 669,25451 -static int shared_access 671,25496 -static int probe_eisa_isa 673,25576 -static int force_dma32 675,25676 -static struct file_operations gdth_fops 699,26322 -struct proc_dir_entry proc_scsi_gdth 714,26669 -static struct notifier_block gdth_notifier 724,26902 -static void gdth_delay(729,26977 -static void gdth_eval_mapping(738,27120 -GDTH_INITFUNC(759,27772 -GDTH_INITFUNC(777,28297 -GDTH_INITFUNC(793,28701 -static struct pci_device_id gdthtable[820,29778 -static struct pci_device_id gdthtable[] __devinitdata 820,29778 -GDTH_INITFUNC(829,30108 -GDTH_INITFUNC(921,34035 -GDTH_INITFUNC(959,35223 -GDTH_INITFUNC(1052,38259 -GDTH_INITFUNC(1152,41291 -GDTH_INITFUNC(1554,56883 -static int gdth_get_status(1593,58209 -static int gdth_test_busy(1627,59386 -static int gdth_get_cmd_index(1651,60174 -static void gdth_set_sema0(1671,60665 -static void gdth_copy_command(1692,61342 -static void gdth_release_event(1753,63748 -static int gdth_wait(1793,64972 -static int gdth_internal_cmd(1822,65650 -GDTH_INITFUNC(1901,68615 -static int gdth_analyse_hdrive(2284,84708 -static void gdth_putq(2351,86973 -static void gdth_next(2406,88741 -static void gdth_copy_internal_data(2705,101175 -static int gdth_internal_cache_cmd(2764,103269 -static int gdth_fill_cache_cmd(2872,106808 -static int gdth_fill_raw_cmd(3109,115886 -static int gdth_special_cmd(3344,124960 -static gdth_evt_str *gdth_store_event(3412,127066 -static int gdth_read_event(3458,128696 -static void gdth_readapp_event(3490,129438 -static void gdth_clear_events(3522,130253 -static irqreturn_t gdth_interrupt(3534,130473 -static int gdth_sync_event(3834,141475 -static char *async_cache_tab[4055,150576 -static int gdth_async_event(4211,157961 -static void gdth_log_event(4278,160472 -void gdth_timeout(4335,162361 -GDTH_INITFUNC(4363,163035 -GDTH_INITFUNC(4436,165214 -GDTH_INITFUNC(4454,165607 -int gdth_release(4989,186944 -static const char *gdth_ctr_name(5058,189023 -const char *gdth_info(5090,189852 -int gdth_abort(5104,190167 -int gdth_reset(5110,190293 -int gdth_eh_abort(5118,190447 -int gdth_eh_device_reset(5124,190540 -int gdth_eh_bus_reset(5130,190647 -int gdth_eh_host_reset(5192,192593 -int gdth_bios_param(5200,192745 -int gdth_queuecommand(5240,193848 -static int gdth_open(5272,194673 -static int gdth_close(5289,195042 -static int ioc_event(5295,195155 -static int ioc_lockdrv(5331,196469 -static int ioc_resetdrv(5364,197455 -static int ioc_general(5425,199320 -static int ioc_hdrlist(5575,205709 -static int ioc_rescan(5659,208385 -static int gdth_ioctl(5859,215218 -static void gdth_flush(6044,220829 -static int gdth_halt(6121,223206 -GDTH_INITFUNC(6200,225641 -static Scsi_Host_Template driver_template 6210,225889 -static Scsi_Host_Template driver_template 6237,227020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/aachba.c,3508 -#define INQD_PDT_DA 46,1447 -#define INQD_PDT_PROC 47,1506 -#define INQD_PDT_CHNGR 48,1556 -#define INQD_PDT_COMM 49,1615 -#define INQD_PDT_NOLUN2 50,1677 -#define INQD_PDT_NOLUN 51,1735 -#define INQD_PDT_DMASK 53,1795 -#define INQD_PDT_QMASK 54,1857 -#define MAX_FIB_DATA 56,1924 -#define MAX_DRIVER_SG_SEGMENT_COUNT 58,1991 -#define SENCODE_NO_SENSE 64,2055 -#define SENCODE_END_OF_DATA 65,2108 -#define SENCODE_BECOMING_READY 66,2161 -#define SENCODE_INIT_CMD_REQUIRED 67,2214 -#define SENCODE_PARAM_LIST_LENGTH_ERROR 68,2267 -#define SENCODE_INVALID_COMMAND 69,2320 -#define SENCODE_LBA_OUT_OF_RANGE 70,2373 -#define SENCODE_INVALID_CDB_FIELD 71,2426 -#define SENCODE_LUN_NOT_SUPPORTED 72,2479 -#define SENCODE_INVALID_PARAM_FIELD 73,2532 -#define SENCODE_PARAM_NOT_SUPPORTED 74,2585 -#define SENCODE_PARAM_VALUE_INVALID 75,2638 -#define SENCODE_RESET_OCCURRED 76,2691 -#define SENCODE_LUN_NOT_SELF_CONFIGURED_YET 77,2744 -#define SENCODE_INQUIRY_DATA_CHANGED 78,2797 -#define SENCODE_SAVING_PARAMS_NOT_SUPPORTED 79,2850 -#define SENCODE_DIAGNOSTIC_FAILURE 80,2903 -#define SENCODE_INTERNAL_TARGET_FAILURE 81,2956 -#define SENCODE_INVALID_MESSAGE_ERROR 82,3009 -#define SENCODE_LUN_FAILED_SELF_CONFIG 83,3062 -#define SENCODE_OVERLAPPED_COMMAND 84,3115 -#define ASENCODE_NO_SENSE 90,3204 -#define ASENCODE_END_OF_DATA 91,3257 -#define ASENCODE_BECOMING_READY 92,3310 -#define ASENCODE_INIT_CMD_REQUIRED 93,3363 -#define ASENCODE_PARAM_LIST_LENGTH_ERROR 94,3416 -#define ASENCODE_INVALID_COMMAND 95,3469 -#define ASENCODE_LBA_OUT_OF_RANGE 96,3522 -#define ASENCODE_INVALID_CDB_FIELD 97,3575 -#define ASENCODE_LUN_NOT_SUPPORTED 98,3628 -#define ASENCODE_INVALID_PARAM_FIELD 99,3681 -#define ASENCODE_PARAM_NOT_SUPPORTED 100,3734 -#define ASENCODE_PARAM_VALUE_INVALID 101,3787 -#define ASENCODE_RESET_OCCURRED 102,3840 -#define ASENCODE_LUN_NOT_SELF_CONFIGURED_YET 103,3893 -#define ASENCODE_INQUIRY_DATA_CHANGED 104,3946 -#define ASENCODE_SAVING_PARAMS_NOT_SUPPORTED 105,3999 -#define ASENCODE_DIAGNOSTIC_FAILURE 106,4052 -#define ASENCODE_INTERNAL_TARGET_FAILURE 107,4105 -#define ASENCODE_INVALID_MESSAGE_ERROR 108,4158 -#define ASENCODE_LUN_FAILED_SELF_CONFIG 109,4211 -#define ASENCODE_OVERLAPPED_COMMAND 110,4264 -#define BYTE0(BYTE0112,4318 -#define BYTE1(BYTE1113,4354 -#define BYTE2(BYTE2114,4397 -#define BYTE3(BYTE3115,4441 -struct inquiry_data inquiry_data121,4720 -struct sense_data sense_data134,5284 -static struct sense_data sense_data[174,6728 -static int nondasd 193,7609 -static int dacmode 194,7634 -int aac_get_containers(202,7792 -static int probe_container(268,9564 -struct scsi_inq scsi_inq322,10913 -static void inqstrcpy(337,11225 -static char *container_types[344,11309 -static void setinqstr(374,11934 -void set_sense(398,12546 -static void aac_io_done(438,13885 -static void __aac_io_done(447,14148 -int aac_get_adapter_info(452,14237 -static void read_callback(540,16645 -static void write_callback(587,18180 -int aac_read(633,19723 -static int aac_write(745,22722 -int aac_scsi_cmd(864,26049 -static int query_disk(1108,33358 -static int force_delete_disk(1145,34347 -static int delete_disk(1168,34841 -int aac_dev_ioctl(1195,35435 -static void aac_srb_callback(1221,35996 -static int aac_send_srb_fib(1417,41954 -static unsigned long aac_build_sg(1520,44795 -static unsigned long aac_build_sg64(1575,46406 -struct aac_srb_status_info aac_srb_status_info1637,48284 -static struct aac_srb_status_info srb_status_info[1643,48343 -char *aac_get_status_string(1678,49911 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/linit.c,1086 -#define AAC_DRIVER_VERSION 30,1069 -#define AAC_DRIVER_BUILD_DATE 31,1109 -#define AAC_DRIVERNAME 32,1149 -struct aac_dev *aac_devices[68,2031 -static unsigned aac_count;69,2082 -static int aac_cfg_major 70,2109 -static struct pci_device_id aac_pci_tbl[78,2366 -static struct aac_driver_ident aac_drivers[136,6206 -static int aac_get_next_adapter_fib_ioctl(191,11047 -static int aac_queuecommand(219,11733 -const char *aac_info(232,12043 -struct aac_driver_ident* aac_get_driver_ident(245,12330 -static int aac_biosparm(272,13556 -static int aac_slave_configure(362,16140 -static int aac_ioctl(371,16342 -static int aac_eh_abort(380,16578 -static int aac_eh_reset(390,16748 -static int aac_cfg_open(453,18311 -static int aac_cfg_ioctl(477,18894 -static struct file_operations aac_cfg_fops 483,19071 -static struct scsi_host_template aac_driver_template 489,19196 -static int __devinit aac_probe_one(513,19855 -static void __devexit aac_remove_one(632,22926 -static struct pci_driver aac_pci_driver 667,23783 -static int __init aac_init(674,23950 -static void __exit aac_exit(708,25080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/commsup.c,550 -static int fib_map_alloc(53,1566 -void fib_map_free(68,1924 -int fib_setup(81,2267 -struct fib * fib_alloc(130,3562 -void fib_free(166,4413 -void fib_init(193,5150 -void fib_dealloc(213,5805 -static int aac_get_entry 241,6645 -static int aac_queue_get(306,8520 -static int aac_insert_entry(365,10409 -int fib_send(412,11806 -int aac_consumer_get(547,16289 -int aac_consumer_avail(569,16867 -void aac_consumer_free(585,17269 -int fib_adapter_complete(630,18258 -int fib_complete(699,20329 -void aac_printf(750,21596 -int aac_command_thread(781,22374 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/dpcsup.c,84 -unsigned int aac_response_normal(55,1724 -unsigned int aac_command_normal(157,4691 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/rx.c,408 -static irqreturn_t aac_rx_intr(49,1458 -static void aac_rx_enable_interrupt(98,3056 -static void aac_rx_disable_interrupt(128,3627 -static int rx_sync_cmd(161,4270 -static void aac_rx_interrupt_adapter(250,6323 -static void aac_rx_notify_adapter(265,6630 -static void aac_rx_start_adapter(303,7430 -static int aac_rx_check_health(335,8451 - struct POSTSTATUS POSTSTATUS349,8787 -int aac_rx_init(393,10146 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/aacraid.h,19262 -# define dprintk(dprintk2,24 -#define MAXIMUM_NUM_CONTAINERS 9,245 -#define MAXIMUM_NUM_ADAPTERS 10,279 -#define AAC_NUM_FIB 12,311 -#define AAC_NUM_IO_FIB 13,343 -#define AAC_MAX_LUN 15,372 -#define AAC_MAX_HOSTPHYSMEMPAGES 17,398 -#define CONTAINER_CHANNEL 22,516 -#define ID_LUN_TO_CONTAINER(ID_LUN_TO_CONTAINER23,547 -#define CONTAINER_TO_CHANNEL(CONTAINER_TO_CHANNEL24,589 -#define CONTAINER_TO_ID(CONTAINER_TO_ID25,644 -#define CONTAINER_TO_LUN(CONTAINER_TO_LUN26,682 -#define aac_phys_to_logical(aac_phys_to_logical28,719 -#define aac_logical_to_phys(aac_logical_to_phys29,757 -struct diskparmdiskparm33,840 -#define CT_NONE 45,969 -#define CT_VOLUME 46,990 -#define CT_MIRROR 47,1012 -#define CT_STRIPE 48,1034 -#define CT_RAID5 49,1056 -#define CT_SSRW 50,1077 -#define CT_SSRO 51,1098 -#define CT_MORPH 52,1119 -#define CT_PASSTHRU 53,1140 -#define CT_RAID4 54,1164 -#define CT_RAID10 55,1185 -#define CT_RAID00 56,1231 -#define CT_VOLUME_OF_MIRRORS 57,1277 -#define CT_PSEUDO_RAID 58,1333 -#define CT_LAST_VOLUME_TYPE 59,1380 -#define FT_REG 68,1660 -#define FT_DIR 69,1698 -#define FT_BLK 70,1733 -#define FT_CHR 71,1784 -#define FT_LNK 72,1847 -#define FT_SOCK 73,1886 -#define FT_FIFO 74,1919 -#define FT_FILESYS 75,1950 -#define FT_DRIVE 76,2009 -#define FT_SLICE 77,2085 -#define FT_PARTITION 78,2146 -#define FT_VOLUME 79,2247 -#define FT_STRIPE 80,2298 -#define FT_MIRROR 81,2349 -#define FT_RAID5 82,2400 -#define FT_DATABASE 83,2450 -struct sgentry sgentry91,2758 -struct sgentry64 sgentry6496,2838 -struct sgmap sgmap108,3047 -struct sgmap64 sgmap64113,3103 -struct creation_infocreation_info118,3162 -#define NUMBER_OF_COMM_QUEUES 149,3920 -#define HOST_HIGH_CMD_ENTRIES 150,3980 -#define HOST_NORM_CMD_ENTRIES 151,4013 -#define ADAP_HIGH_CMD_ENTRIES 152,4046 -#define ADAP_NORM_CMD_ENTRIES 153,4079 -#define HOST_HIGH_RESP_ENTRIES 154,4114 -#define HOST_NORM_RESP_ENTRIES 155,4147 -#define ADAP_HIGH_RESP_ENTRIES 156,4182 -#define ADAP_NORM_RESP_ENTRIES 157,4215 -#define TOTAL_QUEUE_ENTRIES 159,4249 -#define QUEUE_ALIGNMENT 168,4539 -struct aac_entry aac_entry177,4859 -struct aac_qhdr aac_qhdr187,5111 -#define HostNormCmdQue 198,5450 -#define HostHighCmdQue 199,5528 -#define HostNormRespQue 200,5604 -#define HostHighRespQue 201,5684 -#define AdapNormRespNotFull 202,5762 -#define AdapHighRespNotFull 203,5793 -#define AdapNormCmdNotFull 204,5824 -#define AdapHighCmdNotFull 205,5854 -#define SynchCommandComplete 206,5884 -#define AdapInternalError 207,5916 -#define AdapNormCmdQue 215,6158 -#define AdapHighCmdQue 216,6185 -#define AdapNormRespQue 217,6212 -#define AdapHighRespQue 218,6240 -#define HostShutdown 219,6268 -#define HostPowerFail 220,6293 -#define FatalCommError 221,6319 -#define HostNormRespNotFull 222,6347 -#define HostHighRespNotFull 223,6379 -#define HostNormCmdNotFull 224,6411 -#define HostHighCmdNotFull 225,6442 -#define FastIo 226,6473 -#define AdapPrintfDone 227,6494 -enum aac_queue_types aac_queue_types234,6652 - HostNormCmdQueue 235,6675 - HostHighCmdQueue,236,6759 - AdapNormCmdQueue,237,6837 - AdapHighCmdQueue,238,6917 - HostNormRespQueue,239,6995 - HostHighRespQueue,240,7077 - AdapNormRespQueue,241,7157 - AdapHighRespQueue 242,7239 -#define FIB_MAGIC 249,7393 -#define FsaNormal 255,7498 -#define FsaHigh 256,7519 -struct aac_fibhdr aac_fibhdr263,7685 -#define FIB_DATA_SIZE_IN_BYTES 281,8356 -struct hw_fib hw_fib284,8423 -#define TestCommandResponse 293,8554 -#define TestAdapterCommand 294,8586 -#define LastTestCommand 298,8654 -#define ReinitHostNormCommandQueue 299,8685 -#define ReinitHostHighCommandQueue 300,8725 -#define ReinitHostHighRespQueue 301,8765 -#define ReinitHostNormRespQueue 302,8803 -#define ReinitAdapNormCommandQueue 303,8841 -#define ReinitAdapHighCommandQueue 304,8881 -#define ReinitAdapHighRespQueue 305,8921 -#define ReinitAdapNormRespQueue 306,8959 -#define InterfaceShutdown 307,8997 -#define DmaCommandFib 308,9029 -#define StartProfile 309,9058 -#define TermProfile 310,9086 -#define SpeedTest 311,9113 -#define TakeABreakPt 312,9138 -#define RequestPerfData 313,9166 -#define SetInterruptDefTimer 314,9197 -#define SetInterruptDefCount 315,9232 -#define GetInterruptDefStatus 316,9267 -#define LastCommCommand 317,9303 -#define NuFileSystem 321,9364 -#define UFS 322,9392 -#define HostFileSystem 323,9412 -#define LastFileSystemCommand 324,9442 -#define ContainerCommand 328,9507 -#define ContainerCommand64 329,9538 -#define ClusterCommand 333,9598 -#define ScsiPortCommand 337,9677 -#define ScsiPortCommand64 338,9708 -#define AifRequest 342,9808 -#define CheckRevision 343,9834 -#define FsaHostShutdown 344,9863 -#define RequestAdapterInfo 345,9894 -#define IsAdapterPaused 346,9927 -#define SendHostTime 347,9958 -#define LastMiscCommand 348,9986 -enum fib_xfer_state fib_xfer_state354,10092 - HostOwned 355,10114 - AdapterOwned 356,10138 - FibInitialized 357,10165 - FibEmpty 358,10194 - AllocatedFromPool 359,10217 - SentFromHost 360,10248 - SentFromAdapter 361,10275 - ResponseExpected 362,10304 - NoResponseExpected 363,10334 - AdapterProcessed 364,10366 - HostProcessed 365,10396 - HighPriority 366,10425 - NormalPriority 367,10453 - Async 368,10483 - AsyncIo 369,10504 - PageFileIo 370,10561 - ShutdownRequest 371,10620 - LazyWrite 372,10650 - AdapterMicroFib 373,10708 - BIOSFibPath 374,10738 - FastResponseCapable 375,10764 - ApiFib 376,10797 -#define ADAPTER_INIT_STRUCT_REVISION 384,10970 -struct aac_initaac_init386,11011 -enum aac_log_level aac_log_level403,11418 - LOG_AAC_INIT 404,11439 - LOG_AAC_INFORMATIONAL 405,11461 - LOG_AAC_WARNING 406,11491 - LOG_AAC_LOW_ERROR 407,11516 - LOG_AAC_MEDIUM_ERROR 408,11542 - LOG_AAC_HIGH_ERROR 409,11571 - LOG_AAC_PANIC 410,11598 - LOG_AAC_DEBUG 411,11621 - LOG_AAC_WINDBG_PRINT 412,11644 -#define FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT 415,11676 -#define FSAFS_NTC_FIB_CONTEXT 416,11725 -struct adapter_opsadapter_ops420,11782 -struct aac_driver_identaac_driver_ident434,12234 -#define AAC_QUIRK_31BIT 449,12582 -struct aac_queue aac_queue461,13060 -struct aac_queue_blockaac_queue_block485,14329 -struct sa_drawbridge_CSR sa_drawbridge_CSR494,14426 -#define Mailbox0 531,15709 -#define Mailbox1 532,15743 -#define Mailbox2 533,15777 -#define Mailbox3 534,15811 -#define Mailbox4 535,15845 -#define Mailbox5 536,15879 -#define Mailbox7 537,15913 -#define DoorbellReg_p 539,15949 -#define DoorbellReg_s 540,15989 -#define DoorbellClrReg_p 541,16029 -#define DOORBELL_0 544,16076 -#define DOORBELL_1 545,16115 -#define DOORBELL_2 546,16154 -#define DOORBELL_3 547,16193 -#define DOORBELL_4 548,16232 -#define DOORBELL_5 549,16271 -#define DOORBELL_6 550,16310 -#define PrintfReady 553,16352 -#define PrintfDone 554,16383 -struct sa_registers sa_registers556,16415 -#define Sa_MINIPORT_REVISION 561,16496 -#define sa_readw(sa_readw563,16530 -#define sa_readl(sa_readl564,16588 -#define sa_writew(sa_writew565,16647 -#define sa_writel(sa_writel566,16720 -struct rx_mu_registers rx_mu_registers572,16831 -struct rx_inbound rx_inbound590,17660 -#define InboundMailbox0 594,17701 -#define InboundMailbox1 595,17747 -#define InboundMailbox2 596,17793 -#define InboundMailbox3 597,17839 -#define InboundMailbox4 598,17885 -#define InboundMailbox5 599,17931 -#define InboundMailbox6 600,17977 -#define InboundMailbox7 601,18023 -#define INBOUNDDOORBELL_0 603,18070 -#define INBOUNDDOORBELL_1 604,18120 -#define INBOUNDDOORBELL_2 605,18170 -#define INBOUNDDOORBELL_3 606,18220 -#define INBOUNDDOORBELL_4 607,18270 -#define INBOUNDDOORBELL_5 608,18320 -#define INBOUNDDOORBELL_6 609,18370 -#define OUTBOUNDDOORBELL_0 611,18421 -#define OUTBOUNDDOORBELL_1 612,18472 -#define OUTBOUNDDOORBELL_2 613,18523 -#define OUTBOUNDDOORBELL_3 614,18574 -#define OUTBOUNDDOORBELL_4 615,18625 -#define InboundDoorbellReg 617,18677 -#define OutboundDoorbellReg 618,18714 -struct rx_registers rx_registers620,18753 -#define rx_readb(rx_readb626,18899 -#define rx_readl(rx_readl627,18957 -#define rx_writeb(rx_writeb628,19015 -#define rx_writel(rx_writel629,19088 -#define rkt_mu_registers 635,19245 -#define rkt_inbound 636,19286 -struct rkt_registers rkt_registers638,19318 -#define rkt_readb(rkt_readb644,19492 -#define rkt_readl(rkt_readl645,19552 -#define rkt_writeb(rkt_writeb646,19612 -#define rkt_writel(rkt_writel647,19687 -typedef void (*fib_callback)fib_callback651,19776 -struct aac_fib_context aac_fib_context653,19839 -struct fsa_scsi_hba fsa_scsi_hba665,20405 -struct fib fib675,20690 -struct aac_adapter_infoaac_adapter_info715,21642 -#define AAC_BAT_REQ_PRESENT 743,22015 -#define AAC_BAT_REQ_NOTPRESENT 744,22047 -#define AAC_BAT_OPT_PRESENT 745,22082 -#define AAC_BAT_OPT_NOTPRESENT 746,22114 -#define AAC_BAT_NOT_SUPPORTED 747,22149 -#define AAC_CPU_SIMULATOR 751,22203 -#define AAC_CPU_I960 752,22233 -#define AAC_CPU_STRONGARM 753,22259 -#define AAC_OPT_SNAPSHOT 758,22318 -#define AAC_OPT_CLUSTERS 759,22359 -#define AAC_OPT_WRITE_CACHE 760,22403 -#define AAC_OPT_64BIT_DATA 761,22450 -#define AAC_OPT_HOST_TIME_FIB 762,22496 -#define AAC_OPT_RAID50 763,22545 -#define AAC_OPT_4GB_WINDOW 764,22588 -#define AAC_OPT_SCSI_UPGRADEABLE 765,22634 -#define AAC_OPT_SOFT_ERR_REPORT 766,22686 -#define AAC_OPT_SUPPORTED_RECONDITION 767,22737 -#define AAC_OPT_SGMAP_HOST64 768,22794 -#define AAC_OPT_ALARM 769,22843 -#define AAC_OPT_NONDASD 770,22886 -struct aac_devaac_dev772,22932 -#define AllocateAndMapFibSpace(AllocateAndMapFibSpace844,24761 -#define UnmapAndFreeFibSpace(UnmapAndFreeFibSpace847,24872 -#define aac_adapter_interrupt(aac_adapter_interrupt850,24979 -#define aac_adapter_notify(aac_adapter_notify853,25054 -#define aac_adapter_enable_int(aac_adapter_enable_int856,25137 -#define aac_adapter_disable_int(aac_adapter_disable_int859,25228 -#define aac_adapter_check_health(aac_adapter_check_health862,25319 -#define FIB_CONTEXT_FLAG_TIMED_OUT 866,25401 -#define Null 872,25489 -#define GetAttributes 873,25507 -#define SetAttributes 874,25533 -#define Lookup 875,25559 -#define ReadLink 876,25579 -#define Read 877,25600 -#define Write 878,25618 -#define Create 879,25637 -#define MakeDirectory 880,25657 -#define SymbolicLink 881,25683 -#define MakeNode 882,25708 -#define Removex 883,25730 -#define RemoveDirectoryx 884,25752 -#define Rename 885,25781 -#define Link 886,25802 -#define ReadDirectory 887,25821 -#define ReadDirectoryPlus 888,25848 -#define FileSystemStatus 889,25878 -#define FileSystemInfo 890,25907 -#define PathConfigure 891,25935 -#define Commit 892,25962 -#define Mount 893,25983 -#define UnMount 894,26003 -#define Newfs 895,26025 -#define FsCheck 896,26045 -#define FsSync 897,26067 -#define SimReadWrite 898,26088 -#define SetFileSystemStatus 899,26114 -#define BlockRead 900,26146 -#define BlockWrite 901,26169 -#define NvramIoctl 902,26193 -#define FsSyncWait 903,26217 -#define ClearArchiveBit 904,26241 -#define SetAcl 905,26270 -#define GetAcl 906,26291 -#define AssignAcl 907,26312 -#define FaultInsertion 908,26335 -#define CrazyCache 909,26393 -#define MAX_FSACOMMAND_NUM 911,26435 -#define ST_OK 919,26568 -#define ST_PERM 920,26586 -#define ST_NOENT 921,26606 -#define ST_IO 922,26626 -#define ST_NXIO 923,26644 -#define ST_E2BIG 924,26664 -#define ST_ACCES 925,26684 -#define ST_EXIST 926,26705 -#define ST_XDEV 927,26726 -#define ST_NODEV 928,26747 -#define ST_NOTDIR 929,26768 -#define ST_ISDIR 930,26790 -#define ST_INVAL 931,26811 -#define ST_FBIG 932,26832 -#define ST_NOSPC 933,26853 -#define ST_ROFS 934,26874 -#define ST_MLINK 935,26895 -#define ST_WOULDBLOCK 936,26916 -#define ST_NAMETOOLONG 937,26942 -#define ST_NOTEMPTY 938,26969 -#define ST_DQUOT 939,26993 -#define ST_STALE 940,27014 -#define ST_REMOTE 941,27035 -#define ST_BADHANDLE 942,27057 -#define ST_NOT_SYNC 943,27085 -#define ST_BAD_COOKIE 944,27112 -#define ST_NOTSUPP 945,27141 -#define ST_TOOSMALL 946,27167 -#define ST_SERVERFAULT 947,27194 -#define ST_BADTYPE 948,27224 -#define ST_JUKEBOX 949,27250 -#define ST_NOTMOUNTED 950,27276 -#define ST_MAINTMODE 951,27305 -#define ST_STALEACL 952,27333 -#define CACHE_CSTABLE 958,27425 -#define CACHE_UNSTABLE 959,27450 -#define CMFILE_SYNCH_NVRAM 966,27568 -#define CMDATA_SYNCH_NVRAM 967,27597 -#define CMFILE_SYNCH 968,27626 -#define CMDATA_SYNCH 969,27650 -#define CMUNSTABLE 970,27674 -struct aac_readaac_read972,27697 -struct aac_read64aac_read64981,27842 -struct aac_read_replyaac_read_reply992,28022 -struct aac_writeaac_write998,28079 -struct aac_write64aac_write641008,28251 -struct aac_write_replyaac_write_reply1018,28431 -struct aac_srbaac_srb1025,28505 -#define AAC_SENSE_BUFFERSIZE 1042,28707 -struct aac_srb_replyaac_srb_reply1044,28742 -#define SRB_NoDataXfer 1056,28962 -#define SRB_DisableDisconnect 1057,28995 -#define SRB_DisableSynchTransfer 1058,29034 -#define SRB_BypassFrozenQueue 1059,29075 -#define SRB_DisableAutosense 1060,29114 -#define SRB_DataIn 1061,29152 -#define SRB_DataOut 1062,29181 -#define SRBF_ExecuteScsi 1067,29263 -#define SRBF_ClaimDevice 1068,29295 -#define SRBF_IO_Control 1069,29327 -#define SRBF_ReceiveEvent 1070,29359 -#define SRBF_ReleaseQueue 1071,29392 -#define SRBF_AttachDevice 1072,29425 -#define SRBF_ReleaseDevice 1073,29458 -#define SRBF_Shutdown 1074,29492 -#define SRBF_Flush 1075,29522 -#define SRBF_AbortCommand 1076,29549 -#define SRBF_ReleaseRecovery 1077,29582 -#define SRBF_ResetBus 1078,29618 -#define SRBF_ResetDevice 1079,29648 -#define SRBF_TerminateIO 1080,29680 -#define SRBF_FlushQueue 1081,29712 -#define SRBF_RemoveDevice 1082,29744 -#define SRBF_DomainValidation 1083,29777 -#define SRB_STATUS_PENDING 1088,29872 -#define SRB_STATUS_SUCCESS 1089,29921 -#define SRB_STATUS_ABORTED 1090,29970 -#define SRB_STATUS_ABORT_FAILED 1091,30019 -#define SRB_STATUS_ERROR 1092,30068 -#define SRB_STATUS_BUSY 1093,30117 -#define SRB_STATUS_INVALID_REQUEST 1094,30166 -#define SRB_STATUS_INVALID_PATH_ID 1095,30215 -#define SRB_STATUS_NO_DEVICE 1096,30264 -#define SRB_STATUS_TIMEOUT 1097,30313 -#define SRB_STATUS_SELECTION_TIMEOUT 1098,30362 -#define SRB_STATUS_COMMAND_TIMEOUT 1099,30411 -#define SRB_STATUS_MESSAGE_REJECTED 1100,30460 -#define SRB_STATUS_BUS_RESET 1101,30509 -#define SRB_STATUS_PARITY_ERROR 1102,30558 -#define SRB_STATUS_REQUEST_SENSE_FAILED 1103,30607 -#define SRB_STATUS_NO_HBA 1104,30656 -#define SRB_STATUS_DATA_OVERRUN 1105,30705 -#define SRB_STATUS_UNEXPECTED_BUS_FREE 1106,30754 -#define SRB_STATUS_PHASE_SEQUENCE_FAILURE 1107,30803 -#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH 1108,30852 -#define SRB_STATUS_REQUEST_FLUSHED 1109,30901 -#define SRB_STATUS_DELAYED_RETRY 1110,30950 -#define SRB_STATUS_INVALID_LUN 1111,30992 -#define SRB_STATUS_INVALID_TARGET_ID 1112,31041 -#define SRB_STATUS_BAD_FUNCTION 1113,31090 -#define SRB_STATUS_ERROR_RECOVERY 1114,31139 -#define SRB_STATUS_NOT_STARTED 1115,31188 -#define SRB_STATUS_NOT_IN_USE 1116,31229 -#define SRB_STATUS_FORCE_ABORT 1117,31269 -#define SRB_STATUS_DOMAIN_VALIDATION_FAIL 1118,31310 -#define VM_Null 1124,31419 -#define VM_NameServe 1125,31440 -#define VM_ContainerConfig 1126,31465 -#define VM_Ioctl 1127,31495 -#define VM_FilesystemIoctl 1128,31516 -#define VM_CloseAll 1129,31546 -#define VM_CtBlockRead 1130,31570 -#define VM_CtBlockWrite 1131,31597 -#define VM_SliceBlockRead 1132,31625 -#define VM_SliceBlockWrite 1133,31703 -#define VM_DriveBlockRead 1134,31733 -#define VM_DriveBlockWrite 1135,31800 -#define VM_EnclosureMgt 1136,31831 -#define VM_Unused 1137,31887 -#define VM_CtBlockVerify 1138,31946 -#define VM_CtPerf 1139,31975 -#define VM_CtBlockRead64 1140,32021 -#define VM_CtBlockWrite64 1141,32050 -#define VM_CtBlockVerify64 1142,32080 -#define VM_CtHostRead64 1143,32111 -#define VM_CtHostWrite64 1144,32140 -#define MAX_VMCOMMAND_NUM 1146,32170 -struct aac_fsinfo aac_fsinfo1156,32451 -union aac_contentinfo aac_contentinfo1167,32749 -struct aac_mntent aac_mntent1176,33012 -#define FSCS_NOTCLEAN 1188,33451 -#define FSCS_READONLY 1189,33522 -#define FSCS_HIDDEN 1190,33590 -struct aac_query_mount aac_query_mount1192,33663 -struct aac_mount aac_mount1198,33732 -struct aac_close aac_close1209,33943 -struct aac_query_diskaac_query_disk1214,33990 -struct aac_delete_disk aac_delete_disk1228,34141 -struct fib_ioctlfib_ioctl1233,34196 -struct revisionrevision1240,34262 -#define CTL_CODE(CTL_CODE1251,34388 -#define METHOD_BUFFERED 1260,34582 -#define METHOD_NEITHER 1261,34624 -#define FSACTL_SENDFIB 1267,34696 -#define FSACTL_SEND_RAW_SRB 1268,34769 -#define FSACTL_DELETE_DISK 1269,34844 -#define FSACTL_QUERY_DISK 1270,34879 -#define FSACTL_OPEN_GET_ADAPTER_FIB 1271,34913 -#define FSACTL_GET_NEXT_ADAPTER_FIB 1272,34982 -#define FSACTL_CLOSE_GET_ADAPTER_FIB 1273,35051 -#define FSACTL_MINIPORT_REV_CHECK 1274,35121 -#define FSACTL_GET_PCI_INFO 1275,35201 -#define FSACTL_FORCE_DELETE_DISK 1276,35276 -#define FSACTL_GET_CONTAINERS 1277,35341 -struct aac_commonaac_common1280,35380 -#define FIB_COUNTER_INCREMENT(FIB_COUNTER_INCREMENT1314,35952 -#define FIB_COUNTER_INCREMENT(FIB_COUNTER_INCREMENT1316,36010 -#define BREAKPOINT_REQUEST 1324,36116 -#define INIT_STRUCT_BASE_ADDRESS 1325,36168 -#define READ_PERMANENT_PARAMETERS 1326,36225 -#define WRITE_PERMANENT_PARAMETERS 1327,36283 -#define HOST_CRASHING 1328,36342 -#define SEND_SYNCHRONOUS_FIB 1329,36390 -#define COMMAND_POST_RESULTS 1330,36444 -#define GET_ADAPTER_PROPERTIES 1331,36498 -#define RE_INIT_ADAPTER 1332,36554 -#define SELF_TEST_FAILED 1355,37372 -#define MONITOR_PANIC 1356,37424 -#define KERNEL_UP_AND_RUNNING 1357,37474 -#define KERNEL_PANIC 1358,37531 -#define DoorBellSyncCmdAvailable 1364,37613 -#define DoorBellPrintfDone 1365,37683 -#define DoorBellAdapterNormCmdReady 1366,37748 -#define DoorBellAdapterNormRespReady 1367,37821 -#define DoorBellAdapterNormCmdNotFull 1368,37895 -#define DoorBellAdapterNormRespNotFull 1369,37970 -#define DoorBellPrintfReady 1370,38046 -#define AifCmdEventNotify 1377,38213 -#define AifEnConfigChange 1378,38264 -#define AifEnContainerChange 1379,38329 -#define AifEnDeviceFailure 1380,38399 -#define AifEnAddContainer 1381,38455 -#define AifEnDeleteContainer 1382,38516 -#define AifEnExpEvent 1383,38580 -#define AifExeFirmwarePanic 1384,38633 -#define AifHighPriority 1385,38692 -#define AifCmdJobProgress 1387,38751 -#define AifJobCtrZero 1388,38802 -#define AifJobStsSuccess 1389,38856 -#define AifCmdAPIReport 1390,38905 -#define AifCmdDriverNotify 1391,38969 -#define AifDenMorphComplete 1392,39033 -#define AifDenVolumeExtendComplete 1393,39101 -#define AifReqJobList 1394,39174 -#define AifReqJobsForCtr 1395,39236 -#define AifReqJobsForScsi 1396,39310 -#define AifReqJobReport 1397,39388 -#define AifReqTerminateJob 1398,39473 -#define AifReqSuspendJob 1399,39526 -#define AifReqResumeJob 1400,39577 -#define AifReqSendAPIReport 1401,39628 -#define AifReqAPIJobStart 1402,39695 -#define AifReqAPIJobUpdate 1403,39757 -#define AifReqAPIJobFinish 1404,39828 -struct aac_aifcmd aac_aifcmd1412,40059 -static inline u32 cap_to_cyls(1423,40374 -#define fib_data(fib_data1444,41261 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/sa.c,345 -static irqreturn_t aac_sa_intr(49,1434 -void aac_sa_enable_interrupt(93,3012 -void aac_sa_disable_interrupt 124,3692 -void aac_sa_notify_adapter(154,4303 -static int sa_sync_cmd(197,5191 -static void aac_sa_interrupt_adapter 262,6544 -static void aac_sa_start_adapter(275,6790 -static int aac_sa_check_health(310,7867 -int aac_sa_init(344,8598 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/comminit.c,213 -struct aac_common aac_config;46,1463 -static int aac_alloc_comm(48,1494 -static void aac_queue_init(145,4468 -int aac_send_shutdown(169,5114 -int aac_comm_init(207,5930 -struct aac_dev *aac_init_adapter(294,8942 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/commctrl.c,367 -static int ioctl_send_fib(55,1621 -static int open_getadapter_fib(130,3577 -static int next_getadapter_fib(202,5560 -int aac_close_fib_context(290,7678 -static int close_getadapter_fib(335,8583 -static int check_revision(387,9852 -int aac_send_raw_srb(406,10188 -struct aac_pci_info aac_pci_info618,16114 -int aac_get_pci_info(624,16176 -int aac_do_ioctl(639,16552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/aacraid/rkt.c,417 -static irqreturn_t aac_rkt_intr(49,1459 -static void aac_rkt_enable_interrupt(98,3069 -static void aac_rkt_disable_interrupt(128,3642 -static int rkt_sync_cmd(161,4287 -static void aac_rkt_interrupt_adapter(250,6357 -static void aac_rkt_notify_adapter(265,6667 -static void aac_rkt_start_adapter(303,7476 -static int aac_rkt_check_health(335,8504 - struct POSTSTATUS POSTSTATUS350,8853 -int aac_rkt_init(395,10191 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/3w-9xxx.c,2665 -#define TWA_DRIVER_VERSION 76,2877 -static TW_Device_Extension *twa_device_extension_list[77,2918 -static unsigned int twa_device_extension_count;78,2986 -static int twa_major 79,3034 -static ssize_t twa_show_stats(122,5493 -static ssize_t twa_store_queue_depth(159,6888 -static struct device_attribute twa_queue_depth_attr 173,7297 -static struct device_attribute *twa_dev_attrs[182,7496 -static struct class_device_attribute twa_host_stats_attr 188,7616 -static struct class_device_attribute *twa_host_attrs[197,7794 -static struct file_operations twa_fops 203,7937 -static int twa_aen_complete(211,8143 -static int twa_aen_drain_queue(265,9613 -static void twa_aen_queue_event(356,11905 -static int twa_aen_read_queue(408,13649 -static char *twa_aen_severity_lookup(442,14663 -static void twa_aen_sync_time(456,15065 -static int twa_allocate_memory(500,16738 -static int twa_check_bits(539,17915 -static int twa_check_srl(554,18280 -static int twa_chrdev_ioctl(605,20210 -static int twa_chrdev_open(861,29497 -static int twa_decode_bits(875,29869 -static int twa_empty_response_queue(914,31246 -static int twa_fill_sense(935,31872 -static void twa_free_device_extension(974,33464 -static void twa_free_request_id(993,34082 -static void *twa_get_param(1001,34424 -static void twa_get_request_id(1046,36060 -static int twa_initconnection(1054,36401 -static int twa_initialize_device_extension(1117,38756 -static irqreturn_t twa_interrupt(1164,40202 -static void twa_load_sgl(1316,45309 -static int twa_map_scsi_sg_data(1341,46291 -static dma_addr_t twa_map_scsi_single_data(1366,46932 -static int twa_poll_response(1393,47635 -static int twa_poll_status(1430,48857 -static int twa_poll_status_gone(1459,49576 -static int twa_post_command_packet(1487,50293 -static int twa_reset_device_extension(1538,52071 -static int twa_reset_sequence(1584,53251 -static int twa_scsi_biosparam(1640,54758 -static int twa_scsi_eh_abort(1665,55354 -static int twa_scsi_eh_reset(1697,56346 -static int twa_scsi_queue(1723,57178 -static int twa_scsiop_execute_scsi(1757,58117 -static void twa_scsiop_execute_scsi_complete(1881,62149 -static void __twa_shutdown(1892,62652 -static void twa_shutdown(1911,63270 -static char *twa_string_lookup(1920,63543 -static void twa_unmap_scsi_data(1930,63845 -static struct scsi_host_template driver_template 1946,64349 -static int __devinit twa_probe(1965,64965 -static void twa_remove(2092,68664 -static struct pci_device_id twa_pci_tbl[2122,69373 -static struct pci_device_id twa_pci_tbl[] __devinitdata 2122,69373 -static struct pci_driver twa_driver 2130,69597 -static int __init twa_init(2141,69833 -static void __exit twa_exit(2149,70082 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gvp11.h,277 -#define CMD_PER_LUN 22,564 -#define CAN_QUEUE 26,612 -#define GVP11_XFER_MASK 35,764 -} gvp11_scsiregs;gvp11_scsiregs53,1474 -#define GVP11_DMAC_BUSY 56,1512 -#define GVP11_DMAC_INT_PENDING 57,1544 -#define GVP11_DMAC_INT_ENABLE 58,1582 -#define GVP11_DMAC_DIR_WRITE 59,1619 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ide-scsi.c,2533 -#define IDESCSI_VERSION 34,1560 -#define IDESCSI_DEBUG_LOG 57,2031 -typedef struct idescsi_pc_s idescsi_pc_s59,2061 -} idescsi_pc_t;idescsi_pc_t73,2755 -#define PC_DMA_IN_PROGRESS 78,2810 -#define PC_WRITING 79,2870 -#define PC_TRANSFORM 80,2914 -#define PC_TIMEDOUT 81,2969 -#define PC_DMA_OK 82,3017 -#define IDESCSI_TRANSFORM 87,3098 -#define IDESCSI_SG_TRANSFORM 88,3163 -#define IDESCSI_LOG_CMD 93,3245 -} idescsi_scsi_t;idescsi_scsi_t101,3534 -static inline idescsi_scsi_t *scsihost_to_idescsi(103,3553 -static inline idescsi_scsi_t *drive_to_idescsi(108,3670 -#define IDESCSI_DRQ_INTERRUPT 116,3839 -#define IDESCSI_PC_RQ 121,3929 -static void idescsi_discard_data 123,3957 -static void idescsi_output_zeros 129,4096 -static void idescsi_input_buffers 138,4301 -static void idescsi_output_buffers 160,4957 -static inline void idescsi_transform_pc1 186,5747 -static inline void idescsi_transform_pc2 228,7025 -static inline void idescsi_free_bio 253,7902 -static void hexdump(264,8049 -static int idescsi_check_condition(274,8180 -ide_startstop_t idescsi_atapi_error 311,9419 -ide_startstop_t idescsi_atapi_abort 337,10080 -static int idescsi_end_request 360,10699 -static inline unsigned long get_timeout(428,13107 -static int idescsi_expiry(433,13233 -static ide_startstop_t idescsi_pc_intr 449,13626 -static ide_startstop_t idescsi_transfer_pc(553,16948 -static ide_startstop_t idescsi_issue_pc 587,17972 -static ide_startstop_t idescsi_do_request 636,19471 -static void idescsi_add_settings(651,20105 -static void idescsi_setup 668,20902 -static int idescsi_cleanup 683,21374 -static ide_driver_t idescsi_driver 704,21812 -static int ide_scsi_warned;720,22278 -static int idescsi_ide_open(722,22307 -static int idescsi_ide_release(733,22700 -static int idescsi_ide_ioctl(740,22864 -static struct block_device_operations idescsi_ops 747,23071 -static int idescsi_slave_configure(756,23292 -static const char *idescsi_info 763,23466 -static int idescsi_ioctl 768,23589 -static inline struct bio *idescsi_kmalloc_bio 783,24033 -static inline int idescsi_set_direction 806,24484 -static inline struct bio *idescsi_dma_bio(820,24787 -static inline int should_transform(858,26149 -static int idescsi_queue 876,26662 -static int idescsi_eh_abort 942,28467 -static int idescsi_eh_reset 1001,30164 -static int idescsi_bios(1070,32032 -static Scsi_Host_Template idescsi_template 1084,32412 -static int idescsi_attach(1104,32947 -static int __init init_idescsi_module(1153,34152 -static void __exit exit_idescsi_module(1158,34247 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gdth_proc.h,26 -#define _GDTH_PROC_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/qlogicfas408.c,911 -static int qlcfg5 63,2054 -static int qlcfg6 64,2107 -static int qlcfg7 65,2138 -static int qlcfg8 66,2169 -static int qlcfg9 67,2233 -static int qlcfgc 68,2275 -static void ql_zap(78,2602 -static int ql_pdma(96,2890 -static int ql_wai(181,4825 -static void ql_icmd(212,5418 -static unsigned int ql_pcmd(259,6680 -static void ql_ihandl(408,10807 -irqreturn_t qlogicfas408_ihandl(435,11437 -int qlogicfas408_queuecommand(450,11747 -int qlogicfas408_biosparam(473,12194 -int qlogicfas408_abort(497,12680 -int qlogicfas408_bus_reset(511,12972 -int qlogicfas408_host_reset(523,13167 -int qlogicfas408_device_reset(532,13263 -const char *qlogicfas408_info(541,13361 -int qlogicfas408_get_chip_type(551,13527 -void qlogicfas408_setup(561,13668 -int qlogicfas408_detect(585,14129 -void qlogicfas408_disable_ints(596,14341 -static int __init qlogicfas408_init(609,14552 -static void __exit qlogicfas408_exit(614,14610 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/oktagon_esp.c,1443 -#define USE_BOTTOM_HALF12,193 -#define OKTAGON_ESP_ADDR 48,901 -#define OKTAGON_DMA_ADDR 49,934 -#define DMA_MAXTRANSFER 85,2443 -#define DMA_MAXTRANSFER 94,2628 -static struct notifier_block oktagon_notifier 98,2668 -static long *paddress;104,2757 -static long *address;105,2780 -static long len;106,2802 -static long dma_on;107,2819 -static int direction;108,2839 -static struct NCR_ESP *current_esp;109,2861 -static volatile unsigned char cmd_buffer[112,2899 -int oktagon_esp_detect(119,3141 -oktagon_notify_reboot(238,6427 -static void dma_commit(272,7471 -static int dma_bytes_sent(391,10506 -static int dma_can_transfer(401,10863 -static void dma_dump_state(409,11037 -static long oktag_eva_buffer[423,11401 -static void oktag_check_dma(425,11456 -static void dma_init_read(440,11749 -static void dma_init_write(455,12134 -static void dma_ints_off(469,12447 -static void dma_ints_on(474,12522 -static int dma_irq_p(479,12595 -static void dma_led_off(485,12769 -static void dma_led_on(489,12819 -static int dma_ports_p(493,12868 -static void dma_setup(498,12956 -static void dma_irq_exit(514,13325 -static void dma_invalidate(539,13691 -void dma_mmu_get_scsi_one(548,13888 -void dma_mmu_get_scsi_sgl(554,14013 -void dma_mmu_release_scsi_one(560,14170 -void dma_mmu_release_scsi_sgl(564,14241 -void dma_advance_sg(568,14312 -#define HOSTS_C575,14436 -int oktagon_esp_release(577,14453 -static Scsi_Host_Template driver_template 590,14786 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gdth_ioctl.h,1572 -#define _GDTH_IOCTL_H2,22 -#define GDTIOCTL_MASK 9,139 -#define GDTIOCTL_GENERAL 10,176 -#define GDTIOCTL_DRVERS 11,244 -#define GDTIOCTL_CTRTYPE 12,317 -#define GDTIOCTL_OSVERS 13,391 -#define GDTIOCTL_HDRLIST 14,460 -#define GDTIOCTL_CTRCNT 15,534 -#define GDTIOCTL_LOCKDRV 16,609 -#define GDTIOCTL_LOCKCHN 17,679 -#define GDTIOCTL_EVENT 18,746 -#define GDTIOCTL_SCSI 19,823 -#define GDTIOCTL_RESET_BUS 20,890 -#define GDTIOCTL_RESCAN 21,959 -#define GDTIOCTL_RESET_DRV 22,1032 -#define GDTIOCTL_MAGIC 24,1112 -#define EVENT_SIZE 25,1147 -#define GDTH_MAXSG 26,1176 -#define MAX_LDRIVES 28,1249 -#define MAX_HDRIVES 30,1348 -#define MAX_HDRIVES 32,1430 -typedef u32 ulong32;ulong3237,1547 -typedef u64 ulong64;ulong6438,1572 -#define PACKED 41,1605 -} PACKED gdth_sg_str;gdth_sg_str47,1815 -} PACKED gdth_sg64_str;gdth_sg64_str53,2025 -} PACKED gdth_cmd_str;gdth_cmd_str137,6989 -#define ES_ASYNC 140,7046 -#define ES_DRIVER 141,7068 -#define ES_TEST 142,7090 -#define ES_SYNC 143,7112 -} PACKED gdth_evt_data;gdth_evt_data175,8145 -} PACKED gdth_evt_str;gdth_evt_str186,8444 -} gdth_iowr_str;gdth_iowr_str228,10204 -} gdth_iord_str;gdth_iord_str270,12031 -} gdth_ioctl_general;gdth_ioctl_general282,12581 -} gdth_ioctl_lockdrv;gdth_ioctl_lockdrv290,12909 -} gdth_ioctl_lockchn;gdth_ioctl_lockchn297,13172 -} gdth_ioctl_osvers;gdth_ioctl_osvers304,13430 -} gdth_ioctl_ctrtype;gdth_ioctl_ctrtype317,14085 -} gdth_ioctl_event;gdth_ioctl_event325,14323 -} gdth_ioctl_rescan;gdth_ioctl_rescan338,14953 -} gdth_ioctl_reset;gdth_ioctl_reset345,15245 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/gvp11.c,421 -#define DMA(DMA25,487 -#define HDATA(HDATA26,538 -static irqreturn_t gvp11_intr 28,605 -static int gvp11_xfer_mask 44,1058 -void gvp11_setup 46,1091 -static int dma_setup 51,1167 -static void dma_stop 146,4082 -#define CHECK_WD33C93171,4835 -int __init gvp11_detect(173,4858 -static int gvp11_bus_reset(345,9675 -#define HOSTS_C353,9807 -static Scsi_Host_Template driver_template 357,9844 -int gvp11_release(376,10334 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sgiwd93.c,822 -#define DPRINTK(DPRINTK41,1036 -#define DPRINTK(DPRINTK43,1080 -#define HDATA(HDATA46,1113 -struct ip22_hostdata ip22_hostdata48,1177 - struct hpc_data hpc_data50,1229 -struct hpc_chunk hpc_chunk56,1307 -struct Scsi_Host *sgiwd93_host;61,1405 -struct Scsi_Host *sgiwd93_host1;62,1437 -static inline void write_wd33c93_count(65,1542 -static inline unsigned long read_wd33c93_count(76,1835 -static irqreturn_t sgiwd93_intr(89,2118 -void fill_hpc_entries(102,2429 -static int dma_setup(134,3202 -static void dma_stop(168,4099 -void sgiwd93_reset(194,4719 -static inline void init_hpc_chain(203,4891 -static struct Scsi_Host * __init sgiwd93_setup_scsi(221,5332 -int __init sgiwd93_detect(270,6535 -int sgiwd93_release(293,7177 -static int sgiwd93_bus_reset(310,7572 -static Scsi_Host_Template driver_template 322,7927 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pci2000.h,3550 -#define _PCI2000_H22,801 -#define PSI_EIDE_SCSIOP 27,871 -#define LINUXVERSION(LINUXVERSION32,960 -#define CHAR 37,1165 -#define UCHAR 38,1183 -#define SHORT 39,1211 -#define USHORT 40,1231 -#define BOOL 41,1261 -#define LONG 42,1279 -#define ULONG 43,1297 -#define VOID 44,1325 -typedef CHAR *PCHAR;PCHAR46,1344 -typedef UCHAR *PUCHAR;PUCHAR47,1365 -typedef SHORT *PSHORT;PSHORT48,1388 -typedef USHORT *PUSHORT;PUSHORT49,1411 -typedef BOOL *PBOOL;PBOOL50,1436 -typedef LONG *PLONG;PLONG51,1457 -typedef ULONG *PULONG;PULONG52,1478 -typedef VOID *PVOID;PVOID53,1501 -#define ANY2SCSI(ANY2SCSI59,1653 -#define SCSI2LONG(SCSI2LONG63,1759 -#define XANY2SCSI(XANY2SCSI68,1896 -#define XSCSI2LONG(XSCSI2LONG74,2078 -#define SCSIOP_TEST_UNIT_READY 83,2394 -#define SCSIOP_REZERO_UNIT 84,2431 -#define SCSIOP_REWIND 85,2465 -#define SCSIOP_REQUEST_BLOCK_ADDR 86,2495 -#define SCSIOP_REQUEST_SENSE 87,2534 -#define SCSIOP_FORMAT_UNIT 88,2569 -#define SCSIOP_READ_BLOCK_LIMITS 89,2603 -#define SCSIOP_REASSIGN_BLOCKS 90,2641 -#define SCSIOP_READ6 91,2678 -#define SCSIOP_RECEIVE 92,2707 -#define SCSIOP_WRITE6 93,2738 -#define SCSIOP_PRINT 94,2768 -#define SCSIOP_SEND 95,2797 -#define SCSIOP_SEEK6 96,2826 -#define SCSIOP_TRACK_SELECT 97,2855 -#define SCSIOP_SLEW_PRINT 98,2890 -#define SCSIOP_SEEK_BLOCK 99,2923 -#define SCSIOP_PARTITION 100,2956 -#define SCSIOP_READ_REVERSE 101,2988 -#define SCSIOP_WRITE_FILEMARKS 102,3023 -#define SCSIOP_FLUSH_BUFFER 103,3060 -#define SCSIOP_SPACE 104,3095 -#define SCSIOP_INQUIRY 105,3124 -#define SCSIOP_VERIFY6 106,3155 -#define SCSIOP_RECOVER_BUF_DATA 107,3186 -#define SCSIOP_MODE_SELECT 108,3224 -#define SCSIOP_RESERVE_UNIT 109,3258 -#define SCSIOP_RELEASE_UNIT 110,3293 -#define SCSIOP_COPY 111,3328 -#define SCSIOP_ERASE 112,3357 -#define SCSIOP_MODE_SENSE 113,3386 -#define SCSIOP_START_STOP_UNIT 114,3419 -#define SCSIOP_STOP_PRINT 115,3456 -#define SCSIOP_LOAD_UNLOAD 116,3489 -#define SCSIOP_RECEIVE_DIAGNOSTIC 117,3523 -#define SCSIOP_SEND_DIAGNOSTIC 118,3562 -#define SCSIOP_MEDIUM_REMOVAL 119,3599 -#define SCSIOP_READ_CAPACITY 120,3635 -#define SCSIOP_READ 121,3670 -#define SCSIOP_WRITE 122,3699 -#define SCSIOP_SEEK 123,3728 -#define SCSIOP_LOCATE 124,3757 -#define SCSIOP_WRITE_VERIFY 125,3787 -#define SCSIOP_VERIFY 126,3822 -#define SCSIOP_SEARCH_DATA_HIGH 127,3852 -#define SCSIOP_SEARCH_DATA_EQUAL 128,3890 -#define SCSIOP_SEARCH_DATA_LOW 129,3928 -#define SCSIOP_SET_LIMITS 130,3965 -#define SCSIOP_READ_POSITION 131,3998 -#define SCSIOP_SYNCHRONIZE_CACHE 132,4033 -#define SCSIOP_COMPARE 133,4071 -#define SCSIOP_COPY_COMPARE 134,4102 -#define SCSIOP_WRITE_DATA_BUFF 135,4137 -#define SCSIOP_READ_DATA_BUFF 136,4174 -#define SCSIOP_CHANGE_DEFINITION 137,4210 -#define SCSIOP_READ_SUB_CHANNEL 138,4248 -#define SCSIOP_READ_TOC 139,4286 -#define SCSIOP_READ_HEADER 140,4318 -#define SCSIOP_PLAY_AUDIO 141,4352 -#define SCSIOP_PLAY_AUDIO_MSF 142,4385 -#define SCSIOP_PLAY_TRACK_INDEX 143,4421 -#define SCSIOP_PLAY_TRACK_RELATIVE 144,4459 -#define SCSIOP_PAUSE_RESUME 145,4499 -#define SCSIOP_LOG_SELECT 146,4534 -#define SCSIOP_LOG_SENSE 147,4567 -#define SCSIOP_MODE_SELECT10 148,4599 -#define SCSIOP_MODE_SENSE10 149,4634 -#define SCSIOP_LOAD_UNLOAD_SLOT 150,4669 -#define SCSIOP_MECHANISM_STATUS 151,4707 -#define SCSIOP_READ_CD 152,4745 -typedef struct _READ_CAPACITY_DATA_READ_CAPACITY_DATA155,4809 - } READ_CAPACITY_DATA, *PREAD_CAPACITY_DATA;PREAD_CAPACITY_DATA159,4976 -typedef struct _INQUIRYDATA_INQUIRYDATA162,5043 - } INQUIRYDATA, *PINQUIRYDATA;PINQUIRYDATA185,5629 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/FlashPoint.c,44771 -#define UNIX25,705 -#define FW_TYPE 26,718 -#define MAX_CARDS 27,746 -#define OS_InPortByte(OS_InPortByte31,787 -#define OS_InPortWord(OS_InPortWord32,826 -#define OS_InPortLong(OS_InPortLong33,865 -#define OS_OutPortByte(OS_OutPortByte34,904 -#define OS_OutPortWord(OS_OutPortWord35,958 -#define OS_OutPortLong(OS_OutPortLong36,1012 -#define OS_Lock(OS_Lock37,1066 -#define OS_UnLock(OS_UnLock38,1085 -#define SccbMgr_sense_adapter 45,1192 -#define SccbMgr_config_adapter 46,1251 -#define SccbMgr_unload_card 47,1319 -#define SccbMgr_start_sccb 48,1378 -#define SccbMgr_abort_sccb 49,1426 -#define SccbMgr_my_int 50,1474 -#define SccbMgr_isr 51,1527 -#define BL_Card 58,1649 -#define BusMasterInit 59,1680 -#define CalcCrc16 60,1722 -#define CalcLrc 61,1756 -#define ChkIfChipInitialized 62,1787 -#define DiagBusMaster 63,1842 -#define DiagEEPROM 64,1884 -#define DiagXbow 65,1920 -#define GetTarLun 66,1952 -#define RNVRamData 67,1986 -#define RdStack 68,2022 -#define SccbMgrTableInitAll 69,2053 -#define SccbMgrTableInitCard 70,2106 -#define SccbMgrTableInitTarget 71,2161 -#define SccbMgr_bad_isr 72,2220 -#define SccbMgr_scsi_reset 73,2266 -#define SccbMgr_timer_expired 74,2317 -#define SendMsg 75,2374 -#define Wait 76,2405 -#define Wait1Second 77,2430 -#define WrStack 78,2468 -#define XbowInit 79,2499 -#define autoCmdCmplt 80,2531 -#define autoLoadDefaultMap 81,2571 -#define busMstrDataXferStart 82,2622 -#define busMstrSGDataXferStart 83,2677 -#define busMstrTimeOut 84,2736 -#define dataXferProcessor 85,2780 -#define default_intena 86,2829 -#define hostDataXferAbort 87,2873 -#define hostDataXferRestart 88,2922 -#define inisci 89,2975 -#define mbCards 90,3004 -#define nvRamInfo 91,3035 -#define phaseBusFree 92,3069 -#define phaseChkFifo 93,3109 -#define phaseCommand 94,3149 -#define phaseDataIn 95,3189 -#define phaseDataOut 96,3227 -#define phaseDecode 97,3267 -#define phaseIllegal 98,3305 -#define phaseMsgIn 99,3345 -#define phaseMsgOut 100,3381 -#define phaseStatus 101,3419 -#define queueAddSccb 102,3457 -#define queueCmdComplete 103,3497 -#define queueDisconnect 104,3544 -#define queueFindSccb 105,3590 -#define queueFlushSccb 106,3632 -#define queueFlushTargSccb 107,3676 -#define queueSearchSelect 108,3727 -#define queueSelectFail 109,3776 -#define s_PhaseTbl 110,3822 -#define scamHAString 111,3858 -#define scamInfo 112,3898 -#define scarb 113,3930 -#define scasid 114,3957 -#define scbusf 115,3986 -#define sccbMgrTbl 116,4015 -#define schkdd 117,4051 -#define scini 118,4080 -#define sciso 119,4107 -#define scmachid 120,4134 -#define scsavdi 121,4166 -#define scsel 122,4197 -#define scsell 123,4224 -#define scsendi 124,4253 -#define scvalq 125,4284 -#define scwirod 126,4313 -#define scwiros 127,4344 -#define scwtsel 128,4375 -#define scxferc 129,4406 -#define sdecm 130,4437 -#define sfm 131,4464 -#define shandem 132,4487 -#define sinits 133,4518 -#define sisyncn 134,4547 -#define sisyncr 135,4578 -#define siwidn 136,4609 -#define siwidr 137,4638 -#define sres 138,4667 -#define sresb 139,4692 -#define ssel 140,4719 -#define ssenss 141,4744 -#define sssyncv 142,4773 -#define stsyncn 143,4804 -#define stwidn 144,4835 -#define sxfrp 145,4864 -#define utilEERead 146,4891 -#define utilEEReadOrg 147,4927 -#define utilEESendCmdAddr 148,4969 -#define utilEEWrite 149,5018 -#define utilEEWriteOnOff 150,5056 -#define utilUpdateResidual 151,5103 -#define __GLOBALS_H__172,5693 -#define _UCB_MGR_ 174,5716 -#define _SCCB_MGR_ 175,5737 -#define MAX_CDBLEN 179,5785 -#define SCAM_LEV_2 181,5809 -#define CRCMASK 183,5831 - #define COMPILER_16_BIT 190,6123 - #define COMPILER_32_BIT 192,6285 -#define BL_VENDOR_ID 196,6329 -#define FP_DEVICE_ID 197,6366 -#define MM_DEVICE_ID 198,6403 -#define FALSE 202,6456 -#define TRUE 205,6502 -#define NULL 209,6558 -#define FAILURE 212,6592 -typedef unsigned char UCHAR;UCHAR215,6630 -typedef unsigned short USHORT;USHORT216,6661 -typedef unsigned int UINT;UINT217,6693 -typedef unsigned long ULONG;ULONG218,6723 -typedef unsigned char * PUCHAR;PUCHAR219,6754 -typedef unsigned short* PUSHORT;PUSHORT220,6786 -typedef unsigned long * PULONG;PULONG221,6819 -typedef void * PVOID;PVOID222,6851 -typedef unsigned char far * uchar_ptr;uchar_ptr226,6913 -typedef unsigned short far * ushort_ptr;ushort_ptr227,6958 -typedef unsigned long far * ulong_ptr;ulong_ptr228,7004 -typedef unsigned char * uchar_ptr;uchar_ptr232,7109 -typedef unsigned short * ushort_ptr;ushort_ptr233,7154 -typedef unsigned long * ulong_ptr;ulong_ptr234,7200 -#define s08bits 246,7520 -#define s16bits 247,7541 -#define s32bits 248,7564 -#define u08bits 250,7586 -#define u16bits 251,7619 -#define u32bits 252,7652 -typedef u08bits far * pu08bits;pu08bits256,7716 -typedef u16bits far * pu16bits;pu16bits257,7749 -typedef u32bits far * pu32bits;pu32bits258,7782 -typedef u08bits * pu08bits;pu08bits264,7875 -typedef u16bits * pu16bits;pu16bits265,7904 -typedef u32bits * pu32bits;pu32bits266,7933 -#define BIT(BIT271,7994 -#define BITW(BITW272,8079 - #define OS_InPortByte(OS_InPortByte283,8367 - #define OS_InPortWord(OS_InPortWord284,8416 - #define OS_InPortLong(OS_InPortLong285,8464 - #define OS_OutPortByte(OS_OutPortByte286,8518 - #define OS_OutPortWord(OS_OutPortWord287,8577 - #define OS_OutPortLong(OS_OutPortLong288,8635 - extern __declspec(308,9506 - #define OS_InPortByte(OS_InPortByte326,10403 - #define OS_InPortWord(OS_InPortWord327,10475 - #define OS_InPortLong(OS_InPortLong328,10548 - #define OS_OutPortByte(OS_OutPortByte330,10621 - #define OS_OutPortWord(OS_OutPortWord331,10715 - #define OS_OutPortLong(OS_OutPortLong332,10810 - #define OS_OutPortByteBuffer(OS_OutPortByteBuffer333,10904 - #define OS_OutPortWordBuffer(OS_OutPortWordBuffer335,11043 - #define OS_Lock(OS_Lock338,11184 - #define OS_UnLock(OS_UnLock339,11204 - #define OS_InPortByte(OS_InPortByte343,11313 - #define OS_InPortWord(OS_InPortWord344,11368 - #define OS_InPortLong(OS_InPortLong345,11423 - #define OS_OutPortByte(OS_OutPortByte346,11478 - #define OS_OutPortWord(OS_OutPortWord347,11551 - #define OS_OutPortLong(OS_OutPortLong348,11624 - #define OS_Lock(OS_Lock350,11698 - #define OS_UnLock(OS_UnLock351,11718 - #define OS_InPortByte(OS_InPortByte361,11948 - #define OS_InPortWord(OS_InPortWord362,11993 - #define OS_OutPortByte(OS_OutPortByte363,12038 - #define OS_OutPortWord(OS_OutPortWord364,12093 - #define OS_Lock(OS_Lock368,12254 - #define OS_UnLock(OS_UnLock369,12274 -#define OS_InPortByte(OS_InPortByte377,12449 -#define OS_InPortWord(OS_InPortWord378,12494 -#define OS_Lock(OS_Lock385,12812 -#define OS_UnLock(OS_UnLock386,12831 -#define __SCCB_H__412,13503 -#define debug_size 418,13594 - typedef struct _SCCB near *PSCCB;PSCCB423,13642 - typedef void (*CALL_BK_FN)CALL_BK_FN425,13708 - typedef struct _SCCB far *PSCCB;PSCCB430,13776 - typedef void (far *CALL_BK_FN)CALL_BK_FN432,13841 - typedef struct _SCCB *PSCCB;PSCCB437,13900 - typedef void (*CALL_BK_FN)CALL_BK_FN439,13961 -typedef struct SCCBMgr_info SCCBMgr_info445,14018 -} SCCBMGR_INFO;SCCBMGR_INFO467,14644 - typedef SCCBMGR_INFO * PSCCBMGR_INFO;PSCCBMGR_INFO470,14678 - typedef SCCBMGR_INFO far * PSCCBMGR_INFO;PSCCBMGR_INFO473,14763 - typedef SCCBMGR_INFO * PSCCBMGR_INFO;PSCCBMGR_INFO475,14818 - #define SCSI_PARITY_ENA 483,14927 - #define LOW_BYTE_TERM 484,14962 - #define HIGH_BYTE_TERM 485,14995 - #define BUSTYPE_PCI 486,15029 -#define SUPPORT_16TAR_32LUN 489,15064 -#define SOFT_RESET 490,15101 -#define EXTENDED_TRANSLATION 491,15130 -#define POST_ALL_UNDERRRUNS 492,15168 -#define FLAG_SCAM_ENABLED 493,15205 -#define FLAG_SCAM_LEVEL2 494,15240 -#define HARPOON_FAMILY 499,15278 -#define ISA_BUS_CARD 502,15315 -#define EISA_BUS_CARD 503,15350 -#define PCI_BUS_CARD 504,15385 -#define VESA_BUS_CARD 505,15420 -typedef struct _SCCB _SCCB513,15610 - } SCCB;SCCB559,16827 -#define SCCB_SIZE 561,16839 -#define SCSI_INITIATOR_COMMAND 567,16889 -#define TARGET_MODE_COMMAND 568,16928 -#define SCATTER_GATHER_COMMAND 569,16967 -#define RESIDUAL_COMMAND 570,17006 -#define RESIDUAL_SG_COMMAND 571,17045 -#define RESET_COMMAND 572,17084 -#define F_USE_CMD_Q 575,17125 -#define TAG_TYPE_MASK 576,17198 -#define TAG_Q_MASK 577,17270 -#define SCCB_DATA_XFER_OUT 578,17308 -#define SCCB_DATA_XFER_IN 579,17362 -#define FOURTEEN_BYTES 582,17417 -#define NO_AUTO_REQUEST_SENSE 583,17491 -#define BUS_FREE_ST 586,17565 -#define SELECT_ST 587,17598 -#define SELECT_BDR_ST 588,17624 -#define SELECT_SN_ST 589,17687 -#define SELECT_WN_ST 590,17743 -#define SELECT_Q_ST 591,17804 -#define COMMAND_ST 592,17863 -#define DATA_OUT_ST 593,17889 -#define DATA_IN_ST 594,17915 -#define DISCONNECT_ST 595,17941 -#define STATUS_ST 596,17967 -#define ABORT_ST 597,17994 -#define MESSAGE_ST 598,18021 -#define F_HOST_XFER_DIR 601,18050 -#define F_ALL_XFERRED 602,18094 -#define F_SG_XFER 603,18138 -#define F_AUTO_SENSE 604,18182 -#define F_ODD_BALL_CNT 605,18226 -#define F_NO_DATA_YET 606,18270 -#define F_STATUSLOADED 609,18316 -#define F_MSGLOADED 610,18360 -#define F_DEV_SELECTED 611,18404 -#define SCCB_COMPLETE 614,18450 -#define SCCB_DATA_UNDER_RUN 615,18527 -#define SCCB_SELECTION_TIMEOUT 616,18568 -#define SCCB_DATA_OVER_RUN 617,18645 -#define SCCB_UNEXPECTED_BUS_FREE 618,18686 -#define SCCB_PHASE_SEQUENCE_FAIL 619,18758 -#define SCCB_INVALID_OP_CODE 621,18841 -#define SCCB_INVALID_SCCB 622,18917 -#define SCCB_GROSS_FW_ERR 623,18994 -#define SCCB_BM_ERR 624,19057 -#define SCCB_PARITY_ERR 625,19122 - #define HBA_AUTO_SENSE_FAIL 630,19218 - #define HBA_TQ_REJECTED 631,19264 - #define HBA_UNSUPPORTED_MSG 632,19310 - #define HBA_HW_ERROR 633,19357 - #define HBA_ATN_NOT_RESPONDED 634,19403 - #define HBA_SCSI_RESET_BY_ADAPTER 635,19449 - #define HBA_SCSI_RESET_BY_TARGET 636,19493 - #define HBA_WRONG_CONNECTION 637,19537 - #define HBA_BUS_DEVICE_RESET 638,19581 - #define HBA_ABORT_QUEUE 639,19625 - #define SCCB_INVALID_DIRECTION 643,19714 - #define SCCB_DUPLICATE_SCCB 644,19790 - #define SCCB_SCSI_RST 645,19856 -#define SCCB_IN_PROCESS 650,19964 -#define SCCB_SUCCESS 651,20004 -#define SCCB_ABORT 652,20044 -#define SCCB_NOT_FOUND 653,20084 -#define SCCB_ERROR 654,20124 -#define SCCB_INVALID 655,20164 -#define SCCB_SIZE 657,20205 -#define __blx30_H__731,22578 -#define ORION_FW_REV 735,22625 -#define HARP_REVD 740,22661 -#define QUEUE_DEPTH 744,22703 -#define QUEUE_DEPTH 746,22790 -#define MAX_MB_CARDS 749,22900 -#define WIDE_SCSI 751,22978 - #define MAX_SCSI_TAR 755,23048 - #define MAX_LUN 756,23081 - #define LUN_MASK 757,23113 - #define MAX_SCSI_TAR 759,23148 - #define MAX_LUN 760,23181 - #define LUN_MASK 761,23214 - #define MAX_SCSI_TAR 765,23258 - #define MAX_LUN 766,23287 - #define LUN_MASK 767,23316 -#define SG_BUF_CNT 771,23373 -#define SG_BUF_CNT 773,23454 -#define SG_ELEMENT_SIZE 776,23537 -#define SG_LOCAL_MASK 777,23605 -#define SG_ELEMENT_MASK 778,23641 - #define OPC_DECODE_NORMAL 782,23706 - #define RD_HARPOON(RD_HARPOON790,23810 - #define RDW_HARPOON(RDW_HARPOON791,23871 - #define WR_HARPOON(WR_HARPOON792,23932 - #define WRW_HARPOON(WRW_HARPOON793,23998 - #define RD_HARP32(RD_HARP32795,24065 - #define WR_HARP32(WR_HARP32806,24669 - #define RD_HARPOON(RD_HARPOON819,25354 - #define RDW_HARPOON(RDW_HARPOON820,25423 - #define RD_HARP32(RD_HARP32821,25492 - #define WR_HARPOON(WR_HARPOON822,25571 - #define WRW_HARPOON(WRW_HARPOON823,25645 - #define WR_HARP32(WR_HARP32824,25721 - #define RD_HARPOON(RD_HARPOON828,25905 - #define RDW_HARPOON(RDW_HARPOON829,25971 - #define RD_HARP32(RD_HARP32830,26037 - #define WR_HARPOON(WR_HARPOON831,26125 - #define WRW_HARPOON(WRW_HARPOON832,26204 - #define WR_HARP32(WR_HARP32833,26283 - #define RD_HARPOON(RD_HARPOON837,26430 - #define RDW_HARPOON(RDW_HARPOON838,26498 - #define RD_HARP32(RD_HARP32839,26566 - #define WR_HARPOON(WR_HARPOON840,26656 - #define WRW_HARPOON(WRW_HARPOON841,26739 - #define WR_HARP32(WR_HARP32842,26823 - #define RD_HARPOON(RD_HARPOON846,26948 - #define RDW_HARPOON(RDW_HARPOON847,27022 - #define RD_HARP32(RD_HARP32848,27096 - #define WR_HARPOON(WR_HARPOON849,27184 - #define WRW_HARPOON(WRW_HARPOON850,27263 - #define WR_HARP32(WR_HARP32851,27344 - #define RD_HARPOON(RD_HARPOON856,27483 - #define RDW_HARPOON(RDW_HARPOON857,27557 - #define RD_HARP32(RD_HARP32858,27631 - #define WR_HARPOON(WR_HARPOON859,27719 - #define WRW_HARPOON(WRW_HARPOON860,27798 - #define WR_HARP32(WR_HARP32861,27879 -#define __TARGET__887,28581 -#define TAR_SYNC_MASK 893,28651 -#define SYNC_UNKNOWN 894,28694 -#define SYNC_TRYING 895,28726 -#define SYNC_SUPPORTED 896,28768 -#define TAR_WIDE_MASK 898,28812 -#define WIDE_DISABLED 899,28855 -#define WIDE_ENABLED 900,28887 -#define WIDE_NEGOCIATED 901,28929 -#define TAR_TAG_Q_MASK 903,28964 -#define TAG_Q_UNKNOWN 904,29007 -#define TAG_Q_TRYING 905,29039 -#define TAG_Q_REJECT 906,29081 -#define TAG_Q_SUPPORTED 907,29115 -#define TAR_ALLOW_DISC 909,29159 -#define EE_SYNC_MASK 912,29195 -#define EE_SYNC_ASYNC 913,29238 -#define EE_SYNC_5MB 914,29270 -#define EE_SYNC_10MB 915,29304 -#define EE_SYNC_20MB 916,29338 -#define EE_ALLOW_DISC 918,29382 -#define EE_WIDE_SCSI 919,29416 - typedef struct SCCBMgr_tar_info near *PSCCBMgr_tar_info;PSCCBMgr_tar_info923,29469 - typedef struct SCCBMgr_tar_info far *PSCCBMgr_tar_info;PSCCBMgr_tar_info926,29549 - typedef struct SCCBMgr_tar_info *PSCCBMgr_tar_info;PSCCBMgr_tar_info929,29615 -typedef struct SCCBMgr_tar_info SCCBMgr_tar_info934,29680 -} SCCBMGR_TAR_INFO;SCCBMGR_TAR_INFO947,30058 -typedef struct NVRAMInfo NVRAMInfo949,30079 -}NVRAMINFO;NVRAMINFO963,30791 -typedef NVRAMINFO near *PNVRamInfo;PNVRamInfo966,30821 -typedef NVRAMINFO far *PNVRamInfo;PNVRamInfo968,30877 -typedef NVRAMINFO *PNVRamInfo;PNVRamInfo970,30918 -#define MODEL_LT 973,30957 -#define MODEL_DL 974,30977 -#define MODEL_LW 975,30997 -#define MODEL_DW 976,31017 -typedef struct SCCBcard SCCBcard979,31039 -}SCCBCARD;SCCBCARD1003,31457 -typedef struct SCCBcard near *PSCCBcard;PSCCBcard1006,31486 -typedef struct SCCBcard far *PSCCBcard;PSCCBcard1008,31547 -typedef struct SCCBcard *PSCCBcard;PSCCBcard1010,31593 -#define F_TAG_STARTED 1014,31638 -#define F_CONLUN_IO 1015,31666 -#define F_DO_RENEGO 1016,31693 -#define F_NO_FILTER 1017,31720 -#define F_GREEN_PC 1018,31747 -#define F_HOST_XFER_ACT 1019,31773 -#define F_NEW_SCCB_CMD 1020,31803 -#define F_UPDATE_EEPROM 1021,31832 -#define ID_STRING_LENGTH 1024,31864 -#define TYPE_CODE0 1025,31894 -#define TYPE_CODE1 1027,31967 -#define SLV_TYPE_CODE0 1029,32025 -#define ASSIGN_ID 1031,32103 -#define SET_P_FLAG 1032,32129 -#define CFG_CMPLT 1033,32155 -#define DOM_MSTR 1034,32181 -#define SYNC_PTRN 1035,32207 -#define ID_0_7 1037,32234 -#define ID_8_F 1038,32260 -#define ID_10_17 1039,32286 -#define ID_18_1F 1040,32312 -#define MISC_CODE 1041,32338 -#define CLR_P_FLAG 1042,32364 -#define LOCATE_ON 1043,32390 -#define LOCATE_OFF 1044,32416 -#define LVL_1_MST 1046,32443 -#define LVL_2_MST 1047,32469 -#define DOM_LVL_2 1048,32495 -#define INIT_SELTD 1051,32523 -#define LEVEL2_TAR 1052,32549 -enum scam_id_st scam_id_st1055,32577 -enum scam_id_st { ID0,1055,32577 -enum scam_id_st { ID0,ID1,1055,32577 -enum scam_id_st { ID0,ID1,ID2,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,ID8,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,ID8,ID9,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,ID8,ID9,ID10,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,ID8,ID9,ID10,ID11,1055,32577 -enum scam_id_st { ID0,ID1,ID2,ID3,ID4,ID5,ID6,ID7,ID8,ID9,ID10,ID11,ID12,1055,32577 - ID13,1056,32651 - ID13,ID14,1056,32651 - ID13,ID14,ID15,1056,32651 - ID13,ID14,ID15,ID_UNUSED,1056,32651 - ID13,ID14,ID15,ID_UNUSED,ID_UNASSIGNED,1056,32651 - ID13,ID14,ID15,ID_UNUSED,ID_UNASSIGNED,ID_ASSIGNED,1056,32651 - ID13,ID14,ID15,ID_UNUSED,ID_UNASSIGNED,ID_ASSIGNED,LEGACY,1056,32651 - CLR_PRIORITY,1057,32728 - CLR_PRIORITY,NO_ID_AVAIL 1057,32728 -typedef struct SCCBscam_info SCCBscam_info1059,32775 -} SCCBSCAM_INFO, *PSCCBSCAM_INFO;PSCCBSCAM_INFO1064,32879 -#define __SCSI_H__1086,33462 -#define SCSI_TEST_UNIT_READY 1090,33484 -#define SCSI_REZERO_UNIT 1091,33522 -#define SCSI_REQUEST_SENSE 1092,33560 -#define SCSI_FORMAT_UNIT 1093,33598 -#define SCSI_REASSIGN 1094,33636 -#define SCSI_READ 1095,33674 -#define SCSI_WRITE 1096,33712 -#define SCSI_SEEK 1097,33750 -#define SCSI_INQUIRY 1098,33788 -#define SCSI_MODE_SELECT 1099,33826 -#define SCSI_RESERVE_UNIT 1100,33864 -#define SCSI_RELEASE_UNIT 1101,33902 -#define SCSI_MODE_SENSE 1102,33940 -#define SCSI_START_STOP_UNIT 1103,33978 -#define SCSI_SEND_DIAGNOSTIC 1104,34016 -#define SCSI_READ_CAPACITY 1105,34054 -#define SCSI_READ_EXTENDED 1106,34092 -#define SCSI_WRITE_EXTENDED 1107,34130 -#define SCSI_SEEK_EXTENDED 1108,34168 -#define SCSI_WRITE_AND_VERIFY 1109,34206 -#define SCSI_VERIFY 1110,34244 -#define SCSI_READ_DEFECT_DATA 1111,34282 -#define SCSI_WRITE_BUFFER 1112,34320 -#define SCSI_READ_BUFFER 1113,34358 -#define SCSI_RECV_DIAGNOSTIC 1114,34396 -#define SCSI_READ_LONG 1115,34434 -#define SCSI_WRITE_LONG 1116,34472 -#define SCSI_LAST_SCSI_CMND 1117,34510 -#define SCSI_INVALID_CMND 1118,34559 -#define SSGOOD 1122,34600 -#define SSCHECK 1123,34638 -#define SSCOND_MET 1124,34676 -#define SSBUSY 1125,34714 -#define SSRESERVATION_CONFLICT 1126,34752 -#define SSCMD_TERM 1127,34790 -#define SSQ_FULL 1128,34828 -#define SKNO_SEN 1131,34868 -#define SKRECOV_ERR 1132,34906 -#define SKNOT_RDY 1133,34944 -#define SKMED_ERR 1134,34982 -#define SKHW_ERR 1135,35020 -#define SKILL_REQ 1136,35058 -#define SKUNIT_ATTN 1137,35096 -#define SKDATA_PROTECT 1138,35134 -#define SKBLNK_CHK 1139,35172 -#define SKCPY_ABORT 1140,35210 -#define SKABORT_CMD 1141,35248 -#define SKEQUAL 1142,35286 -#define SKVOL_OVF 1143,35324 -#define SKMIS_CMP 1144,35362 -#define SMCMD_COMP 1147,35402 -#define SMEXT 1148,35440 -#define SMSAVE_DATA_PTR 1149,35478 -#define SMREST_DATA_PTR 1150,35516 -#define SMDISC 1151,35554 -#define SMINIT_DETEC_ERR 1152,35592 -#define SMABORT 1153,35630 -#define SMREJECT 1154,35668 -#define SMNO_OP 1155,35706 -#define SMPARITY 1156,35744 -#define SMDEV_RESET 1157,35782 -#define SMABORT_TAG 1158,35820 -#define SMINIT_RECOVERY 1159,35849 -#define SMREL_RECOVERY 1160,35880 -#define SMIDENT 1162,35912 -#define DISC_PRIV 1163,35950 -#define SMSYNC 1166,35990 -#define SM10MBS 1167,36028 -#define SM5MBS 1168,36092 -#define SMOFFSET 1169,36156 -#define SMWDTR 1170,36220 -#define SM8BIT 1171,36258 -#define SM16BIT 1172,36296 -#define SM32BIT 1173,36334 -#define SMIGNORWR 1174,36372 -#define ARBITRATION_DELAY 1177,36442 -#define BUS_SETTLE_DELAY 1178,36516 -#define BUS_CLEAR_DELAY 1179,36570 -#define SPHASE_TO 1183,36627 -#define SCMD_TO 1184,36702 -#define SIX_BYTE_CMD 1188,36774 -#define TEN_BYTE_CMD 1189,36812 -#define TWELVE_BYTE_CMD 1190,36850 -#define ASYNC 1192,36889 -#define PERI25NS 1193,36927 -#define SYNC10MBS 1194,37003 -#define SYNC5MBS 1195,37041 -#define MAX_OFFSET 1196,37079 -#define __EEPROM__1218,37708 -#define EEPROM_WD_CNT 1222,37754 -#define EEPROM_CHECK_SUM 1224,37786 -#define FW_SIGNATURE 1225,37815 -#define MODEL_NUMB_0 1226,37844 -#define MODEL_NUMB_1 1227,37873 -#define MODEL_NUMB_2 1228,37902 -#define MODEL_NUMB_3 1229,37931 -#define MODEL_NUMB_4 1230,37960 -#define MODEL_NUMB_5 1231,37989 -#define IO_BASE_ADDR 1232,38018 -#define IRQ_NUMBER 1233,38048 -#define PCI_INT_PIN 1234,38078 -#define BUS_DELAY 1235,38108 -#define SYSTEM_CONFIG 1236,38184 -#define SCSI_CONFIG 1237,38214 -#define BIOS_CONFIG 1238,38244 -#define SPIN_UP_DELAY 1239,38274 -#define SCAM_CONFIG 1240,38304 -#define ADAPTER_SCSI_ID 1241,38334 -#define IGNORE_B_SCAN 1244,38366 -#define SEND_START_ENA 1245,38396 -#define DEVICE_ENABLE 1246,38426 -#define SYNC_RATE_TBL 1248,38457 -#define SYNC_RATE_TBL01 1249,38487 -#define SYNC_RATE_TBL23 1250,38517 -#define SYNC_RATE_TBL45 1251,38547 -#define SYNC_RATE_TBL67 1252,38577 -#define SYNC_RATE_TBL89 1253,38607 -#define SYNC_RATE_TBLab 1254,38637 -#define SYNC_RATE_TBLcd 1255,38667 -#define SYNC_RATE_TBLef 1256,38697 -#define EE_SCAMBASE 1260,38730 - #define DOM_MASTER 1264,38764 - #define SCAM_ENABLED 1265,38809 - #define SCAM_LEVEL2 1266,38843 - #define RENEGO_ENA 1269,38879 - #define CONNIO_ENA 1270,38909 - #define GREEN_PC_ENA 1271,38939 - #define AUTO_RATE_00 1274,38977 - #define AUTO_RATE_05 1275,39007 - #define AUTO_RATE_10 1276,39037 - #define AUTO_RATE_20 1277,39067 - #define WIDE_NEGO_BIT 1279,39098 - #define DISC_ENABLE_BIT 1280,39135 -#define __HARPOON__1306,39752 - #define hp_vendor_id_0 1309,39774 - #define ORION_VEND_0 1310,39823 - #define hp_vendor_id_1 1312,39860 - #define ORION_VEND_1 1313,39909 - #define hp_device_id_0 1315,39945 - #define ORION_DEV_0 1316,39994 - #define hp_device_id_1 1318,40031 - #define ORION_DEV_1 1319,40080 - #define hp_sub_vendor_id_0 1324,40206 - #define hp_sub_vendor_id_1 1325,40255 - #define hp_sub_device_id_0 1326,40304 - #define hp_sub_device_id_1 1327,40353 - #define hp_dual_addr_lo 1330,40404 - #define hp_dual_addr_lmi 1331,40442 - #define hp_dual_addr_hmi 1332,40480 - #define hp_dual_addr_hi 1333,40518 - #define hp_semaphore 1335,40557 - #define SCCB_MGR_ACTIVE 1336,40595 - #define TICKLE_ME 1337,40635 - #define SCCB_MGR_PRESENT 1338,40675 - #define BIOS_IN_USE 1339,40715 - #define hp_user_defined_D 1341,40756 - #define hp_reserved_E 1343,40795 - #define hp_sys_ctrl 1345,40834 - #define STOP_CLK 1347,40873 - #define DRVR_RST 1348,40948 - #define HALT_MACH 1349,41027 - #define HARD_ABORT 1350,41101 - #define DIAG_MODE 1351,41175 - #define BM_ABORT_TMOUT 1353,41250 - #define hp_sys_cfg 1355,41329 - #define DONT_RST_FIFO 1357,41368 - #define hp_host_ctrl0 1360,41442 - #define DUAL_ADDR_MODE 1362,41481 - #define IO_MEM_SPACE 1363,41552 - #define RESOURCE_LOCK 1364,41619 - #define IGNOR_ACCESS_ERR 1365,41687 - #define HOST_INT_EDGE 1366,41754 - #define SIX_CLOCKS 1367,41836 - #define DMA_EVEN_PARITY 1368,41909 - #define hp_reserved_12 1374,42027 - #define hp_host_blk_cnt 1376,42066 - #define XFER_BLK1 1378,42105 - #define XFER_BLK2 1379,42180 - #define XFER_BLK4 1380,42255 - #define XFER_BLK8 1381,42330 - #define XFER_BLK16 1382,42405 - #define XFER_BLK32 1383,42480 - #define XFER_BLK64 1384,42555 - #define BM_THRESHOLD 1386,42634 - #define hp_reserved_14 1389,42715 - #define hp_reserved_15 1390,42753 - #define hp_reserved_16 1391,42791 - #define hp_int_mask 1393,42830 - #define INT_CMD_COMPL 1395,42869 - #define INT_EXT_STATUS 1396,42940 - #define INT_SCSI 1397,43011 - #define INT_FIFO_RDY 1398,43082 - #define hp_xfer_cnt_lo 1401,43155 - #define hp_xfer_cnt_mi 1402,43193 - #define hp_xfer_cnt_hi 1403,43231 - #define hp_xfer_cmd 1404,43269 - #define XFER_HOST_DMA 1406,43308 - #define XFER_DMA_HOST 1407,43387 - #define XFER_HOST_MPU 1408,43467 - #define XFER_MPU_HOST 1409,43547 - #define XFER_DMA_MPU 1410,43627 - #define XFER_MPU_DMA 1411,43707 - #define SET_SEMAPHORE 1412,43787 - #define XFER_NOP 1413,43867 - #define XFER_MB_MPU 1414,43947 - #define XFER_MB_DMA 1415,44024 - #define XFER_HOST_AUTO 1418,44103 - #define XFER_HOST_8BIT 1419,44180 - #define XFER_HOST_16BIT 1420,44257 - #define XFER_HOST_32BIT 1421,44334 - #define XFER_DMA_8BIT 1423,44412 - #define XFER_DMA_16BIT 1424,44489 - #define DISABLE_INT 1426,44567 - #define HOST_WRT_CMD 1428,44647 - #define HOST_RD_CMD 1429,44745 - #define WIDE_HOST_WRT_CMD 1430,44843 - #define WIDE_HOST_RD_CMD 1431,44942 - #define hp_host_addr_lo 1433,45042 - #define hp_host_addr_lmi 1434,45080 - #define hp_host_addr_hmi 1435,45118 - #define hp_host_addr_hi 1436,45156 - #define hp_pio_data 1438,45195 - #define hp_reserved_21 1439,45233 - #define hp_ee_ctrl 1440,45271 - #define EXT_ARB_ACK 1442,45310 - #define SCSI_TERM_ENA_H 1443,45350 - #define SEE_MS 1444,45424 - #define SEE_CS 1445,45464 - #define SEE_CLK 1446,45504 - #define SEE_DO 1447,45544 - #define SEE_DI 1448,45584 - #define EE_READ 1450,45625 - #define EE_WRITE 1451,45663 - #define EWEN 1452,45701 - #define EWEN_ADDR 1453,45739 - #define EWDS 1454,45779 - #define EWDS_ADDR 1455,45817 - #define hp_brdctl 1457,45858 - #define DAT_7 1459,45897 - #define DAT_6 1460,45937 - #define DAT_5 1461,45977 - #define BRD_STB 1462,46017 - #define BRD_CS 1463,46057 - #define BRD_WR 1464,46097 - #define hp_reserved_24 1466,46138 - #define hp_reserved_25 1467,46176 - #define hp_bm_ctrl 1472,46218 - #define SCSI_TERM_ENA_L 1474,46257 - #define FLUSH_XFER_CNTR 1475,46340 - #define BM_XFER_MIN_8 1476,46410 - #define BIOS_ENA 1477,46489 - #define FORCE1_XFER 1478,46561 - #define FAST_SINGLE 1479,46642 - #define BMCTRL_DEFAULT 1481,46693 - #define hp_reserved_27 1483,46769 - #define hp_sg_addr 1485,46808 - #define hp_page_ctrl 1486,46846 - #define SCATTER_EN 1488,46885 - #define SGRAM_ARAM 1489,46928 - #define BIOS_SHADOW 1490,46971 - #define G_INT_DISABLE 1491,47014 - #define NARROW_SCSI_CARD 1492,47092 - #define hp_reserved_2A 1494,47169 - #define hp_pci_cmd_cfg 1495,47207 - #define IO_SPACE_ENA 1497,47246 - #define MEM_SPACE_ENA 1498,47310 - #define BUS_MSTR_ENA 1499,47377 - #define MEM_WI_ENA 1500,47452 - #define PAR_ERR_RESP 1501,47527 - #define hp_reserved_2C 1503,47605 - #define hp_pci_stat_cfg 1505,47644 - #define DATA_PARITY_ERR 1507,47683 - #define REC_TARGET_ABORT 1508,47726 - #define REC_MASTER_ABORT 1509,47795 - #define SIG_SYSTEM_ERR 1510,47864 - #define DETECTED_PAR_ERR 1511,47907 - #define hp_reserved_2E 1513,47951 - #define hp_sys_status 1515,47990 - #define SLV_DATA_RDY 1517,48029 - #define XFER_CNT_ZERO 1518,48093 - #define BM_FIFO_EMPTY 1519,48161 - #define BM_FIFO_FULL 1520,48219 - #define HOST_OP_DONE 1521,48276 - #define DMA_OP_DONE 1522,48343 - #define SLV_OP_DONE 1523,48409 - #define PWR_ON_FLAG 1524,48477 - #define hp_reserved_30 1526,48539 - #define hp_host_status0 1528,48578 - #define HOST_TERM 1530,48617 - #define HOST_TRSHLD 1531,48684 - #define CONNECTED_2_HOST 1532,48751 - #define hp_reserved_32 1534,48819 - #define hp_rev_num 1536,48858 - #define REV_A_CONST 1538,48897 - #define REV_B_CONST 1539,48935 - #define hp_stack_data 1541,48974 - #define hp_stack_addr 1542,49012 - #define hp_ext_status 1544,49051 - #define BM_FORCE_OFF 1546,49090 - #define PCI_TGT_ABORT 1547,49169 - #define PCI_DEV_TMOUT 1548,49251 - #define FIFO_TC_NOT_ZERO 1549,49318 - #define CHIP_RST_OCCUR 1550,49399 - #define CMD_ABORTED 1551,49464 - #define BM_PARITY_ERR 1552,49527 - #define PIO_OVERRUN 1553,49606 - #define BM_CMD_BUSY 1554,49672 - #define BAD_EXT_STATUS 1555,49752 - #define hp_int_status 1558,49897 - #define BM_CMD_CMPL 1560,49942 - #define EXT_STATUS_ON 1561,50017 - #define SCSI_INTERRUPT 1562,50089 - #define BM_FIFO_RDY 1563,50169 - #define INT_ASSERTED 1564,50212 - #define SRAM_BUSY 1565,50260 - #define CMD_REG_BUSY 1566,50331 - #define hp_fifo_cnt 1569,50412 - #define hp_curr_host_cnt 1570,50450 - #define hp_reserved_3A 1571,50488 - #define hp_fifo_in_addr 1572,50526 - #define hp_fifo_out_addr 1574,50565 - #define hp_reserved_3D 1575,50603 - #define hp_reserved_3E 1576,50641 - #define hp_reserved_3F 1577,50679 - #define hp_intena 1583,50754 - #define RESET 1585,50784 - #define PROG_HLT 1586,50815 - #define PARITY 1587,50851 - #define FIFO 1588,50883 - #define SEL 1589,50913 - #define SCAM_SEL 1590,50942 - #define RSEL 1591,50977 - #define TIMEOUT 1592,51007 - #define BUS_FREE 1593,51040 - #define XFER_CNT_0 1594,51075 - #define PHASE 1595,51111 - #define IUNKWN 1596,51143 - #define ICMD_COMP 1597,51176 - #define ITICKLE 1598,51211 - #define IDO_STRT 1599,51245 - #define ITAR_DISC 1600,51279 - #define AUTO_INT 1601,51313 - #define CLR_ALL_INT 1602,51384 - #define CLR_ALL_INT_1 1603,51419 - #define hp_intstat 1605,51457 - #define hp_scsisig 1607,51488 - #define SCSI_SEL 1609,51527 - #define SCSI_BSY 1610,51567 - #define SCSI_REQ 1611,51607 - #define SCSI_ACK 1612,51647 - #define SCSI_ATN 1613,51687 - #define SCSI_CD 1614,51727 - #define SCSI_MSG 1615,51767 - #define SCSI_IOBIT 1616,51807 - #define S_SCSI_PHZ 1618,51848 - #define S_CMD_PH 1619,51904 - #define S_MSGO_PH 1620,51960 - #define S_STAT_PH 1621,52016 - #define S_MSGI_PH 1622,52072 - #define S_DATAI_PH 1623,52128 - #define S_DATAO_PH 1624,52184 - #define S_ILL_PH 1625,52222 - #define hp_scsictrl_0 1627,52279 - #define NO_ARB 1629,52318 - #define SEL_TAR 1630,52358 - #define ENA_ATN 1631,52398 - #define ENA_RESEL 1632,52438 - #define SCSI_RST 1633,52478 - #define ENA_SCAM_SEL 1634,52518 - #define hp_portctrl_0 1638,52561 - #define SCSI_PORT 1640,52600 - #define SCSI_INBIT 1641,52640 - #define DMA_PORT 1642,52680 - #define DMA_RD 1643,52720 - #define HOST_PORT 1644,52760 - #define HOST_WRT 1645,52800 - #define SCSI_BUS_EN 1646,52840 - #define START_TO 1647,52880 - #define hp_scsireset 1649,52921 - #define SCSI_TAR 1651,52960 - #define SCSI_INI 1652,53000 - #define SCAM_EN 1653,53040 - #define ACK_HOLD 1654,53080 - #define DMA_RESET 1655,53120 - #define HPSCSI_RESET 1656,53160 - #define PROG_RESET 1657,53200 - #define FIFO_CLR 1658,53240 - #define hp_xfercnt_0 1660,53281 - #define hp_xfercnt_1 1661,53319 - #define hp_xfercnt_2 1662,53357 - #define hp_xfercnt_3 1663,53395 - #define hp_fifodata_0 1665,53434 - #define hp_fifodata_1 1666,53472 - #define hp_addstat 1667,53510 - #define SCAM_TIMER 1669,53549 - #define AUTO_RUNNING 1670,53589 - #define FAST_SYNC 1671,53629 - #define SCSI_MODE8 1672,53669 - #define SCSI_PAR_ERR 1673,53709 - #define hp_prgmcnt_0 1675,53750 - #define AUTO_PC_MASK 1677,53789 - #define hp_selfid_0 1679,53828 - #define hp_selfid_1 1680,53866 - #define hp_arb_id 1681,53904 - #define ARB_ID 1683,53943 - #define hp_select_id 1685,54013 - #define RESEL_ID 1687,54052 - #define SELECT_ID 1688,54121 - #define hp_synctarg_base 1690,54191 - #define hp_synctarg_12 1691,54229 - #define hp_synctarg_13 1692,54267 - #define hp_synctarg_14 1693,54305 - #define hp_synctarg_15 1694,54343 - #define hp_synctarg_8 1696,54382 - #define hp_synctarg_9 1697,54420 - #define hp_synctarg_10 1698,54458 - #define hp_synctarg_11 1699,54496 - #define hp_synctarg_4 1701,54535 - #define hp_synctarg_5 1702,54573 - #define hp_synctarg_6 1703,54611 - #define hp_synctarg_7 1704,54649 - #define hp_synctarg_0 1706,54688 - #define hp_synctarg_1 1707,54726 - #define hp_synctarg_2 1708,54764 - #define hp_synctarg_3 1709,54802 - #define RATE_20MB 1711,54841 - #define RATE_10MB 1712,54879 - #define RATE_6_6MB 1713,54935 - #define RATE_5MB 1714,54994 - #define RATE_4MB 1715,55050 - #define RATE_3_33MB 1716,55106 - #define RATE_2_85MB 1717,55162 - #define RATE_2_5MB 1718,55218 - #define NEXT_CLK 1719,55274 - #define SLOWEST_SYNC 1720,55314 - #define NARROW_SCSI 1721,55370 - #define SYNC_OFFSET 1722,55410 - #define DEFAULT_ASYNC 1723,55479 - #define DEFAULT_OFFSET 1724,55517 - #define hp_autostart_0 1726,55556 - #define hp_autostart_1 1727,55594 - #define hp_autostart_2 1728,55632 - #define hp_autostart_3 1729,55670 - #define DISABLE 1733,55711 - #define AUTO_IMMED 1734,55740 - #define SELECT 1735,55776 - #define RESELECT 1736,55807 - #define BUSFREE 1737,55847 - #define XFER_0 1738,55878 - #define END_DATA 1739,55918 - #define MSG_PHZ 1740,55958 - #define hp_gp_reg_0 1742,56006 - #define hp_gp_reg_1 1743,56044 - #define hp_gp_reg_2 1744,56082 - #define hp_gp_reg_3 1745,56120 - #define hp_seltimeout 1747,56159 - #define TO_2ms 1750,56199 - #define TO_4ms 1751,56257 - #define TO_5ms 1753,56316 - #define TO_10ms 1754,56374 - #define TO_250ms 1755,56432 - #define TO_290ms 1756,56490 - #define TO_350ms 1757,56548 - #define TO_417ms 1758,56606 - #define hp_clkctrl_0 1760,56665 - #define PWR_DWN 1762,56704 - #define ACTdeassert 1763,56744 - #define ATNonErr 1764,56784 - #define CLK_30MHZ 1765,56824 - #define CLK_40MHZ 1766,56864 - #define CLK_50MHZ 1767,56915 - #define CLKCTRL_DEFAULT 1769,56956 - #define hp_fiforead 1771,57016 - #define hp_fifowrite 1772,57054 - #define hp_offsetctr 1774,57093 - #define hp_xferstat 1775,57131 - #define FIFO_FULL 1777,57170 - #define FIFO_EMPTY 1778,57210 - #define FIFO_MASK 1779,57250 - #define FIFO_LEN 1780,57327 - #define hp_portctrl_1 1782,57366 - #define EVEN_HOST_P 1784,57405 - #define INVT_SCSI 1785,57445 - #define CHK_SCSI_P 1786,57485 - #define HOST_MODE8 1787,57525 - #define HOST_MODE16 1788,57565 - #define hp_xfer_pad 1790,57604 - #define ID_UNLOCK 1792,57643 - #define XFER_PAD 1793,57683 - #define hp_scsidata_0 1795,57724 - #define hp_scsidata_1 1796,57762 - #define hp_timer_0 1797,57800 - #define hp_timer_1 1798,57838 - #define hp_reserved_78 1800,57877 - #define hp_reserved_79 1801,57915 - #define hp_reserved_7A 1802,57953 - #define hp_reserved_7B 1803,57991 - #define hp_reserved_7C 1805,58030 - #define hp_reserved_7D 1806,58068 - #define hp_reserved_7E 1807,58106 - #define hp_reserved_7F 1808,58144 - #define hp_aramBase 1810,58183 - #define BIOS_DATA_OFFSET 1811,58221 - #define BIOS_RELATIVE_CARD 1812,58259 - #define AUTO_LEN 1817,58301 - #define AR0 1818,58330 - #define AR1 1819,58359 - #define AR2 1820,58391 - #define AR3 1821,58423 - #define SDATA 1822,58467 - #define NOP_OP 1824,58501 - #define CRD_OP 1826,58556 - #define CRR_OP 1828,58617 - #define CBE_OP 1830,58678 - #define CBN_OP 1832,58775 - #define CPE_OP 1834,58868 - #define CPN_OP 1836,58945 - #define ADATA_OUT 1839,59027 - #define ADATA_IN 1840,59064 - #define ACOMMAND 1841,59099 - #define ASTATUS 1842,59135 - #define AMSG_OUT 1843,59181 - #define AMSG_IN 1844,59227 - #define AILLEGAL 1845,59281 - #define BRH_OP 1848,59328 - #define ALWAYS 1851,59384 - #define EQUAL 1852,59413 - #define NOT_EQ 1853,59445 - #define TCB_OP 1855,59478 - #define ATN_SET 1858,59563 - #define ATN_RESET 1859,59598 - #define XFER_CNT 1860,59633 - #define FIFO_0 1861,59678 - #define FIFO_NOT0 1862,59714 - #define T_USE_SYNC0 1863,59760 - #define MPM_OP 1866,59808 - #define MDR_OP 1868,59881 - #define MRR_OP 1870,59950 - #define S_IDREG 1873,60017 - #define D_AR0 1876,60066 - #define D_AR1 1877,60095 - #define D_AR2 1878,60126 - #define D_AR3 1879,60157 - #define D_SDATA 1880,60199 - #define D_BUCKET 1881,60230 - #define ADR_OP 1884,60283 - #define ADS_OP 1886,60359 - #define ODR_OP 1888,60414 - #define ODS_OP 1890,60470 - #define STR_OP 1892,60535 - #define AINT_ENA1 1894,60602 - #define AINT_STAT1 1895,60634 - #define ASCSI_SIG 1896,60669 - #define ASCSI_CNTL 1897,60704 - #define APORT_CNTL 1898,60749 - #define ARST_CNTL 1899,60785 - #define AXFERCNT0 1900,60831 - #define AXFERCNT1 1901,60877 - #define AXFERCNT2 1902,60931 - #define AFIFO_DATA 1903,60967 - #define ASCSISELID 1904,61013 - #define ASCSISYNC0 1905,61059 - #define RAT_OP 1908,61115 - #define SSI_OP 1910,61172 - #define SSI_ITAR_DISC 1913,61221 - #define SSI_IDO_STRT 1914,61267 - #define SSI_IDI_STRT 1915,61311 - #define SSI_ICMD_COMP 1917,61356 - #define SSI_ITICKLE 1918,61402 - #define SSI_IUNKWN 1920,61445 - #define SSI_INO_CC 1921,61485 - #define SSI_IRFAIL 1922,61525 - #define NP 1925,61567 - #define NTCMD 1926,61613 - #define CMDPZ 1927,61674 - #define DINT 1928,61723 - #define DI 1929,61780 - #define MI 1930,61824 - #define DC 1931,61870 - #define ST 1932,61924 - #define UNKNWN 1933,61972 - #define CC 1934,62026 - #define TICK 1935,62088 - #define RFAIL 1936,62149 - #define SELCHK 1937,62203 - #define ID_MSG_STRT 1940,62274 - #define NON_TAG_ID_MSG 1941,62323 - #define CMD_STRT 1942,62372 - #define SYNC_MSGS 1943,62421 - #define TAG_STRT 1949,62475 - #define SELECTION_START 1950,62513 - #define DISCONNECT_START 1951,62551 - #define END_DATA_START 1952,62591 - #define NONTAG_STRT 1953,62631 - #define CMD_ONLY_STRT 1954,62671 - #define TICKLE_STRT 1955,62712 - #define SELCHK_STRT 1956,62750 -#define mEEPROM_CLK_DELAY(mEEPROM_CLK_DELAY1961,62794 -#define mWAIT_10MS(mWAIT_10MS1963,62859 -#define CLR_XFER_CNT(CLR_XFER_CNT1966,62918 -#define SET_XFER_CNT(SET_XFER_CNT1968,62984 -#define GET_XFER_CNT(GET_XFER_CNT1970,63054 -#define HP_SETUP_ADDR_CNT(HP_SETUP_ADDR_CNT1976,63391 -#define HP_SETUP_ADDR_CNT(HP_SETUP_ADDR_CNT1984,63839 -#define ACCEPT_MSG(ACCEPT_MSG1993,64265 -#define ACCEPT_MSG_ATN(ACCEPT_MSG_ATN1997,64408 -#define ACCEPT_STAT(ACCEPT_STAT2000,64565 -#define ACCEPT_STAT_ATN(ACCEPT_STAT_ATN2003,64708 -#define DISABLE_AUTO(DISABLE_AUTO2006,64866 -#define ARAM_ACCESS(ARAM_ACCESS2009,65000 -#define SGRAM_ACCESS(SGRAM_ACCESS2012,65142 -#define MDISABLE_INT(MDISABLE_INT2015,65286 -#define MENABLE_INT(MENABLE_INT2018,65432 -#define mOS_Lock(mOS_Lock2366,76658 -#define mOS_UnLock(mOS_UnLock2367,76738 -#define mOS_Lock(mOS_Lock2369,76851 -#define mOS_UnLock(mOS_UnLock2370,76923 -int SccbMgr_sense_adapter(2409,77854 -USHORT SccbMgr_config_adapter(2716,85713 -STATIC s16bits FP_PresenceCheck(2929,90558 -STATIC s32bits probe_adapter(2975,92315 -STATIC CARD_HANDLE init_adapter(3327,100902 -void build_UCB(3534,106099 -STATIC int GetDevSyncRate(3628,108200 -STATIC int SetDevSyncRate(3708,110208 -int GetDevWideMode(3784,112245 -int SetDevWideMode(3807,112690 -void ReadNVRam(3884,114229 -void WriteNVRam(3937,115323 -void UpdateCheckSum(4017,117065 -void SccbMgr_save_foreign_state(4040,117558 -void SccbMgr_restore_foreign_state(4045,117624 -void SccbMgr_restore_native_state(4049,117687 -void SccbMgr_unload_card(4059,117853 -void RNVRamData(4116,119157 -UCHAR RdStack(4158,120163 -void WrStack(4168,120378 -u08bits ChkIfChipInitialized(4179,120622 -void SccbMgr_start_sccb(4209,121502 -s32bits SccbMgr_abort_sccb(4492,128383 -u08bits SccbMgr_my_int(4630,131251 -s32bits SccbMgr_isr(4674,132073 -UCHAR SccbMgr_bad_isr(4954,139919 -void SccbMgr_scsi_reset(5141,144441 -void SccbMgr_timer_expired(5205,146317 -USHORT SccbMgr_status(5227,146926 -void SccbMgrTableInitAll(5241,147267 -void SccbMgrTableInitCard(5266,147912 -void SccbMgrTableInitTarget(5301,148750 -void Debug_Load(5344,149690 -SCCBMGR_TAR_INFO sccbMgrTbl[5395,150948 -SCCBCARD BL_Card[5396,151018 -SCCBSCAM_INFO scamInfo[5397,151059 -NVRAMINFO nvRamInfo[5398,151113 -void (far *s_PhaseTbl[5402,151179 -void (far *s_PhaseTbl[8]) (ULONG,5402,151179 -void (far *s_PhaseTbl[8]) (ULONG, UCHAR)5402,151179 -UCHAR temp_id_string[5403,151229 -void (*s_PhaseTbl[5405,151331 -void (*s_PhaseTbl[8]) (ULONG,5405,151331 -void (*s_PhaseTbl[8]) (ULONG, UCHAR)5405,151331 -void (*s_PhaseTbl[5407,151383 -UCHAR first_time 5411,151434 -UCHAR mbCards 5414,151464 -UCHAR scamHAString[5415,151483 -USHORT default_intena 5420,151722 -UCHAR debug_int[5423,151770 -UCHAR debug_index[5424,151821 -UCHAR reserved_1[5425,151862 -UCHAR sfm(5480,153296 -void ssel(5557,155094 -void sres(5909,163583 -UCHAR GetTarLun(6198,169296 -void SendMsg(6291,170920 -void sdecm(6344,172136 -void shandem(6529,176086 -UCHAR sisyncn(6614,177629 -void stsyncn(6693,179797 -void sisyncr(6834,182803 -void stwidn(6927,185582 -void siwidr(7011,187299 -void sresb(7121,190063 -void ssenss(7197,192072 -void sxfrp(7247,193269 -void schkdd(7333,195773 -void sinits(7449,198379 -void phaseDecode(7579,201914 -void far phaseDataOut(7616,202693 -void far phaseDataIn(7675,204049 -void far phaseCommand(7730,205310 -void far phaseStatus(7794,206713 -void far phaseMsgOut(7824,207518 -void far phaseMsgIn(7980,210531 -void far phaseIllegal(8041,211719 -void phaseChkFifo(8077,212552 -void phaseBusFree(8174,214816 -void autoLoadDefaultMap(8316,218604 -void autoCmdCmplt(8432,223253 -#define SHORT_WAIT 8699,231489 -#define LONG_WAIT 8700,231521 -void dataXferProcessor(8725,232604 -void busMstrSGDataXferStart(8767,233556 -void busMstrDataXferStart(8892,236384 -UCHAR busMstrTimeOut(8979,238627 -void hostDataXferAbort(9021,239578 -void hostDataXferRestart(9308,246619 -void scini(9408,249179 -int scarb(9630,254380 -void scbusf(9697,256083 -void scasid(9741,257124 -void scsel(9840,259398 -UCHAR scxferc(9878,260364 -UCHAR scsendi(9933,261755 -UCHAR sciso(9990,263040 -void scwirod(10055,264347 -void scwiros(10088,264969 -UCHAR scvalq(10118,265475 -UCHAR scsell(10146,266113 -UCHAR scsellDOS(10237,268599 -void scwtsel(10318,270765 -UCHAR scmachid(10403,272973 -void scsavdi(10541,275561 -void XbowInit(10625,277614 -void BusMasterInit(10704,279996 -int DiagXbow(10745,280952 -int DiagBusMaster(10831,282878 -void DiagEEPROM(10874,284229 -void queueSearchSelect(11075,289537 -void queueSelectFail(11206,292470 -void queueCmdComplete(11245,293469 - UCHAR i,11342,295916 - UCHAR i, SCSIcmd;11342,295916 - CALL_BK_FN callback;11343,295937 - PSCCBMgr_tar_info currTar_Info;11344,295961 - SCSIcmd 11346,295997 - callback 11426,298053 - pCurrCard->currentSCCB 11429,298165 -void queueDisconnect(11441,298470 -void queueFlushSccb(11476,299411 -void queueFlushTargSccb(11515,300379 -void queueAddSccb(11544,300951 -UCHAR queueFindSccb(11578,301710 -void utilUpdateResidual(11639,303116 -void Wait1Second(11698,304229 -void Wait(11727,304743 -void utilEEWriteOnOff(11779,306083 -void utilEEWrite(11812,306866 -USHORT utilEERead(11867,308363 -USHORT utilEEReadOrg(11901,309025 -void utilEESendCmdAddr(11953,310310 -USHORT CalcCrc16(12019,311788 -UCHAR CalcLrc(12039,312112 -FlashPoint__ProbeHostAdapter(12056,312344 -FlashPoint__HardwareResetHostAdapter(12063,312527 -FlashPoint__ReleaseHostAdapter(12069,312706 -FlashPoint__StartCCB(12076,312843 -FlashPoint__AbortCCB(12083,312999 -FlashPoint__InterruptPending(12090,313158 -FlashPoint__HandleInterrupt(12097,313297 -#define FlashPoint_ProbeHostAdapter 12103,313416 -#define FlashPoint_HardwareResetHostAdapter 12104,313485 -#define FlashPoint_ReleaseHostAdapter 12105,313566 -#define FlashPoint_StartCCB 12106,313639 -#define FlashPoint_AbortCCB 12107,313693 -#define FlashPoint_InterruptPending 12108,313747 -#define FlashPoint_HandleInterrupt 12109,313816 -void FlashPoint_InquireTargetInfo(12117,314043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_sil.c,1339 -#define DRV_NAME 40,1420 -#define DRV_VERSION 41,1448 - sil_3112 44,1483 - sil_3114 45,1499 - SIL_SYSCFG 47,1516 - SIL_SYSCFG = 0x48,47,1516 - SIL_MASK_IDE0_INT 48,1537 - SIL_MASK_IDE1_INT 49,1569 - SIL_MASK_IDE2_INT 50,1601 - SIL_MASK_IDE3_INT 51,1633 - SIL_MASK_2PORT 52,1665 - SIL_MASK_2PORT = SIL_MASK_IDE0_INT 52,1665 - SIL_MASK_2PORT = SIL_MASK_IDE0_INT | SIL_MASK_IDE1_INT,52,1665 - SIL_MASK_4PORT 53,1723 - SIL_MASK_4PORT = SIL_MASK_2PORT 53,1723 - SIL_MASK_IDE2_INT 54,1759 - SIL_MASK_IDE2_INT | SIL_MASK_IDE3_INT,54,1759 - SIL_IDE2_BMDMA 56,1805 - SIL_IDE2_BMDMA = 0x200,56,1805 - SIL_INTR_STEERING 58,1832 - SIL_QUIRK_MOD15WRITE 59,1863 - SIL_QUIRK_UDMA5MAX 60,1897 -static struct pci_device_id sil_pci_tbl[69,2288 -struct sil_drivelist sil_drivelist79,2661 -} sil_blacklist 82,2728 -static struct pci_driver sil_pci_driver 100,3351 -static Scsi_Host_Template sil_sht 107,3506 -static struct ata_port_operations sil_ops 126,4082 -static struct ata_port_info sil_port_info[149,4798 -} sil_port[180,5835 -static void sil_post_set_mode 195,6268 -static inline unsigned long sil_scr_addr(222,6928 -static u32 sil_scr_read 241,7247 -static void sil_scr_write 249,7422 -static void sil_dev_config(285,8768 -static int sil_init_one 327,9874 -static int __init sil_init(441,12952 -static void __exit sil_exit(446,13032 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dpti.h,4554 -#define _DPT_H22,1114 -#define MAX_TO_IOP_MESSAGES 29,1240 -#define MAX_TO_IOP_MESSAGES 31,1282 -#define MAX_FROM_IOP_MESSAGES 33,1325 -#define DPT_DRIVER_NAME 59,2065 -#define DPT_I2O_VERSION 68,2231 -#define DPT_VERSION 69,2271 -#define DPT_REVISION 70,2297 -#define DPT_SUBREVISION 71,2325 -#define DPT_BETA 72,2353 -#define DPT_MONTH 73,2373 -#define DPT_DAY 74,2399 -#define DPT_YEAR 75,2424 -#define DPT_DRIVER 77,2461 -#define DPTI_I2O_MAJOR 78,2490 -#define DPT_ORGANIZATION_ID 79,2519 -#define DPTI_MAX_HBA 80,2588 -#define MAX_CHANNEL 81,2614 -#define MAX_ID 82,2673 -#define REPLY_FRAME_SIZE 85,2762 -#define MAX_MESSAGE_SIZE 86,2793 -#define SG_LIST_ELEMENTS 87,2825 -#define EMPTY_QUEUE 89,2857 -#define I2O_INTERRUPT_PENDING_B 90,2898 -#define PCI_DPT_VENDOR_ID 92,2940 -#define PCI_DPT_DEVICE_ID 93,3004 -#define PCI_DPT_RAPTOR_DEVICE_ID 94,3072 -# define PDEBUG(PDEBUG101,3259 -# define PDEBUGV(PDEBUGV102,3331 -# define PDEBUG(PDEBUG104,3409 -# define PDEBUGV(PDEBUGV105,3468 -#define PERROR(PERROR108,3536 -#define PWARN(PWARN109,3594 -#define PINFO(PINFO110,3655 -#define PCRIT(PCRIT111,3713 -#define SHUTDOWN_SIGS 113,3772 -#define FOREVER 116,3867 -#define TMOUT_INQUIRY 117,3889 -#define TMOUT_FLUSH 118,3918 -#define TMOUT_ABORT 119,3948 -#define TMOUT_SCSI 120,3974 -#define TMOUT_IOPRESET 121,4000 -#define TMOUT_GETSTATUS 122,4030 -#define TMOUT_INITOUTBOUND 123,4060 -#define TMOUT_LCT 124,4092 -#define I2O_SCSI_DEVICE_DSC_MASK 127,4119 -#define I2O_DETAIL_STATUS_UNSUPPORTED_FUNCTION 129,4175 -#define I2O_SCSI_DSC_MASK 131,4231 -#define I2O_SCSI_DSC_SUCCESS 132,4282 -#define I2O_SCSI_DSC_REQUEST_ABORTED 133,4333 -#define I2O_SCSI_DSC_UNABLE_TO_ABORT 134,4384 -#define I2O_SCSI_DSC_COMPLETE_WITH_ERROR 135,4435 -#define I2O_SCSI_DSC_ADAPTER_BUSY 136,4486 -#define I2O_SCSI_DSC_REQUEST_INVALID 137,4537 -#define I2O_SCSI_DSC_PATH_INVALID 138,4588 -#define I2O_SCSI_DSC_DEVICE_NOT_PRESENT 139,4639 -#define I2O_SCSI_DSC_UNABLE_TO_TERMINATE 140,4690 -#define I2O_SCSI_DSC_SELECTION_TIMEOUT 141,4741 -#define I2O_SCSI_DSC_COMMAND_TIMEOUT 142,4792 -#define I2O_SCSI_DSC_MR_MESSAGE_RECEIVED 143,4843 -#define I2O_SCSI_DSC_SCSI_BUS_RESET 144,4894 -#define I2O_SCSI_DSC_PARITY_ERROR_FAILURE 145,4945 -#define I2O_SCSI_DSC_AUTOSENSE_FAILED 146,4996 -#define I2O_SCSI_DSC_NO_ADAPTER 147,5047 -#define I2O_SCSI_DSC_DATA_OVERRUN 148,5098 -#define I2O_SCSI_DSC_UNEXPECTED_BUS_FREE 149,5149 -#define I2O_SCSI_DSC_SEQUENCE_FAILURE 150,5200 -#define I2O_SCSI_DSC_REQUEST_LENGTH_ERROR 151,5251 -#define I2O_SCSI_DSC_PROVIDE_FAILURE 152,5302 -#define I2O_SCSI_DSC_BDR_MESSAGE_SENT 153,5353 -#define I2O_SCSI_DSC_REQUEST_TERMINATED 154,5404 -#define I2O_SCSI_DSC_IDE_MESSAGE_SENT 155,5455 -#define I2O_SCSI_DSC_RESOURCE_UNAVAILABLE 156,5506 -#define I2O_SCSI_DSC_UNACKNOWLEDGED_EVENT 157,5557 -#define I2O_SCSI_DSC_MESSAGE_RECEIVED 158,5608 -#define I2O_SCSI_DSC_INVALID_CDB 159,5659 -#define I2O_SCSI_DSC_LUN_INVALID 160,5710 -#define I2O_SCSI_DSC_SCSI_TID_INVALID 161,5761 -#define I2O_SCSI_DSC_FUNCTION_UNAVAILABLE 162,5812 -#define I2O_SCSI_DSC_NO_NEXUS 163,5863 -#define I2O_SCSI_DSC_SCSI_IID_INVALID 164,5914 -#define I2O_SCSI_DSC_CDB_RECEIVED 165,5965 -#define I2O_SCSI_DSC_LUN_ALREADY_ENABLED 166,6016 -#define I2O_SCSI_DSC_BUS_BUSY 167,6067 -#define I2O_SCSI_DSC_QUEUE_FROZEN 168,6118 -#define TRUE 172,6184 -#define FALSE 173,6216 -#define HBA_FLAGS_INSTALLED_B 176,6256 -#define HBA_FLAGS_BLINKLED_B 177,6328 -#define HBA_FLAGS_IN_RESET 178,6405 -#define HBA_HOSTRESET_FAILED 179,6458 -#define DPTI_DEV_ONLINE 183,6550 -#define DPTI_DEV_UNSCANNED 184,6582 -#define DPTI_DEV_RESET 185,6614 -#define DPTI_DEV_OFFLINE 186,6645 -struct adpt_device adpt_device189,6679 -struct adpt_channel adpt_channel204,6919 -#define DPTI_STATE_RESET 214,7115 -#define DPTI_STATE_IOCTL 215,7147 -typedef struct _adpt_hba _adpt_hba217,7180 -} adpt_hba;adpt_hba261,8377 -struct sg_simple_element sg_simple_element263,8390 -#define PRINT_BUFFER_SIZE 342,11404 -#define HBA_FLAGS_DBG_FLAGS_MASK 344,11439 -#define HBA_FLAGS_DBG_KERNEL_PRINT_B 345,11515 -#define HBA_FLAGS_DBG_FW_PRINT_B 346,11592 -#define HBA_FLAGS_DBG_FUNCTION_ENTRY_B 347,11671 -#define HBA_FLAGS_DBG_FUNCTION_EXIT_B 348,11747 -#define HBA_FLAGS_DBG_ERROR_B 349,11816 -#define HBA_FLAGS_DBG_INIT_B 350,11888 -#define HBA_FLAGS_DBG_OS_COMMANDS_B 351,11955 -#define HBA_FLAGS_DBG_SCAN_B 352,12026 -#define FW_DEBUG_STR_LENGTH_OFFSET 354,12094 -#define FW_DEBUG_FLAGS_OFFSET 355,12131 -#define FW_DEBUG_BLED_OFFSET 356,12168 -#define FW_DEBUG_FLAGS_NO_HEADERS_B 358,12206 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/BusLogic.h,16842 -#define _BUSLOGIC_H29,1098 -#define PACKED 34,1161 -#define CONFIG_SCSI_OMIT_FLASHPOINT44,1360 -#define CONFIG_SCSI_OMIT_FLASHPOINT49,1458 -#define BusLogic_InitializeProbeInfoListISA 50,1494 -#define BusLogic_MaxHostAdapters 58,1667 -#define BusLogic_MaxTargetDevices 65,1785 -#define BusLogic_ScatterGatherLimit 74,2052 -#define BusLogic_MaxTaggedQueueDepth 83,2326 -#define BusLogic_MaxAutomaticTaggedQueueDepth 84,2367 -#define BusLogic_MinAutomaticTaggedQueueDepth 85,2416 -#define BusLogic_TaggedQueueDepthBB 86,2464 -#define BusLogic_UntaggedQueueDepth 87,2503 -#define BusLogic_UntaggedQueueDepthBB 88,2542 -#define BusLogic_DefaultBusSettleTime 98,2845 -#define BusLogic_MaxMailboxes 108,3173 -#define BusLogic_CCB_AllocationGroupSize 116,3322 -#define BusLogic_LineBufferSize 123,3431 -#define BusLogic_MessageBufferSize 124,3469 -enum BusLogic_MessageLevel BusLogic_MessageLevel131,3555 - BusLogic_AnnounceLevel 132,3584 - BusLogic_InfoLevel 133,3613 - BusLogic_NoticeLevel 134,3638 - BusLogic_WarningLevel 135,3665 - BusLogic_ErrorLevel 136,3693 -static char *BusLogic_MessageLevelMap[139,3722 -#define BusLogic_Announce(BusLogic_Announce146,3872 -#define BusLogic_Info(BusLogic_Info149,3987 -#define BusLogic_Notice(BusLogic_Notice152,4094 -#define BusLogic_Warning(BusLogic_Warning155,4205 -#define BusLogic_Error(BusLogic_Error158,4318 -enum BusLogic_HostAdapterType BusLogic_HostAdapterType167,4556 - BusLogic_MultiMaster 168,4588 - BusLogic_FlashPoint 169,4615 -#define BusLogic_MultiMasterAddressCount 172,4651 -#define BusLogic_FlashPointAddressCount 173,4694 -static int BusLogic_HostAdapterAddressCount[175,4740 -#define BusLogic_MultiMasterHostAdapterP(BusLogic_MultiMasterHostAdapterP184,4960 -#define BusLogic_FlashPointHostAdapterP(BusLogic_FlashPointHostAdapterP187,5074 -#define BusLogic_MultiMasterHostAdapterP(BusLogic_MultiMasterHostAdapterP192,5193 -#define BusLogic_FlashPointHostAdapterP(BusLogic_FlashPointHostAdapterP195,5259 -enum BusLogic_HostAdapterBusType BusLogic_HostAdapterBusType205,5387 - BusLogic_Unknown_Bus 206,5422 - BusLogic_ISA_Bus 207,5449 - BusLogic_EISA_Bus 208,5472 - BusLogic_PCI_Bus 209,5496 - BusLogic_VESA_Bus 210,5519 - BusLogic_MCA_Bus 211,5543 -static char *BusLogic_HostAdapterBusNames[214,5576 -static enum BusLogic_HostAdapterBusType BusLogic_HostAdapterBusTypes[216,5675 -enum BusLogic_BIOS_DiskGeometryTranslation BusLogic_BIOS_DiskGeometryTranslation229,6026 - BusLogic_BIOS_Disk_Not_Installed 230,6071 - BusLogic_BIOS_Disk_Installed_64x32 231,6110 - BusLogic_BIOS_Disk_Installed_128x32 232,6151 - BusLogic_BIOS_Disk_Installed_255x63 233,6193 - false,242,6298 - true243,6306 -} PACKED boolean;boolean244,6312 -struct BusLogic_ByteCounter BusLogic_ByteCounter250,6390 -struct BusLogic_ProbeInfo BusLogic_ProbeInfo260,6545 -struct BusLogic_ProbeOptions BusLogic_ProbeOptions275,6869 -struct BusLogic_GlobalOptions BusLogic_GlobalOptions295,7398 -struct BusLogic_LocalOptions BusLogic_LocalOptions306,7626 -#define BusLogic_ControlRegisterOffset 314,7775 -#define BusLogic_StatusRegisterOffset 315,7835 -#define BusLogic_CommandParameterRegisterOffset 316,7894 -#define BusLogic_DataInRegisterOffset 317,7962 -#define BusLogic_InterruptRegisterOffset 318,8021 -#define BusLogic_GeometryRegisterOffset 319,8082 -union BusLogic_ControlRegister BusLogic_ControlRegister325,8210 -union BusLogic_StatusRegister BusLogic_StatusRegister340,8530 -union BusLogic_InterruptRegister BusLogic_InterruptRegister358,9018 -union BusLogic_GeometryRegister BusLogic_GeometryRegister374,9423 -enum BusLogic_OperationCode BusLogic_OperationCode388,9821 - BusLogic_TestCommandCompleteInterrupt 389,9851 - BusLogic_TestCommandCompleteInterrupt = 0x00,389,9851 - BusLogic_InitializeMailbox 390,9898 - BusLogic_InitializeMailbox = 0x01,390,9898 - BusLogic_ExecuteMailboxCommand 391,9934 - BusLogic_ExecuteMailboxCommand = 0x02,391,9934 - BusLogic_ExecuteBIOSCommand 392,9974 - BusLogic_ExecuteBIOSCommand = 0x03,392,9974 - BusLogic_InquireBoardID 393,10011 - BusLogic_InquireBoardID = 0x04,393,10011 - BusLogic_EnableOutgoingMailboxAvailableInt 394,10044 - BusLogic_EnableOutgoingMailboxAvailableInt = 0x05,394,10044 - BusLogic_SetSCSISelectionTimeout 395,10096 - BusLogic_SetSCSISelectionTimeout = 0x06,395,10096 - BusLogic_SetPreemptTimeOnBus 396,10138 - BusLogic_SetPreemptTimeOnBus = 0x07,396,10138 - BusLogic_SetTimeOffBus 397,10176 - BusLogic_SetTimeOffBus = 0x08,397,10176 - BusLogic_SetBusTransferRate 398,10208 - BusLogic_SetBusTransferRate = 0x09,398,10208 - BusLogic_InquireInstalledDevicesID0to7 399,10245 - BusLogic_InquireInstalledDevicesID0to7 = 0x0A,399,10245 - BusLogic_InquireConfiguration 400,10293 - BusLogic_InquireConfiguration = 0x0B,400,10293 - BusLogic_EnableTargetMode 401,10332 - BusLogic_EnableTargetMode = 0x0C,401,10332 - BusLogic_InquireSetupInformation 402,10367 - BusLogic_InquireSetupInformation = 0x0D,402,10367 - BusLogic_WriteAdapterLocalRAM 403,10409 - BusLogic_WriteAdapterLocalRAM = 0x1A,403,10409 - BusLogic_ReadAdapterLocalRAM 404,10448 - BusLogic_ReadAdapterLocalRAM = 0x1B,404,10448 - BusLogic_WriteBusMasterChipFIFO 405,10486 - BusLogic_WriteBusMasterChipFIFO = 0x1C,405,10486 - BusLogic_ReadBusMasterChipFIFO 406,10527 - BusLogic_ReadBusMasterChipFIFO = 0x1D,406,10527 - BusLogic_EchoCommandData 407,10567 - BusLogic_EchoCommandData = 0x1F,407,10567 - BusLogic_HostAdapterDiagnostic 408,10601 - BusLogic_HostAdapterDiagnostic = 0x20,408,10601 - BusLogic_SetAdapterOptions 409,10641 - BusLogic_SetAdapterOptions = 0x21,409,10641 - BusLogic_InquireInstalledDevicesID8to15 410,10677 - BusLogic_InquireInstalledDevicesID8to15 = 0x23,410,10677 - BusLogic_InquireTargetDevices 411,10726 - BusLogic_InquireTargetDevices = 0x24,411,10726 - BusLogic_DisableHostAdapterInterrupt 412,10765 - BusLogic_DisableHostAdapterInterrupt = 0x25,412,10765 - BusLogic_InitializeExtendedMailbox 413,10811 - BusLogic_InitializeExtendedMailbox = 0x81,413,10811 - BusLogic_ExecuteSCSICommand 414,10855 - BusLogic_ExecuteSCSICommand = 0x83,414,10855 - BusLogic_InquireFirmwareVersion3rdDigit 415,10892 - BusLogic_InquireFirmwareVersion3rdDigit = 0x84,415,10892 - BusLogic_InquireFirmwareVersionLetter 416,10941 - BusLogic_InquireFirmwareVersionLetter = 0x85,416,10941 - BusLogic_InquirePCIHostAdapterInformation 417,10988 - BusLogic_InquirePCIHostAdapterInformation = 0x86,417,10988 - BusLogic_InquireHostAdapterModelNumber 418,11039 - BusLogic_InquireHostAdapterModelNumber = 0x8B,418,11039 - BusLogic_InquireSynchronousPeriod 419,11087 - BusLogic_InquireSynchronousPeriod = 0x8C,419,11087 - BusLogic_InquireExtendedSetupInformation 420,11130 - BusLogic_InquireExtendedSetupInformation = 0x8D,420,11130 - BusLogic_EnableStrictRoundRobinMode 421,11180 - BusLogic_EnableStrictRoundRobinMode = 0x8F,421,11180 - BusLogic_StoreHostAdapterLocalRAM 422,11225 - BusLogic_StoreHostAdapterLocalRAM = 0x90,422,11225 - BusLogic_FetchHostAdapterLocalRAM 423,11268 - BusLogic_FetchHostAdapterLocalRAM = 0x91,423,11268 - BusLogic_StoreLocalDataInEEPROM 424,11311 - BusLogic_StoreLocalDataInEEPROM = 0x92,424,11311 - BusLogic_UploadAutoSCSICode 425,11352 - BusLogic_UploadAutoSCSICode = 0x94,425,11352 - BusLogic_ModifyIOAddress 426,11389 - BusLogic_ModifyIOAddress = 0x95,426,11389 - BusLogic_SetCCBFormat 427,11423 - BusLogic_SetCCBFormat = 0x96,427,11423 - BusLogic_WriteInquiryBuffer 428,11454 - BusLogic_WriteInquiryBuffer = 0x9A,428,11454 - BusLogic_ReadInquiryBuffer 429,11491 - BusLogic_ReadInquiryBuffer = 0x9B,429,11491 - BusLogic_FlashROMUploadDownload 430,11527 - BusLogic_FlashROMUploadDownload = 0xA7,430,11527 - BusLogic_ReadSCAMData 431,11568 - BusLogic_ReadSCAMData = 0xA8,431,11568 - BusLogic_WriteSCAMData 432,11599 - BusLogic_WriteSCAMData = 0xA9432,11599 -struct BusLogic_BoardID BusLogic_BoardID439,11688 -struct BusLogic_Configuration BusLogic_Configuration450,11966 -struct BusLogic_SynchronousValue BusLogic_SynchronousValue471,12674 -struct BusLogic_SetupInformation BusLogic_SetupInformation477,12837 -struct BusLogic_ExtendedMailboxRequest BusLogic_ExtendedMailboxRequest504,13979 -} PACKED;507,14103 -enum BusLogic_ISACompatibleIOPort BusLogic_ISACompatibleIOPort516,14296 - BusLogic_IO_330 517,14332 - BusLogic_IO_334 518,14354 - BusLogic_IO_230 519,14376 - BusLogic_IO_234 520,14398 - BusLogic_IO_130 521,14420 - BusLogic_IO_134 522,14442 - BusLogic_IO_Disable 523,14464 - BusLogic_IO_Disable2 524,14490 -struct BusLogic_PCIHostAdapterInformation BusLogic_PCIHostAdapterInformation527,14527 -struct BusLogic_ExtendedSetupInformation BusLogic_ExtendedSetupInformation544,15093 -} PACKED;564,15929 -enum BusLogic_RoundRobinModeRequest BusLogic_RoundRobinModeRequest570,16005 - BusLogic_AggressiveRoundRobinMode 571,16043 - BusLogic_StrictRoundRobinMode 572,16083 -#define BusLogic_BIOS_BaseOffset 580,16193 -#define BusLogic_AutoSCSI_BaseOffset 581,16229 -struct BusLogic_FetchHostAdapterLocalRAMRequest BusLogic_FetchHostAdapterLocalRAMRequest583,16271 -struct BusLogic_AutoSCSIData BusLogic_AutoSCSIData592,16467 -} PACKED;661,19956 -struct BusLogic_AutoSCSIByte45 BusLogic_AutoSCSIByte45667,20039 -#define BusLogic_BIOS_DriveMapOffset 676,20241 -struct BusLogic_BIOSDriveMapByte BusLogic_BIOSDriveMapByte678,20283 -enum BusLogic_SetCCBFormatRequest BusLogic_SetCCBFormatRequest690,20662 - BusLogic_LegacyLUNFormatCCB 691,20698 - BusLogic_ExtendedLUNFormatCCB 692,20732 -enum BusLogic_ActionCode BusLogic_ActionCode699,20829 - BusLogic_OutgoingMailboxFree 700,20856 - BusLogic_OutgoingMailboxFree = 0x00,700,20856 - BusLogic_MailboxStartCommand 701,20894 - BusLogic_MailboxStartCommand = 0x01,701,20894 - BusLogic_MailboxAbortCommand 702,20932 - BusLogic_MailboxAbortCommand = 0x02702,20932 -enum BusLogic_CompletionCode BusLogic_CompletionCode712,21214 - BusLogic_IncomingMailboxFree 713,21245 - BusLogic_IncomingMailboxFree = 0x00,713,21245 - BusLogic_CommandCompletedWithoutError 714,21283 - BusLogic_CommandCompletedWithoutError = 0x01,714,21283 - BusLogic_CommandAbortedAtHostRequest 715,21330 - BusLogic_CommandAbortedAtHostRequest = 0x02,715,21330 - BusLogic_AbortedCommandNotFound 716,21376 - BusLogic_AbortedCommandNotFound = 0x03,716,21376 - BusLogic_CommandCompletedWithError 717,21417 - BusLogic_CommandCompletedWithError = 0x04,717,21417 - BusLogic_InvalidCCB 718,21461 - BusLogic_InvalidCCB = 0x05718,21461 -enum BusLogic_CCB_Opcode BusLogic_CCB_Opcode725,21557 - BusLogic_InitiatorCCB 726,21584 - BusLogic_InitiatorCCB = 0x00,726,21584 - BusLogic_TargetCCB 727,21615 - BusLogic_TargetCCB = 0x01,727,21615 - BusLogic_InitiatorCCB_ScatterGather 728,21643 - BusLogic_InitiatorCCB_ScatterGather = 0x02,728,21643 - BusLogic_InitiatorCCB_ResidualDataLength 729,21688 - BusLogic_InitiatorCCB_ResidualDataLength = 0x03,729,21688 - BusLogic_InitiatorCCB_ScatterGatherResidual 730,21738 - BusLogic_InitiatorCCB_ScatterGatherResidual = 0x04,730,21738 - BusLogic_BusDeviceReset 731,21791 - BusLogic_BusDeviceReset = 0x81731,21791 -enum BusLogic_DataDirection BusLogic_DataDirection739,21881 - BusLogic_UncheckedDataTransfer 740,21911 - BusLogic_DataInLengthChecked 741,21948 - BusLogic_DataOutLengthChecked 742,21983 - BusLogic_NoDataTransfer 743,22019 -enum BusLogic_HostAdapterStatus BusLogic_HostAdapterStatus752,22208 - BusLogic_CommandCompletedNormally 753,22242 - BusLogic_CommandCompletedNormally = 0x00,753,22242 - BusLogic_LinkedCommandCompleted 754,22285 - BusLogic_LinkedCommandCompleted = 0x0A,754,22285 - BusLogic_LinkedCommandCompletedWithFlag 755,22326 - BusLogic_LinkedCommandCompletedWithFlag = 0x0B,755,22326 - BusLogic_DataUnderRun 756,22375 - BusLogic_DataUnderRun = 0x0C,756,22375 - BusLogic_SCSISelectionTimeout 757,22406 - BusLogic_SCSISelectionTimeout = 0x11,757,22406 - BusLogic_DataOverRun 758,22445 - BusLogic_DataOverRun = 0x12,758,22445 - BusLogic_UnexpectedBusFree 759,22475 - BusLogic_UnexpectedBusFree = 0x13,759,22475 - BusLogic_InvalidBusPhaseRequested 760,22511 - BusLogic_InvalidBusPhaseRequested = 0x14,760,22511 - BusLogic_InvalidOutgoingMailboxActionCode 761,22554 - BusLogic_InvalidOutgoingMailboxActionCode = 0x15,761,22554 - BusLogic_InvalidCommandOperationCode 762,22605 - BusLogic_InvalidCommandOperationCode = 0x16,762,22605 - BusLogic_LinkedCCBhasInvalidLUN 763,22651 - BusLogic_LinkedCCBhasInvalidLUN = 0x17,763,22651 - BusLogic_InvalidCommandParameter 764,22692 - BusLogic_InvalidCommandParameter = 0x1A,764,22692 - BusLogic_AutoRequestSenseFailed 765,22734 - BusLogic_AutoRequestSenseFailed = 0x1B,765,22734 - BusLogic_TaggedQueuingMessageRejected 766,22775 - BusLogic_TaggedQueuingMessageRejected = 0x1C,766,22775 - BusLogic_UnsupportedMessageReceived 767,22822 - BusLogic_UnsupportedMessageReceived = 0x1D,767,22822 - BusLogic_HostAdapterHardwareFailed 768,22867 - BusLogic_HostAdapterHardwareFailed = 0x20,768,22867 - BusLogic_TargetFailedResponseToATN 769,22911 - BusLogic_TargetFailedResponseToATN = 0x21,769,22911 - BusLogic_HostAdapterAssertedRST 770,22955 - BusLogic_HostAdapterAssertedRST = 0x22,770,22955 - BusLogic_OtherDeviceAssertedRST 771,22996 - BusLogic_OtherDeviceAssertedRST = 0x23,771,22996 - BusLogic_TargetDeviceReconnectedImproperly 772,23037 - BusLogic_TargetDeviceReconnectedImproperly = 0x24,772,23037 - BusLogic_HostAdapterAssertedBusDeviceReset 773,23089 - BusLogic_HostAdapterAssertedBusDeviceReset = 0x25,773,23089 - BusLogic_AbortQueueGenerated 774,23141 - BusLogic_AbortQueueGenerated = 0x26,774,23141 - BusLogic_HostAdapterSoftwareError 775,23179 - BusLogic_HostAdapterSoftwareError = 0x27,775,23179 - BusLogic_HostAdapterHardwareTimeoutError 776,23222 - BusLogic_HostAdapterHardwareTimeoutError = 0x30,776,23222 - BusLogic_SCSIParityErrorDetected 777,23272 - BusLogic_SCSIParityErrorDetected = 0x34777,23272 -enum BusLogic_TargetDeviceStatus BusLogic_TargetDeviceStatus785,23378 - BusLogic_OperationGood 786,23413 - BusLogic_OperationGood = 0x00,786,23413 - BusLogic_CheckCondition 787,23445 - BusLogic_CheckCondition = 0x02,787,23445 - BusLogic_DeviceBusy 788,23478 - BusLogic_DeviceBusy = 0x08788,23478 -enum BusLogic_QueueTag BusLogic_QueueTag795,23554 - BusLogic_SimpleQueueTag 796,23579 - BusLogic_HeadOfQueueTag 797,23609 - BusLogic_OrderedQueueTag 798,23639 - BusLogic_ReservedQT 799,23670 -#define BusLogic_CDB_MaxLength 806,23756 -typedef unsigned char SCSI_CDB_T[SCSI_CDB_T808,23793 -struct BusLogic_ScatterGatherSegment BusLogic_ScatterGatherSegment816,23988 -enum BusLogic_CCB_Status BusLogic_CCB_Status825,24156 - BusLogic_CCB_Free 826,24183 - BusLogic_CCB_Active 827,24207 - BusLogic_CCB_Completed 828,24233 - BusLogic_CCB_Reset 829,24262 -struct BusLogic_CCB BusLogic_CCB852,25508 -struct BusLogic_OutgoingMailbox BusLogic_OutgoingMailbox909,27462 -struct BusLogic_IncomingMailbox BusLogic_IncomingMailbox919,27672 -struct BusLogic_DriverOptions BusLogic_DriverOptions932,28015 -struct BusLogic_TargetFlags BusLogic_TargetFlags945,28354 -#define BusLogic_SizeBuckets 959,28674 -typedef unsigned int BusLogic_CommandSizeBuckets_T[BusLogic_CommandSizeBuckets_T961,28709 -struct BusLogic_TargetStatistics BusLogic_TargetStatistics963,28784 -#define FlashPoint_BadCardHandle 987,29582 -typedef unsigned int FlashPoint_CardHandle_T;FlashPoint_CardHandle_T989,29628 -struct FlashPoint_Info FlashPoint_Info997,29791 -struct BusLogic_HostAdapter BusLogic_HostAdapter1034,31267 -struct BIOS_DiskParameters BIOS_DiskParameters1134,34953 -struct SCSI_Inquiry SCSI_Inquiry1144,35094 -static inline void BusLogic_AcquireHostAdapterLock(1176,36340 -static inline void BusLogic_ReleaseHostAdapterLock(1185,36573 -static inline void BusLogic_AcquireHostAdapterLockIH(1196,36860 -static inline void BusLogic_ReleaseHostAdapterLockIH(1207,37199 -static inline void BusLogic_SCSIBusReset(1218,37518 -static inline void BusLogic_InterruptReset(1226,37808 -static inline void BusLogic_SoftReset(1234,38102 -static inline void BusLogic_HardReset(1242,38386 -static inline unsigned char BusLogic_ReadStatusRegister(1250,38670 -static inline void BusLogic_WriteCommandParameterRegister(1255,38843 -static inline unsigned char BusLogic_ReadDataInRegister(1261,39059 -static inline unsigned char BusLogic_ReadInterruptRegister(1266,39232 -static inline unsigned char BusLogic_ReadGeometryRegister(1271,39411 -static inline void BusLogic_StartMailboxCommand(1282,39749 -static inline void BusLogic_Delay(1291,39983 -static inline u32 Virtual_to_Bus(1301,40178 -static inline void *Bus_to_Virtual(1306,40281 -static inline u32 Virtual_to_32Bit_Virtual(1317,40551 -static inline void BusLogic_IncrementErrorCounter(1327,40792 -static inline void BusLogic_IncrementByteCounter(1337,41000 -static inline void BusLogic_IncrementSizeBucket(1351,41332 -#define FlashPoint_FirmwareVersion 1373,41917 -#define FlashPoint_NormalInterrupt 1379,42037 -#define FlashPoint_InternalError 1380,42078 -#define FlashPoint_ExternalBusReset 1381,42117 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ql1280_fw.h,461 -unsigned short fw1280ei_version 30,1145 -unsigned short risc_code_version 32,1196 -unsigned char fw1280ei_version_str[36,1272 -unsigned char firmware_version[38,1327 -#define fw1280ei_VERSION_STRING 42,1402 -#define FW_VERSION_STRING 44,1450 -unsigned short fw1280ei_addr01 48,1516 -unsigned short risc_code_addr01 50,1563 -unsigned short fw1280ei_code01[54,1635 -unsigned short fw1280ei_length01 2020,129102 -unsigned short risc_code_length01 2022,129153 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTSi2c.c,1075 -enum boolean boolean28,1131 -enum boolean { FALSE,28,1131 -enum boolean { FALSE, TRUE 28,1131 -typedef __u8 UCHAR;UCHAR32,1178 -typedef __u8 BOOLEAN;BOOLEAN35,1221 -typedef __u16 USHORT;USHORT38,1265 -typedef __u32 ULONG;ULONG41,1308 -#define SET_DATA_HI 69,2112 -#define SET_DATA_LO 70,2137 -#define SET_CLOCK_HI 71,2162 -#define SET_CLOCK_LO 72,2187 -#define SENSE_DATA_HI 74,2213 -#define SENSE_DATA_LO 75,2240 -#define SENSE_CLOCK_HI 76,2267 -#define SENSE_CLOCK_LO 77,2294 -#define SLAVE_READ_ADDRESS 79,2322 -#define SLAVE_WRITE_ADDRESS 80,2357 -static unsigned short tl_i2c_rx_ack(95,2799 -static UCHAR tl_read_i2c_data(117,3444 -static void tl_write_i2c_reg(130,3933 -static unsigned short tl_i2c_tx_start(152,4753 -static unsigned short tl_i2c_tx_stop(193,5873 -static void tl_i2c_tx_byte(222,6724 -static UCHAR tl_i2c_rx_byte(241,7240 -unsigned long cpqfcTS_ReadNVRAM(267,8095 -static void tl_set_clock(323,9503 -static void tl_clr_clock(332,9673 -static void tl_i2c_clock_pulse(348,10023 -int cpqfcTS_GetNVRAM_data(387,10761 -static void i2c_delay(468,12112 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dc395x.h,11369 -#define DC395x_H11,379 -#define DC395x_MAX_CMD_QUEUE 18,602 -#define DC395x_MAX_QTAGS 20,670 -#define DC395x_MAX_SCSI_ID 21,699 -#define DC395x_MAX_CMD_PER_LUN 22,730 -#define DC395x_MAX_SG_TABLESIZE 23,779 -#define DC395x_MAX_SG_LISTENTRY 24,837 -#define DC395x_MAX_SRB_CNT 26,935 -#define DC395x_MAX_CAN_QUEUE 28,1023 -#define DC395x_END_SCAN 29,1072 -#define DC395x_SEL_TIMEOUT 30,1100 -#define DC395x_MAX_RETRIES 31,1174 -#define SYNC_FIRST34,1211 -#define NORM_REC_LVL 37,1238 -#define BIT31 44,1473 -#define BIT30 45,1501 -#define BIT29 46,1529 -#define BIT28 47,1557 -#define BIT27 48,1585 -#define BIT26 49,1613 -#define BIT25 50,1641 -#define BIT24 51,1669 -#define BIT23 52,1697 -#define BIT22 53,1725 -#define BIT21 54,1753 -#define BIT20 55,1781 -#define BIT19 56,1809 -#define BIT18 57,1837 -#define BIT17 58,1865 -#define BIT16 59,1893 -#define BIT15 60,1921 -#define BIT14 61,1949 -#define BIT13 62,1977 -#define BIT12 63,2005 -#define BIT11 64,2033 -#define BIT10 65,2061 -#define BIT9 66,2089 -#define BIT8 67,2116 -#define BIT7 68,2143 -#define BIT6 69,2170 -#define BIT5 70,2197 -#define BIT4 71,2224 -#define BIT3 72,2251 -#define BIT2 73,2278 -#define BIT1 74,2305 -#define BIT0 75,2332 -#define UNIT_ALLOCATED 78,2379 -#define UNIT_INFO_CHANGED 79,2409 -#define FORMATING_MEDIA 80,2441 -#define UNIT_RETRY 81,2472 -#define DASD_SUPPORT 84,2515 -#define SCSI_SUPPORT 85,2543 -#define ASPI_SUPPORT 86,2571 -#define SRB_FREE 89,2634 -#define SRB_WAIT 90,2660 -#define SRB_READY 91,2686 -#define SRB_MSGOUT 92,2713 -#define SRB_MSGIN 93,2777 -#define SRB_EXTEND_MSGIN 94,2804 -#define SRB_COMMAND 95,2837 -#define SRB_START_ 96,2866 -#define SRB_DISCONNECT 97,2932 -#define SRB_DATA_XFER 98,2964 -#define SRB_XFERPAD 99,2995 -#define SRB_STATUS 100,3024 -#define SRB_COMPLETED 101,3052 -#define SRB_ABORT_SENT 102,3083 -#define SRB_DO_SYNC_NEGO 103,3115 -#define SRB_DO_WIDE_NEGO 104,3148 -#define SRB_UNEXPECT_RESEL 105,3181 -#define HCC_WIDE_CARD 112,3418 -#define HCC_SCSI_RESET 113,3447 -#define HCC_PARITY 114,3477 -#define HCC_AUTOTERM 115,3503 -#define HCC_LOW8TERM 116,3531 -#define HCC_UP8TERM 117,3559 -#define RESET_DEV 120,3601 -#define RESET_DETECT 121,3626 -#define RESET_DONE 122,3654 -#define ABORT_DEV_ 125,3695 -#define SRB_OK 128,3738 -#define ABORTION 129,3761 -#define OVER_RUN 130,3785 -#define UNDER_RUN 131,3809 -#define PARITY_ERROR 132,3834 -#define SRB_ERROR 133,3862 -#define DATAOUT 136,3902 -#define DATAIN 137,3926 -#define RESIDUAL_VALID 138,3949 -#define ENABLE_TIMER 139,3979 -#define RESET_DEV0 140,4007 -#define ABORT_DEV 141,4033 -#define AUTO_REQSENSE 142,4058 -#define H_STATUS_GOOD 145,4109 -#define H_SEL_TIMEOUT 146,4135 -#define H_OVER_UNDER_RUN 147,4164 -#define H_UNEXP_BUS_FREE 148,4195 -#define H_TARGET_PHASE_F 149,4226 -#define H_INVALID_CCB_OP 150,4257 -#define H_LINK_CCB_BAD 151,4288 -#define H_BAD_TARGET_DIR 152,4318 -#define H_DUPLICATE_CCB 153,4349 -#define H_BAD_CCB_OR_SG 154,4380 -#define H_ABORT 155,4411 -#define SCSI_STAT_GOOD 158,4470 -#define SCSI_STAT_CHECKCOND 159,4520 -#define SCSI_STAT_CONDMET 160,4583 -#define SCSI_STAT_BUSY 161,4637 -#define SCSI_STAT_INTER 162,4694 -#define SCSI_STAT_INTERCONDMET 163,4753 -#define SCSI_STAT_RESCONFLICT 164,4824 -#define SCSI_STAT_CMDTERM 165,4889 -#define SCSI_STAT_QUEUEFULL 166,4948 -#define SCSI_STAT_UNEXP_BUS_F 167,5002 -#define SCSI_STAT_BUS_RST_DETECT 168,5064 -#define SCSI_STAT_SEL_TIMEOUT 169,5133 -#define SYNC_WIDE_TAG_ATNT_DISABLE 172,5213 -#define SYNC_NEGO_ENABLE 173,5250 -#define SYNC_NEGO_DONE 174,5281 -#define WIDE_NEGO_ENABLE 175,5311 -#define WIDE_NEGO_DONE 176,5342 -#define WIDE_NEGO_STATE 177,5372 -#define EN_TAG_QUEUEING 178,5403 -#define EN_ATN_STOP 179,5434 -#define SYNC_NEGO_OFFSET 181,5462 -#define MSG_COMPLETE 184,5512 -#define MSG_EXTENDED 185,5540 -#define MSG_SAVE_PTR 186,5568 -#define MSG_RESTORE_PTR 187,5596 -#define MSG_DISCONNECT 188,5627 -#define MSG_INITIATOR_ERROR 189,5657 -#define MSG_ABORT 190,5691 -#define MSG_REJECT_ 191,5716 -#define MSG_NOP 192,5743 -#define MSG_PARITY_ERROR 193,5767 -#define MSG_LINK_CMD_COMPL 194,5798 -#define MSG_LINK_CMD_COMPL_FLG 195,5831 -#define MSG_BUS_RESET 196,5868 -#define MSG_ABORT_TAG 197,5897 -#define MSG_SIMPLE_QTAG 198,5926 -#define MSG_HEAD_QTAG 199,5957 -#define MSG_ORDER_QTAG 200,5986 -#define MSG_IGNOREWIDE 201,6016 -#define MSG_IDENTIFY 202,6046 -#define MSG_HOST_ID 203,6074 -#define STATUS_GOOD 206,6125 -#define CHECK_CONDITION_ 207,6152 -#define STATUS_BUSY 208,6183 -#define STATUS_INTERMEDIATE 209,6210 -#define RESERVE_CONFLICT 210,6244 -#define STATUS_MASK_ 213,6294 -#define MSG_MASK 214,6322 -#define RETURN_MASK 215,6348 -struct ScsiInqDataScsiInqData222,6589 -#define SCSI_DEVTYPE 238,7198 -#define SCSI_PERIPHQUAL 239,7256 -#define SCSI_REMOVABLE_MEDIA 241,7350 -#define TYPE_NODEV 244,7509 -# define TYPE_PRINTER 246,7609 -# define TYPE_COMM 249,7714 -#define SCSI_INQ_RELADR 257,8006 -#define SCSI_INQ_WBUS32 258,8079 -#define SCSI_INQ_WBUS16 259,8150 -#define SCSI_INQ_SYNC 260,8221 -#define SCSI_INQ_LINKED 261,8289 -#define SCSI_INQ_CMDQUEUE 262,8358 -#define SCSI_INQ_SFTRE 263,8429 -#define ENABLE_CE 265,8495 -#define DISABLE_CE 266,8517 -#define EEPROM_READ 267,8540 -#define TRM_S1040_ID 274,8805 -#define TRM_S1040_COMMAND 275,8862 -#define TRM_S1040_IOBASE 276,8923 -#define TRM_S1040_ROMBASE 277,8984 -#define TRM_S1040_INTLINE 278,9050 -#define TRM_S1040_SCSI_STATUS 285,9332 -#define COMMANDPHASEDONE 286,9392 -#define SCSIXFERDONE 287,9456 -#define SCSIXFERCNT_2_ZERO 288,9517 -#define SCSIINTERRUPT 289,9591 -#define COMMANDABORT 290,9652 -#define SEQUENCERACTIVE 291,9709 -#define PHASEMISMATCH 292,9771 -#define PARITYERROR 293,9830 -#define PHASEMASK 295,9886 -#define PH_DATA_OUT 296,9937 -#define PH_DATA_IN 297,9987 -#define PH_COMMAND 298,10035 -#define PH_STATUS 299,10083 -#define PH_BUS_FREE 300,10130 -#define PH_MSG_OUT 301,10194 -#define PH_MSG_IN 302,10246 -#define TRM_S1040_SCSI_CONTROL 304,10297 -#define DO_CLRATN 305,10359 -#define DO_SETATN 306,10405 -#define DO_CMDABORT 307,10449 -#define DO_RSTMODULE 308,10505 -#define DO_RSTSCSI 309,10559 -#define DO_CLRFIFO 310,10610 -#define DO_DATALATCH 311,10670 -#define DO_HWRESELECT 313,10817 -#define TRM_S1040_SCSI_FIFOCNT 315,10884 -#define TRM_S1040_SCSI_SIGNAL 316,10955 -#define TRM_S1040_SCSI_INTSTATUS 318,11027 -#define INT_SCAM 319,11098 -#define INT_SELECT 320,11154 -#define INT_SELTIMEOUT 321,11208 -#define INT_DISCONNECT 322,11273 -#define INT_RESELECTED 323,11337 -#define INT_SCSIRESET 324,11396 -#define INT_BUSSERVICE 325,11461 -#define INT_CMDDONE 326,11520 -#define TRM_S1040_SCSI_OFFSET 328,11583 -#define TRM_S1040_SCSI_SYNC 340,12062 -#define LVDS_SYNC 341,12133 -#define WIDE_SYNC 342,12189 -#define ALT_SYNC 343,12245 -#define TRM_S1040_SCSI_TARGETID 415,14832 -#define TRM_S1040_SCSI_IDMSG 416,14899 -#define TRM_S1040_SCSI_HOSTID 417,14967 -#define TRM_S1040_SCSI_COUNTER 418,15028 -#define TRM_S1040_SCSI_INTEN 420,15106 -#define EN_SCAM 421,15176 -#define EN_SELECT 422,15238 -#define EN_SELTIMEOUT 423,15297 -#define EN_DISCONNECT 424,15367 -#define EN_RESELECTED 425,15436 -#define EN_SCSIRESET 426,15500 -#define EN_BUSSERVICE 427,15571 -#define EN_CMDDONE 428,15636 -#define TRM_S1040_SCSI_CONFIG0 430,15704 -#define PHASELATCH 431,15775 -#define INITIATOR 432,15828 -#define PARITYCHECK 433,15882 -#define BLOCKRST 434,15937 -#define TRM_S1040_SCSI_CONFIG1 436,15990 -#define ACTIVE_NEGPLUS 437,16061 -#define FILTER_DISABLE 438,16122 -#define FAST_FILTER 439,16184 -#define ACTIVE_NEG 440,16223 -#define TRM_S1040_SCSI_CONFIG2 442,16280 -#define CFG2_WIDEFIFO 443,16351 -#define TRM_S1040_SCSI_COMMAND 445,16391 -#define SCMD_COMP 446,16455 -#define SCMD_SEL_ATN 447,16505 -#define SCMD_SEL_ATN3 448,16560 -#define SCMD_SEL_ATNSTOP 449,16617 -#define SCMD_FIFO_OUT 450,16683 -#define SCMD_DMA_OUT 451,16742 -#define SCMD_FIFO_IN 452,16799 -#define SCMD_DMA_IN 453,16856 -#define SCMD_MSGACCEPT 454,16912 -#define TRM_S1040_SCSI_TIMEOUT 500,18722 -#define TRM_S1040_SCSI_FIFO 501,18792 -#define TRM_S1040_SCSI_TCR0 503,18851 -#define TCR0_WIDE_NEGO_DONE 504,18920 -#define TCR0_SYNC_NEGO_DONE 505,18979 -#define TCR0_ENABLE_LVDS 506,19044 -#define TCR0_ENABLE_WIDE 507,19108 -#define TCR0_ENABLE_ALT 508,19172 -#define TCR0_PERIOD_MASK 509,19241 -#define TCR0_DO_WIDE_NEGO 511,19297 -#define TCR0_DO_SYNC_NEGO 512,19353 -#define TCR0_DISCONNECT_EN 513,19409 -#define TCR0_OFFSET_MASK 514,19473 -#define TRM_S1040_SCSI_TCR1 516,19529 -#define MAXTAG_MASK 517,19598 -#define NON_TAG_BUSY 518,19654 -#define ACTTAG_MASK 519,19714 -#define TRM_S1040_DMA_COMMAND 526,19990 -#define DMACMD_SG 527,20052 -#define DMACMD_DIR 528,20106 -#define XFERDATAIN_SG 529,20171 -#define XFERDATAOUT_SG 530,20234 -#define XFERDATAIN 531,20298 -#define XFERDATAOUT 532,20358 -#define TRM_S1040_DMA_FIFOCNT 534,20420 -#define TRM_S1040_DMA_CONTROL 536,20486 -#define DMARESETMODULE 537,20546 -#define STOPDMAXFER 538,20605 -#define ABORTXFER 539,20659 -#define CLRXFIFO 540,20711 -#define STARTDMAXFER 541,20766 -#define TRM_S1040_DMA_FIFOSTAT 543,20822 -#define TRM_S1040_DMA_STATUS 545,20888 -#define XFERPENDING 546,20957 -#define SCSIBUSY 547,21009 -#define GLOBALINT 548,21052 -#define FORCEDMACOMP 549,21106 -#define DMAXFERERROR 550,21169 -#define DMAXFERABORT 551,21224 -#define DMAXFERCOMP 552,21279 -#define SCSICOMP 553,21344 -#define TRM_S1040_DMA_INTEN 555,21400 -#define EN_FORCEDMACOMP 556,21468 -#define EN_DMAXFERERROR 557,21534 -#define EN_DMAXFERABORT 558,21592 -#define EN_DMAXFERCOMP 559,21650 -#define EN_SCSIINTR 560,21718 -#define TRM_S1040_DMA_CONFIG 562,21783 -#define DMA_ENHANCE 563,21849 -#define DMA_PCI_DUAL_ADDR 564,21917 -#define DMA_CFG_RES 565,21961 -#define DMA_AUTO_CLR_FIFO 566,22008 -#define DMA_MEM_MULTI_READ 567,22077 -#define DMA_MEM_WRITE_INVAL 568,22122 -#define DMA_FIFO_CTRL 569,22193 -#define DMA_FIFO_HALF_HALF 570,22262 -#define TRM_S1040_DMA_XCNT 572,22340 -#define TRM_S1040_DMA_CXCNT 573,22414 -#define TRM_S1040_DMA_XLOWADDR 574,22487 -#define TRM_S1040_DMA_XHIGHADDR 575,22564 -#define TRM_S1040_GEN_CONTROL 582,22872 -#define CTRL_LED 583,22931 -#define EN_EEPROM 584,22983 -#define DIS_TERM 585,23041 -#define AUTOTERM 586,23100 -#define LOW8TERM 587,23159 -#define UP8TERM 588,23224 -#define TRM_S1040_GEN_STATUS 590,23290 -#define GTIMEOUT 591,23347 -#define EXT68HIGH 592,23400 -#define INT68HIGH 593,23465 -#define CON5068 594,23530 -#define CON68 595,23595 -#define CON50 596,23655 -#define WIDESCSI 597,23716 -#define STATUS_LOAD_DEFAULT 598,23763 -#define TRM_S1040_GEN_NVRAM 600,23808 -#define NVR_BITOUT 601,23878 -#define NVR_BITIN 602,23928 -#define NVR_CLOCK 603,23976 -#define NVR_SELECT 604,24023 -#define TRM_S1040_GEN_EDATA 606,24072 -#define TRM_S1040_GEN_EADDRESS 607,24139 -#define TRM_S1040_GEN_TIMER 608,24207 -#define NTC_DO_WIDE_NEGO 615,24505 -#define NTC_DO_TAG_QUEUEING 616,24559 -#define NTC_DO_SEND_START 617,24624 -#define NTC_DO_DISCONNECT 618,24689 -#define NTC_DO_SYNC_NEGO 619,24751 -#define NTC_DO_PARITY_CHK 620,24807 -#define MORE2_DRV 629,25132 -#define GREATER_1G 630,25157 -#define RST_SCSI_BUS 631,25183 -#define ACTIVE_NEGATION 632,25211 -#define NO_SEEK 633,25242 -#define LUN_CHECK 634,25266 -#define NAC_SCANLUN 642,25520 -#define NAC_POWERON_SCSI_RESET 643,25581 -#define NAC_GREATER_1G 644,25647 -#define NAC_GT2DRIVES 645,25705 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/ini9100u.h,1950 -#define CVT_LINUX_VERSION(CVT_LINUX_VERSION71,3502 -#define i91u_REVID 89,4077 -#define VIRT_TO_BUS(VIRT_TO_BUS91,4155 -#define ULONG 92,4219 -#define USHORT 93,4249 -#define UCHAR 94,4280 -#define BYTE 95,4310 -#define WORD 96,4329 -#define DWORD 97,4360 -#define UBYTE 98,4390 -#define UWORD 99,4409 -#define UDWORD 100,4440 -#define U32 101,4470 -#define TRUE 104,4502 -#define FALSE 107,4565 -#define FAILURE 110,4630 -#define i91u_MAXQUEUE 113,4660 -#define TOTAL_SG_ENTRY 114,4685 -#define MAX_TARGETS 115,4712 -#define SENSE_SIZE 116,4736 -#define INI_VENDOR_ID 118,4760 -#define DMX_VENDOR_ID 119,4826 -#define I950_DEVICE_ID 120,4883 -#define I940_DEVICE_ID 121,4950 -#define I935_DEVICE_ID 122,5017 -#define I920_DEVICE_ID 123,5084 -typedef struct PCI_ID_Struc PCI_ID_Struc128,5358 -} PCI_ID;PCI_ID131,5442 -typedef struct SG_Struc SG_Struc136,5678 -} SG;SG139,5769 -typedef struct Scsi_Ctrl_Blk Scsi_Ctrl_Blk144,5944 -} SCB;SCB167,6828 -#define ExecSCSI 170,6864 -#define BusDevRst 171,6892 -#define AbortCmd 172,6920 -#define SCF_DONE 175,6984 -#define SCF_POST 176,7013 -#define SCF_SENSE 177,7042 -#define SCF_DIR 178,7071 -#define SCF_NO_DCHK 179,7100 -#define SCF_DIN 180,7129 -#define SCF_DOUT 181,7158 -#define SCF_NO_XF 182,7187 -#define SCF_POLL 183,7216 -#define SCF_SG 184,7245 -#define HOST_SEL_TOUT 187,7308 -#define HOST_DO_DU 188,7337 -#define HOST_BUS_FREE 189,7366 -#define HOST_BAD_PHAS 190,7395 -#define HOST_INV_CMD 191,7424 -#define HOST_SCSI_RST 192,7453 -#define HOST_DEV_RST 193,7482 -#define TARGET_CHKCOND 196,7545 -#define TARGET_BUSY 197,7574 -#define MSG_STAG 200,7680 -#define MSG_HTAG 201,7709 -#define MSG_OTAG 202,7738 -typedef struct Tar_Ctrl_Struc Tar_Ctrl_Struc208,7948 -} TCS;TCS214,8103 -#define TCF_DRV_255_63 220,8328 -typedef struct Ha_Ctrl_Struc Ha_Ctrl_Struc225,8553 -} HCS;HCS244,9134 -#define HCF_EXPECT_RESET 247,9177 -#define DISC_NOT_ALLOW 250,9290 -#define DISC_ALLOW 251,9362 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pci2220i.h,69 -#define _PCI2220I_H22,792 -#define LINUXVERSION(LINUXVERSION27,875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/psi240i.h,4736 -#define _PSI240I_H28,1136 -#define PSI_EIDE_SCSIOP 33,1206 -#define CHAR 38,1372 -#define UCHAR 39,1391 -#define SHORT 40,1420 -#define USHORT 41,1441 -#define BOOL 42,1472 -#define LONG 43,1501 -#define ULONG 44,1520 -#define VOID 45,1549 -#define TIMEOUT_READY 50,1702 -#define TIMEOUT_DRQ 51,1743 -#define ANY2SCSI(ANY2SCSI56,1913 -#define SCSI2LONG(SCSI2LONG60,2019 -#define XANY2SCSI(XANY2SCSI65,2156 -#define XSCSI2LONG(XSCSI2LONG71,2338 -#define SCSIOP_TEST_UNIT_READY 80,2654 -#define SCSIOP_REZERO_UNIT 81,2691 -#define SCSIOP_REWIND 82,2725 -#define SCSIOP_REQUEST_BLOCK_ADDR 83,2755 -#define SCSIOP_REQUEST_SENSE 84,2794 -#define SCSIOP_FORMAT_UNIT 85,2829 -#define SCSIOP_READ_BLOCK_LIMITS 86,2863 -#define SCSIOP_REASSIGN_BLOCKS 87,2901 -#define SCSIOP_READ6 88,2938 -#define SCSIOP_RECEIVE 89,2967 -#define SCSIOP_WRITE6 90,2998 -#define SCSIOP_PRINT 91,3028 -#define SCSIOP_SEND 92,3057 -#define SCSIOP_SEEK6 93,3086 -#define SCSIOP_TRACK_SELECT 94,3115 -#define SCSIOP_SLEW_PRINT 95,3150 -#define SCSIOP_SEEK_BLOCK 96,3183 -#define SCSIOP_PARTITION 97,3216 -#define SCSIOP_READ_REVERSE 98,3248 -#define SCSIOP_WRITE_FILEMARKS 99,3283 -#define SCSIOP_FLUSH_BUFFER 100,3320 -#define SCSIOP_SPACE 101,3355 -#define SCSIOP_INQUIRY 102,3384 -#define SCSIOP_VERIFY6 103,3415 -#define SCSIOP_RECOVER_BUF_DATA 104,3446 -#define SCSIOP_MODE_SELECT 105,3484 -#define SCSIOP_RESERVE_UNIT 106,3518 -#define SCSIOP_RELEASE_UNIT 107,3553 -#define SCSIOP_COPY 108,3588 -#define SCSIOP_ERASE 109,3617 -#define SCSIOP_MODE_SENSE 110,3646 -#define SCSIOP_START_STOP_UNIT 111,3679 -#define SCSIOP_STOP_PRINT 112,3716 -#define SCSIOP_LOAD_UNLOAD 113,3749 -#define SCSIOP_RECEIVE_DIAGNOSTIC 114,3783 -#define SCSIOP_SEND_DIAGNOSTIC 115,3822 -#define SCSIOP_MEDIUM_REMOVAL 116,3859 -#define SCSIOP_READ_CAPACITY 117,3895 -#define SCSIOP_READ 118,3930 -#define SCSIOP_WRITE 119,3959 -#define SCSIOP_SEEK 120,3988 -#define SCSIOP_LOCATE 121,4017 -#define SCSIOP_WRITE_VERIFY 122,4047 -#define SCSIOP_VERIFY 123,4082 -#define SCSIOP_SEARCH_DATA_HIGH 124,4112 -#define SCSIOP_SEARCH_DATA_EQUAL 125,4150 -#define SCSIOP_SEARCH_DATA_LOW 126,4188 -#define SCSIOP_SET_LIMITS 127,4225 -#define SCSIOP_READ_POSITION 128,4258 -#define SCSIOP_SYNCHRONIZE_CACHE 129,4293 -#define SCSIOP_COMPARE 130,4331 -#define SCSIOP_COPY_COMPARE 131,4362 -#define SCSIOP_WRITE_DATA_BUFF 132,4397 -#define SCSIOP_READ_DATA_BUFF 133,4434 -#define SCSIOP_CHANGE_DEFINITION 134,4470 -#define SCSIOP_READ_SUB_CHANNEL 135,4508 -#define SCSIOP_READ_TOC 136,4546 -#define SCSIOP_READ_HEADER 137,4578 -#define SCSIOP_PLAY_AUDIO 138,4612 -#define SCSIOP_PLAY_AUDIO_MSF 139,4645 -#define SCSIOP_PLAY_TRACK_INDEX 140,4681 -#define SCSIOP_PLAY_TRACK_RELATIVE 141,4719 -#define SCSIOP_PAUSE_RESUME 142,4759 -#define SCSIOP_LOG_SELECT 143,4794 -#define SCSIOP_LOG_SENSE 144,4827 -#define SCSIOP_MODE_SELECT10 145,4859 -#define SCSIOP_MODE_SENSE10 146,4894 -#define SCSIOP_LOAD_UNLOAD_SLOT 147,4929 -#define SCSIOP_MECHANISM_STATUS 148,4967 -#define SCSIOP_READ_CD 149,5005 -#define IDE_COMMAND_ATAPI_RESET 152,5064 -#define IDE_COMMAND_READ 153,5102 -#define IDE_COMMAND_WRITE 154,5134 -#define IDE_COMMAND_RECALIBRATE 155,5167 -#define IDE_COMMAND_SEEK 156,5205 -#define IDE_COMMAND_SET_PARAMETERS 157,5237 -#define IDE_COMMAND_VERIFY 158,5277 -#define IDE_COMMAND_ATAPI_PACKET 159,5311 -#define IDE_COMMAND_ATAPI_IDENTIFY 160,5349 -#define IDE_CMD_READ_MULTIPLE 161,5389 -#define IDE_CMD_WRITE_MULTIPLE 162,5425 -#define IDE_CMD_SET_MULTIPLE 163,5462 -#define IDE_COMMAND_WRITE_DMA 164,5497 -#define IDE_COMMAND_READ_DMA 165,5533 -#define IDE_COMMAND_IDENTIFY 166,5568 -#define IDE_STATUS_ERROR 169,5630 -#define IDE_STATUS_INDEX 170,5662 -#define IDE_STATUS_CORRECTED_ERROR 171,5694 -#define IDE_STATUS_DRQ 172,5734 -#define IDE_STATUS_DSC 173,5765 -#define IDE_STATUS_WRITE_FAULT 174,5796 -#define IDE_STATUS_DRDY 175,5833 -#define IDE_STATUS_BUSY 176,5865 -#define IDE_ERROR_AMNF 179,5923 -#define IDE_ERROR_TKONF 180,5954 -#define IDE_ERROR_ABRT 181,5986 -#define IDE_ERROR_MCR 182,6017 -#define IDE_ERROR_IDFN 183,6047 -#define IDE_ERROR_MC 184,6078 -#define IDE_ERROR_UNC 185,6107 -#define IDE_ERROR_BBK 186,6137 -typedef struct _IDE_STRUCT_IDE_STRUCT189,6195 - } IDE_STRUCT;IDE_STRUCT203,6368 -typedef struct _READ_CAPACITY_DATA_READ_CAPACITY_DATA206,6416 - } READ_CAPACITY_DATA, *PREAD_CAPACITY_DATA;PREAD_CAPACITY_DATA210,6583 -typedef struct _INQUIRYDATA_INQUIRYDATA215,6667 - } INQUIRYDATA, *PINQUIRYDATA;PINQUIRYDATA238,7253 -typedef struct _IDENTIFY_DATA_IDENTIFY_DATA242,7313 - } IDENTIFY_DATA, *PIDENTIFY_DATA;PIDENTIFY_DATA274,8821 -typedef struct _IDENTIFY_DATA2 _IDENTIFY_DATA2277,8897 - } IDENTIFY_DATA2, *PIDENTIFY_DATA2;PIDENTIFY_DATA2307,10350 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/esp.h,6020 -#define _SPARC_ESP_H9,254 -#define ESP_TCLOW 28,780 -#define ESP_TCMED 29,854 -#define ESP_FDATA 30,928 -#define ESP_CMD 31,1002 -#define ESP_STATUS 32,1075 -#define ESP_BUSID 33,1150 -#define ESP_INTRPT 34,1227 -#define ESP_TIMEO 35,1302 -#define ESP_SSTEP 36,1379 -#define ESP_STP 37,1453 -#define ESP_FFLAGS 38,1528 -#define ESP_SOFF 39,1603 -#define ESP_CFG1 40,1679 -#define ESP_CFACT 41,1752 -#define ESP_STATUS2 42,1826 -#define ESP_CTEST 43,1904 -#define ESP_CFG2 44,1978 -#define ESP_CFG3 45,2051 -#define ESP_TCHI 46,2124 -#define ESP_UID 47,2197 -#define FAS_RLO 48,2271 -#define ESP_FGRND 49,2345 -#define FAS_RHI 50,2419 -#define ESP_REG_SIZE 51,2494 -enum esp_rev esp_rev54,2565 - esp100 55,2580 - esp100 = 0x00,55,2580 - esp100a 56,2630 - esp100a = 0x01,56,2630 - esp236 57,2667 - esp236 = 0x02,57,2667 - fas236 58,2687 - fas236 = 0x03,58,2687 - fas100a 59,2707 - fas100a = 0x04,59,2707 - fast 60,2727 - fast = 0x05,60,2727 - fashme 61,2747 - fashme = 0x06,61,2747 - espunknown 62,2767 - espunknown = 0x0762,2767 -struct esp_device esp_device68,2901 -struct esp esp79,3120 - struct esp_pointers esp_pointers134,5578 -#define SYNC_DEFP_SLOW 163,6840 -#define SYNC_DEFP_FAST 164,6894 -#define ESP_CONFIG1_ID 205,8321 -#define ESP_CONFIG1_CHTEST 206,8389 -#define ESP_CONFIG1_PENABLE 207,8464 -#define ESP_CONFIG1_PARTEST 208,8538 -#define ESP_CONFIG1_SRRDISAB 209,8617 -#define ESP_CONFIG1_SLCABLE 210,8697 -#define ESP_CONFIG2_DMAPARITY 213,8852 -#define ESP_CONFIG2_REGPARITY 214,8933 -#define ESP_CONFIG2_BADPARITY 215,9014 -#define ESP_CONFIG2_SCSI2ENAB 216,9092 -#define ESP_CONFIG2_HI 217,9181 -#define ESP_CONFIG2_HMEFENAB 218,9259 -#define ESP_CONFIG2_BCM 219,9332 -#define ESP_CONFIG2_DISPINT 220,9410 -#define ESP_CONFIG2_FENAB 221,9487 -#define ESP_CONFIG2_SPL 222,9577 -#define ESP_CONFIG2_MKDONE 223,9667 -#define ESP_CONFIG2_HME32 224,9738 -#define ESP_CONFIG2_MAGIC 225,9807 -#define ESP_CONFIG3_FCLOCK 228,9960 -#define ESP_CONFIG3_TEM 229,10048 -#define ESP_CONFIG3_FAST 230,10136 -#define ESP_CONFIG3_ADMA 231,10224 -#define ESP_CONFIG3_TENB 232,10312 -#define ESP_CONFIG3_SRB 233,10400 -#define ESP_CONFIG3_TMS 234,10488 -#define ESP_CONFIG3_FCLK 235,10576 -#define ESP_CONFIG3_IDMSG 236,10664 -#define ESP_CONFIG3_FSCSI 237,10752 -#define ESP_CONFIG3_GTM 238,10840 -#define ESP_CONFIG3_IDBIT3 239,10928 -#define ESP_CONFIG3_TBMS 240,11016 -#define ESP_CONFIG3_EWIDE 241,11104 -#define ESP_CONFIG3_IMS 242,11192 -#define ESP_CONFIG3_OBPUSH 243,11280 -#define ESP_CMD_NULL 251,11704 -#define ESP_CMD_FLUSH 252,11781 -#define ESP_CMD_RC 253,11845 -#define ESP_CMD_RS 254,11909 -#define ESP_CMD_TI 259,12105 -#define ESP_CMD_ICCSEQ 260,12179 -#define ESP_CMD_MOK 261,12264 -#define ESP_CMD_TPAD 262,12336 -#define ESP_CMD_SATN 263,12402 -#define ESP_CMD_RATN 264,12463 -#define ESP_CMD_SMSG 269,12694 -#define ESP_CMD_SSTAT 270,12760 -#define ESP_CMD_SDATA 271,12825 -#define ESP_CMD_DSEQ 272,12888 -#define ESP_CMD_TSEQ 273,12962 -#define ESP_CMD_TCCSEQ 274,13034 -#define ESP_CMD_DCNCT 275,13113 -#define ESP_CMD_RMSG 276,13177 -#define ESP_CMD_RCMD 277,13246 -#define ESP_CMD_RDATA 278,13315 -#define ESP_CMD_RCSEQ 279,13381 -#define ESP_CMD_RSEL 285,13650 -#define ESP_CMD_SEL 286,13712 -#define ESP_CMD_SELA 287,13780 -#define ESP_CMD_SELAS 288,13846 -#define ESP_CMD_ESEL 289,13919 -#define ESP_CMD_DSEL 290,13989 -#define ESP_CMD_SA3 291,14061 -#define ESP_CMD_RSEL3 292,14128 -#define ESP_CMD_DMA 295,14241 -#define ESP_STAT_PIO 299,14340 -#define ESP_STAT_PCD 300,14406 -#define ESP_STAT_PMSG 301,14472 -#define ESP_STAT_PMASK 302,14539 -#define ESP_STAT_TDONE 303,14611 -#define ESP_STAT_TCNT 304,14683 -#define ESP_STAT_PERR 305,14761 -#define ESP_STAT_SPAM 306,14827 -#define ESP_STAT_INTR 310,15012 -#define ESP_STAT2_SCHBIT 313,15110 -#define ESP_STAT2_FFLAGS 314,15183 -#define ESP_STAT2_XCNT 315,15255 -#define ESP_STAT2_CREGA 316,15328 -#define ESP_STAT2_WIDE 317,15399 -#define ESP_STAT2_F1BYTE 318,15474 -#define ESP_STAT2_FMSB 319,15548 -#define ESP_STAT2_FEMPTY 320,15627 -#define ESP_DOP 327,15950 -#define ESP_DIP 328,16026 -#define ESP_CMDP 329,16102 -#define ESP_STATP 330,16178 -#define ESP_MOP 331,16254 -#define ESP_MIP 332,16332 -#define ESP_INTR_S 335,16449 -#define ESP_INTR_SATN 336,16517 -#define ESP_INTR_RSEL 337,16583 -#define ESP_INTR_FDONE 338,16647 -#define ESP_INTR_BSERV 339,16714 -#define ESP_INTR_DC 340,16779 -#define ESP_INTR_IC 341,16843 -#define ESP_INTR_SR 342,16918 -#define ESP_SRESET_IRQ(ESP_SRESET_IRQ345,17026 -#define ESP_ILLCMD_IRQ(ESP_ILLCMD_IRQ346,17087 -#define ESP_SELECT_WITH_ATN_IRQ(ESP_SELECT_WITH_ATN_IRQ347,17148 -#define ESP_SELECT_WITHOUT_ATN_IRQ(ESP_SELECT_WITHOUT_ATN_IRQ348,17223 -#define ESP_SELECTION_IRQ(ESP_SELECTION_IRQ349,17295 -#define ESP_RESELECTION_IRQ(ESP_RESELECTION_IRQ351,17412 -#define ESP_STEP_VBITS 354,17531 -#define ESP_STEP_ASEL 355,17595 -#define ESP_STEP_SID 356,17674 -#define ESP_STEP_NCMD 357,17745 -#define ESP_STEP_PPC 358,17823 -#define ESP_STEP_FINI4 361,18019 -#define ESP_STEP_FINI5 364,18159 -#define ESP_STEP_FINI6 365,18194 -#define ESP_STEP_FINI7 366,18229 -#define ESP_TEST_TARG 369,18305 -#define ESP_TEST_INI 370,18375 -#define ESP_TEST_TS 371,18448 -#define ESP_UID_F100A 374,18590 -#define ESP_UID_F236 375,18656 -#define ESP_UID_REV 376,18722 -#define ESP_UID_FAM 377,18788 -#define ESP_FF_FBYTES 381,18960 -#define ESP_FF_ONOTZERO 382,19031 -#define ESP_FF_SSTEP 383,19113 -#define ESP_CCF_F0 386,19235 -#define ESP_CCF_NEVER 387,19305 -#define ESP_CCF_F2 388,19381 -#define ESP_CCF_F3 389,19440 -#define ESP_CCF_F4 390,19510 -#define ESP_CCF_F5 391,19580 -#define ESP_CCF_F6 392,19650 -#define ESP_CCF_F7 393,19720 -#define ESP_BUSID_RESELID 396,19809 -#define ESP_BUSID_CTR32BIT 397,19844 -#define ESP_BUS_TIMEOUT 399,19880 -#define ESP_TIMEO_CONST 400,19950 -#define ESP_NEG_DEFP(ESP_NEG_DEFP401,19985 -#define ESP_MHZ_TO_CYCLE(ESP_MHZ_TO_CYCLE403,20084 -#define ESP_TICK(ESP_TICK404,20153 -#define for_each_esp(for_each_esp407,20250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/blz1230.c,1083 -#define MKIV 41,969 -#define BLZ1230_ESP_ADDR 46,1073 -#define BLZ1230_DMA_ADDR 47,1105 -#define BLZ1230II_ESP_ADDR 48,1138 -#define BLZ1230II_DMA_ADDR 49,1173 -struct blz1230_dma_registers blz1230_dma_registers65,1847 -struct blz1230II_dma_registers blz1230II_dma_registers71,2049 -#define BLZ1230_DMA_WRITE 77,2250 -static volatile unsigned char cmd_buffer[90,2875 -int __init blz1230_esp_detect(97,3119 -#define REAL_BLZ1230_ID 106,3309 -#define REAL_BLZ1230_ESP_ADDR 107,3374 -#define REAL_BLZ1230_DMA_ADDR 108,3421 -#define REAL_BLZ1230_ID 110,3474 -#define REAL_BLZ1230_ESP_ADDR 111,3570 -#define REAL_BLZ1230_DMA_ADDR 112,3619 -static int dma_bytes_sent(203,6140 -static int dma_can_transfer(213,6495 -static void dma_dump_state(224,6772 -void dma_init_read(230,6904 -void dma_init_write(257,7550 -static void dma_ints_off(284,8193 -static void dma_ints_on(289,8268 -static int dma_irq_p(294,8341 -static int dma_ports_p(299,8448 -static void dma_setup(304,8536 -#define HOSTS_C316,8843 -int blz1230_esp_release(318,8860 -static Scsi_Host_Template driver_template 331,9200 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/BusLogic.c,3451 -#define BusLogic_DriverVersion 29,1079 -#define BusLogic_DriverDate 30,1120 -#define FAILURE 56,1671 -static int BusLogic_DriverOptionsCount;65,1908 -static struct BusLogic_DriverOptions BusLogic_DriverOptions[74,2179 -static char *BusLogic;83,2359 -static struct BusLogic_ProbeOptions BusLogic_ProbeOptions;93,2527 -static struct BusLogic_GlobalOptions BusLogic_GlobalOptions;101,2698 -static struct BusLogic_HostAdapter *BusLogic_FirstRegisteredHostAdapter;109,2917 -static struct BusLogic_HostAdapter *BusLogic_LastRegisteredHostAdapter;110,2990 -static int BusLogic_ProbeInfoCount;117,3149 -static struct BusLogic_ProbeInfo *BusLogic_ProbeInfoList;127,3473 -static char *BusLogic_CommandFailureReason;136,3720 -static void BusLogic_AnnounceDriver(143,3901 -static const char *BusLogic_DriverInfo(155,4329 -static void __init BusLogic_RegisterHostAdapter(167,4634 -static void BusLogic_UnregisterHostAdapter(185,5152 -static void BusLogic_InitializeCCBs(208,6057 -static boolean __init BusLogic_CreateInitialCCBs(238,7089 -static void BusLogic_DestroyCCBs(259,7781 -static void BusLogic_CreateAdditionalCCBs(284,8695 -static struct BusLogic_CCB *BusLogic_AllocateCCB(316,10152 -static void BusLogic_DeallocateCCB(347,11034 -static int BusLogic_Command(381,12699 -static void __init BusLogic_AppendProbeAddressISA(589,20147 -static void __init BusLogic_InitializeProbeInfoListISA(608,20810 -static void __init BusLogic_SortProbeInfo(643,22412 -static int __init BusLogic_InitializeMultiMasterProbeInfo(672,23636 -static int __init BusLogic_InitializeFlashPointProbeInfo(905,35030 -static void __init BusLogic_InitializeProbeInfoList(995,39105 -static boolean BusLogic_Failure(1050,41881 -static boolean __init BusLogic_ProbeHostAdapter(1069,42771 -static boolean BusLogic_HardwareResetHostAdapter(1140,46557 -static boolean __init BusLogic_CheckHostAdapter(1244,50313 -static boolean __init BusLogic_ReadHostAdapterConfiguration(1278,51646 -static boolean __init BusLogic_ReportHostAdapterConfiguration(1725,72596 -static boolean __init BusLogic_AcquireResources(1874,80395 -static void BusLogic_ReleaseResources(1912,81641 -static boolean BusLogic_InitializeHostAdapter(1941,82581 -static boolean __init BusLogic_TargetDeviceInquiry(2040,87232 -static void __init BusLogic_InitializeHostStructure(2154,92784 -static int BusLogic_SlaveConfigure(2176,93728 -static int __init BusLogic_DetectHostAdapter(2211,95193 -static int __exit BusLogic_ReleaseHostAdapter(2361,101384 -static void BusLogic_QueueCompletedCCB(2392,102274 -static int BusLogic_ComputeResultCode(2413,102866 -static void BusLogic_ScanIncomingMailboxes(2465,104683 -static void BusLogic_ProcessCompletedCCBs(2522,107359 -static irqreturn_t BusLogic_InterruptHandler(2652,112610 -static boolean BusLogic_WriteOutgoingMailbox(2738,115782 -static int BusLogic_host_reset(2768,117002 -static int BusLogic_QueueCommand(2784,117551 -static int BusLogic_AbortCommand(2975,126173 -static int BusLogic_ResetHostAdapter(3053,129654 -static int BusLogic_BIOSDiskParameters(3111,131954 -static int BusLogic_ProcDirectoryInfo(3182,135009 -static void BusLogic_Message(3307,142486 -static boolean __init BusLogic_ParseKeyword(3348,144066 -static int __init BusLogic_ParseDriverOptions(3383,145293 -static struct scsi_host_template driver_template 3550,152388 -static int __init BusLogic_Setup(3572,152982 -static int __init BusLogic_init(3591,153341 -static void __exit BusLogic_exit(3606,153592 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pci2220i.c,2428 -#define PCI2220I_VERSION 67,1816 -#define READ_CMD 68,1849 -#define WRITE_CMD 69,1891 -#define MAX_BUS_MASTER_BLOCKS 70,1935 -#define DEB(DEB73,2033 -#define STOP_HERE(STOP_HERE74,2050 -#define DEB(DEB76,2114 -#define STOP_HERE(STOP_HERE77,2129 -#define MAXADAPTER 80,2157 - } OUR_DEVICE, *POUR_DEVICE;POUR_DEVICE103,3079 - } ADAPTER2220I, *PADAPTER2220I;PADAPTER2220I166,5937 -#define HOSTDATA(HOSTDATA168,5971 -#define RECON_PHASE_READY 170,6028 -#define RECON_PHASE_COPY 171,6060 -#define RECON_PHASE_UPDATE 172,6091 -#define RECON_PHASE_LAST 173,6124 -#define RECON_PHASE_END 174,6155 -#define RECON_PHASE_MARKING 175,6187 -#define RECON_PHASE_FAILOVER 176,6221 -static struct Scsi_Host *PsiHost[178,6256 -static int NumAdapters 179,6341 -static int Installed 180,6374 -static SETUP DaleSetup;181,6405 -static DISK_MIRROR DiskMirror[182,6433 -static ULONG ModeArray[183,6483 -static ULONG ModeArray2[184,6584 -static void Alarm 199,7139 -static void MuteAlarm 225,7847 -static int WaitReady 250,8508 -static int WaitReadyReset 274,9132 -static int WaitDrq 302,9965 -static int AtapiWaitReady 327,10611 -static int AtapiWaitDrq 350,11252 -static int HardReset 374,11882 -static int AtapiReset 425,13696 -static void WalkScatGath 451,14571 -static void BusMaster 494,15817 -static void AtapiBusMaster 548,17452 -static int WriteData 580,18574 -static int WriteDataBoth 611,19480 -static UCHAR IdeCmd 653,20718 -static UCHAR IdeCmdBoth 685,21868 -static void OpDone 727,23299 -static ULONG InlineIdentify 773,24448 -static ULONG AtapiIdentify 798,25329 -void Atapi2Scsi 844,26360 -static void Scsi2Atapi 878,27352 -static void AtapiSendCdb 933,29121 -static int AtapiRequestSense 951,29883 -static UCHAR InlineReadSignature 985,30968 -static ULONG DecodeError 1024,32391 -static void StartTimer 1061,33250 -static int WriteSignature 1079,33811 -static int InitFailover 1114,35159 -static void TimerExpiry 1156,36398 -static LONG SetReconstruct 1316,41039 -static void ReconTimerExpiry 1334,41744 -static irqreturn_t Irq_Handler 1589,49088 -int Pci2220i_QueueCommand 2045,63088 -static VOID ReadFlash 2323,70792 -static USHORT GetRegs 2353,71897 -VOID SetupFinish 2482,77374 -int Pci2220i_Detect 2503,78232 -int Pci2220i_Abort 2768,86902 -int Pci2220i_Reset 2800,87971 -int Pci2220i_Release 2823,88705 -int Pci2220i_BiosParam 2882,90595 -static Scsi_Host_Template driver_template 2900,90956 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/sata_sis.c,901 -#define DRV_NAME 40,1397 -#define DRV_VERSION 41,1425 - sis_180 44,1460 - SIS_SCR_PCI_BAR 45,1476 - SIS_GENCTL 48,1535 - SIS_GENCTL = 0x54,48,1535 - SIS_SCR_BASE 49,1591 - SIS_SCR_BASE = 0xc0,49,1591 - SIS_SATA1_OFS 50,1644 - SIS_SATA1_OFS = 0x10,50,1644 - SIS_FLAG_CFGSCR 53,1728 - GENCTL_IOMAPPED_SCR 55,1794 -static struct pci_device_id sis_pci_tbl[62,2096 -static struct pci_driver sis_pci_driver 69,2311 -static Scsi_Host_Template sis_sht 76,2466 -static struct ata_port_operations sis_ops 95,3039 -static struct ata_port_info sis_port_info 116,3685 -static unsigned int get_scr_cfg_addr(133,4125 -static u32 sis_scr_cfg_read 142,4314 -static void sis_scr_cfg_write 153,4622 -static u32 sis_scr_read 162,4898 -static void sis_scr_write 172,5142 -static void pci_enable_intx(184,5438 -static int sis_init_one 195,5719 -static int __init sis_init(265,7416 -static void __exit sis_exit(270,7496 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsi_scan.c,1250 -#define ALLOC_FAILURE_MSG 46,1366 -#define SCSI_TIMEOUT 52,1525 -#define SCSI_UID_SER_NUM 57,1628 -#define SCSI_UID_UNKNOWN 58,1657 -#define SCSI_SCAN_NO_RESPONSE 72,2088 -#define SCSI_SCAN_TARGET_PRESENT 73,2121 -#define SCSI_SCAN_LUN_PRESENT 74,2156 -static char *scsi_null_device_strs 76,2190 -#define MAX_SCSI_LUNS 78,2248 -static unsigned int max_scsi_luns 81,2304 -static unsigned int max_scsi_luns 83,2361 -static unsigned int max_scsi_report_luns 97,2846 -static unsigned int scsi_inq_timeout 104,3100 -static void scsi_unlock_floptical(121,3768 -static void print_inquiry(150,4572 -static struct scsi_device *scsi_alloc_sdev(202,5842 -static void scsi_probe_lun(320,9062 -static int scsi_add_lun(475,14436 -static int scsi_probe_and_add_lun(642,19269 -static void scsi_sequential_lun_scan(751,22203 -static int scsilun_to_int(845,25410 -static int scsi_report_lun_scan(872,26133 -struct scsi_device *__scsi_add_device(1058,31576 -void scsi_rescan_device(1074,31953 -static void scsi_scan_target(1108,32892 -static void scsi_scan_channel(1156,34230 -int scsi_scan_host_selected(1185,35020 -void scsi_scan_host(1211,35829 -void scsi_forget_host(1217,35967 -struct scsi_device *scsi_get_host_dev(1260,37360 -void scsi_free_host_dev(1284,37820 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/bvme6000.h,83 -#define BVME6000_SCSI_H2,24 -#define CMD_PER_LUN 15,440 -#define CAN_QUEUE 19,488 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/cpqfcTSstructs.h,13983 -#define CPQFCTSSTRUCTS_H21,876 -#define DbgDelay(DbgDelay28,1046 -#define CPQFCTS_DRIVER_VER(CPQFCTS_DRIVER_VER32,1235 -#define VER_MAJOR 34,1375 -#define VER_MINOR 35,1395 -#define VER_SUBMINOR 36,1415 -#define PCI_TRACE(PCI_TRACE42,1566 -#define PCI_TRACEO(PCI_TRACEO43,1623 -#define PCI_TRACE(PCI_TRACE46,1696 -#define PCI_TRACEO(PCI_TRACEO47,1718 -#define ENTER(ENTER57,1914 -#define LEAVE(LEAVE58,1971 -#define DEBUG(DEBUG59,2027 -#define ENTER(ENTER61,2052 -#define LEAVE(LEAVE62,2069 -#define DEBUG(DEBUG63,2086 -#define DEBUG_PCI(DEBUG_PCI69,2213 -#define DEBUG_PCI(DEBUG_PCI71,2242 -#define STACHLITE66_TS12 74,2298 -#define STACHLITE66_TS13 75,2376 -#define STACHLITE_UNKNOWN 76,2454 -#define SAGILENT_XL2_21 77,2531 -#define CPQFCTS_MAX_TARGET_ID 81,2694 -#define CPQFCTS_MAX_LUN 85,2871 -#define CPQFCTS_MAX_CHANNEL 86,2952 -#define CPQFCTS_CMD_PER_LUN 88,3013 -#define CPQFCTS_REQ_QUEUE_LEN 89,3074 -#define LinuxVersionCode(LinuxVersionCode91,3150 -#define DECLARE_MUTEX_LOCKED(DECLARE_MUTEX_LOCKED93,3238 -#define DEV_NAME 96,3316 -struct SupportedPCIcardsSupportedPCIcards98,3344 -typedef __u8 BYTE;BYTE114,3653 -typedef __u8 UCHAR;UCHAR117,3693 -typedef __s32 LONG;LONG120,3733 -typedef __u32 ULONG;ULONG123,3774 -typedef void * PVOID;PVOID126,3816 -typedef __u16 USHORT;USHORT129,3860 -typedef __u8 BOOLEAN;BOOLEAN132,3905 -#define LS_RJT_REASON(LS_RJT_REASON142,4176 -#define TachLiteSTATUS 145,4240 -#define INVALID_ARGS 149,4372 -#define LNKDWN_OSLS 150,4397 -#define LNKDWN_LASER 151,4422 -#define OUTQUE_FULL 152,4447 -#define DRIVERQ_FULL 153,4472 -#define SEST_FULL 154,4498 -#define BAD_ALPA 155,4524 -#define OVERFLOW 156,4550 -#define COUNT_ERROR 157,4591 -#define LINKFAIL_RX 158,4636 -#define ABORTSEQ_NOTIFY 159,4681 -#define LINKFAIL_TX 160,4727 -#define HOSTPROG_ERR 161,4773 -#define FRAME_TO 162,4821 -#define INV_ENTRY 163,4869 -#define SESTPROG_ERR 164,4917 -#define OUTBOUND_TIMEOUT 165,4965 -#define INITIATOR_ABORT 166,5042 -#define MEMPOOL_FAIL 167,5119 -#define FC2_TIMEOUT 168,5190 -#define TARGET_ABORT 169,5258 -#define EXCHANGE_QUEUED 170,5323 -#define PORTID_CHANGED 171,5396 -#define DEVICE_REMOVED 172,5458 -#define SFQ_FRAME 175,5615 -#define MAX_ADAPTERS 180,5827 -#define MAX_RX_PAYLOAD 181,5850 -#define SOFi3 183,5948 -#define SOFf 184,5966 -#define SOFn3 185,5984 -#define EOFn 186,6002 -#define EOFt 187,6020 -#define FCP_CMND 190,6060 -#define FCP_XFER_RDY 191,6081 -#define FCP_RSP 192,6106 -#define FCP_RESPONSE 193,6126 -#define NEED_FCP_RSP 194,6170 -#define FCP_DATA 195,6214 -#define RESET_TACH 197,6236 -#define SCSI_IWE 198,6287 -#define SCSI_IRE 199,6348 -#define SCSI_TRE 200,6408 -#define SCSI_TWE 201,6464 -#define TOGGLE_LASER 202,6521 -#define LIP 203,6548 -#define CLEAR_FCPORTS 204,6566 -#define FMINIT 205,6637 -#define BLS_NOP 209,6770 -#define BLS_ABTS 210,6788 -#define BLS_ABTS_ACC 211,6855 -#define BLS_ABTS_RJT 212,6933 -#define ELS_PLOGI 213,7011 -#define ELS_SCR 214,7074 -#define FCS_NSR 215,7149 -#define ELS_FLOGI 216,7219 -#define ELS_FDISC 217,7272 -#define ELS_PDISC 218,7337 -#define ELS_ABTX 219,7386 -#define ELS_LOGO 220,7435 -#define ELS_PRLI 221,7480 -#define ELS_PRLO 222,7530 -#define ELS_LOGO_ACC 223,7581 -#define ELS_PLOGI_ACC 224,7639 -#define ELS_ACC 225,7696 -#define ELS_PRLI_ACC 226,7752 -#define ELS_RJT 227,7814 -#define SCSI_REPORT_LUNS 228,7840 -#define FCP_TARGET_RESET 229,7871 -#define ELS_LILP_FRAME 231,7903 -#define SFQ_UNASSISTED_FCP 233,7972 -#define SFQ_UNKNOWN 234,8041 -#define LINKACTIVE 237,8165 -#define LINKDOWN 238,8242 -} TachFCHDR;TachFCHDR252,8867 -} TachFCHDR_CMND;TachFCHDR_CMND267,9563 -} TachFCHDR_GCMND;TachFCHDR_GCMND282,10211 -} TachFCHDR_RSP;TachFCHDR_RSP296,10780 -} TachyonIMQE;TachyonIMQE309,11074 -#define TACH_SEST_LEN 321,11601 -#define ELS_EXCHANGES 323,11647 -#define TACH_MAX_XID 325,11767 -#define ERQ_LEN 327,11839 -#define IMQ_LEN 330,11931 -} TachyonIMQ;TachyonIMQ339,12322 -} TachyonInbCM;TachyonInbCM348,12492 -#define TL_FCHS 353,12555 -#define TL_IWE 354,12617 -#define TL_TWE 355,12671 -#define TL_IRE 356,12722 -#define TL_TRE 357,12775 -#define TL_IRB 358,12825 -#define SFQ_LEN 361,12920 -} TachLiteSFQ;TachLiteSFQ371,13325 -} IRBflags;IRBflags384,13592 -} TachLiteIRB;TachLiteIRB397,14316 -} TachLiteERQ;TachLiteERQ412,15050 -#define CPQFCTS_DMA_MASK 415,15137 -#define TL_MAX_SG_ELEM_LEN 417,15202 -#define TL_DANGER_SGPAGES 423,15474 -#define TL_EXT_SG_PAGE_COUNT 431,15822 -#define TL_EXT_SG_PAGE_BYTELEN 436,16128 -#define USES_EXTENDED_SGLIST(USES_EXTENDED_SGLIST448,16337 -} TachLiteIWE;TachLiteIWE462,16668 -} TachLiteIRE;TachLiteIRE484,17096 -} TachLiteTWE;TachLiteTWE506,17614 -} TachLiteTRE;TachLiteTRE527,18032 -typedef struct ext_sg_page_ptr_t *PSGPAGES;PSGPAGES529,18048 -typedef struct ext_sg_page_ptr_t ext_sg_page_ptr_t530,18092 -} SGPAGES;SGPAGES536,18328 -} TachSEST;TachSEST553,18995 -} FCREGISTER;FCREGISTER562,19195 -} TL_REGISTERS;TL_REGISTERS595,20551 -} FCSTATS;FCSTATS630,21875 -} FC_OPTIONS;FC_OPTIONS651,22850 -typedef struct dyn_mem_pairdyn_mem_pair655,22867 -} ALIGNED_MEM;ALIGNED_MEM661,23068 -#define IMPLICIT_LOGOUT 674,23505 -#define EXPLICIT_LOGOUT 675,23531 -} SCSI_NEXUS;SCSI_NEXUS685,23849 -#define REPORT_LUNS_PL 699,24142 -} FC_LOGGEDIN_PORT, *PFC_LOGGEDIN_PORT;PFC_LOGGEDIN_PORT737,25905 -} FC_EXCHANGE, *PFC_EXCHANGE;PFC_EXCHANGE753,26647 -} FC_EXCHANGES;FC_EXCHANGES765,27116 -} TACHYON, *PTACHYON;PTACHYON820,29053 -#define LINKQ_ITEM_SIZE 872,30821 -} LINKQ_ITEM;LINKQ_ITEM877,30978 -#define FC_LINKQ_DEPTH 879,30993 -} FC_LINK_QUE, *PFC_LINK_QUE;PFC_LINK_QUE887,31165 -#define FC_SCSIQ_DEPTH 892,31284 -} SCSIQ_ITEM;SCSIQ_ITEM898,31390 -} FC_SCSI_QUE, *PFC_SCSI_QUE;PFC_SCSI_QUE907,31541 -} cpqfc_passthru_private_t;cpqfc_passthru_private_t917,31917 -#define CPQFC_MAX_PASSTHRU_CMDS 919,31946 -#define DYNAMIC_ALLOCATIONS 921,31983 -} CPQFCHBA;CPQFCHBA962,33554 -#define CPQ_SPINLOCK_HBA(CPQ_SPINLOCK_HBA964,33567 -#define CPQ_SPINUNLOCK_HBA(CPQ_SPINUNLOCK_HBA965,33628 -#define FCP_RESID_UNDER 1034,35206 -#define FCP_RESID_OVER 1035,35240 -#define FCP_SNS_LEN_VALID 1036,35274 -#define FCP_RSP_LEN_VALID 1037,35308 -#define FCP_DATA_LEN_NOT_BURST_LEN 1040,35414 -#define FCP_CMND_FIELD_INVALID 1041,35459 -#define FCP_DATA_RO_NOT_XRDY_RO 1042,35504 -#define FCP_TASKFUNCTION_NS 1043,35549 -#define FCP_TASKFUNCTION_FAIL 1044,35594 -} FCP_STATUS_RESPONSE, *PFCP_STATUS_RESPONSE;PFCP_STATUS_RESPONSE1059,36181 -typedef struct scrplscrpl1063,36265 -} SCR_PL;SCR_PL1067,36323 -typedef struct nsrplnsrpl1070,36365 -} NSR_PL;NSR_PL1078,36599 -#define MAX_RX_SIZE 1083,36622 -#define MIN_RX_SIZE 1084,36684 -#define MAX_TARGET_RXIDS 1085,36748 -#define TARGET_RX_SIZE 1086,36784 -#define CLASS_1 1088,36828 -#define CLASS_2 1089,36851 -#define CLASS_3 1090,36874 -#define FC_PH42 1092,36898 -#define FC_PH43 1093,36921 -#define FC_PH3 1094,36944 -#define RR_TOV 1096,36967 -#define E_D_TOV 1098,37052 -#define R_A_TOV 1100,37129 -#define FC4_DEVICE_DATA 1107,37270 -#define EXT_LINK_DATA 1108,37306 -#define FC4_LINK_DATA 1109,37340 -#define VIDEO_DATA 1110,37374 -#define BASIC_LINK_DATA 1111,37405 -#define LINK_CONTROL 1112,37441 -#define ROUTING_MASK 1113,37474 -#define UNCAT_INFORMATION 1118,37542 -#define SOLICITED_DATA 1119,37579 -#define UNSOLICITED_CONTROL 1120,37614 -#define SOLICITED_CONTROL 1121,37653 -#define UNSOLICITED_DATA 1122,37690 -#define DATA_DESCRIPTOR 1123,37726 -#define UNSOLICITED_COMMAND 1124,37762 -#define COMMAND_STATUS 1125,37801 -#define INFO_MASK 1126,37836 -#define ACK_1 1130,37896 -#define ACK_0_OR_N 1131,37923 -#define P_RJT 1132,37954 -#define F_RJT 1133,37982 -#define P_BSY 1134,38010 -#define FABRIC_BUSY_TO_DF 1135,38037 -#define FABRIC_BUSY_TO_LC 1136,38103 -#define LINK_CREDIT_RESET 1137,38173 -#define LS_ACC 1143,38292 -#define LS_PLOGI 1144,38333 -#define LS_FLOGI 1145,38378 -#define LS_LOGO 1146,38423 -#define LS_ABTX 1147,38462 -#define LS_RCS 1148,38509 -#define LS_RES 1149,38563 -#define LS_RSS 1150,38615 -#define LS_RSI 1151,38667 -#define LS_ESTS 1152,38721 -#define LS_ESTC 1153,38772 -#define LS_ADVC 1154,38820 -#define LS_RTV 1155,38866 -#define LS_RLS 1156,38916 -#define LS_ECHO 1157,38964 -#define LS_TEST 1158,39001 -#define LS_RRQ 1159,39038 -#define LS_PRLI 1160,39090 -#define LS_PRLO 1161,39136 -#define LS_TPRLO 1162,39183 -#define LS_PDISC 1163,39240 -#define LS_FDISC 1164,39290 -#define LS_ADISC 1165,39339 -#define LS_RNC 1166,39388 -#define LS_SCR 1167,39442 -#define LS_MASK 1168,39519 -#define BASIC_LINK_SERVICE 1173,39575 -#define EXT_LINK_SERVICE 1174,39613 -#define LLC 1176,39650 -#define LLC_SNAP 1177,39675 -#define SCSI_FCP 1178,39704 -#define SCSI_GPP 1179,39733 -#define IPI3_MASTER 1180,39762 -#define IPI3_SLAVE 1181,39794 -#define IPI3_PEER 1182,39825 -#define CP_IPI3_MASTER 1183,39855 -#define CP_IPI3_SLAVE 1184,39890 -#define CP_IPI3_PEER 1185,39924 -#define SBCCS_CHANNEL 1186,39957 -#define SBCCS_CONTROL 1187,39991 -#define FIBRE_SERVICES 1188,40025 -#define FC_FG 1189,40060 -#define FC_XS 1190,40087 -#define FC_AL 1191,40114 -#define SNMP 1192,40141 -#define HIPPI_FP 1193,40167 -#define TYPE_MASK 1194,40196 -} BA_ACC_PAYLOAD;BA_ACC_PAYLOAD1203,40379 -} BA_RJT_PAYLOAD;BA_RJT_PAYLOAD1210,40497 -} RRQ_MESSAGE;RRQ_MESSAGE1218,40599 -} REJECT_MESSAGE;REJECT_MESSAGE1226,40716 -#define N_OR_F_PORT 1229,40736 -#define RANDOM_RELATIVE_OFFSET 1230,40764 -#define CONTINUOSLY_INCREASING 1231,40802 -#define CLASS_VALID 1233,40841 -#define INTERMIX_MODE 1234,40869 -#define TRANSPARENT_STACKED 1235,40899 -#define LOCKDOWN_STACKED 1236,40934 -#define SEQ_DELIVERY 1237,40966 -#define XID_NOT_SUPPORTED 1239,40995 -#define XID_SUPPORTED 1240,41026 -#define XID_REQUIRED 1241,41056 -#define ASSOCIATOR_NOT_SUPPORTED 1243,41086 -#define ASSOCIATOR_SUPPORTED 1244,41124 -#define ASSOCIATOR_REQUIRED 1245,41160 -#define INIT_ACK0_SUPPORT 1247,41196 -#define INIT_ACKN_SUPPORT 1248,41228 -#define RECIP_ACK0_SUPPORT 1250,41261 -#define RECIP_ACKN_SUPPORT 1251,41295 -#define X_ID_INTERLOCK 1253,41330 -#define ERROR_POLICY 1255,41362 -#define ERROR_DISCARD 1256,41418 -#define ERROR_DISC_PROCESS 1257,41473 -#define NODE_ID 1259,41540 -#define IEEE_EXT 1260,41563 -#define CATEGORIES_PER_SEQUENCE 1265,41630 -#define ONE_CATEGORY_SEQUENCE 1266,41668 -#define TWO_CATEGORY_SEQUENCE 1267,41731 -#define MANY_CATEGORY_SEQUENCE 1268,41796 -} CLASS_PARAMETERS;CLASS_PARAMETERS1284,42075 -} LOGIN_PAYLOAD;LOGIN_PAYLOAD1334,42762 -} LOGOUT_PAYLOAD;LOGOUT_PAYLOAD1343,42893 -#define PRLI_ACC 1349,42961 -#define PRLI_REQ 1350,42985 -#define ORIG_PROCESS_ASSOC_VALID 1351,43009 -#define RESP_PROCESS_ASSOC_VALID 1352,43049 -#define ESTABLISH_PAIR 1353,43089 -#define DATA_OVERLAY_ALLOWED 1354,43121 -#define INITIATOR_FUNCTION 1355,43156 -#define TARGET_FUNCTION 1356,43189 -#define CMD_DATA_MIXED 1357,43220 -#define DATA_RESP_MIXED 1358,43250 -#define READ_XFER_RDY 1359,43281 -#define WRITE_XFER_RDY 1360,43310 -#define RESPONSE_CODE_MASK 1362,43341 -#define REQUEST_EXECUTED 1363,43374 -#define NO_RESOURCES 1364,43405 -#define INIT_NOT_COMPLETE 1365,43433 -#define IMAGE_DOES_NOT_EXIST 1366,43465 -#define BAD_PREDEFINED_COND 1367,43500 -#define REQ_EXEC_COND 1368,43534 -#define NO_MULTI_PAGE 1369,43563 -} PRLI_REQUEST;PRLI_REQUEST1384,43767 -} PRLO_REQUEST;PRLO_REQUEST1397,43955 -} ADISC_PAYLOAD;ADISC_PAYLOAD1409,44082 -struct ext_sg_entry_t ext_sg_entry_t1411,44100 -#define INVALID_COMMAND_CODE 1423,44328 -#define LOGICAL_ERROR 1424,44362 -#define LOGICAL_BUSY 1425,44390 -#define PROTOCOL_ERROR 1426,44417 -#define UNABLE_TO_PERFORM 1427,44446 -#define COMMAND_NOT_SUPPORTED 1428,44477 -#define LS_VENDOR_UNIQUE 1429,44512 -#define NO_REASON 1434,44586 -#define OPTIONS_ERROR 1435,44610 -#define INITIATOR_CTL_ERROR 1436,44638 -#define RECIPIENT_CTL_ERROR 1437,44671 -#define DATA_FIELD_SIZE_ERROR 1438,44704 -#define CONCURRENT_SEQ_ERROR 1439,44739 -#define CREDIT_ERROR 1440,44773 -#define INVALID_PORT_NAME 1441,44800 -#define INVALID_NODE_NAME 1442,44831 -#define INVALID_CSP 1443,44862 -#define INVALID_ASSOC_HDR 1444,44918 -#define ASSOC_HDR_REQUIRED 1445,44979 -#define LS_INVALID_S_ID 1446,45042 -#define INVALID_OX_RX_ID 1447,45072 -#define CMD_IN_PROCESS 1448,45137 -#define INVALID_IDENTIFIER 1449,45166 -#define INVALID_SEQ_ID 1450,45227 -#define ABT_INVALID_XCHNG 1451,45256 -#define ABT_INACTIVE_XCHNG 1452,45328 -#define NEED_REC_QUAL 1453,45402 -#define NO_LOGIN_RESOURCES 1454,45461 -#define NO_DATA 1455,45526 -#define REQUEST_NOT_SUPPORTED 1456,45584 -#define SEQUENCE_TERMINATED 1465,45702 -#define SEQUENCE_ACTIVE 1466,45741 -#define PHYS_NPORT_BUSY 1471,45806 -#define NPORT_RESOURCE_BUSY 1472,45840 -#define RETRYABLE_ERROR 1478,45915 -#define NON_RETRYABLE_ERROR 1479,45951 -#define INVALID_D_ID 1484,46027 -#define INVALID_S_ID 1485,46058 -#define NPORT_NOT_AVAIL_TMP 1486,46089 -#define NPORT_NOT_AVAIL_PERM 1487,46126 -#define CLASS_NOT_SUPPORTED 1488,46164 -#define USAGE_ERROR 1489,46201 -#define TYPE_NOT_SUPPORTED 1490,46231 -#define INVAL_LINK_CONTROL 1491,46267 -#define INVAL_R_CTL 1492,46303 -#define INVAL_F_CTL 1493,46333 -#define INVAL_OX_ID 1494,46363 -#define INVAL_RX_ID 1495,46393 -#define INVAL_SEQ_ID 1496,46423 -#define INVAL_DF_CTL 1497,46454 -#define INVAL_SEQ_CNT 1498,46485 -#define INVAL_PARAMS 1499,46517 -#define EXCHANGE_ERROR 1500,46548 -#define LS_PROTOCOL_ERROR 1501,46581 -#define INCORRECT_LENGTH 1502,46616 -#define UNEXPECTED_ACK 1503,46650 -#define LOGIN_REQ 1504,46683 -#define EXCESSIVE_SEQ 1505,46711 -#define NO_EXCHANGE 1506,46743 -#define SEC_HDR_NOT_SUPPORTED 1507,46773 -#define NO_FABRIC 1508,46812 -#define P_VENDOR_UNIQUE 1509,46840 -#define BA_INVALID_COMMAND 1514,46905 -#define BA_LOGICAL_ERROR 1515,46943 -#define BA_LOGICAL_BUSY 1516,46979 -#define BA_PROTOCOL_ERROR 1517,47015 -#define BA_UNABLE_TO_PERFORM 1518,47052 -#define BA_NO_REASON 1523,47135 -#define BA_INVALID_OX_RX 1524,47168 -#define BA_SEQUENCE_ABORTED 1525,47204 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/53c7xx.h,18521 -#define NCR53c710_H53,1256 -#define SCNTL0_REG 58,1335 -#define SCNTL0_ARB1 59,1362 -#define SCNTL0_ARB2 60,1419 -#define SCNTL0_STRT 61,1474 -#define SCNTL0_WATN 62,1521 -#define SCNTL0_EPC 63,1569 -#define SCNTL0_EPG_700 65,1667 -#define SCNTL0_AAP 66,1727 -#define SCNTL0_TRG 67,1780 -#define SCNTL1_REG 71,1865 -#define SCNTL1_EXC 72,1892 -#define SCNTL1_ADB 73,1955 -#define SCNTL1_ESR_700 74,2011 -#define SCNTL1_DHP_800 76,2105 -#define SCNTL1_CON 78,2201 -#define SCNTL1_RST 79,2242 -#define SCNTL1_AESP 80,2283 -#define SCNTL1_SND_700 81,2332 -#define SCNTL1_IARB_800 82,2383 -#define SCNTL1_RCV_700 85,2514 -#define SCNTL1_SST_800 86,2568 -#define SCNTL2_REG_800 90,2650 -#define SCNTL2_800_SDU 91,2680 -#define SCNTL3_REG_800 95,2768 -#define SCNTL3_800_SCF_SHIFT 96,2799 -#define SCNTL3_800_SCF_MASK 97,2830 -#define SCNTL3_800_SCF2 98,2863 -#define SCNTL3_800_SCF1 99,2919 -#define SCNTL3_800_SCF0 100,2969 -#define SCNTL3_800_CCF_SHIFT 105,3098 -#define SCNTL3_800_CCF_MASK 106,3129 -#define SCNTL3_800_CCF2 107,3162 -#define SCNTL3_800_CCF1 108,3215 -#define SCNTL3_800_CCF0 109,3268 -#define SDID_REG_700 118,3534 -#define SDID_REG_800 119,3564 -#define GP_REG_800 121,3592 -#define GP_800_IO1 122,3642 -#define GP_800_IO2 123,3667 -#define SIEN_REG_700 126,3740 -#define SIEN0_REG_800 127,3768 -#define SIEN_MA 128,3796 -#define SIEN_FC 129,3859 -#define SIEN_700_STO 130,3906 -#define SIEN_800_SEL 131,3972 -#define SIEN_700_SEL 132,4014 -#define SIEN_800_RESEL 133,4070 -#define SIEN_SGE 134,4116 -#define SIEN_UDC 135,4162 -#define SIEN_RST 136,4213 -#define SIEN_PAR 137,4261 -#define SCID_REG 148,4545 -#define SCID_800_RRE 150,4613 -#define SCID_800_SRE 151,4677 -#define SCID_800_ENC_MASK 153,4798 -#define SXFER_REG 156,4891 -#define SXFER_DHP 157,4915 -#define SXFER_TP2 159,4969 -#define SXFER_TP1 160,5019 -#define SXFER_TP0 161,5043 -#define SXFER_TP_MASK 162,5077 -#define SXFER_TP_SHIFT 164,5163 -#define SXFER_TP_4 165,5189 -#define SXFER_TP_5 166,5229 -#define SXFER_TP_6 167,5257 -#define SXFER_TP_7 168,5285 -#define SXFER_TP_8 169,5313 -#define SXFER_TP_9 170,5341 -#define SXFER_TP_10 171,5369 -#define SXFER_TP_11 172,5398 -#define SXFER_MO3 174,5428 -#define SXFER_MO2 175,5473 -#define SXFER_MO1 176,5497 -#define SXFER_MO0 177,5521 -#define SXFER_MO_MASK 178,5555 -#define SXFER_MO_SHIFT 179,5583 -#define SODL_REG_700 187,5847 -#define SODL_REG_800 188,5875 -#define SOCL_REG 199,6199 -#define SOCL_REQ 200,6222 -#define SOCL_ACK 201,6256 -#define SOCL_BSY 202,6290 -#define SOCL_SEL 203,6324 -#define SOCL_ATN 204,6358 -#define SOCL_MSG 205,6392 -#define SOCL_CD 206,6426 -#define SOCL_IO 207,6460 -#define SFBR_REG 225,6917 -#define SIDL_REG_700 233,7129 -#define SIDL_REG_800 234,7156 -#define SBDL_REG_700 242,7415 -#define SBDL_REG_800 243,7442 -#define SSID_REG_800 245,7470 -#define SSID_800_VAL 246,7497 -#define SSID_800_ENCID_MASK 247,7563 -#define SBCL_REG 254,7719 -#define SBCL_REQ 255,7744 -#define SBCL_ACK 256,7781 -#define SBCL_BSY 257,7818 -#define SBCL_SEL 258,7855 -#define SBCL_ATN 259,7892 -#define SBCL_MSG 260,7929 -#define SBCL_CD 261,7966 -#define SBCL_IO 262,8003 -#define SBCL_PHASE_CMDOUT 263,8040 -#define SBCL_PHASE_DATAIN 264,8074 -#define SBCL_PHASE_DATAOUT 265,8108 -#define SBCL_PHASE_MSGIN 266,8137 -#define SBCL_PHASE_MSGOUT 267,8189 -#define SBCL_PHASE_STATIN 268,8234 -#define SBCL_PHASE_MASK 269,8278 -#define SBCL_SSCF1 277,8454 -#define SBCL_SSCF0 278,8498 -#define SBCL_SSCF_MASK 279,8542 -#define DSTAT_REG 286,8727 -#define DSTAT_DFE 287,8752 -#define DSTAT_800_MDPE 288,8797 -#define DSTAT_800_BF 289,8857 -#define DSTAT_ABRT 290,8900 -#define DSTAT_SSI 291,8954 -#define DSTAT_SIR 292,9014 -#define DSTAT_WTD 295,9128 -#define DSTAT_OPC 296,9184 -#define DSTAT_800_IID 297,9234 -#define SSTAT0_REG 301,9341 -#define SIST0_REG_800 302,9389 -#define SSTAT0_MA 303,9418 -#define SSTAT0_CMP 306,9505 -#define SSTAT0_700_STO 307,9554 -#define SIST0_800_SEL 308,9622 -#define SSTAT0_700_SEL 309,9665 -#define SIST0_800_RSL 310,9723 -#define SSTAT0_SGE 311,9768 -#define SSTAT0_UDC 312,9816 -#define SSTAT0_RST 313,9869 -#define SSTAT0_PAR 314,9919 -#define SSTAT1_REG 318,10007 -#define SSTAT1_ILF 319,10055 -#define SSTAT1_ORF 320,10096 -#define SSTAT1_OLF 321,10137 -#define SSTAT1_AIP 322,10178 -#define SSTAT1_LOA 323,10233 -#define SSTAT1_WOA 324,10281 -#define SSTAT1_RST 325,10328 -#define SSTAT1_SDP 326,10383 -#define SSTAT2_REG 328,10439 -#define SSTAT2_FF3 329,10487 -#define SSTAT2_FF2 330,10550 -#define SSTAT2_FF1 331,10591 -#define SSTAT2_FF0 332,10617 -#define SSTAT2_FF_MASK 333,10642 -#define SSTAT2_FF_SHIFT 334,10671 -#define SSTAT2_SDP 340,10800 -#define SSTAT2_MSG 341,10835 -#define SSTAT2_CD 342,10870 -#define SSTAT2_IO 343,10904 -#define SSTAT2_PHASE_CMDOUT 344,10938 -#define SSTAT2_PHASE_DATAIN 345,10976 -#define SSTAT2_PHASE_DATAOUT 346,11014 -#define SSTAT2_PHASE_MSGIN 347,11045 -#define SSTAT2_PHASE_MSGOUT 348,11105 -#define SSTAT2_PHASE_STATIN 349,11156 -#define SSTAT2_PHASE_MASK 350,11206 -#define SCRATCHA_REG_00 354,11291 -#define DSA_REG 356,11384 -#define CTEST0_REG_700 358,11437 -#define CTEST0_REG_800 359,11487 -#define CTEST0_700_RTRG 361,11585 -#define CTEST0_700_DDIR 362,11638 -#define CTEST1_REG_700 367,11755 -#define CTEST1_REG_800 368,11805 -#define CTEST1_FMT3 369,11855 -#define CTEST1_FMT2 370,11923 -#define CTEST1_FMT1 371,11972 -#define CTEST1_FMT0 372,11998 -#define CTEST1_FFL3 374,12025 -#define CTEST1_FFL2 375,12093 -#define CTEST1_FFL1 376,12141 -#define CTEST1_FFL0 377,12167 -#define CTEST2_REG_700 379,12194 -#define CTEST2_REG_800 380,12244 -#define CTEST2_800_DDIR 382,12295 -#define CTEST2_800_SIGP 383,12346 -#define CTEST2_800_CIO 385,12444 -#define CTEST2_800_CM 386,12497 -#define CTEST2_700_SOFF 389,12604 -#define CTEST2_700_SFP 397,12879 -#define CTEST2_700_DFP 401,13016 -#define CTEST2_TEOP 405,13152 -#define CTEST2_DREQ 409,13270 -#define CTEST2_800_DACK 411,13365 -#define CTEST3_REG_700 420,13699 -#define CTEST3_REG_800 422,13751 -#define CTEST3_800_V3 423,13780 -#define CTEST3_800_V2 424,13828 -#define CTEST3_800_V1 425,13856 -#define CTEST3_800_V0 426,13884 -#define CTEST3_800_FLF 427,13912 -#define CTEST3_800_CLF 428,13962 -#define CTEST3_800_FM 429,14012 -#define CTEST4_REG_700 432,14106 -#define CTEST4_REG_800 433,14156 -#define CTEST4_800_BDIS 435,14249 -#define CTEST4_ZMOD 436,14304 -#define CTEST4_SZM 437,14356 -#define CTEST4_700_SLBE 438,14411 -#define CTEST4_800_SRTM 439,14469 -#define CTEST4_700_SFWR 440,14531 -#define CTEST4_800_MPEE 444,14659 -#define CTEST4_FBL2 453,14985 -#define CTEST4_FBL1 454,15012 -#define CTEST4_FBL0 455,15038 -#define CTEST4_FBL_MASK 456,15065 -#define CTEST4_FBL_0 457,15095 -#define CTEST4_FBL_1 458,15156 -#define CTEST4_FBL_2 459,15217 -#define CTEST4_FBL_3 460,15278 -#define CTEST4_800_SAVE 461,15339 -#define CTEST5_REG_700 464,15384 -#define CTEST5_REG_800 465,15434 -#define CTEST5_ADCK 471,15668 -#define CTEST5_BBCK 476,15800 -#define CTEST5_700_ROFF 486,16243 -#define CTEST5_MASR 492,16434 -#define CTEST5_DDIR 493,16462 -#define CTEST5_700_EOP 497,16560 -#define CTEST5_700_DREQ 498,16610 -#define CTEST5_700_DACK 499,16659 -#define CTEST6_REG_700 506,16867 -#define CTEST6_REG_800 507,16896 -#define CTEST7_REG 509,16926 -#define CTEST7_10_CDIS 511,17039 -#define CTEST7_10_SC1 512,17094 -#define CTEST7_10_SC0 513,17147 -#define CTEST7_10_SC_MASK 514,17176 -#define CTEST7_0060_FM 516,17247 -#define CTEST7_STD 517,17293 -#define CTEST7_DFP 518,17350 -#define CTEST7_EVP 519,17412 -#define CTEST7_10_TT1 520,17477 -#define CTEST7_00_DC 521,17525 -#define CTEST7_DIFF 523,17612 -#define CTEST7_SAVE 525,17663 -#define TEMP_REG 528,17714 -#define DFIFO_REG 530,17776 -#define DFIFO_00_FLF 535,17930 -#define DFIFO_00_CLF 536,17988 -#define DFIFO_BO6 537,18046 -#define DFIFO_BO5 538,18070 -#define DFIFO_BO4 539,18094 -#define DFIFO_BO3 540,18118 -#define DFIFO_BO2 541,18142 -#define DFIFO_BO1 542,18167 -#define DFIFO_BO0 543,18191 -#define DFIFO_10_BO_MASK 544,18215 -#define DFIFO_00_BO_MASK 545,18265 -#define ISTAT_REG_700 552,18447 -#define ISTAT_REG_800 553,18475 -#define ISTAT_ABRT 554,18503 -#define ISTAT_10_SRST 557,18665 -#define ISTAT_10_SIGP 558,18714 -#define ISTAT_800_SEM 560,18811 -#define ISTAT_CON 561,18855 -#define ISTAT_800_INTF 562,18902 -#define ISTAT_700_PRE 563,18958 -#define ISTAT_SIP 568,19133 -#define ISTAT_DIP 572,19245 -#define CTEST8_REG 577,19361 -#define CTEST8_0066_EAS 578,19407 -#define CTEST8_0066_EFM 581,19522 -#define CTEST8_0066_GRP 582,19590 -#define CTEST8_0066_TE 587,19757 -#define CTEST8_0066_HSC 592,19918 -#define CTEST8_0066_SRA 593,19970 -#define CTEST8_0066_DAS 597,20092 -#define CTEST8_0066_LDE 600,20188 -#define CTEST8_10_V3 610,20489 -#define CTEST8_10_V2 611,20536 -#define CTEST8_10_V1 612,20563 -#define CTEST8_10_V0 613,20591 -#define CTEST8_10_V_MASK 614,20618 -#define CTEST8_10_FLF 615,20649 -#define CTEST8_10_CLF 616,20695 -#define CTEST8_10_FM 617,20741 -#define CTEST8_10_SM 618,20789 -#define CTEST9_REG_00 631,21171 -#define LCRC_REG_10 632,21220 -#define DBC_REG 643,21485 -#define DBC_TCI_TRUE 650,21733 -#define DBC_TCI_COMPARE_DATA 651,21787 -#define DBC_TCI_COMPARE_PHASE 652,21845 -#define DBC_TCI_WAIT_FOR_VALID 653,21921 -#define DBC_TCI_MASK_MASK 655,22038 -#define DBC_TCI_MASK_SHIFT 656,22101 -#define DBC_TCI_DATA_MASK 657,22130 -#define DBC_TCI_DATA_SHIFT 658,22189 -#define DBC_RWRI_IMMEDIATE_MASK 660,22219 -#define DBC_RWRI_IMMEDIATE_SHIFT 661,22280 -#define DBC_RWRI_ADDRESS_MASK 662,22338 -#define DBC_RWRI_ADDRESS_SHIFT 663,22400 -#define DCMD_REG 669,22463 -#define DCMD_TYPE_MASK 670,22487 -#define DCMD_TYPE_BMI 671,22537 -#define DCMD_BMI_IO 672,22606 -#define DCMD_BMI_CD 673,22672 -#define DCMD_BMI_MSG 674,22738 -#define DCMD_BMI_OP_MASK 676,22792 -#define DCMD_BMI_OP_MOVE_T 677,22844 -#define DCMD_BMI_OP_MOVE_I 678,22887 -#define DCMD_BMI_INDIRECT 680,22941 -#define DCMD_TYPE_TCI 682,23000 -#define DCMD_TCI_IO 684,23084 -#define DCMD_TCI_CD 685,23150 -#define DCMD_TCI_MSG 686,23216 -#define DCMD_TCI_OP_MASK 687,23269 -#define DCMD_TCI_OP_JUMP 688,23321 -#define DCMD_TCI_OP_CALL 689,23362 -#define DCMD_TCI_OP_RETURN 690,23403 -#define DCMD_TCI_OP_INT 691,23448 -#define DCMD_TYPE_RWRI 693,23489 -#define DCMD_RWRI_OPC_MASK 695,23581 -#define DCMD_RWRI_OPC_WRITE 696,23631 -#define DCMD_RWRI_OPC_READ 697,23693 -#define DCMD_RWRI_OPC_MODIFY 698,23753 -#define DCMD_RWRI_OP_MASK 700,23810 -#define DCMD_RWRI_OP_MOVE 701,23841 -#define DCMD_RWRI_OP_SHL 702,23872 -#define DCMD_RWRI_OP_OR 703,23902 -#define DCMD_RWRI_OP_XOR 704,23932 -#define DCMD_RWRI_OP_AND 705,23962 -#define DCMD_RWRI_OP_SHR 706,23992 -#define DCMD_RWRI_OP_ADD 707,24022 -#define DCMD_RWRI_OP_ADDC 708,24052 -#define DCMD_TYPE_MMI 710,24084 -#define DNAD_REG 714,24179 -#define DSP_REG 716,24256 -#define DSPS_REG 717,24321 -#define DMODE_REG_00 719,24400 -#define DMODE_00_BL1 720,24446 -#define DMODE_00_BL0 721,24496 -#define DMODE_BL_MASK 722,24522 -#define DMODE_BL_2 724,24575 -#define DMODE_BL_4 725,24616 -#define DMODE_BL_8 726,24658 -#define DMODE_BL_16 727,24700 -#define DMODE_10_BL_1 729,24745 -#define DMODE_10_BL_2 730,24789 -#define DMODE_10_BL_4 731,24834 -#define DMODE_10_BL_8 732,24879 -#define DMODE_10_FC2 733,24924 -#define DMODE_10_FC1 734,24974 -#define DMODE_710_PD 735,25024 -#define DMODE_710_UO 736,25080 -#define DMODE_700_BW16 738,25131 -#define DMODE_700_286 739,25184 -#define DMODE_700_IOM 740,25226 -#define DMODE_700_FAM 741,25279 -#define DMODE_700_PIPE 742,25331 -#define DMODE_MAN 745,25427 -#define DMODE_700_SAVE 751,25594 -#define SCRATCHA_REG_800 754,25698 -#define SCRATCHB_REG_10 756,25781 -#define DMODE_REG_10 758,25844 -#define DMODE_800_SIOM 759,25913 -#define DMODE_800_DIOM 760,25962 -#define DMODE_800_ERL 761,26016 -#define DIEN_REG 764,26124 -#define DIEN_800_MDPE 766,26237 -#define DIEN_800_BF 767,26296 -#define DIEN_700_BF 768,26338 -#define DIEN_ABRT 769,26380 -#define DIEN_SSI 770,26435 -#define DIEN_SIR 771,26493 -#define DIEN_700_WTD 775,26617 -#define DIEN_700_OPC 776,26684 -#define DIEN_800_IID 779,26770 -#define DWT_REG 785,26899 -#define DCNTL_REG 788,26944 -#define DCNTL_700_CF1 789,26968 -#define DCNTL_700_CF0 790,27021 -#define DCNTL_700_CF_MASK 791,27049 -#define DCNTL_700_CF_2 793,27132 -#define DCNTL_700_CF_1_5 794,27189 -#define DCNTL_700_CF_1 795,27244 -#define DCNTL_700_CF_3 796,27299 -#define DCNTL_700_S16 798,27366 -#define DCNTL_SSM 799,27431 -#define DCNTL_700_LLM 800,27478 -#define DCNTL_800_IRQM 802,27569 -#define DCNTL_STD 803,27623 -#define DCNTL_00_RST 805,27696 -#define DCNTL_10_COM 809,27856 -#define DCNTL_10_EA 810,27921 -#define DCNTL_700_SAVE 812,27986 -#define SCRATCHB_REG_00 816,28064 -#define SCRATCHB_REG_800 817,28126 -#define ADDER_REG_10 819,28209 -#define SIEN1_REG_800 821,28265 -#define SIEN1_800_STO 822,28293 -#define SIEN1_800_GEN 823,28357 -#define SIEN1_800_HTH 824,28413 -#define SIST1_REG_800 826,28471 -#define SIST1_800_STO 827,28499 -#define SIST1_800_GEN 828,28563 -#define SIST1_800_HTH 829,28619 -#define SLPAR_REG_800 831,28677 -#define MACNTL_REG_800 833,28719 -#define MACNTL_800_TYP3 834,28776 -#define MACNTL_800_TYP2 835,28806 -#define MACNTL_800_TYP1 836,28836 -#define MACNTL_800_TYP0 837,28866 -#define MACNTL_800_DWR 838,28896 -#define MACNTL_800_DRD 839,28925 -#define MACNTL_800_PSCPT 840,28954 -#define MACNTL_800_SCPTS 841,28984 -#define GPCNTL_REG_800 843,29015 -#define STIME0_REG_800 846,29154 -#define STIME0_800_HTH_MASK 847,29211 -#define STIME0_800_HTH_SHIFT 848,29281 -#define STIME0_800_SEL_MASK 849,29312 -#define STIME0_800_SEL_SHIFT 850,29369 -#define STIME1_REG_800 852,29401 -#define STIME1_800_GEN_MASK 853,29430 -#define RESPID_REG_800 855,29492 -#define STEST0_REG_800 858,29598 -#define STEST0_800_SLT 859,29628 -#define STEST0_800_ART 860,29693 -#define STEST0_800_SOZ 861,29762 -#define STEST0_800_SOM 862,29821 -#define STEST1_REG_800 864,29884 -#define STEST1_800_SCLK 865,29913 -#define STEST2_REG_800 867,29969 -#define STEST2_800_SCE 868,29999 -#define STEST2_800_ROF 869,30051 -#define STEST2_800_SLB 870,30109 -#define STEST2_800_SZM 871,30170 -#define STEST2_800_EXT 872,30230 -#define STEST2_800_LOW 873,30298 -#define STEST3_REG_800 875,30354 -#define STEST3_800_TE 876,30385 -#define STEST3_800_STR 877,30442 -#define STEST3_800_HSC 878,30497 -#define STEST3_800_DSI 879,30548 -#define STEST3_800_TTM 880,30617 -#define STEST3_800_CSF 881,30667 -#define STEST3_800_STW 882,30718 -#define OPTION_PARITY 884,30775 -#define OPTION_TAGGED_QUEUE 885,30832 -#define OPTION_700 886,30900 -#define OPTION_INTFLY 887,30959 -#define OPTION_DEBUG_INTR 888,31015 -#define OPTION_DEBUG_INIT_ONLY 889,31069 -#define OPTION_DEBUG_READ_ONLY 893,31240 -#define OPTION_DEBUG_TRACE 895,31339 -#define OPTION_DEBUG_SINGLE 898,31478 -#define OPTION_SYNCHRONOUS 900,31564 -#define OPTION_MEMORY_MAPPED 901,31622 -#define OPTION_IO_MAPPED 903,31712 -#define OPTION_DEBUG_PROBE_ONLY 905,31798 -#define OPTION_DEBUG_TESTS_ONLY 906,31872 -#define OPTION_DEBUG_TEST0 907,31950 -#define OPTION_DEBUG_TEST1 908,32002 -#define OPTION_DEBUG_TEST2 909,32054 -#define OPTION_DEBUG_DUMP 910,32106 -#define OPTION_DEBUG_TARGET_LIMIT 911,32160 -#define OPTION_DEBUG_NCOMMANDS_LIMIT 912,32243 -#define OPTION_DEBUG_SCRIPT 913,32324 -#define OPTION_DEBUG_FIXUP 914,32401 -#define OPTION_DEBUG_DSA 915,32462 -#define OPTION_DEBUG_CORRUPTION 916,32496 -#define OPTION_DEBUG_SDTR 917,32569 -#define OPTION_DEBUG_MISMATCH 918,32636 -#define OPTION_DISCONNECT 919,32707 -#define OPTION_DEBUG_DISCONNECT 920,32766 -#define OPTION_ALWAYS_SYNCHRONOUS 921,32810 -#define OPTION_DEBUG_QUEUES 923,32908 -#define OPTION_DEBUG_ALLOCATION 924,32948 -#define OPTION_DEBUG_SYNCHRONOUS 925,32994 -#define OPTION_NO_ASYNC 927,33097 -#define OPTION_NO_PRINT_RACE 931,33275 -#define PERM_OPTIONS 935,33443 -struct NCR53c7x0_synchronous NCR53c7x0_synchronous947,33865 -#define CMD_FLAG_SDTR 961,34370 -#define CMD_FLAG_WDTR 963,34455 -#define CMD_FLAG_DID_SDTR 965,34531 -#define CMD_FLAG_DID_WDTR 966,34574 -struct NCR53c7x0_table_indirect NCR53c7x0_table_indirect968,34618 -enum ncr_event ncr_event973,34690 - EVENT_NONE 974,34708 - EVENT_ISSUE_QUEUE 980,34832 - EVENT_ISSUE_QUEUE = 0x5000000,980,34832 - EVENT_START_QUEUE,981,34908 - EVENT_SELECT,982,34970 - EVENT_DISCONNECT,983,35026 - EVENT_RESELECT,984,35079 - EVENT_COMPLETE,985,35128 - EVENT_IDLE,986,35183 - EVENT_SELECT_FAILED,987,35210 - EVENT_BEFORE_SELECT,988,35244 - EVENT_RESELECT_FAILED 989,35278 -struct NCR53c7x0_event NCR53c7x0_event992,35317 -struct NCR53c7x0_cmd NCR53c7x0_cmd1026,36415 -struct NCR53c7x0_break NCR53c7x0_break1120,39497 -#define STATE_HALTED 1127,39708 -#define STATE_WAITING 1133,39954 -#define STATE_RUNNING 1135,40034 -#define STATE_ABORTING 1139,40113 -#define STATE_ABORTED 1141,40193 -#define STATE_DISABLED 1143,40285 -#define SPECIFIC_INT_NOTHING 1152,40572 -#define SPECIFIC_INT_RESTART 1153,40629 -#define SPECIFIC_INT_ABORT 1154,40698 -#define SPECIFIC_INT_PANIC 1155,40762 -#define SPECIFIC_INT_DONE 1156,40824 -#define SPECIFIC_INT_BREAK 1157,40884 -struct NCR53c7x0_hostdata NCR53c7x0_hostdata1159,40944 -#define SCSI_IRQ_NONE 1453,50224 -#define DMA_NONE 1454,50250 -#define IRQ_AUTO 1455,50271 -#define DMA_AUTO 1456,50292 -#define BOARD_GENERIC 1458,50314 -#define NCR53c7x0_insn_size(NCR53c7x0_insn_size1460,50339 -#define NCR53c7x0_local_declare(NCR53c7x0_local_declare1464,50442 -#define NCR53c7x0_local_setup(NCR53c7x0_local_setup1469,50618 -#define NCR53c7x0_read8(NCR53c7x0_read81480,51094 -#define NCR53c7x0_read16(NCR53c7x0_read161483,51216 -#define NCR53c7x0_read8(NCR53c7x0_read81486,51343 -#define NCR53c7x0_read16(NCR53c7x0_read161491,51540 -#define NCR53c7x0_read8(NCR53c7x0_read81497,51764 -#define NCR53c7x0_read16(NCR53c7x0_read161502,51957 -#define NCR53c7x0_read32(NCR53c7x0_read321509,52177 -#define NCR53c7x0_read32(NCR53c7x0_read321512,52301 -#define NCR53c7x0_write8(NCR53c7x0_write81526,52893 -#define NCR53c7x0_write16(NCR53c7x0_write161530,53040 -#define NCR53c7x0_write32(NCR53c7x0_write321534,53189 -#define NCR53c7x0_write8(NCR53c7x0_write81540,53342 -#define NCR53c7x0_write16(NCR53c7x0_write161545,53562 -#define NCR53c7x0_write32(NCR53c7x0_write321550,53783 -#define patch_abs_32(patch_abs_321558,54061 -#define patch_abs_rwri_data(patch_abs_rwri_data1570,54589 -#define patch_abs_tci_data(patch_abs_tci_data1580,55028 -#define patch_dsa_32(patch_dsa_321590,55467 -#define FATAL(FATAL1601,55864 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/inia100.h,5977 -#define inia100_REVID 70,3527 -#define ULONG 72,3607 -#define PVOID 73,3637 -#define USHORT 74,3660 -#define UCHAR 75,3691 -#define BYTE 76,3721 -#define WORD 77,3751 -#define DWORD 78,3782 -#define UBYTE 79,3812 -#define UWORD 80,3842 -#define UDWORD 81,3873 -#define U32 82,3903 -#define FAILURE 85,3940 -#define ORC_MAXQUEUE 88,3975 -#define ORC_MAXTAGS 89,4001 -#define ORC_MAXQUEUE 91,4031 -#define ORC_MAXTAGS 92,4056 -#define TOTAL_SG_ENTRY 95,4087 -#define MAX_TARGETS 96,4114 -#define IMAX_CDB 97,4138 -#define SENSE_SIZE 98,4160 -#define SUCCESSFUL 99,4183 -#define I920_DEVICE_ID 101,4221 -typedef struct ORC_SG_Struc ORC_SG_Struc106,4514 -} ORC_SG;ORC_SG109,4609 -#define DISC_NOT_ALLOW 112,4695 -#define DISC_ALLOW 113,4767 -#define ORC_OFFSET_SCB 116,4841 -#define ORC_MAX_SCBS 117,4869 -#define MAX_CHANNELS 118,4899 -#define MAX_ESCB_ELE 119,4928 -#define TCF_DRV_255_63 120,4955 -#define ORC_PVID 125,5167 -#define ORC_VENDOR_ID 126,5226 -#define ORC_PDID 127,5292 -#define ORC_DEVICE_ID 128,5356 -#define ORC_COMMAND 129,5422 -#define BUSMS 130,5484 -#define IOSPA 131,5541 -#define ORC_STATUS 132,5598 -#define ORC_REVISION 133,5659 -#define ORC_BASE 134,5722 -#define ORC_BIOS 135,5781 -#define ORC_INT_NUM 136,5840 -#define ORC_INT_PIN 137,5894 -#define ORC_CMD_NOP 142,6126 -#define ORC_CMD_VERSION 143,6189 -#define ORC_CMD_ECHO 144,6256 -#define ORC_CMD_SET_NVM 145,6320 -#define ORC_CMD_GET_NVM 146,6387 -#define ORC_CMD_GET_BUS_STATUS 147,6454 -#define ORC_CMD_ABORT_SCB 148,6531 -#define ORC_CMD_ISSUE_SCB 149,6599 -#define ORC_GINTS 154,6845 -#define QINT 155,6905 -#define ORC_GIMSK 156,6953 -#define MQINT 157,7005 -#define ORC_GCFG 158,7062 -#define EEPRG 159,7121 -#define ORC_GSTAT 160,7173 -#define WIDEBUS 161,7225 -#define ORC_HDATA 162,7284 -#define ORC_HCTRL 163,7344 -#define SCSIRST 164,7404 -#define HDO 165,7455 -#define HOSTSTOP 166,7503 -#define DEVRST 167,7555 -#define ORC_HSTUS 168,7613 -#define HDI 169,7673 -#define RREADY 170,7729 -#define ORC_NVRAM 171,7788 -#define SE2CS 172,7848 -#define SE2CLK 173,7869 -#define SE2DO 174,7891 -#define SE2DI 175,7912 -#define ORC_PQUEUE 176,7933 -#define ORC_PQCNT 177,7994 -#define ORC_RQUEUE 178,8046 -#define ORC_RQUEUECNT 179,8107 -#define ORC_FWBASEADR 180,8171 -#define ORC_EBIOSADR0 182,8228 -#define ORC_EBIOSADR1 183,8283 -#define ORC_EBIOSADR2 184,8338 -#define ORC_EBIOSDATA 185,8393 -#define ORC_SCBSIZE 187,8449 -#define ORC_SCBBASE0 188,8511 -#define ORC_SCBBASE1 189,8574 -#define ORC_RISCCTL 191,8638 -#define PRGMRST 192,8700 -#define DOWNLOAD 193,8723 -#define ORC_PRGMCTR0 194,8747 -#define ORC_PRGMCTR1 195,8810 -#define ORC_RISCRAM 196,8873 -typedef struct orc_extended_scb orc_extended_scb198,8936 -} ESCB;ESCB201,9127 -typedef struct orc_scb orc_scb206,9304 -} ORC_SCB;ORC_SCB233,10642 -#define ORC_EXECSCSI 236,10685 -#define ORC_BUSDEVRST 237,10754 -#define ORCSCB_COMPLETE 240,10841 -#define ORCSCB_POST 241,10899 -#define SCF_DISINT 244,11000 -#define SCF_DIR 245,11053 -#define SCF_NO_DCHK 246,11104 -#define SCF_DIN 247,11166 -#define SCF_DOUT 248,11225 -#define SCF_NO_XF 249,11284 -#define SCF_POLL 250,11344 -#define HOST_SEL_TOUT 253,11405 -#define HOST_DO_DU 254,11432 -#define HOST_BUS_FREE 255,11456 -#define HOST_BAD_PHAS 256,11483 -#define HOST_INV_CMD 257,11510 -#define HOST_SCSI_RST 258,11536 -#define HOST_DEV_RST 259,11563 -#define TARGET_CHK_COND 263,11627 -#define TARGET_BUSY 264,11656 -#define TARGET_TAG_FULL 265,11681 -#define MSG_STAG 269,11788 -#define MSG_HTAG 270,11810 -#define MSG_OTAG 271,11832 -#define MSG_IGNOREWIDE 273,11855 -#define MSG_IDENT 275,11884 -#define MSG_DISC 276,11907 -#define MSG_EXTEND 280,11987 -#define MSG_SDP 281,12011 -#define MSG_ABORT 282,12033 -#define MSG_REJ 283,12056 -#define MSG_NOP 284,12078 -#define MSG_PARITY 285,12100 -#define MSG_DEVRST 286,12124 -#define MSG_STAG 287,12148 -typedef struct ORC_Tar_Ctrl_Struc ORC_Tar_Ctrl_Struc293,12351 -} ORC_TCS, *PORC_TCS;PORC_TCS299,12530 -#define TCS_DF_NODASD_SUPT 302,12591 -#define TCS_DF_NOSCSI_SUPT 303,12660 -typedef struct ORC_Ha_Ctrl_Struc ORC_Ha_Ctrl_Struc309,12923 -} ORC_HCS;ORC_HCS337,14055 -#define HCF_SCSI_RESET 341,14103 -#define HCF_PARITY 342,14160 -#define HCF_LVDS 343,14225 -#define TCF_EN_255 347,14327 -#define TCF_EN_TAG 348,14355 -#define TCF_BUSY 349,14383 -#define TCF_DISCONNECT 350,14411 -#define TCF_SPIN_UP 351,14439 -#define HCS_AF_IGNORE 354,14503 -#define HCS_AF_DISABLE_RESET 355,14560 -#define HCS_AF_DISABLE_ADPT 356,14623 -#define DELAYED_RESET_MAX 365,14959 -#define DELAYED_RESET_INTERVAL 366,15002 -#define IRQ_TIMEOUT_INTERVAL 371,15193 -#define DELAYED_RETRY_INTERVAL 376,15389 -#define INQUIRY_SIZE 378,15427 -#define CAPACITY_SIZE 379,15452 -#define DEFAULT_SENSE_LEN 380,15477 -#define DEVICE_NOT_FOUND 382,15507 -#define MAX_PCI_DEVICES 387,15691 -#define MAX_PCI_BUSES 388,15718 -typedef struct Adpt_Struc Adpt_Struc390,15743 -} JACS, *PJACS;PJACS396,15963 -typedef struct _NVRAM _NVRAM398,15980 -} NVRAM, *PNVRAM;PNVRAM470,20572 -#define NBC_BIOSENABLE 473,20666 -#define NBC_CDROM 474,20735 -#define NBC_REMOVABLE 475,20796 -#define NBB_TARGET_MASK 478,20941 -#define NBB_CHANL_MASK 479,21010 -#define NCC_BUSRESET 482,21155 -#define NCC_PARITYCHK 483,21224 -#define NCC_LVDS 484,21293 -#define NCC_ACTTERM1 485,21362 -#define NCC_ACTTERM2 486,21431 -#define NCC_AUTOTERM 487,21500 -#define NTC_PERIOD 490,21645 -#define NTC_1GIGA 491,21714 -#define NTC_NO_SYNC 492,21782 -#define NTC_NO_WIDESYNC 493,21843 -#define NTC_DISC_ENABLE 494,21912 -#define NTC_SPINUP 495,21973 -#define NBC_DEFAULT 498,22118 -#define NCC_DEFAULT 499,22155 -#define NCC_MAX_TAGS 500,22225 -#define NCC_RESET_TIME 501,22294 -#define NTC_DEFAULT 502,22363 -} CONFIG_ADR;CONFIG_ADR514,22819 -} HOST_ADR;HOST_ADR523,23092 -#define ORC_RD(ORC_RD525,23105 -#define ORC_RDLONG(ORC_RDLONG526,23188 -#define ORC_WR(ORC_WR528,23269 -#define ORC_WRSHORT(ORC_WRSHORT529,23334 -#define ORC_WRLONG(ORC_WRLONG530,23399 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/dmx3191d.h,696 -#define __DMX3191D_H12,410 -#define DMX3191D_DRIVER_NAME 14,432 -#define DMX3191D_REGION 15,472 -#define PCI_VENDOR_ID_DOMEX 18,528 -#define PCI_DEVICE_ID_DOMEX_DMX3191D 19,564 -#define NCR5380_read(NCR5380_read31,1031 -#define NCR5380_write(NCR5380_write32,1075 -#define NCR5380_implementation_fields 34,1135 -#define NCR5380_local_declare(NCR5380_local_declare35,1192 -#define NCR5380_setup(NCR5380_setup36,1256 -#define NCR5380_abort 38,1316 -#define do_NCR5380_intr 39,1356 -#define NCR5380_intr 40,1400 -#define NCR5380_proc_info 41,1438 -#define NCR5380_queue_command 42,1485 -#define NCR5380_host_reset 43,1540 -#define NCR5380_bus_reset 44,1589 -#define NCR5380_device_reset 45,1636 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/pluto.c,649 -#define pluto_printk 32,614 -#define PLD(PLD35,695 -#define PLND(PLND36,727 -#define PLD(PLD38,779 -#define PLND(PLND39,794 -static struct ctrl_inquiry ctrl_inquiry42,818 -} *fcs __initdata 48,945 -static int fcscount __initdata 49,972 -static atomic_t fcss __initdata 50,1008 -static void __init pluto_detect_timeout(55,1181 -static void __init pluto_detect_done(61,1281 -static void __init pluto_detect_scsi_done(66,1359 -int pluto_slave_configure(74,1560 -int __init pluto_detect(93,1954 -int pluto_release(280,6619 -const char *pluto_info(294,6911 -static int pluto_encode_addr(321,7722 -static Scsi_Host_Template driver_template 343,8408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/zalon.c,917 -#define GSC_SCSI_ZALON_OFFSET 21,395 -#define IO_MODULE_EIM 23,432 -#define IO_MODULE_DC_ADATA 24,461 -#define IO_MODULE_II_CDATA 25,494 -#define IO_MODULE_IO_COMMAND 26,527 -#define IO_MODULE_IO_STATUS 27,563 -#define IOSTATUS_RY 29,599 -#define IOSTATUS_FE 30,625 -#define IOIIDATA_SMINT5L 31,651 -#define IOIIDATA_MINT5EN 32,687 -#define IOIIDATA_PACKEN 33,723 -#define IOIIDATA_PREFETCHEN 34,759 -#define IOIIDATA_IOII 35,798 -#define CMD_RESET 37,833 -static struct ncr_chip zalon720_chip __initdata 39,855 -static u8 iodc_data[59,1406 -static unsigned long pdc_result[60,1462 -lasi_scsi_clock(63,1554 -static struct scsi_host_template zalon7xx_template 80,1956 -zalon_probe(86,2084 -static struct parisc_device_id zalon_tbl[164,4170 -static int __exit zalon_remove(171,4335 -static struct parisc_driver zalon_driver 184,4562 -static int __init zalon7xx_init(191,4726 -static void __exit zalon7xx_exit(196,4816 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/osst.c,4758 -static const char * cvsid 26,914 -const char * osst_version 27,997 -#define OSST_FW_NEED_POLL_MIN 30,1082 -#define OSST_FW_NEED_POLL_MAX 31,1129 -#define OSST_FW_NEED_POLL(OSST_FW_NEED_POLL32,1176 -#define DEBUG 56,1857 -#define OSST_DEB_MSG 61,2115 -#define ST_KILOBYTE 68,2256 -static int max_dev 75,2368 -static int write_threshold_kbs 76,2392 -static int max_sg_segs 77,2428 -static struct osst_dev_parm osst_dev_parm93,2950 -} parms[96,3021 -} parms[] __initdata 96,3021 -static char *osst_formats[103,3224 -#define OSST_BUFFER_SIZE 106,3352 -#define OSST_WRITE_THRESHOLD 107,3412 -static int debugging 116,3710 -#define MAX_RETRIES 121,3829 -#define MAX_READ_RETRIES 122,3851 -#define MAX_WRITE_RETRIES 123,3878 -#define MAX_READY_RETRIES 124,3906 -#define NO_TAPE 125,3934 -#define OSST_WAIT_POSITION_COMPLETE 127,3962 -#define OSST_WAIT_WRITE_COMPLETE 128,4026 -#define OSST_WAIT_LONG_WRITE_COMPLETE 129,4074 -#define OSST_TIMEOUT 131,4123 -#define OSST_LONG_TIMEOUT 132,4155 -#define TAPE_NR(TAPE_NR134,4194 -#define TAPE_MODE(TAPE_MODE135,4250 -#define TAPE_REWIND(TAPE_REWIND136,4317 -#define TAPE_IS_RAW(TAPE_IS_RAW137,4366 -#define SET_DENS_AND_BLK 141,4520 -static int osst_buffer_size 143,4554 -static int osst_write_threshold 144,4608 -static int osst_max_sg_segs 145,4666 -static int osst_max_dev 146,4715 -static int osst_nr_dev;147,4767 -static OS_Scsi_Tape **os_scsi_tapes 149,4792 -static rwlock_t os_scsi_tapes_lock 150,4836 -static int modes_defined 152,4893 -struct scsi_driver osst_template 166,5463 -static inline char *tape_name(185,6082 -static int osst_chk_result(193,6284 -static void osst_sleep_done 281,8814 -static Scsi_Request * osst_do_scsi(309,9712 -static void osst_write_behind_check(368,11582 -static void osst_init_aux(408,12471 -static int osst_verify_frame(470,14663 -static int osst_wait_ready(604,19108 -static int osst_wait_for_medium(671,21323 -static int osst_position_tape_and_confirm(728,23276 -static int osst_flush_drive_buffer(742,23725 -#define OSST_POLL_PER_SEC 776,24720 -static int osst_wait_frame(777,24749 -static int osst_read_frame(836,26763 -static int osst_initiate_read(907,29119 -static int osst_get_logical_frame(945,30172 -static int osst_seek_logical_blk(1071,33906 -#define OSST_FRAME_SHIFT 1176,38360 -#define OSST_SECTOR_SHIFT 1177,38388 -#define OSST_SECTOR_MASK 1178,38416 -static int osst_get_sector(1180,38449 -static int osst_seek_sector(1210,39603 -static int osst_read_back_buffer_and_rewrite(1273,41862 -static int osst_reposition_and_retry(1467,48454 -static int osst_write_error_recovery(1571,51400 -static int osst_space_over_filemarks_backward(1648,54253 -static int osst_space_over_filemarks_forward_slow(1747,57611 -static int osst_space_over_filemarks_forward_fast(1801,59164 -static void osst_set_retries(1952,64355 -static int osst_write_filemark(1984,65499 -static int osst_write_eod(2012,66424 -static int osst_write_filler(2035,67021 -static int __osst_write_header(2060,67771 -static int osst_write_header(2087,68623 -static int osst_reset_header(2161,71559 -static int __osst_analyze_headers(2174,71997 -static int osst_analyze_headers(2351,79609 -static int osst_verify_position(2406,81237 -static unsigned int osst_parse_firmware_rev 2465,83590 -static int osst_configure_onstream(2482,83931 -static int cross_eof(2653,89549 -static int osst_get_frame_position(2682,90331 -static int osst_set_frame_position(2760,93079 -static int osst_write_trailer(2818,94614 -static int osst_flush_write_buffer(2845,95391 -static int osst_flush_buffer(2975,99299 -static int osst_write_frame(3037,100901 -static int do_door_lock(3120,103228 -static void reset_state(3139,103715 -static ssize_t osst_write(3160,104085 -static ssize_t osst_read(3483,112622 -static void osst_log_options(3668,117833 -static int osst_set_options(3691,118610 -static int osst_int_ioctl(3847,123721 -static int os_scsi_tape_open(4232,134767 -static int os_scsi_tape_flush(4593,145895 -static int os_scsi_tape_close(4681,148370 -static int osst_ioctl(4707,148878 -static OSST_buffer * new_tape_buffer(5046,158644 -static int enlarge_buffer(5078,159489 -static void normalize_buffer(5157,162094 -static int append_to_buffer(5181,162814 -static int from_buffer(5214,163828 -static int osst_zero_buffer_tail(5246,164850 -static int osst_copy_to_buffer(5274,165779 -static int osst_copy_from_buffer(5295,166432 -static void validate_options 5317,167012 -static int __init osst_setup 5337,167685 -static struct file_operations osst_fops 5374,168462 -static int osst_supports(5384,168736 - struct osst_support_data osst_support_data5386,168782 -static int osst_probe(5416,169565 -static int osst_remove(5577,174509 -static int __init init_osst(5612,175433 -static void __exit exit_osst 5626,175836 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/scsicam.c,129 -unsigned char *scsi_bios_ptable(27,642 -int scsicam_bios_param(56,1325 -int scsi_partsize(109,2693 -static int setsize(213,6020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/scsi/atari_scsi.c,2633 -#define NDEBUG 71,4225 -#define NDEBUG_ABORT 73,4245 -#define NDEBUG_TAGS 74,4275 -#define NDEBUG_MERGING 75,4305 -#define AUTOSENSE77,4339 -#define REAL_DMA79,4417 -#define SUPPORT_TAGS81,4500 -#define MAX_TAGS 82,4521 -#define IS_A_TT(IS_A_TT114,5181 -#define SCSI_DMA_WRITE_P(SCSI_DMA_WRITE_P116,5225 -#define SCSI_DMA_READ_P(SCSI_DMA_READ_P128,5526 -static inline void SCSI_DMA_SETADR(135,5761 -static inline unsigned long SCSI_DMA_GETADR(147,5994 -static inline void ENABLE_IRQ(159,6218 -static inline void DISABLE_IRQ(167,6353 -#define HOSTDATA_DMALEN 176,6492 -#define AFTER_RESET_DELAY 183,6831 -#define AFTER_RESET_DELAY 185,6870 -static struct Scsi_Host *atari_scsi_host 214,8162 -static unsigned long atari_dma_residual,219,8373 -static unsigned long atari_dma_residual, atari_dma_startaddr;219,8373 -static short atari_dma_active;220,8435 -static char *atari_dma_buffer 222,8503 -static unsigned long atari_dma_phys_buffer;224,8601 -static char *atari_dma_orig_addr;226,8722 -#define STRAM_BUFFER_SIZE 233,9102 -static unsigned long atari_dma_stram_mask;235,9198 -#define STRAM_ADDR(STRAM_ADDR236,9241 -static int atari_read_overruns 238,9367 -static int setup_can_queue 241,9411 -static int setup_cmd_per_lun 243,9479 -static int setup_sg_tablesize 245,9551 -static int setup_use_tagged_queuing 248,9645 -static int setup_hostid 251,9738 -static int scsi_dma_is_ignored_buserr(261,9893 -static void scsi_dma_buserr 289,10658 -static irqreturn_t scsi_tt_intr 318,11575 -static irqreturn_t scsi_falcon_intr 410,14696 -static void atari_scsi_fetch_restbytes(472,16592 -static int falcon_got_lock 497,17254 -static int falcon_trying_lock 499,17340 -static int falcon_dont_release 501,17424 -falcon_release_lock_if_possible(511,17800 -static void falcon_get_lock(554,19113 -int atari_queue_command 592,19955 -int atari_scsi_detect 603,20221 -int atari_scsi_release 769,25447 -void __init atari_scsi_setup(779,25637 -int atari_scsi_bus_reset(824,26692 -static void __init atari_scsi_reset_boot(867,27707 -const char * atari_scsi_info 899,28497 -unsigned long atari_scsi_dma_setup(909,28695 -static long atari_scsi_dma_residual(977,30871 -#define CMD_SURELY_BLOCK_MODE 983,30974 -#define CMD_SURELY_BYTE_MODE 984,31006 -#define CMD_MODE_UNKNOWN 985,31037 -static int falcon_classify_cmd(987,31066 -static unsigned long atari_dma_xfer_len(1019,32270 -static unsigned char atari_scsi_tt_reg_read(1119,35880 -static void atari_scsi_tt_reg_write(1124,35984 -static unsigned char atari_scsi_falcon_reg_read(1129,36099 -static void atari_scsi_falcon_reg_write(1135,36267 -static Scsi_Host_Template driver_template 1144,36477 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/toto.c,932 -static struct mtd_info *toto_mtd 38,967 -static int toto_io_base 40,1009 -#define CONFIG_NAND_WORKAROUND 42,1055 -#define NAND_NCE 44,1089 -#define NAND_CLE 45,1113 -#define NAND_ALE 46,1137 -#define NAND_MASK 47,1161 -#define T_NAND_CTL_CLRALE(T_NAND_CTL_CLRALE49,1213 -#define T_NAND_CTL_SETALE(T_NAND_CTL_SETALE50,1269 -#define T_NAND_CTL_CLRCLE(T_NAND_CTL_CLRCLE52,1420 -#define T_NAND_CTL_SETCLE(T_NAND_CTL_SETCLE53,1494 -#define T_NAND_CTL_CLRCLE(T_NAND_CTL_CLRCLE55,1581 -#define T_NAND_CTL_SETCLE(T_NAND_CTL_SETCLE56,1637 -#define T_NAND_CTL_SETNCE(T_NAND_CTL_SETNCE58,1707 -#define T_NAND_CTL_CLRNCE(T_NAND_CTL_CLRNCE59,1763 -static struct mtd_partition partition_info64M[65,1890 -static struct mtd_partition partition_info32M[80,2295 -#define NUM_PARTITIONS32M 92,2604 -#define NUM_PARTITIONS64M 93,2632 -static void toto_hwcontrol(98,2713 -int __init toto_init 119,3318 -static void __exit toto_cleanup 195,5239 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/tx4938ndfmc.c,872 -static struct mtd_info *tx4938ndfmc_mtd;40,1078 -#define flush_wb(flush_wb45,1165 -#define NUM_PARTITIONS 47,1213 -#define NUMBER_OF_CIS_BLOCKS 48,1240 -#define SIZE_OF_BLOCK 49,1272 -#define NUMBER_OF_BLOCK_PER_ZONE 50,1306 -#define SIZE_OF_ZONE 51,1344 -static struct mtd_partition partition_info[78,2352 -static void tx4938ndfmc_hwcontrol(99,2967 -static int tx4938ndfmc_dev_ready(129,3738 -static void tx4938ndfmc_calculate_ecc(134,3862 -static void tx4938ndfmc_enable_hwecc(145,4299 -static u_char tx4938ndfmc_nand_read_byte(154,4598 -static void tx4938ndfmc_nand_write_byte(160,4746 -static void tx4938ndfmc_nand_write_buf(166,4906 -static void tx4938ndfmc_nand_read_buf(175,5115 -static int tx4938ndfmc_nand_verify_buf(184,5317 -static void tx4938ndfmc_nand_command 199,5600 -int __init tx4938ndfmc_init 298,8049 -static void __exit tx4938ndfmc_cleanup 402,11208 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/nand_ids.c,96 -struct nand_flash_dev nand_flash_ids[26,639 -struct nand_manufacturers nand_manuf_ids[114,5512 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/diskonchip.c,2661 -#define CONFIG_MTD_DISKONCHIP_PROBE_ADDRESS 32,893 -static unsigned long __initdata doc_locations[35,947 -static struct mtd_info *doclist 62,1933 -struct doc_priv doc_priv64,1974 -#define MAX_MEDIAHEADER_SCAN 80,2403 -static u_char empty_read_syndrome[84,2574 -static u_char empty_write_ecc[87,2773 -#define INFTL_BBT_RESERVED_BLOCKS 89,2849 -#define DoC_is_MillenniumPlus(DoC_is_MillenniumPlus91,2886 -#define DoC_is_Millennium(DoC_is_Millennium92,3008 -#define DoC_is_2000(DoC_is_200093,3076 -static int debug=98,3266 -static int try_dword=101,3312 -static int no_ecc_failures=104,3366 -static int no_autopart=107,3432 -static int inftl_bbt_write=111,3526 -static int inftl_bbt_write=113,3562 -static unsigned long doc_config_location 117,3635 -static void DoC_Delay(121,3854 -#define CDSN_CTRL_FR_B_MASK 137,4200 -static int _DoC_WaitReady(140,4337 -static inline int DoC_WaitReady(170,5062 -static void doc2000_write_byte(194,5640 -static u_char doc2000_read_byte(205,5954 -static void doc2000_writebuf(219,6298 -static void doc2000_readbuf(235,6724 -static void doc2000_readbuf_dword(250,7062 -static int doc2000_verifybuf(271,7589 -static uint16_t __init doc200x_ident_chip(285,7911 -static void __init doc2000_count_chips(327,9132 -static int doc200x_wait(349,9667 -static void doc2001_write_byte(363,9955 -static u_char doc2001_read_byte(374,10265 -static void doc2001_writebuf(388,10667 -static void doc2001_readbuf(402,11035 -static int doc2001_verifybuf(420,11462 -static u_char doc2001plus_read_byte(441,11938 -static void doc2001plus_writebuf(455,12341 -static void doc2001plus_readbuf(472,12773 -static int doc2001plus_verifybuf(502,13534 -static void doc2001plus_select_chip(529,14242 -static void doc200x_select_chip(555,14884 -static void doc200x_hwcontrol(582,15510 -static void doc2001plus_command 620,16449 -static int doc200x_dev_ready(724,19312 -static int doc200x_block_bad(755,20124 -static void doc200x_enable_hwecc(762,20323 -static void doc2001plus_enable_hwecc(781,20804 -static int doc200x_calculate_ecc(801,21353 -static int doc200x_correct_data(859,23135 -static struct nand_oobinfo doc200x_oobinfo 934,25460 -static int __init find_media_headers(947,26074 -static inline int __init nftl_partscan(990,27462 -static inline int __init inftl_partscan(1086,30549 -static int __init nftl_scan_bbt(1211,34555 -static int __init inftl_scan_bbt(1250,35772 -static inline int __init doc2000_init(1310,37686 -static inline int __init doc2001_init(1328,38223 -static inline int __init doc2001plus_init(1360,39200 -static inline int __init doc_probe(1382,39816 -int __init init_nanddoc(1592,46127 -void __exit cleanup_nanddoc(1613,46660 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/autcpu12.c,756 -static struct mtd_info *autcpu12_mtd 45,1214 -static int autcpu12_io_base 47,1260 -static int autcpu12_fio_pbase 48,1309 -static int autcpu12_fio_ctrl 49,1360 -static int autcpu12_pedr 50,1419 -static int autcpu12_fio_base;51,1472 -static struct mtd_partition partition_info16k[66,1821 -static struct mtd_partition partition_info32k[75,2051 -static struct mtd_partition partition_info64k[84,2282 -static struct mtd_partition partition_info128k[93,2515 -#define NUM_PARTITIONS16K 102,2750 -#define NUM_PARTITIONS32K 103,2778 -#define NUM_PARTITIONS64K 104,2806 -#define NUM_PARTITIONS128K 105,2834 -static void autcpu12_hwcontrol(109,2915 -int autcpu12_device_ready(128,3723 -int __init autcpu12_init 138,3920 -static void __exit autcpu12_cleanup 219,6070 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/nand_bbt.c,1086 -static int check_pattern 78,2835 -static int read_bbt 121,3715 -static int read_abs_bbt 186,5798 -static int read_abs_bbts 221,6902 -static void create_bbt 254,8167 -static int search_bbt 326,10412 -static int search_read_bbts 394,12479 -static int write_bbt 421,13090 -static int nand_memory_bbt 591,18630 -static int check_create 613,19371 -static void mark_bbt_region 726,22009 -int nand_scan_bbt 789,24113 -int nand_update_bbt 852,25753 -static uint8_t scan_ff_pattern[910,27216 -static struct nand_bbt_descr smallpage_memorybased 912,27268 -static struct nand_bbt_descr largepage_memorybased 919,27393 -static struct nand_bbt_descr smallpage_flashbased 926,27518 -static struct nand_bbt_descr largepage_flashbased 933,27683 -static uint8_t scan_agand_pattern[940,27848 -static struct nand_bbt_descr agand_flashbased 942,27927 -static uint8_t bbt_pattern[951,28129 -static uint8_t mirror_pattern[952,28183 -static struct nand_bbt_descr bbt_main_descr 954,28241 -static struct nand_bbt_descr bbt_mirror_descr 964,28497 -int nand_default_bbt 982,29005 -int nand_isbad_bbt 1031,30424 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/nand_ecc.c,156 -static const u_char nand_ecc_precalc_table[46,1853 -static void nand_trans_result(74,3651 -int nand_calculate_ecc(117,4535 -int nand_correct_data(159,5549 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/tx4925ndfmc.c,1093 -static struct mtd_info *tx4925ndfmc_mtd 40,1077 -static struct mtd_partition partition_info16k[46,1173 -static struct mtd_partition partition_info32k[55,1422 -static struct mtd_partition partition_info64k[64,1669 -static struct mtd_partition partition_info128k[73,1898 -#define NUM_PARTITIONS16K 81,2119 -#define NUM_PARTITIONS32K 82,2148 -#define NUM_PARTITIONS64K 83,2177 -#define NUM_PARTITIONS128K 84,2206 -static void tx4925ndfmc_hwcontrol(89,2288 -static int tx4925ndfmc_device_ready(124,3047 -void tx4925ndfmc_enable_hwecc(130,3196 -static void tx4925ndfmc_disable_ecc(137,3444 -static void tx4925ndfmc_enable_read_ecc(141,3545 -void tx4925ndfmc_readecc(146,3704 -void tx4925ndfmc_device_setup(154,3979 -static u_char tx4925ndfmc_nand_read_byte(167,4389 -static void tx4925ndfmc_nand_write_byte(173,4551 -static void tx4925ndfmc_nand_write_buf(179,4725 -static void tx4925ndfmc_nand_read_buf(188,4934 -static int tx4925ndfmc_nand_verify_buf(197,5136 -static void tx4925ndfmc_nand_command 212,5419 -int __init tx4925ndfmc_init 314,7971 -static void __exit tx4925ndfmc_cleanup 413,11195 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/au1550nd.c,879 -static struct mtd_info *au1550_mtd 33,708 -static volatile u32 p_nand;34,751 -static int nand_width 35,779 -static u_char data_buf[38,912 -static u_char oob_buf[39,946 -const static struct mtd_partition partition_info[44,1024 -#define NUM_PARTITIONS 46,1105 -#define NUM_PARTITIONS 59,1355 -static inline void write_cmd_reg(73,1583 -static inline void write_addr_reg(82,1771 -static inline void write_data_reg(91,1965 -static inline u32 read_data_reg(100,2159 -void au1550_hwcontrol(114,2397 -int au1550_device_ready(118,2455 -static u_char au1550_nand_read_byte(125,2580 -static void au1550_nand_write_byte(132,2693 -au1550_nand_write_buf(138,2808 -au1550_nand_read_buf(147,2956 -au1550_nand_verify_buf(156,3106 -static void au1550_nand_select_chip(167,3288 -static void au1550_nand_command 184,3623 -int __init au1550_init 254,5116 -static void __exit au1550_cleanup 374,8129 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/spia.c,484 -static struct mtd_info *spia_mtd 35,938 -#define SPIA_IO_BASE 40,1053 -#define SPIA_FIO_BASE 41,1124 -#define SPIA_PEDR 42,1193 -#define SPIA_PEDDR 47,1335 -static int spia_io_base 57,1499 -static int spia_fio_base 58,1539 -static int spia_pedr 59,1581 -static int spia_peddr 60,1615 -const static struct mtd_partition partition_info[70,1822 -#define NUM_PARTITIONS 82,2049 -static void spia_hwcontrol(88,2128 -int __init spia_init 106,2837 -static void __exit spia_cleanup 168,4481 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/ppchameleonevb.c,1402 -#define USE_READY_BUSY_PIN36,997 -#define NAND_BIG_DELAY_US 38,1050 -#define NAND_SMALL_DELAY_US 39,1080 -#define SZ_4M 42,1131 -#define NAND_SMALL_SIZE 43,1182 -#define NAND_MTD_NAME 44,1233 -#define NAND_EVB_MTD_NAME 45,1275 -#define NAND_nCE_GPIO_PIN 48,1392 -#define NAND_CLE_GPIO_PIN 49,1438 -#define NAND_ALE_GPIO_PIN 50,1484 -#define NAND_RB_GPIO_PIN 51,1530 -#define NAND_EVB_nCE_GPIO_PIN 53,1630 -#define NAND_EVB_CLE_GPIO_PIN 54,1680 -#define NAND_EVB_ALE_GPIO_PIN 55,1730 -#define NAND_EVB_RB_GPIO_PIN 56,1780 -static struct mtd_info *ppchameleon_mtd 61,1879 -static struct mtd_info *ppchameleonevb_mtd 62,1928 -static int ppchameleon_fio_pbase 67,2003 -static int ppchameleonevb_fio_pbase 68,2056 -static u_char data_buf[78,2404 -static u_char oob_buf[79,2439 -static u_char data_buf_evb[80,2471 -static u_char oob_buf_evb[81,2509 -static struct mtd_partition partition_info_hi[87,2628 -static struct mtd_partition partition_info_me[93,2763 -static struct mtd_partition partition_info_evb[99,2897 -#define NUM_PARTITIONS 105,3032 -static void ppchameleon_hwcontrol(116,3248 -static void ppchameleonevb_hwcontrol(141,3904 -static int ppchameleon_device_ready(170,4633 -static int ppchameleonevb_device_ready(177,4784 -const char *part_probes[186,4977 -const char *part_probes_evb[187,5030 -static int __init ppchameleonevb_init 193,5133 -static void __exit ppchameleonevb_cleanup 413,12035 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/edb7312.c,520 -static struct mtd_info *ep7312_mtd 35,1009 -#define EP7312_FIO_PBASE 40,1129 -#define EP7312_PXDR 41,1193 -#define EP7312_PXDDR 46,1332 -static int ep7312_fio_pbase 56,1493 -static int ep7312_pxdr 57,1541 -static int ep7312_pxddr 58,1579 -static struct mtd_partition partition_info[74,1946 -#define NUM_PARTITIONS 79,2073 -static void ep7312_hwcontrol(87,2161 -static int ep7312_device_ready(117,2862 -const char *part_probes[122,2959 -static int __init ep7312_init 128,3058 -static void __exit ep7312_cleanup 220,5501 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nand/nand_base.c,1882 -static struct nand_oobinfo nand_oob_8 66,2108 -static struct nand_oobinfo nand_oob_16 73,2257 -static struct nand_oobinfo nand_oob_64 80,2408 -static u_char ffchars[91,2706 -#define nand_verify_pages(nand_verify_pages131,4951 -static void nand_release_chip 142,5247 -static u_char nand_read_byte(161,5687 -static void nand_write_byte(174,5993 -static u_char nand_read_byte16(187,6320 -static void nand_write_byte16(201,6699 -static u16 nand_read_word(214,7032 -static void nand_write_word(228,7359 -static void nand_select_chip(241,7677 -static void nand_write_buf(265,8129 -static void nand_read_buf(282,8518 -static int nand_verify_buf(299,8929 -static void nand_write_buf16(319,9344 -static void nand_read_buf16(339,9775 -static int nand_verify_buf16(358,10224 -static int nand_block_bad(380,10702 -static int nand_default_block_markbad(427,11907 -static int nand_check_wp 454,12725 -static int nand_block_checkbad 472,13283 -static void nand_command 493,13922 -static void nand_command_lp 598,16760 -static void nand_get_chip 699,19454 -static int nand_wait(735,20330 -static int nand_write_page 794,21924 -static int nand_verify_pages 907,25885 -static int nand_read 1009,29019 -static int nand_read_ecc 1027,29563 -static int nand_read_oob 1305,37878 -int nand_read_raw 1399,40435 -static u_char * nand_prepare_oobbuf 1473,42543 -#define NOTALIGNED(NOTALIGNED1510,43509 -static int nand_write 1523,43913 -static int nand_write_ecc 1540,44457 -static int nand_write_oob 1688,48848 -static int nand_writev 1790,51916 -static int nand_writev_ecc 1808,52496 -static void single_erase_cmd 1968,57184 -static void multi_erase_cmd 1984,57670 -static int nand_erase 2002,58206 -int nand_erase_nand 2015,58519 -static void nand_sync 2127,61726 -static int nand_block_isbad 2175,62724 -static int nand_block_markbad 2189,63071 -int nand_scan 2216,63797 -void nand_release 2554,73992 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nftlcore.c,510 -#define PRERELEASE12,402 -#define MAX_LOOPS 38,1067 -static void nftl_add_mtd(41,1093 -static void nftl_remove_dev(129,3404 -static u16 NFTL_findfreeblock(149,3909 -static u16 NFTL_foldchain 190,5207 -u16 NFTL_makefreeblock(424,13512 -static inline u16 NFTL_findwriteunit(476,15094 -static int nftl_writeblock(626,19624 -static int nftl_readblock(654,20486 -static int nftl_getgeo(716,22094 -struct mtd_blktrans_ops nftl_tr 734,22505 -int __init init_nftl(750,22842 -static void __exit cleanup_nftl(757,23012 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtd_blkdevs.c,644 -struct mtd_blkcore_priv mtd_blkcore_priv31,708 -static int do_blktrans_request(39,865 -static int mtd_blktrans_thread(78,1635 -static void mtd_blktrans_request(139,3061 -int blktrans_open(146,3212 -int blktrans_release(177,3835 -static int blktrans_ioctl(199,4183 -struct block_device_operations mtd_blktrans_ops 232,4903 -int add_mtd_blktrans_dev(239,5065 -int del_mtd_blktrans_dev(314,6908 -void blktrans_notify_remove(329,7146 -void blktrans_notify_add(345,7553 -static struct mtd_notifier blktrans_notifier 360,7823 -int register_mtd_blktrans(365,7946 -int deregister_mtd_blktrans(429,9592 -static void __exit mtd_blktrans_exit(461,10308 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/nftlmount.c,425 -#define SECTORSIZE 32,1105 -char nftlmountrev[34,1129 -static int find_boot_record(41,1502 -static int memcmpb(258,9651 -static int check_free_sectors(269,9897 -int NFTL_formatblock(299,10750 -static void check_sectors_in_chain(366,13118 -static int calc_chain_length(417,14661 -static void format_chain(449,15769 -static int check_and_mark_free_block(482,16736 -static int get_fold_mark(541,18614 -int NFTL_mount(553,18907 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdpart.c,1184 -struct mtd_part mtd_part29,641 -#define PART(PART42,920 -static int part_read 50,1076 -static int part_point 66,1561 -static void part_unpoint 77,1892 -static int part_read_ecc 85,2093 -static int part_read_oob 99,2535 -static int part_read_user_prot_reg 111,2869 -static int part_read_fact_prot_reg 119,3113 -static int part_write 127,3357 -static int part_write_ecc 146,3900 -static int part_write_oob 163,4396 -static int part_write_user_prot_reg 177,4780 -static int part_writev 185,5026 -static int part_readv 200,5502 -static int part_writev_ecc 213,5922 -static int part_readv_ecc 227,6356 -static int part_erase 239,6734 -void mtd_erase_callback(252,7050 -static int part_lock 266,7386 -static int part_unlock 274,7611 -static void part_sync(282,7840 -static int part_suspend(288,7960 -static void part_resume(294,8092 -static int part_block_isbad 300,8216 -static int part_block_markbad 309,8437 -int del_mtd_partitions(325,8842 -int add_mtd_partitions(354,9554 -static spinlock_t part_parser_lock 526,15092 -struct mtd_part_parser *get_partition_parser(529,15182 -int register_mtd_parser(548,15579 -int deregister_mtd_parser(557,15747 -int parse_mtd_partitions(565,15901 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/pmc551.c,388 -static struct mtd_info *pmc551list;112,4718 -static int pmc551_erase 114,4755 -static int pmc551_point 177,6839 -static void pmc551_unpoint 210,7731 -static int pmc551_read 218,7906 -static int pmc551_write 280,10016 -static u32 fixup_pmc551 354,12682 -static int msize=641,23316 -static int asize=643,23381 -int __init init_pmc551(651,23501 -static void __exit cleanup_pmc551(816,29053 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/ms02-nv.c,661 -static char version[31,749 -static char version[] __initdata 31,749 -static ulong ms02nv_addrs[45,1220 -static ulong ms02nv_addrs[] __initdata 45,1220 -static const char ms02nv_name[51,1437 -static const char ms02nv_res_diag_ram[52,1492 -static const char ms02nv_res_user_ram[53,1552 -static const char ms02nv_res_csr[54,1617 -static struct mtd_info *root_ms02nv_mtd;56,1686 -static int ms02nv_read(59,1729 -static int ms02nv_write(73,2015 -static inline uint ms02nv_probe_one(88,2303 -static int __init ms02nv_init_one(118,2991 -static void __exit ms02nv_remove_one(265,6505 -static int __init ms02nv_init(287,7017 -static void __exit ms02nv_cleanup(318,7608 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/docprobe.c,327 -#define DOC_SINGLE_DRIVER41,1607 -#define CONFIG_MTD_DOCPROBE_ADDRESS 60,2047 -static unsigned long doc_config_location 64,2094 -static unsigned long __initdata doc_locations[68,2305 -static inline int __init doccheck(97,3367 -static int docfound;232,7634 -static void __init DoC_Probe(234,7656 -int __init init_doc(331,10091 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/phram.c,559 -#define ERROR(ERROR31,864 -struct phram_mtd_list phram_mtd_list33,934 -int phram_erase(42,1046 -int phram_point(63,1513 -void phram_unpoint(76,1756 -int phram_read(80,1841 -int phram_write(94,2088 -static void unregister_devices(110,2338 -static int register_device(122,2566 -static int ustrtoul(176,3728 -static int parse_num32(192,3993 -static int parse_name(205,4176 -#define parse_err(parse_err224,4438 -static int phram_setup(229,4529 -static int __init slram_setup(279,5583 -int __init init_phram(343,6876 -static void __exit cleanup_phram(349,6956 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/doc2001plus.c,1208 -static struct mtd_info *docmilpluslist 56,1812 -static void DoC_Delay(60,1932 -#define CDSN_CTRL_FR_B_MASK 68,2068 -static int _DoC_WaitReady(71,2205 -static inline int DoC_WaitReady(88,2616 -static inline void DoC_CheckASIC(109,3375 -static inline void DoC_Command(121,3849 -static inline void DoC_Address(132,4260 -static int DoC_SelectChip(166,5275 -static int DoC_SelectFloor(173,5466 -static unsigned int DoC_GetDataOffset(191,6283 -static unsigned int DoC_GetECCOffset(220,6867 -static unsigned int DoC_GetFlagsOffset(236,7153 -static unsigned int DoC_GetHdrOffset(246,7359 -static inline void MemReadDOC(256,7567 -static inline void MemWriteDOC(267,7817 -static int DoC_IdentChip(279,8133 -static void DoC_ScanChips(352,10373 -static int DoCMilPlus_is_alias(419,12374 -static const char im_name[450,13357 -static void DoCMilPlus_init(459,13795 -static int doc_dumpblk(529,15410 -static int doc_read(603,17557 -static int doc_read_ecc(610,17770 -static int doc_write(743,22002 -static int doc_write_ecc(750,22196 -static int doc_read_oob(879,26103 -static int doc_write_oob(956,28226 -int doc_erase(1058,31299 -int __init init_doc2001plus(1125,33327 -static void __exit cleanup_doc2001plus(1131,33441 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/slram.c,737 -#define SLRAM_MAX_DEVICES_PARAMS 52,1577 -#define T(T54,1642 -#define E(E55,1698 -typedef struct slram_priv slram_priv57,1756 -} slram_priv_t;slram_priv_t60,1814 -typedef struct slram_mtd_list slram_mtd_list62,1831 -} slram_mtd_list_t;slram_mtd_list_t65,1920 -static char *map[68,1955 -static char *map;70,2005 -static slram_mtd_list_t *slram_mtdlist 76,2199 -int slram_erase(84,2592 -int slram_point(106,3067 -void slram_unpoint(116,3279 -int slram_read(120,3364 -int slram_write(131,3581 -int register_device(144,3874 -void unregister_devices(216,6032 -unsigned long handle_unit(231,6391 -int parse_cmdline(241,6618 -static int __init mtd_slram_setup(278,7551 -int init_slram(288,7670 -static void __exit cleanup_slram(347,8833 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/lart.c,2023 -#define HAVE_PARTITIONS40,1121 -static char module_name[56,1441 -#define FLASH_BLOCKSIZE_PARAM 62,1617 -#define FLASH_NUMBLOCKS_16m_PARAM 63,1666 -#define FLASH_NUMBLOCKS_8m_PARAM 64,1702 -#define FLASH_BLOCKSIZE_MAIN 70,1877 -#define FLASH_NUMBLOCKS_16m_MAIN 71,1926 -#define FLASH_NUMBLOCKS_8m_MAIN 72,1962 -#define BUSWIDTH 79,2058 -#define FLASH_OFFSET 80,2158 -#define NUM_BLOB_BLOCKS 83,2248 -#define BLOB_START 84,2299 -#define BLOB_LEN 85,2331 -#define NUM_KERNEL_BLOCKS 88,2406 -#define KERNEL_START 89,2434 -#define KERNEL_LEN 90,2480 -#define NUM_INITRD_BLOCKS 93,2567 -#define INITRD_START 94,2596 -#define INITRD_LEN 95,2646 -#define READ_ARRAY 100,2794 -#define READ_ID_CODES 101,2850 -#define ERASE_SETUP 102,2913 -#define ERASE_CONFIRM 103,2965 -#define PGM_SETUP 104,3037 -#define STATUS_READ 105,3083 -#define STATUS_CLEAR 106,3144 -#define STATUS_BUSY 107,3206 -#define STATUS_ERASE_ERR 108,3280 -#define STATUS_PGM_ERR 109,3341 -#define FLASH_MANUFACTURER 114,3487 -#define FLASH_DEVICE_8mbit_TOP 115,3527 -#define FLASH_DEVICE_8mbit_BOTTOM 116,3570 -#define FLASH_DEVICE_16mbit_TOP 117,3615 -#define FLASH_DEVICE_16mbit_BOTTOM 118,3659 -#define DATA_TO_FLASH(DATA_TO_FLASH146,4351 -#define FLASH_TO_DATA(FLASH_TO_DATA165,4868 -#define ADDR_TO_FLASH_U2(ADDR_TO_FLASH_U2222,6299 -#define FLASH_U2_TO_ADDR(FLASH_U2_TO_ADDR235,6643 -#define ADDR_TO_FLASH_U3(ADDR_TO_FLASH_U3248,6985 -#define FLASH_U3_TO_ADDR(FLASH_U3_TO_ADDR260,7296 -static __u8 read8 273,7672 -static __u32 read32 282,7890 -static void write32 291,8112 -static int flash_probe 310,8766 -static inline int erase_block 334,9575 -static int flash_erase 367,10334 -static int flash_read 441,12420 -static inline int write_dword 485,13492 -static int flash_write 520,14282 -#define NB_OF(NB_OF583,15692 -static struct mtd_info mtd;585,15739 -static struct mtd_erase_region_info erase_regions[587,15768 -static struct mtd_partition lart_partitions[603,16154 -int __init lart_flash_init 625,16577 -void __exit lart_flash_exit 695,18876 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/doc2001.c,797 -static struct mtd_info *docmillist 52,1715 -static void DoC_Delay(55,1832 -static int _DoC_WaitReady(65,2069 -static inline int DoC_WaitReady(82,2446 -static inline void DoC_Command(106,3306 -static inline void DoC_Address(126,4069 -static int DoC_SelectChip(164,5320 -static int DoC_SelectFloor(175,5628 -static int DoC_IdentChip(185,5917 -static void DoC_ScanChips(244,7781 -static int DoCMil_is_alias(296,9239 -static const char im_name[327,10187 -static void DoCMil_init(336,10621 -static int doc_read 405,12210 -static int doc_read_ecc 412,12425 -static int doc_write 532,16297 -static int doc_write_ecc 539,16493 -static int doc_read_oob(673,20678 -static int doc_write_oob(724,22284 -int doc_erase 796,24565 -int __init init_doc2001(859,26497 -static void __exit cleanup_doc2001(865,26603 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/mtdram.c,616 - #define CONFIG_MTDRAM_ABS_POS 22,470 -static unsigned long total_size 30,586 -static unsigned long erase_size 31,646 -#define MTDRAM_TOTAL_SIZE 36,886 -#define MTDRAM_ERASE_SIZE 37,932 -#define MTDRAM_TOTAL_SIZE 39,984 -#define MTDRAM_ERASE_SIZE 40,1044 -static struct mtd_info *mtd_info;45,1190 -ram_erase(49,1237 -static int ram_point 65,1730 -static void ram_unpoint 75,1948 -static int ram_read(81,2087 -static int ram_write(96,2507 -static void __exit cleanup_mtdram(111,2936 -int mtdram_init_device(127,3222 -int __init init_mtdram(156,3883 -int __init init_mtdram(189,4718 -int __init init_mtdram(223,5525 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/doc2000.c,1254 -#define DOC_SUPPORT_200028,630 -#define DOC_SUPPORT_2000TSOP29,655 -#define DOC_SUPPORT_MILLENNIUM30,684 -#define DoC_is_2000(DoC_is_200033,740 -#define DoC_is_2000(DoC_is_200035,805 -#define DoC_is_Millennium(DoC_is_Millennium39,911 -#define DoC_is_Millennium(DoC_is_Millennium41,983 -static struct mtd_info *doc2klist 72,2411 -static void DoC_Delay(75,2535 -static int _DoC_WaitReady(90,2871 -static inline int DoC_WaitReady(115,3509 -static inline int DoC_Command(140,4410 -static int DoC_Address(172,5599 -static void DoC_ReadBuf(239,7613 -static void DoC_WriteBuf(272,8385 -static inline int DoC_SelectChip(293,8774 -static inline int DoC_SelectFloor(317,9557 -static int DoC_IdentChip(330,9892 -static void DoC_ScanChips(436,12969 -static int DoC2k_is_alias(494,14459 -static const char im_name[524,15409 -static void DoC2k_init(533,15842 -static int doc_read(631,18065 -static int doc_read_ecc(638,18280 -static int doc_write(789,22577 -static int doc_write_ecc(796,22773 -static int doc_writev_ecc(982,27473 -static int doc_read_oob(1042,28733 -static int doc_write_oob_nolock(1103,30436 -static int doc_write_oob(1206,33502 -static int doc_erase(1219,33806 -int __init init_doc2000(1293,35570 -static void __exit cleanup_doc2000(1299,35687 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/blkmtd.c,1113 -#define err(err34,768 -#define info(info35,845 -#define warn(warn36,924 -#define crit(crit37,1006 -#define CONFIG_MTD_BLKDEV_ERASESIZE 41,1157 -#define VERSION 42,1218 -struct blkmtd_dev blkmtd_dev45,1287 -#define MAX_DEVICES 59,1568 -char *device[62,1641 -int erasesz[63,1701 -int ro[64,1765 -int sync;65,1825 -static int bi_read_complete(82,2361 -static int bi_write_complete(93,2579 -static int blkmtd_readpage(127,3366 -static int blkmtd_write_out(168,4300 -static struct bio *blkmtd_add_page(201,5128 -static int write_pages(236,6044 -static int blkmtd_erase(388,9895 -static int blkmtd_read(445,11480 -static int blkmtd_write(503,12867 -static void blkmtd_sync(532,13452 -static void free_device(538,13548 -static struct mtd_erase_region_info *calc_erase_regions(561,14161 -static struct blkmtd_dev *add_device(622,15658 -static void __devexit cleanup_blkmtd(724,18459 -static int __init param_blkmtd_device(746,18972 -static int __init param_blkmtd_erasesz(759,19187 -static int __init param_blkmtd_ro(773,19454 -static int __init param_blkmtd_sync(787,19701 -static int __init init_blkmtd(803,20001 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/ms02-nv.h,623 -#define MS02NV_CSR 66,2716 -#define MS02NV_CSR_BATT_OK 69,2809 -#define MS02NV_CSR_BATT_OFF 70,2859 -#define MS02NV_DIAG 74,2948 -#define MS02NV_MAGIC 75,3002 -#define MS02NV_VALID 76,3056 -#define MS02NV_RAM 77,3113 -#define MS02NV_DIAG_TEST 80,3210 -#define MS02NV_DIAG_RO 81,3266 -#define MS02NV_DIAG_RW 82,3321 -#define MS02NV_DIAG_FAIL 83,3376 -#define MS02NV_DIAG_SIZE_MASK 84,3430 -#define MS02NV_DIAG_SIZE_SHIFT 85,3487 -#define MS02NV_ID 88,3587 -#define MS02NV_VALID_ID 89,3646 -#define MS02NV_SLOT_SIZE 90,3714 -typedef volatile u32 ms02nv_uint;ms02nv_uint94,3813 -struct ms02nv_private ms02nv_private96,3848 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/doc1000.c,1014 -static u_long base 32,752 -static int erase_timeout 33,795 -static int retry_limit 34,844 -static u_long max_tries 35,894 -#define WINDOW_SIZE 42,1073 -#define WINDOW_MASK 43,1100 -#define PAGEREG_LO 44,1138 -#define PAGEREG_HI 45,1171 -static struct mtd_info *mymtd;47,1209 -static struct timer_list flashcard_timer;48,1240 -#define MAX_CELLS 50,1283 -#define MAX_FLASH_DEVICES 51,1305 -struct mypriv mypriv58,1469 -static u_char *pagein(89,2585 -void flashcard_sync 102,2870 -int flashcard_erase 113,3086 -int flashcard_read 142,3719 -int flashcard_write 208,5189 -static inline int byte_write 285,6660 -static inline int word_write 306,7047 -static inline void block_erase 326,7458 -static inline int check_erase(333,7577 -static inline int suspend_erase(354,7947 -static inline void resume_erase(374,8322 -static inline void reset_block(386,8575 -static inline int check_write(403,8853 -static void flashcard_periodic(431,9443 -int __init init_doc1000(512,11282 -static void __init cleanup_doc1000(581,12755 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/devices/docecc.c,483 -#define MM 46,1595 -#define KK 47,1635 -#define B0 48,1694 -#define PRIM 49,1762 -#define NN 50,1839 -typedef unsigned short dtype;dtype52,1867 -static const int Pp[55,1915 -typedef int gf;gf64,2267 -#define A0 69,2384 -modnn(75,2489 -#define CLEAR(CLEAR84,2586 -#define COPY(COPY90,2661 -#define COPYDOWN(COPYDOWN96,2743 -#define Ldec 102,2829 -generate_gf(136,4605 -eras_dec_rs(190,6642 -#define SECTOR_SIZE 434,13072 -#define NB_DATA 436,13157 -int doc_decode_ecc(444,13452 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/cfi_probe.c,398 -static int qry_present(38,896 -static int cfi_probe_chip(66,1494 -static int cfi_chip_setup(149,4312 -static char *vendorname(229,7119 -static void print_cfi_ident(262,7679 -static struct chip_probe cfi_chip_probe 345,10526 -struct mtd_info *cfi_probe(350,10621 -static struct mtd_chip_driver cfi_chipdrv 359,10857 -int __init cfi_probe_init(365,10976 -static void __exit cfi_probe_exit(371,11065 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/cfi_cmdset_0001.c,1855 -#define FORCE_WORD_WRITE 40,1158 -static struct mtd_chip_driver cfi_intelext_chipdrv 71,2604 -static void cfi_tell_features(82,2883 -static void fixup_intel_strataflash(126,5257 -static void fixup_st_m28w320ct(137,5567 -static void fixup_st_m28w320cb(145,5796 -static struct cfi_fixup fixup_table[154,6067 -struct mtd_info *cfi_cmdset_0001(181,6837 -static struct mtd_info *cfi_intelext_setup(231,8286 -static int cfi_intelext_partition_fixup(336,11388 -static int get_chip(418,13911 -static void put_chip(579,18587 -static int do_point_onechip 641,20464 -static int cfi_intelext_point 668,21046 -static void cfi_intelext_unpoint 712,21966 -static inline int do_read_onechip(755,23000 -static int cfi_intelext_read 787,23678 -static int cfi_intelext_read_prot_reg 826,24477 -static int cfi_intelext_read_user_prot_reg 879,25751 -static int cfi_intelext_read_fact_prot_reg 898,26394 -static int do_write_oneword(918,27019 -static int cfi_intelext_write_words 1008,29096 -static inline int do_write_buffer(1091,30779 -static int cfi_intelext_write_buffers 1247,34815 -typedef int (*varsize_frob_t)varsize_frob_t1311,36167 -static int cfi_intelext_varsize_frob(1314,36292 -static int do_erase_oneblock(1407,38402 -int cfi_intelext_erase_varsize(1545,42239 -static void cfi_intelext_sync 1563,42571 -static int do_printlockstatus_oneblock(1604,43421 -#define DO_XXLOCK_ONEBLOCK_LOCK 1618,43895 -#define DO_XXLOCK_ONEBLOCK_UNLOCK 1619,43941 -static int do_xxlock_oneblock(1621,43989 -static int cfi_intelext_lock(1691,45711 -static int cfi_intelext_unlock(1715,46329 -static int cfi_intelext_suspend(1739,46952 -static void cfi_intelext_resume(1796,48124 -static void cfi_intelext_destroy(1820,48621 -static char im_name_1[1831,48873 -static char im_name_3[1832,48916 -int __init cfi_intelext_init(1834,48960 -static void __exit cfi_intelext_exit(1841,49143 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/cfi_cmdset_0002.c,1809 -#define AMD_BOOTLOC_BUG38,899 -#define FORCE_WORD_WRITE 39,923 -#define MAX_WORD_RETRIES 41,951 -static struct mtd_chip_driver cfi_amdstd_chipdrv 61,1968 -static void cfi_tell_features(74,2245 -static void fixup_amd_bootblock(125,4073 -static struct cfi_fixup fixup_table[144,4631 -struct mtd_info *cfi_cmdset_0002(156,4800 -static struct mtd_info *cfi_amdstd_setup(254,7481 -static int chip_ready(388,11446 -static int get_chip(398,11620 -static void put_chip(496,14361 -static inline int do_read_onechip(520,14945 -static int cfi_amdstd_read 552,15635 -static inline int do_read_secsi_onechip(594,16428 -static int cfi_amdstd_secsi_read 646,18032 -static int do_write_oneword(690,18794 -static int cfi_amdstd_write_words(810,22335 -static inline int do_write_buffer(955,25574 -static int cfi_amdstd_write_buffers(1062,28252 -static inline int do_erase_chip(1145,30014 -typedef int (*frob_t)frob_t1232,32449 -static int cfi_amdstd_varsize_frob(1236,32557 -static inline int do_erase_oneblock(1325,34620 -int cfi_amdstd_erase_varsize(1410,36997 -static int cfi_amdstd_erase_chip(1429,37326 -static void cfi_amdstd_sync 1452,37739 -static int cfi_amdstd_suspend(1512,38878 -static void cfi_amdstd_resume(1566,39879 -static int do_printlockstatus_oneblock(1594,40423 -#define debug_dump_locks(debug_dump_locks1611,40943 -#define debug_dump_locks(debug_dump_locks1616,41069 -struct xxlock_thunk xxlock_thunk1621,41131 -#define DO_XXLOCK_ONEBLOCK_LOCK 1627,41190 -#define DO_XXLOCK_ONEBLOCK_UNLOCK 1628,41266 -static int do_xxlock_oneblock(1636,41525 -static int cfi_amdstd_lock_varsize(1675,42456 -static int cfi_amdstd_unlock_varsize(1699,43034 -static void cfi_amdstd_destroy(1722,43620 -static char im_name[1732,43842 -int __init cfi_amdstd_init(1735,43885 -static void __exit cfi_amdstd_exit(1742,43999 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/cfi_cmdset_0020.c,1026 -static struct mtd_chip_driver cfi_staa_chipdrv 57,1975 -static void cfi_tell_features(68,2242 -struct mtd_info *cfi_cmdset_0020(116,4740 -static struct mtd_info *cfi_staa_setup(156,5806 -static inline int do_read_onechip(240,8426 -static int cfi_staa_read 374,12148 -static inline int do_write_buffer(413,12938 -static int cfi_staa_write_buffers 599,18115 -#define ECCBUF_SIZE 656,19591 -#define ECCBUF_DIV(ECCBUF_DIV657,19626 -#define ECCBUF_MOD(ECCBUF_MOD658,19675 -cfi_staa_writev(660,19735 -static inline int do_erase_oneblock(726,21553 -int cfi_staa_erase_varsize(884,25888 -static void cfi_staa_sync 974,28085 -static inline int do_lock_oneblock(1031,29221 -static int cfi_staa_lock(1126,31670 -static inline int do_unlock_oneblock(1180,32987 -static int cfi_staa_unlock(1275,35445 -static int cfi_staa_suspend(1314,36618 -static void cfi_staa_resume(1370,37750 -static void cfi_staa_destroy(1394,38231 -static char im_name[1402,38405 -int __init cfi_staa_init(1404,38447 -static void __exit cfi_staa_exit(1410,38558 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/gen_probe.c,314 -struct mtd_info *mtd_do_chip_probe(22,613 -static struct cfi_private *genprobe_ident_chips(53,1317 -static int genprobe_new_chip(158,4090 -typedef struct mtd_info *cfi_cmdset_fn_t(cfi_cmdset_fn_t182,4657 -static inline struct mtd_info *cfi_cmdset_unknown(188,4845 -static struct mtd_info *check_cmd_set(216,5578 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/chipreg.c,236 -spinlock_t chip_drvs_lock 18,346 -void register_mtd_chip_driver(21,429 -void unregister_mtd_chip_driver(28,593 -static struct mtd_chip_driver *get_mtd_chip_driver 35,742 -struct mtd_info *do_map_probe(61,1296 -void map_destroy(92,2017 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/map_absent.c,377 -static struct mtd_chip_driver map_absent_chipdrv 39,1335 -static struct mtd_info *map_absent_probe(46,1501 -static int map_absent_read(74,2048 -static int map_absent_write(80,2187 -static int map_absent_erase(86,2332 -static void map_absent_sync(91,2430 -static void map_absent_destroy(96,2496 -int __init map_absent_init(101,2565 -static void __exit map_absent_exit(107,2662 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/map_ram.c,307 -static struct mtd_chip_driver mapram_chipdrv 27,777 -static struct mtd_info *map_ram_probe(33,898 -static int mapram_read 84,1948 -static int mapram_write 93,2172 -static int mapram_erase 102,2397 -static void mapram_nop(122,2844 -int __init map_ram_init(127,2921 -static void __exit map_ram_exit(133,3011 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/map_rom.c,263 -static struct mtd_chip_driver maprom_chipdrv 24,702 -struct mtd_info *map_rom_probe(30,823 -static int maprom_read 58,1366 -static void maprom_nop(67,1590 -static int maprom_write 72,1667 -int __init map_rom_init(78,1837 -static void __exit map_rom_exit(84,1927 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/cfi_util.c,45 -cfi_read_pri(30,650 -void cfi_fixup(77,1878 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/amd_flash.c,2725 -#define MAX_AMD_CHIPS 28,639 -#define DEVICE_TYPE_X8 30,664 -#define DEVICE_TYPE_X16 31,695 -#define DEVICE_TYPE_X32 32,728 -#define ADDR_MANUFACTURER 35,778 -#define ADDR_DEVICE_ID 36,812 -#define ADDR_SECTOR_LOCK 37,844 -#define ADDR_HANDSHAKE 38,877 -#define ADDR_UNLOCK_1 39,909 -#define ADDR_UNLOCK_2 40,940 -#define CMD_UNLOCK_DATA_1 43,987 -#define CMD_UNLOCK_DATA_2 44,1021 -#define CMD_MANUFACTURER_UNLOCK_DATA 45,1055 -#define CMD_UNLOCK_BYPASS_MODE 46,1099 -#define CMD_PROGRAM_UNLOCK_DATA 47,1138 -#define CMD_RESET_DATA 48,1178 -#define CMD_SECTOR_ERASE_UNLOCK_DATA 49,1210 -#define CMD_SECTOR_ERASE_UNLOCK_DATA_2 50,1254 -#define CMD_UNLOCK_SECTOR 52,1301 -#define MANUFACTURER_AMD 55,1356 -#define MANUFACTURER_ATMEL 56,1388 -#define MANUFACTURER_FUJITSU 57,1422 -#define MANUFACTURER_ST 58,1458 -#define MANUFACTURER_SST 59,1490 -#define MANUFACTURER_TOSHIBA 60,1522 -#define AM29F800BB 63,1569 -#define AM29F800BT 64,1595 -#define AM29LV800BB 65,1621 -#define AM29LV800BT 66,1648 -#define AM29LV160DT 67,1675 -#define AM29LV160DB 68,1702 -#define AM29BDS323D 69,1729 -#define AM29BDS643D 70,1760 -#define AT49xV16x 73,1800 -#define AT49xV16xT 74,1825 -#define MBM29LV160TE 77,1866 -#define MBM29LV160BE 78,1894 -#define MBM29LV800BB 79,1922 -#define M29W800T 82,1973 -#define M29W160DT 83,1997 -#define M29W160DB 84,2022 -#define SST39LF800 87,2058 -#define SST39LF160 88,2084 -#define TC58FVT160 91,2125 -#define TC58FVB160 92,2151 -#define D6_MASK 94,2178 -struct amd_flash_private amd_flash_private96,2200 -struct amd_flash_info amd_flash_info105,2359 -static struct mtd_chip_driver amd_flash_chipdrv 128,3056 -static const char im_name[137,3217 -static inline __u32 wide_read(141,3263 -static inline void wide_write(154,3544 -static inline __u32 make_cmd(165,3814 -static inline void send_unlock(176,4065 -static inline void send_cmd(184,4363 -static inline void send_cmd_to_addr(191,4557 -static inline int flash_is_busy(198,4748 -static inline void unlock_sector(218,5220 -static inline int is_sector_locked(234,5792 -static int amd_flash_do_unlock(248,6181 -static int amd_flash_unlock(295,7428 -static int amd_flash_lock(300,7554 -static int probe_new_chip(310,7842 -static struct mtd_info *amd_flash_probe(426,10701 -static inline int read_one_chip(790,21860 -static int amd_flash_read(833,22657 -static int write_one_word(887,23699 -static int amd_flash_write(958,25272 -static inline int erase_one_block(1087,27870 -static int amd_flash_erase(1206,30346 -static void amd_flash_sync(1317,32813 -static int amd_flash_suspend(1377,33981 -static void amd_flash_resume(1385,34107 -static void amd_flash_destroy(1392,34215 -int __init amd_flash_init(1399,34378 -void __exit amd_flash_exit(1405,34473 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/jedec.c,1056 -static unsigned long my_bank_size;38,1425 -static const struct JEDECTable JEDEC_table[42,1575 -static void jedec_sync(89,2540 -static struct mtd_chip_driver jedec_chipdrv 99,2875 -static struct mtd_info *jedec_probe(107,3016 -static int checkparity(278,8133 -static int handle_jedecs(294,8482 -static const struct JEDECTable *jedec_idtoinf(381,10944 -static int jedec_probe8(392,11242 - #define flread(flread395,11342 - #define flwrite(flwrite396,11385 -static int jedec_probe16(445,12498 -static int jedec_probe32(452,12680 - #define flread(flread455,12780 - #define flwrite(flwrite456,12831 -static int jedec_read(529,14744 -static int jedec_read_banked(541,15117 -static void jedec_flash_failed(569,16000 -static int flash_erase(586,16647 - #define flread(flread589,16765 - #define flwrite(flwrite590,16835 -static int flash_write(794,23240 - #define flread(flread800,23594 - #define flwrite(flwrite801,23689 -static void jedec_flash_chip_scan(879,26228 -int __init jedec_init(918,27413 -static void __exit jedec_exit(924,27500 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/sharp.c,1519 -#define CMD_RESET 35,921 -#define CMD_READ_ID 36,951 -#define CMD_READ_STATUS 37,983 -#define CMD_CLEAR_STATUS 38,1019 -#define CMD_BLOCK_ERASE_1 39,1055 -#define CMD_BLOCK_ERASE_2 40,1092 -#define CMD_BYTE_WRITE 41,1129 -#define CMD_SUSPEND 42,1164 -#define CMD_RESUME 43,1196 -#define CMD_SET_BLOCK_LOCK_1 44,1227 -#define CMD_SET_BLOCK_LOCK_2 45,1267 -#define CMD_SET_MASTER_LOCK_1 46,1307 -#define CMD_SET_MASTER_LOCK_2 47,1348 -#define CMD_CLEAR_BLOCK_LOCKS_1 48,1389 -#define CMD_CLEAR_BLOCK_LOCKS_2 49,1432 -#define SR_READY 51,1476 -#define SR_ERASE_SUSPEND 52,1518 -#define SR_ERROR_ERASE 53,1583 -#define SR_ERROR_WRITE 54,1665 -#define SR_VPP 55,1743 -#define SR_WRITE_SUSPEND 56,1789 -#define SR_PROTECT 57,1853 -#define SR_RESERVED 58,1904 -#define SR_ERRORS 60,1937 -struct sharp_info{sharp_info90,3027 -static struct mtd_chip_driver sharp_chipdrv 101,3242 -struct mtd_info *sharp_probe(109,3389 -static int sharp_probe_map(162,4500 -static int sharp_wait(215,5871 -static void sharp_release(265,6755 -static int sharp_read(271,6858 -static int sharp_write(313,7618 -static int sharp_write_oneword(348,8266 -static int sharp_erase(394,9186 -static int sharp_do_wait_for_ready(433,10034 -static int sharp_erase_oneblock(475,10816 -static void sharp_unlock_oneblock(517,11689 -static void sharp_sync(553,12441 -static int sharp_suspend(558,12520 -static void sharp_resume(564,12619 -static void sharp_destroy(570,12702 -int __init sharp_probe_init(576,12786 -static void __exit sharp_probe_exit(585,12932 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/chips/jedec_probe.c,4416 -#define MANUFACTURER_AMD 29,734 -#define MANUFACTURER_ATMEL 30,766 -#define MANUFACTURER_FUJITSU 31,800 -#define MANUFACTURER_HYUNDAI 32,836 -#define MANUFACTURER_INTEL 33,872 -#define MANUFACTURER_MACRONIX 34,906 -#define MANUFACTURER_PMC 35,943 -#define MANUFACTURER_SST 36,975 -#define MANUFACTURER_ST 37,1007 -#define MANUFACTURER_TOSHIBA 38,1039 -#define MANUFACTURER_WINBOND 39,1075 -#define AM29DL800BB 43,1123 -#define AM29DL800BT 44,1150 -#define AM29F800BB 46,1178 -#define AM29F800BT 47,1204 -#define AM29LV400BB 48,1230 -#define AM29LV400BT 49,1257 -#define AM29LV800BB 50,1284 -#define AM29LV800BT 51,1311 -#define AM29LV160DT 52,1338 -#define AM29LV160DB 53,1365 -#define AM29F017D 54,1392 -#define AM29F016D 55,1417 -#define AM29F080 56,1442 -#define AM29F040 57,1466 -#define AM29LV040B 58,1490 -#define AM29F032B 59,1516 -#define AM29F002T 60,1541 -#define AT49BV512 63,1579 -#define AT29LV512 64,1604 -#define AT49BV16X 65,1629 -#define AT49BV16XT 66,1654 -#define AT49BV32X 67,1680 -#define AT49BV32XT 68,1705 -#define MBM29F040C 71,1746 -#define MBM29LV650UE 72,1772 -#define MBM29LV320TE 73,1800 -#define MBM29LV320BE 74,1828 -#define MBM29LV160TE 75,1856 -#define MBM29LV160BE 76,1884 -#define MBM29LV800BA 77,1912 -#define MBM29LV800TA 78,1940 -#define MBM29LV400TC 79,1968 -#define MBM29LV400BC 80,1996 -#define HY29F002T 83,2039 -#define I28F004B3T 86,2077 -#define I28F004B3B 87,2103 -#define I28F400B3T 88,2129 -#define I28F400B3B 89,2155 -#define I28F008S5 90,2181 -#define I28F016S5 91,2206 -#define I28F008SA 92,2231 -#define I28F008B3T 93,2256 -#define I28F008B3B 94,2282 -#define I28F800B3T 95,2308 -#define I28F800B3B 96,2334 -#define I28F016S3 97,2360 -#define I28F016B3T 98,2385 -#define I28F016B3B 99,2411 -#define I28F160B3T 100,2437 -#define I28F160B3B 101,2463 -#define I28F320B3T 102,2489 -#define I28F320B3B 103,2515 -#define I28F640B3T 104,2541 -#define I28F640B3B 105,2567 -#define I82802AB 106,2593 -#define I82802AC 107,2617 -#define MX29LV160T 110,2657 -#define MX29LV160B 111,2683 -#define MX29F016 112,2709 -#define MX29F002T 113,2733 -#define MX29F004T 114,2758 -#define MX29F004B 115,2783 -#define PM49FL002 118,2819 -#define PM49FL004 119,2844 -#define PM49FL008 120,2869 -#define M29W800DT 123,2917 -#define M29W800DB 124,2942 -#define M29W160DT 125,2967 -#define M29W160DB 126,2992 -#define M29W040B 127,3017 -#define M50FW040 128,3041 -#define M50FW080 129,3065 -#define M50FW016 130,3089 -#define SST29EE020 133,3124 -#define SST29LE020 134,3150 -#define SST29EE512 135,3176 -#define SST29LE512 136,3202 -#define SST39LF800 137,3228 -#define SST39LF160 138,3254 -#define SST39LF512 139,3280 -#define SST39LF010 140,3306 -#define SST39LF020 141,3332 -#define SST39LF040 142,3358 -#define SST39SF010A 143,3384 -#define SST39SF020A 144,3411 -#define SST49LF004B 145,3438 -#define SST49LF008A 146,3465 -#define SST49LF030A 147,3492 -#define SST49LF040A 148,3519 -#define SST49LF080A 149,3546 -#define TC58FVT160 152,3588 -#define TC58FVB160 153,3614 -#define TC58FVT321 154,3640 -#define TC58FVB321 155,3666 -#define TC58FVT641 156,3692 -#define TC58FVB641 157,3718 -#define W49V002A 160,3759 -enum uaddr uaddr172,4163 - MTD_UADDR_NOT_SUPPORTED 173,4176 - MTD_UADDR_0x0555_0x02AA,174,4237 - MTD_UADDR_0x0555_0x0AAA,175,4263 - MTD_UADDR_0x5555_0x2AAA,176,4289 - MTD_UADDR_0x0AAA_0x0555,177,4315 - MTD_UADDR_DONT_CARE,178,4341 - MTD_UADDR_UNNECESSARY,179,4400 -struct unlock_addr unlock_addr183,4465 -static const struct unlock_addr unlock_addrs[199,4982 -struct amd_flash_info amd_flash_info232,5552 -#define ERASEINFO(ERASEINFO243,5793 -#define SIZE_64KiB 245,5846 -#define SIZE_128KiB 246,5869 -#define SIZE_256KiB 247,5892 -#define SIZE_512KiB 248,5915 -#define SIZE_1MiB 249,5938 -#define SIZE_2MiB 250,5961 -#define SIZE_4MiB 251,5984 -#define SIZE_8MiB 252,6007 -static const struct amd_flash_info jedec_table[260,6181 -static inline u32 jedec_read_mfr(1622,36735 -static inline u32 jedec_read_id(1632,36974 -static inline void jedec_reset(1644,37270 -static inline __u8 finfo_uaddr(1672,38446 -static int cfi_jedec_setup(1700,39133 -static inline int jedec_match(1754,40866 -static int jedec_probe_chip(1871,44737 -static struct chip_probe jedec_chip_probe 2013,49215 -struct mtd_info *jedec_probe(2018,49315 -static struct mtd_chip_driver jedec_chipdrv 2027,49555 -int __init jedec_probe_init(2033,49677 -static void __exit jedec_probe_exit(2039,49770 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdblock_ro.c,281 -static int mtdblock_readsect(14,293 -static int mtdblock_writesect(24,503 -static void mtdblock_add_mtd(34,715 -static void mtdblock_remove_dev(55,1198 -struct mtd_blktrans_ops mtdblock_tr 61,1306 -static int __init mtdblock_init(72,1560 -static void __exit mtdblock_exit(77,1648 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/ftl.c,1300 -static int shuffle_freq 82,3274 -#define FTL_MAJOR 89,3465 -#define MAX_DEV 96,3629 -#define MAX_REGION 99,3692 -#define PART_BITS 102,3766 -#define MAX_ERASE 105,3849 -#define SECTOR_SIZE 108,3916 -typedef struct partition_t partition_t112,3997 - struct eun_info_t eun_info_t118,4172 - struct xfer_info_t xfer_info_t124,4295 -} partition_t;partition_t138,4608 -#define FTL_FORMATTED 143,4691 -#define XFER_UNKNOWN 146,4746 -#define XFER_ERASING 147,4772 -#define XFER_ERASED 148,4798 -#define XFER_PREPARED 149,4823 -#define XFER_FAILED 150,4850 -static int scan_header(166,5362 -static int build_maps(207,6594 -static int erase_xfer(342,10931 -static void ftl_erase_callback(382,11948 -static int prepare_xfer(413,12681 -static int copy_erase_unit(471,14309 -static int reclaim_block(613,18647 -static void dump_lists(721,21650 -static u_int32_t find_free(733,22033 -static int ftl_read(793,23607 -static int set_bam_entry(839,24892 -static int ftl_write(907,27030 -static int ftl_getgeo(988,29359 -static int ftl_readsect(1003,29688 -static int ftl_writesect(1009,29834 -void ftl_freepart(1017,30056 -static void ftl_add_mtd(1042,30561 -static void ftl_remove_dev(1077,31449 -struct mtd_blktrans_ops ftl_tr 1083,31552 -int init_ftl(1095,31815 -static void __exit cleanup_ftl(1102,31946 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdblock.h,247 -#define __MTD_MTDBLOCK_H__11,182 -#define MAJOR_NR 13,210 -#define DEVICE_NAME 14,243 -struct mtdblk_dev mtdblk_dev16,275 - enum { STATE_EMPTY,23,455 - enum { STATE_EMPTY, STATE_CLEAN,23,455 - enum { STATE_EMPTY, STATE_CLEAN, STATE_DIRTY 23,455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdblock.c,761 -static struct mtdblk_dev mtdblk_dev21,468 - enum { STATE_EMPTY,28,642 - enum { STATE_EMPTY, STATE_CLEAN,28,642 - enum { STATE_EMPTY, STATE_CLEAN, STATE_DIRTY 28,642 -} *mtdblks[29,703 -static void erase_callback(41,1124 -static int erase_write 47,1261 -static int write_cached_data 96,2251 -static int do_cached_write 125,3035 -static int do_cached_read 194,4760 -static int mtdblock_readsect(240,5885 -static int mtdblock_writesect(247,6093 -static int mtdblock_open(263,6619 -static int mtdblock_release(300,7406 -static int mtdblock_flush(324,7922 -static void mtdblock_add_mtd(337,8185 -static void mtdblock_remove_dev(358,8588 -struct mtd_blktrans_ops mtdblock_tr 364,8696 -int __init init_mtdblock(378,9032 -static void __exit cleanup_mtdblock(383,9113 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/inftlmount.c,300 -char inftlmountrev[44,1489 -static int find_boot_record(53,1866 -static int memcmpb(333,10544 -static int check_free_sectors(347,10798 -int INFTL_formatblock(383,11787 -static void format_chain(448,13946 -void INFTL_dumptables(476,14585 -void INFTL_dumpVUchains(521,15846 -int INFTL_mount(547,16505 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/afs.c,355 -struct footer_struct footer_struct39,1333 -struct image_info_struct image_info_struct47,1665 -static u32 word_sum(60,2307 -afs_read_footer(72,2441 -afs_read_iis(131,3505 -static int parse_afs_partitions(166,4095 -static struct mtd_part_parser afs_parser 274,6455 -static int __init afs_parser_init(280,6578 -static void __exit afs_parser_exit(285,6665 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdconcat.c,659 -struct mtd_concat mtd_concat27,539 -#define SIZEOF_STRUCT_MTD_CONCAT(SIZEOF_STRUCT_MTD_CONCAT37,748 -#define CONCAT(CONCAT44,1009 -concat_read(52,1199 -concat_write(96,2018 -concat_read_ecc(143,2821 -concat_write_ecc(200,3965 -concat_read_oob(253,4936 -concat_write_oob(301,5822 -static void concat_erase_callback(350,6673 -static int concat_dev_erase(355,6783 -static int concat_erase(389,7589 -static int concat_lock(529,11296 -static int concat_unlock(567,11911 -static void concat_sync(605,12524 -static int concat_suspend(616,12744 -static void concat_resume(629,13018 -struct mtd_info *mtd_concat_create(646,13501 -void mtd_concat_destroy(884,20645 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdcore.c,572 -struct mtd_info *mtd_table[31,708 -int add_mtd_device(48,1236 -int del_mtd_device 93,2455 -void register_mtd_user 134,3482 -int unregister_mtd_user 161,4099 -struct mtd_info *get_mtd_device(191,4864 -void put_mtd_device(218,5331 -int default_mtd_writev(234,5605 -int default_mtd_readv(264,6251 -static struct pm_dev *mtd_pm_dev 306,7188 -static int mtd_pm_callback(308,7230 -static struct proc_dir_entry *proc_mtd;336,7913 -static inline int mtd_proc_info 338,7954 -static int mtd_read_proc 349,8181 -int __init init_mtd(385,9087 -static void __exit cleanup_mtd(398,9340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ebony.c,326 -static struct mtd_info *flash;28,734 -static struct map_info ebony_small_map 30,766 -static struct map_info ebony_large_map 36,895 -static struct mtd_partition ebony_small_partitions[42,1024 -static struct mtd_partition ebony_large_partitions[50,1153 -int __init init_ebony(63,1349 -static void __exit cleanup_ebony(141,3284 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/pci.c,968 -struct mtd_pci_info mtd_pci_info27,731 -struct map_pci_info map_pci_info34,978 -static map_word mtd_pci_read8(42,1198 -static map_word mtd_pci_read16(52,1475 -static map_word mtd_pci_read32(61,1754 -static void mtd_pci_copyfrom(70,2027 -static void mtd_pci_write8(76,2248 -static void mtd_pci_write16(84,2510 -static void mtd_pci_write32(91,2773 -static void mtd_pci_copyto(98,3030 -static struct map_info mtd_pci_map 104,3253 -intel_iq80310_init(115,3424 -intel_iq80310_exit(143,4005 -intel_iq80310_translate(151,4200 -static struct mtd_pci_info intel_iq80310_info 171,4666 -intel_dc21285_init(183,4888 -intel_dc21285_exit(234,6148 -intel_dc21285_translate(251,6580 -static struct mtd_pci_info intel_dc21285_info 256,6705 -static struct pci_device_id mtd_pci_ids[267,6917 -mtd_pci_probe(292,7500 -mtd_pci_remove(350,8534 -static struct pci_driver mtd_pci_driver 364,8794 -static int __init mtd_pci_maps_init(371,8954 -static void __exit mtd_pci_maps_exit(376,9043 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/iq80310.c,427 -#define WINDOW_ADDR 25,627 -#define WINDOW_SIZE 26,650 -#define BUSWIDTH 27,683 -static struct mtd_info *mymtd;29,704 -static struct map_info iq80310_map 31,736 -static struct mtd_partition iq80310_partitions[38,872 -static struct mtd_info *mymtd;60,1303 -static struct mtd_partition *parsed_parts;61,1334 -static const char *probes[62,1377 -static int __init init_iq80310(64,1444 -static void __exit cleanup_iq80310(101,2233 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/scb2_flash.c,529 -#define MODNAME 60,2490 -#define SCB2_ADDR 61,2520 -#define SCB2_WINDOW 62,2549 -static void *scb2_ioaddr;65,2582 -static struct mtd_info *scb2_mtd;66,2608 -struct map_info scb2_map 67,2642 -static int region_fail;72,2742 -scb2_fixup_mtd(75,2788 -#define CSB5_FCR 135,4683 -#define CSB5_FCR_DECODE_ALL 136,4705 -scb2_flash_probe(138,4759 -scb2_flash_remove(201,6405 -static struct pci_device_id scb2_flash_pci_ids[221,6764 -static struct pci_driver scb2_flash_driver 231,6976 -scb2_flash_init(239,7192 -scb2_flash_exit(245,7283 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/octagon-5066.c,687 -#define WINDOW_START 36,1256 -#define WINDOW_LENGTH 37,1285 -#define WINDOW_SHIFT 38,1314 -#define WINDOW_MASK 39,1338 -#define PAGE_IO 40,1365 -static volatile char page_n_dev 42,1388 -static unsigned long iomapadr;43,1425 -static spinlock_t oct5066_spin 44,1456 -static void __oct5066_page(50,1572 -static inline void oct5066_page(56,1678 -static map_word oct5066_read8(65,1867 -static void oct5066_copy_from(75,2103 -static void oct5066_write8(92,2541 -static void oct5066_copy_to(100,2756 -static struct map_info oct5066_map[117,3190 -static struct mtd_info *oct5066_mtd[142,3718 -static int __init OctProbe(150,4171 -void cleanup_oct5066(175,4712 -int __init init_oct5066(188,4930 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/dc21285.c,726 -static struct mtd_info *dc21285_mtd;26,541 -static void nw_en_write(35,790 -#define nw_en_write(nw_en_write53,1176 -static map_word dc21285_read8(56,1223 -static map_word dc21285_read16(61,1343 -static map_word dc21285_read32(66,1465 -static void dc21285_copy_from(71,1587 -static void dc21285_write(76,1738 -static void dc21285_write16(85,1955 -static void dc21285_write32(94,2175 -static void dc21285_copy_to_32(101,2354 -static void dc21285_copy_to_16(111,2574 -static void dc21285_copy_to_8(121,2794 -static struct map_info dc21285_map 129,2978 -static struct mtd_partition *dc21285_parts;138,3143 -static const char *probes[140,3216 -static int __init init_dc21285(143,3292 -static void __exit cleanup_dc21285(223,5473 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/redwood.c,980 -#define WINDOW_ADDR 30,712 -#define WINDOW_SIZE 31,743 -#define RW_PART0_OF 33,775 -#define RW_PART0_SZ 34,797 -#define RW_PART1_OF 35,825 -#define RW_PART1_SZ 36,857 -#define RW_PART2_OF 37,896 -#define RW_PART2_SZ 38,925 -#define RW_PART3_OF 39,953 -#define RW_PART3_SZ 40,982 -#define RW_PART4_OF 41,1033 -#define RW_PART4_SZ 42,1062 -static struct mtd_partition redwood_flash_partitions[44,1091 -#define WINDOW_ADDR 77,1843 -#define WINDOW_SIZE 78,1874 -#define RW_PART0_OF 80,1906 -#define RW_PART0_SZ 81,1928 -#define RW_PART1_OF 82,1974 -#define RW_PART1_SZ 83,2021 -#define RW_PART2_OF 84,2064 -#define RW_PART2_SZ 85,2110 -#define RW_PART3_OF 86,2161 -#define RW_PART3_SZ 87,2207 -static struct mtd_partition redwood_flash_partitions[89,2236 -struct map_info redwood_flash_map 116,2790 -#define NUM_REDWOOD_FLASH_PARTITIONS 124,2918 -static struct mtd_info *redwood_mtd;127,3030 -int __init init_redwood_flash(129,3068 -static void __exit cleanup_redwood_flash(155,3663 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/fortunet.c,607 -#define MAX_NUM_REGIONS 15,300 -#define MAX_NUM_PARTITIONS 16,327 -#define DEF_WINDOW_ADDR_PHY 18,357 -#define DEF_WINDOW_SIZE 19,396 -#define MTD_FORTUNET_PK 21,450 -#define MAX_NAME_SIZE 23,493 -struct map_regionmap_region25,521 -static struct map_region map_regions[36,786 -static int map_regions_set[37,841 -static int map_regions_parts[38,900 -struct map_info default_map 42,964 -static char * __init get_string_option(47,1043 -static int __init MTD_New_Region(97,1625 -static int __init MTD_New_Partition(142,2949 -int __init init_fortunet(182,4246 -static void __exit cleanup_fortunet(250,6397 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/omap-toto-flash.c,407 -#define OMAP_TOTO_FLASH_BASE 32,628 -#define OMAP_TOTO_FLASH_SIZE 33,668 -static struct map_info omap_toto_map_flash 35,706 -static struct mtd_partition toto_flash_partitions[42,837 -static struct mtd_partition *parsed_parts;60,1337 -static struct mtd_info *flash_mtd;62,1381 -static int __init init_flash 64,1418 -int __init omap_toto_mtd_init(112,2646 -static void __exit omap_toto_mtd_cleanup(122,2831 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/sun_uflash.c,321 -#define UFLASH_OBPNAME 27,667 -#define UFLASH_DEVNAME 28,702 -#define UFLASH_WINDOW_SIZE 30,739 -#define UFLASH_BUSWIDTH 31,775 -struct uflash_dev uflash_dev43,1058 -struct map_info uflash_map_templ 51,1222 -int uflash_devinit(57,1354 -static int __init uflash_init(127,3156 -static void __exit uflash_cleanup(152,3713 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/physmap.c,481 -static struct mtd_info *mymtd;23,547 -struct map_info physmap_map 25,579 -static struct mtd_partition *mtd_parts;33,786 -static int mtd_parts_nb;34,826 -static int num_physmap_partitions;36,870 -static struct mtd_partition *physmap_partitions;37,905 -static const char *part_probes[39,955 -static const char *part_probes[] __initdata 39,955 -void physmap_set_partitions(41,1036 -static int __init init_physmap(48,1210 -static void __exit cleanup_physmap(99,2348 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/mpc1211.c,282 -static struct mtd_info *flash_mtd;20,355 -static struct mtd_partition *parsed_parts;21,390 -struct map_info mpc1211_flash_map 23,434 -static struct mtd_partition mpc1211_partitions[29,540 -static int __init init_mpc1211_maps(42,755 -static void __exit cleanup_mpc1211_maps(67,1447 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/cdb89712.c,653 -static struct mtd_info *flash_mtd;21,366 -struct map_info cdb89712_flash_map 23,402 -struct resource cdb89712_flash_resource 30,533 -static int __init init_cdb89712_flash 37,710 -static struct mtd_info *sram_mtd;91,1837 -struct map_info cdb89712_sram_map 93,1872 -struct resource cdb89712_sram_resource 100,1998 -static int __init init_cdb89712_sram 107,2170 -static struct mtd_info *bootrom_mtd;159,3170 -struct map_info cdb89712_bootrom_map 161,3208 -struct resource cdb89712_bootrom_resource 168,3349 -static int __init init_cdb89712_bootrom 175,3536 -static int __init init_cdb89712_maps(225,4602 -static void __exit cleanup_cdb89712_maps(239,4954 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/db1x00-flash.c,727 -#define DBG(DBG25,475 -#define DBG(DBG27,509 -static unsigned long window_addr;30,536 -static unsigned long window_size;31,570 -static unsigned long flash_size;32,604 -static BCSR * const bcsr 34,638 -static unsigned char flash_bankwidth 35,685 -static struct mtd_partition db1x00_partitions[49,1145 -static struct mtd_partition db1x00_partitions[66,1728 -static struct mtd_partition db1x00_partitions[83,2312 -#define NB_OF(NB_OF97,2729 -#define NAME 99,2773 -static struct map_info db1xxx_mtd_map 101,2813 -static struct mtd_partition *parsed_parts;105,2875 -static struct mtd_info *db1xxx_mtd;106,2918 -int setup_flash_params(114,3209 -int __init db1x00_mtd_init(175,4864 -static void __exit db1x00_mtd_cleanup(204,5600 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/db1550-flash.c,668 -#define DBG(DBG25,509 -#define DBG(DBG27,543 -static unsigned long window_addr;30,570 -static unsigned long window_size;31,604 -static struct map_info db1550_map 34,640 -static unsigned char flash_bankwidth 38,707 -#define DB1550_BOTH_BANKS45,867 -#define DB1550_BOOT_ONLY47,967 -#define DB1550_USER_ONLY49,1066 -static struct mtd_partition db1550_partitions[57,1269 -static struct mtd_partition db1550_partitions[78,1970 -static struct mtd_partition db1550_partitions[98,2605 -#define NB_OF(NB_OF116,3141 -static struct mtd_info *mymtd;118,3185 -int setup_flash_params(126,3471 -int __init db1550_mtd_init(141,3782 -static void __exit db1550_mtd_cleanup(175,4594 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/l440gx.c,405 -#define PIIXE_IOBASE_RESOURCE 18,365 -#define WINDOW_ADDR 20,399 -#define WINDOW_SIZE 21,430 -#define BUSWIDTH 22,461 -static u32 iobase;24,481 -#define IOBASE 25,500 -#define TRIBUF_PORT 26,522 -#define VPP_PORT 27,556 -static struct mtd_info *mymtd;29,588 -void l440gx_set_vpp(33,656 -struct map_info l440gx_map 46,817 -static int __init init_l440gx(59,1068 -static void __exit cleanup_l440gx(144,3395 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/rpxlite.c,213 -#define WINDOW_ADDR 16,308 -#define WINDOW_SIZE 17,339 -static struct mtd_info *mymtd;19,369 -static struct map_info rpxlite_map 21,401 -int __init init_rpxlite(28,521 -static void __exit cleanup_rpxlite(49,1021 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/amd76xrom.c,589 -#define xstr(xstr20,386 -#define str(str21,409 -#define MOD_NAME 22,427 -#define MTD_DEV_NAME_LENGTH 24,467 -struct amd76xrom_map_info amd76xrom_map_info26,499 -static struct amd76xrom_map_info amd76xrom_map 38,755 -static void amd76xrom_cleanup(48,933 -static int __devinit amd76xrom_init_one 74,1505 - struct rom_window rom_window77,1604 -static void __devexit amd76xrom_remove_one 233,6171 -static struct pci_device_id amd76xrom_pci_tbl[240,6320 -static struct pci_driver amd76xrom_driver 252,6656 -int __init init_amd76xrom(260,6828 -static void __exit cleanup_amd76xrom(281,7241 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/dilnetpc.c,1580 -#define DNPC_BIOS_BLOCKS_WRITEPROTECTED51,2075 -#define BIOSID_BASE 57,2225 -#define ID_DNPC 59,2257 -#define ID_ADNP 60,2283 -#define FLASH_BASE 65,2371 -#define CSC_INDEX 70,2462 -#define CSC_DATA 71,2485 -#define CSC_MMSWAR 73,2508 -#define CSC_MMSWDSR 74,2573 -#define CSC_RBWR 76,2643 -#define CSC_CR 78,2704 -#define CSC_PCCMDCR 81,2804 -#define PCC_INDEX 88,2917 -#define PCC_DATA 89,2941 -#define PCC_AWER_B 91,2965 -#define PCC_MWSAR_1_Lo 92,3036 -#define PCC_MWSAR_1_Hi 93,3113 -#define PCC_MWEAR_1_Lo 94,3191 -#define PCC_MWEAR_1_Hi 95,3267 -#define PCC_MWAOR_1_Lo 96,3344 -#define PCC_MWAOR_1_Hi 97,3422 -static inline void setcsc(104,3599 -static inline unsigned char getcsc(110,3705 -static inline void setpcc(116,3801 -static inline unsigned char getpcc(122,3907 -static void dnpc_map_flash(135,4218 -static void dnpc_unmap_flash(180,5744 -static spinlock_t dnpc_spin 200,6219 -static int vpp_counter 201,6271 -static void dnp_set_vpp(205,6364 -static void adnp_set_vpp(227,6731 -#define DNP_WINDOW_SIZE 248,7062 -#define ADNP_WINDOW_SIZE 249,7129 -#define WINDOW_ADDR 250,7195 -static struct map_info dnpc_map 252,7228 -static struct mtd_partition partition_info[270,7709 -#define NUM_PARTITIONS 300,8273 -static struct mtd_info *mymtd;302,8348 -static struct mtd_info *lowlvl_parts[303,8379 -static struct mtd_info *merged_mtd;304,8433 -static struct mtd_partition higlvl_partition_info[323,9296 -#define NUM_HIGHLVL_PARTITIONS 345,9784 -static int dnp_adnp_probe(348,9875 -static int __init init_dnpc(365,10173 -static void __exit cleanup_dnpc(472,13247 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/elan-104nc.c,834 -#define WINDOW_START 46,1646 -#define WINDOW_SHIFT 48,1707 -#define WINDOW_LENGTH 49,1731 -#define WINDOW_MASK 51,1820 -#define PAGE_IO 52,1858 -#define PAGE_IO_SIZE 53,1879 -static volatile int page_in_window 55,1903 -static unsigned long iomapadr;56,1971 -static spinlock_t elan_104nc_spin 57,2002 -static struct mtd_partition partition_info[62,2228 -#define NUM_PARTITIONS 72,2554 -#define ROMCS 77,2712 -static inline void elan_104nc_setup(79,2729 -static inline void elan_104nc_page(91,2932 -static map_word elan_104nc_read16(110,3285 -static void elan_104nc_copy_from(120,3534 -static void elan_104nc_write16(137,4001 -static void elan_104nc_copy_to(145,4229 -static struct map_info elan_104nc_map 162,4692 -static struct mtd_info *all_mtd;176,5099 -static void cleanup_elan_104nc(178,5133 -int __init init_elan_104nc(188,5283 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ocelot.c,648 -#define OCELOT_PLD 16,304 -#define FLASH_WINDOW_ADDR 17,334 -#define FLASH_WINDOW_SIZE 18,371 -#define FLASH_BUSWIDTH 19,408 -#define NVRAM_WINDOW_ADDR 20,433 -#define NVRAM_WINDOW_SIZE 21,470 -#define NVRAM_BUSWIDTH 22,507 -static unsigned int cacheflush 24,533 -static struct mtd_info *flash_mtd;26,570 -static struct mtd_info *nvram_mtd;27,605 -static void ocelot_ram_write(29,641 -static struct mtd_partition *parsed_parts;47,1208 -struct map_info ocelot_flash_map 49,1252 -struct map_info ocelot_nvram_map 56,1409 -static const char *probes[63,1561 -static int __init init_ocelot_maps(65,1613 -static void __exit cleanup_ocelot_maps(154,4125 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/sc520cdp.c,1317 -#define REPROGRAM_PAR60,2848 -#define WINDOW_ADDR_0 67,2935 -#define WINDOW_ADDR_1 68,2968 -#define WINDOW_ADDR_2 69,3001 -#define WINDOW_ADDR_0_BIOS 72,3090 -#define WINDOW_ADDR_1_BIOS 73,3128 -#define WINDOW_ADDR_2_BIOS 74,3166 -#define WINDOW_ADDR_0 78,3212 -#define WINDOW_ADDR_1 79,3245 -#define WINDOW_ADDR_2 80,3278 -#define WINDOW_SIZE_0 84,3320 -#define WINDOW_SIZE_1 85,3353 -#define WINDOW_SIZE_2 86,3386 -static struct map_info sc520cdp_map[89,3421 -#define NUM_FLASH_BANKS 110,3793 -static struct mtd_info *mymtd[112,3865 -static struct mtd_info *merged_mtd;113,3913 -#define SC520_MMCR_BASE 122,4148 -#define SC520_MMCR_EXTENT 123,4184 -#define SC520_PAR(SC520_PAR124,4217 -#define NUM_SC520_PAR 125,4276 -#define SC520_PAR_BOOTCS 132,4505 -#define SC520_PAR_ROMCS0 133,4540 -#define SC520_PAR_ROMCS1 134,4575 -#define SC520_PAR_TRGDEV 135,4610 -#define SC520_PAR_WRPROT 141,4766 -#define SC520_PAR_NOCACHE 142,4827 -#define SC520_PAR_NOEXEC 143,4889 -#define SC520_PAR_PG_SIZ4 149,5006 -#define SC520_PAR_PG_SIZ64 150,5040 -#define SC520_PAR_ENTRY(SC520_PAR_ENTRY156,5178 -struct sc520_par_tablesc520_par_table160,5331 -static struct sc520_par_table par_table[167,5439 -static void sc520cdp_setup_par(187,5972 -static int __init init_sc520cdp(231,7321 -static void __exit cleanup_sc520cdp(278,8620 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/h720x-flash.c,380 -static struct mtd_info *mymtd;25,567 -static struct map_info h720x_map 27,599 -static struct mtd_partition h720x_partitions[34,720 -#define NUM_PARTITIONS 62,1559 -static int nr_mtd_parts;64,1639 -static struct mtd_partition *mtd_parts;65,1682 -static const char *probes[66,1722 -int __init h720x_mtd_init(71,1813 -static void __exit h720x_mtd_cleanup(120,2924 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/scx200_docflash.c,474 -#define NAME 23,530 -#define PARTITION 30,754 -static int probe 41,1108 -static unsigned size 42,1153 -static unsigned width 43,1228 -static char *flashtype 44,1284 -static struct resource docmem 46,1323 -static struct mtd_info *mymtd;51,1427 -static struct mtd_partition partition_info[54,1473 -#define NUM_PARTITIONS 76,1905 -static struct map_info scx200_docflash_map 80,1988 -int __init init_scx200_docflash(84,2083 -static void __exit cleanup_scx200_docflash(213,5390 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/map_funcs.c,186 -static map_word simple_map_read(13,243 -static void simple_map_write(18,356 -static void simple_map_copy_from(23,489 -static void simple_map_copy_to(28,635 -void simple_map_init(33,783 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/cfi_flagadm.c,604 -#define FLASH_PHYS_ADDR 44,1928 -#define FLASH_SIZE 45,1963 -#define FLASH_PARTITION0_ADDR 47,1994 -#define FLASH_PARTITION0_SIZE 48,2035 -#define FLASH_PARTITION1_ADDR 50,2077 -#define FLASH_PARTITION1_SIZE 51,2118 -#define FLASH_PARTITION2_ADDR 53,2160 -#define FLASH_PARTITION2_SIZE 54,2201 -#define FLASH_PARTITION3_ADDR 56,2243 -#define FLASH_PARTITION3_SIZE 57,2284 -struct map_info flagadm_map 60,2327 -struct mtd_partition flagadm_parts[66,2439 -#define PARTITION_COUNT 89,2905 -static struct mtd_info *mymtd;91,2983 -int __init init_flagadm(93,3015 -static void __exit cleanup_flagadm(121,3652 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/lubbock-flash.c,471 -#define ROM_ADDR 28,719 -#define FLASH_ADDR 29,747 -#define WINDOW_SIZE 31,778 -static void lubbock_map_inval_cache(33,813 -static struct map_info lubbock_maps[38,977 -static struct mtd_partition lubbock_partitions[48,1207 -static struct mtd_info *mymtds[65,1541 -static struct mtd_partition *parsed_parts[66,1576 -static int nr_parsed_parts[67,1622 -static const char *probes[69,1654 -static int __init init_lubbock(71,1721 -static void __exit cleanup_lubbock(141,3853 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/impa7.c,580 -#define WINDOW_ADDR0 26,641 -#define WINDOW_SIZE0 27,713 -#define WINDOW_ADDR1 28,745 -#define WINDOW_SIZE1 29,817 -#define NUM_FLASHBANKS 30,849 -#define BUSWIDTH 31,874 -#define PROBETYPES 34,959 -#define MSG_PREFIX 36,1003 -#define MTDID 37,1065 -static struct mtd_info *impa7_mtd[39,1130 -static struct map_info impa7_map[42,1183 -static struct mtd_partition static_partitions[60,1490 -static int mtd_parts_nb[69,1620 -static struct mtd_partition *mtd_parts[70,1661 -static const char *probes[74,1726 -int __init init_impa7(76,1782 -static void __exit cleanup_impa7(140,3372 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/lasat.c,290 -static struct mtd_info *lasat_mtd;25,613 -static struct mtd_partition partition_info[27,649 -static char *lasat_mtd_partnames[28,709 -static void lasat_set_vpp(30,808 -static struct map_info lasat_map 38,1019 -static int __init init_lasat(44,1127 -static void __exit cleanup_lasat(86,2207 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/integrator-flash.c,384 -#define FLASH_BASE 48,1592 -#define FLASH_SIZE 49,1625 -struct armflash_info armflash_info52,1668 -static void armflash_set_vpp(60,1831 -static const char *probes[68,2039 -static int armflash_probe(70,2113 -static int armflash_remove(167,4144 -static struct device_driver armflash_driver 195,4668 -static int __init armflash_init(202,4827 -static void __exit armflash_exit(207,4913 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/wr_sbc82xx_flash.c,481 -static struct mtd_info *sbcmtd[25,525 -static struct mtd_partition *sbcmtd_parts[26,560 -struct map_info sbc82xx_flash_map[28,607 -static struct mtd_partition smallflash_parts[34,736 -static struct mtd_partition bigflash_parts[46,945 -static const char *part_probes[66,1322 -static const char *part_probes[] __initdata 66,1322 -#define init_sbc82xx_one_flash(init_sbc82xx_one_flash68,1403 -int __init init_sbc82xx_flash(80,1799 -static void __exit cleanup_sbc82xx_flash(154,3697 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/pb1xxx-flash.c,803 -#define DBG(DBG23,448 -#define DBG(DBG25,482 -#define WINDOW_ADDR 30,536 -#define WINDOW_SIZE 31,567 -static struct mtd_partition pb1xxx_partitions[33,597 -#define WINDOW_ADDR 61,1599 -#define WINDOW_SIZE 62,1630 -static struct mtd_partition pb1xxx_partitions[63,1660 -#define WINDOW_ADDR 80,2285 -#define WINDOW_SIZE 81,2316 -static struct mtd_partition pb1xxx_partitions[82,2346 -#define WINDOW_ADDR 99,2971 -#define WINDOW_SIZE 100,3002 -static struct mtd_partition pb1xxx_partitions[101,3032 -#define NAME 119,3511 -#define PADDR 120,3550 -#define BUSWIDTH 121,3580 -#define SIZE 122,3599 -#define PARTITIONS 123,3625 -static struct map_info pb1xxx_mtd_map 125,3647 -static struct mtd_info *pb1xxx_mtd;132,3766 -int __init pb1xxx_mtd_init(134,3803 -static void __exit pb1xxx_mtd_cleanup(165,4560 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/cstm_mips_ixx.c,970 -#define CC_GCR 45,1940 -#define CC_GPBCR 46,1978 -#define CC_GPBDR 47,2016 -#define CC_M68K_DEVICE 48,2054 -#define CC_M68K_FUNCTION 49,2083 -#define CC_CONFADDR 50,2112 -#define CC_CONFDATA 51,2150 -#define CC_FC_FCR 52,2188 -#define CC_FC_DCR 53,2226 -#define CC_GPACR 54,2264 -#define CC_GPAICR 55,2302 -void cstm_mips_ixx_set_vpp(59,2472 -#define MAX_PHYSMAP_PARTITIONS 102,3410 -struct cstm_mips_ixx_info cstm_mips_ixx_info103,3446 -#define PHYSMAP_NUMBER 112,3645 -const struct cstm_mips_ixx_info cstm_mips_ixx_board_desc[113,3743 -static struct mtd_partition cstm_mips_ixx_partitions[124,4047 -#define PHYSMAP_NUMBER 134,4362 -const struct cstm_mips_ixx_info cstm_mips_ixx_board_desc[135,4460 -static struct mtd_partition cstm_mips_ixx_partitions[146,4818 -struct map_info cstm_mips_ixx_map[157,5086 -int __init init_cstm_mips_ixx(159,5138 -static void __exit cleanup_cstm_mips_ixx(214,7196 -void PCISetULongByOffset(232,7647 -void setup_ITE_IVR_flash(241,7915 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ichxrom.c,1443 -#define xstr(xstr20,406 -#define str(str21,429 -#define MOD_NAME 22,447 -#define MTD_DEV_NAME_LENGTH 24,487 -#define RESERVE_MEM_REGION 26,519 -#define MANUFACTURER_INTEL 29,550 -#define I82802AB 30,584 -#define I82802AC 31,608 -#define ICHX_FWH_REGION_START 33,633 -#define ICHX_FWH_REGION_SIZE 34,676 -#define BIOS_CNTL 35,718 -#define FWH_DEC_EN1 36,741 -#define FWH_DEC_EN2 37,766 -#define FWH_SEL1 38,791 -#define FWH_SEL2 39,813 -struct ichxrom_map_info ichxrom_map_info41,836 -static inline unsigned long addr(51,1056 -static inline unsigned long dbg_addr(61,1305 -static map_word ichxrom_read(66,1446 -static void ichxrom_copy_from(85,1934 -static void ichxrom_write(90,2076 -static void ichxrom_copy_to(103,2439 -static struct ichxrom_map_info ichxrom_map 108,2583 -enum fwh_lock_state fwh_lock_state126,3039 - FWH_DENY_WRITE 127,3061 - FWH_IMMUTABLE 128,3082 - FWH_DENY_READ 129,3103 -static void ichxrom_cleanup(132,3128 -static int ichxrom_set_lock_state(158,3711 -static int ichxrom_lock(178,4234 -static int ichxrom_unlock(183,4372 -static int __devinit ichxrom_init_one 188,4499 -static void __devexit ichxrom_remove_one 327,8686 -static struct pci_device_id ichxrom_pci_tbl[349,9220 -static struct pci_device_id ichxrom_pci_tbl[] __devinitdata 349,9220 -static struct pci_driver ichxrom_driver 366,9771 -static struct pci_dev *mydev;374,9935 -int __init init_ichxrom(375,9965 -static void __exit cleanup_ichxrom(397,10357 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/tqm8xxl.c,591 -#define FLASH_ADDR 36,853 -#define FLASH_SIZE 37,883 -#define FLASH_BANK_MAX 38,913 -struct mtd_part_defmtd_part_def41,991 -static struct mtd_info* mtd_banks[49,1116 -static struct map_info* map_banks[50,1167 -static struct mtd_part_def part_banks[51,1218 -static unsigned long num_banks;52,1273 -static void __iomem *start_scan_addr;53,1305 -static unsigned long tqm8xxl_max_flash_size 68,1857 -static struct mtd_partition tqm8xxl_partitions[73,2004 -static struct mtd_partition tqm8xxl_fs_partitions[98,2592 -int __init init_tqm_mtd(113,2839 -static void __exit cleanup_tqm_mtd(238,6381 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/pb1550-flash.c,569 -#define DBG(DBG26,531 -#define DBG(DBG28,565 -static unsigned long window_addr;31,592 -static unsigned long window_size;32,626 -static struct map_info pb1550_map 35,662 -static unsigned char flash_bankwidth 39,729 -static struct mtd_partition pb1550_partitions[50,988 -static struct mtd_partition pb1550_partitions[71,1689 -static struct mtd_partition pb1550_partitions[91,2324 -#define NB_OF(NB_OF109,2860 -static struct mtd_info *mymtd;111,2904 -int setup_flash_params(119,3190 -int __init pb1550_mtd_init(157,4063 -static void __exit pb1550_mtd_cleanup(191,4875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/vmax301.c,552 -#define WINDOW_START 30,1063 -#define WINDOW_LENGTH 31,1092 -#define WINDOW_SHIFT 32,1121 -#define WINDOW_MASK 33,1145 -static spinlock_t vmax301_spin 41,1478 -static void __vmax301_page(43,1532 -static inline void vmax301_page(49,1679 -static map_word vmax301_read8(57,1867 -static void vmax301_copy_from(67,2110 -static void vmax301_write8(83,2552 -static void vmax301_copy_to(91,2774 -static struct map_info vmax_map[108,3215 -static struct mtd_info *vmax_mtd[135,3827 -static void __exit cleanup_vmax301(137,3880 -int __init init_vmax301(150,4105 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/pnc2000.c,255 -#define WINDOW_ADDR 21,393 -#define WINDOW_SIZE 22,424 -struct map_info pnc_map 29,486 -static struct mtd_partition pnc_partitions[41,658 -static struct mtd_info *mymtd;63,1047 -int __init init_pnc2000(65,1079 -static void __exit cleanup_pnc2000(80,1402 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/dbox2-flash.c,307 -static struct mtd_partition partition_info[21,525 -#define NUM_PARTITIONS 60,1245 -#define WINDOW_ADDR 62,1322 -#define WINDOW_SIZE 63,1353 -static struct mtd_info *mymtd;65,1383 -struct map_info dbox2_flash_map 68,1416 -int __init init_dbox2_flash(75,1553 -static void __exit cleanup_dbox2_flash(108,2393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/sbc8240.c,801 -#define DEBUG35,818 -# define debugk(debugk38,846 -# define debugk(debugk40,901 -#define WINDOW_ADDR0 44,939 -#define WINDOW_SIZE0 45,986 -#define BUSWIDTH0 46,1018 -#define WINDOW_ADDR1 48,1039 -#define WINDOW_SIZE1 49,1084 -#define BUSWIDTH1 50,1116 -#define MSG_PREFIX 52,1137 -#define MTDID 53,1199 -static struct map_info sbc8240_map[56,1264 -#define NUM_FLASH_BANKS 69,1545 -static struct mtd_partition sbc8240_uboot_partitions 85,2080 -static struct mtd_partition sbc8240_fs_partitions 100,2462 -#define NB_OF(NB_OF128,3000 -struct mtd_part_defmtd_part_def131,3102 -static struct mtd_info *sbc8240_mtd[138,3194 -static struct mtd_part_def sbc8240_part_banks[139,3248 -int __init init_sbc8240_mtd 145,3351 - static struct _cjs _cjs147,3388 -static void __exit cleanup_sbc8240_mtd 225,5407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/dmv182.c,448 -#define FLASH_BASE_ADDR 40,1213 -#define FLASH_BANK_SIZE 41,1248 -static struct map_info svme182_map 47,1467 -#define BOOTIMAGE_PART_SIZE 53,1582 -#define NEW_BOOTIMAGE_PART_SIZE 56,1676 -#define NEW_BOOTLOADER_PART_SIZE 58,1760 -#define NEW_RFS_PART_SIZE 60,1865 -static struct mtd_partition svme182_partitions[63,2001 -static struct mtd_info *this_mtd;97,2905 -static int __init init_svme182(99,2940 -static void __exit cleanup_svme182(132,3685 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/arctic-mtd.c,435 -#define FFS1_SIZE 54,1717 -#define KERNEL_SIZE 55,1758 -#define FFS2_SIZE 56,1803 -#define FIRMWARE_SIZE 57,1848 -#define NAME 60,1896 -#define PADDR 61,1935 -#define BUSWIDTH 62,1977 -#define SIZE 63,1996 -#define PARTITIONS 64,2033 -static struct map_info arctic_mtd_map 72,2168 -static struct mtd_info *arctic_mtd;79,2287 -static struct mtd_partition arctic_partitions[81,2324 -init_arctic_mtd(97,2750 -cleanup_arctic_mtd(121,3315 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ixp4xx.c,614 -#define BYTE0(BYTE035,881 -#define BYTE1(BYTE136,911 -#define BYTE0(BYTE038,954 -#define BYTE1(BYTE139,991 -static map_word ixp4xx_read16(42,1029 -static void ixp4xx_copy_from(54,1351 -static void ixp4xx_probe_write16(76,1837 -static void ixp4xx_write16(85,2062 -struct ixp4xx_flash_info ixp4xx_flash_info90,2199 -static const char *probes[97,2333 -static int ixp4xx_flash_remove(99,2400 -static int ixp4xx_flash_probe(141,3219 -static struct device_driver ixp4xx_flash_driver 236,5452 -static int __init ixp4xx_flash_init(243,5627 -static void __exit ixp4xx_flash_exit(248,5721 -MODULE_DESCRIPTION(258,5900 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/integrator-flash-v24.c,980 -#define FLASH_BASE 47,1556 -#define FLASH_SIZE 48,1597 -#define FLASH_PART_SIZE 50,1639 -#define SC_CTRLC 52,1673 -#define SC_CTRLS 53,1752 -#define EBI_CSR1 54,1831 -#define EBI_LOCK 55,1911 -static void armflash_flash_init(63,2111 -static void armflash_flash_exit(85,2626 -static void armflash_flash_wp(104,3095 -static void armflash_set_vpp(116,3256 -#define FLASH_BASE 131,3474 -#define FLASH_SIZE 132,3507 -#define FLASH_PART_SIZE 134,3543 -#define FLASH_BLOCK_SIZE 135,3582 -static void armflash_flash_init(137,3619 -static void armflash_flash_exit(141,3662 -static void armflash_flash_wp(145,3705 -static void armflash_set_vpp(149,3748 -static struct map_info armflash_map 155,3820 -static struct mtd_info *mtd;162,3933 -static struct mtd_partition *parts;163,3962 -static const char *probes[164,3998 -static int __init armflash_cfi_init(166,4057 -static void armflash_cfi_exit(212,4992 -static int __init armflash_init(222,5123 -static void __exit armflash_exit(245,5520 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/edb7312.c,566 -#define WINDOW_ADDR 26,644 -#define WINDOW_SIZE 27,715 -#define BUSWIDTH 28,746 -#define FLASH_BLOCKSIZE_MAIN 29,768 -#define FLASH_NUMBLOCKS_MAIN 30,805 -#define PROBETYPES 32,898 -#define MSG_PREFIX 34,940 -#define MTDID 35,1008 -static struct mtd_info *mymtd;37,1078 -struct map_info edb7312nor_map 39,1110 -static struct mtd_partition static_partitions[51,1314 -static const char *probes[70,1567 -static int mtd_parts_nb;74,1642 -static struct mtd_partition *mtd_parts;75,1667 -int __init init_edb7312nor(77,1708 -static void __exit cleanup_edb7312nor(131,2975 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/nettel.c,1194 -#define INTEL_BUSWIDTH 27,773 -#define AMD_WINDOW_MAXSIZE 28,799 -#define AMD_BUSWIDTH 29,837 -#define SC520_PAR_ADDR_MASK 34,915 -#define SC520_PAR_ADDR_SHIFT 35,954 -#define SC520_PAR_TO_ADDR(SC520_PAR_TO_ADDR36,986 -#define SC520_PAR_SIZE_MASK 39,1075 -#define SC520_PAR_SIZE_SHIFT 40,1114 -#define SC520_PAR_TO_SIZE(SC520_PAR_TO_SIZE41,1145 -#define SC520_PAR(SC520_PAR44,1248 -#define SC520_PAR_BOOTCS 49,1429 -#define SC520_PAR_ROMCS1 50,1465 -#define SC520_PAR_ROMCS2 51,1501 -static void *nettel_mmcrp 53,1569 -static struct mtd_info *intel_mtd;56,1635 -static struct mtd_info *amd_mtd;58,1677 -static struct map_info nettel_intel_map 65,1902 -static struct mtd_partition nettel_intel_partitions[71,2019 -static struct map_info nettel_amd_map 103,2519 -static struct mtd_partition nettel_amd_partitions[109,2647 -#define NUM_AMD_PARTITIONS 131,3002 -static int nettel_reboot_notifier(142,3296 -static struct notifier_block nettel_notifier_block 155,3705 -static void nettel_erasecallback(163,3890 -static struct erase_info nettel_erase;169,4033 -int nettel_eraseconfig(171,4073 -int nettel_eraseconfig(211,4887 -int __init nettel_init(220,5021 -void __exit nettel_cleanup(465,11847 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/epxa10db-flash.c,383 -#define BOARD_NAME 37,1245 -#define BOARD_NAME 39,1281 -static int nr_parts 42,1318 -static struct mtd_partition *parts;43,1343 -static struct mtd_info *mymtd;45,1380 -static struct map_info epxa_map 50,1506 -static const char *probes[57,1632 -static int __init epxa_mtd_init(59,1691 -static void __exit epxa_mtd_cleanup(110,2913 -static int __init epxa_default_partitions(135,3449 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/tsunami_flash.c,514 -#define FLASH_ENABLE_PORT 13,251 -#define FLASH_ENABLE_BYTE 14,288 -#define FLASH_DISABLE_BYTE 15,319 -#define MAX_TIG_FLASH_SIZE 17,352 -static inline map_word tsunami_flash_read8(18,394 -static void tsunami_flash_write8(25,553 -static void tsunami_flash_copy_from(30,692 -static void tsunami_flash_copy_to(43,958 -static struct map_info tsunami_flash_map 62,1435 -static struct mtd_info *tsunami_flash_mtd;73,1729 -static void __exit cleanup_tsunami_flash(75,1773 -static int __init init_tsunami_flash(87,1958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/autcpu12-nvram.c,182 -static struct mtd_info *sram_mtd;37,1199 -struct map_info autcpu12_sram_map 39,1234 -static int __init init_autcpu12_sram 46,1347 -static void __exit cleanup_autcpu12_maps(113,2873 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/netsc520.c,346 -static struct mtd_partition partition_info[57,2351 -#define NUM_PARTITIONS 79,2785 -#define WINDOW_SIZE 81,2860 -#define WINDOW_ADDR 82,2891 -static struct map_info netsc520_map 84,2923 -#define NUM_FLASH_BANKS 91,3060 -static struct mtd_info *mymtd;93,3132 -static int __init init_netsc520(95,3164 -static void __exit cleanup_netsc520(123,3876 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ixp2000.c,671 -struct ixp2000_flash_info ixp2000_flash_info38,951 -static inline unsigned long flash_bank_setup(46,1106 -static int errata44_workaround 60,1581 -static inline unsigned long address_fix8_write(62,1618 -#define address_fix8_write(address_fix8_write71,1762 -static map_word ixp2000_flash_read8(74,1804 -static void ixp2000_flash_copy_from(87,2146 -static void ixp2000_flash_write8(95,2368 -static void ixp2000_flash_copy_to(101,2557 -static int ixp2000_flash_remove(112,2831 -static int ixp2000_flash_probe(145,3450 -static struct device_driver ixp2000_flash_driver 260,6300 -static int __init ixp2000_flash_init(267,6480 -static void __exit ixp2000_flash_exit(272,6576 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/uclinux.c,266 -struct map_info uclinux_ram_map 31,820 -struct mtd_info *uclinux_ram_mtdinfo;35,876 -struct mtd_partition uclinux_romfs[39,995 -#define NUM_PARTITIONS 43,1061 -int uclinux_point(47,1216 -int __init uclinux_mtd_init(58,1533 -void __exit uclinux_mtd_cleanup(105,2633 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/solutionengine.c,400 -static struct mtd_info *flash_mtd;22,443 -static struct mtd_info *eprom_mtd;23,478 -static struct mtd_partition *parsed_parts;25,514 -struct map_info soleng_eprom_map 27,558 -struct map_info soleng_flash_map 33,669 -static const char *probes[39,780 -static struct mtd_partition superh_se_partitions[42,880 -static int __init init_soleng_maps(59,1270 -static void __exit cleanup_soleng_maps(117,3033 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/sa1100-flash.c,2516 -#define CONFIG_MTD_SA1100_STATICMAP 37,734 -static struct mtd_partition adsbitsy_partitions[59,1406 -static struct mtd_partition assabet4_partitions[85,2044 -static struct mtd_partition assabet5_partitions[104,2478 -#define assabet_partitions 122,2849 -static struct mtd_partition badge4_partitions[137,3284 -# define CERF_FLASH_SIZE 157,3654 -# define CERF_FLASH_SIZE 159,3735 -# define CERF_FLASH_SIZE 161,3815 -static struct mtd_partition cerf_partitions[166,3925 -static struct mtd_partition consus_partitions[188,4338 -#define FLEXANET_FLASH_SIZE 226,5513 -static struct mtd_partition flexanet_partitions[227,5553 -static struct mtd_partition freebird_partitions[273,6562 -static struct mtd_partition frodo_partitions[325,7581 -static struct mtd_partition graphicsclient_partitions[356,8232 -static struct mtd_partition graphicsmaster_partitions[376,8686 -static struct mtd_partition h3xxx_partitions[398,9133 -static void h3xxx_set_vpp(443,10074 -#define h3xxx_set_vpp 448,10186 -static struct mtd_partition hackkit_partitions[452,10250 -static struct mtd_partition huw_webpanel_partitions[483,10892 -static struct mtd_partition jornada720_partitions[500,11212 -static void jornada720_set_vpp(533,11972 -#define jornada720_set_vpp 542,12108 -static struct mtd_partition pangolin_partitions[546,12178 -static struct mtd_partition system3_partitions[570,12715 -static struct mtd_partition shannon_partitions[593,13188 -static struct mtd_partition sherman_partitions[614,13525 -static struct mtd_partition simpad_partitions[632,13837 -static struct mtd_partition stork_partitions[662,14509 -static struct mtd_partition trizeps_partitions[703,15358 -static struct mtd_partition yopy_partitions[721,15688 -static int __init sa1100_static_partitions(743,16108 -struct sa_info sa_info884,19661 -#define NR_SUBMTD 895,19876 -static struct sa_info info[897,19897 -static int __init sa1100_setup_mtd(899,19937 -static void __exit sa1100_destroy_mtd(1019,22521 -static struct map_info sa1100_probe_map __initdata 1048,23110 -static void __init sa1100_probe_one_cs(1052,23195 -static void __init sa1100_probe_flash(1093,24073 -static int __init sa1100_locate_flash(1105,24537 -static struct mtd_partition *parsed_parts;1277,28087 -const char *part_probes[1278,28130 -static void __init sa1100_locate_partitions(1280,28195 -static void __exit sa1100_destroy_partitions(1318,29029 -static struct mtd_info *mymtd;1324,29127 -static int __init sa1100_mtd_init(1326,29159 -static void __exit sa1100_mtd_cleanup(1342,29387 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/beech-mtd.c,287 -#define NAME 43,1354 -#define PADDR 44,1391 -#define SIZE 45,1429 -#define BUSWIDTH 46,1466 -static struct map_info beech_mtd_map 51,1568 -static struct mtd_info *beech_mtd;58,1685 -static struct mtd_partition beech_partitions[60,1721 -init_beech_mtd(73,2014 -cleanup_beech_mtd(98,2561 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/sbc_gxx.c,922 -#define WINDOW_START 63,1882 -#define WINDOW_SHIFT 66,1944 -#define WINDOW_LENGTH 67,1968 -#define WINDOW_MASK 70,2058 -#define PAGE_IO 71,2096 -#define PAGE_IO_SIZE 72,2118 -#define DEVICE_ENABLE 75,2191 -#define MAX_SIZE_KiB 79,2252 -#define BOOT_PARTITION_SIZE_KiB 80,2291 -#define DATA_PARTITION_SIZE_KiB 81,2328 -#define APP_PARTITION_SIZE_KiB 82,2366 -static volatile int page_in_window 86,2417 -static unsigned long iomapadr;87,2485 -static spinlock_t sbc_gxx_spin 88,2516 -static struct mtd_partition partition_info[93,2739 -#define NUM_PARTITIONS 104,3174 -static inline void sbc_gxx_page(106,3200 -static map_word sbc_gxx_read8(117,3422 -static void sbc_gxx_copy_from(127,3658 -static void sbc_gxx_write8(144,4112 -static void sbc_gxx_copy_to(152,4327 -static struct map_info sbc_gxx_map 169,4778 -static struct mtd_info *all_mtd;183,5173 -static void cleanup_sbc_gxx(185,5207 -int __init init_sbc_gxx(196,5393 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ceiva.c,903 -#define CONFIG_MTD_CEIVA_STATICMAP37,888 -#define MAX_SIZE_KiB 58,1452 -#define BOOT_PARTITION_SIZE_KiB 59,1518 -#define PARAMS_PARTITION_SIZE_KiB 60,1561 -#define KERNEL_PARTITION_SIZE_KiB 61,1603 -#define ROOT_PARTITION_SIZE_KiB 63,1720 -static struct mtd_partition ceiva_partitions[65,1777 -static int __init clps_static_partitions(88,2286 -struct clps_info clps_info102,2551 -#define NR_SUBMTD 112,2719 -static struct clps_info info[114,2740 -static int __init clps_setup_mtd(116,2782 -static void __exit clps_destroy_mtd(231,5306 -static int __init clps_setup_flash(256,5782 -static struct mtd_partition *parsed_parts;274,6110 -static const char *probes[275,6153 -static void __init clps_locate_partitions(277,6220 -static void __exit clps_destroy_partitions(313,7054 -static struct mtd_info *mymtd;319,7150 -static int __init clps_mtd_init(321,7182 -static void __exit clps_mtd_cleanup(339,7408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/pcmciamtd.c,1607 -static int debug 31,588 -#define DEBUG(DEBUG35,732 -#define DEBUG(DEBUG42,890 -static const int debug 43,915 -#define err(err46,951 -#define info(info47,1031 -#define warn(warn48,1113 -#define DRIVER_DESC 51,1200 -#define DRIVER_VERSION 52,1254 -#define MAX_PCMCIA_ADDR 55,1354 -struct pcmciamtd_dev pcmciamtd_dev57,1389 -static dev_info_t dev_info 70,1792 -static dev_link_t *dev_list;71,1834 -static int bankwidth 76,1943 -static int mem_speed;79,2008 -static int force_size;82,2068 -static int vpp;85,2108 -static int setvpp;88,2139 -static int mem_type;91,2211 -static caddr_t remap_window(111,3046 -static map_word pcmcia_read8_remap(138,3796 -static map_word pcmcia_read16_remap(153,4071 -static void pcmcia_copy_from_remap(168,4347 -static void pcmcia_write8_remap(194,4951 -static void pcmcia_write16_remap(206,5195 -static void pcmcia_copy_to_remap(217,5439 -#define DEV_REMOVED(DEV_REMOVED245,6118 -static map_word pcmcia_read8(247,6186 -static map_word pcmcia_read16(261,6485 -static void pcmcia_copy_from(275,6785 -static void pcmcia_write8(287,7064 -static void pcmcia_write16(299,7323 -static void pcmcia_copy_to(311,7584 -static void pcmciamtd_set_vpp(323,7865 -static void pcmciamtd_release(347,8579 -static void card_settings(365,8917 -#define CS_CHECK(CS_CHECK492,12344 -static void pcmciamtd_config(495,12451 -static int pcmciamtd_event(701,18499 -static void pcmciamtd_detach(754,19877 -static dev_link_t *pcmciamtd_attach(779,20428 -static struct pcmcia_driver pcmciamtd_driver 823,21543 -static int __init init_pcmciamtd(833,21717 -static void __exit exit_pcmciamtd(853,22241 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/ich2rom.c,1280 -#define RESERVE_MEM_REGION 19,379 -#define ICH2_FWH_REGION_START 21,409 -#define ICH2_FWH_REGION_SIZE 22,452 -#define BIOS_CNTL 23,494 -#define FWH_DEC_EN1 24,517 -#define FWH_DEC_EN2 25,542 -#define FWH_SEL1 26,567 -#define FWH_SEL2 27,589 -struct ich2rom_map_info ich2rom_map_info29,612 -static inline unsigned long addr(35,715 -static inline unsigned long dbg_addr(45,964 -static __u8 ich2rom_read8(50,1105 -static __u16 ich2rom_read16(55,1214 -static __u32 ich2rom_read32(60,1325 -static void ich2rom_copy_from(65,1436 -static void ich2rom_write8(70,1578 -static void ich2rom_write16(76,1699 -static void ich2rom_write32(82,1823 -static void ich2rom_copy_to(88,1947 -static struct ich2rom_map_info ich2rom_map 93,2091 -enum fwh_lock_state fwh_lock_state116,2643 - FWH_DENY_WRITE 117,2665 - FWH_IMMUTABLE 118,2686 - FWH_DENY_READ 119,2707 -static int ich2rom_set_lock_state(122,2732 -static int ich2rom_lock(142,3255 -static int ich2rom_unlock(147,3393 -static int __devinit ich2rom_init_one 152,3520 -static void __devexit ich2rom_remove_one 241,6149 -static struct pci_device_id ich2rom_pci_tbl[263,6683 -static struct pci_driver ich2rom_driver 276,7054 -static struct pci_dev *mydev;284,7219 -int __init init_ich2rom(285,7249 -static void __exit cleanup_ich2rom(306,7639 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/maps/mbx860.c,430 -#define WINDOW_ADDR 25,588 -#define WINDOW_SIZE 26,619 -#define MAX_SIZE_KiB 29,682 -#define BOOT_PARTITION_SIZE_KiB 30,721 -#define KERNEL_PARTITION_SIZE_KiB 31,760 -#define APP_PARTITION_SIZE_KiB 32,799 -#define NUM_PARTITIONS 34,839 -static struct mtd_partition partition_info[39,1033 -static struct mtd_info *mymtd;51,1429 -struct map_info mbx_map 53,1461 -int __init init_mbx(60,1576 -static void __exit cleanup_mbx(83,2130 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/cmdlinepart.c,562 -#define ERRP 34,895 -#define dbg(dbg38,941 -#define dbg(dbg40,1020 -#define SIZE_REMAINING 45,1115 -struct cmdline_mtd_partition cmdline_mtd_partition47,1150 -static struct cmdline_mtd_partition *partitions;55,1322 -static char *cmdline;58,1422 -static int cmdline_parsed 59,1444 -static struct mtd_partition * newpart(69,1869 -static int mtdpart_setup_real(210,5139 -static int parse_cmdline_partitions(291,7102 -static int __init mtdpart_setup(342,8451 -static struct mtd_part_parser cmdline_parser 350,8560 -static int __init cmdline_parser_init(356,8699 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/mtdchar.c,731 -static void mtd_notify_add(21,411 -static void mtd_notify_remove(33,708 -static struct mtd_notifier notifier 41,862 -static inline void mtdchar_devfs_init(46,960 -static inline void mtdchar_devfs_exit(52,1062 -#define mtdchar_devfs_init(mtdchar_devfs_init58,1184 -#define mtdchar_devfs_exit(mtdchar_devfs_exit59,1229 -static loff_t mtd_lseek 62,1282 -static int mtd_open(93,1788 -static int mtd_close(131,2565 -#define MAX_KMALLOC_SIZE 150,2963 -static ssize_t mtd_read(152,2997 -static ssize_t mtd_write(205,3999 -static void mtdchar_erase_callback 265,5165 -static int mtd_ioctl(270,5276 -static struct file_operations mtd_fops 520,10313 -static int __init init_mtdchar(530,10514 -static void __exit cleanup_mtdchar(542,10784 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/redboot.c,318 -struct fis_image_desc fis_image_desc16,336 -struct fis_list fis_list28,913 -static inline int redboot_checksum(33,988 -static int parse_redboot_partitions(39,1137 -static struct mtd_part_parser redboot_parser 198,4909 -static int __init redboot_parser_init(204,5044 -static void __exit redboot_parser_exit(209,5139 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mtd/inftlcore.c,608 -#define MAX_LOOPS 48,1629 -static void inftl_add_mtd(53,1771 -static void inftl_remove_dev(142,4124 -static u16 INFTL_findfreeblock(165,4615 -static u16 INFTL_foldchain(203,5503 -u16 INFTL_makefreeblock(355,9951 -static int nrbits(407,11299 -static inline u16 INFTL_findwriteunit(420,11622 -static void INFTL_trydeletechain(584,16057 -static int INFTL_deleteblock(703,19190 -static int inftl_writeblock(761,20743 -static int inftl_readblock(808,21939 -static int inftl_getgeo(869,23526 -struct mtd_blktrans_ops inftl_tr 880,23761 -int __init init_inftl(894,24079 -static void __exit cleanup_inftl(902,24253 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/mcd.h,1135 -#define MCD_STATUS_DELAY 25,879 -#define MCD_RETRY_ATTEMPTS 28,968 -#define MCDPORT(MCDPORT31,1028 -#define SINGLE_HOLD_SECTORS 37,1350 -#define MCMD_2X_READ 39,1383 -#define MST_CMD_CHECK 43,1466 -#define MST_BUSY 44,1515 -#define MST_READ_ERR 45,1557 -#define MST_DSK_TYPE 46,1602 -#define MST_SERVO_CHECK 47,1629 -#define MST_DSK_CHG 48,1659 -#define MST_READY 49,1716 -#define MST_DOOR_OPEN 50,1765 -#define MFL_DATA 54,1831 -#define MFL_STATUS 55,1876 -#define MCMD_GET_DISK_INFO 59,1942 -#define MCMD_GET_Q_CHANNEL 60,2001 -#define MCMD_GET_STATUS 61,2065 -#define MCMD_SET_MODE 62,2095 -#define MCMD_SOFT_RESET 63,2123 -#define MCMD_STOP 64,2153 -#define MCMD_CONFIG_DRIVE 65,2194 -#define MCMD_SET_VOLUME 66,2225 -#define MCMD_PLAY_READ 67,2278 -#define MCMD_GET_VERSION 68,2332 -#define MCMD_EJECT 69,2364 -#define MAX_TRACKS 73,2450 -struct msf msf75,2475 -struct mcd_Play_msf mcd_Play_msf81,2554 -struct mcd_DiskInfo mcd_DiskInfo86,2616 -struct mcd_Toc mcd_Toc93,2733 -#define test1(test1101,2874 -#define test2(test2102,2891 -#define test3(test3103,2908 -#define test4(test4104,2925 -#define test5(test5105,2942 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/cdrom.c,4018 -#define REVISION 239,11035 -#define VERSION 240,11069 -#define CD_NOTHING 244,11259 -#define CD_WARNING 245,11287 -#define CD_REG_UNREG 246,11310 -#define CD_DO_IOCTL 247,11335 -#define CD_OPEN 248,11359 -#define CD_CLOSE 249,11380 -#define CD_COUNT_TRACKS 250,11402 -#define CD_CHANGER 251,11431 -#define CD_DVD 252,11455 -#define ERRLOGMASK 256,11570 -static int debug;282,12316 -static int keeplocked;284,12378 -static int autoclose=286,12434 -static int autoeject;287,12458 -static int lockdoor 288,12480 -static int check_media_type;290,12549 -static int mrw_format_restart 292,12617 -static spinlock_t cdrom_lock 300,12838 -static const char *mrw_format_status[302,12890 -static const char *mrw_address_space[309,13008 -#define cdinfo(cdinfo312,13097 -#define cdinfo(cdinfo316,13241 -#define IOCTL_IN(IOCTL_IN320,13361 -#define IOCTL_OUT(IOCTL_OUT324,13484 -#define CDROM_CAN(CDROM_CAN330,13736 -#define CHECKAUDIO 333,13837 -static struct cdrom_device_info *topCdromPtr;355,14728 -static int cdrom_dummy_generic_packet(357,14775 -#define ENSURE(ENSURE375,15296 -int register_cdrom(377,15377 -int unregister_cdrom(439,17095 -int cdrom_get_media_event(471,17673 -int cdrom_mrw_probe_pc(502,18510 -int cdrom_is_mrw(523,18953 -static int cdrom_mrw_bgformat(555,19610 -static int cdrom_mrw_bgformat_susp(596,20408 -static int cdrom_flush_cache(614,20760 -static int cdrom_mrw_exit(626,21013 -static int cdrom_mrw_set_lba_space(648,21457 -int cdrom_get_random_writable(677,22195 -int cdrom_has_defect_mgt(698,22736 -int cdrom_is_random_writable(723,23254 -static int cdrom_media_erasable(739,23527 -static int cdrom_dvdram_open_write(754,23790 -static int cdrom_mrw_open_write(768,24070 -static int mo_open_write(807,24922 -static int cdrom_ram_open_write(836,25537 -static int cdrom_open_write(856,25962 -static int cdrom_close_write(898,26808 -int cdrom_open(915,27253 -int open_for_data(955,28172 -int check_for_audio_disc(1062,31881 -int cdrom_release(1117,33563 -static int cdrom_read_mech_status(1151,34486 -static int cdrom_slot_status(1183,35382 -int cdrom_number_of_slots(1212,35959 -static int cdrom_load_unload(1235,36502 -static int cdrom_select_disc(1262,37229 -int media_changed(1323,38685 -int cdrom_media_changed(1339,39097 -static void cdrom_count_tracks(1352,39566 -void sanitize_format(1417,41649 -void init_cdrom_command(1436,42153 -#define copy_key(copy_key1450,42444 -#define copy_chal(copy_chal1451,42510 -static void setup_report_key(1453,42584 -static void setup_send_key(1475,42995 -static int dvd_do_auth(1497,43379 -static int dvd_read_physical(1645,47060 -static int dvd_read_copyright(1695,48470 -static int dvd_read_disckey(1718,49003 -static int dvd_read_bca(1744,49642 -static int dvd_read_manufact(1769,50263 -static int dvd_read_struct(1805,51113 -int cdrom_mode_sense(1830,51639 -int cdrom_mode_select(1846,52084 -static int cdrom_read_subchannel(1861,52503 -static int cdrom_read_cd(1898,53553 -static int cdrom_read_block(1918,54186 -static int cdrom_read_cdda_old(1950,55143 -static int cdrom_read_cdda_bpc(2002,56092 -static int cdrom_read_cdda(2069,57449 -int cdrom_ioctl(2112,58664 -int msf_to_lba(2501,70284 -static int cdrom_switch_blocksize(2510,70478 -static int mmc_ioctl(2535,71124 -static int cdrom_get_track_info(2804,78610 -static int cdrom_get_disc_info(2837,79439 -int cdrom_get_last_written(2871,80399 -static int cdrom_get_next_writable(2933,82297 -#define CDROM_STR_SIZE 2998,84094 -struct cdrom_sysctl_settings cdrom_sysctl_settings3000,84123 -} cdrom_sysctl_settings;3007,84422 -int cdrom_sysctl_info(3009,84448 -void cdrom_update_settings(3112,88434 -static int cdrom_sysctl_handler(3136,89066 -ctl_table cdrom_table[3190,90407 -ctl_table cdrom_cdrom_table[3242,91604 -ctl_table cdrom_root_table[3254,91818 -static struct ctl_table_header *cdrom_sysctl_header;3266,92038 -static void cdrom_sysctl_register(3268,92092 -static void cdrom_sysctl_unregister(3289,92643 -static int __init cdrom_init(3297,92792 -static void __exit cdrom_exit(3305,92897 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/sjcd.h,1607 -#define __SJCD_H__30,1222 -#define SJCD_BASE_ADDR 36,1356 -#define SJCD_INTR_NR 42,1486 -#define SJCD_DMA_NR 48,1630 -#define SJCD_STATUS_AVAILABLE(SJCD_STATUS_AVAILABLE53,1730 -#define SJCD_DATA_AVAILABLE(SJCD_DATA_AVAILABLE54,1781 -#define SJCDPORT(SJCDPORT60,1973 -#define SJCD_STATUS_PORT 61,2023 -#define SJCD_S_DATA_PORT 62,2065 -#define SJCD_COMMAND_PORT 63,2107 -#define SJCD_D_DATA_PORT 64,2149 -#define SST_NOT_READY 70,2299 -#define SST_MEDIA_CHANGED 71,2372 -#define SST_DOOR_OPENED 72,2434 -#define SCMD_EJECT_TRAY 76,2510 -#define SCMD_LOCK_TRAY 77,2581 -#define SCMD_UNLOCK_TRAY 78,2645 -#define SCMD_CLOSE_TRAY 79,2711 -#define SCMD_RESET 81,2771 -#define SCMD_GET_STATUS 82,2828 -#define SCMD_GET_VERSION 83,2861 -#define SCMD_DATA_READ 85,2895 -#define SCMD_SEEK 86,2975 -#define SCMD_PLAY 87,3008 -#define SCMD_GET_QINFO 89,3042 -#define SCMD_SET_MODE 91,3076 -#define SCMD_MODE_PLAY 92,3109 -#define SCMD_MODE_COOKED 93,3142 -#define SCMD_MODE_RAW 94,3185 -#define SCMD_MODE_x20_BIT 95,3218 -#define SCMD_SET_VOLUME 97,3282 -#define SCMD_PAUSE 98,3315 -#define SCMD_STOP 99,3348 -#define SCMD_GET_DISK_INFO 101,3382 -#define SCMD_GET_1_TRACK 106,3474 -#define SCMD_GET_L_TRACK 107,3548 -#define SCMD_GET_D_SIZE 108,3621 -#define S_READ_DATA(S_READ_DATA113,3773 -#define SJCD_MAX_TRACKS 119,3995 -struct msf msf121,4025 -struct sjcd_hw_disk_info sjcd_hw_disk_info127,4113 -struct sjcd_hw_qinfo sjcd_hw_qinfo137,4298 -struct sjcd_play_msf sjcd_play_msf145,4437 -struct sjcd_disk_info sjcd_disk_info150,4504 -struct sjcd_toc sjcd_toc157,4643 -struct sjcd_stat sjcd_stat167,4842 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/aztcd.h,1772 -#define AZT_BASE_ADDR 28,1171 -#define AZT_BASE_AUTO 32,1351 -#define AZT_SW32_BASE_ADDR 40,1586 -#define AZT_ALLOW_TRAY_LOCK 45,1776 -#define AZT_AUTO_EJECT 49,1923 -#define AZT_PRIVATE_IOCTLS 53,2054 -#define AZT_MULTISESSION 61,2542 -#define AZT_STATUS_DELAY 72,2980 -#define AZT_TIMEOUT 73,3049 -#define AZT_FAST_TIMEOUT 74,3117 -#define AZT_RETRY_ATTEMPTS 77,3246 -#define CMD_PORT 80,3301 -#define DATA_PORT 81,3328 -#define STATUS_PORT 82,3356 -#define MODE_PORT 83,3388 - #define AZT_SW32_INIT 85,3451 - #define AZT_SW32_CONFIG_REG 86,3528 - #define AZT_SW32_ID_REG 87,3618 -#define AST_CMD_CHECK 91,3737 -#define AST_DOOR_OPEN 92,3790 -#define AST_NOT_READY 93,3842 -#define AST_DSK_CHG 94,3902 -#define AST_MODE 95,3963 -#define AST_MODE_BITS 96,4034 -#define AST_INITIAL 97,4079 -#define AST_BUSY 98,4136 -#define AFL_DATA 102,4254 -#define AFL_STATUS 103,4306 -#define AFL_OP_OK 104,4362 -#define AFL_PA_OK 105,4414 -#define AFL_OP_ERR 106,4468 -#define AFL_PA_ERR 107,4516 -#define POLLED 108,4567 -#define ACMD_SOFT_RESET 111,4624 -#define ACMD_PLAY_READ 112,4673 -#define ACMD_PLAY_READ_RAW 113,4740 -#define ACMD_SEEK 114,4803 -#define ACMD_SEEK_TO_LEADIN 115,4873 -#define ACMD_GET_ERROR 116,4937 -#define ACMD_GET_STATUS 117,4988 -#define ACMD_GET_Q_CHANNEL 118,5036 -#define ACMD_EJECT 119,5105 -#define ACMD_CLOSE 120,5153 -#define ACMD_LOCK 121,5218 -#define ACMD_UNLOCK 122,5266 -#define ACMD_PAUSE 123,5311 -#define ACMD_STOP 124,5349 -#define ACMD_PLAY_AUDIO 125,5390 -#define ACMD_SET_VOLUME 126,5444 -#define ACMD_GET_VERSION 127,5497 -#define ACMD_SET_DISK_TYPE 128,5555 -#define MAX_TRACKS 130,5614 -struct msf msf132,5639 -struct azt_Play_msf azt_Play_msf138,5718 -struct azt_DiskInfo azt_DiskInfo143,5780 -struct azt_Toc azt_Toc156,6091 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/sbpcd.h,10538 -#define CDROM_PORT 77,2974 -#define SBPRO 78,3054 -#define MAX_DRIVES 79,3134 -#define SOUND_BASE 80,3214 -#define DISTRIBUTION 87,3446 -#define KLOGD_PAUSE 95,3669 -#define JUKEBOX 99,3757 -#define JUKEBOX 101,3781 -#define EJECT 106,3889 -#define EJECT 108,3911 -#define READ_AUDIO 115,4174 -#define SBP_TEAC_SPEED 132,4971 -#define _LINUX_SBPCD_H141,5263 -#define SBP_BUFFER_FRAMES 147,5489 -#define LONG_TIMING 149,5519 -#define TEST_UPC 153,5629 -#define SPEA_TEST 154,5648 -#define TEST_STI 155,5668 -#define OLD_BUSY 156,5687 -#define SOUND_BASE 159,5743 -#define SBP_TEAC_SPEED 163,5810 -#define DDIOCSDBG 170,5995 -#define CDROMAUDIOBUFSIZ 176,6136 -#define DBG_INF 182,6310 -#define DBG_BSZ 183,6356 -#define DBG_REA 184,6397 -#define DBG_CHK 185,6439 -#define DBG_TIM 186,6481 -#define DBG_INI 187,6525 -#define DBG_TOC 188,6570 -#define DBG_IOC 189,6615 -#define DBG_STA 190,6651 -#define DBG_ERR 191,6698 -#define DBG_CMD 192,6744 -#define DBG_WRN 193,6785 -#define DBG_MUL 194,6847 -#define DBG_IDX 195,6896 -#define DBG_IOX 196,6948 -#define DBG_DID 197,6998 -#define DBG_RES 198,7037 -#define DBG_SPI 199,7079 -#define DBG_IOS 200,7116 -#define DBG_IO2 201,7175 -#define DBG_UPC 202,7221 -#define DBG_XA1 203,7267 -#define DBG_LCK 204,7310 -#define DBG_SQ1 205,7354 -#define DBG_AUD 206,7395 -#define DBG_SEQ 207,7441 -#define DBG_LCS 208,7504 -#define DBG_CD2 209,7564 -#define DBG_TEA 210,7621 -#define DBG_ECS 211,7674 -#define DBG_000 212,7735 -#define f_respo3 220,7977 -#define f_putcmd 221,8001 -#define f_respo2 222,8024 -#define f_lopsta 223,8047 -#define f_getsta 224,8070 -#define f_ResponseStatus 225,8093 -#define f_obey_p_check 226,8123 -#define f_bit1 227,8152 -#define f_wait_if_busy 228,8174 -#define x80_bit 233,8231 -#define upc_bit 234,8254 -#define volume_bit 235,8277 -#define toc_bit 236,8302 -#define multisession_bit 237,8325 -#define cd_size_bit 238,8355 -#define subq_bit 239,8381 -#define frame_size_bit 240,8404 -#define upc_valid 245,8483 -#define volume_valid 246,8543 -#define toc_valid 247,8609 -#define cd_size_valid 248,8669 -#define subq_valid 249,8737 -#define frame_size_valid 250,8799 -#define p_success 255,8908 -#define p_door_closed 256,8932 -#define p_caddy_in 257,8959 -#define p_spinning 258,8983 -#define p_check 259,9007 -#define p_busy_new 260,9029 -#define p_door_locked 261,9053 -#define p_disk_ok 262,9080 -#define p_lcs_door_locked 267,9151 -#define p_lcs_door_closed 268,9182 -#define p_caddin_old 273,9282 -#define p_success_old 274,9308 -#define p_busy_old 275,9335 -#define p_bit_1 276,9359 -#define p0_door_closed 281,9473 -#define p0_caddy_in 282,9501 -#define p0_spinning 283,9526 -#define p0_check 284,9551 -#define p0_success 285,9573 -#define p0_busy 286,9610 -#define p0_bit_1 287,9632 -#define p0_disk_ok 288,9667 -#define pL_disk_in 290,9692 -#define pL_spinning 291,9716 -#define pL_check 292,9741 -#define pL_success 293,9763 -#define pL_busy 294,9803 -#define pL_door_locked 295,9825 -#define pL_door_closed 296,9853 -#define pV_door_closed 298,9882 -#define pV_spinning 299,9910 -#define pV_check 300,9935 -#define pV_success 301,9957 -#define pV_busy 302,9981 -#define pV_door_locked 303,10003 -#define pV_disk_ok 304,10031 -#define p1_door_closed 306,10056 -#define p1_disk_in 307,10084 -#define p1_spinning 308,10108 -#define p1_check 309,10133 -#define p1_busy 310,10155 -#define p1_door_locked 311,10177 -#define p1_bit_1 312,10205 -#define p1_disk_ok 313,10240 -#define p2_disk_ok 315,10265 -#define p2_door_locked 316,10289 -#define p2_spinning 317,10317 -#define p2_busy2 318,10342 -#define p2_busy1 319,10364 -#define p2_door_closed 320,10386 -#define p2_disk_in 321,10414 -#define p2_check 322,10438 -#define st_door_closed 327,10490 -#define st_caddy_in 328,10556 -#define st_spinning 329,10616 -#define st_check 330,10676 -#define st_busy 331,10730 -#define st_door_locked 332,10787 -#define st_diskok 333,10853 -#define s_not_result_ready 338,10954 -#define s_not_data_ready 339,11010 -#define s_attention 340,11064 -#define DRV_ATTN 344,11141 -#define DATA_READY 345,11193 -#define RESULT_READY 346,11252 -#define drv_fam0 351,11372 -#define drv_199 352,11417 -#define drv_200 353,11461 -#define drv_201 354,11505 -#define drv_210 355,11549 -#define drv_211 356,11593 -#define drv_300 357,11637 -#define drv_fam1 359,11683 -#define drv_099 360,11728 -#define drv_100 361,11772 -#define drv_fam2 363,11844 -#define drv_famT 365,11889 -#define drv_famL 367,11933 -#define drv_260 368,11981 -#define drv_e1 369,12029 -#define drv_f4 370,12093 -#define drv_famV 372,12158 -#define drv_at 373,12216 -#define fam0_drive 375,12279 -#define famL_drive 376,12333 -#define famV_drive 377,12387 -#define fam1_drive 378,12441 -#define fam2_drive 379,12495 -#define famT_drive 380,12549 -#define fam0L_drive 381,12603 -#define fam0V_drive 382,12669 -#define famLV_drive 383,12735 -#define fam0LV_drive 384,12801 -#define fam1L_drive 385,12877 -#define fam1V_drive 386,12943 -#define fam1LV_drive 387,13009 -#define fam01_drive 388,13085 -#define fam12_drive 389,13151 -#define fam2T_drive 390,13217 -#define audio_completed 395,13308 -#define audio_playing 396,13363 -#define audio_pausing 397,13387 -#define speed_auto 402,13448 -#define speed_300 403,13472 -#define speed_150 404,13495 -#define audio_mono 405,13518 -#define READ_M1 410,13582 -#define READ_M2 411,13645 -#define READ_SC 412,13715 -#define READ_AU 413,13780 -#define aud_00 426,14070 -#define audx11 427,14141 -#define audx12 428,14212 -#define audx13 429,14283 -#define audx14 430,14354 -#define audx15 431,14425 -#define aud_11 433,14521 -#define aud_12 434,14592 -#define aud_13 435,14663 -#define aud_14 436,14734 -#define aud_15 437,14805 -#define NR_SBPCD 442,14926 -#define SBPCD_DIS_IRQ 447,15007 -#define OUT(OUT452,15063 -#define MIXER_addr 456,15171 -#define MIXER_data 457,15239 -#define MIXER_CD_Volume 458,15304 -#define MAX_TRACKS 462,15453 -#define ERR_DISKCHANGE 464,15476 -typedef union _msf_msf470,15641 -} MSF;MSF474,15686 -typedef union _blk_blk476,15694 -} BLK;BLK480,15739 -#define CMD1_RESET 645,20511 -#define CMD2_RESET 646,20535 -#define CMDT_RESET 647,20559 -#define CMD1_LOCK_CTL 649,20584 -#define CMD2_LOCK_CTL 650,20611 -#define CMDT_LOCK_CTL 651,20638 -#define CMDL_LOCK_CTL 652,20674 -#define CMDV_LOCK_CTL 653,20701 -#define CMD1_TRAY_CTL 655,20738 -#define CMD2_TRAY_CTL 656,20765 -#define CMDT_TRAY_CTL 657,20792 -#define CMDL_TRAY_CTL 658,20828 -#define CMDV_TRAY_CTL 659,20855 -#define CMD1_MULTISESS 661,20892 -#define CMDL_MULTISESS 662,20920 -#define CMDV_MULTISESS 663,20948 -#define CMD1_SUBCHANINF 665,20987 -#define CMD2_SUBCHANINF 666,21016 -#define CMD1_ABORT 668,21046 -#define CMD2_ABORT 669,21070 -#define CMDT_ABORT 670,21094 -#define CMD2_x02 672,21119 -#define CMD2_SETSPEED 674,21142 -#define CMD0_PATH_CHECK 676,21170 -#define CMD1_PATH_CHECK 677,21199 -#define CMD2_PATH_CHECK 678,21229 -#define CMDT_PATH_CHECK 679,21259 -#define CMDL_PATH_CHECK 680,21289 -#define CMDV_PATH_CHECK 681,21329 -#define CMD0_SEEK 683,21370 -#define CMD1_SEEK 684,21393 -#define CMD2_SEEK 685,21421 -#define CMDT_SEEK 686,21444 -#define CMDL_SEEK 687,21472 -#define CMDV_SEEK 688,21500 -#define CMD0_READ 690,21529 -#define CMD1_READ 691,21552 -#define CMD2_READ 692,21575 -#define CMDT_READ 693,21598 -#define CMDL_READ 694,21626 -#define CMDV_READ 695,21654 -#define CMD0_READ_XA 697,21683 -#define CMD2_READ_XA 698,21709 -#define CMD2_READ_XA2 699,21735 -#define CMDL_READ_XA 700,21762 -#define CMDV_READ_XA 701,21812 -#define CMD0_READ_HEAD 703,21847 -#define CMD0_SPINUP 705,21876 -#define CMD1_SPINUP 706,21901 -#define CMD2_SPINUP 707,21926 -#define CMDL_SPINUP 708,21960 -#define CMDV_SPINUP 709,21992 -#define CMD0_SPINDOWN 711,22025 -#define CMD1_SPINDOWN 712,22068 -#define CMD2_SPINDOWN 713,22095 -#define CMDL_SPINDOWN 714,22131 -#define CMDV_SPINDOWN 715,22158 -#define CMD0_DIAG 717,22195 -#define CMD0_READ_UPC 719,22219 -#define CMD1_READ_UPC 720,22246 -#define CMD2_READ_UPC 721,22273 -#define CMDL_READ_UPC 722,22301 -#define CMDV_READ_UPC 723,22337 -#define CMD0_READ_ISRC 725,22365 -#define CMD0_PLAY 727,22394 -#define CMD1_PLAY 728,22417 -#define CMD2_PLAY 729,22441 -#define CMDL_PLAY 730,22465 -#define CMDV_PLAY 731,22493 -#define CMD0_PLAY_MSF 733,22522 -#define CMD1_PLAY_MSF 734,22549 -#define CMD2_PLAY_MSF 735,22576 -#define CMDT_PLAY_MSF 736,22603 -#define CMDL_PLAY_MSF 737,22639 -#define CMD0_PLAY_TI 739,22668 -#define CMD1_PLAY_TI 740,22694 -#define CMD0_STATUS 742,22721 -#define CMD1_STATUS 743,22746 -#define CMD2_STATUS 744,22771 -#define CMDT_STATUS 745,22796 -#define CMDL_STATUS 746,22828 -#define CMDV_STATUS 747,22860 -#define CMD2_SEEK_LEADIN 748,22892 -#define CMD0_READ_ERR 750,22923 -#define CMD1_READ_ERR 751,22950 -#define CMD2_READ_ERR 752,22986 -#define CMDT_READ_ERR 753,23013 -#define CMDL_READ_ERR 754,23072 -#define CMDV_READ_ERR 755,23108 -#define CMD0_READ_VER 757,23145 -#define CMD1_READ_VER 758,23172 -#define CMD2_READ_VER 759,23208 -#define CMDT_READ_VER 760,23235 -#define CMDL_READ_VER 761,23287 -#define CMDV_READ_VER 762,23323 -#define CMD0_SETMODE 764,23360 -#define CMD1_SETMODE 765,23386 -#define CMD2_SETMODE 766,23412 -#define CMDT_SETMODE 767,23438 -#define CMDL_SETMODE 768,23472 -#define CMD0_GETMODE 770,23507 -#define CMD1_GETMODE 771,23533 -#define CMD2_GETMODE 772,23559 -#define CMDT_GETMODE 773,23585 -#define CMDL_GETMODE 774,23619 -#define CMD0_SET_XA 776,23654 -#define CMD0_GET_XA 778,23680 -#define CMD0_CAPACITY 780,23706 -#define CMD1_CAPACITY 781,23733 -#define CMD2_CAPACITY 782,23760 -#define CMDL_CAPACITY 783,23787 -#define CMD0_READSUBQ 785,23864 -#define CMD1_READSUBQ 786,23891 -#define CMD2_READSUBQ 787,23918 -#define CMDT_READSUBQ 788,23945 -#define CMDL_READSUBQ 789,23981 -#define CMDV_READSUBQ 790,24017 -#define CMD0_DISKCODE 792,24054 -#define CMD0_DISKINFO 794,24082 -#define CMD1_DISKINFO 795,24109 -#define CMD2_DISKINFO 796,24145 -#define CMDT_DISKINFO 797,24172 -#define CMDL_DISKINFO 798,24208 -#define CMDV_DISKINFO 799,24244 -#define CMD0_READTOC 801,24281 -#define CMD1_READTOC 802,24307 -#define CMD2_READTOC 803,24341 -#define CMDL_READTOC 804,24368 -#define CMDV_READTOC 805,24402 -#define CMD0_PAU_RES 807,24437 -#define CMD1_PAU_RES 808,24463 -#define CMD2_PAU_RES 809,24489 -#define CMDT_PAUSE 810,24515 -#define CMDL_PAU_RES 811,24547 -#define CMDV_PAUSE 812,24581 -#define CMD0_PACKET 814,24614 -#define CMD1_PACKET 815,24639 -#define CMD2_PACKET 816,24671 -#define CMDL_PACKET 817,24697 -#define CMDV_PACKET 818,24729 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/isp16.c,664 -#define ISP16_VERSION_MAJOR 48,1858 -#define ISP16_VERSION_MINOR 49,1888 -static short isp16_type;66,2308 -static u_char isp16_ctrl;67,2375 -static u_short isp16_enable_port;68,2401 -static int isp16_cdrom_base 70,2436 -static int isp16_cdrom_irq 71,2487 -static int isp16_cdrom_dma 72,2533 -static char *isp16_cdrom_type 73,2579 -#define ISP16_IN(ISP16_IN84,2818 -#define ISP16_OUT(ISP16_OUT85,2881 -__init isp16_setup(90,2978 -int __init isp16_init(115,3361 -static short __init isp16_detect(176,5044 -static short __init isp16_c928__detect(185,5172 -static short __init isp16_c929__detect(230,6464 -isp16_cdi_config(257,7048 -void __exit isp16_exit(369,9689 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/cdu31a.h,6485 -#define SONY_XA_DISK_TYPE 27,885 -#define SONY_CMD_REG_OFFSET 33,1017 -#define SONY_PARAM_REG_OFFSET 34,1051 -#define SONY_WRITE_REG_OFFSET 35,1085 -#define SONY_CONTROL_REG_OFFSET 36,1119 -# define SONY_ATTN_CLR_BIT 37,1153 -# define SONY_RES_RDY_CLR_BIT 38,1198 -# define SONY_DATA_RDY_CLR_BIT 39,1243 -# define SONY_ATTN_INT_EN_BIT 40,1288 -# define SONY_RES_RDY_INT_EN_BIT 41,1333 -# define SONY_DATA_RDY_INT_EN_BIT 42,1378 -# define SONY_PARAM_CLR_BIT 43,1423 -# define SONY_DRIVE_RESET_BIT 44,1468 -#define SONY_STATUS_REG_OFFSET 50,1613 -# define SONY_ATTN_BIT 51,1647 -# define SONY_RES_RDY_BIT 52,1692 -# define SONY_DATA_RDY_BIT 53,1737 -# define SONY_ATTN_INT_ST_BIT 54,1782 -# define SONY_RES_RDY_INT_ST_BIT 55,1827 -# define SONY_DATA_RDY_INT_ST_BIT 56,1872 -# define SONY_DATA_REQUEST_BIT 57,1917 -# define SONY_BUSY_BIT 58,1962 -#define SONY_RESULT_REG_OFFSET 59,2007 -#define SONY_READ_REG_OFFSET 60,2041 -#define SONY_FIFOST_REG_OFFSET 61,2075 -# define SONY_PARAM_WRITE_RDY_BIT 62,2109 -# define SONY_PARAM_REG_EMPTY_BIT 63,2154 -# define SONY_RES_REG_NOT_EMP_BIT 64,2199 -# define SONY_RES_REG_FULL_BIT 65,2244 -#define LOG_START_OFFSET 67,2290 -#define SONY_DETECT_TIMEOUT 69,2368 -#define SONY_JIFFIES_TIMEOUT 75,2696 -#define SONY_RESET_TIMEOUT 78,2893 -#define SONY_READY_RETRIES 81,3086 -#define MAX_CDU31A_RETRIES 85,3287 -#define SONY_REQ_DRIVE_CONFIG_CMD 89,3493 -#define SONY_REQ_DRIVE_MODE_CMD 90,3575 -#define SONY_REQ_DRIVE_PARAM_CMD 91,3620 -#define SONY_REQ_MECH_STATUS_CMD 92,3665 -#define SONY_REQ_AUDIO_STATUS_CMD 93,3710 -#define SONY_SET_DRIVE_PARAM_CMD 94,3755 -#define SONY_REQ_TOC_DATA_CMD 95,3800 -#define SONY_REQ_SUBCODE_ADDRESS_CMD 96,3873 -#define SONY_REQ_UPC_EAN_CMD 97,3950 -#define SONY_REQ_ISRC_CMD 98,3995 -#define SONY_REQ_TOC_DATA_SPEC_CMD 99,4040 -#define SONY_READ_TOC_CMD 102,4175 -#define SONY_SEEK_CMD 103,4265 -#define SONY_READ_CMD 104,4310 -#define SONY_READ_BLKERR_STAT_CMD 105,4355 -#define SONY_ABORT_CMD 106,4400 -#define SONY_READ_TOC_SPEC_CMD 107,4445 -#define SONY_AUDIO_PLAYBACK_CMD 110,4523 -#define SONY_AUDIO_STOP_CMD 111,4568 -#define SONY_AUDIO_SCAN_CMD 112,4613 -#define SONY_EJECT_CMD 115,4696 -#define SONY_SPIN_UP_CMD 116,4741 -#define SONY_SPIN_DOWN_CMD 117,4786 -#define SONY_WRITE_BUFFER_CMD 120,4858 -#define SONY_READ_BUFFER_CMD 121,4903 -#define SONY_DIAGNOSTICS_CMD 122,4948 -#define SONY_SD_DECODE_PARAM 128,5078 -#define SONY_SD_INTERFACE_PARAM 129,5123 -#define SONY_SD_BUFFERING_PARAM 130,5168 -#define SONY_SD_AUDIO_PARAM 131,5213 -#define SONY_SD_AUDIO_VOLUME 132,5258 -#define SONY_SD_MECH_CONTROL 133,5303 -#define SONY_SD_AUTO_SPIN_DOWN_TIME 134,5348 -#define SONY_AUTO_SPIN_UP_BIT 139,5472 -#define SONY_AUTO_EJECT_BIT 140,5517 -#define SONY_DOUBLE_SPEED_BIT 141,5562 -#define SONY_HWC_GET_LOAD_MECH(SONY_HWC_GET_LOAD_MECH147,5708 -#define SONY_HWC_EJECT(SONY_HWC_EJECT148,5772 -#define SONY_HWC_LED_SUPPORT(SONY_HWC_LED_SUPPORT149,5836 -#define SONY_HWC_DOUBLE_SPEED(SONY_HWC_DOUBLE_SPEED150,5900 -#define SONY_HWC_GET_BUF_MEM_SIZE(SONY_HWC_GET_BUF_MEM_SIZE151,5964 -#define SONY_HWC_AUDIO_PLAYBACK(SONY_HWC_AUDIO_PLAYBACK152,6035 -#define SONY_HWC_ELECTRIC_VOLUME(SONY_HWC_ELECTRIC_VOLUME153,6099 -#define SONY_HWC_ELECTRIC_VOLUME_CTL(SONY_HWC_ELECTRIC_VOLUME_CTL154,6163 -#define SONY_HWC_CADDY_LOAD_MECH 156,6228 -#define SONY_HWC_TRAY_LOAD_MECH 157,6273 -#define SONY_HWC_POPUP_LOAD_MECH 158,6318 -#define SONY_HWC_UNKWN_LOAD_MECH 159,6363 -#define SONY_HWC_8KB_BUFFER 161,6409 -#define SONY_HWC_32KB_BUFFER 162,6454 -#define SONY_HWC_64KB_BUFFER 163,6499 -#define SONY_HWC_UNKWN_BUFFER 164,6544 -struct s_sony_drive_configs_sony_drive_config170,6686 -struct s_sony_subcodes_sony_subcode180,6932 -#define MAX_TRACKS 192,7207 -struct s_sony_tocs_sony_toc197,7424 -struct s_sony_session_tocs_sony_session_toc227,8198 -struct s_all_sessions_tocs_all_sessions_toc290,10078 -#define SONY_ILL_CMD_ERR 316,10640 -#define SONY_ILL_PARAM_ERR 317,10685 -#define SONY_NOT_LOAD_ERR 320,10753 -#define SONY_NO_DISK_ERR 321,10798 -#define SONY_NOT_SPIN_ERR 322,10843 -#define SONY_SPIN_ERR 323,10888 -#define SONY_SPINDLE_SERVO_ERR 324,10933 -#define SONY_FOCUS_SERVO_ERR 325,10978 -#define SONY_EJECT_MECH_ERR 326,11023 -#define SONY_AUDIO_PLAYING_ERR 327,11068 -#define SONY_EMERGENCY_EJECT_ERR 328,11113 -#define SONY_FOCUS_ERR 331,11182 -#define SONY_FRAME_SYNC_ERR 332,11227 -#define SONY_SUBCODE_ADDR_ERR 333,11272 -#define SONY_BLOCK_SYNC_ERR 334,11317 -#define SONY_HEADER_ADDR_ERR 335,11362 -#define SONY_ILL_TRACK_R_ERR 338,11431 -#define SONY_MODE_0_R_ERR 339,11476 -#define SONY_ILL_MODE_R_ERR 340,11521 -#define SONY_ILL_BLOCK_SIZE_R_ERR 341,11566 -#define SONY_MODE_R_ERR 342,11611 -#define SONY_FORM_R_ERR 343,11656 -#define SONY_LEAD_OUT_R_ERR 344,11701 -#define SONY_BUFFER_OVERRUN_R_ERR 345,11746 -#define SONY_UNREC_CIRC_ERR 348,11815 -#define SONY_UNREC_LECC_ERR 349,11860 -#define SONY_NO_TOC_ERR 352,11932 -#define SONY_SUBCODE_DATA_NVAL_ERR 353,11977 -#define SONY_FOCUS_ON_TOC_READ_ERR 354,12022 -#define SONY_FRAME_SYNC_ON_TOC_READ_ERR 355,12067 -#define SONY_TOC_DATA_ERR 356,12112 -#define SONY_HW_FAILURE_ERR 359,12187 -#define SONY_LEAD_IN_A_ERR 360,12232 -#define SONY_LEAD_OUT_A_ERR 361,12277 -#define SONY_DATA_TRACK_A_ERR 362,12322 -#define SONY_NO_CIRC_ERR_BLK_STAT 369,12549 -#define SONY_NO_LECC_ERR_BLK_STAT 370,12594 -#define SONY_RECOV_LECC_ERR_BLK_STAT 371,12639 -#define SONY_NO_ERR_DETECTION_STAT 372,12684 -#define SONY_TIMEOUT_OP_ERR 378,12876 -#define SONY_SIGNAL_OP_ERR 379,12921 -#define SONY_BAD_DATA_ERR 380,12966 -#define SONY_EMER_EJECT_ATTN 388,13128 -#define SONY_HW_FAILURE_ATTN 389,13173 -#define SONY_MECH_LOADED_ATTN 390,13218 -#define SONY_EJECT_PUSHED_ATTN 391,13263 -#define SONY_AUDIO_PLAY_DONE_ATTN 394,13337 -#define SONY_LEAD_IN_ERR_ATTN 395,13382 -#define SONY_LEAD_OUT_ERR_ATTN 396,13427 -#define SONY_DATA_TRACK_ERR_ATTN 397,13472 -#define SONY_AUDIO_PLAYBACK_ERR_ATTN 398,13517 -#define SONY_SPIN_UP_COMPLETE_ATTN 401,13588 -#define SONY_SPINDLE_SERVO_ERR_ATTN 402,13633 -#define SONY_FOCUS_SERVO_ERR_ATTN 403,13678 -#define SONY_TOC_READ_DONE_ATTN 404,13723 -#define SONY_FOCUS_ON_TOC_READ_ERR_ATTN 405,13768 -#define SONY_SYNC_ON_TOC_READ_ERR_ATTN 406,13813 -#define SONY_SPIN_DOWN_COMPLETE_ATTN 409,13882 -#define SONY_EJECT_COMPLETE_ATTN 410,13927 -#define SONY_EJECT_MECH_ERR_ATTN 411,13972 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/optcd.c,6881 -#define MAJOR_NR 83,2935 -#define QUEUE 84,2971 -#define CURRENT 85,2997 -#define DEBUG(DEBUG94,3237 -static void debug(95,3262 -#define DEBUG(DEBUG109,3488 -#define optcd_port 117,3626 -static short optcd_port 118,3684 -#define DATA_PORT 121,3809 -#define STATUS_PORT 122,3861 -#define COMIN_PORT 125,3964 -#define RESET_PORT 126,4030 -#define HCON_PORT 127,4100 -#define ST_DRVERR 131,4219 -#define ST_DOOR_OPEN 132,4243 -#define ST_MIXEDMODE_DISK 133,4270 -#define ST_MODE_BITS 134,4301 -#define ST_M_STOP 135,4328 -#define ST_M_READ 136,4352 -#define ST_M_AUDIO 137,4376 -#define ST_M_PAUSE 138,4401 -#define ST_M_INITIAL 139,4426 -#define ST_M_ERROR 140,4453 -#define ST_M_OTHERS 141,4478 -#define ST_MODE2TRACK 142,4504 -#define ST_DSK_CHG 143,4532 -#define ST_L_LOCK 144,4557 -#define ST_CMD_OK 145,4581 -#define ST_OP_OK 146,4605 -#define ST_PA_OK 147,4628 -#define ST_OP_ERROR 148,4651 -#define ST_PA_ERROR 149,4677 -#define ERR_ILLCMD 154,4806 -#define ERR_ILLPARM 155,4869 -#define ERR_SLEDGE 156,4935 -#define ERR_FOCUS 157,4959 -#define ERR_MOTOR 158,4982 -#define ERR_RADIAL 159,5005 -#define ERR_PLL 160,5029 -#define ERR_SUB_TIM 161,5072 -#define ERR_SUB_NF 162,5125 -#define ERR_TRAY 163,5179 -#define ERR_TOC 164,5201 -#define ERR_JUMP 165,5258 -#define ERR_MODE 167,5298 -#define ERR_FORM 168,5320 -#define ERR_HEADADDR 169,5342 -#define ERR_CRC 170,5399 -#define ERR_ECC 171,5421 -#define ERR_CRC_UNC 172,5473 -#define ERR_ILLBSYNC 173,5538 -#define ERR_VDST 174,5595 -#define ERR_READ_TIM 176,5659 -#define ERR_DEC_STP 177,5710 -#define ERR_DEC_TIM 178,5757 -#define ERR_KEY 180,5847 -#define ERR_READ_FINISH 181,5895 -#define ERR_NOBSYNC 183,5977 -#define ERR_SHORTB 184,6022 -#define ERR_LONGB 185,6064 -#define ERR_SHORTDSP 186,6104 -#define ERR_LONGDSP 187,6151 -#define FL_EJECT 191,6256 -#define FL_WAIT 192,6278 -#define FL_EOP 193,6317 -#define FL_STEN 194,6355 -#define FL_DTEN 195,6409 -#define FL_DRQ 196,6461 -#define FL_RESET 197,6499 -#define FL_STDT 198,6561 -#define HCON_DTS 202,6644 -#define HCON_SDRQB 203,6666 -#define HCON_LOHI 204,6690 -#define HCON_DMA16 205,6713 -#define COMDRVST 210,6820 -#define COMERRST 211,6866 -#define COMIOCTLISTAT 212,6912 -#define COMINITSINGLE 213,6981 -#define COMINITDOUBLE 214,7038 -#define COMUNLOCK 215,7095 -#define COMLOCK 216,7131 -#define COMLOCKST 217,7164 -#define COMVERSION 218,7212 -#define COMVOIDREADMODE 219,7264 -#define COMFETCH 221,7339 -#define COMREAD 222,7381 -#define COMREADRAW 223,7414 -#define COMREADALL 224,7458 -#define COMLEADIN 226,7538 -#define COMSEEK 227,7583 -#define COMPAUSEON 228,7616 -#define COMPAUSEOFF 229,7655 -#define COMSTOP 230,7696 -#define COMOPEN 231,7729 -#define COMCLOSE 232,7772 -#define COMPLAY 233,7816 -#define COMPLAY_TNO 234,7855 -#define COMSUBQ 235,7913 -#define COMLOCATION 236,7957 -#define COMCHCTRL 238,8036 -#define COMDRVTEST 240,8123 -#define COMTEST 241,8170 -inline static int flag_low(248,8375 -static int sleep_timeout;264,8728 -static struct timer_list delay_timer 267,8868 -static spinlock_t optcd_lock 268,8945 -static struct request_queue *opt_queue;269,8996 -static void sleep_timer(273,9122 -static int sleep_flag_low(285,9434 -#define ERR_IF_CMD_TIMEOUT 309,10023 -#define ERR_IF_ERR_TIMEOUT 310,10056 -#define ERR_IF_RESP_TIMEOUT 311,10089 -#define ERR_IF_DATA_TIMEOUT 312,10123 -#define ERR_IF_NOSTAT 313,10157 -static int send_cmd(317,10239 -static int send_params(334,10770 -static int send_seek_params(362,11555 -inline static int get_exec_status(384,12198 -inline static int get_data(401,12645 -static int reset_drive(415,12941 -inline static int stdt_flags(444,13592 -inline static int fetch_status(451,13748 -inline static void fetch_data(465,14034 -inline static void flush_data(473,14199 -inline static int exec_cmd(485,14483 -inline static int exec_read_cmd(496,14738 -inline static int exec_seek_cmd(506,14958 -inline static int exec_long_cmd(519,15216 -inline static void single_bin2bcd(531,15451 -static void bin2bcd(539,15612 -#define CD_FPM 551,15932 -static void lba2msf(553,15994 -inline static u_char bcd2bin(568,16352 -static void msf2lba(575,16484 -static void msf_bcd2bin(585,16758 -static int audio_status 595,16985 -static char toc_uptodate 596,17034 -static char disk_changed 597,17064 -static int drive_status(600,17171 -static int get_q_channel(629,17843 -#define ERR_TOC_MISSINGINFO 710,19280 -#define ERR_TOC_MISSINGENTRY 711,19314 -struct cdrom_disk_info cdrom_disk_info714,19351 -static struct cdrom_disk_info disk_info;727,19668 -#define MAX_TRACKS 729,19710 -static struct cdrom_subchnl toc[730,19734 -#define QINFO_FIRSTTRACK 732,19780 -#define QINFO_LASTTRACK 733,19829 -#define QINFO_DISKLENGTH 734,19878 -#define QINFO_NEXTSESSION 735,19927 -#define I_FIRSTTRACK 737,19978 -#define I_LASTTRACK 738,20004 -#define I_DISKLENGTH 739,20029 -#define I_NEXTSESSION 740,20055 -#define I_ALL 741,20082 -static void toc_debug_info(745,20156 -static int read_toc(761,20583 -static int get_multi_disk_info(867,23672 -static int update_toc(929,25078 -static int current_valid(977,26131 -#define NOBUF 985,26285 -static char buf[987,26304 -static volatile int buf_bn[988,26344 -static volatile int buf_bn[N_BUFS], next_bn;988,26344 -static volatile int buf_in 989,26389 -inline static void opt_invalidate_buffers(991,26439 -static void transfer(1005,26771 -enum state_e state_e1048,27681 - S_IDLE,1049,27696 - S_START,1050,27714 - S_READ,1051,27732 - S_DATA,1052,27750 - S_STOP,1053,27768 - S_STOPPING 1054,27786 -static volatile enum state_e state 1057,27810 -static volatile enum state_e state_old 1059,27871 -static volatile int flags_old 1060,27920 -static volatile long state_n 1061,27955 -static int in_vfs 1069,28233 -static volatile int transfer_is_active 1072,28258 -static volatile int error 1073,28302 -static int tries;1074,28367 -static int timeout 1075,28399 -static struct timer_list req_timer 1078,28462 -static void poll(1081,28521 -static void do_optcd_request(1361,34476 -static char auto_eject 1406,35610 -static int cdrompause(1408,35639 -static int cdromresume(1425,35921 -static int cdromplaymsf(1443,36242 -static int cdromplaytrkind(1464,36627 -static int cdromreadtochdr(1508,37789 -static int cdromreadtocentry(1519,38009 -static int cdromvolctrl(1551,38916 -static int cdromsubchnl(1576,39454 -static struct gendisk *optcd_disk;1600,39923 -static int cdromread(1603,39960 -static int cdromseek(1631,40531 -static int cdrommultisession(1651,40849 -static int cdromreset(1696,41921 -static int opt_ioctl(1716,42179 -static int open_count 1845,45496 -static int opt_open(1848,45581 -static int opt_release(1908,47036 -static int opt_media_change(1936,47717 -static int __init version_ok(1954,48111 -static struct block_device_operations opt_fops 1991,48914 -static int optcd_setup(2001,49167 -static int __init optcd_init(2018,49488 -static void __exit optcd_exit(2089,51212 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/optcd.h,558 -#define _LINUX_OPTCD_H11,273 -#define OPTCD_PORTBASE 17,489 -#define MULTISESSION 21,577 -#define DEBUG_DRIVE_IF 25,693 -#define DEBUG_CONV 26,750 -#define DEBUG_BUFFERS 27,797 -#define DEBUG_REQUEST 28,863 -#define DEBUG_STATE 29,911 -#define DEBUG_TOC 30,953 -#define DEBUG_MULTIS 31,1011 -#define DEBUG_VFS 32,1058 -#define BUSY_TIMEOUT 38,1206 -#define FAST_TIMEOUT 39,1257 -#define SLEEP_TIMEOUT 40,1311 -#define MULTI_SEEK_TIMEOUT 41,1361 -#define READ_TIMEOUT 42,1415 -#define STOP_TIMEOUT 43,1463 -#define RESET_WAIT 44,1511 -#define N_BUFS 49,1732 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/mcdx.h,1938 -#define MCDX_AUTOPROBE 46,1766 - #define MCDX_NDRIVES 57,2107 - #define MCDX_DRIVEMAP 58,2131 -#define MCDX_QUIET 70,2340 -#define MCDX_DEBUG 74,2390 -#define MCDX 82,2572 -#define INIT 85,2620 -#define MALLOC 86,2637 -#define IOCTL 87,2656 -#define PLAYTRK 88,2674 -#define SUBCHNL 89,2696 -#define TOCHDR 90,2718 -#define MS 91,2740 -#define PLAYMSF 92,2762 -#define READTOC 93,2784 -#define OPENCLOSE 94,2806 -#define HW 95,2827 -#define TALK 96,2845 -#define IRQ 97,2861 -#define XFER 98,2877 -#define REQUEST 99,2894 -#define SLEEP 100,2914 -#define MCDX_IO_BEGIN 105,3061 -#define MCDX_IO_END 106,3128 -#define MCDX_IO_SIZE 109,3239 -#define MCDX_RBIT_OPEN 117,3366 -#define MCDX_RBIT_DISKSET 118,3419 -#define MCDX_RBIT_CHANGED 119,3481 -#define MCDX_RBIT_CHECK 120,3538 -#define MCDX_RBIT_AUDIOTR 121,3604 -#define MCDX_RBIT_RDERR 122,3669 -#define MCDX_RBIT_AUDIOBS 123,3737 -#define MCDX_RBIT_CMDERR 124,3801 -#define MCDX_RBIT_DOOR 128,3964 -#define MCDX_RBIT_STEN 129,4017 -#define MCDX_RBIT_DTEN 130,4094 -#define OPCODE 136,4189 -#define MCDX_CMD_REQUEST_TOC 137,4230 -#define MCDX_CMD_REQUEST_STATUS 138,4268 -#define MCDX_CMD_RESET 139,4310 -#define MCDX_CMD_REQUEST_DRIVE_MODE 140,4344 -#define MCDX_CMD_SET_INTERLEAVE 141,4388 -#define MCDX_CMD_DATAMODE_SET 142,4432 - #define MCDX_DATAMODE1 143,4474 - #define MCDX_DATAMODE2 144,4504 -#define MCDX_CMD_LOCK_DOOR 145,4534 -#define READ_AHEAD 147,4574 -#define e_door(e_door150,4639 -#define e_check(e_check151,4681 -#define e_notset(e_notset152,4726 -#define e_changed(e_changed153,4774 -#define e_audio(e_audio154,4821 -#define e_audiobusy(e_audiobusy155,4867 -#define e_cmderr(e_cmderr156,4916 -#define e_readerr(e_readerr157,4962 -#define MCDX_CDBLK 160,5033 -#define MCDX_DATA_TIMEOUT 162,5090 -#define MSF_MIN 167,5176 -#define MSF_SEC 168,5210 -#define MSF_FRM 169,5244 -#define MCDX_E 174,5296 -#define MCDX_ST_EOM 175,5335 -#define MCDX_ST_DRV 176,5382 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/sbpcd.c,7568 -#define VERSION 16,769 -#define MAJOR_NR 388,19144 -# define SBPCD_CLI 393,19308 -# define SBPCD_STI 394,19333 -# define SBPCD_CLI396,19364 -# define SBPCD_STI397,19383 -static int sbpcd[417,20129 -static spinlock_t sbpcd_lock __cacheline_aligned 464,21775 -static struct request_queue *sbpcd_queue;465,21846 -#define NUM_PROBE 470,21946 -#define INLINE 474,22076 -static int sbpcd_debug 529,23888 -static int sbpcd_debug 531,23933 -static int sbpcd_ioaddr 537,24065 -static int sbpro_type 538,24134 -static unsigned char f_16bit;539,24165 -static unsigned char do_16bit;540,24195 -static int CDo_command,541,24226 -static int CDo_command, CDo_reset;541,24226 -static int CDo_sel_i_d,542,24261 -static int CDo_sel_i_d, CDo_enable;542,24261 -static int CDi_info,543,24297 -static int CDi_info, CDi_status,543,24297 -static int CDi_info, CDi_status, CDi_data;543,24297 -static struct cdrom_msf msf;544,24340 -static struct cdrom_ti ti;545,24369 -static struct cdrom_tochdr tochdr;546,24396 -static struct cdrom_tocentry tocentry;547,24431 -static struct cdrom_subchnl SC;548,24470 -static struct cdrom_volctrl volctrl;549,24502 -static struct cdrom_read_audio read_audio;550,24539 -static unsigned char msgnum;552,24583 -static char msgbuf[553,24612 -static int max_drives 555,24637 -static unsigned char setup_done;557,24688 -static const char *str_sb_l 558,24721 -static const char *str_sp_l 559,24767 -static const char *str_ss_l 560,24805 -static const char *str_t16_l 561,24849 -static const char *str_ss 562,24893 -static const char *str_sb 564,24942 -static const char *str_lm 565,24986 -static const char *str_sp 566,25027 -static const char *str_t16 567,25063 -static const char *type;568,25105 -static const char *major_name=569,25130 -static int teac=577,25328 -static int buffers=578,25360 -static u_char family0[580,25399 -static u_char family1[581,25468 -static u_char family2[582,25529 -static u_char familyL[583,25595 -static u_char familyT[584,25656 -static u_char familyV[585,25710 -static u_int recursion;587,25768 -static u_int fatal_err;588,25820 -static u_int response_count;589,25872 -static u_int flags_cmd_out;590,25901 -static u_char cmd_type;591,25929 -static u_char drvcmd[592,25953 -static u_char infobuf[593,25979 -static u_char xa_head_buf[594,26006 -static u_char xa_tail_buf[595,26045 -static volatile u_char busy_data;598,26098 -static volatile u_char busy_audio;599,26132 -static u_long timeout;602,26265 -static volatile u_char timed_out_delay;603,26288 -static volatile u_char timed_out_data;604,26328 -static volatile u_char timed_out_audio;606,26373 -static u_int datarate=608,26420 -static u_int maxtim16=609,26452 -static u_int maxtim04=610,26484 -static u_int maxtim02=611,26516 -static u_int maxtim_8=612,26548 -static u_int maxtim_data=614,26596 -static u_int maxtim_data=616,26634 -static int n_retries=619,26709 -static int n_retries=621,26739 -static int ndrives;625,26850 -static u_char drv_pattern[626,26870 -static struct sbpcd_drive sbpcd_drive632,27100 -} D_S[733,29923 -static struct sbpcd_drive *current_drive 735,29941 -unsigned long cli_sti;742,30139 -static struct timer_list delay_timer 745,30285 -static struct timer_list data_timer 747,30371 -static struct timer_list audio_timer 750,30461 -static void msg(757,30657 -#define MSG_LEVEL 760,30725 -#define MSG_LEVEL 762,30761 -static int sbpcd_dbg_ioctl(786,31345 -static void mark_timeout_delay(801,31665 -static void mark_timeout_data(809,31862 -static void mark_timeout_audio(818,32062 -static void sbp_sleep(830,32326 -#define RETURN_UP(RETURN_UP838,32522 -static INLINE void lba2msf(843,32730 -static INLINE void bin2bcdx(856,33120 -static INLINE u_int blk2msf(861,33305 -static INLINE u_int make16(874,33650 -static INLINE u_int make32(879,33804 -static INLINE u_char swap_nibbles(884,33957 -static INLINE u_char byt2bcd(889,34109 -static INLINE u_char bcd2bin(894,34259 -static INLINE int msf2blk(899,34417 -static INLINE int msf2lba(913,34752 -static int sta2err(923,35022 -static INLINE void clr_cmdbuf(957,36306 -static void flush_status(965,36481 -static int CDi_stat_loop_T(987,37139 -static int CDi_stat_loop(1024,38430 -static int tst_DataReady(1046,39017 -static int tst_ResultReady(1055,39211 -static int tst_Attention(1064,39409 -static int ResponseInfo(1075,39684 -static void EvaluateStatus(1113,40579 -static int get_state_T(1164,42891 -static int ResponseStatus(1211,44100 -static void cc_ReadStatus(1248,45027 -static int cc_ReadError(1262,45460 -static int cmd_out_T(1311,46643 -#define CMDT_TRIES 1314,46690 -#define TEST_FALSE_FF 1315,46714 -static int cmd_out(1470,51581 -static int cc_Seek(1537,53386 -static int cc_SpinUp(1593,54816 -static int cc_SpinDown(1631,55687 -static int cc_get_mode_T(1669,56476 -static int cc_set_mode_T(1681,56716 -static int cc_prep_mode_T(1701,57312 -static int cc_SetSpeed(1729,58205 -static int cc_SetVolume(1768,58899 -static int GetStatus(1935,62597 -static int cc_DriveReset(1947,62862 -static int SetSpeed(1993,63849 -static int sbpcd_select_speed(2010,64217 -static int DriveReset(2020,64519 -static int sbpcd_reset(2047,64918 -static int cc_PlayAudio(2056,65160 -static int cc_Pause_Resume(2117,66686 -static int cc_LockDoor(2158,67712 -static int UnLockDoor(2199,68794 -static int LockDoor(2219,69060 -static int sbpcd_lock_door(2246,69324 -static int cc_CloseTray(2252,69519 -static int sbpcd_tray_move(2324,70967 -static int cc_ReadSubQ(2342,71406 -static int cc_ModeSense(2418,73463 -static int cc_ModeSelect(2467,74722 -static int cc_GetVolume(2514,76001 -static int cc_ReadCapacity(2649,78613 -static int cc_ReadTocDescr(2696,80066 -static int cc_ReadTocEntry(2814,83567 -static int cc_ReadPacket(2893,85526 -static int convert_UPC(2912,85977 -static int cc_ReadUPC(2939,86482 -static int sbpcd_get_mcn(3039,88715 -static int cc_CheckMultiSession(3112,90379 -static int cc_SubChanInfo(3180,92188 -static void __init check_datarate(3208,92956 -static int c2_ReadError(3256,93979 -static void __init ask_mail(3278,94403 -static int __init check_version(3297,95082 -static void switch_drive(3583,103152 -static int __init check_card(3596,103518 -#define N_RESPO 3599,103574 -static int __init check_drives(3700,106067 -static int obey_audio_state(3740,107251 -static int check_allowed1(3782,108320 -static int check_allowed2(3805,109082 -static int check_allowed3(3823,109533 -static int seek_pos_audio_end(3857,110412 -static int ReadToC(3868,110658 -static int DiskInfo(3914,112346 -#define LOOP_COUNT 3921,112437 -static int sbpcd_drive_status(3989,113970 -static int prepare(4035,115185 -static int sbp_status(4111,116684 -static int sbpcd_get_last_session(4153,117414 -static int sbpcd_dev_ioctl(4171,117966 -static int sbpcd_audio_ioctl(4491,127432 -static void sbp_transfer(4790,138268 -static void do_sbpcd_request(4838,139998 -static void sbp_read_cmd(4975,143301 -static int sbp_data(5082,146442 -static int sbpcd_block_open(5359,153599 -static int sbpcd_block_release(5365,153784 -static int sbpcd_block_ioctl(5371,153968 -static int sbpcd_block_media_changed(5378,154202 -static struct block_device_operations sbpcd_bdops 5384,154356 -static int sbpcd_open(5396,154729 -static void sbpcd_release(5434,155788 -static struct cdrom_device_ops sbpcd_dops 5471,156711 -int sbpcd_setup(5517,158212 -static int __init config_spea(5582,160258 -#define SPEA_REG_1 5600,160822 -#define SPEA_REG_2 5601,160861 -#define SPEA_PATTERN 5617,161203 -#define SPEA_PATTERN 5619,161235 -int __init __sbpcd_init(5642,161884 -void sbpcd_exit(5897,168868 -static int sbpcd_media_changed(5933,169676 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/aztcd.c,4119 -#define AZT_VERSION 1,0 -#define MAJOR_NR 196,9371 -#define QUEUE 197,9407 -#define CURRENT 198,9433 -#define SET_TIMER(SET_TIMER199,9477 -#define CLEAR_TIMER 203,9683 -#define RETURNM(RETURNM205,9741 -#define RETURN(RETURN207,9868 -#define SWITCH_IDE_SLAVE 211,10073 -#define SWITCH_IDE_MASTER 215,10262 -#define AZT_TEST219,10321 -#define AZT_TEST1 220,10338 -#define AZT_TEST2 221,10372 -#define AZT_TEST3 222,10414 -#define AZT_TEST4 223,10451 -#define AZT_TEST5 224,10495 -#define AZT_DEBUG225,10534 -#define AZT_DEBUG_MULTISESSION226,10552 -static struct request_queue *azt_queue;229,10591 -static int current_valid(231,10632 -#define AFL_STATUSorDATA 238,10745 -#define AZT_BUF_SIZ 239,10794 -#define READ_TIMEOUT 241,10818 -#define azt_port 243,10845 -enum azt_state_e azt_state_e249,11075 -enum azt_state_e { AZT_S_IDLE,249,11075 - AZT_S_START,250,11114 - AZT_S_MODE,251,11137 - AZT_S_READ,252,11159 - AZT_S_DATA,253,11181 - AZT_S_STOP,254,11203 - AZT_S_STOPPING 255,11225 -enum azt_read_modes azt_read_modes257,11253 -enum azt_read_modes { AZT_MODE_0,257,11253 - AZT_MODE_1,258,11352 - AZT_MODE_2 259,11400 -static int aztPresent 266,11623 -static volatile int azt_transfer_is_active 268,11651 -static char azt_buf[270,11700 -static char buf[272,11814 -static volatile int azt_buf_bn[275,11893 -static volatile int azt_buf_bn[AZT_BUF_SIZ], azt_next_bn;275,11893 -static volatile int azt_buf_in,276,11951 -static volatile int azt_buf_in, azt_buf_out 276,11951 -static volatile int azt_error 277,12001 -static int azt_open_count 278,12036 -static volatile enum azt_state_e azt_state 279,12067 -static volatile enum azt_state_e azt_state_old 281,12141 -static volatile int azt_st_old 282,12202 -static volatile enum azt_read_modes azt_read_mode 284,12245 -static int azt_mode 286,12310 -static volatile int azt_read_count 287,12336 -static int azt_port 289,12377 -static int azt_port_auto[293,12444 -static char azt_cont 295,12491 -static char azt_init_end 296,12517 -static char azt_auto_eject 297,12547 -static int AztTimeout,299,12593 -static int AztTimeout, AztTries;299,12593 -static struct timer_list delay_timer 301,12669 -static struct azt_DiskInfo DiskInfo;303,12740 -static struct azt_Toc Toc[304,12777 -static struct azt_Play_msf azt_Play;305,12816 -static int aztAudioStatus 307,12854 -static char aztDiskChanged 308,12905 -static char aztTocUpToDate 309,12937 -static unsigned char aztIndatum;311,12970 -static unsigned long aztTimeOutCount;312,13003 -static int aztCmd 313,13041 -static spinlock_t aztSpin 315,13065 -static struct block_device_operations azt_fops 338,13862 -# define OP_OK 362,14725 -static void op_ok(363,14748 -# define PA_OK 378,15071 -static void pa_ok(379,15094 -# define STEN_LOW 394,15423 -static void sten_low(395,15453 -# define DTEN_LOW 412,15819 -static void dten_low(413,15848 -#define STEN_LOW_WAIT 430,16232 -static void statusAzt(431,16268 -static void aztStatTimer(442,16498 -static int aztSendCmd(464,17021 -static int sendAztCmd(513,18196 -static int aztSeek(554,19280 -static int aztSetDiskType(590,20180 -static int aztStatus(626,21007 -static int getAztStatus(644,21286 -static int aztPlay(678,22046 -static void aztCloseDoor(690,22324 -static void aztLockDoor(697,22405 -static void aztUnlockDoor(706,22515 -static int aztGetValue(720,22827 -static int aztGetQChannelInfo(738,23156 -static int aztUpdateToc(795,25006 -static int aztGetDiskInfo(876,27252 -static int aztGetMultiDiskInfo(935,29026 -static int aztGetToc(1041,32178 -static int __init aztcd_setup(1126,34412 -static int check_aztcd_media_change(1146,34722 -static int aztcd_ioctl(1158,34925 -static void azt_transfer(1526,46348 -static void do_aztcd_request(1562,47204 -static void azt_invalidate_buffers(1605,48277 -static int aztcd_open(1620,48552 -static int aztcd_release(1669,49522 -static struct gendisk *azt_disk;1686,49916 -static int __init aztcd_init(1692,50029 -static void __exit aztcd_exit(1943,57181 -static void azt_poll(1967,57917 -static void azt_hsg2msf(2454,69360 -static long azt_msf2hsg(2474,69855 -static void azt_bin2bcd(2480,70011 -static int azt_bcd2bin(2489,70118 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/cdu31a.c,4853 -#define MAJOR_NR 178,6517 -#define CDU31A_MAX_CONSECUTIVE_ATTENTIONS 181,6580 -#define DEBUG 183,6626 -} cdu31a_addresses[197,7045 -} cdu31a_addresses[] __initdata 197,7045 -static unsigned int sony_next_block;215,7622 -static unsigned int sony_blocks_left 216,7692 -static unsigned int cdu31a_port 222,7952 -static volatile unsigned short sony_cd_cmd_reg;229,8159 -static volatile unsigned short sony_cd_param_reg;230,8207 -static volatile unsigned short sony_cd_write_reg;231,8257 -static volatile unsigned short sony_cd_control_reg;232,8307 -static volatile unsigned short sony_cd_status_reg;233,8359 -static volatile unsigned short sony_cd_result_reg;234,8410 -static volatile unsigned short sony_cd_read_reg;235,8461 -static volatile unsigned short sony_cd_fifost_reg;236,8510 -static struct request_queue *cdu31a_queue;238,8562 -static spinlock_t cdu31a_lock 239,8605 -static int sony_spun_up 241,8675 -static int sony_speed 243,8739 -static int sony_xa_mode 245,8791 -static int sony_raw_data_mode 248,8885 -static unsigned int sony_usage 251,8985 -static int sony_pas_init 254,9076 -static struct s_sony_session_toc single_toc;257,9160 -static struct s_all_sessions_toc sony_toc;261,9259 -static int sony_toc_read 264,9353 -static struct s_sony_subcode last_sony_subcode;267,9434 -static volatile int sony_inuse 270,9538 -static struct task_struct *has_cd_task 275,9727 -static int is_double_speed 279,9866 -static int is_auto_eject 281,9943 -static volatile int sony_audio_status 287,10124 -static unsigned volatile char cur_pos_msf[296,10544 -static unsigned volatile char final_pos_msf[297,10604 -static int cdu31a_irq 300,10714 -static int curr_control_reg 307,10898 -static char disk_changed;312,11143 -static char audio_buffer[315,11245 -static struct timer_list cdu31a_abort_timer;320,11459 -static int abort_read_started 325,11662 -static int scd_media_changed(331,11804 -static int scd_drive_status(345,12033 -static inline void enable_interrupts(357,12305 -static inline void disable_interrupts(365,12513 -static inline void sony_sleep(377,12869 -static inline int is_attention(398,13243 -static inline int is_busy(403,13343 -static inline int is_data_ready(408,13438 -static inline int is_data_requested(413,13543 -static inline int is_result_ready(418,13656 -static inline int is_param_write_rdy(423,13762 -static inline int is_result_reg_not_empty(428,13879 -static inline void reset_drive(433,14001 -static int scd_reset(444,14222 -static inline void clear_attention(458,14467 -static inline void clear_result_ready(463,14579 -static inline void clear_data_ready(468,14697 -static inline void clear_param_reg(474,14820 -static inline unsigned char read_status_register(479,14933 -static inline unsigned char read_result_register(484,15028 -static inline unsigned char read_data_register(489,15123 -static inline void write_param(494,15214 -static inline void write_cmd(499,15304 -static irqreturn_t cdu31a_interrupt(506,15464 -static unsigned char *translate_error(546,16443 -static void set_drive_params(601,18058 -static int scd_select_speed(639,19111 -static int scd_lock_door(654,19370 -static void restart_on_error(668,19637 -static int write_params(697,20360 -get_result(727,20960 -do_sony_cd_cmd(854,23750 -static int handle_sony_cd_attention(941,25691 -static inline unsigned int int_to_bcd(1034,27752 -static unsigned int bcd_to_int(1046,27950 -static void log_to_msf(1056,28171 -static unsigned int msf_to_log(1069,28439 -static void size_to_buf(1087,28745 -start_request(1102,29265 -static void abort_read(1154,30422 -static void handle_abort_timeout(1182,31047 -input_data_sector(1212,31727 -read_data_block(1239,32427 -static void do_cdu31a_request(1356,35390 -static void sony_get_toc(1541,39476 -#define DEBUG 1759,46579 -static int scd_get_last_session(2016,53819 -static int find_track(2036,54267 -static int read_subcode(2053,54515 -scd_get_mcn(2093,55670 -static int sony_get_subchnl_info(2132,56956 -read_audio_data(2200,58722 -static int read_audio(2314,61769 -do_sony_cd_cmd_chk(2482,66085 -static int scd_tray_move(2502,66600 -static int scd_audio_ioctl(2526,67167 -static int scd_dev_ioctl(2768,73654 -static int scd_spinup(2840,75268 -static int scd_open(2891,76811 -static void scd_release(2958,78421 -static struct cdrom_device_ops scd_dops 2972,78676 -static struct cdrom_device_info scd_info 2992,79321 -static int scd_block_open(2999,79439 -static int scd_block_release(3004,79554 -static int scd_block_ioctl(3009,79668 -static int scd_block_media_changed(3027,80176 -struct block_device_operations scd_bdops 3032,80278 -static struct gendisk *scd_gendisk;3041,80479 -static char *load_mech[3044,80579 -static char *load_mech[] __initdata 3044,80579 -get_drive_configuration(3048,80682 -static int __init cdu31a_setup(3120,82527 -int __init cdu31a_init(3151,83026 -void __exit cdu31a_exit(3303,86653 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/isp16.h,1294 -#define ISP16_CDROM_TYPE 23,882 -#define ISP16_CDROM_IO_BASE 24,915 -#define ISP16_CDROM_IRQ 25,949 -#define ISP16_CDROM_DMA 26,975 -#define ISP16_DRIVE_X 30,1103 -#define ISP16_SONY 31,1130 -#define ISP16_PANASONIC0 32,1155 -#define ISP16_SANYO0 33,1185 -#define ISP16_MITSUMI 34,1211 -#define ISP16_PANASONIC1 35,1239 -#define ISP16_SANYO1 36,1269 -#define ISP16_DRIVE_NOT_USED 37,1295 -#define ISP16_DRIVE_SET_MASK 38,1345 -#define ISP16_DRIVE_SET_PORT 40,1434 -#define ISP16_BASE_340 42,1493 -#define ISP16_BASE_330 43,1522 -#define ISP16_BASE_360 44,1551 -#define ISP16_BASE_320 45,1580 -#define ISP16_IRQ_X 46,1609 -#define ISP16_IRQ_5 47,1635 -#define ISP16_IRQ_7 48,1716 -#define ISP16_IRQ_3 49,1797 -#define ISP16_IRQ_9 50,1823 -#define ISP16_IRQ_10 51,1849 -#define ISP16_IRQ_11 52,1876 -#define ISP16_DMA_X 53,1903 -#define ISP16_DMA_3 54,1929 -#define ISP16_DMA_5 55,1955 -#define ISP16_DMA_6 56,1981 -#define ISP16_DMA_7 57,2007 -#define ISP16_IO_SET_MASK 58,2033 -#define ISP16_IO_SET_PORT 60,2109 -#define ISP16_C928__ENABLE_PORT 62,2164 -#define ISP16_C929__ENABLE_PORT 63,2238 -#define ISP16_ENABLE_CDROM 64,2312 -#define ISP16_CTRL_PORT 67,2385 -#define ISP16_C928__CTRL 68,2416 -#define ISP16_C929__CTRL 69,2482 -#define ISP16_IO_BASE 71,2549 -#define ISP16_IO_SIZE 72,2577 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/cm206.h,2879 -#define LINUX_CM206_H6,103 -#define CM206_BASE 17,488 -#define CM206_IRQ 18,513 -#define r_data_status 20,535 -#define r_uart_receive 21,570 -#define r_fifo_output_buffer 22,610 -#define r_line_status 23,656 -#define r_data_control 24,695 -#define r_uart_transmit 25,735 -#define r_test_clock 26,776 -#define r_test_control 27,814 -#define ds_ram_size 30,883 -#define ds_toc_ready 31,910 -#define ds_fifo_empty 32,938 -#define ds_sync_error 33,967 -#define ds_crc_error 34,995 -#define ds_data_error 35,1022 -#define ds_fifo_overflow 36,1050 -#define ds_data_ready 37,1081 -#define ls_attention 40,1137 -#define ls_parity_error 41,1163 -#define ls_overrun 42,1191 -#define ls_receive_buffer_full 43,1214 -#define ls_transmitter_buffer_empty 44,1249 -#define dc_read_q_channel 47,1328 -#define dc_mask_sync_error 48,1361 -#define dc_toc_enable 49,1395 -#define dc_no_stop_on_error 50,1424 -#define dc_break 51,1458 -#define dc_initialize 52,1481 -#define dc_mask_transmit_ready 53,1509 -#define dc_flag_enable 54,1546 -#define dc_normal 57,1633 -#define dsb_error_condition 63,1844 -#define dsb_play_in_progress 64,1876 -#define dsb_possible_media_change 65,1909 -#define dsb_disc_present 66,1947 -#define dsb_drive_not_ready 67,1977 -#define dsb_tray_locked 68,2010 -#define dsb_tray_not_closed 69,2039 -#define dsb_not_useful 71,2073 -#define c_close_tray 75,2170 -#define c_lock_tray 76,2193 -#define c_unlock_tray 77,2218 -#define c_open_tray 78,2245 -#define c_seek 79,2270 -#define c_read_data 80,2290 -#define c_force_1x 81,2315 -#define c_force_2x 82,2339 -#define c_auto_mode 83,2363 -#define c_play 84,2388 -#define c_set_audio_mode 85,2408 -#define c_read_current_q 86,2438 -#define c_stream_q 87,2468 -#define c_drive_status 88,2492 -#define c_disc_status 89,2520 -#define c_audio_status 90,2547 -#define c_drive_configuration 91,2575 -#define c_read_upc 92,2610 -#define c_stop 93,2634 -#define c_calc_checksum 94,2654 -#define c_gimme 96,2684 -#define e_none 101,2840 -#define e_illegal_command 102,2857 -#define e_sync 103,2888 -#define e_seek 104,2908 -#define e_parity 105,2928 -#define e_focus 106,2950 -#define e_header_sync 107,2971 -#define e_code_incompatibility 108,2998 -#define e_reset_done 109,3034 -#define e_bad_parameter 110,3060 -#define e_radial 111,3089 -#define e_sub_code 112,3111 -#define e_no_data_track 113,3135 -#define e_scan 114,3164 -#define e_tray_open 115,3184 -#define e_no_disc 116,3209 -#define e_tray 117,3232 -#define dcf_revision_code 121,3294 -#define dcf_transfer_rate 122,3324 -#define dcf_motorized_tray 123,3355 -#define cds_multi_session 127,3412 -#define cds_all_audio 128,3442 -#define cds_xa_mode 129,3468 -#define CM206CTL_GET_STAT 133,3536 -#define CM206CTL_GET_LAST_STAT 134,3577 -#define x(x142,3795 -#define y 143,3817 -#define x(x145,3838 -#define y 146,3854 -#define NR_STATS 161,4327 -#define NR_STATS 163,4364 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/sonycd535.c,2356 -#define REALLY_SLOW_IO133,4862 -#define MAJOR_NR 140,4981 -#define sony535_cd_base_io 143,5044 -# define CDU535_ADDRESS 153,5405 -# define CDU535_INTERRUPT 156,5469 -# define CDU535_HANDLE 159,5527 -# define CDU535_MESSAGE_NAME 162,5596 -#define CDU535_BLOCK_SIZE 165,5648 -# define MAX_SPINUP_RETRY 168,5707 -# define RETRY_FOR_BAD_STATUS 171,5813 -# define DEBUG 175,5893 -#define SONY535_BUFFER_SIZE 192,6416 -# define LOCK_DOORS199,6576 -static unsigned int sony535_cd_base_io 212,7102 -static unsigned short select_unit_reg;219,7336 -static unsigned short result_reg;220,7375 -static unsigned short command_reg;221,7409 -static unsigned short read_status_reg;222,7444 -static unsigned short data_reg;223,7483 -static spinlock_t sonycd535_lock 225,7516 -static struct request_queue *sonycd535_queue;226,7588 -static int initialized;228,7635 -static int sony_disc_changed 229,7699 -static int sony_toc_read;231,7795 -static unsigned int sony_buffer_size;233,7873 -static unsigned int sony_buffer_sectors;235,7965 -static unsigned int sony_usage;237,8075 -static int sony_first_block 240,8163 -static int sony_last_block 242,8262 -static struct s535_sony_toc *sony_toc;245,8360 -static struct s535_sony_subcode *last_sony_subcode;248,8447 -static Byte **sony_buffer;250,8557 -static int sony_inuse;253,8645 -static int sony_audio_status 260,8849 -static Byte cur_pos_msf[271,9360 -static Byte final_pos_msf[272,9388 -static int sony535_irq_used 275,9466 -cdu535_check_media_change(286,9805 -enable_interrupts(295,10021 -disable_interrupts(310,10355 -cdu535_interrupt(325,10690 -sony_sleep(342,11026 -select_unit(366,11735 -read_result_reg(380,12220 -read_exec_status(411,13116 -check_drive_status(435,13893 -do_sony_cmd(540,17203 -set_drive_mode(582,18424 -seek_and_read_N_blocks(605,19357 -request_toc_data(665,21217 -spin_up_drive(703,22555 -int_to_bcd(723,23123 -bcd_to_int(735,23311 -log_to_msf(746,23522 -msf_to_log(760,23789 -size_to_buf(779,24114 -do_cdu535_request(796,24636 -sony_get_toc(934,28702 -find_track(952,29114 -read_subcode(973,29466 -sony_get_subchnl_info(1000,30249 -cdu_ioctl(1064,31976 -cdu_open(1362,40983 -cdu_release(1404,41854 -static struct block_device_operations cdu_fops 1430,42350 -static struct gendisk *cdu_disk;1439,42541 -static int __init sony535_init(1444,42608 -sonycd535_setup(1644,47934 -sony535_exit(1668,48469 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/gscd.c,2312 -#define GSCD_VERSION 1,0 -#define NO_GSCD_DEBUG45,1760 -#define NO_IOCTL_DEBUG46,1783 -#define NO_MODULE_DEBUG47,1807 -#define NO_FUTURE_WORK48,1832 -#define MAJOR_NR 71,2305 -#define gscd_port 73,2369 -static int gscdPresent 76,2465 -static unsigned char gscd_buf[78,2494 -static int gscd_bn 79,2570 -static short gscd_port 80,2595 -static int curr_drv_state;130,3965 -static int drv_states[131,3992 -static int drv_mode;132,4046 -static int disk_state;133,4067 -static int speed;134,4090 -static int ndrives;135,4108 -static unsigned char drv_num_read;137,4129 -static unsigned char f_dsk_valid;138,4164 -static unsigned char current_drive;139,4198 -static unsigned char f_drv_ok;140,4234 -static char f_AudioPlay;143,4267 -static char f_AudioPause;144,4292 -static int AudioStart_m;145,4318 -static int AudioStart_f;146,4343 -static int AudioEnd_m;147,4368 -static int AudioEnd_f;148,4391 -static struct timer_list gscd_timer 150,4415 -static spinlock_t gscd_lock 151,4484 -static struct request_queue *gscd_queue;152,4534 -static struct block_device_operations gscd_fops 154,4576 -static int check_gscd_med_chg(166,4839 -static int __init gscd_setup(178,5034 -static int gscd_ioctl(193,5240 -static void gscd_transfer(231,5991 -static void do_gscd_request(247,6309 -static void __do_gscd_request(252,6386 -static void gscd_read_cmd(298,7147 -static int gscd_open(341,8151 -static int gscd_release(371,8593 -static int get_status(384,8745 -static void cc_invalidate(400,8987 -static void clear_Audio(411,9126 -static int wait_drv_ready(427,9297 -static void cc_Ident(445,9547 -static void cc_SetSpeed(453,9695 -static void cc_Reset(464,9891 -static void cmd_status(472,10029 -static void cmd_out(485,10240 -static void cmd_write_cmd(608,12541 -static int cmd_unit_alive(628,12808 -static void cmd_info_in(651,13142 -static void cmd_read_b(682,13519 -static void cmd_end(719,13990 -static void cmd_read_w(751,14373 -static int __init find_drives(784,14837 -static void __init init_cd_drive(828,15652 -static void update_state(848,15953 -static struct gendisk *gscd_disk;879,16403 -static void __exit gscd_exit(881,16438 -static int __init gscd_init(898,16924 -static void gscd_hsg2msf(990,18827 -static void gscd_bin2bcd(1004,19140 -static long gscd_msf2hsg(1015,19268 -static int gscd_bcd2bin(1022,19455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/gscd.h,1142 -#define GSCD_BASE_ADDR 19,632 -#define GSCD_IO_EXTENT 20,669 -#define GSCDPORT(GSCDPORT26,798 -#define CMD_STATUS 32,902 -#define CMD_READSUBQ 33,930 -#define CMD_SEEK 34,983 -#define CMD_READ 35,1033 -#define CMD_RESET 36,1097 -#define CMD_SETMODE 37,1125 -#define CMD_PLAY 38,1153 -#define CMD_LOCK_CTL 39,1199 -#define CMD_IDENT 40,1252 -#define CMD_SETSPEED 41,1280 -#define CMD_GETMODE 42,1332 -#define CMD_PAUSE 43,1360 -#define CMD_READTOC 44,1388 -#define CMD_DISKINFO 45,1416 -#define CMD_TRAY_CTL 46,1444 -#define ST_PLAYING 51,1495 -#define ST_UNLOCKED 52,1519 -#define ST_NO_DISK 53,1544 -#define ST_DOOR_OPEN 54,1568 -#define ST_x08 55,1594 -#define ST_x04 56,1615 -#define ST_INVALID 57,1635 -#define ST_x01 58,1659 -#define TYPE_INFO 63,1700 -#define TYPE_DATA 64,1723 -#define MOD_POLLED 69,1768 -#define MOD_x08 70,1792 -#define MOD_RAW 71,1813 -#define READ_DATA(READ_DATA73,1835 -#define SET_TIMER(SET_TIMER75,1889 -#define CLEAR_TIMER 79,1999 -#define MAX_TRACKS 81,2049 -struct msf msf83,2074 -struct gscd_Play_msf gscd_Play_msf89,2153 -struct gscd_DiskInfo gscd_DiskInfo94,2216 -struct gscd_Toc gscd_Toc101,2334 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/mcd.c,2993 -#define mcd_port 106,3937 -static int mcdDouble;110,4106 -static int mcd1xhold;113,4180 -static int mcdPresent;116,4258 -static struct request_queue *mcd_queue;117,4281 -#define MAJOR_NR 119,4322 -#define QUEUE 120,4359 -#define CURRENT 121,4385 -#define QUICK_LOOP_DELAY 123,4430 -#define QUICK_LOOP_COUNT 124,4483 -static int current_valid(126,4512 -#define MFL_STATUSorDATA 133,4625 -#define MCD_BUF_SIZ 134,4674 -static volatile int mcd_transfer_is_active;135,4697 -static char mcd_buf[136,4741 -static volatile int mcd_buf_bn[137,4821 -static volatile int mcd_buf_bn[MCD_BUF_SIZ], mcd_next_bn;137,4821 -static volatile int mcd_buf_in,138,4879 -static volatile int mcd_buf_in, mcd_buf_out 138,4879 -static volatile int mcd_error;139,4929 -static int mcd_open_count;140,4960 -enum mcd_state_e mcd_state_e141,4987 - MCD_S_IDLE,142,5006 - MCD_S_START,143,5028 - MCD_S_MODE,144,5051 - MCD_S_READ,145,5073 - MCD_S_DATA,146,5095 - MCD_S_STOP,147,5117 - MCD_S_STOPPING 148,5139 -static volatile enum mcd_state_e mcd_state 150,5167 -static int mcd_mode 151,5224 -static int MCMD_DATA_READ 152,5250 -#define READ_TIMEOUT 154,5295 -int mitsumi_bug_93_wait;156,5322 -static short mcd_port 158,5348 -static int mcd_irq 159,5421 -static int McdTimeout,162,5521 -static int McdTimeout, McdTries;162,5521 -static struct mcd_DiskInfo DiskInfo;165,5598 -static struct mcd_Toc Toc[166,5635 -static struct mcd_Play_msf mcd_Play;167,5674 -static int audioStatus;169,5712 -static char mcdDiskChanged;170,5736 -static char tocUpToDate;171,5764 -static char mcdVersion;172,5789 -static spinlock_t mcd_spinlock 192,6626 -static struct timer_list mcd_timer 197,6847 -static struct cdrom_device_ops mcd_dops 199,6916 -static struct cdrom_device_info mcd_info 210,7242 -static int mcd_block_open(217,7358 -static int mcd_block_release(222,7473 -static int mcd_block_ioctl(227,7587 -static int mcd_block_media_changed(233,7751 -static struct block_device_operations mcd_bdops 238,7853 -static struct gendisk *mcd_gendisk;247,8061 -static int __init mcd_setup(250,8113 -static int mcd_media_changed(270,8418 -static int statusCmd(281,8642 -static int mcdPlay(302,8982 -static int mcd_tray_move(317,9231 -long msf2hsg(342,9822 -int mcd_audio_ioctl(348,9941 -static void mcd_transfer(587,15831 -static irqreturn_t mcd_interrupt(626,16714 -static void do_mcd_request(642,17054 -static void mcd_poll(676,17801 -static void mcd_invalidate_buffers(999,25821 -static int mcd_open(1010,26017 -static void mcd_release(1044,26690 -int __init mcd_init(1055,26886 -static void hsg2msf(1177,29792 -static void bin2bcd(1191,30029 -static int bcd2bin(1200,30132 -static int mcdStatus(1211,30299 -static void sendMcdCmd(1229,30513 -static void mcdStatTimer(1246,30932 -static int getMcdStatus(1269,31376 -int mcd_drive_status(1301,32056 -static int getValue(1324,32488 -int GetQChannelInfo(1348,32886 -static int updateToc(1390,33750 -static int GetDiskInfo(1409,33962 -static int GetToc(1459,35127 -void __exit mcd_exit(1536,37014 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/viocd.c,2479 -#define VIOCD_DEVICE 53,1720 -#define VIOCD_DEVICE_DEVFS 54,1757 -#define VIOCD_VERS 56,1800 -#define VIOCD_KERN_WARNING 58,1827 -#define VIOCD_KERN_INFO 59,1878 -struct viocdlpevent viocdlpevent61,1925 -enum viocdsubtype viocdsubtype75,2249 - viocdopen 76,2269 - viocdopen = 0x0001,76,2269 - viocdclose 77,2290 - viocdclose = 0x0002,77,2290 - viocdread 78,2312 - viocdread = 0x0003,78,2312 - viocdwrite 79,2333 - viocdwrite = 0x0004,79,2333 - viocdlockdoor 80,2355 - viocdlockdoor = 0x0005,80,2355 - viocdgetinfo 81,2380 - viocdgetinfo = 0x0006,81,2380 - viocdcheck 82,2404 - viocdcheck = 0x000782,2404 -#define VIOCD_MAX_CD 88,2492 -static const struct vio_error_entry viocd_err_table[90,2544 -struct viocd_waitevent viocd_waitevent110,3186 -struct capability_entry capability_entry118,3352 -static struct capability_entry capability_table[123,3412 -static struct capability_entry capability_table[] __initdata 123,3412 -static int viocd_numdev;134,3800 -struct cdrom_info cdrom_info136,3826 -static struct cdrom_info *viocd_unitinfo;145,4001 -static dma_addr_t unitinfo_dmaaddr;146,4043 -struct disk_info disk_info148,4080 -static struct disk_info viocd_diskinfo[153,4194 -#define DEVICE_NR(DEVICE_NR155,4249 -static spinlock_t viocd_reqlock;157,4300 -#define MAX_CD_REQ 159,4334 -static int proc_viocd_show(162,4377 -static int proc_viocd_open(176,4687 -static struct file_operations proc_viocd_operations 181,4809 -static int viocd_blk_open(188,4967 -static int viocd_blk_release(194,5150 -static int viocd_blk_ioctl(200,5332 -static int viocd_blk_media_changed(207,5562 -struct block_device_operations viocd_fops 213,5714 -static void __init get_viocd_info(222,5959 -static int viocd_open(276,7425 -static void viocd_release(312,8388 -static int send_request(331,9005 -static int rwreq;382,10245 -static void do_viocd_request(384,10264 -static int viocd_media_changed(400,10614 -static int viocd_lock_door(438,11681 -static int viocd_packet(470,12569 -static void restart_all_queues(505,13247 -static void vio_handle_cd_event(518,13626 -static struct cdrom_device_ops viocd_dops 612,16212 -static int __init find_capability(621,16708 -static int viocd_probe(631,16926 -static int viocd_remove(703,18812 -static struct vio_device_id viocd_device_table[721,19255 -static struct vio_device_id viocd_device_table[] __devinitdata 721,19255 -static struct vio_driver viocd_driver 727,19398 -static int __init viocd_init(734,19542 -static void __exit viocd_exit(797,21035 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/cm206.c,3722 -#define REVISION 179,8273 -#define MAJOR_NR 200,8743 -#define STATISTICS 205,8819 -#define AUTO_PROBE_MODULE206,8884 -#define USE_INSW207,8910 -static int auto_probe 215,9112 -static int cm206_base 217,9160 -static int cm206_irq 218,9196 -static int cm206[220,9244 -#define POLLOOP 229,9551 -#define READ_AHEAD 230,9591 -#define BACK_AHEAD 231,9650 -#define DATA_TIMEOUT 232,9705 -#define UART_TIMEOUT 233,9767 -#define DSB_TIMEOUT 234,9799 -#define UR_SIZE 235,9871 -#define LINUX_BLOCK_SIZE 237,9927 -#define RAW_SECTOR_SIZE 238,9985 -#define ISO_SECTOR_SIZE 239,10051 -#define BLOCKS_ISO 240,10080 -#define CD_SYNC_HEAD 241,10142 -#define stats(stats244,10250 -#define stats(stats248,10360 -#define Debug(Debug251,10395 -#define debug(debug253,10458 -#define debug(debug255,10490 -typedef unsigned char uch;uch258,10525 -typedef unsigned short ush;ush259,10565 -struct toc_struct toc_struct261,10608 -struct cm206_struct cm206_struct265,10697 -#define DISC_STATUS 297,12099 -#define FIRST_TRACK 298,12138 -#define LAST_TRACK 299,12177 -#define PAUSED 300,12215 -#define PLAY_TO 301,12281 -static struct cm206_struct *cd;303,12347 -static struct request_queue *cm206_queue;304,12411 -static spinlock_t cm206_lock 305,12453 -void send_command_polled(310,12614 -uch receive_echo_polled(321,12845 -uch send_receive_polled(331,13034 -inline void clear_ur(337,13138 -static struct tasklet_struct cm206_tasklet;348,13369 -static irqreturn_t cm206_interrupt(363,14027 -void cm206_timeout(442,16746 -int sleep_or_timeout(451,16969 -void cm206_delay(468,17343 -void send_command(474,17451 -uch receive_byte(493,18035 -inline uch receive_echo(524,18706 -inline uch send_receive(529,18777 -inline uch wait_dsb(535,18867 -int type_0_command(540,18933 -int type_1_command(555,19231 -void reset_cm260(567,19577 -void fsm(575,19812 -inline int fsm2lba(584,19929 -inline int f_s_m2lba(589,20014 -int start_read(594,20096 -int stop_read(616,20574 -int read_background(633,21007 -#define transport_data 646,21332 -void transport_data(650,21502 -#define MAX_TRIES 660,21647 -int read_sector(661,21669 -static void cm206_tasklet_func(707,22973 -void get_drive_status(756,24177 -void get_disc_status(767,24464 -static int cm206_open(776,24666 -static void cm206_release(789,24954 -void empty_buffer(804,25359 -int try_adapter(822,25974 -static void do_cm206_request(850,26912 -void seek(913,28921 -uch bcdbin(924,29105 -inline uch normalize_track(929,29207 -int get_toc_lba(942,29559 -void update_toc_entry(994,30650 -int read_toc_header(1002,30799 -void play_from_to_msf(1019,31167 -void play_from_to_track(1035,31583 -int get_current_q(1062,32234 -void invalidate_toc(1096,33188 -void get_toc_entry(1103,33366 -int cm206_audio_ioctl(1120,34008 -static int cm206_ioctl(1170,35277 -int cm206_media_changed(1192,35708 -int cm206_open_files(1208,36121 -int cm206_tray_move(1216,36252 -int cm206_drive_status(1227,36517 -int cm206_lock_door(1240,36880 -int cm206_get_last_session(1251,37353 -int cm206_get_upc(1271,37836 -int cm206_reset(1290,38220 -int cm206_select_speed(1303,38549 -static struct cdrom_device_ops cm206_dops 1325,38879 -static struct cdrom_device_info cm206_info 1346,39535 -static int cm206_block_open(1353,39657 -static int cm206_block_release(1358,39776 -static int cm206_block_ioctl(1363,39894 -static int cm206_block_media_changed(1369,40062 -static struct block_device_operations cm206_bdops 1374,40168 -static struct gendisk *cm206_gendisk;1383,40386 -int __init probe_base_port(1395,40902 -int __init probe_irq(1419,41569 -int __init cm206_init(1436,42003 -static void __init parse_options(1546,45019 -int __cm206_init(1561,45313 -void __exit cm206_exit(1570,45437 -static int __init cm206_setup(1597,46077 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/sjcd.c,3703 -#define SJCD_VERSION_MAJOR 58,2524 -#define SJCD_VERSION_MINOR 59,2553 -static int sjcd_present 80,2995 -static struct request_queue *sjcd_queue;81,3024 -#define MAJOR_NR 83,3066 -#define QUEUE 84,3101 -#define CURRENT 85,3128 -#define SJCD_BUF_SIZ 87,3174 -static char sjcd_buf[92,3282 -static volatile int sjcd_buf_bn[93,3325 -static volatile int sjcd_buf_bn[SJCD_BUF_SIZ], sjcd_next_bn;93,3325 -static volatile int sjcd_buf_in,94,3386 -static volatile int sjcd_buf_in, sjcd_buf_out 94,3386 -static unsigned short sjcd_status_valid 99,3457 -static unsigned short sjcd_door_closed;100,3502 -static unsigned short sjcd_door_was_open;101,3542 -static unsigned short sjcd_media_is_available;102,3584 -static unsigned short sjcd_media_is_changed;103,3631 -static unsigned short sjcd_toc_uptodate 104,3676 -static unsigned short sjcd_command_failed;105,3721 -static volatile unsigned char sjcd_completion_status 106,3764 -static volatile unsigned char sjcd_completion_error 107,3822 -static unsigned short sjcd_command_is_in_progress 108,3879 -static unsigned short sjcd_error_reported 109,3934 -static spinlock_t sjcd_lock 110,3981 -static int sjcd_open_count;112,4032 -static int sjcd_audio_status;114,4061 -static struct sjcd_play_msf sjcd_playing;115,4091 -static int sjcd_base 117,4134 -static volatile unsigned short sjcd_transfer_is_active 126,4274 -enum sjcd_transfer_state sjcd_transfer_state128,4335 - SJCD_S_IDLE 129,4362 - SJCD_S_START 130,4380 - SJCD_S_MODE 131,4399 - SJCD_S_READ 132,4417 - SJCD_S_DATA 133,4435 - SJCD_S_STOP 134,4453 - SJCD_S_STOPPING 135,4471 -static enum sjcd_transfer_state sjcd_transfer_state 137,4495 -static long sjcd_transfer_timeout 138,4562 -static int sjcd_read_count 139,4601 -static unsigned char sjcd_mode 140,4633 -#define SJCD_READ_TIMEOUT 142,4670 -static struct sjcd_stat statistic;148,4755 -static struct timer_list sjcd_delay_timer 154,4815 -#define SJCD_SET_TIMER(SJCD_SET_TIMER156,4891 -#define CLEAR_TIMER 161,5091 -static int __init sjcd_setup(168,5235 -static unsigned char bin2bcd(185,5466 -static int bcd2bin(194,5575 -static long msf2hsg(199,5660 -static void hsg2msf(205,5789 -static void sjcd_send_cmd(220,6110 -static void sjcd_send_1_cmd(234,6411 -static void sjcd_send_4_cmd(249,6767 -static void sjcd_send_6_cmd(269,7246 -static int sjcd_load_response(290,7845 -static void sjcd_load_status(310,8272 -static int sjcd_check_status(356,9509 -static volatile long sjcd_status_timeout;375,9836 -#define SJCD_WAIT_FOR_STATUS_TIMEOUT 382,10087 -static void sjcd_status_timer(384,10130 -static int sjcd_wait_for_status(408,10639 -static int sjcd_receive_status(420,10968 -static void sjcd_get_status(445,11472 -static int sjcd_disk_change(457,11701 -static struct sjcd_hw_disk_info sjcd_table_of_contents[471,12078 -static unsigned char sjcd_first_track_no,472,12151 -static unsigned char sjcd_first_track_no, sjcd_last_track_no;472,12151 -#define sjcd_disk_length 473,12213 -static int sjcd_update_toc(475,12279 -static int sjcd_get_q_info(620,15456 -static int sjcd_play(647,16130 -static int sjcd_tray_close(677,16677 -static int sjcd_tray_lock(686,16845 -static int sjcd_tray_unlock(695,17010 -static int sjcd_tray_open(704,17181 -static int sjcd_ioctl(716,17380 -static void sjcd_invalidate_buffers(1053,25312 -static int current_valid(1065,25585 -static void sjcd_transfer(1072,25698 -static void sjcd_poll(1115,26707 -static void do_sjcd_request(1484,35611 -static int sjcd_open(1526,36668 -static int sjcd_release(1611,38448 -static struct block_device_operations sjcd_fops 1644,39153 -} sjcd_version;1660,39635 -static struct gendisk *sjcd_disk;1662,39652 -static int __init sjcd_init(1668,39809 -static void __exit sjcd_exit(1802,42863 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/sonycd535.h,3193 -#define SONYCD535_H2,20 -#define SONY535_REQUEST_DRIVE_STATUS_1 7,103 -#define SONY535_REQUEST_SENSE 8,150 -#define SONY535_REQUEST_DRIVE_STATUS_2 9,189 -#define SONY535_REQUEST_ERROR_STATUS 10,236 -#define SONY535_REQUEST_AUDIO_STATUS 11,281 -#define SONY535_INQUIRY 12,326 -#define SONY535_SET_INACTIVITY_TIME 14,361 -#define SONY535_SEEK_AND_READ_N_BLOCKS_1 16,406 -#define SONY535_SEEK_AND_READ_N_BLOCKS_2 17,454 -#define SONY535_PLAY_AUDIO 18,502 -#define SONY535_REQUEST_DISC_CAPACITY 20,539 -#define SONY535_REQUEST_TOC_DATA 21,585 -#define SONY535_REQUEST_SUB_Q_DATA 22,626 -#define SONY535_REQUEST_ISRC 23,669 -#define SONY535_REQUEST_UPC_EAN 24,707 -#define SONY535_SET_DRIVE_MODE 26,749 -#define SONY535_REQUEST_DRIVE_MODE 27,789 -#define SONY535_SET_RETRY_COUNT 28,832 -#define SONY535_DIAGNOSTIC_1 30,874 -#define SONY535_DIAGNOSTIC_4 31,912 -#define SONY535_DIAGNOSTIC_5 32,950 -#define SONY535_EJECT_CADDY 34,989 -#define SONY535_DISABLE_EJECT_BUTTON 35,1026 -#define SONY535_ENABLE_EJECT_BUTTON 36,1071 -#define SONY535_HOLD 38,1116 -#define SONY535_AUDIO_PAUSE_ON_OFF 39,1147 -#define SONY535_SET_VOLUME 40,1190 -#define SONY535_STOP 42,1227 -#define SONY535_SPIN_UP 43,1258 -#define SONY535_SPIN_DOWN 44,1292 -#define SONY535_CLEAR_PARAMETERS 46,1328 -#define SONY535_CLEAR_ENDING_ADDRESS 47,1369 -#define SONY535_DATA_NOT_READY_BIT 52,1443 -#define SONY535_RESULT_NOT_READY_BIT 53,1485 -#define SONY535_STATUS1_COMMAND_ERROR 58,1556 -#define SONY535_STATUS1_DATA_ERROR 59,1601 -#define SONY535_STATUS1_SEEK_ERROR 60,1643 -#define SONY535_STATUS1_DISC_TYPE_ERROR 61,1685 -#define SONY535_STATUS1_NOT_SPINNING 62,1732 -#define SONY535_STATUS1_EJECT_BUTTON_PRESSED 63,1777 -#define SONY535_STATUS1_CADDY_NOT_INSERTED 64,1829 -#define SONY535_STATUS1_BYTE_TWO_FOLLOWS 65,1879 -#define SONY535_CDD_LOADING_ERROR 70,1953 -#define SONY535_CDD_NO_DISC 71,1994 -#define SONY535_CDD_UNLOADING_ERROR 72,2030 -#define SONY535_CDD_CADDY_NOT_INSERTED 73,2073 -#define SONY535_ATN_RESET_OCCURRED 74,2119 -#define SONY535_ATN_DISC_CHANGED 75,2161 -#define SONY535_ATN_RESET_AND_DISC_CHANGED 76,2201 -#define SONY535_ATN_EJECT_IN_PROGRESS 77,2250 -#define SONY535_ATN_BUSY 78,2295 -#define SONY535_AUDIO_DRIVE_MODE 83,2362 -#define SONY535_CDROM_DRIVE_MODE 84,2400 -#define SONY535_PLAY_OP_PLAYBACK 86,2442 -#define SONY535_PLAY_OP_ENTER_HOLD 87,2480 -#define SONY535_PLAY_OP_SET_AUDIO_ENDING_ADDR 88,2520 -#define SONY535_PLAY_OP_SCAN_FORWARD 89,2570 -#define SONY535_PLAY_OP_SCAN_BACKWARD 90,2612 -#define SONY_BLOCK_NUMBER(SONY_BLOCK_NUMBER95,2708 -#define SONY_BLOCK_NUMBER_MSF(SONY_BLOCK_NUMBER_MSF96,2765 -#define TIME_OUT 101,2893 -#define NO_CDROM 102,2917 -#define BAD_STATUS 103,2941 -#define CD_BUSY 104,2967 -#define NOT_DATA_CD 105,2991 -#define NO_ROOM 106,3018 -#define LOG_START_OFFSET 108,3043 -#define SONY_JIFFIES_TIMEOUT 110,3121 -#define SONY_READY_RETRIES 113,3233 -#define SONY535_FAST_POLLS 116,3448 -typedef unsigned char Byte;Byte120,3658 -struct s535_sony_drive_configs535_sony_drive_config126,3783 -struct s535_sony_subcodes535_sony_subcode134,3963 -struct s535_sony_disc_capacitys535_sony_disc_capacity144,4180 -struct s535_sony_tocs535_sony_toc154,4454 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cdrom/mcdx.c,3063 -static const char *mcdx_c_version55,2293 -#define MAJOR_NR 76,2768 -#define mcdx_drive_map 81,2922 -#define xwarn(xwarn88,3010 -#define xinfo(xinfo91,3098 -#define xinfo(xinfo93,3172 -#define xtrace(xtrace97,3229 -#define xdebug(xdebug100,3337 -#define xtrace(xtrace102,3415 -#define xdebug(xdebug103,3455 -const int REQUEST_SIZE 113,3854 -const int DIRECT_SIZE 114,3918 -enum drivemodes drivemodes116,3987 -enum drivemodes { TOC,116,3987 -enum drivemodes { TOC, DATA,116,3987 -enum drivemodes { TOC, DATA, RAW,116,3987 -enum drivemodes { TOC, DATA, RAW, COOKED 116,3987 -enum datamodes datamodes117,4031 -enum datamodes { MODE0,117,4031 -enum datamodes { MODE0, MODE1,117,4031 -enum datamodes { MODE0, MODE1, MODE2 117,4031 -enum resetmodes resetmodes118,4071 -enum resetmodes { SOFT,118,4071 -enum resetmodes { SOFT, HARD 118,4071 -const int SINGLE 120,4104 -const int DOUBLE 121,4167 -const int DOOR 122,4230 -const int MULTI 123,4284 -const unsigned char READ1X 125,4341 -const unsigned char READ2X 126,4376 -struct s_subqcode s_subqcode130,4483 -struct s_diskinfo s_diskinfo138,4619 -struct s_multi s_multi145,4750 -struct s_version s_version150,4822 -struct s_drive_stuff s_drive_stuff157,4957 -static int mcdx_block_open(220,6999 -static int mcdx_block_release(226,7179 -static int mcdx_block_ioctl(232,7358 -static int mcdx_block_media_changed(239,7587 -static struct block_device_operations mcdx_bdops 245,7736 -static int mcdx_drive_map[308,10475 -static struct s_drive_stuff *mcdx_stuffp[309,10523 -static spinlock_t mcdx_lock 310,10579 -static struct request_queue *mcdx_queue;311,10629 -static struct cdrom_device_ops mcdx_dops 314,10698 -static int mcdx_audio_ioctl(328,11097 -void do_mcdx_request(568,17591 -static int mcdx_open(632,18818 -static void mcdx_close(779,22499 -static int mcdx_media_changed(790,22666 -static int __init mcdx_setup(809,23055 -static void mcdx_delay(827,23376 -static irqreturn_t mcdx_intr(847,24040 -static int mcdx_talk(890,25203 -int __mcdx_init(1007,28129 -void __exit mcdx_exit(1027,28405 -int __init mcdx_init_drive(1074,29438 -int __init mcdx_init(1260,34501 -static int mcdx_transfer(1287,35006 -static int mcdx_xfer(1319,35736 -static unsigned port(1496,40041 -static int irq(1500,40090 -static unsigned int bcd2uint(1507,40164 -static unsigned int uint2bcd(1512,40251 -static void log2msf(1517,40346 -static unsigned int msf2log(1525,40547 -int mcdx_readtoc(1532,40730 -mcdx_playmsf(1640,43320 -mcdx_playtrk(1676,44088 -static int mcdx_tray_move(1709,44776 -static int mcdx_stop(1725,45172 -static int mcdx_hold(1730,45301 -static int mcdx_requestsubqcode(1735,45430 -static int mcdx_requestmultidiskinfo(1757,45902 -static int mcdx_requesttocdata(1778,46344 -static int mcdx_setdrivemode(1801,46921 -static int mcdx_setdatamode(1832,47458 -static int mcdx_config(1853,47855 -static int mcdx_requestversion(1873,48262 -static int mcdx_reset(1889,48552 -static int mcdx_lockdoor(1899,48854 -static int mcdx_getstatus(1913,49194 -mcdx_getval(1919,49339 -static int mcdx_setattentuator(1938,49692 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/sbus.c,564 -struct sbus_bus *sbus_root 20,418 -static struct linux_prom_irqs irqs[22,454 -static struct linux_prom_irqs irqs[PROMINTR_MAX] __initdata 22,454 -static int interrupts[24,549 -static int interrupts[PROMINTR_MAX] __initdata 24,549 -static void __init fill_sbus_device(43,1032 -static void __init sbus_do_child_siblings(181,5111 -static void __init sbus_bus_ranges_init(220,6293 -static void __init __apply_ranges_to_regs(234,6653 -static void __init __fixup_regs_sdev(266,7590 -static void __init sbus_fixup_all_regs(298,8409 -static int __init sbus_init(316,8787 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/cd180.h,4504 -#define CD180_NCH 3,67 -#define CD180_TPC 4,145 -#define CD180_NFIFO 5,223 -#define CD180_GFRCR 8,315 -#define CD180_SRCR 9,386 -#define CD180_PPRH 10,456 -#define CD180_PPRL 11,520 -#define CD180_MSMR 12,583 -#define CD180_TSMR 13,646 -#define CD180_RSMR 14,711 -#define CD180_GSVR 15,775 -#define CD180_SRSR 16,839 -#define CD180_GSCR 17,904 -#define CD180_CAR 18,969 -#define CD180_RDCR 21,1051 -#define CD180_RDR 22,1113 -#define CD180_RCSR 23,1169 -#define CD180_TDR 24,1237 -#define CD180_EOSRR 25,1293 -#define CD180_SRER 28,1384 -#define CD180_CCR 29,1462 -#define CD180_COR1 30,1540 -#define CD180_COR2 31,1618 -#define CD180_COR3 32,1696 -#define CD180_CCSR 33,1774 -#define CD180_RTPR 34,1852 -#define CD180_RBPRH 35,1930 -#define CD180_RBPRL 36,2007 -#define CD180_TBPRH 37,2084 -#define CD180_TBPRL 38,2161 -#define CD180_SCHR1 39,2238 -#define CD180_SCHR2 40,2316 -#define CD180_SCHR3 41,2394 -#define CD180_SCHR4 42,2472 -#define CD180_MCR 43,2550 -#define CD180_MCOR1 44,2628 -#define CD180_MCOR2 45,2706 -#define CD180_MSVR 46,2784 -#define CD180_MSVRTS 47,2862 -#define CD180_MSVDTR 48,2940 -#define GSVR_ITMASK 52,3065 -#define GSVR_IT_MDM 53,3144 -#define GSVR_IT_TX 54,3223 -#define GSVR_IT_RGD 55,3302 -#define GSVR_IT_REXC 56,3381 -#define GSCR_CHAN 61,3510 -#define GSCR_CHAN_OFF 62,3588 -#define CAR_CHAN 67,3706 -#define RCSR_TOUT 72,3833 -#define RCSR_SCDET 73,3911 -#define RCSR_NO_SC 74,3989 -#define RCSR_SC_1 75,4067 -#define RCSR_SC_2 76,4145 -#define RCSR_SC_3 77,4223 -#define RCSR_SC_4 78,4301 -#define RCSR_BREAK 79,4379 -#define RCSR_PE 80,4457 -#define RCSR_FE 81,4535 -#define RCSR_OE 82,4613 -#define CCR_HARDRESET 87,4765 -#define CCR_SOFTRESET 89,4844 -#define CCR_CORCHG1 91,4923 -#define CCR_CORCHG2 92,5001 -#define CCR_CORCHG3 93,5079 -#define CCR_SSCH1 95,5158 -#define CCR_SSCH2 97,5237 -#define CCR_SSCH3 99,5316 -#define CCR_SSCH4 101,5395 -#define CCR_TXEN 103,5474 -#define CCR_RXEN 104,5552 -#define CCR_TXDIS 106,5631 -#define CCR_RXDIS 107,5709 -#define SRER_DSR 112,5834 -#define SRER_CD 113,5913 -#define SRER_CTS 114,5992 -#define SRER_RXD 115,6071 -#define SRER_RXSC 116,6150 -#define SRER_TXRDY 117,6229 -#define SRER_TXEMPTY 118,6308 -#define SRER_RET 119,6387 -#define COR1_ODDP 124,6507 -#define COR1_PARMODE 125,6585 -#define COR1_NOPAR 126,6663 -#define COR1_FORCEPAR 127,6741 -#define COR1_NORMPAR 128,6819 -#define COR1_IGNORE 129,6897 -#define COR1_STOPBITS 130,6975 -#define COR1_1SB 131,7053 -#define COR1_15SB 132,7131 -#define COR1_2SB 133,7209 -#define COR1_CHARLEN 134,7287 -#define COR1_5BITS 135,7365 -#define COR1_6BITS 136,7443 -#define COR1_7BITS 137,7521 -#define COR1_8BITS 138,7599 -#define COR2_IXM 143,7718 -#define COR2_TXIBE 144,7796 -#define COR2_ETC 145,7874 -#define COR2_LLM 146,7952 -#define COR2_RLM 147,8030 -#define COR2_RTSAO 148,8108 -#define COR2_CTSAE 149,8186 -#define COR2_DSRAE 150,8264 -#define COR3_XONCH 155,8383 -#define COR3_XOFFCH 156,8461 -#define COR3_FCT 157,8539 -#define COR3_SCDE 158,8617 -#define COR3_RXTH 159,8695 -#define CCSR_RXEN 164,8820 -#define CCSR_RXFLOFF 165,8898 -#define CCSR_RXFLON 166,8976 -#define CCSR_TXEN 167,9054 -#define CCSR_TXFLOFF 168,9132 -#define CCSR_TXFLON 169,9210 -#define MCOR1_DSRZD 174,9334 -#define MCOR1_CDZD 175,9412 -#define MCOR1_CTSZD 176,9490 -#define MCOR1_DTRTH 177,9568 -#define MCOR1_NODTRFC 178,9646 -#define MCOR2_DSROD 183,9771 -#define MCOR2_CDOD 184,9849 -#define MCOR2_CTSOD 185,9927 -#define MCR_DSRCHG 190,10042 -#define MCR_CDCHG 191,10120 -#define MCR_CTSCHG 192,10198 -#define MSVR_DSR 197,10319 -#define MSVR_CD 198,10397 -#define MSVR_CTS 199,10475 -#define MSVR_DTR 200,10553 -#define MSVR_RTS 201,10631 -#define SRSR_CMASK 206,10750 -#define SRSR_CNONE 207,10820 -#define SRSR_CRX 208,10880 -#define SRSR_CTX 209,10926 -#define SRSR_CMDM 210,10972 -#define SRSR_ANYINT 211,11021 -#define SRSR_RINT 212,11076 -#define SRSR_TINT 213,11128 -#define SRSR_MINT 214,11181 -#define SRSR_REXT 215,11231 -#define SRSR_TEXT 216,11291 -#define SRSR_MEXT 217,11352 -#define SRCR_PKGTYPE 222,11458 -#define SRCR_REGACKEN 223,11487 -#define SRCR_DAISYEN 224,11516 -#define SRCR_GLOBPRI 225,11545 -#define SRCR_UNFAIR 226,11574 -#define SRCR_AUTOPRI 227,11603 -#define SRCR_PRISEL 228,11632 -#define CD180_ACK_MINT 231,11709 -#define CD180_ACK_TINT 232,11762 -#define CD180_ACK_RINT 233,11815 -#define CD180_C_ESC 237,11894 -#define CD180_C_SBRK 238,11972 -#define CD180_C_DELAY 239,12050 -#define CD180_C_EBRK 240,12128 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/vfc.h,2380 -#define _LINUX_VFC_H_2,22 -struct vfc_regs vfc_regs20,690 -#define VFC_SAA9051_NR 35,1243 -#define VFC_SAA9051_ADDR 36,1271 -#define VFC_SAA9051_PONRES 50,1822 -#define VFC_SAA9051_HLOCK 51,1856 -#define VFC_SAA9051_FD 52,1889 -#define VFC_SAA9051_CD 53,1919 -#define VFC_SAA9051_CS 54,1949 -#define VFC_SAA9051_IDEL 59,2022 -#define VFC_SAA9051_HSY_START 60,2052 -#define VFC_SAA9051_HSY_STOP 61,2086 -#define VFC_SAA9051_HC_START 62,2119 -#define VFC_SAA9051_HC_STOP 63,2152 -#define VFC_SAA9051_HS_START 64,2184 -#define VFC_SAA9051_HORIZ_PEAK 65,2217 -#define VFC_SAA9051_HUE 66,2252 -#define VFC_SAA9051_C1 67,2280 -#define VFC_SAA9051_C2 68,2307 -#define VFC_SAA9051_C3 69,2334 -#define VFC_SAA9051_SECAM_DELAY 70,2363 -#define VFC_SAA9051_AP1 75,2452 -#define VFC_SAA9051_AP2 76,2483 -#define VFC_SAA9051_COR1 77,2514 -#define VFC_SAA9051_COR2 78,2546 -#define VFC_SAA9051_BP1 79,2578 -#define VFC_SAA9051_BP2 80,2609 -#define VFC_SAA9051_PF 81,2640 -#define VFC_SAA9051_BY 82,2670 -#define VFC_SAA9051_CCFR0 87,2751 -#define VFC_SAA9051_CCFR1 88,2784 -#define VFC_SAA9051_YPN 89,2817 -#define VFC_SAA9051_ALT 90,2848 -#define VFC_SAA9051_CO 91,2879 -#define VFC_SAA9051_VTR 92,2909 -#define VFC_SAA9051_FS 93,2940 -#define VFC_SAA9051_HPLL 94,2970 -#define VFC_SAA9051_SS0 99,3050 -#define VFC_SAA9051_SS1 100,3081 -#define VFC_SAA9051_AFCC 101,3112 -#define VFC_SAA9051_CI 102,3144 -#define VFC_SAA9051_SA9D4 103,3174 -#define VFC_SAA9051_OEC 104,3228 -#define VFC_SAA9051_OEY 105,3259 -#define VFC_SAA9051_VNL 106,3290 -#define VFC_SAA9051_YDL0 111,3372 -#define VFC_SAA9051_YDL1 112,3404 -#define VFC_SAA9051_YDL2 113,3436 -#define VFC_SAA9051_SS2 114,3468 -#define VFC_SAA9051_SS3 115,3499 -#define VFC_SAA9051_YC 116,3530 -#define VFC_SAA9051_CT 117,3560 -#define VFC_SAA9051_SYC 118,3590 -#define VFC_SAA9051_SA(VFC_SAA9051_SA121,3623 -#define vfc_update_saa9051(vfc_update_saa9051122,3685 -struct vfc_dev vfc_dev127,3819 -#define VFC_CONTROL_DIAGMODE 155,4682 -#define VFC_CONTROL_MEMPTR 156,4723 -#define VFC_CONTROL_CAPTURE 157,4764 -#define VFC_CONTROL_CAPTRESET 158,4805 -#define VFC_STATUS_CAPTURE 160,4847 -#define VFC_IOCTL_DEBUG_PRINTK(VFC_IOCTL_DEBUG_PRINTK163,4912 -#define VFC_IOCTL_DEBUG_PRINTK(VFC_IOCTL_DEBUG_PRINTK165,4961 -#define VFC_I2C_DEBUG_PRINTK(VFC_I2C_DEBUG_PRINTK169,5024 -#define VFC_I2C_DEBUG_PRINTK(VFC_I2C_DEBUG_PRINTK171,5071 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/vfc_i2c.c,618 -#define VFC_I2C_DEBUG35,962 -#define WRITE_S1(WRITE_S141,1031 -#define WRITE_REG(WRITE_REG43,1097 -#define VFC_I2C_READ 46,1166 -#define VFC_I2C_WRITE 47,1193 -int vfc_pcf8584_init(58,1508 -void vfc_i2c_delay_wakeup(82,2031 -void vfc_i2c_delay_no_busy(89,2230 -void inline vfc_i2c_delay(101,2614 -int vfc_init_i2c_bus(106,2702 -int vfc_i2c_reset_bus(113,2830 -int vfc_i2c_wait_for_bus(131,3292 -int vfc_i2c_wait_for_pin(143,3493 -#define SHIFT(SHIFT160,3786 -int vfc_i2c_xmit_addr(161,3815 -int vfc_i2c_xmit_byte(212,5096 -int vfc_i2c_recv_byte(235,5501 -int vfc_i2c_recvbuf(257,5971 -int vfc_i2c_sendbuf(294,6730 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/vfc_dev.c,1127 -#define VFC_MAJOR 38,1021 -#define VFC_IOCTL_DEBUG41,1051 -static struct file_operations vfc_fops;47,1129 -struct vfc_dev **vfc_dev_lst;48,1169 -static char vfcstr[49,1199 -static unsigned char saa9051_init_array[50,1227 -void vfc_lock_device(57,1372 -void vfc_unlock_device(62,1449 -void vfc_captstat_reset(68,1527 -void vfc_memptr_reset(78,1870 -int vfc_csr_init(88,2203 -int vfc_saa9051_init(110,2736 -int init_vfc_hw(122,2982 -int init_vfc_devstruct(135,3242 -int init_vfc_device(145,3452 -struct vfc_dev *vfc_get_dev_ptr(176,4337 -static spinlock_t vfc_dev_lock 181,4420 -static int vfc_open(183,4474 -static int vfc_release(214,5020 -static int vfc_debug(229,5311 -int vfc_capture_start(296,6605 -int vfc_capture_poll(318,7230 -static int vfc_set_control_ioctl(337,7547 -int vfc_port_change_ioctl(394,8694 -int vfc_set_video_ioctl(464,10687 -int vfc_get_video_ioctl(515,12077 -static int vfc_ioctl(553,13030 -static int vfc_mmap(613,14488 -static struct file_operations vfc_fops 639,15134 -static int vfc_probe(648,15312 -int init_module(706,16536 -static void deinit_vfc_device(715,16631 -void cleanup_module(724,16833 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/rtc.c,359 -static int rtc_busy 28,759 -static void get_rtc_time(31,852 -void set_rtc_time(58,1519 -static int rtc_ioctl(84,2136 -static int rtc_open(118,2720 -static int rtc_release(134,2945 -static struct file_operations rtc_fops 141,3040 -static struct miscdevice rtc_dev 149,3198 -static int __init rtc_sun_init(151,3267 -static void __exit rtc_sun_cleanup(170,3630 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/vfc_i2c.h,718 -#define _LINUX_VFC_I2C_H_2,26 -#define PIN 5,72 -#define ESO 6,98 -#define ES1 7,124 -#define ES2 8,150 -#define ENI 9,176 -#define STA 10,202 -#define STO 11,228 -#define ACK 12,254 -#define STS 15,299 -#define BER 16,325 -#define LRB 17,351 -#define AAS 18,377 -#define LAB 19,403 -#define BB 20,429 -#define SEND_I2C_START 22,456 -#define SEND_I2C_STOP 23,497 -#define CLEAR_I2C_BUS 24,537 -#define NEGATIVE_ACK 25,577 -#define SELECT(SELECT27,614 -#define S0 28,636 -#define S0_OWN 29,665 -#define S2 30,686 -#define S3 31,709 -#define ENABLE_SERIAL 33,733 -#define DISABLE_SERIAL 34,767 -#define RESET 35,796 -#define XMIT_LAST_BYTE 37,817 -#define VFC_I2C_ACK_CHECK 38,844 -#define VFC_I2C_NO_ACK_CHECK 39,874 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/uctrl.c,6734 -#define UCTRL_MINOR 26,608 -#define DEBUG 28,633 -#define dprintk(dprintk30,662 -#define dprintk(dprintk32,696 -struct uctrl_regs uctrl_regs35,723 -struct ts102_regs ts102_regs42,853 -#define UCTRL_INTR_TXE_REQ 59,1257 -#define UCTRL_INTR_TXNF_REQ 60,1334 -#define UCTRL_INTR_RXNE_REQ 61,1414 -#define UCTRL_INTR_RXO_REQ 62,1494 -#define UCTRL_INTR_TXE_MSK 63,1573 -#define UCTRL_INTR_TXNF_MSK 64,1647 -#define UCTRL_INTR_RXNE_MSK 65,1724 -#define UCTRL_INTR_RXO_MSK 66,1801 -#define UCTRL_STAT_TXE_STA 69,1913 -#define UCTRL_STAT_TXNF_STA 70,1989 -#define UCTRL_STAT_RXNE_STA 71,2068 -#define UCTRL_STAT_RXO_STA 72,2147 -static const char *uctrl_extstatus[74,2226 -struct uctrl_txn uctrl_txn89,2760 -struct uctrl_status uctrl_status97,2845 -enum uctrl_opcode uctrl_opcode114,3346 - READ_SERIAL_NUMBER=115,3366 - READ_SERIAL_NUMBER=0x1,115,3366 - READ_ETHERNET_ADDRESS=116,3392 - READ_ETHERNET_ADDRESS=0x2,116,3392 - READ_HARDWARE_VERSION=117,3421 - READ_HARDWARE_VERSION=0x3,117,3421 - READ_MICROCONTROLLER_VERSION=118,3450 - READ_MICROCONTROLLER_VERSION=0x4,118,3450 - READ_MAX_TEMPERATURE=119,3486 - READ_MAX_TEMPERATURE=0x5,119,3486 - READ_MIN_TEMPERATURE=120,3514 - READ_MIN_TEMPERATURE=0x6,120,3514 - READ_CURRENT_TEMPERATURE=121,3542 - READ_CURRENT_TEMPERATURE=0x7,121,3542 - READ_SYSTEM_VARIANT=122,3574 - READ_SYSTEM_VARIANT=0x8,122,3574 - READ_POWERON_CYCLES=123,3601 - READ_POWERON_CYCLES=0x9,123,3601 - READ_POWERON_SECONDS=124,3628 - READ_POWERON_SECONDS=0xA,124,3628 - READ_RESET_STATUS=125,3656 - READ_RESET_STATUS=0xB,125,3656 - READ_EVENT_STATUS=126,3681 - READ_EVENT_STATUS=0xC,126,3681 - READ_REAL_TIME_CLOCK=127,3706 - READ_REAL_TIME_CLOCK=0xD,127,3706 - READ_EXTERNAL_VGA_PORT=128,3734 - READ_EXTERNAL_VGA_PORT=0xE,128,3734 - READ_MICROCONTROLLER_ROM_CHECKSUM=129,3764 - READ_MICROCONTROLLER_ROM_CHECKSUM=0xF,129,3764 - READ_ERROR_STATUS=130,3805 - READ_ERROR_STATUS=0x10,130,3805 - READ_EXTERNAL_STATUS=131,3831 - READ_EXTERNAL_STATUS=0x11,131,3831 - READ_USER_CONFIGURATION_AREA=132,3860 - READ_USER_CONFIGURATION_AREA=0x12,132,3860 - READ_MICROCONTROLLER_VOLTAGE=133,3897 - READ_MICROCONTROLLER_VOLTAGE=0x13,133,3897 - READ_INTERNAL_BATTERY_VOLTAGE=134,3934 - READ_INTERNAL_BATTERY_VOLTAGE=0x14,134,3934 - READ_DCIN_VOLTAGE=135,3972 - READ_DCIN_VOLTAGE=0x15,135,3972 - READ_HORIZONTAL_POINTER_VOLTAGE=136,3998 - READ_HORIZONTAL_POINTER_VOLTAGE=0x16,136,3998 - READ_VERTICAL_POINTER_VOLTAGE=137,4038 - READ_VERTICAL_POINTER_VOLTAGE=0x17,137,4038 - READ_INTERNAL_BATTERY_CHARGE_LEVEL=138,4076 - READ_INTERNAL_BATTERY_CHARGE_LEVEL=0x18,138,4076 - READ_EXTERNAL_BATTERY_CHARGE_LEVEL=139,4119 - READ_EXTERNAL_BATTERY_CHARGE_LEVEL=0x19,139,4119 - READ_REAL_TIME_CLOCK_ALARM=140,4162 - READ_REAL_TIME_CLOCK_ALARM=0x1A,140,4162 - READ_EVENT_STATUS_NO_RESET=141,4197 - READ_EVENT_STATUS_NO_RESET=0x1B,141,4197 - READ_INTERNAL_KEYBOARD_LAYOUT=142,4232 - READ_INTERNAL_KEYBOARD_LAYOUT=0x1C,142,4232 - READ_EXTERNAL_KEYBOARD_LAYOUT=143,4270 - READ_EXTERNAL_KEYBOARD_LAYOUT=0x1D,143,4270 - READ_EEPROM_STATUS=144,4308 - READ_EEPROM_STATUS=0x1E,144,4308 - CONTROL_LCD=145,4335 - CONTROL_LCD=0x20,145,4335 - CONTROL_BITPORT=146,4355 - CONTROL_BITPORT=0x21,146,4355 - SPEAKER_VOLUME=147,4379 - SPEAKER_VOLUME=0x23,147,4379 - CONTROL_TFT_BRIGHTNESS=148,4402 - CONTROL_TFT_BRIGHTNESS=0x24,148,4402 - CONTROL_WATCHDOG=149,4433 - CONTROL_WATCHDOG=0x25,149,4433 - CONTROL_FACTORY_EEPROM_AREA=150,4458 - CONTROL_FACTORY_EEPROM_AREA=0x26,150,4458 - CONTROL_KBD_TIME_UNTIL_REPEAT=151,4494 - CONTROL_KBD_TIME_UNTIL_REPEAT=0x28,151,4494 - CONTROL_KBD_TIME_BETWEEN_REPEATS=152,4532 - CONTROL_KBD_TIME_BETWEEN_REPEATS=0x29,152,4532 - CONTROL_TIMEZONE=153,4573 - CONTROL_TIMEZONE=0x2A,153,4573 - CONTROL_MARK_SPACE_RATIO=154,4598 - CONTROL_MARK_SPACE_RATIO=0x2B,154,4598 - CONTROL_DIAGNOSTIC_MODE=155,4631 - CONTROL_DIAGNOSTIC_MODE=0x2E,155,4631 - CONTROL_SCREEN_CONTRAST=156,4663 - CONTROL_SCREEN_CONTRAST=0x2F,156,4663 - RING_BELL=157,4695 - RING_BELL=0x30,157,4695 - SET_DIAGNOSTIC_STATUS=158,4713 - SET_DIAGNOSTIC_STATUS=0x32,158,4713 - CLEAR_KEY_COMBINATION_TABLE=159,4743 - CLEAR_KEY_COMBINATION_TABLE=0x33,159,4743 - PERFORM_SOFTWARE_RESET=160,4779 - PERFORM_SOFTWARE_RESET=0x34,160,4779 - SET_REAL_TIME_CLOCK=161,4810 - SET_REAL_TIME_CLOCK=0x35,161,4810 - RECALIBRATE_POINTING_STICK=162,4838 - RECALIBRATE_POINTING_STICK=0x36,162,4838 - SET_BELL_FREQUENCY=163,4873 - SET_BELL_FREQUENCY=0x37,163,4873 - SET_INTERNAL_BATTERY_CHARGE_RATE=164,4900 - SET_INTERNAL_BATTERY_CHARGE_RATE=0x39,164,4900 - SET_EXTERNAL_BATTERY_CHARGE_RATE=165,4941 - SET_EXTERNAL_BATTERY_CHARGE_RATE=0x3A,165,4941 - SET_REAL_TIME_CLOCK_ALARM=166,4982 - SET_REAL_TIME_CLOCK_ALARM=0x3B,166,4982 - READ_EEPROM=167,5016 - READ_EEPROM=0x40,167,5016 - WRITE_EEPROM=168,5036 - WRITE_EEPROM=0x41,168,5036 - WRITE_TO_STATUS_DISPLAY=169,5057 - WRITE_TO_STATUS_DISPLAY=0x42,169,5057 - DEFINE_SPECIAL_CHARACTER=170,5089 - DEFINE_SPECIAL_CHARACTER=0x43,170,5089 - DEFINE_KEY_COMBINATION_ENTRY=171,5122 - DEFINE_KEY_COMBINATION_ENTRY=0x50,171,5122 - DEFINE_STRING_TABLE_ENTRY=172,5159 - DEFINE_STRING_TABLE_ENTRY=0x51,172,5159 - DEFINE_STATUS_SCREEN_DISPLAY=173,5193 - DEFINE_STATUS_SCREEN_DISPLAY=0x52,173,5193 - PERFORM_EMU_COMMANDS=174,5230 - PERFORM_EMU_COMMANDS=0x64,174,5230 - READ_EMU_REGISTER=175,5259 - READ_EMU_REGISTER=0x65,175,5259 - WRITE_EMU_REGISTER=176,5285 - WRITE_EMU_REGISTER=0x66,176,5285 - READ_EMU_RAM=177,5312 - READ_EMU_RAM=0x67,177,5312 - WRITE_EMU_RAM=178,5333 - WRITE_EMU_RAM=0x68,178,5333 - READ_BQ_REGISTER=179,5355 - READ_BQ_REGISTER=0x69,179,5355 - WRITE_BQ_REGISTER=180,5380 - WRITE_BQ_REGISTER=0x6A,180,5380 - SET_USER_PASSWORD=181,5406 - SET_USER_PASSWORD=0x70,181,5406 - VERIFY_USER_PASSWORD=182,5432 - VERIFY_USER_PASSWORD=0x71,182,5432 - GET_SYSTEM_PASSWORD_KEY=183,5461 - GET_SYSTEM_PASSWORD_KEY=0x72,183,5461 - VERIFY_SYSTEM_PASSWORD=184,5493 - VERIFY_SYSTEM_PASSWORD=0x73,184,5493 - POWER_OFF=185,5524 - POWER_OFF=0x82,185,5524 - POWER_RESTART=186,5542 - POWER_RESTART=0x83,186,5542 -struct uctrl_driver uctrl_driver189,5568 -static struct uctrl_driver drv;196,5673 -uctrl_ioctl(202,5791 -uctrl_open(213,5963 -static irqreturn_t uctrl_interrupt(220,6087 -static struct file_operations uctrl_fops 227,6288 -static struct miscdevice uctrl_dev 234,6427 -#define WRITEUCTLDATA(WRITEUCTLDATA241,6555 -#define READUCTLDATA(READUCTLDATA253,6871 -void uctrl_set_video(267,7214 -static void uctrl_do_txn(273,7291 -void uctrl_get_event_status(312,8063 -void uctrl_get_external_status(332,8515 -static int __init ts102_uctrl_init(361,9140 -static void __exit ts102_uctrl_cleanup(409,10380 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/aurora.c,2652 -unsigned char irqs[76,2534 -int irqhit=81,2600 -#define MIN(MIN85,2634 -static struct tty_driver *aurora_driver;88,2683 -static struct Aurora_board aurora_board[89,2724 -static struct Aurora_port aurora_port[93,2794 -static unsigned char * tmp_buf 98,2947 -static inline int aurora_paranoia_check(103,3054 -extern inline int board_No 131,3680 -extern inline int port_No 137,3807 -extern inline struct Aurora_board * port_Board(143,3962 -extern inline void aurora_wait_CCR(149,4150 -extern inline void aurora_long_delay(168,4582 -static int aurora_init_CD180(182,4883 -static int valid_irq(254,7033 -static int aurora_probe(265,7285 -static void aurora_release_io_range(419,12174 -extern inline void aurora_mark_event(427,12412 -static __inline__ struct Aurora_port * aurora_get_port(440,12714 -static void aurora_receive_exc(458,13279 -static void aurora_receive(523,14925 -static void aurora_transmit(556,15689 -static void aurora_check_modem(643,17912 -static irqreturn_t aurora_interrupt(697,19452 -static struct timer_list aurora_poll_timer 878,24299 -aurora_timer 882,24399 -static int aurora_setup_board(911,24969 -static void aurora_shutdown_board(962,26148 -static void aurora_change_speed(1001,26939 -static int aurora_setup_port(1177,31769 -static void aurora_shutdown_port(1223,32768 -static int block_til_ready(1299,34441 -static int aurora_open(1394,36769 -static void aurora_close(1449,38029 -static int aurora_write(1553,40832 -static void aurora_put_char(1639,42838 -static void aurora_flush_chars(1669,43494 -static int aurora_write_room(1700,44269 -static int aurora_chars_in_buffer(1720,44702 -static void aurora_flush_buffer(1730,44949 -static int aurora_tiocmget(1751,45443 -static int aurora_tiocmset(1791,46460 -static void aurora_send_break(1830,47397 -static int aurora_set_serial_info(1862,48195 -extern int aurora_get_serial_info(1914,49645 -static int aurora_ioctl(1945,50464 -static void aurora_throttle(1996,51831 -static void aurora_unthrottle(2028,52640 -static void aurora_stop(2063,53471 -static void aurora_start(2093,54138 -static void do_aurora_hangup(2134,55178 -static void aurora_hangup(2151,55544 -static void aurora_set_termios(2175,56088 -static void do_aurora_bh(2204,56828 -static void do_softint(2209,56894 -static struct tty_operations aurora_ops 2229,57274 -static int aurora_init_drivers(2249,57831 -static void aurora_release_drivers(2306,59604 -void __init aurora_setup(2328,60127 -static int __init aurora_real_init(2337,60263 -int irq 2367,60883 -int irq1 2368,60897 -int irq2 2369,60911 -int irq3 2370,60925 -static int __init aurora_init(2376,61036 -static void __exit aurora_cleanup(2385,61207 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/bpp.c,4435 -#define BPP_PROBE_CODE 42,853 -#define BPP_DELAY 43,881 -static const unsigned BPP_MAJOR 45,904 -static const char* dev_name 46,949 -static const unsigned char DEFAULT_ECP 52,1135 -static const unsigned char DEFAULT_NIBBLE 53,1182 -static const unsigned long TIME_PSetup 59,1298 -static const unsigned long TIME_PResponse 60,1342 -static const unsigned long TIME_IDLE_LIMIT 61,1389 -# define BPP_NO 66,1491 -enum IEEE_Mode IEEE_Mode68,1510 -enum IEEE_Mode { COMPATIBILITY,68,1510 -enum IEEE_Mode { COMPATIBILITY, NIBBLE,68,1510 -enum IEEE_Mode { COMPATIBILITY, NIBBLE, ECP,68,1510 -enum IEEE_Mode { COMPATIBILITY, NIBBLE, ECP, ECP_RLE,68,1510 -enum IEEE_Mode { COMPATIBILITY, NIBBLE, ECP, ECP_RLE, EPP 68,1510 -struct inst inst70,1572 -static struct inst instances[88,2223 -const unsigned short base_addrs[92,2285 -#define bpp_outb_p(bpp_outb_p99,2525 -#define bpp_inb(bpp_inb100,2580 -#define bpp_inb_p(bpp_inb_p101,2613 -static void set_pins(109,2873 -static unsigned short get_pins(123,3290 -#define BPP_CSR 151,4044 -#define BPP_ADDR 152,4070 -#define BPP_BCNT 153,4096 -#define BPP_TST_CSR 154,4122 -#define BPP_HCR 156,4184 -#define BPP_OCR 157,4210 -#define BPP_DR 158,4236 -#define BPP_TCR 159,4262 -#define BPP_OR 160,4288 -#define BPP_IR 161,4314 -#define BPP_ICR 162,4340 -#define BPP_SIZE 163,4366 -#define P_DEV_ID_MASK 166,4457 -#define P_DEV_ID_ZEBRA 167,4507 -#define P_DEV_ID_L64854 168,4542 -#define P_NA_LOADED 169,4621 -#define P_A_LOADED 170,4700 -#define P_DMA_ON 171,4751 -#define P_EN_NEXT 172,4822 -#define P_TCI_DIS 173,4873 -#define P_DIAG 174,4954 -#define P_BURST_SIZE 176,5115 -#define P_BURST_8 177,5182 -#define P_BURST_4 178,5217 -#define P_BURST_1 179,5252 -#define P_TC 180,5320 -#define P_EN_CNT 182,5458 -#define P_EN_DMA 183,5509 -#define P_WRITE 184,5560 -#define P_RESET 185,5640 -#define P_SLAVE_ERR 186,5691 -#define P_INVALIDATE 187,5760 -#define P_INT_EN 188,5823 -#define P_DRAINING 189,5903 -#define P_ERR_PEND 190,5983 -#define P_INT_PEND 191,6034 -#define P_HCR_TEST 194,6138 -#define P_HCR_DSW 195,6214 -#define P_HCR_DDS 196,6285 -#define P_OCR_MEM_CLR 199,6379 -#define P_OCR_DATA_SRC 200,6410 -#define P_OCR_DS_DSEL 201,6471 -#define P_OCR_BUSY_DSEL 202,6535 -#define P_OCR_ACK_DSEL 203,6601 -#define P_OCR_EN_DIAG 204,6662 -#define P_OCR_BUSY_OP 205,6693 -#define P_OCR_ACK_OP 206,6750 -#define P_OCR_SRST 207,6806 -#define P_OCR_IDLE 208,6888 -#define P_OCR_V_ILCK 209,6969 -#define P_OCR_EN_VER 210,7039 -#define P_TCR_DIR 213,7138 -#define P_TCR_BUSY 214,7167 -#define P_TCR_ACK 215,7196 -#define P_TCR_DS 216,7225 -#define P_OR_V3 219,7288 -#define P_OR_V2 220,7348 -#define P_OR_V1 221,7408 -#define P_OR_INIT 222,7468 -#define P_OR_AFXN 223,7497 -#define P_OR_SLCT_IN 224,7549 -#define P_IR_PE 227,7592 -#define P_IR_SLCT 228,7621 -#define P_IR_ERR 229,7650 -#define P_DS_IRQ 232,7694 -#define P_ACK_IRQ 233,7741 -#define P_BUSY_IRQ 234,7788 -#define P_PE_IRQ 235,7835 -#define P_SLCT_IRQ 236,7882 -#define P_ERR_IRQ 237,7929 -#define P_DS_IRQ_EN 238,7976 -#define P_ACK_IRQ_EN 239,8045 -#define P_BUSY_IRP 240,8114 -#define P_BUSY_IRQ_EN 241,8176 -#define P_PE_IRP 242,8223 -#define P_PE_IRQ_EN 243,8285 -#define P_SLCT_IRP 244,8332 -#define P_SLCT_IRQ_EN 245,8394 -#define P_ERR_IRP 246,8441 -#define P_ERR_IRQ_EN 247,8503 -unsigned long base_addrs[249,8551 -#define bpp_outb_p(bpp_outb_p251,8586 -#define bpp_inb_p(bpp_inb_p252,8652 -#define bpp_inb(bpp_inb253,8705 -static void set_pins(255,8757 -static unsigned short get_pins(276,9493 -static void bpp_wake_up(300,10396 -static void snooze(303,10481 -static int wait_for(312,10812 -static int negotiate(353,12127 -static int terminate(397,13531 -static spinlock_t bpp_open_lock 435,14614 -static int bpp_open(440,14732 -static int bpp_release(470,15471 -static long read_nibble(485,15772 -static long read_ecp(538,17616 -static ssize_t bpp_read(633,20677 -static long write_compat(695,22316 -static long write_ecp(733,23239 -static ssize_t bpp_write(786,24678 -static int bpp_ioctl(810,25299 -static struct file_operations bpp_fops 861,26489 -#define collectLptPorts(collectLptPorts872,26689 -static void probeLptPort(874,26720 -static inline void freeLptPort(934,28779 -static unsigned long map_bpp(943,28898 -static int collectLptPorts(948,29029 -static void probeLptPort(970,29450 -static inline void freeLptPort(1027,31180 -static int __init bpp_init(1034,31280 -static void __exit bpp_cleanup(1060,31737 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/jsflash.c,1392 -#define MAJOR_NR 42,1379 -#define JSFIDSZ 51,1585 -#define JSFPRGSZ 52,1637 -#define JSF_MINOR 68,2243 -#define JSF_MAX 70,2317 -#define JSF_NPART 71,2373 -#define JSF_PART_BITS 72,2426 -#define JSF_PART_MASK 73,2493 -static unsigned int jsf_inl(79,2616 -static void jsf_outl(89,2819 -struct jsfd_part jsfd_part101,3014 -struct jsflash jsflash106,3081 -#define JSF_BASE_TOP 119,3424 -#define JSF_BASE_ALL 120,3456 -#define JSF_BASE_JK 122,3489 -static struct gendisk *jsfd_disk[126,3528 -static struct jsflash jsf0;131,3628 -static void jsf_wait(140,3902 -static void jsf_write4(161,4455 -static void jsfd_read(173,4705 - union byte4 byte4174,4770 -static void jsfd_do_request(188,4928 -static loff_t jsf_lseek(228,5942 -static ssize_t jsf_read(252,6327 - union byte4 byte4258,6462 -static ssize_t jsf_write(308,7303 -static int jsf_ioctl_erase(316,7427 -static int jsf_ioctl_program(359,8388 -static int jsf_ioctl(389,8919 -static int jsf_mmap(412,9357 -static int jsf_open(417,9447 -static int jsf_release(427,9656 -static struct file_operations jsf_fops 433,9751 -static struct miscdevice jsf_dev 444,9970 -static struct block_device_operations jsfd_fops 446,10043 -static int jsflash_init(450,10122 -static struct request_queue *jsf_queue;538,12458 -static int jsfd_init(540,12499 -static int __init jsflash_init_module(596,13610 -static void __exit jsflash_cleanup_module(606,13746 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/bbc_envctrl.c,1933 -#define __KERNEL_SYSCALLS__13,331 -static int errno;14,359 -struct temp_limits temp_limits66,2636 -static struct temp_limits cpu_temp_limits[71,2744 -static struct temp_limits amb_temp_limits[76,2857 -enum fan_action fan_action81,2968 -enum fan_action { FAN_SLOWER,81,2968 -enum fan_action { FAN_SLOWER, FAN_SAME,81,2968 -enum fan_action { FAN_SLOWER, FAN_SAME, FAN_FASTER,81,2968 -enum fan_action { FAN_SLOWER, FAN_SAME, FAN_FASTER, FAN_FULLBLAST,81,2968 -enum fan_action { FAN_SLOWER, FAN_SAME, FAN_FASTER, FAN_FULLBLAST, FAN_STATE_MAX 81,2968 -struct bbc_cpu_temperature bbc_cpu_temperature83,3053 -#define FAN_AMBIENT 100,3390 -#define FAN_CPU 101,3412 -struct bbc_cpu_temperature *all_bbc_temps;104,3435 -struct bbc_fan_control bbc_fan_control106,3479 -struct bbc_fan_control *all_bbc_fans;117,3660 -#define CPU_FAN_REG 119,3699 -#define SYS_FAN_REG 120,3724 -#define PSUPPLY_FAN_REG 121,3749 -#define FAN_SPEED_MIN 123,3779 -#define FAN_SPEED_MAX 124,3806 -#define PSUPPLY_FAN_ON 126,3834 -#define PSUPPLY_FAN_OFF 127,3862 -static void set_fan_speeds(129,3892 -static void get_current_temps(156,4759 -static void do_envctrl_shutdown(174,5254 -#define WARN_INTERVAL 206,6270 -static void analyze_ambient_temp(208,6303 -static void analyze_cpu_temp(263,7976 -static void analyze_temps(318,9617 -static enum fan_action prioritize_fan_action(329,10004 -static int maybe_new_ambient_fan_speed(359,10798 -static int maybe_new_cpu_fan_speed(393,11485 -static void maybe_new_fan_speeds(429,12193 -static void fans_full_blast(440,12381 -#define POLL_INTERVAL 455,12713 -static unsigned long last_warning_jiffies;456,12746 -static struct task_struct *kenvctrld_task;457,12789 -static int kenvctrld(459,12833 -static void attach_one_temp(489,13509 -static void attach_one_fan(535,14818 -int bbc_envctrl_init(573,15737 -static void destroy_one_temp(592,16231 -static void destroy_one_fan(598,16338 -void bbc_envctrl_cleanup(604,16440 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/max1617.h,607 -#define _MAX1617_H3,78 -#define MAX1617_AMB_TEMP 5,98 -#define MAX1617_CPU_TEMP 6,152 -#define MAX1617_STATUS 7,212 -#define MAX1617_RD_CFG_BYTE 10,314 -#define MAX1617_RD_CVRATE_BYTE 11,370 -#define MAX1617_RD_AMB_HIGHLIM 12,433 -#define MAX1617_RD_AMB_LOWLIM 13,494 -#define MAX1617_RD_CPU_HIGHLIM 14,553 -#define MAX1617_RD_CPU_LOWLIM 15,616 -#define MAX1617_WR_CFG_BYTE 18,717 -#define MAX1617_WR_CVRATE_BYTE 19,750 -#define MAX1617_WR_AMB_HIGHLIM 20,786 -#define MAX1617_WR_AMB_LOWLIM 21,822 -#define MAX1617_WR_CPU_HIGHLIM 22,857 -#define MAX1617_WR_CPU_LOWLIM 23,893 -#define MAX1617_ONESHOT 25,929 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/envctrl.c,3792 -#define __KERNEL_SYSCALLS__38,1361 -static int errno;39,1389 -#define ENVCTRL_MINOR 42,1432 -#define PCF8584_ADDRESS 44,1459 -#define CONTROL_PIN 46,1489 -#define CONTROL_ES0 47,1514 -#define CONTROL_ES1 48,1539 -#define CONTROL_ES2 49,1564 -#define CONTROL_ENI 50,1589 -#define CONTROL_STA 51,1614 -#define CONTROL_STO 52,1639 -#define CONTROL_ACK 53,1664 -#define STATUS_PIN 55,1690 -#define STATUS_STS 56,1714 -#define STATUS_BER 57,1738 -#define STATUS_LRB 58,1762 -#define STATUS_AD0 59,1786 -#define STATUS_AAB 60,1810 -#define STATUS_LAB 61,1834 -#define STATUS_BB 62,1858 -#define BUS_CLK_90 67,1911 -#define BUS_CLK_45 68,1935 -#define BUS_CLK_11 69,1959 -#define BUS_CLK_1_5 70,1983 -#define CLK_3 72,2009 -#define CLK_4_43 73,2029 -#define CLK_6 74,2051 -#define CLK_8 75,2071 -#define CLK_12 76,2091 -#define OBD_SEND_START 78,2113 -#define OBD_SEND_STOP 79,2192 -#define PCF8584_MAX_CHANNELS 84,2337 -#define PCF8584_GLOBALADDR_TYPE 85,2379 -#define PCF8584_FANSTAT_TYPE 86,2445 -#define PCF8584_VOLTAGE_TYPE 87,2513 -#define PCF8584_TEMP_TYPE 88,2581 -#define ENVCTRL_NOMON 93,2709 -#define ENVCTRL_CPUTEMP_MON 94,2736 -#define ENVCTRL_CPUVOLTAGE_MON 95,2801 -#define ENVCTRL_FANSTAT_MON 96,2870 -#define ENVCTRL_ETHERTEMP_MON 97,2936 -#define ENVCTRL_VOLTAGESTAT_MON 99,3044 -#define ENVCTRL_MTHRBDTEMP_MON 100,3114 -#define ENVCTRL_SCSITEMP_MON 101,3181 -#define ENVCTRL_GLOBALADDR_MON 102,3240 -#define I2C_ADC 107,3348 -#define I2C_GPIO 108,3386 -#define ENVCTRL_TRANSLATE_NO 114,3560 -#define ENVCTRL_TRANSLATE_PARTIAL 115,3592 -#define ENVCTRL_TRANSLATE_COMBINED 116,3628 -#define ENVCTRL_TRANSLATE_FULL 117,3665 -#define ENVCTRL_TRANSLATE_SCALE 118,3721 -#define ENVCTRL_MAX_CPU 121,3825 -#define CHANNEL_DESC_SZ 122,3853 -#define ENVCTRL_GLOBALADDR_ADDR_MASK 125,3946 -#define ENVCTRL_GLOBALADDR_PSTAT_MASK 126,3989 -#define ENVCTRL_CPCI_IGNORED_NODE 131,4127 -#define PCF8584_DATA 133,4168 -#define PCF8584_CSR 134,4194 -struct pcf8584_channel pcf8584_channel139,4354 -struct pcf8584_tblprop pcf8584_tblprop149,4636 -struct i2c_child_t i2c_child_t157,4839 -static void __iomem *i2c;176,5558 -static struct i2c_child_t i2c_childlist[177,5584 -static unsigned char chnls_mask[178,5644 -static unsigned int warning_temperature 179,5732 -static unsigned int shutdown_temperature 180,5777 -static char read_cpu;181,5823 -static void envtrl_i2c_test_pin(190,6084 -static void envctrl_i2c_test_bb(207,6390 -static int envctrl_i2c_read_addr(225,6782 -static void envctrl_i2c_write_addr(251,7311 -static unsigned char envctrl_i2c_read_data(264,7668 -static void envctrl_i2c_write_data(274,7942 -static void envctrl_i2c_stop(283,8157 -static unsigned char envctrl_i2c_read_8591(292,8348 -static unsigned char envctrl_i2c_read_8574(314,8821 -static int envctrl_i2c_data_translate(330,9236 -static int envctrl_read_cpu_info(366,10062 -static int envctrl_read_noncpu_info(401,11010 -static int envctrl_i2c_fan_status(431,11800 -static int envctrl_i2c_globaladdr(470,12829 -static unsigned char envctrl_i2c_voltage_status(495,13727 -envctrl_read(541,14921 -envctrl_ioctl(658,18165 -envctrl_open(702,19159 -envctrl_release(712,19354 -static struct file_operations envctrl_fops 717,19426 -static struct miscdevice envctrl_dev 725,19603 -static void envctrl_set_mon(734,19785 -static void envctrl_init_adc(769,20990 -static void envctrl_init_fanstat(797,21830 -static void envctrl_init_globaladdr(814,22345 -static void envctrl_init_voltage_status(845,23464 -static void envctrl_init_i2c_child(862,23975 -static struct i2c_child_t *envctrl_get_i2c_child(962,26754 -static void envctrl_do_shutdown(976,27067 -static struct task_struct *kenvctrld_task;995,27597 -static int kenvctrld(997,27641 -static int __init envctrl_init(1044,28806 -static void __exit envctrl_cleanup(1143,31346 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/bbc_i2c.h,24 -#define _BBC_I2C_H3,78 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/openprom.c,723 -#define PROMLIB_INTERNAL32,1337 -typedef struct openprom_private_dataopenprom_private_data54,1846 -} DATA;DATA58,1999 -static int options_node 61,2072 -static int copyin(70,2410 -static int getstrings(101,3065 -static int copyout(135,3756 -static int openprom_sunos_ioctl(145,3951 -static int intree(301,7402 -static int goodnode(310,7626 -static int copyin_string(321,7911 -static int openprom_bsd_ioctl(347,8294 -static int openprom_ioctl(508,11322 -static int openprom_open(570,12786 -static int openprom_release(585,13075 -static struct file_operations openprom_fops 591,13189 -static struct miscdevice openprom_dev 599,13367 -static int __init openprom_init(603,13461 -static void __exit openprom_cleanup(625,13932 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/cpwatchdog.c,2384 -#define WD_OBPNAME 36,1010 -#define WD_BADMODEL 37,1040 -#define WD_BTIMEOUT 38,1076 -#define WD_BLIMIT 39,1120 -#define WD0_DEVNAME 41,1146 -#define WD1_DEVNAME 42,1178 -#define WD2_DEVNAME 43,1210 -#define WD0_MINOR 45,1243 -#define WD1_MINOR 46,1265 -#define WD2_MINOR 47,1288 -#define WD0_ID 52,1348 -#define WD1_ID 53,1389 -#define WD2_ID 54,1430 -#define WD_NUMDEVS 55,1471 -#define WD_INTR_OFF 57,1528 -#define WD_INTR_ON 58,1584 -#define WD_STAT_INIT 60,1639 -#define WD_STAT_BSTOP 61,1701 -#define WD_STAT_SVCD 62,1766 -#define WD0_INTR_MASK 66,1862 -#define WD1_INTR_MASK 67,1927 -#define WD2_INTR_MASK 68,1954 -#define WD_S_RUNNING 70,1982 -#define WD_S_EXPIRED 71,2045 -#define WD_TIMER_REGSZ 121,3808 -#define WD0_OFF 122,3834 -#define WD1_OFF 123,3853 -#define WD2_OFF 124,3891 -#define PLD_OFF 125,3929 -#define WD_DCNTR 127,3968 -#define WD_LIMIT 128,3990 -#define WD_STATUS 129,4012 -#define PLD_IMASK 131,4036 -#define PLD_STATUS 132,4071 -struct wd_timer wd_timer136,4143 -struct wd_device wd_device145,4275 -static struct wd_device wd_dev 157,4549 -static struct timer_list wd_timer;161,4626 -static int wd0_timeout 163,4662 -static int wd1_timeout 164,4690 -static int wd2_timeout 165,4718 -static inline unsigned short flip_word(201,5968 -#define wd_writew(wd_writew206,6086 -#define wd_readw(wd_readw207,6147 -#define wd_writeb(wd_writeb208,6198 -#define wd_readb(wd_readb209,6248 -static inline int wd_isbroken(216,6453 -static inline int wd_opt_enable(231,6876 -static inline int wd_opt_reboot(243,7182 -static inline int wd_opt_timeout(255,7497 -static int wd_open(281,8042 -static int wd_release(316,8757 -static int wd_ioctl(321,8835 -static ssize_t wd_write(397,10451 -static ssize_t wd_read(415,10743 -static irqreturn_t wd_interrupt(426,10946 -static struct file_operations wd_fops 441,11355 -static struct miscdevice wd0_miscdev 450,11526 -static struct miscdevice wd1_miscdev 451,11603 -static struct miscdevice wd2_miscdev 452,11680 -static void wd_dumpregs(455,11774 -static void wd_toggleintr(500,13173 -static void wd_pingtimer(521,13711 -static void wd_stoptimer(534,14054 -static void wd_starttimer(556,14633 -static void wd_resetbrokentimer(570,14974 -static int wd_inittimer(579,15205 -static void wd_brokentimer(646,17004 -static int wd_getstatus(673,17620 -static int __init wd_init(726,18787 -static void __exit wd_cleanup(785,20187 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/display7seg.c,531 -#define D7S_MINOR 25,680 -#define D7S_OBPNAME 26,702 -#define D7S_DEVNAME 27,736 -static int sol_compat 29,763 -static void __iomem* d7s_regs;73,2130 -static inline void d7s_free(75,2162 -static inline int d7s_obpflipped(80,2221 -static atomic_t d7s_users 89,2454 -static int d7s_open(91,2499 -static int d7s_release(99,2648 -static int d7s_ioctl(117,3088 -static struct file_operations d7s_fops 162,4148 -static struct miscdevice d7s_miscdev 169,4284 -static int __init d7s_init(171,4363 -static void __exit d7s_cleanup(218,5455 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/bbc_i2c.c,1498 -#define I2C_PCF_PIN 25,615 -#define I2C_PCF_ESO 26,640 -#define I2C_PCF_ES1 27,665 -#define I2C_PCF_ES2 28,690 -#define I2C_PCF_ENI 29,715 -#define I2C_PCF_STA 30,740 -#define I2C_PCF_STO 31,765 -#define I2C_PCF_ACK 32,790 -#define I2C_PCF_START 34,816 -#define I2C_PCF_STOP 35,911 -#define I2C_PCF_REPSTART 36,992 -#define I2C_PCF_IDLE 37,1073 -#define I2C_PCF_INI 39,1155 -#define I2C_PCF_STS 40,1209 -#define I2C_PCF_BER 41,1234 -#define I2C_PCF_AD0 42,1259 -#define I2C_PCF_LRB 43,1284 -#define I2C_PCF_AAS 44,1309 -#define I2C_PCF_LAB 45,1334 -#define I2C_PCF_BB 46,1359 -#define NUM_CHILDREN 55,1746 -struct bbc_i2c_bus bbc_i2c_bus56,1769 -static struct bbc_i2c_bus *all_bbc_i2c;74,2120 -struct bbc_i2c_client bbc_i2c_client76,2161 -static int find_device(83,2276 -static void set_device_claimage(97,2526 -#define claim_device(claim_device109,2769 -#define release_device(release_device110,2835 -static struct bbc_i2c_bus *find_bus_for_device(112,2903 -struct linux_ebus_child *bbc_i2c_getdev(125,3129 -struct bbc_i2c_client *bbc_i2c_attach(151,3590 -void bbc_i2c_detach(172,4070 -static int wait_for_pin(181,4261 -int bbc_i2c_writeb(207,4762 -int bbc_i2c_readb(238,5453 -int bbc_i2c_write_buf(287,6642 -int bbc_i2c_read_buf(307,6908 -static irqreturn_t bbc_i2c_interrupt(334,7391 -static void __init reset_one_i2c(348,7732 -static int __init attach_one_i2c(357,8053 -static int __init bbc_present(419,9528 -static int __init bbc_i2c_init(437,9881 -static void bbc_i2c_cleanup(464,10347 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/flash.c,366 -static spinlock_t flash_lock 27,628 -} flash;34,943 -#define FLASH_MINOR 36,953 -flash_mmap(39,989 -flash_llseek(85,2132 -flash_read(109,2559 -flash_open(130,2941 -flash_release(139,3089 -static struct file_operations flash_fops 148,3229 -static struct miscdevice flash_dev 160,3497 -static int __init flash_init(162,3574 -static void __exit flash_cleanup(248,5810 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/aurora.h,995 -#define __LINUX_AURORA_H63,3036 -#define AURORA_NBOARD 73,3253 -#define AURORA_PARANOIA_CHECK78,3429 -#define TYPE_1_IRQS 89,4002 -unsigned char type_1_irq[90,4024 -#define AURORA_FLOODPRO 129,5482 -#define AURORA_NCD180 146,5979 -#define AURORA_NPORT 147,6029 -#define AURORA_BOARD(AURORA_BOARD150,6101 -#define AURORA_CD180(AURORA_CD180151,6151 -#define AURORA_PORT(AURORA_PORT152,6201 -#define AURORA_TNPORTS 154,6242 -#define AURORA_TPS 157,6381 -#define AURORA_MAGIC 159,6407 -#define AURORA_RXFIFO 164,6531 -#define AURORA_RXTH 166,6593 -struct aurora_reg1 aurora_reg1168,6617 -struct aurora_reg128 aurora_reg128172,6673 -struct aurora_reg4 aurora_reg4176,6737 -struct Aurora_board Aurora_board180,6796 -#define AURORA_CFG_ENABLE_IO 205,7601 -#define AURORA_CFG_ENABLE_IRQ 206,7632 -#define AURORA_BOARD_PRESENT 209,7683 -#define AURORA_BOARD_ACTIVE 210,7724 -#define AURORA_BOARD_TYPE_2 211,7764 -#define AURORA_BOARD_DTR_FLOW_OK 213,7854 -struct Aurora_port Aurora_port240,9260 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/char/riowatchdog.c,765 -#define RIOWD_NAME 52,1787 -#define RIOWD_MINOR 53,1812 -static spinlock_t riowd_lock 55,1837 -static void *bbc_regs;57,1889 -static void *riowd_regs;58,1912 -#define WDTO_INDEX 59,1937 -static int riowd_timeout 61,1962 -static u8 riowd_readreg(66,2137 -static void riowd_writereg(80,2377 -static void riowd_pingtimer(90,2598 -static void riowd_stoptimer(95,2681 -static void riowd_starttimer(106,2868 -static int riowd_open(117,3067 -static int riowd_release(123,3177 -static int riowd_ioctl(128,3258 -static ssize_t riowd_write(186,4471 -static struct file_operations riowd_fops 196,4636 -static struct miscdevice riowd_miscdev 204,4803 -static int __init riowd_bbc_init(206,4887 -static int __init riowd_init(234,5414 -static void __exit riowd_cleanup(283,6345 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/sbus/dvma.c,137 -struct sbus_dma *dma_chain;18,378 -void __init init_one_dvma(20,407 -void __init dvma_init(62,1389 -void __init sun4_dvma_init(110,2350 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/pci.c,1020 -#define DBG(DBG22,475 -#define DBG(DBG24,509 -pci_bus_max_busnr(35,833 -pci_max_busnr(56,1240 -static int __pci_bus_find_cap(70,1450 -int pci_find_capability(122,2998 -int pci_bus_find_capability(140,3558 -int pci_find_ext_capability(163,4275 -pci_find_parent_resource(207,5338 -pci_set_power_state(245,6552 -pci_save_state(311,8352 -pci_restore_state(329,8722 -pci_enable_device_bars(364,9702 -pci_enable_device(383,10179 -pci_disable_device(397,10560 -int pci_enable_wake(425,11347 -pci_get_interrupt_pin(462,12309 -void pci_release_region(487,12947 -int pci_request_region(513,13839 -void pci_release_regions(550,14984 -int pci_request_regions(571,15574 -pci_set_master(595,16046 -u8 pci_cache_line_size 611,16450 -pci_generic_prep_mwi(624,16897 -pci_set_mwi(663,18155 -pci_clear_mwi(694,18774 -pci_set_dma_mask(710,19100 -pci_dac_set_dma_mask(721,19248 -pci_set_consistent_dma_mask(732,19400 -static int __devinit pci_init(743,19576 -static int __devinit pci_setup(753,19775 -struct pci_dev *isa_bridge;774,20231 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/bus.c,110 -pci_bus_alloc_resource(36,1000 -void __devinit pci_bus_add_devices(83,2296 -void pci_enable_bridges(125,3314 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehprm.h,103 -#define _PCIEHPRM_H_31,1120 -#define RES_CHECK(RES_CHECK45,1578 -#define RES_CHECK(RES_CHECK49,1720 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchp_sysfs.c,107 -static ssize_t show_ctrl 41,1283 -static ssize_t show_dev 85,2495 -void shpchp_create_ctrl_files 139,3955 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/ibmphp_hpc.c,2166 -static int to_debug 39,1170 -#define debug_polling(debug_polling40,1199 -#define CMD_COMPLETE_TOUT_SEC 45,1460 -#define HPC_CTLR_WORKING_TOUT 46,1526 -#define HPC_GETACCESS_TIMEOUT 47,1592 -#define POLL_INTERVAL_SEC 48,1636 -#define POLL_LATCH_CNT 49,1692 -#define WPG_I2CMBUFL_OFFSET 54,1957 -#define WPG_I2CMOSUP_OFFSET 55,2016 -#define WPG_I2CMCNTL_OFFSET 56,2083 -#define WPG_I2CPARM_OFFSET 57,2147 -#define WPG_I2CSTAT_OFFSET 58,2205 -#define WPG_I2C_AND 63,2494 -#define WPG_I2C_OR 64,2543 -#define WPG_READATADDR_MASK 69,2804 -#define WPG_WRITEATADDR_MASK 70,2875 -#define WPG_READDIRECT_MASK 71,2948 -#define WPG_WRITEDIRECT_MASK 72,2987 -#define WPG_I2CMCNTL_STARTOP_MASK 78,3232 -#define WPG_I2C_IOREMAP_SIZE 83,3462 -#define WPG_1ST_SLOT_INDEX 88,3709 -#define WPG_CTLR_INDEX 89,3770 -#define WPG_1ST_EXTSLOT_INDEX 90,3815 -#define WPG_1ST_BUS_INDEX 91,3883 -#define HPC_I2CSTATUS_CHECK(HPC_I2CSTATUS_CHECK97,4172 -static int ibmphp_shutdown;102,4422 -static int tid_poll;103,4450 -static struct semaphore sem_hpcaccess;104,4471 -static struct semaphore semOperations;105,4532 -static struct semaphore sem_exit;107,4632 -void __init ibmphp_hpc_initvars 130,5745 -static u8 i2c_ctrl_read 150,6229 -static u8 i2c_ctrl_write 258,9432 -static u8 isa_ctrl_read 357,12370 -static void isa_ctrl_write 372,12788 -static u8 pci_ctrl_read 382,13033 -static u8 pci_ctrl_write 391,13259 -static u8 ctrl_read 402,13510 -static u8 ctrl_write 422,13843 -static u8 hpc_writecmdtoindex 448,14485 -static u8 hpc_readcmdtoindex 494,15624 -int ibmphp_hpc_readslot 537,16484 -int ibmphp_hpc_writeslot 676,20562 -static void get_hpc_access 779,23646 -void free_hpc_access 787,23884 -void ibmphp_lock_operations 797,24190 -void ibmphp_unlock_operations 806,24456 -#define POLL_LATCH_REGISTER 817,24784 -#define POLL_SLOTS 818,24814 -#define POLL_SLEEP 819,24836 -static void poll_hpc 820,24858 -static int process_changeinstatus 934,27866 -static int process_changeinlatch 1021,30370 -static int hpc_poll_thread 1058,31468 -int __init ibmphp_hpc_start_poll_thread 1078,31902 -void __exit ibmphp_hpc_stop_poll_thread 1099,32470 -static int hpc_wait_ctlr_notworking 1133,33369 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpaphp.h,859 -#define _PPC64PHP_H28,956 -#define PHB 33,1026 -#define HOTPLUG 34,1044 -#define EMBEDDED 35,1062 -#define DR_INDICATOR 37,1082 -#define DR_ENTITY_SENSE 38,1108 -#define POWER_ON 40,1138 -#define POWER_OFF 41,1159 -#define LED_OFF 43,1180 -#define LED_ON 44,1199 -#define LED_ID 45,1237 -#define LED_ACTION 46,1275 -#define NEED_POWER 49,1357 -#define PWR_ONLY 50,1441 -#define ERR_SENSE_USE 51,1527 -#define EMPTY 54,1651 -#define PRESENT 55,1699 -#define MY_NAME 57,1745 -#define dbg(dbg59,1788 -#define err(err65,1933 -#define info(info66,2010 -#define warn(warn67,2089 -#define VIO_DEV 70,2189 -#define PCI_DEV 71,2207 -#define NOT_VALID 75,2245 -#define NOT_CONFIGURED 76,2265 -#define CONFIGURED 77,2290 -#define EMPTY 78,2311 -struct rpaphp_pci_func rpaphp_pci_func80,2329 -struct slot slot88,2477 -static inline int is_hotplug_capable(112,3092 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchp_core.c,1184 -int shpchp_debug;46,1450 -int shpchp_poll_mode;47,1468 -int shpchp_poll_time;48,1490 -struct controller *shpchp_ctrl_list;49,1512 -struct pci_func *shpchp_slot_list[50,1562 -#define DRIVER_VERSION 52,1603 -#define DRIVER_AUTHOR 53,1632 -#define DRIVER_DESC 54,1755 -#define SHPC_MODULE_NAME 67,2267 -static struct hotplug_slot_ops shpchp_hotplug_slot_ops 80,2966 -static void release_slot(97,3503 -static int init_slots(109,3808 -static void cleanup_slots(196,6559 -static int get_ctlr_slot_config(210,6819 -static int set_attention_status 240,7671 -static int enable_slot 253,7999 -static int disable_slot 263,8229 -static int get_power_status 272,8460 -static int get_attention_status 286,8814 -static int get_latch_status 300,9180 -static int get_adapter_status 314,9534 -static int get_max_bus_speed 328,9894 -static int get_cur_bus_speed 342,10252 -static int shpc_probe(356,10610 -static int shpc_start_thread(479,14076 -free_shpchp_res(502,14533 -static void __exit unload_shpchpd(513,14675 -static struct pci_device_id shpcd_pci_tbl[562,15601 -static struct pci_driver shpc_driver 579,15923 -static int __init shpcd_init(588,16080 -static void __exit shpcd_cleanup(617,16622 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpci_hotplug_core.c,1320 -#define DRIVER_VERSION 40,1267 -#define DRIVER_AUTHOR 41,1296 -#define DRIVER_DESC 42,1359 -#define MY_NAME 44,1407 -#define dbg(dbg46,1439 -#define err(err52,1593 -#define info(info53,1675 -#define warn(warn54,1759 -static spinlock_t list_lock;57,1869 -static int slots;59,1927 -int cpci_debug;60,1945 -static struct cpci_hp_controller *controller;61,1961 -static struct semaphore event_semaphore;62,2007 -static struct semaphore thread_exit;63,2106 -static int thread_finished 64,2205 -static struct hotplug_slot_ops cpci_hotplug_slot_ops 72,2552 -update_latch_status(82,2840 -update_adapter_status(92,3106 -enable_slot(102,3376 -disable_slot(117,3671 -cpci_get_power_status(157,4641 -get_power_status(168,4810 -get_attention_status(177,4985 -set_attention_status(186,5168 -static void release_slot(191,5306 -#define SLOT_NAME_SIZE 201,5526 -make_slot_name(203,5563 -cpci_hp_register_bus(210,5708 -cpci_hp_unregister_bus(295,7695 -cpci_hp_intr(328,8403 -init_slots(355,9090 -check_slots(395,10107 -event_thread(497,12644 -poll_thread(555,14095 -cpci_start_thread(605,15181 -cpci_stop_thread(628,15600 -cpci_hp_register_controller(640,15795 -cpci_hp_unregister_controller(665,16373 -cpci_hp_start(684,16691 -cpci_hp_stop(725,17331 -cleanup_slots(741,17589 -cpci_hotplug_init(769,18182 -cpci_hotplug_exit(779,18338 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp_core.c,1666 -int cpqhp_debug;52,1593 -int cpqhp_legacy_mode;53,1610 -struct controller *cpqhp_ctrl_list;54,1633 -struct pci_func *cpqhp_slot_list[55,1682 -static void *smbios_table;58,1744 -static void *smbios_start;59,1771 -static void *cpqhp_rom_start;60,1798 -static int power_mode;61,1828 -static int debug;62,1851 -#define DRIVER_VERSION 64,1870 -#define DRIVER_AUTHOR 65,1901 -#define DRIVER_DESC 66,1993 -#define CPQHPC_MODULE_MINOR 78,2331 -static struct hotplug_slot_ops cpqphp_hotplug_slot_ops 92,3086 -static inline int is_slot64bit(107,3567 -static inline int is_slot66mhz(112,3692 -static void * detect_SMBIOS_pointer(126,4073 -static int init_SERR(163,4694 -static int pci_print_IRQ_route 188,5120 -static void *get_subsequent_smbios_entry(235,6224 -static void *get_SMBIOS_entry(285,7346 -static void release_slot(310,7850 -static int ctrl_slot_setup(322,8140 -static int ctrl_slot_cleanup 450,12173 -get_slot_mapping(491,13307 -cpqhp_set_attention_status(571,15647 -static int set_attention_status 610,16346 -static int process_SI(637,17001 -static int process_SS(669,17777 -static int hardware_test(697,18467 -static int get_power_status(708,18741 -static int get_attention_status(719,19025 -static int get_latch_status(730,19322 -static int get_adapter_status(742,19611 -static int get_max_bus_speed 754,19901 -static int get_cur_bus_speed 766,20198 -static int cpqhpc_probe(778,20484 -static int one_time_init(1266,34402 -static void __exit unload_cpqphpd(1337,35926 -static struct pci_device_id hpcd_pci_tbl[1451,37770 -static struct pci_driver cpqhpc_driver 1470,38172 -static int __init cpqhpc_init(1479,38338 -static void __exit cpqhpc_cleanup(1492,38570 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpaphp_core.c,1052 -int debug;42,1431 -static struct semaphore rpaphp_sem;43,1442 -int num_slots;45,1507 -#define DRIVER_VERSION 47,1523 -#define DRIVER_AUTHOR 48,1552 -#define DRIVER_DESC 49,1604 -#define MAX_LOC_CODE 51,1662 -struct hotplug_slot_ops rpaphp_hotplug_slot_ops 67,2285 -static int rpaphp_get_attention_status(78,2641 -static int set_attention_status(90,2949 -static int get_power_status(122,3677 -static int get_attention_status(138,3997 -static int get_adapter_status(149,4257 -static int get_max_bus_speed(170,4726 -int rpaphp_remove_slot(209,5366 -static int get_children_props(214,5444 -int rpaphp_get_drc_props(247,6527 -static int is_php_dn(290,7545 -static int is_dr_dn(303,7818 -static inline int is_vdevice_root(320,8201 -int is_dlpar_type(325,8302 -int rpaphp_add_slot(338,8870 -static void init_slots(402,10553 -static int __init init_rpa(410,10684 -static void __exit cleanup_slots(423,10859 -static int __init rpaphp_init(442,11324 -static void __exit rpaphp_exit(450,11484 -static int enable_slot(455,11544 -static int disable_slot(483,12140 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/acpiphp_core.c,987 -#define MY_NAME 47,1487 -static int debug;49,1514 -int acpiphp_debug;50,1532 -static int num_slots;53,1574 -static struct acpiphp_attention_info *attention_info;54,1596 -#define DRIVER_VERSION 56,1651 -#define DRIVER_AUTHOR 57,1680 -#define DRIVER_DESC 58,1784 -static struct hotplug_slot_ops acpi_hotplug_slot_ops 79,2697 -int acpiphp_register_attention(100,3369 -int acpiphp_unregister_attention(121,3931 -static int enable_slot(140,4269 -static int disable_slot(158,4673 - static int set_attention_status(178,5250 -static int get_power_status(202,5893 -static int get_attention_status(224,6526 -static int get_latch_status(248,7155 -static int get_adapter_status(269,7666 -static int get_address(287,8078 -static int __init init_acpi(298,8328 -static void make_slot_name(321,8710 -static void release_slot(331,8936 -static int __init init_slots(347,9303 -static void __exit cleanup_slots 414,11216 -static int __init acpiphp_init(428,11532 -static void __exit acpiphp_exit(445,11790 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehprm_acpi.c,2946 -#define PCI_MAX_BUS 47,1367 -#define ACPI_STA_DEVICE_PRESENT 48,1394 -#define METHOD_NAME__SUN 50,1432 -#define METHOD_NAME__HPP 51,1464 -#define METHOD_NAME_OSHP 52,1496 -#define PHP_RES_BUS 54,1529 -#define PHP_RES_IO 55,1555 -#define PHP_RES_MEM 56,1580 -#define PHP_RES_PMEM 57,1606 -#define BRIDGE_TYPE_P2P 59,1634 -#define BRIDGE_TYPE_HOST 60,1664 -struct acpi__hpp acpi__hpp63,1741 -struct acpi_php_slot acpi_php_slot70,1838 -struct acpi_bridge acpi_bridge87,2198 -static struct acpi_bridge *acpi_bridges_head;111,3010 -static u8 * acpi_path_name(113,3057 -static int osc_exist 130,3521 -static int oshp_exist 131,3547 -static int run__osc_success 132,3574 -static int run_oshp_success 133,3607 -static int acpi_add_slot_to_php_slots(135,3641 -static void acpi_get__hpp 178,4528 -static void acpi_run_oshp 247,6557 -static acpi_status acpi_evaluate_crs(266,7083 -static void free_pci_resource 309,8073 -static void print_pci_resource 319,8246 -static void print_slot_resources(327,8447 -static void print_pci_resources(350,8894 -static int pciehprm_delete_resource(395,10021 -static int pciehprm_delete_resources(463,11421 -static int pciehprm_add_resource(476,11661 -static int pciehprm_add_resources(510,12259 -static void acpi_parse_io 524,12519 -static void acpi_parse_fixed_io 540,13017 -static void acpi_parse_address16_32 553,13351 -static acpi_status acpi_parse_crs(651,16559 -static acpi_status acpi_get_crs(721,18332 -find_acpi_bridge_by_bus(747,19110 -static void pciehprm_acpi_register_a_bridge 774,19551 -static acpi_status pciehprm_acpi_build_php_slots_callback(808,20452 -static int pciehprm_acpi_build_php_slots(887,22585 -static void build_a_bridge(910,23122 -static struct acpi_bridge * add_p2p_bridge(934,23861 -static acpi_status scan_p2p_bridge(980,25100 -static struct acpi_bridge * add_host_bridge(1027,26149 -static acpi_status acpi_scan_from_root_pci_callback 1084,27742 -static int pciehprm_acpi_scan_pci 1129,28829 -int pciehprm_init(1149,29247 -static void free_a_slot(1185,30132 -static void free_a_bridge(1197,30469 -static void pciehprm_free_bridges 1230,31389 -void pciehprm_cleanup(1244,31601 -static int get_number_of_slots 1249,31678 -static int print_acpi_resources 1276,32137 -int pciehprm_print_pirt(1309,32878 -static struct acpi_php_slot * get_acpi_slot 1318,33024 -void * pciehprm_get_slot(1346,33491 -static void pciehprm_dump_func_res(1359,33803 -static void pciehprm_dump_ctrl_res(1381,34287 -static int pciehprm_get_used_resources 1403,34777 -static int configure_existing_function(1411,34939 -static int bind_pci_resources_to_slots 1435,35623 -static int bind_pci_resources(1475,36706 -static int no_pci_resources(1533,38673 -static int find_pci_bridge_resources 1538,38805 -static int get_pci_resources_from_bridge(1566,39439 -static int get_pci_resources(1590,40134 -int pciehprm_find_available_resources(1611,40606 -int pciehprm_set_hpp(1641,41451 -void pciehprm_enable_card(1690,42883 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp_pci.c,853 -u8 cpqhp_nic_irq;43,1374 -u8 cpqhp_disk_irq;44,1392 -static u16 unused_IRQ;46,1412 -static void *detect_HRT_floating_pointer(54,1551 -int cpqhp_configure_device 85,2107 -int cpqhp_unconfigure_device(119,3042 -static int PCI_RefinedAccessConfig(133,3366 -int cpqhp_set_irq 152,3845 -static int PCI_ScanBusNonBridge 190,4843 -static int PCI_ScanBusForNonBridge(195,4911 -static int PCI_GetBusDevHelper(233,6005 -int cpqhp_get_bus_dev 298,7896 -int cpqhp_save_config(316,8356 -int cpqhp_save_slot_config 476,12630 -int cpqhp_save_base_addr_length(565,15015 -int cpqhp_save_used_resources 695,18246 -int cpqhp_configure_board(952,25695 -int cpqhp_valid_replace(1029,27770 -int cpqhp_find_available_resources 1165,31413 -int cpqhp_return_board_resources(1414,38161 -void cpqhp_destroy_resource_list 1470,39384 -void cpqhp_destroy_board_resources 1517,40096 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/ibmphp_core.c,1746 -#define attn_on(attn_on42,1354 -#define attn_off(attn_off43,1418 -#define attn_LED_blink(attn_LED_blink44,1483 -#define get_ctrl_revision(get_ctrl_revision45,1555 -#define get_hpc_options(get_hpc_options46,1635 -#define DRIVER_VERSION 48,1716 -#define DRIVER_DESC 49,1745 -int ibmphp_debug;51,1803 -static int debug;53,1822 -struct pci_bus *ibmphp_pci_bus;59,1984 -static int max_slots;60,2016 -static int irqs[62,2039 -static int init_flag;64,2167 -static inline int get_cur_bus_info 74,2396 -static inline int slot_update 100,3163 -static int __init get_max_slots 111,3361 -int ibmphp_init_devno 131,3968 -static inline int power_on 179,5771 -static inline int power_off 197,6168 -static int set_attention_status 214,6518 -static int get_attention_status 256,7436 -static int get_latch_status 282,8245 -static int get_power_status 306,8936 -static int get_adapter_present 329,9626 -static int get_max_bus_speed 358,10414 -static int get_cur_bus_speed 398,11330 -static int __init init_ops 506,14190 -static int validate 566,15779 -int ibmphp_update_slot_info 607,16831 -static struct pci_func *ibm_slot_find 668,18485 -static void free_slots 692,19293 -static void ibm_unconfigure_device(707,19645 -static u8 bus_structure_fixup 729,20246 -static int ibm_configure_device 767,21069 -static int is_bus_empty 806,22251 -static int set_bus 836,23032 -static int check_limitations 928,25741 -static inline void print_card_capability 966,26708 -static int enable_slot 985,27268 -static int ibmphp_disable_slot 1149,32375 -int ibmphp_do_disable_slot 1160,32606 -struct hotplug_slot_ops ibmphp_hotplug_slot_ops 1242,34469 -static void ibmphp_unload 1259,35044 -static int __init ibmphp_init 1274,35399 -static void __exit ibmphp_exit 1341,36590 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehp_core.c,1147 -int pciehp_debug;46,1453 -int pciehp_poll_mode;47,1471 -int pciehp_poll_time;48,1493 -struct controller *pciehp_ctrl_list;49,1515 -struct pci_func *pciehp_slot_list[50,1552 -#define DRIVER_VERSION 52,1593 -#define DRIVER_AUTHOR 53,1622 -#define DRIVER_DESC 54,1745 -#define PCIE_MODULE_NAME 67,2256 -static struct hotplug_slot_ops pciehp_hotplug_slot_ops 80,2955 -static int init_slots(93,3405 -static int cleanup_slots 181,5989 -static int get_ctlr_slot_config(202,6395 -static int set_attention_status(232,7348 -static int enable_slot(247,7699 -static int disable_slot(257,7912 -static int get_power_status(266,8126 -static int get_attention_status(280,8463 -static int get_latch_status(294,8812 -static int get_adapter_status(308,9149 -static int get_max_bus_speed(322,9492 -static int get_cur_bus_speed(336,9833 -static int pcie_probe(350,10174 -static int pcie_start_thread(485,14041 -free_pciehp_res(508,14498 -static void __exit unload_pciehpd(519,14640 -static struct pci_device_id pcied_pci_tbl[567,15515 -static struct pci_driver pcie_driver 584,15837 -static int __init pcied_init(593,15995 -static void __exit pcied_cleanup(622,16519 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpcihp_generic.c,843 -#define DRIVER_VERSION 44,1802 -#define DRIVER_AUTHOR 45,1831 -#define DRIVER_DESC 46,1894 -#define MY_NAME 49,2010 -#define MY_NAME 51,2049 -#define dbg(dbg54,2091 -#define err(err60,2240 -#define info(info61,2322 -#define warn(warn62,2406 -static int debug;65,2516 -static char* bridge;66,2534 -static u8 bridge_busnr;67,2555 -static u8 bridge_slot;68,2579 -static struct pci_bus *bus;69,2602 -static u8 first_slot;70,2630 -static u8 last_slot;71,2652 -static u16 port;72,2673 -static unsigned int enum_bit;73,2690 -static u8 enum_mask;74,2720 -static struct cpci_hp_controller_ops generic_hpc_ops;76,2742 -static struct cpci_hp_controller generic_hpc;77,2796 -static int __init validate_parameters(79,2843 -static int query_enum(134,4030 -static int __init cpcihp_generic_init(142,4141 -static void __exit cpcihp_generic_exit(198,5495 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchp_pci.c,418 -int shpchp_configure_device 44,1447 -int shpchp_unconfigure_device(80,2472 -int shpchp_set_irq 105,2988 -int shpchp_save_config(148,4138 -int shpchp_save_slot_config(351,9467 -int shpchp_save_used_resources(463,12201 -return_resource_list(725,20264 -int shpchp_return_board_resources(747,20678 -kfree_resource_list(774,21497 -void shpchp_destroy_resource_list(792,21786 -void shpchp_destroy_board_resources(804,22160 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchprm_acpi.c,2863 -#define PCI_MAX_BUS 46,1339 -#define ACPI_STA_DEVICE_PRESENT 47,1366 -#define METHOD_NAME__SUN 49,1404 -#define METHOD_NAME__HPP 50,1436 -#define METHOD_NAME_OSHP 51,1468 -#define PHP_RES_BUS 53,1501 -#define PHP_RES_IO 54,1527 -#define PHP_RES_MEM 55,1552 -#define PHP_RES_PMEM 56,1578 -#define BRIDGE_TYPE_P2P 58,1606 -#define BRIDGE_TYPE_HOST 59,1636 -struct acpi__hpp acpi__hpp62,1713 -struct acpi_php_slot acpi_php_slot69,1810 -struct acpi_bridge acpi_bridge86,2171 -static struct acpi_bridge *acpi_bridges_head;110,2987 -static u8 * acpi_path_name(112,3034 -static int acpi_add_slot_to_php_slots(130,3499 -static void acpi_get__hpp 172,4370 -static void acpi_run_oshp 241,6399 -static acpi_status acpi_evaluate_crs(256,6838 -static void free_pci_resource 299,7829 -static void print_pci_resource 309,8002 -static void print_slot_resources(317,8203 -static void print_pci_resources(340,8650 -static int shpchprm_delete_resource(385,9777 -static int shpchprm_delete_resources(453,11177 -static int shpchprm_add_resource(466,11417 -static int shpchprm_add_resources(500,12015 -static void acpi_parse_io 514,12275 -static void acpi_parse_fixed_io 530,12773 -static void acpi_parse_address16_32 543,13108 -static acpi_status acpi_parse_crs(641,16318 -static acpi_status acpi_get_crs(711,18089 -find_acpi_bridge_by_bus(737,18867 -static void shpchprm_acpi_register_a_bridge 764,19308 -static acpi_status shpchprm_acpi_build_php_slots_callback(798,20209 -static int shpchprm_acpi_build_php_slots(876,22337 -static void build_a_bridge(899,22874 -static struct acpi_bridge * add_p2p_bridge(923,23613 -static acpi_status scan_p2p_bridge(969,24852 -static struct acpi_bridge * add_host_bridge(1016,25898 -static acpi_status acpi_scan_from_root_pci_callback 1063,27175 -static int shpchprm_acpi_scan_pci 1108,28262 -int shpchprm_init(1128,28680 -static void free_a_slot(1147,29027 -static void free_a_bridge(1159,29364 -static void shpchprm_free_bridges 1192,30284 -void shpchprm_cleanup(1206,30496 -static int get_number_of_slots 1211,30573 -static int print_acpi_resources 1238,31032 -int shpchprm_print_pirt(1271,31772 -static struct acpi_php_slot * get_acpi_slot 1279,31917 -static void * shpchprm_get_slot(1307,32384 -static void shpchprm_dump_func_res(1320,32703 -static void shpchprm_dump_ctrl_res(1342,33187 -static int shpchprm_get_used_resources 1364,33677 -static int configure_existing_function(1372,33839 -static int bind_pci_resources_to_slots 1396,34523 -static int bind_pci_resources(1435,35560 -static int no_pci_resources(1493,37526 -static int find_pci_bridge_resources 1498,37658 -static int get_pci_resources_from_bridge(1526,38267 -static int get_pci_resources(1550,38962 -int shpchprm_get_physical_slot_number(1565,39232 -int shpchprm_find_available_resources(1580,39747 -int shpchprm_set_hpp(1610,40591 -void shpchprm_enable_card(1659,42023 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/ibmphp_ebda.c,1987 -static struct ebda_hpc_list *hpc_list_ptr;57,1846 -static struct ebda_rsrc_list *rsrc_list_ptr;58,1889 -static struct rio_table_hdr *rio_table_ptr 59,1934 -static void *io_mem;66,2181 -static struct ebda_hpc_list * __init alloc_ebda_hpc_list 73,2334 -static struct controller *alloc_ebda_hpc 84,2570 -static void free_ebda_hpc 116,3369 -static struct ebda_rsrc_list * __init alloc_ebda_rsrc_list 123,3509 -static struct ebda_pci_rsrc *alloc_ebda_pci_rsrc 134,3749 -static void __init print_bus_info 145,4001 -static void print_lo_info 168,4997 -static void print_vg_info 185,5624 -static void __init print_ebda_pci_rsrc 202,6252 -static void __init print_ibm_slot 214,6658 -static void __init print_opt_vg 225,6914 -static void __init print_ebda_hpc 239,7411 -int __init ibmphp_access_ebda 284,9037 -static int __init ebda_rio_table 437,13054 -static struct opt_rio *search_opt_vg 484,15227 -static int __init combine_wpg_for_chassis 496,15501 -static struct opt_rio_lo *search_opt_lo 527,16658 -static int combine_wpg_for_expansion 539,16944 -static int first_slot_num 575,18408 -static struct opt_rio_lo * find_rxe_num 602,19113 -static struct opt_rio * find_chassis_num 616,19545 -static u8 calculate_first_slot 633,20117 -static char *create_file_name 649,20591 -static int fillslotinfo(718,22203 -static void release_slot(756,23192 -static struct pci_driver ibmphp_driver;776,23652 -static int __init ebda_rsrc_controller 783,23873 -static int __init ebda_rsrc_rsrc 1059,32304 -u16 ibmphp_get_total_controllers 1124,34225 -struct slot *ibmphp_get_slot_from_physical_num 1129,34303 -struct bus_info *ibmphp_find_same_bus_num 1148,34768 -int ibmphp_get_bus_index 1164,35118 -void ibmphp_free_bus_info_queue 1177,35375 -void ibmphp_free_ebda_hpc_queue 1189,35637 -void ibmphp_free_ebda_pci_rsrc_queue 1208,36220 -static struct pci_device_id id_table[1221,36532 -static struct pci_driver ibmphp_driver 1234,36887 -int ibmphp_register_pci 1240,37002 -static int ibmphp_probe 1255,37302 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/ibmphp.h,7381 -#define __IBMPHP_H2,19 - #define MY_NAME 38,1153 - #define MY_NAME 40,1186 -#define debug(debug42,1228 -#define debug_pci(debug_pci43,1345 -#define err(err44,1461 -#define info(info45,1539 -#define warn(warn46,1619 -#define EBDA_SLOT_133_MAX 55,1906 -#define EBDA_SLOT_100_MAX 56,1938 -#define EBDA_SLOT_66_MAX 57,1970 -#define EBDA_SLOT_PCIX_CAP 58,2001 -#define EBDA_RSRC_TYPE_MASK 65,2223 -#define EBDA_IO_RSRC_TYPE 66,2257 -#define EBDA_MEM_RSRC_TYPE 67,2289 -#define EBDA_PFM_RSRC_TYPE 68,2322 -#define EBDA_RES_RSRC_TYPE 69,2355 -#define EBDA_IO_RESTRI_MASK 76,2580 -#define EBDA_NO_RESTRI 77,2614 -#define EBDA_AVO_VGA_ADDR 78,2644 -#define EBDA_AVO_VGA_ADDR_AND_ALIA 79,2676 -#define EBDA_AVO_ISA_ADDR 80,2716 -#define EBDA_DEV_TYPE_MASK 87,2943 -#define EBDA_PCI_DEV 88,2976 -#define EBDA_NON_PCI_DEV 89,3004 -#define EBDA_PRI_DEF_MASK 96,3233 -#define EBDA_PRI_PCI_BUS_INFO 97,3265 -#define EBDA_NORM_DEV_RSRC_INFO 98,3301 -struct rio_table_hdr rio_table_hdr105,3500 -struct scal_detail scal_detail116,3739 -struct rio_detail rio_detail133,4133 -struct opt_rio opt_rio149,4406 -struct opt_rio_lo opt_rio_lo157,4527 -struct ebda_hpc_list ebda_hpc_list170,4869 -struct ebda_hpc_slot ebda_hpc_slot181,5250 -struct ebda_hpc_bus ebda_hpc_bus188,5339 -struct isa_ctlr_access isa_ctlr_access202,5703 -struct pci_ctlr_access pci_ctlr_access207,5760 -struct wpeg_i2c_ctlr_access wpeg_i2c_ctlr_access212,5811 -#define HPC_DEVICE_ID 217,5876 -#define HPC_SUBSYSTEM_ID 218,5906 -#define HPC_PCI_OFFSET 219,5938 -struct ebda_rsrc_list ebda_rsrc_list224,6193 -struct ebda_pci_rsrc ebda_pci_rsrc236,6530 -struct bus_info bus_info251,6881 -#define MEM 291,8180 -#define IO 292,8195 -#define PFMEM 293,8209 -#define RESTYPE 296,8243 -#define IOMASK 297,8265 -#define MMASK 298,8325 -#define PFMASK 299,8345 -#define PCIDEVMASK 300,8366 -#define PRIMARYBUSMASK 301,8430 -#define PCI_VENDOR_ID_NOTVALID 304,8486 -#define PCI_HEADER_TYPE_MULTIDEVICE 305,8525 -#define PCI_HEADER_TYPE_MULTIBRIDGE 306,8566 -#define LATENCY 308,8608 -#define CACHE 309,8630 -#define DEVICEENABLE 310,8648 -#define IOBRIDGE 312,8699 -#define MEMBRIDGE 313,8733 -#define SCSI_IRQ 316,8781 -#define LAN_IRQ 317,8803 -#define OTHER_IRQ 318,8825 -struct range_node range_node335,9440 -struct bus_node bus_node342,9526 -struct resource_node resource_node360,10117 -struct res_needed res_needed374,10463 -#define FALSE 409,11815 -#define TRUE 410,11837 -#define HPC_ERROR 411,11858 -#define BUS_SPEED 416,12056 -#define BUS_MODE 417,12081 -#define BUS_MODE_PCIX 418,12105 -#define BUS_MODE_PCI 419,12134 -#define BUS_SPEED_2 420,12162 -#define BUS_SPEED_1 421,12189 -#define BUS_SPEED_33 422,12216 -#define BUS_SPEED_66 423,12244 -#define BUS_SPEED_100 424,12272 -#define BUS_SPEED_133 425,12301 -#define BUS_SPEED_66PCIX 426,12330 -#define BUS_SPEED_66UNKNOWN 427,12361 -#define BUS_STATUS_AVAILABLE 428,12395 -#define BUS_CONTROL_AVAILABLE 429,12430 -#define SLOT_LATCH_REGS_SUPPORTED 430,12466 -#define PRGM_MODEL_REV_LEVEL 432,12506 -#define MAX_ADAPTER_NONE 433,12541 -#define HPC_CTLR_ENABLEIRQ 441,12881 -#define HPC_CTLR_DISABLEIRQ 442,12921 -#define HPC_SLOT_OFF 443,12962 -#define HPC_SLOT_ON 444,12999 -#define HPC_SLOT_ATTNOFF 445,13035 -#define HPC_SLOT_ATTNON 446,13075 -#define HPC_CTLR_CLEARIRQ 447,13115 -#define HPC_CTLR_RESET 448,13154 -#define HPC_CTLR_IRQSTEER 449,13191 -#define HPC_BUS_33CONVMODE 450,13230 -#define HPC_BUS_66CONVMODE 451,13273 -#define HPC_BUS_66PCIXMODE 452,13316 -#define HPC_BUS_100PCIXMODE 453,13359 -#define HPC_BUS_133PCIXMODE 454,13403 -#define HPC_ALLSLOT_OFF 455,13447 -#define HPC_ALLSLOT_ON 456,13485 -#define HPC_SLOT_BLINKLED 457,13522 -#define READ_SLOTSTATUS 462,13739 -#define READ_EXTSLOTSTATUS 463,13769 -#define READ_BUSSTATUS 464,13801 -#define READ_CTLRSTATUS 465,13830 -#define READ_ALLSTAT 466,13860 -#define READ_ALLSLOT 467,13887 -#define READ_SLOTLATCHLOWREG 468,13914 -#define READ_REVLEVEL 469,13948 -#define READ_HPCOPTIONS 470,13976 -#define HPC_SLOT_POWER 474,14179 -#define HPC_SLOT_CONNECT 475,14208 -#define HPC_SLOT_ATTN 476,14238 -#define HPC_SLOT_PRSNT2 477,14266 -#define HPC_SLOT_PRSNT1 478,14296 -#define HPC_SLOT_PWRGD 479,14326 -#define HPC_SLOT_BUS_SPEED 480,14355 -#define HPC_SLOT_LATCH 481,14387 -#define HPC_SLOT_POWER_OFF 486,14613 -#define HPC_SLOT_POWER_ON 487,14645 -#define HPC_SLOT_CONNECTED 492,14875 -#define HPC_SLOT_DISCONNECTED 493,14907 -#define HPC_SLOT_ATTN_OFF 498,15138 -#define HPC_SLOT_ATTN_ON 499,15169 -#define HPC_SLOT_ATTN_BLINK 500,15199 -#define HPC_SLOT_EMPTY 505,15429 -#define HPC_SLOT_PRSNT_7 506,15458 -#define HPC_SLOT_PRSNT_15 507,15488 -#define HPC_SLOT_PRSNT_25 508,15519 -#define HPC_SLOT_PWRGD_FAULT_NONE 513,15747 -#define HPC_SLOT_PWRGD_GOOD 514,15786 -#define HPC_SLOT_BUS_SPEED_OK 519,16021 -#define HPC_SLOT_BUS_SPEED_MISM 520,16056 -#define HPC_SLOT_LATCH_OPEN 525,16290 -#define HPC_SLOT_LATCH_CLOSED 526,16360 -#define HPC_SLOT_PCIX 532,16618 -#define HPC_SLOT_SPEED1 533,16646 -#define HPC_SLOT_SPEED2 534,16676 -#define HPC_SLOT_BLINK_ATTN 535,16706 -#define HPC_SLOT_RSRVD1 536,16739 -#define HPC_SLOT_RSRVD2 537,16769 -#define HPC_SLOT_BUS_MODE 538,16799 -#define HPC_SLOT_RSRVD3 539,16830 -#define HPC_SLOT_PCIX_NO 544,17061 -#define HPC_SLOT_PCIX_YES 545,17091 -#define HPC_SLOT_SPEED_33 550,17320 -#define HPC_SLOT_SPEED_66 551,17351 -#define HPC_SLOT_SPEED_133 552,17382 -#define HPC_SLOT_ATTN_BLINK_OFF 557,17617 -#define HPC_SLOT_ATTN_BLINK_ON 558,17654 -#define HPC_SLOT_BUS_MODE_OK 563,17891 -#define HPC_SLOT_BUS_MODE_MISM 564,17925 -#define HPC_CTLR_WORKING 569,18141 -#define HPC_CTLR_FINISHED 570,18171 -#define HPC_CTLR_RESULT0 571,18202 -#define HPC_CTLR_RESULT1 572,18232 -#define HPC_CTLR_RESULE2 573,18262 -#define HPC_CTLR_RESULT3 574,18292 -#define HPC_CTLR_IRQ_ROUTG 575,18322 -#define HPC_CTLR_IRQ_PENDG 576,18354 -#define HPC_CTLR_WORKING_NO 581,18585 -#define HPC_CTLR_WORKING_YES 582,18618 -#define HPC_CTLR_FINISHED_NO 587,18852 -#define HPC_CTLR_FINISHED_YES 588,18886 -#define HPC_CTLR_RESULT_SUCCESS 593,19119 -#define HPC_CTLR_RESULT_FAILED 594,19156 -#define HPC_CTLR_RESULT_RSVD 595,19192 -#define HPC_CTLR_RESULT_NORESP 596,19226 -#define SLOT_POWER(SLOT_POWER602,19445 -#define SLOT_CONNECT(SLOT_CONNECT605,19542 -#define SLOT_ATTN(SLOT_ATTN608,19647 -#define SLOT_PRESENT(SLOT_PRESENT612,19799 -#define SLOT_PWRGD(SLOT_PWRGD616,19989 -#define SLOT_BUS_SPEED(SLOT_BUS_SPEED619,20095 -#define SLOT_LATCH(SLOT_LATCH622,20209 -#define SLOT_PCIX(SLOT_PCIX625,20311 -#define SLOT_SPEED(SLOT_SPEED628,20406 -#define SLOT_BUS_MODE(SLOT_BUS_MODE633,20566 -#define CURRENT_BUS_SPEED(CURRENT_BUS_SPEED639,20855 -#define CURRENT_BUS_MODE(CURRENT_BUS_MODE643,21022 -#define READ_BUS_STATUS(READ_BUS_STATUS645,21104 -#define READ_BUS_MODE(READ_BUS_MODE647,21175 -#define SET_BUS_STATUS(SET_BUS_STATUS649,21248 -#define READ_SLOT_LATCH(READ_SLOT_LATCH651,21319 -#define CTLR_WORKING(CTLR_WORKING656,21582 -#define CTLR_FINISHED(CTLR_FINISHED658,21686 -#define CTLR_RESULT(CTLR_RESULT660,21794 -#define NEEDTOCHECK_CMDSTATUS(NEEDTOCHECK_CMDSTATUS667,22071 -#define ENABLE 681,22503 -#define DISABLE 682,22521 -#define CARD_INFO 684,22541 -#define PCIX133 685,22564 -#define PCIX66 686,22586 -#define PCI66 687,22607 -struct pci_func pci_func693,22685 -struct slot slot707,23039 -struct controller controller730,23506 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehp.h,2538 -#define _PCIEHP_H30,1088 -#define MY_NAME 38,1230 -#define dbg(dbg45,1459 -#define err(err46,1563 -#define info(info47,1640 -#define warn(warn48,1719 -struct pci_func pci_func50,1802 -struct slot slot71,2205 -struct pci_resource pci_resource91,2552 -struct event_info event_info97,2631 -struct controller controller102,2685 -struct irq_mapping irq_mapping133,3565 -struct resource_lists resource_lists139,3640 -#define INT_BUTTON_IGNORE 147,3824 -#define INT_PRESENCE_ON 148,3853 -#define INT_PRESENCE_OFF 149,3881 -#define INT_SWITCH_CLOSE 150,3909 -#define INT_SWITCH_OPEN 151,3937 -#define INT_POWER_FAULT 152,3965 -#define INT_POWER_FAULT_CLEAR 153,3993 -#define INT_BUTTON_PRESS 154,4026 -#define INT_BUTTON_RELEASE 155,4054 -#define INT_BUTTON_CANCEL 156,4084 -#define STATIC_STATE 158,4114 -#define BLINKINGON_STATE 159,4139 -#define BLINKINGOFF_STATE 160,4167 -#define POWERON_STATE 161,4196 -#define POWEROFF_STATE 162,4222 -#define PCI_TO_PCI_BRIDGE_CLASS 164,4250 -#define INTERLOCK_OPEN 167,4316 -#define ADD_NOT_SUPPORTED 168,4352 -#define CARD_FUNCTIONING 169,4390 -#define ADAPTER_NOT_SAME 170,4427 -#define NO_ADAPTER_PRESENT 171,4464 -#define NOT_ENOUGH_RESOURCES 172,4503 -#define DEVICE_TYPE_NOT_SUPPORTED 173,4544 -#define WRONG_BUS_FREQUENCY 174,4589 -#define POWER_FAILURE 175,4629 -#define REMOVE_NOT_SUPPORTED 177,4665 -#define DISABLE_CARD 179,4707 -#define ATTN_BUTTN_PRSN 182,4787 -#define PWR_CTRL_PRSN 183,4822 -#define MRL_SENS_PRSN 184,4855 -#define ATTN_LED_PRSN 185,4888 -#define PWR_LED_PRSN 186,4921 -#define HP_SUPR_RM_SUP 187,4953 -#define ATTN_BUTTN(ATTN_BUTTN189,4988 -#define POWER_CTRL(POWER_CTRL190,5037 -#define MRL_SENS(MRL_SENS191,5084 -#define ATTN_LED(ATTN_LED192,5129 -#define PWR_LED(PWR_LED193,5174 -#define HP_SUPR_RM(HP_SUPR_RM194,5218 -#define msg_initialization_err 199,5292 -#define msg_HPC_rev_error 200,5360 -#define msg_HPC_non_pcie 201,5449 -#define msg_HPC_not_supported 202,5539 -#define msg_unable_to_save 203,5675 -#define msg_button_on 204,5821 -#define msg_button_off 205,5896 -#define msg_button_cancel 206,5973 -#define msg_button_ignore 207,6055 -static inline struct slot *pciehp_find_slot(249,8201 -static inline int wait_for_ctrl_irq(270,8646 -static inline void return_resource(295,9240 -#define SLOT_NAME_SIZE 303,9402 -static inline void make_slot_name(305,9429 -enum php_ctlr_type php_ctlr_type310,9570 - PCI,311,9591 - ISA,312,9597 - ACPI313,9603 -typedef u8(*php_intr_callback_t)php_intr_callback_t316,9613 -struct hpc_ops hpc_ops332,10165 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpci_hotplug.h,369 -#define _CPCI_HOTPLUG_H29,1016 -#define HS_CSR_INS 35,1125 -#define HS_CSR_EXT 36,1151 -#define HS_CSR_PI 37,1177 -#define HS_CSR_LOO 38,1202 -#define HS_CSR_PIE 39,1228 -#define HS_CSR_EIM 40,1254 -#define HS_CSR_DHA 41,1280 -struct slot slot43,1307 -struct cpci_hp_controller_ops cpci_hp_controller_ops53,1493 -struct cpci_hp_controller cpci_hp_controller63,1788 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehprm_nonacpi.c,702 -void pciehprm_cleanup(45,1400 -int pciehprm_print_pirt(50,1442 -int pciehprm_get_physical_slot_number(55,1488 -static void print_pci_resource 63,1634 -static void phprm_dump_func_res(72,1836 -static int phprm_get_used_resources 94,2317 -static int phprm_delete_resource(102,2476 -static int phprm_delete_resources(171,3874 -static int configure_existing_function(185,4109 -static int pciehprm_delete_resource(209,4778 -static int bind_pci_resources_to_slots 277,6178 -static void phprm_dump_ctrl_res(320,7346 -int pciehprm_find_available_resources(351,8054 -int pciehprm_set_hpp(399,9296 -void pciehprm_enable_card(448,10585 -static int legacy_pciehprm_init_pci(482,11509 -int pciehprm_init(487,11567 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpadlpar_core.c,900 -#define NODE_TYPE_VIO 28,723 -#define NODE_TYPE_SLOT 29,748 -#define NODE_TYPE_PHB 30,773 -static struct device_node *find_php_slot_vio_node(32,799 -static struct device_node *find_php_slot_pci_node(52,1348 -static struct device_node *find_newly_added_node(70,1721 -static struct slot *find_slot(95,2157 -static void rpadlpar_claim_one_bus(109,2512 -static int pci_add_secondary_bus(131,3013 -static struct pci_dev *dlpar_pci_add_bus(167,3932 -static int dlpar_pci_remove_bus(200,4770 -static inline int dlpar_add_pci_slot(222,5188 -static int dlpar_remove_root_bus(237,5461 -static int dlpar_remove_phb(258,5823 -static int dlpar_add_phb(291,6405 -int dlpar_add_slot(315,6902 -int dlpar_remove_vio_slot(371,7982 -int dlpar_remove_pci_slot(394,8496 -int dlpar_remove_slot(435,9419 -static inline int is_dlpar_capable(474,10104 -int __init rpadlpar_io_init(481,10244 -void rpadlpar_io_exit(495,10461 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/acpiphp_pci.c,312 -#define MY_NAME 42,1377 -static int init_config_space 46,1463 -static int detect_used_resource 199,5363 -int acpiphp_detect_pci_resource 243,6451 -int acpiphp_init_func_resource 264,6913 -int acpiphp_configure_slot 377,9376 -int acpiphp_configure_function 419,10260 -void acpiphp_unconfigure_function 430,10482 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehp_pci.c,419 -int pciehp_configure_device 45,1451 -int pciehp_unconfigure_device(81,2415 -int pciehp_set_irq 114,3136 -int pciehp_save_config(157,4286 -int pciehp_save_slot_config(366,10122 -int pciehp_save_used_resources(478,12856 -return_resource_list(741,20919 -int pciehp_return_board_resources(763,21333 -kfree_resource_list(791,22152 -void pciehp_destroy_resource_list(809,22441 -void pciehp_destroy_board_resources(821,22816 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/acpiphp_glue.c,1281 -#define MY_NAME 43,1302 -static int is_ejectable(69,1830 -is_ejectable_slot(90,2203 -register_slot(106,2535 -static int detect_ejectable_slots(215,5288 -decode_acpi_resource(234,5713 -static void decode_hpp(287,7149 -static void init_bridge_misc(342,8669 -static void add_host_bridge(374,9499 -static void add_p2p_bridge(426,10768 -find_p2p_bridge(576,15277 -static int add_bridge(621,16338 -static void remove_bridge(676,17702 -static int power_on_slot(682,17778 -static int power_off_slot(717,18515 -static int enable_device(783,20058 -static int disable_device(857,21756 -static unsigned int get_slot_status(892,22497 -static int acpiphp_check_bridge(928,23365 -static void handle_hotplug_event_bridge(979,24423 -static void handle_hotplug_event_func(1045,26096 -static struct acpi_pci_driver acpi_pci_hp_driver 1087,27193 -int __init acpiphp_glue_init(1096,27387 -void __exit acpiphp_glue_exit(1117,27736 -int __init acpiphp_get_num_slots(1166,29129 -static int acpiphp_for_each_slot(1192,29646 -struct acpiphp_slot *get_slot_from_id(1214,30097 -int acpiphp_enable_slot(1237,30568 -int acpiphp_disable_slot(1261,30964 -u8 acpiphp_get_power_status(1294,31669 -u8 acpiphp_get_latch_status(1308,31870 -u8 acpiphp_get_adapter_status(1322,32082 -u32 acpiphp_get_address(1335,32260 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpcihp_zt5550.h,1030 -#define _CPCIHP_ZT5550_H34,1483 -#define CSR_HCINDEX 37,1532 -#define CSR_HCDATA 38,1558 -#define CSR_INTSTAT 39,1583 -#define CSR_INTMASK 40,1609 -#define CSR_CNT0CMD 41,1635 -#define CSR_CNT1CMD 42,1661 -#define CSR_CNT0 43,1687 -#define CSR_CNT1 44,1710 -#define CNT0_INT_MASK 47,1796 -#define CNT1_INT_MASK 48,1824 -#define ENUM_INT_MASK 49,1852 -#define ALL_DIRECT_INTS_MASK 50,1880 -#define HC_INT_MASK_REG 53,1969 -#define HC_STATUS_REG 54,1999 -#define HC_CMD_REG 55,2027 -#define ARB_CONFIG_GNT_REG 56,2052 -#define ARB_CONFIG_CFG_REG 57,2084 -#define ARB_CONFIG_REG 58,2116 -#define ISOL_CONFIG_REG 59,2146 -#define FAULT_STATUS_REG 60,2176 -#define FAULT_CONFIG_REG 61,2206 -#define WD_CONFIG_REG 62,2236 -#define HC_DIAG_REG 63,2264 -#define SERIAL_COMM_REG 64,2290 -#define SERIAL_OUT_REG 65,2320 -#define SERIAL_IN_REG 66,2349 -#define SERIAL_INT_MASK 69,2445 -#define FAULT_INT_MASK 70,2475 -#define HCF_INT_MASK 71,2504 -#define ALL_INDEXED_INTS_MASK 72,2531 -#define ENUM_PORT 75,2604 -#define ENUM_MASK 77,2673 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpaphp_vio.c,207 -inline int rpaphp_get_vio_adapter_status(37,1110 -int rpaphp_unconfig_vio_adapter(43,1233 -static int setup_vio_hotplug_slot_info(62,1754 -int register_vio_slot(70,1960 -int rpaphp_enable_vio_slot(114,3058 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pci_hotplug.h,2216 -#define _PCI_HOTPLUG_H29,1013 -enum pci_bus_speed pci_bus_speed33,1088 - PCI_SPEED_33MHz 34,1109 - PCI_SPEED_33MHz = 0x00,34,1109 - PCI_SPEED_66MHz 35,1136 - PCI_SPEED_66MHz = 0x01,35,1136 - PCI_SPEED_66MHz_PCIX 36,1163 - PCI_SPEED_66MHz_PCIX = 0x02,36,1163 - PCI_SPEED_100MHz_PCIX 37,1194 - PCI_SPEED_100MHz_PCIX = 0x03,37,1194 - PCI_SPEED_133MHz_PCIX 38,1226 - PCI_SPEED_133MHz_PCIX = 0x04,38,1226 - PCI_SPEED_66MHz_PCIX_ECC 39,1258 - PCI_SPEED_66MHz_PCIX_ECC = 0x05,39,1258 - PCI_SPEED_100MHz_PCIX_ECC 40,1292 - PCI_SPEED_100MHz_PCIX_ECC = 0x06,40,1292 - PCI_SPEED_133MHz_PCIX_ECC 41,1327 - PCI_SPEED_133MHz_PCIX_ECC = 0x07,41,1327 - PCI_SPEED_66MHz_PCIX_266 42,1362 - PCI_SPEED_66MHz_PCIX_266 = 0x09,42,1362 - PCI_SPEED_100MHz_PCIX_266 43,1396 - PCI_SPEED_100MHz_PCIX_266 = 0x0a,43,1396 - PCI_SPEED_133MHz_PCIX_266 44,1431 - PCI_SPEED_133MHz_PCIX_266 = 0x0b,44,1431 - PCI_SPEED_66MHz_PCIX_533 45,1466 - PCI_SPEED_66MHz_PCIX_533 = 0x11,45,1466 - PCI_SPEED_100MHz_PCIX_533 46,1500 - PCI_SPEED_100MHz_PCIX_533 = 0x12,46,1500 - PCI_SPEED_133MHz_PCIX_533 47,1535 - PCI_SPEED_133MHz_PCIX_533 = 0x13,47,1535 - PCI_SPEED_UNKNOWN 48,1570 - PCI_SPEED_UNKNOWN = 0xff,48,1570 -enum pcie_link_width pcie_link_width52,1652 - PCIE_LNK_WIDTH_RESRV 53,1675 - PCIE_LNK_WIDTH_RESRV = 0x00,53,1675 - PCIE_LNK_X1 54,1705 - PCIE_LNK_X1 = 0x01,54,1705 - PCIE_LNK_X2 55,1727 - PCIE_LNK_X2 = 0x02,55,1727 - PCIE_LNK_X4 56,1749 - PCIE_LNK_X4 = 0x04,56,1749 - PCIE_LNK_X8 57,1771 - PCIE_LNK_X8 = 0x08,57,1771 - PCIE_LNK_X12 58,1793 - PCIE_LNK_X12 = 0x0C,58,1793 - PCIE_LNK_X16 59,1816 - PCIE_LNK_X16 = 0x10,59,1816 - PCIE_LNK_X32 60,1839 - PCIE_LNK_X32 = 0x20,60,1839 - PCIE_LNK_WIDTH_UNKNOWN 61,1862 - PCIE_LNK_WIDTH_UNKNOWN = 0xFF,61,1862 -enum pcie_link_speed pcie_link_speed64,1899 - PCIE_2PT5GB 65,1922 - PCIE_2PT5GB = 0x14,65,1922 - PCIE_LNK_SPEED_UNKNOWN 66,1944 - PCIE_LNK_SPEED_UNKNOWN = 0xFF,66,1944 -struct hotplug_slot_attribute hotplug_slot_attribute70,2001 -#define to_hotplug_attr(to_hotplug_attr75,2173 -struct hotplug_slot_ops hotplug_slot_ops113,4428 -struct hotplug_slot_info hotplug_slot_info138,5682 -struct hotplug_slot hotplug_slot158,6338 -#define to_hotplug_slot(to_hotplug_slot169,6634 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp.h,17226 -#define _CPQPHP_H29,1009 -#define MY_NAME 36,1183 -#define dbg(dbg38,1209 -#define err(err39,1318 -#define info(info40,1396 -#define warn(warn41,1476 -struct smbios_system_slot smbios_system_slot45,1562 -enum smbios_system_slot_offsets smbios_system_slot_offsets60,1876 - SMBIOS_SLOT_GENERIC_TYPE 61,1910 - SMBIOS_SLOT_GENERIC_TYPE = offsetof(61,1910 - SMBIOS_SLOT_GENERIC_TYPE = offsetof(struct smbios_system_slot,61,1910 - SMBIOS_SLOT_GENERIC_TYPE = offsetof(struct smbios_system_slot, type)61,1910 - SMBIOS_SLOT_GENERIC_LENGTH 62,1981 - SMBIOS_SLOT_GENERIC_LENGTH = offsetof(62,1981 - SMBIOS_SLOT_GENERIC_LENGTH = offsetof(struct smbios_system_slot,62,1981 - SMBIOS_SLOT_GENERIC_LENGTH = offsetof(struct smbios_system_slot, length)62,1981 - SMBIOS_SLOT_GENERIC_HANDLE 63,2056 - SMBIOS_SLOT_GENERIC_HANDLE = offsetof(63,2056 - SMBIOS_SLOT_GENERIC_HANDLE = offsetof(struct smbios_system_slot,63,2056 - SMBIOS_SLOT_GENERIC_HANDLE = offsetof(struct smbios_system_slot, handle)63,2056 - SMBIOS_SLOT_NAME_STRING_NUM 64,2131 - SMBIOS_SLOT_NAME_STRING_NUM = offsetof(64,2131 - SMBIOS_SLOT_NAME_STRING_NUM = offsetof(struct smbios_system_slot,64,2131 - SMBIOS_SLOT_NAME_STRING_NUM = offsetof(struct smbios_system_slot, name_string_num)64,2131 - SMBIOS_SLOT_TYPE 65,2216 - SMBIOS_SLOT_TYPE = offsetof(65,2216 - SMBIOS_SLOT_TYPE = offsetof(struct smbios_system_slot,65,2216 - SMBIOS_SLOT_TYPE = offsetof(struct smbios_system_slot, slot_type)65,2216 - SMBIOS_SLOT_WIDTH 66,2285 - SMBIOS_SLOT_WIDTH = offsetof(66,2285 - SMBIOS_SLOT_WIDTH = offsetof(struct smbios_system_slot,66,2285 - SMBIOS_SLOT_WIDTH = offsetof(struct smbios_system_slot, slot_width)66,2285 - SMBIOS_SLOT_CURRENT_USAGE 67,2356 - SMBIOS_SLOT_CURRENT_USAGE = offsetof(67,2356 - SMBIOS_SLOT_CURRENT_USAGE = offsetof(struct smbios_system_slot,67,2356 - SMBIOS_SLOT_CURRENT_USAGE = offsetof(struct smbios_system_slot, slot_current_usage)67,2356 - SMBIOS_SLOT_LENGTH 68,2442 - SMBIOS_SLOT_LENGTH = offsetof(68,2442 - SMBIOS_SLOT_LENGTH = offsetof(struct smbios_system_slot,68,2442 - SMBIOS_SLOT_LENGTH = offsetof(struct smbios_system_slot, slot_length)68,2442 - SMBIOS_SLOT_NUMBER 69,2515 - SMBIOS_SLOT_NUMBER = offsetof(69,2515 - SMBIOS_SLOT_NUMBER = offsetof(struct smbios_system_slot,69,2515 - SMBIOS_SLOT_NUMBER = offsetof(struct smbios_system_slot, slot_number)69,2515 - SMBIOS_SLOT_PROPERTIES1 70,2588 - SMBIOS_SLOT_PROPERTIES1 = offsetof(70,2588 - SMBIOS_SLOT_PROPERTIES1 = offsetof(struct smbios_system_slot,70,2588 - SMBIOS_SLOT_PROPERTIES1 = offsetof(struct smbios_system_slot, properties1)70,2588 - SMBIOS_SLOT_PROPERTIES2 71,2665 - SMBIOS_SLOT_PROPERTIES2 = offsetof(71,2665 - SMBIOS_SLOT_PROPERTIES2 = offsetof(struct smbios_system_slot,71,2665 - SMBIOS_SLOT_PROPERTIES2 = offsetof(struct smbios_system_slot, properties2)71,2665 -struct smbios_generic smbios_generic74,2746 -enum smbios_generic_offsets smbios_generic_offsets81,2911 - SMBIOS_GENERIC_TYPE 82,2941 - SMBIOS_GENERIC_TYPE = offsetof(82,2941 - SMBIOS_GENERIC_TYPE = offsetof(struct smbios_generic,82,2941 - SMBIOS_GENERIC_TYPE = offsetof(struct smbios_generic, type)82,2941 - SMBIOS_GENERIC_LENGTH 83,3003 - SMBIOS_GENERIC_LENGTH = offsetof(83,3003 - SMBIOS_GENERIC_LENGTH = offsetof(struct smbios_generic,83,3003 - SMBIOS_GENERIC_LENGTH = offsetof(struct smbios_generic, length)83,3003 - SMBIOS_GENERIC_HANDLE 84,3069 - SMBIOS_GENERIC_HANDLE = offsetof(84,3069 - SMBIOS_GENERIC_HANDLE = offsetof(struct smbios_generic,84,3069 - SMBIOS_GENERIC_HANDLE = offsetof(struct smbios_generic, handle)84,3069 -struct smbios_entry_point smbios_entry_point87,3139 -enum smbios_entry_point_offsets smbios_entry_point_offsets105,3517 - ANCHOR 106,3551 - ANCHOR = offsetof(106,3551 - ANCHOR = offsetof(struct smbios_entry_point,106,3551 - ANCHOR = offsetof(struct smbios_entry_point, anchor[106,3551 - EP_CHECKSUM 107,3610 - EP_CHECKSUM = offsetof(107,3610 - EP_CHECKSUM = offsetof(struct smbios_entry_point,107,3610 - EP_CHECKSUM = offsetof(struct smbios_entry_point, ep_checksum)107,3610 - EP_LENGTH 108,3676 - EP_LENGTH = offsetof(108,3676 - EP_LENGTH = offsetof(struct smbios_entry_point,108,3676 - EP_LENGTH = offsetof(struct smbios_entry_point, ep_length)108,3676 - MAJOR_VERSION 109,3738 - MAJOR_VERSION = offsetof(109,3738 - MAJOR_VERSION = offsetof(struct smbios_entry_point,109,3738 - MAJOR_VERSION = offsetof(struct smbios_entry_point, major_version)109,3738 - MINOR_VERSION 110,3808 - MINOR_VERSION = offsetof(110,3808 - MINOR_VERSION = offsetof(struct smbios_entry_point,110,3808 - MINOR_VERSION = offsetof(struct smbios_entry_point, minor_version)110,3808 - MAX_SIZE_ENTRY 111,3878 - MAX_SIZE_ENTRY = offsetof(111,3878 - MAX_SIZE_ENTRY = offsetof(struct smbios_entry_point,111,3878 - MAX_SIZE_ENTRY = offsetof(struct smbios_entry_point, max_size_entry)111,3878 - EP_REV 112,3949 - EP_REV = offsetof(112,3949 - EP_REV = offsetof(struct smbios_entry_point,112,3949 - EP_REV = offsetof(struct smbios_entry_point, ep_rev)112,3949 - INT_ANCHOR 113,4005 - INT_ANCHOR = offsetof(113,4005 - INT_ANCHOR = offsetof(struct smbios_entry_point,113,4005 - INT_ANCHOR = offsetof(struct smbios_entry_point, int_anchor[113,4005 - INT_CHECKSUM 114,4072 - INT_CHECKSUM = offsetof(114,4072 - INT_CHECKSUM = offsetof(struct smbios_entry_point,114,4072 - INT_CHECKSUM = offsetof(struct smbios_entry_point, int_checksum)114,4072 - ST_LENGTH 115,4140 - ST_LENGTH = offsetof(115,4140 - ST_LENGTH = offsetof(struct smbios_entry_point,115,4140 - ST_LENGTH = offsetof(struct smbios_entry_point, st_length)115,4140 - ST_ADDRESS 116,4202 - ST_ADDRESS = offsetof(116,4202 - ST_ADDRESS = offsetof(struct smbios_entry_point,116,4202 - ST_ADDRESS = offsetof(struct smbios_entry_point, st_address)116,4202 - NUMBER_OF_ENTRYS 117,4266 - NUMBER_OF_ENTRYS = offsetof(117,4266 - NUMBER_OF_ENTRYS = offsetof(struct smbios_entry_point,117,4266 - NUMBER_OF_ENTRYS = offsetof(struct smbios_entry_point, number_of_entrys)117,4266 - BCD_REV 118,4341 - BCD_REV = offsetof(118,4341 - BCD_REV = offsetof(struct smbios_entry_point,118,4341 - BCD_REV = offsetof(struct smbios_entry_point, bcd_rev)118,4341 -struct ctrl_reg ctrl_reg121,4403 -enum ctrl_offsets ctrl_offsets152,5307 - SLOT_RST 153,5327 - SLOT_RST = offsetof(153,5327 - SLOT_RST = offsetof(struct ctrl_reg,153,5327 - SLOT_RST = offsetof(struct ctrl_reg, slot_RST)153,5327 - SLOT_ENABLE 154,5378 - SLOT_ENABLE = offsetof(154,5378 - SLOT_ENABLE = offsetof(struct ctrl_reg,154,5378 - SLOT_ENABLE = offsetof(struct ctrl_reg, slot_enable)154,5378 - MISC 155,5434 - MISC = offsetof(155,5434 - MISC = offsetof(struct ctrl_reg,155,5434 - MISC = offsetof(struct ctrl_reg, misc)155,5434 - LED_CONTROL 156,5477 - LED_CONTROL = offsetof(156,5477 - LED_CONTROL = offsetof(struct ctrl_reg,156,5477 - LED_CONTROL = offsetof(struct ctrl_reg, led_control)156,5477 - INT_INPUT_CLEAR 157,5533 - INT_INPUT_CLEAR = offsetof(157,5533 - INT_INPUT_CLEAR = offsetof(struct ctrl_reg,157,5533 - INT_INPUT_CLEAR = offsetof(struct ctrl_reg, int_input_clear)157,5533 - INT_MASK 158,5596 - INT_MASK = offsetof(158,5596 - INT_MASK = offsetof(struct ctrl_reg,158,5596 - INT_MASK = offsetof(struct ctrl_reg, int_mask)158,5596 - CTRL_RESERVED0 159,5647 - CTRL_RESERVED0 = offsetof(159,5647 - CTRL_RESERVED0 = offsetof(struct ctrl_reg,159,5647 - CTRL_RESERVED0 = offsetof(struct ctrl_reg, reserved0)159,5647 - CTRL_RESERVED1 160,5704 - CTRL_RESERVED1 = offsetof(160,5704 - CTRL_RESERVED1 = offsetof(struct ctrl_reg,160,5704 - CTRL_RESERVED1 = offsetof(struct ctrl_reg, reserved1)160,5704 - CTRL_RESERVED2 161,5760 - CTRL_RESERVED2 = offsetof(161,5760 - CTRL_RESERVED2 = offsetof(struct ctrl_reg,161,5760 - CTRL_RESERVED2 = offsetof(struct ctrl_reg, reserved1)161,5760 - GEN_OUTPUT_AB 162,5816 - GEN_OUTPUT_AB = offsetof(162,5816 - GEN_OUTPUT_AB = offsetof(struct ctrl_reg,162,5816 - GEN_OUTPUT_AB = offsetof(struct ctrl_reg, gen_output_AB)162,5816 - NON_INT_INPUT 163,5876 - NON_INT_INPUT = offsetof(163,5876 - NON_INT_INPUT = offsetof(struct ctrl_reg,163,5876 - NON_INT_INPUT = offsetof(struct ctrl_reg, non_int_input)163,5876 - CTRL_RESERVED3 164,5936 - CTRL_RESERVED3 = offsetof(164,5936 - CTRL_RESERVED3 = offsetof(struct ctrl_reg,164,5936 - CTRL_RESERVED3 = offsetof(struct ctrl_reg, reserved3)164,5936 - CTRL_RESERVED4 165,5992 - CTRL_RESERVED4 = offsetof(165,5992 - CTRL_RESERVED4 = offsetof(struct ctrl_reg,165,5992 - CTRL_RESERVED4 = offsetof(struct ctrl_reg, reserved4)165,5992 - CTRL_RESERVED5 166,6048 - CTRL_RESERVED5 = offsetof(166,6048 - CTRL_RESERVED5 = offsetof(struct ctrl_reg,166,6048 - CTRL_RESERVED5 = offsetof(struct ctrl_reg, reserved5)166,6048 - CTRL_RESERVED6 167,6104 - CTRL_RESERVED6 = offsetof(167,6104 - CTRL_RESERVED6 = offsetof(struct ctrl_reg,167,6104 - CTRL_RESERVED6 = offsetof(struct ctrl_reg, reserved6)167,6104 - CTRL_RESERVED7 168,6160 - CTRL_RESERVED7 = offsetof(168,6160 - CTRL_RESERVED7 = offsetof(struct ctrl_reg,168,6160 - CTRL_RESERVED7 = offsetof(struct ctrl_reg, reserved7)168,6160 - CTRL_RESERVED8 169,6216 - CTRL_RESERVED8 = offsetof(169,6216 - CTRL_RESERVED8 = offsetof(struct ctrl_reg,169,6216 - CTRL_RESERVED8 = offsetof(struct ctrl_reg, reserved8)169,6216 - SLOT_MASK 170,6272 - SLOT_MASK = offsetof(170,6272 - SLOT_MASK = offsetof(struct ctrl_reg,170,6272 - SLOT_MASK = offsetof(struct ctrl_reg, slot_mask)170,6272 - CTRL_RESERVED9 171,6325 - CTRL_RESERVED9 = offsetof(171,6325 - CTRL_RESERVED9 = offsetof(struct ctrl_reg,171,6325 - CTRL_RESERVED9 = offsetof(struct ctrl_reg, reserved9)171,6325 - CTRL_RESERVED10 172,6382 - CTRL_RESERVED10 = offsetof(172,6382 - CTRL_RESERVED10 = offsetof(struct ctrl_reg,172,6382 - CTRL_RESERVED10 = offsetof(struct ctrl_reg, reserved10)172,6382 - CTRL_RESERVED11 173,6440 - CTRL_RESERVED11 = offsetof(173,6440 - CTRL_RESERVED11 = offsetof(struct ctrl_reg,173,6440 - CTRL_RESERVED11 = offsetof(struct ctrl_reg, reserved11)173,6440 - SLOT_SERR 174,6498 - SLOT_SERR = offsetof(174,6498 - SLOT_SERR = offsetof(struct ctrl_reg,174,6498 - SLOT_SERR = offsetof(struct ctrl_reg, slot_SERR)174,6498 - SLOT_POWER 175,6550 - SLOT_POWER = offsetof(175,6550 - SLOT_POWER = offsetof(struct ctrl_reg,175,6550 - SLOT_POWER = offsetof(struct ctrl_reg, slot_power)175,6550 - NEXT_CURR_FREQ 176,6604 - NEXT_CURR_FREQ = offsetof(176,6604 - NEXT_CURR_FREQ = offsetof(struct ctrl_reg,176,6604 - NEXT_CURR_FREQ = offsetof(struct ctrl_reg, next_curr_freq)176,6604 - RESET_FREQ_MODE 177,6665 - RESET_FREQ_MODE = offsetof(177,6665 - RESET_FREQ_MODE = offsetof(struct ctrl_reg,177,6665 - RESET_FREQ_MODE = offsetof(struct ctrl_reg, reset_freq_mode)177,6665 -struct hrt hrt180,6732 -enum hrt_offsets hrt_offsets194,7011 - SIG0 195,7030 - SIG0 = offsetof(195,7030 - SIG0 = offsetof(struct hrt,195,7030 - SIG0 = offsetof(struct hrt, sig0)195,7030 - SIG1 196,7068 - SIG1 = offsetof(196,7068 - SIG1 = offsetof(struct hrt,196,7068 - SIG1 = offsetof(struct hrt, sig1)196,7068 - SIG2 197,7106 - SIG2 = offsetof(197,7106 - SIG2 = offsetof(struct hrt,197,7106 - SIG2 = offsetof(struct hrt, sig2)197,7106 - SIG3 198,7144 - SIG3 = offsetof(198,7144 - SIG3 = offsetof(struct hrt,198,7144 - SIG3 = offsetof(struct hrt, sig3)198,7144 - UNUSED_IRQ 199,7182 - UNUSED_IRQ = offsetof(199,7182 - UNUSED_IRQ = offsetof(struct hrt,199,7182 - UNUSED_IRQ = offsetof(struct hrt, unused_IRQ)199,7182 - PCIIRQ 200,7231 - PCIIRQ = offsetof(200,7231 - PCIIRQ = offsetof(struct hrt,200,7231 - PCIIRQ = offsetof(struct hrt, PCIIRQ)200,7231 - NUMBER_OF_ENTRIES 201,7272 - NUMBER_OF_ENTRIES = offsetof(201,7272 - NUMBER_OF_ENTRIES = offsetof(struct hrt,201,7272 - NUMBER_OF_ENTRIES = offsetof(struct hrt, number_of_entries)201,7272 - REVISION 202,7334 - REVISION = offsetof(202,7334 - REVISION = offsetof(struct hrt,202,7334 - REVISION = offsetof(struct hrt, revision)202,7334 - HRT_RESERVED1 203,7379 - HRT_RESERVED1 = offsetof(203,7379 - HRT_RESERVED1 = offsetof(struct hrt,203,7379 - HRT_RESERVED1 = offsetof(struct hrt, reserved1)203,7379 - HRT_RESERVED2 204,7430 - HRT_RESERVED2 = offsetof(204,7430 - HRT_RESERVED2 = offsetof(struct hrt,204,7430 - HRT_RESERVED2 = offsetof(struct hrt, reserved2)204,7430 -struct slot_rt slot_rt207,7485 -enum slot_rt_offsets slot_rt_offsets221,7791 - DEV_FUNC 222,7814 - DEV_FUNC = offsetof(222,7814 - DEV_FUNC = offsetof(struct slot_rt,222,7814 - DEV_FUNC = offsetof(struct slot_rt, dev_func)222,7814 - PRIMARY_BUS 223,7863 - PRIMARY_BUS = offsetof(223,7863 - PRIMARY_BUS = offsetof(struct slot_rt,223,7863 - PRIMARY_BUS = offsetof(struct slot_rt, primary_bus)223,7863 - SECONDARY_BUS 224,7919 - SECONDARY_BUS = offsetof(224,7919 - SECONDARY_BUS = offsetof(struct slot_rt,224,7919 - SECONDARY_BUS = offsetof(struct slot_rt, secondary_bus)224,7919 - MAX_BUS 225,7978 - MAX_BUS = offsetof(225,7978 - MAX_BUS = offsetof(struct slot_rt,225,7978 - MAX_BUS = offsetof(struct slot_rt, max_bus)225,7978 - IO_BASE 226,8026 - IO_BASE = offsetof(226,8026 - IO_BASE = offsetof(struct slot_rt,226,8026 - IO_BASE = offsetof(struct slot_rt, io_base)226,8026 - IO_LENGTH 227,8074 - IO_LENGTH = offsetof(227,8074 - IO_LENGTH = offsetof(struct slot_rt,227,8074 - IO_LENGTH = offsetof(struct slot_rt, io_length)227,8074 - MEM_BASE 228,8126 - MEM_BASE = offsetof(228,8126 - MEM_BASE = offsetof(struct slot_rt,228,8126 - MEM_BASE = offsetof(struct slot_rt, mem_base)228,8126 - MEM_LENGTH 229,8176 - MEM_LENGTH = offsetof(229,8176 - MEM_LENGTH = offsetof(struct slot_rt,229,8176 - MEM_LENGTH = offsetof(struct slot_rt, mem_length)229,8176 - PRE_MEM_BASE 230,8230 - PRE_MEM_BASE = offsetof(230,8230 - PRE_MEM_BASE = offsetof(struct slot_rt,230,8230 - PRE_MEM_BASE = offsetof(struct slot_rt, pre_mem_base)230,8230 - PRE_MEM_LENGTH 231,8288 - PRE_MEM_LENGTH = offsetof(231,8288 - PRE_MEM_LENGTH = offsetof(struct slot_rt,231,8288 - PRE_MEM_LENGTH = offsetof(struct slot_rt, pre_mem_length)231,8288 -struct pci_func pci_func234,8353 -struct slot slot256,8790 -struct pci_resource pci_resource275,9099 -struct event_info event_info281,9178 -struct controller controller286,9232 -struct irq_mapping irq_mapping322,10457 -struct resource_lists resource_lists328,10532 -#define ROM_PHY_ADDR 336,10716 -#define ROM_PHY_LEN 337,10748 -#define PCI_HPC_ID 339,10780 -#define PCI_SUB_HPC_ID 340,10808 -#define PCI_SUB_HPC_ID2 341,10840 -#define PCI_SUB_HPC_ID3 342,10873 -#define PCI_SUB_HPC_ID_INTC 343,10906 -#define PCI_SUB_HPC_ID4 344,10942 -#define INT_BUTTON_IGNORE 346,10976 -#define INT_PRESENCE_ON 347,11005 -#define INT_PRESENCE_OFF 348,11033 -#define INT_SWITCH_CLOSE 349,11061 -#define INT_SWITCH_OPEN 350,11089 -#define INT_POWER_FAULT 351,11117 -#define INT_POWER_FAULT_CLEAR 352,11145 -#define INT_BUTTON_PRESS 353,11178 -#define INT_BUTTON_RELEASE 354,11206 -#define INT_BUTTON_CANCEL 355,11236 -#define STATIC_STATE 357,11266 -#define BLINKINGON_STATE 358,11291 -#define BLINKINGOFF_STATE 359,11319 -#define POWERON_STATE 360,11348 -#define POWEROFF_STATE 361,11374 -#define PCISLOT_INTERLOCK_CLOSED 363,11402 -#define PCISLOT_ADAPTER_PRESENT 364,11446 -#define PCISLOT_POWERED 365,11490 -#define PCISLOT_66_MHZ_OPERATION 366,11527 -#define PCISLOT_64_BIT_OPERATION 367,11571 -#define PCISLOT_REPLACE_SUPPORTED 368,11615 -#define PCISLOT_ADD_SUPPORTED 369,11660 -#define PCISLOT_INTERLOCK_SUPPORTED 370,11702 -#define PCISLOT_66_MHZ_SUPPORTED 371,11749 -#define PCISLOT_64_BIT_SUPPORTED 372,11793 -#define PCI_TO_PCI_BRIDGE_CLASS 374,11838 -#define INTERLOCK_OPEN 376,11883 -#define ADD_NOT_SUPPORTED 377,11919 -#define CARD_FUNCTIONING 378,11957 -#define ADAPTER_NOT_SAME 379,11994 -#define NO_ADAPTER_PRESENT 380,12031 -#define NOT_ENOUGH_RESOURCES 381,12070 -#define DEVICE_TYPE_NOT_SUPPORTED 382,12111 -#define POWER_FAILURE 383,12156 -#define REMOVE_NOT_SUPPORTED 385,12192 -#define msg_initialization_err 391,12260 -#define msg_HPC_rev_error 392,12328 -#define msg_HPC_non_compaq_or_intel 393,12417 -#define msg_HPC_not_supported 394,12518 -#define msg_unable_to_save 395,12647 -#define msg_button_on 396,12793 -#define msg_button_off 397,12868 -#define msg_button_cancel 398,12945 -#define msg_button_ignore 399,13027 -static inline void return_resource(454,15604 -static inline void set_SOGO(462,15766 -static inline void amber_LED_on(472,15946 -static inline void amber_LED_off(482,16179 -static inline int read_amber_LED(492,16414 -static inline void green_LED_on(503,16627 -static inline void green_LED_off(512,16853 -static inline void green_LED_blink(522,17084 -static inline void slot_disable(533,17352 -static inline void slot_enable(543,17577 -static inline u8 is_slot_enabled(553,17800 -static inline u8 read_slot_enable(563,18003 -static inline u8 get_controller_speed(577,18278 -static inline u8 get_adapter_speed(610,19040 -static inline void enable_slot_power(627,19493 -static inline void disable_slot_power(636,19715 -static inline int cpq_get_attention_status(646,19940 -static inline int get_slot_enabled(656,20139 -static inline int cpq_get_latch_status(666,20331 -static inline int get_presence_status(681,20728 -#define SLOT_NAME_SIZE 695,21089 -static inline void make_slot_name(697,21116 -static inline int wait_for_ctrl_irq(703,21258 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/fakephp.c,645 - #define MY_NAME 44,1297 - #define MY_NAME 46,1330 -#define dbg(dbg49,1373 -#define err(err55,1518 -#define info(info56,1595 -#define DRIVER_AUTHOR 58,1675 -#define DRIVER_DESC 59,1735 -struct dummy_slot dummy_slot61,1794 -static int debug;67,1892 -static struct hotplug_slot_ops dummy_hotplug_slot_ops 73,2046 -static void dummy_release(79,2195 -static int add_slot(90,2411 -static int __init pci_scan_buses(142,3554 -static void remove_slot(158,3813 -static int enable_slot(168,4047 -static int disable_slot(173,4127 -static void cleanup_slots 198,4699 -static int __init dummyphp_init(211,4940 -static void __exit dummyphp_exit(219,5036 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchp_hpc.c,4958 -#define DBG_K_TRACE_ENTRY 44,1377 -#define DBG_K_TRACE_EXIT 45,1459 -#define DBG_K_INFO 46,1540 -#define DBG_K_ERROR 47,1618 -#define DBG_K_TRACE 48,1697 -#define DBG_K_STANDARD 49,1765 -#define DEBUG_LEVEL 51,1881 -#define DEFINE_DBG_BUFFER 53,1928 -#define DBG_PRINT(DBG_PRINT55,1984 -#define DBG_ENTER_ROUTINE 67,2514 -#define DBG_LEAVE_ROUTINE 68,2588 -#define DEFINE_DBG_BUFFER70,2666 -#define DBG_ENTER_ROUTINE71,2692 -#define DBG_LEAVE_ROUTINE72,2718 -#define SLOT_33MHZ 76,2816 -#define SLOT_66MHZ_PCIX 77,2847 -#define SLOT_100MHZ_PCIX 78,2883 -#define SLOT_133MHZ_PCIX 79,2919 -#define SLOT_66MHZ 82,3006 -#define SLOT_66MHZ_PCIX_266 83,3037 -#define SLOT_100MHZ_PCIX_266 84,3076 -#define SLOT_133MHZ_PCIX_266 85,3116 -#define SLOT_66MHZ_PCIX_533 86,3156 -#define SLOT_100MHZ_PCIX_533 87,3195 -#define SLOT_133MHZ_PCIX_533 88,3235 -#define PCI_33MHZ 93,3410 -#define PCI_66MHZ 94,3433 -#define PCIX_66MHZ 95,3456 -#define PCIX_100MHZ 96,3480 -#define PCIX_133MHZ 97,3505 -#define PCI_33MHZ 100,3621 -#define PCI_66MHZ 101,3644 -#define PCIX_66MHZ 102,3667 -#define PCIX_100MHZ 103,3691 -#define PCIX_133MHZ 104,3716 -#define PCIX_66MHZ_ECC 105,3741 -#define PCIX_100MHZ_ECC 106,3769 -#define PCIX_133MHZ_ECC 107,3798 -#define PCIX_66MHZ_266 108,3827 -#define PCIX_100MHZ_266 109,3855 -#define PCIX_133MHZ_266 110,3884 -#define PCIX_66MHZ_533 111,3913 -#define PCIX_100MHZ_533 112,3942 -#define PCIX_133MHZ_533 113,3972 -#define SLOT_NUM 116,4028 -#define FIRST_DEV_NUM 117,4057 -#define PSN 118,4091 -#define UPDOWN 119,4116 -#define MRLSENSOR 120,4144 -#define ATTN_BUTTON 121,4174 -#define PWR_ONLY 125,4260 -#define ENABLED 126,4285 -#define DISABLED 127,4310 -#define PWR_LED_ON 130,4364 -#define PWR_LED_BLINK 131,4391 -#define PWR_LED_OFF 132,4421 -#define ATTEN_LED_ON 135,4482 -#define ATTEN_LED_BLINK 136,4511 -#define ATTEN_LED_OFF 137,4543 -#define pwr_fault 140,4592 -#define ATTEN_BUTTON 143,4642 -#define MRL_SENSOR 146,4689 -#define IS_66MHZ_CAP 149,4738 -#define SLOT_EMP 152,4790 -#define NON_PCIX 155,4839 -#define PCIX_66 156,4864 -#define PCIX_133 157,4889 -#define PCIX_266 158,4914 -#define PCIX_533 159,4962 -#define NO_CHANGE 165,5089 -#define SET_SLOT_PWR 168,5175 -#define SET_SLOT_ENABLE 169,5203 -#define SET_SLOT_DISABLE 170,5234 -#define SET_PWR_ON 173,5337 -#define SET_PWR_BLINK 174,5363 -#define SET_PWR_OFF 175,5392 -#define SET_ATTN_ON 178,5495 -#define SET_ATTN_BLINK 179,5523 -#define SET_ATTN_OFF 180,5553 -#define SETA_PCI_33MHZ 183,5627 -#define SETA_PCI_66MHZ 184,5656 -#define SETA_PCIX_66MHZ 185,5685 -#define SETA_PCIX_100MHZ 186,5715 -#define SETA_PCIX_133MHZ 187,5745 -#define RESERV_1 188,5775 -#define RESERV_2 189,5798 -#define RESERV_3 190,5821 -#define SETB_PCI_33MHZ 193,5889 -#define SETB_PCI_66MHZ 194,5918 -#define SETB_PCIX_66MHZ_PM 195,5947 -#define SETB_PCIX_100MHZ_PM 196,5979 -#define SETB_PCIX_133MHZ_PM 197,6012 -#define SETB_PCIX_66MHZ_EM 198,6045 -#define SETB_PCIX_100MHZ_EM 199,6077 -#define SETB_PCIX_133MHZ_EM 200,6110 -#define SETB_PCIX_66MHZ_266 201,6143 -#define SETB_PCIX_100MHZ_266 202,6176 -#define SETB_PCIX_133MHZ_266 203,6210 -#define SETB_PCIX_66MHZ_533 204,6244 -#define SETB_PCIX_100MHZ_533 205,6277 -#define SETB_PCIX_133MHZ_533 206,6311 -#define SET_PWR_ON_ALL 210,6380 -#define SET_ENABLE_ALL 213,6441 -#define SWITCH_OPEN 216,6513 -#define INVALID_CMD 217,6538 -#define INVALID_SPEED_MODE 218,6563 -#define DWORD_SELECT 221,6641 -#define DWORD_DATA 222,6667 -#define BASE_OFFSET 223,6691 -#define SLOT_EVENT_LATCH 226,6777 -#define SLOT_SERR_INT_MASK 227,6806 -static spinlock_t hpc_event_lock;229,6838 -static struct php_ctlr_state_s *php_ctlr_list_head;232,6946 -static int ctlr_seq_num 233,7026 -static spinlock_t list_lock;234,7082 -static void int_poll_timeout(241,7324 -static void start_int_poll_timer(265,7989 -static int shpc_write_cmd(283,8536 -static int hpc_check_cmd_status(329,9628 -static int hpc_get_attention_status(369,10422 -static int hpc_get_power_status(409,11204 -static int hpc_get_latch_status(451,11988 -static int hpc_get_adapter_status(474,12527 -static int hpc_get_prog_int(497,13092 -static int hpc_get_adapter_speed(514,13475 -static int hpc_get_mode1_ECC_cap(595,15376 -static int hpc_query_power_fault(624,15988 -static int hpc_set_attention_status(648,16589 -static void hpc_set_green_led_on(684,17279 -static void hpc_set_green_led_off(706,17749 -static void hpc_set_green_led_blink(728,18220 -int shpc_get_ctlr_slot_config(750,18693 -static void hpc_release_ctlr(777,19659 -static int hpc_power_on_slot(829,20833 -static int hpc_slot_enable(860,21462 -static int hpc_slot_disable(891,22169 -static int hpc_enable_all_slots(923,22874 -static int hpc_pwr_on_all_slots(945,23258 -static int hpc_set_bus_speed_mode(962,23524 -static irqreturn_t shpc_isr(1061,25376 -static int hpc_get_max_bus_speed 1185,29591 -static int hpc_get_cur_bus_speed 1254,32088 -static struct hpc_ops shpchp_hpc_ops 1366,34470 -int shpc_init(1394,35485 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehprm_nonacpi.h,163 -#define _PCIEHPRM_NONACPI_H_31,1129 -struct irq_info irq_info33,1159 - } __attribute__ __attribute__38,1332 -struct irq_routing_table irq_routing_table43,1446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/acpiphp.h,1320 -#define _ACPIPHP_H34,1223 -#define dbg(dbg40,1344 -#define err(err46,1496 -#define info(info47,1573 -#define warn(warn48,1652 -#define SLOT_NAME_SIZE 51,1788 -struct slot slot60,1972 -struct pci_resource pci_resource71,2178 -struct hpp_param hpp_param84,2427 -struct acpiphp_bridge acpiphp_bridge97,2630 -struct acpiphp_slot acpiphp_slot134,3311 -struct acpiphp_func acpiphp_func156,3943 -struct acpiphp_attention_infoacpiphp_attention_info180,4528 -#define ACPI_PCI_HOST_HID 188,4725 -#define BRIDGE_TYPE_HOST 191,4785 -#define BRIDGE_TYPE_P2P 192,4813 -#define ACPI_STA_PRESENT 195,4903 -#define ACPI_STA_ENABLED 196,4942 -#define ACPI_STA_SHOW_IN_UI 197,4981 -#define ACPI_STA_FUNCTIONING 198,5023 -#define ACPI_STA_ALL 199,5066 -#define BRIDGE_HAS_STA 202,5122 -#define BRIDGE_HAS_EJ0 203,5159 -#define BRIDGE_HAS_HPP 204,5196 -#define BRIDGE_HAS_PS0 205,5233 -#define BRIDGE_HAS_PS1 206,5270 -#define BRIDGE_HAS_PS2 207,5307 -#define BRIDGE_HAS_PS3 208,5344 -#define SLOT_POWEREDON 212,5400 -#define SLOT_ENABLED 213,5437 -#define SLOT_MULTIFUNCTION 214,5472 -#define FUNC_HAS_STA 218,5535 -#define FUNC_HAS_EJ0 219,5570 -#define FUNC_HAS_PS0 220,5605 -#define FUNC_HAS_PS1 221,5640 -#define FUNC_HAS_PS2 222,5675 -#define FUNC_HAS_PS3 223,5710 -typedef int (*acpiphp_callback)acpiphp_callback236,6140 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchp.h,6189 -#define _SHPCHP_H30,1078 - #define MY_NAME 39,1265 - #define MY_NAME 41,1297 -#define dbg(dbg49,1543 -#define err(err50,1647 -#define info(info51,1724 -#define warn(warn52,1803 -struct pci_func pci_func54,1886 -#define SLOT_MAGIC 76,2303 -struct slot slot77,2333 -struct pci_resource pci_resource98,2692 -struct event_info event_info104,2771 -struct controller controller109,2825 -struct irq_mapping irq_mapping141,3694 -struct resource_lists resource_lists147,3769 -#define PCI_DEVICE_ID_AMD_GOLAM_7450 156,3979 -#define INT_BUTTON_IGNORE 158,4025 -#define INT_PRESENCE_ON 159,4054 -#define INT_PRESENCE_OFF 160,4082 -#define INT_SWITCH_CLOSE 161,4110 -#define INT_SWITCH_OPEN 162,4138 -#define INT_POWER_FAULT 163,4166 -#define INT_POWER_FAULT_CLEAR 164,4194 -#define INT_BUTTON_PRESS 165,4227 -#define INT_BUTTON_RELEASE 166,4255 -#define INT_BUTTON_CANCEL 167,4285 -#define STATIC_STATE 169,4315 -#define BLINKINGON_STATE 170,4340 -#define BLINKINGOFF_STATE 171,4368 -#define POWERON_STATE 172,4397 -#define POWEROFF_STATE 173,4423 -#define PCI_TO_PCI_BRIDGE_CLASS 175,4451 -#define INTERLOCK_OPEN 178,4517 -#define ADD_NOT_SUPPORTED 179,4553 -#define CARD_FUNCTIONING 180,4591 -#define ADAPTER_NOT_SAME 181,4628 -#define NO_ADAPTER_PRESENT 182,4665 -#define NOT_ENOUGH_RESOURCES 183,4704 -#define DEVICE_TYPE_NOT_SUPPORTED 184,4745 -#define WRONG_BUS_FREQUENCY 185,4790 -#define POWER_FAILURE 186,4830 -#define REMOVE_NOT_SUPPORTED 188,4866 -#define DISABLE_CARD 190,4908 -#define msg_initialization_err 195,4959 -#define msg_HPC_rev_error 196,5027 -#define msg_HPC_non_shpc 197,5116 -#define msg_HPC_not_supported 198,5206 -#define msg_unable_to_save 199,5342 -#define msg_button_on 200,5488 -#define msg_button_off 201,5563 -#define msg_button_cancel 202,5640 -#define msg_button_ignore 203,5722 -struct ctrl_reg ctrl_reg246,7868 -enum ctrl_offsets ctrl_offsets274,8565 - BASE_OFFSET 275,8585 - BASE_OFFSET = offsetof(275,8585 - BASE_OFFSET = offsetof(struct ctrl_reg,275,8585 - BASE_OFFSET = offsetof(struct ctrl_reg, base_offset)275,8585 - SLOT_AVAIL1 276,8640 - SLOT_AVAIL1 = offsetof(276,8640 - SLOT_AVAIL1 = offsetof(struct ctrl_reg,276,8640 - SLOT_AVAIL1 = offsetof(struct ctrl_reg, slot_avail1)276,8640 - SLOT_AVAIL2 277,8695 - SLOT_AVAIL2 = offsetof(277,8695 - SLOT_AVAIL2 = offsetof(struct ctrl_reg,277,8695 - SLOT_AVAIL2 = offsetof(struct ctrl_reg, slot_avail2)277,8695 - SLOT_CONFIG 278,8750 - SLOT_CONFIG = offsetof(278,8750 - SLOT_CONFIG = offsetof(struct ctrl_reg,278,8750 - SLOT_CONFIG = offsetof(struct ctrl_reg, slot_config)278,8750 - SEC_BUS_CONFIG 279,8805 - SEC_BUS_CONFIG = offsetof(279,8805 - SEC_BUS_CONFIG = offsetof(struct ctrl_reg,279,8805 - SEC_BUS_CONFIG = offsetof(struct ctrl_reg, sec_bus_config)279,8805 - MSI_CTRL 280,8866 - MSI_CTRL = offsetof(280,8866 - MSI_CTRL = offsetof(struct ctrl_reg,280,8866 - MSI_CTRL = offsetof(struct ctrl_reg, msi_ctrl)280,8866 - PROG_INTERFACE 281,8915 - PROG_INTERFACE = offsetof(281,8915 - PROG_INTERFACE = offsetof(struct ctrl_reg,281,8915 - PROG_INTERFACE = offsetof(struct ctrl_reg, prog_interface)281,8915 - CMD 282,8976 - CMD = offsetof(282,8976 - CMD = offsetof(struct ctrl_reg,282,8976 - CMD = offsetof(struct ctrl_reg, cmd)282,8976 - CMD_STATUS 283,9016 - CMD_STATUS = offsetof(283,9016 - CMD_STATUS = offsetof(struct ctrl_reg,283,9016 - CMD_STATUS = offsetof(struct ctrl_reg, cmd_status)283,9016 - INTR_LOC 284,9069 - INTR_LOC = offsetof(284,9069 - INTR_LOC = offsetof(struct ctrl_reg,284,9069 - INTR_LOC = offsetof(struct ctrl_reg, intr_loc)284,9069 - SERR_LOC 285,9119 - SERR_LOC = offsetof(285,9119 - SERR_LOC = offsetof(struct ctrl_reg,285,9119 - SERR_LOC = offsetof(struct ctrl_reg, serr_loc)285,9119 - SERR_INTR_ENABLE 286,9169 - SERR_INTR_ENABLE = offsetof(286,9169 - SERR_INTR_ENABLE = offsetof(struct ctrl_reg,286,9169 - SERR_INTR_ENABLE = offsetof(struct ctrl_reg, serr_intr_enable)286,9169 - SLOT1 287,9234 - SLOT1 = offsetof(287,9234 - SLOT1 = offsetof(struct ctrl_reg,287,9234 - SLOT1 = offsetof(struct ctrl_reg, slot1)287,9234 - SLOT2 288,9278 - SLOT2 = offsetof(288,9278 - SLOT2 = offsetof(struct ctrl_reg,288,9278 - SLOT2 = offsetof(struct ctrl_reg, slot2)288,9278 - SLOT3 289,9322 - SLOT3 = offsetof(289,9322 - SLOT3 = offsetof(struct ctrl_reg,289,9322 - SLOT3 = offsetof(struct ctrl_reg, slot3)289,9322 - SLOT4 290,9366 - SLOT4 = offsetof(290,9366 - SLOT4 = offsetof(struct ctrl_reg,290,9366 - SLOT4 = offsetof(struct ctrl_reg, slot4)290,9366 - SLOT5 291,9410 - SLOT5 = offsetof(291,9410 - SLOT5 = offsetof(struct ctrl_reg,291,9410 - SLOT5 = offsetof(struct ctrl_reg, slot5)291,9410 - SLOT6 292,9454 - SLOT6 = offsetof(292,9454 - SLOT6 = offsetof(struct ctrl_reg,292,9454 - SLOT6 = offsetof(struct ctrl_reg, slot6)292,9454 - SLOT7 293,9500 - SLOT7 = offsetof(293,9500 - SLOT7 = offsetof(struct ctrl_reg,293,9500 - SLOT7 = offsetof(struct ctrl_reg, slot7)293,9500 - SLOT8 294,9544 - SLOT8 = offsetof(294,9544 - SLOT8 = offsetof(struct ctrl_reg,294,9544 - SLOT8 = offsetof(struct ctrl_reg, slot8)294,9544 - SLOT9 295,9588 - SLOT9 = offsetof(295,9588 - SLOT9 = offsetof(struct ctrl_reg,295,9588 - SLOT9 = offsetof(struct ctrl_reg, slot9)295,9588 - SLOT10 296,9632 - SLOT10 = offsetof(296,9632 - SLOT10 = offsetof(struct ctrl_reg,296,9632 - SLOT10 = offsetof(struct ctrl_reg, slot10)296,9632 - SLOT11 297,9677 - SLOT11 = offsetof(297,9677 - SLOT11 = offsetof(struct ctrl_reg,297,9677 - SLOT11 = offsetof(struct ctrl_reg, slot11)297,9677 - SLOT12 298,9722 - SLOT12 = offsetof(298,9722 - SLOT12 = offsetof(struct ctrl_reg,298,9722 - SLOT12 = offsetof(struct ctrl_reg, slot12)298,9722 -typedef u8(*php_intr_callback_t)php_intr_callback_t300,9770 -struct php_ctlr_state_s php_ctlr_state_s301,9848 -static inline int slot_paranoia_check 320,10470 -static inline struct slot *get_slot 337,10832 -static inline struct slot *shpchp_find_slot 352,11174 -static inline int wait_for_ctrl_irq 376,11650 -static inline void return_resource(403,12283 -#define SLOT_NAME_SIZE 411,12445 -static inline void make_slot_name(413,12472 -enum php_ctlr_type php_ctlr_type418,12613 - PCI,419,12634 - ISA,420,12640 - ACPI421,12646 -struct hpc_ops hpc_ops437,13068 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpci_hotplug_pci.c,906 -#define MY_NAME 36,1152 -#define MY_NAME 38,1189 -#define dbg(dbg43,1255 -#define err(err49,1409 -#define info(info50,1491 -#define warn(warn51,1575 -#define ROUND_UP(ROUND_UP53,1663 -u8 cpci_get_attention_status(56,1720 -int cpci_set_attention_status(77,2072 -u16 cpci_get_hs_csr(109,2613 -u16 cpci_set_hs_csr(131,2955 -int cpci_check_and_clear_ins(162,3521 -int cpci_check_ext(193,4068 -int cpci_clear_ext(217,4444 -int cpci_led_on(246,4973 -int cpci_led_off(278,5595 -static int cpci_configure_dev(315,6250 -static int cpci_configure_bridge(366,7744 -static int configure_visit_pci_dev(452,10057 -static int unconfigure_visit_pci_dev_phase2(488,10826 -static int unconfigure_visit_pci_bus_phase2(518,11528 -static struct pci_visit configure_functions 553,12406 -static struct pci_visit unconfigure_functions_phase2 557,12501 -int cpci_configure_slot(563,12676 -int cpci_unconfigure_slot(623,14250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchprm_nonacpi.c,655 -void shpchprm_cleanup(44,1399 -int shpchprm_print_pirt(49,1441 -int shpchprm_get_physical_slot_number(54,1487 -static void print_pci_resource 63,1801 -static void phprm_dump_func_res(72,2003 -static int phprm_get_used_resources 94,2484 -static int phprm_delete_resource(102,2643 -static int phprm_delete_resources(171,4041 -static int configure_existing_function(185,4276 -static int bind_pci_resources_to_slots 209,4945 -static void phprm_dump_ctrl_res(249,5978 -int shpchprm_find_available_resources(280,6686 -int shpchprm_set_hpp(332,8191 -void shpchprm_enable_card(381,9480 -static int legacy_shpchprm_init_pci(415,10404 -int shpchprm_init(420,10462 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/ibmphp_res.c,983 -static int flags 37,1139 -static struct bus_node * __init alloc_error_bus 49,1626 -static struct resource_node * __init alloc_resources 73,2146 -static int __init alloc_bus_range 96,2682 -int __init ibmphp_rsrc_init 203,5826 -static int add_range 391,12638 -static void update_resources 466,14560 -static void fix_me 510,15301 -static void fix_resources 565,16798 -int ibmphp_add_resource 598,17800 -int ibmphp_remove_resource 780,22258 -static struct range_node * find_range 941,25753 -int ibmphp_check_resource 976,26730 -int ibmphp_remove_bus 1353,37162 -static int remove_ranges 1436,39016 -int ibmphp_find_resource 1492,40460 -void ibmphp_free_resources 1563,41995 -static int __init once_over 1679,44916 -int ibmphp_add_pfmem_from_mem 1729,46558 -struct bus_node *ibmphp_find_res_bus 1754,47175 -static struct bus_node *find_bus_wprev 1759,47279 -void ibmphp_print_test 1777,47714 -static int range_exists_already 1891,51015 -static int __init update_bridge_ranges 1932,52361 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp_sysfs.c,106 -static ssize_t show_ctrl 41,1283 -static ssize_t show_dev 85,2495 -void cpqhp_create_ctrl_files 139,3954 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pcihp_skeleton.c,942 -struct slot slot40,1289 -#define MY_NAME 48,1414 -#define dbg(dbg50,1448 -#define err(err56,1599 -#define info(info57,1681 -#define warn(warn58,1765 -static int debug;63,1877 -static int num_slots;64,1895 -#define DRIVER_VERSION 66,1918 -#define DRIVER_AUTHOR 67,1947 -#define DRIVER_DESC 68,2007 -static struct hotplug_slot_ops skel_hotplug_slot_ops 85,2770 -static int enable_slot(97,3165 -static int disable_slot(112,3438 -static int set_attention_status(126,3712 -static int hardware_test(151,4127 -static int get_power_status(170,4477 -static int get_attention_status(185,4826 -static int get_latch_status(200,5183 -static int get_adapter_status(215,5532 -static void release_slot(230,5885 -#define SLOT_NAME_SIZE 241,6174 -static void make_slot_name(242,6200 -static int __init init_slots(255,6537 -static void __exit cleanup_slots(332,8340 -static int __init pcihp_skel_init(350,8789 -static void __exit pcihp_skel_exit(366,9141 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/ibmphp_pci.c,458 -static void assign_alt_irq 50,1807 -int ibmphp_configure_card 81,2640 -static int configure_device 350,12140 -static int configure_bridge 570,20434 -static struct res_needed *scan_behind_bridge 1089,39181 -static int unconfigure_boot_device 1228,43822 -static int unconfigure_boot_bridge 1350,47415 -static int unconfigure_boot_card 1470,50949 -int ibmphp_unconfigure_card 1593,54964 -static int add_new_bus 1665,56716 -static u8 find_sec_number 1729,58616 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchp_ctrl.c,1629 -static struct semaphore event_semaphore;50,1790 -static struct semaphore event_exit;51,1889 -static int event_finished;52,1987 -static unsigned long pushbutton_pending;53,2014 -u8 shpchp_disk_irq;55,2066 -u8 shpchp_nic_irq;56,2086 -u8 shpchp_handle_attention_button(58,2106 -u8 shpchp_handle_switch_change(115,3920 -u8 shpchp_handle_presence_change(169,5398 -u8 shpchp_handle_power_fault(217,6597 -static int sort_by_size(271,7935 -static int sort_by_max_size(322,9018 -static struct pci_resource *do_pre_bridge_resource_split 372,10115 -static struct pci_resource *do_bridge_resource_split 450,11724 -static struct pci_resource *get_io_resource 510,12916 -static struct pci_resource *get_max_resource 605,15336 -static struct pci_resource *get_resource 722,18258 -int shpchp_resource_sort_and_combine(817,20670 -struct pci_func *shpchp_slot_create(887,22292 -static int slot_remove(921,22979 -static int bridge_slot_remove(961,23731 -struct pci_func *shpchp_slot_find(1014,24848 -static int is_bridge(1040,25268 -static u32 change_bus_speed(1053,25520 -static u32 fix_bus_speed(1077,26241 -static u32 board_added(1119,27296 -static u32 remove_board(1467,38121 -static void pushbutton_helper_thread 1606,41821 -static void shpchp_pushbutton_thread 1621,42088 -static int event_thread(1664,43079 -int shpchp_event_start_thread 1689,43686 -void shpchp_event_stop_thread 1709,44037 -static int update_slot_info 1719,44230 -static void interrupt_event_handler(1738,44762 -int shpchp_enable_slot 1879,48924 -int shpchp_disable_slot 1963,51178 -static u32 configure_new_device 2065,53826 -static int configure_new_function 2170,56298 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehp_hpc.c,6431 -#define DBG_K_TRACE_ENTRY 44,1375 -#define DBG_K_TRACE_EXIT 45,1457 -#define DBG_K_INFO 46,1538 -#define DBG_K_ERROR 47,1616 -#define DBG_K_TRACE 48,1695 -#define DBG_K_STANDARD 49,1763 -#define DEBUG_LEVEL 51,1879 -#define DEFINE_DBG_BUFFER 53,1926 -#define DBG_PRINT(DBG_PRINT55,1982 -#define DBG_ENTER_ROUTINE 67,2512 -#define DBG_LEAVE_ROUTINE 68,2586 -#define DEFINE_DBG_BUFFER70,2664 -#define DBG_ENTER_ROUTINE71,2690 -#define DBG_LEAVE_ROUTINE72,2716 -struct ctrl_reg ctrl_reg75,2765 -enum ctrl_offsets ctrl_offsets94,3115 - PCIECAPID 95,3135 - PCIECAPID = offsetof(95,3135 - PCIECAPID = offsetof(struct ctrl_reg,95,3135 - PCIECAPID = offsetof(struct ctrl_reg, cap_id)95,3135 - NXTCAPPTR 96,3183 - NXTCAPPTR = offsetof(96,3183 - NXTCAPPTR = offsetof(struct ctrl_reg,96,3183 - NXTCAPPTR = offsetof(struct ctrl_reg, nxt_ptr)96,3183 - CAPREG 97,3232 - CAPREG = offsetof(97,3232 - CAPREG = offsetof(struct ctrl_reg,97,3232 - CAPREG = offsetof(struct ctrl_reg, cap_reg)97,3232 - DEVCAP 98,3279 - DEVCAP = offsetof(98,3279 - DEVCAP = offsetof(struct ctrl_reg,98,3279 - DEVCAP = offsetof(struct ctrl_reg, dev_cap)98,3279 - DEVCTRL 99,3326 - DEVCTRL = offsetof(99,3326 - DEVCTRL = offsetof(struct ctrl_reg,99,3326 - DEVCTRL = offsetof(struct ctrl_reg, dev_ctrl)99,3326 - DEVSTATUS 100,3375 - DEVSTATUS = offsetof(100,3375 - DEVSTATUS = offsetof(struct ctrl_reg,100,3375 - DEVSTATUS = offsetof(struct ctrl_reg, dev_status)100,3375 - LNKCAP 101,3427 - LNKCAP = offsetof(101,3427 - LNKCAP = offsetof(struct ctrl_reg,101,3427 - LNKCAP = offsetof(struct ctrl_reg, lnk_cap)101,3427 - LNKCTRL 102,3474 - LNKCTRL = offsetof(102,3474 - LNKCTRL = offsetof(struct ctrl_reg,102,3474 - LNKCTRL = offsetof(struct ctrl_reg, lnk_ctrl)102,3474 - LNKSTATUS 103,3523 - LNKSTATUS = offsetof(103,3523 - LNKSTATUS = offsetof(struct ctrl_reg,103,3523 - LNKSTATUS = offsetof(struct ctrl_reg, lnk_status)103,3523 - SLOTCAP 104,3575 - SLOTCAP = offsetof(104,3575 - SLOTCAP = offsetof(struct ctrl_reg,104,3575 - SLOTCAP = offsetof(struct ctrl_reg, slot_cap)104,3575 - SLOTCTRL 105,3624 - SLOTCTRL = offsetof(105,3624 - SLOTCTRL = offsetof(struct ctrl_reg,105,3624 - SLOTCTRL = offsetof(struct ctrl_reg, slot_ctrl)105,3624 - SLOTSTATUS 106,3674 - SLOTSTATUS = offsetof(106,3674 - SLOTSTATUS = offsetof(struct ctrl_reg,106,3674 - SLOTSTATUS = offsetof(struct ctrl_reg, slot_status)106,3674 - ROOTCTRL 107,3728 - ROOTCTRL = offsetof(107,3728 - ROOTCTRL = offsetof(struct ctrl_reg,107,3728 - ROOTCTRL = offsetof(struct ctrl_reg, root_ctrl)107,3728 - ROOTSTATUS 108,3778 - ROOTSTATUS = offsetof(108,3778 - ROOTSTATUS = offsetof(struct ctrl_reg,108,3778 - ROOTSTATUS = offsetof(struct ctrl_reg, root_status)108,3778 -static int pcie_cap_base 110,3835 -#define PCIE_CAP_ID 112,3924 -#define NXT_CAP_PTR 113,3974 -#define CAP_REG 114,4024 -#define DEV_CAP 115,4068 -#define DEV_CTRL 116,4112 -#define DEV_STATUS 117,4157 -#define LNK_CAP 118,4206 -#define LNK_CTRL 119,4250 -#define LNK_STATUS 120,4295 -#define SLOT_CAP 121,4344 -#define SLOT_CTRL 122,4389 -#define SLOT_STATUS 123,4436 -#define ROOT_CTRL 124,4487 -#define ROOT_STATUS 125,4534 -#define hp_register_read_word(hp_register_read_word127,4586 -#define hp_register_read_dword(hp_register_read_dword130,4680 -#define hp_register_write_word(hp_register_write_word133,4777 -#define hp_register_dwrite_word(hp_register_dwrite_word136,4872 -#define CAP_VER 140,5030 -#define DEV_PORT_TYPE 141,5055 -#define SLOT_IMPL 142,5085 -#define MSG_NUM 143,5111 -#define NAT_ENDPT 146,5163 -#define LEG_ENDPT 147,5187 -#define ROOT_PORT 148,5211 -#define UP_STREAM 149,5235 -#define DN_STREAM 150,5259 -#define PCIE_PCI_BRDG 151,5283 -#define PCI_PCIE_BRDG 152,5311 -#define DATTN_BUTTN_PRSN 155,5396 -#define DATTN_LED_PRSN 156,5428 -#define DPWR_LED_PRSN 157,5459 -#define MAX_LNK_SPEED 160,5544 -#define MAX_LNK_WIDTH 161,5574 -#define LNK_X1 164,5631 -#define LNK_X2 165,5652 -#define LNK_X4 166,5673 -#define LNK_X8 167,5695 -#define LNK_X12 168,5716 -#define LNK_X16 169,5738 -#define LNK_X32 170,5761 -#define LNK_SPEED 173,5831 -#define NEG_LINK_WD 174,5856 -#define LNK_TRN_ERR 175,5883 -#define LNK_TRN 176,5910 -#define SLOT_CLK_CONF 177,5934 -#define ATTN_BUTTN_PRSN 180,6018 -#define PWR_CTRL_PRSN 181,6053 -#define MRL_SENS_PRSN 182,6086 -#define ATTN_LED_PRSN 183,6119 -#define PWR_LED_PRSN 184,6152 -#define HP_SUPR_RM_SUP 185,6184 -#define HP_CAP 186,6218 -#define SLOT_PWR_VALUE 187,6245 -#define SLOT_PWR_LIMIT 188,6279 -#define PSN 189,6313 -#define ATTN_BUTTN_ENABLE 192,6419 -#define PWR_FAULT_DETECT_ENABLE 193,6453 -#define MRL_DETECT_ENABLE 194,6493 -#define PRSN_DETECT_ENABLE 195,6527 -#define CMD_CMPL_INTR_ENABLE 196,6562 -#define HP_INTR_ENABLE 197,6599 -#define ATTN_LED_CTRL 198,6631 -#define PWR_LED_CTRL 199,6662 -#define PWR_CTRL 200,6692 -#define LED_ON 203,6772 -#define LED_BLINK 204,6793 -#define LED_OFF 205,6816 -#define POWER_ON 208,6867 -#define POWER_OFF 209,6886 -#define ATTN_BUTTN_PRESSED 212,6960 -#define PWR_FAULT_DETECTED 213,6994 -#define MRL_SENS_CHANGED 214,7028 -#define PRSN_DETECT_CHANGED 215,7060 -#define CMD_COMPLETED 216,7095 -#define MRL_STATE 217,7125 -#define PRSN_STATE 218,7151 -struct php_ctlr_state_s php_ctlr_state_s220,7179 -static spinlock_t hpc_event_lock;237,7724 -static struct php_ctlr_state_s *php_ctlr_list_head 240,7832 -static int ctlr_seq_num 241,7916 -static spinlock_t list_lock;242,7973 -static void int_poll_timeout(249,8215 -static void start_int_poll_timer(274,8857 -static int pcie_write_cmd(292,9387 -static int hpc_check_lnk_status(332,10701 -static int hpc_get_attention_status(365,11445 -static int hpc_get_power_status(412,12351 -static int hpc_get_latch_status(453,13123 -static int hpc_get_adapter_status(479,13691 -static int hpc_query_power_fault(506,14305 -static int hpc_set_attention_status(535,14958 -static void hpc_set_green_led_on(583,16134 -static void hpc_set_green_led_off(618,17025 -static void hpc_set_green_led_blink(654,17911 -int pcie_get_ctlr_slot_config(690,18800 -static void hpc_release_ctlr(726,19684 -static int hpc_power_on_slot(774,20561 -static int hpc_power_off_slot(823,21685 -static irqreturn_t pcie_isr(872,22818 -static int hpc_get_max_lnk_speed 1022,27914 -static int hpc_get_max_lnk_width 1063,28776 -static int hpc_get_cur_lnk_speed 1125,29964 -static int hpc_get_cur_lnk_width 1166,30860 -static struct hpc_ops pciehp_hpc_ops 1228,32090 -int pcie_init(1251,32901 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/acpiphp_ibm.c,942 -#define DRIVER_VERSION 40,1201 -#define DRIVER_AUTHOR 41,1232 -#define DRIVER_DESC 42,1326 -static int debug;44,1399 -#define MY_NAME 52,1627 -#define dbg(dbg55,1669 -#define FOUND_APCI 62,1808 -#define IBM_HARDWARE_ID1 64,1895 -#define IBM_HARDWARE_ID2 65,1930 -union apci_descriptor apci_descriptor71,2087 -struct notification notification97,2467 -static acpi_handle ibm_acpi_handle;113,3117 -static struct notification ibm_note;114,3153 -static struct bin_attribute ibm_apci_table_attr 115,3190 -static struct acpiphp_attention_info ibm_attention_info 124,3401 -static int ibm_set_attention_status(140,3875 -static int ibm_get_attention_status(182,5236 -static void ibm_handle_events(236,7135 -static int ibm_get_table_from_acpi(265,8048 -static ssize_t ibm_read_apci_table(337,10069 -static acpi_status __init ibm_find_acpi_device(365,10944 -static int __init ibm_acpiphp_init(399,12000 -static void __exit ibm_acpiphp_exit(450,13287 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpaphp_pci.c,897 -struct pci_dev *rpaphp_find_pci_dev(32,1073 -int rpaphp_claim_resource(50,1543 -static struct pci_dev *rpaphp_find_bridge_pdev(72,2126 -static int rpaphp_get_sensor_state(77,2236 -int rpaphp_get_pci_adapter_status(117,3212 -rpaphp_fixup_new_pci_devices(160,4209 -rpaphp_pci_config_slot(193,5137 -static int rpaphp_pci_config_bridge(219,5834 -static void enable_eeh(252,6746 -static void print_slot_pci_funcs(264,6944 -static void print_slot_pci_funcs(282,7390 -static int init_slot_pci_funcs(288,7463 -static int rpaphp_config_pci_adapter(314,8137 -static void rpaphp_eeh_remove_bus_device(351,8972 -int rpaphp_unconfig_pci_adapter(369,9382 -static int setup_pci_hotplug_slot_info(402,10249 -static int set_phb_slot_name(418,10755 -static int setup_pci_slot(442,11114 -int register_pci_slot(512,12911 -int rpaphp_enable_pci_slot(531,13290 -struct hotplug_slot *rpaphp_find_hotplug_slot(566,14278 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchprm_legacy.c,423 -static void *shpchp_rom_start;44,1396 -static u16 unused_IRQ;45,1427 -void shpchprm_cleanup(47,1451 -int shpchprm_print_pirt(53,1532 -int shpchprm_get_physical_slot_number(58,1574 -static void *detect_HRT_floating_pointer(67,1871 -int shpchprm_find_available_resources(103,2632 -int shpchprm_set_hpp(340,9460 -void shpchprm_enable_card(385,10745 -static int legacy_shpchprm_init_pci(414,11664 -int shpchprm_init(425,11882 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchprm_nonacpi.h,163 -#define _SHPCHPRM_NONACPI_H_31,1129 -struct irq_info irq_info33,1159 - } __attribute__ __attribute__38,1332 -struct irq_routing_table irq_routing_table43,1446 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpadlpar.h,31 -#define _RPADLPAR_IO_H_16,489 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehp_ctrl.c,1628 -static struct semaphore event_semaphore;51,1813 -static struct semaphore event_exit;52,1912 -static int event_finished;53,2010 -static unsigned long pushbutton_pending;54,2037 -static unsigned long surprise_rm_pending;55,2088 -u8 pciehp_handle_attention_button(57,2141 -u8 pciehp_handle_switch_change(114,3955 -u8 pciehp_handle_presence_change(162,5201 -u8 pciehp_handle_power_fault(209,6421 -static int sort_by_size(261,7762 -static int sort_by_max_size(312,8842 -do_pre_bridge_resource_split(362,9959 -do_bridge_resource_split(439,11540 -static struct pci_resource *get_io_resource(499,12697 -static struct pci_resource *get_max_resource(596,15138 -static struct pci_resource *get_resource(715,18086 -int pciehp_resource_sort_and_combine(812,20519 -struct pci_func *pciehp_slot_create(882,22138 -static int slot_remove(915,22877 -static int bridge_slot_remove(954,23619 -struct pci_func *pciehp_slot_find(1007,24731 -static int is_bridge(1049,25810 -static void set_slot_off(1063,26063 -static u32 board_added(1103,27051 -static u32 remove_board(1255,31325 -static void pushbutton_helper_thread(1384,34635 -static void pciehp_pushbutton_thread(1398,34900 -static void pciehp_surprise_rm_thread(1446,36043 -static int event_thread(1490,37071 -int pciehp_event_start_thread(1518,37762 -void pciehp_event_stop_thread(1538,38115 -static int update_slot_info(1548,38307 -static void interrupt_event_handler(1571,39007 -int pciehp_enable_slot(1735,43755 -int pciehp_disable_slot(1823,45985 -static u32 configure_new_device(1932,48778 -configure_bridge(2030,50998 -configure_new_bridge(2064,51971 -configure_new_function(2521,66779 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchprm_legacy.h,3364 -#define _SHPCHPRM_LEGACY_H_31,1137 -#define ROM_PHY_ADDR 33,1166 -#define ROM_PHY_LEN 34,1196 -struct slot_rt slot_rt36,1226 -enum slot_rt_offsets slot_rt_offsets50,1532 - DEV_FUNC 51,1555 - DEV_FUNC = offsetof(51,1555 - DEV_FUNC = offsetof(struct slot_rt,51,1555 - DEV_FUNC = offsetof(struct slot_rt, dev_func)51,1555 - PRIMARY_BUS 52,1603 - PRIMARY_BUS = offsetof(52,1603 - PRIMARY_BUS = offsetof(struct slot_rt,52,1603 - PRIMARY_BUS = offsetof(struct slot_rt, primary_bus)52,1603 - SECONDARY_BUS 53,1657 - SECONDARY_BUS = offsetof(53,1657 - SECONDARY_BUS = offsetof(struct slot_rt,53,1657 - SECONDARY_BUS = offsetof(struct slot_rt, secondary_bus)53,1657 - MAX_BUS 54,1715 - MAX_BUS = offsetof(54,1715 - MAX_BUS = offsetof(struct slot_rt,54,1715 - MAX_BUS = offsetof(struct slot_rt, max_bus)54,1715 - IO_BASE 55,1761 - IO_BASE = offsetof(55,1761 - IO_BASE = offsetof(struct slot_rt,55,1761 - IO_BASE = offsetof(struct slot_rt, io_base)55,1761 - IO_LENGTH 56,1807 - IO_LENGTH = offsetof(56,1807 - IO_LENGTH = offsetof(struct slot_rt,56,1807 - IO_LENGTH = offsetof(struct slot_rt, io_length)56,1807 - MEM_BASE 57,1857 - MEM_BASE = offsetof(57,1857 - MEM_BASE = offsetof(struct slot_rt,57,1857 - MEM_BASE = offsetof(struct slot_rt, mem_base)57,1857 - MEM_LENGTH 58,1905 - MEM_LENGTH = offsetof(58,1905 - MEM_LENGTH = offsetof(struct slot_rt,58,1905 - MEM_LENGTH = offsetof(struct slot_rt, mem_length)58,1905 - PRE_MEM_BASE 59,1957 - PRE_MEM_BASE = offsetof(59,1957 - PRE_MEM_BASE = offsetof(struct slot_rt,59,1957 - PRE_MEM_BASE = offsetof(struct slot_rt, pre_mem_base)59,1957 - PRE_MEM_LENGTH 60,2013 - PRE_MEM_LENGTH = offsetof(60,2013 - PRE_MEM_LENGTH = offsetof(struct slot_rt,60,2013 - PRE_MEM_LENGTH = offsetof(struct slot_rt, pre_mem_length)60,2013 -struct hrt hrt63,2077 -enum hrt_offsets hrt_offsets77,2356 - SIG0 78,2375 - SIG0 = offsetof(78,2375 - SIG0 = offsetof(struct hrt,78,2375 - SIG0 = offsetof(struct hrt, sig0)78,2375 - SIG1 79,2411 - SIG1 = offsetof(79,2411 - SIG1 = offsetof(struct hrt,79,2411 - SIG1 = offsetof(struct hrt, sig1)79,2411 - SIG2 80,2447 - SIG2 = offsetof(80,2447 - SIG2 = offsetof(struct hrt,80,2447 - SIG2 = offsetof(struct hrt, sig2)80,2447 - SIG3 81,2483 - SIG3 = offsetof(81,2483 - SIG3 = offsetof(struct hrt,81,2483 - SIG3 = offsetof(struct hrt, sig3)81,2483 - UNUSED_IRQ 82,2519 - UNUSED_IRQ = offsetof(82,2519 - UNUSED_IRQ = offsetof(struct hrt,82,2519 - UNUSED_IRQ = offsetof(struct hrt, unused_IRQ)82,2519 - PCIIRQ 83,2567 - PCIIRQ = offsetof(83,2567 - PCIIRQ = offsetof(struct hrt,83,2567 - PCIIRQ = offsetof(struct hrt, PCIIRQ)83,2567 - NUMBER_OF_ENTRIES 84,2607 - NUMBER_OF_ENTRIES = offsetof(84,2607 - NUMBER_OF_ENTRIES = offsetof(struct hrt,84,2607 - NUMBER_OF_ENTRIES = offsetof(struct hrt, number_of_entries)84,2607 - REVISION 85,2669 - REVISION = offsetof(85,2669 - REVISION = offsetof(struct hrt,85,2669 - REVISION = offsetof(struct hrt, revision)85,2669 - HRT_RESERVED1 86,2713 - HRT_RESERVED1 = offsetof(86,2713 - HRT_RESERVED1 = offsetof(struct hrt,86,2713 - HRT_RESERVED1 = offsetof(struct hrt, reserved1)86,2713 - HRT_RESERVED2 87,2763 - HRT_RESERVED2 = offsetof(87,2763 - HRT_RESERVED2 = offsetof(struct hrt,87,2763 - HRT_RESERVED2 = offsetof(struct hrt, reserved2)87,2763 -struct irq_info irq_info90,2817 - } __attribute__ __attribute__95,2990 -struct irq_routing_table irq_routing_table100,3104 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pci_hotplug_core.c,2416 -#define MY_NAME 49,1460 -#define dbg(dbg51,1491 -#define err(err52,1613 -#define info(info53,1691 -#define warn(warn54,1771 -static int debug;58,1878 -#define DRIVER_VERSION 60,1897 -#define DRIVER_AUTHOR 61,1926 -#define DRIVER_DESC 62,2026 -struct subsystem pci_hotplug_slots_subsys;69,2182 -static ssize_t hotplug_slot_attr_show(71,2226 -static ssize_t hotplug_slot_attr_store(79,2505 -static struct sysfs_ops hotplug_slot_sysfs_ops 87,2810 -static void hotplug_slot_release(92,2933 -static struct kobj_type hotplug_slot_ktype 99,3088 -static char *pci_bus_speed_strings[107,3347 -static inline int cpci_hotplug_init(135,4047 -static inline void cpci_hotplug_exit(136,4108 -#define GET_STATUS(GET_STATUS140,4194 -GET_STATUS(155,4611 -static ssize_t power_write_file 176,5082 -static struct hotplug_slot_attribute hotplug_slot_attr_power 214,5790 -static ssize_t attention_read_file 220,5977 -static ssize_t attention_write_file 234,6217 -static struct hotplug_slot_attribute hotplug_slot_attr_attention 259,6766 -static ssize_t latch_read_file 265,6969 -static struct hotplug_slot_attribute hotplug_slot_attr_latch 279,7201 -static ssize_t presence_read_file 284,7351 -static struct hotplug_slot_attribute hotplug_slot_attr_presence 298,7588 -static ssize_t address_read_file 303,7746 -static struct hotplug_slot_attribute hotplug_slot_attr_address 320,8065 -static char *unknown_speed 325,8221 -static ssize_t max_bus_speed_read_file 327,8272 -static struct hotplug_slot_attribute hotplug_slot_attr_max_bus_speed 348,8679 -static ssize_t cur_bus_speed_read_file 353,8853 -static struct hotplug_slot_attribute hotplug_slot_attr_cur_bus_speed 374,9259 -static ssize_t test_write_file 379,9433 -static struct hotplug_slot_attribute hotplug_slot_attr_test 404,9928 -static int has_power_file 409,10086 -static int has_attention_file 420,10325 -static int has_latch_file 430,10547 -static int has_adapter_file 439,10717 -static int has_address_file 448,10891 -static int has_max_bus_speed_file 457,11058 -static int has_cur_bus_speed_file 466,11237 -static int has_test_file 475,11416 -static int fs_add_slot 484,11582 -static void fs_remove_slot 513,12480 -static struct hotplug_slot *get_slot_from_name 540,13370 -int pci_hp_register 562,13989 -int pci_hp_deregister 596,14912 -int pci_hp_change_slot_info 625,15657 -static int __init pci_hotplug_init 667,17174 -static void __exit pci_hotplug_exit 692,17718 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp_ctrl.c,1834 -static struct semaphore event_semaphore;48,1641 -static struct semaphore event_exit;49,1740 -static int event_finished;50,1838 -static unsigned long pushbutton_pending;51,1865 -static struct semaphore delay_sem;54,1965 -static wait_queue_head_t delay_wait;55,2001 -static void long_delay(58,2077 -#define WRONG_BUS_FREQUENCY 82,2691 -static u8 handle_switch_change(83,2724 -static struct slot *cpqhp_find_slot(145,4223 -static u8 handle_presence_change(157,4418 -static u8 handle_power_fault(249,7251 -static int sort_by_size(327,9130 -static int sort_by_max_size(376,10225 -static struct pci_resource *do_pre_bridge_resource_split(424,11297 -static struct pci_resource *do_bridge_resource_split(498,12853 -static struct pci_resource *get_io_resource(552,14103 -static struct pci_resource *get_max_resource(646,16494 -static struct pci_resource *get_resource(740,18827 -int cpqhp_resource_sort_and_combine(831,21238 -irqreturn_t cpqhp_ctrl_intr(895,22664 -struct pci_func *cpqhp_slot_create(973,24721 -static int slot_remove(1009,25447 -static int bridge_slot_remove(1049,26190 -struct pci_func *cpqhp_slot_find(1096,27228 -static int is_bridge(1125,27705 -static u8 set_controller_speed(1147,28248 -static u32 board_replaced(1282,31794 -static u32 board_added(1477,36006 -static u32 remove_board(1679,41353 -static void pushbutton_helper_thread(1788,44198 -static int event_thread(1796,44349 -int cpqhp_event_start_thread(1822,44924 -void cpqhp_event_stop_thread(1842,45300 -static int update_slot_info(1852,45491 -static void interrupt_event_handler(1870,46011 -void cpqhp_pushbutton_thread(1993,49117 -int cpqhp_process_SI(2059,50558 -int cpqhp_process_SS(2154,52580 -static void switch_leds(2229,54527 -int cpqhp_hardware_test(2258,55140 -static u32 configure_new_device(2345,57364 -static int configure_new_function(2443,59635 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/pciehp_sysfs.c,107 -static ssize_t show_ctrl 41,1288 -static ssize_t show_dev 85,2500 -void pciehp_create_ctrl_files 139,3960 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpaphp_slot.c,739 -static ssize_t removable_read_file 33,1070 -static struct hotplug_slot_attribute hotplug_slot_attr_removable 47,1355 -static void rpaphp_sysfs_add_attr_removable 52,1521 -static void rpaphp_sysfs_remove_attr_removable 57,1666 -static ssize_t location_read_file 62,1814 -static struct hotplug_slot_attribute hotplug_slot_attr_location 76,2135 -static void rpaphp_sysfs_add_attr_location 81,2298 -static void rpaphp_sysfs_remove_attr_location 86,2441 -static void rpaphp_release_slot(92,2627 -void dealloc_slot_struct(99,2788 -struct slot *alloc_slot_struct(119,3188 -static int is_registered(166,4567 -int deregister_slot(177,4794 -int register_slot(203,5383 -int rpaphp_get_power_status(245,6626 -int rpaphp_set_attention_status(267,7192 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp_nvram.c,720 -#define ROM_INT15_PHY_ADDR 43,1301 -#define READ_EV 44,1338 -#define WRITE_EV 45,1364 -struct register_foo register_foo47,1391 -struct all_reg all_reg62,1721 -struct ev_hrt_header ev_hrt_header73,1981 -struct ev_hrt_ctrl ev_hrt_ctrl79,2048 -static u8 evbuffer_init;91,2180 -static u8 evbuffer_length;92,2205 -static u8 evbuffer[93,2232 -static void *compaq_int15_entry_point;95,2259 -static spinlock_t int15_lock;97,2299 -static u32 add_byte(110,2605 -static u32 add_dword(125,2826 -static int check_for_compaq_ROM 144,3153 -static u32 access_EV 168,3735 -static int load_HRT 200,4395 -static u32 store_HRT 234,4962 -void compaq_nvram_init 426,8342 -int compaq_nvram_load 438,8607 -int compaq_nvram_store 651,13550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/acpiphp_res.c,626 -#define MY_NAME 59,1716 -static int sort_by_size(65,1816 -static int sort_by_max_size(112,2877 -struct pci_resource *acpiphp_get_io_resource 169,4246 -static struct pci_resource *acpiphp_get_max_resource 259,6429 -struct pci_resource *acpiphp_get_resource 357,8697 -struct pci_resource *acpiphp_get_resource_with_base 448,11023 -int acpiphp_resource_sort_and_combine 542,13372 -struct pci_resource *acpiphp_make_resource 609,14876 -void acpiphp_move_resource 629,15306 -void acpiphp_free_resource 648,15652 -static void dump_resource(663,15902 -void acpiphp_dump_resource(678,16137 -void acpiphp_dump_func_resource(690,16438 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpqphp_nvram.h,168 -#define _CPQPHP_NVRAM_H29,990 -static inline void compaq_nvram_init 33,1056 -static inline int compaq_nvram_load 38,1125 -static inline int compaq_nvram_store 43,1220 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/cpcihp_zt5550.c,1186 -#define DRIVER_VERSION 42,1655 -#define DRIVER_AUTHOR 43,1684 -#define DRIVER_DESC 44,1747 -#define MY_NAME 46,1804 -#define dbg(dbg48,1837 -#define err(err54,1986 -#define info(info55,2068 -#define warn(warn56,2152 -static int debug;59,2262 -static int poll;60,2280 -static struct cpci_hp_controller_ops zt5550_hpc_ops;61,2297 -static struct cpci_hp_controller zt5550_hpc;62,2350 -static struct pci_dev *bus0_dev;65,2433 -static struct pci_bus *bus0;66,2466 -static struct pci_dev *hc_dev;69,2525 -static void *hc_registers;72,2598 -static void *csr_hc_index;73,2625 -static void *csr_hc_data;74,2652 -static void *csr_int_status;75,2678 -static void *csr_int_mask;76,2707 -static int zt5550_hc_config(79,2736 -static int zt5550_hc_cleanup(129,4292 -static int zt5550_hc_query_enum(140,4486 -static int zt5550_hc_check_irq(148,4612 -static int zt5550_hc_enable_irq(162,4796 -static int zt5550_hc_disable_irq(175,4988 -static int zt5550_hc_init_one 189,5181 -static void __devexit zt5550_hc_remove_one(254,6820 -static struct pci_device_id zt5550_hc_pci_tbl[263,7006 -static struct pci_driver zt5550_hc_driver 269,7200 -static int __init zt5550_init(276,7383 -zt5550_exit(289,7651 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/rpadlpar_sysfs.c,703 -#define DLPAR_KOBJ_NAME 20,566 -#define ADD_SLOT_ATTR_NAME 21,606 -#define REMOVE_SLOT_ATTR_NAME 22,647 -#define MAX_DRC_NAME_LEN 24,692 -struct dlpar_io_attr dlpar_io_attr27,784 -dlpar_attr_show(37,1031 -dlpar_attr_store(45,1263 -static struct sysfs_ops dlpar_attr_sysfs_ops 54,1536 -static ssize_t add_slot_store(59,1643 -static ssize_t remove_slot_store(80,2018 -static struct dlpar_io_attr add_slot_attr 101,2400 -static struct dlpar_io_attr remove_slot_attr 107,2542 -static struct attribute *default_attrs[113,2691 -static void dlpar_io_release(119,2794 -struct kobj_type ktype_dlpar_io 125,2871 -struct kset dlpar_io_kset 131,3011 -int dlpar_sysfs_init(137,3171 -void dlpar_sysfs_exit(148,3368 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug/shpchprm.h,103 -#define _SHPCHPRM_H_31,1115 -#define RES_CHECK(RES_CHECK48,1703 -#define RES_CHECK(RES_CHECK52,1845 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/quirks.c,2671 -static void __devinit quirk_passive_release(26,846 -int isa_dma_bridge_buggy;50,1771 -static void __devinit quirk_isa_dma_hangs(52,1818 -int pci_pci_problems;71,2790 -static void __devinit quirk_nopcipci(76,2872 -static void __devinit quirk_triton(89,3309 -static void __devinit quirk_vialatency(111,4302 -static void __devinit quirk_viaetbf(164,6260 -static void __devinit quirk_vsfx(173,6556 -static void __init quirk_alimagik(188,7029 -static void __devinit quirk_natoma(202,7510 -static void __devinit quirk_s3_64M(220,8410 -static void __devinit quirk_io_region(232,8783 -static void __devinit quirk_ati_exploding_mce(250,9235 -static void __devinit quirk_ali7101_acpi(270,10042 -static void __devinit quirk_piix4_acpi(286,10552 -static void __devinit quirk_ich4_lpc_acpi(302,11106 -static void __devinit quirk_vt82c586_acpi(326,12436 -static void __devinit quirk_vt82c686_acpi(346,13040 -static void __devinit quirk_via_ioapic(375,13778 -static void __devinit quirk_amd_ioapic(401,14677 -static void __init quirk_ioapic_rmw(413,15094 -#define AMD8131_revA0 420,15299 -#define AMD8131_revB0 421,15333 -#define AMD8131_MISC 422,15367 -#define AMD8131_NIOAMODE_BIT 423,15401 -static void __init quirk_amd_8131_ioapic(424,15432 -static void __devinit quirk_via_acpi(466,17031 -static void quirk_via_irqpic(480,17439 -static void __devinit quirk_piix3_usb(511,18458 -static void __devinit quirk_vt82c598_id(528,19041 -static void __devinit quirk_cardbus_legacy(541,19573 -static void __devinit quirk_amd_ordering(556,20071 -static void __devinit quirk_dunord 578,20827 -static void __devinit quirk_transparent_bridge(592,21279 -static void __init quirk_mediagx_master(605,21818 -static void __devinit quirk_ide_bases(634,23108 -static void __init quirk_disable_pxb(672,24399 -int interrupt_line_quirk;692,24961 -static void __devinit quirk_via_bridge(694,24988 -static void __init quirk_svwks_csb5ide(704,25266 -static void __init quirk_eisa_bridge(721,25828 -static int __initdata asus_hides_smbus 739,26603 -static void __init asus_hides_smbus_hostbridge(741,26648 -static void __init asus_hides_smbus_lpc(795,28819 -void __devinit quirk_intel_irqbalance(821,29851 -static void __init quirk_sis_96x_smbus(864,31033 -static int __devinitdata sis_96x_compatible 881,31591 -#define SIS_DETECT_REGISTER 883,31641 -static void __init quirk_sis_503(885,31675 -static void __init quirk_sis_96x_compatible(909,32421 -static void __init quirk_alder_ioapic(928,33547 -static void __devinit quirk_intel_ide_combined(952,34253 -int pcie_mch_quirk;1025,36072 -static void __devinit quirk_pcie_mch(1027,36093 -static void pci_do_fixups(1035,36460 -void pci_fixup_device(1052,37033 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/syscall.c,56 -sys_pciconfig_read(18,384 -sys_pciconfig_write(90,1764 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/names.c,750 -struct pci_device_info pci_device_info16,291 -struct pci_vendor_info pci_vendor_info22,385 -#define VENDOR(VENDOR35,692 -#define ENDVENDOR(ENDVENDOR36,781 -#define DEVICE(DEVICE37,801 -#define VENDOR(VENDOR41,929 -#define ENDVENDOR(ENDVENDOR42,1030 -#define DEVICE(DEVICE43,1055 -static struct pci_vendor_info __devinitdata pci_vendor_list[46,1165 -#define VENDOR(VENDOR47,1231 -#define ENDVENDOR(ENDVENDOR48,1382 -#define DEVICE(DEVICE49,1402 -#define VENDORS 53,1466 -void __devinit pci_name_device(55,1540 -static u16 pci_class_numbers[103,2615 -#define CLASS(CLASS104,2650 -static char *pci_class_names[108,2703 -#define CLASS(CLASS109,2738 -pci_class_name(114,2794 -void __devinit pci_name_device(126,2995 -pci_class_name(131,3059 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/msi.h,2086 -#define MSI_H7,113 -#define NR_HP_RESERVED_VECTORS 19,577 -#define set_msi_irq_affinity 27,823 -#define set_msi_irq_affinity 29,875 -static inline void move_msi(33,943 -#define PCI_MSIX_FLAGS_QSIZE 39,1027 -#define PCI_MSIX_FLAGS_ENABLE 40,1063 -#define PCI_MSIX_FLAGS_BIRMASK 41,1104 -#define PCI_MSIX_FLAGS_BITMASK 42,1145 -#define PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET 44,1187 -#define PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET 45,1230 -#define PCI_MSIX_ENTRY_DATA_OFFSET 46,1273 -#define PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET 47,1311 -#define PCI_MSIX_ENTRY_SIZE 48,1356 -#define msi_control_reg(msi_control_reg50,1390 -#define msi_lower_address_reg(msi_lower_address_reg51,1444 -#define msi_upper_address_reg(msi_upper_address_reg52,1508 -#define msi_data_reg(msi_data_reg53,1572 -#define msi_mask_bits_reg(msi_mask_bits_reg55,1676 -#define msi_disable(msi_disable57,1788 -#define multi_msi_capable(multi_msi_capable58,1851 -#define multi_msi_enable(multi_msi_enable60,1935 -#define is_64bit_address(is_64bit_address62,2031 -#define is_mask_bit_support(is_mask_bit_support63,2097 -#define msi_enable(msi_enable64,2168 -#define msix_control_reg 67,2269 -#define msix_table_offset_reg(msix_table_offset_reg68,2311 -#define msix_pba_offset_reg(msix_pba_offset_reg69,2361 -#define msix_enable(msix_enable70,2409 -#define msix_disable(msix_disable71,2473 -#define msix_table_size(msix_table_size72,2539 -#define multi_msix_capable 73,2610 -#define msix_unmask(msix_unmask74,2654 -#define msix_mask(msix_mask75,2721 -#define msix_is_pending(msix_is_pending76,2784 -#define MSI_ADDRESS_HEADER 81,2893 -#define MSI_ADDRESS_HEADER_SHIFT 82,2927 -#define MSI_ADDRESS_HEADER_MASK 83,2963 -#define MSI_ADDRESS_DEST_ID_MASK 84,3005 -#define MSI_TARGET_CPU_MASK 85,3049 -#define MSI_DELIVERY_MODE 86,3083 -#define MSI_LEVEL_MODE 87,3112 -#define MSI_TRIGGER_MODE 88,3164 -#define MSI_PHYSICAL_MODE 89,3220 -#define MSI_LOGICAL_MODE 90,3249 -#define MSI_REDIRECTION_HINT_MODE 91,3277 -struct msg_data msg_data93,3314 -struct msg_address msg_address113,3978 -struct msi_desc msi_desc139,4730 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/remove.c,262 -#define DBG(DBG8,94 -#define DBG(DBG10,128 -static void pci_free_resources(13,154 -static void pci_destroy_dev(26,391 -int pci_remove_device_safe(53,1167 -void pci_remove_bus(62,1336 -void pci_remove_bus_device(86,1997 -void pci_remove_behind_bridge(107,2494 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/proc.c,1271 -static int proc_initialized;19,365 -proc_bus_pci_lseek(22,419 -proc_bus_pci_read(48,849 -proc_bus_pci_write(130,2536 -struct pci_filp_private pci_filp_private199,3867 -static int proc_bus_pci_ioctl(204,3950 -static int proc_bus_pci_mmap(245,4723 -static int proc_bus_pci_open(265,5176 -static int proc_bus_pci_release(280,5457 -static struct file_operations proc_bus_pci_operations 289,5629 -#define LONG_FORMAT 305,6107 -#define LONG_FORMAT 307,6143 -static void *pci_seq_start(311,6196 -static void *pci_seq_next(326,6484 -static void pci_seq_stop(335,6660 -static int show_device(343,6779 -static struct seq_operations proc_bus_pci_devices_op 375,7561 -struct proc_dir_entry *proc_bus_pci_dir;382,7714 -int pci_proc_attach_device(384,7756 -int pci_proc_detach_device(411,8376 -int pci_proc_attach_bus(424,8618 -int pci_proc_detach_bus(441,8924 -static int show_dev_config(461,9452 -static struct seq_operations proc_pci_op 548,11795 -static int proc_pci_open(555,11940 -static struct file_operations proc_pci_operations 559,12047 -static void legacy_proc_init(566,12198 -static void legacy_proc_init(575,12368 -static int proc_bus_pci_dev_open(582,12446 -static struct file_operations proc_bus_pci_dev_operations 586,12573 -static int __init pci_proc_init(593,12740 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/probe.c,1206 -#define DBG(DBG14,202 -#define DBG(DBG16,236 -#define CARDBUS_LATENCY_TIMER 19,262 -#define CARDBUS_RESERVE_BUSNR 20,326 -#define PCI_CFG_SPACE_SIZE 21,358 -#define PCI_CFG_SPACE_EXP_SIZE 22,389 -static void release_pcibus_dev(33,586 -static struct class pcibus_class pcibus_class41,774 -static int __init pcibus_class_init(46,869 -static ssize_t pci_bus_show_cpuaffinity(55,1025 -static inline unsigned int pci_calc_resource_flags(71,1457 -static u32 pci_size(85,1758 -static void pci_read_bases(103,2211 -void __devinit pci_read_bridge_bases(183,4638 -static struct pci_bus * __devinit pci_alloc_bus(263,7231 -pci_alloc_child_bus(278,7526 -struct pci_bus * __devinit pci_add_new_bus(319,8584 -int __devinit pci_scan_bridge(341,9347 -static void pci_read_irq(442,12107 -static int pci_setup_device(462,12731 -static void pci_release_dev(532,15000 -static int pci_cfg_space_size(550,15608 -static void pci_release_bus_bridge_dev(577,16159 -pci_scan_device(587,16371 -pci_scan_single_device(640,17688 -int __devinit pci_scan_slot(672,18463 -unsigned int __devinit pci_scan_child_bus(705,19047 -unsigned int __devinit pci_do_scan_bus(740,20040 -struct pci_bus * __devinit pci_scan_bus_parented(754,20251 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/pci-acpi.c,215 -static u32 ctrlset_buf[20,389 -static u32 global_ctrlsets 21,428 -u8 OSC_UUID[22,460 -acpi_query_osc 25,598 -acpi_run_osc 90,2397 -acpi_status pci_osc_support_set(156,4259 -acpi_status pci_osc_control_set(185,5040 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/msi.c,2262 -static spinlock_t msi_lock 25,478 -static struct msi_desc* msi_desc[26,527 -static kmem_cache_t* msi_cachep;27,601 -static int pci_msi_enable 29,635 -static int last_alloc_vector 30,666 -static int nr_released_vectors 31,700 -static int nr_reserved_vectors 32,736 -static int nr_msix_devices 33,793 -int vector_irq[36,853 -u8 irq_vector[37,914 -static void msi_cache_ctor(40,983 -static int msi_cache_init(45,1116 -static void msi_set_mask_bit(56,1340 -static void set_msi_affinity(89,2040 -static inline void move_msi(135,3341 -static void mask_MSI_irq(145,3617 -static void unmask_MSI_irq(150,3698 -static unsigned int startup_msi_irq_wo_maskbit(155,3781 -static void shutdown_msi_irq(173,4237 -#define shutdown_msi_irq_wo_maskbit 178,4314 -static void enable_msi_irq_wo_maskbit(179,4367 -static void disable_msi_irq_wo_maskbit(180,4429 -static void ack_msi_irq_wo_maskbit(181,4492 -static void end_msi_irq_wo_maskbit(182,4551 -static unsigned int startup_msi_irq_w_maskbit(188,4648 -#define shutdown_msi_irq_w_maskbit 206,5082 -#define enable_msi_irq_w_maskbit 207,5134 -#define disable_msi_irq_w_maskbit 208,5182 -#define ack_msi_irq_w_maskbit 209,5229 -static void end_msi_irq_w_maskbit(211,5274 -static struct hw_interrupt_type msix_irq_type 222,5512 -static struct hw_interrupt_type msi_irq_w_maskbit_type 238,5994 -static struct hw_interrupt_type msi_irq_wo_maskbit_type 254,6486 -static void msi_data_init(265,6839 -static void msi_address_init(275,7122 -static int assign_msi_vector(289,7686 -static int get_new_vector(358,9625 -static int msi_init(368,9778 -static int get_msi_vector(394,10322 -static struct msi_desc* alloc_msi_entry(399,10400 -static void attach_msi_entry(414,10720 -static void irq_handler_init(423,10921 -static void enable_msi_mode(437,11264 -static void disable_msi_mode(459,11934 -static int msi_lookup_vector(481,12605 -void pci_scan_msi_device(503,13239 -static int msi_capability_init(523,13899 -static int msix_capability_init(599,16406 -int pci_enable_msi(702,19588 -void pci_disable_msi(755,21007 -static void release_msi(793,22159 -static int msi_free_vector(805,22447 -static int reroute_msix_table(869,24122 -int pci_enable_msix(935,26529 -void pci_disable_msix(1020,28869 -void msi_remove_pci_irq_vectors(1076,30377 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/access.c,226 -static spinlock_t pci_lock 10,169 -#define PCI_byte_BAD 18,392 -#define PCI_word_BAD 19,415 -#define PCI_dword_BAD 20,446 -#define PCI_OP_READ(PCI_OP_READ22,479 -#define PCI_OP_WRITE(PCI_OP_WRITE37,957 -PCI_OP_READ(50,1385 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/gen-devlist.c,54 -#define MAX_NAME_SIZE 10,154 -pq(13,192 -main(32,453 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/pci-driver.c,1479 -pci_match_one_device(27,621 -pci_device_probe_dynamic(50,1333 -dynid_init(74,1888 -store_new_id(87,2149 -pci_init_dynids(137,3458 -pci_free_dynids(145,3619 -pci_create_newid_file(160,3931 -pci_bus_match_dynids(170,4130 -static inline int pci_device_probe_dynamic(188,4575 -static inline void dynid_init(192,4688 -static inline void pci_init_dynids(193,4742 -static inline void pci_free_dynids(194,4807 -static inline int pci_create_newid_file(195,4869 -static inline int pci_bus_match_dynids(199,4948 -pci_match_device(216,5521 -pci_device_probe_static(232,5869 -__pci_device_probe(256,6368 -static int pci_device_probe(268,6644 -static int pci_device_remove(284,6947 -static int pci_device_suspend(298,7211 -static void pci_default_resume(329,7972 -static int pci_device_resume(341,8375 -#define kobj_to_pci_driver(kobj_to_pci_driver354,8618 -#define attr_to_driver_attribute(attr_to_driver_attribute355,8696 -pci_driver_attr_show(358,8799 -pci_driver_attr_store(373,9160 -static struct sysfs_ops pci_driver_sysfs_ops 388,9544 -static struct kobj_type pci_driver_kobj_type 392,9660 -pci_populate_driver_dir(397,9761 -pci_register_driver(411,10145 -pci_unregister_driver(444,10963 -static struct pci_driver pci_compat_driver 450,11071 -pci_dev_driver(462,11361 -static int pci_bus_match(484,11997 -struct pci_dev *pci_dev_get(513,12884 -void pci_dev_put(534,13349 -int pci_hotplug 541,13450 -struct bus_type pci_bus_type 548,13577 -static int __init pci_driver_init(557,13774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/setup-res.c,203 -#define DEBUG_CONFIG 28,620 -# define DBGC(DBGC30,660 -# define DBGC(DBGC32,702 -pci_update_resource(37,743 -pci_claim_resource(94,2470 -int pci_assign_resource(120,3116 -pdev_sort_resources(163,4425 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/setup-bus.c,533 -#define DEBUG_CONFIG 30,756 -# define DBGC(DBGC32,796 -# define DBGC(DBGC34,838 -#define ROUND_UP(ROUND_UP37,866 -#define CARDBUS_IO_SIZE 43,1047 -#define CARDBUS_MEM_SIZE 44,1079 -pbus_assign_resources_sorted(47,1142 -pci_setup_cardbus(78,1806 -pci_setup_bridge(143,4119 -pci_bridge_check_ranges(221,6822 -find_free_bus_resource(260,8168 -pbus_size_io(280,8764 -pbus_size_mem(325,9877 -pci_bus_size_cardbus(394,11542 -pci_bus_size_bridges(444,13056 -pci_bus_assign_resources(495,14241 -pci_assign_unassigned_resources(534,15048 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/search.c,358 -spinlock_t pci_bus_lock 15,336 -pci_do_find_bus(18,417 -struct pci_bus * __devinit pci_find_bus(43,1085 -pci_find_next_bus(68,1769 -pci_find_slot(95,2620 -struct pci_dev * pci_get_slot(120,3508 -pci_find_subsys(160,4947 -pci_find_device(203,6510 -pci_get_subsys(225,7720 -pci_get_device(274,9663 -pci_find_device_reverse(293,10565 -pci_find_class(329,11667 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/pci.h,323 -static inline int pci_proc_attach_device(19,775 -static inline int pci_proc_detach_device(20,851 -static inline int pci_proc_attach_bus(21,927 -static inline int pci_proc_detach_bus(22,1000 -struct pci_dev_wrapped pci_dev_wrapped33,1530 -struct pci_bus_wrapped pci_bus_wrapped38,1595 -struct pci_visit pci_visit43,1660 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/hotplug.c,170 -#define DBG(DBG8,94 -#define DBG(DBG10,128 -int pci_hotplug 13,154 -static int pci_visit_bus 67,1417 -static int pci_visit_bridge 101,2245 -int pci_visit_dev(133,3057 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/setup-irq.c,130 -#define DEBUG_CONFIG 21,416 -# define DBGC(DBGC23,456 -# define DBGC(DBGC25,498 -pdev_fixup_irq(30,546 -pci_fixup_irqs(64,1540 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pci/pci-sysfs.c,320 -#define pci_config_attr(pci_config_attr24,443 -resource_show(43,980 -struct device_attribute pci_dev_attrs[62,1406 -pci_read_config(74,1641 -pci_write_config(128,2761 -static struct bin_attribute pci_config_attr 167,3620 -static struct bin_attribute pcie_config_attr 178,3828 -void pci_create_sysfs_dev_files 189,4038 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_io.h,25 -#define __W1_IO_H23,820 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/matrox_w1.c,886 -static struct pci_device_id matrox_w1_tbl[46,1389 -static struct pci_driver matrox_w1_pci_driver 55,1699 -#define MATROX_G400_DDC_CLK 66,1911 -#define MATROX_G400_DDC_DATA 67,1947 -#define MATROX_BASE 69,1985 -#define MATROX_STATUS 70,2014 -#define MATROX_PORT_INDEX_OFFSET 72,2046 -#define MATROX_PORT_DATA_OFFSET 73,2084 -#define MATROX_GET_CONTROL 75,2123 -#define MATROX_GET_DATA 76,2156 -#define MATROX_CURSOR_CTL 77,2187 -struct matrox_devicematrox_device79,2220 -static __inline__ u8 matrox_w1_read_reg(105,2893 -static __inline__ void matrox_w1_write_reg(116,3070 -static void matrox_w1_write_ddc_bit(123,3230 -static u8 matrox_w1_read_ddc_bit(138,3603 -static void matrox_w1_hw_init(148,3794 -static int __devinit matrox_w1_probe(154,3959 -static void __devexit matrox_w1_remove(222,5668 -static int __init matrox_w1_init(235,5925 -static void __exit matrox_w1_fini(240,6017 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/ds_w1_bridge.c,478 -static struct ds_device *ds_dev;29,931 -static struct w1_bus_master *ds_bus_master;30,964 -static u8 ds9490r_touch_bit(32,1009 -static void ds9490r_write_bit(43,1192 -static void ds9490r_write_byte(50,1332 -static u8 ds9490r_read_bit(57,1476 -static u8 ds9490r_read_byte(73,1737 -static void ds9490r_write_block(86,1936 -static u8 ds9490r_read_block(93,2095 -static u8 ds9490r_reset(105,2306 -static int __devinit ds_w1_init(120,2530 -static void __devexit ds_w1_fini(163,3616 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_int.c,209 -static u32 w1_ids 29,915 -struct w1_master * w1_alloc_dev(40,1174 -void w1_free_dev(109,2891 -int w1_add_master_device(118,3117 -void __w1_remove_master_device(170,4227 -void w1_remove_master_device(193,4698 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/dscore.h,2360 -#define __DSCORE_H23,822 -#define CONTROL_CMD 29,915 -#define COMM_CMD 30,942 -#define MODE_CMD 31,966 -#define CTL_RESET_DEVICE 34,1019 -#define CTL_START_EXE 35,1052 -#define CTL_RESUME_EXE 36,1083 -#define CTL_HALT_EXE_IDLE 37,1115 -#define CTL_HALT_EXE_DONE 38,1149 -#define CTL_FLUSH_COMM_CMDS 39,1183 -#define CTL_FLUSH_RCV_BUFFER 40,1219 -#define CTL_FLUSH_XMT_BUFFER 41,1256 -#define CTL_GET_COMM_CMDS 42,1293 -#define MOD_PULSE_EN 45,1353 -#define MOD_SPEED_CHANGE_EN 46,1383 -#define MOD_1WIRE_SPEED 47,1419 -#define MOD_STRONG_PU_DURATION 48,1452 -#define MOD_PULLDOWN_SLEWRATE 49,1491 -#define MOD_PROG_PULSE_DURATION 50,1529 -#define MOD_WRITE1_LOWTIME 51,1569 -#define MOD_DSOW0_TREC 52,1604 -#define COMM_ERROR_ESCAPE 55,1671 -#define COMM_SET_DURATION 56,1705 -#define COMM_BIT_IO 57,1739 -#define COMM_PULSE 58,1768 -#define COMM_1_WIRE_RESET 59,1796 -#define COMM_BYTE_IO 60,1830 -#define COMM_MATCH_ACCESS 61,1860 -#define COMM_BLOCK_IO 62,1894 -#define COMM_READ_STRAIGHT 63,1925 -#define COMM_DO_RELEASE 64,1960 -#define COMM_SET_PATH 65,1993 -#define COMM_WRITE_SRAM_PAGE 66,2024 -#define COMM_WRITE_EPROM 67,2061 -#define COMM_READ_CRC_PROT_PAGE 68,2094 -#define COMM_READ_REDIRECT_PAGE_CRC 69,2134 -#define COMM_SEARCH_ACCESS 70,2177 -#define COMM_TYPE 73,2246 -#define COMM_SE 74,2273 -#define COMM_D 75,2299 -#define COMM_Z 76,2324 -#define COMM_CH 77,2349 -#define COMM_SM 78,2375 -#define COMM_R 79,2401 -#define COMM_IM 80,2426 -#define COMM_PS 82,2453 -#define COMM_PST 83,2479 -#define COMM_CIB 84,2505 -#define COMM_RTS 85,2531 -#define COMM_DT 86,2557 -#define COMM_SPU 87,2583 -#define COMM_F 88,2609 -#define COMM_NTP 89,2634 -#define COMM_ICP 90,2660 -#define COMM_RST 91,2686 -#define PULSE_PROG 93,2713 -#define PULSE_SPUE 94,2739 -#define BRANCH_MAIN 96,2766 -#define BRANCH_AUX 97,2793 -#define PULLUP_PULSE_DURATION 102,2884 -#define ST_SPUA 105,2939 -#define ST_PRGA 106,2995 -#define ST_12VP 107,3067 -#define ST_PMOD 108,3142 -#define ST_HALT 109,3218 -#define ST_IDLE 110,3276 -#define ST_EPOF 111,3332 -#define SPEED_NORMAL 113,3357 -#define SPEED_FLEXIBLE 114,3385 -#define SPEED_OVERDRIVE 115,3415 -#define NUM_EP 117,3447 -#define EP_CONTROL 118,3467 -#define EP_STATUS 119,3490 -#define EP_DATA_OUT 120,3512 -#define EP_DATA_IN 121,3536 -struct ds_deviceds_device123,3560 -struct ds_statusds_status133,3679 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_log.h,111 -#define __W1_LOG_H23,822 -#define DEBUG25,842 -# define assert(assert28,873 -# define assert(assert30,918 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_therm.c,381 -static u8 bad_roms[39,1211 -static struct w1_family_ops w1_therm_fops 48,1511 -static ssize_t w1_therm_read_name(55,1679 -static ssize_t w1_therm_read_temp(62,1854 -static int w1_therm_check_rom(77,2142 -static ssize_t w1_therm_read_bin(88,2296 -static struct w1_family w1_therm_family 174,4153 -static int __init w1_therm_init(179,4251 -static void __exit w1_therm_fini(184,4340 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_smem.c,306 -static struct w1_family_ops w1_smem_fops 43,1403 -static ssize_t w1_smem_read_name(50,1557 -static ssize_t w1_smem_read_val(57,1731 -static ssize_t w1_smem_read_bin(70,2039 -static struct w1_family w1_smem_family 102,2705 -static int __init w1_smem_init(107,2800 -static void __exit w1_smem_fini(112,2887 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_io.c,316 -int w1_delay_parm 31,936 -static u8 w1_crc8_table[34,1015 -void w1_delay(53,2234 -u8 w1_touch_bit(58,2300 -void w1_write_bit(66,2484 -void w1_write_8(81,2851 -u8 w1_read_bit(92,3080 -u8 w1_read_8(107,3374 -void w1_write_block(121,3611 -u8 w1_read_block(132,3848 -int w1_reset_bus(148,4127 -u8 w1_calc_crc8(167,4549 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_int.h,26 -#define __W1_INT_H23,822 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_netlink.c,29 -void w1_netlink_send(29,920 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_netlink.h,235 -#define __W1_NETLINK_H23,828 -enum w1_netlink_message_types w1_netlink_message_types29,893 - W1_SLAVE_ADD 30,925 - W1_SLAVE_REMOVE,31,944 - W1_MASTER_ADD,32,962 - W1_MASTER_REMOVE,33,978 -struct w1_netlink_msg w1_netlink_msg36,1001 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_family.c,299 -spinlock_t w1_flock 27,883 -static int w1_check_family(30,957 -int w1_register_family(38,1120 -void w1_unregister_family(68,1635 -struct w1_family * w1_family_registered(94,2102 -void w1_family_put(112,2406 -void __w1_family_put(119,2520 -void w1_family_get(125,2625 -void __w1_family_get(133,2740 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1.c,1948 -static int w1_timeout 48,1411 -int w1_max_slave_count 49,1439 -spinlock_t w1_mlock 54,1584 -static pid_t control_thread;57,1650 -static int control_needs_exit;58,1679 -static int w1_master_match(62,1808 -static int w1_master_probe(67,1898 -static int w1_master_remove(72,1967 -static void w1_master_release(77,2031 -static void w1_slave_release(84,2183 -static ssize_t w1_default_read_name(91,2332 -static ssize_t w1_default_read_bin(96,2453 -struct bus_type w1_bus_type 102,2608 -struct device_driver w1_driver 107,2686 -struct device w1_device 114,2825 -static struct device_attribute w1_slave_attribute 122,2978 -static struct device_attribute w1_slave_attribute_val 131,3146 -ssize_t w1_master_attribute_show_name(140,3319 -ssize_t w1_master_attribute_show_pointer(155,3610 -ssize_t w1_master_attribute_show_timeout(169,3909 -ssize_t w1_master_attribute_show_max_slave_count(176,4060 -ssize_t w1_master_attribute_show_attempts(190,4370 -ssize_t w1_master_attribute_show_slave_count(204,4667 -ssize_t w1_master_attribute_show_slaves(218,4969 -static struct device_attribute w1_master_attribute_slaves 245,5545 -static struct device_attribute w1_master_attribute_slave_count 253,5746 -static struct device_attribute w1_master_attribute_attempts 261,5959 -static struct device_attribute w1_master_attribute_max_slave_count 269,6163 -static struct device_attribute w1_master_attribute_timeout 277,6388 -static struct device_attribute w1_master_attribute_pointer 285,6589 -static struct device_attribute w1_master_attribute_name 293,6790 -static struct bin_attribute w1_slave_bin_attribute 302,6983 -static int __w1_attach_slave_device(312,7187 -static int w1_attach_slave_device(385,9217 -static void w1_slave_detach(443,10441 -static void w1_search(463,10975 -int w1_create_master_attributes(578,13398 -void w1_destroy_master_attributes(592,13980 -int w1_control(604,14486 -int w1_process(679,16188 -int w1_init(739,17424 -void w1_fini(779,18238 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1_family.h,232 -#define __W1_FAMILY_H23,828 -#define W1_FAMILY_DEFAULT 29,927 -#define W1_FAMILY_THERM 30,955 -#define W1_FAMILY_SMEM 31,985 -#define MAXNAMELEN 33,1015 -struct w1_family_opsw1_family_ops35,1039 -struct w1_familyw1_family44,1255 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/w1.h,525 -#define __W1_H23,814 -struct w1_reg_numw1_reg_num25,830 -#define W1_MAXNAMELEN 43,1040 -#define W1_SLAVE_DATA_SIZE 44,1066 -#define W1_SEARCH 46,1098 -#define W1_CONDITIONAL_SEARCH 47,1122 -#define W1_CONVERT_TEMP 48,1157 -#define W1_SKIP_ROM 49,1187 -#define W1_READ_SCRATCHPAD 50,1213 -#define W1_READ_ROM 51,1245 -#define W1_READ_PSUPPLY 52,1271 -#define W1_MATCH_ROM 53,1301 -#define W1_SLAVE_ACTIVE 55,1329 -struct w1_slavew1_slave57,1362 -struct w1_bus_masterw1_bus_master76,1746 -struct w1_masterw1_master94,2138 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/w1/dscore.c,1040 -static struct usb_device_id ds_id_table 29,935 -static struct usb_driver ds_driver 60,2284 -static struct ds_device *ds_dev;68,2447 -struct ds_device * ds_get_device(70,2481 -void ds_put_device(77,2585 -static int ds_send_control_cmd(82,2659 -static int ds_send_control_mode(97,3035 -static int ds_send_control(112,3406 -static inline void ds_dump_status(127,3767 -int ds_recv_status_nodump(132,3894 -int ds_recv_status(151,4371 -int ds_recv_data(209,6111 -int ds_send_data(237,6710 -int ds_stop_pulse(251,7041 -int ds_detect(278,7549 -int ds_wait_status(303,8024 -int ds_reset(331,8575 -int ds_set_speed(351,8962 -int ds_start_pulse(370,9304 -int ds_touch_bit(400,9816 -int ds_write_bit(432,10407 -int ds_write_byte(446,10634 -int ds_read_bit(469,11040 -int ds_read_byte(488,11376 -inline int ds_read_block(506,11665 -inline int ds_write_block(532,12099 -int ds_search(558,12557 -int ds_match_access(587,13197 -int ds_set_path(607,13547 -int ds_probe(631,13925 -void ds_disconnect(726,16333 -int ds_init(741,16589 -void ds_fini(754,16774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6main.c,2524 -#define NR_STRIPES 36,1105 -#define STRIPE_SIZE 37,1129 -#define STRIPE_SHIFT 38,1160 -#define STRIPE_SECTORS 39,1199 -#define IO_THRESHOLD 40,1240 -#define HASH_PAGES 41,1264 -#define HASH_PAGES_ORDER 42,1286 -#define NR_HASH 43,1313 -#define HASH_MASK 44,1387 -#define stripe_hash(stripe_hash46,1421 -#define r5_next_bio(r5_next_bio57,1997 -#define RAID6_DEBUG 61,2171 -#define RAID6_PARANOIA 62,2224 -#define RAID6_DUMPSTATE 63,2271 -# define CHECK_DEVLOCK(CHECK_DEVLOCK65,2388 -# define CHECK_DEVLOCK(CHECK_DEVLOCK67,2466 -#define PRINTK(PRINTK70,2499 -#define inline74,2614 -#define __inline__75,2629 -const char raid6_empty_zero_page[80,2716 -static inline int raid6_next_disk(83,2799 -static inline void __release_stripe(91,2965 -static void release_stripe(118,3888 -static void remove_hash(128,4132 -static __inline__ void insert_hash(140,4413 -static struct stripe_head *get_free_stripe(155,4830 -static void shrink_buffers(172,5205 -static int grow_buffers(186,5422 -static inline void init_stripe(203,5703 -static struct stripe_head *__find_stripe(240,6566 -static struct stripe_head *get_active_stripe(255,6993 -static int grow_stripes(304,8181 -static void shrink_stripes(340,9070 -static int raid6_end_read_request 360,9515 -static int raid6_end_write_request 432,11371 -static void raid6_build_block 472,12345 -static void error(493,12856 -static sector_t raid6_compute_sector(523,13605 -static sector_t compute_blocknr(600,15698 -static void copy_data(666,17700 -#define check_xor(check_xor711,18798 -static void compute_parity(719,18996 -static void compute_block_1(796,21149 -static void compute_block_2(834,22197 -static void add_stripe_bio 900,24189 -static void handle_stripe(968,26241 -static inline void raid6_activate_delayed(1447,41747 -static void unplug_slaves(1463,42276 -static void raid6_unplug_device(1488,42936 -static int raid6_issue_flush(1505,43308 -static inline void raid6_plug_device(1538,43981 -static int make_request 1545,44155 -static int sync_request 1609,46004 -static void raid6d 1662,47507 -static int run 1711,48542 -static int stop 1876,53423 -static void print_sh 1890,53739 -static void printall 1906,54266 -static void status 1924,54623 -static void print_raid6_conf 1942,55177 -static int raid6_spare_active(1965,55663 -static int raid6_remove_disk(1988,56145 -static int raid6_add_disk(2014,56625 -static int raid6_resize(2038,57113 -static mdk_personality_t raid6_personality=2059,57850 -static int __init raid6_init 2075,58214 -static void raid6_exit 2086,58374 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-bio-list.h,278 -#define DM_BIO_LIST_H8,111 -struct bio_list bio_list12,158 -static inline void bio_list_init(17,218 -static inline void bio_list_add(22,306 -static inline void bio_list_merge(34,488 -static inline struct bio *bio_list_pop(44,672 -static inline struct bio *bio_list_get(59,889 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6sse1.c,335 -extern const struct raid6_mmx_constants raid6_mmx_constants30,1003 -} raid6_mmx_constants;32,1055 -static int raid6_have_sse1_or_mmxext(34,1079 -static void raid6_sse11_gen_syndrome(51,1500 -const struct raid6_calls raid6_sse1x1 101,3079 -static void raid6_sse12_gen_syndrome(111,3262 -const struct raid6_calls raid6_sse1x2 164,5083 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/kcopyd.c,1437 -static struct workqueue_struct *_kcopyd_wq;27,602 -static struct work_struct _kcopyd_work;28,646 -static inline void wake(30,687 -struct kcopyd_client kcopyd_client39,984 -static struct page_list *alloc_pl(48,1133 -static void free_pl(65,1366 -static int kcopyd_get_pages(71,1449 -static void kcopyd_put_pages(94,1846 -static void drop_pages(111,2204 -static int client_alloc_pages(122,2344 -static void client_free_pages(143,2690 -struct kcopyd_job kcopyd_job156,3196 -#define MIN_JOBS 200,4003 -static kmem_cache_t *_job_cache;202,4025 -static mempool_t *_job_pool;203,4058 -static spinlock_t _job_lock 214,4322 -static int jobs_init(220,4467 -static void jobs_exit(239,4874 -static inline struct kcopyd_job *pop(255,5197 -static inline void push(271,5526 -static int run_complete_job(289,5902 -static void complete_io(302,6213 -static int run_io_job(334,6758 -static int run_pages_job(351,7062 -static int process_jobs(375,7520 -static void do_work(412,8113 -static void dispatch_job(431,8687 -#define SUB_JOB_SIZE 437,8776 -static void segment_complete(438,8801 -#define SPLIT_COUNT 506,10338 -static void split_job(507,10360 -int kcopyd_copy(516,10529 -int kcopyd_cancel(564,11379 -static void client_add(576,11685 -static void client_del(583,11814 -static int kcopyd_clients 591,11972 -static int kcopyd_init(593,12004 -static void kcopyd_exit(625,12489 -int kcopyd_client_create(637,12689 -void kcopyd_client_destroy(675,13280 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6x86.h,962 -#define LINUX_RAID_RAID6X86_H20,696 -} raid6_mmx_save_t __attribute__((aligned(aligned29,854 -} raid6_sse_save_t __attribute__((aligned(aligned36,1100 -} raid6_sse16_save_t __attribute__((aligned(aligned42,1287 -#define SAREA(SAREA47,1519 -} raid6_mmx_save_t;raid6_mmx_save_t54,1681 -} raid6_sse_save_t;raid6_sse_save_t62,1948 -#define SAREA(SAREA65,2010 -static inline unsigned long raid6_get_fpu(73,2190 -static inline void raid6_put_fpu(82,2348 -static inline unsigned long raid6_get_fpu(90,2516 -static inline void raid6_put_fpu(95,2587 -static inline void raid6_before_mmx(102,2664 -static inline void raid6_after_mmx(108,2809 -static inline void raid6_before_sse(114,2944 -static inline void raid6_after_sse(130,3479 -static inline void raid6_before_sse2(146,4018 -static inline void raid6_after_sse2(162,4554 -static inline void raid6_before_sse16(180,5113 -static inline void raid6_after_sse16(204,6074 -static inline int cpuid_features(232,7118 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm.c,2287 -static const char *_name 20,387 -static unsigned int major 22,424 -static unsigned int _major 23,455 -struct dm_io dm_io28,533 -struct target_io target_io39,741 -#define DMF_BLOCK_IO 48,868 -#define DMF_SUSPENDED 49,891 -#define DMF_FS_LOCKED 50,915 -struct mapped_device mapped_device52,940 -#define MIN_IOS 92,1572 -static kmem_cache_t *_io_cache;93,1592 -static kmem_cache_t *_tio_cache;94,1624 -static int __init local_init(96,1658 -static void local_exit(128,2278 -} _inits[150,2737 -#define xx(xx151,2752 -static int __init dm_init(160,2880 -static void __exit dm_exit(181,3118 -static int dm_blk_open(192,3252 -static int dm_blk_close(201,3416 -static inline struct dm_io *alloc_io(210,3581 -static inline void free_io(215,3695 -static inline struct target_io *alloc_tio(220,3803 -static inline void free_tio(225,3923 -static int queue_io(233,4089 -struct dm_table *dm_get_table(253,4532 -static inline void dec_pending(279,5284 -static int clone_endio(294,5623 -static sector_t max_io_len(323,6170 -static void __map_bio(343,6567 -struct clone_info clone_info376,7240 -static struct bio *split_bvec(389,7479 -static struct bio *clone_bio(413,8057 -static void __clone_and_map(429,8436 -static void __split_bio(513,10428 -static int dm_request(550,11243 -static int dm_flush_all(589,11959 -static void dm_unplug_all(604,12248 -static int dm_any_congested(615,12448 -static void free_minor(636,13048 -static int specific_minor(646,13230 -static int next_free_minor(682,13722 -static struct block_device_operations dm_blk_dops;713,14126 -static struct mapped_device *alloc_dev(718,14247 -static void free_dev(790,15926 -static void event_callback(804,16199 -static void __set_size(812,16361 -static int __bind(826,16666 -static void __unbind(846,17064 -static int create_aux(863,17350 -int dm_create(876,17570 -int dm_create_with_minor(881,17654 -void dm_get(886,17773 -void dm_put(891,17843 -static void __flush_deferred_io(908,18148 -int dm_swap_table(923,18381 -static int __lock_fs(948,18782 -static int __unlock_fs(970,19228 -int dm_suspend(997,19894 -int dm_resume(1074,21345 -uint32_t dm_get_event_nr(1105,22065 -int dm_wait_event(1110,22157 -struct gendisk *dm_disk(1120,22397 -int dm_suspended(1125,22470 -static struct block_device_operations dm_blk_dops 1130,22563 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm.h,519 -#define DM_INTERNAL_H10,164 -#define DM_NAME 17,293 -#define DMWARN(DMWARN18,325 -#define DMERR(DMERR19,397 -#define DMINFO(DMINFO20,464 -#define DMEMIT(DMEMIT22,534 -#define SECTOR_FORMAT 30,736 -#define SECTOR_FORMAT 32,770 -#define SECTOR_SHIFT 35,806 -struct dm_dev dm_dev40,902 -static inline int array_too_big(135,4161 -static inline unsigned long dm_round_up(144,4339 -static inline unsigned long dm_div_up(153,4512 -static inline sector_t to_sector(158,4629 -static inline unsigned long to_bytes(163,4702 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/multipath.c,1145 -#define MAJOR_NR 29,878 -#define MD_DRIVER30,904 -#define MD_PERSONALITY31,922 -#define MAX_WORK_PER_DISK 33,946 -#define NR_RESERVED_BUFS 35,977 -static mdk_personality_t multipath_personality;38,1007 -static spinlock_t retry_list_lock 39,1055 -struct multipath_bh *multipath_retry_list 40,1111 -static void *mp_pool_alloc(43,1187 -static void mp_pool_free(52,1370 -static int multipath_map 57,1436 -static void multipath_reschedule_retry 81,1988 -static void multipath_end_bh_io 102,2604 -int multipath_end_request(111,2843 -static void unplug_slaves(139,3645 -static void multipath_unplug(163,4285 -static int multipath_make_request 169,4370 -static void multipath_status 206,5380 -static int multipath_issue_flush(220,5776 -static void multipath_error 249,6447 -static void print_multipath_conf 281,7255 -static int multipath_add_disk(305,7746 -static int multipath_remove_disk(341,8779 -static void multipathd 379,9618 -static int multipath_run 422,10846 -static int multipath_stop 540,13860 -static mdk_personality_t multipath_personality=553,14123 -static int __init multipath_init 566,14459 -static void __exit multipath_exit 571,14573 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/kcopyd.h,155 -#define DM_KCOPYD_H12,279 -#define KCOPYD_MAX_REGIONS 17,356 -#define KCOPYD_IGNORE_ERROR 19,386 -typedef void (*kcopyd_notify_fn)kcopyd_notify_fn35,830 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/xor.c,313 -#define BH_TRACE 19,672 -static struct xor_block_template *active_template;26,826 -xor_block(29,883 -static struct xor_block_template *template_list;57,1473 -#define BENCH_SIZE 59,1523 -do_xor_speed(62,1567 -calibrate_xor_block(99,2314 -#define xor_speed(xor_speed122,2804 -static __exit void xor_exit(148,3432 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/linear.c,510 -#define MAJOR_NR 25,761 -#define MD_DRIVER26,787 -#define MD_PERSONALITY27,805 -static inline dev_info_t *which_dev(32,884 -static int linear_mergeable_bvec(58,1587 -static void linear_unplug(82,2308 -static int linear_issue_flush(95,2619 -static int linear_run 117,3152 -static int linear_stop 233,5717 -static int linear_make_request 243,5862 -static void linear_status 303,7617 -static mdk_personality_t linear_personality=330,8198 -static int __init linear_init 340,8402 -static void linear_exit 345,8507 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-raid1.c,2709 -static struct workqueue_struct *_kmirrord_wq;23,434 -static struct work_struct _kmirrord_work;24,480 -static inline void wake(26,523 -struct region_hash region_hash68,2203 - RH_CLEAN,91,2673 - RH_DIRTY,92,2684 - RH_NOSYNC,93,2695 - RH_RECOVERING94,2707 -struct region region97,2726 -static inline region_t bio_to_region(112,2966 -static inline sector_t region_to_sector(117,3093 -static void *region_alloc(125,3309 -static void region_free(130,3421 -#define MIN_REGIONS 135,3499 -#define MAX_RECOVERY 136,3522 -static int rh_init(137,3545 -static void rh_exit(187,4738 -#define RH_HASH_MULT 207,5198 -static inline unsigned int rh_hash(209,5232 -static struct region *__rh_lookup(214,5380 -static void __rh_insert(225,5611 -static struct region *__rh_alloc(231,5770 -static inline struct region *__rh_find(268,6605 -static int rh_state(279,6801 -static inline int rh_in_sync(304,7305 -static void dispatch_bios(311,7497 -static void rh_update_states(320,7671 -static void rh_inc(372,9023 -static void rh_inc_pending(391,9467 -static void rh_dec(399,9652 -static int __rh_recovery_prepare(428,10306 -static void rh_recovery_prepare(465,11007 -static struct region *rh_recovery_start(477,11234 -static void rh_recovery_end(493,11637 -static void rh_flush(504,11871 -static void rh_delay(509,11953 -static void rh_stop_recovery(519,12186 -static void rh_start_recovery(528,12357 -struct mirror mirror541,12660 -struct mirror_set mirror_set547,12742 -#define DEFAULT_MIRROR 568,13133 -static struct mirror_set *bio_get_ms(575,13349 -static void bio_set_ms(580,13452 -static void recovery_complete(592,13887 -static int recover(601,14116 -static void do_recovery(644,15190 -static struct mirror *choose_mirror(678,15890 -static void map_bio(687,16090 -static void do_reads(693,16267 -static void write_callback(725,17155 -static void do_write(757,17824 -static void do_writes(777,18292 -static void do_mirror(843,19663 -static void do_work(860,19988 -static struct mirror_set *alloc_context(873,20335 -static void free_context(909,21128 -static inline int _check_region_size(919,21308 -static int get_mirror(925,21467 -static int add_mirror_set(947,21955 -static void del_mirror_set(957,22136 -static struct dirty_log *create_dirty_log(967,22339 -#define DM_IO_PAGES 1015,23405 -static int mirror_ctr(1016,23428 -static void mirror_dtr(1074,24616 -static void queue_bio(1083,24830 -static int mirror_map(1101,25161 -static int mirror_end_io(1145,26025 -static void mirror_suspend(1161,26372 -static void mirror_resume(1171,26677 -static int mirror_status(1181,26979 -static struct target_type mirror_target 1215,27844 -static int __init dm_mirror_init(1228,28132 -static void __exit dm_mirror_exit(1255,28624 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-ioctl.c,2392 -#define DM_DRIVER_EMAIL 20,372 -struct hash_cell hash_cell26,632 -struct vers_iter vers_iter36,794 -#define NUM_BUCKETS 44,924 -#define MASK_BUCKETS 45,947 -static struct list_head _name_buckets[46,986 -static struct list_head _uuid_buckets[47,1038 -static void init_buckets(56,1210 -static int dm_hash_init(64,1351 -static void dm_hash_exit(72,1480 -static unsigned int hash_str(83,1832 -static struct hash_cell *__get_name_cell(97,2214 -static struct hash_cell *__get_uuid_cell(109,2449 -static inline char *kstrdup(124,2866 -static struct hash_cell *alloc_cell(132,3002 -static void free_cell(166,3538 -static int register_with_devfs(178,3675 -static int unregister_with_devfs(188,3920 -static int dm_hash_insert(198,4122 -static void __hash_remove(237,4825 -static void dm_hash_remove_all(249,5072 -static int dm_hash_rename(265,5395 -typedef int (*ioctl_fn)ioctl_fn328,6663 -static int remove_all(330,6732 -#define ALIGN_MASK 340,6909 -static inline void *align_ptr(341,6930 -static void *get_result_buffer(350,7130 -static int list_devices(363,7436 -static void list_version_get_needed(420,8706 -static void list_version_get_info(429,8923 -static int list_versions(454,9674 -static int check_name(494,10505 -static int __dev_status(508,10722 -static int dev_create(550,11661 -static inline struct hash_cell *__find_device_hash_cell(584,12269 -static inline struct mapped_device *find_device(590,12443 -static int dev_remove(622,13092 -static int invalid_str(645,13540 -static int dev_rename(654,13664 -static int do_suspend(673,14091 -static int do_resume(692,14348 -static int dev_suspend(752,15461 -static int dev_status(764,15712 -static void retrieve_status(781,15979 -static int dev_wait(848,17571 -static inline int get_mode(886,18218 -static int next_target(896,18387 -static int populate_table(908,18726 -static int table_load(946,19564 -static int table_clear(980,20224 -static void retrieve_deps(1009,20773 -static int table_deps(1046,21551 -static int table_status(1075,22009 -static ioctl_fn lookup_ioctl(1104,22595 -static int check_version(1136,23422 -static void free_params(1166,24168 -static int copy_params(1171,24236 -static int validate_params(1194,24658 -static int ctl_ioctl(1222,25334 -static struct file_operations _ctl_fops 1302,26896 -static struct miscdevice _dm_misc 1307,26990 -int __init dm_interface_init(1317,27209 -void dm_interface_exit(1338,27587 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6algos.c,210 -struct raid6_calls raid6_call;24,727 -const struct raid6_calls * const raid6_algos[41,1379 -#define RAID6_TIME_JIFFIES_LG2 67,1781 -#define RAID6_TIME_JIFFIES_LG2 70,1867 -int __init raid6_select_algo(76,2015 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-exception-store.c,1337 -#define SNAP_MAGIC 51,1580 -#define SNAPSHOT_DISK_VERSION 56,1658 -struct disk_header disk_header58,1691 -struct disk_exception disk_exception77,1979 -struct commit_callback commit_callback82,2049 -struct pstore pstore90,2202 -static inline unsigned int sectors_to_pages(126,2937 -static int alloc_area(131,3044 -static void free_area(149,3324 -static int chunk_io(157,3467 -static int area_io(173,3849 -static int zero_area(189,4137 -static int read_header(195,4285 -static int write_header(223,4811 -static struct disk_exception *get_exception(241,5260 -static int read_exception(249,5453 -static int write_exception(265,5765 -static int insert_exceptions(286,6207 -static int read_exceptions(330,7070 -static inline struct pstore *get_info(352,7417 -static void persistent_fraction_full(357,7533 -static void persistent_destroy(364,7781 -static int persistent_read_metadata(374,7984 -static int persistent_prepare(428,8833 -static void persistent_commit(453,9446 -static void persistent_drop(508,10853 -int dm_create_persistent(517,11028 -struct transient_c transient_c583,12534 -static void transient_destroy(587,12580 -static int transient_read_metadata(592,12670 -static int transient_prepare(597,12752 -static void transient_commit(611,13144 -static void transient_fraction_full(620,13370 -int dm_create_transient(627,13614 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6test/test.c,242 -#define NDISKS 24,732 -const char raid6_empty_zero_page[26,776 -struct raid6_calls raid6_call;27,851 -char *dataptrs[29,883 -char data[30,907 -char recovi[31,937 -char recovi[PAGE_SIZE], recovj[31,937 -void makedata(33,981 -int main(45,1151 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6recov.c,95 -void raid6_2data_recov(24,829 -void raid6_datap_recov(71,2027 -void raid6_dual_recov(105,2808 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid0.c,501 -#define MAJOR_NR 24,766 -#define MD_DRIVER25,792 -#define MD_PERSONALITY26,810 -static void raid0_unplug(28,834 -static int raid0_issue_flush(43,1182 -static int create_strip_zones 68,1751 -static int raid0_mergeable_bvec(263,7071 -static int raid0_run 279,7621 -static int raid0_stop 388,10654 -static int raid0_make_request 402,10900 -static void raid0_status 491,13270 -static mdk_personality_t raid0_personality=519,14002 -static int __init raid0_init 529,14200 -static void raid0_exit 534,14302 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-log.h,150 -#define DM_DIRTY_LOG8,112 -typedef sector_t region_t;region_t12,151 -struct dirty_log dirty_log16,203 -struct dirty_log_type dirty_log_type21,272 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-linear.c,275 -struct linear_c linear_c18,301 -static int linear_ctr(26,419 -static void linear_dtr(60,1112 -static int linear_map(68,1260 -static int linear_status(79,1523 -static struct target_type linear_target 98,1941 -int __init dm_linear_init(108,2151 -void dm_linear_exit(118,2300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid5.c,2383 -#define NR_STRIPES 31,861 -#define STRIPE_SIZE 32,885 -#define STRIPE_SHIFT 33,916 -#define STRIPE_SECTORS 34,955 -#define IO_THRESHOLD 35,996 -#define HASH_PAGES 36,1020 -#define HASH_PAGES_ORDER 37,1042 -#define NR_HASH 38,1069 -#define HASH_MASK 39,1143 -#define stripe_hash(stripe_hash41,1177 -#define r5_next_bio(r5_next_bio52,1753 -#define RAID5_DEBUG 56,1927 -#define RAID5_PARANOIA 57,1949 -# define CHECK_DEVLOCK(CHECK_DEVLOCK59,2016 -# define CHECK_DEVLOCK(CHECK_DEVLOCK61,2094 -#define PRINTK(PRINTK64,2127 -#define inline66,2199 -#define __inline__67,2214 -static inline void __release_stripe(72,2293 -static void release_stripe(99,3216 -static void remove_hash(109,3461 -static __inline__ void insert_hash(121,3742 -static struct stripe_head *get_free_stripe(136,4159 -static void shrink_buffers(153,4534 -static int grow_buffers(167,4751 -static inline void init_stripe(184,5032 -static struct stripe_head *__find_stripe(221,5898 -static struct stripe_head *get_active_stripe(236,6325 -static int grow_stripes(285,7514 -static void shrink_stripes(321,8404 -static int raid5_end_read_request 341,8849 -static int raid5_end_write_request 413,10709 -static void raid5_build_block 453,11686 -static void error(472,12094 -static sector_t raid5_compute_sector(502,12844 -static sector_t compute_blocknr(568,14517 -static void copy_data(621,16062 -#define check_xor(check_xor666,17169 -static void compute_block(674,17336 -static void compute_parity(704,18109 -static void add_stripe_bio 796,20425 -static void handle_stripe(864,22478 -static inline void raid5_activate_delayed(1285,35476 -static void unplug_slaves(1301,36005 -static void raid5_unplug_device(1326,36665 -static int raid5_issue_flush(1345,37058 -static inline void raid5_plug_device(1378,37731 -static int make_request 1385,37905 -static int sync_request 1448,39747 -static void raid5d 1501,41250 -static int run 1550,42287 -static int stop 1708,46876 -static void print_sh 1722,47188 -static void printall 1738,47640 -static void status 1756,47970 -#define D(D1769,48468 -static void print_raid5_conf 1775,48564 -static int raid5_spare_active(1798,49050 -static int raid5_remove_disk(1821,49532 -static int raid5_add_disk(1847,50013 -static int raid5_resize(1871,50501 -static mdk_personality_t raid5_personality=1892,51238 -static int __init raid5_init 1908,51602 -static void raid5_exit 1913,51704 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-io.h,176 -#define _DM_IO_H8,107 -#define DM_MAX_IO_REGIONS 13,177 -struct io_region io_region15,206 -struct page_list page_list21,292 -typedef void (*io_notify_fn)io_notify_fn31,484 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-table.c,1820 -#define MAX_DEPTH 18,328 -#define NODE_SIZE 19,349 -#define KEYS_PER_NODE 20,382 -#define CHILDREN_PER_NODE 21,435 -struct dm_table dm_table23,482 -static unsigned int int_log(60,1252 -#define min_not_zero(min_not_zero75,1487 -static void combine_restrictions_low(80,1627 -static inline unsigned int get_child(104,2306 -static inline sector_t *get_node(112,2473 -static sector_t high(122,2713 -static int setup_btree_index(137,3047 -void *dm_vcalloc(152,3323 -static int alloc_targets(175,3717 -int dm_table_create(206,4390 -static void free_devices(233,4878 -void table_destroy(244,5120 -void dm_table_get(275,5706 -void dm_table_put(280,5775 -static inline int check_space(292,5960 -static int lookup_device(303,6161 -static struct dm_dev *find_device(333,6594 -static int open_dev(347,6844 -static void close_dev(371,7241 -static int check_device_area(385,7482 -static int upgrade_mode(397,7845 -static int __table_get_device(420,8218 -int dm_get_device(479,9363 -void dm_put_device(533,10943 -static int adjoin(545,11175 -static char **realloc_argv(559,11471 -static int split_args(578,11878 -static void check_for_valid_limits(635,12924 -int dm_table_add_target(651,13386 -static int setup_indexes(715,14673 -int dm_table_complete(744,15309 -void dm_table_event_callback(766,15801 -void dm_table_event(775,15986 -sector_t dm_table_get_size(789,16256 -struct dm_target *dm_table_get_target(794,16373 -struct dm_target *dm_table_find_target(805,16580 -void dm_table_set_restrictions(822,16921 -unsigned int dm_table_get_num_targets(836,17379 -struct list_head *dm_table_get_devices(841,17466 -int dm_table_get_mode(846,17551 -void dm_table_suspend_targets(851,17615 -void dm_table_resume_targets(863,17815 -int dm_table_any_congested(875,18012 -void dm_table_unplug_all(890,18389 -int dm_table_flush_all(903,18703 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid1.c,1699 -#define NR_RAID1_BIOS 30,977 -static mdk_personality_t raid1_personality;32,1004 -static spinlock_t retry_list_lock 33,1048 -static void * r1bio_pool_alloc(39,1185 -static void r1bio_pool_free(55,1552 -#define RESYNC_BLOCK_SIZE 60,1627 -#define RESYNC_SECTORS 62,1701 -#define RESYNC_PAGES 63,1749 -#define RESYNC_WINDOW 64,1818 -static void * r1buf_pool_alloc(66,1853 -static void r1buf_pool_free(116,2837 -static void put_all_bios(133,3215 -static inline void free_r1bio(145,3414 -static inline void put_buf(166,3887 -static void reschedule_retry(187,4344 -static void raid_end_bio_io(204,4802 -static inline void update_head_pos(216,5075 -static int raid1_end_read_request(224,5264 -static int raid1_end_write_request(274,6591 -static int read_balance(336,8508 -static void unplug_slaves(425,10708 -static void raid1_unplug(449,11352 -static int raid1_issue_flush(454,11432 -#define RESYNC_DEPTH 484,12262 -static void device_barrier(486,12287 -static int make_request(504,12884 -static void status(622,15743 -static void error(637,16105 -static void print_conf(671,16983 -static void close_sync(694,17454 -static int raid1_spare_active(708,17821 -static int raid1_add_disk(736,18362 -static int raid1_remove_disk(769,19227 -static int end_sync_read(796,19688 -static int end_sync_write(823,20460 -static void sync_request_write(852,21161 -static void raid1d(905,22485 -static int init_resync(969,24264 -static int sync_request(994,24873 -static int run(1140,28505 -static int stop(1287,32066 -static int raid1_resize(1304,32402 -static int raid1_reshape(1324,33075 -static mdk_personality_t raid1_personality 1399,35040 -static int __init raid_init(1416,35432 -static void raid_exit(1421,35531 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-snap.h,421 -#define DM_SNAPSHOT_H10,151 -struct exception_table exception_table15,217 -typedef sector_t chunk_t;chunk_t25,460 -struct exception exception31,580 -struct exception_store exception_store42,762 -struct dm_snapshot dm_snapshot85,1736 -static inline sector_t get_dev_size(137,2870 -static inline chunk_t sector_to_chunk(142,2986 -static inline sector_t chunk_to_sector(147,3122 -static inline int bdev_equal(152,3237 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/mktables.c,77 -static uint8_t gfmul(27,853 -static uint8_t gfpow(39,1031 -int main(55,1233 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-snap.c,2509 -#define WAKE_UP_PERCENT 29,567 -#define SNAPSHOT_COPY_PRIORITY 34,643 -#define SNAPSHOT_PAGES 39,733 -struct pending_exception pending_exception41,761 -static kmem_cache_t *exception_cache;72,1383 -static kmem_cache_t *pending_cache;73,1421 -static mempool_t *pending_pool;74,1457 -struct origin origin79,1570 -#define ORIGIN_HASH_SIZE 93,1877 -#define ORIGIN_MASK 94,1906 -static struct list_head *_origins;95,1936 -static struct rw_semaphore _origins_lock;96,1971 -static int init_origin_hash(98,2014 -static void exit_origin_hash(116,2362 -static inline unsigned int origin_hash(121,2420 -static struct origin *__lookup_origin(126,2527 -static void __insert_origin(139,2783 -static int register_snapshot(149,3038 -static void unregister_snapshot(178,3550 -static int init_exception_table(197,3879 -static void exit_exception_table(212,4170 -static inline uint32_t exception_hash(229,4514 -static void insert_exception(234,4631 -static inline void remove_exception(240,4812 -static struct exception *lookup_exception(249,4978 -static inline struct exception *alloc_exception(263,5269 -static inline void free_exception(274,5475 -static inline struct pending_exception *alloc_pending_exception(279,5573 -static inline void free_pending_exception(284,5695 -int dm_add_exception(289,5805 -static int calc_max_buckets(306,6072 -static inline uint32_t round_down(318,6276 -static int init_hash_tables(328,6426 -static inline ulong round_up(368,7416 -static int snapshot_ctr(377,7590 -static void snapshot_dtr(528,10750 -static void flush_bios(549,11204 -static void error_bios(564,11402 -static struct bio *__flush_bios(576,11571 -static void pending_complete(596,12064 -static void commit_callback(653,13283 -static void copy_callback(663,13546 -static inline void start_copy(680,13974 -__find_pending_exception(711,14813 -static inline void remap_exception(759,15917 -static int snapshot_map(767,16144 -static void snapshot_resume(847,17872 -static int snapshot_status(863,18154 -static void list_merge(908,19324 -static int __origin_write(922,19539 -static int do_origin(998,21062 -static int origin_ctr(1021,21534 -static void origin_dtr(1042,21928 -static int origin_map(1048,22056 -#define min_not_zero(min_not_zero1058,22344 -static void origin_resume(1064,22509 -static int origin_status(1081,22921 -static struct target_type origin_target 1101,23307 -static struct target_type snapshot_target 1112,23560 -static int __init dm_snapshot_init(1123,23818 -static void __exit dm_snapshot_exit(1189,25196 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6mmx.c,308 -const struct raid6_mmx_constants raid6_mmx_constants25,750 -} raid6_mmx_constants 27,795 -static int raid6_have_mmx(31,849 -static void raid6_mmx1_gen_syndrome(46,1142 -const struct raid6_calls raid6_mmxx1 84,2234 -static void raid6_mmx2_gen_syndrome(94,2378 -const struct raid6_calls raid6_mmxx2 143,3958 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/md.c,4829 -#define MAJOR_NR 49,1580 -#define MD_DRIVER50,1606 -#define MdpMinorShift 53,1683 -#define DEBUG 55,1708 -#define dprintk(dprintk56,1724 -static mdk_personality_t *pers[63,1841 -static spinlock_t pers_lock 64,1890 -static int sysctl_speed_limit_min 78,2470 -static int sysctl_speed_limit_max 79,2512 -static struct ctl_table_header *raid_table_header;81,2557 -static ctl_table raid_table[83,2609 -static ctl_table raid_dir_table[103,3052 -static ctl_table raid_root_table[114,3223 -static struct block_device_operations md_fops;125,3397 -static spinlock_t all_mddevs_lock 132,3571 -#define ITERATE_MDDEV(ITERATE_MDDEV142,3920 -int md_flush_mddev(157,4393 -static int md_flush_all(182,4870 -static int md_fail_request 190,5047 -static inline mddev_t *mddev_get(196,5162 -static void mddev_put(202,5260 -static mddev_t * mddev_find(214,5544 -static inline int mddev_lock(265,6559 -static inline void mddev_lock_uninterruptible(270,6660 -static inline int mddev_trylock(275,6757 -static inline void mddev_unlock(280,6855 -mdk_rdev_t * find_rdev_nr(288,6992 -static mdk_rdev_t * find_rdev(300,7184 -inline static sector_t calc_dev_sboffset(312,7389 -static sector_t calc_dev_size(318,7556 -static int alloc_disk_sb(329,7748 -static void free_disk_sb(343,7972 -static int bi_complete(355,8172 -static int sync_page_io(364,8344 -static int read_disk_sb(392,8938 -static int uuid_equal(414,9362 -static int sb_equal(427,9613 -static unsigned int calc_sb_csum(464,10180 -static unsigned int calc_sb_csum_common(484,10835 -struct super_type super_type530,12449 -static int super_90_load(541,12738 -static int super_90_validate(629,14628 -static void super_90_sync(690,16183 -static unsigned int calc_sb_1_csum(804,19204 -static int super_1_load(826,19707 -static int super_1_validate(916,22019 -static void super_1_sync(971,23449 -struct super_type super_types[1017,24608 -static mdk_rdev_t * match_dev_unit(1034,24960 -static int match_mddev_units(1046,25195 -static int bind_rdev_to_array(1060,25438 -static void unbind_rdev_from_array(1099,26441 -static int lock_rdev(1116,26852 -static void unlock_rdev(1139,27329 -static void export_rdev(1151,27535 -static void kick_rdev_from_array(1167,27857 -static void export_array(1173,27965 -static void print_desc(1191,28268 -static void print_sb(1197,28427 -static void print_rdev(1231,29443 -void md_print_devices(1244,29869 -static int write_disk_sb(1270,30447 -static void sync_sbs(1294,30939 -static void md_update_sb(1306,31149 -static mdk_rdev_t *md_import_device(1376,32682 -static int analyze_sbs(1447,34134 -int mdp_major 1518,35772 -static struct kobject *md_probe(1520,35792 -static void md_safemode_timeout(1561,36682 -static int do_md_run(1570,36833 -static int restart_array(1723,40402 -static int do_md_stop(1762,41089 -static void autorun_array(1828,42420 -static void autorun_devices(1866,43369 -static int autostart_array(1946,45586 -static int get_version(2002,46805 -static int get_array_info(2016,47050 -static int get_disk_info(2066,48178 -static int add_new_disk(2101,48919 -static int hot_remove_disk(2221,51982 -static int hot_add_disk(2246,52425 -static int set_array_info(2352,55028 -static int update_array_info(2411,56750 -static int set_disk_faulty(2500,59493 -static int md_ioctl(2512,59669 -static int md_open(2753,64745 -static int md_release(2774,65132 -static int md_media_changed(2785,65311 -static int md_revalidate(2792,65429 -static struct block_device_operations md_fops 2799,65551 -int md_thread(2809,65763 -void md_wakeup_thread(2860,66910 -mdk_thread_t *md_register_thread(2869,67110 -static void md_interrupt_thread(2898,67717 -void md_unregister_thread(2908,67921 -void md_error(2922,68172 -static void status_unused(2948,68823 -static void status_resync(2969,69163 -static void *md_seq_start(3022,70570 -static void *md_seq_next(3048,71063 -static void md_seq_stop(3076,71592 -static int md_seq_show(3084,71740 -static struct seq_operations md_seq_ops 3156,73331 -static int md_seq_open(3163,73476 -static struct file_operations md_seq_fops 3171,73610 -int register_md_personality(3178,73776 -int unregister_md_personality(3200,74267 -static int is_mddev_idle(3214,74533 -void md_done_sync(3239,75188 -void md_write_start(3252,75521 -void md_write_end(3267,75865 -static inline void md_enter_safemode(3277,76101 -void md_handle_safemode(3296,76633 -#define SYNC_MARKS 3310,76902 -#define SYNC_MARK_STEP 3311,76924 -static void md_do_sync(3312,76954 -void md_check_recovery(3531,83507 -int md_notify_reboot(3631,86104 -struct notifier_block md_notifier 3655,86720 -static void md_geninit(3661,86866 -int __init md_init(3672,87087 -static dev_t detected_devices[3718,88225 -static int dev_cnt;3719,88261 -void md_autodetect_dev(3721,88282 -static void autostart_arrays(3728,88395 -static __exit void md_exit(3755,88815 -module_init(3786,89580 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6.h,1013 -#define LINUX_RAID_RAID6_H14,606 -#define RAID6_USE_EMPTY_ZERO_PAGE 19,703 -typedef raid5_conf_t raid6_conf_t;raid6_conf_t33,1032 -#define UPDATE_PARITY 36,1164 -# define raid6_empty_zero_page 41,1320 -#define BITS_PER_LONG 57,1664 -typedef uint8_t u8;u859,1698 -typedef uint16_t u16;u1660,1719 -typedef uint32_t u32;u3261,1741 -typedef uint64_t u64;u6462,1763 -# define PAGE_SIZE 65,1804 -#define __init69,1888 -#define __exit70,1903 -#define __attribute_const__ 71,1918 -#define preempt_enable(preempt_enable73,1970 -#define preempt_disable(preempt_disable74,1995 -struct raid6_calls raid6_calls79,2069 -#define RAID6_OK 94,2519 -#define RAID6_P_BAD 95,2538 -#define RAID6_Q_BAD 96,2560 -#define RAID6_PQ_BAD 97,2582 -# define jiffies 113,3271 -# define printk 114,3304 -# define GFP_KERNEL 115,3328 -# define __get_free_pages(__get_free_pages116,3350 -# define free_pages(free_pages117,3482 -static inline void cpu_relax(119,3543 -#define HZ 125,3609 -static inline uint32_t raid6_jiffies(126,3625 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-zero.c,225 -static int zero_ctr(16,263 -static void zero_fill_bio(29,482 -static int zero_map(46,798 -static struct target_type zero_target 67,1202 -int __init dm_zero_init(75,1356 -void __exit dm_zero_exit(85,1499 -module_init(93,1635 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-io.c,1640 -#define BIO_POOL_SIZE 15,236 -#define BV_NAME_SIZE 21,431 -struct biovec_pool biovec_pool22,455 -#define BIOVEC_NR_POOLS 30,599 -struct bio_set bio_set31,625 -static void bio_set_exit(38,763 -static void mk_name(59,1123 -static int bio_set_init(64,1252 -static inline unsigned bvec_index(137,2911 -static inline void bs_bio_init(152,3166 -static unsigned _bio_count 168,3506 -struct bio *bio_set_alloc(169,3538 -static void bio_set_free(201,4193 -static struct bio_set _bios;215,4597 -struct io io218,4661 -static unsigned _num_ios;232,5007 -static mempool_t *_io_pool;233,5033 -static void *alloc_io(235,5062 -static void free_io(240,5166 -static unsigned int pages_to_ios(245,5240 -static int resize_pool(250,5334 -int dm_io_get(285,5925 -void dm_io_put(290,6025 -static inline void bio_set_region(300,6423 -static inline unsigned bio_get_region(305,6551 -static void dec_count(314,6910 -static void zero_fill_bio(335,7309 -static int endio(349,7588 -static void bio_dtr(366,7912 -struct dpages dpages376,8226 -static void list_get_page(388,8479 -static void list_next_page(399,8733 -static void list_dp_init(406,8895 -static void bvec_get_page(417,9150 -static void bvec_next_page(426,9390 -static void bvec_dp_init(432,9530 -static void vm_get_page(439,9690 -static void vm_next_page(447,9897 -static void vm_dp_init(453,10013 -static void do_region(464,10396 -static void dispatch_io(508,11442 -static int sync_io(535,12021 -static int async_io(568,12666 -int dm_io_sync(590,13149 -int dm_io_sync_bvec(599,13423 -int dm_io_sync_vm(607,13665 -int dm_io_async(615,13891 -int dm_io_async_bvec(624,14161 -int dm_io_async_vm(632,14412 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-crypt.c,1138 -#define PFX 21,414 -struct crypt_io crypt_io26,468 -struct convert_context convert_context38,689 -struct crypt_config crypt_config53,969 -#define MIN_IOS 75,1350 -#define MIN_POOL_PAGES 76,1377 -#define MIN_BIO_PAGES 77,1403 -static kmem_cache_t *_crypt_io_pool;79,1429 -static void *mempool_alloc_page(84,1523 -static void mempool_free_page(89,1616 -static int crypt_iv_plain(98,1741 -crypt_convert_scatterlist(109,2042 -crypt_convert_init(136,2685 -static int crypt_convert(153,3195 -crypt_alloc_buffer(202,4452 -static void crypt_free_buffer_pages(280,6313 -static void dec_pending(319,7466 -static struct workqueue_struct *_kcryptd_workqueue;344,7990 -static void kcryptd_do_work(346,8043 -static void kcryptd_queue_io(360,8411 -static int crypt_decode_key(369,8603 -static void crypt_encode_key(396,8997 -static int crypt_ctr(411,9245 -static void crypt_dtr(535,12139 -static int crypt_endio(547,12386 -crypt_clone(579,13063 -static int crypt_map(624,14256 -static int crypt_status(689,15887 -static struct target_type crypt_target 741,17028 -static int __init dm_crypt_init(751,17232 -static void __exit dm_crypt_exit(783,17864 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-stripe.c,392 -struct stripe stripe15,250 -struct stripe_c stripe_c20,317 -static inline struct stripe_c *alloc_context(33,527 -static int get_stripe(49,859 -static int stripe_ctr(70,1359 -static void stripe_dtr(159,3177 -static int stripe_map(170,3389 -static int stripe_status(186,3917 -static struct target_type stripe_target 211,4504 -int __init dm_stripe_init(221,4715 -void dm_stripe_exit(232,4874 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid6sse2.c,387 -static const struct raid6_sse_constants raid6_sse_constants25,749 -static int raid6_have_sse2(31,915 -static void raid6_sse21_gen_syndrome(49,1317 -const struct raid6_calls raid6_sse2x1 100,2984 -static void raid6_sse22_gen_syndrome(110,3157 -const struct raid6_calls raid6_sse2x2 163,5054 -static void raid6_sse24_gen_syndrome(177,5254 -const struct raid6_calls raid6_sse2x4 263,8577 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-target.c,657 -struct tt_internal tt_internal15,242 -#define DM_MOD_NAME_SIZE 25,385 -static inline struct tt_internal *__find_target_type(27,414 -static struct tt_internal *get_target_type(38,622 -static void load_module(56,903 -struct target_type *dm_get_target_type(61,982 -void dm_put_target_type(73,1190 -static struct tt_internal *alloc_target(88,1421 -int dm_target_iterate(101,1623 -int dm_register_target(114,1872 -int dm_unregister_target(134,2174 -static int io_err_ctr(160,2577 -static void io_err_dtr(165,2669 -static int io_err_map(170,2732 -static struct target_type error_target 176,2849 -int __init dm_target_init(184,3000 -void dm_target_exit(189,3080 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/raid10.c,1728 -#define NR_RAID10_BIOS 46,1575 -static void * r10bio_pool_alloc(50,1647 -static void r10bio_pool_free(66,2022 -#define RESYNC_BLOCK_SIZE 71,2100 -#define RESYNC_SECTORS 73,2174 -#define RESYNC_PAGES 74,2222 -#define RESYNC_WINDOW 75,2291 -static void * r10buf_pool_alloc(84,2561 -static void r10buf_pool_free(144,3791 -static void put_all_bios(164,4198 -static inline void free_r10bio(176,4401 -static inline void put_buf(197,4881 -static void reschedule_retry(218,5343 -static void raid_end_bio_io(236,5848 -static inline void update_head_pos(248,6128 -static int raid10_end_read_request(256,6353 -static int raid10_end_write_request(307,7715 -static void raid10_find_phys(382,10076 -static sector_t raid10_find_virt(428,11049 -static int raid10_mergeable_bvec(457,11938 -static int read_balance(493,13315 -static void unplug_slaves(578,15384 -static void raid10_unplug(602,16028 -static int raid10_issue_flush(607,16109 -#define RESYNC_DEPTH 637,16940 -static void device_barrier(639,16965 -static int make_request(657,17561 -static void status(802,21497 -static void error(823,22127 -static void print_conf(860,23172 -static void close_sync(883,23644 -static int raid10_spare_active(897,24013 -static int raid10_add_disk(925,24558 -static int raid10_remove_disk(963,25556 -static int end_sync_read(990,26018 -static int end_sync_write(1025,26932 -static void sync_request_write(1077,28541 -static void recovery_request_write(1169,31104 -static void raid10d(1202,31971 -static int init_resync(1270,33925 -static int sync_request(1316,35575 -static int run(1575,42796 -static int stop(1736,47124 -static mdk_personality_t raid10_personality 1752,47417 -static int __init raid_init(1767,47761 -static void raid_exit(1772,47862 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/md/dm-log.c,1851 -static spinlock_t _lock 16,263 -int dm_register_dirty_log_type(18,310 -int dm_unregister_dirty_log_type(31,543 -static struct dirty_log_type *get_type(47,819 -static void put_type(63,1127 -struct dirty_log *dm_create_dirty_log(70,1244 -void dm_destroy_dirty_log(96,1696 -#define MIRROR_MAGIC 110,2113 -#define MIRROR_DISK_VERSION 115,2193 -#define LOG_OFFSET 116,2223 -struct log_header log_header118,2245 -struct log_c log_c129,2402 - enum sync sync144,2705 - DEFAULTSYNC,145,2718 - NOSYNC,146,2764 - FORCESYNC,147,2817 -static inline int log_test_bit(167,3172 -static inline void log_set_bit(172,3290 -static inline void log_clear_bit(179,3435 -static void header_to_disk(189,3726 -static void header_from_disk(196,3945 -static int read_header(203,4166 -static inline int write_header(230,4737 -static inline void bits_to_core(242,5099 -static inline void bits_to_disk(250,5261 -static int read_bits(259,5465 -static int write_bits(274,5733 -#define BYTE_SHIFT 288,6201 -static int core_ctr(289,6222 -static void core_dtr(375,8194 -static int disk_ctr(389,8626 -static void disk_dtr(449,9947 -static int count_bits32(458,10148 -static int disk_resume(468,10309 -static sector_t core_get_region_size(511,11338 -static int core_is_clean(517,11479 -static int core_in_sync(523,11646 -static int core_flush(529,11822 -static int disk_flush(535,11896 -static void core_mark_region(551,12140 -static void core_clear_region(557,12309 -static int core_get_resync_work(563,12477 -static void core_complete_resync_work(585,12986 -static region_t core_get_sync_count(597,13295 -#define DMEMIT_SYNC 604,13449 -static int core_status(608,13556 -static int disk_status(627,13941 -static struct dirty_log_type _core_type 649,14415 -static struct dirty_log_type _disk_type 666,14886 -int __init dm_dirty_log_init(685,15405 -void dm_dirty_log_exit(702,15706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_vhci.c,819 -#define VERSION 30,1232 -static int hci_vhci_open(57,1759 -static int hci_vhci_flush(63,1859 -static int hci_vhci_close(70,2041 -static void hci_vhci_destruct(79,2194 -static int hci_vhci_send_frame(89,2372 -static unsigned int hci_vhci_chr_poll(117,2994 -static inline ssize_t hci_vhci_get_user(130,3366 -static ssize_t hci_vhci_chr_write(155,3869 -static inline ssize_t hci_vhci_put_user(167,4240 -static ssize_t hci_vhci_chr_read(198,4864 -static loff_t hci_vhci_chr_lseek(239,5790 -static int hci_vhci_chr_ioctl(244,5892 -static int hci_vhci_chr_fasync(249,6021 -static int hci_vhci_chr_open(265,6365 -static int hci_vhci_chr_close(308,7308 -static struct file_operations hci_vhci_fops 322,7655 -static struct miscdevice hci_vhci_miscdev=334,7971 -int __init hci_vhci_init(341,8083 -void hci_vhci_cleanup(353,8289 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_usb.h,863 -#define HCI_DEV_CLASS 27,1275 -#define HCI_DEV_SUBCLASS 28,1324 -#define HCI_DEV_PROTOCOL 29,1372 -#define HCI_CTRL_REQ 31,1440 -#define HCI_DIGI_REQ 32,1467 -#define HCI_IGNORE 34,1495 -#define HCI_RESET 35,1520 -#define HCI_DIGIANSWER 36,1544 -#define HCI_BROKEN_ISOC 37,1573 -#define HCI_MAX_IFACE_NUM 39,1604 -#define HCI_MAX_BULK_TX 41,1633 -#define HCI_MAX_BULK_RX 42,1660 -#define HCI_MAX_ISOC_RX 44,1688 -#define HCI_MAX_ISOC_TX 45,1715 -#define HCI_MAX_ISOC_FRAMES 47,1743 -struct _urb_queue _urb_queue49,1775 -struct _urb _urb54,1847 -static inline void _urb_free(64,2037 -static inline void _urb_queue_init(69,2104 -static inline void _urb_queue_head(75,2220 -static inline void _urb_queue_tail(83,2453 -static inline void _urb_unlink(91,2691 -struct hci_usb hci_usb104,2994 -#define HCI_USB_TX_PROCESS 132,3664 -#define HCI_USB_TX_WAKEUP 133,3693 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/bt3c_cs.c,1706 -static u_int irq_mask 66,1767 -static int irq_list[67,1799 -typedef struct bt3c_info_t bt3c_info_t81,2166 -} bt3c_info_t;bt3c_info_t95,2436 -static dev_info_t dev_info 102,2601 -static dev_link_t *dev_list 107,2706 -#define XMIT_SENDING 111,2767 -#define XMIT_WAKEUP 112,2791 -#define XMIT_WAITING 113,2815 -#define RECV_WAIT_PACKET_TYPE 116,2862 -#define RECV_WAIT_EVENT_HEADER 117,2896 -#define RECV_WAIT_ACL_HEADER 118,2930 -#define RECV_WAIT_SCO_HEADER 119,2964 -#define RECV_WAIT_DATA 120,2998 -#define DATA_L 127,3115 -#define DATA_H 128,3134 -#define ADDR_L 129,3153 -#define ADDR_H 130,3172 -#define CONTROL 131,3191 -inline void bt3c_address(134,3212 -inline void bt3c_put(141,3366 -inline void bt3c_io_write(148,3519 -inline unsigned short bt3c_get(155,3670 -inline unsigned short bt3c_read(165,3828 -static int bt3c_write(177,4042 -static void bt3c_write_wakeup(196,4369 -static void bt3c_receive(235,5023 -static irqreturn_t bt3c_interrupt(355,7559 -static int bt3c_hci_flush(406,8640 -static int bt3c_hci_open(417,8817 -static int bt3c_hci_close(425,8921 -static int bt3c_hci_send_frame(436,9078 -static void bt3c_hci_destruct(475,9814 -static int bt3c_hci_ioctl(480,9872 -static struct device *bt3c_device(490,10074 -static int bt3c_load_firmware(505,10352 -int bt3c_open(589,11997 -int bt3c_close(659,13311 -dev_link_t *bt3c_attach(676,13567 -void bt3c_detach(734,15014 -static int get_tuple(763,15554 -static int first_tuple(774,15776 -static int next_tuple(781,15989 -void bt3c_config(788,16200 -void bt3c_release(901,19410 -int bt3c_event(918,19726 -static struct pcmcia_driver bt3c_driver 954,20570 -static int __init init_bt3c_cs(963,20728 -static void __exit exit_bt3c_cs(969,20817 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_usb.c,1614 -#define BT_DBG(BT_DBG58,1915 -#define BT_DMP(BT_DMP60,1951 -#define URB_ZERO_PACKET 65,2041 -#define VERSION 68,2075 -static struct usb_driver hci_usb_driver;70,2098 -static struct usb_device_id bluetooth_ids[72,2141 -static struct usb_device_id blacklist_ids[94,2696 -struct _urb *_urb_alloc(113,3288 -struct _urb *_urb_dequeue(124,3538 -#define __pending_tx(__pending_tx144,4072 -#define __pending_q(__pending_q145,4134 -#define __completed_q(__completed_q146,4195 -#define __transmit_q(__transmit_q147,4258 -#define __reassembly(__reassembly148,4320 -static inline struct _urb *__get_completed(150,4382 -static void __fill_isoc_desc(156,4540 -static int hci_usb_intr_rx_submit(177,5109 -static int hci_usb_bulk_rx_submit(216,6012 -static int hci_usb_isoc_rx_submit(254,6888 -static int hci_usb_open(306,8031 -static int hci_usb_flush(338,8725 -static void hci_usb_unlink_urbs(350,8953 -static int hci_usb_close(390,9918 -static int __tx_submit(409,10364 -static inline int hci_usb_send_ctrl(429,10894 -static inline int hci_usb_send_bulk(465,11750 -static inline int hci_usb_send_isoc(491,12417 -static void hci_usb_tx_process(525,13276 -static inline void hci_usb_tx_wakeup(565,14311 -static int hci_usb_send_frame(576,14657 -static inline int __recv_frame(622,15494 -static void hci_usb_rx_complete(698,17132 -static void hci_usb_tx_complete(752,18582 -static void hci_usb_destruct(784,19352 -int hci_usb_probe(793,19513 -static void hci_usb_disconnect(969,23816 -static struct usb_driver hci_usb_driver 993,24310 -static int __init hci_usb_init(1001,24492 -static void __exit hci_usb_exit(1013,24699 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_h4.h,194 -struct h4_struct h4_struct30,1205 -#define H4_W4_PACKET_TYPE 38,1354 -#define H4_W4_EVENT_HDR 39,1382 -#define H4_W4_ACL_HDR 40,1410 -#define H4_W4_SCO_HDR 41,1438 -#define H4_W4_DATA 42,1466 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/bfusb.c,1209 -#define BT_DBG(BT_DBG45,1269 -#define VERSION 48,1298 -static struct usb_driver bfusb_driver;50,1321 -static struct usb_device_id bfusb_table[52,1361 -#define BFUSB_MAX_BLOCK_SIZE 62,1541 -#define BFUSB_BLOCK_TIMEOUT 64,1575 -#define BFUSB_TX_PROCESS 66,1613 -#define BFUSB_TX_WAKEUP 67,1640 -#define BFUSB_MAX_BULK_TX 69,1668 -#define BFUSB_MAX_BULK_RX 70,1696 -struct bfusb bfusb72,1725 -struct bfusb_scb bfusb_scb94,2078 -static struct urb *bfusb_get_completed(101,2260 -static void bfusb_unlink_urbs(117,2535 -static int bfusb_send_bulk(135,2893 -static void bfusb_tx_wakeup(167,3650 -static void bfusb_tx_complete(194,4243 -static int bfusb_rx_submit(222,4830 -static inline int bfusb_recv_block(262,5684 -static void bfusb_rx_complete(352,7786 -static int bfusb_open(422,9065 -static int bfusb_flush(448,9598 -static int bfusb_close(459,9801 -static int bfusb_send_frame(478,10191 -static void bfusb_destruct(556,11859 -static int bfusb_ioctl(565,12031 -static int bfusb_load_firmware(571,12141 -static int bfusb_probe(647,13921 -static void bfusb_disconnect(747,16233 -static struct usb_driver bfusb_driver 767,16596 -static int __init bfusb_init(775,16768 -static void __exit bfusb_exit(787,16985 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_bcsp.c,900 -#define VERSION 31,1288 -#define BT_DBG(BT_DBG60,1910 -#define BT_DMP(BT_DMP62,1948 -static const u16 crc_table[70,2147 -#define BCSP_CRC_INIT(BCSP_CRC_INIT78,2351 -static void bcsp_crc_update(87,2594 -static u16 bcsp_crc_reverse(105,3007 -static void bcsp_slip_msgdelim(119,3201 -static void bcsp_slip_one_byte(125,3329 -static int bcsp_enqueue(142,3654 -static struct sk_buff *bcsp_prepare_pkt(170,4125 -static struct sk_buff *bcsp_dequeue(266,6452 -static int bcsp_flush(323,8158 -static void bcsp_pkt_cull(330,8267 -static void bcsp_handle_le_pkt(375,9438 -static inline void bcsp_unslip_one_byte(403,10345 -static inline void bcsp_complete_rx_pkt(452,11603 -static int bcsp_recv(509,13129 -static void bcsp_timed_event(629,16273 -static int bcsp_open(650,16819 -static int bcsp_close(675,17310 -static struct hci_uart_proto bcsp 691,17584 -int bcsp_init(701,17798 -int bcsp_deinit(712,17992 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_h4.c,413 -#define VERSION 30,1229 -#define BT_DBG(BT_DBG59,1849 -#define BT_DMP(BT_DMP61,1887 -static int h4_open(65,1944 -static int h4_flush(83,2222 -static int h4_close(93,2385 -static int h4_enqueue(110,2676 -static inline int h4_check_data_len(122,2939 -static int h4_recv(146,3456 -static struct sk_buff *h4_dequeue(252,5822 -static struct hci_uart_proto h4p 258,5947 -int h4_init(268,6154 -int h4_deinit(279,6342 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_ldisc.c,1144 -#define VERSION 30,1226 -#define BT_DBG(BT_DBG58,1826 -#define BT_DMP(BT_DMP60,1864 -static struct hci_uart_proto *hup[63,1895 -int hci_uart_register_proto(65,1951 -int hci_uart_unregister_proto(77,2127 -static struct hci_uart_proto *hci_uart_get_proto(89,2309 -static inline void hci_uart_tx_complete(96,2443 -static inline struct sk_buff *hci_uart_dequeue(116,2782 -int hci_uart_tx_wakeup(126,2973 -static int hci_uart_open(168,3826 -static int hci_uart_flush(179,4020 -static int hci_uart_close(202,4536 -static int hci_uart_send_frame(214,4749 -static void hci_uart_destruct(239,5251 -static int hci_uart_tty_open(261,5677 -static void hci_uart_tty_close(298,6565 -static void hci_uart_tty_wakeup(327,7198 -static int hci_uart_tty_room 354,7818 -static void hci_uart_tty_receive(371,8268 -static int hci_uart_register_dev(390,8764 -static int hci_uart_set_proto(425,9397 -static int hci_uart_tty_ioctl(461,10058 -static ssize_t hci_uart_tty_read(501,10883 -static ssize_t hci_uart_tty_write(505,11012 -static unsigned int hci_uart_tty_poll(509,11152 -static int __init hci_uart_init(523,11424 -static void __exit hci_uart_exit(561,12486 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_vhci.h,160 -#define __HCI_VHCI_H30,1214 -struct hci_vhci_struct hci_vhci_struct34,1255 -#define VHCI_FASYNC 43,1459 -#define VHCI_DEV 47,1513 -#define VHCI_MINOR 48,1542 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/bluecard_cs.c,2873 -static u_int irq_mask 57,1552 -static int irq_list[58,1584 -typedef struct bluecard_info_t bluecard_info_t72,1915 -} bluecard_info_t;bluecard_info_t90,2334 -static dev_info_t dev_info 97,2515 -static dev_link_t *dev_list 102,2632 -#define DEFAULT_BAUD_RATE 106,2727 -#define CARD_READY 110,2785 -#define CARD_HAS_PCCARD_ID 111,2818 -#define CARD_HAS_POWER_LED 112,2851 -#define CARD_HAS_ACTIVITY_LED 113,2884 -#define XMIT_SENDING 116,2941 -#define XMIT_WAKEUP 117,2972 -#define XMIT_BUFFER_NUMBER 118,3003 -#define XMIT_BUF_ONE_READY 119,3077 -#define XMIT_BUF_TWO_READY 120,3108 -#define XMIT_SENDING_READY 121,3139 -#define RECV_WAIT_PACKET_TYPE 124,3193 -#define RECV_WAIT_EVENT_HEADER 125,3227 -#define RECV_WAIT_ACL_HEADER 126,3261 -#define RECV_WAIT_SCO_HEADER 127,3295 -#define RECV_WAIT_DATA 128,3329 -#define PKT_BAUD_RATE_57600 131,3391 -#define PKT_BAUD_RATE_115200 132,3426 -#define PKT_BAUD_RATE_230400 133,3461 -#define PKT_BAUD_RATE_460800 134,3496 -#define REG_COMMAND 138,3570 -#define REG_INTERRUPT 139,3599 -#define REG_CONTROL 140,3628 -#define REG_RX_CONTROL 141,3657 -#define REG_CARD_RESET 142,3686 -#define REG_LED_CTRL 143,3715 -#define REG_COMMAND_TX_BUF_ONE 146,3763 -#define REG_COMMAND_TX_BUF_TWO 147,3800 -#define REG_COMMAND_RX_BUF_ONE 148,3837 -#define REG_COMMAND_RX_BUF_TWO 149,3874 -#define REG_COMMAND_RX_WIN_ONE 150,3911 -#define REG_COMMAND_RX_WIN_TWO 151,3948 -#define REG_CONTROL_BAUD_RATE_57600 154,4004 -#define REG_CONTROL_BAUD_RATE_115200 155,4047 -#define REG_CONTROL_BAUD_RATE_230400 156,4090 -#define REG_CONTROL_BAUD_RATE_460800 157,4133 -#define REG_CONTROL_RTS 158,4176 -#define REG_CONTROL_BT_ON 159,4219 -#define REG_CONTROL_BT_RESET 160,4262 -#define REG_CONTROL_BT_RES_PU 161,4305 -#define REG_CONTROL_INTERRUPT 162,4348 -#define REG_CONTROL_CARD_RESET 163,4391 -#define RTS_LEVEL_SHIFT_BITS 166,4456 -void bluecard_activity_led_timeout(173,4574 -static void bluecard_enable_activity_led(191,4983 -static int bluecard_write(218,5603 -static void bluecard_write_wakeup(233,5873 -static int bluecard_read(354,8690 -static void bluecard_receive(382,9078 -static irqreturn_t bluecard_interrupt(509,11767 -static int bluecard_hci_set_baud_rate(575,13218 -static int bluecard_hci_flush(623,14191 -static int bluecard_hci_open(634,14380 -static int bluecard_hci_close(654,14852 -static int bluecard_hci_send_frame(673,15240 -static void bluecard_hci_destruct(707,15878 -static int bluecard_hci_ioctl(712,15940 -int bluecard_open(722,16146 -int bluecard_close(840,18940 -dev_link_t *bluecard_attach(867,19479 -void bluecard_detach(925,20937 -static int first_tuple(955,21490 -void bluecard_config(970,21808 -void bluecard_release(1045,23472 -int bluecard_event(1064,23829 -static struct pcmcia_driver bluecard_driver 1100,24693 -static int __init init_bluecard_cs(1109,24867 -static void __exit exit_bluecard_cs(1115,24964 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/btuart_cs.c,1464 -static u_int irq_mask 62,1659 -static int irq_list[63,1691 -typedef struct btuart_info_t btuart_info_t77,2033 -} btuart_info_t;btuart_info_t91,2304 -static dev_info_t dev_info 98,2477 -static dev_link_t *dev_list 103,2588 -#define SPEED_MAX 107,2650 -#define DEFAULT_BAUD_RATE 110,2734 -#define XMIT_SENDING 114,2793 -#define XMIT_WAKEUP 115,2816 -#define XMIT_WAITING 116,2838 -#define RECV_WAIT_PACKET_TYPE 119,2884 -#define RECV_WAIT_EVENT_HEADER 120,2916 -#define RECV_WAIT_ACL_HEADER 121,2949 -#define RECV_WAIT_SCO_HEADER 122,2980 -#define RECV_WAIT_DATA 123,3011 -static int btuart_write(130,3117 -static void btuart_write_wakeup(149,3494 -static void btuart_receive(193,4367 -static irqreturn_t btuart_interrupt(305,6717 -static void btuart_change_speed(360,7718 -static int btuart_hci_flush(415,9052 -static int btuart_hci_open(426,9235 -static int btuart_hci_close(434,9341 -static int btuart_hci_send_frame(445,9502 -static void btuart_hci_destruct(479,10132 -static int btuart_hci_ioctl(484,10192 -int btuart_open(494,10396 -int btuart_close(563,11902 -dev_link_t *btuart_attach(592,12430 -void btuart_detach(650,13878 -static int get_tuple(679,14424 -static int first_tuple(690,14646 -static int next_tuple(697,14859 -void btuart_config(704,15070 -void btuart_release(818,18295 -int btuart_event(835,18617 -static struct pcmcia_driver btuart_driver 871,19471 -static int __init init_btuart_cs(880,19637 -static void __exit exit_btuart_cs(886,19730 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_bcsp.h,357 -#define __HCI_BCSP_H__32,1312 -#define BCSP_TXWINSIZE 34,1336 -#define BCSP_ACK_PKT 36,1363 -#define BCSP_LE_PKT 37,1392 -struct bcsp_struct bcsp_struct39,1422 - BCSP_W4_PKT_DELIMITER,51,1816 - BCSP_W4_PKT_START,52,1841 - BCSP_W4_BCSP_HDR,53,1862 - BCSP_W4_DATA,54,1882 - BCSP_W4_CRC55,1898 - BCSP_ESCSTATE_NOESC,59,1934 - BCSP_ESCSTATE_ESC60,1957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/hci_uart.h,434 -#define N_HCI 30,1204 -#define HCIUARTSETPROTO 34,1242 -#define HCIUARTGETPROTO 35,1286 -#define HCI_UART_MAX_PROTO 38,1352 -#define HCI_UART_H4 40,1382 -#define HCI_UART_BCSP 41,1404 -#define HCI_UART_3WIRE 42,1428 -#define HCI_UART_H4DS 43,1453 -struct hci_uart_proto hci_uart_proto48,1514 -struct hci_uart hci_uart58,1832 -#define HCI_UART_PROTO_SET 72,2108 -#define HCI_UART_SENDING 75,2156 -#define HCI_UART_TX_WAKEUP 76,2184 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/dtl1_cs.c,1281 -static u_int irq_mask 62,1652 -static int irq_list[63,1684 -typedef struct dtl1_info_t dtl1_info_t77,2009 -} dtl1_info_t;dtl1_info_t94,2341 -static dev_info_t dev_info 101,2506 -static dev_link_t *dev_list 106,2611 -#define XMIT_SENDING 110,2672 -#define XMIT_WAKEUP 111,2696 -#define XMIT_WAITING 112,2720 -#define RECV_WAIT_NSH 115,2767 -#define RECV_WAIT_DATA 116,2793 -} __attribute__ ((packed)packed123,2868 -#define NSHL 125,2931 -static int dtl1_write(132,3065 -static void dtl1_write_wakeup(151,3440 -static void dtl1_control(200,4416 -static void dtl1_receive(223,4893 -static irqreturn_t dtl1_interrupt(308,6703 -static int dtl1_hci_open(376,7981 -static int dtl1_hci_flush(384,8085 -static int dtl1_hci_close(395,8262 -static int dtl1_hci_send_frame(406,8419 -static void dtl1_hci_destruct(456,9377 -static int dtl1_hci_ioctl(461,9435 -int dtl1_open(471,9638 -int dtl1_close(542,11190 -dev_link_t *dtl1_attach(571,11712 -void dtl1_detach(629,13150 -static int get_tuple(658,13690 -static int first_tuple(669,13912 -static int next_tuple(676,14125 -void dtl1_config(683,14336 -void dtl1_release(770,16498 -int dtl1_event(787,16814 -static struct pcmcia_driver dtl1_driver 823,17658 -static int __init init_dtl1_cs(832,17816 -static void __exit exit_dtl1_cs(838,17905 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/bluetooth/bcm203x.c,751 -#define BT_DBG(BT_DBG43,1218 -#define VERSION 46,1247 -static struct usb_device_id bcm203x_table[48,1270 -#define BCM203X_ERROR 58,1464 -#define BCM203X_RESET 59,1489 -#define BCM203X_LOAD_MINIDRV 60,1514 -#define BCM203X_SELECT_MEMORY 61,1545 -#define BCM203X_CHECK_MEMORY 62,1577 -#define BCM203X_LOAD_FIRMWARE 63,1608 -#define BCM203X_CHECK_FIRMWARE 64,1640 -#define BCM203X_IN_EP 66,1674 -#define BCM203X_OUT_EP 67,1702 -struct bcm203x_data bcm203x_data69,1732 -static void bcm203x_complete(84,1955 -static void bcm203x_timer(160,3780 -static int bcm203x_probe(168,3979 -static void bcm203x_disconnect(261,6192 -static struct usb_driver bcm203x_driver 277,6483 -static int __init bcm203x_init(285,6665 -static void __exit bcm203x_exit(298,6892 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/manager.c,456 - #define DEBUG16,384 -static int pnp_assign_port(26,500 -static int pnp_assign_mem(69,1602 -static int pnp_assign_irq(122,3068 -static int pnp_assign_dma(168,4199 -void pnp_init_resource_table(219,5424 -static void pnp_clean_resource_table(253,6615 -int pnp_assign_resources(293,8057 -int pnp_manual_config_dev(390,10039 -int pnp_auto_config_dev(440,11028 -int pnp_activate_dev(476,11738 -int pnp_disable_dev(510,12471 -void pnp_resource_change(545,13265 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/quirks.c,233 - #define DEBUG21,607 -static void quirk_awe32_resources(30,693 -static void quirk_cmi8330_resources(63,1578 -static void quirk_sb16audio_resources(82,2142 -static struct pnp_fixup pnp_fixups[119,2909 -void pnp_fixup_device(137,3550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/resource.c,1137 -int pnp_skip_pci_scan;24,535 -int pnp_reserve_irq[25,594 -int pnp_reserve_dma[26,676 -int pnp_reserve_io[27,756 -int pnp_reserve_mem[28,844 -static struct pnp_option * pnp_build_option(35,969 -struct pnp_option * pnp_register_independent_option(51,1367 -struct pnp_option * pnp_register_dependent_option(66,1747 -int pnp_register_irq_resource(84,2125 -int pnp_register_dma_resource(112,2553 -int pnp_register_port_resource(131,2857 -int pnp_register_mem_resource(150,3166 -static void pnp_free_port(168,3469 -static void pnp_free_irq(179,3618 -static void pnp_free_dma(190,3759 -static void pnp_free_mem(201,3900 -void pnp_free_option(212,4041 -#define length(length232,4356 -#define ranged_conflict(ranged_conflict235,4477 -#define cannot_compare(cannot_compare238,4583 -int pnp_check_port(241,4669 -int pnp_check_mem(297,6246 -static irqreturn_t pnp_test_handler(353,7798 -int pnp_check_irq(358,7905 -int pnp_check_dma(422,9496 -static int __init pnp_setup_reserve_irq(486,11109 -static int __init pnp_setup_reserve_dma(500,11374 -static int __init pnp_setup_reserve_io(514,11647 -static int __init pnp_setup_reserve_mem(528,11920 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/support.c,48 - #define DEBUG13,248 -int pnp_is_active(27,471 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/base.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/isapnp/compat.c,112 -static void pnp_convert_id(16,381 -struct pnp_card *pnp_find_card(28,730 -struct pnp_dev *pnp_find_dev(49,1250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/isapnp/proc.c,447 -static struct proc_dir_entry *isapnp_proc_bus_dir 32,1045 -static loff_t isapnp_proc_bus_lseek(34,1104 -static ssize_t isapnp_proc_bus_read(58,1474 -static struct file_operations isapnp_proc_bus_file_operations 89,2167 -static int isapnp_proc_attach_device(95,2304 -static int __exit isapnp_proc_detach_device(119,2876 -static int __exit isapnp_proc_detach_bus(132,3149 -int __init isapnp_proc_init(145,3422 -int __exit isapnp_proc_done(156,3647 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/isapnp/core.c,3036 -#define ISAPNP_REGION_OK48,1872 -#define ISAPNP_DEBUG51,1910 -int isapnp_disable;54,1939 -int isapnp_rdp;55,1983 -int isapnp_reset 56,2023 -int isapnp_verbose 57,2086 -#define _PIDXR 71,2649 -#define _PNPWRP 72,2671 -#define _STAG_PNPVERNO 75,2712 -#define _STAG_LOGDEVID 76,2741 -#define _STAG_COMPATDEVID 77,2770 -#define _STAG_IRQ 78,2801 -#define _STAG_DMA 79,2825 -#define _STAG_STARTDEP 80,2849 -#define _STAG_ENDDEP 81,2878 -#define _STAG_IOPORT 82,2905 -#define _STAG_FIXEDIO 83,2932 -#define _STAG_VENDOR 84,2960 -#define _STAG_END 85,2987 -#define _LTAG_MEMRANGE 87,3027 -#define _LTAG_ANSISTR 88,3056 -#define _LTAG_UNICODESTR 89,3084 -#define _LTAG_VENDOR 90,3114 -#define _LTAG_MEM32RANGE 91,3141 -#define _LTAG_FIXEDMEM32RANGE 92,3171 -static unsigned char isapnp_checksum_value;94,3207 -static int isapnp_detected;96,3291 -static int isapnp_csn_count;97,3319 -static inline void write_data(101,3372 -static inline void write_address(106,3443 -static inline unsigned char read_data(112,3529 -unsigned char isapnp_read_byte(118,3629 -unsigned short isapnp_read_word(124,3726 -unsigned int isapnp_read_dword(133,3892 -void isapnp_write_byte(144,4145 -void isapnp_write_word(150,4250 -void isapnp_write_dword(156,4384 -void *isapnp_alloc(164,4593 -static void isapnp_key(175,4752 -static void isapnp_wait(194,5091 -void isapnp_wake(199,5158 -void isapnp_device(204,5230 -void isapnp_activate(209,5310 -void isapnp_deactivate(216,5440 -static void __init isapnp_peek(223,5572 -#define RDP_STEP 247,5997 -static int isapnp_next_rdp(249,6037 -static inline void isapnp_set_rdp(276,6503 -static int __init isapnp_isolate_rdp_select(287,6711 -static int __init isapnp_isolate(316,7192 -static int __init isapnp_read_tag(385,8491 -static void __init isapnp_skip_bytes(414,9134 -static void isapnp_parse_id(423,9241 -static struct pnp_dev * __init isapnp_parse_device(446,9770 -static void __init isapnp_parse_irq_resource(475,10464 -static void __init isapnp_parse_dma_resource(498,10918 -static void __init isapnp_parse_port_resource(518,11327 -static void __init isapnp_parse_fixed_port_resource(541,11841 -static void __init isapnp_parse_mem_resource(563,12316 -static void __init isapnp_parse_mem32_resource(586,12849 -static void __init isapnp_parse_fixed_mem32_resource(608,13499 -isapnp_parse_name(630,14043 -static int __init isapnp_create_device(648,14452 -static void __init isapnp_parse_resource_map(783,17548 -static unsigned char __init isapnp_checksum(835,18664 -static void isapnp_parse_card_id(856,19057 -static int __init isapnp_build_device_list(876,19597 -int isapnp_present(918,20826 -int isapnp_cfg_begin(928,20976 -int isapnp_cfg_end(955,21865 -static int isapnp_read_resources(981,22367 -static int isapnp_get_resources(1019,23512 -static int isapnp_set_resources(1029,23767 -static int isapnp_disable_resources(1053,24948 -struct pnp_protocol isapnp_protocol 1064,25187 -int __init isapnp_init(1071,25359 -static int __init isapnp_setup_disable(1160,27605 -static int __init isapnp_setup_isapnp(1170,27793 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/system.c,276 -static const struct pnp_device_id pnp_dev_table[16,310 -static void reserve_ioport_range(24,488 -static void reserve_resources_of_dev(52,1162 -static int system_pnp_probe(88,1947 -static struct pnp_driver system_pnp_driver 94,2081 -static int __init pnp_system_init(102,2268 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/interface.c,546 -struct pnp_info_buffer pnp_info_buffer21,483 -typedef struct pnp_info_buffer pnp_info_buffer_t;pnp_info_buffer_t30,755 -int pnp_printf(32,806 -static void pnp_print_port(51,1185 -static void pnp_print_irq(58,1502 -static void pnp_print_dma(88,2275 -static void pnp_print_mem(139,3384 -static void pnp_print_option(171,4305 -static ssize_t pnp_show_options(208,5214 -static ssize_t pnp_show_current_resources(239,5956 -pnp_set_current_resources(311,7690 -static ssize_t pnp_show_current_ids(447,10970 -int pnp_interface_attach_device(462,11293 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/core.c,364 -spinlock_t pnp_lock 23,428 -void *pnp_alloc(25,471 -int pnp_register_protocol(45,855 -void pnp_unregister_protocol(80,1660 -static void pnp_free_ids(89,1847 -static void pnp_release_device(103,2040 -int __pnp_add_device(112,2244 -int pnp_add_device(137,2843 -void __pnp_remove_device(146,3095 -void pnp_remove_device(162,3440 -static int __init pnp_init(169,3550 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/card.c,728 - #define DEBUG13,229 -static const struct pnp_card_device_id * match_card(25,367 -static void card_remove(53,972 -static void card_remove_first(58,1048 -static int card_probe(70,1331 -int pnp_add_card_id(103,2050 -static void pnp_free_card_ids(121,2340 -static void pnp_release_card(135,2542 -static ssize_t pnp_show_card_name(143,2685 -static ssize_t pnp_show_card_ids(153,2941 -static int pnp_interface_attach_card(168,3267 -int pnp_add_card(180,3539 -void pnp_remove_card(223,4830 -int pnp_add_card_device(245,5351 -void pnp_remove_card_device(266,5938 -struct pnp_dev * pnp_request_card_device(282,6423 -void pnp_release_card_device(330,7477 -int pnp_register_card_driver(347,7930 -void pnp_unregister_card_driver(375,8672 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/pnpbios/proc.c,526 -static struct proc_dir_entry *proc_pnp 36,895 -static struct proc_dir_entry *proc_pnp_boot 37,942 -static int proc_read_pnpconfig(39,995 -static int proc_read_escdinfo(56,1391 -#define MAX_SANE_ESCD_SIZE 73,1776 -static int proc_read_escd(74,1813 -static int proc_read_legacyres(116,2934 -static int proc_read_devices(126,3226 -static int proc_read_node(163,4302 -static int proc_write_node(183,4806 -int pnpbios_interface_attach_device(216,5526 -int __init pnpbios_proc_init(252,6364 -void __exit pnpbios_proc_exit(269,6977 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/pnpbios/pnpbios.h,210 -union pnp_bios_install_struct pnp_bios_install_struct6,66 -static inline int pnpbios_interface_attach_device(44,1542 -static inline int pnpbios_proc_init 45,1635 -static inline void pnpbios_proc_exit 46,1692 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/pnpbios/bioscalls.c,1907 -} pnp_bios_callpoint;31,586 -#define PNP_GDT 35,648 -#define PNP_CS32 37,697 -#define PNP_CS16 38,760 -#define PNP_DS 39,822 -#define PNP_TS1 40,884 -#define PNP_TS2 41,946 -#define Q_SET_SEL(Q_SET_SEL70,1803 -#define Q2_SET_SEL(Q2_SET_SEL76,2012 -static struct desc_struct bad_bios_desc 82,2216 -u32 pnp_bios_fault_esp;89,2379 -u32 pnp_bios_fault_eip;90,2403 -u32 pnp_bios_is_utter_crap 91,2427 -static spinlock_t pnp_bios_lock;93,2460 -static inline u16 call_pnp_bios(100,2524 -void pnpbios_print_status(175,4595 -#define PNP_GET_NUM_SYS_DEV_NODES 240,6797 -#define PNP_GET_SYS_DEV_NODE 241,6837 -#define PNP_SET_SYS_DEV_NODE 242,6873 -#define PNP_GET_EVENT 243,6909 -#define PNP_SEND_MESSAGE 244,6939 -#define PNP_GET_DOCKING_STATION_INFORMATION 245,6971 -#define PNP_SET_STATIC_ALLOCED_RES_INFO 246,7020 -#define PNP_GET_STATIC_ALLOCED_RES_INFO 247,7066 -#define PNP_GET_APM_ID_TABLE 248,7112 -#define PNP_GET_PNP_ISA_CONFIG_STRUC 249,7148 -#define PNP_GET_ESCD_INFO 250,7191 -#define PNP_READ_ESCD 251,7224 -#define PNP_WRITE_ESCD 252,7254 -static int __pnp_bios_dev_node_info(257,7366 -int pnp_bios_dev_node_info(268,7705 -static int __pnp_bios_get_dev_node(290,8451 -int pnp_bios_get_dev_node(302,8863 -static int __pnp_bios_set_dev_node(318,9308 -int pnp_bios_set_dev_node(330,9705 -static int pnp_bios_get_event(350,10162 -static int pnp_bios_send_message(365,10489 -int pnp_bios_dock_station_info(378,10804 -static int pnp_bios_set_stat_res(393,11237 -static int __pnp_bios_get_stat_res(408,11610 -int pnp_bios_get_stat_res(418,11876 -static int pnp_bios_apm_id_table(431,12130 -static int __pnp_bios_isapnp_config(445,12501 -int pnp_bios_isapnp_config(455,12818 -static int __pnp_bios_escd_info(467,13084 -int pnp_bios_escd_info(477,13389 -static int __pnp_bios_read_escd(490,13678 -int pnp_bios_read_escd(500,13962 -static int pnp_bios_write_escd(513,14224 -void pnpbios_calls_init(529,14542 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/pnpbios/rsparser.c,1745 -#define SMALL_TAG_PNPVERNO 14,229 -#define SMALL_TAG_LOGDEVID 15,262 -#define SMALL_TAG_COMPATDEVID 16,295 -#define SMALL_TAG_IRQ 17,331 -#define SMALL_TAG_DMA 18,360 -#define SMALL_TAG_STARTDEP 19,389 -#define SMALL_TAG_ENDDEP 20,422 -#define SMALL_TAG_PORT 21,453 -#define SMALL_TAG_FIXEDPORT 22,483 -#define SMALL_TAG_VENDOR 23,517 -#define SMALL_TAG_END 24,548 -#define LARGE_TAG 25,577 -#define LARGE_TAG_MEM 26,602 -#define LARGE_TAG_ANSISTR 27,631 -#define LARGE_TAG_UNICODESTR 28,663 -#define LARGE_TAG_VENDOR 29,698 -#define LARGE_TAG_MEM32 30,729 -#define LARGE_TAG_FIXEDMEM32 31,760 -pnpbios_parse_allocated_irqresource(49,1045 -pnpbios_parse_allocated_dmaresource(65,1505 -pnpbios_parse_allocated_ioresource(81,1965 -pnpbios_parse_allocated_memresource(97,2495 -pnpbios_parse_allocated_resource_data(113,3006 -pnpbios_parse_mem_option(238,5479 -pnpbios_parse_mem32_option(254,5903 -pnpbios_parse_fixed_mem32_option(270,6436 -pnpbios_parse_irq_option(285,6869 -pnpbios_parse_dma_option(301,7233 -pnpbios_parse_port_option(314,7521 -pnpbios_parse_fixed_port_option(330,7937 -pnpbios_parse_resource_option_data(345,8331 -#define HEX(HEX466,10822 -#define CHAR(CHAR467,10860 -void pnpid32_to_pnpid(470,10909 -pnpbios_parse_compatible_ids(491,11253 -static void pnpbios_encode_mem(558,12684 -static void pnpbios_encode_mem32(571,13041 -static void pnpbios_encode_fixed_mem32(590,13534 -static void pnpbios_encode_irq(604,13921 -static void pnpbios_encode_dma(613,14102 -static void pnpbios_encode_port(621,14256 -static void pnpbios_encode_fixed_port(633,14543 -pnpbios_encode_allocated_resource_data(644,14810 -pnpbios_parse_data_stream(747,16741 -pnpbios_read_resources_from_node(764,17167 -pnpbios_write_resources_to_node(776,17464 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/pnpbios/core.c,1108 -static union pnp_bios_install_struct * pnp_bios_install 78,2423 -int pnp_bios_present(80,2488 -struct pnp_dev_node_info node_info;85,2556 -void *pnpbios_kmalloc(87,2593 -static int unloading 105,2836 -static struct completion unload_sem;106,2862 -static int pnp_dock_event(112,2965 -static int pnp_dock_thread(167,4315 -static int pnpbios_get_resources(220,5301 -static int pnpbios_set_resources(242,5819 -static void pnpbios_zero_data_stream(270,6451 -static int pnpbios_disable_resources(293,6989 -struct pnp_protocol pnpbios_protocol 322,7606 -static int insert_device(329,7783 -static void __init build_devlist(375,9052 -static int pnpbios_disabled;424,10282 -int pnpbios_dont_use_current_config;425,10321 -static int __init pnpbios_setup(428,10384 -#define PNP_SIGNATURE 454,10922 -int __init pnpbios_probe_system(456,11001 -static int __init exploding_pnp_bios(504,12559 -static struct dmi_system_id pnpbios_dmi_table[510,12705 -int __init pnpbios_init(532,13274 -static int __init pnpbios_thread_init(581,14325 -static int __init pnpbios_init_all(606,14762 -static void __exit pnpbios_exit(619,14917 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/pnp/driver.c,447 - #define DEBUG16,291 -static int compare_func(24,376 -int compare_pnp_id(38,634 -static const struct pnp_device_id * match_device(53,917 -int pnp_device_attach(67,1212 -void pnp_device_detach(79,1437 -static int pnp_device_probe(88,1634 -static int pnp_device_remove(133,2655 -static int pnp_bus_match(147,2924 -struct bus_type pnp_bus_type 157,3166 -int pnp_register_driver(163,3245 -void pnp_unregister_driver(187,3732 -int pnp_add_id(200,4029 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/pxamci.h,1596 -#define MMC_STRPCL 23,358 -#define STOP_CLOCK 24,384 -#define START_CLOCK 25,413 -#define MMC_STAT 27,444 -#define STAT_END_CMD_RES 28,468 -#define STAT_PRG_DONE 29,504 -#define STAT_DATA_TRAN_DONE 30,538 -#define STAT_CLK_EN 31,577 -#define STAT_RECV_FIFO_FULL 32,608 -#define STAT_XMIT_FIFO_EMPTY 33,646 -#define STAT_RES_CRC_ERR 34,685 -#define STAT_SPI_READ_ERROR_TOKEN 35,720 -#define STAT_CRC_READ_ERROR 36,763 -#define STAT_CRC_WRITE_ERROR 37,801 -#define STAT_TIME_OUT_RESPONSE 38,840 -#define STAT_READ_TIME_OUT 39,881 -#define MMC_CLKRT 41,919 -#define MMC_SPI 43,958 -#define SPI_CS_ADDRESS 44,982 -#define SPI_CS_EN 45,1015 -#define CRC_ON 46,1043 -#define SPI_EN 47,1069 -#define MMC_CMDAT 49,1096 -#define CMDAT_DMAEN 50,1121 -#define CMDAT_INIT 51,1151 -#define CMDAT_BUSY 52,1180 -#define CMDAT_STREAM 53,1209 -#define CMDAT_WRITE 54,1257 -#define CMDAT_DATAEN 55,1303 -#define CMDAT_RESP_NONE 56,1334 -#define CMDAT_RESP_SHORT 57,1368 -#define CMDAT_RESP_R2 58,1402 -#define CMDAT_RESP_R3 59,1434 -#define MMC_RESTO 61,1467 -#define MMC_RDTO 63,1505 -#define MMC_BLKLEN 65,1543 -#define MMC_NOB 67,1583 -#define MMC_PRTBUF 69,1621 -#define BUF_PART_FULL 70,1647 -#define MMC_I_MASK 72,1680 -#define TXFIFO_WR_REQ 73,1706 -#define RXFIFO_RD_REQ 74,1738 -#define CLK_IS_OFF 75,1770 -#define STOP_CMD 76,1799 -#define END_CMD_RES 77,1826 -#define PRG_DONE 78,1856 -#define DATA_TRAN_DONE 79,1883 -#define MMC_I_REG 81,1917 -#define MMC_CMD 84,1968 -#define MMC_ARGH 86,1993 -#define MMC_ARGL 88,2031 -#define MMC_RES 90,2069 -#define MMC_RXFIFO 92,2107 -#define MMC_TXFIFO 94,2146 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmc.h,22 -#define _MMC_H11,301 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmc_sysfs.c,742 -#define dev_to_mmc_card(dev_to_mmc_card21,483 -#define to_mmc_driver(to_mmc_driver22,548 -static void mmc_release_card(24,614 -static int mmc_bus_match(36,929 -mmc_bus_hotplug(43,1093 -#define add_env(add_env50,1260 -static int mmc_bus_suspend(77,1851 -static int mmc_bus_resume(88,2112 -static struct bus_type mmc_bus_type 99,2352 -static int mmc_drv_probe(108,2526 -static int mmc_drv_remove(116,2704 -int mmc_register_driver(131,2973 -void mmc_unregister_driver(145,3285 -#define MMC_ATTR(MMC_ATTR154,3443 -static struct device_attribute *mmc_dev_attributes[174,4291 -void mmc_init_card(189,4573 -int mmc_register_card(202,4923 -void mmc_remove_card(221,5372 -static int __init mmc_init(230,5503 -static void __exit mmc_exit(235,5578 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmc_queue.c,301 -#define MMC_QUEUE_EXIT 18,428 -#define MMC_QUEUE_SUSPENDED 19,461 -static int mmc_prep_request(26,676 -static int mmc_queue_thread(58,1337 -static void mmc_request(110,2575 -int mmc_init_queue(126,2885 -void mmc_cleanup_queue(167,3978 -void mmc_queue_suspend(186,4476 -void mmc_queue_resume(207,4943 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmc_queue.h,103 -#define MMC_QUEUE_H2,20 -struct mmc_queue mmc_queue7,78 -struct mmc_io_request mmc_io_request20,427 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/pxamci.c,1076 -#define DBG(DBG42,1081 -#define DBG(DBG44,1126 -struct pxamci_host pxamci_host47,1169 -#define CLOCKRATE 75,1666 -static inline unsigned int ns_to_clocks(77,1694 -static void pxamci_stop_clock(82,1807 -static void pxamci_enable_irq(102,2223 -static void pxamci_disable_irq(112,2481 -static void pxamci_setup_data(122,2739 -static void pxamci_start_cmd(190,4397 -static void pxamci_finish_request(223,5198 -static int pxamci_cmd_done(232,5413 -static int pxamci_data_done(271,6303 -static irqreturn_t pxamci_irq(311,7347 -static void pxamci_request(335,7849 -static void pxamci_set_ios(364,8422 -static struct mmc_host_ops pxamci_ops 402,9348 -static void pxamci_dma_irq(407,9450 -static irqreturn_t pxamci_detect_irq(413,9622 -static int pxamci_probe(419,9756 -static int pxamci_remove(519,11901 -static int pxamci_suspend(555,12644 -static int pxamci_resume(566,12868 -#define pxamci_suspend 577,13075 -#define pxamci_resume 578,13103 -static struct device_driver pxamci_driver 581,13138 -static int __init pxamci_init(590,13348 -static void __exit pxamci_exit(595,13430 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmci.c,961 -#define DRIVER_NAME 31,808 -#define DBG(DBG34,866 -#define DBG(DBG37,969 -static unsigned int fmax 40,1024 -mmci_request_end(43,1072 -static void mmci_stop_data(62,1472 -static void mmci_start_data(69,1623 -mmci_start_command(109,2684 -mmci_data_irq(142,3349 -mmci_cmd_irq(169,4040 -static int mmci_pio_read(194,4703 -static int mmci_pio_write(223,5200 -static irqreturn_t mmci_pio_irq(251,5744 -static irqreturn_t mmci_irq(330,7524 -static void mmci_request(365,8323 -static void mmci_set_ios(383,8682 -static struct mmc_host_ops mmci_ops 429,9656 -static void mmci_check_status(434,9752 -static int mmci_probe(447,10059 -static int mmci_remove(569,12644 -static int mmci_suspend(605,13287 -static int mmci_resume(621,13578 -#define mmci_suspend 637,13850 -#define mmci_resume 638,13876 -static struct amba_id mmci_ids[641,13909 -static struct amba_driver mmci_driver 653,14059 -static int __init mmci_init(664,14265 -static void __exit mmci_exit(669,14348 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmc.c,1456 -#define DBG(DBG27,659 -#define DBG(DBG29,704 -#define CMD_RETRIES 32,747 -static const unsigned short mmc_ocr_bit_to_vdd[37,816 -static const unsigned int tran_exp[43,995 -static const unsigned char tran_mant[48,1092 -static const unsigned int tacc_exp[53,1204 -static const unsigned int tacc_mant[57,1302 -void mmc_request_done(72,1737 -mmc_start_request(99,2446 -static void mmc_wait_done(123,2978 -int mmc_wait_for_req(128,3061 -int mmc_wait_for_cmd(154,3701 -int __mmc_claim_host(188,4425 -void mmc_release_host(233,5454 -static void mmc_deselect_cards(251,5771 -static inline void mmc_delay(267,6030 -static u32 mmc_select_voltage(281,6253 -#define UNSTUFF_BITS(UNSTUFF_BITS302,6519 -static void mmc_decode_cid(318,6966 -static void mmc_decode_csd(372,8825 -static struct mmc_card *mmc_find_card(411,9902 -mmc_alloc_card(426,10240 -static void mmc_idle_cards(455,10755 -static void mmc_power_up(471,11001 -static void mmc_power_off(489,11378 -static int mmc_send_op_cond(498,11597 -static void mmc_discover_cards(534,12345 -static void mmc_read_csds(579,13278 -static unsigned int mmc_calculate_clock(607,13835 -static void mmc_check_cards(630,14452 -static void mmc_setup(653,14900 -void mmc_detect_change(725,16723 -static void mmc_rescan(733,16841 -struct mmc_host *mmc_alloc_host(794,18112 -int mmc_add_host(828,18891 -void mmc_remove_host(850,19301 -void mmc_free_host(871,19686 -int mmc_suspend_host(886,19926 -int mmc_resume_host(902,20212 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmc_block.c,949 -#define MMC_SHIFT 43,1005 -static int major;45,1026 -struct mmc_blk_data mmc_blk_data50,1091 -static struct mmc_blk_data *mmc_blk_get(61,1265 -static void mmc_blk_put(76,1498 -static int mmc_blk_open(88,1696 -static int mmc_blk_release(103,1952 -mmc_blk_ioctl(112,2130 -static struct block_device_operations mmc_bdops 133,2605 -struct mmc_blk_request mmc_blk_request140,2768 -static int mmc_blk_prep_rq(147,2897 -static int mmc_blk_issue_rq(164,3264 -#define MMC_NUM_MINORS 287,6382 -static unsigned long dev_use[289,6425 -static struct mmc_blk_data *mmc_blk_alloc(291,6498 -mmc_blk_set_blksize(346,7796 -static int mmc_blk_probe(367,8253 -static void mmc_blk_remove(403,8954 -static int mmc_blk_suspend(426,9328 -static int mmc_blk_resume(436,9503 -#define mmc_blk_suspend 447,9703 -#define mmc_blk_resume 448,9732 -static struct mmc_driver mmc_driver 451,9768 -static int __init mmc_blk_init(461,9958 -static void __exit mmc_blk_exit(481,10297 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/mmc/mmci.h,3194 -#define MMCIPOWER 10,335 -#define MCI_PWR_OFF 11,360 -#define MCI_PWR_UP 12,386 -#define MCI_PWR_ON 13,411 -#define MCI_OD 14,436 -#define MCI_ROD 15,462 -#define MMCICLOCK 17,490 -#define MCI_CLK_ENABLE 18,515 -#define MCI_CLK_PWRSAVE 19,548 -#define MCI_CLK_BYPASS 20,582 -#define MMCIARGUMENT 22,617 -#define MMCICOMMAND 23,645 -#define MCI_CPSM_RESPONSE 24,672 -#define MCI_CPSM_LONGRSP 25,707 -#define MCI_CPSM_INTERRUPT 26,741 -#define MCI_CPSM_PENDING 27,777 -#define MCI_CPSM_ENABLE 28,811 -#define MMCIRESPCMD 30,847 -#define MMCIRESPONSE0 31,874 -#define MMCIRESPONSE1 32,903 -#define MMCIRESPONSE2 33,932 -#define MMCIRESPONSE3 34,961 -#define MMCIDATATIMER 35,990 -#define MMCIDATALENGTH 36,1019 -#define MMCIDATACTRL 37,1049 -#define MCI_DPSM_ENABLE 38,1077 -#define MCI_DPSM_DIRECTION 39,1111 -#define MCI_DPSM_MODE 40,1147 -#define MCI_DPSM_DMAENABLE 41,1179 -#define MMCIDATACNT 43,1216 -#define MMCISTATUS 44,1243 -#define MCI_CMDCRCFAIL 45,1269 -#define MCI_DATACRCFAIL 46,1302 -#define MCI_CMDTIMEOUT 47,1336 -#define MCI_DATATIMEOUT 48,1369 -#define MCI_TXUNDERRUN 49,1403 -#define MCI_RXOVERRUN 50,1436 -#define MCI_CMDRESPEND 51,1468 -#define MCI_CMDSENT 52,1501 -#define MCI_DATAEND 53,1531 -#define MCI_DATABLOCKEND 54,1561 -#define MCI_CMDACTIVE 55,1596 -#define MCI_TXACTIVE 56,1629 -#define MCI_RXACTIVE 57,1661 -#define MCI_TXFIFOHALFEMPTY 58,1693 -#define MCI_RXFIFOHALFFULL 59,1731 -#define MCI_TXFIFOFULL 60,1768 -#define MCI_RXFIFOFULL 61,1802 -#define MCI_TXFIFOEMPTY 62,1836 -#define MCI_RXFIFOEMPTY 63,1871 -#define MCI_TXDATAAVLBL 64,1906 -#define MCI_RXDATAAVLBL 65,1941 -#define MMCICLEAR 67,1977 -#define MCI_CMDCRCFAILCLR 68,2002 -#define MCI_DATACRCFAILCLR 69,2037 -#define MCI_CMDTIMEOUTCLR 70,2073 -#define MCI_DATATIMEOUTCLR 71,2108 -#define MCI_TXUNDERRUNCLR 72,2144 -#define MCI_RXOVERRUNCLR 73,2179 -#define MCI_CMDRESPENDCLR 74,2213 -#define MCI_CMDSENTCLR 75,2248 -#define MCI_DATAENDCLR 76,2281 -#define MCI_DATABLOCKENDCLR 77,2314 -#define MMCIMASK0 79,2353 -#define MCI_CMDCRCFAILMASK 80,2378 -#define MCI_DATACRCFAILMASK 81,2414 -#define MCI_CMDTIMEOUTMASK 82,2451 -#define MCI_DATATIMEOUTMASK 83,2487 -#define MCI_TXUNDERRUNMASK 84,2524 -#define MCI_RXOVERRUNMASK 85,2560 -#define MCI_CMDRESPENDMASK 86,2595 -#define MCI_CMDSENTMASK 87,2631 -#define MCI_DATAENDMASK 88,2665 -#define MCI_DATABLOCKENDMASK 89,2699 -#define MCI_CMDACTIVEMASK 90,2738 -#define MCI_TXACTIVEMASK 91,2774 -#define MCI_RXACTIVEMASK 92,2809 -#define MCI_TXFIFOHALFEMPTYMASK 93,2844 -#define MCI_RXFIFOHALFFULLMASK 94,2886 -#define MCI_TXFIFOFULLMASK 95,2927 -#define MCI_RXFIFOFULLMASK 96,2964 -#define MCI_TXFIFOEMPTYMASK 97,3001 -#define MCI_RXFIFOEMPTYMASK 98,3039 -#define MCI_TXDATAAVLBLMASK 99,3077 -#define MCI_RXDATAAVLBLMASK 100,3115 -#define MMCIMASK1 102,3154 -#define MMCIFIFOCNT 103,3179 -#define MMCIFIFO 104,3206 -#define MCI_IRQENABLE 106,3246 -#define MCI_FIFOSIZE 114,3494 -#define MCI_FIFOHALFSIZE 116,3524 -#define NR_SG 118,3569 -struct mmci_host mmci_host122,3601 -static inline void mmci_init_sg(151,4093 -static inline int mmci_next_sg(164,4410 -static inline char *mmci_kmap_atomic(171,4530 -static inline void mmci_kunmap_atomic(179,4744 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/cpufreq.c,2288 -static struct cpufreq_driver *cpufreq_driver;32,863 -static struct cpufreq_policy *cpufreq_cpu_data[33,912 -static spinlock_t cpufreq_driver_lock 34,969 -static struct notifier_block *cpufreq_policy_notifier_list;48,1532 -static struct notifier_block *cpufreq_transition_notifier_list;49,1595 -static struct cpufreq_policy * cpufreq_cpu_get(56,1800 -static void cpufreq_cpu_put(96,2531 -static unsigned long l_p_j_ref;115,3214 -static unsigned int l_p_j_ref_freq;116,3246 -static inline void adjust_jiffies(118,3284 -static inline void adjust_jiffies(133,3729 -void cpufreq_notify_transition(143,4097 -int cpufreq_parse_governor 188,5669 -#define show_one(show_one233,6815 -#define store_one(store_one249,7287 -static ssize_t show_cpuinfo_cur_freq 275,7992 -static ssize_t show_scaling_governor 287,8303 -static ssize_t store_scaling_governor 302,8763 -static ssize_t show_scaling_driver 328,9373 -static ssize_t show_scaling_available_governors 336,9612 -#define define_one_ro(define_one_ro358,10119 -#define define_one_ro0400(define_one_ro0400364,10264 -#define define_one_rw(define_one_rw370,10413 -static struct attribute * default_attrs[387,10896 -#define to_policy(to_policy398,11136 -#define to_attr(to_attr399,11200 -static ssize_t show(401,11258 -static ssize_t store(414,11612 -static void cpufreq_sysfs_release(428,12003 -static struct sysfs_ops sysfs_ops 434,12153 -static struct kobj_type ktype_cpufreq 439,12227 -static int cpufreq_add_dev 451,12466 -static int cpufreq_remove_dev 543,14785 -static void handle_update(584,15659 -static void cpufreq_out_of_sync(599,16158 -unsigned int cpufreq_get(620,16743 -static int cpufreq_resume(661,17660 -static struct sysdev_driver cpufreq_sysdev_driver 713,18946 -int cpufreq_register_notifier(737,19831 -int cpufreq_unregister_notifier(769,20670 -int __cpufreq_driver_target(796,21388 -int cpufreq_driver_target(810,21739 -static int __cpufreq_governor(833,22144 -int cpufreq_governor(852,22621 -int cpufreq_register_governor(871,22951 -void cpufreq_unregister_governor(895,23448 -int cpufreq_get_policy(919,24103 -static int __cpufreq_set_policy(940,24511 -int cpufreq_set_policy(1018,26536 -int cpufreq_update_policy(1054,27286 -int cpufreq_register_driver(1097,28443 -int cpufreq_unregister_driver(1151,29934 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/proc_intf.c,286 -#define CPUFREQ_ALL_CPUS 17,364 -static unsigned int warning_print 19,403 -static int cpufreq_parse_policy(31,835 -static int cpufreq_proc_read 98,2477 -static int cpufreq_proc_write 175,4184 -static int __init cpufreq_proc_init 227,5252 -static void __exit cpufreq_proc_exit 252,5807 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/freq_table.c,403 -int cpufreq_frequency_table_cpuinfo(16,415 -int cpufreq_frequency_table_verify(44,1074 -int cpufreq_frequency_table_target(80,1953 -static struct cpufreq_frequency_table *show_table[150,3579 -static ssize_t show_available_freqs 154,3720 -struct freq_attr cpufreq_freq_attr_scaling_available_freqs 177,4231 -void cpufreq_frequency_table_get_attr(187,4584 -void cpufreq_frequency_table_put_attr(194,4774 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/cpufreq_powersave.c,215 -static int cpufreq_governor_powersave(18,422 -static struct cpufreq_governor cpufreq_gov_powersave 32,760 -static int __init cpufreq_gov_powersave_init(39,910 -static void __exit cpufreq_gov_powersave_exit(45,1026 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/cpufreq_performance.c,216 -static int cpufreq_governor_performance(18,424 -struct cpufreq_governor cpufreq_gov_performance 32,764 -static int __init cpufreq_gov_performance_init(40,953 -static void __exit cpufreq_gov_performance_exit(46,1073 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/cpufreq_userspace.c,1440 -#define CTL_CPU_VARS_SPEED_MAX(CTL_CPU_VARS_SPEED_MAX29,712 -#define CTL_CPU_VARS_SPEED_MIN(CTL_CPU_VARS_SPEED_MIN37,1033 -#define CTL_CPU_VARS_SPEED(CTL_CPU_VARS_SPEED45,1354 -#define CTL_TABLE_CPU_VARS(CTL_TABLE_CPU_VARS53,1651 -#define CPU_ENUM(CPU_ENUM60,1952 -static unsigned int cpu_max_freq[69,2190 -static unsigned int cpu_min_freq[70,2233 -static unsigned int cpu_cur_freq[71,2276 -static unsigned int cpu_is_managed[72,2319 -static struct cpufreq_policy current_policy[73,2364 -userspace_cpufreq_notifier(80,2514 -static struct notifier_block userspace_cpufreq_notifier_block 97,2950 -int cpufreq_set(109,3244 -int cpufreq_setmax(146,4223 -static unsigned int warning_print 159,4569 -cpufreq_procctl(163,4692 -cpufreq_sysctl(208,5623 -static ctl_table ctl_cpu_table[352,8360 -static ctl_table ctl_cpu[455,9701 -struct ctl_table_header *cpufreq_sysctl_table;467,9855 -static inline void cpufreq_sysctl_init(469,9903 -static inline void cpufreq_sysctl_exit(474,10012 -#define cpufreq_sysctl_init(cpufreq_sysctl_init480,10116 -#define cpufreq_sysctl_exit(cpufreq_sysctl_exit481,10161 -static ssize_t show_speed 486,10313 -store_speed 492,10461 -static struct freq_attr freq_attr_scaling_setspeed 506,10703 -static int cpufreq_governor_userspace(512,10861 -struct cpufreq_governor cpufreq_gov_userspace 560,12339 -static int __init cpufreq_gov_userspace_init(567,12519 -static void __exit cpufreq_gov_userspace_exit(575,12751 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/cpufreq/cpufreq_ondemand.c,1620 -#define DEF_FREQUENCY_UP_THRESHOLD 38,1038 -#define MIN_FREQUENCY_UP_THRESHOLD 39,1079 -#define MAX_FREQUENCY_UP_THRESHOLD 40,1119 -#define DEF_FREQUENCY_DOWN_THRESHOLD 42,1162 -#define MIN_FREQUENCY_DOWN_THRESHOLD 43,1205 -#define MAX_FREQUENCY_DOWN_THRESHOLD 44,1247 -static unsigned int def_sampling_rate;56,1730 -#define MIN_SAMPLING_RATE 57,1773 -#define MAX_SAMPLING_RATE 58,1825 -#define DEF_SAMPLING_RATE_LATENCY_MULTIPLIER 59,1879 -#define DEF_SAMPLING_DOWN_FACTOR 60,1931 -#define TRANSITION_LATENCY_LIMIT 61,1970 -#define sampling_rate_in_HZ(sampling_rate_in_HZ62,2016 -struct cpu_dbs_info_s cpu_dbs_info_s66,2147 -static unsigned int dbs_enable;74,2366 -struct dbs_tuners dbs_tuners79,2524 -struct dbs_tuners dbs_tuners_ins 86,2676 -static ssize_t show_sampling_rate_max(93,2936 -static ssize_t show_sampling_rate_min(98,3071 -#define define_one_ro(define_one_ro103,3206 -#define show_one(show_one113,3483 -static ssize_t store_sampling_down_factor(124,3857 -static ssize_t store_sampling_rate(140,4162 -static ssize_t store_up_threshold(156,4510 -static ssize_t store_down_threshold(174,4923 -#define define_one_rw(define_one_rw192,5342 -static struct attribute * dbs_attributes[204,5668 -static struct attribute_group dbs_attr_group 214,5872 -static void dbs_check_cpu(221,6037 -static void do_dbs_timer(299,8462 -static inline void dbs_timer_init(311,8709 -static inline void dbs_timer_exit(318,8833 -static int cpufreq_governor_dbs(324,8920 -struct cpufreq_governor cpufreq_gov_dbs 410,10986 -static int __init cpufreq_gov_dbs_init(417,11147 -static void __exit cpufreq_gov_dbs_exit(422,11250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-cd.h,1768 -#define _IDE_CD_H8,139 -#define VERBOSE_IDE_CD_ERRORS 18,393 -#define STANDARD_ATAPI 27,653 -#define NO_DOOR_LOCKING 35,824 -#define ATAPI_WAIT_PC 41,903 -#define ATAPI_WAIT_WRITE_BUSY 42,936 -#define SECTOR_BITS 46,1053 -#define SECTOR_SIZE 48,1097 -#define SECTORS_PER_FRAME 50,1144 -#define SECTOR_BUFFER_SIZE 51,1200 -#define SECTORS_BUFFER 52,1247 -#define SECTORS_MAX 53,1307 -#define BLOCKS_PER_FRAME 55,1353 -#define PACKET_COMMAND 58,1457 -#define REQUEST_SENSE_COMMAND 59,1492 -#define RESET_DRIVE_COMMAND 60,1527 -struct ide_cd_config_flags ide_cd_config_flags66,1752 -#define CDROM_CONFIG_FLAGS(CDROM_CONFIG_FLAGS97,3243 -struct ide_cd_state_flags ide_cd_state_flags102,3468 -#define CDROM_STATE_FLAGS(CDROM_STATE_FLAGS111,3843 -struct atapi_msf atapi_msf114,3979 -#define MAX_TRACKS 122,4093 -struct atapi_toc_header atapi_toc_header123,4115 -struct atapi_toc_entry atapi_toc_entry129,4210 -struct atapi_toc atapi_toc148,4546 -struct atapi_cdrom_subchnl atapi_cdrom_subchnl160,4862 -struct atapi_capabilities_page atapi_capabilities_page192,5501 -struct atapi_mechstat_header atapi_mechstat_header409,13277 -struct atapi_slot atapi_slot440,13929 -struct atapi_changer_info atapi_changer_info456,14244 -struct cdrom_info cdrom_info462,14386 -#define ARY_LEN(ARY_LEN498,15311 -#define NO_SENSE 503,15480 -#define RECOVERED_ERROR 504,15517 -#define NOT_READY 505,15554 -#define MEDIUM_ERROR 506,15591 -#define HARDWARE_ERROR 507,15628 -#define ILLEGAL_REQUEST 508,15665 -#define UNIT_ATTENTION 509,15702 -#define DATA_PROTECT 510,15739 -#define BLANK_CHECK 511,15776 -#define ABORTED_COMMAND 512,15813 -#define MISCOMPARE 513,15850 -} packet_command_texts[525,16192 -const char * const sense_key_texts[580,18430 -} sense_data_texts[603,18883 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-probe.c,917 -static void generic_id(68,2142 -static inline int drive_is_flashcard 97,3167 -static inline void do_identify 127,4128 -static int actual_try_to_identify 267,7854 -static int try_to_identify 349,9818 -static int do_probe 420,11668 -static void enable_nest 502,13884 -static inline u8 probe_for_drive 547,14983 -static void hwif_release_dev 606,16551 -static void hwif_register 613,16694 -static int wait_hwif_ready(630,17157 -void ide_undecoded_slave(675,18276 -static void probe_hwif(706,19244 -int probe_hwif_init_with_fixup(850,23234 -int probe_hwif_init(876,23774 -static void save_match(895,24394 -static int ide_init_queue(913,24826 -static int init_irq 990,27213 -static int ata_lock(1159,31745 -struct kobject *ata_probe(1167,31883 -static int alloc_disks(1192,32626 -static void drive_release_dev 1220,33342 -static void init_gendisk 1233,33773 -static int hwif_init(1258,34560 -int ideprobe_init 1326,36096 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-disk.c,2985 -#define IDEDISK_VERSION 44,1785 -#define _IDE_DISK64,2229 -static int lba_capacity_is_ok 87,2742 -static ide_startstop_t read_intr 132,4011 -static ide_startstop_t write_intr 189,5643 -static void ide_multwrite(244,7625 -static ide_startstop_t multwrite_intr 299,8930 -ide_startstop_t __ide_do_rw_disk 344,10243 -ide_startstop_t __ide_do_rw_disk 484,14723 -static u8 get_command(501,15305 -static ide_startstop_t chs_rw_disk 537,16369 -static ide_startstop_t lba_28_rw_disk 568,17427 -static ide_startstop_t lba_48_rw_disk 599,18424 -static ide_startstop_t ide_do_rw_disk 631,19659 -static u8 idedisk_dump_status 653,20255 -ide_startstop_t idedisk_error 756,23129 -ide_startstop_t idedisk_abort(820,25004 -static unsigned long idedisk_read_native_max_address(844,25564 -static unsigned long long idedisk_read_native_max_address_ext(869,26455 -static unsigned long idedisk_set_max_address(902,27599 -static unsigned long long idedisk_set_max_address_ext(930,28683 -static unsigned long long sectors_to_MB(966,30166 -static inline int idedisk_supports_hpa(978,30494 -static inline int idedisk_supports_lba48(986,30661 -static inline void idedisk_check_hpa(992,30835 -static void init_idedisk_capacity 1041,32238 -static sector_t idedisk_capacity 1068,33012 -static ide_startstop_t idedisk_special 1073,33113 -static void idedisk_pre_reset 1125,34889 -static int smart_enable(1142,35340 -static int get_smart_values(1156,35788 -static int get_smart_thresholds(1173,36352 -static int proc_idedisk_read_cache1188,36888 -static int proc_idedisk_read_smart_thresholds1205,37304 -static int proc_idedisk_read_smart_values1228,37921 -static ide_proc_entry_t idedisk_proc[1251,38530 -#define idedisk_proc 1261,38901 -static int idedisk_issue_flush(1265,38957 -static int set_multcount(1305,39856 -static int set_nowerr(1319,40199 -static int write_cache(1329,40420 -static int do_idedisk_flushcache 1352,40943 -static int set_acoustic 1366,41360 -static int set_lba_addressing(1388,41921 -static void idedisk_add_settings(1401,42159 - idedisk_pm_flush_cache 1426,44097 - idedisk_pm_flush_cache = ide_pm_state_start_suspend,1426,44097 - idedisk_pm_standby,1427,44151 - idedisk_pm_idle 1429,44173 - idedisk_pm_idle = ide_pm_state_start_resume,1429,44173 - idedisk_pm_restore_dma,1430,44220 -static void idedisk_complete_power_step 1433,44249 -static ide_startstop_t idedisk_start_power_step 1451,44822 -static void idedisk_setup 1503,46576 -static void ide_cacheflush_p(1675,51622 -static int idedisk_cleanup 1684,51844 -static void ide_device_shutdown(1698,52134 -static ide_driver_t idedisk_driver 1729,53201 -static int idedisk_open(1754,53893 -static int idedisk_release(1776,54578 -static int idedisk_ioctl(1794,55131 -static int idedisk_media_changed(1801,55334 -static int idedisk_revalidate_disk(1814,55637 -static struct block_device_operations idedisk_ops 1821,55798 -static int idedisk_attach(1832,56083 -static void __exit idedisk_exit 1869,57073 -static int idedisk_init 1874,57158 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-pnp.c,192 -struct pnp_device_id idepnp_devices[24,791 -static int idepnp_probe(30,949 -static void idepnp_remove(56,1518 -static struct pnp_driver idepnp_driver 65,1735 -void __init pnpide_init(72,1880 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/h8300/ide-h8300.c,282 -#define bswap(bswap13,183 -static void mm_outw(25,355 -static u16 mm_inw(35,504 -static void mm_outsw(47,687 -static void mm_insw(54,866 -#define H8300_IDE_GAP 61,1044 -static inline void hw_setup(63,1071 -static inline void hwif_setup(76,1415 -void __init h8300_ide_init(91,1693 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-default.c,112 -#define IDEDEFAULT_VERSION 34,808 -ide_driver_t idedefault_driver 45,991 -static int idedefault_attach 52,1171 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-timing.h,1126 -#define _IDE_TIMING_H2,22 -#define XFER_PIO_5 32,1114 -#define XFER_UDMA_SLOW 33,1139 -struct ide_timing ide_timing35,1169 -static struct ide_timing ide_timing[54,1698 -#define IDE_TIMING_SETUP 88,3105 -#define IDE_TIMING_ACT8B 89,3135 -#define IDE_TIMING_REC8B 90,3165 -#define IDE_TIMING_CYC8B 91,3195 -#define IDE_TIMING_8BIT 92,3225 -#define IDE_TIMING_ACTIVE 93,3255 -#define IDE_TIMING_RECOVER 94,3286 -#define IDE_TIMING_CYCLE 95,3318 -#define IDE_TIMING_UDMA 96,3348 -#define IDE_TIMING_ALL 97,3378 -#define MIN(MIN99,3408 -#define MAX(MAX100,3443 -#define FIT(FIT101,3478 -#define ENOUGH(ENOUGH102,3521 -#define EZ(EZ103,3563 -#define XFER_MODE 105,3606 -#define XFER_UDMA_133 106,3629 -#define XFER_UDMA_100 107,3656 -#define XFER_UDMA_66 108,3683 -#define XFER_UDMA 109,3709 -#define XFER_MWDMA 110,3732 -#define XFER_SWDMA 111,3756 -#define XFER_EPIO 112,3780 -#define XFER_PIO 113,3803 -static short ide_find_best_mode(115,3826 -static void ide_timing_quantize(177,5920 -static void ide_timing_merge(189,6344 -static struct ide_timing* ide_timing_find_mode(201,7041 -static int ide_timing_compute(211,7222 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/arm/icside.c,2695 -#define ICS_IDENT_OFFSET 24,460 -#define ICS_ARCIN_V5_INTRSTAT 26,494 -#define ICS_ARCIN_V5_INTROFFSET 27,531 -#define ICS_ARCIN_V5_IDEOFFSET 28,570 -#define ICS_ARCIN_V5_IDEALTOFFSET 29,608 -#define ICS_ARCIN_V5_IDESTEPPING 30,648 -#define ICS_ARCIN_V6_IDEOFFSET_1 32,684 -#define ICS_ARCIN_V6_INTROFFSET_1 33,723 -#define ICS_ARCIN_V6_INTRSTAT_1 34,763 -#define ICS_ARCIN_V6_IDEALTOFFSET_1 35,802 -#define ICS_ARCIN_V6_IDEOFFSET_2 36,844 -#define ICS_ARCIN_V6_INTROFFSET_2 37,883 -#define ICS_ARCIN_V6_INTRSTAT_2 38,923 -#define ICS_ARCIN_V6_IDEALTOFFSET_2 39,962 -#define ICS_ARCIN_V6_IDESTEPPING 40,1004 -struct cardinfo cardinfo42,1040 -static struct cardinfo icside_cardinfo_v5 48,1138 -static struct cardinfo icside_cardinfo_v6_1 54,1267 -static struct cardinfo icside_cardinfo_v6_2 60,1402 -struct icside_state icside_state66,1537 -#define ICS_TYPE_A3IN 77,1786 -#define ICS_TYPE_A3USER 78,1810 -#define ICS_TYPE_V6 79,1836 -#define ICS_TYPE_V5 80,1858 -#define ICS_TYPE_NOTYPE 81,1881 -static void icside_irqenable_arcin_v5 87,2127 -static void icside_irqdisable_arcin_v5 98,2461 -static const expansioncard_ops_t icside_ops_arcin_v5 106,2665 -static void icside_irqenable_arcin_v6 116,3013 -static void icside_irqdisable_arcin_v6 138,3565 -static int icside_irqpending_arcin_v6(151,3931 -static const expansioncard_ops_t icside_ops_arcin_v6 159,4168 -static void icside_maskproc(169,4457 -#define NR_ENTRIES 208,5547 -#define TABLE_SIZE 209,5570 -static void icside_build_sglist(211,5607 -static int icside_set_speed(271,7263 -static int icside_dma_host_off(325,8329 -static int icside_dma_off_quietly(330,8396 -static int icside_dma_host_on(336,8514 -static int icside_dma_on(341,8580 -static int icside_dma_check(347,8688 -static int icside_dma_end(389,9449 -static int icside_dma_begin(405,9825 -static ide_startstop_t icside_dmaintr(418,10126 -icside_dma_common(445,10764 -static int icside_dma_read(484,11537 -static int icside_dma_write(521,12309 -static int icside_dma_test_irq(559,13086 -static int icside_dma_verbose(570,13338 -static int icside_dma_timeout(578,13505 -static int icside_dma_lostirq(591,13776 -static int icside_dma_init(597,13891 -static void icside_dma_exit(647,15186 -#define icside_dma_init(icside_dma_init655,15318 -#define icside_dma_exit(icside_dma_exit656,15352 -static ide_hwif_t *icside_find_hwif(659,15407 -icside_setup(682,15838 -icside_register_v5(711,16553 -icside_register_v6(738,17142 -icside_probe(804,18630 -static void __devexit icside_remove(867,19918 -static void icside_shutdown(903,20718 -static const struct ecard_id icside_ids[924,21200 -static struct ecard_driver icside_driver 930,21332 -static int __init icside_init(940,21535 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/arm/rapide.c,195 -rapide_probe(17,280 -static void __devexit rapide_remove(39,721 -static struct ecard_id rapide_ids[44,812 -static struct ecard_driver rapide_driver 49,926 -static int __init rapide_init(58,1099 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/arm/bast-ide.c,96 -static ide_hwif_t *ifs[26,609 -bastide_register(29,655 -static int __init bastide_init(53,1072 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/arm/ide_arm.c,207 -# define IDE_ARM_HOST 18,391 -# define IDE_ARM_HOST 20,438 -# define IDE_ARM_IO 26,534 -# define IDE_ARM_IRQ 27,575 -# define IDE_ARM_IO 29,613 -# define IDE_ARM_IRQ 30,639 -void __init ide_arm_init(33,681 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-generic.c,43 -static int __init ide_generic_init(15,349 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-cd.c,4118 -#define IDECD_VERSION 302,17028 -static void cdrom_saw_media_change 333,17806 -static int cdrom_log_sense(342,18036 -void cdrom_analyze_sense_data(388,19070 -static void cdrom_prepare_request(567,23952 -static void cdrom_queue_request_sense(573,24057 -ide_startstop_t ide_cdrom_error 600,24752 -ide_startstop_t ide_cdrom_abort 636,25740 -static void cdrom_end_request 653,26198 -static void ide_dump_status_no_sense(702,27475 -static int cdrom_decode_status(711,27717 -static int cdrom_timer_expiry(888,32761 -static ide_startstop_t cdrom_start_packet_command(923,33898 -#define ATAPI_MIN_CDB_BYTES 979,35688 -static ide_startstop_t cdrom_transfer_packet_command 980,35719 -static void cdrom_buffer_sectors 1031,37290 -int cdrom_read_check_ireason 1075,38655 -static ide_startstop_t cdrom_read_intr 1110,39643 -static int cdrom_read_from_buffer 1242,43610 -static ide_startstop_t cdrom_start_read_continuation 1303,45467 -#define IDECD_SEEK_THRESHOLD 1339,46695 -#define IDECD_SEEK_TIMER 1340,46751 -#define IDECD_SEEK_TIMEOUT 1341,46810 -static ide_startstop_t cdrom_seek_intr 1343,46867 -static ide_startstop_t cdrom_start_seek_continuation 1366,47422 -static ide_startstop_t cdrom_start_seek 1381,47874 -static void restore_request 1393,48282 -static ide_startstop_t cdrom_start_read 1411,48752 -static ide_startstop_t cdrom_pc_intr 1449,49928 -static ide_startstop_t cdrom_do_pc_continuation 1559,52862 -static ide_startstop_t cdrom_do_packet_command 1571,53146 -void cdrom_sleep 1590,53606 -int cdrom_queue_packet_command(1601,53766 -static inline int cdrom_write_check_ireason(1652,55055 -static void post_transform_command(1680,55845 -typedef void (xfer_func_t)xfer_func_t1705,56212 -static ide_startstop_t cdrom_newpc_intr(1713,56510 -static ide_startstop_t cdrom_write_intr(1852,59149 -static ide_startstop_t cdrom_start_write_cont(1950,61561 -static ide_startstop_t cdrom_start_write(1962,61833 -static ide_startstop_t cdrom_do_newpc_cont(2004,63026 -static ide_startstop_t cdrom_do_block_pc(2014,63256 -ide_do_rw_cdrom 2048,64036 -int bin2bcd 2108,65871 -int bcd2bin 2115,65943 -void msf_from_bcd 2121,66011 -void lba_to_msf 2132,66219 -int msf_to_lba 2144,66483 -static int cdrom_check_status(2149,66591 -cdrom_lockdoor(2174,67264 -static int cdrom_eject(2218,68391 -static int cdrom_read_capacity(2243,69061 -static int cdrom_read_tocentry(2272,69663 -static int cdrom_read_toc(2298,70266 -static int cdrom_read_subchannel(2463,75393 -static int cdrom_select_speed(2484,76038 -static int cdrom_play_audio(2513,76837 -static int cdrom_get_toc_entry(2528,77233 -static int ide_cdrom_packet(2556,77984 -int ide_cdrom_dev_ioctl 2587,78774 -int ide_cdrom_audio_ioctl 2633,79747 -int ide_cdrom_reset 2711,81584 -int ide_cdrom_tray_move 2734,82069 -int ide_cdrom_lock_door 2748,82371 -int ide_cdrom_select_speed 2755,82542 -int ide_cdrom_drive_status 2774,83028 -int ide_cdrom_get_last_session 2818,84049 -int ide_cdrom_get_mcn 2839,84558 -int ide_cdrom_check_media_change_real 2865,85192 -int ide_cdrom_open_real 2883,85585 -void ide_cdrom_release_real 2893,85742 -static struct cdrom_device_ops ide_cdrom_dops 2906,86018 -static int ide_cdrom_register 2930,86936 -int ide_cdrom_get_capabilities(2967,88103 -int ide_cdrom_probe_capabilities 2992,88892 -static void ide_cdrom_add_settings(3121,93118 -static int ide_cdrom_prep_fs(3129,93344 -static int ide_cdrom_prep_pc(3163,94139 -static int ide_cdrom_prep_fn(3195,94790 -int ide_cdrom_setup 3206,95012 -sector_t ide_cdrom_capacity 3343,99658 -int ide_cdrom_cleanup(3354,99885 -static void ide_cdrom_complete_power_step 3389,100812 -static ide_startstop_t ide_cdrom_start_power_step 3393,100919 -static ide_driver_t ide_cdrom_driver 3422,101695 -static int idecd_open(3441,102263 -static int idecd_release(3456,102679 -static int idecd_ioctl 3466,102926 -static int idecd_media_changed(3479,103329 -static int idecd_revalidate_disk(3486,103521 -static struct block_device_operations idecd_ops 3494,103696 -char *ignore 3504,103943 -static int ide_cdrom_attach 3509,104035 -static void __exit ide_cdrom_exit(3578,106016 -static int ide_cdrom_init(3583,106105 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide.c,3847 -#define REVISION 126,5664 -#define VERSION 127,5704 -#define _IDE_C 131,5815 -#define IDE_DEFAULT_MAX_FAILURES 165,6620 -static const u8 ide_hwif_to_major[167,6657 -static int idebus_parameter;173,6840 -static int system_bus_speed;174,6905 -static int initializing;175,6982 -spinlock_t ide_lock __cacheline_aligned_in_smp 179,7114 -static int ide_scan_direction;182,7213 -int noautodma 186,7320 -int noautodma 188,7345 -ide_hwif_t ide_hwifs[196,7476 -static void init_hwif_data(206,7713 -static void init_hwif_default(259,9207 -#define MAGIC_COOKIE 296,10543 -static void __init init_ide_data 297,10575 -ide_drive_t *ide_drive_from_key(335,11530 -void *ide_drive_to_key(364,12225 -ide_hwif_t *ide_hwif_from_key(382,12682 -void *ide_hwif_to_key(404,13219 -int ide_system_bus_speed 425,13841 -sector_t current_capacity 454,14632 -u8 ide_dump_status 474,15129 -static int ide_open 576,18095 -static spinlock_t drives_lock 590,18503 -static spinlock_t drivers_lock 592,18590 -static void *m_start(597,18708 -static void *m_next(608,18930 -static void m_stop(615,19133 -static int show_driver(620,19205 -struct seq_operations ide_drivers_op 627,19366 -struct proc_dir_entry *proc_ide_root;635,19507 -ide_proc_entry_t generic_subdriver_entries[637,19546 -static struct resource* hwif_request_region(643,19695 -int ide_hwif_request_regions(664,20284 -void ide_hwif_release_regions(714,21590 -static void ide_hwif_restore(740,22188 -int __ide_unregister_hwif(866,26598 -int ide_unregister_hwif(1127,32473 -void ide_setup_ports 1157,33214 -int ide_register_hw_with_fixup(1212,34454 -int ide_register_hw(1286,36294 -int ide_add_setting 1326,37341 -static void ide_remove_setting 1371,38625 -static ide_settings_t *ide_find_setting_by_ioctl 1398,39222 -ide_settings_t *ide_find_setting_by_name 1421,39767 -static void auto_remove_settings 1442,40277 -int ide_read_setting 1469,40912 -int ide_spin_wait_hwgroup 1502,41648 -int ide_write_setting 1544,42765 -static int set_io_32bit(1579,43518 -static int set_using_dma 1589,43780 -static int set_pio_mode 1609,44207 -static int set_xfer_rate 1624,44529 -void ide_add_generic_settings 1646,45039 -int system_bus_clock 1672,46779 -int ide_replace_subdriver 1684,47107 -int ata_attach(1722,48208 -static int generic_ide_suspend(1748,48857 -static int generic_ide_resume(1767,49311 -int generic_ide_ioctl(1786,49752 -static int __init stridx 1969,54620 -static int __init match_parm 1987,55245 -static int __initdata probe_pdc4030;2030,56324 -static int __initdata probe_ali14xx;2033,56398 -static int __initdata probe_umc8672;2037,56503 -static int __initdata probe_dtc2278;2041,56608 -static int __initdata probe_ht6560b;2045,56713 -static int __initdata probe_qd65xx;2049,56817 -static int __initdata is_chipset_set[2053,56891 -int __init ide_setup 2061,57161 -static void __init probe_for_hwifs 2347,64476 -static int default_cleanup 2421,65959 -static ide_startstop_t default_do_request 2426,66053 -static int default_end_request 2432,66209 -static u8 default_sense 2437,66346 -static ide_startstop_t default_error 2442,66465 -static void default_pre_reset 2447,66591 -static sector_t default_capacity 2451,66647 -static ide_startstop_t default_special 2456,66726 -static int default_attach 2465,66881 -static ide_startstop_t default_abort 2473,67030 -static ide_startstop_t default_start_power_step(2478,67141 -static void setup_driver_defaults 2485,67304 -int ide_register_subdriver(2501,68010 -int ide_unregister_subdriver 2551,69579 -static int ide_drive_remove(2581,70421 -int ide_register_driver(2600,70937 -void ide_unregister_driver(2644,72118 -struct block_device_operations ide_fops[2668,72655 -struct bus_type ide_bus_type 2681,72827 -int __init ide_init 2690,73028 -char *options 2737,73925 -static void __init parse_options 2741,73997 -int init_module 2755,74279 -void cleanup_module 2761,74352 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-iops.c,2250 -static u8 ide_inb 37,785 -static u16 ide_inw 42,853 -static void ide_insw 47,923 -static u32 ide_inl 52,1019 -static void ide_insl 57,1089 -static void ide_outb 62,1185 -static void ide_outbsync 67,1258 -static void ide_outw 72,1357 -static void ide_outsw 77,1431 -static void ide_outl 82,1529 -static void ide_outsl 87,1603 -void default_hwif_iops 92,1701 -static u8 ide_no_inb(113,2082 -static u16 ide_no_inw 118,2142 -static void ide_no_insw 123,2206 -static u32 ide_no_inl 127,2279 -static void ide_no_insl 132,2347 -static void ide_no_outb 136,2420 -static void ide_no_outbsync 140,2478 -static void ide_no_outw 144,2561 -static void ide_no_outsw 148,2620 -static void ide_no_outl 152,2694 -static void ide_no_outsl 156,2753 -void removed_hwif_iops 160,2827 -static u8 ide_mm_inb 181,3276 -static u16 ide_mm_inw 186,3366 -static void ide_mm_insw 191,3458 -static u32 ide_mm_inl 196,3583 -static void ide_mm_insl 201,3675 -static void ide_mm_outb 206,3800 -static void ide_mm_outbsync 211,3899 -static void ide_mm_outw 216,4022 -static void ide_mm_outsw 221,4122 -static void ide_mm_outl 226,4249 -static void ide_mm_outsl 231,4349 -void default_hwif_mmiops 236,4476 -void default_hwif_transport 255,4967 -u32 ide_read_24 265,5238 -void SELECT_DRIVE 275,5475 -void SELECT_INTERRUPT 284,5668 -void SELECT_MASK 292,5834 -void QUIRK_LIST 298,5953 -void ata_vlb_sync 311,6406 -void ata_input_data 321,6642 -void ata_output_data 343,7173 -void atapi_input_bytes 370,7895 -void atapi_output_bytes 389,8443 -void ide_fix_driveid 411,9060 -void ide_fixstring 510,13349 -int drive_is_ready 539,14025 -int wait_for_ready 580,15056 -int ide_wait_stat 618,16149 -u8 eighty_ninty_three 675,17770 -int ide_ata66_check 719,18586 -int set_transfer 751,19502 -u8 ide_auto_reduce_xfer 766,19902 -int ide_driveid_update 796,20638 -int ide_config_drive_speed 879,22761 -void __ide_set_handler 1007,26541 -void ide_set_handler 1025,27039 -void ide_execute_command(1050,27851 -static ide_startstop_t atapi_reset_pollfunc 1087,28945 -static ide_startstop_t reset_pollfunc 1124,30016 -static void check_dma_crc(1178,31400 -void pre_reset 1191,31744 -static ide_startstop_t do_reset1 1227,32866 -ide_startstop_t ide_do_reset 1311,35247 -int ide_wait_not_busy(1322,35505 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-floppy.c,5877 -#define IDEFLOPPY_VERSION 83,4552 -#define IDEFLOPPY_DEBUG_LOG 111,5170 -#define IDEFLOPPY_DEBUG_INFO 112,5201 -#define IDEFLOPPY_DEBUG_BUGS 113,5233 -#define IDEFLOPPY_DEBUG(IDEFLOPPY_DEBUG116,5341 -#define debug_log 119,5406 -#define debug_log(debug_log121,5437 -#define IDEFLOPPY_WAIT_CMD 128,5546 -#define IDEFLOPPY_MAX_PC_RETRIES 134,5730 -#define IDEFLOPPY_PC_BUFFER_SIZE 140,5861 -#define IDEFLOPPY_PC_STACK 147,6105 -typedef struct idefloppy_packet_command_s idefloppy_packet_command_s152,6206 -} idefloppy_pc_t;idefloppy_pc_t166,6981 -#define PC_ABORT 171,7036 -#define PC_DMA_RECOMMENDED 172,7119 -#define PC_DMA_IN_PROGRESS 173,7195 -#define PC_DMA_ERROR 174,7255 -#define PC_WRITING 175,7324 -#define PC_SUPPRESS_ERROR 177,7369 -} idefloppy_capabilities_page_t;idefloppy_capabilities_page_t215,8819 -} idefloppy_flexible_disk_page_t;idefloppy_flexible_disk_page_t242,9779 -} idefloppy_capacity_header_t;idefloppy_capacity_header_t250,9942 -} idefloppy_capacity_descriptor_t;idefloppy_capacity_descriptor_t265,10386 -#define CAPACITY_INVALID 267,10422 -#define CAPACITY_UNFORMATTED 268,10452 -#define CAPACITY_CURRENT 269,10486 -#define CAPACITY_NO_CARTRIDGE 270,10516 -} idefloppy_floppy_t;idefloppy_floppy_t315,11677 -#define IDEFLOPPY_TICKS_DELAY 317,11700 -#define IDEFLOPPY_DRQ_INTERRUPT 322,11800 -#define IDEFLOPPY_MEDIA_CHANGED 323,11862 -#define IDEFLOPPY_USE_READ12 324,11926 -#define IDEFLOPPY_FORMAT_IN_PROGRESS 325,12001 -#define IDEFLOPPY_CLIK_DRIVE 326,12065 -#define IDEFLOPPY_ZIP_DRIVE 327,12159 -#define IDEFLOPPY_FORMAT_UNIT_CMD 332,12276 -#define IDEFLOPPY_INQUIRY_CMD 333,12315 -#define IDEFLOPPY_MODE_SELECT_CMD 334,12351 -#define IDEFLOPPY_MODE_SENSE_CMD 335,12390 -#define IDEFLOPPY_READ10_CMD 336,12428 -#define IDEFLOPPY_READ12_CMD 337,12463 -#define IDEFLOPPY_READ_CAPACITY_CMD 338,12498 -#define IDEFLOPPY_REQUEST_SENSE_CMD 339,12539 -#define IDEFLOPPY_PREVENT_REMOVAL_CMD 340,12580 -#define IDEFLOPPY_SEEK_CMD 341,12623 -#define IDEFLOPPY_START_STOP_CMD 342,12656 -#define IDEFLOPPY_TEST_UNIT_READY_CMD 343,12694 -#define IDEFLOPPY_VERIFY_CMD 344,12737 -#define IDEFLOPPY_WRITE10_CMD 345,12772 -#define IDEFLOPPY_WRITE12_CMD 346,12808 -#define IDEFLOPPY_WRITE_VERIFY_CMD 347,12844 -#define MODE_SENSE_CURRENT 352,12930 -#define MODE_SENSE_CHANGEABLE 353,12963 -#define MODE_SENSE_DEFAULT 354,12999 -#define MODE_SENSE_SAVED 355,13033 -#define IDEFLOPPY_IOCTL_FORMAT_SUPPORTED 361,13113 -#define IDEFLOPPY_IOCTL_FORMAT_GET_CAPACITY 362,13161 -#define IDEFLOPPY_IOCTL_FORMAT_START 363,13212 -#define IDEFLOPPY_IOCTL_FORMAT_GET_PROGRESS 364,13257 -#define IDEFLOPPY_FIRST_RQ 370,13381 -#define IDEFLOPPY_PC_RQ 375,13495 -#define IDEFLOPPY_LAST_RQ 377,13524 -#define IDEFLOPPY_RQ_CMD(IDEFLOPPY_RQ_CMD383,13684 -#define IDEFLOPPY_ERROR_GENERAL 391,13876 -struct idefloppy_id_gcw idefloppy_id_gcw397,14028 -} idefloppy_inquiry_result_t;idefloppy_inquiry_result_t458,16558 -} idefloppy_request_sense_result_t;idefloppy_request_sense_result_t491,17824 -#define IDEFLOPPY_CAPABILITIES_PAGE 496,17927 -#define IDEFLOPPY_FLEXIBLE_DISK_PAGE 497,17968 -} idefloppy_mode_parameter_header_t;idefloppy_mode_parameter_header_t515,18494 -static void idefloppy_discard_data 521,18640 -static void idefloppy_write_zeros 528,18806 -static int idefloppy_do_end_request(542,19143 -static void idefloppy_input_buffers 571,19896 -static void idefloppy_output_buffers 605,20664 -static void idefloppy_update_buffers 639,21434 -static void idefloppy_queue_pc_head 653,21867 -static idefloppy_pc_t *idefloppy_next_pc_storage 661,22124 -static struct request *idefloppy_next_rq_storage 670,22384 -static void idefloppy_analyze_error 683,22759 -static void idefloppy_request_sense_callback 702,23448 -static void idefloppy_pc_callback 720,23974 -static void idefloppy_init_pc 732,24273 -static void idefloppy_create_request_sense_cmd 743,24527 -static void idefloppy_retry_pc 757,24939 -static ide_startstop_t idefloppy_pc_intr 774,25377 -static ide_startstop_t idefloppy_transfer_pc 909,29510 -static int idefloppy_transfer_pc2 948,30889 -static ide_startstop_t idefloppy_transfer_pc1 958,31156 -static inline int idefloppy_should_report_error(997,32513 -static ide_startstop_t idefloppy_issue_pc 1009,32750 -static void idefloppy_rw_callback 1111,35762 -static void idefloppy_create_prevent_cmd 1119,35941 -static void idefloppy_create_read_capacity_cmd 1129,36210 -static void idefloppy_create_format_unit_cmd 1138,36411 -static void idefloppy_create_mode_sense_cmd 1162,37076 -static void idefloppy_create_start_stop_cmd 1186,37679 -static void idefloppy_create_test_unit_ready_cmd(1193,37841 -static void idefloppy_create_rw_cmd 1199,37982 -idefloppy_blockpc_cmd(1229,39095 -static ide_startstop_t idefloppy_do_request 1246,39503 -static int idefloppy_queue_pc_tail 1306,41460 -static int idefloppy_get_flexible_disk_page 1321,41853 -static int idefloppy_get_capability_page(1366,43524 -static int idefloppy_get_capacity 1392,44204 -static int idefloppy_get_format_capacities(1502,47688 -static int idefloppy_begin_format(1578,49478 -static int idefloppy_get_format_progress(1611,50244 -static sector_t idefloppy_capacity 1649,51129 -static int idefloppy_identify_device 1661,51439 -static void idefloppy_add_settings(1778,56073 -static void idefloppy_setup 1794,56813 -static int idefloppy_cleanup 1839,58273 -static ide_proc_entry_t idefloppy_proc[1855,58579 -#define idefloppy_proc 1862,58724 -static ide_driver_t idefloppy_driver 1871,58889 -static int idefloppy_open(1887,59341 -static int idefloppy_release(1937,60750 -static int idefloppy_ioctl(1959,61356 -static int idefloppy_media_changed(2025,63225 -static int idefloppy_revalidate_disk(2038,63573 -static struct block_device_operations idefloppy_ops 2045,63736 -static int idefloppy_attach 2054,63993 -static void __exit idefloppy_exit 2098,65319 -static int idefloppy_init 2106,65475 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ppc/mpc8xx.c,3313 -typedef struct ide_ioport_desc ide_ioport_desc53,1396 -} ide_ioport_desc_t;ide_ioport_desc_t57,1583 -ide_ioport_desc_t ioport_dsc[59,1605 -ide_pio_timings_t ide_pio_clocks[96,2387 -int hold_time[97,2424 -static int _slot_ 103,2642 -#define PCMCIA_MK_CLKS(PCMCIA_MK_CLKS106,2756 -m8xx_ide_default_irq(114,2864 -m8xx_ide_default_io_base(129,3139 -#define M8XX_PCMCIA_CD2(M8XX_PCMCIA_CD2134,3202 -#define M8XX_PCMCIA_CD1(M8XX_PCMCIA_CD1135,3265 -#define __MY_PCMCIA_GCRX_CXRESET 141,3413 -#define __MY_PCMCIA_GCRX_CXOE 142,3463 -#define __MY_PCMCIA_GCRX_CXRESET 144,3520 -#define __MY_PCMCIA_GCRX_CXOE 145,3573 -#define PCMCIA_SCHLVL 149,3702 -static int pcmcia_schlvl 150,3775 -m8xx_ide_init_hwif_ports(162,4049 - } pcmcia_win_t;pcmcia_win_t171,4239 -void m8xx_ide_init_hwif_ports 346,9060 -#define PCMCIA_SHT(PCMCIA_SHT426,10922 -#define PCMCIA_SST(PCMCIA_SST427,10986 -#define PCMCIA_SL(PCMCIA_SL428,11049 -m8xx_ide_tuneproc(434,11171 -ide_interrupt_ack 494,12770 -#define CISTPL_NULL 541,13888 -#define CISTPL_DEVICE 542,13914 -#define CISTPL_LONGLINK_CB 543,13942 -#define CISTPL_INDIRECT 544,13974 -#define CISTPL_CONFIG_CB 545,14004 -#define CISTPL_CFTABLE_ENTRY_CB 546,14034 -#define CISTPL_LONGLINK_MFC 547,14071 -#define CISTPL_BAR 548,14104 -#define CISTPL_PWR_MGMNT 549,14129 -#define CISTPL_EXTDEVICE 550,14159 -#define CISTPL_CHECKSUM 551,14189 -#define CISTPL_LONGLINK_A 552,14219 -#define CISTPL_LONGLINK_C 553,14250 -#define CISTPL_LINKTARGET 554,14281 -#define CISTPL_NO_LINK 555,14312 -#define CISTPL_VERS_1 556,14341 -#define CISTPL_ALTSTR 557,14369 -#define CISTPL_DEVICE_A 558,14397 -#define CISTPL_JEDEC_C 559,14427 -#define CISTPL_JEDEC_A 560,14456 -#define CISTPL_CONFIG 561,14485 -#define CISTPL_CFTABLE_ENTRY 562,14513 -#define CISTPL_DEVICE_OC 563,14547 -#define CISTPL_DEVICE_OA 564,14577 -#define CISTPL_DEVICE_GEO 565,14607 -#define CISTPL_DEVICE_GEO_A 566,14638 -#define CISTPL_MANFID 567,14671 -#define CISTPL_FUNCID 568,14699 -#define CISTPL_FUNCE 569,14727 -#define CISTPL_SWIL 570,14754 -#define CISTPL_END 571,14780 -#define CISTPL_FUNCID_MULTI 576,14838 -#define CISTPL_FUNCID_MEMORY 577,14871 -#define CISTPL_FUNCID_SERIAL 578,14905 -#define CISTPL_FUNCID_PARALLEL 579,14939 -#define CISTPL_FUNCID_FIXED 580,14975 -#define CISTPL_FUNCID_VIDEO 581,15008 -#define CISTPL_FUNCID_NETWORK 582,15041 -#define CISTPL_FUNCID_AIMS 583,15076 -#define CISTPL_FUNCID_SCSI 584,15108 -#define CISTPL_IDE_INTERFACE 589,15174 -#define CISTPL_FUNCE_IDE_IFACE 591,15209 -#define CISTPL_FUNCE_IDE_MASTER 592,15245 -#define CISTPL_FUNCE_IDE_SLAVE 593,15282 -#define CISTPL_IDE_SILICON 596,15344 -#define CISTPL_IDE_UNIQUE 597,15376 -#define CISTPL_IDE_DUAL 598,15407 -#define CISTPL_IDE_HAS_SLEEP 601,15464 -#define CISTPL_IDE_HAS_STANDBY 602,15498 -#define CISTPL_IDE_HAS_IDLE 603,15534 -#define CISTPL_IDE_LOW_POWER 604,15567 -#define CISTPL_IDE_REG_INHIBIT 605,15601 -#define CISTPL_IDE_HAS_INDEX 606,15637 -#define CISTPL_IDE_IOIS16 607,15671 -#define MAX_TUPEL_SZ 613,15781 -#define MAX_FEATURES 614,15806 -static int check_ide_device 616,15830 -static void print_funcid 700,17370 -static void print_fixed 739,18151 -#define MAX_IDENT_CHARS 794,19234 -#define MAX_IDENT_FIELDS 795,19262 -static u8 *known_cards[797,19290 -static int identify 802,19350 -void m8xx_ide_init(850,20063 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ppc/pmac.c,5486 -#define IDE_PMAC_DEBUG56,1477 -#define DMA_WAIT_TIMEOUT 58,1501 -typedef struct pmac_ide_hwif pmac_ide_hwif60,1530 -} pmac_ide_hwif_t;pmac_ide_hwif_t86,2323 -static pmac_ide_hwif_t pmac_ide[88,2343 -static pmac_ide_hwif_t pmac_ide[MAX_HWIFS] __pmacdata;88,2343 -static int pmac_ide_count;89,2398 - controller_ohare,92,2433 - controller_heathrow,93,2470 - controller_kl_ata3,94,2518 - controller_kl_ata4,95,2560 - controller_un_ata6,96,2602 - controller_k2_ata6 97,2645 -static const char* model_name[100,2684 -#define IDE_TIMING_CONFIG 112,3048 -#define IDE_INTERRUPT 113,3080 -#define IDE_KAUAI_PIO_CONFIG 116,3160 -#define IDE_KAUAI_ULTRA_CONFIG 117,3195 -#define IDE_KAUAI_POLL_CONFIG 118,3232 -#define SYSCLK_TICKS(SYSCLK_TICKS125,3386 -#define SYSCLK_TICKS_66(SYSCLK_TICKS_66126,3455 -#define IDE_SYSCLK_NS 127,3532 -#define IDE_SYSCLK_66_NS 128,3575 -#define TR_100_PIOREG_PIO_MASK 146,4423 -#define TR_100_PIOREG_MDMA_MASK 147,4466 -#define TR_100_UDMAREG_UDMA_MASK 148,4510 -#define TR_100_UDMAREG_UDMA_EN 149,4554 -#define TR_66_UDMA_MASK 168,5288 -#define TR_66_UDMA_EN 169,5325 -#define TR_66_UDMA_ADDRSETUP_MASK 170,5392 -#define TR_66_UDMA_ADDRSETUP_SHIFT 171,5457 -#define TR_66_UDMA_RDY2PAUS_MASK 172,5495 -#define TR_66_UDMA_RDY2PAUS_SHIFT 173,5564 -#define TR_66_UDMA_WRDATASETUP_MASK 174,5601 -#define TR_66_UDMA_WRDATASETUP_SHIFT 175,5676 -#define TR_66_MDMA_MASK 176,5716 -#define TR_66_MDMA_RECOVERY_MASK 177,5753 -#define TR_66_MDMA_RECOVERY_SHIFT 178,5797 -#define TR_66_MDMA_ACCESS_MASK 179,5834 -#define TR_66_MDMA_ACCESS_SHIFT 180,5877 -#define TR_66_PIO_MASK 181,5913 -#define TR_66_PIO_RECOVERY_MASK 182,5949 -#define TR_66_PIO_RECOVERY_SHIFT 183,5993 -#define TR_66_PIO_ACCESS_MASK 184,6028 -#define TR_66_PIO_ACCESS_SHIFT 185,6070 -#define TR_33_MDMA_MASK 198,6696 -#define TR_33_MDMA_RECOVERY_MASK 199,6733 -#define TR_33_MDMA_RECOVERY_SHIFT 200,6777 -#define TR_33_MDMA_ACCESS_MASK 201,6814 -#define TR_33_MDMA_ACCESS_SHIFT 202,6857 -#define TR_33_MDMA_HALFTICK 203,6893 -#define TR_33_PIO_MASK 204,6933 -#define TR_33_PIO_E 205,6969 -#define TR_33_PIO_RECOVERY_MASK 206,7002 -#define TR_33_PIO_RECOVERY_SHIFT 207,7046 -#define TR_33_PIO_ACCESS_MASK 208,7081 -#define TR_33_PIO_ACCESS_SHIFT 209,7123 -#define IDE_INTR_DMA 214,7199 -#define IDE_INTR_DEVICE 215,7233 -struct mdma_timings_t mdma_timings_t225,7508 -struct mdma_timings_t mdma_timings_33[231,7588 -struct mdma_timings_t mdma_timings_33[] __pmacdata 231,7588 -struct mdma_timings_t mdma_timings_33k[244,7853 -struct mdma_timings_t mdma_timings_33k[] __pmacdata 244,7853 -struct mdma_timings_t mdma_timings_66[257,8119 -struct mdma_timings_t mdma_timings_66[] __pmacdata 257,8119 -} kl66_udma_timings[275,8502 -} kl66_udma_timings[] __pmacdata 275,8502 -struct kauai_timing kauai_timing285,8756 -static struct kauai_timing kauai_pio_timings[290,8816 -static struct kauai_timing kauai_pio_timings[] __pmacdata 290,8816 -static struct kauai_timing kauai_mdma_timings[305,9134 -static struct kauai_timing kauai_mdma_timings[] __pmacdata 305,9134 -static struct kauai_timing kauai_udma_timings[319,9421 -static struct kauai_timing kauai_udma_timings[] __pmacdata 319,9421 -kauai_lookup_timing(331,9651 -#define MAX_DCMDS 342,9897 -#define IDE_WAKEUP_DELAY 356,10431 -#define PMU_HD_BLINK_TIME 378,11171 -static struct adb_request pmu_blink_on,380,11206 -static struct adb_request pmu_blink_on, pmu_blink_off;380,11206 -static spinlock_t pmu_blink_lock;381,11261 -static unsigned long pmu_blink_stoptime;382,11295 -static int pmu_blink_ledstate;383,11336 -static struct timer_list pmu_blink_timer;384,11367 -static int pmu_ide_blink_enabled;385,11409 -pmu_hd_blink_timeout(389,11457 -pmu_hd_kick_blink(413,12063 -pmu_hd_blink_init(432,12559 -pmac_ide_init_hwif_ports(471,13584 -#define PMAC_IDE_REG(PMAC_IDE_REG500,14224 -pmac_ide_selectproc(508,14485 -pmac_ide_kauai_selectproc(528,15043 -pmac_ide_do_update_timings(549,15643 -pmac_outbsync(563,15953 -pmac_ide_do_setfeature(580,16545 -pmac_ide_tuneproc(657,18777 -set_timings_udma_ata4(740,21100 -set_timings_udma_ata6(768,21925 -set_timings_mdma(788,22410 -pmac_ide_tune_chipset 924,26536 -sanitize_timings(996,28221 -pmac_ide_get_base(1023,28768 -pmac_ide_check_base(1029,28846 -pmac_ide_get_irq(1040,29012 -static int ide_majors[1050,29175 -static int ide_majors[] __pmacdata 1050,29175 -pmac_find_ide_boot(1053,29254 -pmac_ide_do_suspend(1078,29819 -pmac_ide_do_resume(1117,30805 -pmac_ide_setup_device(1144,31755 -pmac_ide_macio_attach(1278,35945 -pmac_ide_macio_suspend(1362,38276 -pmac_ide_macio_resume(1377,38598 -pmac_ide_pci_attach(1395,38939 -pmac_ide_pci_suspend(1470,40723 -pmac_ide_pci_resume(1485,41018 -static struct of_match pmac_ide_macio_match[1499,41267 -static struct macio_driver pmac_ide_macio_driver 1524,41635 -static struct pci_device_id pmac_ide_pci_match[1533,41859 -static struct pci_driver pmac_ide_pci_driver 1539,42185 -pmac_ide_probe(1548,42404 -pmac_ide_build_sglist(1570,42985 -pmac_ide_raw_build_sglist(1591,43524 -pmac_ide_build_dmatable(1629,44696 -pmac_ide_destroy_dmatable 1716,47109 -pmac_ide_mdma_enable(1733,47521 -pmac_ide_udma_enable(1790,48931 -pmac_ide_dma_check(1841,50258 -pmac_ide_dma_start(1888,51525 -pmac_ide_dma_read(1919,52248 -pmac_ide_dma_write 1951,52940 -pmac_ide_dma_begin 1983,53699 -pmac_ide_dma_end 2002,54132 -pmac_ide_dma_test_irq 2030,55039 -pmac_ide_dma_host_off 2086,56550 -pmac_ide_dma_host_on 2092,56627 -pmac_ide_dma_lostirq 2098,56703 -pmac_ide_setup_dma(2118,57201 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-tape.c,9956 -#define IDETAPE_VERSION 425,23536 -typedef struct os_partition_s os_partition_s456,24202 -} os_partition_t;os_partition_t463,24369 -typedef struct os_dat_entry_s os_dat_entry_s468,24408 -} os_dat_entry_t;os_dat_entry_t473,24500 -#define OS_DAT_FLAGS_DATA 478,24533 -#define OS_DAT_FLAGS_MARK 479,24565 -typedef struct os_dat_s os_dat_s481,24598 -} os_dat_t;os_dat_t487,24723 -#define IDETAPE_MIN_PIPELINE_STAGES 509,25465 -#define IDETAPE_MAX_PIPELINE_STAGES 510,25505 -#define IDETAPE_INCREASE_STAGES_RATE 511,25545 -#define IDETAPE_DEBUG_INFO 531,26207 -#define IDETAPE_DEBUG_LOG 532,26237 -#define IDETAPE_DEBUG_BUGS 533,26266 -#define IDETAPE_MAX_PC_RETRIES 541,26499 -#define IDETAPE_PC_BUFFER_SIZE 548,26702 -#define IDETAPE_PC_STACK 555,26945 -#define IDETAPE_WAIT_CMD 562,27222 -#define IDETAPE_FIFO_THRESHOLD 571,27555 -#define IDETAPE_DSC_RW_MIN 607,28952 -#define IDETAPE_DSC_RW_MAX 608,29003 -#define IDETAPE_DSC_RW_TIMEOUT 609,29056 -#define IDETAPE_DSC_MA_FAST 610,29113 -#define IDETAPE_DSC_MA_THRESHOLD 611,29164 -#define IDETAPE_DSC_MA_SLOW 612,29222 -#define IDETAPE_DSC_MA_TIMEOUT 613,29275 -#define USE_IOTRACE 622,29479 -#define IO_IDETAPE_FIFO 625,29545 -#define SIMULATE_ERRORS 631,29619 - idetape_direction_none,637,29721 - idetape_direction_read,638,29746 - idetape_direction_write639,29771 -} idetape_chrdev_direction_t;idetape_chrdev_direction_t640,29796 -struct idetape_bh idetape_bh642,29827 -typedef struct idetape_packet_command_s idetape_packet_command_s652,29980 -} idetape_pc_t;idetape_pc_t667,30692 -#define PC_ABORT 673,30807 -#define PC_WAIT_FOR_DSC 675,30883 -#define PC_DMA_RECOMMENDED 677,30957 -#define PC_DMA_IN_PROGRESS 679,31017 -#define PC_DMA_ERROR 681,31091 -#define PC_WRITING 683,31137 -} idetape_capabilities_page_t;idetape_capabilities_page_t724,32877 -} idetape_block_size_page_t;idetape_block_size_page_t742,33289 -typedef struct idetape_stage_s idetape_stage_s747,33347 -} idetape_stage_t;idetape_stage_t751,33547 -} idetape_request_sense_result_t;idetape_request_sense_result_t776,34620 -} idetape_tape_t;idetape_tape_t1008,41429 -#define DOOR_UNLOCKED 1013,41475 -#define DOOR_LOCKED 1014,41501 -#define DOOR_EXPLICITLY_LOCKED 1015,41525 -#define IDETAPE_IGNORE_DSC 1020,41593 -#define IDETAPE_ADDRESS_VALID 1021,41623 -#define IDETAPE_BUSY 1022,41698 -#define IDETAPE_PIPELINE_ERROR 1023,41751 -#define IDETAPE_DETECT_BS 1024,41826 -#define IDETAPE_FILEMARK 1025,41912 -#define IDETAPE_DRQ_INTERRUPT 1026,41970 -#define IDETAPE_READ_ERROR 1027,42030 -#define IDETAPE_PIPELINE_ACTIVE 1028,42060 -#define IDETAPE_MEDIUM_PRESENT 1030,42180 -#define IDETAPE_TEST_UNIT_READY_CMD 1035,42269 -#define IDETAPE_REWIND_CMD 1036,42310 -#define IDETAPE_REQUEST_SENSE_CMD 1037,42343 -#define IDETAPE_READ_CMD 1038,42382 -#define IDETAPE_WRITE_CMD 1039,42413 -#define IDETAPE_WRITE_FILEMARK_CMD 1040,42445 -#define IDETAPE_SPACE_CMD 1041,42485 -#define IDETAPE_INQUIRY_CMD 1042,42517 -#define IDETAPE_ERASE_CMD 1043,42551 -#define IDETAPE_MODE_SENSE_CMD 1044,42583 -#define IDETAPE_MODE_SELECT_CMD 1045,42620 -#define IDETAPE_LOAD_UNLOAD_CMD 1046,42658 -#define IDETAPE_PREVENT_CMD 1047,42696 -#define IDETAPE_LOCATE_CMD 1048,42730 -#define IDETAPE_READ_POSITION_CMD 1049,42763 -#define IDETAPE_READ_BUFFER_CMD 1050,42802 -#define IDETAPE_SET_SPEED_CMD 1051,42840 -#define IDETAPE_RETRIEVE_FAULTY_BLOCK 1056,42928 -#define IDETAPE_SPACE_OVER_FILEMARK 1061,43014 -#define IDETAPE_SPACE_TO_EOD 1062,43052 -#define IDETAPE_LU_LOAD_MASK 1067,43136 -#define IDETAPE_LU_RETENSION_MASK 1068,43168 -#define IDETAPE_LU_EOT_MASK 1069,43204 - REQ_IDETAPE_PC1 1080,43471 - REQ_IDETAPE_PC2 1081,43536 - REQ_IDETAPE_READ 1082,43602 - REQ_IDETAPE_WRITE 1083,43632 - REQ_IDETAPE_READ_BUFFER 1084,43663 -#define IDETAPE_ERROR_GENERAL 1091,43796 -#define IDETAPE_ERROR_FILEMARK 1092,43831 -#define IDETAPE_ERROR_EOD 1093,43867 -} idetape_chrdev_t;idetape_chrdev_t1102,44103 -struct idetape_id_gcw idetape_id_gcw1108,44238 -} idetape_inquiry_result_t;idetape_inquiry_result_t1141,45642 -} idetape_read_position_result_t;idetape_read_position_result_t1159,46319 -#define IDETAPE_BLOCK_DESCRIPTOR 1166,46516 -#define IDETAPE_CAPABILITIES_PAGE 1167,46551 -#define IDETAPE_PARAMTR_PAGE 1168,46590 -#define IDETAPE_BLOCK_SIZE_PAGE 1169,46653 -#define IDETAPE_BUFFER_FILLING_PAGE 1170,46691 -} idetape_mode_parameter_header_t;idetape_mode_parameter_header_t1195,47490 -} idetape_parameter_block_descriptor_t;idetape_parameter_block_descriptor_t1207,47826 -} idetape_data_compression_page_t;idetape_data_compression_page_t1226,48543 -} idetape_medium_partition_page_t;idetape_medium_partition_page_t1245,49260 -} idetape_config_t;idetape_config_t1254,49429 -static idetape_chrdev_t idetape_chrdevs[1260,49597 -static void idetape_discard_data 1273,49964 -static void idetape_input_buffers 1279,50103 -static void idetape_output_buffers 1306,50832 -static void idetape_update_buffers 1334,51509 -static idetape_pc_t *idetape_next_pc_storage 1365,52368 -static struct request *idetape_next_rq_storage 1392,53372 -static void idetape_init_pc 1409,53830 -static void idetape_analyze_error 1426,54234 -static void idetape_active_next_stage 1495,56388 -static void idetape_increase_max_pipeline_stages 1526,57383 -static void __idetape_kfree_stage 1545,58002 -static void idetape_kfree_stage 1566,58402 -static void idetape_remove_stage_head 1575,58642 -static void idetape_abort_pipeline(1613,59817 -static int idetape_end_request(1641,60578 -static ide_startstop_t idetape_request_sense_callback 1709,62475 -static void idetape_create_request_sense_cmd 1727,63056 -static void idetape_init_rq(1736,63280 -static void idetape_queue_pc_head 1762,64354 -static ide_startstop_t idetape_retry_pc 1774,64742 -static void idetape_postpone_request 1795,65368 -static ide_startstop_t idetape_pc_intr 1815,66031 -static ide_startstop_t idetape_transfer_pc(2034,73678 -static ide_startstop_t idetape_issue_packet_command 2077,75068 -static ide_startstop_t idetape_pc_callback 2166,77917 -static void idetape_create_mode_sense_cmd 2182,78323 -static void calculate_speeds(2207,79146 -static ide_startstop_t idetape_media_access_finished 2256,81788 -static ide_startstop_t idetape_rw_callback 2282,82441 -static void idetape_create_read_cmd(2320,83628 -static void idetape_create_read_buffer_cmd(2335,84145 -static void idetape_create_write_cmd(2356,84691 -static ide_startstop_t idetape_do_request(2376,85346 -static inline int idetape_pipeline_active 2504,89359 -static idetape_stage_t *__idetape_kmalloc_stage 2525,90066 -static idetape_stage_t *idetape_kmalloc_stage 2585,91693 -static void idetape_copy_stage_from_user 2603,92150 -static void idetape_copy_stage_to_user 2630,92872 -static void idetape_init_merge_stage 2659,93539 -static void idetape_switch_buffers 2672,93842 -static void idetape_add_stage_tail 2685,94150 -static void idetape_wait_for_request 2715,95079 -static ide_startstop_t idetape_read_position_callback 2733,95613 -static void idetape_create_write_filemark_cmd 2781,97203 -static void idetape_create_test_unit_ready_cmd(2790,97479 -static int __idetape_queue_pc_tail 2817,98530 -static void idetape_create_load_unload_cmd 2826,98744 -static int idetape_wait_ready(2835,98992 -static int idetape_queue_pc_tail 2867,99943 -static int idetape_flush_tape_buffers 2872,100063 -static void idetape_create_read_position_cmd 2884,100318 -static int idetape_read_position 2892,100525 -static void idetape_create_locate_cmd 2910,100968 -static int idetape_create_prevent_cmd 2921,101321 -static int __idetape_discard_read_pipeline 2935,101630 -static int idetape_position_tape 2990,103237 -static void idetape_discard_read_pipeline 3008,103781 -static int idetape_queue_rw_tail(3029,104400 -static void idetape_insert_pipeline_into_queue 3065,105489 -static void idetape_create_inquiry_cmd 3078,105846 -static void idetape_create_rewind_cmd 3086,106042 -static void idetape_create_mode_select_cmd 3095,106261 -static void idetape_create_erase_cmd 3107,106586 -static void idetape_create_space_cmd 3116,106792 -static void idetape_wait_first_stage 3126,107076 -static int idetape_add_chrdev_write_request 3150,107905 -static void idetape_wait_for_pipeline 3224,110441 -static void idetape_empty_write_pipeline 3238,110876 -static void idetape_restart_speed_control 3312,113123 -static int idetape_initiate_read 3326,113767 -static int idetape_add_chrdev_read_request 3400,116133 -static void idetape_pad_zeros 3458,117936 -static int idetape_pipeline_size 3481,118549 -static int idetape_rewind_tape 3506,119171 -static int idetape_blkdev_ioctl(3535,119860 -static void idetape_pre_reset 3567,120765 -static int idetape_space_over_filemarks 3583,121331 -static ssize_t idetape_chrdev_read 3677,124402 -static ssize_t idetape_chrdev_write 3736,126395 -static int idetape_write_filemark 3827,129385 -static int idetape_mtioctop 3903,131635 -static int idetape_chrdev_ioctl 4040,135783 -static int idetape_chrdev_open 4099,137786 -static void idetape_write_release 4168,139732 -static int idetape_chrdev_release 4187,140295 -static int idetape_identify_device 4237,141752 -static void idetape_get_inquiry_results 4361,146282 -static void idetape_get_mode_sense_results 4391,147452 -static void idetape_get_blocksize_from_block_descriptor(4465,151547 -static void idetape_add_settings 4491,152596 -static void idetape_setup 4526,155211 -static int idetape_cleanup 4634,158931 -static int proc_idetape_read_name4661,159683 -static ide_proc_entry_t idetape_proc[4673,160013 -#define idetape_proc 4680,160152 -static ide_driver_t idetape_driver 4689,160292 -static struct file_operations idetape_fops 4708,160802 -static int idetape_open(4717,161041 -static int idetape_release(4724,161198 -static int idetape_ioctl(4731,161358 -static struct block_device_operations idetape_block_ops 4742,161696 -static int idetape_attach 4749,161863 -static void __exit idetape_exit 4804,163566 -static int idetape_init 4813,163755 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/setup-pci.c,1015 -static ide_hwif_t *ide_match_hwif(52,1390 -static int ide_setup_pci_baseregs 130,3808 -#define DEFAULT_BMIBA 167,4911 -#define DEFAULT_BMCRBA 168,4975 -#define DEFAULT_BMALIBA 169,5031 -static unsigned long ide_get_or_set_dma_base 181,5412 -void ide_setup_pci_noise 290,8432 -static int ide_pci_enable(310,8914 -static int ide_pci_configure(350,10019 -static int ide_pci_check_iomem(386,11150 -static ide_hwif_t *ide_hwif_configure(418,11995 -static void ide_hwif_setup_dma(490,13877 -static void ide_hwif_setup_dma(494,13978 -static int ide_setup_pci_controller(548,15451 -void ide_pci_setup_ports(600,16856 -static ata_index_t do_ide_setup_pci_device 689,19164 -static void probe_pci_hwif_init(757,21027 -void ide_setup_pci_device 761,21148 -void ide_setup_pci_devices 775,21553 -void ide_pci_remove_hwifs(809,22764 -static int pre_init 845,23275 -int ide_pci_register_driver(863,23831 -void ide_pci_unregister_driver(881,24244 -static int __init ide_scan_pcidev(900,24714 -void __init ide_scan_pcibus 933,25426 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-proc.c,1351 -static int do_proc_ide_write_config(77,2954 - struct entry entry86,3301 -static int proc_ide_write_config(261,7256 -static int proc_ide_read_config271,7501 -static int proc_ide_read_imodel320,8736 -static int proc_ide_read_mate358,9904 -static int proc_ide_read_channel374,10308 -static int proc_ide_read_identify393,10688 -static int proc_ide_read_settings426,11407 -#define MAX_LEN 469,12689 -static int do_proc_ide_write_settings(471,12709 -static int proc_ide_write_settings(566,14513 -int proc_ide_read_capacity577,14766 -int proc_ide_read_geometry597,15179 -static int proc_ide_read_dmodel624,15779 -static int proc_ide_read_driver646,16239 -static int proc_ide_read_media669,16697 -static ide_proc_entry_t generic_drive_entries[702,17350 -void ide_add_proc_entries(711,17762 -void ide_remove_proc_entries(728,18124 -static void create_proc_ide_drives(738,18306 -static void destroy_proc_ide_device(762,18908 -void destroy_proc_ide_drives(775,19284 -static ide_proc_entry_t hwif_entries[786,19485 -void create_proc_ide_interfaces(794,19818 -void ide_pci_create_host_proc(816,20271 -void destroy_proc_ide_interface(824,20458 -static void destroy_proc_ide_interfaces(841,20810 -static int ide_drivers_open(852,21025 -static struct file_operations ide_drivers_operations 856,21138 -void proc_ide_create(863,21295 -void proc_ide_destroy(877,21538 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/sis5513.c,1741 -#define DISPLAY_SIS_TIMINGS67,2315 -#define ATA_16 71,2413 -#define ATA_33 72,2434 -#define ATA_66 73,2455 -#define ATA_100a 74,2476 -#define ATA_100 75,2543 -#define ATA_133a 76,2565 -#define ATA_133 77,2615 -static u8 chipset_family;79,2652 -} SiSHostChipInfo[89,2793 -static u8 cycle_time_offset[122,4090 -static u8 cycle_time_range[123,4139 -static u8 cycle_time_value[124,4187 -static u8 cvs_time_value[136,4718 -static u8 ini_time_value[149,5126 -static u8 act_time_value[159,5323 -static u8 rco_time_value[169,5544 -static char* chipset_capability[184,5841 -static u8 sis_proc 195,6119 -static struct pci_dev *bmide_dev;197,6144 -static char* cable_type[199,6179 -static char* recovery_time[204,6236 -static char* active_time[215,6481 -static char* cycle_time[222,6617 -static char* get_drives_info 234,6860 -static char* get_masters_info(337,10507 -static char* get_slaves_info(342,10592 -static int sis_get_info 348,10727 -static u8 sis5513_ratemask 428,13240 -static void config_drive_art_rwp 442,13525 -static void config_art_rwp_pio 460,13945 -static int config_chipset_for_pio 546,16601 -static int sis5513_tune_chipset 554,16860 -static void sis5513_tune_drive 642,19713 -static int config_chipset_for_dma 650,19894 -static int sis5513_config_drive_xfer_rate 666,20238 -static int sis5513_config_xfer_rate 712,21558 -static unsigned int __init init_chipset_sis5513 749,22641 -static unsigned int __init ata66_sis5513 902,26834 -static void __init init_hwif_sis5513 920,27313 -static ide_pci_device_t sis5513_chipset __devinitdata 957,28058 -static int __devinit sis5513_init_one(967,28328 -static struct pci_device_id sis5513_pci_tbl[973,28481 -static struct pci_driver driver 980,28743 -static int sis5513_ide_init(986,28863 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cmd64x.c,1159 -static u8 cmd64x_proc 34,991 -#define CMD_MAX_DEVS 36,1019 -static struct pci_dev *cmd_devs[38,1044 -static int n_cmd_devs;39,1091 -static char * print_cmd64x_get_info 41,1115 -static int cmd64x_get_info 128,4857 -static u8 prefetch_regs[147,5300 -static u8 prefetch_masks[148,5366 -static void program_drive_counts 155,5609 -static void cmd64x_tuneproc 232,8293 -static u8 cmd64x_ratemask 301,10507 -static void config_cmd64x_chipset_for_pio 350,11673 -static void config_chipset_for_pio 361,11958 -static int cmd64x_tune_chipset 366,12083 -static int config_chipset_for_dma 420,14065 -static int cmd64x_config_drive_for_dma 438,14388 -static int cmd64x_alt_dma_status 481,15665 -static int cmd64x_ide_dma_end 493,15856 -static int cmd64x_ide_dma_test_irq 523,16766 -static int cmd646_1_ide_dma_end 552,17480 -static unsigned int __devinit init_chipset_cmd64x(572,18031 -static unsigned int __devinit ata66_cmd64x(660,20607 -static void __devinit init_hwif_cmd64x(675,20949 -static int __devinit cmd64x_init_one(730,22312 -static struct pci_device_id cmd64x_pci_tbl[736,22481 -static struct pci_driver driver 745,22901 -static int cmd64x_ide_init(751,23022 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/delkin_cb.c,303 -static const u8 setup[42,1378 -delkin_cb_probe 50,1627 -delkin_cb_remove 100,2930 -static struct pci_device_id delkin_cb_pci_tbl[109,3083 -static struct pci_device_id delkin_cb_pci_tbl[] __devinitdata 109,3083 -static struct pci_driver driver 115,3293 -delkin_cb_init 123,3479 -delkin_cb_exit 129,3552 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/sgiioc4.c,2071 -#define IOC4_CMD_OFFSET 42,1267 -#define IOC4_CTRL_OFFSET 43,1298 -#define IOC4_DMA_OFFSET 44,1329 -#define IOC4_INTR_OFFSET 45,1360 -#define IOC4_TIMING 47,1390 -#define IOC4_DMA_PTR_L 48,1416 -#define IOC4_DMA_PTR_H 49,1445 -#define IOC4_DMA_ADDR_L 50,1474 -#define IOC4_DMA_ADDR_H 51,1504 -#define IOC4_BC_DEV 52,1534 -#define IOC4_BC_MEM 53,1560 -#define IOC4_DMA_CTRL 54,1586 -#define IOC4_DMA_END_ADDR 55,1614 -#define IOC4_S_DMA_START 58,1693 -#define IOC4_S_DMA_STOP 59,1723 -#define IOC4_S_DMA_DIR 60,1753 -#define IOC4_S_DMA_ACTIVE 61,1782 -#define IOC4_S_DMA_ERROR 62,1813 -#define IOC4_ATA_MEMERR 63,1843 -#define IOC4_DMA_WRITE 66,1902 -#define IOC4_DMA_READ 67,1931 -#define IOC4_INTR_REG 70,1993 -#define IOC4_INTR_SET 71,2021 -#define IOC4_INTR_CLEAR 72,2049 -#define IOC4_IDE_CACHELINE_SIZE 74,2080 -#define IOC4_CMD_CTL_BLK_SIZE 75,2116 -#define IOC4_SUPPORTED_FIRMWARE_REV 76,2151 -} ioc4_dma_regs_t;ioc4_dma_regs_t88,2375 -#define IOC4_PRD_BYTES 92,2504 -#define IOC4_PRD_ENTRIES 93,2536 -sgiioc4_init_hwif_ports(97,2611 -sgiioc4_maskproc(115,3042 -sgiioc4_checkirq(124,3220 -sgiioc4_clearirq(137,3403 -sgiioc4_ide_dma_begin(196,5164 -sgiioc4_ide_dma_stop(208,5444 -sgiioc4_ide_dma_end(224,5785 -sgiioc4_ide_dma_check(283,7260 -sgiioc4_ide_dma_on(298,7592 -sgiioc4_ide_dma_off_quietly(306,7717 -sgiioc4_ide_dma_test_irq(315,7899 -sgiioc4_ide_dma_host_on(321,8000 -sgiioc4_ide_dma_host_off(330,8108 -sgiioc4_ide_dma_verbose(338,8208 -sgiioc4_ide_dma_lostirq(349,8358 -sgiioc4_resetproc(357,8487 -sgiioc4_INB(364,8596 -ide_dma_sgiioc4(386,9116 -sgiioc4_configure_for_dma(447,10772 -sgiioc4_build_dma_table(507,13016 -sgiioc4_ide_dma_read(578,14487 -sgiioc4_ide_dma_write(594,14839 -ide_init_sgiioc4(611,15198 -sgiioc4_ide_setup_pci_device(649,16713 -pci_init_sgiioc4(712,18454 -static ide_pci_device_t sgiioc4_chipsets[738,19194 -static ide_pci_device_t sgiioc4_chipsets[] __devinitdata 738,19194 -sgiioc4_init_one(752,19494 -static struct pci_device_id sgiioc4_pci_tbl[758,19640 -static struct pci_driver driver 765,19837 -sgiioc4_ide_init(772,19971 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/via82cxxx.c,1780 -#define DISPLAY_VIA_TIMINGS41,956 -#define VIA_IDE_ENABLE 43,985 -#define VIA_IDE_CONFIG 44,1014 -#define VIA_FIFO_CONFIG 45,1043 -#define VIA_MISC_1 46,1073 -#define VIA_MISC_2 47,1098 -#define VIA_MISC_3 48,1123 -#define VIA_DRIVE_TIMING 49,1148 -#define VIA_8BIT_TIMING 50,1178 -#define VIA_ADDRESS_SETUP 51,1208 -#define VIA_UDMA_TIMING 52,1239 -#define VIA_UDMA 54,1270 -#define VIA_UDMA_NONE 55,1294 -#define VIA_UDMA_33 56,1323 -#define VIA_UDMA_66 57,1350 -#define VIA_UDMA_100 58,1377 -#define VIA_UDMA_133 59,1405 -#define VIA_BAD_PREQ 60,1433 -#define VIA_BAD_CLK66 61,1500 -#define VIA_SET_FIFO 62,1571 -#define VIA_NO_UNMASK 63,1634 -#define VIA_BAD_ID 64,1704 -#define VIA_BAD_AST 65,1765 -static struct via_isa_bridge via_isa_bridge71,1866 -} via_isa_bridges[77,1957 -static struct via_isa_bridge *via_config;99,3505 -static unsigned int via_80w;100,3547 -static unsigned int via_clock;101,3576 -static char *via_dma[102,3607 -static u8 via_proc 113,3831 -static unsigned long via_base;114,3855 -static struct pci_dev *bmide_dev,115,3886 -static struct pci_dev *bmide_dev, *isa_dev;115,3886 -static char *via_control3[117,3931 -#define via_print(via_print119,3998 -#define via_print_drive(via_print_drive120,4070 -static int via_get_info(135,4516 -static void via_set_speed(288,9492 -static int via_set_drive(325,10865 -static void via82cxxx_tune_drive(371,12028 -static int via82cxxx_ide_dma_check 390,12459 -static unsigned int __init init_chipset_via82cxxx(417,13343 -static void __init init_hwif_via82cxxx(578,17120 -static ide_pci_device_t via82cxxx_chipset __devinitdata 611,17882 -static int __devinit via_init_one(621,18157 -static struct pci_device_id via_pci_tbl[627,18308 -static struct pci_driver driver 634,18574 -static int via_ide_init(640,18689 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/atiixp.c,1283 -#define ATIIXP_IDE_PIO_TIMING 22,448 -#define ATIIXP_IDE_MDMA_TIMING 23,484 -#define ATIIXP_IDE_PIO_CONTROL 24,521 -#define ATIIXP_IDE_PIO_MODE 25,558 -#define ATIIXP_IDE_UDMA_CONTROL 26,592 -#define ATIIXP_IDE_UDMA_MODE 27,630 -} atiixp_ide_timing;atiixp_ide_timing32,721 -static atiixp_ide_timing pio_timing[34,743 -static atiixp_ide_timing mdma_timing[42,874 -static int save_mdma_mode[48,972 -#define DISPLAY_ATIIXP_TIMINGS50,1003 -static u8 atiixp_proc;57,1151 -static struct pci_dev *bmide_dev;58,1174 -static int atiixp_get_info(70,1434 -static u8 atiixp_ratemask(153,4499 -static u8 atiixp_dma_2_pio(170,4838 -static int atiixp_ide_dma_host_on(199,5360 -static int atiixp_ide_dma_host_off(219,5836 -static void atiixp_tuneproc(244,6398 -static int atiixp_speedproc(278,7574 -static int atiixp_config_drive_for_dma(329,9109 -static int atiixp_dma_check(351,9703 -static unsigned int __devinit init_chipset_atiixp(408,11300 -static void __devinit init_hwif_atiixp(428,11830 -static ide_pci_device_t atiixp_pci_info[459,12573 -static ide_pci_device_t atiixp_pci_info[] __devinitdata 459,12573 -static int __devinit atiixp_init_one(480,13099 -static struct pci_device_id atiixp_pci_tbl[486,13268 -static struct pci_driver driver 492,13455 -static int atiixp_ide_init(498,13576 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/triflex.c,475 -static int triflex_tune_chipset(44,1341 -static void triflex_tune_drive(98,2478 -static int triflex_config_drive_for_dma(104,2662 -static int triflex_config_drive_xfer_rate(117,2974 -static void __init init_hwif_triflex(142,3562 -static ide_pci_device_t triflex_device __devinitdata 158,3959 -static int __devinit triflex_init_one(167,4191 -static struct pci_device_id triflex_pci_tbl[175,4347 -static struct pci_driver driver 182,4550 -static int triflex_ide_init(188,4674 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/pdc202xx_new.c,1294 -#define PDC202_DEBUG_CABLE 42,1110 -static u8 pdcnew_proc 48,1257 -#define PDC202_MAX_DEVS 49,1284 -static struct pci_dev *pdc202_devs[50,1311 -static int n_pdc202_devs;51,1364 -static char * pdcnew_info(53,1391 -static int pdcnew_get_info 81,2244 -static u8 pdcnew_ratemask 99,2685 -static int check_in_drive_lists 123,3187 -static int pdcnew_new_tune_chipset 143,3514 -static void pdcnew_tune_drive(189,5119 -static u8 pdcnew_new_cable_detect 199,5333 -static int config_chipset_for_dma 204,5483 -static int pdcnew_config_drive_xfer_rate 239,6429 -static int pdcnew_quirkproc 285,7702 -static int pdcnew_ide_dma_lostirq(290,7819 -static int pdcnew_ide_dma_timeout(297,7982 -static void pdcnew_new_reset 304,8145 -static void pdcnew_reset_host 313,8372 -void pdcnew_reset 328,8846 -static void __devinit apple_kiwi_init(370,9719 -static unsigned int __devinit init_chipset_pdcnew(407,10619 -static void __devinit init_hwif_pdc202new(432,11308 -static void __devinit init_setup_pdcnew(460,12156 -static void __devinit init_setup_pdc20270(465,12274 -static void __devinit init_setup_pdc20276(491,12970 -static int __devinit pdc202new_init_one(513,13653 -static struct pci_device_id pdc202new_pci_tbl[521,13845 -static struct pci_driver driver 533,14578 -static int pdc202new_ide_init(539,14706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/generic.c,457 -static int ide_generic_all;44,1507 -static int __init ide_generic_all_on(46,1568 -static unsigned int __init init_chipset_generic 55,1794 -static void __init init_hwif_generic 60,1898 -static int __devinit generic_init_one(106,2877 -static void __devexit generic_remove_one(135,3718 -static struct pci_device_id generic_pci_tbl[140,3813 -static struct pci_driver driver 162,5376 -static int generic_ide_init(169,5528 -static void generic_ide_exit(176,5641 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/trm290.c,620 -#define TRM290_NO_DMA_WRITES 33,1185 -static void trm290_prepare_drive 147,5435 -static void trm290_selectproc 176,6091 -static int trm290_ide_dma_write 182,6224 -static int trm290_ide_dma_read 233,7650 -static int trm290_ide_dma_begin 277,8916 -static int trm290_ide_dma_end 282,8985 -static int trm290_ide_dma_test_irq 294,9244 -void __devinit init_hwif_trm290(307,9505 -static ide_pci_device_t trm290_chipset __devinitdata 391,12106 -static int __devinit trm290_init_one(399,12281 -static struct pci_device_id trm290_pci_tbl[405,12432 -static struct pci_driver driver 411,12623 -static int trm290_ide_init(417,12744 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/serverworks.c,1261 -static u8 svwks_revision 44,1174 -static struct pci_dev *isa_dev;45,1204 -static u8 svwks_proc 51,1351 -#define SVWKS_MAX_DEVS 52,1377 -static struct pci_dev *svwks_devs[53,1403 -static int n_svwks_devs;54,1454 -static int svwks_get_info 56,1480 -static int check_in_drive_lists 205,6599 -static u8 svwks_ratemask 213,6757 -static u8 svwks_csb_check 253,7916 -static int svwks_tune_chipset 265,8167 -static void config_chipset_for_pio 401,12284 -static void svwks_tune_drive 439,13309 -static int config_chipset_for_dma 447,13491 -static int svwks_config_drive_xfer_rate 458,13765 -static int svwks_ide_dma_end 508,15149 -static unsigned int __init init_chipset_svwks 513,15234 -static unsigned int __init ata66_svwks_svwks 624,18539 -static unsigned int __init ata66_svwks_dell 636,19003 -static unsigned int __init ata66_svwks_cobalt 654,19646 -static unsigned int __init ata66_svwks 665,19995 -static void __init init_hwif_svwks 690,20639 -static void __init init_dma_svwks 738,21849 -static void __init init_setup_svwks 750,22191 -static void __init init_setup_csb6 755,22306 -static int __devinit svwks_init_one(785,23100 -static struct pci_device_id svwks_pci_tbl[793,23293 -static struct pci_driver driver 802,23792 -static int svwks_ide_init(808,23916 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cmd64x.h,1222 -#define CMD64X_H2,17 -#define DISPLAY_CMD64X_TIMINGS8,108 -#define CMD_DEBUG 10,140 -#define cmdprintk(cmdprintk13,175 -#define cmdprintk(cmdprintk15,215 -#define CFR 21,295 -#define CFR_INTR_CH0 22,313 -#define CNTRL 23,342 -#define CNTRL_DIS_RA0 24,362 -#define CNTRL_DIS_RA1 25,392 -#define CNTRL_ENA_2ND 26,422 -#define CMDTIM 28,453 -#define ARTTIM0 29,474 -#define DRWTIM0 30,496 -#define ARTTIM1 31,518 -#define DRWTIM1 32,540 -#define ARTTIM23 33,562 -#define ARTTIM23_DIS_RA2 34,584 -#define ARTTIM23_DIS_RA3 35,616 -#define ARTTIM23_INTR_CH1 36,648 -#define ARTTIM2 37,681 -#define ARTTIM3 38,703 -#define DRWTIM23 39,725 -#define DRWTIM2 40,747 -#define BRST 41,769 -#define DRWTIM3 42,788 -#define BMIDECR0 44,811 -#define MRDMODE 45,833 -#define MRDMODE_INTR_CH0 46,855 -#define MRDMODE_INTR_CH1 47,887 -#define MRDMODE_BLK_CH0 48,919 -#define MRDMODE_BLK_CH1 49,950 -#define BMIDESR0 50,981 -#define UDIDETCR0 51,1003 -#define DTPR0 52,1026 -#define BMIDECR1 53,1046 -#define BMIDECSR 54,1068 -#define BMIDESR1 55,1090 -#define UDIDETCR1 56,1112 -#define DTPR1 57,1135 -static ide_pci_device_t cmd64x_chipsets[62,1274 -static ide_pci_device_t cmd64x_chipsets[] __devinitdata 62,1274 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/piix.h,251 -#define PIIX_H2,15 -#define PIIX_DEBUG_DRIVE_INFO 8,104 -#define DISPLAY_PIIX_TIMINGS10,138 -#define DECLARE_PIIX_DEV(DECLARE_PIIX_DEV16,359 -static ide_pci_device_t piix_pci_info[33,729 -static ide_pci_device_t piix_pci_info[] __devinitdata 33,729 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/hpt34x.c,577 -static u8 hpt34x_ratemask 47,1284 -static void hpt34x_clear_chipset 52,1347 -static int hpt34x_tune_chipset 65,1772 -static void hpt34x_tune_drive 99,2757 -static int config_chipset_for_dma 113,3231 -static int hpt34x_config_drive_xfer_rate 125,3482 -#define HPT34X_PCI_INIT_REG 177,4903 -static unsigned int __devinit init_chipset_hpt34x(179,4938 -static void __devinit init_hwif_hpt34x(224,6314 -static int __devinit hpt34x_init_one(252,6962 -static struct pci_device_id hpt34x_pci_tbl[267,7418 -static struct pci_driver driver 273,7604 -static int hpt34x_ide_init(279,7725 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/aec62xx.c,1044 -static u8 aec62xx_proc 25,498 -#define AEC_MAX_DEVS 27,527 -static struct pci_dev *aec_devs[29,552 -static int n_aec_devs;30,599 -static int aec62xx_get_info 32,623 -static u8 pci_bus_clock_list 139,4211 -static u8 pci_bus_clock_list_ultra 148,4495 -static u8 aec62xx_ratemask 157,4781 -static int aec6210_tune_chipset 187,5411 -static int aec6260_tune_chipset 216,6427 -static int aec62xx_tune_chipset 241,7390 -static int config_chipset_for_dma 256,7814 -static void aec62xx_tune_drive 267,8038 -static int aec62xx_config_drive_xfer_rate 283,8477 -static int aec62xx_irq_timeout 326,9702 -static unsigned int __devinit init_chipset_aec62xx(369,10774 -static void __devinit init_hwif_aec62xx(395,11567 -static void __devinit init_dma_aec62xx(428,12370 -static void __devinit init_setup_aec62xx(450,13001 -static void __devinit init_setup_aec6x80(455,13120 -static int __devinit aec62xx_init_one(481,13799 -static struct pci_device_id aec62xx_pci_tbl[489,13990 -static struct pci_driver driver 499,14541 -static int aec62xx_ide_init(505,14665 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/adma100.c,37 -void __init ide_init_adma100 19,481 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/serverworks.h,300 -#define SERVERWORKS_H3,23 -#define SVWKS_CSB5_REVISION_NEW 11,150 -#define SVWKS_CSB6_REVISION 12,230 -const char *svwks_bad_ata100[16,418 -#define DISPLAY_SVWKS_TIMINGS 24,519 -static ide_pci_device_t serverworks_chipsets[32,860 -static ide_pci_device_t serverworks_chipsets[] __devinitdata 32,860 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cs5530.c,761 -#define DISPLAY_CS5530_TIMINGS34,883 -static u8 cs5530_proc 40,1030 -static struct pci_dev *bmide_dev;42,1058 -static int cs5530_get_info 44,1093 -static int cs5530_set_xfer_mode 93,2470 -static unsigned int cs5530_pio_timings[105,2903 -#define CS5530_BAD_PIO(CS5530_BAD_PIO113,3168 -#define CS5530_BASEREG(CS5530_BASEREG114,3238 -static void cs5530_tuneproc 126,3609 -static int cs5530_config_dma 150,4387 -static unsigned int __init init_chipset_cs5530 270,8035 -static void __init init_hwif_cs5530 369,10670 -static ide_pci_device_t cs5530_chipset __devinitdata 407,11696 -static int __devinit cs5530_init_one(417,11944 -static struct pci_device_id cs5530_pci_tbl[423,12095 -static struct pci_driver driver 429,12287 -static int cs5530_ide_init(435,12408 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/opti621.h,137 -#define OPTI621_H2,18 -static ide_pci_device_t opti621_chipsets[11,226 -static ide_pci_device_t opti621_chipsets[] __devinitdata 11,226 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cmd640.c,2620 -#define CMD640_PREFETCH_MASKS 102,4504 -int cmd640_vlb 123,4931 -#define VID 129,5001 -#define DID 130,5019 -#define PCMD 131,5037 -#define PCMD_ENA 132,5056 -#define PSTTS 133,5080 -#define REVID 134,5100 -#define PROGIF 135,5120 -#define SUBCL 136,5141 -#define BASCL 137,5161 -#define BaseA0 138,5181 -#define BaseA1 139,5202 -#define BaseA2 140,5223 -#define BaseA3 141,5244 -#define INTLINE 142,5265 -#define INPINE 143,5287 -#define CFR 145,5309 -#define CFR_DEVREV 146,5327 -#define CFR_IDE01INTR 147,5354 -#define CFR_DEVID 148,5384 -#define CFR_AT_VESA_078h 149,5410 -#define CFR_DSA1 150,5442 -#define CFR_DSA0 151,5467 -#define CNTRL 153,5493 -#define CNTRL_DIS_RA0 154,5513 -#define CNTRL_DIS_RA1 155,5543 -#define CNTRL_ENA_2ND 156,5573 -#define CMDTIM 158,5604 -#define ARTTIM0 159,5625 -#define DRWTIM0 160,5647 -#define ARTTIM1 161,5669 -#define DRWTIM1 162,5691 -#define ARTTIM23 163,5713 -#define ARTTIM23_DIS_RA2 164,5735 -#define ARTTIM23_DIS_RA3 165,5767 -#define DRWTIM23 166,5799 -#define BRST 167,5821 -static u8 prefetch_regs[172,5903 -static u8 prefetch_masks[173,5969 -static u8 arttim_regs[177,6107 -static u8 drwtim_regs[178,6174 -static u8 setup_counts[184,6356 -static u8 active_counts[185,6443 -static u8 recovery_counts[186,6523 -static ide_hwif_t *cmd_hwif0,193,6716 -static ide_hwif_t *cmd_hwif0, *cmd_hwif1;193,6716 -static ide_drive_t *cmd_drives[194,6759 -static unsigned int cmd640_key;199,6843 -static unsigned int cmd640_chip_version;206,7038 -static void put_cmd640_reg_pci1 216,7293 -static u8 get_cmd640_reg_pci1 222,7424 -static void put_cmd640_reg_pci2 230,7594 -static u8 get_cmd640_reg_pci2 237,7722 -static void put_cmd640_reg_vlb 249,7875 -static u8 get_cmd640_reg_vlb 255,7985 -static u8 get_cmd640_reg(261,8086 -static void put_cmd640_reg(272,8275 -static int __init match_pci_cmd640_device 281,8456 -static int __init probe_for_cmd640_pci1 301,8930 -static int __init probe_for_cmd640_pci2 317,9274 -static int __init probe_for_cmd640_vlb 331,9589 -static int __init secondary_port_responding 352,10067 -static void cmd640_dump_regs 376,10704 -static void __init check_prefetch 395,11134 -static void __init setup_device_ptrs 416,11575 -static void set_prefetch_mode 442,12301 -static void display_clocks 471,12989 -inline static u8 pack_nibbles 490,13528 -static void __init retrieve_drive_counts 498,13709 -static void program_drive_counts 527,14395 -static void cmd640_set_mode 581,16076 -static void cmd640_tune_drive 636,17913 -static int pci_conf1(681,19077 -static int pci_conf2(700,19430 -int __init ide_probe_for_cmd640x 719,19830 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/aec62xx.h,481 -#define AEC62XX_H2,18 -#define DISPLAY_AEC62XX_TIMINGS8,110 -struct chipset_bus_clock_list_entry chipset_bus_clock_list_entry10,143 -struct chipset_bus_clock_list_entry aec6xxx_33_base 16,252 -struct chipset_bus_clock_list_entry aec6xxx_34_base 36,787 -#define SPLIT_BYTE(SPLIT_BYTE57,1341 -#define MAKE_WORD(MAKE_WORD60,1426 -#define BUSCLOCK(BUSCLOCK63,1480 -static ide_pci_device_t aec62xx_chipsets[72,1886 -static ide_pci_device_t aec62xx_chipsets[] __devinitdata 72,1886 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/pdc202xx_old.c,1585 -#define PDC202_DEBUG_CABLE 51,1434 -static u8 pdc202xx_proc 57,1581 -#define PDC202_MAX_DEVS 58,1610 -static struct pci_dev *pdc202_devs[59,1637 -static int n_pdc202_devs;60,1690 -static char * pdc202xx_info 62,1717 -static int pdc202xx_get_info 176,6065 -static u8 pdc202xx_ratemask 194,6510 -static int check_in_drive_lists 217,6955 -static int pdc202xx_tune_chipset 237,7282 -static void config_chipset_for_pio 336,10632 -static u8 pdc202xx_old_cable_detect 346,10856 -static void pdc_old_enable_66MHz_clock(360,11263 -static void pdc_old_disable_66MHz_clock(368,11475 -static int config_chipset_for_dma 376,11689 -static int pdc202xx_config_drive_xfer_rate 446,13723 -static int pdc202xx_quirkproc 492,14998 -static int pdc202xx_old_ide_dma_begin(497,15117 -static int pdc202xx_old_ide_dma_end(521,15925 -static int pdc202xx_old_ide_dma_test_irq(539,16518 -static int pdc202xx_ide_dma_lostirq(563,17190 -static int pdc202xx_ide_dma_timeout(570,17355 -static void pdc202xx_reset_host 577,17520 -void pdc202xx_reset 596,18158 -static int pdc202xx_tristate 642,19203 -static unsigned int __devinit init_chipset_pdc202xx(662,19641 -static void __devinit init_hwif_pdc202xx(707,21181 -static void __devinit init_dma_pdc202xx(754,22622 -static void __devinit init_setup_pdc202ata4(806,24224 -static void __devinit init_setup_pdc20265(836,25191 -static void __devinit init_setup_pdc202xx(865,26071 -static int __devinit pdc202xx_init_one(879,26436 -static struct pci_device_id pdc202xx_pci_tbl[887,26629 -static struct pci_driver driver 897,27182 -static int pdc202xx_ide_init(903,27312 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/adma100.h,138 -#define ADMA_100_H2,19 -static ide_pci_device_t pdcadma_chipsets[13,361 -static ide_pci_device_t pdcadma_chipsets[] __devinitdata 13,361 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/pdc202xx_new.h,359 -#define PDC202XX_H2,19 -const static char *pdc_quirk_drives[8,112 -#define set_2regs(set_2regs20,394 -#define set_ultra(set_ultra26,517 -#define set_ata2(set_ata233,656 -#define set_pio(set_pio39,765 -#define DISPLAY_PDC202XX_TIMINGS46,903 -static ide_pci_device_t pdcnew_chipsets[54,1273 -static ide_pci_device_t pdcnew_chipsets[] __devinitdata 54,1273 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/siimage.c,1699 -static int pdev_is_sata(45,1126 -static inline int is_sata(66,1470 -static unsigned long siimage_selreg(82,1871 -static inline unsigned long siimage_seldev(103,2387 -static byte siimage_ratemask 126,3051 -static byte siimage_taskfile_timing 166,3875 -static void siimage_tuneproc 197,4567 -static void config_siimage_chipset_for_pio 269,6388 -static void config_chipset_for_pio 284,6894 -static int siimage_tune_chipset 299,7303 -static int config_chipset_for_dma 389,9811 -static int siimage_config_drive_for_dma 417,10452 -static int siimage_io_ide_dma_test_irq 462,11761 -static int siimage_mmio_ide_dma_count 489,12414 -static int siimage_mmio_ide_dma_test_irq 517,13171 -static int siimage_mmio_ide_dma_verbose 557,14141 -static int siimage_busproc 573,14539 -static int siimage_reset_poll 612,15503 -static void siimage_pre_reset 637,16040 -static void siimage_reset 657,16433 -static void proc_reports_siimage 701,17540 -static unsigned int setup_mmio_siimage 725,18245 -static unsigned int __devinit init_chipset_siimage(815,20355 -static void __devinit init_mmio_iops_siimage(881,22343 -static int is_dev_seagate_sata(969,24738 -static void siimage_fixup(999,25446 -static void __devinit init_iops_siimage(1015,25903 -static unsigned int __devinit ata66_siimage(1041,26428 -static void __devinit init_hwif_siimage(1062,26985 -#define DECLARE_SII_DEV(DECLARE_SII_DEV1109,28073 -static ide_pci_device_t siimage_chipsets[1121,28365 -static ide_pci_device_t siimage_chipsets[] __devinitdata 1121,28365 -static int __devinit siimage_init_one(1136,28805 -static struct pci_device_id siimage_pci_tbl[1142,28976 -static struct pci_driver driver 1152,29362 -static int siimage_ide_init(1158,29482 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/amd74xx.c,1799 -#define DISPLAY_AMD_TIMINGS31,652 -#define AMD_IDE_ENABLE 33,681 -#define AMD_IDE_CONFIG 34,731 -#define AMD_CABLE_DETECT 35,781 -#define AMD_DRIVE_TIMING 36,832 -#define AMD_8BIT_TIMING 37,883 -#define AMD_ADDRESS_SETUP 38,934 -#define AMD_UDMA_TIMING 39,986 -#define AMD_UDMA 41,1038 -#define AMD_UDMA_33 42,1061 -#define AMD_UDMA_66 43,1087 -#define AMD_UDMA_100 44,1113 -#define AMD_UDMA_133 45,1140 -#define AMD_CHECK_SWDMA 46,1167 -#define AMD_BAD_SWDMA 47,1197 -#define AMD_BAD_FIFO 48,1225 -#define AMD_CHECK_SERENADE 49,1252 -static struct amd_ide_chip amd_ide_chip55,1319 -} amd_ide_chips[59,1411 -static struct amd_ide_chip *amd_config;78,2397 -static ide_pci_device_t *amd_chipset;79,2437 -static unsigned int amd_80w;80,2475 -static unsigned int amd_clock;81,2504 -static char *amd_dma[83,2536 -static unsigned char amd_cyc2udma[84,2618 -static u8 amd74xx_proc;95,2812 -static unsigned char amd_udma2cyc[97,2837 -static unsigned long amd_base;98,2905 -static struct pci_dev *bmide_dev;99,2936 -#define amd_print(amd_print102,3053 -#define amd_print_drive(amd_print_drive103,3125 -static int amd74xx_get_info(106,3277 -static void amd_set_speed(203,7049 -static int amd_set_drive(234,8324 -static void amd74xx_tune_drive(272,9355 -static int amd74xx_ide_dma_check(288,9764 -static unsigned int __init init_chipset_amd74xx(311,10548 -static void __init init_hwif_amd74xx(415,13208 -#define DECLARE_AMD_DEV(DECLARE_AMD_DEV451,14049 -#define DECLARE_NV_DEV(DECLARE_NV_DEV462,14348 -static ide_pci_device_t amd74xx_chipsets[473,14646 -static ide_pci_device_t amd74xx_chipsets[] __devinitdata 473,14646 -static int __devinit amd74xx_probe(492,15325 -static struct pci_device_id amd74xx_pci_tbl[501,15611 -static struct pci_driver driver 525,17203 -static int amd74xx_ide_init(531,17320 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/piix.c,882 -static int no_piix_dma;108,3477 -static u8 piix_proc 113,3614 -#define PIIX_MAX_DEVS 114,3639 -static struct pci_dev *piix_devs[115,3664 -static int n_piix_devs;116,3713 -static int piix_get_info 129,4038 -static u8 piix_ratemask 276,8689 -static u8 piix_dma_2_pio 335,10202 -static void piix_tune_drive 372,10983 -static int piix_tune_chipset 423,12609 -static int piix_faulty_dma0(506,15217 -static int piix_config_drive_for_dma 528,15804 -static int piix_config_drive_xfer_rate 556,16568 -static unsigned int __devinit init_chipset_piix 605,17809 -static void __devinit init_hwif_piix(649,19014 -static void __devinit init_setup_piix(719,20750 -static int __devinit piix_init_one(733,21099 -static void __devinit piix_check_450nx(748,21455 -static struct pci_device_id piix_pci_tbl[772,22250 -static struct pci_driver driver 800,24263 -static int __init piix_ide_init(806,24378 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/slc90e66.c,778 -#define DISPLAY_SLC90E66_TIMINGS24,531 -static u8 slc90e66_proc 30,682 -static struct pci_dev *bmide_dev;31,711 -static int slc90e66_get_info 33,746 -static u8 slc90e66_ratemask 121,3550 -static u8 slc90e66_dma_2_pio 130,3693 -static void slc90e66_tune_drive 161,4297 -static int slc90e66_tune_chipset 202,5622 -static int slc90e66_config_drive_for_dma 256,7381 -static int slc90e66_config_drive_xfer_rate 269,7715 -static unsigned int __init init_chipset_slc90e66 316,9025 -static void __init init_hwif_slc90e66 328,9376 -static ide_pci_device_t slc90e66_chipset __devinitdata 367,10277 -static int __devinit slc90e66_init_one(377,10549 -static struct pci_device_id slc90e66_pci_tbl[383,10704 -static struct pci_driver driver 389,10900 -static int slc90e66_ide_init(395,11027 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/sl82c105.c,1269 -#define DBG(DBG35,756 -#define DBG(DBG37,790 -#define CTRL_IDE_IRQB 42,868 -#define CTRL_IDE_IRQA 43,902 -#define CTRL_LEGIRQ 44,936 -#define CTRL_P1F16 45,970 -#define CTRL_P1EN 46,1003 -#define CTRL_P0F16 47,1036 -#define CTRL_P0EN 48,1069 -static unsigned int get_timing_sl82c105(55,1248 -static void config_for_pio(79,1735 -static int config_for_dma 120,2863 -static int sl82c105_check_drive 143,3328 -static inline void sl82c105_reset_host(183,4325 -static int sl82c105_ide_dma_lost_irq(199,4823 -static int sl82c105_ide_dma_begin(239,5911 -static int sl82c105_ide_dma_timeout(250,6163 -static int sl82c105_ide_dma_on 261,6419 -static int sl82c105_ide_dma_off_quietly 273,6732 -static void sl82c105_selectproc(296,7364 -static void sl82c105_resetproc(320,7928 -static void tune_sl82c105(336,8329 -static unsigned int sl82c105_bridge_revision(354,8708 -static unsigned int __init init_chipset_sl82c105(391,9665 -static void __init init_dma_sl82c105(404,9952 -static void __init init_hwif_sl82c105(436,10606 -static ide_pci_device_t sl82c105_chipset __devinitdata 482,11896 -static int __devinit sl82c105_init_one(493,12201 -static struct pci_device_id sl82c105_pci_tbl[499,12356 -static struct pci_driver driver 505,12554 -static int sl82c105_ide_init(511,12680 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/it8172.c,536 -static u8 it8172_ratemask 50,1792 -static void it8172_tune_drive 55,1855 -static u8 it8172_dma_2_pio 100,3184 -static int it8172_tune_chipset 129,3687 -static int it8172_config_chipset_for_dma 183,5389 -static int it8172_config_drive_xfer_rate 196,5717 -static unsigned int __init init_chipset_it8172 241,6992 -static void __init init_hwif_it8172 255,7317 -static int __devinit it8172_init_one(289,8161 -static struct pci_device_id it8172_pci_tbl[298,8516 -static struct pci_driver driver 304,8703 -static int it8172_ide_init(310,8824 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/generic.h,257 -#define IDE_GENERIC_H2,22 -static ide_pci_device_t generic_chipsets[11,238 -static ide_pci_device_t generic_chipsets[] __devinitdata 11,238 -static ide_pci_device_t unknown_chipset[115,2809 -static ide_pci_device_t unknown_chipset[] __devinitdata 115,2809 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/it8212.c,1359 -struct it8212_devit8212_dev73,2950 -#define ATA_66 86,3393 -#define ATA_50 87,3411 -#define ATA_ANY 88,3429 -#define UDMA_OFF 90,3449 -#define MWDMA_OFF 91,3468 -static int it8212_noraid;100,3711 -static void it8212_program(110,3911 -static void it8212_program_udma(133,4455 -static void it8212_clock_strategy(163,5209 -static byte it8212_ratemask 232,6904 -static void it8212_tuneproc 253,7426 -static void it8212_tune_mwdma 285,8460 -static void it8212_tune_udma 323,9606 -static void config_it8212_chipset_for_pio 364,10863 -static void config_chipset_for_pio 388,11626 -static int it8212_dma_begin(406,12178 -static int it8212_dma_end(427,12783 -static int it8212_tune_chipset 449,13360 -static int config_chipset_for_dma 500,14649 -static int it8212_config_drive_for_dma 528,15286 -static unsigned int __devinit init_chipset_it8212(580,16694 -static unsigned int __devinit ata66_it8212(594,17029 -static void __devinit it8212_fixups(609,17416 -static void __devinit init_hwif_it8212(690,19512 -#define DECLARE_ITE_DEV(DECLARE_ITE_DEV796,22291 -static ide_pci_device_t it8212_chipsets[807,22546 -static ide_pci_device_t it8212_chipsets[] __devinitdata 807,22546 -static int __devinit it8212_init_one(820,22880 -static struct pci_device_id it8212_pci_tbl[826,23049 -static struct pci_driver driver 833,23235 -static int __init it8212_ide_init(839,23357 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/pdc202xx_old.h,1084 -#define PDC202XX_H2,19 -#define SPLIT_BYTE(SPLIT_BYTE9,131 -#define PDC202XX_DEBUG_DRIVE_INFO 12,199 -static const char *pdc_quirk_drives[14,237 -static inline u8 *pdc202xx_pio_verbose 26,519 -static inline u8 *pdc202xx_dma_verbose 37,970 -static inline u8 *pdc202xx_ultra_verbose 48,1433 -#define SYNC_ERRDY_EN 62,1882 -#define SYNC_IN 64,1910 -#define ERRDY_EN 65,1989 -#define IORDY_EN 66,2068 -#define PREFETCH_EN 67,2109 -#define PA3 69,2155 -#define PA2 70,2193 -#define PA1 71,2231 -#define PA0 72,2269 -#define MB2 76,2326 -#define MB1 77,2364 -#define MB0 78,2402 -#define PB4 80,2441 -#define PB3 82,2480 -#define PB2 83,2546 -#define PB1 84,2596 -#define PB0 85,2651 -#define IORDYp_NO_SPEED 88,2730 -#define SPEED_DIS 89,2759 -#define DMARQp 91,2783 -#define IORDYp 92,2804 -#define DMAR_EN 93,2825 -#define DMAW_EN 94,2847 -#define MC3 96,2870 -#define MC2 97,2908 -#define MC1 98,2946 -#define MC0 99,2984 -#define DISPLAY_PDC202XX_TIMINGS101,3023 -static ide_pci_device_t pdc202xx_chipsets[110,3458 -static ide_pci_device_t pdc202xx_chipsets[] __devinitdata 110,3458 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cs5520.c,903 -#define DISPLAY_CS5520_TIMINGS54,1762 -static u8 cs5520_proc 60,1909 -static struct pci_dev *bmide_dev;61,1936 -static int cs5520_get_info(63,1971 -struct pio_clockspio_clocks105,3078 -struct pio_clocks cs5520_pio_clocks[112,3144 -static int cs5520_tune_chipset(120,3248 -static void cs5520_tune_drive(176,4752 -static int cs5520_config_drive_xfer_rate(182,4915 -static unsigned int __devinit init_chipset_cs5520(193,5178 -static void __devinit cs5520_init_setup_dma(209,5583 -static int cs5520_dma_on(223,6042 -static void __devinit init_hwif_cs5520(229,6121 -#define DECLARE_CS_DEV(DECLARE_CS_DEV255,6673 -static ide_pci_device_t cyrix_chipsets[267,6987 -static ide_pci_device_t cyrix_chipsets[] __devinitdata 267,6987 -static int __devinit cs5520_init_one(278,7286 -static struct pci_device_id cs5520_pci_tbl[315,8266 -static struct pci_driver driver 322,8538 -static int cs5520_ide_init(328,8658 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/hpt34x.h,211 -#define HPT34X_H2,17 -#define HPT343_DEBUG_DRIVE_INFO 8,108 -#define SPLIT_BYTE(SPLIT_BYTE11,163 -static ide_pci_device_t hpt34x_chipsets[17,349 -static ide_pci_device_t hpt34x_chipsets[] __devinitdata 17,349 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/hpt366.c,2026 -static u8 hpt366_proc 90,3108 -static struct pci_dev *hpt_devs[91,3135 -static int n_hpt_devs;92,3185 -static int hpt366_get_info 94,3209 -static u32 hpt_revision 186,6063 -static u32 hpt_minimum_revision 210,6716 -static u8 hpt3xx_ratemask 219,6968 -static u8 hpt3xx_ratefilter 250,8011 -static int check_in_drive_lists 301,9282 -static unsigned int pci_bus_clock_list 317,9579 -static int hpt36x_tune_chipset(325,9867 -static int hpt370_tune_chipset(366,11055 -static int hpt372_tune_chipset(412,12416 -static int hpt3xx_tune_chipset 442,13533 -static void hpt3xx_tune_drive 462,14170 -static int config_chipset_for_dma 479,14751 -static int hpt3xx_quirkproc 494,15091 -static void hpt3xx_intrproc 499,15204 -static void hpt3xx_maskproc 509,15436 -static int hpt366_config_drive_xfer_rate 534,16037 -static int hpt366_ide_dma_lostirq 582,17346 -static void hpt370_clear_engine 606,18104 -static int hpt370_ide_dma_begin 613,18288 -static int hpt370_ide_dma_end 621,18444 -static void hpt370_lostirq_timeout 638,18811 -static int hpt370_ide_dma_timeout 656,19378 -static int hpt370_ide_dma_lostirq 663,19533 -static int hpt374_ide_dma_test_irq(671,19735 -static int hpt374_ide_dma_end 695,20302 -static void hpt372n_set_clock(718,20997 -static ide_startstop_t hpt372n_rw_disk(755,21893 -static void hpt3xx_reset 778,22451 -static int hpt3xx_tristate 791,22838 -#define TRISTATE_BIT 823,23749 -static int hpt370_busproc(824,23778 -static int __devinit init_hpt37x(881,25290 -static int __devinit init_hpt366(1068,30608 -static unsigned int __devinit init_chipset_hpt366(1103,31395 -static void __devinit init_hwif_hpt366(1149,32601 -static void __devinit init_dma_hpt366(1276,36338 -static void __devinit init_setup_hpt374(1311,37155 -static void __devinit init_setup_hpt37x(1336,37856 -static void __devinit init_setup_hpt366(1341,37974 -static int __devinit hpt366_init_one(1403,39521 -static struct pci_device_id hpt366_pci_tbl[1411,39710 -static struct pci_driver driver 1422,40307 -static int hpt366_ide_init(1428,40428 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cy82c693.c,572 -static int calc_clk 63,2444 -static void compute_clocks 86,2883 -static void cy82c693_dma_enable 129,4034 -int cy82c693_ide_dma_on 186,5773 -static void cy82c693_tune_drive 219,6535 -static unsigned int __init init_chipset_cy82c693(337,10159 -static void __init init_hwif_cy82c693(389,11559 -static __initdata ide_hwif_t *primary;413,12054 -void __init init_iops_cy82c693(415,12094 -static int __devinit cy82c693_init_one(425,12264 -static struct pci_device_id cy82c693_pci_tbl[440,12763 -static struct pci_driver driver 446,12959 -static int cy82c693_ide_init(452,13085 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/it8172.h,136 -#define ITE8172G_H2,19 -static ide_pci_device_t it8172_chipsets[21,671 -static ide_pci_device_t it8172_chipsets[] __devinitdata 21,671 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/hpt366.h,1900 -#define HPT366_H2,17 -#define DISPLAY_HPT366_TIMINGS8,108 -#define HPT_RESET_STATE_ENGINE11,172 -const char *quirk_drives[15,255 -const char *bad_ata100_5[23,418 -const char *bad_ata66_4[42,762 -const char *bad_ata66_3[61,1105 -const char *bad_ata33[66,1163 -struct chipset_bus_clock_list_entry chipset_bus_clock_list_entry77,1910 -struct chipset_bus_clock_list_entry forty_base_hpt366[104,2895 -struct chipset_bus_clock_list_entry thirty_three_base_hpt366[123,3372 -struct chipset_bus_clock_list_entry twenty_five_base_hpt366[142,3907 -struct chipset_bus_clock_list_entry thirty_three_base_hpt370[163,4448 -struct chipset_bus_clock_list_entry sixty_six_base_hpt370[184,5009 -struct chipset_bus_clock_list_entry thirty_three_base_hpt370a[205,5804 -struct chipset_bus_clock_list_entry sixty_six_base_hpt370a[226,6665 -struct chipset_bus_clock_list_entry fifty_base_hpt370a[246,7411 -struct chipset_bus_clock_list_entry thirty_three_base_hpt372[266,8137 -struct chipset_bus_clock_list_entry fifty_base_hpt372[287,8751 -struct chipset_bus_clock_list_entry sixty_six_base_hpt372[307,9258 -struct chipset_bus_clock_list_entry thirty_three_base_hpt374[328,9799 -struct chipset_bus_clock_list_entry fifty_base_hpt374[350,10349 -struct chipset_bus_clock_list_entry sixty_six_base_hpt374[370,10719 -#define HPT366_DEBUG_DRIVE_INFO 404,11502 -#define HPT374_ALLOW_ATA133_6 405,11537 -#define HPT371_ALLOW_ATA133_6 406,11570 -#define HPT302_ALLOW_ATA133_6 407,11603 -#define HPT372_ALLOW_ATA133_6 408,11636 -#define HPT370_ALLOW_ATA100_5 409,11669 -#define HPT366_ALLOW_ATA66_4 410,11702 -#define HPT366_ALLOW_ATA66_3 411,11734 -#define HPT366_MAX_DEVS 412,11766 -#define F_LOW_PCI_33 414,11795 -#define F_LOW_PCI_40 415,11826 -#define F_LOW_PCI_50 416,11857 -#define F_LOW_PCI_66 417,11888 -static ide_pci_device_t hpt366_chipsets[426,12303 -static ide_pci_device_t hpt366_chipsets[] __devinitdata 426,12303 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/ns87415.c,585 -static unsigned int ns87415_count 28,695 -static void ns87415_prepare_drive 35,972 -static void ns87415_selectproc 79,2069 -static int ns87415_ide_dma_end 84,2176 -static int ns87415_ide_dma_read 104,2759 -static int ns87415_ide_dma_write 115,2997 -static int ns87415_ide_dma_check 126,3237 -static void __init init_hwif_ns87415 133,3409 -static ide_pci_device_t ns87415_chipset __devinitdata 218,5952 -static int __devinit ns87415_init_one(226,6128 -static struct pci_device_id ns87415_pci_tbl[232,6281 -static struct pci_driver driver 238,6466 -static int ns87415_ide_init(244,6590 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/rz1000.c,281 -static void __init init_hwif_rz1000 36,916 -static ide_pci_device_t rz1000_chipset __devinitdata 55,1458 -static int __devinit rz1000_init_one(63,1629 -static struct pci_device_id rz1000_pci_tbl[69,1780 -static struct pci_driver driver 76,2060 -static int rz1000_ide_init(82,2181 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/sc1200.c,1340 -#define SC1200_REV_A 32,783 -#define SC1200_REV_B1 33,809 -#define SC1200_REV_B3 34,836 -#define SC1200_REV_C1 35,863 -#define SC1200_REV_D1 36,890 -#define PCI_CLK_33 38,918 -#define PCI_CLK_48 39,942 -#define PCI_CLK_66 40,966 -#define PCI_CLK_33A 41,990 -static unsigned short sc1200_get_pci_clock 43,1016 -#define DISPLAY_SC1200_TIMINGS70,1703 -static u8 sc1200_proc 79,2035 -static struct pci_dev *bmide_dev;81,2063 -static int sc1200_get_info 83,2098 -int sc1200_set_xfer_mode 124,3396 -static const unsigned int sc1200_pio_timings[135,3809 -static int sc1200_autoselect_dma_mode 146,4352 -static int sc1200_config_dma2 203,6179 -static int sc1200_config_dma 304,9132 -int sc1200_ide_dma_end 315,9370 -static void sc1200_tuneproc 343,10215 -static ide_hwif_t *lookup_pci_dev 376,11341 -typedef struct sc1200_saved_state_s sc1200_saved_state_s393,11714 -} sc1200_saved_state_t;sc1200_saved_state_t395,11769 -static int sc1200_suspend 398,11795 -static int sc1200_resume 443,12987 -static unsigned int __init init_chipset_sc1200 510,14830 -static void __init init_hwif_sc1200 526,15308 -static ide_pci_device_t sc1200_chipset __devinitdata 546,15861 -static int __devinit sc1200_init_one(555,16072 -static struct pci_device_id sc1200_pci_tbl[561,16223 -static struct pci_driver driver 567,16411 -static int sc1200_ide_init(575,16587 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/opti621.c,905 -#define OPTI621_DEBUG 91,3720 -#define OPTI621_MAX_PIO 109,4092 -#define READ_PREFETCH 128,4748 -#define READ_REG 131,4851 -#define WRITE_REG 132,4912 -#define CNTRL_REG 133,4975 -#define STRAP_REG 134,5027 -#define MISC_REG 135,5077 -static int reg_base;137,5135 -#define PIO_NOT_EXIST 139,5157 -#define PIO_DONT_KNOW 140,5183 -static void compute_pios(143,5284 -static int cmpt_clk(169,6057 -static void write_reg(181,6396 -static u8 read_reg(195,6784 -typedef struct pio_clocks_s pio_clocks_s212,7185 -} pio_clocks_t;pio_clocks_t216,7361 -static void compute_clocks(218,7378 -static void opti621_tune_drive 246,8384 -static void __init init_hwif_opti621 331,10844 -static void __init init_setup_opti621 351,11287 -static int __devinit opti621_init_one(356,11404 -static struct pci_device_id opti621_pci_tbl[362,11575 -static struct pci_driver driver 369,11849 -static int opti621_ide_init(375,11973 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/cy82c693.h,978 -#define CY82C693_H2,19 -#define CY82_VERSION 9,138 -#define CY82C693_DEBUG_LOGS 14,288 -#define CY82C693_DEBUG_INFO 15,318 -#define BUSMASTER_TIMEOUT 29,827 -#define CY82_IDE_CMDREG 35,992 -#define CY82_IDE_ADDRSETUP 36,1022 -#define CY82_IDE_MASTER_IOR 37,1054 -#define CY82_IDE_MASTER_IOW 38,1088 -#define CY82_IDE_SLAVE_IOR 39,1122 -#define CY82_IDE_SLAVE_IOW 40,1155 -#define CY82_IDE_MASTER_8BIT 41,1187 -#define CY82_IDE_SLAVE_8BIT 42,1222 -#define CY82_INDEX_PORT 44,1257 -#define CY82_DATA_PORT 45,1287 -#define CY82_INDEX_CTRLREG1 47,1317 -#define CY82_INDEX_CHANNEL0 48,1350 -#define CY82_INDEX_CHANNEL1 49,1383 -#define CY82_INDEX_TIMEOUT 50,1416 -#define CY82C693_MAX_PIO 53,1489 -#define CY82C963_MIN_BUS_SPEED 56,1577 -#define CY82C963_MAX_BUS_SPEED 57,1611 -typedef struct pio_clocks_s pio_clocks_s60,1688 -} pio_clocks_t;pio_clocks_t65,1991 -static ide_pci_device_t cy82c693_chipsets[71,2176 -static ide_pci_device_t cy82c693_chipsets[] __devinitdata 71,2176 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/pci/alim15x3.c,1152 -#define DISPLAY_ALI_TIMINGS42,1322 -static u8 m5229_revision;49,1472 -static u8 chip_is_1543c_e;50,1498 -static struct pci_dev *isa_dev;51,1525 -static u8 ali_proc 57,1670 -static struct pci_dev *bmide_dev;59,1695 -static char *fifo[61,1730 -static char *udmaT[67,1810 -static char *channel_status[78,1911 -static int ali_get_info 100,2403 -static void ali15x3_tune_drive 292,8365 -static u8 ali15x3_can_ultra 376,10685 -static u8 ali15x3_ratemask 407,11460 -static int ali15x3_tune_chipset 442,12235 -static int config_chipset_for_dma 494,13599 -static int ali15x3_config_drive_for_dma(515,14079 -static int ali15x3_dma_write 569,15536 -static unsigned int __init init_chipset_ali15x3 585,15963 -static unsigned int __init ata66_ali15x3 679,18456 -static void __init init_hwif_common_ali15x3 750,20195 -static void __init init_hwif_ali15x3 796,21407 -static void __init init_dma_ali15x3 849,22654 -static ide_pci_device_t ali15x3_chipset __devinitdata 858,22886 -static int __devinit alim15x3_init_one(876,23321 -static struct pci_device_id alim15x3_pci_tbl[891,23758 -static struct pci_driver driver 898,24026 -static int ali15x3_ide_init(904,24152 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-taskfile.c,1326 -#define DEBUG_TASKFILE 54,1500 -static void ata_bswap_data 56,1549 -void taskfile_input_data(66,1712 -void taskfile_output_data(73,1894 -int taskfile_lib_get_identify 84,2183 -ide_startstop_t do_rw_taskfile 99,2648 -ide_startstop_t set_multmode_intr 169,4653 -ide_startstop_t set_geometry_intr 189,5146 -ide_startstop_t recal_intr 215,5772 -ide_startstop_t task_no_data_intr 230,6099 -static void task_buffer_sectors(249,6572 -static inline void task_buffer_multi_sectors(260,6850 -static void task_sectors(273,7157 -static inline void task_bio_multi_sectors(283,7427 -static void task_multi_sectors(302,7787 -# define task_sectors(task_sectors312,8056 -# define task_multi_sectors(task_multi_sectors313,8134 -static u8 wait_drive_not_busy(316,8247 -static inline void ide_pio_datablock(336,8708 -static ide_startstop_t task_error(351,9044 -# define task_error(task_error381,9673 -static void task_end_request(384,9750 -ide_startstop_t task_in_intr 401,10177 -ide_startstop_t task_out_intr 435,11137 -ide_startstop_t pre_task_out_intr 462,11812 -static int ide_diag_taskfile(485,12385 -int ide_raw_taskfile 519,13336 -int ide_taskfile_ioctl 530,13603 -int ide_wait_cmd 680,17338 -int ide_cmd_ioctl 700,17782 -static int ide_wait_cmd_task(754,19173 -int ide_task_ioctl 767,19453 -ide_startstop_t flagged_taskfile 787,20007 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-dma.c,1282 -struct drive_list_entry drive_list_entry92,3714 -static const struct drive_list_entry drive_whitelist 97,3793 -static const struct drive_list_entry drive_blacklist 106,4025 -static int in_drive_list(153,5425 -ide_startstop_t ide_dma_intr 172,5969 -int ide_build_sglist(204,6952 -int ide_raw_build_sglist(233,7804 -int ide_build_dmatable 286,9272 -void ide_destroy_dmatable 381,11760 -static int config_drive_for_dma 403,12450 -static int dma_timer_expiry 446,13883 -int __ide_dma_host_off 480,14693 -int __ide_dma_off_quietly 499,15114 -int __ide_dma_off 521,15558 -int __ide_dma_host_on 538,15956 -int __ide_dma_on 560,16418 -int __ide_dma_check 584,16817 -int ide_start_dma(606,17381 -int __ide_dma_read 632,17953 -int __ide_dma_write 664,18751 -int __ide_dma_begin 696,19564 -int __ide_dma_end 716,20063 -int __ide_dma_test_irq 741,20712 -int __ide_dma_bad_drive 764,21297 -int __ide_dma_good_drive 779,21628 -int __ide_dma_verbose 788,21830 -int __ide_dma_lostirq 840,23226 -int __ide_dma_timeout 848,23374 -int ide_release_dma_engine 862,23683 -int ide_release_iomio_dma 878,24007 -int ide_release_dma 891,24334 -int ide_allocate_dma_engine 902,24529 -int ide_mapped_mmio_dma 922,25076 -int ide_iomio_dma 937,25453 -int ide_dma_iobase 969,26242 -void ide_setup_dma 980,26547 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/hd.c,2657 -#define REALLY_SLOW_IO45,1420 -#define HD_IRQ 55,1586 -#define HD_DATA 60,1657 -#define HD_ERROR 61,1705 -#define HD_NSECTOR 62,1748 -#define HD_SECTOR 63,1808 -#define HD_LCYL 64,1855 -#define HD_HCYL 65,1903 -#define HD_CURRENT 66,1959 -#define HD_STATUS 67,2021 -#define HD_FEATURE 68,2068 -#define HD_PRECOMP 69,2145 -#define HD_COMMAND 70,2222 -#define HD_CMD 72,2298 -#define HD_ALTSTATUS 73,2343 -#define ERR_STAT 76,2442 -#define INDEX_STAT 77,2465 -#define ECC_STAT 78,2490 -#define DRQ_STAT 79,2535 -#define SEEK_STAT 80,2558 -#define SERVICE_STAT 81,2582 -#define WRERR_STAT 82,2614 -#define READY_STAT 83,2639 -#define BUSY_STAT 84,2664 -#define MARK_ERR 87,2713 -#define TRK0_ERR 88,2759 -#define ABRT_ERR 89,2810 -#define MCR_ERR 90,2855 -#define ID_ERR 91,2905 -#define MC_ERR 92,2952 -#define ECC_ERR 93,2994 -#define BBD_ERR 94,3047 -#define ICRC_ERR 95,3112 -static spinlock_t hd_lock 97,3182 -static struct request_queue *hd_queue;98,3230 -#define MAJOR_NR 100,3270 -#define QUEUE 101,3296 -#define CURRENT 102,3321 -#define TIMEOUT_VALUE 104,3365 -#define HD_DELAY 105,3394 -#define MAX_ERRORS 107,3414 -#define RESET_FREQ 108,3475 -#define RECAL_FREQ 109,3540 -#define MAX_HD 110,3600 -#define STAT_OK 112,3619 -#define OK_STATUS(OK_STATUS113,3659 -static int reset;118,3802 -static int hd_error;119,3820 -struct hd_i_struct hd_i_struct124,3899 -static struct hd_i_struct hd_info[132,4031 -static int NR_HD 133,4082 -static struct hd_i_struct hd_info[135,4159 -static int NR_HD;136,4202 -static struct gendisk *hd_gendisk[139,4228 -static struct timer_list device_timer;141,4272 -#define TIMEOUT_VALUE 143,4312 -#define SET_TIMER 145,4342 -#define SET_HANDLER(SET_HANDLER151,4487 -unsigned long last_req;159,4610 -unsigned long read_timer(161,4635 -void __init hd_setup(177,4935 -static void dump_status 194,5285 -void check_status(242,6850 -static int controller_busy(252,6983 -static int status_ok(263,7165 -static int controller_ready(278,7448 -static void hd_out(293,7709 -static int drive_busy(327,8395 -static void reset_controller(341,8645 -static void reset_hd(355,8989 -void unexpected_hd_interrupt(389,9819 -static void bad_rw_intr(404,10184 -static inline int wait_DRQ(420,10660 -static void read_intr(431,10852 -static void write_intr(477,11748 -static void recal_intr(516,12487 -static void hd_times_out(529,12751 -int do_special_op(554,13171 -static void hd_request(579,14059 -static void do_hd_request 652,15563 -static int hd_ioctl(659,15674 -static irqreturn_t hd_interrupt(682,16286 -static struct block_device_operations hd_fops 695,16549 -static int __init hd_init(709,16941 -static int parse_hd_setup 854,20706 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/umc8672.c,453 -#define REALLY_SLOW_IO 40,1283 -#define UMC_DRIVE0 60,1750 -#define UMC_DRIVE1 61,1821 -#define UMC_DRIVE2 62,1882 -#define UMC_DRIVE3 63,1946 -static u8 current_speeds[65,2022 -static const u8 pio_to_umc 66,2102 -static const u8 speedtab 69,2246 -static void out_umc 74,2476 -static inline u8 in_umc 80,2565 -static void umc_set_speeds 86,2649 -static void tune_umc 109,3260 -static int __init umc8672_probe(127,3860 -int __init umc8672_init(168,4717 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/ali14xx.c,758 -#define ALI_NUM_PORTS 58,1755 -static int ports[59,1779 -static int ports[ALI_NUM_PORTS] __initdata 59,1779 -typedef struct { u8 reg, data; } RegInitializer;RegInitializer62,1890 -static RegInitializer initData[64,1940 -static RegInitializer initData[] __initdata 64,1940 -#define ALI_MAX_PIO 74,2362 -static struct { u8 reg1, reg2, reg3, reg4; } regTab[77,2433 -static int basePort;84,2676 -static int regPort;85,2721 -static int dataPort;86,2772 -static u8 regOn;87,2822 -static u8 regOff;88,2885 -static inline u8 inReg 95,3065 -static void outReg 104,3187 -static void ali14xx_tune_drive 115,3415 -static int __init findPort 153,4574 -static int __init initRegisters 185,5217 -static int __init ali14xx_probe(201,5541 -int __init ali14xx_init(233,6184 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/buddha.c,1642 -#define BUDDHA_NUM_HWIFS 36,930 -#define CATWEASEL_NUM_HWIFS 37,957 -#define XSURF_NUM_HWIFS 38,987 -#define BUDDHA_BASE1 44,1106 -#define BUDDHA_BASE2 45,1133 -#define BUDDHA_BASE3 46,1160 -#define XSURF_BASE1 48,1188 -#define XSURF_BASE2 49,1240 -static u_int buddha_bases[51,1293 -static u_int buddha_bases[CATWEASEL_NUM_HWIFS] __initdata 51,1293 -static u_int xsurf_bases[55,1404 -static u_int xsurf_bases[XSURF_NUM_HWIFS] __initdata 55,1404 -#define BUDDHA_DATA 64,1556 -#define BUDDHA_ERROR 65,1581 -#define BUDDHA_NSECTOR 66,1627 -#define BUDDHA_SECTOR 67,1690 -#define BUDDHA_LCYL 68,1740 -#define BUDDHA_HCYL 69,1790 -#define BUDDHA_SELECT 70,1848 -#define BUDDHA_STATUS 71,1912 -#define BUDDHA_CONTROL 72,1962 -#define XSURF_CONTROL 73,1991 -static int buddha_offsets[75,2075 -static int buddha_offsets[IDE_NR_PORTS] __initdata 75,2075 -static int xsurf_offsets[80,2275 -static int xsurf_offsets[IDE_NR_PORTS] __initdata 80,2275 -#define BUDDHA_IRQ1 89,2513 -#define BUDDHA_IRQ2 90,2577 -#define BUDDHA_IRQ3 91,2620 -#define XSURF_IRQ1 93,2647 -#define XSURF_IRQ2 94,2676 -static int buddha_irqports[96,2706 -static int buddha_irqports[CATWEASEL_NUM_HWIFS] __initdata 96,2706 -static int xsurf_irqports[100,2815 -static int xsurf_irqports[XSURF_NUM_HWIFS] __initdata 100,2815 -#define BUDDHA_IRQ_MR 104,2904 -typedef enum BuddhaType_Enum BuddhaType_Enum111,3007 - BOARD_BUDDHA,112,3038 - BOARD_BUDDHA, BOARD_CATWEASEL,112,3038 - BOARD_BUDDHA, BOARD_CATWEASEL, BOARD_XSURF112,3038 -} BuddhaType;BuddhaType113,3085 -static int buddha_ack_intr(120,3168 -static int xsurf_ack_intr(130,3342 -void __init buddha_init(146,3719 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/dtc2278.c,136 -static void sub22 55,1829 -static void tune_dtc2278 73,2071 -static int __init probe_dtc2278(98,2626 -int __init dtc2278_init(148,3628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/qd65xx.c,548 -static int timings[93,2711 -static void qd_write_reg 95,2792 -u8 __init qd_read_reg 104,2978 -static void qd_select 121,3274 -static u8 qd6500_compute_timing 138,3715 -static u8 qd6580_compute_timing 159,4335 -static int qd_find_disk_type 173,4711 -static int qd_timing_ok 201,5283 -static void qd_set_timing 215,5644 -static void qd6500_tune_drive 234,6027 -static void qd6580_tune_drive 256,6614 -static int __init qd_testreg(312,8095 -static void __init qd_setup(341,8766 -static int __init qd_probe(401,10402 -int __init qd65xx_init(488,12496 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/falconide.c,466 -#define ATA_HD_BASE 29,636 -#define ATA_HD_DATA 35,720 -#define ATA_HD_ERROR 36,745 -#define ATA_HD_NSECTOR 37,791 -#define ATA_HD_SECTOR 38,854 -#define ATA_HD_LCYL 39,904 -#define ATA_HD_HCYL 40,954 -#define ATA_HD_SELECT 41,1012 -#define ATA_HD_STATUS 42,1076 -#define ATA_HD_CONTROL 43,1126 -static int falconide_offsets[45,1155 -static int falconide_offsets[IDE_NR_PORTS] __initdata 45,1155 -int falconide_intr_lock;56,1499 -void __init falconide_init(63,1583 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/ide-cs.c,717 -#define INT_MODULE_PARM(INT_MODULE_PARM65,2365 -static int irq_list[69,2512 -#define DEBUG(DEBUG74,2638 -static char *version 75,2706 -#define DEBUG(DEBUG78,2785 -static const char ide_major[83,2893 -typedef struct ide_info_t ide_info_t88,3010 -} ide_info_t;ide_info_t94,3130 -static dev_info_t dev_info 100,3272 -static dev_link_t *dev_list 105,3388 -static dev_link_t *ide_attach(115,3731 -static void ide_detach(175,5658 -static int idecs_register(203,6273 -#define CS_CHECK(CS_CHECK221,6909 -void ide_config(224,7016 -void ide_release(411,13236 -int ide_event(442,14160 -static struct pcmcia_driver ide_cs_driver 477,15031 -static int __init init_ide_cs(486,15188 -static void __exit exit_ide_cs(491,15277 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/gayle.c,947 -#define GAYLE_BASE_4000 31,680 -#define GAYLE_BASE_1200 32,732 -#define GAYLE_DATA 38,860 -#define GAYLE_ERROR 39,884 -#define GAYLE_NSECTOR 40,929 -#define GAYLE_SECTOR 41,991 -#define GAYLE_LCYL 42,1040 -#define GAYLE_HCYL 43,1089 -#define GAYLE_SELECT 44,1146 -#define GAYLE_STATUS 45,1209 -#define GAYLE_CONTROL 46,1258 -static int gayle_offsets[48,1288 -static int gayle_offsets[IDE_NR_PORTS] __initdata 48,1288 -#define GAYLE_IRQ_4000 58,1537 -#define GAYLE_IRQ_1200 59,1606 -#define GAYLE_NEXT_PORT 67,1781 -#define GAYLE_NUM_HWIFS 70,1847 -#define GAYLE_NUM_PROBE_HWIFS 71,1874 -#define GAYLE_HAS_CONTROL_REG 72,1920 -#define GAYLE_IDEREG_SIZE 73,1952 -#define GAYLE_NUM_HWIFS 75,2023 -#define GAYLE_NUM_PROBE_HWIFS 76,2050 -#define GAYLE_HAS_CONTROL_REG 78,2146 -#define GAYLE_IDEREG_SIZE 79,2191 -int ide_doubler 80,2249 -static int gayle_ack_intr_a4000(88,2406 -static int gayle_ack_intr_a1200(98,2590 -void __init gayle_init(114,2972 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/qd65xx.h,867 -#define IDE_IN(IDE_IN13,219 -#define IDE_IMPLY(IDE_IMPLY15,289 -#define QD_TIM1_PORT 17,329 -#define QD_CONFIG_PORT 18,358 -#define QD_TIM2_PORT 19,394 -#define QD_CONTROL_PORT 20,428 -#define QD_CONFIG_IDE_BASEPORT 22,466 -#define QD_CONFIG_BASEPORT 23,502 -#define QD_CONFIG_ID3 24,534 -#define QD_CONFIG_DISABLED 25,562 -#define QD_CONFIG_QD6500 26,594 -#define QD_CONFIG_QD6580_A 27,624 -#define QD_CONFIG_QD6580_B 28,656 -#define QD_CONTR_SEC_DISABLED 30,689 -#define QD_ID3 32,725 -#define QD_CONFIG(QD_CONFIG34,773 -#define QD_CONTROL(QD_CONTROL35,829 -#define QD_TIMING(QD_TIMING37,893 -#define QD_TIMREG(QD_TIMREG38,957 -#define QD6500_DEF_DATA 40,1029 -#define QD6580_DEF_DATA 41,1099 -#define QD6580_DEF_DATA2 42,1169 -#define QD_DEF_CONTR 43,1239 -#define QD_TESTVAL 45,1304 -struct qd65xx_timing_s qd65xx_timing_s49,1403 -} qd65xx_timing 54,1624 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/q40ide.c,505 -#define Q40IDE_NUM_HWIFS 25,491 -#define PCIDE_BASE1 27,519 -#define PCIDE_BASE2 28,545 -#define PCIDE_BASE3 29,571 -#define PCIDE_BASE4 30,597 -#define PCIDE_BASE5 31,623 -#define PCIDE_BASE6 32,649 -static const unsigned long pcide_bases[34,676 -#define IDE_OFF_B(IDE_OFF_B47,1048 -#define IDE_OFF_W(IDE_OFF_W48,1107 -static const int pcide_offsets[50,1167 -static int q40ide_default_irq(56,1405 -void q40_ide_setup_ports 72,1728 -static const char *q40_ide_names[106,2415 -void q40ide_init(114,2529 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/ht6560b.c,509 -#define HT6560B_VERSION 37,1146 -#define HT_CONFIG_PORT 70,2161 -#define HT_CONFIG(HT_CONFIG71,2192 -#define HT_CONFIG_DEFAULT 75,2304 -#define HT_SECONDARY_IF 77,2410 -#define HT_PREFETCH_MODE 78,2441 -#define HT_TIMING(HT_TIMING117,4352 -#define HT_TIMING_DEFAULT 118,4414 -static void ht6560b_selectproc 130,4815 -static int __init try_to_init_ht6560b(168,5793 -static u8 ht_pio2timings(205,6562 -static void ht_set_prefetch(255,7976 -static void tune_ht6560b 281,8561 -int __init ht6560b_init(308,9140 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/pdc4030.h,392 -#define IDE_PROMISE_H12,197 -# define IS_PDC4030_DRIVE 19,297 -ide_startstop_t promise_rw_disk(23,444 -# define IS_PDC4030_DRIVE 30,646 -#define PROMISE_EXTENDED_COMMAND 38,877 -#define PROMISE_READ 39,915 -#define PROMISE_WRITE 40,943 -#define PROMISE_GET_CONFIG 42,1023 -#define PROMISE_IDENTIFY 43,1056 -struct translation_mode translation_mode45,1088 -struct dc_ident dc_ident51,1148 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/pdc4030.c,637 -#define DEBUG_READ75,2845 -#define DEBUG_WRITE76,2864 -#define __PROMISE_403077,2884 -static void promise_selectproc 103,3474 -int pdc4030_cmd(116,3869 -int pdc4030_identify(145,4642 -int __init setup_pdc4030(154,4832 -int __init detect_pdc4030(275,8586 -int __init pdc4030_init(297,9061 -static ide_startstop_t promise_read_intr 324,9615 -static ide_startstop_t promise_complete_pollfunc(411,12237 -static void promise_multwrite 450,13358 -static ide_startstop_t promise_write_pollfunc 504,14620 -static ide_startstop_t promise_write 549,16139 -ide_startstop_t do_pdc4030_io 600,17649 -static ide_startstop_t promise_rw_disk 657,19401 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/legacy/macide.c,472 -#define IDE_BASE 28,719 -#define IDE_DATA 35,893 -#define IDE_ERROR 36,915 -#define IDE_NSECTOR 37,957 -#define IDE_SECTOR 38,1016 -#define IDE_LCYL 39,1062 -#define IDE_HCYL 40,1108 -#define IDE_SELECT 41,1162 -#define IDE_STATUS 42,1222 -#define IDE_CONTROL 43,1268 -#define IDE_IFR 55,1503 -volatile unsigned char *ide_ifr 65,1821 -static int macide_offsets[67,1896 -int macide_ack_intr(72,2056 -static void macide_mediabay_interrupt(82,2205 -void macide_init(94,2471 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-io.c,1080 -static void ide_fill_flush_cmd(57,1719 -static struct request *ide_queue_flush_cmd(79,2212 -static int __ide_end_request(111,2951 -int ide_end_request 162,4269 -int ide_end_dequeued_request(206,5389 -static void ide_complete_pm_request 255,6690 -u64 ide_get_error_location(279,7306 -static void ide_complete_barrier(310,7976 -void ide_end_drive_cmd 397,10360 -void try_to_flush_leftover_data 495,13663 -ide_startstop_t ide_error 529,14467 -ide_startstop_t ide_abort(617,16851 -void ide_cmd 656,17749 -ide_startstop_t drive_cmd_intr 678,18432 -ide_startstop_t do_special 714,19478 -ide_startstop_t execute_drive_cmd 745,20345 -ide_startstop_t start_request 837,22870 -void ide_stall_queue 939,26041 -#define WAKEUP(WAKEUP948,26238 -static inline ide_drive_t *choose_drive 959,26592 -void ide_do_request 1055,30273 -void do_ide_request(1192,34270 -static ide_startstop_t ide_dma_timeout_retry(1204,34560 -void ide_timer_expiry 1264,36327 -static void unexpected_intr 1385,40338 -irqreturn_t ide_intr 1437,42071 -void ide_init_drive_cmd 1561,45704 -int ide_do_drive_cmd 1601,47185 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/ide/ide-lib.c,429 -char *ide_xfer_verbose 43,988 -u8 ide_dma_speed(82,2439 -u8 ide_rate_filter 156,4598 -int ide_dma_enable 177,5110 -const ide_pio_timings_t ide_pio_timings[195,5702 -static struct ide_pio_info ide_pio_info217,6468 -} ide_pio_blacklist 220,6527 -static int ide_scan_pio_blacklist 301,8569 -u8 ide_get_best_pio_mode 326,9201 -void ide_toggle_bounce(409,11186 -int ide_set_xfer_rate(437,11904 -byte ide_dump_atapi_status 458,12426 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/misc/uinput.c,800 -static int uinput_dev_open(36,1189 -static void uinput_dev_close(41,1255 -static int uinput_dev_event(46,1313 -static int uinput_dev_upload_effect(63,1760 -static int uinput_dev_erase_effect(68,1861 -static int uinput_create_device(73,1950 -static int uinput_destroy_device(96,2503 -static int uinput_open(110,2800 -static int uinput_validate_absbits(136,3326 -static int uinput_alloc_device(169,4100 -static ssize_t uinput_write(229,5572 -static ssize_t uinput_read(246,6016 -static unsigned int uinput_poll(278,6877 -static int uinput_burn_device(293,7173 -static int uinput_close(304,7358 -static int uinput_ioctl(309,7499 -struct file_operations uinput_fops 399,9123 -static struct miscdevice uinput_misc 409,9332 -static int __init uinput_init(415,9448 -static void __exit uinput_exit(420,9526 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/misc/sparcspkr.c,524 -static unsigned long beep_iobase;23,523 -static char *sparcspkr_isa_name 25,558 -static char *sparcspkr_ebus_name 26,613 -static char *sparcspkr_phys 27,670 -static struct input_dev sparcspkr_dev;28,716 -spinlock_t beep_lock 30,756 -static void __init init_sparcspkr_struct(32,800 -static int ebus_spkr_event(44,1132 -static int __init init_ebus_beep(83,1881 -static int isa_spkr_event(99,2239 -static int __init init_isa_beep(136,3089 -static int __init sparcspkr_init(153,3467 -static void __exit sparcspkr_exit(183,4083 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/misc/m68kspkr.c,230 -static char m68kspkr_name[27,626 -static char m68kspkr_phys[28,671 -static struct input_dev m68kspkr_dev;29,717 -static int m68kspkr_event(31,756 -static int __init m68kspkr_init(52,1126 -static void __exit m68kspkr_exit(77,1733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/misc/pcspkr.c,253 -static char pcspkr_name[26,593 -static char pcspkr_phys[27,635 -static struct input_dev pcspkr_dev;28,681 -spinlock_t i8253_beep_lock 30,718 -static int pcspkr_event(32,768 -static int __init pcspkr_init(69,1544 -static void __exit pcspkr_exit(89,2012 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joydev.c,997 -#define JOYDEV_MINOR_BASE 36,998 -#define JOYDEV_MINORS 37,1026 -#define JOYDEV_BUFFER_SIZE 38,1052 -#define MSECS(MSECS40,1083 -struct joydev joydev42,1146 -struct joydev_list joydev_list61,1517 -static struct joydev *joydev_table[71,1702 -static int joydev_correct(73,1754 -static void joydev_event(93,2197 -static int joydev_fasync(136,3289 -static void joydev_free(144,3502 -static int joydev_release(152,3735 -static int joydev_open(171,4081 -static ssize_t joydev_write(194,4641 -static ssize_t joydev_read(199,4767 -static unsigned int joydev_poll(282,7018 -static int joydev_ioctl(291,7316 -static struct file_operations joydev_fops 377,10275 -static struct input_handle *joydev_connect(388,10519 -static void joydev_disconnect(465,12850 -static struct input_device_id joydev_blacklist[477,13056 -static struct input_device_id joydev_ids[486,13352 -static struct input_handler joydev_handler 507,13888 -static int __init joydev_init(518,14156 -static void __exit joydev_exit(524,14250 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/hpps2atkbd.h,42226 -#define STANDARD_KEYBOARD18,571 -# define CONFLICT(CONFLICT21,629 -# define CONFLICT(CONFLICT23,660 -#define C_07 30,956 -#define C_11 31,998 -#define C_14 32,1049 -#define C_58 33,1101 -#define C_61 34,1154 -/* 00 */ KEY_RESERVED,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9, KEY_RESERVED,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9, KEY_RESERVED, KEY_F5,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9, KEY_RESERVED, KEY_F5, KEY_F3,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9, KEY_RESERVED, KEY_F5, KEY_F3, KEY_F1,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9, KEY_RESERVED, KEY_F5, KEY_F3, KEY_F1, KEY_F2,38,1232 -/* 00 */ KEY_RESERVED, KEY_F9, KEY_RESERVED, KEY_F5, KEY_F3, KEY_F1, KEY_F2, C_07,38,1232 -/* 08 */ KEY_ESC,39,1351 -/* 08 */ KEY_ESC, KEY_F10,39,1351 -/* 08 */ KEY_ESC, KEY_F10, KEY_F8,39,1351 -/* 08 */ KEY_ESC, KEY_F10, KEY_F8, KEY_F6,39,1351 -/* 08 */ KEY_ESC, KEY_F10, KEY_F8, KEY_F6, KEY_F4,39,1351 -/* 08 */ KEY_ESC, KEY_F10, KEY_F8, KEY_F6, KEY_F4, KEY_TAB,39,1351 -/* 08 */ KEY_ESC, KEY_F10, KEY_F8, KEY_F6, KEY_F4, KEY_TAB, KEY_GRAVE,39,1351 -/* 08 */ KEY_ESC, KEY_F10, KEY_F8, KEY_F6, KEY_F4, KEY_TAB, KEY_GRAVE, KEY_F2,39,1351 -/* 10 */ KEY_RESERVED,40,1472 -/* 10 */ KEY_RESERVED, C_11,40,1472 -/* 10 */ KEY_RESERVED, C_11, KEY_LEFTSHIFT,40,1472 -/* 10 */ KEY_RESERVED, C_11, KEY_LEFTSHIFT, KEY_RESERVED,40,1472 -/* 10 */ KEY_RESERVED, C_11, KEY_LEFTSHIFT, KEY_RESERVED, C_14,40,1472 -/* 10 */ KEY_RESERVED, C_11, KEY_LEFTSHIFT, KEY_RESERVED, C_14, KEY_Q,40,1472 -/* 10 */ KEY_RESERVED, C_11, KEY_LEFTSHIFT, KEY_RESERVED, C_14, KEY_Q, KEY_1,40,1472 -/* 10 */ KEY_RESERVED, C_11, KEY_LEFTSHIFT, KEY_RESERVED, C_14, KEY_Q, KEY_1, KEY_F3,40,1472 -/* 18 */ KEY_RESERVED,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT, KEY_Z,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT, KEY_Z, KEY_S,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT, KEY_Z, KEY_S, KEY_A,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT, KEY_Z, KEY_S, KEY_A, KEY_W,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT, KEY_Z, KEY_S, KEY_A, KEY_W, KEY_2,41,1593 -/* 18 */ KEY_RESERVED, KEY_LEFTALT, KEY_Z, KEY_S, KEY_A, KEY_W, KEY_2, KEY_F4,41,1593 -/* 20 */ KEY_RESERVED,42,1714 -/* 20 */ KEY_RESERVED, KEY_C,42,1714 -/* 20 */ KEY_RESERVED, KEY_C, KEY_X,42,1714 -/* 20 */ KEY_RESERVED, KEY_C, KEY_X, KEY_D,42,1714 -/* 20 */ KEY_RESERVED, KEY_C, KEY_X, KEY_D, KEY_E,42,1714 -/* 20 */ KEY_RESERVED, KEY_C, KEY_X, KEY_D, KEY_E, KEY_4,42,1714 -/* 20 */ KEY_RESERVED, KEY_C, KEY_X, KEY_D, KEY_E, KEY_4, KEY_3,42,1714 -/* 20 */ KEY_RESERVED, KEY_C, KEY_X, KEY_D, KEY_E, KEY_4, KEY_3, KEY_F5,42,1714 -/* 28 */ KEY_RESERVED,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE, KEY_V,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE, KEY_V, KEY_F,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE, KEY_V, KEY_F, KEY_T,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE, KEY_V, KEY_F, KEY_T, KEY_R,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE, KEY_V, KEY_F, KEY_T, KEY_R, KEY_5,43,1835 -/* 28 */ KEY_RESERVED, KEY_SPACE, KEY_V, KEY_F, KEY_T, KEY_R, KEY_5, KEY_F6,43,1835 -/* 30 */ KEY_RESERVED,44,1956 -/* 30 */ KEY_RESERVED, KEY_N,44,1956 -/* 30 */ KEY_RESERVED, KEY_N, KEY_B,44,1956 -/* 30 */ KEY_RESERVED, KEY_N, KEY_B, KEY_H,44,1956 -/* 30 */ KEY_RESERVED, KEY_N, KEY_B, KEY_H, KEY_G,44,1956 -/* 30 */ KEY_RESERVED, KEY_N, KEY_B, KEY_H, KEY_G, KEY_Y,44,1956 -/* 30 */ KEY_RESERVED, KEY_N, KEY_B, KEY_H, KEY_G, KEY_Y, KEY_6,44,1956 -/* 30 */ KEY_RESERVED, KEY_N, KEY_B, KEY_H, KEY_G, KEY_Y, KEY_6, KEY_F7,44,1956 -/* 38 */ KEY_RESERVED,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT, KEY_M,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT, KEY_M, KEY_J,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT, KEY_M, KEY_J, KEY_U,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT, KEY_M, KEY_J, KEY_U, KEY_7,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT, KEY_M, KEY_J, KEY_U, KEY_7, KEY_8,45,2077 -/* 38 */ KEY_RESERVED, KEY_RIGHTALT, KEY_M, KEY_J, KEY_U, KEY_7, KEY_8, KEY_F8,45,2077 -/* 40 */ KEY_RESERVED,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA, KEY_K,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA, KEY_K, KEY_I,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA, KEY_K, KEY_I, KEY_O,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA, KEY_K, KEY_I, KEY_O, KEY_0,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA, KEY_K, KEY_I, KEY_O, KEY_0, KEY_9,46,2198 -/* 40 */ KEY_RESERVED, KEY_COMMA, KEY_K, KEY_I, KEY_O, KEY_0, KEY_9, KEY_F9,46,2198 -/* 48 */ KEY_RESERVED,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT, KEY_SLASH,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT, KEY_SLASH, KEY_L,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT, KEY_SLASH, KEY_L, KEY_SEMICOLON,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT, KEY_SLASH, KEY_L, KEY_SEMICOLON, KEY_P,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT, KEY_SLASH, KEY_L, KEY_SEMICOLON, KEY_P, KEY_MINUS,47,2319 -/* 48 */ KEY_RESERVED, KEY_DOT, KEY_SLASH, KEY_L, KEY_SEMICOLON, KEY_P, KEY_MINUS, KEY_F10,47,2319 -/* 50 */ KEY_RESERVED,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_APOSTROPHE,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_APOSTROPHE,KEY_RESERVED,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_APOSTROPHE,KEY_RESERVED, KEY_LEFTBRACE,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_APOSTROPHE,KEY_RESERVED, KEY_LEFTBRACE, KEY_EQUAL,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_APOSTROPHE,KEY_RESERVED, KEY_LEFTBRACE, KEY_EQUAL, KEY_F11,48,2441 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_APOSTROPHE,KEY_RESERVED, KEY_LEFTBRACE, KEY_EQUAL, KEY_F11, KEY_SYSRQ,48,2441 -/* 58 */ C_58,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,KEY_ENTER,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,KEY_ENTER, KEY_RIGHTBRACE,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,KEY_ENTER, KEY_RIGHTBRACE,KEY_BACKSLASH,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,KEY_ENTER, KEY_RIGHTBRACE,KEY_BACKSLASH, KEY_BACKSLASH,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,KEY_ENTER, KEY_RIGHTBRACE,KEY_BACKSLASH, KEY_BACKSLASH,KEY_F12,49,2565 -/* 58 */ C_58, KEY_RIGHTSHIFT,KEY_ENTER, KEY_RIGHTBRACE,KEY_BACKSLASH, KEY_BACKSLASH,KEY_F12, KEY_SCROLLLOCK,49,2565 -/* 60 */ KEY_DOWN,50,2694 -/* 60 */ KEY_DOWN, C_61,50,2694 -/* 60 */ KEY_DOWN, C_61, KEY_PAUSE,50,2694 -/* 60 */ KEY_DOWN, C_61, KEY_PAUSE, KEY_UP,50,2694 -/* 60 */ KEY_DOWN, C_61, KEY_PAUSE, KEY_UP, KEY_DELETE,50,2694 -/* 60 */ KEY_DOWN, C_61, KEY_PAUSE, KEY_UP, KEY_DELETE, KEY_END,50,2694 -/* 60 */ KEY_DOWN, C_61, KEY_PAUSE, KEY_UP, KEY_DELETE, KEY_END, KEY_BACKSPACE,50,2694 -/* 60 */ KEY_DOWN, C_61, KEY_PAUSE, KEY_UP, KEY_DELETE, KEY_END, KEY_BACKSPACE, KEY_INSERT,50,2694 -/* 68 */ KEY_RESERVED,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1, KEY_RIGHT,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1, KEY_RIGHT, KEY_KP4,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1, KEY_RIGHT, KEY_KP4, KEY_KP7,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1, KEY_RIGHT, KEY_KP4, KEY_KP7, KEY_PAGEDOWN,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1, KEY_RIGHT, KEY_KP4, KEY_KP7, KEY_PAGEDOWN, KEY_HOME,51,2819 -/* 68 */ KEY_RESERVED, KEY_KP1, KEY_RIGHT, KEY_KP4, KEY_KP7, KEY_PAGEDOWN, KEY_HOME, KEY_PAGEUP,51,2819 -/* 70 */ KEY_KP0,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT, KEY_KP2,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT, KEY_KP2, KEY_KP5,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT, KEY_KP2, KEY_KP5, KEY_KP6,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT, KEY_KP2, KEY_KP5, KEY_KP6, KEY_KP8,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT, KEY_KP2, KEY_KP5, KEY_KP6, KEY_KP8, KEY_ESC,52,2944 -/* 70 */ KEY_KP0, KEY_KPDOT, KEY_KP2, KEY_KP5, KEY_KP6, KEY_KP8, KEY_ESC, KEY_NUMLOCK,52,2944 -/* 78 */ KEY_F11,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS, KEY_KP3,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS, KEY_KP3, KEY_KPMINUS,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS, KEY_KP3, KEY_KPMINUS, KEY_KPASTERISK,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS, KEY_KP3, KEY_KPMINUS, KEY_KPASTERISK,KEY_KP9,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS, KEY_KP3, KEY_KPMINUS, KEY_KPASTERISK,KEY_KP9, KEY_SCROLLLOCK,53,3070 -/* 78 */ KEY_F11, KEY_KPPLUS, KEY_KP3, KEY_KPMINUS, KEY_KPASTERISK,KEY_KP9, KEY_SCROLLLOCK,KEY_103RD,53,3070 -/* 80 */ KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,54,3194 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,54,3194 -/* 88 */ KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,55,3321 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,55,3321 -/* 90 */ KEY_RESERVED,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT, KEY_SYSRQ,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT, KEY_SYSRQ, KEY_RESERVED,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT, KEY_SYSRQ, KEY_RESERVED, KEY_RIGHTCTRL,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT, KEY_SYSRQ, KEY_RESERVED, KEY_RIGHTCTRL, KEY_RESERVED,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT, KEY_SYSRQ, KEY_RESERVED, KEY_RIGHTCTRL, KEY_RESERVED, KEY_RESERVED,56,3448 -/* 90 */ KEY_RESERVED, KEY_RIGHTALT, KEY_SYSRQ, KEY_RESERVED, KEY_RIGHTCTRL, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,56,3448 -/* 98 */ KEY_RESERVED,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_CAPSLOCK,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_CAPSLOCK, KEY_RESERVED,57,3575 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_CAPSLOCK, KEY_RESERVED, KEY_LEFTMETA,57,3575 -/* a0 */ KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,58,3702 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RIGHTMETA,58,3702 -/* a8 */ KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,59,3830 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_COMPOSE,59,3830 -/* b0 */ KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,60,3956 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,60,3956 -/* b8 */ KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,61,4083 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,61,4083 -/* c0 */ KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,62,4210 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,62,4210 -/* c8 */ KEY_RESERVED,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPSLASH,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPSLASH, KEY_RESERVED,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPSLASH, KEY_RESERVED, KEY_RESERVED,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPSLASH, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPSLASH, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,63,4337 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPSLASH, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,63,4337 -/* d0 */ KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,64,4464 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,64,4464 -/* d8 */ KEY_RESERVED,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPENTER,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, KEY_RESERVED,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, KEY_RESERVED, KEY_RESERVED,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,65,4591 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_KPENTER, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,65,4591 -/* e0 */ KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,66,4718 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,66,4718 -/* e8 */ KEY_RESERVED,67,4845 -/* e8 */ KEY_RESERVED, KEY_END,67,4845 -/* e8 */ KEY_RESERVED, KEY_END, KEY_RESERVED,67,4845 -/* e8 */ KEY_RESERVED, KEY_END, KEY_RESERVED, KEY_LEFT,67,4845 -/* e8 */ KEY_RESERVED, KEY_END, KEY_RESERVED, KEY_LEFT, KEY_HOME,67,4845 -/* e8 */ KEY_RESERVED, KEY_END, KEY_RESERVED, KEY_LEFT, KEY_HOME, KEY_RESERVED,67,4845 -/* e8 */ KEY_RESERVED, KEY_END, KEY_RESERVED, KEY_LEFT, KEY_HOME, KEY_RESERVED, KEY_RESERVED,67,4845 -/* e8 */ KEY_RESERVED, KEY_END, KEY_RESERVED, KEY_LEFT, KEY_HOME, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,67,4845 -/* f0 */ KEY_INSERT,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE, KEY_DOWN,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE, KEY_DOWN, KEY_RESERVED,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE, KEY_DOWN, KEY_RESERVED, KEY_RIGHT,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE, KEY_DOWN, KEY_RESERVED, KEY_RIGHT, KEY_UP,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE, KEY_DOWN, KEY_RESERVED, KEY_RIGHT, KEY_UP, KEY_RESERVED,68,4972 -/* f0 */ KEY_INSERT, KEY_DELETE, KEY_DOWN, KEY_RESERVED, KEY_RIGHT, KEY_UP, KEY_RESERVED, KEY_PAUSE,68,4972 -/* f8 */ KEY_RESERVED,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_PAGEDOWN,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_PAGEDOWN, KEY_RESERVED,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_PAGEDOWN, KEY_RESERVED, KEY_SYSRQ,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_PAGEDOWN, KEY_RESERVED, KEY_SYSRQ, KEY_PAGEUP,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_PAGEDOWN, KEY_RESERVED, KEY_SYSRQ, KEY_PAGEUP, KEY_RESERVED,69,5096 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_PAGEDOWN, KEY_RESERVED, KEY_SYSRQ, KEY_PAGEUP, KEY_RESERVED, KEY_RESERVED,69,5096 -/* 00 */ KEY_RESERVED,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_F7,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_F7, KEY_RESERVED,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_F7, KEY_RESERVED, KEY_RESERVED,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_F7, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,73,5270 -/* 00 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_F7, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,73,5270 -/* 08 */ KEY_RESERVED,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_LEFTMETA,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_LEFTMETA, KEY_RIGHTMETA,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_LEFTMETA, KEY_RIGHTMETA, KEY_RESERVED,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_LEFTMETA, KEY_RIGHTMETA, KEY_RESERVED, KEY_RESERVED,74,5397 -/* 08 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_LEFTMETA, KEY_RIGHTMETA, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,74,5397 -/* 10 */ KEY_RESERVED,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT, KEY_RESERVED,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT, KEY_RESERVED, KEY_RESERVED,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT, KEY_RESERVED, KEY_RESERVED, KEY_RIGHTCTRL,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT, KEY_RESERVED, KEY_RESERVED, KEY_RIGHTCTRL, KEY_RESERVED,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT, KEY_RESERVED, KEY_RESERVED, KEY_RIGHTCTRL, KEY_RESERVED, KEY_RESERVED,75,5524 -/* 10 */ KEY_RESERVED, KEY_RIGHTALT, KEY_RESERVED, KEY_RESERVED, KEY_RIGHTCTRL, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,75,5524 -/* 18 */ KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,76,5651 -/* 18 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,76,5651 -/* 20 */ KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,77,5778 -/* 20 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,77,5778 -/* 28 */ KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,78,5905 -/* 28 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,78,5905 -/* 30 */ KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,79,6032 -/* 30 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,79,6032 -/* 38 */ KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,80,6159 -/* 38 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,80,6159 -/* 40 */ KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,81,6286 -/* 40 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,81,6286 -/* 48 */ KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,82,6413 -/* 48 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,82,6413 -/* 50 */ KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,83,6540 -/* 50 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,83,6540 -/* 58 */ KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,84,6667 -/* 58 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,84,6667 -/* 60 */ KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,85,6794 -/* 60 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,85,6794 -/* 68 */ KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,86,6921 -/* 68 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,86,6921 -/* 70 */ KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,87,7048 -/* 70 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,87,7048 -/* 78 */ KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,88,7175 -/* 78 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,88,7175 -/* 80 */ KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,89,7302 -/* 80 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,89,7302 -/* 88 */ KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,90,7429 -/* 88 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,90,7429 -/* 90 */ KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,91,7556 -/* 90 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,91,7556 -/* 98 */ KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,92,7683 -/* 98 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,92,7683 -/* a0 */ KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,93,7810 -/* a0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,93,7810 -/* a8 */ KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,94,7937 -/* a8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,94,7937 -/* b0 */ KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,95,8064 -/* b0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,95,8064 -/* b8 */ KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,96,8191 -/* b8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,96,8191 -/* c0 */ KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,97,8318 -/* c0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,97,8318 -/* c8 */ KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,98,8445 -/* c8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,98,8445 -/* d0 */ KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,99,8572 -/* d0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,99,8572 -/* d8 */ KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,100,8699 -/* d8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,100,8699 -/* e0 */ KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,101,8826 -/* e0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,101,8826 -/* e8 */ KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,102,8953 -/* e8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,102,8953 -/* f0 */ KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,103,9080 -/* f0 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,103,9080 -/* f8 */ KEY_RESERVED,104,9207 -/* f8 */ KEY_RESERVED, KEY_RESERVED,104,9207 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,104,9207 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,104,9207 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,104,9207 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,104,9207 -/* f8 */ KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,104,9207 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/xtkbd.c,452 -#define DRIVER_DESC 37,1204 -#define XTKBD_EMUL0 43,1353 -#define XTKBD_EMUL1 44,1378 -#define XTKBD_KEY 45,1403 -#define XTKBD_RELEASE 46,1426 -static unsigned char xtkbd_keycode[48,1454 -static char *xtkbd_name 59,1969 -struct xtkbd xtkbd61,2011 -irqreturn_t xtkbd_interrupt(68,2120 -void xtkbd_connect(91,2738 -void xtkbd_disconnect(140,3895 -struct serio_driver xtkbd_drv 148,4057 -int __init xtkbd_init(158,4252 -void __exit xtkbd_exit(164,4332 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/lkkbd.c,1901 -#define DRIVER_DESC 79,3054 -static int bell_volume 93,3367 -static int keyclick_volume 97,3513 -static int ctrlclick_volume 101,3675 -static int lk201_compose_is_alt 105,3841 -#define DBG(DBG114,4072 -#define DBG(DBG116,4107 -#define LK_LED_WAIT 120,4167 -#define LK_LED_COMPOSE 121,4193 -#define LK_LED_SHIFTLOCK 122,4222 -#define LK_LED_SCROLLLOCK 123,4252 -#define LK_CMD_LED_ON 124,4283 -#define LK_CMD_LED_OFF 125,4311 -#define LK_MODE_DOWN 128,4360 -#define LK_MODE_AUTODOWN 129,4387 -#define LK_MODE_UPDOWN 130,4417 -#define LK_CMD_SET_MODE(LK_CMD_SET_MODE131,4446 -#define LK_CMD_ENABLE_KEYCLICK 134,4525 -#define LK_CMD_DISABLE_KEYCLICK 135,4561 -#define LK_CMD_DISABLE_BELL 136,4598 -#define LK_CMD_SOUND_BELL 137,4631 -#define LK_CMD_ENABLE_BELL 138,4662 -#define LK_CMD_DISABLE_CTRCLICK 139,4694 -#define LK_CMD_ENABLE_CTRCLICK 140,4731 -#define LK_CMD_SET_DEFAULTS 141,4767 -#define LK_CMD_POWERCYCLE_RESET 142,4800 -#define LK_CMD_ENABLE_LK401 143,4837 -#define LK_CMD_REQUEST_ID 144,4870 -#define LK_STUCK_KEY 147,4937 -#define LK_SELFTEST_FAILED 148,4964 -#define LK_ALL_KEYS_UP 149,4996 -#define LK_METRONOME 150,5025 -#define LK_OUTPUT_ERROR 151,5052 -#define LK_INPUT_ERROR 152,5082 -#define LK_KBD_LOCKED 153,5111 -#define LK_KBD_TEST_MODE_ACK 154,5139 -#define LK_PREFIX_KEY_DOWN 155,5173 -#define LK_MODE_CHANGE_ACK 156,5205 -#define LK_RESPONSE_RESERVED 157,5237 -#define LK_NUM_KEYCODES 159,5272 -#define LK_NUM_IGNORE_BYTES 160,5301 -typedef u_int16_t lk_keycode_t;lk_keycode_t161,5331 -static lk_keycode_t lkkbd_keycode[165,5366 -#define CHECK_LED(CHECK_LED276,7628 -struct lkkbd lkkbd286,7800 -volume_to_hw 305,8177 -lkkbd_detection_done 337,8762 -lkkbd_interrupt 417,10537 -lkkbd_event 504,12959 -lkkbd_reinit 564,14595 -lkkbd_connect 627,16507 -lkkbd_disconnect 699,18332 -static struct serio_driver lkkbd_drv 708,18485 -lkkbd_init 722,18760 -lkkbd_exit 729,18842 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/amikbd.c,332 -static unsigned char amikbd_keycode[48,1460 -static const char *amikbd_messages[147,3301 -static struct input_dev amikbd_dev;158,3807 -static char *amikbd_name 160,3844 -static char *amikbd_phys 161,3889 -static irqreturn_t amikbd_interrupt(163,3934 -static int __init amikbd_init(195,4927 -static void __exit amikbd_exit(233,5875 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/atkbd.c,2357 -#define DRIVER_DESC 30,755 -static int atkbd_set 36,914 -static int atkbd_reset;41,1133 -static int atkbd_reset 43,1163 -static int atkbd_softrepeat;48,1313 -static int atkbd_softraw 52,1464 -static int atkbd_scroll;56,1609 -static int atkbd_extra;60,1770 -static unsigned char atkbd_set2_keycode[77,2224 -static unsigned char atkbd_set3_keycode[102,3366 -static unsigned char atkbd_unxlate_table[118,4098 -#define ATKBD_CMD_SETLEDS 129,4735 -#define ATKBD_CMD_GSCANSET 130,4768 -#define ATKBD_CMD_SSCANSET 131,4802 -#define ATKBD_CMD_GETID 132,4836 -#define ATKBD_CMD_SETREP 133,4868 -#define ATKBD_CMD_ENABLE 134,4900 -#define ATKBD_CMD_RESET_DIS 135,4932 -#define ATKBD_CMD_SETALL_MBR 136,4967 -#define ATKBD_CMD_RESET_BAT 137,5003 -#define ATKBD_CMD_RESEND 138,5038 -#define ATKBD_CMD_EX_ENABLE 139,5070 -#define ATKBD_CMD_EX_SETLEDS 140,5105 -#define ATKBD_CMD_OK_GETID 141,5141 -#define ATKBD_RET_ACK 144,5177 -#define ATKBD_RET_NAK 145,5205 -#define ATKBD_RET_BAT 146,5233 -#define ATKBD_RET_EMUL0 147,5261 -#define ATKBD_RET_EMUL1 148,5291 -#define ATKBD_RET_RELEASE 149,5321 -#define ATKBD_RET_HANGUEL 150,5352 -#define ATKBD_RET_HANJA 151,5383 -#define ATKBD_RET_ERR 152,5413 -#define ATKBD_KEY_UNKNOWN 154,5442 -#define ATKBD_KEY_NULL 155,5472 -#define ATKBD_SCR_1 157,5501 -#define ATKBD_SCR_2 158,5526 -#define ATKBD_SCR_4 159,5551 -#define ATKBD_SCR_8 160,5576 -#define ATKBD_SCR_CLICK 161,5601 -#define ATKBD_SPECIAL 163,5631 -static unsigned char atkbd_scroll_keys[165,5659 -#define ATKBD_FLAG_ACK 173,5852 -#define ATKBD_FLAG_CMD 174,5904 -#define ATKBD_FLAG_CMD1 175,5966 -#define ATKBD_FLAG_ENABLED 176,6030 -struct atkbd atkbd182,6132 -struct atkbd_work atkbd_work223,6962 -static void atkbd_report_key(231,7074 -static irqreturn_t atkbd_interrupt(247,7461 -static int atkbd_sendbyte(443,12844 -static int atkbd_command(467,13489 -static void atkbd_execute_scheduled_command(538,15262 -static int atkbd_schedule_command(553,15633 -static int atkbd_event(585,16440 -static int atkbd_probe(643,18015 -static int atkbd_set_3(698,19794 -static int atkbd_enable(752,20841 -static void atkbd_cleanup(790,21490 -static void atkbd_disconnect(800,21679 -static void atkbd_connect(820,22190 -static int atkbd_reconnect(949,25524 -static struct serio_driver atkbd_drv 981,26258 -int __init atkbd_init(993,26518 -void __exit atkbd_exit(999,26598 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/sunkbd.c,896 -#define DRIVER_DESC 40,1289 -static unsigned char sunkbd_keycode[46,1439 -#define SUNKBD_CMD_RESET 57,2007 -#define SUNKBD_CMD_BELLON 58,2036 -#define SUNKBD_CMD_BELLOFF 59,2066 -#define SUNKBD_CMD_CLICK 60,2097 -#define SUNKBD_CMD_NOCLICK 61,2126 -#define SUNKBD_CMD_SETLED 62,2157 -#define SUNKBD_CMD_LAYOUT 63,2187 -#define SUNKBD_RET_RESET 65,2218 -#define SUNKBD_RET_ALLUP 66,2248 -#define SUNKBD_RET_LAYOUT 67,2278 -#define SUNKBD_LAYOUT_5_MASK 69,2310 -#define SUNKBD_RELEASE 70,2344 -#define SUNKBD_KEY 71,2373 -struct sunkbd sunkbd77,2429 -static irqreturn_t sunkbd_interrupt(95,2754 -static int sunkbd_event(144,4080 -static int sunkbd_initialize(182,4908 -static void sunkbd_reinit(208,5603 -static void sunkbd_connect(226,6325 -static void sunkbd_disconnect(298,8156 -static struct serio_driver sunkbd_drv 306,8330 -int __init sunkbd_init(320,8600 -void __exit sunkbd_exit(326,8682 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/maple_keyb.c,419 -static unsigned char dc_kbd_keycode[19,439 -struct dc_kbd dc_kbd39,1528 -static void dc_scan_kbd(47,1629 -static void dc_kbd_callback(86,2423 -static int dc_kbd_open(99,2690 -static void dc_kbd_close(107,2803 -static int dc_kbd_connect(114,2907 -static void dc_kbd_disconnect(153,3757 -static struct maple_driver dc_kbd_driver 162,3911 -static int __init dc_kbd_init(170,4089 -static void __exit dc_kbd_exit(177,4182 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/keyboard/newtonkbd.c,380 -#define DRIVER_DESC 35,1146 -#define NKBD_KEY 41,1307 -#define NKBD_PRESS 42,1329 -static unsigned char nkbd_keycode[44,1354 -static char *nkbd_name 60,2175 -struct nkbd nkbd62,2220 -irqreturn_t nkbd_interrupt(69,2328 -void nkbd_connect(87,2881 -void nkbd_disconnect(135,4012 -struct serio_driver nkbd_drv 143,4169 -int __init nkbd_init(153,4364 -void __exit nkbd_exit(159,4442 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/input.c,1460 -#define INPUT_DEVICES 45,1169 -static struct input_handler *input_table[50,1269 -static struct proc_dir_entry *proc_bus_input_dir;53,1337 -static int input_devices_state;55,1437 -static inline unsigned int ms_to_jiffies(58,1477 -void input_event(66,1633 -static void input_repeat_key(195,4387 -int input_accept_process(208,4674 -int input_grab_device(216,4839 -void input_release_device(225,4977 -int input_open_device(231,5099 -int input_flush_device(241,5308 -void input_close_device(249,5469 -static void input_link_handle(259,5697 -#define MATCH_BIT(MATCH_BIT265,5875 -static struct input_device_id *input_match_device(272,6045 -#define SPRINTF_BIT_A(SPRINTF_BIT_A326,7370 -#define SPRINTF_BIT_A2(SPRINTF_BIT_A2337,7661 -static void input_call_hotplug(343,7798 -void input_register_device(425,9933 -void input_unregister_device(465,10981 -void input_register_handler(495,11566 -void input_unregister_handler(522,12262 -static int input_open_file(544,12764 -static struct file_operations input_fops 575,13445 -#define SPRINTF_BIT_B(SPRINTF_BIT_B582,13566 -#define SPRINTF_BIT_B2(SPRINTF_BIT_B2592,13859 -static unsigned int input_devices_poll(599,13997 -static int input_devices_read(608,14238 -static int input_handlers_read(660,15676 -static int __init input_proc_init(695,16406 -static inline int input_proc_init(720,17177 -struct class_simple *input_class;723,17239 -static int __init input_init(725,17274 -static void __exit input_exit(754,18120 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/power.c,447 -static struct input_handler power_handler;39,1239 -static int suspend_button_pushed 45,1378 -static void suspend_button_task_handler(46,1416 -static void power_event(54,1622 -static struct input_handle *power_connect(100,2653 -static void power_disconnect(125,3307 -static struct input_device_id power_ids[131,3415 -static struct input_handler power_handler 151,3929 -static int __init power_init(159,4105 -static void __exit power_exit(165,4197 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/magellan.c,546 -#define DRIVER_DESC 38,1263 -#define MAGELLAN_MAX_LENGTH 48,1480 -static int magellan_buttons[50,1512 -static int magellan_axes[51,1611 -static char *magellan_name 52,1689 -struct magellan magellan58,1784 -static int magellan_crunch_nibbles(72,2143 -static void magellan_process_packet(86,2416 -static irqreturn_t magellan_interrupt(118,3289 -static void magellan_disconnect(137,3739 -static void magellan_connect(151,4101 -static struct serio_driver magellan_drv 204,5295 -int __init magellan_init(218,5576 -void __exit magellan_exit(224,5662 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/iforce/iforce-ff.c,569 -static int make_magnitude_modifier(39,1325 -static int make_period_modifier(69,2049 -static int make_envelope_modifier(107,2870 -static int make_condition_modifier(148,3825 -static unsigned char find_button(188,4867 -static int need_condition_modifier(201,5173 -static int need_magnitude_modifier(228,6102 -static int need_envelope_modifier(245,6574 -static int need_period_modifier(278,7763 -static int need_core(298,8376 -static int make_core(315,8846 -int iforce_upload_periodic(363,9971 -int iforce_upload_constant(432,12217 -int iforce_upload_condition(486,13959 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/iforce/iforce-main.c,803 -static signed short btn_joystick[36,1372 -static signed short btn_avb_pegasus[40,1538 -static signed short btn_wheel[44,1675 -static signed short btn_avb_tw[48,1838 -static signed short btn_avb_wheel[52,1970 -static signed short abs_joystick[56,2112 -static signed short abs_avb_pegasus[59,2208 -static signed short abs_wheel[63,2343 -static signed short ff_iforce[66,2439 -static struct iforce_device iforce_device[71,2615 -static int iforce_input_event(86,3609 -static int iforce_upload_effect(138,4664 -static int iforce_erase_effect(217,6605 -static int iforce_open(246,7553 -static int iforce_flush(266,7938 -static void iforce_release(290,8490 -void iforce_delete_device(323,9248 -int iforce_init_device(339,9541 -static int __init iforce_init(521,14074 -static void __exit iforce_exit(532,14286 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/iforce/iforce.h,1160 -#define IFORCE_MAX_LENGTH 48,1664 -#define IFORCE_232 51,1712 -#define IFORCE_USB 52,1733 -#define FALSE 54,1755 -#define TRUE 55,1771 -#define FF_EFFECTS_MAX 57,1787 -#define FF_MOD1_IS_USED 62,1934 -#define FF_MOD2_IS_USED 63,1961 -#define FF_CORE_IS_USED 64,1988 -#define FF_CORE_IS_PLAYED 65,2015 -#define FF_CORE_SHOULD_PLAY 66,2082 -#define FF_CORE_UPDATE 67,2153 -#define FF_MODCORE_MAX 68,2209 -#define CHECK_OWNERSHIP(CHECK_OWNERSHIP70,2236 -struct iforce_core_effect iforce_core_effect76,2457 -#define FF_CMD_EFFECT 90,2981 -#define FF_CMD_ENVELOPE 91,3011 -#define FF_CMD_MAGNITUDE 92,3043 -#define FF_CMD_PERIOD 93,3075 -#define FF_CMD_CONDITION 94,3105 -#define FF_CMD_AUTOCENTER 96,3138 -#define FF_CMD_PLAY 97,3171 -#define FF_CMD_ENABLE 98,3199 -#define FF_CMD_GAIN 99,3229 -#define FF_CMD_QUERY 101,3258 -#define XMIT_SIZE 104,3317 -#define XMIT_INC(XMIT_INC105,3340 -#define IFORCE_XMIT_RUNNING 107,3421 -#define IFORCE_XMIT_AGAIN 108,3451 -struct iforce_device iforce_device110,3480 -struct iforce iforce119,3610 -#define HI(HI153,4498 -#define LO(LO154,4540 -#define HIFIX80(HIFIX80159,4717 -#define TIME_SCALE(TIME_SCALE162,4808 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/iforce/iforce-usb.c,355 -void iforce_usb_xmit(32,1193 -static void iforce_usb_irq(77,2505 -static void iforce_usb_out(108,3218 -static void iforce_usb_ctrl(122,3492 -static int iforce_usb_probe(130,3699 -void iforce_usb_delete(193,5328 -static void iforce_usb_disconnect(205,5589 -static struct usb_device_id iforce_usb_ids 222,5946 -struct usb_driver iforce_usb_driver 237,6690 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/iforce/iforce-packets.c,245 -} iforce_hat_to_axis[35,1232 -void iforce_dump_packet(38,1335 -int iforce_send_packet(51,1604 -int iforce_control_playback(125,3066 -static int mark_core_as_ready(139,3498 -void iforce_process_packet(154,3993 -int iforce_get_id_packet(250,6866 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/iforce/iforce-serio.c,261 -void iforce_serial_xmit(32,1188 -static void iforce_serio_write_wakeup(76,2265 -static irqreturn_t iforce_serio_irq(81,2383 -static void iforce_serio_connect(127,3243 -static void iforce_serio_disconnect(152,3753 -struct serio_driver iforce_serio_drv 161,3934 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/grip.c,1157 -#define GRIP_MODE_GPP 42,1407 -#define GRIP_MODE_BD 43,1432 -#define GRIP_MODE_XT 44,1456 -#define GRIP_MODE_DC 45,1480 -#define GRIP_LENGTH_GPP 47,1505 -#define GRIP_STROBE_GPP 48,1533 -#define GRIP_LENGTH_XT 49,1575 -#define GRIP_STROBE_XT 50,1601 -#define GRIP_MAX_CHUNKS_XT 51,1640 -#define GRIP_MAX_BITS_XT 52,1670 -#define GRIP_REFRESH_TIME 54,1699 -struct grip grip56,1744 -static int grip_btn_gpp[67,1919 -static int grip_btn_bd[68,2046 -static int grip_btn_xt[69,2136 -static int grip_btn_dc[70,2270 -static int grip_abs_gpp[72,2403 -static int grip_abs_bd[73,2453 -static int grip_abs_xt[74,2538 -static int grip_abs_dc[75,2665 -static char *grip_name[77,2767 -static int *grip_abs[79,2922 -static int *grip_btn[80,3010 -static char grip_anx[81,3098 -static char grip_cen[82,3142 -static int grip_gpp_read_packet(88,3256 -static int grip_xt_read_packet(128,4065 -static void grip_timer(186,5211 -static int grip_open(286,8187 -static void grip_close(294,8358 -static void grip_connect(301,8491 -static void grip_disconnect(400,10817 -static struct gameport_dev grip_dev 412,11056 -int __init grip_init(417,11158 -void __exit grip_exit(423,11239 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/turbografx.c,929 -static int tgfx[45,1456 -static int tgfx[] __initdata 45,1456 -static int tgfx_nargs __initdata 46,1516 -static int tgfx_2[50,1701 -static int tgfx_2[] __initdata 50,1701 -static int tgfx_nargs_2 __initdata 51,1763 -static int tgfx_3[55,1925 -static int tgfx_3[] __initdata 55,1925 -static int tgfx_nargs_3 __initdata 56,1987 -#define TGFX_REFRESH_TIME 64,2234 -#define TGFX_TRIGGER 66,2280 -#define TGFX_UP 67,2307 -#define TGFX_DOWN 68,2330 -#define TGFX_LEFT 69,2354 -#define TGFX_RIGHT 70,2378 -#define TGFX_THUMB 72,2404 -#define TGFX_THUMB2 73,2429 -#define TGFX_TOP 74,2455 -#define TGFX_TOP2 75,2478 -static int tgfx_buttons[77,2503 -static char *tgfx_name 78,2590 -struct tgfx tgfx80,2651 -} *tgfx_base[87,2783 -static void tgfx_timer(93,2870 -static int tgfx_open(123,3834 -static void tgfx_close(134,4119 -static struct tgfx __init *tgfx_probe(148,4416 -int __init tgfx_init(232,6433 -void __exit tgfx_exit(244,6693 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/tmdc.c,1248 -#define TMDC_MAX_START 46,1490 -#define TMDC_MAX_STROBE 47,1531 -#define TMDC_MAX_LENGTH 48,1571 -#define TMDC_REFRESH_TIME 49,1599 -#define TMDC_MODE_M3DI 51,1644 -#define TMDC_MODE_3DRP 52,1670 -#define TMDC_MODE_AT 53,1696 -#define TMDC_MODE_FM 54,1720 -#define TMDC_MODE_FGP 55,1744 -#define TMDC_BYTE_ID 57,1772 -#define TMDC_BYTE_REV 58,1797 -#define TMDC_BYTE_DEF 59,1823 -#define TMDC_ABS 61,1850 -#define TMDC_ABS_HAT 62,1870 -#define TMDC_BTN 63,1894 -static unsigned char tmdc_byte_a[65,1916 -static unsigned char tmdc_byte_d[66,1977 -static signed char tmdc_abs[68,2033 -static signed char tmdc_abs_hat[70,2142 -static signed char tmdc_abs_at[72,2239 -static signed char tmdc_abs_fm[74,2331 -static short tmdc_btn_pad[77,2410 -static short tmdc_btn_joy[79,2534 -static short tmdc_btn_fm[82,2733 -static short tmdc_btn_at[84,2867 -} tmdc_hat_to_axis[91,3086 -struct tmdc tmdc93,3157 -static int tmdc_read_packet(115,3539 -static void tmdc_timer(164,4663 -static int tmdc_open(226,6122 -static void tmdc_close(234,6293 -static void tmdc_connect(245,6490 - struct models models247,6570 -static void tmdc_disconnect(354,9895 -static struct gameport_dev tmdc_dev 365,10143 -int __init tmdc_init(370,10245 -void __exit tmdc_exit(376,10326 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/grip_mp.c,1576 -#define dbg(dbg28,751 -#define dbg(dbg30,837 -struct grip_mp grip_mp37,921 -#define PACKET_FULL 58,1267 -#define PACKET_IO_FAST 59,1357 -#define PACKET_IO_SLOW 60,1447 -#define PACKET_MP_MORE 61,1537 -#define PACKET_MP_DONE 62,1627 -#define IO_GOT_PACKET 68,1763 -#define IO_MODE_FAST 69,1854 -#define IO_SLOT_CHANGE 70,1945 -#define IO_DONE 71,2036 -#define IO_RETRY 72,2127 -#define IO_RESET 73,2218 -#define GRIP_INIT_DELAY 81,2501 -#define GRIP_REFRESH_TIME 82,2559 -#define GRIP_MODE_NONE 84,2616 -#define GRIP_MODE_RESET 85,2642 -#define GRIP_MODE_GP 86,2676 -#define GRIP_MODE_C64 87,2700 -static int grip_btn_gp[89,2726 -static int grip_btn_c64[90,2820 -static int grip_abs_gp[92,2871 -static int grip_abs_c64[93,2921 -static int *grip_abs[95,2972 -static int *grip_btn[96,3040 -static char *grip_name[98,3109 -static const int init_seq[100,3197 -static int axis_map[108,3599 -static int bit_parity(116,3806 -static inline int poll_until(131,4056 -static int mp_io(161,4882 -static int multiport_io(298,8327 -static int dig_mode_start(316,8734 -static int get_and_decode_packet(355,9665 -static int slots_valid(440,11724 -static int multiport_init(468,12377 -static void report_slot(501,13116 -static void get_and_report_mp_state(527,13681 -static int grip_open(551,14137 -static void grip_close(563,14367 -static void register_slot(574,14575 -static void grip_timer(612,15672 -static void grip_connect(619,15851 -static void grip_disconnect(645,16516 -static struct gameport_dev grip_dev 657,16764 -static int grip_init(662,16866 -static void grip_exit(668,16947 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/twidjoy.c,480 -#define TWIDJOY_MAX_LENGTH 68,2624 -static char *twidjoy_name 70,2654 -static struct twidjoy_button_spec twidjoy_button_spec72,2704 -twidjoy_buttons[77,2788 -struct twidjoy twidjoy95,3382 -static void twidjoy_process_packet(107,3620 -static irqreturn_t twidjoy_interrupt(148,4720 -static void twidjoy_disconnect(176,5505 -static void twidjoy_connect(190,5861 -static struct serio_driver twidjoy_drv 249,7251 -int __init twidjoy_init(263,7527 -void __exit twidjoy_exit(269,7611 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/adi.c,1680 -#define ADI_MAX_START 48,1475 -#define ADI_MAX_STROBE 49,1542 -#define ADI_REFRESH_TIME 50,1601 -#define ADI_INIT_DELAY 51,1677 -#define ADI_DATA_DELAY 52,1741 -#define ADI_MAX_LENGTH 54,1804 -#define ADI_MIN_LENGTH 55,1832 -#define ADI_MIN_LEN_LENGTH 56,1858 -#define ADI_MIN_ID_LENGTH 57,1888 -#define ADI_MAX_NAME_LENGTH 58,1917 -#define ADI_MAX_CNAME_LENGTH 59,1948 -#define ADI_MAX_PHYS_LENGTH 60,1980 -#define ADI_FLAG_HAT 62,2012 -#define ADI_FLAG_10BIT 63,2039 -#define ADI_ID_TPD 65,2069 -#define ADI_ID_WGP 66,2094 -#define ADI_ID_WGPE 67,2119 -#define ADI_ID_MAX 68,2145 -static char *adi_names[74,2207 -static char adi_wmgpe_abs[79,2488 -static char adi_wmi_abs[80,2558 -static char adi_wmed3d_abs[81,2684 -static char adi_cm2_abs[82,2777 -static char adi_wmf_abs[83,2854 -static short adi_wmgpe_key[85,2984 -static short adi_wmi_key[86,3111 -static short adi_wmed3d_key[87,3243 -static short adi_cm2_key[88,3355 -static char* adi_abs[90,3445 -static short* adi_key[93,3635 -} adi_hat_to_axis[103,3901 -struct adi adi109,4040 -struct adi_port adi_port128,4367 -static void adi_read_packet(141,4554 -static void adi_move_bits(184,5494 -static inline int adi_get_bits(205,5946 -static int adi_decode(219,6250 -static int adi_read(262,7355 -static void adi_timer(281,7671 -static int adi_open(293,7923 -static void adi_close(305,8163 -static void adi_init_digital(317,8428 -static void adi_id_decode(329,8684 -static void adi_init_input(400,10311 -static void adi_init_center(438,11281 -static void adi_connect(478,12086 -static void adi_disconnect(531,13270 -static struct gameport_dev adi_dev 547,13568 -int __init adi_init(552,13667 -void __exit adi_exit(558,13746 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/joydump.c,288 -#define BUF_SIZE 42,1412 -struct joydump joydump44,1434 -static void __devinit joydump_connect(49,1496 -static void __devexit joydump_disconnect(129,3652 -static struct gameport_dev joydump_dev 134,3752 -static int __init joydump_init(139,3863 -static void __exit joydump_exit(145,3957 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/db9.c,2166 -static int db9[46,1524 -static int db9[] __initdata 46,1524 -static int db9_nargs __initdata 47,1565 -static int db9_2[51,1736 -static int db9_2[] __initdata 51,1736 -static int db9_nargs_2 __initdata 52,1779 -static int db9_3[56,1959 -static int db9_3[] __initdata 56,1959 -static int db9_nargs_3 __initdata 57,2002 -#define DB9_MULTI_STICK 65,2264 -#define DB9_MULTI2_STICK 66,2294 -#define DB9_GENESIS_PAD 67,2324 -#define DB9_GENESIS5_PAD 68,2354 -#define DB9_GENESIS6_PAD 69,2384 -#define DB9_SATURN_PAD 70,2414 -#define DB9_MULTI_0802 71,2443 -#define DB9_MULTI_0802_2 72,2472 -#define DB9_CD32_PAD 73,2502 -#define DB9_SATURN_DPP 74,2529 -#define DB9_SATURN_DPP_2 75,2558 -#define DB9_MAX_PAD 76,2588 -#define DB9_UP 78,2615 -#define DB9_DOWN 79,2637 -#define DB9_LEFT 80,2660 -#define DB9_RIGHT 81,2683 -#define DB9_FIRE1 82,2707 -#define DB9_FIRE2 83,2731 -#define DB9_FIRE3 84,2755 -#define DB9_FIRE4 85,2779 -#define DB9_NORMAL 87,2804 -#define DB9_NOSELECT 88,2829 -#define DB9_MAX_DEVICES 90,2857 -#define DB9_GENESIS6_DELAY 92,2884 -#define DB9_REFRESH_TIME 93,2914 -struct db9 db995,2947 -static struct db9 *db9_base[104,3094 -static short db9_multi_btn[106,3127 -static short db9_genesis_btn[107,3186 -static short db9_cd32_btn[108,3286 -static char db9_buttons[110,3390 -static short *db9_btn[111,3472 -static char *db9_name[114,3702 -static const int db9_max_pads[118,4020 -static const int db9_num_axis[119,4109 -static const short db9_abs[120,4197 -static const int db9_bidirectional[121,4321 -static const int db9_reverse[122,4414 -#define DB9_SATURN_DELAY 127,4531 -static const int db9_saturn_byte[128,4560 -static const unsigned char db9_saturn_mask[129,4628 -static void db9_saturn_write_sub(134,4786 -static unsigned char db9_saturn_read_sub(157,5394 -static unsigned char db9_saturn_read_analog(177,5915 -static unsigned char db9_saturn_read_packet(194,6400 -static int db9_saturn_report(261,8561 -static int db9_saturn(322,11390 -static void db9_timer(352,11957 -static int db9_open(502,16838 -static void db9_close(520,17220 -static struct db9 __init *db9_probe(533,17488 -int __init db9_init(622,19761 -void __exit db9_exit(634,20005 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/spaceball.c,715 -#define DRIVER_DESC 42,1328 -#define SPACEBALL_MAX_LENGTH 52,1525 -#define SPACEBALL_MAX_ID 53,1558 -#define SPACEBALL_1003 55,1586 -#define SPACEBALL_2003B 56,1616 -#define SPACEBALL_2003C 57,1646 -#define SPACEBALL_3003C 58,1676 -#define SPACEBALL_4000FLX 59,1706 -#define SPACEBALL_4000FLX_L 60,1736 -static int spaceball_axes[62,1767 -static char *spaceball_names[63,1846 -struct spaceball spaceball72,2187 -static void spaceball_process_packet(86,2434 -static irqreturn_t spaceball_interrupt(154,4706 -static void spaceball_disconnect(192,5504 -static void spaceball_connect(206,5872 -static struct serio_driver spaceball_drv 274,7728 -int __init spaceball_init(288,8014 -void __exit spaceball_exit(294,8102 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/warrior.c,457 -#define DRIVER_DESC 38,1256 -#define WARRIOR_MAX_LENGTH 48,1449 -static char warrior_lengths[49,1479 -static char *warrior_name 50,1540 -struct warrior warrior56,1626 -static void warrior_process_packet(68,1868 -static irqreturn_t warrior_interrupt(104,3258 -static void warrior_disconnect(130,3887 -static void warrior_connect(144,4242 -static struct serio_driver warrior_drv 204,5788 -int __init warrior_init(218,6064 -void __exit warrior_exit(224,6148 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/amijoy.c,397 -static int amijoy[48,1506 -static int amijoy_nargs;49,1539 -static int amijoy_used[55,1745 -static struct input_dev amijoy_dev[56,1783 -static char *amijoy_phys[57,1822 -static char *amijoy_name 59,1891 -static irqreturn_t amijoy_interrupt(61,1937 -static int amijoy_open(86,2617 -static void amijoy_close(102,2929 -static int __init amijoy_init(110,3074 -static void __exit amijoy_exit(150,4198 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/sidewinder.c,1291 -#define SW_DEBUG48,1545 -#define SW_START 50,1563 -#define SW_STROBE 51,1634 -#define SW_TIMEOUT 52,1686 -#define SW_KICK 53,1753 -#define SW_END 54,1816 -#define SW_FAIL 55,1884 -#define SW_BAD 56,1964 -#define SW_OK 57,2051 -#define SW_LENGTH 58,2138 -#define SW_REFRESH 59,2197 -#define dbg(dbg62,2299 -#define dbg(dbg64,2387 -#define SW_ID_3DP 71,2480 -#define SW_ID_GP 72,2500 -#define SW_ID_PP 73,2519 -#define SW_ID_FFP 74,2538 -#define SW_ID_FSP 75,2558 -#define SW_ID_FFW 76,2578 -static char *sw_name[82,2635 -static char sw_abs[85,2770 -static char sw_bit[93,3112 -static short sw_btn[101,3316 -} sw_hat_to_axis[112,3962 -struct sw sw114,4067 -static int sw_read_packet(137,4530 -#define GB(GB216,6882 -static __u64 sw_get_bits(218,6940 -static void sw_init_digital(241,7389 -static int sw_parity(266,7985 -static int sw_check(281,8215 -static int sw_parse(301,8539 -static int sw_read(415,11553 -static void sw_timer(489,13665 -static int sw_open(498,13840 -static void sw_close(506,13994 -static void sw_print_packet(517,14190 -static void sw_3dp_id(532,14624 -static int sw_guess_mode(560,15438 -static void sw_connect(572,15675 -static void sw_disconnect(752,20547 -static struct gameport_dev sw_dev 763,20763 -int __init sw_init(768,20859 -void __exit sw_exit(774,20936 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/stinger.c,420 -#define DRIVER_DESC 39,1282 -#define STINGER_MAX_LENGTH 49,1464 -static char *stinger_name 51,1494 -struct stinger stinger57,1570 -static void stinger_process_packet(69,1807 -static irqreturn_t stinger_interrupt(103,2981 -static void stinger_disconnect(125,3453 -static void stinger_connect(139,3808 -static struct serio_driver stinger_drv 192,5126 -int __init stinger_init(206,5402 -void __exit stinger_exit(212,5486 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/gamecon.c,2439 -static int gc[44,1553 -static int gc[] __initdata 44,1553 -static int gc_nargs __initdata 45,1605 -static int gc_2[49,1789 -static int gc_2[] __initdata 49,1789 -static int gc_nargs_2 __initdata 50,1843 -static int gc_3[54,2000 -static int gc_3[] __initdata 54,2000 -static int gc_nargs_3 __initdata 55,2054 -#define GC_SNES 65,2352 -#define GC_NES 66,2371 -#define GC_NES4 67,2389 -#define GC_MULTI 68,2408 -#define GC_MULTI2 69,2427 -#define GC_N64 70,2447 -#define GC_PSX 71,2465 -#define GC_DDR 72,2483 -#define GC_MAX 74,2502 -#define GC_REFRESH_TIME 76,2521 -struct gc gc78,2553 -static struct gc *gc_base[87,2707 -static int gc_status_bit[89,2738 -static char *gc_names[91,2802 -static unsigned char gc_n64_bytes[98,3023 -static short gc_n64_btn[99,3101 -#define GC_N64_LENGTH 101,3216 -#define GC_N64_REQUEST_LENGTH 102,3288 -#define GC_N64_DELAY 103,3369 -#define GC_N64_REQUEST 104,3458 -#define GC_N64_DWS 105,3553 -#define GC_N64_POWER_W 107,3705 -#define GC_N64_POWER_R 108,3779 -#define GC_N64_OUT 109,3833 -#define GC_N64_CLOCK 113,4091 -static void gc_n64_read_packet(120,4291 -#define GC_NES_DELAY 163,5251 -#define GC_NES_LENGTH 164,5305 -#define GC_SNES_LENGTH 165,5367 -#define GC_NES_POWER 167,5459 -#define GC_NES_CLOCK 168,5485 -#define GC_NES_LATCH 169,5511 -static unsigned char gc_nes_bytes[171,5538 -static unsigned char gc_snes_bytes[172,5592 -static short gc_snes_btn[173,5661 -static void gc_nes_read_packet(181,5914 -#define GC_MULTI_LENGTH 202,6470 -#define GC_MULTI2_LENGTH 203,6544 -static void gc_multi_read_packet(209,6682 -#define GC_PSX_DELAY 229,7108 -#define GC_PSX_LENGTH 230,7147 -#define GC_PSX_MOUSE 232,7211 -#define GC_PSX_NEGCON 233,7247 -#define GC_PSX_NORMAL 234,7285 -#define GC_PSX_ANALOG 235,7360 -#define GC_PSX_RUMBLE 236,7436 -#define GC_PSX_CLOCK 238,7487 -#define GC_PSX_COMMAND 239,7526 -#define GC_PSX_POWER 240,7567 -#define GC_PSX_SELECT 241,7609 -#define GC_PSX_ID(GC_PSX_ID243,7650 -#define GC_PSX_LEN(GC_PSX_LEN244,7715 -static int gc_psx_delay 246,7786 -static short gc_psx_abs[252,7998 -static short gc_psx_btn[253,8082 -static short gc_psx_ddr_btn[255,8227 -static void gc_psx_command(262,8381 -static void gc_psx_read_packet(285,9033 -#define GC_MAX_LENGTH 324,10236 -static void gc_timer(326,10273 -static int gc_open(500,14935 -static void gc_close(511,15169 -static struct gc __init *gc_probe(521,15369 -int __init gc_init(668,18849 -void __exit gc_exit(680,19077 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/cobra.c,526 -#define COBRA_MAX_STROBE 42,1397 -#define COBRA_REFRESH_TIME 43,1463 -#define COBRA_LENGTH 44,1522 -static char* cobra_name 46,1548 -static int cobra_btn[48,1614 -struct cobra cobra50,1746 -static unsigned char cobra_read_packet(61,1921 -static void cobra_timer(115,3118 -static int cobra_open(146,3814 -static void cobra_close(154,3991 -static void cobra_connect(161,4129 -static void cobra_disconnect(227,5959 -static struct gameport_dev cobra_dev 239,6214 -int __init cobra_init(244,6319 -void __exit cobra_exit(250,6402 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/interact.c,862 -#define INTERACT_MAX_START 46,1453 -#define INTERACT_MAX_STROBE 47,1497 -#define INTERACT_MAX_LENGTH 48,1540 -#define INTERACT_REFRESH_TIME 49,1585 -#define INTERACT_TYPE_HHFX 51,1634 -#define INTERACT_TYPE_PP8D 52,1683 -struct interact interact54,1728 -static short interact_abs_hhfx[66,1921 -static short interact_abs_pp8d[68,2017 -static short interact_btn_hhfx[71,2076 -static short interact_btn_pp8d[73,2218 -struct interact_type interact_type76,2321 -static struct interact_type interact_type[85,2438 -static int interact_read_packet(94,2738 -static void interact_timer(131,3498 -static int interact_open(189,4925 -static void interact_close(201,5192 -static void interact_connect(212,5406 -static void interact_disconnect(289,7539 -static struct gameport_dev interact_dev 297,7738 -int __init interact_init(302,7852 -void __exit interact_exit(308,7941 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/guillemot.c,762 -#define GUILLEMOT_MAX_START 43,1413 -#define GUILLEMOT_MAX_STROBE 44,1458 -#define GUILLEMOT_MAX_LENGTH 45,1502 -#define GUILLEMOT_REFRESH_TIME 46,1549 -static short guillemot_abs_pad[48,1599 -static short guillemot_btn_pad[51,1684 -} guillemot_hat_to_axis[57,1855 -struct guillemot_type guillemot_type59,1960 -struct guillemot guillemot67,2056 -static struct guillemot_type guillemot_type[79,2259 -static int guillemot_read_packet(87,2454 -static void guillemot_timer(124,3158 -static int guillemot_open(159,4154 -static void guillemot_close(171,4428 -static void guillemot_connect(182,4649 -static void guillemot_disconnect(260,6873 -static struct gameport_dev guillemot_dev 269,7198 -int __init guillemot_init(274,7315 -void __exit guillemot_exit(280,7406 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/a3d.c,799 -#define A3D_MAX_START 42,1383 -#define A3D_MAX_STROBE 43,1423 -#define A3D_DELAY_READ 44,1462 -#define A3D_MAX_LENGTH 45,1499 -#define A3D_REFRESH_TIME 46,1542 -#define A3D_MODE_A3D 48,1586 -#define A3D_MODE_PAN 49,1628 -#define A3D_MODE_OEM 50,1666 -#define A3D_MODE_PXL 51,1716 -char *a3d_names[53,1758 -struct a3d a3d56,1905 -static int a3d_read_packet(76,2200 -static int a3d_csum(109,2776 -static void a3d_read(116,2961 -static void a3d_timer(181,5520 -int a3d_adc_cooked_read(198,6095 -int a3d_adc_open(213,6437 -static void a3d_adc_close(227,6736 -static int a3d_open(238,6941 -static void a3d_close(250,7173 -static void a3d_connect(261,7352 -static void a3d_disconnect(377,10524 -static struct gameport_dev a3d_dev 388,10769 -int __init a3d_init(393,10868 -void __exit a3d_exit(399,10947 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/analog.c,2777 -#define ANALOG_PORTS 51,1540 -static char *js[53,1566 -static int js_nargs;54,1597 -static int analog_options[55,1618 -#define ANALOG_RUDDER 65,1851 -#define ANALOG_THROTTLE 66,1882 -#define ANALOG_AXES_STD 67,1915 -#define ANALOG_BTNS_STD 68,1948 -#define ANALOG_BTNS_CHF 70,1982 -#define ANALOG_HAT1_CHF 71,2015 -#define ANALOG_HAT2_CHF 72,2048 -#define ANALOG_HAT_FCS 73,2081 -#define ANALOG_HATS_ALL 74,2113 -#define ANALOG_BTN_TL 75,2146 -#define ANALOG_BTN_TR 76,2177 -#define ANALOG_BTN_TL2 77,2208 -#define ANALOG_BTN_TR2 78,2240 -#define ANALOG_BTNS_TLR 79,2272 -#define ANALOG_BTNS_TLR2 80,2305 -#define ANALOG_BTNS_GAMEPAD 81,2338 -#define ANALOG_HBTN_CHF 83,2375 -#define ANALOG_ANY_CHF 84,2408 -#define ANALOG_SAITEK 85,2440 -#define ANALOG_EXTENSIONS 86,2471 -#define ANALOG_GAMEPAD 87,2505 -#define ANALOG_MAX_TIME 89,2538 -#define ANALOG_LOOP_TIME 90,2576 -#define ANALOG_REFRESH_TIME 91,2621 -#define ANALOG_SAITEK_DELAY 92,2668 -#define ANALOG_SAITEK_TIME 93,2713 -#define ANALOG_AXIS_TIME 94,2759 -#define ANALOG_INIT_RETRIES 95,2804 -#define ANALOG_FUZZ_BITS 96,2848 -#define ANALOG_FUZZ_MAGIC 97,2892 -#define ANALOG_MAX_NAME_LENGTH 99,2941 -#define ANALOG_MAX_PHYS_LENGTH 100,2977 -static short analog_axes[102,3012 -static short analog_hats[103,3085 -static short analog_pads[104,3184 -static short analog_exts[105,3247 -static short analog_pad_btn[106,3330 -static short analog_joy_btn[107,3455 -static unsigned char analog_chf[110,3606 -struct analog analog112,3727 -struct analog_port analog_port120,3870 -#define GET_TIME(GET_TIME144,4190 -#define DELTA(DELTA145,4280 -#define TIME_NAME 146,4382 -static unsigned int get_time_pit(147,4426 -#define GET_TIME(GET_TIME162,4805 -#define DELTA(DELTA163,4835 -#define TIME_NAME 164,4864 -#define GET_TIME(GET_TIME166,4913 -#define DELTA(DELTA167,4968 -#define TIME_NAME 168,4997 -#define FAKE_TIME170,5027 -static unsigned long analog_faketime 171,5045 -#define GET_TIME(GET_TIME172,5087 -#define DELTA(DELTA173,5150 -#define TIME_NAME 174,5179 -static void analog_decode(182,5358 -static int analog_cooked_read(230,6894 -static int analog_button_read(279,7914 -static void analog_timer(311,8597 -static int analog_open(347,9543 -static void analog_close(359,9795 -static void analog_calibrate_timer(371,10055 -static void analog_name(409,10800 -static void analog_init_device(432,11559 -static int analog_init_masks(529,14217 -static int analog_init_port(590,16251 -static void analog_connect(654,18004 -static void analog_disconnect(679,18513 -struct analog_types analog_types694,18951 -struct analog_types analog_types[699,19002 -static void analog_parse_options(713,19318 -static struct gameport_dev analog_dev 744,19942 -int __init analog_init(749,20050 -void __exit analog_exit(756,20160 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/gf2k.c,1343 -#define GF2K_START 43,1405 -#define GF2K_STROBE 44,1479 -#define GF2K_TIMEOUT 45,1552 -#define GF2K_LENGTH 46,1619 -#define GF2K_REFRESH 47,1684 -#define GF2K_ID_G09 53,1790 -#define GF2K_ID_F30D 54,1813 -#define GF2K_ID_F30 55,1837 -#define GF2K_ID_F31D 56,1860 -#define GF2K_ID_F305 57,1884 -#define GF2K_ID_F23P 58,1908 -#define GF2K_ID_F31 59,1932 -#define GF2K_ID_MAX 60,1955 -static char gf2k_length[62,1979 -static char gf2k_hat_to_axis[63,2043 -static char *gf2k_names[65,2163 -static unsigned char gf2k_hats[67,2333 -static unsigned char gf2k_axes[68,2396 -static unsigned char gf2k_joys[69,2459 -static unsigned char gf2k_pads[70,2522 -static unsigned char gf2k_lens[71,2585 -static unsigned char gf2k_abs[73,2649 -static short gf2k_btn_joy[74,2747 -static short gf2k_btn_pad[75,2867 -static short gf2k_seq_reset[78,3002 -static short gf2k_seq_digital[79,3051 -struct gf2k gf2k81,3108 -static int gf2k_read_packet(97,3359 -static void gf2k_trigger_seq(133,3967 -#define GB(GB161,4656 -static int gf2k_get_bits(163,4704 -static void gf2k_read(177,4959 -static void gf2k_timer(208,5790 -static int gf2k_open(222,6124 -static void gf2k_close(230,6290 -static void gf2k_connect(241,6481 -static void gf2k_disconnect(341,9173 -static struct gameport_dev gf2k_dev 349,9352 -int __init gf2k_init(354,9454 -void __exit gf2k_exit(360,9535 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/joystick/spaceorb.c,592 -#define DRIVER_DESC 41,1321 -#define SPACEORB_MAX_LENGTH 51,1530 -static int spaceorb_buttons[53,1562 -static int spaceorb_axes[54,1642 -static char *spaceorb_name 55,1720 -struct spaceorb spaceorb61,1810 -static unsigned char spaceorb_xor[69,1945 -static unsigned char *spaceorb_errors[71,1997 -static void spaceorb_process_packet(79,2296 -static irqreturn_t spaceorb_interrupt(135,4082 -static void spaceorb_disconnect(153,4546 -static void spaceorb_connect(167,4916 -static struct serio_driver spaceorb_drv 218,6066 -int __init spaceorb_init(232,6347 -void __exit spaceorb_exit(238,6433 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/touchscreen/h3600_ts_input.c,1783 -#define DRIVER_DESC 48,1494 -#define CHAR_SOF 59,1755 -#define CHAR_EOF 60,1792 -#define FRAME_OVERHEAD 61,1829 -#define VERSION_ID 68,2077 -#define KEYBD_ID 69,2153 -#define TOUCHS_ID 70,2216 -#define EEPROM_READ_ID 71,2282 -#define EEPROM_WRITE_ID 72,2347 -#define THERMAL_ID 73,2412 -#define NOTIFY_LED_ID 74,2477 -#define BATTERY_ID 75,2542 -#define SPI_READ_ID 76,2607 -#define SPI_WRITE_ID 77,2673 -#define FLITE_ID 78,2739 -#define STX_ID 79,2815 -#define MAX_ID 81,2895 -#define H3600_MAX_LENGTH 83,2931 -#define H3600_KEY 84,2959 -#define H3600_SCANCODE_RECORD 86,2982 -#define H3600_SCANCODE_CALENDAR 87,3040 -#define H3600_SCANCODE_CONTACTS 88,3095 -#define H3600_SCANCODE_Q 89,3149 -#define H3600_SCANCODE_START 90,3197 -#define H3600_SCANCODE_UP 91,3251 -#define H3600_SCANCODE_RIGHT 92,3294 -#define H3600_SCANCODE_LEFT 93,3344 -#define H3600_SCANCODE_DOWN 94,3392 -static char *h3600_name 96,3441 -struct h3600_dev h3600_dev101,3521 -static irqreturn_t action_button_handler(112,3755 -static irqreturn_t npower_button_handler(124,4068 -static int flite_brightness 143,4545 -enum flite_pwr flite_pwr145,4580 - FLITE_PWR_OFF 146,4597 - FLITE_PWR_ON 147,4624 -unsigned int h3600_flite_power(152,4740 -static int suspended 164,5096 -static int h3600ts_pm_callback(165,5122 -static void h3600ts_process_packet(198,6143 -static int h3600ts_event(293,8913 -static int state;322,9687 -#define STATE_SOF 325,9727 -#define STATE_ID 326,9780 -#define STATE_DATA 327,9853 -#define STATE_EOF 328,9918 -static irqreturn_t h3600ts_interrupt(330,9995 -static void h3600ts_connect(378,11303 -static void h3600ts_disconnect(468,14018 -static struct serio_driver h3600ts_drv 483,14340 -static int __init h3600ts_init(497,14616 -static void __exit h3600ts_exit(503,14707 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/touchscreen/gunze.c,397 -#define DRIVER_DESC 39,1269 -#define GUNZE_MAX_LENGTH 49,1472 -static char *gunze_name 51,1501 -struct gunze gunze57,1590 -static void gunze_process_packet(65,1719 -static irqreturn_t gunze_interrupt(83,2324 -static void gunze_disconnect(102,2738 -static void gunze_connect(116,3111 -static struct serio_driver gunze_drv 161,4171 -int __init gunze_init(175,4437 -void __exit gunze_exit(181,4517 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/tsdev.c,1211 -#define TSDEV_MINOR_BASE 38,1609 -#define TSDEV_MINORS 39,1639 -#define TSDEV_MINOR_MASK 41,1738 -#define TSDEV_BUFFER_SIZE 42,1766 -#define CONFIG_INPUT_TSDEV_SCREEN_X 59,2177 -#define CONFIG_INPUT_TSDEV_SCREEN_Y 62,2260 -static int xres 86,3368 -static int yres 90,3532 -struct ts_event ts_event95,3761 -struct ts_calibration ts_calibration102,3838 -struct tsdev tsdev110,3931 -struct tsdev_list tsdev_list122,4127 -#define IOC_H3600_TS_MAGIC 136,4532 -#define TS_GET_CAL 137,4564 -#define TS_SET_CAL 138,4635 -static struct input_handler tsdev_handler;140,4707 -static struct tsdev *tsdev_table[142,4751 -static int tsdev_fasync(144,4802 -static int tsdev_open(153,5014 -static void tsdev_free(178,5648 -static int tsdev_release(186,5872 -static ssize_t tsdev_read(203,6206 -static unsigned int tsdev_poll(234,7014 -static int tsdev_ioctl(244,7252 -struct file_operations tsdev_fops 270,7826 -static void tsdev_event(280,8032 -static struct input_handle *tsdev_connect(371,9891 -static void tsdev_disconnect(428,11541 -static struct input_device_id tsdev_ids[442,11829 -static struct input_handler tsdev_handler 468,12859 -static int __init tsdev_init(478,13086 -static void __exit tsdev_exit(485,13241 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/evdev.c,875 -#define EVDEV_MINOR_BASE 11,308 -#define EVDEV_MINORS 12,336 -#define EVDEV_BUFFER_SIZE 13,361 -struct evdev evdev25,629 -struct evdev_list evdev_list36,803 -static struct evdev *evdev_table[45,973 -static void evdev_event(47,1022 -static int evdev_fasync(77,1905 -static int evdev_flush(85,2116 -static void evdev_free(92,2309 -static int evdev_release(100,2536 -static int evdev_open(123,2985 -static ssize_t evdev_write(150,3674 -static ssize_t evdev_read(169,4175 -static unsigned int evdev_poll(197,4969 -static int evdev_ioctl(206,5205 -static struct file_operations evdev_fops 391,10299 -static struct input_handle *evdev_connect(403,10557 -static void evdev_disconnect(440,11584 -static struct input_device_id evdev_ids[453,11826 -static struct input_handler evdev_handler 460,12002 -static int __init evdev_init(470,12229 -static void __exit evdev_exit(476,12321 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mousedev.c,2070 -#define MOUSEDEV_MINOR_BASE 12,340 -#define MOUSEDEV_MINORS 13,372 -#define MOUSEDEV_MIX 14,400 -#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 37,994 -#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 40,1084 -static int xres 43,1135 -static int yres 47,1271 -static unsigned tap_time 51,1405 -struct mousedev_hw_data mousedev_hw_data55,1550 -struct mousedev mousedev62,1648 -enum mousedev_emul mousedev_emul77,1905 - MOUSEDEV_EMUL_PS2,78,1926 - MOUSEDEV_EMUL_IMPS,79,1946 - MOUSEDEV_EMUL_EXPS80,1967 -struct mousedev_motion mousedev_motion83,1991 -#define PACKET_QUEUE_LEN 88,2061 -struct mousedev_list mousedev_list89,2089 -#define MOUSEDEV_SEQ_LEN 105,2440 -static unsigned char mousedev_imps_seq[107,2468 -static unsigned char mousedev_imex_seq[108,2547 -static struct input_handler mousedev_handler;110,2627 -static struct mousedev *mousedev_table[112,2674 -static struct mousedev mousedev_mix;113,2731 -#define fx(fx115,2769 -#define fy(fy116,2836 -static void mousedev_touchpad_event(118,2904 -static void mousedev_abs_event(137,3363 -static void mousedev_rel_event(162,4193 -static void mousedev_key_event(171,4463 -static void mousedev_notify_readers(203,5175 -static void mousedev_touchpad_touch(247,6409 -static void mousedev_event(271,7185 -static int mousedev_fasync(322,8490 -static void mousedev_free(330,8707 -static int mixdev_release(338,8961 -static int mousedev_release(356,9290 -static int mousedev_open(380,9762 -static inline int mousedev_limit_delta(423,10868 -static void mousedev_packet(428,11001 -static ssize_t mousedev_write(476,12273 -static ssize_t mousedev_read(546,13855 -static unsigned int mousedev_poll(580,14644 -struct file_operations mousedev_fops 589,14892 -static struct input_handle *mousedev_connect(599,15119 -static void mousedev_disconnect(639,16299 -static struct input_device_id mousedev_ids[654,16584 -static struct input_handler mousedev_handler 684,17832 -static struct miscdevice psaux_mouse 695,18118 -static int psaux_registered;698,18202 -static int __init mousedev_init(701,18239 -static void __exit mousedev_exit(727,19044 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/evbug.c,317 -static char evbug_name[41,1369 -static void evbug_event(43,1406 -static struct input_handle *evbug_connect(48,1631 -static void evbug_disconnect(67,2131 -static struct input_device_id evbug_ids[76,2318 -static struct input_handler evbug_handler 83,2494 -int __init evbug_init(91,2670 -void __exit evbug_exit(97,2755 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/maceps2.c,1084 -#define MACE_PS2_TIMEOUT 32,844 -#define PS2_STATUS_CLOCK_SIGNAL 34,895 -#define PS2_STATUS_CLOCK_INHIBIT 35,963 -#define PS2_STATUS_TX_INPROGRESS 36,1029 -#define PS2_STATUS_TX_EMPTY 37,1100 -#define PS2_STATUS_RX_FULL 38,1168 -#define PS2_STATUS_RX_INPROGRESS 39,1234 -#define PS2_STATUS_ERROR_PARITY 40,1302 -#define PS2_STATUS_ERROR_FRAMING 41,1361 -#define PS2_CONTROL_TX_CLOCK_DISABLE 43,1422 -#define PS2_CONTROL_TX_ENABLE 44,1502 -#define PS2_CONTROL_TX_INT_ENABLE 45,1568 -#define PS2_CONTROL_RX_INT_ENABLE 46,1644 -#define PS2_CONTROL_RX_CLOCK_ENABLE 47,1719 -#define PS2_CONTROL_RESET 48,1797 -struct maceps2_data maceps2_data50,1854 -static struct maceps2_data port_data[55,1918 -static struct serio *maceps2_port[56,1959 -static struct platform_device *maceps2_device;57,1997 -static int maceps2_write(59,2045 -static irqreturn_t maceps2_interrupt(75,2389 -static int maceps2_open(89,2763 -static void maceps2_close(110,3310 -static struct serio * __init maceps2_allocate_port(121,3560 -static int __init maceps2_init(142,4122 -static void __exit maceps2_exit(168,4817 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/serio_raw.c,901 -#define DRIVER_DESC 23,647 -#define SERIO_RAW_QUEUE_LEN 29,793 -struct serio_raw serio_raw30,824 -struct serio_raw_list serio_raw_list43,1074 -static unsigned int serio_raw_no;51,1258 -static int serio_raw_fasync(57,1508 -static struct serio_raw *serio_raw_locate(66,1728 -static int serio_raw_open(78,1950 -static int serio_raw_cleanup(115,2654 -static int serio_raw_release(128,2869 -static int serio_raw_fetch_byte(142,3163 -static ssize_t serio_raw_read(160,3571 -static ssize_t serio_raw_write(190,4281 -static unsigned int serio_raw_poll(226,4905 -struct file_operations serio_raw_fops 238,5178 -static irqreturn_t serio_raw_interrupt(253,5622 -static void serio_raw_connect(273,6235 -static int serio_raw_reconnect(331,7659 -static void serio_raw_disconnect(348,8052 -static struct serio_driver serio_raw_drv 366,8369 -int __init serio_raw_init(378,8645 -void __exit serio_raw_exit(384,8733 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/serport.c,569 -#define SERPORT_BUSY 29,752 -struct serport serport31,776 -static int serport_serio_write(42,942 -static void serport_serio_close(48,1136 -static int serport_ldisc_open(61,1445 -static void serport_ldisc_close(98,2367 -static void serport_ldisc_receive(113,2786 -static int serport_ldisc_room(127,3243 -static ssize_t serport_ldisc_read(138,3493 -static int serport_ldisc_ioctl(160,4112 -static void serport_ldisc_write_wakeup(170,4405 -static struct tty_ldisc serport_ldisc 181,4610 -static int __init serport_init(197,5003 -static void __exit serport_exit(207,5214 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/serio.c,1889 -static unsigned int serio_no;59,2015 -struct bus_type serio_bus 61,2046 -static int serio_bind_driver(72,2446 -static void serio_find_driver(90,2865 -struct serio_event serio_event104,3110 -enum serio_event_type serio_event_type110,3192 - SERIO_RESCAN,111,3216 - SERIO_RECONNECT,112,3231 - SERIO_REGISTER_PORT,113,3249 - SERIO_UNREGISTER_PORT,114,3271 -static spinlock_t serio_event_lock 117,3299 -static int serio_pid;121,3509 -static void serio_queue_event(123,3532 -static struct serio_event *serio_get_event(141,3950 -static void serio_handle_events(163,4412 -static void serio_remove_pending_events(199,5078 -static int serio_thread(219,5515 -static ssize_t serio_show_description(243,5965 -static ssize_t serio_show_driver(249,6125 -static ssize_t serio_rebind_driver(254,6268 -static ssize_t serio_show_bind_mode(285,7026 -static ssize_t serio_set_bind_mode(291,7211 -static struct device_attribute serio_device_attrs[308,7561 -static void serio_release_port(316,7854 -static void serio_create_port(324,7995 -static void serio_destroy_port(342,8502 -static void serio_connect_port(372,9269 -static void serio_reconnect_port(406,9932 -static void serio_disconnect_port(423,10382 -void serio_rescan(456,11046 -void serio_reconnect(461,11131 -void serio_register_port(466,11222 -void serio_register_port_delayed(479,11561 -void serio_unregister_port(484,11668 -void serio_unregister_port_delayed(497,12009 -static ssize_t serio_driver_show_description(507,12156 -static ssize_t serio_driver_show_bind_mode(513,12381 -static ssize_t serio_driver_set_bind_mode(519,12597 -static struct driver_attribute serio_driver_attrs[537,12983 -void serio_register_driver(544,13222 -void serio_unregister_driver(575,13756 -int serio_open(599,14249 -void serio_close(615,14605 -irqreturn_t serio_interrupt(625,14762 -static int __init serio_init(650,15316 -static void __exit serio_exit(664,15628 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/ct82c710.c,876 -#define CT82C710_DEV_IDLE 51,1510 -#define CT82C710_RX_FULL 52,1564 -#define CT82C710_TX_IDLE 53,1627 -#define CT82C710_RESET 54,1686 -#define CT82C710_INTS_ON 55,1741 -#define CT82C710_ERROR_FLAG 56,1803 -#define CT82C710_CLEAR 57,1858 -#define CT82C710_ENABLE 58,1913 -#define CT82C710_IRQ 60,1970 -#define CT82C710_DATA 62,2004 -#define CT82C710_STATUS 63,2055 -static struct serio *ct82c710_port;65,2113 -static struct platform_device *ct82c710_device;66,2149 -static struct resource ct82c710_iores;67,2197 -static irqreturn_t ct82c710_interrupt(74,2334 -static int ct82c170_wait(83,2565 -static void ct82c710_close(99,2901 -static int ct82c710_open(112,3248 -static int ct82c710_write(145,3954 -static int __init ct82c710_probe(156,4160 -static struct serio * __init ct82c710_allocate_port(177,4887 -int __init ct82c710_init(196,5420 -void __exit ct82c710_exit(218,5922 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042-jazzio.h,564 -#define _I8042_JAZZ_H2,22 -#define I8042_KBD_PHYS_DESC 16,281 -#define I8042_AUX_PHYS_DESC 17,324 -#define I8042_MUX_PHYS_DESC 18,367 -#define I8042_KBD_IRQ 24,429 -#define I8042_AUX_IRQ 25,469 -#define I8042_COMMAND_REG 27,507 -#define I8042_STATUS_REG 28,568 -#define I8042_DATA_REG 29,628 -static inline int i8042_read_data(31,685 -static inline int i8042_read_status(36,753 -static inline void i8042_write_data(41,826 -static inline void i8042_write_command(46,898 -static inline int i8042_platform_init(51,976 -static inline void i8042_platform_exit(62,1177 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042-sparcio.h,766 -#define _I8042_SPARCIO_H2,25 -static int i8042_kbd_irq 12,169 -static int i8042_aux_irq 13,200 -#define I8042_KBD_IRQ 14,231 -#define I8042_AUX_IRQ 15,267 -#define I8042_KBD_PHYS_DESC 17,304 -#define I8042_AUX_PHYS_DESC 18,350 -#define I8042_MUX_PHYS_DESC 19,396 -static void __iomem *kbd_iobase;21,444 -#define I8042_COMMAND_REG 23,478 -#define I8042_DATA_REG 24,526 -static inline int i8042_read_data(26,573 -static inline int i8042_read_status(31,654 -static inline void i8042_write_data(36,737 -static inline void i8042_write_command(41,822 -#define OBP_PS2KBD_NAME1 46,910 -#define OBP_PS2KBD_NAME2 47,944 -#define OBP_PS2MS_NAME1 48,980 -#define OBP_PS2MS_NAME2 49,1015 -static int i8042_platform_init(51,1049 -static inline void i8042_platform_exit(109,2407 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/parkbd.c,705 -#define PARKBD_CLOCK 43,1414 -#define PARKBD_DATA 44,1459 -static int parkbd;46,1505 -static int parkbd_mode 47,1524 -static int parkbd_buffer;49,1562 -static int parkbd_counter;50,1588 -static unsigned long parkbd_last;51,1615 -static int parkbd_writing;52,1649 -static unsigned long parkbd_start;53,1676 -static struct pardevice *parkbd_dev;55,1712 -static struct serio *parkbd_port;56,1749 -static int parkbd_readlines(58,1784 -static void parkbd_writelines(63,1881 -static int parkbd_write(68,1988 -static void parkbd_interrupt(87,2301 -static int parkbd_getport(125,3184 -static struct serio * __init parkbd_allocate_serio(157,3760 -int __init parkbd_init(173,4193 -void __exit parkbd_exit(197,4604 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/rpckbd.c,413 -static struct serio *rpckbd_port;48,1535 -static struct platform_device *rpckbd_device;49,1569 -static int rpckbd_write(51,1616 -static irqreturn_t rpckbd_rx(61,1790 -static irqreturn_t rpckbd_tx(76,2110 -static int rpckbd_open(81,2210 -static void rpckbd_close(102,2762 -static struct serio * __init rpckbd_allocate_port(113,2977 -static int __init rpckbd_init(132,3485 -static void __exit rpckbd_exit(147,3822 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/ambakmi.c,509 -#define KMI_BASE 29,789 -struct amba_kmi_port amba_kmi_port31,819 -static irqreturn_t amba_kmi_int(40,973 -static int amba_kmi_write(55,1312 -static int amba_kmi_open(69,1636 -static void amba_kmi_close(106,2303 -static int amba_kmi_probe(117,2490 -static int amba_kmi_remove(174,3626 -static int amba_kmi_resume(188,3893 -static struct amba_id amba_kmi_idtable[198,4090 -static struct amba_driver ambakmi_driver 206,4198 -static int __init amba_kmi_init(216,4401 -static void __exit amba_kmi_exit(221,4491 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/q40kbd.c,415 -spinlock_t q40kbd_lock 51,1607 -static struct serio *q40kbd_port;52,1652 -static struct platform_device *q40kbd_device;53,1686 -static irqreturn_t q40kbd_interrupt(55,1733 -static void q40kbd_flush(75,2190 -static int q40kbd_open(93,2592 -static void q40kbd_close(109,2929 -static struct serio * __init q40kbd_allocate_port(118,3108 -static int __init q40kbd_init(136,3566 -static void __exit q40kbd_exit(156,3989 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042.c,2600 -static unsigned int i8042_noaux;33,801 -static unsigned int i8042_nomux;37,950 -static unsigned int i8042_unlock;41,1128 -static unsigned int i8042_reset;45,1265 -static unsigned int i8042_direct;49,1418 -static unsigned int i8042_dumbkbd;53,1577 -static unsigned int i8042_noloop;57,1753 -spinlock_t i8042_lock 71,2169 -struct i8042_values i8042_values73,2214 -static struct i8042_values i8042_kbd_values 82,2352 -static struct i8042_values i8042_aux_values 89,2494 -static struct i8042_values i8042_mux_values[96,2635 -static struct serio *i8042_kbd_port;98,2702 -static struct serio *i8042_aux_port;99,2739 -static struct serio *i8042_mux_port[100,2776 -static unsigned char i8042_initial_ctr;101,2834 -static unsigned char i8042_ctr;102,2874 -static unsigned char i8042_mux_open;103,2906 -static unsigned char i8042_mux_present;104,2943 -static struct pm_dev *i8042_pm_dev;105,2983 -static struct timer_list i8042_timer;106,3019 -static struct platform_device *i8042_platform_device;107,3057 -#define i8042_request_irq_cookie 113,3213 -static int i8042_wait_read(123,3532 -static int i8042_wait_write(133,3718 -static int i8042_flush(148,4025 -static int i8042_command(176,4797 -static int i8042_kbd_write(221,5816 -static int i8042_aux_write(242,6204 -static int i8042_activate_port(270,6782 -static int i8042_open(298,7331 -static void i8042_close(337,8265 -static irqreturn_t i8042_interrupt(363,8841 -static int i8042_enable_mux_mode(459,11584 -static int i8042_enable_mux_ports(497,12445 -static int __init i8042_check_mux(532,13151 -static int __init i8042_check_aux(560,13807 -static int __init i8042_port_register(638,15858 -static void i8042_timer_func(664,16423 -static int i8042_spank_usb(670,16511 -static int i8042_controller_init(739,17897 -void i8042_controller_reset(838,19980 -void i8042_controller_cleanup(863,20515 -static int i8042_controller_suspend(891,20972 -static int i8042_controller_resume(904,21168 -static int i8042_notify_sys(946,22234 -static struct notifier_block i8042_notifier 954,22459 -static int blink_frequency 961,22561 -#define DELAY 964,22656 -static long i8042_panic_blink(968,22836 -static int i8042_suspend(998,23457 -static int i8042_resume(1003,23596 -static void i8042_shutdown(1008,23720 -static struct device_driver i8042_driver 1013,23801 -static int i8042_pm_callback(1024,24041 -static struct serio * __init i8042_allocate_kbd_port(1037,24278 -static struct serio * __init i8042_allocate_aux_port(1057,24890 -static struct serio * __init i8042_allocate_mux_port(1077,25448 -int __init i8042_init(1102,26198 -void __exit i8042_exit(1160,27524 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042-ip22io.h,565 -#define _I8042_IP22_H2,22 -#define I8042_KBD_PHYS_DESC 17,310 -#define I8042_AUX_PHYS_DESC 18,355 -#define I8042_MUX_PHYS_DESC 19,400 -#define I8042_KBD_IRQ 25,464 -#define I8042_AUX_IRQ 26,500 -#define I8042_COMMAND_REG 32,566 -#define I8042_STATUS_REG 33,634 -#define I8042_DATA_REG 34,701 -static inline int i8042_read_data(36,765 -static inline int i8042_read_status(41,840 -static inline void i8042_write_data(46,920 -static inline void i8042_write_command(51,999 -static inline int i8042_platform_init(56,1084 -static inline void i8042_platform_exit(69,1296 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/sa1111ps2.c,487 -struct ps2if ps2if28,685 -static irqreturn_t ps2_rxint(44,1060 -static irqreturn_t ps2_txint(73,1792 -static int ps2_write(96,2412 -static int ps2_open(123,3066 -static void ps2_close(155,3797 -static void __init ps2_clear_input(174,4135 -ps2_test_one(185,4345 -static int __init ps2_test(201,4741 -static int ps2_probe(232,5377 -static int ps2_remove(318,7155 -static struct sa1111_driver ps2_driver 335,7466 -static int __init ps2_init(344,7626 -static void __exit ps2_exit(349,7709 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042-io.h,757 -#define _I8042_IO_H2,20 -#define I8042_KBD_PHYS_DESC 14,255 -#define I8042_AUX_PHYS_DESC 15,300 -#define I8042_MUX_PHYS_DESC 16,345 -# define I8042_KBD_IRQ 23,426 -# define I8042_AUX_IRQ 24,451 -# define I8042_KBD_IRQ 26,554 -# define I8042_AUX_IRQ 27,598 -# define I8042_KBD_IRQ 34,794 -# define I8042_AUX_IRQ 35,819 -#define I8042_COMMAND_REG 42,882 -#define I8042_STATUS_REG 43,914 -#define I8042_DATA_REG 44,945 -static inline int i8042_read_data(46,975 -static inline int i8042_read_status(51,1049 -static inline void i8042_write_data(56,1127 -static inline void i8042_write_command(62,1214 -static struct dmi_system_id __initdata i8042_dmi_table[72,1354 -static inline int i8042_platform_init(93,1813 -static inline void i8042_platform_exit(116,2385 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042-ppcio.h,1051 -#define _I8042_PPCIO_H2,23 -#define I8042_KBD_IRQ 12,270 -#define I8042_AUX_IRQ 13,295 -#define I8042_KBD_PHYS_DESC 15,321 -#define I8042_AUX_PHYS_DESC 16,368 -#define I8042_MUX_PHYS_DESC 17,415 -#define I8042_COMMAND_REG 22,507 -#define I8042_DATA_REG 23,549 -static inline int i8042_read_data(25,591 -static inline int i8042_read_status(30,660 -static inline void i8042_write_data(35,729 -static inline void i8042_write_command(40,802 -static inline int i8042_platform_init(45,876 -static inline void i8042_platform_exit(51,954 -#define I8042_KBD_IRQ 57,1034 -#define I8042_AUX_IRQ 58,1059 -#define I8042_KBD_PHYS_DESC 60,1085 -#define I8042_AUX_PHYS_DESC 61,1132 -#define I8042_MUX_PHYS_DESC 62,1179 -#define I8042_COMMAND_REG 64,1228 -#define I8042_DATA_REG 65,1265 -static inline int i8042_read_data(67,1300 -static inline int i8042_read_status(88,1711 -static inline void i8042_write_data(110,2159 -static inline void i8042_write_command(115,2254 -static inline int i8042_platform_init(120,2352 -static inline void i8042_platform_exit(126,2430 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/pcips2.c,913 -#define PS2_CTRL 23,664 -#define PS2_STATUS 24,686 -#define PS2_DATA 25,710 -#define PS2_CTRL_CLK 27,733 -#define PS2_CTRL_DAT 28,762 -#define PS2_CTRL_TXIRQ 29,791 -#define PS2_CTRL_ENABLE 30,822 -#define PS2_CTRL_RXIRQ 31,854 -#define PS2_STAT_CLK 33,886 -#define PS2_STAT_DAT 34,915 -#define PS2_STAT_PARITY 35,944 -#define PS2_STAT_RXFULL 36,976 -#define PS2_STAT_TXBUSY 37,1008 -#define PS2_STAT_TXEMPTY 38,1040 -struct pcips2_data pcips2_data40,1073 -static int pcips2_write(46,1159 -static irqreturn_t pcips2_interrupt(61,1439 -static void pcips2_flush_input(88,2045 -static int pcips2_open(102,2343 -static void pcips2_close(120,2703 -static int __devinit pcips2_probe(129,2855 -static void __devexit pcips2_remove(180,3975 -static struct pci_device_id pcips2_ids[191,4221 -static struct pci_driver pcips2_driver 211,4676 -static int __init pcips2_init(218,4837 -static void __exit pcips2_exit(223,4919 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/i8042.h,1357 -#define _I8042_H2,17 -#define I8042_CTL_TIMEOUT 36,826 -#define I8042_POLL_PERIOD 45,1107 -#define I8042_STR_PARITY 51,1173 -#define I8042_STR_TIMEOUT 52,1203 -#define I8042_STR_AUXDATA 53,1234 -#define I8042_STR_KEYLOCK 54,1265 -#define I8042_STR_CMDDAT 55,1296 -#define I8042_STR_MUXERR 56,1326 -#define I8042_STR_IBF 57,1356 -#define I8042_STR_OBF 58,1384 -#define I8042_CTR_KBDINT 64,1447 -#define I8042_CTR_AUXINT 65,1477 -#define I8042_CTR_IGNKEYLOCK 66,1507 -#define I8042_CTR_KBDDIS 67,1541 -#define I8042_CTR_AUXDIS 68,1571 -#define I8042_CTR_XLATE 69,1601 -#define I8042_CMD_CTL_RCTR 75,1653 -#define I8042_CMD_CTL_WCTR 76,1687 -#define I8042_CMD_CTL_TEST 77,1721 -#define I8042_CMD_KBD_DISABLE 79,1756 -#define I8042_CMD_KBD_ENABLE 80,1793 -#define I8042_CMD_KBD_TEST 81,1829 -#define I8042_CMD_KBD_LOOP 82,1863 -#define I8042_CMD_AUX_DISABLE 84,1898 -#define I8042_CMD_AUX_ENABLE 85,1935 -#define I8042_CMD_AUX_TEST 86,1971 -#define I8042_CMD_AUX_SEND 87,2005 -#define I8042_CMD_AUX_LOOP 88,2039 -#define I8042_CMD_MUX_PFX 90,2074 -#define I8042_CMD_MUX_SEND 91,2107 -#define I8042_RET_CTL_TEST 97,2167 -#define I8042_BUFFER_SIZE 104,2335 -#define I8042_NUM_MUX_PORTS 111,2459 -static unsigned long i8042_start;118,2521 -#define dbg_init(dbg_init119,2555 -#define dbg(dbg120,2614 -#define dbg_init(dbg_init123,2741 -#define dbg(dbg124,2777 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/serio/gscps2.c,1687 -#define PFX 45,1431 -#define ENABLE 52,1509 -#define DISABLE 53,1528 -#define GSC_DINO_OFFSET 55,1549 -#define GSC_ID 58,1658 -#define GSC_RESET 59,1721 -#define GSC_RCVDATA 60,1769 -#define GSC_XMTDATA 61,1821 -#define GSC_CONTROL 62,1874 -#define GSC_STATUS 63,1933 -#define GSC_CTRL_ENBL 66,2019 -#define GSC_CTRL_LPBXR 67,2070 -#define GSC_CTRL_DIAG 68,2124 -#define GSC_CTRL_DATDIR 69,2191 -#define GSC_CTRL_CLKDIR 70,2252 -#define GSC_STAT_RBNE 73,2342 -#define GSC_STAT_TBNE 74,2401 -#define GSC_STAT_TERR 75,2461 -#define GSC_STAT_PERR 76,2509 -#define GSC_STAT_CMPINTR 77,2556 -#define GSC_STAT_DATSHD 78,2630 -#define GSC_STAT_CLKSHD 79,2683 -#define GSC_ID_KEYBOARD 82,2781 -#define GSC_ID_MOUSE 83,2831 -#define BUFFER_SIZE 88,2937 -struct gscps2port gscps2port91,2997 -#define gscps2_readb_input(gscps2_readb_input109,3274 -#define gscps2_readb_control(gscps2_readb_control110,3328 -#define gscps2_readb_status(gscps2_readb_status111,3384 -#define gscps2_writeb_control(gscps2_writeb_control112,3438 -static int wait_TBE(119,3560 -static void gscps2_flush(135,3864 -static inline int gscps2_writeb_output(148,4155 -static void gscps2_enable(180,4928 -static void gscps2_reset(203,5441 -static irqreturn_t gscps2_interrupt(233,6281 -static int gscps2_write(288,7776 -static int gscps2_open(304,8139 -static void gscps2_close(319,8350 -static struct serio gscps2_serio_port 325,8481 -static int __init gscps2_probe(343,8817 -static int __devexit gscps2_remove(437,11073 -static struct parisc_device_id gscps2_device_tbl[455,11468 -static struct parisc_driver parisc_ps2_driver 463,11741 -static int __init gscps2_init(470,11901 -static void __exit gscps2_exit(476,11998 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/psmouse.h,1196 -#define _PSMOUSE_H2,19 -#define PSMOUSE_CMD_SETSCALE11 4,39 -#define PSMOUSE_CMD_SETRES 5,77 -#define PSMOUSE_CMD_GETINFO 6,111 -#define PSMOUSE_CMD_SETSTREAM 7,146 -#define PSMOUSE_CMD_POLL 8,183 -#define PSMOUSE_CMD_GETID 9,215 -#define PSMOUSE_CMD_SETRATE 10,248 -#define PSMOUSE_CMD_ENABLE 11,283 -#define PSMOUSE_CMD_DISABLE 12,317 -#define PSMOUSE_CMD_RESET_DIS 13,352 -#define PSMOUSE_CMD_RESET_BAT 14,389 -#define PSMOUSE_RET_BAT 16,427 -#define PSMOUSE_RET_ID 17,457 -#define PSMOUSE_RET_ACK 18,486 -#define PSMOUSE_RET_NAK 19,516 -#define PSMOUSE_FLAG_ACK 21,547 -#define PSMOUSE_FLAG_CMD 22,600 -#define PSMOUSE_FLAG_CMD1 23,663 -#define PSMOUSE_FLAG_WAITID 24,744 -enum psmouse_state psmouse_state26,809 - PSMOUSE_IGNORE,27,830 - PSMOUSE_INITIALIZING,28,847 - PSMOUSE_CMD_MODE,29,870 - PSMOUSE_ACTIVATED,30,889 - PSMOUSE_BAD_DATA,35,972 - PSMOUSE_GOOD_DATA,36,991 - PSMOUSE_FULL_PACKET37,1011 -} psmouse_ret_t;psmouse_ret_t38,1032 -struct psmouse psmouse40,1050 -#define PSMOUSE_PS2 72,1820 -#define PSMOUSE_PS2PP 73,1843 -#define PSMOUSE_PS2TPP 74,1868 -#define PSMOUSE_GENPS 75,1894 -#define PSMOUSE_IMPS 76,1919 -#define PSMOUSE_IMEX 77,1943 -#define PSMOUSE_SYNAPTICS 78,1967 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/logips2pp.c,577 -#define PS2PP_KIND_WHEEL 18,463 -#define PS2PP_KIND_MX 19,490 -#define PS2PP_KIND_TP3 20,515 -#define PS2PP_WHEEL 23,572 -#define PS2PP_HWHEEL 24,598 -#define PS2PP_SIDE_BTN 25,625 -#define PS2PP_EXTRA_BTN 26,654 -#define PS2PP_TASK_BTN 27,684 -#define PS2PP_NAV_BTN 28,713 -struct ps2pp_info ps2pp_info30,742 -void ps2pp_process_packet(40,885 -static int ps2pp_cmd(95,2482 -static void ps2pp_set_smartscroll(114,2964 -void ps2pp_set_800dpi(138,3641 -static struct ps2pp_info *get_model_info(147,3945 -static void ps2pp_set_model_properties(195,5432 -int ps2pp_init(239,6500 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/synaptics.h,2310 -#define _SYNAPTICS_H10,259 -#define SYN_QUE_IDENTIFY 17,466 -#define SYN_QUE_MODES 18,497 -#define SYN_QUE_CAPABILITIES 19,526 -#define SYN_QUE_MODEL 20,561 -#define SYN_QUE_SERIAL_NUMBER_PREFIX 21,590 -#define SYN_QUE_SERIAL_NUMBER_SUFFIX 22,632 -#define SYN_QUE_RESOLUTION 23,674 -#define SYN_QUE_EXT_CAPAB 24,707 -#define SYN_BIT_ABSOLUTE_MODE 27,761 -#define SYN_BIT_HIGH_RATE 28,801 -#define SYN_BIT_SLEEP_MODE 29,837 -#define SYN_BIT_DISABLE_GESTURE 30,874 -#define SYN_BIT_FOUR_BYTE_CLIENT 31,916 -#define SYN_BIT_W_MODE 32,958 -#define SYN_MODEL_ROT180(SYN_MODEL_ROT18035,1023 -#define SYN_MODEL_PORTRAIT(SYN_MODEL_PORTRAIT36,1070 -#define SYN_MODEL_SENSOR(SYN_MODEL_SENSOR37,1119 -#define SYN_MODEL_HARDWARE(SYN_MODEL_HARDWARE38,1169 -#define SYN_MODEL_NEWABS(SYN_MODEL_NEWABS39,1220 -#define SYN_MODEL_PEN(SYN_MODEL_PEN40,1266 -#define SYN_MODEL_SIMPLIC(SYN_MODEL_SIMPLIC41,1309 -#define SYN_MODEL_GEOMETRY(SYN_MODEL_GEOMETRY42,1356 -#define SYN_CAP_EXTENDED(SYN_CAP_EXTENDED45,1433 -#define SYN_CAP_MIDDLE_BUTTON(SYN_CAP_MIDDLE_BUTTON46,1480 -#define SYN_CAP_PASS_THROUGH(SYN_CAP_PASS_THROUGH47,1531 -#define SYN_CAP_SLEEP(SYN_CAP_SLEEP48,1581 -#define SYN_CAP_FOUR_BUTTON(SYN_CAP_FOUR_BUTTON49,1624 -#define SYN_CAP_MULTIFINGER(SYN_CAP_MULTIFINGER50,1673 -#define SYN_CAP_PALMDETECT(SYN_CAP_PALMDETECT51,1722 -#define SYN_CAP_VALID(SYN_CAP_VALID52,1770 -#define SYN_EXT_CAP_REQUESTS(SYN_EXT_CAP_REQUESTS53,1830 -#define SYN_CAP_MULTI_BUTTON_NO(SYN_CAP_MULTI_BUTTON_NO54,1888 -#define SYN_MODE_ABSOLUTE(SYN_MODE_ABSOLUTE57,1984 -#define SYN_MODE_RATE(SYN_MODE_RATE58,2031 -#define SYN_MODE_BAUD_SLEEP(SYN_MODE_BAUD_SLEEP59,2074 -#define SYN_MODE_DISABLE_GESTURE(SYN_MODE_DISABLE_GESTURE60,2123 -#define SYN_MODE_PACKSIZE(SYN_MODE_PACKSIZE61,2176 -#define SYN_MODE_WMODE(SYN_MODE_WMODE62,2223 -#define SYN_ID_MODEL(SYN_ID_MODEL65,2304 -#define SYN_ID_MAJOR(SYN_ID_MAJOR66,2350 -#define SYN_ID_MINOR(SYN_ID_MINOR67,2389 -#define SYN_ID_IS_SYNAPTICS(SYN_ID_IS_SYNAPTICS68,2436 -#define SYN_PS_SET_MODE2 71,2532 -#define SYN_PS_CLIENT_CMD 72,2563 -#define SYN_NEWABS 75,2625 -#define SYN_NEWABS_STRICT 76,2648 -#define SYN_NEWABS_RELAXED 77,2677 -#define SYN_OLDABS 78,2707 -struct synaptics_hw_state synaptics_hw_state84,2819 -struct synaptics_data synaptics_data97,3022 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/psmouse-base.c,1307 -#define DRIVER_DESC 25,546 -static char *psmouse_proto;31,695 -static unsigned int psmouse_max_proto 32,723 -int psmouse_resolution 36,930 -unsigned int psmouse_rate 40,1075 -int psmouse_smartscroll 44,1221 -static unsigned int psmouse_resetafter;48,1418 -static char *psmouse_protocols[58,1800 -static psmouse_ret_t psmouse_process_byte(65,2063 -static irqreturn_t psmouse_interrupt(133,3873 -static int psmouse_sendbyte(277,7636 -int psmouse_command(298,8230 -int psmouse_sliced_command(371,10316 -int psmouse_reset(391,10701 -static int genius_detect(408,10978 -static int intellimouse_detect(425,11459 -static int im_explorer_detect(443,11887 -static int psmouse_extensions(465,12406 -static int psmouse_probe(562,14754 -static void psmouse_set_resolution(593,15433 -static void psmouse_set_rate(618,15964 -static void psmouse_initialize(631,16266 -static void psmouse_set_state(658,16864 -static void psmouse_activate(671,17223 -static void psmouse_deactivate(685,17622 -static void psmouse_cleanup(698,17951 -static void psmouse_disconnect(709,18124 -static void psmouse_connect(736,18755 -static int psmouse_reconnect(829,21287 -static struct serio_driver psmouse_drv 877,22444 -static inline void psmouse_parse_proto(889,22718 -int __init psmouse_init(903,23110 -void __exit psmouse_exit(910,23218 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/synaptics.c,1136 -#define XMIN_NOMINAL 37,1285 -#define XMAX_NOMINAL 38,1311 -#define YMIN_NOMINAL 39,1337 -#define YMAX_NOMINAL 40,1363 -static int synaptics_send_cmd(49,1658 -static int synaptics_mode_cmd(61,1961 -static int synaptics_model_id(77,2320 -static int synaptics_capability(92,2667 -static int synaptics_identify(132,3729 -static void print_ident(145,4048 -static int synaptics_query_hardware(178,5482 -static int synaptics_set_mode(195,5821 -static int synaptics_pt_write(215,6438 -static inline int synaptics_is_pt_packet(227,6788 -static void synaptics_pass_pt_packet(232,6914 -static void synaptics_pt_activate(246,7375 -static void synaptics_pt_create(257,7740 -static void synaptics_parse_hw_state(284,8561 -static void synaptics_process_packet(350,10498 -static int synaptics_validate_byte(420,12405 -static unsigned char synaptics_detect_pkt_type(448,13312 -static psmouse_ret_t synaptics_process_byte(461,13627 -static void set_input_params(488,14601 -void synaptics_reset(523,15621 -static void synaptics_disconnect(529,15767 -static int synaptics_reconnect(535,15883 -int synaptics_detect(562,16527 -int synaptics_init(577,16918 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/pc110pad.c,547 -#define PC110PAD_OFF 49,1492 -#define PC110PAD_ON 50,1518 -static int pc110pad_irq 52,1544 -static int pc110pad_io 53,1574 -static struct input_dev pc110pad_dev;55,1608 -static int pc110pad_data[56,1646 -static int pc110pad_count;57,1675 -static int pc110pad_used;58,1702 -static char *pc110pad_name 60,1729 -static char *pc110pad_phys 61,1780 -static irqreturn_t pc110pad_interrupt(63,1828 -static void pc110pad_close(90,2588 -static int pc110pad_open(96,2705 -static int __init pc110pad_init(110,2965 -static void __exit pc110pad_exit(152,4120 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/amimouse.c,435 -static int amimouse_used 36,824 -static int amimouse_lastx,37,854 -static int amimouse_lastx, amimouse_lasty;37,854 -static struct input_dev amimouse_dev;38,897 -static char *amimouse_name 40,936 -static char *amimouse_phys 41,980 -static irqreturn_t amimouse_interrupt(43,1029 -static int amimouse_open(80,1931 -static void amimouse_close(101,2435 -static int __init amimouse_init(107,2569 -static void __exit amimouse_exit(131,3283 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/maplemouse.c,357 -struct dc_mouse dc_mouse18,412 -static void dc_mouse_callback(24,469 -static int dc_mouse_open(47,1145 -static void dc_mouse_close(55,1266 -static int dc_mouse_connect(62,1378 -static void dc_mouse_disconnect(97,2309 -static struct maple_driver dc_mouse_driver 106,2473 -static int __init dc_mouse_init(114,2651 -static void __exit dc_mouse_exit(121,2748 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/vsxxxaa.c,937 -#define DRIVER_DESC 85,2930 -#define DBG(DBG93,3160 -#define DBG(DBG95,3195 -#define VSXXXAA_INTRO_MASK 98,3237 -#define VSXXXAA_INTRO_HEAD 99,3269 -#define IS_HDR_BYTE(IS_HDR_BYTE100,3301 -#define VSXXXAA_PACKET_MASK 103,3384 -#define VSXXXAA_PACKET_REL 104,3417 -#define VSXXXAA_PACKET_ABS 105,3449 -#define VSXXXAA_PACKET_POR 106,3481 -#define MATCH_PACKET_TYPE(MATCH_PACKET_TYPE107,3513 -struct vsxxxaa vsxxxaa111,3595 -#define BUFLEN 114,3657 -vsxxxaa_drop_bytes 125,3894 -vsxxxaa_queue_byte 136,4103 -vsxxxaa_detection_done 149,4433 -vsxxxaa_check_packet 174,4969 -vsxxxaa_smells_like_packet 202,5577 -vsxxxaa_handle_REL_packet 208,5751 -vsxxxaa_handle_ABS_packet 266,7185 -vsxxxaa_handle_POR_packet 320,8563 -vsxxxaa_parse_buffer 391,10640 -vsxxxaa_interrupt 465,12629 -vsxxxaa_disconnect 477,12886 -vsxxxaa_connect 487,13064 -static struct serio_driver vsxxxaa_drv 545,14711 -vsxxxaa_init 556,14934 -vsxxxaa_exit 563,15020 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/sermouse.c,438 -#define DRIVER_DESC 40,1293 -static char *sermouse_protocols[46,1443 -struct sermouse sermouse50,1644 -static void sermouse_process_msc(65,1989 -static void sermouse_process_ms(108,3034 -static irqreturn_t sermouse_interrupt(209,5641 -static void sermouse_disconnect(229,6158 -static void sermouse_connect(242,6450 -static struct serio_driver sermouse_drv 294,7997 -int __init sermouse_init(304,8214 -void __exit sermouse_exit(310,8300 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/logips2pp.h,28 -#define _LOGIPS2PP_H12,316 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/logibm.c,860 -#define LOGIBM_BASE 53,1616 -#define LOGIBM_EXTENT 54,1643 -#define LOGIBM_DATA_PORT 56,1669 -#define LOGIBM_SIGNATURE_PORT 57,1710 -#define LOGIBM_CONTROL_PORT 58,1756 -#define LOGIBM_CONFIG_PORT 59,1800 -#define LOGIBM_ENABLE_IRQ 61,1844 -#define LOGIBM_DISABLE_IRQ 62,1875 -#define LOGIBM_READ_X_LOW 63,1907 -#define LOGIBM_READ_X_HIGH 64,1938 -#define LOGIBM_READ_Y_LOW 65,1970 -#define LOGIBM_READ_Y_HIGH 66,2001 -#define LOGIBM_DEFAULT_MODE 68,2034 -#define LOGIBM_CONFIG_BYTE 69,2067 -#define LOGIBM_SIGNATURE_BYTE 70,2099 -#define LOGIBM_IRQ 72,2135 -static int logibm_irq 74,2158 -static int logibm_used 80,2324 -static int logibm_open(84,2436 -static void logibm_close(97,2751 -static struct input_dev logibm_dev 105,2911 -static irqreturn_t logibm_interrupt(121,3321 -static int __init logibm_init(149,4227 -static void __exit logibm_exit(176,4990 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/rpcmouse.c,261 -static short rpcmouse_lastx,36,1008 -static short rpcmouse_lastx, rpcmouse_lasty;36,1008 -static struct input_dev rpcmouse_dev 38,1054 -static irqreturn_t rpcmouse_irq(52,1422 -static int __init rpcmouse_init(81,2059 -static void __exit rpcmouse_exit(100,2513 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/mouse/inport.c,1086 -#define INPORT_BASE 52,1629 -#define INPORT_EXTENT 53,1656 -#define INPORT_CONTROL_PORT 55,1682 -#define INPORT_DATA_PORT 56,1726 -#define INPORT_SIGNATURE_PORT 57,1767 -#define INPORT_REG_BTNS 59,1814 -#define INPORT_REG_X 60,1843 -#define INPORT_REG_Y 61,1870 -#define INPORT_REG_MODE 62,1897 -#define INPORT_RESET 63,1927 -#define INPORT_NAME 66,1981 -#define INPORT_VENDOR 67,2017 -#define INPORT_SPEED_30HZ 68,2047 -#define INPORT_SPEED_50HZ 69,2078 -#define INPORT_SPEED_100HZ 70,2109 -#define INPORT_SPEED_200HZ 71,2141 -#define INPORT_MODE_BASE 72,2173 -#define INPORT_MODE_IRQ 73,2217 -#define INPORT_NAME 75,2253 -#define INPORT_VENDOR 76,2299 -#define INPORT_MODE_BASE 77,2329 -#define INPORT_MODE_IRQ 78,2359 -#define INPORT_MODE_HOLD 80,2396 -#define INPORT_IRQ 82,2427 -static int inport_irq 84,2450 -static int inport_used;90,2616 -static int inport_open(94,2724 -static void inport_close(106,3007 -static struct input_dev inport_dev 115,3206 -static irqreturn_t inport_interrupt(131,3637 -static int __init inport_init(160,4523 -static void __exit inport_exit(189,5291 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/cs461x.c,2410 -#define PCI_VENDOR_ID_CIRRUS 30,579 -#define PCI_DEVICE_ID_CIRRUS_4610 33,667 -#define PCI_DEVICE_ID_CIRRUS_4612 36,755 -#define PCI_DEVICE_ID_CIRRUS_4615 39,843 -#define BA0_JSPT 44,915 -#define BA0_JSCTL 45,974 -#define BA0_JSC1 46,1033 -#define BA0_JSC2 47,1092 -#define BA0_JSIO 48,1151 -#define JSPT_CAX 52,1232 -#define JSPT_CAY 53,1291 -#define JSPT_CBX 54,1350 -#define JSPT_CBY 55,1409 -#define JSPT_BA1 56,1468 -#define JSPT_BA2 57,1527 -#define JSPT_BB1 58,1586 -#define JSPT_BB2 59,1645 -#define JSCTL_SP_MASK 63,1727 -#define JSCTL_SP_SLOW 64,1786 -#define JSCTL_SP_MEDIUM_SLOW 65,1845 -#define JSCTL_SP_MEDIUM_FAST 66,1904 -#define JSCTL_SP_FAST 67,1963 -#define JSCTL_ARE 68,2022 -#define JSC1_Y1V_MASK 72,2115 -#define JSC1_X1V_MASK 73,2174 -#define JSC1_Y1V_SHIFT 74,2233 -#define JSC1_X1V_SHIFT 75,2283 -#define JSC2_Y2V_MASK 76,2334 -#define JSC2_X2V_MASK 77,2393 -#define JSC2_Y2V_SHIFT 78,2452 -#define JSC2_X2V_SHIFT 79,2502 -#define JSIO_DAX 83,2569 -#define JSIO_DAY 84,2628 -#define JSIO_DBX 85,2687 -#define JSIO_DBY 86,2746 -#define JSIO_AXOE 87,2805 -#define JSIO_AYOE 88,2864 -#define JSIO_BXOE 89,2923 -#define JSIO_BYOE 90,2982 -#define CS461X_BA0_SIZE 101,3312 -#define CS461X_BA1_DATA0_SIZE 102,3351 -#define CS461X_BA1_DATA1_SIZE 103,3390 -#define CS461X_BA1_PRG_SIZE 104,3429 -#define CS461X_BA1_REG_SIZE 105,3468 -#define BA1_SP_DMEM0 107,3508 -#define BA1_SP_DMEM1 108,3567 -#define BA1_SP_PMEM 109,3626 -#define BA1_SP_REG 110,3685 -#define BA1_DWORD_SIZE 112,3745 -#define BA1_MEMORY_COUNT 113,3795 -static unsigned long ba0_addr;120,3937 -static unsigned int *ba0;121,3968 -static char phys[123,3995 -static char name[124,4017 -static unsigned long ba1_addr;127,4081 -static union ba1_t ba1_t128,4112 -} ba1;136,4341 -static void cs461x_poke(138,4349 -static unsigned int cs461x_peek(143,4476 -static void cs461x_pokeBA0(150,4602 -static unsigned int cs461x_peekBA0(155,4700 -static int cs461x_free(160,4789 -static void cs461x_gameport_trigger(177,5202 -static unsigned char cs461x_gameport_read(182,5332 -static int cs461x_gameport_cooked_read(187,5461 -static int cs461x_gameport_open(207,6044 -static struct pci_device_id cs461x_pci_tbl[219,6242 -static int __devinit cs461x_pci_probe(227,6609 -static void __devexit cs461x_pci_remove(309,8879 -static struct pci_driver cs461x_pci_driver 314,8966 -int __init cs461x_init(321,9198 -void __exit cs461x_exit(326,9284 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/lightning.c,627 -#define L4_PORT 41,1323 -#define L4_SELECT_ANALOG 42,1347 -#define L4_SELECT_DIGITAL 43,1377 -#define L4_SELECT_SECONDARY 44,1408 -#define L4_CMD_ID 45,1441 -#define L4_CMD_GETCAL 46,1465 -#define L4_CMD_SETCAL 47,1493 -#define L4_ID 48,1521 -#define L4_BUSY 49,1542 -#define L4_TIMEOUT 50,1565 -struct l4 l456,1731 -} *l4_port[60,1807 -char l4_name[62,1823 -static int l4_wait_ready(68,1922 -static int l4_cooked_read(80,2118 -static int l4_open(113,2816 -static int l4_getcal(126,3090 -static int l4_setcal(157,3703 -static int l4_calibrate(189,4388 -static int __init l4_init(212,4847 -static void __exit l4_exit(289,6547 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/gameport.c,437 -#define DELTA(DELTA40,977 -#define GET_TIME(GET_TIME41,1034 -static unsigned int get_time_pit(43,1096 -static int gameport_measure_speed(64,1464 -static void gameport_find_dev(103,2204 -void gameport_rescan(115,2469 -void gameport_register_port(121,2579 -void gameport_unregister_port(128,2771 -void gameport_register_device(135,2954 -void gameport_unregister_device(145,3215 -int gameport_open(157,3501 -void gameport_close(175,3791 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/fm801-gp.c,490 -#define PCI_VENDOR_ID_FORTEMEDIA 34,1073 -#define PCI_DEVICE_ID_FM801_GP 35,1113 -#define HAVE_COOKED37,1152 -struct fm801_gp fm801_gp39,1173 -static int fm801_gp_cooked_read(47,1301 -static int fm801_gp_open(67,1869 -static int __devinit fm801_gp_probe(83,2094 -static void __devexit fm801_gp_remove(124,3155 -static struct pci_device_id fm801_gp_id_table[134,3368 -static struct pci_driver fm801_gp_driver 139,3520 -int __init fm801_gp_init(146,3696 -void __exit fm801_gp_exit(151,3775 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/vortex.c,557 -#define VORTEX_GCR 50,1568 -#define VORTEX_LEG 51,1625 -#define VORTEX_AXD 52,1677 -#define VORTEX_DATA_WAIT 53,1719 -struct vortex vortex55,1760 -static unsigned char vortex_read(63,1917 -static void vortex_trigger(69,2065 -static int vortex_cooked_read(75,2207 -static int vortex_open(90,2557 -static int __devinit vortex_probe(109,2917 -static void __devexit vortex_remove(155,4135 -static struct pci_device_id vortex_id_table[163,4330 -static struct pci_driver vortex_driver 168,4508 -int __init vortex_init(175,4677 -void __exit vortex_exit(180,4752 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/emu10k1-gp.c,259 -struct emu emu45,1424 -static struct pci_device_id emu_tbl[52,1517 -static int __devinit emu_probe(63,1878 -static void __devexit emu_remove(106,2904 -static struct pci_driver emu_driver 114,3108 -int __init emu_init(121,3313 -void __exit emu_exit(126,3382 - -/export0/mef/linux-2.6.9-1.11_FC2/drivers/input/gameport/ns558.c,413 -#define NS558_ISA 47,1492 -#define NS558_PNP 48,1512 -static int ns558_isa_portlist[50,1533 -struct ns558 ns55853,1688 -static void ns558_isa_probe(71,2031 -static struct pnp_device_id pnp_devids[178,4203 -static int ns558_pnp_probe(206,5501 -static struct pnp_driver ns558_pnp_driver 252,6700 -static struct pnp_driver ns558_pnp_driver;260,6829 -int __init ns558_init(264,6881 -void __exit ns558_exit(279,7123 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/ptrace.c,385 -void __ptrace_link(29,623 -void __ptrace_unlink(47,1068 -int ptrace_check_attach(72,1605 -int ptrace_attach(105,2505 -int ptrace_detach(151,3512 -int access_process_vm(178,4108 -int ptrace_readdata(226,5104 -int ptrace_writedata(251,5604 -static int ptrace_setoptions(276,6109 -static int ptrace_getsiginfo(304,6752 -static int ptrace_setsiginfo(311,6947 -int ptrace_request(320,7187 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/module-verify.c,301 -#define _debug(_debug21,566 -#define _debug(_debug23,624 -int module_verify(34,934 -static int module_verify_elf(66,1570 -#define elfcheck(elfcheck80,1955 -#define seccheck(seccheck83,2056 -#define symcheck(symcheck86,2157 -#define relcheck(relcheck89,2258 -#define relacheck(relacheck92,2359 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/module.c,4696 -#define DEBUGP 43,1482 -#define DEBUGP(DEBUGP45,1510 -#define ARCH_SHF_SMALL 49,1568 -#define INIT_OFFSET_MASK 53,1674 -static spinlock_t modlist_lock 56,1754 -static struct notifier_block * module_notify_list;63,1974 -int register_module_notifier(65,2026 -int unregister_module_notifier(75,2251 -static inline int strong_try_module_get(86,2531 -void __module_put_and_exit(97,2828 -static unsigned int find_sec(105,3012 -#define symversion(symversion129,3751 -#define symversion(symversion131,3792 -static unsigned long __find_symbol(135,3929 -static unsigned long find_local_symbol(182,5147 -static struct module *find_module(200,5671 -static unsigned int pcpu_num_used,213,5923 -static unsigned int pcpu_num_used, pcpu_num_allocated;213,5923 -static int *pcpu_size;215,6021 -static int split_block(217,6045 -static inline unsigned int block_size(242,6618 -static void *percpu_modalloc(252,6791 -static void percpu_modfree(292,7731 -static unsigned int find_pcpusec(324,8500 -static int percpu_modinit(331,8666 -static inline void *percpu_modalloc(350,9187 -static inline void percpu_modfree(354,9282 -static inline unsigned int find_pcpusec(358,9343 -static inline void percpu_modcopy(364,9466 -static int add_attribute(372,9673 -static void module_unload_init(390,10134 -struct module_usemodule_use404,10545 -static int already_uses(411,10656 -static int use_module(426,10995 -static void module_unload_free(448,11500 -static inline int try_force(469,11957 -static inline int try_force(477,12102 -struct stoprefstopref483,12206 -static inline int __try_stop_module(491,12341 -static int try_stop_module(506,12711 -unsigned int module_refcount(513,12896 -static void wait_for_zero_refcount(526,13193 -sys_delete_module(542,13564 -static void print_unload_info(613,15135 -void __symbol_put(641,15818 -void symbol_put_addr(655,16127 -static int refcnt_get_fn(668,16426 -static inline int sysfs_unload_setup(676,16654 -static void print_unload_info(686,16907 -static inline void module_unload_free(692,17071 -static inline int use_module(696,17134 -static inline void module_unload_init(701,17238 -sys_delete_module(706,17317 -static inline int sysfs_unload_setup(711,17407 -static int obsparm_copy_string(719,17578 -int set_obsolete(725,17690 -static int obsolete_params(791,19529 -static int obsolete_params(835,20508 -static const char vermagic[850,20860 -static int check_version(853,20935 -static inline int check_modstruct_version(891,21959 -static inline int same_magic(905,22329 -static inline int check_version(912,22511 -static inline int check_modstruct_version(921,22686 -static inline int same_magic(928,22821 -static unsigned long resolve_symbol(936,23073 -static void module_sect_attrs_release(963,23702 -static ssize_t module_sect_show(968,23825 -static struct sysfs_ops module_sect_ops 976,24057 -static struct kobj_type module_sect_ktype 980,24132 -static void add_sect_attrs(985,24255 -static void remove_sect_attrs(1032,25590 -static inline void add_sect_attrs(1042,25751 -static inline void remove_sect_attrs(1047,25870 -#define to_module_attr(to_module_attr1055,25964 -static ssize_t module_attr_show(1057,26039 -static ssize_t module_attr_store(1076,26459 -static struct sysfs_ops module_sysfs_ops 1092,26791 -static void module_kobj_release(1097,26896 -static struct kobj_type module_ktype 1102,27012 -static int mod_sysfs_setup(1108,27173 -static void mod_kobject_remove(1156,28291 -static void free_module(1166,28623 -void *__symbol_get(1192,29203 -static int simplify_symbols(1209,29652 -static long get_offset(1270,31167 -static void layout_sections(1283,31574 -static inline int license_is_gpl_compatible(1340,33244 -static void set_license(1349,33528 -static char *next_string(1363,33958 -static char *get_modinfo(1381,34255 -int is_exported(1397,34635 -static char elf_type(1414,34993 -static void add_kallsyms(1454,36016 -static inline void add_kallsyms(1472,36541 -static struct module *load_module(1483,36858 -sys_init_module(1831,46972 -static inline int within(1908,48847 -static const char *get_ksymbol(1914,49017 -const char *module_address_lookup(1957,50430 -struct module *module_get_kallsym(1974,50839 -static unsigned long mod_find_symname(1998,51358 -unsigned long module_kallsyms_lookup_name(2009,51657 -static void *m_start(2031,52218 -static void *m_next(2046,52445 -static void m_stop(2055,52607 -static int m_show(2060,52680 -struct seq_operations modules_op 2084,53335 -const struct exception_table_entry *search_module_extables(2092,53513 -struct module *__module_text_address(2117,54207 -struct module *module_text_address(2128,54482 -void print_modules(2141,54763 -void struct_module(2158,55111 -static int __init modules_init(2162,55200 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/uid16.c,828 -asmlinkage long sys_chown16(20,463 -asmlinkage long sys_lchown16(25,627 -asmlinkage long sys_fchown16(30,793 -asmlinkage long sys_setregid16(35,940 -asmlinkage long sys_setgid16(40,1068 -asmlinkage long sys_setreuid16(45,1155 -asmlinkage long sys_setuid16(50,1283 -asmlinkage long sys_setresuid16(55,1370 -asmlinkage long sys_getresuid16(61,1537 -asmlinkage long sys_setresgid16(72,1855 -asmlinkage long sys_getresgid16(78,2022 -asmlinkage long sys_setfsuid16(89,2340 -asmlinkage long sys_setfsgid16(94,2431 -static int groups16_to_user(99,2522 -static int groups16_from_user(114,2809 -asmlinkage long sys_getgroups16(129,3099 -asmlinkage long sys_setgroups16(153,3531 -asmlinkage long sys_getuid16(178,4046 -asmlinkage long sys_geteuid16(183,4121 -asmlinkage long sys_getgid16(188,4198 -asmlinkage long sys_getegid16(193,4273 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/sysctl.c,3564 -int unknown_nmi_panic;71,2157 -int exec_shield 78,2332 -int exec_shield_randomize 79,2353 -static int __init setup_exec_shield(81,2385 -static int __init setup_exec_shield_randomize(90,2542 -static int maxolduid 100,2819 -static int minolduid;101,2849 -static int ngroups_max 103,2872 -static ctl_table root_table[153,3957 -static struct ctl_table_header root_table_header 154,3988 -static ctl_table kern_table[157,4102 -static ctl_table vm_table[158,4133 -static ctl_table proc_table[162,4217 -static ctl_table fs_table[163,4248 -static ctl_table debug_table[164,4277 -static ctl_table dev_table[165,4309 -int sysctl_legacy_va_layout;172,4470 -struct file_operations proc_sys_file_operations 183,4775 -static ctl_table root_table[197,5137 -static ctl_table kern_table[245,5864 -static int zero;693,15631 -static int one_hundred 694,15648 -static ctl_table vm_table[697,15680 -static ctl_table proc_table[872,20100 -static ctl_table fs_table[876,20157 -static ctl_table debug_table[982,22406 -static ctl_table dev_table[986,22464 -void __init sysctl_init(992,22557 -int do_sysctl(1000,22688 -asmlinkage long sys_sysctl(1029,23433 -static int test_perm(1049,23883 -static inline int ctl_perm(1060,24062 -static int parse_table(1069,24233 -int do_sysctl_strategy 1109,25168 -struct ctl_table_header *register_sysctl_table(1228,28954 -void unregister_sysctl_table(1254,29741 -static void register_proc_table(1270,30062 -static void unregister_proc_table(1319,31182 -static ssize_t do_rw_proc(1346,31834 -static int proc_opensys(1373,32415 -static ssize_t proc_readsys(1387,32686 -static ssize_t proc_writesys(1393,32840 -int proc_dostring(1416,33616 -static int proc_doutsstring(1470,34702 -static int do_proc_dointvec_conv(1487,35076 -static int do_proc_dointvec(1506,35410 -#define TMPBUFLEN 1512,35650 -int proc_dointvec(1628,37761 -#define OP_SET 1635,37974 -#define OP_AND 1636,37991 -#define OP_OR 1637,38008 -#define OP_MAX 1638,38024 -#define OP_MIN 1639,38041 -static int do_proc_dointvec_bset_conv(1641,38059 -int proc_dointvec_bset(1676,38714 -struct do_proc_dointvec_minmax_conv_param do_proc_dointvec_minmax_conv_param1690,39048 -static int do_proc_dointvec_minmax_conv(1695,39118 -int proc_dointvec_minmax(1735,40180 -static int do_proc_doulongvec_minmax(1746,40540 -#define TMPBUFLEN 1753,40767 -int proc_doulongvec_minmax(1867,43131 -int proc_doulongvec_ms_jiffies_minmax(1890,44013 -static int do_proc_dointvec_jiffies_conv(1900,44282 -static int do_proc_dointvec_userhz_jiffies_conv(1921,44676 -int proc_dointvec_jiffies(1957,45596 -int proc_dointvec_userhz_jiffies(1979,46362 -int proc_dostring(1988,46648 -static int proc_doutsstring(1994,46789 -int proc_dointvec(2000,46943 -int proc_dointvec_bset(2006,47084 -int proc_dointvec_minmax(2012,47229 -int proc_dointvec_jiffies(2018,47379 -int proc_dointvec_userhz_jiffies(2024,47530 -int proc_doulongvec_minmax(2030,47688 -int proc_doulongvec_ms_jiffies_minmax(2036,47840 -int sysctl_string(2053,48148 -int sysctl_intvec(2096,49223 -int sysctl_jiffies(2132,50032 -asmlinkage long sys_sysctl(2163,50718 -int sysctl_string(2168,50802 -int sysctl_intvec(2175,50993 -int sysctl_jiffies(2182,51180 -int proc_dostring(2189,51368 -int proc_dointvec(2195,51509 -int proc_dointvec_bset(2201,51650 -int proc_dointvec_minmax(2207,51795 -int proc_dointvec_jiffies(2213,51945 -int proc_dointvec_userhz_jiffies(2219,52095 -int proc_doulongvec_minmax(2225,52252 -int proc_doulongvec_ms_jiffies_minmax(2231,52404 -struct ctl_table_header * register_sysctl_table(2239,52594 -void unregister_sysctl_table(2245,52707 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/profile.c,1283 -static atomic_t *prof_buffer;15,272 -static unsigned long prof_len,16,302 -static unsigned long prof_len, prof_shift;16,302 -static int prof_on;17,345 -static cpumask_t prof_cpu_mask 18,365 -static int __init profile_setup(20,413 -void __init profile_init(41,815 -static rwlock_t handoff_lock 56,1109 -static struct notifier_block * task_exit_notifier;57,1158 -static struct notifier_block * task_free_notifier;58,1209 -static struct notifier_block * munmap_notifier;59,1260 -void profile_task_exit(61,1310 -int profile_handoff_task(68,1472 -void profile_munmap(77,1689 -int task_handoff_register(84,1845 -int task_handoff_unregister(94,2051 -int profile_event_register(104,2261 -int profile_event_unregister(125,2645 -static struct notifier_block * profile_listeners;144,3030 -static rwlock_t profile_lock 145,3080 -int register_profile_notifier(147,3131 -int unregister_profile_notifier(157,3340 -void profile_hook(167,3553 -void profile_hit(184,4007 -void profile_tick(194,4236 -static int prof_cpu_mask_read_proc 207,4558 -static int prof_cpu_mask_write_proc 217,4823 -void create_prof_cpu_mask(232,5163 -read_profile(252,5804 -static ssize_t write_profile(283,6637 -static struct file_operations proc_profile_operations 304,7100 -static int __init create_proc_profile(309,7212 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/compat.c,1324 -int get_compat_timespec(26,696 -int put_compat_timespec(33,945 -static long compat_nanosleep_restart(40,1195 -asmlinkage long compat_sys_nanosleep(69,1913 -static inline long get_compat_itimerval(100,2721 -static inline long put_compat_itimerval(110,3120 -asmlinkage long compat_sys_getitimer(120,3520 -asmlinkage long compat_sys_setitimer(132,3764 -asmlinkage long compat_sys_times(153,4205 -asmlinkage long compat_sys_sigpending(207,5907 -asmlinkage long compat_sys_sigprocmask(221,6187 -asmlinkage long compat_sys_futex(243,6683 -asmlinkage long compat_sys_setrlimit(264,7217 -asmlinkage long compat_sys_old_getrlimit(291,7886 -asmlinkage long compat_sys_getrlimit 318,8506 -int put_compat_rusage(342,9127 -asmlinkage long compat_sys_getrusage(367,10220 -compat_sys_wait4(387,10563 -static int compat_get_user_cpu_mask(415,11176 -asmlinkage long compat_sys_sched_setaffinity(429,11534 -asmlinkage long compat_sys_sched_getaffinity(443,11853 -static int get_compat_itimerspec(469,12394 -static int put_compat_itimerspec(478,12655 -long compat_timer_settime(487,12916 -long compat_timer_gettime(510,13489 -long compat_clock_settime(527,13853 -long compat_clock_gettime(544,14198 -long compat_clock_getres(561,14550 -long compat_clock_nanosleep(578,14912 -long compat_get_bitmap(603,15565 -long compat_put_bitmap(644,16476 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/resource.c,1065 -struct resource ioport_resource 24,462 -struct resource iomem_resource 33,621 -static rwlock_t resource_lock 42,767 -enum { MAX_IORES_LEVEL 46,841 -static void *r_next(48,872 -static void *r_start(59,1080 -static void r_stop(69,1288 -static int r_show(74,1371 -struct seq_operations resource_op 92,1792 -static int ioports_open(99,1904 -static int iomem_open(109,2119 -static struct file_operations proc_ioports_operations 119,2331 -static struct file_operations proc_iomem_operations 126,2485 -static int __init ioresources_init(133,2635 -static struct resource * __request_resource(150,3049 -static int __release_resource(178,3580 -int request_resource(197,3861 -struct resource *____request_resource(209,4129 -int release_resource(221,4405 -static int find_resource(236,4686 -int allocate_resource(282,5844 -int insert_resource(316,6978 -int adjust_resource(379,8317 -struct resource * __request_region(429,9372 -int __deprecated __check_region(466,10135 -void __release_region(481,10428 -#define MAXRESERVE 521,11207 -static int __init reserve_setup(522,11228 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/kmod.c,495 -#define __KERNEL_SYSCALLS__21,623 -static struct workqueue_struct *khelper_wq;43,1125 -char modprobe_path[50,1233 -int request_module(66,1909 -#define MAX_KMOD_CONCURRENT 78,2266 -char hotplug_path[135,4181 -struct subprocess_info subprocess_info141,4293 -int __exec_usermodehelper(153,4480 -static int ____call_usermodehelper(177,5000 -static int wait_for_helper(194,5405 -static void __call_usermodehelper(229,6477 -int call_usermodehelper(265,7628 -void __init usermodehelper_init(290,8127 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/module-verify.h,53 -struct module_verify_data module_verify_data15,472 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/spinlock.c,1363 -int __lockfunc _spin_trylock(14,257 -int __lockfunc _write_trylock(25,433 -static inline void __preempt_spin_lock(47,1016 -void __lockfunc _spin_lock(62,1275 -static inline void __preempt_write_lock(69,1415 -void __lockfunc _write_lock(84,1677 -void __lockfunc _spin_lock(91,1823 -void __lockfunc _write_lock(97,1916 -void __lockfunc _read_lock(106,2071 -void __lockfunc _spin_unlock(113,2189 -void __lockfunc _write_unlock(120,2314 -void __lockfunc _read_unlock(127,2440 -unsigned long __lockfunc _spin_lock_irqsave(134,2563 -void __lockfunc _spin_lock_irq(145,2783 -void __lockfunc _spin_lock_bh(153,2933 -unsigned long __lockfunc _read_lock_irqsave(161,3080 -void __lockfunc _read_lock_irq(172,3285 -void __lockfunc _read_lock_bh(180,3433 -unsigned long __lockfunc _write_lock_irqsave(188,3578 -void __lockfunc _write_lock_irq(199,3786 -void __lockfunc _write_lock_bh(207,3937 -void __lockfunc _spin_unlock_irqrestore(215,4085 -void __lockfunc _spin_unlock_irq(223,4280 -void __lockfunc _spin_unlock_bh(231,4434 -void __lockfunc _read_unlock_irqrestore(239,4585 -void __lockfunc _read_unlock_irq(247,4778 -void __lockfunc _read_unlock_bh(255,4930 -void __lockfunc _write_unlock_irqrestore(263,5079 -void __lockfunc _write_unlock_irq(271,5275 -void __lockfunc _write_unlock_bh(279,5430 -int __lockfunc _spin_trylock_bh(287,5582 -int in_lock_functions(300,5804 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/softirq.c,1083 -irq_cpustat_t irq_stat[40,1147 -irq_cpustat_t irq_stat[NR_CPUS] ____cacheline_aligned;40,1147 -static struct softirq_action softirq_vec[44,1235 -static struct softirq_action softirq_vec[32] __cacheline_aligned_in_smp;44,1235 -static inline void wakeup_softirqd(54,1592 -#define MAX_SOFTIRQ_RESTART 72,2147 -asmlinkage void __do_softirq(74,2179 -asmlinkage void do_softirq(116,2848 -void local_bh_enable(138,3115 -inline fastcall void raise_softirq_irqoff(152,3393 -void fastcall raise_softirq(171,3843 -void open_softirq(180,3994 -struct tasklet_headtasklet_head189,4186 -void fastcall __tasklet_schedule(199,4470 -void fastcall __tasklet_hi_schedule(212,4766 -static void tasklet_action(225,5069 -static void tasklet_hi_action(258,5759 -void tasklet_init(292,6460 -void tasklet_kill(304,6685 -void __init softirq_init(320,7041 -static int ksoftirqd(326,7183 -void tasklet_kill_immediate(378,8435 -static void takeover_tasklets(398,8841 -static int __devinit cpu_callback(420,9455 -static struct notifier_block __devinitdata cpu_nfb 457,10419 -__init int spawn_ksoftirqd(461,10509 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/posix-timers.c,2336 -#define div_long_long_rem(div_long_long_rem52,1591 -#define CLOCK_REALTIME_RES 58,1761 -static inline u64 mpy_l_X_l_ll(60,1823 -static kmem_cache_t *posix_timers_cache;85,2927 -static struct idr posix_timers_id;86,2968 -static spinlock_t idr_lock 87,3003 -#define TIMER_INACTIVE 93,3206 -#define TIMER_RETRY 94,3231 -# define timer_active(timer_active97,3272 -# define set_timer_inactive(set_timer_inactive99,3358 -# define timer_active(timer_active104,3480 -# define set_timer_inactive(set_timer_inactive105,3544 -#define REQUEUE_PENDING 117,3939 -static struct k_clock posix_clocks[175,6858 -static struct k_clock_abs abs_list 180,7067 -#define if_clock_do(if_clock_do183,7184 -#define p_timer_get(p_timer_get186,7281 -#define p_nsleep(p_nsleep189,7380 -#define p_timer_del(p_timer_del192,7464 -static inline void unlock_timer(203,7983 -static __init int init_posix_timers(211,8193 -static void tstojiffie(233,8820 -static long add_clockset_delta(266,9991 -static void remove_from_abslist(293,10661 -static void schedule_next_timer(302,10869 -void do_schedule_next_timer(357,12588 -static void timer_notify_task(394,14030 -static void posix_timer_fn(452,15657 -static inline struct task_struct * good_sigevent(497,16871 -void register_posix_clock(514,17382 -static struct k_itimer * alloc_posix_timer(524,17625 -#define IT_ID_SET 539,17991 -#define IT_ID_NOT_SET 540,18011 -static void release_posix_timer(541,18035 -sys_timer_create(559,18538 -static int good_timespec(703,22720 -static struct k_itimer * lock_timer(718,23218 -do_timer_gettime(761,24601 -sys_timer_gettime(800,25674 -sys_timer_getoverrun(830,26576 -static int adjust_abs_time(855,27159 -do_timer_settime(934,29051 -sys_timer_settime(1006,31117 -static inline int do_timer_delete(1049,32191 -sys_timer_delete(1073,32828 -static inline void itimer_delete(1115,33793 -void exit_itimers(1153,34694 -static int do_posix_gettime(1170,35131 -static u64 do_posix_clock_monotonic_gettime_parts(1187,35563 -int do_posix_clock_monotonic_gettime(1204,35864 -int do_posix_clock_monotonic_settime(1220,36197 -sys_clock_settime(1226,36293 -sys_clock_gettime(1242,36723 -sys_clock_getres(1261,37116 -static void nanosleep_wake_up(1278,37471 -void clock_was_set(1308,38690 -sys_clock_nanosleep(1392,41682 -do_clock_nanosleep(1424,42490 -clock_nanosleep_restart(1528,45201 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/cpu.c,341 -static struct notifier_block *cpu_chain;22,518 -int register_cpu_notifier(25,605 -void unregister_cpu_notifier(37,856 -static inline void check_for_tasks(46,1065 -static int cpu_run_sbin_hotplug(62,1559 -static int take_cpu_down(89,2218 -int cpu_down(108,2683 -static inline int cpu_run_sbin_hotplug(184,4250 -int __devinit cpu_up(190,4373 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/params.c,607 -#define DEBUGP 25,958 -#define DEBUGP(DEBUGP27,986 -static inline int dash2underscore(30,1020 -static inline int parameq(37,1107 -static int parse_one(46,1306 -static char *next_arg(74,2017 -int parse_args(116,2748 -#define STANDARD_PARAM_DEF(STANDARD_PARAM_DEF156,3570 -int param_set_charp(182,4604 -int param_get_charp(200,4946 -int param_set_bool(205,5062 -int param_get_bool(222,5378 -int param_set_invbool(228,5564 -int param_get_invbool(239,5797 -int param_array(249,6040 -int param_array_set(302,7025 -int param_array_get(310,7231 -int param_set_copystring(330,7617 -int param_get_string(343,7917 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/rcupdate.c,1145 -struct rcu_ctrlblk rcu_ctrlblk 51,1800 -struct rcu_ctrlblk rcu_bh_ctrlblk 53,1893 -struct rcu_state rcu_state57,2043 -struct rcu_state rcu_state ____cacheline_maxaligned_in_smp 63,2271 -struct rcu_state rcu_bh_state ____cacheline_maxaligned_in_smp 65,2392 -static int maxbatch 73,2740 -void fastcall call_rcu(86,3279 -void fastcall call_rcu_bh(117,4516 -static void rcu_do_batch(136,4927 -static void rcu_start_batch(178,6395 -static void cpu_quiet(200,7057 -static void rcu_check_quiescent_state(215,7488 -static void rcu_move_batch(260,8703 -static void __rcu_offline_cpu(270,8923 -static void rcu_offline_cpu(285,9411 -static void rcu_offline_cpu(301,9866 -static void __rcu_process_callbacks(310,9983 -static void rcu_process_callbacks(354,11056 -void rcu_check_callbacks(362,11290 -static void rcu_init_percpu_data(374,11588 -static void __devinit rcu_online_cpu(386,11889 -static int __devinit rcu_cpu_notify(396,12216 -static struct notifier_block __devinitdata rcu_nb 413,12512 -void __init rcu_init(423,12854 -struct rcu_synchronize rcu_synchronize431,13041 -static void wakeme_after_rcu(437,13195 -void synchronize_kernel(454,13743 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/kexec.c,857 -#define KIMAGE_NO_DEST 67,2613 -static int kimage_alloc(74,2854 -static int kimage_is_destination_range(147,4730 -static struct page *kimage_alloc_pages(163,5098 -static void kimage_free_pages(179,5441 -static void kimage_free_page_list(190,5663 -struct page *kimage_alloc_control_pages(203,5917 -static int kimage_add_entry(267,7859 -static int kimage_set_destination(291,8449 -static int kimage_add_page(305,8722 -static void kimage_free_extra_pages(318,8959 -static int kimage_terminate(327,9247 -#define for_each_kimage_entry(for_each_kimage_entry340,9493 -static void kimage_free_entry(345,9695 -static void kimage_free(353,9841 -static kimage_entry_t *kimage_dst_used(389,10626 -static struct page *kimage_alloc_page(408,11022 -static int kimage_load_segment(499,13522 -struct kimage *kexec_image 587,15825 -asmlinkage long sys_kexec_load(589,15861 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/sys.c,2544 -# define SET_UNALIGN_CTL(SET_UNALIGN_CTL34,719 -# define GET_UNALIGN_CTL(GET_UNALIGN_CTL37,790 -# define SET_FPEMU_CTL(SET_FPEMU_CTL40,859 -# define GET_FPEMU_CTL(GET_FPEMU_CTL43,926 -# define SET_FPEXC_CTL(SET_FPEXC_CTL46,993 -# define GET_FPEXC_CTL(GET_FPEXC_CTL49,1060 -int overflowuid 57,1254 -int overflowgid 58,1293 -int fs_overflowuid 70,1558 -int fs_overflowgid 71,1603 -int C_A_D 80,1799 -int cad_pid 81,1814 -static struct notifier_block *reboot_notifier_list;89,1979 -rwlock_t notifier_lock 90,2031 -int notifier_chain_register(102,2301 -int notifier_chain_unregister(129,2878 -int notifier_call_chain(164,3802 -int register_reboot_notifier(194,4419 -int unregister_reboot_notifier(211,4832 -asmlinkage long sys_ni_syscall(218,5002 -cond_syscall(223,5061 -asmlinkage long sys_setpriority(314,7387 -asmlinkage long sys_getpriority(375,8738 -asmlinkage long sys_reboot(440,10183 -static void deferred_cad(543,12604 -void ctrl_alt_del(554,12954 -asmlinkage long sys_setregid(583,13898 -asmlinkage long sys_setgid(632,14922 -static int set_user(664,15522 -asmlinkage long sys_setreuid(705,16611 -asmlinkage long sys_setuid(765,18275 -asmlinkage long sys_setresuid(802,19173 -asmlinkage long sys_getresuid(843,20302 -asmlinkage long sys_setresgid(857,20618 -asmlinkage long sys_getresgid(892,21511 -asmlinkage long sys_setfsuid(910,22047 -asmlinkage long sys_setfsgid(938,22599 -asmlinkage long sys_times(960,23045 -asmlinkage long sys_setpgid(1022,25072 -asmlinkage long sys_getpgid(1093,26410 -asmlinkage long sys_getpgrp(1117,26811 -asmlinkage long sys_getsid(1125,26948 -asmlinkage long sys_setsid(1147,27318 -struct group_info init_groups 1176,27884 -struct group_info *groups_alloc(1178,27946 -void groups_free(1217,28888 -static int groups_to_user(1230,29205 -static int groups_from_user(1250,29708 -static void groups_sort(1270,30171 -static int groups_search(1299,30828 -int set_current_groups(1322,31235 -asmlinkage long sys_getgroups(1346,31660 -asmlinkage long sys_setgroups(1381,32326 -int in_group_p(1409,32905 -int in_egroup_p(1422,33160 -asmlinkage long sys_newuname(1439,33466 -asmlinkage long sys_sethostname(1450,33681 -asmlinkage long sys_gethostname(1472,34137 -asmlinkage long sys_setdomainname(1495,34551 -asmlinkage long sys_getrlimit(1516,34978 -asmlinkage long sys_old_getrlimit(1531,35312 -asmlinkage long sys_setrlimit(1547,35697 -void k_getrusage(1596,37487 -int getrusage(1658,39197 -asmlinkage long sys_getrusage(1667,39431 -asmlinkage long sys_umask(1674,39607 -asmlinkage long sys_prctl(1680,39719 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/futex.c,992 -#define FUTEX_HASHBITS 43,1583 -union futex_key futex_key53,1928 -struct futex_q futex_q80,2601 -struct futex_hash_bucket futex_hash_bucket98,2932 -static struct futex_hash_bucket futex_queues[104,3070 -static struct vfsmount *futex_mnt;107,3167 -static struct futex_hash_bucket *hash_futex(112,3274 -static inline int match_futex(123,3584 -static int get_futex_key(142,4234 -static inline void get_key_refs(237,6833 -static void drop_key_refs(251,7153 -static void wake_futex(265,7441 -static int futex_wake(286,7996 -static int futex_requeue(322,8675 -static void queue_me(420,10942 -static int unqueue_me(440,11360 -static int futex_wait(477,12373 -static int futex_close(554,14392 -static unsigned int futex_poll(564,14601 -static struct file_operations futex_fops 582,14989 -static int futex_fd(591,15198 -long do_futex(661,16530 -asmlinkage long sys_futex(690,17143 -futexfs_get_sb(714,17767 -static struct file_system_type futex_fs_type 720,17932 -static int __init init(726,18063 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/module-verify-sig.c,520 -#define _debug(_debug25,718 -#define _debug(_debug27,776 -#define count_and_csum(count_and_csum31,846 -#define count_and_csum(count_and_csum41,1083 -#define crypto_digest_update_data(crypto_digest_update_data47,1181 -#define crypto_digest_update_val(crypto_digest_update_val55,1409 -static int signedonly;75,2026 -int module_verify_signature(81,2168 -static int module_verify_canonicalise(229,6216 -static int extract_elf_rela(290,7840 -static int extract_elf_rel(367,9902 -static int __init sign_setup(437,11782 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/time.c,783 -struct timezone sys_tz;41,1336 -asmlinkage long sys_time(55,1686 -asmlinkage long sys_stime(77,2101 -asmlinkage long sys_gettimeofday(93,2358 -inline static void warp_clock(124,3380 -int do_sys_settimeofday(145,4201 -asmlinkage long sys_settimeofday(171,4669 -long pps_offset;192,5163 -long pps_jitter 193,5208 -long pps_freq;195,5272 -long pps_stabil 196,5325 -long pps_valid 198,5393 -int pps_shift 200,5456 -long pps_jitcnt;202,5520 -long pps_calcnt;203,5566 -long pps_errcnt;204,5612 -long pps_stbcnt;205,5655 -int do_adjtimex(213,5911 -asmlinkage long sys_adjtimex(396,11646 -struct timespec current_kernel_time(411,12063 -void getnstimeofday 428,12356 -int do_settimeofday 446,12725 -void do_gettimeofday 483,13754 -void getnstimeofday(512,14349 -u64 get_jiffies_64(523,14535 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/user.c,645 -#define UIDHASH_BITS 20,476 -#define UIDHASH_SZ 21,500 -#define UIDHASH_MASK 22,540 -#define __uidhashfn(__uidhashfn23,579 -#define uidhashentry(uidhashentry24,651 -static kmem_cache_t *uid_cachep;26,715 -static struct list_head uidhash_table[27,748 -static spinlock_t uidhash_lock 28,799 -struct user_struct root_user 30,853 -static inline void uid_hash_insert(42,1116 -static inline void uid_hash_remove(47,1246 -static inline struct user_struct *uid_hash_find(52,1340 -struct user_struct *find_user(76,1859 -void free_uid(86,2047 -struct user_struct * alloc_uid(95,2244 -void switch_uid(137,3090 -static int __init uid_cache_init(154,3532 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/acct.c,743 -int acct_parm[67,2582 -#define RESUME 68,2613 -#define SUSPEND 69,2676 -#define ACCT_TIMEOUT 70,2741 -struct acct_glbs acct_glbs82,3120 -static struct acct_glbs acct_globals __cacheline_aligned 90,3258 -static void acct_timeout(95,3406 -static int check_free_space(103,3560 -void acct_file_reopen(172,5027 -asmlinkage long sys_acct(207,5999 -void acct_auto_close(256,6913 -#define MANTSIZE 274,7408 -#define EXPSIZE 275,7453 -#define MAXFRACT 276,7505 -static comp_t encode_comp_t(278,7577 -#define MANTSIZE2 315,8424 -#define EXPSIZE2 316,8495 -#define MAXFRACT2 317,8572 -#define MAXEXP2 318,8653 -static comp2_t encode_comp2_t(320,8726 -static u32 encode_float(353,9531 -static void do_acct_process(380,10117 -void acct_process(502,13520 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/audit.c,1640 -static int audit_initialized;58,2305 -int audit_enabled;61,2405 -static int audit_default;64,2488 -static int audit_failure 67,2585 -static int audit_pid;71,2738 -static int audit_rate_limit;76,2940 -static int audit_backlog_limit 79,3021 -static atomic_t audit_backlog 80,3058 -static atomic_t audit_lost 89,3395 -static struct sock *audit_sock;92,3470 -static spinlock_t audit_txlist_lock 101,3889 -static spinlock_t audit_freelist_lock 102,3948 -static int audit_freelist_count 103,4009 -#define AUDIT_BUFSIZ 122,4757 -#define AUDIT_MAXFREE 126,4922 -struct audit_buffer audit_buffer133,5270 -struct audit_entry audit_entry148,5680 -static void audit_panic(153,5755 -static inline int audit_rate_check(168,5997 -void audit_log_lost(199,6662 -int audit_set_rate_limit(234,7427 -int audit_set_backlog_limit(243,7632 -int audit_set_enabled(252,7852 -int audit_set_failure(263,8091 -void audit_send_reply(277,8419 -static int audit_receive_msg(303,9044 -static int audit_receive_skb(408,11914 -static void audit_receive(431,12482 -static void audit_log_move(454,13224 -static inline int audit_log_drain(480,13934 -int __init audit_init(526,15044 -static void audit_log_move(543,15525 -static inline int audit_log_drain(549,15652 -int __init audit_init(555,15772 -static int __init audit_enable(571,16122 -struct audit_buffer *audit_log_start(591,16828 -static void audit_log_vformat(657,18488 -void audit_log_format(685,19288 -void audit_log_d_path(699,19627 -static void audit_tasklet_handler(724,20331 -void audit_log_end_irq(747,21039 -void audit_log_end_fast(762,21420 -void audit_log_end(789,22069 -void audit_log(800,22355 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/fork.c,2314 -int nr_threads;52,1276 -int max_threads;54,1293 -unsigned long total_forks;55,1310 -rwlock_t tasklist_lock __cacheline_aligned 59,1425 -int nr_processes(63,1533 -# define alloc_task_struct(alloc_task_struct75,1713 -# define free_task_struct(free_task_struct76,1791 -static kmem_cache_t *task_struct_cachep;77,1865 -void free_task(80,1914 -void __put_task_struct(87,2046 -void fastcall add_wait_queue(103,2408 -void fastcall add_wait_queue_exclusive(115,2683 -void fastcall remove_wait_queue(127,2982 -void fastcall prepare_to_wait(151,3801 -prepare_to_wait_exclusive(171,4295 -void fastcall finish_wait(190,4786 -int autoremove_wake_function(217,5571 -void __init fork_init(228,5819 -#define ARCH_MIN_TASKALIGN 232,5936 -static struct task_struct *dup_task_struct(256,6607 -static inline int dup_mmap(284,7120 -static inline int mm_alloc_pgd(398,10039 -static inline void mm_free_pgd(406,10178 -#define dup_mmap(dup_mmap411,10262 -#define mm_alloc_pgd(mm_alloc_pgd412,10294 -#define mm_free_pgd(mm_free_pgd413,10323 -spinlock_t mmlist_lock __cacheline_aligned_in_smp 416,10372 -int mmlist_nr;417,10444 -#define allocate_mm(allocate_mm419,10460 -#define free_mm(free_mm420,10525 -static struct mm_struct * mm_init(424,10611 -struct mm_struct * mm_alloc(447,11160 -void fastcall __mmdrop(464,11463 -void mmput(475,11663 -struct mm_struct *get_task_mm(502,12499 -void mm_release(534,13339 -static int copy_mm(559,13974 -static inline struct fs_struct *__copy_fs_struct(629,15274 -struct fs_struct *copy_fs_struct(654,15928 -static inline int copy_fs(661,16056 -static int count_open_files(673,16307 -static int copy_files(686,16553 -int unshare_files(804,19547 -static inline int copy_sighand(827,19942 -static inline int copy_signal(845,20413 -static inline void copy_flags(879,21353 -asmlinkage long sys_set_tid_address(890,21610 -static task_t *copy_process(905,21995 -struct pt_regs * __devinit __attribute__(1186,29669 -task_t * __devinit fork_idle(1192,29811 -static inline int fork_traceflag 1205,30062 -long do_fork(1227,30648 -kmem_cache_t *signal_cachep;1291,32232 -kmem_cache_t *sighand_cachep;1294,32324 -kmem_cache_t *files_cachep;1297,32413 -kmem_cache_t *fs_cachep;1300,32494 -kmem_cache_t *vm_area_cachep;1303,32567 -kmem_cache_t *mm_cachep;1306,32650 -void __init proc_caches_init(1308,32676 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/console.c,207 -static int new_loglevel 12,209 -static int orig_loglevel;13,239 -static int orig_fgconsole,15,288 -static int orig_fgconsole, orig_kmsg;15,288 -int pm_prepare_console(18,334 -void pm_restore_console(48,926 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/power.h,150 -#define SUSPEND_CONSOLE 9,280 -struct swsusp_info swsusp_info13,333 -static inline int pm_suspend_disk(30,684 -#define power_attr(power_attr36,783 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/smp.c,206 -static atomic_t cpu_counter,19,409 -static atomic_t cpu_counter, freeze;19,409 -static void smp_pause(22,448 -cpumask_t oldmask;45,1029 -void disable_nonboot_cpus(47,1049 -void enable_nonboot_cpus(70,1660 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/process.c,147 -#define TIMEOUT 19,331 -static inline int freezeable(22,358 -void refrigerator(35,706 -int freeze_processes(58,1386 -void thaw_processes(100,2401 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/swsusp.c,2573 -int pagedir_order_check;80,2213 -int nr_copy_pages_check;81,2238 -static dev_t resume_device;84,2291 -unsigned int nr_copy_pages __nosavedata 86,2377 -suspend_pagedir_t *pagedir_nosave __nosavedata 101,2979 -static suspend_pagedir_t *pagedir_save;102,3034 -static int pagedir_order __nosavedata 103,3074 -#define SWSUSP_SIG 105,3118 -struct swsusp_header swsusp_header107,3150 -} __attribute__(112,3288 -#define PAGES_FOR_IO 120,3504 -#define SWAPFILE_UNUSED 127,3633 -#define SWAPFILE_SUSPEND 128,3662 -#define SWAPFILE_IGNORED 129,3727 -static int is_resume_device(168,5019 -int swsusp_swap_check(177,5276 -static void lock_swapdevices(217,6333 -static int write_page(244,7060 -static void data_free(271,7639 -static int data_write(293,8023 -static void dump_info(309,8372 -static void init_header(324,9106 -static int close_swap(337,9487 -static void free_pagedir_entries(357,9841 -static int write_pagedir(371,10118 -static int write_suspend_image(390,10543 -struct highmem_page highmem_page414,10884 -struct highmem_page *highmem_copy 420,10971 -static int save_highmem_zone(422,11014 -static int save_highmem(472,12261 -static int restore_highmem(489,12520 -static int pfn_is_nosave(509,12921 -static int saveable(527,13542 -static void count_data_pages(554,14108 -static void copy_data_pages(570,14387 -static void free_suspend_pagedir_zone(592,14957 -void swsusp_free(612,15606 -static void calc_order(651,17081 -static int alloc_pagedir(674,17474 -static int alloc_image_pages(692,17842 -static int enough_free_mem(721,18401 -static int enough_swap(742,18873 -static int swsusp_alloc(754,19086 -int suspend_prepare_image(783,19675 -int swsusp_write(825,20833 -asmlinkage int swsusp_save(842,21152 -int swsusp_suspend(851,21292 -asmlinkage int swsusp_restore(867,21604 -int swsusp_resume(877,21844 -#define does_collide(does_collide898,22313 -static int __init does_collide_order(903,22463 -static int __init check_pagedir(921,22910 -static int __init swsusp_pagedir_relocate(939,23185 -static atomic_t io_done 994,24562 -static void start_io(996,24605 -static int end_io(1001,24662 -static void wait_io(1007,24766 -static struct block_device * resume_bdev;1014,24845 -static int submit(1027,25182 -int bio_read_page(1056,25784 -int bio_write_page(1061,25876 -static const char * __init sanity_check(1071,26118 -static int __init check_header(1092,26754 -static int __init check_sig(1109,27138 -static int __init data_read(1139,27812 -static int __init read_pagedir(1162,28295 -static int __init read_suspend_image(1189,28925 -int __init swsusp_read(1208,29285 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/main.c,500 -struct pm_ops * pm_ops 24,425 -u32 pm_disk_mode 25,456 -void pm_set_ops(32,590 -static int suspend_prepare(49,971 -static int suspend_enter(81,1434 -static void suspend_finish(105,1912 -char * pm_states[117,2074 -static int enter_state(136,2587 -int software_suspend(172,3248 -int pm_suspend(186,3540 -static ssize_t state_show(209,4046 -static ssize_t state_store(222,4286 -static struct attribute * g[246,4732 -static struct attribute_group attr_group 251,4796 -static int __init pm_init(256,4859 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/poweroff.c,154 -static void do_poweroff(18,341 -static void handle_poweroff(26,476 -static struct sysrq_key_op sysrq_poweroff_op 32,603 -static int pm_sysrq_init(38,756 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/pm.c,238 -int pm_active;28,989 -struct pm_dev *pm_register(59,1993 -void pm_unregister(85,2603 -static void __pm_unregister(96,2746 -void pm_unregister_all(114,3208 -int pm_send(154,4406 -static void pm_undo_all(190,5067 -int pm_send_all(233,6649 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/power/disk.c,657 -static int noresume 31,612 -char resume_file[32,637 -static int power_down(44,971 -static int in_suspend __nosavedata 74,1586 -static void free_some_memory(86,1824 -static inline void platform_finish(95,1959 -static void finish(103,2117 -static int prepare(113,2252 -int pm_suspend_disk(159,3069 -static int software_resume(210,4181 -static char * pm_disk_modes[249,4827 -static ssize_t disk_show(283,5940 -static ssize_t disk_store(289,6067 -static struct attribute * g[328,6804 -static struct attribute_group attr_group 334,6868 -static int __init pm_disk_init(339,6931 -static int __init resume_setup(347,7069 -static int __init noresume_setup(356,7190 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/timer.c,3822 -#define time_interpolator_update(time_interpolator_update44,1473 -#define TVN_BITS 50,1561 -#define TVR_BITS 51,1580 -#define TVN_SIZE 52,1599 -#define TVR_SIZE 53,1632 -#define TVN_MASK 54,1665 -#define TVR_MASK 55,1697 -typedef struct tvec_s tvec_s57,1730 -} tvec_t;tvec_t59,1787 -typedef struct tvec_root_s tvec_root_s61,1798 -} tvec_root_t;tvec_root_t63,1860 -struct tvec_t_base_s tvec_t_base_s65,1876 -} ____cacheline_aligned_in_smp;74,2052 -typedef struct tvec_t_base_s tvec_base_t;tvec_base_t76,2085 -static inline void set_running_timer(78,2128 -static void check_timer_failed(89,2375 -static inline void check_timer(107,2780 -static void internal_add_timer(114,2906 -int __mod_timer(156,4173 -void add_timer_on(228,5740 -int mod_timer(264,6852 -int del_timer(294,7603 -int del_timer_sync(345,9187 -int del_singleshot_timer_sync(389,10339 -static int cascade(403,10555 -#define INDEX(INDEX434,11318 -static inline void __run_timers(436,11398 -unsigned long next_timer_interrupt(488,12860 -unsigned long tick_usec 556,14474 -unsigned long tick_nsec 557,14541 -int tickadj 573,15147 -int time_state 580,15283 -int time_status 581,15345 -long time_offset;582,15401 -long time_constant 583,15449 -long time_tolerance 584,15500 -long time_precision 585,15564 -long time_maxerror 586,15618 -long time_esterror 587,15682 -long time_phase;588,15748 -long time_freq 589,15798 -long time_adj;591,15924 -long time_reftime;592,15976 -long time_adjust;593,16031 -long time_next_adjust;594,16049 -static void second_overflow(605,16383 -static void update_wall_time_one_tick(739,20425 -static void update_wall_time(794,22026 -static inline void do_process_times(807,22261 -static inline void do_it_virt(825,22778 -static inline void do_it_prof(839,23053 -static void update_one_process(852,23290 -void update_process_times(864,23631 -static unsigned long count_active_tasks(877,23934 -unsigned long avenrun[890,24331 -static inline void calc_load(896,24493 -unsigned long wall_jiffies 912,24918 -seqlock_t xtime_lock __cacheline_aligned_in_smp 919,25100 -static void run_timer_softirq(927,25281 -void run_local_timers(938,25527 -static inline void update_times(947,25686 -void do_timer(965,26049 -asmlinkage unsigned long sys_alarm(982,26391 -asmlinkage long sys_getpid(1017,27457 -asmlinkage long sys_getppid(1038,28212 - break;1061,28634 -asmlinkage long sys_getuid(1066,28662 -asmlinkage long sys_geteuid(1072,28761 -asmlinkage long sys_getgid(1078,28862 -asmlinkage long sys_getegid(1084,28961 -static void process_timeout(1092,29071 -fastcall signed long __sched schedule_timeout(1123,30166 -asmlinkage long sys_gettid(1178,31559 -static long __sched nanosleep_restart(1183,31619 -asmlinkage long sys_nanosleep(1209,32251 -asmlinkage long sys_sysinfo(1244,33107 -static void __devinit init_timers_cpu(1330,35280 -static int migrate_timer_list(1350,35746 -static void __devinit migrate_timers(1368,36211 -static int __devinit timer_cpu_notify(1415,37439 -static struct notifier_block __devinitdata timers_nb 1434,37769 -void __init init_timers(1439,37867 -struct time_interpolator *time_interpolator;1449,38127 -static struct time_interpolator *time_interpolator_list;1450,38172 -static spinlock_t time_interpolator_lock 1451,38229 -static inline u64 time_interpolator_get_cycles(1453,38293 -static inline u64 time_interpolator_get_counter(1473,38662 -void time_interpolator_reset(1497,39271 -#define GET_TI_NSECS(GET_TI_NSECS1503,39411 -unsigned long time_interpolator_get_offset(1505,39522 -#define INTERPOLATOR_ADJUST 1515,39792 -#define INTERPOLATOR_MAX_SKIP 1516,39826 -static void time_interpolator_update(1518,39880 -is_better_time_interpolator(1563,41483 -register_time_interpolator(1572,41722 -unregister_time_interpolator(1595,42288 -void msleep(1629,43210 -unsigned long msleep_interruptible(1645,43547 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/panic.c,282 -int panic_timeout;23,476 -int panic_on_oops;24,495 -int tainted;25,514 -struct notifier_block *panic_notifier_list;29,559 -static int __init panic_setup(33,641 -static long no_blink(40,777 -NORET_TYPE void panic(59,1196 -const char *print_tainted(135,3014 -void add_taint(152,3485 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/kprobes.c,505 -#define KPROBE_HASH_BITS 40,1569 -#define KPROBE_TABLE_SIZE 41,1596 -static struct hlist_head kprobe_table[43,1647 -unsigned int kprobe_cpu 45,1706 -static spinlock_t kprobe_lock 46,1741 -void lock_kprobes(49,1836 -void unlock_kprobes(55,1925 -struct kprobe *get_kprobe(62,2052 -int register_kprobe(76,2350 -void unregister_kprobe(100,2907 -static struct notifier_block kprobe_exceptions_nb 111,3211 -int register_jprobe(116,3369 -void unregister_jprobe(125,3594 -static int __init init_kprobes(130,3670 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/configs.c,300 -#define MAGIC_START 47,1634 -#define MAGIC_END 48,1665 -#define MAGIC_SIZE 52,1721 -#define kernel_config_data_size 53,1766 -ikconfig_read_current(62,2003 -static struct file_operations ikconfig_file_ops 79,2377 -static int __init ikconfig_init(87,2595 -static void __exit ikconfig_cleanup(106,3017 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/pid.c,922 -#define pid_hashfn(pid_hashfn29,1058 -static struct hlist_head *pid_hash[30,1125 -static int pidhash_shift;31,1174 -int pid_max 33,1201 -int last_pid;34,1232 -#define RESERVED_PIDS 36,1247 -#define PIDMAP_ENTRIES 38,1275 -#define BITS_PER_PAGE 39,1327 -#define BITS_PER_PAGE_MASK 40,1364 -typedef struct pidmap pidmap48,1656 -} pidmap_t;pidmap_t51,1712 -static pidmap_t pidmap_array[53,1725 -static pidmap_t *map_limit 56,1846 -static spinlock_t pidmap_lock __cacheline_aligned_in_smp 58,1907 -fastcall void free_pidmap(60,1987 -static inline pidmap_t *next_free_map(73,2287 -int alloc_pidmap(100,2832 -struct pid * fastcall find_pid(149,3866 -int fastcall attach_pid(162,4110 -static inline int __detach_pid(181,4545 -void fastcall detach_pid(204,5073 -task_t *find_task_by_pid_type(218,5299 -void switch_exec_pids(236,5685 -int pid_alive(269,6786 -void __init pidhash_init(279,7031 -void __init pidmap_init(302,7685 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/workqueue.c,1133 -struct cpu_workqueue_struct cpu_workqueue_struct38,1099 -} ____cacheline_aligned;53,1454 -struct workqueue_struct workqueue_struct59,1573 -static spinlock_t workqueue_lock 67,1840 -static inline int is_single_threaded(71,1993 -static void __queue_work(77,2127 -int fastcall queue_work(97,2654 -static void delayed_work_timer_fn(112,2983 -int fastcall queue_delayed_work(124,3270 -static inline void run_workqueue(145,3799 -static int worker_thread(182,4694 -static void flush_cpu_workqueue(221,5669 -void fastcall flush_workqueue(262,6937 -static struct task_struct *create_workqueue_thread(279,7261 -struct workqueue_struct *__create_workqueue(304,7893 -static void cleanup_workqueue_thread(353,8880 -void destroy_workqueue(368,9216 -static struct workqueue_struct *keventd_wq;389,9658 -int fastcall schedule_work(391,9703 -int fastcall schedule_delayed_work(396,9799 -int schedule_delayed_work_on(401,9939 -void flush_scheduled_work(421,10468 -int keventd_up(426,10535 -int current_is_keventd(431,10589 -static void take_over_work(449,10924 -static int __devinit workqueue_cpu_callback(468,11465 -void init_workqueues(513,12537 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/printk.c,1896 -#define __LOG_BUF_LEN 36,1086 -#define DEFAULT_MESSAGE_LOGLEVEL 39,1182 -#define MINIMUM_CONSOLE_LOGLEVEL 42,1297 -#define DEFAULT_CONSOLE_LOGLEVEL 43,1373 -int console_printk[47,1489 -int oops_in_progress;56,1775 -struct console *console_drivers;64,1976 -static int console_locked;73,2371 -static spinlock_t logbuf_lock 80,2578 -static char __log_buf[82,2631 -static char *log_buf 83,2669 -static int log_buf_len 84,2703 -#define LOG_BUF_MASK 86,2744 -#define LOG_BUF(LOG_BUF87,2781 -static unsigned long log_start;93,2950 -static unsigned long con_start;94,3041 -static unsigned long log_end;95,3132 -static unsigned long logged_chars;96,3219 -struct console_cmdlineconsole_cmdline101,3389 -#define MAX_CMDLINECONSOLES 108,3556 -static struct console_cmdline console_cmdline[110,3587 -static int preferred_console 111,3655 -static int console_may_schedule;114,3736 -static int __init console_setup(119,3830 -int __init add_preferred_console(164,5054 -static int __init log_buf_len_setup(190,5683 -int do_syslog(247,7084 -asmlinkage long sys_syslog(379,10025 -static void __call_console_drivers(387,10187 -static void _call_console_drivers(400,10502 -static void call_console_drivers(421,11069 -static void emit_log_char(467,12184 -static void zap_locks(484,12613 -asmlinkage int printk(513,13643 -asmlinkage int vprintk(525,13790 -void acquire_console_sem(602,15952 -int is_console_locked(612,16123 -void release_console_sem(632,16686 -void console_conditional_schedule(666,17649 -void console_print(675,17838 -void console_unblank(681,17936 -struct tty_driver *console_device(704,18506 -void console_stop(726,19015 -void console_start(734,19173 -void register_console(748,19576 -int unregister_console(818,21377 -void tty_write_message(858,22323 -int __printk_ratelimit(872,22696 -int printk_ratelimit_jiffies 902,23545 -int printk_ratelimit_burst 905,23636 -int printk_ratelimit(907,23670 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/capability.c,250 -unsigned securebits 15,324 -kernel_cap_t cap_bset 16,401 -spinlock_t task_capability_lock 25,632 -asmlinkage long sys_capget(36,935 -static inline void cap_set_pg(87,2177 -static inline void cap_set_all(104,2691 -asmlinkage long sys_capset(129,3549 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/stop_machine.c,624 -enum stopmachine_state stopmachine_state15,407 - STOPMACHINE_WAIT,16,432 - STOPMACHINE_PREPARE,17,451 - STOPMACHINE_DISABLE_IRQ,18,473 - STOPMACHINE_EXIT,19,499 -static enum stopmachine_state stopmachine_state;22,522 -static unsigned int stopmachine_num_threads;23,571 -static atomic_t stopmachine_thread_ack;24,616 -static int stopmachine(27,698 -static void stopmachine_set_state(71,1763 -static int stop_machine(80,1997 -static void restart_machine(124,3084 -struct stop_machine_datastop_machine_data130,3186 -static int do_stop(137,3275 -struct task_struct *__stop_machine_run(161,3753 -int stop_machine_run(187,4333 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/itimer.c,155 -int do_getitimer(16,266 -asmlinkage long sys_getitimer(52,1099 -void it_real_fn(66,1402 -int do_setitimer(81,1768 -asmlinkage long sys_setitimer(124,2759 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/auditsc.c,1405 -#define AUDIT_DEBUG 47,1615 -#define AUDIT_NAMES 54,1843 -#define AUDIT_NAMES_RESERVED 59,2012 -enum audit_state audit_state64,2216 - AUDIT_DISABLED,65,2235 - AUDIT_SETUP_CONTEXT,68,2363 - AUDIT_BUILD_CONTEXT,72,2526 - AUDIT_RECORD_CONTEXT 78,2777 -struct audit_names audit_names89,3220 -struct audit_context audit_context96,3332 -struct audit_entry audit_entry131,4513 -static int audit_compare_rule(139,4714 -static inline int audit_add_rule(168,5305 -static void audit_free_rule(180,5581 -static inline int audit_del_rule(189,5857 -static int audit_copy_rule(209,6368 -int audit_receive_filter(231,6906 -static int audit_filter_rules(288,8671 -static enum audit_state audit_filter_task(401,11159 -static enum audit_state audit_filter_syscall(422,11794 -static inline struct audit_context *audit_get_context(444,12377 -static inline void audit_free_names(476,13234 -static inline void audit_zero_context(509,14145 -static inline struct audit_context *audit_alloc_context(519,14393 -int audit_alloc(533,14856 -static inline void audit_free_context(560,15461 -static void audit_log_exit(582,16039 -void audit_free(635,17671 -static inline unsigned int audit_serial(669,18904 -void audit_syscall_entry(691,19649 -void audit_syscall_exit(768,22133 -void audit_getname(801,22994 -void audit_putname(825,23734 -void audit_inode(864,24775 -void audit_get_stamp(894,25644 -int audit_set_loginuid(908,25922 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/kthread.c,408 -struct kthread_create_infokthread_create_info17,455 -struct kthread_stop_infokthread_stop_info29,727 -static struct kthread_stop_info kthread_stop_info;39,958 -int kthread_should_stop(41,1010 -static void kthread_exit_files(47,1123 -static int kthread(61,1416 -static void keventd_create_kthread(100,2376 -struct task_struct *kthread_create(116,2804 -void kthread_bind(149,3574 -int kthread_stop(159,3864 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/exec_domain.c,370 -static struct exec_domain *exec_domains 23,550 -static rwlock_t exec_domains_lock 24,614 -static u_long ident_map[27,670 -struct exec_domain default_exec_domain 34,827 -default_handler(45,1181 -lookup_exec_domain(56,1457 -register_exec_domain(87,2129 -unregister_exec_domain(114,2537 -__set_personality(135,2920 -get_exec_domain_list(177,3712 -sys_personality(192,4095 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/kallsyms.c,759 -static inline int is_kernel_inittext(25,815 -static inline int is_kernel_text(33,982 -unsigned long kallsyms_lookup_name(41,1198 -const char *kallsyms_lookup(60,1701 -void __print_symbol(115,3180 -struct kallsym_iterkallsym_iter139,3814 -static void upcase_if_global(150,4052 -static int get_ksymbol_mod(156,4183 -static unsigned long get_ksymbol_core(169,4468 -static void reset_iter(191,5084 -static int update_iter(199,5249 -static void *s_next(220,5764 -static void *s_start(229,5906 -static void s_stop(236,6037 -static int s_show(240,6090 -struct seq_operations kallsyms_op 260,6564 -static int kallsyms_open(267,6675 -static int kallsyms_release(287,7142 -static struct file_operations kallsyms_operations 294,7330 -int __init kallsyms_init(301,7483 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/signal.c,3425 -static kmem_cache_t *sigqueue_cachep;35,792 -#define M_SIGEMT 112,4220 -#define M_SIGEMT 114,4253 -#define M(M118,4309 -#define M(M120,4350 -#define T(T122,4391 -#define SIG_KERNEL_ONLY_MASK 124,4431 -#define SIG_KERNEL_STOP_MASK 127,4528 -#define SIG_KERNEL_COREDUMP_MASK 130,4625 -#define SIG_KERNEL_IGNORE_MASK 135,4879 -#define sig_kernel_only(sig_kernel_only138,4985 -#define sig_kernel_coredump(sig_kernel_coredump140,5072 -#define sig_kernel_ignore(sig_kernel_ignore142,5167 -#define sig_kernel_stop(sig_kernel_stop144,5258 -#define sig_user_defined(sig_user_defined147,5346 -#define sig_fatal(sig_fatal151,5512 -#define sig_avoid_stop_race(sig_avoid_stop_race155,5665 -static int sig_ignored(160,5865 -static inline int has_pending_signals(188,6528 -#define PENDING(PENDING214,7164 -fastcall void recalc_sigpending_tsk(216,7225 -void recalc_sigpending(226,7518 -next_signal(234,7676 -static struct sigqueue *__sigqueue_alloc(267,8235 -static inline void __sigqueue_free(284,8621 -static void flush_sigqueue(293,8819 -flush_signals(310,9132 -void __exit_sighand(324,9481 -void exit_sighand(334,9737 -void __exit_signal(344,9939 -void exit_signal(413,12313 -flush_signal_handlers(425,12496 -block_all_signals(449,13355 -unblock_all_signals(463,13723 -static inline int collect_signal(474,13973 -static int __dequeue_signal(517,14935 -int dequeue_signal(548,15541 -void signal_wake_up(573,16260 -static int rm_from_queue(599,16996 -static int check_kill_permission(620,17430 -static void handle_stop_signal(650,18490 -static int send_signal(746,21384 -#define LEGACY_QUEUE(LEGACY_QUEUE816,23241 -specific_send_sig_info(821,23353 -force_sig_info(861,24271 -force_sig_specific(879,24756 -#define wants_signal(wants_signal900,25589 -__group_complete_signal(908,25790 -__group_send_sig_info(1020,28830 -void zap_other_threads(1060,29769 -int group_send_sig_info(1096,30621 -int __kill_pg_info(1116,31102 -kill_pg_info(1135,31489 -kill_proc_info(1147,31686 -int print_fatal_signals 1161,31956 -static void print_fatal_signal(1163,31986 -static int __init setup_print_fatal_signals(1181,32392 -static int kill_something_info(1197,32783 -send_sig_info(1232,33602 -send_sig(1259,34317 -send_group_sig_info(1269,34558 -force_sig(1279,34765 -force_sigsegv(1291,35072 -kill_pg(1304,35371 -kill_proc(1310,35479 -struct sigqueue *sigqueue_alloc(1325,36035 -void sigqueue_free(1334,36176 -send_sigqueue(1355,36665 -send_group_sigqueue(1399,37716 -static void __wake_up_parent(1447,38876 -void do_notify_parent(1473,39458 -do_notify_parent_cldstop(1538,41517 -static void ptrace_stop(1589,42892 -void ptrace_notify(1626,43924 -finish_stop(1647,44383 -do_signal_stop(1680,45242 -static inline int handle_group_stop(1789,48140 -int get_signal_to_deliver(1824,49039 -asmlinkage long sys_restart_syscall(1995,53544 -long do_no_restart_syscall(2001,53693 -int sigprocmask(2020,54201 -sys_rt_sigprocmask(2049,54791 -long do_sigpending(2084,55586 -sys_rt_sigpending(2109,56161 -int copy_siginfo_to_user(2116,56305 -sys_rt_sigtimedwait(2179,58324 -sys_kill(2257,60204 -asmlinkage long sys_tgkill(2280,60817 -sys_tkill(2320,61768 -sys_rt_sigqueueinfo(2357,62581 -do_sigaction(2375,63028 -do_sigaltstack 2446,65044 -sys_sigpending(2512,66411 -sys_sigprocmask(2524,66670 -sys_rt_sigaction(2575,67727 -sys_sgetmask(2609,68480 -sys_ssetmask(2616,68569 -sys_signal(2637,69027 -sys_pause(2654,69387 -void __init signals_init(2663,69492 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/exit.c,1643 -static void __unhash_process(38,851 -void release_task(53,1146 -void unhash_process(106,2530 -int session_of_pgrp(124,2979 -static int will_become_orphaned_pgrp(153,3696 -int is_orphaned_pgrp(172,4180 -static inline int has_stopped_jobs(183,4354 -void reparent_to_init(220,5450 -void __set_special_pids(247,6139 -void set_special_pids(263,6529 -int allow_signal(275,6834 -int disallow_signal(296,7372 -void daemonize(315,7776 -static inline void close_files(355,8664 -struct files_struct *get_files_struct(380,9098 -void fastcall put_files_struct(393,9314 -static inline void __exit_files(412,9821 -void exit_files(424,10030 -static inline void __put_fs_struct(429,10096 -void put_fs_struct(445,10442 -static inline void __exit_fs(450,10510 -void exit_fs(462,10697 -static inline void __exit_mm(473,10854 -void exit_mm(509,11736 -static inline void choose_new_parent(514,11796 -static inline void reparent_thread(526,12146 -static inline void forget_original_parent(590,14106 -static void exit_notify(653,15930 -asmlinkage NORET_TYPE void do_exit(782,20001 -NORET_TYPE void complete_and_exit(846,21437 -asmlinkage long sys_exit(856,21594 -task_t fastcall *next_thread(861,21672 -do_group_exit(880,22104 -asmlinkage void sys_exit_group(912,23026 -static int eligible_child(917,23120 -static int wait_noreap_copyout(958,24125 -static int wait_task_zombie(988,25073 -static int wait_task_stopped(1139,29521 -static int wait_task_continued(1254,33055 -static inline int my_ptrace_child(1300,34014 -static long do_wait(1314,34462 -asmlinkage long sys_waitid(1462,37841 -asmlinkage long sys_wait4(1497,38474 -asmlinkage long sys_waitpid(1518,38985 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/extable.c,213 -void __init sort_main_extable(27,1114 -const struct exception_table_entry *search_exception_tables(33,1270 -static int core_kernel_text(43,1520 -int __kernel_text_address(55,1765 -int kernel_text_address(62,1902 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/intermodule.c,355 -static struct list_head ime_list 16,517 -static spinlock_t ime_lock 17,578 -static int kmalloc_failed;18,627 -struct inter_module_entry inter_module_entry20,655 -void inter_module_register(37,1212 -void inter_module_unregister(78,2430 -const void *inter_module_get(116,3453 -const void *inter_module_get_request(142,4153 -void inter_module_put(159,4662 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/dma.c,418 -spinlock_t dma_spin_lock 41,1422 -struct dma_chan dma_chan55,1731 -static struct dma_chan dma_chan_busy[60,1789 -int request_dma(65,1878 -void free_dma(80,2190 -int request_dma(96,2480 -void free_dma(101,2561 -static int proc_dma_show(110,2655 -static int proc_dma_show(123,2896 -static int proc_dma_open(130,3022 -static struct file_operations proc_dma_operations 135,3140 -static int __init proc_dma_init(142,3294 - -/export0/mef/linux-2.6.9-1.11_FC2/kernel/sched.c,10179 -#define cpu_to_node_mask(cpu_to_node_mask51,1435 -#define cpu_to_node_mask(cpu_to_node_mask53,1505 -#define NICE_TO_PRIO(NICE_TO_PRIO61,1680 -#define PRIO_TO_NICE(PRIO_TO_NICE62,1735 -#define TASK_NICE(TASK_NICE63,1790 -#define USER_PRIO(USER_PRIO70,2011 -#define TASK_USER_PRIO(TASK_USER_PRIO71,2051 -#define MAX_USER_PRIO 72,2105 -#define NS_TO_JIFFIES(NS_TO_JIFFIES77,2227 -#define JIFFIES_TO_NS(JIFFIES_TO_NS78,2284 -#define MIN_TIMESLICE 87,2582 -#define DEF_TIMESLICE 88,2627 -#define ON_RUNQUEUE_WEIGHT 89,2668 -#define CHILD_PENALTY 90,2699 -#define PARENT_PENALTY 91,2726 -#define EXIT_WEIGHT 92,2754 -#define PRIO_BONUS_RATIO 93,2779 -#define MAX_BONUS 94,2808 -#define INTERACTIVE_DELTA 95,2868 -#define MAX_SLEEP_AVG 96,2898 -#define STARVATION_LIMIT 97,2949 -#define NS_MAX_SLEEP_AVG 98,2990 -#define CREDIT_LIMIT 99,3046 -#define CURRENT_BONUS(CURRENT_BONUS129,4198 -#define TIMESLICE_GRANULARITY(TIMESLICE_GRANULARITY134,4309 -#define TIMESLICE_GRANULARITY(TIMESLICE_GRANULARITY138,4447 -#define SCALE(SCALE142,4562 -#define DELTA(DELTA145,4625 -#define TASK_INTERACTIVE(TASK_INTERACTIVE148,4703 -#define INTERACTIVE_SLEEP(INTERACTIVE_SLEEP151,4778 -#define HIGH_CREDIT(HIGH_CREDIT155,4897 -#define LOW_CREDIT(LOW_CREDIT158,4965 -#define TASK_PREEMPTS_CURR(TASK_PREEMPTS_CURR161,5033 -#define SCALE_PRIO(SCALE_PRIO173,5411 -static unsigned int task_timeslice(176,5505 -#define task_hot(task_hot183,5706 -enum idle_typeidle_type186,5815 - IDLE,188,5832 - NOT_IDLE,189,5839 - NEWLY_IDLE,190,5850 - MAX_IDLE_TYPES191,5863 -#define BITMAP_SIZE 200,5956 -typedef struct runqueue runqueue_t;runqueue_t202,6028 -struct prio_array prio_array204,6065 -struct runqueue runqueue217,6445 -#define SCHED_LOAD_SCALE 297,8227 -#define SD_BALANCE_NEWIDLE 299,8293 -#define SD_BALANCE_EXEC 300,8362 -#define SD_WAKE_IDLE 301,8411 -#define SD_WAKE_AFFINE 302,8473 -#define SD_WAKE_BALANCE 303,8529 -#define SD_SHARE_CPUPOWER 304,8596 -struct sched_group sched_group306,8663 -struct sched_domain sched_domain317,8936 -#define ARCH_HAS_SCHED_WAKE_IDLE356,10426 -#define SD_SIBLING_INIT 358,10496 -#define SD_CPU_INIT 381,11059 -#define SD_NODE_INIT 403,11700 -#define for_each_domain(for_each_domain425,12211 -#define cpu_rq(cpu_rq428,12316 -#define this_rq(this_rq429,12366 -#define task_rq(task_rq430,12413 -#define cpu_curr(cpu_curr431,12453 -# define prepare_arch_switch(prepare_arch_switch437,12567 -# define finish_arch_switch(finish_arch_switch438,12623 -# define task_running(task_running439,12690 -static runqueue_t *task_rq_lock(447,12939 -static inline void task_rq_unlock(462,13236 -#define SCHEDSTAT_VERSION 472,13513 -static int show_schedstat(474,13543 -static int schedstat_open(532,15275 -struct file_operations proc_schedstat_operations 551,15666 -# define schedstat_inc(schedstat_inc558,15824 -# define schedstat_add(schedstat_add559,15871 -# define schedstat_inc(schedstat_inc561,15959 -# define schedstat_add(schedstat_add562,16011 -static runqueue_t *this_rq_lock(568,16142 -static inline void rq_unlock(579,16278 -static inline void sched_info_dequeued(600,17155 -static inline void sched_info_arrive(610,17437 -static inline void sched_info_queued(644,18651 -static inline void sched_info_depart(654,18928 -static inline void sched_info_switch(670,19372 -#define sched_info_queued(sched_info_queued686,19741 -#define sched_info_switch(sched_info_switch687,19788 -static void dequeue_task(693,19931 -static void enqueue_task(701,20131 -static inline void enqueue_task_head(715,20517 -static int effective_prio(737,21213 -static inline void __activate_task(757,21549 -static inline void __activate_idle_task(766,21741 -static void recalc_task_prio(772,21867 -static void activate_task(852,24147 -static void deactivate_task(898,25207 -static void resched_task(915,25648 -static inline void resched_task(930,26128 -inline int task_curr(940,26304 -enum request_type request_type946,26401 - REQ_MOVE_TASK,947,26421 - REQ_SET_DOMAIN,948,26437 -} migration_req_t;migration_req_t963,26659 -static int migrate_task(969,26786 -void wait_task_inactive(999,27646 -void kick_process(1027,28307 -static inline unsigned long source_load(1044,28650 -static inline unsigned long target_load(1055,28902 -static int wake_idle(1073,29332 -static inline int wake_idle(1097,29685 -static int try_to_wake_up(1117,30286 -int fastcall wake_up_process(1255,33626 -int fastcall wake_up_state(1263,33819 -void fastcall sched_fork(1277,34140 -void fastcall wake_up_new_task(1337,36038 -void fastcall sched_exit(1425,38501 -static void finish_task_switch(1460,39590 -asmlinkage void schedule_tail(1491,40578 -task_t * context_switch(1504,40836 -unsigned long nr_running(1535,41614 -unsigned long nr_uninterruptible(1545,41748 -unsigned long long nr_context_switches(1555,41891 -unsigned long nr_iowait(1565,42038 -static void double_rq_lock(1583,42358 -static void double_rq_unlock(1604,42782 -static void double_lock_balance(1614,43006 -static int find_idlest_cpu(1629,43352 -static void sched_migrate_task(1677,44491 -void sched_exec(1711,45430 -void pull_task(1744,46140 -int can_migrate_task(1766,46787 -static int move_tasks(1797,47609 -find_busiest_group(1882,49697 -static runqueue_t *find_busiest_queue(2017,53451 -static int load_balance(2041,53906 -static int load_balance_newidle(2139,56258 -static inline void idle_balance(2179,57236 -static void active_load_balance(2201,57820 -#define CPU_OFFSET(CPU_OFFSET2269,59393 -static void rebalance_tick(2271,59439 -static inline void rebalance_tick(2314,60517 -static inline void idle_balance(2317,60601 -static inline int wake_priority_sleeper(2322,60670 -#define EXPIRED_STARVING(EXPIRED_STARVING2354,61580 -void scheduler_tick(2367,62016 -static inline void wake_sleeping_dependent(2483,65325 -static inline int dependent_sleeper(2528,66387 -static inline void wake_sleeping_dependent(2597,68327 -static inline int dependent_sleeper(2601,68410 -asmlinkage void __sched schedule(2610,68557 -asmlinkage void __sched preempt_schedule(2785,72929 -int default_wake_function(2810,73542 -static void __wake_up_common(2827,74211 -void fastcall __wake_up(2850,74819 -void fastcall __wake_up_locked(2865,75185 -void fastcall __wake_up_sync(2883,75813 -void fastcall complete(2900,76213 -void fastcall complete_all(2912,76500 -void fastcall __sched wait_for_completion(2924,76807 -#define SLEEP_ON_VAR 2946,77336 -#define SLEEP_ON_HEAD 2951,77455 -#define SLEEP_ON_TAIL 2956,77580 -#define SLEEP_ON_BKLCHECK 2961,77717 -static int sleep_on_bkl_warnings;2968,77877 -void fastcall __sched interruptible_sleep_on(2970,77912 -long fastcall __sched interruptible_sleep_on_timeout(2985,78141 -long fastcall __sched sleep_on_timeout(3002,78443 -void set_user_nice(3019,78719 -asmlinkage long sys_nice(3077,80126 -int task_prio(3120,81020 -int task_nice(3129,81178 -int idle_cpu(3138,81325 -static inline task_t *find_process_by_pid(3149,81531 -static void __setscheduler(3155,81690 -static int setscheduler(3169,82029 -asmlinkage long sys_sched_setscheduler(3273,84660 -asmlinkage long sys_sched_setparam(3284,84968 -asmlinkage long sys_sched_getscheduler(3293,85203 -asmlinkage long sys_sched_getparam(3320,85708 -long sched_setaffinity(3355,86379 -static int get_user_cpu_mask(3391,87090 -asmlinkage long sys_sched_setaffinity(3408,87638 -cpumask_t cpu_present_map;3428,88147 -cpumask_t cpu_online_map 3432,88226 -cpumask_t cpu_possible_map 3433,88267 -long sched_getaffinity(3436,88318 -asmlinkage long sys_sched_getaffinity(3467,88934 -asmlinkage long sys_sched_yield(3493,89560 -void __sched __cond_resched(3532,90432 -void __sched __cond_resched_lock(3550,90883 -void __sched yield(3570,91392 -void __sched io_schedule(3585,91803 -long __sched io_schedule_timeout(3596,91974 -asmlinkage long sys_sched_get_priority_max(3614,92375 -asmlinkage long sys_sched_get_priority_min(3637,92800 -long sys_sched_rr_get_interval(3661,93323 -static inline struct task_struct *eldest_child(3691,93935 -static inline struct task_struct *older_sibling(3697,94119 -static inline struct task_struct *younger_sibling(3703,94316 -static void show_task(3709,94515 -void show_state(3763,95743 -void __devinit init_idle(3789,96406 -cpumask_t nohz_cpu_mask 3821,97271 -int set_cpus_allowed(3849,98306 -static void __migrate_task(3891,99434 -static int migration_thread(3934,100552 -static void move_task_off_dead_cpu(4004,102057 -static void migrate_live_tasks(4037,102960 -void sched_idle_next(4058,103477 -static void migrate_dead(4080,104016 -static void migrate_dead_tasks(4105,104716 -static int migration_call(4126,105262 -static struct notifier_block __devinitdata migration_notifier 4194,107300 -int __init migration_init(4199,107420 -spinlock_t kernel_flag __cacheline_aligned_in_smp 4222,108090 -static void cpu_attach_domain(4230,108311 -static int __devinit find_next_best_node(4274,109435 -static cpumask_t __devinit sched_domain_node_span(4310,110279 -static cpumask_t __devinit sched_domain_node_span(4330,110722 -static struct sched_group sched_group_cpus[4339,110952 -static int __devinit cpu_to_cpu_group(4340,111005 -static struct sched_group sched_group_phys[4347,111135 -static int __devinit cpu_to_phys_group(4348,111188 -static struct sched_group sched_group_nodes[4360,111410 -static int __devinit cpu_to_node_group(4361,111469 -static struct sched_group sched_group_isolated[4368,111600 -cpumask_t __devinitdata cpu_isolated_map 4371,111691 -static int __devinit cpu_to_isolated_group(4373,111750 -static int __init isolated_cpu_setup(4379,111881 -static void __devinit init_sched_build_groups(4403,112698 -static void __devinit arch_init_sched_domains(4440,113436 -static void __devinit arch_destroy_sched_domains(4591,117409 -void sched_domain_debug(4599,117583 -#define sched_domain_debug(sched_domain_debug4673,119240 -static __devinitdata struct sched_domain sched_domain_dummy;4678,119360 -static __devinitdata struct sched_group sched_group_dummy;4679,119421 -static int update_sched_domains(4689,119816 -void __init sched_init_smp(4723,120440 -void __init sched_init_smp(4733,120683 -int in_sched_functions(4738,120745 -void __init sched_init(4747,121035 -void __might_sleep(4814,122818 - -/export0/mef/linux-2.6.9-1.11_FC2/net/packet/af_packet.c,2321 -#define CONFIG_SOCK_PACKET 80,2621 -#define CONFIG_PACKET_MULTICAST 94,3085 -static rwlock_t packet_sklist_lock 149,4589 -atomic_t packet_socks_nr;151,4645 -struct packet_mclistpacket_mclist157,4745 -struct packet_optpacket_opt173,5076 -static inline char *packet_lookup_frame(202,5718 -#define pkt_sk(pkt_sk216,6052 -void packet_sock_destruct(218,6117 -static int packet_rcv_spkt(242,6674 -static int packet_sendmsg_spkt(307,8036 -static inline unsigned run_filter(410,10278 -static int packet_rcv(439,11149 -static int tpacket_rcv(541,13459 -static int packet_sendmsg(686,16902 -static int packet_release(786,18895 -static int packet_do_bind(845,19775 -static int packet_bind_spkt(901,20763 -static int packet_bind(925,21209 -static int packet_create(961,21856 -static int packet_recvmsg(1036,23356 -static int packet_getname_spkt(1117,25159 -static int packet_getname(1139,25602 -static void packet_dev_mc(1169,26334 -static void packet_dev_mclist(1188,26736 -static int packet_mc_add(1196,26924 -static int packet_mc_drop(1246,27934 -static void packet_flush_mclist(1275,28589 -packet_setsockopt(1299,28997 -int packet_getsockopt(1353,30060 -static int packet_notifier(1396,30897 -static int packet_ioctl(1448,32106 -#define packet_mmap 1499,33192 -#define packet_poll 1500,33225 -unsigned int packet_poll(1503,33266 -static void packet_mm_open(1528,33880 -static void packet_mm_close(1539,34139 -static struct vm_operations_struct packet_mmap_ops 1550,34399 -static inline struct page *pg_vec_endpage(1555,34509 -static void free_pg_vec(1560,34655 -static int packet_set_ring(1578,35019 -#define XC(XC1670,37119 -static int packet_mmap(1708,38094 -struct proto_ops packet_ops_spkt 1749,38921 -struct proto_ops packet_ops 1771,39487 -static struct net_proto_family packet_family_ops 1792,40022 -static struct notifier_block packet_netdev_notifier 1798,40150 -static inline struct sock *packet_seq_idx(1803,40266 -static void *packet_seq_start(1815,40453 -static void *packet_seq_next(1821,40615 -static void packet_seq_stop(1829,40795 -static int packet_seq_show(1834,40896 -static struct seq_operations packet_seq_ops 1858,41431 -static int packet_seq_open(1865,41589 -static struct file_operations packet_seq_fops 1870,41702 -static void __exit packet_exit(1880,41883 -static int __init packet_init(1888,42048 - -/export0/mef/linux-2.6.9-1.11_FC2/net/compat.c,1202 -static inline int iov_from_user_compat_to_kern(32,949 -int get_compat_msghdr(57,1426 -int verify_compat_iovec(77,2174 -#define CMSG_COMPAT_ALIGN(CMSG_COMPAT_ALIGN113,3033 -#define CMSG_COMPAT_DATA(CMSG_COMPAT_DATA115,3091 -#define CMSG_COMPAT_SPACE(CMSG_COMPAT_SPACE117,3220 -#define CMSG_COMPAT_LEN(CMSG_COMPAT_LEN119,3333 -#define CMSG_COMPAT_FIRSTHDR(CMSG_COMPAT_FIRSTHDR122,3428 -#define CMSG_COMPAT_OK(CMSG_COMPAT_OK127,3630 -static inline struct compat_cmsghdr __user *cmsg_compat_nxthdr(133,3834 -int cmsghdr_from_user_compat_to_kern(147,4351 -int put_cmsg_compat(217,6354 -void scm_detach_fds_compat(256,7442 -struct compat_ipt_replace compat_ipt_replace315,8929 -static int do_netfilter_replace(327,9224 -struct compat_sock_fprog compat_sock_fprog415,11654 -static int do_set_attach_filter(420,11747 -static int do_set_sock_timeout(440,12480 -asmlinkage long compat_sys_setsockopt(461,13064 -static int do_get_sock_timeout(478,13690 -asmlinkage long compat_sys_getsockopt(507,14409 -#define AL(AL516,14762 -static unsigned char nas[517,14796 -asmlinkage long compat_sys_sendmsg(522,14957 -asmlinkage long compat_sys_recvmsg(527,15134 -asmlinkage long compat_sys_socketcall(532,15315 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/devinet.c,1739 -struct ipv4_devconf ipv4_devconf 65,1779 -static struct ipv4_devconf ipv4_devconf_dflt 72,1913 -static struct notifier_block *inetaddr_chain;82,2148 -static struct in_ifaddr *inet_alloc_ifa(93,2510 -static void inet_rcu_free_ifa(105,2716 -static inline void inet_free_ifa(113,2907 -void in_dev_finish_destroy(118,3014 -struct in_device *inetdev_init(136,3394 -static void in_dev_rcu_put(178,4336 -static void inetdev_destroy(184,4484 -int inet_addr_onlink(216,5077 -static void inet_del_ifa(231,5359 -static int inet_insert_ifa(284,6705 -static int inet_set_ifa(335,7918 -struct in_device *inetdev_by_index(358,8376 -struct in_ifaddr *inet_ifa_byprefix(372,8695 -int inet_rtm_deladdr(384,8948 -int inet_rtm_newaddr(416,9812 -static __inline__ int inet_abc_len(473,11264 -int devinet_ioctl(494,11571 -static int inet_gifconf(732,17617 -u32 inet_select_addr(771,18499 -static u32 confirm_addr_indev(822,19544 -u32 inet_confirm_addr(866,20626 -int register_inetaddr_notifier(899,21232 -int unregister_inetaddr_notifier(904,21349 -static void inetdev_changename(912,21618 -static int inetdev_event(939,22278 -static struct notifier_block ip_netdev_notifier 1005,23838 -static int inet_fill_ifaddr(1009,23926 -static int inet_dump_ifaddr(1043,24941 -static void rtmsg_ifa(1086,25870 -static struct rtnetlink_link inet_rtnetlink_table[1102,26371 -void inet_forward_change(1118,26908 -static int devinet_sysctl_forward(1140,27352 -int ipv4_doint_and_flush(1158,27790 -int ipv4_doint_and_flush_strategy(1172,28093 -static struct devinet_sysctl_table devinet_sysctl_table1214,28831 -} devinet_sysctl 1221,29067 -static void devinet_sysctl_register(1413,33724 -static void devinet_sysctl_unregister(1471,35246 -void __init devinet_init(1483,35501 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/xfrm4_state.c,282 -static struct xfrm_state_afinfo xfrm4_state_afinfo;14,181 -__xfrm4_init_tempsel(17,246 -__xfrm4_state_lookup(43,965 -__xfrm4_find_acq(61,1388 -static struct xfrm_state_afinfo xfrm4_state_afinfo 109,2684 -void __init xfrm4_state_init(117,2906 -void __exit xfrm4_state_fini(122,2996 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp_diag.c,581 -static struct sock *tcpnl;32,805 -#define TCPDIAG_PUT(TCPDIAG_PUT35,834 -void tcp_get_info(45,1275 -static int tcpdiag_fill(99,3069 -#define EXPIRES_IN_MS(EXPIRES_IN_MS177,5421 -static int tcpdiag_get_exact(241,7280 -static int bitstring_match(300,8780 -static int tcpdiag_bc_run(327,9137 -static int valid_cc(413,10925 -static int tcpdiag_bc_audit(430,11184 -static int tcpdiag_dump(470,12114 -static int tcpdiag_dump_done(595,15130 -tcpdiag_rcv_msg(602,15227 -static inline void tcpdiag_rcv_skb(635,16102 -static void tcpdiag_rcv(650,16461 -void __init tcpdiag_init(660,16646 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/esp4.c,457 -struct esp_decap_data esp_decap_data14,321 -static int esp_output(20,401 -static int esp_input(142,3496 -static int esp_post_input(249,6223 -static u32 esp4_get_max_size(306,7682 -static void esp4_err(323,8105 -static void esp_destroy(341,8648 -static int esp_init_state(367,9098 -static struct xfrm_type esp_type 459,11678 -static struct net_protocol esp4_protocol 472,11967 -static int __init esp4_init(478,12082 -static void __exit esp4_fini(501,12620 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/xfrm4_policy.c,675 -static struct dst_ops xfrm4_dst_ops;15,206 -static struct xfrm_policy_afinfo xfrm4_policy_afinfo;16,243 -static struct xfrm_type_map xfrm4_type_map 18,298 -static int xfrm4_dst_lookup(20,374 -static int __xfrm4_bundle_ok(29,591 -__xfrm4_find_bundle(46,1012 -__xfrm4_bundle_create(70,1629 -_decode_session4(167,4210 -static inline int xfrm4_garbage_collect(228,5480 -static void xfrm4_update_pmtu(236,5726 -static struct dst_ops xfrm4_dst_ops 246,5911 -static struct xfrm_policy_afinfo xfrm4_policy_afinfo 255,6148 -static void __init xfrm4_policy_init(266,6472 -static void __exit xfrm4_policy_fini(271,6572 -void __init xfrm4_init(276,6674 -void __exit xfrm4_fini(282,6751 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/syncookies.c,260 -static __u16 const msstab[30,840 -#define NUM_MSS 42,1022 -__u32 cookie_v4_init_sequence(48,1191 -#define COUNTER_TRIES 76,2045 -static inline int cookie_check(81,2184 -static inline struct sock *get_cookie_sock(97,2593 -struct sock *cookie_v4_check(114,2997 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_input.c,178 -int ip_call_ra_chain(158,6253 -static inline int ip_local_deliver_finish(199,7141 -int ip_local_deliver(269,8775 -static inline int ip_rcv_finish(285,9066 -int ip_rcv(360,10909 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_gre.c,1267 -static struct net_device *ipgre_fb_tunnel_dev;125,4508 -#define HASH_SIZE 145,4947 -#define HASH(HASH146,4969 -static struct ip_tunnel *tunnels[148,5012 -#define tunnels_r_l 150,5061 -#define tunnels_r 151,5094 -#define tunnels_l 152,5125 -#define tunnels_wc 153,5156 -static rwlock_t ipgre_lock 155,5189 -static struct ip_tunnel * ipgre_tunnel_lookup(159,5303 -static struct ip_tunnel **ipgre_bucket(194,6242 -static void ipgre_tunnel_link(212,6569 -static void ipgre_tunnel_unlink(222,6754 -static struct ip_tunnel * ipgre_tunnel_locate(236,7008 -static void ipgre_tunnel_uninit(300,8239 -void ipgre_err(307,8368 -static inline void ipgre_ecn_decapsulate(533,13886 -ipgre_ecn_encapsulate(545,14187 -int ipgre_rcv(555,14487 -static int ipgre_tunnel_xmit(671,17339 -ipgre_tunnel_ioctl 901,22605 -static struct net_device_stats *ipgre_tunnel_get_stats(1022,25320 -static int ipgre_tunnel_change_mtu(1027,25453 -static int ipgre_header(1066,26713 -static int ipgre_open(1094,27337 -static int ipgre_close(1118,27985 -static void ipgre_tunnel_setup(1133,28310 -static int ipgre_tunnel_init(1151,28841 -int __init ipgre_fb_tunnel_init(1222,30528 -static struct net_protocol ipgre_protocol 1241,30915 -static int __init ipgre_init(1251,31074 -void ipgre_fini(1282,31723 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/inetpeer.c,1110 -spinlock_t inet_peer_idlock 73,3110 -static kmem_cache_t *peer_cachep;75,3161 -#define node_height(node_height77,3196 -static struct inet_peer peer_fake_node 78,3233 -#define peer_avl_empty 83,3357 -static struct inet_peer *peer_root 84,3398 -static rwlock_t peer_pool_lock 85,3451 -#define PEER_MAXDEPTH 86,3502 -static volatile int peer_total;88,3566 -int inet_peer_threshold 90,3635 -int inet_peer_minttl 92,3743 -int inet_peer_maxttl 93,3811 -struct inet_peer *inet_peer_unused_head,96,3932 - **inet_peer_unused_tailp 97,3973 -spinlock_t inet_peer_unused_lock 98,4026 -#define PEER_MAX_CLEANUP_WORK 99,4081 -static struct timer_list peer_periodic_timer 102,4167 -int inet_peer_gc_mintime 106,4297 -void __init inet_initpeers(110,4410 -static void unlink_from_unused(145,5467 -#define lookup(lookup161,5944 -#define lookup_rightempty(lookup_rightempty180,6401 -static void peer_avl_rebalance(196,6889 -#define link_to_pool(link_to_pool272,9336 -static void unlink_from_pool(282,9602 -static int cleanup_once(340,11400 -struct inet_peer *inet_getpeer(376,12446 -static void peer_check_expire(437,13945 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipip.c,1275 -#define HASH_SIZE 120,4254 -#define HASH(HASH121,4276 -static struct net_device *ipip_fb_tunnel_dev;127,4484 -static struct ip_tunnel *tunnels_r_l[129,4531 -static struct ip_tunnel *tunnels_r[130,4580 -static struct ip_tunnel *tunnels_l[131,4627 -static struct ip_tunnel *tunnels_wc[132,4674 -static struct ip_tunnel **tunnels[133,4714 -static rwlock_t ipip_lock 135,4805 -static struct ip_tunnel * ipip_tunnel_lookup(137,4852 -static struct ip_tunnel **ipip_bucket(161,5495 -static void ipip_tunnel_unlink(180,5789 -static void ipip_tunnel_link(194,6039 -static struct ip_tunnel * ipip_tunnel_locate(204,6220 -static void ipip_tunnel_uninit(265,7372 -static void ipip_err(276,7625 -static inline void ipip_ecn_decapsulate(459,11946 -static int ipip_rcv(467,12143 -static int ipip_tunnel_xmit(515,13157 -ipip_tunnel_ioctl 659,16479 -static struct net_device_stats *ipip_tunnel_get_stats(765,18885 -static int ipip_tunnel_change_mtu(770,19017 -static void ipip_tunnel_setup(778,19205 -static int ipip_tunnel_init(796,19723 -static int __init ipip_fb_tunnel_init(838,20732 -static struct xfrm_tunnel ipip_handler 855,21063 -static char banner[860,21158 -static char banner[] __initdata 860,21158 -static int __init ipip_init(863,21241 -static void __exit ipip_fini(895,21838 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/udp.c,1748 -struct hlist_head udp_hash[117,4268 -rwlock_t udp_hash_lock 118,4313 -int udp_port_rover;121,4384 -static int udp_v4_get_port(123,4405 -static void udp_v4_hash(204,6551 -static void udp_v4_unhash(209,6605 -struct sock *udp_v4_lookup_longway(222,6915 -__inline__ struct sock *udp_v4_lookup(266,7844 -static inline struct sock *udp_v4_mcast_next(278,8117 -void udp_err(317,9308 -static void udp_flush_pending_frames(385,10775 -static int udp_push_pending_frames(399,11032 -static unsigned short udp_check(475,12898 -int udp_sendmsg(480,13091 -int udp_sendpage(670,17169 -int udp_ioctl(721,18248 -static __inline__ int __udp_checksum_complete(757,18967 -static __inline__ int udp_checksum_complete(762,19117 -int udp_recvmsg(773,19368 -int udp_disconnect(865,21378 -static void udp_close(887,21802 -static int udp_encap_rcv(897,22035 -static int udp_queue_rcv_skb(986,24446 -static int udp_v4_mcast_deliver(1049,25940 -static int udp_checksum_init(1090,27031 -int udp_rcv(1114,27822 -static int udp_destroy_sock(1209,29976 -static int udp_setsockopt(1220,30140 -static int udp_getsockopt(1269,30953 -struct proto udp_prot 1307,31604 -static struct sock *udp_get_first(1329,32187 -static struct sock *udp_get_next(1346,32562 -static struct sock *udp_get_idx(1363,32901 -static void *udp_seq_start(1373,33109 -static void *udp_seq_next(1379,33257 -static void udp_seq_stop(1392,33457 -static int udp_seq_open(1397,33548 -int udp_proc_register(1427,34235 -void udp_proc_unregister(1448,34707 -static void udp4_format_sock(1457,34960 -static int udp4_seq_show(1474,35522 -static struct file_operations udp4_seq_fops;1492,36019 -static struct udp_seq_afinfo udp4_seq_afinfo 1493,36064 -int __init udp4_proc_init(1501,36236 -void udp4_proc_exit(1506,36318 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_fragment.c,1443 -int sysctl_ipfrag_high_thresh 56,1798 -int sysctl_ipfrag_low_thresh 57,1840 -int sysctl_ipfrag_time 62,2037 -struct ipfrag_skb_cbipfrag_skb_cb64,2077 -#define FRAG_CB(FRAG_CB70,2144 -struct ipq ipq73,2264 -#define COMPLETE 81,2444 -#define FIRST_IN 82,2464 -#define LAST_IN 83,2484 -#define IPQ_HASHSZ 98,2813 -static struct ipq *ipq_hash[101,2878 -static rwlock_t ipfrag_lock 102,2919 -static u32 ipfrag_hash_rnd;103,2967 -int ip_frag_nqueues 105,3027 -static __inline__ void __ipq_unlink(107,3053 -static __inline__ void ipq_unlink(116,3225 -static unsigned int ipqhashfn(123,3357 -static struct timer_list ipfrag_secret_timer;129,3532 -int sysctl_ipfrag_secret_interval 130,3578 -static void ipfrag_secret_rebuild(132,3629 -atomic_t ip_frag_mem 169,4418 -static __inline__ void frag_kfree_skb(172,4523 -static __inline__ void frag_free_queue(180,4694 -static __inline__ struct ipq *frag_alloc_queue(188,4866 -static void ip_frag_destroy(202,5134 -static __inline__ void ipq_put(222,5516 -static void ipq_kill(231,5766 -static void __ip_evictor(246,6103 -static inline void ip_evictor(277,6699 -static void ip_expire(285,6858 -static struct ipq *ip_frag_intern(314,7495 -static struct ipq *ip_frag_create(355,8579 -static inline struct ipq *ip_find(389,9439 -static void ip_frag_queue(415,10048 -static struct sk_buff *ip_frag_reasm(556,13198 -struct sk_buff *ip_defrag(645,15561 -void ipfrag_init(681,16269 -void ipfrag_flush(692,16593 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/fib_semantics.c,1553 -#define FSprintk(FSprintk48,1321 -static rwlock_t fib_info_lock 50,1345 -static struct hlist_head *fib_info_hash;51,1395 -static struct hlist_head *fib_info_laddrhash;52,1436 -static unsigned int fib_hash_size;53,1482 -static unsigned int fib_info_cnt;54,1517 -#define DEVINDEX_HASHBITS 56,1552 -#define DEVINDEX_HASHSIZE 57,1580 -static struct hlist_head fib_info_devhash[58,1632 -static spinlock_t fib_multipath_lock 62,1729 -#define for_nexthops(for_nexthops64,1789 -#define change_nexthops(change_nexthops67,1927 -#define for_nexthops(for_nexthops74,2183 -#define change_nexthops(change_nexthops77,2301 -#define endfor_nexthops(endfor_nexthops82,2474 -} fib_props[89,2546 -void free_fib_info(143,3482 -void fib_release_info(158,3750 -static __inline__ int nh_comp(176,4129 -static inline unsigned int fib_info_hashfn(197,4659 -static struct fib_info *fib_find_info(209,4937 -static inline unsigned int fib_devindex_hashfn(235,5632 -int ip_fib_check_default(248,5933 -static u32 fib_get_attr32(275,6461 -fib_count_nexthops(286,6690 -fib_get_nhs(302,6980 -int fib_nh_match(327,7675 -static int fib_check_nh(421,10460 -static inline unsigned int fib_laddr_hashfn(496,12198 -static struct hlist_head *fib_hash_alloc(503,12348 -static void fib_hash_free(512,12555 -static void fib_hash_move(523,12745 -fib_create_info(573,13935 -int fib_semantic_match(765,18425 -u32 __fib_res_prefsrc(836,19799 -fib_dump_info(842,19929 -fib_convert_rtentry(914,22008 -int fib_sync_down(1062,25860 -int fib_sync_up(1138,27517 -void fib_select_multipath(1195,28635 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/fib_rules.c,836 -#define FRprintk(FRprintk50,1390 -struct fib_rulefib_rule52,1414 -static struct fib_rule default_rule 79,1872 -static struct fib_rule main_rule 86,2027 -static struct fib_rule local_rule 94,2202 -static struct fib_rule *fib_rules 101,2351 -static rwlock_t fib_rules_lock 102,2400 -int inet_rtm_delrule(104,2452 -static struct fib_table *fib_empty_table(142,3682 -void fib_rule_put(152,3859 -int inet_rtm_newrule(162,4026 -u32 fib_rules_map_destination(248,6382 -u32 fib_rules_tclass(255,6570 -static void fib_rules_detach(264,6681 -static void fib_rules_attach(277,6937 -int fib_lookup(290,7232 -void fib_select_default(349,8643 -static int fib_rules_event(359,8962 -struct notifier_block fib_rules_notifier 371,9228 -static __inline__ int inet_fill_rule(375,9311 -int inet_dump_rules(422,10551 -void __init fib_rules_init(441,10919 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_sockglue.c,649 -#define IP_CMSG_PKTINFO 48,1196 -#define IP_CMSG_TTL 49,1223 -#define IP_CMSG_TOS 50,1246 -#define IP_CMSG_RECVOPTS 51,1269 -#define IP_CMSG_RETOPTS 52,1296 -static void ip_cmsg_recv_pktinfo(58,1361 -static void ip_cmsg_recv_ttl(75,1775 -static void ip_cmsg_recv_tos(81,1930 -static void ip_cmsg_recv_opts(86,2059 -void ip_cmsg_recv_retopts(95,2255 -void ip_cmsg_recv(113,2648 -int ip_cmsg_send(143,3210 -struct ip_ra_chain *ip_ra_chain;188,4542 -rwlock_t ip_ra_lock 189,4575 -int ip_ra_control(191,4616 -void ip_icmp_error(234,5500 -void ip_local_error(264,6241 -int ip_recv_error(303,7079 -int ip_setsockopt(384,8991 -int ip_getsockopt(876,20697 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/proc.c,737 -static int fold_prot_inuse(46,1661 -static int sockstat_seq_show(60,1883 -static int sockstat_seq_open(77,2519 -static struct file_operations sockstat_seq_fops 82,2645 -fold_field(91,2846 -static struct snmp_mib snmp4_ipstats_list[106,3147 -static struct snmp_mib snmp4_icmp_list[127,4161 -static struct snmp_mib snmp4_tcp_list[157,5629 -static struct snmp_mib snmp4_udp_list[175,6362 -static struct snmp_mib snmp4_net_list[183,6625 -static int snmp_seq_show(255,10676 -static int snmp_seq_open(313,12348 -static struct file_operations snmp_seq_fops 318,12466 -static int netstat_seq_show(329,12673 -static int netstat_seq_open(347,13094 -static struct file_operations netstat_seq_fops 352,13218 -int __init ip_misc_proc_init(360,13396 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/utils.c,22 -__u32 in_aton(32,960 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_forward.c,69 -static inline int ip_forward_finish(45,1195 -int ip_forward(57,1434 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp_ipv4.c,3752 -int sysctl_tcp_tw_reuse;79,2423 -int sysctl_tcp_low_latency;80,2448 -#define ICMP_MIN_LENGTH 83,2527 -static struct socket *tcp_socket;86,2589 -struct tcp_hashinfo __cacheline_aligned tcp_hashinfo 91,2724 -int sysctl_local_port_range[104,3128 -int tcp_port_rover 105,3177 -static __inline__ int tcp_hashfn(107,3209 -static __inline__ int tcp_sk_hashfn(116,3411 -struct tcp_bind_bucket *tcp_bucket_create(130,3798 -void tcp_bucket_destroy(145,4214 -static __inline__ void __tcp_inherit_port(154,4422 -inline void tcp_inherit_port(167,4774 -void tcp_bind_hash(174,4918 -static inline int tcp_bind_conflict(182,5104 -static int tcp_v4_get_port(210,5901 -static void __tcp_put_port(301,7939 -void tcp_put_port(316,8306 -void tcp_listen_wlock(330,8779 -static __inline__ void __tcp_v4_hash(351,9182 -static void tcp_v4_hash(373,9798 -void tcp_unhash(382,9948 -static struct sock *__tcp_v4_lookup_listener(414,10732 -inline struct sock *tcp_v4_lookup_listener(451,11509 -static inline struct sock *__tcp_v4_lookup_established(483,12366 -static inline struct sock *__tcp_v4_lookup(517,13312 -inline struct sock *tcp_v4_lookup(526,13570 -static inline __u32 tcp_v4_init_sequence(538,13804 -static int __tcp_v4_check_established(547,14057 -static int tcp_v4_hash_connect(640,16584 -int tcp_v4_connect(754,19400 -static __inline__ int tcp_v4_iif(870,22194 -static __inline__ u32 tcp_v4_synq_hash(875,22298 -static struct open_request *tcp_v4_search_req(880,22445 -static void tcp_v4_synq_add(904,23072 -static inline void do_pmtu_discovery(926,23618 -void tcp_v4_err(988,25594 -void tcp_v4_send_check(1137,29053 -static void tcp_v4_send_reset(1166,29982 -static void tcp_v4_send_ack(1212,31186 -static void tcp_v4_timewait_ack(1255,32344 -static void tcp_v4_or_send_ack(1265,32607 -static struct dst_entry* tcp_v4_route_req(1271,32782 -static int tcp_v4_send_synack(1305,33726 -static void tcp_v4_or_free(1341,34474 -static inline void syn_flood_warning(1347,34586 -static inline struct ip_options *tcp_v4_save_options(1362,34948 -int sysctl_max_syn_backlog 1394,35981 -struct or_calltable or_ipv4 1396,36016 -int tcp_v4_conn_request(1404,36207 -#define want_cookie 1415,36509 -struct sock *tcp_v4_syn_recv_sock(1558,40309 -static struct sock *tcp_v4_hnd_req(1611,41666 -static int tcp_v4_checksum_init(1646,42535 -int tcp_v4_do_rcv(1681,43500 -int tcp_v4_rcv(1732,44565 -static void __tcp_v4_rehash(1861,47491 -static int tcp_v4_reselect_saddr(1867,47591 -int tcp_v4_rebuild_header(1918,48804 -static void v4_addr2sockaddr(1966,49890 -int tcp_v4_remember_stamp(1982,50388 -int tcp_v4_tw_remember_stamp(2014,51115 -struct tcp_func ipv4_specific 2034,51566 -static int tcp_v4_init_sock(2051,52121 -int tcp_v4_destroy_sock(2093,53139 -static inline struct tcp_tw_bucket *tw_head(2130,53906 -static inline struct tcp_tw_bucket *tw_next(2136,54073 -static void *listening_get_next(2142,54237 -static void *listening_get_idx(2213,55766 -static void *established_get_first(2224,55964 -static void *established_get_next(2258,56732 -static void *established_get_idx(2304,57656 -static void *tcp_get_idx(2315,57854 -static void *tcp_seq_start(2334,58224 -static void *tcp_seq_next(2342,58447 -static void tcp_seq_stop(2374,59071 -static int tcp_seq_open(2397,59573 -int tcp_proc_register(2429,60230 -void tcp_proc_unregister(2450,60703 -static void get_openreq4(2458,60878 -static void get_tcp4_sock(2482,61523 -static void get_timewait4_sock(2523,62733 -#define TMPSZ 2544,63260 -static int tcp4_seq_show(2546,63279 -static struct file_operations tcp4_seq_fops;2577,64003 -static struct tcp_seq_afinfo tcp4_seq_afinfo 2578,64048 -int __init tcp4_proc_init(2586,64220 -void tcp4_proc_exit(2591,64302 -struct proto tcp_prot 2597,64401 -void __init tcp_v4_init(2628,65263 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/xfrm4_input.c,133 -int xfrm4_rcv(17,265 -static inline void ipip_ecn_decapsulate(22,338 -static int xfrm4_parse_spi(31,551 -int xfrm4_rcv_encap(45,849 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp.c,1856 -int sysctl_tcp_fin_timeout 269,10597 -kmem_cache_t *tcp_openreq_cachep;273,10695 -kmem_cache_t *tcp_bucket_cachep;274,10729 -kmem_cache_t *tcp_timewait_cachep;275,10762 -atomic_t tcp_orphan_count 277,10798 -int sysctl_tcp_mem[279,10843 -int sysctl_tcp_wmem[280,10866 -int sysctl_tcp_rmem[281,10928 -atomic_t tcp_memory_allocated;287,11082 -atomic_t tcp_sockets_allocated;288,11145 -int tcp_memory_pressure;299,11524 -void tcp_enter_memory_pressure(303,11587 -static __inline__ unsigned int tcp_listen_poll(316,11824 -unsigned int tcp_poll(329,12217 -int tcp_ioctl(414,15180 -int tcp_listen_start(461,16274 -static void tcp_listen_stop 515,17651 -static inline void tcp_mark_push(581,19166 -static inline int forced_push(587,19321 -static inline void skb_entail(592,19446 -static inline void tcp_mark_urg(608,19911 -static inline void tcp_push(618,20121 -static ssize_t do_tcp_sendpages(631,20517 -ssize_t tcp_sendpage(738,23047 -#define TCP_ZC_CSUM_FLAGS 744,23197 -#define TCP_PAGE(TCP_PAGE760,23606 -#define TCP_OFF(TCP_OFF761,23648 -static inline int select_size(763,23689 -int tcp_sendmsg(777,23992 -static int tcp_recv_urg(1001,29123 -void cleanup_rbuf(1053,30513 -static void tcp_prequeue_process(1107,32242 -static inline struct sk_buff *tcp_recv_skb(1125,32702 -int tcp_read_sock(1153,33465 -int tcp_recvmsg(1213,34786 -static unsigned char new_state[1529,41883 -static int tcp_close_state(1545,42442 -void tcp_shutdown(1560,42768 -void tcp_destroy_sock(1585,43538 -void tcp_close(1613,44145 -static inline int tcp_need_reset(1766,48859 -int tcp_disconnect(1773,49029 -static int wait_for_connect(1836,50598 -struct sock *tcp_accept(1884,51909 -int tcp_setsockopt(1934,52893 -int tcp_getsockopt(2098,56746 -static __initdata unsigned long thash_entries;2185,58679 -static int __init set_thash_entries(2186,58726 -void __init tcp_init(2195,58905 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/sysctl_net_ipv4.c,275 -static int tcp_retr1_max 52,1250 -static int ip_local_port_range_min[53,1283 -static int ip_local_port_range_max[54,1332 -struct ipv4_config ipv4_config;57,1397 -int ipv4_sysctl_forward(64,1497 -static int ipv4_sysctl_forward_strategy(78,1818 -ctl_table ipv4_table[120,2563 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipconfig.c,3101 -#define DBG(DBG68,2083 -#define DBG(DBG70,2113 -#define IPCONFIG_DHCP74,2184 -#define IPCONFIG_BOOTP77,2277 -#define IPCONFIG_RARP80,2339 -#define IPCONFIG_DYNAMIC83,2422 -#define CONF_PRE_OPEN 87,2524 -#define CONF_POST_OPEN 88,2587 -#define CONF_OPEN_RETRIES 91,2714 -#define CONF_SEND_RETRIES 92,2772 -#define CONF_INTER_TIMEOUT 93,2834 -#define CONF_BASE_TIMEOUT 94,2907 -#define CONF_TIMEOUT_RANDOM 95,2973 -#define CONF_TIMEOUT_MULT 96,3044 -#define CONF_TIMEOUT_MAX 97,3104 -#define CONF_NAMESERVERS_MAX 98,3167 -int ic_set_manually __initdata 110,3523 -int ic_enable __initdata 112,3600 -int ic_proto_enabled __initdata 115,3680 -int ic_host_name_set __initdata 127,3856 -u32 ic_myaddr 129,3922 -u32 ic_netmask 130,3972 -u32 ic_gateway 131,4033 -u32 ic_servaddr 133,4089 -u32 root_server_addr 135,4150 -u8 root_server_path[136,4214 -int ic_proto_used;140,4302 -u32 ic_nameservers[141,4351 -u8 ic_domain[142,4423 -static char user_dev_name[149,4541 -static char user_dev_name[IFNAMSIZ] __initdata 149,4541 -static int ic_proto_have_if __initdata 152,4649 -static spinlock_t ic_recv_lock 155,4718 -static volatile int ic_got_reply __initdata 156,4771 -static int ic_dhcp_msgtype __initdata 159,4879 -struct ic_device ic_device167,4987 -static struct ic_device *ic_first_dev __initdata 175,5106 -static struct net_device *ic_dev __initdata 176,5188 -static int __init ic_open_devs(178,5263 -static void __init ic_close_devs(245,7016 -set_sockaddr(269,7423 -static int __init ic_dev_ioctl(276,7567 -static int __init ic_route_ioctl(287,7787 -static int __init ic_setup_if(302,8051 -static int __init ic_setup_routes(328,8835 -static int __init ic_defaults(358,9632 -static struct packet_type rarp_packet_type __initdata 397,10578 -static inline void ic_rarp_init(402,10702 -static inline void ic_rarp_cleanup(407,10779 -ic_rarp_recv(416,10921 -static void __init ic_rarp_send_if(509,13149 -struct bootp_pkt bootp_pkt523,13394 -#define BOOTP_REQUEST 544,14182 -#define BOOTP_REPLY 545,14206 -#define DHCPDISCOVER 548,14254 -#define DHCPOFFER 549,14277 -#define DHCPREQUEST 550,14297 -#define DHCPDECLINE 551,14319 -#define DHCPACK 552,14341 -#define DHCPNAK 553,14360 -#define DHCPRELEASE 554,14379 -#define DHCPINFORM 555,14401 -static struct packet_type bootp_packet_type __initdata 559,14519 -static const u8 ic_bootp_cookie[569,14711 -ic_dhcp_init_options(574,14811 -static void __init ic_bootp_init_ext(626,15824 -static inline void ic_bootp_init(661,16515 -static inline void ic_bootp_cleanup(675,16715 -static void __init ic_bootp_send_if(684,16857 -static int __init ic_bootp_string(757,18975 -static void __init ic_do_bootp_ext(772,19204 -static int __init ic_bootp_recv(825,20500 -static int __init ic_dynamic(1031,25031 -static int pnp_seq_show(1167,28219 -static int pnp_seq_open(1194,28864 -static struct file_operations pnp_seq_fops 1199,28980 -u32 __init root_nfs_parse_addr(1213,29353 -static int __init ip_auto_config(1246,29869 -static int __init ic_proto_name(1408,34352 -static int __init ip_auto_config_setup(1440,35002 -static int __init nfsaddrs_config_setup(1505,36339 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipcomp.c,882 -struct ipcomp_tfms ipcomp_tfms32,868 -static void **ipcomp_scratches;39,999 -static int ipcomp_scratch_users;40,1031 -static int ipcomp_decompress(43,1101 -static int ipcomp_input(82,1902 -static int ipcomp_compress(119,2795 -static int ipcomp_output(157,3592 -static void ipcomp4_err(213,4735 -static struct xfrm_state *ipcomp_tunnel_create(235,5418 -static int ipcomp_tunnel_attach(275,6261 -static void ipcomp_free_scratches(297,6685 -static void **ipcomp_alloc_scratches(318,6985 -static void ipcomp_free_tfms(342,7380 -static struct crypto_tfm **ipcomp_alloc_tfms(371,7808 -static void ipcomp_free_data(418,8706 -static void ipcomp_destroy(425,8841 -static int ipcomp_init_state(437,9079 -static struct xfrm_type ipcomp_type 492,10084 -static struct net_protocol ipcomp4_protocol 502,10325 -static int __init ipcomp4_init(508,10446 -static void __exit ipcomp4_fini(522,10820 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/arp.c,1652 -struct neigh_table *clip_tbl_hook;121,4297 -static struct neigh_ops arp_generic_ops 138,4786 -static struct neigh_ops arp_hh_ops 148,5059 -static struct neigh_ops arp_direct_ops 158,5325 -struct neigh_ops arp_broken_ops 166,5521 -struct neigh_table arp_tbl 176,5782 -int arp_mc_map(205,6432 -static u32 arp_hash(226,6808 -static int arp_constructor(231,6949 -static void arp_error_report(321,9411 -static void arp_solicit(327,9532 -static int arp_ignore(383,10963 -static int arp_filter(419,11737 -static int arp_set_predefined(448,12497 -int arp_find(466,12930 -int arp_bind_neighbour(502,13673 -static inline int arp_fwd_proxy(529,14279 -struct sk_buff *arp_create(559,14896 -void arp_xmit(665,17288 -void arp_send(674,17498 -static void parp_redo(697,17921 -int arp_process(707,18051 -int arp_rcv(927,24102 -int arp_req_set(964,24882 -static unsigned arp_state_to_flags(1044,26861 -static int arp_req_get(1058,27119 -int arp_req_delete(1078,27657 -int arp_ioctl(1130,28813 -static int arp_netdev_event(1194,30148 -struct notifier_block arp_netdev_notifier 1210,30426 -void arp_ifdown(1218,30646 -static struct packet_type arp_packet_type 1228,30757 -void __init arp_init(1235,30896 -static char *ax2asc2(1255,31377 -#define HBUFFERLEN 1284,31774 -static void arp_format_neigh_entry(1286,31797 -static void arp_format_pneigh_entry(1318,32768 -static int arp_seq_show(1331,33155 -static void *arp_seq_start(1348,33551 -static struct seq_operations arp_seq_ops 1358,33878 -static int arp_seq_open(1365,34032 -static struct file_operations arp_seq_fops 1388,34427 -static int __init arp_proc_init(1396,34627 -static int __init arp_proc_init(1405,34786 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/af_inet.c,1290 -atomic_t inet_sock_nr;119,3845 -static struct list_head inetsw[127,4018 -static spinlock_t inetsw_lock 128,4060 -void inet_sock_destruct(132,4144 -static int inet_autobind(174,5184 -int inet_listen(194,5545 -static int inet_create(230,6186 -int inet_release(358,8888 -int sysctl_ip_nonlocal_bind;386,9547 -int inet_bind(388,9577 -int inet_dgram_connect(469,11894 -static long inet_wait_for_connect(482,12247 -int inet_stream_connect(509,12993 -int inet_accept(595,14905 -int inet_getname(622,15387 -int inet_sendmsg(649,16075 -ssize_t inet_sendpage(662,16359 -int inet_shutdown(676,16746 -int inet_ioctl(740,18508 -struct proto_ops inet_stream_ops 782,19447 -struct proto_ops inet_dgram_ops 803,19977 -static struct net_proto_family inet_family_ops 824,20518 -static struct inet_protosw inetsw_array[837,20819 -#define INETSW_ARRAY_LEN 871,21864 -void inet_register_protosw(873,21943 -void inet_unregister_protosw(929,23292 -static struct net_protocol igmp_protocol 945,23642 -static struct net_protocol tcp_protocol 950,23720 -static struct net_protocol udp_protocol 956,23837 -static struct net_protocol icmp_protocol 962,23948 -static int __init init_ipv4_mibs(966,24019 -static int __init inet_init(992,24890 -int __init ipv4_proc_init(1114,27445 -int __init ipv4_proc_init(1144,27883 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/datagram.c,33 -int ip4_datagram_connect(23,570 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp_output.c,1508 -int sysctl_tcp_retrans_collapse 46,1527 -int sysctl_tcp_tso_win_divisor 52,1758 -void update_send_head(55,1813 -static __inline__ __u32 tcp_acceptable_seq(70,2399 -static __u16 tcp_advertise_mss(92,3268 -static void tcp_cwnd_restart(108,3686 -static __inline__ void tcp_event_data_sent(127,4187 -static __inline__ void tcp_event_ack_sent(144,4631 -void tcp_select_initial_window(159,5148 -static __inline__ u16 tcp_select_window(216,6922 -static int tcp_transmit_skb(266,8289 -#define SYSCTL_FLAG_TSTAMPS 279,8625 -#define SYSCTL_FLAG_WSCALE 280,8657 -#define SYSCTL_FLAG_SACK 281,8688 -static void tcp_queue_skb(397,12018 -void tcp_push_one(414,12536 -void tcp_set_skb_tso_segs(431,12984 -static int tcp_fragment(455,13706 -static unsigned char *__pskb_trim_head(540,16128 -int tcp_trim_head(568,16755 -unsigned int tcp_sync_mss(621,18209 -unsigned int tcp_current_mss(668,19601 -int tcp_write_xmit(730,21278 -u32 __tcp_select_window(834,24859 -static void tcp_retrans_try_collapse(895,26704 -void tcp_simple_retransmit(973,29328 -int tcp_retransmit_skb(1019,30586 -void tcp_xmit_retransmit_queue(1141,34511 -void tcp_send_fin(1236,37009 -void tcp_send_active_reset(1282,38434 -int tcp_send_synack(1315,39499 -struct sk_buff * tcp_make_synack(1346,40302 -static inline void tcp_connect_init(1417,42586 -int tcp_connect(1467,43897 -void tcp_send_delayed_ack(1511,45138 -void tcp_send_ack(1561,46390 -static int tcp_xmit_probe_skb(1606,47858 -int tcp_write_wakeup(1634,48689 -void tcp_send_probe0(1689,50411 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_sh.c,664 -struct ip_vs_sh_bucket ip_vs_sh_bucket46,1332 -#define CONFIG_IP_VS_SH_TAB_BITS 54,1504 -#define IP_VS_SH_TAB_BITS 56,1553 -#define IP_VS_SH_TAB_SIZE 57,1618 -#define IP_VS_SH_TAB_MASK 58,1683 -static inline unsigned ip_vs_sh_hashkey(64,1796 -ip_vs_sh_get(74,2011 -ip_vs_sh_assign(84,2210 -static void ip_vs_sh_flush(115,2759 -static int ip_vs_sh_init_svc(131,2990 -static int ip_vs_sh_done_svc(154,3569 -static int ip_vs_sh_update_svc(170,3928 -static inline int is_overloaded(188,4322 -ip_vs_sh_schedule(198,4498 -static struct ip_vs_scheduler ip_vs_sh_scheduler 228,5179 -static int __init ip_vs_sh_init(240,5454 -static void __exit ip_vs_sh_cleanup(247,5598 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_conn.c,2081 -static struct list_head *ip_vs_conn_tab;40,1409 -static kmem_cache_t *ip_vs_conn_cachep;43,1490 -static atomic_t ip_vs_conn_count 46,1575 -static atomic_t ip_vs_conn_no_cport_cnt 49,1673 -static unsigned int ip_vs_conn_rnd;52,1776 -#define CT_LOCKARRAY_BITS 57,1879 -#define CT_LOCKARRAY_SIZE 58,1908 -#define CT_LOCKARRAY_MASK 59,1958 -struct ip_vs_aligned_lockip_vs_aligned_lock61,2008 -__ip_vs_conntbl_lock_array[68,2157 -__ip_vs_conntbl_lock_array[CT_LOCKARRAY_SIZE] __cacheline_aligned;68,2157 -static inline void ct_read_lock(70,2225 -static inline void ct_read_unlock(75,2342 -static inline void ct_write_lock(80,2463 -static inline void ct_write_unlock(85,2582 -static inline void ct_read_lock_bh(90,2705 -static inline void ct_read_unlock_bh(95,2828 -static inline void ct_write_lock_bh(100,2955 -static inline void ct_write_unlock_bh(105,3080 -static unsigned int ip_vs_conn_hashkey(114,3265 -static inline int ip_vs_conn_hash(125,3522 -static inline int ip_vs_conn_unhash(156,4170 -static inline struct ip_vs_conn *__ip_vs_conn_in_get186,4842 -struct ip_vs_conn *ip_vs_conn_in_get212,5401 -struct ip_vs_conn *ip_vs_conn_out_get237,6174 -void ip_vs_conn_put(276,7041 -void ip_vs_conn_fill_cport(288,7266 -static inline void ip_vs_bind_xmit(309,7717 -static inline int ip_vs_dest_totalconns(335,8188 -ip_vs_bind_dest(346,8478 -static inline void ip_vs_unbind_dest(391,9895 -int ip_vs_check_template(448,11586 -static void ip_vs_conn_expire(487,12448 -void ip_vs_conn_expire_now(545,13611 -ip_vs_conn_new(557,13848 -static void *ip_vs_conn_array(624,15460 -static void *ip_vs_conn_seq_start(643,15827 -static void *ip_vs_conn_seq_next(649,15988 -static void ip_vs_conn_seq_stop(678,16638 -static int ip_vs_conn_seq_show(686,16793 -static struct seq_operations ip_vs_conn_seq_ops 707,17349 -static int ip_vs_conn_open(714,17530 -static struct file_operations ip_vs_conn_fops 719,17647 -static inline int todrop_entry(732,17909 -void ip_vs_random_dropentry(761,18689 -static void ip_vs_conn_flush(826,19987 -int ip_vs_conn_init(865,20827 -void ip_vs_conn_cleanup(909,21978 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_proto_icmp.c,391 -static int icmp_timeouts[21,498 -static char * icmp_state_name_table[23,543 -icmp_conn_in_get(26,617 -icmp_conn_out_get(53,1051 -icmp_conn_schedule(79,1480 -icmp_csum_check(87,1641 -icmp_debug_packet(101,1991 -icmp_state_transition(134,2860 -icmp_set_state_timeout(143,3072 -static void icmp_init(154,3308 -static void icmp_exit(159,3398 -struct ip_vs_protocol ip_vs_protocol_icmp 163,3452 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_xmit.c,305 -__ip_vs_dst_set(35,1070 -__ip_vs_dst_check(46,1310 -__ip_vs_get_out_rt(62,1647 -ip_vs_dst_reset(118,2866 -#define IP_VS_XMIT(IP_VS_XMIT127,3017 -ip_vs_null_xmit(141,3341 -ip_vs_bypass_xmit(155,3685 -ip_vs_nat_xmit(224,5196 -ip_vs_tunnel_xmit(318,7848 -ip_vs_dr_xmit(434,10603 -ip_vs_icmp_xmit(491,11807 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_nq.c,289 -ip_vs_nq_init_svc(43,1341 -ip_vs_nq_done_svc(50,1414 -ip_vs_nq_update_svc(57,1487 -ip_vs_nq_dest_overhead(64,1578 -ip_vs_nq_schedule(78,1839 -static struct ip_vs_scheduler ip_vs_nq_scheduler 136,3203 -static int __init ip_vs_nq_init(148,3478 -static void __exit ip_vs_nq_cleanup(154,3621 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_rr.c,289 -static int ip_vs_rr_init_svc(30,1128 -static int ip_vs_rr_done_svc(37,1240 -static int ip_vs_rr_update_svc(43,1313 -ip_vs_rr_schedule(54,1487 -static struct ip_vs_scheduler ip_vs_rr_scheduler 95,2418 -static int __init ip_vs_rr_init(105,2705 -static void __exit ip_vs_rr_cleanup(111,2848 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_ftp.c,477 -#define SERVER_STRING 39,963 -#define CLIENT_STRING 40,1015 -static int ports[47,1165 -static int ports_c;48,1214 -static int debug=55,1327 -static int ip_vs_ftp_pasv;61,1406 -ip_vs_ftp_init_conn(65,1446 -ip_vs_ftp_done_conn(72,1540 -static int ip_vs_ftp_get_addrport(83,1800 -static int ip_vs_ftp_out(144,3379 -static int ip_vs_ftp_in(247,5963 -static struct ip_vs_app ip_vs_ftp 346,8431 -static int __init ip_vs_ftp_init(364,8821 -static void __exit ip_vs_ftp_exit(393,9305 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_proto_esp.c,246 -#define PORT_ISAKMP 38,766 -esp_conn_in_get(42,819 -esp_conn_out_get(82,1738 -esp_conn_schedule(115,2469 -esp_debug_packet(127,2701 -static void esp_init(145,3129 -static void esp_exit(151,3208 -struct ip_vs_protocol ip_vs_protocol_esp 157,3287 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_sed.c,297 -ip_vs_sed_init_svc(47,1658 -ip_vs_sed_done_svc(54,1732 -ip_vs_sed_update_svc(61,1806 -ip_vs_sed_dest_overhead(68,1898 -ip_vs_sed_schedule(82,2160 -static struct ip_vs_scheduler ip_vs_sed_scheduler 138,3602 -static int __init ip_vs_sed_init(150,3883 -static void __exit ip_vs_sed_cleanup(156,4029 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_lblc.c,1351 -#define CHECK_EXPIRE_INTERVAL 58,2024 -#define ENTRY_TIMEOUT 59,2064 -#define COUNT_FOR_FULL_EXPIRATION 67,2339 -static int sysctl_ip_vs_lblc_expiration 68,2378 -#define CONFIG_IP_VS_LBLC_TAB_BITS 75,2515 -#define IP_VS_LBLC_TAB_BITS 77,2565 -#define IP_VS_LBLC_TAB_SIZE 78,2624 -#define IP_VS_LBLC_TAB_MASK 79,2683 -struct ip_vs_lblc_entry ip_vs_lblc_entry86,2866 -struct ip_vs_lblc_table ip_vs_lblc_table97,3163 -static ctl_table vs_vars_table[112,3710 -static ctl_table vs_table[124,3977 -static ctl_table ipv4_table[134,4130 -static ctl_table lblc_root_table[144,4279 -static struct ctl_table_header * sysctl_header;154,4434 -ip_vs_lblc_new(161,4636 -static inline void ip_vs_lblc_free(181,4977 -static inline unsigned ip_vs_lblc_hashkey(196,5267 -ip_vs_lblc_hash(207,5470 -static int ip_vs_lblc_unhash(236,6040 -ip_vs_lblc_get(262,6577 -static void ip_vs_lblc_flush(288,6991 -static inline void ip_vs_lblc_full_check(304,7318 -static void ip_vs_lblc_check_expire(339,8328 -static int ip_vs_lblc_init_svc(388,9372 -static int ip_vs_lblc_done_svc(430,10384 -static int ip_vs_lblc_update_svc(449,10803 -__ip_vs_wlc_schedule(456,10914 -is_overloaded(523,12805 -ip_vs_lblc_schedule(543,13231 -static struct ip_vs_scheduler ip_vs_lblc_scheduler 595,14468 -static int __init ip_vs_lblc_init(607,14755 -static void __exit ip_vs_lblc_cleanup(615,14965 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_wrr.c,452 -struct ip_vs_wrr_mark ip_vs_wrr_mark31,1152 -static int gcd(42,1372 -static int ip_vs_wrr_gcd_weight(53,1470 -static int ip_vs_wrr_max_weight(75,1856 -static int ip_vs_wrr_init_svc(89,2125 -static int ip_vs_wrr_done_svc(111,2595 -static int ip_vs_wrr_update_svc(122,2737 -ip_vs_wrr_schedule(137,3044 -static struct ip_vs_scheduler ip_vs_wrr_scheduler 210,4800 -static int __init ip_vs_wrr_init(220,5080 -static void __exit ip_vs_wrr_cleanup(226,5227 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_sync.c,2077 -#define IP_VS_SYNC_GROUP 37,1181 -#define IP_VS_SYNC_PORT 38,1254 -struct ip_vs_sync_conn ip_vs_sync_conn44,1353 -struct ip_vs_sync_conn_options ip_vs_sync_conn_options63,1965 -#define IP_VS_SYNC_CONN_TIMEOUT 68,2138 -#define SIMPLE_CONN_SIZE 69,2180 -#define FULL_CONN_SIZE 70,2239 -#define SYNC_MESG_HEADER_LEN 95,3514 -struct ip_vs_sync_mesg ip_vs_sync_mesg97,3546 -static int sync_send_mesg_maxlen;106,3778 -static int sync_recv_mesg_maxlen;107,3812 -struct ip_vs_sync_buff ip_vs_sync_buff109,3847 -static spinlock_t ip_vs_sync_lock 122,4155 -static struct ip_vs_sync_buff *curr_sb 125,4267 -static spinlock_t curr_sb_lock 126,4316 -volatile int ip_vs_sync_state 129,4399 -volatile int ip_vs_master_syncid 130,4449 -volatile int ip_vs_backup_syncid 131,4487 -char ip_vs_master_mcast_ifn[134,4557 -char ip_vs_backup_mcast_ifn[135,4607 -static struct sockaddr_in mcast_addr;138,4679 -static inline void sb_queue_tail(141,4719 -static inline struct ip_vs_sync_buff * sb_dequeue(148,4893 -static inline struct ip_vs_sync_buff * ip_vs_sync_buff_create(166,5232 -static inline void ip_vs_sync_buff_release(186,5738 -get_curr_sync_buff(197,6011 -void ip_vs_sync_conn(217,6400 -static void ip_vs_process_message(274,7730 -static void set_mcast_loop(344,9541 -static void set_mcast_ttl(357,9852 -static int set_mcast_if(370,10143 -static int set_sync_mesg_maxlen(394,10622 -join_mcast_group(430,11679 -static int bind_mcastif_addr(454,12178 -static struct socket * make_send_sock(482,12898 -static struct socket * make_receive_sock(523,13795 -ip_vs_send_async(560,14609 -ip_vs_send_sync_msg(577,14977 -ip_vs_receive(591,15266 -static pid_t sync_master_pid 614,15673 -static pid_t sync_backup_pid 615,15707 -static int stop_master_sync 618,15790 -static int stop_backup_sync 619,15823 -static void sync_master_loop(621,15857 -static void sync_backup_loop(669,16857 -static void set_sync_pid(720,17947 -static void set_stop_sync(728,18152 -static int sync_thread(740,18406 -static int fork_sync_thread(811,19971 -int start_sync_thread(830,20406 -int stop_sync_thread(867,21330 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_proto_tcp.c,1594 -tcp_conn_in_get(29,864 -tcp_conn_out_get(50,1391 -tcp_conn_schedule(72,1911 -tcp_fast_csum_update(115,2820 -tcp_snat_handler(126,3055 -tcp_dnat_handler(174,4330 -tcp_csum_check(225,5582 -#define TCP_DIR_INPUT 250,6123 -#define TCP_DIR_OUTPUT 251,6148 -#define TCP_DIR_INPUT_ONLY 252,6174 -static int tcp_state_off[254,6204 -static int tcp_timeouts[263,6407 -static int tcp_timeouts_dos[283,6911 -static char * tcp_state_name_table[300,7375 -#define sNO 315,7886 -#define sES 316,7915 -#define sSS 317,7951 -#define sSR 318,7984 -#define sFW 319,8017 -#define sTW 320,8050 -#define sCL 321,8084 -#define sCW 322,8114 -#define sLA 323,8149 -#define sLI 324,8182 -#define sSA 325,8213 -struct tcp_states_t tcp_states_t327,8245 -static const char * tcp_state_name(331,8306 -static struct tcp_states_t tcp_states 338,8479 -static struct tcp_states_t tcp_states_dos 361,9589 -static struct tcp_states_t *tcp_state_table 384,10703 -static void tcp_timeout_change(387,10763 -tcp_set_state_timeout(401,11173 -static inline int tcp_state_idx(407,11362 -set_tcp_state(421,11553 -tcp_state_transition(486,13325 -#define TCP_APP_TAB_BITS 508,13747 -#define TCP_APP_TAB_SIZE 509,13774 -#define TCP_APP_TAB_MASK 510,13823 -static struct list_head tcp_apps[512,13872 -static spinlock_t tcp_app_lock 513,13924 -static inline __u16 tcp_app_hashkey(515,13978 -static int tcp_register_app(521,14096 -tcp_unregister_app(546,14545 -tcp_app_conn_bind(556,14732 -void ip_vs_tcp_conn_listen(598,15694 -static void tcp_init(607,15900 -static void tcp_exit(614,16023 -struct ip_vs_protocol ip_vs_protocol_tcp 619,16077 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_ctl.c,4593 -static rwlock_t __ip_vs_svc_lock 48,1446 -static rwlock_t __ip_vs_rs_lock 51,1544 -static rwlock_t __ip_vs_securetcp_lock 54,1637 -static spinlock_t __ip_vs_dropentry_lock 57,1732 -static spinlock_t __ip_vs_droppacket_lock 60,1832 -int ip_vs_drop_rate 63,1940 -int ip_vs_drop_counter 64,1965 -atomic_t ip_vs_dropentry 65,1993 -static int ip_vs_num_services 68,2070 -static int sysctl_ip_vs_drop_entry 71,2129 -static int sysctl_ip_vs_drop_packet 72,2169 -static int sysctl_ip_vs_secure_tcp 73,2210 -static int sysctl_ip_vs_amemthresh 74,2250 -static int sysctl_ip_vs_am_droprate 75,2293 -int sysctl_ip_vs_cache_bypass 76,2335 -int sysctl_ip_vs_expire_nodest_conn 77,2370 -int sysctl_ip_vs_sync_threshold[78,2411 -int sysctl_ip_vs_nat_icmp_send 79,2459 -static int sysctl_ip_vs_debug_level 83,2523 -int ip_vs_get_debug_level(85,2565 -static void update_defense_level(94,2715 -static struct timer_list defense_timer;214,5186 -#define DEFENSE_TIMER_PERIOD 215,5226 -static void defense_timer_handler(217,5261 -ip_vs_use_count_inc(228,5475 -ip_vs_use_count_dec(234,5548 -#define IP_VS_SVC_TAB_BITS 243,5656 -#define IP_VS_SVC_TAB_SIZE 244,5685 -#define IP_VS_SVC_TAB_MASK 245,5738 -static struct list_head ip_vs_svc_table[248,5848 -static struct list_head ip_vs_svc_fwm_table[250,5950 -#define IP_VS_RTAB_BITS 255,6063 -#define IP_VS_RTAB_SIZE 256,6089 -#define IP_VS_RTAB_MASK 257,6136 -static struct list_head ip_vs_rtable[259,6183 -static atomic_t ip_vs_ftpsvc_counter 269,6355 -static atomic_t ip_vs_nullsvc_counter 270,6410 -ip_vs_svc_hashkey(277,6544 -static __inline__ unsigned ip_vs_svc_fwm_hashkey(288,6800 -static int ip_vs_svc_hash(298,7060 -static int ip_vs_svc_unhash(333,7940 -__ip_vs_service_get(359,8551 -static __inline__ struct ip_vs_service *__ip_vs_svc_fwm_get(384,9049 -ip_vs_service_get(404,9452 -__ip_vs_bind_svc(454,10588 -__ip_vs_unbind_svc(461,10726 -static __inline__ unsigned ip_vs_rs_hashkey(474,10936 -static int ip_vs_rs_hash(486,11230 -static int ip_vs_rs_unhash(508,11639 -ip_vs_lookup_real_service(525,11956 -ip_vs_lookup_dest(556,12613 -ip_vs_trash_get_dest(585,13494 -static void ip_vs_trash_cleanup(637,14900 -ip_vs_zero_stats(651,15153 -__ip_vs_update_dest(663,15413 -ip_vs_new_dest(717,16823 -ip_vs_add_dest(765,17911 -ip_vs_edit_dest(871,20153 -static void __ip_vs_del_dest(920,21221 -static void __ip_vs_unlink_dest(958,22329 -ip_vs_del_dest(982,22780 -ip_vs_add_service(1025,23525 -ip_vs_edit_service(1116,25537 -static void __ip_vs_del_service(1191,27153 -static int ip_vs_del_service(1240,28156 -static int ip_vs_flush(1268,28582 -static int ip_vs_zero_service(1313,29592 -static int ip_vs_zero_all(1326,29890 -proc_do_defense_mode(1349,30316 -proc_do_sync_threshold(1372,30795 -static struct ctl_table vs_vars[1395,31319 -static ctl_table vs_table[1579,36014 -static ctl_table ipv4_table[1589,36160 -static ctl_table vs_root_table[1599,36309 -static struct ctl_table_header * sysctl_header;1609,36461 -struct ip_vs_iter ip_vs_iter1613,36533 -static inline const char *ip_vs_fwd_name(1622,36712 -static struct ip_vs_service *ip_vs_info_array(1638,37027 -static void *ip_vs_info_seq_start(1669,37713 -static void *ip_vs_info_seq_next(1677,37889 -static void ip_vs_info_seq_stop(1722,38930 -static int ip_vs_info_seq_show(1728,39035 -static struct seq_operations ip_vs_info_seq_ops 1773,40350 -static int ip_vs_info_open(1780,40531 -static struct file_operations ip_vs_info_fops 1803,40924 -struct ip_vs_stats ip_vs_stats;1813,41117 -static int ip_vs_stats_show(1816,41172 -static int ip_vs_stats_seq_open(1845,42109 -static struct file_operations ip_vs_stats_fops 1850,42237 -static int ip_vs_set_timeout(1863,42493 -#define SET_CMDID(SET_CMDID1892,43106 -#define SERVICE_ARG_LEN 1893,43153 -#define SVCDEST_ARG_LEN 1894,43214 -#define TIMEOUT_ARG_LEN 1896,43315 -#define DAEMON_ARG_LEN 1897,43376 -#define MAX_ARG_LEN 1898,43435 -static unsigned char set_arglen[1900,43473 -do_ip_vs_set_ctl(1915,44130 -ip_vs_copy_stats(2039,47151 -ip_vs_copy_service(2047,47347 -__ip_vs_get_service_entries(2062,47775 -__ip_vs_get_dest_entries(2102,48693 -__ip_vs_get_timeouts(2146,49841 -#define GET_CMDID(GET_CMDID2161,50220 -#define GET_INFO_ARG_LEN 2162,50267 -#define GET_SERVICES_ARG_LEN 2163,50323 -#define GET_SERVICE_ARG_LEN 2164,50388 -#define GET_DESTS_ARG_LEN 2165,50453 -#define GET_TIMEOUT_ARG_LEN 2166,50512 -#define GET_DAEMON_ARG_LEN 2167,50576 -static unsigned char get_arglen[2169,50643 -do_ip_vs_get_ctl(2180,51106 -static struct nf_sockopt_ops ip_vs_sockopts 2321,54085 -int ip_vs_control_init(2332,54341 -void ip_vs_control_cleanup(2374,55352 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_proto_ah.c,239 -#define PORT_ISAKMP 38,763 -ah_conn_in_get(42,816 -ah_conn_out_get(82,1758 -ah_conn_schedule(115,2487 -ah_debug_packet(128,2719 -static void ah_init(146,3145 -static void ah_exit(152,3223 -struct ip_vs_protocol ip_vs_protocol_ah 158,3301 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_proto_udp.c,828 -udp_conn_in_get(25,697 -udp_conn_out_get(50,1278 -udp_conn_schedule(76,1838 -udp_fast_csum_update(117,2727 -udp_snat_handler(129,3004 -udp_dnat_handler(183,4364 -udp_csum_check(236,5665 -#define UDP_APP_TAB_BITS 275,6522 -#define UDP_APP_TAB_SIZE 276,6549 -#define UDP_APP_TAB_MASK 277,6598 -static struct list_head udp_apps[279,6647 -static spinlock_t udp_app_lock 280,6699 -static inline __u16 udp_app_hashkey(282,6753 -static int udp_register_app(288,6871 -udp_unregister_app(314,7321 -static int udp_app_conn_bind(323,7497 -static int udp_timeouts[362,8406 -static char * udp_state_name_table[367,8521 -udp_set_state_timeout(374,8659 -static const char * udp_state_name(380,8848 -udp_state_transition(388,9032 -static void udp_init(396,9229 -static void udp_exit(402,9351 -struct ip_vs_protocol ip_vs_protocol_udp 407,9405 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_app.c,1147 -static inline int ip_vs_app_get(48,1343 -static inline void ip_vs_app_put(58,1520 -ip_vs_app_inc_new(69,1708 -ip_vs_app_inc_release(123,2729 -int ip_vs_app_inc_get(148,3167 -void ip_vs_app_inc_put(162,3425 -register_ip_vs_app_inc(173,3605 -int register_ip_vs_app(190,3855 -void unregister_ip_vs_app(209,4186 -struct ip_vs_app *ip_vs_app_get_by_name(232,4585 -int ip_vs_bind_app(259,5079 -void ip_vs_unbind_app(268,5260 -static inline void vs_fix_seq(287,5559 -vs_fix_ack_seq(314,6296 -static inline void vs_seq_update(345,7250 -static inline int app_tcp_pkt_out(359,7644 -int ip_vs_app_pkt_out(409,8755 -static inline int app_tcp_pkt_in(434,9203 -int ip_vs_app_pkt_in(484,10305 -static struct ip_vs_app *ip_vs_app_idx(514,10816 -static void *ip_vs_app_seq_start(528,11067 -static void *ip_vs_app_seq_next(535,11226 -static void ip_vs_app_seq_stop(560,11788 -static int ip_vs_app_seq_show(565,11880 -static struct seq_operations ip_vs_app_seq_ops 581,12237 -static int ip_vs_app_open(588,12413 -static struct file_operations ip_vs_app_fops 593,12528 -int ip_vs_skb_replace(606,12762 -int ip_vs_app_init(647,13771 -void ip_vs_app_cleanup(655,13928 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_core.c,1009 -#define icmp_id(icmp_id65,2016 -const char *ip_vs_proto_name(67,2073 -void ip_vs_init_hash_table(86,2363 -ip_vs_in_stats(93,2502 -ip_vs_out_stats(116,3078 -ip_vs_conn_stats(139,3661 -ip_vs_set_state(156,4021 -int ip_vs_make_skb_writable(166,4243 -ip_vs_sched_persist(210,5382 -ip_vs_schedule(381,9909 -int ip_vs_leave(446,11449 -static unsigned int ip_vs_post_routing(527,13708 -u16 ip_vs_checksum_complete(542,14089 -ip_vs_gather_frags(548,14260 -void ip_vs_nat_icmp(560,14477 -static int ip_vs_out_icmp(610,15903 -static inline int is_tcp_reset(714,18659 -ip_vs_out(731,19102 -check_for_ip_vs_out(844,21690 -static int ip_vs_in_icmp(868,22360 -ip_vs_in(965,24988 -ip_vs_forward_icmp(1077,27973 -static struct nf_hook_ops ip_vs_in_ops 1093,28407 -static struct nf_hook_ops ip_vs_out_ops 1102,28634 -static struct nf_hook_ops ip_vs_forward_icmp_ops 1112,28937 -static struct nf_hook_ops ip_vs_post_routing_ops 1121,29193 -static int __init ip_vs_init(1133,29440 -static void __exit ip_vs_cleanup(1199,30813 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_est.c,318 -struct ip_vs_estimatorip_vs_estimator45,1322 -static struct ip_vs_estimator *est_list 64,1586 -static rwlock_t est_lock 65,1634 -static struct timer_list est_timer;66,1679 -static void estimation_timer(68,1716 -int ip_vs_new_estimator(119,3043 -void ip_vs_kill_estimator(157,3871 -void ip_vs_zero_estimator(178,4272 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_sched.c,346 -static rwlock_t __ip_vs_sched_lock 36,1108 -int ip_vs_bind_scheduler(42,1208 -int ip_vs_unbind_scheduler(73,1769 -static struct ip_vs_scheduler *ip_vs_sched_getbyname(103,2330 -struct ip_vs_scheduler *ip_vs_scheduler_get(139,3088 -void ip_vs_scheduler_put(159,3491 -int register_ip_vs_scheduler(169,3668 -int unregister_ip_vs_scheduler(224,4952 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_wlc.c,297 -ip_vs_wlc_init_svc(31,1148 -ip_vs_wlc_done_svc(38,1222 -ip_vs_wlc_update_svc(45,1296 -ip_vs_wlc_dest_overhead(52,1388 -ip_vs_wlc_schedule(70,1917 -static struct ip_vs_scheduler ip_vs_wlc_scheduler 126,3351 -static int __init ip_vs_wlc_init(138,3632 -static void __exit ip_vs_wlc_cleanup(144,3778 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_proto.c,589 -#define IP_VS_PROTO_TAB_SIZE 39,1050 -#define IP_VS_PROTO_HASH(IP_VS_PROTO_HASH40,1108 -static struct ip_vs_protocol *ip_vs_proto_table[42,1179 -int register_ip_vs_protocol(48,1288 -int unregister_ip_vs_protocol(65,1557 -struct ip_vs_protocol * ip_vs_proto_get(87,1947 -void ip_vs_protocol_timeout_change(104,2264 -ip_vs_create_timeout_table(119,2529 -ip_vs_set_state_timeout(135,2753 -const char * ip_vs_state_name(152,3021 -ip_vs_tcpudp_debug_packet(163,3231 -int ip_vs_protocol_init(201,4159 -#define REGISTER_PROTOCOL(REGISTER_PROTOCOL204,4212 -void ip_vs_protocol_cleanup(234,4875 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_lc.c,317 -static int ip_vs_lc_init_svc(25,751 -static int ip_vs_lc_done_svc(31,824 -static int ip_vs_lc_update_svc(37,897 -ip_vs_lc_dest_overhead(44,999 -ip_vs_lc_schedule(62,1518 -static struct ip_vs_scheduler ip_vs_lc_scheduler 99,2543 -static int __init ip_vs_lc_init(110,2818 -static void __exit ip_vs_lc_cleanup(116,2962 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_lblcr.c,1844 -#define CHECK_EXPIRE_INTERVAL 58,1868 -#define ENTRY_TIMEOUT 59,1908 -#define COUNT_FOR_FULL_EXPIRATION 67,2183 -static int sysctl_ip_vs_lblcr_expiration 68,2222 -#define CONFIG_IP_VS_LBLCR_TAB_BITS 75,2362 -#define IP_VS_LBLCR_TAB_BITS 77,2413 -#define IP_VS_LBLCR_TAB_SIZE 78,2474 -#define IP_VS_LBLCR_TAB_MASK 79,2535 -struct ip_vs_dest_list ip_vs_dest_list85,2658 -struct ip_vs_dest_set ip_vs_dest_set90,2810 -ip_vs_dest_set_insert(99,3116 -ip_vs_dest_set_erase(130,3719 -static void ip_vs_dest_set_eraseall(150,4121 -static inline struct ip_vs_dest *ip_vs_dest_set_min(168,4563 -static inline struct ip_vs_dest *ip_vs_dest_set_max(223,6033 -struct ip_vs_lblcr_entry ip_vs_lblcr_entry275,7441 -struct ip_vs_lblcr_table ip_vs_lblcr_table286,7743 -static ctl_table vs_vars_table[301,8293 -static ctl_table vs_table[313,8563 -static ctl_table ipv4_table[323,8715 -static ctl_table lblcr_root_table[333,8864 -static struct ctl_table_header * sysctl_header;343,9020 -static inline struct ip_vs_lblcr_entry *ip_vs_lblcr_new(349,9182 -static inline void ip_vs_lblcr_free(371,9615 -static inline unsigned ip_vs_lblcr_hashkey(382,9807 -ip_vs_lblcr_hash(393,10013 -static int ip_vs_lblcr_unhash(422,10590 -ip_vs_lblcr_get(448,11133 -static void ip_vs_lblcr_flush(474,11551 -static inline void ip_vs_lblcr_full_check(490,11883 -static void ip_vs_lblcr_check_expire(525,12903 -static struct ip_vs_lblcr_table *lblcr_table_list;575,13985 -ip_vs_lblcr_getinfo(582,14169 -static int ip_vs_lblcr_init_svc(638,15377 -static int ip_vs_lblcr_done_svc(683,16463 -static int ip_vs_lblcr_update_svc(702,16887 -__ip_vs_wlc_schedule(709,16999 -is_overloaded(777,18892 -ip_vs_lblcr_schedule(797,19318 -static struct ip_vs_scheduler ip_vs_lblcr_scheduler 853,20717 -static int __init ip_vs_lblcr_init(865,21010 -static void __exit ip_vs_lblcr_cleanup(876,21320 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipvs/ip_vs_dh.c,664 -struct ip_vs_dh_bucket ip_vs_dh_bucket49,1470 -#define CONFIG_IP_VS_DH_TAB_BITS 57,1642 -#define IP_VS_DH_TAB_BITS 59,1691 -#define IP_VS_DH_TAB_SIZE 60,1756 -#define IP_VS_DH_TAB_MASK 61,1821 -static inline unsigned ip_vs_dh_hashkey(67,1934 -ip_vs_dh_get(77,2149 -ip_vs_dh_assign(87,2348 -static void ip_vs_dh_flush(118,2897 -static int ip_vs_dh_init_svc(134,3128 -static int ip_vs_dh_done_svc(157,3707 -static int ip_vs_dh_update_svc(173,4066 -static inline int is_overloaded(191,4460 -ip_vs_dh_schedule(201,4641 -static struct ip_vs_scheduler ip_vs_dh_scheduler 231,5327 -static int __init ip_vs_dh_init(243,5602 -static void __exit ip_vs_dh_cleanup(250,5746 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/igmp.c,3974 -#define IP_MAX_MEMBERSHIPS 108,4034 -#define IP_MAX_MSF 109,4064 -#define IGMP_V1_Router_Present_Timeout 114,4181 -#define IGMP_V2_Router_Present_Timeout 115,4230 -#define IGMP_Unsolicited_Report_Interval 116,4279 -#define IGMP_Query_Response_Interval 117,4328 -#define IGMP_Unsolicited_Report_Count 118,4374 -#define IGMP_Initial_Report_Delay 121,4417 -#define IGMP_V1_SEEN(IGMP_V1_SEEN130,4751 -#define IGMP_V2_SEEN(IGMP_V2_SEEN134,4944 -static void ip_ma_put(149,5620 -static __inline__ void igmp_stop_timer(163,5812 -static void igmp_start_timer(175,6097 -static void igmp_gq_start_timer(184,6293 -static void igmp_ifc_start_timer(193,6507 -static void igmp_mod_timer(201,6692 -#define IGMP_SIZE 223,7116 -static int is_in(226,7184 -igmp_scount(260,8141 -static struct sk_buff *igmpv3_newpack(273,8406 -static int igmpv3_sendpack(332,9771 -static int grec_size(349,10221 -static struct sk_buff *add_grhead(354,10373 -#define AVAILABLE(AVAILABLE376,10962 -static struct sk_buff *add_grec(379,11067 -static int igmpv3_send_report(484,13656 -static void igmpv3_clear_zeros(520,14536 -static void igmpv3_send_cr(538,14896 -static int igmp_send_report(611,16725 -static void igmp_gq_timer_expire(680,18365 -static void igmp_ifc_timer_expire(689,18564 -static void igmp_ifc_event(701,18850 -static void igmp_timer_expire(711,19096 -static void igmp_marksources(736,19716 -static void igmp_heard_report(754,20054 -static void igmp_heard_query(773,20437 -int igmp_rcv(863,22936 -static void ip_mc_filter_add(921,24143 -static void ip_mc_filter_del(941,24696 -static void igmpv3_add_delrec(954,24983 -static void igmpv3_del_delrec(992,26147 -static void igmpv3_clear_delrec(1021,26759 -static void igmp_group_dropped(1054,27484 -static void igmp_group_added(1091,28146 -void ip_mc_inc_group(1130,28846 -void ip_mc_dec_group(1189,30148 -void ip_mc_down(1216,30640 -void ip_mc_init_dev(1238,31080 -void ip_mc_up(1261,31701 -void ip_mc_destroy_dev(1277,31946 -static struct in_device * ip_mc_find_dev(1299,32366 -int sysctl_igmp_max_memberships 1334,33081 -int sysctl_igmp_max_msf 1335,33135 -static int ip_mc_del1_src(1338,33175 -#define igmp_ifc_event(igmp_ifc_event1384,34277 -int ip_mc_del_src(1387,34328 -static int ip_mc_add1_src(1453,35844 -static void sf_markstate(1483,36499 -static int sf_setstate(1497,36877 -int ip_mc_add_src(1523,37457 -static void ip_mc_clear_src(1591,39075 -int ip_mc_join_group(1614,39512 -int ip_mc_leave_src(1670,40633 -int ip_mc_leave_group(1692,41173 -int ip_mc_source(1729,42097 -int ip_mc_msfilter(1848,44996 -int ip_mc_msfget(1917,46806 -int ip_mc_gsfget(1976,48200 -int ip_mc_sf_allow(2034,49681 -void ip_mc_drop_socket(2070,50411 -int ip_check_mc(2094,50936 -struct igmp_mc_iter_state igmp_mc_iter_state2127,51711 -#define igmp_mc_seq_private(igmp_mc_seq_private2132,51795 -static inline struct ip_mc_list *igmp_mc_get_first(2134,51875 -static struct ip_mc_list *igmp_mc_get_next(2158,52435 -static struct ip_mc_list *igmp_mc_get_idx(2181,52999 -static void *igmp_mc_seq_start(2190,53231 -static void *igmp_mc_seq_next(2196,53395 -static void igmp_mc_seq_stop(2207,53616 -static int igmp_mc_seq_show(2219,53932 -static struct seq_operations igmp_mc_seq_ops 2251,54805 -static int igmp_mc_seq_open(2258,54968 -static struct file_operations igmp_mc_seq_fops 2280,55361 -struct igmp_mcf_iter_state igmp_mcf_iter_state2288,55544 -#define igmp_mcf_seq_private(igmp_mcf_seq_private2294,55651 -static inline struct ip_sf_list *igmp_mcf_get_first(2296,55733 -static struct ip_sf_list *igmp_mcf_get_next(2327,56497 -static struct ip_sf_list *igmp_mcf_get_idx(2360,57270 -static void *igmp_mcf_seq_start(2369,57510 -static void *igmp_mcf_seq_next(2375,57676 -static void igmp_mcf_seq_stop(2386,57904 -static int igmp_mcf_seq_show(2402,58308 -static struct seq_operations igmp_mcf_seq_ops 2426,58920 -static int igmp_mcf_seq_open(2433,59088 -static struct file_operations igmp_mcf_seq_fops 2455,59484 -int __init igmp_mc_proc_init(2463,59669 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/fib_lookup.h,91 -#define _FIB_LOOKUP_H2,22 -struct fib_alias fib_alias8,119 -#define FA_S_ACCESSED 17,258 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/protocol.c,147 -struct net_protocol *inet_protos[51,1553 -static spinlock_t inet_proto_lock 52,1604 -int inet_add_protocol(58,1714 -int inet_del_protocol(80,2076 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp_input.c,6687 -int sysctl_tcp_timestamps 75,2703 -int sysctl_tcp_window_scaling 76,2734 -int sysctl_tcp_sack 77,2769 -int sysctl_tcp_fack 78,2794 -int sysctl_tcp_reordering 79,2819 -int sysctl_tcp_ecn;80,2871 -int sysctl_tcp_dsack 81,2891 -int sysctl_tcp_app_win 82,2917 -int sysctl_tcp_adv_win_scale 83,2946 -int sysctl_tcp_stdurg;85,2981 -int sysctl_tcp_rfc1337;86,3004 -int sysctl_tcp_max_orphans 87,3028 -int sysctl_tcp_frto;88,3066 -int sysctl_tcp_nometrics_save;89,3087 -int sysctl_tcp_westwood;90,3118 -int sysctl_tcp_vegas_cong_avoid;91,3143 -int sysctl_tcp_moderate_rcvbuf 93,3177 -#define V_PARAM_SHIFT 98,3351 -int sysctl_tcp_vegas_alpha 99,3375 -int sysctl_tcp_vegas_beta 100,3422 -int sysctl_tcp_vegas_gamma 101,3469 -int sysctl_tcp_bic 102,3516 -int sysctl_tcp_bic_fast_convergence 103,3540 -int sysctl_tcp_bic_low_window 104,3581 -#define FLAG_DATA 106,3618 -#define FLAG_WIN_UPDATE 107,3680 -#define FLAG_DATA_ACKED 108,3750 -#define FLAG_RETRANS_DATA_ACKED 109,3819 -#define FLAG_SYN_ACKED 110,3901 -#define FLAG_DATA_SACKED 111,3964 -#define FLAG_ECE 112,4013 -#define FLAG_DATA_LOST 113,4061 -#define FLAG_SLOWPATH 114,4125 -#define FLAG_ACKED 116,4202 -#define FLAG_NOT_DUP 117,4255 -#define FLAG_CA_ALERT 118,4316 -#define FLAG_FORWARD_PROGRESS 119,4367 -#define IsReno(IsReno121,4428 -#define IsFack(IsFack122,4468 -#define IsDSack(IsDSack123,4507 -#define TCP_REMNANT 125,4548 -static __inline__ void tcp_measure_rcv_mss(130,4708 -static void tcp_incr_quickack(173,5980 -void tcp_enter_quickack_mode(183,6210 -static __inline__ int tcp_in_quickack_mode(194,6439 -static void tcp_fixup_sndbuf(204,6676 -__tcp_grow_window(240,8191 -tcp_grow_window(257,8551 -static void tcp_fixup_rcvbuf(282,9185 -static void tcp_init_buffer_space(300,9786 -static void init_bictcp(333,10646 -static void tcp_clamp_window(343,10873 -static void tcp_rcv_rtt_update(391,12325 -static inline void tcp_rcv_rtt_measure(424,13171 -static inline void tcp_rcv_rtt_measure_ts(439,13520 -void tcp_rcv_space_adjust(451,13913 -static void tcp_event_data_recv(514,15673 -void tcp_ca_init(561,16738 -static inline void vegas_rtt_calc(582,17383 -static void tcp_rtt_estimator(606,18252 -static __inline__ void tcp_set_rto(676,20536 -static __inline__ void tcp_bound_rto(700,21414 -void tcp_update_metrics(710,21707 -__u32 tcp_init_cwnd(800,24425 -static void tcp_init_metrics(815,24752 -static void tcp_update_reordering(886,26984 -tcp_sacktag_write_queue(962,30103 -void tcp_enter_frto(1179,36665 -static void tcp_enter_frto_loss(1216,37775 -void tcp_clear_retrans(1261,38926 -void tcp_enter_loss(1278,39418 -static int tcp_check_sack_reneging(1324,40776 -static inline int tcp_fackets_out(1347,41453 -static inline int tcp_skb_timedout(1353,41605 -static inline int tcp_head_timedout(1358,41746 -tcp_time_to_recover(1458,45937 -static void tcp_check_reno_reordering(1496,47002 -static void tcp_add_reno_sack(1515,47542 -static void tcp_remove_reno_sacks(1524,47767 -static inline void tcp_reset_reno_sack(1537,48145 -tcp_mark_head_lost(1545,48358 -static void tcp_update_scoreboard(1566,48889 -static __inline__ void tcp_moderate_cwnd(1599,49803 -static void tcp_cwnd_down(1608,50031 -static __inline__ int tcp_packet_delayed(1638,50880 -static void DBGUNDO(1648,51116 -#define DBGUNDO(DBGUNDO1659,51510 -static void tcp_undo_cwr(1662,51557 -static inline int tcp_may_undo(1678,51961 -static int tcp_try_undo_recovery(1685,52142 -static void tcp_try_undo_dsack(1711,52963 -static int tcp_try_undo_partial(1723,53255 -static int tcp_try_undo_loss(1751,54045 -static __inline__ void tcp_complete_cwr(1772,54584 -static void tcp_try_to_open(1781,54811 -tcp_fastretrans_alert(1821,55880 -static void tcp_ack_saw_tstamp(1973,60037 -static void tcp_ack_no_tstamp(1999,60991 -tcp_ack_update_rtt(2020,61581 -static inline __u32 bictcp_cwnd(2042,62282 -static __inline__ void reno_cong_avoid(2095,63832 -static void vegas_cong_avoid(2144,66021 -static inline void tcp_cong_avoid(2337,72266 -static __inline__ void tcp_ack_packets_out(2349,72553 -static int tcp_tso_acked(2367,73174 -static int tcp_clean_rtx_queue(2429,74784 -static void tcp_ack_probe(2526,77573 -static __inline__ int tcp_ack_is_dubious(2545,78067 -static __inline__ int tcp_may_raise_cwnd(2551,78236 -tcp_may_update_window(2561,78556 -static int tcp_ack_update_window(2573,78922 -static void tcp_process_frto(2606,79599 -static void init_westwood(2655,80953 -static inline __u32 westwood_do_filter(2674,81472 -static void westwood_filter(2679,81564 -static inline __u32 westwood_update_rttmin(2697,82023 -static inline __u32 westwood_acked(2714,82366 -static int westwood_new_window(2730,82789 -static void __westwood_update_window(2761,83612 -static void westwood_update_window(2776,83911 -void __tcp_westwood_fast_bw(2789,84281 -static void westwood_dupack_update(2806,84661 -static inline int westwood_may_change_cumul(2814,84844 -static inline void westwood_partial_update(2819,84967 -static inline void westwood_complete_update(2825,85131 -static inline __u32 westwood_acked_count(2837,85407 -void __tcp_westwood_slow_bw(2870,86236 -static int tcp_ack(2881,86554 -void tcp_parse_options(2988,89454 -static __inline__ int tcp_fast_parse_options(3073,91690 -tcp_store_ts_recent(3096,92326 -tcp_replace_ts_recent(3103,92463 -static int tcp_disordered_ack(3142,94116 -static __inline__ int tcp_paws_discard(3161,94709 -static inline int tcp_sequence(3181,95441 -static void tcp_reset(3188,95651 -static void tcp_fin(3224,96572 -tcp_sack_extend(3294,98305 -static __inline__ void tcp_dsack_set(3306,98587 -static __inline__ void tcp_dsack_extend(3321,99008 -static void tcp_send_dupack(3329,99206 -static void tcp_sack_maybe_coalesce(3353,99869 -static __inline__ void tcp_sack_swap(3379,100585 -static void tcp_sack_new_ofo_skb(3392,100869 -static void tcp_sack_remove(3437,102034 -static void tcp_ofo_queue(3476,103075 -static void tcp_data_queue(3513,104111 -tcp_collapse(3731,110014 -static void tcp_collapse_ofo_queue(3822,112753 -static int tcp_prune_queue(3867,113979 -void tcp_cwnd_application_limited(3927,115792 -static void tcp_new_space(3951,116536 -static inline void tcp_check_space(3972,117181 -static void __tcp_data_snd_check(3982,117394 -static __inline__ void tcp_data_snd_check(3992,117693 -static void __tcp_ack_snd_check(4004,117917 -static __inline__ void tcp_ack_snd_check(4027,118590 -static void tcp_check_urg(4047,119205 -static void tcp_urg(4114,121592 -static int tcp_copy_to_iovec(4139,122235 -static int __tcp_checksum_complete_user(4162,122741 -tcp_checksum_complete_user(4177,123045 -int tcp_rcv_established(4206,124222 -static int tcp_rcv_synsent_state_process(4456,130659 -int tcp_rcv_state_process(4701,136749 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/arp_tables.c,2347 -#define dprintf(dprintf36,782 -#define dprintf(dprintf38,847 -#define duprintf(duprintf42,917 -#define duprintf(duprintf44,982 -#define ARP_NF_ASSERT(ARP_NF_ASSERT48,1054 -#define ARP_NF_ASSERT(ARP_NF_ASSERT55,1221 -#define SMP_ALIGN(SMP_ALIGN57,1253 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK61,1361 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK62,1435 -struct arpt_table_info arpt_table_info66,1597 -#define ADD_COUNTER(ADD_COUNTER77,1906 -#define TABLE_OFFSET(TABLE_OFFSET80,2002 -#define TABLE_OFFSET(TABLE_OFFSET82,2061 -static inline int arp_devaddr_compare(85,2097 -static inline int arp_packet_match(101,2451 -#define FWINV(FWINV112,2755 -static inline int arp_checkentry(214,6012 -static unsigned int arpt_error(230,6353 -static inline struct arpt_entry *get_entry(243,6678 -unsigned int arpt_do_table(248,6805 -static inline void *find_inlist_lock_noload(351,9316 -#define find_inlist_lock(find_inlist_lock371,9673 -find_inlist_lock(374,9770 -static inline struct arpt_table *arpt_find_table_lock(393,10170 -static struct arpt_target *arpt_find_target_lock(398,10357 -static inline int unconditional(404,10575 -static int mark_source_chains(418,10882 -static inline int standard_check(504,13022 -static struct arpt_target arpt_standard_target;533,13767 -static inline int check_entry(535,13816 -static inline int check_entry_size_and_hooks(586,14961 -static inline int cleanup_entry(628,16131 -static int translate_table(646,16544 -static struct arpt_table_info *replace_table(729,18552 -static inline int add_entry_to_counter(755,19279 -static void get_counters(765,19502 -static int copy_entries_to_user(781,19820 -static int get_entries(842,21414 -static int do_replace(869,22049 -static inline int add_counter_to_entry(974,25039 -static int do_add_counters(985,25261 -static int do_arpt_set_ctl(1032,26151 -static int do_arpt_get_ctl(1056,26570 -int arpt_register_target(1129,28250 -void arpt_unregister_target(1146,28568 -int arpt_register_table(1153,28703 -void arpt_unregister_table(1214,30112 -static struct arpt_target arpt_standard_target 1227,30473 -static struct arpt_target arpt_error_target 1231,30560 -static struct nf_sockopt_ops arpt_sockopts 1236,30665 -static inline int print_name(1247,30935 -static int arpt_get_tables(1264,31312 -static int __init init(1283,31757 -static void __exit fini(1317,32457 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_core.c,1094 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK24,688 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK25,750 -#define DEBUGP 38,1259 -#define DEBUGP(DEBUGP40,1287 -static unsigned int ip_nat_htable_size;47,1445 -static struct list_head *bysource;49,1486 -static struct list_head *byipsproto;50,1521 -struct ip_nat_protocol *ip_nat_protos[51,1558 -hash_by_ipsproto(56,1705 -hash_by_src(64,1934 -static void ip_nat_cleanup_conntrack(71,2189 -ip_nat_cheat_check(98,3041 -ip_nat_used_tuple(107,3309 -in_range(123,3875 -src_cmp(153,4789 -find_appropriate_src(169,5294 -do_extra_mangle(186,5820 -static inline int fake_cmp(205,6255 -count_maps(221,6849 -find_best_ips_proto(247,7835 -find_best_ips_proto_fast(339,10332 -get_unique_tuple(372,11317 -static unsigned int opposite_hook[476,14386 -ip_nat_setup_info(486,14662 -void replace_in_hashes(626,18979 -void place_in_hashes(650,19812 -manip_pkt(675,20634 -static inline int exp_for_packet(708,21451 -do_bindings(724,21850 -icmp_reply_translation(828,24849 -int __init ip_nat_init(940,28527 -static int clean_nat(980,29697 -void ip_nat_cleanup(987,29894 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_ah.c,233 -#define duprintf(duprintf21,590 -#define duprintf(duprintf23,655 -spi_match(28,779 -match(39,1067 -checkentry(71,1841 -static struct ipt_match ah_match 99,2546 -static int __init init(106,2671 -static void __exit cleanup(111,2744 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_fw_compat.h,35 -#define _LINUX_IP_FW_COMPAT_H2,30 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/iptable_raw.c,363 -#define RAW_VALID_HOOKS 9,229 -struct ipt_standardipt_standard12,328 -struct ipt_error_targetipt_error_target18,415 -struct ipt_erroript_error24,520 -} initial_table __initdata 35,700 -static struct ipt_table packet_raw 101,2171 -ipt_hook(111,2412 -static struct nf_hook_ops ipt_ops[121,2665 -static int __init init(136,2929 -static void __exit fini(164,3367 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_DSCP.c,148 -target(28,863 -checkentry(60,1712 -static struct ipt_target ipt_dscp_reg 88,2431 -static int __init init(95,2563 -static void __exit fini(100,2641 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_proto_unknown.c,211 -static int unknown_in_range(22,664 -static int unknown_unique_tuple(30,890 -unknown_manip_pkt(41,1182 -unknown_print(50,1366 -unknown_print_range(58,1523 -struct ip_nat_protocol ip_nat_unknown_protocol 63,1607 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_LOG.c,386 -static unsigned int nflog 30,805 -#define DEBUGP 35,950 -#define DEBUGP(DEBUGP37,978 -static spinlock_t log_lock 41,1072 -static void dump_packet(44,1165 -ipt_log_packet(345,9090 -ipt_log_target(392,10369 -ipt_logfn(409,10804 -static int ipt_log_checkentry(424,11130 -static struct ipt_target ipt_log_reg 452,11819 -static int __init init(459,11965 -static void __exit fini(469,12122 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_tables.c,2783 -#define dprintf(dprintf41,1175 -#define dprintf(dprintf43,1240 -#define duprintf(duprintf47,1311 -#define duprintf(duprintf49,1376 -#define IP_NF_ASSERT(IP_NF_ASSERT53,1448 -#define IP_NF_ASSERT(IP_NF_ASSERT60,1614 -#define SMP_ALIGN(SMP_ALIGN62,1645 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK67,1774 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK68,1846 -#define static74,2054 -#define inline75,2069 -struct ipt_table_infoipt_table_info93,2627 -#define ADD_COUNTER(ADD_COUNTER113,3138 -#define TABLE_OFFSET(TABLE_OFFSET116,3234 -#define TABLE_OFFSET(TABLE_OFFSET118,3293 -#define down(down122,3335 -#define down_interruptible(down_interruptible123,3414 -#define up(up124,3584 -ip_packet_match(129,3726 -#define FWINV(FWINV138,3888 -ip_checkentry(207,6061 -ipt_error(223,6391 -int do_match(237,6673 -get_entry(252,7037 -ipt_do_table(259,7211 -find_inlist_lock_noload(413,11460 -#define find_inlist_lock(find_inlist_lock440,11984 -find_inlist_lock(443,12081 -ipt_find_table_lock(463,12514 -find_match_lock(469,12698 -ipt_find_target_lock(475,12867 -unconditional(482,13073 -mark_source_chains(496,13367 -cleanup_match(590,15682 -standard_check(603,15956 -check_match(633,16689 -static struct ipt_target ipt_standard_target;668,17463 -check_entry(671,17528 -check_entry_size_and_hooks(729,18876 -cleanup_entry(772,20013 -translate_table(792,20485 -replace_table(872,22374 -add_entry_to_counter(914,23325 -get_counters(925,23532 -copy_entries_to_user(942,23844 -get_entries(1021,25843 -do_replace(1049,26468 -add_counter_to_entry(1155,29449 -do_add_counters(1175,29886 -do_ipt_set_ctl(1223,30765 -do_ipt_get_ctl(1248,31180 -ipt_register_target(1322,32834 -ipt_unregister_target(1340,33147 -ipt_register_match(1348,33276 -ipt_unregister_match(1367,33583 -int ipt_register_table(1374,33703 -void ipt_unregister_table(1433,35019 -port_match(1447,35401 -tcp_find_option(1456,35556 -tcp_match(1490,36219 -#define FWINVTCP(FWINVTCP1515,36808 -tcp_checkentry(1555,37910 -udp_match(1571,38358 -udp_checkentry(1605,39256 -icmp_type_code_match(1635,40086 -icmp_match(1644,40342 -icmp_checkentry(1678,41171 -static struct ipt_target ipt_standard_target 1694,41650 -static struct ipt_target ipt_error_target 1698,41734 -static struct nf_sockopt_ops ipt_sockopts 1703,41835 -static struct ipt_match tcp_matchstruct 1713,42076 -static struct ipt_match udp_matchstruct 1719,42196 -static struct ipt_match icmp_matchstruct 1725,42316 -static inline int print_name(1732,42462 -static inline int print_target(1750,42853 -static int ipt_get_tables(1759,43201 -static int ipt_get_targets(1777,43603 -static int ipt_get_matches(1794,43972 -static struct { char *name; get_info_t *get_info; } ipt_proc_entry[1811,44325 -static int __init init(1818,44571 -static void __exit fini(1861,45549 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_length.c,144 -match(20,595 -checkentry(34,951 -static struct ipt_match length_match 46,1209 -static int __init init(53,1342 -static void __exit fini(58,1419 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_snmp_basic.c,5061 -#define SNMP_PORT 63,2283 -#define SNMP_TRAP_PORT 64,2305 -#define NOCT1(NOCT165,2332 -static int debug;67,2374 -static spinlock_t snmp_lock 68,2392 -struct oct1_mapoct1_map75,2616 -#define ASN1_UNI 89,2941 -#define ASN1_APL 90,2976 -#define ASN1_CTX 91,3013 -#define ASN1_PRV 92,3046 -#define ASN1_EOC 95,3090 -#define ASN1_BOL 96,3131 -#define ASN1_INT 97,3164 -#define ASN1_BTS 98,3197 -#define ASN1_OTS 99,3233 -#define ASN1_NUL 100,3271 -#define ASN1_OJI 101,3301 -#define ASN1_OJD 102,3345 -#define ASN1_EXT 103,3389 -#define ASN1_SEQ 104,3423 -#define ASN1_SET 105,3458 -#define ASN1_NUMSTR 106,3488 -#define ASN1_PRNSTR 107,3534 -#define ASN1_TEXSTR 108,3580 -#define ASN1_VIDSTR 109,3625 -#define ASN1_IA5STR 110,3667 -#define ASN1_UNITIM 111,3707 -#define ASN1_GENTIM 112,3751 -#define ASN1_GRASTR 113,3793 -#define ASN1_VISSTR 114,3839 -#define ASN1_GENSTR 115,3883 -#define ASN1_PRI 118,3965 -#define ASN1_CON 119,4000 -#define ASN1_ERR_NOERROR 124,4061 -#define ASN1_ERR_DEC_EMPTY 125,4089 -#define ASN1_ERR_DEC_EOC_MISMATCH 126,4119 -#define ASN1_ERR_DEC_LENGTH_MISMATCH 127,4155 -#define ASN1_ERR_DEC_BADVALUE 128,4194 -struct asn1_ctxasn1_ctx133,4254 -struct asn1_octstrasn1_octstr144,4507 -static void asn1_open(150,4574 -static unsigned char asn1_octet_decode(160,4800 -static unsigned char asn1_tag_decode(170,5005 -static unsigned char asn1_id_decode(186,5256 -static unsigned char asn1_length_decode(207,5713 -static unsigned char asn1_header_decode(239,6261 -static unsigned char asn1_eoc_decode(260,6778 -static unsigned char asn1_null_decode(290,7298 -static unsigned char asn1_long_decode(296,7415 -static unsigned char asn1_uint_decode(324,7947 -static unsigned char asn1_ulong_decode(353,8509 -static unsigned char asn1_octets_decode(382,9076 -static unsigned char asn1_subid_decode(410,9706 -static unsigned char asn1_oid_decode(427,10009 -#define SNMP_V1 490,11302 -#define SNMP_V2C 491,11323 -#define SNMP_V2 492,11344 -#define SNMP_V3 493,11365 -#define SNMP_SIZE_COMM 496,11407 -#define SNMP_SIZE_OBJECTID 497,11436 -#define SNMP_SIZE_BUFCHR 498,11468 -#define SNMP_SIZE_BUFINT 499,11498 -#define SNMP_SIZE_SMALLOBJECTID 500,11528 -#define SNMP_PDU_GET 503,11580 -#define SNMP_PDU_NEXT 504,11605 -#define SNMP_PDU_RESPONSE 505,11631 -#define SNMP_PDU_SET 506,11660 -#define SNMP_PDU_TRAP1 507,11685 -#define SNMP_PDU_BULK 508,11712 -#define SNMP_PDU_INFORM 509,11738 -#define SNMP_PDU_TRAP2 510,11766 -#define SNMP_NOERROR 513,11807 -#define SNMP_TOOBIG 514,11832 -#define SNMP_NOSUCHNAME 515,11856 -#define SNMP_BADVALUE 516,11884 -#define SNMP_READONLY 517,11910 -#define SNMP_GENERROR 518,11936 -#define SNMP_NOACCESS 519,11962 -#define SNMP_WRONGTYPE 520,11988 -#define SNMP_WRONGLENGTH 521,12015 -#define SNMP_WRONGENCODING 522,12043 -#define SNMP_WRONGVALUE 523,12073 -#define SNMP_NOCREATION 524,12102 -#define SNMP_INCONSISTENTVALUE 525,12131 -#define SNMP_RESOURCEUNAVAILABLE 526,12166 -#define SNMP_COMMITFAILED 527,12202 -#define SNMP_UNDOFAILED 528,12232 -#define SNMP_AUTHORIZATIONERROR 529,12261 -#define SNMP_NOTWRITABLE 530,12297 -#define SNMP_INCONSISTENTNAME 531,12326 -#define SNMP_TRAP_COLDSTART 534,12389 -#define SNMP_TRAP_WARMSTART 535,12420 -#define SNMP_TRAP_LINKDOWN 536,12451 -#define SNMP_TRAP_LINKUP 537,12481 -#define SNMP_TRAP_AUTFAILURE 538,12509 -#define SNMP_TRAP_EQPNEIGHBORLOSS 539,12541 -#define SNMP_TRAP_ENTSPECIFIC 540,12577 -#define SNMP_NULL 543,12630 -#define SNMP_INTEGER 544,12665 -#define SNMP_OCTETSTR 545,12712 -#define SNMP_DISPLAYSTR 546,12759 -#define SNMP_OBJECTID 547,12806 -#define SNMP_IPADDR 548,12853 -#define SNMP_COUNTER 549,12900 -#define SNMP_GAUGE 550,12947 -#define SNMP_TIMETICKS 551,12994 -#define SNMP_OPAQUE 552,13041 -#define SNMP_UINTEGER 555,13119 -#define SNMP_BITSTR 556,13166 -#define SNMP_NSAP 557,13213 -#define SNMP_COUNTER64 558,13260 -#define SNMP_NOSUCHOBJECT 559,13307 -#define SNMP_NOSUCHINSTANCE 560,13342 -#define SNMP_ENDOFMIBVIEW 561,13377 -union snmp_syntaxsnmp_syntax563,13413 -struct snmp_objectsnmp_object571,13589 -struct snmp_requestsnmp_request580,13731 -struct snmp_v1_trapsnmp_v1_trap587,13831 -#define SNMP_IPA 598,14026 -#define SNMP_CNT 599,14048 -#define SNMP_GGE 600,14070 -#define SNMP_TIT 601,14092 -#define SNMP_OPQ 602,14114 -#define SNMP_C64 603,14136 -#define SERR_NSO 606,14177 -#define SERR_NSI 607,14199 -#define SERR_EOM 608,14221 -struct snmp_cnvsnmp_cnv614,14470 -static struct snmp_cnv snmp_conv 621,14545 -static unsigned char snmp_tag_cls2syntax(643,15269 -static unsigned char snmp_object_decode(661,15643 -static unsigned char snmp_request_decode(830,19212 -static void fast_csum(870,20165 -static inline void mangle_address(909,20843 -static unsigned char snmp_trap_decode(937,21553 -static void hex_dump(1015,23614 -static int snmp_parse_mangle(1031,23909 -static int snmp_translate(1205,27804 -static unsigned int nat_help(1246,29110 -static struct ip_nat_helper snmp 1311,31463 -static struct ip_nat_helper snmp_trap 1322,31712 -static int __init init(1339,32159 -static void __exit fini(1354,32398 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_tftp.c,330 -#define MAX_PORTS 41,1255 -static int ports[43,1276 -static int ports_c 44,1305 -#define DEBUGP(DEBUGP49,1440 -#define DEBUGP(DEBUGP52,1577 -tftp_nat_help(55,1637 -tftp_nat_expected(102,2854 -static struct ip_nat_helper tftp[153,4504 -static char tftp_names[154,4549 -static void fini(156,4589 -static int __init init(166,4759 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_fw_compat.c,539 -static struct firewall_ops *fwops;29,882 -int register_firewall(38,1111 -int unregister_firewall(53,1394 -fw_in(60,1502 -static unsigned int fw_confirm(174,4376 -static int sock_fn(185,4686 -static struct nf_hook_ops preroute_ops 207,5277 -static struct nf_hook_ops postroute_ops 215,5444 -static struct nf_hook_ops forward_ops 223,5613 -static struct nf_hook_ops local_in_ops 231,5775 -static struct nf_sockopt_ops sock_ops 239,5946 -static int init_or_cleanup(248,6121 -static int __init init(292,6862 -static void __exit fini(297,6924 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_ttl.c,164 -static int match(22,636 -static int checkentry(50,1268 -static struct ipt_match ttl_match 60,1506 -static int __init init(67,1633 -static void __exit fini(72,1707 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_REDIRECT.c,216 -#define DEBUGP 28,856 -#define DEBUGP(DEBUGP30,884 -redirect_check(35,974 -redirect_target(67,1806 -static struct ipt_target redirect_reg 111,3039 -static int __init init(118,3188 -static void __exit fini(123,3266 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_irc.c,381 -#define DEBUGP 33,1126 -#define DEBUGP(DEBUGP35,1154 -#define MAX_PORTS 38,1194 -static int ports[39,1214 -static int ports_c;40,1243 -irc_nat_expected(51,1538 -static int irc_data_fixup(88,2554 -static unsigned int help(146,4345 -static struct ip_nat_helper ip_nat_irc_helpers[200,6074 -static char irc_names[201,6133 -static void fini(205,6269 -static int __init init(216,6474 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_proto_generic.c,326 -unsigned long ip_ct_generic_timeout 15,456 -static int generic_pkt_to_tuple(17,503 -static int generic_invert_tuple(27,689 -static int generic_print_tuple(37,913 -static int generic_print_conntrack(44,1081 -static int packet(51,1246 -static int new(60,1514 -struct ip_conntrack_protocol ip_conntrack_generic_protocol 65,1604 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_realm.c,150 -match(25,686 -static int check(38,1017 -static struct ipt_match realm_match 58,1602 -static int __init init(65,1726 -static void __exit fini(70,1802 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_proto_tcp.c,168 -tcp_in_range(21,635 -tcp_unique_tuple(38,1053 -tcp_manip_pkt(86,2205 -tcp_print(131,3412 -tcp_print_range(150,3810 -struct ip_nat_protocol ip_nat_protocol_tcp164,4220 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/iptable_filter.c,427 -#define FILTER_VALID_HOOKS 21,646 -struct ipt_standardipt_standard24,768 -struct ipt_error_targetipt_error_target30,855 -struct ipt_erroript_error36,960 -} initial_table __initdata47,1140 -static struct ipt_table packet_filter 96,2688 -ipt_hook(106,2937 -ipt_local_out_hook(116,3176 -static struct nf_hook_ops ipt_ops[133,3647 -static int forward 158,4159 -static int __init init(161,4227 -static void __exit fini(203,5006 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_ULOG.c,767 -#define ULOG_NL_EVENT 65,2363 -#define ULOG_MAXNLGROUPS 66,2422 -#define DEBUGP(DEBUGP69,2482 -#define DEBUGP(DEBUGP72,2619 -#define PRINTR(PRINTR75,2659 -static unsigned int nlbufsiz 77,2756 -static unsigned int flushtimeout 81,2917 -static unsigned int nflog 85,3077 -} ulog_buff_t;ulog_buff_t96,3487 -static ulog_buff_t ulog_buffers[98,3503 -static struct sock *nflognl;100,3578 -static void ulog_send(104,3705 -static void ulog_timer(130,4351 -struct sk_buff *ulog_alloc_skb(141,4635 -static void ipt_ulog_packet(165,5179 -static unsigned int ipt_ulog_target(292,8438 -static void ipt_logfn(305,8806 -static int ipt_ulog_checkentry(321,9203 -static struct ipt_target ipt_ulog_reg 349,9926 -static int __init init(356,10076 -static void __exit fini(388,10711 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_proto_icmp.c,171 -icmp_in_range(22,637 -icmp_unique_tuple(32,938 -icmp_manip_pkt(55,1539 -icmp_print(75,2016 -icmp_print_range(97,2526 -struct ip_nat_protocol ip_nat_protocol_icmp106,2787 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_amanda.c,227 -amanda_nat_expected(35,1078 -static int amanda_data_fixup(70,2188 -static unsigned int help(98,3138 -static struct ip_nat_helper ip_nat_amanda_helper;123,4008 -static void __exit fini(125,4059 -static int __init init(130,4144 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_helper.c,207 -#define DEBUGP 27,868 -#define DEBUGP(DEBUGP29,896 -match(33,947 -static int check(84,2144 -static struct ipt_match helper_match 101,2464 -static int __init init(108,2592 -static void __exit fini(114,2691 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_REJECT.c,399 -#define DEBUGP 36,1042 -#define DEBUGP(DEBUGP38,1070 -static void connection_attach(44,1294 -static inline struct rtable *route_reverse(55,1642 -static void send_reset(103,2833 -static void send_unreach(222,5640 -static unsigned int reject(369,9548 -static int check(418,10951 -static struct ipt_target ipt_reject_reg 458,11997 -static int __init init(465,12128 -static void __exit fini(470,12208 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_esp.c,235 -#define duprintf(duprintf22,594 -#define duprintf(duprintf24,659 -spi_match(29,783 -match(40,1072 -checkentry(72,1849 -static struct ipt_match esp_match 100,2567 -static int __init init(107,2694 -static void __exit cleanup(112,2768 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipfwadm_core.c,1999 -#define CONFIG_IP_FIREWALL8,178 -#define CONFIG_IP_FIREWALL_VERBOSE9,205 -#define CONFIG_IP_MASQUERADE10,240 -#define CONFIG_IP_ACCT11,269 -#define CONFIG_IP_TRANSPARENT_PROXY12,292 -#define CONFIG_IP_FIREWALL_NETLINK14,398 -#define dprintf1(dprintf1145,4719 -#define dprintf2(dprintf2146,4750 -#define dprintf3(dprintf3147,4789 -#define dprintf4(dprintf4148,4833 -#define dprintf1(dprintf1150,4889 -#define dprintf2(dprintf2151,4909 -#define dprintf3(dprintf3152,4933 -#define dprintf4(dprintf4153,4960 -#define print_ip(print_ip156,4998 -#define dprint_ip(dprint_ip159,5080 -#define dprint_ip(dprint_ip161,5119 -struct ip_fw *ip_fw_fwd_chain;168,5244 -struct ip_fw *ip_fw_in_chain;169,5275 -struct ip_fw *ip_fw_out_chain;170,5305 -struct ip_fw *ip_acct_chain;171,5336 -struct ip_fw *ip_masq_chain;172,5365 -static struct ip_fw **chains[174,5395 -int ip_fw_fwd_policy=181,5597 -int ip_fw_in_policy=182,5634 -int ip_fw_out_policy=183,5670 -static int *policies[185,5708 -struct sock *ipfwsk;191,5835 -extern inline int port_match(198,5935 -static char *chain_name(230,6481 -static char *rule_name(245,6795 -static void print_packet(265,7251 -int ip_fw_chk(326,8934 -static void zero_fw_chain(733,19264 -static void free_fw_chain(747,19486 -static int insert_in_chain(768,20008 -static int append_to_chain(809,20927 -static int del_from_chain(860,22057 -struct ip_fw *check_ipfw_struct(942,23865 -int ip_acct_ctl(1015,25288 -int ip_fw_ctl(1061,26262 -static int ip_chain_procinfo(1208,29513 -static int ip_acct_procinfo(1291,31421 -static int ip_fw_in_procinfo(1299,31616 -static int ip_fw_out_procinfo(1305,31778 -static int ip_fw_fwd_procinfo(1311,31942 -int ipfw_input_check(1324,32193 -int ipfw_output_check(1332,32413 -int ipfw_forward_check(1340,32638 -int ipfw_acct_in(1349,32888 -int ipfw_acct_out(1355,33075 -struct firewall_ops ipfw_ops 1362,33272 -int ipfw_device_event(1376,33565 -static struct notifier_block ipfw_dev_notifier 1410,34500 -int ipfw_init_or_cleanup(1416,34600 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_conntrack.c,187 -match(22,686 -#define FWINV(FWINV36,1052 -static int check(105,3363 -static struct ipt_match conntrack_match 117,3598 -static int __init init(124,3732 -static void __exit fini(130,3834 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_TOS.c,146 -target(24,719 -checkentry(55,1518 -static struct ipt_target ipt_tos_reg 87,2371 -static int __init init(94,2501 -static void __exit fini(99,2578 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_standalone.c,2339 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK31,816 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK32,884 -#define DEBUGP 41,1214 -#define DEBUGP(DEBUGP43,1242 -static int kill_proto(51,1405 -print_tuple(59,1598 -seq_print_counters(69,1908 -#define seq_print_counters(seq_print_counters76,2130 -static void *ct_seq_start(79,2173 -static void ct_seq_stop(86,2327 -static void *ct_seq_next(90,2385 -static int ct_seq_real_show(99,2604 -static int ct_seq_show(155,4021 -static struct seq_operations ct_seq_ops 169,4359 -static int ct_open(176,4501 -static struct file_operations ct_file_ops 181,4602 -static void *exp_seq_start(190,4783 -static void *exp_seq_next(211,5243 -static void exp_seq_stop(223,5423 -static int exp_seq_show(229,5563 -static struct seq_operations exp_seq_ops 247,6052 -static int exp_open(254,6194 -static struct file_operations exp_file_ops 259,6299 -static void *ct_cpu_seq_start(267,6466 -static void *ct_cpu_seq_next(284,6750 -static void ct_cpu_seq_stop(298,6997 -static int ct_cpu_seq_show(302,7061 -static struct seq_operations ct_cpu_seq_ops 335,7875 -static int ct_cpu_seq_open(342,8040 -static struct file_operations ct_cpu_seq_fops 347,8153 -static unsigned int ip_confirm(356,8346 -static unsigned int ip_conntrack_defrag(366,8653 -static unsigned int ip_refrag(386,9187 -static unsigned int ip_conntrack_local(410,9946 -static struct nf_hook_ops ip_conntrack_defrag_ops 428,10550 -static struct nf_hook_ops ip_conntrack_in_ops 436,10752 -static struct nf_hook_ops ip_conntrack_defrag_local_out_ops 444,10939 -static struct nf_hook_ops ip_conntrack_local_out_ops 452,11149 -static struct nf_hook_ops ip_conntrack_out_ops 461,11377 -static struct nf_hook_ops ip_conntrack_local_in_ops 469,11555 -static int log_invalid_proto_min 510,12798 -static int log_invalid_proto_max 511,12836 -static struct ctl_table_header *ip_ct_sysctl_header;513,12877 -static ctl_table ip_ct_sysctl_table[515,12931 -#define NET_IP_CONNTRACK_MAX 682,17776 -static ctl_table ip_ct_netfilter_table[684,17811 -static ctl_table ip_ct_ipv4_table[702,18179 -static ctl_table ip_ct_net_table[712,18347 -static int init_or_cleanup(725,18570 -int ip_conntrack_protocol_register(831,21454 -void ip_conntrack_protocol_unregister(846,21770 -static int __init init(859,22168 -static void __exit fini(864,22230 -void need_ip_conntrack(874,22420 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_ecn.c,239 -static inline int match_ip(23,669 -static inline int match_tcp(29,831 -static int match(68,1580 -static int checkentry(88,2069 -static struct ipt_match ecn_match 113,2686 -static int __init init(120,2813 -static void __exit fini(125,2887 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_queue.c,1586 -#define IPQ_QMAX_DEFAULT 36,1144 -#define IPQ_PROC_FS_NAME 37,1174 -#define NET_IPQ_QMAX 38,1210 -#define NET_IPQ_QMAX_NAME 39,1236 -struct ipq_rt_info ipq_rt_info41,1281 -struct ipq_queue_entry ipq_queue_entry47,1345 -typedef int (*ipq_cmpfn)ipq_cmpfn54,1472 -static unsigned char copy_mode 56,1540 -static unsigned int queue_maxlen 57,1588 -static rwlock_t queue_lock 58,1641 -static int peer_pid;59,1688 -static unsigned int copy_range;60,1709 -static unsigned int queue_total;61,1741 -static struct sock *ipqnl;62,1774 -ipq_issue_verdict(67,1877 -__ipq_enqueue_entry(74,2025 -__ipq_find_entry(92,2572 -__ipq_dequeue_entry(106,2847 -__ipq_find_dequeue_entry(113,2983 -__ipq_flush(127,3223 -__ipq_set_mode(136,3395 -__ipq_reset(162,3779 -ipq_find_dequeue_entry(170,3907 -ipq_flush(181,4141 -ipq_build_packet_message(189,4276 -ipq_enqueue_packet(274,6276 -ipq_mangle_ipv4(333,7492 -id_cmp(384,8793 -ipq_set_verdict(390,8896 -ipq_set_mode(413,9358 -ipq_receive_peer(424,9556 -dev_cmp(452,10126 -ipq_dev_drop(466,10391 -#define RCV_SKB_FAIL(RCV_SKB_FAIL474,10561 -ipq_rcv_skb(477,10662 -ipq_rcv_sk(534,11774 -ipq_rcv_dev_event(553,12083 -static struct notifier_block ipq_dev_notifier 564,12353 -ipq_rcv_nl_event(569,12455 -static struct notifier_block ipq_nl_notifier 584,12803 -static struct ctl_table_header *ipq_sysctl_header;588,12892 -static ctl_table ipq_table[590,12944 -static ctl_table ipq_dir_table[602,13179 -static ctl_table ipq_root_table[612,13331 -ipq_get_info(624,13519 -init_or_cleanup(655,14196 -static int __init init(708,15473 -static void __exit fini(714,15537 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/arptable_filter.c,398 -#define FILTER_VALID_HOOKS 15,297 -struct arpt_standardarpt_standard19,418 -struct arpt_error_targetarpt_error_target25,508 -struct arpt_errorarpt_error31,616 -} initial_table __initdata42,802 -static struct arpt_table packet_filter 142,3058 -static unsigned int arpt_hook(152,3306 -static struct nf_hook_ops arpt_ops[161,3575 -static int __init init(182,3911 -static void __exit fini(204,4308 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_ftp.c,661 -static char ftp_buffer[29,878 -struct module *ip_conntrack_ftp 32,944 -#define MAX_PORTS 34,992 -static int ports[35,1012 -static int ports_c;36,1041 -static int loose;39,1109 -#define DEBUGP 43,1166 -#define DEBUGP(DEBUGP45,1194 -static struct ftp_search ftp_search52,1435 -} search[60,1637 -static int try_number(87,2061 -static int try_rfc959(118,2872 -static int get_port(125,3063 -static int try_eprt(149,3564 -static int try_epsv_response(175,4291 -static int find_pattern(191,4691 -static int help(246,5846 -static struct ip_conntrack_helper ftp[411,10743 -static char ftp_names[412,10793 -static void fini(415,10869 -static int __init init(425,11057 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_SAME.c,231 -#define DEBUGP 45,1629 -#define DEBUGP(DEBUGP47,1657 -same_check(51,1708 -same_destroy(130,3978 -same_target(142,4239 -static struct ipt_target same_reg 191,5604 -static int __init init(199,5764 -static void __exit fini(204,5838 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/arpt_mangle.c,150 -target(11,307 -checkentry(67,1789 -static struct arpt_target arpt_mangle_reg82,2195 -static int __init init(90,2361 -static void __exit fini(98,2470 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_CLASSIFY.c,151 -target(26,719 -checkentry(44,1125 -static struct ipt_target ipt_classify_reg 74,1981 -static int __init init(81,2125 -static void __exit fini(86,2207 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_iprange.c,205 -#define DEBUGP 21,623 -#define DEBUGP(DEBUGP23,651 -match(27,702 -static int check(65,1848 -static struct ipt_match iprange_match 78,2100 -static int __init init(88,2276 -static void __exit fini(93,2354 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_dscp.c,165 -static int match(22,644 -static int checkentry(34,1028 -static struct ipt_match dscp_match 44,1267 -static int __init init(51,1396 -static void __exit fini(56,1471 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_addrtype.c,206 -static inline int match_type(25,685 -static int match(30,799 -static int checkentry(46,1249 -static struct ipt_match addrtype_match 59,1626 -static int __init init(66,1760 -static void __exit fini(71,1839 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_MARK.c,147 -target(23,654 -checkentry(40,1049 -static struct ipt_target ipt_mark_reg 61,1609 -static int __init init(68,1741 -static void __exit fini(73,1819 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_mac.c,150 -match(23,667 -ipt_mac_checkentry(41,1142 -static struct ipt_match mac_match 61,1643 -static int __init init(68,1778 -static void __exit fini(73,1852 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_proto_udp.c,168 -udp_in_range(22,636 -udp_unique_tuple(39,1054 -udp_manip_pkt(85,2160 -udp_print(117,3004 -udp_print_range(136,3402 -struct ip_nat_protocol ip_nat_protocol_udp150,3812 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_physdev.c,196 -#define MATCH 16,546 -#define NOMATCH 17,564 -match(24,743 -checkentry(100,3278 -static struct ipt_match physdev_match 116,3681 -static int __init init(123,3816 -static void __exit fini(128,3894 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_mark.c,142 -match(21,560 -checkentry(34,862 -static struct ipt_match mark_match 46,1118 -static int __init init(53,1247 -static void __exit fini(58,1322 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_standalone.c,698 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK34,926 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK35,988 -#define DEBUGP 47,1430 -#define DEBUGP(DEBUGP49,1458 -#define HOOKNAME(HOOKNAME52,1498 -static inline int call_expect(58,1776 -ip_nat_fn(68,2058 -ip_nat_out(183,5362 -ip_nat_local_fn(216,6310 -static struct nf_hook_ops ip_nat_in_ops 245,7113 -static struct nf_hook_ops ip_nat_out_ops 254,7330 -static struct nf_hook_ops ip_nat_local_out_ops 264,7586 -static struct nf_hook_ops ip_nat_local_in_ops 273,7850 -int ip_nat_protocol_register(283,8062 -void ip_nat_protocol_unregister(299,8416 -static int init_or_cleanup(309,8681 -static int __init init(370,10055 -static void __exit fini(375,10117 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_tftp.c,308 -#define MAX_PORTS 28,763 -static int ports[29,783 -static int ports_c;30,812 -#define DEBUGP(DEBUGP35,943 -#define DEBUGP(DEBUGP38,1080 -static int tftp_help(41,1120 -static struct ip_conntrack_helper tftp[91,2325 -static char tftp_names[92,2376 -static void fini(94,2416 -static int __init init(105,2596 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_tcpmss.c,239 -#define TH_SYN 17,455 -mssoption_match(25,696 -match(77,1756 -static inline int find_syn_match(90,2081 -checkentry(103,2389 -static struct ipt_match tcpmss_match 121,2812 -static int __init init(128,2945 -static void __exit fini(133,3022 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_proto_udp.c,390 -unsigned long ip_ct_udp_timeout 21,618 -unsigned long ip_ct_udp_timeout_stream 22,659 -static int udp_pkt_to_tuple(24,709 -static int udp_invert_tuple(41,1084 -static int udp_print_tuple(50,1354 -static int udp_print_conntrack(59,1620 -static int udp_packet(66,1798 -static int udp_new(84,2422 -static int udp_error(89,2516 -struct ip_conntrack_protocol ip_conntrack_protocol_udp 135,3929 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_proto_tcp.c,2248 -#define DEBUGP 42,1096 -#define DEBUGP_VARS43,1118 -#define DEBUGP(DEBUGP45,1144 -int ip_ct_tcp_be_liberal 54,1417 -int ip_ct_tcp_loose 61,1730 -int ip_ct_tcp_max_retrans 66,1930 -static const char *tcp_conntrack_names[71,2079 -#define SECS 84,2256 -#define MINS 85,2274 -#define HOURS 86,2297 -#define DAYS 87,2321 -unsigned long ip_ct_tcp_timeout_syn_sent 89,2346 -unsigned long ip_ct_tcp_timeout_syn_recv 90,2402 -unsigned long ip_ct_tcp_timeout_established 91,2458 -unsigned long ip_ct_tcp_timeout_fin_wait 92,2514 -unsigned long ip_ct_tcp_timeout_close_wait 93,2570 -unsigned long ip_ct_tcp_timeout_last_ack 94,2626 -unsigned long ip_ct_tcp_timeout_time_wait 95,2682 -unsigned long ip_ct_tcp_timeout_close 96,2738 -unsigned long ip_ct_tcp_timeout_max_retrans 101,2947 -static unsigned long * tcp_timeouts[103,3007 -#define sNO 116,3807 -#define sSS 117,3838 -#define sSR 118,3873 -#define sES 119,3908 -#define sFW 120,3946 -#define sCW 121,3981 -#define sLA 122,4018 -#define sTW 123,4053 -#define sCL 124,4089 -#define sLI 125,4121 -#define sIV 126,4154 -#define sIG 127,4184 -enum tcp_bit_set tcp_bit_set130,4269 - TCP_SYN_SET,131,4288 - TCP_SYNACK_SET,132,4302 - TCP_FIN_SET,133,4319 - TCP_ACK_SET,134,4333 - TCP_RST_SET,135,4347 - TCP_NONE_SET,136,4361 -static enum tcp_conntrack tcp_conntracks[174,5451 -static int tcp_pkt_to_tuple(293,9424 -static int tcp_invert_tuple(310,9786 -static int tcp_print_tuple(319,10056 -static int tcp_print_conntrack(328,10322 -static unsigned int get_conntrack_index(340,10598 -static inline __u32 segment_seq_plus_len(372,11829 -#define MAXACKWINCONST 382,12092 -#define MAXACKWINDOW(MAXACKWINDOW383,12123 -static void tcp_options(390,12318 -static void tcp_sack(447,13550 -static int tcp_in_window(501,14821 -int ip_conntrack_tcp_update(708,21287 -#define TH_FIN 743,22352 -#define TH_SYN 744,22372 -#define TH_RST 745,22392 -#define TH_PUSH 746,22412 -#define TH_ACK 747,22433 -#define TH_URG 748,22453 -#define TH_ECE 749,22473 -#define TH_CWR 750,22493 -static u8 tcp_valid_flags[753,22584 -static int tcp_error(771,23078 -static int tcp_packet(827,24804 -static int tcp_new(973,29792 -static int tcp_exp_matches_pkt(1059,32674 -struct ip_conntrack_protocol ip_conntrack_protocol_tcp 1075,33089 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_core.c,2675 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK43,1415 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK44,1483 -#define IP_CONNTRACK_VERSION 52,1807 -#define DEBUGP 55,1849 -#define DEBUGP(DEBUGP57,1877 -atomic_t ip_conntrack_count 64,2042 -struct ip_conntrack_protocol *ip_ct_protos[69,2232 -unsigned int ip_conntrack_htable_size 71,2320 -int ip_conntrack_max;72,2363 -struct list_head *ip_conntrack_hash;73,2385 -static kmem_cache_t *ip_conntrack_cachep;74,2422 -static kmem_cache_t *ip_conntrack_expect_cachep;75,2464 -struct ip_conntrack ip_conntrack_untracked;76,2513 -unsigned int ip_ct_log_invalid;77,2557 -ip_conntrack_put(82,2665 -static int ip_conntrack_hash_rnd_initted;88,2767 -static unsigned int ip_conntrack_hash_rnd;89,2809 -hash_conntrack(92,2870 -ip_ct_get_tuple(104,3208 -ip_ct_invert_tuple(125,3698 -static inline int expect_cmp(140,4102 -destroy_expect(148,4346 -inline void ip_conntrack_expect_put(158,4646 -__ip_ct_expect_find(169,4885 -ip_conntrack_expect_find_get(179,5227 -static void __unexpect_related(196,5682 -static void unexpect_related(218,6335 -static void remove_expectations(233,6807 -clean_from_lists(265,7711 -destroy_conntrack(282,8233 -static void death_by_timeout(327,9586 -conntrack_tuple_cmp(340,9865 -__ip_conntrack_find(350,10192 -ip_conntrack_find_get(372,10863 -__ip_conntrack_confirm(388,11267 -ip_conntrack_tuple_taken(452,13536 -static inline int unreplied(466,13946 -static int early_drop(471,14078 -static inline int helper_cmp(495,14649 -struct ip_conntrack_helper *ip_ct_find_helper(501,14828 -init_conntrack(511,15178 -resolve_normal_ct(626,18774 -unsigned int ip_conntrack_in(679,20220 -int invert_tuplepr(776,22728 -static inline int resent_expect(783,22920 -static inline int expect_clash(797,23510 -inline void ip_conntrack_unexpect_related(813,24117 -static void expectation_timed_out(820,24296 -ip_conntrack_expect_alloc(831,24593 -ip_conntrack_expect_insert(849,24991 -int ip_conntrack_expect_related(873,25780 -int ip_conntrack_change_expect(974,29266 -int ip_conntrack_alter_reply(1016,30565 -int ip_conntrack_helper_register(1038,31211 -static inline int unhelp(1047,31390 -void ip_conntrack_helper_unregister(1059,31679 -static inline void ct_add_counters(1077,32185 -void ip_ct_refresh_acct(1091,32578 -int ip_ct_no_defrag;1114,33250 -ip_ct_gather_frags(1118,33324 -static void ip_conntrack_attach(1160,33989 -do_kill(1180,34517 -get_next_corpse(1189,34736 -ip_ct_selective_cleanup(1207,35203 -getorigdst(1228,35809 -static struct nf_sockopt_ops so_getorigdst 1277,37255 -static int kill_all(1284,37411 -void ip_conntrack_cleanup(1291,37586 -static int hashsize;1312,38120 -int __init ip_conntrack_init(1315,38177 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_proto_icmp.c,425 -unsigned long ip_ct_icmp_timeout 24,738 -#define DEBUGP 27,787 -#define DEBUGP(DEBUGP29,815 -static int icmp_pkt_to_tuple(32,855 -static int icmp_invert_tuple(49,1231 -static int icmp_print_tuple(74,2096 -static int icmp_print_conntrack(84,2388 -static int icmp_packet(91,2551 -static int icmp_new(112,3290 -icmp_error_message(134,3952 -icmp_error(206,6033 -struct ip_conntrack_protocol ip_conntrack_protocol_icmp 268,7699 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_limit.c,553 -static spinlock_t limit_lock 32,1049 -#define MAX_CPJ 51,1937 -#define _POW2_BELOW2(_POW2_BELOW256,2135 -#define _POW2_BELOW4(_POW2_BELOW457,2174 -#define _POW2_BELOW8(_POW2_BELOW858,2237 -#define _POW2_BELOW16(_POW2_BELOW1659,2300 -#define _POW2_BELOW32(_POW2_BELOW3260,2364 -#define POW2_BELOW32(POW2_BELOW3261,2431 -#define CREDITS_PER_JIFFY 63,2484 -ipt_limit_match(66,2544 -user2credits(94,3179 -ipt_limit_checkentry(105,3455 -static struct ipt_match ipt_limit_reg 137,4293 -static int __init init(144,4444 -static void __exit fini(151,4548 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_TCPMSS.c,333 -#define DEBUGP 25,651 -#define DEBUGP(DEBUGP27,679 -cheat_check(31,736 -optlen(39,1001 -ipt_tcpmss_target(47,1223 -#define TH_SYN 196,5366 -static inline int find_syn_match(198,5387 -ipt_tcpmss_checkentry(212,5743 -static struct ipt_target ipt_tcpmss_reg 244,6661 -static int __init init(251,6819 -static void __exit fini(256,6899 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_pkttype.c,167 -static int match(20,592 -static int checkentry(32,893 -static struct ipt_match pkttype_match 52,1339 -static int __init init(59,1474 -static void __exit fini(64,1552 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_state.c,150 -match(22,708 -static int check(43,1235 -static struct ipt_match state_match 55,1466 -static int __init init(62,1592 -static void __exit fini(68,1690 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_proto_sctp.c,1633 -#define DEBUGP(DEBUGP32,822 -#define DEBUGP(DEBUGP34,887 -static const char *sctp_conntrack_names[45,1150 -#define SECS 56,1328 -#define MINS 57,1347 -#define HOURS 58,1371 -#define DAYS 59,1395 -unsigned long ip_ct_sctp_timeout_closed 61,1421 -unsigned long ip_ct_sctp_timeout_cookie_wait 62,1484 -unsigned long ip_ct_sctp_timeout_cookie_echoed 63,1547 -unsigned long ip_ct_sctp_timeout_established 64,1610 -unsigned long ip_ct_sctp_timeout_shutdown_sent 65,1673 -unsigned long ip_ct_sctp_timeout_shutdown_recd 66,1743 -unsigned long ip_ct_sctp_timeout_shutdown_ack_sent 67,1813 -static unsigned long * sctp_timeouts[69,1877 -#define sNO 80,2530 -#define sCL 81,2562 -#define sCW 82,2596 -#define sCE 83,2635 -#define sES 84,2676 -#define sSS 85,2715 -#define sSR 86,2756 -#define sSA 87,2797 -#define sIV 88,2842 -static enum sctp_conntrack sctp_conntracks[122,4288 -static int sctp_pkt_to_tuple(151,5755 -static int sctp_invert_tuple(170,6161 -static int sctp_print_tuple(182,6476 -static int sctp_print_conntrack(194,6785 -#define for_each_sctp_chunk(for_each_sctp_chunk209,7100 -static int do_basic_checks(216,7442 -static int new_state(257,8312 -static int sctp_packet(312,9762 -static int sctp_new(424,13165 -static int sctp_exp_matches_pkt(497,15113 -struct ip_conntrack_protocol ip_conntrack_protocol_sctp 504,15250 -static ctl_table ip_ct_sysctl_table[519,15677 -static ctl_table ip_ct_netfilter_table[579,17597 -static ctl_table ip_ct_ipv4_table[589,17782 -static ctl_table ip_ct_net_table[599,17950 -static struct ctl_table_header *ip_ct_sysctl_header;609,18111 -int __init init(612,18172 -void __exit fini(642,18804 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_amanda.c,257 -static unsigned int master_timeout 33,1146 -static char *conns[41,1445 -static char amanda_buffer[44,1543 -static int help(47,1619 -static struct ip_conntrack_helper amanda_helper 127,3761 -static void __exit fini(143,4143 -static int __init init(148,4227 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_NOTRACK.c,149 -target(11,301 -checkentry(34,929 -static struct ipt_target ipt_notrack_reg 54,1385 -static int __init init(61,1523 -static void __exit fini(69,1631 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipchains_core.c,2817 -static struct sock *ipfwsk;157,6311 -#define SLOT_NUMBER(SLOT_NUMBER161,6365 -#define SLOT_NUMBER(SLOT_NUMBER163,6445 -#define NUM_SLOTS 165,6509 -#define SIZEOF_STRUCT_IP_CHAIN 167,6540 -#define SIZEOF_STRUCT_IP_FW_KERNEL 169,6639 -static unsigned int fwc_rlocks,173,6786 -static unsigned int fwc_rlocks, fwc_wlocks;173,6786 -#define FWC_DEBUG_LOCK(FWC_DEBUG_LOCK174,6830 -#define FWC_DEBUG_UNLOCK(FWC_DEBUG_UNLOCK180,6944 -#define FWC_DONT_HAVE_LOCK(FWC_DONT_HAVE_LOCK186,7056 -#define FWC_HAVE_LOCK(FWC_HAVE_LOCK193,7251 -#define FWC_DEBUG_LOCK(FWC_DEBUG_LOCK201,7436 -#define FWC_DEBUG_UNLOCK(FWC_DEBUG_UNLOCK202,7478 -#define FWC_DONT_HAVE_LOCK(FWC_DONT_HAVE_LOCK203,7522 -#define FWC_HAVE_LOCK(FWC_HAVE_LOCK204,7568 -#define FWC_READ_LOCK(FWC_READ_LOCK207,7646 -#define FWC_WRITE_LOCK(FWC_WRITE_LOCK208,7730 -#define FWC_READ_LOCK_IRQ(FWC_READ_LOCK_IRQ209,7816 -#define FWC_WRITE_LOCK_IRQ(FWC_WRITE_LOCK_IRQ210,7916 -#define FWC_READ_UNLOCK(FWC_READ_UNLOCK211,8018 -#define FWC_WRITE_UNLOCK(FWC_WRITE_UNLOCK212,8108 -#define FWC_READ_UNLOCK_IRQ(FWC_READ_UNLOCK_IRQ213,8200 -#define FWC_WRITE_UNLOCK_IRQ(FWC_WRITE_UNLOCK_IRQ214,8309 -struct ip_countersip_counters218,8439 -struct ip_fwkernelip_fwkernel223,8516 -struct ip_reentip_reent234,8855 -struct ip_chainip_chain241,9036 -#define dprintf(dprintf257,9520 -#define dprintf(dprintf259,9585 -#define duprintf(duprintf263,9656 -#define duprintf(duprintf265,9721 -rwlock_t ip_fw_lock 269,9816 -static struct ip_chain *ip_fw_chains;272,9895 -#define IP_FW_INPUT_CHAIN 274,9934 -#define IP_FW_FORWARD_CHAIN 275,9973 -#define IP_FW_OUTPUT_CHAIN 276,10022 -extern inline int port_match(279,10142 -static int ip_rule_match(288,10420 -#define FWINV(FWINV297,10629 -static const char *branchname(391,13407 -static void dump_packet(413,13977 -static int check_label(451,15121 -static struct ip_chain *find_label(463,15432 -static int find_special(475,15754 -static void cleanup(506,16620 -ip_fw_domatch(525,17067 -ip_fw_check(592,19213 -static int zero_fw_chain(866,26038 -static int clear_fw_chain(876,26266 -static int replace_in_chain(896,26664 -static int append_to_chain(917,27109 -static int insert_in_chain(949,28005 -static int del_num_from_chain(984,28851 -static int del_rule_from_chain(1021,29836 -static int del_chain(1139,33512 -static struct ip_chain *ip_init_chain(1174,34339 -static int create_chain(1200,35044 -static int change_policy(1230,35878 -static struct ip_fwkernel *convert_ipfw(1239,36138 -int ip_fw_ctl(1358,39871 -static int dump_rule(1605,45720 -static int ip_chain_procinfo(1656,47367 -static int ip_chain_name_procinfo(1708,48761 -int ipfw_input_check(1761,50038 -int ipfw_output_check(1769,50257 -int ipfw_forward_check(1781,50654 -struct firewall_ops ipfw_ops 1789,50881 -int ipfw_init_or_cleanup(1795,51017 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_NETMAP.c,225 -#define MODULENAME 21,651 -#define DEBUGP 27,841 -#define DEBUGP(DEBUGP29,869 -check(33,920 -target(65,1755 -static struct ipt_target target_module 99,2733 -static int __init init(106,2874 -static void __exit fini(111,2953 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_rule.c,799 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK21,603 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK22,665 -#define DEBUGP 31,957 -#define DEBUGP(DEBUGP33,985 -#define NAT_VALID_HOOKS 36,1025 -struct ipt_standardipt_standard39,1146 -struct ipt_error_targetipt_error_target45,1233 -struct ipt_erroript_error51,1338 -} nat_initial_table __initdata62,1518 -static struct ipt_table nat_table 111,3088 -static unsigned int ipt_snat_target(120,3282 -static unsigned int ipt_dnat_target(142,3900 -static int ipt_snat_checkentry(167,4557 -static int ipt_dnat_checkentry(202,5467 -alloc_null_binding(246,6578 -int ip_nat_rule_find(266,7296 -static struct ipt_target ipt_snat_reg 285,7754 -static struct ipt_target ipt_dnat_reg 291,7883 -int __init ip_nat_rule_init(297,8012 -void ip_nat_rule_cleanup(322,8436 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_fw_compat_masq.c,444 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK29,794 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK30,862 -#define DEBUGP 41,1251 -#define DEBUGP(DEBUGP43,1279 -do_masquerade(47,1332 -check_for_masq_error(113,3192 -check_for_demasq(131,3697 -int ip_fw_masq_timeouts(216,5985 -static const char *masq_proto_name(222,6112 -print_masq(233,6361 -masq_iterate(256,7121 -masq_procinfo(281,7612 -int __init masq_init(312,8405 -void masq_cleanup(337,8819 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_comment.c,144 -match(17,405 -checkentry(29,626 -static struct ipt_match comment_match 41,906 -static int __init init(48,1038 -static void __exit fini(53,1116 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_tos.c,141 -match(21,561 -checkentry(34,851 -static struct ipt_match tos_match 46,1106 -static int __init init(53,1233 -static void __exit fini(58,1307 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_helper.c,675 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK31,1017 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK32,1079 -#define DEBUGP 43,1480 -#define DUMP_OFFSET(DUMP_OFFSET44,1502 -#define DEBUGP(DEBUGP46,1651 -#define DUMP_OFFSET(DUMP_OFFSET47,1683 -adjust_tcp_sequence(55,1867 -static void mangle_contents(93,2956 -static int enlarge_skb(132,4044 -ip_nat_mangle_tcp_packet(163,4764 -ip_nat_mangle_udp_packet(213,6130 -sack_adjust(261,7530 -ip_nat_sack_adjust(307,8863 -ip_nat_seq_adjust(352,9906 -helper_cmp(408,11447 -int ip_nat_helper_register(414,11611 -__ip_nat_find_helper(429,11902 -ip_nat_find_helper(435,12063 -kill_helper(447,12265 -void ip_nat_helper_unregister(458,12444 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_recent.c,810 -#define HASH_LOG 24,808 -static int ip_list_tot 27,896 -static int ip_pkt_list_tot 28,926 -static int ip_list_hash_size 29,959 -static int ip_list_perms 30,993 -static int debug 32,1039 -static char version[35,1069 -struct recent_ip_list recent_ip_list55,1996 -struct time_info_list time_info_list65,2177 -struct recent_ip_tables recent_ip_tables71,2305 -static struct recent_ip_tables *r_tables 88,2749 -static spinlock_t recent_lock 93,2910 -static struct proc_dir_entry *proc_net_ipt_recent 97,3022 -int hash_func(110,3388 -static int ip_recent_get_info(132,3938 -static int ip_recent_ctrl(179,5769 - union iaddr iaddr185,5998 -match(355,11006 -checkentry(655,22964 -destroy(871,30215 -static struct ipt_match recent_match 951,32624 -static int __init init(960,32821 -static void __exit fini(990,33549 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_ECN.c,191 -set_ect_ip(28,807 -set_ect_tcp(53,1507 -target(97,2663 -checkentry(119,3211 -static struct ipt_target ipt_ecn_reg 160,4314 -static int __init init(167,4444 -static void __exit fini(172,4521 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_MASQUERADE.c,335 -#define DEBUGP 30,896 -#define DEBUGP(DEBUGP32,924 -masquerade_check(40,1095 -masquerade_target(73,1925 -device_cmp(144,3761 -static int masq_inet_event(160,4194 -static struct notifier_block masq_inet_notifier 173,4521 -static struct ipt_target masquerade 177,4612 -static int __init init(184,4765 -static void __exit fini(197,4975 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_sctp.c,290 -#define duprintf(duprintf10,203 -#define duprintf(duprintf12,268 -#define SCCHECK(SCCHECK15,310 -match_flags(19,442 -match_packet(36,771 -match(116,2629 -checkentry(154,3754 -static struct ipt_match sctp_match 177,4408 -static int __init init(187,4577 -static void __exit fini(192,4652 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_conntrack_irc.c,552 -#define MAX_PORTS 37,1344 -static int ports[38,1364 -static int ports_c;39,1393 -static int max_dcc_channels 40,1413 -static unsigned int dcc_timeout 41,1446 -static char irc_buffer[43,1527 -static char *dccprotos[56,2087 -#define MINMATCHLEN 57,2165 -struct module *ip_conntrack_irc 59,2188 -#define DEBUGP(DEBUGP62,2242 -#define DEBUGP(DEBUGP65,2390 -int parse_dcc(68,2430 -static int help(101,3298 -static struct ip_conntrack_helper irc_helpers[239,7135 -static char irc_names[240,7193 -static int __init init(244,7257 -static void fini(298,8579 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/iptable_mangle.c,405 -#define MANGLE_VALID_HOOKS 26,833 -struct ipt_standardipt_standard33,1046 -struct ipt_error_targetipt_error_target39,1133 -struct ipt_erroript_error45,1238 -} initial_table __initdata57,1501 -static struct ipt_table packet_mangler 126,3848 -ipt_route_hook(136,4099 -ipt_local_hook(146,4345 -static struct nf_hook_ops ipt_ops[185,5403 -static int __init init(223,6145 -static void __exit fini(269,6980 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_multiport.c,240 -#define duprintf(duprintf25,765 -#define duprintf(duprintf27,830 -ports_match(32,955 -match(50,1314 -checkentry(85,2225 -static struct ipt_match multiport_match 106,2916 -static int __init init(113,3055 -static void __exit fini(118,3135 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ipt_owner.c,207 -match_comm(24,664 -match_pid(57,1351 -match_sid(89,1952 -match(124,2605 -checkentry(170,3611 -static struct ipt_match owner_match 199,4459 -static int __init init(206,4590 -static void __exit fini(211,4666 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_nat_ftp.c,741 -#define DEBUGP 28,862 -#define DEBUGP(DEBUGP30,890 -#define MAX_PORTS 33,930 -static int ports[34,950 -static int ports_c;35,979 -ftp_nat_expected(42,1097 -mangle_rfc959_packet(100,3006 -mangle_eprt_packet(121,3548 -mangle_epsv_packet(141,4063 -static int (*mangle[159,4496 -static int (*mangle[])(struct sk_buff 159,4496 -static int (*mangle[])(struct sk_buff **, u_int32_t,159,4496 -static int (*mangle[])(struct sk_buff **, u_int32_t, u_int16_t,159,4496 - struct ip_conntrack 162,4602 - enum ip_conntrack_info)163,4632 -static int ftp_data_fixup(170,4842 -static unsigned int help(228,6634 -static struct ip_nat_helper ftp[280,8277 -static char ftp_names[281,8321 -static void fini(284,8397 -static int __init init(294,8566 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/netfilter/ip_fw_compat_redir.c,632 -#define REDIR_TIMEOUT 34,946 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK37,1011 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK38,1067 -#define DEBUGP 44,1201 -#define DEBUGP(DEBUGP46,1229 -#define IP_NF_ASSERT(IP_NF_ASSERT50,1299 -#define IP_NF_ASSERT(IP_NF_ASSERT59,1554 -cheat_check(63,1603 -struct redir_core redir_core70,1813 -struct redirredir78,1952 -redir_cmp(88,2088 -find_redir(100,2460 -static void do_tcp_redir(107,2675 -unredir_cmp(127,3259 -find_unredir(139,3610 -static void do_tcp_unredir(147,3859 -static void destroyme(167,4443 -do_redirect(177,4645 -check_for_redirect(265,6944 -check_for_unredirect(293,7594 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ipmr.c,2980 -#define CONFIG_IP_PIMSM 66,2041 -static struct sock *mroute_socket;69,2075 -static rwlock_t mrt_lock 76,2242 -static struct vif_device vif_table[82,2334 -static int maxvif;83,2396 -#define VIF_EXISTS(VIF_EXISTS85,2416 -static int mroute_do_assert;87,2470 -static int mroute_do_pim;88,2526 -static struct mfc_cache *mfc_cache_array[90,2553 -static struct mfc_cache *mfc_unres_queue;92,2630 -static atomic_t cache_resolve_queue_len;93,2707 -static spinlock_t mfc_unres_lock 96,2830 -static kmem_cache_t *mrt_cachep;106,3185 -static struct net_protocol pim_protocol;113,3495 -static struct timer_list ipmr_expire_timer;116,3544 -struct net_device *ipmr_new_tunnel(121,3674 -static int reg_vif_num 174,4772 -static int reg_vif_xmit(176,4802 -static struct net_device_stats *reg_vif_get_stats(187,5124 -static void reg_vif_setup(192,5248 -static struct net_device *ipmr_reg_vif(202,5513 -static int vif_delete(243,6149 -static void ipmr_destroy_unres(297,7063 -static void ipmr_expire_process(321,7738 -static void ipmr_update_threshoulds(362,8559 -static int vif_add(381,9083 -static struct mfc_cache *ipmr_cache_find(459,10709 -static struct mfc_cache *ipmr_cache_alloc(474,11019 -static struct mfc_cache *ipmr_cache_alloc_unres(484,11234 -static void ipmr_cache_resolve(499,11586 -static int ipmr_cache_report(533,12519 -ipmr_cache_unresolved(615,14455 -static int ipmr_mfc_delete(687,15876 -static int ipmr_mfc_add(708,16359 -static void mroute_clean_tables(778,18000 -static void mrtsock_destruct(827,18878 -int ip_mroute_setsockopt(849,19391 -int ip_mroute_getsockopt(975,21928 -int ipmr_ioctl(1013,22616 -static int ipmr_device_event(1066,23777 -static struct notifier_block ip_mr_notifier=1081,24072 -static void ip_encap(1091,24338 -static inline int ipmr_forward_finish(1113,24883 -static void ipmr_queue_xmit(1129,25172 -static int ipmr_find_vif(1231,27975 -static int ip_mr_forward(1243,28203 -int ip_mr_input(1329,30440 -int pim_rcv_v1(1413,32230 -static int pim_rcv(1474,33722 -ipmr_fill_mroute(1530,35191 -int ipmr_get_route(1564,36136 -struct ipmr_vif_iter ipmr_vif_iter1608,37170 -static struct vif_device *ipmr_vif_seq_idx(1612,37206 -static void *ipmr_vif_seq_start(1624,37464 -static void *ipmr_vif_seq_next(1631,37637 -static void ipmr_vif_seq_stop(1647,37956 -static int ipmr_vif_seq_show(1652,38047 -static struct seq_operations ipmr_vif_seq_ops 1671,38578 -static int ipmr_vif_open(1678,38749 -static struct file_operations ipmr_vif_fops 1702,39129 -struct ipmr_mfc_iter ipmr_mfc_iter1710,39310 -static struct mfc_cache *ipmr_mfc_seq_idx(1716,39374 -static void *ipmr_mfc_seq_start(1740,39924 -static void *ipmr_mfc_seq_next(1749,40148 -static void ipmr_mfc_seq_stop(1790,40894 -static int ipmr_mfc_seq_show(1800,41140 -static struct seq_operations ipmr_mfc_seq_ops 1834,41973 -static int ipmr_mfc_open(1841,42144 -static struct file_operations ipmr_mfc_fops 1864,42512 -static struct net_protocol pim_protocol 1874,42727 -void __init ip_mr_init(1884,42847 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/route.c,4283 -#define IP_MAX_MTU 107,3655 -#define RT_GC_TIMEOUT 109,3682 -int ip_rt_min_delay 111,3714 -int ip_rt_max_delay 112,3745 -int ip_rt_max_size;113,3777 -int ip_rt_gc_timeout 114,3797 -int ip_rt_gc_interval 115,3836 -int ip_rt_gc_min_interval 116,3870 -int ip_rt_redirect_number 117,3906 -int ip_rt_redirect_load 118,3937 -int ip_rt_redirect_silence 119,3973 -int ip_rt_error_cost 120,4026 -int ip_rt_error_burst 121,4054 -int ip_rt_gc_elasticity 122,4087 -int ip_rt_mtu_expires 123,4117 -int ip_rt_min_pmtu 124,4156 -int ip_rt_min_advmss 125,4193 -int ip_rt_secret_interval 126,4222 -static unsigned long rt_deadline;127,4264 -#define RTprint(RTprint129,4299 -static struct timer_list rt_flush_timer;131,4343 -static struct timer_list rt_periodic_timer;132,4384 -static struct timer_list rt_secret_timer;133,4428 -static struct dst_ops ipv4_dst_ops 148,4944 -#define ECN_OR_COST(ECN_OR_COST161,5320 -__u8 ip_tos2prio[163,5364 -struct rt_hash_bucket rt_hash_bucket197,6154 -static struct rt_hash_bucket *rt_hash_table;202,6255 -static unsigned rt_hash_mask;203,6301 -static int rt_hash_log;204,6333 -static unsigned int rt_hash_rnd;205,6359 -struct rt_cache_stat *rt_cache_stat;207,6394 -static unsigned int rt_hash_code(212,6520 -struct rt_cache_iter_state rt_cache_iter_state219,6689 -static struct rtable *rt_cache_get_first(223,6735 -static struct rtable *rt_cache_get_next(238,7062 -static struct rtable *rt_cache_get_idx(253,7379 -static void *rt_cache_seq_start(263,7594 -static void *rt_cache_seq_next(268,7732 -static void rt_cache_seq_stop(280,7956 -static int rt_cache_seq_show(286,8078 -static struct seq_operations rt_cache_seq_ops 318,9171 -static int rt_cache_seq_open(325,9346 -static struct file_operations rt_cache_seq_fops 346,9750 -static void *rt_cpu_seq_start(355,9936 -static void *rt_cpu_seq_next(371,10218 -static void rt_cpu_seq_stop(385,10465 -static int rt_cpu_seq_show(390,10530 -static struct seq_operations rt_cpu_seq_ops 424,11419 -static int rt_cpu_seq_open(432,11585 -static struct file_operations rt_cpu_seq_fops 437,11698 -static __inline__ void rt_free(447,11902 -static __inline__ void rt_drop(452,12006 -static __inline__ int rt_fast_clean(458,12126 -static __inline__ int rt_valuable(466,12400 -static int rt_may_expire(472,12542 -static inline u32 rt_score(499,13086 -static void rt_check_expire(516,13437 -static void rt_run_flush(562,14539 -static spinlock_t rt_flush_lock 585,14960 -void rt_cache_flush(587,15015 -static void rt_secret_rebuild(627,15832 -static int rt_garbage_collect(648,16458 -static inline int compare_keys(769,19475 -static int rt_intern_hash(776,19703 -void rt_bind_peer(903,22705 -static void ip_select_fb_ident(927,23365 -void __ip_select_ident(940,23687 -static void rt_del(961,24179 -void ip_rt_redirect(977,24522 -static struct dst_entry *ipv4_negative_advice(1107,27655 -void ip_rt_send_redirect(1150,28894 -static int ip_error(1198,30233 -static unsigned short mtu_plateau[1238,31064 -static __inline__ unsigned short guess_mtu(1241,31164 -unsigned short ip_rt_frag_needed(1251,31363 -static void ip_rt_update_pmtu(1310,32943 -static struct dst_entry *ipv4_dst_check(1323,33294 -static void ipv4_dst_destroy(1329,33407 -static void ipv4_dst_ifdown(1346,33694 -static void ipv4_link_failure(1359,34025 -static int ip_rt_bug(1370,34238 -void ip_rt_get_source(1390,34734 -static void set_class_tag(1407,35103 -static void rt_set_nexthop(1416,35327 -static int ip_route_input_mc(1458,36697 -static int ip_route_input_slow(1549,38932 -int ip_route_input(1819,45275 -static int ip_route_output_slow(1890,47311 -int __ip_route_output_key(2183,54690 -int ip_route_output_flow(2217,55594 -int ip_route_output_key(2235,55972 -static int rt_fill_info(2240,56088 -int inet_rtm_getroute(2336,58776 -int ip_rt_dump(2415,60645 -void ip_rt_multicast_event(2451,61446 -static int flush_delay;2457,61545 -static int ipv4_sysctl_rtcache_flush(2459,61570 -static int ipv4_sysctl_rtcache_flush_strategy(2472,61851 -ctl_table ipv4_route_table[2490,62244 -struct ip_rt_acct *ip_rt_acct;2648,66035 -#define IP_RT_ACCT_CPU(IP_RT_ACCT_CPU2653,66192 -static int ip_rt_acct_read(2656,66264 -static __initdata unsigned long rhash_entries;2699,67128 -static int __init set_rhash_entries(2700,67175 -int __init ip_rt_init(2709,67354 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_output.c,801 -int sysctl_ip_dynaddr;92,2834 -int sysctl_ip_default_ttl 93,2857 -__inline__ void ip_send_check(96,2951 -static int ip_dev_loopback_xmit(103,3130 -static inline int ip_select_ttl(118,3484 -int ip_build_and_send_pkt(131,3721 -static inline int ip_finish_output2(172,4798 -int ip_finish_output(216,5895 -int ip_mc_output(227,6126 -int ip_output(288,7673 -int ip_queue_xmit(300,7936 -static void ip_copy_metadata(389,10329 -int ip_fragment(430,11470 -ip_generic_getfrag(673,16926 -csum_page(690,17379 -int ip_append_data(711,17987 -ssize_t ip_append_page(976,24536 -int ip_push_pending_frames(1114,27558 -void ip_flush_pending_frames(1221,30237 -static int ip_reply_glue_bits(1244,30692 -void ip_send_reply(1263,31259 -static struct packet_type ip_packet_type 1330,32941 -void __init ip_init(1339,33128 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp_timer.c,920 -int sysctl_tcp_syn_retries 26,906 -int sysctl_tcp_synack_retries 27,953 -int sysctl_tcp_keepalive_time 28,1006 -int sysctl_tcp_keepalive_probes 29,1058 -int sysctl_tcp_keepalive_intvl 30,1114 -int sysctl_tcp_retries1 31,1168 -int sysctl_tcp_retries2 32,1205 -int sysctl_tcp_orphan_retries;33,1242 -const char timer_bug_msg[39,1418 -void tcp_init_xmit_timers(47,1654 -void tcp_clear_xmit_timers(66,2151 -static void tcp_write_err(80,2416 -static int tcp_out_of_resources(100,3071 -static int tcp_orphan_retries(136,4244 -static int tcp_write_timeout(153,4747 -static void tcp_delack_timer(206,6421 -static void tcp_probe_timer(267,7825 -static void tcp_retransmit_timer(315,9167 -static void tcp_write_timer(416,12265 -static void tcp_synack_timer(461,13064 -void tcp_delete_keepalive_timer 549,15486 -void tcp_reset_keepalive_timer 554,15576 -void tcp_set_keepalive(559,15700 -static void tcp_keepalive_timer 571,15980 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/xfrm4_tunnel.c,484 -static int ipip_output(12,236 -static int ipip_xfrm_rcv(23,393 -static struct xfrm_tunnel *ipip_handler;28,509 -int xfrm4_tunnel_register(31,591 -int xfrm4_tunnel_deregister(48,856 -static int ipip_rcv(67,1146 -static void ipip_err(78,1359 -static int ipip_init_state(87,1528 -static void ipip_destroy(100,1725 -static struct xfrm_type ipip_type 104,1777 -static struct net_protocol ipip_protocol 114,2008 -static int __init ipip_init(120,2122 -static void __exit ipip_fini(134,2482 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/fib_frontend.c,1056 -#define FFprint(FFprint48,1338 -#define RT_TABLE_MIN 52,1417 -struct fib_table *ip_fib_local_table;54,1453 -struct fib_table *ip_fib_main_table;55,1491 -#define RT_TABLE_MIN 59,1536 -struct fib_table *fib_tables[61,1560 -struct fib_table *__fib_new_table(63,1607 -void fib_flush(78,1804 -struct net_device * ip_dev_find(103,2336 -unsigned inet_addr_type(127,2800 -int fib_validate_source(161,3655 -int ip_rt_ioctl(238,5193 -int ip_rt_ioctl(280,6131 -static int inet_check_attr(287,6206 -int inet_rtm_delroute(303,6525 -int inet_rtm_newroute(318,6881 -int inet_dump_fib(333,7239 -static void fib_magic(369,8125 -static void fib_add_ifaddr(411,9149 -static void fib_del_ifaddr(450,10349 -#define LOCAL_OK 458,10625 -#define BRD_OK 459,10644 -#define BRD0_OK 460,10662 -#define BRD1_OK 461,10681 -static void fib_disable_ip(519,12283 -static int fib_inetaddr_event(527,12438 -static int fib_netdev_event(554,13034 -struct notifier_block fib_inetaddr_notifier 588,13678 -struct notifier_block fib_netdev_notifier 592,13767 -void __init ip_fib_init(596,13852 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/fib_hash.c,1802 -static kmem_cache_t *fn_hash_kmem;48,1319 -static kmem_cache_t *fn_alias_kmem;49,1354 -struct fib_node fib_node51,1391 -struct fn_zone fn_zone57,1484 -#define FZ_HASHMASK(FZ_HASHMASK64,1731 -#define FZ_MASK(FZ_MASK68,1828 -struct fn_hash fn_hash75,2007 -static inline u32 fn_hash(80,2090 -static inline u32 fz_key(90,2270 -static rwlock_t fib_hash_lock 95,2356 -#define FZ_MAX_DIVISOR 97,2407 -static struct hlist_head *fz_hash_alloc(99,2484 -static inline void fn_rebuild_zone(112,2816 -static void fz_hash_free(133,3259 -static void fn_rehash_zone(143,3484 -static inline void fn_free_node(190,4467 -static inline void fn_free_alias(195,4560 -fn_new_zone(202,4713 -fn_hash_lookup(244,5692 -static int fn_hash_last_dflt=275,6362 -static int fib_detect_death(277,6396 -fn_hash_select_default(301,6931 -static inline void fib_insert_node(385,8818 -static struct fib_node *fib_find_node(393,9042 -static struct fib_alias *fib_find_alias(410,9416 -fn_hash_insert(428,9776 -fn_hash_delete(580,13261 -static int fn_flush_list(658,14918 -static int fn_hash_flush(694,15668 -fn_hash_dump_bucket(711,15996 -fn_hash_dump_zone(751,16758 -static int fn_hash_dump(775,17295 -static void rtmsg_fib(799,17907 -struct fib_table * fib_hash_init(827,18701 -struct fib_iter_state fib_iter_state865,19665 -static struct fib_alias *fib_get_first(873,19806 -static struct fib_alias *fib_get_next(913,20698 -static void *fib_seq_start(989,22056 -static void *fib_seq_next(999,22254 -static void fib_seq_stop(1005,22409 -static unsigned fib_flag_trans(1010,22500 -static int fib_seq_show(1031,22986 -static struct seq_operations fib_seq_ops 1072,24028 -static int fib_seq_open(1079,24178 -static struct file_operations fib_seq_fops 1102,24572 -int __init fib_proc_init(1110,24772 -void __init fib_proc_exit(1117,24898 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/tcp_minisocks.c,1269 -#define SYNC_INIT 33,1085 -#define SYNC_INIT 35,1140 -int sysctl_tcp_tw_recycle;38,1168 -int sysctl_tcp_max_tw_buckets 39,1195 -int sysctl_tcp_syncookies 41,1239 -int sysctl_tcp_abort_on_overflow;42,1279 -static __inline__ int tcp_in_window(44,1314 -int tcp_tw_count;55,1582 -static void tcp_timewait_kill(59,1650 -tcp_timewait_state_process(123,4132 -static void __tcp_tw_hashdance(295,9033 -void tcp_time_wait(327,10000 -static int tcp_tw_death_row_slot;409,12287 -#define TCP_TWKILL_SLOTS 414,12397 -#define TCP_TWKILL_PERIOD 415,12461 -#define TCP_TWKILL_QUOTA 417,12524 -static struct hlist_head tcp_tw_death_row[419,12554 -static spinlock_t tw_death_lock 420,12615 -static struct timer_list tcp_tw_timer 421,12669 -static u32 twkill_thread_slots;424,12836 -static int tcp_do_twkill_work(427,12912 -static void tcp_twkill(470,14003 -static void twkill_work(501,14690 -void tcp_tw_deschedule(533,15416 -static int tcp_twcal_hand 547,15694 -static int tcp_twcal_jiffie;548,15726 -static struct timer_list tcp_twcal_timer 550,15798 -static struct hlist_head tcp_twcal_row[552,15884 -void tcp_tw_schedule(554,15947 -void tcp_twcal_tick(628,18520 -struct sock *tcp_create_openreq_child(685,19814 -struct sock *tcp_check_req(859,24953 -int tcp_child_process(1051,31046 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/icmp.c,1146 -struct icmp_bxm icmp_bxm100,3250 -struct icmp_err icmp_err_convert[122,3714 -int sysctl_icmp_echo_ignore_all;190,4886 -int sysctl_icmp_echo_ignore_broadcasts;191,4919 -int sysctl_icmp_ignore_bogus_error_responses;194,5020 -int sysctl_icmp_ratelimit 208,5377 -int sysctl_icmp_ratemask 209,5413 -struct icmp_control icmp_control215,5522 -static struct icmp_control icmp_pointers[222,5759 -#define icmp_socket 232,6131 -static __inline__ int icmp_xmit_lock(234,6181 -static void icmp_xmit_unlock(248,6472 -#define XRLIM_BURST_FACTOR 274,7323 -int xrlim_allow(275,7352 -static inline int icmpv4_xrlim_allow(292,7722 -static void icmp_out_count(318,8332 -int icmp_glue_bits(330,8589 -static void icmp_push_reply(344,8941 -static void icmp_reply(375,9815 -void icmp_send(430,11258 -static void icmp_unreach(585,14741 -static void icmp_redirect(720,18100 -static void icmp_echo(768,19255 -static void icmp_timestamp(790,19882 -static void icmp_address(858,22113 -static void icmp_address_reply(871,22386 -static void icmp_discard(909,23287 -int icmp_rcv(916,23381 -static struct icmp_control icmp_pointers[987,24968 -void __init icmp_init(1096,27594 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/raw.c,1420 -struct hlist_head raw_v4_htable[83,2620 -rwlock_t raw_v4_lock 84,2672 -static void raw_v4_hash(86,2714 -static void raw_v4_unhash(97,2974 -struct sock *__raw_v4_lookup(105,3146 -static __inline__ int icmp_filter(129,3675 -void raw_v4_input(150,4166 -void raw_err 179,4851 -static int raw_rcv_skb(233,6070 -int raw_rcv(246,6330 -static int raw_send_hdrinc(259,6558 -static void raw_probe_proto_opt(326,8048 -static int raw_sendmsg(371,8881 -static void raw_close(524,12062 -static int raw_bind(535,12311 -int raw_recvmsg(562,13135 -static int raw_init(613,14214 -static int raw_seticmpfilter(621,14387 -static int raw_geticmpfilter(630,14640 -static int raw_setsockopt(649,15054 -static int raw_getsockopt(664,15424 -static int raw_ioctl(679,15802 -struct proto raw_prot 707,16427 -struct raw_iter_state raw_iter_state726,16876 -#define raw_seq_private(raw_seq_private730,16917 -static struct sock *raw_get_first(732,16989 -static struct sock *raw_get_next(749,17368 -static struct sock *raw_get_idx(766,17716 -static void *raw_seq_start(776,17925 -static void *raw_seq_next(782,18079 -static void raw_seq_stop(794,18283 -static __inline__ char *get_raw_sock(799,18372 -static int raw_seq_show(817,18911 -static struct seq_operations raw_seq_ops 835,19340 -static int raw_seq_open(842,19486 -static struct file_operations raw_seq_fops 864,19867 -int __init raw_proc_init(872,20042 -void __init raw_proc_exit(879,20166 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ip_options.c,259 -void ip_options_build(37,1030 -int ip_options_echo(85,2308 -void ip_options_fragment(208,5047 -int ip_options_compile(246,5794 -void ip_options_undo(465,10500 -int ip_options_get(492,11208 -void ip_forward_options(524,11902 -int ip_options_rcv_srr(569,13007 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/xfrm4_output.c,102 -static void xfrm4_encap(31,984 -static int xfrm4_tunnel_check_size(70,1876 -int xfrm4_output(94,2380 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv4/ah4.c,369 -static int ip_clear_mutable_options(16,403 -static int ah_output(56,1217 -static int ah_input(119,2585 -static void ah4_err(187,4204 -static int ah_init_state(205,4735 -static void ah_destroy(277,6489 -static struct xfrm_type ah_type 296,6749 -static struct net_protocol ah4_protocol 307,6964 -static int __init ah4_init(313,7077 -static void __exit ah4_fini(327,7431 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/ipcommon.c,89 -#define DPRINTK(DPRINTK19,370 -#define DPRINTK(DPRINTK21,441 -void skb_migrate(35,805 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/addr.h,29 -#define NET_ATM_ADDR_H7,136 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/common.h,114 -#define NET_ATM_COMMON_H7,156 -static inline int atm_proc_init(36,1163 -static inline void atm_proc_exit(41,1217 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/addr.c,199 -static int check_addr(15,256 -static int identical(28,582 -static void notify_sigd(39,891 -void atm_reset_addr(48,1051 -int atm_add_addr(64,1339 -int atm_del_addr(92,1996 -int atm_get_addr(117,2539 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/br2684.c,1882 -#define DPRINTK(DPRINTK39,1084 -#define DPRINTK(DPRINTK41,1168 -static void skb_debug(45,1226 -#define NUM2PRINT 47,1277 -#define skb_debug(skb_debug56,1526 -static unsigned char llc_oui_pid_pad[59,1573 -#define PADLEN 61,1682 -enum br2684_encaps br2684_encaps63,1702 - e_vc 64,1723 - e_vc = BR2684_ENCAPS_VC,64,1723 - e_llc 65,1750 - e_llc = BR2684_ENCAPS_LLC,65,1750 -struct br2684_vcc br2684_vcc68,1782 -struct br2684_dev br2684_dev84,2282 -static rwlock_t devs_lock 100,2823 -static inline struct br2684_dev *BRPRIV(104,2902 -static inline struct net_device *list_entry_brdev(109,3026 -static inline struct br2684_vcc *BR2684_VCC(114,3174 -static inline struct br2684_vcc *list_entry_brvcc(119,3304 -static struct net_device *br2684_find_dev(125,3485 -static int br2684_xmit_vcc(153,4194 -static inline struct br2684_vcc *pick_outgoing_vcc(201,5589 -static int br2684_start_xmit(208,5806 -static struct net_device_stats *br2684_get_stats(241,6692 -br2684_header(258,7248 -br2684_header_cache(272,7627 -static inline unsigned short br_type_trans(292,8185 -static int br2684_mac_addr(335,9310 -static int br2684_setfilt(345,9535 -packet_fails_filter(376,10387 -static void br2684_close_vcc(393,10951 -static void br2684_push(406,11366 -static int br2684_regvcc(497,14009 -static void br2684_setup(574,16158 -static int br2684_create(596,16798 -static int br2684_ioctl(641,17878 -static struct atm_ioctl br2684_ioctl_ops 677,18717 -static void *br2684_seq_start(684,18836 -static void *br2684_seq_next(699,19092 -static void br2684_seq_stop(710,19347 -static int br2684_seq_show(715,19437 -#define b1(b1746,20464 -#define bs(bs747,20520 -static struct seq_operations br2684_seq_ops 759,20797 -static int br2684_proc_open(766,20958 -static struct file_operations br2684_proc_ops 771,21072 -static int __init br2684_init(782,21322 -static void __exit br2684_exit(794,21588 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/proc.c,1652 -static struct file_operations proc_atm_dev_ops 37,1004 -static void add_stats(42,1111 -static void atm_dev_info(51,1415 -struct vcc_state vcc_state66,1829 -static inline int compare_family(72,1896 -static int __vcc_walk(79,2050 -static inline void *vcc_walk(109,2641 -static int __vcc_seq_open(115,2799 -static int vcc_seq_release(141,3237 -static void *vcc_seq_start(146,3351 -static void vcc_seq_stop(156,3585 -static void *vcc_seq_next(161,3678 -static void pvc_info(170,3854 -static const char *vcc_state(197,4865 -static void vcc_info(204,5005 -static void svc_info(228,5681 -static int atm_dev_seq_show(248,6273 -static struct seq_operations atm_dev_seq_ops 264,6632 -static int atm_dev_seq_open(271,6796 -static struct file_operations devices_seq_fops 276,6912 -static int pvc_seq_show(283,7063 -static struct seq_operations pvc_seq_ops 299,7394 -static int pvc_seq_open(306,7537 -static struct file_operations pvc_seq_fops 311,7668 -static int vcc_seq_show(318,7815 -static struct seq_operations vcc_seq_ops 333,8206 -static int vcc_seq_open(340,8354 -static struct file_operations vcc_seq_fops 345,8479 -static int svc_seq_show(352,8626 -static struct seq_operations svc_seq_ops 368,8951 -static int svc_seq_open(375,9094 -static struct file_operations svc_seq_fops 380,9225 -static ssize_t proc_dev_atm_read(387,9372 -struct proc_dir_entry *atm_proc_root;413,9958 -int atm_proc_dev_register(417,10028 -void atm_proc_dev_deregister(450,10754 -static struct atm_proc_entry atm_proc_entry459,10922 -} atm_proc_ents[463,11034 -static void atm_proc_dirs_remove(471,11298 -int __init atm_proc_init(482,11522 -void __exit atm_proc_exit(511,12060 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/resources.h,133 -#define NET_ATM_RESOURCES_H7,141 -static inline int atm_proc_dev_register(34,691 -static inline void atm_proc_dev_deregister(39,768 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/lec.h,418 -#define _LEC_H_10,107 -#define LEC_HEADER_LEN 25,625 -struct lecdatahdr_8023 lecdatahdr_802327,652 -struct lecdatahdr_8025 lecdatahdr_802534,804 -#define LEC_MINIMUM_8023_SIZE 42,975 -#define LEC_MINIMUM_8025_SIZE 43,1010 -struct lane2_ops lane2_ops55,1457 -#define LEC_ARP_TABLE_SIZE 79,2492 -struct lec_priv lec_priv81,2523 -struct lec_vcc_priv lec_vcc_priv143,5663 -#define LEC_VCC_PRIV(LEC_VCC_PRIV148,5760 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/ioctl.c,89 -void register_atm_ioctl(30,757 -void deregister_atm_ioctl(37,894 -int vcc_ioctl(47,1088 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/signaling.c,417 -#define DPRINTK(DPRINTK27,664 -#define DPRINTK(DPRINTK29,735 -struct atm_vcc *sigd 33,776 -static void sigd_put_skb(39,880 -static void modify_qos(70,1618 -static int sigd_send(96,2360 -void sigd_enq2(168,4548 -void sigd_enq(194,5376 -static void purge_vcc(203,5660 -static void sigd_close(215,5943 -static struct atmdev_ops sigd_dev_ops 242,6498 -static struct atm_dev sigd_dev 248,6586 -int sigd_attach(256,6712 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/lec.c,2747 -static unsigned char bridge_ula_lec[40,865 -#define DPRINTK 56,1257 -#define DPRINTK(DPRINTK58,1286 -#define DUMP_PACKETS 61,1326 -#define LEC_UNRES_QUE_LEN 66,1478 -static struct lane2_ops lane2_ops 86,2528 -static unsigned char bus_mac[92,2755 -static struct net_device *dev_lec[95,2854 -struct net_device *get_dev_lec(98,2962 -static void lec_handle_bridge(113,3224 -unsigned char *get_tr_dst(156,4926 -lec_open(201,6535 -lec_send(212,6783 -lec_tx_timeout(228,7137 -lec_start_xmit(236,7296 -lec_close(406,13311 -lec_get_stats(417,13523 -lec_atm_send(423,13633 -lec_atm_close(555,19702 -static struct atmdev_ops lecdev_ops 579,20409 -static struct atm_dev lecatm_dev 584,20514 -send_to_lecd(596,20781 -static int lec_change_mtu(637,22143 -static void lec_set_multicast_list(645,22338 -lec_init(654,22559 -static unsigned char lec_ctrl_magic[669,22976 -lec_push(676,23083 -lec_pop(757,26093 -lec_vcc_attach(777,26494 -lec_mcast_attach(806,27459 -lecd_attach(816,27748 -static char* lec_arp_get_status_string(892,30043 -static void lec_info(908,30406 -struct lec_state lec_state931,31068 -static void *lec_tbl_walk(941,31237 -static void *lec_arp_walk(960,31550 -static void *lec_misc_walk(975,31845 -static void *lec_priv_walk(995,32264 -static void *lec_itf_walk(1012,32759 -static void *lec_get_idx(1028,33126 -static void *lec_seq_start(1040,33324 -static void lec_seq_stop(1054,33620 -static void *lec_seq_next(1065,33849 -static int lec_seq_show(1074,34028 -static struct seq_operations lec_seq_ops 1092,34460 -static int lec_seq_open(1099,34603 -static int lec_seq_release(1124,35002 -static struct file_operations lec_seq_fops 1129,35116 -static int lane_ioctl(1138,35294 -static struct atm_ioctl lane_ioctl_ops 1171,35915 -static int __init lane_module_init(1176,36009 -static void __exit lane_module_cleanup(1191,36330 -static int lane2_resolve(1222,37196 -static int lane2_associate_req 1267,38474 -static void lane2_associate_ind 1303,39650 -#define DPRINTK(DPRINTK1361,41219 -#define DEBUG_ARP_TABLE 1366,41287 -#define LEC_ARP_REFRESH_INTERVAL 1368,41314 -#define HASH(HASH1378,41534 -lec_arp_get(1381,41607 -lec_arp_put(1387,41713 -lec_arp_init(1396,41839 -lec_arp_clear_vccs(1412,42333 -lec_arp_add(1440,43122 -lec_arp_remove(1472,44106 -get_status_string(1533,46410 -dump_arp_table(1553,46907 -lec_arp_destroy(1705,54309 -lec_arp_find(1759,55908 -make_entry(1784,56742 -lec_arp_expire_arp(1811,57582 -lec_arp_expire_vcc(1836,58359 -lec_arp_check_expire(1890,60626 -lec_arp_resolve(1963,64393 -lec_addr_delete(2034,67337 -lec_arp_update(2063,68289 -lec_vcc_added(2176,73182 -lec_flush_complete(2328,80744 -lec_set_flush_tran_id(2351,81534 -lec_mcast_make(2366,82098 -lec_vcc_close(2400,83097 -lec_arp_check_empties(2474,85662 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/resources.c,688 -spinlock_t atm_dev_lock 27,682 -static struct atm_dev *__alloc_atm_dev(29,729 -static void __free_atm_dev(45,1042 -static struct atm_dev *__atm_dev_lookup(50,1108 -struct atm_dev *atm_dev_lookup(65,1395 -struct atm_dev *atm_dev_register(75,1568 -void atm_dev_deregister(128,2745 -void shutdown_atm_dev(153,3499 -static void copy_aal_stats(165,3717 -#define __HANDLE_ITEM(__HANDLE_ITEM168,3806 -static void subtract_aal_stats(174,3904 -#define __HANDLE_ITEM(__HANDLE_ITEM177,3997 -static int fetch_stats(183,4093 -int atm_dev_ioctl(202,4639 -static __inline__ void *dev_get_idx(398,8815 -void *atm_dev_seq_start(409,8988 -void atm_dev_seq_stop(415,9127 -void *atm_dev_seq_next(420,9216 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/signaling.h,34 -#define NET_ATM_SIGNALING_H7,135 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/mpc.c,2338 -#define dprintk 39,816 -#define dprintk(dprintk41,859 -#define ddprintk 45,905 -#define ddprintk(ddprintk47,953 -#define MPOA_TAG_LEN 52,996 -static struct llc_snap_hdr llc_snap_mpoa_ctrl 79,2512 -static struct llc_snap_hdr llc_snap_mpoa_data 84,2663 -static struct llc_snap_hdr llc_snap_mpoa_data_tagged 89,2817 -static struct notifier_block mpoa_notifier 95,2983 -struct mpoa_client *mpcs 106,3162 -static struct atm_mpoa_qos *qos_head 107,3207 -static struct timer_list mpc_timer 108,3252 -static struct mpoa_client *find_mpc_by_itfnum(111,3322 -static struct mpoa_client *find_mpc_by_vcc(125,3577 -static struct mpoa_client *find_mpc_by_lec(139,3839 -struct atm_mpoa_qos *atm_mpoa_add_qos(160,4196 -struct atm_mpoa_qos *atm_mpoa_search_qos(185,4668 -int atm_mpoa_delete_qos(203,4919 -void atm_mpoa_disp_qos(229,5347 -static struct net_device *find_lec_by_itfnum(251,6162 -static struct mpoa_client *alloc_mpc(262,6344 -static void start_mpc(294,7112 -static void stop_mpc(309,7495 -static const char *mpoa_device_type_string(327,7930 -static void lane2_assoc_ind(365,8833 -static uint8_t *copy_macs(444,11624 -static int send_via_shortcut(469,12407 -static int mpc_send_packet(537,14695 -int atm_mpoa_vcc_attach(567,15463 -static void mpc_vcc_close(615,16834 -static void mpc_push(650,17868 -static struct atmdev_ops mpc_ops 741,20658 -static struct atm_dev mpc_dev 746,20774 -int atm_mpoa_mpoad_attach 754,20941 -static void send_set_mps_ctrl_addr(812,22415 -static void mpoad_close(825,22680 -static int msg_from_mpoad(866,23496 -int msg_to_mpoad(933,25168 -static int mpoa_event_listener(954,25775 -static void MPOA_trigger_rcvd(1035,27700 -static void check_qos_and_open_shortcut(1072,28760 -static void MPOA_res_reply_rcvd(1109,30129 -static void ingress_purge_rcvd(1157,31640 -static void egress_purge_rcvd(1183,32496 -static void purge_egress_shortcut(1202,32984 -static void mps_death(1238,33963 -static void MPOA_cache_impos_rcvd(1264,34591 -static void set_mpc_ctrl_addr_rcvd(1291,35324 -static void set_mps_mac_addr_rcvd(1325,36531 -static void clean_up(1345,37035 -static void mpc_timer_refresh(1368,37584 -static void mpc_cache_check(1378,37782 -static int atm_mpoa_ioctl(1402,38454 -static struct atm_ioctl atm_ioctl_ops 1429,38979 -static __init int atm_mpoa_init(1434,39074 -void __exit atm_mpoa_cleanup(1450,39406 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/mpc.h,102 -#define _MPC_H_2,16 -struct mpoa_client mpoa_client18,450 -struct atm_mpoa_qos atm_mpoa_qos41,1603 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/clip.c,2176 -#define DPRINTK(DPRINTK46,1258 -#define DPRINTK(DPRINTK48,1318 -static struct net_device *clip_devs;52,1359 -static struct atm_vcc *atmarpd;53,1396 -static struct neigh_table clip_tbl;54,1428 -static struct timer_list idle_timer;55,1464 -static int start_timer 56,1501 -static int to_atmarpd(59,1531 -static void link_vcc(79,2102 -static void unlink_clip_vcc(91,2444 -static int neigh_check_cb(128,3513 -static void idle_timer_check(162,4263 -static int clip_arp_rcv(170,4489 -static const unsigned char llc_oui[186,4831 -static void clip_push(194,5025 -static void clip_pop(241,6374 -static void clip_neigh_destroy(261,6888 -static void clip_neigh_solicit(270,7143 -static void clip_neigh_error(277,7359 -static struct neigh_ops clip_neigh_ops 286,7550 -static int clip_constructor(298,7852 -static u32 clip_hash(330,8678 -static struct neigh_table clip_tbl 335,8821 -static int clip_encap(376,9887 -static int clip_start_xmit(383,9986 -static struct net_device_stats *clip_get_stats(467,12487 -static int clip_mkip(473,12591 -static int clip_setentry(514,13671 -static void clip_setup(559,14772 -static int clip_create(576,15369 -static int clip_device_event(611,16167 -static int clip_inet_event(647,17146 -static struct notifier_block clip_dev_notifier 666,17642 -static struct notifier_block clip_inet_notifier 674,17729 -static void atmarpd_close(682,17815 -static struct atmdev_ops atmarpd_dev_ops 698,18272 -static struct atm_dev atmarpd_dev 703,18346 -static int atm_init_atmarp(711,18484 -static int clip_ioctl(737,19293 -static struct atm_ioctl clip_ioctl_ops 779,20074 -static void svc_addr(786,20190 -#define SEQ_NO_VCC_TOKEN 815,20916 -static void atmarp_info(817,20955 -struct clip_seq_state clip_seq_state867,22148 -static struct clip_vcc *clip_seq_next_vcc(875,22303 -static void *clip_seq_vcc_walk(892,22577 -static void *clip_seq_sub_iter(911,22920 -static void *clip_seq_start(919,23154 -static int clip_seq_show(924,23290 -static struct seq_operations arp_seq_ops 941,23689 -static int arp_seq_open(948,23838 -static struct file_operations arp_seq_fops 976,24331 -static int __init atm_clip_init(985,24512 -static void __exit atm_clip_exit(1005,24821 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/atm_misc.c,246 -int atm_charge(16,328 -struct sk_buff *atm_alloc_charge(27,566 -int atm_pcr_goal(76,1880 -void sonet_copy_stats(85,2099 -#define __HANDLE_ITEM(__HANDLE_ITEM87,2174 -void sonet_subtract_stats(93,2269 -#define __HANDLE_ITEM(__HANDLE_ITEM95,2348 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/protocols.h,34 -#define NET_ATM_PROTOCOLS_H7,149 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/mpoa_proc.c,577 -#define dprintk 24,462 -#define dprintk(dprintk26,505 -#define STAT_FILE_NAME 29,545 -static struct file_operations mpc_file_operations 43,995 -static const char *ingress_state_string(55,1260 -static const char *egress_state_string(77,1701 -static void *mpc_start(97,2074 -static void *mpc_next(110,2298 -static void mpc_stop(117,2453 -static int mpc_show(124,2587 -static struct seq_operations mpc_op 181,4597 -static int proc_mpc_open(188,4721 -static ssize_t proc_mpc_write(193,4824 -static int parse_qos(228,5629 -int mpc_proc_init(276,6977 -void mpc_proc_clean(293,7375 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/pvc.c,390 -static int pvc_shutdown(21,573 -static int pvc_bind(27,643 -static int pvc_connect(56,1434 -static int pvc_setsockopt(62,1587 -static int pvc_getsockopt(75,1857 -static int pvc_getname(88,2142 -static struct proto_ops pvc_proto_ops 105,2638 -static int pvc_create(128,3150 -static struct net_proto_family pvc_family_ops 135,3288 -int __init atmpvc_init(147,3462 -void atmpvc_exit(152,3536 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/svc.c,631 -#define DPRINTK(DPRINTK30,770 -#define DPRINTK(DPRINTK32,841 -static int svc_shutdown(46,1155 -static void svc_disconnect(52,1225 -static int svc_release(81,2117 -static int svc_bind(102,2580 -static int svc_connect(162,4026 -static int svc_listen(300,7235 -static int svc_accept(336,8126 -static int svc_getname(430,10485 -int svc_change_qos(443,10834 -static int svc_setsockopt(461,11368 -static int svc_getsockopt(485,11915 -static struct proto_ops svc_proto_ops 514,12528 -static int svc_create(537,13032 -static struct net_proto_family svc_family_ops 550,13312 -int __init atmsvc_init(561,13485 -void atmsvc_exit(566,13559 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/mpoa_caches.c,1207 -#define dprintk 14,216 -#define dprintk(dprintk16,260 -#define ddprintk 20,306 -#define ddprintk(ddprintk22,354 -static in_cache_entry *in_cache_get(25,395 -static in_cache_entry *in_cache_get_with_mask(45,820 -static in_cache_entry *in_cache_get_by_vcc(67,1303 -static in_cache_entry *in_cache_add_entry(87,1725 -static int cache_hit(125,2962 -static void in_cache_put(172,4484 -static void in_cache_remove_entry(185,4702 -static void clear_count_and_expired(224,5721 -static void check_resolving_entries(251,6414 -static void refresh_entries(296,7836 -static void in_destroy_cache(320,8506 -static eg_cache_entry *eg_cache_get_by_cache_id(330,8730 -static eg_cache_entry *eg_cache_get_by_tag(350,9212 -static eg_cache_entry *eg_cache_get_by_vcc(371,9738 -static eg_cache_entry *eg_cache_get_by_src_ip(391,10206 -static void eg_cache_put(410,10619 -static void eg_cache_remove_entry(423,10837 -static eg_cache_entry *eg_cache_add_entry(456,11646 -static void update_eg_cache_entry(494,12998 -static void clear_expired(503,13212 -static void eg_destroy_cache(530,13928 -static struct in_cache_ops ingress_ops 542,14152 -static struct eg_cache_ops egress_ops 556,14826 -void atm_mpoa_init_cache(570,15453 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/ipcommon.h,33 -#define NET_ATM_IPCOMMON_H7,164 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/common.c,1036 -#define DPRINTK(DPRINTK36,993 -#define DPRINTK(DPRINTK38,1064 -struct hlist_head vcc_hash[41,1104 -rwlock_t vcc_sklist_lock 42,1149 -void __vcc_insert_socket(44,1195 -void vcc_insert_socket(53,1430 -static void vcc_remove_socket(60,1573 -static struct sk_buff *alloc_tx(68,1721 -static void vcc_sock_destruct(90,2344 -static void vcc_def_wakeup(103,2769 -static inline int vcc_writable(111,2968 -static void vcc_write_space(119,3150 -int vcc_create(134,3440 -static void vcc_destroy_socket(175,4462 -int vcc_release(200,4995 -void vcc_release_async(215,5179 -static int adjust_tp(227,5417 -static int check_ci(253,5971 -static int find_ci(281,6771 -static int __vcc_connect(326,7776 -int vcc_connect(396,9716 -int vcc_recvmsg(464,11634 -int vcc_sendmsg(503,12688 -unsigned int vcc_poll(587,14640 -static int atm_change_qos(623,15386 -static int check_tp(645,16043 -static int check_qos(662,16607 -int vcc_setsockopt(677,17073 -int vcc_getsockopt(720,18158 -static int __init atm_init(778,20004 -static void __exit atm_exit(802,20478 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/mpoa_caches.h,577 -#define MPOA_CACHES_H2,22 -typedef struct in_cache_entry in_cache_entry14,248 -} in_cache_entry;in_cache_entry29,750 -struct in_cache_ops{in_cache_ops31,769 -typedef struct eg_cache_entry{eg_cache_entry51,1787 -} eg_cache_entry;eg_cache_entry62,2314 -struct eg_cache_ops{eg_cache_ops64,2333 -#define INGRESS_REFRESHING 80,3199 -#define INGRESS_RESOLVED 81,3228 -#define INGRESS_RESOLVING 82,3257 -#define INGRESS_INVALID 83,3286 -#define OPEN 87,3334 -#define CLOSED 88,3351 -#define EGRESS_RESOLVED 92,3403 -#define EGRESS_PURGE 93,3429 -#define EGRESS_INVALID 94,3455 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/raw.c,237 -#define DPRINTK(DPRINTK18,317 -#define DPRINTK(DPRINTK20,388 -void atm_push_raw(28,492 -static void atm_pop_raw(37,668 -static int atm_send_aal0(47,938 -int atm_init_aal0(64,1385 -int atm_init_aal34(74,1544 -int atm_init_aal5(84,1710 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/lec_arpc.h,325 -#define _LEC_ARP_H7,84 -struct lec_arp_table lec_arp_table13,207 -struct tlv tlv52,2708 -#define ESI_UNKNOWN 60,2950 -#define ESI_ARP_PENDING 64,3143 -#define ESI_VC_PENDING 69,3397 -#define ESI_FLUSH_PENDING 75,3738 -#define ESI_FORWARD_DIRECT 80,4004 -#define LEC_REMOTE_FLAG 89,4464 -#define LEC_PERMANENT_FLAG 90,4500 - -/export0/mef/linux-2.6.9-1.11_FC2/net/atm/pppoatm.c,1038 -#define DPRINTK(DPRINTK50,1792 -#define DPRINTK(DPRINTK53,1880 -enum pppoatm_encaps pppoatm_encaps56,1921 - e_autodetect 57,1943 - e_autodetect = PPPOATM_ENCAPS_AUTODETECT,57,1943 - e_vc 58,1986 - e_vc = PPPOATM_ENCAPS_VC,58,1986 - e_llc 59,2013 - e_llc = PPPOATM_ENCAPS_LLC,59,2013 -struct pppoatm_vcc pppoatm_vcc62,2046 -static const unsigned char pppllc[77,2576 -#define LLC_LEN 78,2655 -static inline struct pppoatm_vcc *atmvcc_to_pvcc(80,2677 -static inline struct pppoatm_vcc *chan_to_pvcc(85,2813 -static void pppoatm_wakeup_sender(95,3104 -static void pppoatm_pop(105,3411 -static void pppoatm_unassign_vcc(124,4076 -static void pppoatm_push(139,4496 -#define DROP_PACKET 200,6320 -static int pppoatm_send(201,6342 -static int pppoatm_devppp_ioctl(255,8081 -static /*const*/ struct ppp_channel_ops pppoatm_ops 269,8430 -static int pppoatm_assign_vcc(274,8551 -static int pppoatm_ioctl(318,9914 -struct atm_ioctl pppoatm_ioctl_ops 347,10727 -static int __init pppoatm_init(352,10818 -static void __exit pppoatm_exit(358,10912 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/sysctl_net_802.c,34 -struct ctl_table tr_table[21,581 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/fddi.c,99 -int fddi_header(55,1614 -int fddi_rebuild_header(99,2816 -unsigned short fddi_type_trans(124,3533 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/p8022.c,124 -static int p8022_request(28,1036 -struct datalink_proto *register_8022_client(35,1219 -void unregister_8022_client(56,1692 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/p8023.c,116 -static int p8023_request(28,906 -struct datalink_proto *make_8023_client(40,1223 -void destroy_8023_client(54,1479 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/psnap.c,442 -static spinlock_t snap_lock 25,687 -static struct llc_sap *snap_sap;26,737 -static struct datalink_proto *find_snap_client(31,825 -static int snap_rcv(49,1178 -static int snap_request(78,1754 -static char snap_err_msg[92,2075 -static char snap_err_msg[] __initdata 92,2075 -static int __init snap_init(95,2169 -static void __exit snap_exit(107,2328 -struct datalink_proto *register_snap_client(118,2483 -void unregister_snap_client(148,3172 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/hippi.c,132 -void hippi_net_init(48,1370 -int hippi_header(60,1597 -int hippi_rebuild_header(110,2953 -unsigned short hippi_type_trans(136,3494 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/fc.c,77 -int fc_header(38,934 -int fc_rebuild_header(84,2010 -fc_type_trans(100,2453 - -/export0/mef/linux-2.6.9-1.11_FC2/net/802/tr.c,887 -#define TR_SR_DEBUG 44,1435 -struct rif_cache_s rif_cache_s50,1511 -#define RIF_TABLE_SIZE 60,1687 -static struct rif_cache_s *rif_table[67,1802 -static spinlock_t rif_lock 69,1857 -static struct timer_list rif_timer;76,1944 -int sysctl_tr_rif_timeout 78,1981 -static inline unsigned long rif_hash(80,2020 -int tr_header(101,2430 -int tr_rebuild_header(156,3670 -unsigned short tr_type_trans(189,4416 -void tr_source_route(247,5815 -static void tr_add_rif_info(337,8288 -static void rif_check_expire(431,10789 -static struct rif_cache_s *rif_get_idx(471,11586 -static void *rif_seq_start(487,11858 -static void *rif_seq_next(494,12009 -static void rif_seq_stop(518,12360 -static int rif_seq_show(523,12450 -static struct seq_operations rif_seq_ops 566,13602 -static int rif_seq_open(573,13748 -static struct file_operations rif_seq_fops 578,13855 -static int __init rif_init(593,14127 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/parser.h,324 -#define get_c(get_c9,171 -#define PARSE_TOKEN(PARSE_TOKEN22,390 -#define PARSE_METHOD(PARSE_METHOD44,833 -#define COPY_LINE(COPY_LINE56,1072 -#define COPY_LINE_TOLOWER(COPY_LINE_TOLOWER65,1289 -#define COPY_FIELD(COPY_FIELD79,1639 -#define SKIP_LINE(SKIP_LINE86,1790 -#define SKIP_WHITESPACE(SKIP_WHITESPACE95,1991 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/gzip.c,62 -#define STREAM_END_SPACE 8,154 -int tux_gzip_compress 10,183 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/userspace.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/directory.c,338 -#define __KERNEL_SYSCALLS__9,181 -char * tux_print_path 29,1105 -static int get_d_type 56,1709 -static void do_dir_line 77,2081 -#define NAME_OFFSET(NAME_OFFSET203,4824 -#define ROUND_UP(ROUND_UP204,4887 -#define ROUND_UP64(ROUND_UP64205,4950 -static int filldir64(207,5014 -#define DIRENT_SIZE 241,5987 -void list_directory 243,6013 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/proc.c,3276 -char tux_common_docroot[28,1069 -char tux_http_subdocroot[29,1117 -char tux_ftp_subdocroot[30,1153 -char tux_logfile[31,1188 -char tux_cgiroot[32,1228 -char tux_404_page[33,1277 -char tux_default_vhost[34,1314 -char tux_extra_html_header[35,1355 -unsigned int tux_extra_html_header_size 36,1388 -int tux_cgi_uid 38,1434 -int tux_cgi_gid 39,1456 -unsigned int tux_clientport 40,1478 -unsigned int tux_logging 41,1514 -unsigned int tux_threads 42,1544 -unsigned int tux_max_connect 43,1574 -unsigned int tux_max_keepalives 44,1612 -unsigned int tux_max_backlog 45,1653 -unsigned int tux_keepalive_timeout 46,1690 -unsigned int tux_max_output_bandwidth 47,1730 -unsigned int tux_defer_accept 48,1773 -unsigned int tux_mode_forbidden 49,1808 -unsigned int tux_mode_allowed 50,1899 -unsigned int tux_virtual_server 51,1980 -unsigned int tux_ftp_virtual_server 52,2017 -unsigned int mass_hosting_hash 53,2058 -unsigned int strip_host_tail 54,2094 -unsigned int tux_max_object_size 55,2128 -cpumask_t tux_log_cpu_mask 56,2166 -unsigned int tux_compression 57,2209 -unsigned int tux_noid 58,2243 -unsigned int tux_cgi_inherit_cpu 59,2270 -cpumask_t tux_cgi_cpu_mask 60,2308 -unsigned int tux_zerocopy_header 61,2351 -unsigned int tux_max_free_requests 62,2389 -unsigned int tux_ignore_query 63,2432 -unsigned int tux_all_userspace 64,2467 -unsigned int tux_redirect_logging 65,2503 -unsigned int tux_max_header_len 66,2542 -unsigned int tux_referer_logging 67,2582 -unsigned int tux_generate_etags 68,2620 -unsigned int tux_generate_last_mod 69,2657 -unsigned int tux_generate_cache_control 70,2697 -unsigned int tux_ip_logging 71,2742 -unsigned int tux_ftp_wait_close 72,2775 -unsigned int tux_ftp_log_retr_only 73,2812 -unsigned int tux_hide_unreadable 74,2852 -unsigned int tux_http_dir_indexing 75,2890 -unsigned int tux_log_incomplete 76,2930 -unsigned int tux_cpu_offset 77,2967 -unsigned int tux_ftp_login_message 78,3000 -static struct ctl_table_header *tux_table_header;80,3041 -static ctl_table tux_table[82,3092 -static ctl_table tux_dir_table[748,12330 -static ctl_table tux_root_table[753,12451 -static struct proc_dir_entry * root_tux_dir;759,12578 -static struct proc_dir_entry * log_cpu_mask_entry;760,12623 -static struct proc_dir_entry * cgi_cpu_mask_entry;761,12674 -static struct proc_dir_entry * stat_entry;762,12725 -static struct proc_dir_entry * tux_dir 763,12768 -static struct proc_dir_entry * listen_dir 764,12832 -tux_socket_t tux_listen 766,12900 -static int cpu_mask_read_proc 769,13050 -static int cpu_mask_write_proc 779,13312 -#define LINE_SIZE 795,13652 -#define LINE_MASK 796,13675 -static int print_request_stats 798,13708 -#define SP(SP818,14175 -#define SP_HOST(SP_HOST849,15074 -static int stat_read_proc 913,16734 -static int stat_write_proc 961,17952 -#define MAX_STRING 967,18079 -#define MAX_STRINGLEN 968,18129 -#define INACTIVE_1 970,18173 -#define INACTIVE_2 971,18207 -static int listen_read_proc 973,18233 -static int listen_write_proc 988,18585 -#define MK_IP(MK_IP1011,19123 -#define MAX_NAMELEN 1032,19694 -static void register_tux_proc 1034,19718 -static void unregister_tux_proc 1064,20431 -static void cleanup_tux_proc 1078,20756 -static void init_tux_proc 1092,21142 -void start_sysctl(1137,22119 -void end_sysctl(1143,22227 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/input.c,677 -void zap_request 29,1120 -void __switch_docroot(69,2016 -struct dentry * __tux_lookup 76,2186 -int tux_permission 93,2510 -struct dentry * tux_lookup 113,2883 -int lookup_object 146,3806 -void install_req_dentry 187,4585 -void release_req_dentry 201,4906 -int __connection_too_fast 217,5168 -void unidle_req 235,5487 -#define GOTO_INCOMPLETE 260,6199 -#define GOTO_REDIRECT 261,6312 -#define GOTO_REDIRECT_NONIDLE 262,6420 -static int read_request 264,6545 -static int zap_urg_data 312,7513 -void trunc_headers 361,8467 -void print_req 385,9053 -void parse_request 412,10472 -int process_requests 526,12867 -int tux_flush_workqueue 578,13868 -int print_all_requests 621,14732 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/proto_http.c,3309 -static inline int TOHEX 47,1835 -static int may_gzip 63,2132 -static void strip_hostname(120,3261 -int parse_http_message 144,3719 -#define GOTO_INCOMPLETE 166,4177 -#define GOTO_REDIR 167,4298 -#define PRINT_MESSAGE_LEFT 169,4411 -#define PARSE_STR_FIELD(PARSE_STR_FIELD394,8574 -#define ALLOW_UNKNOWN_FIELDS 403,8832 -# define UNKNOWN_FIELD 405,8891 -# define UNKNOWN_FIELD 407,8953 -#define is_w(is_w530,12008 -#define TUX_SCHEME 637,14424 -#define TUX_SCHEME_LEN 638,14453 -static int lookup_url 755,17060 -#define INDEX 787,17902 -int handle_gzip_req 964,22058 -static spinlock_t mimetypes_lock 1015,23136 -static mimetype_t default_mimetype 1019,23227 -#define MAX_MIMETYPE_LEN 1021,23338 -#define MAX_CACHE_CONTROL_AGE_LEN 1022,23367 -void add_mimetype 1024,23405 -static inline int ext_matches 1077,24824 -static mimetype_t * lookup_mimetype 1099,25179 -void free_mimetypes 1141,26041 -static const char forbidden[1170,26500 -static const char not_found[1176,26654 -#define NOTMODIFIED_1 1182,26813 -#define NOTMODIFIED_1_LEN 1187,26915 -#define NOTMODIFIED_2 1189,26970 -#define NOTMODIFIED_2_LEN 1192,27011 -#define NOTMODIFIED_3 1194,27066 -#define NOTMODIFIED_3_LEN 1197,27105 -#define REDIRECT_1 1199,27160 -#define REDIRECT_1_LEN 1203,27243 -#define REDIRECT_2 1205,27292 -#define REDIRECT_2_LEN 1211,27456 -void send_async_err_forbidden 1213,27505 -void send_async_err_not_found 1218,27602 -static void send_ret_notmodified 1223,27699 -static void send_ret_redirect 1246,28334 -static void http_got_request 1301,29492 -tux_attribute_t * lookup_tux_attribute 1310,29646 -static void handle_range(1339,30258 -#define DIRLIST_HEAD_1 1388,31547 -#define DIRLIST_HEAD_2 1393,31722 -#define DIRLIST_HEAD_SIZE 1396,31832 -static void http_dirlist_head 1398,31909 -#define DIRLIST_TAIL 1422,32588 -static void http_dirlist_tail 1425,32745 -static void http_dirlist 1430,32886 -static char *host_path_hash(1445,33227 -static struct dentry * vhost_lookup 1495,34204 -static void http_lookup_vhost 1556,35846 -static void http_process_message 1607,36991 -static void http_post_header 1748,39945 -static void http_send_body 1758,40149 -#define DEFAULT_DATE 1820,41496 -char tux_date 1822,41550 -#define HEADER_PART1A 1828,41615 -#define HEADER_PART1B 1832,41685 -#define HEADER_PART1AP 1835,41731 -#define HEADER_PART1BP 1839,41815 -#define HEADER_PART1C 1842,41875 -#define HEADER_PART1D 1846,41957 -#define HEADER_PART2_keepalive 1851,42068 -#define HEADER_PART2_close 1853,42139 -#define HEADER_PART2_none 1855,42201 -#define HEADER_PART3A 1859,42255 -#define HEADER_PART3BX 1860,42306 -#define HEADER_PART3BY 1867,42524 -#define HEADER_PART3C 1868,42597 -#define HEADER_PART3ACC 1869,42634 -#define HEADER_PART3L 1870,42685 -#define HEADER_PART3P 1871,42729 -#define HEADER_PART3CA 1872,42779 -#define HEADER_PART4 1873,42832 -#define MAX_OUT_HEADER_LEN 1875,42865 -static void http_pre_header 1883,43260 -#define COPY_STATIC_PART(COPY_STATIC_PART1897,43568 -void http_illegal_request 2018,46401 -static int http_check_req_err 2030,46630 -#define COPY_STR(COPY_STR2048,47097 -static char * http_print_dir_line 2052,47198 -#define LIST_1 2108,48819 -#define LIST_2 2109,48848 -#define LIST_2_DIR 2110,48869 -#define LIST_3 2111,48895 -#define FILL 2142,49357 -tux_proto_t tux_proto_http 2187,50106 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/times.h,119 -static time_t TimeDays[1,0 -static int WeekDays[13,1597 -#define TUX_YEAROFFSET 25,2082 -#define TUX_NUMYEARS 26,2112 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/proto_ftp.c,2984 -#define __KERNEL_SYSCALLS__9,188 -#define HELLO 29,1112 -#define WRITE_DONE 30,1176 -#define BAD_FILENAME 31,1224 -#define GOOD_DIR 32,1282 -#define LIST_ERR 33,1333 -#define LIST_ERR_MEM 34,1399 -#define WRITE_FILE 35,1482 -#define WRITE_LIST 36,1548 -#define RETR_ERR 37,1613 -#define PORT_OK 38,1679 -#define LOGIN_OK 39,1731 -#define LOGIN_OK_ONE 40,1896 -#define LOGIN_OK_PASS 41,2062 -#define LOGIN_FORBIDDEN 42,2114 -#define TYPE_OK 43,2169 -#define BYE 44,2211 -#define NOT_IMPLEMENTED 45,2259 -#define CLOSE_2 46,2318 -#define CLOSE 47,2388 -#define CLOSE_TIMEOUT 48,2430 -#define LINUX_SYST 49,2491 -#define COMMAND_OK 50,2549 -#define REST_OK 51,2590 -#define WRITE_ABORTED 52,2636 -#define SITE 53,2710 -#define INTERVAL 55,2768 -unsigned long last_measurement;57,2789 -unsigned int ftp_bytes_sent;58,2821 -unsigned int ftp_bandwidth;59,2850 -static void __update_bandwidth 61,2879 -#define update_bandwidth(update_bandwidth78,3402 -static inline void __ftp_send_async_message 84,3552 -#define ftp_send_async_message(ftp_send_async_message91,3757 -static void ftp_flush_req 95,3865 -static void ftp_lookup_vhost 103,4056 -static void ftp_got_request 156,5277 -#define GOTO_ERR 163,5439 -static void zap_data_socket 166,5542 -static int parse_ftp_message 177,5779 -#define toup(toup204,6401 -#define STRING_VAL(STRING_VAL206,6477 -#define STRING_VAL_STR(STRING_VAL_STR209,6580 -#define PARSE_FTP_COMM(PARSE_FTP_COMM216,6762 -#define PARSE_FTP_COMM_3CHAR(PARSE_FTP_COMM_3CHAR256,8045 -#define PARSE_FTP_3CHAR_COMM_IGNORE(PARSE_FTP_3CHAR_COMM_IGNORE265,8278 -#define PARSE_FTP_COMM_IGNORE(PARSE_FTP_COMM_IGNORE272,8467 -#define PARSE_FTP_3CHAR_COMM_1_FIELD(PARSE_FTP_3CHAR_COMM_1_FIELD279,8653 -#define PARSE_FTP_COMM_1_FIELD(PARSE_FTP_COMM_1_FIELD298,9189 - #define MAX_PASS_LEN 327,9924 -#define IS_NUM(IS_NUM432,12425 -#define GET_DIGIT(GET_DIGIT434,12475 -#define PARSE_PORTNUM(PARSE_PORTNUM440,12587 -#define PARSE_NUM(PARSE_NUM456,12979 -static int ftp_check_req_err 581,16049 -void ftp_send_file 619,16968 -#define sk_syn(sk_syn667,18078 -#define req_syn(req_syn669,18177 -static void ftp_wait_syn 672,18250 -static void ftp_wait_close 691,18776 -void ftp_get_size 717,19508 -void ftp_get_mdtm 741,20065 -static void ftp_get_file 779,20903 -static void __exchange_sockets 815,21992 -static void ftp_do_ls_start 826,22164 -static void ftp_do_ls_end 835,22370 -static void ftp_chdir 853,22862 -void ftp_accept_pasv 887,23653 -static char * ftp_print_dir_line 958,25388 - #define ARROW 1058,27471 -static void ftp_do_ls_onefile 1085,27988 -static void ftp_lookup_listfile 1101,28410 -static void ftp_execute_command 1153,29679 -#define ABORTED 1162,29855 -#define PART_1 1191,30385 -#define PART_1_LEN 1192,30409 -#define PART_3 1194,30448 -#define PART_3_LEN 1195,30494 -#define EXTRA_FEATURES 1475,37300 -static void ftp_timeout 1515,37943 -static void ftp_close 1523,38153 -static void ftp_pre_log 1529,38295 -tux_proto_t tux_proto_ftp 1537,38467 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/cgi.c,213 -#define __KERNEL_SYSCALLS__9,192 -#define __KERNEL_SYSCALLS_NO_ERRNO__10,220 -static int exec_usermode(31,1154 -static inline long tux_dup(54,1707 -static int exec_helper 64,1864 -pid_t tux_exec_process 131,3235 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/postpone.c,61 -void postpone_request 28,1087 -int continue_request 43,1493 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/mod.c,416 -spinlock_t tuxmodules_lock 29,1112 -tcapi_template_t * get_first_usermodule 32,1197 -static tcapi_template_t * lookup_module 53,1634 -tcapi_template_t * lookup_tuxmodule 81,2414 -int register_tuxmodule 94,2685 -void unregister_all_tuxmodules 115,3101 -tcapi_template_t * unregister_tuxmodule 130,3439 -static int check_module_version 149,3835 -int user_register_module 167,4403 -int user_unregister_module 225,5809 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/output.c,374 -int send_sync_buf 28,1069 -unsigned int tux_zerocopy_sendfile 74,2184 -typedef struct sock_send_descsock_send_desc76,2225 -} sock_send_desc_t;sock_send_desc_t80,2296 -static int sock_send_actor 82,2317 -int add_output_space_event 199,5643 -#define SEND_BLOCKSIZE 224,6243 -int generic_send_file 226,6278 -static int file_fetch_actor 321,8862 -int tux_fetch_file 333,9096 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/times.c,423 -char *dayName[36,1192 -static char *monthName[40,1266 -char itoa_h[45,1386 -char itoa_l[52,1668 -int time_unix2ls(59,1948 -static int MonthHash[118,2870 -#define is_digit(is_digit121,2968 -static inline int skip_atoi(123,3016 -time_t mimetime_to_unixtime(132,3134 -void last_mod_time(178,4024 -int mdtm_time(245,5140 -static inline int make_num(308,6126 -static inline int make_month(316,6276 -time_t parse_time(326,6422 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/main.c,1663 -#define __KERNEL_SYSCALLS__9,194 -#define __KERNEL_SYSCALLS_NO_ERRNO__10,222 -unsigned int nr_tux_threads;34,1187 -static atomic_t nr_tux_threads_running 35,1216 -static int stop_threads 36,1273 -threadinfo_t threadinfo[38,1303 -void flush_all_signals 42,1404 -int nr_requests_used 50,1576 -static inline int accept_pending 62,1776 -static inline int requests_pending 77,2043 -static int event_loop 84,2162 -static int init_queues 164,4017 -int tux_chroot 184,4395 -static int initialized 210,4934 -#define MAX_DOCROOTLEN 212,4963 -static int lookup_docroot(214,4991 -static int user_req_startup 232,5346 -static int user_req_shutdown 320,7325 -void drop_permissions 381,8625 -static int wait_for_others 397,9069 -static void zap_listen_sockets 419,9464 -static int user_req_start_thread 441,9923 -static int flush_idleinput 571,13122 -static int flush_waitoutput 591,13462 -static void flush_all_requests 611,13818 -int nr_async_io_pending 637,14410 -static int user_req_stop_thread 649,14618 -#define COPY_INT(COPY_INT689,15554 -#define GETLEN(GETLEN696,15734 -#define COPY_STR(COPY_STR700,15846 -#define COPY_COND_STR(COPY_COND_STR707,16039 -static void finish_userspace_req 716,16296 -static void zap_userspace_req 728,16521 -static int prepare_userspace_req 737,16677 -#define return_EFAULT 763,17226 -#define GOTO_ERR_no_unlock 835,19572 -#define GOTO_ERR_unlock 836,19694 -static int register_mimetype(838,19811 -void user_send_buffer 872,20742 -void user_send_object 909,21482 -void user_get_object 945,22184 -asmlinkage long __sys_tux 984,23066 -void tux_exit 1378,31851 -int tux_init(1383,31918 -void tux_cleanup 1397,32116 -module_init(1409,32293 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/accept.c,1718 -unsigned int tux_ack_pingpong 28,1090 -unsigned int tux_push_all 29,1125 -unsigned int tux_zerocopy_parse 30,1156 -struct socket * start_listening(35,1287 -static inline void __kfree_req 101,2940 -int flush_freequeue 109,3095 -static tux_req_t * kmalloc_req 132,3582 -void kfree_req 174,4718 -static void __add_req_to_workqueue 201,5338 -void add_req_to_workqueue 217,5776 -void del_output_timer 227,5997 -#define OUTPUT_TIMEOUT 244,6362 -static void add_output_timer 246,6389 -static void output_timeout_fn 255,6609 -void output_timeout 267,6861 -void __del_keepalive_timer 276,7074 -static void keepalive_timeout_fn 291,7397 -void __add_keepalive_timer 306,7772 -static int __output_space_event 346,8696 -int output_space_event 366,9205 -static int __idle_event 378,9432 -int idle_event 407,10069 -#define HANDLE_CALLBACK_1(HANDLE_CALLBACK_1419,10280 -#define HANDLE_CALLBACK_2(HANDLE_CALLBACK_2439,10827 -#define HANDLE_CALLBACK(HANDLE_CALLBACK446,11042 -static void tux_data_ready 450,11220 -static void tux_write_space 459,11441 -static void tux_error_report 474,11858 -static void tux_state_change 484,12107 -static void tux_destruct 504,12755 -static void tux_ftp_data_ready 509,12811 -static void tux_ftp_write_space 518,13047 -static void tux_ftp_error_report 534,13476 -static void tux_ftp_state_change 547,13869 -static void tux_ftp_create_child 565,14393 -static void tux_ftp_destruct 583,14988 -static void link_tux_socket 588,15048 -void __link_data_socket 628,16080 -void link_tux_data_socket 663,17094 -void unlink_tux_socket 674,17318 -void unlink_tux_data_socket 710,18127 -void add_tux_atom 746,19058 -void del_tux_atom 756,19375 -void tux_schedule_atom 765,19613 -int accept_requests 785,20244 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/abuf.c,119 -char * get_abuf 28,1067 -void send_abuf 78,2119 -static void do_send_abuf 96,2630 -void __send_async_message 171,4328 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/logger.c,1182 -#define __KERNEL_SYSCALLS__12,300 -static spinlock_t log_lock 32,1224 -static unsigned int log_head,33,1273 -static unsigned int log_head, log_tail;33,1273 -static char * log_buffer 34,1313 -static int logger_pid 37,1430 -#define SOFT_LIMIT 66,2642 -#define HARD_LIMIT 67,2679 -#define HARD_RELAX_LIMIT 68,2716 -unsigned int tux_logentry_align_order 70,2759 -# define TUX_LOGENTRY_ALIGN 73,2828 -# define TUX_LOGENTRY_ALIGN 76,2890 -# define TUX_LOGENTRY_ALIGN 79,2952 -# define TUX_LOGENTRY_ALIGN 82,3014 -# define TUX_LOGENTRY_ALIGN 85,3077 -# define TUX_LOGENTRY_ALIGN 88,3140 -#define ROUND_UP(ROUND_UP98,3237 -static void __throttle_logging 101,3327 -#define CHECK_LOGPTR(CHECK_LOGPTR131,3945 -#define CHECK_LOGPTR(CHECK_LOGPTR140,4170 -void __log_request 143,4221 -#define NO_URI 162,4759 -void tux_push_pending 354,9186 -inline void tux_push_req 368,9549 -void __put_data_sock 376,9708 -void flush_request 386,9900 -static int warn_once 649,15479 -static loff_t log_filp_last_index;651,15506 -static unsigned int writeout_log 653,15542 -static int stop_logger 737,17710 -static int logger_thread 739,17739 -void start_log_thread 812,19228 -void stop_log_thread 821,19366 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/redirect.c,146 -static void dummy_destructor(28,1110 -static struct or_calltable dummy 32,1170 -static int redirect_sock 41,1260 -void redirect_request 131,3149 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/cachemiss.c,270 -void queue_cachemiss 31,1269 -static tux_req_t * get_cachemiss 54,1910 -struct file * tux_open_file 78,2407 -static int cachemiss_thread 100,2762 -static void __stop_cachemiss_threads 185,4714 -void stop_cachemiss_threads 213,5379 -int start_cachemiss_threads 226,5587 - -/export0/mef/linux-2.6.9-1.11_FC2/net/tux/extcgi.c,682 -#define __KERNEL_SYSCALLS__9,210 -#define __KERNEL_SYSCALLS_NO_ERRNO__10,238 -#define MAX_ENVLEN 32,1192 -#define MAX_CGI_METAVARIABLES 33,1216 -#define CGI_CHUNK_SIZE 34,1249 -#define MAX_CGI_COMMAND_LEN 35,1278 -#define PRINT_MESSAGE_LEFT 38,1332 -#define PRINT_MESSAGE_LEFT 42,1452 -#define GOTO_INCOMPLETE 45,1502 -#define CGI_SUCCESS2 52,1791 -static int handle_cgi_reply 54,1883 -static int exec_external_cgi 148,3883 -#define WRITE_ENV(WRITE_ENV173,4534 - #define WRITE_ENV_STR(WRITE_ENV_STR182,4740 -void start_external_cgi 298,7856 -int query_extcgi 314,8201 -#define EXTCGI_INVALID_HEADER 321,8301 -#define EXTCGI_INVALID_BODY 325,8406 -#define EXTCGI_INVALID 328,8464 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_sap.c,481 -struct sk_buff *llc_alloc_frame(33,967 -void llc_save_primitive(47,1257 -void llc_sap_rtn_pdu(66,1841 -static struct llc_sap_state_trans *llc_find_sap_trans(91,2508 -static int llc_exec_sap_trans_actions(119,3445 -static int llc_sap_next_state(141,4073 -void llc_sap_state_process(176,4961 -void llc_build_and_send_test_pkt(212,5880 -void llc_build_and_send_xid_pkt(238,6622 -static void llc_sap_rcv(261,7262 -struct sock *llc_lookup_dgram(278,7743 -void llc_sap_handler(300,8219 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_output.c,69 -int llc_mac_hdr_init(33,1044 -int llc_build_and_send_ui_pkt(93,2555 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_s_st.c,1647 -static struct llc_sap_state_trans llc_sap_state_trans_end;27,947 -static llc_sap_action_t llc_sap_inactive_state_actions_1[32,1093 -static struct llc_sap_state_trans llc_sap_inactive_state_trans_1 37,1210 -static struct llc_sap_state_trans *llc_sap_inactive_state_transitions[44,1452 -static llc_sap_action_t llc_sap_active_state_actions_1[50,1676 -static struct llc_sap_state_trans llc_sap_active_state_trans_1 55,1790 -static llc_sap_action_t llc_sap_active_state_actions_2[62,2049 -static struct llc_sap_state_trans llc_sap_active_state_trans_2 67,2158 -static llc_sap_action_t llc_sap_active_state_actions_3[74,2419 -static struct llc_sap_state_trans llc_sap_active_state_trans_3 79,2531 -static llc_sap_action_t llc_sap_active_state_actions_4[86,2788 -static struct llc_sap_state_trans llc_sap_active_state_trans_4 91,2900 -static llc_sap_action_t llc_sap_active_state_actions_5[98,3158 -static struct llc_sap_state_trans llc_sap_active_state_trans_5 103,3267 -static llc_sap_action_t llc_sap_active_state_actions_6[110,3525 -static struct llc_sap_state_trans llc_sap_active_state_trans_6 115,3638 -static llc_sap_action_t llc_sap_active_state_actions_7[122,3897 -static struct llc_sap_state_trans llc_sap_active_state_trans_7 127,4010 -static llc_sap_action_t llc_sap_active_state_actions_8[134,4269 -static struct llc_sap_state_trans llc_sap_active_state_trans_8 139,4379 -static llc_sap_action_t llc_sap_active_state_actions_9[148,4650 -static struct llc_sap_state_trans llc_sap_active_state_trans_9 153,4765 -static struct llc_sap_state_trans *llc_sap_active_state_transitions[160,5006 -struct llc_sap_state llc_sap_state_table[174,5492 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_if.c,173 -u8 llc_mac_null_var[29,874 -int llc_build_and_send_pkt(44,1473 -int llc_establish_connection(84,2595 -int llc_send_disc(129,3811 -int llc_build_and_send_reset_pkt(167,4926 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_pdu.c,691 -void llc_pdu_set_cmd_rsp(21,685 -void llc_pdu_set_pf_bit(35,1145 -void llc_pdu_decode_pf_bit(63,1904 -void llc_pdu_decode_cr_bit(90,2575 -void llc_pdu_init_as_disc_cmd(102,2875 -void llc_pdu_init_as_i_cmd(120,3385 -void llc_pdu_init_as_rej_cmd(139,3983 -void llc_pdu_init_as_rnr_cmd(159,4597 -void llc_pdu_init_as_rr_cmd(179,5208 -void llc_pdu_init_as_sabme_cmd(197,5745 -void llc_pdu_init_as_dm_rsp(213,6163 -void llc_pdu_init_as_frmr_rsp(233,6834 -void llc_pdu_init_as_rr_rsp(268,8007 -void llc_pdu_init_as_rej_rsp(288,8632 -void llc_pdu_init_as_rnr_rsp(308,9262 -void llc_pdu_init_as_ua_rsp(327,9823 -static void llc_pdu_decode_pdu_type(343,10266 -static u8 llc_pdu_get_pf_bit(363,10787 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_s_ac.c,355 -int llc_sap_action_unitdata_ind(37,1242 -int llc_sap_action_send_ui(52,1684 -int llc_sap_action_send_xid_c(75,2355 -int llc_sap_action_send_xid_r(97,2994 -int llc_sap_action_send_test_c(129,3892 -int llc_sap_action_send_test_r(143,4264 -int llc_sap_action_report_status(174,5040 -int llc_sap_action_xid_ind(187,5336 -int llc_sap_action_test_ind(201,5692 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_core.c,454 -rwlock_t llc_sap_list_lock 25,780 -unsigned char llc_station_mac_sa[27,828 -struct llc_sap *llc_sap_alloc(34,968 -void llc_add_sap(53,1381 -void llc_del_sap(66,1671 -struct llc_sap *llc_sap_find(80,2013 -struct llc_sap *llc_sap_open(103,2599 -void llc_sap_close(133,3326 -static struct packet_type llc_packet_type 140,3447 -static struct packet_type llc_tr_packet_type 145,3555 -static int __init llc_init(150,3669 -static void __exit llc_exit(161,3923 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_conn.c,1144 -#define dprintk(dprintk26,756 -#define dprintk(dprintk28,811 -static int llc_offset_table[41,1309 -int llc_conn_state_process(53,1769 -void llc_conn_send_pdu(186,4921 -void llc_conn_rtn_pdu(202,5416 -void llc_conn_resend_i_pdu_as_cmd(219,5921 -void llc_conn_resend_i_pdu_as_rsp(262,7170 -int llc_conn_remove_acked_pdus(302,8353 -static void llc_conn_send_pdus(337,9190 -static int llc_conn_service(366,9933 -static struct llc_conn_state_trans *llc_qualify_conn_ev(396,10677 -static int llc_exec_conn_trans_actions(443,12272 -struct sock *llc_lookup_established(473,13039 -struct sock *llc_lookup_listener(506,13898 -u8 llc_data_accept_state(535,14612 -u16 find_next_offset(549,15006 -void __init llc_build_offset_table(566,15396 -static int llc_find_offset(590,16056 -void llc_sap_add_socket(619,16804 -void llc_sap_remove_socket(635,17203 -static int llc_conn_rcv(649,17570 -void llc_conn_handler(661,17856 -static atomic_t llc_sock_nr;716,19127 -int llc_release_sockets(726,19373 -static int llc_backlog_rcv(755,20085 -int llc_sk_init(788,20865 -struct sock *llc_sk_alloc(842,22564 -void llc_sk_free(871,23129 -void llc_sk_reset(908,24273 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_c_ac.c,4234 -#define INCORRECT 36,1305 -int llc_conn_ac_clear_remote_busy(38,1326 -int llc_conn_ac_conn_ind(54,1682 -int llc_conn_ac_conn_confirm(75,2129 -static int llc_conn_ac_data_confirm(83,2294 -int llc_conn_ac_data_ind(91,2466 -int llc_conn_ac_disc_ind(97,2573 -int llc_conn_ac_disc_confirm(127,3335 -int llc_conn_ac_rst_ind(136,3528 -int llc_conn_ac_rst_confirm(179,4509 -int llc_conn_ac_report_status(188,4693 -int llc_conn_ac_clear_remote_busy_if_f_eq_1(193,4777 -int llc_conn_ac_stop_rej_tmr_if_data_flag_eq_2(205,5080 -int llc_conn_ac_send_disc_cmd_p_set_x(215,5296 -int llc_conn_ac_send_dm_rsp_f_set_p(241,5900 -int llc_conn_ac_send_dm_rsp_f_set_1(268,6517 -int llc_conn_ac_send_dm_rsp_f_set_f_flag(294,7100 -int llc_conn_ac_send_frmr_rsp_f_set_x(320,7698 -int llc_conn_ac_resend_frmr_rsp_f_set_0(354,8490 -int llc_conn_ac_resend_frmr_rsp_f_set_p(382,9185 -int llc_conn_ac_send_i_cmd_p_set_1(412,9901 -int llc_conn_ac_send_i_cmd_p_set_0(429,10362 -int llc_conn_ac_resend_i_cmd_p_set_1(446,10823 -int llc_conn_ac_resend_i_cmd_p_set_1_or_send_rr(455,11032 -int llc_conn_ac_send_i_xxx_x_set_0(467,11322 -int llc_conn_ac_resend_i_xxx_x_set_0(484,11782 -int llc_conn_ac_resend_i_xxx_x_set_0_or_send_rr(493,11991 -int llc_conn_ac_resend_i_rsp_f_set_1(523,12703 -int llc_conn_ac_send_rej_cmd_p_set_1(532,12912 -int llc_conn_ac_send_rej_rsp_f_set_1(557,13486 -int llc_conn_ac_send_rej_xxx_x_set_0(583,14080 -int llc_conn_ac_send_rnr_cmd_p_set_1(609,14674 -int llc_conn_ac_send_rnr_rsp_f_set_1(634,15248 -int llc_conn_ac_send_rnr_xxx_x_set_0(660,15842 -int llc_conn_ac_set_remote_busy(686,16436 -int llc_conn_ac_opt_send_rnr_xxx_x_set_0(698,16713 -int llc_conn_ac_send_rr_cmd_p_set_1(723,17291 -int llc_conn_ac_send_ack_cmd_p_set_1(748,17863 -int llc_conn_ac_send_rr_rsp_f_set_1(773,18436 -int llc_conn_ac_send_ack_rsp_f_set_1(799,19028 -int llc_conn_ac_send_rr_xxx_x_set_0(825,19621 -int llc_conn_ac_send_ack_xxx_x_set_0(850,20193 -void llc_conn_set_p_flag(875,20766 -int llc_conn_ac_send_sabme_cmd_p_set_x(885,20952 -int llc_conn_ac_send_ua_rsp_f_set_f_flag(914,21637 -int llc_conn_ac_send_ua_rsp_f_set_p(939,22215 -int llc_conn_ac_set_s_flag_0(966,22830 -int llc_conn_ac_set_s_flag_1(972,22938 -int llc_conn_ac_start_p_timer(978,23046 -int llc_conn_ac_send_ack_if_needed(998,23653 -int llc_conn_ac_rst_sendack_flag(1028,24500 -int llc_conn_ac_send_i_rsp_f_set_ackpf(1044,25030 -int llc_conn_ac_send_i_as_ack(1071,25924 -int llc_conn_ac_send_rr_rsp_f_set_ackpf(1094,26640 -int llc_conn_ac_inc_npta_value(1129,27610 -int llc_conn_ac_adjust_npta_by_rr(1152,28154 -int llc_conn_ac_adjust_npta_by_rnr(1178,28803 -int llc_conn_ac_dec_tx_win_size(1203,29421 -int llc_conn_ac_inc_tx_win_size(1222,29921 -int llc_conn_ac_stop_all_timers(1232,30093 -int llc_conn_ac_stop_other_timers(1245,30418 -int llc_conn_ac_start_ack_timer(1257,30710 -int llc_conn_ac_start_rej_timer(1265,30905 -int llc_conn_ac_start_ack_tmr_if_not_running(1274,31114 -int llc_conn_ac_stop_ack_timer(1285,31382 -int llc_conn_ac_stop_p_timer(1291,31509 -int llc_conn_ac_stop_rej_timer(1300,31697 -int llc_conn_ac_upd_nr_received(1306,31829 -int llc_conn_ac_upd_p_flag(1342,32856 -int llc_conn_ac_set_data_flag_2(1358,33155 -int llc_conn_ac_set_data_flag_0(1364,33269 -int llc_conn_ac_set_data_flag_1(1370,33383 -int llc_conn_ac_set_data_flag_1_if_data_flag_eq_0(1376,33497 -int llc_conn_ac_set_p_flag_0(1384,33667 -int llc_conn_ac_set_p_flag_1(1390,33779 -int llc_conn_ac_set_remote_busy_0(1396,33891 -int llc_conn_ac_set_cause_flag_0(1402,34014 -int llc_conn_ac_set_cause_flag_1(1408,34130 -int llc_conn_ac_set_retry_cnt_0(1414,34246 -int llc_conn_ac_inc_retry_cnt_by_1(1420,34362 -int llc_conn_ac_set_vr_0(1426,34479 -int llc_conn_ac_inc_vr_by_1(1432,34579 -int llc_conn_ac_set_vs_0(1438,34712 -int llc_conn_ac_set_vs_nr(1444,34812 -int llc_conn_ac_inc_vs_by_1(1450,34931 -int llc_conn_ac_set_f_flag_p(1456,35059 -void llc_conn_pf_cycle_tmr_cb(1462,35192 -void llc_conn_busy_tmr_cb(1478,35545 -void llc_conn_ack_tmr_cb(1494,35897 -void llc_conn_rej_tmr_cb(1510,36247 -int llc_conn_ac_rst_vs(1526,36597 -int llc_conn_ac_upd_vs(1533,36740 -int llc_conn_disc(1552,37211 -int llc_conn_reset(1565,37491 -u8 llc_circular_between(1581,37900 -static void llc_process_tmr_ev(1599,38392 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_station.c,4840 -struct llc_station llc_station40,1180 -#define LLC_STATION_EV_TYPE_SIMPLE 54,1487 -#define LLC_STATION_EV_TYPE_CONDITION 55,1524 -#define LLC_STATION_EV_TYPE_PRIM 56,1564 -#define LLC_STATION_EV_TYPE_PDU 57,1599 -#define LLC_STATION_EV_TYPE_ACK_TMR 58,1667 -#define LLC_STATION_EV_TYPE_RPT_STATUS 59,1705 -#define LLC_STATION_EV_ENABLE_WITH_DUP_ADDR_CHECK 62,1760 -#define LLC_STATION_EV_ENABLE_WITHOUT_DUP_ADDR_CHECK 63,1813 -#define LLC_STATION_EV_ACK_TMR_EXP_LT_RETRY_CNT_MAX_RETRY 64,1869 -#define LLC_STATION_EV_ACK_TMR_EXP_EQ_RETRY_CNT_MAX_RETRY 65,1929 -#define LLC_STATION_EV_RX_NULL_DSAP_XID_C 66,1989 -#define LLC_STATION_EV_RX_NULL_DSAP_0_XID_R_XID_R_CNT_EQ 67,2035 -#define LLC_STATION_EV_RX_NULL_DSAP_1_XID_R_XID_R_CNT_EQ 68,2094 -#define LLC_STATION_EV_RX_NULL_DSAP_TEST_C 69,2153 -#define LLC_STATION_EV_DISABLE_REQ 70,2200 -struct llc_station_state_ev llc_station_state_ev72,2241 - llc_station_ev(81,2435 -typedef int (*llc_station_ev_t)llc_station_ev_t86,2529 -#define LLC_STATION_STATE_DOWN 88,2584 -#define LLC_STATION_STATE_DUP_ADDR_CHK 89,2638 -#define LLC_STATION_STATE_UP 90,2679 -#define LLC_NBR_STATION_STATES 92,2712 -typedef int (*llc_station_action_t)llc_station_action_t94,2773 -struct llc_station_state_trans llc_station_state_trans97,2878 -struct llc_station_state llc_station_state103,2988 -static struct llc_station llc_main_station;108,3082 -static int llc_stat_ev_enable_with_dup_addr_check(110,3127 -static int llc_stat_ev_enable_without_dup_addr_check(119,3404 -static int llc_stat_ev_ack_tmr_exp_lt_retry_cnt_max_retry(128,3674 -static int llc_stat_ev_ack_tmr_exp_eq_retry_cnt_max_retry(137,3943 -static int llc_stat_ev_rx_null_dsap_xid_c(146,4213 -static int llc_stat_ev_rx_null_dsap_0_xid_r_xid_r_cnt_eq(158,4639 -static int llc_stat_ev_rx_null_dsap_1_xid_r_xid_r_cnt_eq(171,5122 -static int llc_stat_ev_rx_null_dsap_test_c(184,5609 -static int llc_stat_ev_disable_req(196,6030 -static void llc_station_send_pdu(211,6414 -static int llc_station_ac_start_ack_timer(219,6627 -static int llc_station_ac_set_retry_cnt_0(225,6776 -static int llc_station_ac_inc_retry_cnt_by_1(231,6890 -static int llc_station_ac_set_xid_r_cnt_0(237,7005 -static int llc_station_ac_inc_xid_r_cnt_by_1(243,7119 -static int llc_station_ac_send_null_dsap_xid_c(249,7234 -static int llc_station_ac_send_xid_r(269,7682 -static int llc_station_ac_send_test_r(294,8238 -static int llc_station_ac_report_status(319,8781 -static struct llc_station_state_trans llc_stat_state_trans_end;330,9046 -static llc_station_action_t llc_stat_down_state_actions_1[335,9216 -static struct llc_station_state_trans llc_stat_down_state_trans_1 343,9458 -static llc_station_action_t llc_stat_down_state_actions_2[350,9754 -static struct llc_station_state_trans llc_stat_down_state_trans_2 355,9889 -static struct llc_station_state_trans *llc_stat_dwn_state_trans[362,10148 -static llc_station_action_t llc_stat_up_state_actions_1[370,10417 -static struct llc_station_state_trans llc_stat_up_state_trans_1 375,10552 -static llc_station_action_t llc_stat_up_state_actions_2[382,10810 -static struct llc_station_state_trans llc_stat_up_state_trans_2 387,10923 -static llc_station_action_t llc_stat_up_state_actions_3[394,11187 -static struct llc_station_state_trans llc_stat_up_state_trans_3 399,11301 -static struct llc_station_state_trans *llc_stat_up_state_trans 406,11546 -static llc_station_action_t llc_stat_dupaddr_state_actions_1[417,11882 -static struct llc_station_state_trans llc_stat_dupaddr_state_trans_1 422,12008 -static llc_station_action_t llc_stat_dupaddr_state_actions_2[431,12325 -static struct llc_station_state_trans llc_stat_dupaddr_state_trans_2 436,12476 -static llc_station_action_t llc_stat_dupaddr_state_actions_3[443,12766 -static struct llc_station_state_trans llc_stat_dupaddr_state_trans_3 448,12884 -static llc_station_action_t llc_stat_dupaddr_state_actions_4[457,13187 -static struct llc_station_state_trans llc_stat_dupaddr_state_trans_4 465,13435 -static llc_station_action_t llc_stat_dupaddr_state_actions_5[474,13754 -static struct llc_station_state_trans llc_stat_dupaddr_state_trans_5 479,13892 -static llc_station_action_t llc_stat_dupaddr_state_actions_6[486,14174 -static struct llc_station_state_trans llc_stat_dupaddr_state_trans_6 491,14314 -static struct llc_station_state_trans *llc_stat_dupaddr_state_trans[498,14563 - llc_station_state_table[509,14993 -static u16 llc_exec_station_trans_actions(532,15742 - llc_find_station_trans(553,16386 -static void llc_station_free_ev(575,16890 -static u16 llc_station_next_state(590,17288 -static void llc_station_service_events(630,18644 -void llc_station_state_process(645,19062 -static void llc_station_ack_tmr_cb(653,19291 -static void llc_station_rcv(671,19706 -int __init llc_station_init(680,19906 -void __exit llc_station_exit(710,20812 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_output.h,26 -#define LLC_OUTPUT_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_proc.c,727 -static void llc_ui_format_mac(28,820 -static struct sock *llc_get_sk_idx(34,1001 -static void *llc_seq_start(57,1451 -static void *llc_seq_next(65,1623 -static void llc_seq_stop(101,2309 -static int llc_seq_socket_show(113,2576 -static char *llc_conn_state_names[145,3417 -static int llc_seq_core_show(160,3954 -struct seq_operations llc_seq_socket_ops 188,4830 -struct seq_operations llc_seq_core_ops 195,4987 -static int llc_seq_socket_open(202,5140 -static int llc_seq_core_open(207,5261 -static struct file_operations llc_seq_socket_fops 212,5378 -static struct file_operations llc_seq_core_fops 220,5559 -static struct proc_dir_entry *llc_proc_dir;228,5736 -int __init llc_proc_init(230,5781 -void llc_proc_exit(262,6362 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_c_st.c,39545 -#define NONE 24,829 -static llc_conn_action_t llc_common_actions_1[36,1138 -static struct llc_conn_state_trans llc_common_state_trans_1 45,1396 -static llc_conn_action_t llc_common_actions_2[53,1661 -static struct llc_conn_state_trans llc_common_state_trans_2 62,1920 -static llc_conn_action_t llc_common_actions_3[70,2197 -static struct llc_conn_state_trans llc_common_state_trans_3 82,2522 -static llc_conn_action_t llc_common_actions_4[90,2815 -static struct llc_conn_state_trans llc_common_state_trans_4 98,3011 -static llc_conn_action_t llc_common_actions_5[106,3300 -static struct llc_conn_state_trans llc_common_state_trans_5 117,3610 -static llc_conn_action_t llc_common_actions_6[125,3899 -static struct llc_conn_state_trans llc_common_state_trans_6 132,4055 -static llc_conn_action_t llc_common_actions_7a[140,4350 -static struct llc_conn_state_trans llc_common_state_trans_7a 148,4572 -static llc_conn_action_t llc_common_actions_7b[156,4879 -static struct llc_conn_state_trans llc_common_state_trans_7b 164,5101 -static llc_conn_action_t llc_common_actions_8a[172,5408 -static struct llc_conn_state_trans llc_common_state_trans_8a 180,5630 -static llc_conn_action_t llc_common_actions_8b[188,5937 -static struct llc_conn_state_trans llc_common_state_trans_8b 196,6159 -static llc_conn_action_t llc_common_actions_8c[204,6446 -static struct llc_conn_state_trans llc_common_state_trans_8c 212,6668 -static llc_conn_action_t llc_common_actions_9[220,6947 -static struct llc_conn_state_trans llc_common_state_trans_9 228,7168 -static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_10[237,7462 -static llc_conn_action_t llc_common_actions_10[242,7571 -static struct llc_conn_state_trans llc_common_state_trans_10 250,7793 -static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11a[259,8097 -static llc_conn_action_t llc_common_actions_11a[264,8212 -static struct llc_conn_state_trans llc_common_state_trans_11a 273,8473 -static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11b[281,8763 -static llc_conn_action_t llc_common_actions_11b[286,8878 -static struct llc_conn_state_trans llc_common_state_trans_11b 295,9139 -static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11c[303,9431 -static llc_conn_action_t llc_common_actions_11c[308,9546 -static struct llc_conn_state_trans llc_common_state_trans_11c 317,9807 -static llc_conn_ev_qfyr_t llc_common_ev_qfyrs_11d[325,10100 -static llc_conn_action_t llc_common_actions_11d[330,10215 -static struct llc_conn_state_trans llc_common_state_trans_11d 339,10476 -static struct llc_conn_state_trans llc_common_state_trans_end;350,10845 -static llc_conn_action_t llc_adm_actions_1[354,11001 -static struct llc_conn_state_trans llc_adm_state_trans_1 362,11215 -static llc_conn_action_t llc_adm_actions_2[370,11487 -static struct llc_conn_state_trans llc_adm_state_trans_2 381,11787 -static llc_conn_action_t llc_adm_actions_3[389,12074 -static struct llc_conn_state_trans llc_adm_state_trans_3 395,12202 -static llc_conn_action_t llc_adm_actions_4[403,12484 -static struct llc_conn_state_trans llc_adm_state_trans_4 409,12612 -static llc_conn_action_t llc_adm_actions_5[417,12882 -static struct llc_conn_state_trans llc_adm_state_trans_5 422,12970 -static struct llc_conn_state_trans *llc_adm_state_transitions[433,13230 -static llc_conn_action_t llc_setup_actions_1[448,13831 -static struct llc_conn_state_trans llc_setup_state_trans_1 456,14030 -static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_2[464,14318 -static llc_conn_action_t llc_setup_actions_2[470,14466 -static struct llc_conn_state_trans llc_setup_state_trans_2 480,14729 -static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_3[488,15022 -static llc_conn_action_t llc_setup_actions_3[494,15170 -static struct llc_conn_state_trans llc_setup_state_trans_3 501,15342 -static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_4[509,15637 -static llc_conn_action_t llc_setup_actions_4[514,15748 -static struct llc_conn_state_trans llc_setup_state_trans_4 522,15946 -static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_5[530,16247 -static llc_conn_action_t llc_setup_actions_5[535,16358 -static struct llc_conn_state_trans llc_setup_state_trans_5 542,16516 -static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_7[550,16806 -static llc_conn_action_t llc_setup_actions_7[556,16954 -static struct llc_conn_state_trans llc_setup_state_trans_7 563,17140 -static llc_conn_ev_qfyr_t llc_setup_ev_qfyrs_8[571,17423 -static llc_conn_action_t llc_setup_actions_8[578,17615 -static struct llc_conn_state_trans llc_setup_state_trans_8 584,17738 -static struct llc_conn_state_trans *llc_setup_state_transitions[595,18016 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_1[612,18691 -static llc_conn_action_t llc_normal_actions_1[619,18882 -static struct llc_conn_state_trans llc_normal_state_trans_1 625,19034 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2[633,19315 -static llc_conn_action_t llc_normal_actions_2[640,19506 -static struct llc_conn_state_trans llc_normal_state_trans_2 646,19648 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_2_1[654,19929 -static llc_conn_action_t llc_normal_actions_2_1[661,20136 -static struct llc_conn_state_trans llc_normal_state_trans_2_1 663,20189 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_3[671,20487 -static llc_conn_action_t llc_normal_actions_3[676,20595 -static struct llc_conn_state_trans llc_normal_state_trans_3 683,20778 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_4[691,21079 -static llc_conn_action_t llc_normal_actions_4[696,21187 -static struct llc_conn_state_trans llc_normal_state_trans_4 703,21370 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5a[711,21681 -static llc_conn_action_t llc_normal_actions_5a[716,21790 -static struct llc_conn_state_trans llc_normal_state_trans_5a 726,22089 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5b[734,22412 -static llc_conn_action_t llc_normal_actions_5b[739,22521 -static struct llc_conn_state_trans llc_normal_state_trans_5b 749,22820 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_5c[757,23143 -static llc_conn_action_t llc_normal_actions_5c[762,23252 -static struct llc_conn_state_trans llc_normal_state_trans_5c 772,23551 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6a[780,23874 -static llc_conn_action_t llc_normal_actions_6a[785,23983 -static struct llc_conn_state_trans llc_normal_state_trans_6a 793,24203 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_6b[801,24526 -static llc_conn_action_t llc_normal_actions_6b[806,24635 -static struct llc_conn_state_trans llc_normal_state_trans_6b 814,24855 -static llc_conn_action_t llc_normal_actions_7[822,25178 -static struct llc_conn_state_trans llc_normal_state_trans_7 830,25397 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8a[838,25690 -static llc_conn_action_t llc_normal_actions_8[843,25799 -static struct llc_conn_state_trans llc_normal_state_trans_8a 853,26083 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_8b[861,26388 -static struct llc_conn_state_trans llc_normal_state_trans_8b 866,26497 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9a[874,26802 -static llc_conn_action_t llc_normal_actions_9a[879,26911 -static struct llc_conn_state_trans llc_normal_state_trans_9a 887,27117 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_9b[895,27423 -static llc_conn_action_t llc_normal_actions_9b[900,27532 -static struct llc_conn_state_trans llc_normal_state_trans_9b 908,27738 -static llc_conn_action_t llc_normal_actions_10[916,28044 -static struct llc_conn_state_trans llc_normal_state_trans_10 925,28289 -static llc_conn_action_t llc_normal_actions_11a[933,28580 -static struct llc_conn_state_trans llc_normal_state_trans_11a 940,28756 -static llc_conn_action_t llc_normal_actions_11b[948,29048 -static struct llc_conn_state_trans llc_normal_state_trans_11b 955,29224 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_11c[963,29516 -static llc_conn_action_t llc_normal_actions_11c[968,29626 -static struct llc_conn_state_trans llc_normal_state_trans_11c 976,29838 -static llc_conn_action_t llc_normal_actions_12[984,30149 -static struct llc_conn_state_trans llc_normal_state_trans_12 993,30409 -static llc_conn_action_t llc_normal_actions_13a[1001,30700 -static struct llc_conn_state_trans llc_normal_state_trans_13a 1008,30874 -static llc_conn_action_t llc_normal_actions_13b[1016,31168 -static struct llc_conn_state_trans llc_normal_state_trans_13b 1023,31342 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_13c[1031,31636 -static llc_conn_action_t llc_normal_actions_13c[1036,31746 -static struct llc_conn_state_trans llc_normal_state_trans_13c 1043,31920 -static llc_conn_action_t llc_normal_actions_14[1051,32233 -static struct llc_conn_state_trans llc_normal_state_trans_14 1060,32491 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15a[1068,32783 -static llc_conn_action_t llc_normal_actions_15a[1073,32893 -static struct llc_conn_state_trans llc_normal_state_trans_15a 1083,33176 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_15b[1091,33489 -static llc_conn_action_t llc_normal_actions_15b[1096,33599 -static struct llc_conn_state_trans llc_normal_state_trans_15b 1106,33882 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16a[1114,34195 -static llc_conn_action_t llc_normal_actions_16a[1119,34305 -static struct llc_conn_state_trans llc_normal_state_trans_16a 1128,34557 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_16b[1136,34870 -static llc_conn_action_t llc_normal_actions_16b[1141,34980 -static struct llc_conn_state_trans llc_normal_state_trans_16b 1150,35232 -static llc_conn_action_t llc_normal_actions_17[1158,35545 -static struct llc_conn_state_trans llc_normal_state_trans_17 1167,35796 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_18[1175,36081 -static llc_conn_action_t llc_normal_actions_18[1180,36190 -static struct llc_conn_state_trans llc_normal_state_trans_18 1186,36334 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_19[1194,36625 -static llc_conn_action_t llc_normal_actions_19[1199,36738 -static struct llc_conn_state_trans llc_normal_state_trans_19 1208,36985 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20a[1216,37272 -static llc_conn_action_t llc_normal_actions_20a[1222,37423 -static struct llc_conn_state_trans llc_normal_state_trans_20a 1231,37671 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_20b[1239,37964 -static llc_conn_action_t llc_normal_actions_20b[1245,38115 -static struct llc_conn_state_trans llc_normal_state_trans_20b 1254,38363 -static llc_conn_ev_qfyr_t llc_normal_ev_qfyrs_21[1262,38657 -static llc_conn_action_t llc_normal_actions_21[1267,38766 -static struct llc_conn_state_trans llc_normal_state_trans_21 1273,38910 -static struct llc_conn_state_trans *llc_normal_state_transitions[1284,39200 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_1[1345,41486 -static llc_conn_action_t llc_busy_actions_1[1351,41634 -static struct llc_conn_state_trans llc_busy_state_trans_1 1357,41789 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2[1365,42062 -static llc_conn_action_t llc_busy_actions_2[1371,42210 -static struct llc_conn_state_trans llc_busy_state_trans_2 1377,42365 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_2_1[1385,42638 -static llc_conn_action_t llc_busy_actions_2_1[1392,42843 -static struct llc_conn_state_trans llc_busy_state_trans_2_1 1394,42894 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_3[1402,43183 -static llc_conn_action_t llc_busy_actions_3[1408,43329 -static struct llc_conn_state_trans llc_busy_state_trans_3 1414,43473 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_4[1422,43765 -static llc_conn_action_t llc_busy_actions_4[1428,43911 -static struct llc_conn_state_trans llc_busy_state_trans_4 1434,44055 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_5[1442,44347 -static llc_conn_action_t llc_busy_actions_5[1448,44493 -static struct llc_conn_state_trans llc_busy_state_trans_5 1453,44600 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_6[1461,44895 -static llc_conn_action_t llc_busy_actions_6[1467,45041 -static struct llc_conn_state_trans llc_busy_state_trans_6 1472,45148 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_7[1480,45443 -static llc_conn_action_t llc_busy_actions_7[1486,45589 -static struct llc_conn_state_trans llc_busy_state_trans_7 1491,45696 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_8[1499,45988 -static llc_conn_action_t llc_busy_actions_8[1505,46134 -static struct llc_conn_state_trans llc_busy_state_trans_8 1510,46241 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9a[1518,46544 -static llc_conn_action_t llc_busy_actions_9a[1523,46651 -static struct llc_conn_state_trans llc_busy_state_trans_9a 1532,46933 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_9b[1540,47251 -static llc_conn_action_t llc_busy_actions_9b[1545,47358 -static struct llc_conn_state_trans llc_busy_state_trans_9b 1554,47640 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10a[1562,47958 -static llc_conn_action_t llc_busy_actions_10a[1567,48066 -static struct llc_conn_state_trans llc_busy_state_trans_10a 1574,48270 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_10b[1582,48591 -static llc_conn_action_t llc_busy_actions_10b[1587,48699 -static struct llc_conn_state_trans llc_busy_state_trans_10b 1594,48903 -static llc_conn_action_t llc_busy_actions_11[1602,49224 -static struct llc_conn_state_trans llc_busy_state_trans_11 1609,49423 -static llc_conn_action_t llc_busy_actions_12[1617,49715 -static struct llc_conn_state_trans llc_busy_state_trans_12 1627,50008 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13a[1635,50290 -static llc_conn_action_t llc_busy_actions_13a[1640,50398 -static struct llc_conn_state_trans llc_busy_state_trans_13a 1652,50775 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_13b[1660,51076 -static llc_conn_action_t llc_busy_actions_13b[1665,51184 -static struct llc_conn_state_trans llc_busy_state_trans_13b 1677,51561 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14a[1685,51862 -static llc_conn_action_t llc_busy_actions_14a[1690,51970 -static struct llc_conn_state_trans llc_busy_state_trans_14a 1700,52268 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_14b[1708,52569 -static llc_conn_action_t llc_busy_actions_14b[1713,52677 -static struct llc_conn_state_trans llc_busy_state_trans_14b 1723,52975 -static llc_conn_action_t llc_busy_actions_15a[1731,53277 -static struct llc_conn_state_trans llc_busy_state_trans_15a 1738,53451 -static llc_conn_action_t llc_busy_actions_15b[1746,53737 -static struct llc_conn_state_trans llc_busy_state_trans_15b 1753,53911 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_15c[1761,54197 -static llc_conn_action_t llc_busy_actions_15c[1766,54305 -static struct llc_conn_state_trans llc_busy_state_trans_15c 1773,54479 -static llc_conn_action_t llc_busy_actions_16[1781,54782 -static struct llc_conn_state_trans llc_busy_state_trans_16 1788,54965 -static llc_conn_action_t llc_busy_actions_17a[1796,55250 -static struct llc_conn_state_trans llc_busy_state_trans_17a 1803,55422 -static llc_conn_action_t llc_busy_actions_17b[1811,55710 -static struct llc_conn_state_trans llc_busy_state_trans_17b 1818,55882 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_17c[1826,56170 -static llc_conn_action_t llc_busy_actions_17c[1831,56278 -static struct llc_conn_state_trans llc_busy_state_trans_17c 1838,56450 -static llc_conn_action_t llc_busy_actions_18[1846,56755 -static struct llc_conn_state_trans llc_busy_state_trans_18 1853,56936 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19a[1861,57222 -static llc_conn_action_t llc_busy_actions_19a[1866,57330 -static struct llc_conn_state_trans llc_busy_state_trans_19a 1875,57575 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_19b[1883,57880 -static llc_conn_action_t llc_busy_actions_19b[1888,57988 -static struct llc_conn_state_trans llc_busy_state_trans_19b 1897,58233 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20a[1905,58538 -static llc_conn_action_t llc_busy_actions_20a[1910,58646 -static struct llc_conn_state_trans llc_busy_state_trans_20a 1918,58860 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_20b[1926,59165 -static llc_conn_action_t llc_busy_actions_20b[1931,59273 -static struct llc_conn_state_trans llc_busy_state_trans_20b 1939,59487 -static llc_conn_action_t llc_busy_actions_21[1947,59792 -static struct llc_conn_state_trans llc_busy_state_trans_21 1956,60046 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_22[1964,60325 -static llc_conn_action_t llc_busy_actions_22[1969,60432 -static struct llc_conn_state_trans llc_busy_state_trans_22 1975,60575 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_23[1983,60858 -static llc_conn_action_t llc_busy_actions_23[1988,60969 -static struct llc_conn_state_trans llc_busy_state_trans_23 1996,61178 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24a[2004,61464 -static llc_conn_action_t llc_busy_actions_24a[2010,61613 -static struct llc_conn_state_trans llc_busy_state_trans_24a 2018,61823 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_24b[2026,62115 -static llc_conn_action_t llc_busy_actions_24b[2032,62264 -static struct llc_conn_state_trans llc_busy_state_trans_24b 2040,62474 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_25[2048,62766 -static llc_conn_action_t llc_busy_actions_25[2054,62914 -static struct llc_conn_state_trans llc_busy_state_trans_25 2063,63159 -static llc_conn_ev_qfyr_t llc_busy_ev_qfyrs_26[2071,63447 -static llc_conn_action_t llc_busy_actions_26[2077,63595 -static struct llc_conn_state_trans llc_busy_state_trans_26 2082,63699 -static struct llc_conn_state_trans *llc_busy_state_transitions[2093,63978 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_1[2158,66334 -static llc_conn_action_t llc_reject_actions_1[2164,66484 -static struct llc_conn_state_trans llc_reject_state_trans_1 2169,66592 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2[2177,66870 -static llc_conn_action_t llc_reject_actions_2[2183,67020 -static struct llc_conn_state_trans llc_reject_state_trans_2 2188,67128 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_2_1[2196,67406 -static llc_conn_action_t llc_reject_actions_2_1[2203,67613 -static struct llc_conn_state_trans llc_reject_state_trans_2_1 2205,67666 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_3[2214,67962 -static llc_conn_action_t llc_reject_actions_3[2219,68070 -static struct llc_conn_state_trans llc_reject_state_trans_3 2225,68216 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_4[2233,68517 -static llc_conn_action_t llc_reject_actions_4[2238,68625 -static struct llc_conn_state_trans llc_reject_state_trans_4 2244,68771 -static llc_conn_action_t llc_reject_actions_5a[2252,69082 -static struct llc_conn_state_trans llc_reject_state_trans_5a 2259,69267 -static llc_conn_action_t llc_reject_actions_5b[2267,69572 -static struct llc_conn_state_trans llc_reject_state_trans_5b 2274,69757 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_5c[2282,70062 -static llc_conn_action_t llc_reject_actions_5c[2287,70171 -static struct llc_conn_state_trans llc_reject_state_trans_5c 2294,70356 -static llc_conn_action_t llc_reject_actions_6[2302,70679 -static struct llc_conn_state_trans llc_reject_state_trans_6 2308,70824 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7a[2316,71117 -static llc_conn_action_t llc_reject_actions_7a[2321,71226 -static struct llc_conn_state_trans llc_reject_state_trans_7a 2333,71549 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_7b[2341,71855 -static llc_conn_action_t llc_reject_actions_7b[2346,71964 -static struct llc_conn_state_trans llc_reject_state_trans_7b 2357,72286 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8a[2365,72592 -static llc_conn_action_t llc_reject_actions_8a[2370,72701 -static struct llc_conn_state_trans llc_reject_state_trans_8a 2379,72944 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_8b[2387,73250 -static llc_conn_action_t llc_reject_actions_8b[2392,73359 -static struct llc_conn_state_trans llc_reject_state_trans_8b 2401,73602 -static llc_conn_action_t llc_reject_actions_9[2409,73908 -static struct llc_conn_state_trans llc_reject_state_trans_9 2418,74150 -static llc_conn_action_t llc_reject_actions_10a[2426,74437 -static struct llc_conn_state_trans llc_reject_state_trans_10a 2433,74613 -static llc_conn_action_t llc_reject_actions_10b[2441,74902 -static struct llc_conn_state_trans llc_reject_state_trans_10b 2448,75078 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_10c[2456,75367 -static llc_conn_action_t llc_reject_actions_10c[2461,75477 -static struct llc_conn_state_trans llc_reject_state_trans_10c 2468,75653 -static llc_conn_action_t llc_reject_actions_11[2476,75961 -static struct llc_conn_state_trans llc_reject_state_trans_11 2483,76146 -static llc_conn_action_t llc_reject_actions_12a[2491,76434 -static struct llc_conn_state_trans llc_reject_state_trans_12a 2498,76608 -static llc_conn_action_t llc_reject_actions_12b[2506,76899 -static struct llc_conn_state_trans llc_reject_state_trans_12b 2513,77073 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_12c[2521,77364 -static llc_conn_action_t llc_reject_actions_12c[2526,77474 -static struct llc_conn_state_trans llc_reject_state_trans_12c 2533,77648 -static llc_conn_action_t llc_reject_actions_13[2541,77958 -static struct llc_conn_state_trans llc_reject_state_trans_13 2548,78140 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14a[2556,78429 -static llc_conn_action_t llc_reject_actions_14a[2561,78539 -static struct llc_conn_state_trans llc_reject_state_trans_14a 2570,78786 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_14b[2578,79096 -static llc_conn_action_t llc_reject_actions_14b[2583,79206 -static struct llc_conn_state_trans llc_reject_state_trans_14b 2592,79453 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15a[2600,79763 -static llc_conn_action_t llc_reject_actions_15a[2605,79873 -static struct llc_conn_state_trans llc_reject_state_trans_15a 2613,80089 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_15b[2621,80399 -static llc_conn_action_t llc_reject_actions_15b[2626,80509 -static struct llc_conn_state_trans llc_reject_state_trans_15b 2634,80725 -static llc_conn_action_t llc_reject_actions_16[2642,81035 -static struct llc_conn_state_trans llc_reject_state_trans_16 2650,81250 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_17[2658,81532 -static llc_conn_action_t llc_reject_actions_17[2663,81641 -static struct llc_conn_state_trans llc_reject_state_trans_17 2669,81785 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_18[2677,82075 -static llc_conn_action_t llc_reject_actions_18[2683,82225 -static struct llc_conn_state_trans llc_reject_state_trans_18 2691,82445 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_19[2699,82730 -static llc_conn_action_t llc_reject_actions_19[2704,82843 -static struct llc_conn_state_trans llc_reject_state_trans_19 2713,83089 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20a[2721,83380 -static llc_conn_action_t llc_reject_actions_20a[2727,83531 -static struct llc_conn_state_trans llc_reject_state_trans_20a 2736,83778 -static llc_conn_ev_qfyr_t llc_reject_ev_qfyrs_20b[2744,84075 -static llc_conn_action_t llc_reject_actions_20b[2750,84226 -static struct llc_conn_state_trans llc_reject_state_trans_20b 2759,84473 -static struct llc_conn_state_trans *llc_reject_state_transitions[2770,84767 -static llc_conn_ev_qfyr_t llc_await_ev_qfyrs_1_0[2829,86982 -static llc_conn_action_t llc_await_actions_1_0[2835,87141 -static struct llc_conn_state_trans llc_await_state_trans_1_0 2837,87193 -static llc_conn_action_t llc_await_actions_1[2845,87487 -static struct llc_conn_state_trans llc_await_state_trans_1 2851,87632 -static llc_conn_action_t llc_await_actions_2[2859,87930 -static struct llc_conn_state_trans llc_await_state_trans_2 2870,88250 -static llc_conn_action_t llc_await_actions_3a[2878,88551 -static struct llc_conn_state_trans llc_await_state_trans_3a 2886,88760 -static llc_conn_action_t llc_await_actions_3b[2894,89069 -static struct llc_conn_state_trans llc_await_state_trans_3b 2902,89278 -static llc_conn_action_t llc_await_actions_4[2910,89587 -static struct llc_conn_state_trans llc_await_state_trans_4 2919,89829 -static llc_conn_action_t llc_await_actions_5[2927,90126 -static struct llc_conn_state_trans llc_await_state_trans_5 2938,90441 -static llc_conn_action_t llc_await_actions_6a[2946,90725 -static struct llc_conn_state_trans llc_await_state_trans_6a 2955,90958 -static llc_conn_action_t llc_await_actions_6b[2963,91243 -static struct llc_conn_state_trans llc_await_state_trans_6b 2972,91476 -static llc_conn_action_t llc_await_actions_7[2980,91761 -static struct llc_conn_state_trans llc_await_state_trans_7 2989,91993 -static llc_conn_action_t llc_await_actions_8a[2997,92277 -static struct llc_conn_state_trans llc_await_state_trans_8a 3006,92521 -static llc_conn_action_t llc_await_actions_8b[3014,92810 -static struct llc_conn_state_trans llc_await_state_trans_8b 3023,93054 -static llc_conn_action_t llc_await_actions_9a[3031,93343 -static struct llc_conn_state_trans llc_await_state_trans_9a 3038,93513 -static llc_conn_action_t llc_await_actions_9b[3046,93800 -static struct llc_conn_state_trans llc_await_state_trans_9b 3053,93970 -static llc_conn_action_t llc_await_actions_9c[3061,94258 -static struct llc_conn_state_trans llc_await_state_trans_9c 3068,94428 -static llc_conn_action_t llc_await_actions_9d[3076,94717 -static struct llc_conn_state_trans llc_await_state_trans_9d 3083,94887 -static llc_conn_action_t llc_await_actions_10a[3091,95175 -static struct llc_conn_state_trans llc_await_state_trans_10a 3099,95386 -static llc_conn_action_t llc_await_actions_10b[3107,95676 -static struct llc_conn_state_trans llc_await_state_trans_10b 3115,95887 -static llc_conn_action_t llc_await_actions_11[3123,96178 -static struct llc_conn_state_trans llc_await_state_trans_11 3131,96379 -static llc_conn_action_t llc_await_actions_12a[3139,96669 -static struct llc_conn_state_trans llc_await_state_trans_12a 3146,96838 -static llc_conn_action_t llc_await_actions_12b[3154,97129 -static struct llc_conn_state_trans llc_await_state_trans_12b 3161,97298 -static llc_conn_action_t llc_await_actions_13[3169,97589 -static struct llc_conn_state_trans llc_await_state_trans_13 3177,97797 -static llc_conn_ev_qfyr_t llc_await_ev_qfyrs_14[3185,98074 -static llc_conn_action_t llc_await_actions_14[3190,98186 -static struct llc_conn_state_trans llc_await_state_trans_14 3197,98368 -static struct llc_conn_state_trans *llc_await_state_transitions[3208,98649 -static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1_0[3258,100519 -static llc_conn_action_t llc_await_busy_actions_1_0[3264,100683 -static struct llc_conn_state_trans llc_await_busy_state_trans_1_0 3266,100740 -static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_1[3274,101053 -static llc_conn_action_t llc_await_busy_actions_1[3279,101168 -static struct llc_conn_state_trans llc_await_busy_state_trans_1 3285,101318 -static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_2[3293,101634 -static llc_conn_action_t llc_await_busy_actions_2[3298,101749 -static struct llc_conn_state_trans llc_await_busy_state_trans_2 3303,101862 -static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_3[3311,102174 -static llc_conn_action_t llc_await_busy_actions_3[3316,102289 -static struct llc_conn_state_trans llc_await_busy_state_trans_3 3321,102402 -static llc_conn_action_t llc_await_busy_actions_4[3329,102729 -static struct llc_conn_state_trans llc_await_busy_state_trans_4 3340,103058 -static llc_conn_action_t llc_await_busy_actions_5a[3348,103370 -static struct llc_conn_state_trans llc_await_busy_state_trans_5a 3356,103588 -static llc_conn_action_t llc_await_busy_actions_5b[3364,103908 -static struct llc_conn_state_trans llc_await_busy_state_trans_5b 3372,104126 -static llc_conn_action_t llc_await_busy_actions_6[3380,104446 -static struct llc_conn_state_trans llc_await_busy_state_trans_6 3388,104659 -static llc_conn_action_t llc_await_busy_actions_7[3396,104967 -static struct llc_conn_state_trans llc_await_busy_state_trans_7 3409,105357 -static llc_conn_action_t llc_await_busy_actions_8a[3417,105649 -static struct llc_conn_state_trans llc_await_busy_state_trans_8a 3427,105928 -static llc_conn_action_t llc_await_busy_actions_8b[3435,106228 -static struct llc_conn_state_trans llc_await_busy_state_trans_8b 3445,106507 -static llc_conn_action_t llc_await_busy_actions_9[3453,106807 -static struct llc_conn_state_trans llc_await_busy_state_trans_9 3463,107081 -static llc_conn_action_t llc_await_busy_actions_10a[3471,107380 -static struct llc_conn_state_trans llc_await_busy_state_trans_10a 3480,107630 -static llc_conn_action_t llc_await_busy_actions_10b[3488,107929 -static struct llc_conn_state_trans llc_await_busy_state_trans_10b 3497,108179 -static llc_conn_action_t llc_await_busy_actions_11a[3505,108478 -static struct llc_conn_state_trans llc_await_busy_state_trans_11a 3512,108654 -static llc_conn_action_t llc_await_busy_actions_11b[3520,108958 -static struct llc_conn_state_trans llc_await_busy_state_trans_11b 3527,109134 -static llc_conn_action_t llc_await_busy_actions_11c[3535,109439 -static struct llc_conn_state_trans llc_await_busy_state_trans_11c 3542,109615 -static llc_conn_action_t llc_await_busy_actions_11d[3550,109921 -static struct llc_conn_state_trans llc_await_busy_state_trans_11d 3557,110097 -static llc_conn_action_t llc_await_busy_actions_12a[3565,110402 -static struct llc_conn_state_trans llc_await_busy_state_trans_12a 3573,110619 -static llc_conn_action_t llc_await_busy_actions_12b[3581,110924 -static struct llc_conn_state_trans llc_await_busy_state_trans_12b 3589,111141 -static llc_conn_action_t llc_await_busy_actions_13[3597,111447 -static struct llc_conn_state_trans llc_await_busy_state_trans_13 3605,111653 -static llc_conn_action_t llc_await_busy_actions_14a[3613,111951 -static struct llc_conn_state_trans llc_await_busy_state_trans_14a 3620,112125 -static llc_conn_action_t llc_await_busy_actions_14b[3628,112431 -static struct llc_conn_state_trans llc_await_busy_state_trans_14b 3635,112605 -static llc_conn_action_t llc_await_busy_actions_15[3643,112911 -static struct llc_conn_state_trans llc_await_busy_state_trans_15 3651,113125 -static llc_conn_ev_qfyr_t llc_await_busy_ev_qfyrs_16[3659,113417 -static llc_conn_action_t llc_await_busy_actions_16[3664,113534 -static struct llc_conn_state_trans llc_await_busy_state_trans_16 3671,113722 -static struct llc_conn_state_trans *llc_await_busy_state_transitions[3682,114023 -static llc_conn_ev_qfyr_t llc_await_reject_ev_qfyrs_1_0[3734,116135 -static llc_conn_action_t llc_await_reject_actions_1_0[3740,116301 -static struct llc_conn_state_trans llc_await_reject_state_trans_1_0 3742,116360 -static llc_conn_action_t llc_await_rejct_actions_1[3750,116679 -static struct llc_conn_state_trans llc_await_rejct_state_trans_1 3756,116829 -static llc_conn_action_t llc_await_rejct_actions_2a[3764,117139 -static struct llc_conn_state_trans llc_await_rejct_state_trans_2a 3770,117276 -static llc_conn_action_t llc_await_rejct_actions_2b[3778,117597 -static struct llc_conn_state_trans llc_await_rejct_state_trans_2b 3784,117734 -static llc_conn_action_t llc_await_rejct_actions_3[3792,118055 -static struct llc_conn_state_trans llc_await_rejct_state_trans_3 3799,118231 -static llc_conn_action_t llc_await_rejct_actions_4[3807,118540 -static struct llc_conn_state_trans llc_await_rejct_state_trans_4 3819,118896 -static llc_conn_action_t llc_await_rejct_actions_5a[3827,119192 -static struct llc_conn_state_trans llc_await_rejct_state_trans_5a 3837,119466 -static llc_conn_action_t llc_await_rejct_actions_5b[3845,119763 -static struct llc_conn_state_trans llc_await_rejct_state_trans_5b 3855,120037 -static llc_conn_action_t llc_await_rejct_actions_6[3863,120334 -static struct llc_conn_state_trans llc_await_rejct_state_trans_6 3873,120607 -static llc_conn_action_t llc_await_rejct_actions_7a[3881,120903 -static struct llc_conn_state_trans llc_await_rejct_state_trans_7a 3890,121153 -static llc_conn_action_t llc_await_rejct_actions_7b[3898,121451 -static struct llc_conn_state_trans llc_await_rejct_state_trans_7b 3907,121701 -static llc_conn_action_t llc_await_rejct_actions_7c[3915,122008 -static struct llc_conn_state_trans llc_await_rejct_state_trans_7c 3924,122258 -static llc_conn_action_t llc_await_rejct_actions_8a[3932,122564 -static struct llc_conn_state_trans llc_await_rejct_state_trans_8a 3939,122740 -static llc_conn_action_t llc_await_rejct_actions_8b[3947,123043 -static struct llc_conn_state_trans llc_await_rejct_state_trans_8b 3954,123219 -static llc_conn_action_t llc_await_rejct_actions_8c[3962,123523 -static struct llc_conn_state_trans llc_await_rejct_state_trans_8c 3969,123699 -static llc_conn_action_t llc_await_rejct_actions_8d[3977,124004 -static struct llc_conn_state_trans llc_await_rejct_state_trans_8d 3984,124180 -static llc_conn_action_t llc_await_rejct_actions_9a[3992,124484 -static struct llc_conn_state_trans llc_await_rejct_state_trans_9a 4000,124700 -static llc_conn_action_t llc_await_rejct_actions_9b[4008,125004 -static struct llc_conn_state_trans llc_await_rejct_state_trans_9b 4016,125220 -static llc_conn_action_t llc_await_rejct_actions_10[4024,125525 -static struct llc_conn_state_trans llc_await_rejct_state_trans_10 4032,125732 -static llc_conn_action_t llc_await_rejct_actions_11a[4040,126031 -static struct llc_conn_state_trans llc_await_rejct_state_trans_11a 4047,126206 -static llc_conn_action_t llc_await_rejct_actions_11b[4055,126513 -static struct llc_conn_state_trans llc_await_rejct_state_trans_11b 4062,126688 -static llc_conn_action_t llc_await_rejct_actions_12[4070,126995 -static struct llc_conn_state_trans llc_await_rejct_state_trans_12 4078,127209 -static llc_conn_ev_qfyr_t llc_await_rejct_ev_qfyrs_13[4086,127502 -static llc_conn_action_t llc_await_rejct_actions_13[4091,127620 -static struct llc_conn_state_trans llc_await_rejct_state_trans_13 4098,127808 -static struct llc_conn_state_trans *llc_await_rejct_state_transitions[4109,128111 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1[4160,130156 -static llc_conn_action_t llc_d_conn_actions_1[4166,130313 -static struct llc_conn_state_trans llc_d_conn_state_trans_1 4174,130512 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_1_1[4184,130840 -static llc_conn_action_t llc_d_conn_actions_1_1[4190,130999 -static struct llc_conn_state_trans llc_d_conn_state_trans_1_1 4197,131167 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2[4207,131498 -static llc_conn_action_t llc_d_conn_actions_2[4214,131688 -static struct llc_conn_state_trans llc_d_conn_state_trans_2 4221,131847 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_2_1[4231,132169 -static llc_conn_action_t llc_d_conn_actions_2_1[4238,132361 -static struct llc_conn_state_trans llc_d_conn_state_trans_2_1 4244,132489 -static llc_conn_action_t llc_d_conn_actions_3[4252,132799 -static struct llc_conn_state_trans llc_d_conn_state_trans_3 4257,132908 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4[4267,133218 -static llc_conn_action_t llc_d_conn_actions_4[4273,133371 -static struct llc_conn_state_trans llc_d_conn_state_trans_4 4280,133530 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_4_1[4290,133852 -static llc_conn_action_t llc_d_conn_actions_4_1[4296,134007 -static struct llc_conn_state_trans llc_d_conn_state_trans_4_1 4302,134135 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_5[4313,134442 -static llc_conn_action_t llc_d_conn_actions_5[4319,134600 -static struct llc_conn_state_trans llc_d_conn_state_trans_5 4321,134651 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_6[4329,134935 -static llc_conn_action_t llc_d_conn_actions_6[4334,135047 -static struct llc_conn_state_trans llc_d_conn_state_trans_6 4341,135233 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_7[4349,135536 -static llc_conn_action_t llc_d_conn_actions_7[4356,135733 -static struct llc_conn_state_trans llc_d_conn_state_trans_7 4362,135857 -static llc_conn_ev_qfyr_t llc_d_conn_ev_qfyrs_8[4370,136157 -static llc_conn_action_t llc_d_conn_actions_8[4377,136354 -static struct llc_conn_state_trans llc_d_conn_state_trans_8 4382,136445 -static struct llc_conn_state_trans *llc_d_conn_state_transitions[4393,136726 -static llc_conn_action_t llc_rst_actions_1[4414,137573 -static struct llc_conn_state_trans llc_rst_state_trans_1 4422,137770 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2[4432,138074 -static llc_conn_action_t llc_rst_actions_2[4439,138261 -static struct llc_conn_state_trans llc_rst_state_trans_2 4450,138544 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_2_1[4460,138860 -static llc_conn_action_t llc_rst_actions_2_1[4467,139053 -static struct llc_conn_state_trans llc_rst_state_trans_2_1 4478,139338 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_3[4486,139631 -static llc_conn_action_t llc_rst_actions_3[4492,139781 -static struct llc_conn_state_trans llc_rst_state_trans_3 4498,139918 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4[4508,140227 -static llc_conn_action_t llc_rst_actions_4[4513,140376 -static struct llc_conn_state_trans llc_rst_state_trans_4 4521,140568 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_4_1[4531,140885 -static llc_conn_action_t llc_rst_actions_4_1[4537,141039 -static struct llc_conn_state_trans llc_rst_state_trans_4_1 4544,141204 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5[4554,141525 -static llc_conn_action_t llc_rst_actions_5[4560,141675 -static struct llc_conn_state_trans llc_rst_state_trans_5 4567,141827 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_5_1[4577,142140 -static llc_conn_action_t llc_rst_actions_5_1[4583,142294 -static struct llc_conn_state_trans llc_rst_state_trans_5_1 4589,142419 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_6[4597,142699 -static llc_conn_action_t llc_rst_actions_6[4603,142854 -static struct llc_conn_state_trans llc_rst_state_trans_6 4605,142902 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_7[4613,143176 -static llc_conn_action_t llc_rst_actions_7[4619,143322 -static struct llc_conn_state_trans llc_rst_state_trans_7 4626,143506 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8[4634,143783 -static llc_conn_action_t llc_rst_actions_8[4641,144013 -static struct llc_conn_state_trans llc_rst_state_trans_8 4647,144130 -static llc_conn_ev_qfyr_t llc_rst_ev_qfyrs_8_1[4655,144405 -static llc_conn_action_t llc_rst_actions_8_1[4662,144637 -static struct llc_conn_state_trans llc_rst_state_trans_8_1 4668,144756 -static struct llc_conn_state_trans *llc_rst_state_transitions[4679,145034 -static llc_conn_action_t llc_error_actions_1[4701,145882 -static struct llc_conn_state_trans llc_error_state_trans_1 4713,146205 -static llc_conn_action_t llc_error_actions_2[4721,146496 -static struct llc_conn_state_trans llc_error_state_trans_2 4729,146690 -static llc_conn_action_t llc_error_actions_3[4737,146975 -static struct llc_conn_state_trans llc_error_state_trans_3 4744,147129 -static llc_conn_action_t llc_error_actions_4[4752,147414 -static struct llc_conn_state_trans llc_error_state_trans_4 4760,147634 -static llc_conn_action_t llc_error_actions_5[4768,147922 -static struct llc_conn_state_trans llc_error_state_trans_5 4773,148034 -static struct llc_conn_state_trans llc_error_state_trans_6 4781,148321 -static llc_conn_ev_qfyr_t llc_error_ev_qfyrs_7[4789,148583 -static llc_conn_action_t llc_error_actions_7[4794,148694 -static struct llc_conn_state_trans llc_error_state_trans_7 4801,148881 -static llc_conn_ev_qfyr_t llc_error_ev_qfyrs_8[4809,149164 -static llc_conn_action_t llc_error_actions_8[4814,149276 -static struct llc_conn_state_trans llc_error_state_trans_8 4823,149529 -static llc_conn_ev_qfyr_t llc_error_ev_qfyrs_9[4831,149814 -static llc_conn_action_t llc_error_actions_9[4837,149971 -static struct llc_conn_state_trans llc_error_state_trans_9 4839,150021 -static struct llc_conn_state_trans *llc_error_state_transitions[4850,150298 -static llc_conn_action_t llc_temp_actions_1[4869,151043 -static struct llc_conn_state_trans llc_temp_state_trans_1 4876,151210 -static struct llc_conn_state_trans *llc_temp_state_transitions[4887,151467 -struct llc_conn_state llc_conn_state_table[4897,151871 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/af_llc.c,1434 -static u16 llc_ui_sap_last_autoport 35,1239 -static u16 llc_ui_sap_link_no_max[36,1296 -static struct sockaddr_llc llc_ui_addrnull;37,1336 -static struct proto_ops llc_ui_ops;38,1380 -#define dprintk(dprintk46,1681 -#define dprintk(dprintk48,1736 -static __inline__ u16 llc_ui_next_link_no(57,1954 -static __inline__ u16 llc_proto_type(68,2221 -static __inline__ u8 llc_ui_addr_null(78,2475 -static __inline__ u8 llc_ui_header_len(92,2979 -static int llc_ui_send_data(114,3600 -static void llc_ui_sk_init(129,3947 -static int llc_ui_create(147,4442 -static int llc_ui_release(169,4867 -static int llc_ui_autoport(205,5742 -static int llc_ui_autobind(244,6943 -static int llc_ui_bind(292,8553 -static int llc_ui_shutdown(358,10428 -static int llc_ui_connect(393,11500 -static int llc_ui_listen(450,13107 -static int llc_ui_wait_for_disc(478,13665 -static int llc_ui_wait_for_conn(505,14219 -static int llc_ui_wait_for_data(535,14838 -static int llc_ui_wait_for_busy_core(571,15608 -static int llc_ui_accept(612,16627 -static int llc_ui_recvmsg(672,18339 -static int llc_ui_sendmsg(727,19865 -static int llc_ui_getname(817,22342 -static int llc_ui_ioctl(866,23394 -static int llc_ui_setsockopt(882,23847 -static int llc_ui_getsockopt(957,25490 -static struct net_proto_family llc_ui_family_ops 1002,26532 -static struct proto_ops llc_ui_ops 1008,26657 -static int __init llc2_init(1032,27406 -static void __exit llc2_exit(1048,27733 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_input.c,409 -#define dprintk(dprintk20,619 -#define dprintk(dprintk22,674 -static void (*llc_type_handlers[36,1090 -static void (*llc_type_handlers[2])(struct llc_sap *sap,36,1090 - struct sk_buff *skb)37,1147 -void llc_add_pack(39,1178 -void llc_remove_pack(46,1372 -void llc_set_station_handler(52,1498 -static __inline__ int llc_pdu_type(63,1765 -static inline int llc_fixup_skb(99,2701 -int llc_rcv(134,3677 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_c_ev.c,3972 -#define dprintk(dprintk44,1986 -#define dprintk(dprintk46,2041 -static u16 llc_util_ns_inside_rx_window(60,2467 -static u16 llc_util_nr_inside_tx_window(76,2992 -int llc_conn_ev_conn_req(100,3555 -int llc_conn_ev_conn_resp(108,3763 -int llc_conn_ev_data_req(116,3973 -int llc_conn_ev_disc_req(124,4181 -int llc_conn_ev_rst_req(132,4389 -int llc_conn_ev_rst_resp(140,4597 -int llc_conn_ev_local_busy_detected(148,4807 -int llc_conn_ev_local_busy_cleared(156,5050 -int llc_conn_ev_rx_bad_pdu(164,5291 -int llc_conn_ev_rx_disc_cmd_pbit_set_x(169,5372 -int llc_conn_ev_rx_dm_rsp_fbit_set_x(177,5617 -int llc_conn_ev_rx_frmr_rsp_fbit_set_x(185,5858 -int llc_conn_ev_rx_i_cmd_pbit_set_0(193,6103 -int llc_conn_ev_rx_i_cmd_pbit_set_1(203,6405 -int llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns(213,6707 -int llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns(225,7078 -int llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns(237,7449 -int llc_conn_ev_rx_i_rsp_fbit_set_0(251,7902 -int llc_conn_ev_rx_i_rsp_fbit_set_1(261,8204 -int llc_conn_ev_rx_i_rsp_fbit_set_x(270,8471 -int llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns(279,8743 -int llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns(291,9114 -int llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns(303,9485 -int llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns(314,9826 -int llc_conn_ev_rx_rej_cmd_pbit_set_0(328,10278 -int llc_conn_ev_rx_rej_cmd_pbit_set_1(337,10551 -int llc_conn_ev_rx_rej_rsp_fbit_set_0(346,10824 -int llc_conn_ev_rx_rej_rsp_fbit_set_1(355,11097 -int llc_conn_ev_rx_rej_rsp_fbit_set_x(364,11370 -int llc_conn_ev_rx_rnr_cmd_pbit_set_0(372,11613 -int llc_conn_ev_rx_rnr_cmd_pbit_set_1(381,11886 -int llc_conn_ev_rx_rnr_rsp_fbit_set_0(390,12159 -int llc_conn_ev_rx_rnr_rsp_fbit_set_1(399,12432 -int llc_conn_ev_rx_rr_cmd_pbit_set_0(408,12705 -int llc_conn_ev_rx_rr_cmd_pbit_set_1(417,12976 -int llc_conn_ev_rx_rr_rsp_fbit_set_0(426,13247 -int llc_conn_ev_rx_rr_rsp_fbit_set_1(436,13553 -int llc_conn_ev_rx_sabme_cmd_pbit_set_x(446,13859 -int llc_conn_ev_rx_ua_rsp_fbit_set_x(454,14106 -int llc_conn_ev_rx_xxx_cmd_pbit_set_1(462,14347 -int llc_conn_ev_rx_xxx_cmd_pbit_set_0(477,14699 -int llc_conn_ev_rx_xxx_cmd_pbit_set_x(498,15165 -int llc_conn_ev_rx_xxx_rsp_fbit_set_1(517,15570 -int llc_conn_ev_rx_xxx_rsp_fbit_set_x(539,16059 -int llc_conn_ev_rx_xxx_yyy(560,16488 -int llc_conn_ev_rx_zzz_cmd_pbit_set_x_inval_nr(580,16919 -int llc_conn_ev_rx_zzz_rsp_fbit_set_x_inval_nr(598,17400 -int llc_conn_ev_rx_any_frame(616,17881 -int llc_conn_ev_p_tmr_exp(621,17964 -int llc_conn_ev_ack_tmr_exp(628,18128 -int llc_conn_ev_rej_tmr_exp(635,18296 -int llc_conn_ev_busy_tmr_exp(642,18464 -int llc_conn_ev_any_tmr_exp(649,18634 -int llc_conn_ev_init_p_f_cycle(659,18953 -int llc_conn_ev_tx_buffer_full(664,19038 -int llc_conn_ev_qlfy_data_flag_eq_1(678,19511 -int llc_conn_ev_qlfy_data_flag_eq_0(683,19626 -int llc_conn_ev_qlfy_data_flag_eq_2(688,19736 -int llc_conn_ev_qlfy_p_flag_eq_1(693,19851 -int llc_conn_ev_qlfy_last_frame_eq_1(709,20416 -int llc_conn_ev_qlfy_last_frame_eq_0(723,20923 -int llc_conn_ev_qlfy_p_flag_eq_0(728,21073 -int llc_conn_ev_qlfy_p_flag_eq_f(733,21177 -int llc_conn_ev_qlfy_remote_busy_eq_0(741,21347 -int llc_conn_ev_qlfy_remote_busy_eq_1(746,21466 -int llc_conn_ev_qlfy_retry_cnt_lt_n2(751,21586 -int llc_conn_ev_qlfy_retry_cnt_gte_n2(756,21719 -int llc_conn_ev_qlfy_s_flag_eq_1(761,21854 -int llc_conn_ev_qlfy_s_flag_eq_0(766,21959 -int llc_conn_ev_qlfy_cause_flag_eq_1(771,22063 -int llc_conn_ev_qlfy_cause_flag_eq_0(776,22176 -int llc_conn_ev_qlfy_init_p_f_cycle(781,22288 -int llc_conn_ev_qlfy_set_status_conn(786,22378 -int llc_conn_ev_qlfy_set_status_disc(794,22551 -int llc_conn_ev_qlfy_set_status_impossible(802,22724 -int llc_conn_ev_qlfy_set_status_failed(810,22909 -int llc_conn_ev_qlfy_set_status_remote_busy(818,23086 -int llc_conn_ev_qlfy_set_status_received(827,23282 -int llc_conn_ev_qlfy_set_status_refuse(835,23463 -int llc_conn_ev_qlfy_set_status_conflict(843,23640 -int llc_conn_ev_qlfy_set_status_rst_done(851,23821 - -/export0/mef/linux-2.6.9-1.11_FC2/net/llc/llc_s_ev.c,345 -int llc_sap_ev_activation_req(23,760 -int llc_sap_ev_rx_ui(31,992 -int llc_sap_ev_unitdata_req(41,1312 -int llc_sap_ev_xid_req(51,1574 -int llc_sap_ev_rx_xid_c(60,1825 -int llc_sap_ev_rx_xid_r(70,2149 -int llc_sap_ev_test_req(80,2473 -int llc_sap_ev_rx_test_c(89,2726 -int llc_sap_ev_rx_test_r(99,3052 -int llc_sap_ev_deactivation_req(109,3378 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlap.c,1774 -static hashbin_t *irlap 53,1875 -int sysctl_slot_timeout 54,1907 -int sysctl_warn_noreply_time 59,2132 -static char *lap_reasons[65,2317 -int __init irlap_init(77,2555 -void __exit irlap_cleanup(96,3068 -struct irlap_cb *irlap_open(109,3264 -static void __irlap_close(185,5326 -void irlap_close(213,5876 -void irlap_connect_indication(246,6690 -void irlap_connect_response(265,7172 -void irlap_connect_request(279,7515 -void irlap_connect_confirm(307,8176 -void irlap_data_indication(324,8604 -void irlap_data_request(340,8980 -void irlap_unitdata_request(388,10363 -void irlap_unitdata_indication(417,11096 -void irlap_disconnect_request(437,11616 -void irlap_disconnect_indication(473,12510 -void irlap_discovery_request(506,13393 -void irlap_discovery_confirm(568,15321 -void irlap_discovery_indication(599,16310 -void irlap_status_indication(626,17284 -void irlap_reset_indication(645,17690 -void irlap_reset_confirm(661,18055 -int irlap_generate_rand_time_slot(673,18308 -void irlap_update_nr_received(698,18843 -int irlap_validate_ns_received(740,19890 -int irlap_validate_nr_received(759,20314 -void irlap_initiate_connection_state(789,20974 -void irlap_wait_min_turn_around(816,21699 -void irlap_flush_all_queues(845,22410 -void irlap_change_speed(870,22960 -void irlap_init_qos_capabilities(897,23737 -void irlap_apply_default_connection_parameters(944,25145 -void irlap_apply_connection_parameters(1007,27015 -struct irlap_iter_state irlap_iter_state1098,30489 -static void *irlap_seq_start(1102,30528 -static void *irlap_seq_next(1121,30959 -static void irlap_seq_stop(1130,31148 -static int irlap_seq_show(1135,31250 -static struct seq_operations irlap_seq_ops 1212,33667 -static int irlap_seq_open(1219,33827 -struct file_operations irlap_seq_fops 1247,34287 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlmp_event.c,1301 -const char *irlmp_state[37,1311 -const char *irlsap_state[43,1394 -static const char *irlmp_event[53,1579 -static void (*lap_state[103,3097 -static void (*lap_state[]) (struct lap_cb 103,3097 -static void (*lap_state[]) (struct lap_cb *, IRLMP_EVENT,103,3097 -static void (*lap_state[]) (struct lap_cb *, IRLMP_EVENT, struct sk_buff 103,3097 -static int (*lsap_state[110,3248 -static int (*lsap_state[])( struct lsap_cb 110,3248 -static int (*lsap_state[])( struct lsap_cb *, IRLMP_EVENT,110,3248 -static int (*lsap_state[])( struct lsap_cb *, IRLMP_EVENT, struct sk_buff 110,3248 -static inline void irlmp_next_lap_state(120,3471 -static inline void irlmp_next_lsap_state(129,3669 -int irlmp_do_lsap_event(140,3939 -void irlmp_do_lap_event(158,4388 -void irlmp_discovery_timer_expired(171,4738 -void irlmp_watchdog_timer_expired(186,5112 -void irlmp_idle_timer_expired(198,5391 -irlmp_do_all_lsap_event(214,5740 -static void irlmp_state_standby(259,7152 -static void irlmp_state_u_connect(309,8691 -static void irlmp_state_active(384,11172 -static int irlmp_state_disconnected(491,14710 -static int irlmp_state_connect(570,16994 -static int irlmp_state_connect_pend(632,18570 -static int irlmp_state_dtr(698,20394 -static int irlmp_state_setup(790,23156 -static int irlmp_state_setup_pend(862,25228 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irsysctl.c,1815 -#define NET_IRDA 35,1282 -enum { DISCOVERY=36,1323 -enum { DISCOVERY=1, DEVNAME,36,1323 -enum { DISCOVERY=1, DEVNAME, DEBUG,36,1323 -enum { DISCOVERY=1, DEVNAME, DEBUG, FAST_POLL,36,1323 -enum { DISCOVERY=1, DEVNAME, DEBUG, FAST_POLL, DISCOVERY_SLOTS,36,1323 - DISCOVERY_TIMEOUT,37,1387 - DISCOVERY_TIMEOUT, SLOT_TIMEOUT,37,1387 - DISCOVERY_TIMEOUT, SLOT_TIMEOUT, MAX_BAUD_RATE,37,1387 - DISCOVERY_TIMEOUT, SLOT_TIMEOUT, MAX_BAUD_RATE, MIN_TX_TURN_TIME,37,1387 - MAX_TX_DATA_SIZE,38,1460 - MAX_TX_DATA_SIZE, MAX_TX_WINDOW,38,1460 - MAX_TX_DATA_SIZE, MAX_TX_WINDOW, MAX_NOREPLY_TIME,38,1460 - MAX_TX_DATA_SIZE, MAX_TX_WINDOW, MAX_NOREPLY_TIME, WARN_NOREPLY_TIME,38,1460 - LAP_KEEPALIVE_TIME 39,1537 -int sysctl_compression 46,1743 -static int max_discovery_slots 57,2126 -static int min_discovery_slots 58,2174 -static int max_slot_timeout 61,2329 -static int min_slot_timeout 62,2364 -static int max_max_baud_rate 63,2398 -static int min_max_baud_rate 64,2468 -static int max_min_tx_turn_time 65,2505 -static int min_min_tx_turn_time;66,2575 -static int max_max_tx_data_size 67,2608 -static int min_max_tx_data_size 68,2678 -static int max_max_tx_window 69,2716 -static int min_max_tx_window 70,2780 -static int max_max_noreply_time 71,2814 -static int min_max_noreply_time 72,2882 -static int max_warn_noreply_time 73,2919 -static int min_warn_noreply_time 74,2979 -static int max_lap_keepalive_time 75,3043 -static int min_lap_keepalive_time 76,3096 -static int do_devname(80,3246 -static ctl_table irda_table[97,3656 -static ctl_table irda_net_table[246,7292 -static ctl_table irda_root_table[258,7489 -static struct ctl_table_header *irda_table_header;269,7662 -int __init irda_sysctl_register(277,7803 -void __exit irda_sysctl_unregister(292,8058 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/discovery.c,622 -void irlmp_add_discovery(57,2271 -void irlmp_add_discovery_log(108,3820 -void irlmp_expire_discoveries(149,4951 -void irlmp_dump_discoveries(225,6980 -struct irda_device_info *irlmp_copy_discoveries(263,8301 -__u32 irlmp_find_device(325,10237 -static inline discovery_t *discovery_seq_idx(354,10958 -static void *discovery_seq_start(369,11267 -static void *discovery_seq_next(375,11456 -static void discovery_seq_stop(383,11674 -static int discovery_seq_show(388,11790 -static struct seq_operations discovery_seq_ops 433,13162 -static int discovery_seq_open(440,13342 -struct file_operations discovery_seq_fops 447,13503 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/wrapper.c,232 -static inline int stuff_byte(58,2055 -int async_wrap_skb(83,2643 -async_bump(204,6363 -async_unwrap_bof(275,8467 -async_unwrap_eof(315,9364 -async_unwrap_ce(373,10706 -async_unwrap_other(403,11278 -void async_unwrap_char(467,12848 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlap_event.c,1153 -int sysctl_fast_poll_increase 47,1614 -static const char *irlap_event[82,3623 -const char *irlap_state[124,4442 -static int (*state[142,4700 -static int (*state[])(struct irlap_cb *self,142,4700 -static int (*state[])(struct irlap_cb *self, IRLAP_EVENT event,142,4700 - struct sk_buff *skb,143,4764 - struct sk_buff *skb, struct irlap_info *info)143,4764 -static void irlap_poll_timer_expired(168,5287 -void irlap_start_poll_timer(184,5759 -void irlap_do_event(237,7161 -static inline void irlap_next_state(326,9815 -static int irlap_state_ndm(343,10144 -static int irlap_state_query(570,17201 -static int irlap_state_reply(681,20447 -static int irlap_state_conn(739,21919 -static int irlap_state_setup(833,24689 -static int irlap_state_offline(969,28592 -static int irlap_state_xmit_p(985,29017 -static int irlap_state_pclose(1140,33873 -static int irlap_state_nrm_p(1197,35512 -static int irlap_state_reset_wait(1594,46405 -static int irlap_state_reset(1641,47632 -static int irlap_state_xmit_s(1734,50009 -static int irlap_state_nrm_s(1854,53422 -static int irlap_state_sclose(2213,62951 -static int irlap_state_reset_check(2285,64908 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irnet/irnet_irda.c,981 -irnet_post_event(27,834 -irnet_open_tsap(99,3101 -irnet_ias_to_tsap(148,4755 -irnet_find_lsap_sel(232,6894 -irnet_connect_tsap(267,7925 -irnet_discover_next_daddr(311,9040 -irnet_discover_daddr_and_lsap_sel(370,11163 -irnet_dname_to_daddr(426,12667 -irda_irnet_create(478,14203 -irda_irnet_connect(520,15763 -irda_irnet_destroy(589,18212 -irnet_daddr_to_dname(676,20862 -irnet_find_socket(723,22256 -irnet_connect_socket(806,24662 -irnet_disconnect_server(881,26915 -irnet_setup_server(917,28005 -irnet_destroy_server(972,29723 -irnet_data_indication(1008,30600 -irnet_disconnect_indication(1078,32577 -irnet_connect_confirm(1168,35392 -irnet_flow_indication(1236,37454 -irnet_status_indication(1278,38505 -irnet_connect_indication(1316,39643 -irnet_getvalue_confirm(1465,45140 -irnet_discovervalue_confirm(1528,47095 -irnet_discovery_indication(1643,50539 -irnet_expiry_indication(1674,51412 -irnet_proc_read(1711,52366 -irda_irnet_init(1804,55022 -irda_irnet_cleanup(1847,56109 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irnet/irnet.h,2271 -#define IRNET_H16,457 -#define DISCOVERY_NOMASK 275,11252 -#define ADVERTISE_HINT 276,11314 -#define ALLOW_SIMULT_CONNECT 277,11369 -#define DISCOVERY_EVENTS 278,11440 -#define INITIAL_DISCOVERY 279,11510 -#define BLOCK_WHEN_CONNECT 287,11898 -#define CONNECT_IN_SEND 288,11961 -#define DEBUG_CTRL_TRACE 300,12396 -#define DEBUG_CTRL_INFO 301,12445 -#define DEBUG_CTRL_ERROR 302,12491 -#define DEBUG_FS_TRACE 303,12533 -#define DEBUG_FS_INFO 304,12586 -#define DEBUG_FS_ERROR 305,12630 -#define DEBUG_PPP_TRACE 306,12671 -#define DEBUG_PPP_INFO 307,12726 -#define DEBUG_PPP_ERROR 308,12771 -#define DEBUG_MODULE_TRACE 309,12813 -#define DEBUG_MODULE_ERROR 310,12873 -#define DEBUG_IRDA_SR_TRACE 313,12941 -#define DEBUG_IRDA_SR_INFO 314,12994 -#define DEBUG_IRDA_SR_ERROR 315,13042 -#define DEBUG_IRDA_SOCK_TRACE 316,13087 -#define DEBUG_IRDA_SOCK_INFO 317,13152 -#define DEBUG_IRDA_SOCK_ERROR 318,13202 -#define DEBUG_IRDA_SERV_TRACE 319,13249 -#define DEBUG_IRDA_SERV_INFO 320,13304 -#define DEBUG_IRDA_SERV_ERROR 321,13354 -#define DEBUG_IRDA_TCB_TRACE 322,13401 -#define DEBUG_IRDA_CB_INFO 323,13459 -#define DEBUG_IRDA_CB_ERROR 324,13507 -#define DEBUG_IRDA_OCB_TRACE 325,13552 -#define DEBUG_IRDA_OCB_INFO 326,13610 -#define DEBUG_IRDA_OCB_ERROR 327,13659 -#define DEBUG_ASSERT 329,13706 -#define DERROR(DERROR339,14058 -#define DEBUG(DEBUG344,14246 -#define DENTER(DENTER349,14408 -#define DPASS(DPASS354,14592 -#define DEXIT(DEXIT359,14751 -#define DRETURN(DRETURN364,14912 -#define DABORT(DABORT369,15034 -#define DASSERT(DASSERT375,15187 -#define IRNET_MAGIC 383,15414 -#define IRNET_MAX_EVENTS 386,15508 -typedef struct irnet_socketirnet_socket398,16027 -} irnet_socket;irnet_socket461,18795 -typedef enum irnet_eventirnet_event466,18893 - IRNET_DISCOVER,468,18920 - IRNET_EXPIRE,469,18971 - IRNET_CONNECT_TO,470,19014 - IRNET_CONNECT_FROM,471,19082 - IRNET_REQUEST_FROM,472,19152 - IRNET_NOANSWER_FROM,473,19214 - IRNET_BLOCKED_LINK,474,19270 - IRNET_DISCONNECT_FROM,475,19332 - IRNET_DISCONNECT_TO 476,19393 -} irnet_event;irnet_event477,19443 -typedef struct irnet_logirnet_log482,19520 -} irnet_log;irnet_log490,19716 -typedef struct irnet_ctrl_channelirnet_ctrl_channel495,19796 -} irnet_ctrl_channel;irnet_ctrl_channel501,20057 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irnet/irnet_irda.h,344 -#define IRNET_IRDA_H13,373 -#define IRNET_SERVICE_NAME 26,726 -#define IRNET_IAS_VALUE 28,783 -#define IRNET_NOTIFY_NAME 30,895 -#define IRNET_NOTIFY_NAME_SERV 32,1001 -typedef struct irnet_rootirnet_root41,1292 -} irnet_root;irnet_root61,1903 -static struct irnet_root irnet_server;176,4744 -struct irnet_ctrl_channel irnet_events;179,4828 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irnet/irnet_ppp.h,444 -#define IRNET_PPP_H13,336 -#define IRNET_MAJOR 22,582 -#define IRNET_MINOR 23,622 -#define IRNET_MAX_COMMAND 26,707 -#define SC_RCV_BITS 31,847 -#define XMIT_BUSY 34,944 -#define RECV_BUSY 35,964 -#define XMIT_WAKEUP 36,984 -#define XMIT_FULL 37,1006 -#define PPPSYNC_MAX_RQLEN 40,1050 -static struct file_operations irnet_device_fops 99,2600 -static struct miscdevice irnet_misc_device 112,3002 -struct ppp_channel_ops irnet_ppp_ops 120,3138 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irnet/irnet_ppp.c,461 -irnet_ctrl_write(37,1481 -irnet_read_discovery_log(182,5534 -irnet_ctrl_read(255,7638 -irnet_ctrl_poll(399,12235 -dev_irnet_open(436,13281 -dev_irnet_close(496,14851 -dev_irnet_write(531,15671 -dev_irnet_read(555,16313 -dev_irnet_poll(578,16945 -dev_irnet_ioctl(605,17681 -irnet_prepare_skb(775,22168 -ppp_irnet_send(845,24167 -ppp_irnet_ioctl(946,27846 -ppp_irnet_init(1050,30320 -ppp_irnet_cleanup(1068,30664 -irnet_init(1083,30962 -irnet_cleanup(1099,31214 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irproc.c,206 -struct irda_entry irda_entry42,1523 -struct proc_dir_entry *proc_irda;47,1597 -static struct irda_entry irda_dirs[50,1659 -void __init irda_proc_register(64,1955 -void __exit irda_proc_unregister(87,2398 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/parameters.c,505 -static PV_HANDLER pv_extract_table[55,2209 -static PV_HANDLER pv_insert_table[65,2656 -static int irda_insert_no_value(78,3168 -static int irda_extract_no_value(105,3702 -static int irda_insert_integer(126,4162 -static int irda_extract_integer(200,6183 -static int irda_extract_string(285,8573 -static int irda_extract_octseq(331,9709 -int irda_param_pack(360,10371 -int irda_param_unpack(403,11227 -int irda_param_insert(451,12199 -int irda_param_extract(505,13588 -int irda_param_extract_all(561,15131 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/iriap_event.c,1158 -static void (*iriap_state[67,2859 -static void (*iriap_state[])(struct iriap_cb *self,67,2859 -static void (*iriap_state[])(struct iriap_cb *self, IRIAP_EVENT event,67,2859 - struct sk_buff *skb)68,2930 -void iriap_next_client_state(94,3361 -void iriap_next_call_state(102,3543 -void iriap_next_server_state(110,3721 -void iriap_next_r_connect_state(118,3903 -void iriap_do_client_event(126,4091 -void iriap_do_call_event(135,4326 -void iriap_do_server_event(144,4555 -void iriap_do_r_connect_event(153,4790 -static void state_s_disconnect(169,5180 -static void state_s_connecting(199,5884 -static void state_s_call(232,6769 -static void state_s_make_call(255,7229 -static void state_s_calling(283,7805 -static void state_s_outstanding(295,8094 -static void state_s_replying(318,8595 -static void state_s_wait_for_call(330,8839 -static void state_s_wait_active(343,9083 -static void state_r_disconnect(361,9549 -static void state_r_call(397,10377 -static void state_r_waiting(421,10850 -static void state_r_wait_active(427,11010 -static void state_r_receiving(439,11266 -static void state_r_execute(462,11729 -static void state_r_returning(491,12408 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irqueue.c,585 -#define GET_HASHBIN(GET_HASHBIN204,8106 -static __u32 hash(212,8281 -static void enqueue_first(232,8544 -static irda_queue_t *dequeue_first(265,9216 -static irda_queue_t *dequeue_general(306,9942 -hashbin_t *hashbin_new(352,10787 -int hashbin_delete(388,11569 -void hashbin_insert(442,12722 -void *hashbin_remove_first(495,13901 -void* hashbin_remove(555,15395 -void* hashbin_remove_this(648,17356 -void* hashbin_find(710,18767 -void* hashbin_lock_find(765,19807 -void* hashbin_find_next(795,20608 -irda_queue_t *hashbin_get_first(834,21495 -irda_queue_t *hashbin_get_next(869,22335 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_common.c,1551 -static void *ckey;72,2120 -static void *skey;73,2139 -static int eth;76,2183 -static int access 77,2245 -static const char *irlan_access[80,2330 -static const char *irlan_media[87,2414 -static struct file_operations irlan_fops 97,2596 -static int __init irlan_init(120,3166 -static void __exit irlan_cleanup(161,4152 -struct irlan_cb *irlan_open(188,4781 -static void __irlan_close(256,6432 -struct irlan_cb *irlan_get_any(281,7086 -void irlan_connect_indication(297,7393 -void irlan_connect_confirm(342,8713 -void irlan_disconnect_indication(387,9988 -void irlan_open_data_tsap(444,11765 -void irlan_close_tsaps(483,12848 -void irlan_ias_register(517,13737 -int irlan_run_ctrl_tx_queue(571,15353 -void irlan_ctrl_data_request(605,16142 -void irlan_get_provider_info(622,16504 -void irlan_open_data_channel(654,17140 -void irlan_close_data_channel(686,17832 -void irlan_open_unicast_addr(725,18620 -void irlan_set_broadcast_filter(763,19769 -void irlan_set_multicast_filter(802,20748 -void irlan_get_unicast_addr(842,21800 -void irlan_get_media_char(877,22593 -int irlan_insert_byte_param(911,23279 -int irlan_insert_short_param(916,23431 -int irlan_insert_string_param(927,23686 -int irlan_insert_array_param(941,24008 -static int __irlan_insert_param(957,24568 -int irlan_extract_param(1035,26431 -static void *irlan_seq_start(1088,27573 -static void *irlan_seq_next(1106,27892 -static void irlan_seq_stop(1121,28219 -static int irlan_seq_show(1130,28343 -static struct seq_operations irlan_seq_ops 1168,29463 -static int irlan_seq_open(1175,29619 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_provider_event.c,414 -static int (*state[42,1667 -static int (*state[])(struct irlan_cb *self,42,1667 -static int (*state[])(struct irlan_cb *self, IRLAN_EVENT event,42,1667 - struct sk_buff *skb)43,1732 -void irlan_do_provider_event(58,2011 -static int irlan_provider_state_idle(72,2382 -static int irlan_provider_state_info(99,3038 -static int irlan_provider_state_open(166,4743 -static int irlan_provider_state_data(205,5759 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_client_event.c,764 -static int (*state[62,2541 -static int (*state[])(struct irlan_cb 62,2541 -static int (*state[])(struct irlan_cb *, IRLAN_EVENT event,62,2541 -static int (*state[])(struct irlan_cb *, IRLAN_EVENT event, struct sk_buff 62,2541 -void irlan_do_client_event(77,2915 -static int irlan_client_state_idle(92,3300 -static int irlan_client_state_query(135,4461 -static int irlan_client_state_conn(188,5892 -static int irlan_client_state_info(223,6734 -static int irlan_client_state_media(265,7660 -static int irlan_client_state_open(302,8540 -static int irlan_client_state_wait(375,10291 -static int irlan_client_state_arb(404,10989 -static int irlan_client_state_data(461,12504 -static int irlan_client_state_close(493,13186 -static int irlan_client_state_sync(510,13467 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_filter.c,146 -void irlan_filter_request(37,1216 -void irlan_check_command_param(143,4279 -#define MASK2STR(MASK2STR221,5859 -void irlan_print_filter(223,5906 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_provider.c,375 -static int irlan_provider_data_indication(67,2282 -static void irlan_provider_connect_indication(122,3799 -void irlan_provider_connect_response(168,5043 -void irlan_provider_disconnect_indication(178,5285 -int irlan_parse_open_data_cmd(206,5947 -int irlan_provider_parse_command(225,6324 -void irlan_provider_send_reply(289,7606 -int irlan_provider_open_ctrl_tsap(377,10016 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_event.c,105 -char *irlan_state[27,1023 -void irlan_next_client_state(41,1218 -void irlan_next_provider_state(51,1469 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_client.c,626 -static void irlan_client_kick_timer_expired(70,2502 -void irlan_client_start_kick_timer(91,3161 -void irlan_client_wakeup(105,3474 -void irlan_client_discovery_indication(148,4526 -static int irlan_client_ctrl_data_indication(191,5525 -static void irlan_client_ctrl_disconnect_indication(216,6154 -void irlan_client_open_ctrl_tsap(251,7048 -static void irlan_client_ctrl_connect_confirm(288,7987 -void irlan_client_reconnect_data_channel(317,8725 -static void print_ret_code(353,9463 -void irlan_client_parse_response(398,10349 -static void irlan_check_response_param(467,11687 -void irlan_client_get_value_confirm(571,14977 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlan/irlan_eth.c,452 -static void irlan_eth_setup(55,2014 -struct net_device *alloc_irlandev(93,3194 -static int irlan_eth_open(105,3419 -static int irlan_eth_close(132,4278 -static int irlan_eth_xmit(161,4869 -int irlan_eth_receive(217,6329 -void irlan_eth_flow_indication(257,7431 -void irlan_eth_send_gratuitous_arp(295,8329 -#define HW_MAX_ADDRS 328,9029 -static void irlan_eth_set_multicast_list(329,9080 -static struct net_device_stats *irlan_eth_get_stats(376,10377 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irda_device.c,944 -static hashbin_t *dongles 57,1952 -static hashbin_t *tasks 58,1986 -static const char *task_state[61,2044 -int __init irda_device_init(76,2357 -static void __exit leftover_dongle(98,2874 -void __exit irda_device_cleanup(105,3040 -void irda_device_set_media_busy(120,3386 -int irda_device_set_dtr_rts(146,4006 -int irda_device_change_speed(167,4388 -int irda_device_is_receiving(193,4873 -void irda_task_next_state(213,5242 -static void __irda_task_delete(221,5451 -void irda_task_delete(228,5552 -static int irda_task_kick(245,6024 -struct irda_task *irda_task_execute(321,8032 -static void irda_task_timer_expired(358,8982 -void irda_device_setup(375,9351 -struct net_device *alloc_irdadev(394,9778 -dongle_t *irda_device_dongle_init(408,10144 -int irda_device_dongle_cleanup(455,11182 -int irda_device_register_dongle(470,11467 -void irda_device_unregister_dongle(493,12113 -int irda_device_set_mode(512,12689 -void irda_setup_dma(539,13187 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irttp.c,1728 -static struct irttp_cb *irttp 41,1407 -static pi_minor_info_t pi_minor_call_table[68,2612 -static pi_major_info_t pi_major_call_table[72,2802 -static pi_param_info_t param_info 73,2879 -int __init irttp_init(83,3138 -void __exit irttp_cleanup(110,3653 -static inline void irttp_start_todo_timer(138,4243 -static void irttp_todo_expired(158,4946 -void irttp_flush_queues(203,6108 -static struct sk_buff *irttp_reassemble_skb(232,6787 -static inline void irttp_fragment_skb(289,8285 -static int irttp_param_max_sdu_size(345,9798 -struct tsap_cb *irttp_open_tsap(374,10527 -static void __irttp_close_tsap(462,13212 -int irttp_close_tsap(493,14044 -int irttp_udata_request(537,14988 -int irttp_data_request(576,15859 -static void irttp_run_tx_queue(687,18800 -static inline void irttp_give_credit(793,22209 -static int irttp_udata_indication(846,23431 -static int irttp_data_indication(882,24216 -void irttp_status_indication(964,26723 -void irttp_flow_indication(996,27463 -void irttp_flow_request(1041,29171 -int irttp_connect_request(1074,29957 -static void irttp_connect_confirm(1170,32222 -void irttp_connect_indication(1255,34322 -int irttp_connect_response(1328,36019 -struct tsap_cb *irttp_dup(1415,38116 -int irttp_disconnect_request(1475,39745 -void irttp_disconnect_indication(1569,42252 -void irttp_do_data_indication(1616,43651 -void irttp_run_rx_queue(1654,44659 -struct irttp_iter_state irttp_iter_state1785,48732 -static void *irttp_seq_start(1789,48771 -static void *irttp_seq_next(1809,49234 -static void irttp_seq_stop(1818,49430 -static int irttp_seq_show(1823,49539 -static struct seq_operations irttp_seq_ops 1865,50859 -static int irttp_seq_open(1872,51019 -struct file_operations irttp_seq_fops 1898,51465 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/qos.c,1594 -int sysctl_max_baud_rate 47,1879 -int sysctl_max_noreply_time 54,2225 -unsigned sysctl_min_tx_turn_time 63,2674 -unsigned sysctl_max_tx_data_size 78,3477 -unsigned sysctl_max_tx_window 84,3727 -static __u32 min_turn_times[99,4396 -static __u32 baud_rates[100,4482 -static __u32 data_sizes[102,4624 -static __u32 add_bofs[103,4711 -static __u32 max_turn_times[104,4798 -static __u32 link_disc_times[105,4882 -static __u32 max_line_capacities[107,4969 -static pi_minor_info_t pi_minor_call_table_type_0[121,5629 -static pi_minor_info_t pi_minor_call_table_type_1[133,5914 -static pi_major_info_t pi_major_call_table[143,6282 -static pi_param_info_t irlap_param_info 148,6407 -static inline int value_index(161,6833 -static inline __u32 index_value(177,7084 -static int msb_index 188,7269 -static inline __u32 byte_value(214,7924 -static inline int value_lower_bits(230,8220 -static inline int value_highest_bit(256,8775 -void irda_qos_compute_intersection(286,9416 -void irda_init_max_qos_capabilies(310,10196 -void irlap_adjust_qos_settings(347,11285 -int irlap_qos_negotiate(437,14061 -int irlap_insert_qos_negotiation_params(473,15157 -static int irlap_param_baud_rate(536,16643 -static int irlap_param_link_disconnect(571,17520 -static int irlap_param_max_turn_time(605,18411 -static int irlap_param_data_size(628,18971 -static int irlap_param_window_size(650,19513 -static int irlap_param_additional_bofs(672,20081 -static int irlap_param_min_turn_time(693,20653 -__u32 irlap_max_line_capacity(715,21154 -__u32 irlap_requested_line_capacity(737,21685 -void irda_qos_bits_to_value(751,22094 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/timer.c,700 -void irlap_start_slot_timer(44,1590 -void irlap_start_query_timer(50,1752 -void irlap_start_final_timer(56,1919 -void irlap_start_wd_timer(62,2084 -void irlap_start_backoff_timer(68,2240 -void irlap_start_mbusy_timer(74,2411 -void irlap_stop_mbusy_timer(80,2580 -void irlmp_start_watchdog_timer(94,3041 -void irlmp_start_discovery_timer(100,3214 -void irlmp_start_idle_timer(106,3391 -void irlmp_stop_idle_timer(112,3551 -static void irlap_slot_timer_expired(124,3767 -static void irlap_query_timer_expired(140,4100 -static void irlap_final_timer_expired(156,4405 -static void irlap_wd_timer_expired(172,4706 -static void irlap_backoff_timer_expired(188,5008 -void irlap_media_busy_expired(204,5316 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/iriap.c,1500 -static const char *ias_charset_types[47,1557 -static hashbin_t *iriap 62,1824 -static void *service_handle;63,1856 -int __init iriap_init(86,2692 -void __exit iriap_cleanup(147,4222 -struct iriap_cb *iriap_open(160,4530 -static void __iriap_close(210,5707 -void iriap_close(232,6096 -static int iriap_register_lsap(253,6516 -static void iriap_disconnect_indication(286,7403 -void iriap_disconnect_request(331,8530 -void iriap_getinfobasedetails_request(355,9036 -void iriap_getinfobasedetails_confirm(360,9143 -void iriap_getobjects_request(365,9250 -void iriap_getobjects_confirm(370,9349 -void iriap_getvalue(375,9448 -int iriap_getvaluebyclass_request(386,9684 -void iriap_getvaluebyclass_confirm(448,11403 -void iriap_getvaluebyclass_response(555,13978 -void iriap_getvaluebyclass_indication(644,16219 -void iriap_send_ack(706,17673 -void iriap_connect_request(731,18177 -static void iriap_connect_confirm(753,18651 -static void iriap_connect_indication(783,19354 -static int iriap_data_indication(831,20525 -void iriap_call_indication(926,22804 -void iriap_watchdog_timer_expired(965,23642 -static const char *ias_value_types[977,23871 -static inline struct ias_object *irias_seq_idx(984,23978 -static void *irias_seq_start(997,24258 -static void *irias_seq_next(1004,24431 -static void irias_seq_stop(1013,24642 -static int irias_seq_show(1018,24752 -static struct seq_operations irias_seq_ops 1077,26270 -static int irias_seq_open(1084,26430 -struct file_operations irias_seq_fops 1091,26592 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irias_object.c,859 -hashbin_t *irias_objects;32,1133 -struct ias_value irias_missing 37,1218 -static char *strndup(46,1403 -struct ias_object *irias_new_object(79,1960 -void __irias_delete_attrib(119,2946 -void __irias_delete_object(133,3225 -int irias_delete_object(155,3689 -int irias_delete_attrib(179,4217 -void irias_insert_object(209,4938 -struct ias_object *irias_find_object(224,5262 -struct ias_attrib *irias_find_attrib(239,5576 -void irias_add_attrib(262,6085 -int irias_object_change_attribute(283,6651 -void irias_add_integer_attrib(335,7969 -void irias_add_octseq_attrib(369,8828 -void irias_add_string_attrib(403,9700 -struct ias_value *irias_new_integer_value(437,10530 -struct ias_value *irias_new_string_value(463,11098 -struct ias_value *irias_new_octseq_value(490,11760 -struct ias_value *irias_new_missing_value(518,12442 -void irias_delete_value(541,12853 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_tty.c,1258 -static struct tty_driver *driver;78,3272 -hashbin_t *ircomm_tty 80,3307 -static struct tty_operations ops 82,3338 -int __init ircomm_tty_init(111,4326 -static void __exit __ircomm_tty_cleanup(143,5294 -void __exit ircomm_tty_cleanup(162,5638 -static int ircomm_tty_startup(184,6023 -static int ircomm_tty_block_til_ready(242,7547 -static int ircomm_tty_open(363,10908 -static void ircomm_tty_close(491,14615 -static void ircomm_tty_flush_buffer(584,17098 -static void ircomm_tty_do_softint(605,17684 -static int ircomm_tty_write(672,19392 -static int ircomm_tty_write_room(826,24333 -static void ircomm_tty_wait_until_sent(866,25398 -static void ircomm_tty_throttle(904,26553 -static void ircomm_tty_unthrottle(935,27411 -static int ircomm_tty_chars_in_buffer(965,28184 -static void ircomm_tty_shutdown(984,28606 -static void ircomm_tty_hangup(1029,29492 -static void ircomm_tty_send_xchar(1061,30268 -void ircomm_tty_start(1072,30540 -void ircomm_tty_stop(1085,30870 -void ircomm_tty_check_modem_status(1102,31378 -static int ircomm_tty_data_indication(1165,32839 -static int ircomm_tty_control_indication(1214,34299 -static void ircomm_tty_flow_indication(1243,35117 -static int ircomm_tty_line_info(1271,35815 -static int ircomm_tty_read_proc(1381,39725 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_param.c,866 -static pi_minor_info_t pi_minor_call_table_common[66,2749 -static pi_minor_info_t pi_minor_call_table_non_raw[71,2944 -static pi_minor_info_t pi_minor_call_table_9_wire[79,3304 -static pi_major_info_t pi_major_call_table[85,3503 -pi_param_info_t ircomm_param_info 92,3710 -int ircomm_param_flush(100,3880 -int ircomm_param_request(117,4246 -static int ircomm_param_service_type(182,5810 -static int ircomm_param_port_type(249,7917 -static int ircomm_param_port_name(273,8448 -static int ircomm_param_data_rate(296,9017 -static int ircomm_param_data_format(319,9562 -static int ircomm_param_flow_control(341,10068 -static int ircomm_param_xon_xoff(365,10629 -static int ircomm_param_enq_ack(392,11319 -static int ircomm_param_line_status(419,11979 -static int ircomm_param_dte(433,12326 -static int ircomm_param_dce(478,13289 -static int ircomm_param_poll(510,14002 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_ttp.c,412 -int ircomm_open_tsap(49,1672 -int ircomm_ttp_connect_request(90,2849 -int ircomm_ttp_connect_response(115,3358 -int ircomm_ttp_data_request(140,4081 -int ircomm_ttp_data_indication(178,4887 -void ircomm_ttp_connect_confirm(197,5363 -void ircomm_ttp_connect_indication(237,6396 -int ircomm_ttp_disconnect_request(276,7370 -void ircomm_ttp_disconnect_indication(297,7778 -void ircomm_ttp_flow_indication(324,8449 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_tty_attach.c,1261 -char *ircomm_tty_state[83,3241 -char *ircomm_tty_event[93,3439 -static int (*state[110,3900 -static int (*state[])(struct ircomm_tty_cb *self,110,3900 -static int (*state[])(struct ircomm_tty_cb *self, IRCOMM_TTY_EVENT event,110,3900 - struct sk_buff *skb,111,3974 - struct sk_buff *skb, struct ircomm_tty_info *info)111,3974 -int ircomm_tty_attach_cable(128,4479 -void ircomm_tty_detach_cable(163,5334 -static void ircomm_tty_ias_register(202,6191 -int ircomm_tty_send_initial_parameters(251,7709 -static void ircomm_tty_discovery_indication(310,9631 -void ircomm_tty_disconnect_indication(355,11017 -static void ircomm_tty_getvalue_confirm(385,11703 -void ircomm_tty_connect_confirm(444,13202 -void ircomm_tty_connect_indication(474,14038 -void ircomm_tty_link_established(510,14951 -void ircomm_tty_start_watchdog_timer(567,16760 -void ircomm_tty_watchdog_timer_expired(582,17163 -static int ircomm_tty_state_idle(600,17575 -static int ircomm_tty_state_search(663,19275 -static int ircomm_tty_state_query_parameters(734,21187 -static int ircomm_tty_state_query_lsap_sel(790,22766 -static int ircomm_tty_state_setup(838,24099 -static int ircomm_tty_state_ready(890,25516 -int ircomm_tty_do_event(933,26562 -void ircomm_tty_next_state(951,27045 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_tty_ioctl.c,319 -#define RELEVANT_IFLAG(RELEVANT_IFLAG48,1676 -void ircomm_tty_change_speed(56,1940 -void ircomm_tty_set_termios(148,4471 -int ircomm_tty_tiocmget(198,5681 -int ircomm_tty_tiocmset(223,6382 -static int ircomm_tty_get_serial_info(262,7268 -static int ircomm_tty_set_serial_info(299,8013 -int ircomm_tty_ioctl(374,10246 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_event.c,532 -char *ircomm_state[53,2135 -char *ircomm_event[60,2230 -static int (*state[79,2756 -static int (*state[])(struct ircomm_cb *self,79,2756 -static int (*state[])(struct ircomm_cb *self, IRCOMM_EVENT event,79,2756 - struct sk_buff *skb,80,2822 - struct sk_buff *skb, struct ircomm_info *info)80,2822 -static int ircomm_state_idle(94,3061 -static int ircomm_state_waiti(123,3839 -static int ircomm_state_waitr(153,4639 -static int ircomm_state_conn(186,5501 -int ircomm_do_event(228,6575 -void ircomm_next_state(243,6942 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_core.c,973 -static struct file_operations ircomm_proc_fops 60,2166 -hashbin_t *ircomm 69,2393 -int __init ircomm_init(71,2420 -void __exit ircomm_cleanup(92,2835 -struct ircomm_cb *ircomm_open(109,3147 -static int __ircomm_close(158,4112 -int ircomm_close(189,4637 -int ircomm_connect_request(214,5205 -void ircomm_connect_indication(245,5872 -int ircomm_connect_response(276,6687 -void ircomm_connect_confirm(298,7144 -int ircomm_data_request(319,7655 -void ircomm_data_indication(342,8133 -void ircomm_process_data(361,8573 -int ircomm_control_request(394,9271 -static void ircomm_control_indication(417,9766 -int ircomm_disconnect_request(451,10632 -void ircomm_disconnect_indication(474,11133 -void ircomm_flow_request(495,11606 -static void *ircomm_seq_start(511,11954 -static void *ircomm_seq_next(528,12300 -static void ircomm_seq_stop(535,12431 -static int ircomm_seq_show(540,12535 -static struct seq_operations ircomm_seq_ops 569,13299 -static int ircomm_seq_open(576,13464 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/ircomm/ircomm_lmp.c,409 -int ircomm_open_lsap(50,1825 -int ircomm_lmp_connect_request(89,2934 -int ircomm_lmp_connect_response(112,3416 -int ircomm_lmp_disconnect_request(144,4116 -void ircomm_lmp_flow_control(178,4965 -int ircomm_lmp_data_request(218,5988 -int ircomm_lmp_data_indication(259,7114 -void ircomm_lmp_connect_confirm(285,7793 -void ircomm_lmp_connect_indication(318,8681 -void ircomm_lmp_disconnect_indication(350,9558 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlmp_frame.c,488 -inline void irlmp_send_data_pdu(41,1475 -void irlmp_send_lcf_pdu(59,1935 -void irlmp_link_data_indication(91,2576 -void irlmp_link_unitdata_indication(201,5738 -void irlmp_link_disconnect_indication(269,7563 -void irlmp_link_connect_indication(296,8153 -void irlmp_link_connect_confirm(318,8654 -void irlmp_link_discovery_indication(363,10400 -void irlmp_link_discovery_confirm(385,11086 -static inline void irlmp_update_cache(405,11705 -static struct lsap_cb *irlmp_find_lsap(435,12836 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlap_frame.c,1405 -static inline void irlap_insert_info(53,1757 -void irlap_queue_xmit(89,2709 -void irlap_send_snrm_frame(107,3112 -static void irlap_recv_snrm_cmd(157,4178 -void irlap_send_ua_response_frame(198,5293 -void irlap_send_dm_frame(242,6182 -void irlap_send_disc_frame(272,6683 -void irlap_send_discovery_xid_frame(300,7242 -static void irlap_recv_discovery_xid_rsp(391,9234 -static void irlap_recv_discovery_xid_cmd(468,11295 -void irlap_send_rr_frame(570,13746 -void irlap_send_rd_frame(595,14230 -static inline void irlap_recv_rr_frame(619,14712 -void irlap_send_frmr_frame(632,15062 -static void irlap_recv_rnr_frame(666,15738 -static void irlap_recv_rej_frame(679,16085 -static void irlap_recv_srej_frame(693,16455 -static void irlap_recv_disc_frame(707,16829 -static inline void irlap_recv_ua_frame(725,17280 -void irlap_send_data_primary(738,17594 -void irlap_send_data_primary_poll(779,18597 -void irlap_send_data_secondary_final(884,22089 -void irlap_send_data_secondary(946,23652 -void irlap_resend_rejected_frames(989,24742 -void irlap_resend_rejected_frame(1070,26702 -void irlap_send_ui_frame(1112,27756 -void irlap_send_i_frame(1132,28222 -static inline void irlap_recv_i_frame(1151,28738 -static void irlap_recv_ui_frame(1172,29353 -static void irlap_recv_frmr_frame(1188,29709 -void irlap_send_test_frame(1243,31096 -static void irlap_recv_test_frame(1283,32076 -int irlap_driver_rcv(1337,33611 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/af_irda.c,1693 -static struct proto_ops irda_stream_ops;65,2463 -static struct proto_ops irda_seqpacket_ops;66,2504 -static struct proto_ops irda_dgram_ops;67,2548 -static struct proto_ops irda_ultra_ops;70,2614 -#define ULTRA_MAX_DATA 71,2654 -#define IRDA_MAX_HEADER 74,2713 -static int irda_data_indication(82,2895 -static void irda_disconnect_indication(114,3576 -static void irda_connect_confirm(178,5453 -static void irda_connect_indication(241,6960 -void irda_connect_response(301,8378 -static void irda_flow_indication(328,8954 -static void irda_getvalue_confirm(369,9975 -static void irda_selective_discovery_indication(415,11136 -static void irda_discovery_timeout(444,11853 -static int irda_open_tsap(468,12334 -static int irda_open_lsap(508,13472 -static int irda_find_lsap_sel(544,14441 -static int irda_discover_daddr_and_lsap_sel(625,16769 -static int irda_getname(716,19461 -static int irda_listen(752,20324 -static int irda_bind(778,20849 -static int irda_accept(832,22177 -static int irda_connect(969,25926 -static int irda_create(1067,28607 -void irda_destroy_socket(1158,31074 -static int irda_release(1196,31824 -static int irda_sendmsg(1260,33833 -static int irda_recvmsg_dgram(1336,35829 -static int irda_recvmsg_stream(1387,37105 -static int irda_sendmsg_dgram(1513,40076 -static int irda_sendmsg_ultra(1583,41807 -static int irda_shutdown(1673,44098 -static unsigned int irda_poll(1708,44918 -static int irda_ioctl(1770,46247 -static int irda_setsockopt(1829,47567 -static int irda_extract_ias_value(2083,54828 -static int irda_getsockopt(2123,55963 -static struct net_proto_family irda_family_ops 2452,65261 -int __init irsock_init(2558,67930 -void __exit irsock_cleanup(2571,68084 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irmod.c,182 -unsigned int irda_debug 63,2157 -static struct packet_type irda_packet_type 72,2421 -void irda_notify_init(83,2678 -int __init irda_init(103,3224 -void __exit irda_cleanup(139,3874 - -/export0/mef/linux-2.6.9-1.11_FC2/net/irda/irlmp.c,2382 -struct irlmp_cb *irlmp 48,1579 -int sysctl_discovery 51,1662 -int sysctl_discovery_timeout 52,1697 -int sysctl_discovery_slots 54,1800 -int sysctl_lap_keepalive_time 55,1860 -char sysctl_devname[56,1922 -const char *irlmp_reasons[58,1948 -int __init irlmp_init(75,2251 -void __exit irlmp_cleanup(118,3302 -struct lsap_cb *irlmp_open_lsap(143,3957 -static void __irlmp_close_lsap(200,5414 -void irlmp_close_lsap(225,5869 -void irlmp_register_link(278,7405 -void irlmp_unregister_link(333,8614 -int irlmp_connect_request(367,9509 -void irlmp_connect_indication(510,13295 -int irlmp_connect_response(553,14555 -void irlmp_connect_confirm(583,15443 -struct lsap_cb *irlmp_dup(624,16580 -int irlmp_disconnect_request(683,18313 -void irlmp_disconnect_indication(745,20051 -void irlmp_do_expiry(807,21774 -void irlmp_do_discovery(840,22661 -void irlmp_discovery_request(890,24146 -struct irda_device_info *irlmp_get_discoveries(920,25003 -irlmp_notify_client(957,26215 -void irlmp_discovery_confirm(1010,27864 -void irlmp_discovery_expiry(1044,28837 -discovery_t *irlmp_get_discovery_response(1081,29826 -int irlmp_data_request(1116,30777 -void irlmp_data_indication(1142,31390 -int irlmp_udata_request(1157,31769 -void irlmp_udata_indication(1183,32343 -int irlmp_connless_data_request(1206,32923 -void irlmp_connless_data_indication(1261,34323 -void irlmp_status_request(1281,34881 -void irlmp_status_indication(1293,35246 -void irlmp_flow_indication(1327,36355 -__u8 *irlmp_hint_to_service(1376,38140 -static const __u16 service_hint_mapping[1446,39696 -__u16 irlmp_service_to_hint(1467,40349 -void *irlmp_register_service(1484,40676 -int irlmp_unregister_service(1513,41350 -void *irlmp_register_client(1558,42605 -int irlmp_update_client(1594,43553 -int irlmp_unregister_client(1624,44184 -int irlmp_slsap_inuse(1653,44847 -__u8 irlmp_find_free_slsap(1715,46657 -LM_REASON irlmp_convert_lap_reason(1751,47441 -struct irlmp_iter_state irlmp_iter_state1786,48424 -#define LSAP_START_TOKEN 1790,48475 -#define LINK_START_TOKEN 1791,48512 -static void *irlmp_seq_hb_idx(1793,48550 -static void *irlmp_seq_start(1812,48989 -static void *irlmp_seq_next(1834,49417 -static void irlmp_seq_stop(1864,50120 -static int irlmp_seq_show(1872,50299 -static struct seq_operations irlmp_seq_ops 1930,52104 -static int irlmp_seq_open(1937,52264 -struct file_operations irlmp_seq_fops 1962,52676 - -/export0/mef/linux-2.6.9-1.11_FC2/net/econet/af_econet.c,1701 -static struct proto_ops econet_ops;48,1210 -static struct hlist_head econet_sklist;49,1246 -static rwlock_t econet_lock 50,1286 -static struct net_device *net2dev_map[54,1473 -#define EC_PORT_IP 56,1518 -static spinlock_t aun_queue_lock;59,1571 -static struct socket *udpsock;60,1605 -#define AUN_PORT 61,1636 -struct aunhdraunhdr64,1662 -static unsigned long aun_seq;73,1817 -static struct sk_buff_head aun_queue;76,1898 -static struct timer_list ab_cleanup_timer;77,1936 -struct ec_cbec_cb82,2045 -static void econet_remove_socket(97,2377 -static void econet_insert_socket(104,2542 -static int econet_recvmsg(116,2807 -static int econet_bind(183,4236 -static void tx_result(210,4834 -static void ec_tx_done(240,5525 -static int econet_sendmsg(252,5820 -static int econet_getname(484,11266 -static void econet_destroy_timer(503,11688 -static int econet_release(522,12056 -static int econet_create(562,12788 -static int ec_dev_ioctl(605,13566 -static int econet_ioctl(675,14984 -static struct net_proto_family econet_family_ops 696,15382 -static struct sock *ec_listening_socket(731,16269 -static int ec_queue_packet(753,16749 -static void aun_send_response(777,17323 -static void aun_incoming(803,18023 -static void aun_tx_ack(850,19236 -static void aun_data_available(883,19981 -static void ab_cleanup(936,21169 -static int __init aun_udp_initialise(961,21751 -static int econet_rcv(1013,22848 -static struct packet_type econet_packet_type 1056,23723 -static void econet_hw_initialise(1061,23840 -static int econet_notifier(1068,23928 -static struct notifier_block econet_netdev_notifier 1091,24409 -static void __exit econet_proto_exit(1095,24503 -static int __init econet_proto_init(1106,24757 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/sysctl_net_rose.c,572 -static int min_timer[15,440 -static int max_timer[16,476 -static int min_idle[17,514 -static int max_idle[18,550 -static int min_route[19,590 -static int min_route[1], max_route[19,590 -static int min_ftimer[20,640 -static int max_ftimer[21,677 -static int min_maxvcs[22,715 -static int min_window[23,768 -static struct ctl_table_header *rose_table_header;25,820 -static ctl_table rose_table[27,872 -static ctl_table rose_dir_table[141,3947 -static ctl_table rose_root_table[151,4101 -void __init rose_register_sysctl(161,4258 -void rose_unregister_sysctl(166,4366 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/af_rose.c,2291 -static int rose_ndevs 48,1377 -int sysctl_rose_restart_request_timeout 50,1406 -int sysctl_rose_call_request_timeout 51,1465 -int sysctl_rose_reset_request_timeout 52,1524 -int sysctl_rose_clear_request_timeout 53,1583 -int sysctl_rose_no_activity_timeout 54,1642 -int sysctl_rose_ack_hold_back_timeout 55,1703 -int sysctl_rose_routing_control 56,1762 -int sysctl_rose_link_fail_timeout 57,1826 -int sysctl_rose_maximum_vcs 58,1895 -int sysctl_rose_window_size 59,1957 -spinlock_t rose_list_lock 62,2056 -static struct proto_ops rose_proto_ops;64,2105 -ax25_address rose_callsign;66,2146 -const char *rose2asc(71,2219 -int rosecmp(93,2767 -int rosecmpm(107,3006 -static struct sock *rose_alloc_sock(129,3390 -static void rose_remove_socket(154,3796 -void rose_kill_by_neigh(165,4035 -static void rose_kill_by_device(186,4474 -static int rose_device_event(207,4897 -static void rose_insert_socket(231,5335 -static struct sock *rose_find_listener(243,5568 -struct sock *rose_find_socket(275,6306 -unsigned int rose_new_lci(296,6709 -static void rose_destroy_timer(321,7251 -void rose_destroy_socket(332,7621 -static int rose_setsockopt(371,8573 -static int rose_getsockopt(431,9531 -static int rose_listen(489,10429 -static int rose_create(508,10880 -static struct sock *rose_make_new(547,11729 -static int rose_release(596,12804 -static int rose_bind(642,13642 -static int rose_connect(701,15170 -static int rose_accept(834,18689 -static int rose_getname(900,19954 -int rose_rx_call_request(930,20853 -static int rose_sendmsg(1011,23149 -#define ROSE_PACLEN 1125,26145 -static int rose_recvmsg(1181,27340 -static int rose_ioctl(1247,29048 -static void *rose_info_start(1345,31556 -static void *rose_info_next(1364,31851 -static void rose_info_stop(1372,32024 -static int rose_info_show(1377,32121 -static struct seq_operations rose_info_seqops 1429,33437 -static int rose_info_open(1436,33593 -static struct file_operations rose_info_fops 1441,33707 -static struct net_proto_family rose_family_ops 1450,33902 -static struct proto_ops rose_proto_ops 1456,34027 -static struct notifier_block rose_dev_notifier 1477,34553 -static struct net_device **dev_rose;1481,34645 -static const char banner[1483,34683 -static int __init rose_proto_init(1485,34792 -static void __exit rose_exit(1560,36774 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_dev.c,315 -int rose_rx_ip(44,1059 -static int rose_header(72,1579 -static int rose_rebuild_header(89,1931 -static int rose_set_mac_address(123,2561 -static int rose_open(136,2842 -static int rose_close(143,2984 -static int rose_xmit(150,3126 -static struct net_device_stats *rose_get_stats(163,3434 -void rose_setup(168,3556 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_link.c,593 -void rose_start_ftimer(34,950 -void rose_start_t0timer(45,1224 -void rose_stop_ftimer(56,1511 -void rose_stop_t0timer(61,1592 -int rose_ftimer_running(66,1675 -int rose_t0timer_running(71,1769 -static void rose_ftimer_expiry(76,1865 -static void rose_t0timer_expiry(80,1922 -static int rose_send_frame(96,2288 -static int rose_link_up(115,2827 -void rose_link_rx_restart(132,3230 -void rose_transmit_restart_request(168,4144 -void rose_transmit_restart_confirmation(197,4765 -void rose_transmit_diagnostic(224,5343 -void rose_transmit_clear_request(253,5987 -void rose_transmit_link(279,6630 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_loopback.c,331 -static struct sk_buff_head loopback_queue;17,498 -static struct timer_list loopback_timer;18,541 -void rose_loopback_init(22,627 -static int rose_loopback_running(29,732 -int rose_loopback_queue(34,816 -static void rose_set_loopback_timer(54,1160 -static void rose_loopback_timer(65,1387 -void __exit rose_loopback_clear(101,2256 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_in.c,239 -static int rose_state1_machine(42,1376 -static int rose_state2_machine(79,2256 -static int rose_state3_machine(107,2874 -static int rose_state4_machine(217,5741 -static int rose_state5_machine(254,6622 -int rose_process_rx_frame(266,6948 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_subr.c,372 -void rose_clear_queues(34,903 -void rose_frames_acked(45,1195 -void rose_requeue_frames(62,1573 -int rose_validate_nr(84,2122 -void rose_write_internal(101,2456 -int rose_decode(200,4604 -static int rose_parse_national(238,5421 -static int rose_parse_ccitt(307,7122 -int rose_parse_facilities(356,8057 -int rose_create_facilities(397,8886 -void rose_disconnect(491,11131 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_timer.c,431 -void rose_start_heartbeat(36,1050 -void rose_start_t1timer(47,1290 -void rose_start_t2timer(60,1552 -void rose_start_t3timer(73,1814 -void rose_start_hbtimer(86,2076 -void rose_start_idletimer(99,2338 -void rose_stop_heartbeat(114,2658 -void rose_stop_timer(119,2732 -void rose_stop_idletimer(124,2808 -static void rose_heartbeat_expiry(129,2892 -static void rose_timer_expiry(166,3829 -static void rose_idletimer_expiry(195,4469 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_route.c,2210 -static unsigned int rose_neigh_no 40,1132 -static struct rose_node *rose_node_list;42,1172 -static spinlock_t rose_node_list_lock 43,1214 -struct rose_neigh *rose_neigh_list;44,1274 -static spinlock_t rose_neigh_list_lock 45,1310 -static struct rose_route *rose_route_list;46,1371 -static spinlock_t rose_route_list_lock 47,1414 -struct rose_neigh *rose_loopback_neigh;49,1476 -static int rose_add_node(57,1674 -static void rose_remove_node(205,5276 -static void rose_remove_neigh(229,5679 -static void rose_remove_route(267,6497 -static int rose_del_node(298,7116 -int rose_add_loopback_neigh(373,8644 -int rose_add_loopback_node(405,9554 -void rose_del_loopback_node(450,10491 -void rose_rt_device_down(479,11053 -void rose_route_device_down(531,12037 -static int rose_clear_routes(553,12582 -struct net_device *rose_ax25_dev_get(590,13313 -struct net_device *rose_dev_first(607,13621 -struct net_device *rose_dev_get(625,14030 -static int rose_dev_exists(641,14393 -struct rose_route *rose_route_free_lci(658,14738 -struct rose_neigh *rose_get_neigh(673,15162 -int rose_rt_ioctl(712,15961 -static void rose_del_route_by_neigh(754,16933 -void rose_link_failed(801,18279 -void rose_link_device_down(826,18847 -int rose_route_frame(841,19199 -static void *rose_node_start(1071,25378 -static void *rose_node_next(1086,25711 -static void rose_node_stop(1094,25883 -static int rose_node_show(1099,25986 -static struct seq_operations rose_node_seqops 1127,26615 -static int rose_nodes_open(1134,26771 -struct file_operations rose_nodes_fops 1139,26886 -static void *rose_neigh_start(1147,27048 -static void *rose_neigh_next(1162,27390 -static void rose_neigh_stop(1170,27565 -static int rose_neigh_show(1175,27669 -static struct seq_operations rose_neigh_seqops 1208,28618 -static int rose_neigh_open(1215,28779 -struct file_operations rose_neigh_fops 1220,28895 -static void *rose_route_start(1229,29058 -static void *rose_route_next(1244,29400 -static void rose_route_stop(1252,29575 -static int rose_route_show(1257,29679 -static struct seq_operations rose_route_seqops 1290,30517 -static int rose_route_open(1297,30678 -struct file_operations rose_routes_fops 1302,30794 -void __exit rose_rt_free(1315,31056 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rose/rose_out.c,98 -static void rose_send_iframe(34,972 -void rose_kick(49,1258 -void rose_enquiry_response(113,2537 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_proc.c,949 -static __inline__ struct x25_route *x25_get_route_idx(28,782 -static void *x25_seq_route_start(42,1058 -static void *x25_seq_route_next(50,1241 -static void x25_seq_route_stop(71,1661 -static int x25_seq_route_show(76,1767 -static __inline__ struct sock *x25_get_socket_idx(93,2103 -static void *x25_seq_socket_start(106,2305 -static void *x25_seq_socket_next(114,2484 -static void x25_seq_socket_stop(128,2696 -static int x25_seq_socket_show(133,2797 -struct seq_operations x25_seq_route_ops 168,3821 -struct seq_operations x25_seq_socket_ops 175,3994 -static int x25_seq_socket_open(182,4172 -static int x25_seq_route_open(187,4293 -static struct file_operations x25_seq_socket_fops 192,4412 -static struct file_operations x25_seq_route_fops 200,4593 -static struct proc_dir_entry *x25_proc_dir;208,4772 -int __init x25_proc_init(210,4817 -void __exit x25_proc_exit(238,5362 -int __init x25_proc_init(247,5551 -void __exit x25_proc_exit(252,5598 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/sysctl_net_x25.c,331 -static int min_timer[16,361 -static int max_timer[17,400 -static struct ctl_table_header *x25_table_header;19,440 -static struct ctl_table x25_table[21,491 -static struct ctl_table x25_dir_table[80,2083 -static struct ctl_table x25_root_table[90,2230 -void __init x25_register_sysctl(100,2382 -void x25_unregister_sysctl(105,2487 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_dev.c,208 -static int x25_receive_data(47,1330 -int x25_lapb_receive_frame(100,2420 -int x25_llc_receive_frame(143,3171 -void x25_establish_link(166,3607 -void x25_terminate_link(195,4121 -void x25_send_frame(221,4598 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_subr.c,244 -void x25_clear_queues(48,1358 -void x25_frames_acked(65,1806 -void x25_requeue_frames(82,2235 -int x25_validate_nr(104,2774 -void x25_write_internal(123,3186 -int x25_decode(262,6479 -void x25_disconnect(329,8202 -void x25_check_rbuf(357,8862 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_link.c,804 -static struct list_head x25_neigh_list 46,1323 -static rwlock_t x25_neigh_list_lock 47,1396 -static inline void x25_start_t20timer(54,1543 -static void x25_t20timer_expiry(59,1654 -static inline void x25_stop_t20timer(68,1825 -static inline int x25_t20timer_pending(73,1916 -void x25_link_control(81,2078 -void x25_transmit_restart_request(122,3034 -void x25_transmit_restart_confirmation(149,3575 -void x25_transmit_diagnostic(174,4080 -void x25_transmit_clear_request(201,4659 -void x25_transmit_link(228,5221 -void x25_link_established(249,5668 -void x25_link_terminated(268,6043 -void x25_link_device_up(278,6247 -static void __x25_remove_neigh(317,7197 -void x25_link_device_down(331,7434 -struct x25_neigh *x25_get_neigh(353,7858 -int x25_subscr_ioctl(377,8320 -void __exit x25_link_free(425,9369 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/af_x25.c,1713 -int sysctl_x25_restart_request_timeout 63,2101 -int sysctl_x25_call_request_timeout 64,2159 -int sysctl_x25_reset_request_timeout 65,2217 -int sysctl_x25_clear_request_timeout 66,2275 -int sysctl_x25_ack_holdback_timeout 67,2333 -rwlock_t x25_list_lock 70,2413 -static struct proto_ops x25_proto_ops;72,2457 -static struct x25_address null_x25_address 74,2497 -int x25_addr_ntoa(76,2564 -int x25_addr_aton(113,3319 -static void x25_remove_socket(154,4150 -static void x25_kill_by_device(164,4345 -static int x25_device_event(181,4695 -static void x25_insert_socket(217,5399 -static struct sock *x25_find_listener(228,5629 -struct sock *__x25_find_socket(253,6153 -struct sock *x25_find_socket(268,6432 -unsigned int x25_new_lci(281,6680 -static void x25_destroy_timer(308,7081 -void x25_destroy_socket(320,7488 -static int x25_setsockopt(365,8466 -static int x25_getsockopt(389,8889 -static int x25_listen(418,9441 -static struct sock *x25_alloc_socket(433,9742 -static int x25_create(466,10369 -static struct sock *x25_make_new(507,11407 -static int x25_release(545,12318 -static int x25_bind(584,13059 -static int x25_wait_for_connection_establishment(602,13504 -static int x25_connect(631,14099 -static int x25_wait_for_data(720,16160 -static int x25_accept(749,16777 -static int x25_getname(788,17530 -int x25_rx_call_request(808,17989 -static int x25_sendmsg(910,20098 -static int x25_recvmsg(1086,24600 -static int x25_ioctl(1177,26467 -struct net_proto_family x25_family_ops 1315,29561 -static struct packet_type x25_packet_type 1345,30260 -struct notifier_block x25_dev_notifier 1350,30381 -void x25_kill_by_neigh(1354,30464 -static int __init x25_init(1368,30734 -static void __exit x25_exit(1386,31064 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_in.c,264 -static int x25_queue_rx_frame(48,1391 -static int x25_state1_machine(100,2661 -static int x25_state2_machine(153,3990 -static int x25_state3_machine(178,4524 -static int x25_state4_machine(305,7779 -int x25_process_rx_frame(337,8474 -int x25_backlog_rcv(367,9129 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_facilities.c,145 -int x25_parse_facilities(46,1268 -int x25_create_facilities(120,2979 -int x25_negotiate_facilities(172,4289 -void x25_limit_facilities(231,5909 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_timer.c,430 -void x25_init_timers(46,1277 -void x25_start_heartbeat(59,1596 -void x25_stop_heartbeat(64,1688 -void x25_start_t2timer(69,1761 -void x25_start_t21timer(76,1886 -void x25_start_t22timer(83,2013 -void x25_start_t23timer(90,2140 -void x25_stop_timer(97,2267 -unsigned long x25_display_timer(102,2341 -static void x25_heartbeat_expiry(112,2516 -static inline void x25_do_timer_expiry(153,3419 -static void x25_timer_expiry(179,3965 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_route.c,371 -struct list_head x25_route_list 25,687 -rwlock_t x25_route_list_lock 26,753 -static int x25_add_route(31,830 -static void __x25_remove_route(74,1806 -static int x25_del_route(82,1933 -void x25_route_device_down(109,2513 -struct net_device *x25_dev_get(128,2936 -struct x25_route *x25_get_route(149,3390 -int x25_route_ioctl(177,3941 -void __exit x25_route_free(210,4569 - -/export0/mef/linux-2.6.9-1.11_FC2/net/x25/x25_out.c,163 -static int x25_pacsize_to_bytes(45,1346 -int x25_output(64,1673 -static void x25_send_iframe(130,3377 -void x25_kick(150,3825 -void x25_enquiry_response(226,5379 - -/export0/mef/linux-2.6.9-1.11_FC2/net/nonet.c,107 -void __init sock_init(17,338 -static int sock_no_open(22,424 -struct file_operations bad_sock_fops 27,518 - -/export0/mef/linux-2.6.9-1.11_FC2/net/appletalk/ddp.c,2778 -struct datalink_proto *ddp_dl,64,2205 -struct datalink_proto *ddp_dl, *aarp_dl;64,2205 -static struct proto_ops atalk_dgram_ops;65,2246 -rwlock_t atalk_sockets_lock 74,2701 -static inline void __atalk_insert_socket(76,2750 -static inline void atalk_insert_socket(81,2847 -static inline void atalk_remove_socket(88,3012 -static struct sock *atalk_search_socket(95,3172 -static struct sock *atalk_find_or_insert_socket(144,4569 -static void atalk_destroy_timer(167,5117 -static inline void atalk_destroy_socket(179,5401 -struct atalk_route *atalk_routes;202,6292 -rwlock_t atalk_routes_lock 203,6326 -struct atalk_iface *atalk_interfaces;205,6374 -rwlock_t atalk_interfaces_lock 206,6412 -struct atalk_route atrtr_default;209,6517 -static void atif_drop_device(216,6734 -static struct atalk_iface *atif_add_device(234,7125 -static int atif_probe_device(258,7682 -static int atif_proxy_probe_device(305,9001 -struct atalk_addr *atalk_find_dev_addr(350,10278 -static struct atalk_addr *atalk_find_primary(356,10431 -static struct atalk_iface *atalk_find_anynet(391,11277 -static struct atalk_iface *atalk_find_interface(410,11686 -static struct atalk_route *atrtr_find(439,12567 -struct net_device *atrtr_get_dev(491,13677 -static void atrtr_set_default(498,13842 -static int atrtr_create(511,14222 -static int atrtr_delete(594,16128 -void atrtr_device_down(622,16710 -static inline void atalk_dev_down(643,17134 -static int ddp_device_event(654,17491 -static int atif_ioctl(666,17790 -static int atrtr_ioctl(885,24600 -static unsigned long atalk_sum_partial(927,25833 -static unsigned long atalk_sum_skb(944,26190 -static unsigned short atalk_checksum(1013,27597 -static int atalk_create(1028,27948 -static int atalk_release(1063,28733 -static int atalk_pick_and_bind_port(1085,29235 -static int atalk_autobind(1121,29991 -static int atalk_bind(1142,30470 -static int atalk_connect(1188,31563 -static int atalk_getname(1238,32666 -static __inline__ int is_ip_over_ddp(1270,33423 -static int handle_ip_over_ddp(1275,33522 -#define is_ip_over_ddp(is_ip_over_ddp1297,34153 -#define handle_ip_over_ddp(handle_ip_over_ddp1298,34183 -static void atalk_route_packet(1301,34225 -static int atalk_rcv(1399,36878 -static int ltalk_rcv(1491,39356 -static int atalk_sendmsg(1544,40769 -static int atalk_recvmsg(1704,44761 -static int atalk_ioctl(1758,46072 -static struct net_proto_family atalk_family_ops 1830,47613 -static struct notifier_block ddp_notifier 1860,48383 -struct packet_type ltalk_packet_type 1864,48469 -struct packet_type ppptalk_packet_type 1869,48580 -static unsigned char ddp_snap_id[1874,48691 -static char atalk_err_snap[1881,48927 -static char atalk_err_snap[] __initdata 1881,48927 -static int __init atalk_init(1885,49063 -static void __exit atalk_exit(1912,49782 - -/export0/mef/linux-2.6.9-1.11_FC2/net/appletalk/sysctl_net_atalk.c,277 -static struct ctl_table atalk_table[14,345 -static struct ctl_table atalk_dir_table[53,1316 -static struct ctl_table atalk_root_table[63,1475 -static struct ctl_table_header *atalk_table_header;73,1631 -void atalk_register_sysctl(75,1684 -void atalk_unregister_sysctl(80,1788 - -/export0/mef/linux-2.6.9-1.11_FC2/net/appletalk/aarp.c,1896 -int sysctl_aarp_expiry_time 42,1175 -int sysctl_aarp_tick_time 43,1223 -int sysctl_aarp_retransmit_limit 44,1267 -int sysctl_aarp_resolve_time 45,1325 -struct aarp_entry aarp_entry60,1799 -static struct aarp_entry *resolved[74,2179 -static struct aarp_entry *unresolved[75,2231 -static struct aarp_entry *proxies[76,2285 -static int unresolved_count;77,2336 -static rwlock_t aarp_lock 80,2398 -static struct timer_list aarp_timer;83,2498 -static void __aarp_expire(90,2599 -static void __aarp_send_query(101,2774 -static void aarp_send_reply(154,4201 -void aarp_send_probe(202,5406 -static void __aarp_expire_timer(249,6586 -static void __aarp_kick(268,6920 -static void __aarp_expire_device(290,7377 -static void aarp_expire_timeout(304,7636 -static int aarp_device_event(324,8122 -static void __aarp_expire_all(344,8575 -static void aarp_purge(356,8773 -static struct aarp_entry *aarp_alloc(373,9135 -static struct aarp_entry *__aarp_find_entry(388,9460 -void aarp_proxy_remove(404,9844 -static struct atalk_addr *__aarp_proxy_find(419,10174 -void aarp_send_probe_phase1(432,10516 -void aarp_probe_network(453,11210 -int aarp_proxy_probe_network(474,11665 -int aarp_send_ddp(536,13141 -static void __aarp_resolved(673,16417 -static int aarp_rcv(701,17063 -static struct notifier_block aarp_notifier 857,20772 -static unsigned char aarp_snap_id[861,20860 -void __init aarp_proto_init(863,20933 -void aarp_device_down(877,21385 -struct aarp_iter_state aarp_iter_state893,21707 -static struct aarp_entry *iter_next(904,21932 -static void *aarp_seq_start(936,22507 -static void *aarp_seq_next(947,22756 -static void aarp_seq_stop(970,23203 -static const char *dt2str(975,23294 -static int aarp_seq_show(984,23451 -static struct seq_operations aarp_seq_ops 1023,24631 -static int aarp_seq_open(1030,24786 -struct file_operations atalk_seq_arp_fops 1053,25183 -void aarp_cleanup_module(1063,25459 - -/export0/mef/linux-2.6.9-1.11_FC2/net/appletalk/atalk_proc.c,1343 -static __inline__ struct atalk_iface *atalk_get_interface_idx(19,468 -static void *atalk_seq_interface_start(29,644 -static void *atalk_seq_interface_next(37,841 -static void atalk_seq_interface_stop(54,1105 -static int atalk_seq_interface_show(59,1219 -static __inline__ struct atalk_route *atalk_get_route_idx(78,1688 -static void *atalk_seq_route_start(88,1856 -static void *atalk_seq_route_next(96,2041 -static void atalk_seq_route_stop(113,2293 -static int atalk_seq_route_show(118,2399 -static __inline__ struct sock *atalk_get_socket_idx(143,3006 -static void *atalk_seq_socket_start(156,3215 -static void *atalk_seq_socket_next(164,3403 -static void atalk_seq_socket_stop(178,3622 -static int atalk_seq_socket_show(183,3730 -struct seq_operations atalk_seq_interface_ops 208,4344 -struct seq_operations atalk_seq_route_ops 215,4547 -struct seq_operations atalk_seq_socket_ops 222,4730 -static int atalk_seq_interface_open(229,4918 -static int atalk_seq_route_open(234,5049 -static int atalk_seq_socket_open(239,5172 -static struct file_operations atalk_seq_interface_fops 244,5297 -static struct file_operations atalk_seq_route_fops 252,5488 -static struct file_operations atalk_seq_socket_fops 260,5671 -static struct proc_dir_entry *atalk_proc_dir;268,5856 -int __init atalk_proc_init(270,5903 -void __exit atalk_proc_exit(314,6883 - -/export0/mef/linux-2.6.9-1.11_FC2/net/socket.c,3701 -struct file_operations socket_file_ops 124,4305 -static struct net_proto_family *net_families[144,4782 -static atomic_t net_family_lockct 147,4888 -static spinlock_t net_family_lock 148,4940 -static void net_family_write_lock(155,5156 -static __inline__ void net_family_write_unlock(167,5359 -static __inline__ void net_family_read_lock(172,5449 -static __inline__ void net_family_read_unlock(178,5574 -#define net_family_write_lock(net_family_write_lock184,5670 -#define net_family_write_unlock(net_family_write_unlock185,5718 -#define net_family_read_lock(net_family_read_lock186,5768 -#define net_family_read_unlock(net_family_read_unlock187,5815 -#define MAX_SOCK_ADDR 202,6103 -int move_addr_to_kernel(222,6754 -int move_addr_to_user(250,7650 -#define SOCKFS_MAGIC 273,8065 -static kmem_cache_t * sock_inode_cachep;275,8098 -static struct inode *sock_alloc_inode(277,8140 -static void sock_destroy_inode(296,8593 -static void init_once(302,8743 -static int init_inodecache(311,9006 -static struct super_operations sockfs_ops 322,9267 -static struct super_block *sockfs_get_sb(328,9414 -static struct vfsmount *sock_mnt;334,9610 -static struct file_system_type sock_fs_type 336,9645 -static int sockfs_delete_dentry(341,9771 -static struct dentry_operations sockfs_dentry_operations 345,9841 -struct file * sock_map_file(366,10641 -int sock_map_fd(403,11472 -struct socket *sockfd_lookup(439,12278 -struct socket *sock_alloc(474,12934 -static int sock_no_open(501,13477 -struct file_operations bad_sock_fops 506,13571 -void sock_release(520,13899 -static inline int __sock_sendmsg(542,14303 -int sock_sendmsg(560,14673 -int kernel_sendmsg(574,14981 -static inline int __sock_recvmsg(592,15445 -int sock_recvmsg(611,15860 -int kernel_recvmsg(626,16197 -static void sock_aio_dtor(645,16685 -static ssize_t sock_aio_read(655,16913 -static ssize_t sock_aio_write(698,17937 -ssize_t sock_sendpage(736,18936 -int sock_readv_writev(751,19291 -static ssize_t sock_readv(777,19943 -static ssize_t sock_writev(788,20276 -void brioctl_set(808,20799 -void vlan_ioctl_set(819,21050 -void dlci_ioctl_set(830,21310 -static int sock_ioctl(843,21621 -int sock_create_lite(922,23346 -static unsigned int sock_poll(945,23771 -static int sock_mmap(956,24025 -int sock_close(963,24201 -static int sock_fasync(995,24962 -int sock_wake_async(1063,26178 -static int __sock_create(1088,26651 -int sock_create(1191,29117 -int sock_create_kern(1196,29250 -asmlinkage long sys_socket(1201,29388 -asmlinkage long sys_socketpair(1227,29829 -asmlinkage long sys_bind(1297,31191 -int sysctl_somaxconn 1325,31859 -asmlinkage long sys_listen(1327,31894 -asmlinkage long sys_accept(1361,32778 -asmlinkage long sys_connect(1431,34465 -asmlinkage long sys_getsockname(1461,35110 -asmlinkage long sys_getpeername(1491,35726 -asmlinkage long sys_sendto(1519,36398 -asmlinkage long sys_send(1562,37230 -asmlinkage long sys_recvfrom(1573,37566 -asmlinkage long sys_recv(1613,38385 -asmlinkage long sys_setsockopt(1623,38676 -asmlinkage long sys_getsockopt(1653,39348 -asmlinkage long sys_shutdown(1681,39888 -#define COMPAT_MSG(COMPAT_MSG1703,40342 -#define COMPAT_NAMELEN(COMPAT_NAMELEN1704,40441 -#define COMPAT_FLAGS(COMPAT_FLAGS1705,40498 -asmlinkage long sys_sendmsg(1712,40586 -asmlinkage long sys_recvmsg(1806,43132 -#define AL(AL1904,45598 -static unsigned char nargs[1905,45642 -asmlinkage long sys_socketcall(1918,45986 -int sock_register(2004,48166 -int sock_unregister(2030,48755 -void __init sock_init(2046,49042 -int tux_Dprintk;2086,49623 -int tux_TDprintk;2087,49640 -struct module *tux_module 2089,49659 -spinlock_t tux_module_lock 2094,49801 -asmlinkage long sys_tux 2096,49851 -void socket_seq_show(2132,50542 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_fifo.c,376 -struct fifo_sched_datafifo_sched_data40,1047 -bfifo_enqueue(46,1104 -bfifo_requeue(66,1569 -bfifo_dequeue(74,1729 -fifo_drop(85,1899 -fifo_reset(100,2122 -pfifo_enqueue(107,2220 -pfifo_requeue(126,2632 -pfifo_dequeue(134,2760 -static int fifo_init(139,2830 -static int fifo_dump(159,3275 -struct Qdisc_ops pfifo_qdisc_ops 175,3595 -struct Qdisc_ops bfifo_qdisc_ops 192,3965 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_cbq.c,2619 -struct cbq_classcbq_class91,3095 -struct cbq_sched_datacbq_sched_data161,5120 -#define L2T(L2T194,5909 -static __inline__ unsigned cbq_hash(197,5986 -cbq_class_lookup(205,6110 -cbq_reclassify(218,6370 -cbq_classify(242,7033 -static __inline__ void cbq_activate_class(345,9183 -static void cbq_deactivate_class(369,9711 -cbq_mark_toplevel(398,10333 -cbq_enqueue(420,10813 -cbq_requeue(467,11690 -static void cbq_ovl_classic(501,12344 -static void cbq_ovl_rclassic(555,13689 -static void cbq_ovl_delay(574,14047 -static void cbq_ovl_lowprio(610,15037 -static void cbq_ovl_drop(626,15395 -static void cbq_watchdog(635,15574 -static unsigned long cbq_undelay_prio(643,15725 -static void cbq_undelay(678,16523 -static int cbq_reshape_fail(714,17125 -cbq_update_toplevel(757,18060 -cbq_update(779,18571 -cbq_under_limit(864,20503 -cbq_dequeue_prio(904,21560 -cbq_dequeue_1(1007,23684 -cbq_dequeue(1025,24031 -static void cbq_adjust_levels(1107,25904 -static void cbq_normalize_quanta(1126,26262 -static void cbq_sync_defmap(1151,26912 -static void cbq_change_defmap(1186,27578 -static void cbq_unlink_class(1216,28181 -static void cbq_link_class(1250,28885 -static unsigned int cbq_drop(1271,29339 -cbq_reset(1294,29805 -static int cbq_set_lss(1329,30509 -static void cbq_rmprio(1350,31153 -static void cbq_addprio(1357,31339 -static int cbq_set_wrr(1364,31526 -static int cbq_set_overlimit(1383,31942 -static int cbq_set_police(1413,32639 -static int cbq_set_fopt(1427,32908 -static int cbq_init(1433,33064 -static __inline__ int cbq_dump_rate(1493,34814 -static __inline__ int cbq_dump_lss(1505,35081 -static __inline__ int cbq_dump_wrr(1530,35678 -static __inline__ int cbq_dump_ovl(1548,36081 -static __inline__ int cbq_dump_fopt(1564,36461 -static __inline__ int cbq_dump_police(1583,36893 -static int cbq_dump_attr(1600,37224 -int cbq_copy_xstats(1614,37564 -static int cbq_dump(1624,37721 -cbq_dump_class(1650,38364 -static int cbq_graft(1691,39475 -cbq_leaf(1719,40079 -static unsigned long cbq_get(1726,40207 -static void cbq_destroy_filters(1738,40442 -static void cbq_destroy_class(1748,40619 -cbq_destroy(1763,40934 -static void cbq_put(1783,41267 -cbq_change_class(1802,41661 -static int cbq_delete(2000,46481 -static struct tcf_proto **cbq_find_tcf(2038,47206 -static unsigned long cbq_bind_filter(2049,47444 -static void cbq_unbind_filter(2065,47816 -static void cbq_walk(2072,47954 -static struct Qdisc_class_ops cbq_class_ops 2097,48393 -static struct Qdisc_ops cbq_qdisc_ops 2111,48715 -static int __init cbq_module_init(2128,49089 -static void __exit cbq_module_exit(2132,49173 -module_init(2136,49254 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/estimator.c,324 -#define EST_MAX_INTERVAL 74,2296 -struct qdisc_estimatorqdisc_estimator76,2324 -struct qdisc_estimator_headqdisc_estimator_head89,2542 -static struct qdisc_estimator_head elist[95,2633 -static rwlock_t est_lock 98,2723 -static void est_timer(100,2769 -int qdisc_new_estimator(131,3546 -void qdisc_kill_estimator(170,4637 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_sfq.c,844 -#define SFQ_DEPTH 91,2753 -#define SFQ_HASH_DIVISOR 92,2776 -typedef unsigned char sfq_index;sfq_index95,2866 -struct sfq_headsfq_head97,2900 -struct sfq_sched_datasfq_sched_data103,2956 -static __inline__ unsigned sfq_fold_hash(124,3628 -static unsigned sfq_hash(134,3870 -static inline void sfq_link(169,4754 -static inline void sfq_dec(181,4989 -static inline void sfq_inc(196,5249 -static unsigned int sfq_drop(212,5511 -sfq_enqueue(254,6375 -sfq_requeue(289,7106 -sfq_dequeue(325,7815 -sfq_reset(361,8479 -static void sfq_perturbation(369,8596 -static int sfq_change(382,8894 -static int sfq_init(408,9535 -static void sfq_destroy(440,10267 -static int sfq_dump(446,10391 -static struct Qdisc_ops sfq_qdisc_ops 468,10837 -static int __init sfq_module_init(485,11201 -static void __exit sfq_module_exit(489,11285 -module_init(493,11366 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_rsvp6.c,81 -#define RSVP_DST_LEN 38,1024 -#define RSVP_ID 39,1047 -#define RSVP_OPS 40,1072 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_red.c,503 -struct red_sched_datared_sched_data136,3490 -static int red_ecn_mark(159,4115 -red_enqueue(181,4563 -red_requeue(304,7697 -red_dequeue(316,7942 -static unsigned int red_drop(330,8187 -static void red_reset(348,8534 -static int red_change(359,8751 -static int red_init(393,9731 -int red_copy_xstats(399,9826 -static int red_dump(408,10002 -static struct Qdisc_ops red_qdisc_ops 437,10663 -static int __init red_module_init(453,11008 -static void __exit red_module_exit(457,11092 -module_init(461,11173 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/police.c,922 -#define L2T(L2T36,963 -#define L2T_P(L2T_P37,1033 -#define PRIV(PRIV38,1103 -#define MY_TAB_SIZE 41,1183 -#define MY_TAB_MASK 42,1210 -static u32 idx_gen;43,1237 -static struct tcf_police *tcf_police_ht[44,1257 -static rwlock_t police_lock 46,1341 -static __inline__ unsigned tcf_police_hash(50,1451 -static __inline__ struct tcf_police * tcf_police_lookup(55,1529 -static __inline__ int tcf_generic_walker(69,1821 -tcf_hash_search(115,2778 -static __inline__ u32 tcf_police_new_index(130,2961 -void tcf_police_destroy(141,3117 -int tcf_act_police_locate(166,3637 -int tcf_act_police_cleanup(268,5856 -int tcf_act_police_stats(278,6023 -int tcf_act_police(288,6219 -int tcf_act_police_dump(351,7375 -static struct tc_action_ops act_police_ops 396,8425 -police_init_module(412,8825 -police_cleanup_module(418,8920 -struct tcf_police * tcf_police_locate(428,9072 -int tcf_police(499,10806 -int tcf_police_dump(553,11797 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_gred.c,661 -#define DPRINTK(DPRINTK50,1388 -#define DPRINTK(DPRINTK52,1459 -#define D2PRINTK(D2PRINTK56,1516 -#define D2PRINTK(D2PRINTK58,1588 -struct gred_sched_datagred_sched_data64,1673 -struct gred_schedgred_sched94,2730 -gred_enqueue(105,2871 -gred_requeue(215,5462 -gred_dequeue(230,5838 -static unsigned int gred_drop(262,6479 -static void gred_reset(299,7185 -static int gred_change(324,7598 -static int gred_init(470,11305 -static int gred_dump(499,12017 -static void gred_destroy(594,14153 -static struct Qdisc_ops gred_qdisc_ops 605,14340 -static int __init gred_module_init(622,14717 -static void __exit gred_module_exit(626,14803 -module_init(630,14886 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_ingress.c,1169 -#define DPRINTK(DPRINTK31,881 -#define DPRINTK(DPRINTK33,952 -#define D2PRINTK(D2PRINTK37,1010 -#define D2PRINTK(D2PRINTK39,1082 -#define PRIV(PRIV43,1124 -static int nf_registered;50,1250 -struct ingress_qdisc_data ingress_qdisc_data54,1292 -static int ingress_graft(63,1458 -static struct Qdisc *ingress_leaf(77,1804 -static unsigned long ingress_get(83,1896 -static unsigned long ingress_bind_filter(93,2142 -static void ingress_put(100,2282 -static int ingress_change(105,2349 -static void ingress_walk(119,2744 -static struct tcf_proto **ingress_find_tcf(129,3041 -static int ingress_enqueue(140,3277 -static struct sk_buff *ingress_dequeue(203,4638 -static int ingress_requeue(213,4828 -static unsigned int ingress_drop(222,5033 -ing_hook(234,5298 -static struct nf_hook_ops ing_ops 266,6125 -int ingress_init(277,6342 -static void ingress_reset(310,7151 -static void ingress_destroy(331,7507 -static int ingress_dump(349,7841 -static struct Qdisc_class_ops ingress_class_ops 364,8137 -static struct Qdisc_ops ingress_qdisc_ops 378,8467 -static int __init ingress_module_init(395,8889 -static void __exit ingress_module_exit(406,9086 -module_init(416,9292 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_htb.c,3259 -#define HTB_HSIZE 72,2332 -#define HTB_EWMAC 73,2377 -#define HTB_DEBUG 74,2445 -#define HTB_RATECM 75,2520 -#define HTB_HYSTERESIS 76,2579 -#define HTB_QLOCK(HTB_QLOCK77,2652 -#define HTB_QUNLOCK(HTB_QUNLOCK78,2709 -#define HTB_VER 79,2770 -#define HTB_DBG_COND(HTB_DBG_COND104,3448 -#define HTB_DBG(HTB_DBG105,3503 -#define HTB_CHCL(HTB_CHCL107,3590 -#define HTB_PASSQ 108,3647 -#define HTB_ARGQ 109,3668 -#define static110,3706 -#define __inline__112,3739 -#define inline114,3772 -#define HTB_CMAGIC 115,3787 -#define htb_safe_rb_erase(htb_safe_rb_erase116,3817 -#define HTB_DBG_COND(HTB_DBG_COND121,3981 -#define HTB_DBG(HTB_DBG122,4011 -#define HTB_PASSQ123,4043 -#define HTB_ARGQ124,4061 -#define HTB_CHCL(HTB_CHCL125,4078 -#define htb_safe_rb_erase(htb_safe_rb_erase126,4099 -enum htb_cmode htb_cmode131,4205 - HTB_CANT_SEND,132,4222 - HTB_MAY_BORROW,133,4282 - HTB_CAN_SEND 134,4341 -struct htb_classhtb_class138,4452 - struct htb_class_leaf htb_class_leaf164,5181 - struct htb_class_inner htb_class_inner172,5369 -static __inline__ long L2T(205,6789 -struct htb_schedhtb_sched216,7021 -static __inline__ int htb_hash(263,8638 -static __inline__ struct htb_class *htb_find(274,8889 -#define HTB_DIRECT 301,9887 -static inline u32 htb_classid(302,9928 -static struct htb_class *htb_classify(307,10047 -#define HTB_DUMTREE(HTB_DUMTREE374,11834 -static void htb_debug_dump 382,12095 -static void htb_add_to_id_tree 424,13469 -static void htb_add_to_wait_tree 457,14434 -static void htb_next_rb_node(494,15641 -static inline void htb_add_class_to_row(505,15864 -static __inline__ void htb_remove_class_from_row(525,16406 -static void htb_activate_prios(551,17226 -static void htb_deactivate_prios(588,18337 -htb_class_mode(636,19951 -htb_change_class_mode(669,20830 -static __inline__ void htb_activate(696,21600 -htb_deactivate(714,22184 -static int htb_enqueue(723,22384 -static int htb_requeue(771,23652 -static void htb_timer(801,24587 -#define RT_GEN(RT_GEN810,24772 -static void htb_rate_timer(811,24815 -static void htb_charge_class(849,26134 -#define HTB_ACCNT(HTB_ACCNT856,26350 -static long htb_do_events(922,28326 -htb_id_find_next_upper(969,29839 -htb_lookup_leaf(992,30297 -htb_dequeue_tree(1043,31732 -static void htb_delay_by(1108,33834 -static struct sk_buff *htb_dequeue(1124,34302 -static unsigned int htb_drop(1195,36189 -static void htb_reset(1220,36789 -static int htb_init(1258,37778 -static int htb_dump(1312,39380 -static int htb_dump_class(1345,40233 -static int htb_graft(1395,41659 -static struct Qdisc * htb_leaf(1419,42263 -static unsigned long htb_get(1425,42436 -static void htb_destroy_filters(1437,42748 -static void htb_destroy_class(1447,42902 -static void htb_destroy(1482,43818 -static int htb_delete(1504,44455 -static void htb_put(1530,45198 -static int htb_change_class(1542,45507 -static struct tcf_proto **htb_find_tcf(1670,49784 -static unsigned long htb_bind_filter(1679,50142 -static void htb_unbind_filter(1701,50921 -static void htb_walk(1712,51226 -static struct Qdisc_class_ops htb_class_ops 1737,51708 -static struct Qdisc_ops htb_qdisc_ops 1751,52030 -static int __init htb_module_init(1768,52416 -static void __exit htb_module_exit(1772,52503 -module_init(1776,52587 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_hfsc.c,2575 -#define HFSC_DEBUG 75,2956 -struct internal_scinternal_sc90,3473 -struct runtime_scruntime_sc101,3838 -enum hfsc_class_flagshfsc_class_flags113,4274 - HFSC_RSC 115,4298 - HFSC_RSC = 0x1,115,4298 - HFSC_FSC 116,4315 - HFSC_FSC = 0x2,116,4315 - HFSC_USC 117,4332 - HFSC_USC = 0x4117,4332 -struct hfsc_classhfsc_class120,4352 -#define HFSC_HSIZE 185,6978 -struct hfsc_schedhfsc_sched187,7001 -#define PSCHED_GET_TIME(PSCHED_GET_TIME205,7499 -#define ASSERT(ASSERT214,7696 -#define ASSERT(ASSERT221,7893 -#define HT_INFINITY 224,7939 -eltree_insert(233,8158 -eltree_remove(252,8604 -eltree_update(258,8712 -eltree_get_mindl(266,8902 -eltree_get_minel(283,9337 -vttree_insert(298,9657 -vttree_remove(317,10111 -vttree_update(323,10222 -vttree_firstfit(330,10338 -vttree_get_minvt(347,10700 -cftree_insert(367,11124 -cftree_remove(386,11576 -cftree_update(392,11687 -#define SM_SHIFT 432,13129 -#define ISM_SHIFT 433,13149 -#define SM_MASK 435,13171 -#define ISM_MASK 436,13213 -seg_x2y(439,13275 -seg_y2x(453,13518 -m2sm(470,13784 -m2ism(482,13978 -d2dx(498,14201 -sm2m(510,14380 -dx2d(520,14521 -sc2isc(530,14629 -rtsc_init(545,14992 -rtsc_y2x(562,15361 -rtsc_x2y(583,15779 -rtsc_min(604,16279 -init_ed(667,17504 -update_ed(695,18160 -update_d(704,18380 -update_cfmin(710,18524 -init_vf(724,18768 -update_vf(816,21076 -set_active(905,23237 -set_passive(916,23457 -qdisc_peek_len(933,23791 -hfsc_purge_queue(954,24212 -hfsc_adjust_levels(967,24436 -hfsc_hash(983,24743 -hfsc_find_class(992,24858 -hfsc_change_rsc(1005,25116 -hfsc_change_fsc(1019,25485 -hfsc_change_usc(1027,25692 -hfsc_change_class(1036,25926 -hfsc_destroy_filters(1171,29258 -hfsc_destroy_class(1182,29413 -hfsc_delete_class(1196,29704 -hfsc_classify(1218,30188 -hfsc_graft_class(1282,31558 -hfsc_class_leaf(1305,32055 -hfsc_get_class(1316,32257 -hfsc_put_class(1327,32439 -hfsc_bind_tcf(1336,32625 -hfsc_unbind_tcf(1351,32945 -hfsc_tcf_chain(1359,33102 -hfsc_dump_sc(1371,33325 -hfsc_dump_curves(1387,33610 -hfsc_dump_stats(1408,34087 -hfsc_dump_xstats(1421,34339 -hfsc_dump_class(1438,34672 -hfsc_walk(1467,35394 -hfsc_watchdog(1492,35843 -hfsc_schedule_watchdog(1501,35996 -hfsc_init_qdisc(1523,36518 -hfsc_change_qdisc(1563,37523 -hfsc_reset_class(1580,37846 -hfsc_reset_qdisc(1614,38683 -hfsc_destroy_qdisc(1633,39096 -hfsc_dump_qdisc(1648,39429 -hfsc_enqueue(1669,39874 -hfsc_dequeue(1712,40640 -hfsc_requeue(1781,42012 -hfsc_drop(1791,42211 -static struct Qdisc_class_ops hfsc_class_ops 1815,42707 -static struct Qdisc_ops hfsc_qdisc_ops 1829,43065 -hfsc_init(1846,43484 -hfsc_cleanup(1852,43565 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_api.c,1632 -static rwlock_t qdisc_mod_lock 134,4062 -static struct Qdisc_ops *qdisc_base;144,4313 -int register_qdisc(148,4397 -int unregister_qdisc(173,4929 -struct Qdisc *qdisc_lookup(195,5376 -struct Qdisc *qdisc_leaf(206,5570 -struct Qdisc_ops *qdisc_lookup_ops(225,5912 -static struct qdisc_rate_table *qdisc_rtab_list;240,6188 -struct qdisc_rate_table *qdisc_get_rtab(242,6238 -void qdisc_put_rtab(267,6836 -u32 qdisc_alloc_handle(286,7192 -dev_graft_qdisc(303,7598 -int qdisc_graft(352,8560 -qdisc_create(390,9270 -static int qdisc_change(480,11377 -struct check_loop_argcheck_loop_arg501,11804 -static int check_loop(510,11976 -check_loop_fn(526,12300 -static int tc_get_qdisc(545,12698 -static int tc_modify_qdisc(606,14062 -int qdisc_copy_stats(734,17414 -static int tc_fill_qdisc(747,17663 -static int qdisc_notify(777,18484 -static int tc_dump_qdisc(804,19138 -static int tc_ctl_tclass(853,20144 -static int tc_fill_tclass(966,22666 -static int tclass_notify(994,23405 -struct qdisc_dump_argsqdisc_dump_args1012,23852 -static int qdisc_class_dump(1019,23957 -static int tc_dump_tclass(1027,24239 -int psched_us_per_tick 1074,25253 -int psched_tick_per_us 1075,25281 -static int psched_show(1078,25332 -static int psched_open(1087,25515 -static struct file_operations psched_fops 1092,25641 -psched_tdiff_t psched_clock_per_hz;1102,25844 -int psched_clock_scale;1103,25880 -psched_time_t psched_time_base;1107,25976 -cycles_t psched_time_mark;1108,26008 -static struct timer_list psched_timer 1117,26257 -static void psched_tick(1119,26336 -int __init psched_calibrate_clock(1129,26559 -static int __init pktsched_init(1163,27319 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_tbf.c,1050 -struct tbf_sched_datatbf_sched_data117,3090 -#define L2T(L2T135,3617 -#define L2T_P(L2T_P136,3687 -static int tbf_enqueue(138,3758 -static int tbf_requeue(164,4258 -static unsigned int tbf_drop(175,4470 -static void tbf_watchdog(187,4694 -static struct sk_buff *tbf_dequeue(195,4845 -static void tbf_reset(262,6325 -static struct Qdisc *tbf_create_dflt_qdisc(275,6590 -static int tbf_change(300,7140 -static int tbf_init(367,8762 -static void tbf_destroy(384,9097 -static int tbf_dump(398,9331 -static int tbf_dump_class(426,9942 -static int tbf_graft(440,10236 -static struct Qdisc *tbf_leaf(457,10556 -static unsigned long tbf_get(463,10692 -static void tbf_put(468,10769 -static int tbf_change_class(472,10832 -static int tbf_delete(478,10977 -static void tbf_walk(483,11059 -static struct tcf_proto **tbf_find_tcf(495,11294 -static struct Qdisc_class_ops tbf_class_ops 500,11389 -static struct Qdisc_ops tbf_qdisc_ops 513,11647 -static int __init tbf_module_init(530,12027 -static void __exit tbf_module_exit(535,12112 -module_init(539,12192 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_atm.c,1437 -#define DPRINTK(DPRINTK25,604 -#define DPRINTK(DPRINTK27,675 -#define D2PRINTK(D2PRINTK31,732 -#define D2PRINTK(D2PRINTK33,804 -#define PRIV(PRIV59,1774 -#define VCC2FLOW(VCC2FLOW60,1808 -struct atm_flow_data atm_flow_data63,1878 -struct atm_qdisc_data atm_qdisc_data81,2520 -static int find_flow(92,2822 -static __inline__ struct atm_flow_data *lookup_flow(104,3119 -static int atm_tc_graft(116,3390 -static struct Qdisc *atm_tc_leaf(132,3840 -static unsigned long atm_tc_get(141,4058 -static unsigned long atm_tc_bind_filter(154,4425 -static void destroy_filters(161,4562 -static void atm_tc_put(179,5024 -static void sch_atm_pop(213,6024 -static const u8 llc_oui_ip[222,6273 -static int atm_tc_change(230,6501 -static int atm_tc_delete(348,10120 -static void atm_tc_walk(370,10819 -static struct tcf_proto **atm_tc_find_tcf(388,11266 -static int atm_tc_enqueue(401,11665 -static void sch_atm_dequeue(486,14097 -static struct sk_buff *atm_tc_dequeue(528,15408 -static int atm_tc_requeue(541,15694 -static unsigned int atm_tc_drop(557,16026 -static int atm_tc_init(571,16362 -static void atm_tc_reset(591,16928 -static void atm_tc_destroy(602,17188 -static int atm_tc_dump_class(626,17764 -static int atm_tc_dump(668,18951 -static struct Qdisc_class_ops atm_class_ops 673,19030 -static struct Qdisc_ops atm_qdisc_ops 687,19369 -static int __init atm_init(705,19768 -static void __exit atm_exit(710,19846 -module_init(715,19921 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_prio.c,896 -struct prio_sched_dataprio_sched_data41,1139 -struct Qdisc *prio_classify(50,1283 -prio_enqueue(99,2291 -prio_requeue(131,2869 -prio_dequeue(151,3216 -static unsigned int prio_drop(170,3524 -prio_reset(189,3860 -prio_destroy(200,4052 -static int prio_tune(215,4334 -static int prio_init(260,5389 -static int prio_dump(279,5702 -static int prio_graft(295,6073 -prio_leaf(318,6524 -static unsigned long prio_get(329,6719 -static unsigned long prio_bind(339,6927 -static void prio_put(345,7050 -static int prio_change(350,7120 -static int prio_delete(360,7358 -static int prio_dump_class(369,7523 -static void prio_walk(382,7837 -static struct tcf_proto ** prio_find_tcf(403,8193 -static struct Qdisc_class_ops prio_class_ops 412,8372 -static struct Qdisc_ops prio_qdisc_ops 426,8683 -static int __init prio_module_init(443,9074 -static void __exit prio_module_exit(448,9161 -module_init(453,9245 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_u32.c,974 -struct tc_u_knodetc_u_knode60,1900 -struct tc_u_hnodetc_u_hnode84,2348 -struct tc_u_commontc_u_common95,2521 -static struct tc_u_common *u32_list;104,2653 -static __inline__ unsigned u32_hash_fold(106,2691 -static int u32_classify(113,2835 -u32_lookup_ht(243,5434 -u32_lookup_key(255,5648 -static unsigned long u32_get(272,5907 -static void u32_put(291,6285 -static u32 gen_new_htid(295,6349 -static int u32_init(307,6609 -static int u32_destroy_key(347,7407 -static int u32_delete_key(372,7933 -static void u32_clear_hnode(393,8329 -static int u32_destroy_hnode(407,8573 -static void u32_destroy(428,8923 -static int u32_delete(466,9612 -static u32 gen_new_kid(485,9949 -static int u32_set_parms(498,10220 -static int u32_change(610,12818 - err 721,15437 -static void u32_walk(743,15870 -static int u32_dump(777,16525 -static struct tcf_proto_ops cls_u32_ops 884,19173 -static int __init init_u32(899,19474 -static void __exit exit_u32(917,19877 -module_init(922,19958 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/act_api.c,1144 -#define DPRINTK(DPRINTK37,900 -#define DPRINTK(DPRINTK39,971 -#define D2PRINTK(D2PRINTK42,1027 -#define D2PRINTK(D2PRINTK44,1099 -static struct tc_action_ops *act_base 47,1140 -static rwlock_t act_mod_lock 48,1186 -int tcf_register_action(50,1236 -int tcf_unregister_action(70,1614 -struct tc_action_ops *tc_lookup_action_n(90,1955 -struct tc_action_ops *tc_lookup_action(113,2347 -struct tc_action_ops *tc_lookup_action_id(137,2759 -int tcf_action_exec(158,3116 -void tcf_action_destroy(199,4051 -int tcf_action_dump_old(226,4703 -int tcf_action_dump_1(239,4942 -int tcf_action_dump(268,5566 -int tcf_action_init_1(294,6067 -int tcf_action_init(373,7886 -int tcf_action_copy_stats 416,8757 -tca_get_fill(430,8986 -static int act_get_notify(461,9651 -int tcf_action_get_1(483,10066 -void cleanup_a 550,11372 -struct tc_action_ops *get_ao(566,11615 -struct tc_action *create_a(601,12344 -int tca_action_flush(618,12614 -int tca_action_gd(688,14039 -int tcf_add_notify(772,15603 -int tcf_action_add(819,16486 -static int tc_ctl_action(861,17380 -find_dump_kind(903,18379 -tc_dump_action(934,19176 -static int __init tc_action_init(997,20540 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_teql.c,750 -struct teql_masterteql_master68,2286 -struct teql_sched_datateql_sched_data77,2446 -#define NEXT_SLAVE(NEXT_SLAVE85,2571 -#define FMASK 87,2643 -teql_enqueue(92,2745 -teql_requeue(111,3127 -teql_dequeue(120,3298 -teql_neigh_release(138,3667 -teql_reset(145,3752 -teql_destroy(155,3940 -static int teql_qdisc_init(184,4639 -__teql_resolve(231,5874 -teql_resolve(264,6759 -static int teql_master_xmit(273,6994 -static int teql_master_open(348,8506 -static int teql_master_close(390,9457 -static struct net_device_stats *teql_master_stats(396,9550 -static int teql_master_mtu(402,9691 -static __init void teql_master_setup(422,10023 -static int max_equalizers 452,10826 -static int __init teql_init(456,10963 -static void __exit teql_exit(493,11603 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_netem.c,1358 -struct netem_sched_data netem_sched_data54,1830 - struct crndstate crndstate67,2026 - struct disttable disttable72,2123 -struct netem_skb_cb netem_skb_cb79,2246 -static void init_crandom(86,2409 -static unsigned long get_crandom(96,2667 -static long tabledist(115,3211 -static int delay_skb(141,3782 -static int netem_enqueue(166,4418 -static int netem_requeue(209,5481 -static unsigned int netem_drop(220,5697 -static struct sk_buff *netem_dequeue(236,6072 -static void netem_watchdog(268,6811 -static void netem_reset(276,6984 -static int set_fifo_limit(287,7182 -static int get_dist_table(308,7675 -static int get_correlation(335,8241 -static int netem_change(349,8613 -static int netem_init(399,9744 -static void netem_destroy(427,10317 -static int netem_dump(436,10492 -static int netem_dump_class(465,11207 -static int netem_graft(479,11505 -static struct Qdisc *netem_leaf(496,11829 -static unsigned long netem_get(502,11969 -static void netem_put(507,12048 -static int netem_change_class(511,12113 -static int netem_delete(517,12260 -static void netem_walk(522,12344 -static struct tcf_proto **netem_find_tcf(534,12581 -static struct Qdisc_class_ops netem_class_ops 539,12678 -static struct Qdisc_ops netem_qdisc_ops 551,12956 -static int __init netem_module_init(568,13347 -static void __exit netem_module_exit(572,13435 -module_init(576,13519 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_rsvp.h,882 -struct rsvp_headrsvp_head70,2675 -struct rsvp_sessionrsvp_session78,2787 -struct rsvp_filterrsvp_filter90,3020 -static __inline__ unsigned hash_dst(106,3273 -static __inline__ unsigned hash_src(114,3452 -#define RSVP_POLICE(RSVP_POLICE124,3621 -#define RSVP_POLICE(RSVP_POLICE131,3779 -static int rsvp_classify(135,3810 -static unsigned long rsvp_get(217,5676 -static void rsvp_put(237,6099 -static int rsvp_init(241,6164 -static void rsvp_destroy(254,6403 -static int rsvp_delete(292,7104 -static unsigned gen_handle(343,8063 -static int tunnel_bts(359,8371 -static void tunnel_recycle(370,8557 -static u32 gen_tunnel(397,9077 -static int rsvp_change(413,9343 -static void rsvp_walk(582,13434 -static int rsvp_dump(613,13997 -static struct tcf_proto_ops RSVP_OPS 671,15354 -static int __init init_rsvp(686,15663 -static void __exit exit_rsvp(691,15745 -module_init(696,15824 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_tcindex.c,970 -#define PERFECT_HASH_THRESHOLD 30,682 -#define DEFAULT_HASH_SIZE 31,753 -#define DPRINTK(DPRINTK35,833 -#define DPRINTK(DPRINTK37,904 -#define D2PRINTK(D2PRINTK41,961 -#define D2PRINTK(D2PRINTK43,1033 -#define PRIV(PRIV47,1075 -struct tcindex_filter_result tcindex_filter_result50,1131 -struct tcindex_filter tcindex_filter55,1218 -struct tcindex_data tcindex_data62,1327 -static struct tcindex_filter_result *lookup(74,1760 -static int tcindex_classify(90,2085 -static unsigned long tcindex_get(123,2830 -static void tcindex_put(136,3169 -static int tcindex_init(142,3285 -static int tcindex_delete(162,3613 -static int tcindex_change(206,4566 -static void tcindex_walk(355,8736 -static int tcindex_destroy_element(395,9553 -static void tcindex_destroy(402,9698 -static int tcindex_dump(421,10062 -static struct tcf_proto_ops cls_tcindex_ops 479,11690 -static int __init init_tcindex(494,12035 -static void __exit exit_tcindex(499,12127 -module_init(504,12216 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/gact.c,628 -#define MY_TAB_SIZE 39,1007 -#define MY_TAB_MASK 40,1030 -static u32 idx_gen;41,1053 -static struct tcf_gact *tcf_gact_ht[42,1073 -static rwlock_t gact_lock 43,1123 -#define tcf_st 46,1199 -#define tc_st 47,1224 -#define tcf_t_lock 48,1247 -#define tcf_ht 49,1278 -#define CONFIG_NET_ACT_INIT 51,1306 -typedef int (*g_rand)g_rand55,1386 -gact_net_rand(57,1433 -gact_determ(64,1543 -g_rand gact_rand[71,1652 -tcf_gact_init(75,1728 -tcf_gact_cleanup(133,2877 -tcf_gact(143,3037 -tcf_gact_dump(177,3664 -tcf_gact_stats(218,4600 -struct tc_action_ops act_gact_ops 228,4787 -gact_init_module(248,5258 -gact_cleanup_module(259,5458 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_dsmark.c,1161 -#define DPRINTK(DPRINTK21,484 -#define DPRINTK(DPRINTK23,555 -#define D2PRINTK(D2PRINTK27,612 -#define D2PRINTK(D2PRINTK29,684 -#define PRIV(PRIV33,726 -#define NO_DEFAULT_INDEX 52,1108 -struct dsmark_qdisc_data dsmark_qdisc_data54,1144 -static int dsmark_graft(68,1458 -static struct Qdisc *dsmark_leaf(87,1880 -static unsigned long dsmark_get(95,2014 -static unsigned long dsmark_bind_filter(104,2249 -static void dsmark_put(111,2386 -static int dsmark_change(116,2452 -static int dsmark_delete(144,3282 -static void dsmark_walk(156,3499 -static struct tcf_proto **dsmark_find_tcf(178,3983 -static int dsmark_enqueue(189,4217 -static struct sk_buff *dsmark_dequeue(254,5746 -static int dsmark_requeue(292,6763 -static unsigned int dsmark_drop(307,7078 -int dsmark_init(322,7364 -static void dsmark_reset(362,8585 -static void dsmark_destroy(372,8769 -static int dsmark_dump_class(388,9081 -static int dsmark_dump(411,9730 -static struct Qdisc_class_ops dsmark_class_ops 435,10334 -static struct Qdisc_ops dsmark_qdisc_ops 449,10676 -static int __init dsmark_module_init(466,11086 -static void __exit dsmark_module_exit(470,11176 -module_init(474,11263 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_api.c,624 -#define DPRINTK(DPRINTK41,1035 -#define DPRINTK(DPRINTK43,1106 -static struct tcf_proto_ops *tcf_proto_base;48,1196 -static rwlock_t cls_mod_lock 51,1309 -struct tcf_proto_ops * tcf_proto_lookup_ops(55,1402 -int register_tcf_proto_ops(72,1741 -int unregister_tcf_proto_ops(90,2078 -static __inline__ u32 tcf_auto_prio(115,2590 -static int tc_ctl_tfilter(127,2784 -unsigned long tcf_set_class(300,6740 -tcf_fill_node(314,6972 -static int tfilter_notify(344,7782 -struct tcf_dump_argstcf_dump_args362,8236 -static int tcf_node_dump(369,8337 -static int tc_dump_tfilter(377,8596 -static int __init tc_filter_init(457,10386 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_rsvp.c,80 -#define RSVP_DST_LEN 37,999 -#define RSVP_ID 38,1022 -#define RSVP_OPS 39,1046 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/sch_generic.c,1076 -rwlock_t qdisc_tree_lock 57,1719 -void qdisc_lock_tree(59,1765 -void qdisc_unlock_tree(65,1882 -int qdisc_restart(93,2632 -static void dev_watchdog(185,4988 -static void dev_watchdog_init(208,5597 -void __netdev_watchdog_up(215,5785 -static void dev_watchdog_up(225,6019 -static void dev_watchdog_down(232,6170 -noop_enqueue(246,6524 -noop_dequeue(253,6647 -noop_requeue(259,6712 -struct Qdisc_ops noop_qdisc_ops 267,6907 -struct Qdisc noop_qdisc 278,7116 -struct Qdisc_ops noqueue_qdisc_ops 285,7253 -struct Qdisc noqueue_qdisc 296,7468 -static const u8 prio2band[304,7603 -pfifo_fast_enqueue(312,7816 -pfifo_fast_dequeue(331,8237 -pfifo_fast_requeue(348,8517 -pfifo_fast_reset(360,8751 -static int pfifo_fast_dump(370,8936 -static int pfifo_fast_init(385,9260 -static struct Qdisc_ops pfifo_fast_ops 396,9454 -struct Qdisc * qdisc_create_dflt(410,9807 -void qdisc_reset(451,10836 -static void __qdisc_destroy(462,11063 -void qdisc_destroy(485,11601 -void dev_activate(493,11767 -void dev_deactivate(528,12697 -void dev_init_scheduler(548,13034 -void dev_shutdown(559,13259 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_route.c,1124 -struct route4_fastmaproute4_fastmap46,1296 -struct route4_headroute4_head53,1378 -struct route4_bucketroute4_bucket59,1476 -struct route4_filterroute4_filter64,1539 -#define ROUTE4_FAILURE 79,1751 -static __inline__ int route4_fastmap_hash(81,1806 -static void route4_reset_fastmap(86,1886 -route4_set_fastmap(94,2123 -static __inline__ int route4_hash_to(103,2345 -static __inline__ int route4_hash_from(108,2412 -static __inline__ int route4_hash_iif(113,2486 -static __inline__ int route4_hash_wild(118,2568 -#define IF_ROUTE_POLICE 124,2659 -#define IF_ROUTE_POLICE133,2845 -static int route4_classify(137,2878 -static u32 to_hash(222,4511 -static u32 from_hash(230,4600 -static unsigned long route4_get(243,4778 -static void route4_put(269,5258 -static int route4_init(273,5325 -static void route4_destroy(278,5386 -static int route4_delete(311,6031 -static int route4_change(361,7003 -static void route4_walk(515,10626 -static int route4_dump(549,11220 -static struct tcf_proto_ops cls_route4_ops 606,12495 -static int __init init_route4(621,12828 -static void __exit exit_route4(626,12918 -module_init(631,13004 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sched/cls_fw.c,535 -struct fw_headfw_head48,1429 -struct fw_filterfw_filter53,1478 -static __inline__ int fw_hash(70,1768 -static int fw_classify(75,1836 -static unsigned long fw_get(130,3035 -static void fw_put(145,3324 -static int fw_init(149,3387 -static void fw_destroy(154,3444 -static int fw_delete(186,4082 -static int fw_change(222,4860 -static void fw_walk(400,9160 -static int fw_dump(428,9628 -static struct tcf_proto_ops cls_fw_ops 522,11832 -static int __init init_fw(537,12122 -static void __exit exit_fw(542,12204 -module_init(547,12283 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_private.h,815 -#define _BR_PRIVATE_H16,427 -#define BR_HASH_BITS 22,539 -#define BR_HASH_SIZE 23,562 -#define BR_HOLD_TIME 25,604 -#define BR_PORT_BITS 27,633 -#define BR_MAX_PORTS 28,657 -typedef struct bridge_id bridge_id;bridge_id30,697 -typedef struct mac_addr mac_addr;mac_addr31,733 -typedef __u16 port_id;port_id32,767 -struct bridge_idbridge_id34,791 -struct mac_addrmac_addr40,862 -struct net_bridge_fdb_entrynet_bridge_fdb_entry45,908 -struct net_bridge_portnet_bridge_port60,1195 -struct net_bridgenet_bridge86,1748 -static inline int br_is_root_bridge(124,2708 -#define br_sysfs_addif(br_sysfs_addif231,6600 -#define br_sysfs_removeif(br_sysfs_removeif232,6630 -#define br_sysfs_freeif(br_sysfs_freeif233,6675 -#define br_sysfs_addbr(br_sysfs_addbr234,6711 -#define br_sysfs_delbr(br_sysfs_delbr235,6743 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_forward.c,320 -static inline int should_deliver(22,570 -int br_dev_queue_push_xmit(32,763 -int br_forward_finish(49,1080 -static void __br_deliver(57,1229 -static void __br_forward(67,1473 -void br_deliver(80,1772 -void br_forward(91,1968 -static void br_flood(102,2163 -void br_flood_deliver(150,3000 -void br_flood_forward(156,3154 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_sysfs_br.c,1555 -#define to_class_dev(to_class_dev23,575 -#define to_net_dev(to_net_dev24,644 -#define to_bridge(to_bridge25,720 -static ssize_t store_bridge_parm(30,842 -static ssize_t show_forward_delay(52,1276 -static void set_forward_delay(58,1461 -static ssize_t store_forward_delay(66,1678 -static ssize_t show_hello_time(74,1944 -static void set_hello_time(80,2103 -static ssize_t store_hello_time(88,2299 -static ssize_t show_max_age(97,2548 -static void set_max_age(103,2701 -static ssize_t store_max_age(111,2888 -static ssize_t show_ageing_time(120,3122 -static void set_ageing_time(126,3303 -static ssize_t store_ageing_time(131,3422 -static ssize_t show_stp_state(139,3676 -static void set_stp_state(145,3834 -static ssize_t store_stp_state(150,3931 -static ssize_t show_priority(159,4181 -static void set_priority(166,4384 -static ssize_t store_priority(171,4500 -static ssize_t show_root_id(179,4744 -static ssize_t show_bridge_id(185,4942 -static ssize_t show_root_port(191,5140 -static ssize_t show_root_path_cost(197,5335 -static ssize_t show_topology_change(203,5550 -static ssize_t show_topology_change_detected(209,5769 -static ssize_t show_hello_timer(216,6053 -static ssize_t show_tcn_timer(223,6303 -static ssize_t show_topology_change_timer(230,6545 -static ssize_t show_gc_timer(237,6835 -static struct attribute *bridge_attrs[244,7073 -static struct attribute_group bridge_group 264,7744 -static ssize_t brforward_read(275,7993 -static struct bin_attribute bridge_forward 296,8464 -int br_sysfs_addbr(314,9059 -void br_sysfs_delbr(356,10036 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_input.c,185 -const unsigned char bridge_ula[22,577 -static int br_pass_frame_up_finish(24,654 -static void br_pass_frame_up(34,800 -int br_handle_frame_finish(49,1164 -int br_handle_frame(100,2155 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_notify.c,84 -struct notifier_block br_device_notifier 22,573 -static int br_device_event(32,859 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_private_stp.h,188 -#define _BR_PRIVATE_STP_H16,435 -#define BPDU_TYPE_CONFIG 18,462 -#define BPDU_TYPE_TCN 19,489 -struct br_config_bpdubr_config_bpdu21,517 -static inline int br_is_designated_port(36,791 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_fdb.c,637 -static kmem_cache_t *br_fdb_cache;25,636 -void __init br_fdb_init(29,799 -void __exit br_fdb_fini(37,979 -static __inline__ unsigned long hold_time(46,1163 -static __inline__ int has_expired(51,1306 -static __inline__ int br_mac_hash(58,1510 -static __inline__ void fdb_delete(74,1775 -void br_fdb_changeaddr(83,1938 -void br_fdb_cleanup(123,2876 -void br_fdb_delete_by_port(152,3544 -struct net_bridge_fdb_entry *__br_fdb_get(191,4473 -struct net_bridge_fdb_entry *br_fdb_get(209,4901 -static void fdb_rcu_free(222,5156 -void br_fdb_put(230,5382 -int br_fdb_fillbuf(240,5594 -static int fdb_insert(281,6420 -int br_fdb_insert(348,8031 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_ioctl.c,283 -static int get_bridge_ifindices(24,602 -static void get_port_ifindices(38,865 -static int get_fdb_entries(55,1329 -static int add_del_if(81,1871 -static int old_dev_ioctl(107,2375 -static int old_deviceless(311,7416 -int br_ioctl_deviceless_stub(364,8368 -int br_dev_ioctl(392,8836 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_netfilter.c,1767 -#define skb_origaddr(skb_origaddr45,1288 -#define store_orig_dstaddr(store_orig_dstaddr47,1386 -#define dnat_took_place(dnat_took_place48,1462 -#define has_bridge_parent(has_bridge_parent50,1537 -#define bridge_parent(bridge_parent51,1599 -static struct ctl_table_header *brnf_sysctl_header;54,1681 -static int brnf_call_iptables 55,1733 -static int brnf_call_ip6tables 56,1768 -static int brnf_call_arptables 57,1804 -static int brnf_filter_vlan_tagged 58,1840 -#define brnf_filter_vlan_tagged 60,1886 -#define IS_VLAN_IP 63,1928 -#define IS_VLAN_IPV6 66,2097 -#define IS_VLAN_ARP 69,2270 -static struct net_device __fake_net_device 81,2807 -static struct rtable __fake_rtable 85,2887 -static int br_nf_pre_routing_finish_ipv6(101,3283 -static void __br_dnat_complain(129,3982 -static int br_nf_pre_routing_finish_bridge(183,6165 -static int br_nf_pre_routing_finish(204,6696 -static void setup_pre_routing(279,8706 -static int check_hbh_len(294,9128 -static unsigned int br_nf_pre_routing_ipv6(351,10267 -static unsigned int br_nf_pre_routing(407,11829 -static unsigned int br_nf_local_in(498,14195 -static int br_nf_forward_finish(514,14599 -static unsigned int br_nf_forward_ip(547,15623 -static unsigned int br_nf_forward_arp(588,16639 -static int br_nf_local_out_finish(628,17653 -static unsigned int br_nf_local_out(664,19271 -static unsigned int br_nf_post_routing(749,21726 -static unsigned int ip_sabotage_in(826,23859 -static unsigned int ip_sabotage_out(842,24394 -static struct nf_hook_ops br_nf_ops[902,26354 -int brnf_sysctl_call_tables(977,28460 -static ctl_table brnf_table[989,28739 -static ctl_table brnf_bridge_table[1025,29657 -static ctl_table brnf_net_table[1035,29819 -int br_netfilter_init(1046,29986 -void br_netfilter_fini(1077,30593 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_stp_if.c,503 -static inline port_id br_make_port_id(27,701 -void br_init_port(34,885 -void br_stp_enable_bridge(46,1166 -void br_stp_disable_bridge(63,1550 -void br_stp_enable_port(84,2005 -void br_stp_disable_port(91,2143 -static void br_stp_change_bridge_id(119,2785 -static const unsigned char br_mac_zero[147,3537 -void br_stp_recalculate_bridge_id(150,3612 -void br_stp_set_bridge_priority(167,4024 -void br_stp_set_port_priority(192,4661 -void br_stp_set_path_cost(209,5117 -ssize_t br_show_bridge_id(216,5283 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_stp_bpdu.c,365 -#define JIFFIES_TO_TICKS(JIFFIES_TO_TICKS22,563 -#define TICKS_TO_JIFFIES(TICKS_TO_JIFFIES23,609 -static void br_send_bpdu(25,656 -static __inline__ void br_set_ticks(60,1514 -static __inline__ int br_get_ticks(69,1691 -void br_send_config_bpdu(75,1835 -void br_send_tcn_bpdu(120,3165 -static const unsigned char header[134,3381 -int br_stp_handle_bpdu(137,3474 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_sysfs_if.c,1210 -struct brport_attribute brport_attribute22,550 -#define BRPORT_ATTR(BRPORT_ATTR28,716 -static ssize_t show_path_cost(37,981 -static ssize_t store_path_cost(41,1097 -static ssize_t show_priority(49,1305 -static ssize_t store_priority(53,1419 -static ssize_t show_designated_root(63,1678 -static ssize_t show_designated_bridge(69,1884 -static ssize_t show_designated_port(75,2098 -static ssize_t show_designated_cost(81,2301 -static ssize_t show_port_id(87,2504 -static ssize_t show_port_no(93,2677 -static ssize_t show_change_ack(100,2851 -static ssize_t show_config_pending(106,3043 -static ssize_t show_port_state(112,3242 -static ssize_t show_message_age_timer(118,3415 -static ssize_t show_forward_delay_timer(125,3653 -static ssize_t show_hold_timer(132,3899 -static struct brport_attribute *brport_attrs[139,4109 -#define to_brport_attr(to_brport_attr157,4562 -#define to_brport(to_brport158,4639 -static ssize_t brport_show(160,4711 -static ssize_t brport_store(169,4955 -static void brport_release(198,5654 -static struct sysfs_ops brport_sysfs_ops 203,5766 -static struct kobj_type brport_ktype 208,5861 -int br_sysfs_addif(219,6139 -void br_sysfs_removeif(258,6865 -void br_sysfs_freeif(265,7027 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebtable_filter.c,336 -#define FILTER_VALID_HOOKS 14,178 -static struct ebt_entries initial_chains[17,283 -static struct ebt_replace initial_table 33,487 -static int check(46,821 -static struct ebt_table frame_filter 53,973 -ebt_hook 64,1190 -static struct nf_hook_ops ebt_ops_filter[70,1398 -static int __init init(94,1873 -static void __exit fini(112,2257 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_pkttype.c,187 -static int ebt_filter_pkttype(15,223 -static int ebt_pkttype_check(26,521 -static struct ebt_match filter_pkttype 39,916 -static int __init init(47,1074 -static void __exit fini(52,1153 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebtable_nat.c,352 -#define NAT_VALID_HOOKS 14,175 -static struct ebt_entries initial_chains[17,285 -static struct ebt_replace initial_table 33,497 -static int check(46,832 -static struct ebt_table frame_nat 53,981 -ebt_nat_dst(64,1187 -ebt_nat_src(71,1415 -static struct nf_hook_ops ebt_ops_nat[77,1623 -static int __init init(101,2107 -static void __exit fini(119,2476 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_ip.c,212 -struct tcpudphdr tcpudphdr21,391 -static int ebt_filter_ip(26,444 -static int ebt_ip_check(76,1931 -static struct ebt_match filter_ip 102,2769 -static int __init init(110,2907 -static void __exit fini(115,2981 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_stp.c,417 -#define BPDU_TYPE_CONFIG 15,254 -#define BPDU_TYPE_TCN 16,281 -struct stp_header stp_header18,309 -struct stp_config_pdu stp_config_pdu27,422 -#define NR16(NR1639,638 -#define NR32(NR3240,673 -static int ebt_filter_config(42,741 -static int ebt_filter_stp(121,2953 -static int ebt_stp_check(153,3868 -static struct ebt_match filter_stp 174,4610 -static int __init init(182,4752 -static void __exit fini(187,4827 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_vlan.c,422 -static int debug;28,1093 -#define MODULE_VERS 29,1111 -#define DEBUG_MSG(DEBUG_MSG39,1391 -#define INV_FLAG(INV_FLAG40,1467 -#define GET_BITMASK(GET_BITMASK41,1537 -#define SET_BITMASK(SET_BITMASK42,1596 -#define EXIT_ON_MISMATCH(EXIT_ON_MISMATCH43,1656 -ebt_filter_vlan(46,1794 -ebt_check_vlan(92,3298 -static struct ebt_match filter_vlan 174,5695 -static int __init init(181,5841 -static void __exit fini(189,6030 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_log.c,345 -static spinlock_t ebt_log_lock 18,291 -static int ebt_log_check(20,345 -struct tcpudphdrtcpudphdr35,774 -struct arppayloadarppayload41,827 -static void print_MAC(49,971 -#define myNIPQUAD(myNIPQUAD57,1115 -static void ebt_log(58,1159 -static struct ebt_watcher log 150,3772 -static int __init init(158,3905 -static void __exit fini(163,3975 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_arp.c,181 -static int ebt_filter_arp(18,299 -static int ebt_arp_check(104,2727 -static struct ebt_match filter_arp 120,3229 -static int __init init(128,3371 -static void __exit fini(133,3446 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_limit.c,558 -static spinlock_t limit_lock 21,368 -#define MAX_CPJ 23,420 -#define _POW2_BELOW2(_POW2_BELOW225,466 -#define _POW2_BELOW4(_POW2_BELOW426,505 -#define _POW2_BELOW8(_POW2_BELOW827,568 -#define _POW2_BELOW16(_POW2_BELOW1628,631 -#define _POW2_BELOW32(_POW2_BELOW3229,695 -#define POW2_BELOW32(POW2_BELOW3230,762 -#define CREDITS_PER_JIFFY 32,815 -static int ebt_limit_match(34,864 -user2credits(59,1530 -static int ebt_limit_check(69,1795 -static struct ebt_match ebt_limit_reg 93,2564 -static int __init init(101,2714 -static void __exit fini(106,2792 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_among.c,350 -static int ebt_mac_wormhash_contains(17,271 -static int ebt_mac_wormhash_check_integrity(55,1180 -static int get_ip_dst(73,1542 -static int get_ip_src(101,2250 -static int ebt_filter_among(128,2930 -static int ebt_among_check(174,4171 -static struct ebt_match filter_among 209,5278 -static int __init init(216,5430 -static void __exit fini(221,5507 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_redirect.c,200 -static int ebt_target_redirect(17,274 -static int ebt_target_redirect_check(43,1003 -static struct ebt_target redirect_target 61,1610 -static int __init init(69,1782 -static void __exit fini(74,1863 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_802_3.c,228 -static int ebt_filter_802_3(15,201 -static struct ebt_match filter_802_3;39,998 -static int ebt_802_3_check(40,1036 -static struct ebt_match filter_802_3 53,1409 -static int __init init(61,1559 -static void __exit fini(66,1636 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_snat.c,180 -static int ebt_target_snat(16,237 -static int ebt_target_snat_check(37,795 -static struct ebt_target snat 56,1326 -static int __init init(64,1475 -static void __exit fini(69,1545 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebtable_broute.c,262 -static struct ebt_entries initial_chain 21,498 -static struct ebt_replace initial_table 26,592 -static int check(37,836 -static struct ebt_table broute_table 44,991 -static int ebt_broute(54,1187 -static int __init init(65,1405 -static void __exit fini(77,1591 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_mark.c,187 -static int ebt_target_mark(20,410 -static int ebt_target_mark_check(33,786 -static struct ebt_target mark_target 48,1214 -static int __init init(56,1370 -static void __exit fini(61,1447 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_mark_m.c,179 -static int ebt_filter_mark(15,220 -static int ebt_mark_check(26,611 -static struct ebt_match filter_mark 42,1095 -static int __init init(50,1241 -static void __exit fini(55,1317 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebtables.c,2044 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK34,902 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK35,930 -static void print_string(44,1162 -#define BUGPRINT(BUGPRINT56,1431 -#define BUGPRINT(BUGPRINT58,1480 -#define MEMPRINT(MEMPRINT62,1683 -#define SMP_ALIGN(SMP_ALIGN76,2131 -#define COUNTER_OFFSET(COUNTER_OFFSET77,2203 -#define COUNTER_BASE(COUNTER_BASE78,2273 -static struct ebt_target ebt_standard_target 89,2535 -static inline int ebt_do_watcher 92,2645 -static inline int ebt_do_match 102,2921 -static inline int ebt_dev_check(110,3146 -#define FWINV2(FWINV2119,3327 -static inline int ebt_basic_match(121,3422 -unsigned int ebt_do_table 164,4608 -find_inlist_lock_noload(290,8027 -#define find_inlist_lock(find_inlist_lock308,8340 -find_inlist_lock(311,8437 -find_table_lock(326,8800 -find_match_lock(332,8980 -find_watcher_lock(338,9159 -find_target_lock(344,9340 -ebt_check_match(350,9503 -ebt_check_watcher(379,10202 -ebt_check_entry_size_and_hooks(412,11028 -struct ebt_cl_stackebt_cl_stack488,13392 -ebt_get_udc_positions(500,13637 -ebt_cleanup_match(529,14362 -ebt_cleanup_watcher(541,14596 -ebt_cleanup_entry(553,14842 -ebt_check_entry(573,15353 -static int check_chainloops(675,18270 -static int translate_table(744,20372 -static void get_counters(885,24646 -static int do_replace(905,25212 -int ebt_register_target(1053,29049 -void ebt_unregister_target(1069,29301 -int ebt_register_match(1076,29432 -void ebt_unregister_match(1092,29680 -int ebt_register_watcher(1099,29807 -void ebt_unregister_watcher(1115,30064 -int ebt_register_table(1122,30200 -void ebt_unregister_table(1198,32102 -static int update_counters(1220,32601 -static inline int ebt_make_matchname(1276,33875 -static inline int ebt_make_watchername(1285,34107 -static inline int ebt_make_names(1294,34346 -static int copy_everything_to_user(1318,34978 -static int do_ebt_set_ctl(1393,36961 -static int do_ebt_get_ctl(1411,37264 -static struct nf_sockopt_ops ebt_sockopts 1464,38355 -static int __init init(1469,38542 -static void __exit fini(1483,38809 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_dnat.c,180 -static int ebt_target_dnat(16,237 -static int ebt_target_dnat_check(37,792 -static struct ebt_target dnat 56,1411 -static int __init init(64,1560 -static void __exit fini(69,1630 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/netfilter/ebt_arpreply.c,191 -static int ebt_target_reply(18,318 -static int ebt_target_reply_check(59,1449 -static struct ebt_target reply_target 77,2023 -static int __init init(85,2186 -static void __exit fini(90,2264 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_stp_timer.c,490 -static int br_is_designated_for_some_port(24,617 -static void br_hello_timer_expired(37,895 -static void br_message_age_timer_expired(51,1242 -static void br_forward_delay_timer_expired(88,2256 -static void br_tcn_timer_expired(109,2884 -static void br_topology_change_timer_expired(123,3222 -static void br_hold_timer_expired(134,3520 -static inline void br_timer_init(147,3845 -void br_stp_timer_init(156,4046 -void br_stp_port_timer_init(171,4450 -unsigned long br_timer_value(184,4849 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_stp.c,1128 -#define MESSAGE_AGE_INCR 24,672 -static const char *br_port_state_names[26,726 -void br_log_state(34,959 -struct net_bridge_port *br_get_port(43,1176 -static int br_should_become_root_port(56,1425 -static void br_root_selection(107,2454 -void br_become_root_bridge(131,2982 -void br_transmit_config(146,3380 -static inline void br_record_config_information(187,4373 -static inline void br_record_config_timeout_values(200,4771 -void br_transmit_tcn(210,5080 -static int br_should_become_designated_port(216,5211 -static void br_designated_port_selection(246,5779 -static int br_supersedes_port_info(259,6075 -static inline void br_topology_change_acknowledged(290,6684 -void br_topology_change_detection(297,6857 -void br_config_bpdu_generation(317,7413 -static inline void br_reply(329,7680 -void br_configuration_update(335,7795 -void br_become_designated_port(342,7942 -static void br_make_blocking(355,8233 -static void br_make_forwarding(370,8612 -void br_port_state_selection(383,8945 -static inline void br_topology_change_acknowledge(407,9489 -void br_received_config_bpdu(414,9655 -void br_received_tcn_bpdu(450,10535 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_if.c,471 -static int br_initial_port_cost(35,928 -static void destroy_nbp(78,1720 -static void destroy_nbp_rcu(90,1901 -static void del_nbp(98,2078 -static void del_br(121,2544 -static struct net_device *new_bridge_dev(136,2814 -static int find_portno(176,3734 -static struct net_bridge_port *new_nbp(199,4300 -int br_add_bridge(229,4885 -int br_del_bridge(271,5525 -int br_min_mtu(299,6045 -int br_add_if(318,6365 -int br_del_if(359,7240 -void __exit br_cleanup_bridges(376,7533 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br.c,93 -static int __init br_init(32,790 -static void __exit br_deinit(52,1198 -module_init(75,1623 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bridge/br_device.c,296 -static struct net_device_stats *br_dev_get_stats(22,559 -int br_dev_xmit(31,705 -static int br_dev_open(55,1231 -static void br_dev_set_multicast_list(64,1355 -static int br_dev_stop(68,1422 -static int br_change_mtu(77,1546 -static int br_dev_accept_fastpath(86,1720 -void br_dev_setup(91,1818 - -/export0/mef/linux-2.6.9-1.11_FC2/net/wanrouter/wanproc.c,963 -#define PROC_STATS_FORMAT 35,1408 -#define PROT_DECODE(PROT_DECODE39,1531 -static struct proc_dir_entry *proc_router;69,2289 -static void *r_start(82,2478 -static void *r_next(96,2742 -static void r_stop(103,2926 -static int config_show(108,2997 -static int status_show(124,3472 -static struct seq_operations config_op 168,4494 -static struct seq_operations status_op 175,4616 -static int config_open(182,4738 -static int status_open(187,4842 -static struct file_operations config_fops 192,4946 -static struct file_operations status_fops 200,5111 -static int wandev_show(208,5276 -static int wandev_open(270,7313 -static struct file_operations wandev_fops 275,7439 -int __init wanrouter_proc_init(288,7680 -void wanrouter_proc_cleanup(316,8247 -int wanrouter_proc_add(327,8462 -int wanrouter_proc_delete(343,8812 -int __init wanrouter_proc_init(357,9024 -void wanrouter_proc_cleanup(362,9077 -int wanrouter_proc_add(366,9116 -int wanrouter_proc_delete(371,9182 - -/export0/mef/linux-2.6.9-1.11_FC2/net/wanrouter/af_wanpipe.c,2312 -#define SLOW_BACKOFF 68,2607 -#define FAST_BACKOFF 69,2635 - #define DBG_PRINTK(DBG_PRINTK73,2706 - #define DBG_PRINTK(DBG_PRINTK75,2767 -static rwlock_t wanpipe_sklist_lock 161,6044 -atomic_t wanpipe_socks_nr;163,6101 -static unsigned long wanpipe_tx_critical;164,6128 -struct wanpipe_optwanpipe_opt168,6218 -static int sk_count;183,6631 -static unsigned long find_free_critical;185,6689 -static int wanpipe_rcv(228,8664 -static int wanpipe_listen_rcv 322,11597 -static struct sock *wanpipe_make_new(454,14987 -static struct sock *wanpipe_alloc_socket(491,15891 -static int wanpipe_sendmsg(536,17241 -static void wanpipe_delayed_transmit 661,19928 -static int execute_command(755,22860 -static void wanpipe_destroy_timer(825,24481 -static void wanpipe_unlink_driver 863,25598 -static void wanpipe_link_driver(905,26638 -static void release_device(930,27258 -static int wanpipe_release(944,27689 -static void check_write_queue(1040,30074 -static void release_driver(1062,30660 -static void start_cleanup_timer 1104,31740 -static void wanpipe_kill_sock_timer 1122,32282 -static void wanpipe_kill_sock_accept 1191,33837 -static void wanpipe_kill_sock_irq 1225,34459 -static int wanpipe_do_bind(1257,35194 -static int wanpipe_bind(1326,36736 -static inline int get_atomic_device(1425,39218 -static int check_dev(1440,39600 -struct net_device *wanpipe_find_free_dev(1461,40158 -static int wanpipe_create(1498,41085 -static int wanpipe_recvmsg(1546,42260 -static void wanpipe_wakeup_driver(1633,44349 -static int wanpipe_getname(1667,45206 -static int wanpipe_notifier(1705,46268 -static int wanpipe_ioctl(1760,47600 -static int wanpipe_debug 1850,49414 -static int get_ioctl_cmd 1948,51865 -static int set_ioctl_cmd 1995,53109 -unsigned int wanpipe_poll(2060,54877 -static int wanpipe_listen(2122,56384 -static int wanpipe_link_card 2149,57071 -static void wanpipe_unlink_card 2175,57672 -static int wanpipe_exec_cmd(2193,58190 -static int check_driver_busy 2345,61544 -static int wanpipe_accept(2370,62118 -struct sock * get_newsk_from_skb 2447,63753 -static int wanpipe_connect(2475,64426 -struct proto_ops wanpipe_ops 2542,65946 -static struct net_proto_family wanpipe_family_ops 2561,66451 -struct notifier_block wanpipe_netdev_notifier 2567,66582 -void cleanup_module(2573,66687 -int init_module(2582,66862 - -/export0/mef/linux-2.6.9-1.11_FC2/net/wanrouter/wanmain.c,991 -#define KMEM_SAFETYZONE 63,3012 -static char wanrouter_fullname[155,6053 -static char wanrouter_copyright[156,6115 -static char wanrouter_modname[157,6194 -struct wan_device* wanrouter_router_devlist;158,6265 -static unsigned char wanrouter_oui_ether[164,6415 -static unsigned char wanrouter_oui_802_2[166,6488 -static int __init wanrouter_init(169,6563 -static void __exit wanrouter_cleanup 185,6895 -int register_wan_device(219,7707 -int unregister_wan_device(275,8881 -int wanrouter_encapsulate(317,9673 -unsigned short wanrouter_type_trans(361,10592 -int wanrouter_ioctl(408,11829 -static int wanrouter_device_setup(476,13194 -static int wanrouter_device_shutdown(553,15042 -static int wanrouter_device_stat(587,15764 -static int wanrouter_device_new_if(618,16509 -static int wanrouter_device_del_if(745,19376 -static struct wan_device *wanrouter_find_device(786,20441 -static int wanrouter_delete_interface(813,21208 -void lock_adapter_irq(866,22404 -void unlock_adapter_irq(872,22521 - -/export0/mef/linux-2.6.9-1.11_FC2/net/unix/sysctl_net_unix.c,242 -ctl_table unix_table[17,436 -static ctl_table unix_net_table[29,680 -static ctl_table unix_root_table[39,834 -static struct ctl_table_header * unix_sysctl_header;49,991 -void unix_sysctl_register(51,1045 -void unix_sysctl_unregister(56,1147 - -/export0/mef/linux-2.6.9-1.11_FC2/net/unix/af_unix.c,2931 -int sysctl_unix_max_dgram_qlen 122,4438 -kmem_cache_t *unix_sk_cachep;124,4476 -struct hlist_head unix_socket_table[126,4507 -rwlock_t unix_table_lock 127,4564 -static atomic_t unix_nr_socks 128,4609 -#define unix_sockets_unbound 130,4658 -#define UNIX_ABSTRACT(UNIX_ABSTRACT132,4725 -static inline unsigned unix_hash_fold(140,4945 -#define unix_peer(unix_peer147,5073 -static inline int unix_our_peer(149,5116 -static inline int unix_may_send(154,5218 -static struct sock *unix_peer_get(159,5350 -static inline void unix_release_addr(171,5538 -static int unix_mkname(184,5854 -static void __unix_remove_socket(211,6643 -static void __unix_insert_socket(216,6721 -static inline void unix_remove_socket(222,6853 -static inline void unix_insert_socket(229,7004 -static struct sock *__unix_find_socket_byname(236,7186 -static inline struct sock *unix_find_socket_byname(254,7569 -static struct sock *unix_find_socket_byinode(268,7879 -static inline int unix_writable(290,8291 -static void unix_write_space(295,8410 -static void unix_dgram_disconnected(310,8957 -static void unix_sock_destructor(327,9480 -static int unix_release_sock 350,10028 -static int unix_listen(429,11921 -static struct proto_ops unix_stream_ops 483,13950 -static struct proto_ops unix_dgram_ops 504,14489 -static struct proto_ops unix_seqpacket_ops 525,15034 -static struct sock * unix_create1(546,15582 -static int unix_create(579,16379 -static int unix_release(609,16960 -static int unix_autobind(621,17117 -static struct sock *unix_find_other(671,18261 -static int unix_bind(724,19285 -static int unix_dgram_connect(860,22260 -static long unix_wait_for_peer(925,23522 -static int unix_stream_connect(947,24021 -static int unix_socketpair(1123,28104 -static int unix_accept(1145,28711 -static int unix_getname(1188,29568 -static void unix_detach_fds(1224,30246 -static void unix_destruct_fds(1236,30489 -static void unix_attach_fds(1248,30765 -static int unix_dgram_sendmsg(1262,31033 -static int unix_stream_sendmsg(1412,34026 -static int unix_seqpacket_sendmsg(1524,36482 -static void unix_copy_addr(1543,36940 -static int unix_dgram_recvmsg(1554,37177 -static long unix_stream_data_wait(1636,38938 -static int unix_stream_recvmsg(1666,39569 -static int unix_shutdown(1807,42341 -static int unix_ioctl(1849,43306 -static unsigned int unix_poll(1885,44002 -static struct sock *unix_seq_idx(1920,44861 -static void *unix_seq_start(1934,45087 -static void *unix_seq_next(1940,45253 -static void unix_seq_stop(1949,45446 -static int unix_seq_show(1954,45540 -static struct seq_operations unix_seq_ops 1998,46472 -static int unix_seq_open(2006,46628 -static struct file_operations unix_seq_fops 2029,46997 -static struct net_proto_family unix_family_ops 2039,47182 -static inline void unix_sysctl_register(2049,47413 -static inline void unix_sysctl_unregister(2050,47462 -static int __init af_unix_init(2053,47521 -static void __exit af_unix_exit(2077,48188 - -/export0/mef/linux-2.6.9-1.11_FC2/net/unix/garbage.c,388 -#define GC_HEAD 87,3025 -#define GC_ORPHAN 88,3064 -static struct sock *gc_current 90,3105 -atomic_t unix_tot_inflight 92,3179 -static struct sock *unix_get_socket(95,3226 -void unix_inflight(121,3707 -void unix_notinflight(130,3870 -static inline struct sock *pop_stack(144,4084 -static inline int empty_stack(151,4208 -static void maybe_unmark_and_push(156,4280 -void unix_gc(170,4513 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipx/af_ipx.c,3617 -#define ipx_register_sysctl(ipx_register_sysctl62,1916 -#define ipx_unregister_sysctl(ipx_unregister_sysctl63,1946 -static unsigned char ipxcfg_max_hops 67,2016 -static char ipxcfg_auto_select_primary;68,2059 -static char ipxcfg_auto_create_interfaces;69,2099 -int sysctl_ipx_pprop_broadcasting 70,2142 -static struct datalink_proto *p8022_datalink;73,2205 -static struct datalink_proto *pEII_datalink;74,2251 -static struct datalink_proto *p8023_datalink;75,2296 -static struct datalink_proto *pSNAP_datalink;76,2342 -static struct proto_ops ipx_dgram_ops;78,2389 -spinlock_t ipx_interfaces_lock 81,2456 -struct ipx_interface *ipx_primary_net;83,2510 -struct ipx_interface *ipx_internal_net;84,2549 -atomic_t ipx_sock_nr;97,3092 -struct ipx_interface *ipx_interfaces_head(100,3122 -static void ipxcfg_set_auto_select(110,3329 -static int ipxcfg_get_config_data(117,3487 -static void ipx_remove_socket(133,3960 -static void ipx_destroy_socket(150,4313 -static void ipxitf_clear_primary_net(172,4987 -static struct ipx_interface *__ipxitf_find_using_phys(179,5136 -static struct ipx_interface *ipxitf_find_using_phys(192,5426 -struct ipx_interface *ipxitf_find_using_net(205,5728 -static void ipxitf_insert_socket(228,6153 -static struct sock *__ipxitf_find_socket(239,6477 -static struct sock *ipxitf_find_socket(254,6786 -static struct sock *ipxitf_find_internal_socket(269,7088 -void __ipxitf_down(294,7613 -void ipxitf_down(331,8512 -static int ipxitf_device_event(338,8664 -static __exit void ipxitf_cleanup(361,9161 -static void ipxitf_def_skb_handler(371,9392 -static int ipxitf_demux_socket(384,9672 -static struct sock *ncp_connection_hack(432,10786 -static int ipxitf_demux_socket(469,12082 -static struct sk_buff *ipxitf_adjust_skbuff(556,14241 -int ipxitf_send(582,14953 -static int ipxitf_add_local_route(688,17780 -static int ipxitf_rcv(697,18079 -static void ipxitf_discover_netnum(751,19540 -static int ipxitf_pprop(803,21535 -static void ipxitf_insert(872,23650 -static struct ipx_interface *ipxitf_alloc(882,23917 -static int ipxitf_create_internal(906,24594 -static int ipx_map_frame_type(940,25361 -static int ipxitf_create(954,25681 -static int ipxitf_delete(1067,28261 -static struct ipx_interface *ipxitf_auto_create(1106,29005 -static int ipxitf_ioctl(1144,29972 -__u16 ipx_cksum(1231,31897 -const char *ipx_frame_name(1263,32868 -const char *ipx_device_name(1278,33188 -static int ipx_setsockopt(1287,33443 -static int ipx_getsockopt(1311,33869 -static int ipx_create(1342,34415 -static int ipx_release(1387,35568 -static unsigned short ipx_first_free_socketnum(1406,35866 -static int ipx_bind(1427,36385 -static int ipx_connect(1522,38798 -static int ipx_getname(1584,40183 -int ipx_rcv(1632,41219 -static int ipx_sendmsg(1686,42569 -static int ipx_recvmsg(1751,44154 -static int ipx_ioctl(1823,45781 -static struct net_proto_family ipx_family_ops 1900,47424 -static struct packet_type ipx_8023_packet_type 1930,48176 -static struct packet_type ipx_dix_packet_type 1935,48291 -static struct notifier_block ipx_dev_notifier 1940,48403 -static unsigned char ipx_8022_type 1949,48719 -static unsigned char ipx_snap_id[1950,48762 -static char ipx_EII_err_msg[1951,48831 -static char ipx_EII_err_msg[] __initdata 1951,48831 -static char ipx_8023_err_msg[1953,48931 -static char ipx_8023_err_msg[] __initdata 1953,48931 -static char ipx_llc_err_msg[1955,49026 -static char ipx_llc_err_msg[] __initdata 1955,49026 -static char ipx_snap_err_msg[1957,49120 -static char ipx_snap_err_msg[] __initdata 1957,49120 -static int __init ipx_init(1960,49215 -static void __exit ipx_proto_finito(1990,49877 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipx/ipx_proc.c,1479 -static __inline__ struct ipx_interface *ipx_get_interface_idx(16,304 -static struct ipx_interface *ipx_interfaces_next(28,511 -static void *ipx_seq_interface_start(37,736 -static void *ipx_seq_interface_next(45,927 -static void ipx_seq_interface_stop(57,1151 -static int ipx_seq_interface_show(62,1261 -static struct ipx_route *ipx_routes_head(92,2087 -static struct ipx_route *ipx_routes_next(101,2273 -static __inline__ struct ipx_route *ipx_get_route_idx(110,2474 -static void *ipx_seq_route_start(122,2665 -static void *ipx_seq_route_next(129,2843 -static void ipx_seq_route_stop(141,3051 -static int ipx_seq_route_show(146,3153 -static __inline__ struct sock *ipx_get_socket_idx(168,3782 -static void *ipx_seq_socket_start(193,4216 -static void *ipx_seq_socket_next(201,4401 -static int ipx_seq_socket_show(243,5152 -struct seq_operations ipx_seq_interface_ops 290,6605 -struct seq_operations ipx_seq_route_ops 297,6798 -struct seq_operations ipx_seq_socket_ops 304,6971 -static int ipx_seq_route_open(311,7152 -static int ipx_seq_interface_open(316,7271 -static int ipx_seq_socket_open(321,7398 -static struct file_operations ipx_seq_interface_fops 326,7519 -static struct file_operations ipx_seq_route_fops 334,7738 -static struct file_operations ipx_seq_socket_fops 342,7949 -static struct proc_dir_entry *ipx_proc_dir;350,8162 -int __init ipx_proc_init(352,8207 -void __exit ipx_proc_exit(389,8956 -int __init ipx_proc_init(399,9192 -void __exit ipx_proc_exit(404,9239 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipx/sysctl_net_ipx.c,263 -static struct ctl_table ipx_table[20,494 -static struct ctl_table ipx_dir_table[32,755 -static struct ctl_table ipx_root_table[42,909 -static struct ctl_table_header *ipx_table_header;52,1061 -void ipx_register_sysctl(54,1112 -void ipx_unregister_sysctl(59,1210 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipx/ipx_route.c,297 -rwlock_t ipx_routes_lock 19,338 -struct ipx_route *ipxrtr_lookup(33,920 -int ipxrtr_add_route(52,1246 -void ipxrtr_del_routes(94,2068 -static int ipxrtr_create(107,2355 -static int ipxrtr_delete(122,2703 -int ipxrtr_route_skb(149,3230 -int ipxrtr_route_packet(171,3672 -int ipxrtr_ioctl(259,6109 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_null.c,339 -# define RPCDBG_FACILITY 18,340 -static struct rpc_credops null_credops;21,385 -nul_create(24,451 -nul_destroy(41,876 -nul_create_cred(51,1079 -nul_destroy_cred(69,1460 -nul_match(78,1582 -nul_marshal(87,1714 -nul_refresh(101,1937 -nul_validate(107,2025 -struct rpc_authops authnull_ops 127,2349 -struct rpc_credops null_credops 139,2572 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/sysctl.c,483 -unsigned int rpc_debug;27,553 -unsigned int nfs_debug;28,577 -unsigned int nfsd_debug;29,601 -unsigned int nlm_debug;30,626 -static struct ctl_table_header *sunrpc_table_header;34,669 -static ctl_table sunrpc_table[35,722 -rpc_register_sysctl(38,762 -rpc_unregister_sysctl(51,997 -proc_dodebug(60,1150 -static unsigned int min_slot_table_size 122,2514 -static unsigned int max_slot_table_size 123,2576 -static ctl_table debug_table[125,2639 -static ctl_table sunrpc_table[183,3970 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/svcauth.c,640 -#define RPCDBG_FACILITY 22,487 -static spinlock_t authtab_lock 31,634 -static struct auth_ops *authtab[32,687 -svc_authenticate(38,795 -int svc_authorise(66,1483 -svc_auth_register(81,1703 -svc_auth_unregister(94,1968 -#define DN_HASHBITS 126,3163 -#define DN_HASHMAX 127,3185 -#define DN_HASHMASK 128,3221 -static struct cache_head *auth_domain_table[130,3257 -void auth_domain_drop(131,3314 -struct cache_detail auth_domain_cache 139,3533 -void auth_domain_put(146,3696 -static inline int auth_domain_hash(151,3795 -static inline int auth_domain_match(155,3903 -auth_domain_lookup(161,4060 -struct auth_domain *auth_domain_find(203,5121 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth.c,854 -# define RPCDBG_FACILITY 19,365 -static struct rpc_authops * auth_flavors[22,410 -pseudoflavor_to_flavor(29,595 -rpcauth_register(36,713 -rpcauth_unregister(49,973 -rpcauth_create(62,1249 -rpcauth_destroy(83,1758 -static spinlock_t rpc_credcache_lock 92,1934 -rpcauth_init_credcache(98,2041 -rpcauth_crdestroy(110,2299 -void rpcauth_destroy_credlist(125,2592 -rpcauth_free_credcache(141,2931 -rpcauth_prune_expired(163,3483 -rpcauth_gc_credcache(179,3845 -rpcauth_lookup_credcache(199,4375 -rpcauth_lookupcred(256,5650 -rpcauth_bindcred(274,6094 -rpcauth_holdcred(296,6686 -put_rpccred(305,6916 -rpcauth_unbindcred(323,7346 -rpcauth_marshcred(336,7630 -rpcauth_checkverf(348,7951 -rpcauth_wrap_req(359,8232 -rpcauth_unwrap_resp(373,8684 -rpcauth_refreshcred(388,9156 -rpcauth_invalcred(400,9464 -rpcauth_uptodatecred(411,9790 -rpcauth_deadcred(418,9940 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/pmap_clnt.c,648 -# define RPCDBG_FACILITY 24,509 -#define PMAP_SET 27,554 -#define PMAP_UNSET 28,574 -#define PMAP_GETPORT 29,596 -static struct rpc_procinfo pmap_procedures[31,621 -static spinlock_t pmap_lock 35,832 -rpc_getport(42,1010 -rpc_getport_external(99,2343 -pmap_getport_done(132,3116 -rpc_register(162,3954 -pmap_create(201,4932 -xdr_encode_mapping(230,5580 -xdr_decode_port(244,5962 -xdr_decode_bool(251,6098 -static struct rpc_procinfo pmap_procedures[257,6219 -static struct rpc_version pmap_version2 281,6811 -static struct rpc_version * pmap_version[287,6916 -static struct rpc_stat pmap_stats;293,6997 -struct rpc_program pmap_program 295,7034 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/xdr.c,1045 -xdr_encode_netobj(25,461 -xdr_decode_netobj_fixed(36,713 -xdr_decode_netobj(45,877 -u32 *xdr_encode_opaque_fixed(70,1560 -u32 *xdr_encode_opaque(94,2188 -xdr_encode_string(102,2374 -xdr_decode_string(108,2484 -xdr_decode_string_inplace(129,2848 -xdr_encode_pages(141,3059 -xdr_inline_pages(168,3576 -void xdr_shift_iovec(196,4332 -int xdr_kmap(222,4941 -void xdr_kunmap(272,5962 -xdr_partial_copy_from_skb(307,6770 -xdr_sendpages(367,8048 -_shift_data_right_pages(480,10800 -_copy_to_pages(537,12084 -_copy_from_pages(576,12857 -xdr_shrink_bufhead(614,13641 -xdr_shrink_pagelen(687,15383 -xdr_shift_buf(721,16147 -void xdr_init_encode(739,16792 -uint32_t * xdr_reserve_space(760,17421 -void xdr_write_pages(786,18006 -void xdr_init_decode(819,18787 -uint32_t * xdr_inline_decode(843,19479 -void xdr_read_pages(865,20178 -static struct kvec empty_iov 900,21130 -xdr_buf_from_iov(903,21201 -iov_subsegment(916,21676 -xdr_buf_subsegment(933,22168 -read_bytes_from_xdr_buf(961,22874 -read_u32_from_xdr_buf(986,23517 -xdr_buf_read_netobj(1003,23993 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/xprt.c,1964 -# define RPCDBG_FACILITY 73,2543 -#define XPRT_MAX_BACKOFF 76,2588 -#define XPRT_IDLE_TIMEOUT 77,2617 -#define XPRT_MAX_RESVPORT 78,2653 -xprt_pktdump(99,3381 -xprt_pktdump(118,3750 -xprt_from_sock(128,3915 -__xprt_lock_write(139,4195 -xprt_lock_write(173,5008 -__xprt_lock_write_next(185,5227 -__xprt_release_write(218,5944 -xprt_release_write(230,6229 -xprt_sendmsg(241,6452 -__xprt_get_cong(298,7751 -__xprt_put_cong(318,8219 -xprt_adjust_cwnd(332,8521 -static void xprt_reset_majortimeo(357,9154 -int xprt_adjust_timeout(374,9630 -xprt_close(412,10627 -xprt_socket_autoclose(436,11100 -xprt_disconnect(449,11321 -xprt_init_autodisconnect(462,11638 -static void xprt_socket_connect(482,12161 -void xprt_connect(537,13431 -xprt_connect_status(582,14519 -xprt_lookup_rqst(616,15305 -xprt_complete_rqst(636,15713 -skb_read_bits(683,16977 -skb_read_and_csum_bits(695,17219 -csum_partial_copy_to_xdr(714,17707 -udp_data_ready(749,18585 -tcp_copy_data(818,20177 -tcp_read_fraghdr(833,20457 -tcp_check_recm(862,21260 -tcp_read_xid(879,21601 -tcp_read_request(902,22182 -tcp_read_discard(957,23652 -tcp_data_recv(975,24033 -static void tcp_data_ready(1011,24964 -tcp_state_change(1034,25512 -xprt_write_space(1078,26698 -xprt_timer(1115,27553 -xprt_prepare_transmit(1142,28140 -xprt_transmit(1173,28726 -do_xprt_reserve(1302,32272 -xprt_reserve(1323,32780 -static inline u32 xprt_alloc_xid(1340,33092 -static inline void xprt_init_xid(1345,33174 -xprt_request_init(1354,33330 -xprt_release(1370,33697 -xprt_default_timeout(1401,34486 -xprt_set_timeout(1413,34688 -unsigned int xprt_udp_slot_table_entries 1422,34904 -unsigned int xprt_tcp_slot_table_entries 1423,34967 -xprt_setup(1429,35091 -static inline int xprt_bindresvport(1505,37265 -xprt_bind_socket(1531,37874 -xprt_sock_setbufsize(1568,38740 -static struct socket * xprt_create_socket(1589,39222 -xprt_create_proto(1621,39998 -xprt_shutdown(1637,40345 -xprt_clear_backlog(1652,40629 -xprt_destroy(1662,40816 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/svcsock.c,1138 -#define RPCDBG_FACILITY 64,2022 -svc_serv_enqueue(84,2768 -svc_serv_dequeue(93,2968 -svc_release_skb(102,3122 -svc_sock_wspace(123,3528 -svc_sock_enqueue(141,3841 -svc_sock_dequeue(219,6120 -svc_sock_received(243,6648 -void svc_reserve(260,7116 -svc_sock_put(279,7550 -svc_sock_release(295,7909 -svc_wake_up(327,8613 -svc_sendto(350,9059 -svc_recv_available(436,11281 -svc_recvfrom(453,11605 -svc_sock_setbufsize(488,12504 -svc_udp_data_ready(514,13270 -svc_write_space(533,13764 -svc_udp_recvfrom(557,14340 -svc_udp_sendto(654,17074 -svc_udp_init(667,17317 -svc_tcp_listen_data_ready(691,18065 -svc_tcp_state_change(726,19101 -svc_tcp_data_ready(745,19575 -svc_tcp_accept(764,20004 -svc_tcp_recvfrom(891,23410 -svc_tcp_sendto(1048,27564 -svc_tcp_init(1077,28363 -svc_sock_update_bufs(1116,29445 -svc_recv(1142,30060 -svc_drop(1277,33723 -svc_send(1287,33887 -svc_setup_socket(1327,34795 -svc_create_socket(1394,36355 -svc_delete_socket(1443,37509 -svc_makesock(1480,38315 -static void svc_revisit(1495,38675 -svc_defer(1518,39269 -static int svc_deferred_recv(1554,40315 -static struct svc_deferred_req *svc_deferred_dequeue(1568,40679 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_unix.c,566 -#define NFS_NGROUPS 17,339 -struct unx_cred unx_cred19,363 -#define uc_uid 26,533 -#define uc_count 27,565 -#define uc_flags 28,600 -#define uc_expire 29,635 -#define UNX_CRED_EXPIRE 31,673 -#define UNX_WRITESLACK 33,709 -# define RPCDBG_FACILITY 36,781 -static struct rpc_credops unix_credops;39,826 -unx_create(42,892 -unx_destroy(60,1346 -unx_create_cred(67,1501 -unx_destroy_cred(104,2464 -unx_match(115,2711 -unx_marshal(147,3532 -unx_refresh(187,4582 -unx_validate(194,4729 -struct rpc_authops authunix_ops 218,5199 -struct rpc_credops unix_credops 230,5422 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/rpc_pipe.c,1767 -static struct vfsmount *rpc_mount;31,691 -static int rpc_mount_count;32,726 -static struct file_system_type rpc_pipe_fs_type;34,755 -static kmem_cache_t *rpc_inode_cachep;37,806 -#define RPC_UPCALL_TIMEOUT 39,846 -__rpc_purge_upcall(42,894 -rpc_timeout_upcall_queue(64,1443 -rpc_queue_upcall(76,1720 -rpc_close_pipes(99,2280 -rpc_inode_setowner(118,2689 -rpc_alloc_inode(124,2805 -rpc_destroy_inode(134,3017 -rpc_pipe_open(140,3122 -rpc_pipe_release(158,3458 -rpc_pipe_read(186,4101 -rpc_pipe_write(225,5028 -rpc_pipe_poll(240,5377 -rpc_pipe_ioctl(257,5746 -struct inode_operations rpc_pipe_iops 279,6231 -struct file_operations rpc_pipe_fops 284,6305 -rpc_show_info(296,6567 -rpc_info_open(311,7009 -rpc_info_release(333,7436 -static struct file_operations rpc_info_operations 343,7673 - RPCAUTH_Root 356,7917 - RPCAUTH_lockd,357,7936 - RPCAUTH_mount,358,7952 - RPCAUTH_nfs,359,7968 - RPCAUTH_portmap,360,7982 - RPCAUTH_statd,361,8000 - RPCAUTH_RootEOF362,8016 -struct rpc_filelist rpc_filelist368,8075 -static struct rpc_filelist files[374,8157 - RPCAUTH_info 398,8622 - RPCAUTH_EOF399,8641 -static struct rpc_filelist authfiles[402,8658 -rpc_get_mount(411,8820 -rpc_put_mount(417,8924 -rpc_lookup_parent(423,9010 -rpc_release_path(448,9585 -rpc_get_inode(455,9688 -rpc_depopulate(480,10233 -rpc_populate(520,11093 -__rpc_mkdir(563,12075 -__rpc_rmdir(583,12561 -rpc_lookup_negative(603,12953 -rpc_mkdir(630,13461 -rpc_rmdir(664,14236 -rpc_mkpipe(690,14733 -rpc_unlink(725,15589 -static struct super_operations s_ops 758,16243 -#define RPCAUTH_GSSMAGIC 764,16385 -rpc_fill_super(767,16433 -rpc_get_sb(796,17024 -static struct file_system_type rpc_pipe_fs_type 802,17182 -init_once(810,17353 -int register_rpc_pipefs(829,17886 -void unregister_rpc_pipefs(841,18295 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/clnt.c,862 -#define RPC_SLACK_SPACE 39,1175 -# define RPCDBG_FACILITY 42,1246 -rpc_setup_pipedir(67,2149 -rpc_create_client(99,3047 -rpc_clone_client(189,5447 -rpc_shutdown_client(223,6436 -rpc_destroy_client(260,7350 -rpc_release_client(293,8042 -rpc_default_callback(309,8388 -void rpc_clnt_sigmask(318,8531 -void rpc_clnt_sigunmask(338,9183 -int rpc_call_sync(351,9490 -rpc_call_async(390,10195 -rpc_call_setup(431,11005 -rpc_setbufsize(448,11355 -rpc_restart_call(467,11790 -call_start(482,12068 -call_reserve(500,12501 -call_reserveresult(518,12822 -call_allocate(571,14028 -call_encode(603,14770 -call_bind(651,16102 -call_connect(672,16611 -call_connect_status(693,17011 -call_transmit(723,17601 -call_status(752,18256 -call_timeout(804,19347 -call_decode(840,20212 -call_refresh(913,22148 -call_refreshresult(928,22499 -call_header(952,22996 -call_verify(975,23646 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/svcauth_des.c,264 -#define RPCDBG_FACILITY 16,323 -struct des_cred des_cred26,716 -#define ADN_FULLNAME 35,933 -#define ADN_NICKNAME 36,957 -#define DES_REPLAY_SLACK 42,1079 -static int in_keycall;48,1196 -#define FAIL(FAIL50,1222 -svcauth_des(57,1336 -get_cred_byname(203,5229 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/timer.c,152 -#define RPC_RTO_MAX 25,677 -#define RPC_RTO_INIT 26,705 -#define RPC_RTO_MIN 27,733 -rpc_init_rtt(30,767 -rpc_update_rtt(51,1197 -rpc_calc_rto(95,2180 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/svcauth_unix.c,1050 -#define RPCDBG_FACILITY 12,282 -static char *strdup(23,577 -struct unix_domain unix_domain31,695 -struct auth_domain *unix_domain_find(37,787 -static void svcauth_unix_domain_release(74,1467 -#define IP_HASHBITS 87,1759 -#define IP_HASHMAX 88,1781 -#define IP_HASHMASK 89,1817 -struct ip_map ip_map91,1853 -static struct cache_head *ip_table[98,2009 -void ip_map_put(100,2058 -static inline int ip_map_hash(111,2361 -static inline int ip_map_match(116,2526 -static inline void ip_map_init(121,2699 -static inline void ip_map_update(126,2856 -static void ip_map_request(133,3043 -static int ip_map_parse(154,3577 -static int ip_map_show(219,4969 -struct cache_detail ip_map_cache 251,5664 -static DefineSimpleCacheLookup(261,5900 -int auth_unix_forget_old(288,6454 -struct auth_domain *auth_unix_lookup(299,6676 -void svcauth_unix_purge(326,7246 -svcauth_null_accept(334,7356 -svcauth_null_release(398,8899 -struct auth_ops svcauth_null 411,9186 -svcauth_unix_accept(421,9364 -svcauth_unix_release(501,11343 -struct auth_ops svcauth_unix 516,11668 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/svc.c,255 -#define RPCDBG_FACILITY 22,439 -#define RPC_PARANOIA 23,477 -svc_create(29,551 -svc_destroy(71,1618 -svc_init_buffer(112,2503 -svc_release_buffer(140,3021 -svc_create_thread(156,3357 -svc_exit_thread(192,4123 -svc_register(216,4603 -svc_process(255,5393 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/stats.c,409 -#define RPCDBG_FACILITY 25,663 -struct proc_dir_entry *proc_net_rpc 27,700 -static int rpc_proc_show(32,776 -static int rpc_proc_open(63,1488 -static struct file_operations rpc_proc_fops 68,1618 -void svc_seq_show(79,1818 -do_register(113,2696 -rpc_proc_register(129,3023 -rpc_proc_unregister(135,3141 -svc_proc_register(141,3248 -svc_proc_unregister(147,3389 -rpc_proc_init(153,3477 -rpc_proc_exit(167,3714 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/sunrpc_syms.c,47 -init_sunrpc(149,3965 -cleanup_sunrpc(170,4299 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/cache.c,2133 -#define RPCDBG_FACILITY 34,774 -void cache_init(36,813 -int cache_check(59,1440 -void cache_fresh(116,2827 -static spinlock_t cache_list_lock 161,4418 -static struct cache_detail *current_detail;162,4474 -static int current_index;163,4518 -static struct file_operations cache_file_operations;165,4545 -static struct file_operations content_file_operations;166,4598 -static struct file_operations cache_flush_operations;167,4653 -void cache_register(172,4807 -int cache_unregister(225,6119 -struct cache_detail *cache_find(259,7002 -void cache_drop(280,7471 -int cache_clean(291,7766 -static void do_cache_clean(374,9879 -void cache_flush(393,10245 -void cache_purge(401,10367 -#define DFR_HASHSIZE 426,11042 -#define DFR_HASH(DFR_HASH427,11100 -#define DFR_MAX 429,11180 -spinlock_t cache_defer_lock 431,11211 -static struct list_head cache_defer_hash[433,11297 -static int cache_defer_cnt;434,11353 -void cache_defer_req(436,11382 -void cache_revisit_request(486,12515 -void cache_clean_deferred(518,13240 -static spinlock_t queue_lock 559,14359 -struct cache_queue cache_queue562,14447 -struct cache_request cache_request566,14535 -struct cache_reader cache_reader573,14653 -cache_read(579,14781 -static char write_buf[654,16646 -cache_write(657,16723 -cache_poll(687,17313 -cache_ioctl(715,17895 -cache_open(745,18625 -cache_release(768,19107 -static struct file_operations cache_file_operations 800,19759 -static void queue_loose(812,20027 -void qword_add(842,20778 -void qword_addhex(877,21285 -void warn_no_listener(905,21759 -static int cache_make_upcall(918,22071 -#define isodigit(isodigit978,23277 -int qword_get(979,23322 -struct handle handle1035,24541 -static void *c_start(1039,24587 -static void *c_next(1068,25173 -static void c_stop(1095,25709 -static int c_show(1101,25853 -struct seq_operations cache_content_op 1122,26353 -static int content_open(1129,26470 -static int content_release(1149,26854 -static struct file_operations content_file_operations 1158,27088 -static ssize_t read_flush(1165,27246 -static ssize_t write_flush(1186,27694 -static struct file_operations cache_flush_operations 1210,28242 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/sunrpcgss_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_spkm3_seal.c,60 -# define RPCDBG_FACILITY 44,1845 -spkm3_make_token(54,1986 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/svcauth_gss.c,1861 -# define RPCDBG_FACILITY 52,1824 -static int netobj_equal(63,2109 -#define RSI_HASHBITS 68,2249 -#define RSI_HASHMAX 69,2272 -#define RSI_HASHMASK 70,2310 -struct rsi rsi72,2348 -static struct cache_head *rsi_table[79,2504 -static struct cache_detail rsi_cache;80,2554 -static void rsi_free(83,2651 -static void rsi_put(91,2815 -static inline int rsi_hash(100,3009 -static inline int rsi_match(106,3206 -static int dup_to_netobj(112,3382 -static inline int dup_netobj(123,3627 -static inline void rsi_init(128,3758 -static inline void rsi_update(144,4218 -static void rsi_request(160,4719 -static int rsi_parse(172,5074 -static struct cache_detail rsi_cache 252,6654 -#define RSC_HASHBITS 270,7131 -#define RSC_HASHMAX 271,7155 -#define RSC_HASHMASK 272,7193 -#define GSS_SEQ_WIN 274,7231 -static DefineSimpleCacheLookup(261,6885 -struct gss_svc_seq_data gss_svc_seq_data276,7256 -struct rsc rsc285,7553 -static struct cache_head *rsc_table[293,7704 -static struct cache_detail rsc_cache;294,7754 -static void rsc_free(297,7851 -static void rsc_put(306,8059 -rsc_hash(317,8272 -rsc_match(323,8391 -rsc_init(329,8509 -rsc_update(340,8753 -static int rsc_parse(350,9001 -static struct cache_detail rsc_cache 441,10853 -gss_svc_searchbyctx(452,11088 -gss_check_seq_num(471,11522 -static inline u32 round_up_to_quad(500,12243 -svc_safe_getnetobj(506,12331 -svc_safe_putnetobj(523,12644 -gss_verify_header(544,13237 -gss_write_verf(591,14547 -struct gss_domain gss_domain619,15284 -find_gss_auth_domain(625,15380 -svcauth_gss_register_pseudoflavor(636,15575 -read_u32_from_xdr_buf(672,16358 -unwrap_integ_data(690,16852 -struct gss_svc_data gss_svc_data724,17681 -svcauth_gss_accept(742,18219 -svcauth_gss_release(946,23624 -svcauth_gss_domain_release(1040,26282 -struct auth_ops svcauthops_gss 1048,26437 -gss_svc_init(1058,26666 -gss_svc_shutdown(1069,26846 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_krb5_unseal.c,59 -# define RPCDBG_FACILITY 67,2786 -krb5_read_token(81,3312 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_spkm3_unseal.c,60 -# define RPCDBG_FACILITY 43,1821 -spkm3_read_token(52,1962 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_mech_switch.c,569 -# define RPCDBG_FACILITY 50,2065 -static spinlock_t registered_mechs_lock 54,2153 -gss_mech_free(57,2228 -make_auth_domain_name(71,2479 -gss_mech_svc_setup(85,2709 -gss_mech_register(108,3164 -gss_mech_unregister(125,3525 -gss_mech_get(137,3821 -gss_mech_get_by_name(146,3957 -mech_supports_pseudoflavor(167,4358 -gss_mech_get_by_pseudoflavor(179,4580 -gss_pseudoflavor_to_service(201,5042 -gss_service_to_auth_domain_name(215,5315 -gss_mech_put(229,5591 -gss_import_sec_context(239,5812 -gss_get_mic(255,6252 -gss_verify_mic(270,6592 -gss_delete_sec_context(287,7097 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_krb5_mech.c,543 -# define RPCDBG_FACILITY 48,1963 -struct xdr_netobj gss_mech_krb5_oid 51,2008 -get_bytes(55,2113 -get_netobj(68,2314 -get_key(85,2667 -gss_import_sec_context_kerberos(122,3413 -gss_delete_sec_context_kerberos(173,4848 -gss_verify_mic_kerberos(186,5120 -gss_get_mic_kerberos(204,5581 -static struct gss_api_ops gss_kerberos_ops 218,5926 -static struct pf_desc gss_kerberos_pfs[225,6181 -static struct gss_api_mech gss_kerberos_mech 238,6435 -static int __init init_kerberos_module(246,6639 -static void __exit cleanup_kerberos_module(256,6839 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_krb5_crypto.c,122 -# define RPCDBG_FACILITY 47,1670 -krb5_encrypt(51,1726 -krb5_decrypt(94,2651 -buf_to_sg(136,3581 -make_checksum(144,3800 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_pseudoflavors.c,420 -# define RPCDBG_FACILITY 42,1573 -static spinlock_t registered_triples_lock 46,1663 -do_lookup_triple_by_pseudoflavor(50,1814 -gss_register_triple(69,2325 -gss_unregister_triple(103,3172 -print_sec_triple(123,3627 -gss_cmp_triples(140,4224 -gss_get_pseudoflavor(167,4904 -gss_pseudoflavor_supported(178,5272 -gss_pseudoflavor_to_service(189,5521 -gss_pseudoflavor_to_mech(205,5931 -gss_pseudoflavor_to_mechOID(221,6366 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_generic_token.c,260 -# define RPCDBG_FACILITY 43,1611 -#define TWRITE_STR(TWRITE_STR48,1704 -der_length_size(77,2724 -der_write_length(97,3000 -der_read_length(119,3587 -g_token_size(148,4052 -g_make_token_header(161,4458 -g_verify_token_header(181,5150 -g_get_mech_oid(239,6349 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_krb5_seqnum.c,87 -# define RPCDBG_FACILITY 40,1548 -krb5_make_seq_num(44,1604 -krb5_get_seq_num(65,2102 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_krb5_seal.c,85 -# define RPCDBG_FACILITY 70,2875 -gss_krb5_padding(74,2945 -krb5_make_token(82,3134 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_spkm3_mech.c,517 -# define RPCDBG_FACILITY 49,2003 -struct xdr_netobj gss_mech_spkm3_oid 52,2048 -get_bytes(56,2146 -get_netobj(69,2347 -get_key(89,2750 -gss_import_sec_context_spkm3(146,3906 -gss_delete_sec_context_spkm3(210,5442 -gss_verify_mic_spkm3(225,5813 -gss_get_mic_spkm3(245,6324 -static struct gss_api_ops gss_spkm3_ops 259,6670 -static struct pf_desc gss_spkm3_pfs[266,6910 -static struct gss_api_mech gss_spkm3_mech 271,7067 -static int __init init_spkm3_module(279,7260 -static void __exit cleanup_spkm3_module(289,7446 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/gss_spkm3_token.c,184 -# define RPCDBG_FACILITY 44,1846 -asn1_bitstring_len(53,1997 -decode_asn1_bitstring(91,2664 -spkm3_mic_header(156,4277 -spkm3_make_mic_token(187,4968 -spkm3_verify_mic_token(203,5405 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/auth_gss/auth_gss.c,1634 -static struct rpc_authops authgss_ops;58,2216 -static struct rpc_credops gss_credops;60,2256 -# define RPCDBG_FACILITY 63,2313 -#define NFS_NGROUPS 66,2358 -#define GSS_CRED_EXPIRE 68,2382 -#define GSS_CRED_SLACK 69,2440 -#define GSS_VERF_SLACK 72,2606 -#define CA_RUN_AS_MACHINE 78,2790 -#define isprint(isprint81,2874 -static rwlock_t gss_ctx_lock 83,2926 -struct gss_auth gss_auth85,2976 -static struct rpc_pipe_ops gss_upcall_ops;95,3188 -print_hexl(98,3237 -gss_get_ctx(138,3966 -gss_put_ctx(145,4065 -gss_cred_set_ctx(152,4181 -gss_cred_is_uptodate_ctx(166,4541 -simple_get_bytes(179,4849 -simple_get_netobj(192,5057 -dup_netobj(207,5336 -gss_cred_get_ctx(217,5580 -gss_parse_init_downcall(230,5875 -struct gss_upcall_msg gss_upcall_msg290,7494 -gss_release_msg(300,7667 -__gss_find_upcall(309,7860 -__gss_unhash_msg(324,8225 -gss_unhash_msg(337,8522 -gss_upcall(347,8718 -gss_pipe_upcall(419,10851 -#define MSG_BUF_MAXSIZE 439,11241 -gss_pipe_downcall(442,11286 -gss_pipe_release(509,12921 -gss_pipe_destroy_msg(536,13594 -gss_create(563,14383 -gss_destroy(604,15468 -gss_destroy_ctx(621,15948 -gss_destroy_cred(638,16225 -gss_create_cred(650,16448 -gss_match(680,17225 -gss_marshal(690,17447 -gss_refresh(759,19347 -gss_validate(770,19579 -gss_wrap_req_integ(824,21131 -gss_wrap_req(872,22311 -gss_unwrap_resp_integ(910,23388 -gss_unwrap_resp(947,24314 -static struct rpc_authops authgss_ops 983,25215 -static struct rpc_credops gss_credops 994,25441 -static struct rpc_pipe_ops gss_upcall_ops 1004,25689 -static int __init init_rpcsec_gss(1014,25912 -static void __exit exit_rpcsec_gss(1031,26169 -module_init(1038,26294 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sunrpc/sched.c,2290 -#define RPCDBG_FACILITY 27,594 -static int rpc_task_id;28,632 -#define RPC_BUFFER_MAXSIZE 34,703 -#define RPC_BUFFER_POOLSIZE 35,737 -#define RPC_TASK_POOLSIZE 36,769 -static kmem_cache_t *rpc_task_slabp;37,799 -static kmem_cache_t *rpc_buffer_slabp;38,836 -static mempool_t *rpc_task_mempool;39,875 -static mempool_t *rpc_buffer_mempool;40,911 -static unsigned int rpciod_users;74,1773 -static pid_t rpciod_pid;75,1808 -static int rpc_inhibit;76,1835 -static spinlock_t rpc_queue_lock 82,2004 -static spinlock_t rpc_sched_lock 86,2115 -__rpc_disable_timer(94,2347 -rpc_run_timer(109,2791 -__rpc_add_timer(127,3157 -void rpc_add_timer(145,3557 -rpc_delete_timer(158,3919 -static void __rpc_add_wait_queue_priority(167,4103 -static int __rpc_add_wait_queue(192,4840 -int rpc_add_wait_queue(215,5423 -static void __rpc_remove_wait_queue_priority(228,5686 -static void __rpc_remove_wait_queue(244,6088 -rpc_remove_wait_queue(262,6460 -static inline void rpc_set_waitqueue_priority(271,6642 -static inline void rpc_set_waitqueue_cookie(277,6803 -static inline void rpc_reset_waitqueue_priority(283,6959 -static void __rpc_init_priority_wait_queue(289,7135 -void rpc_init_priority_wait_queue(302,7453 -void rpc_init_wait_queue(307,7607 -rpc_make_runnable(320,7946 -rpc_schedule_run(349,8606 -void rpciod_wake_up(363,8913 -__rpc_sleep_on(377,9257 -rpc_sleep_on(412,10146 -__rpc_wake_up_task(430,10542 -__rpc_default_timer(464,11334 -rpc_wake_up_task(475,11541 -static struct rpc_task * __rpc_wake_up_next_priority(487,11769 -struct rpc_task * rpc_wake_up_next(539,12881 -void rpc_wake_up(562,13425 -void rpc_wake_up_status(588,14025 -rpc_delay(613,14560 -__rpc_atrun(620,14712 -__rpc_execute(630,14887 -rpc_execute(755,18120 -__rpc_schedule(782,18615 -rpc_malloc(819,19436 -rpc_free(841,19879 -void rpc_init_task(856,20182 -rpc_alloc_task(900,21415 -rpc_default_free_task(906,21523 -rpc_new_task(918,21835 -rpc_release_task(948,22497 -rpc_find_parent(1011,23883 -rpc_child_exit(1025,24145 -rpc_new_child(1041,24489 -rpc_run_child(1058,24805 -rpc_killall_tasks(1072,25183 -rpciod_task_pending(1095,25696 -rpciod(1105,25821 -rpciod_killall(1171,27268 -rpciod_up(1196,27824 -rpciod_down(1227,28467 -void rpc_show_tasks(1249,28912 -rpc_destroy_mempool(1276,29597 -rpc_init_mempool(1289,30011 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/endpointola.c,541 -struct sctp_endpoint *sctp_endpoint_new(69,2527 -struct sctp_endpoint *sctp_endpoint_init(92,2947 -void sctp_endpoint_add_asoc(164,5149 -void sctp_endpoint_free(180,5640 -void sctp_endpoint_destroy(187,5777 -void sctp_endpoint_hold(220,6565 -void sctp_endpoint_put(228,6742 -struct sctp_endpoint *sctp_endpoint_is_match(235,6917 -struct sctp_association *__sctp_endpoint_lookup_assoc(260,7528 -struct sctp_association *sctp_endpoint_lookup_assoc(288,8208 -int sctp_endpoint_is_peeled_off(305,8626 -static void sctp_endpoint_bh_rcv(329,9250 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/sysctl.c,423 -static ctl_handler sctp_sysctl_jiffies_ms;47,1735 -static long rto_timer_min 48,1778 -static long rto_timer_max 49,1809 -static ctl_table sctp_table[51,1862 -static ctl_table sctp_net_table[185,5309 -static ctl_table sctp_root_table[195,5463 -static struct ctl_table_header * sctp_sysctl_header;205,5620 -void sctp_sysctl_register(208,5702 -void sctp_sysctl_unregister(214,5834 -static int sctp_sysctl_jiffies_ms(220,5980 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/sm_sideeffect.c,1719 -static void sctp_do_ecn_ce_work(63,2420 -static struct sctp_chunk *sctp_do_ecn_ecne_work(84,3209 -static void sctp_do_ecn_cwr_work(127,4460 -int sctp_gen_sack(137,4722 -void sctp_generate_t3_rtx_event(200,6484 -static void sctp_generate_timeout_event(242,7614 -void sctp_generate_t1_cookie_event(279,8537 -void sctp_generate_t1_init_event(285,8730 -void sctp_generate_t2_shutdown_event(291,8919 -void sctp_generate_t4_rto_event(297,9116 -void sctp_generate_t5_shutdown_guard_event(303,9303 -void sctp_generate_autoclose_event(311,9580 -void sctp_generate_heartbeat_event(320,9893 -void sctp_generate_sack_event(356,10850 -sctp_timer_event_t *sctp_timer_events[362,11033 -static void sctp_do_8_2_transport_strike(391,12042 -static void sctp_cmd_init_failed(418,13020 -static void sctp_cmd_assoc_failed(441,13671 -static int sctp_cmd_process_init(477,14845 -static void sctp_cmd_hb_timers_start(499,15492 -static void sctp_cmd_hb_timers_stop(517,16022 -static void sctp_cmd_t3_rtx_timers_stop(533,16440 -static void sctp_cmd_hb_timer_update(550,16880 -static void sctp_cmd_transport_on(560,17207 -static void sctp_cmd_transport_reset(593,18292 -static int sctp_cmd_process_sack(604,18634 -static void sctp_cmd_setup_t2(629,19293 -static void sctp_cmd_new_state(642,19679 -static void sctp_cmd_delete_tcb(684,20975 -static void sctp_cmd_setup_t4(707,21697 -static void sctp_cmd_process_operr(719,22002 -static void sctp_cmd_process_fwdtsn(757,23008 -static void sctp_cmd_del_non_primary(772,23373 -#define DEBUG_PRE 793,23965 -#define DEBUG_POST 800,24191 -#define DEBUG_POST_SFX 805,24324 -int sctp_do_sm(817,24701 - typedef const char char828,25020 -int sctp_side_effects(860,25936 -int sctp_cmd_interpreter(947,28350 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/crc32c.c,231 -#define CRC32C_POLY 51,1789 -#define CRC32C(CRC32C52,1820 -static const __u32 crc_c[72,3163 -__u32 sctp_start_cksum(139,6342 -__u32 sctp_update_cksum(163,6930 -__u32 sctp_update_copy_cksum(173,7086 -__u32 sctp_end_cksum(190,7434 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/inqueue.c,204 -void sctp_inq_init(51,1919 -struct sctp_inq *sctp_inq_new(63,2178 -void sctp_inq_free(76,2441 -void sctp_inq_push(99,2988 -struct sctp_chunk *sctp_inq_pop(117,3555 -void sctp_inq_set_th_handler(190,5640 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/sm_make_chunk.c,2852 -int sctp_chunk_iif(71,2617 -static const struct sctp_paramhdr ecap_param 88,2979 -static const struct sctp_paramhdr prsctp_param 92,3105 -void sctp_init_cause(101,3385 -struct sctp_chunk *sctp_make_init(162,6202 -struct sctp_chunk *sctp_make_init_ack(243,8837 -struct sctp_chunk *sctp_make_cookie_echo(362,12981 -struct sctp_chunk *sctp_make_cookie_ack(413,14659 -struct sctp_chunk *sctp_make_cwr(458,16394 -struct sctp_chunk *sctp_make_ecne(493,17307 -struct sctp_chunk *sctp_make_datafrag_empty(514,17844 -struct sctp_chunk *sctp_make_datafrag(551,18801 -struct sctp_chunk *sctp_make_data(568,19295 -struct sctp_chunk *sctp_make_data_empty(585,19881 -struct sctp_chunk *sctp_make_sack(598,20285 -struct sctp_chunk *sctp_make_shutdown(679,23022 -struct sctp_chunk *sctp_make_shutdown_ack(703,23570 -struct sctp_chunk *sctp_make_shutdown_complete(725,24182 -struct sctp_chunk *sctp_make_abort(756,25032 -struct sctp_chunk *sctp_make_abort_no_data(784,25837 -struct sctp_chunk *sctp_make_abort_user(819,26751 -struct sctp_chunk *sctp_make_heartbeat(871,27818 -struct sctp_chunk *sctp_make_heartbeat_ack(891,28367 -struct sctp_chunk *sctp_make_op_error_space(922,29285 -struct sctp_chunk *sctp_make_op_error(950,29947 -struct sctp_chunk *sctp_chunkify(974,30596 -void sctp_init_addrs(1029,32013 -const union sctp_addr *sctp_source(1037,32274 -struct sctp_chunk *sctp_make_chunk(1051,32681 -static void sctp_chunk_destroy(1091,33679 -void sctp_chunk_free(1101,33939 -void sctp_chunk_hold(1115,34284 -void sctp_chunk_put(1121,34399 -void *sctp_addto_chunk(1130,34598 -int sctp_user_addto_chunk(1154,35210 -void sctp_chunk_assign_ssn(1179,35833 -void sctp_chunk_assign_tsn(1206,36511 -struct sctp_association *sctp_make_temp_asoc(1219,36836 -sctp_cookie_param_t *sctp_pack_cookie(1250,37643 -struct sctp_association *sctp_unpack_cookie(1329,40048 -struct __sctp_missing __sctp_missing1480,44333 -static int sctp_process_missing_param(1488,44467 -static int sctp_process_inv_mandatory(1516,45147 -static int sctp_process_hn_param(1535,45643 -static int sctp_process_unk_param(1580,46953 -static int sctp_verify_param(1642,48438 -int sctp_verify_init(1684,49638 -int sctp_process_init(1738,51014 -int sctp_process_param(1896,56003 -__u32 sctp_generate_tag(2013,58988 -__u32 sctp_generate_tsn(2028,59323 -struct sctp_chunk *sctp_make_asconf(2058,60845 -struct sctp_chunk *sctp_make_asconf_update_ip(2112,62965 -struct sctp_chunk *sctp_make_asconf_set_prim(2179,65200 -struct sctp_chunk *sctp_make_asconf_ack(2228,67204 -static void sctp_add_asconf_response(2249,67725 -static __u16 sctp_process_asconf_param(2290,68962 -struct sctp_chunk *sctp_process_asconf(2365,71430 -static int sctp_asconf_param_success(2455,74166 -static __u16 sctp_get_asconf_response(2502,75778 -int sctp_process_asconf_ack(2555,77236 -struct sctp_chunk *sctp_make_fwdtsn(2654,79911 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/socket.c,4025 -static char *sctp_hmac_alg 108,4348 -static inline int sctp_wspace(113,4512 -static inline void sctp_set_owner_w(133,5129 -static inline int sctp_verify_addr(150,5659 -struct sctp_association *sctp_id2assoc(173,6182 -struct sctp_transport *sctp_addr_id2transport(211,7365 -int sctp_bind(248,8462 -static struct sctp_af *sctp_sockaddr_af(272,8996 -SCTP_STATIC int sctp_do_bind(295,9528 -static int sctp_send_asconf(381,12024 -int sctp_bindx_add(418,13000 -static int sctp_send_asconf_add_ip(468,14361 -int sctp_bindx_rem(575,17227 -static int sctp_send_asconf_del_ip(657,19713 -SCTP_STATIC int sctp_setsockopt_bindx(824,25359 -SCTP_STATIC void sctp_close(951,29051 -static int sctp_error(1019,30888 -SCTP_STATIC int sctp_sendmsg(1053,32017 -static int sctp_skb_pull(1448,42465 -SCTP_STATIC int sctp_recvmsg(1492,43550 -static int sctp_setsockopt_disable_fragments(1602,46518 -static int sctp_setsockopt_events(1618,46811 -static int sctp_setsockopt_autoclose(1639,47642 -static int sctp_setsockopt_peer_addr_params(1687,49681 -static int sctp_setsockopt_initmsg(1777,52936 -static int sctp_setsockopt_default_send_param(1813,54368 -static int sctp_setsockopt_primary_addr(1852,55533 -static int sctp_setsockopt_nodelay(1881,56258 -static int sctp_setsockopt_rtoinfo(1907,56897 -static int sctp_setsockopt_associnfo(1959,58340 -static int sctp_setsockopt_mappedv4(2010,59933 -static int sctp_setsockopt_maxseg(2037,60679 -static int sctp_setsockopt_peer_primary_addr(2072,61624 -SCTP_STATIC int sctp_setsockopt(2143,63489 -SCTP_STATIC int sctp_connect(2249,66411 -SCTP_STATIC int sctp_disconnect(2359,69156 -SCTP_STATIC struct sock *sctp_accept(2371,69520 -SCTP_STATIC int sctp_ioctl(2424,70605 -SCTP_STATIC int sctp_init_sock(2433,70890 -SCTP_STATIC int sctp_destroy_sock(2543,74203 -SCTP_STATIC void sctp_shutdown(2572,75156 -static int sctp_getsockopt_sctp_status(2597,75821 -static int sctp_getsockopt_peer_addr_info(2673,78039 -static int sctp_getsockopt_disable_fragments(2724,79295 -static int sctp_getsockopt_events(2746,79832 -static int sctp_getsockopt_autoclose(2767,80673 -SCTP_STATIC int sctp_do_peeloff(2780,81070 -static int sctp_getsockopt_peeloff(2807,81741 -static int sctp_getsockopt_peer_addr_params(2881,84353 -static int sctp_getsockopt_initmsg(2943,86264 -static int sctp_getsockopt_peer_addrs_num(2952,86514 -static int sctp_getsockopt_peer_addrs(2978,87066 -static int sctp_getsockopt_local_addrs_num(3024,88376 -static int sctp_getsockopt_local_addrs(3062,89204 -static int sctp_getsockopt_primary_addr(3126,91019 -static int sctp_getsockopt_default_send_param(3181,92808 -static int sctp_getsockopt_nodelay(3228,94140 -static int sctp_getsockopt_rtoinfo(3257,94849 -static int sctp_getsockopt_associnfo(3308,96203 -static int sctp_getsockopt_mappedv4(3378,98290 -static int sctp_getsockopt_maxseg(3407,99086 -SCTP_STATIC int sctp_getsockopt(3426,99418 -static void sctp_hash(3527,102203 -static void sctp_unhash(3532,102259 -static long sctp_get_port_local(3552,103090 -static int sctp_get_port(3705,107435 -SCTP_STATIC int sctp_seqpacket_listen(3728,108038 -SCTP_STATIC int sctp_stream_listen(3777,109266 -int sctp_inet_listen(3817,110248 -unsigned int sctp_poll(3877,111658 -static struct sctp_bind_bucket *sctp_bucket_create(3932,113327 -static void sctp_bucket_destroy(3952,113855 -static inline void __sctp_put_port(3964,114166 -void sctp_put_port(3979,114545 -static int sctp_autobind(3992,114921 -SCTP_STATIC int sctp_msghdr_parse(4046,116955 -static int sctp_wait_for_packet(4121,119082 -static struct sk_buff *sctp_skb_recv_datagram(4179,120455 -static void __sctp_write_space(4238,121818 -static void sctp_wfree(4266,122639 -static int sctp_wait_for_sndbuf(4284,123100 -void sctp_write_space(4344,124449 -static int sctp_writeable(4367,125287 -static int sctp_wait_for_connect(4380,125550 -static int sctp_wait_for_accept(4444,126890 -void sctp_wait_for_close(4485,127539 -static void sctp_sock_migrate(4504,128021 -struct proto sctp_prot 4602,130943 -struct proto sctpv6_prot 4625,131618 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/proc.c,805 -struct snmp_mib sctp_snmp_list[42,1528 -fold_field(66,2694 -static int sctp_snmp_seq_show(85,3129 -static int sctp_snmp_seq_open(98,3465 -static struct file_operations sctp_snmp_seq_fops 103,3593 -int __init sctp_snmp_proc_init(112,3825 -void sctp_snmp_proc_exit(126,4079 -static void sctp_seq_dump_local_addrs(132,4213 -static void sctp_seq_dump_remote_addrs(148,4695 -static int sctp_eps_seq_show(164,5203 -static int sctp_eps_seq_open(192,5959 -static struct file_operations sctp_eps_seq_fops 197,6085 -int __init sctp_eps_proc_init(205,6290 -void sctp_eps_proc_exit(219,6540 -static int sctp_assocs_seq_show(225,6674 -static int sctp_assocs_seq_open(258,7610 -static struct file_operations sctp_assocs_seq_fops 263,7742 -int __init sctp_assocs_proc_init(271,7956 -void sctp_assocs_proc_exit(285,8218 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/input.c,909 -static inline int sctp_rcv_checksum(74,2730 -int sctp_rcv(102,3342 -int sctp_backlog_rcv(254,7307 -void sctp_icmp_frag_needed(270,7661 -struct sock *sctp_err_lookup(288,8245 -void sctp_err_finish(360,9892 -void sctp_v4_err(386,10736 -int sctp_rcv_ootb(475,12956 -void __sctp_hash_endpoint(525,14128 -void sctp_hash_endpoint(547,14623 -void __sctp_unhash_endpoint(555,14800 -void sctp_unhash_endpoint(579,15276 -struct sctp_endpoint *__sctp_rcv_lookup_endpoint(587,15440 -void sctp_hash_established(614,16058 -void __sctp_hash_established(622,16251 -void sctp_unhash_established(646,16848 -void __sctp_unhash_established(654,17045 -struct sctp_association *__sctp_lookup_association(679,17537 -struct sctp_association *sctp_lookup_association(716,18421 -int sctp_has_association(730,18824 -static struct sctp_association *__sctp_rcv_init_lookup(763,19799 -struct sctp_association *__sctp_rcv_lookup(824,21458 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/ssnmap.c,237 -#define MAX_KMALLOC_SIZE 43,1559 -static inline size_t sctp_ssnmap_size(48,1699 -struct sctp_ssnmap *sctp_ssnmap_new(57,1920 -struct sctp_ssnmap *sctp_ssnmap_init(90,2560 -void sctp_ssnmap_clear(107,2959 -void sctp_ssnmap_free(116,3143 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/sm_statetable.c,2145 -static const sctp_sm_table_entry_t bug 53,1972 -#define DO_LOOKUP(DO_LOOKUP58,2062 -const sctp_sm_table_entry_t *sctp_sm_lookup_event(68,2373 -#define TYPE_SCTP_DATA 96,3040 -#define TYPE_SCTP_INIT 117,3976 -#define TYPE_SCTP_INIT_ACK 138,4948 -#define TYPE_SCTP_SACK 159,5886 -#define TYPE_SCTP_HEARTBEAT 180,6811 -#define TYPE_SCTP_HEARTBEAT_ACK 202,7745 -#define TYPE_SCTP_ABORT 223,8680 -#define TYPE_SCTP_SHUTDOWN 248,9685 -#define TYPE_SCTP_SHUTDOWN_ACK 270,10645 -#define TYPE_SCTP_ERROR 291,11549 -#define TYPE_SCTP_COOKIE_ECHO 312,12485 -#define TYPE_SCTP_COOKIE_ACK 333,13467 -#define TYPE_SCTP_ECN_ECNE 354,14407 -#define TYPE_SCTP_ECN_CWR 375,15229 -#define TYPE_SCTP_SHUTDOWN_COMPLETE 396,16131 -const sctp_sm_table_entry_t chunk_event_table[422,17224 -#define TYPE_SCTP_ASCONF 440,17687 -#define TYPE_SCTP_ASCONF_ACK 461,18617 -const sctp_sm_table_entry_t addip_chunk_event_table[485,19674 -#define TYPE_SCTP_FWD_TSN 490,19871 -const sctp_sm_table_entry_t prsctp_chunk_event_table[514,20918 -chunk_event_table_unknown[519,21131 -#define TYPE_SCTP_PRIMITIVE_ASSOCIATE 541,21998 -#define TYPE_SCTP_PRIMITIVE_SHUTDOWN 562,22887 -#define TYPE_SCTP_PRIMITIVE_ABORT 586,23941 -#define TYPE_SCTP_PRIMITIVE_SEND 614,25037 -#define TYPE_SCTP_PRIMITIVE_REQUESTHEARTBEAT 635,25984 -#define TYPE_SCTP_PRIMITIVE_ASCONF 663,27221 -const sctp_sm_table_entry_t primitive_event_table[687,28304 -#define TYPE_SCTP_OTHER_NO_PENDING_TSN 696,28597 -const sctp_sm_table_entry_t other_event_table[719,29546 -#define TYPE_SCTP_EVENT_TIMEOUT_NONE 723,29678 -#define TYPE_SCTP_EVENT_TIMEOUT_T1_COOKIE 744,30443 -#define TYPE_SCTP_EVENT_TIMEOUT_T1_INIT 765,31345 -#define TYPE_SCTP_EVENT_TIMEOUT_T2_SHUTDOWN 786,32263 -#define TYPE_SCTP_EVENT_TIMEOUT_T3_RTX 807,33191 -#define TYPE_SCTP_EVENT_TIMEOUT_T4_RTO 828,34102 -#define TYPE_SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD 849,35019 -#define TYPE_SCTP_EVENT_TIMEOUT_HEARTBEAT 870,35953 -#define TYPE_SCTP_EVENT_TIMEOUT_SACK 891,36867 -#define TYPE_SCTP_EVENT_TIMEOUT_AUTOCLOSE 912,37770 -const sctp_sm_table_entry_t timeout_event_table[934,38726 -const sctp_sm_table_entry_t *sctp_chunk_event_lookup(947,39181 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/ulpevent.c,995 -static void sctp_stub_rfree(56,2142 -struct sctp_ulpevent *sctp_ulpevent_new(69,2697 -void sctp_ulpevent_init(88,3039 -int sctp_ulpevent_is_notification(95,3227 -static inline void sctp_ulpevent_set_owner(103,3455 -static inline void sctp_ulpevent_release_owner(119,3954 -struct sctp_ulpevent *sctp_ulpevent_make_assoc_change(135,4431 -struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change(236,7177 -struct sctp_ulpevent *sctp_ulpevent_make_remote_error(350,10425 -struct sctp_ulpevent *sctp_ulpevent_make_send_failed(448,12910 -struct sctp_ulpevent *sctp_ulpevent_make_shutdown_event(557,16101 -struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(623,17835 -struct sctp_ulpevent *sctp_ulpevent_make_pdapi(685,19777 -__u16 sctp_ulpevent_get_notification_type(739,21178 -void sctp_ulpevent_read_sndrcvinfo(750,21519 -static void sctp_ulpevent_receive_data(829,24197 -static void sctp_ulpevent_release_data(856,25059 -void sctp_ulpevent_free(891,26109 -void sctp_queue_purge_ulpevents(902,26372 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/sm_statefuns.c,4586 -sctp_disposition_t sctp_sf_do_4_C(100,3739 -sctp_disposition_t sctp_sf_do_5_1B_init(184,6309 -sctp_disposition_t sctp_sf_do_5_1C_ack(366,12023 -sctp_disposition_t sctp_sf_do_5_1D_ce(526,17117 -sctp_disposition_t sctp_sf_do_5_1E_ca(664,21269 -sctp_disposition_t sctp_sf_heartbeat(722,23244 -sctp_disposition_t sctp_sf_sendbeat_8_3(755,24310 -sctp_disposition_t sctp_sf_beat_8_3(820,26489 -sctp_disposition_t sctp_sf_backbeat_8_3(881,28512 -static int sctp_sf_send_restart_abort(933,30154 -static int sctp_sf_check_restart_addrs(985,31649 -static void sctp_tietags_populate(1038,33089 -static char sctp_tietags_compare(1085,34566 -static sctp_disposition_t sctp_sf_do_unexpected_init(1121,35651 -sctp_disposition_t sctp_sf_do_5_2_1_siminit(1324,42200 -sctp_disposition_t sctp_sf_do_5_2_2_dupinit(1377,44427 -static sctp_disposition_t sctp_sf_do_dupcook_a(1396,44949 -static sctp_disposition_t sctp_sf_do_dupcook_b(1488,47842 -static sctp_disposition_t sctp_sf_do_dupcook_c(1552,49984 -static sctp_disposition_t sctp_sf_do_dupcook_d(1573,50667 -sctp_disposition_t sctp_sf_do_5_2_4_dupcook(1649,52988 -sctp_disposition_t sctp_sf_shutdown_pending_abort(1747,55675 -sctp_disposition_t sctp_sf_shutdown_sent_abort(1771,56294 -sctp_disposition_t sctp_sf_shutdown_ack_sent_abort(1798,57057 -sctp_disposition_t sctp_sf_cookie_echoed_err(1825,57735 -sctp_disposition_t sctp_sf_do_5_2_6_stale(1872,59293 -sctp_disposition_t sctp_sf_do_9_1_abort(1995,63394 -sctp_disposition_t sctp_sf_cookie_wait_abort(2027,64293 -sctp_disposition_t sctp_sf_cookie_echoed_abort(2062,65350 -sctp_disposition_t sctp_sf_do_9_2_shutdown(2107,66828 -sctp_disposition_t sctp_sf_do_9_2_reshutack(2173,68979 -sctp_disposition_t sctp_sf_do_ecn_cwr(2227,70610 -sctp_disposition_t sctp_sf_do_ecne(2277,72087 -sctp_disposition_t sctp_sf_eat_data_6_2(2329,73874 -sctp_disposition_t sctp_sf_eat_data_fast_4_4(2446,77556 -sctp_disposition_t sctp_sf_eat_sack_6_2(2529,80296 -sctp_disposition_t sctp_sf_tabort_8_4_8(2589,82312 -sctp_disposition_t sctp_sf_operr_notify(2635,83432 -sctp_disposition_t sctp_sf_do_9_2_final(2675,84420 -sctp_disposition_t sctp_sf_ootb(2746,87005 -sctp_disposition_t sctp_sf_shut_8_4_5(2797,88434 -sctp_disposition_t sctp_sf_do_8_5_1_E_sa(2846,89790 -sctp_disposition_t sctp_sf_do_asconf(2861,90373 -sctp_disposition_t sctp_sf_do_asconf_ack(2919,92464 -sctp_disposition_t sctp_sf_eat_fwd_tsn(3011,95742 -sctp_disposition_t sctp_sf_eat_fwd_tsn_fast(3068,97417 -sctp_disposition_t sctp_sf_unk_chunk(3145,99949 -sctp_disposition_t sctp_sf_discard_chunk(3218,101959 -sctp_disposition_t sctp_sf_pdiscard(3247,102675 -sctp_disposition_t sctp_sf_violation(3273,103297 -sctp_disposition_t sctp_sf_do_prm_asoc(3342,106113 -sctp_disposition_t sctp_sf_do_prm_send(3448,109979 -sctp_disposition_t sctp_sf_do_9_2_prm_shutdown(3486,111021 -sctp_disposition_t sctp_sf_do_9_1_prm_abort(3548,112863 -sctp_disposition_t sctp_sf_error_closed(3591,114155 -sctp_disposition_t sctp_sf_error_shutdown(3604,114541 -sctp_disposition_t sctp_sf_cookie_wait_prm_shutdown(3629,115160 -sctp_disposition_t sctp_sf_cookie_echoed_prm_shutdown(3663,115969 -sctp_disposition_t sctp_sf_cookie_wait_prm_abort(3689,116649 -sctp_disposition_t sctp_sf_cookie_echoed_prm_abort(3742,117989 -sctp_disposition_t sctp_sf_shutdown_pending_prm_abort(3767,118631 -sctp_disposition_t sctp_sf_shutdown_sent_prm_abort(3793,119294 -sctp_disposition_t sctp_sf_shutdown_ack_sent_prm_abort(3823,120083 -sctp_disposition_t sctp_sf_do_prm_requestheartbeat(3858,121131 -sctp_disposition_t sctp_sf_do_prm_asconf(3874,121595 -sctp_disposition_t sctp_sf_ignore_primitive(3894,122177 -sctp_disposition_t sctp_sf_do_9_2_start_shutdown(3922,123210 -sctp_disposition_t sctp_sf_do_9_2_shutdown_ack(3984,125033 -sctp_disposition_t sctp_sf_ignore_other(4038,126532 -sctp_disposition_t sctp_sf_do_6_3_3_rtx(4063,127266 -sctp_disposition_t sctp_sf_do_6_2_sack(4131,129983 -sctp_disposition_t sctp_sf_t1_timer_expire(4166,131116 -sctp_disposition_t sctp_sf_t2_timer_expire(4232,133174 -sctp_disposition_t sctp_sf_t4_timer_expire(4290,134737 -sctp_disposition_t sctp_sf_t5_timer_expire(4355,137173 -sctp_disposition_t sctp_sf_autoclose_timer_expire(4383,138066 -sctp_disposition_t sctp_sf_not_impl(4429,139600 -sctp_disposition_t sctp_sf_bug(4446,139982 -sctp_disposition_t sctp_sf_timer_ignore(4466,140596 -struct sctp_sackhdr *sctp_sm_pull_sack(4481,141103 -struct sctp_packet *sctp_abort_pkt_new(4508,141756 -struct sctp_packet *sctp_ootb_pkt_new(4544,142608 -void sctp_ootb_pkt_free(4602,144100 -void sctp_send_stale_cookie_err(4608,144273 -int sctp_eat_data(4638,145091 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/primitive.c,80 -#define DECLARE_PRIMITIVE(DECLARE_PRIMITIVE57,2178 -DECLARE_PRIMITIVE(94,3342 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/ulpqueue.c,1133 -struct sctp_ulpq *sctp_ulpq_new(60,2152 -struct sctp_ulpq *sctp_ulpq_init(79,2515 -void sctp_ulpq_flush(95,2857 -void sctp_ulpq_free(113,3228 -int sctp_ulpq_tail_data(121,3376 -int sctp_clear_pd(158,4352 -static int sctp_ulpq_clear_pd(175,4760 -int sctp_ulpq_tail_event(183,4885 -static inline void sctp_ulpq_store_reasm(247,6594 -static struct sctp_ulpevent *sctp_make_reassembled_event(292,7803 -static inline struct sctp_ulpevent *sctp_ulpq_retrieve_reassembled(346,9157 -static inline struct sctp_ulpevent *sctp_ulpq_retrieve_partial(405,10823 -static struct sctp_ulpevent *sctp_ulpq_reasm(469,12225 -static inline struct sctp_ulpevent *sctp_ulpq_retrieve_first(499,13020 -static inline void sctp_ulpq_retrieve_ordered(557,14299 -static inline void sctp_ulpq_store_ordered(598,15242 -static struct sctp_ulpevent *sctp_ulpq_order(648,16298 -static inline void sctp_ulpq_reap_ordered(686,17299 -void sctp_ulpq_skip(727,18340 -static __u16 sctp_ulpq_renege_order(749,18916 -static __u16 sctp_ulpq_renege_frags(774,19464 -void sctp_ulpq_partial_delivery(800,20092 -void sctp_ulpq_renege(824,20677 -void sctp_ulpq_abort_pd(864,21627 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/protocol.c,2903 -struct sctp_globals sctp_globals;63,2200 -struct proc_dir_entry *proc_net_sctp;64,2234 -struct idr sctp_assocs_id;67,2325 -spinlock_t sctp_assocs_id_lock 68,2352 -static struct socket *sctp_ctl_socket;74,2595 -static struct sctp_pf *sctp_pf_inet6_specific;76,2635 -static struct sctp_pf *sctp_pf_inet_specific;77,2682 -static struct sctp_af *sctp_af_v4_specific;78,2728 -static struct sctp_af *sctp_af_v6_specific;79,2772 -kmem_cache_t *sctp_chunk_cachep;81,2817 -kmem_cache_t *sctp_bucket_cachep;82,2850 -struct sock *sctp_get_ctl_sock(92,3162 -__init int sctp_proc_init(98,3287 -void sctp_proc_exit(127,3828 -static void sctp_v4_copy_addrlist(142,4112 -static void __sctp_get_local_addr_list(172,4840 -static void sctp_get_local_addr_list(188,5218 -static void __sctp_free_local_addr_list(198,5477 -static void sctp_free_local_addr_list(211,5788 -int sctp_copy_local_addr_list(221,6078 -static void sctp_v4_from_skb(256,7141 -static void sctp_v4_from_sk(278,7646 -static void sctp_v4_to_sk_saddr(286,7892 -static void sctp_v4_to_sk_daddr(292,8067 -static void sctp_v4_from_addr_param(298,8248 -static int sctp_v4_to_addr_param(310,8596 -static void sctp_v4_dst_saddr(323,8958 -static int sctp_v4_cmp_addr(333,9252 -static void sctp_v4_inaddr_any(347,9601 -static int sctp_v4_is_any(355,9814 -static int sctp_v4_addr_valid(367,10142 -static int sctp_v4_available(377,10414 -static sctp_scope_t sctp_v4_scope(402,11243 -struct dst_entry *sctp_v4_get_dst(431,12174 -void sctp_v4_get_saddr(523,14556 -static int sctp_v4_skb_iif(538,14945 -static int sctp_v4_is_ce(544,15120 -struct sock *sctp_v4_create_accept_sk(550,15293 -static void sctp_v4_addr_v4map(611,16738 -static void sctp_v4_seq_dump_addr(617,16871 -static int sctp_inetaddr_event(625,17159 -int sctp_ctl_sock_init(642,17639 -int sctp_register_af(666,18151 -struct sctp_af *sctp_get_af_specific(691,18607 -static void sctp_inet_msgname(704,18859 -static void sctp_inet_event_msgname(715,19184 -static void sctp_inet_skb_msgname(733,19678 -static int sctp_inet_af_supported(748,20045 -static int sctp_inet_cmp_addr(755,20249 -static int sctp_inet_bind_verify(774,20793 -static int sctp_inet_send_verify(782,21014 -static int sctp_inet_supported_addrs(790,21231 -static inline int sctp_v4_xmit(798,21430 -struct sctp_af sctp_ipv4_specific;811,21846 -static struct sctp_pf sctp_pf_inet 813,21882 -struct notifier_block sctp_inetaddr_notifier 827,22394 -struct proto_ops inet_seqpacket_ops 832,22512 -static struct inet_protosw sctp_seqpacket_protosw 854,23308 -static struct inet_protosw sctp_stream_protosw 863,23558 -static struct net_protocol sctp_protocol 874,23834 -struct sctp_af sctp_ipv4_specific 881,23996 -struct sctp_pf *sctp_get_pf_specific(909,24971 -int sctp_register_pf(922,25225 -static int __init init_sctp_mibs(941,25541 -static void cleanup_sctp_mibs(955,25831 -__init int sctp_init(962,25996 -__exit void sctp_exit(1199,32713 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/ipv6.c,1776 -void sctp_v6_err(84,2560 -static int sctp_v6_xmit(143,3991 -struct dst_entry *sctp_v6_get_dst(188,5338 -static inline int sctp_v6_addr_match_len(229,6415 -void sctp_v6_get_saddr(251,6898 -static void sctp_v6_copy_addrlist(312,8707 -static void sctp_v6_from_skb(344,9563 -static void sctp_v6_from_sk(368,10160 -static void sctp_v6_to_sk_saddr(376,10404 -static void sctp_v6_to_sk_daddr(390,10869 -static void sctp_v6_from_addr_param(403,11321 -static int sctp_v6_to_addr_param(417,11746 -static void sctp_v6_dst_saddr(430,12111 -static int sctp_v6_cmp_addr(442,12463 -static void sctp_v6_inaddr_any(478,13619 -static int sctp_v6_is_any(486,13841 -static int sctp_v6_available(494,14053 -static int sctp_v6_addr_valid(523,14791 -static sctp_scope_t sctp_v6_scope(548,15423 -struct sock *sctp_v6_create_accept_sk(577,16028 -static void sctp_v6_addr_v4map(653,17883 -static int sctp_v6_skb_iif(660,18076 -static int sctp_v6_is_ce(667,18284 -static void sctp_v6_seq_dump_addr(673,18433 -static void sctp_inet6_msgname(680,18655 -static void sctp_inet6_event_msgname(692,18978 -static void sctp_inet6_skb_msgname(728,19988 -static int sctp_inet6_af_supported(758,20833 -static int sctp_inet6_cmp_addr(776,21273 -static int sctp_inet6_bind_verify(800,21887 -static int sctp_inet6_send_verify(830,22721 -static int sctp_inet6_supported_addrs(864,23700 -static struct proto_ops inet6_seqpacket_ops 872,23880 -static struct inet_protosw sctpv6_seqpacket_protosw 892,24459 -static struct inet_protosw sctpv6_stream_protosw 901,24734 -static int sctp6_rcv(911,25005 -static struct inet6_protocol sctpv6_protocol 916,25110 -static struct sctp_af sctp_ipv6_specific 922,25280 -static struct sctp_pf sctp_pf_inet6_specific 950,26294 -int sctp_v6_init(964,26833 -void sctp_v6_exit(996,27679 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/transport.c,572 -struct sctp_transport *sctp_transport_new(58,2216 -struct sctp_transport *sctp_transport_init(82,2685 -void sctp_transport_free(150,4547 -void sctp_transport_destroy(164,4880 -void sctp_transport_reset_timers(181,5352 -void sctp_transport_set_owner(206,6224 -void sctp_transport_pmtu(214,6430 -void sctp_transport_route(230,6801 -void sctp_transport_hold(259,7645 -void sctp_transport_put(267,7833 -void sctp_transport_update_rto(274,8043 -void sctp_transport_raise_cwnd(342,10211 -void sctp_transport_lower_cwnd(419,12973 -unsigned long sctp_transport_timeout(498,15833 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/associola.c,1390 -struct sctp_association *sctp_association_new(70,2454 -struct sctp_association *sctp_association_init(95,2952 -void sctp_association_free(302,9080 -static void sctp_association_destroy(370,10956 -void sctp_assoc_set_primary(390,11453 -struct sctp_transport *sctp_assoc_add_peer(431,12737 -void sctp_assoc_del_peer(534,15652 -struct sctp_transport *sctp_assoc_lookup_paddr(573,16788 -void sctp_assoc_control_transport(595,17402 -void sctp_association_hold(685,19797 -void sctp_association_put(693,19986 -__u32 sctp_association_get_next_tsn(702,20218 -__u32 sctp_association_get_tsn_block(717,20675 -int sctp_cmp_addr_exact(731,20955 -struct sctp_chunk *sctp_get_ecne_prepend(747,21340 -struct sctp_chunk *sctp_get_no_prepend(765,21784 -struct sctp_transport *sctp_assoc_lookup_tsn(773,21926 -struct sctp_transport *sctp_assoc_is_match(831,23364 -static void sctp_assoc_bh_rcv(857,24045 -void sctp_assoc_migrate(905,25338 -void sctp_assoc_update(936,26242 -void sctp_assoc_update_retran_path(997,28195 -struct sctp_transport *sctp_assoc_choose_shutdown_transport(1043,29170 -void sctp_assoc_sync_pmtu(1063,29829 -static inline int sctp_peer_needs_update(1090,30500 -void sctp_assoc_rwnd_increase(1109,31008 -void sctp_assoc_rwnd_decrease(1155,32276 -int sctp_assoc_set_bind_addr_from_ep(1173,32832 -int sctp_assoc_set_bind_addr_from_cookie(1194,33466 -int sctp_assoc_lookup_laddr(1206,33925 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/debug.c,488 -int sctp_debug_flag 55,2140 -static const char *sctp_cid_tbl[59,2284 -const char *sctp_cname(78,2589 -const char *sctp_param_tbl[102,3053 -const char *sctp_state_tbl[119,3409 -const char *sctp_evttype_tbl[132,3736 -const char *sctp_status_tbl[141,3911 -static const char *sctp_primitive_tbl[154,4196 -const char *sctp_pname(163,4420 -static const char *sctp_other_tbl[172,4645 -const char *sctp_oname(177,4741 -static const char *sctp_timer_tbl[186,4953 -const char *sctp_tname(200,5240 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/chunk.c,408 -void sctp_datamsg_init(54,1893 -struct sctp_datamsg *sctp_datamsg_new(65,2137 -static void sctp_datamsg_destroy(76,2393 -void sctp_datamsg_hold(127,3598 -void sctp_datamsg_put(133,3706 -void sctp_datamsg_free(142,3939 -void sctp_datamsg_track(148,4085 -void sctp_datamsg_assign(154,4203 -struct sctp_datamsg *sctp_datamsg_from_user(168,4718 -int sctp_chunk_abandoned(291,7753 -void sctp_chunk_fail(305,8032 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/tsnmap.c,492 -struct sctp_tsnmap *sctp_tsnmap_new(58,2113 -struct sctp_tsnmap *sctp_tsnmap_init(79,2541 -int sctp_tsnmap_check(106,3299 -void sctp_tsnmap_mark(139,4045 -void sctp_tsnmap_free(172,4747 -void sctp_tsnmap_iter_init(179,4904 -int sctp_tsnmap_next_gap_ack(189,5208 -void sctp_tsnmap_skip(258,6860 -static void sctp_tsnmap_update(298,7878 -__u16 sctp_tsnmap_pending(325,8556 -static void sctp_tsnmap_find_gap_ack(366,9532 -void sctp_tsnmap_renege(406,10315 -__u16 sctp_tsnmap_num_gabs(426,10747 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/outqueue.c,1197 -static inline void sctp_outq_head_data(75,2806 -static inline struct sctp_chunk *sctp_outq_dequeue_data(84,3033 -static inline void sctp_outq_tail_data(93,3287 -static inline void sctp_outq_insert_data(102,3516 -static inline int sctp_cacc_skip_3_1_d(117,3976 -static inline int sctp_cacc_skip_3_1_f(133,4437 -static inline int sctp_cacc_skip_3_1(148,4791 -static inline int sctp_cacc_skip_3_2(169,5361 -static inline int sctp_cacc_skip(191,6104 -struct sctp_outq *sctp_outq_new(204,6458 -void sctp_outq_init(220,6829 -void sctp_outq_teardown(239,7245 -void sctp_outq_free(300,9068 -int sctp_outq_tail(311,9293 -void sctp_insert_list(375,11056 -void sctp_retransmit_mark(399,11671 -void sctp_retransmit(478,14238 -static int sctp_outq_flush_rtx(524,15595 -int sctp_outq_uncork(649,19124 -int sctp_outq_flush(668,19573 -static void sctp_sack_update_unack_data(968,27412 -static __u32 sctp_highest_new_tsn(987,27918 -int sctp_outq_sack(1021,28883 -int sctp_outq_is_empty(1184,33756 -static void sctp_check_transmitted(1203,34440 -static void sctp_mark_missing(1528,43478 -static int sctp_acked(1595,45486 -static inline int sctp_get_skip_pos(1630,46434 -static void sctp_generate_fwdtsn(1643,46723 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/output.c,364 -struct sctp_packet *sctp_packet_config(71,2342 -struct sctp_packet *sctp_packet_init(98,3002 -void sctp_packet_free(130,3849 -sctp_xmit_t sctp_packet_transmit_chunk(150,4577 -static sctp_xmit_t sctp_packet_bundle_sack(183,5333 -sctp_xmit_t sctp_packet_append_chunk(216,6225 -int sctp_packet_transmit(291,8197 -static sctp_xmit_t sctp_packet_append_data(529,15156 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/objcnt.c,162 -sctp_dbg_objcnt_entry_t sctp_dbg_objcnt[65,2204 -static int sctp_dbg_objcnt_read(84,2812 -void sctp_dbg_objcnt_init(128,3672 -void sctp_dbg_objcnt_exit(135,3867 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/bind_addr.c,568 -int sctp_bind_addr_copy(64,2332 -struct sctp_bind_addr *sctp_bind_addr_new(108,3498 -void sctp_bind_addr_init(127,3866 -static void sctp_bind_addr_clean(136,4044 -void sctp_bind_addr_free(151,4434 -int sctp_add_bind_addr(163,4705 -int sctp_del_bind_addr(191,5378 -union sctp_params sctp_bind_addrs_to_raw(216,5988 -int sctp_raw_to_bind_addrs(268,7146 -int sctp_bind_addr_match(311,8262 -union sctp_addr *sctp_find_unmatch_addr(330,8723 -static int sctp_copy_one_addr(365,9537 -int sctp_is_any(390,10286 -int sctp_in_scope(399,10484 -sctp_scope_t sctp_scope(425,11209 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sctp/command.c,201 -sctp_cmd_seq_t *sctp_new_cmd_seq(46,1682 -int sctp_init_cmd_seq(57,1901 -int sctp_add_cmd(66,2115 -int sctp_rewind_sequence(81,2436 -sctp_cmd_t *sctp_next_cmd(90,2648 -void sctp_free_cmd_seq(101,2866 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/pktgen.c,1524 -#define cycles(cycles95,3320 -#define VERSION 98,3359 -static char version[99,3397 -static char version[] __initdata 99,3397 -#define PKTGEN_MAGIC 104,3563 -struct pktgen_info pktgen_info108,3634 -#define F_IPSRC_RND 116,3821 -#define F_IPDST_RND 117,3872 -#define F_UDPSRC_RND 118,3923 -#define F_UDPDST_RND 119,3974 -#define F_MACSRC_RND 120,4025 -#define F_MACDST_RND 121,4076 -#define F_SET_SRCMAC 122,4127 -#define F_SET_SRCIP 124,4226 -struct pktgen_hdr pktgen_hdr200,6440 -static int cpu_speed;207,6529 -static int debug;208,6551 -static int count_d 211,6605 -static int ipg_d;212,6634 -static int clone_skb_d;213,6652 -#define MAX_PKTGEN 216,6678 -static struct pktgen_info pginfos[217,6699 -static inline __u64 tv_to_ms(221,6778 -static inline __u64 getCurMs(227,6922 -#define PG_PROC_DIR 233,7028 -static struct proc_dir_entry *proc_dir;234,7057 -static struct net_device *setup_inject(236,7098 -static void nanospin(306,8664 -static int calc_mhz(321,8907 -static void cycles_calibrate(338,9263 -static void mod_cur_headers(353,9538 -static struct sk_buff *fill_packet(467,12372 -static void show_results(590,15588 -static void inject(626,16434 -static int proc_busy_read(782,19598 -static int proc_read(802,20016 -static int count_trail_chars(886,22922 -static unsigned long num_arg(911,23267 -static int strn_len(932,23603 -static int proc_write(956,23933 -static int create_proc_dir(1319,32815 -static int remove_proc_dir(1337,33235 -static int __init init(1343,33327 -static void __exit cleanup(1405,35184 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/ethtool.c,1465 -u32 ethtool_op_get_link(25,677 -u32 ethtool_op_get_tx_csum(30,769 -int ethtool_op_set_tx_csum(35,873 -u32 ethtool_op_get_sg(45,1041 -int ethtool_op_set_sg(50,1135 -u32 ethtool_op_get_tso(60,1288 -int ethtool_op_set_tso(65,1384 -static int ethtool_get_settings(77,1581 -static int ethtool_set_settings(94,1937 -static int ethtool_get_drvinfo(107,2228 -static int ethtool_get_regs(133,2897 -static int ethtool_get_wol(169,3640 -static int ethtool_set_wol(183,3941 -static int ethtool_get_msglevel(196,4221 -static int ethtool_set_msglevel(210,4551 -static int ethtool_nway_reset(224,4860 -static int ethtool_get_link(232,5021 -static int ethtool_get_eeprom(246,5337 -static int ethtool_set_eeprom(291,6319 -static int ethtool_get_coalesce(332,7214 -static int ethtool_set_coalesce(346,7556 -static int ethtool_get_ringparam(359,7872 -static int ethtool_set_ringparam(373,8223 -static int ethtool_get_pauseparam(386,8547 -static int ethtool_set_pauseparam(400,8907 -static int ethtool_get_rx_csum(413,9239 -static int ethtool_set_rx_csum(427,9566 -static int ethtool_get_tx_csum(441,9872 -static int ethtool_set_tx_csum(455,10199 -static int ethtool_get_sg(468,10501 -static int ethtool_set_sg(482,10809 -static int ethtool_get_tso(495,11096 -static int ethtool_set_tso(509,11408 -static int ethtool_self_test(522,11698 -static int ethtool_get_strings(555,12392 -static int ethtool_phys_id(602,13398 -static int ethtool_get_stats(615,13676 -int dev_ethtool(650,14479 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/filter.c,118 -static u8 *load_pointer(39,990 -int sk_run_filter(65,1647 -int sk_chk_filter(333,7346 -int sk_attach_filter(394,9101 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/sock.c,2302 -#define _SK_MEM_PACKETS 135,5367 -#define _SK_MEM_OVERHEAD 136,5396 -#define SK_WMEM_MAX 137,5452 -#define SK_RMEM_MAX 138,5510 -__u32 sysctl_wmem_max 141,5607 -__u32 sysctl_rmem_max 142,5644 -__u32 sysctl_wmem_default 143,5681 -__u32 sysctl_rmem_default 144,5722 -int sysctl_optmem_max 147,5834 -static int sock_set_timeout(149,5903 -static void sock_warn_obsolete_bsdism(166,6329 -static void sock_disable_timestamp(178,6647 -int sock_setsockopt(192,6942 -int sock_getsockopt(443,12139 -static kmem_cache_t *sk_cachep;606,15235 -struct sock *sk_alloc(620,15745 -void sk_free(644,16222 -void __init sk_init(669,16739 -void sock_wfree(695,17324 -void sock_rfree(709,17638 -int sock_i_uid(717,17758 -unsigned long sock_i_ino(727,17952 -struct sk_buff *sock_wmalloc(740,18222 -struct sk_buff *sock_rmalloc(755,18573 -void *sock_kmalloc(770,18939 -void sock_kfree_s(790,19400 -static long sock_wait_for_wmem(799,19647 -struct sk_buff *sock_alloc_send_pskb(828,20253 -struct sk_buff *sock_alloc_send_skb(910,22009 -static void __lock_sock(916,22184 -static void __release_sock(932,22511 -int sk_wait_data(962,23259 -int sock_no_bind(984,23922 -int sock_no_connect(989,24019 -int sock_no_socketpair(995,24137 -int sock_no_accept(1000,24230 -int sock_no_getname(1005,24331 -unsigned int sock_no_poll(1011,24449 -int sock_no_ioctl(1016,24548 -int sock_no_listen(1021,24650 -int sock_no_shutdown(1026,24729 -int sock_no_setsockopt(1031,24806 -int sock_no_getsockopt(1037,24939 -int sock_no_sendmsg(1043,25080 -int sock_no_recvmsg(1049,25203 -int sock_no_mmap(1055,25337 -ssize_t sock_no_sendpage(1061,25489 -void sock_def_wakeup(1078,25864 -void sock_def_error_report(1086,26075 -void sock_def_readable(1095,26320 -void sock_def_write_space(1104,26568 -void sock_def_destruct(1123,27062 -void sk_send_sigurg(1129,27155 -void sk_reset_timer(1136,27325 -void sk_stop_timer(1145,27504 -void sock_init_data(1153,27667 -void fastcall lock_sock(1205,28904 -void fastcall release_sock(1217,29144 -atomic_t netstamp_needed 1230,29509 -int sock_get_timestamp(1232,29554 -void sock_enable_timestamp(1245,29941 -int sock_common_getsockopt(1261,30390 -int sock_common_recvmsg(1271,30653 -int sock_common_setsockopt(1290,31086 -void sk_common_release(1300,31341 -int sk_alloc_slab(1341,32493 -void sk_free_slab(1352,32740 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/gen_estimator.c,312 -#define EST_MAX_INTERVAL 78,2451 -struct gen_estimatorgen_estimator80,2479 -struct gen_estimator_headgen_estimator_head94,2740 -static struct gen_estimator_head elist[100,2827 -static rwlock_t est_lock 103,2915 -static void est_timer(105,2961 -int gen_new_estimator(135,3728 -void gen_kill_estimator(176,4902 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/netfilter.c,1283 -#define NFDEBUG(NFDEBUG38,1283 -#define NFDEBUG(NFDEBUG40,1348 -struct list_head nf_hooks[48,1569 -static spinlock_t nf_hook_lock 50,1649 -static struct nf_queue_handler_t nf_queue_handler_t57,1942 -} queue_handler[60,2015 -static rwlock_t queue_handler_lock 61,2040 -int nf_register_hook(63,2096 -void nf_unregister_hook(79,2426 -static inline int overlap(89,2625 -int nf_register_sockopt(95,2788 -void nf_unregister_sockopt(126,3583 -static void debug_print_hooks_ip(149,4157 -void nf_dump_skb(176,4830 -void nf_debug_ip_local_deliver(212,5834 -void nf_debug_ip_loopback_xmit(241,6734 -void nf_debug_ip_finish_output2(254,7098 -static int nf_sockopt(288,8206 -int nf_setsockopt(332,9112 -int nf_getsockopt(338,9247 -static unsigned int nf_iterate(343,9378 -int nf_register_queue_handler(391,10453 -int nf_unregister_queue_handler(409,10827 -static int nf_queue(423,11120 -int nf_hook_slow(497,12914 -void nf_reinject(543,13881 -int ip_route_me_harder(614,15528 -int skb_ip_make_writable(677,17114 -#define NF_LOG_PREFIXLEN 742,18720 -static nf_logfn *nf_logging[744,18751 -static int reported 745,18801 -static spinlock_t nf_log_lock 746,18826 -int nf_log_register(748,18879 -void nf_log_unregister(764,19176 -void nf_log_packet(775,19401 -void __init netfilter_init(811,20453 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/neighbour.c,3325 -#define NEIGH_DEBUG 36,955 -#define NEIGH_PRINTK(NEIGH_PRINTK38,978 -#define NEIGH_NOPRINTK(NEIGH_NOPRINTK39,1015 -#define NEIGH_PRINTK0 40,1062 -#define NEIGH_PRINTK1 41,1097 -#define NEIGH_PRINTK2 42,1134 -#define NEIGH_PRINTK1 46,1214 -#define NEIGH_PRINTK2 50,1298 -#define PNEIGH_HASHMASK 53,1341 -static int neigh_glbl_allocs;62,1648 -static struct neigh_table *neigh_tables;63,1678 -static struct file_operations neigh_stat_seq_fops;64,1719 -static rwlock_t neigh_tbl_lock 97,2943 -static int neigh_blackhole(99,2995 -unsigned long neigh_rand_reach_time(111,3272 -static int neigh_forced_gc(117,3379 -static int neigh_del_timer(156,4130 -static void pneigh_queue_purge(166,4296 -void neigh_changeaddr(176,4469 -int neigh_ifdown(203,4962 -static struct neighbour *neigh_alloc(253,6077 -static struct neighbour **neigh_hash_alloc(297,7097 -static void neigh_hash_free(314,7455 -static void neigh_hash_grow(324,7693 -struct neighbour *neigh_lookup(360,8571 -struct neighbour *neigh_lookup_nodev(381,9090 -struct neighbour *neigh_create(401,9564 -struct pneigh_entry * pneigh_lookup(469,11037 -int pneigh_delete(521,12076 -static int pneigh_ifdown(551,12780 -void neigh_destroy(579,13276 -static void neigh_suspect(625,14267 -static void neigh_connect(642,14605 -static void neigh_periodic_timer(654,14869 -static __inline__ int neigh_max_probes(722,16427 -static void neigh_timer_handler(733,16696 -int __neigh_event_send(839,19665 -static __inline__ void neigh_update_hhs(893,20982 -int neigh_update(931,22046 -struct neighbour *neigh_event_ns(1073,25397 -static void neigh_hh_init(1085,25715 -int neigh_compat_output(1125,26695 -int neigh_resolve_output(1142,27044 -int neigh_connected_output(1187,28127 -static void neigh_proxy_process(1209,28616 -void pneigh_enqueue(1243,29446 -struct neigh_parms *neigh_parms_alloc(1270,30159 -static void neigh_rcu_free_parms(1295,30767 -void neigh_parms_release(1303,30935 -void neigh_parms_destroy(1323,31416 -void neigh_table_init(1329,31489 -int neigh_table_clear(1393,33319 -int neigh_delete(1422,33996 -int neigh_add(1474,35121 -static int neigh_fill_info(1551,36874 -static int neigh_dump_table(1591,37967 -int neigh_dump_info(1624,38688 -void neigh_for_each(1648,39266 -void __neigh_for_each_release(1664,39683 -static struct neighbour *neigh_get_first(1693,40224 -static struct neighbour *neigh_get_next(1729,40921 -static struct neighbour *neigh_get_idx(1774,41682 -static struct pneigh_entry *pneigh_get_first(1788,41924 -static struct pneigh_entry *pneigh_get_next(1806,42336 -static struct pneigh_entry *pneigh_get_idx(1828,42739 -static void *neigh_get_idx_any(1842,42996 -void *neigh_seq_start(1854,43255 -void *neigh_seq_next(1870,43701 -void neigh_seq_stop(1897,44255 -static void *neigh_stat_seq_start(1908,44489 -static void *neigh_stat_seq_next(1926,44855 -static void neigh_stat_seq_stop(1941,45183 -static int neigh_stat_seq_show(1946,45252 -static struct seq_operations neigh_stat_seq_ops 1980,46027 -static int neigh_stat_seq_open(1987,46205 -static struct file_operations neigh_stat_seq_fops 1998,46432 -void neigh_app_ns(2009,46662 -static void neigh_app_notify(2028,47129 -static struct neigh_sysctl_table neigh_sysctl_table2050,47616 -} neigh_sysctl_template 2057,47841 -int neigh_sysctl_register(2203,50995 -void neigh_sysctl_unregister(2279,53091 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/flow.c,1357 -struct flow_cache_entry flow_cache_entry27,644 -atomic_t flow_cache_genid 37,807 -static u32 flow_hash_shift;39,852 -#define flow_hash_size 40,880 -#define flow_table(flow_table43,1002 -static kmem_cache_t *flow_cachep;45,1055 -static int flow_lwm,47,1090 -static int flow_lwm, flow_hwm;47,1090 -struct flow_percpu_info flow_percpu_info49,1122 -} ____cacheline_aligned;53,1197 -#define flow_hash_rnd_recalc(flow_hash_rnd_recalc56,1295 -#define flow_hash_rnd(flow_hash_rnd58,1379 -#define flow_count(flow_count60,1449 -static struct timer_list flow_hash_rnd_timer;63,1514 -#define FLOW_HASH_RND_PERIOD 65,1561 -struct flow_flush_info flow_flush_info67,1606 -#define flow_flush_tasklet(flow_flush_tasklet73,1763 -static void flow_cache_new_hashrnd(75,1833 -static void __flow_cache_shrink(86,2047 -static void flow_cache_shrink(109,2495 -static void flow_new_hash_rnd(116,2622 -static u32 flow_hash_code(124,2782 -typedef u64 flow_compare_t;flow_compare_t133,2987 -typedef u32 flow_compare_t;flow_compare_t135,3021 -static int flow_key_compare(144,3248 -void *flow_cache_lookup(165,3664 -static void flow_cache_flush_tasklet(243,5171 -static void flow_cache_flush_per_cpu(269,5707 -void flow_cache_flush(283,6047 -static void __devinit flow_cache_cpu_prepare(304,6567 -static int flow_cache_cpu(330,7217 -static int __init flow_cache_init(340,7443 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/link_watch.c,390 -enum lw_bits lw_bits29,699 - LW_RUNNING 30,714 - LW_SE_USED31,731 -static unsigned long linkwatch_flags;34,747 -static unsigned long linkwatch_nextevent;35,785 -static spinlock_t lweventlist_lock 41,962 -struct lw_event lw_event43,1020 -static struct lw_event singleevent;49,1130 -void linkwatch_run_queue(52,1217 -static void linkwatch_event(85,1896 -void linkwatch_fire_event(101,2240 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/stream.c,361 -void sk_stream_write_space(28,754 -int sk_stream_wait_connect(51,1378 -static inline int sk_stream_closing(84,2176 -void sk_stream_wait_close(90,2321 -int sk_stream_wait_memory(113,2823 -void sk_stream_rfree(171,4121 -int sk_stream_error(181,4318 -void __sk_stream_mem_reclaim(192,4561 -int sk_stream_mem_schedule(207,5025 -void sk_stream_kill_queues(264,6586 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/scm.c,227 -static __inline__ int scm_check_creds(43,1081 -static int scm_fp_copy(55,1508 -void __scm_destroy(100,2298 -int __scm_send(113,2493 -int put_cmsg(168,3680 -void scm_detach_fds(203,4579 -struct scm_fp_list *scm_fp_dup(270,6066 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/dst.c,649 -static struct dst_entry *dst_garbage_list;31,805 -static atomic_t dst_total 33,874 -static spinlock_t dst_lock 35,928 -static unsigned long dst_gc_timer_expires;37,980 -static unsigned long dst_gc_timer_inc 38,1023 -static struct timer_list dst_gc_timer 42,1164 -static void dst_run_gc(45,1252 -static int dst_discard_in(103,2584 -static int dst_discard_out(109,2664 -void * dst_alloc(115,2749 -static void ___dst_free(140,3286 -void __dst_free(152,3567 -struct dst_entry *dst_destroy(166,3912 -static void dst_ifdown(221,5097 -static int dst_dev_event(248,5684 -struct notifier_block dst_dev_notifier 267,6108 -void __init dst_init(271,6188 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/utils.c,392 -struct nrnd_state nrnd_state64,2039 -static u32 __net_random(70,2139 -#define TAUSWORTHE(TAUSWORTHE72,2191 -static void __net_srandom(81,2486 -#define LCG(LCG86,2609 -unsigned long net_random(101,2872 -void net_srandom(111,3043 -void __init net_random_init(118,3209 -static int net_random_reseed(128,3385 -int net_msg_cost 142,3674 -int net_msg_burst 143,3699 -int net_ratelimit(148,3798 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/skbuff.c,1415 -static kmem_cache_t *skbuff_head_cache;71,2049 -void skb_over_panic(87,2379 -void skb_under_panic(103,2728 -struct sk_buff *alloc_skb(128,3494 -static void skb_drop_fraglist(167,4374 -static void skb_clone_fraglist(180,4614 -void skb_release_data(188,4778 -void kfree_skbmem(208,5199 -void __kfree_skb(223,5527 -struct sk_buff *skb_clone(273,6725 -#define C(C280,6883 -static void copy_skb_header(350,8025 -struct sk_buff *skb_copy(418,10106 -struct sk_buff *pskb_copy(457,11147 -int pskb_expand_head(515,12628 -struct sk_buff *skb_realloc_headroom(563,13734 -struct sk_buff *skb_copy_expand(603,14943 -struct sk_buff *skb_pad(650,16023 -int ___pskb_trim(672,16592 -unsigned char *__pskb_pull_tail(741,18384 -int skb_copy_bits(857,21246 -void skb_iter_first(933,22723 -int skb_iter_next(941,22901 -void skb_iter_abort(987,23978 -unsigned int skb_checksum(998,24223 -unsigned int skb_copy_and_csum_bits(1074,25804 -void skb_copy_and_csum_dev(1154,27510 -struct sk_buff *skb_dequeue(1190,28351 -struct sk_buff *skb_dequeue_tail(1209,28877 -void skb_queue_purge(1228,29403 -void skb_queue_head(1246,29867 -void skb_queue_tail(1266,30409 -void skb_unlink(1286,31072 -void skb_append(1311,31652 -void skb_insert(1331,32175 -void skb_add_mtu(1344,32470 -static void inline skb_split_inside_header(1353,32639 -static void inline skb_split_no_header(1374,33234 -void skb_split(1418,34439 -void __init skb_init(1428,34748 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/datagram.c,353 -static inline int connection_based(61,1764 -static int wait_for_packet(69,1920 -struct sk_buff *skb_recv_datagram(145,4052 -void skb_free_datagram(197,5165 -int skb_copy_datagram(205,5294 -int skb_copy_datagram_iovec(224,5793 -int skb_copy_and_csum_datagram(299,7315 -int skb_copy_and_csum_datagram_iovec(403,9537 -unsigned int datagram_poll(452,10823 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/dev_mcast.c,486 -static void __dev_mc_upload(72,2083 -void dev_mc_upload(94,2507 -int dev_mc_delete(105,2688 -int dev_mc_add(156,3696 -void dev_mc_discard(206,4704 -static void *dev_mc_seq_start(223,5103 -static void *dev_mc_seq_next(236,5344 -static void dev_mc_seq_stop(243,5479 -static int dev_mc_seq_show(249,5574 -static struct seq_operations dev_mc_seq_ops 270,6035 -static int dev_mc_seq_open(277,6196 -static struct file_operations dev_mc_seq_fops 282,6309 -void __init dev_mcast_init(292,6494 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/iovec.c,200 -int verify_iovec(40,1060 -int memcpy_toiovec(83,1936 -void memcpy_tokerneliovec(107,2396 -int memcpy_fromiovec(129,2819 -int memcpy_fromiovecend(150,3211 -int csum_partial_copy_fromiovecend(182,3951 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/wireless.c,1495 -#define WE_STRICT_WRITE 73,2491 -#define WE_EVENT_NETLINK 82,2815 -#define WE_SET_EVENT 83,2879 -static const struct iw_ioctl_description standard_ioctl[94,3224 -static const int standard_ioctl_num 269,8022 -static const struct iw_ioctl_description standard_event[276,8234 -static const int standard_event_num 295,8714 -static const char priv_type_size[299,8884 -static const int event_type_size[311,9252 -static inline iw_handler get_handler(336,10060 -static inline struct iw_statistics *get_wireless_stats(364,10840 -static inline int call_commit_handler(393,12079 -static inline int get_priv_size(408,12520 -static __inline__ void wireless_seq_printf_stats(433,13285 -static int wireless_seq_show(459,14147 -static struct seq_operations wireless_seq_ops 476,14713 -static int wireless_seq_open(483,14869 -static struct file_operations wireless_seq_fops 488,14986 -int __init wireless_proc_init(496,15167 -static inline int dev_iwstats(518,15809 -static inline int ioctl_export_private(545,16546 -static inline int ioctl_standard_call(584,17849 -static inline int ioctl_private_call(743,22767 -int wireless_process_ioctl(887,26588 -static inline int rtnetlink_fill_iwinfo(963,28855 -static inline void rtmsg_iwinfo(1001,29876 -void wireless_send_event(1028,30561 -int iw_handler_set_spy(1137,34509 -int iw_handler_get_spy(1190,36171 -int iw_handler_set_thrspy(1226,37271 -int iw_handler_get_thrspy(1257,38185 -static void iw_send_thrspy_event(1282,38855 -void wireless_spy_update(1324,40291 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/net-sysfs.c,1406 -#define to_class_dev(to_class_dev20,569 -#define to_net_dev(to_net_dev21,638 -static const char fmt_hex[23,715 -static const char fmt_dec[24,754 -static const char fmt_ulong[25,792 -static inline int dev_isalive(27,834 -static ssize_t netdev_show(33,990 -#define NETDEVICE_SHOW(NETDEVICE_SHOW48,1363 -static ssize_t netdev_store(60,1756 -#define NETDEVICE_ATTR(NETDEVICE_ATTR87,2306 -static ssize_t format_addr(98,2683 -static ssize_t show_address(109,2911 -static ssize_t show_broadcast(121,3202 -static int change_mtu(135,3607 -static ssize_t store_mtu(140,3722 -static int change_flags(149,3961 -static ssize_t store_flags(154,4092 -static int change_tx_queue_len(163,4350 -static ssize_t store_tx_queue_len(169,4474 -static struct class_device_attribute *net_class_attributes[178,4731 -static ssize_t netstat_show(193,5151 -#define NETSTAT_ENTRY(NETSTAT_ENTRY215,5752 -static struct attribute *netstat_attrs[247,6708 -static struct attribute_group netstat_group 275,7675 -static ssize_t wireless_show(282,7868 -#define WIRELESS_SHOW(WIRELESS_SHOW300,8369 -static struct attribute *wireless_attrs[322,9232 -static struct attribute_group wireless_group 336,9612 -static int netdev_hotplug(343,9741 -static void netdev_release(368,10268 -static struct class net_class net_class378,10483 -void netdev_unregister_sysfs(386,10622 -int netdev_register_sysfs(402,11006 -int netdev_sysfs_init(447,12033 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/rtnetlink.c,911 -void rtnl_lock(56,1483 -void rtnl_unlock(61,1526 -int rtattr_parse(68,1593 -struct sock *rtnl;81,1890 -struct rtnetlink_link * rtnetlink_links[83,1910 -static const int rtm_min[85,1960 -static const int rta_max[98,2358 -void __rta_fill(111,2506 -int rtnetlink_send(122,2790 -int rtnetlink_put_metrics(135,3094 -static int rtnetlink_fill_ifinfo(156,3538 -int rtnetlink_dump_ifinfo(244,5587 -static int do_setlink(263,6035 -static int rtnetlink_dump_all(388,8714 -void rtmsg_ifinfo(412,9260 -static int rtnetlink_done(431,9755 -static struct rtattr **rta_buf;437,9862 -static int rtattr_max;438,9894 -rtnetlink_rcv_msg(443,9978 -static inline int rtnetlink_rcv_skb(553,12279 -static void rtnetlink_rcv(591,13281 -static struct rtnetlink_link link_rtnetlink_table[617,13741 -static int rtnetlink_event(628,14266 -static struct notifier_block rtnetlink_dev_notifier 652,14786 -void __init rtnetlink_init(656,14881 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/sysctl_net_core.c,62 -char *net_sysctl_strdup(43,964 -ctl_table core_table[51,1092 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/gen_stats.c,250 -gnet_stats_copy(27,749 -gnet_stats_start_copy_compat(38,927 -gnet_stats_start_copy(56,1372 -gnet_stats_copy_basic(64,1539 -gnet_stats_copy_rate_est(75,1779 -gnet_stats_copy_queue(86,2015 -gnet_stats_copy_app(99,2328 -gnet_stats_finish_copy(107,2518 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/netpoll.c,825 -#define MAX_SKBS 31,740 -#define MAX_UDP_CHUNK 32,760 -static spinlock_t skb_list_lock 34,788 -static int nr_skbs;35,842 -static struct sk_buff *skbs;36,862 -static spinlock_t rx_list_lock 38,892 -static atomic_t trapped;41,973 -spinlock_t netpoll_poll_lock 42,998 -#define NETPOLL_RX_ENABLED 44,1050 -#define NETPOLL_RX_DROP 45,1080 -#define MAX_SKB_SIZE 47,1111 -static int checksum_udp(53,1271 -void netpoll_poll(68,1670 -static void refill_skbs(102,2611 -static void zap_completion_queue(120,2930 -static struct sk_buff * find_skb(143,3363 -void netpoll_send_skb(181,4044 -void netpoll_send_udp(217,4722 -static void arp_reply(266,6014 -int netpoll_rx(362,8413 -int netpoll_parse_options(442,10194 -int netpoll_setup(550,12714 -void netpoll_cleanup(645,14851 -int netpoll_trap(661,15139 -void netpoll_set_trap(666,15198 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/dev.c,4642 -static spinlock_t ptype_lock 157,5442 -static struct list_head ptype_base[158,5493 -static struct list_head ptype_all;159,5558 -static struct timer_list samp_timer 163,5675 -struct net_device *dev_base;185,6463 -struct net_device **dev_tail 186,6492 -rwlock_t dev_base_lock 187,6534 -#define NETDEV_HASHBITS 192,6634 -static struct hlist_head dev_name_head[193,6660 -static struct hlist_head dev_index_head[194,6720 -static inline struct hlist_head *dev_name_hash(196,6782 -static inline struct hlist_head *dev_index_hash(202,6973 -static struct notifier_block *netdev_chain;211,7129 -#define netdev_sysfs_init(netdev_sysfs_init224,7528 -#define netdev_register_sysfs(netdev_register_sysfs225,7562 -#define netdev_unregister_sysfs(netdev_unregister_sysfs226,7601 -int netdev_nit;240,7902 -void dev_add_pack(271,9000 -void __dev_remove_pack(303,9811 -void dev_remove_pack(339,10684 -static struct netdev_boot_setup dev_boot_setup[353,11023 -int netdev_boot_setup_add(364,11381 -int netdev_boot_setup_check(391,12053 -unsigned long netdev_boot_base(420,12828 -int __init netdev_boot_setup(444,13358 -struct net_device *__dev_get_by_name(487,14433 -struct net_device *dev_get_by_name(511,15077 -struct net_device *__dev_get_by_index(534,15669 -struct net_device *dev_get_by_index(558,16282 -struct net_device *dev_getbyhwaddr(584,16970 -struct net_device *dev_getfirstbyhwtype(597,17227 -struct net_device * dev_get_by_flags(625,17914 -int dev_valid_name(647,18410 -int dev_alloc_name(667,18987 -int dev_change_name(729,20492 -void netdev_state_change(770,21416 -void dev_load(787,21865 -static int default_rebuild_header(799,22089 -int dev_open(820,22729 -int dev_close(884,23789 -int register_netdevice_notifier(956,25609 -int unregister_netdevice_notifier(985,26305 -int call_netdevice_notifiers(999,26723 -void dev_queue_xmit_nit(1009,26928 -int skb_checksum_help(1053,28133 -static inline int illegal_highdma(1091,28983 -#define illegal_highdma(illegal_highdma1105,29266 -int __skb_linearize(1111,29400 -#define HARD_TX_LOCK(HARD_TX_LOCK1168,30658 -#define HARD_TX_UNLOCK(HARD_TX_UNLOCK1175,30820 -static inline void qdisc_run(1182,30981 -int dev_queue_xmit(1202,31587 -int netdev_max_backlog 1323,34989 -int weight_p 1324,35019 -int no_cong_thresh 1329,35237 -int no_cong 1330,35262 -int lo_cong 1331,35280 -int mod_cong 1332,35299 -static void get_sample_stats(1337,35386 -static void sample_queue(1375,36302 -int netif_rx(1406,37070 -static __inline__ void skb_bond(1466,38274 -static void net_tx_action(1476,38446 -static __inline__ int deliver_skb(1522,39326 -static __inline__ int handle_bridge(1532,39635 -#define handle_bridge(handle_bridge1549,40027 -int ing_filter(1561,40469 -int netif_receive_skb(1593,41264 -static int process_backlog(1684,43011 -static void net_rx_action(1732,43866 -static gifconf_func_t * gifconf_list 1775,44783 -int register_gifconf(1786,45113 -static int dev_ifname(1806,45538 -static int dev_ifconf(1839,46209 -static __inline__ struct net_device *dev_get_idx(1895,47274 -void *dev_seq_start(1905,47477 -void *dev_seq_next(1911,47621 -void dev_seq_stop(1917,47772 -static void dev_seq_printf_stats(1922,47856 -static int dev_seq_show(1952,48949 -static struct netif_rx_stats *softnet_get_online(1965,49356 -static void *softnet_seq_start(1978,49598 -static void *softnet_seq_next(1983,49702 -static void softnet_seq_stop(1989,49823 -static int softnet_seq_show(1993,49888 -static struct seq_operations dev_seq_ops 2010,50301 -static int dev_seq_open(2017,50447 -static struct file_operations dev_seq_fops 2022,50554 -static struct seq_operations softnet_seq_ops 2030,50725 -static int softnet_seq_open(2037,50891 -static struct file_operations softnet_seq_fops 2042,51006 -#define wireless_proc_init(wireless_proc_init2053,51248 -static int __init dev_proc_init(2056,51287 -#define dev_proc_init(dev_proc_init2076,51679 -int netdev_set_master(2091,52145 -void dev_set_promiscuity(2129,52944 -void dev_set_allmulti(2156,53795 -unsigned dev_get_flags(2167,54041 -int dev_change_flags(2183,54339 -int dev_set_mtu(2245,55934 -static int dev_ifsioc(2274,56417 -int dev_ioctl(2439,60766 -static int dev_new_index(2630,65015 -static int dev_boot_phase 2641,65180 -static spinlock_t net_todo_list_lock 2644,65255 -static struct list_head net_todo_list 2645,65314 -static inline void net_set_todo(2647,65386 -int register_netdevice(2672,66220 -static void netdev_wait_allrefs(2788,68854 -void netdev_run_todo(2852,70563 -void free_netdev(2927,72388 -void synchronize_net(2947,72858 -int unregister_netdevice(2966,73351 -static int dev_cpu_callback(3041,74955 -static int __init net_dev_init(3098,76455 - -/export0/mef/linux-2.6.9-1.11_FC2/net/core/dv.c,368 -const char sysctl_divert_version[40,1064 -static int __init dv_init(42,1132 -int alloc_divert_blk(51,1278 -void free_divert_blk(82,2060 -static int add_port(99,2433 -static int remove_port(129,2907 -static int check_args(152,3300 -#define DVDBG(DVDBG195,4185 -int divert_ioctl(198,4270 -#define ETH_DIVERT_FRAME(ETH_DIVERT_FRAME452,9205 -void divert_frame(456,9322 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_rules.c,712 -struct dn_fib_ruledn_fib_rule40,1041 -static struct dn_fib_rule default_rule 63,1488 -static struct dn_fib_rule *dn_fib_rules 70,1646 -static rwlock_t dn_fib_rules_lock 71,1703 -int dn_fib_rtm_delrule(74,1759 -void dn_fib_rule_put(111,2921 -int dn_fib_rtm_newrule(122,3115 -int dn_fib_lookup(208,5367 -unsigned dnet_addr_type(263,6639 -__u16 dn_fib_rules_policy(281,6981 -static void dn_fib_rules_detach(299,7405 -static void dn_fib_rules_attach(312,7679 -static int dn_fib_rules_event(325,7992 -static struct notifier_block dn_fib_rules_notifier 342,8327 -static int dn_fib_fill_rule(346,8424 -int dn_fib_dump_rules(388,9538 -void __init dn_fib_rules_init(407,9925 -void __exit dn_fib_rules_cleanup(412,10020 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_dev.c,3267 -#define DN_IFREQ_SIZE 54,1980 -static char dn_rt_all_end_mcast[56,2081 -static char dn_rt_all_rt_mcast[57,2158 -static char dn_hiord[58,2235 -static unsigned char dn_eco_version[59,2312 -dn_address decnet_address 66,2469 -static rwlock_t dndev_lock 68,2501 -static struct net_device *decnet_default_device;69,2548 -static struct notifier_block *dnaddr_chain;70,2597 -static struct dn_dev_parms dn_dev_list[81,3068 -#define DN_DEV_LIST_SIZE 150,4450 -#define DN_DEV_PARMS_OFFSET(DN_DEV_PARMS_OFFSET152,4526 -static int min_t2[156,4630 -static int max_t2[157,4659 -static int min_t3[158,4737 -static int max_t3[159,4766 -static int min_priority[161,4863 -static int max_priority[162,4891 -static struct dn_dev_sysctl_table dn_dev_sysctl_table171,5240 -} dn_dev_sysctl 178,5464 -static void dn_dev_sysctl_register(251,7029 -static void dn_dev_sysctl_unregister(293,8160 -static int dn_forwarding_proc(303,8385 -static int dn_forwarding_sysctl(348,9448 -static void dn_dev_sysctl_unregister(388,10229 -static void dn_dev_sysctl_register(391,10298 -static inline __u16 mtu2blksize(397,10418 -static struct dn_ifaddr *dn_dev_alloc_ifa(412,10724 -static __inline__ void dn_dev_free_ifa(425,10906 -static void dn_dev_del_ifa(430,10986 -static int dn_dev_insert_ifa(457,11613 -static int dn_dev_set_ifa(488,12318 -int dn_dev_ioctl(512,12726 -struct net_device *dn_dev_get_default(593,14367 -int dn_dev_set_default(608,14610 -static void dn_dev_check_default(626,14974 -static struct dn_dev *dn_dev_by_index(639,15212 -static int dn_dev_rtm_deladdr(652,15430 -static int dn_dev_rtm_newaddr(675,16061 -static int dn_dev_fill_ifaddr(718,17113 -static void rtmsg_ifa(748,17931 -static int dn_dev_dump_ifaddr(767,18454 -static int dn_dev_get_first(805,19292 -int dn_dev_bind_default(831,20051 -static void dn_send_endnode_hello(850,20411 -#define DRDELAY 892,21639 -static int dn_am_i_a_router(894,21665 -static void dn_send_router_hello(918,22243 -static void dn_send_brd_hello(990,23803 -static void dn_send_ptp_hello(1000,24050 -static int dn_eth_up(1028,24659 -static void dn_eth_down(1044,24950 -static void dn_dev_timer_func(1056,25248 -static void dn_dev_set_timer(1077,25731 -struct dn_dev *dn_dev_create(1091,26076 -void dn_dev_up(1148,27342 -static void dn_dev_delete(1202,28580 -void dn_dev_down(1230,29130 -void dn_dev_init_pkt(1246,29406 -void dn_dev_veri_pkt(1251,29462 -void dn_dev_hello(1256,29518 -void dn_dev_devices_off(1261,29571 -void dn_dev_devices_on(1272,29726 -int register_dnaddr_notifier(1284,29910 -int unregister_dnaddr_notifier(1289,30023 -int dnet_gifconf(1301,30390 -static inline struct net_device *dn_dev_get_next(1348,31429 -static struct net_device *dn_dev_get_idx(1357,31599 -static void *dn_dev_seq_start(1371,31871 -static void *dn_dev_seq_next(1384,32141 -static void dn_dev_seq_stop(1400,32453 -static char *dn_type2asc(1406,32580 -static int dn_dev_seq_show(1420,32763 -static struct seq_operations dn_dev_seq_ops 1445,33724 -static int dn_dev_seq_open(1452,33882 -static struct file_operations dn_dev_seq_fops 1457,33995 -static struct rtnetlink_link dnet_rtnetlink_table[1467,34197 -static int __initdata addr[1486,34797 -static int __initdata num;1487,34828 -void __init dn_dev_init(1491,34971 -void __exit dn_dev_cleanup(1523,35787 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_route.c,2754 -struct dn_rt_hash_bucketdn_rt_hash_bucket91,3959 -static unsigned char dn_hiord_addr[100,4109 -int dn_rt_min_delay 102,4183 -int dn_rt_max_delay 103,4213 -int dn_rt_mtu_expires 104,4244 -static unsigned long dn_rt_deadline;106,4283 -static struct dn_rt_hash_bucket *dn_rt_hash_table;116,4692 -static unsigned dn_rt_hash_mask;117,4743 -static struct timer_list dn_route_timer;119,4777 -static struct timer_list dn_rt_flush_timer 120,4818 -int decnet_dst_gc_interval 122,4904 -static struct dst_ops dn_dst_ops 124,4937 -static __inline__ unsigned dn_hash(137,5302 -static inline void dnrt_free(146,5517 -static inline void dnrt_drop(151,5621 -static void dn_dst_check_expire(158,5761 -static int dn_dst_gc(188,6419 -static void dn_dst_update_pmtu(227,7438 -static struct dst_entry *dn_dst_check(254,8136 -static struct dst_entry *dn_dst_negative_advice(260,8249 -static void dn_dst_link_failure(266,8358 -static inline int compare_keys(271,8425 -static int dn_insert_route(278,8630 -void dn_run_flush(320,9561 -static spinlock_t dn_rt_flush_lock 342,10000 -void dn_rt_cache_flush(344,10058 -static int dn_return_short(383,10832 -static int dn_return_long(423,11657 -static int dn_route_rx_packet(470,12761 -static int dn_route_rx_long(500,13543 -static int dn_route_rx_short(538,14394 -static int dn_route_discard(562,14948 -static int dn_route_ptp_hello(572,15134 -int dn_route_rcv(579,15268 -static int dn_output(686,17804 -static int dn_forward(725,18679 -static int dn_blackhole(775,19867 -static int dn_rt_bug(785,20027 -static int dn_rt_bug_out(799,20263 -static int dn_rt_set_next_hop(804,20342 -static inline int dn_match_addr(837,21328 -static __u16 dnet_select_source(848,21512 -static inline __u16 __dn_fib_res_prefsrc(875,22094 -static inline __u16 dn_fib_rules_map_destination(880,22247 -static int dn_route_output_slow(886,22430 -static int __dn_route_output_key(1170,29275 -static int dn_route_output_key(1200,30085 -int dn_route_output_sock(1211,30323 -static int dn_route_input_slow(1222,30602 -int dn_route_input(1446,35662 -static int dn_rt_fill_info(1478,36407 -int dn_cache_getroute(1542,38388 -int dn_cache_dump(1631,40443 -struct dn_rt_cache_iter_state dn_rt_cache_iter_state1674,41429 -static struct dn_route *dn_rt_cache_get_first(1678,41478 -static struct dn_route *dn_rt_cache_get_next(1693,41816 -static void *dn_rt_cache_seq_start(1708,42148 -static void *dn_rt_cache_seq_next(1719,42380 -static void dn_rt_cache_seq_stop(1726,42537 -static int dn_rt_cache_seq_show(1732,42638 -static struct seq_operations dn_rt_cache_seq_ops 1747,43084 -static int dn_rt_cache_seq_open(1754,43267 -static struct file_operations dn_rt_cache_seq_fops 1775,43672 -void __init dn_route_init(1785,43892 -void __exit dn_route_cleanup(1843,45781 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/sysctl_net_decnet.c,1307 -int decnet_debug_level;32,747 -int decnet_time_wait 33,771 -int decnet_dn_count 34,798 -int decnet_di_count 35,823 -int decnet_dr_count 36,848 -int decnet_log_martians 37,873 -int decnet_no_fc_max_cwnd 38,902 -static int min_decnet_time_wait[42,1003 -static int max_decnet_time_wait[43,1046 -static int min_state_count[44,1091 -static int max_state_count[45,1129 -static int min_decnet_dst_gc_interval[46,1181 -static int max_decnet_dst_gc_interval[47,1230 -static int min_decnet_no_fc_max_cwnd[48,1280 -static int max_decnet_no_fc_max_cwnd[49,1341 -static char node_name[50,1402 -static struct ctl_table_header *dn_table_header 52,1437 -#define ISNUM(ISNUM57,1516 -#define ISLOWER(ISLOWER58,1564 -#define ISUPPER(ISUPPER59,1614 -#define ISALPHA(ISALPHA60,1664 -#define INVALID_END_CHAR(INVALID_END_CHAR61,1710 -static void strip_it(63,1764 -static int parse_addr(83,2027 -static int dn_node_address_strategy(130,2687 -static int dn_node_address_handler(163,3401 -static int dn_def_dev_strategy(216,4237 -static int dn_def_dev_handler(275,5269 -static ctl_table dn_table[339,6257 -static ctl_table dn_dir_table[443,8766 -static ctl_table dn_root_table[452,8905 -void dn_register_sysctl(462,9045 -void dn_unregister_sysctl(467,9140 -void dn_unregister_sysctl(473,9247 -void dn_register_sysctl(476,9283 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_nsp_in.c,755 -static void dn_log_martian(83,3114 -static void dn_ack(97,3679 -static int dn_process_ack(129,4477 -static inline int dn_check_idf(175,5410 -} ci_err_table[200,6022 -static struct sock *dn_find_listener(218,6738 -static void dn_nsp_conn_init(325,8861 -static void dn_nsp_conn_conf(337,9112 -static void dn_nsp_conn_ack(379,10212 -static void dn_nsp_disc_init(391,10408 -static void dn_nsp_disc_conf(458,11989 -static void dn_nsp_linkservice(502,12821 -static __inline__ int dn_queue_skb(576,14603 -static void dn_nsp_otherdata(613,15655 -static void dn_nsp_data(641,16207 -static void dn_returned_conn_init(677,17052 -static int dn_nsp_no_socket(691,17323 -static int dn_nsp_rx_packet(719,17974 -int dn_nsp_rx(833,20374 -int dn_nsp_backlog_rcv(843,20680 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_table.c,1805 -struct dn_zonedn_zone40,1072 -#define DZ_HASHMASK(DZ_HASHMASK47,1203 -#define DZ_MASK(DZ_MASK50,1280 -struct dn_hashdn_hash53,1320 -#define dz_key_0(dz_key_059,1403 -#define dz_prefix(dz_prefix60,1444 -#define for_nexthops(for_nexthops62,1485 -#define endfor_nexthops(endfor_nexthops65,1633 -#define DN_MAX_DIVISOR 67,1664 -#define DN_S_ZOMBIE 68,1692 -#define DN_S_ACCESSED 69,1714 -#define DN_FIB_SCAN(DN_FIB_SCAN71,1739 -#define DN_FIB_SCAN_KEY(DN_FIB_SCAN_KEY74,1821 -#define RT_TABLE_MIN 77,1945 -static rwlock_t dn_fib_tables_lock 79,1969 -struct dn_fib_table *dn_fib_tables[80,2024 -static kmem_cache_t *dn_hash_kmem;82,2079 -static int dn_fib_hash_zombies;83,2114 -static inline dn_fib_idx_t dn_hash(85,2147 -static inline dn_fib_key_t dz_key(94,2358 -static inline struct dn_fib_node **dn_chain_p(101,2484 -static inline struct dn_fib_node *dz_chain(106,2619 -static inline int dn_key_eq(111,2750 -static inline int dn_key_leq(116,2843 -static inline void dn_rebuild_zone(121,2937 -static void dn_rehash_zone(141,3376 -static void dn_free_node(178,4190 -static struct dn_zone *dn_new_zone(185,4317 -static int dn_fib_nh_match(230,5258 -static int dn_fib_dump_info(271,6224 -static void dn_rtmsg_fib(335,8680 -static __inline__ int dn_hash_dump_bucket(360,9641 -static __inline__ int dn_hash_dump_zone(389,10271 -static int dn_fib_table_dump(413,10819 -static int dn_fib_table_insert(440,11495 -static int dn_fib_table_delete(578,14358 -static inline int dn_flush_list(660,16130 -static int dn_fib_table_flush(683,16603 -static int dn_fib_table_lookup(702,17020 -struct dn_fib_table *dn_fib_get_table(748,17976 -static void dn_fib_del_tree(785,18999 -struct dn_fib_table *dn_fib_empty_table(799,19273 -void __init dn_fib_table_init(809,19522 -void __exit dn_fib_table_cleanup(817,19697 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/netfilter/dn_rtmsg.c,415 -static struct sock *dnrmg 30,854 -static struct sk_buff *dnrmg_build_message(33,890 -static void dnrmg_send_peer(65,1712 -static unsigned int dnrmg_hook(91,2204 -#define RCV_SKB_FAIL(RCV_SKB_FAIL102,2429 -static inline void dnrmg_receive_user_skb(104,2511 -static void dnrmg_receive_user_sk(119,2871 -static struct nf_hook_ops dnrmg_ops 129,3072 -static int __init init(136,3214 -static void __exit fini(154,3536 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_timer.c,269 -#define FAST_INTERVAL 34,1001 -#define SLOW_INTERVAL 35,1030 -void dn_start_slow_timer(39,1107 -void dn_stop_slow_timer(48,1311 -static void dn_slow_timer(53,1384 -static void dn_fast_timer(113,3243 -void dn_start_fast_timer(133,3612 -void dn_stop_fast_timer(147,3966 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_nsp_out.c,1031 -static int nsp_backoff[74,2664 -static void dn_nsp_send(76,2763 -struct sk_buff *dn_alloc_skb(120,3821 -struct sk_buff *dn_alloc_send_skb(144,4368 -unsigned long dn_nsp_persist(207,5524 -static void dn_nsp_rtt(230,6003 -static inline unsigned dn_nsp_clone_and_send(276,7143 -void dn_nsp_output(303,7829 -int dn_nsp_xmit_timeout(339,8757 -static inline unsigned char *dn_mk_common_header(351,8991 -static unsigned short *dn_mk_ack_header(365,9318 -static unsigned short *dn_nsp_mk_data_header(397,10076 -void dn_nsp_queue_xmit(415,10516 -int dn_nsp_check_xmit_queue(443,11163 -void dn_nsp_send_data_ack(520,13081 -void dn_nsp_send_oth_ack(532,13305 -void dn_send_conn_ack 545,13529 -void dn_nsp_delayed_ack(561,13903 -static int dn_nsp_retrans_conn_conf(572,14121 -void dn_send_conn_conf(582,14288 -static __inline__ void dn_nsp_do_disc(613,15103 -void dn_nsp_send_disc(655,16110 -void dn_nsp_return_disc(672,16511 -void dn_nsp_send_link(684,16786 -static int dn_nsp_retrans_conninit(706,17300 -void dn_nsp_send_conninit(716,17466 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_neigh.c,1181 -static struct neigh_ops dn_long_ops 61,2153 -static struct neigh_ops dn_short_ops 73,2463 -static struct neigh_ops dn_phase3_ops 85,2750 -struct neigh_table dn_neigh_table 94,3024 -static u32 dn_neigh_hash(124,3727 -static int dn_neigh_construct(129,3876 -static void dn_long_error_report(192,5635 -static void dn_short_error_report(199,5791 -static int dn_neigh_output_packet(205,5948 -static int dn_long_output(224,6520 -static int dn_short_output(270,7864 -static int dn_phase3_output(313,9283 -void dn_neigh_pointopoint_notify(361,10835 -void dn_neigh_pointopoint_hello(369,10955 -int dn_neigh_router_hello(377,11079 -int dn_neigh_endnode_hello(436,12378 -static char *dn_find_slot(472,13157 -struct elist_cb_state elist_cb_state491,13481 -static void neigh_elist_cb(498,13586 -int dn_neigh_elist(529,14243 -static inline void dn_neigh_format_entry(547,14531 -static int dn_neigh_seq_show(566,15094 -static void *dn_neigh_seq_start(577,15304 -static struct seq_operations dn_neigh_seq_ops 583,15460 -static int dn_neigh_seq_open(590,15625 -static struct file_operations dn_neigh_seq_fops 614,16054 -void __init dn_neigh_init(624,16247 -void __exit dn_neigh_cleanup(630,16388 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/af_decnet.c,3293 -struct dn_sock dn_sock140,5723 -#define DN_SK_HASH_SHIFT 147,5825 -#define DN_SK_HASH_SIZE 148,5852 -#define DN_SK_HASH_MASK 149,5900 -static kmem_cache_t *dn_sk_cachep;152,5948 -static struct proto_ops dn_proto_ops;153,5983 -static rwlock_t dn_hash_lock 154,6021 -static struct hlist_head dn_sk_hash[155,6070 -static struct hlist_head dn_wild_sk;156,6124 -static struct hlist_head *dn_find_list(161,6405 -static int check_port(174,6722 -static unsigned short port_alloc(190,6997 -static int dn_hash_sock(211,7371 -static void dn_unhash_sock(235,7761 -static void dn_unhash_sock_bh(242,7891 -struct hlist_head *listen_hash(249,8030 -static void dn_rehash_sock(270,8538 -int dn_sockaddr2username(286,8870 -int dn_username2sockaddr(321,9766 -struct sock *dn_sklist_find_listener(373,10598 -struct sock *dn_find_by_skb(412,11444 -static void dn_destruct(439,11987 -struct sock *dn_alloc_sock(450,12241 -static void dn_keepalive(528,14402 -int dn_destroy_timer(549,14964 -static void dn_destroy_sock(591,15882 -char *dn_addr2asc(644,16977 -static int dn_create(657,17154 -dn_release(683,17551 -static int dn_bind(699,17763 -static int dn_auto_bind(771,19347 -static int dn_confirm_accept(809,20211 -static int dn_wait_run(851,21154 -static int __dn_connect(893,22037 -static int dn_connect(959,23545 -static inline int dn_check_state(973,23891 -static void dn_access_copy(993,24320 -static void dn_user_copy(1012,24838 -static struct sk_buff *dn_wait_for_connect(1023,25119 -static int dn_accept(1056,25867 -static int dn_getname(1163,28759 -static unsigned int dn_poll(1190,29346 -static int dn_ioctl(1202,29630 -static int dn_listen(1258,30768 -static int dn_shutdown(1284,31202 -static int dn_setsockopt(1316,31661 -static int __dn_setsockopt(1328,31923 -static int dn_getsockopt(1493,35497 -static int __dn_getsockopt(1505,35767 -static int dn_data_ready(1629,38365 -static int dn_recvmsg(1661,39004 -static inline int dn_queue_too_long(1815,41922 -unsigned dn_mss_from_pmtu(1840,42721 -static inline unsigned int dn_current_mss(1862,43170 -static int dn_error(1881,43675 -static int dn_sendmsg(1890,43885 -static int dn_device_event(2055,47058 -static struct notifier_block dn_dev_notifier 2074,47368 -static struct packet_type dn_dix_packet_type 2080,47543 -struct dn_iter_state dn_iter_state2087,47718 -static struct sock *dn_socket_get_first(2091,47758 -static struct sock *dn_socket_get_next(2107,48058 -static struct sock *socket_get_idx(2124,48373 -static void *dn_socket_get_idx(2135,48597 -static void *dn_socket_seq_start(2146,48801 -static void *dn_socket_seq_next(2151,48941 -static void dn_socket_seq_stop(2169,49226 -#define IS_NOT_PRINTABLE(IS_NOT_PRINTABLE2175,49358 -static void dn_printable_object(2177,49411 -static char *dn_state2asc(2195,49781 -static inline void dn_socket_format_entry(2235,50384 -static int dn_socket_seq_show(2269,51346 -static struct seq_operations dn_socket_seq_ops 2279,51579 -static int dn_socket_seq_open(2286,51752 -static struct file_operations dn_socket_seq_fops 2309,52146 -static struct net_proto_family dn_family_ops 2318,52340 -static struct proto_ops dn_proto_ops 2324,52460 -static char banner[2353,53172 -static char banner[] __initdata 2353,53172 -static int __init decnet_init(2355,53296 -static void __exit decnet_exit(2389,54016 - -/export0/mef/linux-2.6.9-1.11_FC2/net/decnet/dn_fib.c,1496 -#define RT_MIN_TABLE 44,1400 -#define for_fib_info(for_fib_info46,1424 -#define endfor_fib_info(endfor_fib_info48,1525 -#define for_nexthops(for_nexthops50,1554 -#define change_nexthops(change_nexthops53,1695 -#define endfor_nexthops(endfor_nexthops56,1855 -static spinlock_t dn_fib_multipath_lock 60,1963 -static struct dn_fib_info *dn_fib_info_list;61,2025 -static rwlock_t dn_fib_info_lock 62,2070 -int dn_fib_info_cnt;63,2123 -} dn_fib_props[69,2184 -void dn_fib_free_info(84,3066 -void dn_fib_release_info(100,3372 -static inline int dn_fib_nh_comp(116,3765 -static inline struct dn_fib_info *dn_fib_find_info(132,4175 -u16 dn_fib_get_attr16(148,4703 -static int dn_fib_count_nhs(159,4917 -static int dn_fib_get_nhs(175,5204 -static int dn_fib_check_nh(199,5812 -struct dn_fib_info *dn_fib_create_info(273,7395 -int dn_fib_semantic_match(408,10548 -void dn_fib_select_multipath(449,11430 -int dn_fib_rt_message(493,12356 -static int dn_fib_check_attr(501,12434 -int dn_fib_rtm_delroute(518,12786 -int dn_fib_rtm_newroute(534,13156 -int dn_fib_dump(551,13530 -static void fib_magic(582,14163 -static void dn_fib_add_ifaddr(624,15195 -static void dn_fib_del_ifaddr(637,15430 -static void dn_fib_disable_addr(671,16145 -static int dn_fib_dnaddr_event(679,16333 -int dn_fib_sync_down(701,16846 -int dn_fib_sync_up(745,18517 -void dn_fib_flush(779,19583 -static struct notifier_block dn_fib_dnaddr_notifier 795,19941 -void __exit dn_fib_cleanup(799,20040 -void __init dn_fib_init(808,20184 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/xfrm6_output.c,103 -static void xfrm6_encap(35,1284 -static int xfrm6_tunnel_check_size(77,2479 -int xfrm6_output(94,2818 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ip6_input.c,160 -static inline int ip6_rcv_finish(51,1164 -int ipv6_rcv(59,1297 -static inline int ip6_input_finish(134,3007 -int ip6_input(219,5025 -int ip6_mc_input(224,5147 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/esp6.c,384 -static int esp6_output(40,1255 -static int esp6_input(132,3550 -static u32 esp6_get_max_size(238,6203 -static void esp6_err(255,6625 -static void esp6_destroy(275,7260 -static int esp6_init_state(301,7711 -static struct xfrm_type esp6_type 387,10056 -static struct inet6_protocol esp6_protocol 399,10324 -static int __init esp6_init(405,10458 -static void __exit esp6_fini(420,10829 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/sit.c,1226 -#define HASH_SIZE 61,1537 -#define HASH(HASH62,1559 -static struct net_device *ipip6_fb_tunnel_dev;68,1770 -static struct ip_tunnel *tunnels_r_l[70,1818 -static struct ip_tunnel *tunnels_r[71,1867 -static struct ip_tunnel *tunnels_l[72,1914 -static struct ip_tunnel *tunnels_wc[73,1961 -static struct ip_tunnel **tunnels[74,2001 -static rwlock_t ipip6_lock 76,2092 -static struct ip_tunnel * ipip6_tunnel_lookup(78,2140 -static struct ip_tunnel ** ipip6_bucket(102,2784 -static void ipip6_tunnel_unlink(120,3079 -static void ipip6_tunnel_link(134,3333 -static struct ip_tunnel * ipip6_tunnel_locate(144,3518 -static void ipip6_tunnel_uninit(205,4650 -static void ipip6_err(219,4931 -static inline void ipip6_ecn_decapsulate(362,8376 -static int ipip6_rcv(368,8526 -static inline u32 try_6to4(408,9476 -static int ipip6_tunnel_xmit(424,9847 -ipip6_tunnel_ioctl 594,13664 -static struct net_device_stats *ipip6_tunnel_get_stats(699,16037 -static int ipip6_tunnel_change_mtu(704,16170 -static void ipip6_tunnel_setup(712,16369 -static int ipip6_tunnel_init(730,16890 -int __init ipip6_fb_tunnel_init(774,17959 -static struct net_protocol sit_protocol 792,18301 -void __exit sit_cleanup(797,18399 -int __init sit_init(803,18524 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/udp.c,1117 -static int udp_v6_get_port(66,1794 -static void udp_v6_hash(138,3653 -static void udp_v6_unhash(143,3707 -static struct sock *udp_v6_lookup(153,3912 -static void udpv6_close(207,5041 -static int udpv6_recvmsg(217,5224 -static void udpv6_err(320,7701 -static inline int udpv6_queue_rcv_skb(354,8522 -static struct sock *udp_v6_mcast_next(379,9099 -static void udpv6_mcast_deliver(421,10088 -static int udpv6_rcv(449,10770 -static void udp_v6_flush_pending_frames(550,13103 -static int udp_v6_push_pending_frames(565,13315 -static int udpv6_sendmsg(622,14620 -static int udpv6_destroy_sock(864,20479 -static int udpv6_setsockopt(878,20675 -static int udpv6_getsockopt(925,21433 -static struct inet6_protocol udpv6_protocol 962,22087 -static void udp6_sock_seq_show(971,22342 -static int udp6_seq_show(999,23191 -static struct file_operations udp6_seq_fops;1013,23586 -static struct udp_seq_afinfo udp6_seq_afinfo 1014,23631 -int __init udp6_proc_init(1022,23805 -void udp6_proc_exit(1027,23887 -struct proto udpv6_prot 1034,24066 -static struct inet_protosw udpv6_protosw 1054,24578 -void __init udpv6_init(1065,24828 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/af_inet6.c,917 -int sysctl_ipv6_bindv6only;87,2187 -atomic_t inet6_sock_nr;90,2241 -static struct list_head inetsw6[96,2366 -static spinlock_t inetsw6_lock 97,2409 -static void inet6_sock_destruct(99,2463 -static __inline__ struct ipv6_pinfo *inet6_sk_generic(108,2604 -static int inet6_create(115,2809 -int inet6_bind(251,5687 -int inet6_release(360,8357 -int inet6_destroy_sock(376,8589 -int inet6_getname(408,9097 -int inet6_ioctl(443,10065 -struct proto_ops inet6_stream_ops 474,10795 -struct proto_ops inet6_dgram_ops 495,11477 -static struct net_proto_family inet6_family_ops 516,12182 -static struct inet_protosw rawv6_protosw 527,12418 -inet6_register_protosw(538,12673 -inet6_unregister_protosw(592,14005 -snmp6_mib_init(608,14330 -snmp6_mib_free(631,14664 -static int __init init_ipv6_mibs(640,14795 -static void cleanup_ipv6_mibs(662,15404 -static int __init inet6_init(671,15613 -static void __exit inet6_exit(814,18665 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/proc.c,770 -static struct proc_dir_entry *proc_net_devsnmp6;34,1150 -static int fold_prot_inuse(36,1200 -static int sockstat6_seq_show(47,1359 -static struct snmp_mib snmp6_ipstats_list[60,1771 -static struct snmp_mib snmp6_icmp6_list[87,3185 -static struct snmp_mib snmp6_udp6_list[129,5441 -fold_field(138,5742 -snmp6_seq_show_item(153,6142 -static int snmp6_seq_show(161,6364 -static int sockstat6_seq_open(176,6881 -static struct file_operations sockstat6_seq_fops 181,7009 -static int snmp6_seq_open(189,7191 -static struct file_operations snmp6_seq_fops 194,7323 -int snmp6_register_dev(202,7497 -int snmp6_unregister_dev(233,8113 -int __init ipv6_misc_proc_init(246,8407 -void ipv6_misc_proc_exit(271,8921 -int snmp6_register_dev(281,9075 -int snmp6_unregister_dev(298,9365 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/sysctl_net_ipv6.c,247 -ctl_table ipv6_table[22,428 -static struct ctl_table_header *ipv6_sysctl_header;90,1964 -static ctl_table ipv6_net_table[92,2017 -static ctl_table ipv6_root_table[102,2178 -void ipv6_sysctl_register(112,2342 -void ipv6_sysctl_unregister(117,2444 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/xfrm6_input.c,99 -static inline void ipip6_ecn_decapsulate(20,387 -int xfrm6_rcv_spi(29,621 -int xfrm6_rcv(147,3235 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/datagram.c,191 -int ip6_datagram_connect(36,881 -void ipv6_icmp_error(202,4861 -void ipv6_local_error(234,5651 -int ipv6_recv_error(273,6529 -int datagram_recv_ctl(374,9135 -int datagram_send_ctl(415,10519 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/addrconf.c,5304 -#define ACONF_DEBUG 85,2168 -#define ADBG(ADBG88,2212 -#define ADBG(ADBG90,2243 -#define INFINITY_LIFE_TIME 93,2267 -#define TIME_DELTA(TIME_DELTA94,2305 -int inet6_dev_count;101,2550 -int inet6_ifa_count;102,2571 -static int desync_factor 109,2812 -static struct crypto_tfm *md5_tfm;110,2863 -static spinlock_t md5_tfm_lock 111,2898 -static struct inet6_ifaddr *inet6_addr_lst[119,3065 -static rwlock_t addrconf_hash_lock 120,3126 -rwlock_t addrconf_lock 123,3211 -static struct timer_list addr_chk_timer 127,3300 -static spinlock_t addrconf_verify_lock 129,3387 -static struct notifier_block *inet6addr_chain;146,4121 -struct ipv6_devconf ipv6_devconf 148,4169 -static struct ipv6_devconf ipv6_devconf_dflt 170,4802 -const struct in6_addr in6addr_any 192,5489 -const struct in6_addr in6addr_loopback 193,5543 -int ipv6_addr_type(195,5608 -static void addrconf_del_timer(262,7152 -enum addrconf_timer_taddrconf_timer_t268,7265 - AC_NONE,270,7289 - AC_DAD,271,7299 - AC_RS,272,7308 -static void addrconf_mod_timer(275,7320 -void in6_dev_finish_destroy(297,7784 -static struct inet6_dev * ipv6_add_dev(315,8214 -static struct inet6_dev * ipv6_find_idev(392,10171 -static void dev_forward_change(407,10447 -static void addrconf_forward_change(433,10957 -void inet6_ifa_finish_destroy(456,11482 -ipv6_add_addr(482,12049 -static void ipv6_del_addr(583,14196 -static int ipv6_create_tempaddr(645,15448 -static int inline ipv6_saddr_pref(746,18214 -#define IPV6_GET_SADDR_MAXSCORE(IPV6_GET_SADDR_MAXSCORE757,18483 -#define IPV6_GET_SADDR_MAXSCORE(IPV6_GET_SADDR_MAXSCORE759,18543 -int ipv6_dev_get_saddr(762,18598 -int ipv6_get_saddr(877,20940 -int ipv6_get_lladdr(894,21280 -static int ipv6_count_addresses(917,21802 -int ipv6_chk_addr(929,22035 -int ipv6_chk_same_addr(948,22542 -struct inet6_ifaddr * ipv6_get_ifaddr(964,22948 -int ipv6_rcv_saddr_equal(984,23452 -void addrconf_dad_failure(1020,24513 -void addrconf_join_solict(1052,25276 -void addrconf_leave_solict(1063,25505 -void addrconf_join_anycast(1074,25744 -void addrconf_leave_anycast(1083,25958 -static int ipv6_generate_eui64(1092,26170 -static int ipv6_inherit_eui64(1117,26717 -static int __ipv6_regen_rndid(1136,27188 -static void ipv6_regen_rndid(1196,28939 -static int __ipv6_try_regen_rndid(1229,29711 -addrconf_prefix_route(1243,29977 -static void addrconf_add_mroute(1269,30764 -static void sit_route_add(1284,31164 -static void addrconf_add_lroute(1301,31549 -static struct inet6_dev *addrconf_add_dev(1309,31732 -void addrconf_prefix_rcv(1326,32037 -int addrconf_set_dstaddr(1544,37700 -static int inet6_addr_add(1600,38802 -static int inet6_addr_del(1630,39373 -int addrconf_add_ifaddr(1664,40157 -int addrconf_del_ifaddr(1681,40490 -static void sit_add_v4_addrs(1698,40822 -static void init_loopback(1767,42393 -static void addrconf_add_linklocal(1791,42899 -static void addrconf_dev_config(1802,43154 -static void addrconf_sit_config(1828,43746 -ipv6_inherit_linklocal(1855,44259 -static void ip6_tnl_add_linklocal(1866,44478 -static void addrconf_ip6_tnl_config(1889,45156 -static int addrconf_notify(1903,45436 -static struct notifier_block ipv6_dev_notf 1981,47328 -static int addrconf_ifdown(1986,47429 -static void addrconf_rs_timer(2096,49787 -static void addrconf_dad_start(2142,50817 -static void addrconf_dad_timer(2175,51589 -static void addrconf_dad_completed(2208,52312 -struct if6_iter_state if6_iter_state2246,53308 -static struct inet6_ifaddr *if6_get_first(2250,53349 -static struct inet6_ifaddr *if6_get_next(2263,53651 -static struct inet6_ifaddr *if6_get_idx(2276,53947 -static void *if6_seq_start(2286,54176 -static void *if6_seq_next(2292,54311 -static void if6_seq_stop(2301,54465 -static int if6_seq_show(2306,54564 -static struct seq_operations if6_seq_ops 2320,54909 -static int if6_seq_open(2327,55052 -static struct file_operations if6_fops 2350,55434 -int __init if6_proc_init(2358,55605 -void if6_proc_exit(2365,55730 -static void addrconf_verify(2375,55866 -inet6_rtm_deladdr(2475,58559 -inet6_rtm_newaddr(2499,59148 -static int inet6_fill_ifaddr(2522,59727 -static int inet6_fill_ifmcaddr(2572,61329 -static int inet6_fill_ifacaddr(2609,62545 -enum addr_type_taddr_type_t2646,63763 - UNICAST_ADDR,2648,63782 - MULTICAST_ADDR,2649,63797 - ANYCAST_ADDR,2650,63814 -static int inet6_dump_addr(2653,63833 -static int inet6_dump_ifaddr(2744,66035 -static int inet6_dump_ifmcaddr(2750,66198 -static int inet6_dump_ifacaddr(2757,66366 -static void inet6_ifa_notify(2763,66531 -static void inline ipv6_store_devconf(2782,67055 -static int inet6_fill_ifinfo(2807,68100 -static int inet6_dump_ifinfo(2877,70162 -void inet6_ifinfo_notify(2902,70730 -static int inet6_fill_prefix(2922,71270 -static void inet6_prefix_notify(2962,72286 -static struct rtnetlink_link inet6_rtnetlink_table[2982,72851 -static void ipv6_ifa_notify(2995,73536 -int addrconf_sysctl_forward(3023,74176 -static int addrconf_sysctl_forward_strategy(3051,74857 -static struct addrconf_sysctl_tableaddrconf_sysctl_table3106,76032 -} addrconf_sysctl 3114,76269 -static void addrconf_sysctl_register(3308,80955 -static void addrconf_sysctl_unregister(3368,82523 -int register_inet6addr_notifier(3386,82815 -int unregister_inet6addr_notifier(3391,82941 -void __init addrconf_init(3400,83101 -void __exit addrconf_cleanup(3420,83605 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ipv6_sockglue.c,297 -static struct packet_type ipv6_packet_type 60,1559 -struct ip6_ra_chain *ip6_ra_chain;65,1669 -rwlock_t ip6_ra_lock 66,1704 -int ip6_ra_control(68,1746 -int ipv6_setsockopt(119,3013 -int ipv6_getsockopt(527,11605 -void __init ipv6_packet_init(696,14864 -void __exit ipv6_packet_cleanup(701,14938 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ah6.c,470 -static int zero_out_mutable_opts(39,1228 -static void ipv6_rearrange_rthdr(86,2063 -static int ipv6_clear_mutable_options(116,2981 -static int ah6_output(157,3749 -static int ah6_input(232,5384 -static void ah6_err(322,7817 -static int ah6_init_state(344,8456 -static void ah6_destroy(416,10215 -static struct xfrm_type ah6_type 434,10475 -static struct inet6_protocol ah6_protocol 445,10695 -static int __init ah6_init(451,10826 -static void __exit ah6_fini(467,11191 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ip6_flowlabel.c,1672 -#define FL_MIN_LINGER 37,908 -#define FL_MAX_LINGER 40,1042 -#define FL_MAX_PER_SOCK 44,1118 -#define FL_MAX_SIZE 45,1145 -#define FL_HASH_MASK 46,1170 -#define FL_HASH(FL_HASH47,1195 -static atomic_t fl_size 49,1239 -static struct ip6_flowlabel *fl_ht[50,1281 -static struct timer_list ip6_fl_gc_timer 53,1378 -static rwlock_t ip6_fl_lock 57,1508 -static rwlock_t ip6_sk_fl_lock 61,1580 -static __inline__ struct ip6_flowlabel * __fl_lookup(64,1633 -static struct ip6_flowlabel * fl_lookup(75,1840 -static void fl_free(88,2058 -static void fl_release(95,2153 -static void ip6_fl_gc(118,2719 -static int fl_intern(156,3550 -struct ip6_flowlabel * fl6_sock_lookup(185,4101 -void fl6_free_socklist(203,4482 -struct ipv6_txoptions *fl6_merge_options(224,4907 -static unsigned long check_linger(252,5637 -static int fl6_renew(261,5829 -fl_create(280,6337 -static int mem_check(360,7981 -static int ipv6_hdr_cmp(382,8466 -static int ipv6_opt_cmp(393,8721 -int ipv6_flowlabel_opt(410,9145 -struct ip6fl_iter_state ip6fl_iter_state563,12682 -#define ip6fl_seq_private(ip6fl_seq_private567,12725 -static struct ip6_flowlabel *ip6fl_get_first(569,12801 -static struct ip6_flowlabel *ip6fl_get_next(583,13130 -static struct ip6_flowlabel *ip6fl_get_idx(595,13401 -static void *ip6fl_seq_start(604,13633 -static void *ip6fl_seq_next(610,13794 -static void ip6fl_seq_stop(622,14013 -static void ip6fl_fl_seq_show(627,14107 -static int ip6fl_seq_show(646,14572 -static struct seq_operations ip6fl_seq_ops 656,14816 -static int ip6fl_seq_open(663,14969 -static struct file_operations ip6fl_seq_fops 686,15357 -void ip6_flowlabel_init(696,15544 -void ip6_flowlabel_cleanup(703,15674 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/protocol.c,153 -struct inet6_protocol *inet6_protos[42,1170 -static spinlock_t inet6_proto_lock 43,1224 -int inet6_add_protocol(46,1283 -int inet6_del_protocol(68,1646 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6table_mangle.c,475 -#define MANGLE_VALID_HOOKS 20,688 -#define DEBUGP(DEBUGP27,890 -#define DEBUGP(DEBUGP29,953 -struct ip6t_standardip6t_standard33,1010 -struct ip6t_error_targetip6t_error_target39,1100 -struct ip6t_errorip6t_error45,1208 -} initial_table __initdata56,1394 -static struct ip6t_table packet_mangler 125,3996 -ip6t_route_hook(135,4248 -ip6t_local_hook(145,4496 -static struct nf_hook_ops ip6t_ops[197,6017 -static int __init init(235,6779 -static void __exit fini(281,7618 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_mark.c,143 -match(22,571 -checkentry(37,922 -static struct ip6t_match mark_match 49,1182 -static int __init init(56,1312 -static void __exit fini(61,1388 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_physdev.c,197 -#define MATCH 16,548 -#define NOMATCH 17,566 -match(24,745 -checkentry(102,3349 -static struct ip6t_match physdev_match 118,3759 -static int __init init(125,3895 -static void __exit fini(130,3974 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_ah.c,221 -#define DEBUGP 25,652 -#define DEBUGP(DEBUGP27,680 -spi_match(32,802 -match(43,1118 -checkentry(171,5189 -static struct ip6t_match ah_match 193,5836 -static int __init init(200,5962 -static void __exit cleanup(205,6042 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_frag.c,549 -#define DEBUGP 27,686 -#define DEBUGP(DEBUGP29,714 -#define IP6F_OFF_MASK 34,793 -#define IP6F_RESERVED_MASK 35,863 -#define IP6F_MORE_FRAG 36,933 -#define IP6F_OFF_MASK 38,1037 -#define IP6F_RESERVED_MASK 39,1107 -#define IP6F_MORE_FRAG 40,1177 -#define IP6F_OFF_MASK 44,1254 -#define IP6F_RESERVED_MASK 45,1324 -#define IP6F_MORE_FRAG 46,1394 -struct fraghdr fraghdr48,1457 -id_match(57,1646 -match(68,1954 -checkentry(210,7013 -static struct ip6t_match frag_match 232,7678 -static int __init init(239,7808 -static void __exit cleanup(244,7890 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_hl.c,164 -static int match(21,599 -static int checkentry(51,1335 -static struct ip6t_match hl_match 61,1576 -static int __init init(68,1702 -static void __exit fini(73,1776 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_ipv6header.c,204 -ipv6header_match(29,810 -ipv6header_checkentry(122,2981 -static struct ip6t_match ip6t_ipv6header_match 136,3319 -static int __init ipv6header_init(144,3506 -static void __exit ipv6header_exit(149,3605 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_limit.c,269 -static spinlock_t limit_lock 32,1056 -#define CREDITS_PER_JIFFY 52,1948 -ip6t_limit_match(55,1990 -user2credits(85,2668 -ip6t_limit_checkentry(96,2946 -static struct ip6t_match ip6t_limit_reg 128,3793 -static int __init init(135,3948 -static void __exit fini(142,4054 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_dst.c,254 -#define LOW(LOW23,586 -#define HOPBYHOP 25,616 -#define DEBUGP 36,822 -#define DEBUGP(DEBUGP38,850 -match(58,1364 -checkentry(244,6511 -static struct ip6t_match opts_match 266,7176 -static int __init init(276,7327 -static void __exit cleanup(281,7409 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_multiport.c,241 -#define duprintf(duprintf26,788 -#define duprintf(duprintf28,853 -ports_match(33,978 -match(51,1340 -checkentry(82,2205 -static struct ip6t_match multiport_match 100,2831 -static int __init init(107,2971 -static void __exit fini(112,3052 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_length.c,146 -match(21,570 -checkentry(37,1006 -static struct ip6t_match length_match 49,1268 -static int __init init(56,1402 -static void __exit fini(61,1480 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_MARK.c,148 -target(22,616 -checkentry(39,1013 -static struct ip6t_target ip6t_mark_reg60,1578 -static int __init init(63,1688 -static void __exit fini(72,1849 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_owner.c,187 -match_pid(24,683 -match_sid(55,1277 -match(90,1930 -checkentry(132,2860 -static struct ip6t_match owner_match 157,3581 -static int __init init(164,3713 -static void __exit fini(169,3790 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6table_filter.c,437 -#define FILTER_VALID_HOOKS 20,645 -struct ip6t_standardip6t_standard23,770 -struct ip6t_error_targetip6t_error_target29,860 -struct ip6t_errorip6t_error35,968 -} initial_table __initdata46,1154 -static struct ip6t_table packet_filter 95,2859 -ip6t_hook(105,3110 -ip6t_local_out_hook(115,3351 -static struct nf_hook_ops ip6t_ops[134,3838 -static int forward 159,4363 -static int __init init(162,4431 -static void __exit fini(204,5217 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_LOG.c,458 -static unsigned int nflog 29,796 -#define DEBUGP 38,1026 -#define DEBUGP(DEBUGP40,1054 -struct esphdr esphdr43,1094 -static spinlock_t log_lock 48,1214 -static u_int8_t ip6_nexthdr(53,1446 -static void dump_packet(84,2262 -ip6t_log_packet(274,7255 -ip6t_log_target(337,8909 -ip6t_logfn(354,9318 -static int ip6t_log_checkentry(369,9648 -static struct ip6t_target ip6t_log_reg 397,10348 -static int __init init(404,10502 -static void __exit fini(414,10662 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6_tables.c,2946 -#define IPV6_HDR_LEN 38,1116 -#define IPV6_OPTHDR_LEN 39,1162 -#define dprintf(dprintf46,1370 -#define dprintf(dprintf48,1435 -#define duprintf(duprintf52,1506 -#define duprintf(duprintf54,1571 -#define IP_NF_ASSERT(IP_NF_ASSERT58,1643 -#define IP_NF_ASSERT(IP_NF_ASSERT65,1809 -#define SMP_ALIGN(SMP_ALIGN67,1840 -#define ASSERT_READ_LOCK(ASSERT_READ_LOCK72,1970 -#define ASSERT_WRITE_LOCK(ASSERT_WRITE_LOCK73,2043 -#define static79,2252 -#define inline80,2267 -struct ip6t_table_infoip6t_table_info99,2838 -#define ADD_COUNTER(ADD_COUNTER119,3356 -#define TABLE_OFFSET(TABLE_OFFSET122,3452 -#define TABLE_OFFSET(TABLE_OFFSET124,3511 -#define down(down128,3553 -#define down_interruptible(down_interruptible129,3632 -#define up(up130,3802 -static int ip6_masked_addrcmp(133,3883 -ip6t_ext_hdr(147,4180 -ip6_packet_match(160,4626 -#define FWINV(FWINV170,4830 -ip6_checkentry(278,8114 -ip6t_error(294,8461 -int do_match(308,8745 -get_entry(326,9183 -ip6t_do_table(333,9358 -find_inlist_lock_noload(496,13904 -#define find_inlist_lock(find_inlist_lock523,14433 -find_inlist_lock(526,14530 -ip6t_find_table_lock(546,14964 -find_match_lock(552,15152 -ip6t_find_target_lock(558,15324 -unconditional(565,15533 -mark_source_chains(579,15836 -cleanup_match(673,18169 -standard_check(686,18444 -check_match(716,19186 -static struct ip6t_target ip6t_standard_target;751,19971 -check_entry(754,20038 -check_entry_size_and_hooks(815,21472 -cleanup_entry(858,22618 -translate_table(878,23094 -replace_table(958,24990 -add_entry_to_counter(1000,25945 -get_counters(1011,26154 -copy_entries_to_user(1028,26469 -get_entries(1107,28480 -do_replace(1135,29111 -add_counter_to_entry(1236,31985 -do_add_counters(1256,32424 -do_ip6t_set_ctl(1304,33310 -do_ip6t_get_ctl(1329,33729 -ip6t_register_target(1403,35399 -ip6t_unregister_target(1421,35718 -ip6t_register_match(1429,35852 -ip6t_unregister_match(1448,36165 -int ip6t_register_table(1455,36290 -void ip6t_unregister_table(1514,37614 -port_match(1528,38002 -tcp_find_option(1537,38157 -tcp_match(1564,38711 -#define FWINVTCP(FWINVTCP1617,40196 -tcp_checkentry(1640,40948 -udp_match(1656,41409 -udp_checkentry(1707,42879 -icmp6_type_code_match(1737,43729 -icmp6_match(1746,43961 -icmp6_checkentry(1777,44769 -static struct ip6t_target ip6t_standard_target 1793,45264 -static struct ip6t_target ip6t_error_target 1797,45351 -static struct nf_sockopt_ops ip6t_sockopts 1802,45456 -static struct ip6t_match tcp_matchstruct 1812,45705 -static struct ip6t_match udp_matchstruct 1818,45826 -static struct ip6t_match icmp6_matchstruct 1824,45947 -static inline int print_name(1831,46098 -static inline int print_target(1849,46489 -static int ip6t_get_tables(1858,46840 -static int ip6t_get_targets(1876,47246 -static int ip6t_get_matches(1893,47619 -static struct { char *name; get_info_t *get_info; } ip6t_proc_entry[1910,47975 -static int __init init(1917,48228 -static void __exit fini(1960,49242 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_rt.c,226 -#define DEBUGP 27,685 -#define DEBUGP(DEBUGP29,713 -segsleft_match(34,834 -match(45,1152 -checkentry(258,8073 -static struct ip6t_match rt_match 287,9009 -static int __init init(294,9135 -static void __exit cleanup(299,9215 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_hbh.c,254 -#define LOW(LOW22,585 -#define HOPBYHOP 24,615 -#define DEBUGP 35,821 -#define DEBUGP(DEBUGP37,849 -match(57,1363 -checkentry(243,6510 -static struct ip6t_match opts_match 265,7175 -static int __init init(276,7347 -static void __exit cleanup(281,7429 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6_queue.c,1587 -#define IPQ_QMAX_DEFAULT 42,1589 -#define IPQ_PROC_FS_NAME 43,1619 -#define NET_IPQ_QMAX 44,1656 -#define NET_IPQ_QMAX_NAME 45,1682 -struct ipq_rt_info ipq_rt_info47,1728 -struct ipq_queue_entry ipq_queue_entry52,1801 -typedef int (*ipq_cmpfn)ipq_cmpfn59,1928 -static unsigned char copy_mode 61,1996 -static unsigned int queue_maxlen 62,2044 -static rwlock_t queue_lock 63,2097 -static int peer_pid;64,2144 -static unsigned int copy_range;65,2165 -static unsigned int queue_total;66,2197 -static struct sock *ipqnl;67,2230 -ipq_issue_verdict(72,2333 -__ipq_enqueue_entry(79,2481 -__ipq_find_entry(97,3029 -__ipq_dequeue_entry(111,3304 -__ipq_find_dequeue_entry(118,3440 -__ipq_flush(132,3680 -__ipq_set_mode(141,3852 -__ipq_reset(167,4236 -ipq_find_dequeue_entry(175,4364 -ipq_flush(186,4598 -ipq_build_packet_message(194,4733 -ipq_enqueue_packet(279,6734 -ipq_mangle_ipv6(337,7923 -id_cmp(387,9263 -ipq_set_verdict(393,9366 -ipq_set_mode(416,9828 -ipq_receive_peer(427,10026 -dev_cmp(455,10596 -ipq_dev_drop(469,10861 -#define RCV_SKB_FAIL(RCV_SKB_FAIL477,11031 -ipq_rcv_skb(480,11132 -ipq_rcv_sk(537,12243 -ipq_rcv_dev_event(556,12552 -static struct notifier_block ipq_dev_notifier 567,12822 -ipq_rcv_nl_event(572,12924 -static struct notifier_block ipq_nl_notifier 587,13270 -static struct ctl_table_header *ipq_sysctl_header;591,13359 -static ctl_table ipq_table[593,13411 -static ctl_table ipq_dir_table[605,13646 -static ctl_table ipq_root_table[615,13798 -ipq_get_info(626,13964 -init_or_cleanup(656,14613 -static int __init init(709,15893 -static void __exit fini(715,15957 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6table_raw.c,432 -#define RAW_VALID_HOOKS 9,204 -#define DEBUGP(DEBUGP12,289 -#define DEBUGP(DEBUGP14,352 -struct ip6t_standardip6t_standard18,409 -struct ip6t_error_targetip6t_error_target24,499 -struct ip6t_errorip6t_error30,607 -} initial_table __initdata 41,793 -static struct ip6t_table packet_raw 109,2177 -ip6t_hook(119,2418 -static struct nf_hook_ops ip6t_ops[128,2636 -static int __init init(143,2911 -static void __exit fini(171,3354 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_eui64.c,156 -match(22,601 -ip6t_eui64_checkentry(65,1548 -static struct ip6t_match eui64_match 84,1979 -static int __init init(91,2122 -static void __exit fini(96,2199 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_esp.c,222 -#define DEBUGP 25,655 -#define DEBUGP(DEBUGP27,683 -spi_match(32,805 -match(43,1094 -checkentry(142,3552 -static struct ip6t_match esp_match 164,4064 -static int __init init(171,4192 -static void __exit cleanup(176,4267 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/netfilter/ip6t_mac.c,152 -match(23,678 -ip6t_mac_checkentry(43,1202 -static struct ip6t_match mac_match 63,1652 -static int __init init(70,1789 -static void __exit fini(75,1864 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/route.c,3271 -#define RT6_DEBUG 64,1540 -#define RDBG(RDBG67,1580 -#define RT6_TRACE(RT6_TRACE68,1605 -#define RDBG(RDBG70,1656 -#define RT6_TRACE(RT6_TRACE71,1672 -static int ip6_rt_max_size 75,1724 -static int ip6_rt_gc_min_interval 76,1759 -static int ip6_rt_gc_timeout 77,1803 -int ip6_rt_gc_interval 78,1841 -static int ip6_rt_gc_elasticity 79,1873 -static int ip6_rt_mtu_expires 80,1910 -static int ip6_rt_min_advmss 81,1952 -static struct dst_ops ip6_dst_ops 95,2573 -struct rt6_info ip6_null_entry 109,2965 -struct fib6_node ip6_routing_table 129,3434 -rwlock_t rt6_lock 136,3586 -static __inline__ struct rt6_info *ip6_dst_alloc(140,3662 -static void ip6_dst_destroy(145,3774 -static void ip6_dst_ifdown(156,3989 -static __inline__ struct rt6_info *rt6_device_match(174,4401 -struct rt6_info *rt6_dflt_pointer;211,5178 -spinlock_t rt6_dflt_lock 212,5213 -void rt6_reset_dflt_pointer(214,5261 -static struct rt6_info *rt6_best_dflt(225,5569 -struct rt6_info *rt6_lookup(351,8025 -int ip6_ins_rt(377,8687 -static struct rt6_info *rt6_cow(392,9014 -#define BACKTRACK(BACKTRACK437,9859 -void ip6_route_input(450,10113 -struct dst_entry * ip6_route_output(502,11247 -static struct dst_entry *ip6_dst_check(562,12501 -static struct dst_entry *ip6_negative_advice(575,12749 -static void ip6_link_failure(588,12992 -static void ip6_rt_update_pmtu(604,13394 -static struct dst_entry *ndisc_dst_gc_list;617,13718 -static inline unsigned int ipv6_advmss(620,13812 -struct dst_entry *ndisc_dst_alloc(638,14282 -int ndisc_dst_gc(687,15442 -static int ip6_dst_gc(709,15779 -static int ipv6_get_mtu(736,16451 -static int ipv6_get_hoplimit(749,16655 -int ip6_route_add(766,16905 -int ip6_del_rt(967,21737 -static int ip6_route_del(983,21991 -void rt6_redirect(1021,22877 -void rt6_pmtu_discovery(1135,25714 -static struct rt6_info * ip6_rt_copy(1218,28165 -struct rt6_info *rt6_get_dflt_router(1248,28967 -struct rt6_info *rt6_add_dflt_router(1267,29366 -void rt6_purge_dflt_routers(1284,29852 -int ipv6_route_ioctl(1312,30326 -int ip6_pkt_discard(1350,30972 -int ip6_pkt_discard_out(1358,31156 -struct rt6_info *addrconf_dst_alloc(1369,31364 -static int fib6_ifdown(1408,32375 -void rt6_ifdown(1418,32587 -struct rt6_mtu_change_argrt6_mtu_change_arg1425,32747 -static int rt6_mtu_change_route(1431,32819 -void rt6_mtu_change(1470,34231 -static int inet6_rtm_to_rtmsg(1481,34482 -int inet6_rtm_delroute(1521,35742 -int inet6_rtm_newroute(1531,35986 -struct rt6_rtnl_dump_argrt6_rtnl_dump_arg1541,36230 -static int rt6_fill_node(1547,36313 -static int rt6_dump_route(1643,39053 -static int fib6_dump_node(1659,39540 -static void fib6_dump_end(1677,39851 -static int fib6_dump_done(1692,40103 -int inet6_dump_fib(1698,40205 -int inet6_rtm_getroute(1752,41433 -void inet6_rt_notify(1820,42941 -#define RT6_INFO_LEN 1845,43522 -struct rt6_proc_argrt6_proc_arg1847,43580 -static int rt6_info_route(1856,43668 -static int rt6_proc_info(1910,44961 -static int rt6_stats_seq_show(1939,45523 -static int rt6_stats_seq_open(1951,45888 -static struct file_operations rt6_stats_seq_fops 1956,46016 -static int flush_delay;1967,46248 -int ipv6_sysctl_rtcache_flush(1970,46280 -ctl_table ipv6_route_table[1983,46613 -void __init ip6_route_init(2067,48741 -void __exit ip6_route_cleanup(2091,49275 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ipv6_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/tcp_ipv6.c,2490 -static struct tcp_func ipv6_mapped;75,2062 -static struct tcp_func ipv6_specific;76,2098 -static __inline__ int tcp_v6_hashfn(79,2203 -static __inline__ int tcp_v6_sk_hashfn(90,2503 -static inline int tcp_v6_bind_conflict(101,2826 -static int tcp_v6_get_port(127,3610 -static __inline__ void __tcp_v6_hash(211,5495 -static void tcp_v6_hash(235,6007 -static struct sock *tcp_v6_lookup_listener(250,6268 -static inline struct sock *__tcp_v6_lookup_established(296,7323 -static inline struct sock *__tcp_v6_lookup(340,8604 -inline struct sock *tcp_v6_lookup(354,8906 -static u32 tcp_v6_synq_hash(372,9210 -static struct open_request *tcp_v6_search_req(392,9572 -static __inline__ u16 tcp_v6_check(419,10352 -static __u32 tcp_v6_init_sequence(427,10574 -static int tcp_v6_check_established(442,11013 -static int tcp_v6_hash_connect(513,12858 -static __inline__ int tcp_v6_iif(541,13457 -static int tcp_v6_connect(546,13541 -static void tcp_v6_err(734,17982 -static int tcp_v6_send_synack(875,21209 -static void tcp_v6_or_free(942,22994 -static struct or_calltable or_ipv6 948,23118 -static int ipv6_opt_accepted(956,23316 -static void tcp_v6_send_check(973,23755 -static void tcp_v6_send_reset(989,24224 -static void tcp_v6_send_ack(1062,25913 -static void tcp_v6_timewait_ack(1127,27475 -static void tcp_v6_or_send_ack(1137,27738 -static struct sock *tcp_v6_hnd_req(1143,27907 -static void tcp_v6_synq_add(1178,28771 -static int tcp_v6_conn_request(1200,29354 -static struct sock * tcp_v6_syn_recv_sock(1276,31197 -static int tcp_v6_checksum_init(1466,35984 -static int tcp_v6_do_rcv(1495,36891 -static int tcp_v6_rcv(1617,39994 -static int tcp_v6_rebuild_header(1746,42717 -static int tcp_v6_xmit(1798,43940 -static void v6_addr2sockaddr(1851,45224 -static int tcp_v6_remember_stamp(1867,45753 -static struct tcp_func ipv6_specific 1873,45843 -static struct tcp_func ipv6_mapped 1892,46340 -static int tcp_v6_init_sock(1912,46907 -static int tcp_v6_destroy_sock(1954,47910 -static void get_openreq6(1963,48119 -static void get_tcp6_sock(1995,49063 -static void get_timewait6_sock(2045,50561 -static int tcp6_seq_show(2074,51355 -static struct file_operations tcp6_seq_fops;2105,52033 -static struct tcp_seq_afinfo tcp6_seq_afinfo 2106,52078 -int __init tcp6_proc_init(2114,52252 -void tcp6_proc_exit(2119,52334 -struct proto tcpv6_prot 2125,52412 -static struct inet6_protocol tcpv6_protocol 2154,53277 -static struct inet_protosw tcpv6_protosw 2162,53475 -void __init tcpv6_init(2172,53694 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/mcast.c,3998 -#define MCAST_DEBUG 66,1658 -#define MDBG(MDBG69,1702 -#define MDBG(MDBG71,1733 -struct mld2_grec mld2_grec84,2027 -struct mld2_report mld2_report92,2167 -struct mld2_query mld2_query101,2285 -struct in6_addr mld2_all_mcr 124,2664 -static rwlock_t ipv6_sk_mc_lock 127,2758 -static struct socket *igmp6_socket;129,2811 -#define IGMP6_UNSOLICITED_IVAL 154,3943 -#define MLD_QRV_DEFAULT 155,3982 -#define MLD_V1_SEEN(MLD_V1_SEEN157,4010 -#define MLDV2_MASK(MLDV2_MASK162,4193 -#define MLDV2_EXP(MLDV2_EXP163,4270 -#define MLDV2_QQIC(MLDV2_QQIC168,4467 -#define MLDV2_MRC(MLDV2_MRC169,4522 -#define IPV6_MLD_MAX_MSF 171,4580 -int sysctl_mld_max_msf 173,4609 -int ipv6_sock_mc_join(179,4695 -int ipv6_sock_mc_drop(242,5904 -struct inet6_dev *ip6_mc_find_dev(275,6760 -void ipv6_sock_mc_close(309,7360 -int ip6_mc_source(340,8040 -int ip6_mc_msfilter(460,11047 -int ip6_mc_msfget(531,12857 -int inet6_mc_check(596,14434 -static void ma_put(633,15218 -static void igmp6_group_added(641,15350 -static void igmp6_group_dropped(667,15923 -static void mld_add_delrec(697,16571 -static void mld_del_delrec(735,17738 -static void mld_clear_delrec(764,18348 -int ipv6_dev_mc_inc(801,19100 -int __ipv6_dev_mc_dec(875,20722 -int ipv6_dev_mc_dec(900,21225 -int ipv6_is_mld(918,21513 -int ipv6_chk_mcast_addr(945,21971 -static void mld_gq_start_timer(985,22925 -static void mld_ifc_start_timer(994,23129 -static void igmp6_group_queried(1006,23367 -static void mld_marksources(1032,24032 -int igmp6_event_query(1051,24402 -int igmp6_event_report(1168,27321 -static int is_in(1217,28427 -mld_scount(1251,29406 -static struct sk_buff *mld_newpack(1264,29674 -static void mld_sendpack(1314,30936 -static int grec_size(1342,31778 -static struct sk_buff *add_grhead(1347,31926 -#define AVAILABLE(AVAILABLE1369,32512 -static struct sk_buff *add_grec(1372,32617 -static void mld_send_report(1477,35207 -static void mld_clear_zeros(1512,36057 -static void mld_send_cr(1530,36416 -static void igmp6_send(1603,38245 -static int ip6_mc_del1_src(1690,40669 -int ip6_mc_del_src(1727,41584 -static int ip6_mc_add1_src(1786,43023 -static void sf_markstate(1812,43606 -static int sf_setstate(1826,43996 -int ip6_mc_add_src(1851,44576 -static void ip6_mc_clear_src(1911,46082 -static void igmp6_join_group(1931,46515 -int ip6_mc_leave_src(1954,47064 -static void igmp6_leave_group(1970,47511 -static void mld_gq_timer_expire(1982,47782 -static void mld_ifc_timer_expire(1991,47970 -static void mld_ifc_event(2004,48252 -static void igmp6_timer_handler(2013,48409 -void ipv6_mc_down(2031,48819 -void ipv6_mc_up(2055,49265 -void ipv6_mc_init_dev(2069,49562 -void ipv6_mc_destroy_dev(2098,50330 -struct igmp6_mc_iter_state igmp6_mc_iter_state2134,51073 -#define igmp6_mc_seq_private(igmp6_mc_seq_private2139,51156 -static inline struct ifmcaddr6 *igmp6_mc_get_first(2141,51238 -static struct ifmcaddr6 *igmp6_mc_get_next(2165,51771 -static struct ifmcaddr6 *igmp6_mc_get_idx(2189,52313 -static void *igmp6_mc_seq_start(2198,52546 -static void *igmp6_mc_seq_next(2204,52683 -static void igmp6_mc_seq_stop(2212,52840 -static int igmp6_mc_seq_show(2224,53147 -static struct seq_operations igmp6_mc_seq_ops 2239,53626 -static int igmp6_mc_seq_open(2246,53794 -static struct file_operations igmp6_mc_seq_fops 2269,54191 -struct igmp6_mcf_iter_state igmp6_mcf_iter_state2277,54376 -#define igmp6_mcf_seq_private(igmp6_mcf_seq_private2283,54483 -static inline struct ip6_sf_list *igmp6_mcf_get_first(2285,54567 -static struct ip6_sf_list *igmp6_mcf_get_next(2316,55339 -static struct ip6_sf_list *igmp6_mcf_get_idx(2349,56121 -static void *igmp6_mcf_seq_start(2358,56366 -static void *igmp6_mcf_seq_next(2364,56534 -static void igmp6_mcf_seq_stop(2375,56766 -static int igmp6_mcf_seq_show(2391,57173 -static struct seq_operations igmp6_mcf_seq_ops 2417,57878 -static int igmp6_mcf_seq_open(2424,58051 -static struct file_operations igmp6_mcf_seq_fops 2447,58452 -int __init igmp6_init(2456,58646 -void igmp6_cleanup(2486,59303 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/exthdrs_core.c,55 -int ipv6_ext_hdr(11,214 -int ipv6_skip_exthdr(66,2399 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/anycast.c,1011 -static rwlock_t ipv6_sk_ac_lock 47,1138 -ip6_addr_match(52,1275 -ip6_onlink(76,1695 -int ipv6_sock_ac_join(103,2206 -int ipv6_sock_ac_drop(198,4189 -void ipv6_sock_ac_close(232,4988 -int inet6_ac_check(270,5869 -static void aca_put(292,6318 -int ipv6_dev_ac_inc(304,6544 -int __ipv6_dev_ac_dec(380,7929 -int ipv6_dev_ac_dec(416,8708 -static int ipv6_chk_acast_dev(430,9001 -int ipv6_chk_acast_addr(451,9480 -struct ac6_iter_state ac6_iter_state465,9792 -#define ac6_seq_private(ac6_seq_private470,9870 -static inline struct ifacaddr6 *ac6_get_first(472,9942 -static struct ifacaddr6 *ac6_get_next(495,10438 -static struct ifacaddr6 *ac6_get_idx(519,10969 -static void *ac6_seq_start(528,11187 -static void *ac6_seq_next(534,11314 -static void ac6_seq_stop(542,11461 -static int ac6_seq_show(552,11711 -static struct seq_operations ac6_seq_ops 567,12065 -static int ac6_seq_open(574,12208 -static struct file_operations ac6_seq_fops 597,12590 -int __init ac6_proc_init(605,12765 -void ac6_proc_exit(613,12895 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/xfrm6_policy.c,675 -static struct dst_ops xfrm6_dst_ops;20,363 -static struct xfrm_policy_afinfo xfrm6_policy_afinfo;21,400 -static struct xfrm_type_map xfrm6_type_map 23,455 -static int xfrm6_dst_lookup(25,531 -static int __xfrm6_bundle_ok(38,806 -__xfrm6_find_bundle(55,1228 -__xfrm6_bundle_create(87,2123 -_decode_session6(183,4868 -static inline int xfrm6_garbage_collect(238,6206 -static void xfrm6_update_pmtu(246,6452 -static struct dst_ops xfrm6_dst_ops 256,6654 -static struct xfrm_policy_afinfo xfrm6_policy_afinfo 265,6894 -static void __init xfrm6_policy_init(276,7217 -static void __exit xfrm6_policy_fini(281,7317 -void __init xfrm6_init(286,7419 -void __exit xfrm6_fini(292,7496 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ipcomp6.c,827 -struct ipcomp6_tfms ipcomp6_tfms53,1643 -static void **ipcomp6_scratches;60,1776 -static int ipcomp6_scratch_users;61,1809 -static int ipcomp6_input(64,1881 -static int ipcomp6_output(142,3615 -static void ipcomp6_err(209,5104 -static struct xfrm_state *ipcomp6_tunnel_create(231,5768 -static int ipcomp6_tunnel_attach(265,6520 -static void ipcomp6_free_scratches(291,7014 -static void **ipcomp6_alloc_scratches(312,7317 -static void ipcomp6_free_tfms(336,7716 -static struct crypto_tfm **ipcomp6_alloc_tfms(365,8147 -static void ipcomp6_free_data(412,9050 -static void ipcomp6_destroy(419,9188 -static int ipcomp6_init_state(433,9490 -static struct xfrm_type ipcomp6_type 488,10507 -static struct inet6_protocol ipcomp6_protocol 499,10750 -static int __init ipcomp6_init(506,10890 -static void __exit ipcomp6_fini(520,11271 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ndisc.c,1838 -#define ND_DEBUG 29,774 -#define ND_PRINTK(ND_PRINTK31,794 -#define ND_NOPRINTK(ND_NOPRINTK32,889 -#define ND_PRINTK0 33,933 -#define ND_PRINTK1 34,962 -#define ND_PRINTK2 35,993 -#define ND_PRINTK3 36,1024 -#define ND_PRINTK1 39,1091 -#define ND_PRINTK2 43,1163 -#define ND_PRINTK3 47,1235 -static struct socket *ndisc_socket;88,2068 -static struct neigh_ops ndisc_generic_ops 98,2539 -static struct neigh_ops ndisc_hh_ops 108,2819 -static struct neigh_ops ndisc_direct_ops 119,3093 -struct neigh_table nd_tbl 127,3292 -struct ndisc_options ndisc_options158,4069 -#define nd_opts_src_lladdr 163,4167 -#define nd_opts_tgt_lladdr 164,4230 -#define nd_opts_pi 165,4293 -#define nd_opts_pi_end 166,4346 -#define nd_opts_rh 167,4383 -#define nd_opts_mtu 168,4437 -#define NDISC_OPT_SPACE(NDISC_OPT_SPACE170,4484 -static u8 *ndisc_fill_option(172,4531 -static struct nd_opt_hdr *ndisc_next_option(186,4829 -static struct ndisc_options *ndisc_parse_options(199,5186 -int ndisc_mc_map(249,6562 -static u32 ndisc_hash(272,7052 -static int ndisc_constructor(284,7338 -static int pndisc_constructor(335,8753 -static void pndisc_destructor(348,9073 -static inline void ndisc_flow_init(364,9416 -static void ndisc_send_na(375,9723 -void ndisc_send_ns(474,12311 -void ndisc_send_rs(558,14488 -static void ndisc_error_report(632,16345 -static void ndisc_solicit(644,16596 -static void ndisc_recv_ns(674,17510 -static void ndisc_recv_na(836,21629 -static void ndisc_router_discovery(924,24005 -static void ndisc_redirect_rcv(1133,29001 -void ndisc_send_redirect(1218,31201 -static void pndisc_redo(1358,34384 -int ndisc_rcv(1364,34468 -static int ndisc_netdev_event(1410,35297 -static struct notifier_block ndisc_netdev_notifier 1430,35649 -int ndisc_ifinfo_sysctl_change(1435,35767 -int __init ndisc_init(1449,36189 -void ndisc_cleanup(1487,37057 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/exthdrs.c,1085 -struct tlvtype_proc tlvtype_proc57,1405 -static int ip6_tlvopt_unknown(68,1613 -static int ip6_parse_tlv(94,2242 -static struct tlvtype_proc tlvprocdestopt_lst[150,3319 -static int ipv6_destopt_rcv(155,3435 -static struct inet6_protocol destopt_protocol 179,4017 -void __init ipv6_destopt_init(184,4134 -static int ipv6_nodata_rcv(194,4415 -static struct inet6_protocol nodata_protocol 202,4551 -void __init ipv6_nodata_init(207,4666 -static int ipv6_rthdr_rcv(217,4925 -static struct inet6_protocol rthdr_protocol 339,7824 -void __init ipv6_rthdr_init(344,7937 -ipv6_invert_rthdr(372,8869 -static int ipv6_hop_ra(421,10053 -static int ipv6_hop_jumbo(435,10340 -static struct tlvtype_proc tlvprochopopt_lst[474,11344 -int ipv6_parse_hopopts(486,11529 -static u8 *ipv6_build_rthdr(504,11988 -static u8 *ipv6_build_exthdr(528,12587 -u8 *ipv6_build_nfrag_opts(538,12873 -u8 *ipv6_build_frag_opts(574,13805 -static void ipv6_push_rthdr(581,14010 -static void ipv6_push_exthdr(606,14606 -void ipv6_push_nfrag_opts(615,14863 -void ipv6_push_frag_opts(627,15211 -ipv6_dup_options(634,15404 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/xfrm6_tunnel.c,1925 -# define X6TDEBUG 36,1189 -# define X6TDEBUG 38,1215 -#define X6TPRINTK(X6TPRINTK41,1243 -#define X6TNOPRINTK(X6TNOPRINTK42,1297 -# define X6TPRINTK1 45,1368 -# define X6TPRINTK1 47,1404 -# define X6TPRINTK3 51,1462 -# define X6TPRINTK3 53,1498 -struct xfrm6_tunnel_spi xfrm6_tunnel_spi60,1632 -# define XFRM6_TUNNEL_SPI_MAGIC 72,1862 -static rwlock_t xfrm6_tunnel_spi_lock 75,1913 -static u32 xfrm6_tunnel_spi;77,1972 -#define XFRM6_TUNNEL_SPI_MIN 79,2002 -#define XFRM6_TUNNEL_SPI_MAX 80,2033 -static kmem_cache_t *xfrm6_tunnel_spi_kmem;82,2074 -#define XFRM6_TUNNEL_SPI_BYADDR_HSIZE 84,2119 -#define XFRM6_TUNNEL_SPI_BYSPI_HSIZE 85,2161 -static struct hlist_head xfrm6_tunnel_spi_byaddr[87,2203 -static struct hlist_head xfrm6_tunnel_spi_byspi[88,2284 -static int x6spi_check_magic(91,2394 -static int inline x6spi_check_magic(104,2761 -#define X6SPI_CHECK_MAGIC(X6SPI_CHECK_MAGIC111,2884 -static unsigned inline xfrm6_tunnel_spi_hash_byaddr(114,2960 -static unsigned inline xfrm6_tunnel_spi_hash_byspi(130,3314 -static int xfrm6_tunnel_spi_init(136,3424 -static void xfrm6_tunnel_spi_fini(161,4077 -static struct xfrm6_tunnel_spi *__xfrm6_tunnel_spi_lookup(183,4582 -u32 xfrm6_tunnel_spi_lookup(204,5186 -static u32 __xfrm6_tunnel_alloc_spi(220,5558 -u32 xfrm6_tunnel_alloc_spi(289,7437 -void xfrm6_tunnel_free_spi(312,7951 -static int xfrm6_tunnel_output(346,8882 -static int xfrm6_tunnel_input(356,9084 -static struct xfrm6_tunnel *xfrm6_tunnel_handler;361,9205 -int xfrm6_tunnel_register(364,9296 -int xfrm6_tunnel_deregister(381,9578 -static int xfrm6_tunnel_rcv(400,9885 -static void xfrm6_tunnel_err(415,10303 -static int xfrm6_tunnel_init_state(469,11496 -static void xfrm6_tunnel_destroy(482,11703 -static struct xfrm_type xfrm6_tunnel_type 487,11822 -static struct inet6_protocol xfrm6_tunnel_protocol 497,12096 -static int __init xfrm6_tunnel_init(503,12279 -static void __exit xfrm6_tunnel_fini(528,13008 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ip6_tunnel.c,1527 -#define IPV6_TLV_TEL_DST_SIZE 58,1318 -#define IP6_TNL_TRACE(IP6_TNL_TRACE61,1372 -#define IP6_TNL_TRACE(IP6_TNL_TRACE63,1452 -#define IPV6_TCLASS_MASK 66,1504 -#define HASH_SIZE 68,1574 -#define HASH(HASH70,1597 -static struct net_device *ip6ip6_fb_tnl_dev;79,1979 -static struct ip6_tnl *tnls_r_l[83,2065 -static struct ip6_tnl *tnls_wc[84,2109 -static struct ip6_tnl **tnls[85,2144 -static rwlock_t ip6ip6_lock 88,2234 -static inline struct dst_entry *ip6_tnl_dst_check(90,2283 -static inline void ip6_tnl_dst_reset(103,2534 -static inline void ip6_tnl_dst_store(109,2645 -ip6ip6_tnl_lookup(129,3224 -ip6ip6_bucket(159,3982 -ip6ip6_tnl_link(179,4358 -ip6ip6_tnl_unlink(195,4641 -ip6_tnl_create(222,5109 -ip6ip6_tnl_locate(277,6340 -ip6ip6_tnl_dev_uninit(308,7023 -parse_tlv_tnl_enc_lim(333,7499 -ip6ip6_err(393,8967 -static inline void ip6ip6_ecn_decapsulate(495,11493 -ip6ip6_rcv(512,11857 -static inline struct ipv6_txoptions *create_tel(560,13022 -ip6ip6_tnl_addr_conflict(603,13990 -ip6ip6_tnl_xmit(622,14390 -static void ip6_tnl_set_cap(777,18325 -static void ip6ip6_tnl_link_config(816,19314 -ip6ip6_tnl_change(876,20820 -ip6ip6_tnl_ioctl(917,22210 -ip6ip6_tnl_get_stats(1015,24257 -ip6ip6_tnl_change_mtu(1031,24582 -static void ip6ip6_tnl_dev_setup(1048,24918 -ip6ip6_tnl_dev_init_gen(1072,25598 -ip6ip6_tnl_dev_init(1086,25924 -ip6ip6_fb_tnl_dev_init(1102,26226 -static struct xfrm6_tunnel ip6ip6_handler 1111,26385 -static int __init ip6_tunnel_init(1122,26592 -static void __exit ip6_tunnel_cleanup(1153,27238 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/icmp.c,842 -#define icmpv6_socket 80,2065 -static struct inet6_protocol icmpv6_protocol 84,2188 -static __inline__ int icmpv6_xmit_lock(89,2295 -static __inline__ void icmpv6_xmit_unlock(104,2622 -void icmpv6_param_prob(112,2787 -static int is_ineligible(129,3186 -static int sysctl_icmpv6_time 153,3693 -static inline int icmpv6_xrlim_allow(158,3778 -static __inline__ int opt_unrec(203,4923 -int icmpv6_push_pending_frames(214,5175 -struct icmpv6_msg icmpv6_msg255,6240 -static int icmpv6_getfrag(260,6300 -void icmpv6_send(275,6727 -static void icmpv6_echo_reply(424,10200 -static void icmpv6_notify(502,12045 -static int icmpv6_rcv(560,13573 -int __init icmpv6_init(689,16821 -void icmpv6_cleanup(739,17808 -static struct icmp6_err icmp6_err751,18021 -} tab_unreach[754,18069 -int icmpv6_err_convert(777,18417 -ctl_table ipv6_icmp_table[810,18906 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/raw.c,1540 -struct hlist_head raw_v6_htable[58,1443 -rwlock_t raw_v6_lock 59,1495 -static void raw_v6_hash(61,1537 -static void raw_v6_unhash(72,1798 -struct sock *__raw_v6_lookup(82,2029 -static __inline__ int icmpv6_filter(115,2743 -void ipv6_raw_deliver(139,3306 -static int rawv6_bind(179,4137 -void rawv6_err(252,5850 -static inline int rawv6_rcv_skb(286,6709 -int rawv6_rcv(315,7496 -static int rawv6_recvmsg(365,8797 -static int rawv6_push_pending_frames(454,10915 -static int rawv6_send_hdrinc(504,11870 -static void rawv6_probe_proto_opt(559,13095 -static int rawv6_sendmsg(604,13932 -static int rawv6_seticmpfilter(795,18574 -static int rawv6_geticmpfilter(812,18961 -static int rawv6_setsockopt(838,19487 -static int rawv6_getsockopt(885,20426 -static int rawv6_ioctl(932,21320 -static void rawv6_close(958,21876 -static int rawv6_init_sk(966,22031 -struct proto rawv6_prot 976,22214 -struct raw6_iter_state raw6_iter_state996,22719 -#define raw6_seq_private(raw6_seq_private1000,22761 -static struct sock *raw6_get_first(1002,22835 -static struct sock *raw6_get_next(1017,23207 -static struct sock *raw6_get_idx(1034,23559 -static void *raw6_seq_start(1043,23770 -static void *raw6_seq_next(1049,23926 -static void raw6_seq_stop(1061,24133 -static void raw6_sock_seq_show(1066,24223 -static int raw6_seq_show(1093,25005 -static struct seq_operations raw6_seq_ops 1107,25382 -static int raw6_seq_open(1114,25533 -static struct file_operations raw6_seq_fops 1134,25915 -int __init raw6_proc_init(1142,26090 -void raw6_proc_exit(1149,26217 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/xfrm6_state.c,283 -static struct xfrm_state_afinfo xfrm6_state_afinfo;19,348 -__xfrm6_init_tempsel(22,413 -__xfrm6_state_lookup(50,1409 -__xfrm6_find_acq(68,1881 -static struct xfrm_state_afinfo xfrm6_state_afinfo 119,3483 -void __init xfrm6_state_init(127,3706 -void __exit xfrm6_state_fini(132,3796 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/reassembly.c,1444 -int sysctl_ip6frag_high_thresh 57,1492 -int sysctl_ip6frag_low_thresh 58,1535 -int sysctl_ip6frag_time 60,1578 -struct ip6frag_skb_cbip6frag_skb_cb62,1624 -#define FRAG6_CB(FRAG6_CB68,1693 -struct frag_queuefrag_queue75,1796 -#define COMPLETE 94,2229 -#define FIRST_IN 95,2249 -#define LAST_IN 96,2269 -#define IP6Q_HASHSZ 103,2359 -static struct frag_queue *ip6_frag_hash[105,2383 -static rwlock_t ip6_frag_lock 106,2437 -static u32 ip6_frag_hash_rnd;107,2487 -int ip6_frag_nqueues 109,2554 -static __inline__ void __fq_unlink(111,2581 -static __inline__ void fq_unlink(120,2760 -static unsigned int ip6qhashfn(127,2899 -static struct timer_list ip6_frag_secret_timer;154,3420 -int sysctl_ip6frag_secret_interval 155,3468 -static void ip6_frag_secret_rebuild(157,3520 -atomic_t ip6_frag_mem 195,4359 -static inline void frag_kfree_skb(198,4433 -static inline void frag_free_queue(206,4601 -static inline struct frag_queue *frag_alloc_queue(214,4791 -static void ip6_frag_destroy(227,5082 -static __inline__ void fq_put(246,5419 -static __inline__ void fq_kill(255,5672 -static void ip6_evictor(267,5895 -static void ip6_frag_expire(298,6526 -static struct frag_queue *ip6_frag_intern(336,7359 -ip6_frag_create(374,8301 -fq_find(401,8889 -static void ip6_frag_queue(422,9369 -static int ip6_frag_reasm(595,13749 -static int ipv6_frag_rcv(693,16734 -static struct inet6_protocol frag_protocol 753,18191 -void __init ipv6_frag_init(759,18302 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ip6_fib.c,2057 -#define RT6_DEBUG 42,989 -#define RT6_TRACE(RT6_TRACE45,1029 -#define RT6_TRACE(RT6_TRACE47,1080 -struct rt6_statistics rt6_stats;50,1131 -static kmem_cache_t * fib6_node_kmem;52,1165 -enum fib_walk_state_tfib_walk_state_t54,1204 - FWS_S,57,1256 - FWS_L,59,1271 - FWS_R,60,1279 - FWS_C,61,1287 - FWS_U62,1295 -struct fib6_cleaner_tfib6_cleaner_t65,1306 -rwlock_t fib6_walker_lock 72,1415 -#define FWS_INIT 76,1491 -#define SUBTREE(SUBTREE77,1514 -#define FWS_INIT 79,1556 -#define SUBTREE(SUBTREE80,1579 -static __u32 rt_sernum;93,2015 -static struct timer_list ip6_fib_timer 95,2040 -struct fib6_walker_t fib6_walker_list 97,2120 -#define FOR_WALKERS(FOR_WALKERS102,2223 -static __inline__ u32 fib6_new_sernum(104,2320 -static __inline__ int addr_match(123,2646 -static __inline__ int addr_bit_set(153,3134 -static __inline__ int addr_diff(165,3390 -static __inline__ struct fib6_node * node_alloc(210,4210 -static __inline__ void node_free(220,4416 -static __inline__ void rt6_release(225,4515 -static struct fib6_node * fib6_add_1(240,4809 -static int fib6_add_rt2node(426,7950 -static __inline__ void fib6_start_gc(493,9290 -void fib6_force_start_gc(500,9496 -int fib6_add(512,9754 -struct lookup_args lookup_args615,11830 -static struct fib6_node * fib6_lookup_1(620,11943 -struct fib6_node * fib6_lookup(680,12851 -static struct fib6_node * fib6_locate_1(708,13422 -struct fib6_node * fib6_locate(738,13966 -static struct rt6_info * fib6_find_prefix(770,14536 -static struct fib6_node * fib6_repair_tree(792,14915 -static void fib6_del_route(891,17226 -int fib6_del(952,18802 -int fib6_walk_continue(1008,20218 -int fib6_walk(1082,21520 -static int fib6_clean_node(1096,21723 -void fib6_clean_tree(1132,22508 -static int fib6_prune_clone(1147,22780 -static void fib6_prune_clones(1157,22947 -static struct fib6_gc_argsfib6_gc_args1166,23102 -} gc_args;1170,23160 -static int fib6_age(1172,23172 -static spinlock_t fib6_gc_lock 1208,24075 -void fib6_run_gc(1210,24129 -void __init fib6_init(1241,24795 -void __exit fib6_gc_cleanup(1251,25029 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ipv6/ip6_output.c,682 -static __inline__ void ipv6_select_ident(61,1599 -static inline int ip6_output_finish(73,1960 -static int ip6_dev_loopback_xmit(98,2531 -static int ip6_output2(111,2814 -int ip6_output(149,3820 -int ip6_route_me_harder(160,4030 -static inline int ip6_maybe_reroute(191,4632 -int ip6_xmit(208,4931 -int ip6_nd_hdr(289,7067 -int ip6_call_ra_chain(317,7699 -static inline int ip6_forward_finish(344,8199 -int ip6_forward(349,8287 -static void ip6_copy_metadata(463,11223 -int ip6_find_1stfragopt(492,11951 -static int ip6_fragment(521,12668 -int ip6_dst_lookup(743,17739 -int ip6_append_data(810,19456 -int ip6_push_pending_frames(1088,26669 -void ip6_flush_pending_frames(1169,28988 - -/export0/mef/linux-2.6.9-1.11_FC2/net/8021q/vlan.h,303 -#define __BEN_VLAN_802_1Q_INC__2,32 -#define VLAN_ERR 9,179 -#define VLAN_INF 10,205 -#define VLAN_DBG 11,232 -#define VLAN_MEM_DBG(VLAN_MEM_DBG27,812 -#define VLAN_FMEM_DBG(VLAN_FMEM_DBG28,843 -#define VLAN_GRP_HASH_SHIFT 33,912 -#define VLAN_GRP_HASH_SIZE 34,942 -#define VLAN_GRP_HASH_MASK 35,996 - -/export0/mef/linux-2.6.9-1.11_FC2/net/8021q/vlan_dev.c,875 -int vlan_dev_rebuild_header(50,1665 -static inline struct sk_buff *vlan_check_reorder_header(74,2244 -int vlan_skb_recv(115,3753 -static inline unsigned short vlan_dev_get_egress_qos_mask(303,8563 -int vlan_dev_hard_header(329,9273 -int vlan_dev_hard_start_xmit(436,12727 -int vlan_dev_hwaccel_hard_start_xmit(496,14622 -int vlan_dev_change_mtu(520,15229 -int vlan_dev_set_ingress_priority(533,15512 -int vlan_dev_set_egress_priority(550,15897 -int vlan_dev_set_vlan_flag(590,17017 -int vlan_dev_set_mac_address(625,17822 -static inline int vlan_dmi_equals(663,18963 -static int vlan_should_add_mc(673,19337 -static inline void vlan_destroy_mc_list(691,19659 -static void vlan_copy_mc_list(703,19862 -static void vlan_flush_mc_list(725,20490 -int vlan_dev_open(747,21121 -int vlan_dev_stop(755,21254 -int vlan_dev_ioctl(761,21338 -void vlan_dev_set_multicast_list(789,21970 - -/export0/mef/linux-2.6.9-1.11_FC2/net/8021q/vlanproc.c,811 -static const char name_root[58,2083 -static const char name_conf[59,2124 -static struct seq_operations vlan_seq_ops 73,2454 -static int vlan_seq_open(80,2602 -static struct file_operations vlan_fops 85,2711 -static int vlandev_seq_open(97,2941 -static struct file_operations vlandev_fops 102,3077 -static struct proc_dir_entry *proc_vlan_dir;118,3327 -static struct proc_dir_entry *proc_vlan_conf;124,3407 -static const char *vlan_name_type_str[127,3468 -void vlan_proc_cleanup(141,3897 -int __init vlan_proc_init(158,4234 -int vlan_proc_add_dev 178,4625 -int vlan_proc_rem_dev(208,5320 -struct net_device *vlan_skip(242,6237 -static void *vlan_seq_start(251,6426 -static void *vlan_seq_next(267,6738 -static void vlan_seq_stop(276,6928 -static int vlan_seq_show(281,7020 -static int vlandev_seq_show(303,7614 - -/export0/mef/linux-2.6.9-1.11_FC2/net/8021q/vlan.c,1023 -#define DRV_VERSION 38,1218 -struct hlist_head vlan_group_hash[43,1309 -#define vlan_grp_hashfn(vlan_grp_hashfn44,1364 -static char vlan_fullname[46,1458 -static char vlan_version[47,1511 -static char vlan_copyright[48,1553 -static char vlan_buggyright[49,1624 -struct notifier_block vlan_notifier_block 55,1890 -unsigned short vlan_name_type 62,2074 -unsigned short vlan_default_dev_flags 65,2182 -static struct packet_type vlan_packet_type 67,2226 -#define VLAN_LINK_STATE_MASK 73,2442 -static int __init vlan_proto_init(84,2661 -static void __exit vlan_cleanup_devices(116,3411 -static void __exit vlan_cleanup_module(137,3863 -static struct vlan_group *__vlan_find_group(164,4450 -struct net_device *__find_vlan_dev(182,4885 -static void vlan_rcu_free(193,5118 -static int unregister_vlan_dev(205,5401 -static int unregister_vlan_device(276,6928 -static void vlan_setup(316,7735 -static struct net_device *register_vlan_device(348,8689 -static int vlan_device_event(556,14519 -static int vlan_ioctl_handler(647,16500 - -/export0/mef/linux-2.6.9-1.11_FC2/net/8021q/vlanproc.h,237 -#define __BEN_VLAN_PROC_INC__2,30 -#define vlan_proc_init(vlan_proc_init12,275 -#define vlan_proc_cleanup(vlan_proc_cleanup13,304 -#define vlan_proc_add_dev(vlan_proc_add_dev14,347 -#define vlan_proc_rem_dev(vlan_proc_rem_dev15,395 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ethernet/eth.c,198 -int eth_header(76,2516 -int eth_rebuild_header(129,3719 -unsigned short eth_type_trans(159,4397 -int eth_header_parse(211,5581 -int eth_header_cache(218,5745 -void eth_header_cache_update(241,6286 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ethernet/pe2.c,110 -static int pEII_request(9,153 -struct datalink_proto *make_EII_client(21,456 -void destroy_EII_client(33,670 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ethernet/sysctl_net_ether.c,30 -ctl_table ether_table[11,243 - -/export0/mef/linux-2.6.9-1.11_FC2/net/xfrm/xfrm_input.c,176 -static kmem_cache_t *secpath_cachep;14,174 -void __secpath_destroy(16,212 -struct sec_path *secpath_dup(24,371 -int xfrm_parse_spi(46,751 -void __init xfrm_input_init(77,1457 - -/export0/mef/linux-2.6.9-1.11_FC2/net/xfrm/xfrm_algo.c,961 -static struct xfrm_algo_desc aalg_list[31,1066 -static struct xfrm_algo_desc ealg_list[119,2289 -static struct xfrm_algo_desc calg_list[258,4500 -static inline int aalg_entries(288,4910 -static inline int ealg_entries(293,4983 -static inline int calg_entries(298,5056 -struct xfrm_algo_desc *xfrm_aalg_get_byid(304,5159 -struct xfrm_algo_desc *xfrm_ealg_get_byid(319,5413 -struct xfrm_algo_desc *xfrm_calg_get_byid(334,5667 -struct xfrm_algo_desc *xfrm_aalg_get_byname(349,5921 -struct xfrm_algo_desc *xfrm_ealg_get_byname(367,6200 -struct xfrm_algo_desc *xfrm_calg_get_byname(385,6479 -struct xfrm_algo_desc *xfrm_aalg_get_byidx(403,6758 -struct xfrm_algo_desc *xfrm_ealg_get_byidx(411,6893 -struct xfrm_algo_desc *xfrm_calg_get_byidx(419,7028 -void xfrm_probe_algs(432,7375 -int xfrm_count_auth_supported(459,8003 -int xfrm_count_enc_supported(469,8150 -void skb_icv_walk(481,8346 -skb_to_sgvec(558,9971 -int skb_cow_data(632,11692 -void *pskb_put(725,13990 - -/export0/mef/linux-2.6.9-1.11_FC2/net/xfrm/xfrm_export.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/net/xfrm/xfrm_state.c,1976 -static spinlock_t xfrm_state_lock 29,644 -static struct list_head xfrm_state_bydst[37,993 -static struct list_head xfrm_state_byspi[38,1051 -static rwlock_t xfrm_state_afinfo_lock 42,1146 -static struct xfrm_state_afinfo *xfrm_state_afinfo[43,1205 -static struct work_struct xfrm_state_gc_work;45,1266 -static struct list_head xfrm_state_gc_list 46,1312 -static spinlock_t xfrm_state_gc_lock 47,1393 -static void xfrm_state_gc_destroy(54,1658 -static void xfrm_state_gc_task(73,1967 -static inline unsigned long make_jiffies(90,2396 -static void xfrm_timer_handler(98,2559 -struct xfrm_state *xfrm_state_alloc(169,4117 -void __xfrm_state_destroy(194,4772 -static void __xfrm_state_delete(204,5023 -void xfrm_state_delete(235,5858 -void xfrm_state_flush(242,5985 -xfrm_init_tempsel(269,6527 -xfrm_state_find(283,6902 -static void __xfrm_state_insert(368,9405 -void xfrm_state_insert(386,9815 -int xfrm_state_add(395,10017 -int xfrm_state_update(445,10924 -int xfrm_state_check_expire(509,12078 -static int xfrm_state_check_space(532,12667 -int xfrm_state_check(544,12948 -xfrm_state_lookup(555,13159 -xfrm_find_acq(571,13548 -static struct xfrm_state *__xfrm_find_acq_byseq(589,14049 -struct xfrm_state *xfrm_find_acq_byseq(605,14328 -u32 xfrm_get_acqseq(615,14518 -xfrm_alloc_spi(628,14743 -int xfrm_state_walk(667,15641 -int xfrm_replay_check(702,16343 -void xfrm_replay_advance(727,16735 -static struct list_head xfrm_km_list 746,17113 -static rwlock_t xfrm_km_lock 747,17182 -void km_state_expired(749,17233 -int km_query(767,17547 -int km_new_mapping(782,17867 -void km_policy_expired(798,18200 -int xfrm_user_policy(812,18494 -int xfrm_register_km(851,19211 -int xfrm_unregister_km(859,19375 -int xfrm_state_register_afinfo(867,19521 -int xfrm_state_unregister_afinfo(886,20027 -static struct xfrm_state_afinfo *xfrm_state_get_afinfo(907,20578 -static void xfrm_state_put_afinfo(920,20930 -void xfrm_state_delete_tunnel(928,21144 -void __init xfrm_state_init(941,21399 - -/export0/mef/linux-2.6.9-1.11_FC2/net/xfrm/xfrm_policy.c,2590 -static rwlock_t xfrm_policy_lock 29,599 -struct xfrm_policy *xfrm_policy_list[31,653 -static rwlock_t xfrm_policy_afinfo_lock 33,711 -static struct xfrm_policy_afinfo *xfrm_policy_afinfo[34,771 -kmem_cache_t *xfrm_dst_cache;36,834 -static struct work_struct xfrm_policy_gc_work;38,865 -static struct list_head xfrm_policy_gc_list 39,912 -static spinlock_t xfrm_policy_gc_lock 41,996 -int xfrm_register_type(46,1210 -int xfrm_unregister_type(66,1699 -struct xfrm_type *xfrm_get_type(86,2192 -int xfrm_dst_lookup(116,2898 -void xfrm_put_type(133,3281 -static inline unsigned long make_jiffies(138,3355 -static void xfrm_policy_timer(146,3518 -struct xfrm_policy *xfrm_policy_alloc(221,5082 -void __xfrm_policy_destroy(240,5573 -static void xfrm_policy_gc_kill(254,5753 -static void xfrm_policy_gc_task(272,6087 -static void xfrm_policy_kill(292,6648 -static u32 xfrm_gen_index(311,7137 -int xfrm_policy_insert(331,7451 -struct xfrm_policy *xfrm_policy_bysel(377,8574 -struct xfrm_policy *xfrm_policy_byid(400,9075 -void xfrm_policy_flush(422,9519 -int xfrm_policy_walk(442,9936 -static void xfrm_policy_lookup(477,10605 -struct xfrm_policy *xfrm_sk_policy_lookup(501,11150 -static void __xfrm_policy_link(518,11531 -static struct xfrm_policy *__xfrm_policy_unlink(525,11688 -void xfrm_policy_delete(540,11973 -int xfrm_sk_policy_insert(552,12250 -static struct xfrm_policy *clone_policy(574,12790 -int __xfrm_sk_clone_policy(596,13400 -xfrm_tmpl_resolve(612,13810 -xfrm_find_bundle(662,14879 -xfrm_bundle_create(678,15330 -static inline int policy_to_flow_dir(691,15726 -int xfrm_lookup(715,16291 -xfrm_state_ok(856,19493 -xfrm_policy_ok(870,19977 -_decode_session(890,20359 -static inline int secpath_has_tunnel(902,20646 -int __xfrm_policy_check(912,20805 -int __xfrm_route_forward(985,22481 -static struct dst_entry *xfrm_dst_check(997,22738 -static int stale_bundle(1006,22891 -static void xfrm_dst_destroy(1022,23198 -static void xfrm_link_failure(1030,23329 -static struct dst_entry *xfrm_negative_advice(1036,23470 -static void xfrm_prune_bundles(1047,23635 -static int unused_bundle(1079,24295 -static void __xfrm_garbage_collect(1084,24386 -int xfrm_flush_bundles(1089,24468 -static int xfrm_get_mss(1104,24921 -int xfrm_policy_register_afinfo(1135,25509 -int xfrm_policy_unregister_afinfo(1167,26589 -static struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(1194,27349 -static void xfrm_policy_put_afinfo(1207,27707 -static int xfrm_dev_event(1214,27852 -struct notifier_block xfrm_dev_notifier 1223,28029 -void __init xfrm_policy_init(1229,28104 -void __init xfrm_init(1242,28471 - -/export0/mef/linux-2.6.9-1.11_FC2/net/xfrm/xfrm_user.c,2049 -static struct sock *xfrm_nl;31,693 -static int verify_one_alg(33,723 -static int verify_encap_tmpl(70,1421 -static int verify_newsa_info(84,1660 -static int attach_one_algo(158,2843 -static int attach_encap_tmpl(185,3396 -static void copy_from_user_state(203,3724 -static struct xfrm_state *xfrm_state_construct(216,4122 -static int xfrm_add_sa(266,5254 -static int xfrm_del_sa(295,5798 -static void copy_to_user_state(315,6174 -struct xfrm_dump_info xfrm_dump_info331,6692 -static int dump_one_state(339,6818 -static int xfrm_dump_sa(382,7805 -static struct sk_buff *xfrm_state_netlink(397,8162 -static int xfrm_get_sa(421,8650 -static int verify_userspi_info(445,9209 -static int xfrm_alloc_userspi(468,9540 -static int verify_policy_dir(527,10705 -static int verify_newpolicy_info(542,10887 -static void copy_templates(582,11471 -static int copy_from_user_tmpl(604,11971 -static void copy_from_user_policy(623,12336 -static void copy_to_user_policy(635,12693 -static struct xfrm_policy *xfrm_policy_construct(649,13133 -static int xfrm_add_policy(670,13510 -static int copy_to_user_tmpl(697,14010 -static int dump_one_policy(730,14734 -static int xfrm_dump_policy(762,15430 -static struct sk_buff *xfrm_policy_netlink(777,15776 -static int xfrm_get_policy(802,16294 -static int xfrm_flush_sa(841,17073 -static int xfrm_flush_policy(849,17249 -static const int xfrm_msg_min[855,17373 -static struct xfrm_link xfrm_link872,18319 -} xfrm_dispatch[875,18464 -static int xfrm_done(898,18895 -static int xfrm_user_rcv_msg(903,18961 -static int xfrm_user_rcv_skb(980,20549 -static void xfrm_netlink_rcv(1007,21114 -static int build_expire(1031,21550 -static int xfrm_send_state_notify(1053,22006 -static int build_acquire(1069,22371 -static int xfrm_send_acquire(1103,23200 -struct xfrm_policy *xfrm_compile_policy(1126,23812 -static int build_polexpire(1178,24803 -static int xfrm_send_policy_notify(1202,25338 -static struct xfrm_mgr netlink_mgr 1221,25824 -static int __init xfrm_user_init(1229,26036 -static void __exit xfrm_user_exit(1243,26330 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_timer.c,630 -void ax25_start_heartbeat(43,1444 -void ax25_start_t1timer(54,1679 -void ax25_start_t2timer(65,1922 -void ax25_start_t3timer(76,2165 -void ax25_start_idletimer(89,2436 -void ax25_stop_heartbeat(102,2725 -void ax25_stop_t1timer(107,2796 -void ax25_stop_t2timer(112,2867 -void ax25_stop_t3timer(117,2938 -void ax25_stop_idletimer(122,3009 -int ax25_t1timer_running(127,3084 -unsigned long ax25_display_timer(132,3168 -static void ax25_heartbeat_expiry(140,3307 -static void ax25_t1timer_expiry(165,3830 -static void ax25_t2timer_expiry(184,4230 -static void ax25_t3timer_expiry(203,4630 -static void ax25_idletimer_expiry(224,5069 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_ds_timer.c,292 -static void ax25_ds_add_timer(43,1257 -void ax25_ds_del_timer(52,1479 -void ax25_ds_set_timer(58,1584 -static void ax25_ds_timeout(73,1938 -void ax25_ds_heartbeat_expiry(100,2605 -void ax25_ds_t3timer_expiry(152,3715 -void ax25_ds_idletimer_expiry(163,4011 -void ax25_ds_t1_timeout(195,4906 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/sysctl_net_ax25.c,1156 -static int min_ipdefmode[15,448 -static int min_ipdefmode[1], max_ipdefmode[15,448 -static int min_axdefmode[16,504 -static int min_axdefmode[1], max_axdefmode[16,504 -static int min_backoff[17,567 -static int min_backoff[1], max_backoff[17,567 -static int min_conmode[18,616 -static int min_conmode[1], max_conmode[18,616 -static int min_window[19,665 -static int min_ewindow[20,717 -static int min_t1[21,772 -static int min_t2[22,822 -static int min_t3[23,872 -static int min_t3[1], max_t3[23,872 -static int min_idle[24,922 -static int min_idle[1], max_idle[24,922 -static int min_n2[25,976 -static int min_paclen[26,1021 -static int min_proto[27,1075 -static int min_proto[1], max_proto[27,1075 -static int min_ds_timeout[28,1120 -static int min_ds_timeout[1], max_ds_timeout[28,1120 -static struct ctl_table_header *ax25_table_header;30,1187 -static ctl_table *ax25_table;32,1239 -static int ax25_table_size;33,1269 -static ctl_table ax25_dir_table[35,1298 -static ctl_table ax25_root_table[44,1429 -static const ctl_table ax25_param_table[54,1586 -void ax25_register_sysctl(198,5039 -void ax25_unregister_sysctl(253,6532 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_subr.c,315 -void ax25_clear_queues(37,1076 -void ax25_frames_acked(50,1433 -void ax25_requeue_frames(66,1787 -int ax25_validate_nr(88,2355 -int ax25_decode(106,2701 -void ax25_send_control(156,4228 -void ax25_return_dm(196,5268 -void ax25_calculate_t1(231,5981 -void ax25_calculate_rtt(256,6288 -void ax25_disconnect(271,6635 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_in.c,168 -static int ax25_rx_fragment(42,1293 -int ax25_rx_iframe(105,2831 -static int ax25_process_rx_frame(165,4206 -static int ax25_rcv(191,4777 -int ax25_kiss_rcv(454,10727 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_ds_in.c,162 -static int ax25_ds_state1_machine(38,1126 -static int ax25_ds_state2_machine(106,2767 -static int ax25_ds_state3_machine(151,3653 -int ax25_ds_frame_in(285,6812 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_std_subr.c,203 -void ax25_std_nr_error_recovery(35,972 -void ax25_std_establish_data_link(40,1061 -void ax25_std_transmit_enquiry(57,1470 -void ax25_std_enquiry_response(70,1799 -void ax25_std_timeout_response(80,2076 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_route.c,875 -static ax25_route *ax25_route_list;39,1232 -static rwlock_t ax25_route_lock 40,1268 -static inline void ax25_route_invert(47,1468 -void ax25_rt_device_down(60,1663 -static int ax25_rt_add(92,2299 -static void ax25_rt_destroy(161,4195 -static int ax25_rt_del(181,4670 -static int ax25_rt_opt(216,5403 -int ax25_rt_ioctl(257,6190 -static void *ax25_rt_seq_start(285,6762 -static void *ax25_rt_seq_next(303,7088 -static void ax25_rt_seq_stop(310,7263 -static int ax25_rt_seq_show(315,7360 -static struct seq_operations ax25_rt_seqops 354,8176 -static int ax25_rt_info_open(361,8338 -struct file_operations ax25_route_fops 366,8453 -static ax25_route *ax25_get_route(381,8717 -static inline void ax25_adjust_path(423,9947 -int ax25_rt_autobind(439,10202 -ax25_route *ax25_rt_find_route(484,11144 -struct sk_buff *ax25_rt_build_path(502,11500 -void __exit ax25_rt_free(535,12153 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_ds_subr.c,322 -void ax25_ds_nr_error_recovery(32,910 -void ax25_ds_enquiry_response(40,1053 -void ax25_ds_establish_data_link(112,2981 -static void ax25_kiss_cmd(129,3453 -static int ax25_check_dama_slave(160,4210 -void ax25_dev_dama_on(177,4579 -void ax25_dev_dama_off(189,4783 -void ax25_dama_on(201,5025 -void ax25_dama_off(207,5139 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_std_in.c,212 -static int ax25_std_state1_machine(45,1561 -static int ax25_std_state2_machine(109,3155 -static int ax25_std_state3_machine(147,3926 -static int ax25_std_state4_machine(272,7074 -int ax25_std_frame_in(425,10767 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_dev.c,278 -ax25_dev *ax25_dev_list;34,930 -spinlock_t ax25_dev_lock 35,955 -ax25_dev *ax25_addr_ax25dev(37,1003 -void ax25_dev_device_up(55,1430 -void ax25_dev_device_down(100,2930 -int ax25_fwd_ioctl(149,3855 -struct net_device *ax25_fwd_dev(178,4409 -void __exit ax25_dev_free(194,4691 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_out.c,273 -static spinlock_t ax25_frag_lock 35,1025 -ax25_cb *ax25_send_frame(37,1081 -void ax25_output(113,2827 -static void ax25_send_iframe(200,4980 -void ax25_kick(230,5570 -void ax25_transmit_buffer(312,7324 -void ax25_queue_xmit(352,8194 -int ax25_check_iframes_acked(365,8417 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_std_timer.c,195 -void ax25_std_heartbeat_expiry(34,1020 -void ax25_std_t2timer_expiry(82,2070 -void ax25_std_t3timer_expiry(90,2250 -void ax25_std_idletimer_expiry(97,2384 -void ax25_std_t1timer_expiry(123,3000 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/af_ax25.c,1690 -spinlock_t ax25_list_lock 55,1675 -static struct proto_ops ax25_proto_ops;57,1724 -static void ax25_free_sock(59,1765 -static void ax25_cb_del(67,1899 -static void ax25_kill_by_device(80,2167 -static int ax25_device_event(102,2592 -void ax25_cb_add(130,3105 -struct sock *ax25_find_listener(142,3356 -struct sock *ax25_get_socket(170,4040 -ax25_cb *ax25_find_cb(198,4711 -void ax25_send_to_raw(231,5520 -static void ax25_destroy_timer(261,6246 -void ax25_destroy_socket(281,6739 -static int ax25_ctl_ioctl(339,8102 -void ax25_fillin_cb(433,10247 -ax25_cb *ax25_create_cb(477,11552 -static int ax25_setsockopt(510,12234 -static int ax25_getsockopt(650,14442 -static int ax25_listen(747,16030 -int ax25_create(766,16369 -struct sock *ax25_make_new(837,17645 -static int ax25_release(910,19266 -static int ax25_bind(996,21175 -static int ax25_connect(1073,22965 -static int ax25_accept(1285,28115 -static int ax25_getname(1356,29530 -static int ax25_sendmsg(1404,30657 -static int ax25_recvmsg(1593,34945 -static int ax25_shutdown(1663,36665 -static int ax25_ioctl(1669,36786 -static void *ax25_info_start(1840,40647 -static void *ax25_info_next(1855,40908 -static void ax25_info_stop(1863,41091 -static int ax25_info_show(1868,41188 -static struct seq_operations ax25_info_seqops 1918,42687 -static int ax25_info_open(1925,42843 -static struct file_operations ax25_info_fops 1930,42957 -static struct net_proto_family ax25_family_ops 1940,43132 -static struct proto_ops ax25_proto_ops 1946,43254 -static struct packet_type ax25_packet_type 1970,43820 -static struct notifier_block ax25_dev_notifier 1976,43969 -static int __init ax25_init(1998,44620 -static void __exit ax25_exit(2019,45212 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_addr.c,271 -ax25_address null_ax25_address 34,917 -char *ax2asc(39,1032 -ax25_address *asc2ax(71,1440 -int ax25cmp(107,2020 -int ax25digicmp(126,2407 -unsigned char *ax25_addr_parse(147,2800 -int ax25_addr_build(202,3890 -int ax25_addr_size(259,4975 -void ax25_digi_invert(270,5178 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_uid.c,520 -static ax25_uid_assoc *ax25_uid_list;44,1179 -static rwlock_t ax25_uid_lock 45,1217 -int ax25_uid_policy 47,1268 -ax25_address *ax25_findbyuid(49,1294 -int ax25_uid_ioctl(66,1619 -static void *ax25_uid_seq_start(147,3333 -static void *ax25_uid_seq_next(164,3627 -static void ax25_uid_seq_stop(171,3805 -static int ax25_uid_seq_show(176,3901 -static struct seq_operations ax25_uid_seqops 189,4163 -static int ax25_uid_info_open(196,4330 -struct file_operations ax25_uid_fops 201,4447 -void __exit ax25_uid_free(214,4685 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_iface.c,720 -static struct protocol_struct protocol_struct32,880 -} *protocol_list 36,1005 -static rwlock_t protocol_list_lock 37,1030 -static struct linkfail_struct linkfail_struct39,1086 -} *linkfail_list 42,1180 -static spinlock_t linkfail_lock 43,1205 -static struct listen_struct listen_struct45,1260 -} *listen_list 49,1369 -static spinlock_t listen_lock 50,1392 -int ax25_protocol_register(52,1445 -void ax25_protocol_release(77,1988 -int ax25_linkfail_register(109,2638 -void ax25_linkfail_release(126,2977 -int ax25_listen_register(158,3628 -void ax25_listen_release(179,4046 -int (*ax25_protocol_function(211,4761 -int ax25_listen_mine(227,5156 -void ax25_link_failed(242,5548 -int ax25_protocol_is_registered(252,5813 - -/export0/mef/linux-2.6.9-1.11_FC2/net/ax25/ax25_ip.c,129 -int ax25_encapsulate(50,1230 -int ax25_rebuild_header(102,2451 -int ax25_encapsulate(214,4968 -int ax25_rebuild_header(219,5126 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netlink/af_netlink.c,3243 -#define Nprintk(Nprintk56,1554 -#define NL_EMULATE_DEV59,1647 -struct netlink_optnetlink_opt62,1678 -#define nlk_sk(nlk_sk76,1982 -struct nl_pid_hash nl_pid_hash78,2048 -struct netlink_table netlink_table91,2230 -static struct netlink_table *nl_table;96,2311 -static unsigned int nl_nonroot[99,2398 -static struct socket *netlink_kernel[102,2464 -static rwlock_t nl_table_lock 108,2631 -static atomic_t nl_table_users 109,2681 -static struct notifier_block *netlink_chain;111,2731 -static struct hlist_head *nl_pid_hashfn(113,2777 -static void netlink_sock_destruct(118,2921 -static void netlink_table_grab(139,3555 -static __inline__ void netlink_table_ungrab(161,4038 -netlink_lock_table(168,4176 -netlink_unlock_table(178,4375 -static __inline__ struct sock *netlink_lookup(184,4477 -static inline struct hlist_head *nl_pid_hash_alloc(205,4902 -static inline void nl_pid_hash_free(214,5118 -static int nl_pid_hash_rehash(222,5297 -static inline int nl_pid_hash_dilute(264,6171 -static struct proto_ops netlink_ops;279,6486 -static int netlink_insert(281,6524 -static void netlink_remove(321,7265 -static int netlink_create(331,7479 -static int netlink_release(368,8232 -static int netlink_autobind(409,9000 -static inline int netlink_capable(443,9718 -static int netlink_bind(449,9886 -static int netlink_connect(488,10828 -static int netlink_getname(521,11586 -static void netlink_overrun(541,12071 -struct sock *netlink_getsockbypid(549,12224 -struct sock *netlink_getsockbyfilp(570,12748 -int netlink_attachskb(597,13523 -int netlink_sendskb(641,14465 -void netlink_detachskb(662,14851 -static inline void netlink_trim(668,14949 -int netlink_unicast(685,15366 -static __inline__ int netlink_broadcast_deliver(709,15831 -struct netlink_broadcast_data netlink_broadcast_data730,16394 -static inline int do_one_broadcast(741,16570 -int netlink_broadcast(784,17385 -struct netlink_set_err_data netlink_set_err_data826,18230 -static inline int do_one_set_err(833,18323 -void netlink_set_err(850,18626 -static inline void netlink_rcv_wake(869,19017 -static int netlink_sendmsg(879,19257 -static int netlink_recvmsg(961,21126 -static void netlink_data_ready(1020,22428 -netlink_kernel_create(1036,22760 -void netlink_set_nonroot(1066,23300 -static void netlink_destroy_callback(1072,23440 -static int netlink_dump(1084,23638 -int netlink_dump_start(1129,24567 -void netlink_ack(1170,25464 -static rwlock_t nl_emu_lock 1207,26327 -int netlink_attach(1213,26413 -void netlink_detach(1225,26725 -int netlink_post(1237,26927 -struct nl_seq_iter nl_seq_iter1261,27345 -static struct sock *netlink_seq_socket_idx(1266,27396 -static void *netlink_seq_start(1291,27879 -static void *netlink_seq_next(1297,28050 -static void netlink_seq_stop(1334,28622 -static int netlink_seq_show(1340,28718 -static struct seq_operations netlink_seq_ops 1365,29242 -static int netlink_seq_open(1373,29413 -static struct file_operations netlink_seq_fops 1395,29801 -int netlink_register_notifier(1405,29992 -int netlink_unregister_notifier(1410,30107 -static struct proto_ops netlink_ops 1415,30242 -static struct net_proto_family netlink_family_ops 1436,30796 -static int __init netlink_proto_init(1444,31000 -static void __exit netlink_proto_exit(1499,32415 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netlink/netlink_dev.c,507 -static long open_map;36,1008 -static struct socket *netlink_user[37,1030 -static struct class_simple *netlink_class;38,1077 -static unsigned int netlink_poll(44,1151 -static ssize_t netlink_write(57,1452 -static ssize_t netlink_read(81,1997 -static int netlink_open(103,2523 -static int netlink_release(135,3185 -static int netlink_ioctl(148,3440 -static struct file_operations netlink_fops 164,3721 -} entries[178,4009 -static int __init init_netlink(225,4620 -static void __exit cleanup_netlink(259,5654 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_in.c,187 -static int nr_queue_rx_frame(34,962 -static int nr_state1_machine(74,1889 -static int nr_state2_machine(116,2773 -static int nr_state3_machine(145,3312 -int nr_process_rx_frame(274,6437 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_loopback.c,289 -static struct sk_buff_head loopback_queue;19,533 -static struct timer_list loopback_timer 20,576 -void __init nr_loopback_init(22,663 -static inline int nr_loopback_running(27,742 -int nr_loopback_queue(32,831 -static void nr_loopback_timer(50,1194 -void __exit nr_loopback_clear(72,1672 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_route.c,1599 -static unsigned int nr_neigh_no 41,1187 -static spinlock_t nr_node_list_lock 44,1258 -static spinlock_t nr_neigh_list_lock 46,1350 -struct nr_node *nr_node_get(48,1410 -struct nr_neigh *nr_neigh_get_dev(65,1798 -static int nr_add_node(89,2411 -static inline void __nr_remove_node(313,8100 -#define nr_remove_node_locked(nr_remove_node_locked319,8227 -static void nr_remove_node(322,8294 -static inline void __nr_remove_neigh(329,8451 -#define nr_remove_neigh_locked(nr_remove_neigh_locked335,8585 -static void nr_remove_neigh(338,8656 -static int nr_del_node(349,8948 -static int nr_add_neigh(407,10051 -static int nr_del_neigh(453,11272 -static int nr_dec_obs(476,11812 -void nr_rt_device_down(531,12802 -static struct net_device *nr_ax25_dev_get(575,13797 -struct net_device *nr_dev_first(592,14111 -struct net_device *nr_dev_get(612,14555 -static ax25_digi *nr_call_to_digi(628,14918 -int nr_rt_ioctl(650,15320 -void nr_link_failed(720,16927 -int nr_route_frame(758,17884 -static void *nr_node_start(845,19905 -static void *nr_node_next(864,20228 -static void nr_node_stop(876,20494 -static int nr_node_show(881,20592 -static struct seq_operations nr_node_seqops 910,21277 -static int nr_node_info_open(917,21423 -struct file_operations nr_nodes_fops 922,21538 -static void *nr_neigh_start(930,21700 -static void *nr_neigh_next(947,22021 -static void nr_neigh_stop(959,22293 -static int nr_neigh_show(964,22393 -static struct seq_operations nr_neigh_seqops 993,23062 -static int nr_neigh_info_open(1000,23213 -struct file_operations nr_neigh_fops 1005,23330 -void __exit nr_rt_free(1018,23571 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_timer.c,583 -void nr_init_timers(39,1165 -void nr_start_t1timer(64,1829 -void nr_start_t2timer(71,1942 -void nr_start_t4timer(78,2055 -void nr_start_idletimer(85,2168 -void nr_start_heartbeat(93,2307 -void nr_stop_t1timer(98,2398 -void nr_stop_t2timer(103,2474 -void nr_stop_t4timer(108,2550 -void nr_stop_idletimer(113,2626 -void nr_stop_heartbeat(118,2706 -int nr_t1timer_running(123,2778 -static void nr_heartbeat_expiry(128,2867 -static void nr_t2timer_expiry(167,3796 -static void nr_t4timer_expiry(180,4073 -static void nr_idletimer_expiry(189,4259 -static void nr_t1timer_expiry(217,4781 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_dev.c,337 -int nr_rx_ip(47,1141 -static int nr_rebuild_header(73,1612 -static int nr_rebuild_header(119,2384 -static int nr_header(126,2458 -static int nr_set_mac_address(158,3204 -static int nr_open(173,3544 -static int nr_close(180,3688 -static int nr_xmit(187,3831 -static struct net_device_stats *nr_get_stats(195,4025 -void nr_setup(200,4145 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_subr.c,246 -void nr_clear_queues(35,926 -void nr_frames_acked(50,1303 -void nr_requeue_frames(72,1866 -int nr_validate_nr(89,2240 -int nr_in_rx_window(105,2522 -void nr_write_internal(123,2881 -void nr_transmit_refusal(216,4841 -void nr_disconnect(264,5797 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/sysctl_net_netrom.c,664 -static int min_quality[18,493 -static int min_obs[19,548 -static int min_ttl[20,603 -static int min_t1[21,658 -static int max_t1[22,695 -static int min_n2[23,734 -static int min_t2[24,789 -static int max_t2[25,826 -static int min_t4[26,864 -static int max_t4[27,901 -static int min_window[28,941 -static int min_idle[29,996 -static int max_idle[30,1033 -static int min_route[31,1074 -static int min_fails[32,1127 -static struct ctl_table_header *nr_table_header;34,1182 -static ctl_table nr_table[36,1232 -static ctl_table nr_dir_table[161,4763 -static ctl_table nr_root_table[171,4917 -void __init nr_register_sysctl(181,5070 -void nr_unregister_sysctl(186,5172 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/nr_out.c,261 -void nr_output(36,1024 -static void nr_send_iframe(83,2263 -void nr_send_nak_frame(101,2568 -void nr_kick(126,3035 -void nr_transmit_buffer(189,4182 -void nr_establish_data_link(224,4977 -void nr_enquiry_response(242,5271 -void nr_check_iframes_acked(260,5633 - -/export0/mef/linux-2.6.9-1.11_FC2/net/netrom/af_netrom.c,2289 -int nr_ndevs 46,1310 -int sysctl_netrom_default_path_quality 48,1329 -int sysctl_netrom_obsolescence_count_initialiser 49,1398 -int sysctl_netrom_network_ttl_initialiser 50,1466 -int sysctl_netrom_transport_timeout 51,1534 -int sysctl_netrom_transport_maximum_tries 52,1601 -int sysctl_netrom_transport_acknowledge_delay 53,1668 -int sysctl_netrom_transport_busy_delay 54,1735 -int sysctl_netrom_transport_requested_window_size 55,1802 -int sysctl_netrom_transport_no_activity_timeout 56,1873 -int sysctl_netrom_routing_control 57,1942 -int sysctl_netrom_link_fails_count 58,2014 -static unsigned short circuit 60,2085 -static spinlock_t nr_list_lock 63,2153 -static struct proto_ops nr_proto_ops;65,2207 -static struct sock *nr_alloc_sock(68,2284 -static void nr_remove_socket(93,2674 -static void nr_kill_by_device(103,2864 -static int nr_device_event(118,3166 -static void nr_insert_socket(134,3485 -static struct sock *nr_find_listener(145,3712 -static struct sock *nr_find_socket(166,4131 -static struct sock *nr_find_peer(189,4565 -static unsigned short nr_find_next_circuit(214,5036 -static void nr_destroy_timer(244,5442 -void nr_destroy_socket(260,5899 -static int nr_setsockopt(300,6806 -static int nr_getsockopt(352,7633 -static int nr_listen(402,8414 -static int nr_create(419,8757 -static struct sock *nr_make_new(457,9647 -static int nr_release(505,10655 -static int nr_bind(553,11477 -static int nr_connect(621,13141 -static int nr_accept(751,16124 -static int nr_getname(817,17444 -int nr_rx_frame(846,18219 -static int nr_sendmsg(1011,22056 -static int nr_recvmsg(1125,24404 -static int nr_ioctl(1175,25468 -static void *nr_info_start(1240,26800 -static void *nr_info_next(1258,27084 -static void nr_info_stop(1266,27253 -static int nr_info_show(1271,27346 -static struct seq_operations nr_info_seqops 1326,28642 -static int nr_info_open(1333,28789 -static struct file_operations nr_info_fops 1338,28900 -static struct net_proto_family nr_family_ops 1347,29091 -static struct proto_ops nr_proto_ops 1353,29214 -static struct notifier_block nr_dev_notifier 1374,29718 -static struct net_device **dev_nr;1378,29806 -static char banner[1380,29842 -static char banner[] __initdata 1380,29842 -static int __init nr_proto_init(1382,29952 -static void __exit nr_exit(1461,31928 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/rfcomm/sock.c,2029 -#define BT_DBG(BT_DBG58,1857 -static struct proto_ops rfcomm_sock_ops;61,1886 -static struct bt_sock_list rfcomm_sk_list 63,1928 -static void rfcomm_sk_data_ready(74,2168 -static void rfcomm_sk_state_change(88,2503 -static struct sock *__rfcomm_get_sock_by_addr(114,3030 -static struct sock *__rfcomm_get_sock_by_channel(131,3402 -static inline struct sock *rfcomm_get_sock_by_channel(155,3963 -static void rfcomm_sock_destruct(165,4239 -static void rfcomm_sock_cleanup_listen(188,4684 -static void rfcomm_sock_kill(207,5078 -static void __rfcomm_sock_close(220,5371 -static void rfcomm_sock_close(246,5830 -static void rfcomm_sock_init(253,5943 -static struct sock *rfcomm_sock_alloc(261,6085 -static int rfcomm_sock_create(298,6888 -static int rfcomm_sock_bind(318,7273 -static int rfcomm_sock_connect(354,8040 -int rfcomm_sock_listen(387,8868 -int rfcomm_sock_accept(431,9606 -static int rfcomm_sock_getname(487,10630 -static int rfcomm_sock_sendmsg(505,11076 -static long rfcomm_sock_data_wait(555,12007 -static int rfcomm_sock_recvmsg(579,12629 -static int rfcomm_sock_setsockopt(661,14232 -static int rfcomm_sock_getsockopt(680,14530 -static int rfcomm_sock_ioctl(702,14890 -static int rfcomm_sock_shutdown(719,15187 -static int rfcomm_sock_release(740,15614 -int rfcomm_connect_ind(761,15944 -static void *rfcomm_seq_start(805,16950 -static void *rfcomm_seq_next(819,17206 -static void rfcomm_seq_stop(826,17338 -static int rfcomm_seq_show(831,17441 -static struct seq_operations rfcomm_seq_ops 840,17669 -static int rfcomm_seq_open(847,17834 -static struct file_operations rfcomm_seq_fops 852,17947 -static int __init rfcomm_sock_proc_init(860,18124 -static void __exit rfcomm_sock_proc_cleanup(869,18370 -static int __init rfcomm_sock_proc_init(876,18504 -static void __exit rfcomm_sock_proc_cleanup(881,18574 -static struct proto_ops rfcomm_sock_ops 887,18673 -static struct net_proto_family rfcomm_sock_family_ops 907,19253 -int __init rfcomm_init_sockets(913,19396 -void __exit rfcomm_cleanup_sockets(928,19687 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/rfcomm/crc.c,40 -unsigned char rfcomm_crc_table[31,1273 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/rfcomm/tty.c,2057 -#define BT_DBG(BT_DBG45,1533 -#define RFCOMM_TTY_MAGIC 48,1562 -#define RFCOMM_TTY_PORTS 49,1632 -#define RFCOMM_TTY_MAJOR 50,1705 -#define RFCOMM_TTY_MINOR 51,1792 -static struct tty_driver *rfcomm_tty_driver;53,1820 -struct rfcomm_dev rfcomm_dev55,1866 -static rwlock_t rfcomm_dev_lock 80,2266 -static void rfcomm_dev_destruct(89,2627 -static inline void rfcomm_dev_hold(117,3308 -static inline void rfcomm_dev_put(122,3399 -static struct rfcomm_dev *__rfcomm_dev_get(135,3874 -static inline struct rfcomm_dev *rfcomm_dev_get(149,4119 -static int rfcomm_dev_add(164,4347 -static void rfcomm_dev_del(253,6207 -static inline unsigned int rfcomm_room(265,6437 -static void rfcomm_wfree(272,6672 -static inline void rfcomm_set_owner_w(281,6923 -static struct sk_buff *rfcomm_wmalloc(289,7138 -#define NOCAP_FLAGS 303,7465 -static int rfcomm_create_dev(305,7542 -static int rfcomm_release_dev(347,8394 -static int rfcomm_get_dev_list(373,8921 -static int rfcomm_get_dev_info(421,9934 -int rfcomm_dev_ioctl(448,10424 -static void rfcomm_dev_data_ready(470,10846 -static void rfcomm_dev_state_change(497,11459 -static void rfcomm_dev_modem_status(526,12101 -static void rfcomm_tty_wakeup(542,12573 -static int rfcomm_tty_open(560,13006 -static void rfcomm_tty_close(624,14360 -static int rfcomm_tty_write(648,14912 -static int rfcomm_tty_write_room(687,15809 -static int rfcomm_tty_ioctl(700,16078 -#define RELEVANT_IFLAG(RELEVANT_IFLAG749,17037 -static void rfcomm_tty_set_termios(751,17114 -static void rfcomm_tty_throttle(765,17499 -static void rfcomm_tty_unthrottle(774,17697 -static int rfcomm_tty_chars_in_buffer(783,17899 -static void rfcomm_tty_flush_buffer(796,18173 -static void rfcomm_tty_send_xchar(810,18511 -static void rfcomm_tty_wait_until_sent(815,18617 -static void rfcomm_tty_hangup(820,18742 -static int rfcomm_tty_read_proc(834,19031 -static int rfcomm_tty_tiocmget(839,19151 -static int rfcomm_tty_tiocmset(848,19363 -static struct tty_operations rfcomm_ops 883,20318 -int rfcomm_init_ttys(902,20955 -void rfcomm_cleanup_ttys(932,21919 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/rfcomm/core.c,4603 -#define VERSION 53,1763 -#define BT_DBG(BT_DBG57,1832 -struct proc_dir_entry *proc_bt_rfcomm;61,1883 -struct task_struct *rfcomm_thread;64,1930 -unsigned long rfcomm_event;66,1992 -static atomic_t terminate,69,2053 -static atomic_t terminate, running;69,2053 -#define __get_dlci(__get_dlci85,2913 -#define __get_channel(__get_channel86,2957 -#define __get_dir(__get_dir87,3001 -#define __get_type(__get_type88,3045 -#define __test_ea(__test_ea90,3085 -#define __test_cr(__test_cr91,3124 -#define __test_pf(__test_pf92,3163 -#define __addr(__addr94,3203 -#define __ctrl(__ctrl95,3276 -#define __dlci(__dlci96,3337 -#define __srv_channel(__srv_channel97,3396 -#define __dir(__dir98,3439 -#define __len8(__len8100,3485 -#define __len16(__len16101,3530 -#define __mcc_type(__mcc_type104,3587 -#define __get_mcc_type(__get_mcc_type105,3653 -#define __get_mcc_len(__get_mcc_len106,3697 -#define __rpn_line_settings(__rpn_line_settings109,3759 -#define __get_rpn_data_bits(__get_rpn_data_bits110,3869 -#define __get_rpn_stop_bits(__get_rpn_stop_bits111,3918 -#define __get_rpn_parity(__get_rpn_parity112,3974 -#define __crc(__crc117,4092 -static inline u8 __fcs(120,4198 -static inline u8 __fcs2(126,4288 -static inline int __check_fcs(132,4401 -static void rfcomm_l2state_change(143,4624 -static void rfcomm_l2data_ready(149,4760 -static int rfcomm_l2sock_create(155,4895 -static void rfcomm_dlc_timeout(171,5237 -static void rfcomm_dlc_set_timer(182,5471 -static void rfcomm_dlc_clear_timer(190,5678 -static void rfcomm_dlc_clear_state(198,5859 -struct rfcomm_dlc *rfcomm_dlc_alloc(212,6189 -void rfcomm_dlc_free(233,6596 -static void rfcomm_dlc_link(241,6706 -static void rfcomm_dlc_unlink(252,6919 -static struct rfcomm_dlc *rfcomm_dlc_get(265,7175 -static int __rfcomm_dlc_open(278,7431 -int rfcomm_dlc_open(324,8397 -static int __rfcomm_dlc_close(336,8588 -int rfcomm_dlc_close(374,9340 -int rfcomm_dlc_send(386,9486 -void fastcall __rfcomm_dlc_throttle(406,9882 -void fastcall __rfcomm_dlc_unthrottle(417,10115 -int rfcomm_dlc_set_modem_status(433,10516 -int rfcomm_dlc_get_modem_status(451,10895 -struct rfcomm_session *rfcomm_session_add(461,11106 -void rfcomm_session_del(490,11730 -struct rfcomm_session *rfcomm_session_get(508,12021 -void rfcomm_session_close(524,12411 -struct rfcomm_session *rfcomm_session_create(545,12824 -void rfcomm_session_getaddr(594,13862 -static int rfcomm_send_frame(604,14102 -static int rfcomm_send_sabm(617,14387 -static int rfcomm_send_ua(631,14704 -static int rfcomm_send_disc(645,15018 -static int rfcomm_queue_disc(659,15335 -static int rfcomm_send_dm(681,15798 -static int rfcomm_send_nsc(695,16112 -static int rfcomm_send_pn(720,16714 -static int rfcomm_send_rpn(759,17638 -static int rfcomm_send_rls(797,18887 -static int rfcomm_send_msc(824,19581 -static int rfcomm_send_fcoff(851,20284 -static int rfcomm_send_fcon(873,20793 -static int rfcomm_send_test(895,21300 -static int rfcomm_send_credits(927,21994 -static void rfcomm_make_uih(946,22402 -static int rfcomm_recv_ua(967,22854 -static int rfcomm_recv_dm(1008,23601 -static int rfcomm_recv_disc(1038,24167 -static int rfcomm_recv_sabm(1074,24811 -static int rfcomm_apply_pn(1130,25898 -static int rfcomm_recv_pn(1152,26451 -static int rfcomm_recv_rpn(1204,27448 -static int rfcomm_recv_rls(1304,30462 -static int rfcomm_recv_msc(1324,30970 -static int rfcomm_recv_mcc(1356,31670 -static int rfcomm_recv_data(1416,32698 -static int rfcomm_recv_frame(1449,33333 -static void rfcomm_process_connect(1509,34413 -static inline int rfcomm_process_tx(1528,34829 -static inline void rfcomm_process_dlcs(1576,36068 -static inline void rfcomm_process_rx(1599,36606 -static inline void rfcomm_accept_connection(1621,37152 -static inline void rfcomm_check_connection(1658,37966 -static inline void rfcomm_process_sessions(1682,38460 -static void rfcomm_worker(1717,38995 -static int rfcomm_add_listener(1737,39439 -static void rfcomm_kill_listener(1787,40424 -static int rfcomm_run(1800,40657 -static void *rfcomm_seq_start(1824,41018 -static void *rfcomm_seq_next(1843,41367 -static void rfcomm_seq_stop(1862,41750 -static int rfcomm_seq_show(1867,41832 -static struct seq_operations rfcomm_seq_ops 1879,42206 -static int rfcomm_seq_open(1886,42371 -static struct file_operations rfcomm_seq_fops 1891,42484 -static int __init rfcomm_proc_init(1899,42661 -static void __exit rfcomm_proc_cleanup(1914,42992 -static int __init rfcomm_proc_init(1923,43160 -static void __exit rfcomm_proc_cleanup(1928,43225 -static int __init rfcomm_init(1935,43350 -static void __exit rfcomm_exit(1954,43608 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hci_event.c,992 -#define BT_DBG(BT_DBG53,1743 -static void hci_cc_link_ctl(59,1841 -static void hci_cc_link_policy(84,2383 -static void hci_cc_host_ctl(119,3066 -static void hci_cc_info_param(271,6568 -static inline void hci_cs_create_conn(345,8573 -static void hci_cs_link_ctl(380,9357 -static void hci_cs_link_policy(433,10474 -static void hci_cs_host_ctl(445,10742 -static void hci_cs_info_param(457,11007 -static inline void hci_inquiry_complete_evt(469,11282 -static inline void hci_inquiry_result_evt(480,11552 -static inline void hci_inquiry_result_with_rssi_evt(494,11944 -static inline void hci_conn_request_evt(517,12657 -static inline void hci_conn_complete_evt(563,13938 -static inline void hci_disconn_complete_evt(630,15597 -static inline void hci_num_comp_pkts_evt(654,16165 -static inline void hci_role_change_evt(697,17175 -static inline void hci_auth_complete_evt(721,17699 -static inline void hci_encrypt_change_evt(758,18663 -void hci_event_packet(784,19298 -void hci_si_event(916,21944 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/af_bluetooth.c,809 -#define BT_DBG(BT_DBG51,1660 -#define VERSION 54,1689 -struct proc_dir_entry *proc_bt;56,1712 -#define BT_MAX_PROTO 60,1793 -static struct net_proto_family *bt_proto[61,1816 -static kmem_cache_t *bt_sock_cache;63,1873 -int bt_sock_register(65,1910 -int bt_sock_unregister(78,2133 -static int bt_sock_create(91,2332 -struct sock *bt_sock_alloc(111,2749 -void bt_sock_link(141,3303 -void bt_sock_unlink(149,3478 -void bt_accept_enqueue(157,3652 -static void bt_accept_unlink(168,3930 -struct sock *bt_accept_dequeue(178,4145 -int bt_sock_recvmsg(208,4767 -static inline unsigned int bt_accept_poll(245,5508 -unsigned int bt_sock_poll(259,5821 -int bt_sock_wait_state(298,6700 -static struct net_proto_family bt_sock_family_ops 334,7351 -static int __init bt_init(346,7620 -static void __exit bt_exit(375,8153 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/lib.c,86 -void bt_dump(37,1351 -void baswap(62,1782 -char *batostr(73,1991 -int bt_err(88,2290 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hci_sysfs.c,518 -#define BT_DBG(BT_DBG12,242 -static ssize_t show_name(15,271 -static ssize_t show_type(21,430 -static ssize_t show_address(27,589 -static ssize_t show_flags(35,808 -static ssize_t show_inquiry_cache(41,972 -static struct class_device_attribute *bt_attrs[71,1973 -static int bt_hotplug(81,2201 -static void bt_release(99,2559 -static struct class bt_class bt_class106,2678 -int hci_register_sysfs(114,2815 -void hci_unregister_sysfs(135,3253 -int __init bt_sysfs_init(144,3442 -void __exit bt_sysfs_cleanup(149,3513 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/cmtp/sock.c,321 -#define BT_DBG(BT_DBG49,1612 -static int cmtp_sock_release(52,1641 -static int cmtp_sock_ioctl(67,1831 -static struct proto_ops cmtp_sock_ops 141,3268 -static int cmtp_sock_create(161,3802 -static struct net_proto_family cmtp_sock_family_ops 185,4216 -int cmtp_init_sockets(191,4352 -void cmtp_cleanup_sockets(198,4453 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/cmtp/cmtp.h,648 -#define __CMTP_H24,1107 -#define BTNAMSIZ 29,1188 -#define CMTPCONNADD 32,1234 -#define CMTPCONNDEL 33,1274 -#define CMTPGETCONNLIST 34,1314 -#define CMTPGETCONNINFO 35,1358 -#define CMTP_LOOPBACK 37,1403 -struct cmtp_connadd_req cmtp_connadd_req39,1428 -struct cmtp_conndel_req cmtp_conndel_req44,1505 -struct cmtp_conninfo cmtp_conninfo49,1570 -struct cmtp_connlist_req cmtp_connlist_req56,1664 -#define CMTP_INTEROP_TIMEOUT 67,2005 -#define CMTP_INITIAL_MSGNUM 68,2043 -struct cmtp_session cmtp_session70,2079 -struct cmtp_application cmtp_application102,2489 -struct cmtp_scb cmtp_scb114,2622 -static inline void cmtp_schedule(125,2926 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/cmtp/capi.c,1571 -#define BT_DBG(BT_DBG48,1627 -#define CAPI_INTEROPERABILITY 51,1656 -#define CAPI_INTEROPERABILITY_REQ 53,1693 -#define CAPI_INTEROPERABILITY_CONF 54,1768 -#define CAPI_INTEROPERABILITY_IND 55,1845 -#define CAPI_INTEROPERABILITY_RESP 56,1920 -#define CAPI_INTEROPERABILITY_REQ_LEN 58,1998 -#define CAPI_INTEROPERABILITY_CONF_LEN 59,2059 -#define CAPI_INTEROPERABILITY_IND_LEN 60,2121 -#define CAPI_INTEROPERABILITY_RESP_LEN 61,2182 -#define CAPI_FUNCTION_REGISTER 63,2245 -#define CAPI_FUNCTION_RELEASE 64,2279 -#define CAPI_FUNCTION_GET_PROFILE 65,2312 -#define CAPI_FUNCTION_GET_MANUFACTURER 66,2348 -#define CAPI_FUNCTION_GET_VERSION 67,2389 -#define CAPI_FUNCTION_GET_SERIAL_NUMBER 68,2425 -#define CAPI_FUNCTION_MANUFACTURER 69,2467 -#define CAPI_FUNCTION_LOOPBACK 70,2504 -#define CMTP_MSGNUM 73,2540 -#define CMTP_APPLID 74,2562 -#define CMTP_MAPPING 75,2584 -static struct cmtp_application *cmtp_application_add(77,2608 -static void cmtp_application_del(96,3011 -static struct cmtp_application *cmtp_application_get(106,3215 -static int cmtp_msgnum_get(132,3761 -static void cmtp_send_interopmsg(143,3953 -static void cmtp_recv_interopmsg(178,4894 -void cmtp_recv_capimsg(293,7864 -void cmtp_send_capimsg(340,8976 -static int cmtp_load_firmware(355,9304 -static void cmtp_reset_ctr(362,9434 -static void cmtp_register_appl(374,9652 -static void cmtp_release_appl(443,11231 -static u16 cmtp_send_message(481,12172 -static char *cmtp_procinfo(512,12937 -static int cmtp_ctr_read_proc(517,13035 -int cmtp_attach_device(545,13773 -void cmtp_detach_device(625,15880 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/cmtp/core.c,748 -#define BT_DBG(BT_DBG50,1657 -#define VERSION 53,1686 -static struct cmtp_session *__cmtp_get_session(58,1787 -static void __cmtp_link_session(73,2095 -static void __cmtp_unlink_session(79,2237 -static void __cmtp_copy_session(85,2359 -static inline int cmtp_alloc_block_id(96,2577 -static inline void cmtp_free_block_id(109,2782 -static inline void cmtp_add_msgpart(114,2899 -static inline int cmtp_recv_frame(139,3489 -static int cmtp_send_frame(201,4696 -static int cmtp_process_transmit(217,5044 -static int cmtp_session(283,6566 -int cmtp_add_connection(331,7550 -int cmtp_del_connection(406,9047 -int cmtp_get_connlist(430,9489 -int cmtp_get_conninfo(463,10021 -static int __init cmtp_init(481,10313 -static void __exit cmtp_exit(492,10454 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/sco.c,2307 -#define BT_DBG(BT_DBG56,1812 -#define VERSION 59,1841 -static struct proto_ops sco_sock_ops;61,1864 -static struct bt_sock_list sco_sk_list 63,1903 -static void sco_sock_timeout(76,2294 -static void sco_sock_set_timer(91,2563 -static void sco_sock_clear_timer(97,2753 -static void sco_sock_init_timer(103,2890 -static struct sco_conn *sco_conn_add(111,3087 -static inline struct sock *sco_chan_get(143,3683 -static int sco_conn_del(152,3850 -static inline int sco_chan_add(176,4275 -static int sco_connect(190,4528 -static inline int sco_send_frame(238,5408 -static inline void sco_recv_frame(269,6034 -static struct sock *__sco_get_sock_by_addr(290,6391 -static struct sock *sco_get_sock_listen(306,6694 -static void sco_sock_destruct(331,7151 -static void sco_sock_cleanup_listen(342,7355 -static void sco_sock_kill(361,7744 -static void sco_sock_close(377,8051 -static void sco_sock_init(411,8565 -static struct sock *sco_sock_alloc(419,8704 -static int sco_sock_create(439,9106 -static int sco_sock_bind(459,9456 -static int sco_sock_connect(495,10187 -static int sco_sock_listen(529,10907 -static int sco_sock_accept(552,11302 -static int sco_sock_getname(608,12327 -static int sco_sock_sendmsg(626,12735 -static int sco_sock_setsockopt(651,13176 -static int sco_sock_getsockopt(670,13471 -static int sco_sock_release(724,14440 -static void __sco_chan_add(747,14831 -static void sco_chan_del(760,15103 -static void sco_conn_ready(783,15497 -static int sco_connect_ind(831,16381 -static int sco_connect_cfm(839,16580 -static int sco_disconn_ind(858,16941 -static int sco_recv_scodata(869,17144 -static void *sco_seq_start(890,17484 -static void *sco_seq_next(906,17749 -static void sco_seq_stop(913,17878 -static int sco_seq_show(918,17975 -static struct seq_operations sco_seq_ops 926,18170 -static int sco_seq_open(933,18313 -static struct file_operations sco_seq_fops 938,18420 -static int __init sco_proc_init(946,18587 -static void __exit sco_proc_cleanup(956,18800 -static int __init sco_proc_init(963,18911 -static void __exit sco_proc_cleanup(968,18965 -static struct proto_ops sco_sock_ops 974,19049 -static struct net_proto_family sco_sock_family_ops 994,19587 -static struct hci_proto sco_hci_proto 1000,19722 -static int __init sco_init(1009,19941 -static void __exit sco_exit(1031,20354 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hidp/sock.c,335 -#define BT_DBG(BT_DBG45,1553 -static int hidp_sock_release(48,1582 -static int hidp_sock_ioctl(63,1772 -static struct proto_ops hidp_sock_ops 147,3437 -static int hidp_sock_create(167,3971 -static struct net_proto_family hidp_sock_family_ops 191,4385 -int __init hidp_init_sockets(197,4521 -void __exit hidp_cleanup_sockets(208,4702 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hidp/hidp.h,556 -#define __HIDP_H24,1107 -#define HIDPCONNADD 30,1213 -#define HIDPCONNDEL 31,1253 -#define HIDPGETCONNLIST 32,1293 -#define HIDPGETCONNINFO 33,1337 -#define HIDP_VIRTUAL_CABLE_UNPLUG 35,1382 -#define HIDP_BOOT_PROTOCOL_MODE 36,1418 -#define HIDP_BLUETOOTH_VENDOR_ID 37,1453 -struct hidp_connadd_req hidp_connadd_req39,1489 -struct hidp_conndel_req hidp_conndel_req55,1788 -struct hidp_conninfo hidp_conninfo60,1853 -struct hidp_connlist_req hidp_connlist_req70,2009 -struct hidp_session hidp_session81,2381 -static inline void hidp_schedule(109,2802 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hidp/core.c,954 -#define BT_DBG(BT_DBG50,1650 -#define VERSION 53,1679 -static unsigned char hidp_keycode[58,1780 -static struct hidp_session *__hidp_get_session(77,2866 -static void __hidp_link_session(92,3174 -static void __hidp_unlink_session(98,3316 -static void __hidp_copy_session(104,3438 -static int hidp_input_event(127,4014 -static void hidp_input_report(165,4911 -static void hidp_idle_timeout(215,6351 -static inline void hidp_set_timer(223,6526 -static inline void hidp_del_timer(229,6685 -static inline void hidp_send_message(235,6811 -static inline int hidp_recv_frame(253,7160 -static int hidp_send_frame(275,7566 -static int hidp_process_transmit(290,7861 -static int hidp_session(320,8556 -static inline void hidp_setup_input(411,10891 -int hidp_add_connection(452,12045 -int hidp_del_connection(545,14300 -int hidp_get_connlist(574,14905 -int hidp_get_conninfo(607,15437 -static int __init hidp_init(624,15728 -static void __exit hidp_exit(633,15875 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/l2cap.c,4010 -#define BT_DBG(BT_DBG57,1854 -#define VERSION 60,1883 -static struct proto_ops l2cap_sock_ops;62,1906 -struct bt_sock_list l2cap_sk_list 64,1947 -static void l2cap_sock_timeout(81,2582 -static void l2cap_sock_set_timer(95,2840 -static void l2cap_sock_clear_timer(101,3030 -static void l2cap_sock_init_timer(107,3169 -static struct l2cap_conn *l2cap_conn_add(115,3372 -static int l2cap_conn_del(143,3948 -static inline void l2cap_chan_add(169,4411 -static struct sock *__l2cap_get_sock_by_addr(178,4678 -static struct sock *__l2cap_get_sock_by_psm(193,5025 -static inline struct sock *l2cap_get_sock_by_psm(217,5564 -static void l2cap_sock_destruct(227,5821 -static void l2cap_sock_cleanup_listen(238,6027 -static void l2cap_sock_kill(255,6394 -static void __l2cap_sock_close(268,6646 -static void l2cap_sock_close(307,7499 -static void l2cap_sock_init(316,7673 -static struct sock *l2cap_sock_alloc(338,8165 -static int l2cap_sock_create(360,8606 -static int l2cap_sock_bind(384,9093 -static int l2cap_do_connect(421,9893 -static int l2cap_sock_connect(477,11018 -static int l2cap_sock_listen(533,12033 -static int l2cap_sock_accept(578,12832 -static int l2cap_sock_getname(634,13862 -static inline int l2cap_do_send(653,14300 -static int l2cap_sock_sendmsg(721,15810 -static int l2cap_sock_setsockopt(749,16320 -static int l2cap_sock_getsockopt(789,17033 -static int l2cap_sock_shutdown(841,18076 -static int l2cap_sock_release(864,18536 -static struct sock *__l2cap_get_chan_by_dcid(882,18815 -static struct sock *__l2cap_get_chan_by_scid(892,19023 -static inline struct sock *l2cap_get_chan_by_scid(904,19292 -static u16 l2cap_alloc_cid(914,19521 -static inline void __l2cap_chan_link(926,19701 -static inline void l2cap_chan_unlink(938,19931 -static void __l2cap_chan_add(955,20284 -static void l2cap_chan_del(986,21169 -static void l2cap_conn_ready(1014,21711 -static void l2cap_chan_ready(1043,22360 -static void l2cap_raw_recv(1067,22874 -static inline u8 l2cap_get_ident(1094,23459 -static struct sk_buff *l2cap_build_cmd(1115,23806 -static int l2cap_send_req(1173,25082 -static int l2cap_send_rsp(1185,25377 -static inline int l2cap_get_conf_opt(1196,25647 -static inline void l2cap_parse_conf_req(1229,26215 -static void l2cap_add_conf_opt(1265,26813 -static int l2cap_build_conf_req(1295,27319 -static inline int l2cap_conf_output(1316,27862 -static int l2cap_build_conf_rsp(1334,28297 -static inline int l2cap_connect_req(1354,28743 -static inline int l2cap_connect_rsp(1441,30852 -static inline int l2cap_config_req(1479,31763 -static inline int l2cap_config_rsp(1525,32984 -static inline int l2cap_disconnect_req(1586,34577 -static inline int l2cap_disconnect_rsp(1614,35303 -static inline int l2cap_information_req(1635,35786 -static inline int l2cap_information_rsp(1652,36226 -static inline void l2cap_sig_channel(1665,36556 -static inline int l2cap_data_channel(1754,38373 -static inline int l2cap_conless_channel(1788,39070 -static void l2cap_recv_frame(1815,39548 -static int l2cap_connect_ind(1845,40146 -static int l2cap_connect_cfm(1873,40878 -static int l2cap_disconn_ind(1892,41247 -static int l2cap_auth_cfm(1903,41452 -static int l2cap_encrypt_cfm(1950,42442 -static int l2cap_recv_acldata(1996,43383 -static void *l2cap_seq_start(2078,45269 -static void *l2cap_seq_next(2094,45540 -static void l2cap_seq_stop(2100,45648 -static int l2cap_seq_show(2105,45749 -static struct seq_operations l2cap_seq_ops 2117,46088 -static int l2cap_seq_open(2124,46241 -static struct file_operations l2cap_seq_fops 2129,46352 -static int __init l2cap_proc_init(2137,46523 -static void __exit l2cap_proc_cleanup(2147,46742 -static int __init l2cap_proc_init(2154,46857 -static void __exit l2cap_proc_cleanup(2159,46913 -static struct proto_ops l2cap_sock_ops 2165,46999 -static struct net_proto_family l2cap_sock_family_ops 2185,47560 -static struct hci_proto l2cap_hci_proto 2191,47699 -static int __init l2cap_init(2202,47996 -static void __exit l2cap_exit(2224,48414 -void l2cap_load(2236,48701 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/bnep/sock.c,328 -#define BT_DBG(BT_DBG56,1773 -static int bnep_sock_release(59,1804 -static int bnep_sock_ioctl(73,1993 -static struct proto_ops bnep_sock_ops 150,3463 -static int bnep_sock_create(170,4046 -static struct net_proto_family bnep_sock_family_ops 193,4460 -int __init bnep_sock_init(199,4596 -int __exit bnep_sock_cleanup(205,4700 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/bnep/netdev.c,564 -#define BT_DBG(BT_DBG51,1695 -#define BNEP_TX_QUEUE_LEN 54,1726 -static int bnep_net_open(56,1756 -static int bnep_net_close(62,1846 -static struct net_device_stats *bnep_net_get_stats(68,1936 -static void bnep_net_set_mc_list(74,2072 -static int bnep_net_set_mac_addr(129,3595 -static void bnep_net_timeout(135,3705 -static int bnep_net_ioctl(141,3811 -static inline int bnep_net_mc_filter(147,3943 -static inline u16 bnep_net_eth_proto(159,4284 -static inline int bnep_net_proto_filter(172,4557 -static int bnep_net_xmit(188,4946 -void bnep_net_setup(229,5850 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/bnep/bnep.h,2103 -#define _BNEP_H24,841 -#define BNEP_MAX_PROTO_FILTERS 31,956 -#define BNEP_MAX_MULTICAST_FILTERS 32,993 -#define BNEP_BASE_UUID 35,1041 -#define BNEP_UUID16 36,1099 -#define BNEP_UUID32 37,1127 -#define BNEP_UUID128 38,1155 -#define BNEP_SVC_PANU 40,1184 -#define BNEP_SVC_NAP 41,1214 -#define BNEP_SVC_GN 42,1244 -#define BNEP_GENERAL 45,1291 -#define BNEP_CONTROL 46,1331 -#define BNEP_COMPRESSED 47,1371 -#define BNEP_COMPRESSED_SRC_ONLY 48,1411 -#define BNEP_COMPRESSED_DST_ONLY 49,1451 -#define BNEP_CMD_NOT_UNDERSTOOD 52,1509 -#define BNEP_SETUP_CONN_REQ 53,1549 -#define BNEP_SETUP_CONN_RSP 54,1589 -#define BNEP_FILTER_NET_TYPE_SET 55,1629 -#define BNEP_FILTER_NET_TYPE_RSP 56,1669 -#define BNEP_FILTER_MULTI_ADDR_SET 57,1709 -#define BNEP_FILTER_MULTI_ADDR_RSP 58,1749 -#define BNEP_EXT_CONTROL 61,1809 -#define BNEP_SUCCESS 64,1872 -#define BNEP_CONN_INVALID_DST 66,1913 -#define BNEP_CONN_INVALID_SRC 67,1953 -#define BNEP_CONN_INVALID_SVC 68,1993 -#define BNEP_CONN_NOT_ALLOWED 69,2033 -#define BNEP_FILTER_UNSUPPORTED_REQ 71,2074 -#define BNEP_FILTER_INVALID_RANGE 72,2118 -#define BNEP_FILTER_INVALID_MCADDR 73,2162 -#define BNEP_FILTER_LIMIT_REACHED 74,2206 -#define BNEP_FILTER_DENIED_SECURITY 75,2250 -#define BNEP_MTU 78,2313 -#define BNEP_PSM 79,2343 -#define BNEP_FLUSH_TO 80,2366 -#define BNEP_CONNECT_TO 81,2398 -#define BNEP_FILTER_TO 82,2426 -#define BNEP_TYPE_MASK 85,2467 -#define BNEP_EXT_HEADER 86,2496 -struct bnep_setup_conn_req bnep_setup_conn_req88,2527 -struct bnep_set_filter_req bnep_set_filter_req95,2647 -struct bnep_control_rsp bnep_control_rsp102,2758 -struct bnep_ext_hdr bnep_ext_hdr108,2851 -#define BNEPCONNADD 115,2967 -#define BNEPCONNDEL 116,3007 -#define BNEPGETCONNLIST 117,3047 -#define BNEPGETCONNINFO 118,3091 -struct bnep_connadd_req bnep_connadd_req120,3136 -struct bnep_conndel_req bnep_conndel_req127,3282 -struct bnep_conninfo bnep_conninfo132,3348 -struct bnep_connlist_req bnep_connlist_req140,3458 -struct bnep_proto_filter bnep_proto_filter145,3537 -struct bnep_session bnep_session156,3846 -static inline int bnep_mc_hash(179,4309 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/bnep/core.c,991 -#define BT_DBG(BT_DBG61,1883 -#define VERSION 64,1912 -static struct bnep_session *__bnep_get_session(69,2013 -static void __bnep_link_session(84,2301 -static void __bnep_unlink_session(93,2579 -static int bnep_send(99,2689 -static int bnep_send_rsp(107,2881 -static inline void bnep_set_default_proto_filter(117,3129 -static int bnep_ctrl_set_netfilter(131,3536 -static int bnep_ctrl_set_mcfilter(176,4462 - #define INCA(INCA210,5157 -static int bnep_rx_control(230,5665 -static int bnep_rx_extension(267,6354 -static u8 __bnep_rx_hlen[300,6931 -#define BNEP_RX_TYPES 307,7162 -static inline int bnep_rx_frame(309,7214 -static u8 __bnep_tx_types[398,9450 -static inline int bnep_tx_frame(405,9572 -static int bnep_session(464,10709 -int bnep_add_connection(519,11794 -int bnep_del_connection(597,13470 -static void __bnep_copy_ci(622,13990 -int bnep_get_connlist(631,14219 -int bnep_get_conninfo(662,14716 -static int __init bnep_init(679,14974 -static void __exit bnep_exit(701,15323 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hci_conn.c,504 -#define BT_DBG(BT_DBG53,1748 -void hci_acl_connect(56,1777 -void hci_acl_disconn(88,2647 -void hci_add_sco(101,2927 -static void hci_conn_timeout(117,3283 -static void hci_conn_init_timer(136,3657 -struct hci_conn *hci_conn_add(143,3827 -int hci_conn_del(175,4495 -struct hci_dev *hci_get_route(213,5180 -struct hci_conn * hci_connect(255,6059 -int hci_conn_auth(297,6955 -int hci_conn_encrypt(314,7361 -void hci_conn_hash_flush(335,7857 -int hci_get_conn_list(356,8218 -int hci_get_conn_info(410,9348 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hci_core.c,2016 -#define BT_DBG(BT_DBG54,1757 -rwlock_t hci_task_lock 62,1977 -rwlock_t hci_dev_list_lock 66,2068 -#define HCI_MAX_PROTO 69,2136 -struct hci_proto *hci_proto[70,2160 -static struct notifier_block *hci_notifier;73,2230 -int hci_register_notifier(77,2310 -int hci_unregister_notifier(82,2420 -void hci_notify(87,2534 -void hci_req_complete(94,2668 -void hci_req_cancel(105,2932 -static int __hci_request(117,3233 -static inline int hci_request(159,4022 -static void hci_reset_req(172,4317 -static void hci_init_req(180,4501 -static void hci_scan_req(234,5994 -static void hci_auth_req(244,6219 -static void hci_encrypt_req(254,6436 -struct hci_dev *hci_dev_get(266,6727 -static void inquiry_cache_flush(290,7181 -struct inquiry_entry *hci_inquiry_cache_lookup(304,7443 -void hci_inquiry_cache_update(317,7760 -static int inquiry_cache_dump(338,8350 -static void hci_inq_req(352,8750 -int hci_inquiry(369,9161 -int hci_dev_open(431,10582 -static int hci_dev_do_close(494,11695 -int hci_dev_close(554,12874 -int hci_dev_reset(566,13057 -int hci_dev_reset_stat(604,13752 -int hci_dev_cmd(619,13971 -int hci_get_dev_list(688,15364 -int hci_get_dev_info(729,16206 -struct hci_dev *hci_alloc_dev(767,17042 -void hci_free_dev(782,17297 -int hci_register_dev(790,17469 -int hci_unregister_dev(850,18875 -int hci_suspend_dev(870,19270 -int hci_resume_dev(878,19420 -int hci_register_proto(889,19688 -int hci_unregister_proto(911,20045 -static int hci_send_frame(933,20407 -int hci_send_cmd(958,20886 -void *hci_sent_cmd_data(991,21725 -static void hci_add_acl_hdr(1009,22113 -int hci_send_acl(1021,22431 -int hci_send_sco(1068,23573 -static inline struct hci_conn *hci_low_sent(1097,24215 -static inline void hci_acl_tx_to(1132,25013 -static inline void hci_sched_acl(1151,25473 -static inline void hci_sched_sco(1177,26099 -static void hci_tx_task(1197,26515 -static inline void hci_acldata_packet(1222,27062 -static inline void hci_scodata_packet(1259,27910 -void hci_rx_task(1293,28642 -static void hci_cmd_task(1348,29678 - -/export0/mef/linux-2.6.9-1.11_FC2/net/bluetooth/hci_sock.c,886 -#define BT_DBG(BT_DBG55,1788 -static inline int hci_test_bit(60,1857 -static struct hci_sec_filter hci_sec_filter 66,2001 -static struct bt_sock_list hci_sk_list 87,2489 -void hci_send_to_sock(92,2593 -static int hci_sock_release(142,3787 -static inline int hci_sock_bound_ioctl(169,4243 -static int hci_sock_ioctl(198,4769 -static int hci_sock_bind(259,5955 -static int hci_sock_getname(295,6609 -static inline void hci_sock_cmsg(312,6993 -static int hci_sock_recvmsg(323,7336 -static int hci_sock_sendmsg(360,8058 -int hci_sock_setsockopt(438,9653 -int hci_sock_getsockopt(505,11018 -struct proto_ops hci_sock_ops 558,11995 -static int hci_sock_create(578,12526 -static int hci_sock_dev_event(602,12963 -struct net_proto_family hci_sock_family_ops 638,13787 -struct notifier_block hci_sock_nblock 644,13915 -int __init hci_sock_init(648,13998 -int __exit hci_sock_cleanup(662,14257 - -/export0/mef/linux-2.6.9-1.11_FC2/net/lapb/lapb_subr.c,220 -void lapb_clear_queues(39,937 -void lapb_frames_acked(50,1226 -void lapb_requeue_frames(68,1656 -int lapb_validate_nr(90,2224 -int lapb_decode(110,2645 -void lapb_send_control(229,5829 -void lapb_transmit_frmr(266,6735 - -/export0/mef/linux-2.6.9-1.11_FC2/net/lapb/lapb_in.c,242 -static void lapb_state0_machine(43,1141 -static void lapb_state1_machine(139,3577 -static void lapb_state2_machine(246,6217 -static void lapb_state3_machine(331,8283 -static void lapb_state4_machine(620,15989 -void lapb_data_input(701,18030 - -/export0/mef/linux-2.6.9-1.11_FC2/net/lapb/lapb_timer.c,246 -void lapb_start_t1timer(40,1032 -void lapb_start_t2timer(51,1282 -void lapb_stop_t1timer(62,1532 -void lapb_stop_t2timer(67,1610 -int lapb_t1timer_running(72,1688 -static void lapb_t2timer_expiry(77,1779 -static void lapb_t1timer_expiry(87,2024 - -/export0/mef/linux-2.6.9-1.11_FC2/net/lapb/lapb_out.c,292 -static void lapb_send_iframe(41,1085 -void lapb_kick(72,1751 -void lapb_transmit_buffer(120,2863 -void lapb_establish_data_link(162,3781 -void lapb_enquiry_response(185,4342 -void lapb_timeout_response(197,4631 -void lapb_check_iframes_acked(208,4920 -void lapb_check_need_response(220,5190 - -/export0/mef/linux-2.6.9-1.11_FC2/net/lapb/lapb_iface.c,988 -static struct list_head lapb_list 42,1101 -static rwlock_t lapb_list_lock 43,1164 -static void lapb_free_cb(48,1265 -static __inline__ void lapb_hold(53,1331 -static __inline__ void lapb_put(58,1419 -static void __lapb_remove_cb(67,1599 -static void __lapb_insert_cb(78,1775 -static struct lapb_cb *__lapb_devtostruct(84,1885 -static struct lapb_cb *lapb_devtostruct(103,2206 -static struct lapb_cb *lapb_create_cb(116,2452 -int lapb_register(143,3024 -int lapb_unregister(174,3520 -int lapb_getparms(198,3899 -int lapb_setparms(230,4597 -int lapb_connect_request(263,5277 -int lapb_disconnect_request(293,5803 -int lapb_data_request(345,6890 -int lapb_data_received(366,7285 -void lapb_connect_confirmation(380,7524 -void lapb_connect_indication(386,7696 -void lapb_disconnect_confirmation(392,7862 -void lapb_disconnect_indication(398,8043 -int lapb_data_indication(404,8218 -int lapb_data_transmit(413,8468 -static int __init lapb_init(434,8941 -static void __exit lapb_exit(439,8991 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/sysctl.c,311 -int rxrpc_ktrace;22,621 -int rxrpc_kdebug;23,639 -int rxrpc_kproto;24,657 -int rxrpc_knet;25,675 -static struct ctl_table_header *rxrpc_sysctl 28,713 -static ctl_table rxrpc_sysctl_table[30,767 -static ctl_table rxrpc_dir_sysctl_table[82,1824 -int rxrpc_sysctl_init(98,2160 -void rxrpc_sysctl_cleanup(113,2514 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/proc.c,1625 -static struct proc_dir_entry *proc_rxrpc;25,719 -static struct seq_operations rxrpc_proc_transports_ops 33,1137 -static struct file_operations rxrpc_proc_transports_fops 40,1350 -static struct seq_operations rxrpc_proc_peers_ops 53,1871 -static struct file_operations rxrpc_proc_peers_fops 60,2059 -static struct seq_operations rxrpc_proc_conns_ops 73,2570 -static struct file_operations rxrpc_proc_conns_fops 80,2758 -static struct seq_operations rxrpc_proc_calls_ops 93,3269 -static struct file_operations rxrpc_proc_calls_fops 100,3457 -static const char *rxrpc_call_states7[107,3618 -static const char *rxrpc_call_error_states7[120,3785 -int rxrpc_proc_init(132,4030 -void rxrpc_proc_cleanup(181,5151 -static int rxrpc_proc_transports_open(196,5603 -static void *rxrpc_proc_transports_start(215,6084 -static void *rxrpc_proc_transports_next(240,6697 -static void rxrpc_proc_transports_stop(256,7127 -static int rxrpc_proc_transports_show(266,7423 -static int rxrpc_proc_peers_open(290,8044 -static void *rxrpc_proc_peers_start(310,8508 -static void *rxrpc_proc_peers_next(335,9076 -static void rxrpc_proc_peers_stop(351,9471 -static int rxrpc_proc_peers_show(361,9747 -static int rxrpc_proc_conns_open(397,10708 -static void *rxrpc_proc_conns_start(417,11172 -static void *rxrpc_proc_conns_next(442,11740 -static void rxrpc_proc_conns_stop(458,12135 -static int rxrpc_proc_conns_show(468,12411 -static int rxrpc_proc_calls_open(511,13539 -static void *rxrpc_proc_calls_start(531,14003 -static void *rxrpc_proc_calls_next(556,14571 -static void rxrpc_proc_calls_stop(572,14966 -static int rxrpc_proc_calls_show(582,15242 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/krxsecd.c,401 -static volatile int rxrpc_krxsecd_die;35,1132 -static atomic_t rxrpc_krxsecd_qcount;37,1172 -static spinlock_t rxrpc_krxsecd_initmsgq_lock 42,1350 -static int rxrpc_krxsecd(50,1605 -int __init rxrpc_krxsecd_init(124,3304 -void rxrpc_krxsecd_kill(134,3566 -void rxrpc_krxsecd_clear_transport(146,3888 -void rxrpc_krxsecd_queue_incoming_call(183,4827 -void rxrpc_krxsecd_process_incoming_call(207,5425 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/krxtimod.c,248 -static int krxtimod_die;24,744 -static spinlock_t krxtimod_lock 27,803 -int rxrpc_krxtimod_start(35,1006 -void rxrpc_krxtimod_kill(52,1323 -static int krxtimod(65,1621 -void rxrpc_krxtimod_add_timer(147,3410 -int rxrpc_krxtimod_del_timer(182,4267 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/krxiod.c,470 -static atomic_t rxrpc_krxiod_qcount 25,730 -static spinlock_t rxrpc_krxiod_transportq_lock 28,828 -static spinlock_t rxrpc_krxiod_callq_lock 31,936 -static volatile int rxrpc_krxiod_die;33,1001 -static int rxrpc_krxiod(39,1144 -int __init rxrpc_krxiod_init(155,3858 -void rxrpc_krxiod_kill(165,4116 -void rxrpc_krxiod_queue_transport(177,4414 -void rxrpc_krxiod_dequeue_transport(206,5131 -void rxrpc_krxiod_queue_call(227,5666 -void rxrpc_krxiod_dequeue_call(248,6266 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/rxrpc_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/transport.c,619 -struct errormsg errormsg36,1040 -static spinlock_t rxrpc_transports_lock 42,1244 -static struct list_head rxrpc_transports 43,1306 -int rxrpc_create_transport(59,1945 -void rxrpc_clear_transport(155,4419 -void rxrpc_put_transport(165,4670 -int rxrpc_add_service(215,5926 -void rxrpc_del_service(250,6773 -static void rxrpc_data_ready(267,7228 -static void rxrpc_error_report(290,7912 -static int rxrpc_incoming_msg(315,8607 -void rxrpc_trans_receive_packet(454,12281 -static int rxrpc_trans_receive_new_call(585,15480 -int rxrpc_trans_immediate_abort(607,16048 -static void rxrpc_trans_receive_error_report(673,17721 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/main.c,186 -__be32 rxrpc_epoch;35,942 -static int rxrpc_initialise(41,1078 -static void __exit rxrpc_cleanup(100,2110 -void __cyg_profile_func_enter 145,3491 -void __cyg_profile_func_exit(164,4258 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/connection.c,576 -unsigned long rxrpc_conn_timeout 31,864 -static void __rxrpc_conn_timeout(33,909 -static const struct rxrpc_timer_ops rxrpc_conn_timer_ops 43,1161 -static inline int __rxrpc_create_connection(51,1383 -int rxrpc_create_connection(90,2392 -int rxrpc_connection_lookup(215,5743 -void rxrpc_put_connection(377,10398 -void rxrpc_conn_do_timeout(418,11314 -void rxrpc_conn_clearall(470,12521 -int rxrpc_conn_newmsg(518,13765 -void __rxrpc_put_message(596,15717 -int rxrpc_conn_sendmsg(620,16269 -int rxrpc_conn_receive_call_packet(671,17546 -void rxrpc_conn_handle_error(746,19290 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/call.c,1591 -unsigned rxrpc_call_rcv_timeout 29,800 -unsigned rxrpc_call_acks_timeout 30,841 -unsigned rxrpc_call_dfr_ack_timeout 31,882 -unsigned short rxrpc_call_max_resend 32,927 -const char *rxrpc_call_states[34,974 -const char *rxrpc_call_error_states[47,1188 -const char *rxrpc_pkts[55,1310 -const char *rxrpc_acks[61,1469 -static const char _acktype[66,1580 -#define _state(_state82,2250 -static void rxrpc_call_default_attn_func(85,2344 -static void rxrpc_call_default_error_func(90,2439 -static void rxrpc_call_default_aemap_func(95,2535 -static void __rxrpc_call_acks_timeout(107,2802 -static void __rxrpc_call_rcv_timeout(117,3047 -static void __rxrpc_call_ackr_timeout(127,3289 -static inline unsigned long __rxrpc_rtt_based_timeout(141,3665 -static inline int __rxrpc_create_call(160,4151 -int rxrpc_create_call(222,5923 -int rxrpc_incoming_call(319,8232 -void rxrpc_put_call(383,9653 -static inline int __rxrpc_call_gen_normal_ACK(470,11729 -static int rxrpc_call_generate_ACK(570,14513 -void rxrpc_call_do_stuff(783,20000 -static int __rxrpc_call_abort(837,21487 -int rxrpc_call_abort(916,23537 -static void rxrpc_call_receive_packet(928,23824 -static void rxrpc_call_receive_data_packet(1044,27117 -static void rxrpc_call_receive_ack_packet(1269,32943 -static void rxrpc_call_definitively_ACK(1416,36586 -static int rxrpc_call_record_ACK(1483,38402 -static int __rxrpc_call_read_data(1661,42949 -int rxrpc_call_read_data(1830,47574 -int rxrpc_call_write_data(1919,49530 -int rxrpc_call_flush(2082,53334 -static void rxrpc_call_resend(2164,55204 -void rxrpc_call_handle_error(2240,57096 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/internal.h,687 -#define RXRPC_INTERNAL_H7,131 -#define __RXACCT_DECL(__RXACCT_DECL16,245 -#define __RXACCT(__RXACCT17,272 -#define __RXACCT_DECL(__RXACCT_DECL19,318 -#define __RXACCT(__RXACCT20,343 -#define kenter(kenter32,671 -#define kleave(kleave33,742 -#define kdebug(kdebug34,813 -#define kproto(kproto35,867 -#define knet(knet36,921 -#define _enter(_enter39,981 -#define _leave(_leave40,1025 -#define _debug(_debug41,1069 -#define _proto(_proto42,1113 -#define _net(_net43,1157 -#define _enter(_enter45,1204 -#define _leave(_leave46,1283 -#define _debug(_debug47,1362 -#define _proto(_proto48,1441 -#define _net(_net49,1520 -static inline void rxrpc_discard_my_signals(52,1606 - -/export0/mef/linux-2.6.9-1.11_FC2/net/rxrpc/peer.c,361 -unsigned long rxrpc_peer_timeout 31,874 -static void __rxrpc_peer_timeout(33,924 -static const struct rxrpc_timer_ops rxrpc_peer_timer_ops 43,1164 -static int __rxrpc_create_peer(51,1376 -int rxrpc_peer_lookup(99,2712 -void rxrpc_put_peer(218,5769 -void rxrpc_peer_do_timeout(262,6795 -void rxrpc_peer_clearall(317,8166 -void rxrpc_peer_calculate_rtt(364,9436 - -/export0/mef/linux-2.6.9-1.11_FC2/net/key/af_key.c,3602 -#define _X2KEY(_X2KEY33,956 -#define _KEY2X(_KEY2X34,1002 -static rwlock_t pfkey_table_lock 40,1158 -static atomic_t pfkey_table_users 41,1211 -static atomic_t pfkey_socks_nr 43,1264 -struct pfkey_opt pfkey_opt45,1314 -#define pfkey_sk(pfkey_sk49,1367 -static void pfkey_sock_destruct(51,1433 -static void pfkey_table_grab(68,1782 -static __inline__ void pfkey_table_ungrab(90,2284 -static __inline__ void pfkey_lock_table(96,2403 -static __inline__ void pfkey_unlock_table(105,2607 -static struct proto_ops pfkey_ops;112,2737 -static void pfkey_insert(114,2773 -static void pfkey_remove(121,2896 -static int pfkey_create(128,3010 -static int pfkey_release(170,3760 -static int pfkey_broadcast_one(187,3986 -#define BROADCAST_ALL 216,4660 -#define BROADCAST_ONE 217,4685 -#define BROADCAST_REGISTERED 218,4710 -#define BROADCAST_PROMISC_ONLY 219,4741 -static int pfkey_broadcast(220,4774 -static inline void pfkey_hdr_dup(277,6174 -static int pfkey_error(282,6272 -static u8 sadb_ext_min_len[314,7059 -static int verify_address_len(342,8588 -static int present_and_same_family(386,9754 -static int parse_exthdrs(408,10221 -pfkey_satype2proto(451,11233 -pfkey_proto2satype(470,11550 -static uint8_t pfkey_proto_to_xfrm(490,11939 -static uint8_t pfkey_proto_from_xfrm(495,12042 -static int pfkey_sadb_addr2xfrm_addr(500,12142 -static struct xfrm_state *pfkey_xfrm_state_lookup(521,12656 -#define PFKEY_ALIGN8(PFKEY_ALIGN8562,13648 -pfkey_sockaddr_size(564,13711 -static struct sk_buff * pfkey_xfrm_state2msg(579,14015 -static struct xfrm_state * pfkey_msg2xfrm_state(898,25099 -static int pfkey_reserved(1113,31798 -static int pfkey_getspi(1118,31927 -static int pfkey_acquire(1219,34552 -static int pfkey_add(1244,35084 -static int pfkey_delete(1286,36121 -static int pfkey_get(1313,36697 -static struct sk_buff *compose_sadb_supported(1348,37675 -static int pfkey_register(1419,39318 -static int pfkey_flush(1448,40023 -struct pfkey_dump_datapfkey_dump_data1474,40700 -static int dump_sa(1481,40792 -static int pfkey_dump(1503,41465 -static int pfkey_promisc(1515,41785 -static int check_reqid(1531,42261 -static u32 gen_reqid(1543,42482 -parse_ipsecrequest(1560,42788 -parse_ipsecrequests(1622,44445 -static int pfkey_xfrm_policy2msg_size(1637,44871 -static struct sk_buff * pfkey_xfrm_policy2msg_prep(1653,45355 -static void pfkey_xfrm_policy2msg(1667,45612 -static int pfkey_spdadd(1862,52288 -static int pfkey_spddelete(1970,55765 -static int pfkey_spdget(2035,57632 -static int dump_sp(2075,58645 -static int pfkey_spddump(2098,59332 -static int pfkey_spdflush(2105,59551 -typedef int (*pfkey_handler)pfkey_handler2125,60122 -static pfkey_handler pfkey_funcs[2127,60237 -static int pfkey_process(2152,61003 -static struct sadb_msg *pfkey_get_base_msg(2170,61464 -static inline int aalg_tmpl_set(2197,62116 -static inline int ealg_tmpl_set(2202,62248 -static int count_ah_combs(2207,62380 -static int count_esp_combs(2221,62676 -static void dump_ah_combs(2245,63165 -static void dump_esp_combs(2277,64177 -static int pfkey_send_notify(2320,65558 -static u32 get_acqseq(2343,66183 -static int pfkey_send_acquire(2355,66405 -static struct xfrm_policy *pfkey_compile_policy(2480,70082 -static int pfkey_send_new_mapping(2542,71490 -static int pfkey_sendmsg(2691,75918 -static int pfkey_recvmsg(2733,76691 -static struct proto_ops pfkey_ops 2771,77447 -static struct net_proto_family pfkey_family_ops 2795,78095 -static int pfkey_read_proc(2802,78240 -static struct xfrm_mgr pfkeyv2_mgr 2852,79191 -static void __exit ipsec_pfkey_exit(2861,79397 -static int __init ipsec_pfkey_init(2868,79544 - -/export0/mef/linux-2.6.9-1.11_FC2/net/sysctl_net.c,35 -struct ctl_table net_table[33,652 - -/export0/mef/linux-2.6.9-1.11_FC2/init/do_mounts.h,342 -static inline void mount_devfs(27,614 -static inline void umount_devfs(28,654 -static inline int create_dev(30,708 -static inline u32 bstat(39,894 -static inline u32 bstat(51,1123 -static inline int rd_load_disk(69,1406 -static inline int rd_load_image(70,1458 -static inline int initrd_load(80,1593 -static inline void md_run_setup(90,1711 - -/export0/mef/linux-2.6.9-1.11_FC2/init/version.c,153 -#define version(version15,256 -#define version_string(version_string16,289 -struct new_utsname system_utsname 20,368 -const char *linux_banner 31,600 - -/export0/mef/linux-2.6.9-1.11_FC2/init/do_mounts_initrd.c,456 -#define __KERNEL_SYSCALLS__1,0 -unsigned long initrd_start,13,261 -unsigned long initrd_start, initrd_end;13,261 -int initrd_below_start_ok;14,301 -unsigned int real_root_dev;15,328 -static int __initdata old_fd,16,400 -static int __initdata old_fd, root_fd;16,400 -static int __initdata mount_initrd 17,439 -static int __init no_initrd(19,480 -static int __init do_linuxrc(27,587 -static void __init handle_initrd(41,927 -int __init initrd_load(103,2505 - -/export0/mef/linux-2.6.9-1.11_FC2/init/do_mounts_devfs.c,213 -void __init mount_devfs(9,132 -void __init umount_devfs(14,214 -static int __init do_read_dir(23,392 -static void * __init read_dir(45,878 -static int __init find_in_devfs(78,1453 -int __init create_dev(120,2423 - -/export0/mef/linux-2.6.9-1.11_FC2/init/initramfs.c,3051 -static __initdata char *message;10,200 -static void __init error(11,233 -static void __init *malloc(17,302 -static void __init free(22,382 -static struct hash hash29,456 -} *head[33,534 -static inline int hash(35,548 -static char __init *find_link(42,692 -static void __init free_hash(66,1211 -static __initdata unsigned long ino,80,1400 -static __initdata unsigned long ino, major,80,1400 -static __initdata unsigned long ino, major, minor,80,1400 -static __initdata unsigned long ino, major, minor, nlink;80,1400 -static __initdata mode_t mode;81,1458 -static __initdata unsigned long body_len,82,1489 -static __initdata unsigned long body_len, name_len;82,1489 -static __initdata uid_t uid;83,1541 -static __initdata gid_t gid;84,1570 -static __initdata unsigned rdev;85,1599 -static void __init parse_header(87,1633 -static __initdata enum state state112,2103 - Start,113,2134 - Collect,114,2142 - GotHeader,115,2152 - SkipIt,116,2164 - GotName,117,2173 - CopyFile,118,2183 - GotSymlink,119,2194 - Reset120,2207 -} state,121,2214 -} state, next_state;121,2214 -static __initdata char *victim;123,2236 -static __initdata unsigned count;124,2268 -static __initdata loff_t this_header,125,2302 -static __initdata loff_t this_header, next_header;125,2302 -static __initdata int dry_run;127,2354 -static inline void eat(129,2386 -#define N_ALIGN(N_ALIGN136,2472 -static __initdata char *collected;138,2519 -static __initdata int remains;139,2554 -static __initdata char *collect;140,2585 -static void __init read_into(142,2619 -static __initdata char *header_buf,156,2869 -static __initdata char *header_buf, *symlink_buf,156,2869 -static __initdata char *header_buf, *symlink_buf, *name_buf;156,2869 -static int __init do_start(158,2931 -static int __init do_collect(164,3020 -static int __init do_header(178,3235 -static int __init do_skip(208,3929 -static int __init do_reset(220,4115 -static int __init maybe_link(229,4267 -static __initdata int wfd;239,4457 -static int __init do_name(241,4485 -static int __init do_copy(276,5252 -static int __init do_symlink(292,5509 -static __initdata int (*actions[302,5737 -static int __init write_buffer(313,5975 -static void __init flush_buffer(323,6118 -#define OF(OF343,6462 -#define memzero(memzero346,6502 -typedef unsigned char uch;uch349,6557 -typedef unsigned short ush;ush350,6585 -typedef unsigned long ulg;ulg351,6613 -#define WSIZE 353,6642 -static uch *inbuf;356,6762 -static uch *window;357,6781 -static unsigned insize;359,6802 -static unsigned inptr;360,6854 -static unsigned outcnt;361,6929 -static long bytes_out;362,6983 -#define get_byte(get_byte364,7007 -#define Assert(Assert367,7110 -#define Trace(Trace368,7135 -#define Tracev(Tracev369,7152 -#define Tracevv(Tracevv370,7170 -#define Tracec(Tracec371,7189 -#define Tracecv(Tracecv372,7209 -#define STATIC 374,7231 -static void __init gzip_mark(383,7411 -static void __init gzip_release(387,7457 -static void __init flush_window(395,7708 -char * __init unpack_to_rootfs(412,8021 -void __init populate_rootfs(468,9284 - -/export0/mef/linux-2.6.9-1.11_FC2/init/do_mounts_md.c,413 -static int __initdata raid_noautodetect,15,414 -static int __initdata raid_noautodetect, raid_autopart;15,414 -} md_setup_args[23,561 -} md_setup_args[MAX_MD_DEVS] __initdata;23,561 -static int md_setup_ents __initdata;25,603 -static int __init md_setup(48,1803 -#define MdpMinorShift 119,3730 -static void __init md_setup_drive(121,3755 -static int __init raid_setup(239,6631 -void __init md_run_setup(267,7150 - -/export0/mef/linux-2.6.9-1.11_FC2/init/do_mounts_rd.c,1403 -#define BUILD_CRAMDISK13,238 -int __initdata rd_prompt 15,262 -static int __init prompt_ramdisk(17,340 -int __initdata rd_image_start;24,488 -static int __init ramdisk_start_setup(26,553 -identify_ramdisk_image(49,1134 -int __init rd_load_image(140,3459 -int __init rd_load_disk(261,6354 -#define OF(OF276,6668 -#define memzero(memzero279,6708 -typedef unsigned char uch;uch282,6763 -typedef unsigned short ush;ush283,6791 -typedef unsigned long ulg;ulg284,6819 -#define INBUFSIZ 286,6848 -#define WSIZE 287,6870 -static uch *inbuf;290,6990 -static uch *window;291,7009 -static unsigned insize;293,7030 -static unsigned inptr;294,7082 -static unsigned outcnt;295,7157 -static int exit_code;296,7211 -static int unzip_error;297,7233 -static long bytes_out;298,7257 -static int crd_infd,299,7280 -static int crd_infd, crd_outfd;299,7280 -#define get_byte(get_byte301,7313 -#define Assert(Assert304,7426 -#define Trace(Trace305,7451 -#define Tracev(Tracev306,7468 -#define Tracevv(Tracevv307,7486 -#define Tracec(Tracec308,7505 -#define Tracecv(Tracecv309,7525 -#define STATIC 311,7547 -static void __init *malloc(323,7822 -static void __init free(328,7902 -static void __init gzip_mark(333,7959 -static void __init gzip_release(337,8005 -static int __init fill_inbuf(347,8319 -static void __init flush_window(366,8753 -static void __init error(388,9306 -static int __init crd_load(395,9408 - -/export0/mef/linux-2.6.9-1.11_FC2/init/main.c,1871 -#define __KERNEL_SYSCALLS__12,366 -static inline void acpi_early_init(100,2723 -enum system_states system_state;107,2828 -#define MAX_INIT_ARGS 113,2929 -#define MAX_INIT_ENVS 114,2954 -char saved_command_line[122,3215 -static char *execute_command;124,3260 -static unsigned int max_cpus 127,3349 -static int __init nosmp(139,3742 -static int __init maxcpus(147,3834 -static char * argv_init[155,3948 -char * envp_init[156,4010 -static const char *panic_later,157,4081 -static const char *panic_later, *panic_param;157,4081 -static int __init obsolete_checksetup(159,4128 -static unsigned long preset_lpj;185,4761 -static int __init lpj_setup(186,4794 -unsigned long loops_per_jiffy 198,5080 -#define LPS_PREC 207,5332 -void __devinit calibrate_delay(209,5352 -static int __init debug_kernel(263,6653 -static int __init quiet_kernel(271,6758 -static int __init unknown_bootoption(286,7021 -static int __init init_setup(336,8123 -static void __init smp_init(359,8680 -#define smp_init(smp_init364,8751 -static inline void setup_per_cpu_areas(367,8795 -static inline void smp_prepare_cpus(368,8844 -unsigned long __per_cpu_offset[373,8939 -static void __init setup_per_cpu_areas(377,9015 -static void __init smp_init(401,9682 -static void noinline rest_init(435,10441 -static int __init do_early_param(445,10669 -void __init parse_early_param(462,11164 -asmlinkage void __init start_kernel(480,11542 -static int __initdata initcall_debug;576,13955 -static int __init initcall_debug_setup(578,13994 -struct task_struct *child_reaper 585,14130 -static void __init do_initcalls(589,14231 -static void __init do_basic_setup(631,15191 -static void do_pre_smp_initcalls(649,15473 -static void run_init_process(660,15651 -static inline void fixup_cpu_present_map(666,15783 -static int init(684,16173 -static int early_param_test(758,17811 -static int early_setup_test(764,17979 - -/export0/mef/linux-2.6.9-1.11_FC2/init/do_mounts.c,864 -int __initdata rd_doload;18,359 -int root_mountflags 20,426 -char * __initdata root_device_name;21,472 -static char __initdata saved_root_name[22,508 -dev_t ROOT_DEV;25,594 -static int __init load_ramdisk(29,637 -static int __init readonly(36,779 -static int __init readwrite(44,887 -static dev_t __init try_name(55,1049 -dev_t __init name_to_dev_t(137,3217 -static int __init root_dev_setup(208,4445 -static char * __initdata root_mount_data;216,4599 -static int __init root_data_setup(217,4641 -static char * __initdata root_fs_names;223,4726 -static int __init fs_names_setup(224,4766 -static void __init get_fs_names(233,4929 -static int __init do_mount_root(260,5370 -void __init mount_block_root(275,5799 -static int __init mount_nfs_root(311,6653 -void __init change_floppy(324,6944 -void __init mount_root(353,7599 -void __init prepare_namespace(383,8308 - -/export0/mef/linux-2.6.9-1.11_FC2/security/security.c,374 -#define SECURITY_SCAFFOLD_VERSION 21,655 -struct security_operations *security_ops;27,853 -static inline int verify 29,922 -static void __init do_security_initcalls(41,1213 -int __init security_scaffolding_startup 56,1551 -int register_security 85,2509 -int unregister_security 115,3442 -int mod_reg_security 141,4298 -int mod_unreg_security 171,5325 -int capable 192,6023 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/avc.c,1772 -#define AVC_CACHE_SLOTS 42,1127 -#define AVC_DEF_CACHE_THRESHOLD 43,1157 -#define AVC_CACHE_RECLAIM 44,1194 -#define avc_cache_stats_incr(avc_cache_stats_incr47,1266 -#define avc_cache_stats_incr(avc_cache_stats_incr53,1408 -struct avc_entry avc_entry56,1468 -struct avc_node avc_node64,1594 -struct avc_cache avc_cache70,1694 -struct avc_callback_node avc_callback_node78,1959 -unsigned int avc_cache_threshold 91,2239 -static struct avc_cache avc_cache;97,2414 -static struct avc_callback_node *avc_callbacks;98,2449 -static kmem_cache_t *avc_node_cachep;99,2497 -static inline int avc_hash(101,2536 -void avc_dump_av(111,2796 -void avc_dump_query(164,3938 -void __init avc_init(193,4600 -int avc_get_hash_stats(210,5022 -static void avc_node_free(238,5668 -static void avc_node_delete(245,5864 -static void avc_node_kill(252,6026 -static void avc_node_replace(259,6189 -static inline int avc_reclaim_node(266,6387 -static struct avc_node *avc_alloc_node(296,7143 -static void avc_node_populate(317,7578 -static inline struct avc_node *avc_search_node(325,7819 -static struct avc_node *avc_lookup(366,8850 -static int avc_latest_notif_update(384,9216 -static struct avc_node *avc_insert(423,10363 -static inline void avc_print_ipv6_addr(454,11147 -static inline void avc_print_ipv4_addr(465,11488 -void avc_audit(493,12555 -int avc_add_callback(684,17361 -static inline int avc_sidcmp(710,17935 -static int avc_update_node(726,18460 -static int avc_update_cache(791,19839 -static int avc_control(821,20551 -int avc_ss_grant(876,21989 -int avc_ss_try_revoke(896,22692 -int avc_ss_revoke(914,23285 -int avc_ss_reset(925,23581 -int avc_ss_set_auditallow(962,24494 -int avc_ss_set_auditdeny(982,25154 -int avc_has_perm_noaudit(1012,26462 -int avc_has_perm(1070,28075 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/nlmsgtab.c,366 -struct nlmsg_permnlmsg_perm26,716 -static struct nlmsg_perm nlmsg_route_perms[32,768 -static struct nlmsg_perm nlmsg_firewall_perms[65,2413 -static struct nlmsg_perm nlmsg_tcpdiag_perms[71,2582 -static struct nlmsg_perm nlmsg_xfrm_perms[76,2695 -static struct nlmsg_perm nlmsg_audit_perms[89,3261 -static int nlmsg_perm(101,3683 -int selinux_nlmsg_lookup(115,3963 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/selinuxfs.c,3226 -static struct dentry *bool_dir 40,1104 -static int bool_num 41,1143 -static int *bool_pending_values 42,1168 -int task_has_security(47,1323 -enum sel_inos sel_inos60,1578 - SEL_ROOT_INO 61,1594 - SEL_LOAD,62,1613 - SEL_ENFORCE,63,1642 - SEL_CONTEXT,64,1690 - SEL_ACCESS,65,1727 - SEL_CREATE,66,1770 - SEL_RELABEL,67,1822 - SEL_USER,68,1870 - SEL_POLICYVERS,69,1919 - SEL_COMMIT_BOOLS,70,1980 - SEL_MLS,71,2031 - SEL_DISABLE,72,2079 - SEL_AVC,73,2133 -#define TMPBUFLEN 76,2178 -static ssize_t sel_read_enforce(77,2199 -static ssize_t sel_write_enforce(88,2519 -#define sel_write_enforce 128,3356 -static struct file_operations sel_enforce_ops 131,3395 -static ssize_t sel_write_disable(137,3546 -#define sel_write_disable 175,4247 -static struct file_operations sel_disable_ops 178,4286 -static ssize_t sel_read_policyvers(182,4370 -static struct file_operations sel_policyvers_ops 192,4688 -static ssize_t sel_read_mls(199,4847 -static struct file_operations sel_mls_ops 209,5126 -static ssize_t sel_write_load(213,5200 -static struct file_operations sel_load_ops 258,5951 -static ssize_t sel_write_context(263,6030 -static struct file_operations sel_context_ops 298,6706 -static ssize_t (*write_op[311,7177 -static ssize_t (*write_op[])(struct file 311,7177 -static ssize_t (*write_op[])(struct file *, char *, size_t)311,7177 -static ssize_t selinux_transaction_write(318,7379 -static struct file_operations transaction_ops 339,7864 -static ssize_t sel_write_access(351,8197 -static ssize_t sel_write_create(402,9266 -static ssize_t sel_write_relabel(463,10499 -static ssize_t sel_write_user(522,11632 -static struct inode *sel_make_inode(585,12821 -#define BOOL_INO_OFFSET 599,13132 -static ssize_t sel_read_bool(601,13160 -static ssize_t sel_write_bool(662,14316 -static struct file_operations sel_bool_ops 715,15292 -static ssize_t sel_commit_bools_write(720,15412 -static struct file_operations sel_commit_bools_ops 772,16325 -static void sel_remove_bools(778,16511 -#define BOOL_DIR_NAME 815,17284 -static int sel_make_bools(817,17318 -#define NULL_FILE_NAME 894,18947 -struct dentry *selinux_null 896,18978 -static ssize_t sel_read_avc_cache_threshold(898,19015 -static ssize_t sel_write_avc_cache_threshold(908,19315 -static ssize_t sel_read_avc_hash_stats(957,20145 -static struct file_operations sel_avc_cache_threshold_ops 976,20550 -static struct file_operations sel_avc_hash_stats_ops 981,20698 -static struct avc_cache_stats *sel_avc_get_stat_idx(986,20835 -static void *sel_avc_stats_seq_start(999,21074 -static void *sel_avc_stats_seq_next(1009,21252 -static int sel_avc_stats_seq_show(1014,21372 -static void sel_avc_stats_seq_stop(1028,21732 -static struct seq_operations sel_avc_cache_stats_seq_ops 1031,21803 -static int sel_open_avc_cache_stats(1038,22006 -static struct file_operations sel_avc_cache_stats_ops 1043,22141 -struct dentry *sel_alloc_name(1052,22349 -static int sel_make_avc_files(1062,22552 -static int sel_make_dir(1099,23331 -static int sel_fill_super(1116,23676 -static struct super_block *sel_get_sb(1198,26034 -static struct file_system_type sel_fs_type 1204,26227 -struct vfsmount *selinuxfs_mount;1210,26356 -static int __init init_sel_fs(1212,26391 -void exit_sel_fs(1233,26813 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/services.c,1498 -static rwlock_t policy_rwlock 45,1329 -#define POLICY_RDLOCK 46,1379 -#define POLICY_WRLOCK 47,1427 -#define POLICY_RDUNLOCK 48,1480 -#define POLICY_WRUNLOCK 49,1532 -#define LOAD_LOCK 52,1622 -#define LOAD_UNLOCK 53,1656 -struct sidtab sidtab;55,1691 -struct policydb policydb;56,1713 -int ss_initialized 57,1739 -static u32 latest_granting 65,1954 -static int constraint_expr_eval(72,2128 -static int context_struct_compute_av(195,4539 -int security_compute_av(305,7849 -int context_struct_to_string(354,8952 -int security_sid_to_context(405,10619 -int security_context_to_sid(452,11887 -static int compute_sid_handle_invalid_context(567,14163 -static int security_compute_sid(597,14869 -int security_transition_sid(774,19381 -int security_member_sid(795,20079 -int security_change_sid(816,20730 -static int validate_perm(829,21029 -static int validate_class(860,21677 -static int clone_sid(908,23007 -static inline int convert_context_handle_invalid_context(917,23158 -struct convert_context_args convert_context_args934,23468 -static int convert_context(946,23784 -int security_load_policy(1025,25571 -int security_port_sid(1126,27820 -int security_netif_sid(1170,28596 -static int match_ipv6_addrmask(1211,29274 -int security_node_sid(1231,29676 -#define SIDS_NEL 1298,30677 -int security_get_user_sids(1314,31151 -int security_genfs_sid(1417,33558 -int security_fs_use(1474,34594 -int security_get_bools(1516,35261 -int security_set_bools(1565,36239 -int security_get_bool_value(1610,37083 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/hashtab.h,177 -#define _SS_HASHTAB_H_11,353 -#define HASHTAB_MAX_NODES 13,377 -struct hashtab_node hashtab_node15,415 -struct hashtab hashtab21,495 -struct hashtab_info hashtab_info31,833 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/ebitmap.c,222 -int ebitmap_or(12,228 -int ebitmap_cmp(55,1135 -int ebitmap_cpy(77,1477 -int ebitmap_contains(106,1985 -int ebitmap_get_bit(133,2409 -int ebitmap_set_bit(154,2743 -void ebitmap_destroy(219,3950 -int ebitmap_read(238,4164 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/mls_types.h,468 -#define _SS_MLS_TYPES_H_7,148 -struct mls_level mls_level9,174 -struct mls_range mls_range14,267 -struct mls_range_list mls_range_list18,358 -#define MLS_RELATION_DOM 23,441 -#define MLS_RELATION_DOMBY 24,491 -#define MLS_RELATION_EQ 25,543 -#define MLS_RELATION_INCOMP 26,609 -#define mls_level_eq(mls_level_eq28,681 -#define mls_level_relation(mls_level_relation31,775 -#define mls_range_contains(mls_range_contains40,1145 -struct mls_perms mls_perms51,1535 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/sidtab.c,563 -#define SIDTAB_HASH(SIDTAB_HASH15,291 -#define INIT_SIDTAB_LOCK(INIT_SIDTAB_LOCK18,344 -#define SIDTAB_LOCK(SIDTAB_LOCK19,397 -#define SIDTAB_UNLOCK(SIDTAB_UNLOCK20,454 -int sidtab_init(22,519 -int sidtab_insert(38,812 -int sidtab_remove(90,1673 -struct context *sidtab_search(126,2198 -int sidtab_map(153,2746 -void sidtab_map_remove_on_error(178,3152 -static inline u32 sidtab_search_context(217,3815 -int sidtab_context_to_sid(234,4132 -void sidtab_hash_eval(271,4837 -void sidtab_destroy(298,5404 -void sidtab_set(322,5778 -void sidtab_shutdown(334,6018 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/conditional.c,588 -static int cond_evaluate_expr(26,780 -int evaluate_cond_node(90,2042 -int cond_policydb_init(121,2862 -static void cond_av_list_destroy(131,3024 -static void cond_node_destroy(141,3258 -static void cond_list_destroy(154,3577 -void cond_policydb_destroy(167,3792 -int cond_init_bool_indexes(175,3981 -int cond_destroy_bool(186,4273 -int cond_index_bool(194,4383 -int bool_isvalid(211,4739 -int cond_read_bool(218,4851 -static int cond_read_av_list(258,5645 -static int expr_isvalid(356,7980 -static int cond_read_node(370,8333 -int cond_read_list(425,9368 -void cond_compute_av(462,10074 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/mls.c,731 -void mls_compute_av(18,369 -int mls_compute_context_len(72,2373 -int mls_sid_to_context(98,3071 -int mls_context_isvalid(138,4077 -int mls_context_to_sid(210,6011 -static inline int mls_copy_context(302,7913 -int mls_convert_context(325,8435 -int mls_compute_sid(363,9340 -void mls_user_destroy(390,10058 -int mls_read_perm(403,10345 -struct mls_level *mls_read_level(418,10624 -static int mls_read_range_helper(454,11265 -int mls_read_range(505,12314 -int mls_read_class(515,12498 -int mls_read_user(532,12901 -int mls_read_nlevels(570,13468 -int mls_read_trusted(581,13647 -int sens_index(603,14028 -int cat_index(618,14266 -int sens_destroy(634,14495 -int cat_destroy(648,14738 -int sens_read(655,14831 -int cat_read(708,15691 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/sidtab.h,226 -#define _SS_SIDTAB_H_8,194 -struct sidtab_node sidtab_node12,239 -#define SIDTAB_HASH_BITS 18,386 -#define SIDTAB_HASH_BUCKETS 19,413 -#define SIDTAB_HASH_MASK 20,465 -#define SIDTAB_SIZE 22,515 -struct sidtab sidtab24,556 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/policydb.c,2042 -#define _DEBUG_HASHES27,681 -static char *symtab_name[30,724 -int policydb_loaded_version;41,862 -static unsigned int symtab_sizes[43,892 -struct policydb_compat_info policydb_compat_info53,990 -static struct policydb_compat_info policydb_compat[60,1129 -static struct policydb_compat_info *policydb_lookup_compat(83,1641 -int roles_init(100,1979 -int policydb_init(139,2649 -static int common_index(185,3554 -static int class_index(198,3850 -static int role_index(212,4200 -static int type_index(226,4516 -static int user_index(243,4838 -static int (*index_f[257,5182 -static int (*index_f[SYM_NUM]) (void *key,257,5182 -static int (*index_f[SYM_NUM]) (void *key, void *datum,257,5182 -static int (*index_f[SYM_NUM]) (void *key, void *datum, void *datap)257,5182 -int policydb_index_classes(275,5533 -static void symtab_hash_eval(310,6236 -int policydb_index_others(332,6747 -static int perm_destroy(392,8064 -static int common_destroy(399,8165 -static int class_destroy(411,8430 -static int role_destroy(439,9050 -static int type_destroy(451,9261 -static int user_destroy(458,9362 -static int (*destroy_f[470,9578 -static int (*destroy_f[SYM_NUM]) (void *key,470,9578 -static int (*destroy_f[SYM_NUM]) (void *key, void *datum,470,9578 -static int (*destroy_f[SYM_NUM]) (void *key, void *datum, void *datap)470,9578 -void ocontext_destroy(481,9769 -void policydb_destroy(494,10070 -int policydb_load_isids(551,11085 -int policydb_context_isvalid(585,11826 -static int context_read_and_validate(632,12803 -static int perm_read(670,13600 -static int common_read(719,14423 -static int class_read(777,15477 -static int role_read(944,18572 -static int type_read(1009,19644 -static int user_read(1056,20453 -static int (*read_f[1111,21342 -static int (*read_f[SYM_NUM]) (struct policydb *p,1111,21342 -static int (*read_f[SYM_NUM]) (struct policydb *p, struct hashtab *h,1111,21342 -static int (*read_f[SYM_NUM]) (struct policydb *p, struct hashtab *h, void *fp)1111,21342 -#define mls_config(mls_config1122,21521 -int policydb_read(1129,21725 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/conditional.h,379 -#define _CONDITIONAL_H_11,369 -#define COND_EXPR_MAXDEPTH 17,456 -struct cond_expr cond_expr23,589 -#define COND_BOOL 24,608 -#define COND_NOT 25,645 -#define COND_OR 26,676 -#define COND_AND 27,714 -#define COND_XOR 28,752 -#define COND_EQ 29,789 -#define COND_NEQ 30,827 -#define COND_LAST 31,865 -struct cond_av_list cond_av_list42,1116 -struct cond_node cond_node54,1502 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/mls.h,1530 -#define _SS_MLS_H_7,128 -#define mls_for_user_ranges(mls_for_user_ranges44,1240 -#define mls_end_user_ranges 49,1427 -#define mls_symtab_names 51,1460 -#define mls_symtab_sizes 52,1510 -#define mls_index_f 53,1544 -#define mls_destroy_f 54,1587 -#define mls_read_f 55,1636 -#define mls_write_f 56,1676 -#define mls_policydb_index_others(mls_policydb_index_others57,1719 -#define mls_set_config(mls_set_config59,1792 -#define mls_compute_av(mls_compute_av71,2244 -#define mls_compute_context_len(mls_compute_context_len72,2310 -#define mls_sid_to_context(mls_sid_to_context73,2353 -#define mls_context_isvalid(mls_context_isvalid74,2401 -#define mls_context_to_sid(mls_context_to_sid75,2437 -#define mls_convert_context(mls_convert_context76,2494 -#define mls_compute_sid(mls_compute_sid77,2539 -#define mls_for_user_ranges(mls_for_user_ranges78,2617 -#define mls_end_user_ranges79,2660 -#define mls_symtab_names80,2688 -#define mls_symtab_sizes81,2713 -#define mls_index_f82,2738 -#define mls_destroy_f83,2758 -#define mls_read_f84,2780 -#define mls_write_f85,2799 -#define mls_policydb_index_others(mls_policydb_index_others86,2819 -#define mls_set_config(mls_set_config87,2856 -#define mls_user_destroy(mls_user_destroy88,2887 -#define mls_read_range(mls_read_range89,2922 -#define mls_read_perm(mls_read_perm90,2954 -#define mls_read_class(mls_read_class91,2985 -#define mls_read_user(mls_read_user92,3017 -#define mls_read_nlevels(mls_read_nlevels93,3048 -#define mls_read_trusted(mls_read_trusted94,3082 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/ebitmap.h,311 -#define _SS_EBITMAP_H_15,461 -#define MAPTYPE 17,485 -#define MAPSIZE 18,544 -#define MAPBIT 19,618 -struct ebitmap_node ebitmap_node21,673 -struct ebitmap ebitmap27,842 -#define ebitmap_length(ebitmap_length32,979 -#define ebitmap_startbit(ebitmap_startbit33,1020 -static inline void ebitmap_init(35,1087 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/services.h,30 -#define _SS_SERVICES_H_7,128 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/context.h,583 -#define _SS_CONTEXT_H_16,584 -struct context context25,761 -static inline void mls_context_init(36,918 -static inline int mls_context_cpy(41,1019 -static inline int mls_context_cmp(58,1453 -static inline void mls_context_destroy(66,1786 -static inline void mls_context_init(75,1962 -static inline int mls_context_cpy(78,2022 -static inline int mls_context_cmp(81,2113 -static inline void mls_context_destroy(84,2202 -static inline void context_init(89,2273 -static inline int context_cpy(94,2356 -static inline void context_destroy(102,2540 -static inline int context_cmp(108,2658 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/avtab.c,506 -#define AVTAB_HASH(AVTAB_HASH25,639 -static kmem_cache_t *avtab_node_cachep;31,771 -avtab_insert_node(34,838 -int avtab_insert(56,1396 -avtab_insert_nonunique(96,2570 -struct avtab_datum *avtab_search(127,3486 -avtab_search_node(161,4419 -avtab_search_node_next(191,5212 -void avtab_destroy(218,5977 -int avtab_map(240,6324 -int avtab_init(264,6726 -void avtab_hash_eval(277,6945 -int avtab_read_item(304,7507 -int avtab_read(363,9336 -void avtab_cache_init(404,10111 -void avtab_cache_destroy(411,10274 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/constraint.h,542 -#define _SS_CONSTRAINT_H_16,611 -#define CEXPR_MAXDEPTH 20,660 -struct constraint_expr constraint_expr22,686 -#define CEXPR_NOT 23,711 -#define CEXPR_AND 24,747 -#define CEXPR_OR 25,788 -#define CEXPR_ATTR 26,827 -#define CEXPR_NAMES 27,868 -#define CEXPR_USER 30,951 -#define CEXPR_ROLE 31,984 -#define CEXPR_TYPE 32,1017 -#define CEXPR_TARGET 33,1050 -#define CEXPR_EQ 36,1141 -#define CEXPR_NEQ 37,1180 -#define CEXPR_DOM 38,1213 -#define CEXPR_DOMBY 39,1247 -#define CEXPR_INCOMP 40,1284 -struct constraint_node constraint_node48,1443 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/symtab.h,58 -#define _SS_SYMTAB_H_10,301 -struct symtab symtab14,346 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/policydb.h,2018 -#define _SS_POLICYDB_H_19,567 -struct perm_datum perm_datum35,943 -#define MLS_BASE_READ 38,1036 -#define MLS_BASE_WRITE 39,1096 -#define MLS_BASE_READBY 40,1157 -#define MLS_BASE_WRITEBY 41,1219 -struct common_datum common_datum47,1397 -struct class_datum class_datum53,1541 -struct role_datum role_datum65,1958 -struct role_trans role_trans71,2154 -struct role_allow role_allow78,2308 -struct type_datum type_datum85,2442 -struct user_datum user_datum91,2571 -struct level_datum level_datum102,2882 -struct cat_datum cat_datum108,3075 -struct cond_bool_datum cond_bool_datum115,3244 -struct ocontext ocontext129,3660 -struct genfs genfs155,4246 -#define SYM_COMMONS 162,4358 -#define SYM_CLASSES 163,4380 -#define SYM_ROLES 164,4402 -#define SYM_TYPES 165,4424 -#define SYM_USERS 166,4446 -#define SYM_LEVELS 168,4503 -#define SYM_CATS 169,4525 -#define SYM_BOOLS 170,4547 -#define SYM_NUM 171,4569 -#define SYM_BOOLS 173,4597 -#define SYM_NUM 174,4619 -#define OCON_ISID 178,4684 -#define OCON_FS 179,4724 -#define OCON_PORT 180,4774 -#define OCON_NETIF 181,4826 -#define OCON_NODE 182,4872 -#define OCON_FSUSE 183,4905 -#define OCON_NODE6 184,4939 -#define OCON_NUM 185,4977 -struct policydb policydb188,5025 -#define p_commons 191,5096 -#define p_classes 192,5134 -#define p_roles 193,5172 -#define p_types 194,5206 -#define p_users 195,5240 -#define p_levels 196,5274 -#define p_cats 197,5310 -#define p_bools 198,5342 -#define p_common_val_to_name 202,5454 -#define p_class_val_to_name 203,5512 -#define p_role_val_to_name 204,5569 -#define p_type_val_to_name 205,5623 -#define p_user_val_to_name 206,5677 -#define p_sens_val_to_name 207,5731 -#define p_cat_val_to_name 208,5786 -#define p_bool_val_to_name 209,5838 -#define PERM_SYMTAB_SIZE 259,7479 -#define POLICYDB_CONFIG_MLS 261,7508 -#define OBJECT_R 263,7542 -#define OBJECT_R_VAL 264,7570 -#define POLICYDB_MAGIC 266,7594 -#define POLICYDB_STRING 267,7631 -struct policy_file policy_file269,7667 -static inline void *next_entry(274,7718 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/hashtab.c,283 -struct hashtab *hashtab_create(11,199 -int hashtab_insert(39,800 -int hashtab_remove(76,1557 -int hashtab_replace(109,2172 -void *hashtab_search(151,3071 -void hashtab_destroy(170,3420 -int hashtab_map(194,3739 -void hashtab_map_remove_on_error(218,4097 -void hashtab_stat(256,4871 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/symtab.c,86 -static unsigned int symhash(12,226 -static int symcmp(26,525 -int symtab_init(36,675 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/ss/avtab.h,853 -#define _SS_AVTAB_H_21,675 -struct avtab_key avtab_key23,697 -struct avtab_datum avtab_datum29,837 -#define AVTAB_ALLOWED 30,858 -#define AVTAB_AUDITALLOW 31,886 -#define AVTAB_AUDITDENY 32,914 -#define AVTAB_AV 33,942 -#define AVTAB_TRANSITION 34,1020 -#define AVTAB_MEMBER 35,1048 -#define AVTAB_CHANGE 36,1076 -#define AVTAB_TYPE 37,1104 -#define AVTAB_ENABLED 38,1178 -#define avtab_allowed(avtab_allowed41,1344 -#define avtab_auditdeny(avtab_auditdeny42,1382 -#define avtab_auditallow(avtab_auditallow43,1422 -#define avtab_transition(avtab_transition44,1463 -#define avtab_change(avtab_change45,1504 -#define avtab_member(avtab_member46,1541 -struct avtab_node avtab_node49,1582 -struct avtab avtab55,1682 -#define AVTAB_HASH_BITS 84,2693 -#define AVTAB_HASH_BUCKETS 85,2720 -#define AVTAB_HASH_MASK 86,2770 -#define AVTAB_SIZE 88,2818 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/hooks.c,9334 -#define XATTR_SELINUX_SUFFIX 72,2136 -#define XATTR_NAME_SELINUX 73,2175 -int selinux_enforcing 79,2394 -static int __init enforcing_setup(81,2422 -int selinux_enabled 90,2619 -static int __init selinux_enabled_setup(92,2683 -static struct security_operations *original_ops 101,2889 -static struct security_operations *secondary_ops 107,3176 -static spinlock_t sb_security_lock 112,3379 -static int task_alloc_security(116,3504 -static void task_free_security(133,3908 -static int inode_alloc_security(144,4117 -static void inode_free_security(169,4755 -static int file_alloc_security(186,5162 -static void file_free_security(210,5740 -static int superblock_alloc_security(221,5946 -static void superblock_free_security(243,6508 -static int sk_alloc_security(260,6890 -static void sk_free_security(280,7268 -static char *labeling_behaviors[298,7721 -static inline int inode_doinit(309,7994 - Opt_context 315,8105 - Opt_fscontext 316,8123 - Opt_defcontext 317,8143 -static match_table_t tokens 320,8168 -#define SEL_MOUNT_FAIL_MSG 326,8304 -static int try_context_mount(328,8386 -static int superblock_doinit(499,12008 -static inline u16 inode_mode_to_security_class(604,15174 -static inline u16 socket_type_to_security_class(627,15589 -static int selinux_proc_get_sid(683,16911 -static int selinux_proc_get_sid(715,17537 -static int inode_doinit_with_dentry(724,17731 -#define INITCONTEXTLEN 730,17958 -static inline u32 signal_to_av(892,21848 -int task_has_perm(920,22390 -int task_has_capability(933,22723 -int task_has_system(950,23101 -int inode_has_perm(964,23484 -static inline int dentry_has_perm(988,24078 -static inline int file_has_perm(1009,24837 -static int may_create(1042,25598 -#define MAY_LINK 1084,26541 -#define MAY_UNLINK 1085,26562 -#define MAY_RMDIR 1086,26583 -static int may_link(1089,26677 -static inline int may_rename(1132,27521 -int superblock_has_perm(1189,29072 -static inline u32 file_mask_to_av(1204,29477 -static inline u32 file_to_av(1232,29984 -int inode_security_set_sid(1249,30285 -static int post_create(1268,30782 -static int selinux_ptrace(1348,32893 -static int selinux_capget(1365,33344 -static int selinux_capset_check(1377,33680 -static void selinux_capset_set(1389,34034 -static int selinux_capable(1401,34371 -static int selinux_sysctl(1412,34548 -static int selinux_quotactl(1452,35411 -static int selinux_quota_on(1483,35991 -static int selinux_syslog(1488,36090 -static int selinux_vm_enough_memory(1529,37350 -static int selinux_bprm_alloc_security(1590,38779 -static int selinux_bprm_set_security(1608,39153 -static int selinux_bprm_check_security 1683,40872 -static int selinux_bprm_secureexec 1689,40995 -static void selinux_bprm_free_security(1706,41486 -static inline void flush_unauthorized_files(1717,41772 -static void selinux_bprm_apply_creds(1798,43681 -static int selinux_sb_alloc_security(1905,47065 -static void selinux_sb_free_security(1910,47170 -static inline int match_prefix(1915,47267 -static inline int selinux_option(1923,47421 -static inline void take_option(1930,47707 -static int selinux_sb_copy_data(1942,47890 -static int selinux_sb_kern_mount(1985,48735 -static int selinux_sb_statfs(1999,49030 -static int selinux_mount(2008,49244 -static int selinux_umount(2028,49796 -static int selinux_inode_alloc_security(2042,50074 -static void selinux_inode_free_security(2047,50177 -static int selinux_inode_create(2052,50272 -static void selinux_inode_post_create(2057,50409 -static int selinux_inode_link(2062,50531 -static void selinux_inode_post_link(2072,50776 -static int selinux_inode_unlink(2077,50901 -static int selinux_inode_symlink(2087,51103 -static void selinux_inode_post_symlink(2092,51253 -static int selinux_inode_mkdir(2097,51384 -static void selinux_inode_post_mkdir(2102,51519 -static int selinux_inode_rmdir(2107,51640 -static int selinux_inode_mknod(2112,51760 -static void selinux_inode_post_mknod(2123,52019 -static int selinux_inode_rename(2128,52151 -static void selinux_inode_post_rename(2134,52390 -static int selinux_inode_readlink(2140,52584 -static int selinux_inode_follow_link(2145,52706 -static int selinux_inode_permission(2155,52950 -static int selinux_inode_setattr(2173,53314 -static int selinux_inode_getattr(2188,53708 -static int selinux_inode_setxattr(2193,53853 -static void selinux_inode_post_setxattr(2248,55301 -static int selinux_inode_getxattr 2272,55919 -static int selinux_inode_listxattr 2283,56240 -static int selinux_inode_removexattr 2288,56367 -static int selinux_inode_getsecurity(2310,57074 -static int selinux_inode_setsecurity(2339,57668 -static int selinux_inode_listsecurity(2360,58129 -static int selinux_file_permission(2370,58395 -static int selinux_file_alloc_security(2387,58820 -static void selinux_file_free_security(2392,58918 -static int selinux_file_ioctl(2397,59008 -static int file_map_prot_check(2443,59971 -static int selinux_file_mmap(2461,60374 -static int selinux_file_mprotect(2473,60634 -static int selinux_file_lock(2485,60879 -static int selinux_file_fcntl(2490,61000 -static int selinux_file_set_fowner(2534,61925 -static int selinux_file_send_sigiotask(2546,62151 -static int selinux_file_receive(2570,62790 -static int selinux_task_create(2577,62934 -static int selinux_task_alloc_security(2588,63133 -static void selinux_task_free_security(2615,63739 -static int selinux_task_setuid(2620,63834 -static int selinux_task_post_setuid(2631,64236 -static int selinux_task_setgid(2636,64381 -static int selinux_task_setpgid(2642,64513 -static int selinux_task_getpgid(2647,64638 -static int selinux_task_getsid(2652,64751 -static int selinux_task_setgroups(2657,64866 -static int selinux_task_setnice(2663,64988 -static int selinux_task_setrlimit(2674,65188 -static int selinux_task_setscheduler(2693,65775 -static int selinux_task_getscheduler(2707,66229 -static int selinux_task_kill(2712,66348 -static int selinux_task_prctl(2733,66793 -static int selinux_task_wait(2745,67127 -static void selinux_task_reparent_to_init(2754,67276 -static void selinux_task_to_inode(2766,67515 -static int selinux_parse_skb_ipv4(2780,67855 -static int selinux_parse_skb_ipv6(2841,69170 -static int selinux_parse_skb(2898,70298 -static int socket_has_perm(2931,70993 -static int selinux_socket_create(2953,71461 -static void selinux_socket_post_create(2971,71803 -#define ip_local_port_range_0 2993,72445 -#define ip_local_port_range_1 2994,72502 -static int selinux_socket_bind(2996,72560 -static int selinux_socket_connect(3087,74770 -static int selinux_socket_listen(3092,74926 -static int selinux_socket_accept(3097,75054 -static int selinux_socket_sendmsg(3119,75530 -static int selinux_socket_recvmsg(3125,75682 -static int selinux_socket_getsockname(3131,75843 -static int selinux_socket_getpeername(3136,75964 -static int selinux_socket_setsockopt(3141,76085 -static int selinux_socket_getsockopt(3146,76226 -static int selinux_socket_shutdown(3152,76378 -static int selinux_socket_unix_stream_connect(3157,76506 -static int selinux_socket_unix_may_send(3194,77350 -static int selinux_socket_sock_rcv_skb(3216,77829 -static int selinux_socket_getpeersec(3317,80040 -static int selinux_sk_alloc_security(3355,80781 -static void selinux_sk_free_security(3360,80915 -static int selinux_nlmsg_perm(3365,80997 -static unsigned int selinux_ip_postroute_last(3394,81563 -static unsigned int selinux_ipv4_postroute_last(3495,84082 -static unsigned int selinux_ipv6_postroute_last(3506,84425 -static inline int selinux_nlmsg_perm(3521,84769 -static int selinux_netlink_send(3528,84898 -static int selinux_netlink_recv(3543,85219 -static int ipc_alloc_security(3550,85363 -static void ipc_free_security(3575,85922 -static int msg_msg_alloc_security(3585,86130 -static void msg_msg_free_security(3602,86494 -static int ipc_has_perm(3612,86697 -static int selinux_msg_msg_alloc_security(3628,87069 -static void selinux_msg_msg_free_security(3633,87174 -static int selinux_msg_queue_alloc_security(3639,87311 -static void selinux_msg_queue_free_security(3665,87856 -static int selinux_msg_queue_associate(3670,87962 -static int selinux_msg_queue_msgctl(3686,88351 -static int selinux_msg_queue_msgsnd(3714,88892 -static int selinux_msg_queue_msgrcv(3760,90045 -static int selinux_shm_alloc_security(3786,90707 -static void selinux_shm_free_security(3812,91254 -static int selinux_shm_associate(3817,91359 -static int selinux_shm_shmctl(3834,91793 -static int selinux_shm_shmat(3866,92392 -static int selinux_sem_alloc_security(3885,92776 -static void selinux_sem_free_security(3911,93320 -static int selinux_sem_associate(3916,93422 -static int selinux_sem_semctl(3933,93853 -static int selinux_sem_semop(3974,94579 -static int selinux_ipc_permission(3987,94838 -int selinux_register_security 4009,95281 -int selinux_unregister_security 4026,95674 -static void selinux_d_instantiate 4039,95978 -static int selinux_getprocattr(4045,96117 -static int selinux_setprocattr(4090,96940 -struct security_operations selinux_ops 4143,98437 -__init int selinux_init(4291,104353 -void selinux_complete_init(4324,105193 -static struct nf_hook_ops selinux_ipv4_op 4359,106241 -static struct nf_hook_ops selinux_ipv6_op 4369,106496 -static int __init selinux_nf_ip_init(4379,106716 -static void selinux_nf_ip_exit(4406,107282 -#define selinux_nf_ip_exit(selinux_nf_ip_exit4420,107644 -int selinux_disable(4426,107778 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/netif.c,943 -#define SEL_NETIF_HASH_SIZE 28,751 -#define SEL_NETIF_HASH_MAX 29,782 -#define DEBUGP 34,842 -#define DEBUGP(DEBUGP36,870 -struct sel_netifsel_netif39,910 -static u32 sel_netif_total;46,1020 -static spinlock_t sel_netif_lock 48,1082 -static struct list_head sel_netif_hash[49,1137 -static inline u32 sel_netif_hasfn(51,1199 -static inline struct sel_netif *sel_netif_find(60,1409 -static int sel_netif_insert(74,1773 -static void sel_netif_free(90,2062 -static void sel_netif_destroy(98,2260 -static struct sel_netif *sel_netif_lookup(107,2473 -static void sel_netif_assign_sids(161,3441 -static int sel_netif_sids_slow(169,3637 -int sel_netif_sids(180,3926 -static void sel_netif_kill(198,4321 -static void sel_netif_flush(209,4540 -static int sel_netif_avc_callback(223,4826 -static int sel_netif_netdev_notifier_handler(233,5059 -static struct notifier_block sel_netif_netdev_notifier 244,5319 -static __init int sel_netif_init(248,5435 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/netlink.c,253 -static struct sock *selnl;21,578 -static int selnl_msglen(23,606 -static void selnl_add_payload(42,888 -static void selnl_notify(66,1328 -void selnl_notify_setenforce(94,1885 -void selnl_notify_policyload(99,1971 -static int __init selnl_init(104,2061 - -/export0/mef/linux-2.6.9-1.11_FC2/security/root_plug.c,401 -static int secondary;33,1012 -static int vendor_id 36,1094 -static int product_id 37,1125 -static int debug 46,1414 -#define MY_NAME 52,1565 -#define MY_NAME 54,1605 -#define root_dbg(root_dbg57,1641 -static int rootplug_bprm_check_security 65,1813 -static struct security_operations rootplug_security_ops 85,2236 -static int __init rootplug_init 102,2750 -static void __exit rootplug_exit 121,3363 - -/export0/mef/linux-2.6.9-1.11_FC2/security/capability.c,238 -static struct security_operations capability_ops 27,695 -#define MY_NAME 51,1393 -static int secondary;54,1489 -static int capability_disable;56,1512 -static int __init capability_init 60,1678 -static void __exit capability_exit 81,2267 - -/export0/mef/linux-2.6.9-1.11_FC2/security/dummy.c,6086 -static int dummy_ptrace 32,947 -static int dummy_capget 37,1043 -static int dummy_capset_check 54,1504 -static void dummy_capset_set 62,1694 -static int dummy_acct 70,1873 -static int dummy_capable 75,1931 -static int dummy_sysctl 85,2138 -static int dummy_quotactl 90,2206 -static int dummy_quota_on 95,2301 -static int dummy_syslog 100,2360 -static int dummy_vm_enough_memory(115,2814 -static int dummy_bprm_alloc_security 164,3843 -static void dummy_bprm_free_security 169,3924 -static void dummy_bprm_apply_creds 174,4003 -static int dummy_bprm_set_security 189,4455 -static int dummy_bprm_check_security 194,4534 -static int dummy_bprm_secureexec 199,4615 -static int dummy_sb_alloc_security 209,4993 -static void dummy_sb_free_security 214,5069 -static int dummy_sb_copy_data 219,5143 -static int dummy_sb_kern_mount 225,5255 -static int dummy_sb_statfs 230,5339 -static int dummy_sb_mount 235,5407 -static int dummy_sb_check_sb 241,5539 -static int dummy_sb_umount 246,5629 -static void dummy_sb_umount_close 251,5706 -static void dummy_sb_umount_busy 256,5777 -static void dummy_sb_post_remount 261,5847 -static void dummy_sb_post_mountroot 268,5959 -static void dummy_sb_post_addmount 273,6016 -static int dummy_sb_pivotroot 278,6110 -static void dummy_sb_post_pivotroot 283,6209 -static int dummy_inode_alloc_security 288,6312 -static void dummy_inode_free_security 293,6388 -static int dummy_inode_create 298,6462 -static void dummy_inode_post_create 304,6573 -static int dummy_inode_link 310,6687 -static void dummy_inode_post_link 316,6815 -static int dummy_inode_unlink 323,6953 -static int dummy_inode_symlink 328,7044 -static void dummy_inode_post_symlink 334,7158 -static int dummy_inode_mkdir 340,7282 -static void dummy_inode_post_mkdir 346,7391 -static int dummy_inode_rmdir 352,7503 -static int dummy_inode_mknod 357,7593 -static void dummy_inode_post_mknod 363,7713 -static int dummy_inode_rename 369,7836 -static void dummy_inode_post_rename 377,8017 -static int dummy_inode_readlink 385,8199 -static int dummy_inode_follow_link 390,8271 -static int dummy_inode_permission 396,8383 -static int dummy_inode_setattr 401,8487 -static int dummy_inode_getattr 406,8579 -static void dummy_inode_delete 411,8672 -static int dummy_inode_setxattr 416,8737 -static void dummy_inode_post_setxattr 426,8997 -static int dummy_inode_getxattr 431,9124 -static int dummy_inode_listxattr 436,9208 -static int dummy_inode_removexattr 441,9281 -static int dummy_inode_getsecurity(450,9503 -static int dummy_inode_setsecurity(455,9630 -static int dummy_inode_listsecurity(460,9773 -static int dummy_file_permission 465,9880 -static int dummy_file_alloc_security 470,9959 -static void dummy_file_free_security 475,10032 -static int dummy_file_ioctl 480,10103 -static int dummy_file_mmap 486,10216 -static int dummy_file_mprotect 492,10327 -static int dummy_file_lock 497,10423 -static int dummy_file_fcntl 502,10504 -static int dummy_file_set_fowner 508,10613 -static int dummy_file_send_sigiotask 513,10682 -static int dummy_file_receive 519,10806 -static int dummy_task_create 524,10872 -static int dummy_task_alloc_security 529,10945 -static void dummy_task_free_security 534,11022 -static int dummy_task_setuid 539,11097 -static int dummy_task_post_setuid 544,11187 -static int dummy_task_setgid 549,11282 -static int dummy_task_setpgid 554,11372 -static int dummy_task_getpgid 559,11454 -static int dummy_task_getsid 564,11524 -static int dummy_task_setgroups 569,11593 -static int dummy_task_setnice 574,11673 -static int dummy_task_setrlimit 579,11753 -static int dummy_task_setscheduler 584,11850 -static int dummy_task_getscheduler 590,11969 -static int dummy_task_wait 595,12044 -static int dummy_task_kill 600,12111 -static int dummy_task_prctl 606,12216 -static void dummy_task_reparent_to_init 612,12361 -static void dummy_task_to_inode(618,12464 -static int dummy_ipc_permission 621,12545 -static int dummy_msg_msg_alloc_security 626,12634 -static void dummy_msg_msg_free_security 631,12712 -static int dummy_msg_queue_alloc_security 636,12788 -static void dummy_msg_queue_free_security 641,12870 -static int dummy_msg_queue_associate 646,12950 -static int dummy_msg_queue_msgctl 652,13050 -static int dummy_msg_queue_msgsnd 657,13133 -static int dummy_msg_queue_msgrcv 663,13247 -static int dummy_shm_alloc_security 670,13405 -static void dummy_shm_free_security 675,13484 -static int dummy_shm_associate 680,13561 -static int dummy_shm_shmctl 685,13647 -static int dummy_shm_shmat 690,13727 -static int dummy_sem_alloc_security 696,13838 -static void dummy_sem_free_security 701,13914 -static int dummy_sem_associate 706,13988 -static int dummy_sem_semctl 711,14071 -static int dummy_sem_semop 716,14148 -static int dummy_netlink_send 722,14271 -static int dummy_netlink_recv 731,14474 -static int dummy_unix_stream_connect 739,14650 -static int dummy_unix_may_send 746,14787 -static int dummy_socket_create 752,14882 -static void dummy_socket_post_create 758,14980 -static int dummy_socket_bind 764,15109 -static int dummy_socket_connect 770,15224 -static int dummy_socket_listen 776,15338 -static int dummy_socket_accept 781,15420 -static void dummy_socket_post_accept 786,15513 -static int dummy_socket_sendmsg 792,15621 -static int dummy_socket_recvmsg 798,15726 -static int dummy_socket_getsockname 804,15842 -static int dummy_socket_getpeername 809,15916 -static int dummy_socket_setsockopt 814,15990 -static int dummy_socket_getsockopt 819,16087 -static int dummy_socket_shutdown 824,16184 -static int dummy_socket_sock_rcv_skb 829,16264 -static int dummy_socket_getpeersec(834,16356 -static inline int dummy_sk_alloc_security 840,16501 -static inline void dummy_sk_free_security 845,16603 -static int dummy_register_security 850,16705 -static int dummy_unregister_security 855,16814 -static void dummy_d_instantiate 860,16925 -static int dummy_getprocattr(865,17016 -static int dummy_setprocattr(870,17128 -struct security_operations dummy_security_ops;876,17241 -#define set_to_dummy_if_null(set_to_dummy_if_null878,17289 -void security_fixup_ops 887,17548 - -/export0/mef/linux-2.6.9-1.11_FC2/security/commoncap.c,489 -int cap_capable 27,738 -int cap_ptrace 36,923 -int cap_capget 46,1193 -int cap_capset_check 56,1523 -void cap_capset_set 82,2239 -int cap_bprm_set_security 90,2492 -void cap_bprm_apply_creds 118,3277 -int cap_bprm_secureexec 161,4581 -int cap_inode_setxattr(172,4995 -int cap_inode_removexattr(182,5251 -static inline void cap_emulate_setxuid 221,6632 -int cap_task_post_setuid 238,7152 -void cap_task_reparent_to_init 281,8118 -int cap_syslog 290,8326 -int cap_vm_enough_memory(308,8889 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/openpromfs/inode.c,2042 -#define ALIASES_NNODES 21,514 -} openpromfs_node;openpromfs_node29,622 -#define OPP_STRING 32,659 -#define OPP_STRINGLIST 33,683 -#define OPP_BINARY 34,711 -#define OPP_HEXSTRING 35,735 -#define OPP_DIRTY 36,762 -#define OPP_QUOTED 37,785 -#define OPP_NOTQUOTED 38,809 -#define OPP_ASCIIZ 39,836 -} openprom_property;openprom_property45,925 -static openpromfs_node *nodes;47,947 -static int alloced;48,978 -static u16 last_node;49,998 -static u16 first_prop;50,1020 -static u16 options 51,1043 -static u16 aliases 52,1072 -static int aliases_nodes;53,1101 -static char *alias_names 54,1127 -#define OPENPROM_ROOT_INO 56,1171 -#define OPENPROM_FIRST_INO 57,1200 -#define NODE(NODE58,1245 -#define NODE2INO(NODE2INO59,1295 -#define NODEP2INO(NODEP2INO60,1346 -static ssize_t nodenum_read(67,1734 -static ssize_t property_read(86,2224 -static ssize_t property_write(321,7523 -int property_release 533,12578 -static struct file_operations openpromfs_prop_ops 584,13932 -static struct file_operations openpromfs_nodenum_ops 590,14072 -static struct file_operations openprom_operations 594,14157 -static struct inode_operations openprom_alias_inode_operations 599,14275 -static struct inode_operations openprom_inode_operations 605,14439 -static int lookup_children(609,14535 -static struct dentry *openpromfs_lookup(642,15263 -#define OPFSL_DIR 645,15384 -#define OPFSL_PROPERTY 646,15404 -#define OPFSL_NODENUM 647,15429 -static int openpromfs_readdir(775,18446 -static int openpromfs_create 857,20212 -static int openpromfs_unlink 896,21183 -static int __init check_space 924,21782 -static u16 __init get_nodes 944,22205 -static void openprom_read_inode(1011,23724 -static int openprom_remount(1021,24024 -static struct super_operations openprom_sops 1027,24139 -static int openprom_fill_super(1033,24289 -static struct super_block *openprom_get_sb(1056,24816 -static struct file_system_type openprom_fs_type 1062,25010 -static int __init init_openprom_fs(1069,25172 -static void __exit exit_openprom_fs(1084,25596 -module_init(1095,25842 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/mpage.c,305 -static int mpage_end_io_read(42,1222 -static int mpage_end_io_write(68,1767 -struct bio *mpage_bio_submit(90,2250 -mpage_alloc(100,2459 -map_buffer_to_page(130,3298 -do_mpage_readpage(209,6132 -mpage_readpages(323,9126 -int mpage_readpage(359,10030 -mpage_writepage(389,10997 -mpage_writepages(619,17722 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/lcnalloc.h,235 -#define _LINUX_NTFS_LCNALLOC_H24,1003 - FIRST_ZONE 34,1129 - MFT_ZONE 35,1173 - DATA_ZONE 36,1219 - LAST_ZONE 37,1267 -} NTFS_CLUSTER_ALLOCATION_ZONES;NTFS_CLUSTER_ALLOCATION_ZONES38,1310 -static inline s64 ntfs_cluster_free(75,2857 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/sysctl.c,188 -#define FS_NTFS 36,1237 -static ctl_table ntfs_sysctls[39,1293 -static ctl_table sysctls_root[47,1573 -static struct ctl_table_header *sysctls_root_table 53,1706 -int ntfs_sysctl(61,1942 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/lcnalloc.c,134 -static int ntfs_cluster_free_from_rl_nolock(49,1664 -runlist_element *ntfs_cluster_alloc(135,5753 -s64 __ntfs_cluster_free(815,26438 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/ntfs.h,424 -#define _LINUX_NTFS_H25,1024 - NTFS_BLOCK_SIZE 49,1494 - NTFS_BLOCK_SIZE_BITS 50,1519 - NTFS_SB_MAGIC 51,1546 - NTFS_SB_MAGIC = 0x5346544e,51,1546 - NTFS_MAX_NAME_LEN 52,1589 -} NTFS_CONSTANTS;NTFS_CONSTANTS53,1615 -static inline ntfs_volume *NTFS_SB(85,2650 -static inline void ntfs_unmap_page(96,2927 -static inline struct page *ntfs_map_page(135,4623 -#define default_upcase_len 158,5188 -} option_t;option_t166,5374 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/malloc.h,120 -#define _LINUX_NTFS_MALLOC_H23,980 -static inline void *ntfs_malloc_nofs(37,1370 -static inline void ntfs_free(50,1778 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/dir.h,83 -#define _LINUX_NTFS_DIR_H24,1011 -} __attribute__ ((__packed__)__packed__38,1347 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/mft.c,601 -static void __format_mft_record(36,1363 -int format_mft_record(81,2833 -struct address_space_operations ntfs_mft_aops 118,3712 -static inline MFT_RECORD *map_mft_record_page(141,4598 -MFT_RECORD *map_mft_record(233,8679 -static inline void unmap_mft_record_page(269,9729 -void unmap_mft_record(291,10366 -MFT_RECORD *map_extent_mft_record(324,11442 -void __mark_mft_record_dirty(474,16437 -static const char *ntfs_please_email 499,17058 -static int sync_mft_mirror_umount(524,18186 -static int sync_mft_mirror(551,19169 -int write_mft_record_nolock(734,25687 -static int ntfs_mft_writepage(909,31646 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/layout.h,34301 -#define _LINUX_NTFS_LAYOUT_H25,1037 -#define const_le16_to_cpu(const_le16_to_cpu37,1240 -#define const_le32_to_cpu(const_le32_to_cpu38,1295 -#define const_le64_to_cpu(const_le64_to_cpu39,1350 -#define const_cpu_to_le16(const_cpu_to_le1641,1406 -#define const_cpu_to_le32(const_cpu_to_le3242,1461 -#define const_cpu_to_le64(const_cpu_to_le6443,1516 -#define magicNTFS 46,1605 -} __attribute__ ((__packed__)__packed__75,2703 -} __attribute__ ((__packed__)__packed__109,4065 - magic_FILE 117,4276 - magic_FILE = const_cpu_to_le32(117,4276 - magic_FILE = const_cpu_to_le32(0x454c4946)117,4276 - magic_INDX 118,4338 - magic_INDX = const_cpu_to_le32(118,4338 - magic_INDX = const_cpu_to_le32(0x58444e49)118,4338 - magic_HOLE 119,4403 - magic_HOLE = const_cpu_to_le32(119,4403 - magic_HOLE = const_cpu_to_le32(0x454c4f48)119,4403 - magic_RSTR 122,4502 - magic_RSTR = const_cpu_to_le32(122,4502 - magic_RSTR = const_cpu_to_le32(0x52545352)122,4502 - magic_RCRD 123,4567 - magic_RCRD = const_cpu_to_le32(123,4567 - magic_RCRD = const_cpu_to_le32(0x44524352)123,4567 - magic_CHKD 126,4705 - magic_CHKD = const_cpu_to_le32(126,4705 - magic_CHKD = const_cpu_to_le32(0x424b4843)126,4705 - magic_BAAD 129,4829 - magic_BAAD = const_cpu_to_le32(129,4829 - magic_BAAD = const_cpu_to_le32(0x44414142)129,4829 - magic_empty 135,5083 - magic_empty = const_cpu_to_le32(135,5083 - magic_empty = const_cpu_to_le32(0xffffffff)135,5083 -typedef le32 NTFS_RECORD_TYPE;NTFS_RECORD_TYPE138,5155 -static inline BOOL __ntfs_is_magic(145,5292 -#define ntfs_is_magic(ntfs_is_magic149,5377 -static inline BOOL __ntfs_is_magicp(151,5436 -#define ntfs_is_magicp(ntfs_is_magicp155,5524 -#define ntfs_is_file_record(ntfs_is_file_record160,5672 -#define ntfs_is_file_recordp(ntfs_is_file_recordp161,5732 -#define ntfs_is_mft_record(ntfs_is_mft_record162,5793 -#define ntfs_is_mft_recordp(ntfs_is_mft_recordp163,5852 -#define ntfs_is_indx_record(ntfs_is_indx_record164,5912 -#define ntfs_is_indx_recordp(ntfs_is_indx_recordp165,5972 -#define ntfs_is_hole_record(ntfs_is_hole_record166,6033 -#define ntfs_is_hole_recordp(ntfs_is_hole_recordp167,6093 -#define ntfs_is_rstr_record(ntfs_is_rstr_record169,6155 -#define ntfs_is_rstr_recordp(ntfs_is_rstr_recordp170,6215 -#define ntfs_is_rcrd_record(ntfs_is_rcrd_record171,6276 -#define ntfs_is_rcrd_recordp(ntfs_is_rcrd_recordp172,6336 -#define ntfs_is_chkd_record(ntfs_is_chkd_record174,6398 -#define ntfs_is_chkd_recordp(ntfs_is_chkd_recordp175,6458 -#define ntfs_is_baad_record(ntfs_is_baad_record177,6520 -#define ntfs_is_baad_recordp(ntfs_is_baad_recordp178,6580 -#define ntfs_is_empty_record(ntfs_is_empty_record180,6642 -#define ntfs_is_empty_recordp(ntfs_is_empty_recordp181,6704 -} __attribute__ ((__packed__)__packed__208,8166 - FILE_MFT 218,8564 - FILE_MFTMirr 221,8727 - FILE_LogFile 225,8929 - FILE_Volume 226,8991 - FILE_AttrDef 230,9195 - FILE_root 232,9279 - FILE_Bitmap 233,9322 - FILE_Boot 235,9416 - FILE_BadClus 237,9503 - FILE_Secure 239,9599 - FILE_UpCase 243,9813 - FILE_Extend 245,9921 - FILE_reserved12 248,10072 - FILE_reserved13 249,10142 - FILE_reserved14 250,10165 - FILE_reserved15 251,10188 - FILE_first_user 252,10211 -} NTFS_SYSTEM_FILES;NTFS_SYSTEM_FILES254,10327 - MFT_RECORD_IN_USE 261,10498 - MFT_RECORD_IN_USE = const_cpu_to_le16(261,10498 - MFT_RECORD_IN_USE = const_cpu_to_le16(0x0001)261,10498 - MFT_RECORD_IS_DIRECTORY 262,10546 - MFT_RECORD_IS_DIRECTORY = const_cpu_to_le16(262,10546 - MFT_RECORD_IS_DIRECTORY = const_cpu_to_le16(0x0002)262,10546 -typedef le16 MFT_RECORD_FLAGS;MFT_RECORD_FLAGS265,10604 - MFT_REF_MASK_CPU 312,13032 - MFT_REF_MASK_CPU = 0x0000ffffffffffffULL,312,13032 - MFT_REF_MASK_LE 313,13075 - MFT_REF_MASK_LE = const_cpu_to_le64(313,13075 - MFT_REF_MASK_LE = const_cpu_to_le64(0x0000ffffffffffffULL)313,13075 -} MFT_REF_CONSTS;MFT_REF_CONSTS314,13137 -typedef u64 MFT_REF;MFT_REF316,13156 -typedef le64 leMFT_REF;leMFT_REF317,13177 -#define MREF(MREF319,13202 -#define MSEQNO(MSEQNO320,13261 -#define MREF_LE(MREF_LE321,13309 -#define MSEQNO_LE(MSEQNO_LE322,13381 -#define IS_ERR_MREF(IS_ERR_MREF324,13444 -#define ERR_MREF(ERR_MREF325,13507 -#define MREF_ERR(MREF_ERR326,13545 -} __attribute__ ((__packed__)__packed__402,17343 - AT_UNUSED 413,17858 - AT_UNUSED = const_cpu_to_le32(413,17858 - AT_STANDARD_INFORMATION 414,17904 - AT_STANDARD_INFORMATION = const_cpu_to_le32(414,17904 - AT_STANDARD_INFORMATION = const_cpu_to_le32( 0x10)414,17904 - AT_ATTRIBUTE_LIST 415,17963 - AT_ATTRIBUTE_LIST = const_cpu_to_le32(415,17963 - AT_ATTRIBUTE_LIST = const_cpu_to_le32( 0x20)415,17963 - AT_FILE_NAME 416,18016 - AT_FILE_NAME = const_cpu_to_le32(416,18016 - AT_FILE_NAME = const_cpu_to_le32( 0x30)416,18016 - AT_OBJECT_ID 417,18065 - AT_OBJECT_ID = const_cpu_to_le32(417,18065 - AT_OBJECT_ID = const_cpu_to_le32( 0x40)417,18065 - AT_SECURITY_DESCRIPTOR 418,18114 - AT_SECURITY_DESCRIPTOR = const_cpu_to_le32(418,18114 - AT_SECURITY_DESCRIPTOR = const_cpu_to_le32( 0x50)418,18114 - AT_VOLUME_NAME 419,18172 - AT_VOLUME_NAME = const_cpu_to_le32(419,18172 - AT_VOLUME_NAME = const_cpu_to_le32( 0x60)419,18172 - AT_VOLUME_INFORMATION 420,18223 - AT_VOLUME_INFORMATION = const_cpu_to_le32(420,18223 - AT_VOLUME_INFORMATION = const_cpu_to_le32( 0x70)420,18223 - AT_DATA 421,18280 - AT_DATA = const_cpu_to_le32(421,18280 - AT_DATA = const_cpu_to_le32( 0x80)421,18280 - AT_INDEX_ROOT 422,18325 - AT_INDEX_ROOT = const_cpu_to_le32(422,18325 - AT_INDEX_ROOT = const_cpu_to_le32( 0x90)422,18325 - AT_INDEX_ALLOCATION 423,18375 - AT_INDEX_ALLOCATION = const_cpu_to_le32(423,18375 - AT_INDEX_ALLOCATION = const_cpu_to_le32( 0xa0)423,18375 - AT_BITMAP 424,18430 - AT_BITMAP = const_cpu_to_le32(424,18430 - AT_BITMAP = const_cpu_to_le32( 0xb0)424,18430 - AT_REPARSE_POINT 425,18476 - AT_REPARSE_POINT = const_cpu_to_le32(425,18476 - AT_REPARSE_POINT = const_cpu_to_le32( 0xc0)425,18476 - AT_EA_INFORMATION 426,18528 - AT_EA_INFORMATION = const_cpu_to_le32(426,18528 - AT_EA_INFORMATION = const_cpu_to_le32( 0xd0)426,18528 - AT_EA 427,18581 - AT_EA = const_cpu_to_le32(427,18581 - AT_EA = const_cpu_to_le32( 0xe0)427,18581 - AT_PROPERTY_SET 428,18624 - AT_PROPERTY_SET = const_cpu_to_le32(428,18624 - AT_PROPERTY_SET = const_cpu_to_le32( 0xf0)428,18624 - AT_LOGGED_UTILITY_STREAM 429,18676 - AT_LOGGED_UTILITY_STREAM = const_cpu_to_le32(429,18676 - AT_LOGGED_UTILITY_STREAM = const_cpu_to_le32( 0x100)429,18676 - AT_FIRST_USER_DEFINED_ATTRIBUTE 430,18735 - AT_FIRST_USER_DEFINED_ATTRIBUTE = const_cpu_to_le32(430,18735 - AT_FIRST_USER_DEFINED_ATTRIBUTE = const_cpu_to_le32( 0x1000)430,18735 - AT_END 431,18801 - AT_END = const_cpu_to_le32(431,18801 - AT_END = const_cpu_to_le32(0xffffffff)431,18801 -typedef le32 ATTR_TYPE;ATTR_TYPE434,18848 - COLLATION_BINARY 475,21122 - COLLATION_BINARY = const_cpu_to_le32(475,21122 - COLLATION_BINARY = const_cpu_to_le32(0x00)475,21122 - COLLATION_FILE_NAME 476,21168 - COLLATION_FILE_NAME = const_cpu_to_le32(476,21168 - COLLATION_FILE_NAME = const_cpu_to_le32(0x01)476,21168 - COLLATION_UNICODE_STRING 477,21217 - COLLATION_UNICODE_STRING = const_cpu_to_le32(477,21217 - COLLATION_UNICODE_STRING = const_cpu_to_le32(0x02)477,21217 - COLLATION_NTOFS_ULONG 478,21270 - COLLATION_NTOFS_ULONG = const_cpu_to_le32(478,21270 - COLLATION_NTOFS_ULONG = const_cpu_to_le32(0x10)478,21270 - COLLATION_NTOFS_SID 479,21321 - COLLATION_NTOFS_SID = const_cpu_to_le32(479,21321 - COLLATION_NTOFS_SID = const_cpu_to_le32(0x11)479,21321 - COLLATION_NTOFS_SECURITY_HASH 480,21370 - COLLATION_NTOFS_SECURITY_HASH = const_cpu_to_le32(480,21370 - COLLATION_NTOFS_SECURITY_HASH = const_cpu_to_le32(0x12)480,21370 - COLLATION_NTOFS_ULONGS 481,21428 - COLLATION_NTOFS_ULONGS = const_cpu_to_le32(481,21428 - COLLATION_NTOFS_ULONGS = const_cpu_to_le32(0x13)481,21428 -typedef le32 COLLATION_RULE;COLLATION_RULE484,21483 - INDEXABLE 494,21895 - INDEXABLE = const_cpu_to_le32(494,21895 - INDEXABLE = const_cpu_to_le32(0x02)494,21895 - NEED_TO_REGENERATE 496,21978 - NEED_TO_REGENERATE = const_cpu_to_le32(496,21978 - NEED_TO_REGENERATE = const_cpu_to_le32(0x40)496,21978 - CAN_BE_NON_RESIDENT 499,22096 - CAN_BE_NON_RESIDENT = const_cpu_to_le32(499,22096 - CAN_BE_NON_RESIDENT = const_cpu_to_le32(0x80)499,22096 -typedef le32 ATTR_DEF_FLAGS;ATTR_DEF_FLAGS503,22194 -} __attribute__ ((__packed__)__packed__526,23285 - ATTR_IS_COMPRESSED 532,23370 - ATTR_IS_COMPRESSED = const_cpu_to_le16(532,23370 - ATTR_IS_COMPRESSED = const_cpu_to_le16(0x0001)532,23370 - ATTR_COMPRESSION_MASK 533,23422 - ATTR_COMPRESSION_MASK = const_cpu_to_le16(533,23422 - ATTR_COMPRESSION_MASK = const_cpu_to_le16(0x00ff)533,23422 - ATTR_IS_ENCRYPTED 536,23559 - ATTR_IS_ENCRYPTED = const_cpu_to_le16(536,23559 - ATTR_IS_ENCRYPTED = const_cpu_to_le16(0x4000)536,23559 - ATTR_IS_SPARSE 537,23611 - ATTR_IS_SPARSE = const_cpu_to_le16(537,23611 - ATTR_IS_SPARSE = const_cpu_to_le16(0x8000)537,23611 -typedef le16 ATTR_FLAGS;ATTR_FLAGS540,23695 - RESIDENT_ATTR_IS_INDEXED 613,27484 - RESIDENT_ATTR_IS_INDEXED = 0x01,613,27484 -typedef u8 RESIDENT_ATTR_FLAGS;RESIDENT_ATTR_FLAGS618,27672 - } __attribute__ __attribute__661,29480 - } __attribute__ __attribute__711,31904 -} __attribute__ ((__packed__)__packed__713,31989 -typedef ATTR_RECORD ATTR_REC;ATTR_REC715,32034 - FILE_ATTR_READONLY 725,32237 - FILE_ATTR_READONLY = const_cpu_to_le32(725,32237 - FILE_ATTR_READONLY = const_cpu_to_le32(0x00000001)725,32237 - FILE_ATTR_HIDDEN 726,32291 - FILE_ATTR_HIDDEN = const_cpu_to_le32(726,32291 - FILE_ATTR_HIDDEN = const_cpu_to_le32(0x00000002)726,32291 - FILE_ATTR_SYSTEM 727,32343 - FILE_ATTR_SYSTEM = const_cpu_to_le32(727,32343 - FILE_ATTR_SYSTEM = const_cpu_to_le32(0x00000004)727,32343 - FILE_ATTR_DIRECTORY 730,32465 - FILE_ATTR_DIRECTORY = const_cpu_to_le32(730,32465 - FILE_ATTR_DIRECTORY = const_cpu_to_le32(0x00000010)730,32465 - FILE_ATTR_ARCHIVE 733,32635 - FILE_ATTR_ARCHIVE = const_cpu_to_le32(733,32635 - FILE_ATTR_ARCHIVE = const_cpu_to_le32(0x00000020)733,32635 - FILE_ATTR_DEVICE 734,32688 - FILE_ATTR_DEVICE = const_cpu_to_le32(734,32688 - FILE_ATTR_DEVICE = const_cpu_to_le32(0x00000040)734,32688 - FILE_ATTR_NORMAL 735,32740 - FILE_ATTR_NORMAL = const_cpu_to_le32(735,32740 - FILE_ATTR_NORMAL = const_cpu_to_le32(0x00000080)735,32740 - FILE_ATTR_TEMPORARY 737,32793 - FILE_ATTR_TEMPORARY = const_cpu_to_le32(737,32793 - FILE_ATTR_TEMPORARY = const_cpu_to_le32(0x00000100)737,32793 - FILE_ATTR_SPARSE_FILE 738,32848 - FILE_ATTR_SPARSE_FILE = const_cpu_to_le32(738,32848 - FILE_ATTR_SPARSE_FILE = const_cpu_to_le32(0x00000200)738,32848 - FILE_ATTR_REPARSE_POINT 739,32905 - FILE_ATTR_REPARSE_POINT = const_cpu_to_le32(739,32905 - FILE_ATTR_REPARSE_POINT = const_cpu_to_le32(0x00000400)739,32905 - FILE_ATTR_COMPRESSED 740,32964 - FILE_ATTR_COMPRESSED = const_cpu_to_le32(740,32964 - FILE_ATTR_COMPRESSED = const_cpu_to_le32(0x00000800)740,32964 - FILE_ATTR_OFFLINE 742,33021 - FILE_ATTR_OFFLINE = const_cpu_to_le32(742,33021 - FILE_ATTR_OFFLINE = const_cpu_to_le32(0x00001000)742,33021 - FILE_ATTR_NOT_CONTENT_INDEXED 743,33074 - FILE_ATTR_NOT_CONTENT_INDEXED = const_cpu_to_le32(743,33074 - FILE_ATTR_NOT_CONTENT_INDEXED = const_cpu_to_le32(0x00002000)743,33074 - FILE_ATTR_ENCRYPTED 744,33138 - FILE_ATTR_ENCRYPTED = const_cpu_to_le32(744,33138 - FILE_ATTR_ENCRYPTED = const_cpu_to_le32(0x00004000)744,33138 - FILE_ATTR_VALID_FLAGS 746,33194 - FILE_ATTR_VALID_FLAGS = const_cpu_to_le32(746,33194 - FILE_ATTR_VALID_FLAGS = const_cpu_to_le32(0x00007fb7)746,33194 - FILE_ATTR_VALID_SET_FLAGS 750,33445 - FILE_ATTR_VALID_SET_FLAGS = const_cpu_to_le32(750,33445 - FILE_ATTR_VALID_SET_FLAGS = const_cpu_to_le32(0x000031a7)750,33445 - FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT 760,33894 - FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT = const_cpu_to_le32(760,33894 - FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT = const_cpu_to_le32(0x10000000)760,33894 - FILE_ATTR_DUP_VIEW_INDEX_PRESENT 764,34147 - FILE_ATTR_DUP_VIEW_INDEX_PRESENT = const_cpu_to_le32(764,34147 - FILE_ATTR_DUP_VIEW_INDEX_PRESENT = const_cpu_to_le32(0x20000000)764,34147 -typedef le32 FILE_ATTR_FLAGS;FILE_ATTR_FLAGS771,34469 - } __attribute__ __attribute__812,36118 - } __attribute__ __attribute__865,38544 -} __attribute__ ((__packed__)__packed__868,38656 -} __attribute__ ((__packed__)__packed__932,41895 -#define MAXIMUM_FILE_NAME_LENGTH 937,41998 - FILE_NAME_POSIX 943,42104 - FILE_NAME_POSIX = 0x00,943,42104 - FILE_NAME_WIN32 950,42488 - FILE_NAME_WIN32 = 0x01,950,42488 - FILE_NAME_DOS 954,42722 - FILE_NAME_DOS = 0x02,954,42722 - FILE_NAME_WIN32_AND_DOS 958,42927 - FILE_NAME_WIN32_AND_DOS = 0x03,958,42927 -typedef u8 FILE_NAME_TYPE_FLAGS;FILE_NAME_TYPE_FLAGS963,43126 - } __attribute__ __attribute__1001,44741 - } __attribute__ __attribute__1007,44947 -} __attribute__ ((__packed__)__packed__1013,45252 -} __attribute__ ((__packed__)__packed__1031,46120 - } __attribute__ __attribute__1052,46933 -} __attribute__ ((__packed__)__packed__1055,47035 - } __attribute__ __attribute__1076,47765 -} __attribute__ ((__packed__)__packed__1079,47867 - SECURITY_NULL_RID 1105,49055 - SECURITY_WORLD_RID 1106,49094 - SECURITY_LOCAL_RID 1107,49134 - SECURITY_CREATOR_OWNER_RID 1109,49175 - SECURITY_CREATOR_GROUP_RID 1110,49222 - SECURITY_CREATOR_OWNER_SERVER_RID 1112,49270 - SECURITY_CREATOR_GROUP_SERVER_RID 1113,49322 - SECURITY_DIALUP_RID 1115,49375 - SECURITY_NETWORK_RID 1116,49404 - SECURITY_BATCH_RID 1117,49434 - SECURITY_INTERACTIVE_RID 1118,49462 - SECURITY_SERVICE_RID 1119,49495 - SECURITY_ANONYMOUS_LOGON_RID 1120,49525 - SECURITY_PROXY_RID 1121,49562 - SECURITY_ENTERPRISE_CONTROLLERS_RID=1122,49590 - SECURITY_SERVER_LOGON_RID 1123,49630 - SECURITY_PRINCIPAL_SELF_RID 1124,49664 - SECURITY_PRINCIPAL_SELF_RID = 0xa,1124,49664 - SECURITY_AUTHENTICATED_USER_RID 1125,49702 - SECURITY_AUTHENTICATED_USER_RID = 0xb,1125,49702 - SECURITY_RESTRICTED_CODE_RID 1126,49744 - SECURITY_RESTRICTED_CODE_RID = 0xc,1126,49744 - SECURITY_TERMINAL_SERVER_RID 1127,49783 - SECURITY_TERMINAL_SERVER_RID = 0xd,1127,49783 - SECURITY_LOGON_IDS_RID 1129,49823 - SECURITY_LOGON_IDS_RID_COUNT 1130,49855 - SECURITY_LOCAL_SYSTEM_RID 1132,49893 - SECURITY_LOCAL_SYSTEM_RID = 0x12,1132,49893 - SECURITY_NT_NON_UNIQUE 1134,49931 - SECURITY_NT_NON_UNIQUE = 0x15,1134,49931 - SECURITY_BUILTIN_DOMAIN_RID 1136,49967 - SECURITY_BUILTIN_DOMAIN_RID = 0x20,1136,49967 - DOMAIN_USER_RID_ADMIN 1143,50091 - DOMAIN_USER_RID_ADMIN = 0x1f4,1143,50091 - DOMAIN_USER_RID_GUEST 1144,50126 - DOMAIN_USER_RID_GUEST = 0x1f5,1144,50126 - DOMAIN_USER_RID_KRBTGT 1145,50161 - DOMAIN_USER_RID_KRBTGT = 0x1f6,1145,50161 - DOMAIN_GROUP_RID_ADMINS 1148,50213 - DOMAIN_GROUP_RID_ADMINS = 0x200,1148,50213 - DOMAIN_GROUP_RID_USERS 1149,50250 - DOMAIN_GROUP_RID_USERS = 0x201,1149,50250 - DOMAIN_GROUP_RID_GUESTS 1150,50286 - DOMAIN_GROUP_RID_GUESTS = 0x202,1150,50286 - DOMAIN_GROUP_RID_COMPUTERS 1151,50323 - DOMAIN_GROUP_RID_COMPUTERS = 0x203,1151,50323 - DOMAIN_GROUP_RID_CONTROLLERS 1152,50362 - DOMAIN_GROUP_RID_CONTROLLERS = 0x204,1152,50362 - DOMAIN_GROUP_RID_CERT_ADMINS 1153,50403 - DOMAIN_GROUP_RID_CERT_ADMINS = 0x205,1153,50403 - DOMAIN_GROUP_RID_SCHEMA_ADMINS 1154,50444 - DOMAIN_GROUP_RID_SCHEMA_ADMINS = 0x206,1154,50444 - DOMAIN_GROUP_RID_ENTERPRISE_ADMINS=1155,50487 - DOMAIN_GROUP_RID_ENTERPRISE_ADMINS= 0x207,1155,50487 - DOMAIN_GROUP_RID_POLICY_ADMINS 1156,50531 - DOMAIN_GROUP_RID_POLICY_ADMINS = 0x208,1156,50531 - DOMAIN_ALIAS_RID_ADMINS 1159,50591 - DOMAIN_ALIAS_RID_ADMINS = 0x220,1159,50591 - DOMAIN_ALIAS_RID_USERS 1160,50628 - DOMAIN_ALIAS_RID_USERS = 0x221,1160,50628 - DOMAIN_ALIAS_RID_GUESTS 1161,50664 - DOMAIN_ALIAS_RID_GUESTS = 0x222,1161,50664 - DOMAIN_ALIAS_RID_POWER_USERS 1162,50701 - DOMAIN_ALIAS_RID_POWER_USERS = 0x223,1162,50701 - DOMAIN_ALIAS_RID_ACCOUNT_OPS 1164,50743 - DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x224,1164,50743 - DOMAIN_ALIAS_RID_SYSTEM_OPS 1165,50784 - DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x225,1165,50784 - DOMAIN_ALIAS_RID_PRINT_OPS 1166,50824 - DOMAIN_ALIAS_RID_PRINT_OPS = 0x226,1166,50824 - DOMAIN_ALIAS_RID_BACKUP_OPS 1167,50863 - DOMAIN_ALIAS_RID_BACKUP_OPS = 0x227,1167,50863 - DOMAIN_ALIAS_RID_REPLICATOR 1169,50904 - DOMAIN_ALIAS_RID_REPLICATOR = 0x228,1169,50904 - DOMAIN_ALIAS_RID_RAS_SERVERS 1170,50944 - DOMAIN_ALIAS_RID_RAS_SERVERS = 0x229,1170,50944 - DOMAIN_ALIAS_RID_PREW2KCOMPACCESS 1171,50985 - DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x22a,1171,50985 -} RELATIVE_IDENTIFIERS;RELATIVE_IDENTIFIERS1172,51029 - } __attribute__ __attribute__1221,52225 -} __attribute__ ((__packed__)__packed__1223,52312 -} __attribute__ ((__packed__)__packed__1254,53544 - SID_REVISION 1260,53634 - SID_MAX_SUB_AUTHORITIES 1261,53686 - SID_RECOMMENDED_SUB_AUTHORITIES 1262,53749 -} SID_CONSTANTS;SID_CONSTANTS1264,53849 - ACCESS_MIN_MS_ACE_TYPE 1270,53929 - ACCESS_ALLOWED_ACE_TYPE 1271,53959 - ACCESS_DENIED_ACE_TYPE 1272,53990 - SYSTEM_AUDIT_ACE_TYPE 1273,54020 - SYSTEM_ALARM_ACE_TYPE 1274,54049 - ACCESS_MAX_MS_V2_ACE_TYPE 1275,54113 - ACCESS_ALLOWED_COMPOUND_ACE_TYPE=1277,54146 - ACCESS_MAX_MS_V3_ACE_TYPE 1278,54184 - ACCESS_MIN_MS_OBJECT_ACE_TYPE 1281,54254 - ACCESS_ALLOWED_OBJECT_ACE_TYPE 1282,54290 - ACCESS_DENIED_OBJECT_ACE_TYPE 1283,54327 - SYSTEM_AUDIT_OBJECT_ACE_TYPE 1284,54363 - SYSTEM_ALARM_OBJECT_ACE_TYPE 1285,54398 - ACCESS_MAX_MS_OBJECT_ACE_TYPE 1286,54433 - ACCESS_MAX_MS_V4_ACE_TYPE 1288,54470 - ACCESS_MAX_MS_ACE_TYPE 1291,54536 -typedef u8 ACE_TYPES;ACE_TYPES1294,54599 - OBJECT_INHERIT_ACE 1308,55057 - OBJECT_INHERIT_ACE = 0x01,1308,55057 - CONTAINER_INHERIT_ACE 1309,55086 - CONTAINER_INHERIT_ACE = 0x02,1309,55086 - NO_PROPAGATE_INHERIT_ACE 1310,55118 - NO_PROPAGATE_INHERIT_ACE = 0x04,1310,55118 - INHERIT_ONLY_ACE 1311,55152 - INHERIT_ONLY_ACE = 0x08,1311,55152 - INHERITED_ACE 1312,55179 - INHERITED_ACE = 0x10,1312,55179 - VALID_INHERIT_FLAGS 1313,55222 - VALID_INHERIT_FLAGS = 0x1f,1313,55222 - SUCCESSFUL_ACCESS_ACE_FLAG 1316,55277 - SUCCESSFUL_ACCESS_ACE_FLAG = 0x40,1316,55277 - FAILED_ACCESS_ACE_FLAG 1317,55313 - FAILED_ACCESS_ACE_FLAG = 0x80,1317,55313 -typedef u8 ACE_FLAGS;ACE_FLAGS1320,55379 -} __attribute__ ((__packed__)__packed__1338,56109 - FILE_READ_DATA 1350,56448 - FILE_READ_DATA = const_cpu_to_le32(1350,56448 - FILE_READ_DATA = const_cpu_to_le32(0x00000001)1350,56448 - FILE_LIST_DIRECTORY 1352,56557 - FILE_LIST_DIRECTORY = const_cpu_to_le32(1352,56557 - FILE_LIST_DIRECTORY = const_cpu_to_le32(0x00000001)1352,56557 - FILE_WRITE_DATA 1355,56660 - FILE_WRITE_DATA = const_cpu_to_le32(1355,56660 - FILE_WRITE_DATA = const_cpu_to_le32(0x00000002)1355,56660 - FILE_ADD_FILE 1357,56772 - FILE_ADD_FILE = const_cpu_to_le32(1357,56772 - FILE_ADD_FILE = const_cpu_to_le32(0x00000002)1357,56772 - FILE_APPEND_DATA 1360,56871 - FILE_APPEND_DATA = const_cpu_to_le32(1360,56871 - FILE_APPEND_DATA = const_cpu_to_le32(0x00000004)1360,56871 - FILE_ADD_SUBDIRECTORY 1362,56974 - FILE_ADD_SUBDIRECTORY = const_cpu_to_le32(1362,56974 - FILE_ADD_SUBDIRECTORY = const_cpu_to_le32(0x00000004)1362,56974 - FILE_READ_EA 1365,57091 - FILE_READ_EA = const_cpu_to_le32(1365,57091 - FILE_READ_EA = const_cpu_to_le32(0x00000008)1365,57091 - FILE_WRITE_EA 1368,57201 - FILE_WRITE_EA = const_cpu_to_le32(1368,57201 - FILE_WRITE_EA = const_cpu_to_le32(0x00000010)1368,57201 - FILE_EXECUTE 1371,57291 - FILE_EXECUTE = const_cpu_to_le32(1371,57291 - FILE_EXECUTE = const_cpu_to_le32(0x00000020)1371,57291 - FILE_TRAVERSE 1373,57392 - FILE_TRAVERSE = const_cpu_to_le32(1373,57392 - FILE_TRAVERSE = const_cpu_to_le32(0x00000020)1373,57392 - FILE_DELETE_CHILD 1379,57579 - FILE_DELETE_CHILD = const_cpu_to_le32(1379,57579 - FILE_DELETE_CHILD = const_cpu_to_le32(0x00000040)1379,57579 - FILE_READ_ATTRIBUTES 1382,57688 - FILE_READ_ATTRIBUTES = const_cpu_to_le32(1382,57688 - FILE_READ_ATTRIBUTES = const_cpu_to_le32(0x00000080)1382,57688 - FILE_WRITE_ATTRIBUTES 1385,57802 - FILE_WRITE_ATTRIBUTES = const_cpu_to_le32(1385,57802 - FILE_WRITE_ATTRIBUTES = const_cpu_to_le32(0x00000100)1385,57802 - DELETE 1393,58010 - DELETE = const_cpu_to_le32(1393,58010 - DELETE = const_cpu_to_le32(0x00010000)1393,58010 - READ_CONTROL 1400,58240 - READ_CONTROL = const_cpu_to_le32(1400,58240 - READ_CONTROL = const_cpu_to_le32(0x00020000)1400,58240 - WRITE_DAC 1403,58359 - WRITE_DAC = const_cpu_to_le32(1403,58359 - WRITE_DAC = const_cpu_to_le32(0x00040000)1403,58359 - WRITE_OWNER 1406,58476 - WRITE_OWNER = const_cpu_to_le32(1406,58476 - WRITE_OWNER = const_cpu_to_le32(0x00080000)1406,58476 - SYNCHRONIZE 1413,58715 - SYNCHRONIZE = const_cpu_to_le32(1413,58715 - SYNCHRONIZE = const_cpu_to_le32(0x00100000)1413,58715 - STANDARD_RIGHTS_READ 1421,58946 - STANDARD_RIGHTS_READ = const_cpu_to_le32(1421,58946 - STANDARD_RIGHTS_READ = const_cpu_to_le32(0x00020000)1421,58946 - STANDARD_RIGHTS_WRITE 1422,59002 - STANDARD_RIGHTS_WRITE = const_cpu_to_le32(1422,59002 - STANDARD_RIGHTS_WRITE = const_cpu_to_le32(0x00020000)1422,59002 - STANDARD_RIGHTS_EXECUTE 1423,59059 - STANDARD_RIGHTS_EXECUTE = const_cpu_to_le32(1423,59059 - STANDARD_RIGHTS_EXECUTE = const_cpu_to_le32(0x00020000)1423,59059 - STANDARD_RIGHTS_REQUIRED 1426,59192 - STANDARD_RIGHTS_REQUIRED = const_cpu_to_le32(1426,59192 - STANDARD_RIGHTS_REQUIRED = const_cpu_to_le32(0x000f0000)1426,59192 - STANDARD_RIGHTS_ALL 1432,59348 - STANDARD_RIGHTS_ALL = const_cpu_to_le32(1432,59348 - STANDARD_RIGHTS_ALL = const_cpu_to_le32(0x001f0000)1432,59348 - ACCESS_SYSTEM_SECURITY 1438,59521 - ACCESS_SYSTEM_SECURITY = const_cpu_to_le32(1438,59521 - ACCESS_SYSTEM_SECURITY = const_cpu_to_le32(0x01000000)1438,59521 - MAXIMUM_ALLOWED 1439,59579 - MAXIMUM_ALLOWED = const_cpu_to_le32(1439,59579 - MAXIMUM_ALLOWED = const_cpu_to_le32(0x02000000)1439,59579 - GENERIC_ALL 1447,59776 - GENERIC_ALL = const_cpu_to_le32(1447,59776 - GENERIC_ALL = const_cpu_to_le32(0x10000000)1447,59776 - GENERIC_EXECUTE 1450,59848 - GENERIC_EXECUTE = const_cpu_to_le32(1450,59848 - GENERIC_EXECUTE = const_cpu_to_le32(0x20000000)1450,59848 - GENERIC_WRITE 1459,60199 - GENERIC_WRITE = const_cpu_to_le32(1459,60199 - GENERIC_WRITE = const_cpu_to_le32(0x40000000)1459,60199 - GENERIC_READ 1468,60525 - GENERIC_READ = const_cpu_to_le32(1468,60525 - GENERIC_READ = const_cpu_to_le32(0x80000000)1468,60525 -typedef le32 ACCESS_MASK;ACCESS_MASK1471,60578 -} __attribute__ ((__packed__)__packed__1484,60916 -} __attribute__ ((__packed__)__packed__1501,61472 - ACE_OBJECT_TYPE_PRESENT 1508,61637 - ACE_OBJECT_TYPE_PRESENT = const_cpu_to_le32(1508,61637 - ACE_INHERITED_OBJECT_TYPE_PRESENT 1509,61688 - ACE_INHERITED_OBJECT_TYPE_PRESENT = const_cpu_to_le32(1509,61688 -typedef le32 OBJECT_ACE_FLAGS;OBJECT_ACE_FLAGS1512,61751 -} __attribute__ ((__packed__)__packed__1526,62279 -} __attribute__ ((__packed__)__packed__1546,63045 - ACL_REVISION 1553,63160 - ACL_REVISION_DS 1554,63180 - ACL_REVISION1 1557,63233 - MIN_ACL_REVISION 1558,63254 - ACL_REVISION2 1559,63277 - ACL_REVISION3 1560,63298 - ACL_REVISION4 1561,63319 - MAX_ACL_REVISION 1562,63340 -} ACL_CONSTANTS;ACL_CONSTANTS1563,63363 - SE_OWNER_DEFAULTED 1610,65705 - SE_OWNER_DEFAULTED = const_cpu_to_le16(1610,65705 - SE_OWNER_DEFAULTED = const_cpu_to_le16(0x0001)1610,65705 - SE_GROUP_DEFAULTED 1611,65755 - SE_GROUP_DEFAULTED = const_cpu_to_le16(1611,65755 - SE_GROUP_DEFAULTED = const_cpu_to_le16(0x0002)1611,65755 - SE_DACL_PRESENT 1612,65805 - SE_DACL_PRESENT = const_cpu_to_le16(1612,65805 - SE_DACL_PRESENT = const_cpu_to_le16(0x0004)1612,65805 - SE_DACL_DEFAULTED 1613,65853 - SE_DACL_DEFAULTED = const_cpu_to_le16(1613,65853 - SE_DACL_DEFAULTED = const_cpu_to_le16(0x0008)1613,65853 - SE_SACL_PRESENT 1615,65903 - SE_SACL_PRESENT = const_cpu_to_le16(1615,65903 - SE_SACL_PRESENT = const_cpu_to_le16(0x0010)1615,65903 - SE_SACL_DEFAULTED 1616,65951 - SE_SACL_DEFAULTED = const_cpu_to_le16(1616,65951 - SE_SACL_DEFAULTED = const_cpu_to_le16(0x0020)1616,65951 - SE_DACL_AUTO_INHERIT_REQ 1618,66001 - SE_DACL_AUTO_INHERIT_REQ = const_cpu_to_le16(1618,66001 - SE_DACL_AUTO_INHERIT_REQ = const_cpu_to_le16(0x0100)1618,66001 - SE_SACL_AUTO_INHERIT_REQ 1619,66056 - SE_SACL_AUTO_INHERIT_REQ = const_cpu_to_le16(1619,66056 - SE_SACL_AUTO_INHERIT_REQ = const_cpu_to_le16(0x0200)1619,66056 - SE_DACL_AUTO_INHERITED 1620,66111 - SE_DACL_AUTO_INHERITED = const_cpu_to_le16(1620,66111 - SE_DACL_AUTO_INHERITED = const_cpu_to_le16(0x0400)1620,66111 - SE_SACL_AUTO_INHERITED 1621,66165 - SE_SACL_AUTO_INHERITED = const_cpu_to_le16(1621,66165 - SE_SACL_AUTO_INHERITED = const_cpu_to_le16(0x0800)1621,66165 - SE_DACL_PROTECTED 1623,66220 - SE_DACL_PROTECTED = const_cpu_to_le16(1623,66220 - SE_DACL_PROTECTED = const_cpu_to_le16(0x1000)1623,66220 - SE_SACL_PROTECTED 1624,66269 - SE_SACL_PROTECTED = const_cpu_to_le16(1624,66269 - SE_SACL_PROTECTED = const_cpu_to_le16(0x2000)1624,66269 - SE_RM_CONTROL_VALID 1625,66318 - SE_RM_CONTROL_VALID = const_cpu_to_le16(1625,66318 - SE_RM_CONTROL_VALID = const_cpu_to_le16(0x4000)1625,66318 - SE_SELF_RELATIVE 1626,66369 - SE_SELF_RELATIVE = const_cpu_to_le16(1626,66369 - SE_SELF_RELATIVE = const_cpu_to_le16(0x8000)1626,66369 -typedef le16 SECURITY_DESCRIPTOR_CONTROL;SECURITY_DESCRIPTOR_CONTROL1629,66449 -} __attribute__ ((__packed__)__packed__1655,67630 -} __attribute__ ((__packed__)__packed__1683,69008 - SECURITY_DESCRIPTOR_REVISION 1690,69155 - SECURITY_DESCRIPTOR_REVISION1 1691,69190 - SECURITY_DESCRIPTOR_MIN_LENGTH 1695,69370 - SECURITY_DESCRIPTOR_MIN_LENGTH = sizeof(1695,69370 - SECURITY_DESCRIPTOR_MIN_LENGTH = sizeof(SECURITY_DESCRIPTOR)1695,69370 -} SECURITY_DESCRIPTOR_CONSTANTS;SECURITY_DESCRIPTOR_CONSTANTS1696,69433 -typedef SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_ATTR;SECURITY_DESCRIPTOR_ATTR1707,69807 -} __attribute__ ((__packed__)__packed__1757,72411 -} __attribute__ ((__packed__)__packed__1780,73646 -} __attribute__ ((__packed__)__packed__1788,73877 -} __attribute__ ((__packed__)__packed__1798,74235 -} __attribute__ ((__packed__)__packed__1808,74467 - VOLUME_IS_DIRTY 1814,74569 - VOLUME_IS_DIRTY = const_cpu_to_le16(1814,74569 - VOLUME_IS_DIRTY = const_cpu_to_le16(0x0001)1814,74569 - VOLUME_RESIZE_LOG_FILE 1815,74617 - VOLUME_RESIZE_LOG_FILE = const_cpu_to_le16(1815,74617 - VOLUME_RESIZE_LOG_FILE = const_cpu_to_le16(0x0002)1815,74617 - VOLUME_UPGRADE_ON_MOUNT 1816,74671 - VOLUME_UPGRADE_ON_MOUNT = const_cpu_to_le16(1816,74671 - VOLUME_UPGRADE_ON_MOUNT = const_cpu_to_le16(0x0004)1816,74671 - VOLUME_MOUNTED_ON_NT4 1817,74726 - VOLUME_MOUNTED_ON_NT4 = const_cpu_to_le16(1817,74726 - VOLUME_MOUNTED_ON_NT4 = const_cpu_to_le16(0x0008)1817,74726 - VOLUME_DELETE_USN_UNDERWAY 1819,74780 - VOLUME_DELETE_USN_UNDERWAY = const_cpu_to_le16(1819,74780 - VOLUME_DELETE_USN_UNDERWAY = const_cpu_to_le16(0x0010)1819,74780 - VOLUME_REPAIR_OBJECT_ID 1820,74837 - VOLUME_REPAIR_OBJECT_ID = const_cpu_to_le16(1820,74837 - VOLUME_REPAIR_OBJECT_ID = const_cpu_to_le16(0x0020)1820,74837 - VOLUME_MODIFIED_BY_CHKDSK 1822,74893 - VOLUME_MODIFIED_BY_CHKDSK = const_cpu_to_le16(1822,74893 - VOLUME_MODIFIED_BY_CHKDSK = const_cpu_to_le16(0x8000)1822,74893 - VOLUME_FLAGS_MASK 1824,74950 - VOLUME_FLAGS_MASK = const_cpu_to_le16(1824,74950 - VOLUME_FLAGS_MASK = const_cpu_to_le16(0x803f)1824,74950 - VOLUME_MUST_MOUNT_RO_MASK 1827,75073 - VOLUME_MUST_MOUNT_RO_MASK = const_cpu_to_le16(1827,75073 - VOLUME_MUST_MOUNT_RO_MASK = const_cpu_to_le16(0x8037)1827,75073 -typedef le16 VOLUME_FLAGS;VOLUME_FLAGS1830,75162 -} __attribute__ ((__packed__)__packed__1845,75663 -} __attribute__ ((__packed__)__packed__1856,75945 - SMALL_INDEX 1865,76095 - LARGE_INDEX 1868,76250 - LEAF_NODE 1875,76496 - INDEX_NODE 1877,76593 - NODE_MASK 1879,76681 -typedef u8 INDEX_HEADER_FLAGS;INDEX_HEADER_FLAGS1882,76773 -} __attribute__ ((__packed__)__packed__1910,78134 -} __attribute__ ((__packed__)__packed__1952,79959 -} __attribute__ ((__packed__)__packed__1987,81577 -typedef INDEX_BLOCK INDEX_ALLOCATION;INDEX_ALLOCATION1989,81622 -} __attribute__ ((__packed__)__packed__2004,82269 - QUOTA_FLAG_DEFAULT_LIMITS 2012,82411 - QUOTA_FLAG_DEFAULT_LIMITS = const_cpu_to_le32(2012,82411 - QUOTA_FLAG_DEFAULT_LIMITS = const_cpu_to_le32(0x00000001)2012,82411 - QUOTA_FLAG_LIMIT_REACHED 2013,82471 - QUOTA_FLAG_LIMIT_REACHED = const_cpu_to_le32(2013,82471 - QUOTA_FLAG_LIMIT_REACHED = const_cpu_to_le32(0x00000002)2013,82471 - QUOTA_FLAG_ID_DELETED 2014,82530 - QUOTA_FLAG_ID_DELETED = const_cpu_to_le32(2014,82530 - QUOTA_FLAG_ID_DELETED = const_cpu_to_le32(0x00000004)2014,82530 - QUOTA_FLAG_USER_MASK 2016,82588 - QUOTA_FLAG_USER_MASK = const_cpu_to_le32(2016,82588 - QUOTA_FLAG_USER_MASK = const_cpu_to_le32(0x00000007)2016,82588 - QUOTA_FLAG_TRACKING_ENABLED 2023,82832 - QUOTA_FLAG_TRACKING_ENABLED = const_cpu_to_le32(2023,82832 - QUOTA_FLAG_TRACKING_ENABLED = const_cpu_to_le32(0x00000010)2023,82832 - QUOTA_FLAG_ENFORCEMENT_ENABLED 2024,82894 - QUOTA_FLAG_ENFORCEMENT_ENABLED = const_cpu_to_le32(2024,82894 - QUOTA_FLAG_ENFORCEMENT_ENABLED = const_cpu_to_le32(0x00000020)2024,82894 - QUOTA_FLAG_TRACKING_REQUESTED 2025,82959 - QUOTA_FLAG_TRACKING_REQUESTED = const_cpu_to_le32(2025,82959 - QUOTA_FLAG_TRACKING_REQUESTED = const_cpu_to_le32(0x00000040)2025,82959 - QUOTA_FLAG_LOG_THRESHOLD 2026,83023 - QUOTA_FLAG_LOG_THRESHOLD = const_cpu_to_le32(2026,83023 - QUOTA_FLAG_LOG_THRESHOLD = const_cpu_to_le32(0x00000080)2026,83023 - QUOTA_FLAG_LOG_LIMIT 2028,83083 - QUOTA_FLAG_LOG_LIMIT = const_cpu_to_le32(2028,83083 - QUOTA_FLAG_LOG_LIMIT = const_cpu_to_le32(0x00000100)2028,83083 - QUOTA_FLAG_OUT_OF_DATE 2029,83139 - QUOTA_FLAG_OUT_OF_DATE = const_cpu_to_le32(2029,83139 - QUOTA_FLAG_OUT_OF_DATE = const_cpu_to_le32(0x00000200)2029,83139 - QUOTA_FLAG_CORRUPT 2030,83197 - QUOTA_FLAG_CORRUPT = const_cpu_to_le32(2030,83197 - QUOTA_FLAG_CORRUPT = const_cpu_to_le32(0x00000400)2030,83197 - QUOTA_FLAG_PENDING_DELETES 2031,83251 - QUOTA_FLAG_PENDING_DELETES = const_cpu_to_le32(2031,83251 - QUOTA_FLAG_PENDING_DELETES = const_cpu_to_le32(0x00000800)2031,83251 -typedef le32 QUOTA_FLAGS;QUOTA_FLAGS2034,83316 -} __attribute__ ((__packed__)__packed__2069,84969 - QUOTA_INVALID_ID 2075,85076 - QUOTA_INVALID_ID = const_cpu_to_le32(2075,85076 - QUOTA_INVALID_ID = const_cpu_to_le32(0x00000000)2075,85076 - QUOTA_DEFAULTS_ID 2076,85127 - QUOTA_DEFAULTS_ID = const_cpu_to_le32(2076,85127 - QUOTA_DEFAULTS_ID = const_cpu_to_le32(0x00000001)2076,85127 - QUOTA_FIRST_USER_ID 2077,85179 - QUOTA_FIRST_USER_ID = const_cpu_to_le32(2077,85179 - QUOTA_FIRST_USER_ID = const_cpu_to_le32(0x00000100)2077,85179 - QUOTA_VERSION 2085,85331 -} QUOTA_CONTROL_ENTRY_CONSTANTS;QUOTA_CONTROL_ENTRY_CONSTANTS2086,85351 - INDEX_ENTRY_NODE 2092,85430 - INDEX_ENTRY_NODE = const_cpu_to_le16(2092,85430 - INDEX_ENTRY_END 2095,85600 - INDEX_ENTRY_END = const_cpu_to_le16(2095,85600 - INDEX_ENTRY_SPACE_FILLER 2099,85779 - INDEX_ENTRY_SPACE_FILLER = const_cpu_to_le16(2099,85779 - INDEX_ENTRY_SPACE_FILLER = const_cpu_to_le16(0xffff)2099,85779 -typedef le16 INDEX_ENTRY_FLAGS;INDEX_ENTRY_FLAGS2103,85913 - } __attribute__ __attribute__2115,86240 - } __attribute__ __attribute__2122,86544 -} __attribute__ ((__packed__)__packed__2132,87030 - } __attribute__ __attribute__2150,87699 - } __attribute__ __attribute__2157,88003 - } __attribute__ __attribute__2186,89348 -} __attribute__ ((__packed__)__packed__2200,90167 -} __attribute__ ((__packed__)__packed__2214,90642 - IO_REPARSE_TAG_IS_ALIAS 2237,91613 - IO_REPARSE_TAG_IS_ALIAS = const_cpu_to_le32(2237,91613 - IO_REPARSE_TAG_IS_ALIAS = const_cpu_to_le32(0x20000000)2237,91613 - IO_REPARSE_TAG_IS_HIGH_LATENCY 2238,91672 - IO_REPARSE_TAG_IS_HIGH_LATENCY = const_cpu_to_le32(2238,91672 - IO_REPARSE_TAG_IS_HIGH_LATENCY = const_cpu_to_le32(0x40000000)2238,91672 - IO_REPARSE_TAG_IS_MICROSOFT 2239,91737 - IO_REPARSE_TAG_IS_MICROSOFT = const_cpu_to_le32(2239,91737 - IO_REPARSE_TAG_IS_MICROSOFT = const_cpu_to_le32(0x80000000)2239,91737 - IO_REPARSE_TAG_RESERVED_ZERO 2241,91800 - IO_REPARSE_TAG_RESERVED_ZERO = const_cpu_to_le32(2241,91800 - IO_REPARSE_TAG_RESERVED_ZERO = const_cpu_to_le32(0x00000000)2241,91800 - IO_REPARSE_TAG_RESERVED_ONE 2242,91863 - IO_REPARSE_TAG_RESERVED_ONE = const_cpu_to_le32(2242,91863 - IO_REPARSE_TAG_RESERVED_ONE = const_cpu_to_le32(0x00000001)2242,91863 - IO_REPARSE_TAG_RESERVED_RANGE 2243,91925 - IO_REPARSE_TAG_RESERVED_RANGE = const_cpu_to_le32(2243,91925 - IO_REPARSE_TAG_RESERVED_RANGE = const_cpu_to_le32(0x00000001)2243,91925 - IO_REPARSE_TAG_NSS 2245,91990 - IO_REPARSE_TAG_NSS = const_cpu_to_le32(2245,91990 - IO_REPARSE_TAG_NSS = const_cpu_to_le32(0x68000005)2245,91990 - IO_REPARSE_TAG_NSS_RECOVER 2246,92044 - IO_REPARSE_TAG_NSS_RECOVER = const_cpu_to_le32(2246,92044 - IO_REPARSE_TAG_NSS_RECOVER = const_cpu_to_le32(0x68000006)2246,92044 - IO_REPARSE_TAG_SIS 2247,92105 - IO_REPARSE_TAG_SIS = const_cpu_to_le32(2247,92105 - IO_REPARSE_TAG_SIS = const_cpu_to_le32(0x68000007)2247,92105 - IO_REPARSE_TAG_DFS 2248,92159 - IO_REPARSE_TAG_DFS = const_cpu_to_le32(2248,92159 - IO_REPARSE_TAG_DFS = const_cpu_to_le32(0x68000008)2248,92159 - IO_REPARSE_TAG_MOUNT_POINT 2250,92214 - IO_REPARSE_TAG_MOUNT_POINT = const_cpu_to_le32(2250,92214 - IO_REPARSE_TAG_MOUNT_POINT = const_cpu_to_le32(0x88000003)2250,92214 - IO_REPARSE_TAG_HSM 2252,92276 - IO_REPARSE_TAG_HSM = const_cpu_to_le32(2252,92276 - IO_REPARSE_TAG_HSM = const_cpu_to_le32(0xa8000004)2252,92276 - IO_REPARSE_TAG_SYMBOLIC_LINK 2254,92331 - IO_REPARSE_TAG_SYMBOLIC_LINK = const_cpu_to_le32(2254,92331 - IO_REPARSE_TAG_SYMBOLIC_LINK = const_cpu_to_le32(0xe8000000)2254,92331 - IO_REPARSE_TAG_VALID_VALUES 2256,92395 - IO_REPARSE_TAG_VALID_VALUES = const_cpu_to_le32(2256,92395 - IO_REPARSE_TAG_VALID_VALUES = const_cpu_to_le32(0xe000ffff)2256,92395 -} __attribute__ ((__packed__)__packed__2269,92795 -} __attribute__ ((__packed__)__packed__2286,93373 - NEED_EA 2292,93472 - NEED_EA = 0x802292,93472 -typedef u8 EA_FLAGS;EA_FLAGS2295,93521 -} __attribute__ ((__packed__)__packed__2315,94222 -} __attribute__ ((__packed__)__packed__2325,94474 -} __attribute__ ((__packed__)__packed__2342,94986 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/endian.h,535 -#define _LINUX_NTFS_ENDIAN_H24,1021 -static inline s16 sle16_to_cpu(33,1149 -static inline s32 sle32_to_cpu(38,1232 -static inline s64 sle64_to_cpu(43,1315 -static inline s16 sle16_to_cpup(48,1398 -static inline s32 sle32_to_cpup(53,1485 -static inline s64 sle64_to_cpup(58,1572 -static inline sle16 cpu_to_sle16(63,1659 -static inline sle32 cpu_to_sle32(68,1743 -static inline sle64 cpu_to_sle64(73,1827 -static inline sle16 cpu_to_sle16p(78,1911 -static inline sle32 cpu_to_sle32p(83,1998 -static inline sle64 cpu_to_sle64p(88,2085 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/sysctl.h,76 -#define _LINUX_NTFS_SYSCTL_H25,1112 -static inline int ntfs_sysctl(36,1267 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/logfile.h,655 -#define _LINUX_NTFS_LOGFILE_H24,1017 -#define MaxLogFileSize 60,2502 -#define DefaultLogPageSize 61,2541 -#define MinLogRecordPages 62,2573 -} __attribute__ ((__packed__)__packed__100,4289 -#define LOGFILE_NO_CLIENT 107,4589 -#define LOGFILE_NO_CLIENT_CPU 108,4641 - RESTART_VOLUME_IS_CLEAN 115,4828 - RESTART_VOLUME_IS_CLEAN = const_cpu_to_le16(115,4828 - RESTART_VOLUME_IS_CLEAN = const_cpu_to_le16(0x0002)115,4828 - RESTART_SPACE_FILLER 116,4882 - RESTART_SPACE_FILLER = 0xffff,116,4882 -typedef le16 RESTART_AREA_FLAGS;RESTART_AREA_FLAGS119,4986 -} __attribute__ ((__packed__)__packed__258,11699 -} __attribute__ ((__packed__)__packed__297,13504 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/quota.c,43 -BOOL ntfs_mark_quotas_out_of_date(36,1292 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/inode.c,1061 -int ntfs_test_inode(50,1764 -static int ntfs_init_locked_inode(94,3111 -typedef int (*set_t)set_t138,4176 -struct inode *ntfs_iget(160,5163 -struct inode *ntfs_attr_iget(217,6972 -struct inode *ntfs_index_iget(275,8762 -struct inode *ntfs_alloc_big_inode(311,9559 -void ntfs_destroy_big_inode(326,9889 -static inline ntfs_inode *ntfs_alloc_extent_inode(337,10125 -void ntfs_destroy_extent_inode(351,10436 -static void __ntfs_init_inode(372,11021 -static inline void ntfs_init_big_inode(398,11716 -inline ntfs_inode *ntfs_new_extent_inode(408,11903 -static int ntfs_is_extended_system_file(437,12704 -static int ntfs_read_locked_inode(529,15913 -static int ntfs_read_locked_attr_inode(1166,36647 -static int ntfs_read_locked_index_inode(1425,44690 -int ntfs_read_inode_mount(1682,53397 -void ntfs_put_inode(2101,67073 -void __ntfs_clear_inode(2127,67644 -void ntfs_clear_extent_inode(2156,68216 -void ntfs_clear_big_inode(2188,69079 -int ntfs_show_options(2239,70449 -void ntfs_truncate(2285,71999 -int ntfs_setattr(2359,74441 -int ntfs_write_inode(2424,76269 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/volume.h,311 -#define _LINUX_NTFS_VOLUME_H25,1056 -} ntfs_volume;ntfs_volume126,5170 - NV_Errors,132,5274 - NV_ShowSystemFiles,133,5335 - NV_CaseSensitive,134,5404 - NV_LogFileEmpty,138,5614 - NV_QuotaOutOfDate,139,5668 -} ntfs_volume_flags;ntfs_volume_flags140,5720 -#define NVOL_FNS(NVOL_FNS146,5837 -NVOL_FNS(161,6248 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/mst.c,103 -int post_read_mst_fixup(42,1781 -int pre_write_mst_fixup(123,4679 -void post_write_mst_fixup(179,6448 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/index.c,159 -ntfs_index_context *ntfs_index_ctx_get(35,1320 -void ntfs_index_ctx_put(63,1942 -int ntfs_index_lookup(125,4386 -void __ntfs_index_entry_mark_dirty(481,15919 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/attrib.c,1064 -static inline void ntfs_rl_mm(34,1222 -static inline void ntfs_rl_mc(47,1544 -static inline runlist_element *ntfs_rl_realloc(74,2639 -static inline BOOL ntfs_are_rl_mergeable(110,3606 -static inline void __ntfs_rl_merge(137,4434 -static inline BOOL ntfs_rl_merge(157,5129 -static inline runlist_element *ntfs_rl_append(190,6407 -static inline runlist_element *ntfs_rl_insert(255,8668 -static inline runlist_element *ntfs_rl_replace(361,12024 -static inline runlist_element *ntfs_rl_split(427,14354 -runlist_element *ntfs_merge_runlists(488,16770 -runlist_element *decompress_mapping_pairs(718,23634 -int ntfs_map_runlist(946,30970 -LCN ntfs_vcn_to_lcn(1018,32981 -runlist_element *ntfs_find_vcn(1085,35427 -static int ntfs_attr_find(1206,39792 -int load_attribute_list(1336,43467 -static int ntfs_external_attr_find(1478,48635 -int ntfs_attr_lookup(1805,59981 -static inline void ntfs_attr_init_search_ctx(1834,60944 -void ntfs_attr_reinit_search_ctx(1858,61742 -ntfs_attr_search_ctx *ntfs_attr_get_search_ctx(1887,62742 -void ntfs_attr_put_search_ctx(1904,63203 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/bitmap.c,43 -int __ntfs_bitmap_set_bits_in_run(46,1687 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/collate.h,99 -#define _LINUX_NTFS_COLLATE_H24,1003 -static inline BOOL ntfs_is_collation_rule_supported(29,1074 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/collate.c,284 -static int ntfs_collate_binary(25,991 -static int ntfs_collate_ntofs_ulong(43,1373 -typedef int (*ntfs_collate_func_t)ntfs_collate_func_t68,1855 -static ntfs_collate_func_t ntfs_do_collate0x0[71,1959 -static ntfs_collate_func_t ntfs_do_collate0x1[77,2109 -int ntfs_collate(100,2996 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/aops.c,584 -static void ntfs_end_buffer_async_read(48,1977 -static int ntfs_read_block(167,5447 -int ntfs_readpage(346,10637 -static int ntfs_write_block(467,14082 -static const char *ntfs_please_email 775,22874 -static int ntfs_write_mst_block(799,23818 -static int ntfs_writepage(1026,30499 -static int ntfs_prepare_nonresident_write(1232,36357 -static int ntfs_prepare_write(1603,47333 -static int ntfs_commit_nonresident_write(1706,50521 -static int ntfs_commit_write(1798,54027 -struct address_space_operations ntfs_aops 2004,59585 -struct address_space_operations ntfs_mst_aops 2020,60155 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/debug.c,217 -static char err_buf[28,1091 -static spinlock_t err_buf_lock 29,1118 -void __ntfs_warning(50,1922 -void __ntfs_error(90,3181 -int debug_msgs 114,3764 -void __ntfs_debug 116,3785 -void ntfs_debug_dump_runlist(136,4298 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/bitmap.h,284 -#define _LINUX_NTFS_BITMAP_H24,997 -static inline int ntfs_bitmap_set_bits_in_run(47,1655 -static inline int ntfs_bitmap_set_run(65,2172 -static inline int ntfs_bitmap_clear_run(82,2659 -static inline int ntfs_bitmap_set_bit(97,3052 -static inline int ntfs_bitmap_clear_bit(111,3405 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/types.h,754 -#define _LINUX_NTFS_TYPES_H24,1010 -typedef __le16 le16;le1628,1065 -typedef __le32 le32;le3229,1086 -typedef __le64 le64;le6430,1107 -typedef __u16 __bitwise sle16;sle1631,1128 -typedef __u32 __bitwise sle32;sle3232,1159 -typedef __u64 __bitwise sle64;sle6433,1190 -typedef le16 ntfschar;ntfschar36,1259 -#define UCHAR_T_SIZE_BITS 37,1282 -typedef s64 VCN;VCN43,1465 -typedef sle64 leVCN;leVCN44,1482 -typedef s64 LCN;LCN45,1503 -typedef sle64 leLCN;leLCN46,1520 -typedef s64 LSN;LSN53,1727 -typedef sle64 leLSN;leLSN54,1744 -} runlist_element;runlist_element71,2439 -} runlist;runlist82,2721 - FALSE 85,2748 - TRUE 86,2760 -} BOOL;BOOL87,2770 - CASE_SENSITIVE 90,2794 - IGNORE_CASE 91,2815 -} IGNORE_CASE_BOOL;IGNORE_CASE_BOOL92,2833 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/logfile.c,312 -static BOOL ntfs_check_restart_page_header(47,1659 -static BOOL ntfs_check_restart_area(142,4997 -static BOOL ntfs_check_log_client_array(257,9258 -static BOOL ntfs_check_and_load_restart_page(324,11598 -BOOL ntfs_check_logfile(424,14788 -BOOL ntfs_is_logfile_clean(619,21024 -BOOL ntfs_empty_logfile(681,23139 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/quota.h,36 -#define _LINUX_NTFS_QUOTA_H24,1002 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/index.h,205 -#define _LINUX_NTFS_INDEX_H24,993 -} ntfs_index_context;ntfs_index_context85,3314 -static inline void ntfs_index_entry_flush_dcache_page(110,4190 -static inline void ntfs_index_entry_mark_dirty(138,5346 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/mft.h,238 -#define _LINUX_NTFS_MFT_H24,1012 -static inline void unmap_extent_mft_record(38,1345 -static inline void flush_dcache_mft_record_page(55,1751 -static inline void mark_mft_record_dirty(73,2375 -static inline int write_mft_record(102,3618 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/namei.c,181 -static struct dentry *ntfs_lookup(98,5095 -struct inode_operations ntfs_dir_inode_ops 345,12202 -struct dentry *ntfs_get_parent(366,13052 -struct dentry *ntfs_get_dentry(451,15965 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/inode.h,836 -#define _LINUX_NTFS_INODE_H25,1049 -typedef struct _ntfs_inode ntfs_inode;ntfs_inode32,1148 -struct _ntfs_inode _ntfs_inode38,1318 - NI_Dirty,137,5713 - NI_AttrList,138,5774 - NI_AttrListNonResident,139,5837 - NI_Attr,142,5942 - NI_MstProtected,145,6031 - NI_NonResident,147,6144 - NI_IndexAllocPresent 149,6251 - NI_IndexAllocPresent = NI_NonResident,149,6251 - NI_Compressed,151,6347 - NI_Encrypted,154,6499 - NI_Sparse,157,6647 -} ntfs_inode_state_bits;ntfs_inode_state_bits160,6783 -#define NINO_FNS(NINO_FNS172,7134 -#define TAS_NINO_FNS(TAS_NINO_FNS189,7555 -NINO_FNS(200,7888 -} big_ntfs_inode;big_ntfs_inode220,8394 -static inline ntfs_inode *NTFS_I(228,8564 -static inline struct inode *VFS_I(233,8691 -} ntfs_attr;ntfs_attr256,9430 -typedef int (*test_t)test_t258,9444 -static inline void ntfs_commit_inode(290,10518 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/upcase.c,43 -ntfschar *generate_default_upcase(29,1181 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/time.h,205 -#define _LINUX_NTFS_TIME_H23,980 -#define NTFS_TIME_OFFSET 30,1132 -static inline sle64 utc2ntfs(48,1887 -static inline sle64 get_current_ntfs_time(64,2401 -static inline struct timespec ntfs2utc(85,3191 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/unistr.c,338 -static const u8 legal_ansi_char_array[36,1230 -BOOL ntfs_are_names_equal(64,2288 -int ntfs_collate_names(93,3397 -int ntfs_ucsncmp(145,4862 -int ntfs_ucsncasecmp(181,5907 -void ntfs_upcase_name(202,6336 -void ntfs_file_upcase_value(213,6561 -int ntfs_file_compare_values(220,6789 -int ntfs_nlstoucs(255,8250 -int ntfs_ucstonls(321,10442 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/compress.c,721 - NTFS_SYMBOL_TOKEN 35,1247 - NTFS_PHRASE_TOKEN 36,1271 - NTFS_TOKEN_MASK 37,1295 - NTFS_SB_SIZE_MASK 40,1359 - NTFS_SB_SIZE_MASK = 0x0fff,40,1359 - NTFS_SB_SIZE 41,1388 - NTFS_SB_SIZE = 0x1000,41,1388 - NTFS_SB_IS_COMPRESSED 42,1413 - NTFS_SB_IS_COMPRESSED = 0x8000,42,1413 - NTFS_MAX_CB_SIZE 50,1707 -} ntfs_compression_constants;ntfs_compression_constants51,1738 -static u8 *ntfs_compression_buffer 56,1846 -static spinlock_t ntfs_cb_lock 61,1964 -int allocate_compression_buffers(70,2209 -void free_compression_buffers(85,2521 -static void zero_partial_compressed_page(95,2747 -static inline void handle_bounds_compressed_page(117,3384 -static int ntfs_decompress(161,5396 -int ntfs_read_compressed_block(475,15694 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/debug.h,294 -#define _LINUX_NTFS_DEBUG_H23,976 -extern void __ntfs_debug 49,1611 -#define ntfs_debug(ntfs_debug51,1754 -#define ntfs_debug(ntfs_debug58,1931 -#define ntfs_debug_dump_runlist(ntfs_debug_dump_runlist59,1976 -#define ntfs_warning(ntfs_warning65,2194 -#define ntfs_error(ntfs_error69,2412 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/super.c,2560 -static unsigned long ntfs_nr_compression_users;42,1488 - ON_ERRORS_PANIC 47,1688 - ON_ERRORS_PANIC = 0x01,47,1688 - ON_ERRORS_REMOUNT_RO 48,1715 - ON_ERRORS_REMOUNT_RO = 0x02,48,1715 - ON_ERRORS_CONTINUE 49,1746 - ON_ERRORS_CONTINUE = 0x04,49,1746 - ON_ERRORS_RECOVER 51,1831 - ON_ERRORS_RECOVER = 0x10,51,1831 -} ON_ERRORS_ACTIONS;ON_ERRORS_ACTIONS52,1859 -const option_t on_errors_arr[54,1881 -static int simple_getbool(67,2176 -static BOOL parse_options(89,2687 -#define NTFS_GETOPT_WITH_DEFAULT(NTFS_GETOPT_WITH_DEFAULT102,3081 -#define NTFS_GETOPT(NTFS_GETOPT112,3361 -#define NTFS_GETOPT_BOOL(NTFS_GETOPT_BOOL120,3580 -#define NTFS_GETOPT_OPTIONS_ARRAY(NTFS_GETOPT_OPTIONS_ARRAY127,3770 -static int ntfs_write_volume_flags(316,9399 -static inline int ntfs_set_volume_flags(371,10839 -static inline int ntfs_clear_volume_flags(386,11313 -static int ntfs_remount(407,11983 -static BOOL is_boot_sector_ntfs(507,15212 -static struct buffer_head *read_ntfs_boot_sector(597,18397 -static BOOL parse_ntfs_boot_sector(682,21178 -static void setup_lcn_allocator(835,27346 -static BOOL load_and_init_mft_mirror(916,30052 -static BOOL check_mft_mirror(963,31541 -static BOOL load_and_check_logfile(1080,34917 -static BOOL load_and_init_quota(1109,35711 -static BOOL load_and_init_attrdef(1178,37749 -static BOOL load_and_init_upcase(1240,39454 -static BOOL load_system_files(1345,42411 -static void ntfs_put_super(1720,54761 -static s64 get_nr_free_clusters(1927,60448 -static unsigned long __get_nr_free_mft_records(2018,63661 -static int ntfs_statfs(2107,66931 -struct super_operations ntfs_sops 2158,68852 -static struct export_operations ntfs_export_ops 2220,71465 -static int ntfs_fill_super(2246,72546 -kmem_cache_t *ntfs_name_cache;2552,81465 -kmem_cache_t *ntfs_inode_cache;2555,81567 -kmem_cache_t *ntfs_big_inode_cache;2556,81599 -static void ntfs_big_inode_init_once(2559,81690 -kmem_cache_t *ntfs_attr_ctx_cache;2573,82071 -kmem_cache_t *ntfs_index_ctx_cache;2574,82106 -ntfschar *default_upcase 2577,82216 -unsigned long ntfs_nr_upcase_users 2578,82249 -static struct super_block *ntfs_get_sb(2583,82346 -static struct file_system_type ntfs_fs_type 2589,82540 -static const char ntfs_index_ctx_cache_name[2598,82759 -static const char ntfs_attr_ctx_cache_name[2599,82831 -static const char ntfs_name_cache_name[2600,82901 -static const char ntfs_inode_cache_name[2601,82963 -static const char ntfs_big_inode_cache_name[2602,83027 -static int __init init_ntfs_fs(2604,83100 -static void __exit exit_ntfs_fs(2703,85732 -module_init(2743,87110 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/file.c,280 -static int ntfs_file_open(42,1792 -static int ntfs_file_fsync(81,3182 -struct file_operations ntfs_file_ops 105,3809 -struct inode_operations ntfs_file_inode_ops 141,5258 -struct file_operations ntfs_empty_file_ops 148,5400 -struct inode_operations ntfs_empty_inode_ops 150,5450 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/attrib.h,290 -#define _LINUX_NTFS_ATTRIB_H25,1057 -static inline void init_runlist(33,1170 - LCN_HOLE 40,1275 - LCN_RL_NOT_MAPPED 41,1333 - LCN_ENOENT 42,1358 -} LCN_SPECIAL_VALUES;LCN_SPECIAL_VALUES43,1377 -} ntfs_attr_search_ctx;ntfs_attr_search_ctx72,2555 -static inline s64 ntfs_attr_size(92,3256 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ntfs/dir.c,308 -ntfschar I30[30,1126 -MFT_REF ntfs_lookup_inode_by_name(74,3616 -u64 ntfs_lookup_inode_by_name(630,21610 -static inline int ntfs_filldir(1025,34657 -static int ntfs_readdir(1097,37223 -static int ntfs_dir_open(1483,50131 -static int ntfs_dir_fsync(1519,51429 -struct file_operations ntfs_dir_ops 1545,52147 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/group.c,129 -static void remove_files(18,349 -static int create_files(27,558 -int sysfs_create_group(42,859 -void sysfs_remove_group(65,1289 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/inode.c,343 -static struct address_space_operations sysfs_aops 18,339 -static struct backing_dev_info sysfs_backing_dev_info 24,504 -struct inode * sysfs_new_inode(29,664 -int sysfs_create(45,1087 -struct dentry * sysfs_get_dentry(79,1815 -const unsigned char * sysfs_get_name(92,2127 -void sysfs_drop_dentry(126,2802 -void sysfs_hash_and_remove(142,3173 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/mount.c,388 -#define DEBUG 5,69 -#define SYSFS_MAGIC 15,230 -struct vfsmount *sysfs_mount;17,262 -struct super_block * sysfs_sb 18,292 -static struct super_operations sysfs_ops 20,331 -static struct sysfs_dirent sysfs_root 25,444 -static int sysfs_fill_super(32,640 -static struct super_block *sysfs_get_sb(65,1450 -static struct file_system_type sysfs_fs_type 71,1638 -int __init sysfs_init(77,1767 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/sysfs.h,399 -struct sysfs_symlink sysfs_symlink28,1128 -static inline struct kobject * to_kobj(33,1205 -static inline struct attribute * to_attr(39,1363 -static inline struct bin_attribute * to_bin_attr(45,1525 -static inline struct kobject *sysfs_get_kobject(51,1699 -static inline void release_sysfs_dirent(69,2125 -static inline struct sysfs_dirent * sysfs_get(80,2362 -static inline void sysfs_put(89,2532 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/bin.c,250 -fill_read(18,249 -read(27,493 -flush_write(61,1142 -static ssize_t write(69,1378 -static int open(95,1938 -static int release(131,2718 -struct file_operations bin_fops 144,3031 -int sysfs_create_bin_file(159,3295 -int sysfs_remove_bin_file(174,3614 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/file.c,686 -#define to_subsys(to_subsys13,210 -#define to_sattr(to_sattr14,274 -subsys_attr_show(22,476 -subsys_attr_store(34,746 -static struct sysfs_ops subsys_sysfs_ops 46,1034 -struct sysfs_buffer sysfs_buffer52,1140 -static int fill_read_buffer(72,1623 -static int flush_read_buffer(108,2599 -sysfs_read_file(145,3685 -fill_write_buffer(175,4440 -flush_write_buffer(203,5149 -sysfs_write_file(231,6105 -static int check_perm(245,6461 -static int sysfs_open_file(324,8303 -static int sysfs_release(329,8409 -struct file_operations sysfs_file_operations 349,8901 -int sysfs_add_file(358,9098 -int sysfs_create_file(378,9590 -int sysfs_update_file(395,10010 -void sysfs_remove_file(437,10918 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/symlink.c,424 -static int object_depth(12,175 -static int object_path_length(20,328 -static void fill_object_path(31,525 -static int sysfs_add_link(46,867 -int sysfs_create_link(82,1681 -void sysfs_remove_link(102,2140 -static int sysfs_get_target_path(107,2247 -static int sysfs_getlink(129,2736 -static int sysfs_follow_link(154,3220 -static void sysfs_put_link(164,3500 -struct inode_operations sysfs_symlink_inode_operations 171,3662 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysfs/dir.c,927 -static void sysfs_d_iput(15,221 -static struct dentry_operations sysfs_dentry_ops 27,446 -static struct sysfs_dirent * sysfs_new_dirent(34,608 -int sysfs_make_dirent(52,991 -static int init_dir(72,1385 -static int init_file(82,1614 -static int init_symlink(89,1741 -static int create_dir(95,1851 -int sysfs_create_subdir(124,2478 -int sysfs_create_dir(135,2748 -static int sysfs_attach_attr(159,3259 -static int sysfs_attach_link(190,4039 -static struct dentry * sysfs_lookup(204,4346 -struct inode_operations sysfs_dir_inode_operations 229,4938 -static void remove_dir(233,5023 -void sysfs_remove_subdir(253,5441 -void sysfs_remove_dir(268,5797 -int sysfs_rename_dir(295,6447 -static int sysfs_dir_open(331,7185 -static int sysfs_dir_close(344,7515 -static inline unsigned char dt_type(357,7847 -static int sysfs_readdir(362,7946 -static loff_t sysfs_dir_lseek(421,9261 -struct file_operations sysfs_dir_operations 461,10172 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hppfs/hppfs_kern.c,1972 -struct hppfs_data hppfs_data21,441 -struct hppfs_private hppfs_private26,543 -struct hppfs_inode_info hppfs_inode_info33,652 -static inline struct hppfs_inode_info *HPPFS_I(38,743 -#define HPPFS_SUPER_MAGIC 43,880 -static struct super_operations hppfs_sbops;45,918 -static int is_pid(47,963 -static char *dentry_name(63,1255 -struct dentry_operations hppfs_dentry_ops 105,2108 -static int file_removed(108,2158 -static void hppfs_read_inode(137,2721 -static struct dentry *hppfs_lookup(158,3273 -static struct inode_operations hppfs_file_iops 215,4465 -static ssize_t read_proc(218,4520 -static ssize_t hppfs_read_file(238,4905 -static ssize_t hppfs_read(276,5574 -static ssize_t hppfs_write(315,6499 -static int open_host_sock(332,6961 -static void free_contents(350,7275 -static struct hppfs_data *hppfs_get_data(364,7544 -static struct hppfs_private *hppfs_data(430,8882 -static int file_mode(444,9165 -static int hppfs_open(455,9364 -static int hppfs_dir_open(516,10752 -static loff_t hppfs_llseek(543,11263 -static struct file_operations hppfs_file_fops 560,11687 -struct hppfs_dirent hppfs_dirent568,11852 -static int hppfs_filldir(574,11941 -static int hppfs_readdir(586,12236 -static int hppfs_fsync(606,12827 -static struct file_operations hppfs_dir_fops 611,12923 -static int hppfs_statfs(618,13070 -static struct inode *hppfs_alloc_inode(629,13280 -void hppfs_delete_inode(642,13571 -static void hppfs_destroy_inode(647,13638 -static struct super_operations hppfs_sbops 652,13720 -static int hppfs_readlink(660,13941 -static int hppfs_follow_link(681,14451 -static struct inode_operations hppfs_dir_iops 702,14967 -static struct inode_operations hppfs_link_iops 706,15047 -static int init_inode(711,15166 -static int hppfs_fill_super(731,15595 -static struct super_block *hppfs_read_super(777,16436 -static struct file_system_type hppfs_type 784,16641 -static int __init init_hppfs(792,16812 -static void __exit exit_hppfs(797,16895 -module_init(802,16973 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/compat.c,4059 -asmlinkage long compat_sys_utime(55,1554 -asmlinkage long compat_sys_utimes(69,1877 -asmlinkage long compat_sys_newstat(83,2261 -asmlinkage long compat_sys_newlstat(94,2494 -asmlinkage long compat_sys_newfstat(105,2729 -static int put_compat_statfs(116,2952 -asmlinkage long compat_sys_statfs(150,4232 -asmlinkage long compat_sys_fstatfs(166,4597 -static int put_compat_statfs64(184,4957 -asmlinkage long compat_statfs64(208,5902 -asmlinkage long compat_fstatfs64(227,6331 -#define IOCTL_HASHSIZE 250,6829 -static struct ioctl_trans *ioctl32_hash_table[251,6856 -static inline unsigned long ioctl32_hash(257,7026 -static void ioctl32_insert_translation(262,7151 -static int __init init_sys32_ioctl(279,7489 -int register_ioctl32_conversion(296,7776 -static inline int builtin_ioctl(327,8484 -int unregister_ioctl32_conversion(337,8791 -asmlinkage long compat_sys_ioctl(386,9794 -static int get_compat_flock(460,11334 -static int put_compat_flock(472,11729 -static int get_compat_flock64(485,12162 -static int put_compat_flock64(499,12605 -asmlinkage long compat_sys_fcntl64(512,13012 -asmlinkage long compat_sys_fcntl(567,14232 -compat_sys_io_setup(576,14472 -compat_sys_io_getevents(596,14954 -copy_iocb(624,15583 -#define MAX_AIO_SUBMITS 638,15850 -compat_sys_io_submit(641,15926 -struct compat_ncp_mount_data compat_ncp_mount_data659,16306 -struct compat_ncp_mount_data_v4 compat_ncp_mount_data_v4674,16651 -static void *do_ncp_super_data_conv(688,16960 -struct compat_smb_mount_data compat_smb_mount_data724,17927 -static void *do_smb_super_data_conv(733,18101 -#define SMBFS_NAME 751,18532 -#define NCPFS_NAME 752,18564 -asmlinkage long compat_sys_mount(754,18597 -#define NAME_OFFSET(NAME_OFFSET807,19701 -#define COMPAT_ROUND_UP(COMPAT_ROUND_UP808,19771 -struct compat_old_linux_dirent compat_old_linux_dirent811,19866 -struct compat_readdir_callback compat_readdir_callback818,19996 -static int compat_fillonedir(823,20094 -asmlinkage long compat_old_readdir(849,20816 -struct compat_linux_dirent compat_linux_dirent873,21237 -struct compat_getdents_callback compat_getdents_callback880,21360 -static int compat_filldir(887,21517 -asmlinkage long compat_sys_getdents(923,22514 -#define COMPAT_ROUND_UP64(COMPAT_ROUND_UP64964,23326 -struct compat_getdents_callback64 compat_getdents_callback64966,23397 -static int compat_filldir64(973,23546 -asmlinkage long compat_sys_getdents64(1015,24647 -static ssize_t compat_do_readv_writev(1055,25486 - typedef ssize_t (*io_fn_t)io_fn_t1059,25654 - typedef ssize_t (*iov_fn_t)iov_fn_t1060,25731 -compat_sys_readv(1188,28515 -compat_sys_writev(1212,28965 -static int compat_count(1239,29580 -static int compat_copy_strings(1263,29992 -#define free_arg_pages(free_arg_pages1345,31526 -static inline void free_arg_pages(1349,31580 -int compat_do_execve(1366,31931 -#define __COMPAT_NFDBITS 1467,33849 -#define ROUND_UP(ROUND_UP1469,33910 -int compat_get_fd_set(1476,34060 -void compat_set_fd_set(1509,34777 -static void *select_bits_alloc(1538,35305 -static void select_bits_free(1543,35390 -#define MAX_SELECT_SECONDS 1556,35753 -compat_sys_select(1560,35848 -struct compat_nfsctl_svc compat_nfsctl_svc1656,38214 -struct compat_nfsctl_client compat_nfsctl_client1661,38287 -struct compat_nfsctl_export compat_nfsctl_export1670,38503 -struct compat_nfsctl_fdparm compat_nfsctl_fdparm1680,38742 -struct compat_nfsctl_fsparm compat_nfsctl_fsparm1686,38869 -struct compat_nfsctl_arg compat_nfsctl_arg1692,38995 -#define ca32_svc 1701,39284 -#define ca32_client 1702,39311 -#define ca32_export 1703,39344 -#define ca32_getfd 1704,39377 -#define ca32_getfs 1705,39408 -union compat_nfsctl_res compat_nfsctl_res1708,39443 -static int compat_nfs_svc_trans(1713,39535 -static int compat_nfs_clnt_trans(1724,39949 -static int compat_nfs_exp_trans(1748,40859 -static int compat_nfs_getfd_trans(1776,41921 -static int compat_nfs_getfs_trans(1794,42505 -static int compat_nfs_getfh_res_trans(1815,43213 -asmlinkage long compat_sys_nfsservctl(1824,43404 -long asmlinkage compat_sys_nfsservctl(1889,44666 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/prints.c,1373 -static char error_buf[14,262 -static char fmt_buf[15,291 -static char off_buf[16,318 -static char * reiserfs_cpu_offset 19,345 -static char * le_offset 31,730 -static char * cpu_type 46,1184 -static char * le_type 60,1507 -static void sprintf_le_key 79,1925 -static void sprintf_cpu_key 90,2179 -static void sprintf_de_head(100,2448 -static void sprintf_item_head 110,2771 -static void sprintf_direntry 123,3177 -static void sprintf_block_head 133,3479 -static void sprintf_buffer_head 140,3672 -static void sprintf_disk_child 155,4159 -static char * is_there_reiserfs_struct 161,4314 -prepare_error_buf(196,5325 -#define do_reiserfs_warning(do_reiserfs_warning259,7000 -void reiserfs_warning 267,7145 -void reiserfs_info 278,7505 -void reiserfs_printk 289,7840 -void reiserfs_debug 295,7940 -void reiserfs_panic 357,9898 -void print_virtual_node 370,10275 -void print_path 388,10851 -static int print_internal 420,11871 -static int print_leaf 458,12659 -char * reiserfs_hashname(508,14047 -static int print_super_block 521,14281 -static int print_desc_block 568,16206 -void print_block 584,16657 -char print_tb_buf[608,17229 -void store_print_tb 611,17323 -void print_cur_tb 685,20561 -static void check_leaf_block_head 690,20639 -static void check_internal_block_head 705,21104 -void check_leaf 723,21761 -void check_internal 736,22022 -void print_statistics 744,22131 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/procfs.c,1740 -static int show_version(33,651 -int reiserfs_global_version_in_proc(56,1087 -#define SF(SF64,1254 -#define SFP(SFP65,1281 -#define SFPL(SFPL66,1323 -#define SFPF(SFPF67,1359 -#define SFPJ(SFPJ68,1398 -#define D2C(D2C70,1434 -#define D4C(D4C71,1468 -#define DF(DF72,1502 -#define DFL(DFL73,1538 -#define objectid_map(objectid_map75,1576 -#define MAP(MAP78,1738 -#define DJF(DJF80,1791 -#define DJV(DJV81,1831 -#define DJP(DJP82,1873 -#define JF(JF83,1914 -static int show_super(85,1955 -static int show_per_level(167,4415 -static int show_bitmap(231,5565 -static int show_on_disk_super(264,6145 -static int show_oidmap(311,7349 -static int show_journal(342,8299 -static int test_sb(443,11282 -static int set_sb(448,11362 -static void *r_start(453,11438 -static void *r_next(475,11797 -static void r_stop(483,11918 -static int r_show(489,12002 -static struct seq_operations r_ops 496,12181 -static int r_open(503,12294 -static struct file_operations r_file_operations 514,12492 -static struct proc_dir_entry *proc_info_root 521,12634 -static const char proc_info_root_name[522,12687 -static void add_file(524,12745 -int reiserfs_proc_info_init(535,13021 -int reiserfs_proc_info_done(556,13756 -struct proc_dir_entry *reiserfs_proc_register_global(578,14379 -void reiserfs_proc_unregister_global(586,14606 -int reiserfs_proc_info_global_init(591,14712 -int reiserfs_proc_info_global_done(607,15059 -int reiserfs_proc_info_init(619,15259 -int reiserfs_proc_info_done(620,15327 -struct proc_dir_entry *reiserfs_proc_register_global(622,15396 -void reiserfs_proc_unregister_global(626,15513 -int reiserfs_proc_info_global_init(628,15575 -int reiserfs_proc_info_global_done(629,15632 -int reiserfs_global_version_in_proc(631,15690 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/lbalance.c,630 -static void leaf_copy_dir_entries 26,565 -static int leaf_copy_boundary_item 108,4057 -static void leaf_copy_items_entirely 245,9549 -static void leaf_item_bottle 340,13034 -static int leaf_copy_items 416,16294 -static void leaf_define_dest_src_infos 491,19100 -int leaf_move_items 573,21928 -int leaf_shift_left 592,22602 -int leaf_shift_right(641,24070 -void leaf_delete_items 673,25167 -void leaf_insert_into_buf 731,27091 -void leaf_paste_in_buffer 807,29616 -static int leaf_cut_entries 891,32346 -void leaf_cut_from_buffer 962,34761 -static void leaf_delete_items_entirely 1053,37974 -void leaf_paste_entries 1121,39944 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/xattr_trusted.c,174 -#define XATTR_TRUSTED_PREFIX 9,190 -trusted_get 12,242 -trusted_set 27,636 -trusted_del 43,1064 -trusted_list 58,1386 -struct reiserfs_xattr_handler trusted_handler 75,1703 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/journal.c,5326 -#define JOURNAL_LIST_ENTRY(JOURNAL_LIST_ENTRY61,2340 -#define JOURNAL_WORK_ENTRY(JOURNAL_WORK_ENTRY63,2459 -static int reiserfs_mounted_fs_count;69,2699 -static struct workqueue_struct *commit_wq;71,2738 -#define JOURNAL_TRANS_HALF 73,2782 -#define BUFNR 75,2889 -#define BLOCK_FREED 79,2978 -#define BLOCK_FREED_HOLDER 80,3052 -#define BLOCK_NEEDS_FLUSH 82,3158 -#define BLOCK_DIRTIED 83,3219 -#define LIST_TOUCHED 87,3275 -#define LIST_DIRTY 88,3298 -#define LIST_COMMIT_PENDING 89,3321 -#define FLUSH_ALL 92,3421 -#define COMMIT_NOW 93,3479 -#define WAIT 94,3540 -#define WRITERS_BLOCKED 97,3642 -#define WRITERS_QUEUED 98,3712 -static void init_journal_hash(113,4570 -static int reiserfs_clean_and_file_buffer(122,4982 -static void disable_barrier(130,5149 -allocate_bitmap_node(137,5389 -get_bitmap_node(157,5939 -static inline void free_bitmap_node(178,6509 -static void allocate_bitmap_nodes(190,7026 -static int set_bit_in_list_bitmap(204,7459 -static void cleanup_bitmap_list(216,7876 -static int free_list_bitmaps(233,8256 -static int free_bitmap_nodes(247,8638 -int reiserfs_allocate_list_bitmaps(267,9299 -get_list_bitmap(298,10150 -static struct reiserfs_journal_cnode *allocate_cnodes(327,11088 -static struct reiserfs_journal_cnode *get_cnode(351,11773 -static void free_cnode(376,12389 -static int clear_prepared_bits(391,12986 -inline int buffer_journaled(398,13187 -inline int buffer_journal_new(408,13494 -inline int mark_buffer_journal_new(415,13637 -inline int mark_buffer_not_journaled(422,13767 -void reiserfs_check_lock_depth(431,14045 -get_journal_hash_dev(443,14398 -static inline struct reiserfs_journal_cnode *get_journal_hash(458,14848 -int reiserfs_in_journal(487,16184 -inline void insert_journal_hash(535,17835 -inline static void lock_journal(548,18223 -inline static void unlock_journal(554,18415 -static inline void get_journal_list(558,18519 -static inline void put_journal_list(563,18616 -static void cleanup_freed_for_journal_list(579,19233 -static int journal_list_still_alive(589,19526 -static void reiserfs_end_buffer_io_sync(604,19900 -static void reiserfs_end_ordered_io(619,20319 -static void submit_logged_buffer(628,20530 -static void submit_ordered_buffer(640,20864 -static int submit_barrier_buffer(649,21089 -static void check_barrier_completion(658,21328 -#define CHUNK_SIZE 669,21617 -struct buffer_chunk buffer_chunk670,21639 -static void write_chunk(675,21717 -static void write_ordered_chunk(683,21887 -static int add_to_chunk(691,22066 -atomic_t nr_reiserfs_jh 711,22474 -static struct reiserfs_jh *alloc_jh(712,22516 -void reiserfs_free_jh(728,22814 -static inline int __add_jh(744,23111 -int reiserfs_add_tail_list(780,23943 -int reiserfs_add_ordered_list(783,24072 -#define JH_ENTRY(JH_ENTRY787,24205 -static int write_ordered_buffers(788,24267 -static int flush_older_commits(857,25764 -int reiserfs_async_progress_wait(918,27390 -static int flush_commit_list(933,27885 -static struct reiserfs_journal_list *find_newer_jl_for_cn(1079,32221 -static void remove_all_from_journal_list(1101,32941 -static int _update_journal_header_block(1131,34052 -static int update_journal_header_block(1171,35658 -static int flush_older_journal_lists(1183,36086 -static void del_from_work_list(1206,36749 -static int flush_journal_list(1223,37331 -static int write_one_transaction(1447,44205 -static int dirty_one_transaction(1497,45557 -static int kupdate_transactions(1533,46680 -static int flush_used_journal_lists(1600,48518 -void remove_journal_hash(1647,49910 -static void free_journal_ram(1683,50897 -static int do_journal_release(1705,51730 -int journal_release(1738,52781 -int journal_release_error(1744,52989 -static int journal_compare_desc_commit(1749,53235 -static int journal_transaction_is_valid(1764,53843 -static void brelse_array(1828,56696 -static int journal_read_transaction(1840,57020 -struct buffer_head * reiserfs_breada 1990,64213 -static int journal_read(2035,65412 -static struct reiserfs_journal_list *alloc_journal_list(2197,72066 -static void journal_list_init(2217,72613 -static int release_journal_dev(2221,72743 -static int journal_init_dev(2243,73317 -int journal_init(2307,75242 -int journal_transaction_should_end(2500,83208 -void reiserfs_block_writes(2518,83936 -void reiserfs_allow_writes(2528,84241 -void reiserfs_wait_on_write_block(2536,84482 -static void queue_log_writer(2541,84658 -static void wake_queued_writers(2558,85210 -static void let_transaction_grow(2563,85385 -static int do_journal_begin_r(2590,86289 -reiserfs_persistent_transaction(2679,89307 -reiserfs_end_persistent_transaction(2706,89995 -static int journal_join(2715,90308 -int journal_begin(2728,90736 -int journal_mark_dirty(2768,92184 -int journal_end(2860,95390 -static int remove_from_transaction(2892,96437 -static int can_dirty(2942,97952 -int journal_end_sync(2977,99115 -static void flush_async_commits(2993,99627 -int reiserfs_flush_old_commits(3021,100512 -static int check_journal_end(3065,102201 -int journal_mark_freed(3173,106558 -void reiserfs_update_inode_transaction(3242,108829 -static int __commit_trans_jl(3251,109173 -int reiserfs_commit_for_inode(3301,110717 -void reiserfs_restore_prepared_buffer(3317,111220 -int reiserfs_prepare_for_journal(3345,112053 -static void flush_old_journal_lists(3363,112552 -static int do_journal_end(3387,113302 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/do_balan.c,939 -struct tree_balance * cur_tb 27,654 -inline void do_balance_mark_leaf_dirty 33,940 -#define do_balance_mark_internal_dirty 40,1161 -#define do_balance_mark_sb_dirty 41,1227 -static int balance_leaf_when_delete 76,2621 -static int balance_leaf 238,7937 -void make_empty_node 1168,40431 -struct buffer_head * get_FEB 1184,40853 -static void store_thrown 1213,41476 -static void free_thrown(1228,41928 -void reiserfs_invalidate_buffer 1244,42431 -void replace_key 1256,42782 -int get_left_neighbor_position 1282,43756 -int get_right_neighbor_position 1300,44172 -static void check_internal_node 1318,44702 -static int locked_or_not_in_tree 1342,45328 -static int check_before_balancing 1354,45639 -void check_after_balance_leaf 1385,46724 -void check_leaf_level 1425,48365 -void check_internal_levels 1432,48517 -static inline void do_balance_starts 1487,50327 -static inline void do_balance_completed 1504,50787 -void do_balance 1531,51316 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/resize.c,28 -int reiserfs_resize 20,409 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/xattr_acl.c,657 -xattr_set_acl(13,291 -xattr_get_acl(44,889 -posix_acl_from_disk(68,1360 -posix_acl_to_disk(133,2903 -reiserfs_get_acl(183,4086 -reiserfs_set_acl(247,5762 -reiserfs_inherit_default_acl 322,8024 -reiserfs_cache_default_acl 402,10356 -reiserfs_acl_chmod 421,10880 -posix_acl_access_get(466,12307 -posix_acl_access_set(475,12548 -posix_acl_access_del 484,12804 -posix_acl_access_list 499,13199 -struct reiserfs_xattr_handler posix_acl_access_handler 510,13436 -posix_acl_default_get 519,13666 -posix_acl_default_set(528,13912 -posix_acl_default_del 537,14172 -posix_acl_default_list 552,14570 -struct reiserfs_xattr_handler posix_acl_default_handler 563,14808 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/stree.c,2012 -inline int B_IS_IN_TREE 66,1413 -inline void copy_short_key 75,1633 -inline void copy_item_head(83,1773 -inline int comp_short_keys 96,2154 -inline int comp_keys 120,2852 -inline int comp_cpu_keys 149,3592 -inline int comp_short_le_keys 177,4392 -inline int comp_short_cpu_keys 193,4845 -inline void cpu_key2cpu_key 213,5259 -inline void le_key2cpu_key 219,5392 -inline int comp_le_keys 239,6183 -inline int bin_search 258,7362 -const struct key MIN_KEY 294,8835 -const struct key MAX_KEY 297,8936 -inline const struct key * get_lkey 304,9403 -inline const struct key * get_rkey 343,11062 -static inline int key_in_buffer 386,13144 -inline void decrement_bcount(410,14184 -void decrement_counters_in_path 424,14546 -int reiserfs_check_path(443,15102 -void pathrelse_and_restore 455,15391 -void pathrelse 473,16009 -static int is_leaf 489,16416 -static int is_internal 550,18412 -static int is_tree_node 584,19447 -#define SEARCH_BY_KEY_READA 599,19822 -static void search_by_key_reada 602,19895 -int search_by_key 645,21908 -int search_for_position_by_key 849,29157 -int comp_items 918,31522 -#define held_by_others(held_by_others940,32127 -#define block_in_use(block_in_use943,32254 -static inline int prepare_for_direct_item 948,32370 -static inline int prepare_for_direntry_item 993,33734 -static char prepare_for_delete_or_cut(1025,35087 -int calc_deleted_bytes_number(1193,41266 -static void init_tb_struct(1218,42068 -void padd_item 1236,42619 -char key2type(1245,42778 -char head2type(1258,43021 -int reiserfs_delete_item 1273,43288 -void reiserfs_delete_solid_item 1411,48095 -void reiserfs_delete_object 1477,50233 -unmap_buffers(1499,50933 -static int maybe_indirect_to_direct 1534,51821 -static void indirect_to_direct_roll_back 1572,53353 -int reiserfs_cut_from_item 1604,54771 -static void truncate_directory 1776,61501 -void reiserfs_do_truncate 1795,62217 -static void check_research_for_paste 1929,67205 -int reiserfs_paste_into_item 1955,68375 -int reiserfs_insert_item(2026,71007 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/ioctl.c,56 -int reiserfs_ioctl 20,576 -int reiserfs_unpack 90,2450 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/inode.c,2619 -#define GET_BLOCK_NO_CREATE 24,634 -#define GET_BLOCK_CREATE 25,711 -#define GET_BLOCK_NO_HOLE 26,783 -#define GET_BLOCK_READ_DIRECT 27,849 -#define GET_BLOCK_NO_ISEM 28,929 -#define GET_BLOCK_NO_DANGLE 29,1004 -void reiserfs_delete_inode 36,1336 -static void _make_cpu_key 70,2374 -void make_cpu_key 85,2871 -inline void make_le_item_head 97,3220 -static inline void fix_tail_page_for_writing(148,5371 -static inline int allocation_needed 166,5899 -static inline int indirect_item_found 178,6203 -static inline void set_block_dev_mapped 184,6346 -static int file_capable 195,6588 -/*static*/ void restart_transaction(204,6857 -static int _get_block_create_0 228,7651 -int reiserfs_bmap 392,12892 -static int reiserfs_get_block_create_0 422,14128 -static int reiserfs_get_blocks_direct_io(429,14433 -static int convert_tail_for_hole(477,16028 -static inline int _allocate_block(536,17949 -int reiserfs_get_block 551,18425 -reiserfs_readpages(942,31401 -static int real_space_diff(951,31727 -static inline loff_t to_real_used_space(971,32410 -static inline ulong to_fake_used_blocks(981,32829 -static void init_inode 1008,33690 -static void inode2sd 1133,38347 -static void inode2sd_v1 1158,39263 -static void update_stat_data 1184,40190 -void reiserfs_update_sd_size 1208,40773 -static void reiserfs_make_bad_inode(1271,42933 -int reiserfs_init_locked_inode 1281,43176 -void reiserfs_read_locked_inode 1291,43524 -int reiserfs_find_actor(1367,46424 -struct inode * reiserfs_iget 1377,46693 -struct dentry *reiserfs_get_dentry(1402,47409 -struct dentry *reiserfs_decode_fh(1429,48079 -int reiserfs_encode_fh(1471,49540 -int reiserfs_write_inode 1507,50695 -int reiserfs_sync_inode 1533,51626 -static int reiserfs_new_directory 1544,51891 -static int reiserfs_new_symlink 1596,53790 -int reiserfs_new_inode 1640,55448 -static int grab_tail_page(1850,62441 -void reiserfs_truncate_file(1929,64671 -static int map_block_for_writepage(2000,67281 -static int reiserfs_write_full_page(2143,71546 -static int reiserfs_readpage 2332,76790 -static int reiserfs_writepage 2338,76922 -int reiserfs_prepare_write(2345,77154 -static sector_t reiserfs_aop_bmap(2388,78536 -static int reiserfs_commit_write(2392,78673 -void sd_attrs_to_i_attrs(2447,80577 -void i_attrs_to_sd_attrs(2473,81286 -static int invalidatepage_can_drop(2498,81980 -static int reiserfs_invalidatepage(2548,83470 -static int reiserfs_set_page_dirty(2593,84465 -static int reiserfs_releasepage(2611,85032 -static ssize_t reiserfs_direct_IO(2642,85844 -int reiserfs_setattr(2652,86196 -struct address_space_operations reiserfs_address_space_operations 2715,88086 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/ibalance.c,942 -#define INTERNAL_SHIFT_FROM_S_TO_L 22,535 -#define INTERNAL_SHIFT_FROM_R_TO_S 23,572 -#define INTERNAL_SHIFT_FROM_L_TO_S 24,609 -#define INTERNAL_SHIFT_FROM_S_TO_R 25,646 -#define INTERNAL_INSERT_TO_S 26,683 -#define INTERNAL_INSERT_TO_L 27,714 -#define INTERNAL_INSERT_TO_R 28,745 -static void internal_define_dest_src_infos 30,777 -static void internal_insert_childs 127,3902 -static void internal_delete_pointers_items 202,6144 -static void internal_delete_childs 273,8355 -static void internal_copy_pointers_items 291,8962 -static void internal_move_pointers_items 379,12012 -static void internal_insert_key 404,12939 -static void internal_shift_left 461,15058 -static void internal_shift1_left 496,16321 -static void internal_shift_right 523,17376 -static void internal_shift1_right 564,18799 -static void balance_internal_when_delete 588,19664 -void replace_lkey 701,23585 -void replace_rkey 721,24098 -int balance_internal 740,24592 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/bitmap.c,2635 -#define PREALLOCATION_SIZE 17,416 -#define SB_ALLOC_OPTS(SB_ALLOC_OPTS21,496 -#define _ALLOC_concentrating_formatted_nodes 23,561 -#define _ALLOC_displacing_large_files 24,609 -#define _ALLOC_displacing_new_packing_localities 25,650 -#define _ALLOC_old_hashed_relocation 26,702 -#define _ALLOC_new_hashed_relocation 27,742 -#define _ALLOC_skip_busy 28,782 -#define _ALLOC_displace_based_on_dirid 29,810 -#define _ALLOC_hashed_formatted_nodes 30,852 -#define _ALLOC_old_way 31,893 -#define _ALLOC_hundredth_slices 32,919 -#define _ALLOC_dirid_groups 33,954 -#define _ALLOC_oid_groups 34,986 -#define _ALLOC_packing_groups 35,1016 -#define concentrating_formatted_nodes(concentrating_formatted_nodes37,1051 -#define displacing_large_files(displacing_large_files38,1159 -#define displacing_new_packing_localities(displacing_new_packing_localities39,1254 -#define SET_OPTION(SET_OPTION41,1371 -#define TEST_OPTION(TEST_OPTION46,1560 -static inline void get_bit_address 49,1648 -int is_reusable 61,2098 -static inline int is_block_in_journal 111,3724 -static int scan_bitmap_block 132,4332 -static int bmap_hash_id(225,7617 -static inline int block_group_used(246,8033 -u32 reiserfs_choose_packing(258,8317 -static int scan_bitmap 277,8989 -static void _reiserfs_free_block 333,10959 -void reiserfs_free_block 378,12290 -void reiserfs_free_prealloc_block 392,12853 -static void __discard_prealloc 399,13198 -void reiserfs_discard_prealloc 422,13938 -void reiserfs_discard_all_prealloc 430,14156 -void reiserfs_init_alloc_options 446,14683 -int reiserfs_parse_alloc_options(454,14960 -static inline void new_hashed_relocation 554,17621 -dirid_groups 578,18371 -oid_groups 604,19060 -static int get_left_neighbor(631,19711 -static inline void set_border_in_hint(678,21095 -static inline void displace_large_file(688,21363 -static inline void hash_formatted_node(696,21757 -static inline int this_blocknr_allocation_would_make_it_a_large_file(710,22193 -static inline void displace_new_packing_locality 716,22428 -static inline int old_hashed_relocation 725,22702 -static inline int old_way 742,23150 -static inline void hundredth_slices 757,23502 -static void determine_search_start(768,23871 -static int determine_prealloc_size(869,27065 -static inline int allocate_without_wrapping_disk 887,27815 -static inline int blocknrs_and_prealloc_arrays_from_search_start924,28948 -static int use_preallocated_list_if_available 1023,32616 -int reiserfs_allocate_blocknrs(1046,33235 -void reiserfs_claim_blocks_to_be_allocated(1095,35302 -void reiserfs_release_claimed_blocks(1114,35835 -int reiserfs_can_fit_pages 1135,36509 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/xattr_user.c,157 -#define XATTR_USER_PREFIX 13,267 -user_get 16,313 -user_set 35,732 -user_del 59,1309 -user_list 81,1779 -struct reiserfs_xattr_handler user_handler 93,2008 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/fix_node.c,1882 -static inline int old_item_num 61,1732 -static void create_virtual_node 80,2201 -static void check_left 195,6406 -static void check_right 274,8376 -static int get_num_ver 355,10669 -static void set_parameters 559,18002 -static int is_leaf_removable 591,18787 -static int are_leaves_removable 632,19964 -#define SET_PAR_SHIFT_LEFT 686,21709 -#define SET_PAR_SHIFT_RIGHT 707,22176 -void free_buffers_in_tb 727,22623 -static int get_empty_nodes(757,23623 -static int get_lfree 836,26918 -static int get_rfree 858,27402 -static int is_left_neighbor_in_cache(879,27821 -#define LEFT_PARENTS 921,29259 -#define RIGHT_PARENTS 922,29285 -static void decrement_key 925,29313 -static int get_far_parent 942,29986 -static int get_parents 1054,34383 -static inline int can_node_be_removed 1138,37930 -static int ip_check_balance 1184,39517 -#define FLOW 1328,45197 -#define NO_FLOW 1329,45212 -#define NOTHING_SHIFT_NO_FLOW 1332,45293 -#define NOTHING_SHIFT_FLOW 1333,45325 -#define LEFT_SHIFT_NO_FLOW 1334,45354 -#define LEFT_SHIFT_FLOW 1335,45384 -#define RIGHT_SHIFT_NO_FLOW 1336,45412 -#define RIGHT_SHIFT_FLOW 1337,45443 -#define LR_SHIFT_NO_FLOW 1338,45471 -#define LR_SHIFT_FLOW 1339,45499 -static int dc_check_balance_internal 1515,51071 -static int dc_check_balance_leaf 1679,56584 -static int dc_check_balance 1777,59767 -static int check_balance 1807,60677 -static int get_direct_parent(1840,61557 -static int get_neighbors(1891,63488 -void * reiserfs_kmalloc 1969,66395 -void reiserfs_kfree 1988,66847 -static int get_virtual_node_size 2001,67139 -#define MIN_NAME_LEN 2007,67327 -static int get_mem_for_virtual_node 2024,67940 -static void tb_buffer_sanity_check 2078,69422 -static void tb_buffer_sanity_check 2109,70696 -static int clear_all_dirty_bits(2115,70849 -static int wait_tb_buffers_until_unlocked 2120,71016 -int fix_nodes 2270,75731 -void unfix_nodes 2472,82502 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/namei.c,1438 -#define INC_DIR_INODE_NLINK(INC_DIR_INODE_NLINK23,657 -#define DEC_DIR_INODE_NLINK(DEC_DIR_INODE_NLINK24,778 -static int bin_search_in_dir_item 28,946 -static inline void set_de_item_location 57,1677 -inline void set_de_name_and_namelen 67,2021 -static inline void set_de_object_key 83,2562 -static inline void store_de_entry_key 92,2839 -int search_by_entry_key 120,3896 -static __u32 get_third_component 179,5701 -static int reiserfs_match 201,6298 -static int linear_search_in_dir_item 219,6752 -static int reiserfs_find_entry 285,8800 -static struct dentry * reiserfs_lookup 323,10036 -struct dentry *reiserfs_get_parent(374,11632 -static int reiserfs_add_entry 417,12720 -static int drop_new_inode(549,17607 -static int new_inode_init(563,18055 -static int reiserfs_create 586,18636 -static int reiserfs_mknod 644,20136 -static int reiserfs_mkdir 708,21706 -static inline int reiserfs_empty_dir(779,23768 -static int reiserfs_rmdir 792,24208 -static int reiserfs_unlink 870,26506 -static int reiserfs_symlink 954,28757 -static int reiserfs_link 1028,30990 -static int de_still_valid 1076,32312 -static int entry_points_to_object 1089,32660 -static void set_ino_in_dir_entry 1109,33291 -static int reiserfs_rename 1122,33751 -struct inode_operations reiserfs_dir_inode_operations 1368,42714 -struct inode_operations reiserfs_symlink_inode_operations 1391,43428 -struct inode_operations reiserfs_special_inode_operations 1408,43927 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/item_ops.c,2747 -static int sd_bytes_number 17,451 -static void sd_decrement_key 22,535 -static int sd_is_left_mergeable 29,713 -static char * print_time 36,806 -static void sd_print_item 45,932 -static void sd_check_item 63,1599 -static int sd_create_vi 69,1703 -static int sd_check_left 80,1937 -static int sd_check_right 89,2097 -static int sd_part_size 94,2180 -static int sd_unit_num 101,2296 -static void sd_print_vi 107,2390 -struct item_operations stat_data_ops 113,2558 -static int direct_bytes_number 133,3066 -static void direct_decrement_key 140,3227 -static int direct_is_left_mergeable 148,3402 -static void direct_print_item 155,3590 -static void direct_check_item 167,3792 -static int direct_create_vi 173,3900 -static int direct_check_left 183,4129 -static int direct_check_right 193,4313 -static int direct_part_size 198,4432 -static int direct_unit_num 204,4533 -static void direct_print_vi 210,4631 -struct item_operations direct_ops 216,4801 -static int indirect_bytes_number 237,5353 -static void indirect_decrement_key 244,5575 -static int indirect_is_left_mergeable 253,5812 -static void start_new_sequence 261,6015 -static int sequence_finished 268,6122 -static void print_sequence 284,6383 -static void indirect_print_item 296,6559 -static void indirect_check_item 318,7141 -static int indirect_create_vi 324,7251 -static int indirect_check_left 334,7492 -static int indirect_check_right 344,7683 -static int indirect_part_size 352,7928 -static int indirect_unit_num 358,8073 -static void indirect_print_vi 364,8215 -struct item_operations indirect_ops 370,8389 -static int direntry_bytes_number 391,8960 -static void direntry_decrement_key 398,9163 -static int direntry_is_left_mergeable 406,9340 -static void direntry_print_item 415,9516 -static void direntry_check_item 453,10639 -#define DIRENTRY_VI_FIRST_DIRENTRY_ITEM 467,10905 -static inline int old_entry_num 472,11080 -static int direntry_create_vi 499,11831 -static int direntry_check_left 568,13798 -static int direntry_check_right 596,14555 -static int direntry_part_size 622,15279 -static int direntry_unit_num 641,15663 -static void direntry_print_vi 650,15812 -struct item_operations direntry_ops 663,16228 -static int errcatch_bytes_number 682,16851 -static void errcatch_decrement_key 688,17030 -static int errcatch_is_left_mergeable 694,17181 -static void errcatch_print_item 701,17366 -static void errcatch_check_item 707,17528 -static int errcatch_create_vi 712,17689 -static int errcatch_check_left 722,18093 -static int errcatch_check_right 730,18303 -static int errcatch_part_size 736,18479 -static int errcatch_unit_num 742,18664 -static void errcatch_print_vi 748,18826 -struct item_operations errcatch_ops 753,18975 -struct item_operations * item_ops 777,19505 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/xattr_security.c,179 -#define XATTR_SECURITY_PREFIX 9,190 -security_get 12,244 -security_set 24,542 -security_del 37,874 -security_list 49,1100 -struct reiserfs_xattr_handler security_handler 63,1330 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/hashes.c,178 -#define DELTA 26,446 -#define FULLROUNDS 27,471 -#define PARTROUNDS 28,536 -#define TEACORE(TEACORE31,639 -u32 keyed_hash(52,1052 -u32 yura_hash 164,3041 -u32 r5_hash 199,3665 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/objectid.c,251 -#define objectid_map(objectid_map13,282 -static void check_objectid_map 20,473 -static void check_objectid_map 30,747 -__u32 reiserfs_get_unused_objectid 51,1740 -void reiserfs_release_objectid 94,3434 -int reiserfs_convert_objectid_map_v1(167,6039 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/xattr.c,1455 -#define FL_READONLY 49,1661 -#define FL_DIR_SEM_HELD 50,1685 -#define PRIVROOT_NAME 51,1713 -#define XAROOT_NAME 52,1752 -create_xa_root 57,1894 -__get_xa_root 93,2963 -get_xa_root 123,3768 -open_xa_dir 137,4163 -get_xa_file_dentry 196,5997 -open_xa_file 247,7378 -static int __xattr_readdir(280,8382 -int xattr_readdir(422,12254 -reiserfs_put_page(445,12878 -reiserfs_get_page(452,12997 -xattr_hash 478,13831 -reiserfs_xattr_set 489,14022 -reiserfs_xattr_get 613,17677 -__reiserfs_xattr_del 711,20545 -reiserfs_xattr_del 753,21656 -reiserfs_delete_xattrs_filler 784,22343 -reiserfs_delete_xattrs 795,22654 -struct reiserfs_chown_buf reiserfs_chown_buf855,24218 -reiserfs_chown_xattrs_filler 863,24411 -reiserfs_chown_xattrs 887,25086 -reiserfs_getxattr 953,26607 -reiserfs_setxattr 978,27296 -reiserfs_removexattr 1016,28384 -struct reiserfs_listxattr_buf reiserfs_listxattr_buf1058,29664 -reiserfs_listxattr_filler 1066,29786 -reiserfs_listxattr 1097,30863 -static struct list_head xattr_handlers 1154,32321 -static rwlock_t handler_lock 1155,32395 -find_xattr_handler_prefix 1158,32484 -__unregister_handlers 1176,32929 -reiserfs_xattr_register_handlers 1192,33288 -reiserfs_xattr_unregister_handlers 1238,34531 -xattr_lookup_poison 1247,34750 -static struct dentry_operations xattr_lookup_poison_ops 1260,35221 -reiserfs_xattr_init 1269,35481 -__reiserfs_permission 1349,38593 -reiserfs_permission 1445,41189 -reiserfs_permission_locked 1451,41327 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/tail_conversion.c,95 -int direct2indirect 19,610 -void reiserfs_unmap_buffer(141,4889 -int indirect2direct 171,6098 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/super.c,2326 -struct file_system_type reiserfs_fs_type;28,763 -const char reiserfs_3_5_magic_string[30,806 -const char reiserfs_3_6_magic_string[31,876 -const char reiserfs_jr_magic_string[32,947 -int is_reiserfs_3_5 34,1021 -int is_reiserfs_3_6 41,1188 -int is_reiserfs_jr 48,1356 -static int is_any_reiserfs_magic_string 55,1521 -static void reiserfs_sync_fs 64,1840 -static void reiserfs_write_super(77,2146 -static void reiserfs_write_super_lockfs 82,2232 -void reiserfs_unlockfs(97,2669 -static void remove_save_link_only 111,3203 -static void finish_unfinished 128,3760 -void add_save_link 247,7991 -void remove_save_link 320,10426 -static void reiserfs_put_super 359,11738 -static kmem_cache_t * reiserfs_inode_cachep;414,13203 -static struct inode *reiserfs_alloc_inode(416,13249 -static void reiserfs_destroy_inode(425,13492 -static void init_once(430,13613 -static int init_inodecache(443,13991 -static void destroy_inodecache(454,14268 -static void reiserfs_dirty_inode 461,14491 -static void reiserfs_clear_inode 480,15097 -struct super_operations reiserfs_sops 495,15488 -static struct export_operations reiserfs_export_ops 512,16000 -} arg_desc_t;arg_desc_t528,16710 -} opt_desc_t;opt_desc_t542,17341 -static const arg_desc_t logging_mode[545,17391 -static const arg_desc_t barrier_mode[553,17774 -static const arg_desc_t balloc[561,18114 -static const arg_desc_t tails[571,18466 -int reiserfs_default_io_size 578,18707 -static int reiserfs_getopt 590,19368 -static int reiserfs_parse_options 692,21904 -static void switch_data_mode(794,24995 -static void handle_data_mode(801,25298 -static void handle_barrier_mode(821,26029 -static void handle_attrs(838,26578 -static int reiserfs_remount 856,27160 -static void load_bitmap_info_data 973,31424 -static int read_bitmaps 1008,32466 -static int read_old_bitmaps 1039,33541 -void check_bitmap 1062,34233 -static int read_super_block 1080,34664 -static int reread_meta_blocks(1171,37631 -__u32 find_hash_out 1203,38637 -static int what_hash 1264,40759 -static hashf_t hash_function 1317,42502 -int function2code 1334,42950 -#define SWARN(SWARN1348,43173 -static int reiserfs_fill_super 1352,43265 -static int reiserfs_statfs 1590,50818 -get_super_block 1605,51308 -init_reiserfs_fs 1612,51504 -exit_reiserfs_fs 1643,52147 -struct file_system_type reiserfs_fs_type 1652,52383 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/file.c,731 -static int reiserfs_file_release 34,1157 -static void reiserfs_vfs_truncate_file(74,2409 -static int reiserfs_sync_file(85,2633 -#define REISERFS_WRITE_PAGES_AT_A_TIME 109,3491 -int reiserfs_allocate_blocks_for_region(114,3740 -void reiserfs_unprepare_pages(538,20906 -int reiserfs_copy_from_user_to_file_region(553,21330 -int reiserfs_commit_page(592,22530 -int reiserfs_submit_file_region_for_write(661,24629 -int reiserfs_check_for_tail_and_convert(740,27544 -int reiserfs_prepare_file_region_for_write(796,29940 -ssize_t reiserfs_file_write(1093,42073 -static ssize_t reiserfs_aio_write(1299,50399 -struct file_operations reiserfs_file_operations 1307,50578 -struct inode_operations reiserfs_file_inode_operations 1320,50949 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/reiserfs/dir.c,229 -struct file_operations reiserfs_dir_operations 20,494 -int reiserfs_dir_fsync(27,674 -#define store_ih(store_ih36,925 -static int reiserfs_readdir 39,987 -void make_empty_dir_item_v1 209,6453 -void make_empty_dir_item 242,7666 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/jffs_fm.c,709 -jffs_build_begin(33,1003 -jffs_build_end(92,2743 -jffs_cleanup_fmcontrol(114,3302 -jffs_free_size1(134,3770 -jffs_free_size2(176,4807 -jffs_fmalloc(197,5228 -jffs_fmfree(299,8030 -jffs_fmalloced(360,9528 -jffs_add_node(425,10990 -jffs_fmfree_partly(446,11401 -jffs_cut_node(472,12219 -jffs_sync_erase(508,12712 -jffs_get_oldest_node(541,13346 -jffs_mark_obsolete(579,14224 -jffs_flash_erasable_size(606,15046 -jffs_erasable_size(637,16038 -struct jffs_fm *jffs_alloc_fm(703,17937 -void jffs_free_fm(713,18088 -struct jffs_node *jffs_alloc_node(721,18182 -void jffs_free_node(731,18360 -int jffs_get_node_inuse(738,18456 -jffs_print_fmcontrol(744,18518 -jffs_print_fm(769,19597 -jffs_print_node_ref(782,19987 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/jffs_proc.c,328 -struct jffs_partition_dir jffs_partition_dir37,1033 -struct proc_dir_entry *jffs_proc_root;48,1295 -static struct jffs_partition_dir *jffs_part_dirs;54,1444 -int jffs_register_jffs_proc_dir(68,1811 -int jffs_unregister_jffs_proc_dir(127,3289 -static int jffs_proc_info_read 176,4371 -static int jffs_proc_layout_read 208,5299 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/jffs_fm.h,561 -#define __LINUX_JFFS_FM_H__21,628 -#define JFFS_ALIGN_SIZE 29,820 -#define JFFS_MARK_OBSOLETE 32,908 -#define CONFIG_JFFS_FS_VERBOSE 35,969 -#define D(D39,1041 -#define D1(D140,1056 -#define D(D42,1081 -#define D1(D143,1094 -#define D2(D247,1147 -#define D2(D249,1172 -#define D3(D353,1225 -#define D3(D355,1250 -#define ASSERT(ASSERT58,1272 -#define JFFS_GET_PAD_BYTES(JFFS_GET_PAD_BYTES62,1386 -#define JFFS_PAD(JFFS_PAD63,1460 -struct jffs_node_refjffs_node_ref71,1619 -struct jffs_fmjffs_fm79,1775 -struct jffs_fmcontroljffs_fmcontrol88,1921 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/intrep.h,84 -#define __LINUX_JFFS_INTREP_H__18,517 -static inline int JFFS_ENOUGH_SPACE(62,2324 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/jffs_proc.h,37 -#define __LINUX_JFFS_PROC_H__18,589 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/intrep.c,2407 -long no_jffs_node 74,2164 -long no_jffs_file 75,2187 -long no_jffs_control 77,2262 -long no_jffs_raw_inode 78,2288 -long no_jffs_node_ref 79,2316 -long no_jffs_fm 80,2343 -long no_jffs_fmcontrol 81,2364 -long no_hash 82,2392 -long no_name 83,2410 -flash_read_u8(91,2606 -jffs_hexdump(107,2876 -#define flash_safe_acquire(flash_safe_acquire154,3556 -#define flash_safe_release(flash_safe_release155,3588 -flash_safe_read(159,3633 -flash_read_u32(177,4043 -flash_safe_write(194,4336 -flash_safe_writev(212,4751 -flash_memset(251,5789 -intrep_erase_callback(280,6231 -flash_erase_region(291,6386 -jffs_checksum(335,7388 -jffs_checksum_flash(348,7578 -static __inline__ void jffs_fm_write_lock(391,8498 -static __inline__ void jffs_fm_write_unlock(396,8597 -jffs_create_file(404,8776 -jffs_create_control(428,9323 -jffs_cleanup_control(473,10399 -jffs_add_virtual_root(506,11175 -jffs_build_fs(542,12079 -int check_partly_erased_sectors(649,15327 -#define NUM_REREADS 651,15389 -#define READ_AHEAD_BYTES 652,15444 -jffs_scan_flash(751,18150 -#define NUMFREEALLOWED 773,18598 -jffs_insert_node(1281,34435 -jffs_unlink_node_from_version_list(1427,38676 -jffs_unlink_node_from_range_list(1445,39118 -jffs_classify_node(1465,39611 -jffs_remove_redundant_nodes(1482,39941 -jffs_insert_file_into_hash(1536,41531 -jffs_insert_file_into_tree(1549,41788 -jffs_unlink_file_from_hash(1584,42518 -jffs_unlink_file_from_tree(1597,42774 -jffs_find_file(1618,43304 -jffs_find_child(1645,43961 -jffs_write_dummy_node(1693,45398 -jffs_write_node(1735,46592 -jffs_get_node_data(1931,52248 -jffs_read_data(1957,53044 -jffs_foreach_file(2016,54488 -jffs_free_node_list(2042,55050 -jffs_free_file(2062,55415 -jffs_get_file_count(2077,55642 -jffs_possibly_delete_file(2084,55775 -jffs_file_count(2122,56595 -jffs_build_file(2131,56740 -jffs_delete_data(2152,57326 -jffs_insert_data(2304,61733 -jffs_update_file(2448,65999 -jffs_print_node(2487,66746 -jffs_print_raw_inode(2509,67667 -jffs_print_file(2545,69355 -jffs_print_hash_table(2586,71113 -jffs_print_tree(2605,71566 -jffs_print_memory_allocation_statistics(2639,72268 -jffs_rewrite_data(2659,72917 -jffs_garbage_collect_next(2862,78715 -jffs_clear_end_of_node(3055,85719 -jffs_try_to_erase(3101,87101 -jffs_garbage_collect_now(3202,89612 -static inline int thread_should_wake 3281,91748 -void jffs_garbage_collect_trigger(3318,93180 -jffs_garbage_collect_thread(3332,93600 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs/inode-v23.c,1701 -static struct super_operations jffs_ops;57,1490 -static struct file_operations jffs_file_operations;58,1531 -static struct inode_operations jffs_file_inode_operations;59,1583 -static struct file_operations jffs_dir_operations;60,1642 -static struct inode_operations jffs_dir_inode_operations;61,1693 -static struct address_space_operations jffs_address_operations;62,1751 -kmem_cache_t *node_cache 64,1816 -kmem_cache_t *fm_cache 65,1853 -static int jffs_fill_super(68,1965 -jffs_put_super(157,4262 -jffs_setattr(185,5057 -jffs_new_inode(338,9086 -jffs_statfs(380,10079 -jffs_rename(414,10915 -jffs_readdir(567,15209 -jffs_lookup(639,17154 -jffs_do_readpage_nolock(736,19847 -static int jffs_readpage(800,21462 -jffs_mkdir(809,21653 -jffs_rmdir(917,24421 -jffs_unlink(935,24902 -jffs_remove(955,25449 -jffs_mknod(1069,28424 -jffs_symlink(1162,30668 -jffs_create(1272,33752 -jffs_file_write(1370,36389 -jffs_prepare_write(1530,40834 -jffs_commit_write(1543,41218 -jffs_ioctl(1555,41612 -static struct address_space_operations jffs_address_operations 1617,43204 -static int jffs_fsync(1623,43377 -extern int generic_file_open(1632,43538 -static struct inode_operations jffs_file_inode_operations 1648,44009 -static struct file_operations jffs_dir_operations 1655,44149 -static struct inode_operations jffs_dir_inode_operations 1661,44234 -jffs_read_inode(1677,44573 -jffs_delete_inode(1743,46449 -jffs_write_super(1766,46929 -static int jffs_remount(1774,47107 -static struct super_operations jffs_ops 1780,47221 -static struct super_block *jffs_get_sb(1790,47456 -static struct file_system_type jffs_fs_type 1796,47650 -init_jffs_fs(1805,47847 -exit_jffs_fs(1835,48616 -module_init(1842,48743 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/direct-io.c,948 -#define DIO_PAGES 43,993 -struct dio dio64,2022 -static inline unsigned dio_pages_present(137,4736 -static int dio_refill_pages(145,4914 -static struct page *dio_get_page(195,6214 -static void dio_complete(214,6750 -static void finished_one_bio(226,7140 -static int dio_bio_end_aio(267,8171 -static int dio_bio_end_io(286,8638 -dio_bio_alloc(305,9084 -static void dio_bio_submit(330,9676 -static void dio_cleanup(351,10121 -static struct bio *dio_await_one(360,10311 -static int dio_bio_complete(387,10984 -static int dio_await_completion(415,11651 -static int dio_bio_reap(445,12335 -static int get_more_blocks(491,13891 -static int dio_new_bio(540,15333 -static int dio_bio_add_page(564,16000 -static int dio_send_cur_page(596,16935 -submit_page_section(650,18346 -static void clean_blockdev_aliases(701,19533 -static void dio_zero_block(723,20142 -static int do_direct_IO(773,21875 -direct_io_worker(919,25801 -__blockdev_direct_IO(1134,31360 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/smberr.h,2275 -#define SUCCESS 25,1003 -#define ERRDOS 26,1056 -#define ERRSRV 27,1131 -#define ERRHRD 28,1203 -#define ERRCMD 29,1257 -#define SUCCESS 33,1402 -#define ERRbadfunc 37,1534 -#define ERRbadfile 38,1738 -#define ERRbadpath 39,1841 -#define ERRnofids 40,1944 -#define ERRnoaccess 41,2034 -#define ERRbadfid 42,2309 -#define ERRbadmcb 43,2417 -#define ERRnomem 44,2477 -#define ERRbadmem 45,2565 -#define ERRbadenv 46,2622 -#define ERRbadformat 47,2671 -#define ERRbadaccess 48,2718 -#define ERRbaddata 49,2768 -#define ERRbaddrive 50,2861 -#define ERRremcd 51,2916 -#define ERRdiffdevice 52,3022 -#define ERRnofiles 53,3112 -#define ERRgeneral 54,3219 -#define ERRbadshare 55,3241 -#define ERRlock 56,3352 -#define ERRunsup 57,3531 -#define ERRnosuchshare 58,3555 -#define ERRfilexists 59,3581 -#define ERRinvparm 60,3658 -#define ERRdiskfull 61,3682 -#define ERRinvname 62,3707 -#define ERRinvlevel 63,3732 -#define ERRdirnotempty 64,3757 -#define ERRnotlocked 65,3784 -#define ERRalreadyexists 66,3811 -#define ERRbadpipe 67,3840 -#define ERRpipebusy 68,3863 -#define ERRpipeclosing 69,3887 -#define ERRnotconnected 70,3914 -#define ERRmoredata 71,3942 -#define ErrQuota 72,3969 -#define ErrNotALink 73,4055 -#define ERRerror 79,4235 -#define ERRbadpw 80,4482 -#define ERRbadtype 81,4589 -#define ERRaccess 82,4657 -#define ERRinvtid 83,4790 -#define ERRinvnetname 84,4861 -#define ERRinvdevice 85,4930 -#define ERRqfull 86,5075 -#define ERRqtoobig 87,5159 -#define ERRqeof 88,5218 -#define ERRinvpfid 89,5275 -#define ERRsmbcmd 90,5332 -#define ERRsrverror 91,5416 -#define ERRbadBID 92,5522 -#define ERRfilespecs 93,5566 -#define ERRbadLink 94,5675 -#define ERRbadpermits 95,5719 -#define ERRbadPID 96,5838 -#define ERRsetattrmode 97,5865 -#define ERRpaused 98,5926 -#define ERRmsgoff 99,5976 -#define ERRnoroom 100,6028 -#define ERRrmuns 101,6092 -#define ERRtimeout 102,6158 -#define ERRnoresource 103,6211 -#define ERRtoomanyuids 104,6279 -#define ERRbaduid 105,6349 -#define ERRusempx 106,6419 -#define ERRusestd 107,6482 -#define ERR_NOTIFY_ENUM_DIR 108,6559 -#define ERRaccountexpired 109,6592 -#define ERRbadclient 110,6623 -#define ERRbadLogonTime 111,6654 -#define ERRpasswordExpired 112,6685 -#define ERRnetlogonNotStarted 113,6717 -#define ERRnosupport 114,6752 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifsfs.c,2013 -#define DECLARE_GLOBALS_HERE37,1290 -#define CIFS_MAGIC_NUMBER 43,1434 -static struct quotactl_ops cifs_quotactl_ops;46,1536 -int cifsFYI 49,1590 -int cifsERROR 50,1607 -int traceSMB 51,1626 -unsigned int oplockEnabled 52,1644 -unsigned int quotaEnabled 53,1676 -unsigned int linuxExtEnabled 54,1707 -unsigned int lookupCacheEnabled 55,1741 -unsigned int multiuser_mount 56,1778 -unsigned int extended_security 57,1812 -unsigned int ntlmv2_support 58,1848 -unsigned int sign_CIFS_PDUs 59,1881 -unsigned int CIFSMaximumBufferSize 60,1914 -struct task_struct * oplockThread 61,1969 -cifs_read_super(73,2290 -cifs_put_super(138,3681 -cifs_statfs(159,4101 -static int cifs_permission(191,5060 -static kmem_cache_t *cifs_inode_cachep;206,5552 -static kmem_cache_t *cifs_req_cachep;207,5592 -static kmem_cache_t *cifs_mid_cachep;208,5630 -kmem_cache_t *cifs_oplock_cachep;209,5668 -mempool_t *cifs_req_poolp;210,5702 -mempool_t *cifs_mid_poolp;211,5729 -cifs_alloc_inode(214,5779 -cifs_destroy_inode(238,6530 -cifs_show_options(249,6798 -int cifs_xquota_set(274,7410 -int cifs_xquota_get(299,7821 -int cifs_xstate_set(323,8254 -int cifs_xstate_get(346,8655 -static struct quotactl_ops cifs_quotactl_ops 369,9020 -static int cifs_remount(377,9208 -struct super_operations cifs_super_ops 383,9322 -cifs_get_sb(399,9969 -cifs_read_wrapper(423,10471 -cifs_write_wrapper(452,11450 -static struct file_system_type cifs_fs_type 477,12104 -struct inode_operations cifs_dir_inode_ops 484,12266 -struct inode_operations cifs_file_inode_ops 500,12651 -struct inode_operations cifs_symlink_inode_ops 514,13029 -struct file_operations cifs_file_ops 530,13511 -struct file_operations cifs_dir_ops 543,13817 -cifs_init_once(551,13988 -cifs_init_inodecache(563,14308 -cifs_destroy_inodecache(576,14585 -cifs_init_request_bufs(583,14735 -cifs_destroy_request_bufs(606,15211 -cifs_init_mids(615,15436 -cifs_destroy_mids(645,16167 -static int cifs_oplock_thread(657,16490 -init_cifs(727,18595 -exit_cifs(782,19880 -module_init(803,20492 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/nterr.h,24433 -#define _NTERR_H28,1033 -struct nt_err_code_struct nt_err_code_struct30,1051 -#define STATUS_BUFFER_OVERFLOW 39,1198 -#define STATUS_MORE_ENTRIES 40,1251 -#define ERROR_INVALID_PARAMETER 41,1300 -#define ERROR_INSUFFICIENT_BUFFER 42,1342 -#define STATUS_1804 43,1385 -#define STATUS_NOTIFY_ENUM_DIR 44,1430 -#define NT_STATUS_OK 49,1584 -#define STATUS_SOME_UNMAPPED 50,1612 -#define STATUS_BUFFER_OVERFLOW 51,1654 -#define NT_STATUS_NO_MORE_ENTRIES 52,1700 -#define NT_STATUS_UNSUCCESSFUL 53,1746 -#define NT_STATUS_NOT_IMPLEMENTED 54,1797 -#define NT_STATUS_INVALID_INFO_CLASS 55,1851 -#define NT_STATUS_INFO_LENGTH_MISMATCH 56,1908 -#define NT_STATUS_ACCESS_VIOLATION 57,1967 -#define NT_STATUS_IN_PAGE_ERROR 58,2022 -#define NT_STATUS_PAGEFILE_QUOTA 59,2074 -#define NT_STATUS_INVALID_HANDLE 60,2127 -#define NT_STATUS_BAD_INITIAL_STACK 61,2180 -#define NT_STATUS_BAD_INITIAL_PC 62,2236 -#define NT_STATUS_INVALID_CID 63,2289 -#define NT_STATUS_TIMER_NOT_CANCELED 64,2339 -#define NT_STATUS_INVALID_PARAMETER 65,2396 -#define NT_STATUS_NO_SUCH_DEVICE 66,2452 -#define NT_STATUS_NO_SUCH_FILE 67,2505 -#define NT_STATUS_INVALID_DEVICE_REQUEST 68,2556 -#define NT_STATUS_END_OF_FILE 69,2617 -#define NT_STATUS_WRONG_VOLUME 70,2667 -#define NT_STATUS_NO_MEDIA_IN_DEVICE 71,2718 -#define NT_STATUS_UNRECOGNIZED_MEDIA 72,2775 -#define NT_STATUS_NONEXISTENT_SECTOR 73,2832 -#define NT_STATUS_MORE_PROCESSING_REQUIRED 74,2889 -#define NT_STATUS_NO_MEMORY 75,2952 -#define NT_STATUS_CONFLICTING_ADDRESSES 76,3000 -#define NT_STATUS_NOT_MAPPED_VIEW 77,3060 -#define NT_STATUS_UNABLE_TO_FREE_VM 78,3114 -#define NT_STATUS_UNABLE_TO_DELETE_SECTION 79,3170 -#define NT_STATUS_INVALID_SYSTEM_SERVICE 80,3233 -#define NT_STATUS_ILLEGAL_INSTRUCTION 81,3294 -#define NT_STATUS_INVALID_LOCK_SEQUENCE 82,3352 -#define NT_STATUS_INVALID_VIEW_SIZE 83,3412 -#define NT_STATUS_INVALID_FILE_FOR_SECTION 84,3468 -#define NT_STATUS_ALREADY_COMMITTED 85,3531 -#define NT_STATUS_ACCESS_DENIED 86,3587 -#define NT_STATUS_BUFFER_TOO_SMALL 87,3639 -#define NT_STATUS_OBJECT_TYPE_MISMATCH 88,3694 -#define NT_STATUS_NONCONTINUABLE_EXCEPTION 89,3753 -#define NT_STATUS_INVALID_DISPOSITION 90,3816 -#define NT_STATUS_UNWIND 91,3874 -#define NT_STATUS_BAD_STACK 92,3919 -#define NT_STATUS_INVALID_UNWIND_TARGET 93,3967 -#define NT_STATUS_NOT_LOCKED 94,4027 -#define NT_STATUS_PARITY_ERROR 95,4076 -#define NT_STATUS_UNABLE_TO_DECOMMIT_VM 96,4127 -#define NT_STATUS_NOT_COMMITTED 97,4187 -#define NT_STATUS_INVALID_PORT_ATTRIBUTES 98,4239 -#define NT_STATUS_PORT_MESSAGE_TOO_LONG 99,4301 -#define NT_STATUS_INVALID_PARAMETER_MIX 100,4361 -#define NT_STATUS_INVALID_QUOTA_LOWER 101,4421 -#define NT_STATUS_DISK_CORRUPT_ERROR 102,4479 -#define NT_STATUS_OBJECT_NAME_INVALID 103,4536 -#define NT_STATUS_OBJECT_NAME_NOT_FOUND 104,4594 -#define NT_STATUS_OBJECT_NAME_COLLISION 105,4654 -#define NT_STATUS_HANDLE_NOT_WAITABLE 106,4714 -#define NT_STATUS_PORT_DISCONNECTED 107,4772 -#define NT_STATUS_DEVICE_ALREADY_ATTACHED 108,4828 -#define NT_STATUS_OBJECT_PATH_INVALID 109,4890 -#define NT_STATUS_OBJECT_PATH_NOT_FOUND 110,4948 -#define NT_STATUS_OBJECT_PATH_SYNTAX_BAD 111,5008 -#define NT_STATUS_DATA_OVERRUN 112,5069 -#define NT_STATUS_DATA_LATE_ERROR 113,5120 -#define NT_STATUS_DATA_ERROR 114,5174 -#define NT_STATUS_CRC_ERROR 115,5223 -#define NT_STATUS_SECTION_TOO_BIG 116,5271 -#define NT_STATUS_PORT_CONNECTION_REFUSED 117,5325 -#define NT_STATUS_INVALID_PORT_HANDLE 118,5387 -#define NT_STATUS_SHARING_VIOLATION 119,5445 -#define NT_STATUS_QUOTA_EXCEEDED 120,5501 -#define NT_STATUS_INVALID_PAGE_PROTECTION 121,5554 -#define NT_STATUS_MUTANT_NOT_OWNED 122,5616 -#define NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED 123,5671 -#define NT_STATUS_PORT_ALREADY_SET 124,5734 -#define NT_STATUS_SECTION_NOT_IMAGE 125,5789 -#define NT_STATUS_SUSPEND_COUNT_EXCEEDED 126,5845 -#define NT_STATUS_THREAD_IS_TERMINATING 127,5906 -#define NT_STATUS_BAD_WORKING_SET_LIMIT 128,5966 -#define NT_STATUS_INCOMPATIBLE_FILE_MAP 129,6026 -#define NT_STATUS_SECTION_PROTECTION 130,6086 -#define NT_STATUS_EAS_NOT_SUPPORTED 131,6143 -#define NT_STATUS_EA_TOO_LARGE 132,6199 -#define NT_STATUS_NONEXISTENT_EA_ENTRY 133,6250 -#define NT_STATUS_NO_EAS_ON_FILE 134,6309 -#define NT_STATUS_EA_CORRUPT_ERROR 135,6362 -#define NT_STATUS_FILE_LOCK_CONFLICT 136,6417 -#define NT_STATUS_LOCK_NOT_GRANTED 137,6474 -#define NT_STATUS_DELETE_PENDING 138,6529 -#define NT_STATUS_CTL_FILE_NOT_SUPPORTED 139,6582 -#define NT_STATUS_UNKNOWN_REVISION 140,6643 -#define NT_STATUS_REVISION_MISMATCH 141,6698 -#define NT_STATUS_INVALID_OWNER 142,6754 -#define NT_STATUS_INVALID_PRIMARY_GROUP 143,6806 -#define NT_STATUS_NO_IMPERSONATION_TOKEN 144,6866 -#define NT_STATUS_CANT_DISABLE_MANDATORY 145,6927 -#define NT_STATUS_NO_LOGON_SERVERS 146,6988 -#define NT_STATUS_NO_SUCH_LOGON_SESSION 147,7043 -#define NT_STATUS_NO_SUCH_PRIVILEGE 148,7103 -#define NT_STATUS_PRIVILEGE_NOT_HELD 149,7159 -#define NT_STATUS_INVALID_ACCOUNT_NAME 150,7216 -#define NT_STATUS_USER_EXISTS 151,7275 -#define NT_STATUS_NO_SUCH_USER 152,7325 -#define NT_STATUS_GROUP_EXISTS 153,7376 -#define NT_STATUS_NO_SUCH_GROUP 154,7427 -#define NT_STATUS_MEMBER_IN_GROUP 155,7479 -#define NT_STATUS_MEMBER_NOT_IN_GROUP 156,7533 -#define NT_STATUS_LAST_ADMIN 157,7591 -#define NT_STATUS_WRONG_PASSWORD 158,7640 -#define NT_STATUS_ILL_FORMED_PASSWORD 159,7693 -#define NT_STATUS_PASSWORD_RESTRICTION 160,7751 -#define NT_STATUS_LOGON_FAILURE 161,7810 -#define NT_STATUS_ACCOUNT_RESTRICTION 162,7862 -#define NT_STATUS_INVALID_LOGON_HOURS 163,7920 -#define NT_STATUS_INVALID_WORKSTATION 164,7978 -#define NT_STATUS_PASSWORD_EXPIRED 165,8036 -#define NT_STATUS_ACCOUNT_DISABLED 166,8091 -#define NT_STATUS_NONE_MAPPED 167,8146 -#define NT_STATUS_TOO_MANY_LUIDS_REQUESTED 168,8196 -#define NT_STATUS_LUIDS_EXHAUSTED 169,8259 -#define NT_STATUS_INVALID_SUB_AUTHORITY 170,8313 -#define NT_STATUS_INVALID_ACL 171,8373 -#define NT_STATUS_INVALID_SID 172,8423 -#define NT_STATUS_INVALID_SECURITY_DESCR 173,8473 -#define NT_STATUS_PROCEDURE_NOT_FOUND 174,8534 -#define NT_STATUS_INVALID_IMAGE_FORMAT 175,8592 -#define NT_STATUS_NO_TOKEN 176,8651 -#define NT_STATUS_BAD_INHERITANCE_ACL 177,8698 -#define NT_STATUS_RANGE_NOT_LOCKED 178,8756 -#define NT_STATUS_DISK_FULL 179,8811 -#define NT_STATUS_SERVER_DISABLED 180,8859 -#define NT_STATUS_SERVER_NOT_DISABLED 181,8913 -#define NT_STATUS_TOO_MANY_GUIDS_REQUESTED 182,8971 -#define NT_STATUS_GUIDS_EXHAUSTED 183,9034 -#define NT_STATUS_INVALID_ID_AUTHORITY 184,9088 -#define NT_STATUS_AGENTS_EXHAUSTED 185,9147 -#define NT_STATUS_INVALID_VOLUME_LABEL 186,9202 -#define NT_STATUS_SECTION_NOT_EXTENDED 187,9261 -#define NT_STATUS_NOT_MAPPED_DATA 188,9320 -#define NT_STATUS_RESOURCE_DATA_NOT_FOUND 189,9374 -#define NT_STATUS_RESOURCE_TYPE_NOT_FOUND 190,9436 -#define NT_STATUS_RESOURCE_NAME_NOT_FOUND 191,9498 -#define NT_STATUS_ARRAY_BOUNDS_EXCEEDED 192,9560 -#define NT_STATUS_FLOAT_DENORMAL_OPERAND 193,9620 -#define NT_STATUS_FLOAT_DIVIDE_BY_ZERO 194,9681 -#define NT_STATUS_FLOAT_INEXACT_RESULT 195,9740 -#define NT_STATUS_FLOAT_INVALID_OPERATION 196,9799 -#define NT_STATUS_FLOAT_OVERFLOW 197,9861 -#define NT_STATUS_FLOAT_STACK_CHECK 198,9914 -#define NT_STATUS_FLOAT_UNDERFLOW 199,9970 -#define NT_STATUS_INTEGER_DIVIDE_BY_ZERO 200,10024 -#define NT_STATUS_INTEGER_OVERFLOW 201,10085 -#define NT_STATUS_PRIVILEGED_INSTRUCTION 202,10140 -#define NT_STATUS_TOO_MANY_PAGING_FILES 203,10201 -#define NT_STATUS_FILE_INVALID 204,10261 -#define NT_STATUS_ALLOTTED_SPACE_EXCEEDED 205,10312 -#define NT_STATUS_INSUFFICIENT_RESOURCES 206,10374 -#define NT_STATUS_DFS_EXIT_PATH_FOUND 207,10435 -#define NT_STATUS_DEVICE_DATA_ERROR 208,10493 -#define NT_STATUS_DEVICE_NOT_CONNECTED 209,10549 -#define NT_STATUS_DEVICE_POWER_FAILURE 210,10608 -#define NT_STATUS_FREE_VM_NOT_AT_BASE 211,10667 -#define NT_STATUS_MEMORY_NOT_ALLOCATED 212,10725 -#define NT_STATUS_WORKING_SET_QUOTA 213,10784 -#define NT_STATUS_MEDIA_WRITE_PROTECTED 214,10840 -#define NT_STATUS_DEVICE_NOT_READY 215,10900 -#define NT_STATUS_INVALID_GROUP_ATTRIBUTES 216,10955 -#define NT_STATUS_BAD_IMPERSONATION_LEVEL 217,11018 -#define NT_STATUS_CANT_OPEN_ANONYMOUS 218,11080 -#define NT_STATUS_BAD_VALIDATION_CLASS 219,11138 -#define NT_STATUS_BAD_TOKEN_TYPE 220,11197 -#define NT_STATUS_BAD_MASTER_BOOT_RECORD 221,11250 -#define NT_STATUS_INSTRUCTION_MISALIGNMENT 222,11311 -#define NT_STATUS_INSTANCE_NOT_AVAILABLE 223,11374 -#define NT_STATUS_PIPE_NOT_AVAILABLE 224,11435 -#define NT_STATUS_INVALID_PIPE_STATE 225,11492 -#define NT_STATUS_PIPE_BUSY 226,11549 -#define NT_STATUS_ILLEGAL_FUNCTION 227,11597 -#define NT_STATUS_PIPE_DISCONNECTED 228,11652 -#define NT_STATUS_PIPE_CLOSING 229,11708 -#define NT_STATUS_PIPE_CONNECTED 230,11759 -#define NT_STATUS_PIPE_LISTENING 231,11812 -#define NT_STATUS_INVALID_READ_MODE 232,11865 -#define NT_STATUS_IO_TIMEOUT 233,11921 -#define NT_STATUS_FILE_FORCED_CLOSED 234,11970 -#define NT_STATUS_PROFILING_NOT_STARTED 235,12027 -#define NT_STATUS_PROFILING_NOT_STOPPED 236,12087 -#define NT_STATUS_COULD_NOT_INTERPRET 237,12147 -#define NT_STATUS_FILE_IS_A_DIRECTORY 238,12205 -#define NT_STATUS_NOT_SUPPORTED 239,12263 -#define NT_STATUS_REMOTE_NOT_LISTENING 240,12315 -#define NT_STATUS_DUPLICATE_NAME 241,12374 -#define NT_STATUS_BAD_NETWORK_PATH 242,12427 -#define NT_STATUS_NETWORK_BUSY 243,12482 -#define NT_STATUS_DEVICE_DOES_NOT_EXIST 244,12533 -#define NT_STATUS_TOO_MANY_COMMANDS 245,12593 -#define NT_STATUS_ADAPTER_HARDWARE_ERROR 246,12649 -#define NT_STATUS_INVALID_NETWORK_RESPONSE 247,12710 -#define NT_STATUS_UNEXPECTED_NETWORK_ERROR 248,12773 -#define NT_STATUS_BAD_REMOTE_ADAPTER 249,12836 -#define NT_STATUS_PRINT_QUEUE_FULL 250,12893 -#define NT_STATUS_NO_SPOOL_SPACE 251,12948 -#define NT_STATUS_PRINT_CANCELLED 252,13001 -#define NT_STATUS_NETWORK_NAME_DELETED 253,13055 -#define NT_STATUS_NETWORK_ACCESS_DENIED 254,13114 -#define NT_STATUS_BAD_DEVICE_TYPE 255,13174 -#define NT_STATUS_BAD_NETWORK_NAME 256,13228 -#define NT_STATUS_TOO_MANY_NAMES 257,13283 -#define NT_STATUS_TOO_MANY_SESSIONS 258,13336 -#define NT_STATUS_SHARING_PAUSED 259,13392 -#define NT_STATUS_REQUEST_NOT_ACCEPTED 260,13445 -#define NT_STATUS_REDIRECTOR_PAUSED 261,13504 -#define NT_STATUS_NET_WRITE_FAULT 262,13560 -#define NT_STATUS_PROFILING_AT_LIMIT 263,13614 -#define NT_STATUS_NOT_SAME_DEVICE 264,13671 -#define NT_STATUS_FILE_RENAMED 265,13725 -#define NT_STATUS_VIRTUAL_CIRCUIT_CLOSED 266,13776 -#define NT_STATUS_NO_SECURITY_ON_OBJECT 267,13837 -#define NT_STATUS_CANT_WAIT 268,13897 -#define NT_STATUS_PIPE_EMPTY 269,13945 -#define NT_STATUS_CANT_ACCESS_DOMAIN_INFO 270,13994 -#define NT_STATUS_CANT_TERMINATE_SELF 271,14056 -#define NT_STATUS_INVALID_SERVER_STATE 272,14114 -#define NT_STATUS_INVALID_DOMAIN_STATE 273,14173 -#define NT_STATUS_INVALID_DOMAIN_ROLE 274,14232 -#define NT_STATUS_NO_SUCH_DOMAIN 275,14290 -#define NT_STATUS_DOMAIN_EXISTS 276,14343 -#define NT_STATUS_DOMAIN_LIMIT_EXCEEDED 277,14395 -#define NT_STATUS_OPLOCK_NOT_GRANTED 278,14455 -#define NT_STATUS_INVALID_OPLOCK_PROTOCOL 279,14512 -#define NT_STATUS_INTERNAL_DB_CORRUPTION 280,14574 -#define NT_STATUS_INTERNAL_ERROR 281,14635 -#define NT_STATUS_GENERIC_NOT_MAPPED 282,14688 -#define NT_STATUS_BAD_DESCRIPTOR_FORMAT 283,14745 -#define NT_STATUS_INVALID_USER_BUFFER 284,14805 -#define NT_STATUS_UNEXPECTED_IO_ERROR 285,14863 -#define NT_STATUS_UNEXPECTED_MM_CREATE_ERR 286,14921 -#define NT_STATUS_UNEXPECTED_MM_MAP_ERROR 287,14984 -#define NT_STATUS_UNEXPECTED_MM_EXTEND_ERR 288,15046 -#define NT_STATUS_NOT_LOGON_PROCESS 289,15109 -#define NT_STATUS_LOGON_SESSION_EXISTS 290,15165 -#define NT_STATUS_INVALID_PARAMETER_1 291,15224 -#define NT_STATUS_INVALID_PARAMETER_2 292,15282 -#define NT_STATUS_INVALID_PARAMETER_3 293,15340 -#define NT_STATUS_INVALID_PARAMETER_4 294,15398 -#define NT_STATUS_INVALID_PARAMETER_5 295,15456 -#define NT_STATUS_INVALID_PARAMETER_6 296,15514 -#define NT_STATUS_INVALID_PARAMETER_7 297,15572 -#define NT_STATUS_INVALID_PARAMETER_8 298,15630 -#define NT_STATUS_INVALID_PARAMETER_9 299,15688 -#define NT_STATUS_INVALID_PARAMETER_10 300,15746 -#define NT_STATUS_INVALID_PARAMETER_11 301,15805 -#define NT_STATUS_INVALID_PARAMETER_12 302,15864 -#define NT_STATUS_REDIRECTOR_NOT_STARTED 303,15923 -#define NT_STATUS_REDIRECTOR_STARTED 304,15984 -#define NT_STATUS_STACK_OVERFLOW 305,16041 -#define NT_STATUS_NO_SUCH_PACKAGE 306,16094 -#define NT_STATUS_BAD_FUNCTION_TABLE 307,16148 -#define NT_STATUS_DIRECTORY_NOT_EMPTY 308,16205 -#define NT_STATUS_FILE_CORRUPT_ERROR 309,16263 -#define NT_STATUS_NOT_A_DIRECTORY 310,16320 -#define NT_STATUS_BAD_LOGON_SESSION_STATE 311,16374 -#define NT_STATUS_LOGON_SESSION_COLLISION 312,16436 -#define NT_STATUS_NAME_TOO_LONG 313,16498 -#define NT_STATUS_FILES_OPEN 314,16550 -#define NT_STATUS_CONNECTION_IN_USE 315,16599 -#define NT_STATUS_MESSAGE_NOT_FOUND 316,16655 -#define NT_STATUS_PROCESS_IS_TERMINATING 317,16711 -#define NT_STATUS_INVALID_LOGON_TYPE 318,16772 -#define NT_STATUS_NO_GUID_TRANSLATION 319,16829 -#define NT_STATUS_CANNOT_IMPERSONATE 320,16887 -#define NT_STATUS_IMAGE_ALREADY_LOADED 321,16944 -#define NT_STATUS_ABIOS_NOT_PRESENT 322,17003 -#define NT_STATUS_ABIOS_LID_NOT_EXIST 323,17059 -#define NT_STATUS_ABIOS_LID_ALREADY_OWNED 324,17117 -#define NT_STATUS_ABIOS_NOT_LID_OWNER 325,17179 -#define NT_STATUS_ABIOS_INVALID_COMMAND 326,17237 -#define NT_STATUS_ABIOS_INVALID_LID 327,17297 -#define NT_STATUS_ABIOS_SELECTOR_NOT_AVAILABLE 328,17353 -#define NT_STATUS_ABIOS_INVALID_SELECTOR 329,17420 -#define NT_STATUS_NO_LDT 330,17481 -#define NT_STATUS_INVALID_LDT_SIZE 331,17526 -#define NT_STATUS_INVALID_LDT_OFFSET 332,17581 -#define NT_STATUS_INVALID_LDT_DESCRIPTOR 333,17638 -#define NT_STATUS_INVALID_IMAGE_NE_FORMAT 334,17699 -#define NT_STATUS_RXACT_INVALID_STATE 335,17761 -#define NT_STATUS_RXACT_COMMIT_FAILURE 336,17819 -#define NT_STATUS_MAPPED_FILE_SIZE_ZERO 337,17878 -#define NT_STATUS_TOO_MANY_OPENED_FILES 338,17938 -#define NT_STATUS_CANCELLED 339,17998 -#define NT_STATUS_CANNOT_DELETE 340,18046 -#define NT_STATUS_INVALID_COMPUTER_NAME 341,18098 -#define NT_STATUS_FILE_DELETED 342,18158 -#define NT_STATUS_SPECIAL_ACCOUNT 343,18209 -#define NT_STATUS_SPECIAL_GROUP 344,18263 -#define NT_STATUS_SPECIAL_USER 345,18315 -#define NT_STATUS_MEMBERS_PRIMARY_GROUP 346,18366 -#define NT_STATUS_FILE_CLOSED 347,18426 -#define NT_STATUS_TOO_MANY_THREADS 348,18476 -#define NT_STATUS_THREAD_NOT_IN_PROCESS 349,18531 -#define NT_STATUS_TOKEN_ALREADY_IN_USE 350,18591 -#define NT_STATUS_PAGEFILE_QUOTA_EXCEEDED 351,18650 -#define NT_STATUS_COMMITMENT_LIMIT 352,18712 -#define NT_STATUS_INVALID_IMAGE_LE_FORMAT 353,18767 -#define NT_STATUS_INVALID_IMAGE_NOT_MZ 354,18829 -#define NT_STATUS_INVALID_IMAGE_PROTECT 355,18888 -#define NT_STATUS_INVALID_IMAGE_WIN_16 356,18948 -#define NT_STATUS_LOGON_SERVER_CONFLICT 357,19007 -#define NT_STATUS_TIME_DIFFERENCE_AT_DC 358,19067 -#define NT_STATUS_SYNCHRONIZATION_REQUIRED 359,19127 -#define NT_STATUS_DLL_NOT_FOUND 360,19190 -#define NT_STATUS_OPEN_FAILED 361,19242 -#define NT_STATUS_IO_PRIVILEGE_FAILED 362,19292 -#define NT_STATUS_ORDINAL_NOT_FOUND 363,19350 -#define NT_STATUS_ENTRYPOINT_NOT_FOUND 364,19406 -#define NT_STATUS_CONTROL_C_EXIT 365,19465 -#define NT_STATUS_LOCAL_DISCONNECT 366,19518 -#define NT_STATUS_REMOTE_DISCONNECT 367,19573 -#define NT_STATUS_REMOTE_RESOURCES 368,19629 -#define NT_STATUS_LINK_FAILED 369,19684 -#define NT_STATUS_LINK_TIMEOUT 370,19734 -#define NT_STATUS_INVALID_CONNECTION 371,19785 -#define NT_STATUS_INVALID_ADDRESS 372,19842 -#define NT_STATUS_DLL_INIT_FAILED 373,19896 -#define NT_STATUS_MISSING_SYSTEMFILE 374,19950 -#define NT_STATUS_UNHANDLED_EXCEPTION 375,20007 -#define NT_STATUS_APP_INIT_FAILURE 376,20065 -#define NT_STATUS_PAGEFILE_CREATE_FAILED 377,20120 -#define NT_STATUS_NO_PAGEFILE 378,20181 -#define NT_STATUS_INVALID_LEVEL 379,20231 -#define NT_STATUS_WRONG_PASSWORD_CORE 380,20283 -#define NT_STATUS_ILLEGAL_FLOAT_CONTEXT 381,20341 -#define NT_STATUS_PIPE_BROKEN 382,20401 -#define NT_STATUS_REGISTRY_CORRUPT 383,20451 -#define NT_STATUS_REGISTRY_IO_FAILED 384,20506 -#define NT_STATUS_NO_EVENT_PAIR 385,20563 -#define NT_STATUS_UNRECOGNIZED_VOLUME 386,20615 -#define NT_STATUS_SERIAL_NO_DEVICE_INITED 387,20673 -#define NT_STATUS_NO_SUCH_ALIAS 388,20735 -#define NT_STATUS_MEMBER_NOT_IN_ALIAS 389,20787 -#define NT_STATUS_MEMBER_IN_ALIAS 390,20845 -#define NT_STATUS_ALIAS_EXISTS 391,20899 -#define NT_STATUS_LOGON_NOT_GRANTED 392,20950 -#define NT_STATUS_TOO_MANY_SECRETS 393,21006 -#define NT_STATUS_SECRET_TOO_LONG 394,21061 -#define NT_STATUS_INTERNAL_DB_ERROR 395,21115 -#define NT_STATUS_FULLSCREEN_MODE 396,21171 -#define NT_STATUS_TOO_MANY_CONTEXT_IDS 397,21225 -#define NT_STATUS_LOGON_TYPE_NOT_GRANTED 398,21284 -#define NT_STATUS_NOT_REGISTRY_FILE 399,21345 -#define NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED 400,21401 -#define NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR 401,21468 -#define NT_STATUS_FT_MISSING_MEMBER 402,21532 -#define NT_STATUS_ILL_FORMED_SERVICE_ENTRY 403,21588 -#define NT_STATUS_ILLEGAL_CHARACTER 404,21651 -#define NT_STATUS_UNMAPPABLE_CHARACTER 405,21707 -#define NT_STATUS_UNDEFINED_CHARACTER 406,21766 -#define NT_STATUS_FLOPPY_VOLUME 407,21824 -#define NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND 408,21876 -#define NT_STATUS_FLOPPY_WRONG_CYLINDER 409,21939 -#define NT_STATUS_FLOPPY_UNKNOWN_ERROR 410,21999 -#define NT_STATUS_FLOPPY_BAD_REGISTERS 411,22058 -#define NT_STATUS_DISK_RECALIBRATE_FAILED 412,22117 -#define NT_STATUS_DISK_OPERATION_FAILED 413,22179 -#define NT_STATUS_DISK_RESET_FAILED 414,22239 -#define NT_STATUS_SHARED_IRQ_BUSY 415,22295 -#define NT_STATUS_FT_ORPHANING 416,22349 -#define NT_STATUS_PARTITION_FAILURE 417,22400 -#define NT_STATUS_INVALID_BLOCK_LENGTH 418,22456 -#define NT_STATUS_DEVICE_NOT_PARTITIONED 419,22515 -#define NT_STATUS_UNABLE_TO_LOCK_MEDIA 420,22576 -#define NT_STATUS_UNABLE_TO_UNLOAD_MEDIA 421,22635 -#define NT_STATUS_EOM_OVERFLOW 422,22696 -#define NT_STATUS_NO_MEDIA 423,22747 -#define NT_STATUS_NO_SUCH_MEMBER 424,22794 -#define NT_STATUS_INVALID_MEMBER 425,22847 -#define NT_STATUS_KEY_DELETED 426,22900 -#define NT_STATUS_NO_LOG_SPACE 427,22950 -#define NT_STATUS_TOO_MANY_SIDS 428,23001 -#define NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED 429,23053 -#define NT_STATUS_KEY_HAS_CHILDREN 430,23120 -#define NT_STATUS_CHILD_MUST_BE_VOLATILE 431,23175 -#define NT_STATUS_DEVICE_CONFIGURATION_ERROR 432,23236 -#define NT_STATUS_DRIVER_INTERNAL_ERROR 433,23301 -#define NT_STATUS_INVALID_DEVICE_STATE 434,23361 -#define NT_STATUS_IO_DEVICE_ERROR 435,23420 -#define NT_STATUS_DEVICE_PROTOCOL_ERROR 436,23474 -#define NT_STATUS_BACKUP_CONTROLLER 437,23534 -#define NT_STATUS_LOG_FILE_FULL 438,23590 -#define NT_STATUS_TOO_LATE 439,23642 -#define NT_STATUS_NO_TRUST_LSA_SECRET 440,23689 -#define NT_STATUS_NO_TRUST_SAM_ACCOUNT 441,23747 -#define NT_STATUS_TRUSTED_DOMAIN_FAILURE 442,23806 -#define NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE 443,23867 -#define NT_STATUS_EVENTLOG_FILE_CORRUPT 444,23934 -#define NT_STATUS_EVENTLOG_CANT_START 445,23994 -#define NT_STATUS_TRUST_FAILURE 446,24052 -#define NT_STATUS_MUTANT_LIMIT_EXCEEDED 447,24104 -#define NT_STATUS_NETLOGON_NOT_STARTED 448,24164 -#define NT_STATUS_ACCOUNT_EXPIRED 449,24223 -#define NT_STATUS_POSSIBLE_DEADLOCK 450,24277 -#define NT_STATUS_NETWORK_CREDENTIAL_CONFLICT 451,24333 -#define NT_STATUS_REMOTE_SESSION_LIMIT 452,24399 -#define NT_STATUS_EVENTLOG_FILE_CHANGED 453,24458 -#define NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 454,24518 -#define NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT 455,24590 -#define NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT 456,24662 -#define NT_STATUS_DOMAIN_TRUST_INCONSISTENT 457,24729 -#define NT_STATUS_FS_DRIVER_REQUIRED 458,24793 -#define NT_STATUS_NO_USER_SESSION_KEY 459,24850 -#define NT_STATUS_USER_SESSION_DELETED 460,24908 -#define NT_STATUS_RESOURCE_LANG_NOT_FOUND 461,24967 -#define NT_STATUS_INSUFF_SERVER_RESOURCES 462,25029 -#define NT_STATUS_INVALID_BUFFER_SIZE 463,25091 -#define NT_STATUS_INVALID_ADDRESS_COMPONENT 464,25149 -#define NT_STATUS_INVALID_ADDRESS_WILDCARD 465,25213 -#define NT_STATUS_TOO_MANY_ADDRESSES 466,25276 -#define NT_STATUS_ADDRESS_ALREADY_EXISTS 467,25333 -#define NT_STATUS_ADDRESS_CLOSED 468,25394 -#define NT_STATUS_CONNECTION_DISCONNECTED 469,25447 -#define NT_STATUS_CONNECTION_RESET 470,25509 -#define NT_STATUS_TOO_MANY_NODES 471,25564 -#define NT_STATUS_TRANSACTION_ABORTED 472,25617 -#define NT_STATUS_TRANSACTION_TIMED_OUT 473,25675 -#define NT_STATUS_TRANSACTION_NO_RELEASE 474,25735 -#define NT_STATUS_TRANSACTION_NO_MATCH 475,25796 -#define NT_STATUS_TRANSACTION_RESPONDED 476,25855 -#define NT_STATUS_TRANSACTION_INVALID_ID 477,25915 -#define NT_STATUS_TRANSACTION_INVALID_TYPE 478,25976 -#define NT_STATUS_NOT_SERVER_SESSION 479,26039 -#define NT_STATUS_NOT_CLIENT_SESSION 480,26096 -#define NT_STATUS_CANNOT_LOAD_REGISTRY_FILE 481,26153 -#define NT_STATUS_DEBUG_ATTACH_FAILED 482,26217 -#define NT_STATUS_SYSTEM_PROCESS_TERMINATED 483,26275 -#define NT_STATUS_DATA_NOT_ACCEPTED 484,26339 -#define NT_STATUS_NO_BROWSER_SERVERS_FOUND 485,26395 -#define NT_STATUS_VDM_HARD_ERROR 486,26458 -#define NT_STATUS_DRIVER_CANCEL_TIMEOUT 487,26511 -#define NT_STATUS_REPLY_MESSAGE_MISMATCH 488,26571 -#define NT_STATUS_MAPPED_ALIGNMENT 489,26632 -#define NT_STATUS_IMAGE_CHECKSUM_MISMATCH 490,26687 -#define NT_STATUS_LOST_WRITEBEHIND_DATA 491,26749 -#define NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID 492,26809 -#define NT_STATUS_PASSWORD_MUST_CHANGE 493,26880 -#define NT_STATUS_NOT_FOUND 494,26939 -#define NT_STATUS_NOT_TINY_STREAM 495,26987 -#define NT_STATUS_RECOVERY_FAILURE 496,27041 -#define NT_STATUS_STACK_OVERFLOW_READ 497,27096 -#define NT_STATUS_FAIL_CHECK 498,27154 -#define NT_STATUS_DUPLICATE_OBJECTID 499,27203 -#define NT_STATUS_OBJECTID_EXISTS 500,27260 -#define NT_STATUS_CONVERT_TO_LARGE 501,27314 -#define NT_STATUS_RETRY 502,27369 -#define NT_STATUS_FOUND_OUT_OF_SCOPE 503,27413 -#define NT_STATUS_ALLOCATE_BUCKET 504,27470 -#define NT_STATUS_PROPSET_NOT_FOUND 505,27524 -#define NT_STATUS_MARSHALL_OVERFLOW 506,27580 -#define NT_STATUS_INVALID_VARIANT 507,27636 -#define NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND 508,27690 -#define NT_STATUS_ACCOUNT_LOCKED_OUT 509,27756 -#define NT_STATUS_HANDLE_NOT_CLOSABLE 510,27813 -#define NT_STATUS_CONNECTION_REFUSED 511,27871 -#define NT_STATUS_GRACEFUL_DISCONNECT 512,27928 -#define NT_STATUS_ADDRESS_ALREADY_ASSOCIATED 513,27986 -#define NT_STATUS_ADDRESS_NOT_ASSOCIATED 514,28051 -#define NT_STATUS_CONNECTION_INVALID 515,28112 -#define NT_STATUS_CONNECTION_ACTIVE 516,28169 -#define NT_STATUS_NETWORK_UNREACHABLE 517,28225 -#define NT_STATUS_HOST_UNREACHABLE 518,28283 -#define NT_STATUS_PROTOCOL_UNREACHABLE 519,28338 -#define NT_STATUS_PORT_UNREACHABLE 520,28397 -#define NT_STATUS_REQUEST_ABORTED 521,28452 -#define NT_STATUS_CONNECTION_ABORTED 522,28506 -#define NT_STATUS_BAD_COMPRESSION_BUFFER 523,28563 -#define NT_STATUS_USER_MAPPED_FILE 524,28624 -#define NT_STATUS_AUDIT_FAILED 525,28679 -#define NT_STATUS_TIMER_RESOLUTION_NOT_SET 526,28730 -#define NT_STATUS_CONNECTION_COUNT_LIMIT 527,28793 -#define NT_STATUS_LOGIN_TIME_RESTRICTION 528,28854 -#define NT_STATUS_LOGIN_WKSTA_RESTRICTION 529,28915 -#define NT_STATUS_IMAGE_MP_UP_MISMATCH 530,28977 -#define NT_STATUS_INSUFFICIENT_LOGON_INFO 531,29036 -#define NT_STATUS_BAD_DLL_ENTRYPOINT 532,29098 -#define NT_STATUS_BAD_SERVICE_ENTRYPOINT 533,29155 -#define NT_STATUS_LPC_REPLY_LOST 534,29216 -#define NT_STATUS_IP_ADDRESS_CONFLICT1 535,29269 -#define NT_STATUS_IP_ADDRESS_CONFLICT2 536,29328 -#define NT_STATUS_REGISTRY_QUOTA_LIMIT 537,29387 -#define NT_STATUS_PATH_NOT_COVERED 538,29446 -#define NT_STATUS_NO_CALLBACK_ACTIVE 539,29501 -#define NT_STATUS_LICENSE_QUOTA_EXCEEDED 540,29558 -#define NT_STATUS_PWD_TOO_SHORT 541,29619 -#define NT_STATUS_PWD_TOO_RECENT 542,29671 -#define NT_STATUS_PWD_HISTORY_CONFLICT 543,29724 -#define NT_STATUS_PLUGPLAY_NO_DEVICE 544,29783 -#define NT_STATUS_UNSUPPORTED_COMPRESSION 545,29840 -#define NT_STATUS_INVALID_HW_PROFILE 546,29902 -#define NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH 547,29959 -#define NT_STATUS_DRIVER_ORDINAL_NOT_FOUND 548,30026 -#define NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND 549,30089 -#define NT_STATUS_RESOURCE_NOT_OWNED 550,30155 -#define NT_STATUS_TOO_MANY_LINKS 551,30212 -#define NT_STATUS_QUOTA_LIST_INCONSISTENT 552,30265 -#define NT_STATUS_FILE_IS_OFFLINE 553,30327 -#define NT_STATUS_NO_SUCH_JOB 554,30381 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/ntlmssp.h,1667 -#define NTLMSSP_SIGNATURE 24,925 -#define NtLmNegotiate 26,981 -#define NtLmChallenge 27,1022 -#define NtLmAuthenticate 28,1063 -#define UnknownMessage 29,1104 -#define NTLMSSP_NEGOTIATE_UNICODE 32,1168 -#define NTLMSSP_NEGOTIATE_OEM 33,1244 -#define NTLMSSP_REQUEST_TARGET 34,1316 -#define NTLMSSP_NEGOTIATE_SIGN 35,1393 -#define NTLMSSP_NEGOTIATE_SEAL 36,1470 -#define NTLMSSP_NEGOTIATE_DGRAM 37,1542 -#define NTLMSSP_NEGOTIATE_LM_KEY 38,1587 -#define NTLMSSP_NEGOTIATE_NTLM 39,1668 -#define NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED 40,1736 -#define NTLMSSP_NEGOTIATE_WORKSTATION_SUPPLIED 41,1785 -#define NTLMSSP_NEGOTIATE_LOCAL_CALL 42,1839 -#define NTLMSSP_NEGOTIATE_ALWAYS_SIGN 43,1917 -#define NTLMSSP_TARGET_TYPE_DOMAIN 44,1994 -#define NTLMSSP_TARGET_TYPE_SERVER 45,2039 -#define NTLMSSP_TARGET_TYPE_SHARE 46,2084 -#define NTLMSSP_NEGOTIATE_NTLMV2 47,2129 -#define NTLMSSP_REQUEST_INIT_RESP 48,2174 -#define NTLMSSP_REQUEST_ACCEPT_RESP 49,2219 -#define NTLMSSP_REQUEST_NOT_NT_KEY 50,2264 -#define NTLMSSP_NEGOTIATE_TARGET_INFO 51,2309 -#define NTLMSSP_NEGOTIATE_128 52,2356 -#define NTLMSSP_NEGOTIATE_KEY_XCH 53,2401 -#define NTLMSSP_NEGOTIATE_56 54,2446 -typedef struct _SECURITY_BUFFER _SECURITY_BUFFER62,2798 -} SECURITY_BUFFER;SECURITY_BUFFER66,2911 -typedef struct _NEGOTIATE_MESSAGE _NEGOTIATE_MESSAGE68,2931 -} NEGOTIATE_MESSAGE, *PNEGOTIATE_MESSAGE;PNEGOTIATE_MESSAGE76,3248 -typedef struct _CHALLENGE_MESSAGE _CHALLENGE_MESSAGE78,3291 -} CHALLENGE_MESSAGE, *PCHALLENGE_MESSAGE;PCHALLENGE_MESSAGE86,3548 -typedef struct _AUTHENTICATE_MESSAGE _AUTHENTICATE_MESSAGE88,3591 -} AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;PAUTHENTICATE_MESSAGE99,3945 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/smbencrypt.c,424 -#define FALSE 37,1278 -#define TRUE 40,1314 -#define CVAL(CVAL44,1412 -#define SSVALX(SSVALX45,1466 -#define SSVAL(SSVAL46,1546 -SMBencrypt(80,3097 -_my_wcslen(99,3524 -_my_mbstowcs(115,3771 -E_md4hash(136,4113 -nt_lm_owf_gen(162,4707 -ntv2_owf_gen(190,5436 -SMBOWFencrypt(225,6581 -NTLMSSPOWFencrypt(238,6857 -SMBNTencrypt(253,7149 -SMBOWFencrypt_ntv2(265,7398 -SMBsesskeygen_ntv2(278,7845 -SMBsesskeygen_ntv1(289,8114 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/asn1.c,1427 -#define ASN1_UNI 37,1390 -#define ASN1_APL 38,1425 -#define ASN1_CTX 39,1462 -#define ASN1_PRV 40,1495 -#define ASN1_EOC 43,1539 -#define ASN1_BOL 44,1587 -#define ASN1_INT 45,1620 -#define ASN1_BTS 46,1653 -#define ASN1_OTS 47,1689 -#define ASN1_NUL 48,1727 -#define ASN1_OJI 49,1757 -#define ASN1_OJD 50,1801 -#define ASN1_EXT 51,1845 -#define ASN1_SEQ 52,1879 -#define ASN1_SET 53,1914 -#define ASN1_NUMSTR 54,1944 -#define ASN1_PRNSTR 55,1990 -#define ASN1_TEXSTR 56,2036 -#define ASN1_VIDSTR 57,2081 -#define ASN1_IA5STR 58,2123 -#define ASN1_UNITIM 59,2163 -#define ASN1_GENTIM 60,2207 -#define ASN1_GRASTR 61,2249 -#define ASN1_VISSTR 62,2295 -#define ASN1_GENSTR 63,2339 -#define ASN1_PRI 66,2421 -#define ASN1_CON 67,2456 -#define ASN1_ERR_NOERROR 72,2517 -#define ASN1_ERR_DEC_EMPTY 73,2545 -#define ASN1_ERR_DEC_EOC_MISMATCH 74,2575 -#define ASN1_ERR_DEC_LENGTH_MISMATCH 75,2611 -#define ASN1_ERR_DEC_BADVALUE 76,2650 -#define SPNEGO_OID_LEN 78,2684 -#define NTLMSSP_OID_LEN 79,2709 -unsigned long SPNEGO_OID[80,2737 -unsigned long NTLMSSP_OID[81,2792 -struct asn1_ctx asn1_ctx86,2888 -struct asn1_octstr asn1_octstr96,3137 -asn1_open(102,3215 -asn1_octet_decode(111,3406 -asn1_tag_decode(122,3611 -asn1_id_decode(138,3859 -asn1_length_decode(158,4211 -asn1_header_decode(189,4671 -asn1_eoc_decode(209,5033 -asn1_subid_decode(362,7587 -asn1_oid_decode(379,7838 -compare_oid(432,8692 -decode_negTokenInit(451,9012 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifs_unicode.h,407 -#define UNIUPR_NOLOWER 38,1354 -struct UniCaseRange UniCaseRange44,1562 -UniStrcat(73,2286 -UniStrchr(91,2760 -UniStrcmp(110,3106 -UniStrcpy(123,3320 -UniStrlen(135,3593 -UniStrnlen(148,3805 -UniStrncat(164,4018 -UniStrncmp(182,4420 -UniStrncmp_le(197,4742 -UniStrncpy(212,5080 -UniStrncpy_le(229,5412 -UniStrstr(250,5825 -UniToupper(277,6403 -UniStrupr(300,7001 -UniTolower(318,7337 -UniStrlwr(341,7908 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifsglob.h,3081 -#define MAX_UID_INFO 24,821 -#define MAX_SES_INFO 25,845 -#define MAX_TCON_INFO 26,868 -#define MAX_TREE_SIZE 28,893 -#define MAX_SERVER_SIZE 29,960 -#define MAX_SHARE_SIZE 30,987 -#define MAX_USERNAME_SIZE 31,1064 -#define MAX_PASSWORD_SIZE 33,1187 -#define CIFS_MIN_RCV_POOL 35,1217 -#define CIFS_MAX_REQ 46,1636 -#define SERVER_NAME_LENGTH 48,1662 -#define SERVER_NAME_LEN_WITH_NULL 49,1692 -#define MAX_NAME 54,1954 -#define FALSE 59,2012 -#define TRUE 63,2049 -#define XATTR_DOS_ATTRIB 67,2097 -#define SERVER_NAME_LEN_WITH_NULL 76,2243 -enum statusEnum statusEnum83,2422 - CifsNew 84,2440 - CifsGood,85,2454 - CifsExiting,86,2465 - CifsNeedReconnect87,2479 -enum securityEnum securityEnum90,2502 - NTLM 91,2522 - NTLMv2,92,2575 - RawNTLMSSP,93,2626 - NTLMSSP,94,2669 - Kerberos 95,2705 -enum protocolEnum protocolEnum98,2746 - IPV4 99,2766 - IPV6,100,2777 - SCTP101,2784 -struct TCP_Server_Info TCP_Server_Info112,3084 -struct cifsUidInfo cifsUidInfo159,5121 -struct cifsSesInfo cifsSesInfo170,5462 -struct cifsTconInfo cifsTconInfo196,6559 -struct cifsLockInfo cifsLockInfo233,7710 -struct cifsFileInfo cifsFileInfo243,7856 -struct cifsInodeInfo cifsInodeInfo267,8746 -CIFS_I(282,9347 -CIFS_SB(288,9478 -struct mid_q_entry mid_q_entry295,9603 -struct oplock_q_entry oplock_q_entry308,10139 -#define MID_FREE 315,10261 -#define MID_REQUEST_ALLOCATED 316,10282 -#define MID_REQUEST_SUBMITTED 317,10316 -#define MID_RESPONSE_RECEIVED 318,10350 -#define MID_RETRY_NEEDED 319,10384 -#define UID_HASH 327,10630 -#define GLOBAL_EXTERN357,11649 -#define GLOBAL_EXTERN 359,11677 -GLOBAL_EXTERN struct servers_not_supported *NotSuppList;367,11934 -GLOBAL_EXTERN struct smbUidInfo *GlobalUidList[372,12074 -GLOBAL_EXTERN struct list_head GlobalServerList;374,12133 -GLOBAL_EXTERN struct list_head GlobalSMBSessionList;375,12211 -GLOBAL_EXTERN struct list_head GlobalTreeConnectionList;376,12264 -GLOBAL_EXTERN rwlock_t GlobalSMBSeslock;377,12321 -GLOBAL_EXTERN struct list_head GlobalOplock_Q;379,12403 -GLOBAL_EXTERN unsigned int GlobalCurrentXid;384,12501 -GLOBAL_EXTERN unsigned int GlobalTotalActiveXid;385,12579 -GLOBAL_EXTERN unsigned int GlobalMaxActiveXid;386,12656 -GLOBAL_EXTERN spinlock_t GlobalMid_Lock;387,12731 -GLOBAL_EXTERN char Local_System_Name[389,12841 -GLOBAL_EXTERN atomic_t sesInfoAllocCount;394,12931 -GLOBAL_EXTERN atomic_t tconInfoAllocCount;395,12973 -GLOBAL_EXTERN atomic_t tcpSesAllocCount;396,13016 -GLOBAL_EXTERN atomic_t tcpSesReconnectCount;397,13057 -GLOBAL_EXTERN atomic_t tconInfoReconnectCount;398,13102 -GLOBAL_EXTERN atomic_t bufAllocCount;401,13202 -GLOBAL_EXTERN atomic_t midCount;402,13240 -GLOBAL_EXTERN unsigned int multiuser_mount;405,13293 -GLOBAL_EXTERN unsigned int oplockEnabled;409,13505 -GLOBAL_EXTERN unsigned int quotaEnabled;410,13547 -GLOBAL_EXTERN unsigned int lookupCacheEnabled;411,13588 -GLOBAL_EXTERN unsigned int extended_security;412,13635 -GLOBAL_EXTERN unsigned int ntlmv2_support;414,13759 -GLOBAL_EXTERN unsigned int sign_CIFS_PDUs;415,13839 -GLOBAL_EXTERN unsigned int linuxExtEnabled;416,13915 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/link.c,125 -cifs_hardlink(32,1118 -cifs_follow_link(92,2708 -cifs_symlink(151,4075 -cifs_readlink(209,5474 -void cifs_put_link(323,8535 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/inode.c,330 -cifs_get_inode_info_unix(36,1235 -cifs_get_inode_info(181,5908 -cifs_read_inode(337,10739 -cifs_unlink(353,11149 -cifs_mkdir(443,13779 -cifs_rmdir(510,15537 -cifs_rename(554,16493 -cifs_revalidate(648,19209 -int cifs_getattr(770,22799 -static int cifs_truncate_page(778,22989 -cifs_setattr(800,23492 -cifs_delete_inode(973,29237 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/rfc1002pdu.h,643 -#define RFC1002_SESSION_MESASAGE 29,1104 -#define RFC1002_SESSION_REQUEST 30,1142 -#define RFC1002_POSITIVE_SESSION_RESPONSE 31,1180 -#define RFC1002_NEGATIVE_SESSION_RESPONSE 32,1227 -#define RFC1002_RETARGET_SESSION_RESPONSE 33,1274 -#define RFC1002_SESSION_KEEP_ALIVE 34,1321 -#define RFC1002_LENGTH_EXTEND 37,1402 -struct rfc1002_session_packet rfc1002_session_packet39,1479 -#define RFC1002_NOT_LISTENING_CALLED 64,2086 -#define RFC1002_NOT_LISTENING_CALLING 65,2164 -#define RFC1002_NOT_PRESENT 66,2243 -#define RFC1002_INSUFFICIENT_RESOURCE 67,2316 -#define RFC1002_UNSPECIFIED_ERROR 68,2359 -#define DEFAULT_CIFS_CALLED_NAME 76,2751 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/connect.c,641 -#define CIFS_PORT 44,1445 -#define RFC1001_PORT 45,1467 -struct smb_vol smb_vol55,1773 -cifs_reconnect(95,2721 -cifs_demultiplex_thread(191,5547 -cifs_kcalloc(498,15388 -cifs_parse_mount_options(508,15532 -cifs_find_tcp_session(817,25303 -find_unc(852,26432 -connect_to_dfs_path(897,27756 -get_dfs_path(918,28266 -static void rfc1002mangle(951,29242 -ipv4_connect(966,29530 -ipv6_connect(1075,32853 -cifs_mount(1147,34782 -CIFSSessSetup(1500,45450 -CIFSSpnegoSessSetup(1751,53563 -CIFSNTLMSSPNegotiateSessSetup(2015,61755 -CIFSNTLMSSPAuthSessSetup(2357,72138 -CIFSTCon(2740,84513 -cifs_umount(2858,88099 -int cifs_setup_session(2905,89238 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/nterr.c,48 -const struct nt_err_code_struct nt_errs[27,978 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifs_debug.c,1848 -cifs_dump_mem(34,1143 -cifs_debug_data_read(61,1775 -cifs_stats_read(182,5139 -struct proc_dir_entry *proc_fs_cifs;284,7869 -read_proc_t cifs_txanchor_read;285,7906 -static read_proc_t cifsFYI_read;286,7938 -static write_proc_t cifsFYI_write;287,7971 -static read_proc_t oplockEnabled_read;288,8006 -static write_proc_t oplockEnabled_write;289,8045 -static read_proc_t lookupFlag_read;290,8086 -static write_proc_t lookupFlag_write;291,8122 -static read_proc_t traceSMB_read;292,8160 -static write_proc_t traceSMB_write;293,8194 -static read_proc_t multiuser_mount_read;294,8230 -static write_proc_t multiuser_mount_write;295,8271 -static read_proc_t extended_security_read;296,8314 -static write_proc_t extended_security_write;297,8357 -static read_proc_t ntlmv2_enabled_read;298,8402 -static write_proc_t ntlmv2_enabled_write;299,8442 -static read_proc_t packet_signing_enabled_read;300,8484 -static write_proc_t packet_signing_enabled_write;301,8532 -static read_proc_t quotaEnabled_read;302,8582 -static write_proc_t quotaEnabled_write;303,8620 -static read_proc_t linuxExtensionsEnabled_read;304,8660 -static write_proc_t linuxExtensionsEnabled_write;305,8708 -cifs_proc_init(308,8764 -cifs_proc_clean(382,10675 -cifsFYI_read(405,11432 -cifsFYI_write(426,11714 -oplockEnabled_read(444,12027 -oplockEnabled_write(465,12320 -quotaEnabled_read(483,12650 -quotaEnabled_write(505,13125 -linuxExtensionsEnabled_read(523,13557 -linuxExtensionsEnabled_write(545,14045 -lookupFlag_read(564,14494 -lookupFlag_write(585,14789 -traceSMB_read(602,15125 -traceSMB_write(623,15410 -multiuser_mount_read(641,15727 -multiuser_mount_write(662,16026 -extended_security_read(680,16364 -extended_security_write(701,16669 -ntlmv2_enabled_read(719,17008 -ntlmv2_enabled_write(740,17307 -packet_signing_enabled_read(758,17637 -packet_signing_enabled_write(779,17944 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifs_uniupr.h,669 -signed char CifsUniUpperTable[26,919 -static signed char UniCaseRangeU03a0[62,3232 -static signed char UniCaseRangeU0430[70,3556 -static signed char UniCaseRangeU0490[77,3929 -static signed char UniCaseRangeU1e00[85,4285 -static signed char UniCaseRangeUff40[121,6568 -const struct UniCaseRange CifsUniUpperRange[129,6795 -static signed char CifsUniLowerTable[143,7101 -static signed char UniCaseRangeL0380[179,9258 -static signed char UniCaseRangeL0400[186,9537 -static signed char UniCaseRangeL0490[193,9864 -static signed char UniCaseRangeL1e00[201,10189 -static signed char UniCaseRangeLff20[237,12420 -const static struct UniCaseRange CifsUniLowerRange[245,12621 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifs_debug.h,376 -#define CIFS_DEBUG 21,871 -#define _H_CIFS_DEBUG24,933 -#define cifsfyi(cifsfyi39,1249 -#define cFYI(cFYI41,1355 -#define cifswarn(cifswarn43,1411 -#define cEVENT(cEVENT48,1542 -#define cifserror(cifserror51,1685 -#define cERROR(cERROR53,1789 -#define cERROR(cERROR60,1908 -#define cEVENT(cEVENT61,1938 -#define cFYI(cFYI62,1968 -#define cifserror(cifserror63,1997 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifs_unicode.c,51 -cifs_strfromUCS_le(34,1133 -cifs_strtoUCS(63,1693 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/transport.c,151 -AllocMidQEntry(38,1277 -DeleteMidQEntry(74,2203 -AllocOplockQEntry(86,2503 -void DeleteOplockQEntry(109,3071 -smb_send(119,3332 -SendReceive(180,4858 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifsencrypt.c,220 -static int cifs_calculate_signature(38,1492 -int cifs_sign_smb(52,1876 -int cifs_verify_signature(84,2858 -int cifs_calculate_mac_key(134,4388 -int CalcNTLMv2_partial_mac_key(146,4659 -void CalcNTLMv2_response(197,6144 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/md4.c,210 -F(27,1057 -G(33,1134 -H(39,1218 -lshift(45,1284 -#define ROUND1(ROUND151,1381 -#define ROUND2(ROUND252,1453 -#define ROUND3(ROUND353,1544 -mdfour64(57,1689 -copy64(138,3395 -copy4(148,3592 -mdfour(158,3803 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifspdu.h,21318 -#define _CIFSPDU_H23,927 -#define CIFS_PROT 27,970 -#define BAD_PROT 28,992 -#define SMB_COM_CREATE_DIRECTORY 31,1049 -#define SMB_COM_DELETE_DIRECTORY 32,1092 -#define SMB_COM_CLOSE 33,1135 -#define SMB_COM_DELETE 34,1178 -#define SMB_COM_RENAME 35,1221 -#define SMB_COM_LOCKING_ANDX 36,1264 -#define SMB_COM_COPY 37,1307 -#define SMB_COM_READ_ANDX 38,1350 -#define SMB_COM_WRITE_ANDX 39,1393 -#define SMB_COM_TRANSACTION2 40,1436 -#define SMB_COM_TRANSACTION2_SECONDARY 41,1479 -#define SMB_COM_FIND_CLOSE2 42,1523 -#define SMB_COM_TREE_DISCONNECT 43,1566 -#define SMB_COM_NEGOTIATE 44,1609 -#define SMB_COM_SESSION_SETUP_ANDX 45,1652 -#define SMB_COM_LOGOFF_ANDX 46,1695 -#define SMB_COM_TREE_CONNECT_ANDX 47,1738 -#define SMB_COM_NT_TRANSACT 48,1781 -#define SMB_COM_NT_TRANSACT_SECONDARY 49,1824 -#define SMB_COM_NT_CREATE_ANDX 50,1867 -#define SMB_COM_NT_RENAME 51,1910 -#define TRANS2_OPEN 54,1987 -#define TRANS2_FIND_FIRST 55,2030 -#define TRANS2_FIND_NEXT 56,2073 -#define TRANS2_QUERY_FS_INFORMATION 57,2116 -#define TRANS2_QUERY_PATH_INFORMATION 58,2159 -#define TRANS2_SET_PATH_INFORMATION 59,2202 -#define TRANS2_QUERY_FILE_INFORMATION 60,2245 -#define TRANS2_SET_FILE_INFORMATION 61,2288 -#define TRANS2_GET_DFS_REFERRAL 62,2331 -#define TRANS2_REPORT_DFS_INCOSISTENCY 63,2374 -#define NT_TRANSACT_CREATE 66,2454 -#define NT_TRANSACT_IOCTL 67,2497 -#define NT_TRANSACT_SET_SECURITY_DESC 68,2540 -#define NT_TRANSACT_NOTIFY_CHANGE 69,2583 -#define NT_TRANSACT_RENAME 70,2626 -#define NT_TRANSACT_QUERY_SECURITY_DESC 71,2669 -#define NT_TRANSACT_GET_USER_QUOTA 72,2714 -#define NT_TRANSACT_SET_USER_QUOTA 73,2757 -#define MAX_CIFS_HDR_SIZE 75,2801 -#define CIFS_MAX_MSGSIZE 86,3143 -#define CIFS_ENCPWD_SIZE 91,3229 -#define CIFS_CRYPTO_KEY_SIZE 96,3332 -#define CIFS_SESSION_KEY_SIZE 101,3440 -#define CIFS_UNLEN 106,3511 -#define SMBOPEN_WRITE_THROUGH 111,3564 -#define SMBOPEN_DENY_ALL 112,3601 -#define SMBOPEN_DENY_WRITE 113,3638 -#define SMBOPEN_DENY_READ 114,3675 -#define SMBOPEN_DENY_NONE 115,3712 -#define SMBOPEN_READ 116,3749 -#define SMBOPEN_WRITE 117,3786 -#define SMBOPEN_READWRITE 118,3823 -#define SMBOPEN_EXECUTE 119,3860 -#define SMBOPEN_OCREATE 121,3898 -#define SMBOPEN_OTRUNC 122,3935 -#define SMBOPEN_OAPPEND 123,3972 -#define SMBFLG_EXTD_LOCK 128,4042 -#define SMBFLG_RCV_POSTED 129,4128 -#define SMBFLG_RSVD 130,4174 -#define SMBFLG_CASELESS 131,4199 -#define SMBFLG_CANONICAL_PATH_FORMAT 132,4321 -#define SMBFLG_OLD_OPLOCK 133,4378 -#define SMBFLG_OLD_OPLOCK_NOTIFY 134,4424 -#define SMBFLG_RESPONSE 135,4477 -#define SMBFLG2_KNOWS_LONG_NAMES 140,4581 -#define SMBFLG2_KNOWS_EAS 141,4682 -#define SMBFLG2_SECURITY_SIGNATURE 142,4723 -#define SMBFLG2_IS_LONG_NAME 143,4773 -#define SMBFLG2_EXT_SEC 144,4820 -#define SMBFLG2_DFS 145,4862 -#define SMBFLG2_PAGING_IO 146,4902 -#define SMBFLG2_ERR_STATUS 147,4948 -#define SMBFLG2_UNICODE 148,4995 -#define FILE_READ_DATA 159,5417 -#define FILE_WRITE_DATA 160,5497 -#define FILE_APPEND_DATA 161,5577 -#define FILE_READ_EA 162,5657 -#define FILE_WRITE_EA 164,5782 -#define FILE_EXECUTE 166,5907 -#define FILE_DELETE_CHILD 168,6032 -#define FILE_READ_ATTRIBUTES 169,6073 -#define FILE_WRITE_ATTRIBUTES 171,6198 -#define DELETE 173,6323 -#define READ_CONTROL 174,6403 -#define WRITE_DAC 177,6573 -#define WRITE_OWNER 180,6743 -#define SYNCHRONIZE 182,6868 -#define GENERIC_ALL 185,7038 -#define GENERIC_EXECUTE 186,7079 -#define GENERIC_WRITE 187,7120 -#define GENERIC_READ 188,7161 -#define CIFS_NO_HANDLE 198,7463 -#define CIFS_IPC_RESOURCE 201,7521 -#define CIFS_IPC_UNICODE_RESOURCE 204,7589 -#define UNICODE_NULL 207,7709 -#define ASCII_NULL 208,7741 -#define CIFS_SV_TYPE_DC 213,7823 -#define CIFS_SV_TYPE_BACKDC 214,7862 -#define CIFS_ALIAS_TYPE_FILE 219,7954 -#define CIFS_SHARE_TYPE_FILE 220,7990 -#define ATTR_READONLY 225,8058 -#define ATTR_HIDDEN 226,8088 -#define ATTR_SYSTEM 227,8118 -#define ATTR_VOLUME 228,8148 -#define ATTR_DIRECTORY 229,8178 -#define ATTR_ARCHIVE 230,8208 -#define ATTR_DEVICE 231,8238 -#define ATTR_NORMAL 232,8268 -#define ATTR_TEMPORARY 233,8298 -#define ATTR_SPARSE 234,8328 -#define ATTR_REPARSE 235,8358 -#define ATTR_COMPRESSED 236,8388 -#define ATTR_OFFLINE 237,8419 -#define ATTR_NOT_CONTENT_INDEXED 238,8508 -#define ATTR_ENCRYPTED 239,8548 -#define ATTR_POSIX_SEMANTICS 240,8579 -#define ATTR_BACKUP_SEMANTICS 241,8619 -#define ATTR_DELETE_ON_CLOSE 242,8660 -#define ATTR_SEQUENTIAL_SCAN 243,8700 -#define ATTR_RANDOM_ACCESS 244,8740 -#define ATTR_NO_BUFFERING 245,8780 -#define ATTR_WRITE_THROUGH 246,8820 -#define FILE_NO_SHARE 249,8885 -#define FILE_SHARE_READ 250,8922 -#define FILE_SHARE_WRITE 251,8959 -#define FILE_SHARE_DELETE 252,8996 -#define FILE_SHARE_ALL 253,9033 -#define FILE_SUPERSEDE 256,9101 -#define FILE_OPEN 257,9138 -#define FILE_CREATE 258,9175 -#define FILE_OPEN_IF 259,9212 -#define FILE_OVERWRITE 260,9249 -#define FILE_OVERWRITE_IF 261,9286 -#define CREATE_NOT_FILE 264,9344 -#define CREATE_WRITE_THROUGH 265,9410 -#define CREATE_NOT_DIR 266,9450 -#define CREATE_RANDOM_ACCESS 267,9520 -#define CREATE_DELETE_ON_CLOSE 268,9560 -#define OPEN_REPARSE_POINT 269,9602 -#define SECURITY_ANONYMOUS 272,9672 -#define SECURITY_IDENTIFICATION 273,9706 -#define SECURITY_IMPERSONATION 274,9740 -#define SECURITY_DELEGATION 275,9774 -#define SECURITY_CONTEXT_TRACKING 278,9829 -#define SECURITY_EFFECTIVE_ONLY 279,9868 -#define CIFS_DFT_PID 284,9985 -#define CIFS_COPY_OP 290,10110 -#define CIFS_RENAME_OP 291,10133 -#define GETU16(GETU16293,10159 -#define GETU32(GETU32294,10231 -struct smb_hdr smb_hdr298,10321 -#define BCC(BCC328,11063 -#define pByteArea(pByteArea331,11243 -#define CNLEN 336,11385 -#define SNLEN 344,11632 -#define MAXCOMMENTLEN 349,11686 -#define MAX_PATHCONF 354,11749 -typedef struct negotiate_req negotiate_req374,12584 -} NEGOTIATE_REQ;NEGOTIATE_REQ378,12702 -typedef struct negotiate_rsp negotiate_rsp380,12720 -} NEGOTIATE_RSP;NEGOTIATE_RSP405,13447 -#define SECMODE_USER 408,13489 -#define SECMODE_PW_ENCRYPT 409,13565 -#define SECMODE_SIGN_ENABLED 410,13600 -#define SECMODE_SIGN_REQUIRED 411,13673 -#define CAP_RAW_MODE 414,13786 -#define CAP_MPX_MODE 415,13828 -#define CAP_UNICODE 416,13870 -#define CAP_LARGE_FILES 417,13912 -#define CAP_NT_SMBS 418,13954 -#define CAP_RPC_REMOTE_APIS 419,14022 -#define CAP_STATUS32 420,14064 -#define CAP_LEVEL_II_OPLOCKS 421,14106 -#define CAP_LOCK_AND_READ 422,14148 -#define CAP_NT_FIND 423,14190 -#define CAP_DFS 424,14232 -#define CAP_INFOLEVEL_PASSTHRU 425,14274 -#define CAP_LARGE_READ_X 426,14316 -#define CAP_LARGE_WRITE_X 427,14358 -#define CAP_UNIX 428,14400 -#define CAP_RESERVED 429,14442 -#define CAP_BULK_TRANSFER 430,14484 -#define CAP_COMPRESSED_DATA 431,14526 -#define CAP_EXTENDED_SECURITY 432,14568 -typedef union smb_com_session_setup_andx smb_com_session_setup_andx434,14611 -} SESSION_SETUP_ANDX;SESSION_SETUP_ANDX519,17213 -#define CIFS_NETWORK_OPSYS 521,17236 -#define CAP_UNICODE 524,17345 -#define CAP_LARGE_FILES 525,17387 -#define CAP_NT_SMBS 526,17429 -#define CAP_STATUS32 527,17471 -#define CAP_LEVEL_II_OPLOCKS 528,17513 -#define CAP_NT_FIND 529,17555 -#define CAP_BULK_TRANSFER 530,17679 -#define CAP_EXTENDED_SECURITY 531,17721 -#define GUEST_LOGIN 534,17782 -typedef struct smb_com_tconx_req smb_com_tconx_req536,17805 -} TCONX_REQ;TCONX_REQ547,18123 -typedef struct smb_com_tconx_rsp smb_com_tconx_rsp549,18137 -} TCONX_RSP;TCONX_RSP558,18529 -#define DISCONNECT_TID 561,18568 -#define TCON_EXTENDED_SECINFO 562,18607 -#define SMB_SUPPORT_SEARCH_BITS 564,18673 -#define SMB_SHARE_IS_IN_DFS 565,18760 -typedef struct smb_com_logoff_andx_req smb_com_logoff_andx_req567,18800 -} LOGOFF_ANDX_REQ;LOGOFF_ANDX_REQ574,18953 -typedef struct smb_com_logoff_andx_rsp smb_com_logoff_andx_rsp576,18973 -} LOGOFF_ANDX_RSP;LOGOFF_ANDX_RSP582,19125 -typedef union smb_com_tree_disconnect smb_com_tree_disconnect584,19145 -} TREE_DISCONNECT;TREE_DISCONNECT593,19473 -typedef struct smb_com_close_req smb_com_close_req595,19493 -} CLOSE_REQ;CLOSE_REQ600,19647 -typedef struct smb_com_close_rsp smb_com_close_rsp602,19661 -} CLOSE_RSP;CLOSE_RSP605,19763 -typedef struct smb_com_findclose_req smb_com_findclose_req607,19777 -} FINDCLOSE_REQ;FINDCLOSE_REQ611,19895 -#define REQ_OPLOCK 614,19929 -#define REQ_BATCHOPLOCK 615,19967 -#define REQ_OPENDIRONLY 616,20005 -typedef struct smb_com_open_req smb_com_open_req618,20044 -} OPEN_REQ;OPEN_REQ637,20529 -#define OPLOCK_NONE 640,20577 -#define OPLOCK_EXCLUSIVE 641,20602 -#define OPLOCK_BATCH 642,20629 -#define OPLOCK_READ 643,20653 -#define CIFS_CREATE_ACTION 646,20749 -typedef struct smb_com_open_rsp smb_com_open_rsp648,20804 -} OPEN_RSP;OPEN_RSP667,21237 -typedef struct smb_com_write_req smb_com_write_req669,21250 -} WRITE_REQ;WRITE_REQ686,21680 -typedef struct smb_com_write_rsp smb_com_write_rsp688,21694 -} WRITE_RSP;WRITE_RSP697,21893 -typedef struct smb_com_read_req smb_com_read_req699,21907 -} READ_REQ;READ_REQ712,22199 -typedef struct smb_com_read_rsp smb_com_read_rsp714,22212 -} READ_RSP;READ_RSP729,22614 -typedef struct locking_andx_range locking_andx_range731,22627 -} LOCKING_ANDX_RANGE;LOCKING_ANDX_RANGE738,22767 -#define LOCKING_ANDX_SHARED_LOCK 740,22790 -#define LOCKING_ANDX_OPLOCK_RELEASE 741,22832 -#define LOCKING_ANDX_CHANGE_LOCKTYPE 742,22874 -#define LOCKING_ANDX_CANCEL_LOCK 743,22916 -#define LOCKING_ANDX_LARGE_FILES 744,22958 -typedef struct smb_com_lock_req smb_com_lock_req746,23024 -} LOCK_REQ;LOCK_REQ759,23313 -typedef struct smb_com_lock_rsp smb_com_lock_rsp761,23326 -} LOCK_RSP;LOCK_RSP767,23472 -typedef struct smb_com_rename_req smb_com_rename_req769,23485 -} RENAME_REQ;RENAME_REQ777,23777 -#define COPY_MUST_BE_FILE 780,23818 -#define COPY_MUST_BE_DIR 781,23856 -#define COPY_TARGET_MODE_ASCII 782,23894 -#define COPY_SOURCE_MODE_ASCII 783,23957 -#define COPY_VERIFY_WRITES 784,24020 -#define COPY_TREE 785,24058 -typedef struct smb_com_copy_req smb_com_copy_req787,24098 -} COPY_REQ;COPY_REQ797,24391 -typedef struct smb_com_copy_rsp smb_com_copy_rsp799,24404 -} COPY_RSP;COPY_RSP805,24707 -#define CREATE_HARD_LINK 807,24720 -#define MOVEFILE_COPY_ALLOWED 808,24752 -#define MOVEFILE_REPLACE_EXISTING 809,24790 -typedef struct smb_com_nt_rename_req smb_com_nt_rename_req811,24832 -} NT_RENAME_REQ;NT_RENAME_REQ821,25240 -typedef struct smb_com_rename_rsp smb_com_rename_rsp823,25258 -} RENAME_RSP;RENAME_RSP826,25361 -typedef struct smb_com_delete_file_req smb_com_delete_file_req828,25376 -} DELETE_FILE_REQ;DELETE_FILE_REQ834,25561 -typedef struct smb_com_delete_file_rsp smb_com_delete_file_rsp836,25581 -} DELETE_FILE_RSP;DELETE_FILE_RSP839,25689 -typedef struct smb_com_delete_directory_req smb_com_delete_directory_req841,25709 -} DELETE_DIRECTORY_REQ;DELETE_DIRECTORY_REQ846,25872 -typedef struct smb_com_delete_directory_rsp smb_com_delete_directory_rsp848,25897 -} DELETE_DIRECTORY_RSP;DELETE_DIRECTORY_RSP851,26010 -typedef struct smb_com_create_directory_req smb_com_create_directory_req853,26035 -} CREATE_DIRECTORY_REQ;CREATE_DIRECTORY_REQ858,26198 -typedef struct smb_com_create_directory_rsp smb_com_create_directory_rsp860,26223 -} CREATE_DIRECTORY_RSP;CREATE_DIRECTORY_RSP863,26336 -typedef struct smb_com_transaction_ioctl_req smb_com_transaction_ioctl_req869,26577 -} TRANSACT_IOCTL_REQ;TRANSACT_IOCTL_REQ891,27279 -typedef struct smb_com_transaction_ioctl_rsp smb_com_transaction_ioctl_rsp893,27302 -} TRANSACT_IOCTL_RSP;TRANSACT_IOCTL_RSP908,27685 -typedef struct smb_com_transaction_change_notify_req smb_com_transaction_change_notify_req910,27708 -} TRANSACT_CHANGE_NOTIFY_REQ;TRANSACT_CHANGE_NOTIFY_REQ932,28379 -typedef struct smb_com_transaction_change_notify_rsp smb_com_transaction_change_notify_rsp934,28410 -} TRANSACT_CHANGE_NOTIFY_RSP;TRANSACT_CHANGE_NOTIFY_RSP948,28784 -#define FILE_NOTIFY_CHANGE_FILE_NAME 950,28855 -#define FILE_NOTIFY_CHANGE_DIR_NAME 951,28906 -#define FILE_NOTIFY_CHANGE_NAME 952,28957 -#define FILE_NOTIFY_CHANGE_ATTRIBUTES 953,29008 -#define FILE_NOTIFY_CHANGE_SIZE 954,29059 -#define FILE_NOTIFY_CHANGE_LAST_WRITE 955,29110 -#define FILE_NOTIFY_CHANGE_LAST_ACCESS 956,29161 -#define FILE_NOTIFY_CHANGE_CREATION 957,29212 -#define FILE_NOTIFY_CHANGE_EA 958,29263 -#define FILE_NOTIFY_CHANGE_SECURITY 959,29314 -#define FILE_NOTIFY_CHANGE_STREAM_NAME 960,29365 -#define FILE_NOTIFY_CHANGE_STREAM_SIZE 961,29416 -#define FILE_NOTIFY_CHANGE_STREAM_WRITE 962,29467 -#define FILE_ACTION_ADDED 964,29519 -#define FILE_ACTION_REMOVED 965,29557 -#define FILE_ACTION_MODIFIED 966,29597 -#define FILE_ACTION_RENAMED_OLD_NAME 967,29638 -#define FILE_ACTION_RENAMED_NEW_NAME 968,29686 -#define FILE_ACTION_ADDED_STREAM 969,29734 -#define FILE_ACTION_REMOVED_STREAM 970,29778 -#define FILE_ACTION_MODIFIED_STREAM 971,29824 -struct file_notify_information file_notify_information974,29930 -struct reparse_data reparse_data981,30050 -struct cifs_quota_data cifs_quota_data992,30249 -#define QUOTA_LIST_CONTINUE 1003,30461 -#define QUOTA_LIST_START 1004,30495 -#define QUOTA_FOR_SID 1005,30526 -typedef union smb_com_transaction2 smb_com_transaction21007,30556 -} TRANSACTION2;TRANSACTION21045,31584 -#define SMB_INFO_STANDARD 1048,31636 -#define SMB_SET_FILE_EA 1049,31682 -#define SMB_QUERY_FILE_EA_SIZE 1050,31728 -#define SMB_INFO_QUERY_EAS_FROM_LIST 1051,31774 -#define SMB_INFO_QUERY_ALL_EAS 1052,31820 -#define SMB_INFO_IS_NAME_VALID 1053,31866 -#define SMB_QUERY_FILE_BASIC_INFO 1054,31912 -#define SMB_QUERY_FILE_STANDARD_INFO 1055,31958 -#define SMB_QUERY_FILE_EA_INFO 1056,32004 -#define SMB_QUERY_FILE_NAME_INFO 1057,32050 -#define SMB_QUERY_FILE_ALLOCATION_INFO 1058,32096 -#define SMB_QUERY_FILE_END_OF_FILEINFO 1059,32142 -#define SMB_QUERY_FILE_ALL_INFO 1060,32188 -#define SMB_QUERY_ALT_NAME_INFO 1061,32234 -#define SMB_QUERY_FILE_STREAM_INFO 1062,32280 -#define SMB_QUERY_FILE_COMPRESSION_INFO 1063,32326 -#define SMB_QUERY_FILE_UNIX_BASIC 1064,32372 -#define SMB_QUERY_FILE_UNIX_LINK 1065,32418 -#define SMB_SET_FILE_BASIC_INFO 1067,32465 -#define SMB_SET_FILE_DISPOSITION_INFO 1068,32511 -#define SMB_SET_FILE_ALLOCATION_INFO 1069,32557 -#define SMB_SET_FILE_END_OF_FILE_INFO 1070,32603 -#define SMB_SET_FILE_UNIX_BASIC 1071,32649 -#define SMB_SET_FILE_UNIX_LINK 1072,32695 -#define SMB_SET_FILE_UNIX_HLINK 1073,32741 -#define SMB_SET_FILE_BASIC_INFO2 1074,32787 -#define SMB_SET_FILE_RENAME_INFORMATION 1075,32833 -#define SMB_FILE_ALL_INFO2 1076,32879 -#define SMB_SET_FILE_ALLOCATION_INFO2 1077,32925 -#define SMB_SET_FILE_END_OF_FILE_INFO2 1078,32971 -#define SMB_FILE_MOVE_CLUSTER_INFO 1079,33017 -#define SMB_FILE_QUOTA_INFO 1080,33063 -#define SMB_FILE_REPARSEPOINT_INFO 1081,33109 -#define SMB_FILE_MAXIMUM_INFO 1082,33155 -#define SMB_FIND_FILE_DIRECTORY_INFO 1085,33229 -#define SMB_FIND_FILE_FULL_DIRECTORY_INFO 1086,33277 -#define SMB_FIND_FILE_NAMES_INFO 1087,33325 -#define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 1088,33373 -#define SMB_FIND_FILE_UNIX 1089,33421 -typedef struct smb_com_transaction2_qpi_req smb_com_transaction2_qpi_req1091,33470 -} TRANSACTION2_QPI_REQ;TRANSACTION2_QPI_REQ1114,33999 -typedef struct smb_com_transaction2_qpi_rsp smb_com_transaction2_qpi_rsp1116,34024 -} TRANSACTION2_QPI_RSP;TRANSACTION2_QPI_RSP1131,34511 -typedef struct smb_com_transaction2_spi_req smb_com_transaction2_spi_req1133,34536 -} TRANSACTION2_SPI_REQ;TRANSACTION2_SPI_REQ1157,35077 -typedef struct smb_com_transaction2_spi_rsp smb_com_transaction2_spi_rsp1159,35102 -} TRANSACTION2_SPI_RSP;TRANSACTION2_SPI_RSP1174,35588 -struct set_file_rename set_file_rename1176,35613 -struct smb_com_transaction2_sfi_req smb_com_transaction2_sfi_req1183,35789 -struct smb_com_transaction2_sfi_rsp smb_com_transaction2_sfi_rsp1209,36320 -#define CIFS_SEARCH_CLOSE_ALWAYS 1230,36849 -#define CIFS_SEARCH_CLOSE_AT_END 1231,36890 -#define CIFS_SEARCH_RETURN_RESUME 1232,36931 -#define CIFS_SEARCH_CONTINUE_FROM_LAST 1233,36972 -#define CIFS_SEARCH_BACKUP_SEARCH 1234,37018 -#define CIFS_SMB_RESUME_KEY_SIZE 1239,37125 -typedef struct smb_com_transaction2_ffirst_req smb_com_transaction2_ffirst_req1241,37161 -} TRANSACTION2_FFIRST_REQ;TRANSACTION2_FFIRST_REQ1267,37782 -typedef struct smb_com_transaction2_ffirst_rsp smb_com_transaction2_ffirst_rsp1269,37810 -} TRANSACTION2_FFIRST_RSP;TRANSACTION2_FFIRST_RSP1283,38207 -typedef struct smb_com_transaction2_ffirst_rsp_parms smb_com_transaction2_ffirst_rsp_parms1285,38235 -} T2_FFIRST_RSP_PARMS;T2_FFIRST_RSP_PARMS1291,38400 -typedef struct smb_com_transaction2_fnext_req smb_com_transaction2_fnext_req1293,38424 -} TRANSACTION2_FNEXT_REQ;TRANSACTION2_FNEXT_REQ1319,39035 -typedef struct smb_com_transaction2_fnext_rsp smb_com_transaction2_fnext_rsp1321,39062 -} TRANSACTION2_FNEXT_RSP;TRANSACTION2_FNEXT_RSP1335,39458 -typedef struct smb_com_transaction2_fnext_rsp_parms smb_com_transaction2_fnext_rsp_parms1337,39485 -} T2_FNEXT_RSP_PARMS;T2_FNEXT_RSP_PARMS1342,39628 -#define SMB_INFO_ALLOCATION 1345,39672 -#define SMB_INFO_VOLUME 1346,39710 -#define SMB_QUERY_FS_VOLUME_INFO 1347,39748 -#define SMB_QUERY_FS_SIZE_INFO 1348,39790 -#define SMB_QUERY_FS_DEVICE_INFO 1349,39832 -#define SMB_QUERY_FS_ATTRIBUTE_INFO 1350,39874 -#define SMB_QUERY_CIFS_UNIX_INFO 1351,39916 -#define SMB_QUERY_LABEL_INFO 1352,39958 -#define SMB_QUERY_FS_QUOTA_INFO 1353,40000 -typedef struct smb_com_transaction2_qfsi_req smb_com_transaction2_qfsi_req1355,40043 -} TRANSACTION2_QFSI_REQ;TRANSACTION2_QFSI_REQ1376,40536 -typedef struct smb_com_transaction_qfsi_rsp smb_com_transaction_qfsi_rsp1378,40562 -} TRANSACTION2_QFSI_RSP;TRANSACTION2_QFSI_RSP1393,41033 -typedef struct smb_com_transaction2_get_dfs_refer_req smb_com_transaction2_get_dfs_refer_req1395,41059 -} TRANSACTION2_GET_DFS_REFER_REQ;TRANSACTION2_GET_DFS_REFER_REQ1417,41702 -typedef struct dfs_referral_level_3 dfs_referral_level_31419,41737 -} REFERRAL3;REFERRAL31429,42182 -typedef struct smb_com_transaction_get_dfs_refer_rsp smb_com_transaction_get_dfs_refer_rsp1431,42196 -} TRANSACTION2_GET_DFS_REFER_RSP;TRANSACTION2_GET_DFS_REFER_RSP1452,42821 -#define DFSREF_REFERRAL_SERVER 1455,42872 -#define DFSREF_STORAGE_SERVER 1456,42911 -#define FSCTL_REQUEST_OPLOCK_LEVEL_1 1464,43375 -#define FSCTL_REQUEST_OPLOCK_LEVEL_2 1465,43423 -#define FSCTL_REQUEST_BATCH_OPLOCK 1466,43471 -#define FSCTL_LOCK_VOLUME 1467,43519 -#define FSCTL_UNLOCK_VOLUME 1468,43567 -#define FSCTL_GET_COMPRESSION 1469,43615 -#define FSCTL_SET_COMPRESSION 1470,43663 -#define FSCTL_REQUEST_FILTER_OPLOCK 1471,43711 -#define FSCTL_FILESYS_GET_STATISTICS 1472,43759 -#define FSCTL_SET_REPARSE_POINT 1473,43807 -#define FSCTL_GET_REPARSE_POINT 1474,43855 -#define FSCTL_DELETE_REPARSE_POINT 1475,43903 -#define FSCTL_SET_SPARSE 1476,43951 -#define FSCTL_SET_ZERO_DATA 1477,43999 -#define FSCTL_SET_ENCRYPTION 1478,44047 -#define FSCTL_ENCRYPTION_FSCTL_IO 1479,44095 -#define FSCTL_WRITE_RAW_ENCRYPTED 1480,44143 -#define FSCTL_READ_RAW_ENCRYPTED 1481,44191 -#define FSCTL_SIS_COPYFILE 1482,44239 -#define FSCTL_SIS_LINK_FILES 1483,44287 -#define IO_REPARSE_TAG_MOUNT_POINT 1485,44336 -#define IO_REPARSE_TAG_HSM 1486,44384 -#define IO_REPARSE_TAG_SIS 1487,44432 -struct serverInfo serverInfo1500,44798 -struct shareInfo shareInfo1513,45059 -struct aliasInfo aliasInfo1520,45165 -struct aliasInfo92 aliasInfo921527,45272 -} FILE_SYSTEM_INFO;FILE_SYSTEM_INFO1538,45498 -} FILE_SYSTEM_UNIX_INFO;FILE_SYSTEM_UNIX_INFO1544,45642 -#define CIFS_UNIX_FCNTL_CAP 1546,45752 -#define CIFS_UNIX_POSIX_ACL_CAP 1547,45833 -#define FILE_DEVICE_CD_ROM 1550,45908 -#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 1551,45959 -#define FILE_DEVICE_DFS 1552,46010 -#define FILE_DEVICE_DISK 1553,46061 -#define FILE_DEVICE_DISK_FILE_SYSTEM 1554,46112 -#define FILE_DEVICE_FILE_SYSTEM 1555,46163 -#define FILE_DEVICE_NAMED_PIPE 1556,46214 -#define FILE_DEVICE_NETWORK 1557,46265 -#define FILE_DEVICE_NETWORK_FILE_SYSTEM 1558,46316 -#define FILE_DEVICE_NULL 1559,46367 -#define FILE_DEVICE_PARALLEL_PORT 1560,46418 -#define FILE_DEVICE_PRINTER 1561,46469 -#define FILE_DEVICE_SERIAL_PORT 1562,46520 -#define FILE_DEVICE_STREAMS 1563,46571 -#define FILE_DEVICE_TAPE 1564,46622 -#define FILE_DEVICE_TAPE_FILE_SYSTEM 1565,46673 -#define FILE_DEVICE_VIRTUAL_DISK 1566,46724 -#define FILE_DEVICE_NETWORK_REDIRECTOR 1567,46775 -} FILE_SYSTEM_DEVICE_INFO;FILE_SYSTEM_DEVICE_INFO1572,46895 -} FILE_SYSTEM_ATTRIBUTE_INFO;FILE_SYSTEM_ATTRIBUTE_INFO1579,47159 -} FILE_ALL_INFO;FILE_ALL_INFO1603,47765 -} FILE_UNIX_BASIC_INFO;FILE_UNIX_BASIC_INFO1619,48131 -} FILE_UNIX_LINK_INFO;FILE_UNIX_LINK_INFO1623,48219 -} FILE_INFO_STANDARD;FILE_INFO_STANDARD1636,48536 -#define UNIX_FILE 1639,48666 -#define UNIX_DIR 1640,48691 -#define UNIX_SYMLINK 1641,48716 -#define UNIX_CHARDEV 1642,48741 -#define UNIX_BLOCKDEV 1643,48766 -#define UNIX_FIFO 1644,48791 -#define UNIX_SOCKET 1645,48816 -} FILE_UNIX_INFO;FILE_UNIX_INFO1664,49227 -} FILE_BASIC_INFO;FILE_BASIC_INFO1673,49384 -struct file_allocation_info file_allocation_info1675,49434 -struct file_end_of_file_info file_end_of_file_info1679,49522 -} FILE_DIRECTORY_INFO;FILE_DIRECTORY_INFO1695,49895 -struct gea gea1697,49959 -struct gealist gealist1702,50016 -struct fea fea1707,50083 -#define FEA_NEEDEA 1715,50235 -struct fealist fealist1717,50286 -struct data_blob data_blob1723,50391 -struct xsymlink xsymlink1819,53836 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/fcntl.c,29 -int cifs_dir_notify(31,1136 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifsfs.h,122 -#define _CIFSFS_H23,925 -#define ROOT_I 25,944 -#define FALSE 28,976 -#define TRUE 32,1013 -#define CIFS_VERSION 93,4040 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifs_fs_sb.h,140 -#define _CIFS_FS_SB_H19,711 -#define CIFS_MOUNT_NO_PERM 21,734 -#define CIFS_MOUNT_SET_UID 22,801 -struct cifs_sb_info cifs_sb_info24,875 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifsproto.h,92 -#define _CIFSPROTO_H22,930 -#define GetXid(GetXid39,1409 -#define FreeXid(FreeXid40,1528 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/xattr.c,317 -#define MAX_EA_VALUE_SIZE 29,1038 -#define CIFS_XATTR_DOS_ATTRIB 30,1070 -#define CIFS_XATTR_USER_PREFIX 31,1117 -#define CIFS_XATTR_SYSTEM_PREFIX 32,1156 -#define CIFS_XATTR_OS2_PREFIX 33,1199 -int cifs_removexattr(37,1352 -int cifs_setxattr(85,2780 -ssize_t cifs_getxattr(148,4396 -ssize_t cifs_listxattr(200,5745 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/netmisc.c,505 -struct smb_to_posix_error smb_to_posix_error41,1312 -const struct smb_to_posix_error mapping_table_ERRDOS[46,1377 -const struct smb_to_posix_error mapping_table_ERRSRV[82,2244 -const struct smb_to_posix_error mapping_table_ERRHRD[121,3171 -cifs_inet_pton(131,3515 -} ntstatus_to_dos_map[203,5051 -cifs_print_status(761,33181 -ntstatus_to_dos(778,33502 -map_smb_to_linux_error(798,33902 -smbCalcSize(866,35930 -#define NTFS_TIME_OFFSET 874,36090 -cifs_NTtimeToUnix(881,36319 -cifs_UnixTimeToNT(897,36636 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/md5.h,126 -#define MD5_H2,14 -#define HEADER_MD5_H5,89 -struct MD5Context MD5Context8,118 -struct HMACMD5Context HMACMD5Context16,239 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/smbdes.c,503 -#define uchar 48,1885 -static uchar perm1[50,1914 -static uchar perm2[60,2167 -static uchar perm3[70,2388 -static uchar perm4[80,2672 -static uchar perm5[90,2887 -static uchar perm6[100,3043 -static uchar sc[110,3327 -static uchar sbox[112,3402 -permute(155,5320 -lshift(163,5442 -concat(174,5614 -xor(183,5753 -dohash(191,5875 -str_to_key(295,7647 -smbhash(313,8128 -E_P16(350,8798 -E_P24(359,8999 -D_P16(367,9173 -E_old_pw_hash(374,9314 -cred_hash1(381,9463 -cred_hash2(390,9626 -cred_hash3(401,9836 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/file.c,882 -cifs_open(39,1294 -static int cifs_relock_file(261,9039 -static int cifs_reopen_file(270,9184 -cifs_close(402,13222 -cifs_closedir(451,14572 -cifs_lock(472,14977 -cifs_write(579,17760 -cifs_partialpagewrite(698,20695 -cifs_writepages(794,23237 -cifs_writepage(807,23454 -cifs_commit_write(828,23919 -cifs_fsync(897,25787 -int cifs_flush(947,26802 -cifs_read(972,27532 -int cifs_file_mmap(1037,29092 -static void cifs_copy_cache_pages(1054,29437 -cifs_readpages(1099,30476 -static int cifs_readpage_worker(1246,34594 -cifs_readpage(1279,35858 -int is_size_safe_to_change(1309,36623 -fill_in_inode(1346,37529 -unix_fill_in_inode(1439,40847 -construct_dentry(1520,43586 -static void reset_resume_key(1565,44900 -cifs_filldir(1602,45833 -cifs_filldir_unix(1629,46650 -cifs_readdir(1658,47509 -int cifs_prepare_write(2134,61440 -struct address_space_operations cifs_addr_ops 2169,62583 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/misc.c,320 -__u16 GlobalMid;35,1193 -_GetXid(44,1584 -_FreeXid(58,1926 -sesInfoAlloc(68,2110 -sesInfoFree(88,2579 -tconInfoAlloc(111,3155 -tconInfoFree(135,3762 -cifs_buf_get(151,4165 -cifs_buf_release(172,4696 -header_assemble(186,4921 -checkSMBhdr(288,8898 -checkSMB(316,9749 -is_valid_oplock_break(354,10871 -dump_smb(426,13255 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/cifssmb.c,1222 -} protocols[44,1660 -} protocols[53,1804 -static void mark_open_files_invalid(62,1999 -smb_init(81,2564 -CIFSSMBNegotiate(179,5669 -CIFSSMBTDis(288,9003 -CIFSSMBLogoff(350,10505 -CIFSSMBDelFile(410,11811 -CIFSSMBRmDir(462,13156 -CIFSSMBMkDir(512,14438 -CIFSSMBOpen(561,15711 -CIFSSMBRead(666,19268 -CIFSSMBWrite(733,21149 -CIFSSMBLock(791,22762 -CIFSSMBClose(855,24657 -CIFSSMBRename(893,25519 -int CIFSSMBRenameOpenFile(969,27652 -CIFSSMBCopy(1050,30389 -CIFSUnixCreateSymLink(1120,32517 -CIFSUnixCreateHardLink(1212,35354 -CIFSCreateHardLink(1300,38178 -CIFSSMBUnixQuerySymLink(1372,40285 -CIFSSMBQueryReparseLinkInfo(1470,43327 -CIFSSMBQPathInfo(1554,46177 -CIFSSMBUnixQPathInfo(1638,48817 -CIFSFindSingle(1725,51588 -CIFSFindFirst(1804,54046 -CIFSFindNext(1908,57489 -CIFSFindClose(2011,60745 -CIFSGetDFSRefer(2046,61564 -CIFSSMBQFSInfo(2214,66973 -CIFSSMBQFSAttributeInfo(2296,69549 -CIFSSMBQFSDeviceInfo(2364,71641 -CIFSSMBQFSUnixInfo(2434,73708 -CIFSSMBSetEOF(2509,76017 -CIFSSMBSetFileSize(2600,79007 -CIFSSMBSetTimes(2686,81749 -CIFSSMBSetTimesLegacy(2767,84257 -CIFSSMBUnixSetPerms(2850,86988 -int CIFSSMBNotify(2947,90181 -CIFSSMBQAllEAs(2995,91738 -ssize_t CIFSSMBQueryEA(3138,96248 -CIFSSMBSetEA(3285,100938 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/dir.c,285 -renew_parental_timestamps(35,1190 -build_path_from_dentry(46,1486 -build_wildcard_path_from_dentry(106,2969 -cifs_create(170,4561 -int cifs_mknod(335,9430 -cifs_lookup(387,10642 -cifs_dir_open(460,12806 -cifs_d_revalidate(491,13484 -struct dentry_operations cifs_dentry_ops 522,14146 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cifs/md5.c,368 -byteReverse(32,1042 -MD5Init(48,1375 -MD5Update(64,1654 -MD5Final(113,2675 -#define F1(F1157,3859 -#define F2(F2158,3899 -#define F3(F3159,3931 -#define F4(F4160,3963 -#define MD5STEP(MD5STEP163,4052 -MD5Transform(172,4379 -hmac_md5_init_rfc2104(259,7978 -hmac_md5_init_limK_to_64(297,8921 -hmac_md5_update(327,9698 -hmac_md5_final(337,10068 -hmac_md5(354,10567 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_aout.c,759 -static struct linux_binfmt aout_format 38,904 -#define BAD_ADDR(BAD_ADDR46,1101 -static int set_brk(48,1156 -static int dump_write(65,1524 -#define DUMP_WRITE(DUMP_WRITE70,1659 -#define DUMP_SEEK(DUMP_SEEK74,1760 -static int aout_core_dump(90,2311 -# define START_DATA(START_DATA97,2512 -# define START_DATA(START_DATA99,2579 -# define START_DATA(START_DATA101,2670 -# define START_DATA(START_DATA103,2786 -# define START_STACK(START_STACK106,2865 -# define START_STACK(START_STACK108,2948 -static unsigned long __user *create_aout_tables(201,5619 -static int load_aout_binary(264,7236 -static int load_aout_library(449,12334 -static int __init init_aout_binfmt(525,14341 -static void __exit exit_aout_binfmt(530,14426 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/dcookies.c,740 -struct dcookie_struct dcookie_struct30,893 -static kmem_cache_t * dcookie_cache;38,1070 -static struct list_head * dcookie_hashtable;39,1107 -static size_t hash_size;40,1152 -static inline int is_live(42,1178 -static inline unsigned long dcookie_value(49,1318 -static size_t dcookie_hash(55,1431 -static struct dcookie_struct * find_dcookie(61,1542 -static void hash_dcookie(82,1962 -static struct dcookie_struct * alloc_dcookie(89,2137 -int get_dcookie(111,2617 -asmlinkage long sys_lookup_dcookie(145,3126 -static int dcookie_init(200,4071 -static void free_dcookie(254,5102 -static void dcookie_exit(263,5273 -struct dcookie_user dcookie_user285,5719 -struct dcookie_user * dcookie_register(289,5770 -void dcookie_unregister(314,6137 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/vfat/namei.c,1619 -static struct dentry_operations vfat_dentry_ops[34,1151 -static int vfat_revalidate(55,1507 -static unsigned int vfat_striptail_len(77,2072 -static int vfat_hash(93,2484 -static int vfat_hashi(106,2885 -static int vfat_cmpi(127,3342 -static int vfat_cmp(145,3796 -static wchar_t bad_chars[161,4187 -#define IS_BADCHAR(IS_BADCHAR167,4378 -static wchar_t replace_chars[169,4446 -#define IS_REPLACECHAR(IS_REPLACECHAR173,4588 -static wchar_t skip_chars[175,4664 -#define IS_SKIPCHAR(IS_SKIPCHAR179,4739 -static inline wchar_t *vfat_unistrchr(182,4837 -static inline int vfat_is_used_badchars(190,4990 -static int vfat_valid_longname(200,5170 -static int vfat_find_form(227,5825 -struct shortname_info shortname_info261,6864 -#define INIT_SHORTNAME_INFO(INIT_SHORTNAME_INFO266,6949 -shortname_info_to_lcase(273,7095 -static inline int to_shortname_char(288,7451 -static int vfat_create_shortname(338,8389 -xlate_to_uni(520,12775 -static int vfat_build_slots(611,14631 -static int vfat_add_entry(691,16619 -static int vfat_find(757,18263 -static struct dentry *vfat_lookup(782,18886 -static int vfat_create(832,19977 -static void vfat_remove_entry(862,20712 -static int vfat_rmdir(886,21333 -static int vfat_unlink(914,21950 -static int vfat_mkdir(937,22478 -static int vfat_rename(982,23567 -static struct inode_operations vfat_dir_inode_operations 1071,25672 -static int vfat_fill_super(1081,25914 -static struct super_block *vfat_get_sb(1097,26250 -static struct file_system_type vfat_fs_type 1103,26444 -static int __init init_vfat_fs(1111,26623 -static void __exit exit_vfat_fs(1116,26709 -module_init(1125,26895 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_misc.c,1446 - VERBOSE_STATUS 34,826 -static int enabled 38,928 -enum {Enabled,40,953 -enum {Enabled, Magic}40,953 -#define MISC_FMT_PRESERVE_ARGV0 41,976 -#define MISC_FMT_OPEN_BINARY 42,1016 -#define MISC_FMT_CREDENTIALS 43,1053 -} Node;Node55,1441 -static rwlock_t entries_lock 57,1450 -static struct vfsmount *bm_mnt;58,1499 -static int entry_count;59,1531 -static Node *check_file(66,1677 -static int load_misc_binary(104,2345 -static char *scanarg(233,5408 -static int unquote(249,5632 -static inline char * check_special_flags 267,5964 -static Node *create_entry(302,6663 -static int parse_command(423,8850 -static void entry_status(446,9271 -static struct inode *bm_get_inode(502,10371 -static void bm_clear_inode(517,10708 -static void kill_node(522,10790 -bm_entry_read(545,11153 -static ssize_t bm_entry_write(577,11756 -static struct file_operations bm_entry_operations 602,12301 -static ssize_t bm_register_write(609,12428 -static struct file_operations bm_register_operations 670,13533 -bm_status_read(677,13654 -static ssize_t bm_status_write(695,14035 -static struct file_operations bm_status_operations 717,14550 -static struct super_operations s_ops 724,14690 -static int bm_fill_super(729,14794 -static struct super_block *bm_get_sb(742,15158 -static struct linux_binfmt misc_format 748,15340 -static struct file_system_type bm_fs_type 753,15445 -static int __init init_misc_binfmt(760,15598 -static void __exit exit_misc_binfmt(771,15807 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fat/fatfs_syms.c,97 -static int __init init_fat_fs(29,656 -static void __exit exit_fat_fs(35,746 -module_init(40,815 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fat/inode.c,3168 -#define CONFIG_FAT_DEFAULT_IOCHARSET 28,707 -static int fat_default_codepage 31,755 -static char fat_default_iocharset[32,818 -#define FAT_HASH_BITS 61,2086 -#define FAT_HASH_SIZE 62,2110 -#define FAT_HASH_MASK 63,2155 -static struct list_head fat_inode_hashtable[64,2195 -static spinlock_t fat_inode_lock 65,2255 -void fat_hash_init(67,2311 -static inline unsigned long fat_hash(75,2433 -void fat_attach(82,2672 -void fat_detach(91,2914 -struct inode *fat_iget(99,3089 -struct inode *fat_build_inode(123,3684 -static void fat_delete_inode(149,4191 -static void fat_clear_inode(158,4343 -static void fat_put_super(170,4603 -static int fat_show_options(195,5139 - Opt_check_n,258,6869 - Opt_check_n, Opt_check_r,258,6869 - Opt_check_n, Opt_check_r, Opt_check_s,258,6869 - Opt_check_n, Opt_check_r, Opt_check_s, Opt_uid,258,6869 - Opt_check_n, Opt_check_r, Opt_check_s, Opt_uid, Opt_gid,258,6869 - Opt_umask,259,6927 - Opt_umask, Opt_dmask,259,6927 - Opt_umask, Opt_dmask, Opt_fmask,259,6927 - Opt_umask, Opt_dmask, Opt_fmask, Opt_codepage,259,6927 - Opt_umask, Opt_dmask, Opt_fmask, Opt_codepage, Opt_nocase,259,6927 - Opt_quiet,260,6987 - Opt_quiet, Opt_showexec,260,6987 - Opt_quiet, Opt_showexec, Opt_debug,260,6987 - Opt_quiet, Opt_showexec, Opt_debug, Opt_immutable,260,6987 - Opt_dots,261,7039 - Opt_dots, Opt_nodots,261,7039 - Opt_charset,262,7062 - Opt_charset, Opt_shortname_lower,262,7062 - Opt_charset, Opt_shortname_lower, Opt_shortname_win95,262,7062 - Opt_shortname_winnt,263,7118 - Opt_shortname_winnt, Opt_shortname_mixed,263,7118 - Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no,263,7118 - Opt_shortname_winnt, Opt_shortname_mixed, Opt_utf8_no, Opt_utf8_yes,263,7118 - Opt_uni_xl_no,264,7188 - Opt_uni_xl_no, Opt_uni_xl_yes,264,7188 - Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no,264,7188 - Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes,264,7188 - Opt_obsolate,265,7257 - Opt_obsolate, Opt_err,265,7257 -static match_table_t fat_tokens 268,7285 -static match_table_t msdos_tokens 299,8141 -static match_table_t vfat_tokens 306,8300 -static int parse_options(336,9431 -static int fat_calc_dir_size(515,13637 -static int fat_read_root(532,13988 -fat_decode_fh(586,15864 -static struct dentry *fat_get_dentry(598,16191 -fat_encode_fh(659,17684 -static struct dentry *fat_get_parent(682,18277 -static kmem_cache_t *fat_inode_cachep;719,18907 -static struct inode *fat_alloc_inode(721,18947 -static void fat_destroy_inode(730,19174 -static void init_once(735,19282 -int __init fat_init_inodecache(746,19593 -void __exit fat_destroy_inodecache(757,19858 -static int fat_remount(763,20019 -static struct super_operations fat_sops 769,20132 -static struct export_operations fat_export_ops 784,20501 -int fat_fill_super(794,20724 -static int fat_statfs(1080,28658 -static int is_exec(1115,29458 -static int fat_writepage(1125,29669 -static int fat_readpage(1129,29804 -fat_prepare_write(1135,29932 -fat_commit_write(1144,30150 -static sector_t _fat_bmap(1151,30308 -static struct address_space_operations fat_aops 1155,30442 -static int fat_fill_inode(1165,30711 -int fat_write_inode(1235,33114 -int fat_notify_change(1289,34623 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fat/cache.c,366 -int __fat_access(15,343 -int fat_access(112,3099 -void fat_cache_init(133,3516 -fat_cache_lookup(150,3948 -static void list_cache(191,4846 -static void __fat_cache_inval_inode(212,5330 -void fat_cache_inval_inode(222,5653 -void fat_cache_add(230,5853 -int fat_get_cluster(293,7240 -static int fat_bmap_cluster(335,8280 -int fat_bmap(354,8712 -int fat_free(387,9666 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fat/file.c,201 -struct file_operations fat_file_operations 17,369 -struct inode_operations fat_file_inode_operations 28,661 -int fat_get_block(33,777 -static ssize_t fat_file_write(72,1664 -void fat_truncate(87,2050 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fat/misc.c,327 -static char panic_msg[18,466 -void fat_fs_panic(20,495 -void lock_fat(39,933 -void unlock_fat(44,1010 -void fat_clusters_flush(51,1210 -int fat_add_cluster(88,2215 -struct buffer_head *fat_extend_dir(174,4281 -static int day_n[218,5432 -int date_dos2unix(227,5677 -void fat_date_unix2dos(246,6235 -int fat__get_entry(286,7559 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fat/dir.c,608 -struct file_operations fat_dir_operations 29,887 -uni16_to_x8(47,1557 -static void dump_de(87,2233 -fat_short2uni(101,2451 -fat_short2lower_uni(114,2698 -fat_shortname2uni(140,3195 -int fat_search_long(164,3927 -static int fat_readdirx(328,8203 -static int fat_readdir(574,14118 -struct fat_ioctl_filldir_callback fat_ioctl_filldir_callback580,14304 -static int fat_ioctl_filldir(585,14388 -static int fat_dir_ioctl(631,15592 -int fat_add_entries(678,16648 -int fat_new_dir(717,17490 -static int fat_get_short_entry(752,18518 -int fat_dir_empty(765,18910 -int fat_subdirs(789,19424 -int fat_scan(810,19831 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/compr_rtime.c,190 -int jffs2_rtime_compress(32,844 -int jffs2_rtime_decompress(72,1683 -static struct jffs2_compressor jffs2_rtime_comp 107,2456 -int jffs2_rtime_init(120,2764 -void jffs2_rtime_exit(125,2853 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/background.c,187 -void jffs2_garbage_collect_trigger(24,508 -int jffs2_start_garbage_collect_thread(33,832 -void jffs2_stop_garbage_collect_thread(58,1411 -static int jffs2_garbage_collect_thread(69,1733 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/scan.c,867 -#define EMPTY_SCAN_SIZE 22,501 -#define DIRTY_SPACE(DIRTY_SPACE24,531 -#define USED_SPACE(USED_SPACE28,688 -#define UNCHECKED_SPACE(UNCHECKED_SPACE32,842 -#define noisy_printk(noisy_printk37,1012 -static uint32_t pseudo_random;47,1264 -#define BLK_STATE_ALLFF 61,1908 -#define BLK_STATE_CLEAN 62,1935 -#define BLK_STATE_PARTDIRTY 63,1962 -#define BLK_STATE_CLEANMARKER 64,1992 -#define BLK_STATE_ALLDIRTY 65,2024 -#define BLK_STATE_BADBLOCK 66,2053 -static inline int min_free(68,2083 -int jffs2_scan_medium(78,2327 -static int jffs2_fill_scan_buf 259,8589 -static int jffs2_scan_eraseblock 280,9360 -static struct jffs2_inode_cache *jffs2_scan_make_ino_cache(636,21652 -static int jffs2_scan_inode_node(662,22195 -static int jffs2_scan_dirent_node(733,24745 -static int count_list(811,27282 -static void rotate_list(824,27549 -void jffs2_rotate_lists(835,27727 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/readinode.c,465 -static void jffs2_print_fragtree(26,652 -void jffs2_print_frag_list(51,1523 -static int jffs2_sanitycheck_fragtree(60,1722 -static void jffs2_obsolete_node_frag(121,3974 -int jffs2_add_full_dnode_to_inode(145,4862 -static int jffs2_add_frag_to_fragtree(203,6493 -void jffs2_truncate_fraglist 378,12965 -int jffs2_do_read_inode(408,13988 -int jffs2_do_crccheck_inode(475,16218 -static int jffs2_do_read_inode_internal(497,16644 -void jffs2_do_clear_inode(665,22486 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/wbuf.c,1118 -static unsigned char *brokenbuf;28,664 -#define MAX_ERASE_FAILURES 32,758 -#define WBUF_FLUSH_TIMEOUT 35,839 -struct jffs2_inodirty jffs2_inodirty37,874 -static struct jffs2_inodirty inodirty_nomem;42,947 -static int jffs2_wbuf_pending_for_ino(44,993 -static void jffs2_clear_wbuf_ino_list(65,1459 -static void jffs2_wbuf_dirties_inode(81,1740 -static inline void jffs2_refile_wbuf_blocks(104,2308 -static void jffs2_wbuf_recover(136,3481 -static int __jffs2_flush_wbuf(395,11285 -int jffs2_flush_wbuf_gc(507,15046 -int jffs2_flush_wbuf_pad(553,16196 -#define PAGE_DIV(PAGE_DIV559,16286 -#define PAGE_MOD(PAGE_MOD560,16342 -int jffs2_flash_writev(561,16395 -int jffs2_flash_write(770,22483 -int jffs2_flash_read(785,22892 -int jffs2_check_oob_empty(844,24782 -int jffs2_check_nand_cleanmarker 913,26639 -int jffs2_write_nand_cleanmarker(974,28586 -int jffs2_write_nand_badblock(1005,29636 -#define NAND_JFFS2_OOB16_FSDALEN 1026,30275 -static struct nand_oobinfo jffs2_oobinfo_docecc 1028,30311 -int jffs2_nand_set_oobinfo(1035,30439 -int jffs2_nand_flash_setup(1077,31689 -void jffs2_nand_flash_cleanup(1104,32182 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/nodemgmt.c,357 -int jffs2_reserve_space(43,1415 -int jffs2_reserve_space_gc(143,5496 -static int jffs2_do_reserve_space(162,6067 -int jffs2_add_physical_node_ref(301,11333 -void jffs2_complete_reservation(358,12965 -static inline int on_list(365,13140 -void jffs2_mark_node_obsolete(379,13377 -void jffs2_dump_block_lists(555,20494 -int jffs2_thread_should_wake(712,27378 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/malloc.c,1272 -#define JFFS2_SLAB_POISON 21,423 -#define JFFS2_SLAB_POISON 23,467 -#define D3(D327,559 -static kmem_cache_t *full_dnode_slab;31,694 -static kmem_cache_t *raw_dirent_slab;32,732 -static kmem_cache_t *raw_inode_slab;33,770 -static kmem_cache_t *tmp_dnode_info_slab;34,807 -static kmem_cache_t *raw_node_ref_slab;35,849 -static kmem_cache_t *node_frag_slab;36,889 -static kmem_cache_t *inode_cache_slab;37,926 -int __init jffs2_create_slab_caches(39,966 -void jffs2_destroy_slab_caches(87,2329 -struct jffs2_full_dirent *jffs2_alloc_full_dirent(105,2801 -void jffs2_free_full_dirent(110,2944 -struct jffs2_full_dnode *jffs2_alloc_full_dnode(115,3017 -void jffs2_free_full_dnode(122,3227 -struct jffs2_raw_dirent *jffs2_alloc_raw_dirent(128,3381 -void jffs2_free_raw_dirent(135,3585 -struct jffs2_raw_inode *jffs2_alloc_raw_inode(141,3739 -void jffs2_free_raw_inode(148,3944 -struct jffs2_tmp_dnode_info *jffs2_alloc_tmp_dnode_info(154,4094 -void jffs2_free_tmp_dnode_info(161,4324 -struct jffs2_raw_node_ref *jffs2_alloc_raw_node_ref(167,4494 -void jffs2_free_raw_node_ref(174,4714 -struct jffs2_node_frag *jffs2_alloc_node_frag(180,4876 -void jffs2_free_node_frag(187,5081 -struct jffs2_inode_cache *jffs2_alloc_inode_cache(193,5231 -void jffs2_free_inode_cache(200,5446 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/pushpull.h,248 -#define __PUSHPULL_H__15,320 -struct pushpull pushpull19,370 -static inline void init_pushpull(27,478 -static inline int pushbit(35,675 -static inline int pushedbits(52,988 -static inline int pullbit(57,1060 -static inline int pulledbits(67,1206 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/erase.c,412 -struct erase_priv_struct erase_priv_struct23,500 -void jffs2_erase_block(36,1055 -void jffs2_erase_pending_blocks(103,3077 -static void jffs2_erase_succeeded(157,4600 -static void jffs2_erase_failed(168,5026 -static void jffs2_erase_callback(199,6111 -static inline void jffs2_remove_node_refs_from_ino_list(215,6665 -static void jffs2_free_all_node_refs(285,8405 -static void jffs2_mark_erased_block(303,8964 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/nodelist.h,2882 -#define __JFFS2_NODELIST_H__15,330 -#define CONFIG_JFFS2_FS_DEBUG 32,689 -#define D1(D136,759 -#define D1(D138,781 -#define D2(D242,833 -#define D2(D244,855 -#define JFFS2_NATIVE_ENDIAN47,877 -#define cpu_to_je16(cpu_to_je1653,1065 -#define cpu_to_je32(cpu_to_je3254,1104 -#define cpu_to_jemode(cpu_to_jemode55,1143 -#define je16_to_cpu(je16_to_cpu57,1202 -#define je32_to_cpu(je32_to_cpu58,1235 -#define jemode_to_cpu(jemode_to_cpu59,1268 -#define cpu_to_je16(cpu_to_je1661,1351 -#define cpu_to_je32(cpu_to_je3262,1403 -#define cpu_to_jemode(cpu_to_jemode63,1455 -#define je16_to_cpu(je16_to_cpu65,1527 -#define je32_to_cpu(je32_to_cpu66,1571 -#define jemode_to_cpu(jemode_to_cpu67,1615 -#define cpu_to_je16(cpu_to_je1669,1714 -#define cpu_to_je32(cpu_to_je3270,1766 -#define cpu_to_jemode(cpu_to_jemode71,1818 -#define je16_to_cpu(je16_to_cpu73,1890 -#define je32_to_cpu(je32_to_cpu74,1934 -#define jemode_to_cpu(jemode_to_cpu75,1978 -struct jffs2_raw_node_refjffs2_raw_node_ref87,2393 -#define REF_UNCHECKED 101,3021 -#define REF_OBSOLETE 102,3101 -#define REF_PRISTINE 103,3166 -#define REF_NORMAL 104,3232 -#define ref_flags(ref_flags105,3316 -#define ref_offset(ref_offset106,3366 -#define ref_obsolete(ref_obsolete107,3418 -#define mark_ref_normal(mark_ref_normal108,3488 -struct jffs2_raw_node_ref_list jffs2_raw_node_ref_list115,3771 -struct jffs2_inode_cache jffs2_inode_cache127,4310 -#define INO_STATE_UNCHECKED 142,4837 -#define INO_STATE_CHECKING 143,4897 -#define INO_STATE_PRESENT 144,4955 -#define INO_STATE_CHECKEDABSENT 145,4997 -#define INO_STATE_GC 146,5060 -#define INO_STATE_READING 147,5114 -#define INOCACHE_HASHSIZE 149,5165 -struct jffs2_scan_info jffs2_scan_info151,5196 -struct jffs2_full_dnodejffs2_full_dnode163,5490 -struct jffs2_tmp_dnode_infojffs2_tmp_dnode_info179,5937 -struct jffs2_full_direntjffs2_full_dirent186,6063 -struct jffs2_node_fragjffs2_node_frag200,6390 -struct jffs2_eraseblockjffs2_eraseblock208,6570 -#define ACCT_SANITY_CHECK(ACCT_SANITY_CHECK234,7370 -static inline void paranoia_failed_dump(250,8439 -#define ACCT_PARANOIA_CHECK(ACCT_PARANOIA_CHECK267,8755 -static inline uint32_t __ref_totlen(303,10247 -static inline uint32_t ref_totlen(322,10724 -#define ALLOC_NORMAL 353,11615 -#define ALLOC_DELETION 354,11662 -#define ALLOC_GC 355,11725 -#define ALLOC_NORETRY 356,11789 -#define VERYDIRTY(VERYDIRTY359,11955 -#define ISDIRTY(ISDIRTY362,12067 -#define PAD(PAD364,12156 -static inline struct jffs2_inode_cache *jffs2_raw_ref_to_ic(366,12185 -static inline struct jffs2_node_frag *frag_first(375,12382 -#define rb_parent(rb_parent385,12622 -#define frag_next(frag_next386,12662 -#define frag_prev(frag_prev387,12745 -#define frag_parent(frag_parent388,12828 -#define frag_left(frag_left389,12915 -#define frag_right(frag_right390,12996 -#define frag_erase(frag_erase391,13079 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/ioctl.c,24 -int jffs2_ioctl(16,316 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/comprtest.c,245 -#define TESTDATA_LEN 8,169 -static unsigned char testdata[9,194 -#define TESTDATA_LEN 43,3353 -static unsigned char testdata[44,3379 -static unsigned char comprbuf[265,24540 -static unsigned char decomprbuf[266,24585 -int init_module(273,24904 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/os-linux.h,2877 -#define __JFFS2_OS_LINUX_H__15,326 -#define os_to_jffs2_mode(os_to_jffs2_mode19,451 -#define jffs2_to_os_mode(jffs2_to_os_mode20,483 -#define kstatfs 23,564 -#define JFFS2_INODE_INFO(JFFS2_INODE_INFO30,672 -#define OFNI_EDONI_2SFFJ(OFNI_EDONI_2SFFJ31,752 -#define JFFS2_SB_INFO(JFFS2_SB_INFO32,799 -#define OFNI_BS_2SFFJ(OFNI_BS_2SFFJ33,841 -#define JFFS2_INODE_INFO(JFFS2_INODE_INFO35,937 -#define OFNI_EDONI_2SFFJ(OFNI_EDONI_2SFFJ36,1003 -#define JFFS2_SB_INFO(JFFS2_SB_INFO37,1109 -#define OFNI_BS_2SFFJ(OFNI_BS_2SFFJ38,1171 -#define JFFS2_INODE_INFO(JFFS2_INODE_INFO40,1292 -#define OFNI_EDONI_2SFFJ(OFNI_EDONI_2SFFJ41,1336 -#define JFFS2_SB_INFO(JFFS2_SB_INFO42,1442 -#define OFNI_BS_2SFFJ(OFNI_BS_2SFFJ43,1486 -#define JFFS2_F_I_SIZE(JFFS2_F_I_SIZE47,1610 -#define JFFS2_F_I_MODE(JFFS2_F_I_MODE48,1666 -#define JFFS2_F_I_UID(JFFS2_F_I_UID49,1722 -#define JFFS2_F_I_GID(JFFS2_F_I_GID50,1776 -#define JFFS2_F_I_RDEV_MIN(JFFS2_F_I_RDEV_MIN53,1878 -#define JFFS2_F_I_RDEV_MAJ(JFFS2_F_I_RDEV_MAJ54,1938 -#define JFFS2_F_I_RDEV_MIN(JFFS2_F_I_RDEV_MIN56,2004 -#define JFFS2_F_I_RDEV_MAJ(JFFS2_F_I_RDEV_MAJ57,2082 -#define ITIME(ITIME62,2275 -#define I_SEC(I_SEC63,2322 -#define JFFS2_F_I_CTIME(JFFS2_F_I_CTIME64,2354 -#define JFFS2_F_I_MTIME(JFFS2_F_I_MTIME65,2419 -#define JFFS2_F_I_ATIME(JFFS2_F_I_ATIME66,2484 -#define ITIME(ITIME68,2555 -#define I_SEC(I_SEC69,2576 -#define JFFS2_F_I_CTIME(JFFS2_F_I_CTIME70,2597 -#define JFFS2_F_I_MTIME(JFFS2_F_I_MTIME71,2655 -#define JFFS2_F_I_ATIME(JFFS2_F_I_ATIME72,2713 -#define sleep_on_spinunlock(sleep_on_spinunlock75,2779 -static inline void jffs2_init_inode_info(85,3052 -#define jffs2_is_readonly(jffs2_is_readonly100,3364 -#define jffs2_can_mark_obsolete(jffs2_can_mark_obsolete103,3463 -#define jffs2_cleanmarker_oob(jffs2_cleanmarker_oob104,3502 -#define jffs2_write_nand_cleanmarker(jffs2_write_nand_cleanmarker105,3539 -#define jffs2_flash_write(jffs2_flash_write107,3591 -#define jffs2_flash_read(jffs2_flash_read108,3694 -#define jffs2_flush_wbuf_pad(jffs2_flush_wbuf_pad109,3795 -#define jffs2_flush_wbuf_gc(jffs2_flush_wbuf_gc110,3847 -#define jffs2_write_nand_badblock(jffs2_write_nand_badblock111,3911 -#define jffs2_nand_flash_setup(jffs2_nand_flash_setup112,3967 -#define jffs2_nand_flash_cleanup(jffs2_nand_flash_cleanup113,4005 -#define jffs2_wbuf_dirty(jffs2_wbuf_dirty114,4056 -#define jffs2_flash_writev(jffs2_flash_writev115,4088 -#define jffs2_wbuf_timeout 116,4165 -#define jffs2_wbuf_process 117,4197 -#define jffs2_can_mark_obsolete(jffs2_can_mark_obsolete121,4264 -#define jffs2_cleanmarker_oob(jffs2_cleanmarker_oob122,4357 -#define jffs2_flash_write_oob(jffs2_flash_write_oob124,4423 -#define jffs2_flash_read_oob(jffs2_flash_read_oob125,4534 -#define jffs2_wbuf_dirty(jffs2_wbuf_dirty126,4643 -static inline void jffs2_erase_pending_trigger(143,5646 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/compr.h,511 -#define __JFFS2_COMPR_H__15,349 -#define JFFS2_RUBINMIPS_PRIORITY 30,684 -#define JFFS2_DYNRUBIN_PRIORITY 31,720 -#define JFFS2_LZARI_PRIORITY 32,756 -#define JFFS2_LZO_PRIORITY 33,792 -#define JFFS2_RTIME_PRIORITY 34,828 -#define JFFS2_ZLIB_PRIORITY 35,864 -#define JFFS2_RUBINMIPS_DISABLED 37,901 -#define JFFS2_DYNRUBIN_DISABLED 38,965 -#define JFFS2_COMPR_MODE_NONE 40,1030 -#define JFFS2_COMPR_MODE_PRIORITY 41,1068 -#define JFFS2_COMPR_MODE_SIZE 42,1106 -struct jffs2_compressor jffs2_compressor47,1227 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/histo_mips.h,57 -#define BIT_DIVIDER_MIPS 1,0 -static int bits_mips[2,31 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/compr_rubin.c,743 -static void init_rubin(22,451 -static int encode(35,683 -static void end_rubin(70,1237 -static void init_decode(83,1448 -static void __do_decode(94,1710 -static int decode(130,2476 -static int out_byte(161,2954 -static int in_byte(179,3286 -static int rubin_do_compress(191,3499 -int jffs2_rubinmips_compress(225,4267 -int jffs2_dynrubin_compress(231,4510 -static void rubin_do_decompress(294,5716 -int jffs2_rubinmips_decompress(309,6076 -int jffs2_dynrubin_decompress(316,6326 -static struct jffs2_compressor jffs2_rubinmips_comp 329,6630 -int jffs2_rubinmips_init(342,6975 -void jffs2_rubinmips_exit(347,7072 -static struct jffs2_compressor jffs2_dynrubin_comp 352,7165 -int jffs2_dynrubin_init(365,7494 -void jffs2_dynrubin_exit(370,7589 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/compr_rubin.h,133 -#define RUBIN_REG_SIZE 8,210 -#define UPPER_BIT_RUBIN 9,238 -#define LOWER_BITS_RUBIN 10,298 -struct rubin_state rubin_state13,364 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/compr.c,863 -static spinlock_t jffs2_compressor_list_lock 18,431 -static int jffs2_compression_mode 24,616 -void jffs2_set_compression_mode(26,680 -int jffs2_get_compression_mode(31,767 -static uint32_t none_stat_compr_blocks=37,903 -uint16_t jffs2_compress(57,1903 -int jffs2_decompress(176,7561 -int jffs2_register_compressor(218,9320 -int jffs2_unregister_compressor(254,10520 -#define JFFS2_STAT_BUF_SIZE 278,11290 -char *jffs2_list_compressors(280,11325 -char *jffs2_stats(297,11944 -char *jffs2_get_compression_mode_name(325,13190 -int jffs2_set_compression_mode_name(338,13526 -static int jffs2_compressor_Xable(355,14020 -int jffs2_enable_compressor_name(371,14635 -int jffs2_disable_compressor_name(376,14739 -int jffs2_set_compressor_priority(381,14844 -void jffs2_free_comprbuf(414,16054 -int jffs2_compressors_init(420,16193 -int jffs2_compressors_exit(454,17076 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/histo.h,48 -#define BIT_DIVIDER 2,66 -static int bits[3,91 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/read.c,96 -int jffs2_read_dnode(23,493 -int jffs2_read_inode_range(155,4634 -char *jffs2_getlink(218,7005 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/writev.c,81 -static inline int mtd_fake_writev(21,514 -int jffs2_flash_direct_writev(42,1000 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/build.c,322 -first_inode_chain(22,562 -next_inode(32,778 -#define for_each_inode(for_each_inode41,960 -static inline void jffs2_build_inode_pass1(47,1099 -static int jffs2_build_filesystem(86,2533 -static void jffs2_build_remove_unlinked_inode(175,4918 -static void jffs2_calc_trigger_levels(242,7011 -int jffs2_do_mount_fs(294,9467 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/write.c,300 -int jffs2_do_new_inode(24,488 -static void writecheck(59,1468 -struct jffs2_full_dnode *jffs2_write_dnode(89,2422 -struct jffs2_full_dirent *jffs2_write_dirent(231,6936 -int jffs2_write_inode_range(349,10564 -int jffs2_do_create(446,13638 -int jffs2_do_unlink(540,16251 -int jffs2_do_link 651,19376 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/compr_zlib.c,486 -#define STREAM_END_SPACE 34,909 -static z_stream inf_strm,38,1008 -static z_stream inf_strm, def_strm;38,1008 -static int __init alloc_workspaces(44,1132 -static void free_workspaces(62,1854 -#define alloc_workspaces(alloc_workspaces68,1954 -#define free_workspaces(free_workspaces69,1985 -int jffs2_zlib_compress(72,2052 -int jffs2_zlib_decompress(138,3958 -static struct jffs2_compressor jffs2_zlib_comp 186,5202 -int __init jffs2_zlib_init(199,5503 -void jffs2_zlib_exit(214,5731 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/nodelist.c,593 -void jffs2_add_fd_to_list(24,522 -static void jffs2_add_tn_to_list(61,1827 -static void jffs2_free_tmp_dnode_info_list(72,2104 -static void jffs2_free_full_dirent_list(84,2339 -int jffs2_get_inode_nodes(99,2667 -void jffs2_set_inocache_state(447,15532 -struct jffs2_inode_cache *jffs2_get_ino_cache(460,16021 -void jffs2_add_ino_cache 478,16452 -void jffs2_del_ino_cache(495,16888 -void jffs2_free_ino_caches(513,17337 -void jffs2_free_raw_node_refs(530,17731 -struct jffs2_node_frag *jffs2_lookup_node_frag(546,18069 -void jffs2_kill_fragtree(595,19779 -void jffs2_fragtree_insert(646,21043 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/super.c,681 -static kmem_cache_t *jffs2_inode_cachep;32,714 -static struct inode *jffs2_alloc_inode(34,756 -static void jffs2_destroy_inode(43,987 -static void jffs2_i_init_once(48,1108 -static struct super_operations jffs2_super_operations 59,1422 -static int jffs2_sb_compare(72,1784 -static int jffs2_sb_set(89,2364 -static struct super_block *jffs2_get_sb_mtd(103,2704 -static struct super_block *jffs2_get_sb_mtdnr(154,3821 -static struct super_block *jffs2_get_sb(169,4235 -static void jffs2_put_super 256,6684 -static void jffs2_kill_sb(278,7211 -static struct file_system_type jffs2_fs_type 286,7377 -static int __init init_jffs2_fs(293,7524 -static void __exit exit_jffs2_fs(337,8573 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/fs.c,579 -static int jffs2_do_setattr 28,591 -int jffs2_setattr(178,5562 -int jffs2_statfs(183,5679 -void jffs2_clear_inode 213,6347 -void jffs2_read_inode 226,6739 -void jffs2_dirty_inode(321,9203 -int jffs2_remount_fs 343,9836 -void jffs2_write_super 369,10516 -struct inode *jffs2_new_inode 386,10945 -int jffs2_do_fill_super(442,12282 -void jffs2_gc_release_inode(545,15034 -struct jffs2_inode_info *jffs2_gc_fetch_inode(551,15155 -unsigned char *jffs2_gc_fetch_page(614,17226 -void jffs2_gc_release_page(631,17653 -int jffs2_flash_setup(641,17836 -void jffs2_flash_cleanup(655,18110 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/file.c,396 -extern int generic_file_open(25,543 -struct file_operations jffs2_file_operations 40,1020 -struct inode_operations jffs2_file_inode_operations 56,1403 -struct address_space_operations jffs2_file_address_operations 61,1489 -int jffs2_do_readpage_nolock 68,1662 -int jffs2_do_readpage_unlock(100,2423 -int jffs2_readpage 108,2575 -int jffs2_prepare_write 119,2814 -int jffs2_commit_write 201,5471 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/gc.c,468 -static struct jffs2_eraseblock *jffs2_find_gc_block(43,1769 -int jffs2_garbage_collect_pass(114,4670 -static int jffs2_garbage_collect_live(392,13384 -static int jffs2_garbage_collect_pristine(485,16060 -static int jffs2_garbage_collect_metadata(652,21291 -static int jffs2_garbage_collect_dirent(733,24085 -static int jffs2_garbage_collect_deletion_dirent(771,25477 -static int jffs2_garbage_collect_hole(880,29217 -static int jffs2_garbage_collect_dnode(1019,34247 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/symlink.c,135 -struct inode_operations jffs2_symlink_inode_operations 24,567 -static int jffs2_follow_link(32,752 -static void jffs2_put_link(40,981 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jffs2/dir.c,638 -typedef int mknod_arg_t;mknod_arg_t28,685 -#define NAMEI_COMPAT(NAMEI_COMPAT29,710 -typedef dev_t mknod_arg_t;mknod_arg_t31,752 -#define NAMEI_COMPAT(NAMEI_COMPAT32,779 -struct file_operations jffs2_dir_operations 50,1570 -struct inode_operations jffs2_dir_inode_operations 59,1723 -static struct dentry *jffs2_lookup(80,2287 -static int jffs2_readdir(124,3440 -static int jffs2_create(183,5050 -static int jffs2_unlink(240,6471 -static int jffs2_link 256,6998 -static int jffs2_symlink 289,7958 -static int jffs2_mkdir 424,11541 -static int jffs2_rmdir 552,14755 -static int jffs2_mknod 568,15098 -static int jffs2_rename 709,18723 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_flat.c,872 -#define DEBUG 49,1402 -#define DBG_FLT(DBG_FLT53,1439 -#define DBG_FLT(DBG_FLT55,1477 -#define RELOC_FAILED 58,1507 -#define UNLOADED_LIB 59,1577 -struct lib_info lib_info61,1648 -static struct linux_binfmt flat_format 82,2435 -static int flat_core_dump(95,2782 -static unsigned long create_flat_tables(109,3288 -#define LBUFSIZE 160,4453 -#define ASCII_FLAG 163,4497 -#define CONTINUATION 164,4565 -#define EXTRA_FIELD 165,4645 -#define ORIG_NAME 166,4708 -#define COMMENT 167,4778 -#define ENCRYPTED 168,4842 -#define RESERVED 169,4903 -static int decompress_exec(171,4956 -calc_reloc(304,7944 -void old_reloc(374,9942 -static int load_flat_file(417,10966 -static int load_flat_shared_library(766,22473 -static int load_flat_binary(802,23298 -#define TOP_OF_ARGS 820,23860 -static int __init init_flat_binfmt(886,25948 -static void __exit exit_flat_binfmt(891,26033 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/devfs.c,369 -struct unique_numspace unique_numspace12,242 -static int expand_numspace(21,474 -static int alloc_unique_number(47,903 -static void dealloc_unique_number(64,1211 -static struct unique_numspace disc_numspace;77,1459 -static struct unique_numspace cdrom_numspace;78,1504 -void devfs_add_partitioned(80,1551 -void devfs_add_disk(97,1974 -void devfs_remove_disk(116,2460 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/ldm.h,1866 -#define _FS_PT_LDM_H_27,1114 -#define MAGIC_VMDB 39,1350 -#define MAGIC_VBLK 40,1392 -#define MAGIC_PRIVHEAD 41,1434 -#define MAGIC_TOCBLOCK 42,1494 -#define VBLK_VOL5 45,1585 -#define VBLK_CMP3 46,1638 -#define VBLK_PRT3 47,1691 -#define VBLK_DSK3 48,1744 -#define VBLK_DSK4 49,1797 -#define VBLK_DGR3 50,1850 -#define VBLK_DGR4 51,1903 -#define VBLK_FLAG_COMP_STRIPE 54,2019 -#define VBLK_FLAG_PART_INDEX 55,2054 -#define VBLK_FLAG_DGR3_IDS 56,2088 -#define VBLK_FLAG_DGR4_IDS 57,2120 -#define VBLK_FLAG_VOLU_ID1 58,2152 -#define VBLK_FLAG_VOLU_ID2 59,2184 -#define VBLK_FLAG_VOLU_SIZE 60,2216 -#define VBLK_FLAG_VOLU_DRIVE 61,2249 -#define VBLK_SIZE_HEAD 64,2320 -#define VBLK_SIZE_CMP3 65,2347 -#define VBLK_SIZE_DGR3 66,2398 -#define VBLK_SIZE_DGR4 67,2425 -#define VBLK_SIZE_DSK3 68,2452 -#define VBLK_SIZE_DSK4 69,2479 -#define VBLK_SIZE_PRT3 70,2506 -#define VBLK_SIZE_VOL5 71,2533 -#define COMP_STRIPE 74,2583 -#define COMP_BASIC 75,2627 -#define COMP_RAID 76,2670 -#define LDM_DB_SIZE 79,2734 -#define OFF_PRIV1 81,2794 -#define OFF_PRIV2 86,2981 -#define OFF_PRIV3 87,3036 -#define OFF_TOCB1 89,3061 -#define OFF_TOCB2 90,3109 -#define OFF_TOCB3 91,3130 -#define OFF_TOCB4 92,3154 -#define OFF_VMDB 94,3179 -#define WIN2K_DYNAMIC_PARTITION 96,3228 -#define TOC_BITMAP1 98,3296 -#define TOC_BITMAP2 99,3357 -#define BE16(BE16102,3486 -#define BE32(BE32103,3552 -#define BE64(BE64104,3618 -#define SYS_IND(SYS_IND107,3713 -struct frag frag109,3765 -#define GUID_SIZE 120,4033 -struct privhead privhead122,4056 -struct tocblock tocblock132,4262 -struct vmdb vmdb141,4443 -struct vblk_comp vblk_comp149,4582 -struct vblk_dgrp vblk_dgrp157,4699 -struct vblk_disk vblk_disk161,4763 -struct vblk_part vblk_part166,4847 -struct vblk_volu vblk_volu175,5022 -struct vblk_head vblk_head184,5172 -struct vblk vblk190,5257 -struct ldmdb ldmdb206,5531 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/acorn.c,853 -#define PARTITION_RISCIX_MFM 25,666 -#define PARTITION_RISCIX_SCSI 26,697 -#define PARTITION_LINUX 27,729 -adfs_partition(30,789 -struct riscix_part riscix_part55,1360 -struct riscix_record riscix_record62,1445 -#define RISCIX_MAGIC 64,1483 -riscix_partition(70,1586 -#define LINUX_NATIVE_MAGIC 110,2471 -#define LINUX_SWAP_MAGIC 111,2509 -struct linux_part linux_part113,2548 -linux_partition(120,2636 -adfspart_check_CUMANA(153,3446 -adfspart_check_ADFS(245,5611 -struct ics_part ics_part308,7059 -static int adfspart_check_ICSLinux(313,7110 -static inline int valid_ics_sector(331,7465 -adfspart_check_ICS(355,8052 -struct ptec_part ptec_part414,9304 -static inline int valid_ptec_sector(423,9422 -adfspart_check_POWERTEC(452,10121 -struct eesox_part eesox_part486,10765 -static const char eesox_name[498,10928 -adfspart_check_EESOX(514,11415 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/sgi.c,151 -struct sgi_disklabel sgi_disklabel10,118 - struct sgi_volume sgi_volume16,407 - struct sgi_partition sgi_partition21,572 -int sgi_partition(30,839 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/atari.h,80 -struct partition_infopartition_info14,366 -struct rootsectorrootsector22,577 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/amiga.c,47 -checksum_block(17,291 -amiga_partition(27,408 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/ibm.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/check.h,96 -enum { MAX_PART 8,148 -struct parsed_partitions parsed_partitions10,174 -put_partition(22,351 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/check.c,1170 -int warn_no_part 43,904 -static int (*check_part[45,985 -static int (*check_part[])(struct parsed_partitions 45,985 -static int (*check_part[])(struct parsed_partitions *, struct block_device 45,985 -char *disk_name(119,2720 -const char *bdevname(131,3049 -const char *__bdevname(144,3397 -check_partition(154,3615 -struct part_attribute part_attribute195,4523 -part_attr_show(201,4636 -static struct sysfs_ops part_sysfs_ops 211,4953 -static ssize_t part_dev_read(215,5025 -static ssize_t part_start_read(221,5263 -static ssize_t part_size_read(225,5399 -static ssize_t part_stat_read(229,5532 -static struct part_attribute part_attr_dev 235,5762 -static struct part_attribute part_attr_start 239,5879 -static struct part_attribute part_attr_size 243,6002 -static struct part_attribute part_attr_stat 247,6122 -static struct attribute * default_attrs[252,6243 -static void part_release(262,6431 -struct kobj_type ktype_part 268,6560 -void delete_partition(274,6686 -void add_partition(289,7049 -static void disk_sysfs_symlinks(316,7755 -void register_disk(326,8044 -int rescan_partitions(382,9232 -unsigned char *read_dev_sector(414,10017 -void del_gendisk(438,10643 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/osf.c,103 -int osf_partition(13,204 - struct disklabel disklabel19,343 - struct d_partition d_partition41,890 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/ldm.c,1494 - FALSE 34,1238 - TRUE 35,1250 -} BOOL;BOOL36,1261 -#define ldm_debug(ldm_debug47,1614 -#define ldm_debug(ldm_debug49,1659 -#define ldm_crit(ldm_crit52,1741 -#define ldm_error(ldm_error53,1815 -#define ldm_info(ldm_info54,1889 -__attribute__ 56,1964 -static int ldm_parse_hexbyte 80,2576 -static BOOL ldm_parse_guid 109,3401 -static BOOL ldm_parse_privhead 138,4249 -static BOOL ldm_parse_tocblock 195,6176 -static BOOL ldm_parse_vmdb 241,7808 -static BOOL ldm_compare_privheads 276,8693 -static BOOL ldm_compare_tocblocks 300,9433 -static BOOL ldm_validate_privheads 329,10439 -static BOOL ldm_validate_tocblocks 417,12840 -static BOOL ldm_validate_vmdb 488,14750 -static BOOL ldm_validate_partition_table 553,16551 -static struct vblk * ldm_get_disk_objid 599,17644 -static BOOL ldm_create_data_partitions 631,18635 -static int ldm_relative 682,19927 -static u64 ldm_get_vnum 709,20778 -static int ldm_get_vstr 744,21723 -static BOOL ldm_parse_cmp3 772,22443 -static int ldm_parse_dgr3 823,24036 -static BOOL ldm_parse_dgr4 867,25238 -static BOOL ldm_parse_dsk3 911,26347 -static BOOL ldm_parse_dsk4 950,27467 -static BOOL ldm_parse_prt3 983,28356 -static BOOL ldm_parse_vol5 1035,29958 -static BOOL ldm_parse_vblk 1106,32089 -static BOOL ldm_ldmdb_add 1158,33657 -static BOOL ldm_frag_add 1220,35179 -static void ldm_frag_free 1280,36389 -static BOOL ldm_frag_commit 1301,36987 -static BOOL ldm_get_vblks 1335,37914 -static void ldm_free_vblks 1395,39387 -int ldm_partition 1424,40459 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/mac.h,224 -#define MAC_PARTITION_MAGIC 5,32 -#define APPLE_AUX_TYPE 8,125 -struct mac_partition mac_partition10,167 -#define MAC_STATUS_BOOTABLE 32,922 -#define MAC_DRIVER_MAGIC 34,981 -struct mac_driver_desc mac_driver_desc37,1060 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/mac.c,68 -static inline void mac_fix_string(22,404 -int mac_partition(30,535 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/msdos.c,499 -#define SYS_IND(SYS_IND35,991 -#define NR_SECTS(NR_SECTS36,1039 -#define START_SECT(START_SECT41,1160 -static inline int is_extended_partition(46,1287 -#define MSDOS_LABEL_MAGIC1 53,1489 -#define MSDOS_LABEL_MAGIC2 54,1521 -msdos_magic_present(57,1572 -parse_extended(74,2209 -parse_solaris_x86(167,4691 -parse_bsd(211,5949 -parse_freebsd(257,7267 -parse_netbsd(267,7505 -parse_openbsd(277,7745 -parse_unixware(291,8137 -parse_minix(330,9171 -} subtypes[370,10260 -int msdos_partition(380,10520 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/sun.h,30 -#define SUN_LABEL_MAGIC 5,32 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/sun.c,151 -int sun_partition(13,204 - struct sun_disklabel sun_disklabel20,349 - struct sun_info sun_info23,460 - struct sun_partition sun_partition40,1132 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/efi.h,988 -#define FS_PART_EFI_H_INCLUDED26,1118 -#define MSDOS_MBR_SIGNATURE 37,1349 -#define EFI_PMBR_OSTYPE_EFI 38,1384 -#define EFI_PMBR_OSTYPE_EFI_GPT 39,1417 -#define GPT_BLOCK_SIZE 41,1455 -#define GPT_HEADER_SIGNATURE 42,1482 -#define GPT_HEADER_REVISION_V1 43,1533 -#define GPT_PRIMARY_PARTITION_TABLE_LBA 44,1575 -#define PARTITION_SYSTEM_GUID 46,1618 -#define LEGACY_MBR_PARTITION_GUID 49,1757 -#define PARTITION_MSFT_RESERVED_GUID 52,1899 -#define PARTITION_BASIC_DATA_GUID 55,2044 -#define PARTITION_LINUX_RAID_GUID 58,2186 -#define PARTITION_LINUX_SWAP_GUID 61,2328 -#define PARTITION_LINUX_LVM_GUID 64,2470 -typedef struct _gpt_header _gpt_header68,2612 -} __attribute__ ((packed)packed84,3018 -typedef struct _gpt_entry_attributes _gpt_entry_attributes86,3058 -} __attribute__ ((packed)packed90,3179 -typedef struct _gpt_entry _gpt_entry92,3229 -} __attribute__ ((packed)packed99,3459 -typedef struct _legacy_mbr _legacy_mbr101,3498 -} __attribute__ ((packed)packed107,3652 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/ibm.c,59 -cchh2blk 32,921 -cchhb2blk 43,1158 -ibm_partition(52,1315 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/devfs.h,158 -# define devfs_add_disk(devfs_add_disk7,166 -# define devfs_add_partitioned(devfs_add_partitioned8,215 -# define devfs_remove_disk(devfs_remove_disk9,270 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/amiga.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/efi.c,365 -#define Dprintk(Dprintk96,3890 -#define Dprintk(Dprintk98,3939 -static int force_gpt;105,4147 -force_gpt_fn(107,4187 -efi_crc32(128,4714 -is_pmbr_valid(143,5115 -last_lba(169,5783 -read_lba(185,6107 -alloc_read_gpt_entries(220,6870 -alloc_read_gpt_header(256,7775 -is_gpt_valid(288,8525 -compare_gpts(369,10655 -find_valid_gpt(471,14554 -efi_partition(594,18862 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/acorn.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/sgi.h,31 -#define SGI_LABEL_MAGIC 7,119 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/ultrix.c,163 -int ultrix_partition(11,146 - struct ultrix_disklabel ultrix_disklabel16,273 - struct pt_info pt_info19,413 -#define PT_MAGIC 25,551 -#define PT_VALID 26,606 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/msdos.h,32 -#define MSDOS_LABEL_MAGIC 5,34 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/ultrix.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/osf.h,29 -#define DISKLABELMAGIC 5,32 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/partitions/atari.c,133 -#define ICD_PARTS16,306 -#define VALID_PARTITION(VALID_PARTITION20,454 -static inline int OK_id(26,731 -int atari_partition(33,926 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xattr_acl.c,57 -posix_acl_from_xattr(19,374 -posix_acl_to_xattr(78,1681 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/inode.c,210 -affs_read_inode(38,869 -affs_write_inode(185,4845 -affs_notify_change(233,6188 -affs_put_inode(261,6942 -affs_delete_inode(274,7262 -affs_clear_inode(285,7534 -affs_new_inode(302,7994 -affs_add_entry(359,9233 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/bitmap.c,204 -static int nibblemap[22,507 -affs_count_free_bits(25,581 -affs_count_free_blocks(45,860 -affs_free_block(69,1244 -affs_alloc_block(146,2992 -int affs_init_bitmap(275,5805 -void affs_free_bitmap(386,8895 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/amigaffs.c,421 -static char ErrorBuffer[22,419 -affs_insert_hash(34,611 -affs_remove_hash(83,1831 -affs_fix_dcache(132,3036 -affs_remove_link(156,3542 -affs_empty_dir(238,5567 -affs_remove_header(271,6374 -affs_checksum_block(343,8002 -affs_fix_checksum(361,8354 -secs_to_datestamp(376,8709 -prot_to_mode(395,9096 -mode_to_prot(422,9589 -affs_error(450,10166 -affs_warning(466,10559 -affs_check_name(481,10885 -affs_copy_name(509,11398 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/namei.c,669 -typedef int (*toupper_t)toupper_t24,490 -struct dentry_operations affs_dentry_operations 35,963 -static struct dentry_operations affs_intl_dentry_operations 40,1084 -affs_toupper(49,1273 -affs_intl_toupper(57,1426 -affs_get_toupper(65,1587 -__affs_hash_dentry(74,1784 -affs_hash_dentry(94,2182 -affs_intl_hash_dentry(99,2312 -__affs_compare_dentry(105,2460 -affs_compare_dentry(137,3134 -affs_intl_compare_dentry(142,3283 -affs_match(152,3532 -affs_hash_name(171,3884 -affs_find_entry(184,4188 -affs_lookup(213,4902 -affs_unlink(250,5850 -affs_create(259,6063 -affs_mkdir(289,6786 -affs_rmdir(318,7373 -affs_symlink(327,7584 -affs_link(399,9112 -affs_rename(410,9432 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/super.c,1225 -affs_put_super(41,985 -affs_write_super(64,1532 -static kmem_cache_t * affs_inode_cachep;85,2168 -static struct inode *affs_alloc_inode(87,2210 -static void affs_destroy_inode(97,2467 -static void init_once(102,2576 -static int init_inodecache(114,2912 -static void destroy_inodecache(125,3175 -static struct super_operations affs_sops 131,3334 - Opt_bs,146,3746 - Opt_bs, Opt_mode,146,3746 - Opt_bs, Opt_mode, Opt_mufs,146,3746 - Opt_bs, Opt_mode, Opt_mufs, Opt_prefix,146,3746 - Opt_bs, Opt_mode, Opt_mufs, Opt_prefix, Opt_protect,146,3746 - Opt_reserved,147,3800 - Opt_reserved, Opt_root,147,3800 - Opt_reserved, Opt_root, Opt_setgid,147,3800 - Opt_reserved, Opt_root, Opt_setgid, Opt_setuid,147,3800 - Opt_verbose,148,3849 - Opt_verbose, Opt_volume,148,3849 - Opt_verbose, Opt_volume, Opt_ignore,148,3849 - Opt_verbose, Opt_volume, Opt_ignore, Opt_err,148,3849 -static match_table_t tokens 151,3900 -parse_options(171,4356 -static int affs_fill_super(274,6611 -affs_remount(492,12610 -affs_statfs(530,13449 -static struct super_block *affs_get_sb(546,13893 -static struct file_system_type affs_fs_type 552,14087 -static int __init init_affs_fs(560,14266 -static void __exit exit_affs_fs(575,14484 -module_init(584,14671 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/file.c,923 -struct file_operations affs_file_operations 46,1407 -struct inode_operations affs_file_inode_operations 57,1694 -affs_file_open(63,1824 -affs_file_release(73,2043 -affs_grow_extcache(86,2330 -affs_alloc_extblock(156,4114 -affs_get_extblock(194,5146 -affs_get_extblock_slow(208,5514 -affs_get_block(335,8448 -static int affs_writepage(410,10464 -static int affs_readpage(414,10602 -static int affs_prepare_write(418,10721 -static sector_t _affs_bmap(423,10926 -struct address_space_operations affs_aops 427,11062 -affs_bread_ino(437,11333 -affs_getzeroblk_ino(456,11717 -affs_getemptyblk_ino(475,12094 -affs_file_write(494,12453 -affs_do_readpage_ofs(509,12794 -affs_extent_file_ofs(547,13712 -affs_readpage_ofs(617,15666 -static int affs_prepare_write_ofs(637,16173 -static int affs_commit_write_ofs(678,17184 -struct address_space_operations affs_aops_ofs 795,20616 -affs_free_prealloc(806,20897 -affs_truncate(821,21226 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/symlink.c,163 -static int affs_symlink_readpage(20,387 -struct address_space_operations affs_symlink_aops 76,1548 -struct inode_operations affs_symlink_inode_operations 80,1642 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/affs/dir.c,131 -struct file_operations affs_dir_operations 30,652 -struct inode_operations affs_dir_inode_operations 39,832 -affs_readdir(52,1126 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_script.c,169 -static int load_script(19,377 -struct linux_binfmt script_format 99,2406 -static int __init init_script_binfmt(104,2502 -static void __exit exit_script_binfmt(109,2591 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/io.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/io.c,45 -befs_bread_iaddr(27,568 -befs_bread(63,1409 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/befs.h,787 -#define _LINUX_BEFS_H9,164 -#define BEFS_VERSION 14,237 -typedef u64 befs_blocknr_t;befs_blocknr_t17,268 -typedef struct befs_mount_options befs_mount_options22,333 -} befs_mount_options;befs_mount_options29,451 -typedef struct befs_sb_info befs_sb_info31,474 -} befs_sb_info;befs_sb_info58,956 -typedef struct befs_inode_info befs_inode_info60,973 -} befs_inode_info;befs_inode_info75,1226 -enum befs_err befs_err77,1246 - BEFS_OK,78,1262 - BEFS_ERR,79,1272 - BEFS_BAD_INODE,80,1283 - BEFS_BT_END,81,1300 - BEFS_BT_EMPTY,82,1314 - BEFS_BT_MATCH,83,1330 - BEFS_BT_PARMATCH,84,1346 - BEFS_BT_NOT_FOUND85,1365 -BEFS_SB(106,2106 -BEFS_I(112,2227 -iaddr2blockno(118,2357 -blockno2iaddr(125,2534 -befs_iaddrs_per_block(137,2825 -befs_iaddr_is_empty(143,2954 -befs_brun_size(149,3097 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/endian.h,220 -#define LINUX_BEFS_ENDIAN10,181 -fs64_to_cpu(16,282 -cpu_to_fs64(25,459 -fs32_to_cpu(34,636 -cpu_to_fs32(43,813 -fs16_to_cpu(52,990 -cpu_to_fs16(61,1167 -fsrun_to_cpu(72,1389 -cpu_to_fsrun(89,1835 -fsds_to_cpu(106,2283 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/super.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/datastream.c,257 -const befs_inode_addr BAD_IADDR 23,496 -befs_read_datastream(50,1383 -befs_fblock2brun(93,2482 -befs_read_lsymlink(127,3421 -befs_count_blocks(167,4596 -befs_find_brun_direct(247,7225 -befs_find_brun_indirect(306,8845 -befs_find_brun_dblindirect(414,12275 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/datastream.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/inode.c,25 -befs_check_inode(19,295 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/befs_fs_types.h,2258 -#define _LINUX_BEFS_FS_TYPES15,241 -#define PACKED 21,337 -#define BEFS_NAME_LEN 27,417 -#define BEFS_SYMLINK_LEN 29,444 -#define BEFS_NUM_DIRECT_BLOCKS 30,473 -#define B_OS_NAME_LENGTH 31,507 -#define BEFS_DBLINDIR_BRUN_LEN 41,825 -enum super_flags super_flags47,890 - BEFS_BYTESEX_BE,48,909 - BEFS_BYTESEX_LE,49,927 - BEFS_CLEAN 50,945 - BEFS_CLEAN = 0x434c454e,50,945 - BEFS_DIRTY 51,971 - BEFS_DIRTY = 0x44495254,51,971 - BEFS_SUPER_MAGIC1 52,997 - BEFS_SUPER_MAGIC1 = 0x42465331,52,997 - BEFS_SUPER_MAGIC2 53,1041 - BEFS_SUPER_MAGIC2 = 0xdd121031,53,1041 - BEFS_SUPER_MAGIC3 54,1074 - BEFS_SUPER_MAGIC3 = 0x15b6830e,54,1074 -#define BEFS_BYTEORDER_NATIVE 57,1111 -#define BEFS_SUPER_MAGIC 59,1153 -#define BEFS_INODE_MAGIC1 65,1223 -enum inode_flags inode_flags67,1261 - BEFS_INODE_IN_USE 68,1280 - BEFS_INODE_IN_USE = 0x00000001,68,1280 - BEFS_ATTR_INODE 69,1313 - BEFS_ATTR_INODE = 0x00000004,69,1313 - BEFS_INODE_LOGGED 70,1344 - BEFS_INODE_LOGGED = 0x00000008,70,1344 - BEFS_INODE_DELETED 71,1377 - BEFS_INODE_DELETED = 0x00000010,71,1377 - BEFS_LONG_SYMLINK 72,1411 - BEFS_LONG_SYMLINK = 0x00000040,72,1411 - BEFS_PERMANENT_FLAG 73,1444 - BEFS_PERMANENT_FLAG = 0x0000ffff,73,1444 - BEFS_INODE_NO_CREATE 74,1479 - BEFS_INODE_NO_CREATE = 0x00010000,74,1479 - BEFS_INODE_WAS_WRITTEN 75,1515 - BEFS_INODE_WAS_WRITTEN = 0x00020000,75,1515 - BEFS_NO_TRANSACTION 76,1553 - BEFS_NO_TRANSACTION = 0x00040000,76,1553 -typedef u64 befs_off_t;befs_off_t82,1634 -typedef u64 befs_time_t;befs_time_t83,1658 -typedef void befs_binode_etc;befs_binode_etc84,1683 -} PACKED befs_block_run;befs_block_run91,1793 -typedef befs_block_run befs_inode_addr;befs_inode_addr93,1819 -} PACKED befs_super_block;befs_super_block126,2296 -} PACKED befs_data_stream;befs_data_stream140,2655 -} PACKED befs_small_data;befs_small_data148,2774 -} PACKED befs_inode;befs_inode174,3236 -#define BEFS_BTREE_MAGIC 180,3287 -enum btree_types btree_types182,3324 - BTREE_STRING_TYPE 183,3343 - BTREE_INT32_TYPE 184,3367 - BTREE_UINT32_TYPE 185,3390 - BTREE_INT64_TYPE 186,3414 - BTREE_UINT64_TYPE 187,3437 - BTREE_FLOAT_TYPE 188,3461 - BTREE_DOUBLE_TYPE 189,3484 -} PACKED befs_btree_super;befs_btree_super200,3664 -} PACKED befs_btree_nodehead;befs_btree_nodehead211,3854 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/debug.c,262 -#define ERRBUFSIZE 26,454 -befs_error(29,483 -befs_warning(47,886 -befs_debug(66,1296 -befs_dump_inode(94,1832 -befs_dump_super_block(178,4398 -befs_dump_small_data(227,6091 -befs_dump_run(233,6187 -befs_dump_index_entry(246,6431 -befs_dump_index_node(267,7160 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/linuxvfs.c,1380 -#define VFS_BLOCK_SIZE 32,647 -static const struct super_operations befs_sops 55,1861 -static kmem_cache_t *befs_inode_cachep;65,2264 -static struct file_operations befs_dir_operations 67,2305 -static struct inode_operations befs_dir_inode_operations 72,2417 -static struct file_operations befs_file_operations 76,2507 -static struct address_space_operations befs_aops 82,2661 -static struct inode_operations befs_symlink_inode_operations 88,2798 -befs_readpage(102,3188 -befs_bmap(108,3313 -befs_get_block(125,3685 -befs_lookup(169,4819 -befs_readdir(220,6020 -befs_alloc_inode(283,7587 -befs_destroy_inode(294,7854 -static void init_once(299,7958 -befs_read_inode(310,8270 -befs_init_inodecache(432,11877 -befs_destroy_inodecache(452,12328 -befs_follow_link(465,12652 -static void befs_put_link(493,13322 -befs_utf2nls(512,13733 -befs_nls2utf(588,15673 - Opt_uid,647,16843 - Opt_uid, Opt_gid,647,16843 - Opt_uid, Opt_gid, Opt_charset,647,16843 - Opt_uid, Opt_gid, Opt_charset, Opt_debug,647,16843 - Opt_uid, Opt_gid, Opt_charset, Opt_debug, Opt_err,647,16843 -static match_table_t befs_tokens 650,16899 -parse_options(659,17067 -befs_put_super(732,18570 -befs_fill_super(758,19109 -befs_remount(884,22433 -befs_statfs(892,22567 -befs_get_sb(912,23056 -static struct file_system_type befs_fs_type 918,23227 -init_befs_fs(927,23425 -exit_befs_fs(951,23771 -module_init(963,24018 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/inode.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/btree.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/attribute.c,178 -#define SD_DATA(SD_DATA18,347 -#define SD_NEXT(SD_NEXT21,440 -find_small_data(43,912 -read_small_data(64,1200 -list_small_data(88,1571 -list_attr(101,1664 -read_attr(114,1751 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/super.c,44 -befs_load_sb(25,356 -befs_check_sb(60,1724 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/befs/btree.c,616 -} befs_btree_node;befs_btree_node86,2973 -static const befs_off_t befs_bt_inval 89,3015 -befs_bt_read_super(135,4575 -befs_bt_read_node(194,6376 -befs_btree_find(248,8001 -befs_find_key(337,10451 -befs_btree_read(417,12728 -befs_btree_seekleaf(547,16156 -befs_leafnode(603,17763 -befs_bt_keylen_index(626,18490 -befs_bt_valarray(647,19044 -befs_bt_keydata(663,19549 -befs_bt_get_key(679,20037 -befs_compare_strings(716,20916 -btree_compare_int32(729,21226 -btree_compare_uint32(735,21370 -btree_compare_int64(746,21613 -btree_compare_uint64(757,21841 -btree_compare_float(769,22085 -btree_compare_double(779,22301 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_ascii.c,418 -static wchar_t charset2uni[16,371 -static unsigned char page00[59,1555 -static unsigned char *page_uni2charset[78,2636 -static unsigned char charset2lower[82,2751 -static unsigned char charset2upper[101,3839 -static int uni2char(120,4927 -static int char2uni(137,5286 -static struct nls_table table 145,5454 -static int __init init_nls_ascii(154,5649 -static void __exit exit_nls_ascii(159,5723 -module_init(164,5793 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp866.c,578 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page04[126,4236 -static unsigned char page21[141,5057 -static unsigned char page22[147,5293 -static unsigned char page25[154,5594 -static unsigned char *page_uni2charset[179,7001 -static unsigned char charset2lower[187,7383 -static unsigned char charset2upper[223,9512 -static int uni2char(259,11641 -static int char2uni(276,12000 -static struct nls_table table 284,12168 -static int __init init_nls_cp866(293,12363 -static void __exit exit_nls_cp866(298,12437 -module_init(303,12507 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-15.c,512 -static wchar_t charset2uni[14,266 -static unsigned char page00[97,2594 -static unsigned char page01[133,4716 -static unsigned char page20[152,5797 -static unsigned char *page_uni2charset[178,7269 -static unsigned char charset2lower[189,7636 -static unsigned char charset2upper[225,9765 -static int uni2char(261,11894 -static int char2uni(278,12253 -static struct nls_table table 286,12421 -static int __init init_nls_iso8859_15(295,12621 -static void __exit exit_nls_iso8859_15(300,12700 -module_init(305,12775 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_koi8-ru.c,244 -static struct nls_table *p_nls;14,277 -static int uni2char(16,310 -static int char2uni(39,835 -static struct nls_table table 54,1151 -static int __init init_nls_koi8_ru(61,1282 -static void __exit exit_nls_koi8_ru(74,1516 -module_init(80,1608 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp936.c,8957 -static wchar_t c2u_81[16,383 -static wchar_t c2u_82[52,2756 -static wchar_t c2u_83[88,5129 -static wchar_t c2u_84[124,7502 -static wchar_t c2u_85[160,9875 -static wchar_t c2u_86[196,12248 -static wchar_t c2u_87[232,14621 -static wchar_t c2u_88[268,16994 -static wchar_t c2u_89[304,19367 -static wchar_t c2u_8A[340,21740 -static wchar_t c2u_8B[376,24113 -static wchar_t c2u_8C[412,26486 -static wchar_t c2u_8D[448,28859 -static wchar_t c2u_8E[484,31232 -static wchar_t c2u_8F[520,33605 -static wchar_t c2u_90[556,35978 -static wchar_t c2u_91[592,38351 -static wchar_t c2u_92[628,40724 -static wchar_t c2u_93[664,43097 -static wchar_t c2u_94[700,45470 -static wchar_t c2u_95[736,47843 -static wchar_t c2u_96[772,50216 -static wchar_t c2u_97[808,52589 -static wchar_t c2u_98[844,54962 -static wchar_t c2u_99[880,57335 -static wchar_t c2u_9A[916,59708 -static wchar_t c2u_9B[952,62081 -static wchar_t c2u_9C[988,64454 -static wchar_t c2u_9D[1024,66827 -static wchar_t c2u_9E[1060,69200 -static wchar_t c2u_9F[1096,71573 -static wchar_t c2u_A0[1132,73946 -static wchar_t c2u_A1[1168,76319 -static wchar_t c2u_A2[1204,78692 -static wchar_t c2u_A3[1240,81065 -static wchar_t c2u_A4[1276,83438 -static wchar_t c2u_A5[1311,85738 -static wchar_t c2u_A6[1346,88038 -static wchar_t c2u_A7[1381,90338 -static wchar_t c2u_A8[1416,92638 -static wchar_t c2u_A9[1450,94865 -static wchar_t c2u_AA[1484,97092 -static wchar_t c2u_AB[1509,98662 -static wchar_t c2u_AC[1534,100232 -static wchar_t c2u_AD[1559,101802 -static wchar_t c2u_AE[1584,103372 -static wchar_t c2u_AF[1609,104942 -static wchar_t c2u_B0[1634,106512 -static wchar_t c2u_B1[1670,108885 -static wchar_t c2u_B2[1706,111258 -static wchar_t c2u_B3[1742,113631 -static wchar_t c2u_B4[1778,116004 -static wchar_t c2u_B5[1814,118377 -static wchar_t c2u_B6[1850,120750 -static wchar_t c2u_B7[1886,123123 -static wchar_t c2u_B8[1922,125496 -static wchar_t c2u_B9[1958,127869 -static wchar_t c2u_BA[1994,130242 -static wchar_t c2u_BB[2030,132615 -static wchar_t c2u_BC[2066,134988 -static wchar_t c2u_BD[2102,137361 -static wchar_t c2u_BE[2138,139734 -static wchar_t c2u_BF[2174,142107 -static wchar_t c2u_C0[2210,144480 -static wchar_t c2u_C1[2246,146853 -static wchar_t c2u_C2[2282,149226 -static wchar_t c2u_C3[2318,151599 -static wchar_t c2u_C4[2354,153972 -static wchar_t c2u_C5[2390,156345 -static wchar_t c2u_C6[2426,158718 -static wchar_t c2u_C7[2462,161091 -static wchar_t c2u_C8[2498,163464 -static wchar_t c2u_C9[2534,165837 -static wchar_t c2u_CA[2570,168210 -static wchar_t c2u_CB[2606,170583 -static wchar_t c2u_CC[2642,172956 -static wchar_t c2u_CD[2678,175329 -static wchar_t c2u_CE[2714,177702 -static wchar_t c2u_CF[2750,180075 -static wchar_t c2u_D0[2786,182448 -static wchar_t c2u_D1[2822,184821 -static wchar_t c2u_D2[2858,187194 -static wchar_t c2u_D3[2894,189567 -static wchar_t c2u_D4[2930,191940 -static wchar_t c2u_D5[2966,194313 -static wchar_t c2u_D6[3002,196686 -static wchar_t c2u_D7[3038,199059 -static wchar_t c2u_D8[3074,201432 -static wchar_t c2u_D9[3110,203805 -static wchar_t c2u_DA[3146,206178 -static wchar_t c2u_DB[3182,208551 -static wchar_t c2u_DC[3218,210924 -static wchar_t c2u_DD[3254,213297 -static wchar_t c2u_DE[3290,215670 -static wchar_t c2u_DF[3326,218043 -static wchar_t c2u_E0[3362,220416 -static wchar_t c2u_E1[3398,222789 -static wchar_t c2u_E2[3434,225162 -static wchar_t c2u_E3[3470,227535 -static wchar_t c2u_E4[3506,229908 -static wchar_t c2u_E5[3542,232281 -static wchar_t c2u_E6[3578,234654 -static wchar_t c2u_E7[3614,237027 -static wchar_t c2u_E8[3650,239400 -static wchar_t c2u_E9[3686,241773 -static wchar_t c2u_EA[3722,244146 -static wchar_t c2u_EB[3758,246519 -static wchar_t c2u_EC[3794,248892 -static wchar_t c2u_ED[3830,251265 -static wchar_t c2u_EE[3866,253638 -static wchar_t c2u_EF[3902,256011 -static wchar_t c2u_F0[3938,258384 -static wchar_t c2u_F1[3974,260757 -static wchar_t c2u_F2[4010,263130 -static wchar_t c2u_F3[4046,265503 -static wchar_t c2u_F4[4082,267876 -static wchar_t c2u_F5[4118,270249 -static wchar_t c2u_F6[4154,272622 -static wchar_t c2u_F7[4190,274995 -static wchar_t c2u_F8[4226,277368 -static wchar_t c2u_F9[4262,279741 -static wchar_t c2u_FA[4287,281311 -static wchar_t c2u_FB[4312,282881 -static wchar_t c2u_FC[4337,284451 -static wchar_t c2u_FD[4362,286021 -static wchar_t c2u_FE[4387,287591 -static wchar_t *page_charset2uni[4400,288356 -static unsigned char u2c_01[4435,290514 -static unsigned char u2c_02[4495,294197 -static unsigned char u2c_03[4554,297815 -static unsigned char u2c_04[4609,301173 -static unsigned char u2c_20[4633,302579 -static unsigned char u2c_21[4652,303660 -static unsigned char u2c_22[4695,306238 -static unsigned char u2c_23[4747,309401 -static unsigned char u2c_24[4755,309767 -static unsigned char u2c_25[4798,312345 -static unsigned char u2c_26[4866,316548 -static unsigned char u2c_30[4886,317694 -static unsigned char u2c_31[4954,321897 -static unsigned char u2c_32[4998,324540 -static unsigned char u2c_33[5047,327508 -static unsigned char u2c_4E[5105,331061 -static unsigned char u2c_4F[5173,335264 -static unsigned char u2c_50[5241,339467 -static unsigned char u2c_51[5309,343670 -static unsigned char u2c_52[5377,347873 -static unsigned char u2c_53[5445,352076 -static unsigned char u2c_54[5513,356279 -static unsigned char u2c_55[5581,360482 -static unsigned char u2c_56[5649,364685 -static unsigned char u2c_57[5717,368888 -static unsigned char u2c_58[5785,373091 -static unsigned char u2c_59[5853,377294 -static unsigned char u2c_5A[5921,381497 -static unsigned char u2c_5B[5989,385700 -static unsigned char u2c_5C[6057,389903 -static unsigned char u2c_5D[6125,394106 -static unsigned char u2c_5E[6193,398309 -static unsigned char u2c_5F[6261,402512 -static unsigned char u2c_60[6329,406715 -static unsigned char u2c_61[6397,410918 -static unsigned char u2c_62[6465,415121 -static unsigned char u2c_63[6533,419324 -static unsigned char u2c_64[6601,423527 -static unsigned char u2c_65[6669,427730 -static unsigned char u2c_66[6737,431933 -static unsigned char u2c_67[6805,436136 -static unsigned char u2c_68[6873,440339 -static unsigned char u2c_69[6941,444542 -static unsigned char u2c_6A[7009,448745 -static unsigned char u2c_6B[7077,452948 -static unsigned char u2c_6C[7145,457151 -static unsigned char u2c_6D[7213,461354 -static unsigned char u2c_6E[7281,465557 -static unsigned char u2c_6F[7349,469760 -static unsigned char u2c_70[7417,473963 -static unsigned char u2c_71[7485,478166 -static unsigned char u2c_72[7553,482369 -static unsigned char u2c_73[7621,486572 -static unsigned char u2c_74[7689,490775 -static unsigned char u2c_75[7757,494978 -static unsigned char u2c_76[7825,499181 -static unsigned char u2c_77[7893,503384 -static unsigned char u2c_78[7961,507587 -static unsigned char u2c_79[8029,511790 -static unsigned char u2c_7A[8097,515993 -static unsigned char u2c_7B[8165,520196 -static unsigned char u2c_7C[8233,524399 -static unsigned char u2c_7D[8301,528602 -static unsigned char u2c_7E[8369,532805 -static unsigned char u2c_7F[8437,537008 -static unsigned char u2c_80[8505,541211 -static unsigned char u2c_81[8573,545414 -static unsigned char u2c_82[8641,549617 -static unsigned char u2c_83[8709,553820 -static unsigned char u2c_84[8777,558023 -static unsigned char u2c_85[8845,562226 -static unsigned char u2c_86[8913,566429 -static unsigned char u2c_87[8981,570632 -static unsigned char u2c_88[9049,574835 -static unsigned char u2c_89[9117,579038 -static unsigned char u2c_8A[9185,583241 -static unsigned char u2c_8B[9253,587444 -static unsigned char u2c_8C[9321,591647 -static unsigned char u2c_8D[9389,595850 -static unsigned char u2c_8E[9457,600053 -static unsigned char u2c_8F[9525,604256 -static unsigned char u2c_90[9593,608459 -static unsigned char u2c_91[9661,612662 -static unsigned char u2c_92[9729,616865 -static unsigned char u2c_93[9797,621068 -static unsigned char u2c_94[9865,625271 -static unsigned char u2c_95[9933,629474 -static unsigned char u2c_96[10001,633677 -static unsigned char u2c_97[10069,637880 -static unsigned char u2c_98[10137,642083 -static unsigned char u2c_99[10205,646286 -static unsigned char u2c_9A[10273,650489 -static unsigned char u2c_9B[10341,654692 -static unsigned char u2c_9C[10409,658895 -static unsigned char u2c_9D[10477,663098 -static unsigned char u2c_9E[10545,667301 -static unsigned char u2c_9F[10613,671504 -static unsigned char u2c_DC[10659,674277 -static unsigned char u2c_F9[10663,674383 -static unsigned char u2c_FA[10731,678586 -static unsigned char u2c_FE[10746,679407 -static unsigned char u2c_FF[10776,681203 -static unsigned char *page_uni2charset[10838,685016 -static unsigned char charset2lower[10872,687179 -static unsigned char charset2upper[10908,689308 -static int uni2char(10944,691437 -static int char2uni(10975,691990 -static struct nls_table table 11006,692464 -static int __init init_nls_cp936(11016,692680 -static void __exit exit_nls_cp936(11021,692754 -module_init(11026,692824 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp864.c,619 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page03[134,4756 -static unsigned char page06[163,6423 -static unsigned char page22[180,7374 -static unsigned char page25[193,8065 -static unsigned char pagefe[218,9472 -static unsigned char *page_uni2charset[254,11594 -static unsigned char charset2lower[289,13758 -static unsigned char charset2upper[325,15887 -static int uni2char(361,18016 -static int char2uni(378,18375 -static struct nls_table table 386,18543 -static int __init init_nls_cp864(395,18738 -static void __exit exit_nls_cp864(400,18812 -module_init(405,18882 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-14.c,514 -static wchar_t charset2uni[21,479 -static unsigned char page00[104,2863 -static unsigned char page01[140,4985 -static unsigned char page1e[176,7108 -static unsigned char *page_uni2charset[212,9230 -static unsigned char charset2lower[223,9597 -static unsigned char charset2upper[259,11726 -static int uni2char(295,13855 -static int char2uni(312,14214 -static struct nls_table table 320,14382 -static int __init init_nls_iso8859_14(329,14582 -static void __exit exit_nls_iso8859_14(334,14661 -module_init(339,14736 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp865.c,659 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page03[158,6098 -static unsigned char page20[187,7765 -static unsigned char page22[212,9172 -static unsigned char page23[228,10058 -static unsigned char page25[236,10424 -static unsigned char *page_uni2charset[261,11831 -static unsigned char charset2lower[269,12213 -static unsigned char charset2upper[305,14342 -static int uni2char(341,16471 -static int char2uni(358,16830 -static struct nls_table table 366,16998 -static int __init init_nls_cp865(375,17193 -static void __exit exit_nls_cp865(380,17267 -module_init(385,17337 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp850.c,541 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page20[158,6098 -static unsigned char page25[164,6334 -static unsigned char *page_uni2charset[189,7741 -static unsigned char charset2lower[197,8123 -static unsigned char charset2upper[233,10252 -static int uni2char(269,12381 -static int char2uni(286,12740 -static struct nls_table table 294,12908 -static int __init init_nls_cp850(303,13103 -static void __exit exit_nls_cp850(308,13177 -module_init(313,13247 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp869.c,541 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page03[127,4301 -static unsigned char page20[157,6033 -static unsigned char page25[164,6334 -static unsigned char *page_uni2charset[189,7741 -static unsigned char charset2lower[197,8123 -static unsigned char charset2upper[233,10252 -static int uni2char(269,12381 -static int char2uni(286,12740 -static struct nls_table table 294,12908 -static int __init init_nls_cp869(303,13103 -static void __exit exit_nls_cp869(308,13177 -module_init(313,13247 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp437.c,659 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page03[158,6098 -static unsigned char page20[187,7765 -static unsigned char page22[212,9172 -static unsigned char page23[228,10058 -static unsigned char page25[236,10424 -static unsigned char *page_uni2charset[261,11831 -static unsigned char charset2lower[269,12213 -static unsigned char charset2upper[305,14342 -static int uni2char(341,16471 -static int char2uni(358,16830 -static struct nls_table table 366,16998 -static int __init init_nls_cp437(375,17193 -static void __exit exit_nls_cp437(380,17267 -module_init(385,17337 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp857.c,502 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page25[150,5642 -static unsigned char *page_uni2charset[175,7049 -static unsigned char charset2lower[183,7431 -static unsigned char charset2upper[219,9560 -static int uni2char(255,11689 -static int char2uni(272,12048 -static struct nls_table table 280,12216 -static int __init init_nls_cp857(289,12411 -static void __exit exit_nls_cp857(294,12485 -module_init(299,12555 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp950.c,7445 -static wchar_t c2u_A1[16,383 -static wchar_t c2u_A2[52,2756 -static wchar_t c2u_A3[88,5129 -static wchar_t c2u_A4[124,7502 -static wchar_t c2u_A5[160,9875 -static wchar_t c2u_A6[196,12248 -static wchar_t c2u_A7[232,14621 -static wchar_t c2u_A8[268,16994 -static wchar_t c2u_A9[304,19367 -static wchar_t c2u_AA[340,21740 -static wchar_t c2u_AB[376,24113 -static wchar_t c2u_AC[412,26486 -static wchar_t c2u_AD[448,28859 -static wchar_t c2u_AE[484,31232 -static wchar_t c2u_AF[520,33605 -static wchar_t c2u_B0[556,35978 -static wchar_t c2u_B1[592,38351 -static wchar_t c2u_B2[628,40724 -static wchar_t c2u_B3[664,43097 -static wchar_t c2u_B4[700,45470 -static wchar_t c2u_B5[736,47843 -static wchar_t c2u_B6[772,50216 -static wchar_t c2u_B7[808,52589 -static wchar_t c2u_B8[844,54962 -static wchar_t c2u_B9[880,57335 -static wchar_t c2u_BA[916,59708 -static wchar_t c2u_BB[952,62081 -static wchar_t c2u_BC[988,64454 -static wchar_t c2u_BD[1024,66827 -static wchar_t c2u_BE[1060,69200 -static wchar_t c2u_BF[1096,71573 -static wchar_t c2u_C0[1132,73946 -static wchar_t c2u_C1[1168,76319 -static wchar_t c2u_C2[1204,78692 -static wchar_t c2u_C3[1240,81065 -static wchar_t c2u_C4[1276,83438 -static wchar_t c2u_C5[1312,85811 -static wchar_t c2u_C6[1348,88184 -static wchar_t c2u_C9[1367,89387 -static wchar_t c2u_CA[1403,91760 -static wchar_t c2u_CB[1439,94133 -static wchar_t c2u_CC[1475,96506 -static wchar_t c2u_CD[1511,98879 -static wchar_t c2u_CE[1547,101252 -static wchar_t c2u_CF[1583,103625 -static wchar_t c2u_D0[1619,105998 -static wchar_t c2u_D1[1655,108371 -static wchar_t c2u_D2[1691,110744 -static wchar_t c2u_D3[1727,113117 -static wchar_t c2u_D4[1763,115490 -static wchar_t c2u_D5[1799,117863 -static wchar_t c2u_D6[1835,120236 -static wchar_t c2u_D7[1871,122609 -static wchar_t c2u_D8[1907,124982 -static wchar_t c2u_D9[1943,127355 -static wchar_t c2u_DA[1979,129728 -static wchar_t c2u_DB[2015,132101 -static wchar_t c2u_DC[2051,134474 -static wchar_t c2u_DD[2087,136847 -static wchar_t c2u_DE[2123,139220 -static wchar_t c2u_DF[2159,141593 -static wchar_t c2u_E0[2195,143966 -static wchar_t c2u_E1[2231,146339 -static wchar_t c2u_E2[2267,148712 -static wchar_t c2u_E3[2303,151085 -static wchar_t c2u_E4[2339,153458 -static wchar_t c2u_E5[2375,155831 -static wchar_t c2u_E6[2411,158204 -static wchar_t c2u_E7[2447,160577 -static wchar_t c2u_E8[2483,162950 -static wchar_t c2u_E9[2519,165323 -static wchar_t c2u_EA[2555,167696 -static wchar_t c2u_EB[2591,170069 -static wchar_t c2u_EC[2627,172442 -static wchar_t c2u_ED[2663,174815 -static wchar_t c2u_EE[2699,177188 -static wchar_t c2u_EF[2735,179561 -static wchar_t c2u_F0[2771,181934 -static wchar_t c2u_F1[2807,184307 -static wchar_t c2u_F2[2843,186680 -static wchar_t c2u_F3[2879,189053 -static wchar_t c2u_F4[2915,191426 -static wchar_t c2u_F5[2951,193799 -static wchar_t c2u_F6[2987,196172 -static wchar_t c2u_F7[3023,198545 -static wchar_t c2u_F8[3059,200918 -static wchar_t c2u_F9[3095,203291 -static wchar_t *page_charset2uni[3131,205664 -static unsigned char u2c_02[3166,207822 -static unsigned char u2c_03[3225,211440 -static unsigned char u2c_20[3280,214798 -static unsigned char u2c_21[3299,215879 -static unsigned char u2c_22[3342,218457 -static unsigned char u2c_23[3394,221620 -static unsigned char u2c_25[3399,221791 -static unsigned char u2c_26[3461,225604 -static unsigned char u2c_30[3481,226750 -static unsigned char u2c_31[3497,227636 -static unsigned char u2c_32[3541,230279 -static unsigned char u2c_33[3590,233247 -static unsigned char u2c_4E[3648,236800 -static unsigned char u2c_4F[3716,241003 -static unsigned char u2c_50[3784,245206 -static unsigned char u2c_51[3852,249409 -static unsigned char u2c_52[3920,253612 -static unsigned char u2c_53[3988,257815 -static unsigned char u2c_54[4056,262018 -static unsigned char u2c_55[4124,266221 -static unsigned char u2c_56[4192,270424 -static unsigned char u2c_57[4260,274627 -static unsigned char u2c_58[4328,278830 -static unsigned char u2c_59[4396,283033 -static unsigned char u2c_5A[4464,287236 -static unsigned char u2c_5B[4532,291439 -static unsigned char u2c_5C[4600,295642 -static unsigned char u2c_5D[4668,299845 -static unsigned char u2c_5E[4736,304048 -static unsigned char u2c_5F[4804,308251 -static unsigned char u2c_60[4872,312454 -static unsigned char u2c_61[4940,316657 -static unsigned char u2c_62[5008,320860 -static unsigned char u2c_63[5076,325063 -static unsigned char u2c_64[5144,329266 -static unsigned char u2c_65[5212,333469 -static unsigned char u2c_66[5280,337672 -static unsigned char u2c_67[5348,341875 -static unsigned char u2c_68[5416,346078 -static unsigned char u2c_69[5484,350281 -static unsigned char u2c_6A[5552,354484 -static unsigned char u2c_6B[5620,358687 -static unsigned char u2c_6C[5688,362890 -static unsigned char u2c_6D[5755,367028 -static unsigned char u2c_6E[5823,371231 -static unsigned char u2c_6F[5891,375434 -static unsigned char u2c_70[5959,379637 -static unsigned char u2c_71[6027,383840 -static unsigned char u2c_72[6095,388043 -static unsigned char u2c_73[6163,392246 -static unsigned char u2c_74[6231,396449 -static unsigned char u2c_75[6299,400652 -static unsigned char u2c_76[6367,404855 -static unsigned char u2c_77[6435,409058 -static unsigned char u2c_78[6503,413261 -static unsigned char u2c_79[6571,417464 -static unsigned char u2c_7A[6639,421667 -static unsigned char u2c_7B[6707,425870 -static unsigned char u2c_7C[6775,430073 -static unsigned char u2c_7D[6843,434276 -static unsigned char u2c_7E[6910,438414 -static unsigned char u2c_7F[6954,441057 -static unsigned char u2c_80[7022,445260 -static unsigned char u2c_81[7090,449463 -static unsigned char u2c_82[7158,453666 -static unsigned char u2c_83[7226,457869 -static unsigned char u2c_84[7294,462072 -static unsigned char u2c_85[7362,466275 -static unsigned char u2c_86[7430,470478 -static unsigned char u2c_87[7498,474681 -static unsigned char u2c_88[7566,478884 -static unsigned char u2c_89[7634,483087 -static unsigned char u2c_8A[7702,487290 -static unsigned char u2c_8B[7770,491493 -static unsigned char u2c_8C[7814,494136 -static unsigned char u2c_8D[7882,498339 -static unsigned char u2c_8E[7950,502542 -static unsigned char u2c_8F[8018,506745 -static unsigned char u2c_90[8086,510948 -static unsigned char u2c_91[8154,515151 -static unsigned char u2c_92[8222,519354 -static unsigned char u2c_93[8290,523557 -static unsigned char u2c_94[8358,527760 -static unsigned char u2c_95[8395,529948 -static unsigned char u2c_96[8457,533761 -static unsigned char u2c_97[8525,537964 -static unsigned char u2c_98[8593,542167 -static unsigned char u2c_99[8661,546370 -static unsigned char u2c_9A[8729,550573 -static unsigned char u2c_9B[8797,554776 -static unsigned char u2c_9C[8865,558979 -static unsigned char u2c_9D[8933,563182 -static unsigned char u2c_9E[9001,567385 -static unsigned char u2c_9F[9069,571588 -static unsigned char u2c_DC[9115,574361 -static unsigned char u2c_F9[9119,574467 -static unsigned char u2c_FA[9187,578670 -static unsigned char u2c_FE[9202,579491 -static unsigned char u2c_FF[9232,581287 -static unsigned char *page_uni2charset[9294,585100 -static unsigned char charset2lower[9328,587263 -static unsigned char charset2upper[9364,589392 -static int uni2char(9400,591521 -static int char2uni(9431,592074 -static struct nls_table table 9462,592548 -static int __init init_nls_cp950(9472,592762 -static void __exit exit_nls_cp950(9477,592836 -module_init(9482,592906 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp874.c,501 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page0e[124,4106 -static unsigned char page20[139,4927 -static unsigned char *page_uni2charset[147,5293 -static unsigned char charset2lower[155,5675 -static unsigned char charset2upper[191,7804 -static int uni2char(227,9933 -static int char2uni(244,10292 -static struct nls_table table 252,10460 -static int __init init_nls_cp874(262,10677 -static void __exit exit_nls_cp874(267,10751 -module_init(272,10821 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-13.c,512 -static wchar_t charset2uni[14,266 -static unsigned char page00[97,2594 -static unsigned char page01[133,4716 -static unsigned char page20[152,5797 -static unsigned char *page_uni2charset[159,6098 -static unsigned char charset2lower[167,6490 -static unsigned char charset2upper[203,8619 -static int uni2char(239,10748 -static int char2uni(256,11107 -static struct nls_table table 264,11275 -static int __init init_nls_iso8859_13(273,11475 -static void __exit exit_nls_iso8859_13(278,11554 -module_init(283,11629 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp863.c,658 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page03[158,6098 -static unsigned char page20[187,7765 -static unsigned char page22[206,8846 -static unsigned char page23[222,9732 -static unsigned char page25[230,10098 -static unsigned char *page_uni2charset[255,11505 -static unsigned char charset2lower[263,11887 -static unsigned char charset2upper[299,14016 -static int uni2char(335,16145 -static int char2uni(352,16504 -static struct nls_table table 360,16672 -static int __init init_nls_cp863(369,16867 -static void __exit exit_nls_cp863(374,16941 -module_init(379,17011 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp949.c,10733 -static wchar_t c2u_81[16,383 -static wchar_t c2u_82[52,2756 -static wchar_t c2u_83[88,5129 -static wchar_t c2u_84[124,7502 -static wchar_t c2u_85[160,9875 -static wchar_t c2u_86[196,12248 -static wchar_t c2u_87[232,14621 -static wchar_t c2u_88[268,16994 -static wchar_t c2u_89[304,19367 -static wchar_t c2u_8A[340,21740 -static wchar_t c2u_8B[376,24113 -static wchar_t c2u_8C[412,26486 -static wchar_t c2u_8D[448,28859 -static wchar_t c2u_8E[484,31232 -static wchar_t c2u_8F[520,33605 -static wchar_t c2u_90[556,35978 -static wchar_t c2u_91[592,38351 -static wchar_t c2u_92[628,40724 -static wchar_t c2u_93[664,43097 -static wchar_t c2u_94[700,45470 -static wchar_t c2u_95[736,47843 -static wchar_t c2u_96[772,50216 -static wchar_t c2u_97[808,52589 -static wchar_t c2u_98[844,54962 -static wchar_t c2u_99[880,57335 -static wchar_t c2u_9A[916,59708 -static wchar_t c2u_9B[952,62081 -static wchar_t c2u_9C[988,64454 -static wchar_t c2u_9D[1024,66827 -static wchar_t c2u_9E[1060,69200 -static wchar_t c2u_9F[1096,71573 -static wchar_t c2u_A0[1132,73946 -static wchar_t c2u_A1[1168,76319 -static wchar_t c2u_A2[1204,78692 -static wchar_t c2u_A3[1237,80846 -static wchar_t c2u_A4[1273,83219 -static wchar_t c2u_A5[1309,85592 -static wchar_t c2u_A6[1345,87965 -static wchar_t c2u_A7[1378,90119 -static wchar_t c2u_A8[1412,92346 -static wchar_t c2u_A9[1448,94719 -static wchar_t c2u_AA[1484,97092 -static wchar_t c2u_AB[1519,99392 -static wchar_t c2u_AC[1554,101692 -static wchar_t c2u_AD[1589,103992 -static wchar_t c2u_AE[1614,105562 -static wchar_t c2u_AF[1639,107132 -static wchar_t c2u_B0[1664,108702 -static wchar_t c2u_B1[1700,111075 -static wchar_t c2u_B2[1736,113448 -static wchar_t c2u_B3[1772,115821 -static wchar_t c2u_B4[1808,118194 -static wchar_t c2u_B5[1844,120567 -static wchar_t c2u_B6[1880,122940 -static wchar_t c2u_B7[1916,125313 -static wchar_t c2u_B8[1952,127686 -static wchar_t c2u_B9[1988,130059 -static wchar_t c2u_BA[2024,132432 -static wchar_t c2u_BB[2060,134805 -static wchar_t c2u_BC[2096,137178 -static wchar_t c2u_BD[2132,139551 -static wchar_t c2u_BE[2168,141924 -static wchar_t c2u_BF[2204,144297 -static wchar_t c2u_C0[2240,146670 -static wchar_t c2u_C1[2276,149043 -static wchar_t c2u_C2[2312,151416 -static wchar_t c2u_C3[2348,153789 -static wchar_t c2u_C4[2384,156162 -static wchar_t c2u_C5[2420,158535 -static wchar_t c2u_C6[2456,160908 -static wchar_t c2u_C7[2492,163281 -static wchar_t c2u_C8[2528,165654 -static wchar_t c2u_CA[2564,168027 -static wchar_t c2u_CB[2600,170400 -static wchar_t c2u_CC[2636,172773 -static wchar_t c2u_CD[2672,175146 -static wchar_t c2u_CE[2708,177519 -static wchar_t c2u_CF[2744,179892 -static wchar_t c2u_D0[2780,182265 -static wchar_t c2u_D1[2816,184638 -static wchar_t c2u_D2[2852,187011 -static wchar_t c2u_D3[2888,189384 -static wchar_t c2u_D4[2924,191757 -static wchar_t c2u_D5[2960,194130 -static wchar_t c2u_D6[2996,196503 -static wchar_t c2u_D7[3032,198876 -static wchar_t c2u_D8[3068,201249 -static wchar_t c2u_D9[3104,203622 -static wchar_t c2u_DA[3140,205995 -static wchar_t c2u_DB[3176,208368 -static wchar_t c2u_DC[3212,210741 -static wchar_t c2u_DD[3248,213114 -static wchar_t c2u_DE[3284,215487 -static wchar_t c2u_DF[3320,217860 -static wchar_t c2u_E0[3356,220233 -static wchar_t c2u_E1[3392,222606 -static wchar_t c2u_E2[3428,224979 -static wchar_t c2u_E3[3464,227352 -static wchar_t c2u_E4[3500,229725 -static wchar_t c2u_E5[3536,232098 -static wchar_t c2u_E6[3572,234471 -static wchar_t c2u_E7[3608,236844 -static wchar_t c2u_E8[3644,239217 -static wchar_t c2u_E9[3680,241590 -static wchar_t c2u_EA[3716,243963 -static wchar_t c2u_EB[3752,246336 -static wchar_t c2u_EC[3788,248709 -static wchar_t c2u_ED[3824,251082 -static wchar_t c2u_EE[3860,253455 -static wchar_t c2u_EF[3896,255828 -static wchar_t c2u_F0[3932,258201 -static wchar_t c2u_F1[3968,260574 -static wchar_t c2u_F2[4004,262947 -static wchar_t c2u_F3[4040,265320 -static wchar_t c2u_F4[4076,267693 -static wchar_t c2u_F5[4112,270066 -static wchar_t c2u_F6[4148,272439 -static wchar_t c2u_F7[4184,274812 -static wchar_t c2u_F8[4220,277185 -static wchar_t c2u_F9[4256,279558 -static wchar_t c2u_FA[4292,281931 -static wchar_t c2u_FB[4328,284304 -static wchar_t c2u_FC[4364,286677 -static wchar_t c2u_FD[4400,289050 -static wchar_t *page_charset2uni[4436,291423 -static unsigned char u2c_01[4471,293581 -static unsigned char u2c_02[4500,295312 -static unsigned char u2c_03[4560,298995 -static unsigned char u2c_04[4615,302353 -static unsigned char u2c_11[4639,303759 -static unsigned char u2c_20[4706,307897 -static unsigned char u2c_21[4753,310735 -static unsigned char u2c_22[4811,314288 -static unsigned char u2c_23[4857,317061 -static unsigned char u2c_24[4865,317427 -static unsigned char u2c_25[4928,321305 -static unsigned char u2c_26[4985,324793 -static unsigned char u2c_30[5016,326654 -static unsigned char u2c_31[5082,330727 -static unsigned char u2c_32[5126,333370 -static unsigned char u2c_33[5175,336338 -static unsigned char u2c_4E[5235,340021 -static unsigned char u2c_4F[5302,344159 -static unsigned char u2c_50[5369,348297 -static unsigned char u2c_51[5437,352500 -static unsigned char u2c_52[5505,356703 -static unsigned char u2c_53[5573,360906 -static unsigned char u2c_54[5640,365044 -static unsigned char u2c_55[5707,369182 -static unsigned char u2c_56[5775,373385 -static unsigned char u2c_57[5842,377523 -static unsigned char u2c_58[5910,381726 -static unsigned char u2c_59[5978,385929 -static unsigned char u2c_5A[6046,390132 -static unsigned char u2c_5B[6109,394010 -static unsigned char u2c_5C[6176,398148 -static unsigned char u2c_5D[6244,402351 -static unsigned char u2c_5E[6312,406554 -static unsigned char u2c_5F[6379,410692 -static unsigned char u2c_60[6447,414895 -static unsigned char u2c_61[6514,419033 -static unsigned char u2c_62[6582,423236 -static unsigned char u2c_63[6650,427439 -static unsigned char u2c_64[6716,431512 -static unsigned char u2c_65[6784,435715 -static unsigned char u2c_66[6852,439918 -static unsigned char u2c_67[6920,444121 -static unsigned char u2c_68[6988,448324 -static unsigned char u2c_69[7055,452462 -static unsigned char u2c_6A[7123,456665 -static unsigned char u2c_6B[7190,460803 -static unsigned char u2c_6C[7254,464746 -static unsigned char u2c_6D[7319,468754 -static unsigned char u2c_6E[7386,472892 -static unsigned char u2c_6F[7454,477095 -static unsigned char u2c_70[7522,481298 -static unsigned char u2c_71[7590,485501 -static unsigned char u2c_72[7658,489704 -static unsigned char u2c_73[7726,493907 -static unsigned char u2c_74[7794,498110 -static unsigned char u2c_75[7860,502183 -static unsigned char u2c_76[7928,506386 -static unsigned char u2c_77[7996,510589 -static unsigned char u2c_78[8061,514597 -static unsigned char u2c_79[8128,518735 -static unsigned char u2c_7A[8195,522873 -static unsigned char u2c_7B[8263,527076 -static unsigned char u2c_7C[8326,530954 -static unsigned char u2c_7D[8394,535157 -static unsigned char u2c_7E[8461,539295 -static unsigned char u2c_7F[8505,541938 -static unsigned char u2c_80[8573,546141 -static unsigned char u2c_81[8641,550344 -static unsigned char u2c_82[8709,554547 -static unsigned char u2c_83[8777,558750 -static unsigned char u2c_84[8845,562953 -static unsigned char u2c_85[8913,567156 -static unsigned char u2c_86[8981,571359 -static unsigned char u2c_87[9049,575562 -static unsigned char u2c_88[9117,579765 -static unsigned char u2c_89[9185,583968 -static unsigned char u2c_8A[9252,588106 -static unsigned char u2c_8B[9320,592309 -static unsigned char u2c_8C[9363,594887 -static unsigned char u2c_8D[9431,599090 -static unsigned char u2c_8E[9496,603098 -static unsigned char u2c_8F[9564,607301 -static unsigned char u2c_90[9632,611504 -static unsigned char u2c_91[9700,615707 -static unsigned char u2c_92[9766,619780 -static unsigned char u2c_93[9834,623983 -static unsigned char u2c_94[9900,628056 -static unsigned char u2c_95[9935,630177 -static unsigned char u2c_96[9996,633925 -static unsigned char u2c_97[10063,638063 -static unsigned char u2c_98[10131,642266 -static unsigned char u2c_99[10199,646469 -static unsigned char u2c_9A[10267,650672 -static unsigned char u2c_9B[10331,654615 -static unsigned char u2c_9C[10394,658493 -static unsigned char u2c_9D[10460,662566 -static unsigned char u2c_9E[10527,666704 -static unsigned char u2c_9F[10593,670777 -static unsigned char u2c_AC[10637,673420 -static unsigned char u2c_AD[10705,677623 -static unsigned char u2c_AE[10773,681826 -static unsigned char u2c_AF[10841,686029 -static unsigned char u2c_B0[10909,690232 -static unsigned char u2c_B1[10977,694435 -static unsigned char u2c_B2[11045,698638 -static unsigned char u2c_B3[11113,702841 -static unsigned char u2c_B4[11181,707044 -static unsigned char u2c_B5[11249,711247 -static unsigned char u2c_B6[11317,715450 -static unsigned char u2c_B7[11385,719653 -static unsigned char u2c_B8[11453,723856 -static unsigned char u2c_B9[11521,728059 -static unsigned char u2c_BA[11589,732262 -static unsigned char u2c_BB[11657,736465 -static unsigned char u2c_BC[11725,740668 -static unsigned char u2c_BD[11793,744871 -static unsigned char u2c_BE[11861,749074 -static unsigned char u2c_BF[11929,753277 -static unsigned char u2c_C0[11997,757480 -static unsigned char u2c_C1[12065,761683 -static unsigned char u2c_C2[12133,765886 -static unsigned char u2c_C3[12201,770089 -static unsigned char u2c_C4[12269,774292 -static unsigned char u2c_C5[12337,778495 -static unsigned char u2c_C6[12405,782698 -static unsigned char u2c_C7[12473,786901 -static unsigned char u2c_C8[12541,791104 -static unsigned char u2c_C9[12609,795307 -static unsigned char u2c_CA[12677,799510 -static unsigned char u2c_CB[12745,803713 -static unsigned char u2c_CC[12813,807916 -static unsigned char u2c_CD[12881,812119 -static unsigned char u2c_CE[12949,816322 -static unsigned char u2c_CF[13017,820525 -static unsigned char u2c_D0[13085,824728 -static unsigned char u2c_D1[13153,828931 -static unsigned char u2c_D2[13221,833134 -static unsigned char u2c_D3[13289,837337 -static unsigned char u2c_D4[13357,841540 -static unsigned char u2c_D5[13425,845743 -static unsigned char u2c_D6[13493,849946 -static unsigned char u2c_D7[13561,854149 -static unsigned char u2c_DC[13606,856857 -static unsigned char u2c_F9[13610,856963 -static unsigned char u2c_FA[13678,861166 -static unsigned char u2c_FF[13693,861987 -static unsigned char *page_uni2charset[13755,865800 -static unsigned char charset2lower[13789,867963 -static unsigned char charset2upper[13825,870092 -static int uni2char(13861,872221 -static int char2uni(13892,872774 -static struct nls_table table 13923,873248 -static int __init init_nls_cp949(13933,873464 -static void __exit exit_nls_cp949(13938,873538 -module_init(13943,873608 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp1251.c,542 -static wchar_t charset2uni[16,373 -static unsigned char page00[99,2765 -static unsigned char page04[135,4887 -static unsigned char page20[158,6164 -static unsigned char page21[169,6725 -static unsigned char *page_uni2charset[177,7091 -static unsigned char charset2lower[185,7471 -static unsigned char charset2upper[220,9599 -static int uni2char(255,11727 -static int char2uni(272,12086 -static struct nls_table table 280,12254 -static int __init init_nls_cp1251(289,12450 -static void __exit exit_nls_cp1251(294,12525 -module_init(299,12596 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-2.c,511 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page01[135,4829 -static unsigned char page02[154,5910 -static unsigned char *page_uni2charset[186,7772 -static unsigned char charset2lower[190,7890 -static unsigned char charset2upper[226,10019 -static int uni2char(262,12148 -static int char2uni(279,12507 -static struct nls_table table 287,12675 -static int __init init_nls_iso8859_2(296,12874 -static void __exit exit_nls_iso8859_2(301,12952 -module_init(306,13026 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp862.c,698 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page03[158,6098 -static unsigned char page05[187,7765 -static unsigned char page20[221,9757 -static unsigned char page22[246,11164 -static unsigned char page23[262,12050 -static unsigned char page25[270,12416 -static unsigned char *page_uni2charset[295,13823 -static unsigned char charset2lower[303,14205 -static unsigned char charset2upper[339,16334 -static int uni2char(375,18463 -static int char2uni(392,18822 -static struct nls_table table 400,18990 -static int __init init_nls_cp862(409,19185 -static void __exit exit_nls_cp862(414,19259 -module_init(419,19329 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp775.c,579 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page20[154,5902 -static unsigned char page22[161,6203 -static unsigned char page25[168,6504 -static unsigned char *page_uni2charset[193,7911 -static unsigned char charset2lower[201,8293 -static unsigned char charset2upper[237,10422 -static int uni2char(273,12551 -static int char2uni(290,12910 -static struct nls_table table 298,13078 -static int __init init_nls_cp775(307,13273 -static void __exit exit_nls_cp775(312,13347 -module_init(317,13417 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-9.c,472 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page01[135,4829 -static unsigned char *page_uni2charset[150,5650 -static unsigned char charset2lower[154,5768 -static unsigned char charset2upper[190,7897 -static int uni2char(226,10026 -static int char2uni(243,10385 -static struct nls_table table 251,10553 -static int __init init_nls_iso8859_9(260,10752 -static void __exit exit_nls_iso8859_9(265,10830 -module_init(270,10904 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp737.c,580 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page03[134,4756 -static unsigned char page20[164,6488 -static unsigned char page22[183,7569 -static unsigned char page25[199,8455 -static unsigned char *page_uni2charset[224,9862 -static unsigned char charset2lower[232,10244 -static unsigned char charset2upper[268,12373 -static int uni2char(304,14502 -static int char2uni(321,14861 -static struct nls_table table 329,15029 -static int __init init_nls_cp737(338,15224 -static void __exit exit_nls_cp737(343,15298 -module_init(348,15368 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-3.c,511 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page01[135,4829 -static unsigned char page02[154,5910 -static unsigned char *page_uni2charset[186,7772 -static unsigned char charset2lower[190,7890 -static unsigned char charset2upper[226,10019 -static int uni2char(262,12148 -static int char2uni(279,12507 -static struct nls_table table 287,12675 -static int __init init_nls_iso8859_3(296,12874 -static void __exit exit_nls_iso8859_3(301,12952 -module_init(306,13026 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-7.c,549 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page02[127,4309 -static unsigned char page03[155,5911 -static unsigned char page20[185,7643 -static unsigned char *page_uni2charset[191,7879 -static unsigned char charset2lower[199,8261 -static unsigned char charset2upper[235,10390 -static int uni2char(271,12519 -static int char2uni(288,12878 -static struct nls_table table 296,13046 -static int __init init_nls_iso8859_7(305,13245 -static void __exit exit_nls_iso8859_7(310,13323 -module_init(315,13397 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_utf8.c,234 -static unsigned char identity[12,217 -static int uni2char(14,254 -static int char2uni(25,434 -static struct nls_table table 36,641 -static int __init init_nls_utf8(45,845 -static void __exit exit_nls_utf8(54,976 -module_init(59,1052 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_base.c,820 -static struct nls_table default_table;22,424 -static struct nls_table *tables 23,463 -static spinlock_t nls_lock 24,513 -struct utf8_table utf8_table30,677 -static struct utf8_table utf8_table[38,779 -utf8_mbtowc(50,1346 -utf8_mbstowcs(80,1772 -utf8_wctomb(109,2174 -utf8_wcstombs(137,2569 -int register_nls(163,2975 -int unregister_nls(186,3329 -static struct nls_table *find_nls(203,3607 -struct nls_table *load_nls(219,3956 -void unload_nls(241,4311 -wchar_t charset2uni[246,4380 -static unsigned char page00[329,6701 -static unsigned char *page_uni2charset[365,8823 -static unsigned char charset2lower[369,8883 -static unsigned char charset2upper[405,11012 -static int uni2char(442,13142 -static int char2uni(459,13501 -static struct nls_table default_table 467,13669 -struct nls_table *load_nls_default(476,13899 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp855.c,540 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page04[127,4301 -static unsigned char page21[142,5122 -static unsigned char page25[148,5358 -static unsigned char *page_uni2charset[173,6765 -static unsigned char charset2lower[181,7147 -static unsigned char charset2upper[217,9276 -static int uni2char(253,11405 -static int char2uni(270,11764 -static struct nls_table table 278,11932 -static int __init init_nls_cp855(287,12127 -static void __exit exit_nls_cp855(292,12201 -module_init(297,12271 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp860.c,619 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page03[135,4821 -static unsigned char page20[164,6488 -static unsigned char page22[189,7895 -static unsigned char page23[205,8781 -static unsigned char page25[213,9147 -static unsigned char *page_uni2charset[238,10554 -static unsigned char charset2lower[246,10936 -static unsigned char charset2upper[282,13065 -static int uni2char(318,15194 -static int char2uni(335,15553 -static struct nls_table table 343,15721 -static int __init init_nls_cp860(352,15916 -static void __exit exit_nls_cp860(357,15990 -module_init(362,16060 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp861.c,659 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page03[158,6098 -static unsigned char page20[187,7765 -static unsigned char page22[212,9172 -static unsigned char page23[228,10058 -static unsigned char page25[236,10424 -static unsigned char *page_uni2charset[261,11831 -static unsigned char charset2lower[269,12213 -static unsigned char charset2upper[305,14342 -static int uni2char(341,16471 -static int char2uni(358,16830 -static struct nls_table table 366,16998 -static int __init init_nls_cp861(375,17193 -static void __exit exit_nls_cp861(380,17267 -module_init(385,17337 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp1250.c,581 -static wchar_t charset2uni[16,373 -static unsigned char page00[99,2766 -static unsigned char page01[135,4889 -static unsigned char page02[155,5972 -static unsigned char page20[187,7835 -static unsigned char page21[213,9308 -static unsigned char *page_uni2charset[221,9675 -static unsigned char charset2lower[229,9983 -static unsigned char charset2upper[265,12113 -static int uni2char(301,14243 -static int char2uni(318,14700 -static struct nls_table table 326,14903 -static int __init init_nls_cp1250(335,15099 -static void __exit exit_nls_cp1250(339,15180 -module_init(344,15258 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-5.c,509 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page04[125,4179 -static unsigned char page21[140,5000 -static unsigned char *page_uni2charset[146,5236 -static unsigned char charset2lower[154,5618 -static unsigned char charset2upper[190,7747 -static int uni2char(226,9876 -static int char2uni(243,10235 -static struct nls_table table 251,10403 -static int __init init_nls_iso8859_5(260,10602 -static void __exit exit_nls_iso8859_5(265,10680 -module_init(270,10754 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_koi8-u.c,581 -static wchar_t charset2uni[14,258 -static unsigned char page00[97,2586 -static unsigned char page04[132,4643 -static unsigned char page22[155,5920 -static unsigned char page23[171,6806 -static unsigned char page25[179,7172 -static unsigned char *page_uni2charset[204,8579 -static unsigned char charset2lower[212,8961 -static unsigned char charset2upper[248,11090 -static int uni2char(284,13219 -static int char2uni(301,13578 -static struct nls_table table 309,13746 -static int __init init_nls_koi8_u(318,13942 -static void __exit exit_nls_koi8_u(323,14017 -module_init(328,14088 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp852.c,541 -static wchar_t charset2uni[16,371 -static unsigned char page00[99,2699 -static unsigned char page01[135,4821 -static unsigned char page02[154,5902 -static unsigned char page25[186,7764 -static unsigned char *page_uni2charset[211,9171 -static unsigned char charset2lower[219,9553 -static unsigned char charset2upper[255,11682 -static int uni2char(291,13811 -static int char2uni(308,14170 -static struct nls_table table 316,14338 -static int __init init_nls_cp852(325,14533 -static void __exit exit_nls_cp852(330,14607 -module_init(335,14677 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-1.c,430 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char *page_uni2charset[135,4829 -static unsigned char charset2lower[139,4947 -static unsigned char charset2upper[175,7076 -static int uni2char(211,9205 -static int char2uni(228,9564 -static struct nls_table table 236,9732 -static int __init init_nls_iso8859_1(245,9931 -static void __exit exit_nls_iso8859_1(250,10009 -module_init(255,10083 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_koi8-r.c,581 -static wchar_t charset2uni[16,373 -static unsigned char page00[99,2701 -static unsigned char page04[134,4758 -static unsigned char page22[148,5514 -static unsigned char page23[164,6400 -static unsigned char page25[172,6766 -static unsigned char *page_uni2charset[197,8173 -static unsigned char charset2lower[205,8555 -static unsigned char charset2upper[241,10684 -static int uni2char(277,12813 -static int char2uni(294,13172 -static struct nls_table table 302,13340 -static int __init init_nls_koi8_r(311,13536 -static void __exit exit_nls_koi8_r(316,13611 -module_init(321,13682 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_euc-jp.c,1434 -static struct nls_table *p_nls;15,361 -#define IS_SJIS_LOW_BYTE(IS_SJIS_LOW_BYTE17,394 -#define IS_SJIS_JISX0208(IS_SJIS_JISX020819,522 -#define IS_SJIS_JISX0201KANA(IS_SJIS_JISX0201KANA22,663 -#define IS_SJIS_UDC_LOW(IS_SJIS_UDC_LOW23,728 -#define IS_SJIS_UDC_HI(IS_SJIS_UDC_HI25,823 -#define IS_SJIS_IBM(IS_SJIS_IBM27,917 -#define IS_SJIS_NECIBM(IS_SJIS_NECIBM29,1008 -#define MAP_SJIS2EUC(MAP_SJIS2EUC31,1102 -#define SS2 41,1471 -#define SS3 42,1513 -#define IS_EUC_BYTE(IS_EUC_BYTE43,1555 -#define IS_EUC_JISX0208(IS_EUC_JISX020844,1612 -#define IS_EUC_JISX0201KANA(IS_EUC_JISX0201KANA45,1677 -#define IS_EUC_UDC_LOW(IS_EUC_UDC_LOW46,1758 -#define IS_EUC_UDC_HI(IS_EUC_UDC_HI48,1847 -#define MAP_EUC2SJIS(MAP_EUC2SJIS49,1911 -static unsigned char sjisibm2euc_map[60,2321 -#define IS_EUC_IBM2JISX0208(IS_EUC_IBM2JISX0208141,7909 -} euc2sjisibm_jisx0212_map[148,8140 -static unsigned char euc2sjisibm_g3upper_map[246,15054 -#define MAP_ELEMENT_OF(MAP_ELEMENT_OF271,16618 -static inline int sjisibm2euc(286,17345 -static inline int euc2sjisibm_jisx0212(306,17899 -static inline int euc2sjisibm_g3upper(332,18625 -static inline int euc2sjisibm(352,19133 -static inline int sjisnec2sjisibm(378,19692 -static int uni2char(411,20446 -static int char2uni(481,22048 -static struct nls_table table 554,23946 -static int __init init_nls_euc_jp(561,24076 -static void __exit exit_nls_euc_jp(574,24308 -module_init(580,24399 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-4.c,511 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page01[135,4829 -static unsigned char page02[154,5910 -static unsigned char *page_uni2charset[186,7772 -static unsigned char charset2lower[190,7890 -static unsigned char charset2upper[226,10019 -static int uni2char(262,12148 -static int char2uni(279,12507 -static struct nls_table table 287,12675 -static int __init init_nls_iso8859_4(296,12874 -static void __exit exit_nls_iso8859_4(301,12952 -module_init(306,13026 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp932.c,5976 -static wchar_t c2u_81[16,383 -static wchar_t c2u_82[52,2756 -static wchar_t c2u_83[87,5056 -static wchar_t c2u_84[118,7064 -static wchar_t c2u_87[146,8853 -static wchar_t c2u_88[170,10350 -static wchar_t c2u_89[206,12723 -static wchar_t c2u_8A[242,15096 -static wchar_t c2u_8B[278,17469 -static wchar_t c2u_8C[314,19842 -static wchar_t c2u_8D[350,22215 -static wchar_t c2u_8E[386,24588 -static wchar_t c2u_8F[422,26961 -static wchar_t c2u_90[458,29334 -static wchar_t c2u_91[494,31707 -static wchar_t c2u_92[530,34080 -static wchar_t c2u_93[566,36453 -static wchar_t c2u_94[602,38826 -static wchar_t c2u_95[638,41199 -static wchar_t c2u_96[674,43572 -static wchar_t c2u_97[710,45945 -static wchar_t c2u_98[746,48318 -static wchar_t c2u_99[782,50691 -static wchar_t c2u_9A[818,53064 -static wchar_t c2u_9B[854,55437 -static wchar_t c2u_9C[890,57810 -static wchar_t c2u_9D[926,60183 -static wchar_t c2u_9E[962,62556 -static wchar_t c2u_9F[998,64929 -static wchar_t c2u_E0[1034,67302 -static wchar_t c2u_E1[1070,69675 -static wchar_t c2u_E2[1106,72048 -static wchar_t c2u_E3[1142,74421 -static wchar_t c2u_E4[1178,76794 -static wchar_t c2u_E5[1214,79167 -static wchar_t c2u_E6[1250,81540 -static wchar_t c2u_E7[1286,83913 -static wchar_t c2u_E8[1322,86286 -static wchar_t c2u_E9[1358,88659 -static wchar_t c2u_EA[1394,91032 -static wchar_t c2u_ED[1430,93405 -static wchar_t c2u_EE[1466,95778 -static wchar_t c2u_FA[1502,98151 -static wchar_t c2u_FB[1538,100524 -static wchar_t c2u_FC[1574,102897 -static wchar_t *page_charset2uni[1587,103662 -static unsigned char u2c_00hi[1622,105820 -static unsigned char u2c_03[1649,107601 -static unsigned char u2c_04[1704,110959 -static unsigned char u2c_20[1728,112365 -static unsigned char u2c_21[1746,113381 -static unsigned char u2c_22[1804,116934 -static unsigned char u2c_23[1856,120097 -static unsigned char u2c_24[1864,120463 -static unsigned char u2c_25[1896,122389 -static unsigned char u2c_26[1960,126332 -static unsigned char u2c_30[1991,128193 -static unsigned char u2c_32[2059,132396 -static unsigned char u2c_33[2106,135234 -static unsigned char u2c_4E[2162,138657 -static unsigned char u2c_4F[2230,142860 -static unsigned char u2c_50[2298,147063 -static unsigned char u2c_51[2365,151201 -static unsigned char u2c_52[2433,155404 -static unsigned char u2c_53[2501,159607 -static unsigned char u2c_54[2568,163745 -static unsigned char u2c_55[2636,167948 -static unsigned char u2c_56[2704,172151 -static unsigned char u2c_57[2772,176354 -static unsigned char u2c_58[2840,180557 -static unsigned char u2c_59[2908,184760 -static unsigned char u2c_5A[2976,188963 -static unsigned char u2c_5B[3043,193101 -static unsigned char u2c_5C[3111,197304 -static unsigned char u2c_5D[3179,201507 -static unsigned char u2c_5E[3247,205710 -static unsigned char u2c_5F[3315,209913 -static unsigned char u2c_60[3383,214116 -static unsigned char u2c_61[3450,218254 -static unsigned char u2c_62[3518,222457 -static unsigned char u2c_63[3586,226660 -static unsigned char u2c_64[3653,230798 -static unsigned char u2c_65[3721,235001 -static unsigned char u2c_66[3788,239139 -static unsigned char u2c_67[3856,243342 -static unsigned char u2c_68[3924,247545 -static unsigned char u2c_69[3991,251683 -static unsigned char u2c_6A[4059,255886 -static unsigned char u2c_6B[4126,260024 -static unsigned char u2c_6C[4191,264032 -static unsigned char u2c_6D[4256,268040 -static unsigned char u2c_6E[4324,272243 -static unsigned char u2c_6F[4392,276446 -static unsigned char u2c_70[4460,280649 -static unsigned char u2c_71[4528,284852 -static unsigned char u2c_72[4596,289055 -static unsigned char u2c_73[4664,293258 -static unsigned char u2c_74[4732,297461 -static unsigned char u2c_75[4799,301599 -static unsigned char u2c_76[4867,305802 -static unsigned char u2c_77[4935,310005 -static unsigned char u2c_78[5003,314208 -static unsigned char u2c_79[5071,318411 -static unsigned char u2c_7A[5138,322549 -static unsigned char u2c_7B[5206,326752 -static unsigned char u2c_7C[5272,330825 -static unsigned char u2c_7D[5340,335028 -static unsigned char u2c_7E[5407,339166 -static unsigned char u2c_7F[5451,341809 -static unsigned char u2c_80[5519,346012 -static unsigned char u2c_81[5587,350215 -static unsigned char u2c_82[5655,354418 -static unsigned char u2c_83[5722,358556 -static unsigned char u2c_84[5790,362759 -static unsigned char u2c_85[5858,366962 -static unsigned char u2c_86[5926,371165 -static unsigned char u2c_87[5994,375368 -static unsigned char u2c_88[6062,379571 -static unsigned char u2c_89[6130,383774 -static unsigned char u2c_8A[6197,387912 -static unsigned char u2c_8B[6265,392115 -static unsigned char u2c_8C[6308,394693 -static unsigned char u2c_8D[6376,398896 -static unsigned char u2c_8E[6444,403099 -static unsigned char u2c_8F[6512,407302 -static unsigned char u2c_90[6580,411505 -static unsigned char u2c_91[6648,415708 -static unsigned char u2c_92[6716,419911 -static unsigned char u2c_93[6784,424114 -static unsigned char u2c_94[6851,428252 -static unsigned char u2c_95[6888,430440 -static unsigned char u2c_96[6950,434253 -static unsigned char u2c_97[7017,438391 -static unsigned char u2c_98[7085,442594 -static unsigned char u2c_99[7153,446797 -static unsigned char u2c_9A[7221,451000 -static unsigned char u2c_9B[7288,455138 -static unsigned char u2c_9C[7354,459211 -static unsigned char u2c_9D[7420,463284 -static unsigned char u2c_9E[7488,467487 -static unsigned char u2c_9F[7556,471690 -static unsigned char u2c_DC[7601,474398 -static unsigned char u2c_F9[7605,474504 -static unsigned char u2c_FA[7665,478187 -static unsigned char u2c_FF[7680,479008 -static unsigned char *page_uni2charset[7742,482821 -static unsigned char charset2lower[7776,484984 -static unsigned char charset2upper[7812,487113 -static int uni2char(7848,489242 -static int char2uni(7888,490045 -static struct nls_table table 7921,490657 -static int __init init_nls_cp932(7931,490871 -static void __exit exit_nls_cp932(7936,490945 -module_init(7941,491015 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_cp1255.c,622 -static wchar_t charset2uni[14,258 -static unsigned char page00[97,2586 -static unsigned char page01[132,4643 -static unsigned char page02[155,5920 -static unsigned char page05[187,7782 -static unsigned char page20[222,9839 -static unsigned char page21[248,11311 -static unsigned char *page_uni2charset[256,11677 -static unsigned char charset2lower[264,12059 -static unsigned char charset2upper[300,14188 -static int uni2char(336,16317 -static int char2uni(353,16676 -static struct nls_table table 361,16844 -static int __init init_nls_cp1255(371,17064 -static void __exit exit_nls_cp1255(376,17139 -module_init(381,17210 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nls/nls_iso8859-6.c,469 -static wchar_t charset2uni[16,379 -static unsigned char page00[99,2707 -static unsigned char page06[125,4179 -static unsigned char *page_uni2charset[142,5130 -static unsigned char charset2lower[146,5248 -static unsigned char charset2upper[182,7377 -static int uni2char(217,9441 -static int char2uni(234,9800 -static struct nls_table table 242,9968 -static int __init init_nls_iso8859_6(251,10167 -static void __exit exit_nls_iso8859_6(256,10245 -module_init(261,10319 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hugetlbfs/inode.c,2394 -#define HUGETLBFS_MAGIC 33,726 -static struct super_operations hugetlbfs_ops;35,762 -static struct address_space_operations hugetlbfs_aops;36,808 -struct file_operations hugetlbfs_file_operations;37,863 -static struct inode_operations hugetlbfs_dir_inode_operations;38,913 -static struct inode_operations hugetlbfs_inode_operations;39,976 -static struct backing_dev_info hugetlbfs_backing_dev_info 41,1036 -int sysctl_hugetlb_shm_group;46,1200 -static int hugetlbfs_file_mmap(48,1231 -hugetlb_get_unmapped_area(103,2513 -static int hugetlbfs_readpage(153,3655 -static int hugetlbfs_prepare_write(159,3766 -static int hugetlbfs_commit_write(165,3894 -void huge_pagevec_release(171,4021 -void truncate_huge_page(181,4178 -void truncate_hugepages(189,4325 -static void hugetlbfs_delete_inode(222,5000 -static void hugetlbfs_forget_inode(247,5550 -static void hugetlbfs_drop_inode(286,6487 -hugetlb_vmtruncate_list(299,6741 -static int hugetlb_vmtruncate(328,7423 -static int hugetlbfs_setattr(348,7919 -static struct inode *hugetlbfs_get_inode(373,8429 -static int hugetlbfs_mknod(428,9865 -static int hugetlbfs_mkdir(452,10403 -static int hugetlbfs_create(460,10598 -static int hugetlbfs_symlink(465,10762 -int hugetlbfs_set_page_dirty(496,11377 -static int hugetlbfs_statfs(501,11441 -static void hugetlbfs_put_super(519,11926 -static kmem_cache_t *hugetlbfs_inode_cachep;529,12092 -static struct inode *hugetlbfs_alloc_inode(531,12138 -static void init_once(541,12351 -static void hugetlbfs_destroy_inode(550,12626 -static struct address_space_operations hugetlbfs_aops 556,12805 -struct file_operations hugetlbfs_file_operations 563,13029 -static struct inode_operations hugetlbfs_dir_inode_operations 569,13197 -static struct inode_operations hugetlbfs_inode_operations 582,13544 -static struct super_operations hugetlbfs_ops 586,13641 -hugetlbfs_parse_options(595,13893 -hugetlbfs_fill_super(641,14942 -int hugetlb_get_quota(690,16180 -void hugetlb_put_quota(707,16524 -static struct super_block *hugetlbfs_get_sb(718,16784 -static struct file_system_type hugetlbfs_fs_type 724,16979 -static struct vfsmount *hugetlbfs_vfsmount;730,17120 -static unsigned long hugetlbfs_counter(735,17217 -static int can_do_hugetlb_shm(747,17436 -struct file *hugetlb_zero_setup(754,17580 -static int __init init_hugetlbfs_fs(811,18861 -static void __exit exit_hugetlbfs_fs(841,19448 -module_init(847,19585 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/seq_file.c,443 -int seq_open(29,903 -ssize_t seq_read(51,1425 -static int traverse(150,3244 -loff_t seq_lseek(204,4255 -int seq_release(243,5149 -int seq_escape(262,5661 -int seq_printf(288,6181 -int seq_path(307,6532 -static void *single_start(339,7197 -static void *single_next(344,7289 -static void single_stop(350,7384 -int single_open(354,7442 -int single_release(375,7895 -int seq_release_private(384,8126 -int seq_putc(394,8354 -int seq_puts(404,8505 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/quota.c,194 -static int check_quotactl_valid(18,516 -static struct super_block *get_super_to_sync(107,2491 -void sync_dquots(137,3208 -static int do_quotactl(153,3543 -asmlinkage long sys_quotactl(267,6244 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/romfs/inode.c,1286 -struct romfs_inode_info romfs_inode_info81,2503 -static inline unsigned long romfs_maxsize(88,2710 -static inline struct romfs_inode_info *ROMFS_I(93,2819 -romfs_checksum(99,2968 -static struct super_operations romfs_ops;113,3144 -static int romfs_fill_super(115,3187 -romfs_statfs(183,4532 -romfs_strnlen(196,4836 -romfs_copyfrom(238,5776 -static unsigned char romfs_dtype_table[273,6608 -romfs_readdir(278,6738 -romfs_lookup(336,8020 -romfs_readpage(419,10275 -static struct address_space_operations romfs_aops 463,11207 -static struct file_operations romfs_dir_operations 467,11293 -static struct inode_operations romfs_dir_inode_operations 472,11407 -static mode_t romfs_modemap[476,11499 -romfs_read_inode(483,11652 -static kmem_cache_t * romfs_inode_cachep;554,13510 -static struct inode *romfs_alloc_inode(556,13553 -static void romfs_destroy_inode(565,13784 -static void init_once(570,13896 -static int init_inodecache(579,14167 -static void destroy_inodecache(590,14434 -static int romfs_remount(596,14595 -static struct super_operations romfs_ops 602,14706 -static struct super_block *romfs_get_sb(610,14918 -static struct file_system_type romfs_fs_type 616,15114 -static int __init init_romfs_fs(624,15296 -static void __exit exit_romfs_fs(639,15523 -module_init(647,15671 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ioctl.c,65 -static int file_ioctl(18,304 -asmlinkage long sys_ioctl(54,1166 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/bio.c,1688 -#define BIO_POOL_SIZE 29,952 -static mempool_t *bio_pool;31,979 -static kmem_cache_t *bio_slab;32,1007 -#define BIOVEC_NR_POOLS 34,1039 -#define BIO_SPLIT_ENTRIES 40,1186 -mempool_t *bio_split_pool;41,1215 -struct biovec_pool biovec_pool43,1243 -#define BV(BV56,1490 -static struct biovec_pool bvec_array[57,1554 -static inline struct bio_vec *bvec_alloc(62,1685 -void bio_destructor(94,2425 -inline void bio_init(110,2758 -struct bio *bio_alloc(138,3502 -void bio_put(173,4294 -inline int bio_phys_segments(186,4497 -inline int bio_hw_segments(194,4681 -inline void __bio_clone(211,5096 -struct bio *bio_clone(249,6096 -int bio_get_nr_vecs(268,6551 -static int __bio_add_page(282,6891 -int bio_add_page(368,9050 -struct bio_map_data bio_map_data375,9237 -static void bio_set_map_data(380,9311 -static void bio_free_map_data(386,9489 -static struct bio_map_data *bio_alloc_map_data(392,9584 -int bio_uncopy_user(414,10062 -struct bio *bio_copy_user(447,10922 -static struct bio *__bio_map_user(525,12343 -struct bio *bio_map_user(614,14355 -static void __bio_unmap_user(643,14988 -void bio_unmap_user(670,15497 -void bio_set_pages_dirty(705,16915 -static void bio_release_pages(718,17157 -static spinlock_t bio_dirty_lock 745,17982 -static struct bio *bio_dirty_list;746,18037 -static void bio_dirty_fn(751,18112 -void bio_check_pages_dirty(771,18477 -void bio_endio(816,19757 -void bio_pair_release(834,20192 -static int bio_pair_end_1(844,20416 -static int bio_pair_end_2(858,20652 -struct bio_pair *bio_split(876,20971 -static void *bio_pair_alloc(911,21772 -static void bio_pair_free(916,21885 -static void __init biovec_init_pools(921,21950 -static int __init init_bio(967,22927 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/eventpoll.c,3041 -#define EVENTPOLLFS_MAGIC 78,2689 -#define DEBUG_EPOLL 80,2769 -#define DPRINTK(DPRINTK83,2812 -#define DNPRINTK(DNPRINTK84,2840 -#define DPRINTK(DPRINTK86,2946 -#define DNPRINTK(DNPRINTK87,2974 -#define DEBUG_EPI 90,3040 -#define EPI_SLAB_DEBUG 93,3080 -#define EPI_SLAB_DEBUG 95,3188 -#define EP_PRIVATE_BITS 99,3293 -#define EP_MAX_POLLWAKE_NESTS 102,3402 -#define EPI_MEM_ALLOC(EPI_MEM_ALLOC105,3497 -#define EPI_MEM_FREE(EPI_MEM_FREE108,3637 -#define PWQ_MEM_ALLOC(PWQ_MEM_ALLOC111,3760 -#define PWQ_MEM_FREE(PWQ_MEM_FREE114,3912 -#define IS_FILE_EPOLL(IS_FILE_EPOLL117,4022 -#define EP_SET_FFD(EP_SET_FFD120,4141 -#define EP_CMP_FFD(EP_CMP_FFD123,4246 -#define EP_RB_INITNODE(EP_RB_INITNODE127,4435 -#define EP_RB_ERASE(EP_RB_ERASE130,4561 -#define EP_RB_LINKED(EP_RB_LINKED133,4714 -#define EP_LIST_DEL(EP_LIST_DEL140,4930 -#define EP_IS_LINKED(EP_IS_LINKED143,5050 -#define EP_ITEM_FROM_WAIT(EP_ITEM_FROM_WAIT146,5148 -#define EP_ITEM_FROM_EPQUEUE(EP_ITEM_FROM_EPQUEUE149,5305 -#define EP_OP_HASH_EVENT(EP_OP_HASH_EVENT152,5460 -struct epoll_filefd epoll_filefd155,5515 -struct wake_task_node wake_task_node167,5956 -struct poll_safewake poll_safewake177,6170 -struct eventpoll eventpoll187,6411 -struct eppoll_entry eppoll_entry213,7105 -struct epitem epitem234,7629 -struct ep_pqueue ep_pqueue276,8781 -struct semaphore epsem;323,11012 -static struct poll_safewake psw;326,11071 -static kmem_cache_t *epi_cache;329,11155 -static kmem_cache_t *pwq_cache;332,11244 -static struct vfsmount *eventpoll_mnt;335,11338 -static struct file_operations eventpoll_fops 338,11443 -static struct file_system_type eventpoll_fs_type 347,11661 -static struct dentry_operations eventpollfs_dentry_operations 354,11886 -static void ep_poll_safewake_init(361,12047 -static void ep_poll_safewake(381,12895 -void eventpoll_init_file(425,14090 -void eventpoll_release_file(438,14439 -asmlinkage long sys_epoll_create(476,15612 -sys_epoll_ctl(525,16770 -asmlinkage long sys_epoll_wait(627,19037 -static int ep_getfd(681,20396 -static int ep_file_init(752,21869 -static void ep_free(775,22345 -static struct epitem *ep_find(823,23800 -static void ep_use_epitem(859,24619 -static void ep_release_epitem(871,24887 -static void ep_ptable_queue_proc(883,25107 -static void ep_rbtree_insert(903,25618 -static int ep_insert(923,26058 -static int ep_modify(1021,28680 -static void ep_unregister_pollwait(1084,30506 -static int ep_unlink(1109,31139 -static int ep_remove(1156,32325 -static int ep_poll_callback(1206,33751 -static int ep_eventpoll_close(1254,35005 -static unsigned int ep_eventpoll_poll(1268,35254 -static int ep_collect_ready_items(1292,35926 -static int ep_send_events(1337,37109 -static void ep_reinject_items(1389,38767 -static int ep_events_transfer(1439,40075 -static int ep_poll(1468,40717 -static int eventpollfs_delete_dentry(1538,42567 -static struct inode *ep_eventpoll_inode(1545,42645 -eventpollfs_get_sb(1575,43341 -static int __init eventpoll_init(1582,43521 -static void __exit eventpoll_exit(1624,44617 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/inode.c,2340 -#define I_HASHBITS 55,1220 -#define I_HASHMASK 56,1252 -static unsigned int i_hash_mask;58,1284 -static unsigned int i_hash_shift;59,1317 -static struct hlist_head *inode_hashtable;75,1801 -spinlock_t inode_lock 83,2012 -struct inodes_stat_t inodes_stat;98,2552 -static kmem_cache_t * inode_cachep;100,2587 -static struct inode *alloc_inode(102,2624 -void destroy_inode(173,4529 -void inode_init_once(190,4939 -static void init_once(212,5663 -void __iget(224,5940 -void clear_inode(244,6406 -static void dispose_list(275,7135 -static int invalidate_list(299,7626 -int invalidate_inodes(346,8884 -int __invalidate_device(367,9368 -static int can_unuse(394,9885 -static void prune_icache(420,10708 -static int shrink_icache_memory(481,12331 -static struct inode * find_inode(503,13014 -static struct inode * find_inode_fast(528,13631 -struct inode *new_inode(555,14219 -void unlock_new_inode(576,14624 -static struct inode * get_new_inode(598,15214 -static struct inode * get_new_inode_fast(648,16408 -static inline unsigned long hash(687,17319 -ino_t iunique(711,18083 -struct inode *igrab(736,18546 -static inline struct inode *ifind(772,19603 -static inline struct inode *ifind_fast(805,20482 -struct inode *ilookup5(841,21555 -struct inode *ilookup(865,22273 -struct inode *iget5_locked(896,23515 -struct inode *iget_locked(932,24764 -void __insert_inode_hash(957,25398 -void remove_inode_hash(973,25804 -void generic_delete_inode(994,26438 -static void generic_forget_inode(1027,27204 -static void generic_drop_inode(1058,28009 -static inline void iput_final(1077,28446 -void iput(1094,28861 -sector_t bmap(1123,29545 -static int inode_times_differ(1138,29939 -void update_atime(1154,30430 -void inode_update_time(1186,31123 -int inode_needs_sync(1213,31620 -void remove_dquot_ref(1232,31991 -#define I_WAIT_TABLE_ORDER 1271,33225 -static struct i_wait_queue_head i_wait_queue_head1272,33254 -} ____cacheline_aligned_in_smp i_wait_queue_heads[1274,33312 -static wait_queue_head_t *i_waitq_head(1279,33464 -void __wait_on_inode(1284,33599 -static void __wait_on_freeing_inode(1313,34492 -void wake_up_inode(1326,34802 -static __initdata unsigned long ihash_entries;1338,35028 -static int __init set_ihash_entries(1339,35075 -void __init inode_init_early(1351,35312 -void __init inode_init(1368,35629 -void init_special_inode(1381,35980 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/rock.c,485 -#define SIG(SIG29,788 -#define CHECK_SP(CHECK_SP34,963 -#define CONTINUE_DECLS 42,1327 -#define CHECK_CE 46,1434 -#define SETUP_ROCK_RIDGE(SETUP_ROCK_RIDGE51,1613 -#define MAYBE_CONTINUE(MAYBE_CONTINUE64,2302 -int get_rock_ridge_filename(89,3086 -parse_rock_ridge_inode_internal(164,4781 -static char *get_symlink_chunk(362,10395 -int parse_rock_ridge_inode(430,11750 -static int rock_ridge_symlink_readpage(447,12349 -struct address_space_operations isofs_symlink_aops 552,14683 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/joliet.c,70 -uni16_to_x8(19,307 -wcsntombs_be(44,752 -get_joliet_filename(74,1240 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/export.c,232 -isofs_export_iget(23,614 -isofs_export_get_dentry(50,1174 -static struct dentry *isofs_export_get_parent(64,1721 -isofs_export_encode_fh(147,3956 -isofs_export_decode_fh(191,5087 -struct export_operations isofs_export_ops 223,5880 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/inode.c,3212 -#define BEQUIET40,1067 -static int check_malloc;43,1102 -static int check_bread;44,1127 -static void isofs_put_super(59,1801 -static kmem_cache_t *isofs_inode_cachep;82,2310 -static struct inode *isofs_alloc_inode(84,2352 -static void isofs_destroy_inode(93,2579 -static void init_once(98,2691 -static int init_inodecache(107,2958 -static void destroy_inodecache(118,3223 -static int isofs_remount(124,3382 -static struct super_operations isofs_sops 131,3533 -static struct dentry_operations isofs_dentry_ops[141,3778 -struct iso9660_options{iso9660_options162,4140 -isofs_hash_common(185,4521 -isofs_hashi_common(206,4862 -isofs_dentry_cmpi_common(234,5324 -isofs_dentry_cmp_common(258,5807 -isofs_hash(279,6235 -isofs_hashi(285,6348 -isofs_dentry_cmp(291,6463 -isofs_dentry_cmpi(297,6599 -isofs_hash_ms(304,6758 -isofs_hashi_ms(310,6874 -isofs_dentry_cmp_ms(316,6992 -isofs_dentry_cmpi_ms(322,7131 - Opt_block,329,7275 - Opt_block, Opt_check_r,329,7275 - Opt_block, Opt_check_r, Opt_check_s,329,7275 - Opt_block, Opt_check_r, Opt_check_s, Opt_cruft,329,7275 - Opt_block, Opt_check_r, Opt_check_s, Opt_cruft, Opt_gid,329,7275 - Opt_block, Opt_check_r, Opt_check_s, Opt_cruft, Opt_gid, Opt_ignore,329,7275 - Opt_iocharset,330,7345 - Opt_iocharset, Opt_map_a,330,7345 - Opt_iocharset, Opt_map_a, Opt_map_n,330,7345 - Opt_iocharset, Opt_map_a, Opt_map_n, Opt_map_o,330,7345 - Opt_iocharset, Opt_map_a, Opt_map_n, Opt_map_o, Opt_mode,330,7345 - Opt_iocharset, Opt_map_a, Opt_map_n, Opt_map_o, Opt_mode, Opt_nojoliet,330,7345 - Opt_norock,331,7418 - Opt_norock, Opt_sb,331,7418 - Opt_norock, Opt_sb, Opt_session,331,7418 - Opt_norock, Opt_sb, Opt_session, Opt_uid,331,7418 - Opt_norock, Opt_sb, Opt_session, Opt_uid, Opt_unhide,331,7418 - Opt_norock, Opt_sb, Opt_session, Opt_uid, Opt_unhide, Opt_utf8,331,7418 - Opt_norock, Opt_sb, Opt_session, Opt_uid, Opt_unhide, Opt_utf8, Opt_err,331,7418 - Opt_nocompress,332,7492 -static match_table_t tokens 335,7513 -static int parse_options(370,8389 -#define WE_OBEY_THE_WRITTEN_STANDARDS 505,11336 -static unsigned int isofs_get_last_session(507,11377 -static int isofs_fill_super(554,12815 -static int isofs_statfs 913,23740 -int isofs_get_blocks(932,24303 -static int isofs_get_block(1023,26764 -static int isofs_bmap(1034,27053 -struct buffer_head *isofs_bread(1047,27304 -static int isofs_readpage(1055,27488 -static sector_t _isofs_bmap(1060,27609 -static struct address_space_operations isofs_aops 1065,27748 -static inline void test_and_set_uid(1071,27887 -static inline void test_and_set_gid(1078,27981 -static int isofs_read_level3_size(1085,28103 -static void isofs_read_inode(1191,30378 -struct isofs_iget5_callback_data isofs_iget5_callback_data1362,35084 -static int isofs_iget5_test(1367,35168 -static int isofs_iget5_set(1376,35440 -struct inode *isofs_iget(1390,35918 -void * leak_check_malloc(1423,36518 -void leak_check_free_s(1430,36647 -struct buffer_head * leak_check_bread(1435,36735 -void leak_check_brelse(1440,36859 -static struct super_block *isofs_get_sb(1447,36957 -static struct file_system_type iso9660_fs_type 1453,37153 -static int __init init_iso9660_fs(1461,37339 -static void __exit exit_iso9660_fs(1485,37689 -module_init(1494,37854 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/zisofs.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/rock.h,856 -struct SU_SP{SU_SP6,239 -struct SU_CE{SU_CE11,329 -struct SU_ER{SU_ER17,399 -struct RR_RR{RR_RR25,556 -struct RR_PX{RR_PX29,615 -struct RR_PN{RR_PN36,698 -struct SL_component{SL_component42,756 -struct RR_SL{RR_SL48,865 -struct RR_NM{RR_NM53,958 -struct RR_CL{RR_CL58,1039 -struct RR_PL{RR_PL62,1077 -struct stamp{stamp66,1115 -struct RR_TF{RR_TF70,1173 -struct RR_ZF{RR_ZF76,1354 -#define TF_CREATE 83,1506 -#define TF_MODIFY 84,1526 -#define TF_ACCESS 85,1546 -#define TF_ATTRIBUTES 86,1566 -#define TF_BACKUP 87,1590 -#define TF_EXPIRATION 88,1611 -#define TF_EFFECTIVE 89,1636 -#define TF_LONG_FORM 90,1660 -struct rock_ridge{rock_ridge92,1686 -#define RR_PX 112,2044 -#define RR_PN 113,2085 -#define RR_SL 114,2123 -#define RR_NM 115,2161 -#define RR_CL 116,2200 -#define RR_PL 117,2235 -#define RR_RE 118,2271 -#define RR_TF 119,2316 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/util.c,21 -int iso_date(19,587 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/namei.c,82 -isofs_cmp(30,682 -isofs_find_entry(62,1319 -struct dentry *isofs_lookup(168,3786 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/compress.c,324 -static char zisofs_sink_page[48,1317 -static void *zisofs_zlib_workspace;54,1503 -static struct semaphore zisofs_zlib_semaphore;55,1539 -static int zisofs_readpage(62,1753 -struct address_space_operations zisofs_aops 327,9802 -static int initialized;333,9960 -int __init zisofs_init(335,9985 -void zisofs_cleanup(351,10287 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/isofs/dir.c,249 -struct file_operations isofs_dir_operations 30,718 -struct inode_operations isofs_dir_inode_operations 39,877 -int isofs_name_translate(44,962 -int get_acorn_filename(77,1741 -static int do_isofs_readdir(104,2561 -static int isofs_readdir(259,6249 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/efs/inode.c,253 -static int efs_readpage(16,309 -static sector_t _efs_bmap(20,425 -static struct address_space_operations efs_aops 24,559 -static inline void extent_copy(30,692 -void efs_read_inode(48,1323 -efs_extent_check(172,4976 -efs_block_t efs_map_block(192,5457 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/efs/namei.c,75 -static efs_ino_t efs_find_entry(14,234 -struct dentry *efs_lookup(60,1438 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/efs/super.c,678 -static struct super_block *efs_get_sb(21,471 -static struct file_system_type efs_fs_type 27,663 -static kmem_cache_t * efs_inode_cachep;35,839 -static struct inode *efs_alloc_inode(37,880 -static void efs_destroy_inode(46,1103 -static void init_once(51,1214 -static int init_inodecache(60,1481 -static void destroy_inodecache(71,1722 -static void efs_put_super(77,1879 -static int efs_remount(83,1977 -static struct super_operations efs_superblock_operations 89,2086 -static int __init init_efs_fs(98,2333 -static void __exit exit_efs_fs(114,2619 -module_init(119,2722 -static int efs_validate_super(204,4758 -static int efs_fill_super(220,5329 -static int efs_statfs(299,7111 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/efs/file.c,47 -int efs_get_block(12,179 -int efs_bmap(38,707 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/efs/symlink.c,98 -static int efs_symlink_readpage(15,263 -struct address_space_operations efs_symlink_aops 56,1171 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/efs/dir.c,138 -struct file_operations efs_dir_operations 13,196 -struct inode_operations efs_dir_inode_operations 18,299 -static int efs_readdir(22,380 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfsroot.c,2095 -#define NFSDBG_FACILITY 93,3848 -#define NFS_ROOT 96,3958 -static char nfs_root_name[99,4045 -static char nfs_root_name[256] __initdata 99,4045 -static __u32 servaddr __initdata 102,4122 -static char nfs_path[105,4194 -static char nfs_path[NFS_MAXPATHLEN] __initdata 105,4194 -static struct nfs_mount_data nfs_data __initdata 108,4276 -static int nfs_port __initdata 109,4355 -static int mount_port __initdata 110,4425 - Opt_port,121,4732 - Opt_port, Opt_rsize,121,4732 - Opt_port, Opt_rsize, Opt_wsize,121,4732 - Opt_port, Opt_rsize, Opt_wsize, Opt_timeo,121,4732 - Opt_port, Opt_rsize, Opt_wsize, Opt_timeo, Opt_retrans,121,4732 - Opt_port, Opt_rsize, Opt_wsize, Opt_timeo, Opt_retrans, Opt_acregmin,121,4732 - Opt_acregmax,122,4803 - Opt_acregmax, Opt_acdirmin,122,4803 - Opt_acregmax, Opt_acdirmin, Opt_acdirmax,122,4803 - Opt_soft,124,4884 - Opt_soft, Opt_hard,124,4884 - Opt_soft, Opt_hard, Opt_intr,124,4884 - Opt_nointr,125,4915 - Opt_nointr, Opt_posix,125,4915 - Opt_nointr, Opt_posix, Opt_noposix,125,4915 - Opt_nointr, Opt_posix, Opt_noposix, Opt_cto,125,4915 - Opt_nointr, Opt_posix, Opt_noposix, Opt_cto, Opt_nocto,125,4915 - Opt_nointr, Opt_posix, Opt_noposix, Opt_cto, Opt_nocto, Opt_ac,125,4915 - Opt_noac,126,4981 - Opt_noac, Opt_lock,126,4981 - Opt_noac, Opt_lock, Opt_nolock,126,4981 - Opt_noac, Opt_lock, Opt_nolock, Opt_v2,126,4981 - Opt_noac, Opt_lock, Opt_nolock, Opt_v2, Opt_v3,126,4981 - Opt_noac, Opt_lock, Opt_nolock, Opt_v2, Opt_v3, Opt_udp,126,4981 - Opt_noac, Opt_lock, Opt_nolock, Opt_v2, Opt_v3, Opt_udp, Opt_tcp,126,4981 - Opt_broken_suid,127,5048 - Opt_err129,5085 -static match_table_t __initdata tokens 132,5098 -static int __init root_nfs_parse(171,5926 -static int __init root_nfs_name(285,8305 -static int __init root_nfs_addr(323,9273 -static void __init root_nfs_print(339,9624 -int __init root_nfs_init(354,10234 -int __init nfs_root_setup(382,10801 -set_sockaddr(409,11593 -static int __init root_nfs_getport(419,11810 -static int __init root_nfs_ports(435,12313 -static int __init root_nfs_get_handle(483,13500 -void * __init nfs_root_data(510,14272 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs3xdr.c,2929 -#define NFSDBG_FACILITY 25,526 -#define errno_NFSERR_IO 28,620 -#define NFS3_fhandle_sz 36,787 -#define NFS3_fh_sz 37,819 -#define NFS3_sattr_sz 38,873 -#define NFS3_filename_sz 39,901 -#define NFS3_path_sz 40,950 -#define NFS3_fattr_sz 41,997 -#define NFS3_wcc_attr_sz 42,1025 -#define NFS3_pre_op_attr_sz 43,1055 -#define NFS3_post_op_attr_sz 44,1104 -#define NFS3_wcc_data_sz 45,1151 -#define NFS3_fsstat_sz 46,1220 -#define NFS3_fsinfo_sz 47,1245 -#define NFS3_pathconf_sz 48,1270 -#define NFS3_entry_sz 49,1297 -#define NFS3_sattrargs_sz 51,1342 -#define NFS3_diropargs_sz 52,1397 -#define NFS3_accessargs_sz 53,1453 -#define NFS3_readlinkargs_sz 54,1495 -#define NFS3_readargs_sz 55,1537 -#define NFS3_writeargs_sz 56,1577 -#define NFS3_createargs_sz 57,1618 -#define NFS3_mkdirargs_sz 58,1679 -#define NFS3_symlinkargs_sz 59,1739 -#define NFS3_mknodargs_sz 60,1814 -#define NFS3_renameargs_sz 61,1876 -#define NFS3_linkargs_sz 62,1941 -#define NFS3_readdirargs_sz 63,1998 -#define NFS3_commitargs_sz 64,2041 -#define NFS3_attrstat_sz 66,2084 -#define NFS3_wccstat_sz 67,2127 -#define NFS3_lookupres_sz 68,2173 -#define NFS3_accessres_sz 69,2241 -#define NFS3_readlinkres_sz 70,2294 -#define NFS3_readres_sz 71,2349 -#define NFS3_writeres_sz 72,2401 -#define NFS3_createres_sz 73,2449 -#define NFS3_renameres_sz 74,2528 -#define NFS3_linkres_sz 75,2581 -#define NFS3_readdirres_sz 76,2648 -#define NFS3_fsstatres_sz 77,2702 -#define NFS3_fsinfores_sz 78,2756 -#define NFS3_pathconfres_sz 79,2810 -#define NFS3_commitres_sz 80,2865 -} nfs_type2fmt[88,3014 -xdr_encode_fhandle(104,3331 -xdr_decode_fhandle(110,3451 -xdr_encode_time3(123,3686 -xdr_decode_time3(131,3832 -xdr_decode_fattr(139,3971 -xdr_encode_sattr(176,5009 -xdr_decode_wcc_attr(222,5959 -xdr_decode_post_op_attr(232,6213 -xdr_decode_pre_op_attr(240,6351 -xdr_decode_wcc_data(249,6495 -nfs3_xdr_fhandle(263,6716 -nfs3_xdr_sattrargs(274,6927 -nfs3_xdr_diropargs(289,7291 -nfs3_xdr_accessargs(301,7569 -nfs3_xdr_readargs(315,7981 -nfs3_xdr_writeargs(337,8588 -nfs3_xdr_createargs(358,9087 -nfs3_xdr_mkdirargs(378,9554 -nfs3_xdr_symlinkargs(391,9871 -nfs3_xdr_mknodargs(405,10255 -nfs3_xdr_renameargs(424,10725 -nfs3_xdr_linkargs(438,11107 -nfs3_xdr_readdirargs(451,11439 -nfs3_xdr_readdirres(480,12256 -nfs3_decode_dirent(579,14522 -nfs3_xdr_commitargs(621,15415 -nfs3_xdr_attrstat(638,15746 -nfs3_xdr_wccstat(653,16018 -nfs3_xdr_lookupres(667,16266 -nfs3_xdr_accessres(686,16664 -nfs3_xdr_readlinkargs(698,16919 -nfs3_xdr_readlinkres(716,17410 -nfs3_xdr_readres(764,18705 -nfs3_xdr_writeres(815,20043 -nfs3_xdr_createres(837,20474 -nfs3_xdr_renameres(864,21081 -nfs3_xdr_linkres(879,21391 -nfs3_xdr_fsstatres(894,21702 -nfs3_xdr_fsinfores(919,22236 -nfs3_xdr_pathconfres(947,22812 -nfs3_xdr_commitres(967,23180 -# define MAX(MAX982,23482 -#define PROC(PROC985,23534 -struct rpc_procinfo nfs3_procedures[994,23860 -struct rpc_version nfs_version3 1018,24788 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs3proc.c,1193 -#define NFSDBG_FACILITY 21,408 -nfs3_rpc_wrapper(27,557 -nfs3_rpc_call_wrapper(45,980 -#define rpc_call(rpc_call55,1230 -#define rpc_call_sync(rpc_call_sync57,1335 -nfs3_async_handle_jukebox(61,1426 -nfs3_proc_get_root(75,1706 -nfs3_proc_getattr(95,2311 -nfs3_proc_setattr(109,2616 -nfs3_proc_lookup(127,3028 -static int nfs3_proc_access(156,3792 -static int nfs3_proc_readlink(205,5126 -static int nfs3_proc_read(226,5636 -static int nfs3_proc_write(249,6267 -static int nfs3_proc_commit(272,6940 -nfs3_proc_create(299,7641 -nfs3_proc_remove(395,9996 -nfs3_proc_unlink_setup(419,10552 - struct unlinkxdr unlinkxdr421,10641 -nfs3_proc_unlink_done(440,11062 -nfs3_proc_rename(456,11417 -nfs3_proc_link(485,12249 -nfs3_proc_symlink(511,12882 -nfs3_proc_mkdir(543,13700 -nfs3_proc_rmdir(570,14349 -nfs3_proc_readdir(598,15154 -nfs3_proc_mknod(642,16175 -nfs3_proc_statfs(679,17113 -nfs3_proc_fsinfo(692,17427 -nfs3_proc_pathconf(705,17745 -nfs3_read_done(720,18137 -nfs3_proc_read_setup(733,18468 -nfs3_write_done(754,19041 -nfs3_proc_write_setup(767,19333 -nfs3_commit_done(798,20074 -nfs3_proc_commit_setup(811,20364 -nfs3_proc_lock(832,20911 -struct nfs_rpc_ops nfs_v3_clientops 837,21037 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs4state.c,1612 -#define OPENOWNER_POOL_SIZE 52,2067 -static spinlock_t state_spinlock 54,2098 -nfs4_stateid zero_stateid;56,2155 -nfs4_stateid one_stateid 59,2189 -init_nfsv4_state(69,2448 -destroy_nfsv4_state(76,2571 -nfs4_alloc_client(96,3060 -nfs4_free_client(124,3862 -static struct nfs4_client *__nfs4_find_client(145,4322 -struct nfs4_client *nfs4_find_client(157,4613 -nfs4_get_client(167,4830 -nfs4_put_client(195,5343 -int nfs4_init_client(208,5674 -nfs4_alloc_lockowner_id(219,5943 -nfs4_client_grab_unused(225,6063 -nfs4_find_state_owner(240,6459 -nfs4_alloc_state_owner(262,6976 -nfs4_unhash_state_owner(278,7309 -struct nfs4_state_owner *nfs4_get_state_owner(290,7605 -void nfs4_put_state_owner(322,8389 -nfs4_alloc_open_state(347,8965 -__nfs4_find_state(367,9421 -__nfs4_find_state_byowner(393,10091 -nfs4_find_state(411,10538 -nfs4_free_open_state(422,10776 -nfs4_get_open_state(428,10863 -void nfs4_put_open_state(463,11779 -void nfs4_close_state(483,12307 -__nfs4_find_lock_state(528,13462 -nfs4_find_lock_state(541,13758 -static struct nfs4_lock_state *nfs4_alloc_lock_state(556,14159 -struct nfs4_lock_state *nfs4_get_lock_state(583,14953 -nfs4_copy_stateid(598,15296 -void nfs4_increment_lock_seqid(616,15725 -nfs4_check_unlock(633,16092 -void nfs4_notify_setlk(643,16333 -nfs4_notify_unlck(664,16882 -nfs4_put_lock_state(692,17636 -void nfs4_increment_seqid(707,18010 -struct reclaimer_args reclaimer_args717,18314 -nfs4_recover_state(726,18435 -nfs4_schedule_state_recovery(750,18925 -static int nfs4_reclaim_locks(758,19095 -static int nfs4_reclaim_open_state(791,19895 -static int reclaimer(840,21181 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/callback.h,603 -#define __LINUX_FS_NFS_CALLBACK_H9,142 -#define NFS4_CALLBACK 11,177 -#define NFS4_CALLBACK_XDRSIZE 12,210 -#define NFS4_CALLBACK_BUFSIZE 13,245 -enum nfs4_callback_procnum nfs4_callback_procnum15,307 - CB_NULL 16,336 - CB_COMPOUND 17,350 -enum nfs4_callback_opnum nfs4_callback_opnum20,372 - OP_CB_GETATTR 21,399 - OP_CB_RECALL 22,419 - OP_CB_ILLEGAL 23,439 -struct cb_compound_hdr_arg cb_compound_hdr_arg26,467 -struct cb_compound_hdr_res cb_compound_hdr_res33,577 -struct cb_getattrargs cb_getattrargs40,677 -struct cb_getattrres cb_getattrres46,772 -struct cb_recallargs cb_recallargs55,925 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs4proc.c,4117 -#define NFSDBG_FACILITY 52,2049 -#define NFS4_POLL_RETRY_MIN 54,2087 -#define NFS4_POLL_RETRY_MAX 55,2122 -static inline int nfs4_map_errors(66,2611 -const u32 nfs4_fattr_bitmap[79,2857 -const u32 nfs4_statfs_bitmap[96,3234 -u32 nfs4_pathconf_bitmap[105,3437 -const u32 nfs4_fsinfo_bitmap[111,3523 -static void nfs4_setup_readdir(118,3676 -renew_lease(174,5680 -static void update_changeattr(183,5938 -static int _nfs4_open_reclaim(196,6278 -int nfs4_open_reclaim(247,7869 -static int _nfs4_open_delegation_recall(266,8337 -int nfs4_open_delegation_recall(313,9686 -static int _nfs4_proc_open_confirm(335,10296 -static int _nfs4_do_access(358,10957 -int _nfs4_open_delegated(384,11580 -static struct nfs4_state *nfs4_open_delegated(461,13614 -static int _nfs4_do_open(480,14060 -struct nfs4_state *nfs4_do_open(584,16878 -static int _nfs4_do_setattr(616,17974 -int nfs4_do_setattr(646,18869 -static int _nfs4_do_close(672,19776 -int nfs4_do_close(703,20664 -static int _nfs4_do_downgrade(723,21161 -int nfs4_do_downgrade(750,21916 -nfs4_atomic_open(771,22458 -nfs4_open_revalidate(796,23112 -static int _nfs4_server_capabilities(823,23773 -static int nfs4_server_capabilities(847,24472 -static int _nfs4_lookup_root(859,24764 -static int nfs4_lookup_root(880,25281 -static int nfs4_proc_get_root(893,25590 -static int _nfs4_proc_getattr(960,27143 -static int nfs4_proc_getattr(980,27616 -nfs4_proc_setattr(1010,28586 -static int _nfs4_proc_lookup(1055,29725 -static int nfs4_proc_lookup(1084,30427 -static int _nfs4_proc_access(1096,30758 -static int nfs4_proc_access(1140,31981 -static int _nfs4_proc_readlink(1176,33385 -static int nfs4_proc_readlink(1194,33813 -static int _nfs4_proc_read(1207,34147 -static int nfs4_proc_read(1233,34854 -static int _nfs4_proc_write(1245,35112 -static int nfs4_proc_write(1268,35746 -static int _nfs4_proc_commit(1280,36007 -static int nfs4_proc_commit(1302,36608 -nfs4_proc_create(1330,37476 -static int _nfs4_proc_remove(1358,38194 -static int nfs4_proc_remove(1378,38630 -struct unlink_desc unlink_desc1390,38896 -static int nfs4_proc_unlink_setup(1395,38981 -static int nfs4_proc_unlink_done(1413,39390 -static int _nfs4_proc_rename(1428,39751 -static int nfs4_proc_rename(1454,40384 -static int _nfs4_proc_link(1468,40742 -static int nfs4_proc_link(1490,41235 -static int _nfs4_proc_symlink(1502,41527 -static int nfs4_proc_symlink(1538,42367 -static int _nfs4_proc_mkdir(1553,42762 -static int nfs4_proc_mkdir(1586,43499 -static int _nfs4_proc_readdir(1601,43865 -static int nfs4_proc_readdir(1630,44649 -static int _nfs4_proc_mknod(1644,45051 -static int nfs4_proc_mknod(1694,46279 -static int _nfs4_proc_statfs(1709,46653 -static int nfs4_proc_statfs(1726,47062 -static int _nfs4_do_fsinfo(1738,47373 -static int nfs4_do_fsinfo(1754,47752 -static int nfs4_proc_fsinfo(1767,48060 -static int _nfs4_proc_pathconf(1773,48247 -static int nfs4_proc_pathconf(1796,48850 -nfs4_read_done(1811,49186 -nfs4_proc_read_setup(1827,49612 -nfs4_write_done(1850,50217 -nfs4_proc_write_setup(1866,50648 -nfs4_commit_done(1899,51420 -nfs4_proc_commit_setup(1913,51771 -renew_done(1938,52470 -nfs4_proc_async_renew(1959,52992 -nfs4_proc_renew(1972,53277 -nfs4_proc_file_open(1999,53992 -nfs4_proc_file_release(2043,55242 -nfs4_async_handle_error(2052,55431 -int nfs4_wait_clnt_recover(2081,56198 -static int nfs4_delay(2104,56793 -int nfs4_handle_exception(2133,57440 -int nfs4_proc_setclientid(2163,58178 -nfs4_proc_setclientid_confirm(2202,59276 -static int _nfs4_proc_delegreturn(2225,59809 -int nfs4_proc_delegreturn(2240,60197 -#define NFS4_LOCK_MINTIMEOUT 2259,60714 -#define NFS4_LOCK_MAXTIMEOUT 2260,60752 -nfs4_set_lock_task_retry(2266,60888 -nfs4_lck_type(2277,61126 -nfs4_lck_length(2293,61466 -static int _nfs4_proc_getlk(2300,61622 -static int nfs4_proc_getlk(2362,63232 -static int _nfs4_proc_unlck(2375,63540 -static int nfs4_proc_unlck(2427,64997 -static int _nfs4_do_setlk(2440,65305 -int nfs4_lock_reclaim(2514,67504 -static int _nfs4_proc_setlk(2519,67636 -static int nfs4_proc_setlk(2538,68207 -nfs4_proc_lock(2552,68526 -struct nfs_rpc_ops nfs_v4_clientops 2588,69354 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/proc.c,848 -#define NFSDBG_FACILITY 48,1415 -nfs_proc_get_root(56,1578 -nfs_proc_getattr(90,2550 -nfs_proc_setattr(104,2852 -nfs_proc_lookup(122,3259 -static int nfs_proc_readlink(143,3746 -static int nfs_proc_read(160,4168 -static int nfs_proc_write(189,5017 -nfs_proc_create(216,5789 -nfs_proc_mknod(251,6555 -nfs_proc_remove(290,7557 -nfs_proc_unlink_setup(313,8040 -nfs_proc_unlink_done(329,8430 -nfs_proc_rename(339,8609 -nfs_proc_link(359,9162 -nfs_proc_symlink(376,9570 -nfs_proc_mkdir(401,10223 -nfs_proc_rmdir(424,10764 -nfs_proc_readdir(447,11473 -nfs_proc_statfs(476,12132 -nfs_proc_fsinfo(499,12715 -nfs_proc_pathconf(525,13352 -nfs_read_done(536,13603 -nfs_proc_read_setup(552,14066 -nfs_write_done(573,14635 -nfs_proc_write_setup(583,14872 -nfs_proc_commit_setup(607,15515 -nfs_proc_lock(613,15599 -struct nfs_rpc_ops nfs_v2_clientops 619,15725 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/inode.c,2942 -#define NFSDBG_FACILITY 44,1021 -#define NFS_PARANOIA 45,1057 -#define NFS_MAX_READAHEAD 53,1380 -static struct super_operations nfs_sops 67,1996 -struct rpc_stat nfs_rpcstat 81,2338 -static struct rpc_version * nfs_version[84,2401 -struct rpc_program nfs_program 98,2617 -nfs_fattr_to_ino_t(108,2867 -nfs_write_inode(114,2971 -nfs_delete_inode(126,3166 -nfs_clear_inode(146,3626 -nfs_umount_begin(160,3913 -nfs_block_bits(172,4144 -nfs_calc_block_size(192,4553 -nfs_block_size(202,4746 -nfs_get_root(216,5071 -nfs_sb_init(238,5592 -nfs_create_client(335,8586 -nfs_fill_super(386,10194 -nfs_statfs(470,12729 -static int nfs_show_options(512,13745 - static struct proc_nfs_info proc_nfs_info514,13817 -nfs_zap_caches(558,15082 -nfs_invalidate_inode(577,15569 -struct nfs_find_desc nfs_find_desc586,15729 -nfs_find_actor(598,16016 -nfs_init_locked(614,16371 -#define NFS_LIMIT_READDIRPLUS 625,16689 -nfs_fhget(632,16853 -#define NFS_VALID_ATTRS 724,19629 -nfs_setattr(727,19750 -nfs_wait_on_inode(786,21362 -int nfs_getattr(801,21698 -struct nfs_open_context *alloc_nfs_open_context(822,22322 -struct nfs_open_context *get_nfs_open_context(839,22761 -void put_nfs_open_context(846,22900 -void nfs_file_set_open_context(862,23258 -struct nfs_open_context *nfs_find_open_context(873,23581 -void nfs_file_clear_open_context(889,23962 -int nfs_open(906,24378 -int nfs_release(925,24869 -__nfs_revalidate_inode(938,25171 -int nfs_attribute_timeout(1026,27891 -int nfs_revalidate_inode(1042,28338 -void nfs_begin_data_update(1055,28746 -void nfs_end_data_update(1067,29052 -void nfs_end_data_update_defer(1089,29741 -int nfs_refresh_inode(1112,30501 -static int nfs_update_inode(1189,33102 -static int nfs_set_super(1345,37743 -static int nfs_compare_super(1351,37864 -static struct super_block *nfs_get_sb(1363,38194 -static void nfs_kill_super(1446,40347 -static struct file_system_type nfs_fs_type 1471,40934 -static struct super_operations nfs4_sops 1484,41209 -static void nfs4_clear_inode(1500,41683 -static int nfs4_fill_super(1527,42408 -static int nfs4_compare_super(1666,46170 -nfs_copy_user_string(1679,46466 -static struct super_block *nfs4_get_sb(1701,46899 -static void nfs4_kill_super(1791,49123 -static struct file_system_type nfs4_fs_type 1797,49234 -#define nfs4_init_once(nfs4_init_once1805,49443 -#define register_nfs4fs(register_nfs4fs1812,49627 -#define unregister_nfs4fs(unregister_nfs4fs1813,49688 -#define nfs4_init_once(nfs4_init_once1815,49759 -#define register_nfs4fs(register_nfs4fs1817,49808 -#define unregister_nfs4fs(unregister_nfs4fs1818,49838 -static kmem_cache_t * nfs_inode_cachep;1828,50131 -static struct inode *nfs_alloc_inode(1830,50172 -static void nfs_destroy_inode(1840,50411 -static void init_once(1845,50517 -int nfs_init_inodecache(1866,51138 -void nfs_destroy_inodecache(1878,51390 -static int __init init_nfs_fs(1887,51569 -static void __exit exit_nfs_fs(1929,52228 -module_init(1946,52619 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/unlink.c,379 -struct nfs_unlinkdata nfs_unlinkdata17,305 -static struct nfs_unlinkdata *nfs_deletes;26,480 -nfs_detach_unlinkdata(34,710 -nfs_put_unlinkdata(51,1035 -#define NAME_ALLOC_LEN(NAME_ALLOC_LEN61,1222 -nfs_copy_dname(68,1404 -nfs_async_unlink_init(92,1959 -nfs_async_unlink_done(121,2615 -nfs_async_unlink_release(146,3210 -nfs_async_unlink(157,3461 -nfs_complete_unlink(203,4601 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/callback_proc.c,110 -#define NFSDBG_FACILITY 14,235 -unsigned nfs4_callback_getattr(16,277 -unsigned nfs4_callback_recall(55,1408 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/callback.c,846 -#define NFSDBG_FACILITY 19,351 -struct nfs_callback_data nfs_callback_data21,392 -static struct nfs_callback_data nfs_callback_info;29,536 -static struct svc_program nfs4_callback_program;31,628 -unsigned short nfs_callback_tcpport;33,678 -static void nfs_callback_svc(38,762 -int nfs_callback_up(80,1752 -int nfs_callback_down(126,2937 -static int nfs_callback_null_accept(145,3295 -static int nfs_callback_null_release(178,4246 -static struct auth_ops nfs_callback_auth_null 186,4461 -static int nfs_callback_unix_accept(196,4669 -static int nfs_callback_unix_release(244,6047 -static struct auth_ops nfs_callback_auth_unix 252,6245 -static int nfs_callback_auth(262,6462 -static struct svc_version *nfs4_callback_version[311,7742 -static struct svc_stat nfs4_callback_stats;315,7833 -static struct svc_program nfs4_callback_program 317,7878 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/delegation.h,217 -#define FS_NFS_DELEGATION_H9,152 -struct nfs_delegation nfs_delegation15,235 -#define NFS_DELEGATION_NEED_RECLAIM 21,369 -static inline int nfs_have_delegation(42,1342 -static inline int nfs_have_delegation(51,1547 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/mount_clnt.c,656 -# define NFSDBG_FACILITY 22,441 -struct rpc_program mnt_program;34,677 -struct mnt_fhstatus mnt_fhstatus36,711 -nfsroot_mount(45,850 -mnt_create(70,1563 -xdr_encode_dirpath(98,2122 -xdr_decode_fhstatus(107,2301 -xdr_decode_fhstatus3(119,2541 -#define MNT_dirpath_sz 134,2853 -#define MNT_fhstatus_sz 135,2887 -static struct rpc_procinfo mnt_procedures[137,2921 -static struct rpc_procinfo mnt3_procedures[146,3159 -static struct rpc_version mnt_version1 156,3405 -static struct rpc_version mnt_version3 162,3513 -static struct rpc_version * mnt_version[168,3626 -static struct rpc_stat mnt_stats;175,3722 -struct rpc_program mnt_program 177,3758 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/callback_xdr.c,1772 -#define CB_OP_TAGLEN_MAXSZ 15,280 -#define CB_OP_HDR_RES_MAXSZ 16,313 -#define CB_OP_GETATTR_BITMAP_MAXSZ 17,366 -#define CB_OP_GETATTR_RES_MAXSZ 18,405 -#define CB_OP_RECALL_RES_MAXSZ 21,516 -#define NFSDBG_FACILITY 23,570 -typedef unsigned (*callback_process_op_t)callback_process_op_t25,611 -typedef unsigned (*callback_decode_arg_t)callback_decode_arg_t26,670 -typedef unsigned (*callback_encode_res_t)callback_encode_res_t27,761 -struct callback_op callback_op30,854 -static struct callback_op callback_ops[37,1004 -static int nfs4_callback_null(39,1047 -static int nfs4_decode_void(44,1154 -static int nfs4_encode_void(49,1274 -static uint32_t *read_buf(54,1394 -static unsigned decode_string(64,1618 -static unsigned decode_fh(84,2000 -static unsigned decode_bitmap(102,2458 -static unsigned decode_stateid(121,2879 -static unsigned decode_compound_hdr_arg(132,3103 -static unsigned decode_op_hdr(162,4015 -static unsigned decode_getattr_args(172,4218 -static unsigned decode_recall_args(186,4591 -static unsigned encode_string(207,5105 -#define CB_SUPPORTED_ATTR0 218,5356 -#define CB_SUPPORTED_ATTR1 219,5423 -static unsigned encode_attr_bitmap(220,5504 -static unsigned encode_attr_change(250,6212 -static unsigned encode_attr_size(263,6519 -static unsigned encode_attr_time(276,6818 -static unsigned encode_attr_ctime(288,7093 -static unsigned encode_attr_mtime(295,7305 -static unsigned encode_compound_hdr_res(302,7515 -static unsigned encode_op_hdr(318,7965 -static unsigned encode_getattr_res(330,8200 -static unsigned process_op(356,9025 -static int nfs4_callback_compound(399,10241 -static struct callback_op callback_ops[438,11286 -static struct svc_procedure nfs4_callback_procedures1[458,11862 -struct svc_version nfs4_callback_version1 474,12278 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs2xdr.c,1884 -#define NFSDBG_FACILITY 27,637 -#define errno_NFSERR_IO 33,803 -#define NFS_fhandle_sz 39,932 -#define NFS_sattr_sz 40,960 -#define NFS_filename_sz 41,986 -#define NFS_path_sz 42,1035 -#define NFS_fattr_sz 43,1081 -#define NFS_info_sz 44,1108 -#define NFS_entry_sz 45,1133 -#define NFS_diropargs_sz 47,1176 -#define NFS_sattrargs_sz 48,1234 -#define NFS_readlinkargs_sz 49,1289 -#define NFS_readargs_sz 50,1334 -#define NFS_writeargs_sz 51,1378 -#define NFS_createargs_sz 52,1422 -#define NFS_renameargs_sz 53,1480 -#define NFS_linkargs_sz 54,1542 -#define NFS_symlinkargs_sz 55,1601 -#define NFS_readdirargs_sz 56,1672 -#define NFS_attrstat_sz 58,1719 -#define NFS_diropres_sz 59,1761 -#define NFS_readlinkres_sz 60,1818 -#define NFS_readres_sz 61,1849 -#define NFS_writeres_sz 62,1892 -#define NFS_stat_sz 63,1942 -#define NFS_readdirres_sz 64,1967 -#define NFS_statfsres_sz 65,1997 -xdr_encode_fhandle(71,2105 -xdr_decode_fhandle(78,2259 -xdr_encode_time(87,2483 -xdr_encode_current_server_time(96,2700 -xdr_decode_time(113,3224 -xdr_decode_fattr(122,3414 -#define SATTR(SATTR150,4210 -xdr_encode_sattr(153,4339 -nfs_xdr_fhandle(189,5141 -nfs_xdr_sattrargs(200,5351 -nfs_xdr_diropargs(213,5647 -nfs_xdr_readargs(227,6075 -nfs_xdr_readres(251,6671 -nfs_xdr_writeargs(291,7728 -nfs_xdr_createargs(314,8253 -nfs_xdr_renameargs(327,8569 -nfs_xdr_linkargs(341,8949 -nfs_xdr_symlinkargs(354,9271 -nfs_xdr_readdirargs(368,9663 -nfs_xdr_readdirres(394,10503 -nfs_decode_dirent(459,12090 -nfs_xdr_stat(486,12585 -nfs_xdr_attrstat(500,12819 -nfs_xdr_diropres(515,13084 -nfs_xdr_readlinkargs(530,13365 -nfs_xdr_readlinkres(548,13853 -nfs_xdr_writeres(591,15082 -nfs_xdr_statfsres(601,15286 -} nfs_errtbl[623,15756 -nfs_stat_to_errno(665,16862 -# define MAX(MAX678,17139 -#define PROC(PROC681,17191 -struct rpc_procinfo nfs_procedures[689,17510 -struct rpc_version nfs_version2 707,18178 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/read.c,1058 -#define NFSDBG_FACILITY 35,1073 -static kmem_cache_t *nfs_rdata_cachep;41,1317 -static mempool_t *nfs_rdata_mempool;42,1356 -#define MIN_POOL_READ 44,1394 -static struct nfs_read_data *nfs_readdata_alloc(46,1422 -static __inline__ void nfs_readdata_free(55,1630 -static void nfs_readdata_release(60,1738 -unsigned int nfs_page_length(67,1921 -int nfs_return_empty_page(83,2270 -static int nfs_readpage_sync(94,2464 -static int nfs_readpage_async(173,4420 -static void nfs_readpage_release(197,5010 -static void nfs_read_rpcsetup(215,5427 -nfs_async_read_error(251,6428 -static void nfs_execute_read(266,6701 -static int nfs_pagein_multi(291,7605 -static int nfs_pagein_one(351,8933 -nfs_pagein_list(389,9775 -static void nfs_readpage_result_partial(413,10298 -static void nfs_readpage_result_full(441,10978 -void nfs_readpage_result(470,11729 -int nfs_readpage(503,12730 -struct nfs_readdesc nfs_readdesc546,13765 -readpage_async_filler(552,13858 -int nfs_readpages(576,14493 -int nfs_init_readpagecache(609,15332 -void nfs_destroy_readpagecache(628,15766 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/idmap.c,818 -#define IDMAP_HASH_SZ 54,2055 -struct idmap_hashent idmap_hashent56,2091 -struct idmap_hashtable idmap_hashtable62,2178 -struct idmap idmap67,2269 -static struct rpc_pipe_ops idmap_upcall_ops 86,2955 -nfs_idmap_new(93,3154 -nfs_idmap_delete(124,3917 -idmap_name_hash(139,4190 -idmap_lookup_name(145,4359 -idmap_id_hash(155,4630 -idmap_lookup_id(161,4783 -idmap_alloc_name(175,5140 -idmap_alloc_id(181,5291 -idmap_update_entry(187,5390 -nfs_idmap_id(200,5629 -nfs_idmap_name(274,7086 -idmap_pipe_upcall(335,8396 -idmap_pipe_downcall(357,8876 -idmap_pipe_destroy_msg(438,11007 -#define FNV_P_32 456,11404 -#define FNV_1_32 457,11463 -static unsigned int fnvhash32(459,11525 -int nfs_map_name_to_uid(472,11792 -int nfs_map_group_to_gid(479,12005 -int nfs_map_uid_to_name(486,12220 -int nfs_map_gid_to_group(492,12400 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/direct.c,368 -#define NFSDBG_FACILITY 54,1940 -#define VERF_SIZE 55,1976 -#define MAX_DIRECTIO_SIZE 56,2015 -nfs_get_user_pages(67,2366 -nfs_free_user_pages(98,3199 -nfs_direct_read_seg(121,3868 -nfs_direct_read(197,5805 -nfs_direct_write_seg(251,7302 -static int nfs_direct_write(363,10170 -nfs_direct_IO(413,11489 -nfs_file_direct_read(472,13359 -nfs_file_direct_write(544,15475 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/write.c,2008 -#define NFSDBG_FACILITY 68,2484 -#define MIN_POOL_WRITE 70,2527 -#define MIN_POOL_COMMIT 71,2556 -static kmem_cache_t *nfs_wdata_cachep;85,3067 -static mempool_t *nfs_wdata_mempool;86,3106 -static mempool_t *nfs_commit_mempool;87,3143 -static __inline__ struct nfs_write_data *nfs_writedata_alloc(91,3237 -static __inline__ void nfs_writedata_free(102,3492 -static void nfs_writedata_release(107,3602 -static __inline__ struct nfs_write_data *nfs_commit_alloc(113,3768 -static __inline__ void nfs_commit_free(124,4021 -static void nfs_grow_file(130,4190 -static void nfs_mark_uptodate(147,4710 -static int nfs_writepage_sync(179,5515 -static int nfs_writepage_async(246,7245 -static int wb_priority(266,7752 -int nfs_writepage(278,7962 -int nfs_writepages(350,9865 -static int nfs_inode_add_request(387,10776 -static void nfs_inode_remove_request(410,11283 -_nfs_find_request(434,11835 -nfs_find_request(446,12115 -nfs_mark_request_dirty(461,12420 -nfs_dirty_request(478,12796 -nfs_mark_request_commit(489,13098 -nfs_wait_on_requests(509,13547 -nfs_scan_dirty(556,14706 -nfs_scan_commit(580,15544 -static int nfs_wait_on_write_congestion(592,15933 -static struct nfs_page * nfs_update_request(632,16933 -int nfs_flush_incompatible(715,19006 -int nfs_updatepage(744,19983 -static void nfs_writepage_release(820,22151 -static inline int flush_task_priority(845,22661 -static void nfs_write_rpcsetup(859,22964 -static void nfs_execute_write(901,24172 -static int nfs_flush_multi(917,24539 -static int nfs_flush_one(985,26192 -nfs_flush_list(1029,27238 -static void nfs_writeback_done_partial(1058,27905 -static void nfs_writeback_done_full(1101,29165 -void nfs_writeback_done(1149,30419 -static void nfs_commit_release(1217,32513 -static void nfs_commit_rpcsetup(1226,32745 -nfs_commit_list(1278,34224 -nfs_commit_done(1307,34731 -int nfs_flush_inode(1351,35996 -int nfs_commit_inode(1370,36477 -int nfs_sync_inode(1392,36978 -int nfs_init_writepagecache(1415,37493 -void nfs_destroy_writepagecache(1441,38119 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/delegation.c,707 -static struct nfs_delegation *nfs_alloc_delegation(21,356 -static void nfs_free_delegation(26,503 -static void nfs_delegation_claim_opens(33,651 -void nfs_inode_reclaim_delegation(60,1273 -int nfs_inode_set_delegation(80,1870 -static int nfs_do_return_delegation(118,3063 -static void nfs_msync_inode(130,3402 -int nfs_inode_return_delegation(140,3620 -void nfs_return_all_delegations(172,4431 -void nfs_handle_cb_pathdown(199,5060 -struct recall_threadargs recall_threadargs220,5511 -static int recall_thread(229,5662 -int nfs_async_inode_return_delegation(271,6751 -struct inode *nfs_delegation_find_inode(294,7273 -void nfs_delegation_mark_reclaim(312,7753 -void nfs_delegation_reap_unclaimed(324,8098 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs4renewd.c,163 -#define NFSDBG_FACILITY 57,2514 -nfs4_renew_state(60,2556 -nfs4_schedule_state_renewal(100,3742 -nfs4_renewd_prepare_shutdown(117,4194 -nfs4_kill_renewd(132,4545 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/file.c,658 -#define NFSDBG_FACILITY 36,915 -struct file_operations nfs_file_operations 48,1545 -struct inode_operations nfs_file_inode_operations 64,1947 -# define IS_SWAPFILE(IS_SWAPFILE72,2145 -static int nfs_check_flags(75,2185 -nfs_file_open(87,2352 -nfs_file_release(106,2742 -nfs_file_flush(116,2932 -nfs_file_read(140,3574 -nfs_file_sendfile(162,4205 -nfs_file_mmap(180,4721 -nfs_fsync(201,5320 -static int nfs_prepare_write(228,6124 -static int nfs_commit_write(233,6270 -struct address_space_operations nfs_file_aops 243,6493 -nfs_file_write(260,6913 -static int do_getlk(295,7773 -static int do_unlk(306,8007 -static int do_setlk(333,8687 -nfs_lock(383,9956 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/pagelist.c,437 -#define NFS_PARANOIA 22,551 -static kmem_cache_t *nfs_page_cachep;24,575 -nfs_page_alloc(27,646 -nfs_page_free(39,848 -nfs_create_request(59,1493 -void nfs_unlock_request(101,2579 -void nfs_clear_request(121,3060 -nfs_release_request(137,3366 -nfs_list_add_request(164,4031 -nfs_wait_on_request(191,4660 -nfs_coalesce_requests(212,5302 -nfs_scan_list(260,6647 -int nfs_init_nfspagecache(292,7236 -void nfs_destroy_nfspagecache(304,7470 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/nfs4xdr.c,12275 -#define NFSDBG_FACILITY 55,2128 -#define errno_NFSERR_IO 58,2222 -#define NFS4_MAXTAGLEN 64,2366 -#define NFS4_MAXTAGLEN 66,2399 -#define owner_id_maxsz 72,2527 -#define compound_encode_hdr_maxsz 73,2567 -#define compound_decode_hdr_maxsz 74,2629 -#define op_encode_hdr_maxsz 75,2691 -#define op_decode_hdr_maxsz 76,2723 -#define encode_putfh_maxsz 77,2755 -#define decode_putfh_maxsz 79,2835 -#define encode_putrootfh_maxsz 80,2884 -#define decode_putrootfh_maxsz 81,2937 -#define encode_getfh_maxsz 82,2990 -#define decode_getfh_maxsz 83,3044 -#define encode_getattr_maxsz 85,3133 -#define nfs4_name_maxsz 86,3191 -#define nfs4_path_maxsz 87,3250 -#define nfs4_fattr_bitmap_maxsz 88,3310 -#define decode_getattr_maxsz 89,3369 -#define encode_savefh_maxsz 91,3487 -#define decode_savefh_maxsz 92,3541 -#define encode_fsinfo_maxsz 93,3595 -#define decode_fsinfo_maxsz 94,3649 -#define encode_renew_maxsz 95,3704 -#define decode_renew_maxsz 96,3757 -#define encode_setclientid_maxsz 97,3806 -#define decode_setclientid_maxsz 103,3975 -#define encode_setclientid_confirm_maxsz 107,4092 -#define decode_setclientid_confirm_maxsz 110,4199 -#define encode_lookup_maxsz 112,4268 -#define encode_remove_maxsz 114,4355 -#define encode_rename_maxsz 116,4429 -#define decode_rename_maxsz 118,4507 -#define encode_link_maxsz 119,4565 -#define decode_link_maxsz 121,4637 -#define encode_symlink_maxsz 122,4689 -#define decode_symlink_maxsz 126,4824 -#define encode_create_maxsz 127,4879 -#define decode_create_maxsz 130,4989 -#define encode_delegreturn_maxsz 131,5043 -#define decode_delegreturn_maxsz 132,5102 -#define NFS4_enc_compound_sz 133,5157 -#define NFS4_dec_compound_sz 134,5219 -#define NFS4_enc_read_sz 135,5281 -#define NFS4_dec_read_sz 138,5393 -#define NFS4_enc_readlink_sz 141,5505 -#define NFS4_dec_readlink_sz 144,5617 -#define NFS4_enc_readdir_sz 147,5729 -#define NFS4_dec_readdir_sz 150,5844 -#define NFS4_enc_write_sz 153,5959 -#define NFS4_dec_write_sz 156,6072 -#define NFS4_enc_commit_sz 159,6185 -#define NFS4_dec_commit_sz 162,6299 -#define NFS4_enc_open_sz 165,6413 -#define NFS4_dec_open_sz 171,6748 -#define NFS4_enc_open_confirm_sz 176,7047 -#define NFS4_dec_open_confirm_sz 180,7262 -#define NFS4_enc_open_noattr_sz 183,7461 -#define NFS4_dec_open_noattr_sz 187,7590 -#define NFS4_enc_open_downgrade_sz 191,7730 -#define NFS4_dec_open_downgrade_sz 195,7914 -#define NFS4_enc_close_sz 199,8098 -#define NFS4_dec_close_sz 202,8273 -#define NFS4_enc_setattr_sz 205,8448 -#define NFS4_dec_setattr_sz 210,8740 -#define NFS4_enc_fsinfo_sz 213,8915 -#define NFS4_dec_fsinfo_sz 216,9025 -#define NFS4_enc_renew_sz 219,9135 -#define NFS4_dec_renew_sz 221,9216 -#define NFS4_enc_setclientid_sz 223,9297 -#define NFS4_dec_setclientid_sz 225,9390 -#define NFS4_enc_setclientid_confirm_sz 227,9483 -#define NFS4_dec_setclientid_confirm_sz 232,9657 -#define NFS4_enc_lock_sz 237,9831 -#define NFS4_dec_lock_sz 244,10042 -#define NFS4_enc_lockt_sz 250,10231 -#define NFS4_dec_lockt_sz 256,10420 -#define NFS4_enc_locku_sz 257,10471 -#define NFS4_dec_locku_sz 262,10641 -#define NFS4_enc_access_sz 266,10789 -#define NFS4_dec_access_sz 269,10903 -#define NFS4_enc_getattr_sz 272,11017 -#define NFS4_dec_getattr_sz 275,11129 -#define NFS4_enc_lookup_sz 278,11241 -#define NFS4_dec_lookup_sz 283,11407 -#define NFS4_enc_lookup_root_sz 288,11573 -#define NFS4_dec_lookup_root_sz 292,11720 -#define NFS4_enc_remove_sz 296,11867 -#define NFS4_dec_remove_sz 299,11977 -#define NFS4_enc_rename_sz 302,12091 -#define NFS4_dec_rename_sz 307,12256 -#define NFS4_enc_link_sz 312,12421 -#define NFS4_dec_link_sz 317,12582 -#define NFS4_enc_symlink_sz 322,12743 -#define NFS4_dec_symlink_sz 327,12911 -#define NFS4_enc_create_sz 332,13079 -#define NFS4_dec_create_sz 337,13245 -#define NFS4_enc_pathconf_sz 342,13411 -#define NFS4_dec_pathconf_sz 345,13524 -#define NFS4_enc_statfs_sz 348,13637 -#define NFS4_dec_statfs_sz 351,13748 -#define NFS4_enc_server_caps_sz 354,13863 -#define NFS4_dec_server_caps_sz 356,13952 -#define NFS4_enc_delegreturn_sz 358,14041 -#define NFS4_dec_delegreturn_sz 361,14161 -} nfs_type2fmt[367,14315 -struct compound_hdr compound_hdr380,14588 -#define WRITE32(WRITE32397,15131 -#define WRITE64(WRITE64398,15180 -#define WRITEMEM(WRITEMEM402,15314 -#define RESERVE_SPACE(RESERVE_SPACE406,15419 -static void encode_string(412,15627 -static int encode_compound_hdr(421,15823 -static void encode_nfs4_verifier(435,16201 -static int encode_attrs(444,16435 -static int encode_access(571,19849 -static int encode_close(582,20001 -static int encode_commit(594,20259 -static int encode_create(606,20505 -static int encode_getattr_one(638,21205 -static int encode_getattr_two(649,21422 -static int encode_getfattr(661,21669 -static int encode_fsinfo(670,21888 -static int encode_getfh(678,22105 -static int encode_link(688,22224 -static int encode_lock(704,22576 -static int encode_lockt(738,23355 -static int encode_locku(755,23680 -static int encode_lookup(771,24027 -static void encode_share_access(784,24244 -static inline void encode_openhdr(805,24691 -static inline void encode_createmode(822,25081 -static void encode_opentype(838,25450 -static inline void encode_delegation_type(854,25786 -static inline void encode_claim_null(874,26166 -static inline void encode_claim_previous(883,26367 -static inline void encode_claim_delegate_cur(892,26553 -static int encode_open(902,26870 -static int encode_open_confirm(922,27355 -static int encode_open_downgrade(934,27633 -encode_putfh(947,27962 -static int encode_putrootfh(960,28163 -static void encode_stateid(970,28326 -static int encode_read(984,28711 -static int encode_readdir(1000,28967 -static int encode_readlink(1027,29772 -static int encode_remove(1047,30326 -static int encode_rename(1059,30539 -static int encode_renew(1075,30895 -encode_savefh(1087,31107 -static int encode_setattr(1097,31217 -static int encode_setclientid(1112,31604 -static int encode_setclientid_confirm(1131,32221 -static int encode_write(1143,32609 -static int encode_delegreturn(1162,32956 -static int nfs4_xdr_enc_access(1180,33246 -static int nfs4_xdr_enc_lookup(1198,33661 -static int nfs4_xdr_enc_lookup_root(1222,34223 -static int nfs4_xdr_enc_remove(1243,34703 -static int nfs4_xdr_enc_rename(1261,35116 -static int nfs4_xdr_enc_link(1285,35690 -static int nfs4_xdr_enc_create(1309,36234 -static int nfs4_xdr_enc_symlink(1333,36786 -static int nfs4_xdr_enc_getattr(1341,36970 -static int nfs4_xdr_enc_close(1359,37391 -static int nfs4_xdr_enc_open(1380,37906 -static int nfs4_xdr_enc_open_confirm(1407,38455 -static int nfs4_xdr_enc_open_noattr(1428,38913 -static int nfs4_xdr_enc_open_downgrade(1449,39345 -static int nfs4_xdr_enc_lock(1470,39778 -static int nfs4_xdr_enc_lockt(1491,40192 -static int nfs4_xdr_enc_locku(1512,40608 -static int nfs4_xdr_enc_readlink(1533,41027 -static int nfs4_xdr_enc_readdir(1554,41461 -static int nfs4_xdr_enc_read(1575,41893 -static int nfs4_xdr_enc_setattr(1607,42691 -static int nfs4_xdr_enc_write(1632,43320 -static int nfs4_xdr_enc_commit(1653,43731 -static int nfs4_xdr_enc_fsinfo(1674,44141 -static int nfs4_xdr_enc_pathconf(1693,44551 -static int nfs4_xdr_enc_statfs(1714,45044 -static int nfs4_xdr_enc_server_caps(1736,45584 -static int nfs4_xdr_enc_renew(1758,46113 -static int nfs4_xdr_enc_setclientid(1773,46423 -static int nfs4_xdr_enc_setclientid_confirm(1788,46756 -static int nfs4_xdr_enc_delegreturn(1810,47293 -#define READ32(READ321835,48148 -#define READ64(READ641836,48192 -#define READTIME(READTIME1840,48298 -#define COPYMEM(COPYMEM1845,48418 -#define READ_BUF(READ_BUF1850,48525 -static int decode_opaque_inline(1859,48750 -static int decode_compound_hdr(1870,48935 -static int decode_op_hdr(1885,49210 -static int decode_ace(1907,49667 -static int decode_attr_bitmap(1917,49864 -static inline int decode_attr_length(1934,50139 -static int decode_attr_supported(1944,50319 -static int decode_attr_type(1955,50679 -static int decode_attr_change(1975,51186 -static int decode_attr_size(1992,51599 -static int decode_attr_link_support(2008,51986 -static int decode_attr_symlink_support(2024,52407 -static int decode_attr_fsid(2040,52843 -static int decode_attr_lease_time(2060,53342 -static int decode_attr_aclsupport(2076,53743 -static int decode_attr_fileid(2092,54191 -static int decode_attr_files_avail(2108,54591 -static int decode_attr_files_free(2125,55026 -static int decode_attr_files_total(2142,55456 -static int decode_attr_maxfilesize(2159,55891 -static int decode_attr_maxlink(2176,56326 -static int decode_attr_maxname(2193,56736 -static int decode_attr_maxread(2210,57149 -static int decode_attr_maxwrite(2231,57666 -static int decode_attr_mode(2252,58193 -static int decode_attr_nlink(2269,58594 -static int decode_attr_owner(2285,58987 -static int decode_attr_group(2309,59643 -static int decode_attr_rdev(2333,60319 -static int decode_attr_space_avail(2355,60857 -static int decode_attr_space_free(2372,61292 -static int decode_attr_space_total(2389,61722 -static int decode_attr_space_used(2406,62157 -static int decode_attr_time(2423,62572 -static int decode_attr_time_access(2437,62811 -static int decode_attr_time_metadata(2453,63265 -static int decode_attr_time_modify(2469,63727 -static int verify_attr_len(2485,64181 -static int decode_change_info(2501,64605 -static int decode_access(2512,64808 -static int decode_close(2529,65117 -static int decode_commit(2542,65399 -static int decode_create(2555,65637 -static int decode_server_caps(2572,65968 -static int decode_statfs(2600,66905 -static int decode_pathconf(2634,68009 -static int decode_getfattr(2660,68748 -static int decode_fsinfo(2723,70898 -static int decode_getfh(2756,71938 -static int decode_link(2778,72335 -static int decode_lock_denied 2791,72616 -static int decode_lock(2808,72973 -static int decode_lockt(2822,73328 -static int decode_locku(2831,73557 -static int decode_lookup(2844,73828 -static int decode_space_limit(2850,73945 -static int decode_delegation(2869,74303 -static int decode_open(2895,74996 -static int decode_open_confirm(2923,75689 -static int decode_open_downgrade(2936,76048 -static int decode_putfh(2949,76348 -static int decode_putrootfh(2954,76439 -static int decode_read(2959,76538 -static int decode_readdir(2986,77175 -static int decode_readlink(3052,78872 -static int decode_remove(3093,80009 -static int decode_rename(3105,80238 -static int decode_renew(3120,80582 -decode_savefh(3126,80684 -static int decode_setattr(3131,80766 -static int decode_setclientid(3147,81039 -static int decode_setclientid_confirm(3185,81819 -static int decode_write(3190,81938 -static int decode_delegreturn(3206,82228 -static int nfs4_xdr_dec_open_downgrade(3214,82372 -static int nfs4_xdr_dec_access(3239,82954 -static int nfs4_xdr_dec_lookup(3257,83365 -static int nfs4_xdr_dec_lookup_root(3280,83931 -static int nfs4_xdr_dec_remove(3300,84436 -static int nfs4_xdr_dec_rename(3318,84853 -static int nfs4_xdr_dec_link(3341,85410 -static int nfs4_xdr_dec_create(3364,85941 -static int nfs4_xdr_dec_symlink(3389,86563 -static int nfs4_xdr_dec_getattr(3397,86744 -static int nfs4_xdr_dec_close(3420,87196 -static int nfs4_xdr_dec_open(3441,87713 -static int nfs4_xdr_dec_open_confirm(3470,88456 -static int nfs4_xdr_dec_open_noattr(3491,88994 -static int nfs4_xdr_dec_setattr(3512,89518 -static int nfs4_xdr_dec_lock(3538,90189 -static int nfs4_xdr_dec_lockt(3559,90606 -static int nfs4_xdr_dec_locku(3580,91025 -static int nfs4_xdr_dec_readlink(3601,91447 -static int nfs4_xdr_dec_readdir(3622,91862 -static int nfs4_xdr_dec_read(3643,92296 -static int nfs4_xdr_dec_write(3666,92757 -static int nfs4_xdr_dec_commit(3689,93215 -static int nfs4_xdr_dec_fsinfo(3710,93630 -static int nfs4_xdr_dec_pathconf(3730,94079 -static int nfs4_xdr_dec_statfs(3748,94479 -static int nfs4_xdr_dec_server_caps(3766,94877 -static int nfs4_xdr_dec_renew(3785,95309 -static int nfs4_xdr_dec_setclientid(3801,95641 -static int nfs4_xdr_dec_setclientid_confirm(3820,96065 -static int nfs4_xdr_dec_delegreturn(3842,96593 -uint32_t *nfs4_decode_dirent(3858,96965 -} nfs_errtbl[3906,98012 -nfs_stat_to_errno(3949,99220 -# define MAX(MAX3969,99705 -#define PROC(PROC3972,99757 -struct rpc_procinfo nfs4_procedures[3980,100040 -struct rpc_version nfs_version4 4014,101532 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/symlink.c,245 -#define NFS_NEED_XDR_TYPES13,240 -struct nfs_symlink nfs_symlink37,967 -static int nfs_symlink_filler(42,1027 -static int nfs_follow_link(63,1475 -static void nfs_put_link(93,2129 -struct inode_operations nfs_symlink_inode_operations 111,2452 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfs/dir.c,1964 -#define NFS_PARANOIA 37,1123 -struct file_operations nfs_dir_operations 56,2107 -struct inode_operations nfs_dir_inode_operations 64,2284 -struct inode_operations nfs4_dir_inode_operations 82,2745 -nfs_opendir(103,3157 -typedef u32 * (*decode_dirent_t)decode_dirent_t115,3378 -} nfs_readdir_descriptor_t;nfs_readdir_descriptor_t126,3630 -int nfs_readdir_filler(141,4112 -int dir_decode(186,5439 -void dir_page_release(197,5637 -int find_dirent(214,6061 -int find_dirent_page(238,6629 -int readdir_search_pagecache(276,7651 -static unsigned int nfs_type2dtype[297,8145 -unsigned int nfs_type_to_d_type(310,8294 -int nfs_do_filldir(319,8471 -int uncached_readdir(373,10194 -static int nfs_readdir(422,11635 -int nfs_fsync_dir(501,13409 -static inline int nfs_check_verifier(511,13678 -static inline void nfs_set_verifier(521,13967 -static inline void nfs_renew_times(530,14210 -int nfs_lookup_verify_inode(536,14315 -int nfs_neg_need_reval(553,14832 -static int nfs_lookup_revalidate(577,15496 -static int nfs_dentry_delete(672,17791 -static void nfs_dentry_iput(695,18357 -struct dentry_operations nfs_dentry_operations 708,18675 -int nfs_is_exclusive_create(715,18845 -static struct dentry *nfs_lookup(724,19100 -struct dentry_operations nfs4_dentry_operations 777,20420 -static int is_atomic_open(783,20575 -static struct dentry *nfs_atomic_lookup(799,21073 -static int nfs_open_revalidate(858,22499 -int find_dirent_name(910,23951 -int nfs_cached_lookup(936,24714 -static int nfs_instantiate(991,26017 -static int nfs_create(1031,27157 -nfs_mknod(1075,28277 -static int nfs_mkdir(1107,28988 -static int nfs_rmdir(1142,29835 -static int nfs_sillyrename(1161,30289 -static int nfs_safe_remove(1242,32620 -static int nfs_unlink(1277,33602 -nfs_symlink(1312,34410 -nfs_link(1356,35556 -static int nfs_rename(1406,37384 -int nfs_access_get_cached(1505,40088 -void nfs_access_add_cache(1517,40460 -static int nfs_do_access(1530,40788 -int nfs_permission(1553,41350 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/hash.c,342 -#define DELTA 17,303 -static void TEA_transform(19,329 -#define F(F37,744 -#define G(G38,791 -#define H(H39,846 -#define ROUND(ROUND47,1153 -#define K1 49,1243 -#define K2 50,1256 -#define K3 51,1282 -static void halfMD4Transform 56,1382 -static __u32 dx_hack_hash 105,2642 -static void str2hashbuf(118,2923 -int ext3fs_dirhash(158,3880 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/acl.h,404 -#define EXT3_ACL_VERSION 9,121 -#define EXT3_ACL_MAX_ENTRIES 10,153 -} ext3_acl_entry;ext3_acl_entry16,251 -} ext3_acl_entry_short;ext3_acl_entry_short21,320 -} ext3_acl_header;ext3_acl_header25,382 -static inline size_t ext3_acl_size(27,402 -static inline int ext3_acl_count(39,693 -#define EXT3_ACL_NOT_CACHED 59,1194 -#define ext3_permission 71,1563 -ext3_acl_chmod(74,1611 -ext3_init_acl(80,1681 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/xattr_trusted.c,189 -#define XATTR_TRUSTED_PREFIX 16,340 -ext3_xattr_trusted_list(19,395 -ext3_xattr_trusted_get(37,872 -ext3_xattr_trusted_set(49,1165 -struct xattr_handler ext3_xattr_trusted_handler 60,1469 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/resize.c,509 -#define EXT3FS_DEBUG13,280 -#define outside(outside23,435 -#define inside(inside24,500 -static int verify_group_input(26,565 -static struct buffer_head *bclean(114,4116 -static void mark_bitmap_end(139,4750 -static int setup_new_group_blocks(160,5470 -unsigned ext3_list_backups(288,9339 -static int verify_reserved_gdb(322,10010 -static int add_new_gdb(362,11464 -static int reserve_backup_gdb(504,16060 -static void update_backups(615,19490 -int ext3_group_add(696,22293 -int ext3_group_extend(893,29058 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/ioctl.c,23 -int ext3_ioctl 18,345 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/inode.c,2872 -static inline int ext3_inode_is_fast_symlink(45,1116 -int ext3_forget(63,1693 -static unsigned long blocks_for_truncate(109,2913 -static handle_t *start_transaction(143,4124 -static int try_to_extend_transaction(161,4583 -static int ext3_journal_test_restart(175,4996 -void ext3_delete_inode 184,5248 -static int ext3_alloc_block 234,6754 -} Indirect;Indirect248,7021 -static inline void add_chain(250,7034 -static inline int verify_chain(256,7152 -static int ext3_block_to_path(294,8781 -static Indirect *ext3_get_branch(362,11511 -static unsigned long ext3_find_near(419,13110 -static int ext3_find_goal(460,14346 -static int ext3_alloc_branch(511,16317 -static int ext3_splice_branch(595,18671 -ext3_get_block_handle(697,21942 -static int ext3_get_block(798,24623 -#define DIO_CREDITS 813,24952 -ext3_direct_io_get_blocks(816,25017 -struct buffer_head *ext3_getblk(862,26103 -struct buffer_head *ext3_bread(912,27472 -static int walk_page_buffers(934,27918 -static int do_journal_get_write_access(992,29877 -static int ext3_prepare_write(1000,30083 -ext3_journal_dirty_data(1032,30881 -static int commit_write_fn(1042,31143 -static int ext3_ordered_commit_write(1058,31606 -static int ext3_writeback_commit_write(1087,32414 -static int ext3_journalled_commit_write(1105,32941 -static sector_t ext3_bmap(1152,34510 -static int bget_one(1190,35637 -static int bput_one(1196,35728 -static int journal_dirty_data_fn(1202,35819 -static int ext3_ordered_writepage(1261,38048 -static int ext3_writeback_writepage(1327,39649 -static int ext3_journalled_writepage(1356,40247 -static int ext3_readpage(1413,41708 -ext3_readpages(1419,41833 -static int ext3_invalidatepage(1425,42016 -static int ext3_releasepage(1438,42330 -static ssize_t ext3_direct_IO(1454,42879 -static int ext3_journalled_set_page_dirty(1530,44879 -static struct address_space_operations ext3_ordered_aops 1536,45010 -static struct address_space_operations ext3_writeback_aops 1549,45409 -static struct address_space_operations ext3_journalled_aops 1562,45814 -void ext3_set_aops(1575,46243 -static int ext3_block_truncate_page(1591,46813 -static inline int all_zeroes(1681,48990 -static Indirect *ext3_find_shared(1724,50784 -ext3_clear_blocks(1785,52377 -static void ext3_free_data(1844,54307 -static void ext3_free_branches(1911,56298 -void ext3_truncate(2049,60986 -static unsigned long ext3_get_inode_block(2221,65799 -static int ext3_get_inode_loc(2276,67418 -void ext3_set_inode_flags(2381,69981 -void ext3_read_inode(2398,70452 -static int ext3_do_update_inode(2523,74693 -int ext3_write_inode(2666,79394 -int ext3_setattr(2700,80384 -int ext3_writepage_trans_blocks(2800,83182 -int ext3_mark_iloc_dirty(2824,83821 -ext3_reserve_inode_write(2844,84273 -int ext3_mark_inode_dirty(2884,85724 -void ext3_dirty_inode(2910,86566 -ext3_pin_inode(2942,87498 -int ext3_change_inode_journal_flag(2963,87930 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/bitmap.c,67 -static int nibblemap[13,235 -unsigned long ext3_count_free 15,311 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/xattr_user.c,174 -#define XATTR_USER_PREFIX 16,334 -ext3_xattr_user_list(19,383 -ext3_xattr_user_get(37,866 -ext3_xattr_user_set(54,1243 -struct xattr_handler ext3_xattr_user_handler 74,1750 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/balloc.c,1309 -#define in_range(in_range39,1191 -struct ext3_group_desc * ext3_get_group_desc(41,1271 -read_block_bitmap(83,2481 -static void __rsv_window_dump(115,3500 -#define rsv_window_dump(rsv_window_dump158,4499 -#define rsv_window_dump(rsv_window_dump161,4598 -goal_in_my_reservation(165,4672 -static struct reserve_window_node *search_reserve_window(188,5460 -void rsv_window_add(221,6236 -static void rsv_window_remove(249,6860 -static inline int rsv_is_empty(258,7162 -void ext3_discard_reservation(264,7340 -void ext3_free_blocks_sb(278,7749 -void ext3_free_blocks(454,13132 -static int ext3_test_allocatable(487,14269 -bitmap_search_next_usable_block(505,14606 -find_next_usable_block(539,15605 -claim_block(590,17113 -ext3_try_to_allocate(614,17756 -static struct reserve_window_node *find_next_reservable_window(715,20703 -static int alloc_new_reservation(826,24216 -ext3_try_to_allocate_with_rsv(991,29982 -static int ext3_has_free_blocks(1105,33518 -int ext3_should_retry_alloc(1125,34159 -int ext3_new_block(1143,34855 -unsigned long ext3_count_free_blocks(1370,40697 -static inline int block_in_use(1421,41983 -static inline int test_root(1430,42219 -int ext3_group_sparse(1443,42373 -int ext3_bg_has_super(1457,42769 -unsigned long ext3_bg_num_gdb(1474,43299 -void ext3_check_blocks_bitmap 1484,43596 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/namei.c,3028 -#define NAMEI_RA_CHUNKS 45,1164 -#define NAMEI_RA_BLOCKS 46,1191 -#define NAMEI_RA_SIZE 47,1218 -#define NAMEI_RA_INDEX(NAMEI_RA_INDEX48,1283 -static struct buffer_head *ext3_append(50,1345 -#define assert(assert67,1766 -#define swap(swap71,1823 -#define dxtrace(dxtrace75,1914 -#define dxtrace(dxtrace77,1953 -struct fake_direntfake_dirent80,1987 -struct dx_countlimitdx_countlimit88,2073 -struct dx_entrydx_entry94,2130 -struct dx_rootdx_root106,2419 - struct dx_root_infodx_root_info112,2530 -struct dx_nodedx_node124,2707 -struct dx_framedx_frame131,2784 -struct dx_map_entrydx_map_entry138,2880 -static inline unsigned dx_get_block 182,4718 -static inline void dx_set_block 187,4832 -static inline unsigned dx_get_hash 192,4946 -static inline void dx_set_hash 197,5045 -static inline unsigned dx_get_count 202,5157 -static inline unsigned dx_get_limit 207,5289 -static inline void dx_set_count 212,5421 -static inline void dx_set_limit 217,5566 -static inline unsigned dx_root_limit 222,5711 -static inline unsigned dx_node_limit 229,5951 -static void dx_show_index 239,6169 -struct statsstats250,6488 -static struct stats dx_show_leaf(257,6560 -struct stats dx_show_entries(287,7306 -dx_probe(328,8850 -static void dx_release 436,11511 -static int ext3_htree_next_block(463,12501 -static inline struct ext3_dir_entry_2 *ext3_next_entry(524,14043 -static int htree_dirblock_to_tree(534,14406 -int ext3_htree_fill_tree(579,15687 -static int dx_make_map 659,17767 -static void dx_sort_map 681,18355 -static void dx_insert_block(709,19187 -static void ext3_update_dx_flag(725,19631 -static inline int ext3_match 738,19993 -static inline int search_dirblock(751,20272 -static struct buffer_head * ext3_find_entry 800,21700 -static struct buffer_head * ext3_dx_find_entry(914,24556 -static struct dentry *ext3_lookup(974,26155 -struct dentry *ext3_get_parent(1000,26706 -#define S_SHIFT 1032,27344 -static unsigned char ext3_type_by_mode[1033,27363 -static inline void ext3_set_de_type(1043,27706 -dx_move_dirents(1052,28011 -static struct ext3_dir_entry_2* dx_pack_dirents(1069,28456 -static struct ext3_dir_entry_2 *do_split(1091,29056 -static int add_dirent_to_buf(1182,31793 -static int make_indexed_dir(1271,34375 -static int ext3_add_entry 1357,37033 -static int ext3_dx_add_entry(1417,38601 -static int ext3_delete_entry 1554,42579 -static inline void ext3_inc_count(1595,43662 -static inline void ext3_dec_count(1600,43759 -static int ext3_add_nondir(1605,43856 -static int ext3_create 1627,44407 -static int ext3_mknod 1658,45188 -static int ext3_mkdir(1693,46027 -static int empty_dir 1770,48275 -int ext3_orphan_add(1851,50762 -int ext3_orphan_del(1914,52950 -static int ext3_rmdir 1985,54759 -static int ext3_unlink(2044,56183 -static int ext3_symlink 2098,57434 -static int ext3_link 2153,58856 -#define PARENT_INO(PARENT_INO2183,59562 -static int ext3_rename 2191,59825 -struct inode_operations ext3_dir_inode_operations 2344,64222 -struct inode_operations ext3_special_inode_operations 2364,64718 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/xattr_security.c,155 -ext3_xattr_security_list(15,296 -ext3_xattr_security_get(31,735 -ext3_xattr_security_set(41,983 -struct xattr_handler ext3_xattr_security_handler 50,1242 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/ialloc.c,439 -read_inode_bitmap(54,1482 -void ext3_free_inode 89,2649 -static int find_group_dir(202,6010 -#define INODE_COST 254,7748 -#define BLOCK_COST 255,7770 -static int find_group_orlov(257,7794 -static int find_group_other(354,10687 -struct inode *ext3_new_inode(422,12748 -struct inode *ext3_orphan_get(638,18227 -unsigned long ext3_count_free_inodes 693,20009 -unsigned long ext3_count_dirs 741,21292 -void ext3_check_inodes_bitmap 757,21675 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/acl.c,634 -ext3_acl_from_disk(20,375 -ext3_acl_to_disk(85,1879 -ext3_iget_acl(129,2941 -ext3_iset_acl(142,3212 -ext3_get_acl(158,3572 -ext3_set_acl(223,4986 -ext3_permission(294,6377 -ext3_init_acl(351,8031 -ext3_acl_chmod(412,9607 -ext3_xattr_list_acl_access(455,10571 -ext3_xattr_list_acl_default(468,10903 -ext3_xattr_get_acl(481,11236 -ext3_xattr_get_acl_access(501,11630 -ext3_xattr_get_acl_default(510,11855 -ext3_xattr_set_acl(519,12083 -ext3_xattr_set_acl_access(558,12953 -ext3_xattr_set_acl_default(567,13193 -struct xattr_handler ext3_xattr_acl_access_handler 575,13425 -struct xattr_handler ext3_xattr_acl_default_handler 582,13625 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/xattr.c,1129 -#define HDR(HDR67,2387 -#define ENTRY(ENTRY68,2448 -#define FIRST_ENTRY(FIRST_ENTRY69,2502 -#define IS_LAST_ENTRY(IS_LAST_ENTRY70,2543 -# define ea_idebug(ea_idebug73,2622 -# define ea_bdebug(ea_bdebug79,2786 -# define ea_idebug(ea_idebug88,3008 -# define ea_bdebug(ea_bdebug89,3033 -static struct mb_cache *ext3_xattr_cache;103,3473 -static struct xattr_handler *ext3_xattr_handler_map[105,3516 -struct xattr_handler *ext3_xattr_handlers[117,4009 -ext3_xattr_handler(131,4336 -ext3_listxattr(146,4627 -ext3_xattr_get(162,5049 -ext3_xattr_list(265,7772 -static void ext3_xattr_update_super_block(342,9703 -ext3_xattr_set_handle(371,10625 -ext3_xattr_set_handle2(650,18963 -ext3_xattr_set(785,22741 -ext3_xattr_delete_inode(818,23516 -ext3_xattr_put_super(876,25123 -ext3_xattr_cache_insert(890,25445 -ext3_xattr_cmp(924,26291 -ext3_xattr_cache_find(963,27397 -#define NAME_HASH_SHIFT 1015,28908 -#define VALUE_HASH_SHIFT 1016,28934 -static inline void ext3_xattr_hash_entry(1023,29046 -#define BLOCK_HASH_SHIFT 1052,29848 -static void ext3_xattr_rehash(1059,29986 -init_ext3_xattr(1084,30590 -exit_ext3_xattr(1095,30811 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/fsync.c,28 -int ext3_sync_file(45,1371 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/xattr.h,980 -#define EXT3_XATTR_MAGIC 13,249 -#define EXT3_XATTR_REFCOUNT_MAX 16,345 -#define EXT3_XATTR_INDEX_MAX 19,403 -#define EXT3_XATTR_INDEX_USER 20,437 -#define EXT3_XATTR_INDEX_POSIX_ACL_ACCESS 21,471 -#define EXT3_XATTR_INDEX_POSIX_ACL_DEFAULT 22,515 -#define EXT3_XATTR_INDEX_TRUSTED 23,560 -#define EXT3_XATTR_INDEX_LUSTRE 24,596 -#define EXT3_XATTR_INDEX_SECURITY 25,632 -struct ext3_xattr_header ext3_xattr_header27,677 -struct ext3_xattr_entry ext3_xattr_entry35,951 -#define EXT3_XATTR_PAD_BITS 45,1336 -#define EXT3_XATTR_PAD 46,1367 -#define EXT3_XATTR_ROUND 47,1416 -#define EXT3_XATTR_LEN(EXT3_XATTR_LEN48,1461 -#define EXT3_XATTR_NEXT(EXT3_XATTR_NEXT51,1588 -#define EXT3_XATTR_SIZE(EXT3_XATTR_SIZE54,1715 -ext3_xattr_get(83,2815 -ext3_xattr_list(90,2975 -ext3_xattr_set(96,3083 -ext3_xattr_set_handle(103,3248 -ext3_xattr_delete_inode(110,3439 -ext3_xattr_put_super(115,3526 -init_ext3_xattr(120,3594 -exit_ext3_xattr(126,3651 -#define ext3_xattr_handlers 130,3678 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/super.c,4879 -handle_t *ext3_journal_start_sb(62,1777 -int __ext3_journal_stop(88,2538 -void ext3_journal_abort_handle(105,2833 -static void ext3_handle_error(141,4005 -void ext3_error 167,4668 -const char *ext3_decode_error(181,4951 -void __ext3_std_error 216,5768 -void ext3_abort 238,6481 -NORET_TYPE void ext3_panic 270,7414 -void ext3_warning 287,7844 -void ext3_update_dynamic_rev(300,8120 -static struct block_device *ext3_blkdev_get(328,8971 -static int ext3_blkdev_put(347,9346 -static int ext3_blkdev_remove(353,9450 -static inline struct inode *orphan_list_entry(366,9675 -static void dump_orphan_list(371,9816 -void ext3_put_super 389,10349 -static kmem_cache_t *ext3_inode_cachep;443,12000 -static struct inode *ext3_alloc_inode(448,12094 -static void ext3_destroy_inode(464,12502 -static void init_once(469,12611 -static int init_inodecache(484,13016 -static void destroy_inodecache(495,13279 -static void ext3_clear_inode(501,13438 -#define QTYPE2NAME(QTYPE2NAME520,14053 -#define QTYPE2MOPT(QTYPE2MOPT521,14106 -static struct dquot_operations ext3_quota_operations 534,14791 -static struct quotactl_ops ext3_qctl_operations 549,15261 -static struct super_operations ext3_sops 560,15527 -static struct export_operations ext3_export_ops 578,16092 - Opt_bsd_df,583,16187 - Opt_bsd_df, Opt_minix_df,583,16187 - Opt_bsd_df, Opt_minix_df, Opt_grpid,583,16187 - Opt_bsd_df, Opt_minix_df, Opt_grpid, Opt_nogrpid,583,16187 - Opt_resgid,584,16238 - Opt_resgid, Opt_resuid,584,16238 - Opt_resgid, Opt_resuid, Opt_sb,584,16238 - Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont,584,16238 - Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic,584,16238 - Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic, Opt_err_ro,584,16238 - Opt_nouid32,585,16312 - Opt_nouid32, Opt_check,585,16312 - Opt_nouid32, Opt_check, Opt_nocheck,585,16312 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug,585,16312 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug, Opt_oldalloc,585,16312 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug, Opt_oldalloc, Opt_orlov,585,16312 - Opt_user_xattr,586,16386 - Opt_user_xattr, Opt_nouser_xattr,586,16386 - Opt_user_xattr, Opt_nouser_xattr, Opt_acl,586,16386 - Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl,586,16386 - Opt_reservation,587,16441 - Opt_reservation, Opt_noreservation,587,16441 - Opt_reservation, Opt_noreservation, Opt_noload,587,16441 - Opt_commit,588,16490 - Opt_commit, Opt_journal_update,588,16490 - Opt_commit, Opt_journal_update, Opt_journal_inum,588,16490 - Opt_abort,589,16541 - Opt_abort, Opt_data_journal,589,16541 - Opt_abort, Opt_data_journal, Opt_data_ordered,589,16541 - Opt_abort, Opt_data_journal, Opt_data_ordered, Opt_data_writeback,589,16541 - Opt_usrjquota,590,16609 - Opt_usrjquota, Opt_grpjquota,590,16609 - Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota,590,16609 - Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,590,16609 - Opt_jqfmt_vfsold,591,16676 - Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0,591,16676 - Opt_ignore,592,16712 - Opt_ignore, Opt_barrier,592,16712 - Opt_ignore, Opt_barrier, Opt_err,592,16712 - Opt_ignore, Opt_barrier, Opt_err, Opt_resize,592,16712 -static match_table_t tokens 595,16763 -static unsigned long get_sb_block(644,18162 -static int parse_options 664,18635 -static int ext3_setup_super(950,25492 -static int ext3_check_descriptors 1025,28024 -static void ext3_orphan_cleanup 1100,30788 -#define PLURAL(PLURAL1172,32685 -#define log2(log21190,33180 -static loff_t ext3_max_size(1197,33433 -static unsigned long descriptor_loc(1209,33696 -static int ext3_fill_super 1230,34340 -static void ext3_init_journal_params(1641,47843 -static journal_t *ext3_get_journal(1659,48379 -static journal_t *ext3_get_dev_journal(1699,49498 -static int ext3_load_journal(1789,51911 -static int ext3_create_journal(1859,53764 -static void ext3_commit_super 1898,54713 -static void ext3_mark_recovery_complete(1921,55371 -static void ext3_clear_journal_err(1942,56015 -int ext3_force_commit(1978,56909 -void ext3_write_super 2001,57441 -static int ext3_sync_fs(2008,57557 -void ext3_write_super_lockfs(2024,57951 -void ext3_unlockfs(2045,58546 -int ext3_remount 2057,58896 -int ext3_statfs 2129,61004 -static inline struct inode *dquot_to_inode(2193,62820 -static int ext3_dquot_initialize(2198,62963 -static int ext3_dquot_drop(2214,63359 -static int ext3_write_dquot(2230,63727 -static int ext3_acquire_dquot(2246,64045 -static int ext3_release_dquot(2262,64365 -static int ext3_mark_dquot_dirty(2278,64685 -static int ext3_write_info(2290,65002 -static int ext3_quota_on_mount(2310,65434 -static int ext3_quota_off_mount(2330,66003 -static int ext3_quota_on(2346,66358 -static struct super_block *ext3_get_sb(2376,67260 -static struct file_system_type ext3_fs_type 2382,67454 -static int __init init_ext3_fs(2390,67633 -static void __exit exit_ext3_fs(2409,67929 -module_init(2419,68256 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/file.c,212 -static int ext3_release_file 34,786 -static int ext3_open_file 52,1377 -ext3_file_write(61,1566 -struct file_operations ext3_file_operations 118,3122 -struct inode_operations ext3_file_inode_operations 134,3560 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/symlink.c,166 -static int ext3_follow_link(26,526 -struct inode_operations ext3_symlink_inode_operations 33,707 -struct inode_operations ext3_fast_symlink_inode_operations 45,1032 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext3/dir.c,643 -static unsigned char ext3_filetype_table[32,691 -struct file_operations ext3_dir_operations 42,1036 -static unsigned char get_dtype(54,1345 -int ext3_check_dir_entry 64,1596 -static int ext3_readdir(94,2617 -#define hash2pos(hash2pos245,6925 -#define pos2maj_hash(pos2maj_hash246,6969 -#define pos2min_hash(pos2min_hash247,7021 -struct fname fname253,7167 -static void free_rb_tree_fname(268,7442 -struct dir_private_info *create_dir_info(309,8296 -void ext3_htree_free_dir_info(326,8662 -int ext3_htree_store_dirent(335,8835 -static int call_filldir(398,10599 -static int ext3_dx_readdir(429,11303 -static int ext3_release_dir 511,13330 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/smbiod.c,592 -enum smbiod_state smbiod_state36,679 - SMBIOD_DEAD,37,699 - SMBIOD_STARTING,38,713 - SMBIOD_RUNNING,39,731 -static enum smbiod_state smbiod_state 42,752 -static pid_t smbiod_pid;43,805 -static spinlock_t servers_lock 46,906 -#define SMBIOD_DATA_READY 48,960 -static long smbiod_flags;49,993 -void smbiod_wake_up(57,1127 -static int smbiod_start(68,1326 -int smbiod_register_server(89,1761 -void smbiod_unregister_server(104,2065 -void smbiod_flush(115,2285 -int smbiod_retry(142,2982 -static void smbiod_handle_request(234,5252 -static void smbiod_doio(243,5462 -static int smbiod(291,6489 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/sock.c,359 -_recvfrom(39,774 -server_from_socket(51,1129 -smb_data_ready(60,1266 -smb_valid_socket(71,1518 -server_sock(78,1672 -smb_close_socket(94,1959 -smb_get_length(109,2254 -smb_recv_available(143,2898 -smb_move_iov(160,3261 -smb_receive_header(201,3884 -static char drop_buffer[252,4981 -smb_receive_drop(262,5229 -smb_receive(309,6141 -smb_send_request(358,7279 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/proto.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/smb_debug.h,235 -#define DENTRY_PATH(DENTRY_PATH6,128 -# define PARANOIA(PARANOIA14,320 -# define PARANOIA(PARANOIA16,403 -# define VERBOSE(VERBOSE21,512 -# define VERBOSE(VERBOSE23,593 -#define DEBUG1(DEBUG131,762 -#define DEBUG1(DEBUG133,841 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/proc.c,3960 -#define SMBFS_POSIX_UNLINK 39,836 -#define SMB_RETRY_INTR42,907 -#define SMB_VWV(SMB_VWV44,931 -#define SMB_CMD(SMB_CMD45,984 -#define SMB_WCT(SMB_WCT46,1023 -#define SMB_DIRINFO_SIZE 48,1080 -#define SMB_STATUS_SIZE 49,1108 -#define SMB_ST_BLKSIZE 51,1137 -#define SMB_ST_BLKSHIFT 52,1172 -static struct smb_ops smb_ops_core;54,1210 -static struct smb_ops smb_ops_os2;55,1246 -static struct smb_ops smb_ops_win95;56,1281 -static struct smb_ops smb_ops_winNT;57,1318 -static struct smb_ops smb_ops_unix;58,1355 -static struct smb_ops smb_ops_null;59,1391 -str_upper(84,2178 -str_lower(96,2324 -static void reverse_string(108,2536 -static int convert_memcpy(121,2740 -static inline int write_char(132,2997 -static inline int write_unichar(140,3155 -static int convert_cp(149,3377 -static int uni2char(198,4287 -static int char2uni(207,4449 -static struct nls_table unicode_table 215,4626 -static int setcodepage(223,4808 -int smb_setcodepage(243,5234 -smb_encode_smb_length(285,6379 -static int smb_build_path(302,6686 -static int smb_encode_path(398,8766 -static int smb_simple_encode_path(413,9140 -static int day_n[449,10016 -utc2local(455,10177 -local2utc(461,10289 -date_dos2unix(469,10479 -date_unix2dos(489,11081 -#define NTFS_TIME_OFFSET 521,11876 -smb_ntutc2unixutc(528,12096 -smb_unixutc2ntutc(541,12425 -#define MAX_FILE_MODE 548,12666 -static mode_t file_mode[549,12690 -static int smb_filetype_to_mode(553,12788 -static u32 smb_filetype_from_mode(562,12975 -smb_len(589,13785 -smb_bcc(595,13880 -smb_valid_packet(605,14102 -smb_verify(619,14457 -smb_get_xmitsize(652,15351 -smb_get_rsize(661,15502 -smb_get_wsize(676,15828 -smb_errno(691,16170 -smb_request_ok(820,19027 -smb_newconn(849,19592 -smb_setup_header(1004,23967 -smb_setup_bcc(1045,24971 -smb_proc_seek(1062,25410 -smb_proc_open(1092,26019 -smb_open(1164,27958 -smb_proc_close(1205,28834 -smb_proc_close_inode(1231,29526 -smb_close(1282,30844 -smb_close_fileid(1298,31180 -smb_proc_read_data(1311,31520 -smb_proc_read(1324,31826 -smb_proc_write(1373,33045 -#define SMB_READX_MAX_PAD 1417,34171 -smb_proc_readX_data(1419,34217 -smb_proc_readX(1447,35104 -smb_proc_writeX(1493,36336 -smb_proc_create(1538,37650 -smb_proc_mv(1571,38378 -smb_proc_generic_command(1606,39146 -smb_proc_mkdir(1635,39710 -smb_proc_rmdir(1641,39809 -smb_set_rw(1652,40031 -smb_proc_unlink(1676,40616 -smb_proc_flush(1731,41959 -smb_proc_trunc32(1751,42350 -smb_proc_trunc64(1762,42617 -smb_proc_trunc95(1804,43494 -smb_init_dirent(1821,43939 -smb_finish_dirent(1833,44206 -smb_init_root_dirent(1855,44739 -smb_decode_short_dirent(1874,45239 -smb_proc_readdir_short(1938,46818 -void smb_decode_unix_basic(2077,50074 -smb_decode_long_dirent(2142,51860 -#define SMB_CLOSE_AFTER_FIRST 2254,54575 -#define SMB_CLOSE_IF_END 2255,54612 -#define SMB_REQUIRE_RESUME_KEY 2256,54644 -#define SMB_CONTINUE_BIT 2257,54682 -smb_proc_readdir_long(2271,55196 -smb_proc_getattr_ff(2507,61283 -smb_proc_getattr_core(2590,63435 -smb_proc_getattr_trans2(2632,64478 -smb_proc_getattr_trans2_std(2674,65407 -smb_proc_getattr_trans2_all(2726,66806 -smb_proc_getattr_unix(2757,67540 -smb_proc_getattr_95(2781,67996 -smb_proc_ops_wait(2810,68735 -smb_proc_getattr_null(2824,68975 -smb_proc_readdir_null(2840,69294 -smb_proc_getattr(2852,69593 -smb_proc_setattr_core(2877,70319 -smb_proc_setattr(2924,71468 -smb_proc_setattr_ext(2939,71847 -smb_proc_setattr_trans2(2983,73041 -smb_proc_setattr_unix(3056,74796 -smb_proc_settime(3168,77657 -smb_proc_dskattr(3209,78813 -smb_proc_read_link(3238,79453 -smb_proc_symlink(3289,80646 -smb_proc_link(3332,81601 -smb_proc_query_cifsunix(3376,82600 -install_ops(3422,83526 -static struct smb_ops smb_ops_core 3428,83657 -static struct smb_ops smb_ops_os2 3438,83883 -static struct smb_ops smb_ops_win95 3448,84135 -static struct smb_ops smb_ops_winNT 3458,84394 -static struct smb_ops smb_ops_unix 3468,84639 -static struct smb_ops smb_ops_null 3480,84985 -void smb_install_null_ops(3486,85098 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/getopt.c,23 -int smb_getopt(26,812 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/ioctl.c,18 -smb_ioctl(26,464 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/inode.c,1169 -#define SMB_NLS_REMOTE 42,942 -#define SMB_NLS_REMOTE 44,993 -#define SMB_TTL_DEFAULT 47,1027 -static kmem_cache_t *smb_inode_cachep;54,1285 -static struct inode *smb_alloc_inode(56,1325 -static void smb_destroy_inode(65,1548 -static void init_once(70,1654 -static int init_inodecache(79,1950 -static void destroy_inodecache(90,2209 -static int smb_remount(96,2366 -static struct super_operations smb_sops 102,2479 -smb_iget(117,2849 -smb_get_inode_attr(158,3950 -smb_set_inode_attr(188,4743 -smb_invalidate_inodes(232,5898 -smb_refresh_inode(244,6157 -smb_revalidate_inode(302,7699 -smb_delete_inode(331,8398 -static struct option opts[341,8602 -parse_options(358,8993 -smb_show_options(423,10338 -smb_unload_nls(458,11374 -smb_put_super(471,11617 -int smb_fill_super(491,12012 -smb_statfs(631,15718 -int smb_getattr(646,15950 -smb_notify_change(655,16148 -int smb_malloced;774,18973 -int smb_current_kmalloced;775,18991 -int smb_current_vmalloced;776,19018 -static struct super_block *smb_get_sb(779,19053 -static struct file_system_type smb_fs_type 785,19236 -static int __init init_smb_fs(793,19417 -static void __exit exit_smb_fs(822,19893 -module_init(835,20291 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/getopt.h,56 -#define _LINUX_GETOPT_H2,24 -struct option option4,49 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/request.c,826 -#define SMB_SLAB_DEBUG 23,440 -#define ROUND_UP(ROUND_UP25,466 -static kmem_cache_t *req_cachep;28,537 -int smb_init_request_cache(36,659 -void smb_destroy_request_cache(48,913 -static struct smb_request *smb_do_alloc_request(57,1128 -struct smb_request *smb_alloc_request(88,1778 -static void smb_free_request(121,2544 -void smb_rget(135,2980 -void smb_rput(139,3052 -static int smb_setup_bcc(148,3249 -static int smb_setup_request(169,3698 -static int smb_setup_trans2request(193,4239 -int smb_add_request(277,6981 -int smb_request_send_req(382,9775 -int smb_request_send_server(415,10567 -static struct smb_request *find_request(450,11258 -static int smb_init_request(475,11790 -static int smb_recv_param(508,12548 -static int smb_recv_data(550,13486 -static int smb_recv_trans2(571,13967 -int smb_request_recv(719,18290 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/cache.c,119 -smb_invalid_dir_cache(31,662 -smb_invalidate_dircache_entries(60,1211 -smb_dget_fpos(82,1795 -smb_fill_cache(124,2673 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/request.h,244 -struct smb_request smb_request6,97 -#define SMB_REQ_STATIC 63,1237 -#define SMB_REQ_NORETRY 64,1294 -#define SMB_REQ_TRANSMITTED 66,1364 -#define SMB_REQ_RECEIVED 67,1428 -#define xSMB_REQ_NOREPLY 69,1498 -#define xSMB_REQ_NORECEIVER 70,1569 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/file.c,574 -smb_fsync(31,620 -smb_readpage_sync(54,1253 -smb_readpage(101,2257 -smb_writepage_sync(117,2571 -smb_writepage(172,4023 -smb_updatepage(206,4791 -smb_file_read(218,5131 -smb_file_mmap(243,5775 -smb_file_sendfile(263,6226 -static int smb_prepare_write(292,7106 -static int smb_commit_write(298,7228 -struct address_space_operations smb_file_aops 310,7476 -smb_file_write(321,7725 -smb_file_open(352,8487 -smb_file_release(369,8800 -smb_file_permission(390,9397 -struct file_operations smb_file_operations 404,9675 -struct inode_operations smb_file_inode_operations 417,9961 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/symlink.c,152 -int smb_symlink(30,561 -static int smb_follow_link(37,790 -static void smb_put_link(58,1225 -struct inode_operations smb_link_inode_operations 65,1359 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/smbfs/dir.c,718 -struct file_operations smb_dir_operations 37,1175 -struct inode_operations smb_dir_inode_operations 45,1324 -struct inode_operations smb_dir_inode_operations_unix 57,1577 -smb_readdir(79,2109 -smb_dir_open(236,5646 -static struct dentry_operations smbfs_dentry_operations 276,6843 -static struct dentry_operations smbfs_dentry_operations_case 284,7040 -smb_lookup_validate(295,7256 -smb_hash_dentry(331,8131 -smb_compare_dentry(345,8397 -smb_delete_dentry(365,8792 -smb_new_dentry(383,9092 -smb_renew_times(401,9526 -smb_lookup(423,9928 -smb_instantiate(471,10960 -smb_create(513,11892 -smb_mkdir(544,12701 -smb_rmdir(567,13244 -smb_unlink(594,13666 -smb_rename(613,13972 -smb_make_node(654,14939 -smb_link(680,15475 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/open.c,1463 -int vfs_statfs(28,561 -static int vfs_statfs_native(49,976 -static int vfs_statfs64(92,2008 -asmlinkage long sys_statfs(119,2611 -asmlinkage long sys_statfs64(136,2979 -asmlinkage long sys_fstatfs(155,3401 -asmlinkage long sys_fstatfs64(173,3762 -int do_truncate(194,4178 -static inline long do_sys_truncate(213,4657 -asmlinkage long sys_truncate(273,5806 -static inline long do_sys_ftruncate(279,5995 -asmlinkage long sys_ftruncate(322,6869 -asmlinkage long sys_truncate64(329,7074 -asmlinkage long sys_ftruncate64(334,7190 -asmlinkage long sys_utime(353,7728 -long do_utimes(409,9139 -asmlinkage long sys_utimes(456,10336 -asmlinkage long sys_access(471,10785 -asmlinkage long sys_chdir(518,12030 -asmlinkage long sys_fchdir(541,12439 -asmlinkage long sys_chroot(571,12933 -asmlinkage long sys_fchmod(599,13462 -asmlinkage long sys_chmod(634,14157 -static int chown_common(668,14863 -asmlinkage long sys_chown(703,15648 -asmlinkage long sys_lchown(716,15911 -asmlinkage long sys_fchown(730,16181 -struct file *filp_open(757,16775 -struct file *dentry_open(777,17185 -int get_unused_fd(842,18578 -static inline void __put_unused_fd(903,19752 -void fastcall put_unused_fd(910,19918 -void fastcall fd_install(933,20624 -asmlinkage long sys_open(945,20899 -asmlinkage long sys_creat(981,21512 -int filp_close(992,21733 -asmlinkage long sys_close(1025,22414 -asmlinkage long sys_vhangup(1053,23023 -int generic_file_open(1068,23383 -int nonseekable_open(1081,23670 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/bfs/inode.c,843 -#define dprintf(dprintf26,602 -#define dprintf(dprintf28,640 -static void bfs_read_inode(33,731 -static int bfs_write_inode(88,2278 -static void bfs_delete_inode(135,3478 -static void bfs_put_super(186,4849 -static int bfs_statfs(195,5024 -static void bfs_write_super(211,5515 -static kmem_cache_t * bfs_inode_cachep;220,5693 -static struct inode *bfs_alloc_inode(222,5734 -static void bfs_destroy_inode(231,5932 -static void init_once(236,6038 -static int init_inodecache(245,6279 -static void destroy_inodecache(256,6538 -static struct super_operations bfs_sops 262,6695 -void dump_imap(273,6998 -static int bfs_fill_super(293,7454 -static struct super_block *bfs_get_sb(384,9606 -static struct file_system_type bfs_fs_type 390,9798 -static int __init init_bfs_fs(398,9974 -static void __exit exit_bfs_fs(413,10197 -module_init(419,10300 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/bfs/bfs.h,243 -#define _FS_BFS_BFS_H6,104 -struct bfs_sb_info bfs_sb_info13,204 -struct bfs_inode_info bfs_inode_info29,618 -static inline struct bfs_sb_info *BFS_SB(36,790 -static inline struct bfs_inode_info *BFS_I(41,883 -#define printf(printf47,1014 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/bfs/file.c,461 -#define dprintf(dprintf15,239 -#define dprintf(dprintf17,277 -struct file_operations bfs_file_operations 20,307 -static int bfs_move_block(28,516 -static int bfs_move_blocks(43,828 -static int bfs_get_block(57,1193 -static int bfs_writepage(133,3420 -static int bfs_readpage(138,3557 -static int bfs_prepare_write(143,3675 -static sector_t bfs_bmap(148,3835 -struct address_space_operations bfs_aops 153,3971 -struct inode_operations bfs_file_inops;162,4203 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/bfs/dir.c,491 -#define dprintf(dprintf18,319 -#define dprintf(dprintf20,357 -static int bfs_readdir(27,603 -struct file_operations bfs_dir_operations 72,1679 -static int bfs_create(80,1865 -static struct dentry * bfs_lookup(130,3153 -static int bfs_link(155,3729 -static int bfs_unlink(176,4170 -static int bfs_rename(209,4930 -struct inode_operations bfs_dir_inops 265,6228 -static int bfs_add_entry(273,6395 -static inline int bfs_namecmp(320,7571 -static struct buffer_head * bfs_find_entry(327,7742 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/stat.c,725 -void generic_fillattr(21,380 -int vfs_getattr(40,880 -int vfs_stat(65,1481 -int vfs_lstat(80,1737 -int vfs_fstat(95,2000 -static int cp_old_stat(115,2349 -asmlinkage long sys_stat(150,3346 -asmlinkage long sys_lstat(160,3571 -asmlinkage long sys_fstat(170,3798 -static int cp_new_stat(183,4048 -asmlinkage long sys_newstat(231,5323 -asmlinkage long sys_newlstat(241,5538 -asmlinkage long sys_newfstat(251,5755 -asmlinkage long sys_readlink(262,5960 -static long cp_new_stat64(291,6561 -asmlinkage long sys_stat64(326,7635 -asmlinkage long sys_lstat64(336,7853 -asmlinkage long sys_fstat64(346,8073 -void inode_add_bytes(359,8315 -void inode_sub_bytes(374,8619 -loff_t inode_get_bytes(389,8924 -void inode_set_bytes(401,9149 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/autofs_i.h,844 -#define AUTOFS_IOC_FIRST 18,600 -#define AUTOFS_IOC_COUNT 19,646 -#define DPRINTK(DPRINTK35,969 -#define DPRINTK(DPRINTK37,1005 -#define AUTOFS_SUPER_MAGIC 40,1042 -#define AUTOFS_NEGATIVE_TIMEOUT 48,1370 -#define AUTOFS_HASH_SIZE 52,1490 -struct autofs_dir_ent autofs_dir_ent54,1519 -struct autofs_dirhash autofs_dirhash68,1813 -struct autofs_wait_queue autofs_wait_queue73,1917 -struct autofs_symlink autofs_symlink86,2208 -#define AUTOFS_MAX_SYMLINKS 92,2274 -#define AUTOFS_ROOT_INO 94,2307 -#define AUTOFS_FIRST_SYMLINK 95,2338 -#define AUTOFS_FIRST_DIR_INO 96,2369 -#define AUTOFS_SYMLINK_BITMAP_LEN 98,2442 -#define AUTOFS_SBI_MAGIC 101,2542 -struct autofs_sb_info autofs_sb_info103,2579 -static inline struct autofs_sb_info *autofs_sbi(116,2949 -static inline int autofs_oz_mode(125,3247 -#define autofs_say(autofs_say163,4662 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/root.c,702 -struct file_operations autofs_root_operations 28,1134 -struct inode_operations autofs_root_inode_operations 34,1279 -static int autofs_root_readdir(42,1532 -static int try_to_fill_dentry(84,2440 -static int autofs_revalidate(147,4365 -static struct dentry_operations autofs_dentry_operations 194,5429 -static struct dentry *autofs_root_lookup(198,5530 -static int autofs_root_symlink(266,7512 -static int autofs_root_unlink(347,9577 -static int autofs_root_rmdir(387,10536 -static int autofs_root_mkdir(423,11322 -static inline int autofs_get_set_timeout(476,12491 -static inline int autofs_get_protover(494,12852 -static inline int autofs_expire_run(500,12987 -static int autofs_root_ioctl(531,13734 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/init.c,211 -static struct super_block *autofs_get_sb(17,543 -static struct file_system_type autofs_fs_type 23,732 -static int __init init_autofs_fs(30,886 -static void __exit exit_autofs_fs(35,976 -void autofs_say(44,1134 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/inode.c,601 -static void autofs_put_super(22,666 -static struct super_operations autofs_sops 43,1155 -enum {Opt_err,49,1299 -enum {Opt_err, Opt_fd,49,1299 -enum {Opt_err, Opt_fd, Opt_uid,49,1299 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid,49,1299 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp,49,1299 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto,49,1299 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto}49,1299 -static match_table_t autofs_tokens 51,1380 -static int parse_options(61,1592 -int autofs_fill_super(122,2743 -static void autofs_read_inode(203,4743 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/waitq.c,251 -static autofs_wqt_t autofs_next_wait_queue 21,743 -#define SHUTDOWN_SIGS 24,858 -void autofs_catatonic_mode(26,937 -static int autofs_write(47,1454 -static void autofs_notify_daemon(82,2370 -int autofs_wait(102,2995 -int autofs_wait_release(182,4843 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/dirhash.c,432 -static void autofs_init_usage(17,545 -static void autofs_delete_usage(24,717 -void autofs_update_usage(29,804 -struct autofs_dir_ent *autofs_expire(36,1013 -void autofs_initialize_hash(106,3092 -struct autofs_dir_ent *autofs_hash_lookup(111,3257 -void autofs_hash_insert(128,3725 -void autofs_hash_delete(147,4174 -struct autofs_dir_ent *autofs_hash_enum(169,4720 -void autofs_hash_dputall(218,5768 -void autofs_hash_nuke(235,6161 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs/symlink.c,102 -static int autofs_follow_link(15,496 -struct inode_operations autofs_symlink_inode_operations 22,681 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/udfend.h,445 -#define __UDF_ENDIAN_H2,23 -static inline kernel_lb_addr lelb_to_cpu(7,101 -static inline lb_addr cpu_to_lelb(15,317 -static inline kernel_timestamp lets_to_cpu(23,526 -static inline short_ad lesa_to_cpu(32,753 -static inline short_ad cpu_to_lesa(40,926 -static inline kernel_long_ad lela_to_cpu(48,1099 -static inline long_ad cpu_to_lela(56,1283 -static inline kernel_extent_ad leea_to_cpu(64,1460 -static inline timestamp cpu_to_lets(72,1650 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/crc.c,119 -static uint16_t crc_table[31,940 -udf_crc(88,3800 -unsigned char bytes[108,4181 -int main(110,4231 -int main(139,4786 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/unicode.c,460 -static int udf_char_to_ustr(37,1023 -int udf_build_ustr(51,1349 -static int udf_build_ustr_exact(69,1708 -int udf_CS0toUTF8(103,2488 -static int udf_UTF8toCS0(181,4196 -static int udf_CS0toNLS(275,5882 -static int udf_NLStoCS0(317,6729 -int udf_get_filename(352,7417 -int udf_put_filename(389,8187 -#define ILLEGAL_CHAR_MARK 419,8742 -#define EXT_MARK 420,8772 -#define CRC_MARK 421,8795 -#define EXT_SIZE 422,8818 -static int udf_translate_to_linux(424,8840 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/truncate.c,104 -static void extent_trunc(36,812 -void udf_discard_prealloc(69,1809 -void udf_truncate_extents(130,3491 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/directory.c,168 -udf_filead_read(28,647 -udf_fileident_read(80,1737 -udf_get_fileident(223,5169 -udf_get_fileextent(268,6275 -udf_get_fileshortad(304,6975 -udf_get_filelongad(325,7393 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/ecma_167.h,8322 -#define _ECMA_167_H 38,1606 -} __attribute__ ((packed)packed45,1751 -#define CHARSPEC_TYPE_CS0 48,1837 -#define CHARSPEC_TYPE_CS1 49,1885 -#define CHARSPEC_TYPE_CS2 50,1933 -#define CHARSPEC_TYPE_CS3 51,1981 -#define CHARSPEC_TYPE_CS4 52,2029 -#define CHARSPEC_TYPE_CS5 53,2077 -#define CHARSPEC_TYPE_CS6 54,2125 -#define CHARSPEC_TYPE_CS7 55,2173 -#define CHARSPEC_TYPE_CS8 56,2221 -typedef uint8_t dstring;dstring58,2271 -} __attribute__ ((packed)packed73,2557 -} __attribute__ ((packed)packed87,2822 -#define TIMESTAMP_TYPE_MASK 90,2914 -#define TIMESTAMP_TYPE_CUT 91,2950 -#define TIMESTAMP_TYPE_LOCAL 92,2985 -#define TIMESTAMP_TYPE_AGREEMENT 93,3022 -#define TIMESTAMP_TIMEZONE_MASK 94,3062 -} __attribute__ ((packed)packed102,3227 -#define ENTITYID_FLAGS_DIRTY 105,3295 -#define ENTITYID_FLAGS_PROTECTED 106,3330 -#define VSD_STD_ID_LEN 109,3422 -struct volStructDescvolStructDesc110,3449 -#define VSD_STD_ID_NSR02 119,3659 -#define VSD_STD_ID_BEA01 122,3755 -#define VSD_STD_ID_BOOT2 123,3803 -#define VSD_STD_ID_CD001 124,3851 -#define VSD_STD_ID_CDW02 125,3902 -#define VSD_STD_ID_NSR03 126,3953 -#define VSD_STD_ID_TEA01 127,4001 -struct beginningExtendedAreaDescbeginningExtendedAreaDesc130,4110 -struct terminatingExtendedAreaDescterminatingExtendedAreaDesc139,4347 -struct bootDescbootDesc148,4565 -#define BOOT_FLAGS_ERASE 167,4984 -} __attribute__ ((packed)packed174,5118 -} kernel_extent_ad;kernel_extent_ad180,5218 -} __attribute__ ((packed)packed193,5467 -#define TAG_IDENT_PVD 196,5542 -#define TAG_IDENT_AVDP 197,5573 -#define TAG_IDENT_VDP 198,5605 -#define TAG_IDENT_IUVD 199,5636 -#define TAG_IDENT_PD 200,5668 -#define TAG_IDENT_LVD 201,5698 -#define TAG_IDENT_USD 202,5729 -#define TAG_IDENT_TD 203,5760 -#define TAG_IDENT_LVID 204,5790 -struct NSRDescNSRDesc207,5863 -struct primaryVolDescprimaryVolDesc217,6093 -#define PVD_FLAGS_VSID_COMMON 244,6716 -struct anchorVolDescPtranchorVolDescPtr247,6814 -struct volDescPtrvolDescPtr256,7025 -struct impUseVolDescimpUseVolDesc265,7231 -struct partitionDescpartitionDesc274,7410 -#define PD_PARTITION_FLAGS_ALLOC 291,7809 -#define PD_PARTITION_CONTENTS_NSR02 294,7897 -#define PD_PARTITION_CONTENTS_FDC01 297,7990 -#define PD_PARTITION_CONTENTS_CD001 298,8035 -#define PD_PARTITION_CONTENTS_CDW02 299,8080 -#define PD_PARTITION_CONTENTS_NSR03 300,8125 -#define PD_ACCESS_TYPE_NONE 303,8211 -#define PD_ACCESS_TYPE_READ_ONLY 304,8251 -#define PD_ACCESS_TYPE_WRITE_ONCE 305,8295 -#define PD_ACCESS_TYPE_REWRITABLE 306,8340 -#define PD_ACCESS_TYPE_OVERWRITABLE 307,8385 -struct logicalVolDesclogicalVolDesc310,8485 -struct genericPartitionMapgenericPartitionMap328,8916 -#define GP_PARTITION_MAP_TYPE_UNDEF 336,9112 -#define GP_PARTIITON_MAP_TYPE_1 337,9153 -#define GP_PARTITION_MAP_TYPE_2 338,9191 -struct genericPartitionMap1genericPartitionMap1341,9279 -struct genericPartitionMap2genericPartitionMap2350,9488 -struct unallocSpaceDescunallocSpaceDesc358,9691 -struct terminatingDescterminatingDesc367,9884 -struct logicalVolIntegrityDesclogicalVolIntegrityDesc374,10041 -#define LVID_INTEGRITY_TYPE_OPEN 389,10408 -#define LVID_INTEGRITY_TYPE_CLOSE 390,10452 -} __attribute__ ((packed)packed397,10617 -} kernel_lb_addr;kernel_lb_addr404,10768 -} __attribute__ ((packed)packed411,10917 -} __attribute__ ((packed)packed419,11092 -} kernel_long_ad;kernel_long_ad426,11217 -} __attribute__ ((packed)packed435,11409 -} kernel_ext_ad;kernel_ext_ad443,11567 -#define TAG_IDENT_FSD 448,11680 -#define TAG_IDENT_FID 449,11711 -#define TAG_IDENT_AED 450,11742 -#define TAG_IDENT_IE 451,11773 -#define TAG_IDENT_TE 452,11803 -#define TAG_IDENT_FE 453,11833 -#define TAG_IDENT_EAHD 454,11863 -#define TAG_IDENT_USE 455,11895 -#define TAG_IDENT_SBD 456,11926 -#define TAG_IDENT_PIE 457,11957 -#define TAG_IDENT_EFE 458,11988 -struct fileSetDescfileSetDesc461,12066 -struct partitionHeaderDescpartitionHeaderDesc485,12673 -struct fileIdentDescfileIdentDesc496,12957 -#define FID_FILE_CHAR_HIDDEN 510,13263 -#define FID_FILE_CHAR_DIRECTORY 511,13298 -#define FID_FILE_CHAR_DELETED 512,13336 -#define FID_FILE_CHAR_PARENT 513,13372 -#define FID_FILE_CHAR_METADATA 514,13407 -struct allocExtDescallocExtDesc517,13497 -} __attribute__ ((packed)packed535,13873 -#define ICBTAG_STRATEGY_TYPE_UNDEF 538,13951 -#define ICBTAG_STRATEGY_TYPE_1 539,13993 -#define ICBTAG_STRATEGY_TYPE_2 540,14032 -#define ICBTAG_STRATEGY_TYPE_3 541,14071 -#define ICBTAG_STRATEGY_TYPE_4 542,14110 -#define ICBTAG_FILE_TYPE_UNDEF 545,14188 -#define ICBTAG_FILE_TYPE_USE 546,14225 -#define ICBTAG_FILE_TYPE_PIE 547,14260 -#define ICBTAG_FILE_TYPE_IE 548,14295 -#define ICBTAG_FILE_TYPE_DIRECTORY 549,14329 -#define ICBTAG_FILE_TYPE_REGULAR 550,14369 -#define ICBTAG_FILE_TYPE_BLOCK 551,14407 -#define ICBTAG_FILE_TYPE_CHAR 552,14444 -#define ICBTAG_FILE_TYPE_EA 553,14480 -#define ICBTAG_FILE_TYPE_FIFO 554,14514 -#define ICBTAG_FILE_TYPE_SOCKET 555,14550 -#define ICBTAG_FILE_TYPE_TE 556,14588 -#define ICBTAG_FILE_TYPE_SYMLINK 557,14622 -#define ICBTAG_FILE_TYPE_STREAMDIR 558,14660 -#define ICBTAG_FLAG_AD_MASK 561,14735 -#define ICBTAG_FLAG_AD_SHORT 562,14771 -#define ICBTAG_FLAG_AD_LONG 563,14808 -#define ICBTAG_FLAG_AD_EXTENDED 564,14844 -#define ICBTAG_FLAG_AD_IN_ICB 565,14884 -#define ICBTAG_FLAG_SORTED 566,14922 -#define ICBTAG_FLAG_NONRELOCATABLE 567,14957 -#define ICBTAG_FLAG_ARCHIVE 568,14999 -#define ICBTAG_FLAG_SETUID 569,15035 -#define ICBTAG_FLAG_SETGID 570,15070 -#define ICBTAG_FLAG_STICKY 571,15105 -#define ICBTAG_FLAG_CONTIGUOUS 572,15140 -#define ICBTAG_FLAG_SYSTEM 573,15179 -#define ICBTAG_FLAG_TRANSFORMED 574,15214 -#define ICBTAG_FLAG_MULTIVERSIONS 575,15254 -#define ICBTAG_FLAG_STREAM 576,15295 -struct indirectEntryindirectEntry579,15372 -struct terminalEntryterminalEntry587,15520 -struct fileEntryfileEntry594,15641 -#define FE_PERM_O_EXEC 621,16237 -#define FE_PERM_O_WRITE 622,16274 -#define FE_PERM_O_READ 623,16312 -#define FE_PERM_O_CHATTR 624,16349 -#define FE_PERM_O_DELETE 625,16387 -#define FE_PERM_G_EXEC 626,16425 -#define FE_PERM_G_WRITE 627,16462 -#define FE_PERM_G_READ 628,16500 -#define FE_PERM_G_CHATTR 629,16537 -#define FE_PERM_G_DELETE 630,16575 -#define FE_PERM_U_EXEC 631,16613 -#define FE_PERM_U_WRITE 632,16650 -#define FE_PERM_U_READ 633,16688 -#define FE_PERM_U_CHATTR 634,16725 -#define FE_PERM_U_DELETE 635,16763 -#define FE_RECORD_FMT_UNDEF 638,16844 -#define FE_RECORD_FMT_FIXED_PAD 639,16878 -#define FE_RECORD_FMT_FIXED 640,16916 -#define FE_RECORD_FMT_VARIABLE8 641,16950 -#define FE_RECORD_FMT_VARIABLE16 642,16988 -#define FE_RECORD_FMT_VARIABLE16_MSB 643,17026 -#define FE_RECORD_FMT_VARIABLE32 644,17068 -#define FE_RECORD_FMT_PRINT 645,17106 -#define FE_RECORD_FMT_LF 646,17140 -#define FE_RECORD_FMT_CR 647,17171 -#define FE_RECORD_FMT_CRLF 648,17202 -#define FE_RECORD_FMT_LFCR 649,17235 -#define FE_RECORD_DISPLAY_ATTR_UNDEF 652,17323 -#define FE_RECORD_DISPLAY_ATTR_1 653,17365 -#define FE_RECORD_DISPLAY_ATTR_2 654,17403 -#define FE_RECORD_DISPLAY_ATTR_3 655,17441 -struct extendedAttrHeaderDescextendedAttrHeaderDesc658,17546 -struct genericFormatgenericFormat666,17718 -struct charSetInfocharSetInfo676,17934 -struct altPermsaltPerms688,18194 -struct fileTimesExtAttrfileTimesExtAttr700,18449 -#define FTE_CREATION 712,18709 -#define FTE_DELETION 713,18743 -#define FTE_EFFECTIVE 714,18777 -#define FTE_BACKUP 715,18812 -struct infoTimesExtAttrinfoTimesExtAttr718,18911 -struct deviceSpecdeviceSpec730,19175 -struct impUseExtAttrimpUseExtAttr743,19470 -struct appUseExtAttrappUseExtAttr755,19734 -#define EXTATTR_CHAR_SET 766,19934 -#define EXTATTR_ALT_PERMS 767,19962 -#define EXTATTR_FILE_TIMES 768,19991 -#define EXTATTR_INFO_TIMES 769,20021 -#define EXTATTR_DEV_SPEC 770,20051 -#define EXTATTR_IMP_USE 771,20080 -#define EXTATTR_APP_USE 772,20111 -struct unallocSpaceEntryunallocSpaceEntry776,20196 -struct spaceBitmapDescspaceBitmapDesc785,20387 -struct partitionIntegrityEntrypartitionIntegrityEntry794,20571 -#define EXT_RECORDED_ALLOCATED 808,20892 -#define EXT_NOT_RECORDED_ALLOCATED 809,20935 -#define EXT_NOT_RECORDED_NOT_ALLOCATED 810,20981 -#define EXT_NEXT_EXTENT_ALLOCDECS 811,21031 -struct logicalVolHeaderDesclogicalVolHeaderDesc818,21255 -struct pathComponentpathComponent825,21401 -struct extendedFileEntryextendedFileEntry834,21611 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/inode.c,1260 -#define EXTENT_MERGE_SIZE 52,1633 -void udf_put_inode(86,2812 -void udf_delete_inode(112,3331 -void udf_clear_inode(130,3610 -static int udf_writepage(136,3711 -static int udf_readpage(141,3848 -static int udf_prepare_write(146,3966 -static sector_t udf_bmap(151,4126 -struct address_space_operations udf_aops 156,4260 -void udf_expand_file_adinicb(165,4498 -struct buffer_head * udf_expand_dir_adinicb(215,5794 -static int udf_get_block(304,8430 -udf_getblk(356,9305 -static struct buffer_head * inode_getblk(380,9845 -static void udf_split_extents(580,15443 -static void udf_prealloc_extents(642,17281 -static void udf_merge_extents(734,19695 -static void udf_update_extents(819,22979 -struct buffer_head * udf_bread(855,23911 -void udf_truncate(875,24277 -udf_read_inode(942,25813 -__udf_read_inode(948,25929 -static void udf_fill_inode(1043,28078 -udf_convert_permissions(1285,34674 -int udf_write_inode(1319,35428 -int udf_sync_inode(1328,35580 -udf_update_inode(1334,35673 -udf_iget(1586,44001 -int8_t udf_add_aext(1632,44918 -int8_t udf_write_aext(1772,48692 -int8_t udf_next_aext(1828,50016 -int8_t udf_current_aext(1850,50611 -udf_insert_aext(1910,52161 -int8_t udf_delete_aext(1932,52716 -int8_t inode_bmap(2024,55139 -long udf_block_map(2061,55932 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/udfdecl.h,641 -#define __UDF_DECL_H2,21 -#define udf_fixed_to_variable(udf_fixed_to_variable17,297 -#define udf_variable_to_fixed(udf_variable_to_fixed18,379 -#define UDF_EXTENT_LENGTH_MASK 20,454 -#define UDF_EXTENT_FLAG_MASK 21,496 -#define UDF_NAME_PAD 23,537 -#define UDF_NAME_LEN 24,561 -#define UDF_PATH_LEN 25,587 -#define udf_file_entry_alloc_offset(udf_file_entry_alloc_offset27,615 -#define udf_ext0_offset(udf_ext0_offset34,838 -#define udf_get_lb_pblock(udf_get_lb_pblock38,966 -struct udf_fileident_bhudf_fileident_bh54,1561 -struct udf_vds_recordudf_vds_record62,1671 -struct generic_descgeneric_desc68,1741 -struct ustrustr74,1806 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/udf_i.h,750 -#define __LINUX_UDF_I_H2,24 -static inline struct udf_inode_info *UDF_I(5,77 -#define UDF_I_LOCATION(UDF_I_LOCATION10,207 -#define UDF_I_LENEATTR(UDF_I_LENEATTR11,258 -#define UDF_I_LENALLOC(UDF_I_LENALLOC12,309 -#define UDF_I_LENEXTENTS(UDF_I_LENEXTENTS13,360 -#define UDF_I_UNIQUE(UDF_I_UNIQUE14,415 -#define UDF_I_ALLOCTYPE(UDF_I_ALLOCTYPE15,463 -#define UDF_I_EFE(UDF_I_EFE16,517 -#define UDF_I_USE(UDF_I_USE17,559 -#define UDF_I_STRAT4096(UDF_I_STRAT409618,601 -#define UDF_I_NEXT_ALLOC_BLOCK(UDF_I_NEXT_ALLOC_BLOCK19,654 -#define UDF_I_NEXT_ALLOC_GOAL(UDF_I_NEXT_ALLOC_GOAL20,721 -#define UDF_I_CRTIME(UDF_I_CRTIME21,786 -#define UDF_I_SAD(UDF_I_SAD22,834 -#define UDF_I_LAD(UDF_I_LAD23,882 -#define UDF_I_DATA(UDF_I_DATA24,930 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/partition.c,202 -inline uint32_t udf_get_pblock(36,866 -uint32_t udf_get_pblock_virt15(50,1317 -inline uint32_t udf_get_pblock_virt20(100,2636 -uint32_t udf_get_pblock_spar15(105,2817 -int udf_relocate_blocks(138,3745 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/lowlevel.c,218 -typedef struct scsi_device Scsi_Device;Scsi_Device32,723 -typedef struct scsi_cmnd Scsi_Cmnd;Scsi_Cmnd33,763 -udf_get_last_session(41,893 -#define WE_OBEY_THE_WRITTEN_STANDARDS 52,1179 -udf_get_last_block(71,1599 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/udf_sb.h,2799 -#define __LINUX_UDF_SB_H2,25 -#define UDF_SUPER_MAGIC 5,94 -#define UDF_MAX_READ_VERSION 7,132 -#define UDF_MAX_WRITE_VERSION 8,169 -#define UDF_FLAG_USE_EXTENDED_FE 10,208 -#define UDF_VERS_USE_EXTENDED_FE 11,243 -#define UDF_FLAG_USE_STREAMS 12,283 -#define UDF_VERS_USE_STREAMS 13,315 -#define UDF_FLAG_USE_SHORT_AD 14,352 -#define UDF_FLAG_USE_AD_IN_ICB 15,385 -#define UDF_FLAG_USE_FILE_CTIME_EA 16,419 -#define UDF_FLAG_STRICT 17,456 -#define UDF_FLAG_UNDELETE 18,484 -#define UDF_FLAG_UNHIDE 19,513 -#define UDF_FLAG_VARCONV 20,541 -#define UDF_FLAG_NLS_MAP 21,569 -#define UDF_FLAG_UTF8 22,597 -#define UDF_PART_FLAG_UNALLOC_BITMAP 24,625 -#define UDF_PART_FLAG_UNALLOC_TABLE 25,669 -#define UDF_PART_FLAG_FREED_BITMAP 26,712 -#define UDF_PART_FLAG_FREED_TABLE 27,754 -#define UDF_PART_FLAG_READ_ONLY 28,795 -#define UDF_PART_FLAG_WRITE_ONCE 29,835 -#define UDF_PART_FLAG_REWRITABLE 30,875 -#define UDF_PART_FLAG_OVERWRITABLE 31,915 -static inline struct udf_sb_info *UDF_SB(33,958 -#define UDF_SB_FREE(UDF_SB_FREE38,1051 -#define UDF_SB_ALLOC_PARTMAPS(UDF_SB_ALLOC_PARTMAPS48,1194 -#define UDF_SB_ALLOC_BITMAP(UDF_SB_ALLOC_BITMAP63,1578 -#define UDF_SB_FREE_BITMAP(UDF_SB_FREE_BITMAP85,2433 -#define UDF_QUERY_FLAG(UDF_QUERY_FLAG101,2853 -#define UDF_SET_FLAG(UDF_SET_FLAG102,2921 -#define UDF_CLEAR_FLAG(UDF_CLEAR_FLAG103,2988 -#define UDF_UPDATE_UDFREV(UDF_UPDATE_UDFREV105,3059 -#define UDF_SB_PARTMAPS(UDF_SB_PARTMAPS107,3166 -#define UDF_SB_PARTTYPE(UDF_SB_PARTTYPE108,3221 -#define UDF_SB_PARTROOT(UDF_SB_PARTROOT109,3297 -#define UDF_SB_PARTLEN(UDF_SB_PARTLEN110,3373 -#define UDF_SB_PARTVSN(UDF_SB_PARTVSN111,3447 -#define UDF_SB_PARTNUM(UDF_SB_PARTNUM112,3520 -#define UDF_SB_TYPESPAR(UDF_SB_TYPESPAR113,3594 -#define UDF_SB_TYPEVIRT(UDF_SB_TYPEVIRT114,3679 -#define UDF_SB_PARTFUNC(UDF_SB_PARTFUNC115,3764 -#define UDF_SB_PARTFLAGS(UDF_SB_PARTFLAGS116,3840 -#define UDF_SB_BITMAP(UDF_SB_BITMAP117,3918 -#define UDF_SB_BITMAP_NR_GROUPS(UDF_SB_BITMAP_NR_GROUPS118,4009 -#define UDF_SB_VOLIDENT(UDF_SB_VOLIDENT120,4102 -#define UDF_SB_NUMPARTS(UDF_SB_NUMPARTS121,4157 -#define UDF_SB_PARTITION(UDF_SB_PARTITION122,4214 -#define UDF_SB_SESSION(UDF_SB_SESSION123,4271 -#define UDF_SB_ANCHOR(UDF_SB_ANCHOR124,4324 -#define UDF_SB_LASTBLOCK(UDF_SB_LASTBLOCK125,4375 -#define UDF_SB_LVIDBH(UDF_SB_LVIDBH126,4432 -#define UDF_SB_LVID(UDF_SB_LVID127,4483 -#define UDF_SB_LVIDIU(UDF_SB_LVIDIU128,4572 -#define UDF_SB_UMASK(UDF_SB_UMASK130,4755 -#define UDF_SB_GID(UDF_SB_GID131,4805 -#define UDF_SB_UID(UDF_SB_UID132,4851 -#define UDF_SB_RECORDTIME(UDF_SB_RECORDTIME133,4897 -#define UDF_SB_SERIALNUM(UDF_SB_SERIALNUM134,4956 -#define UDF_SB_UDFREV(UDF_SB_UDFREV135,5013 -#define UDF_SB_FLAGS(UDF_SB_FLAGS136,5064 -#define UDF_SB_VAT(UDF_SB_VAT137,5114 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/osta_udf.h,3040 -#define _OSTA_UDF_H 38,1606 -#define UDF_CHAR_SET_TYPE 41,1670 -#define UDF_CHAR_SET_INFO 42,1699 -#define UDF_ID_DEVELOPER 46,1831 -#define UDF_ID_COMPLIANT 47,1872 -#define UDF_ID_LV_INFO 48,1920 -#define UDF_ID_FREE_EA 49,1960 -#define UDF_ID_FREE_APP_EA 50,2004 -#define UDF_ID_DVD_CGMS 51,2054 -#define UDF_ID_OS2_EA 52,2101 -#define UDF_ID_OS2_EA_LENGTH 53,2140 -#define UDF_ID_MAC_VOLUME 54,2191 -#define UDF_ID_MAC_FINDER 55,2240 -#define UDF_ID_MAC_UNIQUE 56,2289 -#define UDF_ID_MAC_RESOURCE 57,2341 -#define UDF_ID_VIRTUAL 58,2394 -#define UDF_ID_SPARABLE 59,2444 -#define UDF_ID_ALLOC 60,2496 -#define UDF_ID_SPARING 61,2544 -#define UDF_ID_METADATA 62,2590 -#define IS_DF_HARD_WRITE_PROTECT 65,2686 -#define IS_DF_SOFT_WRITE_PROTECT 66,2724 -struct UDFIdentSuffixUDFIdentSuffix68,2763 -struct impIdentSuffiximpIdentSuffix76,2904 -struct appIdentSuffixappIdentSuffix83,3023 -struct logicalVolIntegrityDescImpUselogicalVolIntegrityDescImpUse90,3200 -struct impUseVolDescImpUseimpUseVolDescImpUse103,3522 -struct udfPartitionMap2udfPartitionMap2114,3744 -struct virtualPartitionMapvirtualPartitionMap125,3988 -struct sparablePartitionMapsparablePartitionMap137,4261 -struct metadataPartitionMapmetadataPartitionMap153,4643 -struct virtualAllocationTable15virtualAllocationTable15171,5073 -#define ICBTAG_FILE_TYPE_VAT15 178,5211 -struct virtualAllocationTable20virtualAllocationTable20181,5299 -#define ICBTAG_FILE_TYPE_VAT20 197,5647 -struct sparingEntrysparingEntry200,5724 -struct sparingTablesparingTable206,5823 -#define ICBTAG_FILE_TYPE_MAIN 218,6088 -#define ICBTAG_FILE_TYPE_MIRROR 219,6124 -#define ICBTAG_FILE_TYPE_BITMAP 220,6162 -struct allocDescImpUseallocDescImpUse223,6256 -#define AD_IU_EXT_ERASED 229,6347 -#define ICBTAG_FILE_TYPE_REALTIME 232,6419 -struct freeEaSpacefreeEaSpace236,6564 -struct DVDCopyrightImpUse DVDCopyrightImpUse243,6731 -struct freeAppEASpacefreeAppEASpace253,6991 -#define UDF_ID_UNIQUE_ID 260,7144 -#define UDF_ID_NON_ALLOC 261,7200 -#define UDF_ID_POWER_CAL 262,7255 -#define UDF_ID_BACKUP 263,7304 -#define UDF_OS_CLASS_UNDEF 266,7393 -#define UDF_OS_CLASS_DOS 267,7427 -#define UDF_OS_CLASS_OS2 268,7459 -#define UDF_OS_CLASS_MAC 269,7491 -#define UDF_OS_CLASS_UNIX 270,7523 -#define UDF_OS_CLASS_WIN9X 271,7556 -#define UDF_OS_CLASS_WINNT 272,7590 -#define UDF_OS_CLASS_OS400 273,7624 -#define UDF_OS_CLASS_BEOS 274,7658 -#define UDF_OS_CLASS_WINCE 275,7691 -#define UDF_OS_ID_UNDEF 277,7726 -#define UDF_OS_ID_DOS 278,7758 -#define UDF_OS_ID_OS2 279,7788 -#define UDF_OS_ID_MAC 280,7818 -#define UDF_OS_ID_MAX_OSX 281,7848 -#define UDF_OS_ID_UNIX 282,7881 -#define UDF_OS_ID_AIX 283,7912 -#define UDF_OS_ID_SOLARIS 284,7942 -#define UDF_OS_ID_HPUX 285,7975 -#define UDF_OS_ID_IRIX 286,8006 -#define UDF_OS_ID_LINUX 287,8037 -#define UDF_OS_ID_MKLINUX 288,8069 -#define UDF_OS_ID_FREEBSD 289,8102 -#define UDF_OS_ID_WIN9X 290,8135 -#define UDF_OS_ID_WINNT 291,8167 -#define UDF_OS_ID_OS400 292,8199 -#define UDF_OS_ID_BEOS 293,8231 -#define UDF_OS_ID_WINCE 294,8262 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/udftime.c,420 -#define EPOCH_YEAR 39,1660 -#define __isleap(__isleap44,1806 -const unsigned short int __mon_yday[49,1955 -#define MAX_YEAR_SECONDS 57,2177 -#define SPD 58,2205 -#define SPY(SPY59,2237 -static time_t year_seconds[61,2277 -#define SECS_PER_HOUR 84,3505 -#define SECS_PER_DAY 85,3537 -udf_stamp_to_time(88,3589 -udf_time_to_stamp(124,4413 -#define DIV(DIV146,4883 -#define LEAPS_THRU_END_OF(LEAPS_THRU_END_OF147,4930 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/balloc.c,1081 -#define udf_clear_bit(udf_clear_bit36,801 -#define udf_set_bit(udf_set_bit37,856 -#define udf_test_bit(udf_test_bit38,907 -#define udf_find_first_one_bit(udf_find_first_one_bit39,962 -#define udf_find_next_one_bit(udf_find_next_one_bit40,1036 -#define leBPL_to_cpup(leBPL_to_cpup42,1125 -#define leNUM_to_cpup(leNUM_to_cpup43,1182 -#define xleNUM_to_cpup(xleNUM_to_cpup44,1229 -#define uintBPL_t 45,1282 -#define uint(uint46,1320 -#define xuint(xuint47,1345 -extern inline int find_next_one_bit 49,1373 -#define find_first_one_bit(find_first_one_bit86,2165 -static int read_block_bitmap(89,2244 -static int __load_block_bitmap(108,2691 -static inline int load_block_bitmap(130,3178 -static void udf_bitmap_free_blocks(146,3462 -static int udf_bitmap_prealloc_blocks(222,5303 -static int udf_bitmap_new_block(286,7037 -static void udf_table_free_blocks(426,10402 -static int udf_table_prealloc_blocks(676,16887 -static int udf_table_new_block(746,18758 -inline void udf_free_blocks(857,21512 -inline int udf_prealloc_blocks(891,22504 -inline int udf_new_block(923,23540 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/namei.c,527 -static inline int udf_match(39,1034 -int udf_write_fi(46,1193 -udf_find_entry(151,4136 -udf_lookup(303,7988 -udf_add_entry(347,8977 -static int udf_delete_entry(615,15683 -static int udf_create(624,16027 -static int udf_mknod(673,17286 -static int udf_mkdir(720,18416 -static int empty_dir(784,20214 -static int udf_rmdir(858,22012 -static int udf_unlink(902,23045 -static int udf_symlink(947,24038 -static int udf_link(1117,28312 -static int udf_rename 1172,29857 -struct inode_operations udf_dir_inode_operations 1324,33493 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/ialloc.c,66 -void udf_free_inode(36,807 -struct inode * udf_new_inode 73,1584 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/fsync.c,63 -int udf_fsync_file(38,880 -static int udf_fsync_inode(44,1043 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/super.c,2620 -#define VDS_POS_PRIMARY_VOL_DESC 70,2055 -#define VDS_POS_UNALLOC_SPACE_DESC 71,2090 -#define VDS_POS_LOGICAL_VOL_DESC 72,2127 -#define VDS_POS_PARTITION_DESC 73,2162 -#define VDS_POS_IMP_USE_VOL_DESC 74,2196 -#define VDS_POS_VOL_DESC_PTR 75,2231 -#define VDS_POS_TERMINATING_DESC 76,2263 -#define VDS_POS_LENGTH 77,2298 -static char error_buf[79,2326 -static struct super_block *udf_get_sb(102,3623 -static struct file_system_type udf_fstype 108,3815 -static kmem_cache_t * udf_inode_cachep;116,3990 -static struct inode *udf_alloc_inode(118,4031 -static void udf_destroy_inode(127,4254 -static void init_once(132,4360 -static int init_inodecache(144,4659 -static void destroy_inodecache(155,4918 -static struct super_operations udf_sb_ops 162,5103 -struct udf_optionsudf_options176,5512 -static int __init init_udf_fs(194,5837 -static void __exit exit_udf_fs(210,6058 -module_init(216,6160 - Opt_novrs,274,7809 - Opt_novrs, Opt_nostrict,274,7809 - Opt_novrs, Opt_nostrict, Opt_bs,274,7809 - Opt_novrs, Opt_nostrict, Opt_bs, Opt_unhide,274,7809 - Opt_novrs, Opt_nostrict, Opt_bs, Opt_unhide, Opt_undelete,274,7809 - Opt_noadinicb,275,7869 - Opt_noadinicb, Opt_adinicb,275,7869 - Opt_noadinicb, Opt_adinicb, Opt_shortad,275,7869 - Opt_noadinicb, Opt_adinicb, Opt_shortad, Opt_longad,275,7869 - Opt_gid,276,7923 - Opt_gid, Opt_uid,276,7923 - Opt_gid, Opt_uid, Opt_umask,276,7923 - Opt_gid, Opt_uid, Opt_umask, Opt_session,276,7923 - Opt_gid, Opt_uid, Opt_umask, Opt_session, Opt_lastblock,276,7923 - Opt_anchor,277,7981 - Opt_anchor, Opt_volume,277,7981 - Opt_anchor, Opt_volume, Opt_partition,277,7981 - Opt_anchor, Opt_volume, Opt_partition, Opt_fileset,277,7981 - Opt_rootdir,278,8034 - Opt_rootdir, Opt_utf8,278,8034 - Opt_rootdir, Opt_utf8, Opt_iocharset,278,8034 - Opt_err279,8073 -static match_table_t tokens 282,8086 -udf_parse_options(308,8725 -udf_write_super(434,11409 -udf_remount_fs(444,11570 -udf_set_blocksize(505,13094 -udf_vrs(516,13341 -udf_find_anchor(628,15877 -udf_find_fileset(772,19484 -udf_load_pvoldesc(864,21577 -udf_load_fileset(904,22703 -udf_load_partdesc(919,23110 -udf_load_logicalvol(1016,26793 -udf_load_logicalvolint(1113,30018 -udf_process_sequence(1153,30980 -udf_check_valid(1273,34263 -udf_load_partition(1296,34817 -static void udf_open_lvid(1413,37991 -static void udf_close_lvid(1440,38801 -static int udf_fill_super(1490,40480 -void udf_error(1683,45761 -void udf_warning(1700,46106 -udf_put_super(1726,46623 -udf_statfs(1774,47981 -static unsigned char udf_bitmap_lookup[1791,48486 -udf_count_free_bitmap(1796,48605 -udf_count_free_table(1865,50001 -udf_count_free(1890,50521 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/file.c,483 -static int udf_adinicb_readpage(47,1371 -static int udf_adinicb_writepage(65,1776 -static int udf_adinicb_prepare_write(82,2157 -static int udf_adinicb_commit_write(88,2291 -struct address_space_operations udf_adinicb_aops 104,2721 -static ssize_t udf_file_write(112,2974 -int udf_ioctl(186,4828 -static int udf_release_file(246,6032 -static int udf_open_file(270,6469 -struct file_operations udf_file_operations 277,6649 -struct inode_operations udf_file_inode_operations 288,6933 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/misc.c,242 -udf_tgetblk(38,899 -udf_tread(47,1106 -udf_add_extendedattr(56,1311 -udf_get_extendedattr(161,4277 -udf_read_tagged(211,5413 -udf_read_ptagged(276,7135 -void udf_release_data(282,7339 -void udf_update_tag(288,7413 -void udf_new_tag(304,7741 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/symlink.c,133 -static void udf_pc_to_char(41,967 -static int udf_symlink_filler(81,1726 -struct address_space_operations udf_symlink_aops 121,2472 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/udf/dir.c,101 -struct file_operations udf_dir_operations 50,1504 -int udf_readdir(83,2177 -do_udf_readdir(106,2588 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/file_table.c,544 -struct files_stat_struct files_stat 21,452 -spinlock_t __cacheline_aligned_in_smp files_lock 28,595 -static spinlock_t filp_count_lock 30,667 -void filp_ctor(36,886 -void filp_dtor(47,1208 -static inline void file_free(55,1433 -struct file *get_empty_filp(64,1669 -void fastcall fput(107,2615 -void fastcall __fput(118,2873 -struct file fastcall *fget(148,3578 -struct file fastcall *fget_light(170,4231 -void put_filp(191,4660 -void file_move(200,4811 -void file_kill(209,4969 -int fs_may_remount_ro(218,5120 -void __init files_init(243,5695 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_elf.c,1959 -#define elf_addr_t 53,1448 -#define elf_core_dump 63,1689 -# define ELF_MIN_ALIGN 67,1758 -# define ELF_MIN_ALIGN 69,1805 -#define ELF_PAGESTART(ELF_PAGESTART72,1846 -#define ELF_PAGEOFFSET(ELF_PAGEOFFSET73,1915 -#define ELF_PAGEALIGN(ELF_PAGEALIGN74,1969 -static struct linux_binfmt elf_format 76,2048 -#define BAD_ADDR(BAD_ADDR84,2254 -static int set_brk(86,2308 -static void padzero(106,2776 -#define STACK_ADD(STACK_ADD119,3081 -#define STACK_ROUND(STACK_ROUND120,3148 -#define STACK_ALLOC(STACK_ALLOC122,3232 -#define STACK_ADD(STACK_ADD124,3345 -#define STACK_ROUND(STACK_ROUND125,3412 -#define STACK_ALLOC(STACK_ALLOC127,3487 -create_elf_tables(131,3558 -#define NEW_AUX_ENT(NEW_AUX_ENT168,4621 -static unsigned long elf_map(266,7503 -static inline unsigned long total_mapping_size(302,8668 -static unsigned long load_elf_interp(325,9282 -static unsigned long load_aout_interp(461,13183 -#define INTERPRETER_NONE 508,14339 -#define INTERPRETER_AOUT 509,14366 -#define INTERPRETER_ELF 510,14393 -static int load_elf_binary(513,14421 -static int load_elf_library(1047,29578 -static int dump_write(1134,31897 -static int dump_seek(1139,32032 -static int maydump(1156,32477 -#define roundup(roundup1177,32955 -struct memelfnotememelfnote1180,33033 -static int notesize(1188,33122 -#define DUMP_WRITE(DUMP_WRITE1199,33296 -#define DUMP_SEEK(DUMP_SEEK1201,33391 -static int writenote(1204,33473 -#define DUMP_WRITE(DUMP_WRITE1224,33998 -#define DUMP_SEEK(DUMP_SEEK1227,34116 -static inline void fill_elf_header(1231,34195 -static inline void fill_elf_note_phdr(1256,34864 -static void fill_note(1269,35134 -static void fill_prstatus(1283,35467 -static void fill_psinfo(1316,36758 -struct elf_thread_statuself_thread_status1353,37847 -static int elf_dump_thread_status(1371,38354 -static int elf_core_dump(1407,39352 -#define NUM_NOTES 1409,39434 -static int __init init_elf_binfmt(1678,46173 -static void __exit exit_elf_binfmt(1683,46256 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cramfs/inode.c,1468 -static struct super_operations cramfs_ops;29,615 -static struct inode_operations cramfs_dir_inode_operations;30,658 -static struct file_operations cramfs_directory_operations;31,718 -static struct address_space_operations cramfs_aops;32,777 -#define CRAMINO(CRAMINO39,950 -#define OFFSET(OFFSET40,1000 -static struct inode *get_cramfs_inode(42,1032 -#define READ_BUFFERS 91,2813 -#define NEXT_BUFFER(NEXT_BUFFER93,2892 -#define BLKS_PER_BUF_SHIFT 100,3088 -#define BLKS_PER_BUF 101,3119 -#define BUFFER_SIZE 102,3167 -static unsigned char read_buffers[104,3220 -static unsigned buffer_blocknr[105,3282 -static struct super_block * buffer_dev[106,3328 -static int next_buffer;107,3382 -static void *cramfs_read(113,3546 -static void cramfs_put_super(190,5405 -static int cramfs_remount(196,5509 -static int cramfs_fill_super(202,5621 -static int cramfs_statfs(290,7837 -static int cramfs_readdir(306,8199 -static struct dentry * cramfs_lookup(374,9576 -static int cramfs_readpage(429,10835 -static struct address_space_operations cramfs_aops 469,11930 -static struct file_operations cramfs_directory_operations 480,12084 -static struct inode_operations cramfs_dir_inode_operations 486,12239 -static struct super_operations cramfs_ops 490,12333 -static struct super_block *cramfs_get_sb(496,12473 -static struct file_system_type cramfs_fs_type 502,12671 -static int __init init_cramfs_fs(510,12856 -static void __exit exit_cramfs_fs(516,12973 -module_init(522,13086 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/cramfs/uncompress.c,170 -static z_stream stream;23,626 -static int initialized;24,650 -int cramfs_uncompress_block(27,718 -int cramfs_uncompress_init(55,1300 -int cramfs_uncompress_exit(70,1584 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/filesystems.c,487 -static struct file_system_type *file_systems;29,781 -static rwlock_t file_systems_lock 30,827 -void get_filesystem(33,951 -void put_filesystem(38,1031 -static struct file_system_type **find_filesystem(43,1109 -int register_filesystem(65,1747 -int unregister_filesystem(99,2516 -static int fs_index(120,2913 -static int fs_name(144,3358 -static int fs_maxindex(164,3857 -asmlinkage long sys_sysfs(179,4129 -int get_filesystem_list(199,4462 -struct file_system_type *get_fs_type(216,4817 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/exec.c,1256 -int core_uses_pid;57,1532 -char core_pattern[58,1551 -int suid_dumpable 59,1583 -static struct linux_binfmt *formats;65,1710 -static rwlock_t binfmt_lock 66,1747 -int register_binfmt(68,1796 -int unregister_binfmt(92,2206 -static inline void put_binfmt(111,2541 -asmlinkage long sys_uselib(122,2807 -static int count(176,3873 -int copy_strings(201,4329 -int copy_strings_kernel(282,5873 -void install_arg_page(301,6341 -int setup_arg_pages(343,7201 -#define free_arg_pages(free_arg_pages467,10447 -static inline void free_arg_pages(471,10501 -struct file *open_exec(484,10719 -int kernel_read(523,11520 -static int exec_mmap(540,11898 -static inline int de_thread(578,12835 -static inline void flush_old_files(777,18051 -void get_task_comm(805,18583 -void set_task_comm(813,18777 -int flush_old_exec(820,18918 -int prepare_binprm(906,20890 -static inline int unsafe_exec(955,22081 -void compute_creds(972,22468 -void remove_arg_zero(983,22681 -int search_binary_handler(1012,23258 -#define printable(printable1092,25185 -int do_execve(1110,25612 -int set_binfmt(1212,27479 -#define CORENAME_MAX_SIZE 1228,27736 -static void format_corename(1234,27962 -static void zap_threads 1344,30547 -static void coredump_wait(1370,31111 -int do_coredump(1389,31518 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/locks.c,2338 -#define IS_POSIX(IS_POSIX130,5645 -#define IS_FLOCK(IS_FLOCK131,5692 -#define IS_LEASE(IS_LEASE132,5739 -int leases_enable 134,5787 -int lease_break_time 135,5810 -#define for_each_lock(for_each_lock137,5838 -static kmem_cache_t *filelock_cache;146,6045 -static struct file_lock *locks_alloc_lock(149,6123 -static inline void locks_free_lock(155,6270 -void locks_init_lock(180,6833 -static void init_once(203,7322 -void locks_copy_lock(217,7647 -static inline int flock_translate_cmd(234,8096 -static int flock_make_lock(249,8411 -static int assign_type(271,8811 -static int flock_to_posix_lock(288,9099 -static int flock64_to_posix_lock(337,10083 -static int lease_alloc(387,11076 -static inline int locks_overlap(413,11582 -posix_same_owner(423,11816 -static inline void __locks_delete_block(434,12183 -static void locks_delete_block(443,12355 -static void locks_insert_block(455,12715 -static void locks_wake_up_blocks(474,13388 -static void locks_insert_lock(490,13910 -static void locks_delete_lock(508,14351 -static int locks_conflict(532,14966 -static int posix_locks_conflict(544,15275 -static int flock_locks_conflict(562,15780 -static int interruptible_sleep_on_locked(575,16168 -static int locks_block_on_timeout(593,16603 -posix_test_lock(603,16887 -int posix_locks_deadlock(635,18003 -static int flock_lock_file(660,18632 -static int __posix_lock_file(719,19765 -int posix_lock_file(905,24429 -int posix_lock_file_wait(919,24857 -int locks_mandatory_locked(945,25505 -int locks_mandatory_area(977,26368 -static int lease_modify(1021,27411 -static void time_out_leases(1039,27748 -int __break_lease(1068,28660 -void lease_get_mtime(1169,31183 -int fcntl_getlease(1203,32066 -int fcntl_setlease(1231,32710 -int flock_lock_file_wait(1328,34964 -asmlinkage long sys_flock(1367,35894 -int fcntl_getlk(1417,36862 -int fcntl_setlk(1478,38379 -int fcntl_getlk64(1562,40105 -int fcntl_setlk64(1612,41355 -void locks_remove_posix(1698,43143 -void locks_remove_flock(1749,44386 -posix_block_lock(1798,45487 -posix_unblock_lock(1813,45826 -static void lock_get_status(1832,46258 -static void move_lock_status(1899,48264 -int get_locks_status(1929,48865 -int lock_may_read(1977,50085 -int lock_may_write(2017,51121 -static inline void __steal_locks(2042,51652 -void steal_locks(2060,52276 -static int __init filelock_init(2090,52782 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/devpts/inode.c,735 -#define DEVPTS_SUPER_MAGIC 23,689 -static struct xattr_handler *devpts_xattr_handlers[27,784 -struct inode_operations devpts_file_inode_operations 34,924 -static struct vfsmount *devpts_mnt;43,1154 -static struct dentry *devpts_root;44,1190 -} config 52,1311 -static int devpts_remount(54,1339 -static struct super_operations devpts_sops 91,2128 -devpts_fill_super(97,2248 -static struct super_block *devpts_get_sb(130,3029 -static struct file_system_type devpts_fs_type 136,3219 -static struct dentry *get_node(148,3493 -int devpts_pty_new(156,3673 -struct tty_struct *devpts_get_tty(189,4636 -void devpts_pty_kill(206,4925 -static int __init init_devpts_fs(222,5204 -static void __exit exit_devpts_fs(233,5426 -module_init(239,5533 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/devpts/xattr_security.c,163 -devpts_xattr_security_list(18,538 -devpts_xattr_security_get(25,732 -devpts_xattr_security_set(34,954 -struct xattr_handler devpts_xattr_security_handler 42,1187 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/mbcache.c,960 -# define mb_debug(mb_debug42,1317 -#define mb_assert(mb_assert46,1405 -# define mb_debug(mb_debug50,1511 -# define mb_assert(mb_assert51,1551 -#define mb_error(mb_error53,1596 -#define MB_CACHE_WRITER 58,1681 -static spinlock_t mb_cache_spinlock 88,2622 -static struct shrinker *mb_shrinker;89,2680 -mb_cache_indexes(92,2736 -__mb_cache_entry_is_hashed(109,3047 -__mb_cache_entry_unhash(116,3166 -__mb_cache_entry_forget(129,3418 -__mb_cache_entry_release_unlock(149,3943 -mb_cache_shrink_fn(182,4771 -mb_cache_create(236,6479 -mb_cache_shrink(309,8548 -mb_cache_destroy(339,9357 -mb_cache_entry_alloc(386,10605 -mb_cache_entry_insert(419,11626 -mb_cache_entry_release(461,12822 -mb_cache_entry_free(475,13083 -mb_cache_entry_get(493,13576 -__mb_cache_entry_find(539,14741 -mb_cache_entry_find_first(595,16334 -mb_cache_entry_find_next(632,17480 -static int __init init_mbcache(651,18119 -static void __exit exit_mbcache(657,18236 -module_init(662,18310 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/readdir.c,601 -int vfs_readdir(21,375 -#define NAME_OFFSET(NAME_OFFSET53,1150 -#define ROUND_UP(ROUND_UP54,1220 -struct old_linux_dirent old_linux_dirent58,1316 -struct readdir_callback readdir_callback65,1437 -static int fillonedir(70,1522 -asmlinkage long old_readdir(96,2260 -struct linux_dirent linux_dirent125,2781 -struct getdents_callback getdents_callback132,2895 -static int filldir(139,3033 -asmlinkage long sys_getdents(175,4036 -#define ROUND_UP64(ROUND_UP64214,4770 -struct getdents_callback64 getdents_callback64216,4834 -static int filldir64(223,4978 -asmlinkage long sys_getdents64(261,6023 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/itree.c,958 -enum {DIRECT 13,200 -enum {DIRECT = 10, DEPTH 13,200 -static inline void dirty_indirect(15,259 -static int block_to_path(22,426 -static inline int block_to_cpu(53,1429 -} Indirect;Indirect62,1642 -static rwlock_t pointers_lock 64,1655 -static inline void add_chain(66,1706 -static inline int verify_chain(72,1829 -static inline sysv_zone_t *block_end(79,1971 -static Indirect *get_branch(87,2168 -static int alloc_branch(124,2875 -static inline int splice_branch(167,3981 -static int get_block(202,4730 -static inline int all_zeroes(268,6186 -static Indirect *find_shared(276,6303 -static inline void free_data(325,7461 -static void free_branches(337,7690 -void sysv_truncate 363,8252 -static unsigned sysv_nblocks(428,9858 -int sysv_getattr(443,10277 -static int sysv_writepage(452,10558 -static int sysv_readpage(456,10689 -static int sysv_prepare_write(460,10802 -static sector_t sysv_bmap(464,10955 -struct address_space_operations sysv_aops 468,11085 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/sysv.h,1142 -#define _SYSV_H2,16 -typedef __u16 __bitwise __fs16;__fs166,65 -typedef __u32 __bitwise __fs32;__fs327,97 -struct sysv_sb_info sysv_sb_info21,559 -struct sysv_inode_info sysv_inode_info67,3066 -static inline struct sysv_inode_info *SYSV_I(74,3168 -static inline struct sysv_sb_info *SYSV_SB(79,3301 - FSTYPE_NONE 87,3436 - FSTYPE_XENIX,88,3454 - FSTYPE_SYSV4,89,3469 - FSTYPE_SYSV2,90,3484 - FSTYPE_COH,91,3499 - FSTYPE_V7,92,3512 - FSTYPE_AFS,93,3524 - FSTYPE_END,94,3537 -#define SYSV_MAGIC_BASE 97,3554 -#define XENIX_SUPER_MAGIC 99,3591 -#define SYSV4_SUPER_MAGIC 100,3648 -#define SYSV2_SUPER_MAGIC 101,3705 -#define COH_SUPER_MAGIC 102,3762 - XENIX_LINK_MAX 107,3875 - SYSV_LINK_MAX 108,3907 - V7_LINK_MAX 109,3945 - COH_LINK_MAX 110,3978 -static inline void dirty_sb(114,4006 - BYTESEX_LE,170,6059 - BYTESEX_PDP,171,6072 - BYTESEX_BE,172,6086 -static inline u32 PDP_swab(175,6103 -static inline __u32 fs32_to_cpu(188,6340 -static inline __fs32 cpu_to_fs32(198,6614 -static inline __fs32 fs32_add(208,6889 -static inline __u16 fs16_to_cpu(219,7225 -static inline __fs16 cpu_to_fs16(227,7421 -static inline __fs16 fs16_add(235,7617 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/inode.c,800 -static void sysv_write_super(34,767 -static int sysv_remount(60,1460 -static void sysv_put_super(70,1681 -static int sysv_statfs(88,2050 -static inline void read3byte(105,2519 -static inline void write3byte(126,2927 -static struct inode_operations sysv_symlink_inode_operations 144,3297 -void sysv_set_inode(151,3491 -static void sysv_read_inode(171,4140 -static struct buffer_head * sysv_update_inode(223,5807 -int sysv_write_inode(263,7162 -int sysv_sync_inode(273,7335 -static void sysv_delete_inode(293,7907 -static kmem_cache_t *sysv_inode_cachep;302,8065 -static struct inode *sysv_alloc_inode(304,8106 -static void sysv_destroy_inode(314,8308 -static void init_once(319,8417 -struct super_operations sysv_sops 328,8676 -int __init sysv_init_icache(340,9010 -void sysv_destroy_icache(351,9246 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/balloc.c,157 -static inline sysv_zone_t *get_chunk(30,625 -void sysv_free_block(42,935 -sysv_zone_t sysv_new_block(99,2481 -unsigned long sysv_count_free_blocks(158,3976 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/namei.c,551 -static inline void inc_count(19,356 -static inline void dec_count(25,456 -static int add_nondir(31,556 -static int sysv_hash(43,774 -struct dentry_operations sysv_dentry_operations 54,1054 -static struct dentry *sysv_lookup(58,1133 -static int sysv_mknod(77,1557 -static int sysv_create(96,1922 -static int sysv_symlink(101,2068 -static int sysv_link(132,2618 -static int sysv_mkdir(147,2956 -static int sysv_unlink(186,3601 -static int sysv_rmdir(207,3975 -static int sysv_rename(227,4383 -struct inode_operations sysv_dir_inode_operations 307,6072 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/ialloc.c,203 -sv_sb_fic_inode(38,902 -sysv_raw_inode(55,1322 -static int refill_free_cache(69,1729 -void sysv_free_inode(99,2397 -struct inode * sysv_new_inode(135,3366 -unsigned long sysv_count_free_inodes(187,4778 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/super.c,927 - JAN_1_1980 44,999 -static void detected_xenix(47,1045 -static void detected_sysv4(78,2031 -static void detected_sysv2(106,2906 -static void detected_coherent(134,3780 -static void detected_v7(157,4487 -static int detect_xenix(178,5174 -static int detect_sysv(199,5692 -static int detect_coherent(252,7259 -static int detect_sysv_odd(265,7670 -} flavours[275,7901 -static char *flavour_names[284,8049 -static void (*flavour_setup[293,8253 -static void (*flavour_setup[])(struct sysv_sb_info 293,8253 -static int complete_read_super(302,8512 -static int sysv_fill_super(354,10022 -static int v7_fill_super(444,12011 -static struct super_block *sysv_get_sb(509,13683 -static struct super_block *v7_get_sb(515,13877 -static struct file_system_type sysv_fs_type 521,14067 -static struct file_system_type v7_fs_type 529,14246 -extern int sysv_init_icache(537,14419 -static void __exit exit_sysv_fs(563,14886 -module_init(570,15029 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/file.c,138 -struct file_operations sysv_file_operations 22,392 -struct inode_operations sysv_file_inode_operations 31,629 -int sysv_sync_file(36,742 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/symlink.c,103 -static int sysv_follow_link(11,197 -struct inode_operations sysv_fast_symlink_inode_operations 17,345 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/sysv/dir.c,567 -struct file_operations sysv_dir_operations 23,434 -static inline void dir_put_page(29,566 -static inline unsigned long dir_pages(35,664 -static int dir_commit_chunk(40,789 -static struct page * dir_get_page(53,1096 -static int sysv_readdir(71,1491 -static inline int namecompare(126,2843 -struct sysv_dir_entry *sysv_find_entry(142,3326 -int sysv_add_link(188,4311 -int sysv_delete_entry(245,5750 -int sysv_make_empty(266,6312 -int sysv_empty_dir(303,7171 -void sysv_set_link(346,8040 -struct sysv_dir_entry * sysv_dotdot 365,8587 -ino_t sysv_inode_by_name(377,8850 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/msdos/namei.c,1042 -static const unsigned char *reserved_names[17,388 -static unsigned char bad_chars[25,646 -static unsigned char bad_if_strict_pc[26,692 -static unsigned char bad_if_strict_atari[27,743 -#define bad_if_strict(bad_if_strict28,826 -static int msdos_format_name(31,974 -static int msdos_find(115,3718 -static int msdos_hash(146,4595 -static int msdos_cmp(162,5068 -static struct dentry_operations msdos_dentry_operations 186,5685 -static struct dentry *msdos_lookup(196,5902 -static int msdos_add_entry(232,6699 -static int msdos_create(262,7440 -static int msdos_rmdir(307,8565 -static int msdos_mkdir(346,9371 -static int msdos_unlink(413,10794 -static int do_msdos_rename(442,11408 -static int msdos_rename(539,13884 -static struct inode_operations msdos_dir_inode_operations 576,15072 -static int msdos_fill_super(586,15321 -static struct super_block *msdos_get_sb(598,15567 -static struct file_system_type msdos_fs_type 604,15763 -static int __init init_msdos_fs(612,15945 -static void __exit exit_msdos_fs(617,16033 -module_init(626,16227 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_sf.c,502 -#define xfs_dir2_sf_check(xfs_dir2_sf_check80,2545 -xfs_dir2_block_sfsize(94,3044 -xfs_dir2_block_to_sf(175,5745 -xfs_dir2_sf_addname(292,9483 -xfs_dir2_sf_addname_easy(402,12759 -xfs_dir2_sf_addname_hard(456,14376 -xfs_dir2_sf_addname_pick(551,17563 -xfs_dir2_sf_check(629,19761 -xfs_dir2_sf_create(671,21193 -xfs_dir2_sf_getdents(720,22625 -xfs_dir2_sf_lookup(871,26182 -xfs_dir2_sf_removename(936,27966 -xfs_dir2_sf_replace(1028,30490 -xfs_dir2_sf_toino4(1172,34401 -xfs_dir2_sf_toino8(1249,36888 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_iget.c,533 -xfs_ihash_init(66,2076 -xfs_ihash_free(83,2447 -xfs_chash_init(96,2747 -xfs_chash_free(123,3323 -xfs_iget_core(167,5073 -xfs_iget(433,10712 -xfs_inode_lock_init(501,12145 -xfs_inode_incore(519,12688 -xfs_iput(555,13469 -xfs_iput_new(571,13728 -xfs_ireclaim(594,14252 -xfs_iextract(643,15525 -xfs_ilock_map_shared(752,18428 -xfs_iunlock_map_shared(774,18864 -xfs_ilock(802,19655 -xfs_ilock_nowait(843,20975 -xfs_iunlock(906,22644 -xfs_ilock_demote(955,24266 -xfs_iflock(977,24872 -xfs_iflock_nowait(983,24948 -xfs_ifunlock(989,25027 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_leaf.h,2641 -#define __XFS_DIR2_LEAF_H__33,1366 -#define XFS_DIR2_LEAF_SPACE 54,1667 -#define XFS_DIR2_LEAF_OFFSET 55,1697 -#define XFS_DIR2_LEAF_FIRSTDB(XFS_DIR2_LEAF_FIRSTDB56,1770 -typedef __uint32_t xfs_dir2_dataptr_t;xfs_dir2_dataptr_t66,1920 -#define XFS_DIR2_MAX_DATAPTR 67,1959 -#define XFS_DIR2_NULL_DATAPTR 68,2021 -typedef struct xfs_dir2_leaf_hdr xfs_dir2_leaf_hdr77,2128 -} xfs_dir2_leaf_hdr_t;xfs_dir2_leaf_hdr_t81,2311 -typedef struct xfs_dir2_leaf_entry xfs_dir2_leaf_entry86,2363 -} xfs_dir2_leaf_entry_t;xfs_dir2_leaf_entry_t89,2506 -typedef struct xfs_dir2_leaf_tail xfs_dir2_leaf_tail94,2559 -} xfs_dir2_leaf_tail_t;xfs_dir2_leaf_tail_t96,2619 -typedef struct xfs_dir2_leaf xfs_dir2_leaf103,2793 -} xfs_dir2_leaf_t;xfs_dir2_leaf_t109,3030 -#define XFS_DIR2_MAX_LEAF_ENTS(XFS_DIR2_MAX_LEAF_ENTS119,3267 -#define XFS_DIR2_MAX_LEAF_ENTS(XFS_DIR2_MAX_LEAF_ENTS122,3338 -#define XFS_DIR2_LEAF_TAIL_P(XFS_DIR2_LEAF_TAIL_P133,3726 -#define XFS_DIR2_LEAF_TAIL_P(XFS_DIR2_LEAF_TAIL_P136,3800 -#define XFS_DIR2_LEAF_BESTS_P_ARCH(XFS_DIR2_LEAF_BESTS_P_ARCH148,4186 -#define XFS_DIR2_LEAF_BESTS_P_ARCH(XFS_DIR2_LEAF_BESTS_P_ARCH150,4274 -#define XFS_DIR2_DATAPTR_TO_BYTE(XFS_DIR2_DATAPTR_TO_BYTE160,4602 -#define XFS_DIR2_DATAPTR_TO_BYTE(XFS_DIR2_DATAPTR_TO_BYTE162,4681 -#define XFS_DIR2_BYTE_TO_DATAPTR(XFS_DIR2_BYTE_TO_DATAPTR172,5017 -#define XFS_DIR2_BYTE_TO_DATAPTR(XFS_DIR2_BYTE_TO_DATAPTR174,5095 -#define XFS_DIR2_DATAPTR_TO_DB(XFS_DIR2_DATAPTR_TO_DB184,5400 -#define XFS_DIR2_DATAPTR_TO_DB(XFS_DIR2_DATAPTR_TO_DB186,5475 -#define XFS_DIR2_DATAPTR_TO_OFF(XFS_DIR2_DATAPTR_TO_OFF196,5799 -#define XFS_DIR2_DATAPTR_TO_OFF(XFS_DIR2_DATAPTR_TO_OFF198,5876 -#define XFS_DIR2_DB_OFF_TO_BYTE(XFS_DIR2_DB_OFF_TO_BYTE209,6216 -#define XFS_DIR2_DB_OFF_TO_BYTE(XFS_DIR2_DB_OFF_TO_BYTE212,6301 -#define XFS_DIR2_BYTE_TO_DB(XFS_DIR2_BYTE_TO_DB222,6632 -#define XFS_DIR2_BYTE_TO_DB(XFS_DIR2_BYTE_TO_DB224,6701 -#define XFS_DIR2_BYTE_TO_DA(XFS_DIR2_BYTE_TO_DA234,7019 -#define XFS_DIR2_BYTE_TO_DA(XFS_DIR2_BYTE_TO_DA236,7088 -#define XFS_DIR2_BYTE_TO_OFF(XFS_DIR2_BYTE_TO_OFF246,7391 -#define XFS_DIR2_BYTE_TO_OFF(XFS_DIR2_BYTE_TO_OFF248,7462 -#define XFS_DIR2_DB_OFF_TO_DATAPTR(XFS_DIR2_DB_OFF_TO_DATAPTR261,7857 -#define XFS_DIR2_DB_OFF_TO_DATAPTR(XFS_DIR2_DB_OFF_TO_DATAPTR264,7948 -#define XFS_DIR2_DB_TO_DA(XFS_DIR2_DB_TO_DA273,8251 -#define XFS_DIR2_DB_TO_DA(XFS_DIR2_DB_TO_DA275,8316 -#define XFS_DIR2_DA_TO_DB(XFS_DIR2_DA_TO_DB284,8592 -#define XFS_DIR2_DA_TO_DB(XFS_DIR2_DA_TO_DB286,8657 -#define XFS_DIR2_DA_TO_BYTE(XFS_DIR2_DA_TO_BYTE295,8950 -#define XFS_DIR2_DA_TO_BYTE(XFS_DIR2_DA_TO_BYTE297,9019 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/mrlock.h,614 -#define __XFS_SUPPORT_MRLOCK_H__33,1371 -enum { MR_NONE,37,1431 -enum { MR_NONE, MR_ACCESS,37,1431 -enum { MR_NONE, MR_ACCESS, MR_UPDATE 37,1431 -} mrlock_t;mrlock_t42,1537 -#define mrinit(mrinit44,1550 -#define mrlock_init(mrlock_init46,1633 -#define mrfree(mrfree47,1680 -#define mraccess(mraccess48,1718 -#define mrupdate(mrupdate49,1759 -static inline void mraccessf(51,1801 -static inline void mrupdatef(56,1888 -static inline int mrtryaccess(62,1997 -static inline int mrtryupdate(67,2089 -static inline void mrunlock(75,2224 -static inline void mrdemote(85,2383 -static inline int ismrlocked(98,2796 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_iops.h,31 -#define __XFS_IOPS_H__33,1361 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/kmem.c,196 -#define MAX_VMALLOCS 42,1502 -#define MAX_SLAB_SIZE 43,1525 -kmem_alloc(47,1564 -kmem_zalloc(66,2015 -kmem_free(77,2166 -kmem_realloc(88,2342 -kmem_zone_alloc(103,2603 -kmem_zone_zalloc(119,2965 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_ioctl32.h,89 -static inline int xfs_ioctl32_init(39,1459 -static inline void xfs_ioctl32_exit(40,1514 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/sv.h,611 -#define __XFS_SUPPORT_SV_H__33,1367 -typedef struct sv_s sv_s45,1575 -} sv_t;sv_t47,1625 -#define SV_FIFO 49,1634 -#define SV_LIFO 50,1680 -#define SV_PRIO 51,1726 -#define SV_KEYED 52,1772 -#define SV_DEFAULT 53,1819 -static inline void _sv_wait(56,1853 -#define init_sv(init_sv70,2160 -#define sv_init(sv_init72,2234 -#define sv_destroy(sv_destroy74,2303 -#define sv_wait(sv_wait76,2341 -#define sv_wait_sig(sv_wait_sig78,2441 -#define sv_timedwait(sv_timedwait80,2545 -#define sv_timedwait_sig(sv_timedwait_sig82,2667 -#define sv_signal(sv_signal84,2791 -#define sv_broadcast(sv_broadcast86,2840 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_buf.c,2954 -#define GFP_READAHEAD 60,2111 -STATIC kmem_cache_t *pagebuf_cache;67,2199 -STATIC kmem_shaker_t pagebuf_shake;68,2235 -STATIC struct workqueue_struct *pagebuf_logio_workqueue;71,2376 -STATIC struct workqueue_struct *pagebuf_dataio_workqueue;72,2433 -pagebuf_trace(80,2547 -ktrace_t *pagebuf_trace_buf;98,3037 -#define PAGEBUF_TRACE_SIZE 99,3066 -#define PB_TRACE(PB_TRACE100,3098 -#define PB_TRACE(PB_TRACE103,3211 -# define PB_SET_OWNER(PB_SET_OWNER107,3296 -# define PB_CLEAR_OWNER(PB_CLEAR_OWNER108,3360 -# define PB_GET_OWNER(PB_GET_OWNER109,3416 -# define PB_SET_OWNER(PB_SET_OWNER111,3471 -# define PB_CLEAR_OWNER(PB_CLEAR_OWNER112,3514 -# define PB_GET_OWNER(PB_GET_OWNER113,3559 -#define pb_to_gfp(pb_to_gfp120,3651 -#define pb_to_km(pb_to_km124,3782 -#define pagebuf_allocate(pagebuf_allocate128,3862 -#define pagebuf_deallocate(pagebuf_deallocate130,3945 -#define NBITS 137,4044 -#define NHASH 138,4060 -} pb_hash_t;pb_hash_t143,4157 -STATIC pb_hash_t pbhash[145,4171 -#define pb_hash(pb_hash146,4203 -_bhash(149,4262 -typedef struct a_list a_list168,4605 -} a_list_t;a_list_t171,4668 -STATIC a_list_t *as_free_head;173,4681 -STATIC int as_list_len;174,4713 -STATIC spinlock_t as_lock 175,4738 -free_address(181,4855 -purge_addresses(200,5160 -_pagebuf_initialize(225,5525 -_pagebuf_get_pages(266,6695 -_pagebuf_free_pages(292,7294 -pagebuf_free(309,7679 -_pagebuf_lookup_pages(342,8488 -_pagebuf_map_pages(453,11210 -_pagebuf_find(490,12157 -pagebuf_find(593,14925 -pagebuf_get(613,15583 -pagebuf_lookup(692,17424 -pagebuf_readahead(712,17753 -pagebuf_get_empty(731,18133 -mem_to_page(744,18337 -pagebuf_associate_memory(756,18539 -pagebuf_get_no_daddr(807,19587 -pagebuf_hold(861,20736 -pagebuf_rele(875,20978 -pagebuf_cond_lock(933,22359 -pagebuf_lock_value(953,22712 -pagebuf_lock(968,23072 -pagebuf_unlock(988,23509 -pagebuf_pin(1016,24359 -pagebuf_unpin(1031,24696 -pagebuf_ispin(1041,24875 -_pagebuf_wait_unpin(1055,25186 -pagebuf_iodone_work(1088,25893 -pagebuf_iodone(1100,26074 -pagebuf_ioerror(1131,26704 -pagebuf_iostart(1153,27537 -_pagebuf_iolocked(1200,28917 -_pagebuf_iodone(1210,29092 -bio_end_io_pagebuf(1221,29303 -_pagebuf_ioapply(1267,30395 -pagebuf_iorequest(1371,32914 -pagebuf_iowait(1407,33729 -pagebuf_offset(1419,33992 -pagebuf_iomove(1437,34291 -xfs_free_buftarg(1477,35186 -xfs_incore_relse(1489,35391 -xfs_setsize_buftarg(1499,35555 -xfs_mapping_buftarg(1518,35965 -xfs_alloc_buftarg(1551,36763 -STATIC spinlock_t pbd_delwrite_lock 1577,37230 -pagebuf_delwri_queue(1580,37301 -pagebuf_delwri_dequeue(1605,37796 -pagebuf_runall_queues(1625,38168 -STATIC struct task_struct *pagebuf_daemon_task;1633,38335 -STATIC int pagebuf_daemon_active;1634,38383 -STATIC int force_flush;1635,38417 -pagebuf_daemon_wakeup(1639,38454 -pagebuf_daemon(1650,38611 -xfs_flush_buftarg(1721,40223 -pagebuf_daemon_start(1783,41464 -pagebuf_daemon_stop(1812,42084 -pagebuf_init(1827,42344 -pagebuf_terminate(1866,43105 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_sysctl.h,676 -#define __XFS_SYSCTL_H__34,1364 -typedef struct xfs_sysctl_val xfs_sysctl_val42,1451 -} xfs_sysctl_val_t;xfs_sysctl_val_t46,1513 -typedef struct xfs_param xfs_param48,1534 -} xfs_param_t;xfs_param_t63,2530 - XFS_RESTRICT_CHOWN 83,3122 - XFS_SGID_INHERIT 84,3147 - XFS_SYMLINK_MODE 85,3170 - XFS_PANIC_MASK 86,3193 - XFS_ERRLEVEL 87,3214 - XFS_SYNCD_TIMER 88,3233 - XFS_STATS_CLEAR 92,3338 - XFS_INHERIT_SYNC 93,3361 - XFS_INHERIT_NODUMP 94,3385 - XFS_INHERIT_NOATIME 95,3411 - XFS_BUF_TIMER 96,3438 - XFS_BUF_AGE 97,3459 - XFS_INHERIT_NOSYM 99,3504 -# define xfs_sysctl_register(xfs_sysctl_register108,3672 -# define xfs_sysctl_unregister(xfs_sysctl_unregister109,3721 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_globals.c,136 -unsigned long xfs_physmem;45,1586 -xfs_param_t xfs_params 52,1799 -cred_t sys_cred_val,72,2366 -cred_t sys_cred_val, *sys_cred 72,2366 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_file.c,867 -static struct vm_operations_struct linvfs_file_vm_ops;58,1884 -__linvfs_read(62,1963 -linvfs_read(84,2415 -linvfs_read_invis(94,2572 -__linvfs_write(105,2750 -linvfs_write(128,3243 -linvfs_write_invis(138,3407 -__linvfs_readv(149,3592 -linvfs_readv(173,4091 -linvfs_readv_invis(183,4268 -__linvfs_writev(194,4466 -linvfs_writev(219,4968 -linvfs_writev_invis(229,5147 -linvfs_sendfile(239,5339 -linvfs_open(255,5624 -linvfs_release(272,5896 -linvfs_fsync(286,6078 -#define nextdp(nextdp309,6494 -linvfs_readdir(312,6585 -linvfs_file_mmap(392,8137 -linvfs_ioctl(419,8710 -linvfs_ioctl_invis(443,9261 -linvfs_mprotect(469,9864 -struct file_operations linvfs_file_operations 489,10337 -struct file_operations linvfs_invis_file_operations 505,10739 -struct file_operations linvfs_dir_operations 522,11178 -static struct vm_operations_struct linvfs_file_vm_ops 529,11337 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_buf.h,7350 -#define __XFS_BUF_H__38,1431 -#define XFS_BUF_DADDR_NULL 54,1702 -#define page_buf_ctob(page_buf_ctob56,1753 -#define page_buf_btoc(page_buf_btoc57,1804 -#define page_buf_btoct(page_buf_btoct58,1881 -#define page_buf_poff(page_buf_poff59,1935 -typedef enum page_buf_rw_e page_buf_rw_e61,1988 - PBRW_READ 62,2017 - PBRW_WRITE 63,2069 - PBRW_ZERO 64,2122 -} page_buf_rw_t;page_buf_rw_t65,2164 -typedef enum page_buf_flags_e page_buf_flags_e68,2183 - PBF_READ 69,2238 - PBF_WRITE 70,2306 - PBF_MAPPED 71,2375 - PBF_PARTIAL 72,2446 - PBF_ASYNC 73,2517 - PBF_NONE 74,2588 - PBF_DELWRI 75,2659 - PBF_STALE 76,2730 - PBF_FS_MANAGED 77,2799 - PBF_FS_DATAIOD 78,2870 - PBF_FORCEIO 79,2941 - PBF_FLUSH 80,3003 - PBF_READ_AHEAD 81,3064 - PBF_LOCK 84,3183 - PBF_TRYLOCK 85,3238 - PBF_DONT_BLOCK 86,3308 - _PBF_PAGE_CACHE 89,3412 - _PBF_KMEM_ALLOC 90,3471 - _PBF_RUN_QUEUES 91,3533 -} page_buf_flags_t;page_buf_flags_t92,3599 -#define PBF_UPDATE 94,3620 -#define PBF_NOT_DONE(PBF_NOT_DONE95,3662 -#define PBF_DONE(PBF_DONE96,3736 -typedef struct xfs_buftarg xfs_buftarg98,3807 -} xfs_buftarg_t;xfs_buftarg_t105,3996 -typedef void (*page_buf_iodone_t)page_buf_iodone_t124,4827 -typedef void (*page_buf_relse_t)page_buf_relse_t126,4926 -typedef int (*page_buf_bdstrat_t)page_buf_bdstrat_t128,5024 -#define PB_PAGES 130,5078 -typedef struct xfs_buf xfs_buf132,5098 -} xfs_buf_t;xfs_buf_t166,6639 -static inline int pagebuf_iostrategy(270,9997 -static inline int pagebuf_geterror(275,10119 -# define pagebuf_trace(pagebuf_trace315,11156 -#define pagebuf_target_name(pagebuf_target_name318,11221 -#define XFS_B_ASYNC 328,11485 -#define XFS_B_DELWRI 329,11516 -#define XFS_B_READ 330,11549 -#define XFS_B_WRITE 331,11578 -#define XFS_B_STALE 332,11609 -#define XFS_BUF_TRYLOCK 334,11641 -#define XFS_INCORE_TRYLOCK 335,11678 -#define XFS_BUF_LOCK 336,11717 -#define XFS_BUF_MAPPED 337,11748 -#define BUF_BUSY 339,11784 -#define XFS_BUF_BFLAGS(XFS_BUF_BFLAGS341,11818 -#define XFS_BUF_ZEROFLAGS(XFS_BUF_ZEROFLAGS342,11860 -#define XFS_BUF_STALE(XFS_BUF_STALE345,11955 -#define XFS_BUF_UNSTALE(XFS_BUF_UNSTALE346,12011 -#define XFS_BUF_ISSTALE(XFS_BUF_ISSTALE347,12070 -#define XFS_BUF_SUPER_STALE(XFS_BUF_SUPER_STALE348,12127 -#define XFS_BUF_MANAGE 354,12268 -#define XFS_BUF_UNMANAGE(XFS_BUF_UNMANAGE355,12307 -#define XFS_BUF_DELAYWRITE(XFS_BUF_DELAYWRITE357,12371 -#define XFS_BUF_UNDELAYWRITE(XFS_BUF_UNDELAYWRITE358,12432 -#define XFS_BUF_ISDELAYWRITE(XFS_BUF_ISDELAYWRITE359,12491 -#define XFS_BUF_ERROR(XFS_BUF_ERROR361,12554 -#define XFS_BUF_GETERROR(XFS_BUF_GETERROR362,12605 -#define XFS_BUF_ISERROR(XFS_BUF_ISERROR363,12654 -#define XFS_BUF_DONE(XFS_BUF_DONE365,12709 -#define XFS_BUF_UNDONE(XFS_BUF_UNDONE366,12778 -#define XFS_BUF_ISDONE(XFS_BUF_ISDONE367,12845 -#define XFS_BUF_BUSY(XFS_BUF_BUSY369,12894 -#define XFS_BUF_UNBUSY(XFS_BUF_UNBUSY370,12951 -#define XFS_BUF_ISBUSY(XFS_BUF_ISBUSY371,13010 -#define XFS_BUF_ASYNC(XFS_BUF_ASYNC373,13042 -#define XFS_BUF_UNASYNC(XFS_BUF_UNASYNC374,13097 -#define XFS_BUF_ISASYNC(XFS_BUF_ISASYNC375,13155 -#define XFS_BUF_FLUSH(XFS_BUF_FLUSH377,13212 -#define XFS_BUF_UNFLUSH(XFS_BUF_UNFLUSH378,13267 -#define XFS_BUF_ISFLUSH(XFS_BUF_ISFLUSH379,13325 -#define XFS_BUF_SHUT(XFS_BUF_SHUT381,13382 -#define XFS_BUF_UNSHUT(XFS_BUF_UNSHUT382,13453 -#define XFS_BUF_ISSHUT(XFS_BUF_ISSHUT383,13527 -#define XFS_BUF_HOLD(XFS_BUF_HOLD385,13559 -#define XFS_BUF_READ(XFS_BUF_READ386,13600 -#define XFS_BUF_UNREAD(XFS_BUF_UNREAD387,13653 -#define XFS_BUF_ISREAD(XFS_BUF_ISREAD388,13708 -#define XFS_BUF_WRITE(XFS_BUF_WRITE390,13762 -#define XFS_BUF_UNWRITE(XFS_BUF_UNWRITE391,13816 -#define XFS_BUF_ISWRITE(XFS_BUF_ISWRITE392,13873 -#define XFS_BUF_ISUNINITIAL(XFS_BUF_ISUNINITIAL394,13929 -#define XFS_BUF_UNUNINITIAL(XFS_BUF_UNUNINITIAL395,13965 -#define XFS_BUF_BP_ISMAPPED(XFS_BUF_BP_ISMAPPED397,14002 -#define XFS_BUF_DATAIO(XFS_BUF_DATAIO399,14038 -#define XFS_BUF_UNDATAIO(XFS_BUF_UNDATAIO400,14098 -#define XFS_BUF_IODONE_FUNC(XFS_BUF_IODONE_FUNC402,14162 -#define XFS_BUF_SET_IODONE_FUNC(XFS_BUF_SET_IODONE_FUNC403,14212 -#define XFS_BUF_CLR_IODONE_FUNC(XFS_BUF_CLR_IODONE_FUNC405,14286 -#define XFS_BUF_SET_BDSTRAT_FUNC(XFS_BUF_SET_BDSTRAT_FUNC407,14353 -#define XFS_BUF_CLR_BDSTRAT_FUNC(XFS_BUF_CLR_BDSTRAT_FUNC409,14427 -#define XFS_BUF_FSPRIVATE(XFS_BUF_FSPRIVATE412,14495 -#define XFS_BUF_SET_FSPRIVATE(XFS_BUF_SET_FSPRIVATE414,14563 -#define XFS_BUF_FSPRIVATE2(XFS_BUF_FSPRIVATE2416,14645 -#define XFS_BUF_SET_FSPRIVATE2(XFS_BUF_SET_FSPRIVATE2418,14715 -#define XFS_BUF_FSPRIVATE3(XFS_BUF_FSPRIVATE3420,14799 -#define XFS_BUF_SET_FSPRIVATE3(XFS_BUF_SET_FSPRIVATE3422,14869 -#define XFS_BUF_SET_START(XFS_BUF_SET_START424,14954 -#define XFS_BUF_SET_BRELSE_FUNC(XFS_BUF_SET_BRELSE_FUNC426,14986 -#define XFS_BUF_PTR(XFS_BUF_PTR429,15062 -extern inline xfs_caddr_t xfs_buf_offset(431,15117 -#define XFS_BUF_SET_PTR(XFS_BUF_SET_PTR438,15310 -#define XFS_BUF_ADDR(XFS_BUF_ADDR440,15398 -#define XFS_BUF_SET_ADDR(XFS_BUF_SET_ADDR441,15437 -#define XFS_BUF_OFFSET(XFS_BUF_OFFSET443,15499 -#define XFS_BUF_SET_OFFSET(XFS_BUF_SET_OFFSET444,15549 -#define XFS_BUF_COUNT(XFS_BUF_COUNT446,15622 -#define XFS_BUF_SET_COUNT(XFS_BUF_SET_COUNT447,15673 -#define XFS_BUF_SIZE(XFS_BUF_SIZE449,15747 -#define XFS_BUF_SET_SIZE(XFS_BUF_SET_SIZE450,15797 -#define XFS_BUF_SET_VTYPE_REF(XFS_BUF_SET_VTYPE_REF452,15870 -#define XFS_BUF_SET_VTYPE(XFS_BUF_SET_VTYPE453,15915 -#define XFS_BUF_SET_REF(XFS_BUF_SET_REF454,15951 -#define XFS_BUF_ISPINNED(XFS_BUF_ISPINNED456,15985 -#define XFS_BUF_VALUSEMA(XFS_BUF_VALUSEMA458,16033 -#define XFS_BUF_CPSEMA(XFS_BUF_CPSEMA459,16085 -#define XFS_BUF_VSEMA(XFS_BUF_VSEMA460,16141 -#define XFS_BUF_PSEMA(XFS_BUF_PSEMA461,16186 -#define XFS_BUF_V_IODONESEMA(XFS_BUF_V_IODONESEMA462,16231 -#define XFS_BUF_SET_TARGET(XFS_BUF_SET_TARGET465,16344 -#define XFS_BUF_TARGET(XFS_BUF_TARGET467,16414 -#define XFS_BUFTARG_NAME(XFS_BUFTARG_NAME468,16459 -#define XFS_BUF_SET_VTYPE_REF(XFS_BUF_SET_VTYPE_REF471,16525 -#define XFS_BUF_SET_VTYPE(XFS_BUF_SET_VTYPE472,16570 -#define XFS_BUF_SET_REF(XFS_BUF_SET_REF473,16606 -#define xfs_buf_read(xfs_buf_read475,16640 -#define xfs_buf_get(xfs_buf_get478,16769 -#define xfs_buf_read_flags(xfs_buf_read_flags482,16887 -#define xfs_buf_get_flags(xfs_buf_get_flags484,17003 -static inline int xfs_bawrite(487,17108 -static inline void xfs_buf_relse(495,17321 -#define xfs_bpin(xfs_bpin502,17435 -#define xfs_bunpin(xfs_bunpin503,17473 -#define xfs_buftrace(xfs_buftrace505,17516 -#define xfs_biodone(xfs_biodone508,17618 -#define xfs_incore(xfs_incore511,17710 -#define xfs_biomove(xfs_biomove515,17806 -#define xfs_biozero(xfs_biozero519,17953 -static inline int XFS_bwrite(523,18048 -#define XFS_bdwrite(XFS_bdwrite540,18349 -static inline int xfs_bdwrite(543,18431 -#define XFS_bdstrat(XFS_bdstrat551,18599 -#define xfs_iowait(xfs_iowait553,18646 -#define xfs_baread(xfs_baread555,18689 -#define xfs_buf_get_empty(xfs_buf_get_empty558,18801 -#define xfs_buf_get_noaddr(xfs_buf_get_noaddr559,18875 -#define xfs_buf_free(xfs_buf_free560,18953 -#define xfs_getsize_buftarg(xfs_getsize_buftarg573,19334 -#define xfs_readonly_buftarg(xfs_readonly_buftarg575,19406 -#define xfs_binval(xfs_binval577,19483 -#define XFS_bflush(XFS_bflush579,19544 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_lrw.h,1161 -#define __XFS_LRW_H__33,1360 -#define XFS_RW_KTRACE_SIZE 48,1609 -#define XFS_READ_ENTER 50,1641 -#define XFS_WRITE_ENTER 51,1667 -#define XFS_IOMAP_READ_ENTER 52,1694 -#define XFS_IOMAP_WRITE_ENTER 53,1725 -#define XFS_IOMAP_READ_MAP 54,1757 -#define XFS_IOMAP_WRITE_MAP 55,1786 -#define XFS_IOMAP_WRITE_NOSPACE 56,1816 -#define XFS_ITRUNC_START 57,1850 -#define XFS_ITRUNC_FINISH1 58,1877 -#define XFS_ITRUNC_FINISH2 59,1906 -#define XFS_CTRUNC1 60,1936 -#define XFS_CTRUNC2 61,1960 -#define XFS_CTRUNC3 62,1984 -#define XFS_CTRUNC4 63,2008 -#define XFS_CTRUNC5 64,2032 -#define XFS_CTRUNC6 65,2056 -#define XFS_BUNMAPI 66,2080 -#define XFS_INVAL_CACHED 67,2104 -#define XFS_DIORD_ENTER 68,2132 -#define XFS_DIOWR_ENTER 69,2160 -#define XFS_SENDFILE_ENTER 70,2188 -#define XFS_WRITEPAGE_ENTER 71,2218 -#define XFS_RELEASEPAGE_ENTER 72,2249 -#define XFS_IOMAP_ALLOC_ENTER 73,2282 -#define XFS_IOMAP_ALLOC_MAP 74,2315 -#define XFS_IOMAP_UNWRITTEN 75,2346 -#define xfs_rw_enter_trace(xfs_rw_enter_trace81,2579 -#define xfs_inval_cached_trace(xfs_inval_cached_trace82,2644 -#define XFS_MAX_RW_NBMAPS 88,2776 -#define XFS_FSB_TO_DB_IO(XFS_FSB_TO_DB_IO111,3671 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_ioctl32.c,282 -#define BROKEN_X86_ALIGNMENT47,1659 -typedef struct xfs_fsop_bulkreq32 xfs_fsop_bulkreq3250,1695 -} xfs_fsop_bulkreq32_t;xfs_fsop_bulkreq32_t55,1936 -xfs_ioctl32_bulkstat(58,1972 -struct ioctl_trans xfs_ioctl32_trans[81,2604 -xfs_ioctl32_init(136,4117 -xfs_ioctl32_exit(156,4453 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_vfs.c,497 -vfs_mount(51,1690 -vfs_parseargs(65,1956 -vfs_showargs(80,2239 -vfs_unmount(93,2480 -vfs_mntupdate(107,2731 -vfs_root(121,3002 -vfs_statvfs(134,3233 -vfs_sync(148,3494 -vfs_vget(162,3736 -vfs_dmapiops(176,3993 -vfs_quotactl(189,4232 -vfs_init_vnode(204,4504 -vfs_force_shutdown(219,4794 -vfs_freeze(234,5077 -vfs_allocate(246,5284 -vfs_deallocate(260,5625 -vfs_insertops(268,5742 -vfs_insertbhv(280,5968 -bhv_remove_vfsops(291,6161 -bhv_remove_all_vfsops(305,6382 -bhv_insert_all_vfsops(321,6708 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/spin.h,410 -#define __XFS_SUPPORT_SPIN_H__33,1369 -typedef spinlock_t lock_t;lock_t45,1670 -#define SPLDECL(SPLDECL47,1698 -#define spinlock_init(spinlock_init49,1736 -#define spinlock_destroy(spinlock_destroy50,1791 -#define mutex_spinlock(mutex_spinlock51,1822 -#define mutex_spinunlock(mutex_spinunlock52,1878 -#define nested_spinlock(nested_spinlock53,1957 -#define nested_spinunlock(nested_spinunlock54,2004 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_super.h,1431 -#define __XFS_SUPER_H__33,1362 -# define vfs_insertdmapi(vfs_insertdmapi36,1411 -# define vfs_initdmapi(vfs_initdmapi37,1473 -# define vfs_exitdmapi(vfs_exitdmapi38,1511 -# define vfs_insertdmapi(vfs_insertdmapi40,1557 -# define vfs_initdmapi(vfs_initdmapi41,1604 -# define vfs_exitdmapi(vfs_exitdmapi42,1646 -# define vfs_insertquota(vfs_insertquota46,1720 -# define vfs_initquota(vfs_initquota49,1844 -# define vfs_exitquota(vfs_exitquota50,1883 -# define vfs_insertquota(vfs_insertquota52,1928 -# define vfs_initquota(vfs_initquota53,1975 -# define vfs_exitquota(vfs_exitquota54,2017 -# define XFS_ACL_STRING 58,2095 -# define set_posix_acl_flag(set_posix_acl_flag59,2129 -# define XFS_ACL_STRING61,2198 -# define set_posix_acl_flag(set_posix_acl_flag62,2222 -# define XFS_SECURITY_STRING 66,2306 -# define ENOSECURITY 67,2359 -# define XFS_SECURITY_STRING69,2389 -# define ENOSECURITY 70,2418 -# define XFS_REALTIME_STRING 74,2480 -# define XFS_REALTIME_STRING76,2528 -# define XFS_BIGFS_STRING 81,2603 -# define XFS_BIGFS_STRING 83,2667 -# define XFS_BIGFS_STRING86,2732 -# define XFS_TRACE_STRING 90,2790 -# define XFS_TRACE_STRING92,2834 -# define XFS_DMAPI_STRING 96,2892 -# define XFS_DMAPI_STRING98,2942 -# define XFS_DBG_STRING 102,2989 -# define XFS_DBG_STRING 104,3028 -#define XFS_BUILD_OPTIONS 107,3072 -#define LINVFS_GET_VFS(LINVFS_GET_VFS115,3279 -#define LINVFS_SET_VFS(LINVFS_SET_VFS117,3334 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_lrw.c,335 -xfs_rw_enter_trace(82,2348 -xfs_inval_cached_trace(114,3150 -xfs_iozero(156,4329 -xfs_inval_cached_pages(222,5885 -xfs_read(237,6208 -xfs_sendfile(332,8245 -xfs_zero_last_block(400,9808 -xfs_zero_eof(478,11864 -xfs_write(611,15741 -xfs_bdstrat_cb(988,25477 -xfs_bmap(1013,26016 -xfsbdstrat(1037,26650 -xfs_dev_is_read_only(1060,27065 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_version.h,70 -#define __XFS_VERSION_H__40,1504 -#define XFS_VERSION_STRING 42,1531 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_vnode.h,9487 -#define __XFS_VNODE_H__60,2961 -enum vtype vtype71,3117 -enum vtype { VNON,71,3117 -enum vtype { VNON, VREG,71,3117 -enum vtype { VNON, VREG, VDIR,71,3117 -enum vtype { VNON, VREG, VDIR, VBLK,71,3117 -enum vtype { VNON, VREG, VDIR, VBLK, VCHR,71,3117 -enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK,71,3117 -enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VFIFO,71,3117 -enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VFIFO, VBAD,71,3117 -enum vtype { VNON, VREG, VDIR, VBLK, VCHR, VLNK, VFIFO, VBAD, VSOCK 71,3117 -typedef xfs_ino_t vnumber_t;vnumber_t73,3189 -typedef struct dentry vname_t;vname_t74,3218 -typedef bhv_head_t vn_bhv_head_t;vn_bhv_head_t75,3249 -typedef struct vnode vnode82,3395 -} vnode_t;vnode_t93,3823 -#define v_fbhv 95,3835 -#define v_fops 96,3894 -#define VNODE_POSITION_BASE 98,3960 -#define VNODE_POSITION_TOP 99,4025 -#define VNODE_POSITION_INVALID 100,4085 - VN_BHV_UNKNOWN,103,4176 - VN_BHV_XFS,104,4214 - VN_BHV_DM,105,4238 - VN_BHV_QM,106,4272 - VN_BHV_IO,107,4305 - VN_BHV_END 108,4332 -} vn_bhv_t;vn_bhv_t109,4377 -#define VNODE_POSITION_XFS 111,4390 -#define VNODE_POSITION_DM 112,4439 -#define VNODE_POSITION_QM 113,4490 -#define VNODE_POSITION_IO 114,4541 -#define BHV_TO_VNODE(BHV_TO_VNODE119,4672 -#define BHV_TO_VNODE_NULL(BHV_TO_VNODE_NULL120,4725 -#define VN_BHV_HEAD(VN_BHV_HEAD122,4788 -#define vn_bhv_head_init(vn_bhv_head_init123,4846 -#define vn_bhv_remove(vn_bhv_remove124,4905 -#define vn_bhv_lookup(vn_bhv_lookup125,4957 -#define vn_bhv_lookup_unlocked(vn_bhv_lookup_unlocked126,5009 -#define LINVFS_GET_VP(LINVFS_GET_VP131,5119 -#define LINVFS_GET_IP(LINVFS_GET_IP132,5197 -#define IFTOVT(IFTOVT140,5441 -#define VTTOIF(VTTOIF141,5500 -#define MAKEIMODE(MAKEIMODE142,5547 -#define VINACT 148,5631 -#define VRECLM 149,5691 -#define VWAIT 150,5749 -#define VMODIFIED 151,5814 -typedef enum vrwlock vrwlock157,5990 - VRWLOCK_NONE,158,6013 - VRWLOCK_READ,159,6028 - VRWLOCK_WRITE,160,6043 - VRWLOCK_WRITE_DIRECT,161,6059 - VRWLOCK_TRY_READ,162,6082 - VRWLOCK_TRY_WRITE163,6101 -} vrwlock_t;vrwlock_t164,6120 -#define VN_INACTIVE_CACHE 171,6318 -#define VN_INACTIVE_NOCACHE 172,6346 -typedef enum vchange vchange177,6438 - VCHANGE_FLAGS_FRLOCKS 178,6461 - VCHANGE_FLAGS_ENF_LOCKING 179,6490 - VCHANGE_FLAGS_TRUNCATED 180,6522 - VCHANGE_FLAGS_PAGE_DIRTY 181,6553 - VCHANGE_FLAGS_IOEXCL_COUNT 182,6584 -} vchange_t;vchange_t183,6616 -typedef int (*vop_open_t)vop_open_t186,6631 -typedef ssize_t (*vop_read_t)vop_read_t187,6687 -typedef ssize_t (*vop_write_t)vop_write_t190,6822 -typedef ssize_t (*vop_sendfile_t)vop_sendfile_t193,6958 -typedef int (*vop_ioctl_t)vop_ioctl_t196,7090 -typedef int (*vop_getattr_t)vop_getattr_t198,7201 -typedef int (*vop_setattr_t)vop_setattr_t200,7285 -typedef int (*vop_access_t)vop_access_t202,7369 -typedef int (*vop_lookup_t)vop_lookup_t203,7432 -typedef int (*vop_create_t)vop_create_t205,7533 -typedef int (*vop_remove_t)vop_remove_t207,7634 -typedef int (*vop_link_t)vop_link_t208,7703 -typedef int (*vop_rename_t)vop_rename_t210,7785 -typedef int (*vop_mkdir_t)vop_mkdir_t212,7880 -typedef int (*vop_rmdir_t)vop_rmdir_t214,7980 -typedef int (*vop_readdir_t)vop_readdir_t215,8048 -typedef int (*vop_symlink_t)vop_symlink_t217,8132 -typedef int (*vop_readlink_t)vop_readlink_t219,8242 -typedef int (*vop_fsync_t)vop_fsync_t221,8325 -typedef int (*vop_inactive_t)vop_inactive_t223,8413 -typedef int (*vop_fid2_t)vop_fid2_t224,8473 -typedef int (*vop_release_t)vop_release_t225,8528 -typedef int (*vop_rwlock_t)vop_rwlock_t226,8572 -typedef void (*vop_rwunlock_t)vop_rwunlock_t227,8626 -typedef int (*vop_bmap_t)vop_bmap_t228,8683 -typedef int (*vop_reclaim_t)vop_reclaim_t230,8780 -typedef int (*vop_attr_get_t)vop_attr_get_t231,8824 -typedef int (*vop_attr_set_t)vop_attr_set_t233,8916 -typedef int (*vop_attr_remove_t)vop_attr_remove_t235,9006 -typedef int (*vop_attr_list_t)vop_attr_list_t236,9082 -typedef void (*vop_link_removed_t)vop_link_removed_t238,9196 -typedef void (*vop_vnode_change_t)vop_vnode_change_t239,9262 -typedef void (*vop_ptossvp_t)vop_ptossvp_t240,9334 -typedef void (*vop_pflushinvalvp_t)vop_pflushinvalvp_t241,9406 -typedef int (*vop_pflushvp_t)vop_pflushvp_t242,9484 -typedef int (*vop_iflush_t)vop_iflush_t244,9570 -typedef struct vnodeops vnodeops247,9620 -} vnodeops_t;vnodeops_t285,10758 -#define _VOP_(_VOP_290,10790 -#define VOP_READ(VOP_READ292,10849 -#define VOP_WRITE(VOP_WRITE294,10981 -#define VOP_SENDFILE(VOP_SENDFILE296,11114 -#define VOP_BMAP(VOP_BMAP298,11249 -#define VOP_OPEN(VOP_OPEN300,11345 -#define VOP_GETATTR(VOP_GETATTR302,11425 -#define VOP_SETATTR(VOP_SETATTR304,11526 -#define VOP_ACCESS(VOP_ACCESS306,11627 -#define VOP_LOOKUP(VOP_LOOKUP308,11722 -#define VOP_CREATE(VOP_CREATE310,11827 -#define VOP_REMOVE(VOP_REMOVE312,11930 -#define VOP_LINK(VOP_LINK314,12018 -#define VOP_RENAME(VOP_RENAME316,12112 -#define VOP_MKDIR(VOP_MKDIR318,12220 -#define VOP_RMDIR(VOP_RMDIR320,12318 -#define VOP_READDIR(VOP_READDIR322,12402 -#define VOP_SYMLINK(VOP_SYMLINK324,12504 -#define VOP_READLINK(VOP_READLINK326,12617 -#define VOP_FSYNC(VOP_FSYNC328,12717 -#define VOP_INACTIVE(VOP_INACTIVE330,12807 -#define VOP_RELEASE(VOP_RELEASE332,12894 -#define VOP_FID2(VOP_FID2334,12972 -#define VOP_RWLOCK(VOP_RWLOCK336,13056 -#define VOP_RWLOCK_TRY(VOP_RWLOCK_TRY338,13134 -#define VOP_RWUNLOCK(VOP_RWUNLOCK340,13210 -#define VOP_FRLOCK(VOP_FRLOCK342,13292 -#define VOP_RECLAIM(VOP_RECLAIM344,13407 -#define VOP_ATTR_GET(VOP_ATTR_GET346,13485 -#define VOP_ATTR_SET(VOP_ATTR_SET348,13616 -#define VOP_ATTR_REMOVE(VOP_ATTR_REMOVE350,13745 -#define VOP_ATTR_LIST(VOP_ATTR_LIST352,13863 -#define VOP_LINK_REMOVED(VOP_LINK_REMOVED354,13998 -#define VOP_VNODE_CHANGE(VOP_VNODE_CHANGE356,14111 -#define VOP_TOSS_PAGES(VOP_TOSS_PAGES362,14342 -#define VOP_FLUSHINVAL_PAGES(VOP_FLUSHINVAL_PAGES367,14525 -#define VOP_FLUSH_PAGES(VOP_FLUSH_PAGES372,14718 -#define VOP_IOCTL(VOP_IOCTL374,14850 -#define VOP_IFLUSH(VOP_IFLUSH376,14970 -#define IO_ISDIRECT 382,15119 -#define IO_INVIS 383,15172 -#define FLUSH_SYNC 388,15271 -#define FLUSH_INODE 389,15326 -#define FLUSH_LOG 390,15378 -#define FI_NONE 397,15566 -#define FI_REMAPF 398,15597 -#define FI_REMAPF_LOCKED 399,15659 -typedef struct vattr vattr407,15910 -} vattr_t;vattr_t428,16928 -#define XFS_AT_TYPE 433,16980 -#define XFS_AT_MODE 434,17012 -#define XFS_AT_UID 435,17044 -#define XFS_AT_GID 436,17075 -#define XFS_AT_FSID 437,17106 -#define XFS_AT_NODEID 438,17138 -#define XFS_AT_NLINK 439,17172 -#define XFS_AT_SIZE 440,17205 -#define XFS_AT_ATIME 441,17237 -#define XFS_AT_MTIME 442,17270 -#define XFS_AT_CTIME 443,17303 -#define XFS_AT_RDEV 444,17336 -#define XFS_AT_BLKSIZE 445,17368 -#define XFS_AT_NBLOCKS 446,17403 -#define XFS_AT_VCODE 447,17438 -#define XFS_AT_MAC 448,17471 -#define XFS_AT_UPDATIME 449,17502 -#define XFS_AT_UPDMTIME 450,17538 -#define XFS_AT_UPDCTIME 451,17574 -#define XFS_AT_ACL 452,17610 -#define XFS_AT_CAP 453,17641 -#define XFS_AT_INF 454,17672 -#define XFS_AT_XFLAGS 455,17703 -#define XFS_AT_EXTSIZE 456,17737 -#define XFS_AT_NEXTENTS 457,17772 -#define XFS_AT_ANEXTENTS 458,17808 -#define XFS_AT_PROJID 459,17844 -#define XFS_AT_SIZE_NOPERM 460,17878 -#define XFS_AT_GENCOUNT 461,17916 -#define XFS_AT_ALL 463,17953 -#define XFS_AT_STAT 470,18322 -#define XFS_AT_TIMES 475,18549 -#define XFS_AT_UPDTIMES 477,18612 -#define XFS_AT_NOSET 479,18687 -#define VSUID 486,18892 -#define VSGID 487,18946 -#define VSVTX 488,19001 -#define VREAD 489,19063 -#define VWRITE 490,19125 -#define VEXEC 491,19148 -#define MODEMASK 493,19171 -#define MANDLOCK(MANDLOCK498,19295 -typedef struct vnode_map vnode_map522,20019 -} vmap_t;vmap_t526,20146 -#define VMAP(VMAP528,20157 -static inline int vn_count(538,20537 -#define VN_HOLD(VN_HOLD550,20822 -#define VN_RELE(VN_RELE553,20938 -#define VN_HOLD(VN_HOLD557,21069 -#define VN_RELE(VN_RELE558,21110 -#define VNAME(VNAME564,21198 -#define VNAMELEN(VNAMELEN565,21254 -#define VNAME_TO_VNODE(VNAME_TO_VNODE566,21302 -#define VN_LOCK(VN_LOCK571,21408 -#define VN_UNLOCK(VN_UNLOCK572,21459 -#define VN_FLAGSET(VN_FLAGSET573,21519 -#define VN_FLAGCLR(VN_FLAGCLR574,21561 -static __inline__ void vn_flagset(576,21604 -static __inline__ void vn_flagclr(583,21745 -#define VN_MTIMESET(VN_MTIMESET593,21944 -#define VN_ATIMESET(VN_ATIMESET594,22011 -#define VN_CTIMESET(VN_CTIMESET595,22078 -static inline void vn_mark_bad(600,22180 -static inline int VN_BAD(605,22270 -#define VN_MAPPED(VN_MAPPED613,22393 -#define VN_CACHED(VN_CACHED614,22460 -#define VN_DIRTY(VN_DIRTY615,22522 -#define VMODIFY(VMODIFY617,22616 -#define VUNMODIFY(VUNMODIFY618,22662 -#define ATTR_UTIME 623,22755 -#define ATTR_DMI 624,22814 -#define ATTR_LAZY 625,22873 -#define ATTR_NONBLOCK 626,22928 -#define FSYNC_NOWAIT 631,23048 -#define FSYNC_WAIT 632,23096 -#define FSYNC_INVAL 633,23161 -#define FSYNC_DATA 634,23224 -#define VNODE_TRACE_SIZE 641,23350 -#define VNODE_KTRACE_ENTRY 642,23409 -#define VNODE_KTRACE_EXIT 643,23438 -#define VNODE_KTRACE_HOLD 644,23466 -#define VNODE_KTRACE_REF 645,23494 -#define VNODE_KTRACE_RELE 646,23521 -#define VN_TRACE(VN_TRACE654,23871 -#define vn_trace_entry(vn_trace_entry657,23967 -#define vn_trace_exit(vn_trace_exit658,23997 -#define vn_trace_hold(vn_trace_hold659,24026 -#define vn_trace_ref(vn_trace_ref660,24057 -#define vn_trace_rele(vn_trace_rele661,24087 -#define VN_TRACE(VN_TRACE662,24118 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_fs_subr.c,130 -fs_noerr(39,1429 -fs_nosys(48,1520 -fs_noval(58,1658 -fs_tosspages(67,1795 -fs_flushinval_pages(86,2146 -fs_flush_pages(108,2576 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_stats.h,1081 -#define __XFS_STATS_H__33,1357 -struct xfsstats xfsstats43,1498 -# define XFSSTAT_END_EXTENT_ALLOC 44,1516 -# define XFSSTAT_END_ALLOC_BTREE 49,1646 -# define XFSSTAT_END_BLOCK_MAPPING 54,1821 -# define XFSSTAT_END_BLOCK_MAP_BTREE 62,2076 -# define XFSSTAT_END_DIRECTORY_OPS 67,2260 -# define XFSSTAT_END_TRANSACTIONS 72,2441 -# define XFSSTAT_END_INODE_OPS 76,2591 -# define XFSSTAT_END_LOG_OPS 84,2844 -# define XFSSTAT_END_TAIL_PUSHING 90,3046 -# define XFSSTAT_END_WRITE_CONVERT 101,3429 -# define XFSSTAT_END_READ_WRITE_OPS 104,3553 -# define XFSSTAT_END_ATTRIBUTE_OPS 107,3676 -# define XFSSTAT_END_INODE_CLUSTER 112,3850 -# define XFSSTAT_END_VNODE_OPS 116,4017 -#define XFSSTAT_END_BUF 125,4504 -#define XFS_STATS_INC(XFS_STATS_INC145,5066 -#define XFS_STATS_DEC(XFS_STATS_DEC146,5130 -#define XFS_STATS_ADD(XFS_STATS_ADD147,5194 -# define XFS_STATS_INC(XFS_STATS_INC155,5374 -# define XFS_STATS_DEC(XFS_STATS_DEC156,5404 -# define XFS_STATS_ADD(XFS_STATS_ADD157,5434 -static __inline void xfs_init_procfs(159,5470 -static __inline void xfs_cleanup_procfs(160,5518 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_ioctl.c,700 -xfs_find_handle(87,2611 -xfs_vget_fsop_handlereq(202,5318 -xfs_open_by_handle(293,7509 -xfs_readlink_by_handle(376,9343 -xfs_fssetdm_by_handle(422,10283 -xfs_attrlist_by_handle(462,11103 -xfs_attrmulti_by_handle(491,11754 -xfs_ioctl(612,14236 -xfs_ioc_space(871,19606 -xfs_ioc_bulkstat(906,20314 -xfs_ioc_fsgeometry_v1(970,21855 -xfs_ioc_fsgeometry(987,22153 -#define LINUX_XFLAG_SYNC 1006,22464 -#define LINUX_XFLAG_IMMUTABLE 1007,22526 -#define LINUX_XFLAG_APPEND 1008,22588 -#define LINUX_XFLAG_NODUMP 1009,22663 -#define LINUX_XFLAG_NOATIME 1010,22724 -xfs_merge_ioc_xflags(1013,22810 -xfs_di2lxflags(1044,23453 -xfs_ioc_xattr(1063,23882 -xfs_ioc_getbmap(1168,26281 -xfs_ioc_getbmapx(1199,26890 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_super.c,1642 -STATIC struct quotactl_ops linvfs_qops;77,2306 -STATIC struct super_operations linvfs_sops;78,2346 -STATIC struct export_operations linvfs_export_ops;79,2390 -STATIC kmem_zone_t *linvfs_inode_zone;80,2441 -STATIC kmem_shaker_t xfs_inode_shaker;81,2480 -xfs_args_allocate(84,2551 -xfs_max_file_offset(104,3027 -xfs_set_inodeops(138,4149 -xfs_revalidate_inode(163,4871 -xfs_initialize_vnode(211,6340 -xfs_blkdev_get(242,7194 -xfs_blkdev_put(259,7480 -linvfs_alloc_inode(268,7588 -linvfs_destroy_inode(281,7820 -xfs_inode_shake(288,7933 -init_once(300,8126 -init_inodecache(313,8375 -destroy_inodecache(324,8601 -linvfs_write_inode(337,8986 -linvfs_clear_inode(355,9301 -xfs_syncd_queue_work(379,9878 -xfs_flush_inode_work(404,10584 -xfs_flush_inode(413,10727 -xfs_flush_device_work(429,11099 -xfs_flush_device(438,11231 -#define SYNCD_FLAGS 450,11527 -vfs_sync_worker(452,11596 -xfssyncd(466,11830 -linvfs_start_syncd(527,13338 -linvfs_stop_syncd(541,13589 -linvfs_put_super(552,13781 -linvfs_write_super(572,14184 -linvfs_sync_super(588,14479 -linvfs_statfs(625,15329 -linvfs_remount(637,15518 -linvfs_freeze_fs(654,15867 -linvfs_get_parent(661,15971 -linvfs_get_dentry(688,16490 -linvfs_show_options(718,17094 -linvfs_getxstate(730,17288 -linvfs_setxstate(742,17505 -linvfs_getxquota(755,17721 -linvfs_setxquota(770,18030 -linvfs_fill_super(785,18337 -linvfs_get_sb(868,20078 -STATIC struct export_operations linvfs_export_ops 878,20259 -STATIC struct super_operations linvfs_sops 883,20387 -STATIC struct quotactl_ops linvfs_qops 897,20832 -STATIC struct file_system_type xfs_fs_type 904,21015 -init_xfs_fs(914,21218 -exit_xfs_fs(974,22192 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_stats.c,132 -xfs_read_xfsstats(39,1439 - static struct xstats_entry xstats_entry52,1669 -xfs_init_procfs(120,3493 -xfs_cleanup_procfs(128,3643 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_iops.c,804 -validate_fields(77,2286 -has_fs_struct(103,2898 -linvfs_mknod(109,2990 -linvfs_create(205,5056 -linvfs_mkdir(215,5210 -linvfs_lookup(224,5360 -linvfs_link(247,5812 -linvfs_unlink(275,6397 -linvfs_symlink(296,6764 -linvfs_rmdir(328,7513 -linvfs_rename(345,7800 -linvfs_readlink(373,8325 -linvfs_follow_link(405,8938 -static void linvfs_put_link(455,9790 -linvfs_permission(464,9964 -#define linvfs_permission 477,10214 -linvfs_getattr(481,10264 -linvfs_setattr(498,10585 -linvfs_truncate(556,11910 -linvfs_setxattr(563,12038 -linvfs_getxattr(594,12761 -linvfs_listxattr(624,13423 -linvfs_removexattr(644,13840 -struct inode_operations linvfs_file_inode_operations 666,14325 -struct inode_operations linvfs_dir_inode_operations 677,14642 -struct inode_operations linvfs_symlink_inode_operations 696,15170 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_aops.c,940 -xfs_page_trace(64,2135 -#define xfs_page_trace(xfs_page_trace104,3270 -linvfs_unwritten_done(108,3330 -linvfs_unwritten_convert(130,3817 -linvfs_unwritten_convert_direct(151,4317 -xfs_map_blocks(171,4742 -xfs_offset_to_map(192,5189 -xfs_map_at_offset(213,5719 -xfs_probe_unwritten_page(255,6826 -xfs_probe_unmapped_page(306,7899 -xfs_probe_unmapped_cluster(342,8566 -xfs_probe_delalloc_page(388,9796 -xfs_map_unwritten(424,10408 -xfs_submit_page(551,13894 -xfs_convert_page(596,14955 -xfs_cluster_write(676,16988 -xfs_page_state_convert(716,18369 -linvfs_get_block_core(910,22901 -linvfs_get_block(996,25022 -linvfs_get_blocks_direct(1007,25234 -linvfs_direct_IO(1019,25508 -linvfs_bmap(1046,26088 -linvfs_readpage(1063,26528 -linvfs_readpages(1071,26653 -xfs_count_page_state(1081,26859 -linvfs_writepage(1126,28155 -linvfs_release_page(1212,30455 -linvfs_prepare_write(1254,31469 -struct address_space_operations linvfs_aops 1263,31641 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_fs_subr.h,31 -#define __XFS_SUBR_H__33,1362 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_vnode.c,611 -uint64_t vn_generation;36,1358 -spinlock_t vnumber_lock 37,1413 -#define NVSYNC 43,1586 -#define vptosync(vptosync44,1621 -sv_t vsync[45,1691 -enum vtype iftovt_tab[51,1841 -u_short vttoif_tab[56,1972 -vn_init(62,2077 -vn_reclaim(75,2312 -vn_wakeup(110,2851 -vn_wait(121,3020 -vn_initialize(135,3237 -vn_get(170,4038 -vn_revalidate_core(196,4557 -vn_revalidate(233,5491 -vn_purge(258,6086 -vn_hold(320,7512 -vn_rele(339,7744 -vn_remove(388,8637 -#define KTRACE_ENTER(KTRACE_ENTER411,9005 -vn_trace_entry(428,9510 -vn_trace_exit(434,9624 -vn_trace_hold(440,9736 -vn_trace_ref(446,9861 -vn_trace_rele(452,9984 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/mutex.h,332 -#define __XFS_SUPPORT_MUTEX_H__33,1370 -#define MUTEX_DEFAULT 44,1603 -typedef struct semaphore mutex_t;mutex_t45,1630 -#define mutex_init(mutex_init47,1665 -#define mutex_destroy(mutex_destroy48,1722 -#define mutex_lock(mutex_lock49,1773 -#define mutex_trylock(mutex_trylock50,1816 -#define mutex_unlock(mutex_unlock51,1875 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/time.h,165 -#define __XFS_SUPPORT_TIME_H__33,1369 -typedef struct timespec timespec_t;timespec_t38,1451 -static inline void delay(40,1488 -static inline void nanotime(46,1598 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_cred.h,132 -#define __XFS_CRED_H__33,1361 -typedef struct cred cred38,1407 -} cred_t;cred_t40,1442 -static __inline int capable_cred(45,1558 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/kmem.h,1059 -#define __XFS_SUPPORT_KMEM_H__33,1369 -#define KM_SLEEP 42,1510 -#define KM_NOSLEEP 43,1534 -#define KM_NOFS 44,1560 -#define KM_MAYFAIL 45,1584 -#define kmem_zone 47,1611 -#define kmem_zone_t 48,1642 -typedef unsigned long xfs_pflags_t;xfs_pflags_t50,1676 -#define PFLAGS_TEST_NOIO(PFLAGS_TEST_NOIO52,1713 -#define PFLAGS_TEST_FSTRANS(PFLAGS_TEST_FSTRANS53,1780 -#define PFLAGS_SET_NOIO(PFLAGS_SET_NOIO55,1851 -#define PFLAGS_CLEAR_NOIO(PFLAGS_CLEAR_NOIO59,1928 -#define PFLAGS_SET_FSTRANS(PFLAGS_SET_FSTRANS64,2053 -#define PFLAGS_CLEAR_FSTRANS(PFLAGS_CLEAR_FSTRANS69,2172 -#define PFLAGS_RESTORE_FSTRANS(PFLAGS_RESTORE_FSTRANS75,2357 -#define PFLAGS_DUP(PFLAGS_DUP80,2511 -static __inline unsigned int kmem_flags_convert(84,2596 -kmem_zone_init(110,3151 -kmem_zone_free(116,3281 -kmem_zone_destroy(122,3381 -kmem_zone_shrink(129,3491 -typedef struct shrinker *kmem_shaker_t;kmem_shaker_t142,3868 -typedef int (*kmem_shake_func_t)kmem_shake_func_t143,3908 -kmem_shake_register(146,3992 -kmem_shake_deregister(152,4107 -kmem_shake_allow(158,4206 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_globals.h,34 -#define __XFS_GLOBALS_H__33,1364 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_vfs.h,3648 -#define __XFS_VFS_H__33,1360 -typedef struct kstatfs xfs_statfs_t;xfs_statfs_t47,1555 -typedef struct vfs_sync_work vfs_sync_work49,1593 -} vfs_sync_work_t;vfs_sync_work_t54,1761 -typedef struct vfs vfs56,1781 -} vfs_t;vfs_t69,2445 -#define vfs_fbhv 71,2455 -#define bhvtovfs(bhvtovfs73,2522 -#define bhvtovfsops(bhvtovfsops74,2577 -#define VFS_BHVHEAD(VFS_BHVHEAD75,2636 -#define VFS_REMOVEBHV(VFS_REMOVEBHV76,2680 -#define VFS_POSITION_BASE 78,2751 -#define VFS_POSITION_TOP 79,2814 -#define VFS_POSITION_INVALID 80,2872 - VFS_BHV_UNKNOWN,83,2961 - VFS_BHV_XFS,84,2999 - VFS_BHV_DM,85,3024 - VFS_BHV_QM,86,3059 - VFS_BHV_IO,87,3093 - VFS_BHV_END 88,3121 -} vfs_bhv_t;vfs_bhv_t89,3167 -#define VFS_POSITION_XFS 91,3181 -#define VFS_POSITION_DM 92,3226 -#define VFS_POSITION_QM 93,3274 -#define VFS_POSITION_IO 94,3322 -#define VFS_RDONLY 96,3371 -#define VFS_GRPID 97,3418 -#define VFS_DMI 98,3483 -#define VFS_UMOUNT 99,3545 -#define VFS_END 100,3598 -#define SYNC_ATTR 102,3639 -#define SYNC_CLOSE 103,3687 -#define SYNC_DELWRI 104,3743 -#define SYNC_WAIT 105,3800 -#define SYNC_BDFLUSH 106,3857 -#define SYNC_FSDATA 107,3926 -#define SYNC_REFCACHE 108,3993 -#define SYNC_REMOUNT 109,4062 -typedef int (*vfs_mount_t)vfs_mount_t111,4130 -typedef int (*vfs_parseargs_t)vfs_parseargs_t113,4216 -typedef int (*vfs_showargs_t)vfs_showargs_t115,4304 -typedef int (*vfs_unmount_t)vfs_unmount_t116,4368 -typedef int (*vfs_mntupdate_t)vfs_mntupdate_t117,4432 -typedef int (*vfs_root_t)vfs_root_t119,4514 -typedef int (*vfs_statvfs_t)vfs_statvfs_t120,4572 -typedef int (*vfs_sync_t)vfs_sync_t121,4648 -typedef int (*vfs_vget_t)vfs_vget_t122,4709 -typedef int (*vfs_dmapiops_t)vfs_dmapiops_t123,4781 -typedef int (*vfs_quotactl_t)vfs_quotactl_t124,4835 -typedef void (*vfs_init_vnode_t)vfs_init_vnode_t125,4899 -typedef void (*vfs_force_shutdown_t)vfs_force_shutdown_t127,4986 -typedef void (*vfs_freeze_t)vfs_freeze_t128,5056 -typedef struct vfsops vfsops130,5101 -} vfsops_t;vfsops_t146,5946 -#define VHEAD(VHEAD151,6034 -#define VFS_MOUNT(VFS_MOUNT152,6069 -#define VFS_PARSEARGS(VFS_PARSEARGS153,6138 -#define VFS_SHOWARGS(VFS_SHOWARGS154,6216 -#define VFS_UNMOUNT(VFS_UNMOUNT155,6283 -#define VFS_MNTUPDATE(VFS_MNTUPDATE156,6354 -#define VFS_ROOT(VFS_ROOT157,6436 -#define VFS_STATVFS(VFS_STATVFS158,6499 -#define VFS_SYNC(VFS_SYNC159,6571 -#define VFS_VGET(VFS_VGET160,6641 -#define VFS_DMAPIOPS(VFS_DMAPIOPS161,6713 -#define VFS_QUOTACTL(VFS_QUOTACTL162,6780 -#define VFS_INIT_VNODE(VFS_INIT_VNODE163,6856 -#define VFS_FORCE_SHUTDOWN(VFS_FORCE_SHUTDOWN164,6929 -#define VFS_FREEZE(VFS_FREEZE165,7008 -#define PVFS_MOUNT(PVFS_MOUNT170,7119 -#define PVFS_PARSEARGS(PVFS_PARSEARGS171,7181 -#define PVFS_SHOWARGS(PVFS_SHOWARGS172,7253 -#define PVFS_UNMOUNT(PVFS_UNMOUNT173,7314 -#define PVFS_MNTUPDATE(PVFS_MNTUPDATE174,7378 -#define PVFS_ROOT(PVFS_ROOT175,7454 -#define PVFS_STATVFS(PVFS_STATVFS176,7511 -#define PVFS_SYNC(PVFS_SYNC177,7577 -#define PVFS_VGET(PVFS_VGET178,7641 -#define PVFS_DMAPIOPS(PVFS_DMAPIOPS179,7707 -#define PVFS_QUOTACTL(PVFS_QUOTACTL180,7768 -#define PVFS_INIT_VNODE(PVFS_INIT_VNODE181,7838 -#define PVFS_FORCE_SHUTDOWN(PVFS_FORCE_SHUTDOWN182,7907 -#define PVFS_FREEZE(PVFS_FREEZE183,7980 -typedef struct bhv_vfsops bhv_vfsops200,8895 -} bhv_vfsops_t;bhv_vfsops_t203,8973 -#define vfs_bhv_lookup(vfs_bhv_lookup205,8990 -#define vfs_bhv_custom(vfs_bhv_custom206,9067 -#define vfs_bhv_set_custom(vfs_bhv_set_custom207,9138 -#define vfs_bhv_clr_custom(vfs_bhv_clr_custom208,9203 -#define fs_frozen(fs_frozen219,9609 -#define fs_check_frozen(fs_check_frozen220,9664 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_sysctl.c,277 -static struct ctl_table_header *xfs_table_header;39,1431 -xfs_stats_clear_proc_handler(44,1516 -STATIC ctl_table xfs_table[76,2248 -STATIC ctl_table xfs_dir_table[148,5043 -STATIC ctl_table xfs_root_table[153,5133 -xfs_sysctl_register(159,5233 -xfs_sysctl_unregister(165,5331 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/xfs_linux.h,2687 -#define __XFS_LINUX__33,1360 -# define XFS_BIG_BLKNOS 45,1728 -# define XFS_BIG_INUMS 47,1779 -# define XFS_BIG_INUMS 49,1812 -# define XFS_BIG_BLKNOS 52,1852 -# define XFS_BIG_INUMS 53,1878 -#define HAVE_SENDFILE 116,3211 -static inline void set_buffer_unwritten_io(127,3614 -#define restricted_chown 132,3725 -#define irix_sgid_inherit 133,3780 -#define irix_symlink_mode 134,3834 -#define xfs_panic_mask 135,3888 -#define xfs_error_level 136,3938 -#define xfs_syncd_centisecs 137,3990 -#define xfs_stats_clear 138,4045 -#define xfs_inherit_sync 139,4097 -#define xfs_inherit_nodump 140,4150 -#define xfs_inherit_noatime 141,4207 -#define xfs_buf_timer_centisecs 142,4265 -#define xfs_buf_age_centisecs 143,4326 -#define xfs_inherit_nosymlinks 144,4383 -#define current_cpu(current_cpu146,4444 -#define current_pid(current_pid147,4486 -#define current_fsuid(current_fsuid148,4524 -#define current_fsgid(current_fsgid149,4569 -#define NBPP 151,4615 -#define DPPSHFT 152,4639 -#define NDPP 153,4673 -#define dtop(dtop154,4711 -#define dtopt(dtopt155,4759 -#define dpoff(dpoff156,4795 -#define NBBY 158,4832 -#define NBPC 159,4879 -#define BPCSHIFT 160,4935 -#define BLKDEV_IOSHIFT 166,5097 -#define BLKDEV_IOSIZE 167,5130 -#define BLKDEV_BB 169,5217 -#define btoc(btoc172,5280 -#define btoct(btoct173,5340 -#define btoc64(btoc64174,5389 -#define btoct64(btoct64175,5446 -#define io_btoc(io_btoc176,5493 -#define io_btoct(io_btoct177,5561 -#define offtoc(offtoc180,5645 -#define offtoct(offtoct181,5708 -#define ctooff(ctooff184,5788 -#define ctob(ctob187,5856 -#define btoct(btoct188,5905 -#define ctob64(ctob64189,5961 -#define io_ctob(io_ctob190,6007 -#define btoc(btoc193,6084 -#define FSC_NOTIFY_NAME_CHANGED(FSC_NOTIFY_NAME_CHANGED196,6173 -#define ENOATTR 200,6233 -#define EWRONGFS 204,6347 -#define EFSCORRUPTED 217,6955 -#define SYNCHRONIZE(SYNCHRONIZE219,7015 -#define __return_address 220,7047 -#define Q_XSETGQLIM 228,7386 -#define Q_XGETGQUOTA 229,7448 -#define DQUOT_MAX_HEURISTIC 233,7654 -#define ndquot 234,7703 -#define DQUOT_HASH_HEURISTIC 238,7887 -#define DEFAULT_PROJID 241,8010 -#define dfltprid 242,8035 -#define MAXPATHLEN 244,8068 -#define MIN(MIN246,8093 -#define MAX(MAX247,8121 -#define howmany(howmany248,8149 -#define roundup(roundup249,8191 -#define xfs_stack_trace(xfs_stack_trace251,8240 -#define xfs_itruncate_data(xfs_itruncate_data253,8280 -static inline __u32 xfs_do_div(264,8612 -static inline __u32 xfs_do_mod(295,9244 -static inline __u32 xfs_do_div(320,9756 -static inline __u32 xfs_do_mod(339,10064 -#define do_div(do_div357,10300 -#define do_mod(do_mod358,10354 -static inline __uint64_t roundup_64(360,10409 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/linux-2.6/sema.h,355 -#define __XFS_SUPPORT_SEMA_H__33,1369 -typedef struct semaphore sema_t;sema_t44,1576 -#define init_sema(init_sema46,1610 -#define initsema(initsema47,1662 -#define initnsema(initnsema48,1708 -#define psema(psema49,1760 -#define vsema(vsema50,1792 -#define valusema(valusema51,1819 -#define freesema(freesema52,1870 -#define cpsema(cpsema60,2104 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_priv.h,37 -#define __XFS_TRANS_PRIV_H__33,1368 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir_sf.h,2240 -#define __XFS_DIR_SF_H__33,1358 -typedef struct { __uint8_t i[sizeof(xfs_ino_t)]; } xfs_dir_ino_t;xfs_dir_ino_t42,1556 -typedef struct xfs_dir_shortform xfs_dir_shortform52,1921 - struct xfs_dir_sf_hdr xfs_dir_sf_hdr53,1956 - struct xfs_dir_sf_entry xfs_dir_sf_entry57,2131 -} xfs_dir_shortform_t;xfs_dir_shortform_t62,2345 -typedef struct xfs_dir_sf_hdr xfs_dir_sf_hdr_t;xfs_dir_sf_hdr_t63,2368 -typedef struct xfs_dir_sf_entry xfs_dir_sf_entry_t;xfs_dir_sf_entry_t64,2416 -typedef struct xfs_dir_sf_sort xfs_dir_sf_sort70,2584 -} xfs_dir_sf_sort_t;xfs_dir_sf_sort_t77,2939 -#define XFS_DIR_SF_GET_DIRINO_ARCH(XFS_DIR_SF_GET_DIRINO_ARCH82,3181 -#define XFS_DIR_SF_GET_DIRINO(XFS_DIR_SF_GET_DIRINO83,3276 -#define XFS_DIR_SF_GET_DIRINO_ARCH(XFS_DIR_SF_GET_DIRINO_ARCH85,3358 -#define XFS_DIR_SF_GET_DIRINO(XFS_DIR_SF_GET_DIRINO86,3441 -#define XFS_DIR_SF_PUT_DIRINO_ARCH(XFS_DIR_SF_PUT_DIRINO_ARCH91,3760 -#define XFS_DIR_SF_PUT_DIRINO(XFS_DIR_SF_PUT_DIRINO92,3855 -#define XFS_DIR_SF_PUT_DIRINO_ARCH(XFS_DIR_SF_PUT_DIRINO_ARCH94,3937 -#define XFS_DIR_SF_PUT_DIRINO(XFS_DIR_SF_PUT_DIRINO95,4020 -#define XFS_DIR_SF_ENTSIZE_BYNAME(XFS_DIR_SF_ENTSIZE_BYNAME99,4233 -#define XFS_DIR_SF_ENTSIZE_BYNAME(XFS_DIR_SF_ENTSIZE_BYNAME101,4310 -#define XFS_DIR_SF_ENTSIZE_BYENTRY(XFS_DIR_SF_ENTSIZE_BYENTRY106,4562 -#define XFS_DIR_SF_ENTSIZE_BYENTRY(XFS_DIR_SF_ENTSIZE_BYENTRY108,4642 -#define XFS_DIR_SF_NEXTENTRY(XFS_DIR_SF_NEXTENTRY113,4911 -#define XFS_DIR_SF_NEXTENTRY(XFS_DIR_SF_NEXTENTRY115,4980 -#define XFS_DIR_SF_ALLFIT(XFS_DIR_SF_ALLFIT121,5248 -#define XFS_DIR_SF_ALLFIT(XFS_DIR_SF_ALLFIT124,5333 -#define XFS_DIR_TRACE_SIZE 141,5721 -#define XFS_DIR_KTRACE_G_DU 147,5854 -#define XFS_DIR_KTRACE_G_DUB 148,5898 -#define XFS_DIR_KTRACE_G_DUN 149,5948 -#define XFS_DIR_KTRACE_G_DUL 150,5999 -#define XFS_DIR_KTRACE_G_DUE 151,6050 -#define XFS_DIR_KTRACE_G_DUC 152,6107 -#define xfs_dir_trace_g_du(xfs_dir_trace_g_du170,7004 -#define xfs_dir_trace_g_dub(xfs_dir_trace_g_dub171,7038 -#define xfs_dir_trace_g_dun(xfs_dir_trace_g_dun172,7075 -#define xfs_dir_trace_g_dul(xfs_dir_trace_g_dul173,7112 -#define xfs_dir_trace_g_due(xfs_dir_trace_g_due174,7149 -#define xfs_dir_trace_g_duc(xfs_dir_trace_g_duc175,7186 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_macros.c,8629 -#define XFS_MACRO_C33,1339 -isnulldstartblock(72,2254 -isnullstartblock(80,2403 -nullstartblock(88,2559 -startblockval(96,2700 -xfs_ag_check_daddr(104,2845 -xfs_ag_daddr(112,3036 -xfs_ag_maxlevels(120,3222 -xfs_agb_to_daddr(128,3379 -xfs_agb_to_fsb(136,3591 -xfs_agblock_max(144,3800 -xfs_agblock_min(152,3975 -xfs_agf_block(160,4148 -xfs_agf_good_version(168,4295 -xfs_agfl_block(176,4454 -xfs_agi_block(184,4606 -xfs_agi_good_version(192,4753 -xfs_agino_to_agbno(200,4916 -xfs_agino_to_ino(208,5093 -xfs_agino_to_offset(216,5284 -xfs_alloc_block_maxrecs(224,5464 -xfs_alloc_block_minrecs(232,5654 -xfs_alloc_block_size(241,5855 -xfs_alloc_key_addr(250,6062 -xfs_alloc_ptr_addr(258,6274 -xfs_alloc_rec_addr(267,6500 -xfs_attr_leaf_entsize_local(275,6707 -xfs_attr_leaf_entsize_local_max(283,6904 -xfs_attr_leaf_entsize_remote(291,7092 -xfs_attr_leaf_name(299,7265 -xfs_attr_leaf_name_local(307,7480 -xfs_attr_leaf_name_remote(315,7709 -xfs_attr_sf_entsize(323,7908 -xfs_attr_sf_entsize_byname(331,8085 -xfs_attr_sf_nextentry(339,8288 -xfs_attr_sf_totsize(347,8462 -xfs_bhvtoi(355,8621 -xfs_bhvtom(363,8765 -xfs_vfstom(371,8907 -xfs_bm_maxlevels(379,9040 -xfs_bmap_block_dmaxrecs(387,9206 -xfs_bmap_block_dminrecs(395,9396 -xfs_bmap_block_dsize(403,9583 -xfs_bmap_block_imaxrecs(411,9767 -xfs_bmap_block_iminrecs(419,9957 -xfs_bmap_block_isize(427,10144 -xfs_bmap_broot_key_addr(436,10355 -xfs_bmap_broot_maxrecs(444,10551 -xfs_bmap_broot_numrecs(452,10709 -xfs_bmap_broot_ptr_addr(460,10895 -xfs_bmap_broot_rec_addr(469,11119 -xfs_bmap_broot_space(477,11313 -xfs_bmap_broot_space_calc(485,11484 -xfs_bmap_iblock_size(494,11666 -xfs_bmap_init(502,11841 -xfs_bmap_key_daddr(511,12037 -xfs_bmap_key_iaddr(520,12261 -xfs_bmap_ptr_daddr(528,12471 -xfs_bmap_ptr_iaddr(536,12681 -xfs_bmap_rblock_dsize(545,12895 -xfs_bmap_rblock_isize(554,13093 -xfs_bmap_rec_daddr(563,13301 -xfs_bmap_rec_iaddr(572,13525 -xfs_bmap_sanity_check(580,13725 -xfs_bmapi_aflag(588,13927 -xfs_bmdr_space_calc(596,14066 -xfs_bno_block(604,14225 -xfs_btree_long_ptrs(612,14371 -xfs_buf_to_agf(620,14537 -xfs_buf_to_agfl(628,14688 -xfs_buf_to_agi(636,14839 -xfs_buf_to_alloc_block(644,15004 -xfs_buf_to_block(652,15179 -xfs_buf_to_bmbt_block(660,15346 -xfs_buf_to_dinode(668,15515 -xfs_buf_to_inobt_block(676,15686 -xfs_buf_to_lblock(684,15863 -xfs_buf_to_sblock(692,16030 -xfs_buf_to_sbp(700,16184 -xfs_cfork_asize_arch(708,16326 -xfs_cfork_asize(713,16458 -xfs_cfork_boff_arch(721,16632 -xfs_cfork_boff(726,16741 -xfs_cfork_dsize_arch(734,16893 -xfs_cfork_dsize(739,17025 -xfs_cfork_fmt_set_arch(747,17203 -xfs_cfork_fmt_set(752,17332 -xfs_cfork_format_arch(760,17504 -xfs_cfork_format(765,17627 -xfs_cfork_next_set_arch(773,17797 -xfs_cfork_next_set(778,17928 -xfs_cfork_nextents_arch(786,18104 -xfs_cfork_nextents(791,18231 -xfs_cfork_q_arch(799,18397 -xfs_cfork_q(804,18500 -xfs_cfork_size_arch(812,18645 -xfs_cfork_size(817,18785 -xfs_cnt_block(825,18976 -xfs_da_cookie_bno(833,19128 -xfs_da_cookie_entry(841,19308 -xfs_da_cookie_hash(850,19514 -xfs_da_make_bnoentry(858,19704 -xfs_da_make_cookie(866,19909 -xfs_daddr_to_agbno(875,20144 -xfs_daddr_to_agno(883,20327 -xfs_daddr_to_fsb(891,20506 -xfs_dfork_aptr_arch(899,20674 -xfs_dfork_aptr(904,20781 -xfs_dfork_asize_arch(912,20928 -xfs_dfork_asize(917,21055 -xfs_dfork_boff_arch(925,21224 -xfs_dfork_boff(930,21328 -xfs_dfork_dptr_arch(938,21477 -xfs_dfork_dptr(943,21584 -xfs_dfork_dsize_arch(951,21731 -xfs_dfork_dsize(956,21858 -xfs_dfork_fmt_set_arch(964,22031 -xfs_dfork_fmt_set(969,22155 -xfs_dfork_format_arch(977,22322 -xfs_dfork_format(982,22440 -xfs_dfork_next_set_arch(990,22605 -xfs_dfork_next_set(995,22731 -xfs_dfork_nextents_arch(1003,22902 -xfs_dfork_nextents(1008,23024 -xfs_dfork_ptr_arch(1016,23190 -xfs_dfork_ptr(1021,23305 -xfs_dfork_q_arch(1029,23456 -xfs_dfork_q(1034,23554 -xfs_dfork_size_arch(1042,23694 -xfs_dfork_size(1047,23829 -xfs_dinode_good_version(1055,24015 -xfs_dir_leaf_entsize_byentry(1063,24179 -xfs_dir_leaf_entsize_byname(1071,24378 -xfs_dir_leaf_namestruct(1079,24567 -xfs_dir_sf_allfit(1087,24765 -xfs_dir_sf_entsize_byentry(1095,24947 -xfs_dir_sf_entsize_byname(1103,25136 -xfs_dir_sf_get_dirino_arch(1111,25302 -xfs_dir_sf_get_dirino(1116,25436 -xfs_dir_sf_nextentry(1124,25634 -xfs_dir_sf_put_dirino_arch(1132,25808 -xfs_dir_sf_put_dirino(1137,25942 -xfs_dir2_block_leaf_p_arch(1145,26144 -xfs_dir2_block_tail_p(1153,26372 -xfs_dir2_byte_to_da(1161,26574 -xfs_dir2_byte_to_dataptr(1170,26790 -xfs_dir2_byte_to_db(1178,26991 -xfs_dir2_byte_to_off(1186,27190 -xfs_dir2_da_to_byte(1194,27384 -xfs_dir2_da_to_db(1202,27570 -xfs_dir2_data_entry_tag_p(1210,27768 -xfs_dir2_data_entsize(1218,27952 -xfs_dir2_data_unused_tag_p_arch(1226,28128 -xfs_dir2_dataptr_to_byte(1235,28376 -xfs_dir2_dataptr_to_db(1243,28584 -xfs_dir2_dataptr_to_off(1251,28796 -xfs_dir2_db_off_to_byte(1259,29004 -xfs_dir2_db_off_to_dataptr(1268,29244 -xfs_dir2_db_to_da(1277,29477 -xfs_dir2_db_to_fdb(1285,29662 -xfs_dir2_db_to_fdindex(1293,29843 -xfs_dir2_leaf_bests_p_arch(1301,30049 -xfs_dir2_leaf_tail_p(1309,30275 -xfs_dir2_max_leaf_ents(1317,30463 -xfs_dir2_sf_entsize_byentry(1325,30635 -xfs_dir2_sf_firstentry(1333,30867 -xfs_dir2_sf_entsize_byname(1341,31042 -xfs_dir2_sf_get_inumber_arch(1349,31245 -xfs_dir2_sf_get_offset_arch(1357,31497 -xfs_dir2_sf_hdr_size(1365,31707 -xfs_dir2_sf_inumberp(1373,31883 -xfs_dir2_sf_nextentry(1381,32075 -xfs_dir2_sf_put_inumber_arch(1389,32279 -xfs_dir2_sf_put_offset_arch(1397,32527 -xfs_extfmt_inode(1405,32768 -xfs_extlen_max(1413,32929 -xfs_extlen_min(1421,33098 -xfs_filblks_max(1429,33269 -xfs_filblks_min(1437,33444 -xfs_fileoff_max(1445,33619 -xfs_fileoff_min(1453,33794 -xfs_fsb_sanity_check(1461,33964 -xfs_fsb_to_agbno(1469,34159 -xfs_fsb_to_agno(1477,34346 -xfs_fsb_to_daddr(1485,34529 -xfs_fsb_to_db(1493,34711 -xfs_hdr_block(1501,34885 -xfs_ialloc_blocks(1509,35056 -xfs_ialloc_find_free(1517,35211 -xfs_ialloc_inodes(1525,35371 -xfs_ibt_block(1533,35529 -xfs_ifork_asize(1541,35671 -xfs_ifork_dsize(1549,35817 -xfs_ifork_fmt_set(1557,35966 -xfs_ifork_format(1565,36130 -xfs_ifork_next_set(1573,36292 -xfs_ifork_nextents(1581,36460 -xfs_ifork_ptr(1589,36630 -xfs_ifork_q(1597,36778 -xfs_ifork_size(1605,36915 -xfs_ilog_fbroot(1613,37069 -xfs_ilog_fdata(1621,37203 -xfs_ilog_fext(1629,37334 -xfs_in_maxlevels(1637,37466 -xfs_ino_agbno_bits(1645,37617 -xfs_ino_agino_bits(1653,37772 -xfs_ino_agno_bits(1661,37926 -xfs_ino_bits(1669,38073 -xfs_ino_mask(1677,38217 -xfs_ino_offset_bits(1685,38350 -xfs_ino_to_agbno(1693,38515 -xfs_ino_to_agino(1701,38688 -xfs_ino_to_agno(1709,38863 -xfs_ino_to_fsb(1717,39034 -xfs_ino_to_offset(1725,39196 -xfs_inobt_block_maxrecs(1733,39370 -xfs_inobt_block_minrecs(1741,39560 -xfs_inobt_block_size(1750,39761 -xfs_inobt_clr_free(1758,39941 -xfs_inobt_is_free(1766,40125 -xfs_inobt_is_last_rec(1774,40318 -xfs_inobt_key_addr(1783,40513 -xfs_inobt_mask(1791,40717 -xfs_inobt_maskn(1799,40860 -xfs_inobt_ptr_addr(1807,41022 -xfs_inobt_rec_addr(1816,41248 -xfs_inobt_set_free(1824,41447 -xfs_itobhv(1832,41633 -xfs_itov(1840,41768 -xfs_lblog(1848,41894 -xfs_lbsize(1856,42023 -xfs_lic_all_free(1864,42161 -xfs_lic_are_all_free(1872,42316 -xfs_lic_claim(1880,42480 -xfs_lic_desc_to_chunk(1888,42665 -xfs_lic_desc_to_slot(1896,42836 -xfs_lic_init(1904,42998 -xfs_lic_init_slot(1912,43143 -xfs_lic_isfree(1920,43310 -xfs_lic_relse(1928,43478 -xfs_lic_slot(1936,43653 -xfs_lic_vacancy(1944,43818 -xfs_litino(1952,43968 -xfs_make_iptr(1960,44113 -xfs_mask32hi(1968,44286 -xfs_mask32lo(1976,44419 -xfs_mask64hi(1984,44552 -xfs_mask64lo(1992,44685 -xfs_min_freelist(2000,44815 -xfs_min_freelist_pag(2008,44985 -xfs_min_freelist_raw(2016,45169 -xfs_mtovfs(2024,45350 -xfs_offbno_to_agino(2032,45498 -xfs_prealloc_blocks(2040,45696 -xfs_sb_block(2048,45857 -xfs_sb_good_version(2056,46001 -xfs_sb_version_addattr(2064,46162 -xfs_sb_version_adddalign(2072,46324 -xfs_sb_version_addnlink(2080,46489 -xfs_sb_version_addquota(2088,46652 -xfs_sb_version_addshared(2096,46816 -xfs_sb_version_hasalign(2104,46980 -xfs_sb_version_hasattr(2112,47148 -xfs_sb_version_hasdalign(2120,47316 -xfs_sb_version_hasdirv2(2128,47487 -xfs_sb_version_hasextflgbit(2136,47660 -xfs_sb_version_hasnlink(2144,47837 -xfs_sb_version_hasquota(2152,48006 -xfs_sb_version_hasshared(2160,48176 -xfs_sb_version_num(2168,48342 -xfs_sb_version_subalign(2176,48502 -xfs_sb_version_subshared(2184,48666 -xfs_sb_version_haslogv2(2192,48830 -xfs_sb_version_hassector(2200,49000 -xfs_sb_version_tonew(2208,49173 -xfs_sb_version_toold(2216,49333 -xlog_grant_add_space(2224,49489 -xlog_grant_sub_space(2232,49675 -xfs_sb_version_hasmorebits(2240,49866 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_ialloc_btree.c,625 -xfs_inobt_delrec(83,2803 -xfs_inobt_insrec(550,16760 -xfs_inobt_log_block(761,22575 -xfs_inobt_log_keys(785,23308 -xfs_inobt_log_ptrs(807,24061 -xfs_inobt_log_recs(829,24814 -xfs_inobt_lookup(852,25663 -xfs_inobt_lshift(1058,31032 -xfs_inobt_newroot(1199,35410 -xfs_inobt_rshift(1347,40318 -xfs_inobt_split(1477,44860 -xfs_inobt_updkey(1635,50763 -xfs_inobt_decrement(1679,51946 -xfs_inobt_delete(1764,54257 -xfs_inobt_get_rec(1799,54987 -xfs_inobt_increment(1852,56564 -xfs_inobt_insert(1943,59100 -xfs_inobt_lookup_eq(2003,60883 -xfs_inobt_lookup_ge(2021,61388 -xfs_inobt_lookup_le(2039,61890 -xfs_inobt_update(2058,62457 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_bit.h,374 -#define __XFS_BIT_H__33,1361 -#define XFS_MASK32HI(XFS_MASK32HI44,1591 -#define XFS_MASK32HI(XFS_MASK32HI46,1638 -#define XFS_MASK64HI(XFS_MASK64HI50,1794 -#define XFS_MASK64HI(XFS_MASK64HI52,1841 -#define XFS_MASK32LO(XFS_MASK32LO56,1997 -#define XFS_MASK32LO(XFS_MASK32LO58,2044 -#define XFS_MASK64LO(XFS_MASK64LO62,2198 -#define XFS_MASK64LO(XFS_MASK64LO64,2245 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_utils.c,185 -xfs_get_dir_entry(66,2213 -xfs_dir_lookup_int(85,2516 -xfs_dir_ialloc(144,4023 -xfs_droplink(319,8530 -xfs_bump_ino_vers2(352,9349 -xfs_bumplink(383,10053 -xfs_truncate_file(416,10955 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_rename.c,195 -xfs_rename_unlock4(67,2177 -int xfs_rename_skip,88,2504 -int xfs_rename_skip, xfs_rename_nskip;88,2504 -xfs_lock_for_rename(102,2924 -int rename_which_error_return 238,6244 -xfs_rename(244,6305 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_rw.c,188 -xfs_write_clear_setuid(71,2232 -xfs_do_force_shutdown(116,3394 -xfs_bioerror(179,5107 -xfs_bioerror_relse(217,5970 -xfs_ioerror_alert(259,6912 -xfs_read_buf(287,7720 -xfs_bwrite(332,8582 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_ail.c,458 -#define xfs_ail_check(xfs_ail_check54,1947 -xfs_trans_tail_ail(68,2315 -xfs_trans_push_ail(97,2836 -#define XFS_TRANS_PUSH_AIL_RESTARTS 109,3025 -xfs_trans_unlocked_item(238,6463 -xfs_trans_update_ail(291,8234 -xfs_trans_delete_ail(344,9432 -xfs_trans_first_ail(396,10552 -xfs_trans_next_ail(416,11027 -xfs_trans_ail_init(455,11994 -xfs_ail_insert(469,12347 -xfs_ail_delete(508,13316 -xfs_ail_min(527,13743 -xfs_ail_next(544,14096 -xfs_ail_check(561,14361 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_mount.h,6489 -#define __XFS_MOUNT_H__33,1362 -typedef struct xfs_trans_reservations xfs_trans_reservations36,1388 -} xfs_trans_reservations_t;xfs_trans_reservations_t58,2364 -#define XFS_DADDR_TO_AGNO(XFS_DADDR_TO_AGNO65,2481 -#define XFS_DADDR_TO_AGBNO(XFS_DADDR_TO_AGBNO67,2583 -#define AIL_LOCK_T 83,2901 -#define AIL_LOCKINIT(AIL_LOCKINIT84,2928 -#define AIL_LOCK_DESTROY(AIL_LOCK_DESTROY85,2973 -#define AIL_LOCK(AIL_LOCK86,3021 -#define AIL_UNLOCK(AIL_UNLOCK87,3081 -typedef int (*xfs_send_data_t)xfs_send_data_t94,3217 -typedef int (*xfs_send_mmap_t)xfs_send_mmap_t96,3310 -typedef int (*xfs_send_destroy_t)xfs_send_destroy_t97,3373 -typedef int (*xfs_send_namesp_t)xfs_send_namesp_t98,3436 -typedef void (*xfs_send_unmount_t)xfs_send_unmount_t102,3599 -typedef struct xfs_dmops xfs_dmops105,3699 -} xfs_dmops_t;xfs_dmops_t111,3904 -#define XFS_SEND_DATA(XFS_SEND_DATA113,3920 -#define XFS_SEND_MMAP(XFS_SEND_MMAP115,4027 -#define XFS_SEND_DESTROY(XFS_SEND_DESTROY117,4104 -#define XFS_SEND_NAMESP(XFS_SEND_NAMESP119,4191 -#define XFS_SEND_PREUNMOUNT(XFS_SEND_PREUNMOUNT121,4331 -#define XFS_SEND_UNMOUNT(XFS_SEND_UNMOUNT123,4492 -typedef int (*xfs_qminit_t)xfs_qminit_t135,4751 -typedef int (*xfs_qmmount_t)xfs_qmmount_t136,4816 -typedef int (*xfs_qmunmount_t)xfs_qmunmount_t137,4878 -typedef void (*xfs_qmdone_t)xfs_qmdone_t138,4930 -typedef void (*xfs_dqrele_t)xfs_dqrele_t139,4980 -typedef int (*xfs_dqattach_t)xfs_dqattach_t140,5030 -typedef void (*xfs_dqdetach_t)xfs_dqdetach_t141,5087 -typedef int (*xfs_dqpurgeall_t)xfs_dqpurgeall_t142,5139 -typedef int (*xfs_dqvopalloc_t)xfs_dqvopalloc_t143,5198 -typedef void (*xfs_dqvopcreate_t)xfs_dqvopcreate_t146,5339 -typedef int (*xfs_dqvoprename_t)xfs_dqvoprename_t148,5457 -typedef struct xfs_dquot * (*xfs_dqvopchown_t)xfs_dqvopchown_t149,5512 -typedef int (*xfs_dqvopchownresv_t)xfs_dqvopchownresv_t152,5648 -typedef struct xfs_qmops xfs_qmops155,5775 -} xfs_qmops_t;xfs_qmops_t170,6259 -#define XFS_QM_INIT(XFS_QM_INIT172,6275 -#define XFS_QM_MOUNT(XFS_QM_MOUNT174,6353 -#define XFS_QM_UNMOUNT(XFS_QM_UNMOUNT176,6433 -#define XFS_QM_DONE(XFS_QM_DONE178,6499 -#define XFS_QM_DQRELE(XFS_QM_DQRELE180,6559 -#define XFS_QM_DQATTACH(XFS_QM_DQATTACH182,6625 -#define XFS_QM_DQDETACH(XFS_QM_DQDETACH184,6703 -#define XFS_QM_DQPURGEALL(XFS_QM_DQPURGEALL186,6773 -#define XFS_QM_DQVOPALLOC(XFS_QM_DQVOPALLOC188,6851 -#define XFS_QM_DQVOPCREATE(XFS_QM_DQVOPCREATE190,6977 -#define XFS_QM_DQVOPRENAME(XFS_QM_DQVOPRENAME192,7081 -#define XFS_QM_DQVOPCHOWN(XFS_QM_DQVOPCHOWN194,7157 -#define XFS_QM_DQVOPCHOWNRESV(XFS_QM_DQVOPCHOWNRESV196,7257 -typedef int (*xfs_ioinit_t)xfs_ioinit_t204,7442 -typedef int (*xfs_bmapi_t)xfs_bmapi_t206,7520 -typedef int (*xfs_bmap_eof_t)xfs_bmap_eof_t211,7714 -typedef int (*xfs_iomap_write_direct_t)xfs_iomap_write_direct_t212,7781 -typedef int (*xfs_iomap_write_delay_t)xfs_iomap_write_delay_t215,7897 -typedef int (*xfs_iomap_write_allocate_t)xfs_iomap_write_allocate_t218,8007 -typedef int (*xfs_iomap_write_unwritten_t)xfs_iomap_write_unwritten_t220,8095 -typedef uint (*xfs_lck_map_shared_t)xfs_lck_map_shared_t222,8169 -typedef void (*xfs_lock_t)xfs_lock_t223,8216 -typedef void (*xfs_lock_demote_t)xfs_lock_demote_t224,8259 -typedef int (*xfs_lock_nowait_t)xfs_lock_nowait_t225,8309 -typedef void (*xfs_unlk_t)xfs_unlk_t226,8358 -typedef xfs_fsize_t (*xfs_size_t)xfs_size_t227,8409 -typedef xfs_fsize_t (*xfs_iodone_t)xfs_iodone_t228,8452 -typedef struct xfs_ioops xfs_ioops230,8504 -} xfs_ioops_t;xfs_ioops_t245,9063 -#define XFS_IOINIT(XFS_IOINIT247,9079 -#define XFS_BMAPI(XFS_BMAPI249,9168 -#define XFS_BMAP_EOF(XFS_BMAP_EOF252,9333 -#define XFS_IOMAP_WRITE_DIRECT(XFS_IOMAP_WRITE_DIRECT255,9468 -#define XFS_IOMAP_WRITE_DELAY(XFS_IOMAP_WRITE_DELAY258,9651 -#define XFS_IOMAP_WRITE_ALLOCATE(XFS_IOMAP_WRITE_ALLOCATE261,9819 -#define XFS_IOMAP_WRITE_UNWRITTEN(XFS_IOMAP_WRITE_UNWRITTEN264,9949 -#define XFS_LCK_MAP_SHARED(XFS_LCK_MAP_SHARED267,10087 -#define XFS_ILOCK(XFS_ILOCK269,10176 -#define XFS_ILOCK_NOWAIT(XFS_ILOCK_NOWAIT271,10259 -#define XFS_IUNLOCK(XFS_IUNLOCK273,10356 -#define XFS_ILOCK_DEMOTE(XFS_ILOCK_DEMOTE275,10442 -#define XFS_SIZE(XFS_SIZE277,10539 -#define XFS_IODONE(XFS_IODONE279,10613 -typedef struct xfs_mount xfs_mount283,10678 -#define m_dev 321,12637 -} xfs_mount_t;xfs_mount_t386,15877 -#define XFS_MOUNT_WSYNC 391,15922 -#define XFS_MOUNT_INO64 394,16058 -#define XFS_MOUNT_FS_SHUTDOWN 397,16184 -#define XFS_MOUNT_NOATIME 400,16329 -#define XFS_MOUNT_RETERR 402,16422 -#define XFS_MOUNT_NOALIGN 404,16510 -#define XFS_MOUNT_NORECOVERY 408,16690 -#define XFS_MOUNT_SHARED 409,16759 -#define XFS_MOUNT_DFLT_IOSIZE 410,16814 -#define XFS_MOUNT_OSYNCISOSYNC 411,16882 -#define XFS_MOUNT_32BITINODES 413,16993 -#define XFS_MOUNT_32BITINOOPT 415,17092 -#define XFS_MOUNT_NOUUID 416,17164 -#define XFS_MOUNT_NOLOGFLUSH 417,17231 -#define XFS_MOUNT_IDELETE 418,17271 -#define XFS_MOUNT_SWALLOC 419,17341 -#define XFS_READIO_LOG_LARGE 425,17474 -#define XFS_WRITEIO_LOG_LARGE 426,17506 -#define XFS_MAX_IO_LOG 432,17672 -#define XFS_MIN_IO_LOG 433,17709 -#define XFS_WSYNC_READIO_LOG 439,17844 -#define XFS_WSYNC_WRITEIO_LOG 440,17886 -#define XFS_MAXIOFFSET(XFS_MAXIOFFSET442,17930 -#define XFS_FORCED_SHUTDOWN(XFS_FORCED_SHUTDOWN444,17979 -#define xfs_force_shutdown(xfs_force_shutdown445,18051 -#define XFS_METADATA_IO_ERROR 451,18190 -#define XFS_LOG_IO_ERROR 452,18224 -#define XFS_FORCE_UMOUNT 453,18253 -#define XFS_CORRUPT_INCORE 454,18282 -#define XFS_SHUTDOWN_REMOTE_REQ 455,18353 -#define XFS_XSYNC_RELOC 460,18461 -#define XFS_MFSI_SECOND 465,18524 -#define XFS_MFSI_CLIENT 466,18590 -#define XFS_MFSI_NOUNLINK 467,18660 -#define XFS_MTOVFS(XFS_MTOVFS475,18913 -#define XFS_MTOVFS(XFS_MTOVFS477,18958 -#define XFS_BHVTOM(XFS_BHVTOM481,19115 -#define XFS_BHVTOM(XFS_BHVTOM483,19161 -#define XFS_VFSTOM(XFS_VFSTOM487,19321 -#define XFS_VFSTOM(XFS_VFSTOM489,19367 -#define XFS_DADDR_TO_AGNO(XFS_DADDR_TO_AGNO500,19666 -static inline xfs_agnumber_t XFS_DADDR_TO_AGNO(503,19737 -#define XFS_DADDR_TO_AGBNO(XFS_DADDR_TO_AGBNO513,20056 -static inline xfs_agblock_t XFS_DADDR_TO_AGBNO(516,20128 -typedef struct xfs_mod_sb xfs_mod_sb527,20383 -} xfs_mod_sb_t;xfs_mod_sb_t530,20528 -#define XFS_MOUNT_ILOCK(XFS_MOUNT_ILOCK532,20545 -#define XFS_MOUNT_IUNLOCK(XFS_MOUNT_IUNLOCK533,20609 -#define XFS_SB_LOCK(XFS_SB_LOCK534,20670 -#define XFS_SB_UNLOCK(XFS_SB_UNLOCK535,20728 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_buf_item.h,1122 -#define __XFS_BUF_ITEM_H__33,1365 -typedef struct xfs_buf_log_format_v1 xfs_buf_log_format_v142,1732 -} xfs_buf_log_format_v1_t;xfs_buf_log_format_v1_t51,2193 -typedef struct xfs_buf_log_format_t xfs_buf_log_format_t57,2371 -} xfs_buf_log_format_t;xfs_buf_log_format_t66,2831 -#define XFS_BLI_INODE_BUF 72,2969 -#define XFS_BLI_CANCEL 77,3123 -#define XFS_BLI_UDQUOT_BUF 82,3281 -#define XFS_BLI_GDQUOT_BUF 84,3349 -#define XFS_BLI_CHUNK 86,3382 -#define XFS_BLI_SHIFT 87,3409 -#define BIT_TO_WORD_SHIFT 88,3434 -#define NBWORD 89,3462 -#define XFS_BLI_HOLD 94,3539 -#define XFS_BLI_DIRTY 95,3566 -#define XFS_BLI_STALE 96,3594 -#define XFS_BLI_LOGGED 97,3622 -#define XFS_BLI_INODE_ALLOC_BUF 98,3651 -#define XFS_BLI_STALE_INODE 99,3688 -#define XFS_BLI_TRACE_SIZE 110,3844 -#define xfs_buf_item_trace(xfs_buf_item_trace114,3941 -typedef struct xfs_buf_log_item xfs_buf_log_item122,4192 -} xfs_buf_log_item_t;xfs_buf_log_item_t136,4733 -typedef struct xfs_buf_cancel xfs_buf_cancel142,4889 -} xfs_buf_cancel_t;xfs_buf_cancel_t147,5014 -#define xfs_buf_item_flush_log_debug(xfs_buf_item_flush_log_debug166,5593 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dfrag.c,21 -xfs_swapext(67,2058 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_cap.h,502 -#define __XFS_CAP_H__33,1360 -typedef __uint64_t xfs_cap_value_t;xfs_cap_value_t38,1406 -typedef struct xfs_cap_set xfs_cap_set40,1443 -} xfs_cap_set_t;xfs_cap_set_t44,1655 -#define SGI_CAP_FILE 47,1716 -#define SGI_CAP_FILE_SIZE 48,1752 -#define SGI_CAP_LINUX 49,1803 -#define SGI_CAP_LINUX_SIZE 50,1841 -#define _CAP_EXISTS 73,2512 -#define xfs_cap_vset(xfs_cap_vset76,2556 -#define xfs_cap_vget(xfs_cap_vget77,2599 -#define xfs_cap_vremove(xfs_cap_vremove78,2642 -#define _CAP_EXISTS 79,2683 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_rtalloc.c,869 -xfs_lowbit32(100,3223 -xfs_growfs_rt_alloc(112,3405 -xfs_rtallocate_extent_block(230,7015 -xfs_rtallocate_extent_exact(343,10191 -xfs_rtallocate_extent_near(422,12263 -xfs_rtallocate_extent_size(616,17334 -xfs_rtallocate_range(756,21079 -xfs_rtany_summary(833,23244 -xfs_rtbuf_get(878,24327 -xfs_rtcheck_alloc_range(923,25495 -xfs_rtcheck_bit(941,26029 -xfs_rtcheck_free_range(974,27068 -xfs_rtcheck_range(992,27586 -xfs_rtcopy_summary(1168,31773 -xfs_rtfind_back(1210,32925 -xfs_rtfind_forw(1385,37562 -xfs_rtfree_range(1555,41948 -xfs_rtget_summary(1631,44144 -xfs_rtmodify_range(1698,45778 -xfs_rtmodify_summary(1857,49666 -xfs_growfs_rt(1924,51298 -xfs_rtallocate_extent(2142,58290 -xfs_rtfree_extent(2228,60649 -xfs_rtmount_init(2291,62233 -xfs_rtmount_inodes(2342,63732 -xfs_rtpick_extent(2373,64617 -xfs_rtprint_range(2419,65940 -xfs_rtprint_summary(2437,66393 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_clnt.h,792 -#define __XFS_CLNT_H__33,1361 -struct xfs_mount_args xfs_mount_args56,2344 -#define XFSMNT_CHKLOG 72,2952 -#define XFSMNT_WSYNC 73,3002 -#define XFSMNT_INO64 75,3081 -#define XFSMNT_UQUOTA 77,3161 -#define XFSMNT_PQUOTA 78,3223 -#define XFSMNT_UQUOTAENF 79,3289 -#define XFSMNT_PQUOTAENF 81,3369 -#define XFSMNT_NOATIME 83,3457 -#define XFSMNT_NOALIGN 85,3542 -#define XFSMNT_RETERR 87,3627 -#define XFSMNT_NORECOVERY 88,3688 -#define XFSMNT_SHARED 90,3777 -#define XFSMNT_IOSIZE 91,3834 -#define XFSMNT_OSYNCISOSYNC 92,3896 -#define XFSMNT_32BITINODES 94,4007 -#define XFSMNT_GQUOTA 96,4104 -#define XFSMNT_GQUOTAENF 97,4167 -#define XFSMNT_NOUUID 99,4248 -#define XFSMNT_DMAPI 100,4303 -#define XFSMNT_NOLOGFLUSH 101,4360 -#define XFSMNT_IDELETE 102,4430 -#define XFSMNT_SWALLOC 103,4492 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_trace.c,328 -ktrace_t *xfs_dir2_trace_buf;53,1733 -xfs_dir2_trace_enter(59,1824 -xfs_dir2_trace_args(99,2736 -xfs_dir2_trace_args_b(113,3150 -xfs_dir2_trace_args_bb(129,3616 -xfs_dir2_trace_args_bibii(147,4138 -xfs_dir2_trace_args_db(167,4606 -xfs_dir2_trace_args_i(186,5127 -xfs_dir2_trace_args_s(203,5630 -xfs_dir2_trace_args_sb(218,6068 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir_leaf.c,1018 -xfs_dir_ino_validate(113,3501 -xfs_dir_shortform_create(145,4369 -xfs_dir_shortform_addname(176,5318 -xfs_dir_shortform_removename(226,6794 -xfs_dir_shortform_lookup(279,8210 -xfs_dir_shortform_to_leaf(326,9548 -xfs_dir_shortform_compare(415,11729 -xfs_dir_shortform_getdents(434,12097 -xfs_dir_shortform_replace(592,15909 -xfs_dir_leaf_to_shortform(641,17391 -xfs_dir_leaf_to_node(723,19763 -xfs_dir_leaf_create(785,21476 -xfs_dir_leaf_split(819,22525 -xfs_dir_leaf_add(873,23836 -xfs_dir_leaf_add_work(948,26186 -xfs_dir_leaf_compact(1027,29179 -xfs_dir_leaf_rebalance(1103,31349 -xfs_dir_leaf_figure_balance(1233,35571 -#define XFS_DIR_ABS(XFS_DIR_ABS1266,36568 -xfs_dir_leaf_toosmall(1330,38420 -xfs_dir_leaf_remove(1456,42248 -xfs_dir_leaf_unbalance(1604,47716 -xfs_dir_leaf_lookup_int(1707,51581 -xfs_dir_leaf_moveents(1786,54162 -xfs_dir_leaf_order(1898,58619 -xfs_dir_leaf_lasthash(1920,59461 -xfs_dir_leaf_getdents_int(1937,59942 -xfs_dir_put_dirent64_direct(2177,66406 -xfs_dir_put_dirent64_uio(2209,67083 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_da_btree.c,1327 -xfs_da_node_create(126,4067 -xfs_da_split(159,4928 -xfs_da_root_split(348,10268 -xfs_da_node_split(433,12695 -xfs_da_node_rebalance(521,15125 -xfs_da_node_add(631,18824 -xfs_da_join(680,20586 -xfs_da_root_join(779,23339 -xfs_da_node_toosmall(839,25420 -xfs_da_fixhashpath(962,28812 -xfs_da_node_remove(1017,30264 -xfs_da_node_unbalance(1058,31617 -xfs_da_node_lookup_int(1129,34486 -xfs_da_blk_link(1289,39083 -xfs_da_node_order(1389,42178 -xfs_da_node_lasthash(1411,43013 -xfs_da_blk_unlink(1428,43492 -xfs_da_path_shift(1509,46359 -xfs_da_hashname(1626,49916 -#define ROTL(ROTL1630,49983 -xfs_da_grow_inode(1672,50936 -xfs_da_swap_lastblock(1789,54094 -xfs_da_shrink_inode(1996,60744 -xfs_da_map_covers_blocks(2058,62211 -xfs_da_do_buf(2085,62704 -xfs_da_get_buf(2307,67827 -xfs_da_read_buf(2323,68145 -xfs_da_reada_buf(2339,68438 -xfs_da_log2_roundup(2359,68775 -kmem_zone_t *xfs_da_state_zone;2370,68924 -kmem_zone_t *xfs_dabuf_zone;2371,68991 -xfs_da_state_alloc(2378,69153 -xfs_da_state_kill_altpath(2387,69304 -xfs_da_state_free(2405,69666 -xfs_dabuf_t *xfs_dabuf_global_list;2423,70101 -lock_t xfs_dabuf_global_lock;2424,70137 -xfs_da_buf_make(2432,70238 -xfs_da_buf_clean(2493,71694 -xfs_da_buf_done(2515,72055 -xfs_da_log_buf(2548,72816 -xfs_da_brelse(2593,73999 -xfs_da_binval(2619,74587 -xfs_da_blkno(2645,75179 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_ag.h,3643 -#define __XFS_AG_H__33,1359 -#define XFS_AGF_MAGIC 45,1612 -#define XFS_AGI_MAGIC 46,1658 -#define XFS_AGF_VERSION 47,1704 -#define XFS_AGI_VERSION 48,1730 -#define XFS_AGF_GOOD_VERSION(XFS_AGF_GOOD_VERSION51,1863 -#define XFS_AGF_GOOD_VERSION(XFS_AGF_GOOD_VERSION53,1925 -#define XFS_AGI_GOOD_VERSION(XFS_AGI_GOOD_VERSION57,2097 -#define XFS_AGI_GOOD_VERSION(XFS_AGI_GOOD_VERSION59,2159 -#define XFS_BTNUM_AGF 66,2319 -typedef struct xfs_agfxfs_agf74,2581 -} xfs_agf_t;xfs_agf_t95,3425 -#define XFS_AGF_MAGICNUM 97,3439 -#define XFS_AGF_VERSIONNUM 98,3475 -#define XFS_AGF_SEQNO 99,3513 -#define XFS_AGF_LENGTH 100,3547 -#define XFS_AGF_ROOTS 101,3582 -#define XFS_AGF_LEVELS 102,3616 -#define XFS_AGF_FLFIRST 103,3651 -#define XFS_AGF_FLLAST 104,3687 -#define XFS_AGF_FLCOUNT 105,3722 -#define XFS_AGF_FREEBLKS 106,3758 -#define XFS_AGF_LONGEST 107,3794 -#define XFS_AGF_NUM_BITS 108,3830 -#define XFS_AGF_ALL_BITS 109,3858 -#define XFS_AGF_DADDR(XFS_AGF_DADDR112,3955 -#define XFS_AGF_BLOCK(XFS_AGF_BLOCK115,4135 -#define XFS_AGF_BLOCK(XFS_AGF_BLOCK117,4185 -#define XFS_AGI_UNLINKED_BUCKETS 123,4316 -typedef struct xfs_agixfs_agi125,4353 -} xfs_agi_t;xfs_agi_t150,5282 -#define XFS_AGI_MAGICNUM 152,5296 -#define XFS_AGI_VERSIONNUM 153,5332 -#define XFS_AGI_SEQNO 154,5370 -#define XFS_AGI_LENGTH 155,5404 -#define XFS_AGI_COUNT 156,5439 -#define XFS_AGI_ROOT 157,5473 -#define XFS_AGI_LEVEL 158,5506 -#define XFS_AGI_FREECOUNT 159,5540 -#define XFS_AGI_NEWINO 160,5577 -#define XFS_AGI_DIRINO 161,5612 -#define XFS_AGI_UNLINKED 162,5647 -#define XFS_AGI_NUM_BITS 163,5683 -#define XFS_AGI_ALL_BITS 164,5711 -#define XFS_AGI_DADDR(XFS_AGI_DADDR167,5808 -#define XFS_AGI_BLOCK(XFS_AGI_BLOCK170,5988 -#define XFS_AGI_BLOCK(XFS_AGI_BLOCK172,6038 -#define XFS_AGFL_DADDR(XFS_AGFL_DADDR179,6244 -#define XFS_AGFL_BLOCK(XFS_AGFL_BLOCK182,6427 -#define XFS_AGFL_BLOCK(XFS_AGFL_BLOCK184,6479 -#define XFS_AGFL_SIZE(XFS_AGFL_SIZE186,6551 -typedef struct xfs_agfl xfs_agfl188,6627 -} xfs_agfl_t;xfs_agfl_t190,6714 -typedef struct xfs_perag_busy xfs_perag_busy196,6871 -} xfs_perag_busy_t;xfs_perag_busy_t200,7021 -#define XFS_PAGB_NUM_SLOTS 209,7256 -#define XFS_PAGB_NUM_SLOTS 211,7314 -typedef struct xfs_peragxfs_perag214,7353 -} xfs_perag_t;xfs_perag_t231,8075 -#define XFS_AG_MAXLEVELS(XFS_AG_MAXLEVELS235,8200 -#define XFS_AG_MAXLEVELS(XFS_AG_MAXLEVELS237,8257 -#define XFS_MIN_FREELIST(XFS_MIN_FREELIST241,8439 -#define XFS_MIN_FREELIST(XFS_MIN_FREELIST243,8500 -#define XFS_MIN_FREELIST_PAG(XFS_MIN_FREELIST_PAG250,8822 -#define XFS_MIN_FREELIST_PAG(XFS_MIN_FREELIST_PAG252,8894 -#define XFS_MIN_FREELIST_RAW(XFS_MIN_FREELIST_RAW258,9197 -#define XFS_MIN_FREELIST_RAW(XFS_MIN_FREELIST_RAW260,9273 -#define XFS_AGB_TO_FSB(XFS_AGB_TO_FSB268,9564 -#define XFS_AGB_TO_FSB(XFS_AGB_TO_FSB270,9638 -#define XFS_FSB_TO_AGNO(XFS_FSB_TO_AGNO275,9887 -#define XFS_FSB_TO_AGNO(XFS_FSB_TO_AGNO277,9953 -#define XFS_FSB_TO_AGBNO(XFS_FSB_TO_AGBNO282,10191 -#define XFS_FSB_TO_AGBNO(XFS_FSB_TO_AGBNO284,10259 -#define XFS_AGB_TO_DADDR(XFS_AGB_TO_DADDR291,10534 -#define XFS_AGB_TO_DADDR(XFS_AGB_TO_DADDR293,10612 -#define XFS_AG_DADDR(XFS_AG_DADDR305,11021 -#define XFS_AG_DADDR(XFS_AG_DADDR307,11084 -#define XFS_BUF_TO_AGF(XFS_BUF_TO_AGF312,11272 -#define XFS_BUF_TO_AGF(XFS_BUF_TO_AGF314,11325 -#define XFS_BUF_TO_AGI(XFS_BUF_TO_AGI318,11500 -#define XFS_BUF_TO_AGI(XFS_BUF_TO_AGI320,11553 -#define XFS_BUF_TO_AGFL(XFS_BUF_TO_AGFL324,11731 -#define XFS_BUF_TO_AGFL(XFS_BUF_TO_AGFL326,11786 -#define XFS_AG_CHECK_DADDR(XFS_AG_CHECK_DADDR335,12146 -#define XFS_AG_CHECK_DADDR(XFS_AG_CHECK_DADDR337,12218 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_item.c,308 -xfs_trans_add_item(52,1940 -xfs_trans_free_item(147,4176 -xfs_trans_find_item(194,5720 -xfs_trans_first_item(215,6330 -xfs_trans_next_item(254,7223 -xfs_trans_free_items(304,8416 -xfs_trans_unlock_items(351,9523 -xfs_trans_unlock_chunk(405,10888 -xfs_trans_add_busy(456,12114 -xfs_trans_free_busy(539,14014 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_rtalloc.h,1385 -#define __XFS_RTALLOC_H__33,1364 -#define XFS_IS_REALTIME_INODE(XFS_IS_REALTIME_INODE38,1428 -#define XFS_MAX_RTEXTSIZE 41,1560 -#define XFS_DFL_RTEXTSIZE 42,1617 -#define XFS_MIN_RTEXTSIZE 43,1674 -#define XFS_NBBYLOG 48,1766 -#define XFS_WORDLOG 49,1806 -#define XFS_NBWORDLOG 50,1862 -#define XFS_NBWORD 51,1912 -#define XFS_WORDMASK 52,1952 -#define XFS_BLOCKSIZE(XFS_BLOCKSIZE54,1999 -#define XFS_BLOCKMASK(XFS_BLOCKMASK55,2051 -#define XFS_BLOCKWSIZE(XFS_BLOCKWSIZE56,2097 -#define XFS_BLOCKWMASK(XFS_BLOCKWMASK57,2145 -#define XFS_SUMOFFS(XFS_SUMOFFS62,2241 -#define XFS_SUMOFFSTOBLOCK(XFS_SUMOFFSTOBLOCK63,2318 -#define XFS_SUMPTR(XFS_SUMPTR65,2418 -#define XFS_BITTOBLOCK(XFS_BITTOBLOCK69,2561 -#define XFS_BLOCKTOBIT(XFS_BLOCKTOBIT70,2620 -#define XFS_BITTOWORD(XFS_BITTOWORD71,2679 -#define XFS_RTMIN(XFS_RTMIN74,2766 -#define XFS_RTMAX(XFS_RTMAX75,2813 -#define XFS_RTLOBIT(XFS_RTLOBIT77,2861 -#define XFS_RTHIBIT(XFS_RTHIBIT78,2900 -#define XFS_RTBLOCKLOG(XFS_RTBLOCKLOG81,2960 -#define XFS_RTBLOCKLOG(XFS_RTBLOCKLOG83,3009 -# define xfs_rtallocate_extent(xfs_rtallocate_extent177,5784 -# define xfs_rtfree_extent(xfs_rtfree_extent178,5849 -# define xfs_rtpick_extent(xfs_rtpick_extent179,5914 -# define xfs_growfs_rt(xfs_growfs_rt180,5979 -# define xfs_rtmount_init(xfs_rtmount_init181,6044 -# define xfs_rtmount_inodes(xfs_rtmount_inodes182,6121 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_error.h,3085 -#define __XFS_ERROR_H__33,1362 -#define prdev(prdev35,1387 -#define XFS_ERECOVER 38,1492 -#define XFS_ELOGSTAT 39,1544 -#define XFS_ENOLOGSPACE 40,1607 -#define XFS_ENOTSUP 41,1661 -#define XFS_ENOLSN 42,1713 -#define XFS_ENOTFOUND 43,1773 -#define XFS_ENOTXFS 44,1797 -#define XFS_ERROR_NTRAP 47,1858 -#define XFS_ERROR(XFS_ERROR50,1956 -#define XFS_ERROR(XFS_ERROR52,2001 -#define XFS_ERROR_REPORT(XFS_ERROR_REPORT79,2366 -#define XFS_CORRUPTION_ERROR(XFS_CORRUPTION_ERROR81,2473 -#define XFS_ERRLEVEL_OFF 85,2609 -#define XFS_ERRLEVEL_LOW 86,2636 -#define XFS_ERRLEVEL_HIGH 87,2663 -#define XFS_ERRTAG_NOERROR 94,2812 -#define XFS_ERRTAG_IFLUSH_1 95,2844 -#define XFS_ERRTAG_IFLUSH_2 96,2877 -#define XFS_ERRTAG_IFLUSH_3 97,2910 -#define XFS_ERRTAG_IFLUSH_4 98,2943 -#define XFS_ERRTAG_IFLUSH_5 99,2976 -#define XFS_ERRTAG_IFLUSH_6 100,3009 -#define XFS_ERRTAG_DA_READ_BUF 101,3042 -#define XFS_ERRTAG_BTREE_CHECK_LBLOCK 102,3078 -#define XFS_ERRTAG_BTREE_CHECK_SBLOCK 103,3120 -#define XFS_ERRTAG_ALLOC_READ_AGF 104,3162 -#define XFS_ERRTAG_IALLOC_READ_AGI 105,3201 -#define XFS_ERRTAG_ITOBP_INOTOBP 106,3241 -#define XFS_ERRTAG_IUNLINK 107,3279 -#define XFS_ERRTAG_IUNLINK_REMOVE 108,3312 -#define XFS_ERRTAG_DIR_INO_VALIDATE 109,3351 -#define XFS_ERRTAG_BULKSTAT_READ_CHUNK 110,3392 -#define XFS_ERRTAG_IODONE_IOERR 111,3436 -#define XFS_ERRTAG_STRATREAD_IOERR 112,3474 -#define XFS_ERRTAG_STRATCMPL_IOERR 113,3514 -#define XFS_ERRTAG_DIOWRITE_IOERR 114,3554 -#define XFS_ERRTAG_BMAPIFORMAT 115,3593 -#define XFS_ERRTAG_MAX 116,3630 -#define XFS_RANDOM_DEFAULT 121,3741 -#define XFS_RANDOM_IFLUSH_1 122,3775 -#define XFS_RANDOM_IFLUSH_2 123,3825 -#define XFS_RANDOM_IFLUSH_3 124,3875 -#define XFS_RANDOM_IFLUSH_4 125,3925 -#define XFS_RANDOM_IFLUSH_5 126,3975 -#define XFS_RANDOM_IFLUSH_6 127,4025 -#define XFS_RANDOM_DA_READ_BUF 128,4075 -#define XFS_RANDOM_BTREE_CHECK_LBLOCK 129,4128 -#define XFS_RANDOM_BTREE_CHECK_SBLOCK 130,4191 -#define XFS_RANDOM_ALLOC_READ_AGF 131,4250 -#define XFS_RANDOM_IALLOC_READ_AGI 132,4305 -#define XFS_RANDOM_ITOBP_INOTOBP 133,4361 -#define XFS_RANDOM_IUNLINK 134,4415 -#define XFS_RANDOM_IUNLINK_REMOVE 135,4464 -#define XFS_RANDOM_DIR_INO_VALIDATE 136,4519 -#define XFS_RANDOM_BULKSTAT_READ_CHUNK 137,4576 -#define XFS_RANDOM_IODONE_IOERR 138,4636 -#define XFS_RANDOM_STRATREAD_IOERR 139,4695 -#define XFS_RANDOM_STRATCMPL_IOERR 140,4756 -#define XFS_RANDOM_DIOWRITE_IOERR 141,4817 -#define XFS_RANDOM_BMAPIFORMAT 142,4877 -#define XFS_NUM_INJECT_ERROR 148,5088 -#define XFS_TEST_ERROR(XFS_TEST_ERROR151,5144 -#define XFS_TEST_ERROR(XFS_TEST_ERROR156,5292 -#define XFS_TEST_ERROR(XFS_TEST_ERROR169,5704 -#define xfs_errortag_add(xfs_errortag_add170,5753 -#define xfs_errortag_clearall(xfs_errortag_clearall171,5797 -#define XFS_NO_PTAG 180,6063 -#define XFS_PTAG_IFLUSH 181,6088 -#define XFS_PTAG_LOGRES 182,6126 -#define XFS_PTAG_AILDELETE 183,6164 -#define XFS_PTAG_ERROR_REPORT 184,6204 -#define XFS_PTAG_SHUTDOWN_CORRUPT 185,6247 -#define XFS_PTAG_SHUTDOWN_IOERROR 186,6293 -#define XFS_PTAG_SHUTDOWN_LOGERROR 187,6339 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_quota_priv.h,2862 -#define __XFS_QUOTA_PRIV_H__33,1367 -#define XFS_DQITER_MAP_SIZE 39,1538 -#define XFS_QM_DQPERBLK(XFS_QM_DQPERBLK42,1622 -#define XFS_ISLOCKED_INODE(XFS_ISLOCKED_INODE44,1686 -#define XFS_ISLOCKED_INODE_EXCL(XFS_ISLOCKED_INODE_EXCL46,1785 -#define XFS_DQ_IS_ADDEDTO_TRX(XFS_DQ_IS_ADDEDTO_TRX49,1877 -#define XFS_QI_MPLRECLAIMS(XFS_QI_MPLRECLAIMS51,1937 -#define XFS_QI_UQIP(XFS_QI_UQIP52,2003 -#define XFS_QI_GQIP(XFS_QI_GQIP53,2061 -#define XFS_QI_DQCHUNKLEN(XFS_QI_DQCHUNKLEN54,2119 -#define XFS_QI_BTIMELIMIT(XFS_QI_BTIMELIMIT55,2184 -#define XFS_QI_RTBTIMELIMIT(XFS_QI_RTBTIMELIMIT56,2249 -#define XFS_QI_ITIMELIMIT(XFS_QI_ITIMELIMIT57,2318 -#define XFS_QI_BWARNLIMIT(XFS_QI_BWARNLIMIT58,2383 -#define XFS_QI_IWARNLIMIT(XFS_QI_IWARNLIMIT59,2448 -#define XFS_QI_QOFFLOCK(XFS_QI_QOFFLOCK60,2513 -#define XFS_QI_MPL_LIST(XFS_QI_MPL_LIST62,2579 -#define XFS_QI_MPLLOCK(XFS_QI_MPLLOCK63,2638 -#define XFS_QI_MPLNEXT(XFS_QI_MPLNEXT64,2704 -#define XFS_QI_MPLNDQUOTS(XFS_QI_MPLNDQUOTS65,2770 -#define XQMLCK(XQMLCK67,2842 -#define XQMUNLCK(XQMUNLCK68,2899 -static inline int XQMISLCKD(71,2985 -#define XFS_DQ_HASH_LOCK(XFS_DQ_HASH_LOCK81,3137 -#define XFS_DQ_HASH_UNLOCK(XFS_DQ_HASH_UNLOCK82,3176 -#define XFS_DQ_IS_HASH_LOCKED(XFS_DQ_IS_HASH_LOCKED83,3219 -#define xfs_qm_mplist_lock(xfs_qm_mplist_lock85,3266 -#define xfs_qm_mplist_unlock(xfs_qm_mplist_unlock86,3329 -#define XFS_QM_IS_MPLIST_LOCKED(XFS_QM_IS_MPLIST_LOCKED87,3395 -#define xfs_qm_freelist_lock(xfs_qm_freelist_lock89,3466 -#define xfs_qm_freelist_unlock(xfs_qm_freelist_unlock90,3530 -#define XFS_QM_IS_FREELIST_LOCKED(XFS_QM_IS_FREELIST_LOCKED91,3598 -#define XFS_DQ_HASHVAL(XFS_DQ_HASHVAL96,3744 -#define XFS_DQ_HASH(XFS_DQ_HASH99,3867 -#define XFS_IS_DQTYPE_ON(XFS_IS_DQTYPE_ON104,4079 -#define XFS_IS_DQUOT_UNINITIALIZED(XFS_IS_DQUOT_UNINITIALIZED106,4194 -#define HL_PREVP 117,4767 -#define HL_NEXT 118,4805 -#define MPL_PREVP 119,4842 -#define MPL_NEXT 120,4879 -#define _LIST_REMOVE(_LIST_REMOVE123,4916 -#define _LIST_INSERT(_LIST_INSERT135,5196 -#define FOREACH_DQUOT_IN_MP(FOREACH_DQUOT_IN_MP147,5488 -#define FOREACH_DQUOT_IN_FREELIST(FOREACH_DQUOT_IN_FREELIST150,5602 -#define XQM_HASHLIST_INSERT(XQM_HASHLIST_INSERT154,5748 -#define XQM_FREELIST_INSERT(XQM_FREELIST_INSERT157,5829 -#define XQM_MPLIST_INSERT(XQM_MPLIST_INSERT160,5901 -#define XQM_HASHLIST_REMOVE(XQM_HASHLIST_REMOVE163,5982 -#define XQM_FREELIST_REMOVE(XQM_FREELIST_REMOVE165,6062 -#define XQM_MPLIST_REMOVE(XQM_MPLIST_REMOVE167,6127 -#define XFS_DQ_IS_LOGITEM_INITD(XFS_DQ_IS_LOGITEM_INITD171,6255 -#define XFS_QM_DQP_TO_DQACCT(XFS_QM_DQP_TO_DQACCT173,6331 -#define XFS_IS_SUSER_DQUOT(XFS_IS_SUSER_DQUOT176,6469 -#define XFS_PURGE_INODE(XFS_PURGE_INODE179,6553 -#define DQFLAGTO_TYPESTR(DQFLAGTO_TYPESTR188,6712 -#define DQFLAGTO_DIRTYSTR(DQFLAGTO_DIRTYSTR190,6838 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_qm_syscalls.c,1342 -# define qdprintk(qdprintk71,2156 -# define qdprintk(qdprintk73,2222 -xfs_qm_quotactl(99,3204 -xfs_qm_scall_quotaoff(222,6133 -xfs_qm_scall_trunc_qfiles(391,11377 -xfs_qm_scall_quotaon(432,12335 -xfs_qm_scall_getqstat(529,14673 -xfs_qm_scall_setqlim(592,16409 -xfs_qm_scall_getquota(734,20994 -xfs_qm_log_quotaoff_end(772,21841 -xfs_qm_log_quotaoff(805,22647 -xfs_qm_export_dquot(867,24246 -xfs_qm_import_qtype_flags(928,26414 -xfs_qm_export_qtype_flags(944,26757 -xfs_qm_import_flags(959,27083 -xfs_qm_export_flags(977,27419 -xfs_qm_dqrele_all_inodes(1002,28000 -xfs_dqhash_t *qmtest_udqtab;1107,30518 -xfs_dqhash_t *qmtest_gdqtab;1108,30547 -int qmtest_hashmask;1109,30576 -int qmtest_nfails;1110,30603 -mutex_t qcheck_lock;1111,30628 -#define DQTEST_HASHVAL(DQTEST_HASHVAL1113,30656 -#define DQTEST_HASH(DQTEST_HASH1117,30773 -#define DQTEST_LIST_PRINT(DQTEST_LIST_PRINT1123,30965 -typedef struct dqtest dqtest1134,31371 -} xfs_dqtest_t;xfs_dqtest_t1141,31686 -xfs_qm_hashinsert(1144,31715 -xfs_qm_dqtest_print(1156,31998 -xfs_qm_dqtest_failed(1171,32515 -xfs_dqtest_cmp2(1192,32996 -xfs_dqtest_cmp(1241,34452 -xfs_qm_internalqcheck_dqget(1258,34772 -xfs_qm_internalqcheck_get_dquots(1287,35362 -xfs_qm_internalqcheck_dqadjust(1302,35675 -xfs_qm_internalqcheck_adjust(1311,35825 -xfs_qm_internalqcheck(1383,37688 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_dquot.h,2057 -#define __XFS_DQUOT_H__33,1362 -typedef struct xfs_dqhash xfs_dqhash49,1957 -} xfs_dqhash_t;xfs_dqhash_t54,2140 -typedef struct xfs_dqlink xfs_dqlink56,2157 -} xfs_dqlink_t;xfs_dqlink_t59,2293 -typedef struct xfs_dqmarker xfs_dqmarker71,2637 -} xfs_dqmarker_t;xfs_dqmarker_t77,2937 -typedef struct xfs_dquot xfs_dquot82,2993 -} xfs_dquot_t;xfs_dquot_t105,4082 -#define dq_flnext 108,4099 -#define dq_flprev 109,4136 -#define dq_mplist 110,4173 -#define dq_hashlist 111,4210 -#define dq_flags 112,4251 -#define XFS_DQHOLD(XFS_DQHOLD114,4287 -#define XFS_ALL_QUOTA_ACCT 119,4365 -#define XFS_ALL_QUOTA_ENFD 120,4428 -#define XFS_ALL_QUOTA_CHKD 121,4491 -#define XFS_ALL_QUOTA_ACTV 122,4554 -#define XFS_ALL_QUOTA_ACCT_ENFD 123,4621 -#define XFS_IS_QUOTA_RUNNING(XFS_IS_QUOTA_RUNNING126,4727 -#define XFS_IS_UQUOTA_RUNNING(XFS_IS_UQUOTA_RUNNING127,4799 -#define XFS_IS_GQUOTA_RUNNING(XFS_IS_GQUOTA_RUNNING128,4868 -#define XFS_IS_QUOTA_ENFORCED(XFS_IS_QUOTA_ENFORCED133,4978 -#define XFS_IS_UQUOTA_ENFORCED(XFS_IS_UQUOTA_ENFORCED134,5050 -#define XFS_IS_GQUOTA_ENFORCED(XFS_IS_GQUOTA_ENFORCED135,5120 -XFS_DQ_IS_LOCKED(139,5222 -#define xfs_dqflock(xfs_dqflock155,5559 -#define xfs_dqfunlock(xfs_dqfunlock157,5675 -#define XFS_DQ_PINLOCK(XFS_DQ_PINLOCK161,5832 -#define XFS_DQ_PINUNLOCK(XFS_DQ_PINUNLOCK163,5926 -#define XFS_DQ_IS_FLUSH_LOCKED(XFS_DQ_IS_FLUSH_LOCKED166,6030 -#define XFS_DQ_IS_ON_FREELIST(XFS_DQ_IS_ON_FREELIST167,6101 -#define XFS_DQ_IS_DIRTY(XFS_DQ_IS_DIRTY168,6165 -#define XFS_QM_ISUDQ(XFS_QM_ISUDQ169,6227 -#define XFS_DQ_TO_QINF(XFS_DQ_TO_QINF170,6285 -#define XFS_DQ_TO_QIP(XFS_DQ_TO_QIP171,6343 -#define XFS_IS_THIS_QUOTA_OFF(XFS_IS_THIS_QUOTA_OFF175,6475 -#define DQUOT_TRACE_SIZE 183,6677 -#define DQUOT_KTRACE_ENTRY 184,6705 -#define xfs_dqtrace_entry_ino(xfs_dqtrace_entry_ino188,6831 -#define xfs_dqtrace_entry(xfs_dqtrace_entry190,6934 -#define xfs_dqtrace_entry(xfs_dqtrace_entry193,7036 -#define xfs_dqtrace_entry_ino(xfs_dqtrace_entry_ino194,7067 -#define xfs_qm_dqprint(xfs_qm_dqprint200,7181 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_qm_stats.h,262 -#define __XFS_QM_STATS_H__33,1360 -struct xqmstats xqmstats41,1477 -# define XQM_STATS_INC(XQM_STATS_INC54,1800 -# define XQM_STATS_INC(XQM_STATS_INC61,1932 -static __inline void xfs_qm_init_procfs(63,1980 -static __inline void xfs_qm_cleanup_procfs(64,2031 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_dquot.c,890 -xfs_buftarg_t *xfs_dqerror_target;90,2718 -int xfs_do_dqerror;91,2753 -int xfs_dqreq_num;92,2773 -int xfs_dqerror_mod 93,2792 -xfs_qm_dqinit(105,3184 -xfs_qm_dqdestroy(167,4597 -xfs_qm_dqinit_core(189,5044 -__xfs_dqtrace_entry(210,5492 -xfs_qm_adjust_dqlimits(258,6815 -xfs_qm_adjust_dqtimers(294,8306 -xfs_qm_dqwarn(379,11328 -xfs_qm_init_dquot_blk(441,12940 -xfs_qm_dqalloc(479,13764 -xfs_qm_dqtobp(573,16148 -xfs_qm_dqread(705,19244 -xfs_qm_idtodq(767,21226 -xfs_qm_dqlookup(838,23012 -xfs_qm_dqget(955,25936 -xfs_qm_dqput(1159,31265 -xfs_qm_dqrele(1232,32807 -xfs_qm_dqflush(1258,33532 -xfs_qm_dqflush_done(1370,36494 -xfs_qm_dqflock_nowait(1409,37415 -xfs_qm_dqlock_nowait(1424,37614 -xfs_dqlock(1431,37709 -xfs_dqunlock(1438,37787 -xfs_dqunlock_nonotify(1451,38073 -xfs_dqlock2(1458,38157 -xfs_qm_dqpurge(1492,38874 -xfs_qm_dqprint(1582,41432 -xfs_qm_dqflock_pushbuf_wait(1623,43189 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_dquot_item.h,243 -#define __XFS_DQUOT_ITEM_H__33,1367 -typedef struct xfs_dq_logitem xfs_dq_logitem40,1477 -} xfs_dq_logitem_t;xfs_dq_logitem_t49,1837 -typedef struct xfs_qoff_logitem xfs_qoff_logitem51,1858 -} xfs_qoff_logitem_t;xfs_qoff_logitem_t55,2073 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_qm_bhv.c,640 -#define MNTOPT_QUOTA 70,2142 -#define MNTOPT_NOQUOTA 71,2197 -#define MNTOPT_USRQUOTA 72,2246 -#define MNTOPT_GRPQUOTA 73,2306 -#define MNTOPT_UQUOTA 74,2367 -#define MNTOPT_GQUOTA 75,2430 -#define MNTOPT_UQUOTANOENF 76,2494 -#define MNTOPT_GQUOTANOENF 77,2569 -#define MNTOPT_QUOTANOENF 78,2645 -xfs_qm_parseargs(81,2723 -xfs_qm_showargs(137,4253 -xfs_qm_mount(165,4891 -xfs_qm_syncall(181,5242 -xfs_mount_reset_sbqflags(214,5982 -xfs_qm_newmount(251,6820 -xfs_qm_endmount(324,8852 -xfs_qm_dqrele_null(352,9452 -struct xfs_qmops xfs_qmcore_xfs 364,9612 -struct bhv_vfsops xfs_qmops 381,10227 -xfs_qm_init(392,10496 -xfs_qm_exit(404,10768 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_dquot_item.c,1240 -xfs_qm_dquot_logitem_size(77,2271 -xfs_qm_dquot_logitem_format(90,2511 -xfs_qm_dquot_logitem_pin(113,3085 -xfs_qm_dquot_logitem_unpin(133,3538 -xfs_qm_dquot_logitem_unpin_remove(152,3874 -xfs_qm_dquot_logitem_push(166,4251 -xfs_qm_dquot_logitem_committed(191,4930 -xfs_qm_dqunpin_wait(208,5291 -xfs_qm_dquot_logitem_pushbuf(243,6225 -xfs_qm_dquot_logitem_trylock(319,8177 -xfs_qm_dquot_logitem_unlock(377,9896 -xfs_qm_dquot_logitem_abort(407,10580 -xfs_qm_dquot_logitem_committing(420,10864 -struct xfs_item_ops xfs_dquot_item_ops 431,10995 -xfs_qm_dquot_logitem_init(459,12176 -xfs_qm_qoff_logitem_size(492,13226 -xfs_qm_qoff_logitem_format(505,13621 -xfs_qm_qoff_logitem_pin(521,13994 -xfs_qm_qoff_logitem_unpin(533,14173 -xfs_qm_qoff_logitem_unpin_remove(540,14273 -xfs_qm_qoff_logitem_trylock(550,14452 -xfs_qm_qoff_logitem_unlock(561,14676 -xfs_qm_qoff_logitem_committed(572,14912 -xfs_qm_qoff_logitem_abort(583,15192 -xfs_qm_qoff_logitem_push(594,15449 -xfs_qm_qoffend_logitem_committed(602,15543 -xfs_qm_qoff_logitem_committing(637,16861 -xfs_qm_qoffend_logitem_committing(644,16980 -struct xfs_item_ops xfs_qm_qoffend_logitem_ops 649,17075 -struct xfs_item_ops xfs_qm_qoff_logitem_ops 672,18092 -xfs_qm_qoff_logitem_init(696,19129 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_qm_stats.c,153 -struct xqmstats xqmstats;69,2120 -xfs_qm_read_xfsquota(72,2158 -xfs_qm_read_stats(103,2718 -xfs_qm_init_procfs(138,3364 -xfs_qm_cleanup_procfs(145,3552 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_qm.h,1259 -#define __XFS_QM_H__33,1359 -#define XFS_QM_SYNC_MAX_RESTARTS 52,1786 -#define XFS_QM_RECLAIM_MAX_RESTARTS 57,1865 -#define XFS_QM_DQFREE_RATIO 63,2008 -#define XFS_QM_NCSIZE_THRESHOLD 68,2094 -#define XFS_QM_HASHSIZE_LOW 69,2132 -#define XFS_QM_HASHSIZE_HIGH 70,2164 -#define XFS_QM_BIG_QCHECK_NBLKS 76,2294 -#define XFS_DQUOT_CLUSTER_SIZE_FSB 87,2742 -#define XFS_QM_MAX_DQCLUSTER_LOGSZ 92,2958 -typedef xfs_dqhash_t xfs_dqlist_t;xfs_dqlist_t94,2996 -typedef struct xfs_frlist xfs_frlist99,3153 -} xfs_frlist_t;xfs_frlist_t105,3326 -typedef struct xfs_qm xfs_qm110,3407 -} xfs_qm_t;xfs_qm_t120,3932 -typedef struct xfs_quotainfo xfs_quotainfo126,4057 -} xfs_quotainfo_t;xfs_quotainfo_t147,5236 -#define XFS_QM_TRANS_MAXDQS 163,5859 -typedef struct xfs_dquot_acct xfs_dquot_acct164,5890 -} xfs_dquot_acct_t;xfs_dquot_acct_t167,6020 -#define XFS_QM_BTIMELIMIT 173,6138 -#define XFS_QM_RTBTIMELIMIT 174,6201 -#define XFS_QM_ITIMELIMIT 175,6266 -#define XFS_QM_BWARNLIMIT 177,6330 -#define XFS_QM_IWARNLIMIT 178,6358 -#define XFS_QM_LOCK(XFS_QM_LOCK180,6387 -#define XFS_QM_UNLOCK(XFS_QM_UNLOCK181,6445 -#define XFS_QM_HOLD(XFS_QM_HOLD182,6500 -#define XFS_QM_RELE(XFS_QM_RELE183,6545 -#define xfs_qm_internalqcheck(xfs_qm_internalqcheck230,8467 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_trans_dquot.c,601 -xfs_trans_dqjoin(79,2358 -xfs_trans_log_dquot(114,3308 -xfs_trans_dup_dqinfo(135,3750 -xfs_trans_mod_dquot_byino(191,5025 -xfs_trans_get_dqtrx(219,5595 -xfs_trans_mod_dquot(245,6103 -xfs_trans_dqlockedjoin(346,8215 -xfs_trans_apply_dquot_deltas(372,8900 -xfs_trans_unreserve_and_mod_dquots(563,14225 -xfs_trans_dqresv(630,15741 -xfs_trans_reserve_quota_bydquots(786,20446 -xfs_trans_reserve_quota_nblks(841,21481 -xfs_trans_get_qoff_item(876,22274 -xfs_trans_log_quotaoff_item(903,22819 -xfs_trans_alloc_dqinfo(917,23087 -xfs_trans_free_dqinfo(924,23215 -xfs_dqtrxops_t xfs_trans_dquot_ops 933,23371 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/quota/xfs_qm.c,1871 -mutex_t xfs_Gqm_lock;79,2450 -struct xfs_qm *xfs_Gqm;80,2472 -kmem_zone_t *qm_dqzone;82,2497 -kmem_zone_t *qm_dqtrxzone;83,2521 -kmem_shaker_t xfs_qm_shaker;84,2548 -#define XQM_LIST_PRINT(XQM_LIST_PRINT98,2893 -#define XQM_LIST_PRINT(XQM_LIST_PRINT112,3420 -xfs_Gqm_init(120,3607 -xfs_qm_destroy(189,5283 -xfs_qm_hold_quotafs_ref(222,6225 -xfs_qm_rele_quotafs_ref(252,6932 -xfs_qm_mount_quotainit(303,8139 -xfs_qm_unmount_quotadestroy(336,9015 -xfs_qm_mount_quotas(351,9397 -xfs_qm_unmount_quotas(457,12004 -xfs_qm_dqflush_all(519,13483 -xfs_qm_detach_gdquots(579,14826 -xfs_qm_dqpurge_int(620,15747 -xfs_qm_dqpurge_all(696,17580 -xfs_qm_dqattach_one(715,17880 -xfs_qm_dqattach_grouphint(840,21082 -xfs_qm_dqattach(916,22761 -xfs_qm_dqdetach(1019,25187 -xfs_qm_sync(1049,25910 -xfs_qm_init_quotainfo(1159,28532 -xfs_qm_destroy_quotainfo(1280,32192 -xfs_qm_list_init(1318,33017 -xfs_qm_list_destroy(1330,33212 -xfs_qm_dqget_noattach(1343,33521 -xfs_qm_qino_alloc(1415,34999 -xfs_qm_reset_dqcounts(1497,37153 -xfs_qm_dqiter_bufs(1539,38342 -xfs_qm_dqiterate(1591,39684 -xfs_qm_quotacheck_dqadjust(1692,42295 -xfs_qm_get_rtblks(1726,43109 -xfs_qm_dqusage_adjust(1758,44051 -xfs_qm_quotacheck(1881,47544 -xfs_qm_init_quotainos(1985,50328 -xfs_qm_shake_freelist(2064,52274 -xfs_qm_shake(2209,56094 -xfs_qm_dqreclaim_one(2239,56792 -xfs_qm_dqalloc_incore(2359,59918 -xfs_qm_write_sb_changes(2403,60981 -xfs_qm_vop_dqalloc(2443,61959 -xfs_qm_vop_chown(2563,64629 -xfs_qm_vop_chown_reserve(2610,65569 -xfs_qm_vop_rename_dqattach(2681,67462 -xfs_qm_vop_dqattach_and_dqmod_newinode(2714,68030 -xfs_qm_freelist_init(2748,68856 -xfs_qm_freelist_destroy(2757,69044 -xfs_qm_freelist_insert(2783,69541 -xfs_qm_freelist_unlink(2794,69801 -xfs_qm_freelist_append(2807,70086 -xfs_qm_dqhashlock_nowait(2813,70211 -xfs_qm_freelist_lock_nowait(2823,70349 -xfs_qm_mplist_nowait(2833,70491 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_log.h,1222 -#define __XFS_LOG_H__33,1360 -#define LSN_FIELD_CYCLE(LSN_FIELD_CYCLE36,1419 -#define LSN_FIELD_BLOCK(LSN_FIELD_BLOCK37,1480 -#define LSN_FIELD_CYCLE(LSN_FIELD_CYCLE39,1547 -#define LSN_FIELD_BLOCK(LSN_FIELD_BLOCK40,1581 -#define CYCLE_LSN(CYCLE_LSN45,1645 -#define BLOCK_LSN(BLOCK_LSN46,1730 -#define CYCLE_LSN_NOCONV(CYCLE_LSN_NOCONV48,1888 -__attribute__(57,2229 -#define XFS_LSN_CMP_ARCH(XFS_LSN_CMP_ARCH72,2655 -#define XFS_LSN_CMP(XFS_LSN_CMP73,2711 -#define XFS_LSN_DIFF_ARCH(XFS_LSN_DIFF_ARCH74,2773 -#define XFS_LSN_DIFF(XFS_LSN_DIFF75,2830 -#define XFS_LOG_RECOVER 84,3004 -#define XFS_LOG_REL_PERM_RESERV 89,3068 -#define XFS_LOG_SLEEP 101,3462 -#define XFS_LOG_NOSLEEP 102,3489 -#define XFS_LOG_PERM_RESERV 103,3518 -#define XFS_LOG_RESV_ALL 104,3550 -#define XFS_LOG_SYNC 116,3874 -#define XFS_LOG_FORCE 117,3900 -#define XFS_LOG_URGE 118,3927 -#define XFS_TRANSACTION 124,3998 -#define XFS_VOLUME 125,4028 -#define XFS_LOG 126,4052 -typedef struct xfs_log_iovec xfs_log_iovec128,4076 -} xfs_log_iovec_t;xfs_log_iovec_t131,4210 -typedef void* xfs_log_ticket_t;xfs_log_ticket_t133,4230 -typedef struct xfs_log_callback xfs_log_callback139,4365 -} xfs_log_callback_t;xfs_log_callback_t143,4484 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_iomap.c,521 -xfs_iomap_enter_trace(74,2226 -xfs_iomap_map_trace(105,2977 -#define xfs_iomap_enter_trace(xfs_iomap_enter_trace138,4004 -#define xfs_iomap_map_trace(xfs_iomap_map_trace139,4058 -#define XFS_WRITEIO_ALIGN(XFS_WRITEIO_ALIGN142,4140 -#define XFS_STRAT_WRITE_IMAPS 144,4234 -#define XFS_WRITE_IMAPS 145,4266 -xfs_imap_to_bmap(148,4321 -xfs_iomap(202,5823 -xfs_flush_space(334,9136 -xfs_iomap_write_direct(366,9658 -xfs_iomap_write_delay(542,13835 -xfs_iomap_write_allocate(747,19729 -xfs_iomap_write_unwritten(900,23743 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_inode.h,3877 -#define __XFS_INODE_H__33,1362 -#define XFS_INLINE_EXTS 38,1468 -#define XFS_INLINE_DATA 39,1494 -typedef struct xfs_ifork xfs_ifork40,1521 -} xfs_ifork_t;xfs_ifork_t60,2300 -#define XFS_ICHGTIME_MOD 65,2352 -#define XFS_ICHGTIME_ACC 66,2420 -#define XFS_ICHGTIME_CHG 67,2482 -#define XFS_IFINLINE 72,2586 -#define XFS_IFEXTENTS 73,2643 -#define XFS_IFBROOT 74,2710 -#define XFS_IMAP_LOOKUP 79,2834 -#define XFS_MAX_INCORE_EXTENTS 84,2929 -#define XFS_ILOCK_KTRACE_SIZE 103,3257 -#define xfs_ilock_trace(xfs_ilock_trace107,3412 -typedef struct xfs_gap xfs_gap122,3971 -} xfs_gap_t;xfs_gap_t126,4080 -typedef struct dm_attrs_s dm_attrs_s128,4094 -} dm_attrs_t;dm_attrs_t132,4261 -typedef struct xfs_iocore xfs_iocore134,4276 -} xfs_iocore_t;xfs_iocore_t152,4739 -#define io_dmevmask 154,4756 -#define io_dmstate 155,4810 -#define XFS_IO_INODE(XFS_IO_INODE157,4864 -#define XFS_IO_DCXVN(XFS_IO_DCXVN158,4922 -#define XFS_IOCORE_RT 164,5013 -typedef struct xfs_ihash xfs_ihash179,5356 -} xfs_ihash_t;xfs_ihash_t183,5451 -#define XFS_BUCKETS(XFS_BUCKETS188,5516 -#define XFS_IHASH(XFS_IHASH189,5569 -typedef struct xfs_chashlist xfs_chashlist197,5814 -} xfs_chashlist_t;xfs_chashlist_t203,6032 -typedef struct xfs_chash xfs_chash205,6052 -} xfs_chash_t;xfs_chash_t208,6126 -} xfs_iptr_t;xfs_iptr_t241,7473 -typedef struct xfs_inode xfs_inode243,7488 -} xfs_inode_t;xfs_inode_t309,10052 -#define XFS_IFORK_PTR(XFS_IFORK_PTR319,10233 -#define XFS_IFORK_PTR(XFS_IFORK_PTR321,10288 -#define XFS_IFORK_Q(XFS_IFORK_Q325,10470 -#define XFS_IFORK_Q(XFS_IFORK_Q327,10518 -#define XFS_IFORK_DSIZE(XFS_IFORK_DSIZE331,10677 -#define XFS_IFORK_DSIZE(XFS_IFORK_DSIZE333,10732 -#define XFS_IFORK_ASIZE(XFS_IFORK_ASIZE337,10909 -#define XFS_IFORK_ASIZE(XFS_IFORK_ASIZE339,10964 -#define XFS_IFORK_SIZE(XFS_IFORK_SIZE343,11146 -#define XFS_IFORK_SIZE(XFS_IFORK_SIZE345,11203 -#define XFS_IFORK_FORMAT(XFS_IFORK_FORMAT349,11392 -#define XFS_IFORK_FORMAT(XFS_IFORK_FORMAT351,11453 -#define XFS_IFORK_FMT_SET(XFS_IFORK_FMT_SET355,11643 -#define XFS_IFORK_FMT_SET(XFS_IFORK_FMT_SET357,11709 -#define XFS_IFORK_NEXTENTS(XFS_IFORK_NEXTENTS361,11899 -#define XFS_IFORK_NEXTENTS(XFS_IFORK_NEXTENTS363,11963 -#define XFS_IFORK_NEXT_SET(XFS_IFORK_NEXT_SET367,12158 -#define XFS_IFORK_NEXT_SET(XFS_IFORK_NEXT_SET369,12226 -#define XFS_IGRIO 378,12355 -#define XFS_IUIOSZ 379,12422 -#define XFS_IQUIESCE 380,12496 -#define XFS_IRECLAIM 381,12575 -#define XFS_ISTALE 382,12654 -#define XFS_IRECLAIMABLE 383,12708 -#define XFS_IOLOCK_EXCL 388,12805 -#define XFS_IOLOCK_SHARED 389,12836 -#define XFS_ILOCK_EXCL 390,12868 -#define XFS_ILOCK_SHARED 391,12898 -#define XFS_IUNLOCK_NONOTIFY 392,12929 -#define XFS_EXTENT_TOKEN_RD 393,12964 -#define XFS_SIZE_TOKEN_RD 394,12998 -#define XFS_EXTSIZE_RD 395,13030 -#define XFS_WILLLEND 396,13094 -#define XFS_EXTENT_TOKEN_WR 397,13162 -#define XFS_SIZE_TOKEN_WR 398,13227 -#define XFS_EXTSIZE_WR 399,13294 -#define XFS_LOCK_MASK 402,13352 -#define XFS_IFLUSH_DELWRI_ELSE_SYNC 410,13550 -#define XFS_IFLUSH_DELWRI_ELSE_ASYNC 411,13588 -#define XFS_IFLUSH_SYNC 412,13627 -#define XFS_IFLUSH_ASYNC 413,13655 -#define XFS_IFLUSH_DELWRI 414,13683 -#define XFS_FLUSH_ALL 419,13749 -#define XFS_ITRUNC_DEFINITE 424,13820 -#define XFS_ITRUNC_MAYBE 425,13852 -#define XFS_ITOV(XFS_ITOV429,13980 -#define XFS_ITOV(XFS_ITOV431,14021 -#define XFS_ITOV_NULL(XFS_ITOV_NULL433,14079 -#define XFS_ITOBHV(XFS_ITOBHV436,14244 -#define XFS_ITOBHV(XFS_ITOBHV438,14289 -#define XFS_BHVTOI(XFS_BHVTOI442,14470 -#define XFS_BHVTOI(XFS_BHVTOI444,14518 -#define BHV_IS_XFS(BHV_IS_XFS449,14638 -#define XFS_CHASH(XFS_CHASH455,14782 -#define XFS_INHERIT_GID(XFS_INHERIT_GID462,15049 -#define xfs_ipincount(xfs_ipincount536,18105 -#define xfs_isize_check(xfs_isize_check541,18280 -#define xfs_inobp_check(xfs_inobp_check547,18425 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_acl.c,670 -kmem_zone_t *xfs_acl_zone;63,2265 -xfs_acl_vhasacl_access(70,2379 -xfs_acl_vhasacl_default(83,2615 -posix_acl_xattr_to_xfs(98,2894 -xfs_acl_entry_compare(162,4383 -posix_acl_xfs_to_xattr(178,4702 -xfs_acl_vget(222,5807 -xfs_acl_vremove(273,6713 -xfs_acl_vset(293,7048 -xfs_acl_iaccess(348,8150 -xfs_acl_allow_set(383,8853 -xfs_acl_find_any_exec(412,9564 -xfs_acl_capability_check(450,10687 -xfs_acl_access(475,11393 -xfs_acl_invalid(578,13789 -xfs_acl_get_endian(637,14858 -xfs_acl_get_attr(655,15308 -xfs_acl_set_attr(678,15787 -xfs_acl_vtoacl(711,16628 -xfs_acl_inherit(750,17565 -xfs_acl_setmode(806,19116 -xfs_acl_sync_mode(896,22131 -xfs_acl_filter_mode(940,23197 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_data.c,373 -xfs_dir2_data_check(71,2180 -xfs_dir2_data_freefind(197,6736 -xfs_dir2_data_freeinsert(265,9151 -xfs_dir2_data_freeremove(308,10351 -xfs_dir2_data_freescan(346,11335 -xfs_dir2_data_init(409,13236 -xfs_dir2_data_log_entry(470,15032 -xfs_dir2_data_log_header(489,15585 -xfs_dir2_data_log_unused(506,16037 -xfs_dir2_data_make_free(536,16988 -xfs_dir2_data_use_free(713,23110 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_sf.h,2334 -#define __XFS_DIR2_SF_H__33,1364 -#define XFS_DIR2_SF_MAX_SIZE 53,1740 -typedef struct { __uint8_t i[8]; } xfs_dir2_ino8_t;xfs_dir2_ino8_t60,1910 -#define XFS_DIR2_SF_GET_INO8_ARCH(XFS_DIR2_SF_GET_INO8_ARCH62,1963 -#define XFS_DIR2_SF_GET_INO8(XFS_DIR2_SF_GET_INO864,2048 -typedef struct { __uint8_t i[4]; } xfs_dir2_ino4_t;xfs_dir2_ino4_t72,2276 -#define XFS_DIR2_SF_GET_INO4_ARCH(XFS_DIR2_SF_GET_INO4_ARCH73,2328 -#define XFS_DIR2_SF_GET_INO4(XFS_DIR2_SF_GET_INO475,2414 -} xfs_dir2_inou_t;xfs_dir2_inou_t81,2562 -#define XFS_DIR2_MAX_SHORT_INUM 82,2581 -typedef struct { __uint8_t i[2]; } xfs_dir2_sf_off_t;xfs_dir2_sf_off_t88,2803 -typedef struct xfs_dir2_sf_hdr xfs_dir2_sf_hdr98,3158 -} xfs_dir2_sf_hdr_t;xfs_dir2_sf_hdr_t102,3343 -typedef struct xfs_dir2_sf_entry xfs_dir2_sf_entry104,3365 -} xfs_dir2_sf_entry_t;xfs_dir2_sf_entry_t109,3599 -typedef struct xfs_dir2_sf xfs_dir2_sf111,3623 -} xfs_dir2_sf_t;xfs_dir2_sf_t114,3754 -#define XFS_DIR2_SF_HDR_SIZE(XFS_DIR2_SF_HDR_SIZE118,3880 -#define XFS_DIR2_SF_HDR_SIZE(XFS_DIR2_SF_HDR_SIZE120,3954 -#define XFS_DIR2_SF_INUMBERP(XFS_DIR2_SF_INUMBERP128,4265 -#define XFS_DIR2_SF_INUMBERP(XFS_DIR2_SF_INUMBERP130,4333 -#define XFS_DIR2_SF_GET_INUMBER_ARCH(XFS_DIR2_SF_GET_INUMBER_ARCH137,4615 -#define XFS_DIR2_SF_GET_INUMBER_ARCH(XFS_DIR2_SF_GET_INUMBER_ARCH141,4725 -#define XFS_DIR2_SF_PUT_INUMBER_ARCH(XFS_DIR2_SF_PUT_INUMBER_ARCH150,5129 -#define XFS_DIR2_SF_PUT_INUMBER_ARCH(XFS_DIR2_SF_PUT_INUMBER_ARCH153,5240 -#define XFS_DIR2_SF_GET_OFFSET_ARCH(XFS_DIR2_SF_GET_OFFSET_ARCH165,5680 -#define XFS_DIR2_SF_GET_OFFSET_ARCH(XFS_DIR2_SF_GET_OFFSET_ARCH168,5775 -#define XFS_DIR2_SF_PUT_OFFSET_ARCH(XFS_DIR2_SF_PUT_OFFSET_ARCH175,6066 -#define XFS_DIR2_SF_PUT_OFFSET_ARCH(XFS_DIR2_SF_PUT_OFFSET_ARCH178,6169 -#define XFS_DIR2_SF_ENTSIZE_BYNAME(XFS_DIR2_SF_ENTSIZE_BYNAME184,6421 -#define XFS_DIR2_SF_ENTSIZE_BYNAME(XFS_DIR2_SF_ENTSIZE_BYNAME187,6510 -#define XFS_DIR2_SF_ENTSIZE_BYENTRY(XFS_DIR2_SF_ENTSIZE_BYENTRY195,6895 -#define XFS_DIR2_SF_ENTSIZE_BYENTRY(XFS_DIR2_SF_ENTSIZE_BYENTRY198,6988 -#define XFS_DIR2_SF_FIRSTENTRY(XFS_DIR2_SF_FIRSTENTRY206,7367 -#define XFS_DIR2_SF_FIRSTENTRY(XFS_DIR2_SF_FIRSTENTRY208,7437 -#define XFS_DIR2_SF_NEXTENTRY(XFS_DIR2_SF_NEXTENTRY216,7768 -#define XFS_DIR2_SF_NEXTENTRY(XFS_DIR2_SF_NEXTENTRY218,7847 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans.h,11101 -#define __XFS_TRANS_H__33,1362 -typedef struct xfs_trans_header xfs_trans_header44,1774 -} xfs_trans_header_t;xfs_trans_header_t49,1990 -#define XFS_TRANS_HEADER_MAGIC 51,2013 -#define XFS_LI_5_3_BUF 56,2093 -#define XFS_LI_5_3_INODE 57,2161 -#define XFS_LI_EFI 58,2221 -#define XFS_LI_EFD 59,2248 -#define XFS_LI_IUNLINK 60,2275 -#define XFS_LI_6_1_INODE 61,2306 -#define XFS_LI_6_1_BUF 62,2370 -#define XFS_LI_INODE 63,2428 -#define XFS_LI_BUF 64,2498 -#define XFS_LI_DQUOT 65,2566 -#define XFS_LI_QUOTAOFF 66,2595 -#define XFS_TRANS_SETATTR_NOT_SIZE 71,2696 -#define XFS_TRANS_SETATTR_SIZE 72,2733 -#define XFS_TRANS_INACTIVE 73,2767 -#define XFS_TRANS_CREATE 74,2797 -#define XFS_TRANS_CREATE_TRUNC 75,2825 -#define XFS_TRANS_TRUNCATE_FILE 76,2859 -#define XFS_TRANS_REMOVE 77,2894 -#define XFS_TRANS_LINK 78,2922 -#define XFS_TRANS_RENAME 79,2949 -#define XFS_TRANS_MKDIR 80,2977 -#define XFS_TRANS_RMDIR 81,3006 -#define XFS_TRANS_SYMLINK 82,3035 -#define XFS_TRANS_SET_DMATTRS 83,3065 -#define XFS_TRANS_GROWFS 84,3099 -#define XFS_TRANS_STRAT_WRITE 85,3128 -#define XFS_TRANS_DIOSTRAT 86,3162 -#define XFS_TRANS_WRITE_SYNC 87,3193 -#define XFS_TRANS_WRITEID 88,3226 -#define XFS_TRANS_ADDAFORK 89,3256 -#define XFS_TRANS_ATTRINVAL 90,3287 -#define XFS_TRANS_ATRUNCATE 91,3319 -#define XFS_TRANS_ATTR_SET 92,3351 -#define XFS_TRANS_ATTR_RM 93,3382 -#define XFS_TRANS_ATTR_FLAG 94,3412 -#define XFS_TRANS_CLEAR_AGI_BUCKET 95,3444 -#define XFS_TRANS_QM_SBCHANGE 96,3482 -#define XFS_TRANS_DUMMY1 101,3643 -#define XFS_TRANS_DUMMY2 102,3672 -#define XFS_TRANS_QM_QUOTAOFF 103,3701 -#define XFS_TRANS_QM_DQALLOC 104,3735 -#define XFS_TRANS_QM_SETQLIM 105,3768 -#define XFS_TRANS_QM_DQCLUSTER 106,3801 -#define XFS_TRANS_QM_QINOCREATE 107,3836 -#define XFS_TRANS_QM_QUOTAOFF_END 108,3872 -#define XFS_TRANS_SB_UNIT 109,3909 -#define XFS_TRANS_FSYNC_TS 110,3939 -#define XFS_TRANS_GROWFSRT_ALLOC 111,3970 -#define XFS_TRANS_GROWFSRT_ZERO 112,4006 -#define XFS_TRANS_GROWFSRT_FREE 113,4042 -#define XFS_TRANS_SWAPEXT 114,4078 -typedef struct xfs_ail_entry xfs_ail_entry132,4450 -} xfs_ail_entry_t;xfs_ail_entry_t135,4591 -typedef struct xfs_ail_ticket xfs_ail_ticket142,4777 -} xfs_ail_ticket_t;xfs_ail_ticket_t147,4990 -typedef struct xfs_log_item xfs_log_item150,5012 -} xfs_log_item_t;xfs_log_item_t163,5554 -#define XFS_LI_IN_AIL 165,5573 -#define XFS_LI_ABORTED 166,5599 -typedef struct xfs_item_ops xfs_item_ops168,5627 -} xfs_item_ops_t;xfs_item_ops_t181,6207 -#define IOP_SIZE(IOP_SIZE183,6226 -#define IOP_FORMAT(IOP_FORMAT184,6278 -#define IOP_PIN(IOP_PIN185,6340 -#define IOP_UNPIN(IOP_UNPIN186,6390 -#define IOP_UNPIN_REMOVE(IOP_UNPIN_REMOVE187,6457 -#define IOP_TRYLOCK(IOP_TRYLOCK188,6531 -#define IOP_UNLOCK(IOP_UNLOCK189,6589 -#define IOP_COMMITTED(IOP_COMMITTED190,6645 -#define IOP_PUSH(IOP_PUSH191,6716 -#define IOP_ABORT(IOP_ABORT192,6768 -#define IOP_PUSHBUF(IOP_PUSHBUF193,6822 -#define IOP_COMMITTING(IOP_COMMITTING194,6880 -#define XFS_ITEM_SUCCESS 199,7010 -#define XFS_ITEM_PINNED 200,7037 -#define XFS_ITEM_LOCKED 201,7064 -#define XFS_ITEM_FLUSHING 202,7091 -#define XFS_ITEM_PUSHBUF 203,7119 -typedef struct xfs_log_item_desc xfs_log_item_desc214,7482 -} xfs_log_item_desc_t;xfs_log_item_desc_t219,7615 -#define XFS_LID_DIRTY 221,7639 -#define XFS_LID_PINNED 222,7666 -#define XFS_LID_BUF_STALE 223,7694 -#define XFS_LIC_NUM_SLOTS 231,7988 -typedef struct xfs_log_item_chunk xfs_log_item_chunk232,8017 -} xfs_log_item_chunk_t;xfs_log_item_chunk_t237,8187 -#define XFS_LIC_MAX_SLOT 239,8212 -#define XFS_LIC_FREEMASK 240,8261 -#define XFS_LIC_INIT(XFS_LIC_INIT251,8699 -#define XFS_LIC_INIT(XFS_LIC_INIT253,8747 -#define XFS_LIC_INIT_SLOT(XFS_LIC_INIT_SLOT257,8941 -#define XFS_LIC_INIT_SLOT(XFS_LIC_INIT_SLOT259,9010 -#define XFS_LIC_VACANCY(XFS_LIC_VACANCY264,9224 -#define XFS_LIC_VACANCY(XFS_LIC_VACANCY266,9279 -#define XFS_LIC_ALL_FREE(XFS_LIC_ALL_FREE270,9467 -#define XFS_LIC_ALL_FREE(XFS_LIC_ALL_FREE272,9524 -#define XFS_LIC_ARE_ALL_FREE(XFS_LIC_ARE_ALL_FREE276,9718 -#define XFS_LIC_ARE_ALL_FREE(XFS_LIC_ARE_ALL_FREE278,9782 -#define XFS_LIC_ISFREE(XFS_LIC_ISFREE283,10005 -#define XFS_LIC_ISFREE(XFS_LIC_ISFREE285,10067 -#define XFS_LIC_CLAIM(XFS_LIC_CLAIM289,10257 -#define XFS_LIC_CLAIM(XFS_LIC_CLAIM291,10318 -#define XFS_LIC_RELSE(XFS_LIC_RELSE295,10510 -#define XFS_LIC_RELSE(XFS_LIC_RELSE297,10571 -#define XFS_LIC_SLOT(XFS_LIC_SLOT301,10774 -#define XFS_LIC_SLOT(XFS_LIC_SLOT303,10833 -#define XFS_LIC_DESC_TO_SLOT(XFS_LIC_DESC_TO_SLOT307,11018 -#define XFS_LIC_DESC_TO_SLOT(XFS_LIC_DESC_TO_SLOT309,11082 -#define XFS_LIC_DESC_TO_CHUNK(XFS_LIC_DESC_TO_CHUNK320,11591 -#define XFS_LIC_DESC_TO_CHUNK(XFS_LIC_DESC_TO_CHUNK322,11657 -typedef struct xfs_log_busy_slot xfs_log_busy_slot335,12094 -} xfs_log_busy_slot_t;xfs_log_busy_slot_t338,12201 -#define XFS_LBC_NUM_SLOTS 340,12225 -typedef struct xfs_log_busy_chunk xfs_log_busy_chunk341,12254 -} xfs_log_busy_chunk_t;xfs_log_busy_chunk_t346,12468 -#define XFS_LBC_MAX_SLOT 348,12493 -#define XFS_LBC_FREEMASK 349,12542 -#define XFS_LBC_INIT(XFS_LBC_INIT351,12600 -#define XFS_LBC_CLAIM(XFS_LBC_CLAIM352,12661 -#define XFS_LBC_SLOT(XFS_LBC_SLOT353,12728 -#define XFS_LBC_VACANCY(XFS_LBC_VACANCY354,12787 -#define XFS_LBC_ISFREE(XFS_LBC_ISFREE355,12853 -typedef void (*xfs_trans_callback_t)xfs_trans_callback_t361,13057 -typedef struct xfs_trans xfs_trans366,13197 -} xfs_trans_t;xfs_trans_t412,15619 -#define XFS_TRANS_MAGIC 417,15661 -#define XFS_TRANS_DIRTY 421,15740 -#define XFS_TRANS_SB_DIRTY 422,15805 -#define XFS_TRANS_PERM_LOG_RES 423,15866 -#define XFS_TRANS_SYNC 424,15938 -#define XFS_TRANS_DQ_DIRTY 425,15997 -#define XFS_TRANS_RESERVE 426,16067 -#define XFS_TRANS_NOSLEEP 431,16182 -#define XFS_TRANS_WAIT 432,16213 -#define XFS_TRANS_RELEASE_LOG_RES 433,16242 -#define XFS_TRANS_ABORT 434,16280 -#define XFS_TRANS_SB_ICOUNT 439,16356 -#define XFS_TRANS_SB_IFREE 440,16396 -#define XFS_TRANS_SB_FDBLOCKS 441,16435 -#define XFS_TRANS_SB_RES_FDBLOCKS 442,16477 -#define XFS_TRANS_SB_FREXTENTS 443,16522 -#define XFS_TRANS_SB_RES_FREXTENTS 444,16565 -#define XFS_TRANS_SB_DBLOCKS 445,16611 -#define XFS_TRANS_SB_AGCOUNT 446,16652 -#define XFS_TRANS_SB_IMAXPCT 447,16693 -#define XFS_TRANS_SB_REXTSIZE 448,16734 -#define XFS_TRANS_SB_RBMBLOCKS 449,16776 -#define XFS_TRANS_SB_RBLOCKS 450,16819 -#define XFS_TRANS_SB_REXTENTS 451,16860 -#define XFS_TRANS_SB_REXTSLOG 452,16902 -#define XFS_ALLOCFREE_LOG_RES(XFS_ALLOCFREE_LOG_RES478,17912 -#define XFS_ALLOCFREE_LOG_COUNT(XFS_ALLOCFREE_LOG_COUNT480,18016 -#define XFS_DIROP_LOG_RES(XFS_DIROP_LOG_RES490,18435 -#define XFS_DIROP_LOG_COUNT(XFS_DIROP_LOG_COUNT493,18593 -#define XFS_CALC_WRITE_LOG_RES(XFS_CALC_WRITE_LOG_RES511,19453 -#define XFS_WRITE_LOG_RES(XFS_WRITE_LOG_RES525,19974 -#define XFS_CALC_ITRUNCATE_LOG_RES(XFS_CALC_ITRUNCATE_LOG_RES540,20705 -#define XFS_ITRUNCATE_LOG_RES(XFS_ITRUNCATE_LOG_RES555,21260 -#define XFS_CALC_RENAME_LOG_RES(XFS_CALC_RENAME_LOG_RES569,21937 -#define XFS_RENAME_LOG_RES(XFS_RENAME_LOG_RES580,22295 -#define XFS_CALC_LINK_LOG_RES(XFS_CALC_LINK_LOG_RES594,22964 -#define XFS_LINK_LOG_RES(XFS_LINK_LOG_RES606,23323 -#define XFS_CALC_REMOVE_LOG_RES(XFS_CALC_REMOVE_LOG_RES620,24025 -#define XFS_REMOVE_LOG_RES(XFS_REMOVE_LOG_RES632,24398 -#define XFS_CALC_SYMLINK_LOG_RES(XFS_CALC_SYMLINK_LOG_RES648,25093 -#define XFS_SYMLINK_LOG_RES(XFS_SYMLINK_LOG_RES663,25591 -#define XFS_CALC_CREATE_LOG_RES(XFS_CALC_CREATE_LOG_RES680,26353 -#define XFS_CREATE_LOG_RES(XFS_CREATE_LOG_RES695,26868 -#define XFS_CALC_MKDIR_LOG_RES(XFS_CALC_MKDIR_LOG_RES700,27002 -#define XFS_MKDIR_LOG_RES(XFS_MKDIR_LOG_RES702,27066 -#define XFS_CALC_IFREE_LOG_RES(XFS_CALC_IFREE_LOG_RES714,27548 -#define XFS_IFREE_LOG_RES(XFS_IFREE_LOG_RES726,27930 -#define XFS_CALC_ICHANGE_LOG_RES(XFS_CALC_ICHANGE_LOG_RES732,28133 -#define XFS_ICHANGE_LOG_RES(XFS_ICHANGE_LOG_RES735,28236 -#define XFS_CALC_GROWDATA_LOG_RES(XFS_CALC_GROWDATA_LOG_RES743,28407 -#define XFS_GROWDATA_LOG_RES(XFS_GROWDATA_LOG_RES748,28564 -#define XFS_CALC_GROWRTALLOC_LOG_RES(XFS_CALC_GROWRTALLOC_LOG_RES760,29050 -#define XFS_GROWRTALLOC_LOG_RES(XFS_GROWRTALLOC_LOG_RES769,29351 -#define XFS_CALC_GROWRTZERO_LOG_RES(XFS_CALC_GROWRTZERO_LOG_RES776,29594 -#define XFS_GROWRTZERO_LOG_RES(XFS_GROWRTZERO_LOG_RES779,29670 -#define XFS_CALC_GROWRTFREE_LOG_RES(XFS_CALC_GROWRTFREE_LOG_RES791,30046 -#define XFS_GROWRTFREE_LOG_RES(XFS_GROWRTFREE_LOG_RES798,30218 -#define XFS_CALC_SWRITE_LOG_RES(XFS_CALC_SWRITE_LOG_RES804,30375 -#define XFS_SWRITE_LOG_RES(XFS_SWRITE_LOG_RES807,30447 -#define XFS_FSYNC_TS_LOG_RES(XFS_FSYNC_TS_LOG_RES813,30629 -#define XFS_CALC_WRITEID_LOG_RES(XFS_CALC_WRITEID_LOG_RES819,30784 -#define XFS_WRITEID_LOG_RES(XFS_WRITEID_LOG_RES822,30857 -#define XFS_CALC_ADDAFORK_LOG_RES(XFS_CALC_ADDAFORK_LOG_RES832,31180 -#define XFS_ADDAFORK_LOG_RES(XFS_ADDAFORK_LOG_RES844,31579 -#define XFS_CALC_ATTRINVAL_LOG_RES(XFS_CALC_ATTRINVAL_LOG_RES857,32163 -#define XFS_ATTRINVAL_LOG_RES(XFS_ATTRINVAL_LOG_RES868,32554 -#define XFS_CALC_ATTRSET_LOG_RES(XFS_CALC_ATTRSET_LOG_RES880,32987 -#define XFS_ATTRSET_LOG_RES(XFS_ATTRSET_LOG_RES886,33173 -#define XFS_CALC_ATTRRM_LOG_RES(XFS_CALC_ATTRRM_LOG_RES903,33963 -#define XFS_ATTRRM_LOG_RES(XFS_ATTRRM_LOG_RES915,34423 -#define XFS_CALC_CLEAR_AGI_BUCKET_LOG_RES(XFS_CALC_CLEAR_AGI_BUCKET_LOG_RES920,34549 -#define XFS_CLEAR_AGI_BUCKET_LOG_RES(XFS_CLEAR_AGI_BUCKET_LOG_RES923,34630 -#define XFS_DEFAULT_LOG_COUNT 929,34745 -#define XFS_DEFAULT_PERM_LOG_COUNT 930,34778 -#define XFS_ITRUNCATE_LOG_COUNT 931,34815 -#define XFS_INACTIVE_LOG_COUNT 932,34850 -#define XFS_CREATE_LOG_COUNT 933,34884 -#define XFS_MKDIR_LOG_COUNT 934,34916 -#define XFS_SYMLINK_LOG_COUNT 935,34947 -#define XFS_REMOVE_LOG_COUNT 936,34980 -#define XFS_LINK_LOG_COUNT 937,35012 -#define XFS_RENAME_LOG_COUNT 938,35042 -#define XFS_WRITE_LOG_COUNT 939,35074 -#define XFS_ADDAFORK_LOG_COUNT 940,35105 -#define XFS_ATTRINVAL_LOG_COUNT 941,35139 -#define XFS_ATTRSET_LOG_COUNT 942,35174 -#define XFS_ATTRRM_LOG_COUNT 943,35207 -#define XFS_AGF_REF 950,35414 -#define XFS_AGI_REF 951,35437 -#define XFS_AGFL_REF 952,35460 -#define XFS_INO_BTREE_REF 953,35484 -#define XFS_ALLOC_BTREE_REF 954,35512 -#define XFS_BMAP_BTREE_REF 955,35542 -#define XFS_DIR_BTREE_REF 956,35571 -#define XFS_ATTR_BTREE_REF 957,35599 -#define XFS_INO_REF 958,35628 -#define XFS_DQUOT_REF 959,35651 -#define xfs_trans_get_log_res(xfs_trans_get_log_res966,35780 -#define xfs_trans_get_log_count(xfs_trans_get_log_count967,35832 -#define xfs_trans_get_block_res(xfs_trans_get_block_res968,35888 -#define xfs_trans_set_sync(xfs_trans_set_sync969,35942 -#define xfs_trans_agblocks_delta(xfs_trans_agblocks_delta972,36022 -#define xfs_trans_agflist_delta(xfs_trans_agflist_delta973,36101 -#define xfs_trans_agbtree_delta(xfs_trans_agbtree_delta974,36176 -#define xfs_trans_agblocks_delta(xfs_trans_agblocks_delta976,36257 -#define xfs_trans_agflist_delta(xfs_trans_agflist_delta977,36297 -#define xfs_trans_agbtree_delta(xfs_trans_agbtree_delta978,36336 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_itable.c,174 -#define useracc(useracc59,1922 -#define unuseracc(unuseracc60,1969 -xfs_bulkstat_one(68,2130 -xfs_bulkstat(227,7057 -xfs_bulkstat_single(633,19455 -xfs_inumbers(681,20866 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_alloc_btree.c,625 -xfs_alloc_delrec(82,2796 -xfs_alloc_insrec(604,20354 -xfs_alloc_log_block(837,27492 -xfs_alloc_log_keys(861,28225 -xfs_alloc_log_ptrs(883,28978 -xfs_alloc_log_recs(905,29731 -xfs_alloc_lookup(940,30896 -xfs_alloc_lshift(1157,36769 -xfs_alloc_newroot(1297,41159 -xfs_alloc_rshift(1452,46060 -xfs_alloc_split(1583,50671 -xfs_alloc_updkey(1736,56415 -xfs_alloc_decrement(1780,57598 -xfs_alloc_delete(1865,59931 -xfs_alloc_get_rec(1899,60686 -xfs_alloc_increment(1943,61797 -xfs_alloc_insert(2034,64323 -xfs_alloc_lookup_eq(2093,66058 -xfs_alloc_lookup_ge(2109,66502 -xfs_alloc_lookup_le(2125,66943 -xfs_alloc_update(2141,67432 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_bmap_btree.h,6854 -#define __XFS_BMAP_BTREE_H__33,1372 -#define XFS_BMAP_MAGIC 35,1402 -typedef struct xfs_bmdr_blockxfs_bmdr_block45,1581 -} xfs_bmdr_block_t;xfs_bmdr_block_t49,1709 -#define BMBT_TOTAL_BITLEN 67,2195 -#define BMBT_EXNTFLAG_BITOFF 68,2250 -#define BMBT_EXNTFLAG_BITLEN 69,2281 -#define BMBT_STARTOFF_BITOFF 70,2312 -#define BMBT_STARTOFF_BITLEN 71,2387 -#define BMBT_STARTBLOCK_BITOFF 72,2419 -#define BMBT_STARTBLOCK_BITLEN 73,2496 -#define BMBT_BLOCKCOUNT_BITOFF 74,2530 -#define BMBT_BLOCKCOUNT_BITLEN 76,2614 -#define BMBT_TOTAL_BITLEN 80,2698 -#define BMBT_EXNTFLAG_BITOFF 81,2753 -#define BMBT_EXNTFLAG_BITLEN 82,2785 -#define BMBT_STARTOFF_BITOFF 83,2816 -#define BMBT_STARTOFF_BITLEN 84,2891 -#define BMBT_STARTBLOCK_BITOFF 85,2923 -#define BMBT_STARTBLOCK_BITLEN 86,2999 -#define BMBT_BLOCKCOUNT_BITOFF 87,3033 -#define BMBT_BLOCKCOUNT_BITLEN 88,3106 -#define BMBT_USE_64 93,3150 -typedef struct xfs_bmbt_rec_32xfs_bmbt_rec_3295,3173 -} xfs_bmbt_rec_32_t;xfs_bmbt_rec_32_t98,3235 -typedef struct xfs_bmbt_rec_64xfs_bmbt_rec_6499,3256 -} xfs_bmbt_rec_64_t;xfs_bmbt_rec_64_t102,3310 -typedef __uint64_t xfs_bmbt_rec_base_t;xfs_bmbt_rec_base_t104,3332 -typedef xfs_bmbt_rec_64_t xfs_bmbt_rec_t,xfs_bmbt_rec_t105,3397 -typedef xfs_bmbt_rec_64_t xfs_bmbt_rec_t, xfs_bmdr_rec_t;xfs_bmdr_rec_t105,3397 -#define STARTBLOCKVALBITS 110,3526 -#define STARTBLOCKMASKBITS 111,3555 -#define DSTARTBLOCKMASKBITS 112,3609 -#define STARTBLOCKMASK 113,3647 -#define DSTARTBLOCKMASK 115,3746 -#define ISNULLSTARTBLOCK(ISNULLSTARTBLOCK119,3950 -#define ISNULLSTARTBLOCK(ISNULLSTARTBLOCK121,4004 -#define ISNULLDSTARTBLOCK(ISNULLDSTARTBLOCK125,4187 -#define ISNULLDSTARTBLOCK(ISNULLDSTARTBLOCK127,4243 -#define NULLSTARTBLOCK(NULLSTARTBLOCK131,4424 -#define NULLSTARTBLOCK(NULLSTARTBLOCK133,4474 -#define STARTBLOCKVAL(STARTBLOCKVAL138,4683 -#define STARTBLOCKVAL(STARTBLOCKVAL140,4731 - XFS_EXTFMT_NOSTATE 147,4855 - XFS_EXTFMT_HASSTATE148,4880 -} xfs_exntfmt_t;xfs_exntfmt_t149,4901 - XFS_EXT_NORM,155,4968 - XFS_EXT_NORM, XFS_EXT_UNWRITTEN,155,4968 - XFS_EXT_DMAPI_OFFLINE,156,5002 - XFS_EXT_DMAPI_OFFLINE, XFS_EXT_INVALID156,5002 -} xfs_exntst_t;xfs_exntst_t157,5042 -#define XFS_EXTFMT_INODE(XFS_EXTFMT_INODE164,5228 -#define XFS_EXTFMT_INODE(XFS_EXTFMT_INODE166,5282 -#define ISUNWRITTEN(ISUNWRITTEN170,5420 -typedef struct xfs_bmbt_irecxfs_bmbt_irec175,5516 -} xfs_bmbt_irec_t;xfs_bmbt_irec_t181,5756 -typedef struct xfs_bmbt_keyxfs_bmbt_key186,5833 -} xfs_bmbt_key_t, xfs_bmdr_key_t;xfs_bmdr_key_t189,5918 -typedef xfs_dfsbno_t xfs_bmbt_ptr_t,xfs_bmbt_ptr_t191,5953 -typedef xfs_dfsbno_t xfs_bmbt_ptr_t, xfs_bmdr_ptr_t;xfs_bmdr_ptr_t191,5953 -typedef struct xfs_btree_lblock xfs_bmbt_block_t;xfs_bmbt_block_t193,6066 -#define XFS_BUF_TO_BMBT_BLOCK(XFS_BUF_TO_BMBT_BLOCK197,6248 -#define XFS_BUF_TO_BMBT_BLOCK(XFS_BUF_TO_BMBT_BLOCK199,6315 -#define XFS_BMAP_RBLOCK_DSIZE(XFS_BMAP_RBLOCK_DSIZE204,6530 -#define XFS_BMAP_RBLOCK_DSIZE(XFS_BMAP_RBLOCK_DSIZE206,6607 -#define XFS_BMAP_RBLOCK_ISIZE(XFS_BMAP_RBLOCK_ISIZE210,6817 -#define XFS_BMAP_RBLOCK_ISIZE(XFS_BMAP_RBLOCK_ISIZE212,6894 -#define XFS_BMAP_IBLOCK_SIZE(XFS_BMAP_IBLOCK_SIZE218,7175 -#define XFS_BMAP_IBLOCK_SIZE(XFS_BMAP_IBLOCK_SIZE220,7250 -#define XFS_BMAP_BLOCK_DSIZE(XFS_BMAP_BLOCK_DSIZE225,7453 -#define XFS_BMAP_BLOCK_DSIZE(XFS_BMAP_BLOCK_DSIZE227,7528 -#define XFS_BMAP_BLOCK_ISIZE(XFS_BMAP_BLOCK_ISIZE234,7813 -#define XFS_BMAP_BLOCK_ISIZE(XFS_BMAP_BLOCK_ISIZE236,7888 -#define XFS_BMAP_BLOCK_DMAXRECS(XFS_BMAP_BLOCK_DMAXRECS244,8180 -#define XFS_BMAP_BLOCK_DMAXRECS(XFS_BMAP_BLOCK_DMAXRECS246,8260 -#define XFS_BMAP_BLOCK_IMAXRECS(XFS_BMAP_BLOCK_IMAXRECS254,8616 -#define XFS_BMAP_BLOCK_IMAXRECS(XFS_BMAP_BLOCK_IMAXRECS256,8696 -#define XFS_BMAP_BLOCK_DMINRECS(XFS_BMAP_BLOCK_DMINRECS265,9053 -#define XFS_BMAP_BLOCK_DMINRECS(XFS_BMAP_BLOCK_DMINRECS267,9133 -#define XFS_BMAP_BLOCK_IMINRECS(XFS_BMAP_BLOCK_IMINRECS275,9489 -#define XFS_BMAP_BLOCK_IMINRECS(XFS_BMAP_BLOCK_IMINRECS277,9569 -#define XFS_BMAP_REC_DADDR(XFS_BMAP_REC_DADDR287,9949 -#define XFS_BMAP_REC_DADDR(XFS_BMAP_REC_DADDR289,10022 -#define XFS_BMAP_REC_IADDR(XFS_BMAP_REC_IADDR298,10416 -#define XFS_BMAP_REC_IADDR(XFS_BMAP_REC_IADDR300,10489 -#define XFS_BMAP_KEY_DADDR(XFS_BMAP_KEY_DADDR310,10884 -#define XFS_BMAP_KEY_DADDR(XFS_BMAP_KEY_DADDR312,10957 -#define XFS_BMAP_KEY_IADDR(XFS_BMAP_KEY_IADDR321,11351 -#define XFS_BMAP_KEY_IADDR(XFS_BMAP_KEY_IADDR323,11424 -#define XFS_BMAP_PTR_DADDR(XFS_BMAP_PTR_DADDR333,11819 -#define XFS_BMAP_PTR_DADDR(XFS_BMAP_PTR_DADDR335,11892 -#define XFS_BMAP_PTR_IADDR(XFS_BMAP_PTR_IADDR344,12286 -#define XFS_BMAP_PTR_IADDR(XFS_BMAP_PTR_IADDR346,12359 -#define XFS_BMAP_BROOT_REC_ADDR(XFS_BMAP_BROOT_REC_ADDR359,12841 -#define XFS_BMAP_BROOT_REC_ADDR(XFS_BMAP_BROOT_REC_ADDR361,12921 -#define XFS_BMAP_BROOT_KEY_ADDR(XFS_BMAP_BROOT_KEY_ADDR366,13186 -#define XFS_BMAP_BROOT_KEY_ADDR(XFS_BMAP_BROOT_KEY_ADDR368,13266 -#define XFS_BMAP_BROOT_PTR_ADDR(XFS_BMAP_BROOT_PTR_ADDR373,13531 -#define XFS_BMAP_BROOT_PTR_ADDR(XFS_BMAP_BROOT_PTR_ADDR375,13611 -#define XFS_BMAP_BROOT_NUMRECS(XFS_BMAP_BROOT_NUMRECS381,13848 -#define XFS_BMAP_BROOT_NUMRECS(XFS_BMAP_BROOT_NUMRECS383,13917 -#define XFS_BMAP_BROOT_MAXRECS(XFS_BMAP_BROOT_MAXRECS387,14108 -#define XFS_BMAP_BROOT_MAXRECS(XFS_BMAP_BROOT_MAXRECS389,14177 -#define XFS_BMAP_BROOT_SPACE_CALC(XFS_BMAP_BROOT_SPACE_CALC393,14374 -#define XFS_BMAP_BROOT_SPACE_CALC(XFS_BMAP_BROOT_SPACE_CALC395,14454 -#define XFS_BMAP_BROOT_SPACE(XFS_BMAP_BROOT_SPACE401,14730 -#define XFS_BMAP_BROOT_SPACE(XFS_BMAP_BROOT_SPACE403,14795 -#define XFS_BMDR_SPACE_CALC(XFS_BMDR_SPACE_CALC408,15009 -#define XFS_BMDR_SPACE_CALC(XFS_BMDR_SPACE_CALC410,15078 -#define XFS_BM_MAXLEVELS(XFS_BM_MAXLEVELS420,15395 -#define XFS_BM_MAXLEVELS(XFS_BM_MAXLEVELS422,15457 -#define XFS_BMAP_SANITY_CHECK(XFS_BMAP_SANITY_CHECK428,15676 -#define XFS_BMAP_SANITY_CHECK(XFS_BMAP_SANITY_CHECK431,15763 -#define XFS_BMBT_KTRACE_ARGBI 445,16146 -#define XFS_BMBT_KTRACE_ARGBII 446,16178 -#define XFS_BMBT_KTRACE_ARGFFFI 447,16211 -#define XFS_BMBT_KTRACE_ARGI 448,16245 -#define XFS_BMBT_KTRACE_ARGIFK 449,16276 -#define XFS_BMBT_KTRACE_ARGIFR 450,16309 -#define XFS_BMBT_KTRACE_ARGIK 451,16342 -#define XFS_BMBT_KTRACE_CUR 452,16374 -#define XFS_BMBT_TRACE_SIZE 454,16405 -#define XFS_BMBT_KTRACE_SIZE 455,16472 -#define xfs_bmbt_disk_get_all(xfs_bmbt_disk_get_all531,17609 -#define xfs_bmbt_disk_get_state(xfs_bmbt_disk_get_state533,17671 -#define xfs_bmbt_disk_get_blockcount(xfs_bmbt_disk_get_blockcount535,17731 -#define xfs_bmbt_disk_get_startblock(xfs_bmbt_disk_get_startblock537,17801 -#define xfs_bmbt_disk_get_startoff(xfs_bmbt_disk_get_startoff539,17871 -#define xfs_bmbt_disk_set_all(xfs_bmbt_disk_set_all648,19550 -#define xfs_bmbt_disk_set_allf(xfs_bmbt_disk_set_allf650,19612 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/ktrace.c,339 -static kmem_zone_t *ktrace_hdr_zone;35,1357 -static kmem_zone_t *ktrace_ent_zone;36,1394 -static int ktrace_zentries;37,1431 -ktrace_init(40,1474 -ktrace_uninit(55,1766 -ktrace_alloc(68,1991 -ktrace_free(125,3137 -ktrace_enter(154,3735 -ktrace_nentries(218,5159 -ktrace_first(243,5812 -ktrace_next(279,6594 -ktrace_skip(310,7132 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/qsort.h,24 -#define QSORT_H34,1355 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/uuid.c,297 -static mutex_t uuid_monitor;35,1357 -static int uuid_table_size;36,1386 -static uuid_t *uuid_table;37,1414 -uuid_init(40,1447 -uuid_getnodeuniq(52,1733 -uuid_create_nil(67,2134 -uuid_is_nil(73,2206 -uuid_equal(87,2451 -uuid_hash64(100,2878 -uuid_table_insert(108,2975 -uuid_table_remove(136,3540 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/move.c,18 -uio_read(40,1505 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/qsort.c,163 -#define swapcode(swapcode36,1728 -#define SWAPINIT(SWAPINIT47,2011 -swapfunc(51,2164 -#define swap(swap59,2296 -#define vecswap(vecswap67,2482 -qsort(78,2797 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/debug.c,281 -int doass 39,1433 -static char message[40,1450 -static spinlock_t xfs_err_lock 41,1505 -#define XFS_MAX_ERR_LEVEL 44,1630 -#define XFS_ERR_MASK 45,1658 -static char *err_level[46,1695 -assfail(52,1862 -random(61,2077 -get_thread_id(77,2412 -cmn_err(85,2523 -icmn_err(111,3028 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/uuid.h,64 -#define __XFS_SUPPORT_UUID_H__33,1369 -} uuid_t;uuid_t37,1447 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/ktrace.h,372 -#define __XFS_SUPPORT_KTRACE_H__33,1371 -typedef struct ktrace_entry ktrace_entry40,1464 -} ktrace_entry_t;ktrace_entry_t42,1510 -typedef struct ktrace ktrace47,1570 -} ktrace_t;ktrace_t53,1817 -typedef struct ktrace_snap ktrace_snap58,1873 -} ktrace_snap_t;ktrace_snap_t61,1985 -#define ktrace_init(ktrace_init97,2649 -#define ktrace_uninit(ktrace_uninit98,2689 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/debug.h,418 -#define __XFS_SUPPORT_DEBUG_H__33,1370 -#define CE_DEBUG 37,1424 -#define CE_CONT 38,1483 -#define CE_NOTE 39,1542 -#define CE_WARN 40,1601 -#define CE_ALERT 41,1660 -#define CE_PANIC 42,1719 -# define STATIC 49,1896 -# define ASSERT(ASSERT54,1953 -# define ASSERT(ASSERT56,2036 -# define ASSERT(ASSERT59,2142 -#define ASSERT_ALWAYS(ASSERT_ALWAYS69,2363 -#define debug_stop_all_cpus(debug_stop_all_cpus70,2440 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/support/move.h,226 -#define __XFS_SUPPORT_MOVE_H__60,2981 -enum uio_seg uio_seg66,3089 - UIO_USERSPACE,67,3104 - UIO_SYSSPACE,68,3156 -struct uio uio71,3209 -typedef struct uio uio_t;uio_t79,3488 -typedef struct iovec iovec_t;iovec_t80,3514 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_buf_item.c,975 -kmem_zone_t *xfs_buf_item_zone;58,1907 -xfs_buf_item_log_debug(71,2344 -xfs_buf_item_flush_log_debug(106,3117 -xfs_buf_item_log_check(134,3839 -#define xfs_buf_item_log_debug(xfs_buf_item_log_debug158,4366 -#define xfs_buf_item_log_check(xfs_buf_item_log_check159,4405 -xfs_buf_item_size(176,4910 -xfs_buf_item_format(244,6680 -xfs_buf_item_pin(369,10193 -xfs_buf_item_unpin(395,10916 -xfs_buf_item_unpin_remove(450,12538 -xfs_buf_item_trylock(497,13923 -xfs_buf_item_unlock(541,15056 -xfs_buf_item_committed(639,18002 -xfs_buf_item_abort(658,18509 -xfs_buf_item_push(678,19037 -xfs_buf_item_committing(697,19335 -struct xfs_item_ops xfs_buf_item_ops 704,19473 -xfs_buf_item_init(732,20601 -xfs_buf_item_log(811,23006 -xfs_buf_item_dirty(901,24968 -xfs_buf_item_relse(915,25381 -xfs_buf_attach_iodone(953,26508 -xfs_buf_do_callbacks(978,27131 -xfs_buf_iodone_callbacks(1007,27918 -xfs_buf_error_relse(1115,30945 -xfs_buf_iodone(1153,31927 -xfs_buf_item_trace(1194,32929 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_rw.h,440 -#define __XFS_RW_H__33,1359 -#define XFS_MAX_RW_NBMAPS 42,1497 -#define XFS_RW_NREADAHEAD_16MB 48,1658 -#define XFS_RW_NREADAHEAD_32MB 49,1691 -#define XFS_RW_NREADAHEAD_K32 50,1724 -#define XFS_RW_NREADAHEAD_K64 51,1756 -#define XFS_MAX_BMAP_LEN_BB 62,2080 -#define XFS_MAX_BMAP_LEN_BYTES 63,2113 -#define XFS_FSB_TO_DB(XFS_FSB_TO_DB73,2468 -#define XFS_FSB_TO_DB(XFS_FSB_TO_DB75,2526 -#define XFS_FSB_TO_DB_IO(XFS_FSB_TO_DB_IO81,2715 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_utils.h,121 -#define __XFS_UTILS_H__33,1362 -#define IRELE(IRELE35,1387 -#define IHOLD(IHOLD36,1427 -#define ITRACE(ITRACE37,1467 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_macros.h,1953 -#define __XFS_MACROS_H__33,1358 -#define XFS_WANT_SPACE_C 40,1490 -#define XFS_WANT_FUNCS_C 48,1705 -#define XFS_WANT_SPACE 54,1824 -#define XFS_WANT_FUNCS 55,1891 -#define XFSSO_NULLSTARTBLOCK 60,2036 -#define XFSSO_XFS_AGB_TO_DADDR 61,2067 -#define XFSSO_XFS_AGB_TO_FSB 62,2100 -#define XFSSO_XFS_AGINO_TO_INO 63,2131 -#define XFSSO_XFS_ALLOC_BLOCK_MINRECS 64,2164 -#define XFSSO_XFS_ATTR_SF_NEXTENTRY 65,2204 -#define XFSSO_XFS_BMAP_BLOCK_DMAXRECS 66,2242 -#define XFSSO_XFS_BMAP_BLOCK_IMAXRECS 67,2282 -#define XFSSO_XFS_BMAP_BLOCK_IMINRECS 68,2322 -#define XFSSO_XFS_BMAP_INIT 69,2362 -#define XFSSO_XFS_BMAP_PTR_IADDR 70,2392 -#define XFSSO_XFS_BMAP_SANITY_CHECK 71,2427 -#define XFSSO_XFS_BMAPI_AFLAG 72,2465 -#define XFSSO_XFS_CFORK_SIZE 73,2497 -#define XFSSO_XFS_DA_COOKIE_BNO 74,2528 -#define XFSSO_XFS_DA_COOKIE_ENTRY 75,2562 -#define XFSSO_XFS_DADDR_TO_AGBNO 76,2598 -#define XFSSO_XFS_DADDR_TO_FSB 77,2633 -#define XFSSO_XFS_DFORK_PTR 78,2666 -#define XFSSO_XFS_DIR_SF_GET_DIRINO 79,2696 -#define XFSSO_XFS_DIR_SF_NEXTENTRY 80,2734 -#define XFSSO_XFS_DIR_SF_PUT_DIRINO 81,2771 -#define XFSSO_XFS_FILBLKS_MIN 82,2809 -#define XFSSO_XFS_FSB_SANITY_CHECK 83,2841 -#define XFSSO_XFS_FSB_TO_DADDR 84,2878 -#define XFSSO_XFS_FSB_TO_DB 85,2911 -#define XFSSO_XFS_IALLOC_INODES 86,2941 -#define XFSSO_XFS_IFORK_ASIZE 87,2975 -#define XFSSO_XFS_IFORK_DSIZE 88,3007 -#define XFSSO_XFS_IFORK_FORMAT 89,3039 -#define XFSSO_XFS_IFORK_NEXT_SET 90,3072 -#define XFSSO_XFS_IFORK_NEXTENTS 91,3107 -#define XFSSO_XFS_IFORK_PTR 92,3142 -#define XFSSO_XFS_ILOG_FBROOT 93,3172 -#define XFSSO_XFS_ILOG_FEXT 94,3204 -#define XFSSO_XFS_INO_MASK 95,3234 -#define XFSSO_XFS_INO_TO_FSB 96,3263 -#define XFSSO_XFS_INODE_CLEAR_READ_AHEAD 97,3294 -#define XFSSO_XFS_MIN_FREELIST 98,3337 -#define XFSSO_XFS_SB_GOOD_VERSION 99,3370 -#define XFSSO_XFS_SB_VERSION_HASNLINK 100,3406 -#define XFSSO_XLOG_GRANT_ADD_SPACE 101,3446 -#define XFSSO_XLOG_GRANT_SUB_SPACE 102,3483 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_refcache.h,493 -#define __XFS_REFCACHE_H__33,1365 -#define XFS_REFCACHE_SIZE_MAX 39,1477 -#define xfs_refcache_insert(xfs_refcache_insert55,1916 -#define xfs_refcache_purge_ip(xfs_refcache_purge_ip56,1966 -#define xfs_refcache_purge_mp(xfs_refcache_purge_mp57,2017 -#define xfs_refcache_purge_some(xfs_refcache_purge_some58,2068 -#define xfs_refcache_resize(xfs_refcache_resize59,2121 -#define xfs_refcache_destroy(xfs_refcache_destroy60,2172 -#define xfs_refcache_iunlock(xfs_refcache_iunlock62,2222 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_behavior.c,198 -bhv_insert(53,1941 -bhv_remove_not_first(106,3067 -bhv_lookup(132,3666 -bhv_lookup_range(152,4053 -bhv_base(180,4579 -bhv_head_init(197,4804 -bhv_insert_initial(205,4883 -bhv_head_destroy(214,5005 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_bit.c,221 -const char xfs_highbit[48,1621 -static const char xfs_countbit[87,3058 -xfs_highbit32(126,4539 -xfs_lowbit64(154,4936 -xfs_highbit64(174,5253 -xfs_count_bits(195,5762 -xfs_contig_bits(243,6726 -int xfs_next_bit(282,7640 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dinode.h,7928 -#define __XFS_DINODE_H__33,1364 -#define XFS_DINODE_VERSION_1 38,1425 -#define XFS_DINODE_VERSION_2 39,1456 -#define XFS_DINODE_GOOD_VERSION(XFS_DINODE_GOOD_VERSION42,1595 -#define XFS_DINODE_GOOD_VERSION(XFS_DINODE_GOOD_VERSION44,1663 -#define XFS_DINODE_MAGIC 47,1778 -typedef struct xfs_timestamp xfs_timestamp55,2061 -} xfs_timestamp_t;xfs_timestamp_t58,2183 -typedef struct xfs_dinode_corexfs_dinode_core64,2338 -} xfs_dinode_core_t;xfs_dinode_core_t91,3712 -#define DI_MAX_FLUSH 93,3734 -typedef struct xfs_dinodexfs_dinode95,3763 -} xfs_dinode_t;xfs_dinode_t119,4652 -#define XFS_MAXLINK 126,4897 -#define XFS_MAXLINK_1 127,4936 -#define XFS_DI_MAGIC 132,5016 -#define XFS_DI_MODE 133,5048 -#define XFS_DI_VERSION 134,5079 -#define XFS_DI_FORMAT 135,5113 -#define XFS_DI_ONLINK 136,5146 -#define XFS_DI_UID 137,5179 -#define XFS_DI_GID 138,5209 -#define XFS_DI_NLINK 139,5239 -#define XFS_DI_PROJID 140,5271 -#define XFS_DI_PAD 141,5304 -#define XFS_DI_ATIME 142,5334 -#define XFS_DI_MTIME 143,5366 -#define XFS_DI_CTIME 144,5398 -#define XFS_DI_SIZE 145,5430 -#define XFS_DI_NBLOCKS 146,5461 -#define XFS_DI_EXTSIZE 147,5495 -#define XFS_DI_NEXTENTS 148,5529 -#define XFS_DI_NAEXTENTS 149,5564 -#define XFS_DI_FORKOFF 150,5599 -#define XFS_DI_AFORMAT 151,5633 -#define XFS_DI_DMEVMASK 152,5667 -#define XFS_DI_DMSTATE 153,5702 -#define XFS_DI_FLAGS 154,5736 -#define XFS_DI_GEN 155,5768 -#define XFS_DI_NEXT_UNLINKED 156,5798 -#define XFS_DI_U 157,5837 -#define XFS_DI_A 158,5865 -#define XFS_DI_NUM_BITS 159,5893 -#define XFS_DI_ALL_BITS 160,5921 -#define XFS_DI_CORE_BITS 161,5975 -typedef enum xfs_dinode_fmtxfs_dinode_fmt166,6073 - XFS_DINODE_FMT_DEV,168,6103 - XFS_DINODE_FMT_LOCAL,169,6148 - XFS_DINODE_FMT_EXTENTS,171,6220 - XFS_DINODE_FMT_BTREE,172,6274 - XFS_DINODE_FMT_UUID 173,6327 -} xfs_dinode_fmt_t;xfs_dinode_fmt_t174,6368 -#define XFS_DINODE_MIN_LOG 179,6432 -#define XFS_DINODE_MAX_LOG 180,6461 -#define XFS_DINODE_MIN_SIZE 181,6491 -#define XFS_DINODE_MAX_SIZE 182,6545 -#define XFS_LITINO(XFS_LITINO189,6732 -#define XFS_LITINO(XFS_LITINO191,6777 -#define XFS_BROOT_SIZE_ADJ 193,6824 -#define XFS_DATA_FORK 200,7003 -#define XFS_ATTR_FORK 201,7027 -#define XFS_CFORK_Q_ARCH(XFS_CFORK_Q_ARCH209,7272 -#define XFS_CFORK_Q(XFS_CFORK_Q210,7343 -#define XFS_CFORK_Q_ARCH(XFS_CFORK_Q_ARCH212,7410 -#define XFS_CFORK_Q(XFS_CFORK_Q213,7488 -#define XFS_CFORK_BOFF_ARCH(XFS_CFORK_BOFF_ARCH219,7738 -#define XFS_CFORK_BOFF(XFS_CFORK_BOFF220,7810 -#define XFS_CFORK_BOFF_ARCH(XFS_CFORK_BOFF_ARCH222,7876 -#define XFS_CFORK_BOFF(XFS_CFORK_BOFF223,7965 -#define XFS_CFORK_DSIZE_ARCH(XFS_CFORK_DSIZE_ARCH229,8269 -#define XFS_CFORK_DSIZE(XFS_CFORK_DSIZE230,8347 -#define XFS_CFORK_DSIZE_ARCH(XFS_CFORK_DSIZE_ARCH232,8421 -#define XFS_CFORK_DSIZE(XFS_CFORK_DSIZE234,8546 -#define XFS_CFORK_ASIZE_ARCH(XFS_CFORK_ASIZE_ARCH241,8867 -#define XFS_CFORK_ASIZE(XFS_CFORK_ASIZE242,8945 -#define XFS_CFORK_ASIZE_ARCH(XFS_CFORK_ASIZE_ARCH244,9019 -#define XFS_CFORK_ASIZE(XFS_CFORK_ASIZE246,9148 -#define XFS_CFORK_SIZE_ARCH(XFS_CFORK_SIZE_ARCH253,9484 -#define XFS_CFORK_SIZE(XFS_CFORK_SIZE254,9563 -#define XFS_CFORK_SIZE_ARCH(XFS_CFORK_SIZE_ARCH256,9638 -#define XFS_CFORK_SIZE(XFS_CFORK_SIZE259,9787 -#define XFS_DFORK_DSIZE_ARCH(XFS_DFORK_DSIZE_ARCH268,10123 -#define XFS_DFORK_DSIZE(XFS_DFORK_DSIZE269,10201 -#define XFS_DFORK_DSIZE_ARCH(XFS_DFORK_DSIZE_ARCH271,10275 -#define XFS_DFORK_DSIZE(XFS_DFORK_DSIZE272,10367 -#define XFS_DFORK_ASIZE_ARCH(XFS_DFORK_ASIZE_ARCH278,10673 -#define XFS_DFORK_ASIZE(XFS_DFORK_ASIZE279,10751 -#define XFS_DFORK_ASIZE_ARCH(XFS_DFORK_ASIZE_ARCH281,10825 -#define XFS_DFORK_ASIZE(XFS_DFORK_ASIZE282,10917 -#define XFS_DFORK_SIZE_ARCH(XFS_DFORK_SIZE_ARCH288,11234 -#define XFS_DFORK_SIZE(XFS_DFORK_SIZE289,11313 -#define XFS_DFORK_SIZE_ARCH(XFS_DFORK_SIZE_ARCH291,11388 -#define XFS_DFORK_SIZE(XFS_DFORK_SIZE292,11482 -#define XFS_DFORK_Q_ARCH(XFS_DFORK_Q_ARCH302,11798 -#define XFS_DFORK_Q(XFS_DFORK_Q303,11864 -#define XFS_DFORK_Q_ARCH(XFS_DFORK_Q_ARCH305,11924 -#define XFS_DFORK_Q(XFS_DFORK_Q306,12003 -#define XFS_DFORK_BOFF_ARCH(XFS_DFORK_BOFF_ARCH312,12255 -#define XFS_DFORK_BOFF(XFS_DFORK_BOFF313,12327 -#define XFS_DFORK_BOFF_ARCH(XFS_DFORK_BOFF_ARCH315,12393 -#define XFS_DFORK_BOFF(XFS_DFORK_BOFF316,12478 -#define XFS_DFORK_DPTR_ARCH(XFS_DFORK_DPTR_ARCH322,12737 -#define XFS_DFORK_DPTR(XFS_DFORK_DPTR323,12809 -#define XFS_DFORK_DPTR_ARCH(XFS_DFORK_DPTR_ARCH325,12875 -#define XFS_DFORK_DPTR(XFS_DFORK_DPTR326,12936 -#define XFS_DFORK_APTR_ARCH(XFS_DFORK_APTR_ARCH332,13195 -#define XFS_DFORK_APTR(XFS_DFORK_APTR333,13269 -#define XFS_DFORK_APTR_ARCH(XFS_DFORK_APTR_ARCH335,13339 -#define XFS_DFORK_APTR(XFS_DFORK_APTR336,13433 -#define XFS_DFORK_PTR_ARCH(XFS_DFORK_PTR_ARCH342,13703 -#define XFS_DFORK_PTR(XFS_DFORK_PTR343,13778 -#define XFS_DFORK_PTR_ARCH(XFS_DFORK_PTR_ARCH345,13849 -#define XFS_DFORK_PTR(XFS_DFORK_PTR347,13980 -#define XFS_CFORK_FORMAT_ARCH(XFS_CFORK_FORMAT_ARCH353,14266 -#define XFS_CFORK_FORMAT(XFS_CFORK_FORMAT354,14344 -#define XFS_CFORK_FORMAT_ARCH(XFS_CFORK_FORMAT_ARCH356,14418 -#define XFS_CFORK_FORMAT(XFS_CFORK_FORMAT358,14555 -#define XFS_CFORK_FMT_SET_ARCH(XFS_CFORK_FMT_SET_ARCH364,14863 -#define XFS_CFORK_FMT_SET(XFS_CFORK_FMT_SET365,14945 -#define XFS_CFORK_FMT_SET_ARCH(XFS_CFORK_FMT_SET_ARCH367,15023 -#define XFS_CFORK_FMT_SET(XFS_CFORK_FMT_SET371,15185 -#define XFS_CFORK_NEXTENTS_ARCH(XFS_CFORK_NEXTENTS_ARCH377,15484 -#define XFS_CFORK_NEXTENTS(XFS_CFORK_NEXTENTS378,15565 -#define XFS_CFORK_NEXTENTS_ARCH(XFS_CFORK_NEXTENTS_ARCH380,15642 -#define XFS_CFORK_NEXTENTS(XFS_CFORK_NEXTENTS382,15785 -#define XFS_CFORK_NEXT_SET_ARCH(XFS_CFORK_NEXT_SET_ARCH388,16099 -#define XFS_CFORK_NEXT_SET(XFS_CFORK_NEXT_SET389,16183 -#define XFS_CFORK_NEXT_SET_ARCH(XFS_CFORK_NEXT_SET_ARCH391,16261 -#define XFS_CFORK_NEXT_SET(XFS_CFORK_NEXT_SET395,16428 -#define XFS_DFORK_FORMAT_ARCH(XFS_DFORK_FORMAT_ARCH401,16715 -#define XFS_DFORK_FORMAT(XFS_DFORK_FORMAT402,16793 -#define XFS_DFORK_FORMAT_ARCH(XFS_DFORK_FORMAT_ARCH404,16867 -#define XFS_DFORK_FORMAT(XFS_DFORK_FORMAT405,16959 -#define XFS_DFORK_FMT_SET_ARCH(XFS_DFORK_FMT_SET_ARCH411,17257 -#define XFS_DFORK_FMT_SET(XFS_DFORK_FMT_SET412,17342 -#define XFS_DFORK_FMT_SET_ARCH(XFS_DFORK_FMT_SET_ARCH414,17423 -#define XFS_DFORK_FMT_SET(XFS_DFORK_FMT_SET415,17520 -#define XFS_DFORK_NEXTENTS_ARCH(XFS_DFORK_NEXTENTS_ARCH421,17812 -#define XFS_DFORK_NEXTENTS(XFS_DFORK_NEXTENTS422,17892 -#define XFS_DFORK_NEXTENTS_ARCH(XFS_DFORK_NEXTENTS_ARCH424,17968 -#define XFS_DFORK_NEXTENTS(XFS_DFORK_NEXTENTS425,18062 -#define XFS_DFORK_NEXT_SET_ARCH(XFS_DFORK_NEXT_SET_ARCH431,18365 -#define XFS_DFORK_NEXT_SET(XFS_DFORK_NEXT_SET432,18451 -#define XFS_DFORK_NEXT_SET_ARCH(XFS_DFORK_NEXT_SET_ARCH434,18533 -#define XFS_DFORK_NEXT_SET(XFS_DFORK_NEXT_SET435,18632 -#define XFS_BUF_TO_DINODE(XFS_BUF_TO_DINODE441,18856 -#define XFS_BUF_TO_DINODE(XFS_BUF_TO_DINODE443,18914 -#define XFS_DIFLAG_REALTIME_BIT 451,19109 -#define XFS_DIFLAG_PREALLOC_BIT 452,19182 -#define XFS_DIFLAG_NEWRTBM_BIT 453,19256 -#define XFS_DIFLAG_IMMUTABLE_BIT 454,19328 -#define XFS_DIFLAG_APPEND_BIT 455,19388 -#define XFS_DIFLAG_SYNC_BIT 456,19450 -#define XFS_DIFLAG_NOATIME_BIT 457,19522 -#define XFS_DIFLAG_NODUMP_BIT 458,19583 -#define XFS_DIFLAG_RTINHERIT_BIT 459,19636 -#define XFS_DIFLAG_PROJINHERIT_BIT 460,19706 -#define XFS_DIFLAG_NOSYMLINKS_BIT 461,19777 -#define XFS_DIFLAG_REALTIME 462,19847 -#define XFS_DIFLAG_PREALLOC 463,19911 -#define XFS_DIFLAG_NEWRTBM 464,19975 -#define XFS_DIFLAG_IMMUTABLE 465,20038 -#define XFS_DIFLAG_APPEND 466,20103 -#define XFS_DIFLAG_SYNC 467,20165 -#define XFS_DIFLAG_NOATIME 468,20225 -#define XFS_DIFLAG_NODUMP 469,20288 -#define XFS_DIFLAG_RTINHERIT 470,20350 -#define XFS_DIFLAG_PROJINHERIT 471,20415 -#define XFS_DIFLAG_NOSYMLINKS 472,20482 -#define XFS_DIFLAG_ANY 474,20549 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_alloc.c,1595 -#define XFS_ABSDIFF(XFS_ABSDIFF57,1820 -#define XFSA_FIXUP_BNO_OK 59,1889 -#define XFSA_FIXUP_CNT_OK 60,1917 -ktrace_t *xfs_alloc_trace_buf;69,2096 -#define TRACE_ALLOC(TRACE_ALLOC71,2128 -#define TRACE_FREE(TRACE_FREE73,2201 -#define TRACE_MODAGF(TRACE_MODAGF75,2291 -#define TRACE_BUSY(TRACE_BUSY77,2375 -#define TRACE_UNBUSY(TRACE_UNBUSY79,2509 -#define TRACE_BUSYSEARCH(TRACE_BUSYSEARCH81,2641 -#define TRACE_ALLOC(TRACE_ALLOC84,2793 -#define TRACE_FREE(TRACE_FREE85,2818 -#define TRACE_MODAGF(TRACE_MODAGF86,2848 -#define TRACE_BUSY(TRACE_BUSY87,2876 -#define TRACE_UNBUSY(TRACE_UNBUSY88,2915 -#define TRACE_BUSYSEARCH(TRACE_BUSYSEARCH89,2954 -xfs_alloc_compute_aligned(111,3551 -xfs_alloc_compute_diff(141,4398 -xfs_alloc_fix_len(203,6503 -xfs_alloc_fix_minleft(237,7333 -xfs_alloc_fixup_trees(266,8193 -xfs_alloc_read_agfl(407,12215 -xfs_alloc_trace_alloc(435,12915 -xfs_alloc_trace_free(468,13942 -xfs_alloc_trace_modagf(494,14730 -xfs_alloc_trace_busy(526,16001 -xfs_alloc_ag_vextent(565,17225 -xfs_alloc_ag_vextent_exact(645,19527 -xfs_alloc_ag_vextent_near(752,22882 -xfs_alloc_ag_vextent_size(1285,37750 -xfs_alloc_ag_vextent_small(1441,42184 -xfs_free_ag_extent(1527,44165 -xfs_alloc_compute_maxlevels(1811,52406 -xfs_alloc_fix_freelist(1834,53032 -xfs_alloc_get_freelist(1992,57637 -xfs_alloc_log_agf(2056,59766 -xfs_alloc_pagf_init(2086,60706 -xfs_alloc_put_freelist(2106,61166 -xfs_alloc_read_agf(2152,62819 -xfs_alloc_vextent(2235,65760 -xfs_free_extent(2434,71223 -xfs_alloc_mark_busy(2481,72637 -xfs_alloc_clear_busy(2526,73744 -xfs_alloc_search_busy(2556,74399 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_inode_item.h,1269 -#define __XFS_INODE_ITEM_H__33,1362 -typedef struct xfs_inode_log_format xfs_inode_log_format60,2760 -} xfs_inode_log_format_t;xfs_inode_log_format_t74,3351 -typedef struct xfs_inode_log_format_v1 xfs_inode_log_format_v177,3426 -} xfs_inode_log_format_t_v1;xfs_inode_log_format_t_v187,3825 -#define XFS_ILOG_CORE 92,3908 -#define XFS_ILOG_DDATA 93,3968 -#define XFS_ILOG_DEXT 94,4020 -#define XFS_ILOG_DBROOT 95,4074 -#define XFS_ILOG_DEV 96,4127 -#define XFS_ILOG_UUID 97,4178 -#define XFS_ILOG_ADATA 98,4231 -#define XFS_ILOG_AEXT 99,4283 -#define XFS_ILOG_ABROOT 100,4337 -#define XFS_ILOG_NONCORE 102,4391 -#define XFS_ILOG_DFORK 107,4571 -#define XFS_ILOG_AFORK 110,4654 -#define XFS_ILOG_ALL 113,4737 -#define XFS_ILI_HOLD 119,4937 -#define XFS_ILI_IOLOCKED_EXCL 120,4963 -#define XFS_ILI_IOLOCKED_SHARED 121,4997 -#define XFS_ILI_IOLOCKED_ANY 123,5034 -typedef struct xfs_inode_log_item xfs_inode_log_item134,5214 -} xfs_inode_log_item_t;xfs_inode_log_item_t159,6278 -#define XFS_ILOG_FDATA(XFS_ILOG_FDATA164,6394 -#define XFS_ILOG_FDATA(XFS_ILOG_FDATA166,6444 -#define XFS_ILOG_FBROOT(XFS_ILOG_FBROOT174,6655 -#define XFS_ILOG_FBROOT(XFS_ILOG_FBROOT176,6707 -#define XFS_ILOG_FEXT(XFS_ILOG_FEXT181,6891 -#define XFS_ILOG_FEXT(XFS_ILOG_FEXT183,6939 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_acl.h,1938 -#define __XFS_ACL_H__33,1360 -typedef __uint16_t xfs_acl_perm_t;xfs_acl_perm_t38,1414 -typedef __int32_t xfs_acl_type_t;xfs_acl_type_t39,1449 -typedef __int32_t xfs_acl_tag_t;xfs_acl_tag_t40,1483 -typedef __int32_t xfs_acl_id_t;xfs_acl_id_t41,1516 -#define XFS_ACL_MAX_ENTRIES 43,1549 -#define XFS_ACL_NOT_PRESENT 44,1580 -typedef struct xfs_acl_entry xfs_acl_entry46,1614 -} xfs_acl_entry_t;xfs_acl_entry_t50,1714 -typedef struct xfs_acl xfs_acl52,1734 -} xfs_acl_t;xfs_acl_t55,1828 -#define SGI_ACL_FILE 58,1885 -#define SGI_ACL_DEFAULT 59,1921 -#define SGI_ACL_FILE_SIZE 60,1963 -#define SGI_ACL_DEFAULT_SIZE 61,2014 -#define xfs_acl_zone_init(xfs_acl_zone_init71,2188 -#define xfs_acl_zone_destroy(xfs_acl_zone_destroy73,2279 -#define _ACL_TYPE_ACCESS 84,2827 -#define _ACL_TYPE_DEFAULT 85,2854 -#define _ACL_PERM_INVALID(_ACL_PERM_INVALID86,2882 -#define _ACL_INHERIT(_ACL_INHERIT88,2960 -#define _ACL_GET_ACCESS(_ACL_GET_ACCESS89,3013 -#define _ACL_GET_DEFAULT(_ACL_GET_DEFAULT90,3078 -#define _ACL_ACCESS_EXISTS 91,3144 -#define _ACL_DEFAULT_EXISTS 92,3194 -#define _ACL_XFS_IACCESS(_ACL_XFS_IACCESS93,3246 -#define _ACL_ALLOC(_ACL_ALLOC95,3326 -#define _ACL_FREE(_ACL_FREE96,3397 -#define xfs_acl_zone_init(xfs_acl_zone_init99,3475 -#define xfs_acl_zone_destroy(xfs_acl_zone_destroy100,3512 -#define xfs_acl_vset(xfs_acl_vset101,3547 -#define xfs_acl_vget(xfs_acl_vget102,3592 -#define xfs_acl_vremove(xfs_acl_vremove103,3637 -#define xfs_acl_vhasacl_access(xfs_acl_vhasacl_access104,3680 -#define xfs_acl_vhasacl_default(xfs_acl_vhasacl_default105,3718 -#define _ACL_ALLOC(_ACL_ALLOC106,3757 -#define _ACL_FREE(_ACL_FREE107,3820 -#define _ACL_INHERIT(_ACL_INHERIT108,3852 -#define _ACL_GET_ACCESS(_ACL_GET_ACCESS109,3884 -#define _ACL_GET_DEFAULT(_ACL_GET_DEFAULT110,3919 -#define _ACL_ACCESS_EXISTS 111,3955 -#define _ACL_DEFAULT_EXISTS 112,3989 -#define _ACL_XFS_IACCESS(_ACL_XFS_IACCESS113,4024 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir_leaf.h,1568 -#define __XFS_DIR_LEAF_H__33,1365 -#define XFS_DIR_LEAF_MAPSIZE 82,3344 -typedef struct xfs_dir_leafblock xfs_dir_leafblock84,3407 - struct xfs_dir_leaf_hdr xfs_dir_leaf_hdr85,3442 - struct xfs_dir_leaf_map xfs_dir_leaf_map92,3813 - struct xfs_dir_leaf_entry xfs_dir_leaf_entry97,4038 - struct xfs_dir_leaf_name xfs_dir_leaf_name103,4306 -} xfs_dir_leafblock_t;xfs_dir_leafblock_t107,4486 -typedef struct xfs_dir_leaf_hdr xfs_dir_leaf_hdr_t;xfs_dir_leaf_hdr_t108,4509 -typedef struct xfs_dir_leaf_map xfs_dir_leaf_map_t;xfs_dir_leaf_map_t109,4561 -typedef struct xfs_dir_leaf_entry xfs_dir_leaf_entry_t;xfs_dir_leaf_entry_t110,4613 -typedef struct xfs_dir_leaf_name xfs_dir_leaf_name_t;xfs_dir_leaf_name_t111,4669 -#define XFS_DIR_LEAF_CAN_DOUBLE_SPLIT_LEN 117,4814 -typedef int (*xfs_dir_put_t)xfs_dir_put_t122,5017 -} xfs_dircook_t;xfs_dircook_t138,5473 -#define XFS_PUT_COOKIE(XFS_PUT_COOKIE140,5491 -#define XFS_GET_DIR_INO_ARCH(XFS_GET_DIR_INO_ARCH143,5607 -#define XFS_GET_DIR_INO(XFS_GET_DIR_INO145,5682 -typedef struct xfs_dir_put_argsxfs_dir_put_args148,5763 -} xfs_dir_put_args_t;xfs_dir_put_args_t158,6160 -#define XFS_DIR_LEAF_ENTSIZE_BYNAME(XFS_DIR_LEAF_ENTSIZE_BYNAME162,6301 -#define XFS_DIR_LEAF_ENTSIZE_BYNAME(XFS_DIR_LEAF_ENTSIZE_BYNAME164,6381 -#define XFS_DIR_LEAF_ENTSIZE_BYENTRY(XFS_DIR_LEAF_ENTSIZE_BYENTRY169,6644 -#define XFS_DIR_LEAF_ENTSIZE_BYENTRY(XFS_DIR_LEAF_ENTSIZE_BYENTRY172,6733 -#define XFS_DIR_LEAF_NAMESTRUCT(XFS_DIR_LEAF_NAMESTRUCT178,7033 -#define XFS_DIR_LEAF_NAMESTRUCT(XFS_DIR_LEAF_NAMESTRUCT181,7126 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_types.h,4081 -#define __XFS_TYPES_H__33,1362 -typedef unsigned char uchar_t;uchar_t40,1433 -typedef unsigned short ushort_t;ushort_t41,1465 -typedef unsigned int uint_t;uint_t42,1499 -typedef unsigned long ulong_t;ulong_t43,1529 -typedef signed char __int8_t;__int8_t48,1609 -typedef unsigned char __uint8_t;__uint8_t49,1640 -typedef signed short int __int16_t;__int16_t50,1674 -typedef unsigned short int __uint16_t;__uint16_t51,1710 -typedef signed int __int32_t;__int32_t52,1749 -typedef unsigned int __uint32_t;__uint32_t53,1780 -typedef signed long long int __int64_t;__int64_t54,1814 -typedef unsigned long long int __uint64_t;__uint64_t55,1854 -typedef enum { B_FALSE,57,1898 -typedef enum { B_FALSE,B_TRUE 57,1898 -typedef enum { B_FALSE,B_TRUE } boolean_t;boolean_t57,1898 -typedef __int64_t prid_t;prid_t58,1941 -typedef __uint32_t inst_t;inst_t59,1986 -typedef __s64 xfs_off_t;xfs_off_t61,2037 -typedef __u64 xfs_ino_t;xfs_ino_t62,2089 -typedef __s64 xfs_daddr_t;xfs_daddr_t63,2135 -typedef char * xfs_caddr_t;xfs_caddr_t64,2190 -typedef __u32 xfs_dev_t;xfs_dev_t65,2246 -typedef __int32_t __psint_t;__psint_t69,2346 -typedef __uint32_t __psunsigned_t;__psunsigned_t70,2375 -typedef __int64_t __psint_t;__psint_t72,2438 -typedef __uint64_t __psunsigned_t;__psunsigned_t73,2467 -typedef __uint32_t xfs_agblock_t;xfs_agblock_t80,2579 -typedef __uint32_t xfs_extlen_t;xfs_extlen_t81,2643 -typedef __uint32_t xfs_agnumber_t;xfs_agnumber_t82,2706 -typedef __int32_t xfs_extnum_t;xfs_extnum_t83,2771 -typedef __int16_t xfs_aextnum_t;xfs_aextnum_t84,2832 -typedef __int64_t xfs_fsize_t;xfs_fsize_t85,2902 -typedef __uint64_t xfs_ufsize_t;xfs_ufsize_t86,2955 -typedef __int32_t xfs_suminfo_t;xfs_suminfo_t88,3020 -typedef __int32_t xfs_rtword_t;xfs_rtword_t89,3087 -typedef __int64_t xfs_lsn_t;xfs_lsn_t91,3161 -typedef __int32_t xfs_tid_t;xfs_tid_t92,3216 -typedef __uint32_t xfs_dablk_t;xfs_dablk_t94,3275 -typedef __uint32_t xfs_dahash_t;xfs_dahash_t95,3345 -typedef __uint16_t xfs_prid_t;xfs_prid_t97,3405 -typedef __uint64_t xfs_dfsbno_t;xfs_dfsbno_t103,3580 -typedef __uint64_t xfs_drfsbno_t;xfs_drfsbno_t104,3654 -typedef __uint64_t xfs_drtbno_t;xfs_drtbno_t105,3722 -typedef __uint64_t xfs_dfiloff_t;xfs_dfiloff_t106,3793 -typedef __uint64_t xfs_dfilblks_t;xfs_dfilblks_t107,3856 -typedef __uint64_t xfs_fsblock_t;xfs_fsblock_t113,3990 -typedef __uint64_t xfs_rfsblock_t;xfs_rfsblock_t114,4065 -typedef __uint64_t xfs_rtblock_t;xfs_rtblock_t115,4134 -typedef __int64_t xfs_srtblock_t;xfs_srtblock_t116,4206 -typedef __uint32_t xfs_fsblock_t;xfs_fsblock_t118,4284 -typedef __uint32_t xfs_rfsblock_t;xfs_rfsblock_t119,4359 -typedef __uint32_t xfs_rtblock_t;xfs_rtblock_t120,4428 -typedef __int32_t xfs_srtblock_t;xfs_srtblock_t121,4500 -typedef __uint64_t xfs_fileoff_t;xfs_fileoff_t123,4579 -typedef __int64_t xfs_sfiloff_t;xfs_sfiloff_t124,4642 -typedef __uint64_t xfs_filblks_t;xfs_filblks_t125,4711 -typedef __uint8_t xfs_arch_t;xfs_arch_t127,4779 -#define NULLDFSBNO 132,4879 -#define NULLDRFSBNO 133,4917 -#define NULLDRTBNO 134,4957 -#define NULLDFILOFF 135,4995 -#define NULLFSBLOCK 137,5036 -#define NULLRFSBLOCK 138,5076 -#define NULLRTBLOCK 139,5118 -#define NULLFILEOFF 140,5158 -#define NULLAGBLOCK 142,5199 -#define NULLAGNUMBER 143,5239 -#define NULLEXTNUM 144,5281 -#define NULLCOMMITLSN 146,5320 -#define MAXEXTLEN 151,5409 -#define MAXEXTNUM 152,5468 -#define MAXAEXTNUM 153,5530 -#define MAXNAMELEN 159,5715 -typedef struct xfs_dirent xfs_dirent161,5739 -} xfs_dirent_t;xfs_dirent_t166,5988 -#define DIRENTBASESIZE 168,6005 -#define DIRENTSIZE(DIRENTSIZE169,6071 - XFS_LOOKUP_EQi,174,6200 - XFS_LOOKUP_EQi, XFS_LOOKUP_LEi,174,6200 - XFS_LOOKUP_EQi, XFS_LOOKUP_LEi, XFS_LOOKUP_GEi174,6200 -} xfs_lookup_t;xfs_lookup_t175,6248 - XFS_BTNUM_BNOi,178,6280 - XFS_BTNUM_BNOi, XFS_BTNUM_CNTi,178,6280 - XFS_BTNUM_BNOi, XFS_BTNUM_CNTi, XFS_BTNUM_BMAPi,178,6280 - XFS_BTNUM_BNOi, XFS_BTNUM_CNTi, XFS_BTNUM_BMAPi, XFS_BTNUM_INOi,178,6280 - XFS_BTNUM_MAX179,6346 -} xfs_btnum_t;xfs_btnum_t180,6361 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dfrag.h,150 -#define __XFS_DFRAG_H__33,1357 -typedef struct xfs_swapextxfs_swapext39,1425 -} xfs_swapext_t;xfs_swapext_t48,1765 -#define XFS_SX_VERSION 53,1806 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_btree.c,824 -kmem_zone_t *xfs_btree_cur_zone;66,2022 -const __uint32_t xfs_magics[71,2087 -xfs_btree_maxrecs(96,2626 -xfs_btree_check_block(123,3274 -xfs_btree_check_key(141,3771 -xfs_btree_check_lblock(196,5126 -xfs_btree_check_lptr(232,6463 -xfs_btree_check_rec(252,6887 -xfs_btree_check_sblock(311,8362 -xfs_btree_check_sptr(352,9894 -xfs_btree_del_cursor(373,10400 -xfs_btree_dup_cursor(412,11455 -xfs_btree_firstrec(472,13214 -xfs_btree_get_block(501,13972 -xfs_btree_get_bufl(530,14784 -xfs_btree_get_bufs(552,15429 -xfs_btree_init_cursor(576,16185 -xfs_btree_islastblock(666,18543 -xfs_btree_lastrec(686,19211 -xfs_btree_offsets(715,19980 -xfs_btree_read_bufl(751,20817 -xfs_btree_read_bufs(782,21634 -xfs_btree_reada_bufl(823,22718 -xfs_btree_reada_bufs(841,23161 -xfs_btree_readahead_core(860,23691 -xfs_btree_setbuf(922,25610 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_attr.h,1399 -#define __XFS_ATTR_H__33,1367 -typedef int (*attrset_t)attrset_t55,2130 -typedef int (*attrget_t)attrget_t56,2201 -typedef int (*attrremove_t)attrremove_t57,2272 -typedef int (*attrexists_t)attrexists_t58,2330 -typedef int (*attrcapable_t)attrcapable_t59,2375 -typedef struct attrnames attrnames61,2437 -} attrnames_t;attrnames_t70,2662 -#define ATTR_NAMECOUNT 72,2678 -#define ATTR_SYSCOUNT 79,2909 -#define ATTR_DONTFOLLOW 87,3229 -#define ATTR_ROOT 88,3290 -#define ATTR_TRUST 89,3359 -#define ATTR_SECURE 90,3415 -#define ATTR_CREATE 91,3480 -#define ATTR_REPLACE 92,3554 -#define ATTR_SYSTEM 93,3626 -#define ATTR_KERNACCESS 95,3699 -#define ATTR_KERNOTIME 96,3775 -#define ATTR_KERNOVAL 97,3850 -#define ATTR_KERNAMELS 98,3924 -#define ATTR_KERNORMALS 100,4000 -#define ATTR_KERNROOTLS 101,4076 -#define ATTR_KERNFULLS 102,4152 -#define ATTR_MAX_VALUELEN 109,4407 -typedef struct attrlist attrlist117,4767 -} attrlist_t;attrlist_t121,4961 -typedef struct attrlist_ent attrlist_ent127,5084 -} attrlist_ent_t;attrlist_ent_t130,5248 -#define ATTR_ENTRY(ATTR_ENTRY136,5426 -typedef struct attr_multiop attr_multiop143,5600 -} attr_multiop_t;attr_multiop_t150,5994 -#define ATTR_OP_GET 152,6013 -#define ATTR_OP_SET 153,6075 -#define ATTR_OP_REMOVE 154,6144 -typedef struct attrlist_cursor_kern attrlist_cursor_kern159,6260 -} attrlist_cursor_kern_t;attrlist_cursor_kern_t166,6613 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_fsops.h,32 -#define __XFS_FSOPS_H__33,1362 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2.c,526 -xfs_dirops_t xfsv2_dirops 107,3540 -xfs_dir2_mount(129,4125 -xfs_dir2_isempty(153,5026 -xfs_dir2_init(175,5535 -xfs_dir2_createname(197,6110 -xfs_dir2_lookup(253,7706 -xfs_dir2_removename(308,9083 -xfs_dir2_getdents(360,10585 -xfs_dir2_replace(411,12151 -xfs_dir2_canenter(466,13729 -xfs_dir2_shortform_validate_ondisk(515,15030 -xfs_dir2_grow_inode(532,15368 -xfs_dir2_isblock(670,18937 -xfs_dir2_isleaf(693,19553 -xfs_dir2_put_dirent64_direct(714,20109 -xfs_dir2_put_dirent64_uio(751,20983 -xfs_dir2_shrink_inode(787,21841 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir.h,1492 -#define __XFS_DIR_H__33,1355 -typedef void (*xfs_dir_mount_t)xfs_dir_mount_t62,2295 -typedef int (*xfs_dir_isempty_t)xfs_dir_isempty_t63,2350 -typedef int (*xfs_dir_init_t)xfs_dir_init_t64,2406 -typedef int (*xfs_dir_createname_t)xfs_dir_createname_t67,2516 -typedef int (*xfs_dir_lookup_t)xfs_dir_lookup_t75,2744 -typedef int (*xfs_dir_removename_t)xfs_dir_removename_t80,2895 -typedef int (*xfs_dir_getdents_t)xfs_dir_getdents_t88,3122 -typedef int (*xfs_dir_replace_t)xfs_dir_replace_t92,3259 -typedef int (*xfs_dir_canenter_t)xfs_dir_canenter_t100,3512 -typedef int (*xfs_dir_shortform_validate_ondisk_t)xfs_dir_shortform_validate_ondisk_t104,3646 -typedef int (*xfs_dir_shortform_to_single_t)xfs_dir_shortform_to_single_t106,3757 -typedef struct xfs_dirops xfs_dirops108,3830 -} xfs_dirops_t;xfs_dirops_t120,4284 -#define XFS_DIR_MOUNT(XFS_DIR_MOUNT127,4403 -#define XFS_DIR_ISEMPTY(XFS_DIR_ISEMPTY129,4462 -#define XFS_DIR_INIT(XFS_DIR_INIT131,4528 -#define XFS_DIR_CREATENAME(XFS_DIR_CREATENAME133,4602 -#define XFS_DIR_LOOKUP(XFS_DIR_LOOKUP136,4764 -#define XFS_DIR_REMOVENAME(XFS_DIR_REMOVENAME138,4870 -#define XFS_DIR_GETDENTS(XFS_DIR_GETDENTS140,5018 -#define XFS_DIR_REPLACE(XFS_DIR_REPLACE142,5110 -#define XFS_DIR_CANENTER(XFS_DIR_CANENTER144,5254 -#define XFS_DIR_SHORTFORM_VALIDATE_ONDISK(XFS_DIR_SHORTFORM_VALIDATE_ONDISK146,5354 -#define XFS_DIR_SHORTFORM_TO_SINGLE(XFS_DIR_SHORTFORM_TO_SINGLE148,5461 -#define XFS_DIR_IS_V1(XFS_DIR_IS_V1151,5556 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_extfree_item.c,943 -kmem_zone_t *xfs_efi_zone;54,1747 -kmem_zone_t *xfs_efd_zone;55,1774 -xfs_efi_item_size(70,2159 -xfs_efi_item_format(83,2527 -xfs_efi_item_pin(107,3096 -xfs_efi_item_unpin(121,3406 -xfs_efi_item_unpin_remove(160,4402 -xfs_efi_item_trylock(209,5689 -xfs_efi_item_unlock(219,5844 -xfs_efi_item_committed(234,6248 -xfs_efi_item_abort(246,6618 -xfs_efi_item_push(269,7126 -xfs_efi_item_committing(283,7551 -struct xfs_item_ops xfs_efi_item_ops 291,7692 -xfs_efi_init(315,8641 -xfs_efi_release(353,9732 -xfs_efi_cancel(398,10861 -xfs_efd_item_size(441,11701 -xfs_efd_item_format(454,12069 -xfs_efd_item_pin(478,12638 -xfs_efd_item_unpin(490,12807 -xfs_efd_item_unpin_remove(497,12902 -xfs_efd_item_trylock(507,13071 -xfs_efd_item_unlock(518,13285 -xfs_efd_item_committed(534,13717 -xfs_efd_item_abort(566,14671 -xfs_efd_item_push(596,15429 -xfs_efd_item_committing(610,15854 -struct xfs_item_ops xfs_efd_item_ops 618,15995 -xfs_efd_init(642,16943 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_sb.h,9037 -#define __XFS_SB_H__33,1359 -#define XFS_SB_MAGIC 44,1578 -#define XFS_SB_VERSION_1 45,1624 -#define XFS_SB_VERSION_2 46,1674 -#define XFS_SB_VERSION_3 47,1725 -#define XFS_SB_VERSION_4 48,1783 -#define XFS_SB_VERSION_NUMBITS 49,1840 -#define XFS_SB_VERSION_ALLFBITS 50,1879 -#define XFS_SB_VERSION_SASHFBITS 51,1919 -#define XFS_SB_VERSION_REALFBITS 52,1959 -#define XFS_SB_VERSION_ATTRBIT 53,1999 -#define XFS_SB_VERSION_NLINKBIT 54,2038 -#define XFS_SB_VERSION_QUOTABIT 55,2078 -#define XFS_SB_VERSION_ALIGNBIT 56,2118 -#define XFS_SB_VERSION_DALIGNBIT 57,2158 -#define XFS_SB_VERSION_SHAREDBIT 58,2198 -#define XFS_SB_VERSION_LOGV2BIT 59,2238 -#define XFS_SB_VERSION_SECTORBIT 60,2278 -#define XFS_SB_VERSION_EXTFLGBIT 61,2318 -#define XFS_SB_VERSION_DIRV2BIT 62,2358 -#define XFS_SB_VERSION_MOREBITSBIT 63,2398 -#define XFS_SB_VERSION_OKSASHFBITS 64,2440 -#define XFS_SB_VERSION_OKREALFBITS 67,2535 -#define XFS_SB_VERSION_OKSASHBITS 76,2811 -#define XFS_SB_VERSION_OKREALBITS 80,2937 -#define XFS_SB_VERSION_MKFS(XFS_SB_VERSION_MKFS84,3065 -#define XFS_SB_VERSION2_REALFBITS 104,3861 -#define XFS_SB_VERSION2_RESERVED1BIT 105,3927 -#define XFS_SB_VERSION2_SASHFBITS 106,3975 -#define XFS_SB_VERSION2_OKREALFBITS 110,4098 -#define XFS_SB_VERSION2_OKSASHFBITS 112,4141 -#define XFS_SB_VERSION2_OKREALBITS 114,4184 -#define XFS_SB_VERSION2_MKFS(XFS_SB_VERSION2_MKFS121,4337 -typedef struct xfs_sbxfs_sb124,4391 -} xfs_sb_t;xfs_sb_t180,7092 - XFS_SBS_MAGICNUM,186,7169 - XFS_SBS_MAGICNUM, XFS_SBS_BLOCKSIZE,186,7169 - XFS_SBS_MAGICNUM, XFS_SBS_BLOCKSIZE, XFS_SBS_DBLOCKS,186,7169 - XFS_SBS_MAGICNUM, XFS_SBS_BLOCKSIZE, XFS_SBS_DBLOCKS, XFS_SBS_RBLOCKS,186,7169 - XFS_SBS_REXTENTS,187,7241 - XFS_SBS_REXTENTS, XFS_SBS_UUID,187,7241 - XFS_SBS_REXTENTS, XFS_SBS_UUID, XFS_SBS_LOGSTART,187,7241 - XFS_SBS_REXTENTS, XFS_SBS_UUID, XFS_SBS_LOGSTART, XFS_SBS_ROOTINO,187,7241 - XFS_SBS_RBMINO,188,7309 - XFS_SBS_RBMINO, XFS_SBS_RSUMINO,188,7309 - XFS_SBS_RBMINO, XFS_SBS_RSUMINO, XFS_SBS_REXTSIZE,188,7309 - XFS_SBS_RBMINO, XFS_SBS_RSUMINO, XFS_SBS_REXTSIZE, XFS_SBS_AGBLOCKS,188,7309 - XFS_SBS_AGCOUNT,189,7379 - XFS_SBS_AGCOUNT, XFS_SBS_RBMBLOCKS,189,7379 - XFS_SBS_AGCOUNT, XFS_SBS_RBMBLOCKS, XFS_SBS_LOGBLOCKS,189,7379 - XFS_SBS_VERSIONNUM,190,7435 - XFS_SBS_VERSIONNUM, XFS_SBS_SECTSIZE,190,7435 - XFS_SBS_VERSIONNUM, XFS_SBS_SECTSIZE, XFS_SBS_INODESIZE,190,7435 - XFS_SBS_INOPBLOCK,191,7493 - XFS_SBS_INOPBLOCK, XFS_SBS_FNAME,191,7493 - XFS_SBS_INOPBLOCK, XFS_SBS_FNAME, XFS_SBS_BLOCKLOG,191,7493 - XFS_SBS_SECTLOG,192,7546 - XFS_SBS_SECTLOG, XFS_SBS_INODELOG,192,7546 - XFS_SBS_SECTLOG, XFS_SBS_INODELOG, XFS_SBS_INOPBLOG,192,7546 - XFS_SBS_SECTLOG, XFS_SBS_INODELOG, XFS_SBS_INOPBLOG, XFS_SBS_AGBLKLOG,192,7546 - XFS_SBS_REXTSLOG,193,7618 - XFS_SBS_REXTSLOG, XFS_SBS_INPROGRESS,193,7618 - XFS_SBS_REXTSLOG, XFS_SBS_INPROGRESS, XFS_SBS_IMAX_PCT,193,7618 - XFS_SBS_REXTSLOG, XFS_SBS_INPROGRESS, XFS_SBS_IMAX_PCT, XFS_SBS_ICOUNT,193,7618 - XFS_SBS_IFREE,194,7691 - XFS_SBS_IFREE, XFS_SBS_FDBLOCKS,194,7691 - XFS_SBS_IFREE, XFS_SBS_FDBLOCKS, XFS_SBS_FREXTENTS,194,7691 - XFS_SBS_IFREE, XFS_SBS_FDBLOCKS, XFS_SBS_FREXTENTS, XFS_SBS_UQUOTINO,194,7691 - XFS_SBS_GQUOTINO,195,7762 - XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS,195,7762 - XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS, XFS_SBS_FLAGS,195,7762 - XFS_SBS_GQUOTINO, XFS_SBS_QFLAGS, XFS_SBS_FLAGS, XFS_SBS_SHARED_VN,195,7762 - XFS_SBS_INOALIGNMT,196,7831 - XFS_SBS_INOALIGNMT, XFS_SBS_UNIT,196,7831 - XFS_SBS_INOALIGNMT, XFS_SBS_UNIT, XFS_SBS_WIDTH,196,7831 - XFS_SBS_INOALIGNMT, XFS_SBS_UNIT, XFS_SBS_WIDTH, XFS_SBS_DIRBLKLOG,196,7831 - XFS_SBS_LOGSECTLOG,197,7900 - XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE,197,7900 - XFS_SBS_LOGSECTLOG, XFS_SBS_LOGSECTSIZE, XFS_SBS_LOGSUNIT,197,7900 - XFS_SBS_FEATURES2,198,7960 - XFS_SBS_FIELDCOUNT199,7980 -} xfs_sb_field_t;xfs_sb_field_t200,8000 -#define XFS_SB_MVAL(XFS_SB_MVAL206,8123 -#define XFS_SB_UUID 207,8170 -#define XFS_SB_FNAME 208,8209 -#define XFS_SB_ROOTINO 209,8250 -#define XFS_SB_RBMINO 210,8295 -#define XFS_SB_RSUMINO 211,8338 -#define XFS_SB_VERSIONNUM 212,8383 -#define XFS_SB_UQUOTINO 213,8433 -#define XFS_SB_GQUOTINO 214,8480 -#define XFS_SB_QFLAGS 215,8527 -#define XFS_SB_SHARED_VN 216,8570 -#define XFS_SB_UNIT 217,8618 -#define XFS_SB_WIDTH 218,8657 -#define XFS_SB_NUM_BITS 219,8698 -#define XFS_SB_ALL_BITS 220,8749 -#define XFS_SB_MOD_BITS 221,8805 -#define XFS_SBF_NOFLAGS 230,9150 -#define XFS_SBF_READONLY 231,9199 -#define XFS_SB_MAX_SHARED_VN 236,9328 -#define XFS_SB_VERSION_NUM(XFS_SB_VERSION_NUM240,9466 -#define XFS_SB_VERSION_NUM(XFS_SB_VERSION_NUM242,9528 -#define XFS_SB_GOOD_VERSION(XFS_SB_GOOD_VERSION247,9724 -#define XFS_SB_GOOD_VERSION_INT(XFS_SB_GOOD_VERSION_INT249,9788 -#define XFS_SB_GOOD_VERSION(XFS_SB_GOOD_VERSION258,10196 -#define XFS_SB_GOOD_VERSION(XFS_SB_GOOD_VERSION268,10555 -#define XFS_SB_GOOD_SASH_VERSION(XFS_SB_GOOD_SASH_VERSION275,10771 -#define XFS_SB_VERSION_TONEW(XFS_SB_VERSION_TONEW283,11139 -#define XFS_SB_VERSION_TONEW(XFS_SB_VERSION_TONEW285,11201 -#define XFS_SB_VERSION_TOOLD(XFS_SB_VERSION_TOOLD296,11539 -#define XFS_SB_VERSION_TOOLD(XFS_SB_VERSION_TOOLD298,11601 -#define XFS_SB_VERSION_HASATTR(XFS_SB_VERSION_HASATTR310,11983 -#define XFS_SB_VERSION_HASATTR(XFS_SB_VERSION_HASATTR312,12053 -#define XFS_SB_VERSION_ADDATTR(XFS_SB_VERSION_ADDATTR321,12421 -#define XFS_SB_VERSION_ADDATTR(XFS_SB_VERSION_ADDATTR323,12491 -#define XFS_SB_VERSION_HASNLINK(XFS_SB_VERSION_HASNLINK334,12911 -#define XFS_SB_VERSION_HASNLINK(XFS_SB_VERSION_HASNLINK336,12983 -#define XFS_SB_VERSION_ADDNLINK(XFS_SB_VERSION_ADDNLINK344,13305 -#define XFS_SB_VERSION_ADDNLINK(XFS_SB_VERSION_ADDNLINK346,13377 -#define XFS_SB_VERSION_HASQUOTA(XFS_SB_VERSION_HASQUOTA355,13691 -#define XFS_SB_VERSION_HASQUOTA(XFS_SB_VERSION_HASQUOTA357,13763 -#define XFS_SB_VERSION_ADDQUOTA(XFS_SB_VERSION_ADDQUOTA364,14032 -#define XFS_SB_VERSION_ADDQUOTA(XFS_SB_VERSION_ADDQUOTA366,14104 -#define XFS_SB_VERSION_HASALIGN(XFS_SB_VERSION_HASALIGN376,14480 -#define XFS_SB_VERSION_HASALIGN(XFS_SB_VERSION_HASALIGN378,14552 -#define XFS_SB_VERSION_SUBALIGN(XFS_SB_VERSION_SUBALIGN385,14821 -#define XFS_SB_VERSION_SUBALIGN(XFS_SB_VERSION_SUBALIGN387,14893 -#define XFS_SB_VERSION_HASDALIGN(XFS_SB_VERSION_HASDALIGN394,15158 -#define XFS_SB_VERSION_HASDALIGN(XFS_SB_VERSION_HASDALIGN396,15232 -#define XFS_SB_VERSION_ADDDALIGN(XFS_SB_VERSION_ADDDALIGN403,15504 -#define XFS_SB_VERSION_ADDDALIGN(XFS_SB_VERSION_ADDDALIGN405,15578 -#define XFS_SB_VERSION_HASSHARED(XFS_SB_VERSION_HASSHARED412,15824 -#define XFS_SB_VERSION_HASSHARED(XFS_SB_VERSION_HASSHARED414,15898 -#define XFS_SB_VERSION_ADDSHARED(XFS_SB_VERSION_ADDSHARED421,16170 -#define XFS_SB_VERSION_ADDSHARED(XFS_SB_VERSION_ADDSHARED423,16244 -#define XFS_SB_VERSION_SUBSHARED(XFS_SB_VERSION_SUBSHARED430,16490 -#define XFS_SB_VERSION_SUBSHARED(XFS_SB_VERSION_SUBSHARED432,16564 -#define XFS_SB_VERSION_HASDIRV2(XFS_SB_VERSION_HASDIRV2439,16809 -#define XFS_SB_VERSION_HASDIRV2(XFS_SB_VERSION_HASDIRV2441,16881 -#define XFS_SB_VERSION_HASLOGV2(XFS_SB_VERSION_HASLOGV2448,17149 -#define XFS_SB_VERSION_HASLOGV2(XFS_SB_VERSION_HASLOGV2450,17223 -#define XFS_SB_VERSION_HASEXTFLGBIT(XFS_SB_VERSION_HASEXTFLGBIT457,17500 -#define XFS_SB_VERSION_HASEXTFLGBIT(XFS_SB_VERSION_HASEXTFLGBIT459,17580 -#define XFS_SB_VERSION_ADDEXTFLGBIT(XFS_SB_VERSION_ADDEXTFLGBIT466,17861 -#define XFS_SB_VERSION_ADDEXTFLGBIT(XFS_SB_VERSION_ADDEXTFLGBIT468,17941 -#define XFS_SB_VERSION_SUBEXTFLGBIT(XFS_SB_VERSION_SUBEXTFLGBIT475,18196 -#define XFS_SB_VERSION_SUBEXTFLGBIT(XFS_SB_VERSION_SUBEXTFLGBIT477,18276 -#define XFS_SB_VERSION_HASSECTOR(XFS_SB_VERSION_HASSECTOR484,18526 -#define XFS_SB_VERSION_HASSECTOR(XFS_SB_VERSION_HASSECTOR486,18602 -#define XFS_SB_VERSION_HASMOREBITS(XFS_SB_VERSION_HASMOREBITS493,18882 -#define XFS_SB_VERSION_HASMOREBITS(XFS_SB_VERSION_HASMOREBITS495,18960 -#define XFS_SB_DADDR 514,19411 -#define XFS_SB_BLOCK(XFS_SB_BLOCK517,19589 -#define XFS_SB_BLOCK(XFS_SB_BLOCK519,19637 -#define XFS_HDR_BLOCK(XFS_HDR_BLOCK524,19830 -#define XFS_HDR_BLOCK(XFS_HDR_BLOCK526,19884 -#define XFS_DADDR_TO_FSB(XFS_DADDR_TO_FSB530,20093 -#define XFS_DADDR_TO_FSB(XFS_DADDR_TO_FSB532,20154 -#define XFS_FSB_TO_DADDR(XFS_FSB_TO_DADDR537,20403 -#define XFS_FSB_TO_DADDR(XFS_FSB_TO_DADDR539,20471 -#define XFS_BUF_TO_SBP(XFS_BUF_TO_SBP546,20708 -#define XFS_BUF_TO_SBP(XFS_BUF_TO_SBP548,20760 -#define XFS_FSS_TO_BB(XFS_FSS_TO_BB554,20882 -#define XFS_BB_TO_FSS(XFS_BB_TO_FSS555,20942 -#define XFS_BB_TO_FSST(XFS_BB_TO_FSST557,21033 -#define XFS_FSS_TO_B(XFS_FSS_TO_B562,21143 -#define XFS_B_TO_FSST(XFS_B_TO_FSST563,21224 -#define XFS_FSB_TO_BB(XFS_FSB_TO_BB568,21354 -#define XFS_BB_TO_FSB(XFS_BB_TO_FSB569,21417 -#define XFS_BB_TO_FSBT(XFS_BB_TO_FSBT571,21507 -#define XFS_BB_FSB_OFFSET(XFS_BB_FSB_OFFSET572,21565 -#define XFS_FSB_TO_B(XFS_FSB_TO_B577,21677 -#define XFS_B_TO_FSB(XFS_B_TO_FSB578,21757 -#define XFS_B_TO_FSBT(XFS_B_TO_FSBT580,21855 -#define XFS_B_FSB_OFFSET(XFS_B_FSB_OFFSET581,21929 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_bmap.h,1304 -#define __XFS_BMAP_H__33,1361 -typedef struct xfs_bmap_free_itemxfs_bmap_free_item45,1570 -} xfs_bmap_free_item_t;xfs_bmap_free_item_t50,1797 -typedef struct xfs_bmap_freexfs_bmap_free55,1861 -} xfs_bmap_free_t;xfs_bmap_free_t60,2054 -#define XFS_BMAP_MAX_NMAP 62,2074 -#define XFS_BMAPI_WRITE 67,2133 -#define XFS_BMAPI_DELAY 68,2202 -#define XFS_BMAPI_ENTIRE 69,2263 -#define XFS_BMAPI_METADATA 70,2334 -#define XFS_BMAPI_EXACT 71,2404 -#define XFS_BMAPI_ATTRFORK 72,2472 -#define XFS_BMAPI_ASYNC 73,2539 -#define XFS_BMAPI_RSVBLOCKS 74,2606 -#define XFS_BMAPI_PREALLOC 75,2680 -#define XFS_BMAPI_IGSTATE 76,2753 -#define XFS_BMAPI_CONTIG 78,2839 -#define XFS_BMAPI_AFLAG(XFS_BMAPI_AFLAG82,2999 -#define XFS_BMAPI_AFLAG(XFS_BMAPI_AFLAG84,3051 -#define DELAYSTARTBLOCK 90,3200 -#define HOLESTARTBLOCK 91,3247 -#define XFS_BMAP_INIT(XFS_BMAP_INIT95,3418 -#define XFS_BMAP_INIT(XFS_BMAP_INIT97,3478 -typedef struct xfs_bmalloca xfs_bmalloca105,3663 -} xfs_bmalloca_t;xfs_bmalloca_t122,4566 -#define XFS_BMAP_KTRACE_DELETE 130,4683 -#define XFS_BMAP_KTRACE_INSERT 131,4716 -#define XFS_BMAP_KTRACE_PRE_UP 132,4749 -#define XFS_BMAP_KTRACE_POST_UP 133,4782 -#define XFS_BMAP_TRACE_SIZE 135,4817 -#define XFS_BMAP_KTRACE_SIZE 136,4884 -#define xfs_bmap_trace_exlist(xfs_bmap_trace_exlist149,5289 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_attr_leaf.c,1458 -xfs_attr_shortform_create(112,3510 -xfs_attr_shortform_add(143,4368 -xfs_attr_shortform_remove(194,5947 -xfs_attr_shortform_lookup(246,7314 -xfs_attr_shortform_getvalue(279,8149 -xfs_attr_shortform_to_leaf(320,9364 -xfs_attr_shortform_compare(405,11646 -xfs_attr_shortform_list(431,12380 -xfs_attr_shortform_allfit(609,17280 -xfs_attr_leaf_to_shortform(643,18285 -xfs_attr_leaf_to_node(713,20263 -xfs_attr_leaf_create(778,21934 -xfs_attr_leaf_split(820,23057 -xfs_attr_leaf_add(872,24459 -xfs_attr_leaf_add_work(943,26611 -xfs_attr_leaf_compact(1077,31455 -xfs_attr_leaf_rebalance(1138,33465 -xfs_attr_leaf_figure_balance(1314,39025 -#define XFS_ATTR_ABS(XFS_ATTR_ABS1351,40074 -xfs_attr_leaf_toosmall(1421,42004 -xfs_attr_leaf_remove(1545,45693 -xfs_attr_leaf_unbalance(1714,51212 -xfs_attr_leaf_lookup_int(1833,55201 -xfs_attr_leaf_getvalue(1952,58673 -xfs_attr_leaf_moveents(2013,60661 -xfs_attr_leaf_order(2166,65847 -xfs_attr_leaf_lasthash(2193,66719 -xfs_attr_leaf_entsize(2213,67279 -xfs_attr_leaf_newentsize(2240,68147 -xfs_attr_leaf_list_int(2262,68602 -#define ATTR_ENTBASESIZE 2371,71646 -#define ATTR_ENTSIZE(ATTR_ENTSIZE2373,71762 -xfs_attr_put_listent(2384,72132 -xfs_attr_leaf_clearflag(2443,73951 -xfs_attr_leaf_setflag(2515,75883 -xfs_attr_leaf_flipflags(2569,77380 -xfs_attr_root_inactive(2690,81074 -xfs_attr_node_inactive(2744,82502 -xfs_attr_leaf_inactive(2853,85465 -xfs_attr_leaf_freextent(2938,87740 -xfs_attr_rolltrans(3000,89141 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_log_priv.h,4681 -#define __XFS_LOG_PRIV_H__33,1365 -#define XLOG_MIN_ICLOGS 45,1550 -#define XLOG_MED_ICLOGS 46,1577 -#define XLOG_MAX_ICLOGS 47,1604 -#define XLOG_CALLBACK_SIZE 48,1631 -#define XLOG_HEADER_MAGIC_NUM 49,1661 -#define XLOG_VERSION_1 50,1729 -#define XLOG_VERSION_2 51,1755 -#define XLOG_VERSION_OKBITS 52,1812 -#define XLOG_RECORD_BSIZE 53,1874 -#define XLOG_BIG_RECORD_BSIZE 54,1931 -#define XLOG_MAX_RECORD_BSIZE 55,1989 -#define XLOG_HEADER_CYCLE_SIZE 56,2030 -#define XLOG_RECORD_BSHIFT 57,2098 -#define XLOG_BIG_RECORD_BSHIFT 58,2152 -#define XLOG_MAX_RECORD_BSHIFT 59,2208 -#define XLOG_BTOLSUNIT(XLOG_BTOLSUNIT60,2265 -#define XLOG_LSUNITTOB(XLOG_LSUNITTOB62,2404 -#define XLOG_HEADER_SIZE 64,2476 -#define XLOG_REC_SHIFT(XLOG_REC_SHIFT66,2506 -#define XLOG_TOTAL_REC_SHIFT(XLOG_TOTAL_REC_SHIFT69,2647 -#define ASSIGN_LSN_CYCLE(ASSIGN_LSN_CYCLE77,2830 -#define ASSIGN_LSN_BLOCK(ASSIGN_LSN_BLOCK79,2942 -#define ASSIGN_ANY_LSN(ASSIGN_ANY_LSN81,3054 -#define ASSIGN_LSN(ASSIGN_LSN86,3190 -#define XLOG_SET(XLOG_SET89,3296 -#define GET_CYCLE(GET_CYCLE91,3341 -#define BLK_AVG(BLK_AVG97,3517 -#define GET_CLIENT_ID(GET_CLIENT_ID116,3969 -#define GET_CLIENT_ID(GET_CLIENT_ID119,4024 -#define XLOG_GRANT_SUB_SPACE(XLOG_GRANT_SUB_SPACE125,4214 -#define XLOG_GRANT_SUB_SPACE(XLOG_GRANT_SUB_SPACE128,4305 -#define XLOG_GRANT_ADD_SPACE(XLOG_GRANT_ADD_SPACE147,4964 -#define XLOG_GRANT_ADD_SPACE(XLOG_GRANT_ADD_SPACE150,5055 -#define XLOG_INS_TICKETQ(XLOG_INS_TICKETQ167,5606 -#define XLOG_DEL_TICKETQ(XLOG_DEL_TICKETQ180,5936 -#define GRANT_LOCK(GRANT_LOCK194,6268 -#define GRANT_UNLOCK(GRANT_UNLOCK195,6330 -#define LOG_LOCK(LOG_LOCK196,6401 -#define LOG_UNLOCK(LOG_UNLOCK197,6460 -#define xlog_panic(xlog_panic199,6529 -#define xlog_exit(xlog_exit200,6584 -#define xlog_warn(xlog_warn201,6638 -#define XLOG_STATE_ACTIVE 206,6720 -#define XLOG_STATE_WANT_SYNC 207,6794 -#define XLOG_STATE_SYNCING 208,6876 -#define XLOG_STATE_DONE_SYNC 209,6941 -#define XLOG_STATE_DO_CALLBACK 210,7004 -#define XLOG_STATE_CALLBACK 212,7085 -#define XLOG_STATE_DIRTY 213,7150 -#define XLOG_STATE_IOERROR 214,7233 -#define XLOG_STATE_ALL 215,7309 -#define XLOG_STATE_NOTUSED 216,7375 -#define XLOG_START_TRANS 230,7953 -#define XLOG_COMMIT_TRANS 231,8013 -#define XLOG_CONTINUE_TRANS 232,8074 -#define XLOG_WAS_CONT_TRANS 233,8145 -#define XLOG_END_TRANS 234,8216 -#define XLOG_UNMOUNT_TRANS 235,8279 -#define XLOG_SKIP_TRANS 236,8350 -#define XLOG_TIC_INITED 244,8540 -#define XLOG_TIC_PERM_RESERV 245,8596 -#define XLOG_TIC_IN_Q 246,8657 -#define XLOG_UNMOUNT_TYPE 249,8709 -#define XLOG_CHKSUM_MISMATCH 254,8798 -#define XLOG_ACTIVE_RECOVERY 255,8863 -#define XLOG_RECOVERY_NEEDED 256,8928 -#define XLOG_IO_ERROR 257,8985 -typedef __uint32_t xlog_tid_t;xlog_tid_t259,9067 -#define XLOG_STATE_COVER_IDLE 330,12190 -#define XLOG_STATE_COVER_NEED 331,12222 -#define XLOG_STATE_COVER_DONE 332,12254 -#define XLOG_STATE_COVER_NEED2 333,12286 -#define XLOG_STATE_COVER_DONE2 334,12319 -#define XLOG_COVER_OPS 336,12353 -typedef struct xlog_ticket xlog_ticket338,12380 -} xlog_ticket_t;xlog_ticket_t349,12959 -typedef struct xlog_op_header xlog_op_header353,12985 -} xlog_op_header_t;xlog_op_header_t359,13271 -#define XLOG_FMT_UNKNOWN 363,13322 -#define XLOG_FMT_LINUX_LE 364,13350 -#define XLOG_FMT_LINUX_BE 365,13378 -#define XLOG_FMT_IRIX_BE 366,13406 -#define XLOG_FMT 370,13485 -#define XLOG_FMT 373,13559 -typedef struct xlog_rec_header xlog_rec_header379,13641 -} xlog_rec_header_t;xlog_rec_header_t394,14458 -typedef struct xlog_rec_ext_header xlog_rec_ext_header396,14480 -} xlog_rec_ext_header_t;xlog_rec_ext_header_t399,14634 -typedef struct xlog_iclog_fields xlog_iclog_fields418,15516 -} xlog_iclog_fields_t;xlog_iclog_fields_t437,15994 -typedef union xlog_in_core2 xlog_in_core2439,16018 -} xlog_in_core_2_t;xlog_in_core_2_t443,16153 -typedef struct xlog_in_core xlog_in_core445,16174 -} xlog_in_core_t;xlog_in_core_t448,16266 -#define ic_forcesema 453,16336 -#define ic_writesema 454,16381 -#define ic_next 455,16426 -#define ic_prev 456,16462 -#define ic_bp 457,16498 -#define ic_log 458,16530 -#define ic_callback 459,16564 -#define ic_callback_tail 460,16607 -#define ic_trace 461,16660 -#define ic_size 462,16697 -#define ic_offset 463,16733 -#define ic_refcnt 464,16772 -#define ic_roundoff 465,16811 -#define ic_bwritecnt 466,16854 -#define ic_state 467,16899 -#define ic_datap 468,16936 -#define ic_header 469,16973 -typedef struct log log477,17324 -} xlog_t;xlog_t536,19818 -#define XLOG_TRACE_GRAB_FLUSH 557,20591 -#define XLOG_TRACE_REL_FLUSH 558,20624 -#define XLOG_TRACE_SLEEP_FLUSH 559,20657 -#define XLOG_TRACE_WAKE_FLUSH 560,20690 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_log_recover.c,2636 -#define xlog_recover_check_summary(xlog_recover_check_summary75,2498 -#define xlog_recover_check_ail(xlog_recover_check_ail76,2538 -#define XLOG_SECTOR_ROUNDUP_BBCOUNT(XLOG_SECTOR_ROUNDUP_BBCOUNT84,2670 -#define XLOG_SECTOR_ROUNDDOWN_BLKNO(XLOG_SECTOR_ROUNDDOWN_BLKNO87,2850 -xlog_get_bp(90,2941 -xlog_put_bp(105,3256 -xlog_bread(116,3400 -xlog_bwrite(152,4250 -xlog_align(183,4927 -xlog_header_check_dump(205,5322 -#define xlog_header_check_dump(xlog_header_check_dump221,5749 -xlog_header_check_recover(228,5856 -xlog_header_check_mount(261,6852 -xlog_recover_iodone(285,7555 -xlog_find_cycle_start(314,8303 -xlog_find_verify_cycle(358,9568 -xlog_find_verify_log_record(421,11027 -xlog_find_head(532,13901 -xlog_find_tail(798,23259 -xlog_find_zeroed(1000,29457 -xlog_add_record(1098,32201 -xlog_write_log_records(1120,32866 -xlog_clear_stale_blocks(1210,35583 -xlog_recover_find_tid(1333,39347 -xlog_recover_put_hashq(1348,39544 -xlog_recover_add_item(1357,39666 -xlog_recover_add_to_cont_trans(1367,39870 -xlog_recover_add_to_trans(1411,41338 -xlog_recover_new_tid(1457,42523 -xlog_recover_unlink_tid(1471,42786 -xlog_recover_insert_item_backq(1502,43285 -xlog_recover_insert_item_frontq(1518,43585 -xlog_recover_reorder_trans(1527,43742 -xlog_recover_do_buffer_pass1(1594,45605 -xlog_check_buffer_cancelled(1689,48132 -xlog_recover_do_buffer_pass2(1761,49771 -xlog_recover_do_inode_buffer(1802,51023 -xlog_recover_do_reg_buffer(1922,54282 -xfs_qm_dqcheck(1990,56043 -xlog_recover_do_dquot_buffer(2119,60080 -xlog_recover_do_buffer_trans(2173,61941 -xlog_recover_do_inode_trans(2291,65459 -xlog_recover_do_quotaoff_trans(2563,73622 -xlog_recover_do_dquot_trans(2593,74201 -xlog_recover_do_efi_trans(2690,76847 -xlog_recover_do_efd_trans(2735,78126 -xlog_recover_do_trans(2806,79766 -xlog_recover_free_trans(2870,81663 -xlog_recover_commit_trans(2895,82332 -xlog_recover_unmount_trans(2912,82665 -xlog_recover_process_data(2930,83240 -xlog_recover_process_efi(3022,85682 -xlog_recover_check_ail(3077,87218 -xlog_recover_process_efis(3117,88537 -xlog_recover_clear_agi_bucket(3161,89421 -xlog_recover_process_iunlinks(3212,90896 -xlog_pack_data_checksum(3360,94411 -#define xlog_pack_data_checksum(xlog_pack_data_checksum3378,94757 -xlog_pack_data(3385,94864 -xlog_unpack_data_checksum(3425,95860 -#define xlog_unpack_data_checksum(xlog_unpack_data_checksum3456,96753 -xlog_unpack_data(3460,96823 -xlog_valid_rec_header(3488,97510 -xlog_do_recovery_pass(3535,98960 -xlog_do_log_recovery(3790,106715 -xlog_do_recover(3841,107919 -xlog_recover(3914,109720 -xlog_recover_finish(3962,111276 -xlog_recover_check_summary(4010,112609 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_itable.h,305 -#define __XFS_ITABLE_H__33,1363 -typedef int (*bulkstat_one_pf)bulkstat_one_pf41,1685 -#define BULKSTAT_RV_NOTHING 54,1986 -#define BULKSTAT_RV_DIDONE 55,2016 -#define BULKSTAT_RV_GIVEUP 56,2045 -#define BULKSTAT_FG_IGET 61,2120 -#define BULKSTAT_FG_QUICK 62,2183 -#define BULKSTAT_FG_VFSLOCKED 63,2252 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_behavior.h,1109 -#define __XFS_BEHAVIOR_H__33,1365 -typedef struct bhv_head bhv_head101,4373 -} bhv_head_t;bhv_head_t104,4524 -typedef struct bhv_desc bhv_desc110,4672 -} bhv_desc_t;bhv_desc_t115,4907 -typedef struct bhv_identity bhv_identity123,5200 -} bhv_identity_t;bhv_identity_t126,5315 -typedef bhv_identity_t bhv_position_t;bhv_position_t128,5334 -#define BHV_IDENTITY_INIT(BHV_IDENTITY_INIT130,5374 -#define BHV_IDENTITY_INIT_POSITION(BHV_IDENTITY_INIT_POSITION131,5418 -#define BHV_POSITION_INVALID 136,5533 -#define BHV_POSITION_BASE 137,5594 -#define BHV_POSITION_TOP 138,5661 -#define BHV_HEAD_FIRST(BHV_HEAD_FIRST143,5756 -#define BHV_NEXT(BHV_NEXT144,5827 -#define BHV_NEXTNULL(BHV_NEXTNULL145,5891 -#define BHV_VOBJ(BHV_VOBJ146,5934 -#define BHV_VOBJNULL(BHV_VOBJNULL147,5998 -#define BHV_PDATA(BHV_PDATA148,6041 -#define BHV_OPS(BHV_OPS149,6081 -#define BHV_IDENTITY(BHV_IDENTITY150,6117 -#define BHV_POSITION(BHV_POSITION151,6177 -#define bhv_desc_init(bhv_desc_init166,6688 -#define bhv_remove(bhv_remove177,6928 -#define bhv_lookup_unlocked 201,7605 -#define bhv_base_unlocked 202,7644 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_leaf.c,678 -#define xfs_dir2_leaf_check(xfs_dir2_leaf_check76,2368 -xfs_dir2_block_to_leaf(85,2619 -xfs_dir2_leaf_addname(183,5833 -xfs_dir2_leaf_check(574,17832 -xfs_dir2_leaf_compact(618,19321 -xfs_dir2_leaf_compact_x1(667,20771 -xfs_dir2_leaf_getdents(773,23781 -xfs_dir2_leaf_init(1161,34038 -xfs_dir2_leaf_log_bests(1218,35634 -xfs_dir2_leaf_log_ents(1242,36519 -xfs_dir2_leaf_log_header(1265,37309 -xfs_dir2_leaf_log_tail(1282,37796 -xfs_dir2_leaf_lookup(1304,38506 -xfs_dir2_leaf_lookup_int(1354,40019 -xfs_dir2_leaf_removename(1455,42784 -xfs_dir2_leaf_replace(1596,47435 -xfs_dir2_leaf_search_hash(1647,48900 -xfs_dir2_leaf_trim_data(1700,50310 -xfs_dir2_node_to_leaf(1766,52345 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_node.h,718 -#define __XFS_DIR2_NODE_H__33,1361 -#define XFS_DIR2_FREE_SPACE 54,1647 -#define XFS_DIR2_FREE_OFFSET 55,1677 -#define XFS_DIR2_FREE_FIRSTDB(XFS_DIR2_FREE_FIRSTDB56,1750 -#define XFS_DIR2_FREE_MAGIC 59,1834 -typedef struct xfs_dir2_free_hdr xfs_dir2_free_hdr64,1907 -} xfs_dir2_free_hdr_t;xfs_dir2_free_hdr_t69,2132 -typedef struct xfs_dir2_free xfs_dir2_free71,2156 -} xfs_dir2_free_t;xfs_dir2_free_t75,2321 -#define XFS_DIR2_MAX_FREE_BESTS(XFS_DIR2_MAX_FREE_BESTS76,2340 -#define XFS_DIR2_DB_TO_FDB(XFS_DIR2_DB_TO_FDB90,2701 -#define XFS_DIR2_DB_TO_FDB(XFS_DIR2_DB_TO_FDB92,2768 -#define XFS_DIR2_DB_TO_FDINDEX(XFS_DIR2_DB_TO_FDINDEX102,3090 -#define XFS_DIR2_DB_TO_FDINDEX(XFS_DIR2_DB_TO_FDINDEX104,3165 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_ialloc.c,293 -xfs_ialloc_log_di(66,2047 -xfs_ialloc_ag_alloc(134,4246 -xfs_ialloc_next_ag(340,10983 -xfs_ialloc_ag_select(359,11417 -xfs_dialloc(500,15791 -xfs_difree(923,27487 -xfs_dilocate(1132,33840 -xfs_ialloc_compute_maxlevels(1275,38412 -xfs_ialloc_log_agi(1298,38994 -xfs_ialloc_read_agi(1340,40239 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_attr.c,1883 -#define ATTR_RMTVALUE_MAPSIZE 106,3355 -ktrace_t *xfs_attr_trace_buf;109,3447 -xfs_attr_fetch(118,3683 -xfs_attr_get(173,5069 -xfs_attr_set(198,5652 -xfs_attr_remove(458,12297 -xfs_attr_list(616,16425 -xfs_attr_inactive(707,18730 -xfs_attr_shortform_addname(805,21574 -xfs_attr_leaf_addname(844,22727 -xfs_attr_leaf_removename(1041,27966 -xfs_attr_leaf_get(1106,29465 -xfs_attr_leaf_list(1135,30125 -xfs_attr_node_addname(1176,31376 -xfs_attr_node_removename(1438,38061 -xfs_attr_fillstate(1608,42401 -xfs_attr_refillstate(1656,43661 -xfs_attr_node_get(1711,45112 -xfs_attr_node_list(1758,46235 -xfs_attr_rmtval_get(1916,50652 -xfs_attr_rmtval_set(1971,52077 -xfs_attr_rmtval_remove(2104,55540 -xfs_attr_trace_l_c(2204,57948 -xfs_attr_trace_l_cn(2232,58784 -xfs_attr_trace_l_cb(2261,59813 -xfs_attr_trace_l_cl(2290,60754 -xfs_attr_trace_enter(2320,61808 -posix_acl_access_set(2346,62736 -posix_acl_access_remove(2353,62893 -posix_acl_access_get(2360,63024 -posix_acl_access_exists(2367,63181 -posix_acl_default_set(2374,63272 -posix_acl_default_get(2381,63431 -posix_acl_default_remove(2388,63590 -posix_acl_default_exists(2395,63723 -struct attrnames posix_acl_access 2401,63805 -struct attrnames posix_acl_default 2410,64082 -struct attrnames *attr_system_names[2419,64366 -attr_generic_set(2428,64677 -attr_generic_get(2438,64867 -attr_generic_remove(2450,65101 -attr_generic_listadd(2460,65259 -attr_system_list(2483,65692 -attr_generic_list(2505,66097 -attr_lookup_namespace(2519,66427 -attr_user_capable(2538,66848 -attr_trusted_capable(2556,67286 -attr_secure_capable(2570,67523 -attr_system_set(2578,67617 -attr_system_get(2597,68023 -attr_system_remove(2609,68312 -struct attrnames attr_system 2620,68559 -struct attrnames attr_trusted 2630,68826 -struct attrnames attr_secure 2640,69094 -struct attrnames attr_user 2650,69364 -struct attrnames *attr_namespaces[2659,69595 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_btree.h,3217 -#define __XFS_BTREE_H__33,1362 -#define XFS_LOOKUP_EQ 44,1529 -#define XFS_LOOKUP_LE 45,1582 -#define XFS_LOOKUP_GE 46,1635 -#define XFS_BTNUM_BNO 48,1689 -#define XFS_BTNUM_CNT 49,1741 -#define XFS_BTNUM_BMAP 50,1793 -#define XFS_BTNUM_INO 51,1847 -typedef struct xfs_btree_sblockxfs_btree_sblock56,1954 -} xfs_btree_sblock_t;xfs_btree_sblock_t63,2276 -typedef struct xfs_btree_lblockxfs_btree_lblock68,2340 -} xfs_btree_lblock_t;xfs_btree_lblock_t75,2658 -typedef struct xfs_btree_hdrxfs_btree_hdr80,2743 -} xfs_btree_hdr_t;xfs_btree_hdr_t85,2926 -typedef struct xfs_btree_blockxfs_btree_block87,2946 -} xfs_btree_block_t;xfs_btree_block_t100,3253 -#define XFS_BB_MAGIC 105,3312 -#define XFS_BB_LEVEL 106,3339 -#define XFS_BB_NUMRECS 107,3366 -#define XFS_BB_LEFTSIB 108,3395 -#define XFS_BB_RIGHTSIB 109,3424 -#define XFS_BB_NUM_BITS 110,3454 -#define XFS_BB_ALL_BITS 111,3481 -#define XFS_BTREE_LONG_PTRS(XFS_BTREE_LONG_PTRS118,3721 -#define XFS_BTREE_LONG_PTRS(XFS_BTREE_LONG_PTRS120,3790 -#define XFS_BTREE_BLOCK_MAXRECS(XFS_BTREE_BLOCK_MAXRECS134,4151 -#define XFS_BTREE_BLOCK_MINRECS(XFS_BTREE_BLOCK_MINRECS139,4370 -#define XFS_BTREE_REC_ADDR(XFS_BTREE_REC_ADDR147,4626 -#define XFS_BTREE_KEY_ADDR(XFS_BTREE_KEY_ADDR150,4766 -#define XFS_BTREE_PTR_ADDR(XFS_BTREE_PTR_ADDR153,4906 -#define XFS_BTREE_MAXLEVELS 157,5077 -typedef struct xfs_btree_curxfs_btree_cur163,5238 -#define XFS_BTCUR_LEFTRA 175,5702 -#define XFS_BTCUR_RIGHTRA 176,5768 -#define XFS_BTCUR_BPRV_WASDEL 193,6515 -} xfs_btree_cur_t;xfs_btree_cur_t200,6747 -#define XFS_BTREE_NOERROR 202,6767 -#define XFS_BTREE_ERROR 203,6795 -#define XFS_BUF_TO_BLOCK(XFS_BUF_TO_BLOCK210,6998 -#define XFS_BUF_TO_BLOCK(XFS_BUF_TO_BLOCK212,7054 -#define XFS_BUF_TO_LBLOCK(XFS_BUF_TO_LBLOCK216,7256 -#define XFS_BUF_TO_LBLOCK(XFS_BUF_TO_LBLOCK218,7314 -#define XFS_BUF_TO_SBLOCK(XFS_BUF_TO_SBLOCK222,7518 -#define XFS_BUF_TO_SBLOCK(XFS_BUF_TO_SBLOCK224,7576 -#define xfs_btree_check_block(xfs_btree_check_block258,8467 -#define xfs_btree_check_key(xfs_btree_check_key259,8506 -#define xfs_btree_check_rec(xfs_btree_check_rec260,8541 -xfs_btree_readahead(462,14899 -#define XFS_EXTLEN_MIN(XFS_EXTLEN_MIN492,15618 -#define XFS_EXTLEN_MIN(XFS_EXTLEN_MIN494,15672 -#define XFS_EXTLEN_MAX(XFS_EXTLEN_MAX500,15918 -#define XFS_EXTLEN_MAX(XFS_EXTLEN_MAX502,15972 -#define XFS_AGBLOCK_MIN(XFS_AGBLOCK_MIN509,16224 -#define XFS_AGBLOCK_MIN(XFS_AGBLOCK_MIN511,16280 -#define XFS_AGBLOCK_MAX(XFS_AGBLOCK_MAX517,16536 -#define XFS_AGBLOCK_MAX(XFS_AGBLOCK_MAX519,16592 -#define XFS_FILEOFF_MIN(XFS_FILEOFF_MIN526,16849 -#define XFS_FILEOFF_MIN(XFS_FILEOFF_MIN528,16905 -#define XFS_FILEOFF_MAX(XFS_FILEOFF_MAX534,17161 -#define XFS_FILEOFF_MAX(XFS_FILEOFF_MAX536,17217 -#define XFS_FILBLKS_MIN(XFS_FILBLKS_MIN543,17474 -#define XFS_FILBLKS_MIN(XFS_FILBLKS_MIN545,17530 -#define XFS_FILBLKS_MAX(XFS_FILBLKS_MAX551,17786 -#define XFS_FILBLKS_MAX(XFS_FILBLKS_MAX553,17842 -#define XFS_FSB_SANITY_CHECK(XFS_FSB_SANITY_CHECK559,18105 -#define XFS_FSB_SANITY_CHECK(XFS_FSB_SANITY_CHECK561,18177 -#define XFS_WANT_CORRUPTED_GOTO(XFS_WANT_CORRUPTED_GOTO569,18384 -#define XFS_WANT_CORRUPTED_RETURN(XFS_WANT_CORRUPTED_RETURN581,18648 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_inode.c,251 -#define xfs_trans_inode_broot_debug(xfs_trans_inode_broot_debug63,1994 -xfs_trans_iget(94,3308 -xfs_trans_ijoin(197,6076 -xfs_trans_ihold(246,7228 -xfs_trans_ihold_release(263,7543 -xfs_trans_log_inode(286,8230 -xfs_trans_inode_broot_debug(320,9106 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_mac.h,1047 -#define __XFS_MAC_H__33,1360 -#define XFS_MAC_MAX_SETS 61,2390 -typedef struct xfs_mac_label xfs_mac_label62,2419 -} xfs_mac_label_t;xfs_mac_label_t71,2810 -#define XFS_MSEN_ADMIN_LABEL 74,2898 -#define XFS_MSEN_EQUAL_LABEL 75,2968 -#define XFS_MSEN_HIGH_LABEL 76,3031 -#define XFS_MSEN_MLD_HIGH_LABEL 77,3100 -#define XFS_MSEN_LOW_LABEL 78,3171 -#define XFS_MSEN_MLD_LABEL 79,3238 -#define XFS_MSEN_MLD_LOW_LABEL 80,3308 -#define XFS_MSEN_TCSEC_LABEL 81,3377 -#define XFS_MSEN_UNKNOWN_LABEL 82,3428 -#define XFS_MINT_BIBA_LABEL 85,3551 -#define XFS_MINT_EQUAL_LABEL 86,3611 -#define XFS_MINT_HIGH_LABEL 87,3674 -#define XFS_MINT_LOW_LABEL 88,3742 -#define SGI_MAC_FILE 91,3852 -#define SGI_MAC_FILE_SIZE 92,3888 -#define MACEXEC 101,4015 -#define MACWRITE 102,4038 -#define MACREAD 103,4061 -#define _MAC_XFS_IACCESS(_MAC_XFS_IACCESS108,4171 -#define _MAC_VACCESS(_MAC_VACCESS109,4228 -#define _MAC_EXISTS 110,4281 -#define _MAC_XFS_IACCESS(_MAC_XFS_IACCESS113,4327 -#define _MAC_VACCESS(_MAC_VACCESS114,4363 -#define _MAC_EXISTS 115,4395 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_buf.c,557 -xfs_trans_get_buf(74,2569 -xfs_trans_getsb(193,5890 -xfs_buftarg_t *xfs_error_target;267,7674 -int xfs_do_error;268,7707 -int xfs_req_num;269,7725 -int xfs_error_mod 270,7742 -xfs_trans_read_buf(292,8538 -xfs_trans_brelse(517,14820 -xfs_trans_bjoin(654,18366 -xfs_trans_bhold(699,19586 -xfs_trans_log_buf(726,20453 -xfs_trans_binval(804,23254 -xfs_trans_inode_buf(883,26118 -xfs_trans_stale_inode_buf(909,26884 -xfs_trans_inode_alloc_buf(939,27745 -xfs_trans_dquot_buf(968,28676 -xfs_trans_buf_item_match(993,29357 -xfs_trans_buf_item_match_all(1046,30422 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans.c,593 -kmem_zone_t *xfs_trans_zone;72,2428 -xfs_trans_init(80,2560 -xfs_trans_alloc(130,4491 -_xfs_trans_alloc(142,4683 -xfs_trans_dup(174,5535 -xfs_trans_reserve(228,7139 -xfs_trans_callback(342,9852 -xfs_trans_mod_sb(362,10344 -xfs_trans_apply_sb_deltas(460,12718 -xfs_trans_unreserve_and_mod_sb(555,15310 -xfs_trans_commit(683,18749 -#define XFS_TRANS_LOGVEC_COUNT 696,18977 -xfs_trans_count_vecs(934,25962 -xfs_trans_uncommit(972,26759 -xfs_trans_fill_vecs(1006,27655 -xfs_trans_cancel(1066,29183 -xfs_trans_free(1137,30928 -xfs_trans_committed(1160,31610 -xfs_trans_chunk_committed(1241,33868 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_space.h,1746 -#define __XFS_TRANS_SPACE_H__33,1363 -#define XFS_MAX_CONTIG_EXTENTS_PER_BLOCK(XFS_MAX_CONTIG_EXTENTS_PER_BLOCK38,1438 -#define XFS_EXTENTADD_SPACE_RES(XFS_EXTENTADD_SPACE_RES40,1540 -#define XFS_NEXTENTADD_SPACE_RES(XFS_NEXTENTADD_SPACE_RES41,1607 -#define XFS_DAENTER_1B(XFS_DAENTER_1B45,1782 -#define XFS_DAENTER_DBS(XFS_DAENTER_DBS46,1859 -#define XFS_DAENTER_BLOCKS(XFS_DAENTER_BLOCKS49,1975 -#define XFS_DAENTER_BMAP1B(XFS_DAENTER_BMAP1B51,2058 -#define XFS_DAENTER_BMAPS(XFS_DAENTER_BMAPS53,2149 -#define XFS_DAENTER_SPACE_RES(XFS_DAENTER_SPACE_RES55,2236 -#define XFS_DAREMOVE_SPACE_RES(XFS_DAREMOVE_SPACE_RES57,2328 -#define XFS_DIRENTER_MAX_SPLIT(XFS_DIRENTER_MAX_SPLIT58,2389 -#define XFS_DIRENTER_SPACE_RES(XFS_DIRENTER_SPACE_RES62,2549 -#define XFS_DIRREMOVE_SPACE_RES(XFS_DIRREMOVE_SPACE_RES65,2669 -#define XFS_IALLOC_SPACE_RES(XFS_IALLOC_SPACE_RES67,2750 -#define XFS_ADDAFORK_SPACE_RES(XFS_ADDAFORK_SPACE_RES73,2897 -#define XFS_ATTRRM_SPACE_RES(XFS_ATTRRM_SPACE_RES76,3026 -#define XFS_ATTRSET_SPACE_RES(XFS_ATTRSET_SPACE_RES79,3167 -#define XFS_CREATE_SPACE_RES(XFS_CREATE_SPACE_RES81,3272 -#define XFS_DIOSTRAT_SPACE_RES(XFS_DIOSTRAT_SPACE_RES83,3370 -#define XFS_GROWFS_SPACE_RES(XFS_GROWFS_SPACE_RES85,3462 -#define XFS_GROWFSRT_SPACE_RES(XFS_GROWFSRT_SPACE_RES87,3525 -#define XFS_LINK_SPACE_RES(XFS_LINK_SPACE_RES89,3616 -#define XFS_MKDIR_SPACE_RES(XFS_MKDIR_SPACE_RES91,3683 -#define XFS_QM_DQALLOC_SPACE_RES(XFS_QM_DQALLOC_SPACE_RES93,3780 -#define XFS_QM_QINOCREATE_SPACE_RES(XFS_QM_QINOCREATE_SPACE_RES96,3898 -#define XFS_REMOVE_SPACE_RES(XFS_REMOVE_SPACE_RES98,3966 -#define XFS_RENAME_SPACE_RES(XFS_RENAME_SPACE_RES100,4030 -#define XFS_SYMLINK_SPACE_RES(XFS_SYMLINK_SPACE_RES102,4131 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_trans_extfree.c,124 -xfs_trans_get_efi(53,1853 -xfs_trans_log_efi_extent(78,2364 -xfs_trans_get_efd(109,3191 -xfs_trans_log_efd_extent(135,3732 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_alloc.h,859 -#define __XFS_ALLOC_H__33,1362 -typedef enum xfs_alloctypexfs_alloctype43,1530 - XFS_ALLOCTYPE_ANY_AG,45,1559 - XFS_ALLOCTYPE_FIRST_AG,46,1618 - XFS_ALLOCTYPE_START_AG,47,1668 - XFS_ALLOCTYPE_THIS_AG,48,1729 - XFS_ALLOCTYPE_START_BNO,49,1782 - XFS_ALLOCTYPE_NEAR_BNO,50,1844 - XFS_ALLOCTYPE_THIS_BNO 51,1909 -} xfs_alloctype_t;xfs_alloctype_t52,1962 -#define XFS_ALLOC_FLAG_TRYLOCK 57,2026 -typedef struct xfs_alloc_arg xfs_alloc_arg64,2268 -} xfs_alloc_arg_t;xfs_alloc_arg_t87,3549 -#define XFS_ALLOC_USERDATA 92,3600 -#define XFS_ALLOC_INITIAL_USER_DATA 93,3663 -#define XFS_ALLOC_TRACE_SIZE 102,3826 -#define XFS_ALLOC_KTRACE_ALLOC 108,3934 -#define XFS_ALLOC_KTRACE_FREE 109,3967 -#define XFS_ALLOC_KTRACE_MODAGF 110,3999 -#define XFS_ALLOC_KTRACE_BUSY 111,4033 -#define XFS_ALLOC_KTRACE_UNBUSY 112,4065 -#define XFS_ALLOC_KTRACE_BUSYSEARCH 113,4099 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_log.c,2234 -#define xlog_write_adv_cnt(xlog_write_adv_cnt58,1837 -#define xlog_verify_dest_ptr(xlog_verify_dest_ptr131,4643 -#define xlog_verify_grant_head(xlog_verify_grant_head132,4677 -#define xlog_verify_iclog(xlog_verify_iclog133,4713 -#define xlog_verify_tail_lsn(xlog_verify_tail_lsn134,4748 -int xlog_do_error 140,4843 -int xlog_req_num 141,4866 -int xlog_error_mod 142,4889 -#define XLOG_FORCED_SHUTDOWN(XLOG_FORCED_SHUTDOWN145,4922 -int xlog_debug 153,5137 -xfs_buftarg_t *xlog_target;154,5159 -xlog_trace_loggrant(160,5228 -xlog_trace_iclog(188,6222 -#define xlog_trace_loggrant(xlog_trace_loggrant216,6753 -#define xlog_trace_iclog(xlog_trace_iclog217,6797 -xfs_log_done(242,7862 -xfs_log_force(309,9866 -xfs_log_notify(345,10640 -xfs_log_release_iclog(372,11406 -xfs_log_reserve(397,12132 -xfs_log_mount(452,13540 -xfs_log_mount_finish(513,15164 -xfs_log_unmount(531,15469 -xfs_log_unmount_write(557,16223 -xfs_log_unmount_dealloc(687,19494 -xfs_log_write(698,19792 -xfs_log_move_tail(724,20332 -xfs_log_need_covered(807,22420 -xlog_assign_tail_lsn(853,23845 -xlog_space_left(887,25010 -xlog_iodone(932,26560 -xlog_bdstrat_cb(986,28260 -xlog_get_iclog_buffer_size(1022,29189 -xlog_alloc_log(1148,32663 -xlog_commit_record(1270,36818 -xlog_grant_push_ail(1298,37625 -xlog_sync(1383,41093 -xlog_unalloc_log(1520,45385 -xlog_state_finish_copy(1580,46830 -xlog_write(1639,48999 -xlog_state_clean_log(1852,56715 -xlog_get_lowest_lsn(1930,58859 -xlog_state_do_callback(1953,59363 -xlog_state_done_syncing(2174,65754 -xlog_state_get_iclog_space(2235,67749 -xlog_grant_log_space(2341,70897 -xlog_regrant_write_log_space(2458,74263 -xlog_regrant_reserve_log_space(2595,78221 -xlog_ungrant_log_space(2643,79941 -xlog_state_put_ticket(2679,80922 -xlog_state_release_iclog(2699,81374 -xlog_state_switch_iclogs(2752,82866 -xlog_state_sync_all(2814,85096 -xlog_state_sync(2930,88443 -xlog_state_want_sync(3033,91163 -xlog_state_ticket_alloc(3062,91749 -xlog_ticket_put(3115,92993 -xlog_ticket_get(3148,93733 -xlog_verify_dest_ptr(3232,95970 -xlog_verify_grant_head(3248,96340 -xlog_verify_tail_lsn(3263,96834 -xlog_verify_iclog(3302,98349 -xlog_state_ioerror(3393,101290 -xfs_log_force_umount(3430,102307 -xlog_iclogs_empty(3545,105089 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_node.c,746 -#define xfs_dir2_leafn_check(xfs_dir2_leafn_check74,2358 -xfs_dir2_free_log_bests(92,2958 -xfs_dir2_free_log_header(112,3525 -xfs_dir2_leaf_to_node(130,4121 -xfs_dir2_leafn_add(206,6678 -xfs_dir2_leafn_check(366,11555 -xfs_dir2_leafn_lasthash(396,12560 -xfs_dir2_leafn_lookup_int(417,13207 -xfs_dir2_leafn_moveents(653,19858 -xfs_dir2_leafn_order(735,22643 -xfs_dir2_leafn_rebalance(763,23777 -xfs_dir2_leafn_remove(866,27216 -xfs_dir2_leafn_split(1073,33536 -xfs_dir2_leafn_toosmall(1140,35573 -xfs_dir2_leafn_unbalance(1267,39565 -xfs_dir2_node_addname(1309,41304 -xfs_dir2_node_addname_int(1381,43117 -xfs_dir2_node_lookup(1767,54174 -xfs_dir2_node_removename(1812,55302 -xfs_dir2_node_replace(1877,56889 -xfs_dir2_node_trim_free(1960,59282 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_attr_leaf.h,2409 -#define __XFS_ATTR_LEAF_H__33,1372 -#define XFS_ATTR_LEAF_MAPSIZE 87,3881 -typedef struct xfs_attr_leafblock xfs_attr_leafblock89,3945 - struct xfs_attr_leaf_hdr xfs_attr_leaf_hdr90,3981 - struct xfs_attr_leaf_map xfs_attr_leaf_map97,4353 - struct xfs_attr_leaf_entry xfs_attr_leaf_entry102,4583 - struct xfs_attr_leaf_name_local xfs_attr_leaf_name_local108,4896 - struct xfs_attr_leaf_name_remote xfs_attr_leaf_name_remote113,5126 -} xfs_attr_leafblock_t;xfs_attr_leafblock_t119,5407 -typedef struct xfs_attr_leaf_hdr xfs_attr_leaf_hdr_t;xfs_attr_leaf_hdr_t120,5431 -typedef struct xfs_attr_leaf_map xfs_attr_leaf_map_t;xfs_attr_leaf_map_t121,5485 -typedef struct xfs_attr_leaf_entry xfs_attr_leaf_entry_t;xfs_attr_leaf_entry_t122,5539 -typedef struct xfs_attr_leaf_name_local xfs_attr_leaf_name_local_t;xfs_attr_leaf_name_local_t123,5597 -typedef struct xfs_attr_leaf_name_remote xfs_attr_leaf_name_remote_t;xfs_attr_leaf_name_remote_t124,5665 -#define XFS_ATTR_LOCAL_BIT 131,5938 -#define XFS_ATTR_ROOT_BIT 132,5996 -#define XFS_ATTR_SECURE_BIT 133,6060 -#define XFS_ATTR_INCOMPLETE_BIT 134,6125 -#define XFS_ATTR_LOCAL 135,6197 -#define XFS_ATTR_ROOT 136,6247 -#define XFS_ATTR_SECURE 137,6295 -#define XFS_ATTR_INCOMPLETE 138,6347 -#define XFS_ATTR_LEAF_NAME_ALIGN 144,6526 -#define XFS_ATTR_LEAF_NAME_REMOTE(XFS_ATTR_LEAF_NAME_REMOTE152,6832 -#define XFS_ATTR_LEAF_NAME_REMOTE(XFS_ATTR_LEAF_NAME_REMOTE155,6923 -#define XFS_ATTR_LEAF_NAME_LOCAL(XFS_ATTR_LEAF_NAME_LOCAL162,7287 -#define XFS_ATTR_LEAF_NAME_LOCAL(XFS_ATTR_LEAF_NAME_LOCAL165,7376 -#define XFS_ATTR_LEAF_NAME(XFS_ATTR_LEAF_NAME171,7702 -#define XFS_ATTR_LEAF_NAME(XFS_ATTR_LEAF_NAME173,7777 -#define XFS_ATTR_LEAF_ENTSIZE_REMOTE(XFS_ATTR_LEAF_ENTSIZE_REMOTE184,8243 -#define XFS_ATTR_LEAF_ENTSIZE_REMOTE(XFS_ATTR_LEAF_ENTSIZE_REMOTE187,8330 -#define XFS_ATTR_LEAF_ENTSIZE_LOCAL(XFS_ATTR_LEAF_ENTSIZE_LOCAL193,8671 -#define XFS_ATTR_LEAF_ENTSIZE_LOCAL(XFS_ATTR_LEAF_ENTSIZE_LOCAL196,8766 -#define XFS_ATTR_LEAF_ENTSIZE_LOCAL_MAX(XFS_ATTR_LEAF_ENTSIZE_LOCAL_MAX202,9117 -#define XFS_ATTR_LEAF_ENTSIZE_LOCAL_MAX(XFS_ATTR_LEAF_ENTSIZE_LOCAL_MAX205,9212 -typedef struct xfs_attr_list_context xfs_attr_list_context214,9547 -} xfs_attr_list_context_t;xfs_attr_list_context_t224,9983 -typedef struct xfs_attr_inactive_list xfs_attr_inactive_list229,10092 -} xfs_attr_inactive_list_t;xfs_attr_inactive_list_t232,10236 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir.c,1036 -xfs_dirops_t xfsv1_dirops 127,3718 -ktrace_t *xfs_dir_trace_buf;166,5089 -xfs_dahash_t xfs_dir_hash_dot,174,5320 -xfs_dahash_t xfs_dir_hash_dot, xfs_dir_hash_dotdot;174,5320 -xfs_dir_startup(180,5437 -xfs_dir_mount(190,5640 -xfs_dir_isempty(215,6490 -xfs_dir_init(232,6850 -xfs_dir_createname(253,7400 -xfs_dir_canenter(319,9096 -xfs_dir_removename(362,10236 -xfs_dir_lookup(406,11479 -xfs_dir_getdents(451,12503 -xfs_dir_replace(495,13751 -xfs_dir_shortform_validate_ondisk(537,14810 -xfs_dir_leaf_addname(606,16533 -xfs_dir_leaf_removename(629,17023 -xfs_dir_leaf_lookup(658,17797 -xfs_dir_leaf_getdents(677,18211 -xfs_dir_leaf_replace(698,18767 -xfs_dir_node_addname(742,20096 -xfs_dir_node_removename(799,21489 -xfs_dir_node_lookup(849,22592 -xfs_dir_node_getdents(882,23293 -xfs_dir_node_replace(1033,27757 -xfs_dir_trace_g_du(1093,29294 -xfs_dir_trace_g_dub(1107,29730 -xfs_dir_trace_g_dun(1122,30214 -xfs_dir_trace_g_dul(1147,31029 -xfs_dir_trace_g_due(1172,31851 -xfs_dir_trace_g_duc(1189,32388 -xfs_dir_trace_enter(1206,32968 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_da_btree.h,2162 -#define __XFS_DA_BTREE_H__33,1366 -#define XFS_DA_NODE_MAGIC 52,1945 -#define XFS_DIR_LEAF_MAGIC 53,2014 -#define XFS_ATTR_LEAF_MAGIC 54,2088 -#define XFS_DIR2_LEAF1_MAGIC 55,2163 -#define XFS_DIR2_LEAFN_MAGIC 56,2240 -#define XFS_DIRX_LEAF_MAGIC(XFS_DIRX_LEAF_MAGIC58,2317 -typedef struct xfs_da_blkinfo xfs_da_blkinfo61,2417 -} xfs_da_blkinfo_t;xfs_da_blkinfo_t66,2634 -#define XFS_DA_NODE_MAXDEPTH 77,2936 -typedef struct xfs_da_intnode xfs_da_intnode79,2993 - struct xfs_da_node_hdr xfs_da_node_hdr80,3025 - struct xfs_da_node_entry xfs_da_node_entry85,3259 -} xfs_da_intnode_t;xfs_da_intnode_t89,3454 -typedef struct xfs_da_node_hdr xfs_da_node_hdr_t;xfs_da_node_hdr_t90,3474 -typedef struct xfs_da_node_entry xfs_da_node_entry_t;xfs_da_node_entry_t91,3524 -#define XFS_DA_MAXHASH 93,3579 -#define XFS_LBSIZE(XFS_LBSIZE100,3822 -#define XFS_LBSIZE(XFS_LBSIZE102,3868 -#define XFS_LBLOG(XFS_LBLOG106,4019 -#define XFS_LBLOG(XFS_LBLOG108,4063 -#define XFS_DA_MAKE_BNOENTRY(XFS_DA_MAKE_BNOENTRY121,4396 -#define XFS_DA_MAKE_BNOENTRY(XFS_DA_MAKE_BNOENTRY124,4483 -#define XFS_DA_MAKE_COOKIE(XFS_DA_MAKE_COOKIE130,4750 -#define XFS_DA_MAKE_COOKIE(XFS_DA_MAKE_COOKIE133,4843 -#define XFS_DA_COOKIE_HASH(XFS_DA_COOKIE_HASH138,5106 -#define XFS_DA_COOKIE_HASH(XFS_DA_COOKIE_HASH140,5181 -#define XFS_DA_COOKIE_BNO(XFS_DA_COOKIE_BNO144,5388 -#define XFS_DA_COOKIE_BNO(XFS_DA_COOKIE_BNO146,5461 -#define XFS_DA_COOKIE_ENTRY(XFS_DA_COOKIE_ENTRY153,5772 -#define XFS_DA_COOKIE_ENTRY(XFS_DA_COOKIE_ENTRY155,5849 -typedef struct xfs_da_args xfs_da_args170,6327 -} xfs_da_args_t;xfs_da_args_t196,7795 -typedef struct xfs_dabuf xfs_dabuf206,8167 -} xfs_dabuf_t;xfs_dabuf_t219,8743 -#define XFS_DA_BUF_SIZE(XFS_DA_BUF_SIZE220,8758 -typedef struct xfs_da_state_blk xfs_da_state_blk234,9189 -} xfs_da_state_blk_t;xfs_da_state_blk_t241,9543 -typedef struct xfs_da_state_path xfs_da_state_path243,9566 -} xfs_da_state_path_t;xfs_da_state_path_t246,9694 -typedef struct xfs_da_state xfs_da_state248,9718 -} xfs_da_state_t;xfs_da_state_t260,10352 -#define XFS_DA_LOGOFF(XFS_DA_LOGOFF265,10440 -#define XFS_DA_LOGRANGE(XFS_DA_LOGRANGE266,10508 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_iomap.h,768 -#define __XFS_IOMAP_H__36,1365 -#define IOMAP_DADDR_NULL 38,1390 - IOMAP_EOF 42,1483 - IOMAP_EOF = 0x01,42,1483 - IOMAP_HOLE 43,1532 - IOMAP_HOLE = 0x02,43,1532 - IOMAP_DELAY 44,1582 - IOMAP_DELAY = 0x04,44,1582 - IOMAP_REALTIME 45,1642 - IOMAP_REALTIME = 0x10,45,1642 - IOMAP_UNWRITTEN 46,1704 - IOMAP_UNWRITTEN = 0x20,46,1704 - IOMAP_NEW 48,1800 - IOMAP_NEW = 0x40 48,1800 -} iomap_flags_t;iomap_flags_t49,1839 - BMAPI_READ 53,1910 - BMAPI_WRITE 54,1954 - BMAPI_ALLOCATE 55,2001 - BMAPI_UNWRITTEN 56,2068 - BMAPI_IGNSTATE 58,2155 - BMAPI_DIRECT 59,2220 - BMAPI_MMAP 60,2286 - BMAPI_SYNC 61,2341 - BMAPI_TRYLOCK 62,2407 - BMAPI_DEVICE 63,2461 -} bmapi_flags_t;bmapi_flags_t64,2525 -typedef struct xfs_iomap xfs_iomap84,3229 -} xfs_iomap_t;xfs_iomap_t91,3535 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_arch.h,2210 -#define __XFS_ARCH_H__33,1361 -# define __BYTE_ORDER 44,1537 -# define __BYTE_ORDER 47,1602 -#define ARCH_NOCONVERT 54,1700 -# define ARCH_CONVERT 56,1761 -# define ARCH_CONVERT 58,1791 -#define INT_SWAP16(INT_SWAP1664,1891 -#define INT_SWAP32(INT_SWAP3265,1961 -#define INT_SWAP64(INT_SWAP6466,2031 -#define INT_SWAP(INT_SWAP69,2109 -#define INT_SWAP_UNALIGNED_32(INT_SWAP_UNALIGNED_3275,2309 -#define INT_SWAP_UNALIGNED_64(INT_SWAP_UNALIGNED_6483,2533 -#define INT_GET_UNALIGNED_16_LE(INT_GET_UNALIGNED_16_LE93,2784 -#define INT_GET_UNALIGNED_16_BE(INT_GET_UNALIGNED_16_BE95,2898 -#define INT_SET_UNALIGNED_16_LE(INT_SET_UNALIGNED_16_LE97,3010 -#define INT_SET_UNALIGNED_16_BE(INT_SET_UNALIGNED_16_BE102,3177 -#define INT_GET_UNALIGNED_32_LE(INT_GET_UNALIGNED_32_LE108,3345 -#define INT_GET_UNALIGNED_32_BE(INT_GET_UNALIGNED_32_BE111,3528 -#define INT_GET_UNALIGNED_64_LE(INT_GET_UNALIGNED_64_LE115,3712 -#define INT_GET_UNALIGNED_64_BE(INT_GET_UNALIGNED_64_BE118,3890 -#define INT_GET_UNALIGNED_16(INT_GET_UNALIGNED_16127,4171 -#define INT_SET_UNALIGNED_16(INT_SET_UNALIGNED_16128,4246 -#define INT_GET_UNALIGNED_32(INT_GET_UNALIGNED_32129,4329 -#define INT_GET_UNALIGNED_64(INT_GET_UNALIGNED_64130,4404 -#define INT_GET_UNALIGNED_16(INT_GET_UNALIGNED_16132,4485 -#define INT_SET_UNALIGNED_16(INT_SET_UNALIGNED_16133,4560 -#define INT_GET_UNALIGNED_32(INT_GET_UNALIGNED_32134,4643 -#define INT_GET_UNALIGNED_64(INT_GET_UNALIGNED_64135,4718 -#define INT_GET(INT_GET140,4835 -#define INT_SET(INT_SET149,5010 -#define INT_MOD_EXPR(INT_MOD_EXPR159,5382 -#define INT_MOD(INT_MOD172,5673 -#define INT_COPY(INT_COPY189,6110 -#define INT_XLATE(INT_XLATE207,6583 -#define INT_ISZERO(INT_ISZERO216,6743 -#define INT_ZERO(INT_ZERO219,6804 -#define INT_GET_UNALIGNED_16_ARCH(INT_GET_UNALIGNED_16_ARCH222,6862 -#define INT_SET_UNALIGNED_16_ARCH(INT_SET_UNALIGNED_16_ARCH229,7044 -#define DIRINO4_GET_ARCH(DIRINO4_GET_ARCH236,7243 -#define DIRINO_GET_ARCH(DIRINO_GET_ARCH245,7435 -#define DIRINO_GET_ARCH(DIRINO_GET_ARCH255,7686 -#define DIRINO_GET_ARCH(DIRINO_GET_ARCH258,7780 -#define DIRINO_COPY_ARCH(DIRINO_COPY_ARCH263,7870 -#define DIRINO4_COPY_ARCH(DIRINO4_COPY_ARCH269,8043 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_imap.h,106 -#define __XFS_IMAP_H__33,1356 -typedef struct xfs_imap xfs_imap39,1484 -} xfs_imap_t;xfs_imap_t45,1804 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_fs.h,6211 -#define __XFS_FS_H__34,1378 -#define XFS_NAME 40,1470 -struct dioattr dioattr48,1668 -struct fsxattr fsxattr59,1918 -#define XFS_XFLAG_REALTIME 72,2283 -#define XFS_XFLAG_PREALLOC 73,2351 -#define XFS_XFLAG_IMMUTABLE 74,2421 -#define XFS_XFLAG_APPEND 75,2490 -#define XFS_XFLAG_SYNC 76,2550 -#define XFS_XFLAG_NOATIME 77,2614 -#define XFS_XFLAG_NODUMP 78,2683 -#define XFS_XFLAG_RTINHERIT 79,2751 -#define XFS_XFLAG_PROJINHERIT 80,2819 -#define XFS_XFLAG_NOSYMLINKS 81,2893 -#define XFS_XFLAG_HASATTR 82,2965 -struct getbmap getbmap92,3361 -struct getbmapx getbmapx111,4153 -#define BMV_IF_ATTRFORK 125,4737 -#define BMV_IF_NO_DMAPI_READ 126,4806 -#define BMV_IF_PREALLOC 127,4879 -#define BMV_IF_VALID 128,4948 -#define BMV_IF_EXTENDED 130,5042 -#define BMV_OF_PREALLOC 134,5174 -#define GETBMAP_CONVERT(GETBMAP_CONVERT137,5309 -struct fsdmidata fsdmidata153,5845 -typedef struct xfs_flock64 xfs_flock64164,6116 -} xfs_flock64_t;xfs_flock64_t172,6326 -typedef struct xfs_fsop_geom_v1 xfs_fsop_geom_v1177,6387 -} xfs_fsop_geom_v1_t;xfs_fsop_geom_v1_t198,7417 -typedef struct xfs_fsop_geom xfs_fsop_geom203,7480 -} xfs_fsop_geom_t;xfs_fsop_geom_t225,8554 -typedef struct xfs_fsop_counts xfs_fsop_counts228,8605 -} xfs_fsop_counts_t;xfs_fsop_counts_t233,8804 -typedef struct xfs_fsop_resblks xfs_fsop_resblks236,8885 -} xfs_fsop_resblks_t;xfs_fsop_resblks_t239,8959 -#define XFS_FSOP_GEOM_VERSION 241,8982 -#define XFS_FSOP_GEOM_FLAGS_ATTR 243,9015 -#define XFS_FSOP_GEOM_FLAGS_NLINK 244,9079 -#define XFS_FSOP_GEOM_FLAGS_QUOTA 245,9146 -#define XFS_FSOP_GEOM_FLAGS_IALIGN 246,9208 -#define XFS_FSOP_GEOM_FLAGS_DALIGN 247,9272 -#define XFS_FSOP_GEOM_FLAGS_SHARED 248,9341 -#define XFS_FSOP_GEOM_FLAGS_EXTFLG 249,9406 -#define XFS_FSOP_GEOM_FLAGS_DIRV2 250,9474 -#define XFS_FSOP_GEOM_FLAGS_LOGV2 251,9541 -#define XFS_FSOP_GEOM_FLAGS_SECTOR 252,9609 -#define XFS_MIN_AG_BLOCKS 258,9736 -#define XFS_MIN_LOG_BLOCKS 259,9765 -#define XFS_MAX_LOG_BLOCKS 260,9796 -#define XFS_MIN_LOG_BYTES 261,9835 -#define XFS_MAX_LOG_BYTES 262,9874 -typedef struct xfs_growfs_data xfs_growfs_data267,10009 -} xfs_growfs_data_t;xfs_growfs_data_t270,10154 -typedef struct xfs_growfs_log xfs_growfs_log272,10176 -} xfs_growfs_log_t;xfs_growfs_log_t275,10303 -typedef struct xfs_growfs_rt xfs_growfs_rt277,10324 -} xfs_growfs_rt_t;xfs_growfs_rt_t280,10466 -typedef struct xfs_bstime xfs_bstime286,10575 -} xfs_bstime_t;xfs_bstime_t289,10675 -typedef struct xfs_bstat xfs_bstat291,10692 -} xfs_bstat_t;xfs_bstat_t313,11596 -typedef struct xfs_fsop_bulkreq xfs_fsop_bulkreq318,11675 -} xfs_fsop_bulkreq_t;xfs_fsop_bulkreq_t323,11920 -typedef struct xfs_inogrp xfs_inogrp329,12022 -} xfs_inogrp_t;xfs_inogrp_t333,12205 -typedef struct xfs_error_injection xfs_error_injection339,12250 -} xfs_error_injection_t;xfs_error_injection_t342,12315 -typedef struct xfs_fsop_handlereq xfs_fsop_handlereq348,12403 -} xfs_fsop_handlereq_t;xfs_fsop_handlereq_t356,12757 -typedef struct xfs_fsop_setdm_handlereq xfs_fsop_setdm_handlereq365,13046 -} xfs_fsop_setdm_handlereq_t;xfs_fsop_setdm_handlereq_t368,13196 -typedef struct xfs_attrlist_cursor xfs_attrlist_cursor370,13227 -} xfs_attrlist_cursor_t;xfs_attrlist_cursor_t372,13283 -typedef struct xfs_fsop_attrlist_handlereq xfs_fsop_attrlist_handlereq374,13309 -} xfs_fsop_attrlist_handlereq_t;xfs_fsop_attrlist_handlereq_t380,13628 -typedef struct xfs_attr_multiop xfs_attr_multiop382,13662 -} xfs_attr_multiop_t;xfs_attr_multiop_t389,13827 -typedef struct xfs_fsop_attrmulti_handlereq xfs_fsop_attrmulti_handlereq391,13850 -} xfs_fsop_attrmulti_handlereq_t;xfs_fsop_attrmulti_handlereq_t395,14074 -typedef struct { __u32 val[2]; } xfs_fsid_t;xfs_fsid_t400,14167 -#define MAXFIDSZ 404,14257 -typedef struct fid fid406,14278 -} fid_t;fid_t409,14410 -typedef struct xfs_fid xfs_fid412,14427 -} xfs_fid_t;xfs_fid_t417,14612 -typedef struct xfs_fid2 xfs_fid2419,14626 -} xfs_fid2_t;xfs_fid2_t424,14813 -typedef struct xfs_handle xfs_handle426,14828 -} xfs_handle_t;xfs_handle_t432,15042 -#define ha_fsid 433,15058 -#define XFS_HSIZE(XFS_HSIZE435,15089 -#define XFS_HANDLE_CMP(XFS_HANDLE_CMP439,15228 -#define FSHSIZE 441,15297 -#define XFS_FSOP_GOING_FLAGS_DEFAULT 446,15372 -#define XFS_FSOP_GOING_FLAGS_LOGFLUSH 447,15431 -#define XFS_FSOP_GOING_FLAGS_NOLOGFLUSH 448,15503 -#define XFS_IOC_GETXFLAGS 453,15640 -#define XFS_IOC_SETXFLAGS 454,15685 -#define XFS_IOC_GETVERSION 455,15730 -#define XFS_IOC_ALLOCSP 462,15940 -#define XFS_IOC_FREESP 463,16000 -#define XFS_IOC_DIOINFO 464,16059 -#define XFS_IOC_FSGETXATTR 465,16115 -#define XFS_IOC_FSSETXATTR 466,16173 -#define XFS_IOC_ALLOCSP64 467,16231 -#define XFS_IOC_FREESP64 468,16292 -#define XFS_IOC_GETBMAP 469,16352 -#define XFS_IOC_FSSETDM 470,16408 -#define XFS_IOC_RESVSP 471,16466 -#define XFS_IOC_UNRESVSP 472,16525 -#define XFS_IOC_RESVSP64 473,16585 -#define XFS_IOC_UNRESVSP64 474,16645 -#define XFS_IOC_GETBMAPA 475,16707 -#define XFS_IOC_FSGETXATTRA 476,16763 -#define XFS_IOC_GETBMAPX 479,16916 -#define XFS_IOC_FSGEOMETRY_V1 484,17027 -#define XFS_IOC_FSBULKSTAT 485,17103 -#define XFS_IOC_FSBULKSTAT_SINGLE 486,17176 -#define XFS_IOC_FSINUMBERS 487,17254 -#define XFS_IOC_PATH_TO_FSHANDLE 488,17327 -#define XFS_IOC_PATH_TO_HANDLE 489,17407 -#define XFS_IOC_FD_TO_HANDLE 490,17486 -#define XFS_IOC_OPEN_BY_HANDLE 491,17563 -#define XFS_IOC_READLINK_BY_HANDLE 492,17642 -#define XFS_IOC_SWAPEXT 493,17722 -#define XFS_IOC_FSGROWFSDATA 494,17788 -#define XFS_IOC_FSGROWFSLOG 495,17862 -#define XFS_IOC_FSGROWFSRT 496,17934 -#define XFS_IOC_FSCOUNTS 497,18004 -#define XFS_IOC_SET_RESBLKS 498,18074 -#define XFS_IOC_GET_RESBLKS 499,18148 -#define XFS_IOC_ERROR_INJECTION 500,18222 -#define XFS_IOC_ERROR_CLEARALL 501,18303 -#define XFS_IOC_FREEZE 503,18434 -#define XFS_IOC_THAW 504,18484 -#define XFS_IOC_FSSETDM_BY_HANDLE 505,18532 -#define XFS_IOC_ATTRLIST_BY_HANDLE 506,18618 -#define XFS_IOC_ATTRMULTI_BY_HANDLE 507,18707 -#define XFS_IOC_FSGEOMETRY 508,18797 -#define XFS_IOC_GOINGDOWN 509,18867 -#define BBSHIFT 519,19178 -#define BBSIZE 520,19197 -#define BBMASK 521,19226 -#define BTOBB(BTOBB522,19253 -#define BTOBBT(BTOBBT523,19317 -#define BBTOB(BBTOB524,19367 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_data.h,1646 -#define __XFS_DIR2_DATA_H__33,1361 -#define XFS_DIR2_DATA_MAGIC 47,1540 -#define XFS_DIR2_DATA_ALIGN_LOG 48,1611 -#define XFS_DIR2_DATA_ALIGN 49,1666 -#define XFS_DIR2_DATA_FREE_TAG 50,1725 -#define XFS_DIR2_DATA_FD_COUNT 51,1763 -#define XFS_DIR2_SPACE_SIZE 57,1883 -#define XFS_DIR2_DATA_SPACE 58,1952 -#define XFS_DIR2_DATA_OFFSET 59,1982 -#define XFS_DIR2_DATA_FIRSTDB(XFS_DIR2_DATA_FIRSTDB60,2055 -#define XFS_DIR2_DATA_DOT_OFFSET 66,2200 -#define XFS_DIR2_DATA_DOTDOT_OFFSET 68,2288 -#define XFS_DIR2_DATA_FIRST_OFFSET 70,2381 -typedef struct xfs_dir2_data_free xfs_dir2_data_free81,2615 -} xfs_dir2_data_free_t;xfs_dir2_data_free_t84,2762 -typedef struct xfs_dir2_data_hdr xfs_dir2_data_hdr91,2932 -} xfs_dir2_data_hdr_t;xfs_dir2_data_hdr_t95,3106 -typedef struct xfs_dir2_data_entry xfs_dir2_data_entry101,3227 -} xfs_dir2_data_entry_t;xfs_dir2_data_entry_t107,3473 -typedef struct xfs_dir2_data_unused xfs_dir2_data_unused113,3596 -} xfs_dir2_data_unused_t;xfs_dir2_data_unused_t118,3822 -} xfs_dir2_data_union_t;xfs_dir2_data_union_t123,3927 -typedef struct xfs_dir2_data xfs_dir2_data128,4005 -} xfs_dir2_data_t;xfs_dir2_data_t131,4124 -#define XFS_DIR2_DATA_ENTSIZE(XFS_DIR2_DATA_ENTSIZE142,4299 -#define XFS_DIR2_DATA_ENTSIZE(XFS_DIR2_DATA_ENTSIZE144,4363 -#define XFS_DIR2_DATA_ENTRY_TAG_P(XFS_DIR2_DATA_ENTRY_TAG_P154,4726 -#define XFS_DIR2_DATA_ENTRY_TAG_P(XFS_DIR2_DATA_ENTRY_TAG_P156,4802 -#define XFS_DIR2_DATA_UNUSED_TAG_P_ARCH(XFS_DIR2_DATA_UNUSED_TAG_P_ARCH168,5200 -#define XFS_DIR2_DATA_UNUSED_TAG_P_ARCH(XFS_DIR2_DATA_UNUSED_TAG_P_ARCH171,5301 -#define xfs_dir2_data_check(xfs_dir2_data_check185,5610 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_iocore.c,143 -xfs_size_fn(68,2110 -xfs_ioinit(75,2185 -xfs_ioops_t xfs_iocore_xfs 83,2321 -xfs_iocore_inode_reinit(105,3191 -xfs_iocore_inode_init(118,3455 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_block.h,557 -#define __XFS_DIR2_BLOCK_H__33,1367 -#define XFS_DIR2_BLOCK_MAGIC 57,1856 -typedef struct xfs_dir2_block_tail xfs_dir2_block_tail59,1928 -} xfs_dir2_block_tail_t;xfs_dir2_block_tail_t62,2067 -typedef struct xfs_dir2_block xfs_dir2_block67,2147 -} xfs_dir2_block_t;xfs_dir2_block_t72,2329 -#define XFS_DIR2_BLOCK_TAIL_P(XFS_DIR2_BLOCK_TAIL_P80,2593 -#define XFS_DIR2_BLOCK_TAIL_P(XFS_DIR2_BLOCK_TAIL_P82,2671 -#define XFS_DIR2_BLOCK_LEAF_P_ARCH(XFS_DIR2_BLOCK_LEAF_P_ARCH92,3047 -#define XFS_DIR2_BLOCK_LEAF_P_ARCH(XFS_DIR2_BLOCK_LEAF_P_ARCH95,3138 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_bmap_btree.c,2827 -ktrace_t *xfs_bmbt_trace_buf;65,2047 -static char ARGS[85,2667 -static char ERROR[87,2727 -static char EXIT[89,2770 -xfs_bmbt_trace_enter(96,2904 -xfs_bmbt_trace_argbi(137,4016 -xfs_bmbt_trace_argbii(154,4333 -xfs_bmbt_trace_argfffi(173,4681 -xfs_bmbt_trace_argi(192,5060 -xfs_bmbt_trace_argifk(208,5336 -xfs_bmbt_trace_argifr(231,5786 -xfs_bmbt_trace_argik(260,6388 -xfs_bmbt_trace_cursor(280,6755 -#define XFS_BMBT_TRACE_ARGBI(XFS_BMBT_TRACE_ARGBI299,7421 -#define XFS_BMBT_TRACE_ARGBII(XFS_BMBT_TRACE_ARGBII301,7507 -#define XFS_BMBT_TRACE_ARGFFFI(XFS_BMBT_TRACE_ARGFFFI303,7600 -#define XFS_BMBT_TRACE_ARGI(XFS_BMBT_TRACE_ARGI305,7700 -#define XFS_BMBT_TRACE_ARGIFK(XFS_BMBT_TRACE_ARGIFK307,7779 -#define XFS_BMBT_TRACE_ARGIFR(XFS_BMBT_TRACE_ARGIFR309,7872 -#define XFS_BMBT_TRACE_ARGIK(XFS_BMBT_TRACE_ARGIK311,7965 -#define XFS_BMBT_TRACE_CURSOR(XFS_BMBT_TRACE_CURSOR313,8051 -#define XFS_BMBT_TRACE_ARGBI(XFS_BMBT_TRACE_ARGBI316,8140 -#define XFS_BMBT_TRACE_ARGBII(XFS_BMBT_TRACE_ARGBII317,8176 -#define XFS_BMBT_TRACE_ARGFFFI(XFS_BMBT_TRACE_ARGFFFI318,8215 -#define XFS_BMBT_TRACE_ARGI(XFS_BMBT_TRACE_ARGI319,8257 -#define XFS_BMBT_TRACE_ARGIFK(XFS_BMBT_TRACE_ARGIFK320,8290 -#define XFS_BMBT_TRACE_ARGIFR(XFS_BMBT_TRACE_ARGIFR321,8329 -#define XFS_BMBT_TRACE_ARGIK(XFS_BMBT_TRACE_ARGIK322,8368 -#define XFS_BMBT_TRACE_CURSOR(XFS_BMBT_TRACE_CURSOR323,8404 -xfs_bmbt_delrec(335,8576 -xfs_bmbt_get_rec(708,20133 -xfs_bmbt_insrec(749,21037 -xfs_bmbt_killroot(938,26205 -xfs_bmbt_log_keys(1035,29215 -xfs_bmbt_log_ptrs(1074,30089 -xfs_bmbt_lookup(1113,31004 -xfs_bmbt_lshift(1257,34716 -xfs_bmbt_rshift(1394,38792 -xfs_extent_state(1535,43350 -xfs_bmbt_split(1552,43677 -xfs_bmbt_updkey(1702,49282 -xfs_bmdr_to_bmbt(1742,50169 -xfs_bmbt_decrement(1775,51343 -xfs_bmbt_delete(1851,53282 -__xfs_bmbt_get_all(1893,54245 -xfs_bmbt_get_all(1932,55229 -xfs_bmbt_get_block(1944,55463 -xfs_bmbt_get_blockcount(1968,55929 -xfs_bmbt_get_startblock(1978,56121 -xfs_bmbt_get_startoff(2002,56701 -xfs_bmbt_get_state(2010,56844 -xfs_bmbt_disk_get_all(2023,57136 -xfs_bmbt_disk_get_blockcount(2039,57420 -xfs_bmbt_disk_get_startblock(2049,57638 -xfs_bmbt_disk_get_startoff(2073,58339 -xfs_bmbt_disk_get_state(2081,58510 -xfs_bmbt_increment(2098,58878 -xfs_bmbt_insert(2181,61069 -xfs_bmbt_log_block(2242,62588 -xfs_bmbt_log_recs(2279,63482 -xfs_bmbt_lookup_eq(2307,64167 -xfs_bmbt_lookup_ge(2321,64488 -xfs_bmbt_lookup_le(2335,64809 -xfs_bmbt_newroot(2353,65266 -xfs_bmbt_set_all(2466,68975 -xfs_bmbt_set_allf(2508,70419 -xfs_bmbt_disk_set_all(2553,71783 -xfs_bmbt_disk_set_allf(2595,73381 -xfs_bmbt_set_blockcount(2640,74841 -xfs_bmbt_set_startblock(2653,75120 -xfs_bmbt_set_startoff(2681,75933 -xfs_bmbt_set_state(2695,76248 -xfs_bmbt_to_bmdr(2710,76562 -xfs_bmbt_update(2742,77682 -xfs_check_nostate_extents(2795,78981 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_qmops.c,69 -xfs_dqvopchown_default(48,1626 -xfs_qmops_t xfs_qmcore_stub 57,1763 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_mount.c,586 -} xfs_sb_info[75,2366 -xfs_mount_init(128,4561 -xfs_mount_free(154,5114 -xfs_mount_validate_sb(200,6021 -xfs_initialize_perag(322,9955 -xfs_xlatesb(394,11940 -xfs_readsb(462,13213 -xfs_mount_common(557,15504 -xfs_mountfs(633,17987 -xfs_unmountfs(1075,29709 -xfs_unmountfs_close(1136,31175 -xfs_unmountfs_writesb(1146,31432 -xfs_mod_sb(1198,32894 -xfs_mod_incore_sb_unlocked(1243,34026 -xfs_mod_incore_sb(1406,37893 -xfs_mod_incore_sb_batch(1429,38633 -xfs_getsb(1488,40319 -xfs_freesb(1512,40687 -xfs_uuid_mount(1532,41079 -xfs_uuid_unmount(1554,41491 -xfs_mount_log_sbunit(1565,41739 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_quota.h,4578 -#define __XFS_QUOTA_H__33,1362 -#define XFS_DQUOT_MAGIC 38,1435 -#define XFS_DQUOT_VERSION 39,1479 -typedef __int32_t xfs_dqid_t;xfs_dqid_t45,1657 -typedef __uint64_t xfs_qcnt_t;xfs_qcnt_t52,1899 -typedef __uint16_t xfs_qwarncnt_t;xfs_qwarncnt_t53,1930 -typedef struct xfs_disk_dquot xfs_disk_dquot61,2220 -} xfs_disk_dquot_t;xfs_disk_dquot_t84,3590 -typedef struct xfs_dqblk xfs_dqblk90,3762 -} xfs_dqblk_t;xfs_dqblk_t93,3909 -#define XFS_DQ_USER 98,3973 -#define XFS_DQ_GROUP 100,4080 -#define XFS_DQ_FLOCKED 101,4130 -#define XFS_DQ_DIRTY 102,4185 -#define XFS_DQ_WANT 103,4236 -#define XFS_DQ_INACTIVE 104,4295 -#define XFS_DQ_MARKER 105,4359 -#define XFS_DQUOT_LOGRES(XFS_DQUOT_LOGRES111,4546 -typedef struct xfs_dq_logformat xfs_dq_logformat124,4885 -} xfs_dq_logformat_t;xfs_dq_logformat_t131,5252 -typedef struct xfs_qoff_logformat xfs_qoff_logformat141,5637 -} xfs_qoff_logformat_t;xfs_qoff_logformat_t146,5869 -#define XFS_UQUOTA_ACCT 152,5966 -#define XFS_UQUOTA_ENFD 153,6029 -#define XFS_UQUOTA_CHKD 154,6094 -#define XFS_PQUOTA_ACCT 155,6161 -#define XFS_GQUOTA_ENFD 156,6234 -#define XFS_GQUOTA_CHKD 157,6300 -#define XFS_GQUOTA_ACCT 158,6367 -#define XFS_UQUOTA_ACTIVE 165,6612 -#define XFS_GQUOTA_ACTIVE 166,6681 -#define XFS_IS_QUOTA_ON(XFS_IS_QUOTA_ON172,6902 -#define XFS_IS_UQUOTA_ON(XFS_IS_UQUOTA_ON174,7000 -#define XFS_IS_GQUOTA_ON(XFS_IS_GQUOTA_ON175,7066 -#define XFS_QMOPT_DQLOCK 182,7371 -#define XFS_QMOPT_DQALLOC 183,7419 -#define XFS_QMOPT_UQUOTA 184,7490 -#define XFS_QMOPT_GQUOTA 185,7552 -#define XFS_QMOPT_FORCE_RES 186,7615 -#define XFS_QMOPT_DQSUSER 187,7679 -#define XFS_QMOPT_SBVERSION 188,7751 -#define XFS_QMOPT_QUOTAOFF 189,7825 -#define XFS_QMOPT_UMOUNTING 190,7896 -#define XFS_QMOPT_DOLOG 191,7967 -#define XFS_QMOPT_DOWARN 192,8040 -#define XFS_QMOPT_ILOCKED 193,8122 -#define XFS_QMOPT_DQREPAIR 194,8195 -#define XFS_QMOPT_RES_REGBLKS 200,8353 -#define XFS_QMOPT_RES_RTBLKS 201,8393 -#define XFS_QMOPT_BCOUNT 202,8432 -#define XFS_QMOPT_ICOUNT 203,8467 -#define XFS_QMOPT_RTBCOUNT 204,8502 -#define XFS_QMOPT_DELBCOUNT 205,8539 -#define XFS_QMOPT_DELRTBCOUNT 206,8577 -#define XFS_QMOPT_RES_INOS 207,8617 -#define XFS_QMOPT_SYNC 212,8700 -#define XFS_QMOPT_ASYNC 213,8734 -#define XFS_QMOPT_DELWRI 214,8769 -#define XFS_QMOPT_INHERIT 219,8834 -#define XFS_TRANS_DQ_RES_BLKS 224,8911 -#define XFS_TRANS_DQ_RES_RTBLKS 225,8963 -#define XFS_TRANS_DQ_RES_INOS 226,9016 -#define XFS_TRANS_DQ_BCOUNT 227,9065 -#define XFS_TRANS_DQ_DELBCOUNT 228,9110 -#define XFS_TRANS_DQ_ICOUNT 229,9161 -#define XFS_TRANS_DQ_RTBCOUNT 230,9206 -#define XFS_TRANS_DQ_DELRTBCOUNT 231,9255 -#define XFS_QMOPT_QUOTALL 234,9312 -#define XFS_QMOPT_RESBLK_MASK 235,9374 -#define XFS_NOT_DQATTACHED(XFS_NOT_DQATTACHED247,9900 -#define XFS_QM_NEED_QUOTACHECK(XFS_QM_NEED_QUOTACHECK252,10070 -#define XFS_MOUNT_QUOTA_ALL 259,10307 -#define XFS_MOUNT_QUOTA_MASK 262,10447 -typedef struct xfs_dqtrx xfs_dqtrx270,10673 -} xfs_dqtrx_t;xfs_dqtrx_t283,11408 -typedef void (*qo_dup_dqinfo_t)qo_dup_dqinfo_t288,11489 -typedef void (*qo_mod_dquot_byino_t)qo_mod_dquot_byino_t289,11562 -typedef void (*qo_free_dqinfo_t)qo_free_dqinfo_t291,11656 -typedef void (*qo_apply_dquot_deltas_t)qo_apply_dquot_deltas_t292,11710 -typedef void (*qo_unreserve_and_mod_dquots_t)qo_unreserve_and_mod_dquots_t293,11771 -typedef int (*qo_reserve_quota_nblks_t)qo_reserve_quota_nblks_t294,11838 -typedef int (*qo_reserve_quota_bydquots_t)qo_reserve_quota_bydquots_t297,11966 -typedef struct xfs_dqtrxops xfs_dqtrxops301,12121 -} xfs_dqtrxops_t;xfs_dqtrxops_t309,12478 -#define XFS_DQTRXOP(XFS_DQTRXOP311,12497 -#define XFS_DQTRXOP_VOID(XFS_DQTRXOP_VOID315,12630 -#define XFS_TRANS_DUP_DQINFO(XFS_TRANS_DUP_DQINFO319,12774 -#define XFS_TRANS_FREE_DQINFO(XFS_TRANS_FREE_DQINFO321,12866 -#define XFS_TRANS_MOD_DQUOT_BYINO(XFS_TRANS_MOD_DQUOT_BYINO323,12948 -#define XFS_TRANS_APPLY_DQUOT_DELTAS(XFS_TRANS_APPLY_DQUOT_DELTAS325,13074 -#define XFS_TRANS_RESERVE_QUOTA_NBLKS(XFS_TRANS_RESERVE_QUOTA_NBLKS327,13170 -#define XFS_TRANS_RESERVE_QUOTA_BYDQUOTS(XFS_TRANS_RESERVE_QUOTA_BYDQUOTS329,13311 -#define XFS_TRANS_UNRESERVE_AND_MOD_DQUOTS(XFS_TRANS_UNRESERVE_AND_MOD_DQUOTS331,13454 -#define XFS_TRANS_RESERVE_BLKQUOTA(XFS_TRANS_RESERVE_BLKQUOTA334,13563 -#define XFS_TRANS_RESERVE_BLKQUOTA_FORCE(XFS_TRANS_RESERVE_BLKQUOTA_FORCE337,13701 -#define XFS_TRANS_UNRESERVE_BLKQUOTA(XFS_TRANS_UNRESERVE_BLKQUOTA340,13867 -#define XFS_TRANS_RESERVE_QUOTA(XFS_TRANS_RESERVE_QUOTA343,14010 -#define XFS_TRANS_UNRESERVE_QUOTA(XFS_TRANS_UNRESERVE_QUOTA346,14162 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_vnodeops.c,1410 -#define SYMLINK_MAPS 79,2415 -xfs_open(89,2803 -xfs_getattr(121,3402 -xfs_setattr(287,7588 -xfs_access(955,25948 -xfs_readlink(979,26320 -xfs_fsync(1090,28519 -xfs_inactive_free_eofblocks(1204,32028 -xfs_inactive_symlink_rmt(1301,34352 -xfs_inactive_symlink_local(1452,38765 -xfs_inactive_attrs(1492,39518 -xfs_release(1539,40521 -xfs_inactive(1591,41805 -xfs_lookup(1807,47665 -xfs_create(1844,48359 -int xfs_rm_locks;2094,54301 -int xfs_rm_lock_delays;2095,54319 -int xfs_rm_attempts;2096,54343 -xfs_lock_dir_and_entry(2118,55266 -int xfs_locked_n;2195,56829 -int xfs_small_retries;2196,56847 -int xfs_middle_retries;2197,56870 -int xfs_lots_retries;2198,56894 -int xfs_lock_delays;2199,56916 -xfs_lock_inodes(2214,57449 -#define REMOVE_DEBUG_TRACE(REMOVE_DEBUG_TRACE2320,59515 -int remove_which_error_return 2321,59580 -#define REMOVE_DEBUG_TRACE(REMOVE_DEBUG_TRACE2323,59635 -xfs_remove(2332,59723 -xfs_link(2575,66013 -xfs_mkdir(2746,70208 -xfs_rmdir(2980,75483 -xfs_readdir(3226,81604 -xfs_symlink(3262,82292 -xfs_fid2(3588,90056 -xfs_rwlock(3618,90667 -xfs_rwunlock(3649,91276 -xfs_inode_flush(3678,91952 -xfs_set_dmattrs 3760,93743 -xfs_reclaim(3804,94582 -xfs_finish_reclaim(3893,97054 -xfs_finish_reclaim_all(3976,99309 -xfs_alloc_file_space(4029,100523 -xfs_zero_remaining_bytes(4224,105101 -xfs_free_file_space(4299,107016 -xfs_change_file_space(4501,112286 -vnodeops_t xfs_vnodeops 4672,115911 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_trace.h,936 -#define __XFS_DIR2_TRACE_H__33,1362 -#define XFS_DIR2_GTRACE_SIZE 45,1518 -#define XFS_DIR2_KTRACE_SIZE 46,1573 -#define XFS_DIR2_KTRACE_ARGS 49,1672 -#define XFS_DIR2_KTRACE_ARGS_B 50,1720 -#define XFS_DIR2_KTRACE_ARGS_BB 51,1774 -#define XFS_DIR2_KTRACE_ARGS_DB 52,1832 -#define XFS_DIR2_KTRACE_ARGS_I 53,1890 -#define XFS_DIR2_KTRACE_ARGS_S 54,1941 -#define XFS_DIR2_KTRACE_ARGS_SB 55,1991 -#define XFS_DIR2_KTRACE_ARGS_BIBII 56,2050 -#define xfs_dir2_trace_args(xfs_dir2_trace_args75,2961 -#define xfs_dir2_trace_args_b(xfs_dir2_trace_args_b76,3002 -#define xfs_dir2_trace_args_bb(xfs_dir2_trace_args_bb77,3049 -#define xfs_dir2_trace_args_bibii(xfs_dir2_trace_args_bibii78,3103 -#define xfs_dir2_trace_args_db(xfs_dir2_trace_args_db79,3169 -#define xfs_dir2_trace_args_i(xfs_dir2_trace_args_i80,3221 -#define xfs_dir2_trace_args_s(xfs_dir2_trace_args_s81,3267 -#define xfs_dir2_trace_args_sb(xfs_dir2_trace_args_sb82,3313 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2.h,516 -#define __XFS_DIR2_H__33,1361 -typedef __uint16_t xfs_dir2_data_off_t;xfs_dir2_data_off_t60,2078 -#define NULLDATAOFF 61,2118 -typedef uint xfs_dir2_data_aoff_t;xfs_dir2_data_aoff_t62,2146 -typedef __uint32_t xfs_dir2_db_t;xfs_dir2_db_t67,2261 -typedef xfs_off_t xfs_dir2_off_t;xfs_dir2_off_t72,2334 -typedef int (*xfs_dir2_put_t)xfs_dir2_put_t77,2428 -typedef struct xfs_dir2_put_args xfs_dir2_put_args78,2489 -} xfs_dir2_put_args_t;xfs_dir2_put_args_t87,2885 -#define XFS_DIR_IS_V2(XFS_DIR_IS_V289,2909 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_inode.c,1613 -kmem_zone_t *xfs_ifork_zone;71,2184 -kmem_zone_t *xfs_inode_zone;72,2213 -kmem_zone_t *xfs_chashlist_zone;73,2242 -#define XFS_ITRUNC_MAX_EXTENTS 79,2396 -xfs_validate_extents(93,2795 -#define xfs_validate_extents(xfs_validate_extents116,3271 -xfs_inobp_check(125,3457 -xfs_inobp_bwcheck(152,4043 -xfs_inotobp(207,5717 -xfs_itobp(308,8892 -xfs_iformat(450,12806 -xfs_iformat_local(599,17430 -xfs_iformat_extents(652,19012 -xfs_iformat_btree(730,21309 -xfs_xlate_dinode_core(791,23081 -xfs_dic2xflags(858,25592 -xfs_iread(901,26832 -xfs_iread_extents(1063,31917 -xfs_ialloc(1127,34421 -xfs_isize_check(1304,39200 -xfs_file_last_byte(1349,40402 -xfs_itrunc_trace(1392,41410 -#define xfs_itrunc_trace(xfs_itrunc_trace1423,42296 -xfs_itruncate_start(1448,43387 -xfs_itruncate_finish(1559,47691 -xfs_igrow_start(1814,56514 -xfs_igrow_finish(1849,57434 -xfs_iunlink(1878,58116 -xfs_iunlink_remove(1975,60873 -static __inline__ int xfs_inode_clean(2149,66244 -xfs_ifree_cluster(2157,66432 -xfs_ifree(2334,70887 -xfs_iroot_realloc(2405,72964 -xfs_iext_realloc(2535,76789 -xfs_idata_realloc(2621,79233 -xfs_imap(2710,81719 -xfs_idestroy_fork(2737,82302 -xfs_idestroy(2787,83830 -xfs_ipin(2834,84846 -xfs_iunpin(2848,85155 -xfs_iunpin_wait(2876,85805 -xfs_iextents_copy(2916,86726 -xfs_iflush_fork(2986,88644 -xfs_iflush(3095,91764 - enum { INT_DELWRI 3109,92036 - enum { INT_DELWRI = (1 << 0), INT_ASYNC 3109,92036 -xfs_iflush_int(3360,97907 -xfs_iflush_all(3606,106306 -xfs_iaccess(3707,108491 -xfs_iroundup(3770,109930 -xfs_ichgtime(3804,110736 -ktrace_t *xfs_ilock_trace_buf;3860,112374 -xfs_ilock_trace(3863,112411 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs.h,26 -#define __XFS_H__33,1356 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_vfsops.c,1457 -xfs_init(76,2308 -xfs_cleanup(157,4929 -xfs_start_flags(215,6452 -xfs_finish_flags(332,9610 -xfs_mount(419,12016 -xfs_unmount(539,14965 -#define REMOUNT_READONLY_FLAGS 622,16879 -xfs_mntupdate(625,16957 -xfs_unmount_flush(682,18374 -xfs_root(767,20237 -xfs_statvfs(787,20596 -xfs_sync(874,23634 -xfs_sync_inodes(896,24176 -#define IPOINTER_SET 920,24626 -#define IPOINTER_CLR 921,24668 -#define IPOINTER_SET923,24717 -#define IPOINTER_CLR924,24738 -#define IPOINTER_INSERT(IPOINTER_INSERT932,24935 -#define IPOINTER_REMOVE(IPOINTER_REMOVE949,25510 -#define XFS_PREEMPT_MASK 966,25967 -xfs_syncsub(1445,37954 -xfs_vget(1585,41377 -#define MNTOPT_LOGBUFS 1636,42391 -#define MNTOPT_LOGBSIZE 1637,42456 -#define MNTOPT_LOGDEV 1638,42521 -#define MNTOPT_RTDEV 1639,42569 -#define MNTOPT_BIOSIZE 1640,42625 -#define MNTOPT_WSYNC 1641,42699 -#define MNTOPT_INO64 1642,42766 -#define MNTOPT_NOALIGN 1643,42833 -#define MNTOPT_SWALLOC 1644,42898 -#define MNTOPT_SUNIT 1645,42969 -#define MNTOPT_SWIDTH 1646,43029 -#define MNTOPT_NOUUID 1647,43091 -#define MNTOPT_MTPT 1648,43151 -#define MNTOPT_NORECOVERY 1649,43208 -#define MNTOPT_NOLOGFLUSH 1650,43280 -#define MNTOPT_OSYNCISOSYNC 1651,43360 -#define MNTOPT_64BITINODE 1652,43433 -#define MNTOPT_IKEEP 1653,43510 -#define MNTOPT_NOIKEEP 1654,43579 -xfs_parseargs(1658,43650 -xfs_showargs(1836,48857 - static struct proc_xfs_info proc_xfs_info1840,48919 -xfs_freeze(1896,50586 -vfsops_t xfs_vfsops 1910,50831 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_inum.h,1953 -#define __XFS_INUM_H__33,1361 -typedef __uint32_t xfs_agino_t;xfs_agino_t43,1577 -typedef xfs_ino_t xfs_intino_t;xfs_intino_t51,1799 -typedef __uint32_t xfs_intino_t;xfs_intino_t53,1837 -#define NULLFSINO 56,1878 -#define NULLAGINO 57,1912 -#define XFS_INO_MASK(XFS_INO_MASK63,2061 -#define XFS_INO_MASK(XFS_INO_MASK65,2109 -#define XFS_INO_OFFSET_BITS(XFS_INO_OFFSET_BITS69,2289 -#define XFS_INO_OFFSET_BITS(XFS_INO_OFFSET_BITS71,2352 -#define XFS_INO_AGBNO_BITS(XFS_INO_AGBNO_BITS75,2529 -#define XFS_INO_AGBNO_BITS(XFS_INO_AGBNO_BITS77,2590 -#define XFS_INO_AGINO_BITS(XFS_INO_AGINO_BITS81,2766 -#define XFS_INO_AGINO_BITS(XFS_INO_AGINO_BITS83,2827 -#define XFS_INO_AGNO_BITS(XFS_INO_AGNO_BITS87,2997 -#define XFS_INO_AGNO_BITS(XFS_INO_AGNO_BITS89,3056 -#define XFS_INO_BITS(XFS_INO_BITS93,3213 -#define XFS_INO_BITS(XFS_INO_BITS95,3262 -#define XFS_INO_TO_AGNO(XFS_INO_TO_AGNO100,3475 -#define XFS_INO_TO_AGNO(XFS_INO_TO_AGNO102,3534 -#define XFS_INO_TO_AGINO(XFS_INO_TO_AGINO107,3754 -#define XFS_INO_TO_AGINO(XFS_INO_TO_AGINO109,3815 -#define XFS_INO_TO_AGBNO(XFS_INO_TO_AGBNO114,4046 -#define XFS_INO_TO_AGBNO(XFS_INO_TO_AGBNO116,4107 -#define XFS_INO_TO_OFFSET(XFS_INO_TO_OFFSET122,4365 -#define XFS_INO_TO_OFFSET(XFS_INO_TO_OFFSET124,4428 -#define XFS_INO_TO_FSB(XFS_INO_TO_FSB129,4649 -#define XFS_INO_TO_FSB(XFS_INO_TO_FSB131,4706 -#define XFS_AGINO_TO_INO(XFS_AGINO_TO_INO138,4960 -#define XFS_AGINO_TO_INO(XFS_AGINO_TO_INO140,5024 -#define XFS_AGINO_TO_AGBNO(XFS_AGINO_TO_AGBNO145,5256 -#define XFS_AGINO_TO_AGBNO(XFS_AGINO_TO_AGBNO147,5320 -#define XFS_AGINO_TO_OFFSET(XFS_AGINO_TO_OFFSET151,5523 -#define XFS_AGINO_TO_OFFSET(XFS_AGINO_TO_OFFSET153,5589 -#define XFS_OFFBNO_TO_AGINO(XFS_OFFBNO_TO_AGINO159,5827 -#define XFS_OFFBNO_TO_AGINO(XFS_OFFBNO_TO_AGINO161,5897 -#define XFS_MAXINUMBER 166,6018 -#define XFS_INO64_OFFSET 167,6077 -#define XFS_MAXINUMBER 169,6134 -#define XFS_MAXINUMBER_32 171,6200 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_inode_item.c,633 -kmem_zone_t *xfs_ili_zone;67,2189 -xfs_inode_item_size(77,2540 -xfs_inode_item_format(234,6507 -xfs_inode_item_pin(549,15875 -xfs_inode_item_unpin(564,16240 -xfs_inode_item_unpin_remove(573,16365 -xfs_inode_item_trylock(594,17190 -xfs_inode_item_unlock(659,18695 -xfs_inode_item_committed(746,21169 -xfs_inode_item_abort(760,21498 -xfs_inode_item_pushbuf(779,22054 -xfs_inode_item_push(865,24443 -xfs_inode_item_committing(902,25505 -struct xfs_item_ops xfs_inode_item_ops 913,25679 -xfs_inode_item_init(937,26678 -xfs_inode_item_destroy(968,27393 -xfs_iflush_done(990,27943 -xfs_iflush_abort(1047,29381 -xfs_istale_done(1087,30207 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_alloc_btree.h,1685 -#define __XFS_ALLOC_BTREE_H__33,1363 -#define XFS_ABTB_MAGIC 49,1731 -#define XFS_ABTC_MAGIC 50,1791 -typedef struct xfs_alloc_recxfs_alloc_rec55,1888 -} xfs_alloc_rec_t, xfs_alloc_key_t;xfs_alloc_key_t59,2033 -typedef xfs_agblock_t xfs_alloc_ptr_t;xfs_alloc_ptr_t61,2070 -typedef struct xfs_btree_sblock xfs_alloc_block_t;xfs_alloc_block_t63,2169 -#define XFS_BUF_TO_ALLOC_BLOCK(XFS_BUF_TO_ALLOC_BLOCK67,2355 -#define XFS_BUF_TO_ALLOC_BLOCK(XFS_BUF_TO_ALLOC_BLOCK69,2423 -#define XFS_ALLOC_BLOCK_SIZE(XFS_ALLOC_BLOCK_SIZE78,2713 -#define XFS_ALLOC_BLOCK_SIZE(XFS_ALLOC_BLOCK_SIZE80,2787 -#define XFS_ALLOC_BLOCK_MAXRECS(XFS_ALLOC_BLOCK_MAXRECS85,2996 -#define XFS_ALLOC_BLOCK_MAXRECS(XFS_ALLOC_BLOCK_MAXRECS87,3076 -#define XFS_ALLOC_BLOCK_MINRECS(XFS_ALLOC_BLOCK_MINRECS92,3302 -#define XFS_ALLOC_BLOCK_MINRECS(XFS_ALLOC_BLOCK_MINRECS94,3382 -#define XFS_MIN_BLOCKSIZE_LOG 103,3644 -#define XFS_MAX_BLOCKSIZE_LOG 104,3697 -#define XFS_MIN_BLOCKSIZE 105,3753 -#define XFS_MAX_BLOCKSIZE 106,3808 -#define XFS_MIN_SECTORSIZE_LOG 107,3863 -#define XFS_MAX_SECTORSIZE_LOG 108,3917 -#define XFS_MIN_SECTORSIZE 109,3974 -#define XFS_MAX_SECTORSIZE 110,4031 -#define XFS_BNO_BLOCK(XFS_BNO_BLOCK118,4308 -#define XFS_BNO_BLOCK(XFS_BNO_BLOCK120,4358 -#define XFS_CNT_BLOCK(XFS_CNT_BLOCK124,4546 -#define XFS_CNT_BLOCK(XFS_CNT_BLOCK126,4596 -#define XFS_ALLOC_REC_ADDR(XFS_ALLOC_REC_ADDR135,4908 -#define XFS_ALLOC_REC_ADDR(XFS_ALLOC_REC_ADDR137,4980 -#define XFS_ALLOC_KEY_ADDR(XFS_ALLOC_KEY_ADDR145,5300 -#define XFS_ALLOC_KEY_ADDR(XFS_ALLOC_KEY_ADDR147,5372 -#define XFS_ALLOC_PTR_ADDR(XFS_ALLOC_PTR_ADDR155,5692 -#define XFS_ALLOC_PTR_ADDR(XFS_ALLOC_PTR_ADDR157,5764 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_error.c,469 -int xfs_etrap[56,1789 -xfs_error_trap(61,1836 -int xfs_etest[83,2184 -int64_t xfs_etest_fsid[84,2221 -char * xfs_etest_fsname[85,2267 -xfs_error_test_init(88,2320 -xfs_error_test(96,2505 -xfs_errortag_add(120,3019 -xfs_errortag_clear(154,3779 -xfs_errortag_clearall_umount(180,4336 -xfs_errortag_clearall(208,4932 -xfs_fs_vcmn_err(219,5157 -xfs_fs_cmn_err(235,5518 -xfs_cmn_err(245,5672 -xfs_error_report(265,6096 -xfs_hex_dump(284,6426 -xfs_corruption_error(315,6980 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_extfree_item.h,757 -#define __XFS_EXTFREE_ITEM_H__33,1364 -typedef struct xfs_extent xfs_extent38,1433 -} xfs_extent_t;xfs_extent_t41,1509 -typedef struct xfs_efi_log_format xfs_efi_log_format48,1693 -} xfs_efi_log_format_t;xfs_efi_log_format_t54,1982 -typedef struct xfs_efd_log_format xfs_efd_log_format61,2174 -} xfs_efd_log_format_t;xfs_efd_log_format_t67,2474 -#define XFS_EFI_MAX_FAST_EXTENTS 75,2576 -#define XFS_EFI_RECOVERED 80,2641 -#define XFS_EFI_COMMITTED 81,2671 -#define XFS_EFI_CANCELED 82,2701 -typedef struct xfs_efi_log_item xfs_efi_log_item90,2940 -} xfs_efi_log_item_t;xfs_efi_log_item_t95,3096 -typedef struct xfs_efd_log_item xfs_efd_log_item102,3272 -} xfs_efd_log_item_t;xfs_efd_log_item_t107,3423 -#define XFS_EFD_MAX_FAST_EXTENTS 112,3503 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_log_recover.h,566 -#define __XFS_LOG_RECOVER_H__33,1363 -#define XLOG_RHASH_BITS 39,1466 -#define XLOG_RHASH_SIZE 40,1493 -#define XLOG_RHASH_SHIFT 41,1520 -#define XLOG_RHASH(XLOG_RHASH42,1547 -#define XLOG_MAX_REGIONS_IN_ITEM 45,1637 -typedef struct xlog_recover_item xlog_recover_item51,1787 -} xlog_recover_item_t;xlog_recover_item_t58,2050 -typedef struct xlog_recover xlog_recover61,2091 -} xlog_recover_t;xlog_recover_t68,2395 -#define ITEM_TYPE(ITEM_TYPE70,2414 -#define XLOG_BC_TABLE_SIZE 76,2562 -#define XLOG_RECOVER_PASS1 78,2593 -#define XLOG_RECOVER_PASS2 79,2622 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_fsops.c,257 -xfs_fs_geometry(70,2113 -xfs_growfs_data_private(129,4043 -xfs_growfs_log_private(419,13001 -xfs_growfs_data(448,13844 -xfs_growfs_log(461,14071 -xfs_fs_counts(478,14346 -xfs_reserve_blocks(509,15175 -xfs_fs_log_dummy(563,16493 -xfs_fs_goingdown(589,17020 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_bmap.c,4349 -kmem_zone_t *xfs_bmap_free_item_zone;77,2318 -#define xfs_bmap_trace_delete(xfs_bmap_trace_delete370,12830 -#define xfs_bmap_trace_insert(xfs_bmap_trace_insert371,12874 -#define xfs_bmap_trace_post_update(xfs_bmap_trace_post_update372,12924 -#define xfs_bmap_trace_pre_update(xfs_bmap_trace_pre_update373,12971 -#define xfs_bmap_validate_ret(xfs_bmap_validate_ret399,13568 -#define xfs_bunmap_trace(xfs_bunmap_trace411,13802 -xfs_bmap_add_attrfork_btree(436,14249 -xfs_bmap_add_attrfork_extents(479,15591 -xfs_bmap_add_attrfork_local(506,16405 -xfs_bmap_add_extent(540,17476 -xfs_bmap_add_extent_delay_real(709,22551 - LEFT_CONTIG,738,23901 - LEFT_CONTIG, RIGHT_CONTIG,738,23901 - LEFT_FILLING,739,23930 - LEFT_FILLING, RIGHT_FILLING,739,23930 - LEFT_DELAY,740,23961 - LEFT_DELAY, RIGHT_DELAY,740,23961 - LEFT_VALID,741,23988 - LEFT_VALID, RIGHT_VALID741,23988 -#define LEFT 744,24019 -#define RIGHT 745,24038 -#define PREV 746,24058 -#define MASK(MASK747,24077 -#define MASK2(MASK2748,24105 -#define MASK3(MASK3749,24144 -#define MASK4(MASK4750,24188 -#define STATE_SET(STATE_SET751,24236 -#define STATE_TEST(STATE_TEST752,24308 -#define STATE_SET_TEST(STATE_SET_TEST753,24348 -#define SWITCH_STATE 755,24448 -xfs_bmap_add_extent_unwritten_real(1249,39669 - LEFT_CONTIG,1272,40687 - LEFT_CONTIG, RIGHT_CONTIG,1272,40687 - LEFT_FILLING,1273,40716 - LEFT_FILLING, RIGHT_FILLING,1273,40716 - LEFT_DELAY,1274,40747 - LEFT_DELAY, RIGHT_DELAY,1274,40747 - LEFT_VALID,1275,40774 - LEFT_VALID, RIGHT_VALID1275,40774 -#define LEFT 1278,40805 -#define RIGHT 1279,40824 -#define PREV 1280,40844 -#define MASK(MASK1281,40863 -#define MASK2(MASK21282,40891 -#define MASK3(MASK31283,40930 -#define MASK4(MASK41284,40974 -#define STATE_SET(STATE_SET1285,41022 -#define STATE_TEST(STATE_TEST1286,41094 -#define STATE_SET_TEST(STATE_SET_TEST1287,41134 -#define SWITCH_STATE 1289,41234 -xfs_bmap_add_extent_hole_delay(1765,55780 - LEFT_CONTIG,1785,56701 - LEFT_CONTIG, RIGHT_CONTIG,1785,56701 - LEFT_DELAY,1786,56730 - LEFT_DELAY, RIGHT_DELAY,1786,56730 - LEFT_VALID,1787,56757 - LEFT_VALID, RIGHT_VALID1787,56757 -#define MASK(MASK1790,56788 -#define MASK2(MASK21791,56817 -#define STATE_SET(STATE_SET1792,56857 -#define STATE_TEST(STATE_TEST1793,56930 -#define STATE_SET_TEST(STATE_SET_TEST1794,56971 -#define SWITCH_STATE 1796,57071 -xfs_bmap_add_extent_hole_real(1935,61457 - LEFT_CONTIG,1954,62271 - LEFT_CONTIG, RIGHT_CONTIG,1954,62271 - LEFT_DELAY,1955,62300 - LEFT_DELAY, RIGHT_DELAY,1955,62300 - LEFT_VALID,1956,62327 - LEFT_VALID, RIGHT_VALID1956,62327 -#define MASK(MASK1959,62358 -#define MASK2(MASK21960,62387 -#define STATE_SET(STATE_SET1961,62427 -#define STATE_TEST(STATE_TEST1962,62500 -#define STATE_SET_TEST(STATE_SET_TEST1963,62541 -#define SWITCH_STATE 1965,62641 -#define XFS_ALLOC_GAP_UNITS 2145,68199 -xfs_bmap_alloc(2152,68417 -#define ISVALID(ISVALID2167,68992 -xfs_bmap_btree_to_extents(2741,85693 -xfs_bmap_del_extent(2798,87762 -xfs_bmap_del_free(3125,96955 -xfs_bmap_delete_exlist(3144,97519 -xfs_bmap_extents_to_btree(3168,98362 -xfs_bmap_insert_exlist(3303,103201 -xfs_bmap_local_to_extents(3333,104296 -xfs_bmap_do_search_extents(3415,107034 -xfs_bmap_search_extents(3529,110403 -ktrace_t *xfs_bmap_trace_buf;3567,111934 -xfs_bmap_trace_addentry(3573,112048 -xfs_bmap_trace_delete(3633,114010 -xfs_bmap_trace_insert(3655,114728 -xfs_bmap_trace_post_update(3684,115612 -xfs_bmap_trace_pre_update(3702,116159 -xfs_bmap_worst_indlen(3722,116788 -xfs_bunmap_trace(3750,117487 -xfs_bmap_add_attrfork(3784,118284 -xfs_bmap_add_free(3913,122169 -xfs_bmap_compute_maxlevels(3960,123518 -xfs_bmap_finish(4013,125705 -xfs_bmap_cancel(4087,128023 -xfs_bmap_first_unused(4111,128734 -xfs_bmap_last_before(4167,130682 -xfs_bmap_last_offset(4215,132313 -xfs_bmap_one_block(4257,133729 -xfs_bmap_read_extents(4291,134839 -xfs_bmap_trace_exlist(4436,139286 -xfs_bmap_validate_ret(4467,140330 -xfs_bmapi(4518,141992 -xfs_bmapi_single(5092,160007 -xfs_bunmapi(5144,161714 -xfs_getbmap(5502,173222 -xfs_bmap_isaeof(5718,180005 -xfs_bmap_eof(5761,181335 -xfs_bmap_check_extents(5799,182460 -xfs_bmap_get_bp(5820,183095 -xfs_check_block(5881,184231 -xfs_bmap_check_leaf_extents(5944,185706 -xfs_bmap_count_blocks(6105,189987 -xfs_bmap_count_tree(6158,191722 -xfs_bmap_count_leaves(6236,194062 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_ialloc_btree.h,2376 -#define __XFS_IALLOC_BTREE_H__33,1364 -#define XFS_IBT_MAGIC 47,1585 -typedef __uint64_t xfs_inofree_t;xfs_inofree_t49,1632 -#define XFS_INODES_PER_CHUNK 50,1666 -#define XFS_INODES_PER_CHUNK_LOG 51,1726 -#define XFS_INOBT_ALL_FREE 52,1777 -#define XFS_INOBT_MASKN(XFS_INOBT_MASKN56,1934 -#define XFS_INOBT_MASKN(XFS_INOBT_MASKN58,1991 -typedef struct xfs_inobt_recxfs_inobt_rec66,2159 -} xfs_inobt_rec_t;xfs_inobt_rec_t71,2353 -typedef struct xfs_inobt_keyxfs_inobt_key76,2397 -} xfs_inobt_key_t;xfs_inobt_key_t79,2482 -typedef xfs_agblock_t xfs_inobt_ptr_t;xfs_inobt_ptr_t81,2502 -typedef struct xfs_btree_sblock xfs_inobt_block_t;xfs_inobt_block_t83,2601 -#define XFS_BUF_TO_INOBT_BLOCK(XFS_BUF_TO_INOBT_BLOCK87,2787 -#define XFS_BUF_TO_INOBT_BLOCK(XFS_BUF_TO_INOBT_BLOCK89,2855 -#define XFS_INOBT_MASK(XFS_INOBT_MASK97,3080 -#define XFS_INOBT_MASK(XFS_INOBT_MASK99,3131 -#define XFS_INOBT_IS_FREE(XFS_INOBT_IS_FREE103,3325 -#define XFS_INOBT_IS_FREE(XFS_INOBT_IS_FREE105,3397 -#define XFS_INOBT_SET_FREE(XFS_INOBT_SET_FREE110,3644 -#define XFS_INOBT_SET_FREE(XFS_INOBT_SET_FREE112,3718 -#define XFS_INOBT_CLR_FREE(XFS_INOBT_CLR_FREE116,3958 -#define XFS_INOBT_CLR_FREE(XFS_INOBT_CLR_FREE118,4032 -#define XFS_INOBT_BLOCK_SIZE(XFS_INOBT_BLOCK_SIZE126,4342 -#define XFS_INOBT_BLOCK_SIZE(XFS_INOBT_BLOCK_SIZE128,4416 -#define XFS_INOBT_BLOCK_MAXRECS(XFS_INOBT_BLOCK_MAXRECS133,4625 -#define XFS_INOBT_BLOCK_MAXRECS(XFS_INOBT_BLOCK_MAXRECS135,4705 -#define XFS_INOBT_BLOCK_MINRECS(XFS_INOBT_BLOCK_MINRECS140,4931 -#define XFS_INOBT_BLOCK_MINRECS(XFS_INOBT_BLOCK_MINRECS142,5011 -#define XFS_INOBT_IS_LAST_REC(XFS_INOBT_IS_LAST_REC148,5225 -#define XFS_INOBT_IS_LAST_REC(XFS_INOBT_IS_LAST_REC150,5293 -#define XFS_IN_MAXLEVELS(XFS_IN_MAXLEVELS160,5600 -#define XFS_IN_MAXLEVELS(XFS_IN_MAXLEVELS162,5657 -#define XFS_IBT_BLOCK(XFS_IBT_BLOCK170,5866 -#define XFS_IBT_BLOCK(XFS_IBT_BLOCK172,5917 -#define XFS_PREALLOC_BLOCKS(XFS_PREALLOC_BLOCKS176,6116 -#define XFS_PREALLOC_BLOCKS(XFS_PREALLOC_BLOCKS178,6179 -#define XFS_INOBT_REC_ADDR(XFS_INOBT_REC_ADDR187,6490 -#define XFS_INOBT_REC_ADDR(XFS_INOBT_REC_ADDR189,6562 -#define XFS_INOBT_KEY_ADDR(XFS_INOBT_KEY_ADDR197,6875 -#define XFS_INOBT_KEY_ADDR(XFS_INOBT_KEY_ADDR199,6947 -#define XFS_INOBT_PTR_ADDR(XFS_INOBT_PTR_ADDR207,7260 -#define XFS_INOBT_PTR_ADDR(XFS_INOBT_PTR_ADDR209,7332 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_attr_sf.h,1474 -#define __XFS_ATTR_SF_H__33,1365 -typedef struct xfs_attr_shortform xfs_attr_shortform47,1650 - struct xfs_attr_sf_hdr xfs_attr_sf_hdr48,1686 - struct xfs_attr_sf_entry xfs_attr_sf_entry52,1865 -} xfs_attr_shortform_t;xfs_attr_shortform_t58,2174 -typedef struct xfs_attr_sf_hdr xfs_attr_sf_hdr_t;xfs_attr_sf_hdr_t59,2198 -typedef struct xfs_attr_sf_entry xfs_attr_sf_entry_t;xfs_attr_sf_entry_t60,2248 -typedef struct xfs_attr_sf_sort xfs_attr_sf_sort65,2390 -} xfs_attr_sf_sort_t;xfs_attr_sf_sort_t72,2741 -#define XFS_ATTR_SF_ENTSIZE_BYNAME(XFS_ATTR_SF_ENTSIZE_BYNAME76,2891 -#define XFS_ATTR_SF_ENTSIZE_BYNAME(XFS_ATTR_SF_ENTSIZE_BYNAME79,2984 -#define XFS_ATTR_SF_ENTSIZE_MAX 82,3121 -#define XFS_ATTR_SF_ENTSIZE(XFS_ATTR_SF_ENTSIZE86,3352 -#define XFS_ATTR_SF_ENTSIZE(XFS_ATTR_SF_ENTSIZE88,3418 -#define XFS_ATTR_SF_NEXTENTRY(XFS_ATTR_SF_NEXTENTRY93,3702 -#define XFS_ATTR_SF_NEXTENTRY(XFS_ATTR_SF_NEXTENTRY95,3772 -#define XFS_ATTR_SF_TOTSIZE(XFS_ATTR_SF_TOTSIZE101,4036 -#define XFS_ATTR_SF_TOTSIZE(XFS_ATTR_SF_TOTSIZE103,4099 -#define XFS_ATTR_TRACE_SIZE 116,4450 -#define XFS_ATTR_KTRACE_L_C 122,4585 -#define XFS_ATTR_KTRACE_L_CN 123,4629 -#define XFS_ATTR_KTRACE_L_CB 124,4680 -#define XFS_ATTR_KTRACE_L_CL 125,4732 -#define xfs_attr_trace_l_c(xfs_attr_trace_l_c143,5601 -#define xfs_attr_trace_l_cn(xfs_attr_trace_l_cn144,5633 -#define xfs_attr_trace_l_cb(xfs_attr_trace_l_cb145,5668 -#define xfs_attr_trace_l_cl(xfs_attr_trace_l_cl146,5703 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dmops.c,37 -xfs_dmops_t xfs_dmcore_stub 46,1599 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_ialloc.h,606 -#define __XFS_IALLOC_H__33,1358 -#define XFS_IALLOC_INODES(XFS_IALLOC_INODES45,1621 -#define XFS_IALLOC_INODES(XFS_IALLOC_INODES47,1679 -#define XFS_IALLOC_BLOCKS(XFS_IALLOC_BLOCKS51,1858 -#define XFS_IALLOC_BLOCKS(XFS_IALLOC_BLOCKS53,1916 -#define XFS_INODE_BIG_CLUSTER_SIZE 63,2274 -#define XFS_INODE_SMALL_CLUSTER_SIZE 64,2314 -#define XFS_INODE_CLUSTER_SIZE(XFS_INODE_CLUSTER_SIZE65,2356 -#define XFS_MAKE_IPTR(XFS_MAKE_IPTR72,2621 -#define XFS_MAKE_IPTR(XFS_MAKE_IPTR74,2680 -#define XFS_IALLOC_FIND_FREE(XFS_IALLOC_FIND_FREE83,2958 -#define XFS_IALLOC_FIND_FREE(XFS_IALLOC_FIND_FREE85,3022 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dmapi.h,1877 -#define __XFS_DMAPI_H__33,1362 -#define DMATTR_PREFIXLEN 43,1709 -#define DMATTR_PREFIXSTRING 44,1736 - DM_EVENT_INVALID 47,1791 - DM_EVENT_CANCEL 48,1815 - DM_EVENT_MOUNT 49,1859 - DM_EVENT_PREUNMOUNT 50,1881 - DM_EVENT_UNMOUNT 51,1907 - DM_EVENT_DEBUT 52,1930 - DM_EVENT_CREATE 53,1973 - DM_EVENT_CLOSE 54,1996 - DM_EVENT_POSTCREATE 55,2039 - DM_EVENT_REMOVE 56,2065 - DM_EVENT_POSTREMOVE 57,2088 - DM_EVENT_RENAME 58,2114 - DM_EVENT_POSTRENAME 59,2138 - DM_EVENT_LINK 60,2165 - DM_EVENT_POSTLINK 61,2187 - DM_EVENT_SYMLINK 62,2212 - DM_EVENT_POSTSYMLINK 63,2236 - DM_EVENT_READ 64,2264 - DM_EVENT_WRITE 65,2286 - DM_EVENT_TRUNCATE 66,2309 - DM_EVENT_ATTRIBUTE 67,2334 - DM_EVENT_DESTROY 68,2360 - DM_EVENT_NOSPACE 69,2384 - DM_EVENT_USER 70,2408 - DM_EVENT_MAX 71,2430 -} dm_eventtype_t;dm_eventtype_t72,2450 -#define HAVE_DM_EVENTTYPE_T73,2468 - DM_RIGHT_NULL,76,2512 - DM_RIGHT_SHARED,77,2528 - DM_RIGHT_EXCL78,2546 -} dm_right_t;dm_right_t79,2561 -#define HAVE_DM_RIGHT_T80,2575 -#define DM_EVENT_ENABLED(DM_EVENT_ENABLED83,2666 -#define DM_EVENT_ENABLED_IO(DM_EVENT_ENABLED_IO89,2859 -#define DM_XFS_VALID_FS_EVENTS 95,3052 -#define DM_XFS_VALID_FILE_EVENTS 117,3710 -#define DM_XFS_VALID_DIRECTORY_EVENTS 125,3930 -#define DM_XFS_SUPPORTED_EVENTS 140,4381 -#define DM_FLAGS_NDELAY 166,5057 -#define DM_FLAGS_UNWANTED 167,5127 -#define DM_FLAGS_ISEM 168,5197 -#define DM_FLAGS_IALLOCSEM_RD 172,5389 -#define DM_FLAGS_IALLOCSEM_WR 173,5459 -#define DM_SEM_FLAG_RD(DM_SEM_FLAG_RD181,5634 -#define DM_SEM_FLAG_WR 183,5745 -#define DM_SEM_FLAG_RD(DM_SEM_FLAG_RD185,5814 -#define DM_SEM_FLAG_WR 187,5905 -#define FILP_DELAY_FLAG(FILP_DELAY_FLAG195,6062 -#define AT_DELAY_FLAG(AT_DELAY_FLAG197,6159 -#define XFS_DM_INIT(XFS_DM_INIT205,6379 -#define XFS_DM_EXIT(XFS_DM_EXIT206,6427 -#define XFS_DM_INIT(XFS_DM_INIT208,6481 -#define XFS_DM_EXIT(XFS_DM_EXIT209,6509 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xfs/xfs_dir2_block.c,376 -xfs_dir2_block_addname(80,2501 -xfs_dir2_block_getdents(449,13524 -xfs_dir2_block_log_leaf(574,16706 -xfs_dir2_block_log_tail(597,17428 -xfs_dir2_block_lookup(617,18034 -xfs_dir2_block_lookup_int(660,19352 -xfs_dir2_block_removename(756,22216 -xfs_dir2_block_replace(838,24691 -xfs_dir2_block_sort(884,26168 -xfs_dir2_leaf_to_block(901,26679 -xfs_dir2_sf_to_block(1044,31294 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hostfs/hostfs_user.c,539 -int stat_file(20,348 -int file_type(57,1498 -int access_file(79,2161 -int open_file(90,2355 -void *open_dir(109,2685 -char *read_dir(119,2829 -int read_file(134,3155 -int write_file(144,3330 -int lseek_file(154,3513 -void close_file(163,3659 -void close_dir(168,3721 -int file_create(173,3774 -int set_attr(194,4238 -int make_symlink(251,5844 -int unlink_file(260,5974 -int do_mkdir(269,6082 -int do_rmdir(278,6202 -int do_mknod(287,6306 -int link_file(296,6440 -int do_readlink(305,6564 -int rename_file(317,6731 -int do_statfs(326,6851 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hostfs/hostfs_kern.c,2299 -struct hostfs_inode_info hostfs_inode_info30,671 -static inline struct hostfs_inode_info *HOSTFS_I(37,769 -#define FILE_HOSTFS_I(FILE_HOSTFS_I42,909 -int hostfs_d_delete(44,974 -struct dentry_operations hostfs_dentry_ops 49,1034 -static char *root_ino 54,1178 -static int append 55,1207 -#define HOSTFS_SUPER_MAGIC 57,1231 -static struct inode_operations hostfs_iops;59,1270 -static struct inode_operations hostfs_dir_iops;60,1314 -static struct address_space_operations hostfs_link_aops;61,1362 -static int __init hostfs_args(64,1435 -static char *dentry_name(102,2452 -static char *inode_name(133,3131 -static int read_name(141,3318 -static char *follow_link(170,4140 -static int read_inode(218,4844 -int hostfs_statfs(248,5344 -static struct inode *hostfs_alloc_inode(275,6088 -static void hostfs_delete_inode(290,6426 -static void hostfs_destroy_inode(299,6605 -static void hostfs_read_inode(314,6989 -static struct super_operations hostfs_sbops 319,7065 -int hostfs_readdir(328,7331 -int hostfs_file_open(351,7859 -int hostfs_fsync(388,8653 -static struct file_operations hostfs_file_fops 393,8743 -static struct file_operations hostfs_dir_fops 403,8991 -int hostfs_writepage(408,9101 -int hostfs_readpage(444,9851 -int hostfs_prepare_write(468,10350 -int hostfs_commit_write(495,10915 -static struct address_space_operations hostfs_aops 516,11428 -static int init_inode(524,11680 -int hostfs_create(574,12805 -struct dentry *hostfs_lookup(617,13653 -static char *inode_dentry_name(657,14304 -int hostfs_link(671,14668 -int hostfs_unlink(689,15115 -int hostfs_symlink(703,15359 -int hostfs_mkdir(714,15594 -int hostfs_rmdir(725,15819 -int hostfs_mknod(736,16028 -int hostfs_rename(776,16657 -void hostfs_truncate(794,17077 -int hostfs_permission(799,17142 -int hostfs_setattr(815,17534 -int hostfs_getattr(875,19034 -static struct inode_operations hostfs_iops 882,19181 -static struct inode_operations hostfs_dir_iops 897,19559 -int hostfs_link_readpage(913,19968 -static struct address_space_operations hostfs_link_aops 938,20518 -static int hostfs_fill_sb_common(942,20617 -static struct super_block *hostfs_read_sb(992,21472 -static struct file_system_type hostfs_type 999,21680 -static int __init init_hostfs(1007,21851 -static void __exit exit_hostfs(1012,21936 -module_init(1017,22016 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hostfs/hostfs.h,449 -#define __UM_FS_HOSTFS2,23 -#define HOSTFS_ATTR_MODE 10,217 -#define HOSTFS_ATTR_UID 11,244 -#define HOSTFS_ATTR_GID 12,271 -#define HOSTFS_ATTR_SIZE 13,298 -#define HOSTFS_ATTR_ATIME 14,325 -#define HOSTFS_ATTR_MTIME 15,354 -#define HOSTFS_ATTR_CTIME 16,383 -#define HOSTFS_ATTR_ATIME_SET 17,412 -#define HOSTFS_ATTR_MTIME_SET 18,446 -#define HOSTFS_ATTR_FORCE 19,480 -#define HOSTFS_ATTR_ATTR_FLAG 20,546 -struct hostfs_iattr hostfs_iattr22,582 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/compat_ioctl.c,9228 -#define __KERNEL__84,2168 -#define EXT2_IOC32_GETFLAGS 127,3075 -#define EXT2_IOC32_SETFLAGS 128,3135 -#define EXT2_IOC32_GETVERSION 129,3195 -#define EXT2_IOC32_SETVERSION 130,3255 -static int w_long(132,3316 -static int rw_long(146,3636 -static int do_ext2_ioctl(163,4017 -struct video_tuner32 video_tuner32175,4498 -static int get_video_tuner32(183,4667 -static int put_video_tuner32(199,5093 -struct video_buffer32 video_buffer32215,5519 -static int get_video_buffer32(220,5619 -static int put_video_buffer32(239,6062 -struct video_clip32 video_clip32252,6419 -struct video_window32 video_window32257,6528 -static int put_video_window32(264,6698 -#define VIDIOCGTUNER32 277,7076 -#define VIDIOCSTUNER32 278,7135 -#define VIDIOCGWIN32 279,7193 -#define VIDIOCSWIN32 280,7250 -#define VIDIOCGFBUF32 281,7308 -#define VIDIOCSFBUF32 282,7367 -#define VIDIOCGFREQ32 283,7426 -#define VIDIOCSFREQ32 284,7467 - MaxClips 287,7516 - MaxClips = (~0U-287,7516 - MaxClips = (~0U-sizeof(287,7516 - MaxClips = (~0U-sizeof(struct video_window)287,7516 - MaxClips = (~0U-sizeof(struct video_window))/sizeof(287,7516 - MaxClips = (~0U-sizeof(struct video_window))/sizeof(struct video_clip)287,7516 -static int do_set_window(290,7592 -static int do_video_ioctl(346,9169 -static int do_siocgstamp(414,10582 -struct ifmap32 ifmap32431,10988 -struct ifreq32 ifreq32440,11149 -#define IFHWADDRLEN 441,11166 -#define IFNAMSIZ 442,11192 -struct ifconf32 ifconf32463,11969 -static int dev_ifname32(468,12103 -static int dev_ifconf(488,12567 -static int ethtool_ioctl(559,14413 -static int bond_ioctl(582,14955 -int siocdevprivate_ioctl(625,15961 -static int dev_ifsioc(651,16746 -struct rtentry32 rtentry32714,18556 -struct in6_rtmsg32 in6_rtmsg32733,19380 -static int routing_ioctl(746,19641 -struct hd_geometry32 hd_geometry32804,21385 -static int hdio_getgeo(811,21521 -struct fb_fix_screeninfo32 fb_fix_screeninfo32829,21957 -struct fb_cmap32 fb_cmap32846,22261 -static int fb_getput_cmap(855,22400 -static int do_fscreeninfo_to_user(889,23282 -static int fb_get_fscreeninfo(920,24274 -static int fb_ioctl_trans(940,24674 -static int hdio_ioctl_trans(969,25193 -typedef struct sg_io_hdr32 sg_io_hdr32989,25562 -} sg_io_hdr32_t;sg_io_hdr32_t1013,27067 -typedef struct sg_iovec32 sg_iovec321015,27119 -} sg_iovec32_t;sg_iovec32_t1018,27196 -static int sg_build_iovec(1020,27213 -static int sg_ioctl_trans(1041,27735 -struct sock_fprog32 sock_fprog321135,29898 -#define PPPIOCSPASS32 1140,29969 -#define PPPIOCSACTIVE32 1141,30026 -static int ppp_sock_fprog_ioctl_trans(1143,30086 -struct ppp_option_data32 ppp_option_data321169,30747 -#define PPPIOCSCOMPRESS32 1174,30838 -struct ppp_idle32 ppp_idle321176,30905 -#define PPPIOCGIDLE32 1180,30980 -static int ppp_gidle(1182,31037 -static int ppp_scompress(1204,31574 -static int ppp_ioctl_trans(1228,32158 -struct mtget32 mtget321257,32665 -#define MTIOCGET32 1266,32862 -struct mtpos32 mtpos321268,32911 -#define MTIOCPOS32 1271,32956 -struct mtconfiginfo32 mtconfiginfo321273,33005 -#define MTIOCGETCONFIG32 1294,33518 -#define MTIOCSETCONFIG32 1295,33579 -static int mt_ioctl_trans(1297,33641 -struct cdrom_read_audio32 cdrom_read_audio321388,36297 -struct cdrom_generic_command32 cdrom_generic_command321395,36418 -static int cdrom_do_read_audio(1407,36690 -static int cdrom_do_generic_command(1432,37368 -static int cdrom_ioctl_trans(1463,38405 -struct loop_info32 loop_info321491,38936 -static int loop_status(1506,39441 -static int vt_check(1560,40964 -struct consolefontdesc32 consolefontdesc321584,41638 -static int do_fontx_ioctl(1590,41870 -struct console_font_op32 console_font_op321637,43109 -static int do_kdfontop_ioctl(1645,43428 -struct unimapdesc32 unimapdesc321669,44243 -static int do_unimap_ioctl(1674,44320 -static int do_smb_getmountuid(1695,44923 -struct atmif_sioc32 atmif_sioc321713,45287 -struct atm_iobuf32 atm_iobuf321719,45399 -#define ATM_GETLINKRATE32 1724,45470 -#define ATM_GETNAMES32 1725,45541 -#define ATM_GETTYPE32 1726,45611 -#define ATM_GETESI32 1727,45682 -#define ATM_GETADDR32 1728,45750 -#define ATM_RSTADDR32 1729,45819 -#define ATM_ADDADDR32 1730,45888 -#define ATM_DELADDR32 1731,45957 -#define ATM_GETCIRANGE32 1732,46026 -#define ATM_SETCIRANGE32 1733,46098 -#define ATM_SETESI32 1734,46170 -#define ATM_SETESIF32 1735,46242 -#define ATM_GETSTAT32 1736,46314 -#define ATM_GETSTATZ32 1737,46388 -#define ATM_GETLOOP32 1738,46462 -#define ATM_SETLOOP32 1739,46534 -#define ATM_QUERYLOOP32 1740,46606 -} atm_ioctl_map[1745,46751 -#define NR_ATM_IOCTL 1765,47473 -static int do_atm_iobuf(1768,47545 -static int do_atmif_sioc(1798,48216 -static int do_atm_ioctl(1826,48876 -ret_einval(1879,50008 -static int broken_blkgetsize(1884,50095 -struct blkpg_ioctl_arg32 blkpg_ioctl_arg321890,50280 -static int blkpg_ioctl_trans(1897,50395 -static int ioc_settimeout(1919,51020 -#define BLKBSZGET_32 1925,51190 -#define BLKBSZSET_32 1926,51232 -#define BLKGETSIZE64_32 1927,51274 -static int do_blkbszget(1929,51325 -static int do_blkbszset(1934,51480 -static int do_blkgetsize64(1939,51635 -#define HCIUARTSETPROTO 1946,51845 -#define HCIUARTGETPROTO 1947,51889 -#define BNEPCONNADD 1949,51934 -#define BNEPCONNDEL 1950,51974 -#define BNEPGETCONNLIST 1951,52014 -#define BNEPGETCONNINFO 1952,52058 -#define CMTPCONNADD 1954,52103 -#define CMTPCONNDEL 1955,52143 -#define CMTPGETCONNLIST 1956,52183 -#define CMTPGETCONNINFO 1957,52227 -#define HIDPCONNADD 1959,52272 -#define HIDPCONNDEL 1960,52312 -#define HIDPGETCONNLIST 1961,52352 -#define HIDPGETCONNINFO 1962,52396 -struct floppy_struct32 floppy_struct321964,52441 -struct floppy_drive_params32 floppy_drive_params321977,52694 -struct floppy_drive_struct32 floppy_drive_struct321999,53189 -struct floppy_fdc_state32 floppy_fdc_state322017,53584 -struct floppy_write_errors32 floppy_write_errors322033,53933 -#define FDSETPRM32 2042,54166 -#define FDDEFPRM32 2043,54223 -#define FDGETPRM32 2044,54280 -#define FDSETDRVPRM32 2045,54337 -#define FDGETDRVPRM32 2046,54403 -#define FDGETDRVSTAT32 2047,54469 -#define FDPOLLDRVSTAT32 2048,54536 -#define FDGETFDCSTAT32 2049,54604 -#define FDWERRORGET32 2050,54668 -} fd_ioctl_trans_table[2055,54792 -#define NR_FD_IOCTL_TRANS 2067,55111 -static int fd_ioctl_trans(2069,55201 -struct mtd_oob_buf32 mtd_oob_buf322288,62375 -#define MEMWRITEOOB32 2294,62481 -#define MEMREADOOB32 2295,62538 -static int mtd_rw_oob(2297,62595 -#define VFAT_IOCTL_READDIR_BOTH32 2328,63310 -#define VFAT_IOCTL_READDIR_SHORT32 2329,63382 -put_dirent32 2332,63468 -static int vfat_ioctl32(2347,63915 -#define REISERFS_IOC_UNPACK32 2374,64536 -static int reiserfs_ioctl32(2376,64598 -struct raw32_config_requestraw32_config_request2384,64801 -static int get_raw32_request(2391,64952 -static int set_raw32_request(2406,65472 -static int raw_ioctl(2421,65986 -struct serial_struct32 serial_struct322451,66843 -static int serial_struct_ioctl(2473,67591 - typedef struct serial_struct SS;SS2475,67670 - typedef struct serial_struct32 SS32;SS322476,67711 -struct usbdevfs_ctrltransfer32 usbdevfs_ctrltransfer322510,69122 -#define USBDEVFS_CONTROL32 2520,69339 -static int do_usbdevfs_control(2522,69423 -struct usbdevfs_bulktransfer32 usbdevfs_bulktransfer322536,69950 -#define USBDEVFS_BULK32 2543,70122 -static int do_usbdevfs_bulk(2545,70206 -struct usbdevfs_urb32 usbdevfs_urb322604,72985 -#define USBDEVFS_SUBMITURB32 2620,73388 -static int get_urb32(2622,73461 -static int put_urb32(2643,74234 -static int get_urb32_isoframes(2666,74848 -static int do_usbdevfs_urb(2706,75625 -#define USBDEVFS_REAPURB32 2762,76667 -#define USBDEVFS_REAPURBNDELAY32 2763,76721 -static int do_usbdevfs_reapurb(2765,76776 -struct usbdevfs_disconnectsignal32 usbdevfs_disconnectsignal322787,77380 -#define USBDEVFS_DISCSIGNAL32 2792,77481 -static int do_usbdevfs_discsignal(2794,77567 -struct i2c_msg32 i2c_msg322822,78233 -struct i2c_rdwr_ioctl_data32 i2c_rdwr_ioctl_data322829,78310 -struct i2c_smbus_ioctl_data32 i2c_smbus_ioctl_data322834,78413 -static int do_i2c_rdwr_ioctl(2841,78544 -static int do_i2c_smbus_ioctl(2888,79963 -struct compat_iw_point compat_iw_point2915,80767 -static int do_wireless_ioctl(2921,80850 -static int old_bridge_ioctl(2963,82025 -struct ncp_ioctl_request_32 ncp_ioctl_request_322975,82317 -struct ncp_fs_info_v2_32 ncp_fs_info_v2_322981,82399 -struct ncp_objectname_ioctl_32ncp_objectname_ioctl_322995,82577 -struct ncp_privatedata_ioctl_32ncp_privatedata_ioctl_323002,82732 -#define NCP_IOC_NCPREQUEST_32 3008,82824 -#define NCP_IOC_GETMOUNTUID2_32 3009,82897 -#define NCP_IOC_GET_FS_INFO_V2_32 3010,82948 -#define NCP_IOC_GETOBJECTNAME_32 3011,83022 -#define NCP_IOC_SETOBJECTNAME_32 3012,83101 -#define NCP_IOC_GETPRIVATEDATA_32 3013,83179 -#define NCP_IOC_SETPRIVATEDATA_32 3014,83261 -static int do_ncp_ncprequest(3016,83343 -static int do_ncp_getmountuid2(3030,83809 -static int do_ncp_getfsinfo2(3049,84182 -static int do_ncp_getobjectname(3081,85039 -static int do_ncp_setobjectname(3107,85813 -static int do_ncp_getprivatedata(3121,86348 -static int do_ncp_setprivatedata(3145,86947 -HANDLE_IOCTL(3165,87479 -#define AUTOFS_IOC_SETTIMEOUT32 3252,91121 -#define SMB_IOC_GETMOUNTUID_32 3274,92058 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ramfs/inode.c,1151 -#define RAMFS_MAGIC 39,1005 -static struct super_operations ramfs_ops;41,1037 -static struct address_space_operations ramfs_aops;42,1079 -static struct inode_operations ramfs_file_inode_operations;43,1130 -static struct inode_operations ramfs_dir_inode_operations;44,1190 -static struct backing_dev_info ramfs_backing_dev_info 46,1250 -struct inode *ramfs_get_inode(51,1410 -ramfs_mknod(92,2461 -static int ramfs_mkdir(110,2880 -static int ramfs_create(118,3069 -static int ramfs_symlink(123,3225 -static struct address_space_operations ramfs_aops 143,3680 -struct file_operations ramfs_file_operations 149,3845 -static struct inode_operations ramfs_file_inode_operations 158,4085 -static struct inode_operations ramfs_dir_inode_operations 162,4180 -static struct super_operations ramfs_ops 174,4476 -static int ramfs_fill_super(179,4589 -struct super_block *ramfs_get_sb(202,5076 -static struct super_block *rootfs_get_sb(208,5256 -static struct file_system_type ramfs_fs_type 214,5454 -static struct file_system_type rootfs_fs_type 219,5582 -static int __init init_ramfs_fs(225,5714 -static void __exit exit_ramfs_fs(230,5802 -module_init(235,5886 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/autofs_i.h,873 -#define AUTOFS_IOC_FIRST 19,625 -#define AUTOFS_IOC_COUNT 20,671 -#define DPRINTK(DPRINTK36,988 -#define DPRINTK(DPRINTK38,1122 -#define AUTOFS_SUPER_MAGIC 41,1174 -#define AUTOFS_NEGATIVE_TIMEOUT 49,1502 -struct autofs_info autofs_info57,1993 -#define AUTOFS_INF_EXPIRING 75,2239 -struct autofs_wait_queue autofs_wait_queue77,2318 -#define AUTOFS_SBI_MAGIC 90,2614 -struct autofs_sb_info autofs_sb_info92,2651 -static inline struct autofs_sb_info *autofs4_sbi(107,2956 -static inline struct autofs_info *autofs4_dentry_ino(112,3084 -static inline int autofs4_oz_mode(121,3387 -static inline int autofs4_ispending(126,3568 -static inline void autofs4_copy_atime(134,3794 -enum autofs_notifyautofs_notify166,4925 - NFY_NONE,168,4946 - NFY_MOUNT,169,4957 - NFY_EXPIRE170,4969 -static inline int simple_positive(177,5187 -static inline int simple_empty_nolock(182,5297 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/root.c,1340 -struct file_operations autofs4_root_operations 34,1562 -struct file_operations autofs4_dir_operations 42,1767 -struct inode_operations autofs4_root_inode_operations 49,1941 -struct inode_operations autofs4_dir_inode_operations 57,2156 -static int autofs4_root_readdir(65,2370 -static void autofs4_update_usage(89,3128 -static int autofs4_dcache_readdir(108,3515 -static int autofs4_dir_open(166,4736 -static int autofs4_dir_close(222,6030 -static int autofs4_dir_readdir(251,6601 -static int try_to_fill_dentry(287,7369 -static int autofs4_revalidate(372,9930 -static void autofs4_dentry_release(412,11033 -static struct dentry_operations autofs4_root_dentry_operations 430,11338 -static struct dentry_operations autofs4_dentry_operations 436,11509 -static struct dentry *autofs4_lookup(442,11686 -static int autofs4_dir_symlink(513,13727 -static int autofs4_dir_unlink(574,15274 -static int autofs4_dir_rmdir(595,15724 -static int autofs4_dir_mkdir(622,16257 -static inline int autofs4_get_set_timeout(656,17094 -static inline int autofs4_get_protover(675,17475 -static inline int autofs4_get_protosubver(681,17631 -static inline int autofs4_ask_reghost(690,17863 -static inline int autofs4_toggle_reghost(707,18178 -static inline int autofs4_ask_umount(727,18532 -int is_autofs4_dentry(745,18942 -static int autofs4_root_ioctl(757,19270 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/init.c,209 -static struct super_block *autofs_get_sb(17,543 -static struct file_system_type autofs_fs_type 23,733 -static int __init init_autofs4_fs(30,887 -static void __exit exit_autofs4_fs(35,978 -module_init(40,1065 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/inode.c,762 -static void ino_lnkfree(22,671 -struct autofs_info *autofs4_init_ino(30,801 -void autofs4_free_ino(66,1357 -static void autofs4_put_super(79,1585 -static struct super_operations autofs4_sops 93,1848 -enum {Opt_err,98,1960 -enum {Opt_err, Opt_fd,98,1960 -enum {Opt_err, Opt_fd, Opt_uid,98,1960 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid,98,1960 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp,98,1960 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto,98,1960 -enum {Opt_err, Opt_fd, Opt_uid, Opt_gid, Opt_pgrp, Opt_minproto, Opt_maxproto}98,1960 -static match_table_t tokens 100,2041 -static int parse_options(110,2246 -static struct autofs_info *autofs4_mkroot(172,3379 -int autofs4_fill_super(183,3573 -struct inode *autofs4_get_inode(292,6124 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/waitq.c,294 -static autofs_wqt_t autofs4_next_wait_queue 22,795 -#define SHUTDOWN_SIGS 25,911 -void autofs4_catatonic_mode(27,990 -static int autofs4_write(52,1511 -static void autofs4_notify_daemon(87,2428 -static int autofs4_getpath(128,3487 -int autofs4_wait(160,4193 -int autofs4_wait_release(273,6989 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/expire.c,325 -static unsigned long now;17,609 -static inline int autofs4_can_expire(20,708 -static int autofs4_check_mount(49,1439 -static int autofs4_check_tree(83,2181 -static struct dentry *autofs4_check_leaves(149,3564 -static struct dentry *autofs4_expire(216,5018 -int autofs4_expire_run(306,7161 -int autofs4_expire_multi(335,7886 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/autofs4/symlink.c,104 -static int autofs4_follow_link(15,496 -struct inode_operations autofs4_symlink_inode_operations 22,685 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/devfs/base.c,5484 -#define DEVFS_VERSION 689,28627 -#define DEVFS_NAME 691,28674 -#define FIRST_INODE 693,28702 -#define STRING_LENGTH 695,28725 -#define FAKE_BLOCK_SIZE 696,28751 -#define POISON_PTR 697,28780 -#define MAGIC_VALUE 698,28827 -# define TRUE 701,28872 -# define FALSE 702,28889 -#define MODE_DIR 705,28915 -#define DEBUG_NONE 707,28973 -#define DEBUG_MODULE_LOAD 708,29010 -#define DEBUG_REGISTER 709,29047 -#define DEBUG_UNREGISTER 710,29084 -#define DEBUG_FREE 711,29121 -#define DEBUG_SET_FLAGS 712,29158 -#define DEBUG_S_READ 713,29195 -#define DEBUG_I_LOOKUP 714,29246 -#define DEBUG_I_CREATE 715,29297 -#define DEBUG_I_GET 716,29334 -#define DEBUG_I_CHANGE 717,29371 -#define DEBUG_I_UNLINK 718,29408 -#define DEBUG_I_RLINK 719,29445 -#define DEBUG_I_FLINK 720,29482 -#define DEBUG_I_MKNOD 721,29519 -#define DEBUG_F_READDIR 722,29556 -#define DEBUG_D_DELETE 723,29607 -#define DEBUG_D_RELEASE 724,29658 -#define DEBUG_D_IPUT 725,29695 -#define DEBUG_ALL 726,29732 -#define DEBUG_DISABLED 727,29769 -#define OPTION_NONE 729,29808 -#define OPTION_MOUNT 730,29845 -#define PRINTK(PRINTK732,29883 -#define OOPS(OOPS735,29978 -# define VERIFY_ENTRY(VERIFY_ENTRY741,30144 -# define WRITE_ENTRY_MAGIC(WRITE_ENTRY_MAGIC744,30299 -# define DPRINTK(DPRINTK745,30366 -# define VERIFY_ENTRY(VERIFY_ENTRY749,30503 -# define WRITE_ENTRY_MAGIC(WRITE_ENTRY_MAGIC750,30530 -# define DPRINTK(DPRINTK751,30568 -typedef struct devfs_entry *devfs_handle_t;devfs_handle_t754,30617 -struct directory_type directory_type756,30662 -struct symlink_type symlink_type763,30841 -struct devfs_inode devfs_inode768,31001 -struct devfs_entry devfs_entry778,31270 -static struct devfs_entry *root_entry;802,32145 -struct devfsd_buf_entry devfsd_buf_entry804,32185 -struct fs_info fs_info813,32427 -static struct fs_info fs_info 829,33094 -static kmem_cache_t *devfsd_buf_cache;830,33171 -static unsigned int devfs_debug_init __initdata 832,33236 -static unsigned int devfs_debug 833,33298 -static spinlock_t stat_lock 834,33344 -static unsigned int stat_num_entries;835,33394 -static unsigned int stat_num_bytes;836,33432 -static unsigned char poison_array[838,33475 -static unsigned int boot_options 842,33597 -static unsigned int boot_options 844,33652 -static struct file_operations stat_fops 859,34274 -static struct file_operations devfsd_fops 866,34413 -static struct devfs_entry *devfs_get(880,34680 -static void devfs_put(893,34957 -static struct devfs_entry *_devfs_search_dir(933,36158 -static struct devfs_entry *_devfs_alloc_entry(963,36967 -static int _devfs_append_entry(1009,38522 -static struct devfs_entry *_devfs_get_root_entry(1063,39825 -static struct devfs_entry *_devfs_descend(1101,40908 -static devfs_handle_t _devfs_make_parent_for_leaf(1122,41559 -static devfs_handle_t _devfs_prepare_leaf(1166,42723 -static devfs_handle_t _devfs_walk_path(1187,43306 -static struct devfs_entry *_devfs_find_entry(1241,44726 -static struct devfs_entry *get_devfs_entry_from_vfs_inode(1265,45337 -static void free_dentry(1281,45796 -static int is_devfsd_or_child(1304,46349 -static inline int devfsd_queue_empty(1330,46996 -static int wait_for_devfsd_finished(1342,47363 -static int devfsd_notify_de(1375,48455 -static void devfsd_notify(1415,49684 -static int devfs_mk_dev(1421,49843 -int devfs_mk_bdev(1456,50662 -int devfs_mk_cdev(1472,50982 -static int _devfs_unhook(1497,51559 -static void _devfs_unregister(1526,52328 -static int devfs_do_symlink(1555,53103 -int devfs_mk_symlink(1612,54549 -int devfs_mk_dir(1637,55195 -void devfs_remove(1679,56086 -static int devfs_generate_path(1715,56965 -#define NAMEOF(NAMEOF1718,57051 -static int __init devfs_setup(1745,57799 -static int try_modload(1820,59885 -static struct inode_operations devfs_iops;1843,60604 -static struct inode_operations devfs_dir_iops;1844,60647 -static struct file_operations devfs_fops;1845,60694 -static struct file_operations devfs_dir_fops;1846,60736 -static struct inode_operations devfs_symlink_iops;1847,60782 -static int devfs_notify_change(1849,60834 -static struct super_operations devfs_sops 1884,62060 -static struct inode *_devfs_get_vfs_inode(1899,62451 -static int devfs_readdir(1961,64400 -static int devfs_open(2032,66128 -static struct file_operations devfs_fops 2064,66799 -static struct file_operations devfs_dir_fops 2068,66869 -static void devfs_d_release(2080,67120 -static void devfs_d_iput(2091,67406 -static struct dentry_operations devfs_dops 2109,67978 -static struct dentry_operations devfs_wait_dops 2117,68194 -static int devfs_d_delete(2129,68483 -struct devfs_lookup_struct devfs_lookup_struct2144,68858 -static int devfs_d_revalidate_wait(2151,69076 -static struct dentry *devfs_lookup(2247,72032 -static int devfs_unlink(2324,74941 -static int devfs_symlink(2350,75686 -static int devfs_mkdir(2384,76851 -static int devfs_rmdir(2417,77984 -static int devfs_mknod(2457,79063 -static int devfs_follow_link(2494,80290 -static struct inode_operations devfs_iops 2501,80560 -static struct inode_operations devfs_dir_iops 2505,80643 -static struct inode_operations devfs_symlink_iops 2515,80876 -static int devfs_fill_super(2521,81033 -static struct super_block *devfs_get_sb(2551,81918 -static struct file_system_type devfs_fs_type 2558,82115 -static ssize_t devfsd_read(2566,82286 -static int devfsd_ioctl(2668,85104 -static int devfsd_close(2727,86868 -static ssize_t stat_read(2756,87704 -static int __init init_devfs_fs(2775,88152 -void __init mount_devfs_fs(2824,89559 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/devfs/util.c,69 -int devfs_register_tape(76,3571 -void devfs_unregister_tape(91,3863 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/minix.h,323 -#define NO_TRUNCATE 9,224 -#define INODE_VERSION(INODE_VERSION11,247 -#define MINIX_V1 13,310 -#define MINIX_V2 14,360 -struct minix_inode_info minix_inode_info19,445 -struct minix_sb_info minix_sb_info30,600 -static inline struct minix_sb_info *minix_sb(88,3122 -static inline struct minix_inode_info *minix_i(93,3219 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/itree_common.c,568 -} Indirect;Indirect7,89 -static rwlock_t pointers_lock 9,102 -static inline void add_chain(11,153 -static inline int verify_chain(17,272 -static inline block_t *block_end(24,414 -static inline Indirect *get_branch(29,529 -static int alloc_branch(69,1333 -static inline int splice_branch(108,2274 -static inline int get_block(145,3081 -static inline int all_zeroes(208,4419 -static Indirect *find_shared(216,4528 -static inline void free_data(256,5266 -static void free_branches(269,5476 -static inline void truncate 293,5967 -static inline unsigned nblocks(349,7362 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/inode.c,1484 -static void minix_delete_inode(25,659 -static void minix_put_super(32,786 -static kmem_cache_t * minix_inode_cachep;53,1234 -static struct inode *minix_alloc_inode(55,1277 -static void minix_destroy_inode(64,1508 -static void init_once(69,1620 -static int init_inodecache(78,1891 -static void destroy_inodecache(89,2158 -static struct super_operations minix_sops 95,2319 -static int minix_remount 106,2635 -static int minix_fill_super(137,3593 -static int minix_statfs(297,7665 -static int minix_get_block(311,8124 -static int minix_writepage(320,8411 -static int minix_readpage(324,8551 -static int minix_prepare_write(328,8671 -static sector_t minix_bmap(332,8831 -static struct address_space_operations minix_aops 336,8968 -static struct inode_operations minix_symlink_inode_operations 345,9215 -void minix_set_inode(352,9411 -static void V1_minix_read_inode(372,10029 -static void V2_minix_read_inode(403,10950 -static void minix_read_inode(436,11914 -static struct buffer_head * V1_minix_update_inode(447,12132 -static struct buffer_head * V2_minix_update_inode(474,12971 -static struct buffer_head *minix_update_inode(500,13846 -static int minix_write_inode(508,14041 -int minix_sync_inode(514,14154 -int minix_getattr(536,14550 -void minix_truncate(550,14968 -static struct super_block *minix_get_sb(560,15210 -static struct file_system_type minix_fs_type 566,15406 -static int __init init_minix_fs(574,15588 -static void __exit exit_minix_fs(589,15808 -module_init(595,15922 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/itree_v1.c,342 -enum {DEPTH 4,51 -enum {DEPTH = 3, DIRECT 4,51 -typedef u16 block_t;block_t6,109 -static inline unsigned long block_to_cpu(8,156 -static inline block_t cpu_to_block(13,224 -static inline block_t *i_data(18,292 -static int block_to_path(23,394 -int V1_minix_get_block(47,919 -void V1_minix_truncate(53,1079 -unsigned V1_minix_blocks(58,1147 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/itree_v2.c,344 -enum {DIRECT 4,51 -enum {DIRECT = 7, DEPTH 4,51 -typedef u32 block_t;block_t6,109 -static inline unsigned long block_to_cpu(8,156 -static inline block_t cpu_to_block(13,224 -static inline block_t *i_data(18,292 -static int block_to_path(23,394 -int V2_minix_get_block(52,1076 -void V2_minix_truncate(58,1236 -unsigned V2_minix_blocks(63,1304 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/bitmap.c,396 -static int nibblemap[19,349 -static unsigned long count_free(21,412 -void minix_free_block(51,1181 -int minix_new_block(79,1908 -unsigned long minix_count_free_blocks(103,2431 -minix_V1_raw_inode(111,2647 -minix_V2_raw_inode(135,3249 -static void minix_clear_inode(161,3910 -void minix_free_inode(185,4452 -struct inode * minix_new_inode(211,5110 -unsigned long minix_count_free_inodes(263,6324 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/namei.c,561 -static inline void inc_count(9,103 -static inline void dec_count(15,203 -static int add_nondir(21,303 -static int minix_hash(33,522 -struct dentry_operations minix_dentry_operations 53,978 -static struct dentry *minix_lookup(57,1059 -static int minix_mknod(78,1505 -static int minix_create(97,1871 -static int minix_symlink(103,2020 -static int minix_link(133,2541 -static int minix_mkdir(147,2878 -static int minix_unlink(189,3573 -static int minix_rmdir(210,3970 -static int minix_rename(225,4246 -struct inode_operations minix_dir_inode_operations 306,5985 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/file.c,141 -struct file_operations minix_file_operations 18,364 -struct inode_operations minix_file_inode_operations 27,603 -int minix_sync_file(32,719 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/minix/dir.c,705 -typedef struct minix_dir_entry minix_dirent;minix_dirent13,197 -struct file_operations minix_dir_operations 17,304 -static inline void dir_put_page(23,439 -minix_last_byte(34,651 -static inline unsigned long dir_pages(43,881 -static int dir_commit_chunk(48,1006 -static struct page * dir_get_page(60,1312 -static inline void *minix_next_entry(78,1707 -static int minix_readdir(83,1831 -static inline int namecompare(134,3112 -minix_dirent *minix_find_entry(150,3596 -int minix_add_link(188,4520 -int minix_delete_entry(260,6302 -int minix_make_empty(283,6913 -int minix_empty_dir(320,7798 -void minix_set_link(363,8698 -struct minix_dir_entry * minix_dotdot 385,9298 -ino_t minix_inode_by_name(398,9608 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/pipe.c,1318 -void pipe_wait(36,872 -pipe_iov_copy_from_user(48,1118 -pipe_iov_copy_to_user(68,1497 -pipe_readv(88,1881 -pipe_read(169,3840 -pipe_writev(176,4035 -pipe_write(263,6004 -bad_pipe_r(271,6226 -bad_pipe_w(277,6338 -pipe_ioctl(283,6452 -pipe_poll(296,6723 -#define fifo_poll 316,7241 -pipe_release(319,7281 -pipe_read_fasync(340,7834 -pipe_write_fasync(357,8128 -pipe_rdwr_fasync(374,8423 -pipe_read_release(396,8807 -pipe_write_release(403,8948 -pipe_rdwr_release(410,9091 -pipe_read_open(421,9341 -pipe_write_open(433,9626 -pipe_rdwr_open(443,9783 -struct file_operations read_fifo_fops 459,10149 -struct file_operations write_fifo_fops 471,10416 -struct file_operations rdwr_fifo_fops 483,10690 -struct file_operations read_pipe_fops 496,10982 -struct file_operations write_pipe_fops 508,11249 -struct file_operations rdwr_pipe_fops 520,11523 -struct inode* pipe_new(533,11815 -static struct vfsmount *pipe_mnt;559,12444 -static int pipefs_delete_dentry(560,12478 -static struct dentry_operations pipefs_dentry_operations 564,12548 -static struct inode * get_pipe_inode(568,12648 -int do_pipe(600,13408 -static struct super_block *pipefs_get_sb(692,15317 -static struct file_system_type pipe_fs_type 698,15504 -static int __init init_pipe_fs(704,15632 -static void __exit exit_pipe_fs(717,15889 -module_init(723,15990 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fifo.c,149 -static void wait_for_partner(18,347 -static void wake_up_partner(28,524 -static int fifo_open(33,621 -struct file_operations def_fifo_fops 157,3329 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/buffer.c,4307 -#define BH_ENTRY(BH_ENTRY45,1230 -struct bh_wait_queue bh_wait_queue47,1310 -#define __DEFINE_BH_WAIT(__DEFINE_BH_WAIT52,1382 -#define DEFINE_BH_WAIT(DEFINE_BH_WAIT63,1659 -#define DEFINE_BH_WAIT_EXCLUSIVE(DEFINE_BH_WAIT_EXCLUSIVE64,1722 -#define BH_WAIT_TABLE_ORDER 70,1871 -static struct bh_wait_queue_head bh_wait_queue_head71,1901 -} ____cacheline_aligned_in_smp bh_wait_queue_heads[73,1960 -init_buffer(76,2049 -wait_queue_head_t *bh_waitq_head(86,2264 -void wake_up_buffer(92,2425 -static int bh_wake_function(102,2653 -static void sync_buffer(115,2975 -void fastcall __lock_buffer(125,3143 -void fastcall unlock_buffer(142,3531 -void __wait_on_buffer(154,3831 -__set_page_buffers(170,4162 -__clear_page_buffers(178,4327 -static void buffer_io_error(185,4444 -void end_buffer_read_sync(198,4800 -void end_buffer_write_sync(210,5040 -int sync_blockdev(234,5621 -int fsync_super(255,6065 -int fsync_bdev(276,6568 -struct super_block *freeze_bdev(296,7146 -void thaw_bdev(341,8090 -static void do_sync(362,8511 -asmlinkage long sys_sync(377,8997 -void emergency_sync(383,9057 -int file_fsync(394,9223 -asmlinkage long sys_fsync(415,9680 -asmlinkage long sys_fdatasync(453,10406 -__find_get_block_slow(500,11562 -void invalidate_bdev(583,14823 -static void free_more_memory(597,15199 -static void end_buffer_async_read(616,15571 -void end_buffer_async_write(673,16961 -static void mark_buffer_async_read(739,18848 -void mark_buffer_async_write(745,18979 -static inline void __remove_assoc_queue(805,21836 -int inode_has_buffers(810,21943 -static int osync_buffers_list(825,22477 -int sync_mapping_buffers(863,23474 -void write_boundary_block(881,24123 -void mark_buffer_dirty_inode(892,24377 -int __set_page_dirty_buffers(938,26126 -static int fsync_buffers_list(990,27849 -void invalidate_inode_buffers(1050,29291 -int remove_inode_buffers(1070,29918 -create_buffers(1103,30843 -link_dev_buffers(1163,32146 -init_page_buffers(1180,32450 -grow_dev_page(1207,33055 -grow_buffers(1266,34480 -__getblk_slow(1290,34944 -void fastcall mark_buffer_dirty(1350,36922 -void __brelse(1363,37479 -void __bforget(1377,37751 -static struct buffer_head *__bread_slow(1390,38072 -#define BH_LRU_SIZE 1422,38977 -struct bh_lru bh_lru1424,39000 -#define bh_lru_lock(bh_lru_lock1431,39138 -#define bh_lru_unlock(bh_lru_unlock1432,39180 -#define bh_lru_lock(bh_lru_lock1434,39229 -#define bh_lru_unlock(bh_lru_unlock1435,39269 -static inline void check_irqs_on(1438,39318 -static void bh_lru_install(1448,39484 -lookup_bh_lru(1491,40318 -__find_get_block(1527,41057 -__getblk(1555,41914 -void __breadahead(1569,42200 -__bread(1586,42677 -static void invalidate_bh_lru(1601,43054 -static void invalidate_bh_lrus(1613,43257 -void set_bh_page(1618,43344 -static inline void discard_buffer(1637,43759 -int try_to_release_page(1664,44593 -int block_invalidatepage(1693,45551 -void create_empty_buffers(1735,46530 -void unmap_underlying_metadata(1781,48110 -static int __block_write_full_page(1822,49378 -static int __block_prepare_write(1993,53671 -static int __block_commit_write(2106,56426 -int block_read_full_page(2147,57657 -int generic_cont_expand(2237,59805 -int cont_prepare_write(2284,60953 -int block_prepare_write(2366,63102 -int block_commit_write(2376,63367 -int generic_commit_write(2383,63540 -static void end_buffer_read_nobh(2411,64445 -int nobh_prepare_write(2426,64800 -int nobh_commit_write(2573,68549 -int nobh_truncate_page(2591,68987 -int block_truncate_page(2627,69885 -int block_write_full_page(2709,71630 -sector_t generic_block_bmap(2749,73033 -static int end_bio_bh_io_sync(2760,73303 -int submit_bh(2777,73664 -void ll_rw_block(2850,75934 -int sync_dirty_buffer(2884,76627 -static inline int buffer_busy(2927,77941 -drop_buffers(2934,78101 -int try_to_free_buffers(2962,78675 -int block_sync_page(3005,79806 -asmlinkage long sys_bdflush(3023,80297 -static kmem_cache_t *bh_cachep;3046,80694 -static int max_buffer_heads;3052,80837 -int buffer_heads_over_limit;3054,80867 -struct bh_accounting bh_accounting3056,80897 -static void recalc_bh_state(3063,81079 -struct buffer_head *alloc_buffer_head(3076,81360 -void free_buffer_head(3089,81646 -init_buffer_head(3101,81914 -static void buffer_exit_cpu(3113,82238 -static int buffer_cpu_notify(3124,82414 -void __init buffer_init(3133,82636 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_dmap.c,2141 -#define DBINITMAP(DBINITMAP34,1115 -#define DBALLOC(DBALLOC36,1188 -#define DBFREE(DBFREE38,1273 -#define DBALLOCCK(DBALLOCCK40,1356 -#define DBFREECK(DBFREECK42,1445 -#define DBINITMAP(DBINITMAP51,1769 -#define DBALLOC(DBALLOC52,1808 -#define DBFREE(DBFREE53,1856 -#define DBALLOCCK(DBALLOCCK54,1903 -#define DBFREECK(DBFREECK55,1953 -#define BMAP_LOCK_INIT(BMAP_LOCK_INIT97,3781 -#define BMAP_LOCK(BMAP_LOCK98,3839 -#define BMAP_UNLOCK(BMAP_UNLOCK99,3887 -static s8 budtab[158,6329 -int dbMount(194,7529 -int dbUnmount(272,9713 -int dbSync(302,10279 -int dbFree(373,12290 -dbUpdatePMap(462,14486 -int dbNextAG(645,19217 -int dbAlloc(742,22029 -int dbAllocExact(961,27250 -dbReAlloc(1047,29723 -static int dbExtend(1095,31105 -static int dbAllocNext(1199,33894 -dbAllocNear(1332,37720 -dbAllocAG(1442,41577 -static int dbAllocAny(1643,47888 -static int dbFindCtl(1697,49630 -dbAllocCtl(1816,53432 -dbAllocDmapLev(1968,57287 -static int dbAllocDmap(2031,59382 -static int dbFreeDmap(2086,61130 -static void dbAllocBits(2148,62989 -static void dbFreeBits(2295,67670 -dbAdjCtl(2472,73494 -static void dbSplit(2622,78219 -static void dbBackSplit(2687,80259 -static void dbJoin(2759,82131 -static void dbAdjTree(2849,84489 -static int dbFindLeaf(2923,86255 -static int dbFindBits(2981,87725 -static int dbMaxBud(3024,88538 -static int cnttz(3061,89366 -static int cntlz(3086,89727 -int blkstol2(3111,90157 -int dbAllocBottomUp(3159,91041 -static int dbAllocDmapBU(3218,92329 -int dbExtendFS(3342,96247 -void dbFinalizeBmap(3615,102579 -static int dbInitDmap(3706,105439 -static int dbInitDmapTree(3809,108109 -static int dbInitTree(3855,109459 -static int dbInitDmapCtl(3930,111876 -static int dbGetL2AGSize(3964,112936 -#define MAXL0PAGES 4001,113719 -#define MAXL1PAGES 4002,113752 -#define MAXL2PAGES 4003,113798 -#define BMAPPGTOLEV(BMAPPGTOLEV4008,113920 -s64 dbMapFileSizeToMapSize(4012,114035 -static void DBinitmap(4059,115280 -void DBAlloc(4106,116307 -static void DBFree(4135,116803 -static void DBAllocCK(4164,117312 -static void DBFreeCK(4192,117804 -static void dbPrtMap(4220,118292 -static void dbPrtCtl(4241,118988 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_acl.h,26 -#define _H_JFS_ACL19,832 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_lock.h,70 -#define _H_JFS_LOCK20,894 -#define __SLEEP_COND(__SLEEP_COND34,1120 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_dmap.h,2059 -#define _H_JFS_DMAP19,837 -#define BMAPVERSION 23,883 -#define TREESIZE 24,926 -#define LEAFIND 25,985 -#define LPERDMAP 26,1053 -#define L2LPERDMAP 27,1105 -#define DBWORD 28,1166 -#define L2DBWORD 29,1223 -#define BUDMIN 30,1280 -#define BPERDMAP 31,1342 -#define L2BPERDMAP 32,1406 -#define CTLTREESIZE 33,1458 -#define CTLLEAFIND 34,1528 -#define LPERCTL 35,1603 -#define L2LPERCTL 36,1662 -#define ROOT 37,1723 -#define NOFREE 38,1773 -#define MAXAG 39,1820 -#define L2MAXAG 40,1877 -#define L2MINAGSZ 41,1919 -#define BMAPBLKNO 42,1977 -#define L2MAXL0SIZE 47,2108 -#define L2MAXL1SIZE 48,2157 -#define L2MAXL2SIZE 49,2206 -#define MAXL0SIZE 54,2327 -#define MAXL1SIZE 55,2369 -#define MAXL2SIZE 56,2411 -#define MAXMAPSIZE 58,2454 -static __inline signed char TREEMAX(64,2607 -#define BLKTODMAP(BLKTODMAP85,3283 -#define BLKTOL0(BLKTOL0100,3887 -#define BLKTOL1(BLKTOL1115,4470 -#define BLKTOCTL(BLKTOCTL122,4716 -#define BMAPSZTOLEV(BMAPSZTOLEV129,4915 -#define BLKTOAG(BLKTOAG134,5066 -#define AGTOBLK(AGTOBLK139,5199 -struct dmaptree dmaptree147,5356 -struct dmap dmap160,5816 -struct dmapctl dmapctl175,6394 -typedef union dmtree dmtree188,6891 -} dmtree_t;dmtree_t191,6955 -#define dmt_nleafs 194,7016 -#define dmt_l2nleafs 195,7045 -#define dmt_leafidx 196,7079 -#define dmt_height 197,7111 -#define dmt_budmin 198,7141 -#define dmt_stree 199,7171 -struct dbmap dbmap204,7261 -struct bmap bmap226,8364 -#define db_mapsize 235,8726 -#define db_nfree 236,8764 -#define db_agfree 237,8798 -#define db_agsize 238,8834 -#define db_agl2size 239,8870 -#define db_agwidth 240,8910 -#define db_agheigth 241,8948 -#define db_agstart 242,8988 -#define db_numag 243,9026 -#define db_maxlevel 244,9060 -#define db_aglevel 245,9100 -#define db_agpref 246,9138 -#define db_maxag 247,9174 -#define db_maxfreebud 248,9208 -#define db_l2nbperpage 249,9252 -#define BLKSTOL2(BLKSTOL2258,9572 -#define NLSTOL2BSZ(NLSTOL2BSZ261,9657 -#define LITOL2BSZ(LITOL2BSZ264,9752 -#define BLKTOCTLLEAF(BLKTOCTLLEAF267,9876 -#define BUDSIZE(BUDSIZE271,10003 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_inode.h,28 -#define _H_JFS_INODE19,838 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_filsys.h,2834 -#define _H_JFS_FILSYS19,839 -#define JFS_NOINTEGRITY 33,1120 -#define JFS_ERR_REMOUNT_RO 36,1198 -#define JFS_ERR_CONTINUE 37,1262 -#define JFS_ERR_PANIC 38,1317 -#define JFS_AIX 41,1418 -#define JFS_OS2 44,1501 -#define JFS_DFS 47,1595 -#define JFS_LINUX 49,1650 -#define JFS_UNICODE 53,1773 -#define JFS_COMMIT 56,1844 -#define JFS_GROUPCOMMIT 57,1899 -#define JFS_LAZYCOMMIT 58,1960 -#define JFS_TMPFS 59,2012 -#define JFS_INLINELOG 64,2138 -#define JFS_INLINEMOVE 65,2207 -#define JFS_BAD_SAIT 68,2309 -#define JFS_SPARSE 71,2411 -#define JFS_DASD_ENABLED 74,2495 -#define JFS_DASD_PRIME 75,2557 -#define JFS_SWAP_BYTES 78,2646 -#define JFS_DIR_INDEX 81,2741 -#define PSIZE 92,2923 -#define L2PSIZE 93,2969 -#define POFFSET 94,3007 -#define BPSIZE 97,3078 -#define PBSIZE 104,3188 -#define L2PBSIZE 105,3244 -#define DISIZE 107,3283 -#define L2DISIZE 108,3338 -#define IDATASIZE 110,3377 -#define IXATTRSIZE 111,3428 -#define XTPAGE_SIZE 113,3495 -#define log2_PAGESIZE 114,3524 -#define IAG_SIZE 116,3554 -#define IAG_EXTENT_SIZE 117,3583 -#define INOSPERIAG 118,3612 -#define L2INOSPERIAG 119,3672 -#define INOSPEREXT 120,3735 -#define L2INOSPEREXT 121,3795 -#define IXSIZE 122,3859 -#define INOSPERPAGE 123,3921 -#define L2INOSPERPAGE 124,3983 -#define IAGFREELIST_LWM 126,4032 -#define INODE_EXTENT_SIZE 128,4060 -#define NUM_INODE_PER_EXTENT 129,4117 -#define NUM_INODE_PER_IAG 130,4157 -#define MINBLOCKSIZE 132,4195 -#define MAXBLOCKSIZE 133,4221 -#define MAXFILESIZE 134,4248 -#define JFS_LINK_MAX 136,4285 -#define MINJFS 139,4379 -#define MINJFSTEXT 140,4408 -#define LBOFFSET(LBOFFSET145,4490 -#define LBNUMBER(LBNUMBER146,4531 -#define LBLK2PBLK(LBLK2PBLK147,4569 -#define PBLK2LBLK(PBLK2LBLK148,4636 -#define SIZE2PN(SIZE2PN150,4742 -#define SIZE2BN(SIZE2BN152,4853 -#define SUPER1_B 160,5153 -#define AIMAP_B 161,5198 -#define AITBL_B 162,5270 -#define SUPER2_B 165,5358 -#define BMAP_B 166,5418 -#define SIZE_OF_SUPER 173,5682 -#define SIZE_OF_AG_TABLE 178,5796 -#define SIZE_OF_MAP_PAGE 184,5956 -#define SUPER1_OFF 189,6024 -#define AIMAP_OFF 190,6075 -#define AITBL_OFF 195,6221 -#define SUPER2_OFF 199,6339 -#define BMAP_OFF 203,6436 -#define AGGR_RSVD_BLOCKS 214,6841 -#define AGGR_RSVD_BYTES 222,7157 -#define AGGR_INODE_TABLE_START 229,7410 -#define AGGR_RESERVED_I 235,7512 -#define AGGREGATE_I 236,7571 -#define BMAP_I 237,7625 -#define LOG_I 238,7686 -#define BADBLOCK_I 239,7736 -#define FILESYSTEM_I 240,7789 -#define FILESET_RSVD_I 245,7911 -#define FILESET_EXT_I 246,7967 -#define ROOT_I 247,8021 -#define ACL_I 248,8064 -#define FILESET_OBJECT_I 250,8106 -#define FIRST_FILESET_INO 253,8220 -#define JFS_NAME_MAX 261,8435 -#define JFS_PATH_MAX 262,8460 -#define FM_CLEAN 268,8537 -#define FM_MOUNT 269,8606 -#define FM_DIRTY 270,8671 -#define FM_LOGREDO 275,8864 -#define FM_EXTENDFS 278,8981 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_btree.h,930 -#define _H_JFS_BTREE19,838 -#define BT_TYPE 42,1171 -#define BT_ROOT 43,1213 -#define BT_LEAF 44,1251 -#define BT_INTERNAL 45,1289 -#define BT_RIGHTMOST 46,1334 -#define BT_LEFTMOST 47,1381 -#define BT_SWAPPED 48,1426 -#define BT_RANDOM 51,1515 -#define BT_SEQUENTIAL 52,1541 -#define BT_LOOKUP 53,1571 -#define BT_INSERT 54,1597 -#define BT_DELETE 55,1623 -#define BT_IS_ROOT(BT_IS_ROOT60,1691 -#define BT_PAGE(BT_PAGE63,1782 -#define BT_GETPAGE(BT_GETPAGE67,1954 -#define BT_MARK_DIRTY(BT_MARK_DIRTY89,2313 -#define BT_PUTPAGE(BT_PUTPAGE98,2458 -struct btframe btframe111,2673 -struct btstack btstack118,2837 -#define BT_CLR(BT_CLR124,2931 -#define BT_STACK_FULL(BT_STACK_FULL127,2992 -#define BT_PUSH(BT_PUSH130,3084 -#define BT_POP(BT_POP138,3242 -#define BT_STACK(BT_STACK141,3334 -static inline void BT_STACK_DUMP(144,3426 -#define BT_GETSEARCH(BT_GETSEARCH155,3713 -#define BT_PUTSEARCH(BT_PUTSEARCH167,3956 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_defragfs.h,316 -#define _H_JFS_DEFRAGFS19,841 -struct defragfs defragfs24,900 -#define DEFRAGFS_SYNC 39,1186 -#define DEFRAGFS_COMMIT 40,1220 -#define DEFRAGFS_RELOCATE 41,1256 -#define INODE_TYPE 43,1294 -#define EXTENT_TYPE 45,1347 -#define DTPAGE 46,1379 -#define XTPAGE 47,1407 -#define DATAEXT 48,1435 -#define EAEXT 49,1464 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_imap.h,720 -#define _H_JFS_IMAP19,837 -#define EXTSPERIAG 27,925 -#define IMAPBLKNO 28,991 -#define SMAPSZ 29,1054 -#define EXTSPERSUM 30,1115 -#define L2EXTSPERSUM 31,1183 -#define PGSPERIEXT 32,1249 -#define MAXIAGS 33,1313 -#define MAXAG 34,1377 -#define AMAPSIZE 36,1440 -#define SMAPSIZE 37,1505 -#define INOTOIAG(INOTOIAG40,1608 -#define IAGTOLBLK(IAGTOLBLK43,1720 -#define INOPBLK(INOPBLK48,1880 -struct iag iag62,2279 -struct iagctl iagctl95,3745 -struct dinomap dinomap105,4066 -struct inomap inomap122,4674 -#define im_freeiag 132,5071 -#define im_nextiag 133,5109 -#define im_agctl 134,5147 -#define im_nbperiext 135,5181 -#define im_l2nbperiext 136,5223 -#define im_diskblock 140,5303 -#define im_maxag 141,5345 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/resize.c,176 -#define BITSPERPAGE 32,1117 -#define L2MEGABYTE 33,1154 -#define MEGABYTE 34,1181 -#define MEGABYTE32 35,1223 -#define BLKTODMAPN(BLKTODMAPN38,1315 -int jfs_extendfs(62,2073 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_umount.c,52 -int jfs_umount(50,1509 -int jfs_umount_rw(141,3598 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_superblock.h,163 -#define _H_JFS_SUPERBLOCK19,843 -#define JFS_MAGIC 24,931 -#define JFS_VERSION 26,975 -#define LV_NAME_SIZE 28,1030 -struct jfs_superblock jfs_superblock36,1277 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_metapage.c,1187 -static spinlock_t meta_lock 31,1129 -} mpStat;38,1359 -#define HASH_BITS 42,1378 -#define HASH_SIZE 43,1438 -static struct metapage **hash_table 44,1473 -static unsigned long hash_order;45,1517 -static inline int metapage_locked(48,1552 -static inline int trylock_metapage(53,1654 -static inline void unlock_metapage(58,1765 -static void __lock_metapage(64,1883 -static inline void lock_metapage(84,2328 -#define METAPOOL_MIN_PAGES 90,2437 -static kmem_cache_t *metapage_cache;91,2467 -static mempool_t *metapage_mempool;92,2504 -static void init_once(94,2541 -static inline struct metapage *alloc_metapage(111,2928 -static inline void free_metapage(116,3066 -int __init metapage_init(124,3210 -void metapage_exit(155,3956 -static struct metapage **meta_hash(164,4131 -#define i 167,4227 -#define s(s169,4324 -static struct metapage *search_hash(175,4440 -static void add_to_hash(189,4747 -static void remove_from_hash(199,4943 -struct metapage *__get_metapage(212,5224 -void hold_metapage(373,9342 -static void __write_metapage(389,9621 -static inline void sync_metapage(435,10720 -void release_metapage(450,11026 -void __invalidate_metapages(521,12511 -int jfs_mpstat_read(567,13751 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_incore.h,1090 -#define _H_JFS_INCORE20,897 -#define JFS_SUPER_MAGIC 32,1090 -struct jfs_inode_info jfs_inode_info37,1179 -#define i_xtroot 100,3460 -#define i_imap 101,3492 -#define i_dirtable 102,3520 -#define i_dtroot 103,3552 -#define i_inline 104,3583 -#define i_inline_ea 105,3615 -#define JFS_ACL_NOT_CACHED 107,3654 -#define IREAD_LOCK(IREAD_LOCK109,3695 -#define IREAD_UNLOCK(IREAD_UNLOCK110,3752 -#define IWRITE_LOCK(IWRITE_LOCK111,3808 -#define IWRITE_UNLOCK(IWRITE_UNLOCK112,3867 -enum cflags cflags117,3942 - COMMIT_Nolink,118,3956 - COMMIT_Inlineea,119,4016 - COMMIT_Freewmap,120,4063 - COMMIT_Dirty,121,4109 - COMMIT_Dirtable,122,4153 - COMMIT_Stale,123,4207 - COMMIT_Synclist,124,4260 -#define set_cflag(set_cflag127,4328 -#define clear_cflag(clear_cflag128,4392 -#define test_cflag(test_cflag129,4460 -#define test_and_clear_cflag(test_and_clear_cflag130,4526 -struct jfs_sb_info jfs_sb_info135,4661 -#define IN_LAZYCOMMIT 174,6260 -static inline struct jfs_inode_info *JFS_IP(176,6285 -static inline struct jfs_sb_info *JFS_SBI(181,6416 -static inline int isReadOnly(186,6510 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_metapage.h,773 -#define _H_JFS_METAPAGE20,898 -struct metapage metapage24,951 -#define META_locked 60,1751 -#define META_absolute 61,1773 -#define META_free 62,1797 -#define META_dirty 63,1817 -#define META_sync 64,1838 -#define META_discard 65,1858 -#define META_forced 66,1881 -#define META_stale 67,1903 -#define mark_metapage_dirty(mark_metapage_dirty69,1925 -#define read_metapage(read_metapage76,2165 -#define get_metapage(get_metapage79,2275 -static inline void write_metapage(85,2484 -static inline void flush_metapage(91,2600 -static inline void discard_metapage(97,2713 -#define invalidate_pxd_metapages(invalidate_pxd_metapages108,2990 -#define invalidate_dxd_metapages(invalidate_dxd_metapages110,3103 -#define invalidate_xad_metapages(invalidate_xad_metapages112,3216 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_logmgr.c,2052 -static struct lbuf *log_redrive_list;80,2672 -static spinlock_t log_redrive_lock 81,2710 -#define LOG_LOCK_INIT(LOG_LOCK_INIT88,2863 -#define LOG_LOCK(LOG_LOCK89,2918 -#define LOG_UNLOCK(LOG_UNLOCK90,2965 -#define LOGGC_LOCK_INIT(LOGGC_LOCK_INIT97,3066 -#define LOGGC_LOCK(LOGGC_LOCK98,3126 -#define LOGGC_UNLOCK(LOGGC_UNLOCK99,3181 -#define LOGGC_WAKEUP(LOGGC_WAKEUP100,3239 -#define LOGSYNC_DELTA(LOGSYNC_DELTA105,3339 -#define LOGSYNC_BARRIER(LOGSYNC_BARRIER106,3402 -static spinlock_t jfsLCacheLock 116,3610 -#define LCACHE_LOCK(LCACHE_LOCK118,3665 -#define LCACHE_UNLOCK(LCACHE_UNLOCK119,3733 -#define LCACHE_SLEEP_COND(LCACHE_SLEEP_COND124,3851 -#define LCACHE_WAKEUP(LCACHE_WAKEUP131,4020 -#define lbmREAD 138,4176 -#define lbmWRITE 139,4200 -#define lbmRELEASE 142,4308 -#define lbmSYNC 147,4465 -#define lbmFREE 150,4564 -#define lbmDONE 154,4686 -#define lbmERROR 155,4710 -#define lbmGC 156,4734 -#define lbmDIRECT 159,4826 -struct jfs_log *dummy_log 165,4932 -static bio_end_io_t lbmIODone;197,6072 -struct lmStat lmStat208,6319 -} lmStat;214,6559 -int lmLog(230,6781 -lmWriteRecord(349,9415 -static int lmNextPage(565,14359 -int lmGroupCommit(671,17216 -static void lmGCwrite(750,18820 -static void lmPostGC(815,20528 -static int lmLogSync(937,23804 -int lmLogOpen(1078,27355 -static int open_inline_log(1181,29381 -static int open_dummy_log(1214,30120 -int lmLogInit(1267,31307 -int lmLogClose(1463,35950 -void jfs_flush_journal(1538,37560 -int lmLogShutdown(1635,39907 -static int lmLogFileSystem(1710,41649 -static int lbmLogInit(1789,43746 -static void lbmLogShutdown(1844,45023 -static struct lbuf *lbmAllocate(1867,45378 -static void lbmFree(1898,45919 -static void lbmfree(1909,46045 -static inline void lbmRedrive(1937,46468 -static int lbmRead(1953,46757 -static void lbmWrite(2003,48026 -static void lbmDirectWrite(2071,49450 -static void lbmStartIO(2101,50063 -static int lbmIOWait(2139,50883 -static int lbmIODone(2166,51417 -int jfsIOWait(2312,54686 -int lmLogFormat(2364,55913 -int jfs_lmstats_read(2483,59330 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_extent.h,61 -#define _H_JFS_EXTENT19,839 -#define INOHINT(INOHINT22,932 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_dtree.c,1664 -struct dtsplit dtsplit114,4179 -#define DT_PAGE(DT_PAGE123,4317 -#define DT_GETPAGE(DT_GETPAGE126,4428 -#define DT_PUTPAGE(DT_PUTPAGE143,4839 -#define DT_GETSEARCH(DT_GETSEARCH145,4878 -#define ciToUpper(ciToUpper197,6720 -static struct metapage *read_index_page(207,7038 -static struct metapage *get_index_page(226,7402 -static struct dir_table_slot *find_index(248,7835 -static inline void lock_index(303,9052 -static u32 add_index(333,9770 -static void free_index(489,13361 -static void modify_index(517,13945 -static int read_index(542,14429 -int dtSearch(573,14970 -int dtInsert(816,20132 -static int dtSplitUp(925,22542 -static int dtSplitPage(1320,32222 -static int dtExtendPage(1631,39591 -static int dtSplitRoot(1867,44814 -int dtDelete(2072,49646 -static int dtDeleteUp(2227,53200 -int dtRelocate(2432,57655 -static int dtSearchNode(2631,62761 -static int dtRelink(2736,64756 -void dtInitRoot(2815,66500 -static void add_missing_indices(2907,68727 -struct jfs_dirent jfs_dirent2961,69920 -static inline struct jfs_dirent *next_jfs_dirent(2971,70075 -int jfs_readdir(2991,70533 - struct dtoffset dtoffset2997,70767 -static int dtReadFirst(3321,77814 -static int dtReadNext(3393,79227 - struct dtoffset dtoffset3397,79333 -static int dtCompare(3569,82331 -static int ciCompare(3644,84077 -static int ciGetLeafPrefixKey(3751,86581 -static void dtGetKey(3818,87952 -static void dtInsertEntry(3881,89127 -static void dtMoveEntry(4038,92457 -static void dtDeleteEntry(4239,96594 -static void dtTruncateEntry(4334,98487 -static void dtLinelockFreelist(4414,99941 -int dtModify(4494,101527 -int dtDisplayTree(4557,102869 -int dtDisplayPage(4695,105323 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_xattr.h,336 -#define H_JFS_XATTR20,835 -struct jfs_ea jfs_ea27,1066 -struct jfs_ea_list jfs_ea_list34,1283 -#define MAXEASIZE 40,1457 -#define MAXEALISTSIZE 41,1481 -#define EA_SIZE(EA_SIZE46,1579 -#define NEXT_EA(NEXT_EA49,1681 -#define FIRST_EA(FIRST_EA50,1756 -#define EALIST_SIZE(EALIST_SIZE51,1796 -#define END_EALIST(END_EALIST52,1852 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_inode.c,30 -struct inode *ialloc(33,1051 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/endian24.h,305 -#define _H_ENDIAN2419,829 -#define __swab24(__swab2427,916 - #define __cpu_to_le24(__cpu_to_le2437,1226 - #define __le24_to_cpu(__le24_to_cpu38,1265 - #define __cpu_to_le24(__cpu_to_le2440,1310 - #define __le24_to_cpu(__le24_to_cpu41,1348 - #define cpu_to_le24 45,1412 - #define le24_to_cpu 46,1447 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_dinode.h,813 -#define _H_JFS_DINODE19,839 -#define INODESLOTSIZE 25,914 -#define L2INODESLOTSIZE 26,950 -#define log2INODESIZE 27,984 -struct dinode dinode35,1142 -#define di_dirtable 96,3187 -#define di_dtroot 97,3221 -#define di_parent 98,3254 -#define di_DASD 99,3303 -#define di_gengen 109,3521 -#define di_xtroot 124,3808 -#define di_dxd 125,3846 -#define di_btroot 126,3888 -#define di_inlinedata 127,3916 -#define di_rdev 128,3962 -#define di_fastsymlink 129,4009 -#define di_inlineea 130,4069 -#define IFJOURNAL 135,4183 -#define ISPARSE 136,4240 -#define INLINEEA 137,4301 -#define ISWAPFILE 138,4362 -#define IREADONLY 141,4480 -#define IARCHIVE 142,4539 -#define ISYSTEM 143,4590 -#define IHIDDEN 144,4636 -#define IRASH 145,4682 -#define INEWNAME 146,4745 -#define IDIRECTORY 147,4803 -#define ATTRSHIFT 148,4870 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/inode.c,629 -struct address_space_operations jfs_aops;38,1429 -void jfs_read_inode(41,1513 -int jfs_commit_inode(72,2368 -int jfs_write_inode(109,3251 -void jfs_delete_inode(131,3812 -void jfs_dirty_inode(150,4141 -jfs_get_blocks(170,4556 -static int jfs_get_block(276,6874 -static int jfs_writepage(282,7044 -static int jfs_writepages(287,7181 -static int jfs_readpage(293,7332 -static int jfs_readpages(298,7444 -static int jfs_prepare_write(304,7636 -static sector_t jfs_bmap(310,7803 -static ssize_t jfs_direct_IO(315,7939 -struct address_space_operations jfs_aops 325,8262 -void jfs_truncate_nolock(341,8716 -void jfs_truncate(381,9567 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_dtree.h,1782 -#define _H_JFS_DTREE19,838 -} ddata_t;ddata_t34,1024 -struct dtslot dtslot47,1284 -#define DATASLOTSIZE 54,1388 -#define L2DATASLOTSIZE 55,1412 -#define DTSLOTSIZE 56,1437 -#define L2DTSLOTSIZE 57,1459 -#define DTSLOTHDRSIZE 58,1482 -#define DTSLOTDATASIZE 59,1506 -#define DTSLOTDATALEN 60,1532 -struct idtentry idtentry65,1607 -#define DTIHDRSIZE 73,1775 -#define DTIHDRDATALEN 74,1797 -#define NDTINTERNAL(NDTINTERNAL77,1863 -struct ldtentry ldtentry85,2043 -#define DTLHDRSIZE 93,2247 -#define DTLHDRDATALEN_LEGACY 94,2268 -#define DTLHDRDATALEN 95,2324 -#define DO_INDEX(DO_INDEX104,2469 -#define MAX_INLINE_DIRTABLE_ENTRY 109,2594 -struct dir_table_slot dir_table_slot111,2632 -#define DIR_INDEX_VALID 123,2969 -#define DIR_INDEX_FREE 124,2995 -#define DTSaddress(DTSaddress126,3021 -#define addressDTS(addressDTS132,3195 -#define NDTLEAF_LEGACY(NDTLEAF_LEGACY136,3324 -#define NDTLEAF 137,3388 -} dtroot_t;dtroot_t160,3866 -#define PARENT(PARENT162,3879 -#define DTROOTMAXSLOT 165,3953 -#define dtEmpty(dtEmpty167,3978 -} dtpage_t;dtpage_t211,5225 -#define DTPAGEMAXSLOT 213,5238 -#define DT8THPGNODEBYTES 215,5272 -#define DT8THPGNODETSLOTS 216,5305 -#define DT8THPGNODESLOTS 217,5338 -#define DTQTRPGNODEBYTES 219,5372 -#define DTQTRPGNODETSLOTS 220,5405 -#define DTQTRPGNODESLOTS 221,5438 -#define DTHALFPGNODEBYTES 223,5472 -#define DTHALFPGNODETSLOTS 224,5505 -#define DTHALFPGNODESLOTS 225,5538 -#define DTFULLPGNODEBYTES 227,5572 -#define DTFULLPGNODETSLOTS 228,5605 -#define DTFULLPGNODESLOTS 229,5638 -#define DTENTRYSTART 231,5672 -#define DT_GETSTBL(DT_GETSTBL234,5737 -#define JFS_CREATE 241,5902 -#define JFS_LOOKUP 242,5923 -#define JFS_REMOVE 243,5944 -#define JFS_RENAME 244,5965 -#define DIRENTSIZ(DIRENTSIZ246,5987 -#define DIREND 252,6142 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_unicode.h,368 -#define _H_JFS_UNICODE20,897 -} UNICASERANGE;UNICASERANGE29,1040 -#define free_UCSname(free_UCSname36,1280 -static inline wchar_t *UniStrcpy(41,1364 -static inline wchar_t *UniStrncpy(54,1611 -static inline int UniStrncmp_le(71,1951 -static inline wchar_t *UniStrncpy_le(86,2307 -static inline wchar_t UniToupper(104,2652 -static inline wchar_t *UniStrupr(127,3205 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_imap.c,1388 -#define IAGFREE_LOCK_INIT(IAGFREE_LOCK_INIT62,2291 -#define IAGFREE_LOCK(IAGFREE_LOCK63,2355 -#define IAGFREE_UNLOCK(IAGFREE_UNLOCK64,2408 -#define AG_LOCK_INIT(AG_LOCK_INIT67,2490 -#define AG_LOCK(AG_LOCK68,2561 -#define AG_UNLOCK(AG_UNLOCK69,2618 -#define DBG_DIINIT(DBG_DIINIT99,3638 -#define DBG_DIALLOC(DBG_DIALLOC100,3679 -#define DBG_DIFREE(DBG_DIFREE101,3732 -#define DBG_DIINIT(DBG_DIINIT107,3949 -#define DBG_DIALLOC(DBG_DIALLOC108,3974 -#define DBG_DIFREE(DBG_DIFREE109,4005 -int diMount(129,4568 -int diUnmount(215,6915 -int diSync(243,7329 -int diRead(329,10013 -struct inode *diReadSpecial(454,13070 -void diWriteSpecial(534,14937 -void diFreeSpecial(581,16046 -int diWrite(619,17067 -int diFree(895,24654 -diInitInode(1351,37001 -int diAlloc(1380,37841 -diAllocAG(1689,46374 -diAllocAny(1759,48413 -static int diAllocIno(1823,49909 -static int diAllocExt(1948,53261 -static int diAllocBit(2066,56444 -static int diNewExt(2213,60686 -diNewIAG(2496,68563 -static int diIAGRead(2713,73819 -static int diFindFree(2744,74533 -diUpdatePMap(2775,75417 -int diExtendFS(2902,78780 -static void duplicateIXtree(3039,82439 -static int copy_from_dinode(3091,83688 -static void copy_to_dinode(3149,85645 -static void *DBGdiInit(3188,87187 -static void DBGdiAlloc(3202,87442 -static void DBGdiFree(3220,87752 -static void dump_cp(3235,88045 -static void dump_iag(3249,88610 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_txnmgr.c,1707 -} TxAnchor;78,2779 -int jfs_tlocks_low;80,2792 -} TxStat;93,3105 -static int nTxBlock 96,3123 -static int nTxLock 101,3306 -struct tblock *TxBlock;106,3486 -static int TxLockLWM;107,3548 -static int TxLockHWM;108,3619 -static int TxLockVHWM;109,3691 -struct tlock *TxLock;110,3742 -static spinlock_t jfsTxnLock 116,3848 -#define TXN_LOCK(TXN_LOCK118,3900 -#define TXN_UNLOCK(TXN_UNLOCK119,3955 -#define LAZY_LOCK_INIT(LAZY_LOCK_INIT121,4013 -#define LAZY_LOCK(LAZY_LOCK122,4074 -#define LAZY_UNLOCK(LAZY_UNLOCK123,4144 -static inline void TXN_SLEEP_DROP_LOCK(131,4403 -#define TXN_SLEEP(TXN_SLEEP143,4677 -#define TXN_WAKEUP(TXN_WAKEUP149,4753 -} stattx;161,5061 -static lid_t txLockAlloc(205,6545 -static void txLockFree(227,7028 -int txInit(249,7525 -void txExit(329,9343 -tid_t txBegin(351,9719 -void txBeginAnon(451,11818 -void txEnd(492,12553 -struct tlock *txLock(579,14271 -static void txRelease(845,20525 -static void txUnlock(878,21149 -struct tlock *txMaplock(975,23334 -struct linelock *txLinelock(1047,24701 -int txCommit(1114,26533 -static int txLog(1357,32402 -static int diLog(1415,33530 -static int dataLog(1530,36717 -static void dtLog(1577,37787 -static void xtLog(1682,40734 -void mapLog(2054,51458 -void txEA(2142,54086 -void txForce(2195,55490 -static void txUpdateMap(2262,57016 -static void txAllocPMap(2411,60693 -void txFreeMap(2470,62278 -void txFreelock(2570,65066 -void txAbort(2617,65999 -static void txLazyCommit(2674,67275 -int jfs_lazycommit(2722,68470 -void txLazyUnlock(2798,70155 -static void LogSyncRelease(2814,70510 -void txQuiesce(2848,71188 -void txResume(2905,72398 -int jfs_sync(2920,72738 -int jfs_txanchor_read(3007,74733 -int jfs_txstats_read(3060,75949 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_xtree.c,966 -#define XT_INSERT 35,1140 -#define XT_CMP(XT_CMP45,1360 -#define XT_PUTENTRY(XT_PUTENTRY53,1559 -#define XT_PAGE(XT_PAGE61,1748 -#define XT_GETPAGE(XT_GETPAGE65,1911 -#define XT_PUTPAGE(XT_PUTPAGE83,2428 -#define XT_GETSEARCH(XT_GETSEARCH85,2467 -struct xtsplit xtsplit88,2620 -} xtStat;107,2859 -int xtLookup(151,3904 -int xtLookupList(249,6145 -static int xtSearch(500,10908 -int xtInsert(782,17452 -xtSplitUp(933,21023 -xtSplitPage(1206,28322 -xtSplitRoot(1475,35155 -int xtExtend(1608,38462 -int xtTailgate(1774,42637 -int xtUpdate(1962,47407 -int xtAppend(2429,58773 -int xtDelete(2596,62515 -xtDeleteUp(2668,64043 -xtRelocate(2819,67527 -static int xtSearchNode(3153,76930 -static int xtRelink(3273,79631 -void xtInitRoot(3335,80815 -#define MAX_TRUNCATE_LEAVES 3375,82021 -s64 xtTruncate(3424,83636 -s64 xtTruncate_pmap(3975,96565 -int xtDisplayTree(4137,99652 -int xtDisplayPage(4258,101845 -int xtGather(4305,102933 -int jfs_xtstat_read(4463,105872 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_mount.c,163 -int jfs_mount(81,2751 -int jfs_mount_rw(239,6319 -static int chkSuper(306,7697 -int updateSuper(414,10784 -int readSuper(469,12046 -static int logMOUNT(499,12844 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_uniupr.c,302 -signed char UniUpperTable[25,893 -static signed char UniCaseRangeU03a0[61,3523 -static signed char UniCaseRangeU0430[68,3828 -static signed char UniCaseRangeU0490[75,4160 -static signed char UniCaseRangeU1e00[83,4553 -static signed char UniCaseRangeUff40[119,7235 -UNICASERANGE UniUpperRange[127,7439 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/namei.c,828 -struct inode_operations jfs_dir_inode_operations;46,1613 -struct file_operations jfs_dir_operations;47,1663 -struct dentry_operations jfs_ci_dentry_operations;48,1706 -static int jfs_create(66,2145 -static int jfs_mkdir(188,4878 -static int jfs_rmdir(321,8106 -static int jfs_unlink(447,10924 -static s64 commitZeroLink(603,14553 -int freeZeroLink(671,16042 -static int jfs_link(771,18647 -static int jfs_symlink(859,20528 -static int jfs_rename(1045,24428 -static int jfs_mknod(1316,30715 -static struct dentry *jfs_lookup(1399,32279 -struct dentry *jfs_get_parent(1449,33457 -struct inode_operations jfs_dir_inode_operations 1475,33995 -struct file_operations jfs_dir_operations 1495,34466 -static int jfs_ci_hash(1501,34591 -static int jfs_ci_compare(1514,34850 -struct dentry_operations jfs_ci_dentry_operations 1538,35490 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_debug.c,242 -void dump_mem(30,1096 -static struct proc_dir_entry *base;59,1741 -static int loglevel_read(63,1840 -static int loglevel_write(84,2126 -} Entries[112,2697 -#define NPROCENT 124,3003 -void jfs_proc_init(126,3058 -void jfs_proc_clean(143,3390 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_extent.c,478 -#define DPD(DPD42,1278 -#define DPC(DPC43,1328 -#define DPL1(DPL144,1378 -#define DPL(DPL51,1512 -#define DPD1(DPD159,1646 -#define DPX(DPX60,1696 -#define DPX1(DPX161,1748 -#define DPS(DPS62,1800 -#define DPE(DPE63,1845 -#define DPE1(DPE164,1902 -#define DPS1(DPS165,1958 -extAlloc(91,2714 -int extRealloc(219,6492 -int extHint(367,10541 -int extRecord(441,12161 -int extFill(473,12729 -extBalloc(526,14422 -extBrealloc(619,17396 -static s64 extRoundDown(653,18105 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_debug.h,886 -#define _H_JFS_DEBUG20,892 - #define PROC_FS_JFS34,1269 -#define assert(assert42,1391 -#define assert(assert44,1436 -#define ASSERT(ASSERT58,1656 -#define JFS_LOGLEVEL_ERR 61,1708 -#define JFS_LOGLEVEL_WARN 62,1735 -#define JFS_LOGLEVEL_DEBUG 63,1763 -#define JFS_LOGLEVEL_INFO 64,1792 -#define jfs_info(jfs_info72,1993 -#define jfs_debug(jfs_debug78,2155 -#define jfs_warn(jfs_warn84,2312 -#define jfs_err(jfs_err90,2492 -#define dump_mem(dump_mem100,2688 -#define ASSERT(ASSERT101,2740 -#define jfs_info(jfs_info102,2774 -#define jfs_debug(jfs_debug103,2820 -#define jfs_warn(jfs_warn104,2867 -#define jfs_err(jfs_err105,2913 -#define INCREMENT(INCREMENT113,3056 -#define DECREMENT(DECREMENT114,3086 -#define HIGHWATERMARK(HIGHWATERMARK115,3116 -#define INCREMENT(INCREMENT117,3171 -#define DECREMENT(DECREMENT118,3192 -#define HIGHWATERMARK(HIGHWATERMARK119,3213 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/acl.c,195 -static struct posix_acl *jfs_get_acl(28,1054 -static int jfs_set_acl(78,2056 -int jfs_permission(131,3126 -int jfs_init_acl(210,4821 -static int jfs_acl_chmod(251,5627 -int jfs_setattr(276,6117 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/xattr.c,1012 -struct ea_buffer ea_buffer68,2578 -#define EA_INLINE 79,2931 -#define EA_EXTENT 80,2956 -#define EA_NEW 81,2981 -#define EA_MALLOC 82,3004 -#define XATTR_SYSTEM_PREFIX 85,3047 -#define XATTR_SYSTEM_PREFIX_LEN 86,3085 -#define XATTR_USER_PREFIX 88,3153 -#define XATTR_USER_PREFIX_LEN 89,3187 -#define XATTR_OS2_PREFIX 91,3251 -#define XATTR_OS2_PREFIX_LEN 92,3283 -static inline int is_os2_xattr(99,3537 -static inline int name_size(123,4044 -static inline int copy_name(131,4192 -static int ea_write_inline(171,5433 -static int ea_write(229,6929 -static int ea_read_inline(345,9655 -static int ea_read(379,10520 -static int ea_get(454,12586 -static void ea_release(602,16323 -static int ea_put(616,16663 -static int can_set_system_xattr(691,18595 -static int can_set_xattr(758,20217 -int __jfs_setxattr(784,20929 -int jfs_setxattr(927,24100 -static int can_get_xattr(938,24373 -ssize_t __jfs_getxattr(945,24567 -ssize_t jfs_getxattr(1014,26044 -ssize_t jfs_listxattr(1024,26234 -int jfs_removexattr(1073,27241 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_txnmgr.h,2072 -#define _H_JFS_TXNMGR19,839 -#define tid_to_tblock(tid_to_tblock26,939 -#define lid_to_tlock(lid_to_tlock28,983 -struct tblock tblock33,1053 -#define COMMIT_SYNC 75,2349 -#define COMMIT_FORCE 76,2401 -#define COMMIT_FLUSH 77,2466 -#define COMMIT_MAP 78,2528 -#define COMMIT_PMAP 79,2554 -#define COMMIT_WMAP 80,2599 -#define COMMIT_PWMAP 81,2644 -#define COMMIT_FREE 82,2691 -#define COMMIT_DELETE 83,2718 -#define COMMIT_TRUNCATE 84,2766 -#define COMMIT_CREATE 85,2819 -#define COMMIT_LAZY 86,2867 -#define COMMIT_PAGE 87,2912 -#define COMMIT_INODE 88,2976 -struct tlock tlock95,3121 -#define tlckPAGELOCK 117,3623 -#define tlckINODELOCK 118,3652 -#define tlckLINELOCK 119,3682 -#define tlckINLINELOCK 120,3711 -#define tlckLOG 122,3760 -#define tlckUPDATEMAP 124,3807 -#define tlckFREELOCK 126,3858 -#define tlckWRITEPAGE 127,3887 -#define tlckFREEPAGE 128,3917 -#define tlckTYPE 133,3968 -#define tlckINODE 134,3993 -#define tlckXTREE 135,4019 -#define tlckDTREE 136,4045 -#define tlckMAP 137,4071 -#define tlckEA 138,4096 -#define tlckACL 139,4120 -#define tlckDATA 140,4145 -#define tlckBTROOT 141,4170 -#define tlckOPERATION 143,4198 -#define tlckGROW 144,4228 -#define tlckREMOVE 145,4269 -#define tlckTRUNCATE 146,4314 -#define tlckRELOCATE 147,4363 -#define tlckENTRY 148,4422 -#define tlckEXTEND 149,4478 -#define tlckSPLIT 150,4536 -#define tlckNEW 151,4581 -#define tlckFREE 152,4632 -#define tlckRELINK 153,4673 -struct lv lv161,4853 -#define TLOCKSHORT 166,4926 -#define TLOCKLONG 167,4948 -struct linelock linelock169,4970 -#define dt_lock 183,5214 -struct xtlock xtlock185,5240 -struct maplock maplock216,5961 -#define mlckALLOC 231,6225 -#define mlckALLOCXADLIST 232,6251 -#define mlckALLOCPXDLIST 233,6283 -#define mlckALLOCXAD 234,6315 -#define mlckALLOCPXD 235,6344 -#define mlckFREE 236,6373 -#define mlckFREEXADLIST 237,6398 -#define mlckFREEPXDLIST 238,6430 -#define mlckFREEXAD 239,6462 -#define mlckFREEPXD 240,6490 -#define pxd_lock 242,6519 -struct xdlistlock xdlistlock244,6545 -#define xdlist 265,6952 -struct commit commit272,7048 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_types.h,1329 -#define _H_JFS_TYPES19,835 -typedef u16 tid_t;tid_t41,1255 -typedef u16 lid_t;lid_t42,1274 -struct timestruc_t timestruc_t47,1356 -#define LEFTMOSTONE 56,1425 -#define HIGHORDER 57,1456 -#define ONES 58,1521 -typedef int boolean_t;boolean_t60,1583 -#define TRUE 61,1606 -#define FALSE 62,1621 -} lxd_t;lxd_t71,1729 -#define LXDlength(LXDlength74,1770 -#define LXDoffset(LXDoffset75,1829 -#define lengthLXD(lengthLXD82,1978 -#define offsetLXD(offsetLXD83,2016 -struct lxdlist lxdlist87,2102 -} pxd_t;pxd_t100,2255 -#define PXDlength(PXDlength104,2296 -#define PXDaddress(PXDaddress105,2368 -#define lengthPXD(lengthPXD112,2537 -#define addressPXD(addressPXD113,2586 -#define MAXTREEHEIGHT 116,2674 -struct pxdlist pxdlist118,2713 -} dxd_t;dxd_t135,3102 -#define DXD_INDEX 138,3145 -#define DXD_INLINE 139,3188 -#define DXD_EXTENT 140,3238 -#define DXD_FILE 141,3294 -#define DXD_CORRUPT 142,3347 -#define DXDlength 147,3479 -#define DXDaddress 148,3507 -#define lengthDXD 149,3537 -#define addressDXD 150,3565 -#define DXDsize(DXDsize151,3595 -#define sizeDXD(sizeDXD152,3660 -struct component_name component_name157,3747 -struct dasd dasd166,3866 -#define DASDLIMIT(DASDLIMIT177,4246 -#define setDASDLIMIT(setDASDLIMIT179,4344 -#define DASDUSED(DASDUSED184,4471 -#define setDASDUSED(setDASDUSED186,4566 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_unicode.c,90 -int jfs_strfromUCS_le(32,1070 -static int jfs_strtoUCS(81,2163 -int get_UCSname(114,2822 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/super.c,1682 -static kmem_cache_t * jfs_inode_cachep;42,1414 -static struct super_operations jfs_super_operations;44,1455 -static struct export_operations jfs_export_operations;45,1508 -static struct file_system_type jfs_fs_type;46,1563 -#define MAX_COMMIT_THREADS 48,1608 -static int commit_threads 49,1638 -int jfs_stop_threads;53,1770 -static pid_t jfsIOthread;54,1792 -static pid_t jfsCommitThread[55,1818 -static pid_t jfsSyncThread;56,1868 -int jfsloglevel 60,1952 -static void jfs_handle_error(96,3066 -void jfs_error(118,3575 -static struct inode *jfs_alloc_inode(132,3864 -static void jfs_destroy_inode(142,4088 -static int jfs_statfs(168,4720 -static void jfs_put_super(200,5766 - Opt_integrity,217,6079 - Opt_integrity, Opt_nointegrity,217,6079 - Opt_integrity, Opt_nointegrity, Opt_iocharset,217,6079 - Opt_integrity, Opt_nointegrity, Opt_iocharset, Opt_resize,217,6079 - Opt_resize_nosize,218,6139 - Opt_resize_nosize, Opt_errors,218,6139 - Opt_resize_nosize, Opt_errors, Opt_ignore,218,6139 - Opt_resize_nosize, Opt_errors, Opt_ignore, Opt_err,218,6139 -static match_table_t tokens 221,6196 -static int parse_options(235,6541 -static int jfs_remount(335,8702 -static int jfs_fill_super(377,9653 -static void jfs_write_super_lockfs(483,11837 -static void jfs_unlockfs(495,12081 -static struct super_block *jfs_get_sb(510,12399 -static int jfs_sync_fs(516,12592 -static struct super_operations jfs_super_operations 527,12795 -static struct export_operations jfs_export_operations 542,13243 -static struct file_system_type jfs_fs_type 546,13336 -static void init_once(559,13629 -static int __init init_jfs_fs(580,14288 -static void __exit exit_jfs_fs(667,16295 -module_init(690,16866 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_xtree.h,794 -#define _H_JFS_XTREE19,838 -typedef struct xad xad31,1009 -} xad_t;xad_t39,1367 -#define MAXXLEN 41,1390 -#define XTSLOTSIZE 43,1431 -#define L2XTSLOTSIZE 44,1458 -#define XADoffset(XADoffset47,1516 -#define XADaddress(XADaddress52,1664 -#define XADlength(XADlength57,1818 -#define offsetXAD(offsetXAD60,1925 -#define addressXAD(addressXAD62,2016 -#define lengthXAD(lengthXAD64,2110 -struct xadlist xadlist67,2176 -#define XAD_NEW 74,2253 -#define XAD_EXTENDED 75,2292 -#define XAD_COMPRESSED 76,2336 -#define XAD_NOTRECORDED 77,2403 -#define XAD_COW 78,2465 -#define XTROOTINITSLOT_DIR 82,2551 -#define XTROOTINITSLOT 83,2581 -#define XTROOTMAXSLOT 84,2608 -#define XTPAGEMAXSLOT 85,2635 -#define XTENTRYSTART 86,2663 - struct xtheader xtheader92,2733 -} xtpage_t;xtpage_t106,3075 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/jfs_logmgr.h,2212 -#define _H_JFS_LOGMGR20,896 -#define LOGPSIZE 30,1034 -#define L2LOGPSIZE 31,1056 -#define LOGPAGES 33,1079 -#define LOGSUPER_B 56,1914 -#define LOGSTART_B 57,1935 -#define LOGMAGIC 59,1957 -#define LOGVERSION 60,1985 -#define MAX_ACTIVE 62,2007 -struct logsuper logsuper64,2073 -#define NULL_UUID 83,2668 -#define LOGMOUNT 88,2788 -#define LOGREDONE 89,2840 -#define LOGWRAP 92,2944 -#define LOGREADERR 93,2981 -struct logpage logpage122,4400 -#define LOGPHDRSIZE 138,4781 -#define LOGPTLRSIZE 139,4830 -#define LOG_COMMIT 168,6010 -#define LOG_SYNCPT 169,6037 -#define LOG_MOUNT 170,6064 -#define LOG_REDOPAGE 171,6090 -#define LOG_NOREDOPAGE 172,6119 -#define LOG_NOREDOINOEXT 173,6150 -#define LOG_UPDATEMAP 174,6182 -#define LOG_NOREDOFILE 175,6212 -#define LOG_INODE 178,6291 -#define LOG_XTREE 179,6317 -#define LOG_DTREE 180,6343 -#define LOG_BTROOT 181,6369 -#define LOG_EA 182,6396 -#define LOG_ACL 183,6420 -#define LOG_DATA 184,6445 -#define LOG_NEW 185,6470 -#define LOG_EXTEND 186,6495 -#define LOG_RELOCATE 187,6522 -#define LOG_DIR_XTREE 188,6551 -#define LOG_ALLOCXADLIST 191,6659 -#define LOG_ALLOCPXDLIST 192,6691 -#define LOG_ALLOCXAD 193,6723 -#define LOG_ALLOCPXD 194,6752 -#define LOG_FREEXADLIST 195,6781 -#define LOG_FREEPXDLIST 196,6813 -#define LOG_FREEXAD 197,6845 -#define LOG_FREEPXD 198,6873 -struct lrd lrd201,6903 -#define LOGRDSIZE 354,10690 -struct lvd lvd359,10763 -struct jfs_log jfs_log368,10836 -#define log_INLINELOG 423,12593 -#define log_SYNCBARRIER 424,12617 -#define log_QUIESCE 425,12643 -#define log_FLUSH 426,12665 -#define logGC_PAGEOUT 432,12728 -#define tblkGC_QUEUE 435,12780 -#define tblkGC_READY 436,12809 -#define tblkGC_COMMIT 437,12838 -#define tblkGC_COMMITTED 438,12868 -#define tblkGC_EOP 439,12900 -#define tblkGC_FREE 440,12927 -#define tblkGC_LEADER 441,12955 -#define tblkGC_ERROR 442,12985 -#define tblkGC_LAZY 443,13014 -#define tblkGC_UNLOCKED 444,13053 -struct lbuf lbuf449,13132 -#define l_redrive_next 472,13737 -struct logsyncblk logsyncblk479,13853 -#define LOGSYNC_LOCK_INIT(LOGSYNC_LOCK_INIT491,14109 -#define LOGSYNC_LOCK(LOGSYNC_LOCK492,14173 -#define LOGSYNC_UNLOCK(LOGSYNC_UNLOCK493,14227 -#define logdiff(logdiff496,14347 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/file.c,196 -int jfs_fsync(32,1129 -static int jfs_open(49,1529 -static int jfs_release(79,2348 -struct inode_operations jfs_file_inode_operations 94,2685 -struct file_operations jfs_file_operations 106,2977 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jfs/symlink.c,97 -static int jfs_follow_link(24,893 -struct inode_operations jfs_symlink_inode_operations 31,1048 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/namespace.c,1798 -static inline int sysfs_init(32,684 -spinlock_t vfsmount_lock __cacheline_aligned_in_smp 39,813 -static struct list_head *mount_hashtable;41,888 -static int hash_mask,42,930 -static int hash_mask, hash_bits;42,930 -static kmem_cache_t *mnt_cache;43,963 -static inline unsigned long hash(45,997 -struct vfsmount *alloc_vfsmnt(53,1250 -void free_vfsmnt(76,1830 -struct vfsmount *lookup_mnt(86,2026 -static inline int check_mnt(110,2560 -static void detach_mnt(115,2665 -static void attach_mnt(126,2969 -static struct vfsmount *next_mnt(135,3269 -clone_mnt(152,3667 -void __mntput(176,4315 -static void *m_start(187,4500 -static void *m_next(200,4762 -static void m_stop(208,5008 -static inline void mangle(214,5115 -static int show_vfsmnt(219,5211 - static struct proc_fs_info proc_fs_info223,5306 -struct seq_operations mounts_op 262,6366 -int may_umount_tree(277,6686 -int may_umount(332,8008 -void umount_tree(341,8145 -static int do_umount(368,8731 -asmlinkage long sys_umount(468,11668 -asmlinkage long sys_oldumount(499,12219 -static int mount_is_safe(506,12310 -lives_below_in_same_fs(525,12709 -static struct vfsmount *copy_tree(536,12895 -static int graft_tree(580,13880 -static int do_loopback(621,14747 -static int do_remount(670,15875 -static int do_move_mount(695,16388 -static int do_new_mount(763,17932 -int do_add_mount(786,18472 -void mark_mounts_for_expiry(832,19592 -exact_copy_from_user(940,22545 -int copy_mount_options(961,22843 -long do_mount(1008,24156 -int copy_namespace(1062,25518 -asmlinkage long sys_mount(1148,27351 -void set_fs_root(1194,28330 -void set_fs_pwd(1216,28849 -static void chroot_fs_refs(1235,29202 -asmlinkage long sys_pivot_root(1271,30339 -static void __init init_mount_tree(1362,32707 -void __init mnt_init(1393,33597 -void __put_namespace(1445,34806 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/char_dev.c,1215 -static struct kobj_map *cdev_map;27,474 -#define MAX_PROBE_HASH 29,509 -static rwlock_t chrdevs_lock 31,550 -static struct char_device_struct char_device_struct33,600 -} *chrdevs[41,815 -static inline int major_to_index(44,869 -int get_chrdev_list(50,1003 -__register_chrdev_region(80,1720 -__unregister_chrdev_region(137,2862 -int register_chrdev_region(156,3305 -int alloc_chrdev_region(181,3848 -int register_chrdev(191,4119 -void unregister_chrdev_region(227,4828 -int unregister_chrdev(240,5102 -static spinlock_t cdev_lock 250,5314 -static struct kobject *cdev_get(252,5365 -void cdev_put(265,5607 -int chrdev_open(276,5767 -void cd_forget(322,6684 -void cdev_purge(330,6833 -struct file_operations def_chr_fops 347,7278 -static struct kobject *exact_match(351,7344 -static int exact_lock(357,7460 -int cdev_add(363,7564 -static void cdev_unmap(370,7733 -void cdev_del(375,7823 -static void cdev_default_release(384,7953 -static void cdev_dynamic_release(390,8086 -static struct kobj_type ktype_cdev_default 397,8230 -static struct kobj_type ktype_cdev_dynamic 401,8315 -struct cdev *cdev_alloc(405,8400 -void cdev_init(417,8649 -static struct kobject *base_probe(425,8836 -void __init chrdev_init(433,9079 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/block_dev.c,2138 -struct bdev_inode bdev_inode28,636 -static inline struct bdev_inode *BDEV_I(33,712 -inline struct block_device *I_BDEV(38,837 -static sector_t max_block(45,952 -static void kill_bdev(59,1274 -int set_blocksize(65,1409 -int sb_set_blocksize(87,1994 -int sb_min_blocksize(104,2397 -blkdev_get_block(115,2624 -blkdev_get_blocks(137,3110 -blkdev_direct_IO(164,3748 -static int blkdev_writepage(174,4069 -static int blkdev_readpage(179,4212 -static int blkdev_prepare_write(184,4338 -static int blkdev_commit_write(189,4504 -static loff_t block_llseek(199,4814 -static int block_fsync(231,5451 -static spinlock_t bdev_lock __cacheline_aligned_in_smp 240,5610 -static kmem_cache_t * bdev_cachep;241,5687 -static struct inode *bdev_alloc_inode(243,5723 -static void bdev_destroy_inode(251,5908 -static void init_once(259,6088 -static inline void __bd_forget(276,6564 -static void bdev_clear_inode(283,6715 -static struct super_operations bdev_sops 295,7043 -static struct super_block *bd_get_sb(303,7261 -static struct file_system_type bd_type 309,7448 -static struct vfsmount *bd_mnt;315,7565 -struct super_block *blockdev_superblock;316,7597 -void __init bdev_cache_init(318,7639 -static inline unsigned long hash(339,8325 -static int bdev_test(344,8405 -static int bdev_set(349,8518 -struct block_device *bdget(357,8663 -long nr_blockdev_pages(392,9471 -void bdput(406,9768 -static struct block_device *bd_acquire(413,9858 -void bd_forget(438,10416 -int bd_claim(446,10549 -void bd_release(483,11588 -struct block_device *open_by_devnum(502,12146 -int check_disk_change(523,12853 -void bd_set_size(545,13359 -static int do_open(560,13689 -int blkdev_get(662,16130 -static int blkdev_open(682,16661 -int blkdev_put(711,17237 -static int blkdev_close(756,18224 -static ssize_t blkdev_file_write(764,18431 -static ssize_t blkdev_file_aio_write(772,18690 -static int block_ioctl(780,18965 -struct address_space_operations def_blk_aops 786,19130 -struct file_operations def_blk_fops 796,19421 -int ioctl_by_bdev(812,19860 -struct block_device *lookup_bdev(833,20381 -struct block_device *open_bdev_excl(876,21274 -void close_bdev_excl(914,22036 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/truncate.c,27 -void qnx4_truncate(23,386 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/inode.c,1346 -#define QNX4_VERSION 31,707 -#define QNX4_BMNAME 32,731 -static struct super_operations qnx4_sops;34,764 -int qnx4_sync_inode(38,832 -static void qnx4_delete_inode(63,1255 -static void qnx4_write_super(73,1489 -static int qnx4_write_inode(81,1635 -static struct super_operations qnx4_sops 132,3341 -static int qnx4_remount(147,3713 -struct buffer_head *qnx4_getblk(165,4006 -struct buffer_head *qnx4_bread(197,4572 -int qnx4_get_block(215,4891 -unsigned long qnx4_block_map(231,5276 -static int qnx4_statfs(284,6938 -static const char *qnx4_checkroot(305,7453 -static int qnx4_fill_super(352,8887 -static void qnx4_put_super(422,10440 -static int qnx4_writepage(431,10604 -static int qnx4_readpage(435,10741 -static int qnx4_prepare_write(439,10859 -static sector_t qnx4_bmap(446,11127 -struct address_space_operations qnx4_aops 450,11262 -static void qnx4_read_inode(459,11498 -static kmem_cache_t *qnx4_inode_cachep;518,13495 -static struct inode *qnx4_alloc_inode(520,13536 -static void qnx4_destroy_inode(529,13737 -static void init_once(534,13846 -static int init_inodecache(544,14123 -static void destroy_inodecache(555,14386 -static struct super_block *qnx4_get_sb(562,14554 -static struct file_system_type qnx4_fs_type 568,14748 -static int __init init_qnx4_fs(576,14927 -static void __exit exit_qnx4_fs(594,15187 -module_init(600,15292 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/bitmap.c,223 -int qnx4_new_block(27,606 -void count_bits(32,665 -unsigned long qnx4_count_free_blocks(64,1149 -int qnx4_is_free(89,1728 -int qnx4_set_bitmap(118,2489 -static void qnx4_clear_inode(145,3179 -void qnx4_free_inode(156,3473 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/namei.c,197 -static int qnx4_match(34,878 -static struct buffer_head *qnx4_find_entry(69,1744 -struct dentry * qnx4_lookup(110,2650 -int qnx4_create(145,3553 -int qnx4_rmdir(155,3745 -int qnx4_unlink(204,4791 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/fsync.c,194 -static int sync_block(32,531 -static int sync_iblock(61,1069 -static int sync_direct(86,1474 -static int sync_indirect(103,1767 -static int sync_dindirect(126,2181 -int qnx4_sync_file(151,2621 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/file.c,111 -struct file_operations qnx4_file_operations 25,530 -struct inode_operations qnx4_file_inode_operations 37,798 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/qnx4/dir.c,143 -static int qnx4_readdir(24,459 -struct file_operations qnx4_dir_operations 84,2203 -struct inode_operations qnx4_dir_inode_operations 91,2331 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/array.c,464 -#define ADDBUF(ADDBUF83,2422 -static inline char * task_name(87,2546 -static const char *task_state_array[128,3213 -static inline const char * get_task_state(138,3443 -static inline char * task_state(156,3832 -static char * render_sigset_t(197,4862 -static void collect_sigign_sigcatch(222,5334 -static inline char * task_sig(237,5657 -static inline char *task_cap(273,6741 -int proc_pid_status(283,7019 -int proc_pid_stat(303,7453 -int proc_pid_statm(425,10650 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/proc_devtree.c,309 -static inline void set_node_proc_entry(15,296 -static void inline set_node_name_link(19,391 -static void inline set_node_addr_link(23,485 -static struct proc_dir_entry *proc_device_tree;28,586 -static int property_read_proc(33,705 -void proc_device_tree_add_node(61,1217 -void proc_device_tree_init(150,3491 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/root.c,782 -struct proc_dir_entry *proc_net,21,381 -struct proc_dir_entry *proc_net, *proc_net_stat,21,381 -struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus,21,381 -struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs,21,381 -struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs, *proc_root_driver;21,381 -struct proc_dir_entry *proc_sys_root;24,497 -static struct super_block *proc_get_sb(27,543 -static struct file_system_type proc_fs_type 33,729 -void __init proc_root_init(40,899 -static struct dentry *proc_root_lookup(82,2015 -static int proc_root_readdir(99,2507 -static struct file_operations proc_root_operations 126,3077 -static struct inode_operations proc_root_inode_operations 134,3241 -struct proc_dir_entry proc_root 141,3392 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/task_nommu.c,250 -char *task_mem(12,292 -unsigned long task_vsize(66,1699 -int task_statm(80,1998 -static int show_map(107,2683 -static void *m_start(111,2747 -static void m_stop(115,2819 -static void *m_next(118,2871 -struct seq_operations proc_pid_maps_op 122,2951 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/proc_tty.c,605 -static struct proc_dir_entry *proc_tty_ldisc,24,457 -static struct proc_dir_entry *proc_tty_ldisc, *proc_tty_driver;24,457 -static void show_tty_range(29,574 -static int show_tty_driver(72,1735 -static void *t_start(109,2811 -static void *t_next(119,3025 -static void t_stop(127,3253 -static struct seq_operations tty_drivers_op 131,3306 -static int tty_drivers_open(138,3436 -static struct file_operations proc_tty_drivers_operations 143,3550 -static int tty_ldiscs_read_proc(153,3763 -void proc_tty_register_driver(187,4529 -void proc_tty_unregister_driver(210,5043 -void __init proc_tty_init(226,5349 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/kcore.c,586 -static int open_kcore(26,759 -struct file_operations proc_kcore_operations 33,920 -#define kc_vaddr_to_offset(kc_vaddr_to_offset39,1044 -#define kc_offset_to_vaddr(kc_offset_to_vaddr42,1128 -#define roundup(roundup45,1186 -struct memelfnotememelfnote48,1264 -static struct kcore_list *kclist;56,1353 -static rwlock_t kclist_lock 57,1387 -kclist_add(60,1441 -kclist_del(72,1672 -static size_t get_kcore_size(88,1950 -static int notesize(117,2645 -static char *storenote(132,2960 -#define DUMP_WRITE(DUMP_WRITE136,3043 -static void elf_kcore_store_hdr(159,3644 -read_kcore(275,6790 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/kmsg.c,184 -static int kmsg_open(22,372 -static int kmsg_release(27,469 -static ssize_t kmsg_read(33,580 -static unsigned int kmsg_poll(41,792 -struct file_operations proc_kmsg_operations 50,969 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/generic.c,1299 -int proc_match(30,822 -static struct file_operations proc_file_operations 37,971 -#define PROC_BLOCK_SIZE 44,1195 -proc_file_read(47,1254 -proc_file_write(186,5366 -proc_file_lseek(203,5725 -static int proc_notify_change(231,6159 -static struct inode_operations proc_file_inode_operations 252,6558 -static int xlate_proc_name(261,6825 -static spinlock_t proc_inum_lock 289,7328 -#define PROC_DYNAMIC_FIRST 291,7409 -static unsigned int get_inode_number(297,7549 -static void release_inode_number(323,8018 -static int proc_follow_link(332,8223 -static struct inode_operations proc_link_inode_operations 338,8358 -static int proc_delete_dentry(349,8695 -static struct dentry_operations proc_dentry_operations 354,8765 -struct dentry *proc_lookup(363,8943 -int proc_readdir(403,9888 -static struct file_operations proc_dir_operations 468,11046 -static struct inode_operations proc_dir_inode_operations 476,11211 -static int proc_register(481,11333 -static void proc_kill_inodes(513,12094 -static struct proc_dir_entry *proc_create(540,12689 -struct proc_dir_entry *proc_symlink(569,13402 -struct proc_dir_entry *proc_mkdir_mode(594,13914 -struct proc_dir_entry *proc_mkdir(612,14297 -struct proc_dir_entry *create_proc_entry(618,14445 -void free_proc_entry(650,15091 -void remove_proc_entry(668,15436 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/inode.c,712 -static inline struct proc_dir_entry * de_get(25,491 -static void de_put(35,684 -static void proc_delete_inode(59,1133 -struct vfsmount *proc_mnt;79,1518 -static void proc_read_inode(81,1546 -static kmem_cache_t * proc_inode_cachep;86,1667 -static struct inode *proc_alloc_inode(88,1709 -static void proc_destroy_inode(105,2111 -static void init_once(110,2220 -int __init proc_init_inodecache(119,2479 -static int proc_remount(130,2742 -static struct super_operations proc_sops 136,2856 - Opt_uid,147,3146 - Opt_uid, Opt_gid,147,3146 - Opt_uid, Opt_gid, Opt_err147,3146 -static match_table_t tokens 150,3177 -static int parse_options(156,3274 -struct inode *proc_get_inode(191,3839 -int proc_fill_super(234,4597 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/task_mmu.c,246 -char *task_mem(7,124 -unsigned long task_vsize(41,961 -int task_statm(46,1047 -static int show_map(56,1321 -static void *m_start(92,2152 -static void m_stop(115,2567 -static void *m_next(126,2813 -struct seq_operations proc_pid_maps_op 139,3096 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/base.c,5908 -#define fake_ino(fake_ino44,1316 -enum pid_directory_inos pid_directory_inos46,1363 - PROC_TGID_INO 47,1389 - PROC_TGID_TASK,48,1409 - PROC_TGID_STATUS,49,1426 - PROC_TGID_MEM,50,1445 - PROC_TGID_CWD,51,1461 - PROC_TGID_ROOT,52,1477 - PROC_TGID_EXE,53,1494 - PROC_TGID_FD,54,1510 - PROC_TGID_ENVIRON,55,1525 - PROC_TGID_AUXV,56,1545 - PROC_TGID_CMDLINE,57,1562 - PROC_TGID_STAT,58,1582 - PROC_TGID_STATM,59,1599 - PROC_TGID_MAPS,60,1617 - PROC_TGID_MOUNTS,61,1634 - PROC_TGID_WCHAN,62,1653 - PROC_TGID_SCHEDSTAT,64,1696 - PROC_TGID_ATTR,67,1748 - PROC_TGID_ATTR_CURRENT,68,1765 - PROC_TGID_ATTR_PREV,69,1790 - PROC_TGID_ATTR_EXEC,70,1812 - PROC_TGID_ATTR_FSCREATE,71,1834 - PROC_TGID_FD_DIR,73,1867 - PROC_TID_INO,74,1886 - PROC_TID_STATUS,75,1901 - PROC_TID_MEM,76,1919 - PROC_TID_CWD,77,1934 - PROC_TID_ROOT,78,1949 - PROC_TID_EXE,79,1965 - PROC_TID_FD,80,1980 - PROC_TID_ENVIRON,81,1994 - PROC_TID_AUXV,82,2013 - PROC_TID_CMDLINE,83,2029 - PROC_TID_STAT,84,2048 - PROC_TID_STATM,85,2064 - PROC_TID_MAPS,86,2081 - PROC_TID_MOUNTS,87,2097 - PROC_TID_WCHAN,88,2115 - PROC_TID_SCHEDSTAT,90,2157 - PROC_TID_ATTR,93,2208 - PROC_TID_ATTR_CURRENT,94,2224 - PROC_TID_ATTR_PREV,95,2248 - PROC_TID_ATTR_EXEC,96,2269 - PROC_TID_ATTR_FSCREATE,97,2290 - PROC_TID_FD_DIR 99,2322 - PROC_TID_FD_DIR = 0x8000,99,2322 -struct pid_entry pid_entry102,2373 -#define E(E109,2444 -static struct pid_entry tgid_base_stuff[111,2509 -static struct pid_entry tid_base_stuff[137,3604 -static struct pid_entry tgid_attr_stuff[164,4659 -static struct pid_entry tid_attr_stuff[171,4978 -static inline struct task_struct *proc_task(182,5314 -static inline int proc_type(187,5413 -static int proc_fd_link(196,5638 -static int proc_exe_link(220,6234 -static int proc_cwd_link(247,6818 -static int proc_root_link(267,7257 -#define MAY_PTRACE(MAY_PTRACE287,7699 -static int may_ptrace_attach(294,7921 -static int proc_pid_environ(321,8493 -static int proc_pid_cmdline(337,8870 -static int proc_pid_auxv(374,9751 -static int proc_pid_wchan(398,10332 -static int proc_pid_schedstat(418,10786 -static int proc_check_root(433,11248 -static int proc_permission(473,12031 -static int maps_open(481,12252 -static struct file_operations proc_maps_operations 492,12503 -static int mounts_open(500,12691 -static int mounts_release(524,13170 -static struct file_operations proc_mounts_operations 532,13387 -#define PROC_BLOCK_SIZE 539,13542 -static ssize_t proc_info_read(541,13648 -static struct file_operations proc_info_file_operations 562,14196 -static int mem_open(566,14286 -static ssize_t mem_read(572,14422 -#define mem_write 633,15508 -static ssize_t mem_write(637,15582 -static loff_t mem_lseek(677,16405 -static struct file_operations proc_mem_operations 693,16669 -static struct inode_operations proc_mem_inode_operations 700,16812 -static int proc_pid_follow_link(704,16909 -static int do_proc_readlink(724,17391 -static int proc_pid_readlink(750,17932 -static struct inode_operations proc_pid_link_inode_operations 777,18491 -#define NUMBUF 782,18630 -static int proc_readfd(784,18649 -static int proc_pident_readdir(846,19967 -static int proc_tgid_base_readdir(901,20956 -static int proc_tid_base_readdir(908,21159 -static int task_dumpable(917,21384 -static struct inode *proc_pid_make_inode(933,21616 -static int pid_revalidate(986,22757 -static int tid_fd_revalidate(1005,23244 -static void pid_base_iput(1035,23962 -static int pid_delete_dentry(1045,24221 -static struct dentry_operations tid_fd_dentry_operations 1054,24446 -static struct dentry_operations pid_dentry_operations 1060,24579 -static struct dentry_operations pid_base_dentry_operations 1066,24706 -static unsigned name_to_int(1075,24880 -static struct dentry *proc_lookupfd(1098,25249 -static struct file_operations proc_fd_operations 1149,26586 -static struct file_operations proc_task_operations 1154,26696 -static struct inode_operations proc_fd_inode_operations 1162,26865 -static struct inode_operations proc_task_inode_operations 1167,26988 -static ssize_t proc_pid_attr_read(1173,27139 -static ssize_t proc_pid_attr_write(1195,27737 -static struct file_operations proc_pid_attr_operations 1224,28420 -static struct file_operations proc_tid_attr_operations;1229,28545 -static struct inode_operations proc_tid_attr_inode_operations;1230,28601 -static struct file_operations proc_tgid_attr_operations;1231,28664 -static struct inode_operations proc_tgid_attr_inode_operations;1232,28721 -static struct dentry *proc_pident_lookup(1236,28808 -static struct dentry *proc_tgid_base_lookup(1391,32717 -static struct dentry *proc_tid_base_lookup(1395,32887 -static struct file_operations proc_tgid_base_operations 1399,33055 -static struct file_operations proc_tid_base_operations 1404,33183 -static struct inode_operations proc_tgid_base_inode_operations 1409,33309 -static struct inode_operations proc_tid_base_inode_operations 1413,33415 -static int proc_tgid_attr_readdir(1418,33542 -static int proc_tid_attr_readdir(1425,33745 -static struct file_operations proc_tgid_attr_operations 1432,33945 -static struct file_operations proc_tid_attr_operations 1437,34073 -static struct dentry *proc_tgid_attr_lookup(1442,34199 -static struct dentry *proc_tid_attr_lookup(1448,34374 -static struct inode_operations proc_tgid_attr_inode_operations 1454,34547 -static struct inode_operations proc_tid_attr_inode_operations 1458,34653 -static int proc_self_readlink(1466,34786 -static int proc_self_follow_link(1474,34985 -static struct inode_operations proc_self_inode_operations 1481,35153 -struct dentry *proc_pid_unhash(1502,35895 -void proc_pid_flush(1527,36435 -struct dentry *proc_pid_lookup(1537,36607 -static struct dentry *proc_task_lookup(1608,38190 -#define PROC_NUMBUF 1652,39134 -#define PROC_MAXPIDS 1653,39157 -static int get_tgid_list(1660,39382 -static int get_tid_list(1699,40185 -int proc_pid_readdir(1727,40913 -static int proc_task_readdir(1786,42341 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/proc/proc_misc.c,2003 -#define LOAD_INT(LOAD_INT53,1427 -#define LOAD_FRAC(LOAD_FRAC54,1463 -static int proc_calc_metrics(70,2147 -static int loadavg_read_proc(81,2384 -struct vmalloc_info vmalloc_info98,2864 -static struct vmalloc_info get_vmalloc_info(103,2941 -static int uptime_read_proc(133,3637 -static int meminfo_read_proc(152,4207 -#define K(K170,4594 -static int fragmentation_open(237,6160 -static struct file_operations fragmentation_file_operations 243,6292 -static int version_read_proc(250,6458 -static int cpuinfo_open(262,6759 -static struct file_operations proc_cpuinfo_operations 266,6864 -static int vmstat_open(274,7058 -static struct file_operations proc_vmstat_file_operations 278,7161 -static int hardware_read_proc(286,7346 -static int stram_read_proc(295,7586 -static int partitions_open(304,7839 -static struct file_operations proc_partitions_operations 308,7950 -static int diskstats_open(316,8153 -static struct file_operations proc_diskstats_operations 320,8262 -static int modules_open(329,8483 -static struct file_operations proc_modules_operations 333,8588 -static int slabinfo_open(343,8876 -static struct file_operations proc_slabinfo_operations 347,8983 -int show_stat(355,9166 -static int stat_open(431,11445 -static struct file_operations proc_stat_operations 454,11942 -static int devices_read_proc(461,12093 -static void *int_seq_start(472,12360 -static void *int_seq_next(477,12465 -static void int_seq_stop(485,12598 -static struct seq_operations int_seq_ops 492,12755 -int interrupts_open(499,12903 -static struct file_operations proc_interrupts_operations 504,13006 -static int filesystems_read_proc(511,13166 -static int cmdline_read_proc(518,13379 -static int locks_read_proc(527,13611 -static int execdomains_read_proc(537,13816 -static ssize_t write_sysrq_trigger(548,14117 -static struct file_operations proc_sysrq_trigger_operations 561,14354 -struct proc_dir_entry *proc_root_kcore;566,14461 -static void create_seq_entry(568,14502 -void __init proc_misc_init(576,14701 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fcntl.c,897 -void fastcall set_close_on_exec(22,402 -static inline int get_close_on_exec(33,665 -static int expand_files(49,1075 -static int locate_fd(81,1777 -int dupfd(131,2705 -asmlinkage long sys_dup2(153,3126 -asmlinkage long sys_dup(207,4464 -#define SETFL_MASK 217,4618 -static int setfl(219,4705 -static void f_modown(264,5853 -int f_setown(276,6172 -void f_delown(290,6410 -static long do_fcntl(295,6477 -asmlinkage long sys_fcntl(365,7913 -asmlinkage long sys_fcntl64(388,8256 -static long band_table[425,8924 -static inline int sigio_perm(434,9206 -static void send_sigio_to_task(443,9539 -void send_sigio(481,10667 -static void send_sigurg_to_task(507,11200 -int send_sigurg(514,11401 -static rwlock_t fasync_lock 543,11931 -static kmem_cache_t *fasync_cache;544,11979 -int fasync_helper(551,12227 -void __kill_fasync(592,13028 -void kill_fasync(613,13579 -static int __init fasync_init(627,13899 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/map.c,310 -unsigned *hpfs_map_dnode_bitmap(11,184 -unsigned int *hpfs_map_bitmap(16,333 -char *hpfs_load_code_page(38,1073 -secno *hpfs_load_bitmap_directory(92,2409 -struct fnode *hpfs_map_fnode(118,2930 -struct anode *hpfs_map_anode(167,4406 -struct dnode *hpfs_map_dnode(198,5336 -dnode_secno hpfs_fnode_dno(262,7649 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/hpfs.h,1017 -typedef unsigned secno;secno24,657 -typedef secno dnode_secno;dnode_secno26,724 -typedef secno fnode_secno;fnode_secno27,783 -typedef secno anode_secno;anode_secno28,843 -#define BB_MAGIC 35,1056 -struct hpfs_boot_blockhpfs_boot_block37,1081 -#define SB_MAGIC 68,1932 -struct hpfs_super_blockhpfs_super_block70,1961 -#define SP_MAGIC 104,3270 -struct hpfs_spare_blockhpfs_spare_block106,3299 -#define BAD_MAGIC 152,5213 -#define CP_DIR_MAGIC 176,6060 -struct code_page_directorycode_page_directory178,6093 -#define CP_DATA_MAGIC 198,6781 -struct code_page_datacode_page_data200,6815 -#define DNODE_MAGIC 253,9001 -struct dnode dnode255,9035 -struct hpfs_dirent hpfs_dirent269,9560 -struct bplus_leaf_nodebplus_leaf_node317,11724 -struct bplus_internal_nodebplus_internal_node324,11915 -struct bplus_headerbplus_header330,12055 -#define FNODE_MAGIC 366,13494 -struct fnodefnode368,13526 -#define ANODE_MAGIC 427,15299 -struct anodeanode429,15331 -struct extended_attributeextended_attribute460,16377 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/name.c,450 -char *text_postfix[11,157 -char *text_prefix[16,372 -void hpfs_decide_conv(20,523 -static inline int not_allowed_char(44,1173 -static inline int no_dos_char(50,1343 -static inline unsigned char upcase(55,1518 -unsigned char hpfs_upcase(62,1698 -static inline unsigned char locase(67,1790 -int hpfs_chk_name(74,1966 -char *hpfs_translate_name(86,2340 -int hpfs_compare_names(106,3078 -int hpfs_is_name_long(123,3541 -void hpfs_adjust_length(137,3929 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/ea.c,188 -void hpfs_ea_ext_remove(14,278 -static char *get_indirect_ea(50,1304 -static void set_indirect_ea(65,1613 -int hpfs_read_ea(73,1829 -char *hpfs_get_ea(129,3334 -void hpfs_set_ea(189,5150 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/dentry.c,159 -int hpfs_hash_dentry(15,210 -int hpfs_compare_dentry(37,790 -struct dentry_operations hpfs_dentry_operations 52,1280 -void hpfs_set_dentry_operations(57,1401 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/alloc.c,482 -static int chk_if_allocated(16,256 -int hpfs_chk_sectors(47,1186 -static secno alloc_in_bmp(62,1579 -secno hpfs_alloc_sector(156,3711 -static secno alloc_in_dirband(226,5632 -int hpfs_alloc_if_possible_nolock(246,6228 -int hpfs_alloc_if_possible(265,6684 -void hpfs_free_sectors(276,6894 -int hpfs_check_free_dnodes(323,8050 -void hpfs_free_dnode(369,9008 -struct dnode *hpfs_alloc_dnode(394,9678 -struct fnode *hpfs_alloc_fnode(421,10425 -struct anode *hpfs_alloc_anode(438,10867 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/hpfs_fn.h,1536 -#define EIOERROR 20,323 -#define EFSERROR 21,345 -#define EMEMERROR 22,369 -#define ANODE_ALLOC_FWD 24,395 -#define FNODE_ALLOC_FWD 25,423 -#define ALLOC_FWD_MIN 26,449 -#define ALLOC_FWD_MAX 27,474 -#define ALLOC_M 28,500 -#define FNODE_RD_AHEAD 29,519 -#define ANODE_RD_AHEAD 30,545 -#define DNODE_RD_AHEAD 31,571 -#define FREE_DNODES_ADD 33,597 -#define FREE_DNODES_DEL 34,624 -#define CHKCOND(CHKCOND36,652 -#define PRINTK(PRINTK39,704 -#define PRINTK(PRINTK42,751 -struct hpfs_inode_info hpfs_inode_info45,777 -struct hpfs_sb_info hpfs_sb_info66,1671 -#define CONV_BINARY 101,3192 -#define CONV_TEXT 102,3236 -#define CONV_AUTO 103,3278 -struct quad_buffer_head quad_buffer_head107,3414 -static inline dnode_secno de_down_pointer 114,3533 -static inline struct hpfs_dirent *dnode_first_de 122,3761 -static inline struct hpfs_dirent *dnode_end_de 129,3906 -static inline struct hpfs_dirent *de_next_de 137,4201 -static inline struct extended_attribute *fnode_ea(143,4416 -static inline struct extended_attribute *fnode_end_ea(148,4583 -static inline struct extended_attribute *next_ea(153,4773 -static inline secno ea_sec(158,4942 -static inline secno ea_len(163,5055 -static inline char *ea_data(168,5168 -static inline unsigned de_size(173,5280 -static inline void copy_de(178,5403 -static inline unsigned tstbits(190,5645 -static inline struct hpfs_inode_info *hpfs_i(312,11410 -static inline struct hpfs_sb_info *hpfs_sb(317,11543 -static inline time_t local_to_gmt(332,11881 -static inline time_t gmt_to_local(338,12052 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/inode.c,267 -void hpfs_init_inode(11,152 -void hpfs_read_inode(43,952 -void hpfs_write_inode_ea(144,3616 -void hpfs_write_inode(179,4982 -void hpfs_write_inode_nolock(212,5850 -int hpfs_notify_change(260,7471 -void hpfs_write_if_changed(277,7941 -void hpfs_delete_inode(285,8101 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/buffer.c,261 -void hpfs_lock_creation(11,152 -void hpfs_unlock_creation(19,296 -void *hpfs_map_sector(29,521 -void *hpfs_get_sector(47,869 -void *hpfs_map_4sectors(66,1359 -void *hpfs_get_4sectors(122,2403 -void hpfs_brelse4(155,3387 -void hpfs_mark_4buffers_dirty(164,3544 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/dnode.c,935 -static loff_t get_pos(11,206 -void hpfs_add_pos(24,579 -void hpfs_del_pos(48,1238 -static void for_all_poss(70,1783 -void hpfs_pos_subst(81,2074 -void hpfs_pos_ins(91,2284 -void hpfs_pos_del(100,2544 -static struct hpfs_dirent *dnode_pre_last_de(109,2801 -static struct hpfs_dirent *dnode_last_de(119,3064 -static void set_last_pointer(129,3296 -struct hpfs_dirent *hpfs_add_de(161,4125 -void hpfs_delete_de(192,5092 -static void fix_up_ptrs(202,5384 -int hpfs_add_to_dnode(224,5977 -int hpfs_add_dirent(369,10266 -static secno move_to_top(417,11558 -static void delete_empty_dnode(502,13951 -int hpfs_remove_dirent(690,19990 -void hpfs_count_dnodes(729,21130 -static struct hpfs_dirent *map_nth_dirent(782,22664 -dnode_secno hpfs_de_as_down_as_possible(804,23255 -struct hpfs_dirent *map_pos_dirent(830,23976 -struct hpfs_dirent *map_dirent(893,25549 -void hpfs_remove_dtree(933,26652 -struct hpfs_dirent *map_fnode_dirent(981,27819 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/anode.c,298 -secno hpfs_bplus_lookup(13,232 -secno hpfs_add_sector_to_btree(60,1697 -void hpfs_remove_btree(268,7850 -static secno anode_lookup(324,9308 -int hpfs_ea_read(332,9552 -int hpfs_ea_write(355,10153 -void hpfs_ea_remove(379,10781 -void hpfs_truncate_btree(393,11186 -void hpfs_remove_fnode(475,13849 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/namei.c,383 -static int hpfs_mkdir(11,170 -static int hpfs_create(121,3203 -static int hpfs_mknod(211,5527 -static int hpfs_symlink(289,7527 -static int hpfs_unlink(369,9634 -static int hpfs_rmdir(451,11392 -static int hpfs_symlink_readpage(511,12568 -struct address_space_operations hpfs_symlink_aops 541,13149 -static int hpfs_rename(545,13243 -struct inode_operations hpfs_dir_iops 662,16706 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/super.c,1935 -static void mark_dirty(17,347 -static void unmark_dirty(34,749 -#define ERR_BUF_SIZE 49,1152 -void hpfs_error(51,1179 -int hpfs_stop_cycles(90,2621 -static void hpfs_put_super(102,2871 -unsigned hpfs_count_one_bitmap(112,3113 -static unsigned count_bitmaps(128,3502 -static int hpfs_statfs(138,3763 -static kmem_cache_t * hpfs_inode_cachep;161,4317 -static struct inode *hpfs_alloc_inode(163,4359 -static void hpfs_destroy_inode(173,4614 -static void init_once(178,4723 -static int init_inodecache(190,5052 -static void destroy_inodecache(201,5315 - Opt_help,214,5630 - Opt_help, Opt_uid,214,5630 - Opt_help, Opt_uid, Opt_gid,214,5630 - Opt_help, Opt_uid, Opt_gid, Opt_umask,214,5630 - Opt_help, Opt_uid, Opt_gid, Opt_umask, Opt_case_lower,214,5630 - Opt_help, Opt_uid, Opt_gid, Opt_umask, Opt_case_lower, Opt_case_asis,214,5630 - Opt_conv_binary,215,5701 - Opt_conv_binary, Opt_conv_text,215,5701 - Opt_conv_binary, Opt_conv_text, Opt_conv_auto,215,5701 - Opt_check_none,216,5749 - Opt_check_none, Opt_check_normal,216,5749 - Opt_check_none, Opt_check_normal, Opt_check_strict,216,5749 - Opt_err_cont,217,5802 - Opt_err_cont, Opt_err_ro,217,5802 - Opt_err_cont, Opt_err_ro, Opt_err_panic,217,5802 - Opt_eas_no,218,5844 - Opt_eas_no, Opt_eas_ro,218,5844 - Opt_eas_no, Opt_eas_ro, Opt_eas_rw,218,5844 - Opt_chkdsk_no,219,5881 - Opt_chkdsk_no, Opt_chkdsk_errors,219,5881 - Opt_chkdsk_no, Opt_chkdsk_errors, Opt_chkdsk_always,219,5881 - Opt_timeshift,220,5935 - Opt_timeshift, Opt_err,220,5935 -static match_table_t tokens 223,5964 -int parse_opts(249,6701 -static inline void hpfs_help(357,8583 -static int hpfs_remount_fs(386,10138 -static struct super_operations hpfs_sops 432,11305 -static int hpfs_fill_super(442,11549 -static struct super_block *hpfs_get_sb(664,18020 -static struct file_system_type hpfs_fs_type 670,18214 -static int __init init_hpfs_fs(678,18393 -static void __exit exit_hpfs_fs(693,18611 -module_init(699,18716 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/file.c,529 -#define BLOCKS(BLOCKS11,150 -static int hpfs_file_release(13,194 -int hpfs_file_fsync(21,344 -static secno hpfs_bmap(32,602 -static void hpfs_truncate(48,1250 -static int hpfs_get_block(61,1599 -static int hpfs_writepage(85,2235 -static int hpfs_readpage(89,2372 -static int hpfs_prepare_write(93,2490 -static sector_t _hpfs_bmap(98,2692 -struct address_space_operations hpfs_aops 102,2828 -static ssize_t hpfs_file_write(111,3064 -struct file_operations hpfs_file_ops 125,3396 -struct inode_operations hpfs_file_iops 136,3655 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hpfs/dir.c,189 -static int hpfs_dir_release(11,154 -static loff_t hpfs_dir_lseek(22,388 -static int hpfs_readdir(53,1237 -struct dentry *hpfs_lookup(183,5235 -struct file_operations hpfs_dir_ops 313,8268 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/rdir.c,344 -struct RDIR_FILLDIR RDIR_FILLDIR27,561 -static int rdir_filldir 33,638 -static int UMSDOS_rreaddir 63,1491 -struct dentry *umsdos_rlookup_x 88,2177 -struct dentry *UMSDOS_rlookup 132,3475 -static int UMSDOS_rrmdir 160,4585 -struct file_operations umsdos_rdir_operations 232,6754 -struct inode_operations umsdos_rdir_inode_operations 239,6894 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/ioctl.c,114 -struct UMSDOS_DIR_ONCE UMSDOS_DIR_ONCE22,482 -static int umsdos_ioctl_fill 31,624 -int UMSDOS_ioctl_dir(78,1846 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/inode.c,783 -struct dentry *saved_root;25,533 -struct inode *pseudo_root;26,591 -void UMSDOS_put_inode 32,769 -void UMSDOS_put_super 49,1203 -void umsdos_setup_dir(67,1675 -void umsdos_set_dirinfo_new 95,2451 -static struct inode_operations umsdos_file_inode_operations 110,2743 -static struct inode_operations umsdos_symlink_inode_operations 115,2872 -void umsdos_patch_dentry_inode(130,3359 -int UMSDOS_notify_change 161,4226 -int umsdos_notify_change_locked(227,5838 -int UMSDOS_write_inode 315,8388 -static struct super_operations umsdos_sops 338,9055 -int UMSDOS_statfs(348,9301 -struct super_block *UMSDOS_read_super 360,9523 -static struct dentry *check_pseudo_root(415,10915 -static int __init init_umsdos_fs 471,12311 -static void __exit exit_umsdos_fs 476,12403 -module_init(481,12491 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/emd.c,417 -void put_entry 21,412 -static void get_entry(35,801 -struct dentry *umsdos_get_emd_dentry(56,1383 -int umsdos_have_emd(70,1687 -int umsdos_make_emd(89,2061 -int umsdos_emd_dir_readentry 129,2876 -int umsdos_writeentry 200,4867 -static int umsdos_find 346,9322 -int umsdos_newentry 498,12860 -int umsdos_newhidden 526,13554 -int umsdos_delentry 554,14143 -int umsdos_isempty 591,14820 -int umsdos_findentry 634,15535 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/namei.c,967 -#define UMSDOS_DIR_LOCK25,558 -static inline void u_sleep_on 29,607 -static inline void u_wake_up 34,702 -static int umsdos_waitcreate 46,1018 -static void umsdos_waitlookup 62,1390 -void umsdos_lockcreate 100,2911 -static void umsdos_lockcreate2 115,3266 -void umsdos_startlookup 141,3973 -void umsdos_unlockcreate 150,4129 -void umsdos_endlookup 163,4427 -static void umsdos_lockcreate 174,4683 -static void umsdos_lockcreate2 177,4737 -void umsdos_startlookup 180,4813 -static void umsdos_unlockcreate 183,4861 -void umsdos_endlookup 186,4917 -static int umsdos_nevercreat 192,4972 -static int umsdos_create_any 239,6369 -int UMSDOS_create 314,8362 -static void umsdos_ren_init 324,8632 -static int umsdos_rename_f 342,9207 -static int umsdos_symlink_x 489,13161 -int UMSDOS_symlink 519,13804 -int UMSDOS_link 528,14012 -int UMSDOS_mkdir 765,20653 -int UMSDOS_mknod 863,23278 -int UMSDOS_rmdir 872,23458 -int UMSDOS_unlink 959,25430 -int UMSDOS_rename 1098,28675 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/mangle.c,305 -#define KERN_WARNING17,389 -void umsdos_manglename 28,640 -#define SPECIAL_MANGLING 79,2753 -#define lookup12 89,3077 -int umsdos_evalrecsize 110,3742 -int umsdos_evalrecsize_old 123,4096 -int umsdos_parse 141,4492 -struct MANG_TEST MANG_TEST421,13027 -struct MANG_TEST tb[427,13182 -int main 483,14803 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/umsdos/dir.c,774 -#define UMSDOS_SPECIAL_DIRFPOS 22,471 -static int umsdos_dentry_validate(33,675 -static int umsdos_dentry_dput(40,861 -struct dentry_operations umsdos_dentry_operations 49,999 -struct UMSDOS_DIR_ONCE UMSDOS_DIR_ONCE55,1131 -static int umsdos_dir_once 68,1338 -static int umsdos_readdir_x 99,2123 -static int UMSDOS_readdir 300,7425 -void umsdos_lookup_patch_new(360,9238 -int umsdos_is_pseudodos 412,10699 -struct dentry *umsdos_lookup_x 446,11918 -struct dentry *UMSDOS_lookup 567,15234 -struct dentry *umsdos_covered(584,15650 -struct dentry *umsdos_lookup_dentry(616,16325 -char * umsdos_d_path(649,16958 -struct dentry *umsdos_solve_hlink 685,17897 -struct file_operations umsdos_dir_operations 791,20449 -struct inode_operations umsdos_dir_inode_operations 798,20587 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/fs-writeback.c,534 -void __mark_inode_dirty(55,1869 -static int write_inode(136,3820 -__sync_single_inode(154,4338 -__writeback_single_inode(244,6662 -sync_sb_inodes(296,8574 -writeback_inodes(402,11928 -void sync_inodes_sb(449,13312 -static void set_sb_syncing(469,13883 -static struct super_block *get_super_to_sync(483,14192 -void sync_inodes(524,15583 -void write_inode_now(553,16201 -int sync_inode(583,16948 -int generic_osync_inode(611,17709 -int writeback_acquire(660,19086 -int writeback_in_progress(670,19381 -void writeback_release(679,19621 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/trans.c,52 -int hfs_mac2triv(30,971 -void hfs_triv2mac(57,1580 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/catalog.c,250 -void hfs_cat_build_key(23,594 -int hfs_cat_build_record(36,913 -static int hfs_cat_build_thread(65,1784 -int hfs_cat_create(81,2234 -int hfs_cat_keycmp(159,4287 -int hfs_cat_find_brec(173,4669 -int hfs_cat_delete(203,5414 -int hfs_cat_move(267,6882 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/mdb.c,151 -static int hfs_get_last_session(30,692 -int hfs_mdb_get(65,1643 -void hfs_mdb_commit(257,7418 -void hfs_mdb_close(320,9564 -void hfs_mdb_put(334,9937 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/extent.c,632 -static void hfs_ext_build_key(21,436 -int hfs_ext_keycmp(50,1469 -static u16 hfs_ext_find_block(75,1996 -static int hfs_ext_block_count(90,2258 -static u16 hfs_ext_lastblock(100,2426 -static void __hfs_ext_write_extent(111,2623 -void hfs_ext_write_extent(131,3272 -static inline int __hfs_ext_read_extent(142,3515 -static inline int __hfs_ext_cache_extent(161,4085 -static int hfs_ext_read_extent(180,4737 -static void hfs_dump_extent(195,5106 -static int hfs_add_extent(206,5352 -int hfs_free_extents(234,5975 -int hfs_free_fork(273,6771 -int hfs_get_block(320,7849 -int hfs_extend_file(372,9060 -void hfs_file_truncate(455,11475 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/inode.c,1070 -#define HFS_VALID_MODE_BITS 23,595 -static int hfs_writepage(25,657 -static int hfs_readpage(30,794 -static int hfs_prepare_write(35,912 -static sector_t hfs_bmap(41,1117 -int hfs_releasepage(46,1253 -static int hfs_get_blocks(106,2651 -static ssize_t hfs_direct_IO(117,2932 -static int hfs_writepages(127,3277 -struct address_space_operations hfs_btree_aops 133,3430 -struct address_space_operations hfs_aops 143,3701 -struct inode *hfs_new_inode(157,4017 -void hfs_delete_inode(206,5611 -void hfs_inode_read_fork(232,6290 -struct hfs_iget_data hfs_iget_data254,7078 -int hfs_test_inode(259,7150 -int hfs_read_inode(279,7511 -struct inode *hfs_iget(350,9716 -void hfs_inode_write_fork(372,10225 -int hfs_write_inode(384,10581 -static struct dentry *hfs_file_lookup(466,12629 -void hfs_clear_inode(507,13557 -static int hfs_permission(515,13750 -static int hfs_file_open(523,13936 -static int hfs_file_release(533,14166 -int hfs_inode_setattr(570,15405 -struct file_operations hfs_file_operations 608,16488 -struct inode_operations hfs_file_inode_operations 619,16775 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/string.c,124 -static unsigned char caseorder[30,910 -int hfs_hash_dentry(54,2385 -int hfs_strcmp(76,2952 -int hfs_compare_dentry(95,3370 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/bfind.c,164 -int hfs_find_init(14,223 -void hfs_find_exit(30,619 -int __hfs_brec_find(40,933 -int hfs_brec_find(84,1975 -int hfs_brec_read(138,3029 -int hfs_brec_goto(151,3291 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/bitmap.c,109 -static u32 hfs_find_set_zero_bits(29,780 -u32 hfs_vbm_search_free(139,3382 -int hfs_clear_vbm_bits(193,4903 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/sysdep.c,96 -static int hfs_revalidate_dentry(15,362 -struct dentry_operations hfs_dentry_operations 34,796 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/hfs.h,2885 -#define _HFS_H10,230 -#define HFS_DD_BLK 13,278 -#define HFS_PMAP_BLK 14,330 -#define HFS_MDB_BLK 15,389 -#define HFS_DRVR_DESC_MAGIC 18,492 -#define HFS_OLD_PMAP_MAGIC 19,561 -#define HFS_NEW_PMAP_MAGIC 20,630 -#define HFS_SUPER_MAGIC 21,699 -#define HFS_MFS_SUPER_MAGIC 22,765 -#define HFS_SECTOR_SIZE 25,865 -#define HFS_SECTOR_SIZE_BITS 26,925 -#define HFS_NAMELEN 27,990 -#define HFS_MAX_VALENCE 28,1058 -#define HFS_SB_ATTRIB_HLOCK 33,1187 -#define HFS_SB_ATTRIB_UNMNT 34,1224 -#define HFS_SB_ATTRIB_SPARED 35,1261 -#define HFS_SB_ATTRIB_INCNSTNT 36,1299 -#define HFS_SB_ATTRIB_SLOCK 37,1340 -#define HFS_POR_CNID 40,1414 -#define HFS_ROOT_CNID 41,1463 -#define HFS_EXT_CNID 42,1509 -#define HFS_CAT_CNID 43,1554 -#define HFS_BAD_CNID 44,1599 -#define HFS_ALLOC_CNID 45,1645 -#define HFS_START_CNID 46,1700 -#define HFS_ATTR_CNID 47,1752 -#define HFS_EXCH_CNID 48,1806 -#define HFS_FIRSTUSER_CNID 49,1860 -#define HFS_CDR_DIR 52,1928 -#define HFS_CDR_FIL 53,1984 -#define HFS_CDR_THD 54,2026 -#define HFS_CDR_FTH 55,2089 -#define HFS_FK_DATA 58,2199 -#define HFS_FK_RSRC 59,2224 -#define HFS_FIL_LOCK 62,2284 -#define HFS_FIL_THD 63,2324 -#define HFS_FIL_DOPEN 64,2368 -#define HFS_FIL_ROPEN 65,2419 -#define HFS_FIL_DIR 66,2474 -#define HFS_FIL_NOCOPY 67,2535 -#define HFS_FIL_USED 68,2591 -#define HFS_DIR_LOCK 71,2686 -#define HFS_DIR_THD 72,2733 -#define HFS_DIR_INEXPFOLDER 73,2790 -#define HFS_DIR_MOUNTED 74,2847 -#define HFS_DIR_DIR 75,2895 -#define HFS_DIR_EXPFOLDER 76,2958 -#define HFS_FLG_INITED 79,3040 -#define HFS_FLG_LOCKED 80,3071 -#define HFS_FLG_INVISIBLE 81,3102 -#define __packed 85,3201 -struct hfs_name hfs_name88,3293 -} __packed;91,3343 -struct hfs_point hfs_point93,3356 -} __packed;96,3397 -struct hfs_rect hfs_rect98,3410 -} __packed;103,3486 -struct hfs_finfo hfs_finfo105,3499 -} __packed;111,3616 -struct hfs_fxinfo hfs_fxinfo113,3629 -} __packed;118,3722 -struct hfs_dinfo hfs_dinfo120,3735 -} __packed;125,3842 -struct hfs_dxinfo hfs_dxinfo127,3855 -} __packed;133,3980 -union hfs_finder_info hfs_finder_info135,3993 -} __packed;144,4162 -#define HFS_BKEY(HFS_BKEY147,4217 -struct hfs_cat_key hfs_cat_key150,4330 -} __packed;155,4528 -struct hfs_ext_key hfs_ext_key158,4583 -} __packed;163,4779 -typedef union hfs_btree_key hfs_btree_key165,4792 -} hfs_btree_key;hfs_btree_key169,4920 -typedef union hfs_btree_key btree_key;btree_key171,4938 -struct hfs_extent hfs_extent173,4978 -typedef struct hfs_extent hfs_extent_rec[hfs_extent_rec177,5031 -struct hfs_cat_file hfs_cat_file180,5113 -} __packed;204,6115 -struct hfs_cat_dir hfs_cat_dir207,6169 -} __packed;220,6669 -struct hfs_cat_thread hfs_cat_thread223,6720 -} __packed;228,6925 -typedef union hfs_cat_rec hfs_cat_rec231,6967 -} hfs_cat_rec;hfs_cat_rec236,7114 -struct hfs_mdb hfs_mdb238,7130 -} __packed;277,9027 -struct hfs_readdir_data hfs_readdir_data281,9094 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/hfs_fs.h,1174 -#define _LINUX_HFS_FS_H10,242 -#define DBG_BNODE_REFS 23,468 -#define DBG_BNODE_MOD 24,502 -#define DBG_CAT_MOD 25,535 -#define DBG_INODE 26,566 -#define DBG_SUPER 27,595 -#define DBG_EXTENT 28,624 -#define DBG_BITMAP 29,654 -#define DBG_MASK 34,890 -#define dprint(dprint36,912 -#define hfs_warn(hfs_warn39,992 -#define hfs_error(hfs_error40,1064 -struct hfs_inode_info hfs_inode_info47,1220 -#define HFS_FLG_RSRC 73,1731 -#define HFS_FLG_EXT_DIRTY 74,1760 -#define HFS_FLG_EXT_NEW 75,1793 -#define HFS_IS_RSRC(HFS_IS_RSRC77,1826 -struct hfs_sb_info hfs_sb_info84,1980 -#define HFS_FLG_BITMAP_DIRTY 154,4041 -#define HFS_FLG_MDB_DIRTY 155,4072 -#define HFS_FLG_ALT_MDB_DIRTY 156,4100 -#define __hfs_u_to_mtime(__hfs_u_to_mtime239,7355 -#define __hfs_m_to_utime(__hfs_m_to_utime240,7445 -#define HFS_I(HFS_I242,7539 -#define HFS_SB(HFS_SB243,7614 -#define hfs_m_to_utime(hfs_m_to_utime245,7674 -#define hfs_u_to_mtime(hfs_u_to_mtime246,7757 -#define hfs_mtime(hfs_mtime247,7818 -static inline const char *hfs_mdb_name(249,7872 -static inline void hfs_bitmap_dirty(254,7958 -static inline void hfs_buffer_sync(260,8092 -#define sb_bread512(sb_bread512271,8290 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/brec.c,232 -u16 hfs_brec_lenoff(14,273 -u16 hfs_brec_keylen(26,591 -int hfs_brec_insert(51,1276 -int hfs_brec_remove(161,4164 -struct hfs_bnode *hfs_bnode_split(214,5492 -int hfs_brec_update_parent(323,8693 -int hfs_btree_inc_height(421,11246 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/btree.h,811 -typedef int (*btree_keycmp)btree_keycmp11,167 -#define NODE_HASH_SIZE 13,235 -struct hfs_btree hfs_btree16,297 -struct hfs_bnode hfs_bnode45,838 -#define HFS_BNODE_ERROR 65,1120 -#define HFS_BNODE_NEW 66,1147 -#define HFS_BNODE_DELETED 67,1172 -struct hfs_find_data hfs_find_data69,1201 -struct hfs_bnode_desc hfs_bnode_desc127,3651 -} __packed;134,3974 -#define HFS_NODE_INDEX 136,3987 -#define HFS_NODE_HEADER 137,4046 -#define HFS_NODE_MAP 138,4111 -#define HFS_NODE_LEAF 139,4182 -struct hfs_btree_header_rec hfs_btree_header_rec141,4243 -} __packed;157,5012 -#define HFS_NODE_INDEX 159,5025 -#define HFS_NODE_HEADER 160,5084 -#define HFS_NODE_MAP 161,5149 -#define HFS_NODE_LEAF 162,5221 -#define BTREE_ATTR_BADCLOSE 164,5283 -#define HFS_TREE_BIGKEYS 166,5386 -#define HFS_TREE_VARIDXKEYS 168,5487 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/part_tbl.c,182 -struct new_pmap new_pmap21,595 -} __packed;34,1092 -struct old_pmap old_pmap43,1305 - struct old_pmap_entry old_pmap_entry45,1361 -} __packed;50,1455 -int hfs_part_find(58,1591 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/bnode.c,748 -#define REF_PAGES 16,259 -void hfs_bnode_read(18,280 -u16 hfs_bnode_read_u16(30,484 -u8 hfs_bnode_read_u8(38,646 -void hfs_bnode_read_key(46,789 -void hfs_bnode_write(61,1133 -void hfs_bnode_write_u16(73,1359 -void hfs_bnode_write_u8(80,1521 -void hfs_bnode_clear(86,1653 -void hfs_bnode_copy(98,1866 -void hfs_bnode_move(119,2394 -void hfs_bnode_dump(136,2759 -void hfs_bnode_unlink(172,3877 -static inline int hfs_bnode_hash(212,4843 -struct hfs_bnode *hfs_bnode_findhash(219,4970 -static struct hfs_bnode *__hfs_bnode_create(237,5348 -void hfs_bnode_unhash(300,7006 -struct hfs_bnode *hfs_bnode_find(316,7421 -void hfs_bnode_free(395,9461 -struct hfs_bnode *hfs_bnode_create(405,9651 -void hfs_bnode_get(436,10368 -void hfs_bnode_put(453,10739 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/super.c,665 -const char hfs_version[24,638 -static kmem_cache_t *hfs_inode_cachep;26,672 -static void hfs_write_super(49,1344 -static void hfs_put_super(65,1716 -static int hfs_statfs(81,2091 -int hfs_remount(95,2519 -static struct inode *hfs_alloc_inode(116,3263 -static void hfs_destroy_inode(124,3445 -static struct super_operations hfs_super_operations 129,3551 -static int parse_options(146,4046 -static int hfs_fill_super(249,6827 -static struct super_block *hfs_get_sb(317,8290 -static struct file_system_type hfs_fs_type 323,8491 -static void hfs_init_once(331,8667 -static int __init init_hfs_fs(339,8898 -static void __exit exit_hfs_fs(354,9234 -module_init(361,9429 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/btree.c,228 -struct hfs_btree *hfs_btree_open(16,290 -void hfs_btree_close(102,2743 -void hfs_btree_write(124,3216 -static struct hfs_bnode *hfs_bmap_new_bmap(152,4000 -struct hfs_bnode *hfs_bmap_alloc(187,4894 -void hfs_bmap_free(270,6765 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfs/dir.c,330 -struct dentry *hfs_lookup(20,472 -int hfs_readdir(54,1182 -static int hfs_dir_release(162,3836 -int hfs_create(180,4315 -int hfs_mkdir(210,5038 -int hfs_unlink(239,5728 -int hfs_rmdir(265,6323 -int hfs_rename(294,7114 -struct file_operations hfs_dir_operations 312,7533 -struct inode_operations hfs_dir_inode_operations 319,7698 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/xdr4.c,1706 -#define NLMDBG_FACILITY 22,502 -s64_to_loff_t(25,560 -loff_t_to_s64(32,636 -nlm4_decode_cookie(48,891 -nlm4_encode_cookie(75,1349 -nlm4_decode_fh(84,1504 -nlm4_encode_fh(99,1846 -nlm4_decode_oh(111,2105 -nlm4_encode_oh(117,2203 -nlm4_decode_lock(123,2301 -nlm4_encode_lock(156,3068 -nlm4_encode_testres(188,3747 -nlm4svc_decode_testargs(229,4758 -nlm4svc_encode_testres(246,5092 -nlm4svc_decode_lockargs(254,5269 -nlm4svc_decode_cancargs(274,5747 -nlm4svc_decode_unlockargs(290,6107 -nlm4svc_decode_shareargs(300,6368 -nlm4svc_encode_shareres(320,6918 -nlm4svc_encode_res(330,7169 -nlm4svc_decode_notify(339,7372 -nlm4svc_decode_reboot(351,7667 -nlm4svc_decode_res(365,8024 -nlm4svc_decode_void(374,8234 -nlm4svc_encode_void(380,8345 -nlm4clt_decode_void(390,8538 -nlm4clt_encode_testargs(397,8633 -nlm4clt_decode_testres(411,8998 -nlm4clt_encode_lockargs(445,9802 -nlm4clt_encode_cancargs(462,10279 -nlm4clt_encode_unlockargs(477,10685 -nlm4clt_encode_res(490,10993 -nlm4clt_encode_testres(500,11229 -nlm4clt_decode_res(509,11439 -#define NLM4_void_sz 520,11658 -#define NLM4_cookie_sz 521,11682 -#define NLM4_caller_sz 522,11738 -#define NLM4_netobj_sz 523,11791 -#define NLM4_fhandle_sz 525,11903 -#define NLM4_lock_sz 526,11955 -#define NLM4_holder_sz 527,12025 -#define NLM4_testargs_sz 529,12067 -#define NLM4_lockargs_sz 530,12122 -#define NLM4_cancargs_sz 531,12177 -#define NLM4_unlockargs_sz 532,12232 -#define NLM4_testres_sz 534,12288 -#define NLM4_res_sz 535,12345 -#define NLM4_norep_sz 536,12383 -# define MAX(MAX539,12421 -#define nlm4clt_decode_norep 545,12532 -#define PROC(PROC547,12567 -static struct rpc_procinfo nlm4_procedures[555,12866 -struct rpc_version nlm_version4 579,13643 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/clntproc.c,1208 -#define NLMDBG_FACILITY 21,460 -#define NLMCLNT_GRACE_WAIT 22,499 -static u32 nlm_cookie 35,1008 -static inline void nlmclnt_next_cookie(37,1041 -static struct nlm_lockowner *nlm_get_lockowner(45,1193 -static void nlm_put_lockowner(51,1329 -static inline int nlm_pidbusy(61,1603 -static inline uint32_t __nlm_alloc_pid(71,1831 -static struct nlm_lockowner *__nlm_find_lockowner(80,1999 -static struct nlm_lockowner *nlm_find_lockowner(91,2292 -static void nlmclnt_setlockargs(121,3068 -static void nlmclnt_release_lockargs(136,3579 -nlmclnt_setgrantargs(149,3884 -nlmclnt_freegrantargs(173,4531 -nlmclnt_proc(190,4939 -nlmclnt_alloc_call(286,7573 -static int nlm_wait_on_grace(305,8025 -nlmclnt_call(324,8356 -nlmsvc_async_call(405,10324 -nlmclnt_async_call(430,10953 -nlmclnt_test(466,11892 -static void nlmclnt_locks_copy_lock(491,12404 -static void nlmclnt_locks_release_private(497,12606 -static struct file_lock_operations nlmclnt_lock_ops 503,12738 -static void nlmclnt_locks_init_private(508,12894 -nlmclnt_lock(538,13954 -nlmclnt_reclaim(579,14973 -nlmclnt_unlock(638,16274 -nlmclnt_unlock_callback(678,17297 -nlmclnt_cancel(713,18145 -nlmclnt_cancel_callback(751,19023 -nlm_stat_to_errno(796,19995 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/xdr.c,1914 -#define NLMDBG_FACILITY 22,459 -s32_to_loff_t(26,518 -loff_t_to_s32(32,595 -static inline u32 *nlm_decode_cookie(47,837 -nlm_encode_cookie(74,1320 -nlm_decode_fh(83,1481 -nlm_encode_fh(100,1854 -nlm_decode_oh(111,2060 -nlm_encode_oh(117,2164 -nlm_decode_lock(123,2268 -nlm_encode_lock(157,3015 -nlm_encode_testres(188,3666 -nlmsvc_decode_testargs(224,4345 -nlmsvc_encode_testres(241,4676 -nlmsvc_decode_lockargs(249,4851 -nlmsvc_decode_cancargs(269,5326 -nlmsvc_decode_unlockargs(285,5683 -nlmsvc_decode_shareargs(295,5941 -nlmsvc_encode_shareres(315,6487 -nlmsvc_encode_res(325,6736 -nlmsvc_decode_notify(334,6937 -nlmsvc_decode_reboot(346,7231 -nlmsvc_decode_res(359,7586 -nlmsvc_decode_void(368,7794 -nlmsvc_encode_void(374,7904 -nlmclt_decode_void(384,8096 -nlmclt_encode_testargs(391,8190 -nlmclt_decode_testres(405,8552 -nlmclt_encode_lockargs(439,9329 -nlmclt_encode_cancargs(456,9803 -nlmclt_encode_unlockargs(471,10206 -nlmclt_encode_res(484,10511 -nlmclt_encode_testres(494,10745 -nlmclt_decode_res(503,10953 -#define NLM_void_sz 514,11170 -#define NLM_cookie_sz 515,11193 -#define NLM_caller_sz 516,11248 -#define NLM_netobj_sz 517,11318 -#define NLM_fhandle_sz 519,11427 -#define NLM_lock_sz 520,11478 -#define NLM_holder_sz 521,11544 -#define NLM_testargs_sz 523,11584 -#define NLM_lockargs_sz 524,11637 -#define NLM_cancargs_sz 525,11690 -#define NLM_unlockargs_sz 526,11743 -#define NLM_testres_sz 528,11796 -#define NLM_res_sz 529,11850 -#define NLM_norep_sz 530,11886 -# define MAX(MAX533,11923 -#define nlmclt_decode_norep 539,12035 -#define PROC(PROC541,12069 -static struct rpc_procinfo nlm_procedures[549,12360 -static struct rpc_version nlm_version1 573,13136 -static struct rpc_version nlm_version3 579,13244 -static struct rpc_version * nlm_versions[589,13424 -static struct rpc_stat nlm_stats;597,13572 -struct rpc_program nlm_program 599,13608 -const char *nlmdbg_cookie2a(608,13823 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/svcsubs.c,443 -#define NLMDBG_FACILITY 22,486 -#define FILE_HASH_BITS 28,561 -#define FILE_NRHASH 29,587 -static struct nlm_file * nlm_files[30,628 -static inline unsigned int file_hash(33,715 -nlm_lookup_file(52,1196 -nlm_delete_file(128,2955 -nlm_traverse_locks(154,3517 -nlm_inspect_file(198,4464 -nlm_traverse_files(216,4935 -nlm_release_file(257,5992 -nlmsvc_mark_resources(278,6403 -nlmsvc_free_host_resources(289,6584 -nlmsvc_invalidate_all(303,6878 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/svc4proc.c,1364 -#define NLMDBG_FACILITY 22,499 -nlm4svc_retrieve_args(31,724 -nlm4svc_proc_null(75,1799 -nlm4svc_proc_test(85,1988 -nlm4svc_proc_lock(114,2750 -nlm4svc_proc_cancel(160,4060 -nlm4svc_proc_unlock(193,4839 -nlm4svc_proc_granted(227,5679 -nlm4svc_proc_test_msg(244,6185 -nlm4svc_proc_lock_msg(259,6535 -nlm4svc_proc_cancel_msg(274,6885 -nlm4svc_proc_unlock_msg(289,7245 -nlm4svc_proc_granted_msg(304,7644 -nlm4svc_proc_share(322,8108 -nlm4svc_proc_unshare(355,8919 -nlm4svc_proc_nm_lock(388,9712 -nlm4svc_proc_free_all(401,10044 -nlm4svc_proc_sm_notify(419,10448 -nlm4svc_proc_granted_res(463,11634 -nlm4svc_callback(481,12065 -nlm4svc_callback_exit(511,12679 -#define nlm4svc_encode_norep 527,12999 -#define nlm4svc_decode_norep 528,13048 -#define nlm4svc_decode_testres 529,13097 -#define nlm4svc_decode_lockres 530,13148 -#define nlm4svc_decode_unlockres 531,13199 -#define nlm4svc_decode_cancelres 532,13252 -#define nlm4svc_decode_grantedres 533,13305 -#define nlm4svc_proc_none 535,13360 -#define nlm4svc_proc_test_res 536,13404 -#define nlm4svc_proc_lock_res 537,13452 -#define nlm4svc_proc_cancel_res 538,13500 -#define nlm4svc_proc_unlock_res 539,13550 -struct nlm_void nlm_void541,13601 -#define PROC(PROC543,13636 -#define Ck 552,14016 -#define No 553,14074 -#define St 554,14112 -#define Rg 555,14142 -struct svc_procedure nlmsvc_procedures4[556,14189 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/svcshare.c,109 -nlm_cmp_owner(20,368 -nlmsvc_share_file(27,534 -nlmsvc_unshare_file(68,1512 -nlmsvc_traverse_shares(92,2116 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/clntlock.c,279 -#define NLMDBG_FACILITY 18,375 -struct nlm_wait nlm_wait33,646 -static struct nlm_wait * nlm_blocked;42,942 -nlmclnt_block(48,1011 -nlmclnt_grant(107,2458 -void nlmclnt_mark_reclaim(144,3299 -void nlmclnt_prepare_reclaim(169,3956 -nlmclnt_recovery(185,4344 -reclaimer(201,4724 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/svcproc.c,1437 -#define NLMDBG_FACILITY 23,524 -cast_to_nlm(30,722 -#define cast_status(cast_status51,1137 -#define cast_status(cast_status53,1209 -nlmsvc_retrieve_args(60,1313 -nlmsvc_proc_null(102,2353 -nlmsvc_proc_test(112,2541 -nlmsvc_proc_lock(142,3340 -nlmsvc_proc_cancel(185,4532 -nlmsvc_proc_unlock(218,5322 -nlmsvc_proc_granted(252,6173 -nlmsvc_proc_test_msg(269,6678 -nlmsvc_proc_lock_msg(284,7025 -nlmsvc_proc_cancel_msg(299,7372 -nlmsvc_proc_unlock_msg(314,7729 -nlmsvc_proc_granted_msg(329,8125 -nlmsvc_proc_share(347,8586 -nlmsvc_proc_unshare(380,9408 -nlmsvc_proc_nm_lock(413,10215 -nlmsvc_proc_free_all(426,10545 -nlmsvc_proc_sm_notify(444,10947 -nlmsvc_proc_granted_res(486,12130 -nlmsvc_callback(502,12516 -nlmsvc_callback_exit(532,13128 -#define nlmsvc_encode_norep 548,13447 -#define nlmsvc_decode_norep 549,13494 -#define nlmsvc_decode_testres 550,13541 -#define nlmsvc_decode_lockres 551,13590 -#define nlmsvc_decode_unlockres 552,13639 -#define nlmsvc_decode_cancelres 553,13690 -#define nlmsvc_decode_grantedres 554,13741 -#define nlmsvc_proc_none 556,13794 -#define nlmsvc_proc_test_res 557,13836 -#define nlmsvc_proc_lock_res 558,13882 -#define nlmsvc_proc_cancel_res 559,13928 -#define nlmsvc_proc_unlock_res 560,13976 -struct nlm_void nlm_void562,14025 -#define PROC(PROC564,14060 -#define Ck 574,14438 -#define St 575,14496 -#define No 576,14525 -#define Rg 577,14563 -struct svc_procedure nlmsvc_procedures[579,14608 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/host.c,669 -#define NLMDBG_FACILITY 21,479 -#define NLM_HOST_MAX 22,521 -#define NLM_HOST_NRHASH 23,546 -#define NLM_ADDRHASH(NLM_ADDRHASH24,574 -#define NLM_HOST_REBIND 25,637 -#define NLM_HOST_EXPIRE 26,672 -#define NLM_HOST_COLLECT 27,745 -#define NLM_HOST_ADDR(NLM_HOST_ADDR28,818 -static struct nlm_host * nlm_hosts[30,879 -static unsigned long next_gc;31,932 -static int nrhosts;32,963 -nlmclnt_lookup_host(42,1156 -nlmsvc_lookup_host(51,1376 -nlm_lookup_host(61,1586 -nlm_find_client(137,3500 -nlm_bind_host(164,4037 -nlm_rebind_host(222,5604 -struct nlm_host * nlm_get_host(234,5889 -void nlm_release_host(247,6141 -nlm_shutdown_hosts(261,6450 -nlm_gc_hosts(300,7488 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/svclock.c,766 -#define NLMDBG_FACILITY 34,1278 -#define nlm_deadlock 37,1342 -#define nlm_deadlock 39,1383 -static struct nlm_block * nlm_blocked;49,1661 -nlmsvc_insert_block(55,1766 -nlmsvc_remove_block(82,2367 -nlmsvc_lookup_block(104,2750 -static inline int nlm_cookie_match(132,3576 -nlmsvc_find_block(145,3834 -nlmsvc_create_block(171,4679 -nlmsvc_delete_block(230,6265 -nlmsvc_traverse_blocks(275,7301 -nlmsvc_lock(298,7836 -nlmsvc_testlock(383,10024 -nlmsvc_unlock(416,11015 -nlmsvc_cancel_blocked(444,11768 -nlmsvc_notify_blocked(470,12566 -static int nlmsvc_same_owner(486,12994 -struct lock_manager_operations nlmsvc_lock_operations 491,13144 -nlmsvc_grant_blocked(508,13752 -nlmsvc_grant_callback(579,15901 -nlmsvc_grant_reply(622,17208 -nlmsvc_retry_blocked(663,18377 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/lockd_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/svc.c,1572 -#define NLMDBG_FACILITY 37,876 -#define LOCKD_BUFSIZE 38,912 -#define ALLOWED_SIGS 39,959 -struct nlmsvc_binding * nlmsvc_ops;42,1043 -static unsigned int nlmsvc_users;44,1115 -static pid_t nlmsvc_pid;45,1150 -int nlmsvc_grace_period;46,1177 -unsigned long nlmsvc_timeout;47,1205 -static unsigned long nlm_grace_period;56,1481 -static unsigned long nlm_timeout 57,1521 -static int nlm_udpport,58,1575 -static int nlm_udpport, nlm_tcpport;58,1575 -static const unsigned long nlm_grace_period_min 63,1668 -static const unsigned long nlm_grace_period_max 64,1721 -static const unsigned long nlm_timeout_min 65,1776 -static const unsigned long nlm_timeout_max 66,1824 -static const int nlm_port_min 67,1873 -static struct ctl_table_header * nlm_sysctl_table;69,1932 -static unsigned long set_grace_period(71,1984 -static inline void clear_grace_period(85,2333 -nlmsvc_dispatch(90,2411 -lockd(134,3475 -lockd_up(247,6101 -lockd_down(318,7608 -#define CTL_UNNUMBERED 375,8850 -static ctl_table nlm_sysctls[377,8878 -static ctl_table nlm_sysctl_dir[421,10000 -static ctl_table nlm_sysctl_root[431,10161 -#define param_set_min_max(param_set_min_max445,10362 -param_set_min_max(456,10728 -static void __exit exit_nlm(485,11705 -static struct svc_version nlmsvc_version1 498,11939 -static struct svc_version nlmsvc_version3 505,12120 -static struct svc_version nlmsvc_version4 513,12324 -static struct svc_version * nlmsvc_version[521,12513 -static struct svc_stat nlmsvc_stats;529,12671 -#define NLM_NRVERS 531,12710 -struct svc_program nlmsvc_program 532,12780 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/lockd/mon.c,735 -#define NLMDBG_FACILITY 18,326 -u32 nsm_local_state;27,477 -nsm_mon_unmon(33,566 -nsm_monitor(66,1229 -nsm_unmonitor(86,1596 -nsm_create(105,1980 -xdr_encode_common(140,2650 -xdr_encode_mon(162,3241 -xdr_encode_unmon(176,3542 -xdr_decode_stat_res(186,3773 -xdr_decode_stat(196,4020 -#define SM_my_name_sz 202,4134 -#define SM_my_id_sz 203,4186 -#define SM_mon_id_sz 204,4226 -#define SM_mon_sz 205,4279 -#define SM_monres_sz 206,4314 -#define SM_unmonres_sz 207,4337 -# define MAX(MAX210,4375 -static struct rpc_procinfo nsm_procedures[213,4427 -static struct rpc_version nsm_version1 228,4842 -static struct rpc_version * nsm_version[234,4996 -static struct rpc_stat nsm_stats;238,5068 -struct rpc_program nsm_program 240,5104 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/namei.c,2399 -#define ACC_MODE(ACC_MODE33,661 -static inline int do_getname(113,4451 -char * getname(134,4975 -int vfs_permission(162,5609 -int permission(211,6714 -int get_write_access(247,7991 -int deny_write_access(260,8243 -void path_release(275,8543 -void path_release_on_umount(285,8720 -static struct dentry * cached_lookup(295,8883 -static inline int exec_permission_lite(324,9758 -static struct dentry * real_lookup(362,10678 -walk_init_root(415,12105 -static inline int __vfs_follow_link(432,12591 -static inline int do_follow_link(474,13581 -int follow_up(507,14363 -static int follow_mount(530,14859 -static inline int __follow_down(549,15260 -int follow_down(564,15540 -static inline void follow_dotdot(569,15644 -struct path path606,16533 -static int do_lookup(616,16782 -int fastcall link_path_walk(661,17682 -int fastcall path_walk(863,22212 -static int __emul_lookup_dentry(871,22400 -void set_fs_altroot(906,23315 -int fastcall path_lookup(934,23917 -static struct dentry * __lookup_hash(974,25073 -struct dentry * lookup_hash(1013,25847 -struct dentry * lookup_one_len(1019,25977 -int fastcall __user_walk(1055,26777 -static inline int check_sticky(1071,27105 -static inline int may_delete(1101,28265 -static inline int may_create(1140,29385 -static inline int lookup_flags(1156,29765 -struct dentry *lock_rename(1177,30166 -void unlock_rename(1209,30755 -int vfs_create(1218,30934 -int may_open(1242,31493 -int open_namei(1335,33739 -struct dentry *lookup_create(1508,37861 -int vfs_mknod(1530,38343 -asmlinkage long sys_mknod(1556,38910 -int vfs_mkdir(1605,39927 -asmlinkage long sys_mkdir(1629,40417 -void dentry_unhash(1675,41471 -int vfs_rmdir(1692,41811 -asmlinkage long sys_rmdir(1726,42427 -int vfs_unlink(1767,43192 -asmlinkage long sys_unlink(1803,44087 -int vfs_symlink(1850,45122 -asmlinkage long sys_symlink(1873,45623 -int vfs_link(1906,46298 -asmlinkage long sys_link(1955,47522 -int vfs_rename_dir(2024,50213 -int vfs_rename_other(2069,51279 -int vfs_rename(2099,52106 -static inline int do_rename(2140,53060 -asmlinkage long sys_rename(2216,54762 -int vfs_readlink(2235,55104 -int generic_readlink(2257,55616 -int vfs_follow_link(2271,55982 -static char *page_getlink(2277,56127 -int page_readlink(2299,56612 -int page_follow_link_light(2311,56880 -void page_put_link(2318,57035 -int page_symlink(2331,57311 -struct inode_operations page_symlink_inode_operations 2372,58429 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/dnotify.c,266 -int dir_notify_enable 24,763 -static kmem_cache_t *dn_cache;26,791 -static void redo_inode_mask(28,823 -void dnotify_flush(39,1083 -int fcntl_dirnotify(62,1594 -void __inode_dir_notify(118,2869 -void dnotify_parent(156,3763 -static int __init dnotify_init(176,4188 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/sysctl.c,804 -static struct ctl_table_header *fs_table_header;34,864 -#define FS_CODA 36,914 -#define CODA_TIMEOUT 38,970 -#define CODA_HARD 39,1045 -#define CODA_VFS 40,1111 -#define CODA_CACHE_INV 41,1159 -#define CODA_FAKE_STATFS 42,1228 -static ctl_table coda_table[44,1305 -static ctl_table fs_table[53,1774 -struct coda_vfs_stats coda_vfs_stat;58,1877 -struct coda_cache_inv_stats coda_cache_inv_stat;59,1915 -void reset_coda_vfs_stats(61,1965 -void reset_coda_cache_inv_stats(66,2059 -int do_reset_coda_vfs_stats(71,2171 -int do_reset_coda_cache_inv_stats(85,2415 -int coda_vfs_stats_get_info(100,2681 -int coda_cache_inv_stats_get_info(161,3822 -struct proc_dir_entry* proc_fs_coda;210,4743 -#define coda_proc_create(coda_proc_create214,4789 -void coda_sysctl_init(217,4889 -void coda_sysctl_clean(237,5358 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/inode.c,721 -static kmem_cache_t * coda_inode_cachep;39,960 -static struct inode *coda_alloc_inode(41,1002 -static void coda_destroy_inode(54,1335 -static void init_once(59,1442 -int coda_init_inodecache(68,1711 -void coda_destroy_inodecache(79,1954 -static int coda_remount(85,2111 -struct super_operations coda_super_operations 92,2251 -static int get_device_index(102,2495 -static int coda_fill_super(143,3211 -static void coda_put_super(222,5063 -static void coda_clear_inode(233,5249 -int coda_getattr(238,5336 -int coda_setattr(246,5532 -struct inode_operations coda_file_inode_operations 273,6103 -static int coda_statfs(279,6246 -static struct super_block *coda_get_sb(308,6779 -struct file_system_type coda_fs_type 314,6964 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/pioctl.c,188 -struct inode_operations coda_ioctl_inode_operations 33,924 -struct file_operations coda_ioctl_operations 39,1048 -static int coda_ioctl_permission(45,1181 -static int coda_pioctl(51,1295 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/upcall.c,885 -#define upc_alloc(upc_alloc41,1011 -#define upc_free(upc_free42,1075 -static void *alloc_upcall(47,1221 -#define UPARG(UPARG67,1677 -#define INSIZE(INSIZE75,1892 -#define OUTSIZE(OUTSIZE76,1947 -#define SIZE(SIZE77,2004 -int venus_rootfid(81,2090 -int venus_getattr(102,2531 -int venus_setattr(121,2977 -int venus_lookup(140,3419 -int venus_store(169,4249 -int venus_release(198,4894 -int venus_close(216,5289 -int venus_open(245,5915 -int venus_mkdir(266,6390 -int venus_rename(296,7243 -int venus_create(333,8479 -int venus_rmdir(366,9529 -int venus_remove(389,10166 -int venus_readlink(411,10799 -int venus_link(444,11612 -int venus_symlink(470,12364 -int venus_fsync(505,13467 -int venus_access(522,13859 -int venus_pioctl(541,14254 -int venus_statfs(604,16050 -static inline void coda_waitfor_upcall(634,16830 -static int coda_upcall(685,18309 -int coda_downcall(829,23158 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/cnode.c,412 -inline int coda_fideq(14,272 -static struct inode_operations coda_symlink_inode_operations 19,391 -static void coda_fill_inode(27,599 -static int coda_test_inode(45,1300 -static int coda_set_inode(51,1460 -static int coda_fail_inode(58,1610 -struct inode * coda_iget(63,1687 -int coda_cnode_make(94,2481 -void coda_replace_fid(115,2965 -struct inode *coda_fid_to_inode(135,3440 -int coda_cnode_makectl(157,3991 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/cache.c,253 -static atomic_t permission_epoch 26,661 -void coda_cache_enter(29,754 -void coda_cache_clear_inode(42,1134 -void coda_cache_clear_all(49,1292 -int coda_cache_check(61,1534 -static void coda_flag_children(88,2304 -void coda_flag_inode_children(106,2710 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/psdev.c,609 -#define upc_free(upc_free52,1511 -int coda_hard;60,1626 -unsigned long coda_timeout 61,1695 -struct venus_comm coda_comms[64,1771 -static struct class_simple *coda_psdev_class;65,1815 -static unsigned int coda_psdev_poll(71,1891 -static int coda_psdev_ioctl(83,2225 -static ssize_t coda_psdev_write(103,2586 -static ssize_t coda_psdev_read(215,5443 -static int coda_psdev_open(277,6903 -static int coda_psdev_release(310,7462 -static struct file_operations coda_psdev_fops 351,8418 -static int init_coda_psdev(361,8667 -static int __init init_coda(403,9792 -static void __exit exit_coda(445,10663 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/coda_linux.c,220 -int coda_fake_statfs;25,650 -char * coda_f2s(28,691 -int coda_iscontrol(40,1014 -int coda_isroot(47,1210 -unsigned short coda_flags_to_cflags(52,1294 -void coda_vattr_to_iattr(79,1796 -void coda_iattr_to_vattr(134,3452 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/file.c,282 -int use_coda_close;29,827 -coda_file_read(32,863 -coda_file_sendfile(48,1261 -coda_file_write(65,1702 -coda_file_mmap(93,2459 -int coda_open(126,3434 -int coda_flush(165,4276 -int coda_release(208,5143 -int coda_fsync(254,6253 -struct file_operations coda_file_operations 289,7150 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/symlink.c,98 -static int coda_symlink_filler(25,650 -struct address_space_operations coda_symlink_aops 53,1183 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/coda/dir.c,798 -int coda_hasmknod;56,2041 -struct dentry_operations coda_dentry_operations 58,2061 -struct inode_operations coda_dir_inode_operations 64,2191 -struct file_operations coda_dir_operations 80,2549 -static struct dentry *coda_lookup(93,2872 -int coda_permission(150,4260 -static inline void coda_dir_changed(176,4653 -static int coda_create(193,5286 -static int coda_mknod(233,6129 -static int coda_mkdir(279,7061 -static int coda_link(321,7972 -static int coda_symlink(356,8651 -int coda_unlink(395,9504 -int coda_rmdir(417,9928 -static int coda_rename(446,10435 -int coda_readdir(483,11541 -static inline unsigned int CDT2DT(525,12648 -static int coda_venus_readdir(545,13187 -static int coda_dentry_revalidate(634,15756 -static int coda_dentry_delete(676,16603 -int coda_revalidate_inode(698,17040 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsctl.c,86 -static struct file *do_open(22,372 -} map[55,1034 -asmlinkage sys_nfsservctl(89,1707 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/exportfs/expfs.c,530 -struct export_operations export_op_default;8,127 -#define CALL(CALL10,172 -#define dprintk(dprintk12,241 -find_exported_dentry(47,1939 -static struct dentry *get_parent(303,8912 -struct getdents_callback getdents_callback314,9172 -static int filldir_one(326,9531 -static int get_name(351,10211 -static struct dentry *export_iget(404,11104 -static struct dentry *get_object(448,12248 -static int export_encode_fh(470,12986 -static struct dentry *export_decode_fh(513,14148 -struct export_operations export_op_default 530,14614 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_som.c,481 -#define som_core_dump 49,1100 -#define SOM_PAGESTART(SOM_PAGESTART52,1135 -#define SOM_PAGEOFFSET(SOM_PAGEOFFSET53,1203 -#define SOM_PAGEALIGN(SOM_PAGEALIGN54,1256 -static struct linux_binfmt som_format 56,1333 -static void create_som_tables(69,1738 -static int check_som_header(107,2543 -static int map_som_binary(135,3142 -load_som_binary(190,4866 -static int load_som_library(287,7309 -static int __init init_som_binfmt(297,7554 -static void __exit exit_som_binfmt(302,7637 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jbd/recovery.c,532 -struct recovery_info recovery_info30,796 -enum passtype passtype40,935 -enum passtype {PASS_SCAN,40,935 -enum passtype {PASS_SCAN, PASS_REVOKE,40,935 -enum passtype {PASS_SCAN, PASS_REVOKE, PASS_REPLAY}40,935 -void journal_brelse_array(49,1248 -#define MAXBUF 68,1844 -static int do_readahead(69,1861 -static int jread(131,3050 -static int count_tags(181,4037 -#define wrap(wrap206,4564 -int journal_recover(224,5163 -int journal_skip_recovery(281,6961 -static int do_one_pass(310,7628 -static int scan_revoke_records(567,14202 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jbd/journal.c,3023 -static void commit_timeout(91,2880 -void __journal_internal_check(101,3153 -journal_t *current_journal;124,3966 -int kjournald(126,4011 -static void journal_start_thread(225,6740 -static void journal_kill_thread(231,6929 -int journal_write_metadata_buffer(282,8856 -int __log_space_left(414,12399 -#define MIN_LOG_RESERVED_BLOCKS 425,12653 -int __log_start_commit(438,12904 -int log_start_commit(459,13423 -int journal_force_commit_nested(479,13989 -int journal_start_commit(506,14748 -int log_wait_commit(533,15428 -int journal_next_log_block(569,16380 -int journal_bmap(592,17004 -struct journal_head *journal_get_descriptor_buffer(629,18044 -static journal_t * journal_init_common 658,18891 -journal_t * journal_init_dev(718,20806 -journal_t * journal_init_inode 750,21704 -static void journal_fail_superblock 793,22904 -static int journal_reset(807,23288 -int journal_create(842,24327 -void journal_update_superblock(913,26307 -static int journal_get_superblock(968,28062 -static int load_superblock(1028,29366 -int journal_load(1057,30052 -void journal_destroy(1108,31314 -int journal_check_used_features 1155,32588 -int journal_check_available_features 1182,33328 -int journal_set_features 1215,34182 -int journal_update_format 1245,34988 -static int journal_convert_superblock_v1(1267,35377 -int journal_flush(1302,36324 -int journal_wipe(1372,38571 -const char *journal_dev_name(1404,39179 -void __journal_abort_hard(1429,39790 -void __journal_abort_soft 1450,40355 -void journal_abort(1510,42653 -int journal_errno(1526,43103 -int journal_clear_err(1545,43477 -void journal_ack_err(1564,43839 -int journal_blocks_per_page(1572,44017 -void * __jbd_kmalloc 1585,44404 -static kmem_cache_t *journal_head_cache;1593,44586 -static atomic_t nr_journal_heads 1595,44651 -static int journal_init_journal_head_cache(1598,44710 -static void journal_destroy_journal_head_cache(1617,45137 -static struct journal_head *journal_alloc_journal_head(1627,45346 -static void journal_free_journal_head(1651,45930 -struct journal_head *journal_add_journal_head(1703,47746 -struct journal_head *journal_grab_journal_head(1746,48670 -static void __journal_remove_journal_head(1759,48918 -void journal_remove_journal_head(1809,50470 -void journal_put_journal_head(1820,50769 -int journal_enable_debug;1838,51139 -static struct proc_dir_entry *proc_jbd_debug;1844,51268 -int read_jbd_debug(1846,51315 -int write_jbd_debug(1856,51507 -#define JBD_PROC_NAME 1870,51861 -static void __init create_jbd_proc_entry(1872,51903 -static void __exit remove_jbd_proc_entry(1882,52168 -#define create_jbd_proc_entry(create_jbd_proc_entry1890,52290 -#define remove_jbd_proc_entry(remove_jbd_proc_entry1891,52338 -kmem_cache_t *jbd_handle_cache;1895,52395 -static int __init journal_init_handle_cache(1897,52428 -static void journal_destroy_handle_cache(1912,52773 -static int __init journal_init_caches(1922,52927 -static void journal_destroy_caches(1934,53147 -static int __init journal_init(1941,53299 -static void __exit journal_exit(1952,53464 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jbd/commit.c,164 -static void journal_end_buffer_io_sync(28,730 -static void release_buffer_page(52,1673 -static int inverted_lock(86,2355 -void journal_commit_transaction(102,2724 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jbd/revoke.c,851 -static kmem_cache_t *revoke_record_cache;73,2689 -static kmem_cache_t *revoke_table_cache;74,2731 -struct jbd_revoke_record_s jbd_revoke_record_s80,2955 -struct jbd_revoke_table_sjbd_revoke_table_s89,3160 -static inline int hash(109,3744 -int insert_revoke_hash(119,4021 -static struct jbd_revoke_record_s *find_revoke_record(147,4698 -int __init journal_init_revoke_caches(168,5301 -void journal_destroy_revoke_caches(187,5809 -int journal_init_revoke(197,6067 -void journal_destroy_revoke(267,8053 -int journal_revoke(327,9695 -int journal_cancel_revoke(420,12388 -void journal_switch_revoke_table(480,14252 -void journal_write_revoke_records(500,14752 -static void write_one_revoke_record(541,15866 -static void flush_descriptor(599,17644 -int journal_set_revoke(642,18755 -int journal_test_revoke(666,19487 -void journal_clear_revoke(685,19890 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jbd/transaction.c,1222 -get_transaction(47,1437 -static int start_this_handle(82,2552 -static handle_t *new_handle(238,7343 -handle_t *journal_start(265,8123 -int journal_extend(314,9431 -int journal_restart(380,11126 -void journal_lock_updates(427,12513 -void journal_unlock_updates 473,13756 -static void jbd_unexpected_dirty_buffer(494,14465 -do_get_write_access(527,15568 -int journal_get_write_access(754,22123 -int journal_get_create_access(788,23311 -int journal_get_undo_access(874,26531 -int journal_dirty_data(940,28275 -int journal_dirty_metadata(1103,33958 -journal_release_buffer(1180,36680 -int journal_forget 1203,37423 -void journal_callback_set(1306,40765 -int journal_stop(1332,41685 -int journal_force_commit(1431,44768 -__blist_add_buffer(1463,45314 -__blist_del_buffer(1487,45903 -void __journal_unfile_buffer(1509,46605 -void journal_unfile_buffer(1563,47852 -__journal_try_to_free_buffer(1578,48201 -int journal_try_to_free_buffers(1648,50624 -static int __dispose_buffer(1695,51882 -static int journal_unmap_buffer(1762,54313 -int journal_invalidatepage(1895,58363 -void __journal_file_buffer(1940,59399 -void journal_file_buffer(2011,61073 -void __journal_refile_buffer(2031,61738 -void journal_refile_buffer(2076,63185 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/jbd/checkpoint.c,529 -static inline void __buffer_unlink(32,833 -static int __try_to_free_cp_buf(53,1436 -void __log_wait_for_space(78,2092 -static void jbd_sync_bh(110,2974 -static int __cleanup_transaction(131,3556 -#define NR_BATCH 200,5063 -__flush_batch(203,5096 -static int __flush_buffer(228,5741 -int log_do_checkpoint(284,7422 -int cleanup_journal_tail(390,10462 -int __journal_clean_checkpoint_list(463,12619 -void __journal_remove_checkpoint(514,14160 -void __journal_insert_checkpoint(567,15656 -void __journal_drop_transaction(597,16469 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/acl.h,482 -#define EXT2_ACL_VERSION 9,121 -#define EXT2_ACL_MAX_ENTRIES 10,153 -} ext2_acl_entry;ext2_acl_entry16,251 -} ext2_acl_entry_short;ext2_acl_entry_short21,320 -} ext2_acl_header;ext2_acl_header25,382 -static inline size_t ext2_acl_size(27,402 -static inline int ext2_acl_count(39,693 -#define EXT2_ACL_NOT_CACHED 59,1194 -#define ext2_permission 68,1453 -#define ext2_get_acl 69,1482 -#define ext2_set_acl 70,1508 -ext2_acl_chmod 73,1553 -static inline int ext2_init_acl 78,1606 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/xattr_trusted.c,189 -#define XATTR_TRUSTED_PREFIX 15,312 -ext2_xattr_trusted_list(18,367 -ext2_xattr_trusted_get(36,841 -ext2_xattr_trusted_set(48,1134 -struct xattr_handler ext2_xattr_trusted_handler 59,1438 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/ioctl.c,23 -int ext2_ioctl 17,313 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/inode.c,1449 -static inline int ext2_inode_is_fast_symlink(46,1174 -void ext2_put_inode(62,1589 -void ext2_delete_inode 71,1750 -void ext2_discard_prealloc 89,2145 -static int ext2_alloc_block 107,2613 -} Indirect;Indirect148,3702 -static inline void add_chain(150,3715 -static inline int verify_chain(156,3833 -static int ext2_block_to_path(193,5459 -static Indirect *ext2_get_branch(261,8189 -static unsigned long ext2_find_near(321,9879 -static inline int ext2_find_goal(362,11116 -static int ext2_alloc_branch(415,13098 -static inline int ext2_splice_branch(484,15189 -static int ext2_get_block(540,16851 -static int ext2_writepage(611,18429 -static int ext2_readpage(616,18568 -ext2_readpages(622,18693 -ext2_prepare_write(629,18887 -ext2_nobh_prepare_write(636,19049 -static sector_t ext2_bmap(642,19204 -ext2_get_blocks(648,19351 -ext2_direct_IO(660,19640 -ext2_writepages(671,19963 -struct address_space_operations ext2_aops 676,20102 -struct address_space_operations ext2_nobh_aops 688,20440 -static inline int all_zeroes(705,20957 -static Indirect *ext2_find_shared(747,22745 -static inline void ext2_free_data(806,24265 -static void ext2_free_branches(846,25258 -void ext2_truncate 881,26069 -static struct ext2_inode *ext2_get_inode(978,28504 -void ext2_set_inode_flags(1021,29675 -void ext2_read_inode 1038,30146 -static int ext2_update_inode(1147,33906 -int ext2_write_inode(1251,37244 -int ext2_sync_inode(1256,37341 -int ext2_setattr(1265,37531 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/bitmap.c,67 -static int nibblemap[12,234 -unsigned long ext2_count_free 14,310 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/ext2.h,165 -struct ext2_inode_info ext2_inode_info7,109 -#define EXT2_STATE_NEW 65,1801 -static inline struct ext2_inode_info *EXT2_I(77,2051 -extern void ext2_error 132,4435 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/xattr_user.c,174 -#define XATTR_USER_PREFIX 14,271 -ext2_xattr_user_list(17,320 -ext2_xattr_user_get(35,803 -ext2_xattr_user_set(52,1180 -struct xattr_handler ext2_xattr_user_handler 72,1687 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/balloc.c,633 -#define in_range(in_range36,1112 -struct ext2_group_desc * ext2_get_group_desc(38,1192 -read_block_bitmap(79,2396 -static int reserve_blocks(101,3032 -static void release_blocks(132,3867 -static int group_reserve_blocks(142,4069 -static void group_release_blocks(160,4573 -void ext2_free_blocks 177,5105 -static int grab_block(265,7642 -int ext2_new_block(326,9263 -unsigned long ext2_count_free_blocks 523,14495 -block_in_use(570,15788 -static inline int test_root(576,15994 -static int ext2_group_sparse(589,16148 -int ext2_bg_has_super(603,16551 -unsigned long ext2_bg_num_gdb(620,17081 -void ext2_check_blocks_bitmap 630,17378 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/namei.c,596 -static inline void ext2_inc_count(41,1180 -static inline void ext2_dec_count(47,1285 -static inline int ext2_add_nondir(53,1390 -static struct dentry *ext2_lookup(69,1656 -struct dentry *ext2_get_parent(90,2105 -static int ext2_create 123,2836 -static int ext2_mknod 140,3340 -static int ext2_symlink 161,3812 -static int ext2_link 205,4795 -static int ext2_mkdir(220,5123 -static int ext2_unlink(265,5952 -static int ext2_rmdir 287,6348 -static int ext2_rename 303,6654 -struct inode_operations ext2_dir_inode_operations 388,8522 -struct inode_operations ext2_special_inode_operations 408,9018 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/xattr_security.c,155 -ext2_xattr_security_list(14,268 -ext2_xattr_security_get(29,703 -ext2_xattr_security_set(39,951 -struct xattr_handler ext2_xattr_security_handler 48,1210 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/ialloc.c,480 -read_inode_bitmap(47,1358 -static void ext2_release_inode(66,1848 -void ext2_free_inode 107,3206 -static void ext2_preread_inode(176,5310 -static int find_group_dir(216,6555 -#define INODE_COST 269,8285 -#define BLOCK_COST 270,8307 -static int find_group_orlov(272,8331 -static int find_group_other(388,11584 -struct inode *ext2_new_inode(449,13226 -unsigned long ext2_count_free_inodes 634,17878 -unsigned long ext2_count_dirs 682,19146 -void ext2_check_inodes_bitmap 698,19529 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/acl.c,634 -ext2_acl_from_disk(19,338 -ext2_acl_to_disk(84,1842 -ext2_iget_acl(128,2904 -ext2_iset_acl(141,3175 -ext2_get_acl(155,3483 -ext2_set_acl(218,4814 -ext2_permission(289,6195 -ext2_init_acl(346,7849 -ext2_acl_chmod(405,9411 -ext2_xattr_list_acl_access(432,10014 -ext2_xattr_list_acl_default(445,10348 -ext2_xattr_get_acl(458,10683 -ext2_xattr_get_acl_access(478,11077 -ext2_xattr_get_acl_default(487,11302 -ext2_xattr_set_acl(496,11530 -ext2_xattr_set_acl_access(527,12130 -ext2_xattr_set_acl_default(536,12370 -struct xattr_handler ext2_xattr_acl_access_handler 544,12602 -struct xattr_handler ext2_xattr_acl_default_handler 551,12802 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/xattr.c,1084 -#define HDR(HDR67,2319 -#define ENTRY(ENTRY68,2380 -#define FIRST_ENTRY(FIRST_ENTRY69,2434 -#define IS_LAST_ENTRY(IS_LAST_ENTRY70,2475 -# define ea_idebug(ea_idebug73,2554 -# define ea_bdebug(ea_bdebug79,2718 -# define ea_idebug(ea_idebug88,2940 -# define ea_bdebug(ea_bdebug89,2965 -static struct mb_cache *ext2_xattr_cache;101,3354 -static struct xattr_handler *ext2_xattr_handler_map[103,3397 -struct xattr_handler *ext2_xattr_handlers[115,3890 -ext2_xattr_handler(129,4217 -ext2_listxattr(144,4508 -ext2_xattr_get(160,4930 -ext2_xattr_list(263,7653 -static void ext2_xattr_update_super_block(340,9584 -ext2_xattr_set(366,10378 -ext2_xattr_set2(633,18270 -ext2_xattr_delete_inode(760,21656 -ext2_xattr_put_super(817,23163 -ext2_xattr_cache_insert(832,23486 -ext2_xattr_cmp(866,24332 -ext2_xattr_cache_find(905,25449 -#define NAME_HASH_SHIFT 953,26703 -#define VALUE_HASH_SHIFT 954,26729 -static inline void ext2_xattr_hash_entry(961,26841 -#define BLOCK_HASH_SHIFT 990,27643 -static void ext2_xattr_rehash(997,27781 -init_ext2_xattr(1022,28386 -exit_ext2_xattr(1033,28607 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/fsync.c,28 -int ext2_sync_file(35,1015 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/xattr.h,948 -#define EXT2_XATTR_MAGIC 14,276 -#define EXT2_XATTR_REFCOUNT_MAX 17,372 -#define EXT2_XATTR_INDEX_MAX 20,430 -#define EXT2_XATTR_INDEX_USER 21,464 -#define EXT2_XATTR_INDEX_POSIX_ACL_ACCESS 22,498 -#define EXT2_XATTR_INDEX_POSIX_ACL_DEFAULT 23,542 -#define EXT2_XATTR_INDEX_TRUSTED 24,587 -#define EXT2_XATTR_INDEX_LUSTRE 25,623 -#define EXT2_XATTR_INDEX_SECURITY 26,659 -struct ext2_xattr_header ext2_xattr_header28,704 -struct ext2_xattr_entry ext2_xattr_entry36,978 -#define EXT2_XATTR_PAD_BITS 46,1363 -#define EXT2_XATTR_PAD 47,1394 -#define EXT2_XATTR_ROUND 48,1443 -#define EXT2_XATTR_LEN(EXT2_XATTR_LEN49,1488 -#define EXT2_XATTR_NEXT(EXT2_XATTR_NEXT52,1615 -#define EXT2_XATTR_SIZE(EXT2_XATTR_SIZE55,1742 -ext2_xattr_get(83,2722 -ext2_xattr_list(90,2871 -ext2_xattr_set(96,2979 -ext2_xattr_delete_inode(103,3145 -ext2_xattr_put_super(108,3214 -init_ext2_xattr(113,3282 -exit_ext2_xattr(119,3339 -#define ext2_xattr_handlers 123,3366 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/super.c,2436 -void ext2_error 40,1013 -void ext2_warning 68,1725 -void ext2_update_dynamic_rev(81,2001 -static void ext2_put_super 106,2809 -static kmem_cache_t * ext2_inode_cachep;135,3511 -static struct inode *ext2_alloc_inode(137,3553 -static void ext2_destroy_inode(151,3925 -static void init_once(156,4034 -static int init_inodecache(170,4406 -static void destroy_inodecache(181,4669 -static void ext2_clear_inode(189,4861 -# define ext2_clear_inode 204,5248 -static struct super_operations ext2_sops 207,5287 -static struct export_operations ext2_export_ops 227,5940 -static unsigned long get_sb_block(231,6028 - Opt_bsd_df,252,6508 - Opt_bsd_df, Opt_minix_df,252,6508 - Opt_bsd_df, Opt_minix_df, Opt_grpid,252,6508 - Opt_bsd_df, Opt_minix_df, Opt_grpid, Opt_nogrpid,252,6508 - Opt_resgid,253,6559 - Opt_resgid, Opt_resuid,253,6559 - Opt_resgid, Opt_resuid, Opt_sb,253,6559 - Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont,253,6559 - Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic,253,6559 - Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic, Opt_err_ro,253,6559 - Opt_nouid32,254,6633 - Opt_nouid32, Opt_check,254,6633 - Opt_nouid32, Opt_check, Opt_nocheck,254,6633 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug,254,6633 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug, Opt_oldalloc,254,6633 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug, Opt_oldalloc, Opt_orlov,254,6633 - Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug, Opt_oldalloc, Opt_orlov, Opt_nobh,254,6633 - Opt_user_xattr,255,6717 - Opt_user_xattr, Opt_nouser_xattr,255,6717 - Opt_user_xattr, Opt_nouser_xattr, Opt_acl,255,6717 - Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl,255,6717 - Opt_ignore,256,6772 - Opt_ignore, Opt_err,256,6772 -static match_table_t tokens 259,6798 -static int parse_options 291,7611 -static int ext2_setup_super 405,10026 -static int ext2_check_descriptors 456,11778 -#define log2(log2504,13311 -static loff_t ext2_max_size(511,13565 -static unsigned long descriptor_loc(523,13828 -static int ext2_fill_super(543,14472 -static void ext2_commit_super 846,24239 -static void ext2_sync_super(854,24440 -void ext2_write_super 875,25197 -static int ext2_remount 897,25821 -static int ext2_statfs 946,27294 -static struct super_block *ext2_get_sb(995,28637 -static struct file_system_type ext2_fs_type 1001,28831 -static int __init init_ext2_fs(1009,29010 -static void __exit exit_ext2_fs(1028,29305 -module_init(1035,29430 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/file.c,149 -static int ext2_release_file 31,705 -struct file_operations ext2_file_operations 42,953 -struct inode_operations ext2_file_inode_operations 58,1411 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/symlink.c,165 -static int ext2_follow_link(24,472 -struct inode_operations ext2_symlink_inode_operations 31,654 -struct inode_operations ext2_fast_symlink_inode_operations 43,980 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ext2/dir.c,1001 -typedef struct ext2_dir_entry_2 ext2_dirent;ext2_dirent28,620 -static inline unsigned ext2_chunk_size(34,784 -static inline void ext2_put_page(39,883 -static inline unsigned long dir_pages(45,982 -ext2_last_byte(55,1221 -static int ext2_commit_chunk(65,1450 -static void ext2_check_page(78,1760 -static struct page * ext2_get_page(159,3868 -static inline int ext2_match 186,4503 -static inline ext2_dirent *ext2_next_entry(199,4767 -ext2_validate_entry(205,4916 -static unsigned char ext2_filetype_table[217,5211 -#define S_SHIFT 228,5503 -static unsigned char ext2_type_by_mode[229,5522 -static inline void ext2_set_de_type(239,5865 -ext2_readdir 249,6152 -struct ext2_dir_entry_2 * ext2_find_entry 331,8365 -struct ext2_dir_entry_2 * ext2_dotdot 385,9544 -ino_t ext2_inode_by_name(397,9804 -void ext2_set_link(413,10117 -int ext2_add_link 436,10727 -int ext2_delete_entry 535,13297 -int ext2_make_empty(577,14403 -int ext2_empty_dir 617,15520 -struct file_operations ext2_dir_operations 665,16536 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/read_write.c,1035 -struct file_operations generic_ro_fops 20,363 -loff_t generic_file_llseek(29,579 -loff_t remote_llseek(56,1102 -loff_t no_llseek(81,1599 -loff_t default_llseek(87,1710 -loff_t vfs_llseek(112,2158 -asmlinkage off_t sys_lseek(126,2478 -asmlinkage long sys_llseek(150,2991 -ssize_t do_sync_read(184,3642 -ssize_t vfs_read(200,4011 -ssize_t do_sync_write(228,4687 -ssize_t vfs_write(244,5065 -static inline loff_t file_pos_read(272,5757 -static inline void file_pos_write(277,5837 -asmlinkage ssize_t sys_read(282,5927 -asmlinkage ssize_t sys_write(300,6309 -asmlinkage ssize_t sys_pread64(319,6701 -asmlinkage ssize_t sys_pwrite64(340,7096 -unsigned long iov_shorten(364,7589 -static ssize_t do_readv_writev(383,7902 - typedef ssize_t (*io_fn_t)io_fn_t387,8057 - typedef ssize_t (*iov_fn_t)iov_fn_t388,8134 -ssize_t vfs_readv(503,10604 -ssize_t vfs_writev(516,10929 -sys_readv(530,11280 -sys_writev(548,11654 -static ssize_t do_sendfile(565,12011 -asmlinkage ssize_t sys_sendfile(651,14009 -asmlinkage ssize_t sys_sendfile64(670,14421 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/aio.c,2485 -#define DEBUG 18,417 -#define dprintk 37,805 -#define dprintk(dprintk39,835 -long aio_run 42,884 -long aio_wakeups 43,925 -atomic_t aio_nr 46,1003 -unsigned aio_max_nr 47,1086 -static kmem_cache_t *kiocb_cachep;50,1199 -static kmem_cache_t *kioctx_cachep;51,1234 -static struct workqueue_struct *aio_wq;53,1271 -static spinlock_t fput_lock 59,1444 -static int __init aio_setup(68,1694 -static void aio_free_ring(82,2095 -static int aio_setup_ring(102,2556 -#define AIO_EVENTS_PER_PAGE 179,4769 -#define AIO_EVENTS_FIRST_PAGE 180,4835 -#define AIO_EVENTS_OFFSET 181,4931 -#define aio_ring_event(aio_ring_event183,5004 -#define put_aio_ring_event(put_aio_ring_event192,5283 -static struct kioctx *ioctx_alloc(201,5560 -static void aio_cancel_all(272,7453 -void wait_for_all_aios(294,8016 -ssize_t fastcall wait_on_sync_kiocb(315,8487 -void fastcall exit_aio(334,9154 -void fastcall __put_ioctx(364,9826 -static struct kiocb fastcall *__aio_get_req(393,10716 -static inline struct kiocb *aio_get_req(436,11693 -static inline void really_put_req(451,12124 -static void aio_fput_routine(467,12484 -static int __aio_put_req(494,13109 -int fastcall aio_put_req(526,13988 -struct kioctx *lookup_ioctx(541,14344 -void use_mm(568,15028 -void unuse_mm(595,15644 -static inline int __queue_kicked_iocb(618,16267 -static ssize_t aio_run_iocb(653,17425 -static int __aio_run_iocbs(773,21040 -static void aio_queue_work(799,21622 -static inline void aio_run_iocbs(822,22094 -static inline void aio_run_all_iocbs(838,22392 -static void aio_kick_handler(855,22824 -void queue_kicked_iocb(881,23363 -void fastcall kick_iocb(905,23953 -int fastcall aio_complete(928,24569 -static int aio_read_evt(1035,27367 -struct aio_timeout aio_timeout1071,28311 -static void timeout_func(1077,28404 -static inline void init_timeout(1085,28554 -static inline void set_timeout(1094,28751 -static inline void clear_timeout(1104,29027 -static int read_events(1109,29129 -static void io_destroy(1225,31613 -asmlinkage long sys_io_setup(1264,32940 -asmlinkage long sys_io_destroy(1300,33702 -static ssize_t aio_pread(1315,34075 -static ssize_t aio_pwrite(1354,35151 -static ssize_t aio_fdsync(1377,35617 -static ssize_t aio_fsync(1387,35810 -ssize_t aio_setup_iocb(1402,36133 -int aio_wake_function(1471,37896 -int fastcall io_submit_one(1480,38108 -asmlinkage long sys_io_submit(1571,40753 -struct kiocb *lookup_kiocb(1621,41748 -asmlinkage long sys_io_cancel(1643,42616 -asmlinkage long sys_io_getevents(1705,44431 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/posix_acl.c,229 -posix_acl_alloc(38,921 -posix_acl_clone(54,1250 -posix_acl_valid(74,1673 -posix_acl_equiv_mode(149,3140 -posix_acl_from_mode(188,3989 -posix_acl_permission(213,4664 -posix_acl_create_masq(280,6637 -posix_acl_chmod_masq(338,7971 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/server.c,426 -spinlock_t afs_server_peer_lock 24,664 -#define FS_SERVICE_ID 26,719 -#define VL_SERVICE_ID 27,781 -static void __afs_server_timeout(29,845 -static const struct afs_timer_ops afs_server_timer_ops 40,1103 -int afs_server_lookup(49,1366 -void afs_put_server(146,3733 -void afs_server_do_timeout(188,4657 -int afs_server_request_callslot(242,5881 -void afs_server_release_callslot(414,10031 -int afs_server_get_vlconn(462,11324 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/mount.h,77 -#define _LINUX_AFS_MOUNT_H13,426 -struct afs_mountdata afs_mountdata15,454 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/vlclient.c,439 -#define VLGETENTRYBYID 26,729 -#define VLGETENTRYBYNAME 27,802 -#define VLPROBE 28,878 -static void afs_rxvl_aemap(38,1264 -static int afs_rxvl_probe(97,3292 -int afs_rxvl_get_entry_by_name(183,5211 -int afs_rxvl_get_entry_by_id(318,8437 -int afs_rxvl_get_entry_by_id_async(458,11831 -int afs_rxvl_get_entry_by_id_async2(547,13886 -static void afs_rxvl_get_entry_by_id_attn(645,16215 -static void afs_rxvl_get_entry_by_id_error(685,17220 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/cache.h,34 -#define _LINUX_AFS_CACHE_H13,446 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/kafsasyncd.h,174 -#define _LINUX_AFS_KAFSASYNCD_H13,453 -struct afs_async_op_ops afs_async_op_ops19,528 -struct afs_async_opafs_async_op28,763 -static inline void afs_async_op_init(37,1043 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/vnode.c,431 -struct afs_timer_ops afs_vnode_cb_timed_out_ops 28,761 -struct cachefs_index_def afs_vnode_cache_index_def 37,1036 -static void afs_vnode_cb_timed_out(51,1473 -static void afs_vnode_finalise_status_update(89,2399 -int afs_vnode_fetch_status(161,4275 -int afs_vnode_fetch_data(258,6568 -int afs_vnode_give_up_callback(302,7704 -static cachefs_match_val_t afs_vnode_cache_match(348,8757 -static void afs_vnode_cache_update(383,9668 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/fsclient.h,104 -#define _LINUX_AFS_FSCLIENT_H13,456 -struct afs_rxfs_fetch_descriptor afs_rxfs_fetch_descriptor25,779 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/proc.c,2121 -static struct proc_dir_entry *proc_afs;22,621 -static struct seq_operations afs_proc_cells_ops 33,1118 -static struct file_operations afs_proc_cells_fops 40,1296 -static struct file_operations afs_proc_rootcell_fops 56,1885 -static struct seq_operations afs_proc_cell_volumes_ops 73,2579 -static struct file_operations afs_proc_cell_volumes_fops 80,2792 -static struct seq_operations afs_proc_cell_vlservers_ops 97,3470 -static struct file_operations afs_proc_cell_vlservers_fops 104,3693 -static struct seq_operations afs_proc_cell_servers_ops 120,4356 -static struct file_operations afs_proc_cell_servers_fops 127,4569 -int afs_proc_init(138,4887 -void afs_proc_cleanup(178,5678 -static int afs_proc_cells_open(190,5974 -static void *afs_proc_cells_start(210,6432 -static void *afs_proc_cells_next(235,7000 -static void afs_proc_cells_stop(251,7390 -static int afs_proc_cells_show(261,7665 -static ssize_t afs_proc_cells_write(282,8250 -static int afs_proc_rootcell_open(357,9676 -static int afs_proc_rootcell_release(362,9766 -static ssize_t afs_proc_rootcell_read(367,9859 -static ssize_t afs_proc_rootcell_write(378,10177 -int afs_proc_cell_setup(422,11079 -void afs_proc_cell_remove(470,12216 -static int afs_proc_cell_volumes_open(486,12682 -static int afs_proc_cell_volumes_release(510,13233 -static void *afs_proc_cell_volumes_start(527,13659 -static void *afs_proc_cell_volumes_next(555,14312 -static void afs_proc_cell_volumes_stop(575,14800 -static int afs_proc_cell_volumes_show(587,15123 -static int afs_proc_cell_vlservers_open(615,15886 -static int afs_proc_cell_vlservers_release(639,16438 -static void *afs_proc_cell_vlservers_start(657,16876 -static void *afs_proc_cell_vlservers_next(682,17442 -static void afs_proc_cell_vlservers_stop(702,17932 -static int afs_proc_cell_vlservers_show(714,18259 -static int afs_proc_cell_servers_open(735,18804 -static int afs_proc_cell_servers_release(759,19355 -static void *afs_proc_cell_servers_start(777,19788 -static void *afs_proc_cell_servers_next(805,20442 -static void afs_proc_cell_servers_stop(825,20930 -static int afs_proc_cell_servers_show(837,21258 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/vnode.h,325 -#define _LINUX_AFS_VNODE_H13,426 -struct afs_cache_vnodeafs_cache_vnode28,705 -struct afs_vnodeafs_vnode43,1085 -#define AFS_VNODE_CHANGED 59,1664 -#define AFS_VNODE_DELETED 60,1749 -#define AFS_VNODE_MOUNTPOINT 61,1823 -static inline struct afs_vnode *AFS_FS_I(73,2373 -static inline struct inode *AFS_VNODE_TO_I(78,2496 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/super.h,132 -#define _LINUX_AFS_SUPER_H18,550 -struct afs_super_infoafs_super_info30,797 -static inline struct afs_super_info *AFS_FS_S(36,927 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/kafstimod.c,247 -static int kafstimod_die;25,754 -static spinlock_t kafstimod_lock 28,815 -int afs_kafstimod_start(36,1020 -void afs_kafstimod_stop(53,1337 -static int kafstimod(66,1636 -void afs_kafstimod_add_timer(148,3450 -int afs_kafstimod_del_timer(183,4318 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/inode.c,290 -struct afs_iget_data afs_iget_data28,729 -static int afs_inode_map_status(37,980 -static int afs_inode_fetch_status(99,2835 -static int afs_iget5_test(119,3209 -static int afs_iget5_set(131,3540 -inline int afs_iget(148,3959 -int afs_inode_getattr(222,5601 -void afs_clear_inode(263,6510 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/volume.h,592 -#define _LINUX_AFS_VOLUME_H13,433 -#define __packed 21,570 - AFS_VLUPD_SLEEP,24,627 - AFS_VLUPD_PENDING,25,694 - AFS_VLUPD_INPROGRESS,26,738 - AFS_VLUPD_BUSYSLEEP,27,783 -} __attribute__((packed)packed29,853 -struct afs_cache_vlocationafs_cache_vlocation35,1037 -#define AFS_VOL_VTM_RW 41,1305 -#define AFS_VOL_VTM_RO 42,1395 -#define AFS_VOL_VTM_BAK 43,1485 -struct afs_cache_vhashafs_cache_vhash58,1974 -struct afs_vlocationafs_vlocation72,2356 -#define afs_get_vlocation(afs_get_vlocation100,3525 -struct afs_volumeafs_volume109,3847 -#define afs_get_volume(afs_get_volume131,4686 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/mntpt.c,543 -struct file_operations afs_mntpt_file_operations 35,1030 -struct inode_operations afs_mntpt_inode_operations 39,1113 -struct afs_timer_ops afs_mntpt_expiry_timer_ops 50,1400 -struct afs_timer afs_mntpt_expiry_timer;54,1498 -unsigned long afs_mntpt_expiry_timeout 56,1540 -int afs_mntpt_check_symlink(63,1813 -static struct dentry *afs_mntpt_lookup(120,3056 -static int afs_mntpt_open(139,3585 -static struct vfsmount *afs_mntpt_do_automount(156,4068 -static int afs_mntpt_follow_link(236,6007 -static void afs_mntpt_expiry_timed_out(277,6888 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/kafsasyncd.c,462 -static struct task_struct *kafsasyncd_task;35,1194 -static int kafsasyncd_die;36,1238 -static spinlock_t kafsasyncd_async_lock 42,1385 -static void kafsasyncd_null_call_attn_func(44,1448 -static void kafsasyncd_null_call_error_func(48,1521 -int afs_kafsasyncd_start(56,1708 -void afs_kafsasyncd_stop(73,2027 -static int kafsasyncd(86,2320 -void afs_kafsasyncd_begin_op(196,4917 -void afs_kafsasyncd_attend_op(218,5446 -void afs_kafsasyncd_terminate_op(239,5895 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/vlocation.c,1093 -#define AFS_VLDB_TIMEOUT 27,743 -static void __afs_vlocation_timeout(34,1042 -static const struct afs_timer_ops afs_vlocation_timer_ops 45,1331 -static const struct afs_timer_ops afs_vlocation_update_timer_ops 49,1436 -static const struct afs_async_op_ops afs_vlocation_update_op_ops 53,1551 -static struct afs_vlocation *afs_vlocation_update;59,1788 -static spinlock_t afs_vlocation_update_lock 60,1872 -struct cachefs_index_def afs_vlocation_cache_index_def 67,2165 -static int afs_vlocation_access_vl_by_name(82,2672 -static int afs_vlocation_access_vl_by_id(161,4559 -int afs_vlocation_lookup(243,6589 -static void __afs_put_vlocation(459,12508 -void afs_put_vlocation(501,13498 -void afs_vlocation_do_timeout(517,13925 -static int afs_vlocation_update_begin(555,14775 -static void afs_vlocation_update_abandon(617,16172 -static void afs_vlocation_update_timer(647,16992 -static void afs_vlocation_update_attend(726,19236 -static void afs_vlocation_update_discard(876,23195 -static cachefs_match_val_t afs_vlocation_cache_match(897,23718 -static void afs_vlocation_cache_update(944,24974 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/cmservice.c,728 -static unsigned afscm_usage;26,732 -static struct rw_semaphore afscm_sem;27,798 -typedef void (*_SRXAFSCM_xxxx_t)_SRXAFSCM_xxxx_t38,1267 -static const struct rxrpc_operation AFSCM_ops[40,1327 -static struct rxrpc_service AFSCM_service 87,2138 -static spinlock_t afscm_calls_lock 105,2711 -static spinlock_t kafscmd_attention_lock 106,2768 -static int kafscmd_die;107,2831 -static int kafscmd(113,2978 -static int afscm_new_call(191,4719 -static void afscm_attention(212,5219 -static void afscm_error(236,5852 -static void afscm_aemap(276,6732 -int afscm_start(294,7168 -void afscm_stop(334,7872 -static void _SRXAFSCM_CallBack(404,9547 -static void _SRXAFSCM_InitCallBackState(522,12110 -static void _SRXAFSCM_Probe(590,13584 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/callback.c,99 -int SRXAFSCM_InitCallBackState(27,769 -int SRXAFSCM_CallBack(87,2199 -int SRXAFSCM_Probe(164,4096 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/kafstimod.h,157 -#define _LINUX_AFS_KAFSTIMOD_H13,436 -struct afs_timer_ops afs_timer_ops19,507 -struct afs_timerafs_timer28,756 -static inline void afs_timer_init(35,942 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/volume.c,347 -const char *afs_voltypes[27,720 -struct cachefs_index_def afs_volume_cache_index_def 34,959 -int afs_volume_lookup(67,2187 -void afs_put_volume(257,6352 -int afs_volume_pick_fileserver(305,7437 -int afs_volume_release_fileserver(384,9284 -static cachefs_match_val_t afs_volume_cache_match(485,11832 -static void afs_volume_cache_update(508,12419 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/cell.c,559 -static struct list_head afs_cells 29,779 -static rwlock_t afs_cells_lock 30,842 -static struct afs_cell *afs_cell_root;32,961 -struct cachefs_index_def afs_cache_cell_index_def 39,1179 -int afs_cell_create(54,1653 -int afs_cell_init(154,3949 -int afs_cell_lookup(210,5153 -struct afs_cell *afs_get_cell_maybe(270,6370 -void afs_put_cell(291,6781 -static void afs_cell_destroy(325,7565 -int afs_server_find_by_peer(369,8615 -void afs_cell_purge(442,10453 -static cachefs_match_val_t afs_cell_cache_match(532,12471 -static void afs_cell_cache_update(555,13060 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/types.h,889 -#define _LINUX_AFS_TYPES_H13,419 -typedef unsigned afs_volid_t;afs_volid_t19,515 -typedef unsigned afs_vnodeid_t;afs_vnodeid_t20,547 -typedef unsigned long long afs_dataversion_t;afs_dataversion_t21,581 - AFSVL_RWVOL,24,644 - AFSVL_ROVOL,25,684 - AFSVL_BACKVOL,26,723 -} __attribute__((packed)packed27,761 - AFS_FTYPE_INVALID 32,854 - AFS_FTYPE_FILE 33,878 - AFS_FTYPE_DIR 34,900 - AFS_FTYPE_SYMLINK 35,921 -} afs_file_type_t;afs_file_type_t36,945 -struct afs_fidafs_fid47,1130 - AFSCM_CB_UNTYPED 59,1434 - AFSCM_CB_EXCLUSIVE 60,1487 - AFSCM_CB_SHARED 61,1555 - AFSCM_CB_DROPPED 62,1608 -} afs_callback_type_t;afs_callback_type_t63,1673 -struct afs_callbackafs_callback65,1697 -#define AFSCBMAX 74,1973 -struct afs_volume_infoafs_volume_info80,2107 -struct afs_file_statusafs_file_status97,2602 -#define AFS_FSTATUS_VERSION 100,2674 -struct afs_volsyncafs_volsync120,3416 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/cell.h,187 -#define _LINUX_AFS_CELL_H13,423 -#define AFS_CELL_MAX_ADDRS 18,489 -struct afs_cache_cellafs_cache_cell26,735 -struct afs_cellafs_cell36,984 -#define afs_get_cell(afs_get_cell70,2299 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/transport.h,38 -#define _LINUX_AFS_TRANSPORT_H13,442 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/errors.h,279 -#define _LINUX_AFS_ERRORS_H13,433 - VSALVAGE 19,527 - VNOVNODE 20,573 - VNOVOL 21,621 - VVOLEXISTS 22,680 - VNOSERVICE 23,732 - VOFFLINE 24,789 - VONLINE 25,873 - VDISKFULL 26,921 - VOVERQUOTA 27,968 - VBUSY 28,1025 - VMOVED 29,1080 -} afs_rxfs_abort_t;afs_rxfs_abort_t30,1149 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/fsclient.c,447 -#define FSFETCHSTATUS 25,698 -#define FSFETCHDATA 26,753 -#define FSGIVEUPCALLBACKS 27,804 -#define FSGETVOLUMEINFO 28,870 -#define FSGETROOTVOLUME 29,937 -#define FSLOOKUP 30,997 -static void afs_rxfs_aemap(37,1224 -int afs_rxfs_get_root_volume(57,1762 -int afs_rxfs_get_volume_info(186,4681 -int afs_rxfs_fetch_file_status(301,7468 -int afs_rxfs_fetch_file_data(425,10691 -int afs_rxfs_give_up_callback(578,14619 -int afs_rxfs_lookup(681,17107 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/cmservice.h,38 -#define _LINUX_AFS_CMSERVICE_H13,456 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/vlclient.h,1085 -#define _LINUX_AFS_VLCLIENT_H13,456 -enum AFSVL_Errors AFSVL_Errors17,507 - AFSVL_IDEXIST 18,527 - AFSVL_IO 19,598 - AFSVL_NAMEEXIST 20,644 - AFSVL_CREATEFAIL 21,718 - AFSVL_NOENT 22,779 - AFSVL_EMPTY 23,824 - AFSVL_ENTDELETED 24,876 - AFSVL_BADNAME 25,942 - AFSVL_BADINDEX 26,998 - AFSVL_BADVOLTYPE 27,1054 - AFSVL_BADSERVER 28,1105 - AFSVL_BADPARTITION 29,1176 - AFSVL_REPSFULL 30,1234 - AFSVL_NOREPSERVER 31,1307 - AFSVL_DUPREPSERVER 32,1382 - AFSVL_RWNOTFOUND 33,1451 - AFSVL_BADREFCOUNT 34,1513 - AFSVL_SIZEEXCEEDED 35,1580 - AFSVL_BADENTRY 36,1649 - AFSVL_BADVOLIDBUMP 37,1705 - AFSVL_IDALREADYHASHED 38,1770 - AFSVL_ENTRYLOCKED 39,1836 - AFSVL_BADVOLOPER 40,1899 - AFSVL_BADRELLOCKTYPE 41,1960 - AFSVL_RERELEASE 42,2021 - AFSVL_BADSERVERFLAG 43,2095 - AFSVL_PERM 44,2169 - AFSVL_NOMEM 45,2220 -struct afs_vldbentry afs_vldbentry49,2349 -#define AFS_VLF_RWEXISTS 56,2603 -#define AFS_VLF_ROEXISTS 57,2660 -#define AFS_VLF_BACKEXISTS 58,2717 -#define AFS_VLSF_NEWREPSITE 66,2985 -#define AFS_VLSF_ROVOL 67,3033 -#define AFS_VLSF_RWVOL 68,3117 -#define AFS_VLSF_BACKVOL 69,3201 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/main.c,540 -struct rxrpc_transport *afs_transport;30,814 -static char *rootcell;49,1391 -static struct rxrpc_peer_ops afs_peer_ops 55,1528 -struct list_head afs_cb_hash_tbl[60,1643 -spinlock_t afs_cb_hash_lock 61,1696 -static struct cachefs_netfs_operations afs_cache_ops 64,1774 -struct cachefs_netfs afs_cache_netfs 68,1882 -static int afs_init(79,2120 -static void __exit afs_exit(163,3897 -static int afs_adding_peer(189,4544 -static void afs_discarding_peer(222,5445 -void __cyg_profile_func_enter 252,6178 -void __cyg_profile_func_exit(271,6947 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/super.c,738 -#define AFS_FS_MAGIC 30,767 -struct afs_mount_params afs_mount_params32,813 -static struct file_system_type afs_fs_type 51,1317 -static struct super_operations afs_super_ops 59,1496 -static kmem_cache_t *afs_inode_cachep;68,1745 -static atomic_t afs_count_active_inodes;69,1784 -int __init afs_fs_init(75,1942 -void __exit afs_fs_exit(114,2816 -static int want_arg(132,3250 -static int want_no_value(145,3589 -static int afs_super_parse_options(161,4055 -static int afs_test_super(221,5313 -static int afs_fill_super(233,5644 -static struct super_block *afs_get_sb(297,6985 -static void afs_put_super(369,8538 -static void afs_i_init_once(385,8882 -static struct inode *afs_alloc_inode(408,9599 -static void afs_destroy_inode(433,10181 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/file.c,482 -struct inode_operations afs_file_inode_operations 37,1173 -struct file_operations afs_file_file_operations 41,1262 -struct address_space_operations afs_fs_aops 52,1498 -static ssize_t afs_file_write(64,1847 -static void afs_file_readpage_read_complete(81,2306 -static void afs_file_readpage_write_complete(102,2814 -static int afs_file_readpage(118,3212 -int afs_cache_get_page_cookie(229,5490 -static int afs_file_invalidatepage(246,5880 -static int afs_file_releasepage(283,6774 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/misc.c,31 -int afs_abort_to_error(22,660 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/server.h,269 -#define _LINUX_AFS_SERVER_H13,429 -struct afs_serverafs_server26,699 -#define AFS_SERVER_CONN_LIST_SIZE 38,1170 -#define afs_get_server(afs_get_server57,2040 -struct afs_server *afs_server_get_from_peer(69,2444 -struct afs_server_callslotafs_server_callslot86,2820 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/internal.h,604 -#define AFS_INTERNAL_H13,427 -#define kenter(kenter23,579 -#define kleave(kleave24,651 -#define kdebug(kdebug25,723 -#define kproto(kproto26,772 -#define knet(knet27,827 -#define _enter(_enter30,892 -#define _leave(_leave31,937 -#define _debug(_debug32,982 -#define _proto(_proto33,1027 -#define _net(_net34,1072 -#define _enter(_enter36,1120 -#define _leave(_leave37,1162 -#define _debug(_debug38,1204 -#define _proto(_proto39,1246 -#define _net(_net40,1288 -static inline void afs_discard_my_signals(43,1337 -#define AFS_CB_HASH_COUNT 122,3152 -#define afs_cb_hash(afs_cb_hash127,3298 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/afs/dir.c,1015 -struct file_operations afs_dir_file_operations 35,1224 -struct inode_operations afs_dir_inode_operations 40,1332 -static struct dentry_operations afs_fs_dentry_operations 55,1687 -#define AFS_DIR_HASHTBL_SIZE 60,1814 -#define AFS_DIR_DIRENT_SIZE 61,1847 -#define AFS_DIRENT_PER_BLOCK 62,1878 -union afs_dirent afs_dirent64,1911 -struct afs_dir_pagehdr afs_dir_pagehdr80,2299 -#define AFS_DIR_MAGIC 83,2357 -union afs_dir_block afs_dir_block90,2484 -struct afs_dir_page afs_dir_page105,2776 -struct afs_dir_lookup_cookie afs_dir_lookup_cookie109,2872 -static inline void afs_dir_check_page(120,3102 -static inline void afs_dir_put_page(171,4379 -static struct page *afs_dir_get_page(182,4631 -static int afs_dir_open(212,5317 -static int afs_dir_iterate_block(231,5759 -static int afs_dir_iterate(328,8355 -static int afs_dir_readdir(392,9858 -static int afs_dir_lookup_filldir(413,10443 -static struct dentry *afs_dir_lookup(438,11097 -static int afs_d_revalidate(513,12945 -static int afs_d_delete(648,16593 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/dquot.c,3342 -#define __DQUOT_PARANOIA82,2959 -static spinlock_t dq_list_lock 123,5109 -spinlock_t dq_data_lock 124,5162 -static char *quotatypes[126,5209 -static struct quota_format_type *quota_formats;127,5250 -static struct quota_module_name module_names[128,5331 -int register_quota_format(130,5406 -void unregister_quota_format(139,5588 -static struct quota_format_type *find_quota_format(150,5872 -static void put_quota_format(174,6595 -unsigned int dq_hash_bits,202,7695 -unsigned int dq_hash_bits, dq_hash_mask;202,7695 -static struct hlist_head *dquot_hash;203,7736 -struct dqstats dqstats;205,7775 -hashfn(210,7868 -static inline void insert_dquot_hash(221,8150 -static inline void remove_dquot_hash(227,8345 -static inline struct dquot *find_dquot(232,8442 -static inline void put_dquot_last(246,8863 -static inline void remove_free_dquot(252,8993 -static inline void put_inuse(260,9157 -static inline void remove_inuse(268,9398 -static void wait_on_dquot(277,9567 -#define mark_dquot_dirty(mark_dquot_dirty283,9665 -int dquot_mark_dquot_dirty(285,9741 -static inline int clear_dquot_dirty(296,10049 -void mark_info_dirty(304,10222 -int dquot_acquire(314,10434 -int dquot_commit(349,11337 -int dquot_release(378,12069 -static void invalidate_dquots(407,13035 -int vfs_quota_sync(433,13688 -static void prune_dqcache(481,14987 -static int shrink_dqcache_memory(503,15435 -static void dqput(520,15828 -static struct dquot *get_empty_dquot(570,17079 -static struct dquot *dqget(595,17669 -static int dqinit_needed(645,19135 -static void add_dquot_ref(660,19458 -static inline int dqput_blocks(682,20097 -int remove_inode_dquot_ref(691,20379 -static void put_dquot_list(715,21223 -static void drop_dquot_ref(731,21716 -static inline void dquot_incr_inodes(745,22132 -static inline void dquot_incr_space(750,22257 -static inline void dquot_decr_inodes(755,22374 -static inline void dquot_decr_space(766,22732 -static inline int need_print_warning(777,23083 -#define NOWARN 789,23324 -#define IHARDWARN 790,23341 -#define ISOFTLONGWARN 791,23361 -#define ISOFTWARN 792,23385 -#define BHARDWARN 793,23405 -#define BSOFTLONGWARN 794,23425 -#define BSOFTWARN 795,23449 -static void print_warning(798,23519 -static inline void flush_warnings(835,24659 -static inline char ignore_hardlimit(844,24874 -static int check_idq(853,25164 -static int check_bdq(885,26149 -int dquot_initialize(930,27407 -int dquot_drop(967,28323 -int dquot_alloc_space(994,29072 -int dquot_alloc_inode(1043,30508 -int dquot_free_space(1088,31814 -int dquot_free_inode(1124,32834 -int dquot_transfer(1158,33896 -int dquot_commit_info(1257,36979 -struct dquot_operations dquot_operations 1271,37253 -static inline void set_enable_flags(1286,37690 -static inline void reset_enable_flags(1298,37917 -int vfs_quota_off(1313,38233 -static int vfs_quota_on_file(1356,39350 -int vfs_quota_on(1456,42171 -int vfs_quota_on_mount(1481,42778 -static void do_get_dqblk(1502,43229 -int vfs_get_dqblk(1519,43734 -static void do_set_dqblk(1535,44123 -int vfs_set_dqblk(1588,45851 -int vfs_get_dqinfo(1604,46247 -int vfs_set_dqinfo(1625,46825 -struct quotactl_ops vfs_quotactl_ops 1650,47525 -static ctl_table fs_dqstats_table[1660,47772 -static ctl_table fs_table[1728,49185 -static ctl_table sys_table[1738,49344 -kmem_cache_t *dquot_cachep;1749,49527 -static int __init dquot_init(1751,49556 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/dcache.c,2190 -int sysctl_vfs_cache_pressure 37,825 -spinlock_t dcache_lock __cacheline_aligned_in_smp 39,863 -seqlock_t rename_lock __cacheline_aligned_in_smp 40,935 -static kmem_cache_t *dentry_cache;44,1034 -#define DNAME_INLINE_LEN 46,1071 -#define D_HASHBITS 56,1468 -#define D_HASHMASK 57,1504 -static unsigned int d_hash_mask;59,1540 -static unsigned int d_hash_shift;60,1573 -static struct hlist_head *dentry_hashtable;61,1607 -struct dentry_stat_t dentry_stat 65,1713 -static void d_callback(69,1772 -static void d_free(82,2098 -static inline void dentry_iput(98,2536 -void dput(145,3922 -int d_invalidate(220,5579 -static inline struct dentry * __dget_locked(267,6670 -struct dentry * dget_locked(277,6888 -static struct dentry * __d_find_alias(299,7671 -struct dentry * d_find_alias(325,8299 -void d_prune_aliases(338,8578 -static inline void prune_one_dentry(363,9197 -static void prune_dcache(391,9860 -void shrink_dcache_sb(453,11576 -int have_submounts(512,12909 -static int select_parent(557,14046 -void shrink_dcache_parent(620,15634 -void shrink_dcache_anon(638,16014 -static int shrink_dcache_memory(679,17147 -struct dentry *d_alloc(699,17686 -void d_instantiate(772,19448 -struct dentry * d_alloc_root(792,20013 -static inline struct hlist_head *d_hash(809,20339 -struct dentry * d_alloc_anon(837,21472 -struct dentry *d_splice_alias(904,23278 -struct dentry * d_lookup(961,25170 -struct dentry * __d_lookup(975,25511 -int d_validate(1054,27391 -void d_delete(1104,28664 -void d_rehash(1130,29129 -#define do_switch(do_switch1143,29463 -static void switch_names(1158,30075 -void d_move(1215,31653 -char * __d_path(1301,34088 -char * d_path(1372,35581 -asmlinkage long sys_getcwd(1409,36480 -int is_subdir(1475,37976 -void d_genocide(1507,38662 -ino_t find_inode_number(1551,39785 -static __initdata unsigned long dhash_entries;1579,40375 -static int __init set_dhash_entries(1580,40422 -static void __init dcache_init_early(1589,40601 -void flush_dentry_attributes 1606,40929 -static void __init dcache_init(1623,41309 -kmem_cache_t *names_cachep;1640,41772 -kmem_cache_t *filp_cachep;1643,41838 -void __init vfs_caches_init_early(1650,41961 -void __init vfs_caches_init(1656,42049 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/libfs.c,1086 -int simple_getattr(12,185 -int simple_statfs(21,431 -static int simple_delete_dentry(33,748 -struct dentry *simple_lookup(42,966 -int simple_sync_file(55,1315 -int dcache_dir_open(60,1410 -int dcache_dir_close(69,1639 -loff_t dcache_dir_lseek(75,1743 -static inline unsigned char dt_type(114,2694 -int dcache_readdir(125,2992 -ssize_t generic_read_dir(175,4216 -struct file_operations simple_dir_operations 180,4326 -struct inode_operations simple_dir_inode_operations 188,4522 -get_sb_pseudo(197,4740 -int simple_link(239,5778 -static inline int simple_positive(251,6081 -int simple_empty(256,6191 -int simple_unlink(271,6456 -int simple_rmdir(281,6669 -int simple_rename(292,6869 -int simple_readpage(316,7461 -int simple_prepare_write(333,7770 -int simple_commit_write(349,8162 -int simple_fill_super(365,8570 -static spinlock_t pin_fs_lock 423,10028 -int simple_pin_fs(425,10081 -void simple_release_fs(445,10494 -ssize_t simple_read_from_buffer(456,10698 -char *simple_transaction_get(478,11260 -ssize_t simple_transaction_read(509,11999 -int simple_transaction_release(518,12252 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/xattr.c,602 -setxattr(24,559 -sys_setxattr(70,1599 -sys_lsetxattr(85,1911 -sys_fsetxattr(100,2230 -getxattr(118,2548 -sys_getxattr(160,3559 -sys_lgetxattr(175,3860 -sys_fgetxattr(190,4168 -listxattr(207,4466 -sys_listxattr(242,5254 -sys_llistxattr(256,5524 -sys_flistxattr(270,5800 -removexattr(287,6072 -sys_removexattr(312,6621 -sys_lremovexattr(326,6869 -sys_fremovexattr(340,7123 -strcmp_prefix(355,7338 -#define for_each_xattr_handler(for_each_xattr_handler373,7900 -xattr_resolve_name(382,8137 -generic_getxattr(403,8520 -generic_listxattr(419,8932 -generic_setxattr(447,9604 -generic_removexattr(465,10123 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/select.c,982 -#define ROUND_UP(ROUND_UP27,824 -#define DEFAULT_POLLMASK 28,864 -struct poll_table_entry poll_table_entry30,935 -struct poll_table_page poll_table_page36,1041 -#define POLL_TABLE_FULL(POLL_TABLE_FULL42,1173 -void poll_initwait(59,1948 -void poll_freewait(68,2108 -void __pollwait(89,2523 -#define FDS_IN(FDS_IN121,3364 -#define FDS_OUT(FDS_OUT122,3402 -#define FDS_EX(FDS_EX123,3442 -#define BITS(BITS125,3481 -static int max_select_fd(127,3554 -#define BIT(BIT167,4203 -#define MEM(MEM168,4248 -#define ISSET(ISSET169,4295 -#define SET(SET170,4332 -#define POLLIN_SET 172,4364 -#define POLLOUT_SET 173,4438 -#define POLLEX_SET 174,4504 -int do_select(176,4534 -static void *select_bits_alloc(271,6592 -static void select_bits_free(276,6677 -#define MAX_SELECT_SECONDS 289,7040 -sys_select(293,7135 -struct poll_list poll_list386,9330 -#define POLLFD_PER_PAGE 392,9415 -static void do_pollfd(394,9504 -static int do_poll(426,10103 -asmlinkage long sys_poll(455,10703 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/quota_v1.c,562 -static void v1_disk2mem_dqblk(17,359 -static void v1_mem2disk_dqblk(29,765 -static int v1_read_dqblk(41,1147 -static int v1_commit_dqblk(71,1996 -#define V2_INITQMAGICS 111,2885 -struct v2_disk_dqheader v2_disk_dqheader117,3013 -static int v1_check_quota_file(122,3150 -static int v1_read_file_info(155,4353 -static int v1_write_file_info(180,5012 -static struct quota_format_ops v1_format_ops 211,5843 -static struct quota_format_type v1_quota_format 220,6109 -static int __init init_v1_quota_format(226,6246 -static void __exit exit_v1_quota_format(231,6352 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_inode.h,1534 -#define _VXFS_INODE_H_31,1465 -#define VXFS_ISIZE 41,1644 -#define VXFS_NDADDR 43,1689 -#define VXFS_NIADDR 44,1752 -#define VXFS_NIMMED 45,1816 -#define VXFS_NTYPED 46,1879 -#define VXFS_TYPED_OFFSETMASK 48,1931 -#define VXFS_TYPED_TYPEMASK 49,1985 -#define VXFS_TYPED_TYPESHIFT 50,2037 -#define VXFS_TYPED_PER_BLOCK(VXFS_TYPED_PER_BLOCK52,2070 - VXFS_TYPED_INDIRECT 59,2236 - VXFS_TYPED_DATA 60,2263 - VXFS_TYPED_INDIRECT_DEV4 61,2287 - VXFS_TYPED_DATA_DEV4 62,2318 -struct vxfs_immed vxfs_immed68,2398 -struct vxfs_ext4 vxfs_ext472,2455 - struct direct direct76,2620 -struct vxfs_typed vxfs_typed82,2777 -struct vxfs_typed_dev4 vxfs_typed_dev488,2950 -struct vxfs_dinode vxfs_dinode99,3241 -#define vdi_rdev 139,4391 -#define vdi_dotdot 140,4424 -#define vdi_fixextsize 141,4461 -#define vdi_matchino 142,4514 -#define vdi_fsetindex 143,4562 -#define vdi_immed 145,4613 -#define vdi_ext4 146,4645 -#define vdi_typed 147,4675 -#define vxfs_inode_info 155,4818 -#define vii_mode 157,4855 -#define vii_uid 158,4881 -#define vii_gid 159,4906 -#define vii_nlink 160,4931 -#define vii_size 161,4959 -#define vii_atime 162,4985 -#define vii_ctime 163,5013 -#define vii_mtime 164,5041 -#define vii_blocks 165,5069 -#define vii_org 166,5099 -#define vii_orgtype 167,5124 -#define vii_gen 168,5156 -#define vii_rdev 170,5182 -#define vii_dotdot 171,5215 -#define vii_fixextsize 172,5252 -#define vii_matchino 173,5305 -#define vii_fsetindex 174,5353 -#define vii_immed 176,5404 -#define vii_ext4 177,5436 -#define vii_typed 178,5466 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_olt.c,93 -vxfs_get_fshead(42,1655 -vxfs_get_ilist(50,1827 -vxfs_oblock(58,1999 -vxfs_read_olt(79,2476 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_lookup.c,345 -#define VXFS_BLOCK_PER_PAGE(VXFS_BLOCK_PER_PAGE49,1828 -struct inode_operations vxfs_dir_inode_ops 55,2055 -struct file_operations vxfs_dir_operations 59,2131 -dir_pages(65,2236 -dir_blocks(71,2365 -vxfs_match(83,2659 -vxfs_next_entry(93,2880 -vxfs_find_entry(113,3474 -vxfs_inode_by_name(174,4922 -vxfs_lookup(205,5552 -vxfs_readdir(241,6250 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_bmap.c,119 -vxfs_typdump(43,1666 -vxfs_bmap_ext4(66,2303 -vxfs_bmap_indir(127,3717 -vxfs_bmap_typed(200,5375 -vxfs_bmap1(259,6811 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs.h,3060 -#define _VXFS_SUPER_H_31,1465 -typedef int32_t vx_daddr_t;vx_daddr_t46,1763 -typedef int32_t vx_ino_t;vx_ino_t47,1792 -#define VXFS_SUPER_MAGIC 52,1878 -#define VXFS_ROOT_INO 57,1941 -#define VXFS_NEFREE 62,2013 -struct vxfs_sb vxfs_sb68,2073 -struct vxfs_sb_info vxfs_sb_info162,5692 -enum vxfs_mode vxfs_mode180,6386 - VXFS_ISUID 181,6403 - VXFS_ISUID = 0x00000800,181,6403 - VXFS_ISGID 182,6442 - VXFS_ISGID = 0x00000400,182,6442 - VXFS_ISVTX 183,6481 - VXFS_ISVTX = 0x00000200,183,6481 - VXFS_IREAD 184,6524 - VXFS_IREAD = 0x00000100,184,6524 - VXFS_IWRITE 185,6561 - VXFS_IWRITE = 0x00000080,185,6561 - VXFS_IEXEC 186,6600 - VXFS_IEXEC = 0x00000040,186,6600 - VXFS_IFIFO 188,6638 - VXFS_IFIFO = 0x00001000,188,6638 - VXFS_IFCHR 189,6681 - VXFS_IFCHR = 0x00002000,189,6681 - VXFS_IFDIR 190,6730 - VXFS_IFDIR = 0x00004000,190,6730 - VXFS_IFNAM 191,6772 - VXFS_IFNAM = 0x00005000,191,6772 - VXFS_IFBLK 192,6820 - VXFS_IFBLK = 0x00006000,192,6820 - VXFS_IFREG 193,6865 - VXFS_IFREG = 0x00008000,193,6865 - VXFS_IFCMP 194,6910 - VXFS_IFCMP = 0x00009000,194,6910 - VXFS_IFLNK 195,6962 - VXFS_IFLNK = 0x0000a000,195,6962 - VXFS_IFSOC 196,7002 - VXFS_IFSOC = 0x0000c000,196,7002 - VXFS_IFFSH 199,7063 - VXFS_IFFSH = 0x10000000,199,7063 - VXFS_IFILT 200,7110 - VXFS_IFILT = 0x20000000,200,7110 - VXFS_IFIAU 201,7153 - VXFS_IFIAU = 0x30000000,201,7153 - VXFS_IFCUT 202,7207 - VXFS_IFCUT = 0x40000000,202,7207 - VXFS_IFATT 203,7259 - VXFS_IFATT = 0x50000000,203,7259 - VXFS_IFLCT 204,7303 - VXFS_IFLCT = 0x60000000,204,7303 - VXFS_IFIAT 205,7352 - VXFS_IFIAT = 0x70000000,205,7352 - VXFS_IFEMR 206,7408 - VXFS_IFEMR = 0x80000000,206,7408 - VXFS_IFQUO 207,7462 - VXFS_IFQUO = 0x90000000,207,7462 - VXFS_IFPTI 208,7509 - VXFS_IFPTI = 0xa0000000,208,7509 - VXFS_IFLAB 209,7562 - VXFS_IFLAB = 0x11000000,209,7562 - VXFS_IFOLT 210,7612 - VXFS_IFOLT = 0x12000000,210,7612 - VXFS_IFLOG 211,7653 - VXFS_IFLOG = 0x13000000,211,7653 - VXFS_IFEMP 212,7694 - VXFS_IFEMP = 0x14000000,212,7694 - VXFS_IFEAU 213,7742 - VXFS_IFEAU = 0x15000000,213,7742 - VXFS_IFAUS 214,7789 - VXFS_IFAUS = 0x16000000,214,7789 - VXFS_IFDEV 215,7844 - VXFS_IFDEV = 0x17000000,215,7844 -#define VXFS_TYPE_MASK 219,7900 -#define VXFS_IS_TYPE(VXFS_IS_TYPE221,7936 -#define VXFS_ISFIFO(VXFS_ISFIFO222,8012 -#define VXFS_ISCHR(VXFS_ISCHR223,8065 -#define VXFS_ISDIR(VXFS_ISDIR224,8117 -#define VXFS_ISNAM(VXFS_ISNAM225,8169 -#define VXFS_ISBLK(VXFS_ISBLK226,8221 -#define VXFS_ISLNK(VXFS_ISLNK227,8273 -#define VXFS_ISREG(VXFS_ISREG228,8325 -#define VXFS_ISCMP(VXFS_ISCMP229,8377 -#define VXFS_ISSOC(VXFS_ISSOC230,8429 -#define VXFS_ISFSH(VXFS_ISFSH232,8482 -#define VXFS_ISILT(VXFS_ISILT233,8534 - VXFS_ORG_NONE 239,8631 - VXFS_ORG_EXT4 240,8683 - VXFS_ORG_IMMED 241,8714 - VXFS_ORG_TYPED 242,8766 -#define VXFS_IS_ORG(VXFS_IS_ORG245,8811 -#define VXFS_ISNONE(VXFS_ISNONE246,8868 -#define VXFS_ISEXT4(VXFS_ISEXT4247,8926 -#define VXFS_ISIMMED(VXFS_ISIMMED248,8984 -#define VXFS_ISTYPED(VXFS_ISTYPED249,9043 -#define VXFS_INO(VXFS_INO255,9158 -#define VXFS_SBI(VXFS_SBI261,9289 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_fshead.c,70 -vxfs_dumpfsh(47,1757 -vxfs_getfsh(76,2636 -vxfs_read_fshead(106,3225 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_super.c,318 -static struct super_operations vxfs_super_ops 61,2201 -vxfs_put_super(79,2640 -vxfs_statfs(110,3240 -static int vxfs_remount(126,3631 -static int vxfs_fill_super(148,4200 -static struct super_block *vxfs_get_sb(245,6392 -static struct file_system_type vxfs_fs_type 251,6586 -vxfs_init(260,6783 -vxfs_cleanup(271,7041 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_olt.h,538 -#define _VXFS_OLT_H_31,1463 -#define VXFS_OLT_MAGIC 44,1736 - VXFS_OLT_FREE 50,1811 - VXFS_OLT_FSHEAD 51,1831 - VXFS_OLT_CUT 52,1853 - VXFS_OLT_ILIST 53,1872 - VXFS_OLT_DEV 54,1893 - VXFS_OLT_SB 55,1912 -struct vxfs_olt vxfs_olt65,2182 -struct vxfs_oltcommon vxfs_oltcommon83,2861 -struct vxfs_oltfree vxfs_oltfree91,3026 -struct vxfs_oltilist vxfs_oltilist99,3198 -struct vxfs_oltcut vxfs_oltcut108,3409 -struct vxfs_oltsb vxfs_oltsb118,3695 -struct vxfs_oltdev vxfs_oltdev130,4076 -struct vxfs_oltfshead vxfs_oltfshead139,4283 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_kcompat.h,240 -#define _VXFS_KCOMPAT_H2,24 -typedef long sector_t;sector_t10,154 -static inline struct buffer_head * sb_bread(13,228 -static inline void map_bh(19,375 -static inline int sb_set_blocksize(27,591 -static inline int sb_min_blocksize(40,874 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_extern.h,32 -#define _VXFS_EXTERN_H_31,1466 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_immed.c,175 -struct inode_operations vxfs_immed_symlink_iops 51,1921 -struct address_space_operations vxfs_immed_aops 59,2117 -vxfs_immed_follow_link(76,2540 -vxfs_immed_readpage(99,3127 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_subr.c,184 -struct address_space_operations vxfs_aops 46,1802 -vxfs_put_page(53,1947 -vxfs_get_page(71,2290 -vxfs_bread(109,3009 -vxfs_getblk(136,3612 -vxfs_readpage(166,4222 -vxfs_bmap(187,4731 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_inode.c,347 -static struct file_operations vxfs_file_operations 49,1858 -kmem_cache_t *vxfs_inode_cachep;58,2078 -vxfs_dumpi(66,2180 -vxfs_blkiget(102,3326 -__vxfs_iget(144,4399 -vxfs_stiget(188,5495 -vxfs_transmod(202,5801 -vxfs_iinit(234,6409 -vxfs_get_fake_inode(270,7243 -vxfs_put_fake_inode(289,7613 -vxfs_read_inode(303,7871 -vxfs_clear_inode(348,8933 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_dir.h,329 -#define _VXFS_DIR_H_31,1463 -struct vxfs_dirblk vxfs_dirblk50,1937 -#define VXFS_NAMELEN 60,2190 -struct vxfs_direct vxfs_direct65,2248 -#define VXFS_DIRPAD 82,2849 -#define VXFS_NAMEMIN 83,2872 -#define VXFS_DIRROUND(VXFS_DIRROUND84,2935 -#define VXFS_DIRLEN(VXFS_DIRLEN85,3010 -#define VXFS_DIRBLKOV(VXFS_DIRBLKOV90,3138 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/freevxfs/vxfs_fshead.h,66 -#define _VXFS_FSHEAD_H_31,1466 -struct vxfs_fsh vxfs_fsh44,1663 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/catalog.c,372 -int hfsplus_cat_cmp_key(16,262 -void hfsplus_cat_build_key(28,532 -static void hfsplus_cat_build_key_uni(44,879 -static void hfsplus_set_perms(57,1249 -static int hfsplus_cat_build_record(74,1813 -static int hfsplus_fill_cat_thread(116,3462 -int hfsplus_find_cat(127,3868 -int hfsplus_create_cat(150,4453 -int hfsplus_delete_cat(204,5726 -int hfsplus_rename_cat(280,7715 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/wrapper.c,152 -struct hfsplus_wd hfsplus_wd21,406 -static int hfsplus_read_mdb(28,499 -static int hfsplus_get_last_session(55,1293 -int hfsplus_read_wrapper(86,2272 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/unicode.c,125 -static inline u16 case_fold(18,400 -int hfsplus_unistrcmp(31,693 -int hfsplus_uni2asc(62,1229 -int hfsplus_asc2uni(104,1904 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/extents.c,691 -int hfsplus_ext_cmp_key(20,447 -void hfsplus_ext_build_key(40,924 -static u32 hfsplus_ext_find_block(50,1195 -static int hfsplus_ext_block_count(65,1477 -static u32 hfsplus_ext_lastblock(75,1659 -static void __hfsplus_ext_write_extent(86,1882 -void hfsplus_ext_write_extent(106,2599 -static inline int __hfsplus_ext_read_extent(117,2861 -static inline int __hfsplus_ext_cache_extent(137,3470 -static int hfsplus_ext_read_extent(156,4196 -int hfsplus_get_block(172,4654 -static void hfsplus_dump_extent(226,6136 -static int hfsplus_add_extent(237,6402 -int hfsplus_free_extents(265,7065 -int hfsplus_free_fork(304,7906 -int hfsplus_file_extend(343,8833 -void hfsplus_file_truncate(433,11703 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/options.c,115 -void fill_defaults(17,333 -static int fill_fourchar(32,683 -static int fill_int(49,992 -int parse_options(67,1342 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/hfsplus_fs.h,3197 -#define _LINUX_HFSPLUS_FS_H11,184 -#define DBG_BNODE_REFS 18,319 -#define DBG_BNODE_MOD 19,353 -#define DBG_CAT_MOD 20,386 -#define DBG_INODE 21,417 -#define DBG_SUPER 22,446 -#define DBG_EXTENT 23,475 -#define DBG_BITMAP 24,505 -#define DBG_MASK 29,718 -#define dprint(dprint31,740 -#define HFSPLUS_DEF_CR_TYPE 35,849 -#define HFSPLUS_TYPE_DATA 37,906 -#define HFSPLUS_TYPE_RSRC 38,937 -typedef int (*btree_keycmp)btree_keycmp40,969 -#define NODE_HASH_SIZE 42,1041 -struct hfs_btree hfs_btree45,1104 -struct hfs_bnode hfs_bnode76,1661 -#define HFS_BNODE_LOCK 96,1943 -#define HFS_BNODE_ERROR 97,1969 -#define HFS_BNODE_NEW 98,1996 -#define HFS_BNODE_DIRTY 99,2021 -#define HFS_BNODE_DELETED 100,2048 -struct hfsplus_sb_info hfsplus_sb_info109,2182 -#define HFSPLUS_SB_WRITEBACKUP 152,2930 -struct hfsplus_inode_info hfsplus_inode_info155,2970 -#define HFSPLUS_FLG_RSRC 179,3535 -#define HFSPLUS_FLG_EXT_DIRTY 180,3567 -#define HFSPLUS_FLG_EXT_NEW 181,3604 -#define HFSPLUS_IS_DATA(HFSPLUS_IS_DATA183,3640 -#define HFSPLUS_IS_RSRC(HFSPLUS_IS_RSRC184,3720 -struct hfs_find_data hfs_find_data186,3798 -struct hfsplus_readdir_data hfsplus_readdir_data199,4075 -#define hfs_btree_open 205,4182 -#define hfs_btree_close 206,4224 -#define hfs_btree_write 207,4268 -#define hfs_bmap_alloc 208,4312 -#define hfs_bmap_free 209,4354 -#define hfs_bnode_read 210,4394 -#define hfs_bnode_read_u16 211,4436 -#define hfs_bnode_read_u8 212,4486 -#define hfs_bnode_read_key 213,4534 -#define hfs_bnode_write 214,4584 -#define hfs_bnode_write_u16 215,4628 -#define hfs_bnode_clear 216,4680 -#define hfs_bnode_copy 217,4724 -#define hfs_bnode_move 218,4766 -#define hfs_bnode_dump 219,4808 -#define hfs_bnode_unlink 220,4850 -#define hfs_bnode_findhash 221,4896 -#define hfs_bnode_find 222,4946 -#define hfs_bnode_unhash 223,4988 -#define hfs_bnode_free 224,5034 -#define hfs_bnode_create 225,5076 -#define hfs_bnode_get 226,5122 -#define hfs_bnode_put 227,5162 -#define hfs_brec_lenoff 228,5202 -#define hfs_brec_keylen 229,5246 -#define hfs_brec_insert 230,5290 -#define hfs_brec_remove 231,5334 -#define hfs_bnode_split 232,5378 -#define hfs_brec_update_parent 233,5422 -#define hfs_btree_inc_height 234,5480 -#define hfs_find_init 235,5534 -#define hfs_find_exit 236,5574 -#define __hfs_brec_find 237,5614 -#define hfs_brec_find 238,5658 -#define hfs_brec_read 239,5698 -#define hfs_brec_goto 240,5738 -#define hfs_part_find 241,5778 -#define HFSPLUS_IOC_EXT2_GETFLAGS 250,6005 -#define HFSPLUS_IOC_EXT2_SETFLAGS 251,6058 -#define EXT2_FLAG_IMMUTABLE 253,6112 -#define EXT2_FLAG_APPEND 254,6173 -#define EXT2_FLAG_NODUMP 255,6247 -#define HFSPLUS_SB(HFSPLUS_SB372,10725 -#define HFSPLUS_I(HFSPLUS_I373,10799 -#define hfsplus_kmap(hfsplus_kmap376,10890 -#define hfsplus_kunmap(hfsplus_kunmap377,10956 -#define hfsplus_kmap(hfsplus_kmap379,11036 -#define hfsplus_kunmap(hfsplus_kunmap380,11069 -#define sb_bread512(sb_bread512383,11113 -#define __hfsp_mt2ut(__hfsp_mt2ut401,11593 -#define __hfsp_ut2mt(__hfsp_ut2mt402,11649 -#define hfsp_mt2ut(hfsp_mt2ut405,11726 -#define hfsp_ut2mt(hfsp_ut2mt406,11796 -#define hfsp_now2mt(hfsp_now2mt407,11844 -#define kdev_t_to_nr(kdev_t_to_nr409,11896 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/ioctl.c,26 -int hfsplus_ioctl(20,424 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/inode.c,1034 -static int hfsplus_readpage(20,354 -static int hfsplus_writepage(26,523 -static int hfsplus_prepare_write(32,712 -static sector_t hfsplus_bmap(38,924 -int hfsplus_releasepage(43,1068 -static int hfsplus_get_blocks(106,2553 -static ssize_t hfsplus_direct_IO(117,2846 -static int hfsplus_writepages(127,3199 -struct address_space_operations hfsplus_btree_aops 133,3364 -struct address_space_operations hfsplus_aops 143,3659 -static struct dentry *hfsplus_file_lookup(154,3979 -static void hfsplus_get_perms(202,5132 -static void hfsplus_set_perms(238,6080 -static int hfsplus_permission(255,6645 -static int hfsplus_file_open(267,7059 -static int hfsplus_file_release(277,7303 -struct inode_operations hfsplus_file_inode_operations 300,7939 -struct file_operations hfsplus_file_operations 306,8105 -struct inode *hfsplus_new_inode(318,8438 -void hfsplus_delete_inode(372,10211 -void hfsplus_inode_read_fork(394,10654 -void hfsplus_inode_write_fork(418,11665 -int hfsplus_cat_read_inode(426,11960 -int hfsplus_cat_write_inode(487,14039 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/bfind.c,164 -int hfs_find_init(14,232 -void hfs_find_exit(30,628 -int __hfs_brec_find(40,942 -int hfs_brec_find(84,1984 -int hfs_brec_read(138,3042 -int hfs_brec_goto(151,3304 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/bitmap.c,100 -#define PAGE_CACHE_BITS 16,263 -int hfsplus_block_allocate(18,310 -int hfsplus_block_free(150,3289 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/brec.c,232 -u16 hfs_brec_lenoff(15,307 -u16 hfs_brec_keylen(27,625 -int hfs_brec_insert(49,1212 -int hfs_brec_remove(159,4133 -struct hfs_bnode *hfs_bnode_split(212,5461 -int hfs_brec_update_parent(321,8662 -int hfs_btree_inc_height(417,11102 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/part_tbl.c,442 -#define HFS_DD_BLK 19,571 -#define HFS_PMAP_BLK 20,623 -#define HFS_MDB_BLK 21,682 -#define HFS_DRVR_DESC_MAGIC 24,785 -#define HFS_OLD_PMAP_MAGIC 25,854 -#define HFS_NEW_PMAP_MAGIC 26,923 -#define HFS_SUPER_MAGIC 27,992 -#define HFS_MFS_SUPER_MAGIC 28,1058 -struct new_pmap new_pmap37,1337 -} __packed;50,1834 -struct old_pmap old_pmap59,2047 - struct old_pmap_entry old_pmap_entry61,2103 -} __packed;66,2197 -int hfs_part_find(74,2333 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/tables.c,28 -u16 case_fold_table[14,188 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/bnode.c,795 -#define REF_PAGES 21,392 -void hfs_bnode_read(24,479 -u16 hfs_bnode_read_u16(45,921 -u8 hfs_bnode_read_u8(53,1083 -void hfs_bnode_read_key(61,1226 -void hfs_bnode_write(76,1571 -void hfs_bnode_write_u16(99,2065 -void hfs_bnode_clear(106,2227 -void hfs_bnode_copy(128,2694 -void hfs_bnode_move(188,4118 -void hfs_bnode_dump(297,6658 -void hfs_bnode_unlink(333,7735 -static inline int hfs_bnode_hash(373,8701 -struct hfs_bnode *hfs_bnode_findhash(380,8828 -static struct hfs_bnode *__hfs_bnode_create(398,9210 -void hfs_bnode_unhash(461,10886 -struct hfs_bnode *hfs_bnode_find(477,11301 -void hfs_bnode_free(556,13338 -struct hfs_bnode *hfs_bnode_create(566,13528 -void hfs_bnode_get(599,14298 -void hfs_bnode_put(616,14669 -void hfsplus_lock_bnode(651,15469 -void hfsplus_unlock_bnode(656,15599 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/super.c,843 -void hfsplus_inode_check(25,526 -static void hfsplus_read_inode(40,919 -int hfsplus_write_inode(97,2387 -static void hfsplus_clear_inode(154,4219 -static void hfsplus_write_super(165,4556 -static void hfsplus_put_super(207,5944 -static int hfsplus_statfs(228,6606 -int hfsplus_remount(242,7059 -static struct super_operations hfsplus_sops 264,7815 -static int hfsplus_fill_super(276,8184 -static kmem_cache_t *hfsplus_inode_cachep;427,12949 -static struct inode *hfsplus_alloc_inode(429,12993 -static void hfsplus_destroy_inode(437,13187 -#define HFSPLUS_INODE_SIZE 442,13306 -static struct super_block *hfsplus_get_sb(444,13368 -static struct file_system_type hfsplus_fs_type 450,13574 -static void hfsplus_init_once(458,13762 -static int __init init_hfsplus_fs(466,14001 -static void __exit exit_hfsplus_fs(481,14349 -module_init(488,14560 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/btree.c,227 -struct hfs_btree *hfs_btree_open(19,349 -void hfs_btree_close(90,2327 -void hfs_btree_write(112,2801 -static struct hfs_bnode *hfs_bmap_new_bmap(140,3585 -struct hfs_bnode *hfs_bmap_alloc(173,4434 -void hfs_bmap_free(260,6421 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/dir.c,521 -static inline void hfsplus_instantiate(21,378 -static struct dentry *hfsplus_lookup(29,620 -static int hfsplus_readdir(106,2610 -static int hfsplus_dir_release(221,5555 -int hfsplus_create(231,5747 -int hfsplus_link(253,6215 -int hfsplus_unlink(305,7562 -int hfsplus_mkdir(349,8629 -int hfsplus_rmdir(370,9079 -int hfsplus_symlink(388,9456 -int hfsplus_mknod(418,10066 -int hfsplus_rename(443,10594 -struct inode_operations hfsplus_dir_inode_operations 463,11094 -struct file_operations hfsplus_dir_operations 475,11398 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/hfsplus/hfsplus_raw.h,3496 -#define _LINUX_HFSPLUS_RAW_H14,293 -#define __packed 18,349 -#define HFSPLUS_SECTOR_SIZE 21,413 -#define HFSPLUS_SECTOR_SHIFT 22,452 -#define HFSPLUS_VOLHEAD_SECTOR 23,491 -#define HFSPLUS_VOLHEAD_SIG 24,530 -#define HFSPLUS_SUPER_MAGIC 25,569 -#define HFSPLUS_CURRENT_VERSION 26,608 -#define HFSP_WRAP_MAGIC 28,648 -#define HFSP_WRAP_ATTRIB_SLOCK 29,687 -#define HFSP_WRAP_ATTRIB_SPARED 30,726 -#define HFSP_WRAPOFF_SIG 32,766 -#define HFSP_WRAPOFF_ATTRIB 33,805 -#define HFSP_WRAPOFF_ABLKSIZE 34,844 -#define HFSP_WRAPOFF_ABLKSTART 35,883 -#define HFSP_WRAPOFF_EMBEDSIG 36,922 -#define HFSP_WRAPOFF_EMBEDEXT 37,961 -#define HFSP_HIDDENDIR_NAME 39,1001 -#define HFSP_HARDLINK_TYPE 41,1098 -#define HFSP_HFSPLUS_CREATOR 42,1149 -#define HFSP_MOUNT_VERSION 44,1203 -typedef __be32 hfsplus_cnid;hfsplus_cnid48,1286 -typedef __be16 hfsplus_unichr;hfsplus_unichr49,1315 -struct hfsplus_unistr hfsplus_unistr52,1391 -} __packed;55,1461 -#define HFSPLUS_MAX_STRLEN 57,1474 -struct hfsplus_perm hfsplus_perm60,1530 -} __packed;67,1641 -#define HFSPLUS_FLG_NODUMP 69,1654 -#define HFSPLUS_FLG_IMMUTABLE 70,1686 -#define HFSPLUS_FLG_APPEND 71,1721 -struct hfsplus_extent hfsplus_extent74,1795 -} __packed;77,1861 -typedef struct hfsplus_extent hfsplus_extent_rec[hfsplus_extent_rec78,1873 -struct hfsplus_fork_raw hfsplus_fork_raw81,1968 -} __packed;86,2085 -struct hfsplus_vh hfsplus_vh89,2123 -} __packed;123,2771 -#define HFSPLUS_VOL_UNMNT 126,2813 -#define HFSPLUS_VOL_SPARE_BLK 127,2852 -#define HFSPLUS_VOL_NOCACHE 128,2891 -#define HFSPLUS_VOL_INCNSTNT 129,2931 -#define HFSPLUS_VOL_SOFTLOCK 130,2971 -struct hfs_bnode_desc hfs_bnode_desc133,3045 -} __packed;140,3152 -#define HFS_NODE_INDEX 143,3193 -#define HFS_NODE_HEADER 144,3221 -#define HFS_NODE_MAP 145,3250 -#define HFS_NODE_LEAF 146,3276 -struct hfs_btree_header_rec hfs_btree_header_rec149,3328 -} __packed;165,3632 -#define HFS_TREE_BIGKEYS 168,3668 -#define HFS_TREE_VARIDXKEYS 169,3695 -#define HFSPLUS_TREE_HEAD 172,3753 -#define HFSPLUS_NODE_MXSZ 173,3781 -#define HFSPLUS_POR_CNID 176,3869 -#define HFSPLUS_ROOT_CNID 177,3922 -#define HFSPLUS_EXT_CNID 178,3972 -#define HFSPLUS_CAT_CNID 179,4021 -#define HFSPLUS_BAD_CNID 180,4070 -#define HFSPLUS_ALLOC_CNID 181,4120 -#define HFSPLUS_START_CNID 182,4172 -#define HFSPLUS_ATTR_CNID 183,4221 -#define HFSPLUS_EXCH_CNID 184,4272 -#define HFSPLUS_FIRSTUSER_CNID 185,4330 -struct hfsplus_cat_key hfsplus_cat_key188,4425 -} __packed;192,4518 -struct hfsp_point hfsp_point196,4557 -} __packed;199,4599 -struct hfsp_rect hfsp_rect201,4612 -} __packed;206,4689 -struct DInfo DInfo210,4747 -} __packed;215,4852 -struct DXInfo DXInfo217,4865 -} __packed;223,4987 -struct hfsplus_cat_folder hfsplus_cat_folder226,5054 -} __packed;241,5388 -struct FInfo FInfo244,5441 -} __packed;250,5555 -struct FXInfo FXInfo252,5568 -} __packed;257,5657 -struct hfsplus_cat_file hfsplus_cat_file260,5713 -} __packed;278,6118 -#define HFSPLUS_FILE_LOCKED 281,6157 -#define HFSPLUS_FILE_THREAD_EXISTS 282,6193 -struct hfsplus_cat_thread hfsplus_cat_thread285,6284 -} __packed;290,6398 -#define HFSPLUS_MIN_THREAD_SZ 292,6411 -} __packed hfsplus_cat_entry;hfsplus_cat_entry300,6616 -#define HFSPLUS_FOLDER 303,6677 -#define HFSPLUS_FILE 304,6715 -#define HFSPLUS_FOLDER_THREAD 305,6753 -#define HFSPLUS_FILE_THREAD 306,6791 -struct hfsplus_ext_key hfsplus_ext_key309,6858 -} __packed;315,6965 -#define HFSPLUS_EXT_KEYLEN 317,6978 -} __packed hfsplus_btree_key;hfsplus_btree_key324,7129 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfsproc.c,883 -typedef struct svc_rqst svc_rqst;svc_rqst27,568 -typedef struct svc_buf svc_buf;svc_buf28,602 -#define NFSDDBG_FACILITY 30,635 -nfsd_proc_null(34,687 -nfsd_proc_getattr(44,865 -nfsd_proc_setattr(58,1206 -nfsd_proc_lookup(76,1733 -nfsd_proc_readlink(96,2130 -nfsd_proc_read(116,2575 -nfsd_proc_write(153,3502 -nfsd_proc_create(178,4196 -nfsd_proc_remove(329,8174 -nfsd_proc_rename(344,8554 -nfsd_proc_link(362,9037 -nfsd_proc_symlink(382,9445 -nfsd_proc_mkdir(411,10112 -nfsd_proc_rmdir(435,10682 -nfsd_proc_readdir(451,11040 -nfsd_proc_statfs(490,11922 -#define nfsd_proc_none 506,12291 -#define nfssvc_release_none 507,12320 -struct nfsd_void nfsd_void508,12353 -#define PROC(PROC510,12387 -#define ST 522,12735 -#define FH 523,12762 -#define AT 524,12793 -static struct svc_procedure nfsd_procedures2[526,12826 -struct svc_version nfsd_version2 548,14042 -nfserrno 560,14254 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/lockd.c,170 -#define NFSDDBG_FACILITY 20,529 -nlm_fopen(26,650 -nlm_fclose(61,1425 -struct nlmsvc_binding nfsd_nlm_ops 66,1473 -nfsd_lockd_init(72,1615 -nfsd_lockd_shutdown(79,1716 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs4acl.c,1102 -#define NFS4_READ_MODE 52,2058 -#define NFS4_WRITE_MODE 53,2130 -#define NFS4_EXECUTE_MODE 54,2228 -#define NFS4_ANYONE_MODE 55,2271 -#define NFS4_OWNER_MODE 56,2366 -#define NFS4_INHERITANCE_FLAGS 59,2488 -#define MASK_EQUAL(MASK_EQUAL62,2613 -mask_from_posix(66,2728 -deny_mask(84,3138 -mode_from_nfs4(93,3319 -struct ace_container ace_container112,3829 -nfs4_acl_posix_to_nfsv4(124,4257 -nfs4_acl_add_pair(167,5040 -_posix_to_nfsv4_one(183,5505 -sort_pacl_range(292,8501 -sort_pacl(313,9031 -write_pace(335,9486 -get_next_v4_ace(354,10026 -nfs4_acl_nfsv4_to_posix(367,10232 -same_who(426,11211 -complementary_ace_pair(433,11370 -user_obj_from_v4(448,11825 -users_from_v4(475,12440 -group_obj_and_groups_from_v4(520,13563 -mask_from_v4(652,16583 -other_from_v4(673,17094 -calculate_posix_ace_count(698,17684 -_nfsv4_to_posix_one(715,18128 -nfs4_acl_split(772,19292 -ace2type(800,19824 -nfs4_acl_new(821,20267 -nfs4_acl_free(835,20456 -nfs4_acl_add_ace(856,20737 -} s2t_map[880,21184 -nfs4_acl_get_whotype(899,21529 -nfs4_acl_write_who(912,21783 -match_who(927,22056 -nfs4_acl_permission(945,22459 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs3xdr.c,1854 -#define NFSDDBG_FACILITY 25,563 -# define inline28,629 -static u32 nfs3_ftypes[35,705 -encode_time3(46,942 -decode_time3(53,1086 -decode_fh(61,1225 -encode_fh(75,1504 -decode_filename(89,1839 -decode_pathname(105,2143 -decode_sattr3(121,2432 -encode_fattr3(167,3499 -encode_saved_post_attr(203,4627 -encode_post_op_attr(241,5903 -encode_wcc_data(256,6235 -nfs3svc_decode_fhandle(281,6805 -nfs3svc_decode_sattrargs(289,6982 -nfs3svc_decode_diropargs(306,7353 -nfs3svc_decode_accessargs(317,7597 -nfs3svc_decode_readargs(328,7816 -nfs3svc_decode_writeargs(358,8452 -nfs3svc_decode_createargs(394,9318 -nfs3svc_decode_mkdirargs(418,9821 -nfs3svc_decode_symlinkargs(430,10109 -nfs3svc_decode_mknodargs(482,11462 -nfs3svc_decode_renameargs(506,12024 -nfs3svc_decode_readlinkargs(519,12368 -nfs3svc_decode_linkargs(531,12656 -nfs3svc_decode_readdirargs(543,12938 -nfs3svc_decode_readdirplusargs(563,13402 -nfs3svc_decode_commitargs(591,14020 -nfs3svc_encode_voidres(610,14410 -nfs3svc_encode_attrstat(617,14538 -nfs3svc_encode_wccstat(627,14769 -nfs3svc_encode_diropres(636,14960 -nfs3svc_encode_accessres(649,15267 -nfs3svc_encode_readlinkres(660,15521 -nfs3svc_encode_readres(682,16055 -nfs3svc_encode_writeres(707,16727 -nfs3svc_encode_createres(722,17106 -nfs3svc_encode_renameres(736,17428 -nfs3svc_encode_linkres(746,17665 -nfs3svc_encode_readdirres(756,17904 -encode_entry_baggage(781,18649 -encode_entryplus_baggage(795,19065 -compose_entry_fh(806,19316 -#define NFS3_ENTRY_BAGGAGE 844,20238 -#define NFS3_ENTRYPLUS_BAGGAGE 845,20281 -encode_entry(847,20357 -nfs3svc_encode_entry(993,24217 -nfs3svc_encode_entry_plus(1000,24418 -nfs3svc_encode_fsstatres(1008,24635 -nfs3svc_encode_fsinfores(1030,25351 -nfs3svc_encode_pathconfres(1054,25918 -nfs3svc_encode_commitres(1073,26371 -nfs3svc_release_fhandle(1089,26708 -nfs3svc_release_fhandle2(1097,26838 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs3proc.c,1526 -#define NFSDDBG_FACILITY 28,580 -#define RETURN_STATUS(RETURN_STATUS30,620 -static int nfs3_ftypes[32,685 -nfsd3_proc_null(47,940 -nfsd3_proc_getattr(56,1070 -nfsd3_proc_setattr(73,1412 -nfsd3_proc_lookup(91,1813 -nfsd3_proc_access(115,2275 -nfsd3_proc_readlink(134,2675 -nfsd3_proc_read(152,3097 -nfsd3_proc_write(191,4037 -nfsd3_proc_create(219,4801 -nfsd3_proc_mkdir(261,5811 -nfsd3_proc_symlink(281,6292 -nfsd3_proc_mknod(303,6839 -nfsd3_proc_remove(339,7753 -nfsd3_proc_rmdir(359,8209 -nfsd3_proc_rename(375,8574 -nfsd3_proc_link(397,9116 -nfsd3_proc_readdir(420,9625 -nfsd3_proc_readdirplus(455,10620 -nfsd3_proc_fsstat(513,12127 -nfsd3_proc_fsinfo(530,12461 -nfsd3_proc_pathconf(571,13558 -nfsd3_proc_commit(614,14537 -#define nfs3svc_decode_voidargs 638,15085 -#define nfs3svc_release_void 639,15123 -#define nfs3svc_decode_fhandleargs 640,15158 -#define nfs3svc_encode_attrstatres 641,15216 -#define nfs3svc_encode_wccstatres 642,15275 -#define nfsd3_mkdirargs 643,15332 -#define nfsd3_readdirplusargs 644,15375 -#define nfsd3_fhandleargs 645,15424 -#define nfsd3_fhandleres 646,15464 -#define nfsd3_attrstatres 647,15505 -#define nfsd3_wccstatres 648,15547 -#define nfsd3_createres 649,15588 -#define nfsd3_voidres 650,15629 -struct nfsd3_voidargs nfsd3_voidargs651,15668 -#define PROC(PROC653,15707 -#define ST 665,16072 -#define FH 666,16098 -#define AT 667,16142 -#define pAT 668,16174 -#define WC 669,16229 -static struct svc_procedure nfsd_procedures3[671,16270 -struct svc_version nfsd_version3 696,17838 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/auth.c,55 -#define CAP_NFSD_MASK 13,238 -int nfsd_setuser(15,305 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs4state.c,5161 -#define NFSDDBG_FACILITY 51,1991 -static time_t lease_time 54,2059 -static time_t old_lease_time 55,2119 -static u32 nfs4_reclaim_init 56,2188 -time_t boot_time;57,2222 -static time_t grace_end 58,2240 -static u32 current_clientid 59,2269 -static u32 current_ownerid;60,2302 -static u32 current_fileid;61,2330 -static u32 nfs4_init;62,2357 -stateid_t zerostateid;63,2379 -stateid_t onestateid;64,2431 -u32 list_add_perfile 67,2505 -u32 list_del_perfile 68,2532 -u32 add_perclient 69,2558 -u32 del_perclient 70,2581 -u32 alloc_file 71,2604 -u32 free_file 72,2624 -u32 alloc_sowner 73,2643 -u32 free_sowner 74,2665 -u32 vfsopen 75,2686 -u32 vfsclose 76,2703 -u32 alloc_lsowner=77,2721 -nfs4_lock_state(91,3011 -nfs4_unlock_state(100,3112 -opaque_hashval(106,3178 -#define CLIENT_HASH_BITS 129,3624 -#define CLIENT_HASH_SIZE 130,3667 -#define CLIENT_HASH_MASK 131,3731 -#define clientid_hashval(clientid_hashval133,3795 -#define clientstr_hashval(clientstr_hashval135,3853 -static struct list_head reclaim_str_hashtbl[153,4469 -static int reclaim_str_hashtbl_size;154,4532 -static struct list_head conf_id_hashtbl[155,4569 -static struct list_head conf_str_hashtbl[156,4628 -static struct list_head unconf_str_hashtbl[157,4688 -static struct list_head unconf_id_hashtbl[158,4750 -static struct list_head client_lru;159,4811 -static struct list_head close_lru;160,4847 -renew_client(163,4902 -STALE_CLIENTID(177,5251 -alloc_client(192,5631 -free_client(211,6037 -expire_client(220,6210 -create_client(236,6604 -copy_verf(250,6887 -copy_clid(255,7048 -copy_cred(261,7249 -cmp_name(270,7482 -cmp_verf(277,7653 -cmp_clid(282,7770 -cmp_creds(289,7935 -gen_clid(295,8043 -gen_confirm(301,8180 -check_name(312,8361 -add_to_unconfirmed(324,8565 -move_to_confirmed(336,8920 -parse_octet(353,9409 -parse_ipv4(386,9863 -gen_callback(422,10510 -nfsd4_setclientid(473,12363 -nfsd4_setclientid_confirm(648,17307 -#define OWNER_HASH_BITS 773,20944 -#define OWNER_HASH_SIZE 774,20983 -#define OWNER_HASH_MASK 775,21042 -#define ownerid_hashval(ownerid_hashval777,21101 -#define ownerstr_hashval(ownerstr_hashval779,21164 -static struct list_head ownerid_hashtbl[782,21306 -static struct list_head ownerstr_hashtbl[783,21364 -#define FILE_HASH_BITS 786,21455 -#define FILE_HASH_SIZE 787,21498 -#define FILE_HASH_MASK 788,21560 -#define STATEID_HASH_BITS 790,21661 -#define STATEID_HASH_SIZE 791,21703 -#define STATEID_HASH_MASK 792,21767 -#define file_hashval(file_hashval794,21831 -#define stateid_hashval(stateid_hashval796,21893 -static struct list_head file_hashtbl[799,21995 -static struct list_head stateid_hashtbl[800,22049 -alloc_init_file(804,22183 -release_all_files(819,22564 -alloc_stateowner(837,23020 -free_stateowner(854,23414 -alloc_init_open_stateowner(864,23585 -release_stateid_lockowner(897,24618 -unhash_stateowner(911,25001 -release_stateowner(931,25481 -init_stateid(939,25632 -release_stateid(963,26521 -release_file(983,27020 -move_to_close_lru(992,27138 -release_state_owner(1002,27363 -cmp_owner_str(1024,27999 -find_openstateowner_str(1032,28306 -verify_clientid(1046,28702 -find_file(1063,29086 -#define TEST_ACCESS(TEST_ACCESS1075,29342 -#define TEST_DENY(TEST_DENY1076,29388 -set_access(1079,29439 -set_deny(1090,29598 -test_share(1101,29756 -nfs4_share_conflict(1116,30138 -nfs4_file_upgrade(1138,30748 -nfs4_file_downgrade(1152,31072 -nfsd4_process_open1(1178,31602 -nfsd4_process_open2(1259,33796 -static struct work_struct laundromat_work;1384,37090 -nfsd4_renew(1389,37237 -nfs4_laundromat(1428,38173 -laundromat_main(1472,39431 -find_openstateowner_id(1485,39738 -nfs4_check_fh(1499,40054 -STALE_STATEID(1506,40230 -nfs4_preprocess_stateid_op(1521,40520 -nfs4_preprocess_seqid_op(1575,41898 -first_state(1707,45465 -nfsd4_open_confirm(1717,45625 -reset_union_bmap_access(1761,46855 -reset_union_bmap_deny(1771,47027 -nfsd4_open_downgrade(1785,47234 -nfsd4_close(1836,48771 -#define LOFF_OVERFLOW(LOFF_OVERFLOW1869,49680 -#define LOCK_HASH_BITS 1870,49748 -#define LOCK_HASH_SIZE 1871,49786 -#define LOCK_HASH_MASK 1872,49843 -#define lockownerid_hashval(lockownerid_hashval1874,49900 -#define lock_ownerstr_hashval(lock_ownerstr_hashval1876,49966 -static struct list_head lock_ownerid_hashtbl[1879,50133 -static struct list_head lock_ownerstr_hashtbl[1880,50195 -static struct list_head lockstateid_hashtbl[1881,50258 -find_stateid(1884,50345 -nfs4_transform_lock_offset(1922,51673 -nfs4_verify_lock_stateowner(1931,51841 -nfs4_set_lock_denied(1950,52208 -find_lockstateowner(1968,52776 -find_lockstateowner_str(1984,53107 -alloc_init_lock_stateowner(2007,53729 -alloc_init_lock_stateid(2041,54896 -check_lock_length(2073,55963 -nfsd4_lock(2085,56175 -nfsd4_lockt(2268,61379 -nfsd4_locku(2355,63684 -check_for_locks(2425,65526 -nfsd4_release_lockowner(2443,65900 -alloc_reclaim(2488,67028 -nfs4_client_to_reclaim(2507,67390 -nfs4_release_reclaim(2526,67934 -nfs4_find_reclaim_client(2548,68485 -nfs4_check_open_reclaim(2581,69297 -nfs4_state_init(2598,69568 -nfs4_in_grace(2650,71024 -set_no_grace(2656,71089 -nfs4_lease_time(2663,71221 -__nfs4_state_shutdown(2669,71280 -nfs4_state_shutdown(2701,72255 -nfs4_reset_lease(2732,73331 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfscache.c,572 -#define CACHESIZE 29,670 -#define HASHSIZE 30,694 -#define REQHASH(REQHASH31,715 -struct nfscache_head nfscache_head33,779 -static struct nfscache_head * hash_list;38,864 -static struct svc_cacherep * lru_head;39,905 -static struct svc_cacherep * lru_tail;40,944 -static struct svc_cacherep * nfscache;41,983 -static int cache_disabled 42,1022 -static spinlock_t cache_lock 51,1297 -nfsd_cache_init(54,1354 -nfsd_cache_shutdown(102,2506 -lru_put_front(128,3033 -hash_refile(153,3461 -nfsd_cache_lookup(174,4028 -nfsd_cache_update(308,7477 -nfsd_cache_append(361,8736 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs4proc.c,1102 -#define NFSDDBG_FACILITY 57,2336 -fh_dup2(60,2395 -do_open_permission(70,2564 -do_open_lookup(91,3095 -do_open_fhandle(135,4204 -nfsd4_open(168,5062 -nfsd4_getfh(244,7431 -nfsd4_putfh(254,7614 -nfsd4_putrootfh(263,7923 -nfsd4_restorefh(276,8228 -nfsd4_savefh(286,8419 -nfsd4_access(299,8638 -nfsd4_commit(309,8963 -nfsd4_create(324,9334 -nfsd4_getattr(408,11654 -nfsd4_link(427,12104 -nfsd4_lookupp(441,12474 -nfsd4_lookup(459,12905 -access_bits_permit_read(465,13106 -access_bits_permit_write(472,13288 -nfsd4_read(479,13472 -nfsd4_readdir(531,14886 -nfsd4_readlink(554,15592 -nfsd4_remove(562,15791 -nfsd4_rename(577,16168 -nfsd4_setattr(607,17124 -nfsd4_write(656,18367 -nfsd4_verify(717,20170 -nfsd4_proc_null(771,21494 -nfsd4_proc_compound(781,21616 -#define nfs4svc_decode_voidargs 1006,28327 -#define nfs4svc_release_void 1007,28365 -#define nfsd4_voidres 1008,28400 -#define nfs4svc_release_compound 1009,28439 -struct nfsd4_voidargs nfsd4_voidargs1010,28477 -#define PROC(PROC1012,28516 -static struct svc_procedure nfsd_procedures4[1034,29394 -struct svc_version nfsd_version4 1039,29576 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/export.c,2146 -#define MSNFS 1,0 -#define NFSDDBG_FACILITY 36,917 -#define NFSD_PARANOIA 37,957 -typedef struct auth_domain svc_client;svc_client39,982 -typedef struct svc_export svc_export;svc_export40,1021 -#define EXPKEY_HASHBITS 54,1477 -#define EXPKEY_HASHMAX 55,1504 -#define EXPKEY_HASHMASK 56,1551 -static struct cache_head *expkey_table[57,1596 -static inline int svc_expkey_hash(59,1653 -void expkey_put(70,1953 -void expkey_request(82,2293 -int expkey_parse(98,2789 -static int expkey_show(197,4846 -struct cache_detail svc_expkey_cache 223,5559 -static inline int svc_expkey_match 233,5802 -static inline void svc_expkey_init(242,6055 -static inline void svc_expkey_update(252,6362 -#define EXPORT_HASHBITS 260,6592 -#define EXPORT_HASHMAX 261,6619 -#define EXPORT_HASHMASK 262,6665 -static DefineSimpleCacheLookup(258,6521 -void svc_export_put(276,7003 -void svc_export_request(287,7274 -static int check_export(313,7954 -int svc_export_parse(348,9001 -static int svc_export_show(441,10779 -struct cache_detail svc_export_cache 463,11380 -static inline int svc_export_match(473,11643 -static inline void svc_export_init(479,11826 -static inline void svc_export_update(487,12061 -static DefineSimpleCacheLookup(495,12294 -int exp_set_key(521,12860 -exp_get_key(545,13365 -exp_get_fsid_key(561,13705 -exp_get_by_name(571,13853 -exp_parent(601,14387 -exp_readlock(631,15024 -exp_writelock(637,15090 -exp_readunlock(643,15144 -exp_writeunlock(649,15210 -static void exp_fsid_unhash(654,15259 -static int exp_fsid_hash(669,15601 -static int exp_hash(680,15815 -static void exp_unhash(694,16173 -exp_export(711,16558 -exp_do_unexport(819,18944 -exp_unexport(832,19148 -exp_rootfh(881,20142 -exp_pseudoroot(928,21235 -static void *e_start(951,21758 -static void *e_next(979,22304 -static void e_stop(1004,22763 -struct flags flags1010,22878 -} expflags[1013,22920 -static void exp_flags(1030,23454 -static int e_show(1048,24039 -struct seq_operations nfs_exports_op 1068,24534 -exp_addclient(1081,24820 -exp_delclient(1121,25496 -exp_verify_string(1152,26067 -nfsd_export_init(1168,26305 -nfsd_export_flush(1181,26532 -nfsd_export_shutdown(1193,26709 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs4idmap.c,1234 -#define IDMAP_TYPE_USER 68,2359 -#define IDMAP_TYPE_GROUP 69,2386 -struct ent ent71,2414 -#define DefineSimpleCacheLookupMap(DefineSimpleCacheLookupMap79,2610 -#define ENT_HASHBITS 87,2935 -#define ENT_HASHMAX 88,2967 -#define ENT_HASHMASK 89,3017 -ent_init(92,3085 -ent_update(102,3307 -ent_put(108,3383 -static struct cache_head *idtoname_table[120,3568 -idtoname_hash(123,3640 -idtoname_request(138,3897 -idtoname_match(153,4293 -idtoname_show(160,4448 -warn_no_idmapd(179,4895 -struct cache_detail idtoname_cache 189,5184 -idtoname_parse(201,5474 -static struct cache_head *nametoid_table[272,6825 -nametoid_hash(275,6899 -nametoid_request(281,6983 -nametoid_match(294,7318 -nametoid_show(301,7488 -struct cache_detail nametoid_cache 322,8050 -nametoid_parse(334,8340 -nfsd_idmap_init(398,9570 -nfsd_idmap_shutdown(405,9670 -struct idmap_defer_req idmap_defer_req415,9810 -put_mdr(423,9992 -get_mdr(430,10106 -idmap_revisit(436,10186 -idmap_defer(446,10416 -do_idmap_lookup(457,10645 -do_idmap_lookup_nowait(468,10939 -idmap_lookup(494,11521 -idmap_name_to_id(519,12202 -idmap_id_to_name(543,12779 -nfsd_map_name_to_uid(565,13293 -nfsd_map_name_to_gid(572,13463 -nfsd_map_uid_to_name(579,13634 -nfsd_map_gid_to_name(585,13770 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfsxdr.c,925 -#define NFSDDBG_FACILITY 19,355 -# define inline23,422 -static u32 nfs_ftypes[29,497 -decode_fh(41,718 -encode_fh(53,1012 -decode_filename(64,1249 -decode_pathname(80,1552 -decode_sattr(96,1840 -encode_fattr(149,3435 -nfssvc_decode_void(198,4787 -nfssvc_decode_fhandle(204,4897 -nfssvc_decode_sattrargs(212,5073 -nfssvc_decode_diropargs(223,5301 -nfssvc_decode_readargs(234,5544 -nfssvc_decode_writeargs(266,6275 -nfssvc_decode_createargs(296,7045 -nfssvc_decode_renameargs(308,7331 -nfssvc_decode_readlinkargs(321,7673 -nfssvc_decode_linkargs(332,7954 -nfssvc_decode_symlinkargs(344,8234 -nfssvc_decode_readdirargs(357,8583 -nfssvc_encode_void(377,9014 -nfssvc_encode_attrstat(383,9124 -nfssvc_encode_diropres(391,9298 -nfssvc_encode_readlinkres(400,9502 -nfssvc_encode_readres(417,9893 -nfssvc_encode_readdirres(437,10380 -nfssvc_encode_statfsres(450,10691 -nfssvc_encode_entry(464,11046 -nfssvc_release_fhandle(506,12085 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfsfh.c,361 -#define NFSDDBG_FACILITY 26,660 -#define NFSD_PARANOIA 27,697 -static int nfsd_nr_verified;31,758 -static int nfsd_nr_put;32,787 -#define CALL(CALL36,864 -int nfsd_acceptable(44,1103 -fh_verify(85,2120 -inline int _fh_update(289,7748 -inline void _fh_update_old(306,8137 -fh_compose(317,8462 -fh_update(453,12417 -fh_put(499,13505 -char * SVCFH_fmt(523,13927 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfssvc.c,673 -#define NFSDDBG_FACILITY 35,764 -#define ALLOWED_SIGS 40,887 -#define SHUTDOWN_SIGS 44,1034 -#define SIG_NOCLEAN 49,1300 -struct timeval nfssvc_boot;53,1412 -static struct svc_serv *nfsd_serv;54,1442 -static atomic_t nfsd_busy;55,1479 -static unsigned long nfsd_last_call;56,1508 -static spinlock_t nfsd_call_lock 57,1546 -struct nfsd_list nfsd_list59,1603 -struct list_head nfsd_list 63,1677 -#define NFSD_MAXSERVS 68,1777 -int nfsd_nrthreads(70,1806 -nfsd_svc(79,1916 -update_thread_usage(148,3488 -nfsd(172,4049 -nfsd_dispatch(290,6718 -static struct svc_version * nfsd_version[364,8681 -#define NFSD_NRVERS 374,8871 -struct svc_program nfsd_program 375,8939 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/stats.c,253 -struct nfsd_stats nfsdstats;38,1104 -struct svc_stat nfsd_svcstats 39,1133 -static int nfsd_proc_show(43,1199 -static int nfsd_proc_open(78,2136 -static struct file_operations nfsd_proc_fops 83,2256 -nfsd_stat_init(92,2432 -nfsd_stat_shutdown(98,2516 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfsctl.c,1211 - NFSD_Root 42,863 - NFSD_Svc,43,879 - NFSD_Add,44,890 - NFSD_Del,45,901 - NFSD_Export,46,912 - NFSD_Unexport,47,926 - NFSD_Getfd,48,942 - NFSD_Getfs,49,955 - NFSD_List,50,968 - NFSD_Fh,51,980 - NFSD_Threads,52,990 - NFSD_Leasetime,53,1005 -static ssize_t (*write_op[70,1781 -static ssize_t (*write_op[])(struct file 70,1781 -static ssize_t (*write_op[])(struct file *, char *, size_t)70,1781 -static ssize_t nfsctl_transaction_write(83,2149 -static struct file_operations transaction_ops 104,2633 -static int exports_open(111,2844 -static struct file_operations exports_operations 116,2954 -static ssize_t write_svc(130,3350 -static ssize_t write_add(139,3582 -static ssize_t write_del(148,3795 -static ssize_t write_export(157,4008 -static ssize_t write_unexport(166,4220 -static ssize_t write_getfs(176,4437 -static ssize_t write_getfd(210,5227 -static ssize_t write_filehandle(249,6060 -static ssize_t write_threads(307,7226 -static ssize_t write_leasetime(331,7742 -static int nfsd_fill_super(357,8308 -static struct super_block *nfsd_get_sb(378,9214 -static struct file_system_type nfsd_fs_type 384,9400 -static int __init init_nfsd(391,9550 -static void __exit exit_nfsd(421,10396 -module_init(437,10797 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/vfs.c,1304 -#define MSNFS 1,0 -#define NFSDDBG_FACILITY 61,1770 -#define NFSD_PARANOIA62,1811 -#define IS_ISMNDLK(IS_ISMNDLK69,1989 -struct raparms raparms78,2336 -static struct raparms * raparml;87,2481 -static struct raparms * raparm_cache;88,2515 -nfsd_cross_mnt(97,2764 -nfsd_lookup(143,4063 -nfsd_setattr(239,6207 -#define BOTH_TIME_SET 274,7322 -#define MAX_TOUCH_TIME_ERROR 275,7378 -set_nfsv4_acl_one(362,9644 -nfsd4_set_nfs4_acl(397,10390 -_get_posix_acl(444,11331 -nfsd4_get_nfs4_acl(499,12367 -struct accessmap accessmap544,13412 -static struct accessmap nfs3_regaccess[548,13459 -static struct accessmap nfs3_diraccess[557,13697 -static struct accessmap nfs3_anyaccess[567,13992 -nfsd_access(584,14580 -nfsd_open(650,15914 -nfsd_close(705,17184 -inline void nfsd_dosync(715,17341 -nfsd_sync(729,17671 -nfsd_sync_dir(739,17911 -static spinlock_t ra_lock 748,18076 -nfsd_get_raparms(751,18156 -nfsd_read_actor(792,19068 -nfsd_read(824,19944 -nfsd_write(889,21348 -nfsd_commit(1015,24630 -nfsd_create(1048,25430 -nfsd_create_v3(1172,28229 -nfsd_readlink(1322,32001 -nfsd_symlink(1366,32862 -nfsd_link(1434,34317 -nfsd_rename(1495,35401 -nfsd_unlink(1589,37565 -nfsd_readdir(1653,38739 -nfsd_statfs(1699,39778 -nfsd_permission(1711,40067 -nfsd_racache_shutdown(1789,42602 -nfsd_racache_init(1801,42808 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/nfsd/nfs4xdr.c,3040 -#define NFSDDBG_FACILITY 61,2497 -static const char utf8_byte_len[63,2536 -is_legal_utf8_sequence(75,3134 -is_allowed_utf8_char(111,3931 -check_utf8(152,5139 -check_filename(179,5710 -#define DECODE_HEAD 203,6389 -#define DECODE_TAIL 206,6441 -#define READ32(READ32215,6641 -#define READ64(READ64216,6685 -#define READTIME(READTIME220,6791 -#define READMEM(READMEM225,6886 -#define SAVEMEM(SAVEMEM229,6984 -#define COPYMEM(COPYMEM238,7262 -#define READ_BUF(READ_BUF244,7425 -u32 *read_buf(254,7737 -defer_free(293,8743 -char *savemem(308,9020 -nfsd4_decode_bitmap(330,9410 -nfsd4_decode_fattr(353,9727 -nfsd4_decode_access(538,14407 -#define NFS4_STATE_NOT_LOCKED 548,14570 -nfsd4_decode_close(551,14625 -nfsd4_decode_commit(566,14966 -nfsd4_decode_create(578,15164 -nfsd4_decode_getattr(620,16115 -nfsd4_decode_link(626,16270 -nfsd4_decode_lock(641,16601 -nfsd4_decode_lockt(680,17692 -nfsd4_decode_locku(699,18162 -nfsd4_decode_lookup(718,18675 -nfsd4_decode_open(733,19008 -nfsd4_decode_open_confirm(811,21067 -nfsd4_decode_open_downgrade(825,21469 -nfsd4_decode_putfh(841,21939 -nfsd4_decode_read(856,22230 -nfsd4_decode_readdir(870,22545 -nfsd4_decode_remove(886,22972 -nfsd4_decode_rename(901,23321 -nfsd4_decode_renew(921,23893 -nfsd4_decode_setattr(932,24084 -nfsd4_decode_setclientid(946,24468 -nfsd4_decode_setclientid_confirm(971,25233 -nfsd4_decode_verify(984,25539 -nfsd4_decode_write(1020,26429 -nfsd4_decode_release_lockowner(1071,27844 -nfsd4_decode_compound(1085,28204 -#define ENCODE_HEAD 1287,33527 -#define WRITE32(WRITE321289,33568 -#define WRITE64(WRITE641290,33617 -#define WRITEMEM(WRITEMEM1294,33741 -#define WRITECINFO(WRITECINFO1299,33918 -#define RESERVE_SPACE(RESERVE_SPACE1307,34155 -#define ADJUST_ARGS(ADJUST_ARGS1311,34277 -#define ENCODE_SEQID_OP_HEAD 1316,34376 -#define ENCODE_SEQID_OP_TAIL(ENCODE_SEQID_OP_TAIL1329,34637 -static u32 nfs4_ftypes[1345,35182 -nfsd4_encode_name(1353,35396 -nfsd4_encode_user(1375,36012 -nfsd4_encode_group(1381,36183 -nfsd4_encode_aclname(1387,36355 -nfsd4_encode_fattr(1402,36762 -nfsd4_encode_dirent(1774,45891 -nfsd4_encode_access(1901,49169 -nfsd4_encode_close(1914,49418 -nfsd4_encode_commit(1929,49779 -nfsd4_encode_create(1941,49997 -nfsd4_encode_getattr(1956,50288 -nfsd4_encode_getfh(1975,50735 -nfsd4_encode_lock_denied(1994,51179 -nfsd4_encode_lock(2014,51780 -nfsd4_encode_lockt(2031,52236 -nfsd4_encode_locku(2038,52426 -nfsd4_encode_link(2054,52800 -nfsd4_encode_open(2067,53007 -nfsd4_encode_open_confirm(2132,54504 -nfsd4_encode_open_downgrade(2147,54889 -nfsd4_encode_read(2162,55267 -nfsd4_encode_readlink(2232,57007 -nfsd4_encode_readdir(2283,58450 -nfsd4_encode_remove(2364,60611 -nfsd4_encode_rename(2376,60825 -nfsd4_encode_setattr(2393,61185 -nfsd4_encode_setclientid(2412,61500 -nfsd4_encode_write(2431,61908 -nfsd4_encode_operation(2445,62190 -nfsd4_encode_replay(2561,64945 -nfs4svc_encode_voidres(2584,65349 -void nfsd4_release_compoundargs(2589,65466 -nfs4svc_decode_compoundargs(2608,65815 -nfs4svc_encode_compoundres(2629,66303 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/bad_inode.c,246 -static int bad_follow_link(23,558 -static int return_EIO(29,677 -#define EIO_ERROR 34,724 -static struct file_operations bad_file_ops 36,767 -struct inode_operations bad_inode_ops 61,1303 -void make_bad_inode(103,2401 -int is_bad_inode(127,2997 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/super.c,1320 -spinlock_t sb_lock 46,1542 -static struct super_block *alloc_super(54,1776 -static inline void destroy_super(96,2793 -int __put_super(108,3043 -int __put_super_and_need_restart(126,3445 -static void put_super(147,3965 -void deactivate_super(164,4422 -static int grab_super(190,5237 -void generic_shutdown_super(221,6036 -struct super_block *sget(269,7191 -void drop_super(316,8158 -static inline void write_super(324,8272 -void sync_supers(338,8618 -void sync_filesystems(373,9699 -struct super_block * get_super(419,10862 -struct super_block * user_get_super(444,11315 -asmlinkage long sys_ustat(468,11734 -static void mark_files_ro(500,12475 -int do_remount_sb(521,13003 -static void do_emergency_remount(552,13754 -void emergency_remount(578,14334 -static struct idr unnamed_dev_idr;588,14539 -static spinlock_t unnamed_dev_lock 589,14574 -int set_anon_super(591,14656 -void kill_anon_super(620,15304 -void __init unnamed_dev_init(632,15548 -void kill_litter_super(637,15617 -static int set_bdev_super(646,15769 -static int test_bdev_super(653,15896 -struct super_block *get_sb_bdev(658,15998 -void kill_block_super(713,17270 -struct super_block *get_sb_nodev(723,17492 -static int compare_single(747,17991 -struct super_block *get_sb_single(752,18065 -do_kern_mount(779,18661 -struct vfsmount *kern_mount(837,19847 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/quota_v2.c,1317 -#define __QUOTA_V2_PARANOIA22,427 -typedef char *dqbuf_t;dqbuf_t24,456 -#define GETIDINDEX(GETIDINDEX26,480 -#define GETENTRIES(GETENTRIES27,560 -static int v2_check_quota_file(30,718 -static int v2_read_file_info(53,1412 -static int v2_write_file_info(81,2354 -static void disk2memdqb(111,3358 -static void mem2diskdqb(123,3831 -static dqbuf_t getdqbuf(136,4344 -static inline void freedqbuf(144,4521 -static ssize_t read_blk(149,4581 -static ssize_t write_blk(163,4886 -static int get_free_dqblk(178,5212 -static int put_free_dqblk(207,6000 -static int remove_free_dqentry(224,6631 -static int insert_free_dqentry(263,7956 -static uint find_free_dqentry(293,8886 -static int do_insert_tree(355,10909 -static inline int dq_insert_tree(407,12270 -static int v2_write_dquot(416,12486 -static int free_dqentry(459,13806 -static int remove_tree(507,15468 -static int v2_delete_dquot(546,16513 -static loff_t find_block_dqentry(556,16715 -static loff_t find_tree_dqentry(593,17862 -static inline loff_t find_dqentry(620,18583 -static int v2_read_dquot(625,18694 -static int v2_release_dquot(684,20435 -static struct quota_format_ops v2_format_ops 691,20640 -static struct quota_format_type v2_quota_format 701,20942 -static int __init init_v2_quota_format(707,21078 -static void __exit exit_v2_quota_format(712,21177 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/attr.c,110 -int inode_change_ok(21,451 -int inode_setattr(66,1620 -int setattr_mask(109,2604 -int notify_change(131,3147 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/ncplib_kernel.c,2155 -static inline void assert_server_locked(17,399 -static void ncp_add_byte(24,542 -static void ncp_add_word(32,733 -static void ncp_add_be16(40,941 -static void ncp_add_dword(47,1152 -static void ncp_add_be32(55,1361 -static inline void ncp_add_dword_lh(62,1571 -static void ncp_add_mem(66,1688 -static void ncp_add_pstring(74,1909 -static inline void ncp_init_request(87,2184 -static inline void ncp_init_request_s(95,2368 - ncp_reply_data(106,2634 -static inline __u8 BVAL(111,2763 - ncp_reply_byte(117,2852 -static inline __u16 WVAL_LH(122,2976 - ncp_reply_le16(128,3085 - ncp_reply_be16(134,3237 -static inline __u32 DVAL_LH(139,3376 - ncp_reply_dword(145,3486 -static inline __u32 ncp_reply_dword_lh(150,3613 -ncp_negotiate_buffersize(155,3754 -ncp_negotiate_size_and_options(178,4175 -int ncp_get_volume_info_with_number(206,4811 -int ncp_get_directory_info(240,5836 -ncp_close_file(275,6798 -ncp_make_closed(289,7051 -static void ncp_add_handle_path(308,7520 -int ncp_dirhandle_alloc(327,7994 -int ncp_dirhandle_free(344,8463 -void ncp_extract_file_info(354,8695 -static inline void ncp_extract_nfs_info(369,9163 -int ncp_obtain_nfs_info(377,9350 -int ncp_obtain_info(422,10574 -ncp_obtain_DOS_dir_base(456,11528 -ncp_get_known_namespace(481,12233 -ncp_ObtainSpecificDirBase(529,13470 -ncp_mount_subdir(559,14226 -ncp_get_volume_root(580,14756 -ncp_lookup_volume(619,15888 -int ncp_modify_file_or_subdir_dos_info_path(640,16541 -int ncp_modify_file_or_subdir_dos_info(665,17295 -int ncp_modify_nfs_info(675,17589 -ncp_DeleteNSEntry(703,18382 -ncp_del_file_or_subdir2(722,18881 -ncp_del_file_or_subdir(741,19352 -static inline void ConvertToNWfromDWORD(761,19980 -int ncp_open_create_file_or_subdir(772,20301 -ncp_initialize_search(825,21778 -int ncp_search_for_file_or_subdir(849,22408 -int ncp_search_for_fileset(888,23504 -ncp_RenameNSEntry(937,24790 -int ncp_ren_or_mov_file_or_subdir(976,25957 -ncp_read_kernel(1003,26885 -ncp_read_bounce(1039,28105 -ncp_write_kernel(1072,28934 -ncp_LogPhysicalRecord(1093,29444 -ncp_ClearPhysicalRecord(1115,29926 -ncp__io2vol(1142,30582 -ncp__vol2io(1218,32025 -ncp__io2vol(1306,33624 -ncp__vol2io(1331,33994 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/sock.c,1735 -static int _recv(34,698 -static inline int do_send(41,899 -static int _send(48,1108 -struct ncp_request_reply ncp_request_reply56,1287 - enum { RQ_DONE,62,1427 - enum { RQ_DONE, RQ_INPROGRESS,62,1427 - enum { RQ_DONE, RQ_INPROGRESS, RQ_QUEUED,62,1427 - enum { RQ_DONE, RQ_INPROGRESS, RQ_QUEUED, RQ_IDLE 62,1427 -void ncp_tcp_data_ready(71,1619 -void ncp_tcp_error_report(79,1785 -void ncp_tcp_write_space(87,1942 -void ncpdgram_timeout_call(98,2222 -static inline void ncp_finish_request(105,2349 -static void __abort_ncp_connection(112,2506 -static inline int get_conn_number(150,3370 -static inline void __ncp_abort_request(155,3483 -static inline void ncp_abort_request(172,3899 -static inline void __ncptcp_abort(179,4106 -static int ncpdgram_send(184,4214 -static void __ncptcp_try_send(193,4515 -static inline void ncp_init_header(234,5406 -static void ncpdgram_start_request(242,5676 -#define NCP_TCP_XMIT_MAGIC 267,6503 -#define NCP_TCP_XMIT_VERSION 268,6543 -#define NCP_TCP_RCVD_MAGIC 269,6576 -static void ncptcp_start_request(271,6617 -static inline void __ncp_start_request(296,7437 -static int ncp_add_request(304,7665 -static void __ncp_next_request(323,8151 -static void info_server(336,8465 -void ncpdgram_rcv_proc(354,8870 -static void __ncpdgram_timeout_proc(444,11515 -void ncpdgram_timeout_proc(472,12227 -static inline void ncp_init_req(480,12392 -static int do_tcp_rcv(486,12516 -static int __ncptcp_rcv_proc(510,13034 -void ncp_tcp_rcv_proc(656,17396 -void ncp_tcp_tx_proc(665,17551 -static int do_ncp_rpc_call(674,17706 -static int ncp_do_request(703,18388 -int ncp_request2(763,20145 -int ncp_connect(800,21171 -int ncp_disconnect(822,21662 -void ncp_lock_server(834,21966 -void ncp_unlock_server(842,22135 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/ncpsign_kernel.h,73 -#define _NCPSIGN_KERNEL_H9,105 -static inline size_t sign_packet(18,435 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/mmap.c,131 -static struct page* ncp_file_mmap_nopage(28,544 -static struct vm_operations_struct ncp_file_mmap 100,2288 -int ncp_mmap(107,2431 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/getopt.c,23 -int ncp_getopt(27,813 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/ioctl.c,251 -#define NCP_OBJECT_NAME_MAX_LEN 26,527 -#define NCP_PRIVATE_DATA_MAX_LEN 28,610 -#define NCP_PACKET_SIZE_INTERNAL 30,685 -ncp_get_fs_info(33,736 -ncp_get_fs_info_v2(61,1538 -ncp_set_charsets(93,2507 -ncp_get_charsets(151,3841 -int ncp_ioctl(181,4654 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/inode.c,1230 -static kmem_cache_t * ncp_inode_cachep;44,1046 -static struct inode *ncp_alloc_inode(46,1087 -static void ncp_destroy_inode(55,1310 -static void init_once(60,1420 -static int init_inodecache(71,1721 -static void destroy_inodecache(82,1980 -static int ncp_remount(88,2137 -static struct super_operations ncp_sops 94,2250 -static void ncp_update_dirent(114,2842 -void ncp_update_inode(121,3080 -static void ncp_update_dates(133,3530 -static void ncp_update_attrs(153,4246 -void ncp_update_inode2(199,5621 -static void ncp_set_attr(214,6009 -static struct inode_operations ncp_symlink_inode_operations 234,6531 -ncp_iget(246,6779 -ncp_delete_inode(287,7936 -static void ncp_stop_tasks(300,8242 -static const struct ncp_option ncp_opts[310,8540 -static int ncp_parse_options(325,8957 -static int ncp_fill_super(397,10321 -#define NCP_PACKET_SIZE 568,14913 -static void ncp_put_super(688,18187 -static int ncp_statfs(726,19007 -int ncp_notify_change(791,20368 -int ncp_malloced;960,24695 -int ncp_current_malloced;961,24713 -static struct super_block *ncp_get_sb(964,24747 -static struct file_system_type ncp_fs_type 970,24930 -static int __init init_ncp_fs(977,25077 -static void __exit exit_ncp_fs(999,25418 -module_init(1010,25702 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/getopt.h,138 -#define _LINUX_GETOPT_H2,24 -#define OPT_NOPARAM 4,49 -#define OPT_INT 5,71 -#define OPT_STRING 6,90 -struct ncp_option ncp_option7,111 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/ncplib_kernel.h,1331 -#define _NCPLIB_H13,349 -#define NCP_MIN_SYMLINK_SIZE 38,808 -#define NCP_MAX_SYMLINK_SIZE 39,839 -#define NCP_BLOCK_SHIFT 41,873 -#define NCP_BLOCK_SIZE 42,900 -static inline int ncp_read_bounce_size(55,1417 -static inline void ncp_inode_close(65,1842 -static inline int ncp_is_nfs_extras(124,4352 -#define NCP_ESC 140,4855 -#define NCP_IO_TABLE(NCP_IO_TABLE141,4877 -#define ncp_tolower(ncp_tolower142,4946 -#define ncp_toupper(ncp_toupper143,4990 -#define ncp_strnicmp(ncp_strnicmp144,5034 -#define ncp_io2vol(ncp_io2vol146,5103 -#define ncp_vol2io(ncp_vol2io147,5160 -#define NCP_IO_TABLE(NCP_IO_TABLE156,5418 -#define ncp_tolower(ncp_tolower157,5452 -#define ncp_toupper(ncp_toupper158,5489 -#define ncp_io2vol(ncp_io2vol159,5526 -#define ncp_vol2io(ncp_vol2io160,5581 -static inline int ncp_strnicmp(163,5638 -#define NCP_GET_AGE(NCP_GET_AGE176,5872 -#define NCP_MAX_AGE(NCP_MAX_AGE177,5929 -#define NCP_TEST_AGE(NCP_TEST_AGE178,5980 -ncp_age_dentry(181,6080 -ncp_new_dentry(187,6217 -ncp_renew_dentries(193,6306 -ncp_invalidate_dircache_entries(215,6784 -struct ncp_cache_head ncp_cache_head232,7214 -#define NCP_DIRCACHE_SIZE 239,7357 -union ncp_dir_cache ncp_dir_cache240,7432 -#define NCP_FIRSTCACHE_SIZE 245,7531 -#define NCP_DIRCACHE_START 249,7679 -struct ncp_cache_control ncp_cache_control251,7749 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/ncpsign_kernel.c,397 -#define rol32(rol3216,219 -#define GET_LE32(GET_LE3220,398 -#define PUT_LE32(PUT_LE3221,432 -#define BVAL(BVAL24,507 -#define PVAL(PVAL25,552 -#define BSET(BSET26,600 -WVAL_LH(29,671 -DVAL_LH(34,774 -WSET_LH(39,883 -DSET_LH(45,1006 -#define GET_LE32(GET_LE3251,1120 -#define PUT_LE32(PUT_LE3252,1153 -static void nwsign(55,1198 -void __sign_packet(96,2816 -int sign_verify_reply(111,3267 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/file.c,250 -static int ncp_fsync(25,482 -int ncp_make_open(33,633 -ncp_file_read(102,2319 -ncp_file_write(183,4113 -static int ncp_release(279,6351 -struct file_operations ncp_file_operations 286,6509 -struct inode_operations ncp_file_inode_operations 297,6728 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/symlink.c,198 -#define NCP_SYMLINK_MAGIC0 39,1064 -#define NCP_SYMLINK_MAGIC1 40,1136 -static int ncp_symlink_readpage(44,1265 -struct address_space_operations ncp_symlink_aops 102,2530 -int ncp_symlink(108,2703 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ncpfs/dir.c,1220 -#define ncp_symlink 49,1659 -struct file_operations ncp_dir_operations 52,1700 -struct inode_operations ncp_dir_inode_operations 59,1825 -static struct dentry_operations ncp_dentry_operations 80,2393 -struct dentry_operations ncp_root_dentry_operations 88,2588 -ncp_hash_dentry(101,2836 -ncp_compare_dentry(120,3218 -ncp_delete_dentry(137,3703 -ncp_single_volume(152,3926 -static inline int ncp_is_server_root(157,4020 -ncp_force_unlink(173,4333 -ncp_force_rename(208,5342 -__ncp_lookup_validate(267,7506 -ncp_lookup_validate(337,9338 -ncp_dget_fpos(347,9531 -static time_t ncp_obtain_mtime(386,10349 -static int ncp_readdir(401,10710 -ncp_fill_cache(552,14020 -ncp_read_volume_list(647,16351 -ncp_do_readdir(683,17257 -int ncp_conn_logged_in(761,19455 -static struct dentry *ncp_lookup(805,20466 -static int ncp_instantiate(867,21997 -int ncp_create_new(889,22506 -static int ncp_create(953,24207 -static int ncp_mkdir(959,24359 -static int ncp_rmdir(1003,25393 -static int ncp_unlink(1058,26566 -static int ncp_rename(1120,27929 -static int ncp_mknod(1183,29636 -static int day_n[1199,30131 -static int utc2local(1206,30309 -static int local2utc(1211,30388 -ncp_date_dos2unix(1218,30548 -ncp_date_unix2dos(1237,31151 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/file.c,178 -struct file ** alloc_fd_array(23,437 -void free_fd_array(35,695 -int expand_fd_array(57,1135 -fd_set * alloc_fdset(132,2776 -void free_fdset(144,2994 -int expand_fdset(160,3298 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/binfmt_em86.c,217 -#define EM86_INTERP 24,491 -#define EM86_I_NAME 25,527 -static int load_em86(27,555 -struct linux_binfmt em86_format 98,2515 -static int __init init_em86_binfmt(103,2607 -static void __exit exit_em86_binfmt(108,2692 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/truncate.c,356 -#define UFSD(UFSD50,1076 -#define UFSD(UFSD52,1168 -#define DIRECT_BLOCK 65,1528 -#define DIRECT_FRAGMENT 66,1605 -#define DATA_BUFFER_USED(DATA_BUFFER_USED68,1686 -static int ufs_trunc_direct 71,1770 -static int ufs_trunc_indirect 202,4842 -static int ufs_trunc_dindirect 299,7015 -static int ufs_trunc_tindirect 367,8525 -void ufs_truncate 431,10129 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/util.h,2151 -#define in_range(in_range17,258 -#define UCPI_UBH 22,358 -#define USPI_UBH 23,408 -ufs_get_fs_state(31,526 -ufs_set_fs_state(46,951 -ufs_get_fs_npsect(63,1406 -ufs_get_fs_qbmask(73,1727 -ufs_get_fs_qfmask(96,2354 -ufs_get_de_namlen(119,2981 -ufs_set_de_namlen(128,3238 -ufs_set_de_type(137,3508 -ufs_get_inode_uid(173,4194 -ufs_set_inode_uid(186,4547 -ufs_get_inode_gid(200,4921 -ufs_set_inode_gid(213,5274 -#define ubh_bread(ubh_bread230,5680 -#define ubh_ubhcpymem(ubh_ubhcpymem242,6513 -#define ubh_memcpyubh(ubh_memcpyubh244,6696 -#define ubh_get_usb_first(ubh_get_usb_first252,6948 -#define ubh_get_usb_second(ubh_get_usb_second255,7040 -#define ubh_get_usb_third(ubh_get_usb_third259,7205 -#define ubh_get_ucg(ubh_get_ucg263,7374 -#define ubh_get_addr8(ubh_get_addr8271,7568 -#define ubh_get_addr16(ubh_get_addr16275,7689 -#define ubh_get_addr32(ubh_get_addr32279,7830 -#define ubh_get_addr 283,7974 -#define ubh_blkmap(ubh_blkmap285,8010 -#define ubh_postbl(ubh_postbl292,8210 -#define ubh_rotbl(ubh_rotbl300,8525 -#define ufs_freespace(ufs_freespace310,8852 -#define ubh_cg_blktot(ubh_cg_blktot317,9117 -#define ubh_cg_blks(ubh_cg_blks320,9228 -#define ubh_setbit(ubh_setbit332,9691 -#define ubh_clrbit(ubh_clrbit335,9796 -#define ubh_isset(ubh_isset338,9903 -#define ubh_isclr(ubh_isclr341,10007 -#define ubh_find_first_zero_bit(ubh_find_first_zero_bit343,10069 -#define ubh_find_next_zero_bit(ubh_find_next_zero_bit345,10166 -static inline unsigned _ubh_find_next_zero_bit_(346,10273 -static inline unsigned find_last_zero_bit 369,10870 -#define ubh_find_last_zero_bit(ubh_find_last_zero_bit392,11276 -static inline unsigned _ubh_find_last_zero_bit_(393,11383 -#define ubh_isblockclear(ubh_isblockclear419,12047 -#define ubh_isblockset(ubh_isblockset421,12132 -static inline int _ubh_isblockset_(422,12211 -#define ubh_clrblock(ubh_clrblock438,12743 -static inline void _ubh_clrblock_(439,12818 -#define ubh_setblock(ubh_setblock458,13350 -static inline void _ubh_setblock_(459,13425 -static inline void ufs_fragacct 478,13949 -#define ubh_scanc(ubh_scanc500,14442 -static inline unsigned _ubh_scanc_(501,14531 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/inode.c,942 -#define UFSD(UFSD48,1041 -#define UFSD(UFSD50,1133 -static int ufs_block_to_path(53,1157 -u64 ufs_frag_map(92,2424 -static struct buffer_head * ufs_inode_getfrag 164,4130 -static struct buffer_head * ufs_block_getfrag 298,7577 -static int ufs_getfrag_block 378,9460 -#define GET_INODE_DATABLOCK(GET_INODE_DATABLOCK419,10400 -#define GET_INODE_PTR(GET_INODE_PTR421,10498 -#define GET_INDIRECT_DATABLOCK(GET_INDIRECT_DATABLOCK423,10599 -#define GET_INDIRECT_PTR(GET_INDIRECT_PTR426,10727 -struct buffer_head *ufs_getfrag(476,12051 -struct buffer_head * ufs_bread 499,12602 -static int ufs_writepage(517,13027 -static int ufs_readpage(521,13165 -static int ufs_prepare_write(525,13285 -static sector_t ufs_bmap(529,13445 -struct address_space_operations ufs_aops 533,13582 -void ufs_read_inode 542,13812 -static int ufs_update_inode(716,19534 -int ufs_write_inode 791,21955 -int ufs_sync_inode 800,22109 -void ufs_delete_inode 805,22192 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/cylinder.c,178 -#define UFSD(UFSD26,476 -#define UFSD(UFSD28,567 -static void ufs_read_cylinder 36,732 -void ufs_put_cylinder 90,2721 -struct ufs_cg_private_info * ufs_load_cylinder 134,3912 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/util.c,497 -#define UFSD(UFSD20,348 -#define UFSD(UFSD22,440 -struct ufs_buffer_head * _ubh_bread_ 26,465 -struct ufs_buffer_head * ubh_bread_uspi 56,1181 -void ubh_brelse 80,1781 -void ubh_brelse_uspi 90,1938 -void ubh_mark_buffer_dirty 101,2139 -void ubh_mark_buffer_uptodate 110,2306 -void ubh_ll_rw_block 124,2592 -void ubh_wait_on_buffer 133,2781 -unsigned ubh_max_bcount 142,2942 -void ubh_bforget 154,3200 -int ubh_buffer_dirty 163,3368 -void _ubh_ubhcpymem_(174,3573 -void _ubh_memcpyubh_(190,3979 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/balloc.c,660 -#define UFSD(UFSD26,501 -#define UFSD(UFSD28,592 -static unsigned char ufs_fragtable_8fpb[35,1003 -static unsigned char ufs_fragtable_8fpb[], ufs_fragtable_other[35,1003 -void ufs_free_fragments 41,1231 -void ufs_free_blocks 136,4104 -#define NULLIFY_FRAGMENTS 227,6483 -unsigned ufs_new_fragments 238,6765 -ufs_add_fragments 397,10740 -#define UFS_TEST_FREE_SPACE_CG 473,13009 -static unsigned ufs_alloc_fragments 481,13283 -static unsigned ufs_alloccg_block 599,16301 -static unsigned ufs_bitmap_search 657,17798 -static void ufs_clusteracct(728,19820 -static unsigned char ufs_fragtable_8fpb[782,21238 -static unsigned char ufs_fragtable_other[801,22841 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/namei.c,560 -#define UFS_NAMEI_DEBUG37,793 -#define UFSD(UFSD40,841 -#define UFSD(UFSD42,933 -static inline void ufs_inc_count(45,957 -static inline void ufs_dec_count(51,1061 -static inline int ufs_add_nondir(57,1165 -static struct dentry *ufs_lookup(69,1397 -static int ufs_create 99,2090 -static int ufs_mknod 116,2536 -static int ufs_symlink 138,3082 -static int ufs_link 181,4010 -static int ufs_mkdir(202,4420 -static int ufs_unlink(246,5162 -static int ufs_rmdir 270,5586 -static int ufs_rename 288,5921 -struct inode_operations ufs_dir_inode_operations 365,7560 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/ialloc.c,121 -#define UFSD(UFSD40,928 -#define UFSD(UFSD42,1020 -void ufs_free_inode 61,1721 -struct inode * ufs_new_inode(147,4060 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/super.c,1909 -#define UFSD(UFSD99,2314 -#define UFSD(UFSD101,2406 -void ufs_print_super_stuff(108,2524 -void ufs2_print_super_stuff(153,5114 -void ufs_print_cylinder_stuff(178,6158 -static struct super_operations ufs_super_ops;212,8189 -static char error_buf[214,8236 -void ufs_error 216,8266 -void ufs_panic 248,9101 -void ufs_warning 271,9664 - Opt_type_old,284,9951 - Opt_type_old, Opt_type_sunx86,284,9951 - Opt_type_old, Opt_type_sunx86, Opt_type_sun,284,9951 - Opt_type_old, Opt_type_sunx86, Opt_type_sun, Opt_type_44bsd,284,9951 - Opt_type_ufs2,285,10013 - Opt_type_ufs2, Opt_type_hp,285,10013 - Opt_type_ufs2, Opt_type_hp, Opt_type_nextstepcd,285,10013 - Opt_type_ufs2, Opt_type_hp, Opt_type_nextstepcd, Opt_type_nextstep,285,10013 - Opt_type_openstep,286,10082 - Opt_type_openstep, Opt_onerror_panic,286,10082 - Opt_type_openstep, Opt_onerror_panic, Opt_onerror_lock,286,10082 - Opt_onerror_umount,287,10139 - Opt_onerror_umount, Opt_onerror_repair,287,10139 - Opt_onerror_umount, Opt_onerror_repair, Opt_err287,10139 -static match_table_t tokens 290,10192 -static int ufs_parse_options 308,10771 -static int ufs_read_cylinder_structures 391,13001 -static void ufs_put_cylinder_structures 491,15729 -static int ufs_fill_super(529,16734 -static void ufs_write_super 996,30629 -static void ufs_put_super 1023,31338 -static int ufs_remount 1040,31629 -static int ufs_statfs 1115,33701 -static kmem_cache_t * ufs_inode_cachep;1156,35040 -static struct inode *ufs_alloc_inode(1158,35081 -static void ufs_destroy_inode(1168,35334 -static void init_once(1173,35440 -static int init_inodecache(1182,35707 -static void destroy_inodecache(1193,35966 -static struct super_operations ufs_super_ops 1199,36123 -static struct super_block *ufs_get_sb(1211,36459 -static struct file_system_type ufs_fs_type 1217,36651 -static int __init init_ufs_fs(1225,36827 -static void __exit exit_ufs_fs(1240,37043 -module_init(1246,37146 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/swab.h,300 -#define _UFS_SWAB_H10,237 - BYTESEX_LE,21,511 - BYTESEX_BE22,524 -fs64_to_cpu(26,558 -cpu_to_fs64(35,762 -fs64_add(44,962 -fs64_sub(53,1177 -fs32_to_cpu(62,1392 -cpu_to_fs32(71,1596 -fs32_add(80,1795 -fs32_sub(89,2038 -fs16_to_cpu(98,2280 -cpu_to_fs16(107,2484 -fs16_add(116,2683 -fs16_sub(125,2926 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/file.c,110 -struct file_operations ufs_file_operations 44,868 -struct inode_operations ufs_file_inode_operations 53,1115 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/symlink.c,101 -static int ufs_follow_link(32,647 -struct inode_operations ufs_fast_symlink_inode_operations 39,831 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/ufs/dir.c,613 -#define UFSD(UFSD29,724 -#define UFSD(UFSD31,816 -static inline int ufs_match(44,1121 -ufs_readdir 58,1419 -#define NAMEI_RA_CHUNKS 180,4949 -#define NAMEI_RA_BLOCKS 181,4976 -#define NAMEI_RA_SIZE 182,5003 -#define NAMEI_RA_INDEX(NAMEI_RA_INDEX183,5068 -struct ufs_dir_entry * ufs_find_entry 193,5432 -ufs_check_dir_entry 299,8120 -struct ufs_dir_entry *ufs_dotdot(329,9226 -ino_t ufs_inode_by_name(343,9579 -void ufs_set_link(357,9841 -int ufs_add_link(374,10268 -int ufs_delete_entry 477,13038 -int ufs_make_empty(530,14255 -int ufs_empty_dir 564,15262 -struct file_operations ufs_dir_operations 623,16976 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/map.c,194 -static rwlock_t adfs_map_lock 56,1966 -#define GET_FRAG_ID(GET_FRAG_ID62,2162 -lookup_zone(77,2597 -scan_free_map(137,3852 -scan_map(198,5075 -adfs_map_free(236,5769 -adfs_map_lookup(254,6085 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/dir_f.h,258 -#define ADFS_DIR_F_H13,337 -struct adfs_dirheader adfs_dirheader18,386 -#define ADFS_NEWDIR_SIZE 23,471 -#define ADFS_NUM_DIR_ENTRIES 24,501 -struct adfs_direntry adfs_direntry29,562 -#define ADFS_F_NAME_LEN 30,585 -union adfs_dirtail adfs_dirtail42,770 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/inode.c,438 -adfs_get_block(28,706 -static int adfs_writepage(54,1209 -static int adfs_readpage(59,1348 -static int adfs_prepare_write(64,1468 -static sector_t _adfs_bmap(70,1682 -static struct address_space_operations adfs_aops 75,1821 -adfs_filetype(85,2092 -adfs_atts2mode(101,2363 -adfs_mode2atts(147,3333 -adfs_adfs2unix_time(183,4128 -adfs_unix2adfs_time(231,5068 -adfs_iget(259,6025 -adfs_notify_change(315,7595 -int adfs_write_inode(376,9133 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/dir_f.c,639 -static inline unsigned int adfs_readval(29,658 -static inline void adfs_writeval(42,895 -static inline int adfs_readname(52,1102 -static inline void adfs_writename(68,1342 -#define ror13(ror1385,1599 -#define dir_u8(dir_u887,1641 -#define dir_u32(dir_u3293,1798 -#define bufoff(bufoff99,1960 -adfs_dir_checkbyte(111,2245 -adfs_dir_read(169,3563 -adfs_dir2obj(236,5065 -adfs_obj2dir(250,5534 -__adfs_dir_get(264,5937 -__adfs_dir_put(294,6570 -adfs_dir_find_entry(339,7497 -adfs_f_read(361,7834 -adfs_f_setpos(378,8177 -adfs_f_getnext(388,8340 -adfs_f_update(400,8528 -adfs_f_free(458,9867 -struct adfs_dir_ops adfs_f_dir_ops 471,10047 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/adfs.h,628 -#define ADFS_FREE_FRAG 3,41 -#define ADFS_BAD_FRAG 4,68 -#define ADFS_ROOT_FRAG 5,94 -#define ADFS_NDA_OWNER_READ 7,122 -#define ADFS_NDA_OWNER_WRITE 8,159 -#define ADFS_NDA_LOCKED 9,197 -#define ADFS_NDA_DIRECTORY 10,231 -#define ADFS_NDA_EXECUTE 11,267 -#define ADFS_NDA_PUBLIC_READ 12,301 -#define ADFS_NDA_PUBLIC_WRITE 13,339 -struct adfs_dir adfs_dir23,476 -#define ADFS_MAX_NAME_LEN 38,730 -struct object_info object_info39,760 -struct adfs_dir_ops adfs_dir_ops50,1107 -struct adfs_discmap adfs_discmap60,1574 -#define adfs_error(adfs_error79,2187 -extern inline __u32 signed_asl(100,2781 -__adfs_block_map(116,3114 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/dir_fplus.h,245 -#define ADFS_FPLUS_NAME_LEN 13,322 -#define BIGDIRSTARTNAME 15,355 -#define BIGDIRENDNAME 16,420 -struct adfs_bigdirheader adfs_bigdirheader18,484 -struct adfs_bigdirentry adfs_bigdirentry30,716 -struct adfs_bigdirtail adfs_bigdirtail40,898 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/dir_fplus.c,176 -adfs_fplus_read(23,532 -adfs_fplus_setpos(88,2146 -dir_memcpy(102,2415 -adfs_fplus_getnext(125,2954 -adfs_fplus_free(165,4191 -struct adfs_dir_ops adfs_fplus_dir_ops 174,4321 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/super.c,1211 -void __adfs_error(33,726 -static int adfs_checkdiscrecord(47,1057 -static unsigned char adfs_calczonecheck(80,1800 -static int adfs_checkmap(104,2318 -static void adfs_put_super(125,2805 -enum {Opt_uid,137,3037 -enum {Opt_uid, Opt_gid,137,3037 -enum {Opt_uid, Opt_gid, Opt_ownmask,137,3037 -enum {Opt_uid, Opt_gid, Opt_ownmask, Opt_othmask,137,3037 -enum {Opt_uid, Opt_gid, Opt_ownmask, Opt_othmask, Opt_err}137,3037 -static match_table_t tokens 139,3098 -static int parse_options(147,3255 -static int adfs_remount(193,4167 -static int adfs_statfs(199,4303 -static kmem_cache_t *adfs_inode_cachep;215,4755 -static struct inode *adfs_alloc_inode(217,4796 -static void adfs_destroy_inode(226,5023 -static void init_once(231,5132 -static int init_inodecache(240,5401 -static void destroy_inodecache(251,5664 -static struct super_operations adfs_sops 257,5823 -static struct adfs_discmap *adfs_read_map(266,6062 -static inline unsigned long adfs_discsize(320,7514 -static int adfs_fill_super(330,7772 -static struct super_block *adfs_get_sb(472,11256 -static struct file_system_type adfs_fs_type 478,11450 -static int __init init_adfs_fs(486,11629 -static void __exit exit_adfs_fs(501,11847 -module_init(507,11952 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/file.c,111 -struct file_operations adfs_file_operations 32,647 -struct inode_operations adfs_file_inode_operations 41,880 - -/export0/mef/linux-2.6.9-1.11_FC2/fs/adfs/dir.c,374 -static rwlock_t adfs_dir_lock 27,648 -adfs_readdir(30,710 -adfs_dir_update(87,1786 -adfs_match(117,2341 -adfs_dir_lookup_byname(142,2706 -struct file_operations adfs_dir_operations 199,3900 -adfs_hash(206,4039 -adfs_compare(242,4714 -struct dentry_operations adfs_dentry_operations 266,5075 -adfs_lookup(272,5205 -struct inode_operations adfs_dir_inode_operations 299,5765 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/compat.c,1669 -struct compat_msgbuf compat_msgbuf38,1268 -struct compat_ipc_perm compat_ipc_perm43,1333 -struct compat_semid_ds compat_semid_ds53,1494 -struct compat_msqid_ds compat_msqid_ds64,1743 -struct compat_shmid_ds compat_shmid_ds80,2133 -struct compat_ipc_kludge compat_ipc_kludge94,2458 -struct compat_shminfo64 compat_shminfo6499,2533 -struct compat_shm_info compat_shm_info111,2791 -#define sc_semopm 118,2957 -#define MAXBUF 119,2989 -static inline int compat_ipc_parse_version(121,3015 -static inline int __get_compat_ipc64_perm(136,3371 -static inline int __get_compat_ipc_perm(147,3640 -static inline int __put_compat_ipc64_perm(158,3887 -static inline int __put_compat_ipc_perm(173,4328 -static inline int get_compat_semid64_ds(194,4829 -static inline int get_compat_semid_ds(202,5078 -static inline int put_compat_semid64_ds(210,5314 -static inline int put_compat_semid_ds(224,5750 -long compat_sys_semctl(238,6160 -long compat_sys_msgsnd(309,7686 -long compat_sys_msgrcv(329,8206 -static inline int get_compat_msqid64(366,9050 -static inline int get_compat_msqid(378,9379 -static inline int put_compat_msqid64_ds(390,9684 -static inline int put_compat_msqid_ds(409,10391 -long compat_sys_msgctl(428,11053 -long compat_sys_shmat(480,12098 -static inline int get_compat_shmid64_ds(496,12439 -static inline int get_compat_shmid_ds(504,12687 -static inline int put_compat_shmid64_ds(512,12922 -static inline int put_compat_shmid_ds(530,13571 -static inline int put_compat_shminfo64(548,14179 -static inline int put_compat_shminfo(563,14629 -static inline int put_compat_shm_info(577,15037 -long compat_sys_shmctl(595,15621 -long compat_sys_semtimedop(674,17261 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/compat_mq.c,466 -struct compat_mq_attr compat_mq_attr17,365 -static inline int get_compat_mq_attr(25,732 -static inline int put_compat_mq_attr(37,1125 -asmlinkage long compat_sys_mq_open(49,1504 -static int compat_prepare_timeout(64,1926 -asmlinkage long compat_sys_mq_timedsend(78,2243 -asmlinkage ssize_t compat_sys_mq_timedreceive(92,2605 -static int get_compat_sigevent(105,2981 -asmlinkage long compat_sys_mq_notify(119,3469 -asmlinkage long compat_sys_mq_getsetattr(136,3966 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/util.h,197 -#define _IPC_UTIL_H9,167 -#define USHRT_MAX 11,188 -#define SEQ_MULTIPLIER 12,213 -struct ipc_ids ipc_ids18,313 -struct ipc_id ipc_id28,466 -# define ipc_parse_version(ipc_parse_version71,2047 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/msgutil.c,173 -struct msg_msgseg msg_msgseg20,401 -#define DATALEN_MSG 25,507 -#define DATALEN_SEG 26,562 -struct msg_msg *load_msg(28,621 -int store_msg(87,1687 -void free_msg(114,2200 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/msg.c,1262 -int msg_ctlmax 32,834 -int msg_ctlmnb 33,859 -int msg_ctlmni 34,884 -struct msg_receiver msg_receiver37,970 -struct msg_sender msg_sender49,1178 -#define SEARCH_ANY 54,1252 -#define SEARCH_EQUAL 55,1274 -#define SEARCH_NOTEQUAL 56,1298 -#define SEARCH_LESSEQUAL 57,1325 -static atomic_t msg_bytes 59,1353 -static atomic_t msg_hdrs 60,1397 -static struct ipc_ids msg_ids;62,1441 -#define msg_lock(msg_lock64,1473 -#define msg_unlock(msg_unlock65,1537 -#define msg_rmid(msg_rmid66,1588 -#define msg_checkid(msg_checkid67,1652 -#define msg_buildid(msg_buildid69,1728 -void __init msg_init 78,2028 -static int newque 87,2205 -static inline void ss_add(127,3037 -static inline void ss_del(134,3214 -static void ss_wakeup(140,3321 -static void expunge_all(156,3603 -static void freeque 180,4287 -asmlinkage long sys_msgget 201,4751 -static inline unsigned long copy_msqid_to_user(234,5472 -struct msq_setbuf msq_setbuf278,6439 -static inline unsigned long copy_msqid_from_user(285,6527 -asmlinkage long sys_msgctl 325,7337 -static int testmsg(495,11018 -static inline int pipelined_send(517,11367 -asmlinkage long sys_msgsnd 548,12151 -static inline int convert_mode(641,13881 -asmlinkage long sys_msgrcv 660,14325 -static int sysvipc_msg_read_proc(807,18010 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/shm.c,1392 -#define shm_flags 33,1060 -static struct file_operations shm_file_operations;35,1093 -static struct vm_operations_struct shm_vm_ops;36,1144 -static struct ipc_ids shm_ids;38,1192 -#define shm_lock(shm_lock40,1224 -#define shm_unlock(shm_unlock41,1291 -#define shm_get(shm_get42,1344 -#define shm_buildid(shm_buildid43,1409 -size_t shm_ctlmax 53,1774 -size_t shm_ctlall 54,1802 -int shm_ctlmni 55,1831 -static int shm_tot;57,1858 -void __init shm_init 59,1921 -static inline int shm_checkid(67,2089 -static inline struct shmid_kernel *shm_rmid(74,2228 -static inline int shm_addid(79,2339 -static inline void shm_inc 86,2457 -static void shm_open 98,2722 -static void shm_destroy 111,3013 -static void shm_close 132,3622 -static int shm_mmap(153,4113 -static struct file_operations shm_file_operations 161,4290 -static struct vm_operations_struct shm_vm_ops 165,4366 -static int newseg 175,4663 -asmlinkage long sys_shmget 247,6179 -static inline unsigned long copy_shmid_to_user(283,6961 -struct shm_setbuf shm_setbuf308,7562 -static inline unsigned long copy_shmid_from_user(314,7625 -static inline unsigned long copy_shminfo_to_user(348,8267 -static void shm_get_stat(374,8785 -asmlinkage long sys_shmctl 404,9407 -long do_shmat(648,14762 -asmlinkage long sys_shmdt(769,17226 -static int sysvipc_shm_read_proc(849,19795 -#define SMALL_STRING 863,20233 -#define BIG_STRING 864,20325 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/util.c,977 -static int __init ipc_init(39,1041 -void __init ipc_init_ids(58,1421 -int ipc_findkey(96,2196 -static int grow_ary(119,2569 -int ipc_addid(167,3856 -struct kern_ipc_perm* ipc_rmid(215,4939 -void* ipc_alloc(252,5658 -void ipc_free(271,6019 -struct ipc_rcu_hdripc_rcu_hdr289,6522 -struct ipc_rcu_graceipc_rcu_grace297,6596 -struct ipc_rcu_schedipc_rcu_sched304,6725 -#define HDRLEN_KMALLOC 311,6858 -#define HDRLEN_VMALLOC 313,7009 -static inline int rcu_use_vmalloc(316,7137 -void* ipc_rcu_alloc(333,7513 -void ipc_rcu_getref(359,8155 -static void ipc_schedule_free(370,8400 -static void ipc_immediate_free(387,8804 -void ipc_rcu_putref(394,8956 -int ipcperms 417,9527 -void kernel_to_ipc64_perm 450,10501 -void ipc64_perm_to_ipc_perm 470,10993 -struct kern_ipc_perm* ipc_get(492,11802 -struct kern_ipc_perm* ipc_lock(502,12004 -void ipc_lock_by_ptr(542,13018 -void ipc_unlock(548,13115 -int ipc_buildid(554,13211 -int ipc_checkid(559,13303 -int ipc_parse_version 578,13724 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/sem.c,1590 -#define sem_lock(sem_lock78,3714 -#define sem_unlock(sem_unlock79,3778 -#define sem_rmid(sem_rmid80,3831 -#define sem_checkid(sem_checkid81,3895 -#define sem_buildid(sem_buildid83,3973 -static struct ipc_ids sem_ids;85,4036 -#define SEMMSL_FAST 93,4298 -#define SEMOPM_FAST 94,4347 -int sem_ctls[105,4616 -#define sc_semmsl 106,4668 -#define sc_semmns 107,4700 -#define sc_semopm 108,4732 -#define sc_semmni 109,4764 -static int used_sems;111,4797 -void __init sem_init 113,4820 -#define IN_WAKEUP 155,6557 -static int newary 157,6578 -asmlinkage long sys_semget 205,7542 -static inline void append_to_queue 247,8530 -static inline void prepend_to_queue 254,8711 -static inline void remove_from_queue 265,9007 -static int try_atomic_semop 281,9445 -static void update_queue 346,10736 -static int count_semncnt 397,12268 -static int count_semzcnt 415,12674 -static void freeary 438,13241 -static unsigned long copy_semid_to_user(474,14164 -static int semctl_nolock(496,14629 -static int semctl_main(577,16303 -struct sem_setbuf sem_setbuf755,20019 -static inline unsigned long copy_semid_from_user(761,20081 -static int semctl_down(795,20729 -asmlinkage long sys_semctl 852,21771 -static inline void lock_semundo(889,22440 -static inline void unlock_semundo(909,23286 -static inline int get_undo_list(930,23952 -static struct sem_undo *lookup_undo(952,24518 -static struct sem_undo *find_undo(972,24846 -asmlinkage long sys_semtimedop(1045,26314 -asmlinkage long sys_semop 1211,29870 -int copy_semundo(1224,30333 -void exit_sem(1255,31412 -static int sysvipc_sem_read_proc(1334,33301 - -/export0/mef/linux-2.6.9-1.11_FC2/ipc/mqueue.c,3106 -#define MQUEUE_MAGIC 28,754 -#define DIRENT_SIZE 29,786 -#define FILENT_SIZE 30,809 -#define SEND 32,833 -#define RECV 33,849 -#define STATE_NONE 35,866 -#define STATE_PENDING 36,887 -#define STATE_READY 37,911 -#define FS_MQUEUE 40,955 -#define CTL_QUEUESMAX 41,976 -#define CTL_MSGMAX 42,1001 -#define CTL_MSGSIZEMAX 43,1023 -#define DFLT_QUEUESMAX 46,1071 -#define DFLT_MSGMAX 47,1133 -#define HARD_MSGMAX 48,1200 -#define DFLT_MSGSIZEMAX 49,1244 -#define NOTIFY_COOKIE_LEN 51,1297 -struct ext_wait_queue ext_wait_queue53,1327 -struct mqueue_inode_info mqueue_inode_info60,1528 -static struct inode_operations mqueue_dir_inode_operations;80,2027 -static struct file_operations mqueue_file_operations;81,2087 -static struct super_operations mqueue_super_ops;82,2141 -static spinlock_t mq_lock;85,2256 -static kmem_cache_t *mqueue_inode_cachep;86,2283 -static struct vfsmount *mqueue_mnt;87,2325 -static unsigned int queues_count;89,2362 -static unsigned int queues_max 90,2396 -static unsigned int msg_max 91,2446 -static unsigned int msgsize_max 92,2490 -static struct ctl_table_header * mq_sysctl_table;94,2542 -static inline struct mqueue_inode_info *MQUEUE_I(96,2593 -static struct inode *mqueue_get_inode(101,2734 -static int mqueue_fill_super(179,4907 -static struct super_block *mqueue_get_sb(201,5354 -static void init_once(208,5555 -static struct inode *mqueue_alloc_inode(217,5823 -static void mqueue_destroy_inode(227,6031 -static void mqueue_delete_inode(232,6146 -static int mqueue_create(264,6831 -static int mqueue_unlink(298,7526 -static ssize_t mqueue_read_file(316,8059 -static int mqueue_flush_file(355,8994 -static unsigned int mqueue_poll_file(367,9252 -static void wq_add(386,9769 -static int wq_sleep(407,10271 -static struct ext_wait_queue *wq_get_first_waiter(452,11080 -static void msg_insert(464,11402 -static inline struct msg_msg *msg_get(478,11724 -static inline void set_cookie(484,11909 -static void __do_notify(492,12096 -static long prepare_timeout(530,13157 -static void remove_notification(561,13836 -static int mq_attr_ok(571,14128 -static struct file *do_create(596,14764 -static struct file *do_open(625,15416 -asmlinkage long sys_mq_open(645,15865 -asmlinkage long sys_mq_unlink(703,17036 -static inline void pipelined_send(761,18558 -static inline void pipelined_receive(775,19012 -asmlinkage long sys_mq_timedsend(792,19399 -asmlinkage ssize_t sys_mq_timedreceive(875,21288 -asmlinkage long sys_mq_notify(955,23132 -asmlinkage long sys_mq_getsetattr(1074,25870 -static struct inode_operations mqueue_dir_inode_operations 1127,26948 -static struct file_operations mqueue_file_operations 1133,27093 -static struct super_operations mqueue_super_ops 1139,27237 -static struct file_system_type mqueue_fs_type 1147,27470 -static int msg_max_limit_min 1153,27600 -static int msg_max_limit_max 1154,27644 -static int msg_maxsize_limit_min 1156,27689 -static int msg_maxsize_limit_max 1157,27741 -static ctl_table mq_sysctls[1159,27786 -static ctl_table mq_sysctl_dir[1191,28486 -static ctl_table mq_sysctl_root[1201,28643 -static int __init init_mqueue_fs(1211,28797 - -/export0/mef/linux-2.6.9-1.11_FC2/usr/gen_init_cpio.c,331 -static unsigned int offset;10,162 -static unsigned int ino 11,190 -static void push_string(13,222 -static void push_pad 22,369 -static void push_rest(30,453 -static void push_hdr(47,714 -static void cpio_trailer(53,790 -static void cpio_mkdir(83,1362 -static void cpio_mknod(109,1955 -void cpio_mkfile(142,2748 -int main 214,4200 - -/export0/mef/linux-2.6.9-1.11_FC2/usr/initramfs_data.S,50 -.section .section28,961 -.incbin .incbin29,986 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/util_mem.c,406 -#define get_memblk(get_memblk31,1143 -snd_util_memhdr_new(37,1263 -void snd_util_memhdr_free(54,1535 -__snd_util_mem_alloc(71,1846 -__snd_util_memblk_new(108,2604 -snd_util_mem_alloc(135,3163 -__snd_util_mem_free(150,3436 -int snd_util_mem_free(161,3630 -int snd_util_mem_avail(174,3879 -static int __init alsa_util_mem_init(197,4358 -static void __exit alsa_util_mem_exit(202,4417 -module_init(206,4466 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux.c,194 -int snd_emux_new(37,1239 -int snd_emux_register(68,1763 -int snd_emux_free(114,2957 -static int __init alsa_emux_init(167,3848 -static void __exit alsa_emux_exit(172,3903 -module_init(176,3948 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_effect.c,795 -#define xoffsetof(xoffsetof33,1057 -#define parm_offset(parm_offset35,1130 -#define PARM_IS_BYTE 37,1196 -#define PARM_IS_WORD 38,1227 -#define PARM_IS_ALIGNED 39,1258 -#define PARM_IS_ALIGN_HI 40,1292 -#define PARM_IS_ALIGN_LO 41,1326 -#define PARM_IS_SIGNED 42,1360 -#define PARM_WORD 44,1394 -#define PARM_BYTE_LO 45,1427 -#define PARM_BYTE_HI 46,1480 -#define PARM_BYTE 47,1533 -#define PARM_SIGN_LO 48,1566 -#define PARM_SIGN_HI 49,1634 -static struct emux_parm_defs emux_parm_defs51,1703 -} parm_defs[56,1910 -effect_set_byte(100,4404 -effect_set_word(121,4927 -effect_get_offset(138,5376 -snd_emux_send_effect_oss(156,5789 -snd_emux_send_effect(176,6187 -snd_emux_setup_effect(231,7634 -snd_emux_create_effect(278,8804 -snd_emux_delete_effect(292,9167 -snd_emux_clear_effect(301,9281 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/soundfont.c,1736 -lock_preset(68,3420 -unlock_preset(82,3666 -snd_soundfont_close_check(96,3948 -snd_soundfont_load(118,4545 -is_special_type(208,6745 -open_patch(218,6916 -newsf(255,7784 -is_identical_font(290,8497 -close_patch(302,8785 -probe_data(319,9102 -set_zone_counter(334,9377 -sf_zone_new(345,9646 -set_sample_counter(365,9962 -sf_sample_new(376,10250 -sf_sample_delete(395,10625 -load_map(407,10849 -remove_info(472,12353 -load_info(503,12934 -init_voice_info(593,15048 -init_voice_parm(617,15558 -set_sample(639,15970 -find_sample(665,16647 -load_data(687,17099 -static int log_tbl[746,18325 -snd_sf_linear_to_log(777,19781 -#define OFFSET_MSEC 796,20212 -#define OFFSET_ABSCENT 797,20259 -#define OFFSET_SAMPLERATE 798,20309 -#define ABSCENT_RATIO 800,20364 -#define TIMECENT_RATIO 801,20392 -#define SAMPLERATE_RATIO 802,20421 -freq_to_note(809,20537 -calc_rate_offset(822,20898 -calc_gus_envelope_time(830,21045 -static short attack_time_tbl[847,21408 -static short decay_time_tbl[858,22028 -snd_sf_calc_parm_hold(871,22759 -calc_parm_search(881,22970 -snd_sf_calc_parm_attack(896,23236 -snd_sf_calc_parm_decay(903,23377 -int snd_sf_vol_table[908,23463 -#define calc_gus_sustain(calc_gus_sustain920,23855 -#define calc_gus_attenuation(calc_gus_attenuation921,23921 -load_guspatch(925,24014 -snd_soundfont_load_guspatch(1098,28988 -rebuild_presets(1117,29559 -add_preset(1145,30156 -delete_preset(1177,31012 -snd_soundfont_search_zone(1203,31661 -search_first_zone(1234,32539 -search_zones(1253,32938 -get_index(1296,34029 -snd_sf_init(1313,34305 -snd_sf_clear(1332,34679 -snd_sf_new(1361,35262 -snd_sf_free(1384,35684 -snd_soundfont_remove_samples(1403,36039 -snd_soundfont_remove_unlocked(1419,36380 -snd_soundfont_mem_used(1467,37463 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_hwdep.c,254 -snd_emux_hwdep_open(32,1002 -snd_emux_hwdep_release(42,1113 -#define TMP_CLIENT_ID 48,1189 -snd_emux_hwdep_load_patch(54,1251 -snd_emux_hwdep_misc_mode(80,1832 -snd_emux_hwdep_ioctl(105,2332 -snd_emux_init_hwdep(139,3188 -snd_emux_delete_hwdep(165,3731 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_proc.c,101 -snd_emux_proc_info_read(33,1090 -void snd_emux_proc_init(110,3977 -void snd_emux_proc_free(130,4476 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_oss.c,500 -static snd_seq_oss_callback_t oss_callback 46,2068 -snd_emux_init_seq_oss(61,2356 -snd_emux_detach_seq_oss(88,2914 -#define SF_CLIENT_NO(SF_CLIENT_NO98,3116 -snd_emux_open_seq_oss(104,3205 -#define DEFAULT_DRUM_FLAGS 150,4161 -reset_port_mode(156,4246 -snd_emux_close_seq_oss(176,4718 -snd_emux_load_patch_seq_oss(203,5258 -snd_emux_ioctl_seq_oss(245,6273 -snd_emux_reset_seq_oss(276,6825 -snd_emux_event_oss_input(292,7111 -emuspec_control(323,7865 -gusspec_control(418,9934 -fake_event(486,11345 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_voice.h,79 -#define __EMUX_VOICE_H2,23 -#define STATE_IS_PLAYING(STATE_IS_PLAYING82,3466 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_synth.c,1048 -#define LIMITVALUE(LIMITVALUE36,1142 -#define LIMITMAX(LIMITMAX37,1244 -snd_emux_note_on(55,2055 -snd_emux_note_off(155,4507 -void snd_emux_timer_callback(202,5693 -snd_emux_key_press(233,6355 -snd_emux_update_channel(265,7086 -snd_emux_update_port(292,7659 -snd_emux_control(321,8266 -snd_emux_release_voice(369,9313 -terminate_note1(379,9457 -snd_emux_terminate_note(400,9935 -snd_emux_terminate_all(420,10295 -snd_emux_sounds_off_all(449,10914 -exclusive_note_off(483,11693 -terminate_voice(505,12223 -update_voice(523,12555 -static unsigned short voltarget[544,13042 -#define LO_BYTE(LO_BYTE550,13223 -#define HI_BYTE(HI_BYTE551,13255 -setup_voice(558,13402 -static unsigned char pan_volumes[631,15174 -calc_pan(651,16527 -static unsigned char voltab1[699,17586 -static unsigned char voltab2[715,18434 -static unsigned char expressiontab[731,19282 -calc_volume(752,20257 -calc_pitch(823,21996 -get_bank(872,23307 -get_zone(901,23948 -snd_emux_init_voices(925,24509 -void snd_emux_lock_voice(947,24930 -void snd_emux_unlock_voice(962,25319 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_nrpn.c,2301 -} nrpn_conv_table;nrpn_conv_table34,1100 -#define FX_CUTOFF 38,1146 -#define FX_RESONANCE 39,1166 -#define FX_ATTACK 40,1189 -#define FX_RELEASE 41,1209 -#define FX_VIBRATE 42,1230 -#define FX_VIBDEPTH 43,1251 -#define FX_VIBDELAY 44,1273 -#define FX_NUMS 45,1295 -static int send_converted_effect(51,1354 -#define DEF_FX_CUTOFF 67,1744 -#define DEF_FX_RESONANCE 68,1771 -#define DEF_FX_ATTACK 69,1798 -#define DEF_FX_RELEASE 70,1824 -#define DEF_FX_VIBRATE 71,1851 -#define DEF_FX_VIBDEPTH 72,1878 -#define DEF_FX_VIBDELAY 73,1905 -static int gs_sense[78,2015 -static int xg_sense[87,2241 -#define fx_env1_delay 108,2726 -#define fx_env1_attack 109,2778 -#define fx_env1_hold 110,2832 -#define fx_env1_decay 111,2883 -#define fx_env1_release 112,2935 -#define fx_env1_sustain 113,2989 -#define fx_env1_pitch 114,3047 -#define fx_env1_cutoff 115,3110 -#define fx_env2_delay 117,3175 -#define fx_env2_attack 118,3227 -#define fx_env2_hold 119,3281 -#define fx_env2_decay 120,3332 -#define fx_env2_release 121,3384 -#define fx_env2_sustain 122,3438 -#define fx_lfo1_delay 124,3497 -#define fx_lfo1_freq 125,3549 -#define fx_lfo1_volume 126,3605 -#define fx_lfo1_pitch 127,3666 -#define fx_lfo1_cutoff 128,3729 -#define fx_lfo2_delay 130,3794 -#define fx_lfo2_freq 131,3846 -#define fx_lfo2_pitch 132,3902 -#define fx_init_pitch 134,3966 -#define fx_chorus 135,4027 -#define fx_reverb 136,4075 -#define fx_cutoff 137,4123 -#define fx_filterQ 138,4175 -static int fx_delay(140,4222 -static int fx_attack(145,4309 -static int fx_hold(150,4398 -static int fx_decay(155,4483 -static int fx_the_value(160,4570 -static int fx_twice_value(165,4646 -static int fx_conv_pitch(170,4730 -static int fx_conv_Q(175,4805 -static nrpn_conv_table awe_effects[181,4885 -static int gs_cutoff(221,6156 -static int gs_filterQ(227,6268 -static int gs_attack(233,6368 -static int gs_decay(239,6464 -static int gs_release(245,6562 -static int gs_vib_rate(251,6689 -static int gs_vib_depth(257,6813 -static int gs_vib_delay(263,6937 -static nrpn_conv_table gs_effects[268,7025 -snd_emux_nrpn(285,7406 -static int xg_cutoff(328,8560 -static int xg_filterQ(334,8685 -static int xg_attack(340,8785 -static int xg_release(346,8883 -static nrpn_conv_table xg_effects[351,8968 -snd_emux_xg_control(360,9166 -snd_emux_sysex(372,9433 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/synth/emux/emux_seq.c,541 -static snd_midi_op_t emux_ops 36,1317 -#define MIDI_CHANNELS 50,1528 -#define DEFAULT_MIDI_TYPE 55,1600 -snd_emux_init_seq(68,2030 -snd_emux_detach_seq(122,3312 -snd_emux_create_port(141,3625 -free_port(191,4806 -#define DEFAULT_DRUM_FLAGS 207,5031 -snd_emux_init_port(213,5128 -snd_emux_reset_port(226,5284 -snd_emux_event_input(255,5876 -snd_emux_inc_count(273,6191 -snd_emux_dec_count(292,6467 -snd_emux_use(306,6718 -snd_emux_unuse(327,7150 -get_client(349,7549 -int snd_emux_init_virmidi(378,8240 -int snd_emux_delete_virmidi(415,9122 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/tea6330t.c,1535 -#define TEA6330T_ADDR 33,1219 -#define TEA6330T_SADDR_VOLUME_LEFT 35,1274 -#define TEA6330T_SADDR_VOLUME_RIGHT 36,1332 -#define TEA6330T_SADDR_BASS 37,1392 -#define TEA6330T_SADDR_TREBLE 38,1445 -#define TEA6330T_SADDR_FADER 39,1502 -#define TEA6330T_MFN 40,1557 -#define TEA6330T_FCH 41,1628 -#define TEA6330T_SADDR_AUDIO_SWITCH 42,1702 -#define TEA6330T_GMU 43,1762 -#define TEA6330T_EQN 44,1825 -int snd_tea6330t_detect(46,1900 -static void snd_tea6330t_set(57,2082 -#define TEA6330T_MASTER_VOLUME(TEA6330T_MASTER_VOLUME67,2302 -static int snd_tea6330t_info_master_volume(72,2550 -static int snd_tea6330t_get_master_volume(81,2790 -static int snd_tea6330t_put_master_volume(92,3121 -#define TEA6330T_MASTER_SWITCH(TEA6330T_MASTER_SWITCH123,4110 -static int snd_tea6330t_info_master_switch(128,4358 -static int snd_tea6330t_get_master_switch(137,4597 -static int snd_tea6330t_put_master_switch(148,4994 -#define TEA6330T_BASS(TEA6330T_BASS172,5908 -static int snd_tea6330t_info_bass(177,6120 -static int snd_tea6330t_get_bass(188,6411 -static int snd_tea6330t_put_bass(196,6617 -#define TEA6330T_TREBLE(TEA6330T_TREBLE216,7222 -static int snd_tea6330t_info_treble(221,7442 -static int snd_tea6330t_get_treble(232,7737 -static int snd_tea6330t_put_treble(240,7947 -static snd_kcontrol_new_t snd_tea6330t_controls[260,8543 -static void snd_tea6330_free(267,8792 -int snd_tea6330t_update_mixer(273,8946 -static int __init alsa_tea6330t_init(359,11076 -static void __exit alsa_tea6330t_exit(364,11135 -module_init(368,11184 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/l3/uda1341.c,2368 -#define STAT0 43,1195 -#define STAT1 44,1232 -#define STAT_MASK 45,1253 -#define DATA0_0 47,1291 -#define DATA0_1 48,1314 -#define DATA0_2 49,1337 -#define DATA_MASK 50,1360 -#define IS_DATA0(IS_DATA052,1398 -#define IS_DATA1(IS_DATA153,1457 -#define IS_STATUS(IS_STATUS54,1496 -#define IS_EXTEND(IS_EXTEND55,1551 -enum uda1341_regs_names uda1341_regs_names59,1615 - stat0,60,1641 - stat1,61,1649 - data0_0,62,1657 - data0_1,63,1667 - data0_2,64,1677 - data1,65,1687 - ext0,66,1695 - ext1,67,1702 - ext2,68,1709 - empty,69,1716 - ext4,70,1724 - ext5,71,1731 - ext6,72,1738 - uda1341_reg_last,73,1745 -const char *uda1341_reg_names[76,1768 -const int uda1341_enum_items[92,1950 -const char ** uda1341_enum_names[103,2177 -typedef int uda1341_cfg[uda1341_cfg114,2508 -typedef struct uda1341 uda1341_t;uda1341_t116,2544 -struct uda1341 uda1341118,2579 -typedef struct l3_client l3_client_t;l3_client_t133,2991 -void int2str_bin8(136,3097 -int snd_uda1341_codec_write(149,3354 -int snd_uda1341_codec_read(174,4187 -static inline int snd_uda1341_valid_reg(186,4447 -int snd_uda1341_update_bits(191,4568 -int snd_uda1341_cfg_write(217,5290 -static void snd_uda1341_proc_read(331,8567 -static void snd_uda1341_proc_regs_read(396,11727 -static void __devinit snd_uda1341_proc_init(418,12316 -#define UDA1341_SINGLE(UDA1341_SINGLE434,12761 -static int snd_uda1341_info_single(440,13071 -static int snd_uda1341_get_single(451,13398 -static int snd_uda1341_put_single(466,13906 -#define UDA1341_ENUM(UDA1341_ENUM489,14590 -static int snd_uda1341_info_enum(495,14892 -static int snd_uda1341_get_enum(516,15525 -static int snd_uda1341_put_enum(526,15841 -#define UDA1341_2REGS(UDA1341_2REGS544,16422 -static int snd_uda1341_info_2regs(552,16845 -static int snd_uda1341_get_2regs(566,17285 -static int snd_uda1341_put_2regs(584,17890 -static snd_kcontrol_new_t snd_uda1341_controls[620,19026 -static void uda1341_free(650,20365 -static int uda1341_dev_free(656,20510 -int __init snd_chip_uda1341_mixer_new(663,20644 -static int uda1341_attach(706,21639 -static void uda1341_detach(731,22154 -uda1341_command(738,22273 -static int uda1341_open(746,22475 -static void uda1341_close(780,24542 -static struct l3_ops uda1341_ops 791,24709 -static struct l3_driver uda1341_driver 797,24828 -static int __init uda1341_init(805,25018 -static void __exit uda1341_exit(810,25100 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/i2c.c,1055 -static snd_i2c_ops_t snd_i2c_bit_ops 39,1469 -static int snd_i2c_bus_free(45,1625 -static int snd_i2c_bus_dev_free(69,2143 -int snd_i2c_bus_create(75,2276 -int snd_i2c_device_create(105,3001 -int snd_i2c_device_free(122,3467 -int snd_i2c_sendbytes(132,3653 -int snd_i2c_readbytes(138,3799 -int snd_i2c_probeaddr(143,3944 -static inline void snd_i2c_bit_hw_start(152,4079 -static inline void snd_i2c_bit_hw_stop(158,4204 -static void snd_i2c_bit_direction(164,4326 -static void snd_i2c_bit_set(170,4487 -static int snd_i2c_bit_clock(176,4613 -static int snd_i2c_bit_data(184,4763 -static void snd_i2c_bit_start(189,4869 -static void snd_i2c_bit_stop(198,5099 -static void snd_i2c_bit_send(206,5267 -static int snd_i2c_bit_ack(213,5427 -static int snd_i2c_bit_sendbyte(226,5754 -static int snd_i2c_bit_readbyte(237,5981 -static int snd_i2c_bit_sendbytes(255,6421 -static int snd_i2c_bit_readbytes(278,6972 -static int snd_i2c_bit_probeaddr(302,7564 -static int __init alsa_i2c_init(323,8115 -static void __exit alsa_i2c_exit(328,8169 -module_init(332,8213 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/other/ak4xxx-adda.c,975 -void snd_akm4xxx_write(37,1334 -void snd_akm4xxx_reset(61,1982 -void snd_akm4xxx_init(111,3314 -#define AK_GET_CHIP(AK_GET_CHIP219,6471 -#define AK_GET_ADDR(AK_GET_ADDR220,6519 -#define AK_GET_SHIFT(AK_GET_SHIFT221,6560 -#define AK_GET_INVERT(AK_GET_INVERT222,6610 -#define AK_GET_MASK(AK_GET_MASK223,6658 -#define AK_COMPOSE(AK_COMPOSE224,6707 -#define AK_INVERT 225,6808 -static int snd_akm4xxx_volume_info(227,6838 -static int snd_akm4xxx_volume_get(238,7132 -static int snd_akm4xxx_volume_put(251,7618 -static int snd_akm4xxx_ipga_gain_info(269,8213 -static int snd_akm4xxx_ipga_gain_get(278,8448 -static int snd_akm4xxx_ipga_gain_put(287,8786 -static int snd_akm4xxx_deemphasis_info(299,9234 -static int snd_akm4xxx_deemphasis_get(313,9666 -static int snd_akm4xxx_deemphasis_put(323,10063 -int snd_akm4xxx_build_controls(343,10672 -static int __init alsa_akm4xxx_module_init(448,14190 -static void __exit alsa_akm4xxx_module_exit(453,14263 -module_init(457,14326 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/other/ak4117.c,1313 -#define AK4117_ADDR 36,1263 -static void reg_write(40,1362 -static inline unsigned char reg_read(47,1557 -static void reg_dump(53,1691 -static void snd_ak4117_free(63,1925 -static int snd_ak4117_dev_free(69,2014 -int snd_ak4117_create(76,2146 -void snd_ak4117_reg_write(118,3235 -void snd_ak4117_reinit(125,3423 -static unsigned int external_rate(146,4081 -static int snd_ak4117_in_error_info(160,4506 -static int snd_ak4117_in_error_get(170,4752 -static int snd_ak4117_in_bit_info(184,5100 -static int snd_ak4117_in_bit_get(194,5335 -static int snd_ak4117_rx_info(206,5754 -static int snd_ak4117_rx_get(216,5988 -static int snd_ak4117_rx_put(225,6235 -static int snd_ak4117_rate_info(241,6734 -static int snd_ak4117_rate_get(251,6970 -static int snd_ak4117_spdif_info(260,7217 -static int snd_ak4117_spdif_get(267,7383 -static int snd_ak4117_spdif_mask_info(278,7677 -static int snd_ak4117_spdif_mask_get(285,7848 -static int snd_ak4117_spdif_pinfo(292,8040 -static int snd_ak4117_spdif_pget(301,8275 -static int snd_ak4117_spdif_qinfo(316,8786 -static int snd_ak4117_spdif_qget(323,8971 -static snd_kcontrol_new_t snd_ak4117_iec958_controls[335,9321 -int snd_ak4117_build(437,12553 -int snd_ak4117_external_rate(459,13125 -int snd_ak4117_check_rate_and_errors(467,13271 -static void snd_ak4117_timer(543,16255 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/other/tea575x-tuner.c,923 -#define TEA575X_BIT_SEARCH 39,1251 -#define TEA575X_BIT_UPDOWN 40,1322 -#define TEA575X_BIT_MONO 41,1395 -#define TEA575X_BIT_BAND_MASK 42,1456 -#define TEA575X_BIT_BAND_FM 43,1494 -#define TEA575X_BIT_BAND_MW 44,1530 -#define TEA575X_BIT_BAND_LW 45,1566 -#define TEA575X_BIT_BAND_SW 46,1602 -#define TEA575X_BIT_PORT_0 47,1638 -#define TEA575X_BIT_PORT_1 48,1689 -#define TEA575X_BIT_SEARCH_MASK 49,1740 -#define TEA575X_BIT_SEARCH_5_28 50,1800 -#define TEA575X_BIT_SEARCH_10_40 51,1869 -#define TEA575X_BIT_SEARCH_30_63 52,1940 -#define TEA575X_BIT_SEARCH_150_1000 53,2011 -#define TEA575X_BIT_DUMMY 54,2086 -#define TEA575X_BIT_FREQ_MASK 55,2134 -static void snd_tea575x_set_freq(61,2197 -static int snd_tea575x_ioctl(88,2677 -void snd_tea575x_init(174,4618 -void snd_tea575x_exit(207,5604 -static int __init alsa_tea575x_module_init(215,5740 -static void __exit alsa_tea575x_module_exit(220,5813 -module_init(224,5876 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/i2c/cs8427.c,1159 -#define CS8427_ADDR 37,1294 -} cs8427_stream_t;cs8427_stream_t46,1579 -} cs8427_t;cs8427_t54,1783 -static unsigned char swapbits(56,1796 -int snd_cs8427_detect(68,1977 -int snd_cs8427_reg_write(78,2167 -int snd_cs8427_reg_read(92,2522 -static int snd_cs8427_select_corudata(108,2958 -static int snd_cs8427_send_corudata(124,3426 -static void snd_cs8427_free(157,4445 -int snd_cs8427_create(163,4562 -void snd_cs8427_reset(291,9279 -static int snd_cs8427_in_status_info(324,10450 -static int snd_cs8427_in_status_get(334,10693 -static int snd_cs8427_qsubcode_info(349,11072 -static int snd_cs8427_qsubcode_get(357,11248 -static int snd_cs8427_spdif_info(379,11928 -static int snd_cs8427_spdif_get(386,12094 -static int snd_cs8427_spdif_put(398,12434 -static int snd_cs8427_spdif_mask_info(419,13220 -static int snd_cs8427_spdif_mask_get(426,13391 -static snd_kcontrol_new_t snd_cs8427_iec958_controls[433,13564 -int snd_cs8427_iec958_build(482,15052 -int snd_cs8427_iec958_active(511,15961 -int snd_cs8427_iec958_pcm(525,16411 -static int __init alsa_cs8427_module_init(564,17589 -static void __exit alsa_cs8427_module_exit(569,17653 -module_init(573,17707 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/virmidi.c,500 -#define MAX_MIDI_DEVICES 62,2206 -static int index[64,2234 -static char *id[65,2303 -static int enable[66,2376 -static int midi_devs[67,2445 -static int boot_devs;68,2514 -typedef struct snd_card_virmidi snd_card_virmidi79,2965 -} snd_card_virmidi_t;snd_card_virmidi_t82,3058 -static snd_card_t *snd_virmidi_cards[84,3081 -static int __init snd_card_virmidi_probe(87,3154 -static int __init alsa_card_virmidi_init(129,4297 -static void __exit alsa_card_virmidi_exit(151,4739 -module_init(159,4885 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/mtpav.c,2432 -#define MTPAV_IOBASE 75,2598 -#define MTPAV_IRQ 76,2626 -#define MTPAV_MAX_PORTS 77,2647 -static int index 79,2675 -static char *id 80,2714 -static long port 81,2752 -static int irq 82,2804 -static int hwports 83,2844 -#define SIGS_BYTE 102,3562 -#define SIGS_RFD 103,3585 -#define SIGS_IRQ 104,3607 -#define SIGS_IN0 105,3629 -#define SIGS_IN1 106,3651 -#define SIGC_WRITE 108,3674 -#define SIGC_READ 109,3698 -#define SIGC_INTEN 110,3721 -#define DREG 112,3746 -#define SREG 113,3761 -#define CREG 114,3776 -#define MTPAV_MODE_INPUT_OPENED 117,3795 -#define MTPAV_MODE_OUTPUT_OPENED 118,3833 -#define MTPAV_MODE_INPUT_TRIGGERED 119,3871 -#define MTPAV_MODE_OUTPUT_TRIGGERED 120,3911 -#define NUMPORTS 122,3953 -typedef struct mtpav_port mtpav_port128,3989 -} mtpav_port_t;mtpav_port_t135,4138 -typedef struct mtpav mtpav137,4155 -} mtpav_t;mtpav_t154,4799 -static mtpav_t *mtp_card;161,4880 -#define MTPAV_PIDX_COMPUTER 181,5412 -#define MTPAV_PIDX_ADAT 182,5442 -#define MTPAV_PIDX_BROADCAST 183,5469 -static int translate_subdevice_to_hwport(186,5502 -static int translate_hwport_to_subdevice(201,6031 -static u8 snd_mtpav_getreg(226,6635 -static void snd_mtpav_mputreg(244,6893 -static void snd_mtpav_wait_rfdhi(256,7082 -static void snd_mtpav_send_byte(268,7307 -static void snd_mtpav_output_port_write(294,7776 -static void snd_mtpav_output_write(327,8623 -static void snd_mtpav_portscan(342,8961 -static int snd_mtpav_input_open(356,9195 -static int snd_mtpav_input_close(374,9727 -static void snd_mtpav_input_trigger(395,10225 -static void snd_mtpav_output_timer(414,10642 -static void snd_mtpav_add_output_timer(433,11175 -static void snd_mtpav_remove_output_timer(443,11438 -static int snd_mtpav_output_open(451,11534 -static int snd_mtpav_output_close(466,11883 -static void snd_mtpav_output_trigger(481,12231 -static void snd_mtpav_inmidi_process(508,12915 -static void snd_mtpav_inmidi_h(523,13294 -static void snd_mtpav_read_bytes(544,13782 -static irqreturn_t snd_mtpav_irqh(582,14519 -static int snd_mtpav_get_ISA(596,14794 -static snd_rawmidi_ops_t snd_mtpav_output 615,15199 -static snd_rawmidi_ops_t snd_mtpav_input 621,15354 -static void snd_mtpav_set_name(632,15539 -static int snd_mtpav_get_RAWMIDI(646,16187 -static mtpav_t *new_mtpav(690,17534 -static void free_mtpav(711,17894 -static int __init alsa_card_mtpav_init(731,18280 -static void __exit alsa_card_mtpav_exit(783,19459 -module_init(795,19628 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_synth.c,354 -char snd_opl3_regmap[44,1531 -int snd_opl3_open(75,2446 -int snd_opl3_ioctl(93,2723 -int snd_opl3_release(177,4609 -void snd_opl3_reset(191,4849 -static int snd_opl3_play_note(232,6114 -static int snd_opl3_set_voice(279,7449 -static int snd_opl3_set_params(381,10674 -static int snd_opl3_set_mode(421,11655 -static int snd_opl3_set_connection(433,11977 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_seq.c,629 -int use_internal_drums 34,1161 -int snd_opl3_synth_use_inc(38,1307 -void snd_opl3_synth_use_dec(46,1426 -int snd_opl3_synth_setup(51,1507 -void snd_opl3_synth_cleanup(81,2152 -int snd_opl3_synth_use(99,2537 -int snd_opl3_synth_unuse(126,3229 -snd_midi_op_t opl3_ops 140,3506 -static int snd_opl3_synth_event_input(150,3764 -static void snd_opl3_synth_free_port(169,4252 -static int snd_opl3_synth_create_port(176,4386 -static int snd_opl3_seq_new_device(218,5633 -static int snd_opl3_seq_delete_device(276,7164 -static int __init alsa_opl3_seq_init(296,7581 -static void __exit alsa_opl3_seq_exit(308,7822 -module_init(313,7929 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_midi.c,853 -static char opl3_volume_table[42,1553 -void snd_opl3_calc_volume(62,2085 -static short opl3_note_table[88,2761 -static void snd_opl3_calc_pitch(95,2960 -static void debug_alloc(124,3643 -static int opl3_get_voice(138,3965 - FREE 153,4373 - FREE = 0, CHEAP,153,4373 - FREE = 0, CHEAP, EXPENSIVE,153,4373 - FREE = 0, CHEAP, EXPENSIVE, END153,4373 - struct best best157,4454 -void snd_opl3_timer_func(237,6281 -void snd_opl3_start_timer(266,6872 -static int snd_opl3_oss_map[281,7213 -void snd_opl3_note_on(288,7352 -static void snd_opl3_kill_voice(618,16315 -void snd_opl3_note_off(666,17399 -void snd_opl3_key_press(711,18520 -void snd_opl3_terminate_note(725,18772 -static void snd_opl3_update_pitch(736,18997 -static void snd_opl3_pitch_ctrl(783,20115 -void snd_opl3_control(813,20862 -void snd_opl3_nrpn(849,21724 -void snd_opl3_sysex(864,21979 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_lib.c,829 -void snd_opl2_command(40,1433 -void snd_opl3_command(63,1910 -void snd_opl3_cs4281_command(88,2427 -static int snd_opl3_detect(110,2888 -static int snd_opl3_timer1_start(178,5003 -static int snd_opl3_timer1_stop(196,5572 -static int snd_opl3_timer2_start(215,6037 -static int snd_opl3_timer2_stop(233,6606 -static struct _snd_timer_hardware snd_opl3_timer1 252,7052 -static struct _snd_timer_hardware snd_opl3_timer2 261,7243 -static int snd_opl3_timer1_init(270,7435 -static int snd_opl3_timer2_init(290,7941 -void snd_opl3_interrupt(314,8456 -static int snd_opl3_free(345,8940 -static int snd_opl3_dev_free(359,9211 -int snd_opl3_create(365,9333 -int snd_opl3_timer_new(458,11727 -int snd_opl3_hwdep_new(475,12095 -static int __init alsa_opl3_init(546,13779 -static void __exit alsa_opl3_exit(551,13834 -module_init(555,13879 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_oss.c,816 -static inline mm_segment_t snd_enter_user(32,1311 -static inline void snd_leave_user(39,1424 -static snd_seq_oss_callback_t oss_callback 48,1542 -static int snd_opl3_oss_event_input(57,1796 -static void snd_opl3_oss_free_port(69,2095 -static int snd_opl3_oss_create_port(76,2231 -void snd_opl3_init_seq_oss(116,3398 -void snd_opl3_free_seq_oss(146,4125 -static int snd_opl3_open_seq_oss(157,4341 -static int snd_opl3_close_seq_oss(180,4842 -#define AM_VIB 196,5111 -#define KSL_LEVEL 197,5129 -#define ATTACK_DECAY 198,5149 -#define SUSTAIN_RELEASE 199,5172 -#define WAVE_SELECT 200,5198 -#define CONNECTION 203,5253 -#define OFFSET_4OP 204,5275 -#define SBFM_MAXINSTR 207,5324 -static int snd_opl3_load_patch_seq_oss(209,5351 -static int snd_opl3_ioctl_seq_oss(322,8619 -static int snd_opl3_reset_seq_oss(348,9170 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_drums.c,874 -static char snd_opl3_drum_table[26,943 -typedef struct snd_opl3_drum_voice snd_opl3_drum_voice48,2077 -} snd_opl3_drum_voice_t;snd_opl3_drum_voice_t57,2309 -typedef struct snd_opl3_drum_note snd_opl3_drum_note59,2335 -} snd_opl3_drum_note_t;snd_opl3_drum_note_t64,2465 -static snd_opl3_drum_voice_t bass_op0 66,2490 -static snd_opl3_drum_voice_t bass_op1 67,2574 -static snd_opl3_drum_note_t bass_note 68,2658 -static snd_opl3_drum_voice_t hihat 70,2716 -static snd_opl3_drum_voice_t snare 72,2798 -static snd_opl3_drum_note_t snare_note 73,2879 -static snd_opl3_drum_voice_t tomtom 75,2938 -static snd_opl3_drum_note_t tomtom_note 76,3020 -static snd_opl3_drum_voice_t cymbal 78,3080 -void snd_opl3_drum_voice_set(83,3204 -void snd_opl3_drum_note_set(117,4355 -void snd_opl3_drum_vol_set(134,4834 -void snd_opl3_load_drums(162,5727 -void snd_opl3_drum_switch(182,6193 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl3/opl3_voice.h,28 -#define __OPL3_VOICE_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/serial-u16550.c,2606 -#define SNDRV_SERIAL_SOUNDCANVAS 51,1815 -#define SNDRV_SERIAL_MS124T 52,1895 -#define SNDRV_SERIAL_MS124W_SA 53,1953 -#define SNDRV_SERIAL_MS124W_MB 54,2023 -#define SNDRV_SERIAL_GENERIC 55,2093 -#define SNDRV_SERIAL_MAX_ADAPTOR 56,2152 -static char *adaptor_names[57,2206 -#define SNDRV_SERIAL_NORMALBUFF 65,2321 -#define SNDRV_SERIAL_DROPBUFF 66,2394 -static int index[68,2466 -static char *id[69,2535 -static int enable[70,2608 -static long port[71,2686 -static int irq[72,2768 -static int speed[73,2846 -static int base[74,2951 -static int outs[75,3036 -static int ins[76,3115 -static int adaptor[77,3192 -static int droponfull[78,3282 -static int boot_devs;79,3374 -#define SNDRV_SERIAL_MAX_OUTS 107,4620 -#define SNDRV_SERIAL_MAX_INS 108,4675 -#define TX_BUFF_SIZE 110,4730 -#define TX_BUFF_MASK 111,4779 -#define SERIAL_MODE_NOT_OPENED 113,4821 -#define SERIAL_MODE_INPUT_OPEN 114,4858 -#define SERIAL_MODE_OUTPUT_OPEN 115,4899 -#define SERIAL_MODE_INPUT_TRIGGERED 116,4941 -#define SERIAL_MODE_OUTPUT_TRIGGERED 117,4986 -typedef struct _snd_uart16550 _snd_uart16550119,5033 -} snd_uart16550_t;snd_uart16550_t168,6079 -static snd_card_t *snd_serial_cards[170,6099 -inline static void snd_uart16550_add_timer(172,6170 -inline static void snd_uart16550_del_timer(182,6430 -inline static void snd_uart16550_buffer_output(191,6648 -static void snd_uart16550_io_loop(208,7114 -static irqreturn_t snd_uart16550_interrupt(294,10061 -static void snd_uart16550_buffer_timer(311,10598 -static int __init snd_uart16550_detect(327,10966 -static void snd_uart16550_do_open(369,12145 -static void snd_uart16550_do_close(461,15489 -static int snd_uart16550_input_open(512,17310 -static int snd_uart16550_input_close(526,17745 -static void snd_uart16550_input_trigger(540,18178 -static int snd_uart16550_output_open(554,18566 -static int snd_uart16550_output_close(568,19005 -inline static int snd_uart16550_buffer_can_write(582,19442 -inline static int snd_uart16550_write_buffer(590,19608 -static int snd_uart16550_output_byte(606,20017 -static void snd_uart16550_output_write(639,21184 -static void snd_uart16550_output_trigger(718,23861 -static snd_rawmidi_ops_t snd_uart16550_output 734,24302 -static snd_rawmidi_ops_t snd_uart16550_input 741,24473 -static int snd_uart16550_free(748,24640 -static int snd_uart16550_dev_free(760,24877 -static int __init snd_uart16550_create(766,25018 -static int __init snd_uart16550_rmidi(844,27045 -static int __init snd_serial_probe(863,27736 -static int __init alsa_card_serial_init(948,29574 -static void __exit alsa_card_serial_exit(967,29892 -module_init(977,30079 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_core.c,992 -void snd_vx_delay(45,1385 -int snd_vx_check_reg_bit(64,1867 -static int vx_send_irq_dsp(93,2793 -static int vx_reset_chk(114,3187 -static int vx_transfer_end(133,3674 -static int vx_read_status(171,4614 -#define MASK_MORE_THAN_1_WORD_COMMAND 239,6211 -#define MASK_1_WORD_COMMAND 240,6262 -int vx_send_msg_nolock(251,6609 -int vx_send_msg(356,9404 -int vx_send_rih_nolock(379,9934 -int vx_send_rih(416,10709 -#define END_OF_RESET_WAIT_TIME 427,10925 -int snd_vx_load_boot_image(433,11066 -static int vx_test_irq_src(488,12447 -static void vx_interrupt(507,12790 -irqreturn_t snd_vx_irq_handler(551,13913 -static void vx_reset_board(566,14223 -static void vx_proc_read(605,15099 -static void vx_proc_init(644,16903 -int snd_vx_dsp_boot(656,17142 -int snd_vx_dsp_load(674,17507 -vx_core_t *snd_vx_create(729,18822 -void snd_vx_suspend(765,19589 -void snd_vx_resume(779,19838 -static int __init alsa_vx_core_init(790,20001 -static void __exit alsa_vx_core_exit(795,20059 -module_init(799,20107 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_uer.c,788 -static int vx_modify_board_clock(34,1110 -static int vx_modify_board_inputs(48,1419 -static int vx_read_one_cbit(62,1731 -static void vx_write_one_cbit(85,2358 -static int vx_read_uer_status(107,3025 -static int vx_calc_clock_from_freq(163,4399 -#define XX_FECH48000 165,4463 -#define XX_FECH32000 166,4514 -#define XX_FECH24000 167,4565 -#define XX_FECH16000 168,4616 -#define XX_FECH12000 169,4667 -#define XX_FECH8000 170,4718 -#define XX_FECH44100 171,4769 -#define XX_FECH29400 172,4820 -#define XX_FECH22050 173,4871 -#define XX_FECH14000 174,4922 -#define XX_FECH11025 175,4973 -#define XX_FECH7350 176,5024 -void vx_change_clock_source(200,5707 -void vx_set_internal_clock(218,6096 -void vx_set_iec958_status(241,6717 -int vx_set_clock(256,6993 -int vx_change_frequency(298,8051 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_pcm.c,2099 -static struct page *snd_pcm_get_vmalloc_page(64,2178 -static int snd_pcm_alloc_vmalloc_buffer(75,2489 -static int snd_pcm_free_vmalloc_buffer(97,3104 -static void vx_pcm_read_per_bytes(111,3406 -static void vx_set_pcx_time(138,4192 -static int vx_set_differed_time(154,4717 -static int vx_set_stream_format(187,5682 -static int vx_set_format(213,6411 -static int vx_set_ibl(242,7148 -static int vx_get_pipe_state(272,7947 -static int vx_query_hbuffer_size(297,8659 -static int vx_pipe_can_start(321,9233 -static int vx_conf_pipe(342,9705 -static int vx_send_irqa(356,10028 -#define MAX_WAIT_FOR_DSP 365,10205 -#define CAN_START_DELAY 370,10368 -#define WAIT_STATE_DELAY 371,10456 -static int vx_toggle_pipe(381,10724 -static int vx_stop_pipe(434,11987 -static int vx_alloc_pipe(452,12542 -static int vx_free_pipe(502,13678 -static int vx_start_stream(520,14001 -static int vx_stop_stream(536,14394 -static snd_pcm_hardware_t vx_pcm_playback_hw 550,14692 -static int vx_pcm_playback_open(573,15384 -static int vx_pcm_playback_close(617,16641 -static int vx_notify_end_of_buffer(643,17138 -static int vx_pcm_playback_transfer_chunk(671,17954 -static int vx_update_pipe_position(707,19181 -static void vx_pcm_playback_transfer(733,19892 -static void vx_pcm_playback_update(751,20404 -static void vx_pcm_delayed_start(771,20973 -static int vx_pcm_trigger(794,21649 -static snd_pcm_uframes_t vx_pcm_playback_pointer(839,22743 -static int vx_pcm_hw_params(849,23008 -static int vx_pcm_hw_free(858,23254 -static int vx_pcm_prepare(866,23424 -static snd_pcm_ops_t vx_pcm_playback_ops 930,25178 -static snd_pcm_hardware_t vx_pcm_capture_hw 947,25546 -static int vx_pcm_capture_open(968,26181 -static int vx_pcm_capture_close(1025,28033 -#define DMA_READ_ALIGN 1056,28723 -static void vx_pcm_capture_update(1061,28843 -static snd_pcm_uframes_t vx_pcm_capture_pointer(1134,30842 -static snd_pcm_ops_t vx_pcm_capture_ops 1144,31093 -void vx_pcm_update_intr(1160,31466 -#define EVENT_MASK 1165,31566 -static int vx_init_audio_io(1217,33074 -static void snd_vx_pcm_free(1259,34353 -int snd_vx_pcm_new(1276,34712 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_hwdep.c,179 -static int vx_hwdep_open(28,969 -static int vx_hwdep_release(33,1046 -static int vx_hwdep_dsp_status(38,1126 -static int vx_hwdep_dsp_load(61,1714 -int snd_vx_hwdep_new(103,2611 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_cmd.h,4887 -#define __VX_CMD_H24,892 - CMD_VERSION,27,919 - CMD_SUPPORTED,28,933 - CMD_TEST_IT,29,949 - CMD_SEND_IRQA,30,963 - CMD_IBL,31,979 - CMD_ASYNC,32,989 - CMD_RES_PIPE,33,1001 - CMD_FREE_PIPE,34,1016 - CMD_CONF_PIPE,35,1032 - CMD_ABORT_CONF_PIPE,36,1048 - CMD_PARAM_OUTPUT_PIPE,37,1070 - CMD_STOP_PIPE,38,1094 - CMD_PIPE_STATE,39,1110 - CMD_PIPE_SPL_COUNT,40,1127 - CMD_CAN_START_PIPE,41,1148 - CMD_SIZE_HBUFFER,42,1169 - CMD_START_STREAM,43,1188 - CMD_START_ONE_STREAM,44,1207 - CMD_PAUSE_STREAM,45,1230 - CMD_PAUSE_ONE_STREAM,46,1249 - CMD_STREAM_OUT_LEVEL_ADJUST,47,1272 - CMD_STOP_STREAM,48,1302 - CMD_FORMAT_STREAM_OUT,49,1320 - CMD_FORMAT_STREAM_IN,50,1344 - CMD_GET_STREAM_STATE,51,1367 - CMD_DROP_BYTES_AWAY,52,1390 - CMD_GET_REMAINING_BYTES,53,1412 - CMD_CONNECT_AUDIO,54,1438 - CMD_AUDIO_LEVEL_ADJUST,55,1458 - CMD_AUDIO_VU_PIC_METER,56,1483 - CMD_GET_AUDIO_LEVELS,57,1508 - CMD_GET_NOTIFY_EVENT,58,1531 - CMD_INFO_NOTIFIED,59,1554 - CMD_ACCESS_IO_FCT,60,1574 - CMD_STATUS_R_BUFFERS,61,1594 - CMD_UPDATE_R_BUFFERS,62,1617 - CMD_LOAD_EFFECT_CONTEXT,63,1640 - CMD_EFFECT_ONE_PIPE,64,1666 - CMD_MODIFY_CLOCK,65,1688 - CMD_STREAM1_OUT_SET_N_LEVELS,66,1707 - CMD_PURGE_STREAM_DCMDS,67,1738 - CMD_NOTIFY_PIPE_TIME,68,1763 - CMD_LOAD_EFFECT_CONTEXT_PACKET,69,1786 - CMD_RELIC_R_BUFFER,70,1819 - CMD_RESYNC_AUDIO_INPUTS,71,1840 - CMD_NOTIFY_STREAM_TIME,72,1866 - CMD_STREAM_SAMPLE_COUNT,73,1891 - CMD_CONFIG_TIME_CODE,74,1917 - CMD_GET_TIME_CODE,75,1940 - CMD_MANAGE_SIGNAL,76,1960 - CMD_PARAMETER_STREAM_OUT,77,1980 - CMD_READ_BOARD_FREQ,78,2007 - CMD_GET_STREAM_LEVELS,79,2029 - CMD_PURGE_PIPE_DCMDS,80,2053 - CMD_CONNECT_MONITORING,83,2140 - CMD_STREAM2_OUT_SET_N_LEVELS,84,2165 - CMD_CANCEL_R_BUFFERS,85,2196 - CMD_NOTIFY_END_OF_BUFFER,86,2219 - CMD_GET_STREAM_VU_METER,87,2246 - CMD_LAST_INDEX88,2272 -struct vx_cmd_info vx_cmd_info91,2292 -#define CODE_OP_PIPE_TIME 99,2536 -#define CODE_OP_START_STREAM 100,2595 -#define CODE_OP_PAUSE_STREAM 101,2654 -#define CODE_OP_OUT_STREAM_LEVEL 102,2713 -#define CODE_OP_UPDATE_R_BUFFERS 103,2772 -#define CODE_OP_OUT_STREAM1_LEVEL_CURVE 104,2831 -#define CODE_OP_OUT_STREAM2_LEVEL_CURVE 105,2890 -#define CODE_OP_OUT_STREAM_FORMAT 106,2949 -#define CODE_OP_STREAM_TIME 107,3008 -#define CODE_OP_OUT_STREAM_EXTRAPARAMETER 108,3067 -#define CODE_OP_OUT_AUDIO_LEVEL 109,3126 -#define NOTIFY_LAST_COMMAND 111,3186 -#define DC_DIFFERED_DELAY 114,3260 -#define DC_NOTIFY_DELAY 115,3318 -#define DC_HBUFFER_DELAY 116,3376 -#define DC_MULTIPLE_DELAY 117,3441 -#define DC_STREAM_TIME_DELAY 118,3491 -#define DC_CANCELLED_DELAY 119,3544 -#define BIT_DIFFERED_COMMAND 124,3717 -#define BIT_NOTIFIED_COMMAND 125,3763 -#define BIT_TIME_RELATIVE_TO_BUFFER 126,3809 -#define BIT_RESERVED 127,3855 -#define BIT_STREAM_TIME 128,3901 -#define BIT_CANCELLED_COMMAND 129,3947 -#define GET_NOTIFY_EVENT_SIZE_FIELD_MASK 132,4080 -#define OPCODE_MASK 135,4169 -#define DSP_DIFFERED_COMMAND_MASK 136,4216 -#define ALL_CMDS_NOTIFIED 139,4298 -#define START_STREAM_NOTIFIED 140,4362 -#define PAUSE_STREAM_NOTIFIED 141,4413 -#define OUT_STREAM_LEVEL_NOTIFIED 142,4464 -#define OUT_STREAM_PARAMETER_NOTIFIED 143,4515 -#define OUT_STREAM_FORMAT_NOTIFIED 144,4602 -#define PIPE_TIME_NOTIFIED 145,4653 -#define OUT_AUDIO_LEVEL_NOTIFIED 146,4704 -#define OUT_STREAM_LEVEL_CURVE_NOTIFIED 147,4755 -#define STREAM_TIME_NOTIFIED 148,4806 -#define OUT_STREAM_EXTRAPARAMETER_NOTIFIED 149,4857 -#define UNKNOWN_COMMAND_NOTIFIED 150,4908 -#define MASK_VALID_PIPE_MPEG_PARAM 153,4997 -#define MASK_VALID_PIPE_BACKWARD_PARAM 154,5046 -#define MASK_SET_PIPE_MPEG_PARAM 155,5095 -#define MASK_SET_PIPE_BACKWARD_PARAM 156,5144 -#define MASK_DSP_WORD 158,5194 -#define MASK_ALL_STREAM 159,5237 -#define MASK_DSP_WORD_LEVEL 160,5280 -#define MASK_FIRST_FIELD 161,5323 -#define FIELD_SIZE 162,5366 -#define COMMAND_RECORD_MASK 164,5401 -#define P_UNDERRUN_SKIP_SOUND_MASK 167,5497 -#define P_PREPARE_FOR_MPEG3_MASK 168,5540 -#define P_DO_NOT_RESET_ANALOG_LEVELS 169,5581 -#define P_ALLOW_UNDER_ALLOCATION_MASK 170,5625 -#define P_DATA_MODE_MASK 171,5670 -#define P_ASIO_BUFFER_MANAGEMENT_MASK 172,5703 -#define BIT_SKIP_SOUND 174,5749 -#define BIT_DATA_MODE 175,5790 -#define CMD_MODIFY_CLOCK_FD_BIT 178,5879 -#define CMD_MODIFY_CLOCK_T_BIT 179,5926 -#define CMD_MODIFY_CLOCK_S_BIT 180,5973 -#define TIME_CODE_V_MASK 183,6079 -#define TIME_CODE_N_MASK 184,6126 -#define TIME_CODE_B_MASK 185,6173 -#define TIME_CODE_W_MASK 186,6220 -#define MANAGE_SIGNAL_TIME_CODE 189,6312 -#define MANAGE_SIGNAL_MIDI 190,6353 -#define CONFIG_TIME_CODE_CANCEL 193,6442 -#define PCX_TIME_HI_MASK 198,6592 -#define HBUFFER_TIME_HIGH 201,6677 -#define HBUFFER_TIME_LOW 202,6720 -#define NOTIFY_MASK_TIME_HIGH 204,6764 -#define MULTIPLE_MASK_TIME_HIGH 205,6807 -#define STREAM_MASK_TIME_HIGH 206,6850 -static inline void vx_set_pipe_cmd_params(223,7234 -static inline void vx_set_stream_cmd_params(241,7774 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_mixer.c,2999 -static void vx_write_codec_reg(33,1026 - struct w w53,1454 - struct b b57,1490 - struct w w64,1570 - struct b b68,1606 -} vx_codec_data_t;vx_codec_data_t75,1667 -#define SET_CDC_DATA_SEL(SET_CDC_DATA_SEL77,1687 -#define SET_CDC_DATA_REG(SET_CDC_DATA_REG78,1750 -#define SET_CDC_DATA_VAL(SET_CDC_DATA_VAL79,1813 -#define SET_CDC_DATA_INIT(SET_CDC_DATA_INIT80,1876 -static void vx_set_codec_reg(88,2099 -static void vx_set_analog_output_level(105,2557 -#define DAC_ATTEN_MIN 126,3213 -#define DAC_ATTEN_MAX 127,3240 -void vx_toggle_dac_mute(129,3268 -void vx_reset_codec(144,3667 -static void vx_change_audio_source(178,4721 -int vx_sync_audio_source(195,5102 -struct vx_audio_level vx_audio_level209,5400 -static int vx_adjust_audio_level(220,5638 -static int vx_read_audio_level(259,6698 -int vx_set_monitor_level(286,7516 -static int vx_set_audio_switch(304,7982 -static int vx_set_audio_gain(318,8323 -static void vx_reset_audio_levels(332,8650 -#define VU_METER_CHANNELS 364,9459 -struct vx_vu_meter vx_vu_meter366,9488 -static int vx_get_audio_vu_meter(378,9735 -static int vx_output_level_info(416,10555 -static int vx_output_level_get(426,10855 -static int vx_output_level_put(437,11225 -static snd_kcontrol_new_t vx_control_output_level 456,11911 -static int vx_audio_src_info(467,12165 -static int vx_audio_src_get(495,12958 -static int vx_audio_src_put(502,13173 -static snd_kcontrol_new_t vx_control_audio_src 516,13584 -static int vx_clock_mode_info(527,13819 -static int vx_clock_mode_get(543,14245 -static int vx_clock_mode_put(550,14452 -static snd_kcontrol_new_t vx_control_clock_mode 564,14850 -static int vx_audio_gain_info(575,15075 -static int vx_audio_gain_get(584,15307 -static int vx_audio_gain_put(597,15749 -static int vx_audio_monitor_get(615,16402 -static int vx_audio_monitor_put(627,16784 -static int vx_audio_sw_info(646,17455 -static int vx_audio_sw_get(655,17678 -static int vx_audio_sw_put(667,18053 -static int vx_monitor_sw_get(684,18625 -static int vx_monitor_sw_put(696,19018 -static snd_kcontrol_new_t vx_control_audio_gain 715,19686 -static snd_kcontrol_new_t vx_control_output_switch 722,19920 -static snd_kcontrol_new_t vx_control_monitor_gain 729,20158 -static snd_kcontrol_new_t vx_control_monitor_switch 736,20418 -static int vx_iec958_info(748,20703 -static int vx_iec958_get(755,20861 -static int vx_iec958_mask_get(768,21334 -static int vx_iec958_put(777,21614 -static snd_kcontrol_new_t vx_control_iec958_mask 797,22160 -static snd_kcontrol_new_t vx_control_iec958 805,22413 -#define METER_MAX 818,22681 -#define METER_SHIFT 819,22704 -static int vx_vu_meter_info(821,22728 -static int vx_vu_meter_get(830,22959 -static int vx_peak_meter_get(843,23428 -static int vx_saturation_info(856,23903 -static int vx_saturation_get(865,24128 -static snd_kcontrol_new_t vx_control_vu_meter 877,24533 -static snd_kcontrol_new_t vx_control_peak_meter 885,24784 -static snd_kcontrol_new_t vx_control_saturation 893,25052 -int snd_vx_mixer_new(907,25319 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/vx/vx_cmd.c,67 -struct vx_cmd_info vx_dsp_cmds[32,1011 -void vx_init_rmh(101,4938 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/mpu401/mpu401.c,840 -#define USE_ACPI_PNP39,1346 -static int index[46,1485 -static char *id[47,1554 -static int enable[48,1627 -static int acpipnp[50,1725 -static long port[52,1799 -static int irq[53,1877 -static int boot_devs;54,1944 -static snd_card_t *snd_mpu401_legacy_cards[75,2685 -static int cards;76,2762 -static int acpi_driver_registered;80,2802 -struct mpu401_resources mpu401_resources82,2838 -static acpi_status __devinit snd_mpu401_acpi_resource(87,2899 -static int __devinit snd_mpu401_acpi_pnp(106,3468 -static int __devinit snd_card_mpu401_probe(129,4063 -static int __devinit snd_mpu401_acpi_add(195,5613 -static int __devexit snd_mpu401_acpi_remove(212,5917 -static struct acpi_driver snd_mpu401_acpi_driver 229,6249 -static int __init alsa_card_mpu401_init(241,6492 -static void __exit alsa_card_mpu401_exit(271,7118 -module_init(283,7380 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/mpu401/mpu401_uart.c,1444 -#define snd_mpu401_input_avail(snd_mpu401_input_avail53,1790 -#define snd_mpu401_output_ready(snd_mpu401_output_ready54,1867 -#define MPU401_RESET 56,1946 -#define MPU401_ENTER_UART 57,1973 -#define MPU401_ACK 58,2004 -static void mpu401_write_port(61,2057 -static unsigned char mpu401_read_port(66,2166 -static void mpu401_write_mmio(71,2263 -static unsigned char mpu401_read_mmio(76,2390 -static void snd_mpu401_uart_clear_rx(82,2512 -static void _snd_mpu401_uart_interrupt(93,2824 -irqreturn_t snd_mpu401_uart_interrupt(124,3710 -static void snd_mpu401_uart_timer(138,3992 -static void snd_mpu401_uart_add_timer 154,4360 -static void snd_mpu401_uart_remove_timer 173,4897 -static void snd_mpu401_uart_cmd(190,5270 -static int snd_mpu401_uart_input_open(233,6613 -static int snd_mpu401_uart_output_open(251,7106 -static int snd_mpu401_uart_input_close(269,7603 -static int snd_mpu401_uart_output_close(283,7974 -static void snd_mpu401_uart_input_trigger(300,8382 -static void snd_mpu401_uart_input_read(338,9346 -static void snd_mpu401_uart_output_write(366,9988 -static void snd_mpu401_uart_output_trigger(392,10619 -static snd_rawmidi_ops_t snd_mpu401_uart_output 428,11501 -static snd_rawmidi_ops_t snd_mpu401_uart_input 435,11680 -static void snd_mpu401_uart_free(442,11855 -int snd_mpu401_uart_new(473,12906 -static int __init alsa_mpu401_uart_init(552,15156 -static void __exit alsa_mpu401_uart_exit(557,15218 -module_init(561,15270 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/dummy.c,3874 -#define MAX_PCM_DEVICES 39,1308 -#define MAX_PCM_SUBSTREAMS 40,1335 -#define MAX_MIDI_DEVICES 41,1365 -#define MAX_BUFFER_SIZE 44,1423 -static int emu10k1_playback_constraints(45,1461 -#define add_playback_constraints 54,1771 -#define MAX_BUFFER_SIZE 58,1871 -#define USE_FORMATS 59,1913 -#define USE_CHANNELS_MIN 60,1958 -#define USE_CHANNELS_MAX 61,1986 -#define USE_PERIODS_MIN 62,2014 -#define USE_PERIODS_MAX 63,2041 -#define MAX_BUFFER_SIZE 67,2106 -#define USE_FORMATS 68,2144 -#define USE_CHANNELS_MIN 69,2189 -#define USE_CHANNELS_MAX 70,2217 -#define USE_PERIODS_MIN 71,2245 -#define USE_PERIODS_MAX 72,2272 -#define MAX_BUFFER_SIZE 76,2340 -#define USE_FORMATS 77,2373 -#define USE_CHANNELS_MIN 78,2418 -#define USE_CHANNELS_MAX 79,2445 -#define USE_PERIODS_MIN 80,2472 -#define USE_PERIODS_MAX 81,2499 -#define USE_FORMATS 85,2605 -#define USE_CHANNELS_MIN 86,2650 -#define USE_CHANNELS_MAX 87,2677 -#define USE_RATE 88,2704 -#define USE_RATE_MIN 89,2743 -#define USE_RATE_MAX 90,2771 -#define MAX_BUFFER_SIZE 96,2847 -#define USE_FORMATS 99,2909 -#define USE_RATE 102,3003 -#define USE_RATE_MIN 103,3075 -#define USE_RATE_MAX 104,3102 -#define USE_CHANNELS_MIN 107,3162 -#define USE_CHANNELS_MAX 110,3222 -#define USE_PERIODS_MIN 113,3281 -#define USE_PERIODS_MAX 116,3339 -#define add_playback_constraints(add_playback_constraints119,3409 -#define add_capture_constraints(add_capture_constraints122,3486 -static int index[125,3531 -static char *id[126,3600 -static int enable[127,3673 -static int pcm_devs[128,3742 -static int pcm_substreams[129,3810 -static int boot_devs;131,3955 -#define MIXER_ADDR_MASTER 146,4688 -#define MIXER_ADDR_LINE 147,4716 -#define MIXER_ADDR_MIC 148,4743 -#define MIXER_ADDR_SYNTH 149,4769 -#define MIXER_ADDR_CD 150,4796 -#define MIXER_ADDR_LAST 151,4821 -typedef struct snd_card_dummy snd_card_dummy153,4849 -} snd_card_dummy_t;snd_card_dummy_t158,5008 -typedef struct snd_card_dummy_pcm snd_card_dummy_pcm160,5029 -} snd_card_dummy_pcm_t;snd_card_dummy_pcm_t171,5415 -static snd_card_t *snd_dummy_cards[173,5440 -static void snd_card_dummy_pcm_timer_start(176,5511 -static void snd_card_dummy_pcm_timer_stop(185,5758 -static int snd_card_dummy_playback_trigger(193,5968 -static int snd_card_dummy_capture_trigger(206,6281 -static int snd_card_dummy_pcm_prepare(219,6592 -static int snd_card_dummy_playback_prepare(239,7146 -static int snd_card_dummy_capture_prepare(244,7274 -static void snd_card_dummy_pcm_timer_function(249,7401 -static snd_pcm_uframes_t snd_card_dummy_playback_pointer(266,7906 -static snd_pcm_uframes_t snd_card_dummy_capture_pointer(274,8158 -static snd_pcm_hardware_t snd_card_dummy_playback 282,8409 -static snd_pcm_hardware_t snd_card_dummy_capture 300,8925 -static void snd_card_dummy_runtime_free(318,9440 -static int snd_card_dummy_hw_params(324,9580 -static int snd_card_dummy_hw_free(330,9772 -static int snd_card_dummy_playback_open(335,9887 -static int snd_card_dummy_capture_open(366,10797 -static int snd_card_dummy_playback_close(397,11705 -static int snd_card_dummy_capture_close(402,11795 -static snd_pcm_ops_t snd_card_dummy_playback_ops 407,11884 -static snd_pcm_ops_t snd_card_dummy_capture_ops 418,12270 -static int __init snd_card_dummy_pcm(429,12650 -#define DUMMY_VOLUME(DUMMY_VOLUME447,13276 -static int snd_dummy_volume_info(453,13517 -static int snd_dummy_volume_get(462,13752 -static int snd_dummy_volume_put(475,14207 -#define DUMMY_CAPSRC(DUMMY_CAPSRC501,14950 -static int snd_dummy_capsrc_info(507,15191 -static int snd_dummy_capsrc_get(516,15422 -static int snd_dummy_capsrc_put(529,15881 -static snd_kcontrol_new_t snd_dummy_controls[547,16512 -int __init snd_card_dummy_new_mixer(560,17106 -static int __init snd_card_dummy_probe(577,17534 -static int __init alsa_card_dummy_init(613,18530 -static void __exit alsa_card_dummy_exit(635,18964 -module_init(643,19106 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/opl4_proc.c,363 -static int snd_opl4_mem_proc_open(26,920 -static int snd_opl4_mem_proc_release(41,1239 -static long snd_opl4_mem_proc_read(52,1488 -static long snd_opl4_mem_proc_write(78,2043 -static long long snd_opl4_mem_proc_llseek(104,2610 -static struct snd_info_entry_ops snd_opl4_mem_proc_ops 125,3097 -int snd_opl4_create_proc(133,3337 -void snd_opl4_free_proc(160,4022 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/opl4_lib.c,551 -static void inline snd_opl4_wait(30,1061 -void snd_opl4_write(37,1202 -u8 snd_opl4_read(46,1366 -void snd_opl4_read_memory(55,1516 -void snd_opl4_write_memory(79,2248 -static void snd_opl4_enable_opl4(103,2988 -static int snd_opl4_detect(113,3228 -static void snd_opl4_seq_dev_free(147,4199 -static int snd_opl4_create_seq_dev(153,4327 -static void snd_opl4_free(167,4777 -static int snd_opl4_dev_free(183,5103 -int snd_opl4_create(190,5229 -static int __init alsa_opl4_init(272,7146 -static void __exit alsa_opl4_exit(277,7201 -module_init(281,7246 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/opl4_seq.c,530 -int volume_boost 43,1864 -static int snd_opl4_seq_use_inc(48,2007 -static void snd_opl4_seq_use_dec(55,2129 -static int snd_opl4_seq_use(60,2214 -static int snd_opl4_seq_unuse(87,2677 -static snd_midi_op_t opl4_ops 102,2992 -static int snd_opl4_seq_event_input(110,3196 -static void snd_opl4_seq_free_port(119,3414 -static int snd_opl4_seq_new_device(126,3546 -static int snd_opl4_seq_delete_device(191,5414 -static int __init alsa_opl4_synth_init(206,5696 -static void __exit alsa_opl4_synth_exit(217,5938 -module_init(222,6047 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/opl4_synth.c,1151 -#define MIDI_CTL_RELEASE_TIME 41,1775 -#define MIDI_CTL_ATTACK_TIME 42,1810 -#define MIDI_CTL_DECAY_TIME 43,1844 -#define MIDI_CTL_VIBRATO_RATE 44,1877 -#define MIDI_CTL_VIBRATO_DEPTH 45,1912 -#define MIDI_CTL_VIBRATO_DELAY 46,1948 -static const s16 snd_opl4_pitch_map[52,2045 -static unsigned char snd_opl4_volume_table[251,11811 -void snd_opl4_synth_reset(273,12444 -void snd_opl4_synth_shutdown(297,13039 -static void snd_opl4_do_for_note(312,13423 -static void snd_opl4_do_for_channel(332,13937 -static void snd_opl4_do_for_all(352,14403 -static void snd_opl4_update_volume(368,14766 -static void snd_opl4_update_pan(387,15401 -static void snd_opl4_update_vibrato_depth(402,15820 -static void snd_opl4_update_pitch(417,16307 -static void snd_opl4_update_tone_parameters(447,17345 -static opl4_voice_t *snd_opl4_get_voice(460,17870 -static void snd_opl4_wait_for_wave_headers(470,18228 -void snd_opl4_note_on(478,18391 -static void snd_opl4_voice_off(552,20730 -void snd_opl4_note_off(561,20985 -static void snd_opl4_terminate_voice(568,21170 -void snd_opl4_terminate_note(577,21466 -void snd_opl4_control(584,21654 -void snd_opl4_sysex(623,22782 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/opl4_local.h,2536 -#define __OPL4_LOCAL_H35,1654 -#define OPL4_REG_TEST0 43,1731 -#define OPL4_REG_TEST1 44,1761 -#define OPL4_REG_MEMORY_CONFIGURATION 46,1792 -#define OPL4_MODE_BIT 47,1835 -#define OPL4_MTYPE_BIT 48,1866 -#define OPL4_TONE_HEADER_MASK 49,1897 -#define OPL4_DEVICE_ID_MASK 50,1935 -#define OPL4_REG_MEMORY_ADDRESS_HIGH 52,1972 -#define OPL4_REG_MEMORY_ADDRESS_MID 53,2014 -#define OPL4_REG_MEMORY_ADDRESS_LOW 54,2055 -#define OPL4_REG_MEMORY_DATA 55,2096 -#define OPL4_REG_TONE_NUMBER 63,2308 -#define OPL4_REG_F_NUMBER 66,2411 -#define OPL4_TONE_NUMBER_BIT8 67,2443 -#define OPL4_F_NUMBER_LOW_MASK 68,2481 -#define OPL4_REG_OCTAVE 71,2583 -#define OPL4_F_NUMBER_HIGH_MASK 72,2614 -#define OPL4_BLOCK_MASK 73,2653 -#define OPL4_PSEUDO_REVERB_BIT 74,2685 -#define OPL4_REG_LEVEL 77,2771 -#define OPL4_TOTAL_LEVEL_MASK 78,2801 -#define OPL4_LEVEL_DIRECT_BIT 79,2839 -#define OPL4_REG_MISC 82,2933 -#define OPL4_KEY_ON_BIT 83,2962 -#define OPL4_DAMP_BIT 84,2994 -#define OPL4_LFO_RESET_BIT 85,3025 -#define OPL4_OUTPUT_CHANNEL_BIT 86,3060 -#define OPL4_PAN_POT_MASK 87,3099 -#define OPL4_REG_LFO_VIBRATO 90,3164 -#define OPL4_LFO_FREQUENCY_MASK 91,3199 -#define OPL4_VIBRATO_DEPTH_MASK 92,3238 -#define OPL4_CHORUS_SEND_MASK 93,3277 -#define OPL4_REG_ATTACK_DECAY1 96,3373 -#define OPL4_ATTACK_RATE_MASK 97,3410 -#define OPL4_DECAY1_RATE_MASK 98,3448 -#define OPL4_REG_LEVEL_DECAY2 101,3529 -#define OPL4_DECAY_LEVEL_MASK 102,3565 -#define OPL4_DECAY2_RATE_MASK 103,3603 -#define OPL4_REG_RELEASE_CORRECTION 106,3694 -#define OPL4_RELEASE_RATE_MASK 107,3735 -#define OPL4_RATE_INTERPOLATION_MASK 108,3773 -#define OPL4_REG_TREMOLO 111,3842 -#define OPL4_TREMOLO_DEPTH_MASK 112,3873 -#define OPL4_REVERB_SEND_MASK 113,3912 -#define OPL4_REG_MIX_CONTROL_FM 116,3977 -#define OPL4_REG_MIX_CONTROL_PCM 117,4015 -#define OPL4_MIX_LEFT_MASK 118,4053 -#define OPL4_MIX_RIGHT_MASK 119,4088 -#define OPL4_REG_ATC 121,4125 -#define OPL4_ATC_BIT 122,4153 -#define OPL4_STATUS_BUSY 125,4242 -#define OPL4_STATUS_LOAD 126,4273 -#define OPL4_MAX_VOICES 129,4306 -#define SNDRV_SEQ_DEV_ID_OPL4 131,4334 -typedef struct opl4_sound opl4_sound134,4379 -} opl4_sound_t;opl4_sound_t147,4629 -typedef struct opl4_region opl4_region149,4646 -} opl4_region_t;opl4_region_t152,4718 -typedef struct opl4_region_ptr opl4_region_ptr154,4736 -} opl4_region_ptr_t;opl4_region_ptr_t157,4812 -typedef struct opl4_voice opl4_voice159,4834 -} opl4_voice_t;opl4_voice_t170,5051 -struct opl4 opl4172,5068 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/opl4_mixer.c,199 -static int snd_opl4_ctl_info(23,861 -static int snd_opl4_ctl_get(32,1085 -static int snd_opl4_ctl_put(47,1542 -static snd_kcontrol_new_t snd_opl4_controls[63,2064 -int snd_opl4_create_mixer(82,2533 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/drivers/opl4/yrw801.c,6422 -int snd_yrw801_detect(36,1673 -static const opl4_region_t regions_00[57,2259 -static const opl4_region_t regions_01[69,3052 -static const opl4_region_t regions_02[81,3846 -static const opl4_region_t regions_03[94,4711 -static const opl4_region_t regions_04[116,6220 -static const opl4_region_t regions_05[120,6433 -static const opl4_region_t regions_06[142,7942 -static const opl4_region_t regions_07[149,8366 -static const opl4_region_t regions_08[153,8571 -static const opl4_region_t regions_09[156,8703 -static const opl4_region_t regions_0a[159,8840 -static const opl4_region_t regions_0b[163,9046 -static const opl4_region_t regions_0c[166,9181 -static const opl4_region_t regions_0d[172,9529 -static const opl4_region_t regions_0e[175,9663 -static const opl4_region_t regions_0f[178,9800 -static const opl4_region_t regions_10[182,10005 -static const opl4_region_t regions_11[185,10143 -static const opl4_region_t regions_12[189,10356 -static const opl4_region_t regions_13[196,10779 -static const opl4_region_t regions_14[203,11204 -static const opl4_region_t regions_15[207,11411 -static const opl4_region_t regions_16[212,11689 -static const opl4_region_t regions_17[215,11823 -static const opl4_region_t regions_18[220,12107 -static const opl4_region_t regions_19[227,12532 -static const opl4_region_t regions_1a[233,12885 -static const opl4_region_t regions_1b[238,13165 -static const opl4_region_t regions_1c[248,13806 -static const opl4_region_t regions_1d[251,13943 -static const opl4_region_t regions_1e[255,14157 -static const opl4_region_t regions_1f[266,14875 -static const opl4_region_t regions_20[271,15160 -static const opl4_region_t regions_21[275,15370 -static const opl4_region_t regions_22[281,15724 -static const opl4_region_t regions_23[288,16148 -static const opl4_region_t regions_24[291,16286 -static const opl4_region_t regions_25[294,16422 -static const opl4_region_t regions_26[297,16558 -static const opl4_region_t regions_27[300,16695 -static const opl4_region_t regions_28[303,16832 -static const opl4_region_t regions_29[315,17611 -static const opl4_region_t regions_2a[329,18533 -static const opl4_region_t regions_2b[336,18951 -static const opl4_region_t regions_2c[340,19158 -static const opl4_region_t regions_2d[347,19586 -static const opl4_region_t regions_2e[354,20016 -static const opl4_region_t regions_2f[358,20217 -static const opl4_region_t regions_30[361,20349 -static const opl4_region_t regions_31[368,20769 -static const opl4_region_t regions_32[375,21194 -static const opl4_region_t regions_33[379,21406 -static const opl4_region_t regions_34[383,21618 -static const opl4_region_t regions_35[389,21969 -static const opl4_region_t regions_36[392,22104 -static const opl4_region_t regions_37[395,22240 -static const opl4_region_t regions_38[398,22378 -static const opl4_region_t regions_39[406,22870 -static const opl4_region_t regions_3a[411,23147 -static const opl4_region_t regions_3b[415,23348 -static const opl4_region_t regions_3c[419,23558 -static const opl4_region_t regions_3d[423,23767 -static const opl4_region_t regions_3e[427,23977 -static const opl4_region_t regions_3f[453,25771 -static const opl4_region_t regions_40[468,26773 -static const opl4_region_t regions_41[476,27269 -static const opl4_region_t regions_42[491,28266 -static const opl4_region_t regions_43[500,28832 -static const opl4_region_t regions_44[506,29185 -static const opl4_region_t regions_45[514,29674 -static const opl4_region_t regions_46[519,29955 -static const opl4_region_t regions_47[524,30231 -static const opl4_region_t regions_48[530,30580 -static const opl4_region_t regions_49[537,31000 -static const opl4_region_t regions_4a[542,31274 -static const opl4_region_t regions_4b[545,31407 -static const opl4_region_t regions_4c[548,31541 -static const opl4_region_t regions_4d[552,31749 -static const opl4_region_t regions_4e[556,31956 -static const opl4_region_t regions_4f[559,32088 -static const opl4_region_t regions_50[562,32220 -static const opl4_region_t regions_51[576,33148 -static const opl4_region_t regions_52[602,34942 -static const opl4_region_t regions_53[606,35152 -static const opl4_region_t regions_54[610,35361 -static const opl4_region_t regions_55[626,36434 -static const opl4_region_t regions_56[630,36641 -static const opl4_region_t regions_57[645,37639 -static const opl4_region_t regions_58[660,38639 -static const opl4_region_t regions_59[664,38847 -static const opl4_region_t regions_5a[668,39052 -static const opl4_region_t regions_5b[683,40054 -static const opl4_region_t regions_5c[690,40476 -static const opl4_region_t regions_5d[694,40682 -static const opl4_region_t regions_5e[701,41107 -static const opl4_region_t regions_5f[705,41312 -static const opl4_region_t regions_60[731,43102 -static const opl4_region_t regions_61[735,43307 -static const opl4_region_t regions_62[739,43514 -static const opl4_region_t regions_63[745,43862 -static const opl4_region_t regions_64[753,44357 -static const opl4_region_t regions_65[757,44564 -static const opl4_region_t regions_66[761,44768 -static const opl4_region_t regions_67[765,44971 -static const opl4_region_t regions_68[772,45390 -static const opl4_region_t regions_69[775,45520 -static const opl4_region_t regions_6a[783,46010 -static const opl4_region_t regions_6b[786,46143 -static const opl4_region_t regions_6c[789,46272 -static const opl4_region_t regions_6d[792,46404 -static const opl4_region_t regions_6e[797,46680 -static const opl4_region_t regions_6f[809,47459 -static const opl4_region_t regions_70[812,47590 -static const opl4_region_t regions_71[816,47798 -static const opl4_region_t regions_72[819,47928 -static const opl4_region_t regions_73[823,48136 -static const opl4_region_t regions_74[826,48270 -static const opl4_region_t regions_75[829,48405 -static const opl4_region_t regions_76[832,48541 -static const opl4_region_t regions_77[835,48676 -static const opl4_region_t regions_78[838,48815 -static const opl4_region_t regions_79[841,48957 -static const opl4_region_t regions_7a[844,49094 -static const opl4_region_t regions_7b[848,49299 -static const opl4_region_t regions_7c[852,49506 -static const opl4_region_t regions_7d[855,49645 -static const opl4_region_t regions_7e[859,49852 -static const opl4_region_t regions_7f[863,50057 -static const opl4_region_t regions_drums[866,50190 -#define REGION(REGION926,54344 -const opl4_region_ptr_t snd_yrw801_regions[927,54411 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usbaudio.c,5213 -static int index[64,2079 -static char *id[65,2148 -static int enable[66,2221 -static int vid[67,2303 -static int pid[68,2397 -static int nrpacks 69,2492 -static int async_unlink 70,2554 -static int boot_devs;71,2583 -#define MAX_PACKS 99,3431 -#define MAX_PACKS_HS 100,3452 -#define MAX_URBS 101,3514 -#define SYNC_URBS 102,3562 -#define MIN_PACKS_URB 103,3613 -typedef struct snd_usb_substream snd_usb_substream_t;snd_usb_substream_t105,3669 -typedef struct snd_usb_stream snd_usb_stream_t;snd_usb_stream_t106,3723 -typedef struct snd_urb_ctx snd_urb_ctx_t;snd_urb_ctx_t107,3771 -struct audioformat audioformat109,3814 -struct snd_urb_ctx snd_urb_ctx128,4654 -struct snd_urb_ops snd_urb_ops137,4884 -struct snd_usb_substream snd_usb_substream144,5265 -struct snd_usb_stream snd_usb_stream193,7704 -static snd_usb_audio_t *usb_chip[209,8080 -inline static unsigned get_usb_full_speed_rate(216,8250 -inline static unsigned get_usb_high_speed_rate(225,8475 -inline static unsigned get_full_speed_hz(231,8644 -inline static unsigned get_high_speed_hz(237,8820 -static int prepare_capture_sync_urb(249,9102 -static int prepare_capture_sync_urb_hs(275,9879 -static int retire_capture_sync_urb(300,10575 -static int prepare_capture_urb(317,11056 -static int retire_capture_urb(362,12355 -static int prepare_playback_sync_urb(418,14104 -static int prepare_playback_sync_urb_hs(440,14694 -static int retire_playback_sync_urb(462,15329 -static int retire_playback_sync_urb_hs(502,16460 -static int prepare_playback_urb(537,17449 -static int retire_playback_urb(617,19869 -static struct snd_urb_ops audio_urb_ops[642,20564 -static struct snd_urb_ops audio_urb_ops_high_speed[657,20937 -static void snd_complete_urb(675,21372 -static void snd_complete_sync_urb(698,22102 -static int deactivate_urbs(721,22845 -static int start_urbs(769,23879 -static int wait_clear_urbs(822,25294 -static snd_pcm_uframes_t snd_usb_pcm_pointer(854,25931 -static int snd_usb_pcm_trigger(864,26157 -static void release_urb_ctx(887,26605 -static void release_substream_urbs(902,26797 -static int init_substream_urbs(924,27255 -static struct audioformat *find_format(1067,31397 -static int init_usb_pitch(1128,33027 -static int init_usb_sample_rate(1151,33678 -static int set_format(1192,35073 -static int snd_usb_hw_params(1305,38937 -static int snd_usb_hw_free(1361,40575 -static int snd_usb_pcm_prepare(1377,40938 -static snd_pcm_hardware_t snd_usb_playback 1405,41654 -static snd_pcm_hardware_t snd_usb_capture 1417,41972 -#define hwc_debug(hwc_debug1434,42338 -#define hwc_debug(hwc_debug1436,42407 -static int hw_check_valid_format(1439,42452 -static int hw_rule_rate(1467,43482 -static int hw_rule_channels(1521,44624 -static int hw_rule_format(1574,45781 -static int check_hw_params_convention(1610,46801 -static int setup_hw_info(1688,48799 -static int snd_usb_pcm_open(1749,50823 -static int snd_usb_pcm_close(1764,51265 -static int snd_usb_playback_open(1777,51610 -static int snd_usb_playback_close(1782,51763 -static int snd_usb_capture_open(1787,51899 -static int snd_usb_capture_close(1792,52049 -static snd_pcm_ops_t snd_usb_playback_ops 1797,52183 -static snd_pcm_ops_t snd_usb_capture_ops 1808,52490 -unsigned int snd_usb_combine_bytes(1828,52873 -void *snd_usb_find_desc(1843,53222 -void *snd_usb_find_csint_desc(1866,53647 -int snd_usb_ctl_msg(1882,54027 -static struct usb_device_id usb_audio_ids 1913,54724 -static struct usb_driver usb_audio_driver 1923,55069 -static void proc_dump_substream_formats(1935,55322 -static void proc_dump_substream_status(1971,56616 -static void proc_pcm_format_read(1992,57415 -static void proc_pcm_format_add(2010,58194 -static void init_substream(2026,58548 -static void free_substream(2059,59483 -static void snd_usb_audio_stream_free(2077,59842 -static void snd_usb_audio_pcm_free(2085,60033 -static int add_audio_endpoint(2101,60413 -static int is_big_endian_format(2177,62176 -static int parse_audio_format_i_type(2201,62760 -static int parse_audio_format_rates(2283,65178 -static int parse_audio_format_i(2336,66688 -static int parse_audio_format_ii(2365,67466 -static int parse_audio_format(2392,68495 -static int parse_audio_endpoints(2428,69496 -static void snd_usb_stream_disconnect(2581,74357 -static int snd_usb_create_streams(2600,74792 -static int create_fixed_stream_quirk(2667,76982 -static int create_standard_interface_quirk(2718,78347 -static int create_ua700_quirk(2753,79355 -static int create_composite_quirk(2833,81355 -#define EXTIGY_FIRMWARE_SIZE_OLD 2861,82025 -#define EXTIGY_FIRMWARE_SIZE_NEW 2862,82062 -static int snd_usb_extigy_boot_quirk(2864,82100 -static int snd_usb_create_quirk(2897,83360 -static void proc_audio_usbbus_read(2925,84188 -static void proc_audio_usbid_read(2932,84430 -static void snd_usb_audio_create_proc(2939,84693 -static int snd_usb_audio_free(2955,85144 -static int snd_usb_audio_dev_free(2961,85227 -static int snd_usb_audio_create(2971,85421 -static void *snd_usb_audio_probe(3077,88432 -static void snd_usb_audio_disconnect(3180,91229 -static int usb_audio_probe(3215,91986 -static void usb_audio_disconnect(3227,92248 -static int __init snd_usb_audio_init(3234,92403 -static void __exit snd_usb_audio_cleanup(3245,92624 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usbus428ctldefs.h,1270 -enum E_In84{E_In8420,815 - eFader0 21,828 - eFader1,22,842 - eFader2,23,852 - eFader3,24,862 - eFader4,25,872 - eFader5,26,882 - eFader6,27,892 - eFader7,28,902 - eFaderM,29,912 - eTransport,30,922 - eModifier 31,935 - eFilterSelect,32,952 - eSelect,33,968 - eMute,34,978 - eSwitch 36,987 - eWheelGain,37,1004 - eWheelFreq,38,1017 - eWheelQ,39,1030 - eWheelPan,40,1040 - eWheel 41,1052 -#define T_RECORD 44,1072 -#define T_PLAY 45,1093 -#define T_STOP 46,1114 -#define T_F_FWD 47,1135 -#define T_REW 48,1156 -#define T_SOLO 49,1177 -#define T_REC 50,1198 -#define T_NULL 51,1219 -struct us428_ctls{us428_ctls54,1242 -typedef struct us428_ctls us428_ctls_t;us428_ctls_t66,1506 -typedef struct us428_setByte{us428_setByte68,1547 -}us428_setByte_t;us428_setByte_t71,1609 - eLT_Volume 74,1635 - eLT_Light75,1652 -typedef struct usX2Y_volume usX2Y_volume78,1667 -} usX2Y_volume_t;usX2Y_volume_t84,1745 -struct us428_lights{us428_lights86,1764 -typedef struct us428_lights us428_lights_t;us428_lights_t89,1815 -} us428_p4out_t;us428_p4out_t97,1954 -#define N_us428_ctl_BUFS 99,1972 -#define N_us428_p4out_BUFS 100,2000 -struct us428ctls_sharedmem{us428ctls_sharedmem101,2030 -typedef struct us428ctls_sharedmem us428ctls_sharedmem_t;us428ctls_sharedmem_t108,2261 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usbusx2y.h,414 -#define USBUSX2Y_H2,19 -#define NRURBS 6,94 -#define NRPACKS 7,125 -#define URBS_AsyncSeq 16,508 -#define URB_DataLen_AsyncSeq 17,533 -} snd_usX2Y_AsyncSeq_t;snd_usX2Y_AsyncSeq_t21,632 -} snd_usX2Y_urbSeq_t;snd_usX2Y_urbSeq_t27,721 -typedef struct snd_usX2Y_substream snd_usX2Y_substream_t;snd_usX2Y_substream_t29,744 -} usX2Ydev_t;usX2Ydev_t49,1266 -#define usX2Y(usX2Y52,1282 -#define NAME_ALLCAPS 59,1463 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usbusx2yaudio.c,1628 -struct snd_usX2Y_substream snd_usX2Y_substream46,1314 -static int usX2Y_urb_capt_retire(75,2029 -static int usX2Y_urb_play_prepare(128,3920 -inline static int usX2Y_urb_play_retire(176,5585 -inline static int usX2Y_urb_submit(196,6208 -static inline int frame_distance(216,6710 -static void usX2Y_subs_set_next_urb_complete(228,6903 -static inline void usX2Y_usbframe_complete(245,7473 -static void usX2Y_clients_stop(276,8444 -static void i_usX2Y_urb_complete(288,8744 -static int usX2Y_urbs_capt_start(327,10075 -static int usX2Y_urbs_wait_clear(358,10902 -static snd_pcm_uframes_t snd_usX2Y_pcm_pointer(376,11380 -static int snd_usX2Y_pcm_trigger(384,11610 -static void usX2Y_urb_release(408,12149 -static void usX2Y_urbs_release(420,12347 -static void usX2Y_substream_prepare(434,12709 -static int usX2Y_urbs_allocate(447,13023 -static void i_usX2Y_04Int(498,14549 -static struct s_c2s_c2517,15054 - SetRate44100[521,15091 -static struct s_c2 SetRate48000[557,15759 -#define NOOF_SETRATE_URBS 593,16445 -static int usX2Y_rate_set(595,16497 -static int usX2Y_format_set(672,18359 -static int snd_usX2Y_pcm_hw_params(704,19125 -static int snd_usX2Y_pcm_hw_free(746,20464 -static int snd_usX2Y_pcm_prepare(778,21485 -static snd_pcm_hardware_t snd_usX2Y_2c 850,23589 -static int snd_usX2Y_pcm_open(871,24221 -static int snd_usX2Y_pcm_close(886,24652 -static snd_pcm_ops_t snd_usX2Y_pcm_ops 898,24908 -static void usX2Y_audio_stream_free(914,25263 -static void snd_usX2Y_pcm_private_free(924,25615 -static int usX2Y_audio_stream_new(933,25844 -static int snd_usX2Y_device_dev_free(996,27892 -int usX2Y_audio_create(1005,28020 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usx2y.h,362 -#define __SOUND_USX2Y_COMMON_H22,889 -#define USX2Y_DRIVER_VERSION 25,922 -#define SND_USX2Y_LOADER_ID 29,994 - USX2Y_TYPE_122,33,1066 - USX2Y_TYPE_224,34,1083 - USX2Y_TYPE_428,35,1100 - USX2Y_TYPE_NUMS36,1117 -#define USB_ID_US122 39,1138 -#define USB_ID_US224 40,1166 -#define USB_ID_US428 41,1194 - USX2Y_STAT_CHIP_INIT 45,1248 - USX2Y_STAT_CHIP_HUP 46,1304 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usX2Yhwdep.h,26 -#define USX2YHWDEP_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usbusx2y.c,842 -static int index[122,3981 -static char* id[123,4050 -static int enable[124,4123 -static int boot_devs;125,4205 -static int snd_usX2Y_card_used[135,4545 -static void i_usX2Y_Out04Int(143,4814 -static void i_usX2Y_In04Int(155,5117 -int usX2Y_AsyncSeq04_init(233,7499 -int usX2Y_In04_init(255,8047 -static void usX2Y_unlinkSeq(275,8548 -static struct usb_device_id snd_usX2Y_usb_id_table[290,8794 -static snd_card_t* usX2Y_create_card(309,9186 -static void* usX2Y_usb_probe(340,10184 -static int snd_usX2Y_probe(361,10791 -static void snd_usX2Y_disconnect(372,11043 -static struct usb_driver snd_usX2Y_usb_driver 379,11243 -static void snd_usX2Y_card_private_free(387,11449 -static void usX2Y_usb_disconnect(401,11899 -static int __init snd_usX2Y_module_init(423,12649 -static void __exit snd_usX2Y_module_exit(428,12745 -module_init(433,12837 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usx2y/usX2Yhwdep.c,502 -static struct page * snd_us428ctls_vm_nopage(35,1136 -static struct vm_operations_struct us428ctls_vm_ops 61,1910 -static int snd_us428ctls_mmap(65,2006 -static unsigned int snd_us428ctls_poll(94,3277 -static int snd_usX2Y_hwdep_open(117,3842 -static int snd_usX2Y_hwdep_release(122,3926 -static int snd_usX2Y_hwdep_dsp_status(127,4013 -static int usX2Y_create_usbmidi(158,4762 -static int usX2Y_create_alsa_devices(194,5778 -static int snd_usX2Y_hwdep_dsp_load(212,6137 -int usX2Y_hwdep_new(262,7456 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usbmixer_maps.c,250 -struct usbmix_name_map usbmix_name_map23,838 -struct usbmix_ctl_map usbmix_ctl_map29,909 -static struct usbmix_name_map extigy_map[58,2381 -static struct usbmix_name_map justlink_map[101,4121 -static struct usbmix_ctl_map usbmix_ctl_maps[121,4719 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usbmixer.c,4337 -typedef struct usb_mixer_build mixer_build_t;mixer_build_t48,1350 -typedef struct usb_audio_term usb_audio_term_t;usb_audio_term_t49,1396 -typedef struct usb_mixer_elem_info usb_mixer_elem_info_t;usb_mixer_elem_info_t50,1444 -struct usb_audio_term usb_audio_term53,1504 -struct usb_mixer_build usb_mixer_build63,1627 -struct usb_mixer_elem_info usb_mixer_elem_info75,1894 - USB_FEATURE_NONE 89,2189 - USB_FEATURE_MUTE 90,2212 - USB_FEATURE_VOLUME,91,2235 - USB_FEATURE_BASS,92,2256 - USB_FEATURE_MID,93,2275 - USB_FEATURE_TREBLE,94,2293 - USB_FEATURE_GEQ,95,2314 - USB_FEATURE_AGC,96,2332 - USB_FEATURE_DELAY,97,2350 - USB_FEATURE_BASSBOOST,98,2370 - USB_FEATURE_LOUDNESS99,2394 - USB_MIXER_BOOLEAN,103,2427 - USB_MIXER_INV_BOOLEAN,104,2447 - USB_MIXER_S8,105,2471 - USB_MIXER_U8,106,2486 - USB_MIXER_S16,107,2501 - USB_MIXER_U16,108,2517 - USB_PROC_UPDOWN 112,2544 - USB_PROC_UPDOWN_SWITCH 113,2566 - USB_PROC_UPDOWN_MODE_SEL 114,2595 - USB_PROC_PROLOGIC 116,2627 - USB_PROC_PROLOGIC_SWITCH 117,2651 - USB_PROC_PROLOGIC_MODE_SEL 118,2682 - USB_PROC_3DENH 120,2716 - USB_PROC_3DENH_SWITCH 121,2737 - USB_PROC_3DENH_SPACE 122,2765 - USB_PROC_REVERB 124,2793 - USB_PROC_REVERB_SWITCH 125,2815 - USB_PROC_REVERB_LEVEL 126,2844 - USB_PROC_REVERB_TIME 127,2872 - USB_PROC_REVERB_DELAY 128,2899 - USB_PROC_CHORUS 130,2928 - USB_PROC_CHORUS_SWITCH 131,2950 - USB_PROC_CHORUS_LEVEL 132,2979 - USB_PROC_CHORUS_RATE 133,3007 - USB_PROC_CHORUS_DEPTH 134,3034 - USB_PROC_DCR 136,3063 - USB_PROC_DCR_SWITCH 137,3082 - USB_PROC_DCR_RATIO 138,3108 - USB_PROC_DCR_MAX_AMP 139,3133 - USB_PROC_DCR_THRESHOLD 140,3160 - USB_PROC_DCR_ATTACK 141,3189 - USB_PROC_DCR_RELEASE 142,3215 -#define MAX_CHANNELS 145,3246 -static int check_mapped_name(156,3532 -static int check_ignored_ctl(174,3959 -static void *find_audio_control_unit(193,4391 -static int snd_usb_copy_string_desc(210,4771 -static int convert_signed_value(220,5042 -static int convert_bytes_value(250,5581 -static int get_relative_value(267,5925 -static int get_abs_value(279,6186 -static int get_ctl_value(297,6451 -static int get_cur_ctl_value(317,7199 -inline static int get_cur_mix_value(323,7384 -static int set_ctl_value(332,7585 -static int set_cur_ctl_value(352,8390 -inline static int set_cur_mix_value(357,8529 -static int check_matrix_bitmap(374,8921 -static int add_control_to_empty(388,9252 -static struct iterm_name_combo iterm_name_combo405,9589 -} iterm_names[408,9646 -static int get_term_name(448,10672 -static int check_input_term(498,11855 -struct usb_feature_control_info usb_feature_control_info553,13223 -static struct usb_feature_control_info audio_feature_info[558,13340 -static void usb_mixer_elem_free(573,13864 -static int get_min_max(589,14157 -static int mixer_ctl_feature_info(636,15478 -static int mixer_ctl_feature_get(660,16228 -static int mixer_ctl_feature_put(701,17406 -static snd_kcontrol_new_t usb_feature_unit_ctl 744,18426 -static void build_feature_ctl(757,18699 -static int parse_audio_feature_unit(877,22353 -static void build_mixer_unit_ctl(933,23824 -static int parse_audio_mixer_unit(992,25379 -static int mixer_ctl_procunit_get(1015,25938 -static int mixer_ctl_procunit_put(1033,26442 -static snd_kcontrol_new_t mixer_procunit_ctl 1054,26988 -struct procunit_value_info procunit_value_info1066,27264 -struct procunit_info procunit_info1073,27357 -static struct procunit_value_info updown_proc_info[1079,27445 -static struct procunit_value_info prologic_proc_info[1084,27633 -static struct procunit_value_info threed_enh_proc_info[1089,27827 -static struct procunit_value_info reverb_proc_info[1094,28012 -static struct procunit_value_info chorus_proc_info[1101,28289 -static struct procunit_value_info dcr_proc_info[1108,28567 -static struct procunit_info procunits[1118,28960 -static int build_audio_procunit(1131,29379 -static int parse_audio_processing_unit(1227,32203 -static int parse_audio_extension_unit(1232,32383 -static int mixer_ctl_selector_info(1245,32659 -static int mixer_ctl_selector_get(1261,33239 -static int mixer_ctl_selector_put(1280,33708 -static snd_kcontrol_new_t mixer_selectunit_ctl 1301,34210 -static void usb_mixer_selector_elem_free(1313,34516 -static int parse_audio_selector_unit(1335,34969 -#define MAX_ITEM_NAME_LEN 1381,36067 -static int parse_audio_unit(1440,37655 -int snd_usb_create_mixer(1477,38642 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usbaudio.h,3609 -#define __USBAUDIO_H2,21 -#define USB_SUBCLASS_AUDIO_CONTROL 28,901 -#define USB_SUBCLASS_AUDIO_STREAMING 29,941 -#define USB_SUBCLASS_MIDI_STREAMING 30,983 -#define USB_SUBCLASS_VENDOR_SPEC 31,1024 -#define CS_AUDIO_UNDEFINED 33,1063 -#define CS_AUDIO_DEVICE 34,1096 -#define CS_AUDIO_CONFIGURATION 35,1127 -#define CS_AUDIO_STRING 36,1164 -#define CS_AUDIO_INTERFACE 37,1195 -#define CS_AUDIO_ENDPOINT 38,1228 -#define HEADER 40,1261 -#define INPUT_TERMINAL 41,1284 -#define OUTPUT_TERMINAL 42,1314 -#define MIXER_UNIT 43,1345 -#define SELECTOR_UNIT 44,1371 -#define FEATURE_UNIT 45,1400 -#define PROCESSING_UNIT 46,1428 -#define EXTENSION_UNIT 47,1459 -#define AS_GENERAL 49,1490 -#define FORMAT_TYPE 50,1516 -#define FORMAT_SPECIFIC 51,1543 -#define EP_GENERAL 53,1575 -#define MS_GENERAL 55,1602 -#define MIDI_IN_JACK 56,1628 -#define MIDI_OUT_JACK 57,1656 -#define EP_ATTR_MASK 60,1712 -#define EP_ATTR_ASYNC 61,1740 -#define EP_ATTR_ADAPTIVE 62,1769 -#define EP_ATTR_SYNC 63,1800 -#define EP_CS_ATTR_SAMPLE_RATE 66,1858 -#define EP_CS_ATTR_PITCH_CONTROL 67,1895 -#define EP_CS_ATTR_FILL_MAX 68,1933 -#define SET_CUR 72,2010 -#define GET_CUR 73,2034 -#define SET_MIN 74,2058 -#define GET_MIN 75,2082 -#define SET_MAX 76,2106 -#define GET_MAX 77,2130 -#define SET_RES 78,2154 -#define GET_RES 79,2178 -#define SET_MEM 80,2202 -#define GET_MEM 81,2226 -#define GET_STAT 82,2250 -#define COPY_PROTECT_CONTROL 86,2309 -#define SAMPLING_FREQ_CONTROL 90,2384 -#define PITCH_CONTROL 91,2424 -#define USB_FORMAT_TYPE_I 94,2484 -#define USB_FORMAT_TYPE_II 95,2515 -#define USB_FORMAT_TYPE_III 96,2547 -#define USB_AUDIO_FORMAT_PCM 99,2594 -#define USB_AUDIO_FORMAT_PCM8 100,2628 -#define USB_AUDIO_FORMAT_IEEE_FLOAT 101,2663 -#define USB_AUDIO_FORMAT_ALAW 102,2704 -#define USB_AUDIO_FORMAT_MU_LAW 103,2739 -#define USB_AUDIO_FORMAT_MPEG 106,2791 -#define USB_AUDIO_FORMAT_AC3 107,2828 -#define USB_AUDIO_FORMAT_IEC1937_AC3 110,2880 -#define USB_AUDIO_FORMAT_IEC1937_MPEG1_LAYER1 111,2924 -#define USB_AUDIO_FORMAT_IEC1937_MPEG2_NOEXT 112,2977 -#define USB_AUDIO_FORMAT_IEC1937_MPEG2_EXT 113,3029 -#define USB_AUDIO_FORMAT_IEC1937_MPEG2_LAYER1_LS 114,3079 -#define USB_AUDIO_FORMAT_IEC1937_MPEG2_LAYER23_LS 115,3135 -#define MIDI_MAX_ENDPOINTS 119,3242 -typedef struct snd_usb_audio snd_usb_audio_t;snd_usb_audio_t124,3280 -struct snd_usb_audio snd_usb_audio126,3327 -#define QUIRK_NO_INTERFACE 147,3741 -#define QUIRK_ANY_INTERFACE 148,3772 -#define QUIRK_MIDI_FIXED_ENDPOINT 151,3822 -#define QUIRK_MIDI_YAMAHA 152,3858 -#define QUIRK_MIDI_MIDIMAN 153,3887 -#define QUIRK_COMPOSITE 154,3917 -#define QUIRK_AUDIO_FIXED_ENDPOINT 155,3945 -#define QUIRK_AUDIO_STANDARD_INTERFACE 156,3982 -#define QUIRK_MIDI_STANDARD_INTERFACE 157,4023 -#define QUIRK_AUDIO_EDIROL_UA700 158,4063 -typedef struct snd_usb_audio_quirk snd_usb_audio_quirk_t;snd_usb_audio_quirk_t160,4099 -typedef struct snd_usb_midi_endpoint_info snd_usb_midi_endpoint_info_t;snd_usb_midi_endpoint_info_t161,4157 -struct snd_usb_audio_quirk snd_usb_audio_quirk163,4230 -struct snd_usb_midi_endpoint_info snd_usb_midi_endpoint_info172,4407 -#define combine_word(combine_word195,5050 -#define combine_triple(combine_triple196,5114 -#define combine_quad(combine_quad197,5190 -#define get_iface_desc(get_iface_desc218,6173 -#define get_endpoint(get_endpoint219,6220 -#define get_ep_desc(get_ep_desc220,6277 -#define get_cfg_desc(get_cfg_desc221,6316 -#define usb_pipe_needs_resubmit(usb_pipe_needs_resubmit225,6397 -#define snd_usb_complete_callback(snd_usb_complete_callback229,6479 -#define snd_usb_get_speed(snd_usb_get_speed233,6554 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usbquirks.h,183 -#define USB_DEVICE_VENDOR_SPEC(USB_DEVICE_VENDOR_SPEC34,1227 -#define YAMAHA_DEVICE(YAMAHA_DEVICE46,1514 -#define YAMAHA_INTERFACE(YAMAHA_INTERFACE55,1771 - .driver_info 141,4430 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/usb/usbmidi.c,3432 -struct usb_ms_header_descriptor usb_ms_header_descriptor57,2264 -struct usb_ms_endpoint_descriptor usb_ms_endpoint_descriptor65,2433 -typedef struct snd_usb_midi snd_usb_midi_t;snd_usb_midi_t73,2614 -typedef struct snd_usb_midi_endpoint snd_usb_midi_endpoint_t;snd_usb_midi_endpoint_t74,2658 -typedef struct snd_usb_midi_out_endpoint snd_usb_midi_out_endpoint_t;snd_usb_midi_out_endpoint_t75,2720 -typedef struct snd_usb_midi_in_endpoint snd_usb_midi_in_endpoint_t;snd_usb_midi_in_endpoint_t76,2790 -typedef struct usbmidi_out_port usbmidi_out_port_t;usbmidi_out_port_t77,2858 -typedef struct usbmidi_in_port usbmidi_in_port_t;usbmidi_in_port_t78,2910 -struct snd_usb_midi snd_usb_midi80,2961 - struct snd_usb_midi_endpoint snd_usb_midi_endpoint87,3122 -struct snd_usb_midi_out_endpoint snd_usb_midi_out_endpoint93,3262 - struct usbmidi_out_port usbmidi_out_port101,3443 -#define STATE_UNKNOWN 107,3616 -#define STATE_1PARAM 108,3640 -#define STATE_2PARAM_1 109,3663 -#define STATE_2PARAM_2 110,3688 -#define STATE_SYSEX_0 111,3713 -#define STATE_SYSEX_1 112,3737 -#define STATE_SYSEX_2 113,3761 -struct snd_usb_midi_in_endpoint snd_usb_midi_in_endpoint118,3824 - struct usbmidi_in_port usbmidi_in_port121,3900 -static const uint8_t snd_usbmidi_cin_length[128,4053 -static int snd_usbmidi_submit_urb(135,4203 -static int snd_usbmidi_urb_error(146,4461 -static void snd_usbmidi_input_packet(161,4809 -static void snd_usbmidi_in_urb_complete(181,5307 -static void snd_usbmidi_in_midiman_complete(206,5931 -static void snd_usbmidi_out_urb_complete(235,6694 -static void snd_usbmidi_convert_to_midiman(249,7017 -static inline void output_packet(266,7458 -static void snd_usbmidi_transmit_byte(281,7797 -static void snd_usbmidi_transmit(376,9944 -static void snd_usbmidi_do_output(396,10482 -static void snd_usbmidi_out_tasklet(423,11193 -static int snd_usbmidi_output_open(430,11356 -static int snd_usbmidi_output_close(452,11902 -static void snd_usbmidi_output_trigger(457,11990 -static int snd_usbmidi_input_open(474,12474 -static int snd_usbmidi_input_close(479,12560 -static void snd_usbmidi_input_trigger(484,12647 -static snd_rawmidi_ops_t snd_usbmidi_output_ops 488,12734 -static snd_rawmidi_ops_t snd_usbmidi_input_ops 494,12900 -static void snd_usbmidi_in_endpoint_delete(504,13157 -static struct usb_endpoint_descriptor* snd_usbmidi_get_int_epd(518,13462 -static struct usb_endpoint_descriptor* snd_usbmidi_get_midiman_int_epd(551,14672 -static int snd_usbmidi_in_endpoint_create(568,15100 -static int snd_usbmidi_count_bits(617,16422 -static void snd_usbmidi_out_endpoint_delete(630,16660 -static int snd_usbmidi_out_endpoint_create(645,16987 -static void snd_usbmidi_free(692,18147 -void snd_usbmidi_disconnect(709,18522 -static void snd_usbmidi_rawmidi_free(724,18908 -static snd_rawmidi_substream_t* snd_usbmidi_find_substream(730,19044 -} snd_usbmidi_port_names[753,19704 -static void snd_usbmidi_init_substream(826,21880 -static int snd_usbmidi_create_endpoints(861,22936 -static int snd_usbmidi_get_ms_info(902,24073 -static int snd_usbmidi_detect_endpoint(972,26485 -static int snd_usbmidi_detect_yamaha(1006,27578 -static int snd_usbmidi_create_endpoints_midiman(1045,28686 -static int snd_usbmidi_create_rawmidi(1128,31879 -void snd_usbmidi_input_stop(1155,32662 -static void snd_usbmidi_input_start_ep(1168,32942 -void snd_usbmidi_input_start(1180,33204 -int snd_usb_create_midi_interface(1193,33516 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/als100.c,848 -#define PFX 35,1190 -static int index[49,1627 -static char *id[50,1696 -static int enable[51,1769 -static long port[52,1854 -static long mpu_port[53,1922 -static long fm_port[54,1994 -static int irq[55,2065 -static int mpu_irq[56,2130 -static int dma8[57,2199 -static int dma16[58,2265 -static int boot_devs;59,2332 -struct snd_card_als100 snd_card_als10082,3453 -static struct pnp_card_device_id snd_als100_pnpids[89,3567 -#define DRIVER_NAME 105,4210 -static int __devinit snd_card_als100_pnp(107,4249 -static int __init snd_card_als100_probe(200,7188 -static int __devinit snd_als100_pnp_detect(281,9276 -static void __devexit snd_als100_pnp_remove(299,9612 -static struct pnp_card_driver als100_pnpc_driver 307,9816 -static int __init alsa_card_als100_init(315,10108 -static void __exit alsa_card_als100_exit(329,10413 -module_init(334,10515 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/opl3sa2.c,2660 -static int index[46,1456 -static char *id[47,1525 -static int enable[48,1598 -static int isapnp[50,1701 -static long port[52,1774 -static long sb_port[53,1850 -static long wss_port[54,1929 -static long fm_port[55,2014 -static long midi_port[56,2081 -static int irq[57,2155 -static int dma1[58,2229 -static int dma2[59,2295 -static int opl3sa3_ymode[60,2361 -static int boot_devs;61,2463 -#define OPL3SA2_PM_CTRL 93,4023 -#define OPL3SA2_SYS_CTRL 94,4053 -#define OPL3SA2_IRQ_CONFIG 95,4084 -#define OPL3SA2_IRQ_STATUS 96,4116 -#define OPL3SA2_DMA_CONFIG 97,4148 -#define OPL3SA2_MASTER_LEFT 98,4180 -#define OPL3SA2_MASTER_RIGHT 99,4213 -#define OPL3SA2_MIC 100,4247 -#define OPL3SA2_MISC 101,4273 -#define OPL3SA3_DGTL_DOWN 104,4320 -#define OPL3SA3_ANLG_DOWN 105,4351 -#define OPL3SA3_WIDE 106,4382 -#define OPL3SA3_BASS 107,4409 -#define OPL3SA3_TREBLE 108,4436 -#define OPL3SA2_PM_ADOWN 111,4494 -#define OPL3SA2_PM_PSV 112,4525 -#define OPL3SA2_PM_PDN 113,4556 -#define OPL3SA2_PM_PDX 114,4585 -#define OPL3SA2_PM_D0 116,4615 -#define OPL3SA2_PM_D3 117,4642 -typedef struct snd_opl3sa2 opl3sa2_t;opl3sa2_t119,4729 -struct snd_opl3sa2 snd_opl3sa2121,4768 -static snd_card_t *snd_opl3sa2_legacy[145,5314 -static struct pnp_card_device_id snd_opl3sa2_pnpids[149,5406 -static unsigned char __snd_opl3sa2_read(170,6068 -static unsigned char snd_opl3sa2_read(186,6475 -static void __snd_opl3sa2_write(198,6790 -static void snd_opl3sa2_write(209,7070 -static int __init snd_opl3sa2_detect(217,7317 -static irqreturn_t snd_opl3sa2_interrupt(289,9823 -#define OPL3SA2_SINGLE(OPL3SA2_SINGLE328,10898 -static int snd_opl3sa2_info_single(334,11213 -int snd_opl3sa2_get_single(345,11542 -int snd_opl3sa2_put_single(362,12175 -#define OPL3SA2_DOUBLE(OPL3SA2_DOUBLE386,12917 -int snd_opl3sa2_info_double(392,13318 -int snd_opl3sa2_get_double(403,13640 -int snd_opl3sa2_put_double(425,14576 -static snd_kcontrol_new_t snd_opl3sa2_controls[465,15968 -static snd_kcontrol_new_t snd_opl3sa2_tone_controls[472,16278 -static void snd_opl3sa2_master_free(478,16537 -static int __init snd_opl3sa2_mixer(485,16710 -static int snd_opl3sa2_suspend(533,18488 -static int snd_opl3sa2_resume(547,18856 -static int __init snd_opl3sa2_pnp(573,19467 -static int snd_opl3sa2_free(632,21669 -static int snd_opl3sa2_dev_free(644,21897 -static int __devinit snd_opl3sa2_probe(650,22028 -static int __devinit snd_opl3sa2_pnp_detect(786,25731 -static void __devexit snd_opl3sa2_pnp_remove(804,26228 -static struct pnp_card_driver opl3sa2_pnpc_driver 812,26441 -static int __init alsa_card_opl3sa2_init(821,26692 -static void __exit alsa_card_opl3sa2_exit(850,27267 -module_init(862,27513 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/cs423x/cs4231_lib.c,3631 -#define SNDRV_DEBUG_MCE47,1590 -static unsigned char freq_bits[54,1649 -static unsigned int rates[71,2163 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 76,2296 -static int snd_cs4231_xrate(82,2403 -static unsigned char snd_cs4231_original_image[87,2560 -#define __CS4231_INLINE__ 128,3647 -#define __CS4231_INLINE__ 130,3686 -static __CS4231_INLINE__ void cs4231_outb(133,3734 -static __CS4231_INLINE__ u8 cs4231_inb(151,4088 -void snd_cs4231_outm(169,4433 -static void snd_cs4231_dout(196,5165 -void snd_cs4231_out(209,5504 -unsigned char snd_cs4231_in(230,6120 -void snd_cs4236_ext_out(247,6590 -unsigned char snd_cs4236_ext_in(258,6957 -void snd_cs4231_debug(276,7388 -static void snd_cs4231_busy_wait(320,10015 -void snd_cs4231_mce_up(334,10399 -void snd_cs4231_mce_down(355,11116 -static unsigned int snd_cs4231_get_count(428,13215 -static int snd_cs4231_trigger(443,13506 -static unsigned char snd_cs4231_get_rate(501,14865 -static unsigned char snd_cs4231_get_format(512,15051 -static void snd_cs4231_calibrate_mute(534,15741 -static void snd_cs4231_playback_format(568,17635 -static void snd_cs4231_capture_format(607,19103 -static unsigned long snd_cs4231_timer_resolution(654,20752 -static int snd_cs4231_timer_start(663,20998 -static int snd_cs4231_timer_stop(681,21782 -static void snd_cs4231_init(691,22112 -static int snd_cs4231_open(749,23846 -static void snd_cs4231_close(785,24951 -static int snd_cs4231_timer_open(836,26532 -static int snd_cs4231_timer_close(843,26686 -static struct _snd_timer_hardware snd_cs4231_timer_table 850,26842 -static int snd_cs4231_playback_hw_params(866,27194 -static int snd_cs4231_playback_hw_free(881,27713 -static int snd_cs4231_playback_prepare(887,27855 -static int snd_cs4231_capture_hw_params(910,28757 -static int snd_cs4231_capture_hw_free(925,29273 -static int snd_cs4231_capture_prepare(931,29414 -static void snd_cs4231_overrange(956,30470 -irqreturn_t snd_cs4231_interrupt(968,30844 -static snd_pcm_uframes_t snd_cs4231_playback_pointer(1011,32044 -static snd_pcm_uframes_t snd_cs4231_capture_pointer(1022,32383 -int snd_cs4231_probe(1038,32757 -static snd_pcm_hardware_t snd_cs4231_playback 1202,37408 -static snd_pcm_hardware_t snd_cs4231_capture 1223,38088 -static int snd_cs4231_playback_open(1248,38776 -static int snd_cs4231_capture_open(1292,40103 -static int snd_cs4231_playback_close(1332,41269 -static int snd_cs4231_capture_close(1341,41486 -static void snd_cs4231_suspend(1353,41764 -static void snd_cs4231_resume(1365,42064 -static int snd_cs4231_pm_suspend(1406,43209 -static int snd_cs4231_pm_resume(1416,43440 -static int snd_cs4231_free(1429,43711 -static int snd_cs4231_dev_free(1458,44451 -const char *snd_cs4231_chip_id(1466,44609 -static int snd_cs4231_new(1486,45283 -int snd_cs4231_create(1515,46027 -static snd_pcm_ops_t snd_cs4231_playback_ops 1603,48400 -static snd_pcm_ops_t snd_cs4231_capture_ops 1614,48755 -static void snd_cs4231_pcm_free(1625,49103 -int snd_cs4231_pcm(1632,49256 -static void snd_cs4231_timer_free(1685,50739 -int snd_cs4231_timer(1691,50858 -static int snd_cs4231_info_mux(1719,51504 -static int snd_cs4231_get_mux(1749,52391 -static int snd_cs4231_put_mux(1761,52852 -int snd_cs4231_info_single(1784,53719 -int snd_cs4231_get_single(1795,54040 -int snd_cs4231_put_single(1812,54670 -int snd_cs4231_info_double(1835,55395 -int snd_cs4231_get_double(1846,55716 -int snd_cs4231_put_double(1868,56646 -static snd_kcontrol_new_t snd_cs4231_controls[1899,57771 -int snd_cs4231_mixer(1925,59420 -static int __init alsa_cs4231_init(1968,60505 -static void __exit alsa_cs4231_exit(1973,60562 -module_init(1977,60609 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/cs423x/cs4231.c,483 -static int index[38,1356 -static char *id[39,1425 -static int enable[40,1498 -static long port[41,1576 -static long mpu_port[42,1644 -static int irq[43,1716 -static int mpu_irq[44,1786 -static int dma1[45,1856 -static int dma2[46,1924 -static int boot_devs;47,1992 -static snd_card_t *snd_cs4231_cards[68,2971 -static int __init snd_card_cs4231_probe(71,3043 -static int __init alsa_card_cs4231_init(144,4812 -static void __exit alsa_card_cs4231_exit(161,5135 -module_init(169,5279 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/cs423x/cs4236_lib.c,2468 -static unsigned char snd_cs4236_ext_map[100,3127 -static void snd_cs4236_ctrl_out(125,3786 -static unsigned char snd_cs4236_ctrl_in(131,3955 -#define CLOCKS 141,4110 -static ratnum_t clocks[143,4128 -static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks 154,4728 -static int snd_cs4236_xrate(159,4832 -static unsigned char divisor_to_rate_register(165,5003 -static void snd_cs4236_playback_format(181,5344 -static void snd_cs4236_capture_format(195,5982 -static void snd_cs4236_suspend(211,6632 -static void snd_cs4236_resume(226,7073 -int snd_cs4236_create(261,7840 -int snd_cs4236_pcm(352,10986 -#define CS4236_SINGLE(CS4236_SINGLE369,11257 -static int snd_cs4236_info_single(375,11568 -static int snd_cs4236_get_single(386,11896 -static int snd_cs4236_put_single(403,12546 -#define CS4236_SINGLEC(CS4236_SINGLEC426,13308 -static int snd_cs4236_get_singlec(432,13622 -static int snd_cs4236_put_singlec(449,14261 -#define CS4236_DOUBLE(CS4236_DOUBLE472,15001 -static int snd_cs4236_info_double(478,15398 -static int snd_cs4236_get_double(489,15726 -static int snd_cs4236_put_double(511,16689 -#define CS4236_DOUBLE1(CS4236_DOUBLE1548,18139 -static int snd_cs4236_get_double1(554,18539 -static int snd_cs4236_put_double1(576,19490 -#define CS4236_MASTER_DIGITAL(CS4236_MASTER_DIGITAL607,20653 -static inline int snd_cs4236_mixer_master_digital_invert_volume(613,20920 -static int snd_cs4236_get_master_digital(618,21055 -static int snd_cs4236_put_master_digital(630,21609 -#define CS4235_OUTPUT_ACCU(CS4235_OUTPUT_ACCU649,22499 -static inline int snd_cs4235_mixer_output_accu_get_volume(655,22756 -static inline int snd_cs4235_mixer_output_accu_set_volume(666,22946 -static int snd_cs4235_get_output_accu(677,23153 -static int snd_cs4235_put_output_accu(689,23652 -static snd_kcontrol_new_t snd_cs4236_controls[708,24461 -static snd_kcontrol_new_t snd_cs4235_controls[759,27747 -#define CS4236_IEC958_ENABLE(CS4236_IEC958_ENABLE806,30338 -static int snd_cs4236_get_iec958_switch(812,30601 -static int snd_cs4236_put_iec958_switch(832,31277 -static snd_kcontrol_new_t snd_cs4236_iec958_controls[868,32389 -static snd_kcontrol_new_t snd_cs4236_3d_controls_cs4235[877,32802 -static snd_kcontrol_new_t snd_cs4236_3d_controls_cs4237[882,32975 -static snd_kcontrol_new_t snd_cs4236_3d_controls_cs4238[890,33309 -int snd_cs4236_mixer(897,33591 -static int __init alsa_cs4236_init(960,35323 -static void __exit alsa_cs4236_exit(965,35380 -module_init(969,35427 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/cs423x/cs4232.c,19 -#define CS42321,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/cs423x/cs4236.c,1241 -#define IDENT 75,2409 -#define IDENT 77,2438 -static int index[80,2470 -static char *id[81,2539 -static int enable[82,2612 -static int isapnp[84,2715 -static long port[86,2788 -static long cport[87,2856 -static long mpu_port[88,2925 -static long fm_port[89,2996 -static long sb_port[90,3067 -static int irq[91,3138 -static int mpu_irq[92,3208 -static int dma1[93,3278 -static int dma2[94,3346 -static int boot_devs;95,3414 -struct snd_card_cs4236 snd_card_cs4236126,4922 -static snd_card_t *snd_cs4236_legacy[135,5074 -#define ISAPNP_CS4232(ISAPNP_CS4232139,5165 -#define ISAPNP_CS4232_1(ISAPNP_CS4232_1146,5465 -#define ISAPNP_CS4232_WOMPU(ISAPNP_CS4232_WOMPU153,5768 -static struct pnp_card_device_id snd_cs423x_pnpids[162,6032 -static struct pnp_card_device_id snd_cs423x_pnpids[181,6951 -static int __devinit snd_card_cs4236_pnp(263,11265 -static void snd_card_cs4236_free(378,15265 -static int __devinit snd_card_cs423x_probe(390,15529 -static int __devinit snd_cs423x_pnp_detect(530,18946 -static void __devexit snd_cs423x_pnp_remove(548,19298 -static struct pnp_card_driver cs423x_pnpc_driver 556,19534 -static int __init alsa_card_cs423x_init(565,19780 -static void __exit alsa_card_cs423x_exit(594,20344 -module_init(606,20587 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/es18xx.c,6158 -#define SNDRV_LEGACY_AUTO_PROBE82,2567 -#define SNDRV_LEGACY_FIND_FREE_IRQ83,2599 -#define SNDRV_LEGACY_FIND_FREE_DMA84,2634 -#define PFX 87,2697 -struct _snd_es18xx _snd_es18xx89,2721 -#define AUDIO1_IRQ 131,3856 -#define AUDIO2_IRQ 132,3880 -#define HWV_IRQ 133,3904 -#define MPU_IRQ 134,3926 -#define ES18XX_PCM2 136,3949 -#define ES18XX_SPATIALIZER 137,4002 -#define ES18XX_RECMIX 138,4061 -#define ES18XX_DUPLEX_MONO 139,4113 -#define ES18XX_DUPLEX_SAME 140,4174 -#define ES18XX_NEW_RATE 141,4259 -#define ES18XX_AUXB 142,4322 -#define ES18XX_HWV 143,4374 -#define ES18XX_MONO 144,4426 -#define ES18XX_I2S 145,4481 -#define ES18XX_MUTEREC 146,4531 -#define ES18XX_CONTROL 147,4594 -#define ES18XX_PM 150,4672 -#define ES18XX_PM_GPO0 151,4695 -#define ES18XX_PM_GPO1 152,4723 -#define ES18XX_PM_PDR 153,4751 -#define ES18XX_PM_ANA 154,4778 -#define ES18XX_PM_FM 155,4805 -#define ES18XX_PM_SUS 156,4832 -typedef struct _snd_es18xx es18xx_t;es18xx_t158,4861 -#define DAC1 162,4915 -#define ADC1 163,4933 -#define DAC2 164,4951 -#define MILLISECOND 165,4969 -static int snd_es18xx_dsp_command(167,4996 -static int snd_es18xx_dsp_get_byte(180,5371 -static int snd_es18xx_write(193,5736 -static int snd_es18xx_read(212,6183 -static int snd_es18xx_bits(234,6717 -inline void snd_es18xx_mixer_write(271,7592 -inline int snd_es18xx_mixer_read(284,7984 -static inline int snd_es18xx_mixer_bits(299,8395 -static inline int snd_es18xx_mixer_writable(319,8974 -static int snd_es18xx_reset(338,9548 -static int snd_es18xx_reset_fifo(350,9875 -static ratnum_t new_clocks[358,10050 -static snd_pcm_hw_constraint_ratnums_t new_hw_constraints_clocks 373,10237 -static ratnum_t old_clocks[378,10344 -static snd_pcm_hw_constraint_ratnums_t old_hw_constraints_clocks 393,10531 -static void snd_es18xx_rate_set(399,10640 -static int snd_es18xx_playback_hw_params(429,11422 -static int snd_es18xx_pcm_hw_free(457,12198 -static int snd_es18xx_playback1_prepare(462,12313 -static int snd_es18xx_playback1_trigger(490,13238 -static int snd_es18xx_capture_hw_params(540,14434 -static int snd_es18xx_capture_prepare(563,15097 -static int snd_es18xx_capture_trigger(602,16381 -static int snd_es18xx_playback2_prepare(631,17038 -static int snd_es18xx_playback2_trigger(668,18360 -static int snd_es18xx_playback_prepare(708,19304 -static int snd_es18xx_playback_trigger(717,19617 -static irqreturn_t snd_es18xx_interrupt(727,19960 -static snd_pcm_uframes_t snd_es18xx_playback_pointer(789,21914 -static snd_pcm_uframes_t snd_es18xx_capture_pointer(807,22412 -static snd_pcm_hardware_t snd_es18xx_playback 818,22721 -static snd_pcm_hardware_t snd_es18xx_capture 838,23307 -static int snd_es18xx_playback_open(858,23892 -static int snd_es18xx_capture_open(883,24745 -static int snd_es18xx_playback_close(901,25433 -static int snd_es18xx_capture_close(914,25757 -static int snd_es18xx_info_mux(927,26011 -static int snd_es18xx_get_mux(943,26469 -static int snd_es18xx_put_mux(950,26702 -static int snd_es18xx_info_spatializer_enable(960,26996 -static int snd_es18xx_get_spatializer_enable(969,27238 -static int snd_es18xx_put_spatializer_enable(977,27511 -static int snd_es18xx_info_hw_volume(992,27968 -static int snd_es18xx_get_hw_volume(1001,28202 -static int snd_es18xx_info_hw_switch(1009,28517 -static int snd_es18xx_get_hw_switch(1018,28750 -static void snd_es18xx_hwv_free(1026,29071 -static int snd_es18xx_reg_bits(1035,29289 -static int snd_es18xx_reg_read(1044,29534 -#define ES18XX_SINGLE(ES18XX_SINGLE1052,29708 -static int snd_es18xx_info_single(1058,30019 -static int snd_es18xx_get_single(1069,30347 -static int snd_es18xx_put_single(1085,30905 -#define ES18XX_DOUBLE(ES18XX_DOUBLE1102,31447 -static int snd_es18xx_info_double(1108,31844 -static int snd_es18xx_get_double(1119,32172 -static int snd_es18xx_put_double(1144,33131 -static snd_kcontrol_new_t snd_es18xx_base_controls[1179,34259 -static snd_kcontrol_new_t snd_es18xx_mono_in_control 1201,35234 -static snd_kcontrol_new_t snd_es18xx_recmix_controls[1204,35364 -static snd_kcontrol_new_t snd_es18xx_pcm1_controls[1214,35881 -static snd_kcontrol_new_t snd_es18xx_pcm2_controls[1218,36008 -static snd_kcontrol_new_t snd_es18xx_spatializer_controls[1223,36200 -static snd_kcontrol_new_t snd_es18xx_micpre1_control 1234,36529 -static snd_kcontrol_new_t snd_es18xx_micpre2_control 1237,36640 -static snd_kcontrol_new_t snd_es18xx_hw_volume_controls[1240,36750 -static int __devinit snd_es18xx_config_read(1259,37279 -static void __devinit snd_es18xx_config_write(1271,37589 -static int __devinit snd_es18xx_initialize(1283,37945 -static int __devinit snd_es18xx_identify(1432,41907 -static int __devinit snd_es18xx_probe(1498,43332 -static snd_pcm_ops_t snd_es18xx_playback_ops 1538,44744 -static snd_pcm_ops_t snd_es18xx_capture_ops 1549,45103 -static void snd_es18xx_pcm_free(1560,45455 -int __devinit snd_es18xx_pcm(1567,45610 -static int snd_es18xx_suspend(1610,46843 -static int snd_es18xx_resume(1626,47307 -static int snd_es18xx_free(1638,47651 -static int snd_es18xx_dev_free(1666,48279 -static int __devinit snd_es18xx_new_device(1672,48407 -static int __devinit snd_es18xx_mixer(1741,50250 -static int index[1840,53090 -static char *id[1841,53159 -static int enable[1842,53232 -static int isapnp[1844,53335 -static long port[1846,53408 -static long mpu_port[1848,53510 -static long mpu_port[1850,53586 -static long fm_port[1852,53649 -static int irq[1853,53704 -static int dma1[1854,53768 -static int dma2[1855,53830 -static int boot_devs;1856,53892 -struct snd_audiodrive snd_audiodrive1881,55014 -static snd_card_t *snd_audiodrive_legacy[1888,55112 -static struct pnp_card_device_id snd_audiodrive_pnpids[1892,55207 -static int __devinit snd_audiodrive_pnp(1913,56079 -static int __devinit snd_audiodrive_probe(1989,58937 -static int __devinit snd_audiodrive_probe_legacy_port(2110,62198 -static int __devinit snd_audiodrive_pnp_detect(2133,62633 -static void __devexit snd_audiodrive_pnp_remove(2152,63021 -static struct pnp_card_driver es18xx_pnpc_driver 2160,63229 -static int __init alsa_card_es18xx_init(2169,63487 -static void __exit alsa_card_es18xx_exit(2209,64408 -module_init(2221,64654 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/ad1816a/ad1816a.c,857 -#define PFX 33,1147 -static int index[46,1530 -static char *id[47,1599 -static int enable[48,1672 -static long port[49,1757 -static long mpu_port[50,1825 -static long fm_port[51,1897 -static int irq[52,1968 -static int mpu_irq[53,2033 -static int dma1[54,2102 -static int dma2[55,2168 -static int boot_devs;56,2234 -struct snd_card_ad1816a snd_card_ad1816a79,3358 -static struct pnp_card_device_id snd_ad1816a_pnpids[84,3435 -#define DRIVER_NAME 108,4599 -static int __devinit snd_card_ad1816a_pnp(111,4640 -static int __devinit snd_card_ad1816a_probe(183,6819 -static int __devinit snd_ad1816a_pnp_detect(259,8753 -static void __devexit snd_ad1816a_pnp_remove(277,9099 -static struct pnp_card_driver ad1816a_pnpc_driver 285,9304 -static int __init alsa_card_ad1816a_init(293,9535 -static void __exit alsa_card_ad1816a_exit(307,9854 -module_init(312,9958 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/ad1816a/ad1816a_lib.c,2773 -static inline int snd_ad1816a_busy_wait(37,1261 -inline unsigned char snd_ad1816a_in(49,1507 -inline void snd_ad1816a_out(55,1645 -inline void snd_ad1816a_out_mask(62,1804 -static unsigned short snd_ad1816a_read(69,2009 -static void snd_ad1816a_write(76,2256 -static void snd_ad1816a_write_mask(84,2546 -static unsigned char snd_ad1816a_get_format(92,2762 -static int snd_ad1816a_open(113,3294 -static void snd_ad1816a_close(149,4314 -static int snd_ad1816a_trigger(181,5280 -static int snd_ad1816a_playback_trigger(207,5950 -static int snd_ad1816a_capture_trigger(214,6184 -static int snd_ad1816a_hw_params(221,6415 -static int snd_ad1816a_hw_free(227,6601 -static int snd_ad1816a_playback_prepare(232,6713 -static int snd_ad1816a_capture_prepare(261,7639 -static snd_pcm_uframes_t snd_ad1816a_playback_pointer(291,8558 -static snd_pcm_uframes_t snd_ad1816a_capture_pointer(301,8876 -static irqreturn_t snd_ad1816a_interrupt(312,9193 -static snd_pcm_hardware_t snd_ad1816a_playback 337,9943 -static snd_pcm_hardware_t snd_ad1816a_capture 356,10544 -static int snd_ad1816a_timer_close(375,11144 -static int snd_ad1816a_timer_open(382,11303 -static unsigned long snd_ad1816a_timer_resolution(389,11460 -static int snd_ad1816a_timer_start(396,11589 -static int snd_ad1816a_timer_stop(415,12104 -static struct _snd_timer_hardware snd_ad1816a_timer_table 428,12414 -static int snd_ad1816a_playback_open(440,12736 -static int snd_ad1816a_capture_open(456,13270 -static int snd_ad1816a_playback_close(472,13800 -static int snd_ad1816a_capture_close(481,14024 -static void snd_ad1816a_init(491,14246 -static int snd_ad1816a_probe(511,14962 -static int snd_ad1816a_free(535,15426 -static int snd_ad1816a_dev_free(555,15819 -static const char *snd_ad1816a_chip_id(561,15950 -int snd_ad1816a_create(574,16296 -static snd_pcm_ops_t snd_ad1816a_playback_ops 638,17783 -static snd_pcm_ops_t snd_ad1816a_capture_ops 649,18137 -static void snd_ad1816a_pcm_free(660,18485 -int snd_ad1816a_pcm(667,18640 -static void snd_ad1816a_timer_free(695,19436 -int snd_ad1816a_timer(701,19557 -static int snd_ad1816a_info_mux(728,20174 -static int snd_ad1816a_get_mux(744,20621 -static int snd_ad1816a_put_mux(758,21070 -#define AD1816A_SINGLE(AD1816A_SINGLE777,21705 -static int snd_ad1816a_info_single(782,21991 -static int snd_ad1816a_get_single(793,22320 -static int snd_ad1816a_put_single(810,22962 -#define AD1816A_DOUBLE(AD1816A_DOUBLE834,23722 -static int snd_ad1816a_info_double(839,24053 -static int snd_ad1816a_get_double(850,24382 -static int snd_ad1816a_put_double(873,25274 -static snd_kcontrol_new_t snd_ad1816a_controls[902,26253 -int snd_ad1816a_mixer(937,28312 -static int __init alsa_ad1816a_init(960,28826 -static void __exit alsa_ad1816a_exit(965,28884 -module_init(969,28932 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/cmi8330.c,2257 -#define PLAYBACK_ON_SB59,2042 -static int index[68,2275 -static char *id[69,2326 -static int enable[70,2376 -static int isapnp[72,2456 -static long sbport[74,2529 -static int sbirq[75,2583 -static int sbdma8[76,2634 -static int sbdma16[77,2686 -static long wssport[78,2739 -static int wssirq[79,2794 -static int wssdma[80,2846 -static int boot_devs;81,2898 -#define CMI8330_RMUX3D 110,4155 -#define CMI8330_MUTEMUX 111,4184 -#define CMI8330_OUTPUTVOL 112,4213 -#define CMI8330_MASTVOL 113,4242 -#define CMI8330_LINVOL 114,4271 -#define CMI8330_CDINVOL 115,4300 -#define CMI8330_WAVVOL 116,4329 -#define CMI8330_RECMUX 117,4358 -#define CMI8330_WAVGAIN 118,4387 -#define CMI8330_LINGAIN 119,4416 -#define CMI8330_CDINGAIN 120,4445 -static unsigned char snd_cmi8330_image[122,4475 -typedef int (*snd_pcm_open_callback_t)snd_pcm_open_callback_t141,4992 -struct snd_cmi8330 snd_cmi8330143,5056 - struct snd_cmi8330_stream snd_cmi8330_stream153,5211 -static snd_card_t *snd_cmi8330_legacy[160,5350 -static struct pnp_card_device_id snd_cmi8330_pnpids[164,5442 -static struct ad1848_mix_elem snd_cmi8330_controls[174,5643 -static struct ad1848_mix_elem snd_cmi8330_controls[] __initdata 174,5643 -static struct sbmix_elem cmi8330_sb_mixers[203,7770 -static struct sbmix_elem cmi8330_sb_mixers[] __initdata 203,7770 -static unsigned char cmi8330_sb_init_values[221,9040 -static unsigned char cmi8330_sb_init_values[][2] __initdata 221,9040 -static int __devinit cmi8330_add_sb_mixers(235,9406 -static int __devinit snd_cmi8330_mixer(260,10134 -static int __devinit snd_cmi8330_pnp(280,10585 -#define CMI_SB_STREAM 367,13302 -#define CMI_AD_STREAM 368,13350 -#define CMI_SB_STREAM 370,13403 -#define CMI_AD_STREAM 371,13450 -static int snd_cmi8330_playback_open(374,13506 -static int snd_cmi8330_capture_open(383,13861 -static void snd_cmi8330_pcm_free(392,14213 -static int __devinit snd_cmi8330_pcm(397,14311 -static int __devinit snd_cmi8330_probe(442,15671 -static int __devinit snd_cmi8330_pnp_detect(556,18435 -static void __devexit snd_cmi8330_pnp_remove(574,18785 -static struct pnp_card_driver cmi8330_pnpc_driver 582,18990 -static int __init alsa_card_cmi8330_init(591,19241 -static void __exit alsa_card_cmi8330_exit(621,19800 -module_init(633,20036 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sbawe.c,24 -#define SNDRV_SBAWE1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb16_csp_codecs.h,229 -static unsigned char mulaw_main[21,851 -static unsigned char alaw_main[181,8585 -static unsigned char ima_adpcm_init[348,16613 -static unsigned char ima_adpcm_playback[480,22979 -static unsigned char ima_adpcm_capture[717,34494 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/emu8000_callback.c,827 -#define LIMITVALUE(LIMITVALUE54,2256 -#define LIMITMAX(LIMITMAX55,2358 -static snd_emux_operators_t emu8000_ops 61,2452 -snd_emu8000_ops_setup(81,2936 -release_voice(92,3049 -terminate_voice(108,3364 -update_voice(120,3503 -get_voice(153,4452 - OFF=161,4616 - OFF=0, RELEASED,161,4616 - OFF=0, RELEASED, PLAYING,161,4616 - OFF=0, RELEASED, PLAYING, END161,4616 - struct best best165,4695 -start_voice(230,5965 -trigger_voice(310,7982 -reset_voice(332,8484 -set_pitch(345,8696 -set_volume(354,8863 -set_pan(368,9120 -#define MOD_SENSE 376,9308 -set_fmmod(379,9342 -set_tremfreq(397,9832 -set_fm2frq2(404,9990 -set_filterQ(422,10460 -snd_emu8000_tweak_voice(434,10740 -sysex(456,11466 -oss_ioctl(481,11944 -#define SNDRV_EMU8000_LOAD_CHORUS_FX 517,12512 -#define SNDRV_EMU8000_LOAD_REVERB_FX 518,12572 -load_fx(526,12673 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/es968.c,773 -#define PFX 32,1111 -static int index[39,1313 -static char *id[40,1382 -static int enable[41,1455 -static long port[42,1540 -static int irq[43,1608 -static int dma8[44,1673 -static int boot_devs;45,1739 -struct snd_card_es968 snd_card_es96860,2402 -static struct pnp_card_device_id snd_es968_pnpids[64,2452 -#define DRIVER_NAME 71,2637 -static irqreturn_t snd_card_es968_interrupt(73,2675 -static int __devinit snd_card_es968_pnp(85,2926 -static int __init snd_card_es968_probe(127,4111 -static int __devinit snd_es968_pnp_detect(184,5482 -static void __devexit snd_es968_pnp_remove(202,5850 -static struct pnp_card_driver es968_pnpc_driver 210,6053 -static int __init alsa_card_es968_init(218,6274 -static void __exit alsa_card_es968_exit(230,6565 -module_init(235,6665 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/emu8000_pcm.c,1321 -typedef struct snd_emu8k_pcm emu8k_pcm_t;emu8k_pcm_t49,1412 -struct snd_emu8k_pcm snd_emu8k_pcm51,1455 -#define LOOP_BLANK_SIZE 73,1914 -emu8k_open_dram_for_pcm(80,2029 -snd_emu8000_write_wait(116,2896 -emu8k_close_dram(132,3192 -#define OFFSET_SAMPLERATE 148,3500 -#define SAMPLERATE_RATIO 149,3554 -static int calc_rate_offset(151,3585 -static snd_pcm_hardware_t emu8k_pcm_hw 160,3706 -static inline int emu8k_get_curpos(184,4289 -static void emu8k_pcm_timer_func(196,4558 -static int emu8k_pcm_open(230,5294 -static int emu8k_pcm_close(260,6109 -static int calc_pitch_target(272,6322 -static void setup_voice(286,6693 -static void start_voice(339,8365 -static void stop_voice(375,9262 -static int emu8k_pcm_trigger(391,9602 -#define CHECK_SCHEDULER(CHECK_SCHEDULER423,10223 -static int emu8k_transfer_block(433,10394 -static int emu8k_pcm_copy(447,10681 -static int emu8k_silence_block(474,11330 -static int emu8k_pcm_silence(485,11537 -static int emu8k_pcm_copy(513,12272 -static int emu8k_pcm_silence(544,12968 -static int emu8k_pcm_hw_params(572,13564 -static int emu8k_pcm_hw_free(597,14291 -static int emu8k_pcm_prepare(615,14656 -static snd_pcm_uframes_t emu8k_pcm_pointer(661,15925 -static snd_pcm_ops_t emu8k_pcm_ops 670,16115 -static void snd_emu8000_pcm_free(684,16457 -int snd_emu8000_pcm_new(690,16566 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/emu8000_synth.c,204 -static int snd_emu8000_new_device(36,1292 -static int snd_emu8000_delete_device(95,2476 -static int __init alsa_emu8000_init(118,2880 -static void __exit alsa_emu8000_exit(128,3114 -module_init(133,3223 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb8_midi.c,593 -irqreturn_t snd_sb8dsp_midi_interrupt(39,1302 -static int snd_sb8dsp_midi_input_open(70,1968 -static int snd_sb8dsp_midi_output_open(97,2790 -static int snd_sb8dsp_midi_input_close(124,3612 -static int snd_sb8dsp_midi_output_close(142,4129 -static void snd_sb8dsp_midi_input_trigger(160,4649 -static void snd_sb8dsp_midi_output_write(183,5308 -static void snd_sb8dsp_midi_output_timer(219,6281 -static void snd_sb8dsp_midi_output_trigger(232,6700 -static snd_rawmidi_ops_t snd_sb8dsp_midi_output 263,7479 -static snd_rawmidi_ops_t snd_sb8dsp_midi_input 270,7658 -int snd_sb8dsp_midi(277,7833 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb_common.c,414 -#define BUSY_LOOPS 40,1325 -int snd_sbdsp_command(44,1369 -int snd_sbdsp_get_byte(59,1708 -int snd_sbdsp_reset(76,2037 -int snd_sbdsp_version(95,2395 -static int snd_sbdsp_probe(105,2624 -static int snd_sbdsp_free(179,4091 -static int snd_sbdsp_dev_free(201,4526 -int snd_sbdsp_create(207,4648 -static int __init alsa_sb_common_init(303,6977 -static void __exit alsa_sb_common_exit(308,7037 -module_init(312,7087 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb8_main.c,1221 -#define SB8_CLOCK 45,1647 -#define SB8_DEN(SB8_DEN46,1673 -#define SB8_RATE(SB8_RATE47,1722 -static ratnum_t clock 49,1768 -static snd_pcm_hw_constraint_ratnums_t hw_constraints_clock 56,1865 -static ratnum_t stereo_clocks[61,1963 -static int snd_sb8_hw_constraint_rate_channels(76,2206 -static int snd_sb8_hw_constraint_channels_rate(93,2688 -static int snd_sb8_playback_prepare(104,3090 -static int snd_sb8_playback_trigger(181,5567 -static int snd_sb8_hw_params(218,6734 -static int snd_sb8_hw_free(224,6919 -static int snd_sb8_capture_prepare(230,7031 -static int snd_sb8_capture_trigger(293,9039 -irqreturn_t snd_sb8dsp_interrupt(332,10251 -static snd_pcm_uframes_t snd_sb8_playback_pointer(360,11024 -static snd_pcm_uframes_t snd_sb8_capture_pointer(371,11330 -static snd_pcm_hardware_t snd_sb8_playback 386,11643 -static snd_pcm_hardware_t snd_sb8_capture 405,12163 -int snd_sb8_open(428,12670 -int snd_sb8_close(474,14020 -static snd_pcm_ops_t snd_sb8_playback_ops 491,14382 -static snd_pcm_ops_t snd_sb8_capture_ops 502,14694 -static void snd_sb8dsp_pcm_free(513,15002 -int snd_sb8dsp_pcm(518,15099 -static int __init alsa_sb8_init(555,16020 -static void __exit alsa_sb8_exit(560,16074 -module_init(564,16118 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb16_main.c,2245 -static void snd_sb16_csp_playback_prepare(53,2198 -static void snd_sb16_csp_capture_prepare(101,3867 -static void snd_sb16_csp_update(139,5102 -static void snd_sb16_csp_playback_open(152,5360 -static void snd_sb16_csp_playback_close(171,5922 -static void snd_sb16_csp_capture_open(183,6191 -static void snd_sb16_csp_capture_close(202,6731 -#define snd_sb16_csp_playback_prepare(snd_sb16_csp_playback_prepare214,7003 -#define snd_sb16_csp_capture_prepare(snd_sb16_csp_capture_prepare215,7064 -#define snd_sb16_csp_update(snd_sb16_csp_update216,7124 -#define snd_sb16_csp_playback_open(snd_sb16_csp_playback_open217,7168 -#define snd_sb16_csp_playback_close(snd_sb16_csp_playback_close218,7226 -#define snd_sb16_csp_capture_open(snd_sb16_csp_capture_open219,7277 -#define snd_sb16_csp_capture_close(snd_sb16_csp_capture_close220,7334 -static void snd_sb16_setup_rate(224,7400 -static int snd_sb16_hw_params(247,8090 -static int snd_sb16_hw_free(253,8277 -static int snd_sb16_playback_prepare(259,8390 -static int snd_sb16_playback_trigger(301,9858 -static int snd_sb16_capture_prepare(327,10708 -static int snd_sb16_capture_trigger(368,12167 -irqreturn_t snd_sb16dsp_interrupt(394,13013 -static snd_pcm_uframes_t snd_sb16_playback_pointer(446,14286 -static snd_pcm_uframes_t snd_sb16_capture_pointer(457,14623 -static snd_pcm_hardware_t snd_sb16_playback 472,14967 -static snd_pcm_hardware_t snd_sb16_capture 490,15432 -int snd_sb16_playback_open(512,15919 -int snd_sb16_playback_close(569,17670 -int snd_sb16_capture_open(582,18018 -int snd_sb16_capture_close(639,19765 -static int snd_sb16_set_dma_mode(656,20143 -static int snd_sb16_get_dma_mode(674,20524 -static int snd_sb16_dma_control_info(688,20759 -static int snd_sb16_dma_control_get(703,21184 -static int snd_sb16_dma_control_put(714,21523 -snd_kcontrol_new_t snd_sb16_dma_control 731,22009 -int snd_sb16dsp_configure(743,22263 -static snd_pcm_ops_t snd_sb16_playback_ops 832,24497 -static snd_pcm_ops_t snd_sb16_capture_ops 843,24827 -static void snd_sb16dsp_pcm_free(854,25151 -int snd_sb16dsp_pcm(859,25249 -const snd_pcm_ops_t *snd_sb16dsp_get_pcm_ops(891,26165 -static int __init alsa_sb16_init(906,26500 -static void __exit alsa_sb16_exit(911,26555 -module_init(915,26600 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/emu8000.c,3579 -void snd_emu8000_poke(47,1568 -unsigned short snd_emu8000_peek(60,1968 -void snd_emu8000_poke_dw(75,2386 -unsigned int snd_emu8000_peek_dw(89,2879 -snd_emu8000_dma_chan(109,3410 -snd_emu8000_read_wait(134,4153 -snd_emu8000_write_wait(147,4385 -snd_emu8000_detect(161,4652 -init_audio(187,5221 -init_dma(228,6275 -static unsigned short init1[239,6468 -static unsigned short init2[261,7602 -static unsigned short init3[283,8704 -static unsigned short init4[305,9806 -send_array(332,11047 -init_arrays(354,11555 -#define UNIQUE_ID1 371,11991 -#define UNIQUE_ID2 372,12017 -size_dram(381,12284 -snd_emu8000_init_fm(461,14607 -snd_emu8000_init_hw(507,16113 -static unsigned short bass_parm[556,17237 -static unsigned short treble_parm[571,17747 -snd_emu8000_update_equalizer(591,18832 -#define SNDRV_EMU8000_CHORUS_1 622,19963 -#define SNDRV_EMU8000_CHORUS_2 623,19997 -#define SNDRV_EMU8000_CHORUS_3 624,20031 -#define SNDRV_EMU8000_CHORUS_4 625,20065 -#define SNDRV_EMU8000_CHORUS_FEEDBACK 626,20099 -#define SNDRV_EMU8000_CHORUS_FLANGER 627,20139 -#define SNDRV_EMU8000_CHORUS_SHORTDELAY 628,20178 -#define SNDRV_EMU8000_CHORUS_SHORTDELAY2 629,20220 -#define SNDRV_EMU8000_CHORUS_PREDEFINED 630,20263 -#define SNDRV_EMU8000_CHORUS_NUMBERS 632,20349 -typedef struct soundfont_chorus_fx_t soundfont_chorus_fx_t634,20390 -} soundfont_chorus_fx_t;soundfont_chorus_fx_t640,20754 -static char chorus_defined[643,20842 -static soundfont_chorus_fx_t chorus_parm[644,20900 -snd_emu8000_load_chorus_fx(656,21540 -snd_emu8000_update_chorus_mode(671,22015 -#define SNDRV_EMU8000_REVERB_ROOM1 693,22815 -#define SNDRV_EMU8000_REVERB_ROOM2 694,22852 -#define SNDRV_EMU8000_REVERB_ROOM3 695,22889 -#define SNDRV_EMU8000_REVERB_HALL1 696,22926 -#define SNDRV_EMU8000_REVERB_HALL2 697,22963 -#define SNDRV_EMU8000_REVERB_PLATE 698,23000 -#define SNDRV_EMU8000_REVERB_DELAY 699,23037 -#define SNDRV_EMU8000_REVERB_PANNINGDELAY 700,23074 -#define SNDRV_EMU8000_REVERB_PREDEFINED 701,23118 -#define SNDRV_EMU8000_REVERB_NUMBERS 703,23204 -typedef struct soundfont_reverb_fx_t soundfont_reverb_fx_t705,23245 -} soundfont_reverb_fx_t;soundfont_reverb_fx_t707,23311 -static char reverb_defined[712,23468 -static soundfont_reverb_fx_t reverb_parm[713,23526 -enum { DATA1,764,25602 -enum { DATA1, DATA2 764,25602 -#define AWE_INIT1(AWE_INIT1765,25625 -#define AWE_INIT2(AWE_INIT2766,25670 -#define AWE_INIT3(AWE_INIT3767,25715 -#define AWE_INIT4(AWE_INIT4768,25760 -static struct reverb_cmd_pair reverb_cmd_pair770,25806 -} reverb_cmds[772,25865 -snd_emu8000_load_reverb_fx(783,26454 -snd_emu8000_update_reverb_mode(799,26930 -static int mixer_bass_treble_info(825,27577 -static int mixer_bass_treble_get(834,27808 -static int mixer_bass_treble_put(842,28065 -static snd_kcontrol_new_t mixer_bass_control 863,28640 -static snd_kcontrol_new_t mixer_treble_control 873,28885 -static int mixer_chorus_reverb_info(886,29163 -static int mixer_chorus_reverb_get(895,29487 -static int mixer_chorus_reverb_put(903,29746 -static snd_kcontrol_new_t mixer_chorus_mode_control 930,30524 -static snd_kcontrol_new_t mixer_reverb_mode_control 940,30768 -static int mixer_fm_depth_info(953,31050 -static int mixer_fm_depth_get(962,31279 -static int mixer_fm_depth_put(970,31541 -static snd_kcontrol_new_t mixer_fm_chorus_depth_control 992,32135 -static snd_kcontrol_new_t mixer_fm_reverb_depth_control 1002,32372 -static snd_kcontrol_new_t *mixer_defs[1013,32610 -snd_emu8000_create_mixer(1026,32944 -static int snd_emu8000_free(1055,33577 -static int snd_emu8000_dev_free(1075,33931 -snd_emu8000_new(1085,34125 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb16_csp.c,2188 -#define CSP_HDR_VALUE(CSP_HDR_VALUE41,1350 -#define CSP_HDR_VALUE(CSP_HDR_VALUE43,1428 -#define LE_SHORT(LE_SHORT45,1507 -#define LE_INT(LE_INT46,1543 -#define RIFF_HEADER 48,1578 -#define CSP__HEADER 49,1632 -#define LIST_HEADER 50,1686 -#define FUNC_HEADER 51,1740 -#define CODE_HEADER 52,1794 -#define INIT_HEADER 53,1848 -#define MAIN_HEADER 54,1902 -typedef struct riff_header riff_header59,1984 -} riff_header_t;riff_header_t62,2038 -typedef struct desc_header desc_header64,2056 -} desc_header_t;desc_header_t72,2233 -int snd_sb_csp_new(112,3965 -static void snd_sb_csp_free(163,5166 -static int snd_sb_csp_open(178,5427 -static int snd_sb_csp_ioctl(187,5596 -static int snd_sb_csp_release(256,7325 -static int snd_sb_csp_use(267,7528 -static int snd_sb_csp_unuse(284,7736 -static int snd_sb_csp_riff_load(297,7926 -static int snd_sb_csp_unload(454,12613 -static inline int command_seq(477,13106 -static int set_codec_parameter(490,13331 -static int set_register(507,13742 -static int read_register(521,14051 -static int set_mode_register(534,14341 -static int csp_detect(547,14601 -static int get_version(584,15500 -static int snd_sb_csp_check_version(598,15773 -static int snd_sb_csp_load(610,16058 -static int snd_sb_csp_load_user(676,17999 -static int snd_sb_csp_autoload(696,18485 -static int snd_sb_csp_start(768,20905 -static int snd_sb_csp_stop(847,23240 -static int snd_sb_csp_pause(888,24430 -static int snd_sb_csp_restart(908,24857 -static int snd_sb_qsound_switch_info(931,25312 -static int snd_sb_qsound_switch_get(940,25545 -static int snd_sb_qsound_switch_put(948,25765 -static int snd_sb_qsound_space_info(963,26174 -static int snd_sb_qsound_space_get(972,26434 -static int snd_sb_qsound_space_put(984,26801 -static snd_kcontrol_new_t snd_sb_qsound_switch 1006,27503 -static snd_kcontrol_new_t snd_sb_qsound_space 1014,27731 -static int snd_sb_qsound_build(1022,27954 -static void snd_sb_qsound_destroy(1047,28510 -static int snd_sb_csp_qsound_transfer(1073,29124 -static int init_proc_entry(1098,29691 -static void info_read(1108,29947 -static int __init alsa_sb_csp_init(1165,32250 -static void __exit alsa_sb_csp_exit(1170,32307 -module_init(1174,32354 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/emu8000_local.h,31 -#define __EMU8000_LOCAL_H2,26 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/emu8000_patch.c,406 -static int emu8000_reset_addr 26,974 -snd_emu8000_open_dma(35,1186 -snd_emu8000_close_dma(62,1795 -#define BLANK_LOOP_START 75,1992 -#define BLANK_LOOP_END 76,2019 -#define BLANK_LOOP_SIZE 77,2045 -#define BLANK_HEAD_SIZE 78,2073 -read_word(85,2214 -snd_emu8000_write_wait(109,2761 -write_word(132,3384 -snd_emu8000_sample_new(148,3756 -snd_emu8000_sample_free(286,7195 -snd_emu8000_sample_reset(300,7432 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb8.c,594 -#define SNDRV_LEGACY_AUTO_PROBE30,1071 -static int index[38,1321 -static char *id[39,1390 -static int enable[40,1463 -static long port[41,1541 -static int irq[42,1617 -static int dma8[43,1681 -static int boot_devs;44,1741 -struct snd_sb8 snd_sb859,2404 -static snd_card_t *snd_sb8_cards[63,2502 -static irqreturn_t snd_sb8_interrupt(65,2570 -static void snd_sb8_free(76,2805 -static int __init snd_sb8_probe(88,3039 -static int __init snd_card_sb8_legacy_auto_probe(174,5190 -static int __init alsa_card_sb8_init(191,5672 -static void __exit alsa_card_sb8_exit(215,6218 -module_init(223,6356 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb16.c,1323 -#define SNDRV_LEGACY_AUTO_PROBE35,1188 -#define SNDRV_LEGACY_FIND_FREE_IRQ36,1220 -#define SNDRV_LEGACY_FIND_FREE_DMA37,1255 -#define PFX 41,1337 -#define PFX 43,1365 -#define SNDRV_DEBUG_IRQ63,1896 -#define SNDRV_SBAWE_EMU800067,2049 -static int index[70,2085 -static char *id[71,2154 -static int enable[72,2227 -static int isapnp[74,2330 -static long port[76,2403 -static long mpu_port[77,2485 -static long fm_port[78,2559 -static long awe_port[80,2641 -static int irq[82,2704 -static int dma8[83,2768 -static int dma16[84,2830 -static int mic_agc[85,2893 -static int csp[87,2987 -static int seq_ports[90,3084 -static int boot_devs;92,3160 -struct snd_card_sb16 snd_card_sb16131,4868 -static snd_card_t *snd_sb16_legacy[142,5090 -static struct pnp_card_device_id snd_sb16_pnpids[146,5179 -#define DRIVER_NAME 244,9487 -#define DRIVER_NAME 246,9530 -static int __devinit snd_card_sb16_pnp(251,9593 -static void snd_sb16_free(343,12574 -static int __init snd_sb16_probe(355,12829 -static int __init snd_sb16_probe_legacy_port(556,18082 -static int __devinit snd_sb16_pnp_detect(579,18502 -static void __devexit snd_sb16_pnp_remove(598,18844 -static struct pnp_card_driver sb16_pnpc_driver 606,19046 -static int __init alsa_card_sb16_init(616,19283 -static void __exit alsa_card_sb16_exit(666,20526 -module_init(678,20763 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sb/sb_mixer.c,4895 -void snd_sbmixer_write(32,1035 -unsigned char snd_sbmixer_read(43,1285 -static int snd_sbmixer_info_single(61,1606 -static int snd_sbmixer_get_single(72,1935 -static int snd_sbmixer_put_single(88,2463 -static int snd_sbmixer_info_double(113,3167 -static int snd_sbmixer_get_double(124,3496 -static int snd_sbmixer_put_double(144,4278 -static int snd_dt019x_input_sw_info(184,5650 -static int snd_dt019x_input_sw_get(199,6083 -static int snd_dt019x_input_sw_put(235,7098 -static int snd_sb8mixer_info_mux(276,7974 -static int snd_sb8mixer_get_mux(292,8386 -static int snd_sb8mixer_put_mux(315,8972 -static int snd_sb16mixer_info_input_sw(349,9729 -static int snd_sb16mixer_get_input_sw(358,9965 -static int snd_sb16mixer_put_input_sw(379,10924 -int snd_sbmixer_add_ctl(413,12061 -static struct sbmix_elem snd_sb20_ctl_master_play_vol 467,13441 -static struct sbmix_elem snd_sb20_ctl_pcm_play_vol 469,13562 -static struct sbmix_elem snd_sb20_ctl_synth_play_vol 471,13674 -static struct sbmix_elem snd_sb20_ctl_cd_play_vol 473,13789 -static struct sbmix_elem *snd_sb20_controls[476,13899 -static unsigned char snd_sb20_init_values[483,14072 -static struct sbmix_elem snd_sbpro_ctl_master_play_vol 491,14222 -static struct sbmix_elem snd_sbpro_ctl_pcm_play_vol 493,14364 -static struct sbmix_elem snd_sbpro_ctl_pcm_play_filter 495,14494 -static struct sbmix_elem snd_sbpro_ctl_synth_play_vol 497,14614 -static struct sbmix_elem snd_sbpro_ctl_cd_play_vol 499,14746 -static struct sbmix_elem snd_sbpro_ctl_line_play_vol 501,14872 -static struct sbmix_elem snd_sbpro_ctl_mic_play_vol 503,15006 -static struct sbmix_elem snd_sbpro_ctl_capture_source 505,15117 -static struct sbmix_elem snd_sbpro_ctl_capture_filter 510,15237 -static struct sbmix_elem snd_sbpro_ctl_capture_low_filter 512,15350 -static struct sbmix_elem *snd_sbpro_controls[515,15477 -static unsigned char snd_sbpro_init_values[528,15849 -static struct sbmix_elem snd_sb16_ctl_master_play_vol 537,16018 -static struct sbmix_elem snd_sb16_ctl_3d_enhance_switch 539,16168 -static struct sbmix_elem snd_sb16_ctl_tone_bass 541,16283 -static struct sbmix_elem snd_sb16_ctl_tone_treble 543,16420 -static struct sbmix_elem snd_sb16_ctl_pcm_play_vol 545,16565 -static struct sbmix_elem snd_sb16_ctl_synth_capture_route 547,16703 -static struct sbmix_elem snd_sb16_ctl_synth_play_vol 549,16849 -static struct sbmix_elem snd_sb16_ctl_cd_capture_route 551,16995 -static struct sbmix_elem snd_sb16_ctl_cd_play_switch 553,17135 -static struct sbmix_elem snd_sb16_ctl_cd_play_vol 555,17271 -static struct sbmix_elem snd_sb16_ctl_line_capture_route 557,17405 -static struct sbmix_elem snd_sb16_ctl_line_play_switch 559,17549 -static struct sbmix_elem snd_sb16_ctl_line_play_vol 561,17689 -static struct sbmix_elem snd_sb16_ctl_mic_capture_route 563,17831 -static struct sbmix_elem snd_sb16_ctl_mic_play_switch 565,17973 -static struct sbmix_elem snd_sb16_ctl_mic_play_vol 567,18089 -static struct sbmix_elem snd_sb16_ctl_pc_speaker_vol 569,18201 -static struct sbmix_elem snd_sb16_ctl_capture_vol 571,18316 -static struct sbmix_elem snd_sb16_ctl_play_vol 573,18451 -static struct sbmix_elem snd_sb16_ctl_auto_mic_gain 575,18584 -static struct sbmix_elem *snd_sb16_controls[578,18691 -static unsigned char snd_sb16_init_values[601,19359 -static struct sbmix_elem snd_dt019x_ctl_master_play_vol 617,19752 -static struct sbmix_elem snd_dt019x_ctl_pcm_play_vol 619,19901 -static struct sbmix_elem snd_dt019x_ctl_synth_play_vol 621,20038 -static struct sbmix_elem snd_dt019x_ctl_cd_play_vol 623,20183 -static struct sbmix_elem snd_dt019x_ctl_mic_play_vol 625,20316 -static struct sbmix_elem snd_dt019x_ctl_pc_speaker_vol 627,20431 -static struct sbmix_elem snd_dt019x_ctl_line_play_vol 629,20548 -static struct sbmix_elem snd_dt019x_ctl_pcm_play_switch 631,20689 -static struct sbmix_elem snd_dt019x_ctl_synth_play_switch 633,20834 -static struct sbmix_elem snd_dt019x_ctl_capture_source 635,20983 -static struct sbmix_elem *snd_dt019x_controls[641,21108 -static unsigned char snd_dt019x_init_values[657,21586 -static struct sbmix_elem snd_als4000_ctl_mono_output_switch 673,22110 -static struct sbmix_elem snd_als4000_ctl_mono_input_switch 676,22295 -static struct sbmix_elem snd_als4000_ctl_mic_20db_boost 678,22417 -static struct sbmix_elem snd_als4000_ctl_mixer_out_to_in 680,22541 -static struct sbmix_elem snd_als4000_ctl_3d_output_switch 683,22741 -static struct sbmix_elem snd_als4000_ctl_3d_output_ratio 685,22864 -static struct sbmix_elem snd_als4000_ctl_3d_poweroff_switch 687,22985 -static struct sbmix_elem snd_als4000_ctl_3d_delay 689,23116 -static struct sbmix_elem snd_als4000_ctl_fmdac 692,23245 -static struct sbmix_elem snd_als4000_ctl_qsound 694,23360 -static struct sbmix_elem *snd_als4000_controls[698,23473 -static unsigned char snd_als4000_init_values[732,24484 -static int snd_sbmixer_init(750,24909 -int snd_sbmixer_new(782,25753 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sscape.c,4497 -static int index[44,1428 -static int index[SNDRV_CARDS] __devinitdata 44,1428 -static char* id[45,1493 -static char* id[SNDRV_CARDS] __devinitdata 45,1493 -static long port[46,1557 -static long port[SNDRV_CARDS] __devinitdata 46,1557 -static int irq[47,1650 -static int irq[SNDRV_CARDS] __devinitdata 47,1650 -static int mpu_irq[48,1713 -static int mpu_irq[SNDRV_CARDS] __devinitdata 48,1713 -static int dma[49,1780 -static int dma[SNDRV_CARDS] __devinitdata 49,1780 -static int boot_devs;50,1843 -static struct pnp_card_device_id sscape_pnpids[71,2539 -static snd_card_t *sscape_card[79,2723 -#define MPU401_IO(MPU401_IO82,2770 -#define MIDI_DATA_IO(MIDI_DATA_IO83,2805 -#define MIDI_CTRL_IO(MIDI_CTRL_IO84,2840 -#define HOST_CTRL_IO(HOST_CTRL_IO85,2875 -#define HOST_DATA_IO(HOST_DATA_IO86,2910 -#define ODIE_ADDR_IO(ODIE_ADDR_IO87,2945 -#define ODIE_DATA_IO(ODIE_DATA_IO88,2980 -#define CODEC_IO(CODEC_IO89,3015 -#define IC_ODIE 91,3051 -#define IC_OPUS 92,3070 -#define RX_READY 94,3090 -#define TX_READY 95,3112 -#define CMD_ACK 97,3135 -#define CMD_SET_MIDI_VOL 98,3166 -#define CMD_GET_MIDI_VOL 99,3197 -#define CMD_XXX_MIDI_VOL 100,3228 -#define CMD_SET_EXTMIDI 101,3259 -#define CMD_GET_EXTMIDI 102,3290 -#define CMD_SET_MT32 103,3321 -#define CMD_GET_MT32 104,3352 -enum GA_REG GA_REG106,3384 - GA_INTSTAT_REG 107,3398 - GA_INTENA_REG,108,3419 - GA_DMAA_REG,109,3435 - GA_DMAB_REG,110,3449 - GA_INTCFG_REG,111,3463 - GA_DMACFG_REG,112,3479 - GA_CDCFG_REG,113,3495 - GA_SMCFGA_REG,114,3510 - GA_SMCFGB_REG,115,3526 - GA_HMCTL_REG116,3542 -#define DMA_8BIT 119,3560 -#define AD1845_FREQ_SEL_MSB 122,3585 -#define AD1845_FREQ_SEL_LSB 123,3621 -struct soundscape soundscape125,3658 -#define INVALID_IRQ 145,4030 -static inline struct soundscape *get_card_soundscape(148,4068 -static inline struct soundscape *get_mpu401_soundscape(153,4191 -static inline struct soundscape *get_hwdep_soundscape(158,4318 -static struct snd_dma_buffer *get_dmabuf(169,4602 -static void free_dmabuf(185,4974 -static inline void sscape_write_unsafe(197,5262 -static void sscape_write(207,5521 -static inline unsigned char sscape_read_unsafe(220,5892 -static inline void set_host_mode_unsafe(229,6125 -static inline void set_midi_mode_unsafe(237,6298 -static inline int host_read_unsafe(246,6506 -static int host_read_ctrl_unsafe(261,6876 -static inline int host_write_unsafe(277,7205 -static int host_write_ctrl_unsafe(292,7594 -static inline int verify_mpu401(312,8059 -static inline void initialise_mpu401(320,8246 -static inline void activate_ad1845_unsafe(330,8510 -static void soundscape_free(339,8805 -static inline void sleep(354,9323 -static inline void sscape_start_dma_unsafe(364,9553 -static int sscape_wait_dma_unsafe(374,9918 -static int obp_startup_ack(391,10447 -static int host_startup_ack(418,11073 -static int upload_dma_data(441,11507 -static int sscape_upload_bootblock(556,14650 -static int sscape_upload_microcode(590,15542 -static int sscape_hw_open(631,16817 -static int sscape_hw_release(650,17210 -static int sscape_hw_ioctl(661,17496 -static int sscape_midi_info(710,18694 -static int sscape_midi_get(720,18944 -static int sscape_midi_put(740,19517 -static snd_kcontrol_new_t midi_mixer_ctl 781,20814 -static unsigned __devinit get_irq_config(794,21164 -static int __devinit detect_sscape(812,21540 -static int mpu401_open(867,22808 -static void mpu401_close(893,23330 -static int __devinit create_mpu401(906,23660 -#define MPU401_SHARE_HARDWARE 912,23849 -static void ad1845_playback_format(937,24550 -static void ad1845_capture_format(973,25614 -static int __devinit create_ad1845(1011,26784 -#define CS4231_SHARE_HARDWARE 1017,26967 -#define AD1845_FREQ_SEL_ENABLE 1029,27332 -#define AD1845_PWR_DOWN_CTRL 1031,27370 -#define AD1845_CRYS_CLOCK_SEL 1032,27406 -struct paramsparams1098,29510 -init_params(1110,29640 -static int __devinit create_sscape(1133,30106 -#define MIDI_DEVNUM 1254,34029 -static int sscape_cards __devinitdata;1304,35197 -static struct params sscape_params[1305,35236 -static struct params sscape_params[SNDRV_CARDS] __devinitdata;1305,35236 -static inline int __devinit get_next_autoindex(1308,35318 -static inline int __devinit is_port_known(1318,35473 -static int __devinit sscape_pnp_detect(1328,35663 -static void __devexit sscape_pnp_remove(1409,37755 -static struct pnp_card_driver sscape_pnpc_driver 1418,37999 -static int __init sscape_manual_probe(1428,38240 -static void sscape_exit(1473,39176 -static int __init sscape_init(1486,39396 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/azt2320.c,1008 -#define PFX 46,1621 -static int index[57,1948 -static char *id[58,2017 -static int enable[59,2090 -static long port[60,2175 -static long wss_port[61,2243 -static long mpu_port[62,2315 -static long fm_port[63,2387 -static int irq[64,2458 -static int mpu_irq[65,2523 -static int dma1[66,2592 -static int dma2[67,2658 -static int boot_devs;68,2724 -struct snd_card_azt2320 snd_card_azt232093,3963 -static struct pnp_card_device_id snd_azt2320_pnpids[99,4053 -#define DRIVER_NAME 117,4701 -static int __devinit snd_card_azt2320_pnp(119,4741 -static int __devinit snd_card_azt2320_command(199,7302 -static int __devinit snd_card_azt2320_enable_wss(213,7602 -static int __devinit snd_card_azt2320_probe(226,7851 -static int __devinit snd_azt2320_pnp_detect(313,10119 -static void __devexit snd_azt2320_pnp_remove(331,10465 -static struct pnp_card_driver azt2320_pnpc_driver 339,10670 -static int __init alsa_card_azt2320_init(347,10939 -static void __exit alsa_card_azt2320_exit(361,11248 -module_init(366,11352 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/opti9xx/opti92x-ad1848.c,7408 -#define SNDRV_LEGACY_FIND_FREE_IRQ50,1549 -#define SNDRV_LEGACY_FIND_FREE_DMA51,1584 -static int index 72,2182 -static char *id 73,2239 -static int isapnp 75,2369 -static long port 76,2425 -static long mpu_port 77,2496 -static long fm_port 78,2570 -static int irq 79,2625 -static int mpu_irq 80,2681 -static int dma1 81,2737 -static int dma2 83,2828 -#define OPTi9XX_HW_DETECT 111,4032 -#define OPTi9XX_HW_82C928 112,4060 -#define OPTi9XX_HW_82C929 113,4088 -#define OPTi9XX_HW_82C924 114,4116 -#define OPTi9XX_HW_82C925 115,4144 -#define OPTi9XX_HW_82C930 116,4172 -#define OPTi9XX_HW_82C931 117,4200 -#define OPTi9XX_HW_82C933 118,4228 -#define OPTi9XX_HW_LAST 119,4256 -#define OPTi9XX_MC_REG(OPTi9XX_MC_REG121,4300 -typedef struct _snd_opti9xx opti9xx_t;opti9xx_t123,4329 -#define OPTi93X_INDEX 127,4385 -#define OPTi93X_DATA 128,4414 -#define OPTi93X_STATUS 129,4442 -#define OPTi93X_DDATA 130,4472 -#define OPTi93X_PORT(OPTi93X_PORT131,4501 -#define OPTi93X_MIXOUT_LEFT 133,4562 -#define OPTi93X_MIXOUT_RIGHT 134,4596 -#define OPTi93X_CD_LEFT_INPUT 135,4631 -#define OPTi93X_CD_RIGHT_INPUT 136,4667 -#define OPTi930_AUX_LEFT_INPUT 137,4704 -#define OPTi930_AUX_RIGHT_INPUT 138,4741 -#define OPTi931_FM_LEFT_INPUT 139,4779 -#define OPTi931_FM_RIGHT_INPUT 140,4815 -#define OPTi93X_DAC_LEFT 141,4852 -#define OPTi93X_DAC_RIGHT 142,4883 -#define OPTi93X_PLAY_FORMAT 143,4915 -#define OPTi93X_IFACE_CONF 144,4949 -#define OPTi93X_PIN_CTRL 145,4982 -#define OPTi93X_ERR_INIT 146,5013 -#define OPTi93X_ID 147,5044 -#define OPTi93X_PLAY_UPR_CNT 148,5070 -#define OPTi93X_PLAY_LWR_CNT 149,5105 -#define OPTi931_AUX_LEFT_INPUT 150,5140 -#define OPTi931_AUX_RIGHT_INPUT 151,5177 -#define OPTi93X_LINE_LEFT_INPUT 152,5215 -#define OPTi93X_LINE_RIGHT_INPUT 153,5253 -#define OPTi93X_MIC_LEFT_INPUT 154,5291 -#define OPTi93X_MIC_RIGHT_INPUT 155,5328 -#define OPTi93X_OUT_LEFT 156,5366 -#define OPTi93X_OUT_RIGHT 157,5397 -#define OPTi93X_CAPT_FORMAT 158,5429 -#define OPTi93X_CAPT_UPR_CNT 159,5463 -#define OPTi93X_CAPT_LWR_CNT 160,5498 -#define OPTi93X_TRD 162,5534 -#define OPTi93X_MCE 163,5561 -#define OPTi93X_INIT 164,5588 -#define OPTi93X_MIXOUT_MIC_GAIN 166,5617 -#define OPTi93X_MIXOUT_LINE 167,5655 -#define OPTi93X_MIXOUT_CD 168,5689 -#define OPTi93X_MIXOUT_MIC 169,5721 -#define OPTi93X_MIXOUT_MIXER 170,5754 -#define OPTi93X_STEREO 172,5790 -#define OPTi93X_LINEAR_8 173,5820 -#define OPTi93X_ULAW_8 174,5851 -#define OPTi93X_LINEAR_16_LIT 175,5881 -#define OPTi93X_ALAW_8 176,5917 -#define OPTi93X_ADPCM_16 177,5947 -#define OPTi93X_LINEAR_16_BIG 178,5978 -#define OPTi93X_CAPTURE_PIO 180,6015 -#define OPTi93X_PLAYBACK_PIO 181,6049 -#define OPTi93X_AUTOCALIB 182,6084 -#define OPTi93X_SINGLE_DMA 183,6116 -#define OPTi93X_CAPTURE_ENABLE 184,6149 -#define OPTi93X_PLAYBACK_ENABLE 185,6186 -#define OPTi93X_IRQ_ENABLE 187,6225 -#define OPTi93X_DMA_REQUEST 189,6259 -#define OPTi93X_CALIB_IN_PROGRESS 190,6293 -#define OPTi93X_IRQ_PLAYBACK 192,6333 -#define OPTi93X_IRQ_CAPTURE 193,6368 -typedef struct _snd_opti93x opti93x_t;opti93x_t196,6404 -struct _snd_opti93x _snd_opti93x198,6444 -#define OPTi93X_MODE_NONE 223,6871 -#define OPTi93X_MODE_PLAY 224,6902 -#define OPTi93X_MODE_CAPTURE 225,6933 -#define OPTi93X_MODE_OPEN 226,6967 -struct _snd_opti9xx _snd_opti9xx230,7059 -static int snd_opti9xx_first_hit 263,7603 -static snd_card_t *snd_opti9xx_legacy 264,7641 -static struct pnp_card_device_id snd_opti9xx_pnpids[268,7721 -#define DRIVER_NAME 286,8252 -#define DRIVER_NAME 288,8297 -static char * snd_opti9xx_names[291,8358 -static long snd_legacy_find_free_ioport(299,8484 -static int __devinit snd_opti9xx_init(313,8790 -static unsigned char snd_opti9xx_read(368,10012 -static void snd_opti9xx_write(411,10987 -#define snd_opti9xx_write_mask(snd_opti9xx_write_mask453,11925 -static int __devinit snd_opti9xx_configure(458,12082 -static unsigned char snd_opti93x_default_image[652,16282 -static int snd_opti93x_busy_wait(689,17474 -static unsigned char snd_opti93x_in(701,17713 -static void snd_opti93x_out(708,17923 -static void snd_opti93x_out_image(716,18154 -static void snd_opti93x_out_mask(722,18311 -static void snd_opti93x_mce_up(730,18514 -static void snd_opti93x_mce_down(739,18732 -#define snd_opti93x_mute_reg(snd_opti93x_mute_reg748,18939 -static void snd_opti93x_mute(751,19049 -static unsigned int snd_opti93x_get_count(784,20236 -static unsigned int rates[798,20541 -#define RATES 801,20682 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 803,20715 -static unsigned char bits[809,20825 -static unsigned char snd_opti93x_get_freq(813,20965 -static unsigned char snd_opti93x_get_format(825,21161 -static void snd_opti93x_playback_format(850,21742 -static void snd_opti93x_capture_format(864,22079 -static int snd_opti93x_open(880,22487 -static void snd_opti93x_close(904,22998 -static int snd_opti93x_trigger(931,23615 -static int snd_opti93x_playback_trigger(969,24605 -static int snd_opti93x_capture_trigger(975,24768 -static int snd_opti93x_hw_params(981,24930 -static int snd_opti93x_hw_free(988,25117 -static int snd_opti93x_playback_prepare(995,25234 -static int snd_opti93x_capture_prepare(1028,26334 -static snd_pcm_uframes_t snd_opti93x_playback_pointer(1061,27441 -static snd_pcm_uframes_t snd_opti93x_capture_pointer(1073,27784 -static void snd_opti93x_overrange(1086,28127 -irqreturn_t snd_opti93x_interrupt(1098,28403 -static snd_pcm_hardware_t snd_opti93x_playback 1115,28938 -static snd_pcm_hardware_t snd_opti93x_capture 1133,29585 -static int snd_opti93x_playback_open(1151,30209 -static int snd_opti93x_capture_open(1167,30760 -static int snd_opti93x_playback_close(1183,31311 -static int snd_opti93x_capture_close(1192,31531 -static void snd_opti93x_init(1202,31753 -static int snd_opti93x_probe(1217,32068 -static int snd_opti93x_free(1229,32333 -static int snd_opti93x_dev_free(1250,32715 -static const char *snd_opti93x_chip_id(1256,32846 -int snd_opti93x_create(1266,33090 -static snd_pcm_ops_t snd_opti93x_playback_ops 1333,34721 -static snd_pcm_ops_t snd_opti93x_capture_ops 1344,35075 -static void snd_opti93x_pcm_free(1355,35423 -int snd_opti93x_pcm(1362,35580 -static int snd_opti93x_info_mux(1393,36351 -static int snd_opti93x_get_mux(1408,36770 -static int snd_opti93x_put_mux(1420,37239 -#define OPTi93X_SINGLE(OPTi93X_SINGLE1445,38143 -static int snd_opti93x_info_single(1451,38458 -static int snd_opti93x_get_single(1462,38787 -static int snd_opti93x_put_single(1479,39418 -#define OPTi93X_DOUBLE(OPTi93X_DOUBLE1504,40166 -#define OPTi93X_DOUBLE_INVERT_INVERT(OPTi93X_DOUBLE_INVERT_INVERT1510,40567 -#define OPTi93X_DOUBLE_CHANGE_REGS(OPTi93X_DOUBLE_CHANGE_REGS1512,40656 -static int snd_opti93x_info_double(1516,40833 -static int snd_opti93x_get_double(1527,41162 -static int snd_opti93x_put_double(1549,42093 -static snd_kcontrol_new_t snd_opti93x_controls[1580,43233 -int snd_opti93x_mixer(1606,45073 -static int __devinit snd_card_opti9xx_detect(1641,46097 -static int __devinit snd_card_opti9xx_pnp(1697,47673 -static int __devinit snd_card_opti9xx_resources(1790,50408 -static void snd_card_opti9xx_free(1886,53115 -static int __devinit snd_card_opti9xx_probe(1898,53357 -static void __devexit snd_opti9xx_pnp_remove(2173,60534 -static struct pnp_card_driver opti9xx_pnpc_driver 2182,60767 -static int __init alsa_card_opti9xx_init(2191,61005 -static void __exit alsa_card_opti9xx_exit(2216,61528 -module_init(2225,61719 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/opti9xx/opti93x.c,20 -#define OPTi93X1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/opti9xx/opti92x-cs4231.c,19 -#define CS42311,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/dt019x.c,821 -#define PFX 36,1288 -static int index[44,1564 -static char *id[45,1633 -static int enable[46,1706 -static long port[47,1784 -static long mpu_port[48,1852 -static long fm_port[49,1924 -static int irq[50,1995 -static int mpu_irq[51,2060 -static int dma8[52,2129 -static int boot_devs;53,2195 -struct snd_card_dt019x snd_card_dt019x74,3210 -static struct pnp_card_device_id snd_dt019x_pnpids[80,3311 -#define DRIVER_NAME 91,3640 -static int __devinit snd_card_dt019x_pnp(94,3680 -static int __devinit snd_card_dt019x_probe(189,6716 -static int __devinit snd_dt019x_pnp_probe(274,8914 -static void __devexit snd_dt019x_pnp_remove(292,9250 -static struct pnp_card_driver dt019x_pnpc_driver 299,9453 -static int __init alsa_card_dt019x_init(307,9716 -static void __exit alsa_card_dt019x_exit(322,10033 -module_init(327,10135 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/wavefront/wavefront_synth.c,2094 -int wf_raw 35,1098 -int fx_raw 41,1327 -int debug_default 48,1600 -char *ospath 56,1870 -int wait_usecs 60,1990 -int sleep_interval 73,2516 -int sleep_tries 74,2586 -int reset_time 76,2656 -int ramcheck_time 80,2780 -int osrun_time 84,2889 -#define WF_DEBUG 114,4343 -#define DPRINT(DPRINT119,4428 -#define DPRINT(DPRINT124,4553 -#define DPRINT(DPRINT130,4682 -#define LOGNAME 133,4735 -#define STAT_RINTR_ENABLED 137,4814 -#define STAT_CAN_READ 138,4846 -#define STAT_INTR_READ 139,4874 -#define STAT_WINTR_ENABLED 140,4903 -#define STAT_CAN_WRITE 141,4935 -#define STAT_INTR_WRITE 142,4964 -} wavefront_command;wavefront_command153,5230 -} wavefront_errors[158,5301 -#define NEEDS_ACK 171,5664 -static wavefront_command wavefront_commands[173,5685 -wavefront_errorstr 238,8876 -wavefront_get_command 253,9124 -wavefront_status 268,9359 -wavefront_sleep 275,9449 -wavefront_wait 285,9594 -wavefront_read 316,10094 -wavefront_write 328,10280 -snd_wavefront_cmd 342,10499 -munge_int32 536,15172 -demunge_int32 553,15529 -munge_buf 568,15726 -demunge_buf 583,15979 -wavefront_delete_sample 606,16498 -wavefront_get_sample_status 623,16807 -wavefront_get_patch_status 691,18181 -wavefront_get_program_status 739,19224 -wavefront_send_patch 786,20175 -wavefront_send_program 810,20737 -wavefront_freemem 848,21683 -wavefront_send_sample 862,21929 -wavefront_send_alias 1166,29515 -wavefront_send_multisample 1200,30637 -wavefront_fetch_multisample 1246,31971 -wavefront_send_drum 1300,33132 -wavefront_find_free_sample 1326,33724 -wavefront_find_free_patch 1342,33970 -wavefront_load_patch 1358,34212 -process_sample_hdr 1438,36174 -wavefront_synth_control 1470,37146 -snd_wavefront_synth_open 1598,40049 -snd_wavefront_synth_release 1608,40217 -snd_wavefront_synth_ioctl 1616,40334 -snd_wavefront_internal_interrupt 1665,41393 -snd_wavefront_interrupt_bits 1713,42934 -wavefront_should_cause_interrupt 1741,43243 -wavefront_reset_to_cleanliness 1762,43680 -wavefront_download_firmware 1921,47859 -wavefront_do_reset 2022,50037 -snd_wavefront_start 2111,51887 -snd_wavefront_detect 2153,52745 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/wavefront/wavefront_fx.c,1796 -#define FX_LSB_TRANSFER 31,1043 -#define FX_MSB_TRANSFER 32,1117 -#define FX_AUTO_INCR 33,1191 -unsigned char page_zero[37,1334 -unsigned char page_zero[] __initdata 37,1334 -unsigned char page_one[64,2914 -unsigned char page_one[] __initdata 64,2914 -unsigned char page_two[91,4493 -unsigned char page_two[] __initdata 91,4493 -unsigned char page_three[106,5304 -unsigned char page_three[] __initdata 106,5304 -unsigned char page_four[121,6117 -unsigned char page_four[] __initdata 121,6117 -unsigned char page_six[136,6929 -unsigned char page_six[] __initdata 136,6929 -unsigned char page_seven[157,8124 -unsigned char page_seven[] __initdata 157,8124 -unsigned char page_zero_v2[184,9705 -unsigned char page_zero_v2[] __initdata 184,9705 -unsigned char page_one_v2[196,10328 -unsigned char page_one_v2[] __initdata 196,10328 -unsigned char page_two_v2[208,10950 -unsigned char page_two_v2[] __initdata 208,10950 -unsigned char page_three_v2[215,11283 -unsigned char page_three_v2[] __initdata 215,11283 -unsigned char page_four_v2[222,11618 -unsigned char page_four_v2[] __initdata 222,11618 -unsigned char page_seven_v2[230,11953 -unsigned char page_seven_v2[] __initdata 230,11953 -unsigned char mod_v2[242,12577 -unsigned char mod_v2[] __initdata 242,12577 -unsigned char coefficients[272,14441 -unsigned char coefficients[] __initdata 272,14441 -unsigned char coefficients2[308,16671 -unsigned char coefficients2[] __initdata 308,16671 -unsigned char coefficients3[315,17054 -unsigned char coefficients3[] __initdata 315,17054 -wavefront_fx_idle 356,19537 -wavefront_fx_mute 378,19818 -wavefront_fx_memset 389,19974 -snd_wavefront_fx_detect 445,21117 -snd_wavefront_fx_open 463,21501 -snd_wavefront_fx_release 473,21666 -snd_wavefront_fx_ioctl 481,21780 -snd_wavefront_fx_start 568,23938 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/wavefront/wavefront.c,1234 -static int index[38,1380 -static char *id[39,1453 -static int enable[40,1530 -static int isapnp[41,1612 -static long cs4232_pcm_port[42,1678 -static int cs4232_pcm_irq[43,1757 -static long cs4232_mpu_port[44,1838 -static int cs4232_mpu_irq[45,1917 -static long ics2115_port[46,1994 -static int ics2115_irq[47,2070 -static long fm_port[48,2149 -static int dma1[49,2224 -static int dma2[50,2296 -static int use_cs4232_midi[51,2368 -static int boot_devs;52,2444 -static snd_card_t *snd_wavefront_legacy[85,4171 -static struct pnp_card_device_id snd_wavefront_pnpids[89,4265 -snd_wavefront_pnp 100,4635 -static irqreturn_t snd_wavefront_ics2115_interrupt(264,9389 -snd_wavefront_new_synth 284,9812 -snd_wavefront_new_fx 310,10460 -static snd_wavefront_mpu_id internal_id 333,11073 -static snd_wavefront_mpu_id external_id 334,11129 -snd_wavefront_new_midi 337,11212 -snd_wavefront_free(378,12252 -snd_wavefront_probe 393,12631 -static int __devinit snd_wavefront_pnp_detect(639,18930 -static void __devexit snd_wavefront_pnp_remove(658,19469 -static struct pnp_card_driver wavefront_pnpc_driver 666,19676 -static int __init alsa_card_wavefront_init(676,19942 -static void __exit alsa_card_wavefront_exit(705,20517 -module_init(716,20746 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/wavefront/wavefront_midi.c,837 -wf_mpu_status 59,2419 -input_avail 66,2524 -output_ready 73,2635 -read_data 80,2749 -write_data 87,2849 -get_wavefront_midi 94,2980 -static void snd_wavefront_midi_output_write(116,3364 -static int snd_wavefront_midi_input_open(233,6545 -static int snd_wavefront_midi_output_open(255,7171 -static int snd_wavefront_midi_input_close(277,7800 -static int snd_wavefront_midi_output_close(298,8387 -static void snd_wavefront_midi_input_trigger(318,8975 -static void snd_wavefront_midi_output_timer(345,9635 -static void snd_wavefront_midi_output_trigger(358,10036 -snd_wavefront_midi_interrupt 399,11162 -snd_wavefront_midi_enable_virtual 456,12506 -snd_wavefront_midi_disable_virtual 469,12860 -snd_wavefront_midi_start 482,13259 -snd_rawmidi_ops_t snd_wavefront_midi_output 561,15338 -snd_rawmidi_ops_t snd_wavefront_midi_input 568,15522 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/sgalaxy.c,981 -#define SNDRV_LEGACY_FIND_FREE_IRQ35,1286 -#define SNDRV_LEGACY_FIND_FREE_DMA36,1321 -static int index[44,1576 -static char *id[45,1645 -static int enable[46,1718 -static long sbport[47,1796 -static long wssport[48,1868 -static int irq[49,1953 -static int dma1[50,2018 -static int boot_devs;51,2080 -#define SGALAXY_AUXC_LEFT 66,2776 -#define SGALAXY_AUXC_RIGHT 67,2805 -static snd_card_t *snd_sgalaxy_cards[69,2836 -#define AD1848P1(AD1848P175,2917 -static int snd_sgalaxy_sbdsp_reset(80,3086 -static int __init snd_sgalaxy_sbdsp_command(96,3433 -static irqreturn_t snd_sgalaxy_dummy_interrupt(109,3674 -static int __init snd_sgalaxy_setup_wss(114,3789 -static int __init snd_sgalaxy_detect(161,4914 -static struct ad1848_mix_elem snd_sgalaxy_controls[177,5272 -static int __init snd_sgalaxy_mixer(182,5517 -static int __init snd_sgalaxy_probe(218,6653 -static int __init alsa_card_sgalaxy_init(296,8567 -static void __exit alsa_card_sgalaxy_exit(314,8898 -module_init(322,9044 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/ad1848/ad1848_lib.c,2969 -#define SNDRV_MAIN_OBJECT_FILE22,853 -#define SNDRV_DEBUG_MCE43,1358 -static unsigned char freq_bits[50,1417 -static unsigned int rates[67,1931 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 72,2064 -static unsigned char snd_ad1848_original_image[78,2171 -void snd_ad1848_out(102,2660 -void snd_ad1848_dout(122,3230 -unsigned char snd_ad1848_in(135,3539 -void snd_ad1848_debug(152,3985 -void snd_ad1848_mce_up(180,5414 -void snd_ad1848_mce_down(201,6103 -static unsigned int snd_ad1848_get_count(272,8377 -static int snd_ad1848_trigger(285,8610 -static unsigned char snd_ad1848_get_rate(319,9510 -static int snd_ad1848_ioctl(330,9693 -static unsigned char snd_ad1848_get_format(336,9843 -static void snd_ad1848_calibrate_mute(354,10321 -static void snd_ad1848_set_data_format(378,11414 -static int snd_ad1848_open(390,11853 -static void snd_ad1848_close(444,13374 -static int snd_ad1848_playback_trigger(485,14557 -static int snd_ad1848_capture_trigger(492,14797 -static int snd_ad1848_playback_hw_params(499,15033 -static int snd_ad1848_playback_hw_free(519,15691 -static int snd_ad1848_playback_prepare(524,15811 -static int snd_ad1848_capture_hw_params(543,16644 -static int snd_ad1848_capture_hw_free(563,17300 -static int snd_ad1848_capture_prepare(568,17419 -irqreturn_t snd_ad1848_interrupt(587,18248 -static snd_pcm_uframes_t snd_ad1848_playback_pointer(601,18768 -static snd_pcm_uframes_t snd_ad1848_capture_pointer(612,19105 -static void snd_ad1848_thinkpad_twiddle(627,19448 -static int snd_ad1848_suspend(648,19847 -static int snd_ad1848_resume(665,20220 -static int snd_ad1848_probe(682,20579 -static snd_pcm_hardware_t snd_ad1848_playback 762,22772 -static snd_pcm_hardware_t snd_ad1848_capture 781,23335 -static int snd_ad1848_playback_open(804,23906 -static int snd_ad1848_capture_open(820,24483 -static int snd_ad1848_playback_close(836,25060 -static int snd_ad1848_capture_close(846,25293 -static int snd_ad1848_free(856,25527 -static int snd_ad1848_dev_free(872,25833 -static const char *snd_ad1848_chip_id(878,25961 -int snd_ad1848_create(889,26245 -static snd_pcm_ops_t snd_ad1848_playback_ops 954,27895 -static snd_pcm_ops_t snd_ad1848_capture_ops 965,28258 -static void snd_ad1848_pcm_free(976,28613 -int snd_ad1848_pcm(983,28766 -const snd_pcm_ops_t *snd_ad1848_get_pcm_ops(1009,29473 -static int snd_ad1848_info_mux(1019,29663 -static int snd_ad1848_get_mux(1034,30080 -static int snd_ad1848_put_mux(1046,30541 -static int snd_ad1848_info_single(1069,31408 -static int snd_ad1848_get_single(1080,31736 -static int snd_ad1848_put_single(1097,32373 -static int snd_ad1848_info_double(1120,33105 -static int snd_ad1848_get_double(1131,33433 -static int snd_ad1848_put_double(1153,34370 -int snd_ad1848_add_ctl(1192,35739 -static struct ad1848_mix_elem snd_ad1848_controls[1230,36670 -int snd_ad1848_mixer(1246,37660 -static int __init alsa_ad1848_init(1283,38469 -static void __exit alsa_ad1848_exit(1288,38526 -module_init(1292,38573 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/ad1848/ad1848.c,429 -static int index[40,1473 -static char *id[41,1542 -static int enable[42,1615 -static long port[43,1693 -static int irq[44,1761 -static int dma1[45,1831 -static int thinkpad[46,1899 -static int boot_devs;47,1963 -static snd_card_t *snd_ad1848_cards[64,2764 -static int __init snd_card_ad1848_probe(67,2836 -static int __init alsa_card_ad1848_init(126,4125 -static void __exit alsa_card_ad1848_exit(143,4444 -module_init(151,4588 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_timer.c,528 -static int snd_gf1_timer1_start(33,1043 -static int snd_gf1_timer1_stop(51,1615 -static int snd_gf1_timer2_start(69,2022 -static int snd_gf1_timer2_stop(87,2594 -static void snd_gf1_interrupt_timer1(105,2982 -static void snd_gf1_interrupt_timer2(114,3160 -static struct _snd_timer_hardware snd_gf1_timer1 127,3347 -static struct _snd_timer_hardware snd_gf1_timer2 136,3535 -static void snd_gf1_timer1_free(145,3724 -static void snd_gf1_timer2_free(151,3850 -void snd_gf1_timers_init(157,3976 -void snd_gf1_timers_done(193,4923 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_pcm.c,2185 -#define SNDRV_GF1_PCM_RATE 39,1289 -#define SNDRV_GF1_PCM_PFLG_NONE 41,1324 -#define SNDRV_GF1_PCM_PFLG_ACTIVE 42,1359 -#define SNDRV_GF1_PCM_PFLG_NEUTRAL 43,1400 -} gus_pcm_private_t;gus_pcm_private_t61,1828 -static int snd_gf1_pcm_use_dma 63,1850 -static void snd_gf1_pcm_block_change_ack(65,1887 -static int snd_gf1_pcm_block_change(75,2090 -static void snd_gf1_pcm_trigger_up(104,3045 -static void snd_gf1_pcm_interrupt_wave(182,6246 -static void snd_gf1_pcm_interrupt_volume(264,9147 -static void snd_gf1_pcm_volume_change(292,10030 -static int snd_gf1_pcm_poke_block(296,10095 -static int snd_gf1_pcm_playback_copy(344,11355 -static int snd_gf1_pcm_playback_silence(374,12401 -static int snd_gf1_pcm_playback_hw_params(402,13415 -static int snd_gf1_pcm_playback_hw_free(451,15263 -static int snd_gf1_pcm_playback_prepare(472,15810 -static int snd_gf1_pcm_playback_trigger(484,16180 -static snd_pcm_uframes_t snd_gf1_pcm_playback_pointer(510,16893 -static ratnum_t clock 532,17627 -static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks 539,17725 -static int snd_gf1_pcm_capture_hw_params(544,17825 -static int snd_gf1_pcm_capture_hw_free(562,18484 -static int snd_gf1_pcm_capture_prepare(567,18604 -static int snd_gf1_pcm_capture_trigger(579,19126 -static snd_pcm_uframes_t snd_gf1_pcm_capture_pointer(600,19630 -static void snd_gf1_pcm_interrupt_dma_read(608,19937 -static snd_pcm_hardware_t snd_gf1_pcm_playback 620,20436 -static snd_pcm_hardware_t snd_gf1_pcm_capture 638,20949 -static void snd_gf1_pcm_playback_free(656,21456 -static int snd_gf1_pcm_playback_open(662,21592 -static int snd_gf1_pcm_playback_close(694,22630 -static int snd_gf1_pcm_capture_open(713,23169 -static int snd_gf1_pcm_capture_close(728,23771 -static void snd_gf1_pcm_free(737,24012 -static int snd_gf1_pcm_volume_info(744,24166 -static int snd_gf1_pcm_volume_get(753,24399 -static int snd_gf1_pcm_volume_put(765,24841 -static snd_kcontrol_new_t snd_gf1_pcm_volume_control 807,26436 -static snd_kcontrol_new_t snd_gf1_pcm_volume_control1 816,26664 -static snd_pcm_ops_t snd_gf1_pcm_playback_ops 825,26894 -static snd_pcm_ops_t snd_gf1_pcm_capture_ops 838,27345 -int snd_gf1_pcm_new(849,27709 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_mixer.c,453 -#define GF1_SINGLE(GF1_SINGLE33,1030 -static int snd_gf1_info_single(39,1289 -static int snd_gf1_get_single(48,1516 -static int snd_gf1_put_single(60,1896 -#define ICS_DOUBLE(ICS_DOUBLE83,2601 -static int snd_ics_info_double(89,2834 -static int snd_ics_get_double(98,3063 -static int snd_ics_put_double(114,3578 -static snd_kcontrol_new_t snd_gf1_controls[149,4754 -static snd_kcontrol_new_t snd_ics_controls[155,4924 -int snd_gf1_new_mixer(166,5387 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_irq.c,192 -#define STAT_ADD(STAT_ADD28,979 -#define STAT_ADD(STAT_ADD30,1013 -irqreturn_t snd_gus_interrupt(33,1057 -static void snd_gus_irq_info_read(110,3344 -void snd_gus_irq_profile_init(134,4263 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gusmax.c,1012 -#define SNDRV_LEGACY_AUTO_PROBE31,1075 -#define SNDRV_LEGACY_FIND_FREE_IRQ32,1107 -#define SNDRV_LEGACY_FIND_FREE_DMA33,1142 -static int index[41,1378 -static char *id[42,1447 -static int enable[43,1520 -static long port[44,1598 -static int irq[45,1686 -static int dma1[46,1758 -static int dma2[47,1824 -static int joystick_dac[48,1890 -static int channels[50,2012 -static int pcm_channels[51,2081 -static int boot_devs;52,2153 -struct snd_gusmax snd_gusmax75,3319 -static snd_card_t *snd_gusmax_cards[84,3477 -static int __init snd_gusmax_detect(87,3549 -static irqreturn_t snd_gusmax_interrupt(122,4401 -static void __init snd_gusmax_init(144,4934 -#define CS4231_PRIVATE(CS4231_PRIVATE159,5376 -static int __init snd_gusmax_mixer(162,5478 -static void snd_gusmax_free(211,6996 -static int __init snd_gusmax_probe(221,7219 -static int __init snd_gusmax_legacy_auto_probe(351,10514 -static int __init alsa_card_gusmax_init(368,10850 -static void __exit alsa_card_gusmax_exit(392,11408 -module_init(400,11552 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_mem.c,432 -void snd_gf1_mem_lock(33,1105 -snd_gf1_mem_block_t *snd_gf1_mem_xalloc(42,1248 -int snd_gf1_mem_xfree(78,2098 -snd_gf1_mem_block_t *snd_gf1_mem_look(109,2769 -snd_gf1_mem_block_t *snd_gf1_mem_share(122,3024 -static int snd_gf1_mem_find(136,3390 -snd_gf1_mem_block_t *snd_gf1_mem_alloc(189,4850 -int snd_gf1_mem_free(223,5781 -int snd_gf1_mem_init(238,6123 -int snd_gf1_mem_done(275,7103 -static void snd_gf1_mem_info_read(291,7398 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/interwave-stb.c,22 -#define SNDRV_STB1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_volume.c,362 -#define __GUS_TABLES_ALLOC__25,901 -unsigned short snd_gf1_lvol_to_gvol_raw(30,1023 -unsigned int snd_gf1_gvol_to_lvol_raw(58,1423 -unsigned int snd_gf1_calc_ramp_rate(73,1700 -unsigned short snd_gf1_translate_freq(111,2457 -short snd_gf1_compute_vibrato(123,2802 -unsigned short snd_gf1_compute_pitchbend(155,4122 -unsigned short snd_gf1_compute_freq(186,5042 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gusclassic.c,817 -#define SNDRV_LEGACY_AUTO_PROBE30,1053 -#define SNDRV_LEGACY_FIND_FREE_IRQ31,1085 -#define SNDRV_LEGACY_FIND_FREE_DMA32,1120 -static int index[40,1364 -static char *id[41,1433 -static int enable[42,1506 -static long port[43,1584 -static int irq[44,1672 -static int dma1[45,1742 -static int dma2[46,1808 -static int joystick_dac[47,1874 -static int channels[49,1996 -static int pcm_channels[50,2065 -static int boot_devs;51,2137 -static snd_card_t *snd_gusclassic_cards[74,3338 -static int __init snd_gusclassic_detect(77,3414 -static void __init snd_gusclassic_init(113,4271 -static int __init snd_gusclassic_probe(121,4449 -static int __init snd_gusclassic_legacy_auto_probe(211,6761 -static int __init alsa_card_gusclassic_init(228,7105 -static void __exit alsa_card_gusclassic_exit(252,7675 -module_init(260,7828 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_io.c,1437 -void snd_gf1_delay(28,980 -static inline void __snd_gf1_ctrl_stop(47,1309 -static inline void __snd_gf1_write8(61,1612 -static inline unsigned char __snd_gf1_look8(71,1810 -static inline void __snd_gf1_write16(79,1982 -static inline unsigned short __snd_gf1_look16(88,2191 -static inline void __snd_gf1_adlib_write(96,2368 -static inline void __snd_gf1_write_addr(107,2674 -static inline unsigned int __snd_gf1_read_addr(120,3231 -void snd_gf1_ctrl_stop(141,3889 -void snd_gf1_write8(146,3990 -unsigned char snd_gf1_look8(153,4123 -void snd_gf1_write16(158,4232 -unsigned short snd_gf1_look16(165,4368 -void snd_gf1_adlib_write(170,4480 -void snd_gf1_write_addr(177,4661 -unsigned int snd_gf1_read_addr(183,4837 -void snd_gf1_i_ctrl_stop(194,5048 -void snd_gf1_i_write8(203,5265 -unsigned char snd_gf1_i_look8(214,5532 -void snd_gf1_i_write16(225,5789 -unsigned short snd_gf1_i_look16(236,6045 -void snd_gf1_i_adlib_write(247,6306 -void snd_gf1_i_write_addr(258,6579 -unsigned int snd_gf1_i_read_addr(268,6852 -void snd_gf1_dram_addr(284,7153 -void snd_gf1_poke(296,7426 -unsigned char snd_gf1_peek(313,7901 -void snd_gf1_pokew(332,8397 -unsigned short snd_gf1_peekw(355,9030 -void snd_gf1_dram_setmem(380,9685 -void snd_gf1_select_active_voices(412,10440 -void snd_gf1_print_voice_registers(440,11126 -void snd_gf1_print_global_registers(472,13489 -void snd_gf1_print_setup_registers(499,15338 -void snd_gf1_peek_print_block(518,16800 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_sample.c,530 -static void select_instrument(31,976 -static void event_sample(56,1506 -static void event_cluster(70,2099 -static void event_start(78,2396 -static void event_stop(84,2610 -static void event_freq(90,2822 -static void event_volume(96,3034 -static void event_loop(102,3250 -static void event_position(108,3458 -static void event_private1(114,3671 -typedef void (gus_sample_event_handler_t)gus_sample_event_handler_t120,3908 -static gus_sample_event_handler_t *gus_sample_event_handlers[122,4012 -void snd_gus_sample_event(134,4216 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_instr.c,355 -int snd_gus_iwffff_put_sample(31,973 -int snd_gus_iwffff_get_sample(61,1847 -int snd_gus_iwffff_remove_sample(70,2128 -int snd_gus_gf1_put_sample(84,2437 -int snd_gus_gf1_get_sample(112,3199 -int snd_gus_gf1_remove_sample(120,3429 -int snd_gus_simple_put_sample(132,3641 -int snd_gus_simple_get_sample(159,4429 -int snd_gus_simple_remove_sample(167,4677 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_main.c,703 -int snd_gus_use_inc(40,1309 -void snd_gus_use_dec(47,1420 -static int snd_gus_joystick_info(52,1500 -static int snd_gus_joystick_get(61,1730 -static int snd_gus_joystick_put(69,1952 -static snd_kcontrol_new_t snd_gus_joystick_control 85,2451 -static void snd_gus_init_control(93,2665 -static int snd_gus_free(103,2828 -static int snd_gus_dev_free(138,3683 -int snd_gus_create(144,3809 -static int snd_gus_detect_memory(247,6652 -static int snd_gus_init_dma_irq(282,7721 -static int snd_gus_check_version(372,10184 -static void snd_gus_seq_dev_free(420,11748 -int snd_gus_initialize(426,11881 -static int __init alsa_gus_init(504,14036 -static void __exit alsa_gus_exit(509,14090 -module_init(513,14134 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gusextreme.c,986 -#define SNDRV_LEGACY_AUTO_PROBE33,1130 -#define SNDRV_LEGACY_FIND_FREE_IRQ34,1162 -#define SNDRV_LEGACY_FIND_FREE_DMA35,1197 -static int index[43,1441 -static char *id[44,1510 -static int enable[45,1583 -static long port[46,1661 -static long gf1_port[47,1737 -static long mpu_port[48,1855 -static int irq[49,1949 -static int mpu_irq[50,2013 -static int gf1_irq[51,2081 -static int dma8[52,2157 -static int dma1[53,2219 -static int joystick_dac[54,2269 -static int channels[56,2391 -static int pcm_channels[57,2460 -static int boot_devs;58,2532 -static snd_card_t *snd_gusextreme_cards[89,4228 -static int __init snd_gusextreme_detect(92,4304 -static void __init snd_gusextreme_init(160,6060 -static int __init snd_gusextreme_mixer(165,6175 -static int __init snd_gusextreme_probe(187,6843 -static int __init snd_gusextreme_legacy_auto_probe(318,10267 -static int __init alsa_card_gusextreme_init(335,10758 -static void __exit alsa_card_gusextreme_exit(359,11318 -module_init(374,11649 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/interwave.c,1929 -#define SNDRV_LEGACY_AUTO_PROBE38,1227 -#define SNDRV_LEGACY_FIND_FREE_IRQ39,1259 -#define SNDRV_LEGACY_FIND_FREE_DMA40,1294 -static int index[57,1779 -static char *id[58,1848 -static int enable[59,1921 -static int isapnp[61,2024 -static long port[63,2097 -static long port_tc[65,2208 -static int irq[67,2300 -static int dma1[68,2372 -static int dma2[69,2440 -static int joystick_dac[70,2508 -static int midi[72,2630 -static int pcm_channels[73,2694 -static int effect[74,2766 -static int boot_devs;75,2832 -struct snd_interwave snd_interwave106,4417 -static snd_card_t *snd_interwave_legacy[124,4724 -static struct pnp_card_device_id snd_interwave_pnpids[128,4818 -static void snd_interwave_i2c_setlines(156,5711 -static int snd_interwave_i2c_getclockline(167,5959 -static int snd_interwave_i2c_getdataline(179,6193 -static snd_i2c_bit_ops_t snd_interwave_i2c_bit_ops 193,6465 -static int __devinit snd_interwave_detect_stb(199,6654 -static int __devinit snd_interwave_detect(241,7678 -static irqreturn_t snd_interwave_interrupt(306,9585 -static void __devinit snd_interwave_reset(328,10122 -static void __devinit snd_interwave_bank_sizes(336,10315 -struct rom_hdr rom_hdr369,11163 -static void __devinit snd_interwave_detect_memory(385,11707 -static void __devinit snd_interwave_init(484,15128 -static snd_kcontrol_new_t snd_interwave_controls[506,15903 -static int __devinit snd_interwave_mixer(513,16377 -static int __devinit snd_interwave_pnp(563,18042 -static void snd_interwave_free(645,20961 -static int __devinit snd_interwave_probe(661,21309 -static int __devinit snd_interwave_probe_legacy_port(851,25971 -static int __devinit snd_interwave_pnp_detect(874,26425 -static void __devexit snd_interwave_pnp_remove(893,26793 -static struct pnp_card_driver interwave_pnpc_driver 901,27000 -static int __init alsa_card_interwave_init(911,27262 -static void __exit alsa_card_interwave_exit(955,28272 -module_init(967,28524 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_lfo.c,500 -static signed char snd_gf1_lfo_compute_value(31,1010 -static void snd_gf1_lfo_register_setup(122,3694 -void snd_gf1_lfo_effect_interrupt(158,4601 -void snd_gf1_lfo_init(182,5140 -void snd_gf1_lfo_done(199,5551 -void snd_gf1_lfo_program(209,5717 -void snd_gf1_lfo_enable(252,7188 -void snd_gf1_lfo_disable(266,7563 -void snd_gf1_lfo_change_freq(281,7945 -void snd_gf1_lfo_change_depth(301,8478 -void snd_gf1_lfo_setup(338,9498 -void snd_gf1_lfo_shutdown(363,10275 -void snd_gf1_lfo_command(399,11359 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_uart.c,560 -static void snd_gf1_interrupt_midi_in(29,1013 -static void snd_gf1_interrupt_midi_out(64,1922 -static void snd_gf1_uart_reset(84,2511 -static int snd_gf1_uart_output_open(93,2730 -static int snd_gf1_uart_input_open(112,3312 -static int snd_gf1_uart_output_close(139,4346 -static int snd_gf1_uart_input_close(154,4821 -static void snd_gf1_uart_input_trigger(169,5295 -static void snd_gf1_uart_output_trigger(187,5825 -static snd_rawmidi_ops_t snd_gf1_uart_output 225,6939 -static snd_rawmidi_ops_t snd_gf1_uart_input 232,7106 -int snd_gf1_rawmidi_new(239,7269 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_dram.c,138 -static int snd_gus_dram_poke(29,952 -int snd_gus_dram_write(60,1748 -static int snd_gus_dram_peek(66,1923 -int snd_gus_dram_read(98,2805 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_synth.c,581 -static void snd_gus_synth_free_voices(37,1180 -static int snd_gus_synth_use(49,1478 -static int snd_gus_synth_unuse(77,2237 -static void snd_gus_synth_free_private_instruments(93,2592 -int snd_gus_synth_event_input(102,2863 -static void snd_gus_synth_instr_notify(132,3703 -static void snd_gus_synth_free_port(160,4444 -static int snd_gus_synth_create_port(168,4608 -static int snd_gus_synth_new_device(212,5752 -static int snd_gus_synth_delete_device(288,8112 -static int __init alsa_gus_synth_init(305,8489 -static void __exit alsa_gus_synth_exit(316,8739 -module_init(321,8846 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_dma.c,270 -void snd_gf1_dma_ack(28,956 -void snd_gf1_dma_program(38,1229 -static snd_gf1_dma_block_t *snd_gf1_dma_next_block(94,2892 -static void snd_gf1_dma_interrupt(126,3680 -int snd_gf1_dma_init(150,4415 -int snd_gf1_dma_done(167,4799 -int snd_gf1_dma_transfer_block(192,5398 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_reset.c,904 -static void snd_gf1_default_interrupt_handler_midi_out(37,1221 -static void snd_gf1_default_interrupt_handler_midi_in(42,1355 -static void snd_gf1_default_interrupt_handler_timer1(47,1488 -static void snd_gf1_default_interrupt_handler_timer2(52,1658 -static void snd_gf1_default_interrupt_handler_wave_and_volume(57,1828 -static void snd_gf1_default_interrupt_handler_dma_write(63,2008 -static void snd_gf1_default_interrupt_handler_dma_read(68,2127 -void snd_gf1_set_default_handlers(73,2245 -static void snd_gf1_clear_regs(102,3344 -static void snd_gf1_look_regs(114,3719 -void snd_gf1_smart_stop_voice(130,4143 -void snd_gf1_stop_voice(144,4597 -void snd_gf1_clear_voices(164,5236 -void snd_gf1_stop_voices(205,6888 -static void snd_gf1_alloc_voice_use(239,8039 -snd_gus_voice_t *snd_gf1_alloc_voice(262,8532 -void snd_gf1_free_voice(296,9516 -int snd_gf1_start(324,10293 -int snd_gf1_stop(407,13025 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_tables.h,171 -#define SNDRV_GF1_SCALE_TABLE_SIZE 21,804 -#define SNDRV_GF1_ATTEN_TABLE_SIZE 22,843 -unsigned int snd_gf1_scale_table[26,912 -unsigned short snd_gf1_atten_table[52,2410 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_simple.c,1110 -static snd_gus_sample_ops_t sample_ops 44,1922 -static struct snd_gus_note_handlers note_commands 64,2582 -static struct ULTRA_STRU_INSTRUMENT_CHANNEL_COMMANDS channel_commands 78,3096 -static void interrupt_wave(93,3399 -static void interrupt_volume(105,3769 -static void interrupt_effect(115,4036 -static void do_volume_envelope(128,4374 -static void do_pan_envelope(232,7754 -static void set_enhanced_pan(279,9279 -static void sample_start(310,10115 -static void sample_stop(400,13352 -static void sample_freq(436,14460 -static void sample_volume(447,14857 -static void sample_loop(474,15631 -static void sample_pos(503,16697 -static unsigned char get_effects_mask(530,17564 -static void sample_private1(540,17857 -static void note_stop(577,19076 -static void note_wait(581,19157 -static void note_off(585,19228 -static void note_volume(589,19298 -static void note_pitchbend(593,19371 -static void note_vibrato(597,19447 -static void note_tremolo(601,19521 -static void chn_trigger_down(609,19607 -static void chn_trigger_up(613,19789 -static void chn_control(617,19863 -void snd_gf1_simple_init(627,19998 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/gus/gus_mem_proc.c,340 -typedef struct gus_proc_private gus_proc_private28,970 -} gus_proc_private_t;gus_proc_private_t33,1103 -static long snd_gf1_mem_proc_dump(35,1126 -static long long snd_gf1_mem_proc_llseek(55,1635 -static void snd_gf1_mem_proc_free(81,2181 -static struct snd_info_entry_ops snd_gf1_mem_proc_ops 87,2308 -int snd_gf1_mem_proc_init(92,2438 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/es1688/es1688_lib.c,2460 -static int snd_es1688_dsp_command(39,1254 -static int snd_es1688_dsp_get_byte(54,1567 -static int snd_es1688_write(65,1871 -int snd_es1688_read(73,2063 -void snd_es1688_mixer_write(83,2331 -unsigned char snd_es1688_mixer_read(92,2531 -static int snd_es1688_reset(103,2754 -static int snd_es1688_probe(120,3214 -static int snd_es1688_init(194,5483 -static ratnum_t clocks[286,7910 -static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks 301,8093 -static void snd_es1688_set_rate(306,8193 -static int snd_es1688_ioctl(322,8659 -static int snd_es1688_trigger(328,8809 -static int snd_es1688_hw_params(353,9489 -static int snd_es1688_hw_free(359,9673 -static int snd_es1688_playback_prepare(364,9784 -static int snd_es1688_playback_trigger(418,11784 -static int snd_es1688_capture_prepare(425,11979 -static int snd_es1688_capture_trigger(475,13825 -irqreturn_t snd_es1688_interrupt(482,14018 -static snd_pcm_uframes_t snd_es1688_playback_pointer(495,14433 -static snd_pcm_uframes_t snd_es1688_capture_pointer(506,14740 -static snd_pcm_hardware_t snd_es1688_playback 521,15055 -static snd_pcm_hardware_t snd_es1688_capture 539,15556 -static int snd_es1688_playback_open(561,16065 -static int snd_es1688_capture_open(575,16488 -static int snd_es1688_playback_close(589,16909 -static int snd_es1688_capture_close(597,17083 -static int snd_es1688_free(605,17255 -static int snd_es1688_dev_free(622,17588 -static const char *snd_es1688_chip_id(628,17716 -int snd_es1688_create(635,17909 -static snd_pcm_ops_t snd_es1688_playback_ops 706,19571 -static snd_pcm_ops_t snd_es1688_capture_ops 717,19924 -static void snd_es1688_pcm_free(728,20271 -int snd_es1688_pcm(735,20424 -static int snd_es1688_info_mux(765,21130 -static int snd_es1688_get_mux(781,21588 -static int snd_es1688_put_mux(788,21828 -#define ES1688_SINGLE(ES1688_SINGLE807,22415 -static int snd_es1688_info_single(813,22726 -static int snd_es1688_get_single(824,23054 -static int snd_es1688_put_single(841,23707 -#define ES1688_DOUBLE(ES1688_DOUBLE866,24493 -static int snd_es1688_info_double(872,24890 -static int snd_es1688_get_double(883,25218 -static int snd_es1688_put_double(917,26449 -static snd_kcontrol_new_t snd_es1688_controls[980,28403 -#define ES1688_INIT_TABLE_SIZE 1000,29448 -static unsigned char snd_es1688_init_table[1002,29514 -int snd_es1688_mixer(1015,29861 -static int __init alsa_es1688_init(1054,30768 -static void __exit alsa_es1688_exit(1059,30825 -module_init(1063,30872 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/isa/es1688/es1688.c,648 -#define SNDRV_LEGACY_AUTO_PROBE32,1110 -#define SNDRV_LEGACY_FIND_FREE_IRQ33,1142 -#define SNDRV_LEGACY_FIND_FREE_DMA34,1177 -static int index[45,1575 -static char *id[46,1644 -static int enable[47,1717 -static long port[48,1795 -static long mpu_port[49,1871 -static int irq[50,1941 -static int mpu_irq[51,2005 -static int dma8[52,2073 -static int boot_devs;53,2135 -static snd_card_t *snd_audiodrive_cards[72,3018 -static int __init snd_audiodrive_probe(75,3094 -static int __init snd_audiodrive_legacy_auto_probe(155,5084 -static int __init alsa_card_es1688_init(172,5429 -static void __exit alsa_card_es1688_exit(196,5995 -module_init(204,6143 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ali5455.c,6152 -#define PCI_DEVICE_ID_ALI_5455 70,2504 -#define PCI_VENDOR_ID_ALI 74,2576 -static int strict_clocking 77,2617 -static unsigned int clocking 78,2649 -static unsigned int codec_pcmout_share_spdif_locked 79,2683 -static unsigned int codec_independent_spdif_locked 80,2740 -static unsigned int controller_pcmout_share_spdif_locked 81,2796 -static unsigned int controller_independent_spdif_locked 82,2858 -static unsigned int globel 83,2919 -#define ADC_RUNNING 85,2952 -#define DAC_RUNNING 86,2974 -#define CODEC_SPDIFOUT_RUNNING 87,2996 -#define CONTROLLER_SPDIFOUT_RUNNING 88,3029 -#define SPDIF_ENABLE_OUTPUT 90,3068 -#define ALI5455_FMT_16BIT 92,3122 -#define ALI5455_FMT_STEREO 93,3150 -#define ALI5455_FMT_MASK 94,3179 -#define SPDIF_ON 96,3207 -#define SURR_ON 97,3231 -#define CENTER_LFE_ON 98,3255 -#define VOL_MUTED 99,3284 -#define ALI_SPDIF_OUT_CH_STATUS 102,3311 -struct sg_item sg_item105,3399 -#define BUSADDR_MASK 106,3416 -#define CON_IOC 108,3462 -#define CON_BUFPAD 109,3520 -#define CON_BUFLEN_MASK 110,3594 -#define SG_LEN 115,3715 -struct ali_channel ali_channel116,3733 -#define ENUM_ENGINE(ENUM_ENGINE133,4182 - ALI_SCR 153,4920 - ALI_SCR = 0x00,153,4920 - ALI_SSR 154,4968 - ALI_SSR = 0x04,154,4968 - ALI_DMACR 155,5016 - ALI_DMACR = 0x08,155,5016 - ALI_FIFOCR1 156,5065 - ALI_FIFOCR1 = 0x0c,156,5065 - ALI_INTERFACECR 157,5117 - ALI_INTERFACECR = 0x10,157,5117 - ALI_INTERRUPTCR 158,5175 - ALI_INTERRUPTCR = 0x14,158,5175 - ALI_INTERRUPTSR 159,5233 - ALI_INTERRUPTSR = 0x18,159,5233 - ALI_FIFOCR2 160,5291 - ALI_FIFOCR2 = 0x1c,160,5291 - ALI_CPR 161,5344 - ALI_CPR = 0x20,161,5344 - ALI_SPR 162,5394 - ALI_SPR = 0x24,162,5394 - ALI_FIFOCR3 163,5444 - ALI_FIFOCR3 = 0x2c,163,5444 - ALI_TTSR 164,5496 - ALI_TTSR = 0x30,164,5496 - ALI_RTSR 165,5547 - ALI_RTSR = 0x34,165,5547 - ALI_CSPSR 166,5598 - ALI_CSPSR = 0x38,166,5598 - ALI_CAS 167,5659 - ALI_CAS = 0x3c,167,5659 - ALI_SPDIFCSR 168,5714 - ALI_SPDIFCSR = 0xf8,168,5714 - ALI_SPDIFICS 169,5773 - ALI_SPDIFICS = 0xfc 169,5773 -#define DMA_INT_FIFO 174,5919 -#define DMA_INT_COMPLETE 175,5975 -#define DMA_INT_LVI 176,6052 -#define DMA_INT_CELV 177,6102 -#define DMA_INT_DCH 178,6159 -#define DMA_INT_MASK 179,6258 -#define INT_SPDIFOUT 183,6399 -#define INT_SPDIFIN 184,6467 -#define INT_CODECSPDIFOUT 185,6497 -#define INT_MICIN 186,6533 -#define INT_PCMOUT 187,6561 -#define INT_PCMIN 188,6590 -#define INT_CPRAIS 189,6618 -#define INT_SPRAIS 190,6646 -#define INT_GPIO 191,6674 -#define INT_MASK 192,6701 -#define DRIVER_VERSION 194,6785 -#define ALI5455_CARD_MAGIC 197,6869 -#define ALI5455_STATE_MAGIC 198,6921 -#define ALI5455_DMA_MASK 199,6974 -#define NR_HW_CH 200,7055 -#define NR_AC97 203,7163 -static const unsigned sample_size[207,7327 -static const unsigned sample_shift[210,7519 -#define ALI5455212,7576 -static char *card_names[213,7592 -static struct pci_device_id ali_pci_tbl[217,7638 -#define PM_SUSPENDED(PM_SUSPENDED226,7838 -#define PM_SUSPENDED(PM_SUSPENDED228,7892 -struct ali_state ali_state232,7999 - struct dmabuf dmabuf249,8353 -struct ali_card ali_card297,9662 -static struct ali_card *devs 347,11073 -static struct ali_channel *ali_alloc_pcm_channel(355,11418 -static struct ali_channel *ali_alloc_rec_pcm_channel(363,11598 -static struct ali_channel *ali_alloc_rec_mic_channel(371,11782 -static struct ali_channel *ali_alloc_codec_spdifout_channel(379,11966 -static struct ali_channel *ali_alloc_controller_spdifout_channel(387,12157 -static void ali_free_pcm_channel(394,12352 -static int ali_valid_spdif_rate(401,12493 -static void ali_set_spdif_output(437,13350 -static void ali_set_dac_channels(529,16208 -static unsigned int ali_set_dac_rate(557,16901 -static unsigned int ali_set_adc_rate(595,17673 -static unsigned int ali_set_codecspdifout_rate(633,18463 -static void ali_set_spdifout_rate(653,18888 -static inline unsigned ali_get_dma_addr(686,19729 -static inline void __stop_adc(735,21289 -static void stop_adc(753,21819 -static inline void __start_adc(762,22035 -static void start_adc(779,22610 -static inline void __stop_dac(790,22861 -static void stop_dac(806,23317 -static inline void __start_dac(815,23533 -static void start_dac(826,23906 -static inline void __stop_spdifout(836,24179 -static void stop_spdifout(864,25226 -static inline void __start_spdifout(873,25452 -static void start_spdifout(892,26169 -#define DMABUF_DEFAULTORDER 901,26397 -#define DMABUF_MINORDER 902,26441 -static int alloc_dmabuf(905,26565 -static void dealloc_dmabuf(945,27783 -static int prog_dmabuf(963,28338 -static void __ali_update_lvi(1068,31465 -static void ali_update_lvi(1124,33608 -static void ali_update_ptr(1136,33984 -static inline int ali_get_free_write_space(1249,38197 -static inline int ali_get_available_read_data(1267,38570 -static int drain_dac(1286,39006 -static int drain_spdifout(1353,40866 -static void ali_channel_interrupt(1426,42943 -static irqreturn_t ali_interrupt(1544,46374 -static ssize_t ali_read(1581,47448 -static ssize_t ali_write(1720,51799 -static unsigned int ali_poll(1906,57146 -static int ali_mmap(1930,57990 -static int ali_ioctl(1968,59010 -static int ali_open(2761,84255 -static int ali_release(2891,88550 -static /*const */ struct file_operations ali_audio_fops 2932,89793 -static u16 ali_ac97_get(2945,90088 -static void ali_ac97_set(2987,91002 -static int ali_open_mixdev(3023,91925 -static int ali_ioctl_mixdev(3051,92840 -static /*const */ struct file_operations ali_mixer_fops 3059,93079 -static inline int ali_ac97_exists(3069,93372 -static inline int ali_ac97_enable_variable_rate(3107,94001 -static int ali_ac97_probe_and_powerup(3115,94281 -static int ali_reset_5455(3171,96170 -static int ali_ac97_random_init_stuff(3197,97122 -static int __devinit ali_ac97_init(3229,97801 -static void __devinit ali_configure_clocking(3334,101502 -static int __devinit ali_probe(3404,103603 -static void __devexit ali_remove(3510,106736 -static int ali_pm_suspend(3530,107275 -static int ali_pm_resume(3586,108796 -#define ALI5455_MODULE_NAME 3659,111097 -static struct pci_driver ali_pci_driver 3660,111135 -static int __init ali_init_module(3671,111397 -static void __exit ali_cleanup_module(3724,113536 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/hal2.c,3384 -#define DEBUG(DEBUG43,1331 -#define DEBUG(DEBUG45,1374 -#define DEBUG_MIX(DEBUG_MIX49,1412 -#define DEBUG_MIX(DEBUG_MIX51,1458 -#define H2_BLOCK_SIZE 65,2076 -#define H2_ADC_BUFSIZE 66,2103 -#define H2_DAC_BUFSIZE 67,2131 -struct hal2_pbus hal2_pbus69,2161 -struct hal2_desc hal2_desc75,2292 -struct hal2_codec hal2_codec80,2392 -#define H2_MIX_OUTPUT_ATT 101,2925 -#define H2_MIX_INPUT_GAIN 102,2953 -#define H2_MIXERS 103,2981 -struct hal2_mixer hal2_mixer104,3002 -struct hal2_card hal2_card110,3094 -#define H2_INDIRECT_WAIT(H2_INDIRECT_WAIT125,3532 -#define H2_READ_ADDR(H2_READ_ADDR127,3600 -#define H2_WRITE_ADDR(H2_WRITE_ADDR128,3643 -static char *hal2str 130,3679 -#define MAXCARDS 137,3914 -static struct hal2_card* hal2_card[138,3933 -} mixtable[142,4033 -#define H2_SUPPORTED_FORMATS 147,4191 -static inline void hal2_isr_write(149,4249 -static inline u16 hal2_isr_look(154,4349 -static inline u16 hal2_rev_look(159,4439 -static u16 hal2_i_look16(165,4551 -static u32 hal2_i_look32(175,4747 -static void hal2_i_write16(189,5068 -static void hal2_i_write32(201,5319 -static void hal2_i_setbit16(213,5587 -static void hal2_i_setbit32(227,5921 -static void hal2_i_clearbit16(243,6315 -static void hal2_i_clearbit32(258,6658 -static void hal2_dump_regs(276,7081 -static struct hal2_card* hal2_dsp_find_card(301,8364 -static struct hal2_card* hal2_mixer_find_card(311,8565 -static void hal2_inc_head(321,8770 -static void hal2_inc_tail(328,8901 -static void hal2_dac_interrupt(335,9032 -static void hal2_adc_interrupt(353,9495 -static irqreturn_t hal2_interrupt(371,9974 -static int hal2_compute_rate(388,10431 -static void hal2_set_dac_rate(414,10903 -static void hal2_set_adc_rate(426,11259 -static void hal2_setup_dac(438,11615 -static void hal2_setup_adc(477,13252 -static dma_addr_t hal2_desc_addr(508,14478 -static void hal2_start_dac(515,14627 -static void hal2_start_adc(526,14960 -static inline void hal2_stop_dac(537,15292 -static inline void hal2_stop_adc(543,15456 -static int hal2_alloc_dmabuf(548,15571 -static int hal2_alloc_dac_dmabuf(582,16513 -static int hal2_alloc_adc_dmabuf(590,16714 -static void hal2_free_dmabuf(598,16918 -static void hal2_free_dac_dmabuf(612,17373 -static void hal2_free_adc_dmabuf(617,17501 -static int hal2_get_buffer(626,17764 -static int hal2_add_buffer(678,19209 -#define hal2_reset_dac_pointer(hal2_reset_dac_pointer719,20242 -#define hal2_reset_adc_pointer(hal2_reset_adc_pointer720,20307 -static void hal2_reset_pointer(721,20372 -static int hal2_sync_dac(736,20749 -static int hal2_write_mixer(765,21509 -static void hal2_init_mixer(827,22918 -static void hal2_volume_control(852,23662 -static int hal2_mixer_ioctl(869,24061 -static int hal2_open_mixdev(956,26191 -static int hal2_release_mixdev(967,26430 -static int hal2_ioctl_mixdev(972,26517 -static int hal2_ioctl(978,26712 -static ssize_t hal2_read(1172,31461 -static ssize_t hal2_write(1225,32782 -static unsigned int hal2_poll(1279,34130 -static int hal2_open(1308,34865 -static int hal2_release(1352,35894 -static struct file_operations hal2_audio_fops 1378,36412 -static struct file_operations hal2_mixer_fops 1389,36648 -static void hal2_init_codec(1397,36840 -static int hal2_detect(1407,37108 -static int hal2_init_card(1431,37699 -#define HAL2_PBUS_DMACFG 1462,38792 -static int __init init_hal2(1519,40196 -static void __exit exit_hal2(1536,40492 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ulaw.h,74 -static unsigned char ulaw_dsp[1,0 -static unsigned char dsp_ulaw[36,1640 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/opl3.c,1632 -#define MAX_VOICE 40,959 -#define OFFS_4OP 41,980 -struct voice_infovoice_info43,1001 -typedef struct opl_devinfoopl_devinfo55,1270 -} opl_devinfo;opl_devinfo77,1762 -static struct opl_devinfo *devc 79,1778 -static int detected_model;81,1819 -static void enter_4op_mode(88,2145 -static int opl3_ioctl(113,2726 -int opl3_detect(147,3620 -static int opl3_kill_note 271,6611 -#define HIHAT 298,7335 -#define CYMBAL 299,7353 -#define TOMTOM 300,7372 -#define SNARE 301,7391 -#define BDRUM 302,7409 -#define UNDEFINED 303,7427 -#define DEFAULT 304,7453 -static int store_instr(306,7479 -static int opl3_set_instr 314,7807 -static char fm_volume_table[335,8586 -static void calc_vol(355,9116 -static void set_voice_volume(374,9466 -static int opl3_start_note 461,11389 -static void freq_to_fnum 681,16496 -static void opl3_command 722,17050 -static void opl3_reset(748,17557 -static int opl3_open(785,18335 -static void opl3_close(810,18807 -static void opl3_hw_control(821,19014 -static int opl3_load_patch(825,19078 -static void opl3_panning(853,19793 -static void opl3_volume_method(858,19889 -#define SET_VIBRATO(SET_VIBRATO862,19944 -static void opl3_aftertouch(868,20155 -static void bend_pitch(937,21214 -static void opl3_controller 971,22055 -static void opl3_bender(996,22521 -static int opl3_alloc_voice(1004,22674 -static void opl3_setup_voice(1070,23944 -static struct synth_operations opl3_operations 1083,24330 -int opl3_init(1109,24985 -static int me;1201,27035 -static int io 1203,27051 -static int __init init_opl3 1207,27095 -static void __exit cleanup_opl3(1224,27407 -static int __init setup_opl3(1243,27723 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/au1000.c,2574 -#define AU1000_DEBUG79,3053 -#define USE_COHERENT_DMA82,3103 -#define AU1000_MODULE_NAME 84,3129 -#define PFX 85,3171 -#define dbg(dbg88,3223 -#define dbg(dbg90,3306 -#define err(err92,3357 -#define info(info93,3432 -#define warn(warn94,3509 -#define POLL_COUNT 98,3608 -#define AC97_EXT_DACS 99,3636 -static int vra 102,3732 -struct au1000_state au1000_state109,3967 - struct dmabuf dmabuf130,4520 -} au1000_state;164,5947 -static inline unsigned ld2(169,6042 -static inline void * dma_alloc(196,6342 -static inline void dma_free(207,6599 -static inline void * dma_alloc(212,6732 -static inline void dma_free(217,6860 -static void au1000_delay(225,7073 -static u16 rdcodec(245,7398 -static void wrcodec(282,8207 -static void waitcodec(305,8817 -static void set_adc_rate(343,9764 -static void set_dac_rate(388,11032 -static void stop_dac(434,12371 -static void stop_adc(451,12635 -static void set_xmit_slots(469,12901 -static void set_recv_slots(489,13427 -static void start_dac(502,13747 -static void start_adc(547,14815 -#define DMABUF_DEFAULTORDER 594,15957 -#define DMABUF_MINORDER 595,16001 -extern inline void dealloc_dmabuf(597,16028 -static int prog_dmabuf(613,16513 -extern inline int prog_dmabuf_adc(696,18890 -extern inline int prog_dmabuf_dac(703,19005 -static void dac_dma_interrupt(711,19158 -static void adc_dma_interrupt(792,21280 -static loff_t au1000_llseek(880,23588 -static int au1000_open_mixdev(886,23685 -static int au1000_release_mixdev(892,23836 -static int mixdev_ioctl(897,23925 -static int au1000_ioctl_mixdev(903,24086 -static /*const */ struct file_operations au1000_mixer_fops 912,24356 -static int drain_dac(922,24648 -static inline u8 S16_TO_U8(952,25356 -static inline s16 U8_TO_S16(956,25426 -static int translate_from_user(967,25790 -static int translate_to_user(1023,27410 -static int copy_dmabuf_user(1072,28763 -static ssize_t au1000_read(1113,29798 -static ssize_t au1000_write(1191,31491 -static unsigned int au1000_poll(1274,33331 -static int au1000_mmap(1313,34318 -static struct ioctl_str_t ioctl_str_t1356,35148 -} ioctl_str[1359,35220 -static int dma_count_done(1398,36925 -static int au1000_ioctl(1407,37062 -static int au1000_open(1838,48562 -static int au1000_release(1909,50352 -static /*const */ struct file_operations au1000_audio_fops 1937,50960 -static int proc_au1000_dump(1961,51520 -static int __devinit au1000_probe(2008,52912 -static void au1000_remove(2176,57605 -static int __init init_au1000(2195,58074 -static void __exit cleanup_au1000(2201,58200 -static int __init au1000_setup(2214,58432 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_midi.c,404 -static int sb_midi_open(30,753 -static void sb_midi_close(70,1506 -static int sb_midi_out(86,1812 -static int sb_midi_start_read(104,2076 -static int sb_midi_end_read(109,2131 -static int sb_midi_ioctl(121,2306 -void sb_midi_interrupt(126,2401 -#define MIDI_SYNTH_NAME 143,2707 -#define MIDI_SYNTH_CAPS 144,2752 -static struct midi_operations sb_midi_operations 147,2803 -void sb_dsp_midi_init(161,3146 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/opl3sa2.c,3361 -#define OPL3SA2_MODULE_NAME 78,3702 -#define PFX 79,3740 -#define OPL3SA2_PM 82,3815 -#define OPL3SA2_SYS_CTRL 83,3844 -#define OPL3SA2_IRQ_CONFIG 84,3878 -#define OPL3SA2_DMA_CONFIG 85,3912 -#define OPL3SA2_MASTER_LEFT 86,3946 -#define OPL3SA2_MASTER_RIGHT 87,3980 -#define OPL3SA2_MIC 88,4014 -#define OPL3SA2_MISC 89,4048 -#define OPL3SA3_WIDE 91,4083 -#define OPL3SA3_BASS 92,4117 -#define OPL3SA3_TREBLE 93,4151 -#define DEFAULT_VOLUME 96,4210 -#define DEFAULT_MIC 97,4236 -#define DEFAULT_TIMBRE 98,4262 -#define OPL3SA2_PM_MODE0 101,4313 -#define OPL3SA2_PM_MODE1 102,4343 -#define OPL3SA2_PM_MODE2 103,4383 -#define OPL3SA2_PM_MODE3 104,4429 -#define VERSION_UNKNOWN 108,4541 -#define VERSION_YMF711 109,4567 -#define VERSION_YMF715 110,4593 -#define VERSION_YMF715B 111,4619 -#define VERSION_YMF715E 112,4645 -#define CHIPSET_UNKNOWN 116,4772 -#define CHIPSET_OPL3SA2 117,4799 -#define CHIPSET_OPL3SA3 118,4825 -static const char *CHIPSET_TABLE[119,4851 -#define OPL3SA2_CARDS_MAX 122,4933 -#define OPL3SA2_CARDS_MAX 124,4967 -static int opl3sa2_cards_num;128,5039 -} opl3sa2_state_t;opl3sa2_state_t160,5746 -static opl3sa2_state_t opl3sa2_state[161,5765 -static int __initdata io 166,5847 -static int __initdata mss_io 167,5878 -static int __initdata mpu_io 168,5913 -static int __initdata irq 169,5948 -static int __initdata dma 170,5980 -static int __initdata dma2 171,6012 -static int __initdata ymode 172,6045 -static int __initdata loopback 173,6079 -static int __initdata isapnp 177,6165 -static int __initdata multiple 178,6199 -struct pnp_dev* opl3sa2_dev[181,6254 -static int opl3sa2_activated[184,6350 -static int __initdata isapnp;186,6405 -static int __initdata multiple;187,6445 -static inline void opl3sa2_write(232,8019 -static inline void opl3sa2_read(241,8177 -static void opl3sa2_set_volume(254,8374 -static void opl3sa2_set_mic(289,9436 -static void opl3sa3_set_bass(304,9736 -static void opl3sa3_set_treble(315,10011 -static void opl3sa2_mixer_reset(328,10301 -static void opl3sa2_mixer_restore(348,10888 -static inline void arg_to_vol_mono(362,11232 -static inline void arg_to_vol_stereo(373,11385 -static inline int ret_vol_mono(380,11537 -static inline int ret_vol_stereo(386,11611 -static int opl3sa2_mixer_ioctl(392,11702 -static int opl3sa3_mixer_ioctl(489,13810 -static struct mixer_operations opl3sa2_mixer_operations 519,14496 -static struct mixer_operations opl3sa3_mixer_operations 527,14660 -static inline void __exit unload_opl3sa2_mpu(542,14912 -static void __init attach_opl3sa2_mss(548,15022 -static inline void __exit unload_opl3sa2_mss(569,15655 -static int __init probe_opl3sa2(575,15767 -static void __init attach_opl3sa2(670,18336 -static void __init attach_opl3sa2_mixer(687,18885 -static void __init opl3sa2_clear_slots(717,19608 -static void __init opl3sa2_set_ymode(727,19751 -static void __init opl3sa2_set_loopback(751,20454 -static void __exit unload_opl3sa2(766,20858 -struct pnp_device_id pnp_opl3sa2_list[778,21143 -static int opl3sa2_pnp_probe(785,21286 -static struct pnp_driver opl3sa2_driver 827,22755 -static spinlock_t opl3sa2_lock 838,22961 -static int opl3sa2_suspend(841,23056 -static int opl3sa2_resume(879,23841 -static int opl3sa2_pm_callback(899,24254 -static int __init init_opl3sa2(919,24643 -static void __exit cleanup_opl3sa2(1082,29149 -static int __init setup_opl3sa2(1106,29722 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/aci.c,947 -int aci_port;64,2478 -static int aci_idcode[65,2550 -int aci_version;66,2610 -static int aci_solo;74,2728 -static int aci_amp;76,2841 -static int aci_micpreamp=78,2956 -static int mixer_device;81,3080 -static struct semaphore aci_sem;82,3105 -static int reset;85,3153 -static int reset 89,3260 -static int ide=92,3290 -static int wss=96,3422 -static void print_bits(102,3600 -static int busy_wait(128,4296 - #define MINTIME 130,4325 -static inline int aci_rawwrite(183,5924 -static inline int aci_rawread(195,6143 -int aci_rw_cmd(210,6372 -static int setvolume(236,6791 -static int getvolume(267,7403 -static inline unsigned int eq_oss2aci(293,7978 -static inline unsigned int eq_aci2oss(311,8242 -static int setequalizer(320,8399 -static int getequalizer(340,8813 -static int aci_mixer_ioctl 361,9215 -static struct mixer_operations aci_mixer_operations 585,15287 -static int __init attach_aci(601,15811 -static void __exit unload_aci(703,18519 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb.h,1655 -#define DSP_RESET 1,0 -#define DSP_READ 2,37 -#define DSP_WRITE 3,73 -#define DSP_COMMAND 4,110 -#define DSP_STATUS 5,149 -#define DSP_DATA_AVAIL 6,187 -#define DSP_DATA_AVL16 7,229 -#define MIXER_ADDR 8,271 -#define MIXER_DATA 9,309 -#define OPL3_LEFT 10,347 -#define OPL3_RIGHT 11,384 -#define OPL3_BOTH 12,422 -#define DSP_CMD_SPKON 15,479 -#define DSP_CMD_SPKOFF 16,507 -#define DSP_CMD_DMAON 17,536 -#define DSP_CMD_DMAOFF 18,564 -#define IMODE_NONE 20,594 -#define IMODE_OUTPUT 21,616 -#define IMODE_INPUT 22,656 -#define IMODE_INIT 23,694 -#define IMODE_MIDI 24,716 -#define NORMAL_MIDI 26,739 -#define UART_MIDI 27,761 -#define MDL_NONE 33,807 -#define MDL_SB1 34,826 -#define MDL_SB2 35,864 -#define MDL_SB201 36,895 -#define MDL_SBPRO 37,928 -#define MDL_SB16 38,961 -#define MDL_SBPNP 39,998 -#define MDL_JAZZ 40,1041 -#define MDL_SMW 41,1087 -#define MDL_ESS 42,1145 -#define MDL_AZTECH 43,1192 -#define MDL_ES1868MIDI 44,1247 -#define MDL_AEDSP 45,1300 -#define MDL_ESSPCI 46,1346 -#define MDL_YMPCI 47,1387 -#define SUBMDL_ALS007 49,1442 -#define SUBMDL_ALS100 51,1543 -#define SB_NO_MIDI 57,1657 -#define SB_NO_MIXER 58,1687 -#define SB_NO_AUDIO 59,1718 -#define SB_NO_RECORDING 60,1749 -#define SB_MIDI_ONLY 61,1809 -#define SB_PCI_IRQ 62,1856 -struct mixer_def mixer_def64,1908 -typedef struct mixer_def mixer_tab[mixer_tab70,2003 -typedef struct mixer_def mixer_ent;mixer_ent71,2046 -struct sb_module_optionssb_module_options73,2083 -typedef struct sb_devc sb_devc80,2237 -# define SBCAP_STEREO 89,2392 -# define SBCAP_16BITS 90,2425 - } sb_devc;sb_devc145,3837 -#define SB_PCI_ESSMAESTRO 151,3877 -#define SB_PCI_YAMAHA 152,3930 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/midibuf.c,1000 -#define MIDIBUF_C19,452 -#define MAX_QUEUE_SIZE 28,553 -static wait_queue_head_t midi_sleeper[30,582 -static wait_queue_head_t input_sleeper[31,635 -struct midi_bufmidi_buf33,690 -struct midi_parmsmidi_parms39,772 -static struct midi_buf *midi_out_buf[46,863 -static struct midi_buf *midi_in_buf[47,924 -static struct midi_parms parms[48,984 -static struct timer_list poll_timer 53,1077 -static volatile int open_devs;55,1152 -static spinlock_t lock=56,1183 -#define DATA_AVAIL(DATA_AVAIL58,1227 -#define SPACE_AVAIL(SPACE_AVAIL59,1258 -#define QUEUE_BYTE(QUEUE_BYTE61,1308 -#define REMOVE_BYTE(REMOVE_BYTE71,1565 -static void drain_midi_queue(81,1820 -static void midi_input_intr(94,2124 -static void midi_output_intr(112,2428 -static void midi_poll(119,2498 -int MIDIbuf_open(155,3379 -void MIDIbuf_release(214,4824 -int MIDIbuf_write(259,5654 -int MIDIbuf_read(313,6592 -int MIDIbuf_ioctl(361,7558 -unsigned int MIDIbuf_poll(397,8355 -void MIDIbuf_init(417,8746 -int MIDIbuf_avail(426,8864 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/pas2_mixer.c,486 -#define DEB(DEB25,539 -static int rec_devices 33,698 -static int mode_control;34,778 -#define POSSIBLE_RECORDING_DEVICES 36,809 -#define SUPPORTED_MIXER_DEVICES 39,964 -static int *levels;43,1238 -static int default_levels[45,1263 -mix_write(62,1615 -mixer_output(81,2148 -set_mode(110,2769 -pas_mixer_set(119,2898 -pas_mixer_reset(206,5449 -static int pas_mixer_ioctl(218,5671 -static struct mixer_operations pas_mixer_operations 313,7900 -pas_init_mixer(322,8070 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/pas2_card.c,1461 -static unsigned char dma_bits[17,282 -static unsigned char irq_bits[21,346 -static unsigned char sb_irq_bits[25,436 -static unsigned char sb_dma_bits[30,565 -int pas_translate_code 39,772 -static int pas_intr_mask;40,806 -static int pas_irq;41,837 -static int pas_sb_base;42,862 -spinlock_t pas_lock=43,891 -static int joystick;45,959 -static int joystick 47,986 -static int symphony 50,1039 -static int symphony;52,1071 -static int broken_bus_clock 55,1124 -static int broken_bus_clock;57,1163 -static struct address_info cfg;60,1200 -static struct address_info cfg2;61,1232 -char pas_model 63,1266 -static char *pas_model_names[64,1297 -unsigned char pas_read(80,1674 -void pas_write(85,1756 -static irqreturn_t pasintr(92,1927 -int pas_set_intr(112,2285 -int pas_remove_intr(123,2413 -static int __init config_pas_hw(138,2695 -static int __init detect_pas_hw(292,5907 -static void __init attach_pas_card(333,6996 -static inline int __init probe_pas(363,7577 -static void __exit unload_pas(368,7683 -static int __initdata io 386,8135 -static int __initdata irq 387,8166 -static int __initdata dma 388,8198 -static int __initdata dma16 389,8230 -static int __initdata sb_io 391,8305 -static int __initdata sb_irq 392,8338 -static int __initdata sb_dma 393,8373 -static int __initdata sb_dma16 394,8408 -static int __init init_pas2(412,8752 -static void __exit cleanup_pas2(438,9265 -static int __init setup_pas2(447,9394 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ac97_plugin_ad1980.c,224 -static void __devexit ad1980_remove(49,1803 -static int ad1980_probe(70,2482 -#define AC97_AD_MISC 74,2577 -static struct ac97_driver ad1980_driver 86,2883 -static void ad1980_exit(103,3343 -static int ad1980_init(119,3814 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_card.c,774 -static int __initdata mpu_io 45,1312 -static int __initdata io 46,1346 -static int __initdata irq 47,1377 -static int __initdata dma 48,1409 -static int __initdata dma16 49,1441 -static int __initdata type 50,1475 -static int __initdata esstype 51,1550 -static int __initdata acer 52,1607 -static int __initdata sm_games 53,1669 -struct sb_card_config *legacy 55,1738 -static int __initdata pnp 58,1795 -static int __initdata pnp 63,1879 -static int sb_register_oss(101,3295 -static void sb_unload(130,3989 -static int sb_init_legacy(139,4178 -static void sb_dev2cfg(170,4969 -static int sb_pnp_probe(241,7151 -static void sb_pnp_remove(274,8152 -static struct pnp_card_driver sb_pnp_driver 286,8368 -static int __init sb_init(294,8605 -static void __exit sb_exit(328,9459 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ad1889.h,1903 -#define _AD1889_H_2,19 -#define AD_DSWSMC 4,39 -#define AD_DSRAMC 5,101 -#define AD_DSWADA 6,166 -#define AD_DSSYDA 7,222 -#define AD_DSWAS 8,278 -#define AD_DSRES 9,329 -#define AD_DSCCS 10,386 -#define AD_DMARESBA 12,435 -#define AD_DMARESCA 13,480 -#define AD_DMARESBC 14,528 -#define AD_DMARESCC 15,572 -#define AD_DMAADCBA 16,621 -#define AD_DMAADCCA 17,656 -#define AD_DMAADCBC 18,681 -#define AD_DMAADCCC 19,706 -#define AD_DMASYNBA 20,731 -#define AD_DMASYNCA 21,766 -#define AD_DMASYNBC 22,791 -#define AD_DMASYNCC 23,816 -#define AD_DMAWAVBA 24,841 -#define AD_DMAWAVCA 25,876 -#define AD_DMAWAVBC 26,901 -#define AD_DMAWAVCC 27,926 -#define AD_DMARESICC 28,951 -#define AD_DMARESIBC 29,1011 -#define AD_DMAADCICC 30,1068 -#define AD_DMAADCIBC 31,1128 -#define AD_DMASYNICC 32,1185 -#define AD_DMASYNIBC 33,1245 -#define AD_DMAWAVICC 34,1302 -#define AD_DMAWAVIBC 35,1362 -#define AD_DMARESCTRL 36,1419 -#define AD_DMAADCCTRL 37,1475 -#define AD_DMASYNCTRL 38,1531 -#define AD_DMAWAVCTRL 39,1587 -#define AD_DMADISR 40,1643 -#define AD_DMACHSS 41,1693 -#define AD_GPIOIPC 43,1752 -#define AD_GPIOOP 44,1795 -#define AD_GPIOIP 45,1841 -#define AD_ACIC 48,1935 -#define AD_OPLM0AS 51,2005 -#define AD_OPLM0DATA 52,2057 -#define AD_OPLM1A 53,2101 -#define AD_OPLM1DATA 54,2145 -#define AD_MIDA 58,2232 -#define AD_MISC 59,2270 -#define AD_DSIOMEMSIZE 62,2340 -#define AD_OPLMEMSIZE 63,2367 -#define AD_MIDIMEMSIZE 64,2392 -#define AD_WAV_STATE 66,2419 -#define AD_ADC_STATE 67,2442 -#define AD_MAX_STATES 68,2465 -#define DMA_SIZE 70,2490 -#define DMA_FLAG_MAPPED 72,2519 -typedef struct ad1889_state ad1889_state76,2566 - struct dmabuf dmabuf80,2642 -} ad1889_state_t;ad1889_state_t104,3204 -typedef struct ad1889_dev ad1889_dev106,3223 - struct stats stats122,3532 -} ad1889_dev_t;ad1889_dev_t126,3635 -typedef struct ad1889_reg ad1889_reg128,3652 -} ad1889_reg_t;ad1889_reg_t132,3724 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/hex2hex.c,121 -#define ABANDON(ABANDON11,219 -#define MAX_SIZE 12,283 -unsigned char buf[13,311 -int loadhex(15,341 -int main(68,1319 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cmpci.c,10387 -#define DBG(DBG145,5589 -#define CM_MAGIC 148,5684 -#define CODEC_CMI_FUNCTRL0 152,5811 -#define CODEC_CMI_FUNCTRL1 153,5846 -#define CODEC_CMI_CHFORMAT 154,5881 -#define CODEC_CMI_INT_HLDCLR 155,5916 -#define CODEC_CMI_INT_STATUS 156,5953 -#define CODEC_CMI_LEGACY_CTRL 157,5990 -#define CODEC_CMI_MISC_CTRL 158,6028 -#define CODEC_CMI_TDMA_POS 159,6064 -#define CODEC_CMI_MIXER 160,6099 -#define CODEC_SB16_DATA 161,6132 -#define CODEC_SB16_ADDR 162,6165 -#define CODEC_CMI_MIXER1 163,6198 -#define CODEC_CMI_MIXER2 164,6231 -#define CODEC_CMI_AUX_VOL 165,6264 -#define CODEC_CMI_MISC 166,6298 -#define CODEC_CMI_AC97 167,6330 -#define CODEC_CMI_CH0_FRAME1 169,6363 -#define CODEC_CMI_CH0_FRAME2 170,6400 -#define CODEC_CMI_CH1_FRAME1 171,6437 -#define CODEC_CMI_CH1_FRAME2 172,6474 -#define CODEC_CMI_SPDIF_CTRL 174,6512 -#define CODEC_CMI_MISC_CTRL2 175,6549 -#define CODEC_CMI_EXT_REG 177,6587 -#define DSP_MIX_DATARESETIDX 181,6672 -#define DSP_MIX_MASTERVOLIDX_L 183,6727 -#define DSP_MIX_MASTERVOLIDX_R 184,6783 -#define DSP_MIX_VOICEVOLIDX_L 185,6839 -#define DSP_MIX_VOICEVOLIDX_R 186,6894 -#define DSP_MIX_FMVOLIDX_L 187,6949 -#define DSP_MIX_FMVOLIDX_R 188,7001 -#define DSP_MIX_CDVOLIDX_L 189,7053 -#define DSP_MIX_CDVOLIDX_R 190,7105 -#define DSP_MIX_LINEVOLIDX_L 191,7157 -#define DSP_MIX_LINEVOLIDX_R 192,7211 -#define DSP_MIX_MICVOLIDX 194,7266 -#define DSP_MIX_SPKRVOLIDX 195,7317 -#define DSP_MIX_OUTMIXIDX 197,7370 -#define DSP_MIX_ADCMIXIDX_L 199,7422 -#define DSP_MIX_ADCMIXIDX_R 200,7475 -#define DSP_MIX_INGAINIDX_L 202,7529 -#define DSP_MIX_INGAINIDX_R 203,7582 -#define DSP_MIX_OUTGAINIDX_L 204,7635 -#define DSP_MIX_OUTGAINIDX_R 205,7689 -#define DSP_MIX_AGCIDX 207,7744 -#define DSP_MIX_TREBLEIDX_L 209,7794 -#define DSP_MIX_TREBLEIDX_R 210,7847 -#define DSP_MIX_BASSIDX_L 211,7900 -#define DSP_MIX_BASSIDX_R 212,7951 -#define DSP_MIX_EXTENSION 213,8002 -#define DSP_MIX_AUXVOL_L 215,8080 -#define DSP_MIX_AUXVOL_R 216,8130 -#define CM_EXTENT_CODEC 219,8195 -#define CM_EXTENT_MIDI 220,8227 -#define CM_EXTENT_SYNTH 221,8256 -#define CM_EXTENT_GAME 222,8286 -#define CHADC0 225,8353 -#define CHADC1 226,8377 -#define PAUSE0 227,8401 -#define PAUSE1 228,8424 -#define CHEN0 231,8487 -#define CHEN1 232,8511 -#define RST_CH0 233,8535 -#define RST_CH1 234,8559 -#define JYSTK_EN 237,8621 -#define UART_EN 238,8643 -#define SPDO2DAC 239,8665 -#define SPDFLOOP 240,8687 -#define SPDF_0 243,8749 -#define SPDF_1 244,8770 -#define ASFC 245,8791 -#define DSFC 246,8810 -#define SPDIF2DAC 247,8829 -#define CM_CFMT_STEREO 250,8906 -#define CM_CFMT_16BIT 251,8934 -#define CM_CFMT_MASK 252,8961 -#define POLVALID 253,8987 -#define INVSPDIFI 254,9009 -#define SPD24SEL 257,9068 -#define CHB3D 260,9126 -#define CHB3D5C 261,9146 -#define CH0_INT_EN 264,9210 -#define CH1_INT_EN 265,9234 -#define CHINT0 268,9287 -#define CHINT1 269,9308 -#define CH0BUSY 270,9329 -#define CH1BUSY 271,9351 -#define EXBASEN 274,9416 -#define BASE2LIN 275,9438 -#define CENTR2LIN 276,9460 -#define CB2LIN 277,9483 -#define CHB3D6C 278,9522 -#define DAC2SPDO 281,9587 -#define SPDCOPYRHT 282,9609 -#define ENSPDOUT 283,9633 -#define FMSEL 286,9698 -#define VSBSEL 287,9718 -#define VMPU 288,9739 -#define NXCHG 289,9758 -#define REAR2LIN 292,9819 -#define MUTECH1 293,9841 -#define ENCENTER 294,9863 -#define SELSPDIFI2 297,9928 -#define SPDF_AC97 298,9952 -#define AC3_EN 301,10018 -#define FM_EN 302,10039 -#define SPD32SEL 303,10059 -#define XCHGDAC 304,10081 -#define ENDBDAC 305,10103 -#define SPDIFI48K 308,10168 -#define SPDO5V 309,10191 -#define N4SPK3D 310,10212 -#define RESET 311,10234 -#define PWD 312,10254 -#define SPDIF48K 313,10272 -#define CDPLAY 316,10341 -#define X3DEN 317,10362 -#define REAR2FRONT 318,10382 -#define SPK4 319,10406 -#define WSMUTE 320,10425 -#define FMMUTE 321,10446 -#define SPDVALID 324,10500 -#define CENTR2MIC 325,10522 -#define SPD32KFMT 328,10579 -#define CM_CFMT_DACSHIFT 330,10603 -#define CM_CFMT_ADCSHIFT 331,10632 -#define CM_FREQ_DACSHIFT 332,10661 -#define CM_FREQ_ADCSHIFT 333,10690 -#define RSTDAC 334,10719 -#define RSTADC 335,10742 -#define ENDAC 336,10765 -#define ENADC 337,10785 -#define PAUSEDAC 338,10805 -#define PAUSEADC 339,10829 -#define CODEC_CMI_ADC_FRAME1 340,10853 -#define CODEC_CMI_ADC_FRAME2 341,10903 -#define CODEC_CMI_DAC_FRAME1 342,10953 -#define CODEC_CMI_DAC_FRAME2 343,11003 -#define DACINT 344,11053 -#define ADCINT 345,11075 -#define DACBUSY 346,11097 -#define ADCBUSY 347,11121 -#define ENDACINT 348,11145 -#define ENADCINT 349,11173 -static const unsigned sample_size[351,11202 -static const unsigned sample_shift[352,11256 -#define SND_DEV_DSP16 354,11312 -#define NR_DEVICE 356,11339 -#define set_dac1_rate 358,11393 -#define set_dac1_rate_unlocked 359,11428 -#define stop_dac1 360,11481 -#define stop_dac1_unlocked 361,11508 -#define get_dmadac1 362,11553 -static unsigned int devindex 364,11585 -struct cm_state cm_state368,11670 - struct dmabuf dmabuf398,12321 -#define CAN_AC3_HW 443,13296 -#define CAN_AC3_SW 444,13347 -#define CAN_AC3 445,13398 -#define CAN_DUAL_DAC 446,13442 -#define CAN_MULTI_CH_HW 447,13495 -#define CAN_MULTI_CH 448,13551 -#define CAN_LINE_AS_REAR 449,13606 -#define CAN_LINE_AS_BASS 450,13662 -#define CAN_MIC_AS_BASS 451,13718 -#define DO_AC3_HW 454,13803 -#define DO_AC3_SW 455,13833 -#define DO_AC3 456,13863 -#define DO_DUAL_DAC 457,13904 -#define DO_MULTI_CH_HW 458,13936 -#define DO_MULTI_CH 459,13971 -#define DO_LINE_AS_REAR 460,14023 -#define DO_LINE_AS_BASS 461,14079 -#define DO_MIC_AS_BASS 462,14135 -#define DO_SPDIF_OUT 463,14190 -#define DO_SPDIF_IN 464,14223 -#define DO_SPDIF_LOOP 465,14255 -#define DO_BIGENDIAN_W 466,14289 -#define DO_BIGENDIAN_R 467,14347 -static int mpuio 471,14431 -static int fmio 472,14453 -static int joystick 473,14474 -static int spdif_inverse 474,14499 -static int spdif_loop 475,14529 -static int spdif_out 476,14556 -static int use_line_as_rear 477,14582 -static int use_line_as_bass 478,14615 -static int use_mic_as_bass 479,14648 -static int mic_boost 480,14680 -static int hw_copy 481,14706 -static inline unsigned ld2(507,15987 -static void maskb(528,16369 -static void maskw(533,16491 -static void maskl(538,16613 -static void set_dmadac1(543,16735 -static void set_dmaadc(551,16989 -static void set_dmadac(558,17227 -static void set_countadc(567,17523 -static void set_countdac(572,17645 -static unsigned get_dmadac(579,17826 -static unsigned get_dmaadc(590,18099 -static void wrmixer(601,18372 -static unsigned char rdmixer(643,19531 -static void set_fmt_unlocked(679,20335 -static void set_fmt(690,20652 -static void frobindir(699,20871 -} rate_lookup[712,21217 -static void set_spdif_copyright(724,21674 -static void set_spdif_loop(730,21879 -static void set_spdif_monitor(744,22252 -static void set_spdifout_level(753,22522 -static void set_spdifin_inverse(760,22708 -static void set_spdifin_channel2(779,23246 -static void set_spdifin_valid(786,23450 -static void set_spdifout_unlocked(792,23601 -static void set_spdifout(820,24485 -static void set_spdifin_unlocked(829,24684 -static void set_spdifin(843,25100 -static unsigned parity(853,25328 -static void set_ac3_unlocked(868,25549 -static void set_line_as_rear(926,27493 -static void set_line_as_bass(939,27822 -static void set_mic_as_bass(952,28173 -static void set_hw_copy(965,28492 -static void set_ac3(973,28723 -static int trans_ac3(983,28946 -static void set_adc_rate_unlocked(1016,29820 -static void set_adc_rate(1038,30324 -static void set_dac_rate(1063,30920 -static inline void reset_adc(1094,31715 -static inline void reset_dac(1102,31933 -static inline void pause_adc(1112,32197 -static inline void pause_dac(1117,32305 -static inline void disable_adc(1124,32459 -static inline void disable_dac(1132,32629 -static inline void enable_adc(1142,32847 -static inline void enable_dac_unlocked(1152,33088 -static inline void enable_dac(1165,33386 -static inline void stop_adc_unlocked(1174,33568 -static inline void stop_adc(1183,33764 -static inline void stop_dac_unlocked(1193,33943 -static inline void stop_dac(1204,34194 -static inline void start_adc_unlocked(1213,34372 -static void start_adc(1223,34669 -static void start_dac1_unlocked(1232,34842 -static void start_dac_unlocked(1241,35087 -static void start_dac(1252,35386 -static int set_dac_channels(1263,35618 -#define DMABUF_DEFAULTORDER 1346,38623 -#define DMABUF_MINORDER 1347,38667 -static void dealloc_dmabuf(1349,38694 -static int prog_dmabuf(1366,39218 -static inline void clear_advance(1445,41715 -static void cm_update_ptr(1468,42338 -static irqreturn_t cm_interrupt(1528,44104 -static const char invalid_magic[1562,45126 -#define VALIDATE_STATE(VALIDATE_STATE1564,45205 -#define MT_4 1574,45552 -#define MT_5MUTE 1575,45576 -#define MT_4MUTEMONO 1576,45600 -#define MT_6MUTE 1577,45624 -#define MT_5MUTEMONO 1578,45648 -} mixtable[1586,45775 -static const unsigned char volidx[1597,46625 -static unsigned mixer_outmask(1609,46905 -static unsigned mixer_recmask(1623,47216 -static int mixer_ioctl(1637,47528 -static int cm_open_mixdev(1840,53291 -static int cm_release_mixdev(1858,53704 -static int cm_ioctl_mixdev(1866,53871 -static /*const*/ struct file_operations cm_mixer_fops 1871,54050 -static int drain_dac(1882,54322 -static ssize_t cm_read(1919,55568 -static ssize_t cm_write(2019,58220 -static unsigned int cm_poll(2242,64241 -static int cm_mmap(2278,65257 -#define SNDCTL_SPDIF_COPYRIGHT 2313,66049 -#define SNDCTL_SPDIF_LOOP 2314,66142 -#define SNDCTL_SPDIF_MONITOR 2315,66219 -#define SNDCTL_SPDIF_LEVEL 2316,66296 -#define SNDCTL_SPDIF_INV 2317,66379 -#define SNDCTL_SPDIF_SEL2 2318,66461 -#define SNDCTL_SPDIF_VALID 2319,66533 -#define SNDCTL_SPDIFOUT 2320,66606 -#define SNDCTL_SPDIFIN 2321,66675 -static int cm_ioctl(2323,66744 -static int cm_open(2816,81240 -static int cm_release(2880,83166 -static /*const*/ struct file_operations cm_audio_fops 2918,84084 -static struct initvol initvol2932,84412 -} initvol[2935,84458 -} initvol[] __initdata 2935,84458 -static int query_chip(2945,84749 -#define echo_option(echo_option2994,86014 -static int __devinit cm_probe(2997,86073 -static void __devexit cm_remove(3282,93726 -static struct pci_device_id id_table[3325,94803 -static struct pci_device_id id_table[] __devinitdata 3325,94803 -static struct pci_driver cm_driver 3335,95257 -static int __init init_cmpci(3342,95422 -static void __exit cleanup_cmpci(3348,95587 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/pas2_pcm.c,1121 -#define DEB(DEB26,655 -#define PAS_PCM_INTRBITS 29,681 -#define PCM_NON 34,761 -#define PCM_DAC 35,779 -#define PCM_ADC 36,797 -static unsigned long pcm_speed;38,816 -static unsigned char pcm_channels 39,869 -static unsigned char pcm_bits 40,932 -static unsigned char pcm_filter;41,995 -static unsigned char pcm_mode 42,1046 -static unsigned long pcm_count;43,1087 -static unsigned short pcm_bitsok 44,1119 -static int pcm_busy;45,1179 -int pas_audiodev 46,1205 -static int open_mode;47,1240 -static int pcm_set_speed(51,1297 -static int pcm_set_channels(121,2899 -static int pcm_set_bits(137,3184 -static int pas_audio_ioctl(154,3420 -static void pas_audio_reset(205,4355 -static int pas_audio_open(212,4525 -static void pas_audio_close(238,4992 -static void pas_audio_output_block(254,5303 -static void pas_audio_start_input(300,6374 -static void pas_audio_trigger(345,7440 -static int pas_audio_prepare_for_input(363,7855 -static int pas_audio_prepare_for_output(369,7965 -static struct audio_driver pas_audio_driver 375,8076 -void __init pas_pcm_init(389,8485 -void pas_pcm_interrupt(411,9026 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/nm256.h,2111 -#define _NM256_H_2,18 -enum nm256rev nm256rev10,161 - REV_NM256AV,11,177 - REV_NM256AV, REV_NM256ZX11,177 -struct nm256_info nm256_info15,236 -#define NM_MAGIC_SIG 18,322 - struct nm256_ports nm256_ports59,1380 - struct sinfo sinfo121,3038 -#define NM_SIGNATURE 135,3348 -#define NM_SIG_MASK 137,3402 -#define NM_PORT2_SIZE 140,3472 -#define NM_MIXER_OFFSET 143,3562 -#define NM_MAX_COEFFICIENT 146,3640 -#define NM_INT_REG 149,3705 -#define NM_PLAYBACK_INT 151,3750 -#define NM_RECORD_INT 152,3779 -#define NM_MISC_INT_1 153,3807 -#define NM_MISC_INT_2 154,3836 -#define NM_ACK_INT(NM_ACK_INT155,3862 -#define NM_MIXER_STATUS_OFFSET 158,3996 -#define NM_MIXER_READY_MASK 159,4033 -#define NM_MIXER_PRESENCE 160,4068 -#define NM_PRESENCE_MASK 161,4100 -#define NM_PRESENCE_VALUE 162,4132 -#define NM2_PLAYBACK_INT 168,4265 -#define NM2_RECORD_INT 169,4298 -#define NM2_MISC_INT_1 170,4329 -#define NM2_MISC_INT_2 171,4356 -#define NM2_ACK_INT(NM2_ACK_INT172,4383 -#define NM2_MIXER_STATUS_OFFSET 175,4513 -#define NM2_MIXER_READY_MASK 176,4551 -#define NM_PLAYBACK_REG_OFFSET 179,4634 -#define NM_RECORD_REG_OFFSET 181,4713 -#define NM_RATE_REG_OFFSET 184,4829 -#define NM_RATE_STEREO 187,4926 -#define NM_RATE_BITS_16 188,4951 -#define NM_RATE_MASK 189,4977 -#define NM_PLAYBACK_ENABLE_REG 192,5036 -#define NM_PLAYBACK_ENABLE_FLAG 193,5098 -#define NM_PLAYBACK_ONESHOT 194,5132 -#define NM_PLAYBACK_FREERUN 195,5162 -#define NM_AUDIO_MUTE_REG 198,5223 -#define NM_AUDIO_MUTE_LEFT 199,5281 -#define NM_AUDIO_MUTE_RIGHT 200,5315 -#define NM_RECORD_ENABLE_REG 203,5384 -#define NM_RECORD_ENABLE_FLAG 204,5440 -#define NM_RECORD_FREERUN 205,5472 -#define NM_RBUFFER_START 207,5501 -#define NM_RBUFFER_END 208,5555 -#define NM_RBUFFER_WMARK 209,5610 -#define NM_RBUFFER_CURRP 210,5664 -#define NM_PBUFFER_START 212,5719 -#define NM_PBUFFER_END 213,5775 -#define NM_PBUFFER_WMARK 214,5832 -#define NM_PBUFFER_CURRP 215,5888 -#define NM_FIX_PORT 221,6105 -#define DEFwritePortX(DEFwritePortX232,6443 -DEFwritePortX 248,6833 -#define DEFreadPortX(DEFreadPortX252,6914 -nm256_readBuffer8 278,7466 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus_wave.c,6894 -#define GUSPNP_AUTODETECT24,682 -#define GUS_BANK_SIZE 32,804 -#define MAX_SAMPLE 34,868 -#define MAX_PATCH 35,891 -#define NOT_SAMPLE 37,914 -struct voice_infovoice_info39,941 -#define LMODE_FINISH 52,1298 -#define LMODE_PCM 53,1322 -#define LMODE_PCM_STOP 54,1343 -#define VMODE_HALT 56,1420 -#define VMODE_ENVELOPE 57,1442 -#define VMODE_START_NOTE 58,1468 -static struct voice_alloc_info *voice_alloc;77,1899 -static struct address_info *gus_hw_config;78,1944 -static int gus_dma2 83,2110 -static int dual_dma_mode;84,2141 -static long gus_mem_size;85,2172 -static long free_mem_ptr;86,2202 -static int gus_busy;87,2232 -static int gus_no_dma;88,2258 -static int nr_voices;89,2286 -static int gus_devnum;90,2313 -static int volume_base,91,2341 -static int volume_base, volume_scale,91,2341 -static int volume_base, volume_scale, volume_method;91,2341 -static int gus_recmask 92,2399 -static int recording_active;93,2445 -static int only_read_access;94,2479 -static int only_8_bits;95,2513 -int iw_mode 97,2543 -int gus_wave_volume 98,2572 -int gus_pcm_volume 99,2610 -int have_gus_max 100,2647 -static int gus_line_vol 101,2681 -static unsigned char mix_image 102,2730 -int gus_timer_enabled 104,2770 -static int active_device;111,2957 -#define GUS_DEV_WAVE 113,2989 -#define GUS_DEV_PCM_DONE 114,3036 -#define GUS_DEV_PCM_CONTINUE 115,3095 -static int gus_audio_speed;117,3167 -static int gus_audio_channels;118,3200 -static int gus_audio_bits;119,3236 -static int gus_audio_bsize;120,3268 -static char bounce_buf[121,3301 -#define MAX_PCM_BUFFERS 129,3478 -static int pcm_bsize,131,3549 -static int pcm_bsize, pcm_nblk,131,3549 -static int pcm_bsize, pcm_nblk, pcm_banksize;131,3549 -static int pcm_datasize[132,3600 -static volatile int pcm_head,133,3647 -static volatile int pcm_head, pcm_tail,133,3647 -static volatile int pcm_head, pcm_tail, pcm_qlen;133,3647 -static volatile int pcm_active;134,3697 -static volatile int dma_active;135,3729 -static int pcm_opened;136,3761 -static int pcm_current_dev;137,3789 -static int pcm_current_block;138,3822 -static unsigned long pcm_current_buf;139,3857 -static int pcm_current_count;140,3895 -static int pcm_current_intrflag;141,3930 -spinlock_t gus_lock=142,3968 -static struct voice_info voices[146,4035 -static int freq_div_table[148,4073 -static struct patch_info *samples;171,4474 -static long sample_ptrs[172,4509 -static int sample_map[173,4554 -static int free_sample;174,4586 -static int mixer_type;175,4615 -static int patch_table[178,4645 -static int patch_map[179,4685 -static struct synth_info gus_info 181,4717 -#define INSTANT_RAMP 195,5301 -#define FAST_RAMP 196,5359 -static void reset_sample_memory(198,5409 -void gus_delay(219,5796 -static void gus_poke(227,5873 -static unsigned char gus_peek(238,6154 -void gus_write8(253,6459 -static unsigned char gus_read8(259,6631 -static unsigned char gus_look8(270,6832 -static void gus_write16(281,7031 -static unsigned short gus_read16(290,7268 -static unsigned short gus_look16(303,7514 -static void gus_write_addr(316,7764 -static void gus_select_voice(350,8626 -static void gus_select_max_voices(357,8736 -static void gus_voice_on(370,8977 -static void gus_voice_off(377,9140 -static void gus_voice_mode(382,9220 -static void gus_voice_freq(392,9494 -static void gus_voice_volume(407,9880 -static void gus_voice_balance(413,10044 -static void gus_ramp_range(418,10154 -static void gus_ramp_rate(424,10336 -static void gus_rampon(429,10482 -static void gus_ramp_mode(438,10657 -static void gus_rampoff(448,10930 -static void gus_set_voice_pos(453,10990 -static void gus_voice_init(468,11384 -static void gus_voice_init2(485,11814 -static void step_envelope(507,12452 -static void init_envelope(570,13993 -static void start_release(578,14126 -static void gus_voice_fade(593,14509 -static void gus_reset(634,15497 -static void gus_initialize(650,15740 -static void __init pnp_mem_init(806,19520 -#define CHUNK_SIZE 809,19579 -#define BANK_SIZE 810,19609 -#define CHUNKS_PER_BANK 811,19641 -int __init gus_wave_detect(975,24262 -static int guswave_ioctl(1058,25972 -static int guswave_set_instr(1084,26462 -static int guswave_kill_note(1117,27271 -static void guswave_aftertouch(1137,27681 -static void guswave_panning(1141,27751 -static void guswave_volume_method(1147,27879 -static void compute_volume(1153,28022 -static void compute_and_set_volume(1180,28730 -static void dynamic_volume_change(1236,29878 -static void guswave_controller(1276,30737 -static int guswave_start_note2(1333,32004 -static int guswave_start_note(1522,36955 -static void guswave_reset(1581,38545 -static int guswave_open(1592,38669 -static void guswave_close(1625,39321 -static int guswave_load_patch(1635,39461 -static void guswave_hw_control(1898,45672 -static int gus_audio_set_speed(2044,49253 -static int gus_audio_set_channels(2068,49728 -static int gus_audio_set_bits(2080,49946 -static int gus_audio_ioctl(2095,50141 -static void gus_audio_reset(2147,51192 -static int saved_iw_mode;2156,51333 -static int gus_audio_open(2158,51383 -static void gus_audio_close(2203,52267 -static void gus_audio_update_volume(2219,52524 -static void play_next_pcm_block(2236,52933 -static void gus_transfer_output_block(2332,55390 -static void gus_uninterleave8(2417,57532 -static void gus_uninterleave16(2432,57888 -static void gus_audio_output_block(2447,58271 -static void gus_audio_start_input(2470,58879 -static int gus_audio_prepare_for_input(2491,59402 -static int gus_audio_prepare_for_output(2509,59830 -static int gus_local_qlen(2540,60540 -static struct audio_driver gus_audio_driver 2546,60599 -static void guswave_setup_voice(2560,61009 -static void guswave_bender(2575,61545 -static int guswave_alloc(2590,61943 -static struct synth_operations guswave_operations 2634,62654 -static void set_input_volumes(2660,63365 -#define MIX_DEVS 2697,64151 -int gus_default_mixer_ioctl(2700,64241 -static struct mixer_operations gus_mixer_operations 2826,66794 -static int __init gus_default_mixer_init(2834,66955 -void __init gus_wave_init(2859,67424 -void __exit gus_wave_unload(3101,73341 -static void do_loop_irq(3134,74158 -static void do_volume_irq(3218,75871 -void gus_voice_irq(3273,77213 -void guswave_dma_irq(3320,78061 -static volatile int select_addr,3370,79093 -static volatile int select_addr, data_addr;3370,79093 -static volatile int curr_timer;3371,79137 -void gus_timer_command(3373,79170 -static void arm_timer(3388,79440 -static unsigned int gus_tmr_start(3408,79929 -static void gus_tmr_disable(3429,80316 -static void gus_tmr_restart(3435,80430 -static struct sound_lowlev_timer gus_tmr 3444,80630 -static void gus_tmr_install(3453,80738 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/yss225.h,26 -#define __yss255_h__2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sys_timer.c,808 -static volatile int opened,21,569 -static volatile int opened, tmr_running;21,569 -static volatile time_t tmr_offs,22,610 -static volatile time_t tmr_offs, tmr_ctr;22,610 -static volatile unsigned long ticks_offs;23,652 -static volatile int curr_tempo,24,694 -static volatile int curr_tempo, curr_timebase;24,694 -static volatile unsigned long curr_ticks;25,741 -static volatile unsigned long next_event_time;26,783 -static unsigned long prev_event_time;27,830 -static spinlock_t lock=30,920 -static struct timer_list def_tmr 32,964 -tmr2ticks(35,1060 -poll_def_tmr(52,1442 -tmr_reset(80,1893 -def_tmr_open(95,2145 -def_tmr_close(116,2374 -def_tmr_event(123,2462 -def_tmr_get_time(185,3499 -static int def_tmr_ioctl(194,3619 -def_tmr_arm(265,4881 -struct sound_timer_operations default_sound_timer 277,5072 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/maestro.h,368 -#define ESS_MEM_DATA 9,70 -#define ESS_MEM_INDEX 10,97 -#define ESS_AC97_INDEX 17,257 -#define ESS_AC97_DATA 18,303 -#define RING_BUS_CTRL_L 32,659 -#define RING_BUS_CTRL_H 33,689 -#define ESS_SETUP_18 39,796 -#define ESS_SETUP_A2 45,861 -#define ESS_SETUP_A4 51,917 -#define ESS_SETUP_A6 52,944 -#define ESS_WAVETABLE_SIZE 58,1024 -#define ESS_WAVETABLE_2M 59,1056 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs46xx.c,6434 -#define CS_MIDIINBUF 103,3965 -#define CS_MIDIOUTBUF 104,3991 -#define ADC_RUNNING 106,4018 -#define DAC_RUNNING 107,4040 -#define CS_FMT_16BIT 109,4063 -#define CS_FMT_STEREO 110,4117 -#define CS_FMT_MASK 111,4141 -#define CS_TYPE_ADC 113,4164 -#define CS_TYPE_DAC 114,4186 -#define CS_TRUE 116,4209 -#define CS_FALSE 117,4228 -#define CS_INC_USE_COUNT(CS_INC_USE_COUNT119,4249 -#define CS_DEC_USE_COUNT(CS_DEC_USE_COUNT120,4293 -#define CS_DEC_AND_TEST(CS_DEC_AND_TEST121,4337 -#define CS_IN_USE(CS_IN_USE122,4389 -#define CS_DBGBREAKPOINT 124,4433 -#define CS461X_BA0_SIZE 129,4510 -#define CS461X_BA1_DATA0_SIZE 130,4542 -#define CS461X_BA1_DATA1_SIZE 131,4579 -#define CS461X_BA1_PRG_SIZE 132,4616 -#define CS461X_BA1_REG_SIZE 133,4651 -#define GOF_PER_SEC 135,4687 -#define CSDEBUG_INTERFACE 137,4712 -#define CSDEBUG 138,4740 -#define CS_DBGOUT(CS_DBGOUT149,5088 -#define CS_DBGOUT(CS_DBGOUT151,5190 -#define CS_INIT 156,5259 -#define CS_ERROR 157,5330 -#define CS_INTERRUPT 158,5396 -#define CS_FUNCTION 159,5479 -#define CS_WAVE_WRITE 160,5540 -#define CS_WAVE_READ 161,5608 -#define CS_MIDI_WRITE 162,5674 -#define CS_MIDI_READ 163,5742 -#define CS_MPU401_WRITE 164,5808 -#define CS_MPU401_READ 165,5879 -#define CS_OPEN 166,5949 -#define CS_RELEASE 167,6017 -#define CS_PARMS 168,6090 -#define CS_IOCTL 169,6163 -#define CS_PM 170,6216 -#define CS_TMP 171,6252 -#define CS_IOCTL_CMD_SUSPEND 173,6306 -#define CS_IOCTL_CMD_RESUME 174,6350 -static unsigned long cs_debuglevel=177,6405 -static unsigned long cs_debugmask=179,6506 -static unsigned long hercules_egpio_disable;182,6644 -static unsigned long initdelay=184,6769 -static unsigned long powerdown=186,6863 -#define DMABUF_DEFAULTORDER 188,6977 -static unsigned long defaultorder=189,7007 -static int external_amp;192,7095 -static int thinkpad;194,7152 -static unsigned cs_powerdown=202,7367 -static unsigned cs_laptop_wait=203,7399 -struct cs_channel cs_channel206,7472 -#define CS46XX_MAJOR_VERSION 213,7532 -#define CS46XX_MINOR_VERSION 214,7565 -#define CS46XX_ARCH 217,7616 -#define CS46XX_ARCH 219,7672 -struct list_head cs46xx_devs 222,7730 -#define CS_CARD_MAGIC 225,7845 -#define CS_STATE_MAGIC 226,7892 -#define NR_HW_CH 227,7940 -#define NR_AC97 230,8027 -static const unsigned sample_size[232,8047 -static const unsigned sample_shift[233,8101 -struct cs_state cs_state236,8225 - struct dmabuf dmabuf250,8502 -struct cs_card cs_card303,10064 -static inline unsigned ld2(394,12422 -#define SOUND_MIXER_CS_GETDBGLEVEL 423,12726 -#define SOUND_MIXER_CS_SETDBGLEVEL 424,12783 -#define SOUND_MIXER_CS_GETDBGMASK 425,12840 -#define SOUND_MIXER_CS_SETDBGMASK 426,12896 -#define SOUND_MIXER_CS_APM 427,12952 -void printioctl(429,13003 -static void cs461x_poke(626,19468 -static unsigned int cs461x_peek(631,19617 -static void cs461x_pokeBA0(636,19757 -static unsigned int cs461x_peekBA0(641,19879 -static struct cs_channel *cs_alloc_pcm_channel(650,20117 -static struct cs_channel *cs_alloc_rec_pcm_channel(659,20314 -static void cs_free_pcm_channel(668,20515 -static void cs_set_divisor(680,20888 -static void cs_mute(705,21566 -static unsigned int cs_set_dac_rate(742,22944 -static unsigned int cs_set_adc_rate(797,24710 -static void cs_play_setup(910,28394 -static struct InitStructInitStruct949,30630 -} InitArray[953,30683 -void SetCaptureSPValues(967,31070 -static void cs_rec_setup(980,31513 -static inline unsigned cs_get_dma_addr(1005,32136 -static void resync_dma_ptrs(1037,33027 -static inline void __stop_adc(1052,33387 -static void stop_adc(1065,33672 -static void start_adc(1076,33990 -static inline void __stop_dac(1103,34775 -static void stop_dac(1116,35050 -static void start_dac(1127,35369 -#define DMABUF_MINORDER 1155,36287 -static int alloc_dmabuf(1160,36390 -static void dealloc_dmabuf(1242,38728 -static int __prog_dmabuf(1271,39572 -static int prog_dmabuf(1452,46546 -static void cs_clear_tail(1463,46692 -static int drain_dac(1467,46747 -static void cs_update_ptr(1532,48445 -static void cs_handle_midi(1643,51302 -static irqreturn_t cs_interrupt(1674,52420 -static ssize_t cs_midi_read(1719,53685 -static ssize_t cs_midi_write(1762,55300 -static unsigned int cs_midi_poll(1810,57186 -static int cs_midi_open(1834,58029 -static int cs_midi_release(1892,60121 -static /*const*/ struct file_operations cs_midi_fops 1929,61574 -static void CopySamples(1957,62435 -static unsigned cs_copy_to_user(2033,64614 -static ssize_t cs_read(2085,65860 -static ssize_t cs_write(2192,68750 -static unsigned int cs_poll(2315,71759 -static int cs_mmap(2389,73514 -static int cs_ioctl(2469,75508 -static void amp_none(3070,90138 -static void amp_voyetra(3078,90229 -static void amp_hercules(3107,90906 -static void clkrun_hack(3144,92028 -static int cs_open(3186,93000 -static int cs_release(3366,97894 -static void printpm(3451,100487 -void cs46xx_ac97_suspend(3492,102501 -void cs46xx_ac97_resume(3563,104812 -static int cs46xx_restart_part(3608,106298 -static int cs46xx_suspend(3663,107812 -static int cs46xx_resume(3755,110012 -static /*const*/ struct file_operations cs461x_fops 3805,111195 -static u16 _cs_ac97_get(3820,111480 -static u16 cs_ac97_get(3930,114533 -static void cs_ac97_set(3941,114754 -static int cs_open_mixdev(4053,117968 -static int cs_release_mixdev(4100,119198 -static int cs_ioctl_mixdev(4152,120668 -static /*const*/ struct file_operations cs_mixer_fops 4228,122366 -static int __init cs_ac97_init(4237,122594 -static void cs461x_download_image(4308,124424 -static void cs461x_reset(4337,125114 -static void cs461x_clear_serial_FIFOs(4366,125691 -static int cs461x_powerdown(4437,127486 -static int cs46xx_powerup(4678,133778 -static void cs461x_proc_start(4896,139150 -static void cs461x_proc_stop(4923,139826 -static int cs_hardware_init(4932,140032 -struct cs_card_typecs_card_type5236,148850 -static struct cs_card_type cards[5246,149025 -static const char cs46xx_banner[5338,150699 -static const char fndmsg[5339,150883 -static int __devinit cs46xx_probe(5341,150962 -static void __devexit cs46xx_remove(5598,158827 - CS46XX_4610 5689,161088 - CS46XX_4612,5690,161106 - CS46XX_4615,5691,161141 -static struct pci_device_id cs46xx_pci_tbl[5694,161180 -struct pci_driver cs46xx_pci_driver 5721,161819 -int __init cs46xx_init_module(5730,162045 -void __exit cs46xx_cleanup_module(5748,162483 -int cs46xx_pm_callback(5759,162784 -static int cs46xx_suspend_tbl(5796,163650 -static int cs46xx_resume_tbl(5805,163901 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ymfpci.h,5449 -#define __YMFPCI_H2,19 -#define YDSXGR_INTFLAG 32,999 -#define YDSXGR_ACTIVITY 33,1031 -#define YDSXGR_GLOBALCTRL 34,1064 -#define YDSXGR_ZVCTRL 35,1098 -#define YDSXGR_TIMERCTRL 36,1129 -#define YDSXGR_TIMERCTRL_TEN 37,1162 -#define YDSXGR_TIMERCTRL_TIEN 38,1200 -#define YDSXGR_TIMERCOUNT 39,1239 -#define YDSXGR_SPDIFOUTCTRL 40,1273 -#define YDSXGR_SPDIFOUTSTATUS 41,1309 -#define YDSXGR_EEPROMCTRL 42,1347 -#define YDSXGR_SPDIFINCTRL 43,1381 -#define YDSXGR_SPDIFINSTATUS 44,1416 -#define YDSXGR_DSPPROGRAMDL 45,1453 -#define YDSXGR_DLCNTRL 46,1489 -#define YDSXGR_GPIOININTFLAG 47,1521 -#define YDSXGR_GPIOININTENABLE 48,1558 -#define YDSXGR_GPIOINSTATUS 49,1597 -#define YDSXGR_GPIOOUTCTRL 50,1633 -#define YDSXGR_GPIOFUNCENABLE 51,1668 -#define YDSXGR_GPIOTYPECONFIG 52,1706 -#define YDSXGR_AC97CMDDATA 53,1744 -#define YDSXGR_AC97CMDADR 54,1779 -#define YDSXGR_PRISTATUSDATA 55,1813 -#define YDSXGR_PRISTATUSADR 56,1850 -#define YDSXGR_SECSTATUSDATA 57,1886 -#define YDSXGR_SECSTATUSADR 58,1923 -#define YDSXGR_SECCONFIG 59,1959 -#define YDSXGR_LEGACYOUTVOL 60,1992 -#define YDSXGR_LEGACYOUTVOLL 61,2028 -#define YDSXGR_LEGACYOUTVOLR 62,2065 -#define YDSXGR_NATIVEDACOUTVOL 63,2102 -#define YDSXGR_NATIVEDACOUTVOLL 64,2141 -#define YDSXGR_NATIVEDACOUTVOLR 65,2181 -#define YDSXGR_SPDIFOUTVOL 66,2221 -#define YDSXGR_SPDIFOUTVOLL 67,2256 -#define YDSXGR_SPDIFOUTVOLR 68,2292 -#define YDSXGR_AC3OUTVOL 69,2328 -#define YDSXGR_AC3OUTVOLL 70,2361 -#define YDSXGR_AC3OUTVOLR 71,2395 -#define YDSXGR_PRIADCOUTVOL 72,2429 -#define YDSXGR_PRIADCOUTVOLL 73,2465 -#define YDSXGR_PRIADCOUTVOLR 74,2502 -#define YDSXGR_LEGACYLOOPVOL 75,2539 -#define YDSXGR_LEGACYLOOPVOLL 76,2576 -#define YDSXGR_LEGACYLOOPVOLR 77,2614 -#define YDSXGR_NATIVEDACLOOPVOL 78,2652 -#define YDSXGR_NATIVEDACLOOPVOLL 79,2692 -#define YDSXGR_NATIVEDACLOOPVOLR 80,2732 -#define YDSXGR_SPDIFLOOPVOL 81,2772 -#define YDSXGR_SPDIFLOOPVOLL 82,2808 -#define YDSXGR_SPDIFLOOPVOLR 83,2845 -#define YDSXGR_AC3LOOPVOL 84,2882 -#define YDSXGR_AC3LOOPVOLL 85,2916 -#define YDSXGR_AC3LOOPVOLR 86,2951 -#define YDSXGR_PRIADCLOOPVOL 87,2986 -#define YDSXGR_PRIADCLOOPVOLL 88,3023 -#define YDSXGR_PRIADCLOOPVOLR 89,3061 -#define YDSXGR_NATIVEADCINVOL 90,3099 -#define YDSXGR_NATIVEADCINVOLL 91,3137 -#define YDSXGR_NATIVEADCINVOLR 92,3176 -#define YDSXGR_NATIVEDACINVOL 93,3215 -#define YDSXGR_NATIVEDACINVOLL 94,3253 -#define YDSXGR_NATIVEDACINVOLR 95,3292 -#define YDSXGR_BUF441OUTVOL 96,3331 -#define YDSXGR_BUF441OUTVOLL 97,3367 -#define YDSXGR_BUF441OUTVOLR 98,3404 -#define YDSXGR_BUF441LOOPVOL 99,3441 -#define YDSXGR_BUF441LOOPVOLL 100,3478 -#define YDSXGR_BUF441LOOPVOLR 101,3516 -#define YDSXGR_SPDIFOUTVOL2 102,3554 -#define YDSXGR_SPDIFOUTVOL2L 103,3590 -#define YDSXGR_SPDIFOUTVOL2R 104,3627 -#define YDSXGR_SPDIFLOOPVOL2 105,3664 -#define YDSXGR_SPDIFLOOPVOL2L 106,3701 -#define YDSXGR_SPDIFLOOPVOL2R 107,3739 -#define YDSXGR_ADCSLOTSR 108,3777 -#define YDSXGR_RECSLOTSR 109,3810 -#define YDSXGR_ADCFORMAT 110,3843 -#define YDSXGR_RECFORMAT 111,3876 -#define YDSXGR_P44SLOTSR 112,3909 -#define YDSXGR_STATUS 113,3942 -#define YDSXGR_CTRLSELECT 114,3973 -#define YDSXGR_MODE 115,4007 -#define YDSXGR_SAMPLECOUNT 116,4036 -#define YDSXGR_NUMOFSAMPLES 117,4071 -#define YDSXGR_CONFIG 118,4107 -#define YDSXGR_PLAYCTRLSIZE 119,4138 -#define YDSXGR_RECCTRLSIZE 120,4174 -#define YDSXGR_EFFCTRLSIZE 121,4209 -#define YDSXGR_WORKSIZE 122,4244 -#define YDSXGR_MAPOFREC 123,4277 -#define YDSXGR_MAPOFEFFECT 124,4310 -#define YDSXGR_PLAYCTRLBASE 125,4345 -#define YDSXGR_RECCTRLBASE 126,4381 -#define YDSXGR_EFFCTRLBASE 127,4416 -#define YDSXGR_WORKBASE 128,4451 -#define YDSXGR_DSPINSTRAM 129,4484 -#define YDSXGR_CTRLINSTRAM 130,4518 -#define YDSXG_AC97READCMD 132,4554 -#define YDSXG_AC97WRITECMD 133,4588 -#define PCIR_LEGCTRL 135,4624 -#define PCIR_ELEGCTRL 136,4652 -#define PCIR_DSXGCTRL 137,4681 -#define PCIR_DSXPWRCTRL1 138,4710 -#define PCIR_DSXPWRCTRL2 139,4741 -#define PCIR_OPLADR 140,4772 -#define PCIR_SBADR 141,4799 -#define PCIR_MPUADR 142,4825 -#define YDSXG_DSPLENGTH 144,4853 -#define YDSXG_CTRLLENGTH 145,4886 -#define YDSXG_DEFAULT_WORK_SIZE 147,4920 -#define YDSXG_PLAYBACK_VOICES 149,4961 -#define YDSXG_CAPTURE_VOICES 150,4995 -#define YDSXG_EFFECT_VOICES 151,5027 -#define NR_AC97 154,5125 -#define YMF_SAMPF 156,5145 -typedef struct stru_ymfpci_playback_bank stru_ymfpci_playback_bank162,5263 -} ymfpci_playback_bank_t;ymfpci_playback_bank_t193,5991 -typedef struct stru_ymfpci_capture_bank stru_ymfpci_capture_bank195,6018 -} ymfpci_capture_bank_t;ymfpci_capture_bank_t200,6229 -typedef struct stru_ymfpci_effect_bank stru_ymfpci_effect_bank202,6255 -} ymfpci_effect_bank_t;ymfpci_effect_bank_t207,6412 -typedef struct ymf_voice ymfpci_voice_t;ymfpci_voice_t209,6437 -typedef struct ymf_unit ymfpci_t;ymfpci_t216,6714 - YMFPCI_PCM,219,6764 - YMFPCI_SYNTH,220,6777 - YMFPCI_MIDI221,6792 -} ymfpci_voice_type_t;ymfpci_voice_type_t222,6805 -struct ymf_voice ymf_voice224,6829 -struct ymf_capture ymf_capture233,6998 -struct ymf_unit ymf_unit240,7113 -struct ymf_dmabuf ymf_dmabuf288,8228 -struct ymf_pcm_format ymf_pcm_format317,8944 - PLAYBACK_VOICE,325,9142 - CAPTURE_REC,326,9159 - CAPTURE_AC97,327,9173 - EFFECT_DRY_LEFT,328,9188 - EFFECT_DRY_RIGHT,329,9206 - EFFECT_EFF1,330,9225 - EFFECT_EFF2,331,9239 - EFFECT_EFF3332,9253 -} ymfpci_pcm_type_t;ymfpci_pcm_type_t333,9266 -struct ymf_pcm ymf_pcm336,9367 -struct ymf_state ymf_state353,9689 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/maestro.c,6423 -static struct pci_driver maestro_pci_driver;238,11384 -#define M_DEBUG 242,11507 -static int debug;245,11541 -#define M_printk(M_printk246,11559 -#define M_printk(M_printk248,11618 -static int dsps_order;252,11700 -static int use_pm=254,11781 -static int clocking=258,11943 -#define DRIVER_VERSION 272,12315 -#define PCI_VENDOR_ESS 275,12369 -#define PCI_DEVICE_ID_ESS_ESS1968 276,12401 -#define PCI_DEVICE_ID_ESS_ESS1978 277,12459 -#define PCI_VENDOR_ESS_OLD 279,12525 -#define PCI_DEVICE_ID_ESS_ESS0100 282,12635 -#define ESS_CHAN_HARD 285,12722 -#define NEC_VERSA_SUBID1 288,12771 -#define NEC_VERSA_SUBID2 289,12807 -#define ESS_FMT_STEREO 294,12960 -#define ESS_FMT_16BIT 295,12988 -#define ESS_FMT_MASK 296,13015 -#define ESS_DAC_SHIFT 297,13041 -#define ESS_ADC_SHIFT 298,13068 -#define ESS_STATE_MAGIC 300,13093 -#define ESS_CARD_MAGIC 301,13129 -#define DAC_RUNNING 303,13165 -#define ADC_RUNNING 304,13188 -#define MAX_DSP_ORDER 306,13212 -#define MAX_DSPS 307,13236 -#define NR_DSPS 308,13272 -#define NR_IDRS 309,13305 -#define NR_APUS 311,13326 -#define NR_APU_REGS 312,13346 - ACPI_D0=316,13395 - ACPI_D1,317,13407 - ACPI_D2,318,13417 - ACPI_D3319,13427 -#define ACPI_12MHZ 323,13469 -#define ACPI_24MHZ 324,13499 -#define ACPI_978 325,13529 -#define ACPI_SPDIF 326,13557 -#define ACPI_GLUE 327,13587 -#define ACPI__10 328,13616 -#define ACPI_PCIINT 329,13659 -#define ACPI_HV 330,13689 -#define ACPI_GPIO 331,13738 -#define ACPI_ASSP 332,13766 -#define ACPI_SB 333,13794 -#define ACPI_FM 334,13835 -#define ACPI_RB 335,13876 -#define ACPI_MIDI 336,13926 -#define ACPI_GP 337,13955 -#define ACPI_WP 338,13998 -#define ACPI_ALL 340,14047 -#define ACPI_SLEEP 341,14073 -#define ACPI_NONE 343,14166 -u16 acpi_state_mask[347,14266 -static char version[354,14392 -static char version[] __devinitdata 354,14392 -static const unsigned sample_size[359,14515 -static const unsigned sample_shift[360,14569 -enum card_types_t card_types_t362,14625 - TYPE_MAESTRO,363,14645 - TYPE_MAESTRO2,364,14660 - TYPE_MAESTRO2E365,14676 -static const char *card_names[368,14696 -static int clock_freq[374,14840 -static struct notifier_block maestro_nb 382,15078 -struct ess_state ess_state386,15227 - struct dmabuf dmabuf410,15921 -struct ess_card ess_card441,16698 - struct mixer_goo mixer_goo453,16929 -ld2(497,18062 -static void maestro_ac97_set(534,18574 -static u16 maestro_ac97_get(558,18940 -#define AC97_STEREO_MASK 595,19512 -#define AC97_SUPPORTED_MASK 599,19660 -#define AC97_RECORD_MASK 603,19784 -#define supported_mixer(supported_mixer607,19919 - unsigned int mixer_defaults[613,20141 -static struct ac97_mixer_hw ac97_mixer_hw627,20627 -} ac97_hw[630,20692 -static int ac97_read_mixer(651,21371 -static unsigned char lin2log[698,22688 -static void ac97_write_mixer(713,23232 -enum ac97_recsettings ac97_recsettings768,25054 - AC97_REC_MIC=769,25078 - AC97_REC_CD,770,25095 - AC97_REC_VIDEO,771,25109 - AC97_REC_AUX,772,25126 - AC97_REC_LINE,773,25141 - AC97_REC_STEREO,774,25157 - AC97_REC_MONO,775,25219 - AC97_REC_PHONE 776,25273 -static unsigned int ac97_oss_mask[779,25301 -static unsigned int ac97_oss_rm[789,25595 -ac97_recmask_io(805,26149 -static u16 __init maestro_ac97_init(835,26868 -static u16 maestro_pt101_init(900,28853 -maestro_ac97_reset(924,29691 -#define WRITEABLE_MAP 1015,32509 -#define READABLE_MAP 1016,32540 -static void __maestro_write(1023,32722 -static void maestro_write(1034,32984 -static u16 __maestro_read(1046,33230 -static u16 maestro_read(1054,33397 -#define IDR0_DATA_PORT 1078,33862 -#define IDR1_CRAM_POINTER 1079,33891 -#define IDR2_CRAM_DATA 1080,33922 -#define IDR3_WAVE_DATA 1081,33951 -#define IDR4_WAVE_PTR_LOW 1082,33980 -#define IDR5_WAVE_PTR_HI 1083,34011 -#define IDR6_TIMER_CTRL 1084,34041 -#define IDR7_WAVE_ROMRAM 1085,34071 -static void apu_index_set(1087,34102 -static void apu_data_set(1097,34374 -static void apu_set_register(1114,34757 -static u16 apu_get_register(1142,35348 -static void wave_set_register(1171,35846 -static u16 wave_get_register(1185,36146 -static void sound_reset(1200,36459 -static void set_apu_fmt(1209,36667 -static void set_fmt(1221,37034 -static u32 compute_rate(1228,37252 -static void set_dac_rate(1241,37508 -static void set_adc_rate(1269,38202 -static inline void stop_adc(1303,39144 -static void stop_dac(1316,39596 -static void start_dac(1326,39876 -static void start_adc(1344,40310 -ess_play_setup(1373,41082 -ess_rec_setup(1469,43631 -static void set_dmaa(1596,47319 -static void set_dmac(1601,47432 -static inline unsigned get_dmaa(1607,47568 -static inline unsigned get_dmac(1621,47852 -static void stop_bob(1641,48294 -#define ESS_SYSCLK 1651,48590 -static void start_bob(1652,48618 -#define BOB_MIN 1700,49884 -#define BOB_MAX 1701,49903 -static void calc_bob_rate(1702,49923 -prog_dmabuf(1743,51051 -clear_advance(1807,52868 -ess_update_ptr(1828,53352 -ess_interrupt(1909,56179 - enum {UP_EVT,1925,56519 - enum {UP_EVT, DOWN_EVT,1925,56519 - enum {UP_EVT, DOWN_EVT, MUTE_EVT}1925,56519 -static const char invalid_magic[1987,57903 -#define VALIDATE_MAGIC(VALIDATE_MAGIC1989,57990 -#define VALIDATE_STATE(VALIDATE_STATE1997,58278 -#define VALIDATE_CARD(VALIDATE_CARD1998,58338 -static void set_mixer(2000,58397 -mixer_push_state(2015,58768 -static int mixer_ioctl(2025,58962 -static int ess_open_mixdev(2141,62233 -static int ess_release_mixdev(2164,62801 -static int ess_ioctl_mixdev(2173,62976 -static /*const*/ struct file_operations ess_mixer_fops 2182,63211 -static int drain_dac(2192,63486 -comb_stereo(2234,64910 -ess_read(2267,65827 -ess_write(2364,68559 -static unsigned int ess_poll(2451,70995 -static int ess_mmap(2492,72146 -static int ess_ioctl(2532,73042 -set_base_registers(2863,82756 -static void maestro_power(2876,83141 -allocate_buffers(2907,84105 -free_buffers(2964,85936 -ess_open(2984,86514 -ess_release(3085,89130 -static struct file_operations ess_audio_fops 3116,89859 -maestro_config(3129,90119 -parse_power(3365,96283 -maestro_probe(3396,96987 -#define SUBSYSTEM_VENDOR(SUBSYSTEM_VENDOR3521,100049 -static void maestro_remove(3585,101997 -static struct pci_device_id maestro_pci_tbl[3615,102785 -static struct pci_driver maestro_pci_driver 3623,103165 -int __init init_maestro(3630,103325 -static int maestro_notifier(3654,103902 -void cleanup_maestro(3667,104330 -check_suspend(3677,104607 -maestro_suspend(3692,104934 -maestro_resume(3734,105830 -maestro_pm_callback(3803,107413 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/trix.c,1110 -static int mpu;32,686 -static int joystick;34,703 -static unsigned char trix_read(36,725 -static void trix_write(42,886 -static void download_boot(48,1067 -static int trix_set_wss_port(75,1797 -static int __init init_trix_wss(123,2583 -static int __init probe_trix_sb(271,5670 -static int __init probe_trix_mpu(330,6936 -static void __exit unload_trix_wss(371,7739 -static inline void __exit unload_trix_mpu(389,8110 -static inline void __exit unload_trix_sb(394,8217 -static struct address_info cfg;399,8327 -static struct address_info cfg2;400,8359 -static struct address_info cfg_mpu;401,8392 -static int sb;403,8429 -static int fw_load;404,8444 -static int __initdata io 406,8465 -static int __initdata irq 407,8496 -static int __initdata dma 408,8528 -static int __initdata dma2 409,8560 -static int __initdata sb_io 410,8633 -static int __initdata sb_dma 411,8667 -static int __initdata sb_irq 412,8702 -static int __initdata mpu_io 413,8737 -static int __initdata mpu_irq 414,8772 -static int __init init_trix(427,9051 -static void __exit cleanup_trix(488,10413 -static int __init setup_trix 503,10667 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/vidc.c,1624 -#define _SIOC_TYPE(_SIOC_TYPE37,1023 -#define _SIOC_NR(_SIOC_NR40,1082 -#define VIDC_SOUND_CLOCK 43,1121 -#define VIDC_SOUND_CLOCK_EXT 44,1155 -static int vidc_busy;50,1299 -static int vidc_adev;51,1322 -static int vidc_audio_rate;52,1345 -static char vidc_audio_format;53,1374 -static char vidc_audio_channels;54,1406 -static unsigned char vidc_level_l[56,1441 -static unsigned char vidc_level_r[69,1674 -static unsigned int vidc_audio_volume_l;82,1907 -static unsigned int vidc_audio_volume_r;83,1978 -vidc_mixer_set(89,2144 -#define SCALE(SCALE100,2372 -static int vidc_mixer_ioctl(119,2853 -static unsigned int vidc_audio_set_format(173,3832 -#define my_abs(my_abs189,4148 -static int vidc_audio_set_speed(191,4188 -static short vidc_audio_set_channels(258,5970 -static int vidc_audio_open(276,6274 -static void vidc_audio_close(292,6515 -vidc_audio_output_block(306,6864 -vidc_audio_start_input(318,7201 -static int vidc_audio_prepare_for_input(322,7282 -static irqreturn_t vidc_audio_dma_interrupt(327,7376 -static int vidc_audio_prepare_for_output(339,7631 -static void vidc_audio_reset(352,7870 -static int vidc_audio_local_qlen(357,7936 -static void vidc_audio_trigger(362,8011 -static struct audio_driver vidc_audio_driver 384,8475 -static struct mixer_operations vidc_mixer_operations 401,9020 -void vidc_update_filler(408,9172 -#define TYPE(TYPE410,9224 -static void __init attach_vidc(440,9732 -static int __init probe_vidc(512,11528 -static void __exit unload_vidc(522,11758 -static struct address_info cfg;539,12102 -static int __init init_vidc(541,12135 -static void __exit cleanup_vidc(551,12253 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/maestro_tables.h,129 -u16 asp_block_0[6,137 -u16 asp_block_1[42,2275 -u16 asp_block_2[192,10782 -u16 asp_block_3[201,11105 -u16 asp_block_4[214,11757 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/midi_ctrl.h,42 -static unsigned char ctrl_def_values[1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/via82cxxx_audio.c,7693 -#define VIA_VERSION 18,535 -#define DPRINTK(DPRINTK49,1282 -#define DPRINTK(DPRINTK51,1372 -#define assert(assert56,1497 -#define assert(assert58,1524 -#define VIA_PROC_FS 67,1777 -#define VIA_SUPPORT_MMAP 70,1807 -#define MAX_CARDS 72,1859 -#define VIA_CARD_NAME 74,1880 -#define VIA_MODULE_NAME 75,1941 -#define PFX 76,1977 -#define VIA_COUNTER_LIMIT 78,2012 -#define VIA_MAX_BUFFER_DMA_PAGES 81,2072 -#define VIA_DEFAULT_FRAG_TIME 84,2146 -#define VIA_DEFAULT_BUFFER_TIME 85,2180 -#define VIA_MIN_FRAG_NUMBER 88,2262 -#define VIA_MAX_FRAG_NUMBER 89,2293 -#define VIA_MAX_FRAG_SIZE 91,2327 -#define VIA_MIN_FRAG_SIZE 92,2364 -#define VIA_ACLINK_STATUS 96,2520 -#define VIA_ACLINK_CTRL 97,2551 -#define VIA_FUNC_ENABLE 98,2581 -#define VIA_PNP_CONTROL 99,2611 -#define VIA_FM_NMI_CTRL 100,2641 -#define VIA_BASE0_PCM_OUT_CHAN 111,2928 -#define VIA_BASE0_PCM_OUT_CHAN_STATUS 112,2989 -#define VIA_BASE0_PCM_OUT_CHAN_CTRL 113,3032 -#define VIA_BASE0_PCM_OUT_CHAN_TYPE 114,3073 -#define VIA_BASE0_PCM_IN_CHAN 116,3115 -#define VIA_BASE0_PCM_IN_CHAN_STATUS 117,3177 -#define VIA_BASE0_PCM_IN_CHAN_CTRL 118,3219 -#define VIA_BASE0_PCM_IN_CHAN_TYPE 119,3259 -#define VIA_PCM_STATUS 122,3324 -#define VIA_PCM_CONTROL 123,3354 -#define VIA_PCM_TYPE 124,3385 -#define VIA_PCM_LEFTVOL 125,3413 -#define VIA_PCM_RIGHTVOL 126,3444 -#define VIA_PCM_TABLE_ADDR 127,3475 -#define VIA_PCM_STOPRATE 128,3508 -#define VIA_PCM_BLOCK_COUNT 129,3551 -#define VIA_BASE0_FM_OUT_CHAN 132,3631 -#define VIA_BASE0_FM_OUT_CHAN_STATUS 133,3667 -#define VIA_BASE0_FM_OUT_CHAN_CTRL 134,3709 -#define VIA_BASE0_FM_OUT_CHAN_TYPE 135,3749 -#define VIA_BASE0_MULTI_OUT_CHAN 138,3829 -#define VIA_BASE0_MULTI_OUT_CHAN_STATUS 139,3868 -#define VIA_BASE0_MULTI_OUT_CHAN_CTRL 140,3914 -#define VIA_BASE0_MULTI_OUT_CHAN_TYPE 141,3958 -#define VIA_BASE0_AC97_CTRL 143,4003 -#define VIA_BASE0_SGD_STATUS_SHADOW 144,4037 -#define VIA_BASE0_GPI_INT_ENABLE 145,4078 -#define VIA_INTR_OUT 146,4116 -#define VIA_INTR_IN 147,4168 -#define VIA_INTR_FM 148,4219 -#define VIA_INTR_MASK 149,4270 -#define VIA_NEW_INTR_MASK 155,4466 -#define VIA_IRQ_ON_FLAG 158,4548 -#define VIA_IRQ_ON_EOL 159,4621 -#define VIA_INT_SEL_PCI_LAST_LINE_READ 160,4686 -#define VIA_INT_SEL_LAST_SAMPLE_SENT 161,4764 -#define VIA_INT_SEL_ONE_LINE_LEFT 162,4838 -#define VIA_PCM_FMT_STEREO 163,4919 -#define VIA_PCM_FMT_16BIT 164,4998 -#define VIA_PCM_REC_FIFO 165,5077 -#define VIA_RESTART_SGD_ON_EOL 166,5135 -#define VIA_PCM_FMT_MASK 167,5210 -#define VIA_CHAN_TYPE_MASK 168,5275 -#define VIA_CHAN_TYPE_INT_SELECT 171,5379 -#define VIA_CR40_AC97_READY 174,5492 -#define VIA_CR40_AC97_LOW_POWER 175,5525 -#define VIA_CR40_SECONDARY_READY 176,5562 -#define VIA_CR41_AC97_ENABLE 178,5601 -#define VIA_CR41_AC97_RESET 179,5659 -#define VIA_CR41_AC97_WAKEUP 180,5722 -#define VIA_CR41_AC97_SDO 181,5791 -#define VIA_CR41_VRA 182,5861 -#define VIA_CR41_PCM_ENABLE 183,5922 -#define VIA_CR41_FM_PCM_ENABLE 184,6002 -#define VIA_CR41_SB_PCM_ENABLE 185,6076 -#define VIA_CR41_BOOT_MASK 186,6145 -#define VIA_CR41_RUN_MASK 189,6252 -#define VIA_CR42_SB_ENABLE 194,6382 -#define VIA_CR42_MIDI_ENABLE 195,6414 -#define VIA_CR42_FM_ENABLE 196,6448 -#define VIA_CR42_GAME_ENABLE 197,6480 -#define VIA_CR42_MIDI_IRQMASK 198,6514 -#define VIA_CR42_MIDI_PNP 199,6551 -#define VIA_CR44_SECOND_CODEC_SUPPORT 201,6583 -#define VIA_CR44_AC_LINK_ACCESS 202,6630 -#define VIA_CR48_FM_TRAP_TO_NMI 204,6673 -#define VIA_INT_DISABLE_MASK 207,6758 -#define VIA_SGD_STOPPED 208,6803 -#define VIA_SGD_PAUSED 209,6838 -#define VIA_SGD_ACTIVE 210,6872 -#define VIA_SGD_TERMINATE 211,6906 -#define VIA_SGD_FLAG 212,6942 -#define VIA_SGD_EOL 213,6974 -#define VIA_SGD_START 214,7005 -#define VIA_CR80_FIRST_CODEC 216,7039 -#define VIA_CR80_SECOND_CODEC 217,7071 -#define VIA_CR80_FIRST_CODEC_VALID 218,7112 -#define VIA_CR80_VALID 219,7157 -#define VIA_CR80_SECOND_CODEC_VALID 220,7192 -#define VIA_CR80_BUSY 221,7238 -#define VIA_CR83_BUSY 222,7272 -#define VIA_CR83_FIRST_CODEC_VALID 223,7300 -#define VIA_CR80_READ 224,7344 -#define VIA_CR80_WRITE_MODE 225,7378 -#define VIA_CR80_REG_IDX(VIA_CR80_REG_IDX226,7409 -#define VIA_DSP_CAP 230,7526 -#define VIA_DSP_CAP 233,7649 -struct via_sgd_table via_sgd_table238,7827 -#define VIA_EOL 243,7921 -#define VIA_FLAG 244,7947 -#define VIA_STOP 245,7974 -enum via_channel_states via_channel_states248,8003 - sgd_stopped 249,8029 - sgd_in_progress 250,8047 -struct via_buffer_pgtbl via_buffer_pgtbl254,8074 -struct via_channel via_channel260,8141 -struct via_info via_info297,8860 -static unsigned via_num_cards;338,9899 -static inline int via_init_proc 375,11480 -static inline void via_cleanup_proc 376,11533 -static inline int via_card_init_proc 377,11579 -static inline void via_card_cleanup_proc 378,11654 -static struct pci_device_id via_pci_tbl[390,11845 -static struct pci_driver via_driver 400,12114 -static inline void via_chan_stop 428,12790 -static inline void via_chan_status_clear 449,13359 -static inline void sg_begin 466,13695 -static int sg_active 478,14151 -static int via_sg_offset(490,14423 -static inline int via_syscall_down 513,14940 -static void via_stop_everything 543,15636 -static int via_set_rate 620,18004 -static void via_chan_init_defaults 705,20441 -static void via_chan_init 757,21753 -static int via_chan_buffer_init 792,22734 -static void via_chan_free 914,25904 -static void via_chan_buffer_free 932,26279 -static void via_chan_pcm_fmt 979,27515 -static void via_chan_clear 1095,30190 -static int via_chan_set_speed 1126,31077 -static int via_chan_set_fmt 1155,31954 -static int via_chan_set_stereo 1207,33323 -static int via_chan_set_buffering 1248,33997 -static void via_chan_dump_bufs 1331,36174 -static void via_chan_flush_frag 1356,36853 -static inline void via_chan_maybe_start 1385,37402 -static u8 via_ac97_wait_idle 1414,38059 -static u16 via_ac97_read_reg 1451,38889 -static void via_ac97_write_reg 1522,40807 -static int via_mixer_open 1556,41485 -static int via_mixer_ioctl 1586,42139 -static struct file_operations via_mixer_fops 1636,43011 -static int __devinit via_ac97_reset 1644,43166 -static void via_ac97_codec_wait 1747,46145 -static int __devinit via_ac97_init 1754,46292 -static void via_ac97_cleanup 1823,48055 -static void via_intr_channel 1857,48768 -static irqreturn_t via_interrupt(1929,51114 -static irqreturn_t via_new_interrupt(1967,52184 -static int via_interrupt_init 2003,53193 -static struct file_operations via_dsp_fops 2059,54571 -static int __devinit via_dsp_init 2072,54847 -static void via_dsp_cleanup 2102,55505 -static struct page * via_mm_nopage 2117,55732 -static int via_mm_swapout 2175,57304 -struct vm_operations_struct via_mm_ops 2182,57411 -static int via_dsp_mmap(2191,57542 -static ssize_t via_dsp_do_read 2256,58970 -static ssize_t via_dsp_read(2391,62326 -static ssize_t via_dsp_do_write 2428,63116 -static ssize_t via_dsp_write(2574,67102 -static unsigned int via_dsp_poll(2611,67900 -static int via_dsp_drain_playback 2656,68980 -static int via_dsp_ioctl_space 2770,72023 -static int via_dsp_ioctl_ptr 2815,73246 -static int via_dsp_ioctl_trigger 2848,73908 -static int via_dsp_ioctl 2886,74622 -static int via_dsp_open 3246,82722 -static int via_dsp_release(3342,85181 -static int __devinit via_init_one 3389,86222 -static void __devexit via_remove_one 3569,90412 -static int __init init_via82cxxx_audio(3612,91213 -static void __exit cleanup_via82cxxx_audio(3638,91631 -static int via_info_read_proc 3666,92124 -#define YN(YN3669,92237 -#define ED(ED3670,92290 -static int __init via_init_proc 3751,94098 -static void via_cleanup_proc 3763,94263 -static int __devinit via_card_init_proc 3773,94391 -static void via_card_cleanup_proc 3815,95235 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dm.h,357 -#define _DRIVERS_SOUND_DM_H2,28 -struct dm_fm_voicedm_fm_voice14,290 -struct dm_fm_notedm_fm_note41,646 -struct dm_fm_paramsdm_fm_params53,801 -#define FM_IOCTL_RESET 72,1027 -#define FM_IOCTL_PLAY_NOTE 73,1062 -#define FM_IOCTL_SET_VOICE 74,1097 -#define FM_IOCTL_SET_PARAMS 75,1132 -#define FM_IOCTL_SET_MODE 76,1167 -#define FM_IOCTL_SET_OPL 77,1202 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/mpu401.c,4130 -#define USE_SEQ_MACROS25,772 -#define USE_SIMPLE_MACROS26,795 -static int timer_mode 33,890 -struct mpu_configmpu_config35,961 -#define MODE_MIDI 49,1237 -#define MODE_SYNTH 50,1257 -#define MPU_CAP_INTLG 53,1345 -#define MPU_CAP_SYNC 54,1378 -#define MPU_CAP_FSK 55,1410 -#define MPU_CAP_CLS 56,1441 -#define MPU_CAP_SMPTE 57,1472 -#define MPU_CAP_2PORT 58,1506 -#define MBUF_MAX 61,1569 -#define BUFTEST(BUFTEST62,1589 -#define DATAPORT(DATAPORT76,2083 -#define COMDPORT(COMDPORT77,2115 -#define STATPORT(STATPORT78,2149 -static inline int mpu401_status(83,2221 -#define input_avail(input_avail88,2318 -#define output_ready(output_ready89,2382 -static inline void write_command(91,2449 -static inline int read_data(96,2565 -static inline void write_data(101,2658 -#define OUTPUT_READY 106,2773 -#define INPUT_AVAIL 107,2799 -#define MPU_ACK 108,2824 -#define MPU_RESET 109,2846 -#define UART_MODE_ON 110,2869 -static struct mpu_config dev_conf[112,2896 -static int n_mpu_devs;114,2946 -static struct synth_info mpu_synth_info_proto 123,3247 -static struct synth_info mpu_synth_info[133,3410 -#define ST_INIT 139,3506 -#define ST_TIMED 140,3561 -#define ST_DATABYTE 141,3612 -#define ST_SYSMSG 143,3675 -#define ST_SYSEX 144,3731 -#define ST_MTC 145,3780 -#define ST_SONGSEL 146,3839 -#define ST_SONGPOS 147,3881 -static unsigned char len_tab[149,3934 -#define STORE(STORE162,4139 -#define _seqbuf 170,4244 -#define _seqbufptr 171,4265 -#define _SEQ_ADVBUF(_SEQ_ADVBUF172,4286 -static int mpu_input_scanner(174,4316 -static void mpu401_input_loop(405,8498 -int intchk_mpu401(435,9063 -irqreturn_t mpuintr(444,9203 -static int mpu401_open(466,9643 -static void mpu401_close(526,10910 -static int mpu401_out(547,11342 -static int mpu401_command(575,11972 -static int mpu_cmd(680,14070 -static int mpu401_prefix_cmd(696,14391 -static int mpu401_start_read(721,14741 -static int mpu401_end_read(726,14795 -static int mpu401_ioctl(731,14847 -static void mpu401_kick(764,15607 -static int mpu401_buffer_status(768,15645 -static int mpu_synth_ioctl(775,15740 -static int mpu_synth_open(804,16268 -static void mpu_synth_close(863,17641 -#define MIDI_SYNTH_NAME 886,18184 -#define MIDI_SYNTH_CAPS 887,18228 -static struct synth_operations mpu401_synth_proto 890,18293 -static struct synth_operations *mpu401_synth_operations[915,18991 -static struct midi_operations mpu401_midi_proto 917,19063 -static struct midi_operations mpu401_midi_operations[933,19481 -static void mpu401_chk_version(935,19550 -int attach_mpu401(965,20159 -static int reset_mpu401(1132,24285 -static void set_uart_mode(1182,25380 -int probe_mpu401(1203,25820 -void unload_mpu401(1231,26418 -static volatile int timer_initialized 1252,26931 -static volatile int curr_tempo,1253,27007 -static volatile int curr_tempo, curr_timebase,1253,27007 -static volatile int curr_tempo, curr_timebase, hw_timebase;1253,27007 -static int max_timebase 1254,27067 -static volatile unsigned long next_event_time;1255,27121 -static volatile unsigned long curr_ticks,1256,27168 -static volatile unsigned long curr_ticks, curr_clocks;1256,27168 -static unsigned long prev_event_time;1257,27223 -static int metronome_mode;1258,27261 -static unsigned long clocks2ticks(1260,27294 -static void set_timebase(1271,27664 -static void tmr_reset(1295,28088 -static void set_timer_mode(1306,28338 -static void stop_metronome(1329,28916 -static void setup_metronome(1334,29015 -static int mpu_start_timer(1356,29684 -static int mpu_timer_open(1382,30335 -static void mpu_timer_close(1405,30844 -static int mpu_timer_event(1416,31166 -static unsigned long mpu_timer_get_time(1489,32567 -static int mpu_timer_ioctl(1497,32672 -static void mpu_timer_arm(1615,34933 -static struct sound_timer_operations mpu_timer 1625,35136 -static void mpu_timer_interrupt(1639,35489 -static void timer_ext_event(1657,35753 -static int mpu_timer_init(1714,36737 -static struct address_info cfg;1768,37907 -static int io 1770,37940 -static int irq 1771,37960 -static int __init init_mpu401(1776,38028 -static void __exit cleanup_mpu401(1799,38503 -static int __init setup_mpu401(1811,38728 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/esssolo1.c,3271 -#define PCI_VENDOR_ID_ESS 121,6105 -#define PCI_DEVICE_ID_ESS_SOLO1 124,6185 -#define SOLO1_MAGIC 127,6234 -#define DDMABASE_OFFSET 129,6306 -#define DDMABASE_EXTENT 130,6378 -#define IOBASE_EXTENT 132,6416 -#define SBBASE_EXTENT 133,6453 -#define VCBASE_EXTENT 134,6490 -#define MPUBASE_EXTENT 135,6558 -#define GPBASE_EXTENT 136,6594 -#define GAMEPORT_EXTENT 137,6630 -#define FMSYNTH_EXTENT 139,6660 -#define MIDIINBUF 143,6722 -#define MIDIOUTBUF 144,6745 -#define FMODE_MIDI_SHIFT 146,6769 -#define FMODE_MIDI_READ 147,6796 -#define FMODE_MIDI_WRITE 148,6854 -#define FMODE_DMFM 150,6914 -static struct pci_driver solo1_driver;152,6939 -struct solo1_state solo1_state156,7056 - struct dmabuf dmabuf193,7735 -static inline void write_seq(234,8637 -static inline int read_seq(253,9186 -static inline int reset_ctrl(268,9581 -static void write_ctrl(284,10022 -static unsigned char read_ctrl(291,10172 -static void write_mixer(302,10366 -static unsigned char read_mixer(308,10508 -static inline unsigned ld2(316,10715 -static inline void stop_dac(343,11061 -static void start_dac(353,11273 -static inline void stop_adc(367,11627 -static void start_adc(377,11836 -#define DMABUF_DEFAULTORDER 414,13573 -#define DMABUF_MINORDER 415,13617 -static inline void dealloc_dmabuf(417,13644 -static int prog_dmabuf(432,14109 -static inline int prog_dmabuf_adc(483,15782 -static inline int prog_dmabuf_dac(511,16579 -static inline void clear_advance(534,17296 -static void solo1_update_ptr(547,17599 -static void prog_codec(609,19787 -static const char invalid_magic[656,21015 -#define VALIDATE_STATE(VALIDATE_STATE658,21094 -static int mixer_ioctl(668,21444 -static int solo1_open_mixdev(915,28375 -static int solo1_release_mixdev(939,28971 -static int solo1_ioctl_mixdev(947,29147 -static /*const*/ struct file_operations solo1_mixer_fops 952,29332 -static int drain_dac(962,29615 -static ssize_t solo1_read(1003,30898 -static ssize_t solo1_write(1097,34470 -static unsigned int solo1_poll(1177,36965 -static int solo1_mmap(1219,38072 -static int solo1_ioctl(1254,38876 -static int solo1_release(1567,48140 -static int solo1_open(1594,48849 -static /*const*/ struct file_operations solo1_audio_fops 1649,50347 -static void solo1_handle_midi(1664,50738 -static irqreturn_t solo1_interrupt(1695,51397 -static void solo1_midi_timer(1715,51976 -static ssize_t solo1_midi_read(1729,52350 -static ssize_t solo1_midi_write(1790,53709 -static unsigned int solo1_midi_poll(1856,55286 -static int solo1_midi_open(1880,55953 -static int solo1_midi_release(1949,58040 -static /*const*/ struct file_operations solo1_midi_fops 1993,59289 -static int solo1_dmfm_ioctl(2005,59619 -static int solo1_dmfm_open(2102,62301 -static int solo1_dmfm_release(2159,63826 -static /*const*/ struct file_operations solo1_dmfm_fops 2181,64338 -static struct initvol initvol2191,64614 -} initvol[2194,64660 -} initvol[] __initdata 2194,64660 -static int setup_solo1(2207,65066 -solo1_suspend(2258,66868 -solo1_resume(2273,67257 -static int __devinit solo1_probe(2281,67421 -static void __devexit solo1_remove(2405,71286 -static struct pci_device_id id_table[2434,72223 -static struct pci_driver solo1_driver 2441,72394 -static int __init init_solo1(2451,72603 -static void __exit cleanup_solo1(2468,73069 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/skeleton.c,325 -#define PCI_VENDOR_MYIDENT 36,849 -#define PCI_DEVICE_ID_MYIDENT_MYCARD1 42,925 -#define CARD_NAME 45,979 -#define MAX_CARDS 47,1038 -static struct address_info mss_data[55,1250 -static int cards;56,1298 -static int mycard_install(62,1375 -int init_mycard(157,3158 -int init_module(184,3614 -void cleanup_module(200,3850 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/es1370.c,6672 -#define DBG(DBG167,8461 -#define PCI_VENDOR_ID_ENSONIQ 173,8610 -#define PCI_DEVICE_ID_ENSONIQ_ES1370 177,8703 -#define ES1370_MAGIC 180,8755 -#define ES1370_EXTENT 182,8837 -#define JOY_EXTENT 183,8876 -#define ES1370_REG_CONTROL 185,8913 -#define ES1370_REG_STATUS 186,8952 -#define ES1370_REG_UART_DATA 187,8991 -#define ES1370_REG_UART_STATUS 188,9030 -#define ES1370_REG_UART_CONTROL 189,9069 -#define ES1370_REG_UART_TEST 190,9108 -#define ES1370_REG_MEMPAGE 191,9147 -#define ES1370_REG_CODEC 192,9186 -#define ES1370_REG_SERIAL_CONTROL 193,9225 -#define ES1370_REG_DAC1_SCOUNT 194,9264 -#define ES1370_REG_DAC2_SCOUNT 195,9303 -#define ES1370_REG_ADC_SCOUNT 196,9342 -#define ES1370_REG_DAC1_FRAMEADR 198,9382 -#define ES1370_REG_DAC1_FRAMECNT 199,9424 -#define ES1370_REG_DAC2_FRAMEADR 200,9466 -#define ES1370_REG_DAC2_FRAMECNT 201,9508 -#define ES1370_REG_ADC_FRAMEADR 202,9550 -#define ES1370_REG_ADC_FRAMECNT 203,9592 -#define ES1370_REG_PHANTOM_FRAMEADR 204,9634 -#define ES1370_REG_PHANTOM_FRAMECNT 205,9676 -#define ES1370_FMT_U8_MONO 207,9719 -#define ES1370_FMT_U8_STEREO 208,9752 -#define ES1370_FMT_S16_MONO 209,9785 -#define ES1370_FMT_S16_STEREO 210,9818 -#define ES1370_FMT_STEREO 211,9851 -#define ES1370_FMT_S16 212,9884 -#define ES1370_FMT_MASK 213,9917 -static const unsigned sample_size[215,9951 -static const unsigned sample_shift[216,10005 -static const unsigned dac1_samplerate[218,10061 -#define DAC2_SRTODIV(DAC2_SRTODIV220,10135 -#define DAC2_DIVTOSR(DAC2_DIVTOSR221,10185 -#define CTRL_ADC_STOP 223,10228 -#define CTRL_XCTL1 224,10286 -#define CTRL_OPEN 225,10346 -#define CTRL_PCLKDIV 226,10425 -#define CTRL_SH_PCLKDIV 227,10490 -#define CTRL_MSFMTSEL 228,10517 -#define CTRL_M_SBB 229,10599 -#define CTRL_WTSRSEL 230,10675 -#define CTRL_SH_WTSRSEL 231,10768 -#define CTRL_DAC_SYNC 232,10795 -#define CTRL_CCB_INTRM 233,10866 -#define CTRL_M_CB 234,10937 -#define CTRL_XCTL0 235,11015 -#define CTRL_BREQ 236,11083 -#define CTRL_DAC1_EN 237,11159 -#define CTRL_DAC2_EN 238,11213 -#define CTRL_ADC_EN 239,11267 -#define CTRL_UART_EN 240,11320 -#define CTRL_JYSTK_EN 241,11379 -#define CTRL_CDC_EN 242,11472 -#define CTRL_SERR_DIS 243,11546 -#define STAT_INTR 245,11617 -#define STAT_CSTAT 246,11690 -#define STAT_CBUSY 247,11774 -#define STAT_CWRIP 248,11831 -#define STAT_VC 249,11901 -#define STAT_SH_VC 250,11990 -#define STAT_MCCB 251,12016 -#define STAT_UART 252,12074 -#define STAT_DAC1 253,12133 -#define STAT_DAC2 254,12192 -#define STAT_ADC 255,12251 -#define USTAT_RXINT 257,12310 -#define USTAT_TXINT 258,12372 -#define USTAT_TXRDY 259,12434 -#define USTAT_RXRDY 260,12490 -#define UCTRL_RXINTEN 262,12547 -#define UCTRL_TXINTEN 263,12608 -#define UCTRL_ENA_TXINT 264,12675 -#define UCTRL_CNTRL 265,12731 -#define UCTRL_CNTRL_SWR 266,12787 -#define SCTRL_P2ENDINC 268,12853 -#define SCTRL_SH_P2ENDINC 269,12898 -#define SCTRL_P2STINC 270,12927 -#define SCTRL_SH_P2STINC 271,12972 -#define SCTRL_R1LOOPSEL 272,13001 -#define SCTRL_P2LOOPSEL 273,13059 -#define SCTRL_P1LOOPSEL 274,13117 -#define SCTRL_P2PAUSE 275,13175 -#define SCTRL_P1PAUSE 276,13234 -#define SCTRL_R1INTEN 277,13293 -#define SCTRL_P2INTEN 278,13354 -#define SCTRL_P1INTEN 279,13415 -#define SCTRL_P1SCTRLD 280,13476 -#define SCTRL_P2DACSEN 281,13558 -#define SCTRL_R1SEB 282,13647 -#define SCTRL_R1SMB 283,13701 -#define SCTRL_R1FMT 284,13756 -#define SCTRL_SH_R1FMT 285,13812 -#define SCTRL_P2SEB 286,13840 -#define SCTRL_P2SMB 287,13894 -#define SCTRL_P2FMT 288,13949 -#define SCTRL_SH_P2FMT 289,14005 -#define SCTRL_P1SEB 290,14033 -#define SCTRL_P1SMB 291,14087 -#define SCTRL_P1FMT 292,14142 -#define SCTRL_SH_P1FMT 293,14198 -#define FMODE_DAC 297,14245 -#define MIDIINBUF 301,14339 -#define MIDIOUTBUF 302,14362 -#define FMODE_MIDI_SHIFT 304,14386 -#define FMODE_MIDI_READ 305,14413 -#define FMODE_MIDI_WRITE 306,14471 -struct es1370_state es1370_state310,14608 - struct dmabuf dmabuf348,15301 -static inline unsigned ld2(397,16440 -static void wrcodec(424,16786 -static inline void stop_adc(441,17259 -static inline void stop_dac1(451,17487 -static inline void stop_dac2(461,17717 -static void start_dac1(471,17947 -static void start_dac2(493,18805 -static void start_adc(518,19796 -#define DMABUF_DEFAULTORDER 542,20735 -#define DMABUF_MINORDER 543,20779 -static inline void dealloc_dmabuf(545,20806 -static int prog_dmabuf(560,21272 -static inline int prog_dmabuf_adc(613,23113 -static inline int prog_dmabuf_dac2(620,23365 -static inline int prog_dmabuf_dac1(627,23621 -static inline unsigned get_hwptr(634,23880 -static inline void clear_advance(645,24192 -static void es1370_update_ptr(657,24494 -static void es1370_handle_midi(725,26872 -static irqreturn_t es1370_interrupt(757,27727 -static const char invalid_magic[785,28535 -#define VALIDATE_STATE(VALIDATE_STATE787,28615 -} mixtable[804,29106 -static void set_recsrc(817,29831 -static int mixer_ioctl(843,30434 -static int es1370_open_mixdev(1025,35330 -static int es1370_release_mixdev(1043,35764 -static int es1370_ioctl_mixdev(1051,35944 -static /*const*/ struct file_operations es1370_mixer_fops 1056,36131 -static int drain_dac1(1066,36418 -static int drain_dac2(1102,37646 -static ssize_t es1370_read(1140,38947 -static ssize_t es1370_write(1216,40677 -static unsigned int es1370_poll(1298,42665 -static int es1370_mmap(1334,43709 -static int es1370_ioctl(1378,44600 -static int es1370_open(1727,55049 -static int es1370_release(1791,57051 -static /*const*/ struct file_operations es1370_audio_fops 1816,57663 -static ssize_t es1370_write_dac(1830,58023 -static unsigned int es1370_poll_dac(1901,59860 -static int es1370_mmap_dac(1924,60557 -static int es1370_ioctl_dac(1952,61228 -static int es1370_open_dac(2164,67425 -static int es1370_release_dac(2222,69159 -static /*const*/ struct file_operations es1370_dac_fops 2239,69556 -static ssize_t es1370_midi_read(2252,69915 -static ssize_t es1370_midi_write(2313,71291 -static unsigned int es1370_midi_poll(2379,72880 -static int es1370_midi_open(2403,73546 -static int es1370_midi_release(2460,75260 -static /*const*/ struct file_operations es1370_midi_fops 2504,76504 -#define NR_DEVICE 2517,76907 -static int lineout[2519,76928 -static int micbias[2520,76959 -static unsigned int devindex;2522,76991 -static struct initvol initvol2536,77517 -} initvol[2539,77563 -} initvol[] __initdata 2539,77563 -static int __devinit es1370_probe(2552,77966 -static void __devexit es1370_remove(2697,82601 -static struct pci_device_id id_table[2722,83376 -static struct pci_driver es1370_driver 2729,83556 -static int __init init_es1370(2736,83711 -static void __exit cleanup_es1370(2742,83870 -static int __init es1370_setup(2757,84190 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/midi_syms.c,58 -char midi_syms_symbol;7,72 -#define _MIDI_SYNTH_C_10,122 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sonicvibes.c,7296 -#define PCI_VENDOR_ID_S3 133,6527 -#define PCI_DEVICE_ID_S3_SONICVIBES 136,6614 -#define SV_MAGIC 139,6666 -#define SV_EXTENT_SB 141,6738 -#define SV_EXTENT_ENH 142,6769 -#define SV_EXTENT_SYNTH 143,6800 -#define SV_EXTENT_MIDI 144,6830 -#define SV_EXTENT_GAME 145,6860 -#define SV_EXTENT_DMA 146,6890 -#define RESOURCE_SB 152,7047 -#define RESOURCE_ENH 153,7075 -#define RESOURCE_SYNTH 154,7103 -#define RESOURCE_MIDI 155,7131 -#define RESOURCE_GAME 156,7159 -#define RESOURCE_DDMA 157,7187 -#define SV_MIDI_DATA 159,7216 -#define SV_MIDI_COMMAND 160,7244 -#define SV_MIDI_STATUS 161,7272 -#define SV_DMA_ADDR0 163,7301 -#define SV_DMA_ADDR1 164,7329 -#define SV_DMA_ADDR2 165,7357 -#define SV_DMA_ADDR3 166,7385 -#define SV_DMA_COUNT0 167,7413 -#define SV_DMA_COUNT1 168,7441 -#define SV_DMA_COUNT2 169,7469 -#define SV_DMA_MODE 170,7497 -#define SV_DMA_RESET 171,7527 -#define SV_DMA_MASK 172,7557 -#define DMA_MODE_AUTOINIT 180,7734 -#define DMA_MODE_READ 181,7765 -#define DMA_MODE_WRITE 182,7856 -#define SV_CODEC_CONTROL 184,7948 -#define SV_CODEC_INTMASK 185,7976 -#define SV_CODEC_STATUS 186,8004 -#define SV_CODEC_IADDR 187,8032 -#define SV_CODEC_IDATA 188,8060 -#define SV_CCTRL_RESET 190,8089 -#define SV_CCTRL_INTADRIVE 191,8122 -#define SV_CCTRL_WAVETABLE 192,8155 -#define SV_CCTRL_REVERB 193,8188 -#define SV_CCTRL_ENHANCED 194,8221 -#define SV_CINTMASK_DMAA 196,8255 -#define SV_CINTMASK_DMAC 197,8288 -#define SV_CINTMASK_SPECIAL 198,8321 -#define SV_CINTMASK_UPDOWN 199,8354 -#define SV_CINTMASK_MIDI 200,8387 -#define SV_CSTAT_DMAA 202,8421 -#define SV_CSTAT_DMAC 203,8454 -#define SV_CSTAT_SPECIAL 204,8485 -#define SV_CSTAT_UPDOWN 205,8518 -#define SV_CSTAT_MIDI 206,8551 -#define SV_CIADDR_TRD 208,8583 -#define SV_CIADDR_MCE 209,8616 -#define SV_CIMIX_ADCINL 212,8681 -#define SV_CIMIX_ADCINR 213,8714 -#define SV_CIMIX_AUX1INL 214,8747 -#define SV_CIMIX_AUX1INR 215,8780 -#define SV_CIMIX_CDINL 216,8813 -#define SV_CIMIX_CDINR 217,8846 -#define SV_CIMIX_LINEINL 218,8879 -#define SV_CIMIX_LINEINR 219,8912 -#define SV_CIMIX_MICIN 220,8945 -#define SV_CIMIX_SYNTHINL 221,8978 -#define SV_CIMIX_SYNTHINR 222,9011 -#define SV_CIMIX_AUX2INL 223,9044 -#define SV_CIMIX_AUX2INR 224,9077 -#define SV_CIMIX_ANALOGINL 225,9110 -#define SV_CIMIX_ANALOGINR 226,9143 -#define SV_CIMIX_PCMINL 227,9176 -#define SV_CIMIX_PCMINR 228,9209 -#define SV_CIGAMECONTROL 230,9243 -#define SV_CIDATAFMT 231,9276 -#define SV_CIENABLE 232,9309 -#define SV_CIUPDOWN 233,9342 -#define SV_CIREVISION 234,9375 -#define SV_CIADCOUTPUT 235,9408 -#define SV_CIDMAABASECOUNT1 236,9441 -#define SV_CIDMAABASECOUNT0 237,9474 -#define SV_CIDMACBASECOUNT1 238,9507 -#define SV_CIDMACBASECOUNT0 239,9540 -#define SV_CIPCMSR0 240,9573 -#define SV_CIPCMSR1 241,9606 -#define SV_CISYNTHSR0 242,9639 -#define SV_CISYNTHSR1 243,9672 -#define SV_CIADCCLKSOURCE 244,9705 -#define SV_CIADCALTSR 245,9738 -#define SV_CIADCPLLM 246,9771 -#define SV_CIADCPLLN 247,9804 -#define SV_CISYNTHPLLM 248,9837 -#define SV_CISYNTHPLLN 249,9870 -#define SV_CIUARTCONTROL 250,9903 -#define SV_CIDRIVECONTROL 251,9936 -#define SV_CISRSSPACE 252,9969 -#define SV_CISRSCENTER 253,10002 -#define SV_CIWAVETABLESRC 254,10035 -#define SV_CIANALOGPWRDOWN 255,10068 -#define SV_CIDIGITALPWRDOWN 256,10101 -#define SV_CIMIX_ADCSRC_CD 259,10136 -#define SV_CIMIX_ADCSRC_DAC 260,10172 -#define SV_CIMIX_ADCSRC_AUX2 261,10208 -#define SV_CIMIX_ADCSRC_LINE 262,10244 -#define SV_CIMIX_ADCSRC_AUX1 263,10280 -#define SV_CIMIX_ADCSRC_MIC 264,10316 -#define SV_CIMIX_ADCSRC_MIXOUT 265,10352 -#define SV_CIMIX_ADCSRC_MASK 266,10388 -#define SV_CFMT_STEREO 268,10425 -#define SV_CFMT_16BIT 269,10457 -#define SV_CFMT_MASK 270,10489 -#define SV_CFMT_ASHIFT 271,10521 -#define SV_CFMT_CSHIFT 272,10553 -static const unsigned sample_size[274,10583 -static const unsigned sample_shift[275,10637 -#define SV_CENABLE_PPE 277,10693 -#define SV_CENABLE_RE 278,10724 -#define SV_CENABLE_PE 279,10755 -#define MIDIINBUF 284,10813 -#define MIDIOUTBUF 285,10836 -#define FMODE_MIDI_SHIFT 287,10860 -#define FMODE_MIDI_READ 288,10887 -#define FMODE_MIDI_WRITE 289,10945 -#define FMODE_DMFM 291,11005 -struct sv_state sv_state295,11107 - struct dmabuf dmabuf332,11880 -static unsigned long wavetable_mem;374,12806 -static inline unsigned ld2(378,12920 -static inline unsigned int hweight32(412,13328 -static void set_dmaa(429,13889 -static void set_dmac(447,14342 -static inline unsigned get_dmaa(467,14823 -static inline unsigned get_dmac(482,15116 -static void wrindir(497,15423 -static unsigned char rdindir(505,15619 -static void set_fmt(516,15831 -static void frobindir(534,16294 -#define REFFREQUENCY 542,16554 -#define ADCMULT 543,16585 -#define FULLRATE 544,16605 -static unsigned setpll(546,16629 -static unsigned getpll(585,17732 -static void set_dac_rate(606,18229 -static void set_adc_rate(625,18674 -static inline void stop_adc(653,19384 -static inline void stop_dac(663,19607 -static void start_dac(673,19849 -static void start_adc(685,20173 -#define DMABUF_DEFAULTORDER 700,20600 -#define DMABUF_MINORDER 701,20644 -static void dealloc_dmabuf(703,20671 -static int prog_dmabuf(721,21188 -static inline void clear_advance(805,24249 -static void sv_update_ptr(823,24706 -static void sv_handle_midi(872,26271 -static irqreturn_t sv_interrupt(901,26890 -static void sv_midi_timer(917,27333 -static const char invalid_magic[931,27695 -#define VALIDATE_STATE(VALIDATE_STATE933,27771 -#define MT_4 943,28118 -#define MT_5MUTE 944,28142 -#define MT_4MUTEMONO 945,28166 -#define MT_6MUTE 946,28190 -} mixtable[953,28309 -static int return_mixval(967,29154 -static const unsigned char volidx[1012,29977 -static unsigned mixer_recmask(1027,30330 -static int mixer_ioctl(1040,30632 -static int sv_open_mixdev(1240,36109 -static int sv_release_mixdev(1258,36522 -static int sv_ioctl_mixdev(1266,36690 -static /*const*/ struct file_operations sv_mixer_fops 1271,36869 -static int drain_dac(1281,37140 -static ssize_t sv_read(1318,38369 -static ssize_t sv_write(1401,40727 -static unsigned int sv_poll(1490,43312 -static int sv_mmap(1526,44329 -static int sv_ioctl(1561,45122 -static int sv_open(1900,55027 -static int sv_release(1956,56704 -static /*const*/ struct file_operations sv_audio_fops 1980,57274 -static ssize_t sv_midi_read(1994,57602 -static ssize_t sv_midi_write(2055,59236 -static unsigned int sv_midi_poll(2121,60798 -static int sv_midi_open(2145,61452 -static int sv_midi_release(2210,63624 -static /*const*/ struct file_operations sv_midi_fops 2258,65016 -static int sv_dmfm_ioctl(2270,65328 -static int sv_dmfm_open(2367,68018 -static int sv_dmfm_release(2412,69192 -static /*const*/ struct file_operations sv_dmfm_fops 2433,69655 -#define NR_DEVICE 2444,69986 -static int reverb[2446,70007 -static int wavetable[2449,70044 -static unsigned int devindex;2452,70085 -static struct initvol initvol2468,70646 -} initvol[2471,70692 -} initvol[] __initdata 2471,70692 -#define RSRCISIOREGION(RSRCISIOREGION2483,71058 -static int __devinit sv_probe(2486,71192 -static void __devexit sv_remove(2676,78416 -static struct pci_device_id id_table[2707,79392 -static struct pci_driver sv_driver 2714,79578 -static int __init init_sonicvibes(2721,79750 -static void __exit cleanup_sonicvibes(2731,80088 -static int __init sonicvibes_setup(2748,80497 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/opl3.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/maestro3.c,4626 -#define M_DEBUG 154,7222 -#define DRIVER_VERSION 156,7241 -#define M3_MODULE_NAME 157,7276 -#define PFX 158,7315 -#define M3_STATE_MAGIC 160,7364 -#define M3_CARD_MAGIC 161,7403 -#define ESS_FMT_STEREO 163,7443 -#define ESS_FMT_16BIT 164,7476 -#define ESS_FMT_MASK 165,7509 -#define ESS_DAC_SHIFT 166,7542 -#define ESS_ADC_SHIFT 167,7575 -#define DAC_RUNNING 169,7606 -#define ADC_RUNNING 170,7636 -#define SND_DEV_DSP16 172,7667 -static int debug;175,7717 -#define DPMOD 176,7735 -#define DPSTR 177,7777 -#define DPSYS 178,7816 -#define DPCRAP 179,7854 -#define DPINT 180,7940 -#define DPRINTK(DPRINTK181,7986 -#define DPRINTK(DPRINTK183,8071 -struct m3_list m3_list186,8098 -static int external_amp 192,8166 -static int gpio_pin 193,8195 -struct m3_state m3_state195,8222 - struct assp_instance assp_instance214,8683 - struct dmabuf dmabuf221,8827 -struct m3_card m3_card251,9628 -#define NR_DSPS 261,9773 -#define MAX_DSPS 262,9791 -#define ARB_VOLUME 296,10487 -static const unsigned sample_shift[298,10518 - ESS_ALLEGRO,301,10581 - ESS_MAESTRO3,302,10598 - ESS_MAESTRO3HW,307,10706 -static char *card_names[310,10730 -#define PCI_VENDOR_ESS 317,10893 -#define M3_DEVICE(M3_DEVICE320,10936 -static struct pci_device_id m3_id_table[331,11210 -#define M3_PCI_DMA_MASK 344,11521 -ld2(347,11574 -static struct m3_card *devs;372,11910 -struct notifier_block m3_reboot_nb 381,12197 -static void m3_outw(385,12271 -static u16 m3_inw(392,12418 -static void m3_outb(397,12542 -static u8 m3_inb(403,12688 -static u16 __m3_assp_read(413,12922 -static u16 m3_assp_read(419,13157 -static void __m3_assp_write(431,13429 -static void m3_assp_write(438,13685 -static void m3_assp_halt(448,13949 -static void m3_assp_continue(455,14181 -static int m3_add_list(468,14546 -static void m3_remove_list(482,14874 -static void set_fmt(506,15478 -static void set_dac_rate(535,16460 -static void set_adc_rate(555,16847 -static void inc_timer_users(575,17234 -static void dec_timer_users(602,17883 -static void stop_adc(633,18643 -static void stop_dac(648,19004 -static void start_dac(667,19469 -static void start_adc(688,20026 -static struct play_vals play_vals708,20584 -} pv[710,20629 -static void m3_play_setup(736,21759 -#define LO(LO748,22249 -#define HI(HI749,22278 -static struct rec_vals rec_vals867,25823 -} rv[869,25867 -static void m3_rec_setup(896,27064 -#define LO(LO908,27563 -#define HI(HI909,27592 -static void set_dmaa(1017,30860 -static void set_dmac(1022,30980 -u32 get_dma_pos(1027,31100 -u32 get_dmaa(1050,31682 -u32 get_dmac(1062,31901 -prog_dmabuf(1076,32132 -static void clear_advance(1138,33988 -static void m3_update_ptr(1158,34530 -static irqreturn_t m3_interrupt(1230,37185 -static const char invalid_magic[1274,38364 -#define VALIDATE_MAGIC(VALIDATE_MAGIC1276,38446 -#define VALIDATE_STATE(VALIDATE_STATE1284,38752 -#define VALIDATE_CARD(VALIDATE_CARD1285,38811 -static int drain_dac(1289,38946 -static ssize_t m3_read(1327,40218 -static ssize_t m3_write(1406,42578 -static unsigned int m3_poll(1491,45275 -static int m3_mmap(1524,46308 -#define get_user_ret(get_user_ret1573,47441 -static int m3_ioctl(1574,47515 -allocate_dmabuf(1902,59169 -nuke_lists(1947,60317 -free_dmabuf(1955,60530 -static int m3_open(1979,61111 -static int m3_release(2053,63174 -static int m3_ac97_wait(2094,64303 -u16 m3_ac97_read(2103,64440 -void m3_ac97_write(2130,65049 -static int m3_open_mixdev(2148,65545 -static int m3_release_mixdev(2167,65974 -static int m3_ioctl_mixdev(2172,66062 -static struct file_operations m3_mixer_fops 2180,66328 -void remote_codec_config(2188,66512 -static int try_read_vendor(2203,66966 -static void m3_codec_reset(2220,67261 -static int __devinit m3_codec_install(2298,69320 -#define MINISRC_LPF_LEN 2329,70063 -static u16 minisrc_lpf[2330,70090 -static void m3_assp_init(2334,70224 -static int setup_msrc(2418,72820 -static int m3_assp_client_init(2455,73811 -static void m3_amp_enable(2463,73998 -maestro_config(2512,75303 -static void m3_enable_ints(2550,76512 -static struct file_operations m3_audio_fops 2559,76743 -int alloc_dsp_suspendmem(2572,77001 -void free_dsp_suspendmem(2581,77221 -#define alloc_dsp_suspendmem(alloc_dsp_suspendmem2588,77337 -#define free_dsp_suspendmem(free_dsp_suspendmem2589,77377 -static int __devinit m3_probe(2595,77476 -static void m3_remove(2733,81332 -static int m3_notifier(2770,82218 -static int m3_suspend(2783,82552 -static int m3_resume(2833,83847 -static struct pci_driver m3_pci_driver 2925,86296 -static int __init m3_init_module(2934,86491 -static void __exit m3_cleanup_module(2951,86983 -void check_suspend(2959,87136 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/msnd.h,4376 -#define __MSND_H31,1192 -#define VERSION 33,1210 -#define DEFSAMPLERATE 35,1239 -#define DEFSAMPLESIZE 36,1280 -#define DEFCHANNELS 37,1311 -#define DEFFIFOSIZE 39,1335 -#define SNDCARD_MSND 41,1361 -#define SRAM_BANK_SIZE 43,1387 -#define SRAM_CNTL_START 44,1418 -#define DSP_BASE_ADDR 46,1451 -#define DSP_BANK_BASE 47,1481 -#define HP_ICR 49,1512 -#define HP_CVR 50,1534 -#define HP_ISR 51,1556 -#define HP_IVR 52,1578 -#define HP_NU 53,1600 -#define HP_INFO 54,1621 -#define HP_TXH 55,1644 -#define HP_RXH 56,1666 -#define HP_TXM 57,1688 -#define HP_RXM 58,1710 -#define HP_TXL 59,1732 -#define HP_RXL 60,1754 -#define HP_ICR_DEF 62,1777 -#define HP_CVR_DEF 63,1802 -#define HP_ISR_DEF 64,1827 -#define HP_IVR_DEF 65,1852 -#define HP_NU_DEF 66,1877 -#define HP_IRQM 68,1902 -#define HPR_BLRC 70,1926 -#define HPR_SPR1 71,1949 -#define HPR_SPR2 72,1972 -#define HPR_TCL0 73,1995 -#define HPR_TCL1 74,2018 -#define HPR_TCL2 75,2041 -#define HPR_TCL3 76,2064 -#define HPR_TCL4 77,2087 -#define HPICR_INIT 79,2111 -#define HPICR_HM1 80,2136 -#define HPICR_HM0 81,2160 -#define HPICR_HF1 82,2184 -#define HPICR_HF0 83,2208 -#define HPICR_TREQ 84,2232 -#define HPICR_RREQ 85,2257 -#define HPCVR_HC 87,2283 -#define HPISR_HREQ 89,2307 -#define HPISR_DMA 90,2332 -#define HPISR_HF3 91,2356 -#define HPISR_HF2 92,2380 -#define HPISR_TRDY 93,2404 -#define HPISR_TXDE 94,2429 -#define HPISR_RXDF 95,2454 -#define HPIO_290 97,2480 -#define HPIO_260 98,2500 -#define HPIO_250 99,2520 -#define HPIO_240 100,2540 -#define HPIO_230 101,2560 -#define HPIO_220 102,2580 -#define HPIO_210 103,2600 -#define HPIO_3E0 104,2620 -#define HPMEM_NONE 106,2641 -#define HPMEM_B000 107,2663 -#define HPMEM_C800 108,2685 -#define HPMEM_D000 109,2707 -#define HPMEM_D400 110,2729 -#define HPMEM_D800 111,2751 -#define HPMEM_E000 112,2773 -#define HPMEM_E800 113,2795 -#define HPIRQ_NONE 115,2818 -#define HPIRQ_5 116,2840 -#define HPIRQ_7 117,2860 -#define HPIRQ_9 118,2880 -#define HPIRQ_10 119,2900 -#define HPIRQ_11 120,2920 -#define HPIRQ_12 121,2940 -#define HPIRQ_15 122,2960 -#define HIMT_PLAY_DONE 124,2981 -#define HIMT_RECORD_DONE 125,3010 -#define HIMT_MIDI_EOS 126,3040 -#define HIMT_MIDI_OUT 127,3068 -#define HIMT_MIDI_IN_UCHAR 129,3097 -#define HIMT_DSP 130,3129 -#define HDEX_BASE 132,3153 -#define HDEX_PLAY_START 133,3184 -#define HDEX_PLAY_STOP 134,3225 -#define HDEX_PLAY_PAUSE 135,3265 -#define HDEX_PLAY_RESUME 136,3306 -#define HDEX_RECORD_START 137,3347 -#define HDEX_RECORD_STOP 138,3389 -#define HDEX_MIDI_IN_START 139,3430 -#define HDEX_MIDI_IN_STOP 140,3474 -#define HDEX_MIDI_OUT_START 141,3516 -#define HDEX_MIDI_OUT_STOP 142,3560 -#define HDEX_AUX_REQ 143,3603 -#define HIWORD(HIWORD145,3643 -#define LOWORD(LOWORD146,3702 -#define HIBYTE(HIBYTE147,3740 -#define LOBYTE(LOBYTE148,3793 -#define MAKELONG(MAKELONG149,3824 -#define MAKEWORD(MAKEWORD150,3901 -#define PCTODSP_OFFSET(PCTODSP_OFFSET152,3977 -#define PCTODSP_BASED(PCTODSP_BASED153,4019 -#define DSPTOPC_BASED(DSPTOPC_BASED154,4078 -#define msnd_outb 157,4146 -#define msnd_inb 158,4173 -#define msnd_outb 160,4204 -#define msnd_inb 161,4229 -#define JQS_wStart 165,4281 -#define JQS_wSize 166,4306 -#define JQS_wHead 167,4330 -#define JQS_wTail 168,4354 -#define JQS__size 169,4378 -#define DAQDS_wStart 172,4427 -#define DAQDS_wSize 173,4454 -#define DAQDS_wFormat 174,4480 -#define DAQDS_wSampleSize 175,4508 -#define DAQDS_wChannels 176,4539 -#define DAQDS_wSampleRate 177,4569 -#define DAQDS_wIntMsg 178,4600 -#define DAQDS_wFlags 179,4628 -#define DAQDS__size 180,4655 -typedef u8 BYTE;BYTE182,4682 -typedef u16 USHORT;USHORT183,4701 -typedef u16 WORD;WORD184,4723 -typedef u32 DWORD;DWORD185,4743 -typedef unsigned long LPDAQD;LPDAQD186,4764 -} msnd_fifo;msnd_fifo193,4878 -typedef struct multisound_dev multisound_dev195,4892 - enum { msndClassic,215,5353 - enum { msndClassic, msndPinnacle 215,5353 -#define F_RESETTING 218,5431 -#define F_HAVEDIGITAL 219,5455 -#define F_AUDIO_WRITE_INUSE 220,5481 -#define F_WRITING 221,5512 -#define F_WRITEBLOCK 222,5534 -#define F_WRITEFLUSH 223,5559 -#define F_AUDIO_READ_INUSE 224,5584 -#define F_READING 225,5614 -#define F_READBLOCK 226,5636 -#define F_EXT_MIDI_INUSE 227,5660 -#define F_HDR_MIDI_INUSE 228,5688 -#define F_DISABLE_WRITE_NDELAY 229,5717 -} multisound_dev_t;multisound_dev_t253,6336 -# define mdelay(mdelay256,6372 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/mpu401.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ad1848.c,4061 -#define DEB(DEB54,1693 -#define DEB1(DEB155,1708 -#define MD_1848 82,2368 -#define MD_4231 83,2387 -#define MD_4231A 84,2406 -#define MD_1845 85,2425 -#define MD_4232 86,2444 -#define MD_C930 87,2463 -#define MD_IWAVE 88,2482 -#define MD_4235 89,2501 -#define MD_1845_SSCAPE 90,2555 -#define MD_4236 91,2609 -#define MD_42xB 92,2651 -#define MD_4239 93,2685 -} ad1848_info;ad1848_info110,3172 -typedef struct ad1848_port_infoad1848_port_info112,3188 -ad1848_port_info;ad1848_port_info121,3393 -static struct address_info cfg;123,3412 -static int nr_ad1848_devs;124,3444 -int deskpro_xl;126,3472 -int deskpro_m;127,3488 -int soundpro;128,3503 -static volatile signed char irq2dev[130,3518 -static int timer_installed 136,3658 -static int loaded;139,3699 -static int ad_format_mask[141,3719 -static ad1848_info adev_info[158,4661 -#define io_Index_Addr(io_Index_Addr160,4707 -#define io_Indexed_Data(io_Indexed_Data161,4744 -#define io_Status(io_Status162,4785 -#define io_Polled_IO(io_Polled_IO163,4821 -#define CAP_F_TIMER 167,4903 -} capabilities 168,4933 -static int isapnp 182,5318 -static int isapnpjump;183,5341 -static int reverse;184,5364 -static int audio_activated;186,5385 -static int isapnp;188,5419 -static int ad_read(210,6238 -static void ad_write(237,6853 -static void wait_for_calibration(261,7521 -static void ad_mute(292,8361 -static void ad_unmute(308,8585 -static void ad_enter_MCE(312,8632 -static void ad_leave_MCE(329,8949 -static int ad1848_set_recmask(352,9485 -static void change_bits(465,11945 -static int ad1848_mixer_get(501,12948 -static void ad1848_mixer_set_channel(511,13136 -static int ad1848_mixer_set(538,13905 -static void ad1848_mixer_reset(587,14816 -static int ad1848_mixer_ioctl(676,16994 -static int ad1848_set_speed(770,19145 - speed_struct;speed_struct788,19706 -static short ad1848_set_channels(859,21183 -static unsigned int ad1848_set_bits(870,21405 - static struct format_tblformat_tbl875,21606 -static struct audio_driver ad1848_audio_driver 945,22529 -static struct mixer_operations ad1848_mixer_operations 963,23062 -static int ad1848_open(971,23230 -static void ad1848_close(1017,24233 -static void ad1848_output_block(1038,24703 -static void ad1848_start_input(1080,25737 -static int ad1848_prepare_for_output(1131,26947 -static int ad1848_prepare_for_input(1199,28660 -static void ad1848_halt(1314,31487 -static void ad1848_halt_input(1329,31883 -static void ad1848_halt_output(1365,32735 -static void ad1848_trigger(1401,33590 -static void ad1848_init_hw(1436,34303 -int ad1848_detect(1541,37325 -int ad1848_init 1950,47546 -int ad1848_control(2105,51452 -void ad1848_unload(2165,52967 -irqreturn_t adintr(2211,53987 -static int init_deskpro_m(2294,56063 -static int init_deskpro(2322,56550 -int probe_ms_sound(2520,61788 -void attach_ms_sound(2606,64130 -void unload_ms_sound(2695,66048 -static unsigned int current_interval;2711,66372 -static unsigned int ad1848_tmr_start(2713,66411 -static void ad1848_tmr_reprogram(2757,67765 -static void ad1848_tmr_disable(2768,68051 -static void ad1848_tmr_restart(2779,68341 -static struct sound_lowlev_timer ad1848_tmr 2793,68669 -static int ad1848_tmr_install(2802,68789 -static int ad1848_suspend(2814,69044 -static int ad1848_resume(2826,69230 -static int ad1848_pm_callback(2874,70509 -static int __initdata io 2902,71081 -static int __initdata irq 2903,71112 -static int __initdata dma 2904,71144 -static int __initdata dma2 2905,71176 -static int __initdata type 2906,71209 -struct pnp_dev *ad1848_dev 2925,72168 -} ad1848_isapnp_list[2934,72431 -} ad1848_isapnp_list[] __initdata 2934,72431 -static struct isapnp_device_id id_table[2958,73247 -static struct isapnp_device_id id_table[] __devinitdata 2958,73247 -static struct pnp_dev *activate_dev(2976,73951 -static struct pnp_dev *ad1848_init_generic(2995,74339 -static int __init ad1848_isapnp_init(3019,75224 -static int __init ad1848_isapnp_probe(3037,75719 -static int __init init_ad1848(3076,76585 -static void __exit cleanup_ad1848(3124,77589 -static int __init setup_ad1848(3141,77844 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/uart6850.c,1708 -static int uart6850_base 34,1018 -static int *uart6850_osp;36,1053 -#define DATAPORT 38,1080 -#define COMDPORT 39,1115 -#define STATPORT 40,1152 -static int uart6850_status(42,1190 -#define input_avail(input_avail47,1251 -#define output_ready(output_ready48,1306 -static void uart6850_cmd(50,1364 -static int uart6850_read(55,1435 -static void uart6850_write(60,1494 -#define OUTPUT_READY 65,1569 -#define INPUT_AVAIL 66,1625 -#define UART_RESET 68,1686 -#define UART_MODE_ON 69,1710 -static int uart6850_opened;71,1737 -static int uart6850_irq;72,1765 -static int uart6850_detected;73,1790 -static int my_dev;74,1820 -static spinlock_t lock=75,1839 -static struct timer_list uart6850_timer 81,1995 -static void uart6850_input_loop(84,2080 -static irqreturn_t m6850intr(108,2406 -static void poll_uart6850(120,2646 -static int uart6850_open(141,3016 -static void uart6850_close(163,3435 -static int uart6850_out(170,3556 -static inline int uart6850_command(203,4219 -static inline int uart6850_start_read(208,4305 -static inline int uart6850_end_read(213,4368 -static inline void uart6850_kick(218,4429 -static inline int uart6850_buffer_status(222,4476 -#define MIDI_SYNTH_NAME 229,4580 -#define MIDI_SYNTH_CAPS 230,4621 -static struct midi_operations uart6850_operations 233,4686 -static void __init attach_uart6850(250,5108 -static inline int reset_uart6850(284,5878 -static int __init probe_uart6850(292,5973 -static void __exit unload_uart6850(308,6297 -static struct address_info cfg_mpu;314,6446 -static int __initdata io 316,6483 -static int __initdata irq 317,6514 -static int __init init_uart6850(322,6591 -static void __exit cleanup_uart6850(339,6899 -static int __init setup_uart6850(348,7049 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ad1848.h,182 -#define AD_F_CS4231 4,31 -#define AD_F_CS4248 5,115 -#define AD1848_SET_XTAL 7,200 -#define AD1848_MIXER_REROUTE 8,242 -#define AD1848_REROUTE(AD1848_REROUTE10,285 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/i810_audio.c,5650 -#define DRIVER_VERSION 105,3629 -#define MODULOP2(MODULOP2107,3660 -#define MASKP2(MASKP2108,3701 -static int ftsodell;110,3742 -static int strict_clocking;111,3763 -static unsigned int clocking;112,3791 -static int spdif_locked;113,3821 -#define ADC_RUNNING 121,3950 -#define DAC_RUNNING 122,3972 -#define I810_FMT_16BIT 124,3995 -#define I810_FMT_STEREO 125,4020 -#define I810_FMT_MASK 126,4046 -#define SPDIF_ON 128,4071 -#define SURR_ON 129,4095 -#define CENTER_LFE_ON 130,4119 -#define VOL_MUTED 131,4148 -struct sg_item sg_item135,4225 -#define BUSADDR_MASK 136,4242 -#define CON_IOC 138,4289 -#define CON_BUFPAD 139,4347 -#define CON_BUFLEN_MASK 140,4421 -#define SG_LEN 145,4543 -struct i810_channel i810_channel146,4561 -#define ENUM_ENGINE(ENUM_ENGINE169,5237 - GLOB_CNT 187,5898 - GLOB_CNT = 0x2c,187,5898 - GLOB_STA 188,5939 - GLOB_STA = 0x30,188,5939 - CAS 189,5980 - CAS = 0x34 189,5980 - SDM 197,6160 - SDM = 0x80 197,6160 -#define DMA_INT_FIFO 201,6267 -#define DMA_INT_COMPLETE 202,6324 -#define DMA_INT_LVI 203,6402 -#define DMA_INT_CELV 204,6453 -#define DMA_INT_DCH 205,6511 -#define DMA_INT_MASK 206,6592 -#define INT_SEC 209,6694 -#define INT_PRI 210,6719 -#define INT_MC 211,6744 -#define INT_PO 212,6767 -#define INT_PI 213,6790 -#define INT_MO 214,6813 -#define INT_NI 215,6836 -#define INT_GPI 216,6859 -#define INT_MASK 217,6883 -#define I810_CARD_MAGIC 220,7013 -#define I810_STATE_MAGIC 221,7062 -#define I810_DMA_MASK 222,7111 -#define NR_HW_CH 223,7189 -#define NR_AC97 226,7276 -static const unsigned sample_size[230,7455 -static const unsigned sample_shift[233,7647 - ICH82801AA 236,7711 - ICH82901AB,237,7728 - INTEL440MX,238,7741 - INTELICH2,239,7754 - INTELICH3,240,7766 - INTELICH4,241,7778 - INTELICH5,242,7790 - SI7012,243,7802 - NVIDIA_NFORCE,244,7811 - AMD768,245,7827 - AMD8111246,7836 -static char * card_names[249,7849 -#define CAP_MMIO 266,8174 -#define CAP_20BIT_AUDIO_SUPPORT 267,8214 -} card_cap[269,8272 -static struct pci_device_id i810_pci_tbl 283,8760 -#define PM_SUSPENDED(PM_SUSPENDED321,10336 -#define PM_SUSPENDED(PM_SUSPENDED323,10390 -struct i810_state i810_state327,10497 - struct dmabuf dmabuf344,10852 -struct i810_card i810_card390,12070 -#define IO_REG_OFF(IO_REG_OFF450,13736 -#define I810_IOREAD(I810_IOREAD452,13832 -#define I810_IOREADL(I810_IOREADL462,14058 -#define I810_IOREADW(I810_IOREADW463,14122 -#define I810_IOREADB(I810_IOREADB464,14186 -#define I810_IOWRITE(I810_IOWRITE466,14251 -#define I810_IOWRITEL(I810_IOWRITEL474,14445 -#define I810_IOWRITEW(I810_IOWRITEW475,14515 -#define I810_IOWRITEB(I810_IOWRITEB476,14585 -#define GET_CIV(GET_CIV478,14656 -#define GET_LVI(GET_LVI479,14741 -#define CIV_TO_LVI(CIV_TO_LVI482,14850 -static struct i810_card *devs 485,14981 -static struct i810_channel *i810_alloc_pcm_channel(497,15602 -static struct i810_channel *i810_alloc_rec_pcm_channel(505,15780 -static struct i810_channel *i810_alloc_rec_mic_channel(513,15962 -static void i810_free_pcm_channel(521,16144 -static int i810_valid_spdif_rate 526,16252 -static int i810_set_spdif_output(560,17143 -static void i810_set_dac_channels(613,18710 -static unsigned int i810_set_dac_rate(647,19480 -static unsigned int i810_set_adc_rate(690,20487 -static inline unsigned i810_get_dma_addr(733,21433 -static inline void __stop_adc(780,23043 -static void stop_adc(797,23642 -static inline void __start_adc(807,23861 -static void start_adc(819,24225 -static inline void __stop_dac(830,24478 -static void stop_dac(847,25077 -static inline void __start_dac(857,25297 -static void start_dac(868,25647 -#define DMABUF_DEFAULTORDER 878,25868 -#define DMABUF_MINORDER 879,25912 -static int alloc_dmabuf(882,26027 -static void dealloc_dmabuf(929,27371 -static int prog_dmabuf(946,27919 -static void __i810_update_lvi(1056,31100 -static void i810_update_lvi(1096,32065 -static void i810_update_ptr(1109,32444 -static inline int i810_get_free_write_space(1176,34526 -static inline int i810_get_available_read_data(1193,34881 -static inline void fill_partial_frag(1210,35250 -static int drain_dac(1226,35622 -static void i810_channel_interrupt(1302,37680 -static irqreturn_t i810_interrupt(1392,39876 -static ssize_t i810_read(1420,40560 -static ssize_t i810_write(1558,44936 -static unsigned int i810_poll(1692,49160 -static int i810_mmap(1719,49979 -static int i810_ioctl(1767,51127 -static int i810_open(2423,70326 -static int i810_release(2519,73392 -static /*const*/ struct file_operations i810_audio_fops 2552,74262 -static u16 i810_ac97_get_mmio(2566,74563 -static u16 i810_ac97_get_io(2586,75062 -static void i810_ac97_set_mmio(2598,75341 -static void i810_ac97_set_io(2614,75774 -static u16 i810_ac97_get(2626,76071 -static void i810_ac97_set(2643,76378 -static int i810_open_mixdev(2660,76717 -static int i810_ioctl_mixdev(2689,77634 -static /*const*/ struct file_operations i810_mixer_fops 2697,77864 -static inline int i810_ac97_exists(2707,78161 -static inline int i810_ac97_enable_variable_rate(2721,78419 -static int i810_ac97_probe_and_powerup(2731,78709 -static int is_new_ich(2751,79212 -static inline int ich_use_mmio(2766,79458 -static int i810_ac97_power_up_bus(2778,79708 -static int __devinit i810_ac97_init(2847,81270 -static void __devinit i810_configure_clocking 3052,88038 -static int __devinit i810_probe(3124,90286 -static void __devexit i810_remove(3309,95562 -static int i810_pm_suspend(3338,96426 -static int i810_pm_resume(3396,97996 -#define I810_MODULE_NAME 3471,100118 -static struct pci_driver i810_pci_driver 3473,100161 -static int __init i810_init_module 3485,100424 -static void __exit i810_cleanup_module 3509,101114 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4232.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ac97.h,2567 -#define _AC97_H_9,151 -#define AC97_RESET 13,220 -#define AC97_MASTER_VOL_STEREO 14,268 -#define AC97_HEADPHONE_VOL 15,325 -#define AC97_MASTER_VOL_MONO 16,374 -#define AC97_MASTER_TONE 17,433 -#define AC97_PCBEEP_VOL 18,481 -#define AC97_PHONE_VOL 19,534 -#define AC97_MIC_VOL 20,599 -#define AC97_LINEIN_VOL 21,664 -#define AC97_CD_VOL 22,732 -#define AC97_VIDEO_VOL 23,798 -#define AC97_AUX_VOL 24,851 -#define AC97_PCMOUT_VOL 25,918 -#define AC97_RECORD_SELECT 26,987 -#define AC97_RECORD_GAIN 27,1035 -#define AC97_RECORD_GAIN_MIC 28,1075 -#define AC97_GENERAL_PURPOSE 29,1115 -#define AC97_3D_CONTROL 30,1155 -#define AC97_MODEM_RATE 31,1195 -#define AC97_POWER_CONTROL 32,1235 -#define AC97_EXTENDED_ID 37,1338 -#define AC97_EXTENDED_STATUS 38,1394 -#define AC97_PCM_FRONT_DAC_RATE 39,1458 -#define AC97_PCM_SURR_DAC_RATE 40,1523 -#define AC97_PCM_LFE_DAC_RATE 41,1591 -#define AC97_PCM_LR_ADC_RATE 42,1654 -#define AC97_PCM_MIC_ADC_RATE 43,1712 -#define AC97_CENTER_LFE_MASTER 44,1775 -#define AC97_SURROUND_MASTER 45,1848 -#define AC97_RESERVED_3A 46,1924 -#define AC97_VENDOR_ID1 51,2055 -#define AC97_VENDOR_ID2 52,2095 -#define AC97_MUTE 56,2170 -#define AC97_MICBOOST 57,2210 -#define AC97_LEFTVOL 58,2250 -#define AC97_RIGHTVOL 59,2290 -#define AC97_RECMUX_MIC 63,2357 -#define AC97_RECMUX_CD 64,2397 -#define AC97_RECMUX_VIDEO 65,2437 -#define AC97_RECMUX_AUX 66,2497 -#define AC97_RECMUX_LINE 67,2543 -#define AC97_RECMUX_STEREO_MIX 68,2589 -#define AC97_RECMUX_MONO_MIX 69,2629 -#define AC97_RECMUX_PHONE 70,2669 -#define AC97_GP_LPBK 75,2755 -#define AC97_GP_MS 76,2820 -#define AC97_GP_MIX 77,2897 -#define AC97_GP_RLBK 78,2980 -#define AC97_GP_LLBK 79,3066 -#define AC97_GP_LD 80,3151 -#define AC97_GP_3D 81,3216 -#define AC97_GP_ST 82,3287 -#define AC97_GP_POP 83,3362 -#define AC97_PWR_MDM 89,3510 -#define AC97_PWR_REF 90,3581 -#define AC97_PWR_ANL 91,3645 -#define AC97_PWR_DAC 92,3717 -#define AC97_PWR_ADC 93,3786 -#define AC97_PWR_PR0 96,3870 -#define AC97_PWR_PR1 97,3943 -#define AC97_PWR_PR2 98,4008 -#define AC97_PWR_PR3 99,4092 -#define AC97_PWR_PR4 100,4177 -#define AC97_PWR_PR5 101,4246 -#define AC97_PWR_PR6 102,4318 -#define AC97_PWR_PR7 103,4386 -#define AC97_PWR_D0 106,4489 -#define AC97_PWR_D1 107,4554 -#define AC97_PWR_D2 108,4626 -#define AC97_PWR_D3 109,4724 -#define AC97_PWR_ANLOFF 110,4822 -#define AC97_REG_CNT 113,4950 -struct ac97_hwintac97_hwint118,5063 -#define AC97_REGVAL_UNKNOWN 163,6763 -#define AC97_REG_UNSUPPORTED 164,6794 -struct ac97_mixer_value_listac97_mixer_value_list166,6827 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/adlib_card.c,273 -static void __init attach_adlib_card(20,402 -static int __init probe_adlib(25,559 -static struct address_info cfg;30,683 -static int __initdata io 32,716 -static int __init init_adlib(36,771 -static void __exit cleanup_adlib(51,1020 -static int __init setup_adlib(61,1173 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_common.c,1337 -int sb_be_quiet;49,1207 -static sb_devc *detected_devc;51,1225 -static sb_devc *last_devc;52,1299 -static unsigned char jazz_irq_bits[54,1359 -static unsigned char jazz_dma_bits[58,1452 -void *smw_free;62,1521 -static int jazz16_base;68,1591 -static unsigned char jazz16_bits;69,1636 -static spinlock_t jazz16_lock 70,1696 -static unsigned char *smw_ucode;79,1873 -static int smw_ucodeLen;80,1906 -sb_devc *last_sb;84,1945 -int sb_dsp_command(86,1986 -int sb_dsp_get_byte(113,2670 -static void sb_intr 125,2825 -static void pci_intr(196,4131 -static irqreturn_t sbintr(204,4243 -int sb_dsp_reset(225,4543 -static void dsp_get_vers(254,5033 -static int sb16_set_dma_hw(282,5579 -static void sb16_set_mpu_port(300,5929 -static int sb16_set_irq_hw(323,6473 -static void relocate_Jazz16(349,6820 -static int init_Jazz16(384,7486 -static void relocate_ess1688(444,8990 -int sb_dsp_detect(504,10158 -int sb_dsp_init(640,13223 -void sb_dsp_disable_midi(879,20318 -void sb_dsp_disable_recording(883,20361 -void sb_dsp_unload(890,20538 -void sb_setmixer(937,21644 -unsigned int sb_getmixer(956,22043 -void sb_chgmixer975,22417 -static void smw_putmem(989,22670 -static unsigned char smw_getmem(1002,23029 -static int smw_midi_init(1017,23409 -static int init_Jazz16_midi(1122,26010 -int probe_sbmpu(1196,27383 -void unload_sbmpu(1281,29464 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/waveartist.h,1791 -#define CMDR 8,137 -#define DATR 9,152 -#define CTLR 10,167 -#define STATR 11,182 -#define IRQSTAT 12,198 -#define CMD_WE 16,241 -#define CMD_RF 17,261 -#define DAT_WE 18,281 -#define DAT_RF 19,301 -#define IRQ_REQ 21,322 -#define DMA1 22,343 -#define DMA0 23,361 -#define CMD_WEIE 27,402 -#define CMD_RFIE 28,424 -#define DAT_WEIE 29,446 -#define DAT_RFIE 30,468 -#define RESET 32,491 -#define DMA1_IE 33,510 -#define DMA0_IE 34,531 -#define IRQ_ACK 35,552 -#define WACMD_SYSTEMID 39,586 -#define WACMD_GETREV 40,615 -#define WACMD_INPUTFORMAT 41,642 -#define WACMD_INPUTCHANNELS 42,693 -#define WACMD_INPUTSPEED 43,745 -#define WACMD_INPUTDMA 44,791 -#define WACMD_INPUTSIZE 45,845 -#define WACMD_INPUTSTART 46,898 -#define WACMD_INPUTPAUSE 47,940 -#define WACMD_INPUTSTOP 48,982 -#define WACMD_INPUTRESUME 49,1023 -#define WACMD_INPUTPIO 50,1067 -#define WACMD_OUTPUTFORMAT 52,1107 -#define WACMD_OUTPUTCHANNELS 53,1159 -#define WACMD_OUTPUTSPEED 54,1212 -#define WACMD_OUTPUTDMA 55,1259 -#define WACMD_OUTPUTSIZE 56,1314 -#define WACMD_OUTPUTSTART 57,1367 -#define WACMD_OUTPUTPAUSE 58,1410 -#define WACMD_OUTPUTSTOP 59,1453 -#define WACMD_OUTPUTRESUME 60,1494 -#define WACMD_OUTPUTPIO 61,1539 -#define WACMD_GET_LEVEL 63,1580 -#define WACMD_SET_LEVEL 64,1610 -#define WACMD_SET_MIXER 65,1640 -#define WACMD_RST_MIXER 66,1670 -#define WACMD_SET_MONO 67,1700 -#define ADC_MUX_NONE 72,1787 -#define ADC_MUX_MIXER 73,1810 -#define ADC_MUX_LINE 74,1834 -#define ADC_MUX_AUX2 75,1857 -#define ADC_MUX_AUX1 76,1880 -#define ADC_MUX_MIC 77,1903 -#define MIX_GAIN_LINE 82,1972 -#define MIX_GAIN_AUX1 83,2011 -#define MIX_GAIN_AUX2 84,2048 -#define MIX_GAIN_XMIC 85,2085 -#define MIX_GAIN_MIC 86,2129 -#define MIX_GAIN_PREMIC 87,2170 -#define MIX_GAIN_OUT 88,2214 -#define MIX_GAIN_MONO 89,2251 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/audio_syms.c,29 -char audio_syms_symbol;7,73 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ymfpci_image.h,111 -#define _HWMCODE_2,18 -static u32 DspInst[4,37 -static u32 CntrlInst[15,476 -static u32 CntrlInst1E[794,32261 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4281/cs4281_hwdefs.h,27751 -#define _H_HWDEFS11,342 -#define PCICONFIG_DEVID_VENID 19,640 -#define PCICONFIG_STATUS_COMMAND 20,700 -#define PCICONFIG_CLASS_REVISION 21,760 -#define PCICONFIG_LATENCY_TIMER 22,820 -#define PCICONFIG_BA0 23,880 -#define PCICONFIG_BA1 24,940 -#define PCICONFIG_SUBSYSID_SUBSYSVENID 25,1000 -#define PCICONFIG_INTERRUPT 26,1060 -#define BA0_HISR 34,1401 -#define BA0_HICR 35,1461 -#define BA0_HIMR 36,1521 -#define BA0_IIER 37,1581 -#define BA0_HDSR0 38,1641 -#define BA0_HDSR1 39,1701 -#define BA0_HDSR2 40,1761 -#define BA0_HDSR3 41,1821 -#define BA0_DCA0 42,1881 -#define BA0_DCC0 43,1941 -#define BA0_DBA0 44,2001 -#define BA0_DBC0 45,2061 -#define BA0_DCA1 46,2121 -#define BA0_DCC1 47,2181 -#define BA0_DBA1 48,2241 -#define BA0_DBC1 49,2301 -#define BA0_DCA2 50,2361 -#define BA0_DCC2 51,2421 -#define BA0_DBA2 52,2481 -#define BA0_DBC2 53,2541 -#define BA0_DCA3 54,2601 -#define BA0_DCC3 55,2661 -#define BA0_DBA3 56,2721 -#define BA0_DBC3 57,2781 -#define BA0_DMR0 58,2841 -#define BA0_DCR0 59,2901 -#define BA0_DMR1 60,2961 -#define BA0_DCR1 61,3021 -#define BA0_DMR2 62,3081 -#define BA0_DCR2 63,3141 -#define BA0_DMR3 64,3201 -#define BA0_DCR3 65,3261 -#define BA0_DLMR 66,3321 -#define BA0_DLSR 67,3381 -#define BA0_FCR0 68,3441 -#define BA0_FCR1 69,3501 -#define BA0_FCR2 70,3561 -#define BA0_FCR3 71,3621 -#define BA0_FPDR0 72,3681 -#define BA0_FPDR1 73,3741 -#define BA0_FPDR2 74,3801 -#define BA0_FPDR3 75,3861 -#define BA0_FCHS 76,3921 -#define BA0_FSIC0 77,3981 -#define BA0_FSIC1 78,4041 -#define BA0_FSIC2 79,4101 -#define BA0_FSIC3 80,4161 -#define BA0_PCICFG00 81,4221 -#define BA0_PCICFG04 82,4281 -#define BA0_PCICFG08 83,4341 -#define BA0_PCICFG0C 84,4401 -#define BA0_PCICFG10 85,4461 -#define BA0_PCICFG14 86,4521 -#define BA0_PCICFG18 87,4581 -#define BA0_PCICFG1C 88,4641 -#define BA0_PCICFG20 89,4701 -#define BA0_PCICFG24 90,4761 -#define BA0_PCICFG28 91,4821 -#define BA0_PCICFG2C 92,4881 -#define BA0_PCICFG30 93,4941 -#define BA0_PCICFG34 94,5001 -#define BA0_PCICFG38 95,5061 -#define BA0_PCICFG3C 96,5121 -#define BA0_PCICFG40 97,5181 -#define BA0_PMCS 98,5241 -#define BA0_CWPR 99,5301 -#define BA0_EPPMC 100,5361 -#define BA0_GPIOR 101,5421 -#define BA0_SPMC 102,5481 -#define BA0_CFLR 103,5541 -#define BA0_IISR 104,5601 -#define BA0_TMS 105,5661 -#define BA0_SSVID 106,5721 -#define BA0_CLKCR1 107,5781 -#define BA0_FRR 108,5841 -#define BA0_SLT12O 109,5901 -#define BA0_SERMC 110,5961 -#define BA0_SERC1 111,6021 -#define BA0_SERC2 112,6081 -#define BA0_SLT12M 113,6141 -#define BA0_ACCTL 114,6201 -#define BA0_ACSTS 115,6261 -#define BA0_ACOSV 116,6321 -#define BA0_ACCAD 117,6381 -#define BA0_ACCDA 118,6441 -#define BA0_ACISV 119,6501 -#define BA0_ACSAD 120,6561 -#define BA0_ACSDA 121,6621 -#define BA0_JSPT 122,6681 -#define BA0_JSCTL 123,6741 -#define BA0_MIDCR 124,6801 -#define BA0_MIDCMD 125,6861 -#define BA0_MIDSR 126,6921 -#define BA0_MIDWP 127,6981 -#define BA0_MIDRP 128,7041 -#define BA0_AODSD1 129,7101 -#define BA0_AODSD2 130,7161 -#define BA0_CFGI 131,7221 -#define BA0_SLT12M2 132,7281 -#define BA0_ACSTS2 133,7341 -#define BA0_ACISV2 134,7401 -#define BA0_ACSAD2 135,7461 -#define BA0_ACSDA2 136,7521 -#define BA0_IOTGP 137,7581 -#define BA0_IOTSB 138,7641 -#define BA0_IOTFM 139,7701 -#define BA0_IOTDMA 140,7761 -#define BA0_IOTAC0 141,7821 -#define BA0_IOTAC1 142,7881 -#define BA0_IOTAC2 143,7941 -#define BA0_IOTAC3 144,8001 -#define BA0_IOTPCP 145,8061 -#define BA0_IOTCC 146,8121 -#define BA0_IOTCR 147,8181 -#define BA0_PCPRR 148,8241 -#define BA0_PCPGR 149,8301 -#define BA0_PCPCR 150,8361 -#define BA0_PCPCIEN 151,8421 -#define BA0_SBMAR 152,8481 -#define BA0_SBMDR 153,8541 -#define BA0_SBRR 154,8601 -#define BA0_SBRDP 155,8661 -#define BA0_SBWDP 156,8721 -#define BA0_SBWBS 157,8781 -#define BA0_SBRBS 158,8841 -#define BA0_FMSR 159,8901 -#define BA0_B0AP 160,8961 -#define BA0_FMDP 161,9021 -#define BA0_B1AP 162,9081 -#define BA0_B1DP 163,9141 -#define BA0_SSPM 164,9201 -#define BA0_DACSR 165,9261 -#define BA0_ADCSR 166,9321 -#define BA0_SSCR 167,9381 -#define BA0_FMLVC 168,9441 -#define BA0_FMRVC 169,9501 -#define BA0_SRCSA 170,9561 -#define BA0_PPLVC 171,9621 -#define BA0_PPRVC 172,9681 -#define BA0_PASR 173,9741 -#define BA0_CASR 174,9801 -#define AC97_REG_OFFSET_MASK 182,10179 -#define AC97_CODEC_NUMBER_MASK 183,10239 -#define BA0_AC97_RESET 185,10300 -#define BA0_AC97_MASTER_VOLUME 186,10360 -#define BA0_AC97_HEADPHONE_VOLUME 187,10420 -#define BA0_AC97_MASTER_VOLUME_MONO 188,10480 -#define BA0_AC97_MASTER_TONE 189,10540 -#define BA0_AC97_PC_BEEP_VOLUME 190,10600 -#define BA0_AC97_PHONE_VOLUME 191,10660 -#define BA0_AC97_MIC_VOLUME 192,10720 -#define BA0_AC97_LINE_IN_VOLUME 193,10780 -#define BA0_AC97_CD_VOLUME 194,10840 -#define BA0_AC97_VIDEO_VOLUME 195,10900 -#define BA0_AC97_AUX_VOLUME 196,10960 -#define BA0_AC97_PCM_OUT_VOLUME 197,11020 -#define BA0_AC97_RECORD_SELECT 198,11080 -#define BA0_AC97_RECORD_GAIN 199,11140 -#define BA0_AC97_RECORD_GAIN_MIC 200,11200 -#define BA0_AC97_GENERAL_PURPOSE 201,11260 -#define BA0_AC97_3D_CONTROL 202,11320 -#define BA0_AC97_MODEM_RATE 203,11380 -#define BA0_AC97_POWERDOWN 204,11440 -#define BA0_AC97_EXT_AUDIO_ID 205,11500 -#define BA0_AC97_EXT_AUDIO_POWER 206,11560 -#define BA0_AC97_PCM_FRONT_DAC_RATE 207,11620 -#define BA0_AC97_PCM_SURR_DAC_RATE 208,11680 -#define BA0_AC97_PCM_LFE_DAC_RATE 209,11740 -#define BA0_AC97_PCM_LR_ADC_RATE 210,11800 -#define BA0_AC97_MIC_ADC_RATE 211,11860 -#define BA0_AC97_6CH_VOL_C_LFE 212,11920 -#define BA0_AC97_6CH_VOL_SURROUND 213,11980 -#define BA0_AC97_RESERVED_3A 214,12040 -#define BA0_AC97_EXT_MODEM_ID 215,12100 -#define BA0_AC97_EXT_MODEM_POWER 216,12160 -#define BA0_AC97_LINE1_CODEC_RATE 217,12220 -#define BA0_AC97_LINE2_CODEC_RATE 218,12280 -#define BA0_AC97_HANDSET_CODEC_RATE 219,12340 -#define BA0_AC97_LINE1_CODEC_LEVEL 220,12400 -#define BA0_AC97_LINE2_CODEC_LEVEL 221,12460 -#define BA0_AC97_HANDSET_CODEC_LEVEL 222,12520 -#define BA0_AC97_GPIO_PIN_CONFIG 223,12580 -#define BA0_AC97_GPIO_PIN_TYPE 224,12640 -#define BA0_AC97_GPIO_PIN_STICKY 225,12700 -#define BA0_AC97_GPIO_PIN_WAKEUP 226,12760 -#define BA0_AC97_GPIO_PIN_STATUS 227,12820 -#define BA0_AC97_MISC_MODEM_AFE_STAT 228,12880 -#define BA0_AC97_RESERVED_58 229,12940 -#define BA0_AC97_CRYSTAL_REV_N_FAB_ID 230,13000 -#define BA0_AC97_TEST_AND_MISC_CTRL 231,13060 -#define BA0_AC97_AC_MODE 232,13120 -#define BA0_AC97_MISC_CRYSTAL_CONTROL 233,13180 -#define BA0_AC97_LINE1_HYPRID_CTRL 234,13240 -#define BA0_AC97_VENDOR_RESERVED_64 235,13300 -#define BA0_AC97_VENDOR_RESERVED_66 236,13360 -#define BA0_AC97_SPDIF_CONTROL 237,13420 -#define BA0_AC97_VENDOR_RESERVED_6A 238,13480 -#define BA0_AC97_VENDOR_RESERVED_6C 239,13540 -#define BA0_AC97_VENDOR_RESERVED_6E 240,13600 -#define BA0_AC97_VENDOR_RESERVED_70 241,13660 -#define BA0_AC97_VENDOR_RESERVED_72 242,13720 -#define BA0_AC97_VENDOR_RESERVED_74 243,13780 -#define BA0_AC97_CAL_ADDRESS 244,13840 -#define BA0_AC97_CAL_DATA 245,13900 -#define BA0_AC97_VENDOR_RESERVED_7A 246,13960 -#define BA0_AC97_VENDOR_ID1 247,14020 -#define BA0_AC97_VENDOR_ID2 248,14080 -#define PDV_VENID_MASK 263,14685 -#define PDV_DEVID_MASK 264,14745 -#define PDV_VENID_SHIFT 265,14805 -#define PDV_DEVID_SHIFT 266,14856 -#define VENID_CIRRUS_LOGIC 267,14908 -#define DEVID_CS4281 268,14964 -#define PSC_IO_SPACE_ENABLE 276,15271 -#define PSC_MEMORY_SPACE_ENABLE 277,15331 -#define PSC_BUS_MASTER_ENABLE 278,15391 -#define PSC_SPECIAL_CYCLES 279,15451 -#define PSC_MWI_ENABLE 280,15511 -#define PSC_VGA_PALETTE_SNOOP 281,15571 -#define PSC_PARITY_RESPONSE 282,15631 -#define PSC_WAIT_CONTROL 283,15691 -#define PSC_SERR_ENABLE 284,15751 -#define PSC_FAST_B2B_ENABLE 285,15811 -#define PSC_UDF_MASK 286,15871 -#define PSC_FAST_B2B_CAPABLE 287,15931 -#define PSC_PARITY_ERROR_DETECTED 288,15991 -#define PSC_DEVSEL_TIMING_MASK 289,16051 -#define PSC_TARGET_ABORT_SIGNALLED 290,16111 -#define PSC_RECEIVED_TARGET_ABORT 291,16171 -#define PSC_RECEIVED_MASTER_ABORT 292,16231 -#define PSC_SIGNALLED_SERR 293,16291 -#define PSC_DETECTED_PARITY_ERROR 294,16351 -#define PSC_UDF_SHIFT 295,16411 -#define PSC_DEVSEL_TIMING_SHIFT 296,16463 -#define PCR_REVID_MASK 304,16765 -#define PCR_INTERFACE_MASK 305,16825 -#define PCR_SUBCLASS_MASK 306,16885 -#define PCR_CLASS_MASK 307,16945 -#define PCR_REVID_SHIFT 308,17005 -#define PCR_INTERFACE_SHIFT 309,17056 -#define PCR_SUBCLASS_SHIFT 310,17107 -#define PCR_CLASS_SHIFT 311,17159 -#define PLT_CACHE_LINE_SIZE_MASK 318,17454 -#define PLT_LATENCY_TIMER_MASK 319,17514 -#define PLT_HEADER_TYPE_MASK 320,17574 -#define PLT_BIST_MASK 321,17634 -#define PLT_CACHE_LINE_SIZE_SHIFT 322,17694 -#define PLT_LATENCY_TIMER_SHIFT 323,17745 -#define PLT_HEADER_TYPE_SHIFT 324,17796 -#define PLT_BIST_SHIFT 325,17848 -#define PBAR_MEMORY_SPACE_INDICATOR 332,18143 -#define PBAR_LOCATION_TYPE_MASK 333,18203 -#define PBAR_NOT_PREFETCHABLE 334,18263 -#define PBAR_ADDRESS_MASK 335,18323 -#define PBAR_LOCATION_TYPE_SHIFT 336,18383 -#define PSS_SUBSYSTEM_VENDOR_ID_MASK 344,18699 -#define PSS_SUBSYSTEM_ID_MASK 345,18759 -#define PSS_SUBSYSTEM_VENDOR_ID_SHIFT 346,18819 -#define PSS_SUBSYSTEM_ID_SHIFT 347,18870 -#define PI_LINE_MASK 354,19161 -#define PI_PIN_MASK 355,19221 -#define PI_MIN_GRANT_MASK 356,19281 -#define PI_MAX_LATENCY_MASK 357,19341 -#define PI_LINE_SHIFT 358,19401 -#define PI_PIN_SHIFT 359,19452 -#define PI_MIN_GRANT_SHIFT 360,19503 -#define PI_MAX_LATENCY_SHIFT 361,19555 -#define HISR_HVOLMASK 369,19857 -#define HISR_VDNI 370,19918 -#define HISR_VUPI 371,19979 -#define HISR_GP1I 372,20040 -#define HISR_GP3I 373,20101 -#define HISR_GPSI 374,20162 -#define HISR_GPPI 375,20223 -#define HISR_DMAI 376,20284 -#define HISR_FIFOI 377,20345 -#define HISR_HVOL 378,20406 -#define HISR_MIDI 379,20467 -#define HISR_SBINT 380,20528 -#define HISR_INTENA 381,20589 -#define HISR_DMA_MASK 382,20650 -#define HISR_FIFO_MASK 383,20711 -#define HISR_DMA_SHIFT 384,20772 -#define HISR_FIFO_SHIFT 385,20824 -#define HISR_FIFO0 386,20877 -#define HISR_FIFO1 387,20938 -#define HISR_FIFO2 388,20999 -#define HISR_FIFO3 389,21060 -#define HISR_DMA0 390,21121 -#define HISR_DMA1 391,21182 -#define HISR_DMA2 392,21243 -#define HISR_DMA3 393,21304 -#define HISR_RESERVED 394,21365 -#define HICR_IEV 402,21677 -#define HICR_CHGM 403,21738 -#define DMRn_TR_MASK 411,22044 -#define DMRn_TR_SHIFT 412,22105 -#define DMRn_AUTO 413,22157 -#define DMRn_TR_READ 414,22218 -#define DMRn_TR_WRITE 415,22279 -#define DMRn_TYPE_MASK 416,22340 -#define DMRn_TYPE_SHIFT 417,22401 -#define DMRn_SIZE8 418,22453 -#define DMRn_MONO 419,22514 -#define DMRn_BEND 420,22575 -#define DMRn_USIGN 421,22636 -#define DMRn_SIZE20 422,22697 -#define DMRn_SWAPC 423,22758 -#define DMRn_CBC 424,22819 -#define DMRn_TBC 425,22880 -#define DMRn_POLL 426,22941 -#define DMRn_DMA 427,23002 -#define DMRn_FSEL_MASK 428,23063 -#define DMRn_FSEL_SHIFT 429,23124 -#define DMRn_FSEL0 430,23177 -#define DMRn_FSEL1 431,23238 -#define DMRn_FSEL2 432,23299 -#define DMRn_FSEL3 433,23360 -#define DCRn_HTCIE 441,23669 -#define DCRn_TCIE 442,23730 -#define DCRn_MSK 443,23791 -#define FCRn_OF_MASK 451,24102 -#define FCRn_OF_SHIFT 452,24162 -#define FCRn_SZ_MASK 453,24213 -#define FCRn_SZ_SHIFT 454,24273 -#define FCRn_LS_MASK 455,24324 -#define FCRn_LS_SHIFT 456,24384 -#define FCRn_RS_MASK 457,24436 -#define FCRn_RS_SHIFT 458,24496 -#define FCRn_FEN 459,24548 -#define FCRn_PSH 460,24608 -#define FCRn_DACZ 461,24668 -#define SPMC_RSTN 469,24999 -#define SPMC_ASYN 470,25059 -#define SPMC_WUP1 471,25119 -#define SPMC_WUP2 472,25179 -#define SPMC_ASDI2E 473,25239 -#define SPMC_ESSPD 474,25299 -#define SPMC_GISPEN 475,25359 -#define SPMC_GIPPEN 476,25419 -#define CFLR_CLOCK_SOURCE_MASK 484,25733 -#define CFLR_CLOCK_SOURCE_AC97 485,25793 -#define CFLR_CB0_MASK 487,25854 -#define CFLR_CB1_MASK 488,25915 -#define CFLR_CB2_MASK 489,25976 -#define CFLR_CB3_MASK 490,26037 -#define CFLR_CB0_SHIFT 491,26098 -#define CFLR_CB1_SHIFT 492,26150 -#define CFLR_CB2_SHIFT 493,26202 -#define CFLR_CB3_SHIFT 494,26255 -#define IOTCR_DMA0 496,26309 -#define IOTCR_DMA1 497,26369 -#define IOTCR_DMA2 498,26429 -#define IOTCR_DMA3 499,26489 -#define IOTCR_CCLS 500,26549 -#define IOTCR_PCPCI 501,26609 -#define IOTCR_DDMA 502,26669 -#define SBWBS_WBB 504,26730 -#define SRCSA_PLSS_MASK 512,27045 -#define SRCSA_PLSS_SHIFT 513,27105 -#define SRCSA_PRSS_MASK 514,27156 -#define SRCSA_PRSS_SHIFT 515,27216 -#define SRCSA_CLSS_MASK 516,27267 -#define SRCSA_CLSS_SHIFT 517,27327 -#define SRCSA_CRSS_MASK 518,27379 -#define SRCSA_CRSS_SHIFT 519,27439 -#define SSPM_FPDN 527,27755 -#define SSPM_MIXEN 528,27815 -#define SSPM_CSRCEN 529,27875 -#define SSPM_PSRCEN 530,27935 -#define SSPM_JSEN 531,27995 -#define SSPM_ACLEN 532,28055 -#define SSPM_FMEN 533,28115 -#define SSCR_SB 541,28431 -#define SSCR_HVC 542,28491 -#define SSCR_LPFIFO 543,28551 -#define SSCR_LPSRC 544,28611 -#define SSCR_XLPSRC 545,28671 -#define SSCR_MVMD 546,28731 -#define SSCR_MVAD 547,28791 -#define SSCR_MVLD 548,28851 -#define SSCR_MVCS 549,28911 -#define CLKCR1_DLLSS_MASK 557,29225 -#define CLKCR1_DLLSS_SHIFT 558,29285 -#define CLKCR1_DLLP 559,29336 -#define CLKCR1_SWCE 560,29396 -#define CLKCR1_DLLOS 561,29456 -#define CLKCR1_CKRA 562,29516 -#define CLKCR1_CKRN 563,29576 -#define CLKCR1_DLLRDY 564,29636 -#define CLKCR1_CLKON 565,29696 -#define SBRBS_RD_MASK 573,30015 -#define SBRBS_RD_SHIFT 574,30075 -#define SBRBS_RBF 575,30126 -#define SERMC_MSPE 583,30448 -#define SERMC_PTC_MASK 584,30508 -#define SERMC_PTC_SHIFT 585,30568 -#define SERMC_PTC_AC97 586,30619 -#define SERMC_PLB 587,30679 -#define SERMC_PXLB 588,30739 -#define SERMC_LOFV 589,30799 -#define SERMC_SLB 590,30859 -#define SERMC_SXLB 591,30919 -#define SERMC_ODSEN1 592,30979 -#define SERMC_ODSEN2 593,31039 -#define GPIOR_VDNS 601,31356 -#define GPIOR_VUPS 602,31416 -#define GPIOR_GP1S 603,31476 -#define GPIOR_GP3S 604,31536 -#define GPIOR_GPSS 605,31596 -#define GPIOR_GPPS 606,31656 -#define GPIOR_GP1D 607,31716 -#define GPIOR_GP3D 608,31776 -#define GPIOR_VDNLT 609,31836 -#define GPIOR_VDNPO 610,31896 -#define GPIOR_VDNST 611,31956 -#define GPIOR_VDNW 612,32016 -#define GPIOR_VUPLT 613,32076 -#define GPIOR_VUPPO 614,32136 -#define GPIOR_VUPST 615,32196 -#define GPIOR_VUPW 616,32256 -#define GPIOR_GP1OE 617,32316 -#define GPIOR_GP1PT 618,32376 -#define GPIOR_GP1ST 619,32436 -#define GPIOR_GP1W 620,32496 -#define GPIOR_GP3OE 621,32556 -#define GPIOR_GP3PT 622,32616 -#define GPIOR_GP3ST 623,32676 -#define GPIOR_GP3W 624,32736 -#define CLKCR1_PLLSS_MASK 631,33037 -#define CLKCR1_PLLSS_SERIAL 632,33097 -#define CLKCR1_PLLSS_CRYSTAL 633,33157 -#define CLKCR1_PLLSS_PCI 634,33217 -#define CLKCR1_PLLSS_RESERVED 635,33277 -#define CLKCR1_PLLP 636,33337 -#define CLKCR1_SWCE 637,33397 -#define CLKCR1_PLLOS 638,33457 -#define FRR_FAB_MASK 645,33760 -#define FRR_MASK_MASK 646,33820 -#define FRR_ID_MASK 647,33880 -#define FRR_FAB_SHIFT 648,33940 -#define FRR_MASK_SHIFT 649,33991 -#define FRR_ID_SHIFT 650,34042 -#define SERC1_VALUE 658,34350 -#define SERC1_SO1EN 659,34410 -#define SERC1_SO1F_MASK 660,34470 -#define SERC1_SO1F_CS423X 661,34530 -#define SERC1_SO1F_AC97 662,34590 -#define SERC1_SO1F_DAC 663,34650 -#define SERC1_SO1F_SPDIF 664,34710 -#define SERC2_VALUE 672,35026 -#define SERC2_SI1EN 673,35086 -#define SERC2_SI1F_MASK 674,35146 -#define SERC2_SI1F_CS423X 675,35206 -#define SERC2_SI1F_AC97 676,35266 -#define SERC2_SI1F_ADC 677,35326 -#define SERC2_SI1F_SPDIF 678,35386 -#define ACCTL_ESYN 685,35684 -#define ACCTL_VFRM 686,35744 -#define ACCTL_DCV 687,35804 -#define ACCTL_CRW 688,35864 -#define ACCTL_TC 689,35924 -#define ACSTS_CRDY 696,36221 -#define ACSTS_VSTS 697,36281 -#define ACOSV_SLV3 705,36592 -#define ACOSV_SLV4 706,36652 -#define ACOSV_SLV5 707,36712 -#define ACOSV_SLV6 708,36772 -#define ACOSV_SLV7 709,36832 -#define ACOSV_SLV8 710,36892 -#define ACOSV_SLV9 711,36952 -#define ACOSV_SLV10 712,37012 -#define ACOSV_SLV11 713,37072 -#define ACOSV_SLV12 714,37132 -#define ACCAD_CI_MASK 722,37441 -#define ACCAD_CI_SHIFT 723,37501 -#define ACCDA_CD_MASK 730,37795 -#define ACCDA_CD_SHIFT 731,37855 -#define ACISV_ISV3 739,38156 -#define ACISV_ISV4 740,38216 -#define ACISV_ISV5 741,38276 -#define ACISV_ISV6 742,38336 -#define ACISV_ISV7 743,38396 -#define ACISV_ISV8 744,38456 -#define ACISV_ISV9 745,38516 -#define ACISV_ISV10 746,38576 -#define ACISV_ISV11 747,38636 -#define ACISV_ISV12 748,38696 -#define ACSAD_SI_MASK 756,39004 -#define ACSAD_SI_SHIFT 757,39064 -#define ACSDA_SD_MASK 764,39357 -#define ACSDA_SD_SHIFT 765,39417 -#define IOTAC_SA_MASK 773,39735 -#define IOTAC_MSK_MASK 774,39795 -#define IOTAC_IODC_MASK 775,39855 -#define IOTAC_IODC_16_BIT 776,39915 -#define IOTAC_IODC_10_BIT 777,39975 -#define IOTAC_IODC_12_BIT 778,40035 -#define IOTAC_WSPI 779,40095 -#define IOTAC_RSPI 780,40155 -#define IOTAC_WSE 781,40215 -#define IOTAC_WE 782,40275 -#define IOTAC_RE 783,40335 -#define IOTAC_SA_SHIFT 784,40395 -#define IOTAC_MSK_SHIFT 785,40446 -#define PCPCIEN_EN 793,40747 -#define JSPT_CAX 801,41057 -#define JSPT_CAY 802,41117 -#define JSPT_CBX 803,41177 -#define JSPT_CBY 804,41237 -#define JSPT_BA1 805,41297 -#define JSPT_BA2 806,41357 -#define JSPT_BB1 807,41417 -#define JSPT_BB2 808,41477 -#define JSCTL_SP_MASK 816,41854 -#define JSCTL_SP_SLOW 817,41914 -#define JSCTL_SP_MEDIUM_SLOW 818,41974 -#define JSCTL_SP_MEDIUM_FAST 819,42034 -#define JSCTL_SP_FAST 820,42094 -#define JSCTL_ARE 821,42154 -#define JSCTL_TBF 822,42214 -#define MIDCR_TXE 830,42513 -#define MIDCR_RXE 831,42573 -#define MIDCR_RIE 832,42633 -#define MIDCR_TIE 833,42693 -#define MIDCR_MLB 834,42753 -#define MIDCR_MRST 835,42813 -#define MIDSR_RBE 842,43110 -#define MIDSR_RDA 843,43170 -#define MIDWP_MWD_MASK 850,43471 -#define MIDWP_MWD_SHIFT 851,43531 -#define MIDRP_MRD_MASK 858,43822 -#define MIDRP_MRD_SHIFT 859,43882 -#define CFGI_CLK 867,44185 -#define CFGI_DOUT 868,44245 -#define CFGI_DIN_EEN 869,44305 -#define CFGI_EELD 870,44365 -#define SSVID_VID_MASK 878,44680 -#define SSVID_SID_MASK 879,44740 -#define SSVID_VID_SHIFT 880,44800 -#define SSVID_SID_SHIFT 881,44851 -#define GPIOR_VOLDN 888,45147 -#define GPIOR_VOLUP 889,45207 -#define GPIOR_SI2D 890,45267 -#define GPIOR_SI2OE 891,45327 -#define ACSTS2_CRDY 898,45626 -#define ACSTS2_VSTS 899,45686 -#define ACISV2_ISV3 907,45998 -#define ACISV2_ISV4 908,46058 -#define ACISV2_ISV5 909,46118 -#define ACISV2_ISV6 910,46178 -#define ACISV2_ISV7 911,46238 -#define ACISV2_ISV8 912,46298 -#define ACISV2_ISV9 913,46358 -#define ACISV2_ISV10 914,46418 -#define ACISV2_ISV11 915,46478 -#define ACISV2_ISV12 916,46538 -#define ACSAD2_SI_MASK 924,46848 -#define ACSAD2_SI_SHIFT 925,46908 -#define ACSDA2_SD_MASK 932,47203 -#define ACSDA2_SD_SHIFT 933,47263 -#define IOTCR_ITD 940,47556 -#define IOTCR_HRV 941,47616 -#define IOTCR_SRV 942,47676 -#define IOTCR_DTI 943,47736 -#define IOTCR_DFI 944,47796 -#define IOTCR_DDP 945,47856 -#define IOTCR_JTE 946,47916 -#define IOTCR_PPE 947,47976 -#define IOTGP_SA_MASK 955,48323 -#define IOTGP_MSK_MASK 956,48383 -#define IOTGP_IODC_MASK 957,48443 -#define IOTGP_IODC_16_BIT 958,48503 -#define IOTGP_IODC_10_BIT 959,48563 -#define IOTGP_IODC_12_BIT 960,48623 -#define IOTGP_WSPI 961,48683 -#define IOTGP_RSPI 962,48743 -#define IOTGP_WSE 963,48803 -#define IOTGP_WE 964,48863 -#define IOTGP_RE 965,48923 -#define IOTGP_SA_SHIFT 966,48983 -#define IOTGP_MSK_SHIFT 967,49034 -#define IOTSB_SA_MASK 975,49361 -#define IOTSB_MSK_MASK 976,49421 -#define IOTSB_IODC_MASK 977,49481 -#define IOTSB_IODC_16_BIT 978,49541 -#define IOTSB_IODC_10_BIT 979,49601 -#define IOTSB_IODC_12_BIT 980,49661 -#define IOTSB_WSPI 981,49721 -#define IOTSB_RSPI 982,49781 -#define IOTSB_WSE 983,49841 -#define IOTSB_WE 984,49901 -#define IOTSB_RE 985,49961 -#define IOTSB_SA_SHIFT 986,50021 -#define IOTSB_MSK_SHIFT 987,50072 -#define IOTFM_SA_MASK 995,50389 -#define IOTFM_MSK_MASK 996,50449 -#define IOTFM_IODC_MASK 997,50509 -#define IOTFM_IODC_16_BIT 998,50569 -#define IOTFM_IODC_10_BIT 999,50629 -#define IOTFM_IODC_12_BIT 1000,50689 -#define IOTFM_WSPI 1001,50749 -#define IOTFM_RSPI 1002,50809 -#define IOTFM_WSE 1003,50869 -#define IOTFM_WE 1004,50929 -#define IOTFM_RE 1005,50989 -#define IOTFM_SA_SHIFT 1006,51049 -#define IOTFM_MSK_SHIFT 1007,51100 -#define PCPRR_RDC_MASK 1014,51392 -#define PCPRR_REQ 1015,51451 -#define PCPRR_RDC_SHIFT 1016,51510 -#define PCPGR_GDC_MASK 1023,51798 -#define PCPGR_VL 1024,51857 -#define PCPGR_GDC_SHIFT 1025,51916 -#define PCPCR_EN 1032,52206 -#define DREG_REGID_MASK 1039,52502 -#define DREG_DEBUG 1040,52562 -#define DREG_RGBK_MASK 1041,52622 -#define DREG_TRAP 1042,52682 -#define DREG_TRAPX 1045,52790 -#define DREG_REGID_SHIFT 1048,52864 -#define DREG_RGBK_SHIFT 1049,52915 -#define DREG_RGBK_REGID_MASK 1050,52966 -#define DREG_REGID_R0 1051,53026 -#define DREG_REGID_R1 1052,53086 -#define DREG_REGID_R2 1053,53146 -#define DREG_REGID_R3 1054,53206 -#define DREG_REGID_R4 1055,53266 -#define DREG_REGID_R5 1056,53326 -#define DREG_REGID_R6 1057,53386 -#define DREG_REGID_R7 1058,53446 -#define DREG_REGID_R8 1059,53506 -#define DREG_REGID_R9 1060,53566 -#define DREG_REGID_RA 1061,53626 -#define DREG_REGID_RB 1062,53686 -#define DREG_REGID_RC 1063,53746 -#define DREG_REGID_RD 1064,53806 -#define DREG_REGID_RE 1065,53866 -#define DREG_REGID_RF 1066,53926 -#define DREG_REGID_RA_BUS_LOW 1067,53986 -#define DREG_REGID_RA_BUS_HIGH 1068,54046 -#define DREG_REGID_YBUS_LOW 1069,54106 -#define DREG_REGID_YBUS_HIGH 1070,54166 -#define DREG_REGID_TRAP_0 1071,54226 -#define DREG_REGID_TRAP_1 1072,54286 -#define DREG_REGID_TRAP_2 1073,54346 -#define DREG_REGID_TRAP_3 1074,54406 -#define DREG_REGID_TRAP_4 1075,54466 -#define DREG_REGID_TRAP_5 1076,54526 -#define DREG_REGID_TRAP_6 1077,54586 -#define DREG_REGID_TRAP_7 1078,54646 -#define DREG_REGID_INDIRECT_ADDRESS 1079,54706 -#define DREG_REGID_TOP_OF_STACK 1080,54766 -#define DREG_REGID_TRAP_8 1083,54874 -#define DREG_REGID_TRAP_9 1084,54934 -#define DREG_REGID_TRAP_10 1085,54994 -#define DREG_REGID_TRAP_11 1086,55054 -#define DREG_REGID_TRAP_12 1087,55114 -#define DREG_REGID_TRAP_13 1088,55174 -#define DREG_REGID_TRAP_14 1089,55234 -#define DREG_REGID_TRAP_15 1090,55294 -#define DREG_REGID_TRAP_16 1091,55354 -#define DREG_REGID_TRAP_17 1092,55414 -#define DREG_REGID_TRAP_18 1093,55474 -#define DREG_REGID_TRAP_19 1094,55534 -#define DREG_REGID_TRAP_20 1095,55594 -#define DREG_REGID_TRAP_21 1096,55654 -#define DREG_REGID_TRAP_22 1097,55714 -#define DREG_REGID_TRAP_23 1098,55774 -#define DREG_REGID_RSA0_LOW 1101,55848 -#define DREG_REGID_RSA0_HIGH 1102,55908 -#define DREG_REGID_RSA1_LOW 1103,55968 -#define DREG_REGID_RSA1_HIGH 1104,56028 -#define DREG_REGID_RSA2 1105,56088 -#define DREG_REGID_RSA3 1106,56148 -#define DREG_REGID_RSI0_LOW 1107,56208 -#define DREG_REGID_RSI0_HIGH 1108,56268 -#define DREG_REGID_RSI1 1109,56328 -#define DREG_REGID_RSI2 1110,56388 -#define DREG_REGID_SAGUSTATUS 1111,56448 -#define DREG_REGID_RSCONFIG01_LOW 1112,56508 -#define DREG_REGID_RSCONFIG01_HIGH 1113,56568 -#define DREG_REGID_RSCONFIG23_LOW 1114,56628 -#define DREG_REGID_RSCONFIG23_HIGH 1115,56688 -#define DREG_REGID_RSDMA01E 1116,56748 -#define DREG_REGID_RSDMA23E 1117,56808 -#define DREG_REGID_RSD0_LOW 1118,56868 -#define DREG_REGID_RSD0_HIGH 1119,56928 -#define DREG_REGID_RSD1_LOW 1120,56988 -#define DREG_REGID_RSD1_HIGH 1121,57048 -#define DREG_REGID_RSD2_LOW 1122,57108 -#define DREG_REGID_RSD2_HIGH 1123,57168 -#define DREG_REGID_RSD3_LOW 1124,57228 -#define DREG_REGID_RSD3_HIGH 1125,57288 -#define DREG_REGID_SRAR_HIGH 1126,57348 -#define DREG_REGID_SRAR_LOW 1127,57408 -#define DREG_REGID_DMA_STATE 1128,57468 -#define DREG_REGID_CURRENT_DMA_STREAM 1129,57528 -#define DREG_REGID_NEXT_DMA_STREAM 1130,57588 -#define DREG_REGID_CPU_STATUS 1131,57648 -#define DREG_REGID_MAC_MODE 1132,57708 -#define DREG_REGID_STACK_AND_REPEAT 1133,57768 -#define DREG_REGID_INDEX0 1134,57828 -#define DREG_REGID_INDEX1 1135,57888 -#define DREG_REGID_DMA_STATE_0_3 1136,57948 -#define DREG_REGID_DMA_STATE_4_7 1137,58008 -#define DREG_REGID_DMA_STATE_8_11 1138,58068 -#define DREG_REGID_DMA_STATE_12_15 1139,58128 -#define DREG_REGID_DMA_STATE_16_19 1140,58188 -#define DREG_REGID_DMA_STATE_20_23 1141,58248 -#define DREG_REGID_DMA_STATE_24_27 1142,58308 -#define DREG_REGID_DMA_STATE_28_31 1143,58368 -#define DREG_REGID_DMA_STATE_32_35 1144,58428 -#define DREG_REGID_DMA_STATE_36_39 1145,58488 -#define DREG_REGID_DMA_STATE_40_43 1146,58548 -#define DREG_REGID_DMA_STATE_44_47 1147,58608 -#define DREG_REGID_DMA_STATE_48_51 1148,58668 -#define DREG_REGID_DMA_STATE_52_55 1149,58728 -#define DREG_REGID_DMA_STATE_56_59 1150,58788 -#define DREG_REGID_DMA_STATE_60_63 1151,58848 -#define DREG_REGID_DMA_STATE_64_67 1152,58908 -#define DREG_REGID_DMA_STATE_68_71 1153,58968 -#define DREG_REGID_DMA_STATE_72_75 1154,59028 -#define DREG_REGID_DMA_STATE_76_79 1155,59088 -#define DREG_REGID_DMA_STATE_80_83 1156,59148 -#define DREG_REGID_DMA_STATE_84_87 1157,59208 -#define DREG_REGID_DMA_STATE_88_91 1158,59268 -#define DREG_REGID_DMA_STATE_92_95 1159,59328 -#define DREG_REGID_TRAP_SELECT 1160,59388 -#define DREG_REGID_TRAP_WRITE_0 1161,59448 -#define DREG_REGID_TRAP_WRITE_1 1162,59508 -#define DREG_REGID_TRAP_WRITE_2 1163,59568 -#define DREG_REGID_TRAP_WRITE_3 1164,59628 -#define DREG_REGID_TRAP_WRITE_4 1165,59688 -#define DREG_REGID_TRAP_WRITE_5 1166,59748 -#define DREG_REGID_TRAP_WRITE_6 1167,59808 -#define DREG_REGID_TRAP_WRITE_7 1168,59868 -#define DREG_REGID_TRAP_WRITE_8 1171,59976 -#define DREG_REGID_TRAP_WRITE_9 1172,60036 -#define DREG_REGID_TRAP_WRITE_10 1173,60096 -#define DREG_REGID_TRAP_WRITE_11 1174,60156 -#define DREG_REGID_TRAP_WRITE_12 1175,60216 -#define DREG_REGID_TRAP_WRITE_13 1176,60276 -#define DREG_REGID_TRAP_WRITE_14 1177,60336 -#define DREG_REGID_TRAP_WRITE_15 1178,60396 -#define DREG_REGID_TRAP_WRITE_16 1179,60456 -#define DREG_REGID_TRAP_WRITE_17 1180,60516 -#define DREG_REGID_TRAP_WRITE_18 1181,60576 -#define DREG_REGID_TRAP_WRITE_19 1182,60636 -#define DREG_REGID_TRAP_WRITE_20 1183,60696 -#define DREG_REGID_TRAP_WRITE_21 1184,60756 -#define DREG_REGID_TRAP_WRITE_22 1185,60816 -#define DREG_REGID_TRAP_WRITE_23 1186,60876 -#define DREG_REGID_MAC0_ACC0_LOW 1189,60950 -#define DREG_REGID_MAC0_ACC1_LOW 1190,61010 -#define DREG_REGID_MAC0_ACC2_LOW 1191,61070 -#define DREG_REGID_MAC0_ACC3_LOW 1192,61130 -#define DREG_REGID_MAC1_ACC0_LOW 1193,61190 -#define DREG_REGID_MAC1_ACC1_LOW 1194,61250 -#define DREG_REGID_MAC1_ACC2_LOW 1195,61310 -#define DREG_REGID_MAC1_ACC3_LOW 1196,61370 -#define DREG_REGID_MAC0_ACC0_MID 1197,61430 -#define DREG_REGID_MAC0_ACC1_MID 1198,61490 -#define DREG_REGID_MAC0_ACC2_MID 1199,61550 -#define DREG_REGID_MAC0_ACC3_MID 1200,61610 -#define DREG_REGID_MAC1_ACC0_MID 1201,61670 -#define DREG_REGID_MAC1_ACC1_MID 1202,61730 -#define DREG_REGID_MAC1_ACC2_MID 1203,61790 -#define DREG_REGID_MAC1_ACC3_MID 1204,61850 -#define DREG_REGID_MAC0_ACC0_HIGH 1205,61910 -#define DREG_REGID_MAC0_ACC1_HIGH 1206,61970 -#define DREG_REGID_MAC0_ACC2_HIGH 1207,62030 -#define DREG_REGID_MAC0_ACC3_HIGH 1208,62090 -#define DREG_REGID_MAC1_ACC0_HIGH 1209,62150 -#define DREG_REGID_MAC1_ACC1_HIGH 1210,62210 -#define DREG_REGID_MAC1_ACC2_HIGH 1211,62270 -#define DREG_REGID_MAC1_ACC3_HIGH 1212,62330 -#define DREG_REGID_RSHOUT_LOW 1213,62390 -#define DREG_REGID_RSHOUT_MID 1214,62450 -#define DREG_REGID_RSHOUT_HIGH 1215,62510 -#define SPDIF_CONTROL_SPDIF_EN 1222,62815 -#define SPDIF_CONTROL_VAL 1223,62874 -#define SPDIF_CONTROL_COPY 1224,62933 -#define SPDIF_CONTROL_CC0 1225,62992 -#define SPDIF_CONTROL_CC1 1226,63051 -#define SPDIF_CONTROL_CC2 1227,63110 -#define SPDIF_CONTROL_CC3 1228,63169 -#define SPDIF_CONTROL_CC4 1229,63228 -#define SPDIF_CONTROL_CC5 1230,63287 -#define SPDIF_CONTROL_CC6 1231,63346 -#define SPDIF_CONTROL_L 1232,63405 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4281/cs4281m.c,4731 -#define PCI_VENDOR_ID_CIRRUS 98,3845 -#define PCI_DEVICE_ID_CRYSTAL_CS4281 101,3934 -#define CS4281_MAGIC 104,3987 -#define CS4281_CFLR_DEFAULT 105,4069 -static unsigned long defaultorder 113,4547 -#define CSDEBUG 119,4698 -#define CSDEBUG_INTERFACE 121,4728 -#define CS_INIT 128,4822 -#define CS_ERROR 129,4889 -#define CS_INTERRUPT 130,4951 -#define CS_FUNCTION 131,5030 -#define CS_WAVE_WRITE 132,5087 -#define CS_WAVE_READ 133,5151 -#define CS_MIDI_WRITE 134,5213 -#define CS_MIDI_READ 135,5277 -#define CS_MPU401_WRITE 136,5339 -#define CS_MPU401_READ 137,5406 -#define CS_OPEN 138,5472 -#define CS_RELEASE 139,5536 -#define CS_PARMS 140,5605 -#define CS_IOCTL 141,5674 -#define CS_PM 142,5723 -#define CS_TMP 143,5770 -#define CS_IOCTL_CMD_SUSPEND 145,5820 -#define CS_IOCTL_CMD_RESUME 146,5864 -#define CS_DBGOUT(CS_DBGOUT154,6154 -#define CS_DBGOUT(CS_DBGOUT156,6256 -static unsigned long cs_debuglevel 160,6308 -static unsigned long cs_debugmask 161,6373 -#define CS_TRUE 165,6543 -#define CS_FALSE 166,6562 -#define MIDIINBUF 169,6605 -#define MIDIOUTBUF 170,6628 -#define FMODE_MIDI_SHIFT 172,6652 -#define FMODE_MIDI_READ 173,6679 -#define FMODE_MIDI_WRITE 174,6737 -#define CS4281_MAJOR_VERSION 176,6797 -#define CS4281_MINOR_VERSION 177,6829 -#define CS4281_ARCH 179,6878 -#define CS4281_ARCH 181,6932 -#define CS_TYPE_ADC 184,6988 -#define CS_TYPE_DAC 185,7010 -static const char invalid_magic[188,7034 -#define VALIDATE_STATE(VALIDATE_STATE191,7118 -struct list_head cs4281_devs 200,7460 -struct cs4281_state cs4281_state206,7579 - struct properties properties236,8151 - struct dmabuf dmabuf257,8790 -#define SOUND_MIXER_CS_GETDBGLEVEL 306,10167 -#define SOUND_MIXER_CS_SETDBGLEVEL 307,10224 -#define SOUND_MIXER_CS_GETDBGMASK 308,10281 -#define SOUND_MIXER_CS_SETDBGMASK 309,10337 -#define SOUND_MIXER_CS_APM 311,10394 -static void cs_printioctl(314,10446 -static void delayus(529,16776 -static int cs4281_read_ac97(556,17882 -static int cs4281_write_ac97(636,20443 -static __devinit int cs4281_hw_init(689,22161 -static void printpm(951,31775 -static void printpipe(972,32748 -static void printpipelines(1005,34386 -void cs4281_ac97_suspend(1021,34813 -void cs4281_ac97_resume(1072,36743 -void cs4281_SuspendFIFO(1145,38988 -void cs4281_ResumeFIFO(1153,39253 -void cs4281_SuspendDMAengine(1161,39518 -void cs4281_ResumeDMAengine(1173,40014 -int cs4281_suspend(1186,40516 -int cs4281_resume(1342,43709 -static void cs4281_play_rate(1493,47162 -static void cs4281_record_rate(1525,48238 -static void stop_dac(1559,49086 -static void start_dac(1574,49438 -static void stop_adc(1607,50381 -static void start_adc(1630,50907 -#define DMABUF_MINORDER 1694,52746 -void dealloc_dmabuf(1697,52803 -static int prog_dmabuf(1724,53548 -#define INTERRUPT_RATE_MS 1816,56454 -static int prog_dmabuf_adc(1857,57945 -static int prog_dmabuf_dac(1902,58984 -static void clear_advance(1937,59843 -static void cs4281_update_ptr(1955,60298 -static void prog_codec(2058,63564 -static int mixer_ioctl(2142,66239 -static int cs4281_open_mixdev(2568,77564 -static int cs4281_release_mixdev(2599,78292 -static int cs4281_ioctl_mixdev(2609,78478 -static /*const */ struct file_operations cs4281_mixer_fops 2620,78906 -static int drain_adc(2631,79193 -static int drain_dac(2677,80379 -static void CopySamples(2736,82140 -static unsigned cs_copy_to_user(2820,84584 -static ssize_t cs4281_read(2862,85602 -static ssize_t cs4281_write(2976,89327 -static unsigned int cs4281_poll(3046,91260 -static int cs4281_mmap(3106,92997 -static int cs4281_ioctl(3151,94048 -static int cs4281_release(3586,105841 -static int cs4281_open(3618,106656 -static /*const */ struct file_operations cs4281_audio_fops 3731,109871 -static void cs4281_handle_midi(3746,110267 -static irqreturn_t cs4281_interrupt(3779,110991 -static void cs4281_midi_timer(3815,112108 -static ssize_t cs4281_midi_read(3830,112487 -static ssize_t cs4281_midi_write(3876,113580 -static unsigned int cs4281_midi_poll(3927,114858 -static int cs4281_midi_open(3954,115544 -static int cs4281_midi_release(4024,117671 -static /*const */ struct file_operations cs4281_midi_fops 4076,119246 -#define NR_DEVICE 4090,119612 -static struct initvol initvol4094,119752 -} initvol[4097,119798 -} initvol[] __initdata 4097,119798 -void __devinit cs4281_BuildFIFO(4113,120182 -void __devinit cs4281_BuildDMAengine(4160,121127 -void __devinit cs4281_InitPM(4230,122686 -static int __devinit cs4281_probe(4253,123228 -static void __devexit cs4281_remove(4430,128501 -static struct pci_device_id cs4281_pci_tbl[4448,129015 -struct pci_driver cs4281_pci_driver 4460,129263 -int __init cs4281_init_module(4469,129489 -void __exit cs4281_cleanup_module(4484,129957 -int __init init_cs4281(4505,130580 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4281/cs4281pm.h,582 -#define CS4281_AC97_HIGHESTREGTORESTORE 28,1218 -#define CS4281_AC97_NUMBER_RESTORE_REGS 29,1263 -#define CS4281_NUMBER_OF_PIPELINES 32,1369 -#define CS4281_PIPELINE_VALID 33,1407 -#define CS4281_PLAYBACK_PIPELINE_NUMBER 34,1446 -#define CS4281_CAPTURE_PIPELINE_NUMBER 35,1493 -#define CS4281_PM_NOT_REGISTERED 38,1567 -#define CS4281_PM_IDLE 39,1607 -#define CS4281_PM_SUSPENDING 40,1639 -#define CS4281_PM_SUSPENDED 41,1676 -#define CS4281_PM_RESUMING 42,1712 -#define CS4281_PM_RESUMED 43,1747 -struct cs4281_pm cs4281_pm45,1782 -struct cs4281_pipeline cs4281_pipeline57,2285 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4281/cs4281pm-24.c,280 -#define cs_pm_register(cs_pm_register30,1213 -#define cs_pm_unregister_all(cs_pm_unregister_all31,1273 -#define CS4281_SUSPEND_TBL 41,1615 -#define CS4281_RESUME_TBL 42,1662 -int cs4281_pm_callback(44,1708 -#define CS4281_SUSPEND_TBL 81,2585 -#define CS4281_RESUME_TBL 82,2632 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4281/cs4281_wrapper-24.c,188 -int cs4281_resume_null(29,1203 -int cs4281_suspend_null(30,1264 -#define free_dmabuf(free_dmabuf32,1338 -#define free_dmabuf2(free_dmabuf236,1500 -#define cs4x_pgoff(cs4x_pgoff40,1681 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas_eq_prefs.h,71 -#define _TAS_EQ_PREFS_H_2,25 -struct tas_eq_pref_t tas_eq_pref_t4,51 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas_ioctl.h,395 -#define _TAS_IOCTL_H_2,22 -#define TAS_READ_EQ 8,99 -#define TAS_WRITE_EQ 9,170 -#define TAS_READ_EQ_LIST 11,242 -#define TAS_WRITE_EQ_LIST 12,313 -#define TAS_READ_EQ_FILTER_COUNT 14,385 -#define TAS_READ_EQ_CHANNEL_COUNT 15,436 -#define TAS_READ_DRCE 17,488 -#define TAS_WRITE_DRCE 18,557 -#define TAS_READ_DRCE_CAPS 20,627 -#define TAS_READ_DRCE_MIN 21,677 -#define TAS_READ_DRCE_MAX 22,727 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dac3550a.c,624 -#define I2C_DRIVERID_DACA 30,869 -#define DACA_VERSION 32,905 -#define DACA_DATE 33,932 -static int cur_left_vol;35,962 -static int cur_right_vol;36,987 -static struct i2c_client *daca_client;37,1013 -static int daca_id;44,1273 -struct i2c_driver daca_driver 46,1294 -#define VOL_MAX 55,1541 -void daca_get_volume(57,1572 -int daca_set_volume(63,1699 -int daca_leave_sleep(93,2288 -int daca_enter_sleep(116,2872 -static int daca_attach_adapter(132,3217 -static int daca_init_client(139,3373 -static int daca_detect_client(163,3958 -static int daca_detach_client(195,4689 -void daca_cleanup(205,4859 -int daca_init(210,4919 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas3004.h,2913 -#define _TAS3004_H_13,377 -#define TAS3004_VERSION 25,579 -#define TAS3004_DATE 26,617 -#define I2C_DRIVERNAME_TAS3004 28,658 -#define I2C_DRIVERID_TAS3004 29,725 -enum tas3004_reg_t tas3004_reg_t35,922 - TAS3004_REG_MCR 36,943 - TAS3004_REG_MCR = 0x01,36,943 - TAS3004_REG_DRC 37,988 - TAS3004_REG_DRC = 0x02,37,988 - TAS3004_REG_VOLUME 39,1034 - TAS3004_REG_VOLUME = 0x04,39,1034 - TAS3004_REG_TREBLE 40,1079 - TAS3004_REG_TREBLE = 0x05,40,1079 - TAS3004_REG_BASS 41,1124 - TAS3004_REG_BASS = 0x06,41,1124 - TAS3004_REG_LEFT_MIXER 42,1169 - TAS3004_REG_LEFT_MIXER = 0x07,42,1169 - TAS3004_REG_RIGHT_MIXER 43,1214 - TAS3004_REG_RIGHT_MIXER = 0x08,43,1214 - TAS3004_REG_LEFT_BIQUAD0 45,1260 - TAS3004_REG_LEFT_BIQUAD0 = 0x0a,45,1260 - TAS3004_REG_LEFT_BIQUAD1 46,1305 - TAS3004_REG_LEFT_BIQUAD1 = 0x0b,46,1305 - TAS3004_REG_LEFT_BIQUAD2 47,1350 - TAS3004_REG_LEFT_BIQUAD2 = 0x0c,47,1350 - TAS3004_REG_LEFT_BIQUAD3 48,1395 - TAS3004_REG_LEFT_BIQUAD3 = 0x0d,48,1395 - TAS3004_REG_LEFT_BIQUAD4 49,1440 - TAS3004_REG_LEFT_BIQUAD4 = 0x0e,49,1440 - TAS3004_REG_LEFT_BIQUAD5 50,1485 - TAS3004_REG_LEFT_BIQUAD5 = 0x0f,50,1485 - TAS3004_REG_LEFT_BIQUAD6 51,1530 - TAS3004_REG_LEFT_BIQUAD6 = 0x10,51,1530 - TAS3004_REG_RIGHT_BIQUAD0 53,1578 - TAS3004_REG_RIGHT_BIQUAD0 = 0x13,53,1578 - TAS3004_REG_RIGHT_BIQUAD1 54,1623 - TAS3004_REG_RIGHT_BIQUAD1 = 0x14,54,1623 - TAS3004_REG_RIGHT_BIQUAD2 55,1668 - TAS3004_REG_RIGHT_BIQUAD2 = 0x15,55,1668 - TAS3004_REG_RIGHT_BIQUAD3 56,1713 - TAS3004_REG_RIGHT_BIQUAD3 = 0x16,56,1713 - TAS3004_REG_RIGHT_BIQUAD4 57,1758 - TAS3004_REG_RIGHT_BIQUAD4 = 0x17,57,1758 - TAS3004_REG_RIGHT_BIQUAD5 58,1803 - TAS3004_REG_RIGHT_BIQUAD5 = 0x18,58,1803 - TAS3004_REG_RIGHT_BIQUAD6 59,1848 - TAS3004_REG_RIGHT_BIQUAD6 = 0x19,59,1848 - TAS3004_REG_LEFT_LOUD_BIQUAD 61,1894 - TAS3004_REG_LEFT_LOUD_BIQUAD = 0x21,61,1894 - TAS3004_REG_RIGHT_LOUD_BIQUAD 62,1939 - TAS3004_REG_RIGHT_LOUD_BIQUAD = 0x22,62,1939 - TAS3004_REG_LEFT_LOUD_BIQUAD_GAIN 64,1985 - TAS3004_REG_LEFT_LOUD_BIQUAD_GAIN = 0x23,64,1985 - TAS3004_REG_RIGHT_LOUD_BIQUAD_GAIN 65,2030 - TAS3004_REG_RIGHT_LOUD_BIQUAD_GAIN = 0x24,65,2030 - TAS3004_REG_TEST 67,2076 - TAS3004_REG_TEST = 0x29,67,2076 - TAS3004_REG_ANALOG_CTRL 69,2122 - TAS3004_REG_ANALOG_CTRL = 0x40,69,2122 - TAS3004_REG_TEST1 70,2167 - TAS3004_REG_TEST1 = 0x41,70,2167 - TAS3004_REG_TEST2 71,2212 - TAS3004_REG_TEST2 = 0x42,71,2212 - TAS3004_REG_MCR2 72,2257 - TAS3004_REG_MCR2 = 0x43,72,2257 - TAS3004_REG_MAX 74,2303 - TAS3004_REG_MAX = 0x4474,2303 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dmasound_paula.c,2028 -#define DMASOUND_PAULA_REVISION 34,815 -#define DMASOUND_PAULA_EDITION 35,849 -#define AMI_AUDIO_OFF 57,1276 -#define AMI_AUDIO_8 58,1346 -#define AMI_AUDIO_14 59,1418 -static int write_sq_block_size_half,66,1540 -static int write_sq_block_size_half, write_sq_block_size_quarter;66,1540 -#define mach_heartbeat 95,2380 -static inline void disable_heartbeat(100,2473 -static inline void enable_heartbeat(109,2646 -#define disable_heartbeat(disable_heartbeat115,2783 -#define enable_heartbeat(enable_heartbeat116,2828 -static ssize_t ami_ct_s8(159,4580 -#define GENERATE_AMI_CT8(GENERATE_AMI_CT8191,5335 -#define AMI_CT_ULAW(AMI_CT_ULAW229,6440 -#define AMI_CT_ALAW(AMI_CT_ALAW230,6489 -#define AMI_CT_U8(AMI_CT_U8231,6538 -GENERATE_AMI_CT8(233,6573 -#define GENERATE_AMI_CT_16(GENERATE_AMI_CT_16242,6753 -#define AMI_CT_S16BE(AMI_CT_S16BE288,8229 -#define AMI_CT_U16BE(AMI_CT_U16BE289,8257 -#define AMI_CT_S16LE(AMI_CT_S16LE290,8296 -#define AMI_CT_U16LE(AMI_CT_U16LE291,8335 -static inline void StopDMA(312,8889 -static void *AmiAlloc(320,9080 -static void AmiFree(325,9195 -static int __init AmiIrqInit(330,9274 -static void AmiIrqCleanUp(343,9519 -static void AmiSilence(352,9697 -static void AmiInit(359,9783 -static int AmiSetFormat(386,10368 -#define VOLUME_VOXWARE_TO_AMI(VOLUME_VOXWARE_TO_AMI424,11007 -#define VOLUME_AMI_TO_VOXWARE(VOLUME_AMI_TO_VOXWARE426,11095 -static int AmiSetVolume(428,11142 -static int AmiSetTreble(447,11759 -#define AMI_PLAY_LOADED 458,11909 -#define AMI_PLAY_PLAYING 459,11936 -#define AMI_PLAY_MASK 460,11963 -static void AmiPlayNextFrame(463,11990 -static void AmiPlay(521,13775 -static irqreturn_t AmiInterrupt(558,14533 -static void __init AmiMixerInit(609,15695 -static int AmiMixerIoctl(620,16011 -static int AmiWriteSqSetup(647,16865 -static int AmiStateInfo(655,17027 -static SETTINGS def_hard 672,17504 -static SETTINGS def_soft 679,17599 -static MACHINE machAmiga 686,17694 -int __init dmasound_paula_init(716,18530 -static void __exit dmasound_paula_cleanup(735,18998 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas3004.c,2212 -#define TAS3004_BIQUAD_FILTER_COUNT 37,796 -#define TAS3004_BIQUAD_CHANNEL_COUNT 38,835 -#define VOL_DEFAULT 40,875 -#define INPUT_DEFAULT 41,909 -#define BASS_DEFAULT 42,945 -#define TREBLE_DEFAULT 43,976 -struct tas3004_data_t tas3004_data_t45,1010 -#define MAKE_TIME(MAKE_TIME53,1144 -#define MAKE_RATIO(MAKE_RATIO55,1222 -static const union tas_biquad_t tas3004_eq_unity 58,1285 -static const struct tas_drce_t tas3004_drce_min 63,1407 -static const struct tas_drce_t tas3004_drce_max 74,1705 -static const unsigned short time_constants[85,2001 -static const unsigned short above_threshold_compression_ratio[100,2316 -static const unsigned short above_threshold_expansion_ratio[118,2701 -static const unsigned short below_threshold_compression_ratio[129,2928 -static const unsigned short below_threshold_expansion_ratio[140,3157 -search(160,3562 -#define SEARCH(SEARCH180,3920 -time_index(183,3988 -above_threshold_compression_index(190,4082 -above_threshold_expansion_index(197,4220 -below_threshold_compression_index(204,4354 -below_threshold_expansion_index(211,4492 -static inline unsigned char db_to_regval(216,4607 -static inline short quantize_db(226,4765 -register_width(232,4872 -tas3004_write_register(285,5969 -tas3004_sync_register(308,6508 -tas3004_read_register(326,6967 -tas3004_fast_load(338,7210 -tas3004_supported_mixers(348,7454 -tas3004_mixer_is_stereo(361,7693 -tas3004_stereo_mixers(375,7927 -tas3004_get_mixer_level(387,8168 -tas3004_set_mixer_level(398,8335 -tas3004_leave_sleep(484,10831 -tas3004_enter_sleep(527,12402 -tas3004_sync_biquad(535,12504 -tas3004_write_biquad_shadow(550,12865 -tas3004_write_biquad(573,13507 -tas3004_write_biquad_list(587,13797 -tas3004_read_biquad(611,14269 -tas3004_eq_rw(634,14896 -tas3004_eq_list_rw(664,15536 -tas3004_update_drce(735,17275 -tas3004_drce_rw(831,20282 -tas3004_update_device_parameters(885,21913 -tas3004_device_change_handler(917,22696 -static struct work_struct device_change;924,22830 -tas3004_output_device_change(927,22883 -tas3004_device_ioctl(942,23147 -tas3004_init_mixer(1025,25033 -tas3004_uninit_mixer(1072,26813 -tas3004_init(1088,27269 -tas3004_uninit(1120,28151 -struct tas_driver_hooks_t tas3004_hooks 1127,28244 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dmasound_awacs.c,6055 -#define DMASOUND_AWACS_REVISION 109,3881 -#define DMASOUND_AWACS_EDITION 110,3915 -#define AWACS_SNAPPER 112,3949 -#define AWACS_BURGUNDY 113,4011 -#define AWACS_TUMBLER 114,4073 -#define AWACS_DACA 115,4135 -#define AWACS_AWACS 116,4197 -#define AWACS_SCREAMER 117,4262 -static int awacs_irq,121,4411 -static int awacs_irq, awacs_tx_irq,121,4411 -static int awacs_irq, awacs_tx_irq, awacs_rx_irq;121,4411 -static volatile struct awacs_regs *awacs;122,4461 -static volatile u32 *i2s;123,4503 -static volatile struct dbdma_regs *awacs_txdma,124,4529 -static volatile struct dbdma_regs *awacs_txdma, *awacs_rxdma;124,4529 -static int awacs_rate_index;125,4591 -static int awacs_subframe;126,4620 -static struct device_node* awacs_node;127,4647 -static struct device_node* i2s_node;128,4686 -static char awacs_name[130,4724 -static int awacs_revision;131,4752 -static int awacs_sleeping;132,4779 -static int sound_device_id;135,4843 -static int hw_can_byteswap 136,4901 -static int is_pbook_3X00;140,5047 -static int is_pbook_g3;141,5073 -static int has_perch;144,5119 -static int has_ziva;145,5141 -static unsigned char *latch_base;150,5245 -static unsigned char *macio_base;151,5279 -static void *awacs_tx_cmd_space;156,5360 -static volatile struct dbdma_cmd *awacs_tx_cmds;157,5393 -static int number_of_tx_cmd_buffers;158,5442 -static void *awacs_rx_cmd_space;160,5480 -static volatile struct dbdma_cmd *awacs_rx_cmds;161,5513 -static int number_of_rx_cmd_buffers;162,5562 -int awacs_reg[169,5712 -int awacs_reg1_save;170,5730 -static int spk_vol;175,5798 -static int line_vol;176,5818 -static int passthru_vol;177,5839 -static int ip_gain;179,5865 -static int rec_lev 180,5921 -static int mic_lev;181,5978 -static int cd_lev 182,5998 -static int line_lev;183,6038 -static int hdp_connected;185,6060 -static short beep_wform[192,6280 -#define BEEP_SRATE 228,7713 -#define BEEP_BUFLEN 229,7765 -#define BEEP_VOLUME 230,7789 -static int beep_vol 232,7827 -static int beep_playing;233,7862 -static int awacs_beep_state;234,7887 -static short *beep_buf;235,7916 -static void *beep_dbdma_cmd_space;236,7940 -static volatile struct dbdma_cmd *beep_dbdma_cmd;237,7975 -static volatile struct dbdma_cmd *emergency_dbdma_cmd;257,8835 -struct pmu_sleep_notifier awacs_sleep_notifier 264,9035 -int expand_bal;270,9203 -int expand_read_bal;271,9269 -#define TRY_LOCK(TRY_LOCK314,10842 -#define LOCK(LOCK317,10930 -#define UNLOCK(UNLOCK319,10968 -#define IOCTL_IN(IOCTL_IN328,11146 -#define IOCTL_OUT(IOCTL_OUT331,11235 -static inline int ioctl_return2(334,11307 -int gpio_audio_reset,343,11511 -int gpio_audio_reset, gpio_audio_reset_pol;343,11511 -int gpio_amp_mute,344,11555 -int gpio_amp_mute, gpio_amp_mute_pol;344,11555 -int gpio_headphone_mute,345,11593 -int gpio_headphone_mute, gpio_headphone_mute_pol;345,11593 -int gpio_headphone_detect,346,11643 -int gpio_headphone_detect, gpio_headphone_detect_pol;346,11643 -int gpio_headphone_irq;347,11697 -setup_audio_gpio(350,11726 -write_audio_gpio(387,12521 -read_audio_gpio(395,12691 -headphone_intr(406,12921 -tas_dmasound_init(430,13758 -tas_dmasound_cleanup(487,15383 -static int tas_freqs[495,15520 -static int tas_freqs_ok[496,15558 -tas_set_frame_rate(503,15691 -tas_mixer_ioctl(515,15939 -tas_init_frame_rates(586,17757 -static void *PMacAlloc(618,18439 -static void PMacFree(623,18527 -static int __init PMacIrqInit(628,18596 -static void PMacIrqCleanup(640,18945 -static void PMacSilence(689,20224 -static int daca_set_frame_rate(699,20399 -static int awacs_freqs[710,20648 -static int awacs_freqs_ok[713,20735 -awacs_set_frame_rate(716,20806 -burgundy_set_frame_rate(741,21543 -set_frame_rate(751,21797 -awacs_recalibrate(774,22279 -static void PMacInit(786,22618 -static int PMacSetFormat(830,23690 -#define AWACS_VOLUME_TO_MASK(AWACS_VOLUME_TO_MASK875,24504 -#define AWACS_MASK_TO_VOLUME(AWACS_MASK_TO_VOLUME876,24567 -static int awacs_get_volume(878,24624 -static int awacs_volume_setter(887,24812 -static int PMacSetVolume(909,25364 -static void awacs_setup_for_beep(915,25474 -static void __PMacPlay(928,25857 -static void PMacPlay(994,28164 -static void PMacRecord(1007,28376 -pmac_awacs_tx_intr(1046,30062 -pmac_awacs_rx_intr(1138,32936 -pmac_awacs_intr(1221,35463 -awacs_write(1262,36622 -static void awacs_nosound(1277,37074 -static int awacs_beep_event(1301,37759 -load_awacs(1400,40330 -static int awacs_sleep_notify(1428,41074 -awacs_burgundy_busy_wait(1566,45054 -awacs_burgundy_extend_wait(1574,45231 -awacs_burgundy_wcw(1585,45496 -awacs_burgundy_rcw(1598,45947 -awacs_burgundy_wcb(1633,46834 -awacs_burgundy_rcb(1640,46995 -awacs_burgundy_check(1659,47386 -awacs_burgundy_init(1668,47564 -awacs_burgundy_write_volume(1714,49046 -awacs_burgundy_read_volume(1727,49361 -awacs_burgundy_read_mvolume(1740,49621 -awacs_burgundy_write_mvolume(1755,49889 -awacs_enable_amp(1778,50515 -static void do_line_lev(1816,51504 -static void do_ip_gain(1825,51702 -static void do_mic_lev(1845,52146 -static void do_cd_lev(1855,52339 -static void do_rec_lev(1864,52522 -static void do_passthru_vol(1875,52846 -static int awacs_mixer_ioctl(1893,53325 -static void awacs_mixer_init(2020,56637 -static int burgundy_mixer_ioctl(2035,56973 -static int daca_mixer_ioctl(2180,61388 -static int PMacMixerIoctl(2228,62355 -static void PMacMixerInit(2256,62848 -static int PMacWriteSqSetup(2286,63719 -static int PMacReadSqSetup(2345,65550 -static void PMacAbortRead(2416,67758 -static int PMacStateInfo(2445,68416 -static SETTINGS def_hard 2487,69359 -static SETTINGS def_soft 2494,69460 -static MACHINE machPMac 2501,69561 -set_model(2535,70466 -get_snd_io_node(2562,71307 -get_snd_info_node(2604,72387 -get_codec_type(2618,72626 -get_expansion_type(2644,73357 -awacs_init_frame_rates(2663,73912 -burgundy_init_frame_rates(2686,74372 -daca_init_frame_rates(2712,74857 -init_frame_rates(2739,75335 -set_hw_byteswap(2762,75785 -__init setup_beep(2789,76560 -static struct input_dev awacs_beep_dev 2815,77392 -int __init dmasound_awacs_init(2826,77665 -static void __exit dmasound_awacs_cleanup(3156,86790 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dmasound_core.c,3159 -#define DMASOUND_CORE_REVISION 190,7710 -#define DMASOUND_CORE_EDITION 191,7743 -int dmasound_catchRadius 197,7813 -static unsigned int numWriteBufs 200,7884 -static unsigned int writeBufSize 202,7970 -static unsigned int numReadBufs 206,8091 -static unsigned int readBufSize 208,8175 -static int sq_unit 215,8320 -static int mixer_unit 216,8345 -static int state_unit 217,8373 -static int irq_installed;218,8401 -uint software_input_volume 222,8493 -static mode_t shared_resource_owner;226,8681 -static int shared_resources_initialised;227,8718 -struct sound_settings dmasound 233,8800 -static inline void sound_silence(235,8866 -static inline int sound_set_format(240,8958 -static int sound_set_speed(246,9052 -static int sound_set_stereo(268,9598 -static ssize_t sound_copy_translate(282,9861 -} mixer;331,10960 -static int mixer_open(333,10970 -static int mixer_release(341,11126 -static int mixer_ioctl(349,11291 -static struct file_operations mixer_fops 374,12017 -static void mixer_init(383,12186 -struct sound_queue dmasound_write_sq;404,12535 -struct sound_queue dmasound_read_sq;407,12627 -static int sq_allocate_buffers(411,12707 -static void sq_release_buffers(435,13226 -static int sq_setup(448,13455 -static inline void sq_play(544,16487 -static ssize_t sq_write(549,16548 -static unsigned int sq_poll(663,20487 -static ssize_t sq_read(706,22074 -static inline void sq_init_waitqueue(784,23933 -static inline void sq_wake_up(793,24161 -static int sq_open2(803,24369 -#define write_sq_init_waitqueue(write_sq_init_waitqueue849,25359 -#define write_sq_wake_up(write_sq_wake_up851,25450 -#define write_sq_release_buffers(write_sq_release_buffers853,25530 -#define write_sq_open(write_sq_open854,25595 -#define read_sq_init_waitqueue(read_sq_init_waitqueue858,25713 -#define read_sq_wake_up(read_sq_wake_up860,25802 -#define read_sq_release_buffers(read_sq_release_buffers862,25879 -#define read_sq_open(read_sq_open863,25942 -#define read_sq_init_waitqueue(read_sq_init_waitqueue866,26042 -#define read_sq_wake_up(read_sq_wake_up868,26119 -#define read_sq_release_buffers(read_sq_release_buffers870,26173 -#define sq_reset_input(sq_reset_input871,26223 -static int sq_open(874,26273 -static void sq_reset_output(943,28187 -static void sq_reset_input(961,28674 -static void sq_reset(992,29464 -static int sq_fsync(1004,29764 -static int sq_release(1035,30466 -static int shared_resources_are_mine(1093,32069 -static int queues_are_quiescent(1106,32326 -static int set_queue_frags(1128,32939 -static int sq_ioctl(1160,33825 -static struct file_operations sq_fops 1340,39359 -static int sq_init(1354,39637 -#define STAT_BUFF_LEN 1398,40642 -#define STAT_BUFF_LEN 1400,40675 -#define LOW_LEVEL_STAT_ALLOC 1408,40915 -} state;1414,41063 -char *get_afmt_string(1418,41141 -static int state_open(1454,42096 -static int state_release(1541,45051 -static ssize_t state_read(1550,45217 -static struct file_operations state_fops 1564,45500 -static int state_init(1572,45667 -int dmasound_init(1591,45990 -void dmasound_deinit(1641,47175 -static int dmasound_setup(1662,47556 -char dmasound_ulaw2dma8[1738,49883 -char dmasound_alaw2dma8[1775,50996 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dmasound_q40.c,1316 -#define DMASOUND_Q40_REVISION 29,649 -#define DMASOUND_Q40_EDITION 30,681 -static int expand_bal;32,713 -static int expand_data;33,785 -static ssize_t q40_ct_law(61,1626 -static ssize_t q40_ct_s8(82,2136 -static ssize_t q40_ct_u8(101,2543 -static ssize_t q40_ctx_law(117,2944 -static ssize_t q40_ctx_s8(155,3816 -static ssize_t q40_ctx_u8(192,4556 -static ssize_t q40_ctc_law(227,5305 -static ssize_t q40_ctc_s8(268,6226 -static ssize_t q40_ctc_u8(307,7015 -static TRANS transQ40Normal 346,7799 -static TRANS transQ40Expanding 350,7905 -static TRANS transQ40Compressing 354,8018 -static void *Q40Alloc(361,8215 -static void Q40Free(366,8334 -static int __init Q40IrqInit(371,8402 -static void Q40IrqCleanUp(382,8591 -static void Q40Silence(390,8732 -static char *q40_pp;396,8835 -static unsigned int q40_sc;397,8856 -static void Q40PlayNextFrame(399,8885 -static void Q40Play(433,9773 -static irqreturn_t Q40StereoInterrupt(454,10285 -static irqreturn_t Q40MonoInterrupt(466,10609 -static void Q40Interrupt(478,10928 -static void Q40Init(503,11521 -static int Q40SetFormat(540,12366 -static int Q40SetVolume(567,12815 -static SETTINGS def_hard 575,12952 -static SETTINGS def_soft 582,13048 -static MACHINE machQ40 589,13143 -int __init dmasound_q40_init(614,13794 -static void __exit dmasound_q40_cleanup(625,14032 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/awacs_defs.h,5399 -#define _AWACS_DEFS_H_7,264 -struct awacs_regs awacs_regs13,391 -#define MASK_ISFSEL 31,907 -#define MASK_OSFSEL 32,962 -#define MASK_RATE 33,1022 -#define MASK_CNTLERR 34,1068 -#define MASK_PORTCHG 35,1113 -#define MASK_IEE 36,1164 -#define MASK_IEPC 37,1225 -#define MASK_SSFSEL 38,1293 -#define MASK_NEWECMD 42,1435 -#define MASK_EMODESEL 43,1506 -#define MASK_EXMODEADDR 44,1576 -#define MASK_EXMODEDATA 45,1653 -#define MASK_ADDR0 49,1821 -#define MASK_ADDR_MUX 50,1887 -#define MASK_ADDR_GAIN 51,1938 -#define MASK_ADDR1 53,1973 -#define MASK_ADDR_MUTE 54,2039 -#define MASK_ADDR_RATE 55,2073 -#define MASK_ADDR2 57,2108 -#define MASK_ADDR_VOLA 58,2174 -#define MASK_ADDR_VOLHD 59,2245 -#define MASK_ADDR4 61,2281 -#define MASK_ADDR_VOLC 62,2347 -#define MASK_ADDR_VOLSPK 63,2415 -#define MASK_ADDR5 66,2491 -#define MASK_ADDR6 67,2557 -#define MASK_ADDR7 68,2623 -#define MASK_GAINRIGHT 72,2760 -#define MASK_GAINLEFT 73,2812 -#define MASK_GAINLINE 74,2866 -#define MASK_GAINMIC 75,2924 -#define MASK_MUX_CD 77,2981 -#define MASK_MUX_MIC 78,3035 -#define MASK_MUX_AUDIN 79,3092 -#define MASK_MUX_LINE 80,3156 -#define GAINRIGHT(GAINRIGHT82,3194 -#define GAINLEFT(GAINLEFT83,3238 -#define DEF_CD_GAIN 85,3288 -#define DEF_MIC_GAIN 86,3315 -#define MASK_ADDR1RES1 90,3396 -#define MASK_RECALIBRATE 91,3441 -#define MASK_SAMPLERATE 92,3495 -#define MASK_LOOPTHRU 93,3549 -#define MASK_CMUTE 94,3607 -#define MASK_SPKMUTE 95,3674 -#define MASK_ADDR1RES2 96,3706 -#define MASK_AMUTE 97,3755 -#define MASK_HDMUTE 98,3824 -#define MASK_PAROUT0 99,3855 -#define MASK_PAROUT1 100,3912 -#define MASK_MIC_BOOST 102,3970 -#define SAMPLERATE_48000 104,4036 -#define SAMPLERATE_32000 105,4093 -#define SAMPLERATE_24000 106,4150 -#define SAMPLERATE_19200 107,4208 -#define SAMPLERATE_16000 108,4268 -#define SAMPLERATE_12000 109,4325 -#define SAMPLERATE_9600 110,4384 -#define SAMPLERATE_8000 111,4442 -#define MASK_OUTVOLRIGHT 115,4577 -#define MASK_ADDR2RES1 116,4635 -#define MASK_ADDR4RES1 117,4684 -#define MASK_OUTVOLLEFT 118,4722 -#define MASK_ADDR2RES2 119,4782 -#define MASK_ADDR4RES2 120,4832 -#define VOLRIGHT(VOLRIGHT122,4871 -#define VOLLEFT(VOLLEFT123,4921 -#define MASK_EXTEND 127,5053 -#define MASK_VALID 128,5098 -#define MASK_OFLEFT 129,5147 -#define MASK_OFRIGHT 130,5199 -#define MASK_ERRCODE 131,5253 -#define MASK_REVISION 132,5303 -#define MASK_MFGID 133,5359 -#define MASK_CODSTATRES 134,5403 -#define MASK_INPPORT 135,5464 -#define MASK_HDPCONN 136,5509 -#define MASK_CLIPLEFT 140,5631 -#define MASK_CLIPRIGHT 141,5700 -#define MASK_CSERR 145,5840 -#define MASK_EOI 146,5882 -#define MASK_CSUNUSED 147,5955 -#define MASK_WAIT 148,6013 -#define RATE_48000 152,6090 -#define RATE_44100 153,6133 -#define RATE_32000 154,6178 -#define RATE_29400 155,6221 -#define RATE_24000 156,6266 -#define RATE_22050 157,6309 -#define RATE_19200 158,6355 -#define RATE_17640 159,6400 -#define RATE_16000 160,6446 -#define RATE_14700 161,6489 -#define RATE_12000 162,6534 -#define RATE_11025 163,6577 -#define RATE_9600 164,6624 -#define RATE_8820 165,6667 -#define RATE_8000 166,6711 -#define RATE_7350 167,6752 -#define RATE_LOW 169,6797 -#define MASK_ADDR_BURGUNDY_INPSEL21 175,6930 -#define MASK_ADDR_BURGUNDY_INPSEL3 176,6979 -#define MASK_ADDR_BURGUNDY_GAINCH1 178,7028 -#define MASK_ADDR_BURGUNDY_GAINCH2 179,7076 -#define MASK_ADDR_BURGUNDY_GAINCH3 180,7124 -#define MASK_ADDR_BURGUNDY_GAINCH4 181,7172 -#define MASK_ADDR_BURGUNDY_VOLCH1 183,7221 -#define MASK_ADDR_BURGUNDY_VOLCH2 184,7268 -#define MASK_ADDR_BURGUNDY_VOLCH3 185,7315 -#define MASK_ADDR_BURGUNDY_VOLCH4 186,7362 -#define MASK_ADDR_BURGUNDY_OUTPUTSELECTS 188,7410 -#define MASK_ADDR_BURGUNDY_OUTPUTENABLES 189,7464 -#define MASK_ADDR_BURGUNDY_MASTER_VOLUME 191,7519 -#define MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES 193,7574 -#define MASK_ADDR_BURGUNDY_ATTENSPEAKER 195,7634 -#define MASK_ADDR_BURGUNDY_ATTENLINEOUT 196,7687 -#define MASK_ADDR_BURGUNDY_ATTENHP 197,7740 -#define MASK_ADDR_BURGUNDY_VOLCD 199,7789 -#define MASK_ADDR_BURGUNDY_VOLLINE 200,7850 -#define MASK_ADDR_BURGUNDY_VOLMIC 201,7913 -#define MASK_ADDR_BURGUNDY_VOLMODEM 202,7975 -#define MASK_ADDR_BURGUNDY_GAINCD 204,8040 -#define MASK_ADDR_BURGUNDY_GAINLINE 205,8103 -#define MASK_ADDR_BURGUNDY_GAINMIC 206,8168 -#define MASK_ADDR_BURGUNDY_GAINMODEM 207,8232 -#define DEF_BURGUNDY_INPSEL21 211,8351 -#define DEF_BURGUNDY_INPSEL3 212,8388 -#define DEF_BURGUNDY_GAINCD 214,8425 -#define DEF_BURGUNDY_GAINLINE 215,8460 -#define DEF_BURGUNDY_GAINMIC 216,8497 -#define DEF_BURGUNDY_GAINMODEM 217,8533 -#define DEF_BURGUNDY_VOLCD 220,8615 -#define DEF_BURGUNDY_VOLLINE 221,8655 -#define DEF_BURGUNDY_VOLMIC 222,8697 -#define DEF_BURGUNDY_VOLMODEM 223,8738 -#define DEF_BURGUNDY_OUTPUTSELECTS 225,8782 -#define DEF_BURGUNDY_OUTPUTENABLES 226,8830 -#define DEF_BURGUNDY_MASTER_VOLUME 228,8873 -#define DEF_BURGUNDY_MORE_OUTPUTENABLES 230,8922 -#define DEF_BURGUNDY_ATTENSPEAKER 232,8970 -#define DEF_BURGUNDY_ATTENLINEOUT 233,9011 -#define DEF_BURGUNDY_ATTENHP 234,9052 -#define I2S_REG_INT_CTL 240,9162 -#define I2S_REG_SERIAL_FORMAT 241,9193 -#define I2S_REG_CODEC_MSG_OUT 242,9229 -#define I2S_REG_CODEC_MSG_IN 243,9265 -#define I2S_REG_FRAME_COUNT 244,9300 -#define I2S_REG_FRAME_MATCH 245,9334 -#define I2S_REG_DATAWORD_SIZES 246,9368 -#define I2S_REG_PEAKLEVEL_SEL 247,9405 -#define I2S_REG_PEAKLEVEL_IN0 248,9441 -#define I2S_REG_PEAKLEVEL_IN1 249,9477 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas3001c.c,1437 -#define TAS3001C_BIQUAD_FILTER_COUNT 39,990 -#define TAS3001C_BIQUAD_CHANNEL_COUNT 40,1030 -#define VOL_DEFAULT 42,1071 -#define INPUT_DEFAULT 43,1105 -#define BASS_DEFAULT 44,1141 -#define TREBLE_DEFAULT 45,1172 -struct tas3001c_data_t tas3001c_data_t47,1206 -tas3001c_eq_unity=57,1374 -static inline unsigned char db_to_regval(62,1460 -static inline short quantize_db(72,1618 -register_width(78,1726 -tas3001c_write_register(119,2536 -tas3001c_sync_register(141,3043 -tas3001c_read_register(158,3467 -tas3001c_fast_load(170,3713 -tas3001c_supported_mixers(180,3963 -tas3001c_mixer_is_stereo(190,4145 -tas3001c_stereo_mixers(201,4307 -tas3001c_get_mixer_level(213,4550 -tas3001c_set_mixer_level(224,4718 -tas3001c_leave_sleep(293,6865 -tas3001c_enter_sleep(333,8286 -tas3001c_sync_biquad(342,8452 -tas3001c_write_biquad_shadow(357,8821 -tas3001c_write_biquad(380,9470 -tas3001c_write_biquad_list(394,9764 -tas3001c_read_biquad(426,10540 -tas3001c_eq_rw(449,11174 -tas3001c_eq_list_rw(479,11810 -tas3001c_update_drce(551,13650 -tas3001c_drce_rw(587,14527 -tas3001c_update_device_parameters(628,15434 -tas3001c_device_change_handler(670,16569 -static struct work_struct device_change;676,16671 -tas3001c_output_device_change(679,16724 -tas3001c_device_ioctl(693,16989 -tas3001c_init_mixer(751,18185 -tas3001c_uninit_mixer(791,19777 -tas3001c_init(804,20138 -tas3001c_uninit(831,20808 -struct tas_driver_hooks_t tas3001c_hooks 837,20903 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas_common.h,2330 -#define _TAS_COMMON_H_2,23 -#define I2C_DRIVERID_TAS_BASE 8,124 -#define SET_4_20(SET_4_2010,166 -#define GET_4_20(GET_4_2017,446 -#define TAS_BIQUAD_FAST_LOAD 23,664 -#define TAS_DRCE_ENABLE 25,699 -#define TAS_DRCE_ABOVE_RATIO 26,738 -#define TAS_DRCE_BELOW_RATIO 27,777 -#define TAS_DRCE_THRESHOLD 28,816 -#define TAS_DRCE_ENERGY 29,855 -#define TAS_DRCE_ATTACK 30,894 -#define TAS_DRCE_DECAY 31,933 -#define TAS_DRCE_ALL 33,973 -#define TAS_OUTPUT_HEADPHONES 36,1014 -#define TAS_OUTPUT_INTERNAL_SPKR 37,1053 -#define TAS_OUTPUT_EXTERNAL_SPKR 38,1092 -union tas_biquad_t tas_biquad_t41,1133 -struct tas_biquad_ctrl_t tas_biquad_ctrl_t48,1213 -struct tas_biquad_ctrl_list_t tas_biquad_ctrl_list_t55,1306 -struct tas_ratio_t tas_ratio_t61,1411 -struct tas_drce_t tas_drce_t66,1550 -struct tas_drce_ctrl_t tas_drce_ctrl_t76,1868 -struct tas_gain_ttas_gain_t82,1936 -typedef char tas_shadow_t[tas_shadow_t90,2053 -struct tas_data_ttas_data_t92,2087 -typedef int (*tas_hook_init_t)tas_hook_init_t99,2198 -typedef int (*tas_hook_post_init_t)tas_hook_post_init_t100,2251 -typedef void (*tas_hook_uninit_t)tas_hook_uninit_t101,2309 -typedef int (*tas_hook_get_mixer_level_t)tas_hook_get_mixer_level_t103,2366 -typedef int (*tas_hook_set_mixer_level_t)tas_hook_set_mixer_level_t104,2441 -typedef int (*tas_hook_enter_sleep_t)tas_hook_enter_sleep_t106,2515 -typedef int (*tas_hook_leave_sleep_t)tas_hook_leave_sleep_t107,2575 -typedef int (*tas_hook_supported_mixers_t)tas_hook_supported_mixers_t109,2636 -typedef int (*tas_hook_mixer_is_stereo_t)tas_hook_mixer_is_stereo_t110,2701 -typedef int (*tas_hook_stereo_mixers_t)tas_hook_stereo_mixers_t111,2769 -typedef int (*tas_hook_output_device_change_t)tas_hook_output_device_change_t113,2832 -typedef int (*tas_hook_device_ioctl_t)tas_hook_device_ioctl_t114,2913 -struct tas_driver_hooks_t tas_driver_hooks_t116,2988 -enum tas_write_mode_t tas_write_mode_t146,4002 - WRITE_HW 147,4026 - WRITE_HW = 0x01,147,4026 - WRITE_SHADOW 148,4048 - WRITE_SHADOW = 0x02,148,4048 - WRITE_NORMAL 149,4070 - WRITE_NORMAL = 0x03,149,4070 - FORCE_WRITE 150,4092 - FORCE_WRITE = 0x04150,4092 -tas_mono_to_stereo(154,4136 -tas_write_register(164,4289 -tas_sync_register(194,4920 -tas_write_byte_register(214,5289 -tas_sync_byte_register(235,5770 -tas_read_register(250,6087 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas3001c_tables.c,1220 -static struct tas_drce_t eqp_0e_2_1_drce 4,51 -static struct tas_biquad_ctrl_t eqp_0e_2_1_biquads[14,366 -static struct tas_eq_pref_t eqp_0e_2_1 30,1722 -static struct tas_drce_t eqp_10_1_0_drce=44,2070 -static struct tas_biquad_ctrl_t eqp_10_1_0_biquads[54,2383 -static struct tas_eq_pref_t eqp_10_1_0 70,3739 -static struct tas_drce_t eqp_15_2_1_drce=84,4087 -static struct tas_biquad_ctrl_t eqp_15_2_1_biquads[94,4400 -static struct tas_eq_pref_t eqp_15_2_1 110,5756 -static struct tas_drce_t eqp_15_1_0_drce=124,6104 -static struct tas_biquad_ctrl_t eqp_15_1_0_biquads[134,6417 -static struct tas_eq_pref_t eqp_15_1_0 150,7773 -static struct tas_drce_t eqp_0f_2_1_drce=164,8121 -static struct tas_biquad_ctrl_t eqp_0f_2_1_biquads[174,8434 -static struct tas_eq_pref_t eqp_0f_2_1 190,9790 -static struct tas_drce_t eqp_0f_1_0_drce=204,10138 -static struct tas_biquad_ctrl_t eqp_0f_1_0_biquads[214,10451 -static struct tas_eq_pref_t eqp_0f_1_0 230,11807 -static uint tas3001c_master_tab[244,12155 -static uint tas3001c_mixer_tab[273,13432 -static uint tas3001c_treble_tab[302,14708 -static uint tas3001c_bass_tab[331,15985 -struct tas_gain_t tas3001c_gain 360,17260 -struct tas_eq_pref_t *tas3001c_eq_prefs[367,17432 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dmasound.h,1843 -#define _dmasound_h_13,406 -#define SND_NDEVS 18,480 -#define SND_DEV_CTL 19,536 -#define SND_DEV_SEQ 20,588 -#define SND_DEV_MIDIN 22,688 -#define SND_DEV_DSP 23,734 -#define SND_DEV_AUDIO 24,787 -#define SND_DEV_DSP16 25,845 -#define SND_DEV_STATUS 26,908 -#define SND_DEV_SEQ2 28,1014 -#define SND_DEV_SNDPROC 29,1077 -#define SND_DEV_PSS 30,1147 -#define DEBUG_DMASOUND 33,1215 -#define MAX_AUDIO_DEV 35,1241 -#define MAX_MIXER_DEV 36,1265 -#define MAX_SYNTH_DEV 37,1289 -#define MAX_MIDI_DEV 38,1313 -#define MAX_TIMER_DEV 39,1336 -#define MAX_CATCH_RADIUS 41,1361 -#define le2be16(le2be1643,1390 -#define le2be16dbl(le2be16dbl44,1449 -#define IOCTL_IN(IOCTL_IN46,1520 -#define IOCTL_OUT(IOCTL_OUT50,1647 -static inline int ioctl_return(52,1715 -#define HAS_8BIT_TABLES68,2144 -#define MIN_BUFFERS 69,2168 -#define MIN_BUFSIZE 70,2190 -#define MIN_FRAG_SIZE 71,2265 -#define MAX_BUFSIZE 72,2320 -#define MAX_FRAG_SIZE 73,2380 -#define MIN_BUFFERS 77,2495 -#define MIN_BUFSIZE 78,2517 -#define MIN_FRAG_SIZE 79,2559 -#define MAX_BUFSIZE 80,2583 -#define MAX_FRAG_SIZE 81,2653 -#define DEFAULT_N_BUFFERS 84,2733 -#define DEFAULT_BUFF_SIZE 85,2761 -#define HAS_RECORD88,2870 -#define dmasound_deinit(dmasound_deinit99,3023 -} SETTINGS;SETTINGS109,3295 -} MACHINE;MACHINE149,4601 -} TRANS;TRANS164,5350 -struct sound_settings sound_settings166,5360 -static inline int dmasound_set_volume(195,6131 -static inline int dmasound_set_bass(200,6227 -static inline int dmasound_set_treble(205,6344 -static inline int dmasound_set_gain(210,6471 -struct sound_queue sound_queue220,6656 -#define SLEEP(SLEEP251,7689 -#define WAKE_UP(WAKE_UP252,7754 -#define write_sq 255,7856 -#define read_sq 259,7954 -#define catchRadius 263,8029 -#define BS_VAL 268,8170 -#define SW_INPUT_VOLUME_SCALE 270,8188 -#define SW_INPUT_VOLUME_DEFAULT 271,8220 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas_common.c,703 -#define CALL0(CALL017,346 -#define CALL(CALL29,669 -static u8 tas_i2c_address 42,1005 -static struct i2c_client *tas_client;43,1039 -static struct device_node* tas_node;44,1077 -struct i2c_driver tas_driver 49,1220 -struct tas_driver_hooks_t *driver_hooks;57,1400 -tas_register_driver(60,1446 -tas_get_mixer_level(67,1543 -tas_set_mixer_level(73,1632 -tas_enter_sleep(79,1719 -tas_leave_sleep(85,1771 -tas_supported_mixers(91,1823 -tas_mixer_is_stereo(97,1885 -tas_stereo_mixers(103,1955 -tas_output_device_change(109,2011 -tas_device_ioctl(115,2149 -tas_post_init(121,2227 -tas_detect_client(127,2282 -tas_attach_adapter(166,3192 -tas_detach_client(174,3364 -tas_cleanup(186,3564 -tas_init(192,3628 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/trans_16.c,1060 -static short dmasound_alaw2dma16[20,491 -static short dmasound_ulaw2dma16[21,528 -static int expand_data;64,2379 -static ssize_t pmac_ct_law(66,2429 -static ssize_t pmac_ct_s8(99,3196 -static ssize_t pmac_ct_u8(130,3857 -static ssize_t pmac_ct_s16(161,4536 -static ssize_t pmac_ct_u16(190,5232 -static ssize_t pmac_ctx_law(222,5995 -static ssize_t pmac_ctx_s8(269,7135 -static ssize_t pmac_ctx_u8(314,8139 -static ssize_t pmac_ctx_s16(359,9161 -static ssize_t pmac_ctx_u16(403,10211 -static ssize_t pmac_ct_s8_read(450,11380 -static ssize_t pmac_ct_u8_read(485,12176 -static ssize_t pmac_ct_s16_read(519,12989 -static ssize_t pmac_ct_u16_read(551,13758 -static ssize_t pmac_ctx_s8_read(588,14668 -static ssize_t pmac_ctx_u8_read(637,15762 -static ssize_t pmac_ctx_s16_read(686,16874 -static ssize_t pmac_ctx_u16_read(733,17938 -TRANS transAwacsNormal 784,19105 -TRANS transAwacsExpand 795,19328 -TRANS transAwacsNormalRead 806,19559 -TRANS transAwacsExpandRead 815,19768 -static short dmasound_ulaw2dma16[827,20029 -static short dmasound_alaw2dma16[864,21713 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/dmasound_atari.c,2807 -#define DMASOUND_ATARI_REVISION 31,727 -#define DMASOUND_ATARI_EDITION 32,761 -static int is_falcon;36,838 -static int write_sq_ignore_int;37,860 -static int expand_bal;39,925 -static int expand_data;40,997 -static ssize_t ata_ct_law(154,5707 -static ssize_t ata_ct_s8(179,6273 -static ssize_t ata_ct_u8(197,6665 -static ssize_t ata_ct_s16be(231,7404 -static ssize_t ata_ct_u16be(262,8127 -static ssize_t ata_ct_s16le(299,8958 -static ssize_t ata_ct_u16le(338,9830 -static ssize_t ata_ctx_law(376,10710 -static ssize_t ata_ctx_s8(438,12082 -static ssize_t ata_ctx_u8(491,13219 -static ssize_t ata_ctx_s16be(546,14394 -static ssize_t ata_ctx_u16be(600,15591 -static ssize_t ata_ctx_s16le(656,16832 -static ssize_t ata_ctx_u16le(712,18084 -static TRANS transTTNormal 768,19358 -static TRANS transTTExpanding 775,19485 -static TRANS transFalconNormal 782,19619 -static TRANS transFalconExpanding 793,19857 -static void *AtaAlloc(813,20220 -static void AtaFree(818,20322 -static int __init AtaIrqInit(823,20403 -static void AtaIrqCleanUp(844,21189 -#define TONE_VOXWARE_TO_DB(TONE_VOXWARE_TO_DB853,21371 -#define TONE_DB_TO_VOXWARE(TONE_DB_TO_VOXWARE855,21463 -static int AtaSetBass(858,21538 -static int AtaSetTreble(866,21715 -static void TTSilence(880,21922 -static void TTInit(887,22061 -static int TTSetFormat(937,23422 -#define VOLUME_VOXWARE_TO_DB(VOLUME_VOXWARE_TO_DB965,23871 -#define VOLUME_DB_TO_VOXWARE(VOLUME_DB_TO_VOXWARE967,23963 -static int TTSetVolume(970,24024 -#define GAIN_VOXWARE_TO_DB(GAIN_VOXWARE_TO_DB981,24438 -#define GAIN_DB_TO_VOXWARE(GAIN_DB_TO_VOXWARE983,24528 -static int TTSetGain(985,24586 -static void FalconSilence(999,24784 -static void FalconInit(1013,25293 -static int FalconSetFormat(1093,27602 -#define VOLUME_VOXWARE_TO_ATT(VOLUME_VOXWARE_TO_ATT1134,28355 -#define VOLUME_ATT_TO_VOXWARE(VOLUME_ATT_TO_VOXWARE1136,28442 -static int FalconSetVolume(1139,28498 -static void AtaPlayNextFrame(1149,28872 -static void AtaPlay(1170,29566 -static irqreturn_t AtaInterrupt(1242,31835 -#define RECLEVEL_VOXWARE_TO_GAIN(RECLEVEL_VOXWARE_TO_GAIN1318,34101 -#define RECLEVEL_GAIN_TO_VOXWARE(RECLEVEL_GAIN_TO_VOXWARE1320,34186 -static void __init TTMixerInit(1323,34245 -static void __init FalconMixerInit(1334,34558 -static int AtaMixerIoctl(1340,34730 -static int TTMixerIoctl(1375,35760 -static int FalconMixerIoctl(1410,36967 -static int AtaWriteSqSetup(1440,38018 -static int AtaSqOpen(1446,38094 -static int TTStateInfo(1452,38171 -static int FalconStateInfo(1470,38731 -static SETTINGS def_hard_falcon 1487,39205 -static SETTINGS def_hard_tt 1494,39311 -static SETTINGS def_soft 1501,39410 -static MACHINE machTT 1508,39505 -static MACHINE machFalcon 1537,40292 -static int __init dmasound_atari_init(1568,41166 -static void __exit dmasound_atari_cleanup(1593,41845 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas3001c.h,2157 -#define _TAS3001C_H_13,379 -#define TAS3001C_VERSION 25,582 -#define TAS3001C_DATE 26,613 -#define I2C_DRIVERNAME_TAS3001C 28,655 -#define I2C_DRIVERID_TAS3001C 29,725 -enum tas3001c_reg_t tas3001c_reg_t35,925 - TAS3001C_REG_MCR 36,947 - TAS3001C_REG_MCR = 0x01,36,947 - TAS3001C_REG_DRC 37,993 - TAS3001C_REG_DRC = 0x02,37,993 - TAS3001C_REG_VOLUME 39,1040 - TAS3001C_REG_VOLUME = 0x04,39,1040 - TAS3001C_REG_TREBLE 40,1086 - TAS3001C_REG_TREBLE = 0x05,40,1086 - TAS3001C_REG_BASS 41,1132 - TAS3001C_REG_BASS = 0x06,41,1132 - TAS3001C_REG_MIXER1 42,1178 - TAS3001C_REG_MIXER1 = 0x07,42,1178 - TAS3001C_REG_MIXER2 43,1224 - TAS3001C_REG_MIXER2 = 0x08,43,1224 - TAS3001C_REG_LEFT_BIQUAD0 45,1271 - TAS3001C_REG_LEFT_BIQUAD0 = 0x0a,45,1271 - TAS3001C_REG_LEFT_BIQUAD1 46,1317 - TAS3001C_REG_LEFT_BIQUAD1 = 0x0b,46,1317 - TAS3001C_REG_LEFT_BIQUAD2 47,1363 - TAS3001C_REG_LEFT_BIQUAD2 = 0x0c,47,1363 - TAS3001C_REG_LEFT_BIQUAD3 48,1409 - TAS3001C_REG_LEFT_BIQUAD3 = 0x0d,48,1409 - TAS3001C_REG_LEFT_BIQUAD4 49,1455 - TAS3001C_REG_LEFT_BIQUAD4 = 0x0e,49,1455 - TAS3001C_REG_LEFT_BIQUAD5 50,1501 - TAS3001C_REG_LEFT_BIQUAD5 = 0x0f,50,1501 - TAS3001C_REG_LEFT_BIQUAD6 51,1547 - TAS3001C_REG_LEFT_BIQUAD6 = 0x10,51,1547 - TAS3001C_REG_RIGHT_BIQUAD0 53,1596 - TAS3001C_REG_RIGHT_BIQUAD0 = 0x13,53,1596 - TAS3001C_REG_RIGHT_BIQUAD1 54,1642 - TAS3001C_REG_RIGHT_BIQUAD1 = 0x14,54,1642 - TAS3001C_REG_RIGHT_BIQUAD2 55,1688 - TAS3001C_REG_RIGHT_BIQUAD2 = 0x15,55,1688 - TAS3001C_REG_RIGHT_BIQUAD3 56,1734 - TAS3001C_REG_RIGHT_BIQUAD3 = 0x16,56,1734 - TAS3001C_REG_RIGHT_BIQUAD4 57,1780 - TAS3001C_REG_RIGHT_BIQUAD4 = 0x17,57,1780 - TAS3001C_REG_RIGHT_BIQUAD5 58,1826 - TAS3001C_REG_RIGHT_BIQUAD5 = 0x18,58,1826 - TAS3001C_REG_RIGHT_BIQUAD6 59,1872 - TAS3001C_REG_RIGHT_BIQUAD6 = 0x19,59,1872 - TAS3001C_REG_MAX 61,1919 - TAS3001C_REG_MAX = 0x2061,1919 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmasound/tas3004_tables.c,888 -static struct tas_drce_t eqp_17_1_0_drce=4,48 -static struct tas_biquad_ctrl_t eqp_17_1_0_biquads[14,375 -static struct tas_eq_pref_t eqp_17_1_0 32,1946 -static struct tas_drce_t eqp_18_1_0_drce=46,2294 -static struct tas_biquad_ctrl_t eqp_18_1_0_biquads[56,2607 -static struct tas_eq_pref_t eqp_18_1_0 74,4178 -static struct tas_drce_t eqp_1a_1_0_drce=88,4526 -static struct tas_biquad_ctrl_t eqp_1a_1_0_biquads[98,4839 -static struct tas_eq_pref_t eqp_1a_1_0 116,6410 -static struct tas_drce_t eqp_1c_1_0_drce=130,6758 -static struct tas_biquad_ctrl_t eqp_1c_1_0_biquads[140,7071 -static struct tas_eq_pref_t eqp_1c_1_0 158,8642 -static uint tas3004_master_tab[172,8990 -static uint tas3004_mixer_tab[201,10266 -static uint tas3004_treble_tab[230,11541 -static uint tas3004_bass_tab[259,12817 -struct tas_gain_t tas3004_gain=288,14091 -struct tas_eq_pref_t *tas3004_eq_prefs[295,14256 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_ess.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sound_firmware.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_card.h,104 -struct sb_card_config sb_card_config11,271 -static struct pnp_card_device_id sb_pnp_card_table[26,536 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sound_config.h,1202 -#define _SOUND_CONFIG_H_15,349 -#define SND_DEFAULT_ENABLE 26,518 -#define MAX_REALTIME_FACTOR 30,583 -#define DSP_BUFFSIZE 37,714 -#define DSP_BUFFCOUNT 40,769 -#define FM_MONO 43,826 -#define CONFIG_PAS_BASE 46,918 -#define SEQ_MAX_QUEUE 51,1078 -#define SBFM_MAXINSTR 53,1106 -#define SND_NDEVS 56,1237 -#define DSP_DEFAULT_SPEED 58,1294 -#define MAX_AUDIO_DEV 60,1326 -#define MAX_MIXER_DEV 61,1350 -#define MAX_SYNTH_DEV 62,1374 -#define MAX_MIDI_DEV 63,1398 -#define MAX_TIMER_DEV 64,1421 -struct address_info address_info66,1446 -#define SYNTH_MAX_VOICES 81,1873 -struct voice_alloc_info voice_alloc_info83,1902 -struct channel_info channel_info92,2132 -#define WK_NONE 102,2281 -#define WK_WAKEUP 103,2303 -#define WK_TIMEOUT 104,2326 -#define WK_SIGNAL 105,2350 -#define WK_SLEEP 106,2373 -#define WK_SELECT 107,2395 -#define WK_ABORT 108,2418 -#define OPEN_READ 110,2441 -#define OPEN_WRITE 111,2476 -#define OPEN_READWRITE 112,2513 -static inline int translate_mode(116,2618 -static inline int translate_mode(123,2704 -#define DEB(DEB136,2938 -#define DDB(DDB140,2973 -#define MDB(MDB145,3038 -#define MDB(MDB147,3061 -#define TIMER_ARMED 151,3091 -#define TIMER_NOT_ARMED 152,3118 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sound_calls.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ics2101.c,363 -#define MIX_DEVS 26,595 -static int volumes[33,792 -static int left_fix[34,830 -static int right_fix[36,890 -static int scale_vol(39,952 -static void write_mix(68,1353 -static int set_volumes(98,1918 -static int ics2101_mixer_ioctl(120,2277 -static struct mixer_operations ics2101_mixer_operations 210,4017 -int __init ics2101_mixer_init(218,4189 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/v_midi.c,825 -static vmidi_devc *v_devc[29,602 -static int midi1,30,648 -static int midi1,midi2;30,648 -static void *midi_mem 31,672 -static int v_midi_open 44,1112 -static void v_midi_close 75,1689 -static int v_midi_out 90,1975 -static inline int v_midi_start_read 107,2344 -static int v_midi_end_read 112,2406 -static inline int v_midi_ioctl 124,2598 -#define MIDI_SYNTH_NAME 130,2693 -#define MIDI_SYNTH_CAPS 131,2733 -static struct midi_operations v_midi_operations 135,2799 -static struct midi_operations v_midi_operations2 149,3145 -struct vmidi_memoryvmidi_memory168,3624 -static void __init attach_v_midi 176,3769 -static inline int __init probe_v_midi(259,5918 -static void __exit unload_v_midi(265,6022 -static struct address_info cfg;272,6170 -static int __init init_vmidi(274,6215 -static void __exit cleanup_vmidi(284,6375 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/opl3sa.c,937 -static int sb_initialized;36,754 -static spinlock_t lock=39,789 -static unsigned char opl3sa_read(41,833 -static void opl3sa_write(55,1128 -static int __init opl3sa_detect(66,1410 -static int __init probe_opl3sa_wss(106,2206 -static void __init attach_opl3sa_wss(146,3001 -static int __init probe_opl3sa_mpu(161,3405 -static void __exit unload_opl3sa_wss(206,4261 -static inline void __exit unload_opl3sa_mpu(224,4634 -static inline void __exit unload_opl3sa_sb(230,4756 -static int found_mpu;236,4870 -static struct address_info cfg;238,4893 -static struct address_info cfg_mpu;239,4925 -static int __initdata io 241,4962 -static int __initdata irq 242,4993 -static int __initdata dma 243,5025 -static int __initdata dma2 244,5057 -static int __initdata mpu_io 245,5090 -static int __initdata mpu_irq 246,5125 -static int __init init_opl3sa(255,5302 -static void __exit cleanup_opl3sa(299,6158 -static int __init setup_opl3sa(310,6346 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ac97.c,531 -#define MO 7,125 -#define ST 9,160 -#define INV 12,233 -#define NINV 13,247 -static struct ac97_chn_desc ac97_chn_desc15,263 -} mixerRegs[24,445 -ac97_find_chndesc 42,1899 -ac97_is_valid_channel 55,2146 -ac97_init 62,2325 -ac97_reset 117,3690 -ac97_get_register 137,4227 -ac97_put_register 159,4853 -ac97_scale_to_oss_val 186,5563 -ac97_scale_from_oss_val 212,6054 -ac97_set_mixer 230,6458 -ac97_get_mixer_scaled 266,7419 -ac97_get_recmask 296,8054 -ac97_set_recmask 313,8381 -ac97_set_values 340,9069 -ac97_mixer_ioctl 372,9834 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus_card.c,769 -int gus_base 30,652 -int gus_no_wave_dma 31,708 -int gus_pnp_flag 35,841 -static int db16;37,901 -static void __init attach_gus(40,962 -static int __init probe_gus(56,1578 -static void __exit unload_gus(96,2439 -irqreturn_t gusintr(112,2876 -static int __init init_gus_db16(163,3895 -static void __exit unload_gus_db16(188,4422 -static int gus16;200,4684 -static int no_wave_dma;203,4736 -static struct address_info cfg;213,4966 -static int __initdata io 215,4999 -static int __initdata irq 216,5030 -static int __initdata dma 217,5062 -static int __initdata dma16 218,5094 -static int __initdata type 219,5168 -static int __init init_gus(235,5506 -static void __exit cleanup_gus(264,6097 -static int __init setup_gus(277,6292 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ite8172.c,5481 -#define IT8172_DEBUG82,3087 -#define DBG(DBG84,3136 -#define IT8172_MODULE_NAME 86,3155 -#define PFX 87,3197 -#define dbg(dbg90,3249 -#define dbg(dbg92,3332 -#define err(err94,3383 -#define info(info95,3458 -#define warn(warn96,3535 -static const unsigned sample_shift[99,3617 -#define PCMOV_PCMOM 108,3817 -#define PCMOV_PCMRCG_BIT 109,3880 -#define PCMOV_PCMRCG_MASK 110,3936 -#define PCMOV_PCMLCG_BIT 111,3987 -#define PCMOV_PCMLCG_MASK 112,4043 -#define FMOV_FMOM 115,4099 -#define FMOV_FMRCG_BIT 116,4165 -#define FMOV_FMRCG_MASK 117,4218 -#define FMOV_FMLCG_BIT 118,4265 -#define FMOV_FMLCG_MASK 119,4318 -#define I2SV_I2SOM 122,4373 -#define I2SV_I2SRCG_BIT 123,4436 -#define I2SV_I2SRCG_MASK 124,4493 -#define I2SV_I2SLCG_BIT 125,4542 -#define I2SV_I2SLCG_MASK 126,4599 -#define DRSS_BIT 129,4672 -#define DRSS_MASK 130,4693 -#define DRSS_AC97_PRIM 131,4717 -#define DRSS_FM 132,4744 -#define DRSS_I2S 133,4771 -#define DRSS_PCM 134,4798 -#define DRSS_AC97_SEC 135,4825 -#define CC_SM 138,4902 -#define CC_DF 139,4969 -#define CC_FMT_BIT 140,5036 -#define CC_FMT_MASK 141,5063 -#define CC_CF_BIT 142,5106 -#define CC_CF_MASK 143,5175 -#define CC_CF_2 144,5217 -#define CC_CF_4 145,5237 -#define CC_CF_6 146,5270 -#define CC_SR_BIT 147,5303 -#define CC_SR_MASK 148,5353 -#define CC_SR_5500 149,5395 -#define CC_SR_8000 150,5418 -#define CC_SR_9600 151,5454 -#define CC_SR_11025 152,5490 -#define CC_SR_16000 153,5527 -#define CC_SR_19200 154,5564 -#define CC_SR_22050 155,5601 -#define CC_SR_32000 156,5638 -#define CC_SR_38400 157,5675 -#define CC_SR_44100 158,5712 -#define CC_SR_48000 159,5749 -#define CC_CSP 160,5787 -#define CC_CP 163,5910 -#define CC_CA 164,5979 -#define CC_CB2L 165,6048 -#define CC_CB1L 166,6123 -#define CC_DE 167,6198 -#define CODECC_GME 172,6325 -#define CODECC_ATM 173,6379 -#define CODECC_WR 174,6448 -#define CODECC_CR 175,6521 -#define I2SMC_SR_BIT 179,6618 -#define I2SMC_SR_MASK 181,6713 -#define I2SMC_SR_48000 182,6759 -#define I2SMC_SR_44100 183,6786 -#define I2SMC_SR_32000 184,6829 -#define I2SMC_SRSS 185,6872 -#define I2SMC_I2SF_BIT 186,6945 -#define I2SMC_I2SF_MASK 187,6988 -#define I2SMC_I2SF_DAC 188,7018 -#define I2SMC_I2SF_ADC 189,7045 -#define I2SMC_I2SF_I2S 190,7072 -#define VS_VMP 194,7129 -#define VS_VDP 195,7187 -#define VS_VUP 196,7245 -#define SRCS_DPUSC 199,7342 -#define SRCS_DCOSC 200,7414 -#define SRCS_SIS 201,7479 -#define SRCS_CDIS_BIT 202,7549 -#define SRCS_CDIS_MASK 203,7603 -#define SRCS_CDIS_MIXER 204,7632 -#define SRCS_CDIS_PCM 205,7660 -#define SRCS_CDIS_I2S 206,7688 -#define SRCS_CDIS_FM 207,7716 -#define SRCS_CDIS_DFC 208,7744 -#define CIRCP_CID_BIT 212,7809 -#define CIRCP_CID_MASK 213,7836 -#define CIRCP_CPS 214,7882 -#define CIRCP_DPVF 215,7951 -#define CIRCP_RWC 216,8025 -#define CIRCP_CIA_BIT 217,8075 -#define CIRCP_CIA_MASK 218,8101 -#define GC_VDC_BIT 223,8236 -#define GC_VDC_MASK 224,8287 -#define GC_VDC_NONE 225,8330 -#define GC_VDC_DIV2 226,8356 -#define GC_VDC_DIV4 227,8396 -#define GC_SOE 228,8436 -#define GC_SWR 229,8493 -#define IMC_VCIM 232,8578 -#define IMC_CCIM 233,8635 -#define IMC_PCIM 234,8693 -#define ISC_VCI 237,8782 -#define ISC_CCI 238,8851 -#define ISC_PCI 239,8923 -#define POLL_COUNT 242,9008 -#define SOUND_MIXER_I2S 251,9203 -#define SOUND_MASK_I2S 252,9255 -#define SOUND_MIXER_READ_I2S 253,9306 -#define SOUND_MIXER_WRITE_I2S 254,9365 -struct it8172_state it8172_state258,9503 - struct dmabuf dmabuf298,10340 -static inline unsigned ld2(331,11076 -static void it8172_delay(358,11422 -get_compat_rate(377,11686 -static void set_adc_rate(410,12554 -static void set_dac_rate(427,12881 -static u16 rdcodec(446,13277 -static void wrcodec(480,14075 -static void waitcodec(506,14710 -static inline void stop_adc(535,15302 -static inline void stop_dac(559,15782 -static void start_dac(583,16259 -static void start_adc(618,17060 -#define DMABUF_DEFAULTORDER 655,17937 -#define DMABUF_MINORDER 656,17981 -static inline void dealloc_dmabuf(658,18008 -static int prog_dmabuf(675,18517 -static inline int prog_dmabuf_adc(743,20416 -static inline int prog_dmabuf_dac(751,20607 -static irqreturn_t it8172_interrupt(762,20835 -static loff_t it8172_llseek(861,23477 -static int it8172_open_mixdev(867,23574 -static int it8172_release_mixdev(884,23979 -cvt_ossvol(891,24080 -static int mixdev_ioctl(907,24271 -static int it8172_ioctl_mixdev(997,26665 -static /*const*/ struct file_operations it8172_mixer_fops 1006,26935 -static int drain_dac(1016,27226 -static int copy_dmabuf_user(1051,28101 -static ssize_t it8172_read(1087,28932 -static ssize_t it8172_write(1168,30918 -static unsigned int it8172_poll(1253,33060 -static int it8172_mmap(1290,34021 -static struct ioctl_str_t ioctl_str_t1326,34783 -} ioctl_str[1329,34848 -static int it8172_ioctl(1367,36508 -static int it8172_open(1767,46811 -static int it8172_release(1845,48849 -static /*const*/ struct file_operations it8172_audio_fops 1871,49468 -static int proc_it8172_dump 1895,50027 -#define NR_DEVICE 1950,51514 -static int spdif[1952,51535 -static int i2s_fmt[1953,51564 -static unsigned int devindex;1955,51596 -static int __devinit it8172_probe(1967,52041 -static void __devexit it8172_remove(2164,57237 -static struct pci_device_id id_table[2187,57740 -static struct pci_driver it8172_driver 2195,57922 -static int __init init_it8172(2202,58083 -static void __exit cleanup_it8172(2210,58291 -static int __init it8172_setup(2225,58597 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/waveartist.c,3518 -#define DEBUG_CMD 27,726 -#define DEBUG_OUT 28,746 -#define DEBUG_IN 29,766 -#define DEBUG_INTR 30,785 -#define DEBUG_MIXER 31,806 -#define DEBUG_TRIGGER 32,829 -#define debug_flg 34,855 -#define NO_DMA 56,1259 -#define SUPPORTED_MIXER_DEVICES 59,1286 -static unsigned short levels[68,1555 -} wavnc_info;wavnc_info123,3137 -struct waveartist_mixer_info waveartist_mixer_info128,3217 -typedef struct wavnc_port_info wavnc_port_info140,3632 -} wavnc_port_info;wavnc_port_info145,3731 -static int nr_waveartist_devs;147,3751 -static wavnc_info adev_info[148,3783 -static spinlock_t waveartist_lock 149,3827 -#define machine_is_netwinder(machine_is_netwinder152,3914 -static struct timer_list vnc_timer;154,3953 -waveartist_set_ctlr(161,4215 -waveartist_iack(173,4472 -waveartist_sleep(185,4702 -waveartist_reset(198,4922 -waveartist_cmd(233,5635 -waveartist_cmd1(309,6928 -waveartist_cmd1_r(318,7105 -waveartist_cmd2(332,7330 -waveartist_cmd3(346,7560 -waveartist_getrev(359,7791 -waveartist_open(379,8217 -waveartist_close(412,8934 -waveartist_output_block(430,9334 -waveartist_start_input(475,10367 -waveartist_ioctl(518,11385 -waveartist_get_speed(524,11490 -waveartist_get_bits(552,11963 -waveartist_prepare_for_input(567,12202 -waveartist_prepare_for_output(622,13851 -waveartist_halt(668,15341 -waveartist_halt_input(684,15676 -waveartist_halt_output(711,16194 -waveartist_trigger(735,16690 -waveartist_set_speed(772,17534 -waveartist_set_channels(790,17810 -waveartist_set_bits(802,18041 -static struct audio_driver waveartist_audio_driver 817,18337 -waveartist_intr(837,18976 -struct mix_ent mix_ent881,20167 -static const struct mix_ent mix_devs[888,20274 -waveartist_mixer_update(922,21588 -#define SCALE(SCALE934,21850 -waveartist_set_adc_mux(983,23208 -waveartist_select_input(1006,23887 -waveartist_decode_mixer(1034,24571 -static int waveartist_get_mixer(1060,25023 -static const struct waveartist_mixer_info waveartist_mixer 1065,25114 -waveartist_set_recmask(1078,25602 -waveartist_set_mixer(1102,26129 -waveartist_mixer_ioctl(1128,26720 -static struct mixer_operations waveartist_mixer_operations 1205,28160 -waveartist_mixer_reset(1214,28339 -static int __init waveartist_init(1251,29112 -static int __init probe_waveartist(1340,31090 -attach_waveartist(1377,31964 -static void __exit unload_waveartist(1420,33032 -#define VNC_TIMER_PERIOD 1477,34152 -#define MIXER_PRIVATE3_RESET 1479,34212 -#define MIXER_PRIVATE3_READ 1480,34252 -#define MIXER_PRIVATE3_WRITE 1481,34291 -#define VNC_MUTE_INTERNAL_SPKR 1483,34332 -#define VNC_MUTE_LINE_OUT 1484,34401 -#define VNC_PHONE_DETECT 1485,34432 -#define VNC_HANDSET_DETECT 1486,34462 -#define VNC_DISABLE_AUTOSWITCH 1487,34494 -vnc_mute_spkr(1492,34580 -vnc_mute_lout(1502,34803 -vnc_volume_slider(1521,35146 -netwinder_select_input(1581,36409 -netwinder_decode_mixer(1618,37452 -static int netwinder_get_mixer(1657,38301 -static const struct waveartist_mixer_info netwinder_mixer 1695,39078 -vnc_configure_mixer(1717,39812 -vnc_slider(1743,40509 -vnc_slider_tick(1794,41609 -vnc_private_ioctl(1807,41851 -#define VNC_SOUND_PAUSE 1852,42967 -#define VNC_SOUND_RESUME 1853,43026 -static struct address_info cfg;1957,45742 -static int attached;1959,45775 -static int __initdata io 1961,45797 -static int __initdata irq 1962,45827 -static int __initdata dma 1963,45858 -static int __initdata dma2 1964,45889 -static int __init init_waveartist(1967,45923 -static void __exit cleanup_waveartist(2003,46546 -static int __init setup_waveartist(2013,46716 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sound_syms.c,31 -char sound_syms_symbol;15,342 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ad1848_mixer.h,918 -#define MODE1_REC_DEVICES 26,845 -#define SPRO_REC_DEVICES 29,954 -#define MODE1_MIXER_DEVICES 32,1059 -#define MODE2_MIXER_DEVICES 37,1222 -#define MODE3_MIXER_DEVICES 43,1433 -#define C930_MIXER_DEVICES 48,1595 -#define SPRO_MIXER_DEVICES 53,1774 -struct mixer_def mixer_def59,1996 -static char mix_cvt[72,2685 -typedef struct mixer_def mixer_ent;mixer_ent81,3033 -typedef mixer_ent mixer_ents[mixer_ents82,3069 -#define MIX_ENT(MIX_ENT93,3430 -#define MIX_ENT2(MIX_ENT297,3662 -static mixer_ents ad1848_mix_devices[106,4164 -static mixer_ents iwave_mix_devices[126,5212 -static mixer_ents cs42xb_mix_devices[146,6259 -static mixer_ents c930_mix_devices[177,7919 -static mixer_ents spro_mix_devices[197,8965 -static int default_mixer_levels[221,10180 -#define LEFT_CHN 242,10675 -#define RIGHT_CHN 243,10694 -#define AUDIO_SPEAKER 250,10800 -#define AUDIO_HEADPHONE 251,10853 -#define AUDIO_LINE_OUT 252,10900 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/nm256_coeff.h,269 -#define NM256_COEFF_H2,22 -#define NM_TOTAL_COEFF_COUNT 4,45 -static char coefficients[6,82 -CoefficientSizes[4604,307915 -nm256_getStartOffset 4614,308144 -nm256_loadOneCoefficient 4625,308294 -nm256_loadAllCoefficients 4646,309052 -nm256_loadCoefficient 4654,309241 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/mad16.c,2055 -static int mad16_conf;53,1714 -static int mad16_cdsel;54,1742 -static struct gameport gameport;55,1771 -static spinlock_t lock=56,1804 -#define C928 58,1848 -#define MOZART 59,1863 -#define C929 60,1880 -#define C930 61,1895 -#define C924 62,1910 -#define MC0_PORT 76,2327 -#define MC1_PORT 77,2367 -#define MC2_PORT 78,2440 -#define MC3_PORT 79,2509 -#define PASSWD_REG 80,2532 -#define MC4_PORT 81,2557 -#define MC5_PORT 82,2580 -#define MC6_PORT 83,2603 -#define MC7_PORT 84,2626 -#define MC8_PORT 85,2649 -#define MC9_PORT 86,2672 -#define MC10_PORT 87,2695 -#define MC11_PORT 88,2719 -#define MC12_PORT 89,2743 -static int board_type 91,2768 -static int *mad16_osp;93,2804 -static int c931_detected;94,2831 -static char c924pnp;95,2891 -static int debug;96,2946 -#define DDB(DDB101,3019 -static unsigned char mad_read(103,3064 -static void mad_write(148,3868 -static int __init detect_c930(188,4626 -static int __init detect_mad16(261,6304 -static int __init wss_init(313,7665 -static void __init init_c930(340,8495 -static int __init chip_detect(376,9394 -static int __init probe_mad16(463,10940 -static int __init probe_mad16_mpu(673,15245 -static void __exit unload_mad16(836,18262 -static void __exit unload_mad16_mpu(846,18517 -static struct address_info cfg;859,18772 -static struct address_info cfg_mpu;860,18804 -static int found_mpu;862,18841 -static int __initdata mpu_io 864,18864 -static int __initdata mpu_irq 865,18898 -static int __initdata io 866,18933 -static int __initdata dma 867,18964 -static int __initdata dma16 868,18996 -static int __initdata irq 869,19070 -static int __initdata cdtype 870,19102 -static int __initdata cdirq 871,19136 -static int __initdata cdport 872,19169 -static int __initdata cddma 873,19207 -static int __initdata opl4 874,19241 -static int __initdata joystick 875,19273 -static int __initdata dma_map[891,19625 -static int __initdata irq_map[897,19752 -static int __init init_mad16(905,19875 -static void __exit cleanup_mad16(1044,22551 -static int __init setup_mad16(1062,22930 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/soundvers.h,71 -#define SOUND_VERSION_STRING 1,0 -#define SOUND_INTERNAL_VERSION 2,46 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sequencer.c,2478 -#define SEQUENCER_C19,495 -static int sequencer_ok;24,566 -static struct sound_timer_operations *tmr;25,596 -static int tmr_no 26,639 -static int pending_timer 27,699 -static int obsolete_api_used;30,800 -static spinlock_t lock=31,835 -static int max_mididev;37,988 -static int max_synthdev;38,1017 -#define SEQ_1 46,1191 -#define SEQ_2 47,1207 -static int seq_mode 48,1223 -static int midi_opened[53,1350 -static int midi_written[55,1394 -static unsigned long prev_input_time;57,1439 -static int prev_event_time;58,1477 -#define EV_SZ 62,1532 -#define IEV_SZ 63,1548 -static unsigned char *queue;65,1566 -static unsigned char *iqueue;66,1595 -static volatile int qhead,68,1626 -static volatile int qhead, qtail,68,1626 -static volatile int qhead, qtail, qlen;68,1626 -static volatile int iqhead,69,1666 -static volatile int iqhead, iqtail,69,1666 -static volatile int iqhead, iqtail, iqlen;69,1666 -static volatile int seq_playing;70,1709 -static volatile int sequencer_busy;71,1742 -static int output_threshold;72,1778 -static long pre_event_timeout;73,1812 -static unsigned synth_open_mask;74,1847 -int sequencer_read(85,2123 -static void sequencer_midi_output(130,3033 -void seq_copy_to_input(137,3108 -static void sequencer_midi_input(161,3606 -void seq_input_event(185,4095 -int sequencer_write(210,4608 -static int seq_queue(329,7000 -static int extended_event(362,7599 -static int find_voice(417,8638 -static int alloc_voice(429,8880 -static void seq_chn_voice_event(444,9235 -#define dev 446,9295 -#define cmd 447,9320 -#define chn 448,9345 -#define note 449,9370 -#define parm 450,9396 -static void seq_chn_common_event(526,10892 -static int seq_timing_event(623,13192 -static void seq_local_event(695,14412 -static void seq_sysex_message(710,14666 -static int play_event(733,15095 -static void seq_startplay(870,17657 -static void reset_controllers(902,18224 -static void setup_mode2(909,18384 -int sequencer_open(943,19089 -void seq_drain_midi_queues(1094,21967 -void sequencer_release(1124,22443 -static int seq_sync(1192,23783 -static void midi_outc(1202,23972 -static void seq_reset(1227,24491 -static void seq_panic(1302,26255 -int sequencer_ioctl(1323,26673 -unsigned int sequencer_poll(1531,31891 -void sequencer_timer(1553,32351 -int note_to_freq(1558,32416 -#define BASE_OCTAVE 1572,32693 -unsigned long compute_finetune(1591,32985 -void sequencer_init(1645,33924 -void sequencer_unload(1672,34499 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/soundcard.c,1542 -#define valid_dma(valid_dma52,1531 -void * sound_mem_blocks[58,1691 -int sound_nblocks 59,1731 -int sound_dmap_flag 63,1821 -int sound_dmap_flag 65,1864 -static char dma_alloc_map[68,1909 -#define DMA_MAP_UNAVAIL 70,1959 -#define DMA_MAP_FREE 71,1986 -#define DMA_MAP_BUSY 72,2010 -unsigned long seq_time 75,2036 -static mixer_vol_table mixer_vols[81,2191 -static int num_mixer_volumes;82,2241 -int *load_mixer_volumes(84,2272 -static int set_mixer_levels(113,2886 -static int get_mixer_levels(126,3243 -#define PROC_BLOCK_SIZE 140,3622 -static ssize_t sound_read(142,3656 -static ssize_t sound_write(175,4422 -static int sound_open(202,5015 -static int sound_release(251,6034 -static int get_mixer_info(285,6648 -static int get_old_mixer_info(297,7010 -static int sound_mixer_ioctl(308,7326 -static int sound_ioctl(329,7974 -static unsigned int sound_poll(394,9639 -static int sound_mmap(416,10117 -struct file_operations oss_sound_fops 485,11911 -static int create_special_devices(501,12218 -} dev_list[527,12837 -static int dmabuf;535,13122 -static int dmabug;536,13141 -static int __init oss_init(541,13214 -static void __exit oss_cleanup(595,14455 -int sound_alloc_dma(633,15340 -int sound_open_dma(645,15510 -void sound_free_dma(660,15870 -void sound_close_dma(670,16091 -static void do_sequencer_timer(679,16293 -static struct timer_list seq_timer 685,16372 -void request_sound_timer(688,16457 -void sound_stop_timer(708,16764 -void conf_printf(713,16821 -void conf_printf2(733,17268 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/trident.c,4916 -#define DRIVER_VERSION 229,8834 -#define TRIDENT_CARD_MAGIC 232,8924 -#define TRIDENT_STATE_MAGIC 233,8975 -#define TRIDENT_DMA_MASK 235,9028 -#define ALI_DMA_MASK 236,9108 -#define NR_HW_CH 238,9183 -#define NR_AC97 242,9333 -#define SND_DEV_SWMODEM 245,9414 -static const unsigned ali_multi_channels_5_1[247,9441 -static const unsigned sample_size[255,9636 -static const unsigned sample_shift[256,9690 -static const char invalid_magic[258,9746 - TRIDENT_4D_DX 261,9840 - TRIDENT_4D_NX,262,9860 - SIS_7018,263,9876 - ALI_5451,264,9887 - CYBER5050265,9898 -static char *card_names[268,9913 -static struct pci_device_id trident_pci_tbl[276,10067 -struct trident_state trident_state293,10720 - struct dmabuf dmabuf303,10888 -struct trident_channel trident_channel355,12204 -struct trident_pcm_bank_address trident_pcm_bank_address367,12666 -static struct trident_pcm_bank_address bank_a_addrs 374,12752 -static struct trident_pcm_bank_address bank_b_addrs 381,12866 -struct trident_pcm_bank trident_pcm_bank388,12980 -struct trident_card trident_card396,13225 -enum dmabuf_mode dmabuf_mode447,14575 - DM_PLAYBACK 448,14594 - DM_RECORD449,14612 -static u16 mask2attr[453,14697 -static int attr2mask[460,14892 -static struct trident_card *devs;473,15407 -static struct ali_saved_registers ali_saved_registers508,17361 -} ali_registers;512,17541 -#define seek_offset(seek_offset514,17559 -static inline int lock_set_fmt(521,17763 -static inline void unlock_set_fmt(529,17902 -trident_enable_loop_interrupts(535,18014 -trident_disable_loop_interrupts(564,18677 -trident_enable_voice_irq(579,19028 -trident_disable_voice_irq(598,19564 -trident_start_voice(620,20231 -trident_stop_voice(641,20748 -trident_get_interrupt_mask(662,21258 -trident_check_channel_interrupt(670,21476 -trident_ack_channel_interrupt(685,21884 -trident_alloc_pcm_channel(703,22385 -trident_free_pcm_channel(725,22868 -cyber_alloc_pcm_channel(747,23381 -cyber_free_pcm_channel(773,24032 -cyber_outidx(781,24207 -cyber_inidx(788,24313 -cyber_init_ritual(795,24401 -trident_load_channel_registers(838,25834 -trident_write_voice_regs(866,26584 -compute_rate_play(907,27750 -compute_rate_rec(926,28243 -trident_set_dac_rate(944,28531 -trident_set_adc_rate(965,28963 -trident_play_setup(986,29400 -trident_rec_setup(1035,30856 -trident_get_dma_addr(1123,33398 -__stop_adc(1160,34365 -stop_adc(1172,34667 -start_adc(1183,34892 -__stop_dac(1203,35443 -stop_dac(1225,36102 -start_dac(1236,36327 -#define DMABUF_DEFAULTORDER 1262,37166 -#define DMABUF_MINORDER 1263,37210 -alloc_dmabuf(1267,37304 -alloc_main_dmabuf(1295,38106 -dealloc_dmabuf(1312,38531 -prog_dmabuf(1329,39048 -static inline int prog_dmabuf_record(1434,42095 -static inline int prog_dmabuf_playback(1439,42205 -trident_clear_tail(1452,42746 -drain_dac(1486,43635 -trident_update_ptr(1546,45257 -trident_address_interrupt(1661,49229 -ali_hwvol_control(1686,49905 -ali_timeout(1741,51281 -ali_set_timer(1757,51618 -ali_queue_task(1772,51949 -cyber_address_interrupt(1789,52305 -trident_interrupt(1822,53207 -trident_read(1864,54476 -trident_write(1977,57769 -trident_poll(2139,61994 -trident_mmap(2194,63287 -trident_ioctl(2237,64255 -trident_open(2705,75447 -trident_release(2825,78972 -static /*const */ struct file_operations trident_audio_fops 2884,80504 -trident_ac97_set(2899,80871 -trident_ac97_get(2957,82254 -acquirecodecaccess(3014,83662 -releasecodecaccess(3046,84311 -waitforstimertick(3054,84511 -ali_ac97_get(3073,84872 -ali_ac97_set(3144,86421 -ali_enable_special_channel(3201,87753 -ali_ac97_read(3212,88052 -ali_ac97_write(3240,88512 -ali_setup_spdif_out(3271,89001 -ali_disable_special_channel(3318,90368 -ali_disable_spdif_in(3328,90581 -ali_setup_spdif_in(3340,90863 -ali_delay(3365,91523 -ali_detect_spdif_rate(3377,91826 -ali_get_spdif_in_rate(3460,93458 -ali_close_multi_channels(3495,93953 -ali_setup_multi_channels(3521,94518 -ali_free_pcm_channel(3569,95972 -ali_allocate_other_states_resources(3583,96198 -ali_save_regs(3653,97985 -ali_restore_regs(3691,99048 -trident_suspend(3725,99954 -trident_resume(3736,100155 -ali_alloc_pcm_channel(3747,100367 -ali_alloc_rec_pcm_channel(3783,101222 -ali_set_spdif_out_rate(3810,101821 -ali_address_interrupt(3841,102532 -ali_write_5_1(3878,103581 -ali_free_other_states_resources(3998,107518 -struct proc_dir_entry *res;4016,108061 -ali_write_proc(4018,108100 -trident_open_mixdev(4059,109026 -trident_ioctl_mixdev(4081,109497 -static /*const */ struct file_operations trident_mixer_fops 4089,109724 -ali_reset_5451(4097,109910 -trident_ac97_init(4141,111099 -trident_game_read(4256,114766 -trident_game_trigger(4263,114918 -trident_game_cooked_read(4270,115072 -trident_game_open(4287,115433 -trident_probe(4310,115981 -trident_remove(4531,122428 -#define TRIDENT_MODULE_NAME 4579,123723 -static struct pci_driver trident_pci_driver 4581,123762 -trident_init_module(4591,124012 -trident_cleanup_module(4605,124353 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/forte.c,3817 -#define DRIVER_NAME 50,1410 -#define DRIVER_VERSION 51,1438 -#define PFX 52,1514 -#define DPRINTK(DPRINTK57,1577 -#define DPRINTK(DPRINTK59,1634 -#define FORTE_CAPS 63,1691 -#define FORTE_FMTS 66,1787 -#define FORTE_MIN_FRAG_SIZE 69,1846 -#define FORTE_MAX_FRAG_SIZE 70,1882 -#define FORTE_DEF_FRAG_SIZE 71,1924 -#define FORTE_MIN_FRAGMENTS 72,1960 -#define FORTE_MAX_FRAGMENTS 73,1994 -#define FORTE_DEF_FRAGMENTS 74,2030 -#define FORTE_MIN_BUF_MSECS 75,2064 -#define FORTE_MAX_BUF_MSECS 76,2100 -#define FORTE_PCM_VOL 79,2153 -#define FORTE_FM_VOL 80,2217 -#define FORTE_I2S_VOL 81,2280 -#define FORTE_REC_SRC 82,2337 -#define FORTE_PLY_CTRL 83,2397 -#define FORTE_PLY_COUNT 84,2460 -#define FORTE_PLY_BUF1 85,2521 -#define FORTE_PLY_BUF2 86,2585 -#define FORTE_CAP_CTRL 87,2650 -#define FORTE_CAP_COUNT 88,2712 -#define FORTE_CAP_BUF1 89,2772 -#define FORTE_CAP_BUF2 90,2835 -#define FORTE_CODEC_CTRL 91,2899 -#define FORTE_I2S_MODE 92,2959 -#define FORTE_VOLUME 93,3022 -#define FORTE_I2C_CTRL 94,3095 -#define FORTE_AC97_CMD 95,3153 -#define FORTE_AC97_DATA 96,3213 -#define FORTE_MPU401_DATA 97,3270 -#define FORTE_MPU401_CMD 98,3328 -#define FORTE_GPIO_CTRL 99,3389 -#define FORTE_GEN_CTRL 100,3463 -#define FORTE_IRQ_MASK 101,3525 -#define FORTE_IRQ_STATUS 102,3586 -#define FORTE_OPL3_BANK0 103,3649 -#define FORTE_OPL3_DATA0 104,3727 -#define FORTE_OPL3_BANK1 105,3791 -#define FORTE_OPL3_DATA1 106,3855 -#define FORTE_POWERDOWN 107,3919 -#define FORTE_CAP_OFFSET 109,3992 -#define FORTE_AC97_ADDR_SHIFT 111,4057 -#define FORTE_BUF1_LAST 114,4141 -#define FORTE_BUF2_LAST 115,4180 -#define FORTE_START 116,4219 -#define FORTE_PAUSE 117,4258 -#define FORTE_IMMED_STOP 118,4297 -#define FORTE_RATE_SHIFT 119,4336 -#define FORTE_RATE_MASK 120,4370 -#define FORTE_CHANNELS_4 121,4427 -#define FORTE_CHANNELS_6 122,4487 -#define FORTE_CHANNELS_6MS 123,4547 -#define FORTE_CHANNELS_MASK 124,4607 -#define FORTE_16BIT 125,4647 -#define FORTE_STEREO 126,4687 -#define FORTE_IRQ_PLAYBACK 129,4750 -#define FORTE_IRQ_CAPTURE 130,4789 -#define FORTE_IRQ_VOLUME 131,4828 -#define FORTE_IRQ_MPU 132,4868 -#define FORTE_CC_CODEC_RESET 135,4929 -#define FORTE_CC_AC97_RESET 136,4968 -#define FORTE_AC97_WRITE 139,5023 -#define FORTE_AC97_READ 140,5062 -#define FORTE_AC97_DP_INVALID 141,5101 -#define FORTE_AC97_DP_VALID 142,5140 -#define FORTE_AC97_PORT_RDY 143,5179 -#define FORTE_AC97_PORT_BSY 144,5218 -struct forte_channel forte_channel147,5259 -struct forte_chip forte_chip183,6307 -static int channels[203,6694 -static int rates[204,6732 -static struct forte_chip *forte;207,6842 -static int found;208,6875 -forte_ac97_wait 223,7113 -forte_ac97_read 242,7385 -forte_ac97_write 287,8269 -forte_mixer_open 323,8973 -forte_mixer_release 338,9185 -forte_mixer_ioctl 352,9362 -static struct file_operations forte_mixer_fops 361,9587 -forte_channel_reset 380,10021 -forte_channel_start 411,10715 -forte_channel_stop 432,11172 -forte_channel_pause 453,11571 -forte_channel_rate 475,12003 -forte_channel_format 516,13271 -forte_channel_stereo 554,13933 -forte_channel_buffer 596,14663 -forte_channel_prep 661,16299 -forte_channel_drain 717,17681 -forte_channel_init 769,18780 -forte_channel_free 822,20075 -forte_dsp_ioctl 844,20529 -forte_dsp_open 1240,28551 -forte_dsp_release 1276,29309 -forte_dsp_poll 1317,30032 -forte_dsp_mmap 1362,30815 -forte_dsp_write 1432,32228 -forte_dsp_read 1537,34517 -static struct file_operations forte_dsp_fops 1628,36368 -forte_interrupt 1649,36843 -forte_proc_read 1754,39475 -forte_proc_init 1841,42011 -forte_proc_remove 1868,42547 -forte_chip_init 1890,43066 -forte_probe 1985,45344 -forte_remove 2064,46999 -static struct pci_device_id forte_pci_ids[2089,47601 -static struct pci_driver forte_pci_driver 2095,47717 -forte_init_module 2110,47927 -forte_cleanup_module 2129,48188 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/trident.h,18309 -#define __TRID4DWAVE_H2,23 -#define PCI_VENDOR_ID_TRIDENT 28,952 -#define PCI_VENDOR_ID_SI 32,1023 -#define PCI_VENDOR_ID_ALI 36,1091 -#define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 40,1174 -#define PCI_DEVICE_ID_TRIDENT_4DWAVE_NX 44,1269 -#define PCI_DEVICE_ID_SI_7018 48,1354 -#define PCI_DEVICE_ID_ALI_5451 52,1431 -#define PCI_DEVICE_ID_ALI_1533 56,1509 -#define CHANNEL_REGS 59,1556 -#define CHANNEL_START 60,1579 -#define BANK_A 62,1662 -#define BANK_B 63,1681 -#define NR_BANKS 64,1700 -#define TRIDENT_FMT_STEREO 66,1721 -#define TRIDENT_FMT_16BIT 67,1757 -#define TRIDENT_FMT_MASK 68,1793 -#define DAC_RUNNING 70,1830 -#define ADC_RUNNING 71,1855 -enum trident_op_registers trident_op_registers76,1958 - T4D_GAME_CR 77,1986 - T4D_GAME_CR = 0x30,77,1986 - T4D_GAME_CR = 0x30, T4D_GAME_LEG 77,1986 - T4D_GAME_CR = 0x30, T4D_GAME_LEG = 0x31,77,1986 - T4D_GAME_AXD 78,2028 - T4D_GAME_AXD = 0x34,78,2028 - T4D_REC_CH 79,2050 - T4D_REC_CH = 0x70,79,2050 - T4D_START_A 80,2070 - T4D_START_A = 0x80,80,2070 - T4D_START_A = 0x80, T4D_STOP_A 80,2070 - T4D_START_A = 0x80, T4D_STOP_A = 0x84,80,2070 - T4D_DLY_A 81,2119 - T4D_DLY_A = 0x88,81,2119 - T4D_DLY_A = 0x88, T4D_SIGN_CSO_A 81,2119 - T4D_DLY_A = 0x88, T4D_SIGN_CSO_A = 0x8c,81,2119 - T4D_CSPF_A 82,2168 - T4D_CSPF_A = 0x90,82,2168 - T4D_CSPF_A = 0x90, T4D_CEBC_A 82,2168 - T4D_CSPF_A = 0x90, T4D_CEBC_A = 0x94,82,2168 - T4D_AINT_A 83,2217 - T4D_AINT_A = 0x98,83,2217 - T4D_AINT_A = 0x98, T4D_EINT_A 83,2217 - T4D_AINT_A = 0x98, T4D_EINT_A = 0x9c,83,2217 - T4D_LFO_GC_CIR 84,2261 - T4D_LFO_GC_CIR = 0xa0,84,2261 - T4D_LFO_GC_CIR = 0xa0, T4D_AINTEN_A 84,2261 - T4D_LFO_GC_CIR = 0xa0, T4D_AINTEN_A = 0xa4,84,2261 - T4D_MUSICVOL_WAVEVOL 85,2309 - T4D_MUSICVOL_WAVEVOL = 0xa8,85,2309 - T4D_MUSICVOL_WAVEVOL = 0xa8, T4D_SBDELTA_DELTA_R 85,2309 - T4D_MUSICVOL_WAVEVOL = 0xa8, T4D_SBDELTA_DELTA_R = 0xac,85,2309 - T4D_MISCINT 86,2367 - T4D_MISCINT = 0xb0,86,2367 - T4D_MISCINT = 0xb0, T4D_START_B 86,2367 - T4D_MISCINT = 0xb0, T4D_START_B = 0xb4,86,2367 - T4D_STOP_B 87,2412 - T4D_STOP_B = 0xb8,87,2412 - T4D_STOP_B = 0xb8, T4D_CSPF_B 87,2412 - T4D_STOP_B = 0xb8, T4D_CSPF_B = 0xbc,87,2412 - T4D_SBBL_SBCL 88,2456 - T4D_SBBL_SBCL = 0xc0,88,2456 - T4D_SBBL_SBCL = 0xc0, T4D_SBCTRL_SBE2R_SBDD 88,2456 - T4D_SBBL_SBCL = 0xc0, T4D_SBCTRL_SBE2R_SBDD = 0xc4,88,2456 - T4D_STIMER 89,2512 - T4D_STIMER = 0xc8,89,2512 - T4D_STIMER = 0xc8, T4D_LFO_B_I2S_DELTA 89,2512 - T4D_STIMER = 0xc8, T4D_LFO_B_I2S_DELTA = 0xcc,89,2512 - T4D_AINT_B 90,2565 - T4D_AINT_B = 0xd8,90,2565 - T4D_AINT_B = 0xd8, T4D_AINTEN_B 90,2565 - T4D_AINT_B = 0xd8, T4D_AINTEN_B = 0xdc,90,2565 - ALI_MPUR2 91,2606 - ALI_MPUR2 = 0x22,91,2606 - ALI_MPUR2 = 0x22, ALI_GPIO 91,2606 - ALI_MPUR2 = 0x22, ALI_GPIO = 0x7c,91,2606 - ALI_EBUF1 92,2642 - ALI_EBUF1 = 0xf4,92,2642 - ALI_EBUF2 93,2661 - ALI_EBUF2 = 0xf893,2661 -enum ali_op_registers ali_op_registers96,2683 - ALI_SCTRL 97,2707 - ALI_SCTRL = 0x48,97,2707 - ALI_GLOBAL_CONTROL 98,2727 - ALI_GLOBAL_CONTROL = 0xd4,98,2727 - ALI_STIMER 99,2755 - ALI_STIMER = 0xc8,99,2755 - ALI_SPDIF_CS 100,2776 - ALI_SPDIF_CS = 0x70,100,2776 - ALI_SPDIF_CTRL 101,2799 - ALI_SPDIF_CTRL = 0x74101,2799 -enum ali_registers_number ali_registers_number104,2827 - ALI_GLOBAL_REGS 105,2855 - ALI_CHANNEL_REGS 106,2879 - ALI_MIXER_REGS 107,2902 -enum ali_sctrl_control_bit ali_sctrl_control_bit110,2928 - ALI_SPDIF_OUT_ENABLE 111,2957 - ALI_SPDIF_OUT_ENABLE = 0x20111,2957 -enum ali_global_control_bit ali_global_control_bit114,2990 - ALI_SPDIF_OUT_SEL_PCM 115,3020 - ALI_SPDIF_OUT_SEL_PCM = 0x00000400,115,3020 - ALI_SPDIF_IN_SUPPORT 116,3057 - ALI_SPDIF_IN_SUPPORT = 0x00000800,116,3057 - ALI_SPDIF_OUT_CH_ENABLE 117,3093 - ALI_SPDIF_OUT_CH_ENABLE = 0x00008000,117,3093 - ALI_SPDIF_IN_CH_ENABLE 118,3132 - ALI_SPDIF_IN_CH_ENABLE = 0x00080000,118,3132 - ALI_PCM_IN_DISABLE 119,3170 - ALI_PCM_IN_DISABLE = 0x7fffffff,119,3170 - ALI_PCM_IN_ENABLE 120,3204 - ALI_PCM_IN_ENABLE = 0x80000000,120,3204 - ALI_SPDIF_IN_CH_DISABLE 121,3237 - ALI_SPDIF_IN_CH_DISABLE = 0xfff7ffff,121,3237 - ALI_SPDIF_OUT_CH_DISABLE 122,3276 - ALI_SPDIF_OUT_CH_DISABLE = 0xffff7fff,122,3276 - ALI_SPDIF_OUT_SEL_SPDIF 123,3316 - ALI_SPDIF_OUT_SEL_SPDIF = 0xfffffbff123,3316 -enum ali_spdif_control_bit ali_spdif_control_bit127,3360 - ALI_SPDIF_IN_FUNC_ENABLE 128,3389 - ALI_SPDIF_IN_FUNC_ENABLE = 0x02,128,3389 - ALI_SPDIF_IN_CH_STATUS 129,3423 - ALI_SPDIF_IN_CH_STATUS = 0x40,129,3423 - ALI_SPDIF_OUT_CH_STATUS 130,3456 - ALI_SPDIF_OUT_CH_STATUS = 0xbf130,3456 -enum ali_control_all ali_control_all134,3495 - ALI_DISABLE_ALL_IRQ 135,3518 - ALI_CHANNELS 136,3544 - ALI_STOP_ALL_CHANNELS 137,3565 - ALI_STOP_ALL_CHANNELS = 0xffffffff,137,3565 - ALI_MULTI_CHANNELS_START_STOP 138,3602 - ALI_MULTI_CHANNELS_START_STOP = 0x07800000138,3602 -enum ali_EMOD_control_bit ali_EMOD_control_bit141,3650 - ALI_EMOD_DEC 142,3678 - ALI_EMOD_DEC = 0x00000000,142,3678 - ALI_EMOD_INC 143,3706 - ALI_EMOD_INC = 0x10000000,143,3706 - ALI_EMOD_Delay 144,3734 - ALI_EMOD_Delay = 0x20000000,144,3734 - ALI_EMOD_Still 145,3764 - ALI_EMOD_Still = 0x30000000145,3764 -enum ali_pcm_in_channel_num ali_pcm_in_channel_num148,3797 - ALI_NORMAL_CHANNEL 149,3827 - ALI_SPDIF_OUT_CHANNEL 150,3852 - ALI_SPDIF_IN_CHANNEL 151,3881 - ALI_LEF_CHANNEL 152,3912 - ALI_CENTER_CHANNEL 153,3936 - ALI_SURR_RIGHT_CHANNEL 154,3962 - ALI_SURR_LEFT_CHANNEL 155,3992 - ALI_PCM_IN_CHANNEL 156,4021 -enum ali_pcm_out_channel_num ali_pcm_out_channel_num159,4050 - ALI_PCM_OUT_CHANNEL_FIRST 160,4081 - ALI_PCM_OUT_CHANNEL_LAST 161,4113 -enum ali_ac97_power_control_bit ali_ac97_power_control_bit164,4148 - ALI_EAPD_POWER_DOWN 165,4182 - ALI_EAPD_POWER_DOWN = 0x8000165,4182 -enum ali_update_ptr_flags ali_update_ptr_flags168,4216 - ALI_ADDRESS_INT_UPDATE 169,4244 - ALI_ADDRESS_INT_UPDATE = 0x01169,4244 -enum ali_revision ali_revision172,4279 - ALI_5451_V02 173,4299 - ALI_5451_V02 = 0x02173,4299 -enum ali_spdif_out_control ali_spdif_out_control176,4324 - ALI_PCM_TO_SPDIF_OUT 177,4353 - ALI_SPDIF_OUT_TO_SPDIF_OUT 178,4381 - ALI_SPDIF_OUT_PCM 179,4414 - ALI_SPDIF_OUT_NON_PCM 180,4439 -enum nx_spdif_registers nx_spdif_registers184,4516 - NX_SPCTRL_SPCSO 185,4542 - NX_SPCTRL_SPCSO = 0x24,185,4542 - NX_SPCTRL_SPCSO = 0x24, NX_SPLBA 185,4542 - NX_SPCTRL_SPCSO = 0x24, NX_SPLBA = 0x28,185,4542 - NX_SPESO 186,4584 - NX_SPESO = 0x2c,186,4584 - NX_SPESO = 0x2c, NX_SPCSTATUS 186,4584 - NX_SPESO = 0x2c, NX_SPCSTATUS = 0x64186,4584 -enum channel_registers channel_registers190,4677 - CH_DX_CSO_ALPHA_FMS 191,4702 - CH_DX_CSO_ALPHA_FMS = 0xe0,191,4702 - CH_DX_CSO_ALPHA_FMS = 0xe0, CH_DX_ESO_DELTA 191,4702 - CH_DX_CSO_ALPHA_FMS = 0xe0, CH_DX_ESO_DELTA = 0xe8,191,4702 - CH_DX_FMC_RVOL_CVOL 192,4755 - CH_DX_FMC_RVOL_CVOL = 0xec,192,4755 - CH_NX_DELTA_CSO 193,4784 - CH_NX_DELTA_CSO = 0xe0,193,4784 - CH_NX_DELTA_CSO = 0xe0, CH_NX_DELTA_ESO 193,4784 - CH_NX_DELTA_CSO = 0xe0, CH_NX_DELTA_ESO = 0xe8,193,4784 - CH_NX_ALPHA_FMS_FMC_RVOL_CVOL 194,4837 - CH_NX_ALPHA_FMS_FMC_RVOL_CVOL = 0xec,194,4837 - CH_LBA 195,4876 - CH_LBA = 0xe4,195,4876 - CH_GVSEL_PAN_VOL_CTRL_EC 196,4905 - CH_GVSEL_PAN_VOL_CTRL_EC = 0xf0196,4905 -enum dx_ac97_registers dx_ac97_registers200,4996 - DX_ACR0_AC97_W 201,5021 - DX_ACR0_AC97_W = 0x40,201,5021 - DX_ACR0_AC97_W = 0x40, DX_ACR1_AC97_R 201,5021 - DX_ACR0_AC97_W = 0x40, DX_ACR1_AC97_R = 0x44,201,5021 - DX_ACR2_AC97_COM_STAT 202,5075 - DX_ACR2_AC97_COM_STAT = 0x48202,5075 -enum nx_ac97_registers nx_ac97_registers205,5109 - NX_ACR0_AC97_COM_STAT 206,5134 - NX_ACR0_AC97_COM_STAT = 0x40,206,5134 - NX_ACR0_AC97_COM_STAT = 0x40, NX_ACR1_AC97_W 206,5134 - NX_ACR0_AC97_COM_STAT = 0x40, NX_ACR1_AC97_W = 0x44,206,5134 - NX_ACR2_AC97_R_PRIMARY 207,5199 - NX_ACR2_AC97_R_PRIMARY = 0x48,207,5199 - NX_ACR2_AC97_R_PRIMARY = 0x48, NX_ACR3_AC97_R_SECONDARY 207,5199 - NX_ACR2_AC97_R_PRIMARY = 0x48, NX_ACR3_AC97_R_SECONDARY = 0x4c207,5199 -enum si_ac97_registers si_ac97_registers210,5267 - SI_AC97_WRITE 211,5292 - SI_AC97_WRITE = 0x40,211,5292 - SI_AC97_WRITE = 0x40, SI_AC97_READ 211,5292 - SI_AC97_WRITE = 0x40, SI_AC97_READ = 0x44,211,5292 - SI_SERIAL_INTF_CTRL 212,5342 - SI_SERIAL_INTF_CTRL = 0x48,212,5342 - SI_SERIAL_INTF_CTRL = 0x48, SI_AC97_GPIO 212,5342 - SI_SERIAL_INTF_CTRL = 0x48, SI_AC97_GPIO = 0x4c212,5342 -enum ali_ac97_registers ali_ac97_registers215,5395 - ALI_AC97_WRITE 216,5421 - ALI_AC97_WRITE = 0x40,216,5421 - ALI_AC97_WRITE = 0x40, ALI_AC97_READ 216,5421 - ALI_AC97_WRITE = 0x40, ALI_AC97_READ = 0x44216,5421 -#define AC97_REG_ADDR 220,5517 -enum ali_ac97_bits ali_ac97_bits222,5556 - ALI_AC97_BUSY_WRITE 223,5577 - ALI_AC97_BUSY_WRITE = 0x8000,223,5577 - ALI_AC97_BUSY_WRITE = 0x8000, ALI_AC97_BUSY_READ 223,5577 - ALI_AC97_BUSY_WRITE = 0x8000, ALI_AC97_BUSY_READ = 0x8000,223,5577 - ALI_AC97_WRITE_ACTION 224,5637 - ALI_AC97_WRITE_ACTION = 0x8000,224,5637 - ALI_AC97_WRITE_ACTION = 0x8000, ALI_AC97_READ_ACTION 224,5637 - ALI_AC97_WRITE_ACTION = 0x8000, ALI_AC97_READ_ACTION = 0x8000,224,5637 - ALI_AC97_AUDIO_BUSY 225,5701 - ALI_AC97_AUDIO_BUSY = 0x4000,225,5701 - ALI_AC97_AUDIO_BUSY = 0x4000, ALI_AC97_SECONDARY 225,5701 - ALI_AC97_AUDIO_BUSY = 0x4000, ALI_AC97_SECONDARY = 0x0080,225,5701 - ALI_AC97_READ_MIXER_REGISTER 226,5762 - ALI_AC97_READ_MIXER_REGISTER = 0xfeff,226,5762 - ALI_AC97_WRITE_MIXER_REGISTER 227,5802 - ALI_AC97_WRITE_MIXER_REGISTER = 0x0100227,5802 -enum sis7018_ac97_bits sis7018_ac97_bits230,5846 - SI_AC97_BUSY_WRITE 231,5871 - SI_AC97_BUSY_WRITE = 0x8000,231,5871 - SI_AC97_BUSY_WRITE = 0x8000, SI_AC97_BUSY_READ 231,5871 - SI_AC97_BUSY_WRITE = 0x8000, SI_AC97_BUSY_READ = 0x8000,231,5871 - SI_AC97_AUDIO_BUSY 232,5929 - SI_AC97_AUDIO_BUSY = 0x4000,232,5929 - SI_AC97_AUDIO_BUSY = 0x4000, SI_AC97_MODEM_BUSY 232,5929 - SI_AC97_AUDIO_BUSY = 0x4000, SI_AC97_MODEM_BUSY = 0x2000,232,5929 - SI_AC97_SECONDARY 233,5988 - SI_AC97_SECONDARY = 0x0080233,5988 -enum trident_dx_ac97_bits trident_dx_ac97_bits236,6021 - DX_AC97_BUSY_WRITE 237,6049 - DX_AC97_BUSY_WRITE = 0x8000,237,6049 - DX_AC97_BUSY_WRITE = 0x8000, DX_AC97_BUSY_READ 237,6049 - DX_AC97_BUSY_WRITE = 0x8000, DX_AC97_BUSY_READ = 0x8000,237,6049 - DX_AC97_READY 238,6107 - DX_AC97_READY = 0x0010,238,6107 - DX_AC97_READY = 0x0010, DX_AC97_RECORD 238,6107 - DX_AC97_READY = 0x0010, DX_AC97_RECORD = 0x0008,238,6107 - DX_AC97_PLAYBACK 239,6165 - DX_AC97_PLAYBACK = 0x0002239,6165 -enum trident_nx_ac97_bits trident_nx_ac97_bits242,6198 - NX_AC97_BUSY_WRITE 244,6240 - NX_AC97_BUSY_WRITE = 0x0800,244,6240 - NX_AC97_BUSY_WRITE = 0x0800, NX_AC97_BUSY_READ 244,6240 - NX_AC97_BUSY_WRITE = 0x0800, NX_AC97_BUSY_READ = 0x0800,244,6240 - NX_AC97_BUSY_DATA 245,6298 - NX_AC97_BUSY_DATA = 0x0400,245,6298 - NX_AC97_BUSY_DATA = 0x0400, NX_AC97_WRITE_SECONDARY 245,6298 - NX_AC97_BUSY_DATA = 0x0400, NX_AC97_WRITE_SECONDARY = 0x0100,245,6298 - NX_AC97_SECONDARY_READY 247,6374 - NX_AC97_SECONDARY_READY = 0x0040,247,6374 - NX_AC97_SECONDARY_READY = 0x0040, NX_AC97_SECONDARY_RECORD 247,6374 - NX_AC97_SECONDARY_READY = 0x0040, NX_AC97_SECONDARY_RECORD = 0x0020,247,6374 - NX_AC97_SURROUND_OUTPUT 248,6444 - NX_AC97_SURROUND_OUTPUT = 0x0010,248,6444 - NX_AC97_PRIMARY_READY 249,6479 - NX_AC97_PRIMARY_READY = 0x0008,249,6479 - NX_AC97_PRIMARY_READY = 0x0008, NX_AC97_PRIMARY_RECORD 249,6479 - NX_AC97_PRIMARY_READY = 0x0008, NX_AC97_PRIMARY_RECORD = 0x0004,249,6479 - NX_AC97_PCM_OUTPUT 250,6549 - NX_AC97_PCM_OUTPUT = 0x0002,250,6549 - NX_AC97_WARM_RESET 251,6584 - NX_AC97_WARM_RESET = 0x0001251,6584 -enum serial_intf_ctrl_bits serial_intf_ctrl_bits254,6622 - WARM_REST 255,6651 - WARM_REST = 0x00000001,255,6651 - WARM_REST = 0x00000001, COLD_RESET 255,6651 - WARM_REST = 0x00000001, COLD_RESET = 0x00000002,255,6651 - I2S_CLOCK 256,6704 - I2S_CLOCK = 0x00000004,256,6704 - I2S_CLOCK = 0x00000004, PCM_SEC_AC97=256,6704 - I2S_CLOCK = 0x00000004, PCM_SEC_AC97= 0x00000008,256,6704 - AC97_DBL_RATE 257,6757 - AC97_DBL_RATE = 0x00000010,257,6757 - AC97_DBL_RATE = 0x00000010, SPDIF_EN 257,6757 - AC97_DBL_RATE = 0x00000010, SPDIF_EN = 0x00000020,257,6757 - I2S_OUTPUT_EN 258,6810 - I2S_OUTPUT_EN = 0x00000040,258,6810 - I2S_OUTPUT_EN = 0x00000040, I2S_INPUT_EN 258,6810 - I2S_OUTPUT_EN = 0x00000040, I2S_INPUT_EN = 0x00000080,258,6810 - PCMIN 259,6866 - PCMIN = 0x00000100,259,6866 - PCMIN = 0x00000100, LINE1IN 259,6866 - PCMIN = 0x00000100, LINE1IN = 0x00000200,259,6866 - MICIN 260,6919 - MICIN = 0x00000400,260,6919 - MICIN = 0x00000400, LINE2IN 260,6919 - MICIN = 0x00000400, LINE2IN = 0x00000800,260,6919 - HEAD_SET_IN 261,6972 - HEAD_SET_IN = 0x00001000,261,6972 - HEAD_SET_IN = 0x00001000, GPIOIN 261,6972 - HEAD_SET_IN = 0x00001000, GPIOIN = 0x00002000,261,6972 - SECONDARY_ID=264,7118 - SECONDARY_ID= 0x00004000,264,7118 - PCMOUT 265,7145 - PCMOUT = 0x00010000,265,7145 - PCMOUT = 0x00010000, SURROUT 265,7145 - PCMOUT = 0x00010000, SURROUT = 0x00020000,265,7145 - CENTEROUT 266,7198 - CENTEROUT = 0x00040000,266,7198 - CENTEROUT = 0x00040000, LFEOUT 266,7198 - CENTEROUT = 0x00040000, LFEOUT = 0x00080000,266,7198 - LINE1OUT 267,7251 - LINE1OUT = 0x00100000,267,7251 - LINE1OUT = 0x00100000, LINE2OUT 267,7251 - LINE1OUT = 0x00100000, LINE2OUT = 0x00200000,267,7251 - GPIOOUT 268,7304 - GPIOOUT = 0x00400000,268,7304 - SI_AC97_PRIMARY_READY 269,7331 - SI_AC97_PRIMARY_READY = 0x01000000,269,7331 - SI_AC97_SECONDARY_READY 270,7370 - SI_AC97_SECONDARY_READY = 0x02000000,270,7370 -enum global_control_bits global_control_bits273,7413 - CHANNLE_IDX 274,7440 - CHANNLE_IDX = 0x0000003f,274,7440 - CHANNLE_IDX = 0x0000003f, PB_RESET 274,7440 - CHANNLE_IDX = 0x0000003f, PB_RESET = 0x00000100,274,7440 - PAUSE_ENG 275,7493 - PAUSE_ENG = 0x00000200,275,7493 - OVERRUN_IE 276,7520 - OVERRUN_IE = 0x00000400,276,7520 - OVERRUN_IE = 0x00000400, UNDERRUN_IE 276,7520 - OVERRUN_IE = 0x00000400, UNDERRUN_IE = 0x00000800,276,7520 - ENDLP_IE 277,7573 - ENDLP_IE = 0x00001000,277,7573 - ENDLP_IE = 0x00001000, MIDLP_IE 277,7573 - ENDLP_IE = 0x00001000, MIDLP_IE = 0x00002000,277,7573 - ETOG_IE 278,7626 - ETOG_IE = 0x00004000,278,7626 - EDROP_IE 279,7653 - EDROP_IE = 0x00008000,279,7653 - EDROP_IE = 0x00008000, BANK_B_EN 279,7653 - EDROP_IE = 0x00008000, BANK_B_EN = 0x00010000279,7653 -enum channel_control_bits channel_control_bits282,7709 - CHANNEL_LOOP 283,7737 - CHANNEL_LOOP = 0x00001000,283,7737 - CHANNEL_LOOP = 0x00001000, CHANNEL_SIGNED 283,7737 - CHANNEL_LOOP = 0x00001000, CHANNEL_SIGNED = 0x00002000,283,7737 - CHANNEL_STEREO 284,7796 - CHANNEL_STEREO = 0x00004000,284,7796 - CHANNEL_STEREO = 0x00004000, CHANNEL_16BITS 284,7796 - CHANNEL_STEREO = 0x00004000, CHANNEL_16BITS = 0x00008000,284,7796 -enum channel_attribute channel_attribute287,7859 - CHANNEL_PB 289,7914 - CHANNEL_PB = 0x0000,289,7914 - CHANNEL_PB = 0x0000, CHANNEL_SPC_PB 289,7914 - CHANNEL_PB = 0x0000, CHANNEL_SPC_PB = 0x4000,289,7914 - CHANNEL_REC 290,7965 - CHANNEL_REC = 0x8000,290,7965 - CHANNEL_REC = 0x8000, CHANNEL_REC_PB 290,7965 - CHANNEL_REC = 0x8000, CHANNEL_REC_PB = 0xc000,290,7965 - MODEM_LINE1 292,8065 - MODEM_LINE1 = 0x0000,292,8065 - MODEM_LINE1 = 0x0000, MODEM_LINE2 292,8065 - MODEM_LINE1 = 0x0000, MODEM_LINE2 = 0x0400,292,8065 - PCM_LR 293,8116 - PCM_LR = 0x0800,293,8116 - PCM_LR = 0x0800, HSET 293,8116 - PCM_LR = 0x0800, HSET = 0x0c00,293,8116 - I2S_LR 294,8167 - I2S_LR = 0x1000,294,8167 - I2S_LR = 0x1000, CENTER_LFE 294,8167 - I2S_LR = 0x1000, CENTER_LFE = 0x1400,294,8167 - SURR_LR 295,8218 - SURR_LR = 0x1800,295,8218 - SURR_LR = 0x1800, SPDIF_LR 295,8218 - SURR_LR = 0x1800, SPDIF_LR = 0x1c00,295,8218 - MIC 296,8269 - MIC = 0x1400,296,8269 - MONO_LEFT 298,8313 - MONO_LEFT = 0x0000,298,8313 - MONO_LEFT = 0x0000, MONO_RIGHT 298,8313 - MONO_LEFT = 0x0000, MONO_RIGHT = 0x0100,298,8313 - MONO_MIX 299,8364 - MONO_MIX = 0x0200,299,8364 - MONO_MIX = 0x0200, SRC_ENABLE 299,8364 - MONO_MIX = 0x0200, SRC_ENABLE = 0x0080,299,8364 -enum miscint_bits miscint_bits302,8419 - PB_UNDERRUN_IRO 303,8439 - PB_UNDERRUN_IRO = 0x00000001,303,8439 - PB_UNDERRUN_IRO = 0x00000001, REC_OVERRUN_IRQ 303,8439 - PB_UNDERRUN_IRO = 0x00000001, REC_OVERRUN_IRQ = 0x00000002,303,8439 - SB_IRQ 304,8500 - SB_IRQ = 0x00000004,304,8500 - SB_IRQ = 0x00000004, MPU401_IRQ 304,8500 - SB_IRQ = 0x00000004, MPU401_IRQ = 0x00000008,304,8500 - OPL3_IRQ 305,8561 - OPL3_IRQ = 0x00000010,305,8561 - OPL3_IRQ = 0x00000010, ADDRESS_IRQ 305,8561 - OPL3_IRQ = 0x00000010, ADDRESS_IRQ = 0x00000020,305,8561 - ENVELOPE_IRQ 306,8622 - ENVELOPE_IRQ = 0x00000040,306,8622 - ENVELOPE_IRQ = 0x00000040, ST_IRQ 306,8622 - ENVELOPE_IRQ = 0x00000040, ST_IRQ = 0x00000080,306,8622 - PB_UNDERRUN 307,8683 - PB_UNDERRUN = 0x00000100,307,8683 - PB_UNDERRUN = 0x00000100, REC_OVERRUN 307,8683 - PB_UNDERRUN = 0x00000100, REC_OVERRUN = 0x00000200,307,8683 - MIXER_UNDERFLOW 308,8744 - MIXER_UNDERFLOW = 0x00000400,308,8744 - MIXER_UNDERFLOW = 0x00000400, MIXER_OVERFLOW 308,8744 - MIXER_UNDERFLOW = 0x00000400, MIXER_OVERFLOW = 0x00000800,308,8744 - ST_TARGET_REACHED 309,8805 - ST_TARGET_REACHED = 0x00008000,309,8805 - ST_TARGET_REACHED = 0x00008000, PB_24K_MODE 309,8805 - ST_TARGET_REACHED = 0x00008000, PB_24K_MODE = 0x00010000,309,8805 - ST_IRQ_EN 310,8867 - ST_IRQ_EN = 0x00800000,310,8867 - ST_IRQ_EN = 0x00800000, ACGPIO_IRQ 310,8867 - ST_IRQ_EN = 0x00800000, ACGPIO_IRQ = 0x01000000310,8867 -#define TRID_REG(TRID_REG313,8931 -#define CYBER_PORT_AUDIO 315,8993 -#define CYBER_IDX_AUDIO_ENABLE 316,9026 -#define CYBER_BMSK_AUDIO_INT_ENABLE 317,9072 -#define CYBER_BMSK_AUENZ 318,9114 -#define CYBER_BMSK_AUENZ_ENABLE 319,9146 -#define CYBER_IDX_IRQ_ENABLE 320,9185 -#define VALIDATE_MAGIC(VALIDATE_MAGIC322,9228 -#define VALIDATE_STATE(VALIDATE_STATE330,9400 -#define VALIDATE_CARD(VALIDATE_CARD331,9464 -static inline unsigned ld2(333,9527 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/maui.c,1066 -#define USE_SEQ_MACROS32,808 -#define USE_SIMPLE_MACROS33,831 -static int maui_base 40,934 -static volatile int irq_ok;42,970 -static int *maui_osp;43,998 -#define HOST_DATA_PORT 45,1025 -#define HOST_STAT_PORT 46,1064 -#define HOST_CTRL_PORT 47,1103 -#define STAT_TX_INTR 49,1143 -#define STAT_TX_AVAIL 50,1169 -#define STAT_TX_IENA 51,1196 -#define STAT_RX_INTR 52,1222 -#define STAT_RX_AVAIL 53,1248 -#define STAT_RX_IENA 54,1275 -static int maui_wait(61,1461 -static int maui_read(88,1893 -static int maui_write(95,1998 -static irqreturn_t mauiintr(105,2183 -static int __init download_code(111,2296 -static int __init maui_init(173,3469 -static int maui_short_wait(234,4687 -static int maui_load_patch(245,4835 -static int __init probe_maui(302,6230 -static void __exit unload_maui(404,8714 -static int fw_load;416,8946 -static struct address_info cfg;418,8967 -static int __initdata io 420,9000 -static int __initdata irq 421,9031 -static int __init init_maui(430,9169 -static void __exit cleanup_maui(452,9647 -static int __init setup_maui(463,9820 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs46xxpm-24.h,422 -#define __CS46XXPM24_H27,1195 -#define CS46XX_ACPI_SUPPORT 33,1265 -#define cs_pm_register(cs_pm_register41,1550 -#define cs_pm_unregister_all(cs_pm_unregister_all42,1588 -#define CS46XX_SUSPEND_TBL 43,1621 -#define CS46XX_RESUME_TBL 44,1667 -#define cs_pm_register(cs_pm_register46,1717 -#define cs_pm_unregister_all(cs_pm_unregister_all47,1777 -#define CS46XX_SUSPEND_TBL 48,1833 -#define CS46XX_RESUME_TBL 49,1872 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs46xxpm.h,922 -#define __CS46XXPM_H27,1190 -#define CS46XX_AC97_HIGHESTREGTORESTORE 29,1212 -#define CS46XX_AC97_NUMBER_RESTORE_REGS 30,1257 -#define CS46XX_PM_NOT_REGISTERED 33,1362 -#define CS46XX_PM_IDLE 34,1402 -#define CS46XX_PM_SUSPENDING 35,1434 -#define CS46XX_PM_SUSPENDED 36,1471 -#define CS46XX_PM_RESUMING 37,1507 -#define CS46XX_PM_RESUMED 38,1542 -#define CS_POWER_DAC 40,1577 -#define CS_POWER_ADC 41,1607 -#define CS_POWER_MIXVON 42,1637 -#define CS_POWER_MIXVOFF 43,1670 -#define CS_AC97_POWER_CONTROL_ON 44,1703 -#define CS_AC97_POWER_CONTROL_ADC 45,1776 -#define CS_AC97_POWER_CONTROL_DAC 46,1817 -#define CS_AC97_POWER_CONTROL_MIXVON 47,1858 -#define CS_AC97_POWER_CONTROL_MIXVOFF 48,1902 -#define CS_AC97_POWER_CONTROL_ADC_ON 49,1947 -#define CS_AC97_POWER_CONTROL_DAC_ON 50,1991 -#define CS_AC97_POWER_CONTROL_MIXVON_ON 51,2035 -#define CS_AC97_POWER_CONTROL_MIXVOFF_ON 52,2082 -struct cs46xx_pm cs46xx_pm54,2131 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/tuning.h,72 -unsigned short semitone_tuning[3,20 -unsigned short cent_tuning[10,263 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/rme96xx.c,6131 -#define RMEVERSION 44,1787 -#define NR_DEVICE 68,2275 -static int devices 70,2296 -#define DBG(DBG81,2603 -#define COMM(COMM82,2641 -#define DBG(DBG84,2692 -#define COMM(COMM85,2720 -#define RME96xx_MAGIC 92,2961 -#define RME96xx_IO_EXTENT 96,3061 -#define RME96xx_CHANNELS_PER_CARD 97,3107 -#define RME96xx_num_of_init_regs 102,3261 -#define RME96xx_init_buffer 104,3299 -#define RME96xx_play_buffer 105,3339 -#define RME96xx_rec_buffer 106,3427 -#define RME96xx_control_register 107,3515 -#define RME96xx_irq_clear 108,3587 -#define RME96xx_time_code 109,3651 -#define RME96xx_thru_base 110,3724 -#define RME96xx_thru_channels 111,3803 -#define RME96xx_status_register 115,3905 -#define RME96xx_IRQ 121,4075 -#define RME96xx_lock_2 122,4164 -#define RME96xx_lock_1 123,4242 -#define RME96xx_lock_0 124,4320 -#define RME96xx_fs48 126,4399 -#define RME96xx_wsel_rd 127,4489 -#define RME96xx_buf_pos1 128,4573 -#define RME96xx_buf_pos2 129,4675 -#define RME96xx_buf_pos3 131,4775 -#define RME96xx_buf_pos4 132,4842 -#define RME96xx_buf_pos5 133,4943 -#define RME96xx_buf_pos6 134,5038 -#define RME96xx_buf_pos7 136,5079 -#define RME96xx_buf_pos8 137,5119 -#define RME96xx_buf_pos9 138,5159 -#define RME96xx_buf_pos10 139,5198 -#define RME96xx_sync_2 141,5239 -#define RME96xx_sync_1 142,5319 -#define RME96xx_sync_0 143,5399 -#define RME96xx_DS_rd 144,5479 -#define RME96xx_tc_busy 146,5556 -#define RME96xx_tc_out 147,5638 -#define RME96xx_F_0 148,5701 -#define RME96xx_F_1 149,5782 -#define RME96xx_F_2 151,5864 -#define RME96xx_ERF 152,5945 -#define RME96xx_buffer_id 153,6030 -#define RME96xx_tc_valid 154,6113 -#define RME96xx_SPDIF_READ 155,6202 -#define RME96xx_lock 159,6323 -#define RME96xx_sync 160,6402 -#define RME96xx_F 161,6481 -#define rme96xx_decode_spdif_rate(rme96xx_decode_spdif_rate162,6551 -#define RME96xx_buf_pos 165,6636 -#define RME96xx_REV15_buf_pos(RME96xx_REV15_buf_pos169,6794 -#define RME96xx_start_bit 175,6993 -#define RME96xx_latency0 176,7050 -#define RME96xx_latency1 177,7110 -#define RME96xx_latency2 178,7178 -#define RME96xx_Master 180,7249 -#define RME96xx_IE 181,7320 -#define RME96xx_freq 182,7369 -#define RME96xx_freq1 183,7439 -#define RME96xx_DS 184,7544 -#define RME96xx_PRO 185,7627 -#define RME96xx_EMP 186,7698 -#define RME96xx_Dolby 187,7763 -#define RME96xx_opt_out 189,7839 -#define RME96xx_wsel 190,7926 -#define RME96xx_inp_0 191,8013 -#define RME96xx_inp_1 192,8087 -#define RME96xx_SyncRef0 194,8171 -#define RME96xx_SyncRef1 195,8250 -#define RME96xx_SPDIF_RESET 197,8335 -#define RME96xx_SPDIF_SELECT 198,8409 -#define RME96xx_SPDIF_CLOCK 199,8448 -#define RME96xx_SPDIF_WRITE 200,8487 -#define RME96xx_ADAT1_INTERNAL 201,8526 -#define RME96xx_ctrl_init 204,8626 -#define RME96xx_latency 212,8869 -#define RME96xx_inp 213,8946 -#define RME96xx_SyncRef 214,9004 -#define RME96xx_mixer_allowed 215,9067 -#define RME96xx_SET_LATENCY(RME96xx_SET_LATENCY219,9319 -#define RME96xx_GET_LATENCY(RME96xx_GET_LATENCY220,9367 -#define RME96xx_SET_inp(RME96xx_SET_inp221,9415 -#define RME96xx_GET_inp(RME96xx_GET_inp222,9458 -#define RME96xx_SET_SyncRef(RME96xx_SET_SyncRef223,9503 -#define RME96xx_GET_SyncRef(RME96xx_GET_SyncRef224,9550 -#define RME96xx_BYTES_PER_SAMPLE 228,9620 -#define RME_16K 229,9674 -#define RME96xx_DMA_MAX_SAMPLES 231,9699 -#define RME96xx_DMA_MAX_SIZE 232,9742 -#define RME96xx_DMA_MAX_SIZE_ALL 233,9812 -#define RME96xx_NUM_OF_FRAGMENTS 235,9897 -#define RME96xx_FRAGMENT_MAX_SIZE 236,9936 -#define RME96xx_FRAGMENT_MAX_SAMPLES 237,9998 -#define RME96xx_MAX_LATENCY 238,10063 -#define RME96xx_MAX_DEVS 241,10121 -#define RME96xx_MASK_DEVS 242,10185 -#define RME_MESS 244,10241 -static const char invalid_magic[252,10559 -#define VALIDATE_STATE(VALIDATE_STATE254,10640 -static struct file_operations rme96xx_audio_fops;265,10993 -static struct file_operations rme96xx_mixer_fops;266,11043 -static int numcards;267,11093 -typedef int32_t raw_sample_t;raw_sample_t269,11115 -typedef struct _rme96xx_info _rme96xx_info271,11146 - struct dmabuf dmabuf304,11993 -} rme96xx_info;rme96xx_info337,12954 -inline void rme96xx_set_ctrl(342,13033 -inline void rme96xx_unset_ctrl(350,13190 -inline int rme96xx_get_sample_rate_status(358,13352 -inline int rme96xx_get_sample_rate_ctrl(369,13595 -static void rme96xx_spdif_set_bit 381,13871 -static void rme96xx_spdif_write_byte 391,14102 -static int rme96xx_spdif_read_byte 407,14495 -static void rme96xx_write_spdif_codec 425,14860 -static int rme96xx_spdif_read_codec 435,15177 -static void rme96xx_initialize_spdif_receiver 452,15643 -static inline int rme96xx_spdif_sample_rate 464,15946 -#define RME96xx_BURSTBYTES 540,17664 -inline int rme96xx_gethwptr(542,17737 -inline void rme96xx_setlatency(560,18241 -static void rme96xx_clearbufs(569,18429 -static int rme96xx_startcard(586,18851 -inline int rme96xx_getospace(629,19790 -inline int rme96xx_getispace(646,20122 -inline int rme96xx_copyfromuser(664,20451 -inline int rme96xx_copytouser(713,21749 -static irqreturn_t rme96xx_interrupt(762,22921 -void* busmaster_malloc(796,23773 -void busmaster_free(822,24484 -static int rme96xx_dmabuf_init(844,25027 -int rme96xx_init(869,25531 -static int __devinit rme96xx_probe(970,28073 -static void __devexit rme96xx_remove(1036,29672 -#define PCI_VENDOR_ID_RME 1065,30237 -#define PCI_DEVICE_ID_RME9652 1068,30307 -#define PCI_ANY_ID 1071,30370 -static struct pci_device_id id_table[1074,30399 -static struct pci_driver rme96xx_driver 1086,30625 -static int __init init_rme96xx(1093,30788 -static void __exit cleanup_rme96xx(1102,31097 -#define RME96xx_FMT 1119,31484 -static int rme96xx_ioctl(1122,31598 -static int rme96xx_open(1446,39983 -static int rme96xx_release(1502,41349 -static ssize_t rme96xx_write(1534,42151 -static ssize_t rme96xx_read(1599,43602 -static int rm96xx_mmap(1666,45053 -static unsigned int rme96xx_poll(1712,46124 -static struct file_operations rme96xx_audio_fops 1752,46989 -static int rme96xx_mixer_open(1765,47305 -static int rme96xx_mixer_ioctl(1788,47785 -static int rme96xx_mixer_release(1849,49680 -static /*const*/ struct file_operations rme96xx_mixer_fops 1854,49769 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dmabuf.c,1714 -#define BE_CONSERVATIVE25,970 -#define SAMPLE_ROUNDUP 26,994 -#define DMAP_FREE_ON_CLOSE 30,1047 -#define DMAP_KEEP_ON_CLOSE 31,1081 -static int debugmem;40,1332 -static int dma_buffsize 41,1387 -static long dmabuf_timeout(43,1428 -static int sound_alloc_dmap(56,1699 -static void sound_free_dmap(122,3599 -static int sound_start_dma(147,4252 -static void dma_init_buffers(166,4716 -static int open_dmap(183,5163 -static void close_dmap(215,6097 -static unsigned int default_set_bits(234,6502 -static int default_set_speed(244,6722 -static short default_set_channels(254,6927 -static void check_driver(265,7156 -int DMAbuf_open(275,7405 -void DMAbuf_reset(323,8628 -static void dma_reset_output(332,8801 -static void dma_reset_input(377,10041 -void DMAbuf_launch_output(396,10631 -int DMAbuf_sync(424,11651 -int DMAbuf_release(477,13351 -int DMAbuf_activate_recording(514,14425 -int DMAbuf_getrdbuffer(551,15543 -int DMAbuf_rmchars(609,17264 -int DMAbuf_get_buffer_pointer(632,17893 -void DMAbuf_start_devices(688,18978 -int DMAbuf_space_in_queue(709,19445 -static int output_sleep(746,20245 -static int find_output_space(781,21150 -int DMAbuf_getwrbuffer(825,22591 -int DMAbuf_move_wrpointer(859,23535 -int DMAbuf_start_dma(914,25074 -static int local_start_dma(930,25577 -static void finish_output_interrupt(948,26183 -static void do_outputintr(958,26505 -void DMAbuf_outputintr(1026,28636 -static void do_inputintr(1059,29505 -void DMAbuf_inputintr(1125,31909 -int DMAbuf_open_dma(1158,32679 -void DMAbuf_close_dma(1183,33272 -void DMAbuf_init(1188,33365 -static unsigned int poll_input(1228,34474 -static unsigned int poll_output(1257,35200 -unsigned int DMAbuf_poll(1278,35732 -void DMAbuf_deinit(1285,35972 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/pss.c,3343 -#define REG(REG74,3225 -#define PSS_DATA 75,3255 -#define PSS_STATUS 76,3274 -#define PSS_CONTROL 77,3295 -#define PSS_ID 78,3317 -#define PSS_IRQACK 79,3335 -#define PSS_PIO 80,3356 -#define CONF_PSS 85,3406 -#define CONF_WSS 86,3428 -#define CONF_SB 87,3450 -#define CONF_CDROM 88,3472 -#define CONF_MIDI 89,3496 -#define PSS_FLAG3 94,3543 -#define PSS_FLAG2 95,3572 -#define PSS_FLAG1 96,3601 -#define PSS_FLAG0 97,3630 -#define PSS_WRITE_EMPTY 98,3659 -#define PSS_READ_FULL 99,3691 -#define WSS_INDEX 104,3748 -#define WSS_DATA 105,3768 -#define WSS_INITIALIZING 110,3814 -#define WSS_AUTOCALIBRATION 111,3844 -#define NO_WSS_MIXER 113,3878 -static unsigned char pss_mixer 121,4033 -static unsigned char pss_mixer;123,4075 -typedef struct pss_mixerdata pss_mixerdata127,4116 -} pss_mixerdata;pss_mixerdata133,4258 -typedef struct pss_confdata pss_confdata135,4276 -} pss_confdata;pss_confdata142,4450 -static pss_confdata pss_data;144,4469 -static pss_confdata *devc 145,4499 -static spinlock_t lock=146,4538 -static int pss_initialized;148,4582 -static int nonstandard_microcode;149,4615 -static int pss_cdrom_port 150,4654 -static int pss_enable_joystick;151,4725 -static coproc_operations pss_coproc_operations;152,4802 -static void pss_write(154,4851 -static int __init probe_pss(178,5550 -static int set_irq(210,6412 -static int set_io_base(236,6946 -static int set_dma(246,7149 -static int pss_reset_dsp(270,7617 -static int pss_put_dspword(281,7869 -static int pss_get_dspword(297,8114 -static int pss_download_boot(313,8359 -static void set_master_volume(403,10136 -static void set_synth_volume(422,11022 -static void set_bass(431,11221 -static void set_treble(438,11392 -static void pss_mixer_reset(445,11561 -static int set_volume_mono(463,11948 -static int set_volume_stereo(477,12168 -static int ret_vol_mono(495,12491 -static int ret_vol_stereo(500,12560 -static int call_ad_mixer(505,12643 -static int pss_mixer_ioctl 513,12873 -static struct mixer_operations pss_mixer_operations 644,16148 -void disable_all_emulations(652,16300 -void configure_nonsound_components(661,16521 -static int __init attach_pss(695,17330 -static int __init probe_pss_mpu(748,18566 -static int pss_coproc_open(804,20027 -static void pss_coproc_close(829,20542 -static void pss_coproc_reset(834,20617 -static int download_boot_block(844,20875 -static int pss_coproc_ioctl(858,21255 -static coproc_operations pss_coproc_operations 1031,25915 -static int __init probe_pss_mss(1042,26084 -static inline void __exit unload_pss(1125,28407 -static inline void __exit unload_pss_mpu(1131,28571 -static inline void __exit unload_pss_mss(1136,28676 -static struct address_info cfg;1142,28784 -static struct address_info cfg2;1143,28816 -static struct address_info cfg_mpu;1144,28849 -static int pss_io __initdata 1146,28886 -static int mss_io __initdata 1147,28921 -static int mss_irq __initdata 1148,28956 -static int mss_dma __initdata 1149,28992 -static int mpu_io __initdata 1150,29028 -static int mpu_irq __initdata 1151,29063 -static int pss_no_sound __initdata 1152,29099 -static int pss_keep_settings 1153,29181 -static char *pss_firmware 1154,29260 -static int fw_load 1185,31186 -static int pssmpu 1186,31210 -static int __init init_pss(1192,31289 -static void __exit cleanup_pss(1241,32341 -static int __init setup_pss(1265,32785 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sound_timer.c,1134 -static volatile int initialized,19,419 -static volatile int initialized, opened,19,419 -static volatile int initialized, opened, tmr_running;19,419 -static volatile time_t tmr_offs,20,473 -static volatile time_t tmr_offs, tmr_ctr;20,473 -static volatile unsigned long ticks_offs;21,515 -static volatile int curr_tempo,22,557 -static volatile int curr_tempo, curr_timebase;22,557 -static volatile unsigned long curr_ticks;23,604 -static volatile unsigned long next_event_time;24,646 -static unsigned long prev_event_time;25,693 -static volatile unsigned long usecs_per_tmr;26,731 -static struct sound_lowlev_timer *tmr;28,814 -static spinlock_t lock;29,853 -static unsigned long tmr2ticks(31,878 -void reprogram_timer(45,1199 -void sound_timer_syncinterval(68,1639 -static void tmr_reset(80,1918 -static int timer_open(94,2171 -static void timer_close(106,2345 -static int timer_event(112,2439 -static unsigned long timer_get_time(173,3433 -static int timer_ioctl(180,3529 -static void timer_arm(255,4791 -static struct sound_timer_operations sound_timer 266,4991 -void sound_timer_interrupt(280,5319 -void sound_timer_init(304,5701 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/awe_wave.c,15688 -#define DEBUG(DEBUG52,1332 -#define ERRMSG(ERRMSG53,1402 -#define FATALERR(FATALERR54,1463 -#define DEBUG(DEBUG56,1495 -#define ERRMSG(ERRMSG57,1523 -#define FATALERR(FATALERR58,1547 -typedef struct _sf_list sf_list;sf_list65,1614 -typedef struct _awe_voice_list awe_voice_list;awe_voice_list66,1647 -typedef struct _awe_sample_list awe_sample_list;awe_sample_list67,1694 -struct _sf_list _sf_list70,1767 -struct _awe_voice_list _awe_voice_list86,2310 -#define V_ST_NORMAL 97,2746 -#define V_ST_MAPPED 98,2768 -struct _awe_sample_list _awe_sample_list101,2809 -static int current_sf_id;108,3031 -static int locked_sf_id;109,3087 -static sf_list *sfhead,110,3134 -static sf_list *sfhead, *sftail;110,3134 -#define awe_free_mem_ptr(awe_free_mem_ptr112,3187 -#define awe_free_info(awe_free_info113,3245 -#define awe_free_sample(awe_free_sample114,3301 -#define AWE_MAX_PRESETS 116,3362 -#define AWE_DEFAULT_PRESET 117,3391 -#define AWE_DEFAULT_BANK 118,3420 -#define AWE_DEFAULT_DRUM 119,3447 -#define AWE_DRUM_BANK 120,3474 -#define MAX_LAYERS 122,3502 -static awe_voice_list *preset_table[125,3562 -typedef struct FX_Rec FX_Rec132,3660 -} FX_Rec;FX_Rec135,3764 -typedef struct _awe_chan_info _awe_chan_info139,3801 -} awe_chan_info;awe_chan_info152,4337 -typedef struct _voice_info _voice_info155,4378 -#define AWE_ST_OFF 157,4419 -#define AWE_ST_ON 158,4461 -#define AWE_ST_STANDBY 159,4501 -#define AWE_ST_SUSTAINED 160,4559 -#define AWE_ST_MARK 161,4607 -#define AWE_ST_DRAM 162,4663 -#define AWE_ST_FM 163,4713 -#define AWE_ST_RELEASED 164,4761 -} voice_info;voice_info183,5378 -static voice_info voices[186,5417 -#define IS_NO_SOUND(IS_NO_SOUND188,5460 -#define IS_NO_EFFECT(IS_NO_EFFECT189,5564 -#define IS_PLAYING(IS_PLAYING190,5619 -#define IS_EMPTY(IS_EMPTY191,5706 -static awe_chan_info channels[195,5851 -#define AWE_DEFAULT_BASE_ADDR 203,5960 -#define AWE_DEFAULT_MEM_SIZE 207,6046 -int io 210,6103 -int memsize 211,6162 -static int isapnp 213,6244 -static int isapnp;215,6274 -static int awe_mem_start 230,6692 -static int awe_max_voices 233,6772 -static int patch_opened;235,6817 -static char atten_relative 237,6873 -static short atten_offset;238,6909 -static int awe_present 240,6937 -static int awe_busy 241,6996 -static int my_dev 243,7052 -#define DEFAULT_DRUM_FLAGS 245,7077 -#define IS_DRUM_CHANNEL(IS_DRUM_CHANNEL246,7127 -#define DRUM_CHANNEL_ON(DRUM_CHANNEL_ON247,7180 -#define DRUM_CHANNEL_OFF(DRUM_CHANNEL_OFF248,7234 -static unsigned int drum_flags 249,7290 -static int playing_mode 251,7364 -#define SINGLE_LAYER_MODE(SINGLE_LAYER_MODE252,7409 -#define MULTI_LAYER_MODE(MULTI_LAYER_MODE253,7508 -static int current_alloc_time;255,7604 -static struct synth_info awe_info 257,7684 -static struct voice_alloc_info *voice_alloc;269,7979 -typedef void (*fx_affect_func)fx_affect_func313,9478 -#define awe_key_pressure(awe_key_pressure356,11591 -#define limitvalue(limitvalue444,15764 -#define DEF_VOLUME_CALC 452,15911 -#define DEF_VOLUME_CALC 454,15946 -#define DEF_ZERO_ATTEN 457,16001 -#define DEF_MOD_SENSE 458,16045 -#define DEF_CHORUS_MODE 459,16071 -#define DEF_REVERB_MODE 460,16098 -#define DEF_BASS_LEVEL 461,16125 -#define DEF_TREBLE_LEVEL 462,16151 -static struct CtrlParmsDef CtrlParmsDef464,16179 -} ctrl_parms[468,16264 -static int ctrls[491,17309 -static struct synth_operations awe_operations 498,17374 -static void free_tables(524,18023 -awe_reset_samples(541,18242 -static int awe_ports[558,18489 -static int port_setuped 559,18514 -static int awe_cur_cmd 560,18547 -#define awe_set_cmd(awe_set_cmd561,18576 -awe_poke(566,18717 -awe_poke_dw(574,18877 -awe_peek(584,19159 -awe_peek_dw(594,19332 -awe_wait(608,19658 -static void awe_wait(630,20123 -#define awe_write_dram(awe_write_dram644,20432 -awe_init_voice_info(652,20562 -awe_init_voice_parm(689,21247 -freq_to_note(725,21884 -calc_rate_offset(781,22940 -static short attack_time_tbl[815,23596 -static short decay_time_tbl[826,24216 -#define calc_parm_delay(calc_parm_delay837,24907 -calc_parm_hold(841,25017 -calc_parm_attack(851,25199 -calc_parm_decay(858,25340 -calc_parm_search(865,25493 -#define FX_FLAG_OFF 885,25804 -#define FX_FLAG_SET 886,25826 -#define FX_FLAG_ADD 887,25848 -#define FX_SET(FX_SET889,25871 -#define FX_ADD(FX_ADD891,25968 -#define FX_UNSET(FX_UNSET893,26065 -#define FX_ON(FX_ON897,26189 -#define PARM_BYTE 899,26235 -#define PARM_WORD 900,26255 -#define PARM_SIGN 901,26275 -static struct PARM_DEFS PARM_DEFS903,26296 -} parm_defs[907,26444 -FX_BYTE(951,28229 -FX_WORD(981,28924 -FX_COMB(1003,29494 -FX_OFFSET(1014,29782 -static unsigned short voltarget[1037,30247 -awe_note_on(1043,30437 -awe_note_off(1197,35271 -awe_terminate(1222,35990 -awe_exclusive_off(1231,36201 -awe_set_pitch(1259,36812 -awe_set_voice_pitch(1268,37056 -awe_set_volume(1276,37200 -awe_set_voice_vol(1299,37842 -awe_set_pan(1310,38040 -awe_fx_fmmod(1355,39292 -awe_fx_tremfrq(1373,39805 -awe_fx_fm2frq2(1391,40312 -awe_fx_filterQ(1410,40832 -awe_calc_pitch(1436,41484 -awe_calc_pitch_from_freq(1490,43209 -static int vol_table[1534,44420 -static unsigned char voltab1[1546,44860 -static unsigned char voltab2[1562,45708 -static unsigned char expressiontab[1578,46556 -awe_calc_volume(1595,47422 -awe_change_master_volume(1661,49105 -static void awe_update_volume(1670,49297 -static void awe_sostenuto_on(1678,49437 -static void awe_sustain_off(1686,49591 -static void awe_terminate_and_init(1697,49824 -#define AWE_VOICE_KEY(AWE_VOICE_KEY1709,50009 -#define AWE_CHAN_KEY(AWE_CHAN_KEY1710,50049 -#define KEY_CHAN_MATCH(KEY_CHAN_MATCH1711,50100 -awe_voice_init(1715,50192 -static void awe_fx_init(1750,50841 -static void awe_channel_init(1759,51094 -static void awe_voice_change(1789,51828 -awe_open(1818,52374 -awe_close(1845,52786 -awe_init_ctrl_parms(1855,52900 -awe_ioctl(1868,53111 -static int voice_in_range(1904,53781 -static void release_voice(1916,54014 -static void awe_note_off_all(1931,54373 -awe_kill_note(1942,54577 -static void start_or_volume_change(1976,55259 -static void set_and_start_voice(1986,55527 -awe_start_note(2001,55906 -awe_search_key(2081,57799 -awe_search_instr(2101,58121 -awe_set_instr_2(2124,58642 -awe_set_instr(2136,58971 -awe_reset(2156,59375 -awe_hw_control(2180,59962 -awe_hw_gus_control(2196,60308 -awe_hw_awe_control(2283,61904 -awe_send_effect(2405,64374 -awe_modwheel_change(2443,65242 -awe_aftertouch(2459,65602 -awe_controller(2482,66075 -awe_panning(2600,69244 -awe_volume_method(2623,69727 -awe_bender(2632,69895 -awe_load_patch(2659,70463 -awe_create_sf(2743,72516 -#define ASC_TO_KEY(ASC_TO_KEY2800,73840 -static int is_shared_sf(2801,73878 -static int is_identical_name(2813,74168 -static int info_duplicated(2822,74398 -awe_free_sf(2846,74959 -awe_open_patch(2868,75315 -check_patch_opened(2901,76146 -awe_close_patch(2916,76460 -awe_unload_patch(2932,76797 -alloc_new_info(2943,77070 -alloc_new_sample(2957,77370 -awe_load_map(2971,77643 -awe_probe_info(3022,78925 -awe_probe_data(3057,79844 -remove_info(3073,80210 -awe_load_info(3103,80780 -awe_remove_info(3191,82917 -awe_load_data(3211,83381 -awe_replace_data(3263,84606 -static const char __user *readbuf_addr;3325,86257 -static int readbuf_offs;3326,86297 -static int readbuf_flags;3327,86322 -readbuf_init(3331,86389 -readbuf_word(3341,86614 -#define readbuf_word_cache 3357,87073 -#define readbuf_end(readbuf_end3358,87113 -#define BLANK_LOOP_START 3362,87212 -#define BLANK_LOOP_END 3363,87239 -#define BLANK_LOOP_SIZE 3364,87266 -awe_write_wave_data(3368,87366 -calc_gus_envelope_time(3465,89756 -#define calc_gus_sustain(calc_gus_sustain3479,90009 -#define calc_gus_attenuation(calc_gus_attenuation3480,90068 -awe_load_guspatch(3484,90154 -static void add_sf_info(3643,95090 -static void add_sf_sample(3659,95398 -static void purge_old_list(3675,95751 -static void add_info_list(3699,96416 -awe_remove_samples(3732,97215 -static void rebuild_preset_list(3766,97749 -static int is_identical_holder(3780,98019 -search_sample_index(3807,98676 -awe_set_sample(3835,99201 -awe_search_multi_voices(3864,99760 -really_alloc_voices(3893,100438 -awe_alloc_multi_voices(3939,101802 -awe_clear_voice(3981,102903 - OFF=3984,102935 - OFF=0, RELEASED,3984,102935 - OFF=0, RELEASED, SUSTAINED,3984,102935 - OFF=0, RELEASED, SUSTAINED, PLAYING,3984,102935 - OFF=0, RELEASED, SUSTAINED, PLAYING, END3984,102935 - struct voice_candidate_t voice_candidate_t3986,102982 -awe_alloc_one_voice(4041,104333 -awe_alloc(4070,105040 -awe_setup_voice(4080,105267 -static int my_mixerdev 4117,106412 -static struct mixer_operations awe_mixer_operations 4119,106442 -static void __init attach_mixer(4126,106594 -static void unload_mixer(4133,106743 -awe_mixer_ioctl(4140,106851 -awe_init_audio(4217,108575 -awe_init_dma(4257,109527 -static unsigned short init1[4268,109704 -static unsigned short init2[4290,110820 -static unsigned short init3[4312,111904 -static unsigned short init4[4334,112988 -awe_init_array(4359,114130 -awe_send_array(4373,114408 -awe_tweak_voice(4396,114921 -awe_tweak(4415,115533 -awe_init_fm(4430,115765 -awe_open_dram_for_write(4482,117258 -awe_open_dram_for_check(4541,118880 -awe_close_dram(4563,119411 -#define UNIQUE_ID1 4588,119872 -#define UNIQUE_ID2 4589,119898 -#define UNIQUE_ID3 4590,119924 -awe_check_dram(4593,119970 -static char chorus_defined[4652,121532 -static awe_chorus_fx_rec chorus_parm[4653,121580 -awe_load_chorus_fx(4665,122200 -awe_set_chorus_mode(4683,122808 -awe_update_chorus_mode(4698,123329 -static char reverb_defined[4708,123613 -static awe_reverb_fx_rec reverb_parm[4709,123661 -static struct ReverbCmdPair ReverbCmdPair4760,125723 -} reverb_cmds[4762,125780 -awe_load_reverb_fx(4773,126363 -awe_set_reverb_mode(4791,126971 -awe_update_reverb_mode(4803,127269 -static unsigned short bass_parm[4812,127393 -static unsigned short treble_parm[4827,127903 -awe_equalizer(4847,128982 -static void awe_update_equalizer(4868,129788 -enum { Q_NONE,4887,130082 -enum { Q_NONE, Q_VARLEN,4887,130082 -enum { Q_NONE, Q_VARLEN, Q_READ,4887,130082 -enum { Q_NONE, Q_VARLEN, Q_READ, Q_SYSEX,4887,130082 -#define MAX_MIDIBUF 4889,130128 -typedef struct MidiStatus MidiStatus4892,130170 -} MidiStatus;MidiStatus4899,130385 -enum { MODE_GM,4902,130421 -enum { MODE_GM, MODE_GS,4902,130421 -enum { MODE_GM, MODE_GS, MODE_XG,4902,130421 -} ConvTable;ConvTable4909,130591 -#define numberof(numberof4943,132022 -static struct midi_operations awe_midi_operations 4950,132109 -static int my_mididev 4961,132404 -static void __init attach_midiemu(4963,132433 -static void unload_midiemu(4971,132633 -static int midi_opened 4982,132764 -static int midi_mode;4984,132797 -static int coarsetune,4985,132819 -static int coarsetune, finetune;4985,132819 -static int xg_mapping 4987,132853 -static int xg_bankmode;4988,132883 -#define FX_CUTOFF 4992,132934 -#define FX_RESONANCE 4993,132954 -#define FX_ATTACK 4994,132977 -#define FX_RELEASE 4995,132997 -#define FX_VIBRATE 4996,133018 -#define FX_VIBDEPTH 4997,133039 -#define FX_VIBDELAY 4998,133061 -#define FX_NUMS 4999,133083 -#define DEF_FX_CUTOFF 5001,133103 -#define DEF_FX_RESONANCE 5002,133130 -#define DEF_FX_ATTACK 5003,133157 -#define DEF_FX_RELEASE 5004,133183 -#define DEF_FX_VIBRATE 5005,133210 -#define DEF_FX_VIBDEPTH 5006,133237 -#define DEF_FX_VIBDELAY 5007,133264 -static int gs_sense[5010,133315 -static int xg_sense[5015,133460 -static MidiStatus curst;5023,133628 -awe_midi_open 5027,133666 -awe_midi_close 5051,134044 -awe_midi_ioctl 5058,134108 -awe_midi_outputc 5064,134197 -static void init_midi_status(5081,134425 -#define MAX_MIDI_CHANNELS 5093,134544 -static unsigned char nrpn[5096,134591 -static int msb_bit;5097,134667 -static unsigned char rpn_msb[5099,134753 -static unsigned char rpn_msb[MAX_MIDI_CHANNELS], rpn_lsb[5099,134753 -static int rpn_val[5101,134854 -static void clear_rpn(5103,134894 -typedef void (*StatusEvent)StatusEvent5121,135124 -static struct StatusEventList StatusEventList5122,135169 -} status_event[5125,135234 -static void get_midi_char(5138,135489 -static void special_event(5169,136088 -static void queue_varlen(5190,136473 -static void queue_read(5208,136724 -static void midi_note_on(5232,137202 -static void midi_note_off(5242,137449 -static void midi_key_pressure(5249,137658 -static void midi_channel_pressure(5255,137795 -static void midi_pitch_wheel(5262,137964 -static void midi_program_change(5269,138113 -#define send_effect(send_effect5281,138417 -#define add_effect(add_effect5282,138486 -#define unset_effect(unset_effect5283,138561 -static void midi_control_change(5286,138659 -static void midi_select_bank(5360,140144 -static void midi_rpn_event(5395,140995 -static void midi_detune(5432,141846 -static void midi_system_exclusive(5450,142184 -static int send_converted_effect(5549,144537 -static int add_converted_effect(5562,144852 -#define fx_env1_delay 5590,145597 -#define fx_env1_attack 5591,145649 -#define fx_env1_hold 5592,145703 -#define fx_env1_decay 5593,145754 -#define fx_env1_release 5594,145806 -#define fx_env1_sustain 5595,145860 -#define fx_env1_pitch 5596,145918 -#define fx_env1_cutoff 5597,145981 -#define fx_env2_delay 5599,146046 -#define fx_env2_attack 5600,146098 -#define fx_env2_hold 5601,146152 -#define fx_env2_decay 5602,146203 -#define fx_env2_release 5603,146255 -#define fx_env2_sustain 5604,146309 -#define fx_lfo1_delay 5606,146368 -#define fx_lfo1_freq 5607,146420 -#define fx_lfo1_volume 5608,146476 -#define fx_lfo1_pitch 5609,146537 -#define fx_lfo1_cutoff 5610,146600 -#define fx_lfo2_delay 5612,146665 -#define fx_lfo2_freq 5613,146717 -#define fx_lfo2_pitch 5614,146773 -#define fx_init_pitch 5616,146837 -#define fx_chorus 5617,146898 -#define fx_reverb 5618,146946 -#define fx_cutoff 5619,146994 -#define fx_filterQ 5620,147046 -static unsigned short fx_delay(5622,147093 -static unsigned short fx_attack(5627,147184 -static unsigned short fx_hold(5632,147277 -static unsigned short fx_decay(5637,147366 -static unsigned short fx_the_value(5642,147457 -static unsigned short fx_twice_value(5647,147544 -static unsigned short fx_conv_pitch(5652,147639 -static unsigned short fx_conv_Q(5657,147725 -static ConvTable awe_effects[5663,147816 -static int num_awe_effects 5697,148955 -static unsigned short gs_cutoff(5705,149107 -static unsigned short gs_filterQ(5711,149230 -static unsigned short gs_attack(5717,149341 -static unsigned short gs_decay(5723,149448 -static unsigned short gs_release(5729,149557 -static unsigned short gs_vib_rate(5735,149695 -static unsigned short gs_vib_depth(5741,149830 -static unsigned short gs_vib_delay(5747,149965 -static ConvTable gs_effects[5752,150064 -static int num_gs_effects 5764,150403 -static void midi_nrpn_event(5771,150518 -static unsigned short xg_cutoff(5792,151097 -static unsigned short xg_filterQ(5798,151233 -static unsigned short xg_attack(5804,151344 -static unsigned short xg_release(5810,151453 -static ConvTable xg_effects[5815,151549 -static int num_xg_effects 5823,151733 -static int xg_control_change(5825,151784 -awe_initialize(5841,152083 -static void setup_ports(5890,152973 -awe_request_region(5911,153336 -awe_release_region(5930,153757 -static int awe_attach_device(5938,153918 -static void awe_dettach_device(5984,154871 -awe_detect_base(6009,155283 -static int __init awe_detect_legacy_devices(6022,155579 -static struct pnp_device_id awe_pnp_ids[6039,155862 -static int awe_pnp_probe(6048,156159 -static void awe_pnp_remove(6073,156832 -static struct pnp_driver awe_pnp_driver 6078,156908 -static int __init awe_detect_pnp_devices(6085,157055 -awe_detect(6101,157314 -int __init attach_awe(6116,157578 -void __exit unload_awe(6121,157647 -static int __init setup_awe(6132,157812 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/msnd.c,684 -#define LOGNAME 42,1370 -#define MSND_MAX_DEVS 44,1396 -static multisound_dev_t *devs[46,1422 -static int num_devs;47,1469 -int __init msnd_register(49,1493 -void msnd_unregister(65,1710 -void msnd_init_queue(82,1976 -void msnd_fifo_init(90,2222 -void msnd_fifo_free(95,2278 -int msnd_fifo_alloc(103,2372 -void msnd_fifo_make_empty(118,2570 -int msnd_fifo_write(123,2648 -int msnd_fifo_read(154,3221 -static int msnd_wait_TXDE(185,3745 -static int msnd_wait_HC0(197,3963 -int msnd_send_dsp_cmd(209,4177 -int msnd_send_word(226,4547 -int msnd_upload_host(243,4911 -int msnd_enable_irq(262,5289 -int msnd_disable_irq(290,6078 -int init_module(345,7389 -void cleanup_module(350,7427 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sscape.c,3811 -#define MIDI_DATA 52,1249 -#define MIDI_CTRL 53,1275 -#define HOST_CTRL 54,1301 -#define TX_READY 55,1327 -#define RX_READY 56,1349 -#define HOST_DATA 57,1371 -#define ODIE_ADDR 58,1397 -#define ODIE_DATA 59,1423 -#define GA_INTSTAT_REG 65,1483 -#define GA_INTENA_REG 66,1508 -#define GA_DMAA_REG 67,1532 -#define GA_DMAB_REG 68,1554 -#define GA_INTCFG_REG 69,1576 -#define GA_DMACFG_REG 70,1600 -#define GA_CDCFG_REG 71,1624 -#define GA_SMCFGA_REG 72,1647 -#define GA_SMCFGB_REG 73,1671 -#define GA_HMCTL_REG 74,1695 -#define SSCAPE_DMA_A 80,1764 -#define SSCAPE_DMA_B 81,1787 -#define PORT(PORT83,1811 -#define CMD_GEN_HOST_ACK 89,1907 -#define CMD_GEN_MPU_ACK 90,1937 -#define CMD_GET_BOARD_TYPE 91,1967 -#define CMD_SET_CONTROL 92,1999 -#define CMD_GET_CONTROL 93,2053 -#define CTL_MASTER_VOL 94,2107 -#define CTL_MIC_MODE 95,2133 -#define CTL_SYNTH_VOL 96,2157 -#define CTL_WAVE_VOL 97,2182 -#define CMD_SET_EXTMIDI 98,2206 -#define CMD_GET_EXTMIDI 99,2236 -#define CMD_SET_MT32 100,2266 -#define CMD_GET_MT32 101,2293 -#define CMD_ACK 103,2321 -#define IC_ODIE 105,2345 -#define IC_OPUS 106,2365 -typedef struct sscape_infosscape_info108,2386 -} sscape_info;sscape_info126,2766 -static struct sscape_info adev_info 128,2782 -static struct sscape_info *devc 132,2829 -static int sscape_mididev 133,2875 -static char valid_interrupts_old[136,2986 -static char valid_interrupts_new[140,3042 -static char *valid_interrupts 144,3098 -static char old_hardware 151,3244 -static char old_hardware;153,3280 -static void sleep(156,3314 -static unsigned char sscape_read(162,3421 -static void __sscape_write(174,3691 -static void sscape_write(180,3801 -static unsigned char sscape_pnp_read_codec(189,4010 -static void sscape_pnp_write_codec(202,4296 -static void host_open(212,4562 -static void host_close(217,4684 -static int host_write(222,4807 -static int host_read(249,5353 -static int host_command1(275,5835 -static int host_command2(284,6019 -static int host_command3(294,6237 -static void set_mt32(304,6507 -static void set_control(315,6754 -static void do_dma(326,7025 -static int verify_mpu(349,7731 -static int sscape_coproc_open(375,8370 -static void sscape_coproc_close(386,8546 -static void sscape_coproc_reset(401,8893 -static int sscape_download_boot(405,8946 -static int download_boot_block(550,12241 -static int sscape_coproc_ioctl(563,12561 -static coproc_operations sscape_coproc_operations 592,13114 -static struct resource *sscape_ports;603,13305 -static int sscape_is_pnp;604,13343 -static void __init attach_sscape(606,13370 -#define SSCAPE_REGS 622,14053 -static int detect_ga(719,16821 -static int sscape_read_host_ctrl(773,17982 -static void sscape_write_host_ctrl2(778,18064 -static int sscape_alloc_dma(783,18166 -static void sscape_free_dma(830,19736 -static int sscape_start_dma(850,20267 -static void sscape_pnp_start_dma(865,20597 -static int sscape_pnp_wait_dma 875,20830 -static int sscape_pnp_alloc_dma(895,21144 -static void sscape_pnp_free_dma(907,21448 -static int sscape_pnp_upload_file(914,21606 -static void __init sscape_pnp_init_hw(988,23430 -static int __init detect_sscape_pnp(1110,27185 -static int __init probe_sscape(1219,29833 -static int __init init_ss_ms_sound(1272,30943 -static void __exit unload_sscape(1374,33306 -static void __exit unload_ss_ms_sound(1382,33493 -static struct address_info cfg;1392,33722 -static struct address_info cfg_mpu;1393,33754 -static int __initdata spea 1395,33791 -static int __initdata mss 1396,33824 -static int __initdata dma 1397,33855 -static int __initdata irq 1398,33887 -static int __initdata io 1399,33919 -static int __initdata mpu_irq 1400,33950 -static int __initdata mpu_io 1401,33986 -static int __init init_sscape(1411,34228 -static void __exit cleanup_sscape(1456,35218 -static int __init setup_sscape(1467,35398 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_audio.c,1834 -int sb_audio_open(34,790 -void sb_audio_close(97,2691 -static void sb_set_output_parms(128,3592 -static void sb_set_input_parms(149,4053 -static void sb1_audio_output_block(173,4534 -static void sb1_audio_start_input(199,5241 -static void sb1_audio_trigger(230,6008 -static int sb1_audio_prepare_for_input(256,6507 -static int sb1_audio_prepare_for_output(271,6878 -static int sb1_audio_set_speed(285,7248 -static short sb1_audio_set_channels(311,7715 -static unsigned int sb1_audio_set_bits(317,7849 -static void sb1_audio_halt_xfer(323,7992 -static void sb20_audio_output_block(337,8257 -static void sb20_audio_start_input(373,9228 -static void sb20_audio_trigger(412,10287 -static int sb201_audio_set_speed(441,10830 -static int sbpro_audio_prepare_for_input(468,11359 -static int sbpro_audio_prepare_for_output(496,12222 -static int sbpro_audio_set_speed(538,13386 -static short sbpro_audio_set_channels(555,13702 -static int jazz16_audio_set_speed(571,14051 -static int sb16_audio_set_speed(599,14517 -static unsigned int sb16_audio_set_bits(617,14833 -static int sb16_audio_prepare_for_input(632,15090 -static int sb16_audio_prepare_for_output(658,15651 -static void sb16_audio_output_block(684,16213 -static void sb16_audio_start_input(742,17832 -static void sb16_audio_trigger(780,18846 -static unsigned char lbuf8[834,19837 -static signed short *lbuf16 835,19871 -#define LBUFCOPYSIZE 836,19924 -sb16_copy_from_user(838,19962 -sb16_audio_mmap(923,22323 -static struct audio_driver sb1_audio_driver 929,22422 -static struct audio_driver sb20_audio_driver 945,22922 -static struct audio_driver sb201_audio_driver 961,23424 -static struct audio_driver sbpro_audio_driver 977,23931 -static struct audio_driver jazz16_audio_driver 993,24444 -static struct audio_driver sb16_audio_driver 1009,24971 -void sb_audio_init(1027,25542 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/harmony.c,4790 -#define PFX 44,1269 -#define HARMONY_VERSION 45,1293 -# define DPRINTK 49,1352 -# define DPRINTK(DPRINTK51,1383 -#define MAX_BUFS 55,1416 -#define HARMONY_BUF_SIZE 56,1478 -#define CNTL_C 58,1559 -#define CNTL_ST 59,1586 -#define CNTL_44100 60,1614 -#define CNTL_8000 61,1667 -#define GAINCTL_HE 63,1719 -#define GAINCTL_LE 64,1749 -#define GAINCTL_SE 65,1779 -#define DSTATUS_PN 67,1810 -#define DSTATUS_RN 68,1840 -#define DSTATUS_IE 70,1871 -#define HARMONY_DF_16BIT_LINEAR 72,1902 -#define HARMONY_DF_8BIT_ULAW 73,1936 -#define HARMONY_DF_8BIT_ALAW 74,1967 -#define HARMONY_SS_MONO 76,1999 -#define HARMONY_SS_STEREO 77,2026 -#define HARMONY_SR_8KHZ 79,2055 -#define HARMONY_SR_16KHZ 80,2085 -#define HARMONY_SR_27KHZ 81,2115 -#define HARMONY_SR_32KHZ 82,2145 -#define HARMONY_SR_48KHZ 83,2175 -#define HARMONY_SR_9KHZ 84,2205 -#define HARMONY_SR_5KHZ 85,2235 -#define HARMONY_SR_11KHZ 86,2265 -#define HARMONY_SR_18KHZ 87,2295 -#define HARMONY_SR_22KHZ 88,2325 -#define HARMONY_SR_37KHZ 89,2355 -#define HARMONY_SR_44KHZ 90,2385 -#define HARMONY_SR_33KHZ 91,2415 -#define HARMONY_SR_6KHZ 92,2445 -#define HARMONY_MAGIC_8B_ULAW 98,2540 -#define HARMONY_MAGIC_8B_ALAW 99,2572 -#define HARMONY_MAGIC_16B_LINEAR 100,2605 -#define HARMONY_MAGIC_MONO 101,2640 -#define HARMONY_MAGIC_STEREO 102,2669 -#define GAIN_HE_SHIFT 108,2749 -#define GAIN_HE_MASK 109,2776 -#define GAIN_LE_SHIFT 110,2823 -#define GAIN_LE_MASK 111,2850 -#define GAIN_SE_SHIFT 112,2897 -#define GAIN_SE_MASK 113,2924 -#define GAIN_IS_SHIFT 114,2971 -#define GAIN_IS_MASK 115,2998 -#define GAIN_MA_SHIFT 116,3045 -#define GAIN_MA_MASK 117,3072 -#define GAIN_LI_SHIFT 118,3122 -#define GAIN_LI_MASK 119,3149 -#define GAIN_RI_SHIFT 120,3199 -#define GAIN_RI_MASK 121,3226 -#define GAIN_LO_SHIFT 122,3276 -#define GAIN_LO_MASK 123,3302 -#define GAIN_RO_SHIFT 124,3352 -#define GAIN_RO_MASK 125,3378 -#define MAX_OUTPUT_LEVEL 128,3430 -#define MAX_INPUT_LEVEL 129,3488 -#define MAX_MONITOR_LEVEL 130,3546 -#define MIXER_INTERNAL 132,3605 -#define MIXER_LINEOUT 133,3648 -#define MIXER_HEADPHONES 134,3691 -#define MASK_INTERNAL 136,3735 -#define MASK_LINEOUT 137,3776 -#define MASK_HEADPHONES 138,3817 -#define GAIN_TOTAL_SILENCE 144,3902 -#define GAIN_DEFAULT 145,3940 -struct harmony_hpa harmony_hpa148,3980 -struct harmony_dev harmony_dev168,4233 -static struct harmony_dev harmony;196,4947 -struct harmony_buffer harmony_buffer203,5042 -static struct harmony_buffer played_buf,214,5229 -static struct harmony_buffer played_buf, recorded_buf,214,5229 -static struct harmony_buffer played_buf, recorded_buf, silent,214,5229 -static struct harmony_buffer played_buf, recorded_buf, silent, graveyard;214,5229 -#define CHECK_WBACK_INV_OFFSET(CHECK_WBACK_INV_OFFSET217,5305 -static int __init harmony_alloc_buffer(223,5464 -static void __exit harmony_free_buffer(246,6164 -static void __inline__ harmony_wait_CNTL(266,6456 -static void harmony_update_control(274,6616 -static void harmony_set_control(289,7009 -static void harmony_set_rate(297,7236 -static int harmony_detect_rate(303,7346 -static void harmony_set_format(327,8186 -static void harmony_set_stereo(333,8302 -static void harmony_disable_interrupts(339,8424 -static void harmony_enable_interrupts(345,8537 -static void harmony_silence(360,8858 -static int harmony_audio_open(377,9333 -static int harmony_audio_release(407,10250 -static ssize_t harmony_audio_read(421,10463 -#define four_bytes_to_u32(four_bytes_to_u32479,11879 -#define test_rate(test_rate484,12129 -static int harmony_format_auto_detect(487,12263 -static ssize_t harmony_audio_write(546,13680 -static unsigned int harmony_audio_poll(617,15815 -static int harmony_audio_ioctl(639,16351 -static irqreturn_t harmony_interrupt(775,19987 -static struct file_operations harmony_audio_fops 845,22017 -static int harmony_audio_init(856,22310 -static void harmony_mixer_set_gain(891,23226 -#define to_harmony_level(to_harmony_level904,23584 -#define to_oss_level(to_oss_level905,23638 -static int harmony_mixer_get_level(907,23689 -static int harmony_mixer_set_level(943,24863 -static int harmony_mixer_get_recmask(994,26763 -static int harmony_mixer_set_recmask(1010,27078 -static int harmony_mixer_get_outmask(1037,27797 -static int harmony_mixer_set_outmask(1049,28090 -static int harmony_mixer_ioctl(1075,28657 -static int harmony_mixer_open(1157,30680 -static int harmony_mixer_release(1165,30834 -static struct file_operations harmony_mixer_fops 1173,30992 -static void __init harmony_mixer_reset(1186,31244 -static int __init harmony_mixer_init(1198,31557 -harmony_driver_probe(1220,32048 -static struct parisc_device_id harmony_tbl[1290,33661 -static struct parisc_driver harmony_driver 1300,34102 -static int __init init_harmony(1306,34238 -static void __exit cleanup_harmony(1311,34329 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs461x_image.h,281 -#define __CS_IMAGE_H8,292 -#define CLEAR__COUNT 10,314 -#define FILL__COUNT 11,341 -#define BA1__DWORD_SIZE 12,368 -} ClrStat[18,494 -static u32 FillArray1[22,659 -static u32 FillArray2[77,3072 -static u32 FillArray3[106,4315 -static u32 FillArray4[109,4388 -} FillStat[314,13431 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/pas2.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/swarm_cs4297a.c,3402 -#define CS4297a_MAGIC 101,4120 -#define CSDEBUG 116,4720 -#define CSDEBUG_INTERFACE 118,4750 -#define CS_INIT 125,4844 -#define CS_ERROR 126,4911 -#define CS_INTERRUPT 127,4973 -#define CS_FUNCTION 128,5052 -#define CS_WAVE_WRITE 129,5109 -#define CS_WAVE_READ 130,5173 -#define CS_AC97 131,5235 -#define CS_DESCR 132,5299 -#define CS_OPEN 133,5364 -#define CS_RELEASE 134,5428 -#define CS_PARMS 135,5497 -#define CS_IOCTL 136,5566 -#define CS_TMP 137,5615 -#define CS_DBGOUT(CS_DBGOUT146,5913 -#define CS_DBGOUT(CS_DBGOUT148,6015 -static unsigned long cs_debuglevel 152,6067 -static unsigned long cs_debugmask 153,6132 -#define CS_TRUE 157,6264 -#define CS_FALSE 158,6283 -#define CS_TYPE_ADC 160,6304 -#define CS_TYPE_DAC 161,6326 -#define SER_BASE 163,6349 -#define SS_CSR(SS_CSR164,6392 -#define SS_TXTBL(SS_TXTBL165,6425 -#define SS_RXTBL(SS_RXTBL166,6482 -#define FRAME_BYTES 168,6540 -#define FRAME_SAMPLE_BYTES 169,6574 -#define SAMPLE_BUF_SIZE 172,6640 -#define SAMPLE_FRAME_COUNT 173,6681 -#define DMA_BLOAT_FACTOR 176,6833 -#define DMA_DESCR 177,6866 -#define DMA_BUF_SIZE 178,6937 -#define DMA_INT_CNT 181,7058 -#define REG_LATENCY 184,7191 -#define FRAME_TX_US 186,7227 -#define SERDMA_NEXTBUF(SERDMA_NEXTBUF188,7263 -static const char invalid_magic[190,7319 -#define VALIDATE_STATE(VALIDATE_STATE193,7404 -struct list_head cs4297a_devs 201,7726 -typedef struct serdma_descr_s serdma_descr_s203,7793 -} serdma_descr_t;serdma_descr_t206,7867 -typedef unsigned long paddr_t;paddr_t208,7886 -typedef struct serdma_s serdma_s210,7918 -} serdma_t;serdma_t251,9526 -struct cs4297a_state cs4297a_state253,9539 - struct properties properties283,10141 -#define prog_codec(prog_codec311,10854 -#define dealloc_dmabuf(dealloc_dmabuf312,10878 -static int prog_dmabuf_adc(315,10915 -static int prog_dmabuf_dac(322,11007 -static void clear_advance(328,11098 -#define SOUND_MIXER_CS_GETDBGLEVEL 347,11569 -#define SOUND_MIXER_CS_SETDBGLEVEL 348,11626 -#define SOUND_MIXER_CS_GETDBGMASK 349,11683 -#define SOUND_MIXER_CS_SETDBGMASK 350,11739 -static void cs_printioctl(352,11796 -static int ser_init(557,17658 -static int init_serdma(607,19690 -static int dma_init(657,21637 -static int serdma_reg_access(720,24117 -static int cs4297a_read_ac97(771,26118 -static int cs4297a_write_ac97(791,26875 -static void stop_dac(799,27196 -static void start_dac(818,27755 -static void stop_adc(843,28537 -static void start_adc(865,29099 -static void cs4297a_update_ptr(918,30657 -static int mixer_ioctl(1139,41463 -static int cs4297a_open_mixdev(1529,51482 -static int cs4297a_release_mixdev(1560,52211 -static int cs4297a_ioctl_mixdev(1570,52400 -static /*const */ struct file_operations cs4297a_mixer_fops 1581,52830 -static int drain_adc(1592,53121 -static int drain_dac(1601,53456 -static ssize_t cs4297a_read(1639,54805 -static ssize_t cs4297a_write(1762,59197 -static unsigned int cs4297a_poll(1880,63192 -static int cs4297a_mmap(1940,64940 -static int cs4297a_ioctl(1948,65098 -static int cs4297a_release(2340,76616 -static int cs4297a_open(2371,77474 -static /*const */ struct file_operations cs4297a_audio_fops 2492,81209 -static irqreturn_t cs4297a_interrupt(2504,81501 -static struct initvol initvol2558,83612 -} initvol[2561,83658 -} initvol[] __initdata 2561,83658 -static int __init cs4297a_init(2574,84025 -static void __exit cs4297a_cleanup(2705,88360 -EXPORT_NO_SYMBOLS;2721,88752 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ad1889.c,1999 -#define DBG(DBG49,1839 -#define DEVNAME 50,1883 -#define NR_HW_CH 52,1909 -#define DAC_RUNNING 53,1928 -#define ADC_RUNNING 54,1950 -#define UNDERRUN(UNDERRUN56,1973 -#define AD1889_READW(AD1889_READW58,2000 -#define AD1889_WRITEW(AD1889_WRITEW59,2056 -#define AD1889_READL(AD1889_READL60,2125 -#define AD1889_WRITEL(AD1889_WRITEL61,2181 -#define WAIT_10MS(WAIT_10MS65,2313 -static ad1889_dev_t *ad1889_dev 68,2450 -static inline void ad1889_set_wav_rate(71,2567 -static inline void ad1889_set_adc_rate(85,3010 -static inline void ad1889_set_wav_fmt(99,3453 -static inline void ad1889_set_adc_fmt(115,3834 -static void ad1889_start_wav(130,4174 -static void ad1889_stop_wav(184,5735 -static void ad1889_startstop_adc(220,6562 -static ad1889_dev_t *ad1889_alloc_dev(241,7037 -static void ad1889_free_dev(281,7964 -static inline void ad1889_trigger_playback(301,8288 -int ad1889_read_proc 311,8484 -static inline unsigned long ad1889_get_dma_addr(406,11686 -static void ad1889_update_ptr(424,12225 -static ssize_t ad1889_write(470,13237 -static unsigned int ad1889_poll(568,15463 -static int ad1889_mmap(622,16763 -static int ad1889_ioctl(627,16849 -static int ad1889_open(776,19945 -static int ad1889_release(790,20329 -static struct file_operations ad1889_fops 796,20448 -static int ad1889_mixer_open(809,20792 -static int ad1889_mixer_release(818,20999 -static int ad1889_mixer_ioctl(823,21087 -static struct file_operations ad1889_mixer_fops 830,21314 -static void ad1889_codec_write(839,21588 -static u16 ad1889_codec_read(847,21815 -static int ad1889_ac97_init(854,22024 -static int ad1889_aclink_reset(894,22837 -static struct pci_device_id ad1889_id_tbl[940,23952 -static irqreturn_t ad1889_interrupt(947,24168 -static void ad1889_initcfg(975,24850 -static int __devinit ad1889_probe(992,25294 -static void __devexit ad1889_remove(1066,27279 -static struct pci_driver ad1889_driver 1085,27761 -static int __init ad1889_init_module(1092,27920 -static void ad1889_exit_module(1097,28009 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/ecard.c,115 -static void ecard_setadcgain(48,2006 -static void ecard_write(82,3098 -void __devinit emu10k1_ecard_init(114,3856 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/icardmid.h,2465 -#define _ICARDMIDI_H33,1337 -#define MIDI_DATA_FIRST 36,1378 -#define MIDI_DATA_LAST 37,1423 -#define MIDI_STATUS_FIRST 38,1468 -#define MIDI_STATUS_LAST 39,1513 -#define MIDI_STATUS_CHANNEL_FIRST 42,1586 -#define MIDI_STATUS_CHANNEL_LAST 43,1631 -#define MIDI_STATUS_CHANNEL_MASK 44,1676 -#define MIDI_VOICE_NOTE_OFF 47,1751 -#define MIDI_VOICE_NOTE_ON 48,1796 -#define MIDI_VOICE_POLY_PRESSURE 49,1841 -#define MIDI_VOICE_CONTROL_CHANGE 50,1886 -#define MIDI_VOICE_PROGRAM_CHANGE 51,1931 -#define MIDI_VOICE_CHANNEL_PRESSURE 52,1976 -#define MIDI_VOICE_PITCH_BEND 53,2021 -#define MIDI_MODE_CHANNEL 56,2095 -#define MIDI_STATUS_SYSTEM_FIRST 59,2188 -#define MIDI_STATUS_SYSTEM_LAST 60,2233 -#define MIDI_SYSEX_BEGIN 63,2311 -#define MIDI_SYSEX_EOX 64,2356 -#define MIDI_COMMON_TCQF 67,2431 -#define MIDI_COMMON_SONG_POSITION 68,2507 -#define MIDI_COMMON_SONG_SELECT 69,2552 -#define MIDI_COMMON_UNDEFINED_F4 70,2597 -#define MIDI_COMMON_UNDEFINED_F5 71,2642 -#define MIDI_COMMON_TUNE_REQUEST 72,2687 -#define MIDI_RTIME_TIMING_CLOCK 75,2765 -#define MIDI_RTIME_UNDEFINED_F9 76,2810 -#define MIDI_RTIME_START 77,2855 -#define MIDI_RTIME_CONTINUE 78,2900 -#define MIDI_RTIME_STOP 79,2945 -#define MIDI_RTIME_UNDEFINED_FD 80,2990 -#define MIDI_RTIME_ACTIVE_SENSING 81,3035 -#define MIDI_RTIME_SYSTEM_RESET 82,3080 -#define MIDI_CACHE_ALL 85,3205 -#define MIDI_CACHE_BESTFIT 86,3247 -#define MIDI_CACHE_QUERY 87,3289 -#define MIDI_UNCACHE 88,3331 -#define ICARDMIDI_INLONGDATA 91,3421 -#define ICARDMIDI_INLONGERROR 92,3491 -#define ICARDMIDI_OUTLONGDATA 93,3562 -#define ICARDMIDI_INDATA 94,3647 -#define ICARDMIDI_INDATAERROR 95,3713 -#define MIDIBUF_DONE 99,3894 -#define MIDIBUF_INQUEUE 100,3945 -#define ICARDMIDI_OUTBUFFEROK 103,4051 -#define ICARDMIDI_INMIDIOK 104,4102 -#define MT_MIDIPORT 107,4207 -#define MT_FMSYNTH 108,4298 -#define MT_AWESYNTH 109,4389 -#define MT_PCISYNTH 110,4440 -#define MT_PCISYNTH64 111,4491 -#define CARDMIDI_AWEMASK 112,4542 -enum LocalErrorCodeLocalErrorCode114,4594 - CTSTATUS_NOTENABLED 116,4616 - CTSTATUS_NOTENABLED = 0x7000,116,4616 - CTSTATUS_READY,117,4654 - CTSTATUS_BUSY,118,4678 - CTSTATUS_DATAAVAIL,119,4701 - CTSTATUS_NODATA,120,4729 - CTSTATUS_NEXT_BYTE121,4754 -struct midi_hdrmidi_hdr125,4814 - MIDIOBJVOLUME 139,5216 - MIDIOBJVOLUME = 0x1,139,5216 - MIDIQUERYACTIVEINST140,5238 -struct midi_queuemidi_queue143,5263 -struct midi_openinfomidi_openinfo153,5443 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/8010.h,15522 -#define _8010_H40,1621 -#define MAJOR_VER 45,1683 -#define MINOR_VER 46,1703 -#define DRIVER_VERSION 47,1724 -#define PTR 56,2072 -#define PTR_CHANNELNUM_MASK 59,2244 -#define PTR_ADDRESS_MASK 63,2484 -#define DATA 65,2545 -#define IPR 67,2609 -#define A_IPR_MIDITRANSBUFEMPTY2 72,2866 -#define A_IPR_MIDIRECVBUFEMPTY2 73,2949 -#define IPR_SAMPLERATETRACKER 75,3031 -#define IPR_FXDSP 76,3117 -#define IPR_FORCEINT 77,3180 -#define IPR_PCIERROR 78,3250 -#define IPR_VOLINCR 79,3306 -#define IPR_VOLDECR 80,3377 -#define IPR_MUTE 81,3448 -#define IPR_MICBUFFULL 82,3506 -#define IPR_MICBUFHALFFULL 83,3572 -#define IPR_ADCBUFFULL 84,3646 -#define IPR_ADCBUFHALFFULL 85,3706 -#define IPR_EFXBUFFULL 86,3774 -#define IPR_EFXBUFHALFFULL 87,3838 -#define IPR_GPSPDIFSTATUSCHANGE 88,3909 -#define IPR_CDROMSTATUSCHANGE 89,3989 -#define IPR_INTERVALTIMER 90,4067 -#define IPR_MIDITRANSBUFEMPTY 91,4141 -#define IPR_MIDIRECVBUFEMPTY 92,4221 -#define IPR_CHANNELLOOP 93,4299 -#define IPR_CHANNELNUMBERMASK 94,4385 -#define A_IPR_MIDITRANSBUFEMPTY1 99,4680 -#define A_IPR_MIDIRECVBUFEMPTY1 100,4774 -#define INTE 104,4868 -#define INTE_VIRTUALSB_MASK 105,4923 -#define INTE_VIRTUALSB_220 106,5006 -#define INTE_VIRTUALSB_240 107,5090 -#define INTE_VIRTUALSB_260 108,5169 -#define INTE_VIRTUALSB_280 109,5248 -#define INTE_VIRTUALMPU_MASK 110,5327 -#define INTE_VIRTUALMPU_300 111,5404 -#define INTE_VIRTUALMPU_310 112,5489 -#define INTE_VIRTUALMPU_320 113,5569 -#define INTE_VIRTUALMPU_330 114,5649 -#define INTE_MASTERDMAENABLE 115,5729 -#define INTE_SLAVEDMAENABLE 116,5812 -#define INTE_MASTERPICENABLE 117,5893 -#define INTE_SLAVEPICENABLE 118,5976 -#define INTE_VSBENABLE 119,6057 -#define INTE_ADLIBENABLE 120,6128 -#define INTE_MPUENABLE 121,6208 -#define INTE_FORCEINT 122,6271 -#define INTE_MRHANDENABLE 124,6340 -#define A_INTE_MIDITXENABLE2 131,6693 -#define A_INTE_MIDIRXENABLE2 132,6784 -#define INTE_SAMPLERATETRACKER 135,6876 -#define INTE_FXDSPENABLE 137,7019 -#define INTE_PCIERRORENABLE 138,7088 -#define INTE_VOLINCRENABLE 139,7166 -#define INTE_VOLDECRENABLE 140,7252 -#define INTE_MUTEENABLE 141,7338 -#define INTE_MICBUFENABLE 142,7411 -#define INTE_ADCBUFENABLE 143,7491 -#define INTE_EFXBUFENABLE 144,7565 -#define INTE_GPSPDIFENABLE 145,7642 -#define INTE_CDSPDIFENABLE 146,7720 -#define INTE_INTERVALTIMERENB 147,7798 -#define INTE_MIDITXENABLE 148,7879 -#define INTE_MIDIRXENABLE 149,7967 -#define A_INTE_MIDITXENABLE1 152,8130 -#define A_INTE_MIDIRXENABLE1 153,8179 -#define WC 155,8227 -#define WC_SAMPLECOUNTER_MASK 156,8275 -#define WC_SAMPLECOUNTER 157,8358 -#define WC_CURRENTCHANNEL 158,8394 -#define HCFG 162,8572 -#define HCFG_LEGACYFUNC_MASK 167,8847 -#define HCFG_LEGACYFUNC_MPU 168,8919 -#define HCFG_LEGACYFUNC_SB 169,8980 -#define HCFG_LEGACYFUNC_AD 170,9038 -#define HCFG_LEGACYFUNC_MPIC 171,9096 -#define HCFG_LEGACYFUNC_MDMA 172,9158 -#define HCFG_LEGACYFUNC_SPCI 173,9220 -#define HCFG_LEGACYFUNC_SDMA 174,9282 -#define HCFG_IOCAPTUREADDR 175,9344 -#define HCFG_LEGACYWRITE 176,9428 -#define HCFG_LEGACYWORD 177,9494 -#define HCFG_LEGACYINT 178,9559 -#define HCFG_CODECFORMAT_MASK 181,9743 -#define HCFG_CODECFORMAT_AC97 182,9807 -#define HCFG_CODECFORMAT_I2S 183,9891 -#define HCFG_GPINPUT0 184,9981 -#define HCFG_GPINPUT1 185,10040 -#define HCFG_GPOUTPUT_MASK 187,10100 -#define HCFG_GPOUT0 188,10182 -#define HCFG_JOYENABLE 190,10260 -#define HCFG_PHASETRACKENABLE 191,10337 -#define HCFG_AC3ENABLE_MASK 194,10520 -#define HCFG_AC3ENABLE_ZVIDEO 195,10607 -#define HCFG_AC3ENABLE_CDSPDIF 196,10687 -#define HCFG_AC3ENABLE_GPSPDIF 197,10769 -#define HCFG_AUTOMUTE 198,10868 -#define HCFG_LOCKSOUNDCACHE 202,11094 -#define HCFG_LOCKTANKCACHE_MASK 204,11241 -#define HCFG_LOCKTANKCACHE 206,11391 -#define HCFG_MUTEBUTTONENABLE 207,11429 -#define HCFG_AUDIOENABLE 213,11780 -#define MUDATA 219,12007 -#define MUCMD 221,12075 -#define MUCMD_RESET 222,12141 -#define MUCMD_ENTERUARTMODE 223,12191 -#define MUSTAT 226,12308 -#define MUSTAT_IRDYN 227,12376 -#define MUSTAT_ORDYN 228,12441 -#define A_IOCFG 230,12516 -#define A_GPINPUT_MASK 231,12577 -#define A_GPOUTPUT_MASK 232,12608 -#define TIMER 234,12641 -#define TIMER_RATE_MASK 238,12872 -#define AC97DATA 241,13004 -#define AC97ADDRESS 243,13076 -#define AC97ADDRESS_READY 244,13152 -#define AC97ADDRESS_ADDRESS 245,13233 -#define CPF 251,13612 -#define CPF_CURRENTPITCH_MASK 252,13676 -#define CPF_CURRENTPITCH 253,13776 -#define CPF_STEREO_MASK 254,13812 -#define CPF_STOP_MASK 255,13902 -#define CPF_FRACADDRESS_MASK 256,13974 -#define PTRX 258,14070 -#define PTRX_PITCHTARGET_MASK 259,14141 -#define PTRX_PITCHTARGET 260,14224 -#define PTRX_FXSENDAMOUNT_A_MASK 261,14260 -#define PTRX_FXSENDAMOUNT_A 262,14363 -#define PTRX_FXSENDAMOUNT_B_MASK 263,14402 -#define PTRX_FXSENDAMOUNT_B 264,14505 -#define CVCF 266,14545 -#define CVCF_CURRENTVOL_MASK 267,14615 -#define CVCF_CURRENTVOL 268,14705 -#define CVCF_CURRENTFILTER_MASK 269,14741 -#define CVCF_CURRENTFILTER 270,14843 -#define VTFT 272,14882 -#define VTFT_VOLUMETARGET_MASK 273,14957 -#define VTFT_FILTERTARGET_MASK 274,15042 -#define Z1 276,15134 -#define Z2 278,15193 -#define PSST 280,15252 -#define PSST_FXSENDAMOUNT_C_MASK 281,15325 -#define PSST_FXSENDAMOUNT_C 283,15429 -#define PSST_LOOPSTARTADDR_MASK 285,15469 -#define PSST_LOOPSTARTADDR 286,15563 -#define DSL 288,15602 -#define DSL_FXSENDAMOUNT_D_MASK 289,15674 -#define DSL_FXSENDAMOUNT_D 291,15777 -#define DSL_LOOPENDADDR_MASK 293,15816 -#define DSL_LOOPENDADDR 294,15905 -#define CCCA 296,15942 -#define CCCA_RESONANCE 297,16022 -#define CCCA_INTERPROMMASK 298,16101 -#define CCCA_INTERPROM_0 304,16470 -#define CCCA_INTERPROM_1 305,16542 -#define CCCA_INTERPROM_2 306,16614 -#define CCCA_INTERPROM_3 307,16686 -#define CCCA_INTERPROM_4 308,16758 -#define CCCA_INTERPROM_5 309,16830 -#define CCCA_INTERPROM_6 310,16902 -#define CCCA_INTERPROM_7 311,16974 -#define CCCA_8BITSELECT 312,17046 -#define CCCA_CURRADDR_MASK 313,17141 -#define CCCA_CURRADDR 314,17226 -#define CCR 316,17261 -#define CCR_CACHEINVALIDSIZE 317,17313 -#define CCR_CACHEINVALIDSIZE_MASK 318,17353 -#define CCR_CACHELOOPFLAG 319,17457 -#define CCR_INTERLEAVEDSAMPLES 320,17539 -#define CCR_WORDSIZEDSAMPLES 321,17638 -#define CCR_READADDRESS 322,17734 -#define CCR_READADDRESS_MASK 323,17770 -#define CCR_LOOPINVALSIZE 324,17868 -#define CCR_LOOPFLAG 326,18021 -#define CCR_CACHELOOPADDRHI 327,18110 -#define CLP 329,18208 -#define CLP_CACHELOOPADDR 331,18341 -#define FXRT 333,18432 -#define FXRT_CHANNELA 336,18588 -#define FXRT_CHANNELB 337,18681 -#define FXRT_CHANNELC 338,18774 -#define FXRT_CHANNELD 339,18867 -#define MAPA 341,18961 -#define MAPB 343,19006 -#define MAP_PTE_MASK 345,19051 -#define MAP_PTI_MASK 346,19133 -#define ENVVOL 348,19226 -#define ENVVOL_MASK 349,19283 -#define ATKHLDV 352,19423 -#define ATKHLDV_PHASE0 353,19495 -#define ATKHLDV_HOLDTIME_MASK 354,19562 -#define ATKHLDV_ATTACKTIME_MASK 355,19651 -#define DCYSUSV 358,19796 -#define DCYSUSV_PHASE1_MASK 359,19870 -#define DCYSUSV_SUSTAINLEVEL_MASK 360,19963 -#define DCYSUSV_CHANNELENABLE_MASK 361,20054 -#define DCYSUSV_DECAYTIME_MASK 364,20252 -#define LFOVAL1 367,20402 -#define LFOVAL_MASK 368,20457 -#define ENVVAL 371,20587 -#define ENVVAL_MASK 372,20648 -#define ATKHLDM 375,20784 -#define ATKHLDM_PHASE0 376,20860 -#define ATKHLDM_HOLDTIME 377,20927 -#define ATKHLDM_ATTACKTIME 378,21009 -#define DCYSUSM 381,21148 -#define DCYSUSM_PHASE1_MASK 382,21225 -#define DCYSUSM_SUSTAINLEVEL_MASK 383,21318 -#define DCYSUSM_DECAYTIME_MASK 384,21409 -#define LFOVAL2 387,21548 -#define LFOVAL2_MASK 388,21603 -#define IP 391,21733 -#define IP_MASK 392,21784 -#define IP_UNITY 394,21912 -#define IFATN 396,21970 -#define IFATN_FILTERCUTOFF_MASK 397,22045 -#define IFATN_FILTERCUTOFF 400,22250 -#define IFATN_ATTENUATION_MASK 401,22288 -#define IFATN_ATTENUATION 402,22375 -#define PEFE 405,22414 -#define PEFE_PITCHAMOUNT_MASK 406,22492 -#define PEFE_PITCHAMOUNT 408,22628 -#define PEFE_FILTERAMOUNT_MASK 409,22664 -#define PEFE_FILTERAMOUNT 411,22802 -#define FMMOD 412,22839 -#define FMMOD_MODVIBRATO 413,22912 -#define FMMOD_MOFILTER 415,23045 -#define TREMFRQ 419,23180 -#define TREMFRQ_DEPTH 420,23263 -#define TREMFRQ_FREQUENCY 422,23379 -#define FM2FRQ2 425,23492 -#define FM2FRQ2_DEPTH 426,23572 -#define FM2FRQ2_FREQUENCY 428,23700 -#define TEMPENV 431,23818 -#define TEMPENV_MASK 432,23877 -#define CD0 436,24041 -#define CD1 437,24092 -#define CD2 438,24143 -#define CD3 439,24194 -#define CD4 440,24245 -#define CD5 441,24296 -#define CD6 442,24347 -#define CD7 443,24398 -#define CD8 444,24449 -#define CD9 445,24500 -#define CDA 446,24551 -#define CDB 447,24602 -#define CDC 448,24653 -#define CDD 449,24704 -#define CDE 450,24755 -#define CDF 451,24806 -#define PTB 453,24858 -#define PTB_MASK 454,24912 -#define TCB 456,24998 -#define TCB_MASK 457,25056 -#define ADCCR 459,25142 -#define ADCCR_RCHANENABLE 460,25211 -#define ADCCR_LCHANENABLE 461,25307 -#define A_ADCCR_RCHANENABLE 464,25520 -#define A_ADCCR_LCHANENABLE 465,25559 -#define A_ADCCR_SAMPLERATE_MASK 467,25599 -#define ADCCR_SAMPLERATE_MASK 468,25695 -#define ADCCR_SAMPLERATE_48 470,25779 -#define ADCCR_SAMPLERATE_44 471,25846 -#define ADCCR_SAMPLERATE_32 472,25915 -#define ADCCR_SAMPLERATE_24 473,25982 -#define ADCCR_SAMPLERATE_22 474,26049 -#define ADCCR_SAMPLERATE_16 475,26119 -#define ADCCR_SAMPLERATE_11 476,26186 -#define ADCCR_SAMPLERATE_8 477,26256 -#define A_ADCCR_SAMPLERATE_12 479,26322 -#define A_ADCCR_SAMPLERATE_11 480,26391 -#define A_ADCCR_SAMPLERATE_8 481,26463 -#define FXWC 483,26531 -#define TCBS 489,26878 -#define TCBS_MASK 490,26939 -#define TCBS_BUFFSIZE_16K 491,27007 -#define TCBS_BUFFSIZE_32K 492,27044 -#define TCBS_BUFFSIZE_64K 493,27081 -#define TCBS_BUFFSIZE_128K 494,27118 -#define TCBS_BUFFSIZE_256K 495,27156 -#define TCBS_BUFFSIZE_512K 496,27194 -#define TCBS_BUFFSIZE_1024K 497,27232 -#define TCBS_BUFFSIZE_2048K 498,27271 -#define MICBA 500,27311 -#define MICBA_MASK 501,27380 -#define ADCBA 503,27442 -#define ADCBA_MASK 504,27501 -#define FXBA 506,27563 -#define FXBA_MASK 507,27608 -#define MICBS 509,27669 -#define ADCBS 511,27732 -#define FXBS 513,27789 -#define ADCBS_BUFSIZE_NONE 516,27932 -#define ADCBS_BUFSIZE_384 517,27970 -#define ADCBS_BUFSIZE_448 518,28007 -#define ADCBS_BUFSIZE_512 519,28044 -#define ADCBS_BUFSIZE_640 520,28081 -#define ADCBS_BUFSIZE_768 521,28118 -#define ADCBS_BUFSIZE_896 522,28155 -#define ADCBS_BUFSIZE_1024 523,28192 -#define ADCBS_BUFSIZE_1280 524,28230 -#define ADCBS_BUFSIZE_1536 525,28268 -#define ADCBS_BUFSIZE_1792 526,28306 -#define ADCBS_BUFSIZE_2048 527,28344 -#define ADCBS_BUFSIZE_2560 528,28382 -#define ADCBS_BUFSIZE_3072 529,28420 -#define ADCBS_BUFSIZE_3584 530,28458 -#define ADCBS_BUFSIZE_4096 531,28496 -#define ADCBS_BUFSIZE_5120 532,28534 -#define ADCBS_BUFSIZE_6144 533,28572 -#define ADCBS_BUFSIZE_7168 534,28610 -#define ADCBS_BUFSIZE_8192 535,28648 -#define ADCBS_BUFSIZE_10240 536,28686 -#define ADCBS_BUFSIZE_12288 537,28725 -#define ADCBS_BUFSIZE_14366 538,28764 -#define ADCBS_BUFSIZE_16384 539,28803 -#define ADCBS_BUFSIZE_20480 540,28842 -#define ADCBS_BUFSIZE_24576 541,28881 -#define ADCBS_BUFSIZE_28672 542,28920 -#define ADCBS_BUFSIZE_32768 543,28959 -#define ADCBS_BUFSIZE_40960 544,28998 -#define ADCBS_BUFSIZE_49152 545,29037 -#define ADCBS_BUFSIZE_57344 546,29076 -#define ADCBS_BUFSIZE_65536 547,29115 -#define CDCS 550,29156 -#define GPSCS 552,29223 -#define DBG 554,29297 -#define DBG_ZC 557,29440 -#define DBG_SATURATION_OCCURED 558,29512 -#define DBG_SATURATION_ADDR 559,29585 -#define DBG_SINGLE_STEP 560,29658 -#define DBG_STEP 561,29729 -#define DBG_CONDITION_CODE 562,29801 -#define DBG_SINGLE_STEP_ADDR 563,29870 -#define REG53 566,29946 -#define A_DBG 568,30024 -#define A_DBG_SINGLE_STEP 569,30046 -#define A_DBG_ZC 570,30115 -#define A_DBG_STEP_ADDR 571,30169 -#define A_DBG_SATURATION_OCCURED 572,30206 -#define A_DBG_SATURATION_ADDR 573,30250 -#define SPCS0 575,30293 -#define SPCS1 577,30361 -#define SPCS2 579,30429 -#define SPCS_CLKACCYMASK 581,30497 -#define SPCS_CLKACCY_1000PPM 582,30557 -#define SPCS_CLKACCY_50PPM 583,30628 -#define SPCS_CLKACCY_VARIABLE 584,30696 -#define SPCS_SAMPLERATEMASK 585,30764 -#define SPCS_SAMPLERATE_44 586,30825 -#define SPCS_SAMPLERATE_48 587,30892 -#define SPCS_SAMPLERATE_32 588,30957 -#define SPCS_CHANNELNUMMASK 589,31022 -#define SPCS_CHANNELNUM_UNSPEC 590,31085 -#define SPCS_CHANNELNUM_LEFT 591,31162 -#define SPCS_CHANNELNUM_RIGHT 592,31225 -#define SPCS_SOURCENUMMASK 593,31289 -#define SPCS_SOURCENUM_UNSPEC 594,31350 -#define SPCS_GENERATIONSTATUS 595,31425 -#define SPCS_CATEGORYCODEMASK 596,31509 -#define SPCS_MODEMASK 597,31590 -#define SPCS_EMPHASISMASK 598,31656 -#define SPCS_EMPHASIS_NONE 599,31712 -#define SPCS_EMPHASIS_50_15 600,31772 -#define SPCS_COPYRIGHT 601,31841 -#define SPCS_NOTAUDIODATA 602,31923 -#define SPCS_PROFESSIONAL 603,32000 -#define CLIEL 606,32180 -#define CLIEH 608,32252 -#define CLIPL 610,32325 -#define CLIPH 612,32398 -#define SOLEL 614,32472 -#define SOLEH 616,32535 -#define SPBYPASS 618,32599 -#define SPBYPASS_ENABLE 619,32658 -#define AC97SLOT 621,32728 -#define AC97SLOT_CNTR 622,32792 -#define AC97SLOT_LFE 623,32841 -#define CDSRCS 625,32887 -#define GPSRCS 627,32962 -#define ZVSRCS 629,33037 -#define SRCS_SPDIFLOCKED 634,33276 -#define SRCS_RATELOCKED 635,33341 -#define SRCS_ESTSAMPLERATE 636,33405 -#define SRCS_SPDIFRATE_44 640,33578 -#define SRCS_SPDIFRATE_48 641,33615 -#define SRCS_SPDIFRATE_96 642,33652 -#define MICIDX 644,33690 -#define MICIDX_MASK 645,33789 -#define MICIDX_IDX 646,33888 -#define A_ADCIDX 648,33920 -#define A_ADCIDX_IDX 649,33943 -#define ADCIDX 651,33977 -#define ADCIDX_MASK 652,34043 -#define ADCIDX_IDX 653,34103 -#define FXIDX 655,34135 -#define FXIDX_MASK 656,34199 -#define FXIDX_IDX 657,34253 -#define A_MUDATA1 660,34348 -#define A_MUCMD1 661,34372 -#define A_MUSTAT1 662,34395 -#define A_MUDATA2 665,34478 -#define A_MUCMD2 666,34502 -#define A_MUSTAT2 667,34525 -#define A_FXWC1 672,34749 -#define A_FXWC2 673,34834 -#define A_SPDIF_SAMPLERATE 675,34910 -#define A_SPDIF_48000 676,34986 -#define A_SPDIF_44100 677,35020 -#define A_SPDIF_96000 678,35054 -#define A_FXRT2 680,35089 -#define A_FXRT_CHANNELE 681,35112 -#define A_FXRT_CHANNELF 682,35207 -#define A_FXRT_CHANNELG 683,35302 -#define A_FXRT_CHANNELH 684,35397 -#define A_SENDAMOUNTS 686,35493 -#define A_FXSENDAMOUNT_E_MASK 687,35521 -#define A_FXSENDAMOUNT_F_MASK 688,35562 -#define A_FXSENDAMOUNT_G_MASK 689,35603 -#define A_FXSENDAMOUNT_H_MASK 690,35644 -#define A_FXRT1 693,35760 -#define A_FXRT_CHANNELA 694,35783 -#define A_FXRT_CHANNELB 695,35819 -#define A_FXRT_CHANNELC 696,35855 -#define A_FXRT_CHANNELD 697,35891 -#define FXGPREGBASE 701,36010 -#define A_FXGPREGBASE 702,36085 -#define TANKMEMDATAREGBASE 706,36391 -#define TANKMEMDATAREG_MASK 707,36469 -#define TANKMEMADDRREGBASE 710,36645 -#define TANKMEMADDRREG_ADDR_MASK 711,36721 -#define TANKMEMADDRREG_CLEAR 712,36799 -#define TANKMEMADDRREG_ALIGN 713,36866 -#define TANKMEMADDRREG_WRITE 714,36956 -#define TANKMEMADDRREG_READ 715,37026 -#define MICROCODEBASE 717,37096 -#define LOWORD_OPX_MASK 721,37329 -#define LOWORD_OPY_MASK 722,37395 -#define HIWORD_OPCODE_MASK 723,37461 -#define HIWORD_RESULT_MASK 724,37527 -#define HIWORD_OPA_MASK 725,37593 -#define AUDIGY_CODEBASE 729,37720 -#define A_LOWORD_OPY_MASK 730,37751 -#define A_LOWORD_OPX_MASK 731,37790 -#define A_HIWORD_OPCODE_MASK 732,37827 -#define A_HIWORD_RESULT_MASK 733,37867 -#define A_HIWORD_OPA_MASK 734,37907 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/voicemgr.h,315 -#define _VOICEMGR_H33,1379 -#define VOICE_USAGE_FREE 38,1458 -#define VOICE_USAGE_MIDI 39,1489 -#define VOICE_USAGE_PLAYBACK 40,1520 -#define VOICE_FLAGS_STEREO 43,1591 -#define VOICE_FLAGS_16BIT 44,1624 -struct voice_paramvoice_param46,1657 -struct voice_mem voice_mem69,1939 -struct emu_voiceemu_voice76,2056 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardwo.c,572 -static u32 samplerate_to_linearpitch(39,1473 -static void query_format(45,1626 -static int get_voice(131,4293 -int emu10k1_waveout_open(232,7958 -void emu10k1_waveout_close(272,8953 -void emu10k1_waveout_start(292,9475 -int emu10k1_waveout_setformat(314,10087 -void emu10k1_waveout_stop(358,11188 -void emu10k1_waveout_getxfersize(385,11827 -static void copy_block(420,12744 -static void copy_ilv_block(454,13523 -static void fill_block(487,14280 -void emu10k1_waveout_xferdata(527,15359 -void emu10k1_waveout_fillsilence(577,16832 -void emu10k1_waveout_update(619,17950 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/audio.h,78 -#define _AUDIO_H34,1435 -struct emu10k1_wavedeviceemu10k1_wavedevice36,1453 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/hwaccess.c,757 -u32 srToPitch(47,2092 -u8 sumVolumeToAttenuation(111,4881 -void emu10k1_writefn0(136,5419 -void emu10k1_writefn0_2(163,6028 -u32 emu10k1_readfn0(181,6407 -void emu10k1_timer_set(208,6981 -#define A_PTR_ADDRESS_MASK 221,7505 -void sblive_writeptr(222,7543 -void sblive_writeptr_tag(252,8350 -u32 sblive_readptr(284,9118 -void emu10k1_irq_enable(315,9846 -void emu10k1_irq_disable(329,10169 -void emu10k1_set_stop_on_loop(343,10537 -void emu10k1_clear_stop_on_loop(354,10816 -static void sblive_wcwait(365,11097 -u16 emu10k1_ac97_read(386,11492 -void emu10k1_ac97_write(402,11817 -int emu10k1_mpu_write_data(419,12363 -int emu10k1_mpu_read_data(445,12877 -int emu10k1_mpu_reset(471,13393 -int emu10k1_mpu_acquire(527,14684 -int emu10k1_mpu_release(535,14811 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardmo.c,180 -int emu10k1_mpuout_open(43,1679 -int emu10k1_mpuout_close(66,2234 -int emu10k1_mpuout_add_buffer(106,3255 -void emu10k1_mpuout_bh(152,4383 -int emu10k1_mpuout_irqhandler(217,5979 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/ecard.h,1410 -#define _ECARD_H27,1087 -#define HOOKN_BIT 34,1225 -#define HANDN_BIT 35,1256 -#define PULSEN_BIT 36,1287 -#define EC_GDI1 38,1319 -#define EC_GDI0 39,1345 -#define EC_NUM_CONTROL_BITS 41,1372 -#define EC_AC3_DATA_SELN 43,1404 -#define EC_EE_DATA_SEL 44,1438 -#define EC_EE_CNTRL_SELN 45,1472 -#define EC_EECLK 46,1506 -#define EC_EECS 47,1540 -#define EC_EESDO 48,1574 -#define EC_TRIM_CSN 49,1608 -#define EC_TRIM_SCLK 50,1638 -#define EC_TRIM_SDATA 51,1669 -#define EC_TRIM_MUTEN 52,1701 -#define EC_ADCCAL 53,1733 -#define EC_ADCRSTN 54,1761 -#define EC_DACCAL 55,1790 -#define EC_DACMUTEN 56,1818 -#define EC_LEDN 57,1848 -#define EC_SPDIF0_SEL_SHIFT 59,1876 -#define EC_SPDIF1_SEL_SHIFT 60,1907 -#define EC_SPDIF0_SEL_MASK 61,1939 -#define EC_SPDIF1_SEL_MASK 62,1996 -#define EC_SPDIF0_SELECT(EC_SPDIF0_SELECT63,2053 -#define EC_SPDIF1_SELECT(EC_SPDIF1_SELECT64,2135 -#define EC_CURRENT_PROM_VERSION 65,2217 -#define EC_EEPROM_SIZE 69,2429 -#define EC_PROM_VERSION_ADDR 72,2560 -#define EC_BOARDREV0_ADDR 73,2636 -#define EC_BOARDREV1_ADDR 74,2690 -#define EC_LAST_PROMFILE_ADDR 76,2747 -#define EC_SERIALNUM_ADD 78,2783 -#define EC_CHECKSUM_ADDR 83,3162 -#define EC_RAW_RUN_MODE 91,3416 -#define EC_DEFAULT_ADC_GAIN 94,3499 -#define EC_DEFAULT_SPDIF0_SEL 95,3536 -#define EC_DEFAULT_SPDIF1_SEL 96,3570 -#define HC_EA 98,3605 -struct ecard_state ecard_state103,3749 -void emu10k1_ecard_init(111,3865 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/efxmgr.h,2604 -#define _EFXMGR_H33,1363 -struct emu_efx_info_t{emu_efx_info_t35,1382 -#define WRITE_EFX(WRITE_EFX44,1511 -#define OP(OP46,1623 -#define NUM_INPUTS 51,1927 -#define NUM_OUTPUTS 52,1951 -#define NUM_GPRS 53,1976 -#define A_NUM_INPUTS 55,2000 -#define A_NUM_OUTPUTS 56,2026 -#define A_NUM_GPRS 57,2091 -#define GPR_NAME_SIZE 59,2117 -#define PATCH_NAME_SIZE 60,2144 -struct dsp_rpatch dsp_rpatch62,2172 -struct dsp_patch dsp_patch73,2470 -struct dsp_gpr dsp_gpr95,3208 - GPR_TYPE_NULL 104,3560 - GPR_TYPE_IO,105,3580 - GPR_TYPE_STATIC,106,3594 - GPR_TYPE_DYNAMIC,107,3612 - GPR_TYPE_CONTROL,108,3631 - GPR_TYPE_CONSTANT109,3650 -#define GPR_BASE 112,3673 -#define OUTPUT_BASE 113,3696 -#define A_GPR_BASE 115,3722 -#define A_OUTPUT_BASE 116,3747 -#define MAX_PATCHES_PAGES 118,3775 -struct patch_manager patch_manager120,3805 -#define PATCHES_PER_PAGE 129,4026 -#define PATCH(PATCH131,4091 -#define TMP_PCM_L 134,4224 -#define TMP_PCM_R 135,4296 -#define VOL_PCM_L 136,4324 -#define VOL_PCM_R 137,4362 -#define TMP_AC_L 140,4411 -#define TMP_AC_R 141,4454 -#define TMP_REAR_L 142,4482 -#define TMP_REAR_R 143,4531 -#define TMP_DIGI_L 144,4559 -#define TMP_DIGI_R 145,4611 -#define DSP_VOL_L 146,4639 -#define DSP_VOL_R 147,4686 -#define PCM_IN_L 150,4731 -#define PCM_IN_R 151,4754 -#define PCM1_IN_L 153,4778 -#define PCM1_IN_R 154,4808 -#define MULTI_FRONT_L 157,4883 -#define MULTI_FRONT_R 158,4910 -#define MULTI_REAR_L 159,4937 -#define MULTI_REAR_R 160,4963 -#define MULTI_CENTER 161,4989 -#define MULTI_LFE 162,5015 -#define AC97_IN_L 164,5039 -#define AC97_IN_R 165,5062 -#define SPDIF_CD_L 166,5085 -#define SPDIF_CD_R 167,5109 -#define AC97_FRONT_L 170,5151 -#define AC97_FRONT_R 171,5177 -#define DIGITAL_OUT_L 172,5203 -#define DIGITAL_OUT_R 173,5230 -#define DIGITAL_CENTER 174,5257 -#define DIGITAL_LFE 175,5285 -#define ANALOG_REAR_L 177,5311 -#define ANALOG_REAR_R 178,5338 -#define ADC_REC_L 179,5365 -#define ADC_REC_R 180,5388 -#define ANALOG_CENTER 182,5412 -#define ANALOG_LFE 183,5439 -#define INPUT_PATCH_START(INPUT_PATCH_START186,5465 -#define INPUT_PATCH_END(INPUT_PATCH_END196,5728 -#define ROUTING_PATCH_START(ROUTING_PATCH_START203,5858 -#define ROUTING_PATCH_END(ROUTING_PATCH_END210,6007 -#define CONNECT(CONNECT215,6169 -#define CONNECT_V(CONNECT_V217,6257 -#define OUTPUT_PATCH_START(OUTPUT_PATCH_START219,6349 -#define OUTPUT_PATCH_END(OUTPUT_PATCH_END229,6613 -#define GET_OUTPUT_GPR(GET_OUTPUT_GPR235,6743 -#define GET_INPUT_GPR(GET_INPUT_GPR243,6980 -#define GET_DYNAMIC_GPR(GET_DYNAMIC_GPR252,7262 -#define GET_CONTROL_GPR(GET_CONTROL_GPR259,7474 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/icardwav.h,172 -#define _ICARDWAV_H33,1364 -struct wave_format wave_format35,1385 -#define WAVE_STATE_OPEN 49,1651 -#define WAVE_STATE_STARTED 50,1682 -#define WAVE_STATE_CLOSED 51,1714 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/efxmgr.c,380 -int emu10k1_find_control_gpr(36,1406 -void emu10k1_set_control_gpr(74,2233 -#define VOLCTRL_CHANNEL 100,2908 -#define VOLCTRL_STEP_SIZE 101,2951 -void emu10k1_set_oss_vol(104,3042 -void emu10k1_mute_irqhandler(122,3625 -void emu10k1_volincr_irqhandler(141,3970 -void emu10k1_voldecr_irqhandler(158,4370 -void emu10k1_set_volume_gpr(175,4762 -void emu10k1_dsp_irqhandler(200,5507 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/midi.h,749 -#define _MIDI_H33,1357 -#define FMODE_MIDI_SHIFT 35,1374 -#define FMODE_MIDI_READ 36,1401 -#define FMODE_MIDI_WRITE 37,1459 -#define MIDIIN_STATE_STARTED 39,1519 -#define MIDIIN_STATE_STOPPED 40,1559 -#define MIDIIN_BUFLEN 42,1600 -struct emu10k1_midideviceemu10k1_mididevice44,1628 -#define A_MUDATA 59,1949 -#define A_MUCMD 60,1976 -#define A_MUSTAT 61,2002 -#define A_IPR_MIDITRANSBUFEMPTY 62,2028 -#define A_IPR_MIDIRECVBUFEMPTY 63,2085 -#define A_INTE_MIDITXENABLE 64,2140 -#define A_INTE_MIDIRXENABLE 65,2189 -#define A_MUDATA 67,2244 -#define A_MUCMD 68,2271 -#define A_MUSTAT 69,2297 -#define A_IPR_MIDITRANSBUFEMPTY 70,2323 -#define A_IPR_MIDIRECVBUFEMPTY 71,2380 -#define A_INTE_MIDITXENABLE 72,2435 -#define A_INTE_MIDIRXENABLE 73,2484 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/passthrough.h,416 -#define _PASSTHROUGH_H33,1389 -#define PT_SAMPLES 38,1487 -#define PT_BLOCKSAMPLES 39,1513 -#define PT_BLOCKSIZE 40,1543 -#define PT_BLOCKSIZE_LOG2 41,1584 -#define PT_BLOCKCOUNT 42,1613 -#define PT_INITPTR 43,1664 -#define PT_STATE_INACTIVE 45,1701 -#define PT_STATE_ACTIVATED 46,1729 -#define PT_STATE_PLAYING 47,1758 -struct pt_datapt_data50,1811 -#define USE_PT_METHOD2 90,3033 -#define USE_PT_METHOD1 91,3075 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/passthrough.c,283 -static void pt_putsamples(48,1691 -static inline int pt_can_write(58,1893 -static int pt_wait_for_write(63,2000 -static int pt_putblock(81,2442 -int emu10k1_pt_setup(112,3339 -ssize_t emu10k1_pt_write(134,3957 -void emu10k1_pt_stop(203,5985 -void emu10k1_pt_waveout_update(221,6469 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardmo.h,157 -#define _CARDMO_H34,1381 -#define CARDMIDIOUT_STATE_DEFAULT 39,1452 -#define CARDMIDIOUT_STATE_SUSPEND 40,1500 -struct emu10k1_mpuoutemu10k1_mpuout42,1549 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/recmgr.h,125 -#define _RECORDMGR_H33,1363 -#define WAVERECORD_AC97 39,1454 -#define WAVERECORD_MIC 40,1484 -#define WAVERECORD_FX 41,1513 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/timer.c,187 -void emu10k1_timer_irqhandler(38,1314 -void emu10k1_timer_install(62,1747 -void emu10k1_timer_uninstall(107,2813 -void emu10k1_timer_enable(156,3822 -void emu10k1_timer_disable(167,4072 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/audio.c,618 -static ssize_t emu10k1_audio_read(53,1853 -static ssize_t emu10k1_audio_write(137,3887 -static int emu10k1_audio_ioctl(243,6630 -static struct page *emu10k1_mm_nopage 987,24271 -struct vm_operations_struct emu10k1_mm_ops 1035,25538 -static int emu10k1_audio_mmap(1039,25627 -static int emu10k1_audio_open(1110,27433 -static int emu10k1_audio_release(1249,30986 -static unsigned int emu10k1_audio_poll(1314,32772 -static void calculate_ofrag(1363,34072 -static void calculate_ifrag(1424,35693 -void emu10k1_wavein_bh(1509,37993 -void emu10k1_waveout_bh(1540,38750 -struct file_operations emu10k1_audio_fops 1575,39627 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardwi.h,316 -#define _CARDWI_H32,1373 -struct wavein_buffer wavein_buffer38,1453 -struct wiinstwiinst57,1854 -#define WAVEIN_MAXBUFSIZE 72,2124 -#define WAVEIN_MINBUFSIZE 73,2156 -#define WAVEIN_DEFAULTFRAGLEN 75,2187 -#define WAVEIN_DEFAULTBUFLEN 76,2222 -#define WAVEIN_MINFRAGSHIFT 78,2257 -#define WAVEIN_MINFRAGS 79,2288 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/midi.c,656 -static void init_midi_hdr(50,1723 -static int midiin_add_buffer(57,1870 -static int emu10k1_midi_open(87,2501 -static int emu10k1_midi_release(191,4870 -static ssize_t emu10k1_midi_read(247,6134 -static ssize_t emu10k1_midi_write(319,7582 -static unsigned int emu10k1_midi_poll(364,8682 -int emu10k1_midi_callback(394,9427 -struct file_operations emu10k1_midi_fops 459,10880 -int emu10k1_seq_midi_open(473,11175 -void emu10k1_seq_midi_close(515,12192 -int emu10k1_seq_midi_out(532,12519 -int emu10k1_seq_midi_start_read(573,13390 -int emu10k1_seq_midi_end_read(578,13447 -void emu10k1_seq_midi_kick(583,13502 -int emu10k1_seq_midi_buffer_status(587,13543 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/voicemgr.c,477 -#define PITCH_48000 35,1389 -#define PITCH_96000 36,1420 -#define PITCH_85000 37,1451 -#define PITCH_80726 38,1482 -#define PITCH_67882 39,1513 -#define PITCH_57081 40,1544 -u32 emu10k1_select_interprom(42,1576 -int emu10k1_voice_alloc_buffer(71,2479 -void emu10k1_voice_free_buffer(117,3637 -int emu10k1_voice_alloc(141,4299 -void emu10k1_voice_free(187,5310 -void emu10k1_voice_playback_setup(223,6143 -void emu10k1_voices_start(295,8448 -void emu10k1_voices_stop(372,10618 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardmi.h,559 -#define _CARDMI_H34,1387 - STIN_PARSE 41,1473 - STIN_3BYTE,42,1490 - STIN_3BYTE_KEY,43,1558 - STIN_3BYTE_VEL,44,1604 - STIN_2BYTE,45,1650 - STIN_2BYTE_KEY,46,1700 - STIN_SYS_COMMON_2,47,1746 - STIN_SYS_COMMON_2_KEY,48,1797 - STIN_SYS_COMMON_3,49,1821 - STIN_SYS_COMMON_3_KEY,50,1865 - STIN_SYS_COMMON_3_VEL,51,1889 - STIN_SYS_EX_NORM,52,1913 - STIN_SYS_REAL53,1970 -} midi_in_state;midi_in_state54,1985 -#define FLAGS_MIDM_STARTED 58,2040 -#define MIDIIN_MAX_BUFFER_SIZE 59,2140 -struct midi_datamidi_data61,2232 -struct emu10k1_mpuinemu10k1_mpuin67,2278 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardmi.c,910 -} midistatefn[43,1598 -int emu10k1_mpuin_open(76,2564 -int emu10k1_mpuin_close(103,3246 -int emu10k1_mpuin_add_buffer(128,3841 -int emu10k1_mpuin_start(170,4925 -int emu10k1_mpuin_stop(202,5735 -int emu10k1_mpuin_reset(242,6729 -int emu10k1_mpuin_callback(272,7561 -void emu10k1_mpuin_bh(312,8723 -int emu10k1_mpuin_irqhandler(336,9341 -int sblive_miStateInit(377,10253 -int sblive_miStateEntry(391,10620 -int sblive_miStateParse(396,10756 -int sblive_miState3Byte(460,12052 -int sblive_miState3ByteKey(476,12446 -int sblive_miState3ByteVel(505,13042 -int sblive_miState2Byte(542,13849 -int sblive_miState2ByteKey(559,14223 -int sblive_miStateSysCommon2(593,14937 -int sblive_miStateSysCommon2Key(601,15119 -int sblive_miStateSysCommon3(635,15862 -int sblive_miStateSysCommon3Key(643,16044 -int sblive_miStateSysCommon3Vel(673,16675 -int sblive_miStateSysExNorm(711,17538 -int sblive_miStateSysReal(812,19681 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/irqmgr.h,314 -#define _IRQ_H33,1323 -#define IRQTYPE_PCIBUSERROR 36,1359 -#define IRQTYPE_MIXERBUTTON 37,1400 -#define IRQTYPE_VOICE 38,1467 -#define IRQTYPE_RECORD 39,1532 -#define IRQTYPE_MPUOUT 40,1670 -#define IRQTYPE_MPUIN 41,1746 -#define IRQTYPE_TIMER 42,1818 -#define IRQTYPE_SPDIF 43,1859 -#define IRQTYPE_DSP 44,1932 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/mixer.c,438 -static const u32 bass_table[42,1549 -static const u32 treble_table[86,4256 -static void set_bass(131,6966 -static void set_treble(142,7255 -const char volume_params[153,7551 -static int emu10k1_private_mixer(184,8536 -static int emu10k1_dsp_mixer(577,17834 -static int emu10k1_mixer_ioctl(618,18857 -static int emu10k1_mixer_open(656,19822 -static int emu10k1_mixer_release(678,20245 -struct file_operations emu10k1_mixer_fops 684,20372 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/main.c,1718 -#define MIDI_SYNTH_NAME 110,4968 -#define MIDI_SYNTH_CAPS 111,5007 -#define SNDCARD_EMU10K1 117,5142 -#define EMU10K1_DMA_MASK 122,5253 -#define PCI_VENDOR_ID_CREATIVE 125,5380 -#define PCI_DEVICE_ID_CREATIVE_EMU10K1 129,5465 -#define PCI_DEVICE_ID_CREATIVE_AUDIGY 132,5556 -#define EMU_APS_SUBID 135,5609 - EMU10K1 138,5651 - AUDIGY,139,5665 -static char *card_names[142,5678 -static char *card_names[] __devinitdata 142,5678 -static struct pci_device_id emu10k1_pci_tbl[147,5749 -static struct midi_operations emu10k1_midi_operations;166,6284 -static int __devinit emu10k1_audio_init(171,6418 -static void emu10k1_audio_cleanup(228,8019 -static int __devinit emu10k1_register_devices(232,8085 -static void emu10k1_unregister_devices(295,9880 -int emu10k1_info_proc 312,10314 -static int __devinit emu10k1_proc_init(341,11460 -static void emu10k1_proc_cleanup(387,12675 -static int __devinit emu10k1_mixer_init(405,13104 -static void emu10k1_mixer_cleanup(448,14306 -static int __devinit emu10k1_midi_init(453,14405 -static void emu10k1_midi_cleanup(506,15661 -static void __devinit voice_init(515,15847 -static void __devinit timer_init(523,15992 -static void __devinit addxmgr_init(530,16165 -static void fx_cleanup(543,16469 -static int __devinit fx_init(550,16617 -static int __devinit hw_init(946,27650 -static int __devinit emu10k1_init(1192,34695 -static void emu10k1_cleanup(1207,34960 -static int __devinit emu10k1_probe(1266,36508 -static void __devexit emu10k1_remove(1398,39766 -static struct pci_driver emu10k1_pci_driver 1420,40448 -static int __init emu10k1_init_module(1427,40618 -static void __exit emu10k1_cleanup_module(1434,40827 -static struct midi_operations emu10k1_midi_operations 1457,41490 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/recmgr.c,141 -void emu10k1_reset_record(36,1413 -void emu10k1_start_record(48,1732 -void emu10k1_stop_record(56,1930 -void emu10k1_set_record_src(65,2144 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardwi.c,426 -void query_format(45,1626 -static int alloc_buffer(102,3197 -static void free_buffer(112,3446 -int emu10k1_wavein_open(119,3667 -void emu10k1_wavein_close(187,5104 -void emu10k1_wavein_start(221,5805 -void emu10k1_wavein_stop(234,6140 -int emu10k1_wavein_setformat(250,6519 -void emu10k1_wavein_getxfersize(290,7528 -static void copy_block(307,7870 -void emu10k1_wavein_xferdata(324,8160 -void emu10k1_wavein_update(355,9000 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/timer.h,208 -#define _TIMER_H28,1066 -struct emu_timer emu_timer34,1161 -#define TIMER_STOPPED 49,1725 -#define TIMER_STATE_INSTALLED 50,1758 -#define TIMER_STATE_ACTIVE 51,1795 -#define TIMER_STATE_UNINSTALLED 52,1828 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/irqmgr.c,39 -irqreturn_t emu10k1_interrupt(40,1470 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/emuadxmg.c,70 -int emu10k1_addxmgr_alloc(37,1447 -void emu10k1_addxmgr_free(83,2624 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/hwaccess.h,1713 -#define _HWACCESS_H33,1301 -#define EMUPAGESIZE 48,1585 -#define NUM_G 49,1644 -#define NUM_FXSENDS 50,1707 -#define MAXBUFSIZE 52,1842 -#define MAXPAGES 53,1867 -#define BUFMAXPAGES 54,1890 -#define FLAGS_AVAILABLE 56,1940 -#define FLAGS_READY 57,1975 -struct memhandlememhandle59,2011 -#define DEBUG_LEVEL 66,2082 -# define DPD(DPD69,2126 -# define DPF(DPF70,2263 -# define DPD(DPD72,2399 -# define DPF(DPF73,2472 -#define ERROR(ERROR76,2539 -struct emu10k1_waveoutemu10k1_waveout80,2596 -#define ROUTE_PCM 90,2742 -#define ROUTE_PT 91,2762 -#define ROUTE_PCM1 92,2781 -#define SEND_MONO 94,2803 -#define SEND_LEFT 95,2823 -#define SEND_RIGHT 96,2843 -struct emu10k1_waveinemu10k1_wavein98,2865 -#define CMD_READ 108,3015 -#define CMD_WRITE 109,3034 -struct mixer_private_ioctl mixer_private_ioctl111,3055 -#define CMD_WRITEFN0 117,3190 -#define CMD_READFN0 118,3263 -#define CMD_WRITEPTR 119,3326 -#define CMD_READPTR 120,3390 -#define CMD_SETRECSRC 121,3453 -#define CMD_GETRECSRC 122,3518 -#define CMD_GETVOICEPARAM 123,3583 -#define CMD_SETVOICEPARAM 124,3651 -#define CMD_GETPATCH 125,3719 -#define CMD_GETGPR 126,3783 -#define CMD_GETCTLGPR 127,3845 -#define CMD_SETPATCH 128,3919 -#define CMD_SETGPR 129,3984 -#define CMD_SETCTLGPR 130,4047 -#define CMD_SETGPOUT 131,4112 -#define CMD_GETGPR2OSS 132,4176 -#define CMD_SETGPR2OSS 133,4242 -#define CMD_SETMCH_FX 134,4308 -#define CMD_SETPASSTHROUGH 135,4373 -#define CMD_PRIVATE3_VERSION 136,4442 -#define CMD_AC97_BOOST 137,4513 -#define PRIVATE3_VERSION 140,4625 -struct emu10k1_card emu10k1_card142,4653 -#define VOL_6BIT 208,6144 -#define VOL_5BIT 209,6166 -#define VOL_4BIT 210,6188 -#define TIMEOUT 212,6211 -#define TAGLIST_END 229,6724 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/emu10k1/cardwo.h,324 -#define _CARDWO_H33,1403 -#define WAVEOUT_MAXBUFSIZE 41,1581 -#define WAVEOUT_DEFAULTFRAGLEN 43,1620 -#define WAVEOUT_DEFAULTBUFLEN 44,1700 -#define WAVEOUT_MINFRAGSHIFT 46,1778 -#define WAVEOUT_MINFRAGS 47,1853 -#define WAVEOUT_MAXVOICES 48,1938 -struct waveout_buffer waveout_buffer50,1967 -struct woinst woinst63,2433 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus_hw.h,1211 -#define u_Base 6,26 -#define u_Mixer 7,62 -#define u_Status 8,87 -#define u_TimerControl 9,124 -#define u_TimerData 10,167 -#define u_IRQDMAControl 11,207 -#define u_MidiControl 12,251 -#define MIDI_RESET 13,293 -#define MIDI_ENABLE_XMIT 14,319 -#define MIDI_ENABLE_RCV 15,350 -#define u_MidiStatus 16,381 -#define MIDI_RCV_FULL 17,417 -#define MIDI_XMIT_EMPTY 18,446 -#define MIDI_FRAME_ERR 19,477 -#define MIDI_OVERRUN 20,507 -#define MIDI_IRQ_PEND 21,535 -#define u_MidiData 22,564 -#define u_Voice 23,603 -#define u_Command 24,640 -#define u_DataLo 25,678 -#define u_DataHi 26,715 -#define u_MixData 27,752 -#define u_MixSelect 28,828 -#define u_IrqStatus 29,904 -# define MIDI_TX_IRQ 30,934 -# define MIDI_RX_IRQ 31,989 -# define GF1_TIMER1_IRQ 32,1044 -# define GF1_TIMER2_IRQ 33,1102 -# define WAVETABLE_IRQ 34,1160 -# define ENVELOPE_IRQ 35,1217 -# define DMA_TC_IRQ 36,1279 -#define ICS2101 38,1331 -# define ICS_MIXDEVS 39,1350 -# define DEV_MIC 40,1373 -# define DEV_LINE 41,1393 -# define DEV_CD 42,1414 -# define DEV_GF1 43,1433 -# define DEV_UNUSED 44,1453 -# define DEV_VOL 45,1475 -# define CHN_LEFT 47,1496 -# define CHN_RIGHT 48,1517 -#define CS4231 49,1538 -#define u_DRAMIO 50,1556 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/audio.c,463 -#define NEUTRAL8 37,1200 -#define NEUTRAL16 38,1222 -static int set_format(43,1327 -int audio_open(71,1974 -static void sync_output(135,3178 -void audio_release(179,4172 -static void translate_bytes(211,4986 -int audio_write(222,5173 -int audio_read(303,7013 -int audio_ioctl(368,8265 -void audio_init_devices(529,12675 -void reorganize_buffers(536,12785 -static int dma_subdivide(664,15791 -static int dma_set_fragment(686,16241 -static int dma_ioctl(738,17465 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/msnd_classic.h,3902 -#define __MSND_CLASSIC_H31,1217 -#define DSP_NUMIO 35,1270 -#define HP_MEMM 37,1297 -#define HP_BITM 39,1323 -#define HP_WAIT 40,1348 -#define HP_DSPR 41,1373 -#define HP_PROR 42,1398 -#define HP_BLKS 43,1423 -#define HPPRORESET_OFF 45,1449 -#define HPPRORESET_ON 46,1477 -#define HPDSPRESET_OFF 48,1505 -#define HPDSPRESET_ON 49,1533 -#define HPBLKSEL_0 51,1561 -#define HPBLKSEL_1 52,1585 -#define HPWAITSTATE_0 54,1610 -#define HPWAITSTATE_1 55,1637 -#define HPBITMODE_16 57,1665 -#define HPBITMODE_8 58,1691 -#define HIDSP_INT_PLAY_UNDER 60,1717 -#define HIDSP_INT_RECORD_OVER 61,1753 -#define HIDSP_INPUT_CLIPPING 62,1790 -#define HIDSP_MIDI_IN_OVER 63,1826 -#define HIDSP_MIDI_OVERRUN_ERR 64,1860 -#define HDEXAR_CLEAR_PEAKS 66,1898 -#define HDEXAR_IN_SET_POTS 67,1929 -#define HDEXAR_AUX_SET_POTS 68,1960 -#define HDEXAR_CAL_A_TO_D 69,1992 -#define HDEXAR_RD_EXT_DSP_BITS 70,2022 -#define TIME_PRO_RESET_DONE 72,2058 -#define TIME_PRO_SYSEX 73,2095 -#define TIME_PRO_RESET 74,2128 -#define AGND 76,2162 -#define SIGNAL 77,2184 -#define EXT_DSP_BIT_DCAL 79,2209 -#define EXT_DSP_BIT_MIDI_CON 80,2243 -#define BUFFSIZE 82,2282 -#define HOSTQ_SIZE 83,2309 -#define SRAM_CNTL_START 85,2337 -#define SMA_STRUCT_START 86,2371 -#define DAP_BUFF_SIZE 88,2406 -#define DAR_BUFF_SIZE 89,2438 -#define DAPQ_STRUCT_SIZE 91,2471 -#define DARQ_STRUCT_SIZE 92,2503 -#define DAPQ_BUFF_SIZE 93,2535 -#define DARQ_BUFF_SIZE 94,2572 -#define MODQ_BUFF_SIZE 95,2609 -#define MIDQ_BUFF_SIZE 96,2641 -#define DSPQ_BUFF_SIZE 97,2673 -#define DAPQ_DATA_BUFF 99,2705 -#define DARQ_DATA_BUFF 100,2738 -#define MODQ_DATA_BUFF 101,2771 -#define MIDQ_DATA_BUFF 102,2804 -#define DSPQ_DATA_BUFF 103,2837 -#define DAPQ_OFFSET 105,2871 -#define DARQ_OFFSET 106,2910 -#define MODQ_OFFSET 107,2958 -#define MIDQ_OFFSET 108,3006 -#define DSPQ_OFFSET 109,3054 -#define MOP_SYNTH 111,3103 -#define MOP_EXTOUT 112,3129 -#define MOP_EXTTHRU 113,3156 -#define MOP_OUTMASK 114,3184 -#define MIP_EXTIN 116,3213 -#define MIP_SYNTH 117,3239 -#define MIP_INMASK 118,3265 -#define SMA_wCurrPlayBytes 121,3323 -#define SMA_wCurrRecordBytes 122,3359 -#define SMA_wCurrPlayVolLeft 123,3397 -#define SMA_wCurrPlayVolRight 124,3435 -#define SMA_wCurrInVolLeft 125,3474 -#define SMA_wCurrInVolRight 126,3510 -#define SMA_wUser_3 127,3547 -#define SMA_wUser_4 128,3577 -#define SMA_dwUser_5 129,3607 -#define SMA_dwUser_6 130,3638 -#define SMA_wUser_7 131,3669 -#define SMA_wReserved_A 132,3699 -#define SMA_wReserved_B 133,3733 -#define SMA_wReserved_C 134,3767 -#define SMA_wReserved_D 135,3801 -#define SMA_wReserved_E 136,3835 -#define SMA_wReserved_F 137,3869 -#define SMA_wReserved_G 138,3903 -#define SMA_wReserved_H 139,3937 -#define SMA_wCurrDSPStatusFlags 140,3971 -#define SMA_wCurrHostStatusFlags 141,4012 -#define SMA_wCurrInputTagBits 142,4053 -#define SMA_wCurrLeftPeak 143,4092 -#define SMA_wCurrRightPeak 144,4127 -#define SMA_wExtDSPbits 145,4163 -#define SMA_bExtHostbits 146,4197 -#define SMA_bBoardLevel 147,4231 -#define SMA_bInPotPosRight 148,4265 -#define SMA_bInPotPosLeft 149,4301 -#define SMA_bAuxPotPosRight 150,4336 -#define SMA_bAuxPotPosLeft 151,4373 -#define SMA_wCurrMastVolLeft 152,4409 -#define SMA_wCurrMastVolRight 153,4447 -#define SMA_bUser_12 154,4486 -#define SMA_bUser_13 155,4517 -#define SMA_wUser_14 156,4548 -#define SMA_wUser_15 157,4579 -#define SMA_wCalFreqAtoD 158,4610 -#define SMA_wUser_16 159,4644 -#define SMA_wUser_17 160,4675 -#define SMA__size 161,4706 -# define PERMCODE 166,4804 -# define INITCODE 167,4833 -# define PERMCODESIZE 168,4862 -# define INITCODESIZE 169,4903 -# define CONFIG_MSNDCLAS_INIT_FILE 172,4986 -# define CONFIG_MSNDCLAS_PERM_FILE 176,5104 -# define PERMCODEFILE 179,5186 -# define INITCODEFILE 180,5236 -# define PERMCODE 181,5286 -# define INITCODE 182,5313 -# define PERMCODESIZE 183,5341 -# define INITCODESIZE 184,5379 -#define LONGNAME 186,5425 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/kahlua.c,318 -static u8 __devinit mixer_read(46,1496 -static int __devinit probe_one(55,1637 -static void __devexit remove_one(187,4187 -static struct pci_device_id id_tbl[203,4536 -static struct pci_driver kahlua_driver 210,4712 -static int __init kahlua_init_module(218,4860 -static void __devexit kahlua_cleanup_module(224,5042 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/midi_synth.h,103 -static struct synth_info std_synth_info 20,969 -static struct synth_operations std_midi_synth 23,1087 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/iwmem.h,112 -#define K 18,393 -#define M 19,408 -static int mem_decode[20,427 -static int mem_decode[][4] __initdata 20,427 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dev_table.c,462 -#define _DEV_TABLE_C_16,314 -int sound_install_audiodrv(21,403 -int sound_install_mixer(79,1996 -void sound_unload_audiodev(117,3031 -static int sound_alloc_audiodev(126,3177 -int sound_alloc_mididev(137,3360 -int sound_alloc_synthdev(148,3527 -int sound_alloc_mixerdev(162,3716 -int sound_alloc_timerdev(173,3888 -void sound_unload_mixerdev(187,4095 -void sound_unload_mididev(196,4233 -void sound_unload_synthdev(204,4356 -void sound_unload_timerdev(210,4439 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/pas2_midi.c,795 -static int midi_busy,24,513 -static int midi_busy, input_opened;24,513 -static int my_dev;25,554 -int pas2_mididev=27,579 -static unsigned char tmp_queue[29,601 -static volatile int qlen;30,638 -static volatile unsigned char qhead,31,664 -static volatile unsigned char qhead, qtail;31,664 -static int pas_midi_open(35,776 -static void pas_midi_close(93,1805 -static int dump_to_midi(105,1969 -static int pas_midi_out(127,2599 -static int pas_midi_start_read(172,3239 -static int pas_midi_end_read(177,3295 -static void pas_midi_kick(182,3349 -static int pas_buffer_status(186,3389 -#define MIDI_SYNTH_NAME 191,3446 -#define MIDI_SYNTH_CAPS 192,3496 -static struct midi_operations pas_midi_operations 195,3561 -void __init pas_midi_init(210,3952 -void pas_midi_interrupt(225,4251 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/rme96xx.h,306 -#define AFMT_S32_BLOCKED 14,425 -#define AFMT_S16_BLOCKED 19,535 -typedef struct rme_status rme_status23,579 -} rme_status_t;rme_status_t42,1543 -typedef struct rme_control rme_control46,1640 -} rme_ctrl_t;rme_ctrl_t69,2990 -typedef struct _rme_mixer _rme_mixer72,3006 -} rme_mixer;rme_mixer77,3091 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/btaudio.c,2874 -#define btwrite(btwrite40,1213 -#define btread(btread41,1274 -#define btand(btand43,1326 -#define btor(btor44,1388 -#define btaor(btaor45,1450 -#define REG_INT_STAT 48,1576 -#define REG_INT_MASK 49,1615 -#define REG_GPIO_DMA_CTL 50,1654 -#define REG_PACKET_LEN 51,1693 -#define REG_RISC_STRT_ADD 52,1732 -#define REG_RISC_COUNT 53,1771 -#define IRQ_SCERR 56,1848 -#define IRQ_OCERR 57,1884 -#define IRQ_PABORT 58,1920 -#define IRQ_RIPERR 59,1956 -#define IRQ_PPERR 60,1992 -#define IRQ_FDSR 61,2028 -#define IRQ_FTRGT 62,2064 -#define IRQ_FBUS 63,2100 -#define IRQ_RISCI 64,2136 -#define IRQ_OFLOW 65,2172 -#define IRQ_BTAUDIO 67,2209 -#define DMA_CTL_A_PWRDN 72,2390 -#define DMA_CTL_DA_SBR 73,2426 -#define DMA_CTL_DA_ES2 74,2462 -#define DMA_CTL_ACAP_EN 75,2498 -#define DMA_CTL_RISC_EN 76,2534 -#define DMA_CTL_FIFO_EN 77,2570 -#define RISC_WRITE 80,2631 -#define RISC_JUMP 81,2670 -#define RISC_SYNC 82,2709 -#define RISC_WR_SOL 85,2765 -#define RISC_WR_EOL 86,2801 -#define RISC_IRQ 87,2837 -#define RISC_SYNC_RESYNC 88,2873 -#define RISC_SYNC_FM1 89,2909 -#define RISC_SYNC_VRO 90,2940 -#define HWBASE_AD 92,2972 -struct btaudio btaudio96,3070 -struct cardinfo cardinfo148,3946 -static struct btaudio *btaudios;153,3992 -static unsigned int debug;154,4025 -static unsigned int irq_debug;155,4052 -#define BUF_DEFAULT 159,4154 -#define BUF_MIN 160,4183 -static int alloc_buffer(162,4213 -static void free_buffer(189,4933 -static int make_risc(203,5266 -static int start_recording(247,6581 -static void stop_recording(292,7660 -static int btaudio_mixer_open(303,7908 -static int btaudio_mixer_release(320,8260 -static int btaudio_mixer_ioctl(325,8349 -static struct file_operations btaudio_mixer_fops 430,11416 -static int btaudio_dsp_open(440,11687 -static int btaudio_dsp_open_digital(463,12074 -static int btaudio_dsp_open_analog(479,12447 -static int btaudio_dsp_release(495,12816 -static ssize_t btaudio_dsp_read(507,13042 -static ssize_t btaudio_dsp_write(613,15785 -static int btaudio_dsp_ioctl(619,15919 -static unsigned int btaudio_dsp_poll(784,20088 -static struct file_operations btaudio_digital_dsp_fops 797,20362 -static struct file_operations btaudio_analog_dsp_fops 808,20657 -static char *irq_name[821,21020 -static irqreturn_t btaudio_irq(825,21195 -static unsigned int dsp1 879,22497 -static unsigned int dsp2 880,22528 -static unsigned int mixer 881,22559 -static int latency 882,22591 -static int digital 883,22616 -static int analog 884,22640 -static int rate;885,22663 -#define BTA_OSPREY200 887,22681 -static struct cardinfo cards[889,22706 -static int __devinit btaudio_probe(900,22862 -static void __devexit btaudio_remove(1028,26218 -static struct pci_device_id btaudio_pci_tbl[1069,27191 -static struct pci_driver btaudio_pci_driver 1091,27671 -static int btaudio_init_module(1098,27870 -static void btaudio_cleanup_module(1107,28130 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/nec_vrc5477.c,4343 -#define VRC5477_AC97_DEBUG88,2799 -#define VRC5477_AC97_DEBUG94,2943 -#define ASSERT(ASSERT98,3010 -#define ASSERT(ASSERT101,3118 -static u16 inTicket;105,3209 -static u16 outTicket;106,3270 -static const unsigned sample_shift[113,3416 -#define VRC5477_INT_CLR 115,3472 -#define VRC5477_INT_STATUS 116,3516 -#define VRC5477_CODEC_WR 117,3555 -#define VRC5477_CODEC_RD 118,3599 -#define VRC5477_CTRL 119,3643 -#define VRC5477_ACLINK_CTRL 120,3688 -#define VRC5477_INT_MASK 121,3733 -#define VRC5477_DAC1_CTRL 123,3779 -#define VRC5477_DAC1L 124,3811 -#define VRC5477_DAC1_BADDR 125,3840 -#define VRC5477_DAC2_CTRL 126,3873 -#define VRC5477_DAC2L 127,3905 -#define VRC5477_DAC2_BADDR 128,3934 -#define VRC5477_DAC3_CTRL 129,3967 -#define VRC5477_DAC3L 130,3999 -#define VRC5477_DAC3_BADDR 131,4028 -#define VRC5477_ADC1_CTRL 133,4062 -#define VRC5477_ADC1L 134,4094 -#define VRC5477_ADC1_BADDR 135,4123 -#define VRC5477_ADC2_CTRL 136,4156 -#define VRC5477_ADC2L 137,4188 -#define VRC5477_ADC2_BADDR 138,4217 -#define VRC5477_ADC3_CTRL 139,4250 -#define VRC5477_ADC3L 140,4282 -#define VRC5477_ADC3_BADDR 141,4311 -#define VRC5477_CODEC_WR_RWC 143,4345 -#define VRC5477_CODEC_RD_RRDYA 145,4386 -#define VRC5477_CODEC_RD_RRDYD 146,4428 -#define VRC5477_ACLINK_CTRL_RST_ON 148,4471 -#define VRC5477_ACLINK_CTRL_RST_TIME 149,4517 -#define VRC5477_ACLINK_CTRL_SYNC_ON 150,4560 -#define VRC5477_ACLINK_CTRL_CK_STOP_ON 151,4607 -#define VRC5477_CTRL_DAC2ENB 153,4658 -#define VRC5477_CTRL_ADC2ENB 154,4700 -#define VRC5477_CTRL_DAC1ENB 155,4742 -#define VRC5477_CTRL_ADC1ENB 156,4784 -#define VRC5477_INT_MASK_NMASK 158,4827 -#define VRC5477_INT_MASK_DAC1END 159,4871 -#define VRC5477_INT_MASK_DAC2END 160,4915 -#define VRC5477_INT_MASK_DAC3END 161,4959 -#define VRC5477_INT_MASK_ADC1END 162,5003 -#define VRC5477_INT_MASK_ADC2END 163,5047 -#define VRC5477_INT_MASK_ADC3END 164,5091 -#define VRC5477_DMA_ACTIVATION 166,5136 -#define VRC5477_DMA_WIP 167,5179 -#define VRC5477_AC97_MODULE_NAME 170,5218 -#define PFX 171,5271 -struct vrc5477_ac97_state vrc5477_ac97_state175,5391 - struct dmabuf dmabuf206,6024 - #define WORK_BUF_SIZE 224,6451 -static inline unsigned ld2(237,6733 -static u16 rdcodec(264,7103 -static void wrcodec(299,8026 -static void waitcodec(317,8486 -static int ac97_codec_not_present(326,8726 -static void vrc5477_ac97_delay(366,9665 -static void set_adc_rate(384,9913 -static void set_dac_rate(391,10057 -stop_dac(403,10388 -static void start_dac(443,11403 -static inline void stop_adc(520,13535 -static void start_adc(556,14431 -#define DMABUF_DEFAULTORDER 616,16118 -#define DMABUF_MINORDER 617,16162 -static inline void dealloc_dmabuf(619,16189 -static int prog_dmabuf(634,16579 -static inline int prog_dmabuf_adc(693,17860 -static inline int prog_dmabuf_dac(699,17998 -static inline void vrc5477_ac97_adc_interrupt(709,18253 -static inline void vrc5477_ac97_dac_interrupt(750,19369 -static irqreturn_t vrc5477_ac97_interrupt(813,21144 -static int vrc5477_ac97_open_mixdev(856,22514 -static int vrc5477_ac97_release_mixdev(873,22937 -static int mixdev_ioctl(879,23033 -static int vrc5477_ac97_ioctl_mixdev(885,23173 -static /*const*/ struct file_operations vrc5477_ac97_mixer_fops 895,23475 -static int drain_dac(905,23786 -copy_two_channel_adc_to_user(934,24386 -copy_adc_to_user(964,25109 -vrc5477_ac97_read(1032,26897 -copy_two_channel_dac_from_user(1089,28058 -copy_dac_from_user(1123,28978 -static ssize_t vrc5477_ac97_write(1219,31722 -static unsigned int vrc5477_ac97_poll(1269,32851 -static struct ioctl_str_t ioctl_str_t1295,33644 -} ioctl_str[1298,33715 -static int vrc5477_ac97_ioctl(1336,35477 -static int vrc5477_ac97_open(1564,41191 -static int vrc5477_ac97_release(1630,42654 -static /*const*/ struct file_operations vrc5477_ac97_audio_fops 1654,43237 -} vrc5477_ac97_regs[1682,43911 -static int proc_vrc5477_ac97_dump 1710,44940 -#define NR_DEVICE 1806,48772 -static unsigned int devindex;1808,48793 -static int __devinit vrc5477_ac97_probe(1814,48978 -static void __devexit vrc5477_ac97_remove(1963,53327 -static struct pci_device_id id_table[1987,53867 -static struct pci_driver vrc5477_ac97_driver 1995,54058 -static int __init init_vrc5477_ac97(2002,54247 -static void __exit cleanup_vrc5477_ac97(2008,54431 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/msnd_pinnacle.c,4814 -# define SLOWIO56,1739 -# define HAVE_DSPCODEH62,1844 -# define LOGNAME 65,1907 -# define HAVE_DSPCODEH68,1982 -# define LOGNAME 71,2046 -# define CONFIG_MSND_WRITE_NDELAY 75,2123 -#define get_play_delay_jiffies(get_play_delay_jiffies78,2168 -#define get_rec_delay_jiffies(get_rec_delay_jiffies83,2317 -static multisound_dev_t dev;88,2462 -static char *dspini,91,2516 -static char *dspini, *permini;91,2516 -static int sizeof_dspini,92,2550 -static int sizeof_dspini, sizeof_permini;92,2550 -static __inline__ int chk_send_dsp_cmd(98,2678 -static void reset_play_queue(106,2871 -static void reset_record_queue(127,3629 -static void reset_queues(156,4697 -static int dsp_set_format(168,4916 -static int dsp_get_frag_size(200,5587 -static int dsp_ioctl(209,5721 -static int mixer_get(381,9705 -#define update_volm(update_volm403,10111 -#define update_potm(update_potm411,10434 -#define update_pot(update_pot421,10851 -static int mixer_set(429,11124 -static void mixer_setup(501,13075 -static unsigned long set_recsrc(513,13465 -static unsigned long force_recsrc(552,14443 -#define set_mixer_info(set_mixer_info558,14549 -static int mixer_ioctl(563,14738 -static int dev_ioctl(648,16568 -static void dsp_write_flush(665,16975 -static void dsp_halt(681,17428 -static int dsp_release(707,18143 -static int dsp_open(713,18218 -static void set_default_play_audio_parameters(740,18933 -static void set_default_rec_audio_parameters(747,19102 -static void set_default_audio_parameters(754,19267 -static int dev_open(760,19394 -static int dev_release(795,20255 -static __inline__ int pack_DARQ_to_DARF(811,20548 -static __inline__ int pack_DAPF_to_DAPQ(843,21444 -static int dsp_read(892,22720 -static int dsp_write(950,24012 -static ssize_t dev_read(1009,25261 -static ssize_t dev_write(1018,25484 -static __inline__ void eval_dsp_msg(1027,25715 -static irqreturn_t intr(1091,27272 -static struct file_operations dev_fileops 1110,27815 -static int reset_dsp(1119,27998 -static int __init probe_multisound(1140,28400 -static int init_sma(1198,29870 -static int __init calibrate_adc(1270,32104 -static int upload_dsp_code(1290,32736 -static void reset_proteus(1327,33629 -static int initialize(1336,33819 -static int dsp_full_reset(1373,34465 -static int __init attach_multisound(1392,34887 -static void __exit unload_multisound(1443,36183 -static int __init msnd_write_cfg(1456,36469 -static int __init msnd_write_cfg_io0(1467,36710 -static int __init msnd_write_cfg_io1(1478,36992 -static int __init msnd_write_cfg_irq(1489,37274 -static int __init msnd_write_cfg_mem(1500,37558 -static int __init msnd_activate_logical(1518,38001 -static int __init msnd_write_cfg_logical(1527,38206 -typedef struct msnd_pinnacle_cfg_device msnd_pinnacle_cfg_device1544,38655 -} msnd_pinnacle_cfg_t[msnd_pinnacle_cfg_t1547,38728 -static int __init msnd_pinnacle_cfg_devices(1549,38755 -static int io __initdata 1624,40699 -static int irq __initdata 1625,40731 -static int mem __initdata 1626,40764 -static int write_ndelay __initdata 1627,40797 -static int cfg __initdata 1631,40900 -static int reset __initdata 1634,40971 -static int mpu_io __initdata 1635,41004 -static int mpu_irq __initdata 1636,41038 -static int ide_io0 __initdata 1637,41073 -static int ide_io1 __initdata 1638,41108 -static int ide_irq __initdata 1639,41143 -static int joystick_io __initdata 1640,41178 -static int digital __initdata 1643,41263 -static int fifosize __initdata 1646,41306 -static int calibrate_signal __initdata 1647,41352 -static int write_ndelay __initdata 1651,41423 -static int io __initdata 1654,41485 -static int irq __initdata 1655,41533 -static int mem __initdata 1656,41583 -static int io __initdata 1659,41660 -static int irq __initdata 1660,41707 -static int mem __initdata 1661,41756 -# define CONFIG_MSNDPIN_CFG 1666,41904 -# define CONFIG_MSNDPIN_CFG 1672,42024 -static int cfg __initdata 1674,42064 -static int reset;1676,42173 -# define CONFIG_MSNDPIN_MPU_IO 1680,42278 -static int mpu_io __initdata 1682,42320 -# define CONFIG_MSNDPIN_MPU_IRQ 1685,42407 -static int mpu_irq __initdata 1687,42449 -# define CONFIG_MSNDPIN_IDE_IO0 1690,42538 -static int ide_io0 __initdata 1692,42580 -# define CONFIG_MSNDPIN_IDE_IO1 1695,42669 -static int ide_io1 __initdata 1697,42711 -# define CONFIG_MSNDPIN_IDE_IRQ 1700,42800 -static int ide_irq __initdata 1702,42842 -# define CONFIG_MSNDPIN_JOYSTICK_IO 1705,42935 -static int joystick_io __initdata 1707,42981 -# define CONFIG_MSNDPIN_DIGITAL 1711,43118 -static int digital __initdata 1713,43160 -# define CONFIG_MSND_FIFOSIZE 1718,43274 -static int fifosize __initdata 1720,43325 -# define CONFIG_MSND_CALSIGNAL 1723,43411 -calibrate_signal __initdata 1726,43464 -static int __init msnd_init(1730,43540 -static void __exit msdn_cleanup(1915,48421 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sh_dac_audio.c,1146 -#define MODNAME 24,488 -#define TMU_TOCR_INIT 26,520 -#define TMU1_TCR_INIT 28,548 -#define TMU1_TSTR_INIT 29,618 -#define TMU_TSTR 31,674 -#define TMU1_TCOR 32,702 -#define TMU1_TCNT 33,731 -#define TMU1_TCR 34,760 -#define BUFFER_SIZE 36,789 -static int rate;38,816 -static int empty;39,833 -static char *data_buffer,40,851 -static char *data_buffer, *buffer_begin,40,851 -static char *data_buffer, *buffer_begin, *buffer_end;40,851 -static int in_use,41,905 -static int in_use, device_major;41,905 -static void dac_audio_start_timer(43,939 -static void dac_audio_stop_timer(52,1076 -static void dac_audio_reset(61,1213 -static void dac_audio_sync(68,1331 -static void dac_audio_start(74,1399 -static void dac_audio_stop(85,1638 -static void dac_audio_set_rate(99,1890 -static int dac_audio_ioctl(108,2080 -static ssize_t dac_audio_write(172,3257 -static ssize_t dac_audio_read(223,4270 -static int dac_audio_open(229,4390 -static int dac_audio_release(243,4588 -struct file_operations dac_audio_fops 252,4725 -static irqreturn_t timer1_interrupt(260,4933 -static int __init dac_audio_init(282,5430 -static void __exit dac_audio_exit(312,6023 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/aedsp16.c,4268 -#define VERSION 258,10328 -# define DBG(DBG265,10639 -# define DBG1(DBG1267,10698 -# define DBG1(DBG1269,10732 -# define DBG(DBG272,10764 -# define DBG1(DBG1273,10780 -#define TRUE 279,10832 -#define FALSE 280,10847 -#define IOBASE_REGION_SIZE 285,10920 -#define DEF_AEDSP16_IOB 290,10989 -#define DEF_AEDSP16_IRQ 291,11064 -#define DEF_AEDSP16_MRQ 292,11133 -#define DEF_AEDSP16_DMA 293,11202 -#define WRITE_MDIRQ_CFG 299,11388 -#define COMMAND_52 300,11462 -#define READ_HARD_CFG 301,11536 -#define COMMAND_5C 302,11610 -#define COMMAND_60 303,11684 -#define COMMAND_66 304,11758 -#define COMMAND_6C 305,11832 -#define COMMAND_6E 306,11906 -#define COMMAND_88 307,11980 -#define DSP_INIT_MSS 308,12054 -#define COMMAND_C5 309,12128 -#define GET_DSP_VERSION 310,12202 -#define GET_DSP_COPYRIGHT 311,12276 -#define DSP_RESET 322,12570 -#define DSP_READ 323,12639 -#define DSP_WRITE 324,12708 -#define DSP_COMMAND 325,12777 -#define DSP_STATUS 326,12846 -#define DSP_DATAVAIL 327,12915 -#define RETRY 330,12986 -#define STATUSRETRY 331,13056 -#define HARDRETRY 332,13126 -#define CARDNAMELEN 337,13274 -#define CARDVERLEN 338,13341 -#define IOBASE(IOBASE347,13540 -#define JOY(JOY348,13586 -#define MPUADDR(MPUADDR349,13617 -#define WSSADDR(WSSADDR354,13733 -#define CDROM(CDROM355,13780 -#define CDROMADDR(CDROMADDR356,13811 -#define BLDIOBASE(BLDIOBASE360,13887 -#define BLDJOY(BLDJOY365,13980 -#define BLDMPUADDR(BLDMPUADDR370,14067 -#define BLDWSSADDR(BLDWSSADDR390,14381 -#define BLDCDROM(BLDCDROM395,14475 -#define BLDCDROMADDR(BLDCDROMADDR400,14564 -#define INIT_NONE 415,14856 -#define INIT_SBPRO 416,14883 -#define INIT_MSS 417,14910 -#define INIT_MPU401 418,14937 -static int soft_cfg __initdata 420,14965 -static int soft_cfg_mss __initdata 421,15029 -static int ver[422,15101 -static int ver[CARDVERLEN] __initdata 422,15101 -static int hard_cfg[426,15228 - __initdata 427,15298 -struct d_hcfg d_hcfg432,15429 -struct d_hcfg decoded_hcfg __initdata 441,15533 -struct orVals orVals446,15663 -struct aedsp16_info aedsp16_info452,15863 -static struct orVals orIRQ[466,16483 -static struct orVals orIRQ[] __initdata 466,16483 -static struct orVals orMIRQ[476,16663 -static struct orVals orMIRQ[] __initdata 476,16663 -static struct orVals orDMA[485,16829 -static struct orVals orDMA[] __initdata 485,16829 -static struct aedsp16_info ae_config __initdata 492,16936 -static char DSPCopyright[505,17136 -static char DSPCopyright[CARDNAMELEN + 1] __initdata 505,17136 -static char DSPVersion[506,17202 -static char DSPVersion[CARDVERLEN + 1] __initdata 506,17202 -static int __init aedsp16_wait_data(508,17266 -static int __init aedsp16_read(531,17665 -static int __init aedsp16_test_dsp(549,17948 -static int __init aedsp16_dsp_reset(554,18053 -static int __init aedsp16_write(575,18375 -void __init aedsp16_pinfo(603,18938 -void __init aedsp16_hard_decode(613,19349 -void __init aedsp16_hard_encode(657,20495 -static int __init aedsp16_hard_write(682,21105 -static int __init aedsp16_hard_read(717,21921 -static int __init aedsp16_ext_cfg_write(751,22682 -static int __init aedsp16_cfg_write(805,23884 -static int __init aedsp16_init_mss(817,24197 -static int __init aedsp16_setup_board(842,24604 -static int __init aedsp16_stdcfg(931,26561 -static int __init aedsp16_dsp_version(946,26893 -static int __init aedsp16_dsp_copyright(977,27516 -static void __init aedsp16_init_tables(1013,28193 -static int __init aedsp16_init_board(1037,28712 -static int __init init_aedsp16_sb(1138,31063 -static void __init uninit_aedsp16_sb(1158,31448 -static int __init init_aedsp16_mss(1167,31580 -static void __init uninit_aedsp16_mss(1199,32317 -static int __init init_aedsp16_mpu(1213,32630 -static void __init uninit_aedsp16_mpu(1240,33191 -int __init init_aedsp16(1255,33523 -void __init uninit_aedsp16(1297,34433 -static int __initdata io 1307,34610 -static int __initdata irq 1308,34641 -static int __initdata dma 1309,34673 -static int __initdata mpu_irq 1310,34705 -static int __initdata mss_base 1311,34741 -static int __initdata mpu_base 1312,34778 -static int __init do_init_aedsp16(1330,35475 -static void __exit cleanup_aedsp16(1356,36080 -static int __init setup_aedsp16(1364,36221 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs46xx_wrapper-24.h,634 -#define __CS46XX_WRAPPER24_H27,1231 -#define CS_OWNER 31,1290 -#define CS_THIS_MODULE 32,1316 -void cs46xx_null(33,1352 -#define cs4x_mem_map_reserve(cs4x_mem_map_reserve34,1405 -#define cs4x_mem_map_unreserve(cs4x_mem_map_unreserve35,1462 -#define free_dmabuf(free_dmabuf37,1524 -#define free_dmabuf2(free_dmabuf241,1687 -#define cs4x_pgoff(cs4x_pgoff45,1870 -#define RSRCISIOREGION(RSRCISIOREGION47,1913 -#define RSRCISMEMORYREGION(RSRCISMEMORYREGION49,2073 -#define RSRCADDRESS(RSRCADDRESS51,2241 -#define PCI_GET_DRIVER_DATA 52,2301 -#define PCI_SET_DRIVER_DATA 53,2345 -#define PCI_SET_DMA_MASK(PCI_SET_DMA_MASK54,2389 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/awe_wave.h,468 -#define DEF_FM_CHORUS_DEPTH 29,983 -#define DEF_FM_REVERB_DEPTH 30,1016 -#define AWE_DEBUG_ON41,1187 -#define AWE_HAS_GUS_COMPATIBILITY44,1235 -#define CONFIG_AWE32_MIDIEMU47,1308 -#define AWE_USE_NEW_VOLUME_CALC53,1461 -#define AWE_CHECK_VTARGET56,1555 -#define AWE_ALLOW_SAMPLE_SHARING59,1609 -#define AWE_MAJOR_VERSION 73,1933 -#define AWE_MINOR_VERSION 74,1961 -#define AWE_TINY_VERSION 75,1989 -#define AWE_VERSION_NUMBER 76,2016 -#define AWEDRV_VERSION 77,2109 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus_linearvol.h,41 -static unsigned short gus_linearvol[1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/msnd_classic.c,26 -#define MSND_CLASSIC2,74 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ad1816.c,2267 -#define DEBUGNOISE(DEBUGNOISE53,1531 -#define CHECK_FOR_POWER 55,1554 -} ad1816_info;ad1816_info88,2591 -static int nr_ad1816_devs;90,2607 -static int ad1816_clockfreq 91,2634 -static int options;92,2671 -static int ad_format_mask 95,2722 -static ad1816_info dev_info[99,2854 -static int ad_read 106,3032 -static void ad_write 118,3251 -static void ad1816_halt_input 130,3627 -static void ad1816_halt_output 161,4322 -static void ad1816_output_block 195,5103 -static void ad1816_start_input 216,5634 -static int ad1816_prepare_for_input 235,6153 -static int ad1816_prepare_for_output 267,7046 -static void ad1816_trigger 301,7947 -static void ad1816_halt 340,8968 -static void ad1816_reset 346,9058 -static int ad1816_set_speed 352,9143 -static unsigned int ad1816_set_bits 387,9857 - static struct format_tbl format_tbl392,10010 -static short ad1816_set_channels 435,11011 -static int ad1816_open 447,11241 -static void ad1816_close 479,11950 -static struct audio_driver ad1816_audio_driver 501,12462 -static irqreturn_t ad1816_interrupt 525,13098 -struct mixer_def mixer_def564,14135 -static char mix_cvt[571,14282 -typedef struct mixer_def mixer_ent;mixer_ent580,14630 -#define MIX_ENT(MIX_ENT591,14993 -mixer_ent mix_devices[595,15142 -static unsigned short default_mixer_levels[616,16123 -#define LEFT_CHN 637,16627 -#define RIGHT_CHN 638,16646 -ad1816_set_recmask 643,16680 -change_bits 714,17856 -ad1816_mixer_get 735,18330 -ad1816_mixer_set 749,18672 -#define MIXER_DEVICES 842,20740 -#define REC_DEVICES 853,20999 -ad1816_mixer_reset 862,21203 -ad1816_mixer_ioctl 877,21545 -static struct mixer_operations ad1816_mixer_operations 952,23187 -static int __init ad1816_init_card 968,23623 -static void __exit unload_card(1171,29390 -static int __initdata io 1209,30228 -static int __initdata irq 1210,30259 -static int __initdata dma 1211,30291 -static int __initdata dma2 1212,30323 -static int isapnp 1216,30410 -static int isapnpjump;1217,30433 -} isapnp_ad1816_list[1235,30823 -} isapnp_ad1816_list[] __initdata 1235,30823 -void __init ad1816_config_pnp_card(1248,31118 -void __init ad1816_config_pnp_cards(1273,31873 -static int __init init_ad1816(1301,32705 -static void __exit cleanup_ad1816 1333,33451 -static int __init setup_ad1816(1352,33852 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/uart401.c,1381 -typedef struct uart401_devcuart401_devc32,767 -uart401_devc;uart401_devc44,1075 -#define DATAPORT 46,1090 -#define COMDPORT 47,1122 -#define STATPORT 48,1156 -static int uart401_status(50,1191 -#define input_avail(input_avail55,1266 -#define output_ready(output_ready56,1330 -static void uart401_cmd(58,1397 -static int uart401_read(63,1490 -static void uart401_write(68,1563 -#define OUTPUT_READY 73,1660 -#define INPUT_AVAIL 74,1686 -#define MPU_ACK 75,1711 -#define MPU_RESET 76,1733 -#define UART_MODE_ON 77,1756 -static void uart401_input_loop(82,1890 -irqreturn_t uart401intr(99,2337 -uart401_open(115,2614 -static void uart401_close(138,3041 -static int uart401_out(146,3184 -static inline int uart401_start_read(183,4041 -static inline int uart401_end_read(188,4103 -static inline void uart401_kick(193,4163 -static inline int uart401_buffer_status(197,4209 -#define MIDI_SYNTH_NAME 202,4274 -#define MIDI_SYNTH_CAPS 203,4313 -static const struct midi_operations uart401_operations 206,4378 -static void enter_uart_mode(221,4776 -static int reset_uart401(243,5275 -int probe_uart401(292,6218 -void unload_uart401(396,9046 -static struct address_info cfg_mpu;431,9732 -static int __initdata io 433,9769 -static int __initdata irq 434,9800 -static int __init init_uart401(440,9880 -static void __exit cleanup_uart401(456,10261 -static int __init setup_uart401(466,10457 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/nm256_audio.c,2127 -int nm256_debug;34,955 -static int force_load;35,972 -#define NM256_PLAY_WMARK_SIZE 42,1151 -static struct audio_driver nm256_audio_driver;44,1186 -#define PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO 53,1638 -#define PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO 54,1690 -#define PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO 55,1742 -static struct nm256_info *nmcard_list;58,1822 -nm256_release_ports 62,1920 -nm256_remap_ports 85,2572 -nm256_find_card 110,3184 -nm256_find_card_for_mixer 126,3518 -static int usecache;137,3725 -static int buffertop;138,3746 -nm256_cachedCoefficients 142,3840 -static int samplerates[148,3963 -nm256_setInfo 161,4364 -startPlay 222,5779 -nm256_startRecording 246,6427 -stopPlay 313,8331 -stopRecord 331,8788 -nm256_write_block 355,9447 -nm256_get_new_block 427,11476 -nm256_read_block 462,12513 -nm256_initHw 510,13916 -nm256_interrupt 530,14475 -nm256_interrupt_zx 633,17095 -nm256_grabInterrupt 734,19647 -nm256_releaseInterrupt 750,19970 -nm256_isReady 769,20352 -nm256_readAC97Reg 802,21110 -nm256_writeAC97Reg 829,21700 -struct initialValues initialValues872,22729 -static struct initialValues nm256_ac97_initial_values[878,22808 -nm256_resetAC97 899,23514 -nm256_default_mixer_ioctl 932,24429 -static struct mixer_operations nm256_mixer_operations 941,24669 -static struct ac97_mixer_value_list mixer_defaults[954,24979 -nm256_install_mixer 965,25322 -nm256_full_reset 996,26123 -nm256_peek_for_sig 1009,26406 -nm256_install(1051,27602 -handle_pm_event 1248,33152 -nm256_probe(1273,33782 -nm256_remove(1285,34282 -nm256_audio_open(1317,35105 -nm256_audio_close(1386,36557 -nm256_audio_ioctl(1421,37150 -nm256_getDMAbuffer 1525,39370 -nm256_audio_output_block(1553,40235 -nm256_audio_start_input(1568,40628 -nm256_audio_prepare_for_input(1588,41103 -nm256_audio_prepare_for_output(1615,41806 -nm256_audio_reset(1631,42175 -nm256_audio_local_qlen(1644,42414 -static struct audio_driver nm256_audio_driver 1649,42465 -static struct pci_device_id nm256_pci_tbl[1663,42901 -struct pci_driver nm256_pci_driver 1676,43317 -static int __init do_init_nm256(1688,43586 -static void __exit cleanup_nm256 1694,43752 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sequencer_syms.c,62 -char sequencer_syms_symbol;7,77 -#define _SEQUENCER_C_26,509 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/es1371.c,9316 -#define ES1371_DEBUG139,7348 -#define DBG(DBG140,7369 -#define PCI_VENDOR_ID_ENSONIQ 146,7518 -#define PCI_VENDOR_ID_ECTIVA 150,7603 -#define PCI_DEVICE_ID_ENSONIQ_ES1371 154,7692 -#define PCI_DEVICE_ID_ENSONIQ_CT5880 158,7781 -#define PCI_DEVICE_ID_ECTIVA_EV1938 162,7869 -#define ES1371REV_ES1373_A 171,8236 -#define ES1371REV_ES1373_B 172,8269 -#define ES1371REV_CT5880_A 173,8302 -#define CT5880REV_CT5880_C 174,8335 -#define CT5880REV_CT5880_D 175,8368 -#define ES1371REV_ES1371_B 176,8401 -#define EV1938REV_EV1938_A 177,8434 -#define ES1371REV_ES1373_8 178,8467 -#define ES1371_MAGIC 180,8501 -#define ES1371_EXTENT 182,8583 -#define JOY_EXTENT 183,8622 -#define ES1371_REG_CONTROL 185,8659 -#define ES1371_REG_STATUS 186,8698 -#define ES1371_REG_UART_DATA 187,8776 -#define ES1371_REG_UART_STATUS 188,8815 -#define ES1371_REG_UART_CONTROL 189,8854 -#define ES1371_REG_UART_TEST 190,8893 -#define ES1371_REG_MEMPAGE 191,8932 -#define ES1371_REG_SRCONV 192,8971 -#define ES1371_REG_CODEC 193,9010 -#define ES1371_REG_LEGACY 194,9049 -#define ES1371_REG_SERIAL_CONTROL 195,9088 -#define ES1371_REG_DAC1_SCOUNT 196,9127 -#define ES1371_REG_DAC2_SCOUNT 197,9166 -#define ES1371_REG_ADC_SCOUNT 198,9205 -#define ES1371_REG_DAC1_FRAMEADR 200,9245 -#define ES1371_REG_DAC1_FRAMECNT 201,9285 -#define ES1371_REG_DAC2_FRAMEADR 202,9325 -#define ES1371_REG_DAC2_FRAMECNT 203,9365 -#define ES1371_REG_ADC_FRAMEADR 204,9405 -#define ES1371_REG_ADC_FRAMECNT 205,9445 -#define ES1371_FMT_U8_MONO 207,9486 -#define ES1371_FMT_U8_STEREO 208,9519 -#define ES1371_FMT_S16_MONO 209,9552 -#define ES1371_FMT_S16_STEREO 210,9585 -#define ES1371_FMT_STEREO 211,9618 -#define ES1371_FMT_S16 212,9651 -#define ES1371_FMT_MASK 213,9684 -static const unsigned sample_size[215,9718 -static const unsigned sample_shift[216,9772 -#define CTRL_RECEN_B 218,9828 -#define CTRL_SPDIFEN_B 219,9909 -#define CTRL_JOY_SHIFT 220,9944 -#define CTRL_JOY_MASK 221,9971 -#define CTRL_JOY_200 222,9997 -#define CTRL_JOY_208 223,10061 -#define CTRL_JOY_210 224,10096 -#define CTRL_JOY_218 225,10131 -#define CTRL_GPIO_IN0 226,10166 -#define CTRL_GPIO_IN1 227,10239 -#define CTRL_GPIO_IN2 228,10274 -#define CTRL_GPIO_IN3 229,10309 -#define CTRL_GPIO_OUT0 230,10344 -#define CTRL_GPIO_OUT1 231,10379 -#define CTRL_GPIO_OUT2 232,10414 -#define CTRL_GPIO_OUT3 233,10449 -#define CTRL_MSFMTSEL 234,10484 -#define CTRL_SYNCRES 235,10566 -#define CTRL_ADCSTOP 236,10624 -#define CTRL_PWR_INTRM 237,10685 -#define CTRL_M_CB 238,10756 -#define CTRL_CCB_INTRM 239,10834 -#define CTRL_PDLEV0 240,10905 -#define CTRL_PDLEV1 241,10964 -#define CTRL_PDLEV2 242,10999 -#define CTRL_PDLEV3 243,11034 -#define CTRL_BREQ 244,11069 -#define CTRL_DAC1_EN 245,11145 -#define CTRL_DAC2_EN 246,11199 -#define CTRL_ADC_EN 247,11253 -#define CTRL_UART_EN 248,11306 -#define CTRL_JYSTK_EN 249,11365 -#define CTRL_XTALCLKDIS 250,11428 -#define CTRL_PCICLKDIS 251,11502 -#define STAT_INTR 254,11581 -#define CSTAT_5880_AC97_RST 255,11654 -#define STAT_EN_SPDIF 256,11716 -#define STAT_TS_SPDIF 257,11782 -#define STAT_TESTMODE 258,11846 -#define STAT_SYNC_ERR 259,11898 -#define STAT_VC 260,11961 -#define STAT_SH_VC 261,12050 -#define STAT_MPWR 262,12076 -#define STAT_MCCB 263,12140 -#define STAT_UART 264,12198 -#define STAT_DAC1 265,12257 -#define STAT_DAC2 266,12316 -#define STAT_ADC 267,12375 -#define USTAT_RXINT 269,12434 -#define USTAT_TXINT 270,12496 -#define USTAT_TXRDY 271,12558 -#define USTAT_RXRDY 272,12614 -#define UCTRL_RXINTEN 274,12671 -#define UCTRL_TXINTEN 275,12732 -#define UCTRL_ENA_TXINT 276,12799 -#define UCTRL_CNTRL 277,12855 -#define UCTRL_CNTRL_SWR 278,12911 -#define SRC_OKSTATE 281,13005 -#define SRC_RAMADDR_MASK 283,13035 -#define SRC_RAMADDR_SHIFT 284,13073 -#define SRC_DAC1FREEZE 285,13103 -#define SRC_DAC2FREEZE 286,13142 -#define SRC_ADCFREEZE 287,13182 -#define SRC_WE 290,13223 -#define SRC_BUSY 291,13299 -#define SRC_DIS 292,13353 -#define SRC_DDAC1 293,13414 -#define SRC_DDAC2 294,13493 -#define SRC_DADC 295,13572 -#define SRC_CTLMASK 296,13651 -#define SRC_RAMDATA_MASK 297,13689 -#define SRC_RAMDATA_SHIFT 298,13727 -#define SRCREG_ADC 300,13757 -#define SRCREG_DAC1 301,13786 -#define SRCREG_DAC2 302,13815 -#define SRCREG_VOL_ADC 303,13844 -#define SRCREG_VOL_DAC1 304,13873 -#define SRCREG_VOL_DAC2 305,13902 -#define SRCREG_TRUNC_N 307,13932 -#define SRCREG_INT_REGS 308,13964 -#define SRCREG_ACCUM_FRAC 309,13996 -#define SRCREG_VFREQ_FRAC 310,14028 -#define CODEC_PIRD 312,14061 -#define CODEC_PIADD_MASK 313,14129 -#define CODEC_PIADD_SHIFT 314,14166 -#define CODEC_PIDAT_MASK 315,14195 -#define CODEC_PIDAT_SHIFT 316,14232 -#define CODEC_RDY 318,14261 -#define CODEC_WIP 319,14326 -#define CODEC_PORD 320,14393 -#define CODEC_POADD_MASK 321,14461 -#define CODEC_POADD_SHIFT 322,14498 -#define CODEC_PODAT_MASK 323,14527 -#define CODEC_PODAT_SHIFT 324,14564 -#define LEGACY_JFAST 327,14594 -#define LEGACY_FIRQ 328,14659 -#define SCTRL_DACTEST 330,14714 -#define SCTRL_P2ENDINC 331,14804 -#define SCTRL_SH_P2ENDINC 332,14849 -#define SCTRL_P2STINC 333,14878 -#define SCTRL_SH_P2STINC 334,14923 -#define SCTRL_R1LOOPSEL 335,14952 -#define SCTRL_P2LOOPSEL 336,15010 -#define SCTRL_P1LOOPSEL 337,15068 -#define SCTRL_P2PAUSE 338,15126 -#define SCTRL_P1PAUSE 339,15185 -#define SCTRL_R1INTEN 340,15244 -#define SCTRL_P2INTEN 341,15305 -#define SCTRL_P1INTEN 342,15366 -#define SCTRL_P1SCTRLD 343,15427 -#define SCTRL_P2DACSEN 344,15509 -#define SCTRL_R1SEB 345,15598 -#define SCTRL_R1SMB 346,15652 -#define SCTRL_R1FMT 347,15707 -#define SCTRL_SH_R1FMT 348,15763 -#define SCTRL_P2SEB 349,15791 -#define SCTRL_P2SMB 350,15845 -#define SCTRL_P2FMT 351,15900 -#define SCTRL_SH_P2FMT 352,15956 -#define SCTRL_P1SEB 353,15984 -#define SCTRL_P1SMB 354,16038 -#define SCTRL_P1FMT 355,16093 -#define SCTRL_SH_P1FMT 356,16149 -#define POLL_COUNT 360,16196 -#define FMODE_DAC 361,16224 -#define MIDIINBUF 365,16318 -#define MIDIOUTBUF 366,16341 -#define FMODE_MIDI_SHIFT 368,16365 -#define FMODE_MIDI_READ 369,16392 -#define FMODE_MIDI_WRITE 370,16450 -#define ES1371_MODULE_NAME 372,16510 -#define PFX 373,16546 -struct es1371_state es1371_state377,16660 - struct dmabuf dmabuf421,17474 -static inline unsigned ld2(466,18485 -static unsigned wait_src_ready(493,18831 -static unsigned src_read(506,19119 -static void src_write(540,20248 -static void set_adc_rate(555,20703 -static void set_dac1_rate(592,21749 -static void set_dac2_rate(615,22501 -static void __init src_init(640,23330 -static void wrcodec(679,24722 -static u16 rdcodec(721,26053 -static inline void stop_adc(777,27759 -static inline void stop_dac1(787,27987 -static inline void stop_dac2(797,28217 -static void start_dac1(807,28447 -static void start_dac2(829,29305 -static void start_adc(854,30296 -#define DMABUF_DEFAULTORDER 878,31235 -#define DMABUF_MINORDER 879,31279 -static inline void dealloc_dmabuf(882,31307 -static int prog_dmabuf(897,31773 -static inline int prog_dmabuf_adc(950,33614 -static inline int prog_dmabuf_dac2(957,33820 -static inline int prog_dmabuf_dac1(964,34031 -static inline unsigned get_hwptr(971,34241 -static inline void clear_advance(982,34553 -static void es1371_update_ptr(994,34855 -static void es1371_handle_midi(1062,37233 -static irqreturn_t es1371_interrupt(1094,38088 -static const char invalid_magic[1122,38896 -#define VALIDATE_STATE(VALIDATE_STATE1124,38972 -static const unsigned short DACVolTable[1136,39461 -static int mixdev_ioctl(1157,40443 -static int es1371_open_mixdev(1211,42107 -static int es1371_release_mixdev(1229,42539 -static int es1371_ioctl_mixdev(1237,42719 -static /*const*/ struct file_operations es1371_mixer_fops 1245,42979 -static int drain_dac1(1255,43266 -static int drain_dac2(1290,44443 -static ssize_t es1371_read(1327,45698 -static ssize_t es1371_write(1404,47421 -static unsigned int es1371_poll(1488,49408 -static int es1371_mmap(1524,50454 -static int es1371_ioctl(1569,51346 -static int es1371_open(1913,61554 -static int es1371_release(1980,63501 -static /*const*/ struct file_operations es1371_audio_fops 2004,64086 -static ssize_t es1371_write_dac(2018,64446 -static unsigned int es1371_poll_dac(2089,66269 -static int es1371_mmap_dac(2112,66966 -static int es1371_ioctl_dac(2140,67637 -static int es1371_open_dac(2343,73378 -static int es1371_release_dac(2400,75017 -static /*const*/ struct file_operations es1371_dac_fops 2417,75414 -static ssize_t es1371_midi_read(2430,75773 -static ssize_t es1371_midi_write(2491,77142 -static unsigned int es1371_midi_poll(2557,78724 -static int es1371_midi_open(2581,79390 -static int es1371_midi_release(2638,81095 -static /*const*/ struct file_operations es1371_midi_fops 2681,82328 -static int proc_es1371_dump 2699,82780 -#define NR_DEVICE 2732,83794 -static int spdif[2734,83815 -static int nomix[2735,83844 -static int amplifier[2736,83873 -static unsigned int devindex;2738,83907 -static struct initvol initvol2754,84594 -} initvol[2757,84640 -} initvol[] __initdata 2757,84640 -} amplifier_needed[2776,85221 -static int __devinit es1371_probe(2786,85458 -static void __devexit es1371_remove(2997,91997 -static struct pci_device_id id_table[3026,92807 -static struct pci_driver es1371_driver 3035,93161 -static int __init init_es1371(3042,93316 -static void __exit cleanup_es1371(3048,93471 -static int __init es1371_setup(3063,93796 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus_vol.c,106 -#define GUS_VOLUME 17,353 -unsigned short gus_adagio_vol(37,1216 -unsigned short gus_linear_vol(129,2936 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs4232.c,1449 -#define KEY_PORT 61,2060 -#define CSN_NUM 62,2114 -#define INDEX_ADDRESS 63,2163 -#define INDEX_DATA 64,2229 -#define PIN_CONTROL 65,2294 -#define ENABLE_PINS 66,2350 -static void CS_OUT(68,2410 -#define CS_OUT2(CS_OUT273,2471 -#define CS_OUT3(CS_OUT374,2517 -static int __initdata bss 76,2576 -static int mpu_base,77,2613 -static int mpu_base, mpu_irq;77,2613 -static int synth_base,78,2643 -static int synth_base, synth_irq;78,2643 -static int mpu_detected;79,2677 -int probe_cs4232_mpu(81,2703 -static unsigned char crystal_key[93,2881 -static void sleep(101,3154 -static void enable_xctrl(107,3261 -static int __init probe_cs4232(131,4149 -static void __devexit unload_cs4232(312,8448 -static struct address_info cfg;349,9300 -static struct address_info cfg_mpu;350,9332 -static int __initdata io 352,9369 -static int __initdata irq 353,9400 -static int __initdata dma 354,9432 -static int __initdata dma2 355,9464 -static int __initdata mpuio 356,9497 -static int __initdata mpuirq 357,9531 -static int __initdata synthio 358,9566 -static int __initdata synthirq 359,9602 -static int __initdata isapnp 360,9639 -static const struct pnp_device_id cs4232_pnp_table[394,10746 -static int cs4232_pnp_probe(405,11071 -static void __devexit cs4232_pnp_remove(426,11656 -static struct pnp_driver cs4232_driver 435,11823 -static int __init init_cs4232(442,11994 -static void __exit cleanup_cs4232(488,12903 -static int __init setup_cs4232(499,13153 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/gus_midi.c,901 -static int midi_busy,25,546 -static int midi_busy, input_opened;25,546 -static int my_dev;26,587 -static int output_used;27,611 -static volatile unsigned char gus_midi_control;28,640 -static unsigned char tmp_queue[31,755 -static volatile int qlen;33,822 -static volatile unsigned char qhead,34,848 -static volatile unsigned char qhead, qtail;34,848 -static int GUS_MIDI_STATUS(39,990 -static int gus_midi_open(44,1055 -static int dump_to_midi(72,1633 -static void gus_midi_close(99,2088 -static int gus_midi_out(109,2230 -static int gus_midi_start_read(153,2900 -static int gus_midi_end_read(158,2956 -static void gus_midi_kick(163,3010 -static int gus_midi_buffer_status(167,3050 -#define MIDI_SYNTH_NAME 185,3370 -#define MIDI_SYNTH_CAPS 186,3419 -static struct midi_operations gus_midi_operations 189,3484 -void __init gus_midi_init(204,3884 -void gus_midi_interrupt(222,4254 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/dev_table.h,2671 -#define _DEV_TABLE_H_16,328 -#define SNDCARD_DESKPROXL 24,518 -#define SNDCARD_VIDC 25,572 -#define SNDCARD_SBPNP 26,614 -#define SNDCARD_SOFTOSS 27,641 -#define SNDCARD_VMIDI 28,670 -#define SNDCARD_OPL3SA1 29,697 -#define SNDCARD_OPL3SA1_SB 30,754 -#define SNDCARD_OPL3SA1_MPU 31,785 -#define SNDCARD_WAVEFRONT 32,817 -#define SNDCARD_OPL3SA2 33,860 -#define SNDCARD_OPL3SA2_MPU 34,903 -#define SNDCARD_WAVEARTIST 35,946 -#define SNDCARD_OPL3SA2_MSS 36,1006 -#define SNDCARD_AD1816 37,1073 -struct driver_info driver_info47,1250 -struct card_info card_info58,1547 -#define MAX_SUB_BUFFERS 70,1758 -#define DMODE_NONE 72,1809 -#define DMODE_OUTPUT 73,1831 -#define DMODE_INPUT 74,1871 -struct dma_buffparms dma_buffparms76,1910 -#define DMA_BUSY 94,2204 -#define DMA_RESTART 95,2232 -#define DMA_ACTIVE 96,2263 -#define DMA_STARTED 97,2293 -#define DMA_EMPTY 98,2324 -#define DMA_ALLOC_DONE 99,2354 -#define DMA_SYNCING 100,2388 -#define DMA_DIRTY 101,2419 -#define DMA_POST 102,2448 -#define DMA_NODMA 103,2476 -#define DMA_NOTIMEOUT 104,2505 -#define DMA_MAP_MAPPED 135,3063 -#define BUFF_EOF 145,3341 -#define BUFF_DIRTY 146,3398 -typedef struct coproc_operations coproc_operations153,3564 -} coproc_operations;coproc_operations163,3874 -struct audio_driver audio_driver165,3896 -struct audio_operations audio_operations196,5128 -#define NOTHING_SPECIAL 200,5191 -#define NEEDS_RESTART 201,5221 -#define DMA_AUTOMODE 202,5249 -#define DMA_DUPLEX 203,5276 -#define DMA_PSEUDO_AUTOMODE 204,5301 -#define DMA_HARDSTOP 205,5334 -#define DMA_EXACT 206,5361 -#define DMA_NORESET 207,5385 -#define AM_NONE 230,6053 -#define AM_WRITE 231,6073 -#define AM_READ 232,6102 -#define CNV_MU_LAW 237,6192 -struct mixer_operations mixer_operations245,6380 -struct synth_operations synth_operations256,6562 -#define EMU_GM 287,7780 -#define EMU_XG 288,7818 -#define MAX_SYSEX_BUF 289,7853 -struct midi_input_info midi_input_info294,7939 -#define MI_MAX 297,8001 -#define MST_INIT 302,8172 -#define MST_DATA 303,8193 -#define MST_SYSEX 304,8214 -struct midi_operations midi_operations309,8299 -struct sound_lowlev_timer sound_lowlev_timer332,8962 -struct sound_timer_operations sound_timer_operations341,9139 -struct audio_operations *audio_devs[356,9523 -int num_audiodevs;357,9575 -struct mixer_operations *mixer_devs[358,9594 -int num_mixers;359,9646 -struct synth_operations *synth_devs[360,9662 -int num_synths;361,9727 -struct midi_operations *midi_devs[362,9743 -int num_midis;363,9792 -struct sound_timer_operations *sound_timer_devs[366,9866 -int num_sound_timers 369,9965 -#define AUDIO_DRIVER_VERSION 387,10689 -#define MIXER_DRIVER_VERSION 388,10720 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_mixer.h,1084 -#define VOC_VOL 35,652 -#define MIC_VOL 36,674 -#define MIC_MIX 37,696 -#define RECORD_SRC 38,718 -#define IN_FILTER 39,742 -#define OUT_FILTER 40,765 -#define MASTER_VOL 41,789 -#define FM_VOL 42,813 -#define CD_VOL 43,834 -#define LINE_VOL 44,855 -#define IRQ_NR 45,877 -#define DMA_NR 46,898 -#define IRQ_STAT 47,919 -#define OPSW 48,941 -#define COVOX_VOL 53,1010 -#define TREBLE_LVL 54,1033 -#define BASS_LVL 55,1057 -#define FREQ_HI 57,1080 -#define FREQ_LOW 58,1150 -#define FILT_ON 59,1213 -#define FILT_OFF 60,1277 -#define MONO_DAC 62,1311 -#define STEREO_DAC 63,1333 -#define SB16_OMASK 68,1392 -#define SB16_IMASK_L 69,1416 -#define SB16_IMASK_R 70,1442 -#define LEFT_CHN 72,1469 -#define RIGHT_CHN 73,1488 -#define AWE_3DSE 78,1545 -#define ALS007_RECORD_SRC 83,1604 -#define ALS007_OUTPUT_CTRL1 84,1635 -#define ALS007_OUTPUT_CTRL2 85,1668 -#define MIX_ENT(MIX_ENT87,1702 -#define SRC__MIC 94,1855 -#define SRC__CD 95,1923 -#define SRC__LINE 96,1983 -#define ALS007_MIC 102,2091 -#define ALS007_LINE 103,2112 -#define ALS007_CD 104,2134 -#define ALS007_SYNTH 105,2154 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_mixer.c,1333 -#define __SB_MIXER_C__21,587 -#define SBPRO_RECORDING_DEVICES 28,671 -#define SGNXPRO_RECORDING_DEVICES 31,801 -#define SBPRO_MIXER_DEVICES 33,860 -#define SGNXPRO_MIXER_DEVICES 41,1235 -#define SB16_RECORDING_DEVICES 44,1350 -#define SB16_OUTFILTER_DEVICES 47,1461 -#define SB16_MIXER_DEVICES 50,1553 -#define ALS007_MIXER_DEVICES 59,1991 -static mixer_tab sbpro_mix 64,2149 -static mixer_tab sb16_mix 79,2804 -static mixer_tab als007_mix 96,3588 -static int smg_default_levels[119,4518 -static int sb_default_levels[140,5007 -static unsigned char sb16_recmasks_L[161,5495 -static unsigned char sb16_recmasks_R[179,5992 -static char smw_mix_regs[197,6489 -static int sbmixnum 218,7145 -void sb_mixer_set_stereo(222,7225 -static int detect_mixer(227,7357 -static void change_bits(233,7450 -static int sb_mixer_get(247,7900 -void smw_mixer_init(254,8045 -int sb_common_mixer_set(271,8521 -static int smw_mixer_set(312,9387 -static int sb_mixer_set(353,10650 -static void set_recsrc(391,11414 -static int set_recmask(396,11551 -static int set_outmask(498,13701 -static int sb_mixer_ioctl(531,14272 -static struct mixer_operations sb_mixer_operations 634,16619 -static struct mixer_operations als007_mixer_operations 642,16765 -static void sb_mixer_reset(650,16920 -int sb_mixer_init(670,17386 -void sb_mixer_unload(760,19554 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/wavfront.c,3972 -#define _MIDI_SYNTH_C_90,3309 -#define MIDI_SYNTH_NAME 91,3332 -#define MIDI_SYNTH_CAPS 92,3373 -#define OSS_SUPPORT_SEQ 111,4051 -#define OSS_SUPPORT_STATIC_INSTALL 112,4119 -#define OSS_SUPPORT_LEVEL 114,4197 -#define WF_DEBUG 127,4686 -#define DPRINT(DPRINT133,4772 -#define DPRINT(DPRINT138,4927 -#define LOGNAME 141,4973 -#define STAT_RINTR_ENABLED 145,5052 -#define STAT_CAN_READ 146,5084 -#define STAT_INTR_READ 147,5112 -#define STAT_WINTR_ENABLED 148,5141 -#define STAT_CAN_WRITE 149,5173 -#define STAT_INTR_WRITE 150,5202 -int wf_raw;154,5309 -int fx_raw 160,5533 -int debug_default;167,5806 -char *ospath 175,6076 -int wait_polls 179,6196 -int sleep_length 185,6444 -int sleep_tries 189,6590 -int reset_time 191,6660 -int ramcheck_time 195,6784 -int osrun_time 199,6893 -struct wf_config wf_config221,7578 -#define mpu_data_port 226,7767 -#define mpu_command_port 227,7798 -#define mpu_status_port 228,7854 -#define data_port 229,7909 -#define status_port 230,7944 -#define control_port 231,7999 -#define block_port 232,8056 -#define last_block_port 233,8114 -#define fx_status 241,8429 -#define fx_op 242,8463 -#define fx_lcr 243,8497 -#define fx_dsp_addr 244,8531 -#define fx_dsp_page 245,8566 -#define fx_dsp_lsb 246,8602 -#define fx_dsp_msb 247,8638 -#define fx_mod_addr 248,8674 -#define fx_mod_data 249,8709 -} dev;276,10143 -static spinlock_t lock=278,10151 -} wavefront_command;wavefront_command300,10720 -} wavefront_errors[305,10791 -#define NEEDS_ACK 318,11152 -static wavefront_command wavefront_commands[320,11173 -wavefront_errorstr 385,14360 -wavefront_get_command 400,14608 -wavefront_status 415,14843 -wavefront_wait 422,14916 -wavefront_read 449,15341 -wavefront_write 461,15505 -wavefront_cmd 475,15703 -munge_int32 669,20329 -demunge_int32 686,20676 -munge_buf 701,20873 -demunge_buf 716,21117 -wavefront_delete_sample 739,21636 -wavefront_get_sample_status 756,21913 -wavefront_get_patch_status 826,23293 -wavefront_get_program_status 875,24330 -wavefront_send_patch 922,25274 -wavefront_send_program 946,25817 -wavefront_freemem 984,26747 -wavefront_send_sample 998,26985 -wavefront_send_alias 1301,34562 -wavefront_send_multisample 1335,35665 -wavefront_fetch_multisample 1381,36973 -wavefront_send_drum 1431,38080 -wavefront_find_free_sample 1457,38654 -wavefront_find_free_patch 1472,38894 -log2_2048(1487,39130 -wavefront_load_gus_patch 1515,39610 -wavefront_load_patch 1659,43621 -process_sample_hdr 1741,45623 -wavefront_synth_control 1773,46618 -wavefront_open 1911,49827 -wavefront_release(1919,49957 -wavefront_ioctl(1929,50109 -static /*const*/ struct file_operations wavefront_fops 1959,50711 -static struct synth_info wavefront_info 1974,51172 -wavefront_oss_open 1979,51330 -wavefront_oss_close 1987,51420 -wavefront_oss_ioctl 1996,51511 -wavefront_oss_load_patch 2040,52436 -static struct synth_operations wavefront_operations 2074,53319 -static void __init attach_wavefront 2100,54072 -static int __init probe_wavefront 2105,54179 -static void __exit unload_wavefront 2110,54318 -wavefrontintr(2122,54711 -wavefront_interrupt_bits 2169,56214 -wavefront_should_cause_interrupt 2197,56522 -static int __init wavefront_hw_reset 2210,56851 -static int __init detect_wavefront 2412,62159 -wavefront_download_firmware 2494,63903 -static int __init wavefront_config_midi 2587,65934 -static int __init wavefront_do_reset 2659,68156 -static int __init wavefront_init 2761,70220 -static int __init install_wavefront 2790,70761 -static void __exit uninstall_wavefront 2830,71683 -#define FX_LSB_TRANSFER 2856,72356 -#define FX_MSB_TRANSFER 2857,72430 -#define FX_AUTO_INCR 2858,72504 -wffx_idle 2861,72596 -int __init detect_wffx 2882,72870 -int __init attach_wffx 2898,73238 -wffx_mute 2909,73427 -wffx_memset 2920,73549 -wffx_ioctl 2974,74661 -static int __init wffx_init 3033,76180 -static int io 3487,88001 -static int irq 3488,88021 -static int __init init_wavfront 3496,88241 -static void __exit cleanup_wavfront 3526,88862 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/yss225.c,1423 -unsigned char page_zero[3,25 -unsigned char page_zero[] __initdata 3,25 -unsigned char page_one[30,1609 -unsigned char page_one[] __initdata 30,1609 -unsigned char page_two[57,3188 -unsigned char page_two[] __initdata 57,3188 -unsigned char page_three[72,3999 -unsigned char page_three[] __initdata 72,3999 -unsigned char page_four[87,4812 -unsigned char page_four[] __initdata 87,4812 -unsigned char page_six[102,5624 -unsigned char page_six[] __initdata 102,5624 -unsigned char page_seven[123,6819 -unsigned char page_seven[] __initdata 123,6819 -unsigned char page_zero_v2[150,8400 -unsigned char page_zero_v2[] __initdata 150,8400 -unsigned char page_one_v2[162,9023 -unsigned char page_one_v2[] __initdata 162,9023 -unsigned char page_two_v2[174,9645 -unsigned char page_two_v2[] __initdata 174,9645 -unsigned char page_three_v2[181,9978 -unsigned char page_three_v2[] __initdata 181,9978 -unsigned char page_four_v2[188,10313 -unsigned char page_four_v2[] __initdata 188,10313 -unsigned char page_seven_v2[196,10648 -unsigned char page_seven_v2[] __initdata 196,10648 -unsigned char mod_v2[207,11271 -unsigned char mod_v2[] __initdata 207,11271 -unsigned char coefficients[237,13135 -unsigned char coefficients[] __initdata 237,13135 -unsigned char coefficients2[273,15365 -unsigned char coefficients2[] __initdata 273,15365 -unsigned char coefficients3[280,15748 -unsigned char coefficients3[] __initdata 280,15748 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/opl3_hw.h,2074 -#define TEST_REGISTER 43,1409 -#define ENABLE_WAVE_SELECT 44,1439 -#define TIMER1_REGISTER 46,1475 -#define TIMER2_REGISTER 47,1507 -#define TIMER_CONTROL_REGISTER 48,1539 -#define IRQ_RESET 49,1593 -#define TIMER1_MASK 50,1620 -#define TIMER2_MASK 51,1649 -#define TIMER1_START 52,1678 -#define TIMER2_START 53,1708 -#define CONNECTION_SELECT_REGISTER 55,1739 -#define RIGHT_4OP_0 56,1797 -#define RIGHT_4OP_1 57,1826 -#define RIGHT_4OP_2 58,1855 -#define LEFT_4OP_0 59,1884 -#define LEFT_4OP_1 60,1912 -#define LEFT_4OP_2 61,1940 -#define OPL3_MODE_REGISTER 63,1969 -#define OPL3_ENABLE 64,2020 -#define OPL4_ENABLE 65,2049 -#define KBD_SPLIT_REGISTER 67,2079 -#define COMPOSITE_SINE_WAVE_MODE 68,2129 -#define KEYBOARD_SPLIT 69,2198 -#define PERCOSSION_REGISTER 71,2230 -#define TREMOLO_DEPTH 72,2286 -#define VIBRATO_DEPTH 73,2317 -#define PERCOSSION_ENABLE 74,2348 -#define BASSDRUM_ON 75,2382 -#define SNAREDRUM_ON 76,2411 -#define TOMTOM_ON 77,2441 -#define CYMBAL_ON 78,2468 -#define HIHAT_ON 79,2495 -#define AM_VIB 87,2699 -#define TREMOLO_ON 88,2723 -#define VIBRATO_ON 89,2751 -#define SUSTAIN_ON 90,2779 -#define KSR 91,2807 -#define MULTIPLE_MASK 92,2853 -#define KSL_LEVEL 97,2955 -#define KSL_MASK 98,2981 -#define TOTAL_LEVEL_MASK 99,3035 -#define ATTACK_DECAY 104,3144 -#define ATTACK_MASK 105,3173 -#define DECAY_MASK 106,3202 -#define SUSTAIN_RELEASE 111,3285 -#define SUSTAIN_MASK 112,3317 -#define RELEASE_MASK 113,3347 -#define WAVE_SELECT 118,3415 -#define FNUM_LOW 126,3595 -#define KEYON_BLOCK 131,3691 -#define KEYON_BIT 132,3720 -#define BLOCKNUM_MASK 133,3748 -#define FNUM_HIGH_MASK 134,3780 -#define FEEDBACK_CONNECTION 148,4222 -#define FEEDBACK_MASK 149,4258 -#define CONNECTION_BIT 150,4329 -#define STEREO_BITS 185,5023 -#define VOICE_TO_LEFT 186,5070 -#define VOICE_TO_RIGHT 187,5102 -struct physical_voice_info physical_voice_info193,5189 -#define USE_LEFT 213,5889 -#define USE_RIGHT 214,5908 -static struct physical_voice_info pv_map[216,5929 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/hal2.h,2965 -#define __HAL2_H2,17 -#define H2_ISR_TSTATUS 31,1002 -#define H2_ISR_USTATUS 32,1067 -#define H2_ISR_QUAD_MODE 33,1131 -#define H2_ISR_GLOBAL_RESET_N 34,1194 -#define H2_ISR_CODEC_RESET_N 35,1261 -#define H2_REV_AUDIO_PRESENT 39,1354 -#define H2_REV_BOARD_M 40,1424 -#define H2_REV_MAJOR_CHIP_M 41,1492 -#define H2_REV_MINOR_CHIP_M 42,1567 -#define H2_IAR_TYPE_M 53,1944 -#define H2_IAR_NUM_M 59,2153 -#define H2_IAR_ACCESS_SELECT 77,2715 -#define H2_IAR_PARAM 78,2772 -#define H2_IAR_RB_INDEX_M 79,2824 -#define H2I_RELAY_C 103,3643 -#define H2I_RELAY_C_STATE 104,3671 -#define H2I_DMA_PORT_EN 108,3759 -#define H2I_DMA_PORT_EN_SY_IN 109,3791 -#define H2I_DMA_PORT_EN_AESRX 110,3851 -#define H2I_DMA_PORT_EN_AESTX 111,3915 -#define H2I_DMA_PORT_EN_CODECTX 112,3982 -#define H2I_DMA_PORT_EN_CODECR 113,4050 -#define H2I_DMA_END 115,4117 -#define H2I_DMA_END_SY_IN 116,4178 -#define H2I_DMA_END_AESRX 117,4234 -#define H2I_DMA_END_AESTX 118,4294 -#define H2I_DMA_END_CODECTX 119,4357 -#define H2I_DMA_END_CODECR 120,4421 -#define H2I_DMA_DRV 123,4512 -#define H2I_SYNTH_C 125,4572 -#define H2I_AESRX_C 127,4626 -#define H2I_C_TS_EN 129,4682 -#define H2I_C_TS_FRMT 130,4732 -#define H2I_C_NAUDIO 131,4784 -#define H2I_AESTX_C 135,4856 -#define H2I_AESTX_C_CLKID_SHIFT 136,4910 -#define H2I_AESTX_C_CLKID_M 137,4975 -#define H2I_AESTX_C_DATAT_SHIFT 138,5008 -#define H2I_AESTX_C_DATAT_M 139,5074 -#define H2I_DAC_C1 143,5132 -#define H2I_DAC_C2 144,5191 -#define H2I_ADC_C1 145,5249 -#define H2I_ADC_C2 146,5308 -#define H2I_C1_DMA_SHIFT 150,5396 -#define H2I_C1_DMA_M 151,5442 -#define H2I_C1_CLKID_SHIFT 152,5468 -#define H2I_C1_CLKID_M 153,5528 -#define H2I_C1_DATAT_SHIFT 154,5557 -#define H2I_C1_DATAT_M 155,5618 -#define H2I_C2_R_GAIN_SHIFT 159,5678 -#define H2I_C2_R_GAIN_M 160,5737 -#define H2I_C2_L_GAIN_SHIFT 161,5767 -#define H2I_C2_L_GAIN_M 162,5824 -#define H2I_C2_R_SEL 163,5854 -#define H2I_C2_L_SEL 164,5908 -#define H2I_C2_MUTE 165,5961 -#define H2I_C2_DO1 166,6000 -#define H2I_C2_DO2 167,6063 -#define H2I_C2_R_ATT_SHIFT 168,6126 -#define H2I_C2_R_ATT_M 169,6182 -#define H2I_C2_L_ATT_SHIFT 170,6235 -#define H2I_C2_L_ATT_M 171,6290 -#define H2I_SYNTH_MAP_C 173,6344 -#define H2I_BRES1_C1 177,6446 -#define H2I_BRES2_C1 178,6475 -#define H2I_BRES3_C1 179,6504 -#define H2I_BRES_C1_SHIFT 181,6534 -#define H2I_BRES_C1_M 182,6592 -#define H2I_BRES1_C2 186,6662 -#define H2I_BRES2_C2 187,6691 -#define H2I_BRES3_C2 188,6720 -#define H2I_BRES_C2_INC_SHIFT 190,6750 -#define H2I_BRES_C2_INC_M 191,6805 -#define H2I_BRES_C2_MOD_SHIFT 192,6838 -#define H2I_BRES_C2_MOD_M 193,6895 -#define H2I_UTIME 197,6991 -#define H2I_UTIME_0_LD 198,7017 -#define H2I_UTIME_1_LD0 199,7075 -#define H2I_UTIME_1_LD1 200,7132 -#define H2I_UTIME_2_LD 201,7192 -#define H2I_UTIME_3_LD 202,7245 -struct hal2_ctl_regs hal2_ctl_regs204,7299 -struct hal2_aes_regs hal2_aes_regs221,7833 -struct hal2_vol_regs hal2_vol_regs233,8257 -struct hal2_syn_regs hal2_syn_regs238,8364 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sgalaxy.c,728 -static void sleep(31,755 -#define DPORT 37,866 -#define SBDSP_RESET 41,912 -#define SBDSP_READ 42,941 -#define SBDSP_COMMAND 43,970 -#define SBDSP_STATUS 44,999 -#define SBDSP_DATA_AVAIL 45,1038 -static int __init sb_rst(47,1068 -static int __init sb_cmd(69,1427 -#define ai_sgbase 85,1680 -static int __init probe_sgalaxy(87,1715 -static void __exit unload_sgalaxy(142,3172 -static struct address_info cfg;148,3302 -static int __initdata io 150,3335 -static int __initdata irq 151,3366 -static int __initdata dma 152,3398 -static int __initdata dma2 153,3430 -static int __initdata sgbase 154,3463 -static int __init init_sgalaxy(162,3613 -static void __exit cleanup_sgalaxy(181,4008 -static int __init setup_sgalaxy(190,4150 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/wf_midi.c,1969 -struct wf_mpu_config wf_mpu_config61,2306 -#define DATAPORT(DATAPORT63,2352 -#define COMDPORT(COMDPORT64,2384 -#define STATPORT(STATPORT65,2418 -#define MODE_MIDI 72,2573 -#define MODE_SYNTH 73,2593 -static struct wf_mpu_config devs[79,2739 -static struct wf_mpu_config *phys_dev 80,2777 -static struct wf_mpu_config *virt_dev 81,2827 -static spinlock_t lock=84,2914 -#define OUTPUT_READY 86,2958 -#define INPUT_AVAIL 87,2984 -#define MPU_ACK 88,3009 -#define UART_MODE_ON 89,3031 -static inline int wf_mpu_status 91,3058 -static inline int input_avail 96,3137 -static inline int output_ready 101,3221 -static inline int read_data 106,3307 -static inline void write_data 111,3383 -#define MST_SYSMSG 120,3541 -#define MST_MTC 121,3598 -#define MST_SONGSEL 122,3658 -#define MST_SONGPOS 123,3701 -#define MST_TIMED 124,3754 -#define BUFTEST(BUFTEST128,3853 -static unsigned char len_tab[132,4036 -wf_mpu_input_scanner 146,4260 -wf_mpuintr(358,7815 -wf_mpu_open 418,8949 -wf_mpu_close 450,9590 -wf_mpu_out 472,10006 -static inline int wf_mpu_start_read 532,11319 -static inline int wf_mpu_end_read 536,11381 -static int wf_mpu_ioctl 540,11441 -static int wf_mpu_buffer_status 547,11613 -static struct synth_operations wf_mpu_synth_operations[552,11671 -static struct midi_operations wf_mpu_midi_operations[553,11730 -static struct midi_operations wf_mpu_midi_proto 555,11789 -static struct synth_info wf_mpu_synth_info_proto 569,12166 -static struct synth_info wf_mpu_synth_info[573,12323 -wf_mpu_synth_ioctl 576,12382 -wf_mpu_synth_open 612,13051 -wf_mpu_synth_close 644,13691 -#define _MIDI_SYNTH_C_665,14110 -#define MIDI_SYNTH_NAME 666,14133 -#define MIDI_SYNTH_CAPS 667,14176 -static struct synth_operations wf_mpu_synth_proto 670,14241 -config_wf_mpu 696,15085 -int virtual_midi_enable 752,16518 -virtual_midi_disable 769,16808 -int __init detect_wf_mpu 785,17078 -int __init install_wf_mpu 801,17386 -uninstall_wf_mpu 843,18283 -start_uart_mode 856,18516 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/v_midi.h,75 -typedef struct vmidi_devc vmidi_devc1,0 - } vmidi_devc;vmidi_devc14,268 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/msnd_pinnacle.h,6211 -#define __MSND_PINNACLE_H31,1219 -#define DSP_NUMIO 35,1273 -#define IREG_LOGDEVICE 37,1300 -#define IREG_ACTIVATE 38,1331 -#define LD_ACTIVATE 39,1361 -#define LD_DISACTIVATE 40,1389 -#define IREG_EECONTROL 41,1420 -#define IREG_MEMBASEHI 42,1451 -#define IREG_MEMBASELO 43,1482 -#define IREG_MEMCONTROL 44,1513 -#define IREG_MEMRANGEHI 45,1545 -#define IREG_MEMRANGELO 46,1577 -#define MEMTYPE_8BIT 47,1609 -#define MEMTYPE_16BIT 48,1638 -#define MEMTYPE_RANGE 49,1668 -#define MEMTYPE_HIADDR 50,1698 -#define IREG_IO0_BASEHI 51,1729 -#define IREG_IO0_BASELO 52,1761 -#define IREG_IO1_BASEHI 53,1793 -#define IREG_IO1_BASELO 54,1825 -#define IREG_IRQ_NUMBER 55,1857 -#define IREG_IRQ_TYPE 56,1889 -#define IRQTYPE_HIGH 57,1919 -#define IRQTYPE_LOW 58,1948 -#define IRQTYPE_LEVEL 59,1976 -#define IRQTYPE_EDGE 60,2006 -#define HP_DSPR 62,2036 -#define HP_BLKS 63,2061 -#define HPDSPRESET_OFF 65,2087 -#define HPDSPRESET_ON 66,2115 -#define HPBLKSEL_0 68,2143 -#define HPBLKSEL_1 69,2167 -#define HIMT_DAT_OFF 71,2192 -#define HIDSP_PLAY_UNDER 73,2222 -#define HIDSP_INT_PLAY_UNDER 74,2254 -#define HIDSP_SSI_TX_UNDER 75,2290 -#define HIDSP_RECQ_OVERFLOW 76,2326 -#define HIDSP_INT_RECORD_OVER 77,2361 -#define HIDSP_SSI_RX_OVERFLOW 78,2398 -#define HIDSP_MIDI_IN_OVER 80,2436 -#define HIDSP_MIDI_FRAME_ERR 82,2471 -#define HIDSP_MIDI_PARITY_ERR 83,2507 -#define HIDSP_MIDI_OVERRUN_ERR 84,2544 -#define HIDSP_INPUT_CLIPPING 86,2583 -#define HIDSP_MIX_CLIPPING 87,2619 -#define HIDSP_DAT_IN_OFF 88,2653 -#define HDEXAR_SET_ANA_IN 90,2686 -#define HDEXAR_CLEAR_PEAKS 91,2716 -#define HDEXAR_IN_SET_POTS 92,2747 -#define HDEXAR_AUX_SET_POTS 93,2778 -#define HDEXAR_CAL_A_TO_D 94,2810 -#define HDEXAR_RD_EXT_DSP_BITS 95,2840 -#define HDEXAR_SET_SYNTH_IN 97,2876 -#define HDEXAR_READ_DAT_IN 98,2908 -#define HDEXAR_MIC_SET_POTS 99,2939 -#define HDEXAR_SET_DAT_IN 100,2971 -#define HDEXAR_SET_SYNTH_48 102,3002 -#define HDEXAR_SET_SYNTH_44 103,3034 -#define TIME_PRO_RESET_DONE 105,3067 -#define TIME_PRO_SYSEX 106,3104 -#define TIME_PRO_RESET 107,3137 -#define AGND 109,3171 -#define SIGNAL 110,3193 -#define EXT_DSP_BIT_DCAL 112,3218 -#define EXT_DSP_BIT_MIDI_CON 113,3252 -#define BUFFSIZE 115,3291 -#define HOSTQ_SIZE 116,3318 -#define SRAM_CNTL_START 118,3346 -#define SMA_STRUCT_START 119,3380 -#define DAP_BUFF_SIZE 121,3415 -#define DAR_BUFF_SIZE 122,3447 -#define DAPQ_STRUCT_SIZE 124,3480 -#define DARQ_STRUCT_SIZE 125,3512 -#define DAPQ_BUFF_SIZE 126,3544 -#define DARQ_BUFF_SIZE 127,3581 -#define MODQ_BUFF_SIZE 128,3618 -#define MIDQ_BUFF_SIZE 129,3650 -#define DSPQ_BUFF_SIZE 130,3682 -#define DAPQ_DATA_BUFF 132,3715 -#define DARQ_DATA_BUFF 133,3748 -#define MODQ_DATA_BUFF 134,3781 -#define MIDQ_DATA_BUFF 135,3814 -#define DSPQ_DATA_BUFF 136,3847 -#define DAPQ_OFFSET 138,3881 -#define DARQ_OFFSET 139,3920 -#define MODQ_OFFSET 140,3968 -#define MIDQ_OFFSET 141,4016 -#define DSPQ_OFFSET 142,4064 -#define MOP_WAVEHDR 144,4113 -#define MOP_EXTOUT 145,4138 -#define MOP_HWINIT 146,4162 -#define MOP_NONE 147,4189 -#define MOP_MAX 148,4214 -#define MIP_EXTIN 150,4237 -#define MIP_WAVEHDR 151,4260 -#define MIP_HWINIT 152,4285 -#define MIP_MAX 153,4312 -#define SMA_wCurrPlayBytes 156,4371 -#define SMA_wCurrRecordBytes 157,4407 -#define SMA_wCurrPlayVolLeft 158,4445 -#define SMA_wCurrPlayVolRight 159,4483 -#define SMA_wCurrInVolLeft 160,4522 -#define SMA_wCurrInVolRight 161,4558 -#define SMA_wCurrMHdrVolLeft 162,4595 -#define SMA_wCurrMHdrVolRight 163,4633 -#define SMA_dwCurrPlayPitch 164,4672 -#define SMA_dwCurrPlayRate 165,4709 -#define SMA_wCurrMIDIIOPatch 166,4745 -#define SMA_wCurrPlayFormat 167,4783 -#define SMA_wCurrPlaySampleSize 168,4820 -#define SMA_wCurrPlayChannels 169,4861 -#define SMA_wCurrPlaySampleRate 170,4900 -#define SMA_wCurrRecordFormat 171,4941 -#define SMA_wCurrRecordSampleSize 172,4980 -#define SMA_wCurrRecordChannels 173,5022 -#define SMA_wCurrRecordSampleRate 174,5063 -#define SMA_wCurrDSPStatusFlags 175,5105 -#define SMA_wCurrHostStatusFlags 176,5146 -#define SMA_wCurrInputTagBits 177,5187 -#define SMA_wCurrLeftPeak 178,5226 -#define SMA_wCurrRightPeak 179,5261 -#define SMA_bMicPotPosLeft 180,5297 -#define SMA_bMicPotPosRight 181,5333 -#define SMA_bMicPotMaxLeft 182,5370 -#define SMA_bMicPotMaxRight 183,5406 -#define SMA_bInPotPosLeft 184,5443 -#define SMA_bInPotPosRight 185,5478 -#define SMA_bAuxPotPosLeft 186,5514 -#define SMA_bAuxPotPosRight 187,5550 -#define SMA_bInPotMaxLeft 188,5587 -#define SMA_bInPotMaxRight 189,5622 -#define SMA_bAuxPotMaxLeft 190,5658 -#define SMA_bAuxPotMaxRight 191,5694 -#define SMA_bInPotMaxMethod 192,5731 -#define SMA_bAuxPotMaxMethod 193,5768 -#define SMA_wCurrMastVolLeft 194,5806 -#define SMA_wCurrMastVolRight 195,5844 -#define SMA_wCalFreqAtoD 196,5883 -#define SMA_wCurrAuxVolLeft 197,5917 -#define SMA_wCurrAuxVolRight 198,5954 -#define SMA_wCurrPlay1VolLeft 199,5992 -#define SMA_wCurrPlay1VolRight 200,6031 -#define SMA_wCurrPlay2VolLeft 201,6071 -#define SMA_wCurrPlay2VolRight 202,6110 -#define SMA_wCurrPlay3VolLeft 203,6150 -#define SMA_wCurrPlay3VolRight 204,6189 -#define SMA_wCurrPlay4VolLeft 205,6229 -#define SMA_wCurrPlay4VolRight 206,6268 -#define SMA_wCurrPlay1PeakLeft 207,6308 -#define SMA_wCurrPlay1PeakRight 208,6348 -#define SMA_wCurrPlay2PeakLeft 209,6389 -#define SMA_wCurrPlay2PeakRight 210,6429 -#define SMA_wCurrPlay3PeakLeft 211,6470 -#define SMA_wCurrPlay3PeakRight 212,6510 -#define SMA_wCurrPlay4PeakLeft 213,6551 -#define SMA_wCurrPlay4PeakRight 214,6591 -#define SMA_wCurrPlayPeakLeft 215,6632 -#define SMA_wCurrPlayPeakRight 216,6671 -#define SMA_wCurrDATSR 217,6711 -#define SMA_wCurrDATRXCHNL 218,6744 -#define SMA_wCurrDATTXCHNL 219,6780 -#define SMA_wCurrDATRXRate 220,6816 -#define SMA_dwDSPPlayCount 221,6852 -#define SMA__size 222,6888 -# define PERMCODE 227,6986 -# define INITCODE 228,7015 -# define PERMCODESIZE 229,7044 -# define INITCODESIZE 230,7085 -# define CONFIG_MSNDPIN_INIT_FILE 233,7167 -# define CONFIG_MSNDPIN_PERM_FILE 237,7283 -# define PERMCODEFILE 240,7364 -# define INITCODEFILE 241,7413 -# define PERMCODE 242,7462 -# define INITCODE 243,7489 -# define PERMCODESIZE 244,7517 -# define INITCODESIZE 245,7555 -#define LONGNAME 247,7601 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ymfpci.c,7159 -#define YMFDBGW(YMFDBGW85,3223 -#define YMFDBGI(YMFDBGI86,3278 -#define YMFDBGX(YMFDBGX87,3331 -static spinlock_t ymf_devs_lock 102,4047 -static struct pci_device_id ymf_id_tbl[109,4152 -#define DEV(DEV110,4197 -static inline u8 ymfpci_readb(127,4601 -static inline void ymfpci_writeb(132,4711 -static inline u16 ymfpci_readw(137,4831 -static inline void ymfpci_writew(142,4942 -static inline u32 ymfpci_readl(147,5063 -static inline void ymfpci_writel(152,5174 -static int ymfpci_codec_ready(157,5295 -static void ymfpci_codec_write(176,5833 -static u16 _ymfpci_codec_read(189,6188 -static u16 ymfpci_codec_read(205,6619 -static u32 ymfpci_calc_delta(224,6960 -static u32 def_rate[237,7262 -static u32 ymfpci_calc_lpfK(241,7345 -static u32 ymfpci_calc_lpfQ(257,7688 -static u32 ymf_calc_lend(273,7994 -static int ymf_pcm_format_width(281,8158 -static void ymf_pcm_update_shift(295,8493 -#define DMABUF_DEFAULTORDER 305,8744 -#define DMABUF_MINORDER 306,8788 -static int alloc_dmabuf(311,8845 -static void dealloc_dmabuf(348,9778 -static int prog_dmabuf(365,10302 -static void ymf_start_dac(451,12785 -static void ymf_wait_dac(465,13113 -static void ymf_stop_adc(508,14226 -static void ymfpci_hw_start(522,14518 -static void ymfpci_hw_stop(535,14863 -static int voice_alloc(556,15297 -static void ymfpci_voice_free(593,16110 -static void ymf_pcm_interrupt(603,16301 -static void ymf_cap_interrupt(715,19411 -static int ymf_playback_trigger(774,20877 -static void ymf_capture_trigger(796,21476 -static int ymfpci_pcm_voice_alloc(811,21899 -static void ymf_pcm_init_voice(842,22783 -static int ymf_capture_alloc(939,25297 -static int ymf_playback_prepare(953,25560 -static int ymf_capture_prepare(975,26203 -static irqreturn_t ymf_interrupt(1033,27957 -static void ymf_pcm_free_substream(1070,29031 -static struct ymf_state *ymf_state_alloc(1093,29611 -#define SND_PCM_AES0_PROFESSIONAL 1129,30378 -#define SND_PCM_AES0_NONAUDIO 1130,30456 -#define SND_PCM_AES0_PRO_EMPHASIS 1131,30525 -#define SND_PCM_AES0_PRO_EMPHASIS_NOTID 1132,30588 -#define SND_PCM_AES0_PRO_EMPHASIS_NONE 1133,30664 -#define SND_PCM_AES0_PRO_EMPHASIS_5015 1134,30730 -#define SND_PCM_AES0_PRO_EMPHASIS_CCITT 1135,30799 -#define SND_PCM_AES0_PRO_FREQ_UNLOCKED 1136,30872 -#define SND_PCM_AES0_PRO_FS 1137,30974 -#define SND_PCM_AES0_PRO_FS_NOTID 1138,31040 -#define SND_PCM_AES0_PRO_FS_44100 1139,31104 -#define SND_PCM_AES0_PRO_FS_48000 1140,31159 -#define SND_PCM_AES0_PRO_FS_32000 1141,31212 -#define SND_PCM_AES0_CON_NOT_COPYRIGHT 1142,31265 -#define SND_PCM_AES0_CON_EMPHASIS 1143,31350 -#define SND_PCM_AES0_CON_EMPHASIS_NONE 1144,31413 -#define SND_PCM_AES0_CON_EMPHASIS_5015 1145,31479 -#define SND_PCM_AES0_CON_MODE 1146,31548 -#define SND_PCM_AES1_PRO_MODE 1147,31604 -#define SND_PCM_AES1_PRO_MODE_NOTID 1148,31669 -#define SND_PCM_AES1_PRO_MODE_STEREOPHONIC 1149,31732 -#define SND_PCM_AES1_PRO_MODE_SINGLE 1150,31816 -#define SND_PCM_AES1_PRO_MODE_TWO 1151,31881 -#define SND_PCM_AES1_PRO_MODE_PRIMARY 1152,31941 -#define SND_PCM_AES1_PRO_MODE_BYTE3 1153,32011 -#define SND_PCM_AES1_PRO_USERBITS 1154,32078 -#define SND_PCM_AES1_PRO_USERBITS_NOTID 1155,32143 -#define SND_PCM_AES1_PRO_USERBITS_192 1156,32210 -#define SND_PCM_AES1_PRO_USERBITS_UDEF 1157,32279 -#define SND_PCM_AES1_CON_CATEGORY 1158,32357 -#define SND_PCM_AES1_CON_GENERAL 1159,32396 -#define SND_PCM_AES1_CON_EXPERIMENTAL 1160,32434 -#define SND_PCM_AES1_CON_SOLIDMEM_MASK 1161,32477 -#define SND_PCM_AES1_CON_SOLIDMEM_ID 1162,32521 -#define SND_PCM_AES1_CON_BROADCAST1_MASK 1163,32563 -#define SND_PCM_AES1_CON_BROADCAST1_ID 1164,32609 -#define SND_PCM_AES1_CON_DIGDIGCONV_MASK 1165,32653 -#define SND_PCM_AES1_CON_DIGDIGCONV_ID 1166,32699 -#define SND_PCM_AES1_CON_ADC_COPYRIGHT_MASK 1167,32743 -#define SND_PCM_AES1_CON_ADC_COPYRIGHT_ID 1168,32792 -#define SND_PCM_AES1_CON_ADC_MASK 1169,32839 -#define SND_PCM_AES1_CON_ADC_ID 1170,32878 -#define SND_PCM_AES1_CON_BROADCAST2_MASK 1171,32916 -#define SND_PCM_AES1_CON_BROADCAST2_ID 1172,32962 -#define SND_PCM_AES1_CON_LASEROPT_MASK 1173,33006 -#define SND_PCM_AES1_CON_LASEROPT_ID 1174,33050 -#define SND_PCM_AES1_CON_MUSICAL_MASK 1175,33092 -#define SND_PCM_AES1_CON_MUSICAL_ID 1176,33135 -#define SND_PCM_AES1_CON_MAGNETIC_MASK 1177,33176 -#define SND_PCM_AES1_CON_MAGNETIC_ID 1178,33220 -#define SND_PCM_AES1_CON_IEC908_CD 1179,33262 -#define SND_PCM_AES1_CON_NON_IEC908_CD 1180,33333 -#define SND_PCM_AES1_CON_PCM_CODER 1181,33408 -#define SND_PCM_AES1_CON_SAMPLER 1182,33481 -#define SND_PCM_AES1_CON_MIXER 1183,33552 -#define SND_PCM_AES1_CON_RATE_CONVERTER 1184,33622 -#define SND_PCM_AES1_CON_SYNTHESIZER 1185,33700 -#define SND_PCM_AES1_CON_MICROPHONE 1186,33772 -#define SND_PCM_AES1_CON_DAT 1187,33843 -#define SND_PCM_AES1_CON_VCR 1188,33909 -#define SND_PCM_AES1_CON_ORIGINAL 1189,33975 -#define SND_PCM_AES2_PRO_SBITS 1190,34061 -#define SND_PCM_AES2_PRO_SBITS_20 1191,34125 -#define SND_PCM_AES2_PRO_SBITS_24 1192,34194 -#define SND_PCM_AES2_PRO_SBITS_UDEF 1193,34261 -#define SND_PCM_AES2_PRO_WORDLEN 1194,34335 -#define SND_PCM_AES2_PRO_WORDLEN_NOTID 1195,34407 -#define SND_PCM_AES2_PRO_WORDLEN_22_18 1196,34473 -#define SND_PCM_AES2_PRO_WORDLEN_23_19 1197,34542 -#define SND_PCM_AES2_PRO_WORDLEN_24_20 1198,34611 -#define SND_PCM_AES2_PRO_WORDLEN_20_16 1199,34680 -#define SND_PCM_AES2_CON_SOURCE 1200,34749 -#define SND_PCM_AES2_CON_SOURCE_UNSPEC 1201,34817 -#define SND_PCM_AES2_CON_CHANNEL 1202,34881 -#define SND_PCM_AES2_CON_CHANNEL_UNSPEC 1203,34950 -#define SND_PCM_AES3_CON_FS 1204,35015 -#define SND_PCM_AES3_CON_FS_44100 1205,35082 -#define SND_PCM_AES3_CON_FS_48000 1206,35137 -#define SND_PCM_AES3_CON_FS_32000 1207,35190 -#define SND_PCM_AES3_CON_CLOCK 1208,35243 -#define SND_PCM_AES3_CON_CLOCK_1000PPM 1209,35310 -#define SND_PCM_AES3_CON_CLOCK_50PPM 1210,35371 -#define SND_PCM_AES3_CON_CLOCK_VARIABLE 1211,35428 -ymf_read(1223,35720 -ymf_write(1336,39145 -static unsigned int ymf_poll(1484,43232 -static int ymf_mmap(1527,44443 -static int ymf_ioctl(1557,45255 -static int ymf_open(1898,56298 -static int ymf_release(1984,58316 -static int ymf_open_mixdev(2018,59168 -static int ymf_ioctl_mixdev(2045,59750 -static int ymf_release_mixdev(2053,59979 -static /*const*/ struct file_operations ymf_fops 2058,60065 -static /*const*/ struct file_operations ymf_mixer_fops 2070,60318 -static int ymf_suspend(2081,60524 -static int ymf_resume(2122,61413 -static int ymfpci_setup_legacy(2171,62493 -static void ymfpci_aclink_reset(2247,63936 -static void ymfpci_enable_dsp(2264,64455 -static void ymfpci_disable_dsp(2269,64557 -static void ymfpci_download_image(2286,64886 -static int ymfpci_memalloc(2333,66356 -static void ymfpci_memfree(2423,68877 -static void ymf_memload(2434,69252 -static int ymf_ac97_init(2460,70191 -static int mpu_io;2504,71189 -static int synth_io;2505,71208 -static int mpu_io 2509,71290 -static int synth_io 2510,71321 -static int assigned;2512,71360 -static int __devinit ymf_probe_one(2515,71422 -static void __devexit ymf_remove_one(2643,74677 -static struct pci_driver ymfpci_driver 2675,75629 -static int __init ymf_init_module(2684,75836 -static void __exit ymf_cleanup_module 2689,75922 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/os.h,187 -#define ALLOW_SELECT1,0 -#define SHORT_BANNERS3,42 -#define MANUAL_PNP4,64 -#define FALSE 33,621 -#define TRUE 34,637 -#define USE_AUTOINIT_DMA43,870 -#define ALLOW_BUFFER_MAPPING49,987 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/coproc.h,105 -#define COPR_CUSTOM 9,142 -#define COPR_MIDI 10,196 -#define COPR_PCM 11,253 -#define COPR_SYNTH 12,313 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/maestro3.h,19942 -#define PCI_LEGACY_AUDIO_CTRL 24,962 -#define SOUND_BLASTER_ENABLE 25,999 -#define FM_SYNTHESIS_ENABLE 26,1042 -#define GAME_PORT_ENABLE 27,1085 -#define MPU401_IO_ENABLE 28,1128 -#define MPU401_IRQ_ENABLE 29,1171 -#define ALIAS_10BIT_IO 30,1214 -#define SB_DMA_MASK 31,1257 -#define SB_DMA_0 32,1300 -#define SB_DMA_1 33,1343 -#define SB_DMA_R 34,1386 -#define SB_DMA_3 35,1429 -#define SB_IRQ_MASK 36,1472 -#define SB_IRQ_5 37,1515 -#define SB_IRQ_7 38,1558 -#define SB_IRQ_9 39,1601 -#define SB_IRQ_10 40,1644 -#define MIDI_IRQ_MASK 41,1687 -#define SERIAL_IRQ_ENABLE 42,1730 -#define DISABLE_LEGACY 43,1773 -#define PCI_ALLEGRO_CONFIG 45,1817 -#define SB_ADDR_240 46,1854 -#define MPU_ADDR_MASK 47,1897 -#define MPU_ADDR_330 48,1940 -#define MPU_ADDR_300 49,1983 -#define MPU_ADDR_320 50,2026 -#define MPU_ADDR_340 51,2069 -#define USE_PCI_TIMING 52,2112 -#define POSTED_WRITE_ENABLE 53,2155 -#define DMA_POLICY_MASK 54,2198 -#define DMA_DDMA 55,2241 -#define DMA_TDMA 56,2284 -#define DMA_PCPCI 57,2327 -#define DMA_WBDMA16 58,2370 -#define DMA_WBDMA4 59,2413 -#define DMA_WBDMA2 60,2456 -#define DMA_WBDMA1 61,2499 -#define DMA_SAFE_GUARD 62,2542 -#define HI_PERF_GP_ENABLE 63,2585 -#define PIC_SNOOP_MODE_0 64,2628 -#define PIC_SNOOP_MODE_1 65,2671 -#define SOUNDBLASTER_IRQ_MASK 66,2714 -#define RING_IN_ENABLE 67,2757 -#define SPDIF_TEST_MODE 68,2800 -#define CLK_MULT_MODE_SELECT_2 69,2843 -#define EEPROM_WRITE_ENABLE 70,2886 -#define CODEC_DIR_IN 71,2929 -#define HV_BUTTON_FROM_GD 72,2972 -#define REDUCED_DEBOUNCE 73,3015 -#define HV_CTRL_ENABLE 74,3058 -#define SPDIF_ENABLE 75,3101 -#define CLK_DIV_SELECT 76,3144 -#define CLK_DIV_BY_48 77,3187 -#define CLK_DIV_BY_49 78,3230 -#define CLK_DIV_BY_50 79,3273 -#define CLK_DIV_RESERVED 80,3316 -#define PM_CTRL_ENABLE 81,3359 -#define CLK_MULT_MODE_SELECT 82,3402 -#define CLK_MULT_MODE_SHIFT 83,3445 -#define CLK_MULT_MODE_0 84,3480 -#define CLK_MULT_MODE_1 85,3523 -#define CLK_MULT_MODE_2 86,3566 -#define CLK_MULT_MODE_3 87,3609 -#define INT_CLK_SELECT 88,3652 -#define INT_CLK_MULT_RESET 89,3695 -#define INT_CLK_SRC_NOT_PCI 92,3745 -#define INT_CLK_MULT_ENABLE 93,3788 -#define PCI_ACPI_CONTROL 95,3832 -#define PCI_ACPI_D0 96,3869 -#define PCI_ACPI_D1 97,3912 -#define PCI_ACPI_D2 98,3955 -#define PCI_USER_CONFIG 100,3999 -#define EXT_PCI_MASTER_ENABLE 101,4036 -#define SPDIF_OUT_SELECT 102,4079 -#define TEST_PIN_DIR_CTRL 103,4122 -#define AC97_CODEC_TEST 104,4165 -#define TRI_STATE_BUFFER 105,4208 -#define IN_CLK_12MHZ_SELECT 106,4251 -#define MULTI_FUNC_DISABLE 107,4294 -#define EXT_MASTER_PAIR_SEL 108,4337 -#define PCI_MASTER_SUPPORT 109,4380 -#define STOP_CLOCK_ENABLE 110,4423 -#define EAPD_DRIVE_ENABLE 111,4466 -#define REQ_TRI_STATE_ENABLE 112,4509 -#define REQ_LOW_ENABLE 113,4552 -#define MIDI_1_ENABLE 114,4595 -#define MIDI_2_ENABLE 115,4638 -#define SB_AUDIO_SYNC 116,4681 -#define HV_CTRL_TEST 117,4724 -#define SOUNDBLASTER_TEST 118,4767 -#define PCI_USER_CONFIG_C 120,4811 -#define PCI_DDMA_CTRL 122,4849 -#define DDMA_ENABLE 123,4886 -#define HOST_INT_CTRL 127,4952 -#define SB_INT_ENABLE 128,4989 -#define MPU401_INT_ENABLE 129,5028 -#define ASSP_INT_ENABLE 130,5067 -#define RING_INT_ENABLE 131,5106 -#define HV_INT_ENABLE 132,5145 -#define CLKRUN_GEN_ENABLE 133,5184 -#define HV_CTRL_TO_PME 134,5223 -#define SOFTWARE_RESET_ENABLE 135,5262 -#define REGB_ENABLE_RESET 140,5357 -#define REGB_STOP_CLOCK 141,5402 -#define HOST_INT_STATUS 143,5448 -#define SB_INT_PENDING 144,5485 -#define MPU401_INT_PENDING 145,5522 -#define ASSP_INT_PENDING 146,5559 -#define RING_INT_PENDING 147,5596 -#define HV_INT_PENDING 148,5633 -#define HARDWARE_VOL_CTRL 150,5671 -#define SHADOW_MIX_REG_VOICE 151,5708 -#define HW_VOL_COUNTER_VOICE 152,5745 -#define SHADOW_MIX_REG_MASTER 153,5782 -#define HW_VOL_COUNTER_MASTER 154,5819 -#define CODEC_COMMAND 156,5857 -#define CODEC_READ_B 157,5894 -#define CODEC_STATUS 159,5932 -#define CODEC_BUSY_B 160,5969 -#define CODEC_DATA 162,6007 -#define RING_BUS_CTRL_A 164,6045 -#define RAC_PME_ENABLE 165,6082 -#define RAC_SDFS_ENABLE 166,6121 -#define LAC_PME_ENABLE 167,6160 -#define LAC_SDFS_ENABLE 168,6199 -#define SERIAL_AC_LINK_ENABLE 169,6238 -#define IO_SRAM_ENABLE 170,6277 -#define IIS_INPUT_ENABLE 171,6316 -#define RING_BUS_CTRL_B 173,6356 -#define SECOND_CODEC_ID_MASK 174,6393 -#define SPDIF_FUNC_ENABLE 175,6432 -#define SECOND_AC_ENABLE 176,6471 -#define SB_MODULE_INTF_ENABLE 177,6510 -#define SSPE_ENABLE 178,6549 -#define M3I_DOCK_ENABLE 179,6588 -#define SDO_OUT_DEST_CTRL 181,6628 -#define COMMAND_ADDR_OUT 182,6665 -#define PCM_LR_OUT_LOCAL 183,6704 -#define PCM_LR_OUT_REMOTE 184,6743 -#define PCM_LR_OUT_MUTE 185,6782 -#define PCM_LR_OUT_BOTH 186,6821 -#define LINE1_DAC_OUT_LOCAL 187,6860 -#define LINE1_DAC_OUT_REMOTE 188,6899 -#define LINE1_DAC_OUT_MUTE 189,6938 -#define LINE1_DAC_OUT_BOTH 190,6977 -#define PCM_CLS_OUT_LOCAL 191,7016 -#define PCM_CLS_OUT_REMOTE 192,7055 -#define PCM_CLS_OUT_MUTE 193,7094 -#define PCM_CLS_OUT_BOTH 194,7133 -#define PCM_RLF_OUT_LOCAL 195,7172 -#define PCM_RLF_OUT_REMOTE 196,7211 -#define PCM_RLF_OUT_MUTE 197,7250 -#define PCM_RLF_OUT_BOTH 198,7289 -#define LINE2_DAC_OUT_LOCAL 199,7328 -#define LINE2_DAC_OUT_REMOTE 200,7367 -#define LINE2_DAC_OUT_MUTE 201,7406 -#define LINE2_DAC_OUT_BOTH 202,7445 -#define HANDSET_OUT_LOCAL 203,7484 -#define HANDSET_OUT_REMOTE 204,7523 -#define HANDSET_OUT_MUTE 205,7562 -#define HANDSET_OUT_BOTH 206,7601 -#define IO_CTRL_OUT_LOCAL 207,7640 -#define IO_CTRL_OUT_REMOTE 208,7679 -#define IO_CTRL_OUT_MUTE 209,7718 -#define IO_CTRL_OUT_BOTH 210,7757 -#define SDO_IN_DEST_CTRL 212,7797 -#define STATUS_ADDR_IN 213,7834 -#define PCM_LR_IN_LOCAL 214,7873 -#define PCM_LR_IN_REMOTE 215,7912 -#define PCM_LR_RESERVED 216,7951 -#define PCM_LR_IN_BOTH 217,7990 -#define LINE1_ADC_IN_LOCAL 218,8029 -#define LINE1_ADC_IN_REMOTE 219,8068 -#define LINE1_ADC_IN_MUTE 220,8107 -#define MIC_ADC_IN_LOCAL 221,8146 -#define MIC_ADC_IN_REMOTE 222,8185 -#define MIC_ADC_IN_MUTE 223,8224 -#define LINE2_DAC_IN_LOCAL 224,8263 -#define LINE2_DAC_IN_REMOTE 225,8302 -#define LINE2_DAC_IN_MUTE 226,8341 -#define HANDSET_IN_LOCAL 227,8380 -#define HANDSET_IN_REMOTE 228,8419 -#define HANDSET_IN_MUTE 229,8458 -#define IO_STATUS_IN_LOCAL 230,8497 -#define IO_STATUS_IN_REMOTE 231,8536 -#define SPDIF_IN_CTRL 233,8576 -#define SPDIF_IN_ENABLE 234,8613 -#define GPIO_DATA 236,8653 -#define GPIO_DATA_MASK 237,8690 -#define GPIO_HV_STATUS 238,8729 -#define GPIO_PME_STATUS 239,8768 -#define GPIO_MASK 241,8808 -#define GPIO_DIRECTION 242,8845 -#define GPO_PRIMARY_AC97 243,8882 -#define GPI_LINEOUT_SENSE 244,8921 -#define GPO_SECONDARY_AC97 245,8960 -#define GPI_VOL_DOWN 246,8999 -#define GPI_VOL_UP 247,9038 -#define GPI_IIS_CLK 248,9077 -#define GPI_IIS_LRCLK 249,9116 -#define GPI_IIS_DATA 250,9155 -#define GPI_DOCKING_STATUS 251,9194 -#define GPI_HEADPHONE_SENSE 252,9233 -#define GPO_EXT_AMP_SHUTDOWN 253,9272 -#define GPO_M3_EXT_AMP_SHUTDN 256,9318 -#define ASSP_INDEX_PORT 258,9358 -#define ASSP_MEMORY_PORT 259,9395 -#define ASSP_DATA_PORT 260,9432 -#define MPU401_DATA_PORT 262,9470 -#define MPU401_STATUS_PORT 263,9507 -#define CLK_MULT_DATA_PORT 265,9545 -#define ASSP_CONTROL_A 267,9583 -#define ASSP_0_WS_ENABLE 268,9620 -#define ASSP_CTRL_A_RESERVED1 269,9657 -#define ASSP_CTRL_A_RESERVED2 270,9694 -#define ASSP_CLK_49MHZ_SELECT 271,9731 -#define FAST_PLU_ENABLE 272,9768 -#define ASSP_CTRL_A_RESERVED3 273,9805 -#define DSP_CLK_36MHZ_SELECT 274,9842 -#define ASSP_CONTROL_B 276,9880 -#define RESET_ASSP 277,9917 -#define RUN_ASSP 278,9954 -#define ENABLE_ASSP_CLOCK 279,9991 -#define STOP_ASSP_CLOCK 280,10028 -#define RESET_TOGGLE 281,10065 -#define ASSP_CONTROL_C 283,10103 -#define ASSP_HOST_INT_ENABLE 284,10140 -#define FM_ADDR_REMAP_DISABLE 285,10177 -#define HOST_WRITE_PORT_ENABLE 286,10214 -#define ASSP_HOST_INT_STATUS 288,10252 -#define DSP2HOST_REQ_PIORECORD 289,10289 -#define DSP2HOST_REQ_I2SRATE 290,10326 -#define DSP2HOST_REQ_TIMER 291,10363 -#define AC97_VOL_MUTE_B 297,10485 -#define AC97_VOL_M 298,10524 -#define AC97_LEFT_VOL_S 299,10561 -#define AC97_MASTER_VOL 301,10596 -#define AC97_LINE_LEVEL_VOL 302,10633 -#define AC97_MASTER_MONO_VOL 303,10670 -#define AC97_PC_BEEP_VOL 304,10707 -#define AC97_PC_BEEP_VOL_M 305,10744 -#define AC97_SROUND_MASTER_VOL 306,10781 -#define AC97_PC_BEEP_VOL_S 307,10818 -#define AC97_MIC_20DB_ENABLE 311,10931 -#define AC97_PCM_OUT_VOL 317,11121 -#define AC97_RECORD_MIC 319,11199 -#define AC97_RECORD_CD 320,11236 -#define AC97_RECORD_VIDEO 321,11273 -#define AC97_RECORD_AUX 322,11310 -#define AC97_RECORD_MONO_MUX 323,11347 -#define AC97_RECORD_DIGITAL 324,11384 -#define AC97_RECORD_LINE 325,11421 -#define AC97_RECORD_STEREO 326,11458 -#define AC97_RECORD_MONO 327,11495 -#define AC97_RECORD_PHONE 328,11532 -#define AC97_RECORD_VOL_M 331,11611 -#define AC97_POWER_DOWN_CTRL 334,11690 -#define AC97_ADC_READY 335,11727 -#define AC97_DAC_READY 336,11766 -#define AC97_ANALOG_READY 337,11805 -#define AC97_VREF_ON 338,11844 -#define AC97_PR0 339,11883 -#define AC97_PR1 340,11922 -#define AC97_PR2 341,11961 -#define AC97_PR3 342,12000 -#define AC97_PR4 343,12039 -#define AC97_RESERVED1 345,12079 -#define AC97_VENDOR_TEST 347,12117 -#define AC97_CLOCK_DELAY 349,12155 -#define AC97_LINEOUT_MUX_SEL 350,12192 -#define AC97_MONO_MUX_SEL 351,12231 -#define AC97_CLOCK_DELAY_SEL 352,12270 -#define AC97_DAC_CDS_SHIFT 353,12307 -#define AC97_ADC_CDS_SHIFT 354,12341 -#define AC97_MULTI_CHANNEL_SEL 356,12377 -#define DSP_PORT_TIMER_COUNT 364,12522 -#define DSP_PORT_MEMORY_INDEX 366,12560 -#define DSP_PORT_MEMORY_TYPE 368,12598 -#define MEMTYPE_INTERNAL_CODE 369,12635 -#define MEMTYPE_INTERNAL_DATA 370,12674 -#define MEMTYPE_MASK 371,12713 -#define DSP_PORT_MEMORY_DATA 373,12753 -#define DSP_PORT_CONTROL_REG_A 375,12791 -#define DSP_PORT_CONTROL_REG_B 376,12828 -#define DSP_PORT_CONTROL_REG_C 377,12865 -#define REV_A_CODE_MEMORY_BEGIN 379,12903 -#define REV_A_CODE_MEMORY_END 380,12950 -#define REV_A_CODE_MEMORY_UNIT_LENGTH 381,12997 -#define REV_A_CODE_MEMORY_LENGTH 382,13044 -#define REV_B_CODE_MEMORY_BEGIN 384,13139 -#define REV_B_CODE_MEMORY_END 385,13186 -#define REV_B_CODE_MEMORY_UNIT_LENGTH 386,13233 -#define REV_B_CODE_MEMORY_LENGTH 387,13280 -#define REV_A_DATA_MEMORY_BEGIN 389,13375 -#define REV_A_DATA_MEMORY_END 390,13422 -#define REV_A_DATA_MEMORY_UNIT_LENGTH 391,13469 -#define REV_A_DATA_MEMORY_LENGTH 392,13516 -#define REV_B_DATA_MEMORY_BEGIN 394,13611 -#define REV_B_DATA_MEMORY_END 395,13658 -#define REV_B_DATA_MEMORY_UNIT_LENGTH 396,13705 -#define REV_B_DATA_MEMORY_LENGTH 397,13752 -#define NUM_UNITS_KERNEL_CODE 400,13848 -#define NUM_UNITS_KERNEL_DATA 401,13890 -#define NUM_UNITS_KERNEL_CODE_WITH_HSP 403,13933 -#define NUM_UNITS_KERNEL_DATA_WITH_HSP 404,13975 -#define DP_SHIFT_COUNT 410,14048 -#define KDATA_BASE_ADDR 412,14091 -#define KDATA_BASE_ADDR2 413,14138 -#define KDATA_TASK0 415,14186 -#define KDATA_TASK1 416,14253 -#define KDATA_TASK2 417,14320 -#define KDATA_TASK3 418,14387 -#define KDATA_TASK4 419,14454 -#define KDATA_TASK5 420,14521 -#define KDATA_TASK6 421,14588 -#define KDATA_TASK7 422,14655 -#define KDATA_TASK_ENDMARK 423,14722 -#define KDATA_CURRENT_TASK 425,14790 -#define KDATA_TASK_SWITCH 426,14857 -#define KDATA_INSTANCE0_POS3D 428,14925 -#define KDATA_INSTANCE1_POS3D 429,14992 -#define KDATA_INSTANCE2_POS3D 430,15059 -#define KDATA_INSTANCE3_POS3D 431,15126 -#define KDATA_INSTANCE4_POS3D 432,15193 -#define KDATA_INSTANCE5_POS3D 433,15260 -#define KDATA_INSTANCE6_POS3D 434,15327 -#define KDATA_INSTANCE7_POS3D 435,15394 -#define KDATA_INSTANCE8_POS3D 436,15461 -#define KDATA_INSTANCE_POS3D_ENDMARK 437,15528 -#define KDATA_INSTANCE0_SPKVIRT 439,15596 -#define KDATA_INSTANCE_SPKVIRT_ENDMARK 440,15663 -#define KDATA_INSTANCE0_SPDIF 442,15731 -#define KDATA_INSTANCE_SPDIF_ENDMARK 443,15798 -#define KDATA_INSTANCE0_MODEM 445,15866 -#define KDATA_INSTANCE_MODEM_ENDMARK 446,15933 -#define KDATA_INSTANCE0_SRC 448,16001 -#define KDATA_INSTANCE1_SRC 449,16068 -#define KDATA_INSTANCE_SRC_ENDMARK 450,16135 -#define KDATA_INSTANCE0_MINISRC 452,16203 -#define KDATA_INSTANCE1_MINISRC 453,16270 -#define KDATA_INSTANCE2_MINISRC 454,16337 -#define KDATA_INSTANCE3_MINISRC 455,16404 -#define KDATA_INSTANCE_MINISRC_ENDMARK 456,16471 -#define KDATA_INSTANCE0_CPYTHRU 458,16539 -#define KDATA_INSTANCE1_CPYTHRU 459,16606 -#define KDATA_INSTANCE_CPYTHRU_ENDMARK 460,16673 -#define KDATA_CURRENT_DMA 462,16741 -#define KDATA_DMA_SWITCH 463,16808 -#define KDATA_DMA_ACTIVE 464,16875 -#define KDATA_DMA_XFER0 466,16943 -#define KDATA_DMA_XFER1 467,17010 -#define KDATA_DMA_XFER2 468,17077 -#define KDATA_DMA_XFER3 469,17144 -#define KDATA_DMA_XFER4 470,17211 -#define KDATA_DMA_XFER5 471,17278 -#define KDATA_DMA_XFER6 472,17345 -#define KDATA_DMA_XFER7 473,17412 -#define KDATA_DMA_XFER8 474,17479 -#define KDATA_DMA_XFER_ENDMARK 475,17546 -#define KDATA_I2S_SAMPLE_COUNT 477,17614 -#define KDATA_I2S_INT_METER 478,17681 -#define KDATA_I2S_ACTIVE 479,17748 -#define KDATA_TIMER_COUNT_RELOAD 481,17816 -#define KDATA_TIMER_COUNT_CURRENT 482,17883 -#define KDATA_HALT_SYNCH_CLIENT 484,17951 -#define KDATA_HALT_SYNCH_DMA 485,18018 -#define KDATA_HALT_ACKNOWLEDGE 486,18085 -#define KDATA_ADC1_XFER0 488,18153 -#define KDATA_ADC1_XFER_ENDMARK 489,18220 -#define KDATA_ADC1_LEFT_VOLUME 490,18287 -#define KDATA_ADC1_RIGHT_VOLUME 491,18347 -#define KDATA_ADC1_LEFT_SUR_VOL 492,18409 -#define KDATA_ADC1_RIGHT_SUR_VOL 493,18470 -#define KDATA_ADC2_XFER0 495,18532 -#define KDATA_ADC2_XFER_ENDMARK 496,18599 -#define KDATA_ADC2_LEFT_VOLUME 497,18666 -#define KDATA_ADC2_RIGHT_VOLUME 498,18726 -#define KDATA_ADC2_LEFT_SUR_VOL 499,18787 -#define KDATA_ADC2_RIGHT_SUR_VOL 500,18848 -#define KDATA_CD_XFER0 502,18910 -#define KDATA_CD_XFER_ENDMARK 503,18969 -#define KDATA_CD_LEFT_VOLUME 504,19028 -#define KDATA_CD_RIGHT_VOLUME 505,19086 -#define KDATA_CD_LEFT_SUR_VOL 506,19145 -#define KDATA_CD_RIGHT_SUR_VOL 507,19204 -#define KDATA_MIC_XFER0 509,19265 -#define KDATA_MIC_XFER_ENDMARK 510,19320 -#define KDATA_MIC_VOLUME 511,19380 -#define KDATA_MIC_SUR_VOL 512,19435 -#define KDATA_I2S_XFER0 514,19492 -#define KDATA_I2S_XFER_ENDMARK 515,19559 -#define KDATA_CHI_XFER0 517,19627 -#define KDATA_CHI_XFER_ENDMARK 518,19694 -#define KDATA_SPDIF_XFER 520,19762 -#define KDATA_SPDIF_CURRENT_FRAME 521,19829 -#define KDATA_SPDIF_FRAME0 522,19896 -#define KDATA_SPDIF_FRAME1 523,19963 -#define KDATA_SPDIF_FRAME2 524,20030 -#define KDATA_SPDIF_REQUEST 526,20098 -#define KDATA_SPDIF_TEMP 527,20165 -#define KDATA_SPDIFIN_XFER0 529,20233 -#define KDATA_SPDIFIN_XFER_ENDMARK 530,20300 -#define KDATA_SPDIFIN_INT_METER 531,20367 -#define KDATA_DSP_RESET_COUNT 533,20435 -#define KDATA_DEBUG_OUTPUT 534,20502 -#define KDATA_KERNEL_ISR_LIST 536,20570 -#define KDATA_KERNEL_ISR_CBSR1 538,20638 -#define KDATA_KERNEL_ISR_CBER1 539,20705 -#define KDATA_KERNEL_ISR_CBCR 540,20772 -#define KDATA_KERNEL_ISR_AR0 541,20839 -#define KDATA_KERNEL_ISR_AR1 542,20906 -#define KDATA_KERNEL_ISR_AR2 543,20973 -#define KDATA_KERNEL_ISR_AR3 544,21040 -#define KDATA_KERNEL_ISR_AR4 545,21107 -#define KDATA_KERNEL_ISR_AR5 546,21174 -#define KDATA_KERNEL_ISR_BRCR 547,21241 -#define KDATA_KERNEL_ISR_PASR 548,21308 -#define KDATA_KERNEL_ISR_PAER 549,21375 -#define KDATA_CLIENT_SCRATCH0 551,21443 -#define KDATA_CLIENT_SCRATCH1 552,21510 -#define KDATA_KERNEL_SCRATCH 553,21577 -#define KDATA_KERNEL_ISR_SCRATCH 554,21644 -#define KDATA_OUEUE_LEFT 556,21712 -#define KDATA_QUEUE_RIGHT 557,21779 -#define KDATA_ADC1_REQUEST 559,21847 -#define KDATA_ADC2_REQUEST 560,21914 -#define KDATA_CD_REQUEST 561,21981 -#define KDATA_MIC_REQUEST 562,22036 -#define KDATA_ADC1_MIXER_REQUEST 564,22093 -#define KDATA_ADC2_MIXER_REQUEST 565,22160 -#define KDATA_CD_MIXER_REQUEST 566,22227 -#define KDATA_MIC_MIXER_REQUEST 567,22287 -#define KDATA_MIC_SYNC_COUNTER 568,22348 -#define KDATA_MIXER_WORD0 575,22473 -#define KDATA_MIXER_WORD1 576,22541 -#define KDATA_MIXER_WORD2 577,22609 -#define KDATA_MIXER_WORD3 578,22677 -#define KDATA_MIXER_WORD4 579,22745 -#define KDATA_MIXER_WORD5 580,22813 -#define KDATA_MIXER_WORD6 581,22881 -#define KDATA_MIXER_WORD7 582,22949 -#define KDATA_MIXER_WORD8 583,23017 -#define KDATA_MIXER_WORD9 584,23085 -#define KDATA_MIXER_WORDA 585,23153 -#define KDATA_MIXER_WORDB 586,23221 -#define KDATA_MIXER_WORDC 587,23289 -#define KDATA_MIXER_WORDD 588,23357 -#define KDATA_MIXER_WORDE 589,23425 -#define KDATA_MIXER_WORDF 590,23493 -#define KDATA_MIXER_XFER0 592,23562 -#define KDATA_MIXER_XFER1 593,23630 -#define KDATA_MIXER_XFER2 594,23698 -#define KDATA_MIXER_XFER3 595,23766 -#define KDATA_MIXER_XFER4 596,23834 -#define KDATA_MIXER_XFER5 597,23902 -#define KDATA_MIXER_XFER6 598,23970 -#define KDATA_MIXER_XFER7 599,24038 -#define KDATA_MIXER_XFER8 600,24106 -#define KDATA_MIXER_XFER9 601,24174 -#define KDATA_MIXER_XFER_ENDMARK 602,24242 -#define KDATA_MIXER_TASK_NUMBER 604,24311 -#define KDATA_CURRENT_MIXER 605,24379 -#define KDATA_MIXER_ACTIVE 606,24447 -#define KDATA_MIXER_BANK_STATUS 607,24515 -#define KDATA_DAC_LEFT_VOLUME 608,24583 -#define KDATA_DAC_RIGHT_VOLUME 609,24649 -#define MAX_INSTANCE_MINISRC 611,24718 -#define MAX_VIRTUAL_DMA_CHANNELS 612,24817 -#define MAX_VIRTUAL_MIXER_CHANNELS 613,24900 -#define MAX_VIRTUAL_ADC1_CHANNELS 614,24987 -#define CDATA_INSTANCE_READY 619,25108 -#define CDATA_HOST_SRC_ADDRL 621,25154 -#define CDATA_HOST_SRC_ADDRH 622,25199 -#define CDATA_HOST_SRC_END_PLUS_1L 623,25244 -#define CDATA_HOST_SRC_END_PLUS_1H 624,25289 -#define CDATA_HOST_SRC_CURRENTL 625,25334 -#define CDATA_HOST_SRC_CURRENTH 626,25379 -#define CDATA_IN_BUF_CONNECT 628,25425 -#define CDATA_OUT_BUF_CONNECT 629,25470 -#define CDATA_IN_BUF_BEGIN 631,25516 -#define CDATA_IN_BUF_END_PLUS_1 632,25561 -#define CDATA_IN_BUF_HEAD 633,25606 -#define CDATA_IN_BUF_TAIL 634,25651 -#define CDATA_OUT_BUF_BEGIN 635,25696 -#define CDATA_OUT_BUF_END_PLUS_1 636,25741 -#define CDATA_OUT_BUF_HEAD 637,25786 -#define CDATA_OUT_BUF_TAIL 638,25831 -#define CDATA_DMA_CONTROL 640,25877 -#define CDATA_RESERVED 641,25922 -#define CDATA_FREQUENCY 643,25968 -#define CDATA_LEFT_VOLUME 644,26013 -#define CDATA_RIGHT_VOLUME 645,26058 -#define CDATA_LEFT_SUR_VOL 646,26103 -#define CDATA_RIGHT_SUR_VOL 647,26148 -#define CDATA_HEADER_LEN 649,26194 -#define SRC3_DIRECTION_OFFSET 651,26240 -#define SRC3_MODE_OFFSET 652,26297 -#define SRC3_WORD_LENGTH_OFFSET 653,26360 -#define SRC3_PARAMETER_OFFSET 654,26423 -#define SRC3_COEFF_ADDR_OFFSET 655,26486 -#define SRC3_FILTAP_ADDR_OFFSET 656,26549 -#define SRC3_TEMP_INBUF_ADDR_OFFSET 657,26613 -#define SRC3_TEMP_OUTBUF_ADDR_OFFSET 658,26677 -#define MINISRC_IN_BUFFER_SIZE 660,26742 -#define MINISRC_OUT_BUFFER_SIZE 661,26788 -#define MINISRC_OUT_BUFFER_SIZE 662,26837 -#define MINISRC_TMP_BUFFER_SIZE 663,26886 -#define MINISRC_BIQUAD_STAGE 664,26970 -#define MINISRC_COEF_LOC 665,27004 -#define DMACONTROL_BLOCK_MASK 667,27045 -#define DMAC_BLOCK0_SELECTOR 668,27092 -#define DMAC_BLOCK1_SELECTOR 669,27139 -#define DMAC_BLOCK2_SELECTOR 670,27186 -#define DMAC_BLOCK3_SELECTOR 671,27233 -#define DMAC_BLOCK4_SELECTOR 672,27280 -#define DMAC_BLOCK5_SELECTOR 673,27327 -#define DMAC_BLOCK6_SELECTOR 674,27374 -#define DMAC_BLOCK7_SELECTOR 675,27421 -#define DMAC_BLOCK8_SELECTOR 676,27468 -#define DMAC_BLOCK9_SELECTOR 677,27515 -#define DMAC_BLOCKA_SELECTOR 678,27562 -#define DMAC_BLOCKB_SELECTOR 679,27609 -#define DMAC_BLOCKC_SELECTOR 680,27656 -#define DMAC_BLOCKD_SELECTOR 681,27703 -#define DMAC_BLOCKE_SELECTOR 682,27750 -#define DMAC_BLOCKF_SELECTOR 683,27797 -#define DMACONTROL_PAGE_MASK 684,27844 -#define DMAC_PAGE0_SELECTOR 685,27891 -#define DMAC_PAGE1_SELECTOR 686,27938 -#define DMAC_PAGE2_SELECTOR 687,27985 -#define DMAC_PAGE3_SELECTOR 688,28032 -#define DMACONTROL_AUTOREPEAT 689,28079 -#define DMACONTROL_STOPPED 690,28126 -#define DMACONTROL_DIRECTION 691,28173 -u16 assp_kernel_image[698,28249 -u16 assp_minisrc_image[785,36366 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/vidc_fill.S,220 -dma_interrupt:dma_interrupt197,3977 -dma_pbuf:dma_pbuf200,4028 -dma_start:dma_start204,4093 -dma_count:dma_count207,4141 -dma_buf:dma_buf210,4187 -vidc_filler:vidc_filler214,4253 -dma_bufsize:dma_bufsize217,4319 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/midi_synth.c,936 -#define USE_SEQ_MACROS17,472 -#define USE_SIMPLE_MACROS18,495 -#define _MIDI_SYNTH_C_22,549 -static int midi2synth[26,598 -static int sysex_state[27,640 -static unsigned char prev_out_status[29,689 -#define STORE(STORE31,742 -#define _seqbuf 39,851 -#define _seqbufptr 40,872 -#define _SEQ_ADVBUF(_SEQ_ADVBUF41,893 -do_midi_msg(44,928 -midi_outc(89,1857 -prefix_cmd(114,2378 -midi_synth_input(123,2569 -leave_sysex(234,5143 -midi_synth_output(252,5444 -int midi_synth_ioctl(259,5503 -midi_synth_kill_note(281,5867 -midi_synth_set_instr(347,7301 -midi_synth_start_note(369,7738 -midi_synth_reset(410,8615 -midi_synth_open(417,8670 -midi_synth_close(449,9389 -midi_synth_hw_control(464,9667 -midi_synth_load_patch(469,9729 -void midi_synth_panning(546,11503 -void midi_synth_aftertouch(550,11570 -midi_synth_controller(581,12261 -midi_synth_bender(609,12902 -midi_synth_setup_voice(640,13601 -midi_synth_send_sysex(645,13666 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/aci.h,885 -#define _ACI_H_2,16 -#define aci_indexed_cmd(aci_indexed_cmd8,166 -#define aci_write_cmd(aci_write_cmd9,217 -#define aci_read_cmd(aci_read_cmd10,268 -#define COMMAND_REGISTER 12,320 -#define STATUS_REGISTER 13,385 -#define BUSY_REGISTER 14,449 -#define RDS_REGISTER 16,518 -#define ACI_SET_MUTE 18,561 -#define ACI_SET_POWERAMP 19,596 -#define ACI_SET_TUNERMUTE 20,631 -#define ACI_SET_TUNERMONO 21,666 -#define ACI_SET_IDE 22,701 -#define ACI_SET_WSS 23,736 -#define ACI_SET_SOLOMODE 24,771 -#define ACI_WRITE_IGAIN 25,806 -#define ACI_WRITE_TUNE 26,841 -#define ACI_READ_TUNERSTEREO 27,876 -#define ACI_READ_TUNERSTATION 28,911 -#define ACI_READ_VERSION 29,946 -#define ACI_READ_IDCODE 30,981 -#define ACI_INIT 31,1016 -#define ACI_STATUS 32,1051 -#define ACI_S_GENERAL 33,1086 -#define ACI_S_READ_IGAIN 34,1121 -#define ACI_ERROR_OP 35,1156 -#define SCALE(SCALE54,1826 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/vwsnd.c,8811 -static int shut_up 161,5052 -static void dbgassert(167,5132 -#define ASSERT(ASSERT196,6005 -#define DBGDO(DBGDO197,6085 -#define DBGX(DBGX198,6115 -#define DBGP(DBGP199,6195 -#define DBGE(DBGE200,6265 -#define DBGC(DBGC201,6333 -#define DBGR(DBGR202,6389 -#define DBGXV(DBGXV203,6439 -#define DBGPV(DBGPV204,6501 -#define DBGEV(DBGEV205,6563 -#define DBGCV(DBGCV206,6625 -#define DBGRV(DBGRV207,6679 -#define ASSERT(ASSERT211,6757 -#define DBGDO(DBGDO212,6796 -#define DBGX(DBGX213,6836 -#define DBGP(DBGP214,6875 -#define DBGE(DBGE215,6914 -#define DBGC(DBGC216,6953 -#define DBGR(DBGR217,6992 -#define DBGPV(DBGPV218,7031 -#define DBGXV(DBGXV219,7070 -#define DBGEV(DBGEV220,7109 -#define DBGCV(DBGCV221,7148 -#define DBGRV(DBGRV222,7187 - LI_PAGE0_OFFSET 235,7505 - LI_PAGE0_OFFSET = 0x01000 235,7505 - LI_PAGE0_OFFSET = 0x01000 - 0x1000,235,7505 - LI_PAGE1_OFFSET 236,7557 - LI_PAGE1_OFFSET = 0x0F000 236,7557 - LI_PAGE1_OFFSET = 0x0F000 - 0x1000,236,7557 - LI_PAGE2_OFFSET 237,7609 - LI_PAGE2_OFFSET = 0x10000 237,7609 - LI_PAGE2_OFFSET = 0x10000 - 0x1000,237,7609 -typedef struct lithium lithium242,7695 -} lithium_t;lithium_t247,7852 -static int __init li_create(255,8019 -static void li_destroy(274,8556 -static __inline__ unsigned long li_readl(294,8867 -static __inline__ unsigned char li_readb(299,8997 -static __inline__ void li_writel(304,9127 -static __inline__ void li_writeb(309,9267 -#define LI_HOST_CONTROLLER 367,11822 -# define LI_HC_RESET 368,11855 -# define LI_HC_LINK_ENABLE 369,11889 -# define LI_HC_LINK_FAILURE 370,11928 -# define LI_HC_LINK_CODEC 371,11968 -# define LI_HC_LINK_READY 372,12006 -#define LI_INTR_STATUS 374,12045 -#define LI_INTR_MASK 375,12075 -# define LI_INTR_LINK_ERR 376,12103 -# define LI_INTR_COMM2_TRIG 377,12141 -# define LI_INTR_COMM2_UNDERFLOW 378,12181 -# define LI_INTR_COMM1_TRIG 379,12225 -# define LI_INTR_COMM1_OVERFLOW 380,12265 -#define LI_CODEC_COMMAND 382,12310 -# define LI_CC_BUSY 383,12341 -# define LI_CC_DIR 384,12374 -# define LI_CC_DIR_RD 385,12406 -# define LI_CC_DIR_WR 386,12442 -# define LI_CC_ADDR_MASK 387,12479 -#define LI_CODEC_DATA 389,12517 -#define LI_COMM1_BASE 391,12547 -#define LI_COMM1_CTL 392,12576 -# define LI_CCTL_RESET 393,12604 -# define LI_CCTL_SIZE 394,12640 -# define LI_CCTL_DMA_ENABLE 395,12675 -# define LI_CCTL_TMASK 396,12715 -# define LI_CCTL_TPTR 397,12770 -# define LI_CCTL_RPTR 398,12827 -# define LI_CCTL_WPTR 399,12862 -#define LI_COMM1_CFG 400,12897 -# define LI_CCFG_LOCK 401,12925 -# define LI_CCFG_SLOT 402,12960 -# define LI_CCFG_DIRECTION 403,12995 -# define LI_CCFG_DIR_IN 404,13034 -# define LI_CCFG_DIR_OUT 405,13080 -# define LI_CCFG_MODE 406,13126 -# define LI_CCFG_MODE_MONO 407,13161 -# define LI_CCFG_MODE_STEREO 408,13205 -# define LI_CCFG_FORMAT 409,13250 -# define LI_CCFG_FMT_8BIT 410,13287 -# define LI_CCFG_FMT_16BIT 411,13327 -#define LI_COMM2_BASE 412,13368 -#define LI_COMM2_CTL 413,13397 -#define LI_COMM2_CFG 415,13477 -#define LI_UST_LOW 418,13558 -#define LI_UST_HIGH 419,13623 -#define LI_AUDIO1_UST 421,13681 -#define LI_AUDIO1_MSC 422,13730 -#define LI_AUDIO2_UST 423,13792 -#define LI_AUDIO2_MSC 424,13851 -#define DMACHUNK_SHIFT 431,14006 -#define DMACHUNK_SIZE 432,14031 -#define BYTES_TO_CHUNKS(BYTES_TO_CHUNKS433,14075 -#define CHUNKS_TO_BYTES(CHUNKS_TO_BYTES434,14134 -#define SHIFT_FIELD(SHIFT_FIELD444,14441 -#define UNSHIFT_FIELD(UNSHIFT_FIELD445,14512 -typedef struct dma_chan_desc dma_chan_desc456,14879 -} dma_chan_desc_t;dma_chan_desc_t467,15093 -static const dma_chan_desc_t li_comm1 469,15113 -static const dma_chan_desc_t li_comm2 482,15600 -typedef struct dma_chan dma_chan504,16384 -} dma_chan_t;dma_chan_t510,16535 -typedef struct ustmsc ustmsc518,16754 -} ustmsc_t;ustmsc_t521,16823 -static int li_ad1843_wait(530,17028 -static int li_read_ad1843_reg(545,17390 -static void li_write_ad1843_reg(572,17934 -static void li_setup_dma(589,18331 -static void li_shutdown_dma(659,20235 -static __inline__ void li_activate_dma(691,21162 -static void li_deactivate_dma(698,21361 -static __inline__ int li_read_swptr(729,22363 -static __inline__ int li_read_hwptr(736,22534 -static __inline__ void li_write_swptr(741,22662 -static void li_read_USTMSC(753,23041 -static void li_enable_interrupts(786,23913 -static void li_disable_interrupts(800,24231 -static unsigned int li_get_clear_intr_status(818,24648 -static int li_init(827,24865 -typedef struct ad1843_bitfield ad1843_bitfield858,25635 -} ad1843_bitfield_t;ad1843_bitfield_t862,25706 - ad1843_PDNO 865,25759 -typedef struct ad1843_gain ad1843_gain923,29161 -} ad1843_gain_t;ad1843_gain_t929,29311 -static const ad1843_gain_t ad1843_gain_RECLEV931,29329 -static const ad1843_gain_t ad1843_gain_LINE933,29416 -static const ad1843_gain_t ad1843_gain_CD935,29502 -static const ad1843_gain_t ad1843_gain_MIC937,29586 -static const ad1843_gain_t ad1843_gain_PCM939,29671 -static int ad1843_read_bits(944,29811 -static int ad1843_write_bits(959,30223 -static void ad1843_read_multi(991,31151 -static void ad1843_write_multi(1023,31891 -static int ad1843_get_gain(1061,32702 -static int ad1843_set_gain(1083,33225 -static int ad1843_get_recsrc(1105,33790 -static void ad1843_set_resample_mode(1139,34611 -static int ad1843_set_recsrc(1175,35561 -static int ad1843_get_outsrc(1222,36498 -static int ad1843_set_outsrc(1240,37019 -static void ad1843_setup_dac(1262,37722 -static void ad1843_shutdown_dac(1294,38540 -static void ad1843_setup_adc(1299,38637 -static void ad1843_shutdown_adc(1322,39282 -static int __init ad1843_init(1335,39638 -#define READ_INTR_MASK 1417,41660 -#define WRITE_INTR_MASK 1418,41730 -typedef enum vwsnd_port_swstate vwsnd_port_swstate1420,41802 - SW_OFF,1421,41857 - SW_INITIAL,1422,41866 - SW_RUN,1423,41879 - SW_DRAIN,1424,41888 -} vwsnd_port_swstate_t;vwsnd_port_swstate_t1425,41899 -typedef enum vwsnd_port_hwstate vwsnd_port_hwstate1427,41924 - HW_STOPPED,1428,41979 - HW_RUNNING,1429,41992 -} vwsnd_port_hwstate_t;vwsnd_port_hwstate_t1430,42005 -typedef enum vwsnd_port_flags vwsnd_port_flags1436,42100 - DISABLED 1437,42132 - ERFLOWN 1438,42152 - HW_BUSY 1439,42203 -} vwsnd_port_flags_t;vwsnd_port_flags_t1440,42223 -typedef struct vwsnd_port vwsnd_port1457,42661 -} vwsnd_port_t;vwsnd_port_t1501,43665 -typedef struct vwsnd_dev vwsnd_dev1505,43733 -} vwsnd_dev_t;vwsnd_dev_t1520,44093 -static vwsnd_dev_t *vwsnd_dev_list;1522,44109 -static atomic_t vwsnd_use_count 1524,44179 -# define INC_USE_COUNT 1526,44230 -# define DEC_USE_COUNT 1527,44284 -# define IN_USE 1528,44338 -#define HWBUF_SHIFT 1543,44989 -#define HWBUF_SIZE 1544,45012 -# define HBO 1545,45050 -# define HWBUF_ORDER 1546,45129 -#define MIN_SPEED 1547,45184 -#define MAX_SPEED 1548,45207 -#define MIN_FRAGSHIFT 1550,45232 -#define MAX_FRAGSHIFT 1551,45277 -#define MIN_FRAGSIZE 1552,45314 -#define MAX_FRAGSIZE 1553,45358 -#define MIN_FRAGCOUNT(MIN_FRAGCOUNT1554,45402 -#define MAX_FRAGCOUNT(MAX_FRAGCOUNT1555,45437 -#define DEFAULT_FRAGSHIFT 1556,45500 -#define DEFAULT_FRAGCOUNT 1557,45530 -#define DEFAULT_SUBDIVSHIFT 1558,45560 -static __inline__ unsigned int __swb_inc_u(1583,46539 -static __inline__ unsigned int swb_inc_u(1594,46779 -static __inline__ unsigned int __swb_inc_i(1607,47032 -static __inline__ unsigned int swb_inc_i(1618,47272 -static int pcm_setup(1641,47764 -static void pcm_shutdown_port(1817,52874 -static void pcm_shutdown(1856,53832 -static void pcm_copy_in(1873,54246 -static void pcm_copy_out(1898,54944 -static void pcm_output(1940,56374 -static void pcm_input(2064,60338 -static void pcm_flush_frag(2160,63168 -static void pcm_write_sync(2188,63879 -static void vwsnd_audio_read_intr(2221,64669 -static void vwsnd_audio_write_intr(2229,64862 -static irqreturn_t vwsnd_audio_intr(2237,65061 -static ssize_t vwsnd_audio_do_read(2250,65428 -static ssize_t vwsnd_audio_read(2314,67046 -static ssize_t vwsnd_audio_do_write(2328,67324 -static ssize_t vwsnd_audio_write(2389,68902 -static unsigned int vwsnd_audio_poll(2404,69219 -static int vwsnd_audio_do_ioctl(2432,69940 -static int vwsnd_audio_ioctl(2886,82864 -static int vwsnd_audio_mmap(2902,83180 -static int vwsnd_audio_open(2914,83425 -static int vwsnd_audio_release(3001,85620 -static struct file_operations vwsnd_audio_fops 3039,86396 -static int vwsnd_mixer_open(3056,86829 -static int vwsnd_mixer_release(3077,87240 -static int mixer_read_ioctl(3086,87462 -static int mixer_write_ioctl(3153,88987 -static int vwsnd_mixer_ioctl(3204,90137 -static struct file_operations vwsnd_mixer_fops 3229,90829 -static int __init probe_vwsnd(3242,91193 -static int __init attach_vwsnd(3295,92537 -static int __exit unload_vwsnd(3421,95824 -static struct address_info the_hw_config 3453,96557 -static int __init init_vwsnd(3462,96809 -static void __exit cleanup_vwsnd(3478,97046 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/cs461x.h,37562 -#define __CS461X_H2,19 -#define PCI_VENDOR_ID_CIRRUS 27,978 -#define PCI_DEVICE_ID_CIRRUS_4610 30,1066 -#define PCI_DEVICE_ID_CIRRUS_4612 33,1154 -#define PCI_DEVICE_ID_CIRRUS_4615 36,1242 -#define BA0_HISR 47,1451 -#define BA0_HSR0 48,1482 -#define BA0_HICR 49,1541 -#define BA0_DMSR 50,1600 -#define BA0_HSAR 51,1659 -#define BA0_HDAR 52,1718 -#define BA0_HDMR 53,1777 -#define BA0_HDCR 54,1836 -#define BA0_PFMC 55,1895 -#define BA0_PFCV1 56,1954 -#define BA0_PFCV2 57,2013 -#define BA0_PCICFG00 58,2072 -#define BA0_PCICFG04 59,2131 -#define BA0_PCICFG08 60,2190 -#define BA0_PCICFG0C 61,2249 -#define BA0_PCICFG10 62,2308 -#define BA0_PCICFG14 63,2367 -#define BA0_PCICFG18 64,2426 -#define BA0_PCICFG1C 65,2485 -#define BA0_PCICFG20 66,2544 -#define BA0_PCICFG24 67,2603 -#define BA0_PCICFG28 68,2662 -#define BA0_PCICFG2C 69,2721 -#define BA0_PCICFG30 70,2780 -#define BA0_PCICFG34 71,2839 -#define BA0_PCICFG38 72,2898 -#define BA0_PCICFG3C 73,2957 -#define BA0_CLKCR1 74,3016 -#define BA0_CLKCR2 75,3075 -#define BA0_PLLM 76,3134 -#define BA0_PLLCC 77,3193 -#define BA0_FRR 78,3252 -#define BA0_CFL1 79,3312 -#define BA0_CFL2 80,3371 -#define BA0_SERMC1 81,3430 -#define BA0_SERMC2 82,3489 -#define BA0_SERC1 83,3548 -#define BA0_SERC2 84,3607 -#define BA0_SERC3 85,3666 -#define BA0_SERC4 86,3725 -#define BA0_SERC5 87,3784 -#define BA0_SERBSP 88,3843 -#define BA0_SERBST 89,3902 -#define BA0_SERBCM 90,3961 -#define BA0_SERBAD 91,4020 -#define BA0_SERBCF 92,4079 -#define BA0_SERBWP 93,4138 -#define BA0_SERBRP 94,4197 -#define BA0_ASER_FADDR 96,4274 -#define BA0_ACCTL 98,4340 -#define BA0_ACSTS 99,4399 -#define BA0_ACOSV 100,4458 -#define BA0_ACCAD 101,4517 -#define BA0_ACCDA 102,4576 -#define BA0_ACISV 103,4635 -#define BA0_ACSAD 104,4694 -#define BA0_ACSDA 105,4753 -#define BA0_JSPT 106,4812 -#define BA0_JSCTL 107,4871 -#define BA0_JSC1 108,4930 -#define BA0_JSC2 109,4989 -#define BA0_MIDCR 110,5048 -#define BA0_MIDSR 111,5107 -#define BA0_MIDWP 112,5166 -#define BA0_MIDRP 113,5225 -#define BA0_JSIO 114,5284 -#define BA0_ASER_MASTER 116,5361 -#define BA0_CFGI 118,5427 -#define BA0_SSVID 119,5486 -#define BA0_GPIOR 120,5545 -#define BA0_EGPIODR 122,5622 -#define BA0_EGPIOPTR 123,5681 -#define BA0_EGPIOTR 124,5740 -#define BA0_EGPIOWR 125,5799 -#define BA0_EGPIOSR 126,5858 -#define BA0_SERC6 127,5917 -#define BA0_SERC7 128,5976 -#define BA0_SERACC 129,6035 -#define BA0_ACCTL2 130,6094 -#define BA0_ACSTS2 131,6153 -#define BA0_ACOSV2 132,6212 -#define BA0_ACCAD2 133,6271 -#define BA0_ACCDA2 134,6330 -#define BA0_ACISV2 135,6389 -#define BA0_ACSAD2 136,6448 -#define BA0_ACSDA2 137,6507 -#define BA0_IOTAC0 138,6566 -#define BA0_IOTAC1 139,6625 -#define BA0_IOTAC2 140,6684 -#define BA0_IOTAC3 141,6743 -#define BA0_IOTAC4 142,6802 -#define BA0_IOTAC5 143,6861 -#define BA0_IOTAC6 144,6920 -#define BA0_IOTAC7 145,6979 -#define BA0_IOTAC8 146,7038 -#define BA0_IOTAC9 147,7097 -#define BA0_IOTAC10 148,7156 -#define BA0_IOTAC11 149,7215 -#define BA0_IOTFR0 150,7274 -#define BA0_IOTFR1 151,7333 -#define BA0_IOTFR2 152,7392 -#define BA0_IOTFR3 153,7451 -#define BA0_IOTFR4 154,7510 -#define BA0_IOTFR5 155,7569 -#define BA0_IOTFR6 156,7628 -#define BA0_IOTFR7 157,7687 -#define BA0_IOTFIFO 158,7746 -#define BA0_IOTRRD 159,7805 -#define BA0_IOTFP 160,7864 -#define BA0_IOTCR 161,7923 -#define BA0_DPCID 162,7982 -#define BA0_DPCIA 163,8041 -#define BA0_DPCIC 164,8100 -#define BA0_PCPCIR 165,8159 -#define BA0_PCPCIG 166,8218 -#define BA0_PCPCIEN 167,8277 -#define BA0_EPCIPMC 168,8336 -#define BA1_SP_DMEM0 175,8540 -#define BA1_SP_DMEM1 176,8599 -#define BA1_SP_PMEM 177,8658 -#define BA1_SP_REG 178,8717 -#define BA1_SPCR 179,8750 -#define BA1_DREG 180,8809 -#define BA1_DSRWP 181,8868 -#define BA1_TWPR 182,8927 -#define BA1_SPWR 183,8986 -#define BA1_SPIR 184,9045 -#define BA1_FGR1 185,9104 -#define BA1_SPCS 186,9163 -#define BA1_SDSR 187,9222 -#define BA1_FRMT 188,9281 -#define BA1_FRCC 189,9340 -#define BA1_FRSC 190,9399 -#define BA1_OMNI_MEM 191,9458 -#define HISR_VC_MASK 197,9612 -#define HISR_VC0 198,9671 -#define HISR_VC1 199,9730 -#define HISR_VC2 200,9789 -#define HISR_VC3 201,9848 -#define HISR_VC4 202,9907 -#define HISR_VC5 203,9966 -#define HISR_VC6 204,10025 -#define HISR_VC7 205,10084 -#define HISR_VC8 206,10143 -#define HISR_VC9 207,10202 -#define HISR_VC10 208,10261 -#define HISR_VC11 209,10320 -#define HISR_VC12 210,10379 -#define HISR_VC13 211,10438 -#define HISR_VC14 212,10497 -#define HISR_VC15 213,10556 -#define HISR_INT0 214,10615 -#define HISR_INT1 215,10674 -#define HISR_DMAI 216,10733 -#define HISR_FROVR 217,10792 -#define HISR_MIDI 218,10851 -#define HISR_RESERVED 220,10927 -#define HISR_SBINT 222,10992 -#define HISR_RESERVED 223,11051 -#define HISR_H0P 225,11117 -#define HISR_INTENA 226,11176 -#define HSR0_VC_MASK 231,11318 -#define HSR0_VC16 232,11377 -#define HSR0_VC17 233,11436 -#define HSR0_VC18 234,11495 -#define HSR0_VC19 235,11554 -#define HSR0_VC20 236,11613 -#define HSR0_VC21 237,11672 -#define HSR0_VC22 238,11731 -#define HSR0_VC23 239,11790 -#define HSR0_VC24 240,11849 -#define HSR0_VC25 241,11908 -#define HSR0_VC26 242,11967 -#define HSR0_VC27 243,12026 -#define HSR0_VC28 244,12085 -#define HSR0_VC29 245,12144 -#define HSR0_VC30 246,12203 -#define HSR0_VC31 247,12262 -#define HSR0_VC32 248,12321 -#define HSR0_VC33 249,12380 -#define HSR0_VC34 250,12439 -#define HSR0_VC35 251,12498 -#define HSR0_VC36 252,12557 -#define HSR0_VC37 253,12616 -#define HSR0_VC38 254,12675 -#define HSR0_VC39 255,12734 -#define HSR0_VC40 256,12793 -#define HSR0_VC41 257,12852 -#define HSR0_VC42 258,12911 -#define HSR0_VC43 259,12970 -#define HSR0_VC44 260,13029 -#define HSR0_VC45 261,13088 -#define HSR0_VC46 262,13147 -#define HSR0_VC47 263,13206 -#define HICR_IEV 269,13361 -#define HICR_CHGM 270,13420 -#define DMSR_HP 275,13559 -#define DMSR_HR 276,13618 -#define DMSR_SP 277,13677 -#define DMSR_SR 278,13736 -#define HSAR_HOST_ADDR_MASK 284,13892 -#define HSAR_DSP_ADDR_MASK 285,13951 -#define HSAR_MEMID_MASK 286,14010 -#define HSAR_MEMID_SP_DMEM0 287,14069 -#define HSAR_MEMID_SP_DMEM1 288,14128 -#define HSAR_MEMID_SP_PMEM 289,14187 -#define HSAR_MEMID_SP_DEBUG 290,14246 -#define HSAR_MEMID_OMNI_MEM 291,14305 -#define HSAR_END 292,14364 -#define HSAR_ERR 293,14423 -#define HDAR_HOST_ADDR_MASK 299,14584 -#define HDAR_DSP_ADDR_MASK 300,14643 -#define HDAR_MEMID_MASK 301,14702 -#define HDAR_MEMID_SP_DMEM0 302,14761 -#define HDAR_MEMID_SP_DMEM1 303,14820 -#define HDAR_MEMID_SP_PMEM 304,14879 -#define HDAR_MEMID_SP_DEBUG 305,14938 -#define HDAR_MEMID_OMNI_MEM 306,14997 -#define HDAR_END 307,15056 -#define HDAR_ERR 308,15115 -#define HDMR_AC_MASK 313,15260 -#define HDMR_AC_8_16 314,15319 -#define HDMR_AC_M_S 315,15378 -#define HDMR_AC_B_L 316,15437 -#define HDMR_AC_S_U 317,15496 -#define HDCR_COUNT_MASK 322,15641 -#define HDCR_DONE 323,15700 -#define HDCR_OPT 324,15759 -#define HDCR_WBD 325,15818 -#define HDCR_WBS 326,15877 -#define HDCR_DMS_MASK 327,15936 -#define HDCR_DMS_LINEAR 328,15995 -#define HDCR_DMS_16_DWORDS 329,16054 -#define HDCR_DMS_32_DWORDS 330,16113 -#define HDCR_DMS_64_DWORDS 331,16172 -#define HDCR_DMS_128_DWORDS 332,16231 -#define HDCR_DMS_256_DWORDS 333,16290 -#define HDCR_DMS_512_DWORDS 334,16349 -#define HDCR_DMS_1024_DWORDS 335,16408 -#define HDCR_DH 336,16467 -#define HDCR_SMS_MASK 337,16526 -#define HDCR_SMS_LINEAR 338,16585 -#define HDCR_SMS_16_DWORDS 339,16644 -#define HDCR_SMS_32_DWORDS 340,16703 -#define HDCR_SMS_64_DWORDS 341,16762 -#define HDCR_SMS_128_DWORDS 342,16821 -#define HDCR_SMS_256_DWORDS 343,16880 -#define HDCR_SMS_512_DWORDS 344,16939 -#define HDCR_SMS_1024_DWORDS 345,16998 -#define HDCR_SH 346,17057 -#define HDCR_COUNT_SHIFT 347,17116 -#define PFMC_C1SS_MASK 353,17267 -#define PFMC_C1EV 354,17326 -#define PFMC_C1RS 355,17385 -#define PFMC_C2SS_MASK 356,17444 -#define PFMC_C2EV 357,17503 -#define PFMC_C2RS 358,17562 -#define PFMC_C1SS_SHIFT 359,17621 -#define PFMC_C2SS_SHIFT 360,17671 -#define PFMC_BUS_GRANT 361,17722 -#define PFMC_GRANT_AFTER_REQ 362,17772 -#define PFMC_TRANSACTION 363,17822 -#define PFMC_DWORD_TRANSFER 364,17872 -#define PFMC_SLAVE_READ 365,17922 -#define PFMC_SLAVE_WRITE 366,17972 -#define PFMC_PREEMPTION 367,18022 -#define PFMC_DISCONNECT_RETRY 368,18072 -#define PFMC_INTERRUPT 369,18122 -#define PFMC_BUS_OWNERSHIP 370,18172 -#define PFMC_TRANSACTION_LAG 371,18222 -#define PFMC_PCI_CLOCK 372,18273 -#define PFMC_SERIAL_CLOCK 373,18324 -#define PFMC_SP_CLOCK 374,18375 -#define PFCV1_PC1V_MASK 380,18527 -#define PFCV1_PC1V_SHIFT 381,18586 -#define PFCV2_PC2V_MASK 387,18737 -#define PFCV2_PC2V_SHIFT 388,18796 -#define CLKCR1_OSCS 393,18931 -#define CLKCR1_OSCP 394,18990 -#define CLKCR1_PLLSS_MASK 395,19049 -#define CLKCR1_PLLSS_SERIAL 396,19108 -#define CLKCR1_PLLSS_CRYSTAL 397,19167 -#define CLKCR1_PLLSS_PCI 398,19226 -#define CLKCR1_PLLSS_RESERVED 399,19285 -#define CLKCR1_PLLP 400,19344 -#define CLKCR1_SWCE 401,19403 -#define CLKCR1_PLLOS 402,19462 -#define CLKCR2_PDIVS_MASK 407,19606 -#define CLKCR2_PDIVS_1 408,19665 -#define CLKCR2_PDIVS_2 409,19724 -#define CLKCR2_PDIVS_4 410,19783 -#define CLKCR2_PDIVS_7 411,19842 -#define CLKCR2_PDIVS_8 412,19901 -#define CLKCR2_PDIVS_16 413,19960 -#define PLLM_MASK 418,20103 -#define PLLM_SHIFT 419,20162 -#define PLLCC_CDR_MASK 425,20311 -#define PLLCC_CDR_240_350_MHZ 427,20388 -#define PLLCC_CDR_184_265_MHZ 428,20447 -#define PLLCC_CDR_144_205_MHZ 429,20506 -#define PLLCC_CDR_111_160_MHZ 430,20565 -#define PLLCC_CDR_87_123_MHZ 431,20624 -#define PLLCC_CDR_67_96_MHZ 432,20683 -#define PLLCC_CDR_52_74_MHZ 433,20742 -#define PLLCC_CDR_45_58_MHZ 434,20801 -#define PLLCC_CDR_271_398_MHZ 437,20885 -#define PLLCC_CDR_227_330_MHZ 438,20944 -#define PLLCC_CDR_167_239_MHZ 439,21003 -#define PLLCC_CDR_150_215_MHZ 440,21062 -#define PLLCC_CDR_107_154_MHZ 441,21121 -#define PLLCC_CDR_98_140_MHZ 442,21180 -#define PLLCC_CDR_73_104_MHZ 443,21239 -#define PLLCC_CDR_63_90_MHZ 444,21298 -#define PLLCC_LPF_MASK 446,21364 -#define PLLCC_LPF_23850_60000_KHZ 448,21441 -#define PLLCC_LPF_7960_26290_KHZ 449,21500 -#define PLLCC_LPF_4160_10980_KHZ 450,21559 -#define PLLCC_LPF_1740_4580_KHZ 451,21618 -#define PLLCC_LPF_724_1910_KHZ 452,21677 -#define PLLCC_LPF_317_798_KHZ 453,21736 -#define PLLCC_LPF_25580_64530_KHZ 456,21820 -#define PLLCC_LPF_14360_37270_KHZ 457,21879 -#define PLLCC_LPF_6100_16020_KHZ 458,21938 -#define PLLCC_LPF_2540_6690_KHZ 459,21997 -#define PLLCC_LPF_1050_2780_KHZ 460,22056 -#define PLLCC_LPF_450_1160_KHZ 461,22115 -#define FRR_FAB_MASK 467,22268 -#define FRR_MASK_MASK 468,22327 -#define FRR_CFOP_MASK 470,22403 -#define FRR_CFOP_MASK 472,22468 -#define FRR_CFOP_NOT_DVD 474,22534 -#define FRR_CFOP_A3D 475,22593 -#define FRR_CFOP_128_PIN 476,22652 -#define FRR_CFOP_CS4280 478,22729 -#define FRR_FAB_SHIFT 480,22795 -#define FRR_MASK_SHIFT 481,22845 -#define FRR_CFOP_SHIFT 482,22895 -#define CFL1_CLOCK_SOURCE_MASK 488,23039 -#define CFL1_CLOCK_SOURCE_CS423X 489,23098 -#define CFL1_CLOCK_SOURCE_AC97 490,23157 -#define CFL1_CLOCK_SOURCE_CRYSTAL 491,23216 -#define CFL1_CLOCK_SOURCE_DUAL_AC97 492,23275 -#define CFL1_VALID_DATA_MASK 493,23334 -#define CFL2_VALID_DATA_MASK 499,23487 -#define SERMC1_MSPE 505,23648 -#define SERMC1_PTC_MASK 506,23707 -#define SERMC1_PTC_CS423X 507,23766 -#define SERMC1_PTC_AC97 508,23825 -#define SERMC1_PTC_DAC 509,23884 -#define SERMC1_PLB 510,23943 -#define SERMC1_XLB 511,24002 -#define SERMC2_LROE 517,24163 -#define SERMC2_MCOE 518,24222 -#define SERMC2_MCDIV 519,24281 -#define SERC1_SO1EN 525,24441 -#define SERC1_SO1F_MASK 526,24500 -#define SERC1_SO1F_CS423X 527,24559 -#define SERC1_SO1F_AC97 528,24618 -#define SERC1_SO1F_DAC 529,24677 -#define SERC1_SO1F_SPDIF 530,24736 -#define SERC2_SI1EN 536,24896 -#define SERC2_SI1F_MASK 537,24955 -#define SERC2_SI1F_CS423X 538,25014 -#define SERC2_SI1F_AC97 539,25073 -#define SERC2_SI1F_ADC 540,25132 -#define SERC2_SI1F_SPDIF 541,25191 -#define SERC3_SO2EN 547,25351 -#define SERC3_SO2F_MASK 548,25410 -#define SERC3_SO2F_DAC 549,25469 -#define SERC3_SO2F_SPDIF 550,25528 -#define SERC4_SO3EN 556,25688 -#define SERC4_SO3F_MASK 557,25747 -#define SERC4_SO3F_DAC 558,25806 -#define SERC4_SO3F_SPDIF 559,25865 -#define SERC5_SI2EN 565,26025 -#define SERC5_SI2F_MASK 566,26084 -#define SERC5_SI2F_ADC 567,26143 -#define SERC5_SI2F_SPDIF 568,26202 -#define SERBSP_FSP_MASK 574,26370 -#define SERBSP_FSP_SHIFT 575,26429 -#define SERBST_RRDY 581,26580 -#define SERBST_WBSY 582,26639 -#define SERBCM_RDC 588,26800 -#define SERBCM_WRC 589,26859 -#define SERBAD_FAD_MASK 596,27037 -#define SERBAD_FAD_MASK 598,27102 -#define SERBAD_FAD_SHIFT 600,27168 -#define SERBCF_HBP 606,27326 -#define SERBWP_FWD_MASK 612,27490 -#define SERBWP_FWD_SHIFT 613,27549 -#define SERBRP_FRD_MASK 619,27703 -#define SERBRP_FRD_SHIFT 620,27762 -#define ASER_FADDR_A1_MASK 626,27918 -#define ASER_FADDR_EN1 627,27977 -#define ASER_FADDR_A2_MASK 628,28036 -#define ASER_FADDR_EN2 629,28095 -#define ASER_FADDR_A1_SHIFT 630,28154 -#define ASER_FADDR_A2_SHIFT 631,28204 -#define ACCTL_RSTN 637,28344 -#define ACCTL_ESYN 638,28403 -#define ACCTL_VFRM 639,28462 -#define ACCTL_DCV 640,28521 -#define ACCTL_CRW 641,28580 -#define ACCTL_ASYN 642,28639 -#define ACCTL_TC 644,28716 -#define ACSTS_CRDY 650,28863 -#define ACSTS_VSTS 651,28922 -#define ACSTS_WKUP 653,28999 -#define ACOSV_SLV3 660,29161 -#define ACOSV_SLV4 661,29220 -#define ACOSV_SLV5 662,29279 -#define ACOSV_SLV6 663,29338 -#define ACOSV_SLV7 664,29397 -#define ACOSV_SLV8 665,29456 -#define ACOSV_SLV9 666,29515 -#define ACOSV_SLV10 667,29574 -#define ACOSV_SLV11 668,29633 -#define ACOSV_SLV12 669,29692 -#define ACCAD_CI_MASK 675,29845 -#define ACCAD_CI_SHIFT 676,29904 -#define ACCDA_CD_MASK 681,30041 -#define ACCDA_CD_SHIFT 682,30100 -#define ACISV_ISV3 688,30245 -#define ACISV_ISV4 689,30304 -#define ACISV_ISV5 690,30363 -#define ACISV_ISV6 691,30422 -#define ACISV_ISV7 692,30481 -#define ACISV_ISV8 693,30540 -#define ACISV_ISV9 694,30599 -#define ACISV_ISV10 695,30658 -#define ACISV_ISV11 696,30717 -#define ACISV_ISV12 697,30776 -#define ACSAD_SI_MASK 703,30928 -#define ACSAD_SI_SHIFT 704,30987 -#define ACSDA_SD_MASK 709,31123 -#define ACSDA_SD_SHIFT 710,31182 -#define JSPT_CAX 716,31327 -#define JSPT_CAY 717,31386 -#define JSPT_CBX 718,31445 -#define JSPT_CBY 719,31504 -#define JSPT_BA1 720,31563 -#define JSPT_BA2 721,31622 -#define JSPT_BB1 722,31681 -#define JSPT_BB2 723,31740 -#define JSCTL_SP_MASK 728,31885 -#define JSCTL_SP_SLOW 729,31944 -#define JSCTL_SP_MEDIUM_SLOW 730,32003 -#define JSCTL_SP_MEDIUM_FAST 731,32062 -#define JSCTL_SP_FAST 732,32121 -#define JSCTL_ARE 733,32180 -#define JSC1_Y1V_MASK 739,32348 -#define JSC1_X1V_MASK 740,32407 -#define JSC1_Y1V_SHIFT 741,32466 -#define JSC1_X1V_SHIFT 742,32516 -#define JSC2_Y2V_MASK 748,32676 -#define JSC2_X2V_MASK 749,32735 -#define JSC2_Y2V_SHIFT 750,32794 -#define JSC2_X2V_SHIFT 751,32844 -#define MIDCR_TXE 756,32977 -#define MIDCR_RXE 757,33063 -#define MIDCR_RIE 758,33146 -#define MIDCR_TIE 759,33236 -#define MIDCR_MLB 760,33326 -#define MIDCR_MRST 761,33413 -#define MIDSR_TBF 766,33576 -#define MIDSR_RBE 767,33658 -#define MIDWP_MWD_MASK 772,33826 -#define MIDWP_MWD_SHIFT 773,33885 -#define MIDRP_MRD_MASK 778,34019 -#define MIDRP_MRD_SHIFT 779,34078 -#define JSIO_DAX 784,34211 -#define JSIO_DAY 785,34270 -#define JSIO_DBX 786,34329 -#define JSIO_DBY 787,34388 -#define JSIO_AXOE 788,34447 -#define JSIO_AYOE 789,34506 -#define JSIO_BXOE 790,34565 -#define JSIO_BYOE 791,34624 -#define ASER_MASTER_ME 798,34811 -#define CFGI_CLK 805,34974 -#define CFGI_DOUT 806,35033 -#define CFGI_DIN_EEN 807,35092 -#define CFGI_EELD 808,35151 -#define SSVID_VID_MASK 814,35310 -#define SSVID_SID_MASK 815,35369 -#define SSVID_VID_SHIFT 816,35428 -#define SSVID_SID_SHIFT 817,35478 -#define GPIOR_VOLDN 822,35617 -#define GPIOR_VOLUP 823,35676 -#define GPIOR_SI2D 824,35735 -#define GPIOR_SI2OE 825,35794 -#define EGPIODR_GPOE0 832,35972 -#define EGPIODR_GPOE1 833,36031 -#define EGPIODR_GPOE2 834,36090 -#define EGPIODR_GPOE3 835,36149 -#define EGPIODR_GPOE4 836,36208 -#define EGPIODR_GPOE5 837,36267 -#define EGPIODR_GPOE6 838,36326 -#define EGPIODR_GPOE7 839,36385 -#define EGPIODR_GPOE8 840,36444 -#define EGPIOPTR_GPPT0 848,36634 -#define EGPIOPTR_GPPT1 849,36693 -#define EGPIOPTR_GPPT2 850,36752 -#define EGPIOPTR_GPPT3 851,36811 -#define EGPIOPTR_GPPT4 852,36870 -#define EGPIOPTR_GPPT5 853,36929 -#define EGPIOPTR_GPPT6 854,36988 -#define EGPIOPTR_GPPT7 855,37047 -#define EGPIOPTR_GPPT8 856,37106 -#define EGPIOTR_GPS0 864,37288 -#define EGPIOTR_GPS1 865,37347 -#define EGPIOTR_GPS2 866,37406 -#define EGPIOTR_GPS3 867,37465 -#define EGPIOTR_GPS4 868,37524 -#define EGPIOTR_GPS5 869,37583 -#define EGPIOTR_GPS6 870,37642 -#define EGPIOTR_GPS7 871,37701 -#define EGPIOTR_GPS8 872,37760 -#define EGPIOWR_GPW0 880,37943 -#define EGPIOWR_GPW1 881,38002 -#define EGPIOWR_GPW2 882,38061 -#define EGPIOWR_GPW3 883,38120 -#define EGPIOWR_GPW4 884,38179 -#define EGPIOWR_GPW5 885,38238 -#define EGPIOWR_GPW6 886,38297 -#define EGPIOWR_GPW7 887,38356 -#define EGPIOWR_GPW8 888,38415 -#define EGPIOSR_GPS0 896,38597 -#define EGPIOSR_GPS1 897,38656 -#define EGPIOSR_GPS2 898,38715 -#define EGPIOSR_GPS3 899,38774 -#define EGPIOSR_GPS4 900,38833 -#define EGPIOSR_GPS5 901,38892 -#define EGPIOSR_GPS6 902,38951 -#define EGPIOSR_GPS7 903,39010 -#define EGPIOSR_GPS8 904,39069 -#define SERC6_ASDO2EN 912,39254 -#define SERC7_ASDI2EN 920,39439 -#define SERC7_POSILB 921,39498 -#define SERC7_SIPOLB 922,39557 -#define SERC7_SOSILB 923,39616 -#define SERC7_SISOLB 924,39675 -#define SERACC_CODEC_TYPE_MASK 932,39866 -#define SERACC_CODEC_TYPE_1_03 933,39925 -#define SERACC_CODEC_TYPE_2_0 934,39984 -#define SERACC_TWO_CODECS 935,40043 -#define SERACC_MDM 936,40102 -#define SERACC_HSP 937,40161 -#define ACCTL2_RSTN 944,40329 -#define ACCTL2_ESYN 945,40388 -#define ACCTL2_VFRM 946,40447 -#define ACCTL2_DCV 947,40506 -#define ACCTL2_CRW 948,40565 -#define ACCTL2_ASYN 949,40624 -#define ACSTS2_CRDY 956,40791 -#define ACSTS2_VSTS 957,40850 -#define ACOSV2_SLV3 965,41032 -#define ACOSV2_SLV4 966,41091 -#define ACOSV2_SLV5 967,41150 -#define ACOSV2_SLV6 968,41209 -#define ACOSV2_SLV7 969,41268 -#define ACOSV2_SLV8 970,41327 -#define ACOSV2_SLV9 971,41386 -#define ACOSV2_SLV10 972,41445 -#define ACOSV2_SLV11 973,41504 -#define ACOSV2_SLV12 974,41563 -#define ACCAD2_CI_MASK 982,41743 -#define ACCAD2_CI_SHIFT 983,41802 -#define ACCDA2_CD_MASK 991,41970 -#define ACCDA2_CD_SHIFT 992,42029 -#define ACISV2_ISV3 1000,42203 -#define ACISV2_ISV4 1001,42262 -#define ACISV2_ISV5 1002,42321 -#define ACISV2_ISV6 1003,42380 -#define ACISV2_ISV7 1004,42439 -#define ACISV2_ISV8 1005,42498 -#define ACISV2_ISV9 1006,42557 -#define ACISV2_ISV10 1007,42616 -#define ACISV2_ISV11 1008,42675 -#define ACISV2_ISV12 1009,42734 -#define ACSAD2_SI_MASK 1017,42913 -#define ACSAD2_SI_SHIFT 1018,42972 -#define ACSDA2_SD_MASK 1025,43135 -#define ACSDA2_SD_SHIFT 1026,43194 -#define IOTAC_SA_MASK 1034,43381 -#define IOTAC_MSK_MASK 1035,43440 -#define IOTAC_IODC_MASK 1036,43499 -#define IOTAC_IODC_16_BIT 1037,43558 -#define IOTAC_IODC_10_BIT 1038,43617 -#define IOTAC_IODC_12_BIT 1039,43676 -#define IOTAC_WSPI 1040,43735 -#define IOTAC_RSPI 1041,43794 -#define IOTAC_WSE 1042,43853 -#define IOTAC_WE 1043,43912 -#define IOTAC_RE 1044,43971 -#define IOTAC_SA_SHIFT 1045,44030 -#define IOTAC_MSK_SHIFT 1046,44080 -#define IOTFR_D_MASK 1054,44257 -#define IOTFR_A_MASK 1055,44316 -#define IOTFR_R_MASK 1056,44375 -#define IOTFR_ALL 1057,44434 -#define IOTFR_VL 1058,44493 -#define IOTFR_D_SHIFT 1059,44552 -#define IOTFR_A_SHIFT 1060,44602 -#define IOTFR_R_SHIFT 1061,44653 -#define IOTFIFO_BA_MASK 1068,44812 -#define IOTFIFO_S_MASK 1069,44871 -#define IOTFIFO_OF 1070,44930 -#define IOTFIFO_SPIOF 1071,44989 -#define IOTFIFO_BA_SHIFT 1072,45048 -#define IOTFIFO_S_SHIFT 1073,45098 -#define IOTRRD_D_MASK 1081,45272 -#define IOTRRD_RDV 1082,45331 -#define IOTRRD_D_SHIFT 1083,45390 -#define IOTFP_CA_MASK 1091,45560 -#define IOTFP_PA_MASK 1092,45619 -#define IOTFP_CA_SHIFT 1093,45678 -#define IOTFP_PA_SHIFT 1094,45728 -#define IOTCR_ITD 1101,45890 -#define IOTCR_HRV 1102,45949 -#define IOTCR_SRV 1103,46008 -#define IOTCR_DTI 1104,46067 -#define IOTCR_DFI 1105,46126 -#define IOTCR_DDP 1106,46185 -#define IOTCR_JTE 1107,46244 -#define IOTCR_PPE 1108,46303 -#define DPCID_D_MASK 1115,46472 -#define DPCID_D_SHIFT 1116,46531 -#define DPCIA_A_MASK 1123,46694 -#define DPCIA_A_SHIFT 1124,46753 -#define DPCIC_C_MASK 1131,46916 -#define DPCIC_C_IOREAD 1132,46975 -#define DPCIC_C_IOWRITE 1133,47034 -#define DPCIC_BE_MASK 1134,47093 -#define PCPCIR_RDC_MASK 1141,47261 -#define PCPCIR_C_MASK 1142,47320 -#define PCPCIR_REQ 1143,47379 -#define PCPCIR_RDC_SHIFT 1144,47438 -#define PCPCIR_C_SHIFT 1145,47488 -#define PCPCIG_GDC_MASK 1152,47647 -#define PCPCIG_VL 1153,47706 -#define PCPCIG_GDC_SHIFT 1154,47765 -#define PCPCIEN_EN 1162,47934 -#define EPCIPMC_GWU 1170,48129 -#define EPCIPMC_FSPC 1171,48188 -#define SPCR_RUN 1177,48335 -#define SPCR_STPFR 1178,48394 -#define SPCR_RUNFR 1179,48453 -#define SPCR_TICK 1180,48512 -#define SPCR_DRQEN 1181,48571 -#define SPCR_RSTSP 1182,48630 -#define SPCR_OREN 1183,48689 -#define SPCR_PCIINT 1185,48766 -#define SPCR_OINTD 1186,48825 -#define SPCR_CRE 1187,48884 -#define DREG_REGID_MASK 1193,49031 -#define DREG_DEBUG 1194,49090 -#define DREG_RGBK_MASK 1195,49149 -#define DREG_TRAP 1196,49208 -#define DREG_TRAPX 1199,49315 -#define DREG_REGID_SHIFT 1202,49388 -#define DREG_RGBK_SHIFT 1203,49438 -#define DREG_RGBK_REGID_MASK 1204,49488 -#define DREG_REGID_R0 1205,49547 -#define DREG_REGID_R1 1206,49606 -#define DREG_REGID_R2 1207,49665 -#define DREG_REGID_R3 1208,49724 -#define DREG_REGID_R4 1209,49783 -#define DREG_REGID_R5 1210,49842 -#define DREG_REGID_R6 1211,49901 -#define DREG_REGID_R7 1212,49960 -#define DREG_REGID_R8 1213,50019 -#define DREG_REGID_R9 1214,50078 -#define DREG_REGID_RA 1215,50137 -#define DREG_REGID_RB 1216,50196 -#define DREG_REGID_RC 1217,50255 -#define DREG_REGID_RD 1218,50314 -#define DREG_REGID_RE 1219,50373 -#define DREG_REGID_RF 1220,50432 -#define DREG_REGID_RA_BUS_LOW 1221,50491 -#define DREG_REGID_RA_BUS_HIGH 1222,50550 -#define DREG_REGID_YBUS_LOW 1223,50609 -#define DREG_REGID_YBUS_HIGH 1224,50668 -#define DREG_REGID_TRAP_0 1225,50727 -#define DREG_REGID_TRAP_1 1226,50786 -#define DREG_REGID_TRAP_2 1227,50845 -#define DREG_REGID_TRAP_3 1228,50904 -#define DREG_REGID_TRAP_4 1229,50963 -#define DREG_REGID_TRAP_5 1230,51022 -#define DREG_REGID_TRAP_6 1231,51081 -#define DREG_REGID_TRAP_7 1232,51140 -#define DREG_REGID_INDIRECT_ADDRESS 1233,51199 -#define DREG_REGID_TOP_OF_STACK 1234,51258 -#define DREG_REGID_TRAP_8 1237,51365 -#define DREG_REGID_TRAP_9 1238,51424 -#define DREG_REGID_TRAP_10 1239,51483 -#define DREG_REGID_TRAP_11 1240,51542 -#define DREG_REGID_TRAP_12 1241,51601 -#define DREG_REGID_TRAP_13 1242,51660 -#define DREG_REGID_TRAP_14 1243,51719 -#define DREG_REGID_TRAP_15 1244,51778 -#define DREG_REGID_TRAP_16 1245,51837 -#define DREG_REGID_TRAP_17 1246,51896 -#define DREG_REGID_TRAP_18 1247,51955 -#define DREG_REGID_TRAP_19 1248,52014 -#define DREG_REGID_TRAP_20 1249,52073 -#define DREG_REGID_TRAP_21 1250,52132 -#define DREG_REGID_TRAP_22 1251,52191 -#define DREG_REGID_TRAP_23 1252,52250 -#define DREG_REGID_RSA0_LOW 1255,52323 -#define DREG_REGID_RSA0_HIGH 1256,52382 -#define DREG_REGID_RSA1_LOW 1257,52441 -#define DREG_REGID_RSA1_HIGH 1258,52500 -#define DREG_REGID_RSA2 1259,52559 -#define DREG_REGID_RSA3 1260,52618 -#define DREG_REGID_RSI0_LOW 1261,52677 -#define DREG_REGID_RSI0_HIGH 1262,52736 -#define DREG_REGID_RSI1 1263,52795 -#define DREG_REGID_RSI2 1264,52854 -#define DREG_REGID_SAGUSTATUS 1265,52913 -#define DREG_REGID_RSCONFIG01_LOW 1266,52972 -#define DREG_REGID_RSCONFIG01_HIGH 1267,53031 -#define DREG_REGID_RSCONFIG23_LOW 1268,53090 -#define DREG_REGID_RSCONFIG23_HIGH 1269,53149 -#define DREG_REGID_RSDMA01E 1270,53208 -#define DREG_REGID_RSDMA23E 1271,53267 -#define DREG_REGID_RSD0_LOW 1272,53326 -#define DREG_REGID_RSD0_HIGH 1273,53385 -#define DREG_REGID_RSD1_LOW 1274,53444 -#define DREG_REGID_RSD1_HIGH 1275,53503 -#define DREG_REGID_RSD2_LOW 1276,53562 -#define DREG_REGID_RSD2_HIGH 1277,53621 -#define DREG_REGID_RSD3_LOW 1278,53680 -#define DREG_REGID_RSD3_HIGH 1279,53739 -#define DREG_REGID_SRAR_HIGH 1280,53798 -#define DREG_REGID_SRAR_LOW 1281,53857 -#define DREG_REGID_DMA_STATE 1282,53916 -#define DREG_REGID_CURRENT_DMA_STREAM 1283,53975 -#define DREG_REGID_NEXT_DMA_STREAM 1284,54034 -#define DREG_REGID_CPU_STATUS 1285,54093 -#define DREG_REGID_MAC_MODE 1286,54152 -#define DREG_REGID_STACK_AND_REPEAT 1287,54211 -#define DREG_REGID_INDEX0 1288,54270 -#define DREG_REGID_INDEX1 1289,54329 -#define DREG_REGID_DMA_STATE_0_3 1290,54388 -#define DREG_REGID_DMA_STATE_4_7 1291,54447 -#define DREG_REGID_DMA_STATE_8_11 1292,54506 -#define DREG_REGID_DMA_STATE_12_15 1293,54565 -#define DREG_REGID_DMA_STATE_16_19 1294,54624 -#define DREG_REGID_DMA_STATE_20_23 1295,54683 -#define DREG_REGID_DMA_STATE_24_27 1296,54742 -#define DREG_REGID_DMA_STATE_28_31 1297,54801 -#define DREG_REGID_DMA_STATE_32_35 1298,54860 -#define DREG_REGID_DMA_STATE_36_39 1299,54919 -#define DREG_REGID_DMA_STATE_40_43 1300,54978 -#define DREG_REGID_DMA_STATE_44_47 1301,55037 -#define DREG_REGID_DMA_STATE_48_51 1302,55096 -#define DREG_REGID_DMA_STATE_52_55 1303,55155 -#define DREG_REGID_DMA_STATE_56_59 1304,55214 -#define DREG_REGID_DMA_STATE_60_63 1305,55273 -#define DREG_REGID_DMA_STATE_64_67 1306,55332 -#define DREG_REGID_DMA_STATE_68_71 1307,55391 -#define DREG_REGID_DMA_STATE_72_75 1308,55450 -#define DREG_REGID_DMA_STATE_76_79 1309,55509 -#define DREG_REGID_DMA_STATE_80_83 1310,55568 -#define DREG_REGID_DMA_STATE_84_87 1311,55627 -#define DREG_REGID_DMA_STATE_88_91 1312,55686 -#define DREG_REGID_DMA_STATE_92_95 1313,55745 -#define DREG_REGID_TRAP_SELECT 1314,55804 -#define DREG_REGID_TRAP_WRITE_0 1315,55863 -#define DREG_REGID_TRAP_WRITE_1 1316,55922 -#define DREG_REGID_TRAP_WRITE_2 1317,55981 -#define DREG_REGID_TRAP_WRITE_3 1318,56040 -#define DREG_REGID_TRAP_WRITE_4 1319,56099 -#define DREG_REGID_TRAP_WRITE_5 1320,56158 -#define DREG_REGID_TRAP_WRITE_6 1321,56217 -#define DREG_REGID_TRAP_WRITE_7 1322,56276 -#define DREG_REGID_TRAP_WRITE_8 1325,56383 -#define DREG_REGID_TRAP_WRITE_9 1326,56442 -#define DREG_REGID_TRAP_WRITE_10 1327,56501 -#define DREG_REGID_TRAP_WRITE_11 1328,56560 -#define DREG_REGID_TRAP_WRITE_12 1329,56619 -#define DREG_REGID_TRAP_WRITE_13 1330,56678 -#define DREG_REGID_TRAP_WRITE_14 1331,56737 -#define DREG_REGID_TRAP_WRITE_15 1332,56796 -#define DREG_REGID_TRAP_WRITE_16 1333,56855 -#define DREG_REGID_TRAP_WRITE_17 1334,56914 -#define DREG_REGID_TRAP_WRITE_18 1335,56973 -#define DREG_REGID_TRAP_WRITE_19 1336,57032 -#define DREG_REGID_TRAP_WRITE_20 1337,57091 -#define DREG_REGID_TRAP_WRITE_21 1338,57150 -#define DREG_REGID_TRAP_WRITE_22 1339,57209 -#define DREG_REGID_TRAP_WRITE_23 1340,57268 -#define DREG_REGID_MAC0_ACC0_LOW 1343,57341 -#define DREG_REGID_MAC0_ACC1_LOW 1344,57400 -#define DREG_REGID_MAC0_ACC2_LOW 1345,57459 -#define DREG_REGID_MAC0_ACC3_LOW 1346,57518 -#define DREG_REGID_MAC1_ACC0_LOW 1347,57577 -#define DREG_REGID_MAC1_ACC1_LOW 1348,57636 -#define DREG_REGID_MAC1_ACC2_LOW 1349,57695 -#define DREG_REGID_MAC1_ACC3_LOW 1350,57754 -#define DREG_REGID_MAC0_ACC0_MID 1351,57813 -#define DREG_REGID_MAC0_ACC1_MID 1352,57872 -#define DREG_REGID_MAC0_ACC2_MID 1353,57931 -#define DREG_REGID_MAC0_ACC3_MID 1354,57990 -#define DREG_REGID_MAC1_ACC0_MID 1355,58049 -#define DREG_REGID_MAC1_ACC1_MID 1356,58108 -#define DREG_REGID_MAC1_ACC2_MID 1357,58167 -#define DREG_REGID_MAC1_ACC3_MID 1358,58226 -#define DREG_REGID_MAC0_ACC0_HIGH 1359,58285 -#define DREG_REGID_MAC0_ACC1_HIGH 1360,58344 -#define DREG_REGID_MAC0_ACC2_HIGH 1361,58403 -#define DREG_REGID_MAC0_ACC3_HIGH 1362,58462 -#define DREG_REGID_MAC1_ACC0_HIGH 1363,58521 -#define DREG_REGID_MAC1_ACC1_HIGH 1364,58580 -#define DREG_REGID_MAC1_ACC2_HIGH 1365,58639 -#define DREG_REGID_MAC1_ACC3_HIGH 1366,58698 -#define DREG_REGID_RSHOUT_LOW 1367,58757 -#define DREG_REGID_RSHOUT_MID 1368,58816 -#define DREG_REGID_RSHOUT_HIGH 1369,58875 -#define DSRWP_DSR_MASK 1374,59020 -#define DSRWP_DSR_BG_RQ 1375,59079 -#define DSRWP_DSR_PRIORITY_MASK 1376,59138 -#define DSRWP_DSR_PRIORITY_0 1377,59197 -#define DSRWP_DSR_PRIORITY_1 1378,59256 -#define DSRWP_DSR_PRIORITY_2 1379,59315 -#define DSRWP_DSR_PRIORITY_3 1380,59374 -#define DSRWP_DSR_RQ_PENDING 1381,59433 -#define TWPR_TW_MASK 1386,59577 -#define TWPR_TW_SHIFT 1387,59636 -#define SPWR_STKP_MASK 1393,59779 -#define SPWR_STKP_SHIFT 1394,59838 -#define SPIR_FRI 1399,59970 -#define SPIR_DOI 1400,60029 -#define SPIR_GPI2 1401,60088 -#define SPIR_GPI3 1402,60147 -#define SPIR_IP0 1403,60206 -#define SPIR_IP1 1404,60265 -#define SPIR_IP2 1405,60324 -#define SPIR_IP3 1406,60383 -#define FGR1_F1S_MASK 1411,60530 -#define FGR1_F1S_SHIFT 1412,60589 -#define SPCS_FRI 1417,60724 -#define SPCS_DOI 1418,60783 -#define SPCS_GPI2 1419,60842 -#define SPCS_GPI3 1420,60901 -#define SPCS_IP0 1421,60960 -#define SPCS_IP1 1422,61019 -#define SPCS_IP2 1423,61078 -#define SPCS_IP3 1424,61137 -#define SPCS_SPRUN 1425,61196 -#define SPCS_SLEEP 1426,61255 -#define SPCS_FG 1427,61314 -#define SPCS_ORUN 1428,61373 -#define SPCS_IRQ 1429,61432 -#define SPCS_FGN_MASK 1430,61491 -#define SPCS_FGN_SHIFT 1431,61550 -#define SDSR_DCS_MASK 1437,61698 -#define SDSR_DCS_SHIFT 1438,61757 -#define SDSR_DCS_NONE 1439,61807 -#define FRMT_FTV_MASK 1444,61947 -#define FRMT_FTV_SHIFT 1445,62006 -#define FRCC_FCC_MASK 1451,62155 -#define FRCC_FCC_SHIFT 1452,62214 -#define FRSC_FCS_MASK 1458,62360 -#define FRSC_FCS_SHIFT 1459,62419 -#define DMA_SG_NEXT_ENTRY_MASK 1465,62566 -#define DMA_SG_SAMPLE_END_MASK 1466,62625 -#define DMA_SG_SAMPLE_END_FLAG 1467,62684 -#define DMA_SG_LOOP_END_FLAG 1468,62743 -#define DMA_SG_SIGNAL_END_FLAG 1469,62802 -#define DMA_SG_SIGNAL_PAGE_FLAG 1470,62861 -#define DMA_SG_NEXT_ENTRY_SHIFT 1471,62920 -#define DMA_SG_SAMPLE_END_SHIFT 1472,62970 -#define DMA_RQ_CONTROL1 1478,63126 -#define DMA_RQ_CONTROL2 1479,63185 -#define DMA_RQ_SOURCE_ADDR 1480,63244 -#define DMA_RQ_DESTINATION_ADDR 1481,63303 -#define DMA_RQ_NEXT_PAGE_ADDR 1482,63362 -#define DMA_RQ_NEXT_PAGE_SGDESC 1483,63421 -#define DMA_RQ_LOOP_START_ADDR 1484,63480 -#define DMA_RQ_POST_LOOP_ADDR 1485,63539 -#define DMA_RQ_PAGE_MAP_ADDR 1486,63598 -#define DMA_RQ_C1_COUNT_MASK 1492,63777 -#define DMA_RQ_C1_DESTINATION_SCATTER 1493,63836 -#define DMA_RQ_C1_SOURCE_GATHER 1494,63895 -#define DMA_RQ_C1_DONE_FLAG 1495,63954 -#define DMA_RQ_C1_OPTIMIZE_STATE 1496,64013 -#define DMA_RQ_C1_SAMPLE_END_STATE_MASK 1497,64072 -#define DMA_RQ_C1_FULL_PAGE 1498,64131 -#define DMA_RQ_C1_BEFORE_SAMPLE_END 1499,64190 -#define DMA_RQ_C1_PAGE_MAP_ERROR 1500,64249 -#define DMA_RQ_C1_AT_SAMPLE_END 1501,64308 -#define DMA_RQ_C1_LOOP_END_STATE_MASK 1502,64367 -#define DMA_RQ_C1_NOT_LOOP_END 1503,64426 -#define DMA_RQ_C1_BEFORE_LOOP_END 1504,64485 -#define DMA_RQ_C1_2PAGE_LOOP_BEGIN 1505,64544 -#define DMA_RQ_C1_LOOP_BEGIN 1506,64603 -#define DMA_RQ_C1_PAGE_MAP_MASK 1507,64662 -#define DMA_RQ_C1_PM_NONE_PENDING 1508,64721 -#define DMA_RQ_C1_PM_NEXT_PENDING 1509,64780 -#define DMA_RQ_C1_PM_RESERVED 1510,64839 -#define DMA_RQ_C1_PM_LOOP_NEXT_PENDING 1511,64898 -#define DMA_RQ_C1_WRITEBACK_DEST_FLAG 1512,64957 -#define DMA_RQ_C1_WRITEBACK_SRC_FLAG 1513,65016 -#define DMA_RQ_C1_DEST_SIZE_MASK 1514,65075 -#define DMA_RQ_C1_DEST_LINEAR 1515,65134 -#define DMA_RQ_C1_DEST_MOD16 1516,65193 -#define DMA_RQ_C1_DEST_MOD32 1517,65252 -#define DMA_RQ_C1_DEST_MOD64 1518,65311 -#define DMA_RQ_C1_DEST_MOD128 1519,65370 -#define DMA_RQ_C1_DEST_MOD256 1520,65429 -#define DMA_RQ_C1_DEST_MOD512 1521,65488 -#define DMA_RQ_C1_DEST_MOD1024 1522,65547 -#define DMA_RQ_C1_DEST_ON_HOST 1523,65606 -#define DMA_RQ_C1_SOURCE_SIZE_MASK 1524,65665 -#define DMA_RQ_C1_SOURCE_LINEAR 1525,65724 -#define DMA_RQ_C1_SOURCE_MOD16 1526,65783 -#define DMA_RQ_C1_SOURCE_MOD32 1527,65842 -#define DMA_RQ_C1_SOURCE_MOD64 1528,65901 -#define DMA_RQ_C1_SOURCE_MOD128 1529,65960 -#define DMA_RQ_C1_SOURCE_MOD256 1530,66019 -#define DMA_RQ_C1_SOURCE_MOD512 1531,66078 -#define DMA_RQ_C1_SOURCE_MOD1024 1532,66137 -#define DMA_RQ_C1_SOURCE_ON_HOST 1533,66196 -#define DMA_RQ_C1_COUNT_SHIFT 1534,66255 -#define DMA_RQ_C2_VIRTUAL_CHANNEL_MASK 1540,66426 -#define DMA_RQ_C2_VIRTUAL_SIGNAL_MASK 1541,66485 -#define DMA_RQ_C2_NO_VIRTUAL_SIGNAL 1542,66544 -#define DMA_RQ_C2_SIGNAL_EVERY_DMA 1543,66603 -#define DMA_RQ_C2_SIGNAL_SOURCE_PINGPONG 1544,66662 -#define DMA_RQ_C2_SIGNAL_DEST_PINGPONG 1545,66721 -#define DMA_RQ_C2_AUDIO_CONVERT_MASK 1546,66780 -#define DMA_RQ_C2_AC_NONE 1547,66839 -#define DMA_RQ_C2_AC_8_TO_16_BIT 1548,66898 -#define DMA_RQ_C2_AC_MONO_TO_STEREO 1549,66957 -#define DMA_RQ_C2_AC_ENDIAN_CONVERT 1550,67016 -#define DMA_RQ_C2_AC_SIGNED_CONVERT 1551,67075 -#define DMA_RQ_C2_LOOP_END_MASK 1552,67134 -#define DMA_RQ_C2_LOOP_MASK 1553,67193 -#define DMA_RQ_C2_NO_LOOP 1554,67252 -#define DMA_RQ_C2_ONE_PAGE_LOOP 1555,67311 -#define DMA_RQ_C2_TWO_PAGE_LOOP 1556,67370 -#define DMA_RQ_C2_MULTI_PAGE_LOOP 1557,67429 -#define DMA_RQ_C2_SIGNAL_LOOP_BACK 1558,67488 -#define DMA_RQ_C2_SIGNAL_POST_BEGIN_PAGE 1559,67547 -#define DMA_RQ_C2_VIRTUAL_CHANNEL_SHIFT 1560,67606 -#define DMA_RQ_C2_LOOP_END_SHIFT 1561,67656 -#define DMA_RQ_SD_ADDRESS_MASK 1567,67837 -#define DMA_RQ_SD_MEMORY_ID_MASK 1568,67896 -#define DMA_RQ_SD_SP_PARAM_ADDR 1569,67955 -#define DMA_RQ_SD_SP_SAMPLE_ADDR 1570,68014 -#define DMA_RQ_SD_SP_PROGRAM_ADDR 1571,68073 -#define DMA_RQ_SD_SP_DEBUG_ADDR 1572,68132 -#define DMA_RQ_SD_OMNIMEM_ADDR 1573,68191 -#define DMA_RQ_SD_END_FLAG 1574,68250 -#define DMA_RQ_SD_ERROR_FLAG 1575,68309 -#define DMA_RQ_SD_ADDRESS_SHIFT 1576,68368 -#define DMA_RQ_PMA_LOOP_THIRD_PAGE_ENTRY_MASK 1582,68541 -#define DMA_RQ_PMA_PAGE_TABLE_MASK 1583,68600 -#define DMA_RQ_PMA_LOOP_THIRD_PAGE_ENTRY_SHIFT 1584,68659 -#define DMA_RQ_PMA_PAGE_TABLE_SHIFT 1585,68709 -#define BA1_VARIDEC_BUF_1 1587,68761 -#define BA1_PDTC 1589,68800 -#define BA1_PFIE 1590,68882 -#define BA1_PBA 1591,68968 -#define BA1_PVOL 1592,69039 -#define BA1_PSRC 1593,69106 -#define BA1_PCTL 1594,69189 -#define BA1_PPI 1595,69257 -#define BA1_CCTL 1597,69334 -#define BA1_CIE 1598,69405 -#define BA1_CBA 1599,69485 -#define BA1_CSRC 1600,69559 -#define BA1_CCI 1601,69645 -#define BA1_CD 1602,69730 -#define BA1_CPI 1603,69799 -#define BA1_CVOL 1604,69878 -#define BA1_CFG1 1606,69949 -#define BA1_CFG2 1607,70026 -#define BA1_CCST 1608,70103 -#define BA1_CSPB 1609,70175 -#define CS461X_MODE_OUTPUT 1615,70258 -#define CS461X_MODE_INPUT 1616,70319 -#define AC97_REG_OFFSET_MASK 1624,70695 -#define AC97_CODEC_NUMBER_MASK 1625,70755 -#define BA0_AC97_RESET 1627,70816 -#define BA0_AC97_MASTER_VOLUME 1628,70876 -#define BA0_AC97_HEADPHONE_VOLUME 1629,70936 -#define BA0_AC97_MASTER_VOLUME_MONO 1630,70996 -#define BA0_AC97_MASTER_TONE 1631,71056 -#define BA0_AC97_PC_BEEP_VOLUME 1632,71116 -#define BA0_AC97_PHONE_VOLUME 1633,71176 -#define BA0_AC97_MIC_VOLUME 1634,71236 -#define BA0_AC97_LINE_IN_VOLUME 1635,71296 -#define BA0_AC97_CD_VOLUME 1636,71356 -#define BA0_AC97_VIDEO_VOLUME 1637,71416 -#define BA0_AC97_AUX_VOLUME 1638,71476 -#define BA0_AC97_PCM_OUT_VOLUME 1639,71536 -#define BA0_AC97_RECORD_SELECT 1640,71596 -#define BA0_AC97_RECORD_GAIN 1641,71656 -#define BA0_AC97_RECORD_GAIN_MIC 1642,71716 -#define BA0_AC97_GENERAL_PURPOSE 1643,71776 -#define BA0_AC97_3D_CONTROL 1644,71836 -#define BA0_AC97_MODEM_RATE 1645,71896 -#define BA0_AC97_POWERDOWN 1646,71956 -#define BA0_AC97_EXT_AUDIO_ID 1647,72016 -#define BA0_AC97_EXT_AUDIO_POWER 1648,72076 -#define BA0_AC97_PCM_FRONT_DAC_RATE 1649,72136 -#define BA0_AC97_PCM_SURR_DAC_RATE 1650,72196 -#define BA0_AC97_PCM_LFE_DAC_RATE 1651,72256 -#define BA0_AC97_PCM_LR_ADC_RATE 1652,72316 -#define BA0_AC97_MIC_ADC_RATE 1653,72376 -#define BA0_AC97_6CH_VOL_C_LFE 1654,72436 -#define BA0_AC97_6CH_VOL_SURROUND 1655,72496 -#define BA0_AC97_RESERVED_3A 1656,72556 -#define BA0_AC97_EXT_MODEM_ID 1657,72616 -#define BA0_AC97_EXT_MODEM_POWER 1658,72676 -#define BA0_AC97_LINE1_CODEC_RATE 1659,72736 -#define BA0_AC97_LINE2_CODEC_RATE 1660,72796 -#define BA0_AC97_HANDSET_CODEC_RATE 1661,72856 -#define BA0_AC97_LINE1_CODEC_LEVEL 1662,72916 -#define BA0_AC97_LINE2_CODEC_LEVEL 1663,72976 -#define BA0_AC97_HANDSET_CODEC_LEVEL 1664,73036 -#define BA0_AC97_GPIO_PIN_CONFIG 1665,73096 -#define BA0_AC97_GPIO_PIN_TYPE 1666,73156 -#define BA0_AC97_GPIO_PIN_STICKY 1667,73216 -#define BA0_AC97_GPIO_PIN_WAKEUP 1668,73276 -#define BA0_AC97_GPIO_PIN_STATUS 1669,73336 -#define BA0_AC97_MISC_MODEM_AFE_STAT 1670,73396 -#define BA0_AC97_RESERVED_58 1671,73456 -#define BA0_AC97_CRYSTAL_REV_N_FAB_ID 1672,73516 -#define BA0_AC97_TEST_AND_MISC_CTRL 1673,73576 -#define BA0_AC97_AC_MODE 1674,73636 -#define BA0_AC97_MISC_CRYSTAL_CONTROL 1675,73696 -#define BA0_AC97_LINE1_HYPRID_CTRL 1676,73756 -#define BA0_AC97_VENDOR_RESERVED_64 1677,73816 -#define BA0_AC97_VENDOR_RESERVED_66 1678,73876 -#define BA0_AC97_SPDIF_CONTROL 1679,73936 -#define BA0_AC97_VENDOR_RESERVED_6A 1680,73996 -#define BA0_AC97_VENDOR_RESERVED_6C 1681,74056 -#define BA0_AC97_VENDOR_RESERVED_6E 1682,74116 -#define BA0_AC97_VENDOR_RESERVED_70 1683,74176 -#define BA0_AC97_VENDOR_RESERVED_72 1684,74236 -#define BA0_AC97_VENDOR_RESERVED_74 1685,74296 -#define BA0_AC97_CAL_ADDRESS 1686,74356 -#define BA0_AC97_CAL_DATA 1687,74416 -#define BA0_AC97_VENDOR_RESERVED_7A 1688,74476 -#define BA0_AC97_VENDOR_ID1 1689,74536 -#define BA0_AC97_VENDOR_ID2 1690,74596 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/awe_hw.h,1873 -#define AWE_HW_H_DEF26,942 -#define awe_cmd_idx(awe_cmd_idx33,1029 -#define Data0 35,1079 -#define Data1 36,1127 -#define Data2 37,1175 -#define Data3 38,1217 -#define Pointer 39,1259 -#define AWE_CPF(AWE_CPF41,1313 -#define AWE_PTRX(AWE_PTRX42,1405 -#define AWE_CVCF(AWE_CVCF43,1490 -#define AWE_VTFT(AWE_VTFT44,1579 -#define AWE_0080(AWE_008045,1668 -#define AWE_00A0(AWE_00A046,1727 -#define AWE_PSST(AWE_PSST47,1786 -#define AWE_CSL(AWE_CSL48,1874 -#define AWE_CCCA(AWE_CCCA49,1962 -#define AWE_HWCF4 50,2055 -#define AWE_HWCF5 51,2120 -#define AWE_HWCF6 52,2185 -#define AWE_HWCF7 53,2250 -#define AWE_SMALR 54,2333 -#define AWE_SMARR 55,2421 -#define AWE_SMALW 56,2492 -#define AWE_SMARW 57,2581 -#define AWE_SMLD 58,2653 -#define AWE_SMRD 59,2727 -#define AWE_WC 60,2792 -#define AWE_WC_Cmd 61,2857 -#define AWE_WC_Port 62,2894 -#define AWE_HWCF1 63,2920 -#define AWE_HWCF2 64,2983 -#define AWE_HWCF3 65,3046 -#define AWE_INIT1(AWE_INIT166,3109 -#define AWE_INIT2(AWE_INIT267,3178 -#define AWE_INIT3(AWE_INIT368,3247 -#define AWE_INIT4(AWE_INIT469,3316 -#define AWE_ENVVOL(AWE_ENVVOL70,3385 -#define AWE_DCYSUSV(AWE_DCYSUSV71,3464 -#define AWE_ENVVAL(AWE_ENVVAL72,3556 -#define AWE_DCYSUS(AWE_DCYSUS73,3639 -#define AWE_ATKHLDV(AWE_ATKHLDV74,3734 -#define AWE_LFO1VAL(AWE_LFO1VAL75,3824 -#define AWE_ATKHLD(AWE_ATKHLD76,3894 -#define AWE_LFO2VAL(AWE_LFO2VAL77,3987 -#define AWE_IP(AWE_IP78,4057 -#define AWE_IFATN(AWE_IFATN79,4124 -#define AWE_PEFE(AWE_PEFE80,4218 -#define AWE_FMMOD(AWE_FMMOD81,4307 -#define AWE_TREMFRQ(AWE_TREMFRQ82,4398 -#define AWE_FM2FRQ2(AWE_FM2FRQ283,4486 -#define AWE_U1 86,4650 -#define AWE_U2(AWE_U287,4716 -#define AWE_MAX_VOICES 90,4791 -#define AWE_NORMAL_VOICES 91,4818 -#define AWE_MAX_CHANNELS 93,4888 -#define AWE_MAX_LAYERS 94,4957 -#define AWE_DRAM_OFFSET 96,5036 -#define AWE_MAX_DRAM_SIZE 97,5070 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/ac97_codec.c,3229 -#define CODEC_ID_BUFSZ 58,2171 -static struct ac97_ops null_ops 102,4134 -static struct ac97_ops default_ops 103,4190 -static struct ac97_ops default_digital_ops 104,4257 -static struct ac97_ops wolfson_ops03 105,4350 -static struct ac97_ops wolfson_ops04 106,4421 -static struct ac97_ops wolfson_ops05 107,4492 -static struct ac97_ops wolfson_ops11 108,4563 -static struct ac97_ops tritech_ops 109,4634 -static struct ac97_ops tritech_m_ops 110,4701 -static struct ac97_ops sigmatel_9708_ops 111,4778 -static struct ac97_ops sigmatel_9721_ops 112,4857 -static struct ac97_ops sigmatel_9744_ops 113,4936 -static struct ac97_ops crystal_digital_ops 114,5015 -static struct ac97_ops ad1886_ops 115,5109 -static struct ac97_ops cmedia_ops 116,5182 -static struct ac97_ops cmedia_digital_ops 117,5247 -} ac97_codec_ids[125,5458 -static const char *ac97_stereo_enhancements[182,8369 -static struct mixer_defaults mixer_defaults219,9803 -} mixer_defaults[222,9867 -static struct ac97_mixer_hw ac97_mixer_hw242,10458 -} ac97_hw[245,10523 -enum ac97_recsettings ac97_recsettings263,11287 - AC97_REC_MIC=264,11311 - AC97_REC_CD,265,11328 - AC97_REC_VIDEO,266,11342 - AC97_REC_AUX,267,11359 - AC97_REC_LINE,268,11374 - AC97_REC_STEREO,269,11390 - AC97_REC_MONO,270,11452 - AC97_REC_PHONE271,11505 -static const unsigned int ac97_rm2oss[274,11525 -static const unsigned int ac97_oss_rm[285,11870 -static int ac97_read_mixer(301,12446 -static void ac97_write_mixer(362,14410 -static void ac97_set_mixer(457,17169 -static int ac97_recmask_io(476,17832 -static int ac97_mixer_ioctl(509,18650 -int ac97_read_proc 608,21180 -static char *codec_id(694,24102 -static int ac97_check_modem(714,24542 -struct ac97_codec *ac97_alloc_codec(735,25088 -void ac97_release_codec(758,25635 -int ac97_probe_codec(799,26898 -static int ac97_init_mixer(889,29171 -#define AC97_SIGMATEL_ANALOG 946,30738 -#define AC97_SIGMATEL_DAC2INVERT 947,30796 -#define AC97_SIGMATEL_BIAS1 948,30834 -#define AC97_SIGMATEL_BIAS2 949,30871 -#define AC97_SIGMATEL_MULTICHN 950,30908 -#define AC97_SIGMATEL_CIC1 951,30977 -#define AC97_SIGMATEL_CIC2 952,31014 -static int sigmatel_9708_init(955,31053 -static int sigmatel_9721_init(979,31904 -static int sigmatel_9744_init(1004,32631 -static int cmedia_init(1015,33038 -#define AC97_WM97XX_FMIXER_VOL 1038,33563 -#define AC97_WM97XX_RMIXER_VOL 1039,33599 -#define AC97_WM97XX_TEST 1040,33635 -#define AC97_WM9704_RPCM_VOL 1041,33665 -#define AC97_WM9711_OUT3VOL 1042,33699 -static int wolfson_init03(1044,33733 -static int wolfson_init04(1052,33980 -static int wolfson_init05(1070,34480 -static int wolfson_init11(1078,34660 -static int tritech_init(1089,34951 -static int tritech_maestro_init(1100,35257 -#define AC97_AD1886_JACK_SENSE 1118,35633 -static int ad1886_init(1120,35670 -static int eapd_control(1137,36040 -static int generic_digital_control(1148,36340 -static int crystal_digital_control(1205,37630 -static int cmedia_digital_control(1230,38125 -static int pt101_init(1260,38848 -unsigned int ac97_set_dac_rate(1299,39963 -unsigned int ac97_set_adc_rate(1347,41690 -int ac97_save_state(1368,42321 -int ac97_restore_state(1375,42417 -int ac97_register_driver(1403,43041 -void ac97_unregister_driver(1435,43767 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/vidc.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/sb_ess.c,4144 -#define ESSTYPE_LIKE20 198,9081 -#define ESSTYPE_DETECT 199,9138 -#define SUBMDL_ES1788 201,9195 -#define SUBMDL_ES1868 202,9265 -#define SUBMDL_ES1869 203,9335 -#define SUBMDL_ES1878 204,9405 -#define SUBMDL_ES1879 205,9475 -#define SUBMDL_ES1887 206,9542 -#define SUBMDL_ES1888 207,9612 -#define SB_CAP_ES18XX_RATE 209,9683 -#define ES1688_CLOCK1 211,9717 -#define ES1688_CLOCK2 212,9762 -#define ES18XX_CLOCK1 213,9807 -#define ES18XX_CLOCK2 214,9852 -struct ess_command ess_command230,10441 -static struct ess_command ess_i08m[235,10550 -static struct ess_command ess_i16m[237,10655 -static struct ess_command ess_i08s[239,10761 -static struct ess_command ess_i16s[241,10868 -static struct ess_command *ess_inp_cmds[244,10977 -static struct ess_command ess_o08m[251,11134 -static struct ess_command ess_o16m[253,11254 -static struct ess_command ess_o08s[255,11375 -static struct ess_command ess_o16s[257,11497 -static struct ess_command *ess_out_cmds[260,11621 -static void ess_exec_commands263,11711 -static void ess_change276,11974 -static void ess_set_output_parms286,12190 -static void ess_set_input_parms304,12611 -static int ess_calc_div 315,12855 -static int ess_calc_best_speed340,13390 -static void ess_common_speed 373,14190 -static void ess_speed 404,15003 -static int ess_audio_prepare_for_input(438,15779 -static int ess_audio_prepare_for_output_audio1 459,16308 -static int ess_audio_prepare_for_output_audio2 480,16914 -static int ess_audio_prepare_for_output(518,17792 -static void ess_audio_halt_xfer(534,18247 -static void ess_audio_start_input549,18589 -static void ess_audio_output_block_audio1572,19153 -static void ess_audio_output_block_audio2592,19663 -static void ess_audio_output_block610,20187 -static void ess_audio_trigger(626,20583 -static int ess_audio_set_speed(670,21508 -static unsigned int ess_audio_set_bits(691,21990 -static short ess_audio_set_channels(710,22345 -static struct audio_driver ess_audio_driver 719,22541 -struct audio_driver *ess_audio_init738,23113 -static void ess_handle_channel765,23790 -void ess_intr 795,24441 -static void ess_extended 827,25099 -static int ess_write 834,25204 -static int ess_read 847,25514 -int ess_dsp_reset(859,25788 -static int ess_irq_bits 894,26422 -static int ess_common_set_irq_hw 919,26714 -static void ess_es1887_set_irq_hw 939,27255 -static int ess_set_irq_hw 948,27450 -static void FKS_test 966,27840 -static unsigned int ess_identify 978,28172 -static int ess_probe 1004,28807 -int ess_init(1017,29078 -static int ess_set_dma_hw(1239,34474 -int ess_dsp_init 1311,35833 -#define ES688_RECORDING_DEVICES 1354,36923 -#define ES688_MIXER_DEVICES 1356,37014 -#define ES1688_RECORDING_DEVICES 1361,37213 -#define ES1688_MIXER_DEVICES 1363,37283 -#define ES1887_RECORDING_DEVICES 1366,37363 -#define ES1887_MIXER_DEVICES 1368,37467 -#define ES_REC_MIXER_RECBASE 1378,37774 -#define ES_REC_MIXER_RECDIFF 1379,37827 -#define ES_REC_MIXER_RECSYNTH 1381,37900 -#define ES_REC_MIXER_RECPCM 1382,37974 -#define ES_REC_MIXER_RECSPEAKER 1383,38045 -#define ES_REC_MIXER_RECLINE 1384,38122 -#define ES_REC_MIXER_RECMIC 1385,38194 -#define ES_REC_MIXER_RECCD 1386,38265 -#define ES_REC_MIXER_RECIMIX 1387,38335 -#define ES_REC_MIXER_RECALTPCM 1388,38407 -#define ES_REC_MIXER_RECRECLEV 1389,38483 -#define ES_REC_MIXER_RECIGAIN 1390,38559 -#define ES_REC_MIXER_RECOGAIN 1391,38633 -#define ES_REC_MIXER_RECLINE1 1392,38707 -#define ES_REC_MIXER_RECLINE2 1393,38781 -#define ES_REC_MIXER_RECLINE3 1394,38855 -static mixer_tab es688_mix 1396,38930 -static mixer_tab es1688_mix 1423,40084 -static mixer_tab es1688later_mix 1443,41033 -static mixer_tab es_rec_mix 1467,42079 -static mixer_tab es1887_mix 1506,43986 -static int ess_has_rec_mixer 1540,45728 -static int ess_mixer_mon_regs[1551,45877 -static void ess_show_mixerregs 1557,46072 -void ess_setmixer 1570,46279 -unsigned int ess_getmixer 1591,46757 -static void ess_chgmixer1612,47138 -void ess_mixer_init 1625,47423 -int ess_mixer_set(1675,48943 -void ess_mixer_reload 1688,49381 -int es_rec_set_recmask(1699,49599 -int ess_set_recmask(1734,50538 -int ess_mixer_reset 1749,50883 -int ess_midi_init(1788,51884 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/oss/bin2hex.c,15 -int main(5,60 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/sparc/amd7930.c,9571 -static int index[50,1833 -static char *id[51,1902 -static int enable[52,1975 -static int boot_devs;53,2057 -#define AMD7930_CR 69,2666 -#define AMD7930_IR 70,2720 -#define AMD7930_DR 71,2779 -#define AMD7930_DSR1 72,2832 -#define AMD7930_DER 73,2899 -#define AMD7930_DCTB 74,2962 -#define AMD7930_DCRB 75,3027 -#define AMD7930_BBTB 76,3096 -#define AMD7930_BBRB 77,3162 -#define AMD7930_BCTB 78,3232 -#define AMD7930_BCRB 79,3298 -#define AMD7930_DSR2 80,3368 -struct amd7930_map amd7930_map83,3490 -#define AMR_IR_DTTHRSH 101,3813 -#define AMR_IR_DRTHRSH 102,3874 -#define AMR_IR_DSRI 103,3935 -#define AMR_IR_DERI 104,3992 -#define AMR_IR_BBUF 105,4041 -#define AMR_IR_LSRI 106,4094 -#define AMR_IR_DSR2I 107,4138 -#define AMR_IR_MLTFRMI 108,4196 -#define AMR_INIT 118,4605 -#define AM_INIT_ACTIVE 119,4629 -#define AM_INIT_DATAONLY 120,4660 -#define AM_INIT_POWERDOWN 121,4692 -#define AM_INIT_DISABLE_INTS 122,4725 -#define AMR_INIT2 123,4761 -#define AM_INIT2_ENABLE_POWERDOWN 124,4786 -#define AM_INIT2_ENABLE_MULTIFRAME 125,4826 -#define AMR_LIU_LSR 128,4894 -#define AM_LIU_LSR_STATE 129,4921 -#define AM_LIU_LSR_F3 130,4953 -#define AM_LIU_LSR_F7 131,4983 -#define AM_LIU_LSR_F8 132,5013 -#define AM_LIU_LSR_HSW 133,5043 -#define AM_LIU_LSR_HSW_CHG 134,5074 -#define AMR_LIU_LPR 135,5108 -#define AMR_LIU_LMR1 136,5135 -#define AM_LIU_LMR1_B1_ENABL 137,5163 -#define AM_LIU_LMR1_B2_ENABL 138,5199 -#define AM_LIU_LMR1_F_DISABL 139,5235 -#define AM_LIU_LMR1_FA_DISABL 140,5271 -#define AM_LIU_LMR1_REQ_ACTIV 141,5308 -#define AM_LIU_LMR1_F8_F3 142,5345 -#define AM_LIU_LMR1_LIU_ENABL 143,5378 -#define AMR_LIU_LMR2 144,5415 -#define AM_LIU_LMR2_DECHO 145,5443 -#define AM_LIU_LMR2_DLOOP 146,5476 -#define AM_LIU_LMR2_DBACKOFF 147,5509 -#define AM_LIU_LMR2_EN_F3_INT 148,5545 -#define AM_LIU_LMR2_EN_F8_INT 149,5582 -#define AM_LIU_LMR2_EN_HSW_INT 150,5619 -#define AM_LIU_LMR2_EN_F7_INT 151,5657 -#define AMR_LIU_2_4 152,5694 -#define AMR_LIU_MF 153,5721 -#define AMR_LIU_MFSB 154,5747 -#define AMR_LIU_MFQB 155,5775 -#define AMR_MUX_MCR1 158,5822 -#define AMR_MUX_MCR2 159,5850 -#define AMR_MUX_MCR3 160,5878 -#define AM_MUX_CHANNEL_B1 161,5906 -#define AM_MUX_CHANNEL_B2 162,5939 -#define AM_MUX_CHANNEL_Ba 163,5972 -#define AM_MUX_CHANNEL_Bb 164,6005 -#define AM_MUX_CHANNEL_Bc 165,6038 -#define AM_MUX_CHANNEL_Bd 166,6071 -#define AM_MUX_CHANNEL_Be 167,6104 -#define AM_MUX_CHANNEL_Bf 168,6137 -#define AMR_MUX_MCR4 169,6170 -#define AM_MUX_MCR4_ENABLE_INTS 170,6198 -#define AM_MUX_MCR4_REVERSE_Bb 171,6237 -#define AM_MUX_MCR4_REVERSE_Bc 172,6275 -#define AMR_MUX_1_4 173,6313 -#define AMR_MAP_X 176,6368 -#define AMR_MAP_R 177,6393 -#define AMR_MAP_GX 178,6418 -#define AMR_MAP_GR 179,6444 -#define AMR_MAP_GER 180,6470 -#define AMR_MAP_STGR 181,6497 -#define AMR_MAP_FTGR_1_2 182,6525 -#define AMR_MAP_ATGR_1_2 183,6556 -#define AMR_MAP_MMR1 184,6587 -#define AM_MAP_MMR1_ALAW 185,6615 -#define AM_MAP_MMR1_GX 186,6647 -#define AM_MAP_MMR1_GR 187,6678 -#define AM_MAP_MMR1_GER 188,6709 -#define AM_MAP_MMR1_X 189,6741 -#define AM_MAP_MMR1_R 190,6771 -#define AM_MAP_MMR1_STG 191,6801 -#define AM_MAP_MMR1_LOOPBACK 192,6833 -#define AMR_MAP_MMR2 193,6869 -#define AM_MAP_MMR2_AINB 194,6897 -#define AM_MAP_MMR2_LS 195,6929 -#define AM_MAP_MMR2_ENABLE_DTMF 196,6960 -#define AM_MAP_MMR2_ENABLE_TONEGEN 197,6999 -#define AM_MAP_MMR2_ENABLE_TONERING 198,7040 -#define AM_MAP_MMR2_DISABLE_HIGHPASS 199,7082 -#define AM_MAP_MMR2_DISABLE_AUTOZERO 200,7125 -#define AMR_MAP_1_10 201,7168 -#define AMR_MAP_MMR3 202,7196 -#define AMR_MAP_STRA 203,7224 -#define AMR_MAP_STRF 204,7252 -#define AMR_MAP_PEAKX 205,7280 -#define AMR_MAP_PEAKR 206,7309 -#define AMR_MAP_15_16 207,7338 -#define AMR_DLC_FRAR_1_2_3 210,7395 -#define AMR_DLC_SRAR_1_2_3 211,7428 -#define AMR_DLC_TAR 212,7461 -#define AMR_DLC_DRLR 213,7488 -#define AMR_DLC_DTCR 214,7516 -#define AMR_DLC_DMR1 215,7544 -#define AMR_DLC_DMR1_DTTHRSH_INT 216,7572 -#define AMR_DLC_DMR1_DRTHRSH_INT 217,7611 -#define AMR_DLC_DMR1_TAR_ENABL 218,7650 -#define AMR_DLC_DMR1_EORP_INT 219,7688 -#define AMR_DLC_DMR1_EN_ADDR1 220,7725 -#define AMR_DLC_DMR1_EN_ADDR2 221,7762 -#define AMR_DLC_DMR1_EN_ADDR3 222,7799 -#define AMR_DLC_DMR1_EN_ADDR4 223,7836 -#define AMR_DLC_DMR1_EN_ADDRS 224,7873 -#define AMR_DLC_DMR2 225,7910 -#define AMR_DLC_DMR2_RABRT_INT 226,7938 -#define AMR_DLC_DMR2_RESID_INT 227,7976 -#define AMR_DLC_DMR2_COLL_INT 228,8014 -#define AMR_DLC_DMR2_FCS_INT 229,8051 -#define AMR_DLC_DMR2_OVFL_INT 230,8087 -#define AMR_DLC_DMR2_UNFL_INT 231,8124 -#define AMR_DLC_DMR2_OVRN_INT 232,8161 -#define AMR_DLC_DMR2_UNRN_INT 233,8198 -#define AMR_DLC_1_7 234,8235 -#define AMR_DLC_DRCR 235,8262 -#define AMR_DLC_RNGR1 236,8290 -#define AMR_DLC_RNGR2 237,8319 -#define AMR_DLC_FRAR4 238,8348 -#define AMR_DLC_SRAR4 239,8377 -#define AMR_DLC_DMR3 240,8406 -#define AMR_DLC_DMR3_VA_INT 241,8434 -#define AMR_DLC_DMR3_EOTP_INT 242,8469 -#define AMR_DLC_DMR3_LBRP_INT 243,8506 -#define AMR_DLC_DMR3_RBA_INT 244,8543 -#define AMR_DLC_DMR3_LBT_INT 245,8579 -#define AMR_DLC_DMR3_TBE_INT 246,8615 -#define AMR_DLC_DMR3_RPLOST_INT 247,8651 -#define AMR_DLC_DMR3_KEEP_FCS 248,8690 -#define AMR_DLC_DMR4 249,8727 -#define AMR_DLC_DMR4_RCV_1 250,8755 -#define AMR_DLC_DMR4_RCV_2 251,8789 -#define AMR_DLC_DMR4_RCV_4 252,8823 -#define AMR_DLC_DMR4_RCV_8 253,8857 -#define AMR_DLC_DMR4_RCV_16 254,8891 -#define AMR_DLC_DMR4_RCV_24 255,8926 -#define AMR_DLC_DMR4_RCV_30 256,8961 -#define AMR_DLC_DMR4_XMT_1 257,8996 -#define AMR_DLC_DMR4_XMT_2 258,9030 -#define AMR_DLC_DMR4_XMT_4 259,9064 -#define AMR_DLC_DMR4_XMT_8 260,9098 -#define AMR_DLC_DMR4_XMT_10 261,9132 -#define AMR_DLC_DMR4_XMT_14 262,9167 -#define AMR_DLC_DMR4_IDLE_MARK 263,9202 -#define AMR_DLC_DMR4_IDLE_FLAG 264,9240 -#define AMR_DLC_DMR4_ADDR_BOTH 265,9278 -#define AMR_DLC_DMR4_ADDR_1ST 266,9316 -#define AMR_DLC_DMR4_ADDR_2ND 267,9353 -#define AMR_DLC_DMR4_CR_ENABLE 268,9390 -#define AMR_DLC_12_15 269,9428 -#define AMR_DLC_ASR 270,9457 -#define AMR_DLC_EFCR 271,9484 -#define AMR_DLC_EFCR_EXTEND_FIFO 272,9512 -#define AMR_DLC_EFCR_SEC_PKT_INT 273,9551 -#define AMR_DSR1_VADDR 275,9591 -#define AMR_DSR1_EORP 276,9621 -#define AMR_DSR1_PKT_IP 277,9650 -#define AMR_DSR1_DECHO_ON 278,9681 -#define AMR_DSR1_DLOOP_ON 279,9713 -#define AMR_DSR1_DBACK_OFF 280,9745 -#define AMR_DSR1_EOTP 281,9778 -#define AMR_DSR1_CXMT_ABRT 282,9807 -#define AMR_DSR2_LBRP 284,9841 -#define AMR_DSR2_RBA 285,9870 -#define AMR_DSR2_RPLOST 286,9898 -#define AMR_DSR2_LAST_BYTE 287,9929 -#define AMR_DSR2_TBE 288,9962 -#define AMR_DSR2_MARK_IDLE 289,9990 -#define AMR_DSR2_FLAG_IDLE 290,10023 -#define AMR_DSR2_SECOND_PKT 291,10056 -#define AMR_DER_RABRT 293,10091 -#define AMR_DER_RFRAME 294,10120 -#define AMR_DER_COLLISION 295,10150 -#define AMR_DER_FCS 296,10182 -#define AMR_DER_OVFL 297,10209 -#define AMR_DER_UNFL 298,10237 -#define AMR_DER_OVRN 299,10265 -#define AMR_DER_UNRN 300,10293 -#define AMR_PP_PPCR1 303,10344 -#define AMR_PP_PPSR 304,10372 -#define AMR_PP_PPIER 305,10399 -#define AMR_PP_MTDR 306,10427 -#define AMR_PP_MRDR 307,10454 -#define AMR_PP_CITDR0 308,10481 -#define AMR_PP_CIRDR0 309,10510 -#define AMR_PP_CITDR1 310,10539 -#define AMR_PP_CIRDR1 311,10568 -#define AMR_PP_PPCR2 312,10597 -#define AMR_PP_PPCR3 313,10625 -typedef struct snd_amd7930 snd_amd7930315,10654 -#define AMD7930_FLAG_PLAYBACK 319,10738 -#define AMD7930_FLAG_CAPTURE 320,10779 -} amd7930_t;amd7930_t343,11244 -static amd7930_t *amd7930_list;345,11258 -static __inline__ void amd7930_idle(348,11349 -static __inline__ void amd7930_enable_ints(359,11660 -static __inline__ void amd7930_disable_ints(370,11992 -static void __amd7930_write_map(383,12400 -static __const__ __u16 gx_coeff[415,13674 -static __const__ __u16 ger_coeff[450,15799 -static void __amd7930_update_map(477,16434 -static irqreturn_t snd_amd7930_interrupt(495,16848 -static int snd_amd7930_trigger(538,17844 -static int snd_amd7930_playback_trigger(568,18590 -static int snd_amd7930_capture_trigger(575,18797 -static int snd_amd7930_playback_prepare(582,19008 -static int snd_amd7930_capture_prepare(614,19832 -static snd_pcm_uframes_t snd_amd7930_playback_pointer(646,20654 -static snd_pcm_uframes_t snd_amd7930_capture_pointer(657,20952 -static snd_pcm_hardware_t snd_amd7930_pcm_hw 670,21304 -static int snd_amd7930_playback_open(690,21846 -static int snd_amd7930_capture_open(700,22109 -static int snd_amd7930_playback_close(710,22370 -static int snd_amd7930_capture_close(718,22544 -static int snd_amd7930_hw_params(726,22716 -static int snd_amd7930_hw_free(732,22905 -static snd_pcm_ops_t snd_amd7930_playback_ops 737,23017 -static snd_pcm_ops_t snd_amd7930_capture_ops 748,23373 -static void snd_amd7930_pcm_free(759,23723 -static int __init snd_amd7930_pcm(767,23877 -#define VOLUME_MONITOR 796,24677 -#define VOLUME_CAPTURE 797,24702 -#define VOLUME_PLAYBACK 798,24727 -static int snd_amd7930_info_volume(800,24754 -static int snd_amd7930_get_volume(817,25148 -static int snd_amd7930_put_volume(845,25699 -static snd_kcontrol_new_t amd7930_controls[883,26487 -static snd_kcontrol_new_t amd7930_controls[] __initdata 883,26487 -static int __init snd_amd7930_mixer(913,27243 -static int snd_amd7930_free(932,27643 -static int snd_amd7930_dev_free(947,27841 -static snd_device_ops_t snd_amd7930_dev_ops 954,27971 -static int __init snd_amd7930_create(958,28058 -static int __init amd7930_attach(1030,29736 -static int __init amd7930_init(1106,31398 -static void __exit amd7930_exit(1131,31930 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/sparc/cs4231.c,8699 -#define SBUS_SUPPORT33,846 -#define EBUS_SUPPORT41,976 -static int index[49,1078 -static char *id[50,1147 -static int enable[51,1220 -static int boot_devs;52,1302 -typedef struct snd_cs4231 snd_cs423165,1834 -#define CS4231_FLAG_EBUS 74,2001 -#define CS4231_FLAG_PLAYBACK 75,2037 -#define CS4231_FLAG_CAPTURE 76,2077 -#define CS4231_MODE_NONE 87,2345 -#define CS4231_MODE_PLAY 88,2377 -#define CS4231_MODE_RECORD 89,2409 -#define CS4231_MODE_TIMER 90,2443 -#define CS4231_MODE_OPEN 91,2476 -} cs4231_t;cs4231_t110,2905 -static cs4231_t *cs4231_list;112,2918 -#define CS4231P(CS4231P120,3062 -#define c_d_c_CS4231REGSEL 123,3174 -#define c_d_c_CS4231REG 124,3205 -#define c_d_c_CS4231STATUS 125,3234 -#define c_d_c_CS4231PIO 126,3265 -#define CS4231_LEFT_INPUT 130,3318 -#define CS4231_RIGHT_INPUT 131,3374 -#define CS4231_AUX1_LEFT_INPUT 132,3432 -#define CS4231_AUX1_RIGHT_INPUT 133,3498 -#define CS4231_AUX2_LEFT_INPUT 134,3566 -#define CS4231_AUX2_RIGHT_INPUT 135,3632 -#define CS4231_LEFT_OUTPUT 136,3700 -#define CS4231_RIGHT_OUTPUT 137,3767 -#define CS4231_PLAYBK_FORMAT 138,3836 -#define CS4231_IFACE_CTRL 139,3924 -#define CS4231_PIN_CTRL 140,3994 -#define CS4231_TEST_INIT 141,4042 -#define CS4231_MISC_INFO 142,4102 -#define CS4231_LOOPBACK 143,4165 -#define CS4231_PLY_UPR_CNT 144,4218 -#define CS4231_PLY_LWR_CNT 145,4282 -#define CS4231_ALT_FEATURE_1 146,4346 -#define CS4231_ALT_FEATURE_2 147,4414 -#define CS4231_LEFT_LINE_IN 148,4482 -#define CS4231_RIGHT_LINE_IN 149,4545 -#define CS4231_TIMER_LOW 150,4610 -#define CS4231_TIMER_HIGH 151,4661 -#define CS4231_LEFT_MIC_INPUT 152,4714 -#define CS4231_RIGHT_MIC_INPUT 153,4804 -#define CS4236_EXT_REG 154,4896 -#define CS4231_IRQ_STATUS 155,4956 -#define CS4231_LINE_LEFT_OUTPUT 156,5013 -#define CS4231_VERSION 157,5107 -#define CS4231_MONO_CTRL 158,5169 -#define CS4231_LINE_RIGHT_OUTPUT 159,5231 -#define CS4235_LEFT_MASTER 160,5327 -#define CS4231_REC_FORMAT 161,5392 -#define CS4231_PLY_VAR_FREQ 162,5475 -#define CS4235_RIGHT_MASTER 163,5542 -#define CS4231_REC_UPR_CNT 164,5609 -#define CS4231_REC_LWR_CNT 165,5666 -#define CS4231_INIT 169,5793 -#define CS4231_MCE 170,5847 -#define CS4231_TRD 171,5897 -#define CS4231_GLOBALIRQ 175,6018 -#define CS4231_PLAYBACK_IRQ 179,6109 -#define CS4231_RECORD_IRQ 180,6142 -#define CS4231_TIMER_IRQ 181,6173 -#define CS4231_ALL_IRQS 182,6203 -#define CS4231_REC_UNDERRUN 183,6233 -#define CS4231_REC_OVERRUN 184,6266 -#define CS4231_PLY_OVERRUN 185,6298 -#define CS4231_PLY_UNDERRUN 186,6330 -#define CS4231_ENABLE_MIC_GAIN 190,6438 -#define CS4231_MIXS_LINE 192,6475 -#define CS4231_MIXS_AUX1 193,6505 -#define CS4231_MIXS_MIC 194,6535 -#define CS4231_MIXS_ALL 195,6565 -#define CS4231_LINEAR_8 199,6673 -#define CS4231_ALAW_8 200,6729 -#define CS4231_ULAW_8 201,6785 -#define CS4231_LINEAR_16 202,6841 -#define CS4231_LINEAR_16_BIG 203,6921 -#define CS4231_ADPCM_16 204,7002 -#define CS4231_STEREO 205,7051 -#define CS4231_XTAL1 207,7137 -#define CS4231_XTAL2 208,7185 -#define CS4231_RECORD_PIO 212,7305 -#define CS4231_PLAYBACK_PIO 213,7360 -#define CS4231_CALIB_MODE 214,7419 -#define CS4231_AUTOCALIB 215,7478 -#define CS4231_SINGLE_DMA 216,7529 -#define CS4231_RECORD_ENABLE 217,7589 -#define CS4231_PLAYBACK_ENABLE 218,7643 -#define CS4231_IRQ_ENABLE 222,7764 -#define CS4231_XCTL1 223,7812 -#define CS4231_XCTL0 224,7865 -#define CS4231_CALIB_IN_PROGRESS 228,7984 -#define CS4231_DMA_REQUEST 229,8055 -#define CS4231_MODE2 233,8182 -#define CS4231_IW_MODE3 234,8222 -#define CS4231_4236_MODE3 235,8291 -#define CS4231_DACZ 239,8435 -#define CS4231_TIMER_ENABLE 240,8490 -#define CS4231_OLB 241,8548 -#define APCCSR 245,8632 -#define APCCVA 246,8672 -#define APCCC 247,8724 -#define APCCNVA 248,8769 -#define APCCNC 249,8827 -#define APCPVA 250,8878 -#define APCPC 251,8927 -#define APCPNVA 252,8969 -#define APCPNC 253,9024 -#define APC_INT_PENDING 257,9092 -#define APC_PLAY_INT 258,9149 -#define APC_CAPT_INT 259,9207 -#define APC_GENL_INT 260,9264 -#define APC_XINT_ENA 261,9321 -#define APC_XINT_PLAY 262,9384 -#define APC_XINT_CAPT 263,9441 -#define APC_XINT_GENL 264,9497 -#define APC_XINT_EMPT 265,9551 -#define APC_XINT_PEMP 266,9628 -#define APC_XINT_PNVA 267,9706 -#define APC_XINT_PENA 268,9764 -#define APC_XINT_COVF 269,9830 -#define APC_XINT_CNVA 270,9895 -#define APC_XINT_CEMP 271,9952 -#define APC_XINT_CENA 272,10033 -#define APC_PPAUSE 273,10099 -#define APC_CPAUSE 274,10157 -#define APC_CDC_RESET 275,10218 -#define APC_PDMA_READY 276,10269 -#define APC_CDMA_READY 277,10320 -#define APC_CHIP_RESET 278,10374 -#define EBDMA_CSR 282,10463 -#define EBDMA_ADDR 283,10509 -#define EBDMA_COUNT 284,10553 -static unsigned char freq_bits[290,10624 -static unsigned int rates[307,11138 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 312,11271 -static int snd_cs4231_xrate(317,11366 -static unsigned char snd_cs4231_original_image[324,11537 -static u8 __cs4231_readb(360,12539 -static void __cs4231_writeb(375,12795 -void snd_cs4231_outm(394,13106 -static void snd_cs4231_dout(421,13878 -static void snd_cs4231_out(434,14248 -static unsigned char snd_cs4231_in(455,14911 -void snd_cs4231_debug(479,15565 -static void snd_cs4231_busy_wait(525,18228 -static void snd_cs4231_mce_up(539,18633 -static void snd_cs4231_mce_down(560,19386 -static unsigned int snd_cs4231_get_count(631,21617 -static void snd_cs4231_ebus_advance_dma(648,21935 -static void cs4231_dma_trigger(670,22556 -static int snd_cs4231_trigger(705,23345 -static unsigned char snd_cs4231_get_rate(770,24923 -static unsigned char snd_cs4231_get_format(781,25109 -static void snd_cs4231_calibrate_mute(801,25741 -static void snd_cs4231_playback_format(841,27207 -static void snd_cs4231_capture_format(864,27809 -static unsigned long snd_cs4231_timer_resolution(897,28660 -static int snd_cs4231_timer_start(904,28837 -static int snd_cs4231_timer_stop(929,29664 -static void snd_cs4231_init(942,29996 -static int snd_cs4231_open(1000,31691 -static void snd_cs4231_close(1034,32625 -static int snd_cs4231_timer_open(1085,34095 -static int snd_cs4231_timer_close(1092,34248 -static struct _snd_timer_hardware snd_cs4231_timer_table 1099,34404 -static int snd_cs4231_playback_hw_params(1115,34760 -static int snd_cs4231_playback_hw_free(1133,35291 -static int snd_cs4231_playback_prepare(1138,35410 -static int snd_cs4231_capture_hw_params(1151,35752 -static int snd_cs4231_capture_hw_free(1169,36280 -static int snd_cs4231_capture_prepare(1174,36398 -static void snd_cs4231_overrange(1188,36736 -static void snd_cs4231_generic_interrupt(1201,37103 -static irqreturn_t snd_cs4231_sbus_interrupt(1228,37821 -static void snd_cs4231_ebus_play_callback(1252,38315 -static void snd_cs4231_ebus_capture_callback(1263,38650 -static snd_pcm_uframes_t snd_cs4231_playback_pointer(1275,38991 -static snd_pcm_uframes_t snd_cs4231_capture_pointer(1299,39649 -static int snd_cs4231_probe(1327,40315 -static snd_pcm_hardware_t snd_cs4231_playback 1417,42647 -static snd_pcm_hardware_t snd_cs4231_capture 1437,43286 -static int snd_cs4231_playback_open(1457,43924 -static int snd_cs4231_capture_open(1477,44418 -static int snd_cs4231_playback_close(1497,44911 -static int snd_cs4231_capture_close(1507,45128 -static snd_pcm_ops_t snd_cs4231_playback_ops 1521,45453 -static snd_pcm_ops_t snd_cs4231_capture_ops 1532,45810 -static void snd_cs4231_pcm_free(1543,46160 -int snd_cs4231_pcm(1550,46313 -static void snd_cs4231_timer_free(1588,47239 -int snd_cs4231_timer(1594,47358 -static int snd_cs4231_info_mux(1621,47918 -static int snd_cs4231_get_mux(1639,48430 -static int snd_cs4231_put_mux(1654,48886 -int snd_cs4231_info_single(1681,49747 -int snd_cs4231_get_single(1694,50072 -int snd_cs4231_put_single(1716,50701 -int snd_cs4231_info_double(1743,51420 -int snd_cs4231_get_double(1756,51743 -int snd_cs4231_put_double(1784,52677 -#define CS4231_SINGLE(CS4231_SINGLE1819,53796 -#define CS4231_DOUBLE(CS4231_DOUBLE1825,54107 -static snd_kcontrol_new_t snd_cs4231_controls[1831,54504 -int snd_cs4231_mixer(1860,56349 -static int dev;1880,56753 -static int cs4231_attach_begin(1882,56770 -static int cs4231_attach_finish(1907,57157 -static int snd_cs4231_sbus_free(1935,57603 -static int snd_cs4231_sbus_dev_free(1951,57860 -static snd_device_ops_t snd_cs4231_sbus_dev_ops 1958,57995 -static int __init snd_cs4231_sbus_create(1962,58090 -static int cs4231_sbus_attach(2017,59380 -static int snd_cs4231_ebus_free(2044,59901 -static int snd_cs4231_ebus_dev_free(2065,60266 -static snd_device_ops_t snd_cs4231_ebus_dev_ops 2072,60401 -static int __init snd_cs4231_ebus_create(2076,60496 -static int cs4231_ebus_attach(2157,62826 -static int __init cs4231_init(2181,63282 -static void __exit cs4231_exit(2231,64195 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/arm/sa11xx-uda1341.c,2204 -#define HH_VERSION 103,4374 -static char *id 113,4641 -typedef struct audio_stream audio_stream118,4797 -}audio_stream_t;audio_stream_t134,5511 -typedef struct snd_card_sa11xx_uda1341 snd_card_sa11xx_uda1341136,5529 -} sa11xx_uda1341_t;sa11xx_uda1341_t142,5699 -static struct snd_card_sa11xx_uda1341 *sa11xx_uda1341 144,5720 -static unsigned int rates[146,5783 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 152,5906 -#define GPIO_H3600_CLK_SET0 165,6148 -#define GPIO_H3600_CLK_SET1 166,6192 -#define clr_sa11xx_uda1341_egpio(clr_sa11xx_uda1341_egpio169,6264 -#define set_sa11xx_uda1341_egpio(set_sa11xx_uda1341_egpio170,6319 -static void sa11xx_uda1341_set_audio_clock(175,6441 -static void sa11xx_uda1341_set_samplerate(198,7012 -static void sa11xx_uda1341_audio_init(283,8833 -static void sa11xx_uda1341_audio_shutdown(340,10632 -#define FORCE_CLOCK_ADDR 373,11409 -#define FORCE_CLOCK_SIZE 374,11463 -#define DMA_BUF_SIZE 377,11555 -static int audio_dma_request(381,11650 -static inline void audio_dma_free(394,11958 -static int audio_dma_request(402,12067 -static void audio_dma_free(412,12323 -static u_int audio_get_dma_pos(420,12435 -static void audio_stop_dma(448,13142 -static void audio_process_dma(464,13494 -static void audio_dma_callback(525,15190 -static int snd_sa11xx_uda1341_trigger(552,15713 -static int snd_sa11xx_uda1341_prepare(686,18825 -static snd_pcm_uframes_t snd_sa11xx_uda1341_pointer(704,19289 -static snd_pcm_hardware_t snd_sa11xx_uda1341_capture 712,19513 -static snd_pcm_hardware_t snd_sa11xx_uda1341_playback 735,20232 -static int snd_card_sa11xx_uda1341_open(758,20980 -static int snd_card_sa11xx_uda1341_close(779,21641 -static int snd_sa11xx_uda1341_hw_params(789,21870 -static int snd_sa11xx_uda1341_hw_free(796,22072 -static snd_pcm_ops_t snd_card_sa11xx_uda1341_playback_ops 803,22202 -static snd_pcm_ops_t snd_card_sa11xx_uda1341_capture_ops 814,22606 -static int __init snd_card_sa11xx_uda1341_pcm(825,23009 -static int snd_sa11xx_uda1341_suspend(865,24168 -static int snd_sa11xx_uda1341_resume(882,24644 -void snd_sa11xx_uda1341_free(899,25103 -static int __init sa11xx_uda1341_init(910,25375 -static void __exit sa11xx_uda1341_exit(961,26689 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/sound_firmware.c,70 -static int do_mod_firmware_load(8,147 -int mod_firmware_load(66,1521 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/pcm_lib.c,4572 -void snd_pcm_playback_silence(42,1501 -static void xrun(131,4750 -static inline snd_pcm_uframes_t snd_pcm_update_hw_ptr_pos(146,5129 -static inline int snd_pcm_update_hw_ptr_post(166,5877 -static inline int snd_pcm_update_hw_ptr_interrupt(189,6521 -int snd_pcm_update_hw_ptr(236,8103 -void snd_pcm_set_ops(285,9625 -void snd_pcm_set_sync(301,10026 -#define assert(assert316,10346 -static inline unsigned int div32(318,10397 -static inline unsigned int div_down(329,10565 -static inline unsigned int div_up(336,10685 -static inline unsigned int mul(348,10870 -static inline unsigned int muldiv32(357,11029 -int snd_interval_refine_min(374,11333 -int snd_interval_refine_max(399,11809 -int snd_interval_refine(435,12693 -int snd_interval_refine_first(477,13557 -int snd_interval_refine_last(489,13769 -int snd_interval_refine_set(501,13980 -void snd_interval_mul(511,14185 -void snd_interval_div(532,14706 -void snd_interval_muldivk(563,15355 -void snd_interval_mulkdiv(590,15967 -int snd_interval_ratnum(624,16662 -int snd_interval_ratden(721,18701 -int snd_interval_list(820,20939 -int snd_interval_step(861,21988 -int snd_pcm_hw_rule_add(895,22766 -int snd_pcm_hw_constraint_mask(940,23820 -int snd_pcm_hw_constraint_mask64(955,24233 -int snd_pcm_hw_constraint_integer(971,24720 -int snd_pcm_hw_constraint_minmax(980,24979 -static int snd_pcm_hw_rule_list(992,25329 -int snd_pcm_hw_constraint_list(1003,25620 -static int snd_pcm_hw_rule_ratnums(1013,25887 -int snd_pcm_hw_constraint_ratnums(1031,26359 -static int snd_pcm_hw_rule_ratdens(1041,26624 -int snd_pcm_hw_constraint_ratdens(1058,27090 -static int snd_pcm_hw_rule_msbits(1068,27355 -int snd_pcm_hw_constraint_msbits(1083,27781 -static int snd_pcm_hw_rule_step(1095,28109 -int snd_pcm_hw_constraint_step(1105,28369 -static int snd_pcm_hw_rule_pow2(1115,28636 -int snd_pcm_hw_constraint_pow2(1130,29123 -#define snd_pcm_t 1140,29398 -#define assert(assert1141,29436 -#define INT_MIN 1143,29502 -void _snd_pcm_hw_param_any(1146,29559 -int snd_pcm_hw_param_any(1166,29978 -void _snd_pcm_hw_params_any(1173,30158 -int snd_pcm_hw_params_any(1189,30629 -int snd_pcm_hw_param_value(1201,30935 -unsigned int snd_pcm_hw_param_value_min(1229,31551 -unsigned int snd_pcm_hw_param_value_max(1252,32043 -void _snd_pcm_hw_param_setempty(1270,32459 -int _snd_pcm_hw_param_setinteger(1286,32852 -int snd_pcm_hw_param_setinteger(1306,33383 -int _snd_pcm_hw_param_first(1321,33702 -int snd_pcm_hw_param_first(1348,34323 -int _snd_pcm_hw_param_last(1362,34676 -int snd_pcm_hw_param_last(1389,35292 -int _snd_pcm_hw_param_min(1403,35640 -int snd_pcm_hw_param_min(1440,36480 -int _snd_pcm_hw_param_max(1454,36872 -int snd_pcm_hw_param_max(1493,37803 -int _snd_pcm_hw_param_set(1507,38196 -int snd_pcm_hw_param_set(1563,39459 -int _snd_pcm_hw_param_mask(1577,39836 -int snd_pcm_hw_param_mask(1600,40522 -static int boundary_sub(1614,40853 -static int boundary_lt(1632,41192 -static int boundary_nearer(1651,41570 -int snd_pcm_hw_param_near(1671,42217 -int snd_pcm_hw_params_choose(1746,44001 -static int snd_pcm_lib_ioctl_reset(1780,44925 -static int snd_pcm_lib_ioctl_channel_info(1795,45366 -int snd_pcm_lib_ioctl(1841,46542 -int snd_pcm_playback_ready(1867,47165 -int snd_pcm_capture_ready(1881,47604 -int snd_pcm_playback_data(1896,48126 -int snd_pcm_playback_empty(1913,48589 -int snd_pcm_capture_empty(1927,48986 -static void snd_pcm_system_tick_set(1933,49144 -void snd_pcm_tick_set(1948,49503 -void snd_pcm_tick_prepare(1953,49627 -void snd_pcm_tick_elapsed(2006,51299 -void snd_pcm_period_elapsed(2036,52195 -static int snd_pcm_lib_write_transfer(2064,52965 -typedef int (*transfer_f)transfer_f2084,53637 -static snd_pcm_sframes_t snd_pcm_lib_write1(2088,53789 - enum { READY,2131,55010 - enum { READY, SIGNALED,2131,55010 - enum { READY, SIGNALED, ERROR,2131,55010 - enum { READY, SIGNALED, ERROR, SUSPENDED,2131,55010 - enum { READY, SIGNALED, ERROR, SUSPENDED, EXPIRED 2131,55010 -snd_pcm_sframes_t snd_pcm_lib_write(2246,58072 -static int snd_pcm_lib_writev_transfer(2279,59119 -snd_pcm_sframes_t snd_pcm_lib_writev(2319,60443 -static int snd_pcm_lib_read_transfer(2353,61484 -static snd_pcm_sframes_t snd_pcm_lib_read1(2373,62150 - enum { READY,2429,63692 - enum { READY, SIGNALED,2429,63692 - enum { READY, SIGNALED, ERROR,2429,63692 - enum { READY, SIGNALED, ERROR, SUSPENDED,2429,63692 - enum { READY, SIGNALED, ERROR, SUSPENDED, EXPIRED 2429,63692 -snd_pcm_sframes_t snd_pcm_lib_read(2539,66545 -static int snd_pcm_lib_readv_transfer(2569,67547 -snd_pcm_sframes_t snd_pcm_lib_readv(2606,68634 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/device.c,239 -int snd_device_new(44,1502 -int snd_device_free(74,2396 -int snd_device_disconnect(117,3645 -int snd_device_register(152,4772 -int snd_device_register_all(179,5379 -int snd_device_disconnect_all(201,5851 -int snd_device_free_all(220,6230 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/pcm_native.c,6285 -struct sndrv_pcm_hw_params_old sndrv_pcm_hw_params_old42,1240 -#define SNDRV_PCM_IOCTL_HW_REFINE_OLD 58,1686 -#define SNDRV_PCM_IOCTL_HW_PARAMS_OLD 59,1773 -rwlock_t snd_pcm_link_rwlock 68,2117 -static inline mm_segment_t snd_enter_user(72,2210 -static inline void snd_leave_user(79,2323 -int snd_pcm_info(86,2394 -int snd_pcm_info_user(114,3359 -#define HW_PARAM(HW_PARAM126,3632 -char *snd_pcm_hw_param_names[127,3682 -int snd_pcm_hw_refine(146,4061 -static int snd_pcm_hw_refine_user(308,8232 -static int snd_pcm_hw_params(332,8735 -static int snd_pcm_hw_params_user(427,11489 -static int snd_pcm_hw_free(451,11992 -static int snd_pcm_sw_params(480,12747 -static int snd_pcm_sw_params_user(535,14550 -int snd_pcm_status(547,14902 -static int snd_pcm_status_user(591,16372 -static int snd_pcm_channel_info(608,16811 -static void snd_pcm_trigger_tstamp(638,17670 -struct action_ops action_ops652,18133 -static int snd_pcm_action_group(663,18524 -static int snd_pcm_action_single(709,19578 -static int snd_pcm_action(728,19926 -static int snd_pcm_action_lock_irq(751,20485 -static int snd_pcm_action_nonatomic(775,21129 -static int snd_pcm_pre_start(790,21496 -static int snd_pcm_do_start(802,21859 -static void snd_pcm_post_start(809,22077 -static struct action_ops snd_pcm_action_start 823,22603 -int snd_pcm_start(832,22783 -static int snd_pcm_pre_stop(837,22899 -static int snd_pcm_do_stop(847,23229 -static void snd_pcm_post_stop(854,23438 -static struct action_ops snd_pcm_action_stop 865,23807 -int snd_pcm_stop(874,23982 -static int snd_pcm_pre_pause(879,24111 -static int snd_pcm_do_pause(893,24519 -static void snd_pcm_post_pause(902,24797 -static struct action_ops snd_pcm_action_pause 921,25447 -static int snd_pcm_pause(927,25602 -static int snd_pcm_pre_suspend(935,25770 -static int snd_pcm_do_suspend(945,26083 -static void snd_pcm_post_suspend(956,26484 -static struct action_ops snd_pcm_action_suspend 967,26877 -int snd_pcm_suspend(976,27067 -int snd_pcm_suspend_all(984,27218 -static int snd_pcm_pre_resume(1011,27902 -static int snd_pcm_do_resume(1020,28144 -static void snd_pcm_post_resume(1031,28543 -static struct action_ops snd_pcm_action_resume 1042,28945 -static int snd_pcm_resume(1048,29104 -static int snd_pcm_resume(1062,29437 -static int snd_pcm_xrun(1069,29541 -static int snd_pcm_pre_reset(1100,30342 -static int snd_pcm_do_reset(1114,30674 -static void snd_pcm_post_reset(1128,31192 -static struct action_ops snd_pcm_action_reset 1137,31514 -static int snd_pcm_reset(1143,31669 -static int snd_pcm_pre_prepare(1148,31802 -static int snd_pcm_do_prepare(1161,32086 -static void snd_pcm_post_prepare(1170,32286 -static struct action_ops snd_pcm_action_prepare 1177,32525 -int snd_pcm_prepare(1186,32715 -static void snd_pcm_change_state(1198,33037 -static int snd_pcm_playback_drain(1225,33801 - enum { READY,1231,33960 - enum { READY, EXPIRED,1231,33960 - enum { READY, EXPIRED, SUSPENDED,1231,33960 - enum { READY, EXPIRED, SUSPENDED, SIGNALED 1231,33960 -static int snd_pcm_playback_drop(1347,36850 -static int snd_pcm_capture_drain(1391,38038 -static int snd_pcm_capture_drop(1441,39394 -static struct file *snd_pcm_file_fd(1485,40559 -static int snd_pcm_link(1508,41006 -static void relink_to_local(1555,42324 -static int snd_pcm_unlink(1562,42559 -static int snd_pcm_hw_rule_mul(1592,43254 -static int snd_pcm_hw_rule_div(1601,43562 -static int snd_pcm_hw_rule_muldivk(1610,43870 -static int snd_pcm_hw_rule_mulkdiv(1620,44215 -static int snd_pcm_hw_rule_format(1630,44560 -static int snd_pcm_hw_rule_sample_bits(1651,45172 -static unsigned int rates[1680,45920 -static int snd_pcm_hw_rule_rate(1683,46079 -static int snd_pcm_hw_rule_buffer_bytes_max(1691,46324 -int snd_pcm_hw_constraints_init(1704,46675 -int snd_pcm_hw_constraints_complete(1828,51794 -static void snd_pcm_add_file(1904,54580 -static void snd_pcm_remove_file(1911,54722 -static int snd_pcm_release_file(1926,55084 -static int snd_pcm_open_file(1951,55748 -int snd_pcm_open(2009,56984 -int snd_pcm_release(2068,58447 -snd_pcm_sframes_t snd_pcm_playback_rewind(2093,59167 -snd_pcm_sframes_t snd_pcm_capture_rewind(2142,60335 -snd_pcm_sframes_t snd_pcm_playback_forward(2191,61501 -snd_pcm_sframes_t snd_pcm_capture_forward(2241,62718 -static int snd_pcm_hwsync(2291,63933 -static int snd_pcm_delay(2321,64592 -static int snd_pcm_sync_ptr(2359,65503 -static int snd_pcm_common_ioctl1(2403,67143 -static int snd_pcm_playback_ioctl1(2462,69108 -static int snd_pcm_capture_ioctl1(2553,71810 -static int snd_pcm_playback_ioctl(2636,74296 -static int snd_pcm_capture_ioctl(2654,74719 -int snd_pcm_kernel_playback_ioctl(2672,75139 -int snd_pcm_kernel_capture_ioctl(2684,75395 -int snd_pcm_kernel_ioctl(2696,75648 -static ssize_t snd_pcm_read(2709,75990 -static ssize_t snd_pcm_write(2731,76649 -static ssize_t snd_pcm_readv(2758,77372 -static ssize_t snd_pcm_writev(2793,78385 -unsigned int snd_pcm_playback_poll(2831,79439 -unsigned int snd_pcm_capture_poll(2869,80337 -static struct page * snd_pcm_mmap_status_nopage(2923,81583 -static struct vm_operations_struct snd_pcm_vm_ops_status 2940,82041 -static int snd_pcm_mmap_status(2945,82145 -static struct page * snd_pcm_mmap_control_nopage(2966,82703 -static struct vm_operations_struct snd_pcm_vm_ops_control 2983,83163 -static int snd_pcm_mmap_control(2988,83269 -static int snd_pcm_mmap_status(3009,83882 -static int snd_pcm_mmap_control(3014,84023 -static struct page *snd_pcm_mmap_data_nopage(3024,84237 -static struct vm_operations_struct snd_pcm_vm_ops_data 3057,85147 -static int snd_pcm_default_mmap(3067,85353 -static struct vm_operations_struct snd_pcm_vm_ops_data_mmio 3080,85693 -int snd_pcm_lib_mmap_iomem(3086,85830 -int snd_pcm_mmap_data(3110,86453 -static int snd_pcm_mmap(3148,87539 -static int snd_pcm_fasync(3170,88131 -#define __OLD_TO_NEW_MASK(__OLD_TO_NEW_MASK3192,88600 -#define __NEW_TO_OLD_MASK(__NEW_TO_OLD_MASK3193,88657 -static void snd_pcm_hw_convert_from_old_params(3195,88715 -static void snd_pcm_hw_convert_to_old_params(3213,89388 -static int snd_pcm_hw_refine_old_user(3231,90061 -static int snd_pcm_hw_params_old_user(3265,90858 -static struct file_operations snd_pcm_f_ops_playback 3302,91683 -static struct file_operations snd_pcm_f_ops_capture 3314,91990 -snd_minor_t snd_pcm_reg[3326,92291 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/pcm.c,2227 -snd_pcm_t *snd_pcm_devices[36,1233 -static int snd_pcm_control_ioctl(46,1634 -#define STATE(STATE118,3456 -#define STREAM(STREAM119,3500 -#define READY(READY120,3546 -#define XRUN(XRUN121,3590 -#define SILENCE(SILENCE122,3632 -#define TSTAMP(TSTAMP123,3680 -#define ACCESS(ACCESS124,3726 -#define START(START125,3772 -#define FORMAT(FORMAT126,3816 -#define SUBFORMAT(SUBFORMAT127,3862 -char *snd_pcm_stream_names[129,3916 -char *snd_pcm_state_names[134,3990 -char *snd_pcm_access_names[145,4157 -char *snd_pcm_format_names[153,4328 -char *snd_pcm_subformat_names[194,5049 -char *snd_pcm_tstamp_mode_names[198,5107 -const char *snd_pcm_stream_name(203,5179 -const char *snd_pcm_access_name(209,5338 -const char *snd_pcm_format_name(215,5497 -const char *snd_pcm_subformat_name(221,5656 -const char *snd_pcm_tstamp_mode_name(227,5836 -const char *snd_pcm_state_name(233,5999 -const char *snd_pcm_oss_format_name(241,6250 -static void snd_pcm_proc_info_read(271,6727 -static void snd_pcm_stream_proc_info_read(294,7631 -static void snd_pcm_substream_proc_info_read(299,7814 -static void snd_pcm_substream_proc_hw_params_read(304,7993 -static void snd_pcm_substream_proc_sw_params_read(339,9681 -static void snd_pcm_substream_proc_status_read(366,10906 -static void snd_pcm_xrun_debug_read(396,12054 -static void snd_pcm_xrun_debug_write(402,12256 -static int snd_pcm_stream_proc_init(411,12540 -static int snd_pcm_stream_proc_done(454,13789 -static int snd_pcm_substream_proc_init(473,14226 -static int snd_pcm_substream_proc_done(530,15969 -int snd_pcm_new_stream(568,17143 -int snd_pcm_new(632,19032 -static void snd_pcm_free_stream(674,20113 -static int snd_pcm_free(697,20760 -static int snd_pcm_dev_free(709,21091 -static void snd_pcm_tick_timer_func(715,21212 -int snd_pcm_open_substream(721,21370 -void snd_pcm_release_substream(822,24178 -static int snd_pcm_dev_register(839,24769 -static int snd_pcm_dev_disconnect(889,26246 -static int snd_pcm_dev_unregister(912,26948 -int snd_pcm_notify(946,27930 -static void snd_pcm_proc_read(975,28631 -static snd_info_entry_t *snd_pcm_proc_entry 1000,29409 -static int __init alsa_pcm_init(1002,29462 -static void __exit alsa_pcm_exit(1018,29890 -module_init(1027,30086 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/pcm_misc.c,717 -#define SND_PCM_FORMAT_UNKNOWN 26,966 -struct pcm_format_data pcm_format_data28,1003 -static struct pcm_format_data pcm_formats[36,1272 -int snd_pcm_format_signed(197,5613 -int snd_pcm_format_unsigned(214,6065 -int snd_pcm_format_linear(230,6373 -int snd_pcm_format_little_endian(242,6713 -int snd_pcm_format_big_endian(259,7161 -int snd_pcm_format_cpu_endian(276,7548 -int snd_pcm_format_width(292,7928 -int snd_pcm_format_physical_width(309,8356 -ssize_t snd_pcm_format_size(326,8803 -const unsigned char *snd_pcm_format_silence_64(340,9177 -int snd_pcm_format_set_silence(359,9722 -static int linear_formats[419,10842 -snd_pcm_format_t snd_pcm_build_linear_format(438,11589 -int snd_pcm_limit_hw_rates(457,12111 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/isadma.c,98 -void snd_dma_program(42,1310 -void snd_dma_disable(65,1804 -unsigned int snd_dma_pointer(82,2173 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/rtctimer.c,486 -#define RTC_FREQ 37,1186 -#define NANO_SEC 38,1233 -static struct _snd_timer_hardware rtc_hw 52,1535 -static int rtctimer_freq 61,1778 -static snd_timer_t *rtctimer;62,1832 -static atomic_t rtc_inc 63,1862 -static rtc_task_t rtc_task;64,1904 -rtctimer_open(68,1945 -rtctimer_close(80,2103 -rtctimer_start(91,2261 -rtctimer_stop(102,2513 -static void rtctimer_interrupt(113,2700 -static int __init rtctimer_init(127,2939 -static void __exit rtctimer_exit(166,3856 -module_init(178,4006 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/info.c,1915 -int snd_info_check_reserved_words(40,1197 -typedef struct _snd_info_private_data _snd_info_private_data73,1628 -} snd_info_private_data_t;snd_info_private_data_t78,1778 -int snd_iprintf(93,2105 -static struct proc_dir_entry *snd_proc_root 118,2531 -snd_info_entry_t *snd_seq_root 119,2583 -snd_info_entry_t *snd_oss_root 121,2648 -static inline void snd_info_entry_prepare(124,2695 -void snd_remove_proc_entry(129,2795 -static loff_t snd_info_entry_llseek(136,2939 -static ssize_t snd_info_entry_read(177,3738 -static ssize_t snd_info_entry_write(218,4767 -static int snd_info_entry_open(261,5877 -static int snd_info_entry_release(383,8868 -static unsigned int snd_info_entry_poll(422,9811 -static inline int _snd_info_entry_ioctl(448,10388 -static int snd_info_entry_ioctl(470,10923 -static int snd_info_entry_mmap(480,11151 -static struct file_operations snd_info_entry_operations 501,11635 -struct proc_dir_entry *snd_create_proc_entry(525,12320 -int __init snd_info_init(535,12561 -int __exit snd_info_done(577,13595 -int snd_info_card_create(607,14141 -int snd_info_card_register(630,14638 -int snd_info_card_free(650,15022 -int snd_info_get_line(675,15619 -char *snd_info_get_str(717,16580 -static snd_info_entry_t *snd_info_create_entry(753,17339 -snd_info_entry_t *snd_info_create_module_entry(780,18061 -snd_info_entry_t *snd_info_create_card_entry(802,18642 -static int snd_info_dev_free_entry(815,18944 -static int snd_info_dev_register_entry(822,19094 -static int snd_info_dev_disconnect_entry(828,19242 -static int snd_info_dev_unregister_entry(835,19395 -int snd_card_proc_new(861,20318 -void snd_info_free_entry(891,21083 -int snd_info_register(910,21477 -int snd_info_unregister(940,22216 -static snd_info_entry_t *snd_info_version_entry 958,22592 -static void snd_info_version_read(960,22649 -static int __init snd_info_version_init(976,23081 -static int __exit snd_info_version_done(993,23475 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/sound_oss.c,491 -#define SNDRV_OS_MINORS 38,1233 -static struct list_head snd_oss_minors_hash[40,1263 -static snd_minor_t *snd_oss_minor_search(44,1362 -static int snd_oss_kernel_minor(57,1647 -int snd_register_oss_device(93,2797 -int snd_unregister_oss_device(146,4221 -static snd_info_entry_t *snd_minor_info_oss_entry 187,5121 -static void snd_minor_info_oss_read(189,5180 -int __init snd_minor_info_oss_init(213,5911 -int __exit snd_minor_info_oss_done(232,6330 -int __init snd_oss_init_module(241,6496 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/pcm_memory.c,697 -static int preallocate_dma 32,1067 -static int maximum_substreams 36,1241 -const static size_t snd_minimum_buffer 40,1412 -static int preallocate_pcm_pages(49,1642 -static void snd_pcm_lib_preallocate_dma_free(81,2398 -int snd_pcm_lib_preallocate_free(100,2996 -int snd_pcm_lib_preallocate_free_for_all(118,3516 -static void snd_pcm_lib_preallocate_proc_read(134,3905 -static void snd_pcm_lib_preallocate_proc_write(146,4272 -static int snd_pcm_lib_preallocate_pages1(191,5518 -int snd_pcm_lib_preallocate_pages(235,7068 -int snd_pcm_lib_preallocate_pages_for_all(257,7831 -struct page *snd_pcm_sgbuf_ops_page(279,8496 -int snd_pcm_lib_malloc_pages(300,9141 -int snd_pcm_lib_free_pages(347,10645 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/memory.c,968 -struct snd_alloc_track snd_alloc_track39,1143 -#define snd_alloc_track_entry(snd_alloc_track_entry47,1262 -static long snd_alloc_kmalloc;49,1390 -static long snd_alloc_vmalloc;50,1421 -static spinlock_t snd_alloc_kmalloc_lock 53,1536 -static spinlock_t snd_alloc_vmalloc_lock 54,1599 -#define KMALLOC_MAGIC 55,1662 -#define VMALLOC_MAGIC 56,1695 -static snd_info_entry_t *snd_memory_info_entry;57,1728 -void snd_memory_init(59,1777 -void snd_memory_done(65,1857 -void *__snd_kmalloc(92,2745 -#define _snd_kmalloc(_snd_kmalloc113,3308 -void *snd_hidden_kmalloc(114,3403 -void *snd_hidden_kcalloc(119,3492 -void snd_hidden_kfree(130,3713 -void *snd_hidden_vmalloc(152,4308 -void snd_hidden_vfree(170,4791 -static void snd_memory_info_read(191,5321 -int __init snd_memory_info_init(197,5542 -int __exit snd_memory_info_done(214,5909 -#define _snd_kmalloc 223,6044 -char *snd_kmalloc_strdup(236,6364 -int copy_to_user_fromio(260,6900 -int copy_from_user_toio(291,7660 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/init.c,1189 -struct snd_shutdown_f_ops snd_shutdown_f_ops35,1125 -int snd_cards_count 40,1222 -unsigned int snd_cards_lock 41,1247 -snd_card_t *snd_cards[42,1315 -rwlock_t snd_card_rwlock 43,1386 -static void snd_card_id_read(49,1585 -snd_card_t *snd_card_new(68,2264 -static unsigned int snd_disconnect_poll(147,4528 -int snd_card_disconnect(163,5034 -int snd_card_free(246,7305 -static void snd_card_free_thread(310,9128 -int snd_card_free_in_thread(339,10006 -static void choose_default_id(355,10364 -int snd_card_register(427,12073 -static snd_info_entry_t *snd_card_info_entry 469,13221 -static void snd_card_info_read(471,13275 -void snd_card_info_read_oss(496,13888 -static snd_info_entry_t *snd_card_module_info_entry;517,14299 -static void snd_card_module_info_read(518,14352 -int __init snd_card_info_init(532,14694 -int __exit snd_card_info_done(561,15400 -int snd_component_add(583,15935 -int snd_card_file_add(614,16787 -int snd_card_file_remove(648,17680 -int snd_power_wait(688,18590 -int snd_card_set_pm_callback(731,19726 -static int snd_generic_pm_callback(742,20015 -int snd_card_set_dev_pm_callback(771,20855 -int snd_card_pci_suspend(785,21266 -int snd_card_pci_resume(796,21548 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/control.c,1919 -typedef struct _snd_kctl_ioctl _snd_kctl_ioctl34,1133 -} snd_kctl_ioctl_t;snd_kctl_ioctl_t37,1247 -#define snd_kctl_ioctl(snd_kctl_ioctl39,1268 -static int snd_ctl_open(44,1411 -static void snd_ctl_empty_read_queue(90,2424 -static int snd_ctl_release(103,2702 -void snd_ctl_notify(134,3540 -snd_kcontrol_t *snd_ctl_new(185,5007 -snd_kcontrol_t *snd_ctl_new1(212,5920 -void snd_ctl_free_one(246,7140 -static unsigned int snd_ctl_hole_check(255,7300 -static int snd_ctl_find_hole(272,7838 -int snd_ctl_add(301,8659 -int snd_ctl_remove(347,10105 -int snd_ctl_remove_id(372,10858 -static int snd_ctl_remove_unlocked_id(398,11526 -int snd_ctl_rename_id(431,12395 -snd_kcontrol_t *snd_ctl_find_numid(460,13214 -snd_kcontrol_t *snd_ctl_find_id(486,13952 -static int snd_ctl_card_info(513,14648 -static int snd_ctl_elem_list(533,15364 -static int snd_ctl_elem_info(595,16933 -static int snd_ctl_elem_read(638,18038 -static int snd_ctl_elem_write(678,19164 -static int snd_ctl_elem_lock(728,20571 -static int snd_ctl_elem_unlock(756,21192 -struct user_element user_element786,21855 -static int snd_ctl_elem_user_info(802,22399 -static int snd_ctl_elem_user_get(819,22933 -static int snd_ctl_elem_user_put(827,23156 -static void snd_ctl_elem_user_free(837,23471 -static int snd_ctl_elem_add(842,23570 -static int snd_ctl_elem_remove(967,27390 -static int snd_ctl_subscribe_events(976,27611 -static int snd_ctl_set_power_state(1001,28084 -static inline int _snd_ctl_ioctl(1024,28625 -static int snd_ctl_ioctl(1099,30843 -static ssize_t snd_ctl_read(1109,31057 -static unsigned int snd_ctl_poll(1163,32602 -int snd_ctl_register_ioctl(1184,33033 -int snd_ctl_unregister_ioctl(1201,33403 -static int snd_ctl_fasync(1222,33855 -static struct file_operations snd_ctl_f_ops 1237,34092 -static snd_minor_t snd_ctl_reg 1248,34320 -int snd_ctl_register(1258,34472 -int snd_ctl_disconnect(1277,34918 -int snd_ctl_unregister(1296,35314 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/sgbuf.c,157 -#define SGBUF_TBL_ALIGN 30,991 -#define sgbuf_align_table(sgbuf_align_table31,1019 -int snd_free_sgbuf_pages(33,1121 -void *snd_malloc_sgbuf_pages(64,1741 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/memalloc.c,1540 -#define SNDRV_CARDS 46,1409 -static int enable[51,1528 -static int boot_devs;52,1592 -struct snd_mem_list snd_mem_list72,2057 -#define SNDRV_DMA_DEVICE_UNUSED 79,2191 -#define __ASTRING__(__ASTRING__82,2265 -#define snd_assert(snd_assert83,2291 -#define snd_assert(snd_assert90,2491 -static void *snd_dma_hack_alloc_coherent(114,3221 -#define dma_alloc_coherent 150,4471 -#define NEED_RESERVE_PAGES155,4569 -static long snd_allocated_pages;164,4648 -static inline void inc_snd_pages(166,4726 -static inline void dec_snd_pages(171,4811 -static void mark_pages(176,4896 -static void unmark_pages(183,5054 -void *snd_malloc_pages(199,5510 -void snd_free_pages(221,6018 -static void *snd_malloc_dev_pages(240,6311 -static void snd_free_dev_pages(264,6869 -static void *snd_malloc_sbus_pages(281,7229 -static void snd_free_sbus_pages(297,7626 -int snd_dma_alloc_pages(332,8449 -int snd_dma_alloc_pages_fallback(384,9980 -void snd_dma_free_pages(411,10580 -size_t snd_dma_get_reserved_buf(444,11538 -int snd_dma_reserve_buf(476,12255 -static void free_all_reserved_pages(495,12632 -struct prealloc_dev prealloc_dev519,13067 -#define HAMMERFALL_BUFFER_SIZE 527,13209 -static struct prealloc_dev prealloc_devices[529,13271 -static struct prealloc_dev prealloc_devices[] __initdata 529,13271 -static void __init preallocate_cards(549,13635 -#define preallocate_cards(preallocate_cards589,14846 -static int snd_mem_proc_read(597,14945 -static int __init snd_mem_init(631,15891 -static void __exit snd_mem_exit(640,16079 -module_init(649,16325 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/io.c,345 -#define pcm_write(pcm_write29,1017 -#define pcm_writev(pcm_writev30,1088 -#define pcm_read(pcm_read31,1161 -#define pcm_readv(pcm_readv32,1230 -static snd_pcm_sframes_t io_playback_transfer(38,1331 -static snd_pcm_sframes_t io_capture_transfer(61,2167 -static snd_pcm_sframes_t io_src_channels(85,3008 -int snd_pcm_plugin_build_io(103,3495 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/linear.c,293 -typedef struct linear_private_data linear_private_data33,1078 -} linear_t;linear_t35,1126 -static void convert(37,1139 -#define CONV_LABELS42,1317 -#define CONV_END 68,2246 -static snd_pcm_sframes_t linear_transfer(78,2368 -int conv_index(106,3231 -int snd_pcm_plugin_build_linear(131,3956 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/pcm_plugin.h,1398 -#define __PCM_PLUGIN_H2,23 -#define ATTRIBUTE_UNUSED 26,928 -typedef unsigned int bitset_t;bitset_t29,990 -static inline size_t bitset_size(31,1022 -static inline bitset_t *bitset_alloc(36,1140 -static inline void bitset_set(41,1261 -static inline void bitset_reset(47,1410 -static inline int bitset_get(53,1564 -static inline void bitset_copy(59,1724 -static inline void bitset_and(64,1868 -static inline void bitset_or(71,2033 -static inline void bitset_zero(78,2197 -static inline void bitset_one(85,2344 -#define snd_pcm_plug_t 92,2501 -#define snd_pcm_plug_stream(snd_pcm_plug_stream93,2544 - INIT 96,2611 - PREPARE 97,2622 -} snd_pcm_plugin_action_t;snd_pcm_plugin_action_t98,2636 -typedef struct _snd_pcm_channel_area _snd_pcm_channel_area100,2664 -} snd_pcm_channel_area_t;snd_pcm_channel_area_t104,2867 -typedef struct _snd_pcm_plugin_channel _snd_pcm_plugin_channel106,2894 -} snd_pcm_plugin_channel_t;snd_pcm_plugin_channel_t112,3176 -typedef struct _snd_pcm_plugin_format _snd_pcm_plugin_format114,3205 -} snd_pcm_plugin_format_t;snd_pcm_plugin_format_t118,3302 -struct _snd_pcm_plugin _snd_pcm_plugin120,3330 -#define ROUTE_PLUGIN_USE_FLOAT 171,5448 -#define FULL 172,5481 -#define HALF 173,5518 -typedef int route_ttable_entry_t;route_ttable_entry_t174,5559 -#define ROUTE_PLUGIN_RESOLUTION 235,8491 -#define pdprintf(pdprintf246,8769 -#define pdprintf(pdprintf248,8840 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/route.c,1068 -#define div(div31,1158 -#define div(div33,1238 -typedef struct ttable_dst ttable_dst_t;ttable_dst_t38,1303 -typedef struct route_private_data route_t;route_t39,1343 -typedef void (*route_channel_f)route_channel_f41,1387 -} ttable_src_t;ttable_src_t52,1702 -struct ttable_dst ttable_dst54,1719 -struct route_private_data route_private_data61,1835 - enum {R_UINT32=62,1863 - enum {R_UINT32=0, R_UINT64=62,1863 - enum {R_UINT32=0, R_UINT64=1, R_FLOAT=62,1863 -} sum_t;sum_t75,2103 -static void route_to_channel_from_zero(78,2114 -static void route_to_channel_from_one(88,2513 -#define CONV_LABELS93,2736 -#define CONV_END 120,3571 -static void route_to_channel(129,3686 -#define GET_U_LABELS134,3894 -#define PUT_U32_LABELS135,3915 -#define GET_U_END 239,6739 -#define PUT_U32_END 347,8914 -int route_src_channels_mask(356,9035 -int route_dst_channels_mask(380,9689 -static void route_free(405,10309 -static int route_load_ttable(415,10612 -static snd_pcm_sframes_t route_transfer(471,12190 -int getput_index(516,13461 -int snd_pcm_plugin_build_route(535,13925 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/pcm_oss.c,3894 -#define PLUGIN_DEBUG23,866 -#define OSS_DEBUG26,900 -#define OSS_ALSAEMULVER 45,1318 -static int dsp_map[47,1366 -static int adsp_map[48,1431 -static int nonblock_open;49,1497 -static int boot_devs;50,1523 -static inline mm_segment_t snd_enter_user(69,2479 -static inline void snd_leave_user(76,2592 -int snd_pcm_oss_plugin_clear(81,2661 -int snd_pcm_plugin_insert(96,3015 -int snd_pcm_plugin_append(111,3397 -static long snd_pcm_oss_bytes(126,3775 -static long snd_pcm_alsa_frames(136,4143 -static int snd_pcm_oss_format_from(145,4518 -static int snd_pcm_oss_format_to(162,5128 -static int snd_pcm_oss_period_size(179,5725 -static int choose_rate(271,8785 -static int snd_pcm_oss_change_params(311,9756 -static int snd_pcm_oss_get_active_substream(537,17142 -static int snd_pcm_oss_prepare(560,17725 -static int snd_pcm_oss_make_ready(578,18170 -static int snd_pcm_oss_capture_position_fixup(599,18568 -snd_pcm_sframes_t snd_pcm_oss_write3(624,19327 -snd_pcm_sframes_t snd_pcm_oss_read3(659,20360 -snd_pcm_sframes_t snd_pcm_oss_writev3(706,21680 -snd_pcm_sframes_t snd_pcm_oss_readv3(742,22718 -static ssize_t snd_pcm_oss_write2(777,23744 -static ssize_t snd_pcm_oss_write1(807,24802 -static ssize_t snd_pcm_oss_read2(854,26340 -static ssize_t snd_pcm_oss_read1(884,27397 -static int snd_pcm_oss_reset(927,28722 -static int snd_pcm_oss_post(944,29239 -static int snd_pcm_oss_sync1(960,29700 -static int snd_pcm_oss_sync(1006,30785 -static int snd_pcm_oss_set_rate(1100,33748 -static int snd_pcm_oss_get_rate(1122,34259 -static int snd_pcm_oss_set_channels(1132,34504 -static int snd_pcm_oss_get_channels(1153,35046 -static int snd_pcm_oss_get_block_size(1163,35299 -static int snd_pcm_oss_get_formats(1173,35558 -static int snd_pcm_oss_set_format(1214,36637 -static int snd_pcm_oss_get_format(1237,37235 -static int snd_pcm_oss_set_subdivide1(1247,37484 -static int snd_pcm_oss_set_subdivide(1270,38073 -static int snd_pcm_oss_set_fragment1(1284,38424 -static int snd_pcm_oss_set_fragment(1303,38948 -static int snd_pcm_oss_nonblock(1317,39294 -static int snd_pcm_oss_get_caps1(1323,39392 -static int snd_pcm_oss_get_caps(1347,40015 -static void snd_pcm_oss_simulate_fill(1360,40406 -static int snd_pcm_oss_set_trigger(1369,40701 -static int snd_pcm_oss_get_trigger(1437,42494 -static int snd_pcm_oss_get_odelay(1451,43003 -static int snd_pcm_oss_get_ptr(1474,43669 -static int snd_pcm_oss_get_space(1536,45629 -static int snd_pcm_oss_get_mapbuf(1595,47338 -static snd_pcm_oss_setup_t *snd_pcm_oss_look_for_setup(1602,47563 -static void snd_pcm_oss_init_substream(1635,48396 -static void snd_pcm_oss_release_substream(1663,49085 -static int snd_pcm_oss_release_file(1674,49372 -static int snd_pcm_oss_open_file(1703,50201 -static int snd_pcm_oss_open(1801,53106 -static int snd_pcm_oss_release(1899,55539 -static inline int _snd_pcm_oss_ioctl(1921,56189 -static int snd_pcm_oss_ioctl(2082,60846 -static ssize_t snd_pcm_oss_read(2092,61072 -static ssize_t snd_pcm_oss_write(2112,61627 -static int snd_pcm_oss_playback_ready(2131,62216 -static int snd_pcm_oss_capture_ready(2140,62533 -static unsigned int snd_pcm_oss_poll(2149,62848 -static int snd_pcm_oss_mmap(2192,64338 -static void snd_pcm_oss_proc_read(2260,66047 -static void snd_pcm_oss_proc_free_setup_list(2282,66742 -static void snd_pcm_oss_proc_write(2300,67247 -static void snd_pcm_oss_proc_init(2368,69393 -static void snd_pcm_oss_proc_done(2393,70135 -static struct file_operations snd_pcm_oss_f_reg 2410,70478 -static snd_minor_t snd_pcm_oss_reg 2422,70760 -static void register_oss_dsp(2428,70862 -static int snd_pcm_oss_register_minor(2439,71214 -static int snd_pcm_oss_disconnect_minor(2470,72049 -static int snd_pcm_oss_unregister_minor(2487,72430 -static snd_pcm_notify_t snd_pcm_oss_notify 2502,72785 -static int __init alsa_pcm_oss_init(2509,72973 -static void __exit alsa_pcm_oss_exit(2530,73480 -module_init(2535,73569 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/pcm_plugin.c,1226 -#define PLUGIN_DEBUG24,953 -#define snd_pcm_plug_first(snd_pcm_plug_first36,1185 -#define snd_pcm_plug_last(snd_pcm_plug_last37,1254 -static int snd_pcm_plugin_src_channels_mask(39,1322 -static int snd_pcm_plugin_dst_channels_mask(49,1589 -static int rate_match(63,1969 -static int snd_pcm_plugin_alloc(70,2175 -int snd_pcm_plug_alloc(124,3637 -snd_pcm_sframes_t snd_pcm_plugin_client_channels(155,4486 -int snd_pcm_plugin_build(163,4702 -int snd_pcm_plugin_free(214,6396 -snd_pcm_sframes_t snd_pcm_plug_client_size(232,6766 -snd_pcm_sframes_t snd_pcm_plug_slave_size(261,7609 -static int snd_pcm_plug_formats(298,8553 -static int preferred_formats[317,9328 -int snd_pcm_plug_slave_format(334,9722 -int snd_pcm_plug_format_plugins(384,10961 -snd_pcm_sframes_t snd_pcm_plug_client_channels_buf(623,17689 -int snd_pcm_plug_playback_channels_mask(659,18778 -int snd_pcm_plug_capture_channels_mask(690,19522 -static int snd_pcm_plug_playback_disable_useless_channels(717,20182 -static int snd_pcm_plug_capture_disable_useless_channels(742,20918 -snd_pcm_sframes_t snd_pcm_plug_write_transfer(775,21875 -snd_pcm_sframes_t snd_pcm_plug_read_transfer(810,22972 -int snd_pcm_area_silence(845,24011 -int snd_pcm_area_copy(891,25119 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/copy.c,86 -static snd_pcm_sframes_t copy_transfer(28,994 -int snd_pcm_plugin_build_copy(61,2071 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/rate.c,808 -#define SHIFT 28,985 -#define BITS 29,1002 -#define R_MASK 30,1026 -} rate_channel_t;rate_channel_t39,1155 -typedef void (*rate_f)rate_f41,1175 -typedef struct rate_private_data rate_private_data46,1371 -} rate_t;rate_t53,1555 -static void rate_init(55,1566 -static void resample_expand(66,1856 -#define GET_S16_LABELS81,2302 -#define PUT_S16_LABELS82,2325 -#define GET_S16_END 113,3397 -#define PUT_S16_END 128,3700 -static void resample_shrink(142,3926 -#define GET_S16_LABELS157,4373 -#define PUT_S16_LABELS158,4396 -#define GET_S16_END 187,5419 -#define PUT_S16_END 203,5763 -static snd_pcm_sframes_t rate_src_frames(219,6015 -static snd_pcm_sframes_t rate_dst_frames(251,6851 -static snd_pcm_sframes_t rate_transfer(283,7685 -static int rate_action(316,8715 -int snd_pcm_plugin_build_rate(332,9045 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/mixer_oss.c,3697 -#define OSS_ALSAEMULVER 34,1138 -static int snd_mixer_oss_open(41,1369 -static int snd_mixer_oss_release(71,2071 -static int snd_mixer_oss_info(84,2375 -static int snd_mixer_oss_info_obsolete(100,2922 -static int snd_mixer_oss_caps(115,3430 -static int snd_mixer_oss_devmask(127,3684 -static int snd_mixer_oss_stereodevs(143,4033 -static int snd_mixer_oss_recmask(159,4381 -static int snd_mixer_oss_get_recsrc(180,4828 -static int snd_mixer_oss_set_recsrc(208,5462 -static int snd_mixer_oss_get_volume(245,6361 -static int snd_mixer_oss_set_volume(270,7047 -static int snd_mixer_oss_ioctl1(295,7685 -int snd_mixer_oss_ioctl(363,9480 -int snd_mixer_oss_ioctl_card(374,9783 -static struct file_operations snd_mixer_oss_f_ops 391,10163 -static snd_minor_t snd_mixer_oss_reg 399,10340 -static long snd_mixer_oss_conv(409,10460 -static long snd_mixer_oss_conv1(419,10751 -static long snd_mixer_oss_conv2(427,10995 -static void snd_mixer_oss_recsrce_set(433,11119 -static int snd_mixer_oss_recsrce_get(440,11280 -#define SNDRV_MIXER_OSS_SIGNATURE 449,11473 -#define SNDRV_MIXER_OSS_ITEM_GLOBAL 451,11520 -#define SNDRV_MIXER_OSS_ITEM_GSWITCH 452,11558 -#define SNDRV_MIXER_OSS_ITEM_GROUTE 453,11597 -#define SNDRV_MIXER_OSS_ITEM_GVOLUME 454,11635 -#define SNDRV_MIXER_OSS_ITEM_PSWITCH 455,11674 -#define SNDRV_MIXER_OSS_ITEM_PROUTE 456,11713 -#define SNDRV_MIXER_OSS_ITEM_PVOLUME 457,11751 -#define SNDRV_MIXER_OSS_ITEM_CSWITCH 458,11790 -#define SNDRV_MIXER_OSS_ITEM_CROUTE 459,11829 -#define SNDRV_MIXER_OSS_ITEM_CVOLUME 460,11867 -#define SNDRV_MIXER_OSS_ITEM_CAPTURE 461,11906 -#define SNDRV_MIXER_OSS_ITEM_COUNT 463,11947 -#define SNDRV_MIXER_OSS_PRESENT_GLOBAL 465,11986 -#define SNDRV_MIXER_OSS_PRESENT_GSWITCH 466,12032 -#define SNDRV_MIXER_OSS_PRESENT_GROUTE 467,12079 -#define SNDRV_MIXER_OSS_PRESENT_GVOLUME 468,12125 -#define SNDRV_MIXER_OSS_PRESENT_PSWITCH 469,12172 -#define SNDRV_MIXER_OSS_PRESENT_PROUTE 470,12219 -#define SNDRV_MIXER_OSS_PRESENT_PVOLUME 471,12265 -#define SNDRV_MIXER_OSS_PRESENT_CSWITCH 472,12312 -#define SNDRV_MIXER_OSS_PRESENT_CROUTE 473,12359 -#define SNDRV_MIXER_OSS_PRESENT_CVOLUME 474,12405 -#define SNDRV_MIXER_OSS_PRESENT_CAPTURE 475,12452 -struct slot slot477,12501 -#define ID_UNKNOWN 487,12742 -static snd_kcontrol_t *snd_mixer_oss_test_id(489,12781 -static void snd_mixer_oss_get_volume1_vol(501,13091 -static void snd_mixer_oss_get_volume1_sw(536,14377 -static int snd_mixer_oss_get_volume1(575,15421 -static void snd_mixer_oss_put_volume1_vol(601,16819 -static void snd_mixer_oss_put_volume1_sw(637,18117 -static int snd_mixer_oss_put_volume1(682,19399 -static int snd_mixer_oss_get_recsrc1_sw(720,21620 -static int snd_mixer_oss_get_recsrc1_route(733,21997 -static int snd_mixer_oss_put_recsrc1_sw(746,22382 -static int snd_mixer_oss_put_recsrc1_route(756,22686 -static int snd_mixer_oss_get_recsrc2(766,22998 -static int snd_mixer_oss_put_recsrc2(812,24350 -struct snd_mixer_oss_assign_table snd_mixer_oss_assign_table863,25862 -static int snd_mixer_oss_build_test(869,25946 -static void snd_mixer_oss_slot_free(894,26613 -static void mixer_slot_clear(906,26851 -static int snd_mixer_oss_build_input(920,27262 -#define MIXER_VOL(MIXER_VOL1036,31363 -static char *oss_mixer_names[1037,31416 -static void snd_mixer_oss_proc_read(1069,31991 -static void snd_mixer_oss_proc_write(1093,32570 -static void snd_mixer_oss_proc_init(1152,34257 -static void snd_mixer_oss_proc_done(1174,34862 -static void snd_mixer_oss_build(1182,35026 -static int snd_mixer_oss_free1(1234,36943 -static int snd_mixer_oss_notify_handler(1253,37387 -static int __init alsa_mixer_oss_init(1311,39127 -static void __exit alsa_mixer_oss_exit(1323,39410 -module_init(1334,39654 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/mulaw.c,679 -#define SIGN_BIT 30,1118 -#define QUANT_MASK 31,1176 -#define NSEGS 32,1233 -#define SEG_SHIFT 33,1285 -#define SEG_MASK 34,1345 -static inline int val_seg(36,1397 -#define BIAS 53,1589 -static unsigned char linear2ulaw(84,2792 -static int ulaw2linear(121,3731 -typedef void (*mulaw_f)mulaw_f142,4155 -typedef struct mulaw_private_data mulaw_private_data147,4328 -} mulaw_t;mulaw_t150,4390 -static void mulaw_decode(152,4402 -#define PUT_S16_LABELS157,4576 -#define PUT_S16_END 184,5554 -static void mulaw_encode(194,5682 -#define GET_S16_LABELS199,5856 -#define GET_S16_END 226,6816 -static snd_pcm_sframes_t mulaw_transfer(237,6975 -int snd_pcm_plugin_build_mulaw(265,7835 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/oss/plugin_ops.h,1446 -#define as_u8(as_u823,879 -#define as_u16(as_u1624,918 -#define as_u32(as_u3225,959 -#define as_u64(as_u6426,1000 -#define as_s8(as_s827,1041 -#define as_s16(as_s1628,1078 -#define as_s32(as_s3229,1117 -#define as_s64(as_s6430,1156 -static void *copy_labels[33,1215 -static void *conv_labels[52,1619 -static void *get_s16_labels[285,13340 -static void *put_s16_labels[326,15132 -static void *get32_labels[368,16993 -static void *put_u32_labels[410,18765 -static void *get_u_labels[451,20577 -static void *put_labels[493,22062 -put_s8: as_s8(dst) = sample; goto PUT_END;514,22627 -put_u8: as_u8(dst) = sample ^ 0x80; goto PUT_END;515,22670 -put_s16h: as_s16(dst) = sample; goto PUT_END;516,22720 -put_u16h: as_u16(dst) = sample ^ 0x8000; goto PUT_END;517,22766 -put_s16s: as_s16(dst) = swab16(sample); goto PUT_END;518,22821 -put_u16s: as_u16(dst) = swab16(sample ^ 0x80); goto PUT_END;519,22875 -put_s24h: as_s24(dst) = sample & 0xffffff; goto PUT_END;520,22936 -put_u24h: as_u24(dst) = sample ^ 0x80000000; goto PUT_END;521,22993 -put_s24s: as_s24(dst) = swab32(sample & 0xffffff); goto PUT_END;522,23052 -put_u24s: as_u24(dst) = swab32(sample ^ 0x80); goto PUT_END;523,23117 -put_s32h: as_s32(dst) = sample; goto PUT_END;524,23178 -put_u32h: as_u32(dst) = sample ^ 0x80000000; goto PUT_END;525,23224 -put_s32s: as_s32(dst) = swab32(sample); goto PUT_END;526,23283 -put_u32s: as_u32(dst) = swab32(sample ^ 0x80); goto PUT_END;527,23337 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/rawmidi.c,2367 -static int midi_map[43,1386 -static int amidi_map[44,1452 -static int boot_devs;45,1519 -snd_rawmidi_t *snd_rawmidi_devices[58,2134 -static inline unsigned short snd_rawmidi_file_flags(62,2247 -static inline int snd_rawmidi_ready(74,2532 -static inline int snd_rawmidi_ready_append(80,2710 -static int snd_rawmidi_init(87,2968 -static int snd_rawmidi_done_buffer(105,3517 -int snd_rawmidi_drop_output(114,3679 -int snd_rawmidi_drain_output(128,4063 -int snd_rawmidi_drain_input(162,4983 -int snd_rawmidi_kernel_open(175,5340 -static int snd_rawmidi_open(350,9955 -int snd_rawmidi_kernel_release(455,12803 -static int snd_rawmidi_release(508,14433 -int snd_rawmidi_info(523,14764 -static int snd_rawmidi_info_user(545,15432 -int snd_rawmidi_info_select(556,15734 -static int snd_rawmidi_info_select_user(580,16508 -int snd_rawmidi_output_params(598,16997 -int snd_rawmidi_input_params(625,17833 -static int snd_rawmidi_output_status(649,18539 -static int snd_rawmidi_input_status(662,18907 -static inline int _snd_rawmidi_ioctl(677,19326 -static int snd_rawmidi_ioctl(789,22221 -int snd_rawmidi_control_ioctl(799,22447 -int snd_rawmidi_receive(850,23696 -static long snd_rawmidi_kernel_read1(909,25409 -long snd_rawmidi_kernel_read(942,26420 -static ssize_t snd_rawmidi_read(949,26656 -int snd_rawmidi_transmit_empty(1002,28167 -int snd_rawmidi_transmit_peek(1034,29116 -int snd_rawmidi_transmit_ack(1082,30605 -int snd_rawmidi_transmit(1119,31734 -static long snd_rawmidi_kernel_write1(1127,31981 -long snd_rawmidi_kernel_write(1178,33462 -static ssize_t snd_rawmidi_write(1183,33633 -static unsigned int snd_rawmidi_poll(1250,35774 -static void snd_rawmidi_proc_info_read(1283,36499 -static struct file_operations snd_rawmidi_f_ops 1341,38244 -static snd_minor_t snd_rawmidi_reg 1352,38498 -static int snd_rawmidi_alloc_substreams(1358,38595 -int snd_rawmidi_new(1395,39636 -static void snd_rawmidi_free_substreams(1436,40922 -static int snd_rawmidi_free(1447,41211 -static int snd_rawmidi_dev_free(1458,41543 -static void snd_rawmidi_dev_seq_free(1465,41775 -static int snd_rawmidi_dev_register(1472,41920 -static int snd_rawmidi_dev_disconnect(1552,44765 -static int snd_rawmidi_dev_unregister(1564,45047 -void snd_rawmidi_set_ops(1611,46589 -static int __init alsa_rawmidi_init(1626,46918 -static void __exit alsa_rawmidi_exit(1648,47495 -module_init(1653,47597 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/info_oss.c,300 -static char *snd_sndstat_strings[38,1172 -static snd_info_entry_t *snd_sndstat_proc_entry;39,1245 -int snd_oss_info_register(41,1295 -static int snd_sndstat_show_strings(67,1868 -static void snd_sndstat_proc_read(90,2327 -int snd_info_minor_register(111,3317 -int snd_info_minor_unregister(128,3755 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/pcm_timer.c,381 -static unsigned long gcd(33,1024 -void snd_pcm_timer_resolution_change(48,1210 -static unsigned long snd_pcm_timer_resolution(77,1955 -static int snd_pcm_timer_start(85,2168 -static int snd_pcm_timer_stop(97,2468 -static struct _snd_timer_hardware snd_pcm_timer 109,2767 -static void snd_pcm_timer_free(123,3039 -void snd_pcm_timer_init(129,3176 -void snd_pcm_timer_done(155,3987 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/sound.c,814 -#define SNDRV_OS_MINORS 37,1212 -static int major 39,1241 -int snd_major;40,1278 -static int cards_limit 41,1293 -static int device_mode 42,1321 -int snd_ecards_limit;62,2159 -static struct list_head snd_minors_hash[64,2182 -void snd_request_card(80,2543 -static void snd_request_other(96,2841 -static snd_minor_t *snd_minor_search(112,3144 -static int snd_open(125,3417 -struct file_operations snd_fops 162,4297 -static int snd_kernel_minor(168,4379 -int snd_register_device(208,5475 -int snd_unregister_device(253,6754 -static snd_info_entry_t *snd_minor_info_entry 281,7318 -static void snd_minor_info_read(283,7373 -int __init snd_minor_info_init(306,8098 -int __exit snd_minor_info_done(323,8468 -static int __init alsa_sound_init(334,8615 -static void __exit alsa_sound_exit(370,9681 -module_init(387,10133 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/wrappers.c,134 -void *snd_wrapper_kmalloc(30,1008 -void snd_wrapper_kfree(35,1093 -void *snd_wrapper_vmalloc(40,1151 -void snd_wrapper_vfree(45,1225 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_midi_event.c,1331 -#define ST_NOTEOFF 37,1359 -#define ST_NOTEON 38,1380 -#define ST_SPECIAL 39,1400 -#define ST_SYSEX 40,1421 -typedef void (*event_encode_t)event_encode_t45,1520 -typedef void (*event_decode_t)event_decode_t46,1596 -static struct status_event_list_t status_event_list_t66,2507 -} status_event[71,2614 -static struct extra_event_list_t extra_event_list_t103,4329 -} extra_event[106,4465 -int snd_midi_event_new(116,4669 -void snd_midi_event_free(138,5087 -inline static void reset_encode(150,5241 -void snd_midi_event_reset_encode(157,5349 -void snd_midi_event_reset_decode(166,5536 -void snd_midi_event_init(175,5725 -void snd_midi_event_no_status(181,5848 -int snd_midi_event_resize_buffer(189,5965 -long snd_midi_event_encode(214,6534 -int snd_midi_event_encode_byte(239,7048 -static void note_event(304,8770 -static void one_param_ctrl_event(312,8997 -static void pitchbend_ctrl_event(319,9198 -static void two_param_ctrl_event(326,9437 -static void one_param_event(334,9677 -static void songpos_event(340,9820 -long snd_midi_event_decode(349,10060 -static void note_decode(405,11561 -static void one_param_decode(412,11745 -static void pitchbend_decode(418,11893 -static void two_param_decode(426,12100 -static void songpos_decode(433,12284 -static int extra_decode_ctrl14(440,12473 -static int extra_decode_xrpn(477,13455 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_info.h,32 -#define __SND_SEQ_INFO_H22,873 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_clientmgr.c,4358 -#define SNDRV_SEQ_LFLG_INPUT 50,1573 -#define SNDRV_SEQ_LFLG_OUTPUT 51,1609 -#define SNDRV_SEQ_LFLG_OPEN 52,1646 -static spinlock_t clients_lock 54,1720 -static char clienttablock[60,1835 -static client_t *clienttab[61,1885 -static usage_t client_usage;62,1936 -static inline mm_segment_t snd_enter_user(73,2216 -static inline void snd_leave_user(80,2329 -static inline unsigned short snd_seq_file_flags(87,2405 -static inline int snd_seq_write_pool_allocated(99,2751 -static client_t *clientptr(105,2926 -client_t *snd_seq_client_use_ptr(116,3183 -static void usage_alloc(177,4721 -static void usage_free(184,4843 -int __init client_init_data(190,4946 -static client_t *seq_create_client1(199,5123 -static int seq_free_client1(244,6353 -static void seq_free_client(266,6996 -static int snd_seq_open(292,7615 -static int snd_seq_release(345,8826 -static ssize_t snd_seq_read(367,9389 -static int check_port_perm(447,11325 -static client_t *get_event_dest_client(458,11604 -static int bounce_error_event(491,12543 -static int update_timestamp_of_queue(529,13665 -static int snd_seq_deliver_single_event(557,14318 -static int deliver_to_subscribers(616,15606 -static int port_broadcast_event(668,16951 -static int broadcast_event(702,17955 -static int multicast_event(734,18774 -int snd_seq_deliver_event(751,19318 -int snd_seq_dispatch_event(792,20707 -static int snd_seq_client_enqueue_event(863,22642 -static int check_event_type_and_length(922,24339 -static ssize_t snd_seq_write(955,25227 -static unsigned int snd_seq_poll(1041,27471 -static int snd_seq_ioctl_system_info(1073,28303 -static int snd_seq_ioctl_running_mode(1093,28817 -static void get_client_info(1130,29524 -static int snd_seq_ioctl_get_client_info(1144,29929 -static int snd_seq_ioctl_set_client_info(1167,30475 -static int snd_seq_ioctl_create_port(1196,31213 -static int snd_seq_ioctl_delete_port(1246,32582 -static int snd_seq_ioctl_get_port_info(1269,33121 -static int snd_seq_ioctl_set_port_info(1301,33825 -#define PERM_RD 1323,34301 -#define PERM_WR 1324,34373 -static int check_subscription_permission(1326,34448 -int snd_seq_client_notify_subscription(1359,35388 -static int snd_seq_ioctl_subscribe_port(1376,35806 -static int snd_seq_ioctl_unsubscribe_port(1420,37061 -static int snd_seq_ioctl_create_queue(1461,38280 -static int snd_seq_ioctl_delete_queue(1495,38992 -static int snd_seq_ioctl_get_queue_info(1506,39253 -static int snd_seq_ioctl_set_queue_info(1532,39780 -static int snd_seq_ioctl_get_named_queue(1567,40552 -static int snd_seq_ioctl_get_queue_status(1590,41013 -static int snd_seq_ioctl_get_queue_tempo(1623,41747 -int snd_seq_set_queue_tempo(1653,42366 -static int snd_seq_ioctl_set_queue_tempo(1660,42582 -static int snd_seq_ioctl_get_queue_timer(1674,42900 -static int snd_seq_ioctl_set_queue_timer(1710,43682 -static int snd_seq_ioctl_get_queue_client(1751,44587 -static int snd_seq_ioctl_set_queue_client(1772,45028 -static int snd_seq_ioctl_get_client_pool(1791,45426 -static int snd_seq_ioctl_set_client_pool(1825,46340 -static int snd_seq_ioctl_remove_events(1869,47670 -static int snd_seq_ioctl_get_subscription(1898,48265 -static int snd_seq_ioctl_query_subs(1937,49125 -static int snd_seq_ioctl_query_next_client(2006,50578 -static int snd_seq_ioctl_query_next_port(2037,51215 -static struct seq_ioctl_table seq_ioctl_table2070,51973 -} ioctl_tables[2073,52075 -static int snd_seq_do_ioctl(2106,54059 -static int snd_seq_ioctl(2131,54728 -int snd_seq_create_kernel_client(2151,55208 -int snd_seq_delete_kernel_client(2195,56376 -static int kernel_client_enqueue(2214,56723 -int snd_seq_kernel_client_enqueue(2252,57626 -int snd_seq_kernel_client_enqueue_blocking(2263,57925 -int snd_seq_kernel_client_dispatch(2278,58384 -int snd_seq_kernel_client_ctl(2311,59047 -int snd_seq_kernel_client_write_poll(2328,59387 -static void snd_seq_info_dump_subscribers(2348,59813 -#define FLAG_PERM_RD(FLAG_PERM_RD2379,60767 -#define FLAG_PERM_WR(FLAG_PERM_WR2380,60889 -#define FLAG_PERM_EX(FLAG_PERM_EX2381,61013 -#define FLAG_PERM_DUPLEX(FLAG_PERM_DUPLEX2383,61093 -static void snd_seq_info_dump_ports(2385,61174 -void snd_seq_info_clients_read(2406,61870 -static struct file_operations snd_seq_f_ops 2454,63280 -static snd_minor_t snd_seq_reg 2465,63506 -int __init snd_sequencer_device_init(2475,63635 -void __exit snd_sequencer_device_done(2497,63977 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_ports.c,911 -client_port_t *snd_seq_port_use_ptr(59,1948 -client_port_t *snd_seq_port_query_nearest(83,2527 -static void port_subs_info_init(115,3218 -client_port_t *snd_seq_create_port(128,3513 -enum group_type_t group_type_t180,4981 - SRC_LIST,181,5001 - SRC_LIST, DEST_LIST181,5001 -static client_port_t *get_client_port(188,5300 -static void clear_subscriber_list(207,5702 -static int port_delete(254,7036 -int snd_seq_delete_port(276,7596 -int snd_seq_delete_all_ports(303,8271 -int snd_seq_set_port_info(336,9204 -int snd_seq_get_port_info(364,9963 -static int subscribe_port(413,11301 -static int unsubscribe_port(435,11897 -static inline int addr_match(456,12480 -static int match_subs_info(463,12720 -int snd_seq_port_connect(478,13045 -int snd_seq_port_disconnect(557,15225 -subscribers_t *snd_seq_port_get_subscription(600,16474 -int snd_seq_event_port_attach(625,17142 -int snd_seq_event_port_detach(661,17924 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_timer.h,428 -#define __SND_SEQ_TIMER_H22,872 -} seq_timer_tick_t;seq_timer_tick_t31,1140 -} seq_timer_t;seq_timer_t58,1921 -static inline void snd_seq_timer_update_tick(70,2210 -static inline int snd_seq_compare_tick_time(82,2568 -static inline int snd_seq_compare_real_time(88,2706 -static inline void snd_seq_sanity_real_time(99,2953 -static inline void snd_seq_inc_real_time(110,3178 -static inline void snd_seq_inc_time_nsec(117,3365 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_prioq.c,506 -prioq_t *snd_seq_prioq_new(58,1611 -void snd_seq_prioq_delete(77,1926 -static inline int compare_timestamp(104,2367 -static inline int compare_timestamp_rel(120,2853 -int snd_seq_prioq_cell_in(147,3529 -snd_seq_event_cell_t *snd_seq_prioq_cell_out(218,5477 -int snd_seq_prioq_avail(246,6028 -snd_seq_event_cell_t *snd_seq_prioq_cell_peek(257,6238 -static inline int prioq_match(267,6428 -void snd_seq_prioq_leave(289,6964 -static int prioq_remove_match(341,8144 -void snd_seq_prioq_remove_events(397,9684 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_instr.c,1242 -static void snd_instr_lock_ops(34,1204 -static void snd_instr_unlock_ops(43,1415 -snd_seq_kcluster_t *snd_seq_cluster_new(52,1631 -void snd_seq_cluster_free(57,1770 -snd_seq_kinstr_t *snd_seq_instr_new(64,1891 -int snd_seq_instr_free(75,2153 -snd_seq_kinstr_list_t *snd_seq_instr_list_new(88,2426 -void snd_seq_instr_list_free(102,2739 -static int instr_free_compare(141,3730 -int snd_seq_instr_list_free_cond(176,4655 -static int compute_hash_instr_key(227,5946 -static int compute_hash_cluster_key(239,6196 -static int compare_instr(251,6433 -snd_seq_kinstr_t *snd_seq_instr_find(280,7107 -void snd_seq_instr_free_use(313,7940 -static snd_seq_kinstr_ops_t *instr_ops(329,8335 -static int instr_result(339,8534 -static int instr_begin(363,9256 -static int instr_end(380,9799 -static int instr_info(398,10327 -static int instr_format_info(406,10492 -static int instr_reset(414,10664 -static int instr_status(422,10833 -static int instr_put(430,10985 -static int instr_get(504,13084 -static int instr_free(512,13245 -static int instr_list(584,15371 -static int instr_cluster(592,15536 -int snd_seq_instr_event(600,15692 -static int __init alsa_seq_instr_init(648,17089 -static void __exit alsa_seq_instr_exit(653,17149 -module_init(657,17199 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_memory.c,763 -#define semaphore_of(semaphore_of36,1247 -inline static int snd_seq_pool_available(39,1307 -inline static int snd_seq_output_ok(44,1427 -static int get_var_len(75,2375 -int snd_seq_dump_var_event(83,2589 -static int seq_copy_in_kernel(130,3649 -static int seq_copy_in_user(137,3784 -int snd_seq_expand_var_event(145,3945 -static inline void free_cell(177,4731 -void snd_seq_cell_free(184,4882 -int snd_seq_cell_alloc(218,5663 -int snd_seq_event_dup(283,7112 -int snd_seq_pool_poll_wait(361,8896 -int snd_seq_pool_init(369,9105 -int snd_seq_pool_done(405,9935 -pool_t *snd_seq_pool_new(451,10956 -int snd_seq_pool_delete(477,11475 -int __init snd_sequencer_memory_init(490,11677 -void __exit snd_sequencer_memory_done(496,11767 -void snd_seq_info_pool(502,11851 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_system.h,580 -#define __SND_SEQ_SYSTEM_H22,876 -#define snd_seq_system_client_ev_client_start(snd_seq_system_client_ev_client_start30,1050 -#define snd_seq_system_client_ev_client_exit(snd_seq_system_client_ev_client_exit31,1170 -#define snd_seq_system_client_ev_client_change(snd_seq_system_client_ev_client_change32,1288 -#define snd_seq_system_client_ev_port_start(snd_seq_system_client_ev_port_start33,1410 -#define snd_seq_system_client_ev_port_exit(snd_seq_system_client_ev_port_exit34,1535 -#define snd_seq_system_client_ev_port_change(snd_seq_system_client_ev_port_change35,1658 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_memory.h,319 -#define __SND_SEQ_MEMORYMGR_H22,880 -typedef struct pool pool_t;pool_t27,966 -typedef struct snd_seq_event_cell_t snd_seq_event_cell_t30,1046 -} snd_seq_event_cell_t;snd_seq_event_cell_t34,1194 -struct pool pool41,1455 -static inline int snd_seq_unused_cells(72,2338 -static inline int snd_seq_total_cells(78,2512 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_fifo.c,337 -fifo_t *snd_seq_fifo_new(32,997 -void snd_seq_fifo_delete(65,1578 -void snd_seq_fifo_clear(94,2078 -int snd_seq_fifo_event_in(113,2467 -static snd_seq_event_cell_t *fifo_cell_out(151,3283 -int snd_seq_fifo_cell_out(170,3626 -void snd_seq_fifo_cell_putback(205,4467 -int snd_seq_fifo_poll_wait(220,4772 -int snd_seq_fifo_resize(227,4975 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_synth.c,992 -#define SNDRV_SEQ_OSS_MAX_SYNTH_NAME 31,966 -#define MAX_SYSEX_BUFLEN 32,1006 -struct seq_oss_synth_sysex_t seq_oss_synth_sysex_t40,1101 -struct seq_oss_synth_t seq_oss_synth_t47,1212 -static int max_synth_devs;68,1493 -static seq_oss_synth_t *synth_devs[69,1520 -static seq_oss_synth_t midi_synth_dev 70,1586 -static spinlock_t register_lock 78,1754 -snd_seq_oss_synth_init(90,2000 -snd_seq_oss_synth_register(99,2127 -snd_seq_oss_synth_unregister(151,3474 -get_sdev(191,4365 -snd_seq_oss_synth_setup(210,4645 -snd_seq_oss_synth_setup_midi(266,6058 -snd_seq_oss_synth_cleanup(300,6842 -is_midi_dev(345,7799 -get_synthdev(358,8029 -reset_channels(381,8465 -snd_seq_oss_synth_reset(399,8807 -snd_seq_oss_synth_load_patch(455,10023 -snd_seq_oss_synth_is_valid(481,10563 -snd_seq_oss_synth_sysex(499,10886 -snd_seq_oss_synth_addr(556,12060 -snd_seq_oss_synth_ioctl(570,12355 -snd_seq_oss_synth_raw_event(592,12812 -snd_seq_oss_synth_make_info(606,13172 -snd_seq_oss_synth_info_read(636,13914 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_writeq.c,253 -snd_seq_oss_writeq_new(35,1091 -snd_seq_oss_writeq_delete(63,1659 -snd_seq_oss_writeq_clear(74,1807 -snd_seq_oss_writeq_sync(90,2181 -snd_seq_oss_writeq_wakeup(145,3517 -snd_seq_oss_writeq_get_free_size(163,3857 -snd_seq_oss_writeq_set_output(176,4121 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_timer.c,458 -#define MIN_OSS_TEMPO 29,940 -#define MAX_OSS_TEMPO 30,965 -#define MIN_OSS_TIMEBASE 31,992 -#define MAX_OSS_TIMEBASE 32,1019 -snd_seq_oss_timer_new(45,1288 -snd_seq_oss_timer_delete(70,1674 -snd_seq_oss_process_timer_event(85,1929 -calc_alsa_tempo(128,2735 -send_timer_event(139,2911 -snd_seq_oss_timer_start(159,3384 -snd_seq_oss_timer_stop(184,3855 -snd_seq_oss_timer_continue(198,4059 -snd_seq_oss_timer_tempo(212,4273 -snd_seq_oss_timer_ioctl(230,4622 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_event.h,848 -#define __SEQ_OSS_EVENT_H24,888 -#define SHORT_EVENT_SIZE 28,944 -#define LONG_EVENT_SIZE 29,971 -typedef struct evrec_short_t evrec_short_t32,1026 -} evrec_short_t;evrec_short_t37,1142 -typedef struct evrec_note_t evrec_note_t40,1194 -} evrec_note_t;evrec_note_t45,1306 -typedef struct evrec_timer_t evrec_timer_t48,1357 -} evrec_timer_t;evrec_timer_t53,1480 -typedef struct evrec_extended_t evrec_extended_t56,1534 -} evrec_extended_t;evrec_extended_t62,1680 -typedef struct evrec_long_t evrec_long_t65,1736 -} evrec_long_t;evrec_long_t72,1891 -typedef struct evrec_voice_t evrec_voice_t75,1945 -} evrec_voice_t;evrec_voice_t82,2107 -typedef struct evrec_sysex_t evrec_sysex_t85,2153 -} evrec_sysex_t;evrec_sysex_t89,2248 -union evrec_t evrec_t92,2285 -#define ev_is_long(ev_is_long104,2487 -#define ev_length(ev_length105,2532 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_readq.h,210 -#define __SEQ_OSS_READQ_H23,860 -struct seq_oss_readq_t seq_oss_readq_t31,952 -#define snd_seq_oss_readq_lock(snd_seq_oss_readq_lock53,1840 -#define snd_seq_oss_readq_unlock(snd_seq_oss_readq_unlock54,1918 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_misc.c,198 -unsigned short snd_seq_oss_semitone_tuning[5,164 -unsigned short snd_seq_oss_cent_tuning[12,419 -snd_seq_oss_note_to_freq(31,1358 -#define BASE_OCTAVE 44,1642 -snd_seq_oss_compute_finetune(64,1948 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_writeq.h,83 -#define __SEQ_OSS_WRITEQ_H23,866 -struct seq_oss_writeq_t seq_oss_writeq_t28,924 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_midi.h,100 -#define __SEQ_OSS_MIDI_H24,870 -typedef struct seq_oss_midi_t seq_oss_midi_t;seq_oss_midi_t29,959 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss.c,511 -int seq_oss_debug 46,1540 -static int __init alsa_seq_oss_init(73,2352 -static void __exit alsa_seq_oss_exit(106,2996 -module_init(114,3173 -odev_release(141,3628 -odev_read(158,3894 -odev_write(168,4122 -odev_ioctl(177,4359 -odev_poll(192,4711 -static struct file_operations seq_oss_f_ops 204,4941 -static snd_minor_t seq_oss_reg 215,5149 -register_device(221,5257 -unregister_device(249,5944 -static snd_info_entry_t *info_entry;266,6379 -info_read(269,6429 -register_proc(282,6777 -unregister_proc(305,7257 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_rw.c,103 -snd_seq_oss_read(44,1226 -snd_seq_oss_write(96,2377 -insert_queue(164,3882 -snd_seq_oss_poll(200,4860 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_ioctl.c,163 -static int snd_seq_oss_synth_info_user(31,1039 -static int snd_seq_oss_midi_info_user(44,1369 -static int snd_seq_oss_oob_user(57,1696 -snd_seq_oss_ioctl(74,2119 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_synth.h,104 -#define __SEQ_OSS_SYNTH_H24,872 -typedef struct seq_oss_synth_t seq_oss_synth_t;seq_oss_synth_t30,992 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_init.c,660 -static int maxqlen 36,1127 -static int system_client 40,1258 -static int system_port 41,1324 -static int num_clients;43,1354 -static seq_oss_devinfo_t *client_table[44,1378 -#define call_ctl(call_ctl58,1839 -snd_seq_oss_create_client(65,1983 -receive_announce(133,3744 -snd_seq_oss_delete_client(166,4518 -snd_seq_oss_open(181,4708 -translate_mode(299,7277 -create_port(316,7649 -delete_port(351,8485 -alloc_seq_queue(364,8697 -delete_seq_queue(383,9061 -free_devinfo(403,9452 -snd_seq_oss_release(424,9766 -snd_seq_oss_drain_write(453,10292 -snd_seq_oss_reset(470,10600 -snd_seq_oss_system_info_read(498,11136 -enabled_str(530,12142 -filemode_str(536,12215 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_readq.c,424 -#define SNDRV_SEQ_OSS_MAX_TIMEOUT 32,1046 -snd_seq_oss_readq_new(44,1165 -snd_seq_oss_readq_delete(74,1797 -snd_seq_oss_readq_clear(87,1936 -snd_seq_oss_readq_puts(103,2215 -snd_seq_oss_readq_put_event(126,2618 -snd_seq_oss_readq_pick(155,3129 -snd_seq_oss_readq_wait(167,3316 -snd_seq_oss_readq_free(177,3492 -snd_seq_oss_readq_poll(190,3696 -snd_seq_oss_readq_put_timestamp(200,3868 -snd_seq_oss_readq_info_read(227,4415 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_device.h,1634 -#define __SEQ_OSS_DEVICE_H22,842 -#define SNDRV_SEQ_OSS_DEBUG36,1151 -#define SNDRV_SEQ_OSS_MAX_CLIENTS 39,1204 -#define SNDRV_SEQ_OSS_MAX_SYNTH_DEVS 40,1241 -#define SNDRV_SEQ_OSS_MAX_MIDI_DEVS 41,1281 -#define SNDRV_SEQ_OSS_MAJOR_VERSION 44,1335 -#define SNDRV_SEQ_OSS_MINOR_VERSION 45,1373 -#define SNDRV_SEQ_OSS_TINY_VERSION 46,1411 -#define SNDRV_SEQ_OSS_VERSION_STR 47,1448 -#define SNDRV_SEQ_OSS_DEVNAME 50,1528 -#define SNDRV_SEQ_OSS_PROCNAME 51,1569 -typedef struct seq_oss_devinfo_t seq_oss_devinfo_t;seq_oss_devinfo_t58,1637 -typedef struct seq_oss_writeq_t seq_oss_writeq_t;seq_oss_writeq_t59,1689 -typedef struct seq_oss_readq_t seq_oss_readq_t;seq_oss_readq_t60,1739 -typedef struct seq_oss_timer_t seq_oss_timer_t;seq_oss_timer_t61,1787 -typedef struct seq_oss_synthinfo_t seq_oss_synthinfo_t;seq_oss_synthinfo_t62,1835 -typedef struct seq_oss_synth_sysex_t seq_oss_synth_sysex_t;seq_oss_synth_sysex_t63,1891 -typedef struct seq_oss_chinfo_t seq_oss_chinfo_t;seq_oss_chinfo_t64,1951 -typedef unsigned int reltime_t;reltime_t65,2001 -typedef unsigned int abstime_t;abstime_t66,2033 -typedef union evrec_t evrec_t;evrec_t67,2065 -struct seq_oss_chinfo_t seq_oss_chinfo_t73,2140 -struct seq_oss_synthinfo_t seq_oss_synthinfo_t80,2220 -struct seq_oss_devinfo_t seq_oss_devinfo_t95,2433 -#define is_read_mode(is_read_mode156,4154 -#define is_write_mode(is_write_mode157,4216 -#define is_nonblock_mode(is_nonblock_mode158,4280 -snd_seq_oss_dispatch(162,4390 -snd_seq_oss_control(169,4578 -snd_seq_oss_fill_addr(176,4766 -#define debug_printk(debug_printk194,5157 -#define debug_printk(debug_printk196,5241 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_event.c,343 -snd_seq_oss_process_event(54,2235 -old_event(107,3530 -extended_event(133,4090 -chn_voice_event(187,5578 -chn_common_event(208,6115 -timing_event(235,6891 -local_event(270,7638 -note_on_event(286,8099 -note_off_event(341,9958 -set_note_event(372,10808 -set_control_event(390,11181 -set_echo_event(408,11564 -snd_seq_oss_event_input(422,11913 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_midi.c,985 -#define SNDRV_SEQ_OSS_MAX_MIDI_NAME 35,1054 -struct seq_oss_midi_t seq_oss_midi_t40,1137 -static int max_midi_devs;56,1579 -static seq_oss_midi_t *midi_devs[57,1605 -static spinlock_t register_lock 59,1669 -snd_seq_oss_midi_lookup_ports(74,2117 -get_mdev(103,2865 -find_slot(120,3173 -#define PERM_WRITE 141,3621 -#define PERM_READ 142,3697 -snd_seq_oss_midi_check_new_port(147,3828 -snd_seq_oss_midi_check_exit_port(226,5822 -snd_seq_oss_midi_clear_all(257,6554 -snd_seq_oss_midi_setup(281,6975 -snd_seq_oss_midi_cleanup(290,7096 -snd_seq_oss_midi_open_all(303,7306 -get_mididev(315,7532 -snd_seq_oss_midi_open(327,7713 -snd_seq_oss_midi_close(394,9201 -snd_seq_oss_midi_filemode(432,10180 -snd_seq_oss_midi_reset(455,10617 -snd_seq_oss_midi_get_addr(503,11895 -snd_seq_oss_midi_input(519,12202 -send_synth_event(547,12845 -send_midi_event(608,14468 -snd_seq_oss_midi_putc(636,15220 -snd_seq_oss_midi_make_info(655,15681 -capmode_str(674,16089 -snd_seq_oss_midi_info_read(688,16324 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/oss/seq_oss_timer.h,196 -#define __SEQ_OSS_TIMER_H23,868 -struct seq_oss_timer_t seq_oss_timer_t30,963 -#define snd_seq_oss_timer_reset 47,1473 -snd_seq_oss_timer_cur_tick(55,1681 -snd_seq_oss_timer_is_realtime(65,1810 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/instr/ainstr_fm.c,289 -char *snd_seq_fm_id 33,1173 -static int snd_seq_fm_put(35,1223 -static int snd_seq_fm_get(77,2536 -static int snd_seq_fm_get_size(119,3829 -int snd_seq_fm_init(126,3978 -static int __init alsa_ainstr_fm_init(146,4428 -static void __exit alsa_ainstr_fm_exit(151,4488 -module_init(155,4538 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/instr/ainstr_iw.c,1050 -char *snd_seq_iwffff_id 34,1215 -static unsigned int snd_seq_iwffff_size(36,1272 -static void snd_seq_iwffff_copy_lfo_from_stream(47,1503 -static int snd_seq_iwffff_copy_env_from_stream(57,1756 -static int snd_seq_iwffff_copy_wave_from_stream(125,3602 -static void snd_seq_iwffff_env_free(190,5329 -static void snd_seq_iwffff_wave_free(202,5560 -static void snd_seq_iwffff_instr_free(211,5770 -static int snd_seq_iwffff_put(230,6312 -static void snd_seq_iwffff_copy_lfo_to_stream(338,9350 -static int snd_seq_iwffff_copy_env_to_stream(348,9606 -static int snd_seq_iwffff_copy_wave_to_stream(395,10960 -static int snd_seq_iwffff_get(450,12562 -static long snd_seq_iwffff_env_size_in_stream(523,14778 -static long snd_seq_iwffff_wave_size_in_stream(535,15054 -static int snd_seq_iwffff_get_size(548,15325 -static int snd_seq_iwffff_remove(568,15871 -static void snd_seq_iwffff_notify(580,16195 -int snd_seq_iwffff_init(590,16454 -static int __init alsa_ainstr_iw_init(612,17014 -static void __exit alsa_ainstr_iw_exit(617,17074 -module_init(621,17124 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/instr/ainstr_gf1.c,621 -char *snd_seq_gf1_id 34,1213 -static unsigned int snd_seq_gf1_size(36,1267 -static int snd_seq_gf1_copy_wave_from_stream(47,1489 -static void snd_seq_gf1_wave_free(120,3645 -static void snd_seq_gf1_instr_free(129,3840 -static int snd_seq_gf1_put(141,4078 -static int snd_seq_gf1_copy_wave_to_stream(192,5418 -static int snd_seq_gf1_get(254,7410 -static int snd_seq_gf1_get_size(286,8362 -static int snd_seq_gf1_remove(304,8738 -static void snd_seq_gf1_notify(316,9045 -int snd_seq_gf1_init(326,9275 -static int __init alsa_ainstr_gf1_init(348,9816 -static void __exit alsa_ainstr_gf1_exit(353,9877 -module_init(357,9928 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/instr/ainstr_simple.c,501 -char *snd_seq_simple_id 34,1222 -static unsigned int snd_seq_simple_size(36,1276 -static void snd_seq_simple_instr_free(47,1507 -static int snd_seq_simple_put(55,1708 -static int snd_seq_simple_get(104,3247 -static int snd_seq_simple_get_size(151,4731 -static int snd_seq_simple_remove(161,5005 -static void snd_seq_simple_notify(173,5336 -int snd_seq_simple_init(183,5602 -static int __init alsa_ainstr_simple_init(205,6176 -static void __exit alsa_ainstr_simple_exit(210,6240 -module_init(214,6294 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_midi.c,813 -int output_buffer_size 46,1645 -int input_buffer_size 49,1796 -} seq_midisynth_t;seq_midisynth_t63,2173 -} seq_midisynth_client_t;seq_midisynth_client_t70,2338 -static seq_midisynth_client_t *synths[72,2365 -static void snd_midi_input_event(76,2508 -static int dump_midi(115,3493 -static int event_process_midi(131,3963 -static int snd_seq_midisynth_new(168,5109 -static int midisynth_subscribe(182,5451 -static int midisynth_unsubscribe(210,6441 -static int midisynth_use(221,6781 -static int midisynth_unuse(244,7559 -static void snd_seq_midisynth_delete(257,8092 -static int set_client_name(272,8399 -snd_seq_midisynth_register_port(288,8951 -snd_seq_midisynth_unregister_port(427,13429 -static int __init alsa_seq_midi_init(460,14274 -static void __exit alsa_seq_midi_exit(471,14550 -module_init(476,14662 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_timer.c,835 -#define SKEW_BASE 37,1283 -void snd_seq_timer_set_tick_resolution(39,1328 -seq_timer_t *snd_seq_timer_new(58,1813 -void snd_seq_timer_delete(79,2202 -void snd_seq_timer_defaults(97,2490 -void snd_seq_timer_reset(116,3112 -static void snd_seq_timer_interrupt(134,3502 -int snd_seq_timer_set_tempo(175,4453 -int snd_seq_timer_set_ppq(192,4865 -int snd_seq_timer_set_position_tick(215,5502 -int snd_seq_timer_set_position_time(229,5837 -int snd_seq_timer_set_skew(243,6164 -int snd_seq_timer_open(260,6531 -int snd_seq_timer_close(300,7734 -int snd_seq_timer_stop(314,7974 -static int initialize_timer(325,8152 -int snd_seq_timer_start(347,8650 -int snd_seq_timer_continue(362,8969 -snd_seq_real_time_t snd_seq_timer_get_cur_time(380,9391 -snd_seq_tick_time_t snd_seq_timer_get_cur_tick(405,10063 -void snd_seq_info_timer_read(412,10191 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_clientmgr.h,293 -#define __SND_SEQ_CLIENTMGR_H22,887 -struct _snd_seq_user_client _snd_seq_user_client33,1065 -struct _snd_seq_kernel_client _snd_seq_kernel_client42,1240 -struct _snd_seq_client _snd_seq_client50,1395 -} usage_t;usage_t80,2072 -#define snd_seq_client_unlock(snd_seq_client_unlock91,2332 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_dummy.c,453 -static int ports 67,2353 -static int duplex 68,2375 -typedef struct snd_seq_dummy_port snd_seq_dummy_port75,2573 -} snd_seq_dummy_port_t;snd_seq_dummy_port_t80,2660 -static int my_client 82,2685 -dummy_unuse(90,2892 -dummy_input(118,3604 -dummy_free(140,4175 -create_port(152,4329 -register_client(195,5492 -delete_client(247,6611 -static int __init alsa_seq_dummy_init(257,6722 -static void __exit alsa_seq_dummy_exit(262,6798 -module_init(267,6866 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_virmidi.c,1178 -static void snd_virmidi_init_event(59,2002 -static int snd_virmidi_dev_receive_event(79,2544 -int snd_virmidi_receive(114,3547 -static int snd_virmidi_event_input(125,3764 -static void snd_virmidi_input_trigger(139,4093 -static void snd_virmidi_output_trigger(153,4352 -static int snd_virmidi_input_open(200,5695 -static int snd_virmidi_output_open(229,6486 -static int snd_virmidi_input_close(255,7167 -static int snd_virmidi_output_close(268,7474 -static int snd_virmidi_subscribe(280,7777 -static int snd_virmidi_unsubscribe(294,8095 -static int snd_virmidi_use(308,8378 -static int snd_virmidi_unuse(322,8677 -static snd_rawmidi_ops_t snd_virmidi_input_ops 337,8924 -static snd_rawmidi_ops_t snd_virmidi_output_ops 343,9086 -static int snd_virmidi_dev_attach_seq(352,9299 -static void snd_virmidi_dev_detach_seq(414,11260 -static int snd_virmidi_dev_register(425,11455 -static int snd_virmidi_dev_unregister(452,12001 -static snd_rawmidi_global_ops_t snd_virmidi_global_ops 464,12223 -static void snd_virmidi_free(472,12398 -int snd_virmidi_new(483,12564 -static int __init alsa_virmidi_init(524,13686 -static void __exit alsa_virmidi_exit(529,13744 -module_init(533,13792 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_system.c,305 -static int sysclient 61,2265 -static int announce_port 64,2331 -static int setheader(69,2434 -void snd_seq_system_broadcast(93,2989 -int snd_seq_system_notify(104,3250 -static int event_input_timer(115,3585 -int __init snd_seq_system_client_init(121,3777 -void __exit snd_seq_system_client_done(173,5447 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_info.c,244 -static snd_info_entry_t *queues_entry;31,1003 -static snd_info_entry_t *clients_entry;32,1042 -static snd_info_entry_t *timer_entry;33,1082 -create_info_entry(37,1155 -int __init snd_seq_info_init(56,1629 -int __exit snd_seq_info_done(66,1985 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_ports.h,375 -#define __SND_SEQ_PORTS_H22,870 -typedef struct subscribers_t subscribers_t43,1630 -} subscribers_t;subscribers_t48,1842 -typedef struct port_subs_info_t port_subs_info_t50,1860 -} port_subs_info_t;port_subs_info_t58,2178 -typedef struct client_port_t client_port_t60,2199 -} client_port_t;client_port_t90,3026 -#define snd_seq_port_unlock(snd_seq_port_unlock99,3327 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_queue.c,1353 -static queue_t *queue_list[51,1946 -static spinlock_t queue_list_lock 52,1996 -static int num_queues;54,2085 -int snd_seq_queue_get_cur_queues(56,2109 -static int queue_list_add(64,2284 -static queue_t *queue_list_remove(83,2664 -static queue_t *queue_new(110,3275 -static void queue_delete(145,4026 -int __init snd_seq_queues_init(164,4454 -void __exit snd_seq_queues_delete(174,4609 -int snd_seq_queue_alloc(188,4869 -int snd_seq_queue_delete(205,5263 -queue_t *queueptr(221,5566 -queue_t *snd_seq_queue_find_name(237,5944 -void snd_seq_check_queue(255,6267 -int snd_seq_enqueue_event(312,7703 -static inline int check_access(364,9027 -static int queue_access_lock(372,9248 -static inline void queue_access_unlock(386,9551 -int snd_seq_queue_check_access(396,9780 -int snd_seq_queue_set_owner(416,10214 -int snd_seq_queue_timer_open(443,10730 -int snd_seq_queue_timer_close(464,11155 -int snd_seq_queue_timer_set_tempo(480,11441 -int snd_seq_queue_use(507,12141 -int snd_seq_queue_is_used(539,12853 -void snd_seq_queue_client_termination(558,13278 -void snd_seq_queue_client_leave(584,13893 -void snd_seq_queue_client_leave_cells(615,14608 -void snd_seq_queue_remove_cells(630,14927 -static void queue_broadcast_event(653,15508 -void snd_seq_queue_process_event(677,16211 -int snd_seq_control_queue(728,17788 -void snd_seq_info_queues_read(754,18281 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_fifo.h,167 -#define __SND_SEQ_FIFO_H22,867 -} fifo_t;fifo_t40,1246 -#define snd_seq_fifo_lock(snd_seq_fifo_lock53,1546 -#define snd_seq_fifo_unlock(snd_seq_fifo_unlock54,1615 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq.c,426 -int seq_client_load[39,1253 -int seq_client_load[41,1334 -int seq_default_timer_class 43,1386 -int seq_default_timer_sclass 44,1442 -int seq_default_timer_card 45,1498 -int seq_default_timer_device 46,1531 -int seq_default_timer_subdevice 47,1589 -int seq_default_timer_resolution 48,1626 -static int boot_devs;54,1857 -static int __init alsa_seq_init(75,2849 -static void __exit alsa_seq_exit(105,3428 -module_init(123,3778 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_prioq.h,60 -#define __SND_SEQ_PRIOQ_H22,878 -} prioq_t;prioq_t34,1129 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_device.c,1088 -typedef struct ops_list ops_list_t;ops_list_t55,2086 -#define DRIVER_EMPTY 58,2142 -#define DRIVER_LOADED 59,2166 -#define DRIVER_REQUESTED 60,2196 -#define DRIVER_LOCKED 61,2228 -struct ops_list ops_list63,2259 -static int num_ops;83,2749 -static snd_info_entry_t *info_entry 85,2802 -static void snd_seq_device_info(107,3531 -void snd_seq_device_load_drivers(128,4124 -int snd_seq_device_new(160,4806 -static int snd_seq_device_free(217,6000 -static int snd_seq_device_dev_free(243,6440 -static int snd_seq_device_dev_register(252,6612 -static int snd_seq_device_dev_disconnect(274,7019 -static int snd_seq_device_dev_unregister(292,7319 -int snd_seq_device_register_driver(303,7576 -static ops_list_t * create_driver(343,8450 -int snd_seq_device_unregister_driver(373,8998 -static void remove_drivers(413,9966 -static int init_device(436,10432 -static int free_device(459,11114 -static ops_list_t * find_driver(485,11855 -static void unlock_driver(504,12229 -static int __init alsa_seq_device_init(516,12351 -static void __exit alsa_seq_device_exit(531,12769 -module_init(539,12950 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_lock.h,553 -#define __SND_SEQ_LOCK_H2,25 -typedef atomic_t snd_use_lock_t;snd_use_lock_t8,131 -#define snd_use_lock_init(snd_use_lock_init11,187 -#define snd_use_lock_use(snd_use_lock_use14,263 -#define snd_use_lock_free(snd_use_lock_free17,333 -#define snd_use_lock_sync(snd_use_lock_sync21,506 -typedef spinlock_t snd_use_lock_t;snd_use_lock_t25,634 -#define snd_use_lock_init(snd_use_lock_init26,681 -#define snd_use_lock_use(snd_use_lock_use27,719 -#define snd_use_lock_free(snd_use_lock_free28,756 -#define snd_use_lock_sync(snd_use_lock_sync29,794 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_lock.c,39 -void snd_use_lock_sync_helper(29,1005 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_midi_emul.c,634 -snd_midi_process_event(75,3179 -note_off(242,8361 -do_control(263,9015 -snd_midi_channel_set_clear(379,11883 -rpn(410,12562 -nrpn(450,13543 -get_channel(463,13792 -sysex(478,13955 -all_sounds_off(591,16971 -all_notes_off(609,17250 -void snd_midi_channel_init(624,17535 -snd_midi_channel_t *snd_midi_channel_init_set(645,17985 -reset_all_channels(663,18281 -snd_midi_channel_set_t *snd_midi_channel_alloc_set(684,18738 -void snd_midi_reset_controllers(700,19099 -void snd_midi_channel_free_set(712,19320 -static int __init alsa_seq_midi_emul_init(721,19488 -static void __exit alsa_seq_midi_emul_exit(726,19552 -module_init(730,19606 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/seq/seq_queue.h,408 -#define __SND_SEQ_QUEUE_H21,880 -#define SEQ_QUEUE_NO_OWNER 31,1079 -struct _snd_seq_queue _snd_seq_queue33,1112 -#define queuefree(queuefree95,2848 -#define udiv_qrnnd(udiv_qrnnd121,3890 -#define u64_div(u64_div129,4075 -#define u64_mod(u64_mod130,4161 -#define u64_divmod(u64_divmod131,4247 -#define u64_div(u64_div134,4314 -#define u64_mod(u64_mod135,4372 -#define u64_divmod(u64_divmod136,4430 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/timer.c,3204 -#define DEFAULT_TIMER_LIMIT 41,1320 -#define DEFAULT_TIMER_LIMIT 43,1356 -static int timer_limit 46,1394 -} snd_timer_user_t;snd_timer_user_t70,2140 -static spinlock_t slave_active_lock 79,2322 -static snd_timer_instance_t *snd_timer_instance_new(94,2839 -static snd_timer_t *snd_timer_find(124,3588 -static void snd_timer_request(150,4215 -static void snd_timer_check_slave(177,4811 -static void snd_timer_check_master(208,5779 -int snd_timer_open(234,6582 -int snd_timer_close(302,8457 -unsigned long snd_timer_resolution(362,10184 -static void snd_timer_notify1(376,10467 -static int snd_timer_start1(407,11484 -static int snd_timer_start_slave(427,12056 -int snd_timer_start(442,12454 -static int _snd_timer_stop(467,13142 -int snd_timer_stop(514,14432 -int snd_timer_continue(534,14847 -int snd_timer_pause(560,15476 -static void snd_timer_reschedule(571,15766 -static void snd_timer_tasklet(604,16568 -void snd_timer_interrupt(640,17442 -int snd_timer_new(751,20529 -static int snd_timer_free(790,21670 -int snd_timer_dev_free(799,21846 -int snd_timer_dev_register(805,21970 -int snd_timer_unregister(846,23122 -static int snd_timer_dev_unregister(866,23671 -void snd_timer_notify(872,23814 -int snd_timer_global_new(904,24934 -int snd_timer_global_free(916,25222 -int snd_timer_global_register(921,25304 -int snd_timer_global_unregister(930,25474 -struct snd_timer_system_private snd_timer_system_private939,25594 -unsigned int snd_timer_system_resolution(947,25766 -static void snd_timer_s_function(952,25844 -static int snd_timer_s_start(962,26209 -static int snd_timer_s_stop(981,26713 -static struct _snd_timer_hardware snd_timer_system 996,27064 -static void snd_timer_free_system(1005,27290 -static int snd_timer_register_system(1011,27405 -static void snd_timer_proc_read(1038,28066 -static void snd_timer_user_interrupt(1085,29722 -static void snd_timer_user_append_to_tqueue(1117,30461 -static void snd_timer_user_ccallback(1127,30697 -static void snd_timer_user_tinterrupt(1147,31266 -static int snd_timer_user_open(1199,32688 -static int snd_timer_user_release(1219,33171 -static void snd_timer_user_zero_id(1238,33555 -static void snd_timer_user_copy_id(1247,33754 -static int snd_timer_user_next_device(1256,34036 -static int snd_timer_user_ginfo(1347,36345 -static int snd_timer_user_gparams(1385,37356 -static int snd_timer_user_gstatus(1411,37923 -static int snd_timer_user_tselect(1445,38819 -static int snd_timer_user_info(1492,40155 -static int snd_timer_user_params(1514,40809 -static int snd_timer_user_status(1606,43528 -static int snd_timer_user_start(1626,44100 -static int snd_timer_user_stop(1639,44414 -static int snd_timer_user_continue(1649,44637 -static inline int _snd_timer_user_ioctl(1660,44891 -static int snd_timer_user_ioctl(1709,46319 -static int snd_timer_user_fasync(1719,46548 -static ssize_t snd_timer_user_read(1731,46778 -static unsigned int snd_timer_user_poll(1794,48132 -static struct file_operations snd_timer_f_ops 1810,48433 -static snd_minor_t snd_timer_reg 1821,48706 -static snd_info_entry_t *snd_timer_proc_entry 1831,48824 -static int __init alsa_timer_init(1833,48879 -static void __exit alsa_timer_exit(1858,49689 -module_init(1877,50231 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/hwdep.c,1067 -snd_hwdep_t *snd_hwdep_devices[38,1233 -static loff_t snd_hwdep_llseek(51,1565 -static ssize_t snd_hwdep_read(59,1771 -static ssize_t snd_hwdep_write(67,1996 -static int snd_hwdep_open(75,2230 -static int snd_hwdep_release(158,3926 -static unsigned int snd_hwdep_poll(175,4310 -static int snd_hwdep_info(183,4497 -static int snd_hwdep_dsp_status(197,4863 -static int snd_hwdep_dsp_load(213,5247 -static inline int _snd_hwdep_ioctl(235,5812 -static int snd_hwdep_ioctl(256,6478 -static int snd_hwdep_mmap(266,6699 -static int snd_hwdep_control_ioctl(274,6891 -static struct file_operations snd_hwdep_f_ops 322,7949 -static snd_minor_t snd_hwdep_reg 335,8245 -int snd_hwdep_new(354,8801 -static int snd_hwdep_free(388,9646 -static int snd_hwdep_dev_free(397,9822 -static int snd_hwdep_dev_register(403,9953 -static int snd_hwdep_dev_unregister(446,11285 -static void snd_hwdep_proc_read(472,11936 -static snd_info_entry_t *snd_hwdep_proc_entry 495,12393 -static int __init alsa_hwdep_init(497,12448 -static void __exit alsa_hwdep_exit(515,12923 -module_init(524,13129 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/ioctl32.h,448 -#define __ALSA_IOCTL32_H27,1089 -#define COPY(COPY31,1142 -#define CPTR(CPTR32,1177 -#define convert_from_32(convert_from_3234,1225 -#define convert_to_32(convert_to_3241,1372 -#define DEFINE_ALSA_IOCTL(DEFINE_ALSA_IOCTL49,1518 -#define DEFINE_ALSA_IOCTL_BIG(DEFINE_ALSA_IOCTL_BIG74,2321 -#define DEFINE_ALSA_IOCTL_ENTRY(DEFINE_ALSA_IOCTL_ENTRY113,3434 -#define MAP_COMPAT(MAP_COMPAT118,3661 -struct ioctl32_mapper ioctl32_mapper120,3714 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/seq32.c,1411 -struct sndrv_seq_port_info32 sndrv_seq_port_info3230,1049 -#define CVT_sndrv_seq_port_info(CVT_sndrv_seq_port_info48,1671 -#define AP(AP71,2397 - SNDRV_SEQ_IOCTL_CREATE_PORT32 74,2435 - SNDRV_SEQ_IOCTL_CREATE_PORT32 = _IOWR(74,2435 - SNDRV_SEQ_IOCTL_CREATE_PORT32 = _IOWR('S', 0x20,74,2435 - SNDRV_SEQ_IOCTL_CREATE_PORT32 = _IOWR('S', 0x20, struct sndrv_seq_port_info32)74,2435 - SNDRV_SEQ_IOCTL_DELETE_PORT32 75,2517 - SNDRV_SEQ_IOCTL_DELETE_PORT32 = _IOW 75,2517 - SNDRV_SEQ_IOCTL_DELETE_PORT32 = _IOW ('S', 0x21,75,2517 - SNDRV_SEQ_IOCTL_DELETE_PORT32 = _IOW ('S', 0x21, struct sndrv_seq_port_info32)75,2517 - SNDRV_SEQ_IOCTL_GET_PORT_INFO32 76,2599 - SNDRV_SEQ_IOCTL_GET_PORT_INFO32 = _IOWR(76,2599 - SNDRV_SEQ_IOCTL_GET_PORT_INFO32 = _IOWR('S', 0x22,76,2599 - SNDRV_SEQ_IOCTL_GET_PORT_INFO32 = _IOWR('S', 0x22, struct sndrv_seq_port_info32)76,2599 - SNDRV_SEQ_IOCTL_SET_PORT_INFO32 77,2683 - SNDRV_SEQ_IOCTL_SET_PORT_INFO32 = _IOW 77,2683 - SNDRV_SEQ_IOCTL_SET_PORT_INFO32 = _IOW ('S', 0x23,77,2683 - SNDRV_SEQ_IOCTL_SET_PORT_INFO32 = _IOW ('S', 0x23, struct sndrv_seq_port_info32)77,2683 - SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT32 78,2767 - SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT32 = _IOWR(78,2767 - SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT32 = _IOWR('S', 0x52,78,2767 - SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT32 = _IOWR('S', 0x52, struct sndrv_seq_port_info32)78,2767 -struct ioctl32_mapper seq_mappers[81,2857 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/pcm32.c,5047 -struct sndrv_pcm_sframes_str sndrv_pcm_sframes_str31,1054 -struct sndrv_pcm_sframes_str32 sndrv_pcm_sframes_str3234,1114 -struct sndrv_pcm_uframes_str sndrv_pcm_uframes_str37,1160 -struct sndrv_pcm_uframes_str32 sndrv_pcm_uframes_str3240,1220 -#define CVT_sndrv_pcm_sframes_str(CVT_sndrv_pcm_sframes_str44,1267 -#define CVT_sndrv_pcm_uframes_str(CVT_sndrv_pcm_uframes_str45,1318 -struct sndrv_interval32 sndrv_interval3248,1371 -struct sndrv_pcm_hw_params32 sndrv_pcm_hw_params3256,1493 -#define numberof(numberof72,2024 -#define CVT_sndrv_pcm_hw_params(CVT_sndrv_pcm_hw_params74,2067 -struct sndrv_pcm_sw_params32 sndrv_pcm_sw_params3297,2551 -#define CVT_sndrv_pcm_sw_params(CVT_sndrv_pcm_sw_params111,2825 -struct sndrv_pcm_channel_info32 sndrv_pcm_channel_info32125,3082 -#define CVT_sndrv_pcm_channel_info(CVT_sndrv_pcm_channel_info132,3194 -struct sndrv_pcm_status32 sndrv_pcm_status32140,3300 -#define CVT_sndrv_pcm_status(CVT_sndrv_pcm_status154,3575 -struct sndrv_xferi32 sndrv_xferi32179,4085 -static int _snd_ioctl32_xferi(185,4172 -struct sndrv_xfern32 sndrv_xfern32213,4970 -static int _snd_ioctl32_xfern(225,5385 -struct sndrv_pcm_hw_params_old32 sndrv_pcm_hw_params_old32291,7158 -#define __OLD_TO_NEW_MASK(__OLD_TO_NEW_MASK307,7544 -#define __NEW_TO_OLD_MASK(__NEW_TO_OLD_MASK308,7601 -static void snd_pcm_hw_convert_from_old_params(310,7659 -static void snd_pcm_hw_convert_to_old_params(328,8334 -static int _snd_ioctl32_pcm_hw_params_old(346,9009 -struct sndrv_pcm_mmap_status32 sndrv_pcm_mmap_status32382,10010 -struct sndrv_pcm_mmap_control32 sndrv_pcm_mmap_control32390,10161 -struct sndrv_pcm_sync_ptr32 sndrv_pcm_sync_ptr32395,10254 -#define CVT_sndrv_pcm_sync_ptr(CVT_sndrv_pcm_sync_ptr407,10498 -#define AP(AP443,11955 - SNDRV_PCM_IOCTL_HW_REFINE32 446,11993 - SNDRV_PCM_IOCTL_HW_REFINE32 = _IOWR(446,11993 - SNDRV_PCM_IOCTL_HW_REFINE32 = _IOWR('A', 0x10,446,11993 - SNDRV_PCM_IOCTL_HW_REFINE32 = _IOWR('A', 0x10, struct sndrv_pcm_hw_params32)446,11993 - SNDRV_PCM_IOCTL_HW_PARAMS32 447,12072 - SNDRV_PCM_IOCTL_HW_PARAMS32 = _IOWR(447,12072 - SNDRV_PCM_IOCTL_HW_PARAMS32 = _IOWR('A', 0x11,447,12072 - SNDRV_PCM_IOCTL_HW_PARAMS32 = _IOWR('A', 0x11, struct sndrv_pcm_hw_params32)447,12072 - SNDRV_PCM_IOCTL_SW_PARAMS32 448,12151 - SNDRV_PCM_IOCTL_SW_PARAMS32 = _IOWR(448,12151 - SNDRV_PCM_IOCTL_SW_PARAMS32 = _IOWR('A', 0x13,448,12151 - SNDRV_PCM_IOCTL_SW_PARAMS32 = _IOWR('A', 0x13, struct sndrv_pcm_sw_params32)448,12151 - SNDRV_PCM_IOCTL_STATUS32 449,12230 - SNDRV_PCM_IOCTL_STATUS32 = _IOR(449,12230 - SNDRV_PCM_IOCTL_STATUS32 = _IOR('A', 0x20,449,12230 - SNDRV_PCM_IOCTL_STATUS32 = _IOR('A', 0x20, struct sndrv_pcm_status32)449,12230 - SNDRV_PCM_IOCTL_DELAY32 450,12302 - SNDRV_PCM_IOCTL_DELAY32 = _IOR(450,12302 - SNDRV_PCM_IOCTL_DELAY32 = _IOR('A', 0x21,450,12302 - SNDRV_PCM_IOCTL_DELAY32 = _IOR('A', 0x21, s32)450,12302 - SNDRV_PCM_IOCTL_CHANNEL_INFO32 451,12351 - SNDRV_PCM_IOCTL_CHANNEL_INFO32 = _IOR(451,12351 - SNDRV_PCM_IOCTL_CHANNEL_INFO32 = _IOR('A', 0x32,451,12351 - SNDRV_PCM_IOCTL_CHANNEL_INFO32 = _IOR('A', 0x32, struct sndrv_pcm_channel_info32)451,12351 - SNDRV_PCM_IOCTL_REWIND32 452,12435 - SNDRV_PCM_IOCTL_REWIND32 = _IOW(452,12435 - SNDRV_PCM_IOCTL_REWIND32 = _IOW('A', 0x46,452,12435 - SNDRV_PCM_IOCTL_REWIND32 = _IOW('A', 0x46, u32)452,12435 - SNDRV_PCM_IOCTL_WRITEI_FRAMES32 453,12485 - SNDRV_PCM_IOCTL_WRITEI_FRAMES32 = _IOW(453,12485 - SNDRV_PCM_IOCTL_WRITEI_FRAMES32 = _IOW('A', 0x50,453,12485 - SNDRV_PCM_IOCTL_WRITEI_FRAMES32 = _IOW('A', 0x50, struct sndrv_xferi32)453,12485 - SNDRV_PCM_IOCTL_READI_FRAMES32 454,12559 - SNDRV_PCM_IOCTL_READI_FRAMES32 = _IOR(454,12559 - SNDRV_PCM_IOCTL_READI_FRAMES32 = _IOR('A', 0x51,454,12559 - SNDRV_PCM_IOCTL_READI_FRAMES32 = _IOR('A', 0x51, struct sndrv_xferi32)454,12559 - SNDRV_PCM_IOCTL_WRITEN_FRAMES32 455,12632 - SNDRV_PCM_IOCTL_WRITEN_FRAMES32 = _IOW(455,12632 - SNDRV_PCM_IOCTL_WRITEN_FRAMES32 = _IOW('A', 0x52,455,12632 - SNDRV_PCM_IOCTL_WRITEN_FRAMES32 = _IOW('A', 0x52, struct sndrv_xfern32)455,12632 - SNDRV_PCM_IOCTL_READN_FRAMES32 456,12706 - SNDRV_PCM_IOCTL_READN_FRAMES32 = _IOR(456,12706 - SNDRV_PCM_IOCTL_READN_FRAMES32 = _IOR('A', 0x53,456,12706 - SNDRV_PCM_IOCTL_READN_FRAMES32 = _IOR('A', 0x53, struct sndrv_xfern32)456,12706 - SNDRV_PCM_IOCTL_HW_REFINE_OLD32 457,12779 - SNDRV_PCM_IOCTL_HW_REFINE_OLD32 = _IOWR(457,12779 - SNDRV_PCM_IOCTL_HW_REFINE_OLD32 = _IOWR('A', 0x10,457,12779 - SNDRV_PCM_IOCTL_HW_REFINE_OLD32 = _IOWR('A', 0x10, struct sndrv_pcm_hw_params_old32)457,12779 - SNDRV_PCM_IOCTL_HW_PARAMS_OLD32 458,12866 - SNDRV_PCM_IOCTL_HW_PARAMS_OLD32 = _IOWR(458,12866 - SNDRV_PCM_IOCTL_HW_PARAMS_OLD32 = _IOWR('A', 0x11,458,12866 - SNDRV_PCM_IOCTL_HW_PARAMS_OLD32 = _IOWR('A', 0x11, struct sndrv_pcm_hw_params_old32)458,12866 - SNDRV_PCM_IOCTL_SYNC_PTR32 459,12953 - SNDRV_PCM_IOCTL_SYNC_PTR32 = _IOWR(459,12953 - SNDRV_PCM_IOCTL_SYNC_PTR32 = _IOWR('A', 0x23,459,12953 - SNDRV_PCM_IOCTL_SYNC_PTR32 = _IOWR('A', 0x23, struct sndrv_pcm_sync_ptr)459,12953 -struct ioctl32_mapper pcm_mappers[463,13033 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/ioctl32.c,1662 -int snd_ioctl32_register(46,1488 -void snd_ioctl32_unregister(59,1729 -int snd_ioctl32_compat(75,1980 -struct sndrv_ctl_elem_list32 sndrv_ctl_elem_list3287,2230 -#define CVT_sndrv_ctl_elem_list(CVT_sndrv_ctl_elem_list96,2391 -static int _snd_ioctl32_ctl_elem_list(105,2506 -struct sndrv_ctl_elem_info32 sndrv_ctl_elem_info32144,3611 -static int _snd_ioctl32_ctl_elem_info(171,4053 -struct sndrv_ctl_elem_value32 sndrv_ctl_elem_value32226,5880 -static int get_ctl_type(253,6456 -static int _snd_ioctl32_ctl_elem_value(277,6926 -#define AP(AP386,9997 - SNDRV_CTL_IOCTL_ELEM_LIST32 389,10035 - SNDRV_CTL_IOCTL_ELEM_LIST32 = _IOWR(389,10035 - SNDRV_CTL_IOCTL_ELEM_LIST32 = _IOWR('U', 0x10,389,10035 - SNDRV_CTL_IOCTL_ELEM_LIST32 = _IOWR('U', 0x10, struct sndrv_ctl_elem_list32)389,10035 - SNDRV_CTL_IOCTL_ELEM_INFO32 390,10114 - SNDRV_CTL_IOCTL_ELEM_INFO32 = _IOWR(390,10114 - SNDRV_CTL_IOCTL_ELEM_INFO32 = _IOWR('U', 0x11,390,10114 - SNDRV_CTL_IOCTL_ELEM_INFO32 = _IOWR('U', 0x11, struct sndrv_ctl_elem_info32)390,10114 - SNDRV_CTL_IOCTL_ELEM_READ32 391,10193 - SNDRV_CTL_IOCTL_ELEM_READ32 = _IOWR(391,10193 - SNDRV_CTL_IOCTL_ELEM_READ32 = _IOWR('U', 0x12,391,10193 - SNDRV_CTL_IOCTL_ELEM_READ32 = _IOWR('U', 0x12, struct sndrv_ctl_elem_value32)391,10193 - SNDRV_CTL_IOCTL_ELEM_WRITE32 392,10273 - SNDRV_CTL_IOCTL_ELEM_WRITE32 = _IOWR(392,10273 - SNDRV_CTL_IOCTL_ELEM_WRITE32 = _IOWR('U', 0x13,392,10273 - SNDRV_CTL_IOCTL_ELEM_WRITE32 = _IOWR('U', 0x13, struct sndrv_ctl_elem_value32)392,10273 -static struct ioctl32_mapper control_mappers[395,10358 -static void snd_ioctl32_done(428,11547 -static int __init snd_ioctl32_init(440,11929 -module_init(453,12316 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/timer32.c,728 -struct sndrv_timer_info32 sndrv_timer_info3230,1041 -#define CVT_sndrv_timer_info(CVT_sndrv_timer_info40,1206 -struct sndrv_timer_status32 sndrv_timer_status3249,1389 -#define CVT_sndrv_timer_status(CVT_sndrv_timer_status58,1538 -#define AP(AP77,1917 - SNDRV_TIMER_IOCTL_INFO32 80,1955 - SNDRV_TIMER_IOCTL_INFO32 = _IOR(80,1955 - SNDRV_TIMER_IOCTL_INFO32 = _IOR('T', 0x11,80,1955 - SNDRV_TIMER_IOCTL_INFO32 = _IOR('T', 0x11, struct sndrv_timer_info32)80,1955 - SNDRV_TIMER_IOCTL_STATUS32 81,2027 - SNDRV_TIMER_IOCTL_STATUS32 = _IOW(81,2027 - SNDRV_TIMER_IOCTL_STATUS32 = _IOW('T', 0x14,81,2027 - SNDRV_TIMER_IOCTL_STATUS32 = _IOW('T', 0x14, struct sndrv_timer_status32)81,2027 -struct ioctl32_mapper timer_mappers[84,2107 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/hwdep32.c,416 -struct sndrv_hwdep_dsp_image32 sndrv_hwdep_dsp_image3229,1015 -static int _snd_ioctl32_hwdep_dsp_image(37,1184 -#define AP(AP61,1992 - SNDRV_HWDEP_IOCTL_DSP_LOAD32 64,2030 - SNDRV_HWDEP_IOCTL_DSP_LOAD32 = _IOW(64,2030 - SNDRV_HWDEP_IOCTL_DSP_LOAD32 = _IOW('H', 0x03,64,2030 - SNDRV_HWDEP_IOCTL_DSP_LOAD32 = _IOW('H', 0x03, struct sndrv_hwdep_dsp_image32)64,2030 -struct ioctl32_mapper hwdep_mappers[67,2116 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/ioctl32/rawmidi32.c,790 -struct sndrv_rawmidi_params32 sndrv_rawmidi_params3230,1046 -#define CVT_sndrv_rawmidi_params(CVT_sndrv_rawmidi_params38,1237 -struct sndrv_rawmidi_status32 sndrv_rawmidi_status3246,1362 -#define CVT_sndrv_rawmidi_status(CVT_sndrv_rawmidi_status54,1520 -#define AP(AP69,1897 - SNDRV_RAWMIDI_IOCTL_PARAMS32 72,1935 - SNDRV_RAWMIDI_IOCTL_PARAMS32 = _IOWR(72,1935 - SNDRV_RAWMIDI_IOCTL_PARAMS32 = _IOWR('W', 0x10,72,1935 - SNDRV_RAWMIDI_IOCTL_PARAMS32 = _IOWR('W', 0x10, struct sndrv_rawmidi_params32)72,1935 - SNDRV_RAWMIDI_IOCTL_STATUS32 73,2016 - SNDRV_RAWMIDI_IOCTL_STATUS32 = _IOWR(73,2016 - SNDRV_RAWMIDI_IOCTL_STATUS32 = _IOWR('W', 0x20,73,2016 - SNDRV_RAWMIDI_IOCTL_STATUS32 = _IOWR('W', 0x20, struct sndrv_rawmidi_status32)73,2016 -struct ioctl32_mapper rawmidi_mappers[76,2101 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/core/misc.c,92 -int snd_task_name(28,962 -void snd_verbose_printk(40,1288 -void snd_verbose_printd(61,1828 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/sound_core.c,967 -#define SOUND_STEP 50,1693 -struct sound_unitsound_unit53,1717 -struct class_simple *sound_class;68,1981 -static int __sound_insert_unit(76,2166 -static struct sound_unit *__sound_remove_unit(129,2988 -static spinlock_t sound_loader_lock 149,3333 -static int sound_insert_unit(156,3503 -static void sound_remove_unit(192,4392 -static struct sound_unit *chains[227,5058 -int register_sound_special(239,5424 -int register_sound_mixer(312,6868 -int register_sound_midi(330,7417 -int register_sound_dsp(356,8195 -int register_sound_synth(375,8744 -void unregister_sound_special(393,9199 -void unregister_sound_mixer(408,9575 -void unregister_sound_midi(423,9934 -void unregister_sound_dsp(440,10366 -void unregister_sound_synth(456,10732 -static struct file_operations soundcore_fops=469,10954 -static struct sound_unit *__look_for_unit(476,11111 -int soundcore_open(490,11329 -static void __exit cleanup_soundcore(559,13178 -static int __init init_soundcore(568,13407 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/parisc/harmony.c,4398 -# define DPRINTK 87,3220 -# define DPRINTK(DPRINTK89,3251 -#define PFX 92,3283 -#define MAX_PCM_DEVICES 94,3308 -#define MAX_PCM_SUBSTREAMS 95,3335 -#define MAX_MIDI_DEVICES 96,3364 -#define HARMONY_BUF_SIZE 98,3392 -#define MAX_BUFS 99,3422 -#define MAX_BUFFER_SIZE 100,3443 -#define GRAVEYARD_BUFS 103,3543 -#define SILENCE_BUFS 104,3569 -#define HARMONY_CNTL_C 106,3594 -#define HARMONY_DSTATUS_PN 108,3630 -#define HARMONY_DSTATUS_RN 109,3668 -#define HARMONY_DSTATUS_IE 110,3706 -#define HARMONY_DF_16BIT_LINEAR 112,3745 -#define HARMONY_DF_8BIT_ULAW 113,3788 -#define HARMONY_DF_8BIT_ALAW 114,3828 -#define HARMONY_SS_MONO 116,3869 -#define HARMONY_SS_STEREO 117,3905 -#define HARMONY_GAIN_TOTAL_SILENCE 124,4031 -#define HARMONY_GAIN_DEFAULT 129,4156 -static int index[133,4255 -static char *id[134,4324 -static int enable[135,4397 -static int boot_devs;136,4452 -#define REG_ID 146,4847 -#define REG_RESET 147,4868 -#define REG_CNTL 148,4891 -#define REG_GAINCTL 149,4913 -#define REG_PNXTADD 150,4938 -#define REG_PCURADD 151,4963 -#define REG_RNXTADD 152,4988 -#define REG_RCURADD 153,5013 -#define REG_DSTATUS 154,5038 -#define REG_OV 155,5063 -#define REG_PIO 156,5084 -#define REG_DIAG 157,5106 -typedef struct snd_card_harmony snd_card_harmony163,5163 -} snd_card_harmony_t;snd_card_harmony_t214,6286 -static snd_card_t *snd_harmony_cards[216,6309 -static inline void snd_harmony_wait_cntl(219,6418 -static unsigned int snd_card_harmony_rates[234,6720 -static snd_pcm_hw_constraint_list_t hw_constraint_rates 241,6870 -#define HARMONY_SR_8KHZ 247,7025 -#define HARMONY_SR_16KHZ 248,7055 -#define HARMONY_SR_27KHZ 249,7085 -#define HARMONY_SR_32KHZ 250,7115 -#define HARMONY_SR_48KHZ 251,7145 -#define HARMONY_SR_9KHZ 252,7175 -#define HARMONY_SR_5KHZ 253,7205 -#define HARMONY_SR_11KHZ 254,7235 -#define HARMONY_SR_18KHZ 255,7265 -#define HARMONY_SR_22KHZ 256,7295 -#define HARMONY_SR_37KHZ 257,7325 -#define HARMONY_SR_44KHZ 258,7355 -#define HARMONY_SR_33KHZ 259,7385 -#define HARMONY_SR_6KHZ 260,7415 -static unsigned int rate_bits[263,7512 -static unsigned int snd_card_harmony_rate_bits(275,7928 -void snd_harmony_update_control(289,8308 -static void snd_harmony_disable_interrupts(310,8781 -static void snd_harmony_enable_interrupts(316,8927 -static int snd_card_harmony_interrupt(327,9210 -static void snd_harmony_proc_read(392,10999 -static void __devinit snd_harmony_proc_init(430,13196 -static int snd_card_harmony_playback_ioctl(442,13454 -static int snd_card_harmony_capture_ioctl(449,13638 -static int snd_card_harmony_playback_trigger(456,13805 -static int snd_card_harmony_capture_trigger(486,14659 -static int snd_harmony_set_data_format(515,15415 -static int snd_card_harmony_playback_prepare(538,16082 -static int snd_card_harmony_capture_prepare(569,17124 -static snd_pcm_uframes_t snd_card_harmony_capture_pointer(599,18018 -static snd_pcm_uframes_t snd_card_harmony_playback_pointer(619,18540 -static snd_pcm_hardware_t snd_card_harmony_playback 638,19226 -static snd_pcm_hardware_t snd_card_harmony_capture 659,19905 -static int snd_card_harmony_playback_open(680,20583 -static int snd_card_harmony_capture_open(696,21077 -static int snd_card_harmony_playback_close(711,21565 -static int snd_card_harmony_capture_close(726,21933 -static int snd_card_harmony_hw_params(741,22299 -static int snd_card_harmony_hw_free(754,22789 -static snd_pcm_ops_t snd_card_harmony_playback_ops 760,22912 -static snd_pcm_ops_t snd_card_harmony_capture_ops 771,23330 -static int snd_card_harmony_pcm_init(782,23740 -static void snd_harmony_set_new_gain(865,26105 -#define HARMONY_VOLUME(HARMONY_VOLUME874,26423 -static int snd_harmony_mixercontrol_info(880,26755 -static int snd_harmony_volume_get(893,27239 -static int snd_harmony_volume_put(918,28033 -#define HARMONY_CONTROLS 945,29038 -static snd_kcontrol_new_t snd_harmony_controls[947,29122 -static void __init snd_harmony_reset_codec(953,29338 -static void __init snd_harmony_mixer_reset(965,29610 -static int __init snd_card_harmony_mixer_init(975,29895 -static int snd_card_harmony_create(993,30336 -static int __init snd_card_harmony_probe(1032,31361 -static struct parisc_device_id snd_card_harmony_devicetbl[1088,32802 -static struct parisc_driver snd_card_harmony_driver 1106,33555 -static int __init alsa_card_harmony_init(1112,33722 -static void __exit alsa_card_harmony_exit(1124,33951 -module_init(1142,34415 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/last.c,85 -#define SNDRV_MAIN_OBJECT_FILE22,842 -static int __init alsa_sound_last_init(27,948 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/vx/vxp440.c,27 -#define COMPILE_VXP4401,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/vx/vxp_mixer.c,432 -#define MIC_LEVEL_MIN 28,967 -#define MIC_LEVEL_MAX 29,991 -static int vx_mic_level_info(34,1059 -static int vx_mic_level_get(43,1295 -static int vx_mic_level_put(51,1558 -static snd_kcontrol_new_t vx_control_mic_level 66,2039 -static int vx_mic_boost_info(77,2294 -static int vx_mic_boost_get(86,2518 -static int vx_mic_boost_put(94,2781 -static snd_kcontrol_new_t vx_control_mic_boost 109,3262 -int vxp_add_mic_controls(118,3462 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/vx/vxpocket.h,1217 -#define __VXPOCKET_H22,866 -struct snd_vxp_entry snd_vxp_entry31,1019 -struct snd_vxpocket snd_vxpocket51,1388 -#define CDSP_MAGIC 85,2172 -#define VXP_CDSP_CLOCKIN_SEL_MASK 87,2241 -#define VXP_CDSP_DATAIN_SEL_MASK 88,2312 -#define VXP_CDSP_SMPTE_SEL_MASK 89,2376 -#define VXP_CDSP_RESERVED_MASK 90,2414 -#define VXP_CDSP_MIC_SEL_MASK 91,2451 -#define VXP_CDSP_VALID_IRQ_MASK 92,2487 -#define VXP_CDSP_CODEC_RESET_MASK 93,2525 -#define VXP_CDSP_DSP_RESET_MASK 94,2564 -#define P24_CDSP_MICS_SEL_MASK 96,2625 -#define P24_CDSP_MIC20_SEL_MASK 97,2662 -#define P24_CDSP_MIC38_SEL_MASK 98,2700 -#define P44_MEMIRQ_MASTER_SLAVE_SEL_MASK 101,2798 -#define P44_MEMIRQ_SYNCED_ALONE_SEL_MASK 102,2844 -#define P44_MEMIRQ_WCLK_OUT_IN_SEL_MASK 103,2890 -#define P44_MEMIRQ_WCLK_UER_SEL_MASK 104,2951 -#define VXP_DLG_XILINX_REPROG_MASK 109,3099 -#define VXP_DLG_DATA_XICOR_MASK 110,3147 -#define VXP_DLG_RESERVED4_0_MASK 111,3193 -#define VXP_DLG_RESERVED2_0_MASK 112,3231 -#define VXP_DLG_RESERVED1_0_MASK 113,3269 -#define VXP_DLG_DMAWRITE_SEL_MASK 114,3307 -#define VXP_DLG_DMAREAD_SEL_MASK 115,3354 -#define VXP_DLG_MEMIRQ_MASK 116,3400 -#define VXP_DLG_DMA16_SEL_MASK 117,3442 -#define VXP_DLG_ACK_MEMIRQ_MASK 118,3487 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/vx/vx_entry.c,394 -static void vxpocket_release(41,1294 -static int snd_vxpocket_free(55,1602 -static int snd_vxpocket_dev_free(76,2011 -dev_link_t *snd_vxpocket_attach(86,2232 -static int snd_vxpocket_assign_resources(198,5274 -void snd_vxpocket_detach(227,5939 -void snd_vxpocket_detach_all(250,6558 -#define CS_CHECK(CS_CHECK260,6723 -static void vxpocket_config(263,6830 -static int vxpocket_event(316,8414 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/vx/vxp_ops.c,1008 -static int vxp_reg_offset[30,1012 -inline static unsigned long vxp_reg_addr(50,1505 -static unsigned char vxp_inb(60,1760 -static void vxp_outb(70,1977 -#define vx_inb(vx_inb79,2148 -#define vx_outb(vx_outb81,2226 -static int vx_check_magic(89,2433 -#define XX_DSP_RESET_WAIT_TIME 108,2792 -static void vxp_reset_dsp(110,2836 -static void vxp_reset_codec(128,3278 -static int vxp_load_xilinx_binary(147,3842 -static int vxp_load_dsp(245,6361 -static int vxp_test_and_ack(283,7094 -static void vxp_validate_irq(310,7777 -static void vx_setup_pseudo_dma(326,8224 -static void vx_release_pseudo_dma(346,8876 -static void vxp_dma_write(366,9464 -static void vxp_dma_read(405,10508 -static void vxp_write_codec_reg(446,11727 -void vx_set_mic_boost(469,12296 -static int vx_compute_mic_level(496,13012 -void vx_set_mic_level(512,13327 -static void vxp_change_audio_source(532,13764 -static void vxp_set_clock_source(572,14869 -static void vxp_reset_board(587,15192 -struct snd_vx_ops snd_vxpocket_ops 600,15397 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/vx/vxpocket.c,759 -#define CARD_NAME 45,1276 -#define CARD_NAME 47,1314 -static int index[55,1520 -static char *id[56,1589 -static int enable[57,1662 -static unsigned int irq_mask 58,1743 -static int irq_list[59,1782 -static int ibl[60,1815 -static int boot_devs;61,1844 -#define NUM_CODECS 89,2848 -#define CARD_TYPE 90,2869 -#define DEV_INFO 91,2902 -#define NUM_CODECS 101,3109 -#define CARD_TYPE 102,3130 -#define DEV_INFO 103,3165 -static dev_info_t dev_info 107,3206 -static struct snd_vx_hardware vxp_hw 109,3246 -static struct snd_vxp_entry hw_entry 120,3477 -static dev_link_t *vxp_attach(138,3774 -static void vxp_detach(143,3855 -static struct pcmcia_driver vxp_cs_driver 152,3971 -static int __init init_vxpocket(161,4127 -static void __exit exit_vxpocket(166,4218 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c,737 -irqreturn_t pdacf_interrupt(29,961 -static inline void pdacf_transfer_mono16(53,1742 -static inline void pdacf_transfer_mono32(61,1924 -static inline void pdacf_transfer_stereo16(73,2215 -static inline void pdacf_transfer_stereo32(81,2414 -static inline void pdacf_transfer_mono16sw(94,2776 -static inline void pdacf_transfer_mono32sw(102,2968 -static inline void pdacf_transfer_stereo16sw(114,3264 -static inline void pdacf_transfer_stereo32sw(122,3481 -static inline void pdacf_transfer_mono24le(135,3856 -static inline void pdacf_transfer_mono24be(151,4247 -static inline void pdacf_transfer_stereo24le(167,4638 -static inline void pdacf_transfer_stereo24be(187,5205 -static void pdacf_transfer(207,5772 -void pdacf_tasklet(259,7471 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/pdaudiocf/pdaudiocf.h,1629 -#define __PDAUDIOCF_H22,872 -#define PDAUDIOCF_REG_MD 35,1123 -#define PDAUDIOCF_REG_WDP 36,1175 -#define PDAUDIOCF_REG_RDP 37,1240 -#define PDAUDIOCF_REG_TCR 38,1304 -#define PDAUDIOCF_REG_SCR 39,1367 -#define PDAUDIOCF_REG_ISR 40,1450 -#define PDAUDIOCF_REG_IER 41,1509 -#define PDAUDIOCF_REG_AK_IFR 42,1568 -#define PDAUDIOCF_ELIMAKMBIT 45,1660 -#define PDAUDIOCF_TESTDATASEL 46,1726 -#define PDAUDIOCF_AK_SBP 49,1843 -#define PDAUDIOCF_RST 50,1903 -#define PDAUDIOCF_PDN 51,1969 -#define PDAUDIOCF_CLKDIV0 52,2020 -#define PDAUDIOCF_CLKDIV1 53,2104 -#define PDAUDIOCF_RECORD 54,2137 -#define PDAUDIOCF_AK_SDD 55,2199 -#define PDAUDIOCF_RED_LED_OFF 56,2257 -#define PDAUDIOCF_BLUE_LED_OFF 57,2321 -#define PDAUDIOCF_DATAFMT0 58,2387 -#define PDAUDIOCF_DATAFMT1 59,2471 -#define PDAUDIOCF_FPGAREV(PDAUDIOCF_FPGAREV60,2558 -#define PDAUDIOCF_IRQLVL 63,2647 -#define PDAUDIOCF_IRQOVR 64,2702 -#define PDAUDIOCF_IRQAKM 65,2752 -#define PDAUDIOCF_IRQLVLEN0 68,2823 -#define PDAUDIOCF_IRQLVLEN1 69,2919 -#define PDAUDIOCF_IRQOVREN 70,3003 -#define PDAUDIOCF_IRQAKMEN 71,3062 -#define PDAUDIOCF_BLUEDUTY0 72,3117 -#define PDAUDIOCF_BLUEDUTY1 73,3199 -#define PDAUDIOCF_REDDUTY0 74,3259 -#define PDAUDIOCF_REDDUTY1 75,3340 -#define PDAUDIOCF_BLUESDD 76,3400 -#define PDAUDIOCF_BLUEMODULATE 77,3465 -#define PDAUDIOCF_REDMODULATE 78,3551 -#define PDAUDIOCF_HALFRATE 79,3636 -#define PDAUDIOCF_STAT_IS_STALE 82,3750 -#define PDAUDIOCF_STAT_IS_CONFIGURED 83,3789 -#define PDAUDIOCF_STAT_IS_SUSPENDED 84,3833 -} pdacf_t;pdacf_t121,4552 -static inline void pdacf_reg_write(123,4564 -static inline unsigned short pdacf_reg_read(128,4711 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c,682 -static struct page *snd_pcm_get_vmalloc_page(37,1144 -static int snd_pcm_alloc_vmalloc_buffer(47,1413 -static int snd_pcm_free_vmalloc_buffer(66,1892 -static int pdacf_pcm_clear_sram(79,2146 -static int pdacf_pcm_trigger(94,2461 -static int pdacf_pcm_hw_params(149,3836 -static int pdacf_pcm_hw_free(158,4088 -static int pdacf_pcm_prepare(166,4264 -static snd_pcm_hardware_t pdacf_pcm_capture_hw 242,6110 -static int pdacf_pcm_capture_open(272,6989 -static int pdacf_pcm_capture_close(290,7388 -static snd_pcm_uframes_t pdacf_pcm_capture_pointer(305,7665 -static snd_pcm_ops_t pdacf_pcm_capture_ops 314,7856 -static void snd_pdacf_pcm_free(330,8241 -int snd_pdacf_pcm_new(339,8406 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/pdaudiocf/pdaudiocf_core.c,494 -unsigned char pdacf_ak4117_read(31,1010 -void pdacf_ak4117_write(63,1933 -void pdacf_dump(84,2526 -static int pdacf_reset(97,3112 -void pdacf_reinit(120,3647 -static void pdacf_proc_read(130,3992 -static void pdacf_proc_init(142,4357 -pdacf_t *snd_pdacf_create(150,4552 -static void snd_pdacf_ak4117_change(167,4919 -int snd_pdacf_ak4117_create(185,5425 -void snd_pdacf_powerdown(241,7546 -int snd_pdacf_suspend(258,8098 -static inline int check_signal(274,8698 -int snd_pdacf_resume(279,8799 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pcmcia/pdaudiocf/pdaudiocf.c,839 -#define CARD_NAME 35,1121 -static int index[42,1329 -static char *id[43,1398 -static int enable[44,1471 -static unsigned int irq_mask 45,1552 -static int irq_list[46,1591 -static int boot_devs;47,1624 -static dev_info_t dev_info 64,2248 -static snd_card_t *card_list[65,2294 -static dev_link_t *dev_list;66,2337 -static void pdacf_release(75,2563 -static int snd_pdacf_free(89,2868 -static int snd_pdacf_dev_free(106,3157 -static dev_link_t *snd_pdacf_attach(115,3334 -static int snd_pdacf_assign_resources(220,6087 -static void snd_pdacf_detach(255,6894 -static void snd_pdacf_detach_all(280,7562 -#define CS_CHECK(CS_CHECK290,7696 -static void pdacf_config(293,7803 -static int pdacf_event(344,9324 -static struct pcmcia_driver pdacf_cs_driver 400,10796 -static int __init init_pdacf(409,11007 -static void __exit exit_pdacf(414,11097 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/powermac.c,313 -#define CHIP_NAME 30,1046 -static int index 36,1175 -static char *id 37,1233 -static int enable_beep 38,1295 -static snd_card_t *snd_pmac_card 52,1640 -static int __init snd_pmac_probe(57,1690 -static int __init alsa_card_pmac_init(143,3845 -static void __exit alsa_card_pmac_exit(152,3965 -module_init(158,4067 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/awacs.h,3320 -#define __AWACS_H23,892 -struct awacs_regs awacs_regs29,1014 -#define MASK_ISFSEL 47,1530 -#define MASK_OSFSEL 48,1585 -#define MASK_RATE 49,1645 -#define MASK_CNTLERR 50,1691 -#define MASK_PORTCHG 51,1736 -#define MASK_IEE 52,1787 -#define MASK_IEPC 53,1848 -#define MASK_SSFSEL 54,1916 -#define MASK_NEWECMD 58,2058 -#define MASK_EMODESEL 59,2129 -#define MASK_EXMODEADDR 60,2199 -#define MASK_EXMODEDATA 61,2276 -#define MASK_ADDR0 65,2444 -#define MASK_ADDR_MUX 66,2510 -#define MASK_ADDR_GAIN 67,2561 -#define MASK_ADDR1 69,2596 -#define MASK_ADDR_MUTE 70,2662 -#define MASK_ADDR_RATE 71,2696 -#define MASK_ADDR2 73,2731 -#define MASK_ADDR_VOLA 74,2797 -#define MASK_ADDR_VOLHD 75,2868 -#define MASK_ADDR4 77,2904 -#define MASK_ADDR_VOLC 78,2970 -#define MASK_ADDR_VOLSPK 79,3038 -#define MASK_ADDR5 82,3114 -#define MASK_ADDR6 83,3180 -#define MASK_ADDR7 84,3246 -#define MASK_GAINRIGHT 88,3383 -#define MASK_GAINLEFT 89,3435 -#define MASK_GAINLINE 90,3489 -#define MASK_GAINMIC 91,3547 -#define MASK_MUX_CD 92,3603 -#define MASK_MUX_MIC 93,3657 -#define MASK_MUX_AUDIN 94,3714 -#define MASK_MUX_LINE 95,3778 -#define SHIFT_GAINLINE 96,3815 -#define SHIFT_MUX_CD 97,3840 -#define SHIFT_MUX_MIC 98,3863 -#define SHIFT_MUX_LINE 99,3888 -#define GAINRIGHT(GAINRIGHT101,3915 -#define GAINLEFT(GAINLEFT102,3959 -#define MASK_ADDR1RES1 106,4061 -#define MASK_RECALIBRATE 107,4106 -#define MASK_SAMPLERATE 108,4160 -#define MASK_LOOPTHRU 109,4214 -#define SHIFT_LOOPTHRU 110,4272 -#define MASK_CMUTE 111,4297 -#define MASK_SPKMUTE 112,4364 -#define SHIFT_SPKMUTE 113,4396 -#define MASK_ADDR1RES2 114,4420 -#define MASK_AMUTE 115,4469 -#define MASK_HDMUTE 116,4538 -#define SHIFT_HDMUTE 117,4569 -#define MASK_PAROUT 118,4592 -#define SAMPLERATE_48000 120,4650 -#define SAMPLERATE_32000 121,4707 -#define SAMPLERATE_24000 122,4764 -#define SAMPLERATE_19200 123,4822 -#define SAMPLERATE_16000 124,4882 -#define SAMPLERATE_12000 125,4939 -#define SAMPLERATE_9600 126,4998 -#define SAMPLERATE_8000 127,5056 -#define MASK_OUTVOLRIGHT 131,5191 -#define MASK_ADDR2RES1 132,5249 -#define MASK_ADDR4RES1 133,5298 -#define MASK_OUTVOLLEFT 134,5336 -#define MASK_ADDR2RES2 135,5396 -#define MASK_ADDR4RES2 136,5446 -#define VOLRIGHT(VOLRIGHT138,5485 -#define VOLLEFT(VOLLEFT139,5535 -#define MASK_MIC_BOOST 142,5605 -#define SHIFT_MIC_BOOST 143,5670 -#define MASK_EXTEND 147,5775 -#define MASK_VALID 148,5820 -#define MASK_OFLEFT 149,5869 -#define MASK_OFRIGHT 150,5921 -#define MASK_ERRCODE 151,5975 -#define MASK_REVISION 152,6025 -#define MASK_MFGID 153,6081 -#define MASK_CODSTATRES 154,6125 -#define MASK_INPPORT 155,6186 -#define MASK_HDPCONN 156,6231 -#define MASK_CLIPLEFT 160,6353 -#define MASK_CLIPRIGHT 161,6422 -#define MASK_CSERR 165,6562 -#define MASK_EOI 166,6604 -#define MASK_CSUNUSED 167,6677 -#define MASK_WAIT 168,6735 -#define RATE_48000 172,6812 -#define RATE_44100 173,6855 -#define RATE_32000 174,6900 -#define RATE_29400 175,6943 -#define RATE_24000 176,6988 -#define RATE_22050 177,7031 -#define RATE_19200 178,7077 -#define RATE_17640 179,7122 -#define RATE_16000 180,7168 -#define RATE_14700 181,7211 -#define RATE_12000 182,7256 -#define RATE_11025 183,7299 -#define RATE_9600 184,7346 -#define RATE_8820 185,7389 -#define RATE_8000 186,7433 -#define RATE_7350 187,7474 -#define RATE_LOW 189,7519 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/tumbler_volume.h,306 -static unsigned int master_volume_table[4,125 -static unsigned int treble_volume_table[68,2434 -static unsigned int bass_volume_table[98,3021 -static unsigned int mixer_volume_table[128,3610 -static unsigned int snapper_treble_volume_table[193,5564 -static unsigned int snapper_bass_volume_table[223,6158 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/beep.c,513 -struct snd_pmac_beep snd_pmac_beep31,1025 -void snd_pmac_beep_stop(45,1342 -static short beep_wform[59,1697 -#define BEEP_SRATE 94,3111 -#define BEEP_BUFLEN 95,3163 -#define BEEP_VOLUME 96,3187 -static int snd_pmac_beep_event(98,3225 -#define chip_t 172,4996 -static int snd_pmac_info_beep(174,5019 -static int snd_pmac_get_beep(183,5246 -static int snd_pmac_put_beep(191,5490 -static snd_kcontrol_new_t snd_pmac_beep_mixer 201,5798 -int __init snd_pmac_attach_beep(210,6034 -void snd_pmac_detach_beep(254,7030 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/burgundy.h,2005 -#define __BURGUNDY_H23,898 -#define MASK_ADDR_BURGUNDY_INPSEL21 25,920 -#define MASK_ADDR_BURGUNDY_INPSEL3 26,969 -#define MASK_ADDR_BURGUNDY_GAINCH1 28,1018 -#define MASK_ADDR_BURGUNDY_GAINCH2 29,1066 -#define MASK_ADDR_BURGUNDY_GAINCH3 30,1114 -#define MASK_ADDR_BURGUNDY_GAINCH4 31,1162 -#define MASK_ADDR_BURGUNDY_VOLCH1 33,1211 -#define MASK_ADDR_BURGUNDY_VOLCH2 34,1258 -#define MASK_ADDR_BURGUNDY_VOLCH3 35,1305 -#define MASK_ADDR_BURGUNDY_VOLCH4 36,1352 -#define MASK_ADDR_BURGUNDY_OUTPUTSELECTS 38,1400 -#define MASK_ADDR_BURGUNDY_OUTPUTENABLES 39,1454 -#define MASK_ADDR_BURGUNDY_MASTER_VOLUME 41,1509 -#define MASK_ADDR_BURGUNDY_MORE_OUTPUTENABLES 43,1564 -#define MASK_ADDR_BURGUNDY_ATTENSPEAKER 45,1624 -#define MASK_ADDR_BURGUNDY_ATTENLINEOUT 46,1677 -#define MASK_ADDR_BURGUNDY_ATTENHP 47,1730 -#define MASK_ADDR_BURGUNDY_VOLCD 49,1779 -#define MASK_ADDR_BURGUNDY_VOLLINE 50,1840 -#define MASK_ADDR_BURGUNDY_VOLMIC 51,1903 -#define MASK_ADDR_BURGUNDY_VOLMODEM 52,1965 -#define MASK_ADDR_BURGUNDY_GAINCD 54,2030 -#define MASK_ADDR_BURGUNDY_GAINLINE 55,2093 -#define MASK_ADDR_BURGUNDY_GAINMIC 56,2158 -#define MASK_ADDR_BURGUNDY_GAINMODEM 57,2222 -#define DEF_BURGUNDY_INPSEL21 61,2341 -#define DEF_BURGUNDY_INPSEL3 62,2378 -#define DEF_BURGUNDY_GAINCD 64,2415 -#define DEF_BURGUNDY_GAINLINE 65,2450 -#define DEF_BURGUNDY_GAINMIC 66,2487 -#define DEF_BURGUNDY_GAINMODEM 67,2523 -#define DEF_BURGUNDY_VOLCD 70,2605 -#define DEF_BURGUNDY_VOLLINE 71,2645 -#define DEF_BURGUNDY_VOLMIC 72,2687 -#define DEF_BURGUNDY_VOLMODEM 73,2728 -#define DEF_BURGUNDY_OUTPUTSELECTS 75,2772 -#define DEF_BURGUNDY_OUTPUTENABLES 76,2820 -#define DEF_BURGUNDY_MASTER_VOLUME 79,2932 -#define DEF_BURGUNDY_MORE_OUTPUTENABLES 81,2981 -#define DEF_BURGUNDY_ATTENSPEAKER 83,3029 -#define DEF_BURGUNDY_ATTENLINEOUT 84,3070 -#define DEF_BURGUNDY_ATTENHP 85,3111 -#define BURGUNDY_OUTPUT_LEFT 88,3173 -#define BURGUNDY_OUTPUT_RIGHT 89,3207 -#define BURGUNDY_OUTPUT_INTERN 90,3242 -#define BURGUNDY_VOLUME_OFFSET 93,3299 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/awacs.c,3359 -#define PMAC_AMP_AVAIL34,1069 -typedef struct awacs_amp awacs_amp38,1122 -} awacs_amp_t;awacs_amp_t42,1234 -#define CHECK_CUDA_AMP(CHECK_CUDA_AMP44,1250 -static void snd_pmac_screamer_wait(49,1338 -snd_pmac_awacs_write(65,1620 -snd_pmac_awacs_write_reg(81,1988 -snd_pmac_awacs_write_noreg(88,2139 -static void screamer_recalibrate(95,2299 -#define screamer_recalibrate(screamer_recalibrate114,2914 -static void snd_pmac_awacs_set_format(121,3020 -static int snd_pmac_awacs_info_volume(135,3285 -static int snd_pmac_awacs_get_volume(144,3520 -static int snd_pmac_awacs_put_volume(166,4202 -#define AWACS_VOLUME(AWACS_VOLUME196,5041 -static int snd_pmac_awacs_get_switch(206,5393 -static int snd_pmac_awacs_put_switch(224,5936 -#define AWACS_SWITCH(AWACS_SWITCH245,6602 -static void awacs_set_cuda(260,7079 -static void awacs_amp_set_tone(271,7305 -static int awacs_amp_set_vol(285,7625 -static void awacs_amp_set_master(300,8010 -static void awacs_amp_free(310,8196 -static int snd_pmac_awacs_info_volume_amp(323,8397 -static int snd_pmac_awacs_get_volume_amp(332,8636 -static int snd_pmac_awacs_put_volume_amp(344,9105 -static int snd_pmac_awacs_get_switch_amp(358,9671 -static int snd_pmac_awacs_put_switch_amp(370,10146 -static int snd_pmac_awacs_info_tone_amp(384,10706 -static int snd_pmac_awacs_get_tone_amp(393,10943 -static int snd_pmac_awacs_put_tone_amp(404,11324 -static int snd_pmac_awacs_info_master_amp(419,11849 -static int snd_pmac_awacs_get_master_amp(428,12088 -static int snd_pmac_awacs_put_master_amp(437,12373 -#define AMP_CH_SPK 450,12780 -#define AMP_CH_HD 451,12801 -static snd_kcontrol_new_t snd_pmac_awacs_amp_vol[453,12822 -static snd_kcontrol_new_t snd_pmac_awacs_amp_vol[] __initdata 453,12822 -static snd_kcontrol_new_t snd_pmac_awacs_amp_hp_sw __initdata 490,14026 -static snd_kcontrol_new_t snd_pmac_awacs_amp_spk_sw __initdata 499,14318 -static int snd_pmac_screamer_mic_boost_info(514,14676 -static int snd_pmac_screamer_mic_boost_get(523,14915 -static int snd_pmac_screamer_mic_boost_put(541,15371 -static snd_kcontrol_new_t snd_pmac_awacs_mixers[571,16151 -static snd_kcontrol_new_t snd_pmac_awacs_mixers[] __initdata 571,16151 -static snd_kcontrol_new_t snd_pmac_awacs_mixers2[581,16532 -static snd_kcontrol_new_t snd_pmac_awacs_mixers2[] __initdata 581,16532 -static snd_kcontrol_new_t snd_pmac_screamer_mixers2[586,16720 -static snd_kcontrol_new_t snd_pmac_screamer_mixers2[] __initdata 586,16720 -static snd_kcontrol_new_t snd_pmac_awacs_master_sw __initdata 591,16911 -static snd_kcontrol_new_t snd_pmac_awacs_mic_boost[594,17036 -static snd_kcontrol_new_t snd_pmac_awacs_mic_boost[] __initdata 594,17036 -static snd_kcontrol_new_t snd_pmac_screamer_mic_boost[598,17158 -static snd_kcontrol_new_t snd_pmac_screamer_mic_boost[] __initdata 598,17158 -static snd_kcontrol_new_t snd_pmac_awacs_speaker_vol[607,17432 -static snd_kcontrol_new_t snd_pmac_awacs_speaker_vol[] __initdata 607,17432 -static snd_kcontrol_new_t snd_pmac_awacs_speaker_sw __initdata 610,17559 -static int build_mixers(617,17736 -static void awacs_restore_all_regs(632,17998 -static void snd_pmac_awacs_suspend(646,18526 -static void snd_pmac_awacs_resume(652,18676 -static int snd_pmac_awacs_detect_headphone(685,19580 -static int toggle_amp_mute(691,19738 -static void snd_pmac_awacs_update_automute(704,20013 -snd_pmac_awacs_init(749,21211 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/pmac.c,2989 -static int awacs_freqs[49,1598 -static int tumbler_freqs[53,1725 -static int snd_pmac_dbdma_alloc(60,1808 -static void snd_pmac_dbdma_free(72,2166 -unsigned int snd_pmac_rate_index(87,2324 -static inline int another_stream(107,2718 -static int snd_pmac_pcm_hw_params(116,2899 -static int snd_pmac_pcm_hw_free(125,3101 -static pmac_stream_t *snd_pmac_get_stream(134,3256 -snd_pmac_wait_ack(151,3562 -static void snd_pmac_pcm_set_format(162,3807 -inline static void snd_pmac_dma_stop(174,4142 -inline static void snd_pmac_dma_set_command(183,4332 -inline static void snd_pmac_dma_run(191,4485 -static int snd_pmac_pcm_prepare(200,4657 -static int snd_pmac_pcm_trigger(263,6608 -static snd_pcm_uframes_t snd_pmac_pcm_pointer(310,7758 -static int snd_pmac_playback_prepare(333,8328 -static int snd_pmac_playback_trigger(339,8502 -static snd_pcm_uframes_t snd_pmac_playback_pointer(346,8699 -static int snd_pmac_capture_prepare(357,8907 -static int snd_pmac_capture_trigger(363,9079 -static snd_pcm_uframes_t snd_pmac_capture_pointer(370,9273 -static void snd_pmac_pcm_update(380,9518 -static snd_pcm_hardware_t snd_pmac_playback 416,10338 -static snd_pcm_hardware_t snd_pmac_capture 435,10840 -static int snd_pmac_hw_rule_rate(456,11355 -static int snd_pmac_hw_rule_format(474,11868 -static int snd_pmac_pcm_open(486,12224 -static int snd_pmac_pcm_close(556,13972 -static int snd_pmac_playback_open(572,14336 -static int snd_pmac_capture_open(580,14545 -static int snd_pmac_playback_close(588,14751 -static int snd_pmac_capture_close(595,14922 -static snd_pcm_ops_t snd_pmac_playback_ops 605,15099 -static snd_pcm_ops_t snd_pmac_capture_ops 616,15437 -static void pmac_pcm_free(627,15769 -int __init snd_pmac_pcm_new(632,15860 -static void snd_pmac_dbdma_reset(672,16955 -void snd_pmac_beep_dma_start(684,17256 -void snd_pmac_beep_dma_stop(702,17907 -snd_pmac_tx_intr(714,18145 -snd_pmac_rx_intr(723,18320 -snd_pmac_ctrl_intr(732,18494 -static void snd_pmac_sound_feature(758,19261 -#define snd_pmac_sound_feature(snd_pmac_sound_feature777,19782 -static int snd_pmac_free(784,19905 -static int snd_pmac_dev_free(840,21201 -static void __init detect_byte_swap(851,21386 -static int __init snd_pmac_detect(877,21989 -int snd_pmac_boolean_stereo_info(1006,25726 -int snd_pmac_boolean_mono_info(1015,25954 -static int pmac_auto_mute_get(1028,26229 -static int pmac_auto_mute_put(1035,26431 -static int pmac_hp_detect_get(1047,26773 -static snd_kcontrol_new_t auto_mute_controls[1057,27064 -static snd_kcontrol_new_t auto_mute_controls[] __initdata 1057,27064 -int __init snd_pmac_add_automute(1072,27492 -int __init snd_pmac_new(1087,27883 -static int snd_pmac_suspend(1234,32051 -static int snd_pmac_resume(1256,32632 -static pmac_t *sleeping_pmac 1286,33384 -static int snd_pmac_sleep_notify(1288,33422 -static struct pmu_sleep_notifier snd_pmac_sleep_notifier 1306,33751 -static int __init snd_pmac_register_sleep_notifier(1310,33859 -static int snd_pmac_unregister_sleep_notifier(1319,34108 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/daca.c,800 -#define DACA_I2C_ADDR 32,1039 -#define DACA_REG_SR 35,1083 -#define DACA_REG_AVOL 36,1108 -#define DACA_REG_GCFG 37,1135 -#define DACA_VOL_MAX 40,1190 -typedef struct pmac_daca_t pmac_daca_t43,1218 -} pmac_daca_t;pmac_daca_t48,1350 -static int daca_init_client(54,1402 -static int daca_set_volume(68,1816 -static int daca_info_deemphasis(93,2339 -static int daca_get_deemphasis(102,2566 -static int daca_put_deemphasis(112,2847 -static int daca_info_volume(129,3265 -static int daca_get_volume(138,3499 -static int daca_put_volume(149,3818 -#define daca_info_amp 168,4340 -static int daca_get_amp(170,4384 -static int daca_put_amp(180,4654 -static snd_kcontrol_new_t daca_mixers[197,5106 -static void daca_resume(220,5667 -static void daca_cleanup(231,5954 -int __init snd_pmac_daca_init(242,6150 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/keywest.c,389 -static pmac_keywest_t *keywest_ctx;35,1132 -#define I2C_DRIVERID_KEYWEST 38,1170 -struct i2c_driver keywest_driver 43,1333 -#define i2c_device_name(i2c_device_name53,1572 -static int keywest_attach_adapter(56,1619 -static int keywest_detach_client(98,2602 -void snd_pmac_keywest_cleanup(111,2836 -int __init snd_pmac_tumbler_post_init(119,2994 -int __init snd_pmac_keywest_init(131,3228 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/pmac.h,1122 -#define __PMAC_H23,885 -#define PMAC_MAX_FRAGS 45,1309 -#define PMAC_SUPPORT_AUTOMUTE48,1338 -typedef struct snd_pmac pmac_t;pmac_t53,1388 -typedef struct snd_pmac_stream pmac_stream_t;pmac_stream_t54,1420 -typedef struct snd_pmac_beep pmac_beep_t;pmac_beep_t55,1466 -typedef struct snd_pmac_dbdma pmac_dbdma_t;pmac_dbdma_t56,1508 -struct snd_pmac_dbdma snd_pmac_dbdma62,1576 -struct snd_pmac_stream snd_pmac_stream72,1709 -enum snd_pmac_model snd_pmac_model95,2151 - PMAC_AWACS,96,2173 - PMAC_AWACS, PMAC_SCREAMER,96,2173 - PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY,96,2173 - PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA,96,2173 - PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA, PMAC_TUMBLER,96,2173 - PMAC_AWACS, PMAC_SCREAMER, PMAC_BURGUNDY, PMAC_DACA, PMAC_TUMBLER, PMAC_SNAPPER96,2173 -struct snd_pmac snd_pmac99,2258 -typedef struct snd_pmac_keywest snd_pmac_keywest192,4527 -} pmac_keywest_t;pmac_keywest_t198,4673 -#define snd_pmac_keywest_write(snd_pmac_keywest_write202,4792 -#define snd_pmac_keywest_write_byte(snd_pmac_keywest_write_byte203,4899 -#define big_mdelay(big_mdelay211,5230 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/burgundy.c,1461 -snd_pmac_burgundy_busy_wait(34,1101 -snd_pmac_burgundy_extend_wait(44,1342 -snd_pmac_burgundy_wcw(60,1768 -snd_pmac_burgundy_rcw(73,2288 -snd_pmac_burgundy_wcb(106,3264 -snd_pmac_burgundy_rcb(113,3463 -snd_pmac_burgundy_write_volume(134,3914 -snd_pmac_burgundy_read_volume(149,4333 -#define BASE2ADDR(BASE2ADDR171,4780 -#define ADDR2BASE(ADDR2BASE172,4819 -static int snd_pmac_burgundy_info_volume(174,4859 -static int snd_pmac_burgundy_get_volume(183,5097 -static int snd_pmac_burgundy_put_volume(192,5454 -#define BURGUNDY_VOLUME(BURGUNDY_VOLUME205,5990 -static int snd_pmac_burgundy_info_switch_out(214,6327 -static int snd_pmac_burgundy_get_switch_out(224,6627 -static int snd_pmac_burgundy_put_switch_out(237,7149 -#define BURGUNDY_OUTPUT_SWITCH(BURGUNDY_OUTPUT_SWITCH254,7788 -static int snd_pmac_burgundy_info_volume_out(262,8165 -static int snd_pmac_burgundy_get_volume_out(272,8466 -static int snd_pmac_burgundy_put_volume_out(286,8924 -#define BURGUNDY_OUTPUT_VOLUME(BURGUNDY_OUTPUT_VOLUME304,9497 -static snd_kcontrol_new_t snd_pmac_burgundy_mixers[311,9824 -static snd_kcontrol_new_t snd_pmac_burgundy_mixers[] __initdata 311,9824 -static snd_kcontrol_new_t snd_pmac_burgundy_master_sw __initdata 320,10478 -static snd_kcontrol_new_t snd_pmac_burgundy_speaker_sw __initdata 322,10650 -static int snd_pmac_burgundy_detect_headphone(330,10864 -static void snd_pmac_burgundy_update_automute(335,11003 -int __init snd_pmac_burgundy_init(364,11934 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/ppc/tumbler.c,4277 -#define TAS_I2C_ADDR 45,1420 -#define TAS_REG_MCS 48,1463 -#define TAS_REG_DRC 49,1507 -#define TAS_REG_VOL 50,1532 -#define TAS_REG_TREBLE 51,1557 -#define TAS_REG_BASS 52,1585 -#define TAS_REG_INPUT1 53,1611 -#define TAS_REG_INPUT2 54,1639 -#define TAS_REG_PCM 57,1683 -#define TAS_REG_LMIX 60,1734 -#define TAS_REG_RMIX 61,1770 -#define TAS_REG_MCS2 62,1806 -#define TAS_REG_ACS 63,1854 - VOL_IDX_PCM_MONO,67,1949 - VOL_IDX_BASS,68,1988 - VOL_IDX_BASS, VOL_IDX_TREBLE,68,1988 - VOL_IDX_LAST_MONO69,2019 - VOL_IDX_PCM,74,2082 - VOL_IDX_PCM, VOL_IDX_PCM2,74,2082 - VOL_IDX_PCM, VOL_IDX_PCM2, VOL_IDX_ADC,74,2082 - VOL_IDX_LAST_MIX75,2123 -typedef struct pmac_gpio pmac_gpio78,2145 -} pmac_gpio_t;pmac_gpio_t85,2273 -typedef struct pmac_tumbler_t pmac_tumbler_t87,2289 -} pmac_tumbler_t;pmac_tumbler_t101,2692 -static int send_init_client(107,2720 -static int tumbler_init_client(125,3032 -static int snapper_init_client(135,3296 -#define do_gpio_write(do_gpio_write153,3748 -#define do_gpio_read(do_gpio_read155,3844 -#define tumbler_gpio_free(tumbler_gpio_free157,3931 -#define do_gpio_write(do_gpio_write159,3977 -#define do_gpio_read(do_gpio_read160,4032 -static inline void tumbler_gpio_free(161,4075 -static void write_audio_gpio(170,4233 -static int read_audio_gpio(178,4422 -static int tumbler_set_master_volume(190,4614 -static int tumbler_info_master_volume(232,5659 -static int tumbler_get_master_volume(241,5926 -static int tumbler_put_master_volume(251,6269 -static int tumbler_get_master_switch(269,6831 -static int tumbler_put_master_switch(279,7180 -#define TAS3001_DRC_MAX 301,7785 -static int tumbler_set_drc(303,7816 -#define TAS3004_DRC_MAX 334,8358 -static int snapper_set_drc(336,8389 -static int tumbler_info_drc_value(365,8969 -static int tumbler_get_drc_value(376,9307 -static int tumbler_put_drc_value(386,9584 -static int tumbler_get_drc_switch(405,10053 -static int tumbler_put_drc_switch(415,10332 -struct tumbler_mono_vol tumbler_mono_vol439,10831 -static int tumbler_set_mono_volume(447,10936 -static int tumbler_info_mono(469,11500 -static int tumbler_get_mono(480,11822 -static int tumbler_put_mono(491,12191 -static struct tumbler_mono_vol tumbler_pcm_vol_info 509,12738 -static struct tumbler_mono_vol tumbler_bass_vol_info 517,12930 -static struct tumbler_mono_vol tumbler_treble_vol_info 525,13118 -static struct tumbler_mono_vol snapper_bass_vol_info 534,13343 -static struct tumbler_mono_vol snapper_treble_vol_info 542,13547 -#define DEFINE_MONO(DEFINE_MONO551,13762 -#define DEFINE_SNAPPER_MONO(DEFINE_SNAPPER_MONO560,14009 -static int snapper_set_mix_vol1(574,14298 -static int snapper_set_mix_vol(598,14899 -static int snapper_info_mix(608,15154 -static int snapper_get_mix(617,15410 -static int snapper_put_mix(629,15786 -enum { TUMBLER_MUTE_HP,653,16390 -enum { TUMBLER_MUTE_HP, TUMBLER_MUTE_AMP 653,16390 -static int tumbler_get_mute_switch(655,16435 -static int tumbler_put_mute_switch(667,16824 -static int snapper_set_capture_source(688,17453 -static int snapper_info_capture_source(696,17657 -static int snapper_get_capture_source(710,18066 -static int snapper_put_capture_source(720,18356 -#define DEFINE_SNAPPER_MIX(DEFINE_SNAPPER_MIX735,18787 -static snd_kcontrol_new_t tumbler_mixers[748,19025 -static snd_kcontrol_new_t tumbler_mixers[] __initdata 748,19025 -static snd_kcontrol_new_t snapper_mixers[772,19775 -static snd_kcontrol_new_t snapper_mixers[] __initdata 772,19775 -static snd_kcontrol_new_t tumbler_hp_sw __initdata 804,20917 -static snd_kcontrol_new_t tumbler_speaker_sw __initdata 812,21189 -static snd_kcontrol_new_t tumbler_drc_sw __initdata 820,21468 -static int tumbler_detect_headphone(833,21746 -static void check_mute(839,21884 -static struct work_struct device_change;849,22182 -device_change_handler(852,22236 -static void tumbler_update_automute(872,22634 -static irqreturn_t headphone_intr(906,23683 -static struct device_node *find_audio_device(917,23950 -static struct device_node *find_compatible_audio_device(933,24316 -static unsigned long tumbler_find_device(948,24641 -static void tumbler_reset_audio(984,25484 -static void tumbler_resume(998,25798 -static int __init tumbler_init(1031,26813 -static void tumbler_cleanup(1061,27682 -int __init snd_pmac_tumbler_init(1079,28100 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/es1938.c,7466 -#define PCI_VENDOR_ID_ESS 76,2509 -#define PCI_DEVICE_ID_ESS_ES1938 79,2583 -static int index[82,2631 -static char *id[83,2700 -static int enable[84,2773 -static int boot_devs;85,2855 -#define SLIO_REG(SLIO_REG94,3212 -#define SLDM_REG(SLDM_REG96,3273 -#define SLSB_REG(SLSB_REG98,3336 -#define SL_PCI_LEGACYCONTROL 100,3397 -#define SL_PCI_CONFIG 101,3432 -#define SL_PCI_DDMACONTROL 102,3461 -#define ESSIO_REG_AUDIO2DMAADDR 104,3495 -#define ESSIO_REG_AUDIO2DMACOUNT 105,3530 -#define ESSIO_REG_AUDIO2MODE 106,3565 -#define ESSIO_REG_IRQCONTROL 107,3597 -#define ESSDM_REG_DMAADDR 109,3630 -#define ESSDM_REG_DMACOUNT 110,3662 -#define ESSDM_REG_DMACOMMAND 111,3695 -#define ESSDM_REG_DMASTATUS 112,3730 -#define ESSDM_REG_DMAMODE 113,3764 -#define ESSDM_REG_DMACLEAR 114,3796 -#define ESSDM_REG_DMAMASK 115,3829 -#define ESSSB_REG_FMLOWADDR 117,3862 -#define ESSSB_REG_FMHIGHADDR 118,3896 -#define ESSSB_REG_MIXERADDR 119,3931 -#define ESSSB_REG_MIXERDATA 120,3965 -#define ESSSB_IREG_AUDIO1 122,4000 -#define ESSSB_IREG_MICMIX 123,4032 -#define ESSSB_IREG_RECSRC 124,4064 -#define ESSSB_IREG_MASTER 125,4096 -#define ESSSB_IREG_FM 126,4128 -#define ESSSB_IREG_AUXACD 127,4157 -#define ESSSB_IREG_AUXB 128,4189 -#define ESSSB_IREG_PCSPEAKER 129,4220 -#define ESSSB_IREG_LINE 130,4255 -#define ESSSB_IREG_SPATCONTROL 131,4286 -#define ESSSB_IREG_SPATLEVEL 132,4323 -#define ESSSB_IREG_MASTER_LEFT 133,4358 -#define ESSSB_IREG_MASTER_RIGHT 134,4395 -#define ESSSB_IREG_MPU401CONTROL 135,4433 -#define ESSSB_IREG_MICMIXRECORD 136,4471 -#define ESSSB_IREG_AUDIO2RECORD 137,4509 -#define ESSSB_IREG_AUXACDRECORD 138,4547 -#define ESSSB_IREG_FMRECORD 139,4585 -#define ESSSB_IREG_AUXBRECORD 140,4619 -#define ESSSB_IREG_MONO 141,4655 -#define ESSSB_IREG_LINERECORD 142,4686 -#define ESSSB_IREG_MONORECORD 143,4722 -#define ESSSB_IREG_AUDIO2SAMPLE 144,4758 -#define ESSSB_IREG_AUDIO2MODE 145,4796 -#define ESSSB_IREG_AUDIO2FILTER 146,4832 -#define ESSSB_IREG_AUDIO2TCOUNTL 147,4870 -#define ESSSB_IREG_AUDIO2TCOUNTH 148,4908 -#define ESSSB_IREG_AUDIO2CONTROL1 149,4946 -#define ESSSB_IREG_AUDIO2CONTROL2 150,4985 -#define ESSSB_IREG_AUDIO2 151,5024 -#define ESSSB_REG_RESET 153,5057 -#define ESSSB_REG_READDATA 155,5089 -#define ESSSB_REG_WRITEDATA 156,5122 -#define ESSSB_REG_READSTATUS 157,5156 -#define ESSSB_REG_STATUS 159,5192 -#define ESS_CMD_EXTSAMPLERATE 161,5224 -#define ESS_CMD_FILTERDIV 162,5260 -#define ESS_CMD_DMACNTRELOADL 163,5292 -#define ESS_CMD_DMACNTRELOADH 164,5328 -#define ESS_CMD_ANALOGCONTROL 165,5364 -#define ESS_CMD_IRQCONTROL 166,5400 -#define ESS_CMD_DRQCONTROL 167,5433 -#define ESS_CMD_RECLEVEL 168,5466 -#define ESS_CMD_SETFORMAT 169,5497 -#define ESS_CMD_SETFORMAT2 170,5529 -#define ESS_CMD_DMACONTROL 171,5562 -#define ESS_CMD_DMATYPE 172,5595 -#define ESS_CMD_OFFSETLEFT 173,5626 -#define ESS_CMD_OFFSETRIGHT 174,5660 -#define ESS_CMD_READREG 175,5694 -#define ESS_CMD_ENABLEEXT 176,5725 -#define ESS_CMD_PAUSEDMA 177,5757 -#define ESS_CMD_ENABLEAUDIO1 178,5788 -#define ESS_CMD_STOPAUDIO1 179,5823 -#define ESS_CMD_AUDIO1STATUS 180,5856 -#define ESS_CMD_CONTDMA 181,5891 -#define ESS_CMD_TESTIRQ 182,5922 -#define ESS_RECSRC_MIC 184,5954 -#define ESS_RECSRC_AUXACD 185,5980 -#define ESS_RECSRC_AUXB 186,6008 -#define ESS_RECSRC_LINE 187,6035 -#define ESS_RECSRC_NONE 188,6062 -#define DAC1 190,6090 -#define ADC1 191,6108 -#define DAC2 192,6126 -typedef struct _snd_es1938 es1938_t;es1938_t198,6154 -#define SAVED_REG_SIZE 200,6192 -struct _snd_es1938 _snd_es1938202,6258 -static struct pci_device_id snd_es1938_ids[251,7381 -#define RESET_LOOP_TIMEOUT 258,7562 -#define WRITE_LOOP_TIMEOUT 259,7597 -#define GET_LOOP_TIMEOUT 260,7632 -static void snd_es1938_mixer_write(266,7852 -static int snd_es1938_mixer_read(281,8392 -static int snd_es1938_mixer_bits(298,8969 -static void snd_es1938_write_cmd(320,9720 -static int snd_es1938_get_byte(336,10213 -static void snd_es1938_write(350,10654 -static unsigned char snd_es1938_read(365,11183 -static int snd_es1938_bits(383,11786 -static void snd_es1938_reset(407,12570 -static void snd_es1938_reset_fifo(446,13896 -static ratnum_t clocks[452,14017 -static snd_pcm_hw_constraint_ratnums_t hw_constraints_clocks 467,14200 -static void snd_es1938_rate_set(473,14300 -static void snd_es1938_playback1_setdma(500,15060 -static void snd_es1938_playback2_setdma(508,15316 -static void snd_es1938_capture_setdma(523,15758 -static int snd_es1938_capture_trigger(543,16326 -static int snd_es1938_playback1_trigger(564,16748 -static int snd_es1938_playback2_trigger(592,17756 -static int snd_es1938_playback_trigger(613,18169 -static int snd_es1938_capture_prepare(629,18658 -static int snd_es1938_playback1_prepare(677,20178 -static int snd_es1938_playback2_prepare(713,21273 -static int snd_es1938_playback_prepare(755,22564 -static snd_pcm_uframes_t snd_es1938_capture_pointer(767,22820 -static snd_pcm_uframes_t snd_es1938_playback1_pointer(784,23291 -static snd_pcm_uframes_t snd_es1938_playback2_pointer(796,23625 -static snd_pcm_uframes_t snd_es1938_playback_pointer(813,24098 -static int snd_es1938_capture_copy(825,24368 -static int snd_es1938_pcm_hw_params(851,25121 -static int snd_es1938_pcm_hw_free(862,25358 -static snd_pcm_hardware_t snd_es1938_capture 870,25646 -static snd_pcm_hardware_t snd_es1938_playback 891,26414 -static int snd_es1938_capture_open(910,27062 -static int snd_es1938_playback_open(925,27560 -static int snd_es1938_capture_close(950,28214 -static int snd_es1938_playback_close(958,28386 -static snd_pcm_ops_t snd_es1938_playback_ops 976,28708 -static snd_pcm_ops_t snd_es1938_capture_ops 987,29062 -static void snd_es1938_free_pcm(999,29445 -static int __devinit snd_es1938_new_pcm(1004,29542 -static int snd_es1938_info_mux(1031,30290 -static int snd_es1938_get_mux(1047,30748 -static int snd_es1938_put_mux(1054,30981 -static int snd_es1938_info_spatializer_enable(1064,31275 -static int snd_es1938_get_spatializer_enable(1073,31517 -static int snd_es1938_put_spatializer_enable(1081,31790 -static int snd_es1938_info_hw_volume(1096,32247 -static int snd_es1938_get_hw_volume(1105,32481 -static int snd_es1938_info_hw_switch(1113,32796 -static int snd_es1938_get_hw_switch(1122,33029 -static void snd_es1938_hwv_free(1130,33350 -static int snd_es1938_reg_bits(1139,33568 -static int snd_es1938_reg_read(1148,33813 -#define ES1938_SINGLE(ES1938_SINGLE1156,33987 -static int snd_es1938_info_single(1162,34298 -static int snd_es1938_get_single(1173,34626 -static int snd_es1938_put_single(1189,35184 -#define ES1938_DOUBLE(ES1938_DOUBLE1206,35726 -static int snd_es1938_info_double(1212,36123 -static int snd_es1938_get_double(1223,36451 -static int snd_es1938_put_double(1248,37410 -static snd_kcontrol_new_t snd_es1938_controls[1283,38538 -static void snd_es1938_chip_init(1346,41154 -static unsigned char saved_regs[1377,41803 -static int es1938_suspend(1385,42022 -static int es1938_resume(1402,42449 -static int snd_es1938_free(1423,42931 -static int snd_es1938_dev_free(1440,43406 -static int __devinit snd_es1938_create(1446,43534 -static irqreturn_t snd_es1938_interrupt(1515,45597 -#define ES1938_DMA_SIZE 1583,47838 -static int __devinit snd_es1938_mixer(1585,47866 -static int __devinit snd_es1938_probe(1623,48673 -static void __devexit snd_es1938_remove(1706,50764 -static struct pci_driver driver 1712,50897 -static int __init alsa_card_es1938_init(1720,51091 -static void __exit alsa_card_es1938_exit(1725,51176 -module_init(1730,51261 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au8810.c,49 -static struct pci_device_id snd_vortex_ids[3,40 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_eq.h,120 -#define AU88X0_EQ_H2,20 -} auxxEqCoeffSet_t;auxxEqCoeffSet_t18,506 -} eqhw_t;eqhw_t24,699 -} eqlzr_t;eqlzr_t44,1368 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_mixer.c,46 -static int __devinit snd_vortex_mixer(14,208 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_wt.h,722 -#define _AU88X0_WT_H9,306 -#define NR_WT_PB 14,445 -#define WT_BAR(WT_BAR17,516 -#define WT_BANK(WT_BANK18,554 -#define WT_CTRL(WT_CTRL20,604 -#define WT_SRAMP(WT_SRAMP21,671 -#define WT_DSREG(WT_DSREG22,739 -#define WT_MRAMP(WT_MRAMP23,807 -#define WT_GMODE(WT_GMODE24,875 -#define WT_ARAMP(WT_ARAMP25,943 -#define WT_STEREO(WT_STEREO27,1036 -#define WT_MUTE(WT_MUTE28,1122 -#define WT_RUN(WT_RUN29,1202 -#define WT_PARM(WT_PARM33,1413 -#define WT_DELAY(WT_DELAY34,1493 - run 39,1641 - parm0,40,1676 - parm1,41,1716 - parm2,42,1756 - parm3,43,1778 - sramp,44,1859 - mute,45,1880 - gmode,46,1917 - aramp,47,1969 - mramp,48,1990 - ctrl,49,2011 - delay,50,2031 - dsreg,51,2102 -} wt_voice_t;wt_voice_t61,2329 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au8810.h,5619 -#define CHIP_AU88105,47 -#define CARD_NAME 7,68 -#define CARD_NAME_SHORT 8,124 -#define NR_ADB 10,158 -#define NR_WT 11,179 -#define NR_SRC 12,199 -#define NR_A3D 13,220 -#define NR_MIXIN 14,241 -#define NR_MIXOUT 15,263 -#define VORTEX_ADBDMA_STAT 19,301 -#define POS_MASK 20,372 -#define POS_SHIFT 21,401 -#define ADB_SUBBUF_MASK 22,427 -#define ADB_SUBBUF_SHIFT 23,479 -#define VORTEX_ADBDMA_CTRL 24,528 -#define OFFSET_MASK 25,604 -#define OFFSET_SHIFT 26,636 -#define IE_MASK 27,665 -#define IE_SHIFT 28,717 -#define DIR_MASK 29,742 -#define DIR_SHIFT 30,790 -#define FMT_MASK 31,816 -#define FMT_SHIFT 32,845 -#define VORTEX_ADBDMA_BUFCFG0 34,956 -#define VORTEX_ADBDMA_BUFCFG1 35,994 -#define VORTEX_ADBDMA_BUFBASE 36,1032 -#define VORTEX_ADBDMA_START 37,1070 -#define VORTEX_ADBDMA_STATUS 39,1136 -#define VORTEX_WTDMA_CTRL 42,1237 -#define VORTEX_WTDMA_STAT 43,1293 -#define WT_SUBBUF_MASK 44,1353 -#define WT_SUBBUF_SHIFT 45,1384 -#define VORTEX_WTDMA_BUFBASE 46,1416 -#define VORTEX_WTDMA_BUFCFG0 47,1453 -#define VORTEX_WTDMA_BUFCFG1 48,1490 -#define VORTEX_WTDMA_START 49,1527 -#define VORTEX_ADB_SR 52,1604 -#define VORTEX_ADB_RTBASE 53,1667 -#define VORTEX_ADB_RTBASE_COUNT 54,1701 -#define VORTEX_ADB_CHNBASE 55,1737 -#define VORTEX_ADB_CHNBASE_COUNT 56,1772 -#define ROUTE_MASK 57,1808 -#define SOURCE_MASK 58,1835 -#define ADB_MASK 59,1863 -#define ADB_SHIFT 60,1891 -#define OFFSET_ADBDMA 63,1933 -#define OFFSET_SRCIN 64,1961 -#define OFFSET_SRCOUT 65,1988 -#define OFFSET_MIXIN 66,2016 -#define OFFSET_MIXOUT 67,2043 -#define OFFSET_CODECIN 68,2071 -#define OFFSET_CODECOUT 69,2100 -#define OFFSET_SPORTIN 70,2130 -#define OFFSET_SPORTOUT 71,2173 -#define OFFSET_SPDIFOUT 72,2203 -#define OFFSET_EQIN 73,2259 -#define OFFSET_EQOUT 74,2285 -#define OFFSET_XTALKOUT 75,2338 -#define OFFSET_XTALKIN 76,2403 -#define OFFSET_A3DIN 77,2465 -#define OFFSET_A3DOUT 78,2508 -#define OFFSET_EFXIN 79,2577 -#define OFFSET_EFXOUT 80,2620 -#define ADB_DMA(ADB_DMA83,2700 -#define ADB_SRCOUT(ADB_SRCOUT84,2723 -#define ADB_SRCIN(ADB_SRCIN85,2765 -#define ADB_MIXOUT(ADB_MIXOUT86,2805 -#define ADB_MIXIN(ADB_MIXIN87,2847 -#define ADB_CODECIN(ADB_CODECIN88,2887 -#define ADB_CODECOUT(ADB_CODECOUT89,2931 -#define ADB_SPORTIN(ADB_SPORTIN90,2977 -#define ADB_SPORTOUT(ADB_SPORTOUT91,3021 -#define ADB_SPDIFOUT(ADB_SPDIFOUT92,3067 -#define ADB_EQIN(ADB_EQIN93,3113 -#define ADB_EQOUT(ADB_EQOUT94,3151 -#define ADB_A3DOUT(ADB_A3DOUT95,3191 -#define ADB_A3DIN(ADB_A3DIN96,3255 -#define ADB_XTALKIN(ADB_XTALKIN97,3295 -#define ADB_XTALKOUT(ADB_XTALKOUT98,3339 -#define MIX_OUTL 100,3386 -#define MIX_OUTR 101,3410 -#define MIX_INL 102,3434 -#define MIX_INR 103,3459 -#define MIX_DEFIGAIN 104,3484 -#define MIX_DEFOGAIN 105,3527 -#define VORTEX_MIXER_SR 108,3566 -#define VORTEX_MIXER_CLIP 109,3598 -#define VORTEX_MIXER_CHNBASE 110,3632 -#define VORTEX_MIXER_RTBASE 111,3669 -#define MIXER_RTBASE_SIZE 112,3705 -#define VORTEX_MIX_ENIN 113,3737 -#define VORTEX_MIX_SMP 114,3807 -#define VORTEX_MIX_INVOL_A 117,3870 -#define VORTEX_MIX_INVOL_B 118,3915 -#define VORTEX_MIX_VOL_A 119,3961 -#define VORTEX_MIX_VOL_B 120,3994 -#define VOL_MIN 122,4028 -#define VOL_MAX 123,4081 -#define VORTEX_SRC_CHNBASE 126,4156 -#define VORTEX_SRC_RTBASE 127,4192 -#define VORTEX_SRCBLOCK_SR 128,4227 -#define VORTEX_SRC_SOURCE 129,4263 -#define VORTEX_SRC_SOURCESIZE 130,4298 -#define VORTEX_SRC_CONVRATIO 141,4495 -#define VORTEX_SRC_DRIFT0 142,4532 -#define VORTEX_SRC_DRIFT1 143,4567 -#define VORTEX_SRC_DRIFT2 144,4602 -#define VORTEX_SRC_U0 145,4637 -#define U0_SLOWLOCK 146,4669 -#define VORTEX_SRC_U1 147,4697 -#define VORTEX_SRC_U2 148,4729 -#define VORTEX_SRC_DATA 149,4761 -#define VORTEX_SRC_DATA0 150,4808 -#define VORTEX_FIFO_ADBCTRL 153,4854 -#define VORTEX_FIFO_WTCTRL 154,4910 -#define FIFO_RDONLY 155,4945 -#define FIFO_CTRL 156,4977 -#define FIFO_VALID 157,5027 -#define FIFO_EMPTY 158,5058 -#define FIFO_U0 159,5089 -#define FIFO_U1 160,5133 -#define FIFO_SIZE_BITS 161,5162 -#define FIFO_SIZE 162,5188 -#define FIFO_MASK 163,5235 -#define FIFO_BITS 166,5411 -#define VORTEX_FIFO_ADBDATA 167,5441 -#define VORTEX_FIFO_WTDATA 168,5477 -#define VORTEX_CODEC_CTRL 171,5525 -#define VORTEX_CODEC_EN 172,5559 -#define EN_CODEC0 173,5592 -#define EN_AC98 174,5622 -#define EN_CODEC1 175,5675 -#define EN_CODEC 176,5705 -#define EN_SPORT 177,5747 -#define EN_SPDIF 178,5776 -#define VORTEX_CODEC_CHN 180,5806 -#define VORTEX_CODEC_WRITE 181,5840 -#define VORTEX_CODEC_ADDSHIFT 182,5878 -#define VORTEX_CODEC_ADDMASK 183,5912 -#define VORTEX_CODEC_DATSHIFT 184,5967 -#define VORTEX_CODEC_DATMASK 185,5999 -#define VORTEX_CODEC_IO 186,6035 -#define VORTEX_SPDIF_FLAGS 189,6081 -#define VORTEX_SPDIF_CFG0 190,6116 -#define VORTEX_SPDIF_CFG1 191,6150 -#define VORTEX_SPDIF_SMPRATE 192,6184 -#define VORTEX_SMP_TIME 195,6241 -#define VORTEX_MODEM_CTRL 197,6275 -#define VORTEX_IRQ_SOURCE 200,6320 -#define VORTEX_IRQ_CTRL 201,6384 -#define VORTEX_STAT 203,6446 -#define VORTEX_CTRL 205,6488 -#define CTRL_MIDI_EN 206,6517 -#define CTRL_MIDI_PORT 207,6550 -#define CTRL_GAME_EN 208,6585 -#define CTRL_GAME_PORT 209,6618 -#define CTRL_IRQ_ENABLE 211,6696 -#define VORTEX_IRQ_STAT 214,6789 -#define VORTEX_ENGINE_CTRL 217,6833 -#define ENGINE_INIT 218,6868 -#define VORTEX_MIDI_DATA 221,6922 -#define VORTEX_MIDI_CMD 222,6955 -#define VORTEX_CTRL2 224,7023 -#define CTRL2_GAME_ADCMODE 225,7053 -#define VORTEX_GAME_LEGACY 226,7086 -#define VORTEX_GAME_AXIS 227,7121 -#define AXIS_SIZE 228,7154 -#define AXIS_RANGE 229,7175 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_xtalk.h,490 -#define _AU88X0_CXTALK_H29,1182 -#define XTDLINE_SZ 33,1229 -#define XTGAINS_SZ 34,1251 -#define XTINST_SZ 35,1273 -#define XT_HEADPHONE 37,1294 -#define XT_SPEAKER0 38,1317 -#define XT_SPEAKER1 39,1340 -#define XT_DIAMOND 40,1363 -typedef long xtalk_dline_t[xtalk_dline_t42,1386 -typedef short xtalk_gains_t[xtalk_gains_t43,1426 -typedef short xtalk_instate_t[xtalk_instate_t44,1467 -typedef short xtalk_coefs_t[xtalk_coefs_t45,1509 -typedef short xtalk_state_t[xtalk_state_t46,1544 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_xtalk.c,4786 -static short const sXtalkWideKLeftEq 29,1089 -static short const sXtalkWideKRightEq 30,1136 -static short const sXtalkWideKLeftXt 31,1184 -static short const sXtalkWideKRightXt 32,1231 -static short const sXtalkWideShiftLeftEq 33,1279 -static short const sXtalkWideShiftRightEq 34,1325 -static short const sXtalkWideShiftLeftXt 35,1372 -static short const sXtalkWideShiftRightXt 36,1418 -static unsigned short const wXtalkWideLeftDelay 37,1465 -static unsigned short const wXtalkWideRightDelay 38,1520 -static short const sXtalkNarrowKLeftEq 39,1576 -static short const sXtalkNarrowKRightEq 40,1625 -static short const sXtalkNarrowKLeftXt 41,1675 -static short const sXtalkNarrowKRightXt 42,1724 -static short const sXtalkNarrowShiftLeftEq 43,1774 -static short const sXtalkNarrowShiftRightEq 44,1824 -static short const sXtalkNarrowShiftLeftXt 45,1875 -static short const sXtalkNarrowShiftRightXt 46,1923 -static unsigned short const wXtalkNarrowLeftDelay 47,1972 -static unsigned short const wXtalkNarrowRightDelay 48,2029 -static xtalk_gains_t const asXtalkGainsDefault 50,2088 -static xtalk_gains_t const asXtalkGainsTest 55,2216 -static xtalk_gains_t const asXtalkGains1Chan 59,2338 -static xtalk_gains_t const asXtalkGainsAllChan 64,2501 -static xtalk_gains_t const asXtalkGainsZeros 69,2703 -static xtalk_dline_t const alXtalkDlineZeros 73,2786 -static xtalk_dline_t const alXtalkDlineTest 78,2936 -static xtalk_instate_t const asXtalkInStateZeros 84,3124 -static xtalk_instate_t const asXtalkInStateTest 85,3191 -static xtalk_state_t const asXtalkOutStateZeros 87,3281 -static short const sDiamondKLeftEq 94,3410 -static short const sDiamondKRightEq 95,3455 -static short const sDiamondKLeftXt 96,3501 -static short const sDiamondKRightXt 97,3546 -static short const sDiamondShiftLeftEq 98,3592 -static short const sDiamondShiftRightEq 99,3667 -static short const sDiamondShiftLeftXt 100,3712 -static short const sDiamondShiftRightXt 101,3756 -static unsigned short const wDiamondLeftDelay 102,3801 -static unsigned short const wDiamondRightDelay 103,3854 -static xtalk_coefs_t const asXtalkWideCoefsLeftEq 105,3909 -static xtalk_coefs_t const asXtalkWideCoefsRightEq 112,4165 -static xtalk_coefs_t const asXtalkWideCoefsLeftXt 119,4422 -static xtalk_coefs_t const asXtalkWideCoefsRightXt 126,4658 -static xtalk_coefs_t const asXtalkNarrowCoefsLeftEq 133,4895 -static xtalk_coefs_t const asXtalkNarrowCoefsRightEq 141,5144 -static xtalk_coefs_t const asXtalkNarrowCoefsLeftXt 149,5394 -static xtalk_coefs_t const asXtalkNarrowCoefsRightXt 157,5623 -static xtalk_coefs_t const asXtalkCoefsZeros 165,5853 -static xtalk_coefs_t const asXtalkCoefsPipe 172,5994 -static xtalk_coefs_t const asXtalkCoefsNegPipe 179,6160 -static xtalk_coefs_t const asXtalkCoefsNumTest 187,6329 -static xtalk_coefs_t const asXtalkCoefsDenTest 195,6488 -static xtalk_state_t const asXtalkOutStateTest 203,6647 -static xtalk_coefs_t const asDiamondCoefsLeftEq 211,6845 -static xtalk_coefs_t const asDiamondCoefsRightEq 219,7050 -static xtalk_coefs_t const asDiamondCoefsLeftXt 227,7256 -static xtalk_coefs_t const asDiamondCoefsRightXt 235,7441 -vortex_XtalkHw_SetLeftEQ(246,7667 -vortex_XtalkHw_SetRightEQ(263,8212 -vortex_XtalkHw_SetLeftXT(280,8759 -vortex_XtalkHw_SetRightXT(297,9304 -vortex_XtalkHw_SetLeftEQStates(314,9851 -vortex_XtalkHw_SetRightEQStates(333,10481 -vortex_XtalkHw_SetLeftXTStates(352,11100 -vortex_XtalkHw_SetRightXTStates(371,11730 -vortex_XtalkHw_GetLeftEQ(391,12355 -vortex_XtalkHw_GetRightEQ(408,12898 -vortex_XtalkHw_GetLeftXT(425,13443 -vortex_XtalkHw_GetRightXT(442,13986 -vortex_XtalkHw_GetLeftEQStates(459,14531 -vortex_XtalkHw_GetRightEQStates(477,15139 -vortex_XtalkHw_GetLeftXTStates(495,15742 -vortex_XtalkHw_GetRightXTStates(513,16350 -vortex_XtalkHw_SetGains(534,16973 -vortex_XtalkHw_SetGainsAllChan(544,17162 -static void vortex_XtalkHw_GetGains(550,17278 -vortex_XtalkHw_SetDelay(562,17497 -vortex_XtalkHw_SetLeftDline(576,17808 -vortex_XtalkHw_SetRightDline(587,18068 -vortex_XtalkHw_GetDelay(599,18335 -static void vortex_XtalkHw_GetLeftDline(609,18543 -static void vortex_XtalkHw_GetRightDline(620,18801 -static void vortex_XtalkHw_SetControlReg(635,19101 -static void vortex_XtalkHw_GetControlReg(639,19224 -static void vortex_XtalkHw_SetSampleRate(644,19356 -static void vortex_XtalkHw_GetSampleRate(654,19603 -static void vortex_XtalkHw_Enable(660,19736 -static void vortex_XtalkHw_Disable(670,19925 -static void vortex_XtalkHw_ZeroIO(680,20124 -static void vortex_XtalkHw_ZeroState(690,20338 -static void vortex_XtalkHw_ProgramPipe(719,21449 -static void vortex_XtalkHw_ProgramXtalkWide(730,21805 -static void vortex_XtalkHw_ProgramXtalkNarrow(747,22406 -static void vortex_XtalkHw_ProgramDiamondXtalk(766,23047 -static void vortex_XtalkHw_init(782,23668 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au8820.h,5085 -#define CHIP_AU882012,177 -#define CARD_NAME 14,198 -#define CARD_NAME_SHORT 15,251 -#define NR_ADB 18,321 -#define NR_WT 19,342 -#define NR_SRC 20,362 -#define NR_A3D 21,383 -#define NR_MIXIN 22,404 -#define NR_MIXOUT 23,426 -#define VORTEX_ADBDMA_STAT 27,465 -#define POS_MASK 28,536 -#define POS_SHIFT 29,565 -#define ADB_SUBBUF_MASK 30,591 -#define ADB_SUBBUF_SHIFT 31,643 -#define VORTEX_ADBDMA_CTRL 32,692 -#define OFFSET_MASK 33,768 -#define OFFSET_SHIFT 34,800 -#define IE_MASK 35,829 -#define IE_SHIFT 36,881 -#define DIR_MASK 37,906 -#define DIR_SHIFT 38,955 -#define FMT_MASK 39,981 -#define FMT_SHIFT 40,1010 -#define VORTEX_ADBDMA_BUFCFG0 42,1109 -#define VORTEX_ADBDMA_BUFCFG1 43,1147 -#define VORTEX_ADBDMA_BUFBASE 44,1185 -#define VORTEX_ADBDMA_START 45,1223 -#define VORTEX_ADBDMA_STATUS 46,1288 -#define VORTEX_ADB_SR 49,1387 -#define VORTEX_ADB_RTBASE 50,1450 -#define VORTEX_ADB_RTBASE_COUNT 51,1484 -#define VORTEX_ADB_CHNBASE 52,1520 -#define VORTEX_ADB_CHNBASE_COUNT 53,1555 -#define ROUTE_MASK 54,1591 -#define ADB_MASK 55,1618 -#define ADB_SHIFT 56,1646 -#define OFFSET_ADBDMA 59,1718 -#define OFFSET_SRCOUT 60,1746 -#define OFFSET_SRCIN 61,1796 -#define OFFSET_MIXOUT 62,1847 -#define OFFSET_MIXIN 63,1888 -#define OFFSET_CODECIN 64,1926 -#define OFFSET_CODECOUT 65,1972 -#define OFFSET_SPORTOUT 66,2024 -#define OFFSET_SPORTIN 67,2065 -#define OFFSET_EFXOUT 68,2107 -#define OFFSET_EFXIN 69,2146 -#define OFFSET_A3DOUT 70,2186 -#define OFFSET_A3DIN 71,2245 -#define OFFSET_WTOUT 72,2272 -#define ADB_DMA(ADB_DMA75,2340 -#define ADB_SRCOUT(ADB_SRCOUT76,2379 -#define ADB_SRCIN(ADB_SRCIN77,2421 -#define ADB_MIXOUT(ADB_MIXOUT78,2461 -#define ADB_MIXIN(ADB_MIXIN79,2503 -#define ADB_CODECIN(ADB_CODECIN80,2543 -#define ADB_CODECOUT(ADB_CODECOUT81,2587 -#define ADB_SPORTOUT(ADB_SPORTOUT82,2633 -#define ADB_SPORTIN(ADB_SPORTIN83,2679 -#define ADB_A3DOUT(ADB_A3DOUT84,2730 -#define ADB_A3DIN(ADB_A3DIN85,2791 -#define ADB_WTOUT(ADB_WTOUT86,2831 -#define VORTEX_WTDMA_CTRL 89,2886 -#define VORTEX_WTDMA_STAT 90,2942 -#define WT_SUBBUF_MASK 91,3002 -#define WT_SUBBUF_SHIFT 92,3054 -#define VORTEX_WTDMA_BUFBASE 93,3087 -#define VORTEX_WTDMA_BUFCFG0 94,3124 -#define VORTEX_WTDMA_BUFCFG1 95,3161 -#define VORTEX_WTDMA_START 96,3198 -#define VORTEX_WT_BASE 98,3265 -#define VORTEX_MIXER_SR 101,3308 -#define VORTEX_MIXER_CLIP 102,3339 -#define VORTEX_MIXER_CHNBASE 103,3372 -#define VORTEX_MIXER_RTBASE 104,3408 -#define MIXER_RTBASE_SIZE 105,3443 -#define VORTEX_MIX_ENIN 106,3475 -#define VORTEX_MIX_SMP 107,3544 -#define VORTEX_MIX_INVOL_A 110,3585 -#define VORTEX_MIX_INVOL_B 111,3629 -#define VORTEX_MIX_VOL_A 112,3674 -#define VORTEX_MIX_VOL_B 113,3706 -#define VOL_MIN 115,3739 -#define VOL_MAX 116,3792 -#define MIX_DEFIGAIN 122,3961 -#define MIX_DEFOGAIN 123,4004 -#define VORTEX_SRCBLOCK_SR 126,4041 -#define VORTEX_SRC_CHNBASE 127,4075 -#define VORTEX_SRC_RTBASE 128,4109 -#define VORTEX_SRC_SOURCE 129,4142 -#define VORTEX_SRC_SOURCESIZE 130,4175 -#define VORTEX_SRC_U0 131,4212 -#define VORTEX_SRC_DRIFT0 132,4242 -#define VORTEX_SRC_DRIFT1 133,4275 -#define VORTEX_SRC_U1 134,4308 -#define VORTEX_SRC_DRIFT2 135,4338 -#define VORTEX_SRC_U2 136,4371 -#define VORTEX_SRC_DATA 137,4401 -#define VORTEX_SRC_DATA0 138,4433 -#define VORTEX_SRC_CONVRATIO 139,4465 -#define VORTEX_FIFO_ADBCTRL 144,4651 -#define VORTEX_FIFO_WTCTRL 145,4706 -#define FIFO_RDONLY 146,4740 -#define FIFO_CTRL 147,4772 -#define FIFO_VALID 148,4822 -#define FIFO_EMPTY 149,4853 -#define FIFO_U0 150,4884 -#define FIFO_U1 151,4928 -#define FIFO_SIZE_BITS 152,4957 -#define FIFO_SIZE 153,4983 -#define FIFO_MASK 154,5030 -#define VORTEX_FIFO_ADBDATA 155,5097 -#define VORTEX_FIFO_WTDATA 156,5132 -#define VORTEX_CODEC_CTRL 159,5179 -#define VORTEX_CODEC_EN 160,5213 -#define EN_CODEC 161,5245 -#define EN_SPORT 162,5274 -#define EN_SPDIF 163,5303 -#define VORTEX_CODEC_CHN 164,5332 -#define VORTEX_CODEC_WRITE 165,5365 -#define VORTEX_CODEC_ADDSHIFT 166,5403 -#define VORTEX_CODEC_ADDMASK 167,5436 -#define VORTEX_CODEC_DATSHIFT 168,5491 -#define VORTEX_CODEC_DATMASK 169,5523 -#define VORTEX_CODEC_IO 170,5559 -#define VORTEX_SPDIF_FLAGS 172,5592 -#define VORTEX_SPDIF_CFG0 173,5640 -#define VORTEX_SPDIF_CFG1 174,5675 -#define VORTEX_SPDIF_SMPRATE 175,5710 -#define VORTEX_SMP_TIME 178,5767 -#define VORTEX_IRQ_SOURCE 181,5810 -#define VORTEX_IRQ_CTRL 182,5874 -#define VORTEX_STAT 184,5936 -#define VORTEX_CTRL 186,5975 -#define CTRL_MIDI_EN 187,6003 -#define CTRL_MIDI_PORT 188,6036 -#define CTRL_GAME_EN 189,6071 -#define CTRL_GAME_PORT 190,6104 -#define CTRL_IRQ_ENABLE 191,6139 -#define VORTEX_IRQ_STAT 194,6228 -#define VORTEX_DMA_BUFFER 197,6271 -#define VORTEX_ENGINE_CTRL 198,6305 -#define ENGINE_INIT 199,6340 -#define VORTEX_MIDI_DATA 202,6396 -#define VORTEX_MIDI_CMD 203,6429 -#define VORTEX_GAME_LEGACY 204,6495 -#define VORTEX_CTRL2 205,6530 -#define CTRL2_GAME_ADCMODE 206,6559 -#define VORTEX_GAME_AXIS 207,6592 -#define AXIS_SIZE 208,6625 -#define AXIS_RANGE 209,6646 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_a3d.h,2375 -#define _AU88X0_A3D_H26,1042 -#define HRTF_SZ 30,1088 -#define DLINE_SZ 31,1109 -#define CTRLID_HRTF 33,1132 -#define CTRLID_ITD 34,1155 -#define CTRLID_ILD 35,1177 -#define CTRLID_FILTER 36,1199 -#define CTRLID_GAINS 37,1223 -typedef unsigned short int a3d_Hrtf_t[a3d_Hrtf_t40,1275 -typedef unsigned short int a3d_ItdDline_t[a3d_ItdDline_t41,1323 -typedef unsigned short int a3d_atmos_t[a3d_atmos_t42,1376 -typedef unsigned short int a3d_LRGains_t[a3d_LRGains_t43,1419 -typedef unsigned short int a3d_Itd_t[a3d_Itd_t44,1464 -typedef unsigned short int a3d_Ild_t[a3d_Ild_t45,1505 -} a3dsrc_t;a3dsrc_t56,1787 -#define A3D_A_HrtfCurrent 60,1827 -#define A3D_A_GainCurrent 61,1876 -#define A3D_A_GainTarget 62,1910 -#define A3D_A_A12Current 63,1943 -#define A3D_A_A21Target 64,2003 -#define A3D_A_B01Current 65,2061 -#define A3D_A_B10Target 66,2120 -#define A3D_A_B2Current 67,2178 -#define A3D_A_B2Target 68,2237 -#define A3D_A_HrtfTarget 69,2294 -#define A3D_A_ITDCurrent 70,2342 -#define A3D_A_ITDTarget 71,2375 -#define A3D_A_HrtfDelayLine 72,2408 -#define A3D_A_ITDDelayLine 73,2459 -#define A3D_A_HrtfTrackTC 74,2512 -#define A3D_A_GainTrackTC 75,2567 -#define A3D_A_CoeffTrackTC 76,2601 -#define A3D_A_ITDTrackTC 77,2636 -#define A3D_A_x1 78,2669 -#define A3D_A_x2 79,2696 -#define A3D_A_y1 80,2723 -#define A3D_A_y2 81,2750 -#define A3D_A_HrtfOutL 82,2777 -#define A3D_A_HrtfOutR 83,2809 -#define A3D_A_TAIL 84,2841 -#define A3D_B_HrtfCurrent 87,2898 -#define A3D_B_GainCurrent 88,2947 -#define A3D_B_GainTarget 89,2981 -#define A3D_B_A12Current 90,3014 -#define A3D_B_A21Target 91,3047 -#define A3D_B_B01Current 92,3080 -#define A3D_B_B10Target 93,3113 -#define A3D_B_B2Current 94,3146 -#define A3D_B_B2Target 95,3179 -#define A3D_B_HrtfTarget 96,3211 -#define A3D_B_ITDCurrent 97,3259 -#define A3D_B_ITDTarget 98,3292 -#define A3D_B_HrtfDelayLine 99,3325 -#define A3D_B_TAIL 100,3376 -#define A3D_SLICE_BANK_A 103,3461 -#define A3D_SLICE_BANK_B 104,3511 -#define A3D_SLICE_VDBDest 105,3561 -#define A3D_SLICE_VDBSource 106,3610 -#define A3D_SLICE_ABReg 107,3661 -#define A3D_SLICE_CReg 108,3695 -#define A3D_SLICE_Control 109,3728 -#define A3D_SLICE_DebugReserved 110,3763 -#define A3D_SLICE_Pointers 111,3820 -#define A3D_SLICE_TAIL 112,3856 -#define a3d_addrA(a3d_addrA118,3973 -#define a3d_addrB(a3d_addrB119,4049 -#define a3d_addrS(a3d_addrS120,4125 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_eq.c,3399 -#define VORTEX_EQ_BASE 43,1499 -#define VORTEX_EQ_DEST 44,1531 -#define VORTEX_EQ_SOURCE 45,1581 -#define VORTEX_EQ_CTRL 46,1631 -static void vortex_EqHw_SetTimeConsts(49,1696 -static void vortex_EqHw_SetLeftCoefs(55,1858 -static void vortex_EqHw_SetRightCoefs(90,2783 -static void vortex_EqHw_SetLeftStates(125,3712 -static void vortex_EqHw_SetRightStates(142,4204 -static void vortex_EqHw_GetTimeConsts(160,4703 -static void vortex_EqHw_GetLeftCoefs(166,4857 -static void vortex_EqHw_GetRightCoefs(171,4928 -static void vortex_EqHw_GetLeftStates(176,5000 -static void vortex_EqHw_GetRightStates(181,5081 -static void vortex_EqHw_SetBypassGain(188,5186 -static void vortex_EqHw_SetA3DBypassGain(210,5632 -static void vortex_EqHw_SetCurrBypassGain(218,5790 -static void vortex_EqHw_SetCurrA3DBypassGain(225,5943 -vortex_EqHw_SetLeftGainsSingleTarget(234,6118 -vortex_EqHw_SetRightGainsSingleTarget(240,6262 -static void vortex_EqHw_SetLeftGainsTarget(245,6395 -static void vortex_EqHw_SetRightGainsTarget(255,6622 -static void vortex_EqHw_SetLeftGainsCurrent(265,6850 -static void vortex_EqHw_SetRightGainsCurrent(275,7078 -static void vortex_EqHw_GetLeftGainsTarget(286,7313 -static void vortex_EqHw_GetRightGainsTarget(301,7578 -static void vortex_EqHw_GetLeftGainsCurrent(316,7844 -static void vortex_EqHw_GetRightGainsCurrent(331,8110 -static void vortex_EqHw_SetLevels(348,8414 -static void vortex_EqHw_GetLevels(370,8991 -static void vortex_EqHw_SetControlReg(402,9647 -static void vortex_EqHw_SetSampleRate(407,9766 -static void vortex_EqHw_GetControlReg(413,9904 -static void vortex_EqHw_GetSampleRate(418,10025 -static void vortex_EqHw_Enable(424,10155 -static void vortex_EqHw_Disable(429,10258 -static void vortex_EqHw_ZeroIO(435,10389 -static void vortex_EqHw_ZeroA3DIO(444,10622 -static void vortex_EqHw_ZeroState(451,10772 -static void vortex_EqHw_ProgramPipe(478,11734 -vortex_EqHw_Program10Band(493,12237 -static void vortex_EqHw_GetTenBandLevels(510,12773 -static int vortex_Eqlzr_GetLeftGain(527,13152 -static void vortex_Eqlzr_SetLeftGain(538,13341 -static int vortex_Eqlzr_GetRightGain(552,13603 -static void vortex_Eqlzr_SetRightGain(563,13806 -vortex_Eqlzr_GetAllBands(579,14100 -static int vortex_Eqlzr_SetAllBandsFromActiveCoeffSet(600,14494 -vortex_Eqlzr_SetAllBands(611,14750 -vortex_Eqlzr_SetA3dBypassGain(629,15106 -static void vortex_Eqlzr_ProgramA3dBypassGain(646,15465 -static void vortex_Eqlzr_ShutDownA3d(660,15763 -static void vortex_Eqlzr_SetBypass(666,15878 -static void vortex_Eqlzr_ReadAndSetActiveCoefSet(683,16414 -static int vortex_Eqlzr_GetAllPeaks(693,16760 -static auxxEqCoeffSet_t *vortex_Eqlzr_GetActiveCoefSet(705,16999 -static void vortex_Eqlzr_init(712,17141 -static void vortex_Eqlzr_shutdown(744,18058 -snd_vortex_eqtoggle_info(755,18272 -snd_vortex_eqtoggle_get(765,18505 -snd_vortex_eqtoggle_put(778,18792 -static snd_kcontrol_new_t vortex_eqtoggle_kcontrol __devinitdata 791,19136 -snd_vortex_eq_info(803,19458 -snd_vortex_eq_get(813,19695 -snd_vortex_eq_put(827,20082 -static snd_kcontrol_new_t vortex_eq_kcontrol __devinitdata 849,20688 -snd_vortex_peaks_info(861,21002 -snd_vortex_peaks_get(871,21243 -static snd_kcontrol_new_t vortex_levels_kcontrol __devinitdata 888,21638 -static char *EqBandLabels[897,21929 -static char *EqBandLabels[10] __devinitdata 897,21929 -static int vortex_eq_init(911,22182 -static int vortex_eq_free(945,23025 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_eqdata.c,327 -static u16 asEqCoefsZeros[3,20 -static u16 asEqCoefsPipes[16,468 -static auxxEqCoeffSet_t asEqCoefsNormal 35,1091 -static u16 eq_gains_normal[68,2374 -static u16 eq_gains_zero[76,2593 -static u16 eq_gains_current[82,2742 -static u16 eq_states_zero[89,2897 -static u16 asEqOutStateZeros[91,2949 -static long eq_levels[107,3401 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_pcm.c,971 -#define VORTEX_PCM_TYPE(VORTEX_PCM_TYPE31,1053 -static snd_pcm_hardware_t snd_vortex_playback_hw_adb 34,1121 -static snd_pcm_hardware_t snd_vortex_playback_hw_a3d 59,1767 -static snd_pcm_hardware_t snd_vortex_playback_hw_spdif 79,2349 -static snd_pcm_hardware_t snd_vortex_playback_hw_wt 102,3037 -static int snd_vortex_pcm_open(120,3583 -static int snd_vortex_pcm_close(172,5009 -snd_vortex_pcm_hw_params(188,5411 -static int snd_vortex_pcm_hw_free(250,7394 -static int snd_vortex_pcm_prepare(274,8021 -static int snd_vortex_pcm_trigger(305,9006 -static snd_pcm_uframes_t snd_vortex_pcm_pointer(364,10641 -static snd_pcm_ops_t snd_vortex_playback_ops 391,11427 -static char *vortex_pcm_prettyname[407,11841 -static char *vortex_pcm_name[414,11976 -snd_vortex_spdif_info(424,12103 -snd_vortex_spdif_get(439,12591 -snd_vortex_spdif_put(452,12970 -static snd_kcontrol_new_t vortex_spdif_kcontrol __devinitdata 463,13388 -static int __devinit snd_vortex_new_pcm(475,13712 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0.h,1412 -#define __SOUND_AU88X0_H18,767 -#define VORTEX_DMA_MASK 42,1193 -#define hwread(hwread44,1229 -#define hwwrite(hwwrite45,1269 -#define MIDI_CLOCK_DIV 48,1347 -#define MPU401_RESET 50,1407 -#define MPU401_ENTER_UART 51,1434 -#define MPU401_ACK 52,1465 -#define SRC_RATIO(SRC_RATIO55,1541 -#define FIFO_STOP 58,1625 -#define FIFO_START 59,1645 -#define FIFO_PAUSE 60,1666 -#define IRQ_ERR_MASK 63,1704 -#define IRQ_FATAL 64,1732 -#define IRQ_PARITY 65,1757 -#define IRQ_REG 66,1783 -#define IRQ_FIFO 67,1807 -#define IRQ_DMA 68,1831 -#define IRQ_PCMOUT 69,1855 -#define IRQ_TIMER 70,1909 -#define IRQ_MIDI 71,1934 -#define IRQ_MODEM 72,1958 -#define VORTEX_RESOURCE_DMA 75,2003 -#define VORTEX_RESOURCE_SRC 76,2042 -#define VORTEX_RESOURCE_MIXIN 77,2081 -#define VORTEX_RESOURCE_MIXOUT 78,2122 -#define VORTEX_RESOURCE_A3D 79,2164 -#define VORTEX_RESOURCE_LAST 80,2203 -#define VORTEX_IS_QUAD(VORTEX_IS_QUAD83,2306 -#define IS_BAD_CHIP(IS_BAD_CHIP85,2413 -#define VORTEX_PCM_ADB 91,2594 -#define VORTEX_PCM_SPDIF 92,2620 -#define VORTEX_PCM_A3D 93,2647 -#define VORTEX_PCM_WT 94,2673 -#define VORTEX_PCM_I2S 95,2698 -#define VORTEX_PCM_LAST 96,2724 -#define MIX_CAPT(MIX_CAPT98,2752 -#define MIX_PLAYB(MIX_PLAYB99,2793 -#define MIX_SPDIF(MIX_SPDIF100,2836 -#define NR_WTPB 102,2880 -} stream_t;stream_t128,3605 -typedef struct snd_vortex vortex_t;vortex_t130,3618 -struct snd_vortex snd_vortex131,3654 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_mpu401.c,208 -#define VORTEX_MPU401_LEGACY35,1294 -#define MIDI_CLOCK_DIV 39,1360 -#define MPU401_RESET 41,1424 -#define MPU401_ENTER_UART 42,1451 -#define MPU401_ACK 43,1482 -static int __devinit snd_vortex_midi(45,1512 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_a3d.c,2503 -a3dsrc_SetTimeConsts(33,1207 -a3dsrc_GetTimeConsts(49,1724 -a3dsrc_SetAtmosTarget(59,1896 -a3dsrc_SetAtmosCurrent(74,2315 -a3dsrc_SetAtmosState(89,2739 -a3dsrc_GetAtmosTarget(100,3163 -a3dsrc_GetAtmosCurrent(105,3274 -a3dsrc_GetAtmosState(127,3898 -a3dsrc_SetHrtfTarget(136,4014 -a3dsrc_SetHrtfCurrent(149,4315 -a3dsrc_SetHrtfState(162,4618 -static void a3dsrc_SetHrtfOutput(174,4909 -static void a3dsrc_GetHrtfTarget(184,5199 -static void a3dsrc_GetHrtfCurrent(201,5624 -static void a3dsrc_GetHrtfState(218,6052 -static void a3dsrc_GetHrtfOutput(235,6505 -static void a3dsrc_SetItdTarget(253,7137 -static void a3dsrc_SetItdCurrent(271,7565 -static void a3dsrc_SetItdDline(289,7995 -static void a3dsrc_GetItdTarget(301,8304 -static void a3dsrc_GetItdCurrent(312,8607 -static void a3dsrc_GetItdDline(324,8914 -static void a3dsrc_SetGainTarget(339,9263 -static void a3dsrc_SetGainCurrent(347,9488 -static void a3dsrc_GetGainTarget(356,9721 -static void a3dsrc_GetGainCurrent(367,10029 -static void CA3dIO_WriteReg(379,10404 -static void a3dsrc_SetA3DSampleRate(388,10616 -static void a3dsrc_EnableA3D(398,10942 -static void a3dsrc_DisableA3D(406,11178 -static void a3dsrc_SetA3DControlReg(413,11352 -static void a3dsrc_SetA3DPointerReg(419,11544 -static void a3dsrc_GetA3DSampleRate(426,11741 -static void a3dsrc_GetA3DControlReg(434,12005 -static void a3dsrc_GetA3DPointerReg(440,12199 -static void a3dsrc_ZeroSliceIO(447,12399 -static void a3dsrc_ZeroState(463,12763 -static void a3dsrc_ZeroStateA3D(486,13446 -static void a3dsrc_ProgramPipe(510,13894 -static void a3dsrc_ClearVDBData(533,14625 -static void vortex_A3dSourceHw_Initialize(552,15130 -static int Vort3DRend_Initialize(565,15512 -static void vortex_Vort3D(596,16248 -static void vortex_Vort3D_connect(617,16695 -static void vortex_Vort3D_InitializeSource(679,18703 -static void vortex_a3d_coord2hrtf(704,19309 -static void vortex_a3d_coord2itd(709,19407 -static void vortex_a3d_coord2ild(714,19502 -static void vortex_a3d_translate_filter(719,19610 -snd_vortex_a3d_hrtf_info(728,19762 -snd_vortex_a3d_itd_info(737,20012 -snd_vortex_a3d_ild_info(746,20261 -snd_vortex_a3d_filter_info(755,20510 -snd_vortex_a3d_get(766,20769 -snd_vortex_a3d_hrtf_put(775,20975 -snd_vortex_a3d_itd_put(792,21485 -snd_vortex_a3d_ild_put(811,22062 -snd_vortex_a3d_filter_put(828,22517 -static snd_kcontrol_new_t vortex_a3d_kcontrol __devinitdata 848,23167 -static int vortex_a3d_register_controls(858,23488 -static void vortex_a3d_unregister_controls(909,25041 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au8820.c,49 -static struct pci_device_id snd_vortex_ids[3,40 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_synth.c,469 -static void vortex_wt_setstereo(40,1483 -static void vortex_wt_setdsout(52,1904 -static int vortex_wt_allocroute(66,2276 -static void vortex_wt_connect(114,3810 -#define NR_WTROUTES 118,3887 -#define NR_WTBLOCKS 120,3928 -#define NR_WTBLOCKS 122,3956 -static int vortex_wt_GetReg(152,4659 -vortex_wt_SetReg2(168,4966 -vortex_wt_SetReg(192,5526 -static void vortex_wt_init(280,7787 -static void vortex_wt_SetVolume(320,9038 -static void vortex_wt_SetFrequency(353,9891 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_game.c,394 -#define VORTEX_GAME_DWAIT 43,1492 -static unsigned char vortex_game_read(45,1534 -static void vortex_game_trigger(51,1692 -vortex_game_cooked_read(58,1855 -static int vortex_game_open(74,2215 -static int vortex_gameport_register(97,2704 -static int vortex_gameport_unregister(119,3342 -static inline int vortex_gameport_register(130,3531 -static inline int vortex_gameport_unregister(131,3607 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_core.c,4500 -static int mchannels[86,3492 -static int rampchs[87,3524 -static void vortex_mixer_en_sr(89,3555 -static void vortex_mixer_dis_sr(94,3723 -vortex_mix_muteinputgain(102,3912 -static int vortex_mix_getvolume(111,4161 -vortex_mix_getinputvolume(120,4354 -static unsigned int vortex_mix_boost6db(138,4719 -static void vortex_mix_rampvolume(143,4838 -vortex_mix_getenablebit(167,5432 -vortex_mix_setvolumebyte(180,5736 -vortex_mix_setinputvolumebyte(194,6114 -vortex_mix_setenablebit(213,6602 -vortex_mix_killinput(238,7309 -vortex_mix_enableinput(247,7569 -vortex_mix_disableinput(258,7908 -vortex_mixer_addWTD(271,8223 -vortex_mixer_delWTD(299,9065 -static void vortex_mixer_init(377,11235 -static void vortex_src_en_sr(443,12838 -static void vortex_src_dis_sr(449,13011 -static void vortex_src_flushbuffers(455,13186 -static void vortex_src_cleardrift(466,13494 -vortex_src_set_throttlesource(474,13760 -vortex_src_persist_convratio(487,14020 -static void vortex_src_slowlock(504,14403 -vortex_src_change_convratio(517,14769 -vortex_src_checkratio(537,15291 -static void vortex_src_setupchannel(571,16205 -static void vortex_srcblock_init(640,17876 -vortex_src_addWTD(667,18415 -vortex_src_delWTD(699,19440 -vortex_fifo_clearadbdata(779,21552 -static void vortex_fifo_adbinitialize(788,21743 -static void vortex_fifo_setadbvalid(800,22110 -vortex_fifo_setadbctrl(808,22364 -static void vortex_fifo_clearwtdata(879,24549 -static void vortex_fifo_wtinitialize(889,24766 -static void vortex_fifo_setwtvalid(901,25123 -vortex_fifo_setwtctrl(909,25374 -static void vortex_fifo_init(1035,28933 -static void vortex_adbdma_init(1077,30053 -static void vortex_adbdma_setfirstbuffer(1081,30108 -static void vortex_adbdma_setstartbuffer(1089,30306 -vortex_adbdma_setbuffers(1099,30690 -vortex_adbdma_setmode(1154,32343 -static int vortex_adbdma_bufshift(1176,33034 -static int inline vortex_adbdma_getlinearpos(1226,34457 -static void vortex_adbdma_startfifo(1236,34743 -static void vortex_adbdma_resumefifo(1263,35483 -static void vortex_adbdma_pausefifo(1285,36081 -static void vortex_adbdma_stopfifo(1306,36640 -static void vortex_wtdma_setfirstbuffer(1324,37060 -static void vortex_wtdma_setstartbuffer(1332,37275 -vortex_wtdma_setbuffers(1342,37641 -vortex_wtdma_setmode(1386,38998 -static int vortex_wtdma_bufshift(1408,39675 -vortex_wtdma_getposition(1461,40985 -static int vortex_wtdma_getcursubuffer(1469,41223 -static int inline vortex_wtdma_getlinearpos(1475,41398 -static void vortex_wtdma_startfifo(1486,41777 -static void vortex_wtdma_resumefifo(1513,42480 -static void vortex_wtdma_pausefifo(1535,43064 -static void vortex_wtdma_stopfifo(1555,43579 -typedef int ADBRamLink;ADBRamLink1572,43977 -static void vortex_adb_init(1573,44001 -static void vortex_adb_en_sr(1590,44591 -static void vortex_adb_dis_sr(1596,44754 -vortex_adb_addroutes(1603,44931 -vortex_adb_delroutes(1650,46093 -vortex_route(1690,47225 -vortex_routes(1721,48195 -vortex_routeLRT(1755,49354 -vortex_connection_adbdma_src(1804,50845 -vortex_connection_src_mixin(1812,51074 -vortex_connection_mixin_mix(1821,51328 -vortex_connection_adb_mixin(1833,51700 -vortex_connection_src_adbdma(1841,51914 -vortex_connection_src_src_adbdma(1848,52119 -vortex_connection_mix_adb(1859,52404 -vortex_connection_mix_src(1868,52688 -vortex_connection_adbdma_src_src(1877,52970 -vortex_connection_mix_mix_adbdma(1888,53273 -vortex_connect_codecplay(1916,54010 -vortex_connect_codecrec(1950,55292 -static int resnum[1966,55737 -vortex_adb_checkinout(1976,56149 -static void vortex_connect_default(2017,57289 -vortex_adb_allocroute(2075,59363 -vortex_adb_setsrc(2308,65835 -static void vortex_settimer(2328,66306 -static void vortex_enable_timer_int(2335,66483 -static void vortex_disable_timer_int(2341,66638 -static void vortex_enable_int(2348,66795 -static void vortex_disable_int(2357,67071 -static irqreturn_t vortex_interrupt(2363,67213 -#define POLL_COUNT 2446,69318 -static void vortex_codec_init(2447,69342 -vortex_codec_write(2485,70375 -static unsigned short vortex_codec_read(2514,71178 -static void vortex_spdif_init(2559,72331 -static int vortex_core_init(2641,74617 -static int vortex_core_shutdown(2695,75986 -static int vortex_alsafmt_aspfmt(2726,76799 - ASPFMTLINEAR16 2763,77478 - ASPFMTLINEAR8,2764,77509 - ASPFMTULAW,2765,77536 - ASPFMTALAW,2766,77560 - ASPFMTSPORT,2767,77584 - ASPFMTSPDIF,2768,77607 -} ASPENCODING;ASPENCODING2769,77630 -vortex_translateformat(2772,77657 -static void vortex_cdmacore_setformat(2812,78178 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0.c,582 -static int index[26,895 -static char *id[27,946 -static int enable[28,996 -static int pcifix[29,1055 -static int boot_devs;30,1124 -static void vortex_fix_latency(47,1813 -static void vortex_fix_agp_bridge(59,2117 -static void __devinit snd_vortex_workaround(81,2686 -static int snd_vortex_dev_free(116,3875 -snd_vortex_create(135,4337 -snd_vortex_probe(231,6622 -static void __devexit snd_vortex_remove(366,9736 -static struct pci_driver driver 373,9894 -static int __init alsa_card_vortex_init(381,10092 -static void __exit alsa_card_vortex_exit(387,10200 -module_init(392,10285 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au8830.c,49 -static struct pci_device_id snd_vortex_ids[3,40 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_a3ddata.c,457 -static const a3d_Hrtf_t A3dHrirZeros 27,1060 -static const a3d_Hrtf_t A3dHrirImpulse 36,1278 -static const a3d_Hrtf_t A3dHrirOnes 45,1503 -static const a3d_Hrtf_t A3dHrirSatTest 62,2008 -static const a3d_Hrtf_t A3dHrirDImpulse 74,2341 -static const a3d_ItdDline_t A3dItdDlineZeros 83,2567 -static short const GainTCDefault 88,2741 -static short const ItdTCDefault 89,2783 -static short const HrtfTCDefault 90,2824 -static short const CoefTCDefault 91,2866 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au8830.h,6202 -#define CHIP_AU883012,177 -#define CARD_NAME 14,198 -#define CARD_NAME_SHORT 15,253 -#define NR_ADB 17,287 -#define NR_SRC 18,307 -#define NR_A3D 19,327 -#define NR_MIXIN 20,347 -#define NR_MIXOUT 21,369 -#define NR_WT 22,392 -#define VORTEX_ADBDMA_STAT 25,425 -#define POS_MASK 26,496 -#define POS_SHIFT 27,525 -#define ADB_SUBBUF_MASK 28,551 -#define ADB_SUBBUF_SHIFT 29,603 -#define VORTEX_ADBDMA_CTRL 30,652 -#define OFFSET_MASK 31,728 -#define OFFSET_SHIFT 32,760 -#define IE_MASK 33,789 -#define IE_SHIFT 34,841 -#define DIR_MASK 35,866 -#define DIR_SHIFT 36,915 -#define FMT_MASK 37,941 -#define FMT_SHIFT 38,970 -#define ADB_FIFO_EN_SHIFT 39,993 -#define ADB_FIFO_EN 40,1025 -#define VORTEX_ADBDMA_BUFCFG0 42,1148 -#define VORTEX_ADBDMA_BUFCFG1 43,1186 -#define VORTEX_ADBDMA_BUFBASE 44,1224 -#define VORTEX_ADBDMA_START 45,1262 -#define VORTEX_ADBDMA_STATUS 47,1328 -#define VORTEX_ENGINE_CTRL 52,1587 -#define ENGINE_INIT 53,1622 -#define VORTEX_WTDMA_CTRL 56,1666 -#define VORTEX_WTDMA_STAT 57,1722 -#define WT_SUBBUF_MASK 58,1782 -#define WT_SUBBUF_SHIFT 59,1813 -#define VORTEX_WTDMA_BUFBASE 60,1845 -#define VORTEX_WTDMA_BUFCFG0 61,1882 -#define VORTEX_WTDMA_BUFCFG1 62,1919 -#define VORTEX_WTDMA_START 63,1956 -#define VORTEX_ADB_SR 66,2033 -#define VORTEX_ADB_RTBASE 67,2096 -#define VORTEX_ADB_RTBASE_COUNT 68,2130 -#define VORTEX_ADB_CHNBASE 69,2166 -#define VORTEX_ADB_CHNBASE_COUNT 70,2201 -#define ROUTE_MASK 71,2237 -#define SOURCE_MASK 72,2264 -#define ADB_MASK 73,2292 -#define ADB_SHIFT 74,2320 -#define OFFSET_ADBDMA 76,2361 -#define OFFSET_ADBDMAB 77,2389 -#define OFFSET_SRCIN 78,2418 -#define OFFSET_SRCOUT 79,2445 -#define OFFSET_MIXIN 80,2487 -#define OFFSET_MIXOUT 81,2528 -#define OFFSET_CODECIN 82,2570 -#define OFFSET_CODECOUT 83,2630 -#define OFFSET_SPORTIN 84,2691 -#define OFFSET_SPORTOUT 85,2756 -#define OFFSET_SPDIFIN 86,2820 -#define OFFSET_SPDIFOUT 87,2875 -#define OFFSET_AC98IN 88,2929 -#define OFFSET_AC98OUT 89,2983 -#define OFFSET_EQIN 90,3036 -#define OFFSET_EQOUT 91,3077 -#define OFFSET_A3DIN 92,3144 -#define OFFSET_A3DOUT 93,3187 -#define OFFSET_WT0 94,3256 -#define OFFSET_WT1 95,3318 -#define OFFSET_XTALKOUT 98,3481 -#define OFFSET_XTALKIN 99,3555 -#define OFFSET_EFXOUT 100,3628 -#define OFFSET_EFXIN 101,3684 -#define ADB_DMA(ADB_DMA104,3771 -#define ADB_SRCOUT(ADB_SRCOUT105,3794 -#define ADB_SRCIN(ADB_SRCIN106,3836 -#define ADB_MIXOUT(ADB_MIXOUT107,3876 -#define ADB_MIXIN(ADB_MIXIN108,3918 -#define ADB_CODECIN(ADB_CODECIN109,3958 -#define ADB_CODECOUT(ADB_CODECOUT110,4002 -#define ADB_SPORTIN(ADB_SPORTIN111,4048 -#define ADB_SPORTOUT(ADB_SPORTOUT112,4092 -#define ADB_SPDIFIN(ADB_SPDIFIN113,4138 -#define ADB_SPDIFOUT(ADB_SPDIFOUT114,4182 -#define ADB_EQIN(ADB_EQIN115,4228 -#define ADB_EQOUT(ADB_EQOUT116,4266 -#define ADB_A3DOUT(ADB_A3DOUT117,4306 -#define ADB_A3DIN(ADB_A3DIN118,4370 -#define ADB_WTOUT(ADB_WTOUT120,4477 -#define ADB_XTALKIN(ADB_XTALKIN121,4549 -#define ADB_XTALKOUT(ADB_XTALKOUT122,4595 -#define MIX_DEFIGAIN 124,4644 -#define MIX_DEFOGAIN 125,4670 -#define VORTEX_MIXER_SR 128,4761 -#define VORTEX_MIXER_CLIP 129,4793 -#define VORTEX_MIXER_CHNBASE 130,4827 -#define VORTEX_MIXER_RTBASE 131,4864 -#define MIXER_RTBASE_SIZE 132,4900 -#define VORTEX_MIX_ENIN 133,4932 -#define VORTEX_MIX_SMP 134,5002 -#define VORTEX_MIX_INVOL_B 137,5084 -#define VORTEX_MIX_VOL_B 138,5146 -#define VORTEX_MIX_INVOL_A 139,5207 -#define VORTEX_MIX_VOL_A 140,5268 -#define VOL_MIN 142,5329 -#define VOL_MAX 143,5382 -#define VORTEX_SRC_CHNBASE 146,5457 -#define VORTEX_SRC_RTBASE 147,5493 -#define VORTEX_SRCBLOCK_SR 148,5528 -#define VORTEX_SRC_SOURCE 149,5564 -#define VORTEX_SRC_SOURCESIZE 150,5599 -#define VORTEX_SRC_CONVRATIO 161,5796 -#define VORTEX_SRC_DRIFT0 162,5833 -#define VORTEX_SRC_DRIFT1 163,5868 -#define VORTEX_SRC_DRIFT2 164,5903 -#define VORTEX_SRC_U0 165,5938 -#define U0_SLOWLOCK 166,5970 -#define VORTEX_SRC_U1 167,5998 -#define VORTEX_SRC_U2 168,6030 -#define VORTEX_SRC_DATA 169,6062 -#define VORTEX_SRC_DATA0 170,6109 -#define VORTEX_FIFO_ADBCTRL 173,6155 -#define VORTEX_FIFO_WTCTRL 174,6211 -#define FIFO_RDONLY 175,6246 -#define FIFO_CTRL 176,6278 -#define FIFO_VALID 177,6328 -#define FIFO_EMPTY 178,6359 -#define FIFO_U0 179,6390 -#define FIFO_U1 180,6434 -#define FIFO_SIZE_BITS 181,6463 -#define FIFO_SIZE 182,6489 -#define FIFO_MASK 183,6538 -#define FIFO_BITS 184,6605 -#define VORTEX_FIFO_ADBDATA 185,6635 -#define VORTEX_FIFO_WTDATA 186,6671 -#define VORTEX_FIFO_GIRT 188,6707 -#define GIRT_COUNT 189,6760 -#define VORTEX_CODEC_CHN 193,6796 -#define VORTEX_CODEC_CTRL 195,6861 -#define VORTEX_CODEC_IO 196,6895 -#define VORTEX_CODEC_WRITE 197,6927 -#define VORTEX_CODEC_ADDSHIFT 198,6966 -#define VORTEX_CODEC_ADDMASK 199,7000 -#define VORTEX_CODEC_DATSHIFT 200,7056 -#define VORTEX_CODEC_DATMASK 201,7089 -#define VORTEX_CODEC_SPORTCTRL 203,7127 -#define VORTEX_CODEC_EN 205,7167 -#define EN_AUDIO0 206,7199 -#define EN_MODEM 207,7230 -#define EN_AUDIO1 208,7260 -#define EN_SPORT 209,7291 -#define EN_SPDIF 210,7321 -#define EN_CODEC 211,7351 -#define VORTEX_SPDIF_SMPRATE 213,7395 -#define VORTEX_SPDIF_FLAGS 215,7433 -#define VORTEX_SPDIF_CFG0 216,7469 -#define VORTEX_SPDIF_CFG1 217,7522 -#define VORTEX_SMP_TIME 219,7558 -#define VORTEX_SMP_TIMER 220,7619 -#define VORTEX_CODEC2_CTRL 221,7653 -#define VORTEX_MODEM_CTRL 223,7690 -#define VORTEX_IRQ_SOURCE 226,7736 -#define VORTEX_IRQ_CTRL 227,7800 -#define VORTEX_STAT 230,7903 -#define STAT_IRQ 231,7958 -#define VORTEX_CTRL 233,8030 -#define CTRL_MIDI_EN 234,8059 -#define CTRL_MIDI_PORT 235,8092 -#define CTRL_GAME_EN 236,8127 -#define CTRL_GAME_PORT 237,8160 -#define CTRL_IRQ_ENABLE 238,8195 -#define CTRL_SPDIF 239,8231 -#define CTRL_SPORT 240,8301 -#define CTRL_RST 241,8333 -#define CTRL_UNKNOWN 242,8363 -#define VORTEX_IRQ_STAT 245,8453 -#define VORTEX_MIDI_DATA 248,8515 -#define VORTEX_MIDI_CMD 249,8548 -#define VORTEX_GAME_LEGACY 251,8615 -#define VORTEX_CTRL2 252,8650 -#define CTRL2_GAME_ADCMODE 253,8679 -#define VORTEX_GAME_AXIS 254,8712 -#define AXIS_SIZE 255,8780 -#define AXIS_RANGE 256,8801 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/au88x0/au88x0_sb.h,755 -#define SBEMU_BASE 10,276 -#define SBEMU_BASE 13,359 -#define FM_A_STATUS 16,394 -#define FM_A_ADDRESS 17,447 -#define FM_A_DATA 18,501 -#define FM_B_STATUS 19,541 -#define FM_B_ADDRESS 20,583 -#define FM_B_DATA 21,625 -#define SB_MIXER_ADDR 22,665 -#define SB_MIXER_DATA 23,708 -#define SB_RESET 24,751 -#define SB_RESET_ALIAS 25,790 -#define FM_STATUS2 26,834 -#define FM_ADDR2 27,875 -#define FM_DATA2 28,914 -#define SB_DSP_READ 29,953 -#define SB_DSP_WRITE 30,995 -#define SB_DSP_WRITE_STATUS 31,1037 -#define SB_DSP_READ_STATUS 32,1097 -#define SB_LACR 33,1156 -#define SB_LADCR 34,1203 -#define SB_LAMR 35,1250 -#define SB_LARR 36,1297 -#define SB_VERSION 37,1344 -#define SB_CTRLSTAT 38,1385 -#define SB_TIMERSTAT 39,1427 -#define FM_RAM 40,1469 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/korg1212/korg1212.c,10603 -#define K1212_DEBUG_LEVEL 43,1412 -#define K1212_DEBUG_PRINTK 44,1441 - K1212_STATE_NONEXISTENT,57,2111 - K1212_STATE_UNINITIALIZED,58,2165 - K1212_STATE_DSP_IN_PROCESS,59,2233 - K1212_STATE_DSP_COMPLETE,60,2315 - K1212_STATE_READY,61,2387 - K1212_STATE_OPEN,64,2586 - K1212_STATE_SETUP,65,2647 - K1212_STATE_PLAYING,66,2707 - K1212_STATE_MONITOR,67,2756 - K1212_STATE_CALIBRATING,68,2817 - K1212_STATE_ERRORSTOP,69,2883 - K1212_STATE_MAX_STATE 71,3021 -} CardState;CardState72,3094 - K1212_DB_RequestForData 79,3404 - K1212_DB_TriggerPlay 80,3492 - K1212_DB_SelectPlayMode 81,3573 - K1212_DB_ConfigureBufferMemory 82,3659 - K1212_DB_RequestAdatTimecode 83,3749 - K1212_DB_SetClockSourceRate 84,3844 - K1212_DB_ConfigureMiscMemory 85,3934 - K1212_DB_TriggerFromAdat 86,4015 - K1212_DB_RebootCard 88,4170 - K1212_DB_RebootCard = 0xA0,88,4170 - K1212_DB_BootFromDSPPage4 89,4245 - K1212_DB_BootFromDSPPage4 = 0xA4,89,4245 - K1212_DB_DSPDownloadDone 91,4420 - K1212_DB_DSPDownloadDone = 0xAE,91,4420 - K1212_DB_StartDSPDownload 93,4570 - K1212_DB_StartDSPDownload = 0xAF 93,4570 -} korg1212_dbcnst_t;korg1212_dbcnst_t94,4660 -#define K1212_ISRCODE_DMAERROR 96,4682 -#define K1212_ISRCODE_CARDSTOPPED 97,4723 - K1212_CMDRET_Success 104,5050 - K1212_CMDRET_DIOCFailure,105,5124 - K1212_CMDRET_PMFailure,106,5198 - K1212_CMDRET_FailUnspecified,107,5271 - K1212_CMDRET_FailBadState,108,5333 - K1212_CMDRET_CardUninitialized,111,5562 - K1212_CMDRET_BadIndex,112,5649 - K1212_CMDRET_BadHandle,113,5732 - K1212_CMDRET_NoFillRoutine,114,5811 - K1212_CMDRET_FillRoutineInUse,115,5908 - K1212_CMDRET_NoAckFromCard,116,5999 - K1212_CMDRET_BadParams,117,6079 - K1212_CMDRET_BadDevice,124,6499 - K1212_CMDRET_BadFormat 125,6584 -} snd_korg1212rc;snd_korg1212rc126,6667 - K1212_MODE_SetupPlay 133,6988 - K1212_MODE_SetupPlay = 0x00000001,133,6988 - K1212_MODE_MonitorOn 134,7074 - K1212_MODE_MonitorOn = 0x00000002,134,7074 - K1212_MODE_MonitorOff 135,7155 - K1212_MODE_MonitorOff = 0x00000004,135,7155 - K1212_MODE_StopPlay 136,7237 - K1212_MODE_StopPlay = 0x00000008 136,7237 -} PlayModeSelector;PlayModeSelector137,7310 - K1212_MONMODE_Off 144,7636 - K1212_MONMODE_On 145,7706 -} MonitorModeSelector;MonitorModeSelector146,7775 -#define MAILBOX0_OFFSET 148,7799 -#define MAILBOX1_OFFSET 149,7883 -#define MAILBOX2_OFFSET 150,7967 -#define MAILBOX3_OFFSET 151,8051 -#define OUT_DOORBELL_OFFSET 152,8135 -#define IN_DOORBELL_OFFSET 153,8206 -#define STATUS_REG_OFFSET 154,8277 -#define PCI_CONTROL_OFFSET 155,8360 -#define SENS_CONTROL_OFFSET 157,8469 -#define DEV_VEND_ID_OFFSET 159,8616 -#define COMMAND_ACK_DELAY 161,8700 -#define INTERCOMMAND_DELAY 163,8878 -#define MAX_COMMAND_RETRIES 164,8910 -#define COMMAND_ACK_MASK 166,9081 -#define DOORBELL_VAL_MASK 168,9229 -#define CARD_BOOT_DELAY_IN_MS 170,9303 -#define DSP_BOOT_DELAY_IN_MS 172,9338 -#define kNumBuffers 174,9374 -#define k1212MaxCards 175,9397 -#define k1212NumWaveDevices 176,9422 -#define k16BitChannels 177,9452 -#define k32BitChannels 178,9479 -#define kAudioChannels 179,9505 -#define kPlayBufferFrames 180,9563 -#define K1212_ANALOG_CHANNELS 182,9595 -#define K1212_SPDIF_CHANNELS 183,9627 -#define K1212_ADAT_CHANNELS 184,9658 -#define K1212_CHANNELS 185,9688 -#define K1212_MIN_CHANNELS 186,9758 -#define K1212_MAX_CHANNELS 187,9787 -#define K1212_FRAME_SIZE 188,9829 -#define K1212_MAX_SAMPLES 189,9886 -#define K1212_PERIODS 190,9944 -#define K1212_PERIOD_BYTES 191,9981 -#define K1212_BUF_SIZE 192,10045 -#define K1212_ANALOG_BUF_SIZE 193,10110 -#define K1212_SPDIF_BUF_SIZE 194,10202 -#define K1212_ADAT_BUF_SIZE 195,10292 -#define K1212_MAX_BUF_SIZE 196,10380 -#define k1212MinADCSens 198,10454 -#define k1212MaxADCSens 199,10487 -#define k1212MaxVolume 200,10520 -#define k1212MaxWaveVolume 201,10555 -#define k1212MinVolume 202,10590 -#define k1212MaxVolInverted 203,10625 -#define PCI_INT_ENABLE_BIT 209,10896 -#define PCI_DOORBELL_INT_ENABLE_BIT 210,10949 -#define LOCAL_INT_ENABLE_BIT 211,11002 -#define LOCAL_DOORBELL_INT_ENABLE_BIT 212,11055 -#define LOCAL_DMA1_INT_ENABLE_BIT 213,11108 -#define PCI_CMD_MEM_SPACE_ENABLE_BIT 218,11363 -#define PCI_CMD_IO_SPACE_ENABLE_BIT 219,11412 -#define PCI_CMD_BUS_MASTER_ENABLE_BIT 220,11461 -#define PCI_STAT_PARITY_ERROR_BIT 225,11711 -#define PCI_STAT_SYSTEM_ERROR_BIT 226,11760 -#define PCI_STAT_MASTER_ABORT_RCVD_BIT 227,11809 -#define PCI_STAT_TARGET_ABORT_RCVD_BIT 228,11858 -#define PCI_STAT_TARGET_ABORT_SENT_BIT 229,11907 -#define SET_SENS_LOCALINIT_BITPOS 235,12198 -#define SET_SENS_DATA_BITPOS 236,12243 -#define SET_SENS_CLOCK_BITPOS 237,12288 -#define SET_SENS_LOADSHIFT_BITPOS 238,12332 -#define SET_SENS_LEFTCHANID 240,12377 -#define SET_SENS_RIGHTCHANID 241,12424 -#define K1212SENSUPDATE_DELAY_IN_MS 243,12472 -#define ONE_RTC_TICK 253,12931 -#define SENSCLKPULSE_WIDTH 254,12962 -#define LOADSHIFT_DELAY 255,12993 -#define INTERCOMMAND_DELAY 256,13024 -#define STOPCARD_DELAY 257,13055 -#define COMMAND_ACK_DELAY 259,13240 -typedef struct _snd_korg1212 korg1212_t;korg1212_t264,13450 -typedef u16 K1212Sample;K1212Sample266,13492 -typedef u32 K1212SpdifSample;K1212SpdifSample267,13561 -typedef u32 K1212TimeCodeSample;K1212TimeCodeSample269,13697 - K1212_CLKIDX_AdatAt44_1K 272,13780 - K1212_CLKIDX_AdatAt48K,273,13854 - K1212_CLKIDX_WordAt44_1K,274,13926 - K1212_CLKIDX_WordAt48K,275,14002 - K1212_CLKIDX_LocalAt44_1K,276,14076 - K1212_CLKIDX_LocalAt48K,277,14157 - K1212_CLKIDX_Invalid 278,14236 -} ClockSourceIndex;ClockSourceIndex279,14311 - K1212_CLKIDX_Adat 282,14347 - K1212_CLKIDX_Word,283,14402 - K1212_CLKIDX_Local 284,14459 -} ClockSourceType;ClockSourceType285,14521 -typedef struct KorgAudioFrame KorgAudioFrame287,14541 -} KorgAudioFrame;KorgAudioFrame291,14716 -typedef struct KorgAudioBuffer KorgAudioBuffer293,14735 -} KorgAudioBuffer;KorgAudioBuffer295,14846 -typedef struct KorgSharedBuffer KorgSharedBuffer297,14866 -} KorgSharedBuffer;KorgSharedBuffer306,15235 -typedef struct SensBits SensBits308,15256 -} SensBits;SensBits323,15571 -struct _snd_korg1212 _snd_korg1212325,15584 -static int index[410,18319 -static char *id[411,18392 -static int enable[412,18468 -static int boot_devs;413,18546 -static struct pci_device_id snd_korg1212_ids[423,18956 -static char* stateName[433,19127 -static char* clockSourceTypeName[447,19584 -static char* clockSourceName[449,19653 -static char* channelName[458,19967 -u16 ClockSourceSelector[473,20416 -static snd_korg1212rc rc;481,20922 -typedef union swap_u32 swap_u32485,20994 -typedef union swap_u32 { unsigned char c[4]; u32 i; } swap_u32;swap_u32485,20994 -static u32 LowerWordSwap(488,21083 -static u32 UpperWordSwap(505,21400 -static u32 EndianSwap(523,21715 -#define SetBitInWord(SetBitInWord538,21977 -#define SetBitInDWord(SetBitInDWord539,22063 -#define ClearBitInWord(ClearBitInWord540,22153 -#define ClearBitInDWord(ClearBitInDWord541,22240 -static snd_korg1212rc snd_korg1212_Send1212Command(543,22332 -static void snd_korg1212_SendStop(607,25021 -static void snd_korg1212_SendStopAndWait(618,25318 -static void snd_korg1212_timer_func(628,25643 -static void snd_korg1212_TurnOnIdleMonitor(657,26502 -static void snd_korg1212_TurnOffIdleMonitor(669,26884 -static inline void snd_korg1212_setCardState(677,27091 -static int snd_korg1212_OpenCard(682,27222 -static int snd_korg1212_CloseCard(697,27645 -static int snd_korg1212_SetupForPlay(734,28768 -static int snd_korg1212_TriggerPlay(757,29504 -static int snd_korg1212_StopPlay(780,30180 -static void snd_korg1212_EnableCardInterrupts(798,30623 -static int snd_korg1212_SetMonitorMode(809,31042 -static int snd_korg1212_SetRate(847,32444 -static int snd_korg1212_SetClockSource(886,33694 -static void snd_korg1212_DisableCardInterrupts(899,33953 -static int snd_korg1212_WriteADCSensitivity(904,34058 -static void snd_korg1212_OnDSPDownloadComplete(1053,41919 -static irqreturn_t snd_korg1212_interrupt(1133,45287 -static int snd_korg1212_downloadDSPCode(1222,48823 -static snd_pcm_hardware_t snd_korg1212_playback_info 1256,49994 -static snd_pcm_hardware_t snd_korg1212_capture_info 1276,50862 -static int snd_korg1212_silence(1296,51736 -static int snd_korg1212_copy_to(1321,52519 -static int snd_korg1212_copy_from(1353,53524 -static void snd_korg1212_free_pcm(1386,54558 -static int snd_korg1212_playback_open(1397,54842 -static int snd_korg1212_capture_open(1427,55783 -static int snd_korg1212_playback_close(1456,56718 -static int snd_korg1212_capture_close(1478,57354 -static int snd_korg1212_ioctl(1498,57904 -static int snd_korg1212_hw_params(1519,58541 -static int snd_korg1212_prepare(1549,59499 -static int snd_korg1212_trigger(1583,60391 -static snd_pcm_uframes_t snd_korg1212_playback_pointer(1629,61589 -static snd_pcm_uframes_t snd_korg1212_capture_pointer(1644,62005 -static int snd_korg1212_playback_copy(1659,62418 -static int snd_korg1212_playback_silence(1675,63015 -static int snd_korg1212_capture_copy(1689,63556 -static snd_pcm_ops_t snd_korg1212_playback_ops 1704,64147 -static snd_pcm_ops_t snd_korg1212_capture_ops 1716,64602 -static int snd_korg1212_control_phase_info(1731,64975 -static int snd_korg1212_control_phase_get(1738,65189 -static int snd_korg1212_control_phase_put(1755,65605 -static int snd_korg1212_control_volume_info(1792,66576 -static int snd_korg1212_control_volume_get(1801,66900 -static int snd_korg1212_control_volume_put(1819,67385 -static int snd_korg1212_control_route_info(1851,68209 -static int snd_korg1212_control_route_get(1863,68667 -static int snd_korg1212_control_route_put(1881,69122 -static int snd_korg1212_control_info(1907,69815 -static int snd_korg1212_control_get(1916,70104 -static int snd_korg1212_control_put(1930,70462 -static int snd_korg1212_control_sync_info(1954,71159 -static int snd_korg1212_control_sync_get(1966,71544 -static int snd_korg1212_control_sync_put(1978,71844 -#define MON_MIXER(MON_MIXER1992,72257 -static snd_kcontrol_new_t snd_korg1212_controls[2021,73861 -static void snd_korg1212_proc_read(2048,74934 -static void __devinit snd_korg1212_proc_init(2074,76406 -snd_korg1212_free(2083,76650 -static int snd_korg1212_dev_free(2138,78371 -static int __devinit snd_korg1212_create(2147,78614 -snd_korg1212_probe(2415,89066 -static void __devexit snd_korg1212_remove(2457,89937 -static struct pci_driver driver 2463,90072 -static int __init alsa_card_korg1212_init(2470,90239 -static void __exit alsa_card_korg1212_exit(2475,90326 -module_init(2480,90413 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/korg1212/korg1212-firmware.h,25 -static char dspCode 1,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/intel8x0.c,14101 -#define SUPPORT_JOYSTICK 68,2151 -#define SUPPORT_MIDI 70,2185 -static int index[72,2209 -static char *id[73,2278 -static int enable[74,2351 -static int ac97_clock[75,2433 -static int ac97_quirk[76,2503 -static int buggy_irq[77,2589 -static int joystick[79,2648 -static int mpu_port[82,2709 -static int boot_devs;84,2765 -#define PCI_DEVICE_ID_INTEL_82801 112,3886 -#define PCI_DEVICE_ID_INTEL_82901 115,3974 -#define PCI_DEVICE_ID_INTEL_82801BA 118,4064 -#define PCI_DEVICE_ID_INTEL_440MX 121,4152 -#define PCI_DEVICE_ID_INTEL_ICH3 124,4239 -#define PCI_DEVICE_ID_INTEL_ICH4 127,4319 -#define PCI_DEVICE_ID_INTEL_ICH5 130,4399 -#define PCI_DEVICE_ID_INTEL_ESB_5 133,4480 -#define PCI_DEVICE_ID_INTEL_ICH6_3 136,4563 -#define PCI_DEVICE_ID_SI_7012 139,4642 -#define PCI_DEVICE_ID_NVIDIA_MCP_AUDIO 142,4726 -#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 145,4820 -#define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 148,4915 -#define PCI_DEVICE_ID_NVIDIA_CK8_AUDIO 151,5008 -#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 154,5101 -#define PCI_DEVICE_ID_NVIDIA_CK8S_AUDIO 157,5195 -enum { DEVICE_INTEL,160,5250 -enum { DEVICE_INTEL, DEVICE_INTEL_ICH4,160,5250 -enum { DEVICE_INTEL, DEVICE_INTEL_ICH4, DEVICE_SIS,160,5250 -enum { DEVICE_INTEL, DEVICE_INTEL_ICH4, DEVICE_SIS, DEVICE_ALI,160,5250 -enum { DEVICE_INTEL, DEVICE_INTEL_ICH4, DEVICE_SIS, DEVICE_ALI, DEVICE_NFORCE 160,5250 -#define ICHREG(ICHREG162,5332 -#define DEFINE_REGSET(DEFINE_REGSET164,5363 -#define ICH_REG_LVI_MASK 189,6309 -#define ICH_FIFOE 192,6350 -#define ICH_BCIS 193,6392 -#define ICH_LVBCI 194,6457 -#define ICH_CELV 195,6527 -#define ICH_DCH 196,6583 -#define ICH_REG_PIV_MASK 199,6646 -#define ICH_IOCE 202,6698 -#define ICH_FEIE 203,6759 -#define ICH_LVBIE 204,6817 -#define ICH_RESETREGS 205,6883 -#define ICH_STARTBM 206,6944 -#define ICH_REG_GLOB_CNT 210,7024 -#define ICH_PCM_SPDIF_MASK 211,7084 -#define ICH_PCM_SPDIF_NONE 212,7158 -#define ICH_PCM_SPDIF_78 213,7225 -#define ICH_PCM_SPDIF_69 214,7293 -#define ICH_PCM_SPDIF_1011 215,7361 -#define ICH_PCM_20BIT 216,7433 -#define ICH_PCM_246_MASK 217,7497 -#define ICH_PCM_6 218,7568 -#define ICH_PCM_4 219,7633 -#define ICH_PCM_2 220,7698 -#define ICH_SIS_PCM_246_MASK 221,7756 -#define ICH_SIS_PCM_6 222,7825 -#define ICH_SIS_PCM_4 223,7888 -#define ICH_SIS_PCM_2 224,7951 -#define ICH_TRIE 225,8014 -#define ICH_SRIE 226,8084 -#define ICH_PRIE 227,8155 -#define ICH_ACLINK 228,8224 -#define ICH_AC97WARM 229,8279 -#define ICH_AC97COLD 230,8337 -#define ICH_GIE 231,8395 -#define ICH_REG_GLOB_STA 232,8452 -#define ICH_TRI 233,8511 -#define ICH_TCR 234,8590 -#define ICH_BCS 235,8664 -#define ICH_SPINT 236,8724 -#define ICH_P2INT 237,8785 -#define ICH_M2INT 238,8847 -#define ICH_SAMPLE_CAP 239,8909 -#define ICH_SAMPLE_16_20 240,8985 -#define ICH_MULTICHAN_CAP 241,9058 -#define ICH_MD3 242,9144 -#define ICH_AD3 243,9207 -#define ICH_RCS 244,9270 -#define ICH_BIT3 245,9329 -#define ICH_BIT2 246,9380 -#define ICH_BIT1 247,9431 -#define ICH_SRI 248,9482 -#define ICH_PRI 249,9556 -#define ICH_SCR 250,9628 -#define ICH_PCR 251,9697 -#define ICH_MCINT 252,9764 -#define ICH_POINT 253,9824 -#define ICH_PIINT 254,9881 -#define ICH_NVSPINT 255,9937 -#define ICH_MOINT 256,10000 -#define ICH_MIINT 257,10063 -#define ICH_GSCI 258,10125 -#define ICH_REG_ACC_SEMA 259,10190 -#define ICH_CAS 260,10256 -#define ICH_REG_SDM 261,10310 -#define ICH_DI2L_MASK 262,10336 -#define ICH_DI2L_SHIFT 263,10410 -#define ICH_DI1L_MASK 264,10437 -#define ICH_DI1L_SHIFT 265,10511 -#define ICH_SE 266,10538 -#define ICH_LDI_MASK 267,10586 -#define ICH_MAX_FRAGS 269,10655 - ICH_REG_ALI_SCR 290,11343 - ICH_REG_ALI_SCR = 0x00,290,11343 - ICH_REG_ALI_SSR 291,11399 - ICH_REG_ALI_SSR = 0x04,291,11399 - ICH_REG_ALI_DMACR 292,11455 - ICH_REG_ALI_DMACR = 0x08,292,11455 - ICH_REG_ALI_FIFOCR1 293,11512 - ICH_REG_ALI_FIFOCR1 = 0x0c,293,11512 - ICH_REG_ALI_INTERFACECR 294,11572 - ICH_REG_ALI_INTERFACECR = 0x10,294,11572 - ICH_REG_ALI_INTERRUPTCR 295,11638 - ICH_REG_ALI_INTERRUPTCR = 0x14,295,11638 - ICH_REG_ALI_INTERRUPTSR 296,11704 - ICH_REG_ALI_INTERRUPTSR = 0x18,296,11704 - ICH_REG_ALI_FIFOCR2 297,11770 - ICH_REG_ALI_FIFOCR2 = 0x1c,297,11770 - ICH_REG_ALI_CPR 298,11831 - ICH_REG_ALI_CPR = 0x20,298,11831 - ICH_REG_ALI_CPR_ADDR 299,11889 - ICH_REG_ALI_CPR_ADDR = 0x22,299,11889 - ICH_REG_ALI_SPR 300,11941 - ICH_REG_ALI_SPR = 0x24,300,11941 - ICH_REG_ALI_SPR_ADDR 301,11999 - ICH_REG_ALI_SPR_ADDR = 0x26,301,11999 - ICH_REG_ALI_FIFOCR3 302,12050 - ICH_REG_ALI_FIFOCR3 = 0x2c,302,12050 - ICH_REG_ALI_TTSR 303,12110 - ICH_REG_ALI_TTSR = 0x30,303,12110 - ICH_REG_ALI_RTSR 304,12169 - ICH_REG_ALI_RTSR = 0x34,304,12169 - ICH_REG_ALI_CSPSR 305,12228 - ICH_REG_ALI_CSPSR = 0x38,305,12228 - ICH_REG_ALI_CAS 306,12297 - ICH_REG_ALI_CAS = 0x3c,306,12297 - ICH_REG_ALI_HWVOL 307,12360 - ICH_REG_ALI_HWVOL = 0xf0,307,12360 - ICH_REG_ALI_I2SCR 308,12424 - ICH_REG_ALI_I2SCR = 0xf4,308,12424 - ICH_REG_ALI_SPDIFCSR 309,12476 - ICH_REG_ALI_SPDIFCSR = 0xf8,309,12476 - ICH_REG_ALI_SPDIFICS 310,12543 - ICH_REG_ALI_SPDIFICS = 0xfc,310,12543 -#define ALI_CAS_SEM_BUSY 313,12615 -#define ALI_CPR_ADDR_SECONDARY 314,12651 -#define ALI_CPR_ADDR_READ 315,12688 -#define ALI_CSPSR_CODEC_READY 316,12719 -#define ALI_CSPSR_READ_OK 317,12754 -#define ALI_CSPSR_WRITE_OK 318,12785 -#define ALI_INT_MICIN2 322,12892 -#define ALI_INT_PCMIN2 323,12924 -#define ALI_INT_I2SIN 324,12956 -#define ALI_INT_SPDIFOUT 325,12987 -#define ALI_INT_SPDIFIN 326,13057 -#define ALI_INT_LFEOUT 327,13090 -#define ALI_INT_CENTEROUT 328,13122 -#define ALI_INT_CODECSPDIFOUT 329,13156 -#define ALI_INT_MICIN 330,13194 -#define ALI_INT_PCMOUT 331,13225 -#define ALI_INT_PCMIN 332,13257 -#define ALI_INT_CPRAIS 333,13288 -#define ALI_INT_SPRAIS 334,13348 -#define ALI_INT_GPIO 335,13407 -#define ALI_INT_MASK 336,13436 -#define ICH_ALI_SC_RESET 338,13543 -#define ICH_ALI_SC_AC97_DBL 339,13595 -#define ICH_ALI_SC_CODEC_SPDF 340,13631 -#define ICH_ALI_SC_IN_BITS 341,13697 -#define ICH_ALI_SC_OUT_BITS 342,13732 -#define ICH_ALI_SC_6CH_CFG 343,13768 -#define ICH_ALI_SC_PCM_4 344,13803 -#define ICH_ALI_SC_PCM_6 345,13835 -#define ICH_ALI_SC_PCM_246_MASK 346,13867 -#define ICH_ALI_SS_SEC_ID 348,13907 -#define ICH_ALI_SS_PRI_ID 349,13940 -#define ICH_ALI_IF_AC97SP 351,13974 -#define ICH_ALI_IF_MC 352,14008 -#define ICH_ALI_IF_PI 353,14039 -#define ICH_ALI_IF_MC2 354,14070 -#define ICH_ALI_IF_PI2 355,14102 -#define ICH_ALI_IF_LINE_SRC 356,14134 -#define ICH_ALI_IF_MIC_SRC 357,14191 -#define ICH_ALI_IF_SPDF_SRC 358,14247 -#define ICH_ALI_IF_AC97_OUT 359,14337 -#define ICH_ALI_IF_PO_SPDF 360,14412 -#define ICH_ALI_IF_PO 361,14446 -enum { ICHD_PCMIN,367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT,367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT, ICHD_MIC,367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT, ICHD_MIC, ICHD_MIC2,367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT, ICHD_MIC, ICHD_MIC2, ICHD_PCM2IN,367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT, ICHD_MIC, ICHD_MIC2, ICHD_PCM2IN, ICHD_SPBAR,367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT, ICHD_MIC, ICHD_MIC2, ICHD_PCM2IN, ICHD_SPBAR, ICHD_LAST 367,14490 -enum { ICHD_PCMIN, ICHD_PCMOUT, ICHD_MIC, ICHD_MIC2, ICHD_PCM2IN, ICHD_SPBAR, ICHD_LAST = ICHD_SPBAR 367,14490 -enum { NVD_PCMIN,368,14594 -enum { NVD_PCMIN, NVD_PCMOUT,368,14594 -enum { NVD_PCMIN, NVD_PCMOUT, NVD_MIC,368,14594 -enum { NVD_PCMIN, NVD_PCMOUT, NVD_MIC, NVD_SPBAR,368,14594 -enum { NVD_PCMIN, NVD_PCMOUT, NVD_MIC, NVD_SPBAR, NVD_LAST 368,14594 -enum { NVD_PCMIN, NVD_PCMOUT, NVD_MIC, NVD_SPBAR, NVD_LAST = NVD_SPBAR 368,14594 -enum { ALID_PCMIN,369,14668 -enum { ALID_PCMIN, ALID_PCMOUT,369,14668 -enum { ALID_PCMIN, ALID_PCMOUT, ALID_MIC,369,14668 -enum { ALID_PCMIN, ALID_PCMOUT, ALID_MIC, ALID_AC97SPDIFOUT,369,14668 -enum { ALID_PCMIN, ALID_PCMOUT, ALID_MIC, ALID_AC97SPDIFOUT, ALID_SPDIFIN,369,14668 -enum { ALID_PCMIN, ALID_PCMOUT, ALID_MIC, ALID_AC97SPDIFOUT, ALID_SPDIFIN, ALID_SPDIFOUT,369,14668 -enum { ALID_PCMIN, ALID_PCMOUT, ALID_MIC, ALID_AC97SPDIFOUT, ALID_SPDIFIN, ALID_SPDIFOUT, ALID_LAST 369,14668 -enum { ALID_PCMIN, ALID_PCMOUT, ALID_MIC, ALID_AC97SPDIFOUT, ALID_SPDIFIN, ALID_SPDIFOUT, ALID_LAST = ALID_SPDIFOUT 369,14668 -#define get_ichdev(get_ichdev371,14788 -} ichdev_t;ichdev_t398,15625 -typedef struct _snd_intel8x0 intel8x0_t;intel8x0_t400,15638 -struct _snd_intel8x0 _snd_intel8x0402,15680 -static struct pci_device_id snd_intel8x0_ids[444,16488 -static u8 igetbyte(474,18206 -static u16 igetword(482,18368 -static u32 igetdword(490,18531 -static void iputbyte(498,18695 -static void iputword(506,18865 -static void iputdword(514,19036 -static u16 iagetword(526,19251 -static void iaputword(534,19408 -static unsigned int get_ich_codec_bit(551,19722 -static int snd_intel8x0_codec_semaphore(562,20018 -static void snd_intel8x0_codec_write(598,21095 -static unsigned short snd_intel8x0_codec_read(613,21542 -static void snd_intel8x0_codec_read_test(639,22373 -static int snd_intel8x0_ali_codec_ready(657,22861 -static int snd_intel8x0_ali_codec_semaphore(669,23156 -static unsigned short snd_intel8x0_ali_codec_read(679,23466 -static void snd_intel8x0_ali_codec_write(699,24005 -static void snd_intel8x0_setup_periods(720,24509 -static void fill_nocache(770,26616 -#define fill_nocache(fill_nocache777,26841 -static inline void snd_intel8x0_update(784,26918 -static irqreturn_t snd_intel8x0_interrupt(832,28490 -static int snd_intel8x0_pcm_trigger(869,29265 -static int snd_intel8x0_ali_trigger(904,30168 -static int snd_intel8x0_hw_params(950,31898 -static int snd_intel8x0_hw_free(982,33039 -static void snd_intel8x0_setup_pcm_out(996,33484 -static int snd_intel8x0_pcm_prepare(1045,34934 -static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(1067,35663 -static snd_pcm_hardware_t snd_intel8x0_stream 1095,36511 -static unsigned int channels4[1116,37062 -static snd_pcm_hw_constraint_list_t hw_constraints_channels4 1120,37109 -static unsigned int channels6[1126,37243 -static snd_pcm_hw_constraint_list_t hw_constraints_channels6 1130,37293 -static int snd_intel8x0_pcm_open(1136,37427 -static int snd_intel8x0_playback_open(1156,38045 -static int snd_intel8x0_playback_close(1180,38784 -static int snd_intel8x0_capture_open(1188,38971 -static int snd_intel8x0_capture_close(1195,39169 -static int snd_intel8x0_mic_open(1203,39354 -static int snd_intel8x0_mic_close(1210,39546 -static int snd_intel8x0_mic2_open(1218,39725 -static int snd_intel8x0_mic2_close(1225,39919 -static int snd_intel8x0_capture2_open(1233,40100 -static int snd_intel8x0_capture2_close(1240,40300 -static int snd_intel8x0_spdif_open(1248,40487 -static int snd_intel8x0_spdif_close(1256,40748 -static int snd_intel8x0_ali_ac97spdifout_open(1265,40996 -static int snd_intel8x0_ali_ac97spdifout_close(1280,41475 -static int snd_intel8x0_ali_spdifin_open(1295,41889 -static int snd_intel8x0_ali_spdifin_close(1302,42093 -static int snd_intel8x0_ali_spdifout_open(1311,42297 -static int snd_intel8x0_ali_spdifout_close(1318,42503 -static snd_pcm_ops_t snd_intel8x0_playback_ops 1327,42703 -static snd_pcm_ops_t snd_intel8x0_capture_ops 1338,43050 -static snd_pcm_ops_t snd_intel8x0_capture_mic_ops 1349,43394 -static snd_pcm_ops_t snd_intel8x0_capture_mic2_ops 1360,43734 -static snd_pcm_ops_t snd_intel8x0_capture2_ops 1371,44077 -static snd_pcm_ops_t snd_intel8x0_spdif_ops 1382,44424 -static snd_pcm_ops_t snd_intel8x0_ali_playback_ops 1393,44762 -static snd_pcm_ops_t snd_intel8x0_ali_capture_ops 1404,45113 -static snd_pcm_ops_t snd_intel8x0_ali_capture_mic_ops 1415,45461 -static snd_pcm_ops_t snd_intel8x0_ali_ac97spdifout_ops 1426,45805 -static snd_pcm_ops_t snd_intel8x0_ali_spdifin_ops 1437,46176 -static snd_pcm_ops_t snd_intel8x0_ali_spdifout_ops 1449,46545 -struct ich_pcm_table ich_pcm_table1461,46918 -static int __devinit snd_intel8x0_pcm1(1470,47084 -static struct ich_pcm_table intel_pcms[1505,48034 -static struct ich_pcm_table intel_pcms[] __devinitdata 1505,48034 -static struct ich_pcm_table nforce_pcms[1542,48899 -static struct ich_pcm_table nforce_pcms[] __devinitdata 1542,48899 -static struct ich_pcm_table ali_pcms[1565,49445 -static struct ich_pcm_table ali_pcms[] __devinitdata 1565,49445 -static int __devinit snd_intel8x0_pcm(1597,50235 -static void snd_intel8x0_mixer_free_ac97_bus(1644,51068 -static void snd_intel8x0_mixer_free_ac97(1650,51198 -static struct ac97_pcm ac97_pcm_defs[1656,51329 -static struct ac97_pcm ac97_pcm_defs[] __devinitdata 1656,51329 -static struct ac97_quirk ac97_quirks[1720,52343 -static struct ac97_quirk ac97_quirks[] __devinitdata 1720,52343 -static int __devinit snd_intel8x0_mixer(1887,55528 -static void do_ali_reset(2050,60117 -#define do_delay(do_delay2062,60571 -static int snd_intel8x0_ich_chip_init(2067,60679 -static int snd_intel8x0_ali_chip_init(2159,63382 -static int snd_intel8x0_chip_init(2194,64124 -static int snd_intel8x0_free(2220,64939 -static int intel8x0_suspend(2262,66011 -static int intel8x0_resume(2276,66356 -#define INTEL8X0_TESTBUF_SIZE 2310,67165 -static void __devinit intel8x0_measure_ac97_clock(2312,67234 -static void snd_intel8x0_proc_read(2396,70041 -static void __devinit snd_intel8x0_proc_init(2422,71028 -static int snd_intel8x0_dev_free(2430,71250 -struct ich_reg_info ich_reg_info2436,71384 -static int __devinit snd_intel8x0_create(2441,71460 -static struct shortname_table shortname_table2632,76733 -} shortnames[2635,76799 -} shortnames[] __devinitdata 2635,76799 -static int __devinit snd_intel8x0_probe(2659,77784 -static void __devexit snd_intel8x0_remove(2739,79521 -static struct pci_driver driver 2745,79656 -static struct pci_dev *ich_gameport_pci;2761,80033 -static struct gameport ich_gameport 2762,80074 -static int __devinit snd_intel8x0_joystick_probe(2765,80137 -static void __devexit snd_intel8x0_joystick_remove(2810,81112 -static struct pci_device_id snd_intel8x0_joystick_ids[2826,81502 -static struct pci_driver joystick_driver 2840,82248 -static int have_joystick;2847,82461 -static int __init alsa_card_intel8x0_init(2850,82495 -static void __exit alsa_card_intel8x0_exit(2870,82916 -module_init(2879,83128 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/als4000.c,2804 -#define SUPPORT_JOYSTICK 82,2855 -static int index[85,2890 -static char *id[86,2959 -static int enable[87,3032 -static int joystick_port[89,3138 -static int boot_devs;91,3184 -} snd_card_als4000_t;snd_card_als4000_t111,3865 -static struct pci_device_id snd_als4000_ids[113,3888 -static inline void snd_als4000_gcr_write_addr(120,4065 -static inline void snd_als4000_gcr_write(126,4200 -static inline u32 snd_als4000_gcr_read_addr(131,4328 -static inline u32 snd_als4000_gcr_read(137,4453 -static void snd_als4000_set_rate(142,4570 -static void snd_als4000_set_capture_dma(151,4799 -static void snd_als4000_set_playback_dma(157,4976 -#define ALS4000_FORMAT_SIGNED 163,5163 -#define ALS4000_FORMAT_16BIT 164,5200 -#define ALS4000_FORMAT_STEREO 165,5236 -static int snd_als4000_get_format(167,5274 -} playback_cmd_vals[184,5725 -#define playback_cmd(playback_cmd202,6642 -enum { CMD_WIDTH8=205,6754 -enum { CMD_WIDTH8=0x04,205,6754 -enum { CMD_WIDTH8=0x04, CMD_SIGNED=205,6754 -enum { CMD_WIDTH8=0x04, CMD_SIGNED=0x10,205,6754 -enum { CMD_WIDTH8=0x04, CMD_SIGNED=0x10, CMD_MONO=205,6754 -enum { CMD_WIDTH8=0x04, CMD_SIGNED=0x10, CMD_MONO=0x80,205,6754 -enum { CMD_WIDTH8=0x04, CMD_SIGNED=0x10, CMD_MONO=0x80, CMD_STEREO=205,6754 -enum { CMD_WIDTH8=0x04, CMD_SIGNED=0x10, CMD_MONO=0x80, CMD_STEREO=0xA0 205,6754 -static unsigned char capture_cmd_vals[206,6829 -#define capture_cmd(capture_cmd217,7317 -static int snd_als4000_hw_params(219,7387 -static int snd_als4000_hw_free(225,7573 -static int snd_als4000_capture_prepare(231,7689 -static int snd_als4000_playback_prepare(259,8543 -static int snd_als4000_capture_trigger(298,9972 -static int snd_als4000_playback_trigger(317,10488 -static snd_pcm_uframes_t snd_als4000_capture_pointer(336,11023 -static snd_pcm_uframes_t snd_als4000_playback_pointer(347,11355 -static irqreturn_t snd_als4000_interrupt(358,11684 -static snd_pcm_hardware_t snd_als4000_playback 393,12817 -static snd_pcm_hardware_t snd_als4000_capture 412,13384 -static int snd_als4000_playback_open(433,14019 -static int snd_als4000_playback_close(443,14281 -static int snd_als4000_capture_open(452,14488 -static int snd_als4000_capture_close(462,14747 -static snd_pcm_ops_t snd_als4000_playback_ops 473,15022 -static snd_pcm_ops_t snd_als4000_capture_ops 484,15375 -static void snd_als4000_pcm_free(495,15722 -static int __devinit snd_als4000_pcm(502,15872 -static void snd_als4000_set_addr(525,16552 -static void __devinit snd_als4000_configure(546,16985 -static void snd_card_als4000_free(570,17726 -static int __devinit snd_card_als4000_probe(588,18295 -static void __devexit snd_card_als4000_remove(726,21607 -static struct pci_driver driver 732,21746 -static int __init alsa_card_als4000_init(739,21919 -static void __exit alsa_card_als4000_exit(744,22005 -module_init(749,22091 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ak4531_codec.c,987 -static void snd_ak4531_dump(41,1225 -#define AK4531_SINGLE(AK4531_SINGLE55,1398 -static int snd_ak4531_info_single(61,1710 -static int snd_ak4531_get_single(72,2040 -static int snd_ak4531_put_single(92,2650 -#define AK4531_DOUBLE(AK4531_DOUBLE116,3400 -static int snd_ak4531_info_double(122,3797 -static int snd_ak4531_get_double(133,4127 -static int snd_ak4531_put_double(158,5009 -#define AK4531_INPUT_SW(AK4531_INPUT_SW195,6458 -static int snd_ak4531_info_input_sw(201,6799 -static int snd_ak4531_get_input_sw(210,7033 -static int snd_ak4531_put_input_sw(228,7831 -static snd_kcontrol_new_t snd_ak4531_controls[253,8938 -static int snd_ak4531_free(309,12080 -static int snd_ak4531_dev_free(319,12237 -static u8 snd_ak4531_initial_map[325,12369 -int snd_ak4531_mixer(354,13316 -static void snd_ak4531_proc_read(407,14780 -static void snd_ak4531_proc_init(419,15173 -static int __init alsa_ak4531_init(433,15450 -static void __exit alsa_ak4531_exit(438,15507 -module_init(442,15554 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_patch.c,8511 -static int patch_build_controls(42,1335 -static int ac97_update_bits_page(53,1652 -static int snd_ac97_ymf753_info_speaker(70,2339 -static int snd_ac97_ymf753_get_speaker(85,2768 -static int snd_ac97_ymf753_put_speaker(98,3105 -static const snd_kcontrol_new_t snd_ac97_ymf753_controls_speaker 109,3455 -static int snd_ac97_ymf753_spdif_source_info(119,3820 -static int snd_ac97_ymf753_spdif_source_get(132,4247 -static int snd_ac97_ymf753_spdif_source_put(142,4530 -static int snd_ac97_ymf753_spdif_output_pin_info(157,5195 -static int snd_ac97_ymf753_spdif_output_pin_get(170,5630 -static int snd_ac97_ymf753_spdif_output_pin_put(180,5946 -static const snd_kcontrol_new_t snd_ac97_ymf753_controls_spdif[194,6533 -static int patch_yamaha_ymf753_3d(212,7186 -static int patch_yamaha_ymf753_post_spdif(228,7746 -static struct snd_ac97_build_ops patch_yamaha_ymf753_ops 237,7965 -int patch_yamaha_ymf753(242,8119 -int patch_wolfson03(263,8970 -int patch_wolfson04(274,9275 -int patch_wolfson05(292,9749 -int patch_wolfson11(300,9907 -int patch_tritech_tr28028(311,10079 -static int patch_sigmatel_stac9700_3d(323,10365 -static int patch_sigmatel_stac9708_3d(336,10760 -static const snd_kcontrol_new_t snd_ac97_sigmatel_4speaker 353,11398 -static const snd_kcontrol_new_t snd_ac97_sigmatel_phaseinvert 356,11553 -static const snd_kcontrol_new_t snd_ac97_sigmatel_controls[359,11719 -static int patch_sigmatel_stac97xx_specific(364,11935 -static struct snd_ac97_build_ops patch_sigmatel_stac9700_ops 384,12730 -int patch_sigmatel_stac9700(389,12892 -static int patch_sigmatel_stac9708_specific(395,13000 -static struct snd_ac97_build_ops patch_sigmatel_stac9708_ops 401,13195 -int patch_sigmatel_stac9708(406,13357 -int patch_sigmatel_stac9721(432,14308 -int patch_sigmatel_stac9744(446,14793 -int patch_sigmatel_stac9756(458,15243 -static int snd_ac97_stac9758_output_jack_info(470,15693 -static int snd_ac97_stac9758_output_jack_get(484,16180 -static int snd_ac97_stac9758_output_jack_put(498,16573 -static int snd_ac97_stac9758_input_jack_info(514,17063 -static int snd_ac97_stac9758_input_jack_get(528,17559 -static int snd_ac97_stac9758_input_jack_put(539,17880 -static int snd_ac97_stac9758_phonesel_info(548,18198 -static int snd_ac97_stac9758_phonesel_get(561,18629 -static int snd_ac97_stac9758_phonesel_put(569,18867 -#define STAC9758_OUTPUT_JACK(STAC9758_OUTPUT_JACK577,19128 -#define STAC9758_INPUT_JACK(STAC9758_INPUT_JACK583,19392 -static const snd_kcontrol_new_t snd_ac97_sigmatel_stac9758_controls[589,19652 -static int patch_sigmatel_stac9758_specific(608,20360 -static struct snd_ac97_build_ops patch_sigmatel_stac9758_ops 630,20954 -int patch_sigmatel_stac9758(635,21116 -static const snd_kcontrol_new_t snd_ac97_cirrus_controls_spdif[678,22277 -static int patch_cirrus_build_spdif(683,22526 -static struct snd_ac97_build_ops patch_cirrus_ops 705,23192 -int patch_cirrus_spdif(709,23291 -int patch_cirrus_cs4299(730,24057 -static const snd_kcontrol_new_t snd_ac97_conexant_controls_spdif[741,24235 -static int patch_conexant_build_spdif(745,24398 -static struct snd_ac97_build_ops patch_conexant_ops 762,24995 -int patch_conexant(766,25098 -int patch_ad1819(778,25409 -static unsigned short patch_ad1881_unchained(788,25646 -static int patch_ad1881_chained1(804,26162 -static void patch_ad1881_chained(822,26791 -int patch_ad1881(846,27693 -static const snd_kcontrol_new_t snd_ac97_controls_ad1885[903,29259 -static int patch_ad1885_specific(912,29748 -static struct snd_ac97_build_ops patch_ad1885_build_ops 921,29946 -int patch_ad1885(925,30052 -int patch_ad1886(938,30352 -#define AC97_AD198X_MBC 948,30579 -#define AC97_AD198X_MBC_20 949,30627 -#define AC97_AD198X_MBC_10 950,30673 -#define AC97_AD198X_MBC_30 951,30719 -#define AC97_AD198X_VREFD 952,30765 -#define AC97_AD198X_VREFH 953,30816 -#define AC97_AD198X_VREF_0 954,30867 -#define AC97_AD198X_SRU 955,30910 -#define AC97_AD198X_LOSEL 956,30967 -#define AC97_AD198X_2MIC 957,31039 -#define AC97_AD198X_SPRD 958,31098 -#define AC97_AD198X_DMIX0 959,31150 -#define AC97_AD198X_DMIX1 960,31234 -#define AC97_AD198X_HPSEL 961,31299 -#define AC97_AD198X_CLDIS 962,31371 -#define AC97_AD198X_LODIS 963,31429 -#define AC97_AD198X_MSPLT 964,31485 -#define AC97_AD198X_AC97NC 965,31535 -#define AC97_AD198X_DACZ 966,31599 -static int snd_ac97_ad198x_spdif_source_info(969,31658 -static int snd_ac97_ad198x_spdif_source_get(982,32085 -static int snd_ac97_ad198x_spdif_source_put(992,32365 -static const snd_kcontrol_new_t snd_ac97_ad198x_spdif_source 1003,32721 -static int patch_ad198x_post_spdif(1011,33015 -static struct snd_ac97_build_ops patch_ad1981a_build_ops 1016,33141 -int patch_ad1981a(1020,33251 -static const snd_kcontrol_new_t snd_ac97_ad198x_2cmic 1029,33481 -static int patch_ad1981b_specific(1032,33588 -static struct snd_ac97_build_ops patch_ad1981b_build_ops 1037,33704 -int patch_ad1981b(1042,33857 -static int snd_ac97_ad1888_lohpsel_info(1051,34087 -static int snd_ac97_ad1888_lohpsel_get(1060,34322 -static int snd_ac97_ad1888_lohpsel_put(1070,34599 -static int snd_ac97_ad1888_downmix_info(1081,34960 -static int snd_ac97_ad1888_downmix_get(1094,35378 -static int snd_ac97_ad1888_downmix_put(1107,35733 -static const snd_kcontrol_new_t snd_ac97_ad1888_controls[1123,36210 -static int patch_ad1888_specific(1143,36867 -static struct snd_ac97_build_ops patch_ad1888_build_ops 1151,37232 -int patch_ad1888(1156,37383 -static int patch_ad1980_specific(1176,37965 -static struct snd_ac97_build_ops patch_ad1980_build_ops 1185,38151 -int patch_ad1980(1190,38302 -static const snd_kcontrol_new_t snd_ac97_ad1985_controls[1197,38415 -static int patch_ad1985_specific(1202,38616 -static struct snd_ac97_build_ops patch_ad1985_build_ops 1211,38839 -int patch_ad1985(1216,38990 -static int snd_ac97_alc650_mic_get(1245,39798 -static int snd_ac97_alc650_mic_put(1252,40055 -static const snd_kcontrol_new_t snd_ac97_controls_alc650[1272,40832 -static const snd_kcontrol_new_t snd_ac97_spdif_controls_alc650[1304,42263 -static int patch_alc650_specific(1310,42568 -static struct snd_ac97_build_ops patch_alc650_ops 1323,42943 -int patch_alc650(1327,43042 -static int snd_ac97_alc655_mic_get(1382,44802 -static int snd_ac97_alc655_mic_put(1389,45059 -static const snd_kcontrol_new_t snd_ac97_controls_alc655[1402,45502 -static int alc655_iec958_route_info(1415,45964 -static int alc655_iec958_route_get(1433,46697 -static int alc655_iec958_route_put(1446,47030 -static const snd_kcontrol_new_t snd_ac97_spdif_controls_alc655[1455,47314 -static int patch_alc655_specific(1467,47752 -static struct snd_ac97_build_ops patch_alc655_ops 1480,48127 -int patch_alc655(1484,48226 -#define AC97_ALC850_JACK_SELECT 1514,49082 -#define AC97_ALC850_MISC1 1515,49119 -static int ac97_alc850_surround_get(1517,49151 -static int ac97_alc850_surround_put(1524,49420 -static int ac97_alc850_mic_get(1536,49898 -static int ac97_alc850_mic_put(1543,50161 -static const snd_kcontrol_new_t snd_ac97_controls_alc850[1555,50642 -static int patch_alc850_specific(1576,51275 -static struct snd_ac97_build_ops patch_alc850_ops 1589,51649 -int patch_alc850(1593,51748 -static const snd_kcontrol_new_t snd_ac97_cm9738_controls[1630,52932 -static int patch_cm9738_specific(1635,53139 -static struct snd_ac97_build_ops patch_cm9738_ops 1640,53292 -int patch_cm9738(1644,53391 -static int snd_ac97_cmedia_spdif_playback_source_info(1650,53477 -static int snd_ac97_cmedia_spdif_playback_source_get(1663,53905 -static int snd_ac97_cmedia_spdif_playback_source_put(1673,54201 -static const snd_kcontrol_new_t snd_ac97_cm9739_controls_spdif[1682,54503 -static int snd_ac97_cm9739_center_mic_get(1700,55303 -static int snd_ac97_cm9739_center_mic_put(1710,55602 -static const snd_kcontrol_new_t snd_ac97_cm9739_controls[1718,55891 -static int patch_cm9739_specific(1730,56292 -static int patch_cm9739_post_spdif(1735,56445 -static struct snd_ac97_build_ops patch_cm9739_ops 1740,56612 -int patch_cm9739(1745,56757 -static const snd_kcontrol_new_t snd_ac97_controls_vt1616[1785,57819 -static int patch_vt1616_specific(1792,58122 -static struct snd_ac97_build_ops patch_vt1616_ops 1804,58460 -int patch_vt1616(1808,58559 -static const snd_kcontrol_new_t snd_ac97_controls_it2646[1814,58645 -static const snd_kcontrol_new_t snd_ac97_spdif_controls_it2646[1819,58815 -static int patch_it2646_specific(1825,59054 -static struct snd_ac97_build_ops patch_it2646_ops 1835,59386 -int patch_it2646(1839,59485 -#define AC97_SI3036_CHIP_ID 1849,59714 -int mpatch_si3036(1851,59752 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_local.h,207 -#define AC97_SINGLE_VALUE(AC97_SINGLE_VALUE25,979 -#define AC97_PAGE_SINGLE_VALUE(AC97_PAGE_SINGLE_VALUE26,1089 -#define AC97_SINGLE(AC97_SINGLE27,1226 -#define AC97_PAGE_SINGLE(AC97_PAGE_SINGLE31,1493 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_proc.c,432 -static void snd_ac97_proc_read_functions(37,1183 -static void snd_ac97_proc_read_main(71,2366 -static void snd_ac97_proc_read(291,11697 -static void snd_ac97_proc_regs_write(326,12888 -static void snd_ac97_proc_regs_read_main(343,13350 -static void snd_ac97_proc_regs_read(353,13603 -void snd_ac97_proc_init(377,14326 -void snd_ac97_proc_done(411,15340 -void snd_ac97_bus_proc_init(423,15555 -void snd_ac97_bus_proc_done(439,15939 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_pcm.c,430 -static unsigned char rate_reg_tables[43,1346 -static unsigned char rate_cregs[148,4370 -static unsigned char get_slot_reg(160,4611 -static int set_spdif_rate(175,5005 -int snd_ac97_set_rate(260,7714 -static unsigned short get_pslots(298,8651 -static unsigned short get_cslots(373,11399 -static unsigned int get_rates(384,11618 -int snd_ac97_pcm_assign(417,12697 -int snd_ac97_pcm_open(518,15456 -int snd_ac97_pcm_close(599,17591 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_patch.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_id.h,1141 -#define AC97_ID_AK4540 25,979 -#define AC97_ID_AK4542 26,1014 -#define AC97_ID_AD1819 27,1049 -#define AC97_ID_AD1881 28,1084 -#define AC97_ID_AD1881A 29,1119 -#define AC97_ID_AD1885 30,1155 -#define AC97_ID_AD1886 31,1190 -#define AC97_ID_AD1887 32,1225 -#define AC97_ID_AD1886A 33,1260 -#define AC97_ID_AD1980 34,1296 -#define AC97_ID_TR28028 35,1332 -#define AC97_ID_STAC9700 36,1368 -#define AC97_ID_STAC9704 37,1404 -#define AC97_ID_STAC9705 38,1440 -#define AC97_ID_STAC9708 39,1476 -#define AC97_ID_STAC9721 40,1512 -#define AC97_ID_STAC9744 41,1548 -#define AC97_ID_STAC9756 42,1584 -#define AC97_ID_CS4297A 43,1620 -#define AC97_ID_CS4299 44,1656 -#define AC97_ID_CS4201 45,1691 -#define AC97_ID_CS4205 46,1726 -#define AC97_ID_CS_MASK 47,1761 -#define AC97_ID_ALC100 48,1816 -#define AC97_ID_ALC650 49,1851 -#define AC97_ID_ALC650D 50,1886 -#define AC97_ID_ALC650E 51,1922 -#define AC97_ID_ALC650F 52,1958 -#define AC97_ID_ALC655 53,1994 -#define AC97_ID_ALC658 54,2029 -#define AC97_ID_ALC850 55,2064 -#define AC97_ID_YMF753 56,2099 -#define AC97_ID_VT1616 57,2134 -#define AC97_ID_CM9738 58,2169 -#define AC97_ID_CM9739 59,2204 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ac97/ac97_codec.c,5406 -static int enable_loopback;44,1471 -} ac97_codec_id_t;ac97_codec_id_t59,1761 -static const ac97_codec_id_t snd_ac97_codec_id_vendors[61,1781 -static const ac97_codec_id_t snd_ac97_codec_ids[88,3180 -const char *snd_ac97_stereo_enhancements[178,8658 -static ac97_t *shared_codec[218,10164 -static int snd_ac97_valid_reg(225,10242 -void snd_ac97_write(278,11736 -unsigned short snd_ac97_read(301,12391 -static inline unsigned short snd_ac97_read_cache(309,12613 -void snd_ac97_write_cache(328,13197 -int snd_ac97_update(351,13847 -int snd_ac97_update_bits(381,14606 -static int snd_ac97_ad18xx_update_pcm_bits(401,15097 -static int snd_ac97_info_mux(434,15972 -static int snd_ac97_get_mux(450,16425 -static int snd_ac97_put_mux(461,16753 -#define AC97_ENUM_DOUBLE(AC97_ENUM_DOUBLE474,17175 -static int snd_ac97_info_enum_double(479,17448 -static int snd_ac97_get_enum_double(505,18238 -static int snd_ac97_put_enum_double(520,18689 -int snd_ac97_info_single(536,19209 -int snd_ac97_get_single(547,19528 -int snd_ac97_put_single(561,20053 -#define AC97_DOUBLE(AC97_DOUBLE576,20564 -static int snd_ac97_info_double(581,20895 -static int snd_ac97_get_double(592,21221 -static int snd_ac97_put_double(612,22057 -int snd_ac97_getput_page(633,22803 -int snd_ac97_page_get_single(656,23642 -int snd_ac97_page_put_single(662,23829 -static const snd_kcontrol_new_t snd_ac97_controls_master_mono[667,23992 -static const snd_kcontrol_new_t snd_ac97_controls_tone[672,24208 -static const snd_kcontrol_new_t snd_ac97_controls_pc_beep[677,24403 -static const snd_kcontrol_new_t snd_ac97_controls_phone[682,24605 -static const snd_kcontrol_new_t snd_ac97_controls_mic[687,24791 -static const snd_kcontrol_new_t snd_ac97_control_capture_src 693,25020 -static const snd_kcontrol_new_t snd_ac97_control_capture_vol 701,25234 -static const snd_kcontrol_new_t snd_ac97_controls_mic_capture[704,25357 - AC97_GENERAL_PCM_OUT 710,25572 - AC97_GENERAL_STEREO_ENHANCEMENT,711,25599 - AC97_GENERAL_3D,712,25633 - AC97_GENERAL_LOUDNESS,713,25651 - AC97_GENERAL_MONO,714,25675 - AC97_GENERAL_MIC,715,25695 - AC97_GENERAL_LOOPBACK716,25714 -} ac97_general_index_t;ac97_general_index_t717,25737 -static const snd_kcontrol_new_t snd_ac97_controls_general[719,25762 -const snd_kcontrol_new_t snd_ac97_controls_3d[729,26307 -static const snd_kcontrol_new_t snd_ac97_controls_center[734,26488 -static const snd_kcontrol_new_t snd_ac97_controls_lfe[739,26700 -static const snd_kcontrol_new_t snd_ac97_controls_surround[744,26904 -static const snd_kcontrol_new_t snd_ac97_control_eapd 749,27126 -static int snd_ac97_spdif_mask_info(752,27244 -static int snd_ac97_spdif_cmask_get(759,27437 -static int snd_ac97_spdif_pmask_get(771,27898 -static int snd_ac97_spdif_default_get(781,28237 -static int snd_ac97_spdif_default_put(794,28755 -static int snd_ac97_put_spsa(862,31476 -const snd_kcontrol_new_t snd_ac97_controls_spdif[892,32481 -#define AD18XX_PCM_BITS(AD18XX_PCM_BITS926,33530 -static int snd_ac97_ad18xx_pcm_info_bits(931,33849 -static int snd_ac97_ad18xx_pcm_get_bits(948,34423 -static int snd_ac97_ad18xx_pcm_put_bits(962,35042 -#define AD18XX_PCM_VOLUME(AD18XX_PCM_VOLUME980,35754 -static int snd_ac97_ad18xx_pcm_info_volume(985,36003 -static int snd_ac97_ad18xx_pcm_get_volume(994,36243 -static int snd_ac97_ad18xx_pcm_put_volume(1006,36686 -static const snd_kcontrol_new_t snd_ac97_controls_ad18xx_pcm[1017,37100 -static const snd_kcontrol_new_t snd_ac97_controls_ad18xx_surround[1022,37269 -static const snd_kcontrol_new_t snd_ac97_controls_ad18xx_center[1027,37453 -static const snd_kcontrol_new_t snd_ac97_controls_ad18xx_lfe[1032,37640 -static int snd_ac97_bus_free(1043,37874 -static int snd_ac97_bus_dev_free(1056,38086 -static int snd_ac97_free(1062,38218 -static int snd_ac97_dev_free(1081,38609 -static int snd_ac97_try_volume_mix(1088,38807 -int snd_ac97_try_bit(1140,40092 -static void snd_ac97_change_volume_params1(1153,40388 -static void snd_ac97_change_volume_params2(1169,40765 -static void snd_ac97_change_volume_params3(1185,41171 -static int snd_ac97_is_stereo_vol(1201,41549 -static inline int printable(1212,41850 -snd_kcontrol_t *snd_ac97_cnew(1223,42011 -static int snd_ac97_cmute_new(1235,42355 -static int snd_ac97_cvol_new(1268,43187 -static int snd_ac97_cmix_new(1287,43766 -static int snd_ac97_mixer_build(1312,44366 -static int snd_ac97_modem_build(1620,55583 -static int snd_ac97_test_rate(1632,56029 -static void snd_ac97_determine_rates(1645,56395 -static unsigned int snd_ac97_determine_spdif_rates(1671,57398 -void snd_ac97_get_name(1690,57955 -static int ac97_reset_wait(1733,59011 -int snd_ac97_bus(1785,60711 -int snd_ac97_mixer(1833,62136 -static void snd_ac97_powerdown(2106,71395 -void snd_ac97_suspend(2139,72318 -void snd_ac97_resume(2151,72573 -static void set_ctl_name(2262,75979 -int snd_ac97_remove_ctl(2270,76135 -static snd_kcontrol_t *ctl_find(2279,76395 -int snd_ac97_rename_ctl(2288,76667 -void snd_ac97_rename_vol_ctl(2299,76982 -int snd_ac97_swap_ctl(2305,77160 -static int swap_headphone(2318,77502 -static int swap_surround(2331,77947 -static int tune_ad_sharing(2339,78183 -static const snd_kcontrol_new_t snd_ac97_alc_jack_detect 2352,78571 -static int tune_alc_jack(2355,78688 -static int apply_quirk(2366,79113 -int snd_ac97_tune_hardware(2398,79976 -static int __init alsa_ac97_init(2452,81403 -static void __exit alsa_ac97_exit(2457,81458 -module_init(2461,81503 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/rme96.c,8777 -static int index[56,1765 -static char *id[57,1834 -static int enable[58,1907 -static int boot_devs;59,1989 -#define RME96_SPDIF_NCHANNELS 73,2444 -#define RME96_BUFFER_SIZE 76,2516 -#define RME96_IO_SIZE 79,2570 -#define RME96_IO_PLAY_BUFFER 82,2623 -#define RME96_IO_REC_BUFFER 83,2661 -#define RME96_IO_CONTROL_REGISTER 84,2703 -#define RME96_IO_ADDITIONAL_REG 85,2745 -#define RME96_IO_CONFIRM_PLAY_IRQ 86,2787 -#define RME96_IO_CONFIRM_REC_IRQ 87,2829 -#define RME96_IO_SET_PLAY_POS 88,2871 -#define RME96_IO_RESET_PLAY_POS 89,2913 -#define RME96_IO_SET_REC_POS 90,2955 -#define RME96_IO_RESET_REC_POS 91,2997 -#define RME96_IO_GET_PLAY_POS 92,3039 -#define RME96_IO_GET_REC_POS 93,3081 -#define RME96_WCR_START 96,3158 -#define RME96_WCR_START_2 97,3195 -#define RME96_WCR_GAIN_0 98,3232 -#define RME96_WCR_GAIN_1 99,3269 -#define RME96_WCR_MODE24 100,3306 -#define RME96_WCR_MODE24_2 101,3343 -#define RME96_WCR_BM 102,3380 -#define RME96_WCR_BM_2 103,3417 -#define RME96_WCR_ADAT 104,3454 -#define RME96_WCR_FREQ_0 105,3491 -#define RME96_WCR_FREQ_1 106,3528 -#define RME96_WCR_DS 107,3566 -#define RME96_WCR_PRO 108,3604 -#define RME96_WCR_EMP 109,3642 -#define RME96_WCR_SEL 110,3680 -#define RME96_WCR_MASTER 111,3718 -#define RME96_WCR_PD 112,3756 -#define RME96_WCR_INP_0 113,3794 -#define RME96_WCR_INP_1 114,3832 -#define RME96_WCR_THRU_0 115,3870 -#define RME96_WCR_THRU_1 116,3908 -#define RME96_WCR_THRU_2 117,3946 -#define RME96_WCR_THRU_3 118,3984 -#define RME96_WCR_THRU_4 119,4022 -#define RME96_WCR_THRU_5 120,4060 -#define RME96_WCR_THRU_6 121,4098 -#define RME96_WCR_THRU_7 122,4136 -#define RME96_WCR_DOLBY 123,4174 -#define RME96_WCR_MONITOR_0 124,4212 -#define RME96_WCR_MONITOR_1 125,4250 -#define RME96_WCR_ISEL 126,4288 -#define RME96_WCR_IDIS 127,4326 -#define RME96_WCR_BITPOS_GAIN_0 129,4365 -#define RME96_WCR_BITPOS_GAIN_1 130,4399 -#define RME96_WCR_BITPOS_FREQ_0 131,4433 -#define RME96_WCR_BITPOS_FREQ_1 132,4467 -#define RME96_WCR_BITPOS_INP_0 133,4502 -#define RME96_WCR_BITPOS_INP_1 134,4536 -#define RME96_WCR_BITPOS_MONITOR_0 135,4570 -#define RME96_WCR_BITPOS_MONITOR_1 136,4608 -#define RME96_RCR_AUDIO_ADDR_MASK 139,4680 -#define RME96_RCR_IRQ_2 140,4721 -#define RME96_RCR_T_OUT 141,4759 -#define RME96_RCR_DEV_ID_0 142,4797 -#define RME96_RCR_DEV_ID_1 143,4835 -#define RME96_RCR_LOCK 144,4873 -#define RME96_RCR_VERF 145,4911 -#define RME96_RCR_F0 146,4949 -#define RME96_RCR_F1 147,4987 -#define RME96_RCR_F2 148,5025 -#define RME96_RCR_AUTOSYNC 149,5063 -#define RME96_RCR_IRQ 150,5101 -#define RME96_RCR_BITPOS_F0 152,5140 -#define RME96_RCR_BITPOS_F1 153,5171 -#define RME96_RCR_BITPOS_F2 154,5202 -#define RME96_AR_WSEL 157,5264 -#define RME96_AR_ANALOG 158,5301 -#define RME96_AR_FREQPAD_0 159,5338 -#define RME96_AR_FREQPAD_1 160,5375 -#define RME96_AR_FREQPAD_2 161,5412 -#define RME96_AR_PD2 162,5449 -#define RME96_AR_DAC_EN 163,5486 -#define RME96_AR_CLATCH 164,5523 -#define RME96_AR_CCLK 165,5560 -#define RME96_AR_CDATA 166,5597 -#define RME96_AR_BITPOS_F0 168,5635 -#define RME96_AR_BITPOS_F1 169,5664 -#define RME96_AR_BITPOS_F2 170,5693 -#define RME96_MONITOR_TRACKS_1_2 173,5744 -#define RME96_MONITOR_TRACKS_3_4 174,5779 -#define RME96_MONITOR_TRACKS_5_6 175,5814 -#define RME96_MONITOR_TRACKS_7_8 176,5849 -#define RME96_ATTENUATION_0 179,5903 -#define RME96_ATTENUATION_6 180,5933 -#define RME96_ATTENUATION_12 181,5963 -#define RME96_ATTENUATION_18 182,5994 -#define RME96_INPUT_OPTICAL 185,6044 -#define RME96_INPUT_COAXIAL 186,6074 -#define RME96_INPUT_INTERNAL 187,6104 -#define RME96_INPUT_XLR 188,6135 -#define RME96_INPUT_ANALOG 189,6161 -#define RME96_CLOCKMODE_SLAVE 192,6209 -#define RME96_CLOCKMODE_MASTER 193,6241 -#define RME96_CLOCKMODE_WORDCLOCK 194,6274 -#define RME96_SMALL_BLOCK_SIZE 197,6338 -#define RME96_LARGE_BLOCK_SIZE 198,6374 -#define RME96_AD1852_VOL_BITS 201,6432 -#define RME96_AD1855_VOL_BITS 202,6465 -#define PCI_VENDOR_ID_XILINX 209,6640 -#define PCI_DEVICE_ID_DIGI96 212,6712 -#define PCI_DEVICE_ID_DIGI96_8 215,6786 -#define PCI_DEVICE_ID_DIGI96_8_PRO 218,6866 -#define PCI_DEVICE_ID_DIGI96_8_PAD_OR_PST 221,6957 -typedef struct snd_rme96 snd_rme96224,7014 -} rme96_t;rme96_t253,7898 -static struct pci_device_id snd_rme96_ids[255,7910 -#define RME96_ISPLAYING(RME96_ISPLAYING269,8378 -#define RME96_ISRECORDING(RME96_ISRECORDING270,8444 -#define RME96_HAS_ANALOG_IN(RME96_HAS_ANALOG_IN271,8514 -#define RME96_HAS_ANALOG_OUT(RME96_HAS_ANALOG_OUT272,8609 -#define RME96_DAC_IS_1852(RME96_DAC_IS_1852274,8770 -#define RME96_DAC_IS_1855(RME96_DAC_IS_1855275,8854 -#define RME96_185X_MAX_OUT(RME96_185X_MAX_OUT277,9061 -snd_rme96_playback_ptr(310,9890 -snd_rme96_capture_ptr(317,10072 -snd_rme96_ratecode(324,10235 -snd_rme96_playback_silence(338,10590 -snd_rme96_playback_copy(352,10978 -snd_rme96_capture_copy(367,11390 -static snd_pcm_hardware_t snd_rme96_playback_spdif_info 384,11864 -static snd_pcm_hardware_t snd_rme96_capture_spdif_info 413,12790 -static snd_pcm_hardware_t snd_rme96_playback_adat_info 442,13714 -static snd_pcm_hardware_t snd_rme96_capture_adat_info 467,14522 -snd_rme96_write_SPI(502,15923 -snd_rme96_apply_dac_volume(529,16642 -snd_rme96_reset_dac(541,17020 -snd_rme96_getmontracks(549,17227 -snd_rme96_setmontracks(556,17404 -snd_rme96_getattenuation(574,17788 -snd_rme96_setattenuation(581,17961 -snd_rme96_capture_getrate(609,18543 -snd_rme96_playback_getrate(672,19766 -snd_rme96_playback_setrate(702,20388 -snd_rme96_capture_analog_setrate(754,21611 -snd_rme96_setclockmode(796,22682 -snd_rme96_getclockmode(824,23356 -snd_rme96_setinputtype(834,23580 -snd_rme96_getinputtype(895,25219 -snd_rme96_setframelog(905,25459 -snd_rme96_playback_setformat(927,25873 -snd_rme96_capture_setformat(945,26234 -snd_rme96_set_period_properties(963,26598 -snd_rme96_playback_hw_params(982,26994 -snd_rme96_capture_hw_params(1034,28734 -snd_rme96_playback_start(1087,30398 -snd_rme96_capture_start(1099,30654 -snd_rme96_playback_stop(1111,30909 -snd_rme96_capture_stop(1126,31360 -snd_rme96_interrupt(1137,31690 -static unsigned int period_bytes[1164,32401 -static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes 1166,32491 -snd_rme96_playback_spdif_open(1173,32644 -snd_rme96_capture_spdif_open(1212,34087 -snd_rme96_playback_adat_open(1247,35223 -snd_rme96_capture_adat_open(1281,36437 -snd_rme96_playback_close(1318,37746 -snd_rme96_capture_close(1340,38351 -snd_rme96_playback_prepare(1355,38687 -snd_rme96_capture_prepare(1369,39012 -snd_rme96_playback_trigger(1383,39336 -snd_rme96_capture_trigger(1426,40157 -snd_rme96_playback_pointer(1470,40993 -snd_rme96_capture_pointer(1477,41174 -static snd_pcm_ops_t snd_rme96_playback_spdif_ops 1483,41328 -static snd_pcm_ops_t snd_rme96_capture_spdif_ops 1496,41765 -static snd_pcm_ops_t snd_rme96_playback_adat_ops 1508,42154 -static snd_pcm_ops_t snd_rme96_capture_adat_ops 1521,42589 -snd_rme96_free(1534,42988 -snd_rme96_free_spdif_pcm(1560,43534 -snd_rme96_free_adat_pcm(1567,43667 -snd_rme96_create(1574,43807 -snd_rme96_proc_read(1691,47330 -snd_rme96_proc_init(1820,51563 -snd_rme96_info_loopback_control(1833,51793 -snd_rme96_get_loopback_control(1842,52031 -snd_rme96_put_loopback_control(1852,52333 -snd_rme96_info_inputtype_control(1868,52809 -snd_rme96_get_inputtype_control(1905,53910 -snd_rme96_put_inputtype_control(1944,54859 -snd_rme96_info_clockmode_control(1986,55779 -snd_rme96_get_clockmode_control(2000,56214 -snd_rme96_put_clockmode_control(2010,56512 -snd_rme96_info_attenuation_control(2025,56916 -snd_rme96_get_attenuation_control(2039,57358 -snd_rme96_put_attenuation_control(2049,57660 -snd_rme96_info_montracks_control(2065,58071 -snd_rme96_get_montracks_control(2079,58502 -snd_rme96_put_montracks_control(2089,58800 -static u32 snd_rme96_convert_from_aes(2103,59193 -static void snd_rme96_convert_to_aes(2115,59620 -static int snd_rme96_control_spdif_info(2125,60017 -static int snd_rme96_control_spdif_get(2132,60190 -static int snd_rme96_control_spdif_put(2140,60426 -static int snd_rme96_control_spdif_stream_info(2154,60804 -static int snd_rme96_control_spdif_stream_get(2161,60984 -static int snd_rme96_control_spdif_stream_put(2169,61234 -static int snd_rme96_control_spdif_mask_info(2185,61775 -static int snd_rme96_control_spdif_mask_get(2192,61953 -snd_rme96_dac_volume_info(2199,62145 -snd_rme96_dac_volume_get(2211,62479 -snd_rme96_dac_volume_put(2224,62802 -static snd_kcontrol_new_t snd_rme96_controls[2249,63436 -snd_rme96_create_switches(2330,66107 -static void snd_rme96_card_free(2356,66649 -snd_rme96_probe(2362,66762 -static void __devexit snd_rme96_remove(2423,68138 -static struct pci_driver driver 2429,68270 -static int __init alsa_card_rme96_init(2436,68430 -static void __exit alsa_card_rme96_exit(2441,68514 -module_init(2446,68598 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/via82xx.c,10808 -#define POINTER_DEBUG64,2127 -#define SUPPORT_JOYSTICK 73,2431 -static int index[76,2466 -static char *id[77,2535 -static int enable[78,2608 -static long mpu_port[79,2690 -static int joystick[81,2749 -static int ac97_clock[83,2790 -static int ac97_quirk[84,2864 -static int dxs_support[85,2950 -static int boot_devs;86,2987 -#define PCI_DEVICE_ID_VIA_82C686_5 110,4083 -#define PCI_DEVICE_ID_VIA_8233_5 113,4165 -#define VIA_REV_686_A 117,4247 -#define VIA_REV_686_B 118,4275 -#define VIA_REV_686_C 119,4303 -#define VIA_REV_686_D 120,4331 -#define VIA_REV_686_E 121,4359 -#define VIA_REV_686_H 122,4387 -#define VIA_REV_PRE_8233 125,4451 -#define VIA_REV_8233C 126,4501 -#define VIA_REV_8233 127,4559 -#define VIA_REV_8233A 128,4623 -#define VIA_REV_8235 129,4681 -#define VIAREG(VIAREG135,4775 -#define VIADEV_REG(VIADEV_REG136,4826 -#define VIA_REG_OFFSET_STATUS 139,4909 -#define VIA_REG_STAT_ACTIVE 140,4973 -#define VIA_REG_STAT_PAUSED 141,5018 -#define VIA_REG_STAT_TRIGGER_QUEUED 142,5063 -#define VIA_REG_STAT_STOPPED 143,5115 -#define VIA_REG_STAT_EOL 144,5162 -#define VIA_REG_STAT_FLAG 145,5205 -#define VIA_REG_OFFSET_CONTROL 146,5249 -#define VIA_REG_CTRL_START 147,5315 -#define VIA_REG_CTRL_TERMINATE 148,5359 -#define VIA_REG_CTRL_AUTOSTART 149,5406 -#define VIA_REG_CTRL_PAUSE 150,5444 -#define VIA_REG_CTRL_INT_STOP 151,5488 -#define VIA_REG_CTRL_INT_EOL 152,5528 -#define VIA_REG_CTRL_INT_FLAG 153,5565 -#define VIA_REG_CTRL_RESET 154,5603 -#define VIA_REG_CTRL_INT 155,5678 -#define VIA_REG_OFFSET_TYPE 156,5777 -#define VIA_REG_TYPE_AUTOSTART 157,5848 -#define VIA_REG_TYPE_16BIT 158,5914 -#define VIA_REG_TYPE_STEREO 159,5958 -#define VIA_REG_TYPE_INT_LLINE 160,6003 -#define VIA_REG_TYPE_INT_LSAMPLE 161,6041 -#define VIA_REG_TYPE_INT_LESSONE 162,6081 -#define VIA_REG_TYPE_INT_MASK 163,6121 -#define VIA_REG_TYPE_INT_EOL 164,6159 -#define VIA_REG_TYPE_INT_FLAG 165,6196 -#define VIA_REG_OFFSET_TABLE_PTR 166,6234 -#define VIA_REG_OFFSET_CURR_PTR 167,6308 -#define VIA_REG_OFFSET_STOP_IDX 168,6384 -#define VIA8233_REG_TYPE_16BIT 169,6474 -#define VIA8233_REG_TYPE_STEREO 170,6527 -#define VIA_REG_OFFSET_CURR_COUNT 171,6581 -#define VIA_REG_OFFSET_CURR_INDEX 172,6665 -#define DEFINE_VIA_REGSET(DEFINE_VIA_REGSET174,6759 -#define VIA_REG_AC97 191,7239 -#define VIA_REG_AC97_CODEC_ID_MASK 192,7279 -#define VIA_REG_AC97_CODEC_ID_SHIFT 193,7324 -#define VIA_REG_AC97_CODEC_ID_PRIMARY 194,7365 -#define VIA_REG_AC97_CODEC_ID_SECONDARY 195,7410 -#define VIA_REG_AC97_SECONDARY_VALID 196,7457 -#define VIA_REG_AC97_PRIMARY_VALID 197,7504 -#define VIA_REG_AC97_BUSY 198,7549 -#define VIA_REG_AC97_READ 199,7586 -#define VIA_REG_AC97_CMD_SHIFT 200,7623 -#define VIA_REG_AC97_CMD_MASK 201,7659 -#define VIA_REG_AC97_DATA_SHIFT 202,7697 -#define VIA_REG_AC97_DATA_MASK 203,7733 -#define VIA_REG_SGD_SHADOW 205,7774 -#define VIA_REG_SGD_STAT_PB_FLAG 207,7832 -#define VIA_REG_SGD_STAT_CP_FLAG 208,7874 -#define VIA_REG_SGD_STAT_FM_FLAG 209,7916 -#define VIA_REG_SGD_STAT_PB_EOL 210,7958 -#define VIA_REG_SGD_STAT_CP_EOL 211,7999 -#define VIA_REG_SGD_STAT_FM_EOL 212,8040 -#define VIA_REG_SGD_STAT_PB_STOP 213,8081 -#define VIA_REG_SGD_STAT_CP_STOP 214,8123 -#define VIA_REG_SGD_STAT_FM_STOP 215,8165 -#define VIA_REG_SGD_STAT_PB_ACTIVE 216,8208 -#define VIA_REG_SGD_STAT_CP_ACTIVE 217,8253 -#define VIA_REG_SGD_STAT_FM_ACTIVE 218,8298 -#define VIA8233_REG_SGD_STAT_FLAG 220,8357 -#define VIA8233_REG_SGD_STAT_EOL 221,8400 -#define VIA8233_REG_SGD_STAT_STOP 222,8442 -#define VIA8233_REG_SGD_STAT_ACTIVE 223,8485 -#define VIA8233_INTR_MASK(VIA8233_INTR_MASK224,8530 -#define VIA8233_REG_SGD_CHAN_SDX 225,8633 -#define VIA8233_REG_SGD_CHAN_MULTI 226,8670 -#define VIA8233_REG_SGD_CHAN_REC 227,8709 -#define VIA8233_REG_SGD_CHAN_REC1 228,8746 -#define VIA_REG_GPI_STATUS 230,8785 -#define VIA_REG_GPI_INTR 231,8818 -#define VIA_REG_OFS_PLAYBACK_VOLUME_L 238,9012 -#define VIA_REG_OFS_PLAYBACK_VOLUME_R 239,9066 -#define VIA_REG_OFS_MULTPLAY_FORMAT 240,9120 -#define VIA_REG_MULTPLAY_FMT_8BIT 241,9194 -#define VIA_REG_MULTPLAY_FMT_16BIT 242,9235 -#define VIA_REG_MULTPLAY_FMT_CH_MASK 243,9277 -#define VIA_REG_OFS_CAPTURE_FIFO 244,9361 -#define VIA_REG_CAPTURE_FIFO_ENABLE 245,9433 -#define VIA_DXS_MAX_VOLUME 247,9477 -#define VIA_REG_CAPTURE_CHANNEL 249,9556 -#define VIA_REG_CAPTURE_CHANNEL_MIC 250,9620 -#define VIA_REG_CAPTURE_CHANNEL_LINE 251,9662 -#define VIA_REG_CAPTURE_SELECT_CODEC 252,9703 -#define VIA_TBL_BIT_FLAG 254,9791 -#define VIA_TBL_BIT_EOL 255,9827 -#define VIA_ACLINK_STAT 258,9880 -#define VIA_ACLINK_C11_READY 259,9910 -#define VIA_ACLINK_C10_READY 260,9945 -#define VIA_ACLINK_C01_READY 261,9980 -#define VIA_ACLINK_LOWPOWER 262,10043 -#define VIA_ACLINK_C00_READY 263,10099 -#define VIA_ACLINK_CTRL 264,10160 -#define VIA_ACLINK_CTRL_ENABLE 265,10190 -#define VIA_ACLINK_CTRL_RESET 266,10255 -#define VIA_ACLINK_CTRL_SYNC 267,10321 -#define VIA_ACLINK_CTRL_SDO 268,10396 -#define VIA_ACLINK_CTRL_VRA 269,10468 -#define VIA_ACLINK_CTRL_PCM 270,10538 -#define VIA_ACLINK_CTRL_FM 271,10608 -#define VIA_ACLINK_CTRL_SB 272,10659 -#define VIA_ACLINK_CTRL_INIT 273,10710 -#define VIA_FUNC_ENABLE 277,10848 -#define VIA_FUNC_MIDI_PNP 278,10878 -#define VIA_FUNC_MIDI_IRQMASK 279,10951 -#define VIA_FUNC_RX2C_WRITE 280,11016 -#define VIA_FUNC_SB_FIFO_EMPTY 281,11050 -#define VIA_FUNC_ENABLE_GAME 282,11087 -#define VIA_FUNC_ENABLE_FM 283,11122 -#define VIA_FUNC_ENABLE_MIDI 284,11155 -#define VIA_FUNC_ENABLE_SB 285,11190 -#define VIA_PNP_CONTROL 286,11223 -#define VIA_FM_NMI_CTRL 287,11253 -#define VIA8233_VOLCHG_CTRL 288,11283 -#define VIA8233_SPDIF_CTRL 289,11316 -#define VIA8233_SPDIF_DX3 290,11348 -#define VIA8233_SPDIF_SLOT_MASK 291,11380 -#define VIA8233_SPDIF_SLOT_1011 292,11418 -#define VIA8233_SPDIF_SLOT_34 293,11456 -#define VIA8233_SPDIF_SLOT_78 294,11493 -#define VIA8233_SPDIF_SLOT_69 295,11530 -#define VIA_DXS_AUTO 300,11576 -#define VIA_DXS_ENABLE 301,11599 -#define VIA_DXS_DISABLE 302,11624 -#define VIA_DXS_48K 303,11650 -#define VIA_DXS_NO_VRA 304,11672 -typedef struct _snd_via82xx via82xx_t;via82xx_t310,11707 -typedef struct via_dev viadev_t;viadev_t311,11746 -struct snd_via_sg_table snd_via_sg_table317,11802 -#define VIA_TABLE_SIZE 322,11875 -struct via_dev via_dev324,11903 -enum { TYPE_CARD_VIA686 340,12306 -enum { TYPE_CARD_VIA686 = 1, TYPE_CARD_VIA8233 340,12306 -enum { TYPE_VIA686,341,12356 -enum { TYPE_VIA686, TYPE_VIA8233,341,12356 -enum { TYPE_VIA686, TYPE_VIA8233, TYPE_VIA8233A 341,12356 -#define VIA_MAX_DEVS 343,12408 -struct via_rate_lock via_rate_lock345,12469 -struct _snd_via82xx _snd_via82xx351,12536 -static struct pci_device_id snd_via82xx_ids[402,13817 -static int build_via_table(418,14219 -static int clean_via_table(485,16145 -static inline unsigned int snd_via82xx_codec_xread(503,16448 -static inline void snd_via82xx_codec_xwrite(508,16555 -static int snd_via82xx_codec_ready(513,16672 -static int snd_via82xx_codec_valid(527,17064 -static void snd_via82xx_codec_wait(544,17484 -static void snd_via82xx_codec_write(554,17754 -static unsigned short snd_via82xx_codec_read(571,18276 -static void snd_via82xx_channel_reset(600,19150 -static irqreturn_t snd_via82xx_interrupt(620,19711 -static int snd_via82xx_pcm_trigger(666,20861 -#define check_invalid_pos(check_invalid_pos710,21822 -static inline unsigned int calc_linear_pos(713,21959 -static snd_pcm_uframes_t snd_via686_pcm_pointer(753,23400 -static snd_pcm_uframes_t snd_via8233_pcm_pointer(782,24380 -static int snd_via82xx_hw_params(813,25259 -static int snd_via82xx_hw_free(836,25866 -static void snd_via82xx_set_table_ptr(850,26187 -static void via686_setup_format(861,26480 -static int snd_via686_playback_prepare(874,27041 -static int snd_via686_capture_prepare(886,27475 -static int via_lock_rate(900,27878 -static int snd_via8233_playback_prepare(920,28247 -static int snd_via8233_multi_prepare(957,29717 -static int snd_via8233_capture_prepare(1005,31438 -static snd_pcm_hardware_t snd_via82xx_hw 1030,32364 -static int snd_via82xx_pcm_open(1055,32980 -static int snd_via82xx_playback_open(1101,34378 -static int snd_via8233_multi_open(1115,34744 -static int snd_via82xx_capture_open(1143,35537 -static int snd_via82xx_pcm_close(1154,35825 -static snd_pcm_ops_t snd_via686_playback_ops 1174,36307 -static snd_pcm_ops_t snd_via686_capture_ops 1187,36708 -static snd_pcm_ops_t snd_via8233_playback_ops 1200,37112 -static snd_pcm_ops_t snd_via8233_multi_ops 1213,37532 -static snd_pcm_ops_t snd_via8233_capture_ops 1226,37928 -static void init_viadev(1239,38299 -static int __devinit snd_via8233_pcm_new(1249,38596 -static int __devinit snd_via8233a_pcm_new(1303,40415 -static int __devinit snd_via686_pcm_new(1357,42063 -static int snd_via8233_capture_source_info(1390,42917 -static int snd_via8233_capture_source_get(1407,43473 -static int snd_via8233_capture_source_put(1415,43842 -static snd_kcontrol_new_t snd_via8233_capture_source __devinitdata 1432,44397 -static int snd_via8233_dxs3_spdif_info(1440,44664 -static int snd_via8233_dxs3_spdif_get(1449,44898 -static int snd_via8233_dxs3_spdif_put(1459,45199 -static snd_kcontrol_new_t snd_via8233_dxs3_spdif_control __devinitdata 1477,45739 -static int snd_via8233_dxs_volume_info(1485,45999 -static int snd_via8233_dxs_volume_get(1494,46250 -static int snd_via8233_dxs_volume_put(1503,46649 -static snd_kcontrol_new_t snd_via8233_dxs_volume_control __devinitdata 1525,47298 -static void snd_via82xx_mixer_free_ac97_bus(1537,47582 -static void snd_via82xx_mixer_free_ac97(1543,47710 -static struct ac97_quirk ac97_quirks[1549,47828 -static int __devinit snd_via82xx_mixer_new(1595,48637 -static int snd_via8233_init_misc(1631,49537 -static int snd_via686_init_misc(1665,50603 -#define JOYSTICK_ADDR 1714,52042 -static void snd_via82xx_proc_read(1753,53040 -static void __devinit snd_via82xx_proc_init(1764,53334 -static int __devinit snd_via82xx_chip_init(1776,53562 -static int snd_via82xx_suspend(1890,57193 -static int snd_via82xx_resume(1916,57988 -static int snd_via82xx_free(1952,59158 -static int snd_via82xx_dev_free(1985,60007 -static int __devinit snd_via82xx_create(1991,60138 -struct via823x_info via823x_info2061,61935 -static struct via823x_info via823x_cards[2066,61999 -static struct via823x_info via823x_cards[] __devinitdata 2066,61999 -struct dxs_whitelist dxs_whitelist2077,62352 -static int __devinit check_dxs_list(2084,62494 -static int __devinit snd_via82xx_probe(2144,65908 -static void __devexit snd_via82xx_remove(2256,68794 -static struct pci_driver driver 2262,68928 -static int __init alsa_card_via82xx_init(2270,69120 -static void __exit alsa_card_via82xx_exit(2275,69206 -module_init(2280,69292 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/atiixp.c,9409 -static int index[42,1402 -static char *id[43,1471 -static int enable[44,1544 -static int ac97_clock[45,1626 -static int spdif_aclink[46,1700 -static int boot_devs;47,1772 -#define ATI_REG_ISR 64,2383 -#define ATI_REG_ISR_IN_XRUN 65,2433 -#define ATI_REG_ISR_IN_STATUS 66,2471 -#define ATI_REG_ISR_OUT_XRUN 67,2511 -#define ATI_REG_ISR_OUT_STATUS 68,2550 -#define ATI_REG_ISR_SPDF_XRUN 69,2591 -#define ATI_REG_ISR_SPDF_STATUS 70,2631 -#define ATI_REG_ISR_PHYS_INTR 71,2672 -#define ATI_REG_ISR_PHYS_MISMATCH 72,2712 -#define ATI_REG_ISR_CODEC0_NOT_READY 73,2755 -#define ATI_REG_ISR_CODEC1_NOT_READY 74,2802 -#define ATI_REG_ISR_CODEC2_NOT_READY 75,2849 -#define ATI_REG_ISR_NEW_FRAME 76,2896 -#define ATI_REG_IER 78,2938 -#define ATI_REG_IER_IN_XRUN_EN 79,2988 -#define ATI_REG_IER_IO_STATUS_EN 80,3029 -#define ATI_REG_IER_OUT_XRUN_EN 81,3071 -#define ATI_REG_IER_OUT_XRUN_COND 82,3112 -#define ATI_REG_IER_SPDF_XRUN_EN 83,3155 -#define ATI_REG_IER_SPDF_STATUS_EN 84,3197 -#define ATI_REG_IER_PHYS_INTR_EN 85,3241 -#define ATI_REG_IER_PHYS_MISMATCH_EN 86,3283 -#define ATI_REG_IER_CODEC0_INTR_EN 87,3329 -#define ATI_REG_IER_CODEC1_INTR_EN 88,3374 -#define ATI_REG_IER_CODEC2_INTR_EN 89,3419 -#define ATI_REG_IER_NEW_FRAME_EN 90,3464 -#define ATI_REG_IER_SET_BUS_BUSY 91,3517 -#define ATI_REG_CMD 93,3589 -#define ATI_REG_CMD_POWERDOWN 94,3630 -#define ATI_REG_CMD_RECEIVE_EN 95,3670 -#define ATI_REG_CMD_SEND_EN 96,3711 -#define ATI_REG_CMD_STATUS_MEM 97,3749 -#define ATI_REG_CMD_SPDF_OUT_EN 98,3790 -#define ATI_REG_CMD_SPDF_STATUS_MEM 99,3831 -#define ATI_REG_CMD_SPDF_THRESHOLD 100,3876 -#define ATI_REG_CMD_SPDF_THRESHOLD_SHIFT 101,3920 -#define ATI_REG_CMD_IN_DMA_EN 102,3964 -#define ATI_REG_CMD_OUT_DMA_EN 103,4004 -#define ATI_REG_CMD_SPDF_DMA_EN 104,4045 -#define ATI_REG_CMD_SPDF_OUT_STOPPED 105,4087 -#define ATI_REG_CMD_SPDF_CONFIG_MASK 106,4134 -#define ATI_REG_CMD_SPDF_CONFIG_34 107,4181 -#define ATI_REG_CMD_SPDF_CONFIG_78 108,4227 -#define ATI_REG_CMD_SPDF_CONFIG_69 109,4273 -#define ATI_REG_CMD_SPDF_CONFIG_01 110,4319 -#define ATI_REG_CMD_INTERLEAVE_SPDF 111,4365 -#define ATI_REG_CMD_AUDIO_PRESENT 112,4411 -#define ATI_REG_CMD_INTERLEAVE_IN 113,4455 -#define ATI_REG_CMD_INTERLEAVE_OUT 114,4499 -#define ATI_REG_CMD_LOOPBACK_EN 115,4544 -#define ATI_REG_CMD_PACKED_DIS 116,4586 -#define ATI_REG_CMD_BURST_EN 117,4628 -#define ATI_REG_CMD_PANIC_EN 118,4668 -#define ATI_REG_CMD_MODEM_PRESENT 119,4708 -#define ATI_REG_CMD_ACLINK_ACTIVE 120,4752 -#define ATI_REG_CMD_AC_SOFT_RESET 121,4796 -#define ATI_REG_CMD_AC_SYNC 122,4840 -#define ATI_REG_CMD_AC_RESET 123,4879 -#define ATI_REG_PHYS_OUT_ADDR 125,4920 -#define ATI_REG_PHYS_OUT_CODEC_MASK 126,4956 -#define ATI_REG_PHYS_OUT_RW 127,5001 -#define ATI_REG_PHYS_OUT_ADDR_EN 128,5039 -#define ATI_REG_PHYS_OUT_ADDR_SHIFT 129,5081 -#define ATI_REG_PHYS_OUT_DATA_SHIFT 130,5120 -#define ATI_REG_PHYS_IN_ADDR 132,5161 -#define ATI_REG_PHYS_IN_READ_FLAG 133,5196 -#define ATI_REG_PHYS_IN_ADDR_SHIFT 134,5239 -#define ATI_REG_PHYS_IN_DATA_SHIFT 135,5277 -#define ATI_REG_SLOTREQ 137,5317 -#define ATI_REG_COUNTER 139,5349 -#define ATI_REG_COUNTER_SLOT 140,5380 -#define ATI_REG_COUNTER_BITCLOCK 141,5432 -#define ATI_REG_IN_FIFO_THRESHOLD 143,5476 -#define ATI_REG_IN_DMA_LINKPTR 145,5516 -#define ATI_REG_IN_DMA_DT_START 146,5553 -#define ATI_REG_IN_DMA_DT_NEXT 147,5600 -#define ATI_REG_IN_DMA_DT_CUR 148,5646 -#define ATI_REG_IN_DMA_DT_SIZE 149,5691 -#define ATI_REG_OUT_DMA_SLOT 151,5729 -#define ATI_REG_OUT_DMA_SLOT_BIT(ATI_REG_OUT_DMA_SLOT_BIT152,5764 -#define ATI_REG_OUT_DMA_SLOT_MASK 153,5819 -#define ATI_REG_OUT_DMA_THRESHOLD_MASK 154,5860 -#define ATI_REG_OUT_DMA_THRESHOLD_SHIFT 155,5907 -#define ATI_REG_OUT_DMA_LINKPTR 157,5952 -#define ATI_REG_OUT_DMA_DT_START 158,5990 -#define ATI_REG_OUT_DMA_DT_NEXT 159,6037 -#define ATI_REG_OUT_DMA_DT_CUR 160,6084 -#define ATI_REG_OUT_DMA_DT_SIZE 161,6130 -#define ATI_REG_SPDF_CMD 163,6169 -#define ATI_REG_SPDF_CMD_LFSR 164,6200 -#define ATI_REG_SPDF_CMD_SINGLE_CH 165,6240 -#define ATI_REG_SPDF_CMD_LFSR_ACC 166,6284 -#define ATI_REG_SPDF_DMA_LINKPTR 168,6339 -#define ATI_REG_SPDF_DMA_DT_START 169,6377 -#define ATI_REG_SPDF_DMA_DT_NEXT 170,6425 -#define ATI_REG_SPDF_DMA_DT_CUR 171,6472 -#define ATI_REG_SPDF_DMA_DT_SIZE 172,6519 -#define ATI_REG_MODEM_MIRROR 174,6558 -#define ATI_REG_AUDIO_MIRROR 175,6593 -#define ATI_REG_6CH_REORDER 177,6629 -#define ATI_REG_6CH_REORDER_EN 178,6691 -#define ATI_REG_FIFO_FLUSH 180,6766 -#define ATI_REG_FIFO_OUT_FLUSH 181,6799 -#define ATI_REG_FIFO_IN_FLUSH 182,6840 -#define ATI_REG_LINKPTR_EN 185,6895 -#define ATI_REG_DMA_DT_SIZE 188,6967 -#define ATI_REG_DMA_FIFO_USED 189,7010 -#define ATI_REG_DMA_FIFO_FREE 190,7054 -#define ATI_REG_DMA_STATE 191,7098 -#define ATI_MAX_DESCRIPTORS 194,7137 -typedef struct snd_atiixp atiixp_t;atiixp_t200,7218 -typedef struct snd_atiixp_dma atiixp_dma_t;atiixp_dma_t201,7254 -typedef struct snd_atiixp_dma_ops atiixp_dma_ops_t;atiixp_dma_ops_t202,7298 -typedef struct atiixp_dma_desc atiixp_dma_desc209,7386 -} atiixp_dma_desc_t;atiixp_dma_desc_t214,7587 -enum { ATI_DMA_PLAYBACK,219,7631 -enum { ATI_DMA_PLAYBACK, ATI_DMA_CAPTURE,219,7631 -enum { ATI_DMA_PLAYBACK, ATI_DMA_CAPTURE, ATI_DMA_SPDIF,219,7631 -enum { ATI_DMA_PLAYBACK, ATI_DMA_CAPTURE, ATI_DMA_SPDIF, NUM_ATI_DMAS 219,7631 -enum { ATI_PCM_OUT,220,7715 -enum { ATI_PCM_OUT, ATI_PCM_IN,220,7715 -enum { ATI_PCM_OUT, ATI_PCM_IN, ATI_PCM_SPDIF,220,7715 -enum { ATI_PCM_OUT, ATI_PCM_IN, ATI_PCM_SPDIF, NUM_ATI_PCMS 220,7715 -enum { ATI_PCMDEV_ANALOG,221,7799 -enum { ATI_PCMDEV_ANALOG, ATI_PCMDEV_DIGITAL,221,7799 -enum { ATI_PCMDEV_ANALOG, ATI_PCMDEV_DIGITAL, NUM_ATI_PCMDEVS 221,7799 -#define NUM_ATI_CODECS 223,7883 -struct snd_atiixp_dma_ops snd_atiixp_dma_ops229,7962 -struct snd_atiixp_dma snd_atiixp_dma241,8377 -struct snd_atiixp snd_atiixp256,8775 -static struct pci_device_id snd_atiixp_ids[285,9354 -static int snd_atiixp_update_bits(303,9769 -#define atiixp_write(atiixp_write320,10123 -#define atiixp_read(atiixp_read322,10211 -#define atiixp_update(atiixp_update324,10284 -#define do_delay(do_delay328,10409 -#define ATI_DESC_LIST_SIZE 341,10697 -static int atiixp_build_dma_packets(353,11112 -static void atiixp_clear_dma_packets(410,12732 -static int snd_atiixp_acquire_codec(422,13017 -static unsigned short snd_atiixp_codec_read(436,13300 -static void snd_atiixp_codec_write(464,14042 -static unsigned short snd_atiixp_ac97_read(477,14431 -static void snd_atiixp_ac97_write(488,14707 -static int snd_atiixp_aclink_reset(499,14976 -static int snd_atiixp_aclink_down(535,15966 -#define ALL_CODEC_NOT_READY 554,16468 -#define CODEC_CHECK_BITS 558,16610 -static int snd_atiixp_codec_detect(560,16680 -static int snd_atiixp_chip_start(586,17213 -static int snd_atiixp_chip_stop(616,17931 -static snd_pcm_uframes_t snd_atiixp_pcm_pointer(635,18319 -static void snd_atiixp_xrun_dma(661,19070 -static void snd_atiixp_update_dma(672,19361 -static void snd_atiixp_check_bus_busy(681,19612 -static int snd_atiixp_pcm_trigger(696,20014 -static void atiixp_out_flush_dma(737,20954 -static void atiixp_out_enable_dma(743,21101 -static void atiixp_out_enable_transfer(758,21453 -static void atiixp_in_enable_dma(765,21642 -static void atiixp_in_enable_transfer(772,21825 -static void atiixp_in_flush_dma(791,22337 -static void atiixp_spdif_enable_dma(797,22481 -static void atiixp_spdif_enable_transfer(804,22671 -static void atiixp_spdif_flush_dma(816,22945 -static int snd_atiixp_spdif_prepare(835,23349 -static int snd_atiixp_playback_prepare(862,24310 -static int snd_atiixp_capture_prepare(907,25557 -static int snd_atiixp_pcm_hw_params(922,25994 -static int snd_atiixp_pcm_hw_free(960,27024 -static snd_pcm_hardware_t snd_atiixp_pcm_hw 979,27521 -static int snd_atiixp_pcm_open(998,28065 -static int snd_atiixp_pcm_close(1031,28960 -static int snd_atiixp_playback_open(1046,29348 -static int snd_atiixp_playback_close(1064,29858 -static int snd_atiixp_capture_open(1074,30129 -static int snd_atiixp_capture_close(1080,30327 -static int snd_atiixp_spdif_open(1086,30524 -static int snd_atiixp_spdif_close(1099,30927 -static snd_pcm_ops_t snd_atiixp_playback_ops 1113,31321 -static snd_pcm_ops_t snd_atiixp_capture_ops 1125,31684 -static snd_pcm_ops_t snd_atiixp_spdif_ops 1137,32045 -static struct ac97_pcm atiixp_pcm_defs[1148,32377 -static struct ac97_pcm atiixp_pcm_defs[] __devinitdata 1148,32377 -static atiixp_dma_ops_t snd_atiixp_playback_dma_ops 1184,33031 -static atiixp_dma_ops_t snd_atiixp_capture_dma_ops 1193,33316 -static atiixp_dma_ops_t snd_atiixp_spdif_dma_ops 1202,33594 -static int __devinit snd_atiixp_pcm_new(1212,33882 -static irqreturn_t snd_atiixp_interrupt(1293,36317 -static int __devinit snd_atiixp_mixer_new(1340,37596 -static int snd_atiixp_suspend(1397,38940 -static int snd_atiixp_resume(1417,39457 -static void snd_atiixp_proc_read(1442,39935 -static void __devinit snd_atiixp_proc_init(1451,40174 -static int snd_atiixp_free(1465,40411 -static int snd_atiixp_dev_free(1481,40738 -static int __devinit snd_atiixp_create(1490,40906 -static int __devinit snd_atiixp_probe(1546,42233 -static void __devexit snd_atiixp_remove(1605,43512 -static struct pci_driver driver 1611,43645 -static int __init alsa_card_atiixp_init(1620,43844 -static void __exit alsa_card_atiixp_exit(1625,43929 -module_init(1630,44014 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart_mixer.c,1917 -static u32 mixart_analog_level[34,1117 -#define MIXART_ANALOG_CAPTURE_LEVEL_MIN 293,10018 -#define MIXART_ANALOG_CAPTURE_LEVEL_MAX 294,10102 -#define MIXART_ANALOG_CAPTURE_ZERO_LEVEL 295,10186 -#define MIXART_ANALOG_PLAYBACK_LEVEL_MIN 297,10270 -#define MIXART_ANALOG_PLAYBACK_LEVEL_MAX 298,10391 -#define MIXART_ANALOG_PLAYBACK_ZERO_LEVEL 299,10474 -static int mixart_update_analog_audio_level(301,10558 -static int mixart_analog_vol_info(339,11730 -static int mixart_analog_vol_get(353,12285 -static int mixart_analog_vol_put(368,12860 -static snd_kcontrol_new_t mixart_control_analog_level 389,13504 -static int mixart_sw_info(398,13748 -static int mixart_audio_sw_get(407,13969 -static int mixart_audio_sw_put(418,14322 -static snd_kcontrol_new_t mixart_control_output_switch 434,14840 -static u32 mixart_digital_level[442,15106 -#define MIXART_DIGITAL_LEVEL_MIN 701,31984 -#define MIXART_DIGITAL_LEVEL_MAX 702,32042 -#define MIXART_DIGITAL_ZERO_LEVEL 703,32099 -int mixart_update_playback_stream_level(706,32157 -int mixart_update_capture_stream_level(756,33674 -static int mixart_digital_vol_info(801,34843 -#define MIXART_VOL_REC_MASK 810,35155 -#define MIXART_VOL_AES_MASK 811,35185 -static int mixart_pcm_vol_get(813,35216 -static int mixart_pcm_vol_put(835,36183 -static snd_kcontrol_new_t snd_mixart_pcm_vol 867,37385 -static int mixart_pcm_sw_get(878,37681 -static int mixart_pcm_sw_put(892,38264 -static snd_kcontrol_new_t mixart_control_pcm_switch 914,39010 -static int mixart_update_monitoring(923,39301 -static int mixart_monitor_vol_get(956,40370 -static int mixart_monitor_vol_put(966,40715 -static snd_kcontrol_new_t mixart_control_monitor_vol 983,41184 -static int mixart_monitor_sw_get(995,41473 -static int mixart_monitor_sw_put(1005,41817 -static snd_kcontrol_new_t mixart_control_monitor_sw 1036,43024 -static void mixart_reset_audio_levels(1045,43287 -int snd_mixart_create_mixer(1057,43593 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart_mixer.h,38 -#define __SOUND_MIXART_MIXER_H24,903 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart_hwdep.c,909 -#define SND_MIXART_HWDEP_ID 34,1107 -static int mixart_hwdep_open(36,1158 -static int mixart_hwdep_release(41,1239 -static int mixart_wait_nice_for_register_value(54,1575 -typedef struct snd_mixart_elf32_ehdr snd_mixart_elf32_ehdr_t;snd_mixart_elf32_ehdr_t80,2190 -struct snd_mixart_elf32_ehdr snd_mixart_elf32_ehdr82,2253 -typedef struct snd_mixart_elf32_phdr snd_mixart_elf32_phdr_t;snd_mixart_elf32_phdr_t99,2559 -struct snd_mixart_elf32_phdr snd_mixart_elf32_phdr101,2622 -static int mixart_load_elf(112,2802 -static int mixart_hwdep_dsp_status(147,3901 -#define MIXART_FIRST_ANA_AUDIO_ID 166,4347 -#define MIXART_FIRST_DIG_AUDIO_ID 167,4389 -static int mixart_enum_connectors(169,4432 -static int mixart_enum_physio(267,7825 -static int mixart_first_init(317,9379 -#define MIXART_MOTHERBOARD_XLX_BASE_ADDRESS 345,10161 -static int mixart_hwdep_dsp_load(347,10219 -int snd_mixart_hwdep_new(552,17216 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart.c,2137 -#define CARD_NAME 40,1266 -static int index[47,1463 -static char *id[48,1544 -static int enable[49,1630 -static int boot_devs;50,1716 -static struct pci_device_id snd_mixart_ids[62,2117 -static int mixart_set_pipe_state(70,2290 -static int mixart_set_clock(160,5002 -mixart_pipe_t* snd_mixart_add_ref_pipe(212,6590 -int snd_mixart_kill_ref_pipe(319,10447 -static int mixart_set_stream_state(367,11669 -static int snd_mixart_trigger(403,12791 -static int mixart_sync_nonblock_events(447,13730 -static int snd_mixart_prepare(464,14093 -static int mixart_set_format(490,14867 -static int snd_mixart_hw_params(573,17455 -static int snd_mixart_hw_free(633,19286 -static snd_pcm_hardware_t snd_mixart_analog_caps 646,19565 -static snd_pcm_hardware_t snd_mixart_digital_caps 667,20391 -static int snd_mixart_playback_open(689,21233 -static int snd_mixart_capture_open(764,23277 -static int snd_mixart_close(843,25364 -static snd_pcm_uframes_t snd_mixart_stream_pointer(873,26122 -static snd_pcm_ops_t snd_mixart_playback_ops 883,26426 -static snd_pcm_ops_t snd_mixart_capture_ops 894,26763 -static void preallocate_buffers(905,27098 -static int snd_mixart_pcm_analog(926,27680 -static int snd_mixart_pcm_digital(957,28367 -static int snd_mixart_chip_free(985,29054 -static int snd_mixart_chip_dev_free(991,29132 -static int __devinit snd_mixart_create(1000,29278 -int snd_mixart_create_pcm(1035,29992 -static int snd_mixart_free(1056,30321 -static long long snd_mixart_BA0_llseek(1103,31215 -static long long snd_mixart_BA1_llseek(1129,31795 -static long snd_mixart_BA0_read(1158,32435 -static long snd_mixart_BA1_read(1177,32985 -static struct snd_info_entry_ops snd_mixart_proc_ops_BA0 1193,33474 -static struct snd_info_entry_ops snd_mixart_proc_ops_BA1 1198,33604 -static void snd_mixart_proc_read(1204,33735 -static void __devinit snd_mixart_proc_init(1240,35303 -static int __devinit snd_mixart_probe(1270,36145 -static void __devexit snd_mixart_remove(1415,39799 -static struct pci_driver driver 1421,39934 -static int __init alsa_card_mixart_init(1428,40102 -static void __exit alsa_card_mixart_exit(1433,40187 -module_init(1438,40272 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart_core.h,10982 -#define __SOUND_MIXART_CORE_H24,951 -enum mixart_message_id mixart_message_id27,983 - MSG_CONNECTOR_GET_AUDIO_INFO 28,1008 - MSG_CONNECTOR_GET_AUDIO_INFO = 0x050008,28,1008 - MSG_CONNECTOR_GET_OUT_AUDIO_LEVEL 29,1058 - MSG_CONNECTOR_GET_OUT_AUDIO_LEVEL = 0x050009,29,1058 - MSG_CONNECTOR_SET_OUT_AUDIO_LEVEL 30,1108 - MSG_CONNECTOR_SET_OUT_AUDIO_LEVEL = 0x05000A,30,1108 - MSG_CONSOLE_MANAGER 32,1159 - MSG_CONSOLE_MANAGER = 0x070000,32,1159 - MSG_CONSOLE_GET_CLOCK_UID 33,1209 - MSG_CONSOLE_GET_CLOCK_UID = 0x070003,33,1209 - MSG_PHYSICALIO_SET_LEVEL 35,1260 - MSG_PHYSICALIO_SET_LEVEL = 0x0F0008,35,1260 - MSG_STREAM_ADD_INPUT_GROUP 37,1311 - MSG_STREAM_ADD_INPUT_GROUP = 0x130000,37,1311 - MSG_STREAM_ADD_OUTPUT_GROUP 38,1361 - MSG_STREAM_ADD_OUTPUT_GROUP = 0x130001,38,1361 - MSG_STREAM_DELETE_GROUP 39,1411 - MSG_STREAM_DELETE_GROUP = 0x130004,39,1411 - MSG_STREAM_START_STREAM_GRP_PACKET 40,1461 - MSG_STREAM_START_STREAM_GRP_PACKET = 0x130006,40,1461 - MSG_STREAM_START_INPUT_STAGE_PACKET 41,1511 - MSG_STREAM_START_INPUT_STAGE_PACKET = 0x130007,41,1511 - MSG_STREAM_START_OUTPUT_STAGE_PACKET 42,1561 - MSG_STREAM_START_OUTPUT_STAGE_PACKET = 0x130008,42,1561 - MSG_STREAM_STOP_STREAM_GRP_PACKET 43,1611 - MSG_STREAM_STOP_STREAM_GRP_PACKET = 0x130009,43,1611 - MSG_STREAM_STOP_INPUT_STAGE_PACKET 44,1661 - MSG_STREAM_STOP_INPUT_STAGE_PACKET = 0x13000A,44,1661 - MSG_STREAM_STOP_OUTPUT_STAGE_PACKET 45,1711 - MSG_STREAM_STOP_OUTPUT_STAGE_PACKET = 0x13000B,45,1711 - MSG_STREAM_SET_INPUT_STAGE_PARAM 46,1761 - MSG_STREAM_SET_INPUT_STAGE_PARAM = 0x13000F,46,1761 - MSG_STREAM_SET_OUTPUT_STAGE_PARAM 47,1811 - MSG_STREAM_SET_OUTPUT_STAGE_PARAM = 0x130010,47,1811 - MSG_STREAM_SET_IN_AUDIO_LEVEL 48,1861 - MSG_STREAM_SET_IN_AUDIO_LEVEL = 0x130015,48,1861 - MSG_STREAM_SET_OUT_STREAM_LEVEL 49,1911 - MSG_STREAM_SET_OUT_STREAM_LEVEL = 0x130017,49,1911 - MSG_SYSTEM_FIRST_ID 51,1962 - MSG_SYSTEM_FIRST_ID = 0x160000,51,1962 - MSG_SYSTEM_ENUM_PHYSICAL_IO 52,2012 - MSG_SYSTEM_ENUM_PHYSICAL_IO = 0x16000E,52,2012 - MSG_SYSTEM_ENUM_PLAY_CONNECTOR 53,2062 - MSG_SYSTEM_ENUM_PLAY_CONNECTOR = 0x160017,53,2062 - MSG_SYSTEM_ENUM_RECORD_CONNECTOR 54,2112 - MSG_SYSTEM_ENUM_RECORD_CONNECTOR = 0x160018,54,2112 - MSG_SYSTEM_WAIT_SYNCHRO_CMD 55,2162 - MSG_SYSTEM_WAIT_SYNCHRO_CMD = 0x16002C,55,2162 - MSG_SYSTEM_SEND_SYNCHRO_CMD 56,2212 - MSG_SYSTEM_SEND_SYNCHRO_CMD = 0x16002D,56,2212 - MSG_SERVICES_TIMER_NOTIFY 58,2263 - MSG_SERVICES_TIMER_NOTIFY = 0x1D0404,58,2263 - MSG_SERVICES_REPORT_TRACES 59,2313 - MSG_SERVICES_REPORT_TRACES = 0x1D0700,59,2313 - MSG_CLOCK_CHECK_PROPERTIES 61,2364 - MSG_CLOCK_CHECK_PROPERTIES = 0x200001,61,2364 - MSG_CLOCK_SET_PROPERTIES 62,2414 - MSG_CLOCK_SET_PROPERTIES = 0x200002,62,2414 -typedef struct mixart_msg mixart_msg_t;mixart_msg_t66,2469 -struct mixart_msgmixart_msg67,2509 -typedef struct mixart_enum_connector_resp mixart_enum_connector_resp_t;mixart_enum_connector_resp_t77,2665 -struct mixart_enum_connector_respmixart_enum_connector_resp78,2737 -#define MIXART_FLOAT_P_22_0_TO_HEX 89,2965 -#define MIXART_FLOAT_M_20_0_TO_HEX 90,3029 -#define MIXART_FLOAT____0_0_TO_HEX 91,3094 -typedef struct mixart_audio_info_req mixart_audio_info_req_t;mixart_audio_info_req_t93,3158 -struct mixart_audio_info_reqmixart_audio_info_req94,3220 -typedef struct mixart_analog_hw_info mixart_analog_hw_info_t;mixart_analog_hw_info_t101,3387 -struct mixart_analog_hw_infomixart_analog_hw_info102,3449 -typedef struct mixart_digital_hw_info mixart_digital_hw_info_t;mixart_digital_hw_info_t114,3766 -struct mixart_digital_hw_infomixart_digital_hw_info115,3830 -typedef struct mixart_analog_info mixart_analog_info_t;mixart_analog_info_t123,3965 -struct mixart_analog_infomixart_analog_info124,4021 -typedef struct mixart_digital_info mixart_digital_info_t;mixart_digital_info_t133,4267 -struct mixart_digital_infomixart_digital_info134,4325 -typedef struct mixart_audio_info mixart_audio_info_t;mixart_audio_info_t141,4471 -struct mixart_audio_infomixart_audio_info142,4525 -typedef struct mixart_audio_info_resp mixart_audio_info_resp_t;mixart_audio_info_resp_t149,4693 -struct mixart_audio_info_respmixart_audio_info_resp150,4757 -#define MIXART_FLOAT_P__4_0_TO_HEX 158,4917 -#define MIXART_FLOAT_P__8_0_TO_HEX 159,4981 -typedef struct mixart_stream_info mixart_stream_info_t;mixart_stream_info_t161,5046 -struct mixart_stream_infomixart_stream_info162,5102 -typedef struct mixart_streaming_group_req mixart_streaming_group_req_t;mixart_streaming_group_req_t172,5325 -struct mixart_streaming_group_reqmixart_streaming_group_req173,5397 -typedef struct mixart_stream_desc mixart_stream_desc_t;mixart_stream_desc_t185,5644 -struct mixart_stream_descmixart_stream_desc186,5700 -typedef struct mixart_streaming_group mixart_streaming_group_t;mixart_streaming_group_t192,5809 -struct mixart_streaming_groupmixart_streaming_group193,5873 -typedef struct mixart_delete_group_resp mixart_delete_group_resp_t;mixart_delete_group_resp_t206,6162 -struct mixart_delete_group_respmixart_delete_group_resp207,6230 -typedef struct mixart_fx_couple_uid mixart_fx_couple_uid_t;mixart_fx_couple_uid_t220,6550 -struct mixart_fx_couple_uidmixart_fx_couple_uid221,6610 -typedef struct mixart_txx_stream_desc mixart_txx_stream_desc_t;mixart_txx_stream_desc_t227,6722 -struct mixart_txx_stream_descmixart_txx_stream_desc228,6786 -typedef struct mixart_flow_info mixart_flow_info_t;mixart_flow_info_t236,6990 -struct mixart_flow_infomixart_flow_info237,7042 -typedef struct mixart_stream_state_req mixart_stream_state_req_t;mixart_stream_state_req_t244,7217 -struct mixart_stream_state_reqmixart_stream_state_req245,7283 -typedef struct mixart_group_state_req mixart_group_state_req_t;mixart_group_state_req_t258,7695 -struct mixart_group_state_reqmixart_group_state_req259,7759 -typedef struct mixart_group_state_resp mixart_group_state_resp_t;mixart_group_state_resp_t268,8024 -struct mixart_group_state_respmixart_group_state_resp269,8090 -typedef struct mixart_sample_pos mixart_sample_pos_t;mixart_sample_pos_t279,8270 -struct mixart_sample_posmixart_sample_pos280,8324 -typedef struct mixart_timer_notify mixart_timer_notify_t;mixart_timer_notify_t288,8471 -struct mixart_timer_notifymixart_timer_notify289,8529 -typedef struct mixart_return_uid mixart_return_uid_t;mixart_return_uid_t301,8826 -struct mixart_return_uidmixart_return_uid302,8880 -enum mixart_clock_generic_type mixart_clock_generic_type312,9077 - CGT_NO_CLOCK,313,9110 - CGT_INTERNAL_CLOCK,314,9125 - CGT_PROGRAMMABLE_CLOCK,315,9146 - CGT_INTERNAL_ENSLAVED_CLOCK,316,9171 - CGT_EXTERNAL_CLOCK,317,9201 - CGT_CURRENT_CLOCK318,9222 -enum mixart_clock_mode mixart_clock_mode321,9245 - CM_UNDEFINED,322,9270 - CM_MASTER,323,9285 - CM_SLAVE,324,9297 - CM_STANDALONE,325,9308 - CM_NOT_CONCERNED326,9324 -typedef struct mixart_clock_properties mixart_clock_properties_t;mixart_clock_properties_t330,9347 -struct mixart_clock_propertiesmixart_clock_properties331,9413 -typedef struct mixart_clock_properties_resp mixart_clock_properties_resp_t;mixart_clock_properties_resp_t349,9811 -struct mixart_clock_properties_respmixart_clock_properties_resp350,9887 -enum mixart_coding_type mixart_coding_type360,10093 - CT_NOT_DEFINED,361,10119 - CT_LINEAR,362,10136 - CT_MPEG_L1,363,10148 - CT_MPEG_L2,364,10161 - CT_MPEG_L3,365,10174 - CT_MPEG_L3_LSF,366,10187 - CT_GSM367,10204 -enum mixart_sample_type mixart_sample_type369,10215 - ST_NOT_DEFINED,370,10241 - ST_FLOATING_POINT_32BE,371,10258 - ST_FLOATING_POINT_32LE,372,10283 - ST_FLOATING_POINT_64BE,373,10308 - ST_FLOATING_POINT_64LE,374,10333 - ST_FIXED_POINT_8,375,10358 - ST_FIXED_POINT_16BE,376,10377 - ST_FIXED_POINT_16LE,377,10399 - ST_FIXED_POINT_24BE,378,10421 - ST_FIXED_POINT_24LE,379,10443 - ST_FIXED_POINT_32BE,380,10465 - ST_FIXED_POINT_32LE,381,10487 - ST_INTEGER_8,382,10509 - ST_INTEGER_16BE,383,10524 - ST_INTEGER_16LE,384,10542 - ST_INTEGER_24BE,385,10560 - ST_INTEGER_24LE,386,10578 - ST_INTEGER_32BE,387,10596 - ST_INTEGER_32LE388,10614 -typedef struct mixart_stream_param_desc mixart_stream_param_desc_t;mixart_stream_param_desc_t391,10635 -struct mixart_stream_param_descmixart_stream_param_desc392,10703 -typedef struct mixart_get_out_audio_level mixart_get_out_audio_level_t;mixart_get_out_audio_level_t444,11872 -struct mixart_get_out_audio_levelmixart_get_out_audio_level445,11944 -#define MIXART_AUDIO_LEVEL_ANALOG_MASK 461,12268 -#define MIXART_AUDIO_LEVEL_DIGITAL_MASK 462,12312 -#define MIXART_AUDIO_LEVEL_MONITOR_MASK 463,12357 -#define MIXART_AUDIO_LEVEL_MUTE_MASK 464,12402 -#define MIXART_AUDIO_LEVEL_MUTE_M1_MASK 465,12444 -#define MIXART_AUDIO_LEVEL_MUTE_M2_MASK 466,12489 -typedef struct mixart_set_out_audio_level mixart_set_out_audio_level_t;mixart_set_out_audio_level_t468,12535 -struct mixart_set_out_audio_levelmixart_set_out_audio_level469,12607 -#define MIXART_MAX_PHYS_IO 488,12966 -typedef struct mixart_uid_enumeration mixart_uid_enumeration_t;mixart_uid_enumeration_t490,13070 -struct mixart_uid_enumerationmixart_uid_enumeration491,13134 -typedef struct mixart_io_channel_level mixart_io_channel_level_t;mixart_io_channel_level_t505,13417 -struct mixart_io_channel_levelmixart_io_channel_level506,13483 -typedef struct mixart_io_level mixart_io_level_t;mixart_io_level_t512,13593 -struct mixart_io_levelmixart_io_level513,13643 -typedef struct mixart_in_audio_level_info mixart_in_audio_level_info_t;mixart_in_audio_level_info_t523,13850 -struct mixart_in_audio_level_infomixart_in_audio_level_info524,13922 -typedef struct mixart_set_in_audio_level_req mixart_set_in_audio_level_req_t;mixart_set_in_audio_level_req_t533,14086 -struct mixart_set_in_audio_level_reqmixart_set_in_audio_level_req534,14164 -#define MIXART_OUT_STREAM_SET_LEVEL_LEFT_AUDIO1 550,14484 -#define MIXART_OUT_STREAM_SET_LEVEL_LEFT_AUDIO2 551,14538 -#define MIXART_OUT_STREAM_SET_LEVEL_RIGHT_AUDIO1 552,14592 -#define MIXART_OUT_STREAM_SET_LEVEL_RIGHT_AUDIO2 553,14646 -#define MIXART_OUT_STREAM_SET_LEVEL_STREAM_1 554,14700 -#define MIXART_OUT_STREAM_SET_LEVEL_STREAM_2 555,14751 -#define MIXART_OUT_STREAM_SET_LEVEL_MUTE_1 556,14802 -#define MIXART_OUT_STREAM_SET_LEVEL_MUTE_2 557,14851 -typedef struct mixart_out_stream_level_info mixart_out_stream_level_info_t;mixart_out_stream_level_info_t559,14901 -struct mixart_out_stream_level_infomixart_out_stream_level_info560,14977 -typedef struct mixart_set_out_stream_level mixart_set_out_stream_level_t;mixart_set_out_stream_level_t574,15247 -struct mixart_set_out_stream_levelmixart_set_out_stream_level575,15321 -typedef struct mixart_set_out_stream_level_req mixart_set_out_stream_level_req_t;mixart_set_out_stream_level_req_t581,15461 -struct mixart_set_out_stream_level_reqmixart_set_out_stream_level_req582,15543 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart_hwdep.h,2516 -#define __SOUND_MIXART_HWDEP_H24,925 -#define readl_be(readl_be28,983 -#define writel_be(writel_be29,1031 -#define readl_le(readl_le31,1098 -#define writel_le(writel_le32,1146 -#define MIXART_MEM(MIXART_MEM34,1213 -#define MIXART_REG(MIXART_REG35,1266 -#define DAUGHTER_TYPE_MASK 39,1347 -#define DAUGHTER_VER_MASK 40,1384 -#define DAUGHTER_TYPEVER_MASK 41,1421 -#define MIXART_DAUGHTER_TYPE_NONE 43,1493 -#define MIXART_DAUGHTER_TYPE_COBRANET 44,1537 -#define MIXART_DAUGHTER_TYPE_AES 45,1581 -#define MIXART_BA0_SIZE 49,1627 -#define MIXART_BA1_SIZE 50,1681 -#define MIXART_PSEUDOREG 55,1867 -#define MIXART_PSEUDOREG_BOARDNUMBER 57,1983 -#define MIXART_PSEUDOREG_PERF_STREAM_LOAD_OFFSET 60,2123 -#define MIXART_PSEUDOREG_PERF_SYSTEM_LOAD_OFFSET 61,2221 -#define MIXART_PSEUDOREG_PERF_MAILBX_LOAD_OFFSET 62,2327 -#define MIXART_PSEUDOREG_PERF_INTERR_LOAD_OFFSET 63,2423 -#define MIXART_PSEUDOREG_MXLX_BASE_ADDR_OFFSET 66,2569 -#define MIXART_PSEUDOREG_MXLX_SIZE_OFFSET 67,2664 -#define MIXART_PSEUDOREG_MXLX_STATUS_OFFSET 68,2769 -#define MIXART_PSEUDOREG_ELF_STATUS_OFFSET 71,2903 -#define MIXART_PSEUDOREG_DBRD_PRESENCE_OFFSET 78,3236 -#define MIXART_PSEUDOREG_DBRD_TYPE_OFFSET 81,3342 -#define MIXART_PSEUDOREG_DXLX_BASE_ADDR_OFFSET 85,3501 -#define MIXART_PSEUDOREG_DXLX_SIZE_OFFSET 86,3630 -#define MIXART_PSEUDOREG_DXLX_STATUS_OFFSET 87,3735 -#define MIXART_FLOWTABLE_PTR 90,3854 -#define MSG_INBOUND_POST_HEAD 95,4011 -#define MSG_INBOUND_POST_TAIL 96,4088 -#define MSG_OUTBOUND_POST_TAIL 98,4189 -#define MSG_OUTBOUND_POST_HEAD 99,4265 -#define MSG_INBOUND_FREE_TAIL 101,4364 -#define MSG_OUTBOUND_FREE_TAIL 102,4441 -#define MSG_OUTBOUND_FREE_HEAD 104,4540 -#define MSG_INBOUND_FREE_HEAD 105,4617 -#define MSG_BOUND_STACK_SIZE 108,4744 -#define MSG_OUTBOUND_POST_STACK 110,4849 -#define MSG_INBOUND_POST_STACK 111,4932 -#define MSG_OUTBOUND_FREE_STACK 113,5046 -#define MSG_INBOUND_FREE_STACK 114,5132 -#define MSG_FRAME_OFFSET 118,5261 -#define MSG_FRAME_SIZE 119,5302 -#define MSG_FRAME_NUMBER 120,5345 -#define MSG_FROM_AGENT_ITMF_OFFSET 121,5384 -#define MSG_TO_AGENT_ITMF_OFFSET 122,5477 -#define MSG_HOST_RSC_PROTECTION 123,5559 -#define MSG_AGENT_RSC_PROTECTION 124,5639 -#define MIXART_PCI_OMIMR_OFFSET 132,5880 -#define MIXART_PCI_OMISR_OFFSET 133,5983 -#define MIXART_PCI_ODBR_OFFSET 134,6088 -#define MIXART_BA1_BRUTAL_RESET_OFFSET 136,6178 -#define MIXART_HOST_ALL_INTERRUPT_MASKED 138,6273 -#define MIXART_ALLOW_OUTBOUND_DOORBELL 139,6350 -#define MIXART_OIDI 140,6427 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart_core.c,806 -#define MSG_TIMEOUT_JIFFIES 32,1093 -#define MSG_DESCRIPTOR_SIZE 34,1161 -#define MSG_HEADER_SIZE 35,1202 -#define MSG_DEFAULT_SIZE 37,1265 -#define MSG_TYPE_MASK 39,1306 -#define MSG_TYPE_NOTIFY 40,1387 -#define MSG_TYPE_COMMAND 41,1502 -#define MSG_TYPE_REQUEST 42,1604 -#define MSG_TYPE_ANSWER 43,1713 -#define MSG_CANCEL_NOTIFY_MASK 44,1788 -static int retrieve_msg_frame(47,1904 -static int get_msg(72,2661 -static int send_msg(137,4576 -int snd_mixart_send_msg(230,7982 -int snd_mixart_send_msg_wait_notif(280,9243 -int snd_mixart_send_msg_nonblock(321,10321 -static u32 mixart_msg_data[340,10859 -void snd_mixart_msg_tasklet(343,10911 -irqreturn_t snd_mixart_interrupt(404,12648 -void snd_mixart_init_mailbox(561,17567 -void snd_mixart_exit_mailbox(573,17916 -void snd_mixart_reset_board(580,18117 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/mixart/mixart.h,2247 -#define __SOUND_MIXART_H24,891 -#define MIXART_DRIVER_VERSION 29,970 -#define mixart_t_magic 35,1031 -#define mixart_mgr_t_magic 36,1066 -typedef struct snd_mixart mixart_t;mixart_t38,1105 -typedef struct snd_mixart_mgr mixart_mgr_t;mixart_mgr_t39,1141 -typedef struct snd_mixart_stream mixart_stream_t;mixart_stream_t41,1186 -typedef struct snd_mixart_pipe mixart_pipe_t;mixart_pipe_t42,1236 -typedef struct mixart_bufferinfo mixart_bufferinfo_t;mixart_bufferinfo_t44,1283 -typedef struct mixart_flowinfo mixart_flowinfo_t;mixart_flowinfo_t45,1337 -typedef struct mixart_uid mixart_uid_t;mixart_uid_t46,1387 -struct mixart_uidmixart_uid48,1428 -struct mem_area mem_area54,1479 -typedef struct mixart_route mixart_route_t;mixart_route_t61,1567 -struct mixart_route mixart_route62,1611 -#define MIXART_MOTHERBOARD_XLX_INDEX 70,1732 -#define MIXART_MOTHERBOARD_ELF_INDEX 71,1772 -#define MIXART_AESEBUBOARD_XLX_INDEX 72,1812 -#define MIXART_HARDW_FILES_MAX_INDEX 73,1852 -#define MIXART_MAX_CARDS 75,1927 -#define MSG_FIFO_SIZE 76,1954 -#define MIXART_MAX_PHYS_CONNECTORS 78,1990 -struct snd_mixart_mgr snd_mixart_mgr80,2090 -#define MIXART_STREAM_STATUS_FREE 130,3418 -#define MIXART_STREAM_STATUS_OPEN 131,3454 -#define MIXART_STREAM_STATUS_RUNNING 132,3490 -#define MIXART_STREAM_STATUS_DRAINING 133,3529 -#define MIXART_STREAM_STATUS_PAUSE 134,3569 -#define MIXART_PLAYBACK_STREAMS 136,3607 -#define MIXART_CAPTURE_STREAMS 137,3642 -#define MIXART_PCM_ANALOG 139,3677 -#define MIXART_PCM_DIGITAL 140,3706 -#define MIXART_PCM_TOTAL 141,3736 -#define MIXART_MAX_STREAM_PER_CARD 143,3765 -#define MIXART_NOTIFY_CARD_MASK 146,3876 -#define MIXART_NOTIFY_CARD_OFFSET 147,3916 -#define MIXART_NOTIFY_PCM_MASK 148,3953 -#define MIXART_NOTIFY_PCM_OFFSET 149,3992 -#define MIXART_NOTIFY_CAPT_MASK 150,4027 -#define MIXART_NOTIFY_SUBS_MASK 151,4067 -struct snd_mixart_stream snd_mixart_stream154,4109 -enum mixart_pipe_status mixart_pipe_status169,4615 - PIPE_UNDEFINED,170,4641 - PIPE_STOPPED,171,4658 - PIPE_RUNNING,172,4673 - PIPE_CLOCK_SET173,4688 -struct snd_mixart_pipe snd_mixart_pipe176,4708 -struct snd_mixart snd_mixart187,5102 -struct mixart_bufferinfomixart_bufferinfo221,6646 -struct mixart_flowinfomixart_flowinfo229,6755 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs4281.c,13901 -static int index[45,1443 -static char *id[46,1512 -static int enable[47,1585 -static int dual_codec[48,1666 -static int boot_devs;49,1719 -#define PCI_VENDOR_ID_CIRRUS 65,2227 -#define PCI_DEVICE_ID_CIRRUS_4281 68,2315 -#define CS4281_BA0_SIZE 75,2393 -#define CS4281_BA1_SIZE 76,2425 -#define BA0_HISR 81,2484 -#define BA0_HISR_INTENA 82,2546 -#define BA0_HISR_MIDI 83,2615 -#define BA0_HISR_FIFOI 84,2672 -#define BA0_HISR_DMAI 85,2732 -#define BA0_HISR_FIFO(BA0_HISR_FIFO86,2797 -#define BA0_HISR_DMA(BA0_HISR_DMA87,2865 -#define BA0_HISR_GPPI 88,2932 -#define BA0_HISR_GPSI 89,3005 -#define BA0_HISR_GP3I 90,3080 -#define BA0_HISR_GP1I 91,3136 -#define BA0_HISR_VUPI 92,3192 -#define BA0_HISR_VDNI 93,3248 -#define BA0_HICR 95,3305 -#define BA0_HICR_CHGM 96,3368 -#define BA0_HICR_IEV 97,3423 -#define BA0_HICR_EOI 98,3471 -#define BA0_HIMR 100,3532 -#define BA0_IIER 103,3638 -#define BA0_HDSR0 105,3700 -#define BA0_HDSR1 106,3766 -#define BA0_HDSR2 107,3832 -#define BA0_HDSR3 108,3898 -#define BA0_HDSR_CH1P 110,3965 -#define BA0_HDSR_CH2P 111,4020 -#define BA0_HDSR_DHTC 112,4075 -#define BA0_HDSR_DTC 113,4136 -#define BA0_HDSR_DRUN 114,4191 -#define BA0_HDSR_RQ 115,4240 -#define BA0_DCA0 117,4291 -#define BA0_DCC0 118,4356 -#define BA0_DBA0 119,4419 -#define BA0_DBC0 120,4481 -#define BA0_DCA1 121,4541 -#define BA0_DCC1 122,4606 -#define BA0_DBA1 123,4669 -#define BA0_DBC1 124,4731 -#define BA0_DCA2 125,4791 -#define BA0_DCC2 126,4856 -#define BA0_DBA2 127,4919 -#define BA0_DBC2 128,4981 -#define BA0_DCA3 129,5041 -#define BA0_DCC3 130,5106 -#define BA0_DBA3 131,5169 -#define BA0_DBC3 132,5231 -#define BA0_DMR0 133,5291 -#define BA0_DCR0 134,5345 -#define BA0_DMR1 135,5402 -#define BA0_DCR1 136,5456 -#define BA0_DMR2 137,5513 -#define BA0_DCR2 138,5567 -#define BA0_DMR3 139,5624 -#define BA0_DCR3 140,5678 -#define BA0_DMR_DMA 142,5736 -#define BA0_DMR_POLL 143,5787 -#define BA0_DMR_TBC 144,5840 -#define BA0_DMR_CBC 145,5895 -#define BA0_DMR_SWAPC 146,5970 -#define BA0_DMR_SIZE20 147,6032 -#define BA0_DMR_USIGN 148,6087 -#define BA0_DMR_BEND 149,6133 -#define BA0_DMR_MONO 150,6180 -#define BA0_DMR_SIZE8 151,6221 -#define BA0_DMR_TYPE_DEMAND 152,6274 -#define BA0_DMR_TYPE_SINGLE 153,6309 -#define BA0_DMR_TYPE_BLOCK 154,6344 -#define BA0_DMR_TYPE_CASCADE 155,6378 -#define BA0_DMR_DEC 156,6434 -#define BA0_DMR_AUTO 157,6506 -#define BA0_DMR_TR_VERIFY 158,6557 -#define BA0_DMR_TR_WRITE 159,6612 -#define BA0_DMR_TR_READ 160,6665 -#define BA0_DCR_HTCIE 162,6718 -#define BA0_DCR_TCIE 163,6785 -#define BA0_DCR_MSK 164,6846 -#define BA0_FCR0 166,6894 -#define BA0_FCR1 167,6940 -#define BA0_FCR2 168,6986 -#define BA0_FCR3 169,7032 -#define BA0_FCR_FEN 171,7079 -#define BA0_FCR_DACZ 172,7130 -#define BA0_FCR_PSH 173,7175 -#define BA0_FCR_RS(BA0_FCR_RS174,7231 -#define BA0_FCR_LS(BA0_FCR_LS175,7296 -#define BA0_FCR_SZ(BA0_FCR_SZ176,7360 -#define BA0_FCR_OF(BA0_FCR_OF177,7435 -#define BA0_FPDR0 179,7515 -#define BA0_FPDR1 180,7566 -#define BA0_FPDR2 181,7617 -#define BA0_FPDR3 182,7668 -#define BA0_FCHS 184,7720 -#define BA0_FCHS_RCO(BA0_FCHS_RCO185,7771 -#define BA0_FCHS_LCO(BA0_FCHS_LCO186,7842 -#define BA0_FCHS_MRP(BA0_FCHS_MRP187,7912 -#define BA0_FCHS_FE(BA0_FCHS_FE188,7983 -#define BA0_FCHS_FF(BA0_FCHS_FF189,8046 -#define BA0_FCHS_IOR(BA0_FCHS_IOR190,8108 -#define BA0_FCHS_RCI(BA0_FCHS_RCI191,8183 -#define BA0_FCHS_LCI(BA0_FCHS_LCI192,8253 -#define BA0_FSIC0 194,8323 -#define BA0_FSIC1 195,8391 -#define BA0_FSIC2 196,8459 -#define BA0_FSIC3 197,8527 -#define BA0_FSIC_FIC(BA0_FSIC_FIC199,8596 -#define BA0_FSIC_FORIE 200,8665 -#define BA0_FSIC_FURIE 201,8733 -#define BA0_FSIC_FSCIE 202,8802 -#define BA0_FSIC_FSC(BA0_FSIC_FSC203,8875 -#define BA0_FSIC_FOR 204,8940 -#define BA0_FSIC_FUR 205,8988 -#define BA0_FSIC_FSCR 206,9037 -#define BA0_PMCS 208,9100 -#define BA0_CWPR 209,9163 -#define BA0_EPPMC 210,9222 -#define BA0_GPIOR 211,9292 -#define BA0_SPMC 213,9353 -#define BA0_SPMC_GIPPEN 214,9439 -#define BA0_SPMC_GISPEN 215,9505 -#define BA0_SPMC_EESPD 216,9573 -#define BA0_SPMC_ASDI2E 217,9637 -#define BA0_SPMC_ASDO 218,9689 -#define BA0_SPMC_WUP2 219,9755 -#define BA0_SPMC_WUP1 220,9818 -#define BA0_SPMC_ASYNC 221,9879 -#define BA0_SPMC_RSTN 222,9945 -#define BA0_CFLR 224,9993 -#define BA0_CFLR_DEFAULT 225,10069 -#define BA0_IISR 226,10142 -#define BA0_TMS 227,10194 -#define BA0_SSVID 228,10239 -#define BA0_CLKCR1 230,10294 -#define BA0_CLKCR1_CLKON 231,10352 -#define BA0_CLKCR1_DLLRDY 232,10401 -#define BA0_CLKCR1_DLLOS 233,10451 -#define BA0_CLKCR1_SWCE 234,10507 -#define BA0_CLKCR1_DLLP 235,10558 -#define BA0_CLKCR1_DLLSS 236,10608 -#define BA0_FRR 238,10671 -#define BA0_SLT12O 239,10729 -#define BA0_SERMC 241,10804 -#define BA0_SERMC_FCRN 242,10863 -#define BA0_SERMC_ODSEN2 243,10923 -#define BA0_SERMC_ODSEN1 244,10994 -#define BA0_SERMC_SXLB 245,11065 -#define BA0_SERMC_SLB 246,11129 -#define BA0_SERMC_LOVF 247,11192 -#define BA0_SERMC_TCID(BA0_SERMC_TCID248,11262 -#define BA0_SERMC_PXLB 249,11334 -#define BA0_SERMC_PLB 250,11402 -#define BA0_SERMC_PTC 251,11469 -#define BA0_SERMC_PTC_AC97 252,11531 -#define BA0_SERMC_MSPE 253,11581 -#define BA0_SERC1 255,11645 -#define BA0_SERC1_SO1F(BA0_SERC1_SO1F256,11705 -#define BA0_SERC1_AC97 257,11777 -#define BA0_SERC1_SO1EN 258,11808 -#define BA0_SERC2 260,11874 -#define BA0_SERC2_SI1F(BA0_SERC2_SI1F261,11934 -#define BA0_SERC2_AC97 262,12005 -#define BA0_SERC2_SI1EN 263,12036 -#define BA0_SLT12M 265,12101 -#define BA0_ACCTL 267,12180 -#define BA0_ACCTL_TC 268,12226 -#define BA0_ACCTL_CRW 269,12274 -#define BA0_ACCTL_DCV 270,12334 -#define BA0_ACCTL_VFRM 271,12392 -#define BA0_ACCTL_ESYN 272,12441 -#define BA0_ACSTS 274,12491 -#define BA0_ACSTS_VSTS 275,12536 -#define BA0_ACSTS_CRDY 276,12586 -#define BA0_ACOSV 278,12636 -#define BA0_ACOSV_SLV(BA0_ACOSV_SLV279,12692 -#define BA0_ACCAD 281,12731 -#define BA0_ACCDA 282,12785 -#define BA0_ACISV 284,12837 -#define BA0_ACISV_SLV(BA0_ACISV_SLV285,12892 -#define BA0_ACSAD 287,12931 -#define BA0_ACSDA 288,12984 -#define BA0_JSPT 289,13034 -#define BA0_JSCTL 290,13087 -#define BA0_JSC1 291,13136 -#define BA0_JSC2 292,13184 -#define BA0_JSIO 293,13232 -#define BA0_MIDCR 295,13258 -#define BA0_MIDCR_MRST 296,13303 -#define BA0_MIDCR_MLB 297,13361 -#define BA0_MIDCR_TIE 298,13419 -#define BA0_MIDCR_RIE 299,13487 -#define BA0_MIDCR_RXE 300,13553 -#define BA0_MIDCR_TXE 301,13609 -#define BA0_MIDCMD 303,13667 -#define BA0_MIDSR 305,13719 -#define BA0_MIDSR_RDA 306,13768 -#define BA0_MIDSR_TBE 307,13827 -#define BA0_MIDSR_RBE 308,13886 -#define BA0_MIDSR_TBF 309,13943 -#define BA0_MIDWP 311,14001 -#define BA0_MIDRP 312,14044 -#define BA0_AODSD1 314,14092 -#define BA0_AODSD1_NDS(BA0_AODSD1_NDS315,14176 -#define BA0_AODSD2 317,14216 -#define BA0_AODSD2_NDS(BA0_AODSD2_NDS318,14302 -#define BA0_CFGI 320,14342 -#define BA0_SLT12M2 321,14412 -#define BA0_ACSTS2 322,14495 -#define BA0_ACISV2 323,14552 -#define BA0_ACSAD2 324,14619 -#define BA0_ACSDA2 325,14684 -#define BA0_FMSR 326,14746 -#define BA0_B0AP 327,14802 -#define BA0_FMDP 328,14861 -#define BA0_B1AP 329,14905 -#define BA0_B1DP 330,14959 -#define BA0_SSPM 332,15011 -#define BA0_SSPM_MIXEN 333,15072 -#define BA0_SSPM_CSRCEN 334,15141 -#define BA0_SSPM_PSRCEN 335,15216 -#define BA0_SSPM_JSEN 336,15292 -#define BA0_SSPM_ACLEN 337,15344 -#define BA0_SSPM_FMEN 338,15419 -#define BA0_DACSR 340,15482 -#define BA0_ADCSR 341,15545 -#define BA0_SSCR 343,15608 -#define BA0_SSCR_HVS1 344,15669 -#define BA0_SSCR_MVCS 345,15737 -#define BA0_SSCR_MVLD 346,15801 -#define BA0_SSCR_MVAD 347,15869 -#define BA0_SSCR_MVMD 348,15942 -#define BA0_SSCR_XLPSRC 349,16010 -#define BA0_SSCR_LPSRC 350,16075 -#define BA0_SSCR_CDTX 351,16130 -#define BA0_SSCR_HVC 352,16183 -#define BA0_FMLVC 354,16249 -#define BA0_FMRVC 355,16314 -#define BA0_SRCSA 356,16380 -#define BA0_PPLVC 357,16433 -#define BA0_PPRVC 358,16498 -#define BA0_PASR 359,16564 -#define BA0_CASR 360,16616 -#define SRCSLOT_LEFT_PCM_PLAYBACK 363,16705 -#define SRCSLOT_RIGHT_PCM_PLAYBACK 364,16742 -#define SRCSLOT_PHONE_LINE_1_DAC 365,16780 -#define SRCSLOT_CENTER_PCM_PLAYBACK 366,16816 -#define SRCSLOT_LEFT_SURROUND_PCM_PLAYBACK 367,16855 -#define SRCSLOT_RIGHT_SURROUND_PCM_PLAYBACK 368,16900 -#define SRCSLOT_LFE_PCM_PLAYBACK 369,16946 -#define SRCSLOT_PHONE_LINE_2_DAC 370,16982 -#define SRCSLOT_HEADSET_DAC 371,17018 -#define SRCSLOT_LEFT_WT 372,17050 -#define SRCSLOT_RIGHT_WT 373,17109 -#define SRCSLOT_LEFT_PCM_RECORD 376,17205 -#define SRCSLOT_RIGHT_PCM_RECORD 377,17242 -#define SRCSLOT_PHONE_LINE_1_ADC 378,17279 -#define SRCSLOT_MIC_ADC 379,17316 -#define SRCSLOT_PHONE_LINE_2_ADC 380,17346 -#define SRCSLOT_HEADSET_ADC 381,17383 -#define SRCSLOT_SECONDARY_LEFT_PCM_RECORD 382,17416 -#define SRCSLOT_SECONDARY_RIGHT_PCM_RECORD 383,17461 -#define SRCSLOT_SECONDARY_PHONE_LINE_1_ADC 384,17507 -#define SRCSLOT_SECONDARY_MIC_ADC 385,17553 -#define SRCSLOT_SECONDARY_PHONE_LINE_2_ADC 386,17591 -#define SRCSLOT_SECONDARY_HEADSET_ADC 387,17637 -#define SRCSLOT_POWER_DOWN 390,17715 -#define CS4281_MODE_OUTPUT 393,17765 -#define CS4281_MODE_INPUT 394,17800 -#define JSPT_CAX 398,17875 -#define JSPT_CAY 399,17934 -#define JSPT_CBX 400,17993 -#define JSPT_CBY 401,18052 -#define JSPT_BA1 402,18111 -#define JSPT_BA2 403,18170 -#define JSPT_BB1 404,18229 -#define JSPT_BB2 405,18288 -#define JSCTL_SP_MASK 408,18369 -#define JSCTL_SP_SLOW 409,18428 -#define JSCTL_SP_MEDIUM_SLOW 410,18487 -#define JSCTL_SP_MEDIUM_FAST 411,18546 -#define JSCTL_SP_FAST 412,18605 -#define JSCTL_ARE 413,18664 -#define JSC1_Y1V_MASK 416,18756 -#define JSC1_X1V_MASK 417,18815 -#define JSC1_Y1V_SHIFT 418,18874 -#define JSC1_X1V_SHIFT 419,18924 -#define JSC2_Y2V_MASK 420,18975 -#define JSC2_X2V_MASK 421,19034 -#define JSC2_Y2V_SHIFT 422,19093 -#define JSC2_X2V_SHIFT 423,19143 -#define JSIO_DAX 426,19209 -#define JSIO_DAY 427,19268 -#define JSIO_DBX 428,19327 -#define JSIO_DBY 429,19386 -#define JSIO_AXOE 430,19445 -#define JSIO_AYOE 431,19504 -#define JSIO_BXOE 432,19563 -#define JSIO_BYOE 433,19622 -typedef struct snd_cs4281 cs4281_t;cs4281_t439,19693 -typedef struct snd_cs4281_dma cs4281_dma_t;cs4281_dma_t440,19729 -struct snd_cs4281_dma snd_cs4281_dma442,19774 -#define SUSPEND_REGISTERS 462,20613 -struct snd_cs4281 snd_cs4281464,20643 -static struct pci_device_id snd_cs4281_ids[509,21567 -#define CS4281_FIFO_SIZE 520,21761 -static void snd_cs4281_delay(526,21822 -inline static void snd_cs4281_delay_long(543,22168 -static inline void snd_cs4281_pokeBA0(549,22284 -static inline unsigned int snd_cs4281_peekBA0(554,22424 -static void snd_cs4281_ac97_write(559,22555 -static unsigned short snd_cs4281_ac97_read(604,24161 -static int snd_cs4281_trigger(699,26810 -static unsigned int snd_cs4281_rate(741,28057 -static void snd_cs4281_mode(765,28524 -static int snd_cs4281_hw_params(828,31073 -static int snd_cs4281_hw_free(834,31257 -static int snd_cs4281_playback_prepare(839,31368 -static int snd_cs4281_capture_prepare(851,31732 -static snd_pcm_uframes_t snd_cs4281_pointer(863,32095 -static snd_pcm_hardware_t snd_cs4281_playback 874,32556 -static snd_pcm_hardware_t snd_cs4281_capture 900,33394 -static int snd_cs4281_playback_open(926,34231 -static int snd_cs4281_capture_open(946,34828 -static int snd_cs4281_playback_close(966,35425 -static int snd_cs4281_capture_close(974,35607 -static snd_pcm_ops_t snd_cs4281_playback_ops 982,35788 -static snd_pcm_ops_t snd_cs4281_capture_ops 993,36116 -static void snd_cs4281_pcm_free(1004,36440 -static int __devinit snd_cs4281_pcm(1011,36593 -#define CS_VOL_MASK 1043,37307 -static int snd_cs4281_info_volume(1045,37333 -static int snd_cs4281_get_volume(1054,37600 -static int snd_cs4281_put_volume(1069,38099 -static snd_kcontrol_new_t snd_cs4281_fm_vol 1093,38894 -static snd_kcontrol_new_t snd_cs4281_pcm_vol 1103,39167 -static void snd_cs4281_mixer_free_ac97_bus(1113,39446 -static void snd_cs4281_mixer_free_ac97(1119,39572 -static int __devinit snd_cs4281_mixer(1128,39742 -static void snd_cs4281_proc_read(1164,40667 -static long snd_cs4281_BA0_read(1174,41009 -static long snd_cs4281_BA1_read(1191,41430 -static struct snd_info_entry_ops snd_cs4281_proc_ops_BA0 1208,41851 -static struct snd_info_entry_ops snd_cs4281_proc_ops_BA1 1212,41946 -static void __devinit snd_cs4281_proc_init(1216,42041 -typedef struct snd_cs4281_gameport snd_cs4281_gameport1242,42799 -} cs4281_gameport_t;cs4281_gameport_t1245,42876 -static void snd_cs4281_gameport_trigger(1247,42898 -static unsigned char snd_cs4281_gameport_read(1256,43129 -static int snd_cs4281_gameport_cooked_read(1266,43388 -static int snd_cs4281_gameport_open(1292,44135 -static void __devinit snd_cs4281_gameport(1307,44370 -#define snd_cs4281_gameport(snd_cs4281_gameport1331,45019 -static int snd_cs4281_free(1339,45139 -static int snd_cs4281_dev_free(1371,45959 -static int __devinit snd_cs4281_create(1383,46310 -static int snd_cs4281_chip_init(1454,48048 -static void snd_cs4281_midi_reset(1682,54966 -static int snd_cs4281_midi_input_open(1689,55154 -static int snd_cs4281_midi_input_close(1705,55567 -static int snd_cs4281_midi_output_open(1722,56030 -static int snd_cs4281_midi_output_close(1739,56479 -static void snd_cs4281_midi_input_trigger(1756,56944 -static void snd_cs4281_midi_output_trigger(1776,57488 -static snd_rawmidi_ops_t snd_cs4281_midi_output 1806,58417 -static snd_rawmidi_ops_t snd_cs4281_midi_input 1813,58596 -static int __devinit snd_cs4281_midi(1820,58771 -static irqreturn_t snd_cs4281_interrupt(1844,59457 -static int __devinit snd_cs4281_probe(1917,61520 -static void __devexit snd_cs4281_remove(1983,62932 -static int saved_regs[1994,63110 -#define CLKCR1_CKRA 2010,63312 -static int cs4281_suspend(2012,63373 -static int cs4281_resume(2057,64496 -static struct pci_driver driver 2090,65305 -static int __init alsa_card_cs4281_init(2098,65487 -static void __exit alsa_card_cs4281_exit(2103,65572 -module_init(2108,65657 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/sonicvibes.c,7326 -#define PCI_VENDOR_ID_S3 50,1593 -#define PCI_DEVICE_ID_S3_SONICVIBES 53,1680 -static int index[56,1732 -static char *id[57,1801 -static int enable[58,1874 -static int reverb[59,1956 -static int mge[60,2022 -static unsigned int dmaio 61,2085 -static int boot_devs;62,2144 -#define SV_REG(SV_REG81,2924 -#define SV_REG_CONTROL 83,2983 -#define SV_ENHANCED 84,3051 -#define SV_TEST 85,3120 -#define SV_REVERB 86,3160 -#define SV_WAVETABLE 87,3207 -#define SV_INTA 88,3283 -#define SV_RESET 89,3348 -#define SV_REG_IRQMASK 90,3391 -#define SV_DMAA_MASK 91,3466 -#define SV_DMAC_MASK 92,3523 -#define SV_SPEC_MASK 93,3580 -#define SV_UD_MASK 94,3665 -#define SV_MIDI_MASK 95,3729 -#define SV_REG_STATUS 96,3785 -#define SV_DMAA_IRQ 97,3851 -#define SV_DMAC_IRQ 98,3902 -#define SV_SPEC_IRQ 99,3953 -#define SV_UD_IRQ 100,4006 -#define SV_MIDI_IRQ 101,4057 -#define SV_REG_INDEX 102,4107 -#define SV_MCE 103,4179 -#define SV_TRD 104,4235 -#define SV_REG_DATA 105,4295 -#define SV_IREG_LEFT_ADC 111,4408 -#define SV_IREG_RIGHT_ADC 112,4467 -#define SV_IREG_LEFT_AUX1 113,4528 -#define SV_IREG_RIGHT_AUX1 114,4589 -#define SV_IREG_LEFT_CD 115,4652 -#define SV_IREG_RIGHT_CD 116,4710 -#define SV_IREG_LEFT_LINE 117,4769 -#define SV_IREG_RIGHT_LINE 118,4830 -#define SV_IREG_MIC 119,4893 -#define SV_IREG_GAME_PORT 120,4943 -#define SV_IREG_LEFT_SYNTH 121,4998 -#define SV_IREG_RIGHT_SYNTH 122,5061 -#define SV_IREG_LEFT_AUX2 123,5126 -#define SV_IREG_RIGHT_AUX2 124,5187 -#define SV_IREG_LEFT_ANALOG 125,5250 -#define SV_IREG_RIGHT_ANALOG 126,5322 -#define SV_IREG_LEFT_PCM 127,5396 -#define SV_IREG_RIGHT_PCM 128,5455 -#define SV_IREG_DMA_DATA_FMT 129,5516 -#define SV_IREG_PC_ENABLE 130,5572 -#define SV_IREG_UD_BUTTON 131,5642 -#define SV_IREG_REVISION 132,5703 -#define SV_IREG_ADC_OUTPUT_CTRL 133,5748 -#define SV_IREG_DMA_A_UPPER 134,5810 -#define SV_IREG_DMA_A_LOWER 135,5872 -#define SV_IREG_DMA_C_UPPER 136,5934 -#define SV_IREG_DMA_C_LOWER 137,5996 -#define SV_IREG_PCM_RATE_LOW 138,6058 -#define SV_IREG_PCM_RATE_HIGH 139,6125 -#define SV_IREG_SYNTH_RATE_LOW 140,6194 -#define SV_IREG_SYNTH_RATE_HIGH 141,6271 -#define SV_IREG_ADC_CLOCK 142,6350 -#define SV_IREG_ADC_ALT_RATE 143,6414 -#define SV_IREG_ADC_PLL_M 144,6494 -#define SV_IREG_ADC_PLL_N 145,6550 -#define SV_IREG_SYNTH_PLL_M 146,6606 -#define SV_IREG_SYNTH_PLL_N 147,6672 -#define SV_IREG_MPU401 148,6738 -#define SV_IREG_DRIVE_CTRL 149,6796 -#define SV_IREG_SRS_SPACE 150,6848 -#define SV_IREG_SRS_CENTER 151,6903 -#define SV_IREG_WAVE_SOURCE 152,6960 -#define SV_IREG_ANALOG_POWER 153,7030 -#define SV_IREG_DIGITAL_POWER 154,7096 -#define SV_IREG_ADC_PLL 156,7165 -#define SV_IREG_SYNTH_PLL 157,7208 -#define SV_DMA_ADDR0 163,7281 -#define SV_DMA_ADDR1 164,7308 -#define SV_DMA_ADDR2 165,7335 -#define SV_DMA_ADDR3 166,7362 -#define SV_DMA_COUNT0 167,7389 -#define SV_DMA_COUNT1 168,7417 -#define SV_DMA_COUNT2 169,7445 -#define SV_DMA_MODE 170,7473 -#define SV_DMA_RESET 171,7499 -#define SV_DMA_MASK 172,7526 -#define SV_RECSRC_RESERVED 178,7580 -#define SV_RECSRC_CD 179,7617 -#define SV_RECSRC_DAC 180,7649 -#define SV_RECSRC_AUX2 181,7682 -#define SV_RECSRC_LINE 182,7716 -#define SV_RECSRC_AUX1 183,7750 -#define SV_RECSRC_MIC 184,7784 -#define SV_RECSRC_OUT 185,7817 -#define SV_FULLRATE 191,7873 -#define SV_REFFREQUENCY 192,7900 -#define SV_ADCMULT 193,7934 -#define SV_MODE_PLAY 195,7959 -#define SV_MODE_CAPTURE 196,7983 -typedef struct _snd_sonicvibes sonicvibes_t;sonicvibes_t202,8020 -struct _snd_sonicvibes _snd_sonicvibes204,8066 -static struct pci_device_id snd_sonic_ids[251,9073 -static ratden_t sonicvibes_adc_clock 258,9237 -static snd_pcm_hw_constraint_ratdens_t snd_sonicvibes_hw_constraints_adc_clock 264,9367 -static inline void snd_sonicvibes_setdmaa(273,9531 -static inline void snd_sonicvibes_setdmac(286,9913 -static inline unsigned int snd_sonicvibes_getdmaa(301,10354 -static inline unsigned int snd_sonicvibes_getdmac(306,10495 -static void snd_sonicvibes_out1(312,10688 -static void snd_sonicvibes_out(322,10890 -static unsigned char snd_sonicvibes_in1(336,11221 -static unsigned char snd_sonicvibes_in(347,11440 -void snd_sonicvibes_debug(362,11799 -static void snd_sonicvibes_setfmt(434,17065 -static void snd_sonicvibes_pll(454,17637 -static void snd_sonicvibes_setpll(490,18575 -static void snd_sonicvibes_set_adc_rate(506,19033 -static int snd_sonicvibes_hw_constraint_dac_rate(527,19633 -static void snd_sonicvibes_set_dac_rate(552,20401 -static int snd_sonicvibes_trigger(566,20830 -static irqreturn_t snd_sonicvibes_interrupt(588,21377 -static int snd_sonicvibes_playback_trigger(653,23182 -static int snd_sonicvibes_capture_trigger(660,23385 -static int snd_sonicvibes_hw_params(667,23586 -static int snd_sonicvibes_hw_free(673,23778 -static int snd_sonicvibes_playback_prepare(678,23893 -static int snd_sonicvibes_capture_prepare(702,24712 -static snd_pcm_uframes_t snd_sonicvibes_playback_pointer(727,25553 -static snd_pcm_uframes_t snd_sonicvibes_capture_pointer(738,25867 -static snd_pcm_hardware_t snd_sonicvibes_playback 748,26179 -static snd_pcm_hardware_t snd_sonicvibes_capture 767,26731 -static int snd_sonicvibes_playback_open(786,27282 -static int snd_sonicvibes_capture_open(798,27723 -static int snd_sonicvibes_playback_close(811,28152 -static int snd_sonicvibes_capture_close(820,28367 -static snd_pcm_ops_t snd_sonicvibes_playback_ops 829,28583 -static snd_pcm_ops_t snd_sonicvibes_capture_ops 840,28961 -static void snd_sonicvibes_pcm_free(851,29333 -static int __devinit snd_sonicvibes_pcm(858,29496 -#define SONICVIBES_MUX(SONICVIBES_MUX888,30253 -static int snd_sonicvibes_info_mux(893,30469 -static int snd_sonicvibes_get_mux(908,30913 -static int snd_sonicvibes_put_mux(919,31372 -#define SONICVIBES_SINGLE(SONICVIBES_SINGLE942,32234 -static int snd_sonicvibes_info_single(948,32561 -static int snd_sonicvibes_get_single(959,32893 -static int snd_sonicvibes_put_single(975,33507 -#define SONICVIBES_DOUBLE(SONICVIBES_DOUBLE998,34231 -static int snd_sonicvibes_info_double(1004,34644 -static int snd_sonicvibes_get_double(1015,34976 -static int snd_sonicvibes_put_double(1036,35905 -static snd_kcontrol_new_t snd_sonicvibes_controls[1068,37054 -static snd_kcontrol_new_t snd_sonicvibes_controls[] __devinitdata 1068,37054 -static void snd_sonicvibes_master_free(1092,38979 -static int __devinit snd_sonicvibes_mixer(1099,39159 -static void snd_sonicvibes_proc_read(1125,39730 -static void __devinit snd_sonicvibes_proc_init(1155,40828 -static snd_kcontrol_new_t snd_sonicvibes_game_control __devinitdata 1167,41070 -static int snd_sonicvibes_free(1170,41210 -static int snd_sonicvibes_dev_free(1193,41869 -static int __devinit snd_sonicvibes_create(1199,42011 -static snd_kcontrol_new_t snd_sonicvibes_midi_controls[1349,47664 -static snd_kcontrol_new_t snd_sonicvibes_midi_controls[] __devinitdata 1349,47664 -static int snd_sonicvibes_midi_input_open(1357,48140 -static void snd_sonicvibes_midi_input_close(1364,48320 -static int __devinit snd_sonicvibes_midi(1370,48490 -static int __devinit snd_sonic_probe(1388,49083 -static void __devexit snd_sonic_remove(1472,51047 -static struct pci_driver driver 1478,51179 -static int __init alsa_card_sonicvibes_init(1485,51342 -static void __exit alsa_card_sonicvibes_exit(1490,51431 -module_init(1495,51520 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/maestro3.c,24090 -#define CARD_NAME 31,1173 -#define DRIVER_NAME 32,1225 -static int index[60,1958 -static char *id[61,2027 -static int enable[62,2100 -static int external_amp[63,2177 -static int amp_gpio[64,2249 -static int boot_devs;65,2318 -#define MAX_PLAYBACKS 78,2948 -#define MAX_CAPTURES 79,2972 -#define NR_DSPS 80,2995 -#define PCI_LEGACY_AUDIO_CTRL 88,3117 -#define SOUND_BLASTER_ENABLE 89,3154 -#define FM_SYNTHESIS_ENABLE 90,3197 -#define GAME_PORT_ENABLE 91,3240 -#define MPU401_IO_ENABLE 92,3283 -#define MPU401_IRQ_ENABLE 93,3326 -#define ALIAS_10BIT_IO 94,3369 -#define SB_DMA_MASK 95,3412 -#define SB_DMA_0 96,3455 -#define SB_DMA_1 97,3498 -#define SB_DMA_R 98,3541 -#define SB_DMA_3 99,3584 -#define SB_IRQ_MASK 100,3627 -#define SB_IRQ_5 101,3670 -#define SB_IRQ_7 102,3713 -#define SB_IRQ_9 103,3756 -#define SB_IRQ_10 104,3799 -#define MIDI_IRQ_MASK 105,3842 -#define SERIAL_IRQ_ENABLE 106,3885 -#define DISABLE_LEGACY 107,3928 -#define PCI_ALLEGRO_CONFIG 109,3972 -#define SB_ADDR_240 110,4009 -#define MPU_ADDR_MASK 111,4052 -#define MPU_ADDR_330 112,4095 -#define MPU_ADDR_300 113,4138 -#define MPU_ADDR_320 114,4181 -#define MPU_ADDR_340 115,4224 -#define USE_PCI_TIMING 116,4267 -#define POSTED_WRITE_ENABLE 117,4310 -#define DMA_POLICY_MASK 118,4353 -#define DMA_DDMA 119,4396 -#define DMA_TDMA 120,4439 -#define DMA_PCPCI 121,4482 -#define DMA_WBDMA16 122,4525 -#define DMA_WBDMA4 123,4568 -#define DMA_WBDMA2 124,4611 -#define DMA_WBDMA1 125,4654 -#define DMA_SAFE_GUARD 126,4697 -#define HI_PERF_GP_ENABLE 127,4740 -#define PIC_SNOOP_MODE_0 128,4783 -#define PIC_SNOOP_MODE_1 129,4826 -#define SOUNDBLASTER_IRQ_MASK 130,4869 -#define RING_IN_ENABLE 131,4912 -#define SPDIF_TEST_MODE 132,4955 -#define CLK_MULT_MODE_SELECT_2 133,4998 -#define EEPROM_WRITE_ENABLE 134,5041 -#define CODEC_DIR_IN 135,5084 -#define HV_BUTTON_FROM_GD 136,5127 -#define REDUCED_DEBOUNCE 137,5170 -#define HV_CTRL_ENABLE 138,5213 -#define SPDIF_ENABLE 139,5256 -#define CLK_DIV_SELECT 140,5299 -#define CLK_DIV_BY_48 141,5342 -#define CLK_DIV_BY_49 142,5385 -#define CLK_DIV_BY_50 143,5428 -#define CLK_DIV_RESERVED 144,5471 -#define PM_CTRL_ENABLE 145,5514 -#define CLK_MULT_MODE_SELECT 146,5557 -#define CLK_MULT_MODE_SHIFT 147,5600 -#define CLK_MULT_MODE_0 148,5635 -#define CLK_MULT_MODE_1 149,5678 -#define CLK_MULT_MODE_2 150,5721 -#define CLK_MULT_MODE_3 151,5764 -#define INT_CLK_SELECT 152,5807 -#define INT_CLK_MULT_RESET 153,5850 -#define INT_CLK_SRC_NOT_PCI 156,5903 -#define INT_CLK_MULT_ENABLE 157,5946 -#define PCI_ACPI_CONTROL 159,5990 -#define PCI_ACPI_D0 160,6027 -#define PCI_ACPI_D1 161,6070 -#define PCI_ACPI_D2 162,6113 -#define PCI_USER_CONFIG 164,6157 -#define EXT_PCI_MASTER_ENABLE 165,6194 -#define SPDIF_OUT_SELECT 166,6237 -#define TEST_PIN_DIR_CTRL 167,6280 -#define AC97_CODEC_TEST 168,6323 -#define TRI_STATE_BUFFER 169,6366 -#define IN_CLK_12MHZ_SELECT 170,6409 -#define MULTI_FUNC_DISABLE 171,6452 -#define EXT_MASTER_PAIR_SEL 172,6495 -#define PCI_MASTER_SUPPORT 173,6538 -#define STOP_CLOCK_ENABLE 174,6581 -#define EAPD_DRIVE_ENABLE 175,6624 -#define REQ_TRI_STATE_ENABLE 176,6667 -#define REQ_LOW_ENABLE 177,6710 -#define MIDI_1_ENABLE 178,6753 -#define MIDI_2_ENABLE 179,6796 -#define SB_AUDIO_SYNC 180,6839 -#define HV_CTRL_TEST 181,6882 -#define SOUNDBLASTER_TEST 182,6925 -#define PCI_USER_CONFIG_C 184,6969 -#define PCI_DDMA_CTRL 186,7007 -#define DDMA_ENABLE 187,7044 -#define HOST_INT_CTRL 191,7113 -#define SB_INT_ENABLE 192,7150 -#define MPU401_INT_ENABLE 193,7189 -#define ASSP_INT_ENABLE 194,7228 -#define RING_INT_ENABLE 195,7267 -#define HV_INT_ENABLE 196,7306 -#define CLKRUN_GEN_ENABLE 197,7345 -#define HV_CTRL_TO_PME 198,7384 -#define SOFTWARE_RESET_ENABLE 199,7423 -#define REGB_ENABLE_RESET 204,7518 -#define REGB_STOP_CLOCK 205,7563 -#define HOST_INT_STATUS 207,7609 -#define SB_INT_PENDING 208,7646 -#define MPU401_INT_PENDING 209,7683 -#define ASSP_INT_PENDING 210,7720 -#define RING_INT_PENDING 211,7757 -#define HV_INT_PENDING 212,7794 -#define HARDWARE_VOL_CTRL 214,7832 -#define SHADOW_MIX_REG_VOICE 215,7869 -#define HW_VOL_COUNTER_VOICE 216,7906 -#define SHADOW_MIX_REG_MASTER 217,7943 -#define HW_VOL_COUNTER_MASTER 218,7980 -#define CODEC_COMMAND 220,8018 -#define CODEC_READ_B 221,8055 -#define CODEC_STATUS 223,8093 -#define CODEC_BUSY_B 224,8130 -#define CODEC_DATA 226,8168 -#define RING_BUS_CTRL_A 228,8206 -#define RAC_PME_ENABLE 229,8243 -#define RAC_SDFS_ENABLE 230,8282 -#define LAC_PME_ENABLE 231,8321 -#define LAC_SDFS_ENABLE 232,8360 -#define SERIAL_AC_LINK_ENABLE 233,8399 -#define IO_SRAM_ENABLE 234,8438 -#define IIS_INPUT_ENABLE 235,8477 -#define RING_BUS_CTRL_B 237,8517 -#define SECOND_CODEC_ID_MASK 238,8554 -#define SPDIF_FUNC_ENABLE 239,8593 -#define SECOND_AC_ENABLE 240,8632 -#define SB_MODULE_INTF_ENABLE 241,8671 -#define SSPE_ENABLE 242,8710 -#define M3I_DOCK_ENABLE 243,8749 -#define SDO_OUT_DEST_CTRL 245,8789 -#define COMMAND_ADDR_OUT 246,8826 -#define PCM_LR_OUT_LOCAL 247,8865 -#define PCM_LR_OUT_REMOTE 248,8904 -#define PCM_LR_OUT_MUTE 249,8943 -#define PCM_LR_OUT_BOTH 250,8982 -#define LINE1_DAC_OUT_LOCAL 251,9021 -#define LINE1_DAC_OUT_REMOTE 252,9060 -#define LINE1_DAC_OUT_MUTE 253,9099 -#define LINE1_DAC_OUT_BOTH 254,9138 -#define PCM_CLS_OUT_LOCAL 255,9177 -#define PCM_CLS_OUT_REMOTE 256,9216 -#define PCM_CLS_OUT_MUTE 257,9255 -#define PCM_CLS_OUT_BOTH 258,9294 -#define PCM_RLF_OUT_LOCAL 259,9333 -#define PCM_RLF_OUT_REMOTE 260,9372 -#define PCM_RLF_OUT_MUTE 261,9411 -#define PCM_RLF_OUT_BOTH 262,9450 -#define LINE2_DAC_OUT_LOCAL 263,9489 -#define LINE2_DAC_OUT_REMOTE 264,9528 -#define LINE2_DAC_OUT_MUTE 265,9567 -#define LINE2_DAC_OUT_BOTH 266,9606 -#define HANDSET_OUT_LOCAL 267,9645 -#define HANDSET_OUT_REMOTE 268,9684 -#define HANDSET_OUT_MUTE 269,9723 -#define HANDSET_OUT_BOTH 270,9762 -#define IO_CTRL_OUT_LOCAL 271,9801 -#define IO_CTRL_OUT_REMOTE 272,9840 -#define IO_CTRL_OUT_MUTE 273,9879 -#define IO_CTRL_OUT_BOTH 274,9918 -#define SDO_IN_DEST_CTRL 276,9958 -#define STATUS_ADDR_IN 277,9995 -#define PCM_LR_IN_LOCAL 278,10034 -#define PCM_LR_IN_REMOTE 279,10073 -#define PCM_LR_RESERVED 280,10112 -#define PCM_LR_IN_BOTH 281,10151 -#define LINE1_ADC_IN_LOCAL 282,10190 -#define LINE1_ADC_IN_REMOTE 283,10229 -#define LINE1_ADC_IN_MUTE 284,10268 -#define MIC_ADC_IN_LOCAL 285,10307 -#define MIC_ADC_IN_REMOTE 286,10346 -#define MIC_ADC_IN_MUTE 287,10385 -#define LINE2_DAC_IN_LOCAL 288,10424 -#define LINE2_DAC_IN_REMOTE 289,10463 -#define LINE2_DAC_IN_MUTE 290,10502 -#define HANDSET_IN_LOCAL 291,10541 -#define HANDSET_IN_REMOTE 292,10580 -#define HANDSET_IN_MUTE 293,10619 -#define IO_STATUS_IN_LOCAL 294,10658 -#define IO_STATUS_IN_REMOTE 295,10697 -#define SPDIF_IN_CTRL 297,10737 -#define SPDIF_IN_ENABLE 298,10774 -#define GPIO_DATA 300,10814 -#define GPIO_DATA_MASK 301,10851 -#define GPIO_HV_STATUS 302,10890 -#define GPIO_PME_STATUS 303,10929 -#define GPIO_MASK 305,10969 -#define GPIO_DIRECTION 306,11006 -#define GPO_PRIMARY_AC97 307,11043 -#define GPI_LINEOUT_SENSE 308,11082 -#define GPO_SECONDARY_AC97 309,11121 -#define GPI_VOL_DOWN 310,11160 -#define GPI_VOL_UP 311,11199 -#define GPI_IIS_CLK 312,11238 -#define GPI_IIS_LRCLK 313,11277 -#define GPI_IIS_DATA 314,11316 -#define GPI_DOCKING_STATUS 315,11355 -#define GPI_HEADPHONE_SENSE 316,11394 -#define GPO_EXT_AMP_SHUTDOWN 317,11433 -#define GPO_EXT_AMP_M3 319,11473 -#define GPO_EXT_AMP_ALLEGRO 320,11520 -#define GPO_M3_EXT_AMP_SHUTDN 323,11586 -#define ASSP_INDEX_PORT 325,11626 -#define ASSP_MEMORY_PORT 326,11663 -#define ASSP_DATA_PORT 327,11700 -#define MPU401_DATA_PORT 329,11738 -#define MPU401_STATUS_PORT 330,11775 -#define CLK_MULT_DATA_PORT 332,11813 -#define ASSP_CONTROL_A 334,11851 -#define ASSP_0_WS_ENABLE 335,11888 -#define ASSP_CTRL_A_RESERVED1 336,11925 -#define ASSP_CTRL_A_RESERVED2 337,11962 -#define ASSP_CLK_49MHZ_SELECT 338,11999 -#define FAST_PLU_ENABLE 339,12036 -#define ASSP_CTRL_A_RESERVED3 340,12073 -#define DSP_CLK_36MHZ_SELECT 341,12110 -#define ASSP_CONTROL_B 343,12148 -#define RESET_ASSP 344,12185 -#define RUN_ASSP 345,12222 -#define ENABLE_ASSP_CLOCK 346,12259 -#define STOP_ASSP_CLOCK 347,12296 -#define RESET_TOGGLE 348,12333 -#define ASSP_CONTROL_C 350,12371 -#define ASSP_HOST_INT_ENABLE 351,12408 -#define FM_ADDR_REMAP_DISABLE 352,12445 -#define HOST_WRITE_PORT_ENABLE 353,12482 -#define ASSP_HOST_INT_STATUS 355,12520 -#define DSP2HOST_REQ_PIORECORD 356,12557 -#define DSP2HOST_REQ_I2SRATE 357,12594 -#define DSP2HOST_REQ_TIMER 358,12631 -#define AC97_VOL_MUTE_B 364,12759 -#define AC97_VOL_M 365,12798 -#define AC97_LEFT_VOL_S 366,12835 -#define AC97_MASTER_VOL 368,12870 -#define AC97_LINE_LEVEL_VOL 369,12907 -#define AC97_MASTER_MONO_VOL 370,12944 -#define AC97_PC_BEEP_VOL 371,12981 -#define AC97_PC_BEEP_VOL_M 372,13018 -#define AC97_SROUND_MASTER_VOL 373,13055 -#define AC97_PC_BEEP_VOL_S 374,13092 -#define AC97_MIC_20DB_ENABLE 378,13205 -#define AC97_PCM_OUT_VOL 384,13395 -#define AC97_RECORD_MIC 386,13473 -#define AC97_RECORD_CD 387,13510 -#define AC97_RECORD_VIDEO 388,13547 -#define AC97_RECORD_AUX 389,13584 -#define AC97_RECORD_MONO_MUX 390,13621 -#define AC97_RECORD_DIGITAL 391,13658 -#define AC97_RECORD_LINE 392,13695 -#define AC97_RECORD_STEREO 393,13732 -#define AC97_RECORD_MONO 394,13769 -#define AC97_RECORD_PHONE 395,13806 -#define AC97_RECORD_VOL_M 398,13885 -#define AC97_POWER_DOWN_CTRL 401,13964 -#define AC97_ADC_READY 402,14001 -#define AC97_DAC_READY 403,14040 -#define AC97_ANALOG_READY 404,14079 -#define AC97_VREF_ON 405,14118 -#define AC97_PR0 406,14157 -#define AC97_PR1 407,14196 -#define AC97_PR2 408,14235 -#define AC97_PR3 409,14274 -#define AC97_PR4 410,14313 -#define AC97_RESERVED1 412,14353 -#define AC97_VENDOR_TEST 414,14391 -#define AC97_CLOCK_DELAY 416,14429 -#define AC97_LINEOUT_MUX_SEL 417,14466 -#define AC97_MONO_MUX_SEL 418,14505 -#define AC97_CLOCK_DELAY_SEL 419,14544 -#define AC97_DAC_CDS_SHIFT 420,14581 -#define AC97_ADC_CDS_SHIFT 421,14615 -#define AC97_MULTI_CHANNEL_SEL 423,14651 -#define DSP_PORT_TIMER_COUNT 431,14796 -#define DSP_PORT_MEMORY_INDEX 433,14834 -#define DSP_PORT_MEMORY_TYPE 435,14872 -#define MEMTYPE_INTERNAL_CODE 436,14909 -#define MEMTYPE_INTERNAL_DATA 437,14948 -#define MEMTYPE_MASK 438,14987 -#define DSP_PORT_MEMORY_DATA 440,15027 -#define DSP_PORT_CONTROL_REG_A 442,15065 -#define DSP_PORT_CONTROL_REG_B 443,15102 -#define DSP_PORT_CONTROL_REG_C 444,15139 -#define REV_A_CODE_MEMORY_BEGIN 446,15177 -#define REV_A_CODE_MEMORY_END 447,15224 -#define REV_A_CODE_MEMORY_UNIT_LENGTH 448,15271 -#define REV_A_CODE_MEMORY_LENGTH 449,15318 -#define REV_B_CODE_MEMORY_BEGIN 451,15413 -#define REV_B_CODE_MEMORY_END 452,15460 -#define REV_B_CODE_MEMORY_UNIT_LENGTH 453,15507 -#define REV_B_CODE_MEMORY_LENGTH 454,15554 -#define REV_A_DATA_MEMORY_BEGIN 456,15649 -#define REV_A_DATA_MEMORY_END 457,15696 -#define REV_A_DATA_MEMORY_UNIT_LENGTH 458,15743 -#define REV_A_DATA_MEMORY_LENGTH 459,15790 -#define REV_B_DATA_MEMORY_BEGIN 461,15885 -#define REV_B_DATA_MEMORY_END 462,15932 -#define REV_B_DATA_MEMORY_UNIT_LENGTH 463,15979 -#define REV_B_DATA_MEMORY_LENGTH 464,16026 -#define NUM_UNITS_KERNEL_CODE 467,16122 -#define NUM_UNITS_KERNEL_DATA 468,16164 -#define NUM_UNITS_KERNEL_CODE_WITH_HSP 470,16207 -#define NUM_UNITS_KERNEL_DATA_WITH_HSP 471,16249 -#define DP_SHIFT_COUNT 477,16322 -#define KDATA_BASE_ADDR 479,16365 -#define KDATA_BASE_ADDR2 480,16412 -#define KDATA_TASK0 482,16460 -#define KDATA_TASK1 483,16527 -#define KDATA_TASK2 484,16594 -#define KDATA_TASK3 485,16661 -#define KDATA_TASK4 486,16728 -#define KDATA_TASK5 487,16795 -#define KDATA_TASK6 488,16862 -#define KDATA_TASK7 489,16929 -#define KDATA_TASK_ENDMARK 490,16996 -#define KDATA_CURRENT_TASK 492,17064 -#define KDATA_TASK_SWITCH 493,17131 -#define KDATA_INSTANCE0_POS3D 495,17199 -#define KDATA_INSTANCE1_POS3D 496,17266 -#define KDATA_INSTANCE2_POS3D 497,17333 -#define KDATA_INSTANCE3_POS3D 498,17400 -#define KDATA_INSTANCE4_POS3D 499,17467 -#define KDATA_INSTANCE5_POS3D 500,17534 -#define KDATA_INSTANCE6_POS3D 501,17601 -#define KDATA_INSTANCE7_POS3D 502,17668 -#define KDATA_INSTANCE8_POS3D 503,17735 -#define KDATA_INSTANCE_POS3D_ENDMARK 504,17802 -#define KDATA_INSTANCE0_SPKVIRT 506,17870 -#define KDATA_INSTANCE_SPKVIRT_ENDMARK 507,17937 -#define KDATA_INSTANCE0_SPDIF 509,18005 -#define KDATA_INSTANCE_SPDIF_ENDMARK 510,18072 -#define KDATA_INSTANCE0_MODEM 512,18140 -#define KDATA_INSTANCE_MODEM_ENDMARK 513,18207 -#define KDATA_INSTANCE0_SRC 515,18275 -#define KDATA_INSTANCE1_SRC 516,18342 -#define KDATA_INSTANCE_SRC_ENDMARK 517,18409 -#define KDATA_INSTANCE0_MINISRC 519,18477 -#define KDATA_INSTANCE1_MINISRC 520,18544 -#define KDATA_INSTANCE2_MINISRC 521,18611 -#define KDATA_INSTANCE3_MINISRC 522,18678 -#define KDATA_INSTANCE_MINISRC_ENDMARK 523,18745 -#define KDATA_INSTANCE0_CPYTHRU 525,18813 -#define KDATA_INSTANCE1_CPYTHRU 526,18880 -#define KDATA_INSTANCE_CPYTHRU_ENDMARK 527,18947 -#define KDATA_CURRENT_DMA 529,19015 -#define KDATA_DMA_SWITCH 530,19082 -#define KDATA_DMA_ACTIVE 531,19149 -#define KDATA_DMA_XFER0 533,19217 -#define KDATA_DMA_XFER1 534,19284 -#define KDATA_DMA_XFER2 535,19351 -#define KDATA_DMA_XFER3 536,19418 -#define KDATA_DMA_XFER4 537,19485 -#define KDATA_DMA_XFER5 538,19552 -#define KDATA_DMA_XFER6 539,19619 -#define KDATA_DMA_XFER7 540,19686 -#define KDATA_DMA_XFER8 541,19753 -#define KDATA_DMA_XFER_ENDMARK 542,19820 -#define KDATA_I2S_SAMPLE_COUNT 544,19888 -#define KDATA_I2S_INT_METER 545,19955 -#define KDATA_I2S_ACTIVE 546,20022 -#define KDATA_TIMER_COUNT_RELOAD 548,20090 -#define KDATA_TIMER_COUNT_CURRENT 549,20157 -#define KDATA_HALT_SYNCH_CLIENT 551,20225 -#define KDATA_HALT_SYNCH_DMA 552,20292 -#define KDATA_HALT_ACKNOWLEDGE 553,20359 -#define KDATA_ADC1_XFER0 555,20427 -#define KDATA_ADC1_XFER_ENDMARK 556,20494 -#define KDATA_ADC1_LEFT_VOLUME 557,20561 -#define KDATA_ADC1_RIGHT_VOLUME 558,20621 -#define KDATA_ADC1_LEFT_SUR_VOL 559,20683 -#define KDATA_ADC1_RIGHT_SUR_VOL 560,20744 -#define KDATA_ADC2_XFER0 562,20806 -#define KDATA_ADC2_XFER_ENDMARK 563,20873 -#define KDATA_ADC2_LEFT_VOLUME 564,20940 -#define KDATA_ADC2_RIGHT_VOLUME 565,21000 -#define KDATA_ADC2_LEFT_SUR_VOL 566,21061 -#define KDATA_ADC2_RIGHT_SUR_VOL 567,21122 -#define KDATA_CD_XFER0 569,21184 -#define KDATA_CD_XFER_ENDMARK 570,21243 -#define KDATA_CD_LEFT_VOLUME 571,21302 -#define KDATA_CD_RIGHT_VOLUME 572,21360 -#define KDATA_CD_LEFT_SUR_VOL 573,21419 -#define KDATA_CD_RIGHT_SUR_VOL 574,21478 -#define KDATA_MIC_XFER0 576,21539 -#define KDATA_MIC_XFER_ENDMARK 577,21594 -#define KDATA_MIC_VOLUME 578,21654 -#define KDATA_MIC_SUR_VOL 579,21709 -#define KDATA_I2S_XFER0 581,21766 -#define KDATA_I2S_XFER_ENDMARK 582,21833 -#define KDATA_CHI_XFER0 584,21901 -#define KDATA_CHI_XFER_ENDMARK 585,21968 -#define KDATA_SPDIF_XFER 587,22036 -#define KDATA_SPDIF_CURRENT_FRAME 588,22103 -#define KDATA_SPDIF_FRAME0 589,22170 -#define KDATA_SPDIF_FRAME1 590,22237 -#define KDATA_SPDIF_FRAME2 591,22304 -#define KDATA_SPDIF_REQUEST 593,22372 -#define KDATA_SPDIF_TEMP 594,22439 -#define KDATA_SPDIFIN_XFER0 596,22507 -#define KDATA_SPDIFIN_XFER_ENDMARK 597,22574 -#define KDATA_SPDIFIN_INT_METER 598,22641 -#define KDATA_DSP_RESET_COUNT 600,22709 -#define KDATA_DEBUG_OUTPUT 601,22776 -#define KDATA_KERNEL_ISR_LIST 603,22844 -#define KDATA_KERNEL_ISR_CBSR1 605,22912 -#define KDATA_KERNEL_ISR_CBER1 606,22979 -#define KDATA_KERNEL_ISR_CBCR 607,23046 -#define KDATA_KERNEL_ISR_AR0 608,23113 -#define KDATA_KERNEL_ISR_AR1 609,23180 -#define KDATA_KERNEL_ISR_AR2 610,23247 -#define KDATA_KERNEL_ISR_AR3 611,23314 -#define KDATA_KERNEL_ISR_AR4 612,23381 -#define KDATA_KERNEL_ISR_AR5 613,23448 -#define KDATA_KERNEL_ISR_BRCR 614,23515 -#define KDATA_KERNEL_ISR_PASR 615,23582 -#define KDATA_KERNEL_ISR_PAER 616,23649 -#define KDATA_CLIENT_SCRATCH0 618,23717 -#define KDATA_CLIENT_SCRATCH1 619,23784 -#define KDATA_KERNEL_SCRATCH 620,23851 -#define KDATA_KERNEL_ISR_SCRATCH 621,23918 -#define KDATA_OUEUE_LEFT 623,23986 -#define KDATA_QUEUE_RIGHT 624,24053 -#define KDATA_ADC1_REQUEST 626,24121 -#define KDATA_ADC2_REQUEST 627,24188 -#define KDATA_CD_REQUEST 628,24255 -#define KDATA_MIC_REQUEST 629,24310 -#define KDATA_ADC1_MIXER_REQUEST 631,24367 -#define KDATA_ADC2_MIXER_REQUEST 632,24434 -#define KDATA_CD_MIXER_REQUEST 633,24501 -#define KDATA_MIC_MIXER_REQUEST 634,24561 -#define KDATA_MIC_SYNC_COUNTER 635,24622 -#define KDATA_MIXER_WORD0 642,24747 -#define KDATA_MIXER_WORD1 643,24815 -#define KDATA_MIXER_WORD2 644,24883 -#define KDATA_MIXER_WORD3 645,24951 -#define KDATA_MIXER_WORD4 646,25019 -#define KDATA_MIXER_WORD5 647,25087 -#define KDATA_MIXER_WORD6 648,25155 -#define KDATA_MIXER_WORD7 649,25223 -#define KDATA_MIXER_WORD8 650,25291 -#define KDATA_MIXER_WORD9 651,25359 -#define KDATA_MIXER_WORDA 652,25427 -#define KDATA_MIXER_WORDB 653,25495 -#define KDATA_MIXER_WORDC 654,25563 -#define KDATA_MIXER_WORDD 655,25631 -#define KDATA_MIXER_WORDE 656,25699 -#define KDATA_MIXER_WORDF 657,25767 -#define KDATA_MIXER_XFER0 659,25836 -#define KDATA_MIXER_XFER1 660,25904 -#define KDATA_MIXER_XFER2 661,25972 -#define KDATA_MIXER_XFER3 662,26040 -#define KDATA_MIXER_XFER4 663,26108 -#define KDATA_MIXER_XFER5 664,26176 -#define KDATA_MIXER_XFER6 665,26244 -#define KDATA_MIXER_XFER7 666,26312 -#define KDATA_MIXER_XFER8 667,26380 -#define KDATA_MIXER_XFER9 668,26448 -#define KDATA_MIXER_XFER_ENDMARK 669,26516 -#define KDATA_MIXER_TASK_NUMBER 671,26585 -#define KDATA_CURRENT_MIXER 672,26653 -#define KDATA_MIXER_ACTIVE 673,26721 -#define KDATA_MIXER_BANK_STATUS 674,26789 -#define KDATA_DAC_LEFT_VOLUME 675,26857 -#define KDATA_DAC_RIGHT_VOLUME 676,26923 -#define MAX_INSTANCE_MINISRC 678,26992 -#define MAX_VIRTUAL_DMA_CHANNELS 679,27091 -#define MAX_VIRTUAL_MIXER_CHANNELS 680,27174 -#define MAX_VIRTUAL_ADC1_CHANNELS 681,27261 -#define CDATA_INSTANCE_READY 686,27382 -#define CDATA_HOST_SRC_ADDRL 688,27428 -#define CDATA_HOST_SRC_ADDRH 689,27473 -#define CDATA_HOST_SRC_END_PLUS_1L 690,27518 -#define CDATA_HOST_SRC_END_PLUS_1H 691,27563 -#define CDATA_HOST_SRC_CURRENTL 692,27608 -#define CDATA_HOST_SRC_CURRENTH 693,27653 -#define CDATA_IN_BUF_CONNECT 695,27699 -#define CDATA_OUT_BUF_CONNECT 696,27744 -#define CDATA_IN_BUF_BEGIN 698,27790 -#define CDATA_IN_BUF_END_PLUS_1 699,27835 -#define CDATA_IN_BUF_HEAD 700,27880 -#define CDATA_IN_BUF_TAIL 701,27925 -#define CDATA_OUT_BUF_BEGIN 702,27970 -#define CDATA_OUT_BUF_END_PLUS_1 703,28015 -#define CDATA_OUT_BUF_HEAD 704,28060 -#define CDATA_OUT_BUF_TAIL 705,28105 -#define CDATA_DMA_CONTROL 707,28151 -#define CDATA_RESERVED 708,28196 -#define CDATA_FREQUENCY 710,28242 -#define CDATA_LEFT_VOLUME 711,28287 -#define CDATA_RIGHT_VOLUME 712,28332 -#define CDATA_LEFT_SUR_VOL 713,28377 -#define CDATA_RIGHT_SUR_VOL 714,28422 -#define CDATA_HEADER_LEN 716,28468 -#define SRC3_DIRECTION_OFFSET 718,28514 -#define SRC3_MODE_OFFSET 719,28571 -#define SRC3_WORD_LENGTH_OFFSET 720,28634 -#define SRC3_PARAMETER_OFFSET 721,28697 -#define SRC3_COEFF_ADDR_OFFSET 722,28760 -#define SRC3_FILTAP_ADDR_OFFSET 723,28823 -#define SRC3_TEMP_INBUF_ADDR_OFFSET 724,28887 -#define SRC3_TEMP_OUTBUF_ADDR_OFFSET 725,28951 -#define MINISRC_IN_BUFFER_SIZE 727,29016 -#define MINISRC_OUT_BUFFER_SIZE 728,29062 -#define MINISRC_OUT_BUFFER_SIZE 729,29111 -#define MINISRC_TMP_BUFFER_SIZE 730,29160 -#define MINISRC_BIQUAD_STAGE 731,29244 -#define MINISRC_COEF_LOC 732,29278 -#define DMACONTROL_BLOCK_MASK 734,29319 -#define DMAC_BLOCK0_SELECTOR 735,29366 -#define DMAC_BLOCK1_SELECTOR 736,29413 -#define DMAC_BLOCK2_SELECTOR 737,29460 -#define DMAC_BLOCK3_SELECTOR 738,29507 -#define DMAC_BLOCK4_SELECTOR 739,29554 -#define DMAC_BLOCK5_SELECTOR 740,29601 -#define DMAC_BLOCK6_SELECTOR 741,29648 -#define DMAC_BLOCK7_SELECTOR 742,29695 -#define DMAC_BLOCK8_SELECTOR 743,29742 -#define DMAC_BLOCK9_SELECTOR 744,29789 -#define DMAC_BLOCKA_SELECTOR 745,29836 -#define DMAC_BLOCKB_SELECTOR 746,29883 -#define DMAC_BLOCKC_SELECTOR 747,29930 -#define DMAC_BLOCKD_SELECTOR 748,29977 -#define DMAC_BLOCKE_SELECTOR 749,30024 -#define DMAC_BLOCKF_SELECTOR 750,30071 -#define DMACONTROL_PAGE_MASK 751,30118 -#define DMAC_PAGE0_SELECTOR 752,30165 -#define DMAC_PAGE1_SELECTOR 753,30212 -#define DMAC_PAGE2_SELECTOR 754,30259 -#define DMAC_PAGE3_SELECTOR 755,30306 -#define DMACONTROL_AUTOREPEAT 756,30353 -#define DMACONTROL_STOPPED 757,30400 -#define DMACONTROL_DIRECTION 758,30447 -#define ARB_VOLUME 766,30645 -typedef struct snd_m3_dma m3_dma_t;m3_dma_t771,30684 -typedef struct snd_m3 m3_t;m3_t772,30720 -struct m3_quirk m3_quirk775,30767 -struct m3_list m3_list783,31051 -struct snd_m3_dma snd_m3_dma789,31110 - struct assp_instance assp_instance795,31191 -struct snd_m3 snd_m3817,31482 -#define PCI_VENDOR_ID_ESS 866,32110 -#define PCI_DEVICE_ID_ESS_ALLEGRO_1 869,32194 -#define PCI_DEVICE_ID_ESS_ALLEGRO 872,32278 -#define PCI_DEVICE_ID_ESS_CANYON3D_2LE 875,32365 -#define PCI_DEVICE_ID_ESS_CANYON3D_2 878,32455 -#define PCI_DEVICE_ID_ESS_MAESTRO3 881,32541 -#define PCI_DEVICE_ID_ESS_MAESTRO3_1 884,32627 -#define PCI_DEVICE_ID_ESS_MAESTRO3_HW 887,32716 -#define PCI_DEVICE_ID_ESS_MAESTRO3_2 890,32805 -static struct pci_device_id snd_m3_ids[893,32857 -static struct m3_quirk m3_quirk_list[915,33941 -#define big_mdelay(big_mdelay970,34856 -inline static void snd_m3_outw(975,34986 -inline static u16 snd_m3_inw(980,35098 -inline static void snd_m3_outb(985,35196 -inline static u8 snd_m3_inb(990,35307 -static u16 snd_m3_assp_read(999,35514 -static void snd_m3_assp_write(1006,35745 -static void snd_m3_assp_halt(1013,35988 -static void snd_m3_assp_continue(1020,36217 -static int snd_m3_add_list(1034,36578 -static void snd_m3_remove_list(1042,36772 -static void snd_m3_inc_timer_users(1062,37224 -static void snd_m3_dec_timer_users(1081,37622 -static int snd_m3_pcm_start(1105,38060 -static int snd_m3_pcm_stop(1131,38761 -snd_m3_pcm_trigger(1155,39351 -snd_m3_pcm_setup1(1192,40077 -#define LO(LO1212,40818 -#define HI(HI1213,40847 -static void snd_m3_pcm_setup2(1277,42637 -static struct play_vals play_vals1314,43687 -} pv[1316,43729 -snd_m3_playback_setup(1343,44808 -static struct rec_vals rec_vals1380,45819 -} rv[1382,45860 -snd_m3_capture_setup(1409,46950 -static int snd_m3_pcm_hw_params(1435,47629 -static int snd_m3_pcm_hw_free(1452,48105 -snd_m3_pcm_prepare(1465,48378 -snd_m3_get_pointer(1500,49138 -snd_m3_pcm_pointer(1525,49755 -static void snd_m3_update_ptr(1541,50150 -snd_m3_interrupt(1563,50657 -static snd_pcm_hardware_t snd_m3_playback 1611,51734 -static snd_pcm_hardware_t snd_m3_capture 1632,52326 -snd_m3_substream_open(1658,52937 -snd_m3_substream_close(1691,53618 -snd_m3_playback_open(1713,54225 -snd_m3_playback_close(1729,54525 -snd_m3_capture_open(1738,54683 -snd_m3_capture_close(1754,54981 -static snd_pcm_ops_t snd_m3_playback_ops 1766,55158 -static snd_pcm_ops_t snd_m3_capture_ops 1777,55465 -snd_m3_pcm(1789,55790 -static int snd_m3_ac97_wait(1822,56497 -snd_m3_ac97_read(1836,56709 -snd_m3_ac97_write(1855,57142 -static void snd_m3_remote_codec_config(1870,57493 -static int snd_m3_try_read_vendor(1885,57925 -static void snd_m3_ac97_reset(1902,58202 -static int __devinit snd_m3_mixer(1971,59801 -static u16 assp_kernel_image[2003,60486 -static u16 assp_kernel_image[] __devinitdata 2003,60486 -static u16 assp_minisrc_image[2090,68624 -static u16 assp_minisrc_image[] __devinitdata 2090,68624 -#define MINISRC_LPF_LEN 2132,72016 -static u16 minisrc_lpf[2133,72043 -static u16 minisrc_lpf[MINISRC_LPF_LEN] __devinitdata 2133,72043 -static void __devinit snd_m3_assp_init(2138,72186 -static int __devinit snd_m3_assp_client_init(2227,74667 -snd_m3_amp_enable(2273,75727 -snd_m3_chip_init(2297,76175 -snd_m3_enable_ints(2343,77520 -static int snd_m3_free(2357,77789 -static int m3_suspend(2399,78572 -static int m3_resume(2430,79391 -static int snd_m3_dev_free(2477,80486 -snd_m3_create(2484,80623 -snd_m3_probe(2627,84082 -static void __devexit snd_m3_remove(2694,85547 -static struct pci_driver driver 2700,85676 -static int __init alsa_card_m3_init(2708,85848 -static void __exit alsa_card_m3_exit(2713,85929 -module_init(2718,86010 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/nm256/nm256_coef.c,96 -#define NM_TOTAL_COEFF_COUNT 1,0 -static char coefficients[3,37 -coefficient_sizes[4601,307870 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/nm256/nm256.c,5257 -#define CARD_NAME 42,1470 -#define DRIVER_NAME 43,1508 -static int index[55,1760 -static char *id[56,1829 -static int enable[57,1902 -static int playback_bufsize[58,1961 -static int capture_bufsize[59,2038 -static int force_ac97[60,2114 -static int buffer_top[61,2210 -static int use_cache[62,2300 -static int vaio_hack[63,2384 -static int boot_devs;64,2468 -#define NM_SIGNATURE 90,3728 -#define NM_SIG_MASK 92,3782 -#define NM_PORT2_SIZE 95,3852 -#define NM_MIXER_OFFSET 98,3942 -#define NM_MAX_PLAYBACK_COEF_SIZE 101,4020 -#define NM_MAX_RECORD_COEF_SIZE 102,4061 -#define NM_INT_REG 105,4132 -#define NM_PLAYBACK_INT 107,4177 -#define NM_RECORD_INT 108,4206 -#define NM_MISC_INT_1 109,4234 -#define NM_MISC_INT_2 110,4263 -#define NM_ACK_INT(NM_ACK_INT111,4289 -#define NM_MIXER_STATUS_OFFSET 114,4417 -#define NM_MIXER_READY_MASK 115,4454 -#define NM_MIXER_PRESENCE 116,4489 -#define NM_PRESENCE_MASK 117,4521 -#define NM_PRESENCE_VALUE 118,4553 -#define NM2_PLAYBACK_INT 124,4686 -#define NM2_RECORD_INT 125,4719 -#define NM2_MISC_INT_1 126,4750 -#define NM2_MISC_INT_2 127,4777 -#define NM2_ACK_INT(NM2_ACK_INT128,4804 -#define NM2_MIXER_STATUS_OFFSET 131,4928 -#define NM2_MIXER_READY_MASK 132,4966 -#define NM_PLAYBACK_REG_OFFSET 135,5049 -#define NM_RECORD_REG_OFFSET 137,5128 -#define NM_RATE_REG_OFFSET 140,5244 -#define NM_RATE_STEREO 143,5341 -#define NM_RATE_BITS_16 144,5366 -#define NM_RATE_MASK 145,5392 -#define NM_PLAYBACK_ENABLE_REG 148,5451 -#define NM_PLAYBACK_ENABLE_FLAG 149,5513 -#define NM_PLAYBACK_ONESHOT 150,5547 -#define NM_PLAYBACK_FREERUN 151,5577 -#define NM_AUDIO_MUTE_REG 154,5638 -#define NM_AUDIO_MUTE_LEFT 155,5696 -#define NM_AUDIO_MUTE_RIGHT 156,5730 -#define NM_RECORD_ENABLE_REG 159,5799 -#define NM_RECORD_ENABLE_FLAG 160,5855 -#define NM_RECORD_FREERUN 161,5887 -#define NM_COEFF_START_OFFSET 164,5949 -#define NM_COEFF_END_OFFSET 165,5984 -#define NM_RBUFFER_START 168,6043 -#define NM_RBUFFER_END 169,6097 -#define NM_RBUFFER_WMARK 170,6152 -#define NM_RBUFFER_CURRP 171,6206 -#define NM_PBUFFER_START 173,6261 -#define NM_PBUFFER_END 174,6317 -#define NM_PBUFFER_WMARK 175,6374 -#define NM_PBUFFER_CURRP 176,6430 -typedef struct snd_nm256 nm256_t;nm256_t182,6515 -typedef struct snd_nm256_stream nm256_stream_t;nm256_stream_t183,6549 -struct snd_nm256_stream snd_nm256_stream185,6598 -struct snd_nm256 snd_nm256204,7106 -#define PCI_VENDOR_ID_NEOMEGIC 259,8417 -#define PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO 262,8507 -#define PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO 265,8611 -#define PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO 268,8720 -static struct pci_device_id snd_nm256_ids[272,8786 -snd_nm256_readb(287,9230 -snd_nm256_readw(293,9333 -snd_nm256_readl(299,9436 -snd_nm256_writeb(305,9540 -snd_nm256_writew(311,9652 -snd_nm256_writel(317,9765 -snd_nm256_write_buffer(323,9878 -snd_nm256_get_start_offset(340,10273 -snd_nm256_load_one_coefficient(349,10420 -snd_nm256_load_coefficient(364,10927 -static unsigned int samplerates[403,12171 -static snd_pcm_hw_constraint_list_t constraints_rates 406,12269 -snd_nm256_fixed_rate(416,12458 -snd_nm256_set_format(431,12687 -static void snd_nm256_pcm_mark(470,13683 -#define snd_nm256_playback_mark(snd_nm256_playback_mark477,13881 -#define snd_nm256_capture_mark(snd_nm256_capture_mark478,13968 -snd_nm256_playback_start(481,14068 -snd_nm256_capture_start(497,14650 -snd_nm256_playback_stop(512,15156 -snd_nm256_capture_stop(522,15424 -snd_nm256_playback_trigger(529,15561 -snd_nm256_capture_trigger(562,16267 -static int snd_nm256_pcm_prepare(598,17003 -snd_nm256_playback_pointer(623,17683 -snd_nm256_capture_pointer(636,18091 -snd_nm256_playback_silence(655,18652 -snd_nm256_playback_copy(669,19081 -snd_nm256_capture_copy(688,19576 -snd_nm256_playback_update(712,20164 -snd_nm256_capture_update(727,20488 -static snd_pcm_hardware_t snd_nm256_playback 743,20800 -static snd_pcm_hardware_t snd_nm256_capture 762,21355 -static int snd_nm256_pcm_hw_params(783,21939 -static void snd_nm256_setup_stream(793,22185 -snd_nm256_playback_open(815,22818 -snd_nm256_capture_open(825,23070 -snd_nm256_playback_close(838,23367 -snd_nm256_capture_close(845,23452 -static snd_pcm_ops_t snd_nm256_playback_ops 853,23556 -static snd_pcm_ops_t snd_nm256_capture_ops 868,23995 -snd_nm256_pcm(883,24409 -snd_nm256_init_chip(914,25069 -snd_nm256_intr_check(928,25381 -snd_nm256_interrupt(961,26543 -snd_nm256_interrupt_zx(1028,28100 -snd_nm256_ac97_ready(1096,29593 -snd_nm256_ac97_read(1119,29971 -snd_nm256_ac97_write(1138,30292 -snd_nm256_ac97_reset(1161,30818 -snd_nm256_mixer(1179,31284 -snd_nm256_peek_for_sig(1226,32600 -static int nm256_suspend(1270,33726 -static int nm256_resume(1281,33991 -static int snd_nm256_free(1297,34339 -static int snd_nm256_dev_free(1326,34998 -snd_nm256_create(1333,35144 -struct nm256_quirk nm256_quirk1524,41001 -#define NM_BLACKLISTED 1530,41085 -static struct nm256_quirk nm256_quirks[1532,41111 -static struct nm256_quirk nm256_quirks[] __devinitdata 1532,41111 -static int __devinit snd_nm256_probe(1539,41314 -static void __devexit snd_nm256_remove(1631,43607 -static struct pci_driver driver 1638,43740 -static int __init alsa_card_nm256_init(1647,43925 -static void __exit alsa_card_nm256_exit(1652,44009 -module_init(1657,44093 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/bt87x.c,4428 -static int index[44,1438 -static char *id[45,1507 -static int enable[46,1580 -static int digital_rate[47,1662 -static int boot_devs;48,1759 -#define PCI_VENDOR_ID_BROOKTREE 61,2261 -#define PCI_DEVICE_ID_BROOKTREE_878 64,2343 -#define PCI_DEVICE_ID_BROOKTREE_879 67,2429 -#define REG_INT_STAT 71,2503 -#define REG_INT_MASK 72,2554 -#define REG_GPIO_DMA_CTL 73,2603 -#define REG_PACKET_LEN 74,2654 -#define REG_RISC_STRT_ADD 75,2711 -#define REG_RISC_COUNT 76,2776 -#define INT_OFLOW 79,2855 -#define INT_RISCI 80,2908 -#define INT_FBUS 81,2971 -#define INT_FTRGT 82,3043 -#define INT_FDSR 83,3112 -#define INT_PPERR 84,3180 -#define INT_RIPERR 85,3231 -#define INT_PABORT 86,3296 -#define INT_OCERR 87,3358 -#define INT_SCERR 88,3407 -#define INT_RISC_EN 89,3463 -#define INT_RISCS_SHIFT 90,3522 -#define CTL_FIFO_ENABLE 93,3604 -#define CTL_RISC_ENABLE 94,3668 -#define CTL_PKTP_4 95,3737 -#define CTL_PKTP_8 96,3815 -#define CTL_PKTP_16 97,3860 -#define CTL_ACAP_EN 98,3907 -#define CTL_DA_APP 99,3965 -#define CTL_DA_IOM_AFE 100,4012 -#define CTL_DA_IOM_DA 101,4068 -#define CTL_DA_SDR_SHIFT 102,4127 -#define CTL_DA_SDR_MASK 103,4199 -#define CTL_DA_LMT 104,4234 -#define CTL_DA_ES2 105,4294 -#define CTL_DA_SBR 106,4349 -#define CTL_DA_DPM 107,4411 -#define CTL_DA_LRD_SHIFT 108,4464 -#define CTL_DA_MLB 109,4516 -#define CTL_DA_LRI 110,4567 -#define CTL_DA_SCE 111,4625 -#define CTL_A_SEL_STV 112,4679 -#define CTL_A_SEL_SFM 113,4739 -#define CTL_A_SEL_SML 114,4793 -#define CTL_A_SEL_SMXC 115,4853 -#define CTL_A_SEL_SHIFT 116,4904 -#define CTL_A_SEL_MASK 117,4938 -#define CTL_A_PWRDN 118,4972 -#define CTL_A_G2X 119,5033 -#define CTL_A_GAIN_SHIFT 120,5085 -#define CTL_A_GAIN_MASK 121,5142 -#define RISC_WRITE 124,5209 -#define RISC_WRITEC 125,5283 -#define RISC_SKIP 126,5366 -#define RISC_JUMP 127,5417 -#define RISC_SYNC 128,5469 -#define RISC_BYTES_ENABLE 131,5556 -#define RISC_RESYNC 132,5617 -#define RISC_SET_STATUS_SHIFT 133,5676 -#define RISC_RESET_STATUS_SHIFT 134,5739 -#define RISC_IRQ 135,5806 -#define RISC_EOL 136,5852 -#define RISC_SOL 137,5900 -#define RISC_SYNC_FM1 140,5981 -#define RISC_SYNC_VRO 141,6007 -#define ERROR_INTERRUPTS 143,6034 -#define MY_INTERRUPTS 145,6139 -#define MAX_RISC_SIZE 148,6271 -typedef struct snd_bt87x bt87x_t;bt87x_t150,6361 -struct snd_bt87x snd_bt87x151,6395 -enum { DEVICE_DIGITAL,172,6688 -enum { DEVICE_DIGITAL, DEVICE_ANALOG 172,6688 -static inline u32 snd_bt87x_readl(174,6729 -static inline void snd_bt87x_writel(179,6825 -static int snd_bt87x_create_risc(184,6935 -static void snd_bt87x_free_risc(234,8323 -static irqreturn_t snd_bt87x_interrupt(242,8475 -static snd_pcm_hardware_t snd_bt87x_digital_hw 284,10022 -static snd_pcm_hardware_t snd_bt87x_analog_hw 300,10438 -static int snd_bt87x_set_digital_hw(318,10914 -static int snd_bt87x_set_analog_hw(347,11655 -static int snd_bt87x_pcm_open(366,12126 -static int snd_bt87x_close(395,12771 -static int snd_bt87x_hw_params(405,12982 -static int snd_bt87x_hw_free(420,13395 -static int snd_bt87x_prepare(429,13589 -static int snd_bt87x_start(446,14166 -static int snd_bt87x_stop(460,14646 -static int snd_bt87x_trigger(471,14995 -static snd_pcm_uframes_t snd_bt87x_pointer(485,15294 -static snd_pcm_ops_t snd_bt87x_pcm_ops 493,15569 -static int snd_bt87x_capture_volume_info(505,15893 -static int snd_bt87x_capture_volume_get(514,16125 -static int snd_bt87x_capture_volume_put(522,16375 -static snd_kcontrol_new_t snd_bt87x_capture_volume 538,16897 -static int snd_bt87x_capture_boost_info(546,17137 -static int snd_bt87x_capture_boost_get(555,17367 -static int snd_bt87x_capture_boost_put(563,17593 -static snd_kcontrol_new_t snd_bt87x_capture_boost 579,18104 -static int snd_bt87x_capture_source_info(587,18339 -static int snd_bt87x_capture_source_get(600,18753 -static int snd_bt87x_capture_source_put(608,19003 -static snd_kcontrol_new_t snd_bt87x_capture_source 624,19525 -static int snd_bt87x_free(632,19765 -static int snd_bt87x_dev_free(648,20042 -static int __devinit snd_bt87x_pcm(654,20167 -static int __devinit snd_bt87x_create(672,20663 -static int __devinit snd_bt87x_probe(733,22103 -static void __devexit snd_bt87x_remove(797,23521 -#define BT_DEVICE(BT_DEVICE803,23653 -static struct pci_device_id snd_bt87x_ids[810,23931 -static struct pci_driver driver 820,24240 -static int __init alsa_card_bt87x_init(827,24395 -static void __exit alsa_card_bt87x_exit(832,24479 -module_init(837,24563 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/azt3328.c,4485 -#define SUPPORT_JOYSTICK 117,5116 -#define DEBUG_MISC 120,5151 -#define DEBUG_CALLS 121,5172 -#define DEBUG_MIXER 122,5194 -#define DEBUG_PLAY_REC 123,5216 -#define DEBUG_IO 124,5241 -#define MIXER_TESTING 125,5260 -#define snd_azf3328_dbgmisc(snd_azf3328_dbgmisc128,5300 -#define snd_azf3328_dbgmisc(snd_azf3328_dbgmisc130,5383 -#define snd_azf3328_dbgcalls(snd_azf3328_dbgcalls134,5454 -#define snd_azf3328_dbgcallenter(snd_azf3328_dbgcallenter135,5523 -#define snd_azf3328_dbgcallleave(snd_azf3328_dbgcallleave136,5605 -#define snd_azf3328_dbgcalls(snd_azf3328_dbgcalls138,5692 -#define snd_azf3328_dbgcallenter(snd_azf3328_dbgcallenter139,5738 -#define snd_azf3328_dbgcallleave(snd_azf3328_dbgcallleave140,5773 -#define snd_azf3328_dbgmixer(snd_azf3328_dbgmixer144,5834 -#define snd_azf3328_dbgmixer(snd_azf3328_dbgmixer146,5909 -#define snd_azf3328_dbgplay(snd_azf3328_dbgplay150,5984 -#define snd_azf3328_dbgplay(snd_azf3328_dbgplay152,6067 -#define snd_azf3328_dbgio(snd_azf3328_dbgio156,6135 -#define snd_azf3328_dbgio(snd_azf3328_dbgio159,6415 -static int index[162,6467 -static char *id[163,6536 -static int enable[164,6609 -static int joystick[166,6715 -static int boot_devs;168,6756 -typedef struct _snd_azf3328 azf3328_t;azf3328_t181,7258 -struct _snd_azf3328 _snd_azf3328183,7298 -static struct pci_device_id snd_azf3328_ids[210,7800 -void snd_azf3328_io2_write(218,8047 -unsigned char snd_azf3328_io2_read(223,8162 -void snd_azf3328_mixer_write(228,8263 -unsigned long snd_azf3328_mixer_read(243,8572 -void snd_azf3328_mixer_set_mute(262,8946 -void snd_azf3328_mixer_write_volume_gradually(276,9286 -typedef struct azf3328_mixer_reg azf3328_mixer_reg334,10706 -} azf3328_mixer_reg_t;azf3328_mixer_reg_t341,10895 -#define COMPOSE_MIXER_REG(COMPOSE_MIXER_REG343,10919 -static void snd_azf3328_mixer_reg_decode(346,11121 -#define AZF3328_MIXER_SWITCH(AZF3328_MIXER_SWITCH361,11465 -#define AZF3328_MIXER_VOL_STEREO(AZF3328_MIXER_VOL_STEREO368,11756 -#define AZF3328_MIXER_VOL_MONO(AZF3328_MIXER_VOL_MONO375,12047 -#define AZF3328_MIXER_VOL_SPECIAL(AZF3328_MIXER_VOL_SPECIAL382,12358 -#define AZF3328_MIXER_ENUM(AZF3328_MIXER_ENUM389,12661 -static int snd_azf3328_info_mixer(396,12963 -static int snd_azf3328_get_mixer(410,13405 -static int snd_azf3328_put_mixer(435,14321 -static int snd_azf3328_info_mixer_enum(466,15633 -static int snd_azf3328_get_mixer_enum(495,16773 -static int snd_azf3328_put_mixer_enum(514,17608 -static snd_kcontrol_new_t snd_azf3328_mixer_controls[545,18672 -static snd_kcontrol_new_t snd_azf3328_mixer_controls[] __devinitdata 545,18672 -#define AZF3328_INIT_VALUES 600,22217 -static unsigned int snd_azf3328_init_values[602,22303 -static int __devinit snd_azf3328_mixer_new(618,23014 -static int snd_azf3328_hw_params(651,23907 -static int snd_azf3328_hw_free(661,24173 -static void snd_azf3328_setfmt(669,24347 -static void snd_azf3328_setdmaa(731,26667 -static int snd_azf3328_playback_prepare(765,27760 -static int snd_azf3328_capture_prepare(783,28349 -static int snd_azf3328_playback_trigger(801,28937 -static int snd_azf3328_capture_trigger(893,32007 -static snd_pcm_uframes_t snd_azf3328_playback_pointer(972,34615 -static snd_pcm_uframes_t snd_azf3328_capture_pointer(992,35264 -static irqreturn_t snd_azf3328_interrupt(1012,35906 -static snd_pcm_hardware_t snd_azf3328_playback 1084,38761 -static snd_pcm_hardware_t snd_azf3328_capture 1107,39494 -static unsigned int snd_azf3328_fixed_rates[1128,40078 -static snd_pcm_hw_constraint_list_t snd_azf3328_hw_constraints_rates 1131,40204 -static int snd_azf3328_playback_open(1139,40444 -static int snd_azf3328_capture_open(1153,40877 -static int snd_azf3328_playback_close(1167,41307 -static int snd_azf3328_capture_close(1178,41542 -static snd_pcm_ops_t snd_azf3328_playback_ops 1190,41844 -static snd_pcm_ops_t snd_azf3328_capture_ops 1201,42197 -static void snd_azf3328_pcm_free(1212,42544 -static int __devinit snd_azf3328_pcm(1219,42699 -static int snd_azf3328_free(1245,43459 -static int snd_azf3328_dev_free(1277,44339 -static void snd_azf3328_test_bit(1285,44518 -static int __devinit snd_azf3328_create(1303,44848 -static void __devinit snd_azf3328_config_joystick(1392,47969 -static int __devinit snd_azf3328_probe(1413,48465 -static void __devexit snd_azf3328_remove(1494,50415 -static struct pci_driver driver 1502,50607 -static int __init alsa_card_azf3328_init(1509,50770 -static void __exit alsa_card_azf3328_exit(1518,50936 -module_init(1525,51080 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/es1968.c,12628 -#define CARD_NAME 112,5213 -#define DRIVER_NAME 113,5248 -#define SUPPORT_JOYSTICK 123,5531 -static int index[126,5566 -static char *id[127,5635 -static int enable[128,5708 -static int total_bufsize[129,5790 -static int pcm_substreams_p[130,5867 -static int pcm_substreams_c[131,5944 -static int clock[132,6021 -static int use_pm[133,6086 -static int enable_mpu[134,6152 -static int joystick[136,6246 -static int boot_devs;138,6287 -#define PCI_VENDOR_ID_ESS 167,7647 -#define PCI_VENDOR_ID_ESS_OLD 170,7688 -#define PCI_DEVICE_ID_ESS_M2E 174,7820 -#define PCI_DEVICE_ID_ESS_M2 177,7893 -#define PCI_DEVICE_ID_ESS_M1 180,7965 -#define NR_APUS 183,8009 -#define NR_APU_REGS 184,8030 -#define NEC_VERSA_SUBID1 187,8074 -#define NEC_VERSA_SUBID2 188,8110 -#define ESS_FMT_STEREO 191,8164 -#define ESS_FMT_16BIT 192,8197 -#define DAC_RUNNING 194,8231 -#define ADC_RUNNING 195,8254 -#define ESS_ENABLE_AUDIO 199,8325 -#define ESS_ENABLE_SERIAL_IRQ 200,8357 -#define IO_ADRESS_ALIAS 201,8394 -#define MPU401_IRQ_ENABLE 202,8426 -#define MPU401_IO_ENABLE 203,8459 -#define GAME_IO_ENABLE 204,8491 -#define FM_IO_ENABLE 205,8522 -#define SB_IO_ENABLE 206,8551 -#define PIC_SNOOP1 210,8616 -#define PIC_SNOOP2 211,8643 -#define SAFEGUARD 212,8670 -#define DMA_CLEAR 213,8696 -#define DMA_DDMA 214,8722 -#define DMA_TDMA 215,8747 -#define DMA_PCPCI 216,8772 -#define POST_WRITE 217,8798 -#define ISA_TIMING 218,8825 -#define SWAP_LR 219,8852 -#define SUBTR_DECODE 220,8877 -#define SPDIF_CONFB 224,8942 -#define HWV_CONFB 225,8970 -#define DEBOUNCE 226,8996 -#define GPIO_CONFB 227,9021 -#define CHI_CONFB 228,9048 -#define IDMA_CONFB 229,9074 -#define MIDI_FIX 230,9112 -#define IRQ_TO_ISA 231,9148 -#define RINGB_2CODEC_ID_MASK 234,9223 -#define RINGB_DIS_VALIDATION 235,9259 -#define RINGB_EN_SPDIF 236,9295 -#define RINGB_EN_2CODEC 237,9326 -#define RINGB_SING_BIT_DUAL 238,9358 -#define ESM_INDEX 243,9444 -#define ESM_DATA 244,9468 -#define ESM_AC97_INDEX 247,9515 -#define ESM_AC97_DATA 248,9544 -#define ESM_RING_BUS_DEST 249,9572 -#define ESM_RING_BUS_CONTR_A 250,9603 -#define ESM_RING_BUS_CONTR_B 251,9637 -#define ESM_RING_BUS_SDO 252,9671 -#define WC_INDEX 255,9719 -#define WC_DATA 256,9742 -#define WC_CONTROL 257,9765 -#define ASSP_INDEX 260,9803 -#define ASSP_MEMORY 261,9828 -#define ASSP_DATA 262,9854 -#define ASSP_CONTROL_A 263,9878 -#define ASSP_CONTROL_B 264,9907 -#define ASSP_CONTROL_C 265,9936 -#define ASSP_HOSTW_INDEX 266,9965 -#define ASSP_HOSTW_DATA 267,9995 -#define ASSP_HOSTW_IRQ 268,10025 -#define ESM_MPU401_PORT 270,10065 -#define ESM_PORT_HOST_IRQ 272,10108 -#define IDR0_DATA_PORT 274,10140 -#define IDR1_CRAM_POINTER 275,10169 -#define IDR2_CRAM_DATA 276,10200 -#define IDR3_WAVE_DATA 277,10229 -#define IDR4_WAVE_PTR_LOW 278,10258 -#define IDR5_WAVE_PTR_HI 279,10289 -#define IDR6_TIMER_CTRL 280,10319 -#define IDR7_WAVE_ROMRAM 281,10349 -#define WRITEABLE_MAP 283,10380 -#define READABLE_MAP 284,10412 -#define ESM_LEGACY_AUDIO_CONTROL 288,10464 -#define ESM_ACPI_COMMAND 289,10502 -#define ESM_CONFIG_A 290,10532 -#define ESM_CONFIG_B 291,10559 -#define ESM_DDMA 292,10586 -#define ESM_BOB_ENABLE 295,10625 -#define ESM_BOB_START 296,10656 -#define ESM_RESET_MAESTRO 299,10715 -#define ESM_RESET_DIRECTSOUND 300,10748 -#define ESM_HIRQ_ClkRun 301,10787 -#define ESM_HIRQ_HW_VOLUME 302,10819 -#define ESM_HIRQ_HARPO 303,10853 -#define ESM_HIRQ_ASSP 304,10903 -#define ESM_HIRQ_DSIE 305,10933 -#define ESM_HIRQ_MPU401 306,10963 -#define ESM_HIRQ_SB 307,10995 -#define ESM_MPU401_IRQ 310,11051 -#define ESM_SB_IRQ 311,11080 -#define ESM_SOUND_IRQ 312,11105 -#define ESM_ASSP_IRQ 313,11133 -#define ESM_HWVOL_IRQ 314,11160 -#define ESS_SYSCLK 316,11189 -#define ESM_BOB_FREQ 317,11218 -#define ESM_BOB_FREQ_MAX 318,11245 -#define ESM_FREQ_ESM1 320,11275 -#define ESM_FREQ_ESM2 321,11345 -#define ESM_APU_MODE_SHIFT 324,11426 -#define ESM_APU_MODE_MASK 325,11455 -#define ESM_APU_OFF 326,11492 -#define ESM_APU_16BITLINEAR 327,11518 -#define ESM_APU_16BITSTEREO 328,11585 -#define ESM_APU_8BITLINEAR 329,11652 -#define ESM_APU_8BITSTEREO 330,11717 -#define ESM_APU_8BITDIFF 331,11782 -#define ESM_APU_DIGITALDELAY 332,11852 -#define ESM_APU_DUALTAP 333,11911 -#define ESM_APU_CORRELATOR 334,11963 -#define ESM_APU_INPUTMIXER 335,12012 -#define ESM_APU_WAVETABLE 336,12062 -#define ESM_APU_SRCONVERTOR 337,12115 -#define ESM_APU_16BITPINGPONG 338,12176 -#define ESM_APU_RESERVED1 339,12248 -#define ESM_APU_RESERVED2 340,12296 -#define ESM_APU_RESERVED3 341,12344 -#define ESM_APU_FILTER_Q_SHIFT 344,12408 -#define ESM_APU_FILTER_Q_MASK 345,12442 -#define ESM_APU_FILTER_LESSQ 347,12509 -#define ESM_APU_FILTER_MOREQ 348,12543 -#define ESM_APU_FILTER_TYPE_SHIFT 350,12578 -#define ESM_APU_FILTER_TYPE_MASK 351,12614 -#define ESM_APU_ENV_TYPE_SHIFT 352,12656 -#define ESM_APU_ENV_TYPE_MASK 353,12690 -#define ESM_APU_ENV_STATE_SHIFT 354,12730 -#define ESM_APU_ENV_STATE_MASK 355,12766 -#define ESM_APU_END_CURVE 356,12808 -#define ESM_APU_INT_ON_LOOP 357,12845 -#define ESM_APU_DMA_ENABLE 358,12884 -#define ESM_APU_SUBMIX_GROUP_SHIRT 361,12938 -#define ESM_APU_SUBMIX_GROUP_MASK 362,12975 -#define ESM_APU_SUBMIX_MODE 363,13018 -#define ESM_APU_6dB 364,13056 -#define ESM_APU_DUAL_EFFECT 365,13087 -#define ESM_APU_EFFECT_CHANNELS_SHIFT 366,13125 -#define ESM_APU_EFFECT_CHANNELS_MASK 367,13165 -#define ESM_APU_STEP_SIZE_MASK 370,13227 -#define ESM_APU_PHASE_SHIFT 373,13282 -#define ESM_APU_PHASE_MASK 374,13313 -#define ESM_APU_WAVE64K_PAGE_SHIFT 375,13353 -#define ESM_APU_WAVE64K_PAGE_MASK 376,13427 -#define ESM_APU_EFFECT_GAIN_SHIFT 383,13592 -#define ESM_APU_EFFECT_GAIN_MASK 384,13628 -#define ESM_APU_TREMOLO_DEPTH_SHIFT 385,13673 -#define ESM_APU_TREMOLO_DEPTH_MASK 386,13711 -#define ESM_APU_TREMOLO_RATE_SHIFT 387,13757 -#define ESM_APU_TREMOLO_RATE_MASK 388,13795 -#define ESM_APU_AMPLITUDE_NOW_SHIFT 392,13887 -#define ESM_APU_AMPLITUDE_NOW_MASK 393,13925 -#define ESM_APU_POLAR_PAN_SHIFT 396,13988 -#define ESM_APU_POLAR_PAN_MASK 397,14023 -#define ESM_APU_PAN_CENTER_CIRCLE 399,14091 -#define ESM_APU_PAN_MIDDLE_RADIUS 400,14131 -#define ESM_APU_PAN_OUTSIDE_RADIUS 401,14171 -#define ESM_APU_FILTER_TUNING_SHIFT 403,14213 -#define ESM_APU_FILTER_TUNING_MASK 404,14251 -#define ESM_APU_DATA_SRC_A_SHIFT 407,14314 -#define ESM_APU_DATA_SRC_A_MASK 408,14349 -#define ESM_APU_INV_POL_A 409,14394 -#define ESM_APU_DATA_SRC_B_SHIFT 410,14430 -#define ESM_APU_DATA_SRC_B_MASK 411,14465 -#define ESM_APU_INV_POL_B 412,14510 -#define ESM_APU_VIBRATO_RATE_SHIFT 414,14548 -#define ESM_APU_VIBRATO_RATE_MASK 415,14585 -#define ESM_APU_VIBRATO_DEPTH_SHIFT 416,14630 -#define ESM_APU_VIBRATO_DEPTH_MASK 417,14668 -#define ESM_APU_VIBRATO_PHASE_SHIFT 418,14714 -#define ESM_APU_VIBRATO_PHASE_MASK 419,14752 -#define ESM_APU_RADIUS_SELECT 422,14815 -#define ESM_APU_FILTER_2POLE_LOPASS 425,14881 -#define ESM_APU_FILTER_2POLE_BANDPASS 426,14922 -#define ESM_APU_FILTER_2POLE_HIPASS 427,14965 -#define ESM_APU_FILTER_1POLE_LOPASS 428,15006 -#define ESM_APU_FILTER_1POLE_HIPASS 429,15047 -#define ESM_APU_FILTER_OFF 430,15088 -#define ESM_APU_ATFP_AMPLITUDE 433,15142 -#define ESM_APU_ATFP_TREMELO 434,15180 -#define ESM_APU_ATFP_FILTER 435,15216 -#define ESM_APU_ATFP_PAN 436,15251 -#define ESM_APU_ATFP_FLG_OFF 439,15305 -#define ESM_APU_ATFP_FLG_WAIT 440,15341 -#define ESM_APU_ATFP_FLG_DONE 441,15378 -#define ESM_APU_ATFP_FLG_INPROCESS 442,15415 -#define ESM_MEM_ALIGN 446,15491 -#define ESM_MIXBUF_SIZE 447,15521 -#define ESM_MODE_PLAY 449,15553 -#define ESM_MODE_CAPTURE 450,15578 - ACPI_D0=454,15631 - ACPI_D1,455,15643 - ACPI_D2,456,15653 - ACPI_D3457,15663 -#define ACPI_12MHZ 461,15705 -#define ACPI_24MHZ 462,15735 -#define ACPI_978 463,15765 -#define ACPI_SPDIF 464,15793 -#define ACPI_GLUE 465,15823 -#define ACPI__10 466,15852 -#define ACPI_PCIINT 467,15895 -#define ACPI_HV 468,15925 -#define ACPI_GPIO 469,15974 -#define ACPI_ASSP 470,16002 -#define ACPI_SB 471,16030 -#define ACPI_FM 472,16071 -#define ACPI_RB 473,16112 -#define ACPI_MIDI 474,16162 -#define ACPI_GP 475,16191 -#define ACPI_WP 476,16234 -#define ACPI_ALL 478,16283 -#define ACPI_SLEEP 479,16309 -#define ACPI_NONE 481,16402 -static u16 acpi_state_mask[485,16502 -typedef struct snd_es1968 es1968_t;es1968_t493,16636 -typedef struct snd_esschan esschan_t;esschan_t494,16672 -typedef struct snd_esm_memory esm_memory_t;esm_memory_t495,16710 -enum snd_enum_apu_type snd_enum_apu_type498,16783 - ESM_APU_PCM_PLAY,499,16808 - ESM_APU_PCM_CAPTURE,500,16827 - ESM_APU_PCM_RATECONV,501,16849 - ESM_APU_FREE502,16872 - TYPE_MAESTRO,507,16913 - TYPE_MAESTRO, TYPE_MAESTRO2,507,16913 - TYPE_MAESTRO, TYPE_MAESTRO2, TYPE_MAESTRO2E507,16913 -struct snd_esm_memory snd_esm_memory511,16978 -struct snd_esschan snd_esschan518,17106 -struct snd_es1968 snd_es1968552,17810 -static struct pci_device_id snd_es1968_ids[610,18991 -static void __maestro_write(627,19565 -inline static void maestro_write(634,19743 -static u16 __maestro_read(643,19984 -inline static u16 maestro_read(652,20207 -#define big_mdelay(big_mdelay662,20449 -static int snd_es1968_ac97_wait(668,20625 -static void snd_es1968_ac97_write(680,20857 -static unsigned short snd_es1968_ac97_read(698,21268 -static void apu_index_set(721,21745 -static void apu_data_set(732,22038 -static void __apu_set_register(744,22333 -inline static void apu_set_register(755,22595 -static u16 __apu_get_register(763,22845 -inline static u16 apu_get_register(771,23056 -static void assp_set_register(783,23347 -static u32 assp_get_register(793,23615 -static void wave_set_register(808,23907 -static u16 wave_get_register(818,24171 -static void snd_es1968_bob_stop(835,24522 -static void snd_es1968_bob_start(850,24890 -static void snd_es1968_bob_inc(893,26091 -static void snd_es1968_bob_dec(907,26416 -snd_es1968_calc_bob_rate(930,26989 -static u32 snd_es1968_compute_rate(952,27463 -snd_es1968_get_dma_ptr(964,27717 -static void snd_es1968_apu_set_freq(975,27928 -inline static void snd_es1968_trigger_apu(984,28187 -static void snd_es1968_pcm_start(992,28396 -static void snd_es1968_pcm_stop(1012,29111 -static void snd_es1968_program_wavecache(1025,29501 -static void snd_es1968_playback_setup(1046,29954 -static void init_capture_apu(1149,32778 -static void snd_es1968_capture_setup(1194,34193 -static int snd_es1968_pcm_prepare(1263,36238 -static int snd_es1968_pcm_trigger(1295,37112 -static snd_pcm_uframes_t snd_es1968_pcm_pointer(1325,37812 -static snd_pcm_hardware_t snd_es1968_playback 1336,38146 -static snd_pcm_hardware_t snd_es1968_capture 1357,38772 -static int calc_available_memory_size(1385,39571 -static esm_memory_t *snd_es1968_new_memory(1403,40027 -static void snd_es1968_free_memory(1439,40874 -static void snd_es1968_free_dmabuf(1465,41479 -snd_es1968_init_dmabuf(1480,41826 -static int snd_es1968_hw_params(1523,43067 -static int snd_es1968_hw_free(1548,43817 -static int snd_es1968_alloc_apu_pair(1568,44220 -static void snd_es1968_free_apu_pair(1585,44537 -static int snd_es1968_playback_open(1595,44720 -static int snd_es1968_capture_open(1636,45715 -static int snd_es1968_playback_close(1695,47280 -static int snd_es1968_capture_close(1712,47695 -static snd_pcm_ops_t snd_es1968_playback_ops 1731,48197 -static snd_pcm_ops_t snd_es1968_capture_ops 1742,48528 -#define CLOCK_MEASURE_BUFSIZE 1757,48881 -static void __devinit es1968_measure_clock(1759,48955 -static void snd_es1968_pcm_free(1857,52048 -snd_es1968_pcm(1865,52206 -static void snd_es1968_update_pcm(1903,53097 -static void es1968_update_hw_volume(1930,53673 -static irqreturn_t snd_es1968_interrupt(1979,54923 -snd_es1968_mixer(2018,55808 -static void snd_es1968_ac97_reset(2054,56678 -static void snd_es1968_reset(2159,59910 -static void snd_es1968_set_acpi(2172,60167 -static void snd_es1968_chip_init(2187,60565 -static void snd_es1968_start_irq(2384,66684 -static int es1968_suspend(2397,66923 -static int es1968_resume(2412,67261 -static int snd_es1968_free(2443,67892 -static int snd_es1968_dev_free(2468,68513 -struct ess_device_list ess_device_list2474,68641 -static struct ess_device_list pm_whitelist[2479,68758 -static struct ess_device_list pm_whitelist[] __devinitdata 2479,68758 -static struct ess_device_list mpu_blacklist[2487,69013 -static struct ess_device_list mpu_blacklist[] __devinitdata 2487,69013 -static int __devinit snd_es1968_create(2491,69109 -static int __devinit snd_es1968_probe(2600,71803 -#define JOYSTICK_ADDR 2681,73740 -static void __devexit snd_es1968_remove(2710,74450 -static struct pci_driver driver 2716,74583 -static int __init alsa_card_es1968_init(2724,74778 -static void __exit alsa_card_es1968_exit(2729,74863 -module_init(2734,74948 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/ice1712.h,7071 -#define __SOUND_ICE1712_H2,26 -#define ICEREG(ICEREG37,1105 -#define ICE1712_REG_CONTROL 39,1161 -#define ICE1712_RESET 40,1206 -#define ICE1712_SERR_LEVEL 41,1260 -#define ICE1712_NATIVE 42,1328 -#define ICE1712_REG_IRQMASK 43,1390 -#define ICE1712_IRQ_MPU1 44,1435 -#define ICE1712_IRQ_TIMER 45,1468 -#define ICE1712_IRQ_MPU2 46,1502 -#define ICE1712_IRQ_PROPCM 47,1535 -#define ICE1712_IRQ_FM 48,1570 -#define ICE1712_IRQ_PBKDS 49,1624 -#define ICE1712_IRQ_CONCAP 50,1685 -#define ICE1712_IRQ_CONPBK 51,1743 -#define ICE1712_REG_IRQSTAT 52,1802 -#define ICE1712_REG_INDEX 54,1875 -#define ICE1712_REG_DATA 55,1940 -#define ICE1712_REG_NMI_STAT1 56,2004 -#define ICE1712_REG_NMI_DATA 57,2051 -#define ICE1712_REG_NMI_INDEX 58,2097 -#define ICE1712_REG_AC97_INDEX 59,2144 -#define ICE1712_REG_AC97_CMD 60,2192 -#define ICE1712_AC97_COLD 61,2238 -#define ICE1712_AC97_WARM 62,2289 -#define ICE1712_AC97_WRITE 63,2340 -#define ICE1712_AC97_READ 64,2412 -#define ICE1712_AC97_READY 65,2481 -#define ICE1712_AC97_PBK_VSR 66,2545 -#define ICE1712_AC97_CAP_VSR 67,2601 -#define ICE1712_REG_AC97_DATA 68,2656 -#define ICE1712_REG_MPU1_CTRL 69,2719 -#define ICE1712_REG_MPU1_DATA 70,2766 -#define ICE1712_REG_I2C_DEV_ADDR 71,2813 -#define ICE1712_I2C_WRITE 72,2862 -#define ICE1712_REG_I2C_BYTE_ADDR 73,2918 -#define ICE1712_REG_I2C_DATA 74,2968 -#define ICE1712_REG_I2C_CTRL 75,3014 -#define ICE1712_I2C_EEPROM 76,3060 -#define ICE1712_I2C_BUSY 77,3115 -#define ICE1712_REG_CONCAP_ADDR 78,3163 -#define ICE1712_REG_CONCAP_COUNT 79,3232 -#define ICE1712_REG_SERR_SHADOW 80,3302 -#define ICE1712_REG_MPU2_CTRL 81,3351 -#define ICE1712_REG_MPU2_DATA 82,3398 -#define ICE1712_REG_TIMER 83,3445 -#define ICE1712_IREG_PBK_COUNT_LO 89,3520 -#define ICE1712_IREG_PBK_COUNT_HI 90,3559 -#define ICE1712_IREG_PBK_CTRL 91,3598 -#define ICE1712_IREG_PBK_LEFT 92,3634 -#define ICE1712_IREG_PBK_RIGHT 93,3688 -#define ICE1712_IREG_PBK_SOFT 94,3744 -#define ICE1712_IREG_PBK_RATE_LO 95,3798 -#define ICE1712_IREG_PBK_RATE_MID 96,3836 -#define ICE1712_IREG_PBK_RATE_HI 97,3875 -#define ICE1712_IREG_CAP_COUNT_LO 98,3913 -#define ICE1712_IREG_CAP_COUNT_HI 99,3952 -#define ICE1712_IREG_CAP_CTRL 100,3991 -#define ICE1712_IREG_GPIO_DATA 101,4027 -#define ICE1712_IREG_GPIO_WRITE_MASK 102,4064 -#define ICE1712_IREG_GPIO_DIRECTION 103,4106 -#define ICE1712_IREG_CONSUMER_POWERDOWN 104,4147 -#define ICE1712_IREG_PRO_POWERDOWN 105,4192 -#define ICEDS(ICEDS111,4283 -#define ICE1712_DS_INTMASK 113,4346 -#define ICE1712_DS_INTSTAT 114,4407 -#define ICE1712_DS_DATA 115,4470 -#define ICE1712_DS_INDEX 116,4528 -#define ICE1712_DSC_ADDR0 122,4636 -#define ICE1712_DSC_COUNT0 123,4697 -#define ICE1712_DSC_ADDR1 124,4751 -#define ICE1712_DSC_COUNT1 125,4812 -#define ICE1712_DSC_CONTROL 126,4866 -#define ICE1712_BUFFER1 127,4930 -#define ICE1712_BUFFER1_AUTO 128,4986 -#define ICE1712_BUFFER0_AUTO 129,5047 -#define ICE1712_FLUSH 130,5108 -#define ICE1712_STEREO 131,5156 -#define ICE1712_16BIT 132,5200 -#define ICE1712_PAUSE 133,5249 -#define ICE1712_START 134,5292 -#define ICE1712_DSC_RATE 135,5335 -#define ICE1712_DSC_VOLUME 136,5385 -#define ICEMT(ICEMT142,5510 -#define ICE1712_MT_IRQ 144,5570 -#define ICE1712_MULTI_CAPTURE 145,5628 -#define ICE1712_MULTI_PLAYBACK 146,5684 -#define ICE1712_MULTI_CAPSTATUS 147,5741 -#define ICE1712_MULTI_PBKSTATUS 148,5805 -#define ICE1712_MT_RATE 149,5870 -#define ICE1712_SPDIF_MASTER 150,5935 -#define ICE1712_MT_I2S_FORMAT 151,6007 -#define ICE1712_MT_AC97_INDEX 152,6072 -#define ICE1712_MT_AC97_CMD 153,6133 -#define ICE1712_MT_AC97_DATA 155,6232 -#define ICE1712_MT_PLAYBACK_ADDR 156,6291 -#define ICE1712_MT_PLAYBACK_SIZE 157,6360 -#define ICE1712_MT_PLAYBACK_COUNT 158,6425 -#define ICE1712_MT_PLAYBACK_CONTROL 159,6492 -#define ICE1712_CAPTURE_START_SHADOW 160,6554 -#define ICE1712_PLAYBACK_PAUSE 161,6618 -#define ICE1712_PLAYBACK_START 162,6677 -#define ICE1712_MT_CAPTURE_ADDR 163,6736 -#define ICE1712_MT_CAPTURE_SIZE 164,6804 -#define ICE1712_MT_CAPTURE_COUNT 165,6868 -#define ICE1712_MT_CAPTURE_CONTROL 166,6933 -#define ICE1712_CAPTURE_START 167,6994 -#define ICE1712_MT_ROUTE_PSDOUT03 168,7052 -#define ICE1712_MT_ROUTE_SPDOUT 169,7102 -#define ICE1712_MT_ROUTE_CAPTURE 170,7151 -#define ICE1712_MT_MONITOR_VOLUME 171,7201 -#define ICE1712_MT_MONITOR_INDEX 172,7251 -#define ICE1712_MT_MONITOR_RATE 173,7300 -#define ICE1712_MT_MONITOR_ROUTECTRL 174,7349 -#define ICE1712_ROUTE_AC97 175,7402 -#define ICE1712_MT_MONITOR_PEAKINDEX 176,7479 -#define ICE1712_MT_MONITOR_PEAKDATA 177,7532 -#define ICE1712_CFG_CLOCK 184,7657 -#define ICE1712_CFG_CLOCK512 185,7688 -#define ICE1712_CFG_CLOCK384 186,7754 -#define ICE1712_CFG_EXT 187,7821 -#define ICE1712_CFG_2xMPU401 188,7873 -#define ICE1712_CFG_NO_CON_AC97 189,7930 -#define ICE1712_CFG_ADC_MASK 190,8009 -#define ICE1712_CFG_DAC_MASK 191,8083 -#define ICE1712_CFG_PRO_I2S 193,8193 -#define ICE1712_CFG_AC97_PACKED 194,8267 -#define ICE1712_CFG_I2S_VOLUME 196,8366 -#define ICE1712_CFG_I2S_96KHZ 197,8431 -#define ICE1712_CFG_I2S_RESMASK 198,8496 -#define ICE1712_CFG_I2S_OTHER 199,8572 -#define ICE1712_CFG_I2S_CHIPID 201,8662 -#define ICE1712_CFG_SPDIF_IN 202,8716 -#define ICE1712_CFG_SPDIF_OUT 203,8780 -#define ICE1712_DMA_MODE_WRITE 209,8921 -#define ICE1712_DMA_AUTOINIT 210,8958 -typedef struct _snd_ice1712 ice1712_t;ice1712_t217,9008 -} ice1712_eeprom_t;ice1712_eeprom_t227,9319 - ICE_EEP1_CODEC 230,9347 - ICE_EEP1_ACLINK,231,9377 - ICE_EEP1_I2SID,232,9404 - ICE_EEP1_SPDIF,233,9431 - ICE_EEP1_GPIO_MASK,234,9458 - ICE_EEP1_GPIO_STATE,235,9488 - ICE_EEP1_GPIO_DIR,236,9519 - ICE_EEP1_AC97_MAIN_LO,237,9548 - ICE_EEP1_AC97_MAIN_HI,238,9581 - ICE_EEP1_AC97_PCM_LO,239,9614 - ICE_EEP1_AC97_PCM_HI,240,9646 - ICE_EEP1_AC97_REC_LO,241,9678 - ICE_EEP1_AC97_REC_HI,242,9710 - ICE_EEP1_AC97_RECSRC,243,9742 - ICE_EEP1_DAC_ID,244,9774 - ICE_EEP1_DAC_ID1,245,9801 - ICE_EEP1_DAC_ID2,246,9820 - ICE_EEP1_DAC_ID3,247,9839 - ICE_EEP1_ADC_ID,248,9858 - ICE_EEP1_ADC_ID1,249,9885 - ICE_EEP1_ADC_ID2,250,9904 - ICE_EEP1_ADC_ID3251,9923 -#define ice_has_con_ac97(ice_has_con_ac97254,9946 -struct snd_ak4xxx_private snd_ak4xxx_private257,10044 - struct snd_akm4xxx_ops snd_akm4xxx_ops267,10523 -struct snd_ice1712_spdif snd_ice1712_spdif272,10619 - struct snd_ice1712_spdif_ops snd_ice1712_spdif_ops277,10739 -struct _snd_ice1712 _snd_ice1712289,11206 - struct ice1712_gpio ice1712_gpio352,13143 -static inline void snd_ice1712_gpio_set_dir(371,13726 -static inline void snd_ice1712_gpio_set_mask(376,13841 -static inline void snd_ice1712_gpio_write(381,13958 -static inline unsigned int snd_ice1712_gpio_read(386,14070 -static inline void snd_ice1712_save_gpio_status(396,14293 -static inline void snd_ice1712_restore_gpio_status(403,14474 -#define ICE1712_GPIO(ICE1712_GPIO413,14770 -static inline void snd_ice1712_gpio_write_bits(425,15336 -static inline void snd_ice1712_write(441,15950 -static inline u8 snd_ice1712_read(447,16092 -struct snd_ice1712_card_info snd_ice1712_card_info458,16248 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/amp.h,114 -#define __SOUND_AMP_H2,22 -#define AMP_AUDIO2000_DEVICE_DESC 27,971 -#define VT1724_SUBDEVICE_AUDIO2000 29,1038 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/amp.c,242 -static int __devinit snd_vt1724_amp_init(36,1146 -static int __devinit snd_vt1724_amp_add_controls(46,1349 -struct snd_ice1712_card_info snd_vt1724_amp_cards[55,1606 -struct snd_ice1712_card_info snd_vt1724_amp_cards[] __devinitdata 55,1606 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/delta.c,2345 -#define SND_CS840338,1250 -static void ap_cs8427_write_byte(47,1377 -static unsigned char ap_cs8427_read_byte(64,1819 -static unsigned char ap_cs8427_codec_select(83,2311 -static void ap_cs8427_codec_deassert(108,3084 -static int ap_cs8427_sendbytes(127,3587 -static int ap_cs8427_readbytes(144,4072 -static int ap_cs8427_probeaddr(160,4535 -static snd_i2c_ops_t ap_cs8427_i2c_ops 167,4660 -static void snd_ice1712_delta_cs8403_spdif_write(176,4820 -static void delta_spdif_default_get(201,5510 -static int delta_spdif_default_put(206,5680 -static void delta_spdif_stream_get(224,6171 -static int delta_spdif_stream_put(229,6347 -static void delta_ak4524_lock(251,6912 -static void delta1010lt_ak4524_lock(265,7297 -static void vx442_ak4524_lock(278,7638 -static void delta_1010_set_rate_val(292,8022 -static void delta_ak4524_set_rate_val(312,8527 -static void vx442_ak4524_set_rate_val(344,9368 -static void delta_open_spdif(364,9794 -static void delta_setup_spdif(370,9947 -static akm4xxx_t akm_audiophile __devinitdata 399,10784 -static struct snd_ak4xxx_private akm_audiophile_priv __devinitdata 408,10948 -static akm4xxx_t akm_delta410 __devinitdata 420,11274 -static struct snd_ak4xxx_private akm_delta410_priv __devinitdata 429,11436 -static akm4xxx_t akm_delta1010lt __devinitdata 441,11760 -static struct snd_ak4xxx_private akm_delta1010lt_priv __devinitdata 451,11960 -static akm4xxx_t akm_delta44 __devinitdata 463,12315 -static struct snd_ak4xxx_private akm_delta44_priv __devinitdata 473,12505 -static akm4xxx_t akm_vx442 __devinitdata 485,12842 -static struct snd_ak4xxx_private akm_vx442_priv __devinitdata 495,13030 -static int __devinit snd_ice1712_delta_init(507,13287 -static snd_kcontrol_new_t snd_ice1712_delta1010_wordclock_select __devinitdata 614,16298 -static snd_kcontrol_new_t snd_ice1712_delta1010lt_wordclock_select __devinitdata 616,16480 -static snd_kcontrol_new_t snd_ice1712_delta1010_wordclock_status __devinitdata 618,16663 -static snd_kcontrol_new_t snd_ice1712_deltadio2496_spdif_in_select __devinitdata 620,16905 -static snd_kcontrol_new_t snd_ice1712_delta_spdif_in_status __devinitdata 622,17095 -static int __devinit snd_ice1712_delta_add_controls(626,17338 -struct snd_ice1712_card_info snd_ice1712_delta_cards[693,19062 -struct snd_ice1712_card_info snd_ice1712_delta_cards[] __devinitdata 693,19062 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/revo.h,344 -#define __SOUND_REVO_H2,23 -#define REVO_DEVICE_DESC 27,958 -#define VT1724_SUBDEVICE_REVOLUTION71 30,1024 -#define VT1724_REVO_CCLK 40,1211 -#define VT1724_REVO_CDIN 41,1241 -#define VT1724_REVO_CDOUT 42,1286 -#define VT1724_REVO_CS0 43,1317 -#define VT1724_REVO_CS1 44,1362 -#define VT1724_REVO_CS2 45,1423 -#define VT1724_REVO_MUTE 46,1487 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/ice1712.c,9126 -static int index[83,2478 -static char *id[84,2547 -static int enable[85,2620 -static char *model[86,2703 -static int omni[87,2736 -static int cs8427_timeout[88,2802 -static int boot_devs;89,2936 -#define PCI_VENDOR_ID_ICE 105,3691 -#define PCI_DEVICE_ID_ICE_1712 108,3763 -static struct pci_device_id snd_ice1712_ids[111,3810 -static int PRO_RATE_LOCKED;121,4125 -static int PRO_RATE_RESET 122,4153 -static unsigned int PRO_RATE_DEFAULT 123,4184 -static inline int is_spdif_master(130,4301 -static inline int is_pro_rate_locked(135,4420 -static inline void snd_ice1712_ds_write(140,4527 -static inline u32 snd_ice1712_ds_read(146,4700 -static void snd_ice1712_ac97_write(152,4861 -static unsigned short snd_ice1712_ac97_read(177,5568 -static void snd_ice1712_pro_ac97_write(206,6274 -static unsigned short snd_ice1712_pro_ac97_read(232,6989 -static int snd_ice1712_digmix_route_ac97_info(260,7699 -static int snd_ice1712_digmix_route_ac97_get(269,7940 -static int snd_ice1712_digmix_route_ac97_put(277,8209 -static snd_kcontrol_new_t snd_ice1712_mixer_digmix_route_ac97 __devinitdata 291,8668 -static void snd_ice1712_set_gpio_dir(303,8982 -static void snd_ice1712_set_gpio_mask(309,9177 -static unsigned int snd_ice1712_get_gpio_data(315,9374 -static void snd_ice1712_set_gpio_data(320,9496 -static int snd_ice1712_cs8427_set_input_clock(337,9809 -static void open_cs8427(372,10530 -static void close_cs8427(377,10651 -static void setup_cs8427(382,10773 -int __devinit snd_ice1712_init_cs8427(390,10935 -static irqreturn_t snd_ice1712_interrupt(411,11360 -static int snd_ice1712_hw_params(485,13604 -static int snd_ice1712_hw_free(491,13790 -static int snd_ice1712_playback_trigger(500,13938 -static int snd_ice1712_playback_ds_trigger(525,14564 -static int snd_ice1712_capture_trigger(550,15244 -static int snd_ice1712_playback_prepare(571,15744 -static int snd_ice1712_playback_ds_prepare(604,17062 -static int snd_ice1712_capture_prepare(639,18488 -static snd_pcm_uframes_t snd_ice1712_playback_pointer(664,19411 -static snd_pcm_uframes_t snd_ice1712_playback_ds_pointer(678,19840 -static snd_pcm_uframes_t snd_ice1712_capture_pointer(697,20441 -static snd_pcm_hardware_t snd_ice1712_playback 710,20842 -static snd_pcm_hardware_t snd_ice1712_playback_ds 730,21417 -static snd_pcm_hardware_t snd_ice1712_capture 750,21994 -static int snd_ice1712_playback_open(769,22540 -static int snd_ice1712_playback_ds_open(779,22809 -static int snd_ice1712_capture_open(794,23283 -static int snd_ice1712_playback_close(807,23685 -static int snd_ice1712_playback_ds_close(815,23863 -static int snd_ice1712_capture_close(828,24242 -static snd_pcm_ops_t snd_ice1712_playback_ops 836,24418 -static snd_pcm_ops_t snd_ice1712_playback_ds_ops 847,24772 -static snd_pcm_ops_t snd_ice1712_capture_ops 858,25144 -static void snd_ice1712_pcm_free(869,25492 -static int __devinit snd_ice1712_pcm(876,25645 -static void snd_ice1712_pcm_free_ds(907,26437 -static int __devinit snd_ice1712_pcm_ds(914,26596 -static unsigned int rates[946,27306 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 949,27434 -static int snd_ice1712_pro_trigger(955,27556 -static void snd_ice1712_set_pro_rate(1015,29016 -static int snd_ice1712_playback_pro_prepare(1067,30319 -static int snd_ice1712_playback_pro_hw_params(1081,30812 -static int snd_ice1712_capture_pro_prepare(1090,31130 -static int snd_ice1712_capture_pro_hw_params(1103,31616 -static snd_pcm_uframes_t snd_ice1712_playback_pro_pointer(1112,31932 -static snd_pcm_uframes_t snd_ice1712_capture_pro_pointer(1125,32352 -static snd_pcm_hardware_t snd_ice1712_playback_pro 1138,32775 -static snd_pcm_hardware_t snd_ice1712_capture_pro 1158,33362 -static int snd_ice1712_playback_pro_open(1178,33948 -static int snd_ice1712_capture_pro_open(1195,34462 -static int snd_ice1712_playback_pro_close(1208,34906 -static int snd_ice1712_capture_pro_close(1221,35231 -static void snd_ice1712_pcm_profi_free(1231,35486 -static snd_pcm_ops_t snd_ice1712_playback_pro_ops 1238,35649 -static snd_pcm_ops_t snd_ice1712_capture_pro_ops 1249,36031 -static int __devinit snd_ice1712_pcm_profi(1260,36407 -static void snd_ice1712_update_volume(1304,37437 -static int snd_ice1712_pro_mixer_switch_info(1315,37794 -static int snd_ice1712_pro_mixer_switch_get(1324,38035 -static int snd_ice1712_pro_mixer_switch_put(1336,38507 -static int snd_ice1712_pro_mixer_volume_info(1353,39146 -static int snd_ice1712_pro_mixer_volume_get(1362,39388 -static int snd_ice1712_pro_mixer_volume_put(1374,39857 -static snd_kcontrol_new_t snd_ice1712_multi_playback_ctrls[1392,40483 -static snd_kcontrol_new_t snd_ice1712_multi_playback_ctrls[] __devinitdata 1392,40483 -static snd_kcontrol_new_t snd_ice1712_multi_capture_analog_switch __devinitdata 1413,41064 -static snd_kcontrol_new_t snd_ice1712_multi_capture_spdif_switch __devinitdata 1422,41377 -static snd_kcontrol_new_t snd_ice1712_multi_capture_analog_volume __devinitdata 1432,41705 -static snd_kcontrol_new_t snd_ice1712_multi_capture_spdif_volume __devinitdata 1441,42018 -static int __devinit snd_ice1712_build_pro_mixer(1451,42346 -static void snd_ice1712_mixer_free_ac97(1504,43810 -static int __devinit snd_ice1712_ac97_mixer(1510,43926 -static inline unsigned int eeprom_double(1559,45327 -static void snd_ice1712_proc_read(1564,45492 -static void __devinit snd_ice1712_proc_init(1601,47722 -static int snd_ice1712_eeprom_info(1613,47948 -static int snd_ice1712_eeprom_get(1620,48138 -static snd_kcontrol_new_t snd_ice1712_eeprom __devinitdata 1628,48369 -static int snd_ice1712_spdif_info(1638,48611 -static int snd_ice1712_spdif_default_get(1645,48778 -static int snd_ice1712_spdif_default_put(1654,49027 -static snd_kcontrol_new_t snd_ice1712_spdif_default __devinitdata 1663,49282 -static int snd_ice1712_spdif_maskc_get(1672,49566 -static int snd_ice1712_spdif_maskp_get(1694,50338 -static snd_kcontrol_new_t snd_ice1712_spdif_maskc __devinitdata 1714,51000 -static snd_kcontrol_new_t snd_ice1712_spdif_maskp __devinitdata 1723,51283 -static int snd_ice1712_spdif_stream_get(1732,51566 -static int snd_ice1712_spdif_stream_put(1741,51810 -static snd_kcontrol_new_t snd_ice1712_spdif_stream __devinitdata 1750,52061 -int snd_ice1712_gpio_info(1760,52422 -int snd_ice1712_gpio_get(1769,52644 -int snd_ice1712_gpio_put(1781,53072 -static int snd_ice1712_pro_internal_clock_info(1803,53698 -static int snd_ice1712_pro_internal_clock_get(1830,54484 -static int snd_ice1712_pro_internal_clock_put(1853,55061 -static snd_kcontrol_new_t snd_ice1712_pro_internal_clock __devinitdata 1894,56297 -static int snd_ice1712_pro_internal_clock_default_info(1902,56586 -static int snd_ice1712_pro_internal_clock_default_get(1929,57383 -static int snd_ice1712_pro_internal_clock_default_put(1946,57783 -static snd_kcontrol_new_t snd_ice1712_pro_internal_clock_default __devinitdata 1962,58216 -static int snd_ice1712_pro_rate_locking_info(1970,58545 -static int snd_ice1712_pro_rate_locking_get(1979,58786 -static int snd_ice1712_pro_rate_locking_put(1985,58959 -static snd_kcontrol_new_t snd_ice1712_pro_rate_locking __devinitdata 1998,59331 -static int snd_ice1712_pro_rate_reset_info(2006,59610 -static int snd_ice1712_pro_rate_reset_get(2015,59849 -static int snd_ice1712_pro_rate_reset_put(2021,60019 -static snd_kcontrol_new_t snd_ice1712_pro_rate_reset __devinitdata 2034,60387 -static int snd_ice1712_pro_route_info(2045,60674 -static int snd_ice1712_pro_route_analog_get(2064,61406 -static int snd_ice1712_pro_route_analog_put(2089,62176 -static int snd_ice1712_pro_route_spdif_get(2138,63639 -static int snd_ice1712_pro_route_spdif_put(2157,64260 -static snd_kcontrol_new_t snd_ice1712_mixer_pro_analog_route __devinitdata 2195,65301 -static snd_kcontrol_new_t snd_ice1712_mixer_pro_spdif_route __devinitdata 2203,65574 -static int snd_ice1712_pro_volume_rate_info(2213,65861 -static int snd_ice1712_pro_volume_rate_get(2222,66103 -static int snd_ice1712_pro_volume_rate_put(2230,66338 -static snd_kcontrol_new_t snd_ice1712_mixer_pro_volume_rate __devinitdata 2242,66733 -static int snd_ice1712_pro_peak_info(2250,67013 -static int snd_ice1712_pro_peak_get(2259,67249 -static snd_kcontrol_new_t snd_ice1712_mixer_pro_peak __devinitdata 2273,67641 -static struct snd_ice1712_card_info *card_tables[2288,67970 -static struct snd_ice1712_card_info *card_tables[] __devinitdata 2288,67970 -static unsigned char __devinit snd_ice1712_read_i2c(2295,68129 -static int __devinit snd_ice1712_read_eeprom(2307,68482 -static int __devinit snd_ice1712_chip_init(2358,70163 -int __devinit snd_ice1712_spdif_build_controls(2393,71627 -static int __devinit snd_ice1712_build_controls(2420,72431 -static int snd_ice1712_free(2463,73627 -static int snd_ice1712_dev_free(2483,74025 -static int __devinit snd_ice1712_create(2489,74154 -static struct snd_ice1712_card_info no_matched __devinitdata;2594,76942 -static int __devinit snd_ice1712_probe(2596,77005 -static void __devexit snd_ice1712_remove(2708,79477 -static struct pci_driver driver 2714,79611 -static int __init alsa_card_ice1712_init(2721,79774 -static void __exit alsa_card_ice1712_exit(2726,79860 -module_init(2731,79946 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/vt1720_mobo.h,202 -#define __SOUND_VT1720_MOBO_H2,30 -#define VT1720_MOBO_DEVICE_DESC 27,981 -#define VT1720_SUBDEVICE_K8X800 31,1121 -#define VT1720_SUBDEVICE_ZNF3_150 32,1165 -#define VT1720_SUBDEVICE_ZNF3_250 33,1210 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/aureon.h,659 -#define __SOUND_AUREON_H2,25 -#define AUREON_DEVICE_DESC 27,955 -#define VT1724_SUBDEVICE_AUREON51_SKY 32,1144 -#define VT1724_SUBDEVICE_AUREON71_SPACE 33,1214 -#define VT1724_SUBDEVICE_AUREON71_UNIVERSE 34,1288 -#define VT1724_SUBDEVICE_PRODIGY71 35,1368 -#define AUREON_CS8415_CS 40,1514 -#define AUREON_CS8415_CDTO 41,1549 -#define AUREON_WM_RESET 42,1586 -#define AUREON_WM_CLK 43,1621 -#define AUREON_WM_DATA 44,1654 -#define AUREON_WM_RW 45,1688 -#define AUREON_AC97_RESET 46,1720 -#define AUREON_DIGITAL_SEL1 47,1756 -#define AUREON_HP_SEL 48,1794 -#define AUREON_WM_CS 49,1827 -#define PRODIGY_CS8415_CS 52,1919 -#define PRODIGY_CS8415_CDTO 53,1955 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/envy24ht.h,5386 -#define __SOUND_VT1724_H2,25 - ICE_EEP2_SYSCONF 34,1070 - ICE_EEP2_ACLINK,35,1102 - ICE_EEP2_I2S,36,1129 - ICE_EEP2_SPDIF,37,1154 - ICE_EEP2_GPIO_DIR,38,1181 - ICE_EEP2_GPIO_DIR1,39,1210 - ICE_EEP2_GPIO_DIR2,40,1240 - ICE_EEP2_GPIO_MASK,41,1270 - ICE_EEP2_GPIO_MASK1,42,1300 - ICE_EEP2_GPIO_MASK2,43,1331 - ICE_EEP2_GPIO_STATE,44,1362 - ICE_EEP2_GPIO_STATE1,45,1393 - ICE_EEP2_GPIO_STATE2 46,1425 -#define ICEREG1724(ICEREG172453,1490 -#define VT1724_REG_CONTROL 55,1549 -#define VT1724_RESET 56,1593 -#define VT1724_REG_IRQMASK 57,1646 -#define VT1724_IRQ_MPU_RX 58,1690 -#define VT1724_IRQ_MPU_TX 59,1724 -#define VT1724_IRQ_MTPCM 60,1758 -#define VT1724_REG_IRQSTAT 61,1791 -#define VT1724_REG_SYS_CFG 63,1862 -#define VT1724_CFG_CLOCK 64,1944 -#define VT1724_CFG_CLOCK512 65,1976 -#define VT1724_CFG_CLOCK384 66,2043 -#define VT1724_CFG_MPU401 67,2111 -#define VT1724_CFG_ADC_MASK 68,2164 -#define VT1724_CFG_DAC_MASK 69,2245 -#define VT1724_REG_AC97_CFG 71,2321 -#define VT1724_CFG_PRO_I2S 72,2366 -#define VT1724_CFG_AC97_PACKED 73,2441 -#define VT1724_REG_I2S_FEATURES 75,2515 -#define VT1724_CFG_I2S_VOLUME 76,2564 -#define VT1724_CFG_I2S_96KHZ 77,2630 -#define VT1724_CFG_I2S_RESMASK 78,2696 -#define VT1724_CFG_I2S_192KHZ 79,2773 -#define VT1724_CFG_I2S_OTHER 80,2841 -#define VT1724_REG_SPDIF_CFG 82,2898 -#define VT1724_CFG_SPDIF_OUT_EN 83,2944 -#define VT1724_CFG_SPDIF_OUT_INT 84,3021 -#define VT1724_CFG_I2S_CHIPID 85,3103 -#define VT1724_CFG_SPDIF_IN 86,3158 -#define VT1724_CFG_SPDIF_OUT 87,3223 -#define VT1724_REG_MPU_TXFIFO 93,3449 -#define VT1724_REG_MPU_RXFIFO 94,3525 -#define VT1724_REG_MPU_CTRL 97,3676 -#define VT1724_REG_MPU_DATA 98,3721 -#define VT1724_REG_MPU_FIFO_WM 100,3767 -#define VT1724_MPU_RX_FIFO 101,3856 -#define VT1724_MPU_FIFO_MASK 102,3932 -#define VT1724_REG_I2C_DEV_ADDR 104,3970 -#define VT1724_I2C_WRITE 105,4018 -#define VT1724_REG_I2C_BYTE_ADDR 106,4073 -#define VT1724_REG_I2C_DATA 107,4122 -#define VT1724_REG_I2C_CTRL 108,4167 -#define VT1724_I2C_EEPROM 109,4212 -#define VT1724_I2C_BUSY 110,4266 -#define VT1724_REG_GPIO_DATA 112,4314 -#define VT1724_REG_GPIO_WRITE_MASK 113,4359 -#define VT1724_REG_GPIO_DIRECTION 114,4410 -#define VT1724_REG_POWERDOWN 117,4599 -#define VT1724_REG_GPIO_DATA_22 118,4633 -#define VT1724_REG_GPIO_WRITE_MASK_22 119,4706 -#define ICEMT1724(ICEMT1724126,4851 -#define VT1724_MT_IRQ 128,4914 -#define VT1724_MULTI_PDMA4 129,4971 -#define VT1724_MULTI_PDMA3 130,5029 -#define VT1724_MULTI_PDMA2 131,5075 -#define VT1724_MULTI_PDMA1 132,5121 -#define VT1724_MULTI_FIFO_ERR 133,5167 -#define VT1724_MULTI_RDMA1 134,5237 -#define VT1724_MULTI_RDMA0 135,5298 -#define VT1724_MULTI_PDMA0 136,5344 -#define VT1724_MT_RATE 138,5405 -#define VT1724_SPDIF_MASTER 139,5469 -#define VT1724_MT_I2S_FORMAT 140,5540 -#define VT1724_MT_I2S_MCLK_128X 141,5604 -#define VT1724_MT_I2S_FORMAT_MASK 142,5643 -#define VT1724_MT_I2S_FORMAT_I2S 143,5684 -#define VT1724_MT_DMA_INT_MASK 144,5724 -#define VT1724_MT_AC97_INDEX 146,5821 -#define VT1724_MT_AC97_CMD 147,5881 -#define VT1724_AC97_COLD 148,5950 -#define VT1724_AC97_WARM 149,5999 -#define VT1724_AC97_WRITE 150,6048 -#define VT1724_AC97_READ 151,6118 -#define VT1724_AC97_READY 152,6185 -#define VT1724_AC97_ID_MASK 153,6247 -#define VT1724_MT_AC97_DATA 154,6302 -#define VT1724_MT_PLAYBACK_ADDR 155,6360 -#define VT1724_MT_PLAYBACK_SIZE 156,6429 -#define VT1724_MT_DMA_CONTROL 157,6495 -#define VT1724_PDMA4_START 158,6552 -#define VT1724_PDMA3_START 159,6616 -#define VT1724_PDMA2_START 160,6668 -#define VT1724_PDMA1_START 161,6720 -#define VT1724_RDMA1_START 162,6772 -#define VT1724_RDMA0_START 163,6824 -#define VT1724_PDMA0_START 164,6876 -#define VT1724_MT_BURST 165,6944 -#define VT1724_MT_DMA_FIFO_ERR 166,7038 -#define VT1724_PDMA4_UNDERRUN 167,7133 -#define VT1724_PDMA2_UNDERRUN 168,7171 -#define VT1724_PDMA3_UNDERRUN 169,7209 -#define VT1724_PDMA1_UNDERRUN 170,7247 -#define VT1724_RDMA1_UNDERRUN 171,7285 -#define VT1724_RDMA0_UNDERRUN 172,7323 -#define VT1724_PDMA0_UNDERRUN 173,7361 -#define VT1724_MT_DMA_PAUSE 174,7399 -#define VT1724_PDMA4_PAUSE 175,7487 -#define VT1724_PDMA3_PAUSE 176,7521 -#define VT1724_PDMA2_PAUSE 177,7555 -#define VT1724_PDMA1_PAUSE 178,7589 -#define VT1724_RDMA1_PAUSE 179,7623 -#define VT1724_RDMA0_PAUSE 180,7657 -#define VT1724_PDMA0_PAUSE 181,7691 -#define VT1724_MT_PLAYBACK_COUNT 182,7725 -#define VT1724_MT_CAPTURE_ADDR 183,7791 -#define VT1724_MT_CAPTURE_SIZE 184,7858 -#define VT1724_MT_CAPTURE_COUNT 185,7921 -#define VT1724_MT_ROUTE_PLAYBACK 187,7987 -#define VT1724_MT_RDMA1_ADDR 189,8037 -#define VT1724_MT_RDMA1_SIZE 190,8108 -#define VT1724_MT_RDMA1_COUNT 191,8175 -#define VT1724_MT_SPDIF_CTRL 193,8245 -#define VT1724_MT_MONITOR_PEAKINDEX 194,8291 -#define VT1724_MT_MONITOR_PEAKDATA 195,8343 -#define VT1724_MT_PDMA4_ADDR 198,8428 -#define VT1724_MT_PDMA4_SIZE 199,8475 -#define VT1724_MT_PDMA4_COUNT 200,8521 -#define VT1724_MT_PDMA3_ADDR 201,8568 -#define VT1724_MT_PDMA3_SIZE 202,8615 -#define VT1724_MT_PDMA3_COUNT 203,8661 -#define VT1724_MT_PDMA2_ADDR 204,8708 -#define VT1724_MT_PDMA2_SIZE 205,8755 -#define VT1724_MT_PDMA2_COUNT 206,8801 -#define VT1724_MT_PDMA1_ADDR 207,8848 -#define VT1724_MT_PDMA1_SIZE 208,8895 -#define VT1724_MT_PDMA1_COUNT 209,8941 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/aureon.c,2716 -#define WM_DAC_ATTEN 75,2935 -#define WM_DAC_MASTER_ATTEN 76,2994 -#define WM_DAC_DIG_ATTEN 77,3063 -#define WM_DAC_DIG_MASTER_ATTEN 78,3126 -#define WM_PHASE_SWAP 79,3200 -#define WM_DAC_CTRL1 80,3244 -#define WM_MUTE 81,3294 -#define WM_DAC_CTRL2 82,3337 -#define WM_INT_CTRL 83,3396 -#define WM_MASTER 84,3446 -#define WM_POWERDOWN 85,3498 -#define WM_ADC_GAIN 86,3551 -#define WM_ADC_MUX 87,3604 -#define WM_OUT_MUX1 88,3645 -#define WM_OUT_MUX2 89,3688 -#define WM_RESET 90,3731 -static void aureon_spi_write(96,3814 -static unsigned short wm_get(144,4831 -static void wm_put_nocache(154,5035 -static void wm_put(162,5243 -static int aureon_mono_bool_info(172,5436 -#define wm_dac_mute_info 184,5684 -static int wm_dac_mute_get(186,5732 -static int wm_dac_mute_put(198,6075 -static int wm_dac_vol_info(218,6644 -static int wm_dac_vol_get(228,6949 -static int wm_dac_vol_put(249,7489 -#define MASTER_0dB 276,8257 -#define MASTER_RES 277,8281 -#define MASTER_MIN 278,8316 -static int wm_master_vol_info(279,8361 -static int wm_master_vol_get(288,8625 -static int wm_master_vol_put(301,8988 -static int wm_adc_mute_info(323,9609 -static int wm_adc_mute_get(332,9832 -static int wm_adc_mute_put(347,10178 -static int wm_adc_vol_info(370,10742 -static int wm_adc_vol_get(379,10991 -static int wm_adc_vol_put(395,11351 -static int wm_adc_mux_info(419,11895 -static int wm_adc_mux_get(437,12421 -static int wm_adc_mux_put(450,12768 -static int aureon_set_headphone_amp(471,13291 -static int aureon_get_headphone_amp(487,13579 -#define aureon_hpamp_info 494,13722 -static int aureon_hpamp_get(496,13771 -static int aureon_hpamp_put(505,13989 -#define aureon_deemp_info 516,14222 -static int aureon_deemp_get(518,14271 -static int aureon_deemp_put(525,14498 -static int aureon_oversampling_info(544,14883 -static int aureon_oversampling_get(559,15350 -static int aureon_oversampling_put(566,15583 -static snd_kcontrol_new_t aureon_dac_controls[589,15965 -static snd_kcontrol_new_t aureon_dac_controls[] __devinitdata 589,15965 -static snd_kcontrol_new_t wm_controls[632,16981 -static snd_kcontrol_new_t wm_controls[] __devinitdata 632,16981 -static int __devinit aureon_add_controls(693,18347 -static int __devinit aureon_init(719,18909 -static unsigned char aureon51_eeprom[873,23226 -static unsigned char aureon51_eeprom[] __devinitdata 873,23226 -static unsigned char aureon71_eeprom[889,23664 -static unsigned char aureon71_eeprom[] __devinitdata 889,23664 -static unsigned char prodigy71_eeprom[905,24102 -static unsigned char prodigy71_eeprom[] __devinitdata 905,24102 -struct snd_ice1712_card_info snd_vt1724_aureon_cards[922,24559 -struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata 922,24559 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/vt1720_mobo.c,332 -static int __devinit k8x800_init(36,1141 -static int __devinit k8x800_add_controls(50,1338 -static unsigned char k8x800_eeprom[58,1475 -static unsigned char k8x800_eeprom[] __devinitdata 58,1475 -struct snd_ice1712_card_info snd_vt1720_mobo_cards[76,1862 -struct snd_ice1712_card_info snd_vt1720_mobo_cards[] __devinitdata 76,1862 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/revo.c,537 -static void revo_set_rate_val(39,1203 -static akm4xxx_t akm_revo_front __devinitdata 81,2027 -static struct snd_ak4xxx_private akm_revo_front_priv __devinitdata 89,2167 -static akm4xxx_t akm_revo_surround __devinitdata 101,2576 -static struct snd_ak4xxx_private akm_revo_surround_priv __devinitdata 110,2737 -static int __devinit revo_init(122,3149 -static int __devinit revo_add_controls(158,4035 -struct snd_ice1712_card_info snd_vt1724_revo_cards[172,4288 -struct snd_ice1712_card_info snd_vt1724_revo_cards[] __devinitdata 172,4288 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/ews.c,3324 -#define SND_CS840438,1253 -static void ewx_i2c_setlines(46,1381 -static int ewx_i2c_getclock(58,1679 -static int ewx_i2c_getdata(64,1863 -static void ewx_i2c_start(81,2457 -static void ewx_i2c_stop(100,2934 -static void ewx_i2c_direction(106,3060 -static snd_i2c_bit_ops_t snd_ice1712_ewx_cs8427_bit_ops 121,3585 -static int snd_ice1712_ews88mt_chip_select(136,3894 -static void ews88mt_ak4524_lock(158,4546 -static void ews88mt_ak4524_unlock(175,5151 -static void ewx2496_ak4524_lock(184,5384 -static void dmx6fire_ak4524_lock(199,5846 -static void snd_ice1712_ews_cs8404_spdif_write(218,6427 -static void ews88_spdif_default_get(244,7102 -static int ews88_spdif_default_put(249,7272 -static void ews88_spdif_stream_get(267,7761 -static int ews88_spdif_stream_put(272,7937 -static void ews88_open_spdif(292,8460 -static void ews88_setup_spdif(298,8640 -static akm4xxx_t akm_ews88mt __devinitdata 325,9434 -static struct snd_ak4xxx_private akm_ews88mt_priv __devinitdata 335,9616 -static akm4xxx_t akm_ewx2496 __devinitdata 347,9955 -static struct snd_ak4xxx_private akm_ewx2496_priv __devinitdata 356,10102 -static akm4xxx_t akm_6fire __devinitdata 368,10460 -static struct snd_ak4xxx_private akm_6fire_priv __devinitdata 377,10606 -#define PCF9554_REG_INPUT 394,10982 -#define PCF9554_REG_OUTPUT 395,11015 -#define PCF9554_REG_POLARITY 396,11048 -#define PCF9554_REG_CONFIG 397,11081 -static int __devinit snd_ice1712_ews_init(401,11211 -static int snd_ice1712_ewx_io_sense_info(526,15122 -static int snd_ice1712_ewx_io_sense_get(540,15539 -static int snd_ice1712_ewx_io_sense_put(551,15933 -static snd_kcontrol_new_t snd_ice1712_ewx2496_controls[568,16497 -static snd_kcontrol_new_t snd_ice1712_ewx2496_controls[] __devinitdata 568,16497 -static int snd_ice1712_ews88mt_output_sense_get(592,17162 -static int snd_ice1712_ews88mt_output_sense_put(608,17678 -static int snd_ice1712_ews88mt_input_sense_get(628,18334 -static int snd_ice1712_ews88mt_input_sense_put(647,18953 -static snd_kcontrol_new_t snd_ice1712_ews88mt_input_sense __devinitdata 668,19649 -static snd_kcontrol_new_t snd_ice1712_ews88mt_output_sense __devinitdata 677,19947 -static int snd_ice1712_ews88d_control_info(690,20273 -static int snd_ice1712_ews88d_control_get(699,20511 -static int snd_ice1712_ews88d_control_put(719,21080 -#define EWS88D_CONTROL(EWS88D_CONTROL749,21971 -static snd_kcontrol_new_t snd_ice1712_ews88d_controls[759,22273 -static snd_kcontrol_new_t snd_ice1712_ews88d_controls[] __devinitdata 759,22273 -static int snd_ice1712_6fire_read_pca(772,22784 -static int snd_ice1712_6fire_write_pca(788,23155 -static int snd_ice1712_6fire_control_info(802,23481 -static int snd_ice1712_6fire_control_get(811,23718 -static int snd_ice1712_6fire_control_put(827,24171 -static int snd_ice1712_6fire_select_input_info(848,24782 -static int snd_ice1712_6fire_select_input_get(862,25245 -static int snd_ice1712_6fire_select_input_put(873,25557 -#define DMX6FIRE_CONTROL(DMX6FIRE_CONTROL890,26016 -static snd_kcontrol_new_t snd_ice1712_6fire_controls[899,26298 -static snd_kcontrol_new_t snd_ice1712_6fire_controls[] __devinitdata 899,26298 -static int __devinit snd_ice1712_ews_add_controls(915,26850 -struct snd_ice1712_card_info snd_ice1712_ews_cards[979,28612 -struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata 979,28612 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/hoontech.c,768 -static void __devinit snd_ice1712_stdsp24_gpio_write(36,1126 -static void __devinit snd_ice1712_stdsp24_darear(49,1536 -static void __devinit snd_ice1712_stdsp24_mute(57,1792 -static void __devinit snd_ice1712_stdsp24_insel(65,2044 -static void __devinit snd_ice1712_stdsp24_box_channel(73,2298 -static void __devinit snd_ice1712_stdsp24_box_midi(121,4127 -static void __devinit snd_ice1712_stdsp24_midi2(147,4911 -static int __devinit snd_ice1712_hoontech_init(155,5165 -static void stdsp24_ak4524_lock(224,7708 -static int __devinit snd_ice1712_value_init(237,8111 -static int __devinit snd_ice1712_ez8_init(287,9189 -struct snd_ice1712_card_info snd_ice1712_hoontech_cards[299,9596 -struct snd_ice1712_card_info snd_ice1712_hoontech_cards[] __devinitdata 299,9596 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/pontis.c,2954 -#define WM_DEV 38,1177 -#define CS_DEV 39,1198 -#define WM_HP_ATTEN_L 42,1243 -#define WM_HP_ATTEN_R 43,1304 -#define WM_HP_MASTER 44,1365 -#define WM_DAC_ATTEN_L 45,1445 -#define WM_DAC_ATTEN_R 46,1505 -#define WM_DAC_MASTER 47,1534 -#define WM_PHASE_SWAP 48,1562 -#define WM_DAC_CTRL1 49,1611 -#define WM_DAC_MUTE 50,1638 -#define WM_DAC_CTRL2 51,1664 -#define WM_DAC_INT 52,1691 -#define WM_ADC_INT 53,1716 -#define WM_MASTER_CTRL 54,1741 -#define WM_POWERDOWN 55,1770 -#define WM_ADC_ATTEN_L 56,1797 -#define WM_ADC_ATTEN_R 57,1826 -#define WM_ALC_CTRL1 58,1855 -#define WM_ALC_CTRL2 59,1882 -#define WM_ALC_CTRL3 60,1909 -#define WM_NOISE_GATE 61,1936 -#define WM_LIMITER 62,1964 -#define WM_ADC_MUX 63,1989 -#define WM_OUT_MUX 64,2014 -#define WM_RESET 65,2039 -#define PONTIS_CS_CS 70,2078 -#define PONTIS_CS_CLK 71,2116 -#define PONTIS_CS_RDATA 72,2156 -#define PONTIS_CS_WDATA 73,2211 -static unsigned short wm_get(79,2321 -static void wm_put_nocache(89,2541 -static void wm_put(96,2726 -#define DAC_0dB 108,2975 -#define DAC_RES 109,2996 -#define DAC_MIN 110,3016 -static int wm_dac_vol_info(112,3053 -static int wm_dac_vol_get(121,3314 -static int wm_dac_vol_put(137,3704 -#define ADC_0dB 163,4300 -#define ADC_RES 164,4321 -#define ADC_MIN 165,4341 -static int wm_adc_vol_info(167,4378 -static int wm_adc_vol_get(176,4647 -static int wm_adc_vol_put(192,5037 -static int wm_adc_mux_info(216,5571 -static int wm_adc_mux_get(225,5793 -static int wm_adc_mux_put(236,6110 -static int wm_bypass_info(260,6625 -static int wm_bypass_get(269,6846 -static int wm_bypass_put(279,7120 -static int wm_chswap_info(302,7575 -static int wm_chswap_get(311,7796 -static int wm_chswap_put(321,8072 -static void set_gpio_bit(346,8597 -static void spi_send_byte(356,8798 -static unsigned int spi_read_byte(370,9085 -static void spi_write(389,9411 -static unsigned int spi_read(405,10006 -static int cs_source_info(432,10782 -static int cs_source_get(448,11288 -static int cs_source_put(458,11541 -static int pontis_gpio_mask_info(479,12022 -static int pontis_gpio_mask_get(488,12267 -static int pontis_gpio_mask_put(498,12569 -static int pontis_gpio_dir_get(512,12961 -static int pontis_gpio_dir_put(522,13249 -static int pontis_gpio_data_get(536,13628 -static int pontis_gpio_data_put(547,14010 -static snd_kcontrol_new_t pontis_controls[569,14556 -static snd_kcontrol_new_t pontis_controls[] __devinitdata 569,14556 -static void wm_proc_regs_write(649,16297 -static void wm_proc_regs_read(664,16707 -static void wm_proc_init(677,17026 -static void cs_proc_regs_read(688,17327 -static void cs_proc_init(703,17742 -static int __devinit pontis_add_controls(712,17939 -static int __devinit pontis_init(733,18271 -static unsigned char pontis_eeprom[821,20873 -static unsigned char pontis_eeprom[] __devinitdata 821,20873 -struct snd_ice1712_card_info snd_vt1720_pontis_cards[838,21414 -struct snd_ice1712_card_info snd_vt1720_pontis_cards[] __devinitdata 838,21414 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/delta.h,1907 -#define __SOUND_DELTA_H2,24 -#define DELTA_DEVICE_DESC 28,1031 -#define ICE1712_SUBDEVICE_DELTA1010 37,1300 -#define ICE1712_SUBDEVICE_DELTADIO2496 38,1347 -#define ICE1712_SUBDEVICE_DELTA66 39,1397 -#define ICE1712_SUBDEVICE_DELTA44 40,1442 -#define ICE1712_SUBDEVICE_AUDIOPHILE 41,1487 -#define ICE1712_SUBDEVICE_DELTA410 42,1535 -#define ICE1712_SUBDEVICE_DELTA1010LT 43,1581 -#define ICE1712_SUBDEVICE_VX442 44,1630 -#define ICE1712_DELTA_DFS 55,1849 -#define ICE1712_DELTA_SPDIF_IN_STAT 57,1944 -#define ICE1712_DELTA_SPDIF_OUT_STAT_CLOCK 62,2121 -#define ICE1712_DELTA_SPDIF_OUT_STAT_DATA 67,2318 -#define ICE1712_DELTA_SPDIF_INPUT_SELECT 76,2611 -#define ICE1712_DELTA_WORD_CLOCK_SELECT 85,2867 -#define ICE1712_DELTA_WORD_CLOCK_STATUS 89,3057 -#define ICE1712_DELTA_CODEC_SERIAL_DATA 97,3294 -#define ICE1712_DELTA_CODEC_SERIAL_CLOCK 99,3370 -#define ICE1712_DELTA_CODEC_CHIP_A 102,3491 -#define ICE1712_DELTA_CODEC_CHIP_B 103,3531 -#define ICE1712_DELTA_AP_CCLK 116,3925 -#define ICE1712_DELTA_AP_DIN 118,4020 -#define ICE1712_DELTA_AP_DOUT 119,4071 -#define ICE1712_DELTA_AP_CS_DIGITAL 120,4124 -#define ICE1712_DELTA_AP_CS_CODEC 122,4221 -#define ICE1712_DELTA_1010LT_CCLK 128,4468 -#define ICE1712_DELTA_1010LT_DIN 129,4541 -#define ICE1712_DELTA_1010LT_DOUT 130,4605 -#define ICE1712_DELTA_1010LT_CS 131,4680 -#define ICE1712_DELTA_1010LT_CS_CHIP_A 132,4744 -#define ICE1712_DELTA_1010LT_CS_CHIP_B 133,4804 -#define ICE1712_DELTA_1010LT_CS_CHIP_C 134,4864 -#define ICE1712_DELTA_1010LT_CS_CHIP_D 135,4924 -#define ICE1712_DELTA_1010LT_CS_CS8427 136,4984 -#define ICE1712_DELTA_1010LT_CS_NONE 137,5041 -#define ICE1712_DELTA_1010LT_WORDCLOCK 138,5097 -#define ICE1712_VX442_CCLK 141,5245 -#define ICE1712_VX442_DIN 142,5294 -#define ICE1712_VX442_DOUT 143,5343 -#define ICE1712_VX442_CS_DIGITAL 144,5394 -#define ICE1712_VX442_CODEC_CHIP_A 145,5464 -#define ICE1712_VX442_CODEC_CHIP_B 146,5524 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/ice1724.c,7238 -static int index[66,2002 -static char *id[67,2071 -static int enable[68,2144 -static char *model[69,2227 -static int boot_devs;70,2260 -#define PCI_VENDOR_ID_ICE 82,2740 -#define PCI_DEVICE_ID_VT1724 85,2810 -static struct pci_device_id snd_vt1724_ids[89,2906 -static int PRO_RATE_LOCKED;97,3090 -static int PRO_RATE_RESET 98,3118 -static unsigned int PRO_RATE_DEFAULT 99,3149 -static inline int is_spdif_master(106,3266 -static inline int is_pro_rate_locked(111,3388 -static unsigned char snd_vt1724_ac97_ready(120,3519 -static int snd_vt1724_ac97_wait_bit(136,3911 -static void snd_vt1724_ac97_write(146,4168 -static unsigned short snd_vt1724_ac97_read(162,4637 -static void snd_vt1724_set_gpio_dir(183,5176 -static void snd_vt1724_set_gpio_mask(190,5409 -static void snd_vt1724_set_gpio_data(198,5732 -static unsigned int snd_vt1724_get_gpio_data(206,5988 -static irqreturn_t snd_vt1724_interrupt(221,6271 -static unsigned int rates[301,8999 -static snd_pcm_hw_constraint_list_t hw_constraints_rates_96 307,9143 -static snd_pcm_hw_constraint_list_t hw_constraints_rates_48 313,9290 -static snd_pcm_hw_constraint_list_t hw_constraints_rates_192 319,9437 -struct vt1724_pcm_reg vt1724_pcm_reg325,9563 -static int snd_vt1724_pcm_trigger(332,9779 -#define DMA_STARTS 383,10893 -#define DMA_PAUSES 385,11050 -static int get_max_rate(388,11208 -static void snd_vt1724_set_pro_rate(399,11445 -static int snd_vt1724_pcm_hw_params(481,13692 -static int snd_vt1724_pcm_hw_free(522,14846 -static int snd_vt1724_playback_pro_prepare(536,15201 -static snd_pcm_uframes_t snd_vt1724_playback_pro_pointer(563,16242 -static int snd_vt1724_pcm_prepare(598,17323 -static snd_pcm_uframes_t snd_vt1724_pcm_pointer(611,17824 -static struct vt1724_pcm_reg vt1724_playback_pro_reg 639,18665 -static struct vt1724_pcm_reg vt1724_capture_pro_reg 646,18860 -static snd_pcm_hardware_t snd_vt1724_playback_pro 653,19051 -static snd_pcm_hardware_t snd_vt1724_spdif 672,19675 -static snd_pcm_hardware_t snd_vt1724_2ch_stereo 691,20281 -static int set_rate_constraints(713,20902 -#define VT1724_BUFFER_ALIGN 738,21898 -static int snd_vt1724_playback_pro_open(740,21932 -static int snd_vt1724_capture_pro_open(770,22937 -static int snd_vt1724_playback_pro_close(788,23582 -static int snd_vt1724_capture_pro_close(799,23838 -static snd_pcm_ops_t snd_vt1724_playback_pro_ops 809,24091 -static snd_pcm_ops_t snd_vt1724_capture_pro_ops 820,24460 -static int __devinit snd_vt1724_pcm_profi(831,24808 -static struct vt1724_pcm_reg vt1724_playback_spdif_reg 860,25422 -static struct vt1724_pcm_reg vt1724_capture_spdif_reg 867,25610 -static void update_spdif_bits(875,25849 -static void update_spdif_rate(890,26310 -static int snd_vt1724_playback_spdif_prepare(908,26751 -static int snd_vt1724_playback_spdif_open(916,27007 -static int snd_vt1724_playback_spdif_close(937,27727 -static int snd_vt1724_capture_spdif_open(948,27985 -static int snd_vt1724_capture_spdif_close(969,28702 -static snd_pcm_ops_t snd_vt1724_playback_spdif_ops 980,28958 -static snd_pcm_ops_t snd_vt1724_capture_spdif_ops 991,29326 -static int __devinit snd_vt1724_pcm_spdif(1003,29681 -static struct vt1724_pcm_reg vt1724_playback_dma_regs[1057,30824 -static int snd_vt1724_playback_indep_prepare(1078,31297 -static int snd_vt1724_playback_indep_open(1091,31668 -static int snd_vt1724_playback_indep_close(1112,32372 -static snd_pcm_ops_t snd_vt1724_playback_indep_ops 1124,32698 -static int __devinit snd_vt1724_pcm_indep(1136,33067 -static int __devinit snd_vt1724_ac97_mixer(1170,33713 -static inline unsigned int eeprom_triple(1205,34592 -static void snd_vt1724_proc_read(1212,34815 -static void __devinit snd_vt1724_proc_init(1243,36356 -static int snd_vt1724_eeprom_info(1255,36580 -static int snd_vt1724_eeprom_get(1262,36769 -static snd_kcontrol_new_t snd_vt1724_eeprom __devinitdata 1270,36999 -static int snd_vt1724_spdif_info(1280,37238 -static unsigned int encode_spdif_bits(1287,37404 -static void decode_spdif_bits(1317,38239 -static int snd_vt1724_spdif_default_get(1345,38998 -static int snd_vt1724_spdif_default_put(1355,39275 -static snd_kcontrol_new_t snd_vt1724_spdif_default __devinitdata 1370,39685 -static int snd_vt1724_spdif_maskc_get(1379,39965 -static int snd_vt1724_spdif_maskp_get(1392,40423 -static snd_kcontrol_new_t snd_vt1724_spdif_maskc __devinitdata 1402,40714 -static snd_kcontrol_new_t snd_vt1724_spdif_maskp __devinitdata 1411,40994 -static int snd_vt1724_spdif_sw_info(1420,41274 -static int snd_vt1724_spdif_sw_get(1429,41506 -static int snd_vt1724_spdif_sw_put(1436,41767 -static snd_kcontrol_new_t snd_vt1724_spdif_switch __devinitdata 1452,42237 -int snd_vt1724_gpio_info(1469,42679 -int snd_vt1724_gpio_get(1478,42900 -int snd_ice1712_gpio_put(1490,43326 -static int snd_vt1724_pro_internal_clock_info(1513,43985 -static int snd_vt1724_pro_internal_clock_get(1562,45328 -static int snd_vt1724_pro_internal_clock_put(1585,45925 -static snd_kcontrol_new_t snd_vt1724_pro_internal_clock __devinitdata 1622,47017 -static int snd_vt1724_pro_rate_locking_info(1630,47302 -static int snd_vt1724_pro_rate_locking_get(1639,47542 -static int snd_vt1724_pro_rate_locking_put(1645,47714 -static snd_kcontrol_new_t snd_vt1724_pro_rate_locking __devinitdata 1658,48085 -static int snd_vt1724_pro_rate_reset_info(1666,48360 -static int snd_vt1724_pro_rate_reset_get(1675,48598 -static int snd_vt1724_pro_rate_reset_put(1681,48775 -static snd_kcontrol_new_t snd_vt1724_pro_rate_reset __devinitdata 1694,49142 -static int snd_vt1724_pro_route_info(1706,49426 -static inline int analog_route_shift(1723,49979 -static inline int digital_route_shift(1728,50076 -static int get_route_val(1733,50145 -static int put_route_val(1752,50504 -static int snd_vt1724_pro_route_analog_get(1774,50997 -static int snd_vt1724_pro_route_analog_put(1782,51302 -static int snd_vt1724_pro_route_spdif_get(1790,51610 -static int snd_vt1724_pro_route_spdif_put(1798,51915 -static snd_kcontrol_new_t snd_vt1724_mixer_pro_analog_route __devinitdata 1806,52223 -static snd_kcontrol_new_t snd_vt1724_mixer_pro_spdif_route __devinitdata 1814,52492 -static int snd_vt1724_pro_peak_info(1824,52775 -static int snd_vt1724_pro_peak_get(1833,53057 -static snd_kcontrol_new_t snd_vt1724_mixer_pro_peak __devinitdata 1847,53456 -static struct snd_ice1712_card_info no_matched __devinitdata;1859,53747 -static struct snd_ice1712_card_info *card_tables[1861,53810 -static struct snd_ice1712_card_info *card_tables[] __devinitdata 1861,53810 -static void wait_i2c_busy(1874,54023 -unsigned char snd_vt1724_read_i2c(1881,54159 -void snd_vt1724_write_i2c(1889,54422 -static int __devinit snd_vt1724_read_eeprom(1898,54717 -static int __devinit snd_vt1724_chip_init(1967,57335 -static int __devinit snd_vt1724_spdif_build_controls(1989,58090 -static int __devinit snd_vt1724_build_controls(2027,59132 -static int snd_vt1724_free(2062,60027 -static int snd_vt1724_dev_free(2081,60424 -static int __devinit snd_vt1724_create(2087,60551 -static int __devinit snd_vt1724_probe(2174,62589 -static void __devexit snd_vt1724_remove(2284,64912 -static struct pci_driver driver 2290,65045 -static int __init alsa_card_ice1724_init(2297,65205 -static void __exit alsa_card_ice1724_exit(2302,65291 -module_init(2307,65377 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/ews.h,1428 -#define __SOUND_EWS_H2,22 -#define EWS_DEVICE_DESC 28,1032 -#define ICE1712_SUBDEVICE_EWX2496 35,1189 -#define ICE1712_SUBDEVICE_EWS88MT 36,1234 -#define ICE1712_SUBDEVICE_EWS88MT_NEW 37,1279 -#define ICE1712_SUBDEVICE_EWS88D 38,1328 -#define ICE1712_SUBDEVICE_DMX6FIRE 39,1372 -#define ICE1712_SUBDEVICE_PHASE88 40,1418 -#define ICE1712_EWX2496_AK4524_CS 48,1597 -#define ICE1712_EWX2496_AIN_SEL 49,1675 -#define ICE1712_EWX2496_AOUT_SEL 50,1759 -#define ICE1712_EWX2496_RW 51,1844 -#define ICE1712_EWX2496_SERIAL_DATA 52,1924 -#define ICE1712_EWX2496_SERIAL_CLOCK 53,1989 -#define ICE1712_EWX2496_TX2 54,2056 -#define ICE1712_EWX2496_RX2 55,2113 -#define ICE1712_EWS88_CS8414_RATE 59,2274 -#define ICE1712_EWS88_RW 60,2348 -#define ICE1712_EWS88_SERIAL_DATA 61,2426 -#define ICE1712_EWS88_SERIAL_CLOCK 62,2489 -#define ICE1712_EWS88_TX2 63,2554 -#define ICE1712_EWS88_RX2 64,2612 -#define ICE1712_EWS88MT_CS8404_ADDR 67,2689 -#define ICE1712_EWS88MT_INPUT_ADDR 68,2735 -#define ICE1712_EWS88MT_OUTPUT_ADDR 69,2780 -#define ICE1712_EWS88MT_OUTPUT_SENSE 70,2826 -#define ICE1712_EWS88D_PCF_ADDR 71,2879 -#define ICE1712_6FIRE_AK4524_CS_MASK 74,2974 -#define ICE1712_6FIRE_RW 75,3047 -#define ICE1712_6FIRE_SERIAL_DATA 76,3125 -#define ICE1712_6FIRE_SERIAL_CLOCK 77,3188 -#define ICE1712_6FIRE_TX2 78,3253 -#define ICE1712_6FIRE_RX2 79,3297 -#define ICE1712_6FIRE_PCF9554_ADDR 81,3342 -#define ICE1712_6FIRE_CS8427_ADDR 82,3387 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/pontis.h,112 -#define __SOUND_PONTIS_H2,25 -#define PONTIS_DEVICE_DESC 27,953 -#define VT1720_SUBDEVICE_PONTIS_MS300 29,1007 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/ak4xxx.c,414 -static void snd_ice1712_akm4xxx_lock(37,1266 -static void snd_ice1712_akm4xxx_unlock(44,1409 -static void snd_ice1712_akm4xxx_write(54,1589 -int snd_ice1712_akm4xxx_init(124,3310 -void snd_ice1712_akm4xxx_free(147,3949 -int snd_ice1712_akm4xxx_build_controls(163,4264 -static int __init alsa_ice1712_akm4xxx_module_init(177,4529 -static void __exit alsa_ice1712_akm4xxx_module_exit(182,4610 -module_init(186,4681 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ice1712/hoontech.h,1640 -#define __SOUND_HOONTECH_H2,27 -#define HOONTECH_DEVICE_DESC 27,963 -#define ICE1712_SUBDEVICE_STDSP24 33,1145 -#define ICE1712_SUBDEVICE_STDSP24_VALUE 34,1230 -#define ICE1712_SUBDEVICE_STDSP24_MEDIA7_1 35,1342 -#define ICE1712_SUBDEVICE_EVENT_EZ8 36,1436 -#define ICE1712_STDSP24_0_BOX(ICE1712_STDSP24_0_BOX43,1635 -#define ICE1712_STDSP24_0_DAREAR(ICE1712_STDSP24_0_DAREAR44,1702 -#define ICE1712_STDSP24_1_CHN1(ICE1712_STDSP24_1_CHN145,1777 -#define ICE1712_STDSP24_1_CHN2(ICE1712_STDSP24_1_CHN246,1845 -#define ICE1712_STDSP24_1_CHN3(ICE1712_STDSP24_1_CHN347,1918 -#define ICE1712_STDSP24_2_CHN4(ICE1712_STDSP24_2_CHN448,1991 -#define ICE1712_STDSP24_2_MIDIIN(ICE1712_STDSP24_2_MIDIIN49,2059 -#define ICE1712_STDSP24_2_MIDI1(ICE1712_STDSP24_2_MIDI150,2134 -#define ICE1712_STDSP24_3_MIDI2(ICE1712_STDSP24_3_MIDI251,2208 -#define ICE1712_STDSP24_3_MUTE(ICE1712_STDSP24_3_MUTE52,2277 -#define ICE1712_STDSP24_3_INSEL(ICE1712_STDSP24_3_INSEL53,2350 -#define ICE1712_STDSP24_SET_ADDR(ICE1712_STDSP24_SET_ADDR54,2424 -#define ICE1712_STDSP24_CLOCK(ICE1712_STDSP24_CLOCK55,2506 -#define ICE1712_STDSP24_CLOCK_BIT 56,2588 -#define ICE1712_STDSP24_DAREAR 60,2700 -#define ICE1712_STDSP24_MUTE 61,2739 -#define ICE1712_STDSP24_INSEL 62,2776 -#define ICE1712_STDSP24_BOX_CHN1 64,2815 -#define ICE1712_STDSP24_BOX_CHN2 65,2877 -#define ICE1712_STDSP24_BOX_CHN3 66,2939 -#define ICE1712_STDSP24_BOX_CHN4 67,3001 -#define ICE1712_STDSP24_BOX_MIDI1 68,3063 -#define ICE1712_STDSP24_BOX_MIDI2 69,3104 -#define ICE1712_STDSP24_AK4524_CS 73,3226 -#define ICE1712_STDSP24_SERIAL_DATA 74,3304 -#define ICE1712_STDSP24_SERIAL_CLOCK 75,3363 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/rme32.c,6751 -static int index[91,3891 -static char *id[92,3960 -static int enable[93,4033 -static int fullduplex[94,4115 -static int boot_devs;95,4189 -#define RME32_SPDIF_NCHANNELS 111,4946 -#define RME32_BUFFER_SIZE 114,5018 -#define RME32_IO_SIZE 117,5072 -#define RME32_IO_DATA_BUFFER 120,5125 -#define RME32_IO_CONTROL_REGISTER 121,5165 -#define RME32_IO_GET_POS 122,5209 -#define RME32_IO_CONFIRM_ACTION_IRQ 123,5253 -#define RME32_IO_RESET_POS 124,5297 -#define RME32_WCR_START 127,5376 -#define RME32_WCR_MONO 128,5431 -#define RME32_WCR_MODE24 136,6013 -#define RME32_WCR_SEL 137,6076 -#define RME32_WCR_FREQ_0 138,6167 -#define RME32_WCR_FREQ_1 139,6230 -#define RME32_WCR_INP_0 140,6267 -#define RME32_WCR_INP_1 141,6326 -#define RME32_WCR_RESET 142,6363 -#define RME32_WCR_MUTE 143,6423 -#define RME32_WCR_PRO 144,6493 -#define RME32_WCR_DS_BM 145,6566 -#define RME32_WCR_ADAT 146,6676 -#define RME32_WCR_AUTOSYNC 147,6750 -#define RME32_WCR_PD 148,6805 -#define RME32_WCR_EMP 149,6878 -#define RME32_WCR_BITPOS_FREQ_0 151,6956 -#define RME32_WCR_BITPOS_FREQ_1 152,6990 -#define RME32_WCR_BITPOS_INP_0 153,7024 -#define RME32_WCR_BITPOS_INP_1 154,7057 -#define RME32_RCR_AUDIO_ADDR_MASK 157,7124 -#define RME32_RCR_LOCK 158,7166 -#define RME32_RCR_ERF 159,7235 -#define RME32_RCR_FREQ_0 160,7301 -#define RME32_RCR_FREQ_1 161,7373 -#define RME32_RCR_FREQ_2 162,7411 -#define RME32_RCR_KMODE 163,7449 -#define RME32_RCR_IRQ 164,7522 -#define RME32_RCR_BITPOS_F0 166,7579 -#define RME32_RCR_BITPOS_F1 167,7610 -#define RME32_RCR_BITPOS_F2 168,7641 -#define RME32_INPUT_OPTICAL 171,7691 -#define RME32_INPUT_COAXIAL 172,7721 -#define RME32_INPUT_INTERNAL 173,7751 -#define RME32_INPUT_XLR 174,7782 -#define RME32_CLOCKMODE_SLAVE 177,7827 -#define RME32_CLOCKMODE_MASTER_32 178,7859 -#define RME32_CLOCKMODE_MASTER_44 179,7895 -#define RME32_CLOCKMODE_MASTER_48 180,7931 -#define RME32_BLOCK_SIZE 183,7995 -#define RME32_MID_BUFFER_SIZE 186,8072 -#define RME32_32_REVISION 189,8140 -#define RME32_328_REVISION_OLD 190,8170 -#define RME32_328_REVISION_NEW 191,8205 -#define RME32_PRO_REVISION_WITH_8412 192,8240 -#define RME32_PRO_REVISION_WITH_8414 193,8281 -# define PCI_VENDOR_ID_XILINX_RME 198,8386 -# define PCI_DEVICE_ID_DIGI32 201,8463 -# define PCI_DEVICE_ID_DIGI32_PRO 204,8540 -# define PCI_DEVICE_ID_DIGI32_8 207,8619 -typedef struct snd_rme32 snd_rme32210,8666 -} rme32_t;rme32_t243,9510 -static struct pci_device_id snd_rme32_ids[245,9522 -#define RME32_ISWORKING(RME32_ISWORKING257,9889 -#define RME32_PRO_WITH_8414(RME32_PRO_WITH_8414258,9955 -static inline unsigned int snd_rme32_pcm_byteptr(270,10438 -static int snd_rme32_ratecode(276,10590 -static int snd_rme32_playback_silence(290,10961 -static int snd_rme32_playback_copy(302,11388 -static int snd_rme32_capture_copy(316,11865 -static snd_pcm_hardware_t snd_rme32_spdif_info 333,12355 -static snd_pcm_hardware_t snd_rme32_adat_info 359,13106 -static snd_pcm_hardware_t snd_rme32_spdif_fd_info 384,13891 -static snd_pcm_hardware_t snd_rme32_adat_fd_info 410,14612 -static void snd_rme32_reset_dac(432,15316 -static int snd_rme32_playback_getrate(439,15545 -static int snd_rme32_capture_getrate(461,15945 -static int snd_rme32_playback_setrate(523,16981 -static int snd_rme32_setclockmode(579,18535 -static int snd_rme32_getclockmode(609,19286 -static int snd_rme32_setinputtype(615,19461 -static int snd_rme32_getinputtype(641,20089 -snd_rme32_setframelog(648,20274 -static int snd_rme32_setformat(667,20659 -snd_rme32_playback_hw_params(684,21015 -snd_rme32_capture_hw_params(739,22684 -static int snd_rme32_pcm_hw_free(799,24629 -static void snd_rme32_pcm_start(807,24839 -static void snd_rme32_pcm_stop(817,25082 -snd_rme32_interrupt(836,25698 -static unsigned int period_bytes[855,26208 -static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes 858,26269 -static void snd_rme32_set_buffer_constraint(864,26411 -static int snd_rme32_playback_spdif_open(876,26793 -static int snd_rme32_capture_spdif_open(919,28156 -snd_rme32_playback_adat_open(958,29150 -snd_rme32_capture_adat_open(993,30179 -static int snd_rme32_playback_close(1026,31046 -static int snd_rme32_capture_close(1045,31593 -static int snd_rme32_playback_prepare(1056,31855 -static int snd_rme32_capture_prepare(1075,32485 -snd_rme32_pcm_trigger(1093,33045 -snd_rme32_playback_pointer(1161,34851 -snd_rme32_capture_pointer(1168,35057 -static void snd_rme32_pb_trans_copy(1176,35289 -static int snd_rme32_playback_fd_ack(1184,35587 -static void snd_rme32_cp_trans_copy(1202,36151 -static int snd_rme32_capture_fd_ack(1211,36461 -snd_rme32_playback_fd_pointer(1220,36723 -snd_rme32_capture_fd_pointer(1228,36982 -static snd_pcm_ops_t snd_rme32_playback_spdif_ops 1236,37238 -static snd_pcm_ops_t snd_rme32_capture_spdif_ops 1250,37705 -static snd_pcm_ops_t snd_rme32_playback_adat_ops 1263,38125 -static snd_pcm_ops_t snd_rme32_capture_adat_ops 1276,38555 -static snd_pcm_ops_t snd_rme32_playback_spdif_fd_ops 1289,38964 -static snd_pcm_ops_t snd_rme32_capture_spdif_fd_ops 1301,39364 -static snd_pcm_ops_t snd_rme32_playback_adat_fd_ops 1313,39757 -static snd_pcm_ops_t snd_rme32_capture_adat_fd_ops 1324,40120 -static void snd_rme32_free(1335,40476 -static void snd_rme32_free_spdif_pcm(1357,40884 -snd_rme32_free_adat_pcm(1364,41030 -static int __devinit snd_rme32_create(1370,41149 -snd_rme32_proc_read(1496,45104 -static void __devinit snd_rme32_proc_init(1590,47760 -snd_rme32_info_loopback_control(1603,48013 -snd_rme32_get_loopback_control(1613,48256 -snd_rme32_put_loopback_control(1625,48572 -snd_rme32_info_inputtype_control(1647,49161 -snd_rme32_get_inputtype_control(1677,49952 -snd_rme32_put_inputtype_control(1706,50585 -snd_rme32_info_clockmode_control(1735,51217 -snd_rme32_get_clockmode_control(1754,51726 -snd_rme32_put_clockmode_control(1765,52027 -static u32 snd_rme32_convert_from_aes(1780,52432 -static void snd_rme32_convert_to_aes(1791,52789 -static int snd_rme32_control_spdif_info(1800,53128 -static int snd_rme32_control_spdif_get(1808,53307 -static int snd_rme32_control_spdif_put(1818,53558 -static int snd_rme32_control_spdif_stream_info(1833,53946 -static int snd_rme32_control_spdif_stream_get(1841,54139 -static int snd_rme32_control_spdif_stream_put(1852,54415 -static int snd_rme32_control_spdif_mask_info(1870,54959 -static int snd_rme32_control_spdif_mask_get(1878,55148 -static snd_kcontrol_new_t snd_rme32_controls[1886,55347 -static int snd_rme32_create_switches(1941,57137 -static void snd_rme32_card_free(1960,57546 -snd_rme32_probe(1966,57660 -static void __devexit snd_rme32_remove(2022,58928 -static struct pci_driver driver 2028,59060 -static int __init alsa_card_rme32_init(2035,59221 -static void __exit alsa_card_rme32_exit(2040,59305 -module_init(2045,59389 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/fm801.c,5978 -#define TEA575X_RADIO 40,1403 -static int index[49,1632 -static char *id[50,1701 -static int enable[51,1774 -static int tea575x_tuner[59,2028 -static int boot_devs;60,2101 -#define FM801_REG(FM801_REG75,2596 -#define FM801_PCM_VOL 77,2653 -#define FM801_FM_VOL 78,2705 -#define FM801_I2S_VOL 79,2755 -#define FM801_REC_SRC 80,2800 -#define FM801_PLY_CTRL 81,2848 -#define FM801_PLY_COUNT 82,2900 -#define FM801_PLY_BUF1 83,2951 -#define FM801_PLY_BUF2 84,3003 -#define FM801_CAP_CTRL 85,3057 -#define FM801_CAP_COUNT 86,3108 -#define FM801_CAP_BUF1 87,3158 -#define FM801_CAP_BUF2 88,3210 -#define FM801_CODEC_CTRL 89,3263 -#define FM801_I2S_MODE 90,3313 -#define FM801_VOLUME 91,3365 -#define FM801_I2C_CTRL 92,3425 -#define FM801_AC97_CMD 93,3472 -#define FM801_AC97_DATA 94,3521 -#define FM801_MPU401_DATA 95,3568 -#define FM801_MPU401_CMD 96,3617 -#define FM801_GPIO_CTRL 97,3668 -#define FM801_GEN_CTRL 98,3732 -#define FM801_IRQ_MASK 99,3783 -#define FM801_IRQ_STATUS 100,3833 -#define FM801_OPL3_BANK0 101,3886 -#define FM801_OPL3_DATA0 102,3954 -#define FM801_OPL3_BANK1 103,4008 -#define FM801_OPL3_DATA1 104,4062 -#define FM801_POWERDOWN 105,4116 -#define FM801_AC97_ADDR_SHIFT 107,4179 -#define FM801_BUF1_LAST 110,4261 -#define FM801_BUF2_LAST 111,4293 -#define FM801_START 112,4325 -#define FM801_PAUSE 113,4353 -#define FM801_IMMED_STOP 114,4381 -#define FM801_RATE_SHIFT 115,4413 -#define FM801_RATE_MASK 116,4440 -#define FM801_CHANNELS_4 117,4490 -#define FM801_CHANNELS_6 118,4543 -#define FM801_CHANNELS_6MS 119,4596 -#define FM801_CHANNELS_MASK 120,4651 -#define FM801_16BIT 121,4687 -#define FM801_STEREO 122,4716 -#define FM801_IRQ_PLAYBACK 125,4769 -#define FM801_IRQ_CAPTURE 126,4803 -#define FM801_IRQ_VOLUME 127,4836 -#define FM801_IRQ_MPU 128,4869 -#define FM801_GPIO_GP0 131,4929 -#define FM801_GPIO_GP1 132,4977 -#define FM801_GPIO_GP2 133,5008 -#define FM801_GPIO_GP3 134,5039 -#define FM801_GPIO_GP(FM801_GPIO_GP135,5070 -#define FM801_GPIO_GD0 136,5108 -#define FM801_GPIO_GD1 137,5178 -#define FM801_GPIO_GD2 138,5209 -#define FM801_GPIO_GD3 139,5241 -#define FM801_GPIO_GD(FM801_GPIO_GD140,5273 -#define FM801_GPIO_GS0 141,5311 -#define FM801_GPIO_GS1 142,5366 -#define FM801_GPIO_GS2 143,5416 -#define FM801_GPIO_GS3 144,5481 -#define FM801_GPIO_GS(FM801_GPIO_GS145,5513 -typedef struct _snd_fm801 fm801_t;fm801_t151,5563 -struct _snd_fm801 _snd_fm801153,5599 -static struct pci_device_id snd_fm801_ids[197,6564 -static int snd_fm801_update_bits(208,6804 -static void snd_fm801_codec_write(224,7167 -static unsigned short snd_fm801_codec_read(257,7950 -static unsigned int rates[297,8859 -static snd_pcm_hw_constraint_list_t hw_constraints_rates 303,8976 -static unsigned int channels[309,9098 -#define CHANNELS 313,9147 -static snd_pcm_hw_constraint_list_t hw_constraints_channels 315,9204 -static unsigned short snd_fm801_rate_bits(325,9356 -static int snd_fm801_playback_trigger(340,9594 -static int snd_fm801_capture_trigger(373,10393 -static int snd_fm801_hw_params(406,11190 -static int snd_fm801_hw_free(412,11379 -static int snd_fm801_playback_prepare(417,11489 -static int snd_fm801_capture_prepare(450,12719 -static snd_pcm_uframes_t snd_fm801_playback_pointer(477,13770 -static snd_pcm_uframes_t snd_fm801_capture_pointer(494,14282 -static irqreturn_t snd_fm801_interrupt(511,14792 -static snd_pcm_hardware_t snd_fm801_playback 559,16297 -static snd_pcm_hardware_t snd_fm801_capture 579,16866 -static int snd_fm801_playback_open(599,17434 -static int snd_fm801_capture_open(617,18052 -static int snd_fm801_playback_close(631,18508 -static int snd_fm801_capture_close(639,18680 -static snd_pcm_ops_t snd_fm801_playback_ops 647,18850 -static snd_pcm_ops_t snd_fm801_capture_ops 658,19188 -static void snd_fm801_pcm_free(669,19520 -static int __devinit snd_fm801_pcm(676,19671 -#define TEA_256PCS_DATA 711,20464 -#define TEA_256PCS_WRITE_ENABLE 712,20492 -#define TEA_256PCS_BUS_CLOCK 713,20542 -static void snd_fm801_tea575x_256pcs_write(715,20575 -static unsigned int snd_fm801_tea575x_256pcs_read(759,21971 -#define TEA_256PCPR_BUS_CLOCK 799,23185 -#define TEA_256PCPR_DATA 800,23218 -#define TEA_256PCPR_WRITE_ENABLE 801,23246 -static void snd_fm801_tea575x_256pcpr_write(803,23297 -static unsigned int snd_fm801_tea575x_256pcpr_read(847,24709 -#define TEA_64PCR_BUS_CLOCK 887,25934 -#define TEA_64PCR_WRITE_ENABLE 888,25965 -#define TEA_64PCR_DATA 889,26014 -static void snd_fm801_tea575x_64pcr_write(891,26042 -static unsigned int snd_fm801_tea575x_64pcr_read(935,27422 -static struct snd_tea575x_ops snd_fm801_tea_ops[974,28596 -#define FM801_SINGLE(FM801_SINGLE997,29054 -static int snd_fm801_info_single(1002,29332 -static int snd_fm801_get_single(1013,29659 -static int snd_fm801_put_single(1027,30183 -#define FM801_DOUBLE(FM801_DOUBLE1042,30703 -static int snd_fm801_info_double(1047,31026 -static int snd_fm801_get_double(1058,31353 -static int snd_fm801_put_double(1078,32187 -static int snd_fm801_info_mux(1099,32938 -static int snd_fm801_get_mux(1114,33380 -static int snd_fm801_put_mux(1126,33685 -#define FM801_CONTROLS 1136,34007 -static snd_kcontrol_new_t snd_fm801_controls[1138,34087 -static snd_kcontrol_new_t snd_fm801_controls[] __devinitdata 1138,34087 -#define FM801_CONTROLS_MULTI 1154,34695 -static snd_kcontrol_new_t snd_fm801_controls_multi[1156,34787 -static snd_kcontrol_new_t snd_fm801_controls_multi[] __devinitdata 1156,34787 -static void snd_fm801_mixer_free_ac97_bus(1165,35273 -static void snd_fm801_mixer_free_ac97(1171,35397 -static int __devinit snd_fm801_mixer(1181,35573 -static int snd_fm801_free(1219,36603 -static int snd_fm801_dev_free(1243,37041 -static int __devinit snd_fm801_create(1249,37166 -static int __devinit snd_card_fm801_probe(1390,41100 -static void __devexit snd_card_fm801_remove(1454,42622 -static struct pci_driver driver 1460,42759 -static int __init alsa_card_fm801_init(1467,42924 -static void __exit alsa_card_fm801_exit(1472,43008 -module_init(1477,43092 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emu10k1_patch.c,198 -#define BLANK_LOOP_START 29,1020 -#define BLANK_LOOP_END 30,1047 -#define BLANK_LOOP_SIZE 31,1073 -#define BLANK_HEAD_SIZE 32,1101 -snd_emu10k1_sample_new(38,1197 -snd_emu10k1_sample_free(208,5987 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/io.c,601 -unsigned int snd_emu10k1_ptr_read(33,1030 -void snd_emu10k1_ptr_write(64,1852 -void snd_emu10k1_intr_enable(94,2705 -void snd_emu10k1_intr_disable(105,2989 -void snd_emu10k1_voice_intr_enable(116,3275 -void snd_emu10k1_voice_intr_disable(136,3769 -void snd_emu10k1_voice_intr_ack(156,4270 -void snd_emu10k1_voice_set_loop_stop(173,4693 -void snd_emu10k1_voice_clear_loop_stop(193,5189 -void snd_emu10k1_wait(213,5693 -unsigned short snd_emu10k1_ac97_read(232,6055 -void snd_emu10k1_ac97_write(245,6388 -unsigned int snd_emu10k1_rate_to_pitch(260,6734 -unsigned char snd_emu10k1_sum_vol_attn(321,9410 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/memory.c,1087 -#define __set_ptb_entry(__set_ptb_entry33,1133 -#define UNIT_PAGES 36,1253 -#define MAX_ALIGN_PAGES 37,1299 -#define get_aligned_page(get_aligned_page39,1391 -#define aligned_page_offset(aligned_page_offset41,1492 -#define set_ptb_entry(set_ptb_entry46,1660 -#define set_silent_ptb(set_silent_ptb48,1796 -static inline void set_ptb_entry(51,1944 -static inline void set_silent_ptb(60,2159 -#define get_emu10k1_memblk(get_emu10k1_memblk76,2544 -static void emu10k1_memblk_init(80,2653 -static int search_empty_map_area(99,3216 -static int map_memblk(137,4109 -static int unmap_memblk(164,4824 -search_empty(201,5862 -static int is_valid_page(232,6606 -int snd_emu10k1_memblk_map(251,7105 -snd_emu10k1_alloc_pages(292,8186 -int snd_emu10k1_free_pages(351,9790 -snd_emu10k1_synth_alloc(367,10137 -snd_emu10k1_synth_free(393,10677 -static void get_single_page_range(412,11175 -static int synth_alloc_pages(436,11885 -static int synth_free_pages(475,12872 -inline static void *offset_ptr(498,13538 -int snd_emu10k1_synth_bzero(514,13908 -int snd_emu10k1_synth_copy_from_user(541,14573 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emufx.c,3918 -#define EMU10K1_CAPTURE_DIGITAL_OUT37,1160 -#define EMU10K1_SET_AC3_IEC95840,1264 -#define EMU10K1_CENTER_LFE_FROM_FRONT43,1382 -static char *fxbuses[50,1448 -static char *creative_ins[69,1850 -static char *audigy_ins[88,2368 -static char *creative_outs[107,2825 -static char *audigy_outs[142,3633 -static const u32 bass_table[177,4449 -static const u32 treble_table[221,7156 -static const u32 db_table[265,9865 -static const u32 onoff_table[289,11137 -static inline mm_segment_t snd_enter_user(296,11210 -static inline void snd_leave_user(303,11323 -static int snd_emu10k1_gpr_ctl_info(312,11414 -static int snd_emu10k1_gpr_ctl_get(326,11846 -static int snd_emu10k1_gpr_ctl_put(340,12309 -static void snd_emu10k1_fx8010_interrupt(390,14005 -int snd_emu10k1_fx8010_register_irq_handler(406,14454 -int snd_emu10k1_fx8010_unregister_irq_handler(439,15412 -static void snd_emu10k1_write_op(468,16251 -#define OP(OP477,16595 -static void snd_emu10k1_audigy_write_op(480,16687 -#define A_OP(A_OP489,17038 -void snd_emu10k1_efx_write(492,17139 -unsigned int snd_emu10k1_efx_read(498,17319 -static void snd_emu10k1_gpr_poke(504,17487 -static void snd_emu10k1_gpr_peek(515,17750 -static void snd_emu10k1_tram_poke(525,17994 -static void snd_emu10k1_tram_peek(537,18364 -static void snd_emu10k1_code_poke(549,18773 -static void snd_emu10k1_code_peek(561,19076 -static snd_emu10k1_fx8010_ctl_t *snd_emu10k1_look_for_ctl(573,19418 -static int snd_emu10k1_verify_controls(590,19868 -static void snd_emu10k1_ctl_private_free(630,21149 -static void snd_emu10k1_add_controls(640,21369 -static void snd_emu10k1_del_controls(707,23631 -static int snd_emu10k1_list_controls(726,24203 -static int snd_emu10k1_icode_poke(767,25323 -static int snd_emu10k1_icode_peek(797,26350 -static int snd_emu10k1_ipcm_poke(812,26751 -static int snd_emu10k1_ipcm_peek(857,27909 -#define SND_EMU10K1_GPR_CONTROLS 886,28738 -#define SND_EMU10K1_INPUTS 887,28774 -#define SND_EMU10K1_PLAYBACK_CHANNELS 888,28805 -#define SND_EMU10K1_CAPTURE_CHANNELS 889,28845 -static void __devinit snd_emu10k1_init_mono_control(891,28885 -static void __devinit snd_emu10k1_init_stereo_control(902,29256 -static void __devinit snd_emu10k1_init_mono_onoff_control(914,29676 -static void __devinit snd_emu10k1_init_stereo_onoff_control(925,30047 -static int __devinit _snd_emu10k1_audigy_init_efx(942,30517 -#define A_ADD_VOLUME_IN(A_ADD_VOLUME_IN1036,34504 -#define A_PUT_OUTPUT(A_PUT_OUTPUT1155,39558 -#define A_PUT_STEREO_OUTPUT(A_PUT_STEREO_OUTPUT1156,39668 -#define _A_SWITCH(_A_SWITCH1159,39767 -#define A_SWITCH(A_SWITCH1161,39872 -#define _A_SWITCH_NEG(_A_SWITCH_NEG1163,39976 -#define A_SWITCH_NEG(A_SWITCH_NEG1165,40090 -#define BASS_GPR 1203,41946 -#define TREBLE_GPR 1204,41968 -static void __devinit _volume(1336,48113 -static void __devinit _volume_add(1343,48462 -static void __devinit _volume_out(1351,48876 -#define VOLUME(VOLUME1360,49302 -#define VOLUME_IN(VOLUME_IN1362,49398 -#define VOLUME_ADD(VOLUME_ADD1364,49499 -#define VOLUME_ADDIN(VOLUME_ADDIN1366,49603 -#define VOLUME_OUT(VOLUME_OUT1368,49711 -#define _SWITCH(_SWITCH1370,49818 -#define SWITCH(SWITCH1372,49917 -#define SWITCH_IN(SWITCH_IN1374,50011 -#define _SWITCH_NEG(_SWITCH_NEG1376,50110 -#define SWITCH_NEG(SWITCH_NEG1378,50216 -static int __devinit _snd_emu10k1_init_efx(1382,50307 -#define BASS_GPR 1735,66339 -#define TREBLE_GPR 1736,66361 -int __devinit snd_emu10k1_init_efx(1901,73030 -void snd_emu10k1_free_efx(1909,73191 -int snd_emu10k1_fx8010_tone_control_activate(1919,73472 -int snd_emu10k1_fx8010_tone_control_deactivate(1926,73690 -int snd_emu10k1_fx8010_tram_setup(1934,73917 -static int snd_emu10k1_fx8010_open(1976,75092 -static void copy_string(1981,75180 -static int snd_emu10k1_fx8010_info(1989,75334 -static int snd_emu10k1_fx8010_ioctl(2016,76476 -static int snd_emu10k1_fx8010_release(2168,80880 -int __devinit snd_emu10k1_fx8010_new(2173,80971 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emumpu401.c,1416 -#define EMU10K1_MIDI_MODE_INPUT 28,987 -#define EMU10K1_MIDI_MODE_OUTPUT 29,1027 -static inline unsigned char mpu401_read(31,1068 -static inline void mpu401_write(39,1297 -#define mpu401_write_data(mpu401_write_data47,1513 -#define mpu401_write_cmd(mpu401_write_cmd48,1587 -#define mpu401_read_data(mpu401_read_data49,1660 -#define mpu401_read_stat(mpu401_read_stat50,1721 -#define mpu401_input_avail(mpu401_input_avail52,1783 -#define mpu401_output_ready(mpu401_output_ready53,1857 -#define MPU401_RESET 55,1933 -#define MPU401_ENTER_UART 56,1960 -#define MPU401_ACK 57,1991 -static void mpu401_clear_rx(59,2017 -static void do_emu10k1_midi_interrupt(74,2357 -static void snd_emu10k1_midi_interrupt(109,3360 -static void snd_emu10k1_midi_interrupt2(114,3494 -static void snd_emu10k1_midi_cmd(119,3630 -static int snd_emu10k1_midi_input_open(151,4451 -static int snd_emu10k1_midi_output_open(172,5112 -static int snd_emu10k1_midi_input_close(193,5775 -static int snd_emu10k1_midi_output_close(214,6425 -static void snd_emu10k1_midi_input_trigger(235,7077 -static void snd_emu10k1_midi_output_trigger(248,7420 -static snd_rawmidi_ops_t snd_emu10k1_midi_output 288,8367 -static snd_rawmidi_ops_t snd_emu10k1_midi_input 295,8550 -static void snd_emu10k1_midi_free(302,8729 -static int __devinit emu10k1_midi_init(309,8899 -int __devinit snd_emu10k1_midi(332,9702 -int __devinit snd_emu10k1_audigy_midi(349,10125 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emu10k1_synth_local.h,37 -#define __EMU10K1_SYNTH_LOCAL_H2,32 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emumixer.c,1562 -#define AC97_ID_STAC9758 35,1122 -static int snd_emu10k1_spdif_info(37,1159 -static int snd_emu10k1_spdif_get(44,1326 -static int snd_emu10k1_spdif_get_mask(60,1992 -static int snd_emu10k1_spdif_put(70,2291 -static snd_kcontrol_new_t snd_emu10k1_spdif_mask_control 93,3039 -static snd_kcontrol_new_t snd_emu10k1_spdif_control 103,3372 -static void update_emu10k1_fxrt(114,3700 -static void update_emu10k1_send_volume(127,4107 -static int snd_emu10k1_send_routing_info(142,4708 -static int snd_emu10k1_send_routing_get(152,5038 -static int snd_emu10k1_send_routing_put(171,5723 -static snd_kcontrol_new_t snd_emu10k1_send_routing_control 205,6923 -static int snd_emu10k1_send_volume_info(216,7347 -static int snd_emu10k1_send_volume_get(226,7654 -static int snd_emu10k1_send_volume_put(242,8235 -static snd_kcontrol_new_t snd_emu10k1_send_volume_control 274,9367 -static int snd_emu10k1_attn_info(285,9786 -static int snd_emu10k1_attn_get(294,10020 -static int snd_emu10k1_attn_put(309,10515 -static snd_kcontrol_new_t snd_emu10k1_attn_control 337,11490 -static int snd_emu10k1_shared_spdif_info(348,11876 -static int snd_emu10k1_shared_spdif_get(357,12113 -static int snd_emu10k1_shared_spdif_put(369,12483 -static snd_kcontrol_new_t snd_emu10k1_shared_spdif __devinitdata 400,13303 -static snd_kcontrol_new_t snd_audigy_shared_spdif __devinitdata 409,13580 -static void snd_emu10k1_mixer_free_ac97(420,13862 -static int remove_ctl(428,13985 -static snd_kcontrol_t *ctl_find(437,14202 -static int rename_ctl(446,14433 -int __devinit snd_emu10k1_mixer(456,14632 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emu10k1_synth.c,214 -int snd_emu10k1_synth_new_device(31,1097 -int snd_emu10k1_synth_delete_device(79,2258 -static int __init alsa_emu10k1_synth_init(104,2690 -static void __exit alsa_emu10k1_synth_exit(114,2961 -module_init(119,3082 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emu10k1_main.c,1768 -void snd_emu10k1_voice_init(49,1503 -static int __devinit snd_emu10k1_init(94,3202 -static int snd_emu10k1_done(303,9802 -#define HOOKN_BIT 362,11618 -#define HANDN_BIT 363,11648 -#define PULSEN_BIT 364,11678 -#define EC_GDI1 366,11710 -#define EC_GDI0 367,11738 -#define EC_NUM_CONTROL_BITS 369,11767 -#define EC_AC3_DATA_SELN 371,11799 -#define EC_EE_DATA_SEL 372,11832 -#define EC_EE_CNTRL_SELN 373,11864 -#define EC_EECLK 374,11897 -#define EC_EECS 375,11923 -#define EC_EESDO 376,11949 -#define EC_TRIM_CSN 377,11975 -#define EC_TRIM_SCLK 378,12004 -#define EC_TRIM_SDATA 379,12034 -#define EC_TRIM_MUTEN 380,12065 -#define EC_ADCCAL 381,12096 -#define EC_ADCRSTN 382,12123 -#define EC_DACCAL 383,12151 -#define EC_DACMUTEN 384,12178 -#define EC_LEDN 385,12207 -#define EC_SPDIF0_SEL_SHIFT 387,12234 -#define EC_SPDIF1_SEL_SHIFT 388,12265 -#define EC_SPDIF0_SEL_MASK 389,12296 -#define EC_SPDIF1_SEL_MASK 390,12353 -#define EC_SPDIF0_SELECT(EC_SPDIF0_SELECT391,12410 -#define EC_SPDIF1_SELECT(EC_SPDIF1_SELECT392,12492 -#define EC_CURRENT_PROM_VERSION 393,12574 -#define EC_EEPROM_SIZE 397,12722 -#define EC_PROM_VERSION_ADDR 400,12846 -#define EC_BOARDREV0_ADDR 401,12922 -#define EC_BOARDREV1_ADDR 402,12976 -#define EC_LAST_PROMFILE_ADDR 404,13031 -#define EC_SERIALNUM_ADDR 406,13067 -#define EC_CHECKSUM_ADDR 411,13301 -#define EC_RAW_RUN_MODE 418,13551 -#define EC_DEFAULT_ADC_GAIN 422,13642 -#define EC_DEFAULT_SPDIF0_SEL 423,13677 -#define EC_DEFAULT_SPDIF1_SEL 424,13711 -static void snd_emu10k1_ecard_write(434,14135 -static void snd_emu10k1_ecard_setadcgain(472,15243 -static int __devinit snd_emu10k1_ecard_init(500,15969 -static int snd_emu10k1_free(544,17322 -static int snd_emu10k1_dev_free(568,17947 -int __devinit snd_emu10k1_create(574,18076 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emu10k1.c,652 -#define ENABLE_SYNTH38,1378 -static int index[42,1440 -static char *id[43,1509 -static int enable[44,1582 -static int extin[45,1664 -static int extout[46,1729 -static int seq_ports[47,1795 -static int max_synth_voices[48,1864 -static int max_buffer_size[49,1941 -static int enable_ir[50,2018 -static int boot_devs;51,2087 -static struct pci_device_id snd_emu10k1_ids[72,3212 -static int __devinit snd_card_emu10k1_probe(80,3453 -static void __devexit snd_card_emu10k1_remove(183,6064 -static struct pci_driver driver 189,6203 -static int __init alsa_card_emu10k1_init(196,6383 -static void __exit alsa_card_emu10k1_exit(201,6469 -module_init(206,6555 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/irq.c,43 -irqreturn_t snd_emu10k1_interrupt(33,1034 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emu10k1_callback.c,735 - V_FREE=26,928 - V_FREE=0, V_OFF,26,928 - V_FREE=0, V_OFF, V_RELEASED,26,928 - V_FREE=0, V_OFF, V_RELEASED, V_PLAYING,26,928 - V_FREE=0, V_OFF, V_RELEASED, V_PLAYING, V_END26,928 -typedef struct best_voice best_voice30,1020 -} best_voice_t;best_voice_t33,1080 -#define LIMITVALUE(LIMITVALUE55,1894 -#define LIMITMAX(LIMITMAX56,1996 -static snd_emux_operators_t emu10k1_ops 62,2090 -snd_emu10k1_ops_setup(76,2433 -snd_emu10k1_synth_get_voice(88,2604 -release_voice(126,3368 -terminate_voice(143,3755 -free_voice(162,4125 -update_voice(184,4638 -lookup_voices(213,5498 -get_voice(278,6971 -start_voice(311,7587 -trigger_voice(466,12089 -#define MOD_SENSE 494,12742 -set_fmmod(498,12820 -set_fm2frq2(516,13308 -set_filterQ(534,13787 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emuproc.c,458 -static void snd_emu10k1_proc_spdif_status(34,1080 -static void snd_emu10k1_proc_read(71,3210 -static void snd_emu10k1_proc_acode_read(224,7553 -#define TOTAL_SIZE_GPR 258,8560 -#define TOTAL_SIZE_TANKMEM_DATA 259,8594 -#define TOTAL_SIZE_TANKMEM_ADDR 260,8635 -#define TOTAL_SIZE_CODE 261,8676 -static long snd_emu10k1_fx8010_read(263,8712 -static struct snd_info_entry_ops snd_emu10k1_proc_ops_fx8010 304,9881 -int __devinit snd_emu10k1_proc_init(308,9984 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/emupcm.c,3988 -static void snd_emu10k1_pcm_interrupt(37,1141 -static void snd_emu10k1_pcm_ac97adc_interrupt(54,1606 -static void snd_emu10k1_pcm_ac97mic_interrupt(65,1883 -static void snd_emu10k1_pcm_efx_interrupt(76,2168 -static int snd_emu10k1_pcm_channel_alloc(87,2449 -static unsigned int capture_period_sizes[130,3781 -static snd_pcm_hw_constraint_list_t hw_constraints_capture_period_sizes 141,4066 -static unsigned int capture_rates[147,4202 -static snd_pcm_hw_constraint_list_t hw_constraints_capture_rates 151,4302 -static unsigned int snd_emu10k1_capture_rate_reg(157,4423 -static unsigned int snd_emu10k1_audigy_capture_rate_reg(174,4896 -static unsigned int emu10k1_calc_pitch_target(192,5449 -#define PITCH_48000 201,5663 -#define PITCH_96000 202,5694 -#define PITCH_85000 203,5725 -#define PITCH_80726 204,5756 -#define PITCH_67882 205,5787 -#define PITCH_57081 206,5818 -static unsigned int emu10k1_select_interprom(208,5850 -static void snd_emu10k1_pcm_init_voice(229,6419 -static int snd_emu10k1_playback_hw_params(350,10624 -static int snd_emu10k1_playback_hw_free(376,11514 -static int snd_emu10k1_playback_prepare(406,12269 -static int snd_emu10k1_capture_hw_params(429,13043 -static int snd_emu10k1_capture_hw_free(435,13238 -static int snd_emu10k1_capture_prepare(440,13358 -static void snd_emu10k1_playback_invalidate_cache(486,14737 -static void snd_emu10k1_playback_trigger_voice(518,15677 -static void snd_emu10k1_playback_stop_voice(549,16903 -static int snd_emu10k1_playback_trigger(565,17424 -static int snd_emu10k1_capture_trigger(601,18661 -static snd_pcm_uframes_t snd_emu10k1_playback_pointer(661,20433 -static snd_pcm_uframes_t snd_emu10k1_capture_pointer(688,21308 -static snd_pcm_hardware_t snd_emu10k1_playback 709,21875 -static snd_pcm_hardware_t snd_emu10k1_capture 732,22494 -static void snd_emu10k1_pcm_mixer_notify1(755,22999 -static void snd_emu10k1_pcm_mixer_notify(769,23449 -static void snd_emu10k1_pcm_free_substream(776,23750 -static int snd_emu10k1_playback_open(784,23899 -static int snd_emu10k1_playback_close(821,25144 -static int snd_emu10k1_capture_open(831,25426 -static int snd_emu10k1_capture_close(858,26452 -static int snd_emu10k1_capture_mic_open(867,26660 -static int snd_emu10k1_capture_mic_close(896,27749 -static int snd_emu10k1_capture_efx_open(905,27965 -static int snd_emu10k1_capture_efx_close(946,29418 -static snd_pcm_ops_t snd_emu10k1_playback_ops 955,29634 -static snd_pcm_ops_t snd_emu10k1_capture_ops 967,30049 -static void snd_emu10k1_pcm_free(978,30421 -int __devinit snd_emu10k1_pcm(985,30574 -static snd_pcm_ops_t snd_emu10k1_capture_mic_ops 1021,31692 -static void snd_emu10k1_pcm_mic_free(1032,32076 -int __devinit snd_emu10k1_pcm_mic(1039,32237 -static int snd_emu10k1_pcm_efx_voices_mask_info(1066,32853 -static int snd_emu10k1_pcm_efx_voices_mask_get(1077,33182 -static int snd_emu10k1_pcm_efx_voices_mask_put(1090,33600 -static snd_kcontrol_new_t snd_emu10k1_pcm_efx_voices_mask 1114,34325 -static snd_pcm_ops_t snd_emu10k1_capture_efx_ops 1122,34591 -#define INITIAL_TRAM_SHIFT 1136,34996 -#define INITIAL_TRAM_POS(INITIAL_TRAM_POS1137,35030 -static void snd_emu10k1_fx8010_playback_irq(1139,35104 -static void snd_emu10k1_fx8010_playback_tram_poke1(1145,35273 -static void fx8010_pb_trans_copy(1165,35799 -static int snd_emu10k1_fx8010_playback_transfer(1194,36971 -static int snd_emu10k1_fx8010_playback_hw_params(1203,37276 -static int snd_emu10k1_fx8010_playback_hw_free(1209,37480 -static int snd_emu10k1_fx8010_playback_prepare(1221,37869 -static int snd_emu10k1_fx8010_playback_trigger(1245,39313 -static snd_pcm_uframes_t snd_emu10k1_fx8010_playback_pointer(1290,40767 -static snd_pcm_hardware_t snd_emu10k1_fx8010_playback 1302,41250 -static int snd_emu10k1_fx8010_playback_open(1320,41768 -static int snd_emu10k1_fx8010_playback_close(1339,42373 -static snd_pcm_ops_t snd_emu10k1_fx8010_playback_ops 1350,42675 -static void snd_emu10k1_pcm_efx_free(1362,43159 -int __devinit snd_emu10k1_pcm_efx(1369,43320 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/emu10k1/voice.c,105 -static int voice_alloc(33,1046 -int snd_emu10k1_voice_alloc(67,1777 -int snd_emu10k1_voice_free(99,2592 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ymfpci/ymfpci_main.c,6030 -static inline u8 snd_ymfpci_readb(55,1383 -static inline void snd_ymfpci_writeb(60,1495 -static inline u16 snd_ymfpci_readw(65,1617 -static inline void snd_ymfpci_writew(70,1730 -static inline u32 snd_ymfpci_readl(75,1853 -static inline void snd_ymfpci_writel(80,1966 -static int snd_ymfpci_codec_ready(85,2089 -static void snd_ymfpci_codec_write(101,2595 -static u16 snd_ymfpci_codec_read(111,2851 -static u32 snd_ymfpci_calc_delta(132,3361 -static u32 def_rate[145,3664 -static u32 snd_ymfpci_calc_lpfK(149,3747 -static u32 snd_ymfpci_calc_lpfQ(165,4094 -static void snd_ymfpci_hw_start(185,4442 -static void snd_ymfpci_hw_stop(199,4827 -static int voice_alloc(225,5433 -int snd_ymfpci_voice_alloc(261,6186 -int snd_ymfpci_voice_free(281,6722 -static void snd_ymfpci_pcm_interrupt(299,7130 -static void snd_ymfpci_pcm_capture_interrupt(328,7973 -static int snd_ymfpci_playback_trigger(355,8880 -static int snd_ymfpci_capture_trigger(392,9950 -static int snd_ymfpci_pcm_voice_alloc(424,10844 -static void snd_ymfpci_pcm_init_voice(454,11755 -static int __devinit snd_ymfpci_ac3_init(540,13984 -static int snd_ymfpci_ac3_done(562,14760 -static int snd_ymfpci_playback_hw_params(576,15141 -static int snd_ymfpci_playback_hw_free(590,15569 -static int snd_ymfpci_playback_prepare(614,16184 -static int snd_ymfpci_capture_hw_params(637,16893 -static int snd_ymfpci_capture_hw_free(643,17086 -static int snd_ymfpci_capture_prepare(652,17342 -static snd_pcm_uframes_t snd_ymfpci_playback_pointer(696,18552 -static snd_pcm_uframes_t snd_ymfpci_capture_pointer(708,18937 -static void snd_ymfpci_irq_wait(719,19318 -static irqreturn_t snd_ymfpci_interrupt(736,19757 -static snd_pcm_hardware_t snd_ymfpci_playback 786,21327 -static snd_pcm_hardware_t snd_ymfpci_capture 808,21980 -static void snd_ymfpci_pcm_free_substream(830,22631 -static int snd_ymfpci_playback_open_1(838,22779 -static void ymfpci_open_extension(859,23444 -static void ymfpci_close_extension(872,23849 -static int snd_ymfpci_playback_open(883,24177 -static int snd_ymfpci_playback_spdif_open(904,24723 -static int snd_ymfpci_playback_4ch_open(931,25627 -static int snd_ymfpci_capture_open(950,26122 -static int snd_ymfpci_capture_rec_open(974,26942 -static int snd_ymfpci_capture_ac97_open(979,27066 -static int snd_ymfpci_playback_close_1(984,27191 -static int snd_ymfpci_playback_close(989,27279 -static int snd_ymfpci_playback_spdif_close(1003,27689 -static int snd_ymfpci_playback_4ch_close(1020,28355 -static int snd_ymfpci_capture_close(1033,28692 -static snd_pcm_ops_t snd_ymfpci_playback_ops 1046,29039 -static snd_pcm_ops_t snd_ymfpci_capture_rec_ops 1057,29411 -static void snd_ymfpci_pcm_free(1068,29783 -int __devinit snd_ymfpci_pcm(1075,29936 -static snd_pcm_ops_t snd_ymfpci_capture_ac97_ops 1103,30637 -static void snd_ymfpci_pcm2_free(1114,31011 -int __devinit snd_ymfpci_pcm2(1121,31166 -static snd_pcm_ops_t snd_ymfpci_playback_spdif_ops 1149,31885 -static void snd_ymfpci_pcm_spdif_free(1160,32275 -int __devinit snd_ymfpci_pcm_spdif(1167,32440 -static snd_pcm_ops_t snd_ymfpci_playback_4ch_ops 1194,33104 -static void snd_ymfpci_pcm_4ch_free(1205,33488 -int __devinit snd_ymfpci_pcm_4ch(1212,33649 -static int snd_ymfpci_spdif_default_info(1239,34305 -static int snd_ymfpci_spdif_default_get(1246,34479 -static int snd_ymfpci_spdif_default_put(1258,34852 -static snd_kcontrol_new_t snd_ymfpci_spdif_default __devinitdata 1276,35444 -static int snd_ymfpci_spdif_mask_info(1285,35732 -static int snd_ymfpci_spdif_mask_get(1292,35903 -static snd_kcontrol_new_t snd_ymfpci_spdif_mask __devinitdata 1304,36226 -static int snd_ymfpci_spdif_stream_info(1313,36507 -static int snd_ymfpci_spdif_stream_get(1320,36680 -static int snd_ymfpci_spdif_stream_put(1332,37060 -static snd_kcontrol_new_t snd_ymfpci_spdif_stream __devinitdata 1350,37635 -static int snd_ymfpci_drec_source_info(1360,37999 -static int snd_ymfpci_drec_source_get(1373,38411 -static int snd_ymfpci_drec_source_put(1388,38824 -static snd_kcontrol_new_t snd_ymfpci_drec_source __devinitdata 1404,39344 -#define YMFPCI_SINGLE(YMFPCI_SINGLE1417,39673 -static int snd_ymfpci_info_single(1423,39916 -static int snd_ymfpci_get_single(1439,40348 -static int snd_ymfpci_put_single(1456,40895 -#define YMFPCI_DOUBLE(YMFPCI_DOUBLE1482,41614 -static int snd_ymfpci_info_double(1488,41857 -static int snd_ymfpci_get_double(1502,42256 -static int snd_ymfpci_put_double(1523,43009 -static int snd_ymfpci_info_dup4ch(1553,43863 -static int snd_ymfpci_get_dup4ch(1562,44093 -static int snd_ymfpci_put_dup4ch(1569,44304 -static snd_kcontrol_new_t snd_ymfpci_controls[1580,44617 -static snd_kcontrol_new_t snd_ymfpci_controls[] __devinitdata 1580,44617 -static int snd_ymfpci_get_gpio_out(1610,45935 -static int snd_ymfpci_set_gpio_out(1630,46619 -static int snd_ymfpci_gpio_sw_info(1647,47124 -static int snd_ymfpci_gpio_sw_get(1656,47354 -static int snd_ymfpci_gpio_sw_put(1664,47622 -static snd_kcontrol_new_t snd_ymfpci_rear_shared __devinitdata 1677,48060 -static void snd_ymfpci_mixer_free_ac97_bus(1691,48355 -static void snd_ymfpci_mixer_free_ac97(1697,48481 -int __devinit snd_ymfpci_mixer(1703,48597 -static int snd_ymfpci_timer_start(1763,50310 -static int snd_ymfpci_timer_stop(1780,50755 -static int snd_ymfpci_timer_precise_resolution(1792,51038 -static struct _snd_timer_hardware snd_ymfpci_timer_hw 1800,51199 -int __devinit snd_ymfpci_timer(1809,51485 -static void snd_ymfpci_proc_read(1834,52008 -static int __devinit snd_ymfpci_proc_init(1845,52302 -static void snd_ymfpci_aclink_reset(1858,52575 -static void snd_ymfpci_enable_dsp(1876,53044 -static void snd_ymfpci_disable_dsp(1881,53152 -static void snd_ymfpci_download_image(1898,53493 -static int __devinit snd_ymfpci_memalloc(1938,54748 -static int snd_ymfpci_free(2036,58858 -static int snd_ymfpci_dev_free(2105,60696 -static int saved_regs_index[2112,60841 -#define YDSXGR_NUM_SAVED_REGS 2139,61396 -static int snd_ymfpci_suspend(2141,61456 -static int snd_ymfpci_resume(2160,62090 -int __devinit snd_ymfpci_create(2189,62886 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ymfpci/ymfpci_image.h,141 -#define _HWMCODE_2,18 -static unsigned long DspInst[4,37 -static unsigned long CntrlInst[15,486 -static unsigned long CntrlInst1E[794,32281 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ymfpci/ymfpci.c,561 -static int index[43,1374 -static char *id[44,1443 -static int enable[45,1516 -static long fm_port[46,1598 -static long mpu_port[47,1632 -static long joystick_port[49,1691 -static int rear_switch[51,1738 -static int boot_devs;52,1775 -static struct pci_device_id snd_ymfpci_ids[71,2620 -static int __devinit snd_card_ymfpci_probe(83,3188 -static void __devexit snd_card_ymfpci_remove(312,9666 -static struct pci_driver driver 318,9804 -static int __init alsa_card_ymfpci_init(326,10005 -static void __exit alsa_card_ymfpci_exit(331,10090 -module_init(336,10175 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/rme9652/rme9652.c,9739 -static int index[41,1274 -static char *id[42,1343 -static int enable[43,1416 -static int precise_ptr[44,1498 -static int boot_devs;45,1598 -#define RME9652_NCHANNELS 70,2757 -#define RME9636_NCHANNELS 71,2792 -#define RME9652_SYNC_FROM_SPDIF 75,2902 -#define RME9652_SYNC_FROM_ADAT1 76,2936 -#define RME9652_SYNC_FROM_ADAT2 77,2970 -#define RME9652_SYNC_FROM_ADAT3 78,3004 -#define RME9652_SPDIFIN_OPTICAL 82,3079 -#define RME9652_SPDIFIN_COAXIAL 83,3135 -#define RME9652_SPDIFIN_INTERN 84,3189 -#define RME9652_IRQ 88,3311 -#define RME9652_lock_2 89,3385 -#define RME9652_lock_1 90,3457 -#define RME9652_lock_0 91,3529 -#define RME9652_fs48 92,3601 -#define RME9652_wsel_rd 93,3677 -#define RME9652_sync_2 95,3847 -#define RME9652_sync_1 96,3924 -#define RME9652_sync_0 97,4001 -#define RME9652_DS_rd 98,4078 -#define RME9652_tc_busy 99,4153 -#define RME9652_tc_out 100,4231 -#define RME9652_F_0 101,4289 -#define RME9652_F_1 102,4361 -#define RME9652_F_2 103,4433 -#define RME9652_ERF 104,4501 -#define RME9652_buffer_id 105,4579 -#define RME9652_tc_valid 106,4658 -#define RME9652_SPDIF_READ 107,4743 -#define RME9652_sync 109,4836 -#define RME9652_lock 110,4906 -#define RME9652_F 111,4976 -#define rme9652_decode_spdif_rate(rme9652_decode_spdif_rate112,5034 -#define RME9652_buf_pos 116,5120 -#define RME9652_REV15_buf_pos(RME9652_REV15_buf_pos122,5272 -#define PCI_VENDOR_ID_XILINX 125,5382 -#define PCI_DEVICE_ID_XILINX_HAMMERFALL 128,5466 -#define RME9652_IO_EXTENT 135,5648 -#define RME9652_init_buffer 137,5684 -#define RME9652_play_buffer 138,5720 -#define RME9652_rec_buffer 139,5795 -#define RME9652_control_register 140,5870 -#define RME9652_irq_clear 141,5907 -#define RME9652_time_code 142,5944 -#define RME9652_thru_base 143,6020 -#define RME9652_status_register 151,6258 -#define RME9652_start_bit 156,6353 -#define RME9652_Master 158,6502 -#define RME9652_IE 159,6575 -#define RME9652_freq 160,6627 -#define RME9652_freq1 161,6707 -#define RME9652_DS 162,6779 -#define RME9652_PRO 163,6864 -#define RME9652_EMP 164,6940 -#define RME9652_Dolby 165,7001 -#define RME9652_opt_out 166,7071 -#define RME9652_wsel 167,7161 -#define RME9652_inp_0 168,7242 -#define RME9652_inp_1 169,7316 -#define RME9652_SyncPref_ADAT2 170,7394 -#define RME9652_SyncPref_ADAT3 171,7436 -#define RME9652_SPDIF_RESET 172,7478 -#define RME9652_SPDIF_SELECT 173,7562 -#define RME9652_SPDIF_CLOCK 174,7605 -#define RME9652_SPDIF_WRITE 175,7648 -#define RME9652_ADAT1_INTERNAL 176,7691 -#define RME9652_latency 180,7870 -#define rme9652_encode_latency(rme9652_encode_latency181,7910 -#define rme9652_decode_latency(rme9652_decode_latency182,7960 -#define rme9652_running_double_speed(rme9652_running_double_speed183,8010 -#define RME9652_inp 184,8087 -#define rme9652_encode_spdif_in(rme9652_encode_spdif_in185,8152 -#define rme9652_decode_spdif_in(rme9652_decode_spdif_in186,8203 -#define RME9652_SyncPref_Mask 188,8255 -#define RME9652_SyncPref_ADAT1 189,8338 -#define RME9652_SyncPref_SPDIF 190,8374 -#define RME9652_CHANNEL_BUFFER_SAMPLES 194,8509 -#define RME9652_CHANNEL_BUFFER_BYTES 195,8559 -#define RME9652_DMA_AREA_BYTES 206,8961 -#define RME9652_DMA_AREA_KILOBYTES 207,9047 -typedef struct snd_rme9652 snd_rme9652209,9113 -} rme9652_t;rme9652_t262,10604 -static char channel_map_9652_ss[272,11015 -static char channel_map_9636_ss[277,11154 -static char channel_map_9652_ds[285,11366 -static char channel_map_9636_ds[294,11604 -static int snd_hammerfall_get_buffer(303,11839 -static void snd_hammerfall_free_buffer(315,12212 -static struct pci_device_id snd_rme9652_ids[322,12378 -static inline void rme9652_write(334,12611 -static inline unsigned int rme9652_read(339,12724 -static inline int snd_rme9652_use_is_exclusive(344,12836 -static inline int rme9652_adat_sample_rate(358,13187 -static inline void rme9652_compute_period_size(369,13500 -static snd_pcm_uframes_t rme9652_hw_pointer(380,13812 -static inline void rme9652_reset_hw_pointer(427,15195 -static inline void rme9652_start(444,15606 -static inline void rme9652_stop(450,15782 -static int rme9652_set_interrupt_interval(456,15958 -static int rme9652_set_rate(490,16493 -static void rme9652_set_thru(578,18484 -static int rme9652_set_passthru(619,19355 -static void rme9652_spdif_set_bit 647,19927 -static void rme9652_spdif_write_byte 657,20184 -static int rme9652_spdif_read_byte 673,20604 -static void rme9652_write_spdif_codec 691,20989 -static int rme9652_spdif_read_codec 701,21339 -static void rme9652_initialize_spdif_receiver 718,21856 -static inline int rme9652_spdif_sample_rate(729,22153 -static u32 snd_rme9652_convert_from_aes(797,23494 -static void snd_rme9652_convert_to_aes(809,23913 -static int snd_rme9652_control_spdif_info(819,24302 -static int snd_rme9652_control_spdif_get(826,24477 -static int snd_rme9652_control_spdif_put(834,24722 -static int snd_rme9652_control_spdif_stream_info(848,25114 -static int snd_rme9652_control_spdif_stream_get(855,25296 -static int snd_rme9652_control_spdif_stream_put(863,25555 -static int snd_rme9652_control_spdif_mask_info(879,26129 -static int snd_rme9652_control_spdif_mask_get(886,26309 -#define RME9652_ADAT1_IN(RME9652_ADAT1_IN892,26492 -static unsigned int rme9652_adat1_in(898,26718 -static int rme9652_set_adat1_input(905,26861 -static int snd_rme9652_info_adat1_in(930,27365 -static int snd_rme9652_get_adat1_in(943,27775 -static int snd_rme9652_put_adat1_in(953,28071 -#define RME9652_SPDIF_IN(RME9652_SPDIF_IN970,28546 -static unsigned int rme9652_spdif_in(975,28768 -static int rme9652_set_spdif_input(981,28915 -static int snd_rme9652_info_spdif_in(1001,29308 -static int snd_rme9652_get_spdif_in(1014,29729 -static int snd_rme9652_put_spdif_in(1024,30025 -#define RME9652_SPDIF_OUT(RME9652_SPDIF_OUT1041,30500 -static int rme9652_spdif_out(1046,30726 -static int rme9652_set_spdif_output(1051,30843 -static int snd_rme9652_info_spdif_out(1074,31257 -static int snd_rme9652_get_spdif_out(1083,31491 -static int snd_rme9652_put_spdif_out(1093,31787 -#define RME9652_SYNC_MODE(RME9652_SYNC_MODE1109,32254 -static int rme9652_sync_mode(1114,32480 -static int rme9652_set_sync_mode(1125,32690 -static int snd_rme9652_info_sync_mode(1157,33293 -static int snd_rme9652_get_sync_mode(1170,33719 -static int snd_rme9652_put_sync_mode(1180,34017 -#define RME9652_SYNC_PREF(RME9652_SYNC_PREF1194,34421 -static int rme9652_sync_pref(1199,34647 -static int rme9652_set_sync_pref(1215,35054 -static int snd_rme9652_info_sync_pref(1248,35794 -static int snd_rme9652_get_sync_pref(1262,36393 -static int snd_rme9652_put_sync_pref(1272,36691 -static int snd_rme9652_info_thru(1289,37222 -static int snd_rme9652_get_thru(1299,37521 -static int snd_rme9652_put_thru(1311,37847 -#define RME9652_PASSTHRU(RME9652_PASSTHRU1339,38535 -static int snd_rme9652_info_passthru(1345,38761 -static int snd_rme9652_get_passthru(1354,38995 -static int snd_rme9652_put_passthru(1364,39280 -#define RME9652_SPDIF_RATE(RME9652_SPDIF_RATE1385,39831 -static int snd_rme9652_info_spdif_rate(1391,40101 -static int snd_rme9652_get_spdif_rate(1400,40340 -#define RME9652_ADAT_SYNC(RME9652_ADAT_SYNC1410,40645 -static int snd_rme9652_info_adat_sync(1416,40941 -static int snd_rme9652_get_adat_sync(1429,41440 -#define RME9652_TC_VALID(RME9652_TC_VALID1446,42077 -static int snd_rme9652_info_tc_valid(1452,42341 -static int snd_rme9652_get_tc_valid(1461,42574 -static int snd_rme9652_get_tc_value(1474,42972 -static snd_kcontrol_new_t snd_rme9652_controls[1527,43931 -static snd_kcontrol_new_t snd_rme9652_adat3_check 1582,45828 -static snd_kcontrol_new_t snd_rme9652_adat1_input 1585,45926 -int snd_rme9652_create_controls(1588,46022 -snd_rme9652_proc_read(1617,46868 -static void __devinit snd_rme9652_proc_init(1789,51682 -static void snd_rme9652_free_buffers(1797,51908 -static int snd_rme9652_free(1803,52111 -static int __devinit snd_rme9652_initialize_memory(1819,52445 -static void snd_rme9652_set_defaults(1847,53465 -static irqreturn_t snd_rme9652_interrupt(1888,54427 -static snd_pcm_uframes_t snd_rme9652_hw_pointer(1908,54976 -static char *rme9652_channel_buffer_location(1914,55155 -static int snd_rme9652_playback_copy(1936,55692 -static int snd_rme9652_capture_copy(1953,56269 -static int snd_rme9652_hw_silence(1970,56842 -static int snd_rme9652_reset(1984,57284 -static int snd_rme9652_hw_params(2012,58049 -static int snd_rme9652_channel_info(2077,59810 -static int snd_rme9652_ioctl(2095,60231 -static void rme9652_silence_playback(2115,60629 -static int snd_rme9652_trigger(2120,60753 -static int snd_rme9652_prepare(2184,62401 -static snd_pcm_hardware_t snd_rme9652_playback_subinfo 2197,62734 -static snd_pcm_hardware_t snd_rme9652_capture_subinfo 2221,63397 -static unsigned int period_sizes[2244,64029 -static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes 2246,64114 -static int snd_rme9652_hw_rule_channels(2252,64256 -static int snd_rme9652_hw_rule_channels_rate(2261,64588 -static int snd_rme9652_hw_rule_rate_channels(2285,65248 -static int snd_rme9652_playback_open(2309,65880 -static int snd_rme9652_playback_release(2351,67361 -static int snd_rme9652_capture_open(2369,67834 -static int snd_rme9652_capture_release(2406,69060 -static snd_pcm_ops_t snd_rme9652_playback_ops 2419,69337 -static snd_pcm_ops_t snd_rme9652_capture_ops 2431,69709 -static int __devinit snd_rme9652_create_pcm(2442,70041 -static int __devinit snd_rme9652_create(2466,70578 -static void snd_rme9652_card_free(2597,73844 -static int __devinit snd_rme9652_probe(2605,74001 -static void __devexit snd_rme9652_remove(2652,74951 -static struct pci_driver driver 2658,75085 -static int __init alsa_card_hammerfall_init(2665,75272 -static void __exit alsa_card_hammerfall_exit(2670,75361 -module_init(2675,75450 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/rme9652/hdsp.c,20806 -static int index[46,1426 -static char *id[47,1495 -static int enable[48,1568 -static int precise_ptr[49,1650 -static int line_outs_monitor[50,1750 -static int boot_devs;51,1870 -#define HDSP_MAX_CHANNELS 70,2846 -#define HDSP_MAX_DS_CHANNELS 71,2882 -#define HDSP_MAX_QS_CHANNELS 72,2918 -#define DIGIFACE_SS_CHANNELS 73,2953 -#define DIGIFACE_DS_CHANNELS 74,2989 -#define MULTIFACE_SS_CHANNELS 75,3025 -#define MULTIFACE_DS_CHANNELS 76,3061 -#define H9652_SS_CHANNELS 77,3097 -#define H9652_DS_CHANNELS 78,3133 -#define H9632_SS_CHANNELS 82,3274 -#define H9632_DS_CHANNELS 83,3304 -#define H9632_QS_CHANNELS 84,3333 -#define HDSP_resetPointer 88,3444 -#define HDSP_outputBufferAddress 89,3486 -#define HDSP_inputBufferAddress 90,3522 -#define HDSP_controlRegister 91,3558 -#define HDSP_interruptConfirmation 92,3591 -#define HDSP_outputEnable 93,3629 -#define HDSP_control2Reg 94,3662 -#define HDSP_midiDataOut0 95,3692 -#define HDSP_midiDataOut1 96,3725 -#define HDSP_fifoData 97,3758 -#define HDSP_inputEnable 98,3788 -#define HDSP_statusRegister 103,3900 -#define HDSP_timecode 104,3933 -#define HDSP_status2Register 105,3966 -#define HDSP_midiDataOut0 106,3999 -#define HDSP_midiDataOut1 107,4032 -#define HDSP_midiDataIn0 108,4065 -#define HDSP_midiDataIn1 109,4098 -#define HDSP_midiStatusOut0 110,4131 -#define HDSP_midiStatusOut1 111,4164 -#define HDSP_midiStatusIn0 112,4197 -#define HDSP_midiStatusIn1 113,4230 -#define HDSP_fifoStatus 114,4263 -#define HDSP_playbackPeakLevel 122,4550 -#define HDSP_inputPeakLevel 123,4613 -#define HDSP_outputPeakLevel 124,4676 -#define HDSP_playbackRmsLevel 125,4743 -#define HDSP_inputRmsLevel 126,4806 -#define HDSP_9652_peakBase 136,5104 -#define HDSP_9652_rmsBase 137,5137 -#define HDSP_9632_metersBase 140,5210 -#define HDSP_IO_EXTENT 142,5245 -#define HDSP_TMS 146,5308 -#define HDSP_TCK 147,5345 -#define HDSP_TDI 148,5382 -#define HDSP_JTAG 149,5419 -#define HDSP_PWDN 150,5456 -#define HDSP_PROGRAM 151,5493 -#define HDSP_CONFIG_MODE_0 152,5528 -#define HDSP_CONFIG_MODE_1 153,5561 -#define HDSP_VERSION_BIT 154,5594 -#define HDSP_BIGENDIAN_MODE 155,5625 -#define HDSP_RD_MULTIPLE 156,5663 -#define HDSP_9652_ENABLE_MIXER 157,5701 -#define HDSP_TDO 158,5739 -#define HDSP_S_PROGRAM 160,5783 -#define HDSP_S_LOAD 161,5845 -#define HDSP_Start 165,5930 -#define HDSP_Latency0 166,5991 -#define HDSP_Latency1 167,6094 -#define HDSP_Latency2 168,6156 -#define HDSP_ClockModeMaster 169,6218 -#define HDSP_AudioInterruptEnable 170,6293 -#define HDSP_Frequency0 171,6361 -#define HDSP_Frequency1 172,6457 -#define HDSP_DoubleSpeed 173,6526 -#define HDSP_SPDIFProfessional 174,6605 -#define HDSP_SPDIFEmphasis 175,6680 -#define HDSP_SPDIFNonAudio 176,6741 -#define HDSP_SPDIFOpticalOut 177,6801 -#define HDSP_SyncRef2 178,6894 -#define HDSP_SPDIFInputSelect0 179,6937 -#define HDSP_SPDIFInputSelect1 180,6980 -#define HDSP_SyncRef0 181,7023 -#define HDSP_SyncRef1 182,7066 -#define HDSP_AnalogExtensionBoard 183,7108 -#define HDSP_XLRBreakoutCable 184,7173 -#define HDSP_Midi0InterruptEnable 185,7237 -#define HDSP_Midi1InterruptEnable 186,7279 -#define HDSP_LineOut 187,7321 -#define HDSP_ADGain0 188,7363 -#define HDSP_ADGain1 189,7428 -#define HDSP_DAGain0 190,7460 -#define HDSP_DAGain1 191,7492 -#define HDSP_PhoneGain0 192,7524 -#define HDSP_PhoneGain1 193,7559 -#define HDSP_QuadSpeed 194,7594 -#define HDSP_ADGainMask 196,7631 -#define HDSP_ADGainMinus10dBV 197,7689 -#define HDSP_ADGainPlus4dBu 198,7736 -#define HDSP_ADGainLowGain 199,7781 -#define HDSP_DAGainMask 201,7815 -#define HDSP_DAGainHighGain 202,7875 -#define HDSP_DAGainPlus4dBu 203,7924 -#define HDSP_DAGainMinus10dBV 204,7971 -#define HDSP_PhoneGainMask 206,8007 -#define HDSP_PhoneGain0dB 207,8073 -#define HDSP_PhoneGainMinus6dB 208,8125 -#define HDSP_PhoneGainMinus12dB 209,8175 -#define HDSP_LatencyMask 211,8211 -#define HDSP_FrequencyMask 212,8283 -#define HDSP_SPDIFInputMask 214,8378 -#define HDSP_SPDIFInputADAT1 215,8457 -#define HDSP_SPDIFInputCoaxial 216,8491 -#define HDSP_SPDIFInputCdrom 217,8547 -#define HDSP_SPDIFInputAES 218,8603 -#define HDSP_SyncRefMask 220,8683 -#define HDSP_SyncRef_ADAT1 221,8759 -#define HDSP_SyncRef_ADAT2 222,8794 -#define HDSP_SyncRef_ADAT3 223,8842 -#define HDSP_SyncRef_SPDIF 224,8890 -#define HDSP_SyncRef_WORD 225,8952 -#define HDSP_SyncRef_ADAT_SYNC 226,9000 -#define HDSP_CLOCK_SOURCE_AUTOSYNC 230,9091 -#define HDSP_CLOCK_SOURCE_INTERNAL_32KHZ 231,9138 -#define HDSP_CLOCK_SOURCE_INTERNAL_44_1KHZ 232,9185 -#define HDSP_CLOCK_SOURCE_INTERNAL_48KHZ 233,9232 -#define HDSP_CLOCK_SOURCE_INTERNAL_64KHZ 234,9279 -#define HDSP_CLOCK_SOURCE_INTERNAL_88_2KHZ 235,9326 -#define HDSP_CLOCK_SOURCE_INTERNAL_96KHZ 236,9373 -#define HDSP_CLOCK_SOURCE_INTERNAL_128KHZ 237,9420 -#define HDSP_CLOCK_SOURCE_INTERNAL_176_4KHZ 238,9467 -#define HDSP_CLOCK_SOURCE_INTERNAL_192KHZ 239,9514 -#define HDSP_SYNC_FROM_WORD 243,9643 -#define HDSP_SYNC_FROM_SPDIF 244,9678 -#define HDSP_SYNC_FROM_ADAT1 245,9713 -#define HDSP_SYNC_FROM_ADAT_SYNC 246,9748 -#define HDSP_SYNC_FROM_ADAT2 247,9783 -#define HDSP_SYNC_FROM_ADAT3 248,9818 -#define HDSP_SYNC_CHECK_NO_LOCK 252,9878 -#define HDSP_SYNC_CHECK_LOCK 253,9912 -#define HDSP_SYNC_CHECK_SYNC 254,9946 -#define HDSP_AUTOSYNC_FROM_WORD 258,10045 -#define HDSP_AUTOSYNC_FROM_ADAT_SYNC 259,10084 -#define HDSP_AUTOSYNC_FROM_SPDIF 260,10123 -#define HDSP_AUTOSYNC_FROM_NONE 261,10162 -#define HDSP_AUTOSYNC_FROM_ADAT1 262,10201 -#define HDSP_AUTOSYNC_FROM_ADAT2 263,10240 -#define HDSP_AUTOSYNC_FROM_ADAT3 264,10279 -#define HDSP_SPDIFIN_OPTICAL 268,10359 -#define HDSP_SPDIFIN_COAXIAL 269,10414 -#define HDSP_SPDIFIN_INTERNAL 270,10466 -#define HDSP_SPDIFIN_AES 271,10521 -#define HDSP_Frequency32KHz 273,10579 -#define HDSP_Frequency44_1KHz 274,10626 -#define HDSP_Frequency48KHz 275,10673 -#define HDSP_Frequency64KHz 276,10738 -#define HDSP_Frequency88_2KHz 277,10804 -#define HDSP_Frequency96KHz 278,10870 -#define HDSP_Frequency128KHz 280,10974 -#define HDSP_Frequency176_4KHz 281,11055 -#define HDSP_Frequency192KHz 282,11136 -#define hdsp_encode_latency(hdsp_encode_latency284,11234 -#define hdsp_decode_latency(hdsp_decode_latency285,11301 -#define hdsp_encode_spdif_in(hdsp_encode_spdif_in287,11369 -#define hdsp_decode_spdif_in(hdsp_decode_spdif_in288,11417 -#define HDSP_audioIRQPending 292,11494 -#define HDSP_Lock2 293,11533 -#define HDSP_spdifFrequency3 294,11613 -#define HDSP_Lock1 295,11682 -#define HDSP_Lock0 296,11721 -#define HDSP_SPDIFSync 297,11760 -#define HDSP_TimecodeLock 298,11799 -#define HDSP_BufferPositionMask 299,11838 -#define HDSP_Sync2 300,11917 -#define HDSP_Sync1 301,11957 -#define HDSP_Sync0 302,11997 -#define HDSP_DoubleSpeedStatus 303,12037 -#define HDSP_ConfigError 304,12077 -#define HDSP_DllError 305,12117 -#define HDSP_spdifFrequency0 306,12157 -#define HDSP_spdifFrequency1 307,12197 -#define HDSP_spdifFrequency2 308,12237 -#define HDSP_SPDIFErrorFlag 309,12277 -#define HDSP_BufferID 310,12317 -#define HDSP_TimecodeSync 311,12357 -#define HDSP_AEBO 312,12397 -#define HDSP_AEBI 313,12478 -#define HDSP_midi0IRQPending 314,12535 -#define HDSP_midi1IRQPending 315,12576 -#define HDSP_spdifFrequencyMask 317,12617 -#define HDSP_spdifFrequency32KHz 319,12718 -#define HDSP_spdifFrequency44_1KHz 320,12776 -#define HDSP_spdifFrequency48KHz 321,12834 -#define HDSP_spdifFrequency64KHz 323,12914 -#define HDSP_spdifFrequency88_2KHz 324,12972 -#define HDSP_spdifFrequency96KHz 325,13051 -#define HDSP_spdifFrequency128KHz 328,13161 -#define HDSP_spdifFrequency176_4KHz 329,13221 -#define HDSP_spdifFrequency192KHz 330,13278 -#define HDSP_version0 334,13388 -#define HDSP_version1 335,13421 -#define HDSP_version2 336,13454 -#define HDSP_wc_lock 337,13487 -#define HDSP_wc_sync 338,13520 -#define HDSP_inp_freq0 339,13553 -#define HDSP_inp_freq1 340,13586 -#define HDSP_inp_freq2 341,13619 -#define HDSP_SelSyncRef0 342,13652 -#define HDSP_SelSyncRef1 343,13685 -#define HDSP_SelSyncRef2 344,13718 -#define HDSP_wc_valid 346,13753 -#define HDSP_systemFrequencyMask 348,13804 -#define HDSP_systemFrequency32 349,13884 -#define HDSP_systemFrequency44_1 350,13934 -#define HDSP_systemFrequency48 351,13984 -#define HDSP_systemFrequency64 352,14049 -#define HDSP_systemFrequency88_2 353,14099 -#define HDSP_systemFrequency96 354,14164 -#define HDSP_SelSyncRefMask 357,14273 -#define HDSP_SelSyncRef_ADAT1 358,14361 -#define HDSP_SelSyncRef_ADAT2 359,14398 -#define HDSP_SelSyncRef_ADAT3 360,14452 -#define HDSP_SelSyncRef_SPDIF 361,14506 -#define HDSP_SelSyncRef_WORD 362,14577 -#define HDSP_SelSyncRef_ADAT_SYNC 363,14631 -#define HDSP_InitializationComplete 367,14727 -#define HDSP_FirmwareLoaded 368,14771 -#define HDSP_FirmwareCached 369,14811 -#define HDSP_LONG_WAIT 373,14913 -#define HDSP_SHORT_WAIT 374,14942 -#define UNITY_GAIN 376,14971 -#define MINUS_INFINITY_GAIN 377,15018 -#define PCI_VENDOR_ID_XILINX 380,15091 -#define PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP 383,15179 -#define HDSP_CHANNEL_BUFFER_SAMPLES 388,15290 -#define HDSP_CHANNEL_BUFFER_BYTES 389,15337 -#define HDSP_DMA_AREA_BYTES 400,15738 -#define HDSP_DMA_AREA_KILOBYTES 401,15818 -typedef struct _hdsp hdsp_t;hdsp_t403,15878 -typedef struct _hdsp_midi hdsp_midi_t;hdsp_midi_t404,15919 -typedef struct _hdsp_9632_meters hdsp_9632_meters_t;hdsp_9632_meters_t405,15965 -struct _hdsp_9632_meters _hdsp_9632_meters407,16019 -struct _hdsp_midi _hdsp_midi423,16393 -struct _hdsp _hdsp435,16744 -static char channel_map_df_ss[491,19196 -static char channel_map_mf_ss[496,19348 -static char channel_map_ds[506,19563 -static char channel_map_H9632_ss[515,19815 -static char channel_map_H9632_ds[529,20096 -static char channel_map_H9632_qs[543,20371 -static int snd_hammerfall_get_buffer(557,20674 -static void snd_hammerfall_free_buffer(569,21047 -static struct pci_device_id snd_hdsp_ids[576,21213 -static int hdsp_playback_to_output_key 599,22033 -static int hdsp_input_to_output_key 612,22293 -static void hdsp_write(625,22523 -static unsigned int hdsp_read(630,22617 -static int hdsp_check_for_iobox 635,22711 -static int snd_hdsp_load_firmware_from_cache(648,23035 -static int hdsp_get_iobox_version 708,24562 -static int hdsp_check_for_firmware 751,25576 -static int hdsp_fifo_wait(763,25875 -static int hdsp_read_gain 788,26425 -static int hdsp_write_gain(796,26578 -static int snd_hdsp_use_is_exclusive(859,27907 -static int hdsp_external_sample_rate 873,28224 -static int hdsp_spdif_sample_rate(890,28730 -static void hdsp_compute_period_size(922,29659 -static snd_pcm_uframes_t hdsp_hw_pointer(927,29795 -static void hdsp_reset_hw_pointer(944,30156 -static void hdsp_start_audio(949,30251 -static void hdsp_stop_audio(955,30421 -static void hdsp_silence_playback(961,30591 -static int hdsp_set_interrupt_interval(966,30700 -static int hdsp_set_rate(991,31103 -static void hdsp_set_thru(1140,34928 -static int hdsp_set_passthru(1178,35805 -static unsigned char snd_hdsp_midi_read_byte 1206,36512 -static void snd_hdsp_midi_write_byte 1216,36762 -static int snd_hdsp_midi_input_available 1226,37013 -static int snd_hdsp_midi_output_possible 1235,37216 -static void snd_hdsp_flush_midi_input 1252,37551 -static int snd_hdsp_midi_output_write 1259,37710 -static int snd_hdsp_midi_input_read 1287,38436 -static void snd_hdsp_midi_input_trigger(1324,39523 -static void snd_hdsp_midi_output_timer(1348,40167 -static void snd_hdsp_midi_output_trigger(1370,40724 -static int snd_hdsp_midi_input_open(1396,41407 -static int snd_hdsp_midi_output_open(1409,41720 -static int snd_hdsp_midi_input_close(1421,41982 -static int snd_hdsp_midi_output_close(1435,42284 -snd_rawmidi_ops_t snd_hdsp_midi_output 1449,42589 -snd_rawmidi_ops_t snd_hdsp_midi_input 1456,42753 -static int __devinit snd_hdsp_create_midi 1463,42913 -static u32 snd_hdsp_convert_from_aes(1498,44039 -static void snd_hdsp_convert_to_aes(1510,44496 -static int snd_hdsp_control_spdif_info(1520,44923 -static int snd_hdsp_control_spdif_get(1527,45095 -static int snd_hdsp_control_spdif_put(1535,45325 -static int snd_hdsp_control_spdif_stream_info(1549,45693 -static int snd_hdsp_control_spdif_stream_get(1556,45872 -static int snd_hdsp_control_spdif_stream_put(1564,46116 -static int snd_hdsp_control_spdif_mask_info(1580,46673 -static int snd_hdsp_control_spdif_mask_get(1587,46850 -#define HDSP_SPDIF_IN(HDSP_SPDIF_IN1593,47030 -static unsigned int hdsp_spdif_in(1601,47253 -static int hdsp_set_spdif_input(1606,47382 -static int snd_hdsp_info_spdif_in(1614,47619 -static int snd_hdsp_get_spdif_in(1628,48190 -static int snd_hdsp_put_spdif_in(1636,48405 -#define HDSP_SPDIF_OUT(HDSP_SPDIF_OUT1653,48880 -static int hdsp_spdif_out(1658,49097 -static int hdsp_set_spdif_output(1663,49207 -static int snd_hdsp_info_spdif_bits(1674,49470 -static int snd_hdsp_get_spdif_out(1683,49702 -static int snd_hdsp_put_spdif_out(1691,49917 -#define HDSP_SPDIF_PROFESSIONAL(HDSP_SPDIF_PROFESSIONAL1707,50351 -static int hdsp_spdif_professional(1712,50595 -static int hdsp_set_spdif_professional(1717,50716 -static int snd_hdsp_get_spdif_professional(1728,50989 -static int snd_hdsp_put_spdif_professional(1736,51222 -#define HDSP_SPDIF_EMPHASIS(HDSP_SPDIF_EMPHASIS1752,51680 -static int hdsp_spdif_emphasis(1757,51912 -static int hdsp_set_spdif_emphasis(1762,52025 -static int snd_hdsp_get_spdif_emphasis(1773,52286 -static int snd_hdsp_put_spdif_emphasis(1781,52511 -#define HDSP_SPDIF_NON_AUDIO(HDSP_SPDIF_NON_AUDIO1797,52957 -static int hdsp_spdif_nonaudio(1802,53190 -static int hdsp_set_spdif_nonaudio(1807,53303 -static int snd_hdsp_get_spdif_nonaudio(1818,53564 -static int snd_hdsp_put_spdif_nonaudio(1826,53789 -#define HDSP_SPDIF_SAMPLE_RATE(HDSP_SPDIF_SAMPLE_RATE1842,54235 -static int snd_hdsp_info_spdif_sample_rate(1851,54496 -static int snd_hdsp_get_spdif_sample_rate(1865,55120 -#define HDSP_SYSTEM_SAMPLE_RATE(HDSP_SYSTEM_SAMPLE_RATE1903,55962 -static int snd_hdsp_info_system_sample_rate(1912,56226 -static int snd_hdsp_get_system_sample_rate(1919,56404 -#define HDSP_AUTOSYNC_SAMPLE_RATE(HDSP_AUTOSYNC_SAMPLE_RATE1927,56634 -static int snd_hdsp_info_autosync_sample_rate(1936,56902 -static int snd_hdsp_get_autosync_sample_rate(1949,57530 -#define HDSP_SYSTEM_CLOCK_MODE(HDSP_SYSTEM_CLOCK_MODE1987,58379 -static int hdsp_system_clock_mode(1996,58640 -static int snd_hdsp_info_system_clock_mode(2006,58861 -static int snd_hdsp_get_system_clock_mode(2019,59337 -#define HDSP_CLOCK_SOURCE(HDSP_CLOCK_SOURCE2027,59570 -static int hdsp_clock_source(2036,59810 -static int hdsp_set_clock_source(2066,60250 -static int snd_hdsp_info_clock_source(2115,61436 -static int snd_hdsp_get_clock_source(2132,62216 -static int snd_hdsp_put_clock_source(2140,62439 -#define HDSP_DA_GAIN(HDSP_DA_GAIN2165,63033 -static int hdsp_da_gain(2174,63255 -static int hdsp_set_da_gain(2188,63496 -static int snd_hdsp_info_da_gain(2209,63928 -static int snd_hdsp_get_da_gain(2222,64406 -static int snd_hdsp_put_da_gain(2230,64619 -#define HDSP_AD_GAIN(HDSP_AD_GAIN2251,65123 -static int hdsp_ad_gain(2260,65345 -static int hdsp_set_ad_gain(2274,65585 -static int snd_hdsp_info_ad_gain(2295,66018 -static int snd_hdsp_get_ad_gain(2308,66496 -static int snd_hdsp_put_ad_gain(2316,66709 -#define HDSP_PHONE_GAIN(HDSP_PHONE_GAIN2337,67213 -static int hdsp_phone_gain(2346,67447 -static int hdsp_set_phone_gain(2360,67697 -static int snd_hdsp_info_phone_gain(2381,68140 -static int snd_hdsp_get_phone_gain(2394,68616 -static int snd_hdsp_put_phone_gain(2402,68835 -#define HDSP_XLR_BREAKOUT_CABLE(HDSP_XLR_BREAKOUT_CABLE2423,69348 -static int hdsp_xlr_breakout_cable(2432,69614 -static int hdsp_set_xlr_breakout_cable(2440,69749 -static int snd_hdsp_info_xlr_breakout_cable(2451,70022 -static int snd_hdsp_get_xlr_breakout_cable(2460,70262 -static int snd_hdsp_put_xlr_breakout_cable(2468,70497 -#define HDSP_AEB(HDSP_AEB2488,71099 -static int hdsp_aeb(2497,71305 -static int hdsp_set_aeb(2505,71429 -static int snd_hdsp_info_aeb(2516,71695 -static int snd_hdsp_get_aeb(2525,71920 -static int snd_hdsp_put_aeb(2533,72125 -#define HDSP_PREF_SYNC_REF(HDSP_PREF_SYNC_REF2549,72529 -static int hdsp_pref_sync_ref(2558,72775 -static int hdsp_set_pref_sync_ref(2583,73375 -static int snd_hdsp_info_pref_sync_ref(2612,74143 -static int snd_hdsp_get_pref_sync_ref(2642,74949 -static int snd_hdsp_put_pref_sync_ref(2650,75174 -#define HDSP_AUTOSYNC_REF(HDSP_AUTOSYNC_REF2682,75801 -static int hdsp_autosync_ref(2691,76048 -static int snd_hdsp_info_autosync_ref(2717,76770 -static int snd_hdsp_get_autosync_ref(2730,77288 -#define HDSP_PASSTHRU(HDSP_PASSTHRU2738,77512 -static int snd_hdsp_info_passthru(2747,77738 -static int snd_hdsp_get_passthru(2756,77969 -static int snd_hdsp_put_passthru(2766,78236 -#define HDSP_LINE_OUT(HDSP_LINE_OUT2785,78731 -static int hdsp_line_out(2794,78957 -static int hdsp_set_line_output(2799,79058 -static int snd_hdsp_info_line_out(2810,79304 -static int snd_hdsp_get_line_out(2819,79534 -static int snd_hdsp_put_line_out(2829,79807 -#define HDSP_MIXER(HDSP_MIXER2845,80238 -static int snd_hdsp_info_mixer(2856,80537 -static int snd_hdsp_get_mixer(2866,80800 -static int snd_hdsp_put_mixer(2888,81409 -#define HDSP_WC_SYNC_CHECK(HDSP_WC_SYNC_CHECK2919,82177 -static int snd_hdsp_info_sync_check(2928,82456 -static int hdsp_wc_sync_check(2940,82932 -static int snd_hdsp_get_wc_sync_check(2955,83178 -#define HDSP_SPDIF_SYNC_CHECK(HDSP_SPDIF_SYNC_CHECK2963,83402 -static int hdsp_spdif_sync_check(2972,83687 -static int snd_hdsp_get_spdif_sync_check(2987,83939 -#define HDSP_ADATSYNC_SYNC_CHECK(HDSP_ADATSYNC_SYNC_CHECK2995,84169 -static int hdsp_adatsync_sync_check(3004,84460 -static int snd_hdsp_get_adatsync_sync_check(3018,84705 -#define HDSP_ADAT_SYNC_CHECK 3026,84941 -static int hdsp_adat_sync_check(3033,85169 -static int snd_hdsp_get_adat_sync_check(3048,85426 -static snd_kcontrol_new_t snd_hdsp_9632_controls[3075,85945 -static snd_kcontrol_new_t snd_hdsp_controls[3082,86144 -static snd_kcontrol_new_t snd_hdsp_96xx_aeb 3140,88407 -static snd_kcontrol_new_t snd_hdsp_adat_sync_check 3141,88492 -int snd_hdsp_create_controls(3143,88568 -snd_hdsp_proc_read(3196,90092 -static void __devinit snd_hdsp_proc_init(3515,98793 -static void snd_hdsp_free_buffers(3523,98998 -static int __devinit snd_hdsp_initialize_memory(3529,99180 -static int snd_hdsp_set_defaults(3557,100138 -void hdsp_midi_tasklet(3657,102799 -static irqreturn_t snd_hdsp_interrupt(3669,103036 -static snd_pcm_uframes_t snd_hdsp_hw_pointer(3724,104578 -static char *hdsp_channel_buffer_location(3730,104742 -static int snd_hdsp_playback_copy(3750,105250 -static int snd_hdsp_capture_copy(3765,105780 -static int snd_hdsp_hw_silence(3780,106306 -static int snd_hdsp_reset(3792,106707 -static int snd_hdsp_hw_params(3820,107448 -static int snd_hdsp_channel_info(3903,109634 -static int snd_hdsp_ioctl(3921,110074 -static int snd_hdsp_trigger(3941,110463 -static int snd_hdsp_prepare(4020,112435 -static snd_pcm_hardware_t snd_hdsp_playback_subinfo 4047,113083 -static snd_pcm_hardware_t snd_hdsp_capture_subinfo 4073,113841 -static unsigned int hdsp_period_sizes[4098,114569 -static snd_pcm_hw_constraint_list_t hdsp_hw_constraints_period_sizes 4100,114659 -static unsigned int hdsp_9632_sample_rates[4106,114816 -static snd_pcm_hw_constraint_list_t hdsp_hw_constraints_9632_sample_rates 4108,114934 -static int snd_hdsp_hw_rule_in_channels(4114,115106 -static int snd_hdsp_hw_rule_out_channels(4133,115666 -static int snd_hdsp_hw_rule_in_channels_rate(4151,116206 -static int snd_hdsp_hw_rule_out_channels_rate(4182,117082 -static int snd_hdsp_hw_rule_rate_out_channels(4213,117965 -static int snd_hdsp_hw_rule_rate_in_channels(4244,118785 -static int snd_hdsp_playback_open(4275,119601 -static int snd_hdsp_playback_release(4340,121736 -static int snd_hdsp_capture_open(4358,122179 -static int snd_hdsp_capture_release(4417,124067 -static int snd_hdsp_hwdep_dummy_op(4430,124323 -static int snd_hdsp_hwdep_ioctl(4437,124473 -static snd_pcm_ops_t snd_hdsp_playback_ops 4675,133938 -static snd_pcm_ops_t snd_hdsp_capture_ops 4687,134280 -static int __devinit snd_hdsp_create_hwdep(4698,134585 -static int __devinit snd_hdsp_create_pcm(4718,135007 -static void snd_hdsp_9652_enable_mixer 4739,135492 -static int snd_hdsp_enable_io 4745,135673 -static void snd_hdsp_initialize_channels(4761,135956 -static void snd_hdsp_initialize_midi_flush 4804,137417 -static int __devinit snd_hdsp_create_alsa_devices(4810,137556 -static int __devinit snd_hdsp_create(4863,138774 -static int snd_hdsp_free(5010,142275 -static void snd_hdsp_card_free(5032,142790 -static int __devinit snd_hdsp_probe(5040,142926 -static void __devexit snd_hdsp_remove(5082,143817 -static struct pci_driver driver 5088,143948 -static int __init alsa_card_hdsp_init(5095,144120 -static void __exit alsa_card_hdsp_exit(5100,144203 -module_init(5105,144286 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/trident/trident_synth.c,1950 -static unsigned int pan_table[36,1310 -#define LOG_TABLE_SIZE 47,1744 -static unsigned short log_table[75,3011 -static unsigned short lookup_volume_table(157,8555 -static unsigned short log_from_linear(173,9000 -static snd_trident_sample_ops_t sample_ops 203,10151 -static void snd_trident_simple_init(214,10305 -static void sample_start(223,10572 -static void sample_stop(308,12906 -static void sample_freq(332,13677 -static void sample_volume(358,14502 -static void sample_loop(410,16411 -static void sample_pos(449,17818 -static void sample_private1(499,19266 -static int snd_trident_simple_put_sample(507,19416 -static int snd_trident_simple_get_sample(560,20838 -static int snd_trident_simple_remove_sample(581,21295 -static void select_instrument(615,22179 -static void event_sample(632,22551 -static void event_cluster(646,23108 -static void event_start(654,23424 -static void event_stop(660,23653 -static void event_freq(666,23880 -static void event_volume(672,24107 -static void event_loop(678,24338 -static void event_position(684,24561 -static void event_private1(690,24789 -typedef void (trident_sample_event_handler_t)trident_sample_event_handler_t696,25042 -static trident_sample_event_handler_t *trident_sample_event_handlers[698,25162 -static void snd_trident_sample_event(711,25374 -static void snd_trident_synth_free_voices(738,26030 -static int snd_trident_synth_use(750,26347 -static int snd_trident_synth_unuse(789,27609 -static void snd_trident_synth_free_private_instruments(805,28027 -int snd_trident_synth_event_input(814,28312 -static void snd_trident_synth_instr_notify(843,29165 -static void snd_trident_synth_free_port(871,29926 -static int snd_trident_synth_create_port(879,30101 -static int snd_trident_synth_new_device(930,31487 -static int snd_trident_synth_delete_device(996,33500 -static int __init alsa_trident_synth_init(1013,33913 -static void __exit alsa_trident_synth_exit(1025,34175 -module_init(1030,34290 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/trident/trident.c,495 -static int index[49,1677 -static char *id[50,1746 -static int enable[51,1819 -static int pcm_channels[52,1901 -static int wavetable_size[53,1974 -static int boot_devs;54,2051 -static struct pci_device_id snd_trident_ids[67,2711 -static int __devinit snd_trident_probe(76,3077 -static void __devexit snd_trident_remove(172,5372 -static struct pci_driver driver 178,5506 -static int __init alsa_card_trident_init(186,5702 -static void __exit alsa_card_trident_exit(191,5788 -module_init(196,5874 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/trident/trident_main.c,7598 -static void snd_trident_print_voice_regs(62,1991 -static unsigned short snd_trident_codec_read(115,4000 -static void snd_trident_codec_write(174,6036 -static void snd_trident_enable_eso(241,8057 -static void snd_trident_disable_eso(268,8928 -void snd_trident_start_voice(292,9701 -void snd_trident_stop_voice(314,10477 -static int snd_trident_allocate_pcm_channel(333,11136 -static void snd_trident_free_pcm_channel(361,11898 -static int snd_trident_allocate_synth_channel(383,12611 -static void snd_trident_free_synth_channel(409,13325 -void snd_trident_write_voice_regs(432,14084 -static void snd_trident_write_cso_reg(503,16818 -static void snd_trident_write_eso_reg(526,17675 -static void snd_trident_write_vol_reg(549,18548 -static void snd_trident_write_pan_reg(577,19531 -static void snd_trident_write_rvol_reg(596,20286 -static void snd_trident_write_cvol_reg(616,21152 -unsigned int snd_trident_convert_rate(635,21981 -static unsigned int snd_trident_convert_adc_rate(665,22927 -unsigned int snd_trident_spurious_threshold(695,23876 -unsigned int snd_trident_control_mode(716,24494 -static int snd_trident_ioctl(751,25471 -int snd_trident_allocate_pcm_mem(773,26162 -int snd_trident_allocate_evoice(807,27206 -static int snd_trident_hw_params(847,28364 -static int snd_trident_hw_free(869,28983 -static int snd_trident_playback_prepare(901,29915 -static int snd_trident_capture_hw_params(987,32421 -static int snd_trident_capture_prepare(1004,32932 -static int snd_trident_si7018_capture_hw_params(1096,35817 -static int snd_trident_si7018_capture_hw_free(1118,36471 -static int snd_trident_si7018_capture_prepare(1144,37279 -static int snd_trident_foldback_prepare(1215,39418 -static int snd_trident_spdif_hw_params(1293,41732 -static int snd_trident_spdif_prepare(1358,43672 -static int snd_trident_trigger(1497,47859 -static snd_pcm_uframes_t snd_trident_playback_pointer(1595,50663 -static snd_pcm_uframes_t snd_trident_capture_pointer(1634,51741 -static snd_pcm_uframes_t snd_trident_spdif_pointer(1664,52602 -static snd_pcm_hardware_t snd_trident_playback 1683,53062 -static snd_pcm_hardware_t snd_trident_capture 1708,53793 -static snd_pcm_hardware_t snd_trident_foldback 1733,54532 -static snd_pcm_hardware_t snd_trident_spdif 1757,55161 -static snd_pcm_hardware_t snd_trident_spdif_7018 1778,55786 -static void snd_trident_pcm_free_substream(1798,56363 -static int snd_trident_playback_open(1809,56625 -static int snd_trident_playback_close(1837,57688 -static int snd_trident_spdif_open(1858,58371 -static int snd_trident_spdif_close(1899,59718 -static int snd_trident_capture_open(1937,60996 -static int snd_trident_capture_close(1965,62019 -static int snd_trident_foldback_open(1981,62472 -static int snd_trident_foldback_close(2008,63485 -static snd_pcm_ops_t snd_trident_playback_ops 2026,64109 -static snd_pcm_ops_t snd_trident_nx_playback_ops 2037,64454 -static snd_pcm_ops_t snd_trident_capture_ops 2049,64836 -static snd_pcm_ops_t snd_trident_si7018_capture_ops 2060,65184 -static snd_pcm_ops_t snd_trident_foldback_ops 2071,65569 -static snd_pcm_ops_t snd_trident_nx_foldback_ops 2082,65914 -static snd_pcm_ops_t snd_trident_spdif_ops 2094,66296 -static snd_pcm_ops_t snd_trident_spdif_7018_ops 2105,66632 -static void snd_trident_pcm_free(2126,67327 -static void snd_trident_foldback_pcm_free(2133,67488 -static void snd_trident_spdif_pcm_free(2140,67663 -int __devinit snd_trident_pcm(2158,68198 -int __devinit snd_trident_foldback_pcm(2216,70083 -int __devinit snd_trident_spdif_pcm(2273,71929 -static int snd_trident_spdif_control_info(2312,73020 -static int snd_trident_spdif_control_get(2321,73258 -static int snd_trident_spdif_control_put(2334,73623 -static snd_kcontrol_new_t snd_trident_spdif_control __devinitdata 2365,74668 -static int snd_trident_spdif_default_info(2381,75229 -static int snd_trident_spdif_default_get(2388,75404 -static int snd_trident_spdif_default_put(2402,75939 -static snd_kcontrol_new_t snd_trident_spdif_default __devinitdata 2427,76773 -static int snd_trident_spdif_mask_info(2442,77293 -static int snd_trident_spdif_mask_get(2449,77465 -static snd_kcontrol_new_t snd_trident_spdif_mask __devinitdata 2459,77757 -static int snd_trident_spdif_stream_info(2474,78278 -static int snd_trident_spdif_stream_get(2481,78452 -static int snd_trident_spdif_stream_put(2495,79001 -static snd_kcontrol_new_t snd_trident_spdif_stream __devinitdata 2520,79787 -static int snd_trident_ac97_control_info(2536,80395 -static int snd_trident_ac97_control_get(2545,80632 -static int snd_trident_ac97_control_put(2558,81058 -static snd_kcontrol_new_t snd_trident_ac97_rear_control __devinitdata 2577,81680 -static int snd_trident_vol_control_info(2593,82199 -static int snd_trident_vol_control_get(2602,82437 -static int snd_trident_vol_control_put(2614,82844 -static snd_kcontrol_new_t snd_trident_vol_music_control __devinitdata 2632,83498 -static snd_kcontrol_new_t snd_trident_vol_wave_control __devinitdata 2642,83794 -static int snd_trident_pcm_vol_control_info(2658,84321 -static int snd_trident_pcm_vol_control_get(2671,84700 -static int snd_trident_pcm_vol_control_put(2685,85155 -static snd_kcontrol_new_t snd_trident_pcm_vol_control __devinitdata 2707,85858 -static int snd_trident_pcm_pan_control_info(2724,86468 -static int snd_trident_pcm_pan_control_get(2733,86710 -static int snd_trident_pcm_pan_control_put(2748,87228 -static snd_kcontrol_new_t snd_trident_pcm_pan_control __devinitdata 2769,87914 -static int snd_trident_pcm_rvol_control_info(2786,88528 -static int snd_trident_pcm_rvol_control_get(2795,88771 -static int snd_trident_pcm_rvol_control_put(2805,89104 -static snd_kcontrol_new_t snd_trident_pcm_rvol_control __devinitdata 2823,89685 -static int snd_trident_pcm_cvol_control_info(2840,90306 -static int snd_trident_pcm_cvol_control_get(2849,90549 -static int snd_trident_pcm_cvol_control_put(2859,90882 -static snd_kcontrol_new_t snd_trident_pcm_cvol_control __devinitdata 2877,91463 -static void snd_trident_notify_pcm_change1(2888,91847 -static void snd_trident_notify_pcm_change(2902,92296 -static int snd_trident_pcm_mixer_build(2910,92743 -static int snd_trident_pcm_mixer_free(2925,93274 -static int __devinit snd_trident_mixer(2947,94016 -typedef struct snd_trident_gameport snd_trident_gameport3110,98430 -} trident_gameport_t;trident_gameport_t3113,98509 -static unsigned char snd_trident_gameport_read(3115,98532 -static void snd_trident_gameport_trigger(3124,98778 -static int snd_trident_gameport_cooked_read(3133,99016 -static int snd_trident_gameport_open(3152,99465 -void __devinit snd_trident_gameport(3173,99991 -void __devinit snd_trident_gameport(3194,100518 -inline static void do_delay(3202,100632 -static int snd_trident_sis_reset(3212,100776 -static void snd_trident_proc_read(3265,102318 -static void __devinit snd_trident_proc_init(3306,103974 -static int snd_trident_dev_free(3317,104289 -static int __devinit snd_trident_tlb_alloc(3335,104858 -static void snd_trident_stop_all_voices(3380,106802 -static int snd_trident_4d_dx_init(3388,107053 -static int snd_trident_4d_nx_init(3428,108275 -static int snd_trident_sis_init(3485,109982 -int __devinit snd_trident_create(3516,110898 -int snd_trident_free(3657,114631 -static irqreturn_t snd_trident_interrupt(3707,116389 -int snd_trident_attach_synthesizer(3814,119994 -int snd_trident_detach_synthesizer(3826,120409 -snd_trident_voice_t *snd_trident_alloc_voice(3837,120689 -void snd_trident_free_voice(3881,121887 -void snd_trident_clear_voices(3909,122769 -static int snd_trident_suspend(3930,123406 -static int snd_trident_resume(3956,124028 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/trident/trident_memory.c,1816 -#define __set_tlb_bus(__set_tlb_bus36,1302 -#define __tlb_to_ptr(__tlb_to_ptr39,1503 -#define __tlb_to_addr(__tlb_to_addr41,1586 -#define ALIGN_PAGE_SIZE 46,1778 -#define MAX_ALIGN_PAGES 47,1852 -#define set_tlb_bus(set_tlb_bus49,1985 -#define set_silent_tlb(set_silent_tlb51,2133 -#define get_aligned_page(get_aligned_page53,2319 -#define aligned_page_offset(aligned_page_offset55,2412 -#define page_to_ptr(page_to_ptr57,2504 -#define page_to_addr(page_to_addr59,2615 -#define ALIGN_PAGE_SIZE 63,2750 -#define MAX_ALIGN_PAGES 64,2785 -#define get_aligned_page(get_aligned_page65,2840 -#define aligned_page_offset(aligned_page_offset66,2890 -#define page_to_ptr(page_to_ptr67,2939 -#define page_to_addr(page_to_addr68,3008 -static inline void set_tlb_bus(71,3134 -static inline void set_silent_tlb(77,3386 -#define UNIT_PAGES 86,3713 -#define ALIGN_PAGE_SIZE 87,3771 -#define MAX_ALIGN_PAGES 88,3835 -#define get_aligned_page(get_aligned_page94,4157 -#define aligned_page_offset(aligned_page_offset95,4219 -#define page_to_ptr(page_to_ptr96,4280 -#define page_to_addr(page_to_addr97,4357 -static inline void set_tlb_bus(100,4497 -static inline void set_silent_tlb(110,4786 -inline static void *offset_ptr(121,5110 -#define firstpg(firstpg130,5352 -#define lastpg(lastpg131,5444 -search_empty(137,5620 -static int is_valid_page(170,6388 -snd_trident_alloc_sg_pages(187,6717 -snd_trident_alloc_cont_pages(234,8062 -snd_trident_alloc_pages(274,9098 -int snd_trident_free_pages(288,9497 -snd_trident_synth_alloc(324,10503 -snd_trident_synth_free(349,10952 -static void clear_tlb(364,11233 -static void get_single_page_range(381,11676 -static int synth_alloc_pages(405,12405 -static int synth_free_pages(441,13363 -int snd_trident_synth_bzero(455,13678 -int snd_trident_synth_copy_from_user(478,14226 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cmipci.c,15672 -#define SUPPORT_JOYSTICK 52,1749 -static int index[55,1784 -static char *id[56,1853 -static int enable[57,1926 -static long mpu_port[58,2007 -static long fm_port[59,2042 -static int soft_ac3[60,2076 -static int joystick_port[62,2164 -static int boot_devs;64,2210 -#define PCI_DEVICE_ID_CMEDIA_CM8738 84,3084 -#define PCI_DEVICE_ID_CMEDIA_CM8738B 87,3171 -#define CM_REG_FUNCTRL0 94,3262 -#define CM_RST_CH1 95,3292 -#define CM_RST_CH0 96,3323 -#define CM_CHEN1 97,3354 -#define CM_CHEN0 98,3401 -#define CM_PAUSE1 99,3448 -#define CM_PAUSE0 100,3495 -#define CM_CHADC1 101,3542 -#define CM_CHADC0 102,3604 -#define CM_REG_FUNCTRL1 104,3667 -#define CM_ASFC_MASK 105,3697 -#define CM_ASFC_SHIFT 106,3759 -#define CM_DSFC_MASK 107,3785 -#define CM_DSFC_SHIFT 108,3847 -#define CM_SPDF_1 109,3873 -#define CM_SPDF_0 110,3935 -#define CM_SPDFLOOP 111,3996 -#define CM_SPDO2DAC 112,4065 -#define CM_INTRM 113,4144 -#define CM_BREQ 114,4224 -#define CM_VOICE_EN 115,4278 -#define CM_UART_EN 116,4339 -#define CM_JYSTK_EN 117,4381 -#define CM_REG_CHFORMAT 119,4430 -#define CM_CHB3D5C 121,4461 -#define CM_CHB3D 122,4511 -#define CM_CHIP_MASK1 124,4558 -#define CM_CHIP_037 125,4592 -#define CM_SPDIF_SELECT1 127,4625 -#define CM_AC3EN1 128,4686 -#define CM_SPD24SEL 129,4744 -#define CM_ADCBITLEN_MASK 132,4858 -#define CM_ADCBITLEN_16 133,4896 -#define CM_ADCBITLEN_15 134,4932 -#define CM_ADCBITLEN_14 135,4968 -#define CM_ADCBITLEN_13 136,5004 -#define CM_ADCDACLEN_MASK 138,5041 -#define CM_ADCDACLEN_060 139,5078 -#define CM_ADCDACLEN_066 140,5114 -#define CM_ADCDACLEN_130 141,5150 -#define CM_ADCDACLEN_280 142,5186 -#define CM_CH1_SRATE_176K 144,5223 -#define CM_CH1_SRATE_88K 145,5260 -#define CM_CH0_SRATE_176K 146,5296 -#define CM_CH0_SRATE_88K 147,5333 -#define CM_SPDIF_INVERSE2 149,5370 -#define CM_CH1FMT_MASK 151,5425 -#define CM_CH1FMT_SHIFT 152,5460 -#define CM_CH0FMT_MASK 153,5487 -#define CM_CH0FMT_SHIFT 154,5522 -#define CM_REG_INT_HLDCLR 156,5550 -#define CM_CHIP_MASK2 157,5581 -#define CM_CHIP_039 158,5615 -#define CM_CHIP_039_6CH 159,5647 -#define CM_TDMA_INT_EN 160,5683 -#define CM_CH1_INT_EN 161,5718 -#define CM_CH0_INT_EN 162,5752 -#define CM_INT_HOLD 163,5786 -#define CM_INT_CLEAR 164,5818 -#define CM_REG_INT_STATUS 166,5852 -#define CM_INTR 167,5883 -#define CM_VCO 168,5912 -#define CM_MCBINT 169,5969 -#define CM_UARTINT 170,6039 -#define CM_LTDMAINT 171,6070 -#define CM_HTDMAINT 172,6102 -#define CM_XDO46 173,6134 -#define CM_LHBTOG 174,6228 -#define CM_LEG_HDMA 175,6303 -#define CM_LEG_STEREO 176,6371 -#define CM_CH1BUSY 177,6436 -#define CM_CH0BUSY 178,6467 -#define CM_CHINT1 179,6498 -#define CM_CHINT0 180,6528 -#define CM_REG_LEGACY_CTRL 182,6559 -#define CM_NXCHG 183,6591 -#define CM_VMPU_MASK 184,6646 -#define CM_VMPU_330 185,6709 -#define CM_VMPU_320 186,6741 -#define CM_VMPU_310 187,6773 -#define CM_VMPU_300 188,6805 -#define CM_VSBSEL_MASK 189,6837 -#define CM_VSBSEL_220 190,6896 -#define CM_VSBSEL_240 191,6930 -#define CM_VSBSEL_260 192,6964 -#define CM_VSBSEL_280 193,6998 -#define CM_FMSEL_MASK 194,7032 -#define CM_FMSEL_388 195,7093 -#define CM_FMSEL_3C8 196,7126 -#define CM_FMSEL_3E0 197,7159 -#define CM_FMSEL_3E8 198,7192 -#define CM_ENSPDOUT 199,7225 -#define CM_SPDCOPYRHT 200,7297 -#define CM_DAC2SPDO 201,7364 -#define CM_SETRETRY 202,7435 -#define CM_CHB3D6C 203,7527 -#define CM_LINE_AS_BASS 204,7585 -#define CM_REG_MISC_CTRL 206,7648 -#define CM_PWD 207,7678 -#define CM_RESET 208,7706 -#define CM_SFIL_MASK 209,7735 -#define CM_TXVX 210,7768 -#define CM_N4SPK3D 211,7797 -#define CM_SPDO5V 212,7845 -#define CM_SPDIF48K 213,7915 -#define CM_SPATUS48K 214,7959 -#define CM_ENDBDAC 215,8003 -#define CM_XCHGDAC 216,8056 -#define CM_SPD32SEL 217,8120 -#define CM_SPDFLOOPI 218,8183 -#define CM_FM_EN 219,8248 -#define CM_AC3EN2 220,8293 -#define CM_VIDWPDSB 221,8351 -#define CM_SPDF_AC97 222,8384 -#define CM_MASK_EN 223,8450 -#define CM_VIDWPPRT 224,8481 -#define CM_SFILENB 225,8513 -#define CM_MMODE_MASK 226,8544 -#define CM_SPDIF_SELECT2 227,8578 -#define CM_ENCENTER 228,8638 -#define CM_FLINKON 229,8670 -#define CM_FLINKOFF 230,8701 -#define CM_MIDSMP 231,8733 -#define CM_UPDDMA_MASK 232,8763 -#define CM_TWAIT_MASK 233,8798 -#define CM_REG_MIXER0 236,8845 -#define CM_REG_SB16_DATA 238,8874 -#define CM_REG_SB16_ADDR 239,8904 -#define CM_REFFREQ_XIN 241,8935 -#define CM_ADCMULT_XIN 242,9031 -#define CM_TOLERANCE_RATE 243,9117 -#define CM_MAXIMUM_RATE 244,9195 -#define CM_REG_MIXER1 246,9258 -#define CM_FMMUTE 247,9286 -#define CM_FMMUTE_SHIFT 248,9324 -#define CM_WSMUTE 249,9351 -#define CM_WSMUTE_SHIFT 250,9390 -#define CM_SPK4 251,9417 -#define CM_SPK4_SHIFT 252,9470 -#define CM_REAR2FRONT 253,9495 -#define CM_REAR2FRONT_SHIFT 254,9549 -#define CM_WAVEINL 255,9579 -#define CM_WAVEINL_SHIFT 256,9638 -#define CM_WAVEINR 257,9665 -#define CM_WAVEINR_SHIFT 258,9720 -#define CM_X3DEN 259,9747 -#define CM_X3DEN_SHIFT 260,9795 -#define CM_CDPLAY 261,9821 -#define CM_CDPLAY_SHIFT 262,9878 -#define CM_REG_MIXER2 264,9906 -#define CM_RAUXREN 265,9934 -#define CM_RAUXREN_SHIFT 266,9983 -#define CM_RAUXLEN 267,10010 -#define CM_RAUXLEN_SHIFT 268,10058 -#define CM_VAUXRM 269,10085 -#define CM_VAUXRM_SHIFT 270,10130 -#define CM_VAUXLM 271,10157 -#define CM_VAUXLM_SHIFT 272,10201 -#define CM_VADMIC_MASK 273,10228 -#define CM_VADMIC_SHIFT 274,10289 -#define CM_MICGAINZ 275,10316 -#define CM_MICGAINZ_SHIFT 276,10358 -#define CM_REG_AUX_VOL 278,10387 -#define CM_VAUXL_MASK 279,10416 -#define CM_VAUXR_MASK 280,10444 -#define CM_REG_MISC 282,10473 -#define CM_XGPO1 283,10499 -#define CM_MIC_CENTER_LFE 285,10549 -#define CM_SPDIF_INVERSE 286,10631 -#define CM_SPDVALID 287,10705 -#define CM_DMAUTO 288,10761 -#define CM_REG_AC97 290,10786 -#define CM_REG_EXTERN_CODEC 295,10947 -#define CM_REG_MPU_PCI 300,11065 -#define CM_REG_FM_PCI 305,11168 -#define CM_REG_EXTENT_IND 310,11255 -#define CM_VPHONE_MASK 311,11286 -#define CM_VPHONE_SHIFT 312,11353 -#define CM_VPHOM 313,11380 -#define CM_VSPKM 314,11428 -#define CM_RLOOPREN 315,11492 -#define CM_RLOOPLEN 316,11549 -#define CM_REG_PLL 323,11770 -#define CM_REG_CH0_FRAME1 328,11825 -#define CM_REG_CH0_FRAME2 329,11875 -#define CM_REG_CH1_FRAME1 330,11906 -#define CM_REG_CH1_FRAME2 331,11993 -#define CM_EXTENT_CODEC 336,12108 -#define CM_EXTENT_MIDI 337,12140 -#define CM_EXTENT_SYNTH 338,12169 -#define PCI_VENDOR_ID_CMEDIA 345,12248 -#define PCI_DEVICE_ID_CMEDIA_CM8338A 348,12336 -#define PCI_DEVICE_ID_CMEDIA_CM8338B 351,12424 -#define PCI_DEVICE_ID_CMEDIA_CM8738 354,12511 -#define PCI_DEVICE_ID_CMEDIA_CM8738B 357,12599 -#define CM_CH_PLAY 363,12693 -#define CM_CH_CAPT 364,12714 -#define CM_OPEN_NONE 369,12779 -#define CM_OPEN_CH_MASK 370,12802 -#define CM_OPEN_DAC 371,12831 -#define CM_OPEN_ADC 372,12856 -#define CM_OPEN_SPDIF 373,12881 -#define CM_OPEN_MCHAN 374,12908 -#define CM_OPEN_PLAYBACK 375,12935 -#define CM_OPEN_PLAYBACK2 376,12987 -#define CM_OPEN_PLAYBACK_MULTI 377,13040 -#define CM_OPEN_CAPTURE 378,13114 -#define CM_OPEN_SPDIF_PLAYBACK 379,13166 -#define CM_OPEN_SPDIF_CAPTURE 380,13240 -#define CM_PLAYBACK_SRATE_176K 384,13335 -#define CM_PLAYBACK_SPDF 385,13384 -#define CM_CAPTURE_SPDF 386,13419 -#define CM_PLAYBACK_SRATE_176K 388,13460 -#define CM_PLAYBACK_SPDF 389,13509 -#define CM_CAPTURE_SPDF 390,13544 -typedef struct snd_stru_cmipci cmipci_t;cmipci_t398,13611 -typedef struct snd_stru_cmipci_pcm cmipci_pcm_t;cmipci_pcm_t399,13652 -struct snd_stru_cmipci_pcm snd_stru_cmipci_pcm401,13702 -struct cmipci_mixer_auto_switches cmipci_mixer_auto_switches415,14144 -static const struct cmipci_mixer_auto_switches cm_saved_mixer[419,14278 -#define CM_SAVED_MIXERS 426,14504 -struct snd_stru_cmipci snd_stru_cmipci428,14557 -inline static void snd_cmipci_write(484,15817 -inline static unsigned int snd_cmipci_read(488,15939 -inline static void snd_cmipci_write_w(494,16096 -inline static unsigned short snd_cmipci_read_w(498,16222 -inline static void snd_cmipci_write_b(504,16383 -inline static unsigned char snd_cmipci_read_b(509,16509 -static void snd_cmipci_set_bit(515,16663 -static void snd_cmipci_clear_bit(523,16843 -static void snd_cmipci_set_bit_b(533,17083 -static void snd_cmipci_clear_bit_b(541,17267 -static unsigned int rates[559,17518 -static unsigned int snd_cmipci_rate_freq(561,17607 -static int snd_cmipci_pll_rmn(578,18006 -static void snd_cmipci_set_pll(620,18985 -static int snd_cmipci_hw_params(638,19566 -static int snd_cmipci_playback2_hw_params(644,19750 -static void snd_cmipci_ch_reset(661,20247 -static int snd_cmipci_hw_free(669,20485 -static unsigned int hw_channels[678,20605 -static snd_pcm_hw_constraint_list_t hw_constraints_channels_4 679,20658 -static snd_pcm_hw_constraint_list_t hw_constraints_channels_6 684,20774 -static int set_dac_channels(690,20891 -static int snd_cmipci_pcm_prepare(737,22393 -static int snd_cmipci_pcm_trigger(820,24688 -static snd_pcm_uframes_t snd_cmipci_pcm_pointer(870,25978 -static int snd_cmipci_playback_trigger(895,26617 -static snd_pcm_uframes_t snd_cmipci_playback_pointer(902,26842 -static int snd_cmipci_capture_trigger(914,27077 -static snd_pcm_uframes_t snd_cmipci_capture_pointer(921,27299 -static int snd_cmipci_spdif_default_info(932,27549 -static int snd_cmipci_spdif_default_get(940,27728 -static int snd_cmipci_spdif_default_put(953,28071 -static snd_kcontrol_new_t snd_cmipci_spdif_default __devinitdata 970,28512 -static int snd_cmipci_spdif_mask_info(979,28793 -static int snd_cmipci_spdif_mask_get(987,28973 -static snd_kcontrol_new_t snd_cmipci_spdif_mask __devinitdata 997,29262 -static int snd_cmipci_spdif_stream_info(1006,29538 -static int snd_cmipci_spdif_stream_get(1014,29715 -static int snd_cmipci_spdif_stream_put(1027,30067 -static snd_kcontrol_new_t snd_cmipci_spdif_stream __devinitdata 1044,30518 -static int save_mixer_state(1058,30934 -static void restore_mixer_state(1092,31843 -static void setup_ac3(1125,32710 -static int setup_spdif_playback(1172,34290 -static int snd_cmipci_playback_prepare(1214,35496 -static int snd_cmipci_playback_spdif_prepare(1231,36149 -static int snd_cmipci_playback_hw_free(1245,36570 -static int snd_cmipci_capture_prepare(1254,36820 -static int snd_cmipci_capture_spdif_prepare(1261,37060 -static int snd_cmipci_capture_spdif_hw_free(1272,37390 -static irqreturn_t snd_cmipci_interrupt(1287,37702 -static snd_pcm_hardware_t snd_cmipci_playback 1324,38691 -static snd_pcm_hardware_t snd_cmipci_capture 1344,39283 -static snd_pcm_hardware_t snd_cmipci_playback2 1364,39896 -static snd_pcm_hardware_t snd_cmipci_playback_spdif 1384,40474 -static snd_pcm_hardware_t snd_cmipci_playback_iec958_subframe 1404,41080 -static snd_pcm_hardware_t snd_cmipci_capture_spdif 1424,41681 -static int open_device_check(1446,42267 -static void close_device_check(1473,43053 -static int snd_cmipci_playback_open(1499,43628 -static int snd_cmipci_capture_open(1513,44065 -static int snd_cmipci_playback2_open(1526,44461 -static int snd_cmipci_playback_spdif_open(1550,45284 -static int snd_cmipci_capture_spdif_open(1570,45930 -static int snd_cmipci_playback_close(1587,46374 -static int snd_cmipci_capture_close(1594,46554 -static int snd_cmipci_playback2_close(1601,46732 -static int snd_cmipci_playback_spdif_close(1609,46963 -static int snd_cmipci_capture_spdif_close(1616,47155 -static snd_pcm_ops_t snd_cmipci_playback_ops 1627,47354 -static snd_pcm_ops_t snd_cmipci_capture_ops 1638,47709 -static snd_pcm_ops_t snd_cmipci_playback2_ops 1649,48049 -static snd_pcm_ops_t snd_cmipci_playback_spdif_ops 1660,48453 -static snd_pcm_ops_t snd_cmipci_capture_spdif_ops 1671,48850 -static void snd_cmipci_pcm_free(1686,49237 -static int __devinit snd_cmipci_pcm_new(1691,49334 -static int __devinit snd_cmipci_pcm2_new(1715,49964 -static int __devinit snd_cmipci_pcm_spdif_new(1738,50523 -static void snd_cmipci_mixer_write(1771,51413 -static unsigned char snd_cmipci_mixer_read(1777,51590 -typedef struct cmipci_sb_reg cmipci_sb_reg1789,51814 -} cmipci_sb_reg_t;cmipci_sb_reg_t1795,51989 -#define COMPOSE_SB_REG(COMPOSE_SB_REG1797,52009 -#define CMIPCI_DOUBLE(CMIPCI_DOUBLE1800,52188 -#define CMIPCI_SB_VOL_STEREO(CMIPCI_SB_VOL_STEREO1807,52551 -#define CMIPCI_SB_VOL_MONO(CMIPCI_SB_VOL_MONO1808,52661 -#define CMIPCI_SB_SW_STEREO(CMIPCI_SB_SW_STEREO1809,52767 -#define CMIPCI_SB_SW_MONO(CMIPCI_SB_SW_MONO1810,52900 -static void cmipci_sb_reg_decode(1812,53022 -static int snd_cmipci_info_volume(1823,53327 -static int snd_cmipci_get_volume(1835,53702 -static int snd_cmipci_put_volume(1857,54358 -#define CMIPCI_SB_INPUT_SW(CMIPCI_SB_INPUT_SW1898,55552 -static int snd_cmipci_info_input_sw(1905,55890 -static int snd_cmipci_get_input_sw(1914,56124 -static int snd_cmipci_put_input_sw(1932,56803 -#define CMIPCI_MIXER_SW_STEREO(CMIPCI_MIXER_SW_STEREO1960,57836 -#define CMIPCI_MIXER_SW_MONO(CMIPCI_MIXER_SW_MONO1967,58159 -#define CMIPCI_MIXER_VOL_STEREO(CMIPCI_MIXER_VOL_STEREO1974,58469 -#define CMIPCI_MIXER_VOL_MONO(CMIPCI_MIXER_VOL_MONO1981,58789 -static int snd_cmipci_info_native_mixer(1988,59096 -static int snd_cmipci_get_native_mixer(2001,59475 -static int snd_cmipci_put_native_mixer(2024,60121 -static int snd_cmipci_get_native_mixer_sensitive(2053,60965 -static int snd_cmipci_put_native_mixer_sensitive(2059,61181 -static snd_kcontrol_new_t snd_cmipci_mixers[2070,61457 -static snd_kcontrol_new_t snd_cmipci_mixers[] __devinitdata 2070,61457 -typedef struct snd_cmipci_switch_args snd_cmipci_switch_args2108,63575 -} snd_cmipci_switch_args_t;snd_cmipci_switch_args_t2114,63844 -static int snd_cmipci_uswitch_info(2116,63873 -static int _snd_cmipci_uswitch_get(2125,64103 -static int snd_cmipci_uswitch_get(2145,64701 -static int _snd_cmipci_uswitch_put(2152,64986 -static int snd_cmipci_uswitch_put(2184,65855 -#define DEFINE_SWITCH_ARG(DEFINE_SWITCH_ARG2191,66140 -#define DEFINE_BIT_SWITCH_ARG(DEFINE_BIT_SWITCH_ARG2200,66395 -#define DEFINE_SWITCH(DEFINE_SWITCH2232,68386 -#define DEFINE_CARD_SWITCH(DEFINE_CARD_SWITCH2241,68641 -#define DEFINE_MIXER_SWITCH(DEFINE_MIXER_SWITCH2242,68735 -static int snd_cmipci_spdout_enable_get(2249,68909 -static int snd_cmipci_spdout_enable_put(2257,69218 -static snd_kcontrol_new_t snd_cmipci_mixer_switches[2278,69946 -static snd_kcontrol_new_t snd_cmipci_mixer_switches[] __devinitdata 2278,69946 -static snd_kcontrol_new_t snd_cmipci_nomulti_switch __devinitdata 2284,70158 -static snd_kcontrol_new_t snd_cmipci_8738_mixer_switches[2288,70300 -static snd_kcontrol_new_t snd_cmipci_8738_mixer_switches[] __devinitdata 2288,70300 -static snd_kcontrol_new_t snd_cmipci_old_mixer_switches[2310,71183 -static snd_kcontrol_new_t snd_cmipci_old_mixer_switches[] __devinitdata 2310,71183 -static snd_kcontrol_new_t snd_cmipci_extra_mixer_switches[2317,71473 -static snd_kcontrol_new_t snd_cmipci_extra_mixer_switches[] __devinitdata 2317,71473 -static snd_kcontrol_new_t snd_cmipci_control_switches[2325,71838 -static snd_kcontrol_new_t snd_cmipci_control_switches[] __devinitdata 2325,71838 -static int __devinit snd_cmipci_mixer_new(2331,72024 -static void snd_cmipci_proc_read(2430,74815 -static void __devinit snd_cmipci_proc_init(2449,75247 -static inline void snd_cmipci_proc_init(2457,75481 -static struct pci_device_id snd_cmipci_ids[2461,75547 -static void __devinit query_chip(2475,76143 -static int snd_cmipci_free(2527,77409 -static int snd_cmipci_dev_free(2558,78258 -static int __devinit snd_cmipci_create(2564,78382 -static int __devinit snd_cmipci_probe(2793,84399 -static void __devexit snd_cmipci_remove(2850,85546 -static struct pci_driver driver 2857,85680 -static int __init alsa_card_cmipci_init(2864,85845 -static void __exit alsa_card_cmipci_exit(2869,85930 -module_init(2874,86015 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/azt3328.h,4586 -#define __SOUND_AZF3328_H2,26 -#define WORD_VALUE 5,102 -#define DWORD_VALUE 6,133 -#define BYTE_VALUE 7,164 -#define IDX_IO_PLAY_FLAGS 16,568 - #define DMA_RESUME 20,786 - #define DMA_PLAY_SOMETHING1 25,1070 - #define DMA_PLAY_SOMETHING2 27,1186 - #define SOMETHING_ALMOST_ALWAYS_SET 28,1237 - #define DMA_EPILOGUE_SOMETHING 29,1309 - #define DMA_SOMETHING_ELSE 30,1349 - #define SOMETHING_UNMODIFIABLE 31,1396 -#define IDX_IO_PLAY_IRQMASK 32,1466 - #define IRQ_PLAY_SOMETHING 38,1879 - #define IRQ_FINISHED_PLAYBUF_1 39,1938 - #define IRQ_FINISHED_PLAYBUF_2 40,2010 - #define IRQMASK_SOME_STATUS_1 41,2082 - #define IRQMASK_SOME_STATUS_2 42,2143 - #define IRQMASK_UNMODIFIABLE 43,2218 -#define IDX_IO_PLAY_DMA_START_1 44,2287 -#define IDX_IO_PLAY_DMA_START_2 45,2365 -#define IDX_IO_PLAY_DMA_LEN_1 46,2443 -#define IDX_IO_PLAY_DMA_LEN_2 47,2514 -#define IDX_IO_PLAY_DMA_CURRPOS 48,2585 -#define IDX_IO_PLAY_DMA_CURROFS 49,2650 -#define IDX_IO_PLAY_SOUNDFORMAT 50,2729 - #define SOUNDFORMAT_FREQUENCY_MASK 52,2813 - #define SOUNDFORMAT_FREQ_SUSPECTED_4000 55,2987 - #define SOUNDFORMAT_FREQ_SUSPECTED_4800 56,3036 - #define SOUNDFORMAT_FREQ_5510 57,3085 - #define SOUNDFORMAT_FREQ_6620 58,3125 - #define SOUNDFORMAT_FREQ_8000 59,3165 - #define SOUNDFORMAT_FREQ_9600 60,3223 - #define SOUNDFORMAT_FREQ_SUSPECTED_12000 61,3263 - #define SOUNDFORMAT_FREQ_11025 62,3313 - #define SOUNDFORMAT_FREQ_16000 63,3372 - #define SOUNDFORMAT_FREQ_22050 64,3413 - #define SOUNDFORMAT_FREQ_32000 65,3454 - #define SOUNDFORMAT_FREQ_44100 66,3495 - #define SOUNDFORMAT_FREQ_48000 67,3536 - #define SOUNDFORMAT_FREQ_SUSPECTED_64000 68,3577 - #define SOUNDFORMAT_FLAG_16BIT 69,3627 - #define SOUNDFORMAT_FLAG_2CHANNELS 70,3667 -#define IDX_IO_REC_FLAGS 72,3774 -#define IDX_IO_REC_IRQMASK 73,3813 - #define IRQ_REC_SOMETHING 74,3854 - #define IRQ_FINISHED_RECBUF_1 75,3912 - #define IRQ_FINISHED_RECBUF_2 76,3984 - #define IRQMASK_SOME_STATUS_1 79,4184 - #define IRQMASK_SOME_STATUS_2 80,4245 -#define IDX_IO_REC_DMA_START_1 81,4320 -#define IDX_IO_REC_DMA_START_2 82,4357 -#define IDX_IO_REC_DMA_LEN_1 83,4394 -#define IDX_IO_REC_DMA_LEN_2 84,4431 -#define IDX_IO_REC_DMA_CURRPOS 85,4468 -#define IDX_IO_REC_DMA_CURROFS 86,4505 -#define IDX_IO_REC_SOUNDFORMAT 87,4542 -#define IDX_IO_SOMETHING_FLAGS 89,4634 -#define IDX_IO_60H 91,4748 -#define IDX_IO_62H 92,4809 -#define IDX_IO_IRQ63H 93,4931 - #define IO_IRQ63H_SOMETHING 94,4974 -#define IDX_IO_IRQSTATUS 95,5091 - #define IRQ_PLAYBACK 96,5128 - #define IRQ_RECORDING 97,5160 - #define IRQ_MPU401 98,5193 - #define IRQ_SOMEIRQ 99,5223 - #define IRQ_WHO_KNOWS_UNUSED 100,5265 -#define IDX_IO_66H 101,5326 -#define IDX_IO_SOME_VALUE 102,5390 -#define IDX_IO_6AH 103,5524 -#define IDX_IO_6CH 104,5668 -#define IDX_IO_6EH 105,5743 -#define IDX_IO2_LEGACY_ADDR 110,5972 - #define LEGACY_SOMETHING 111,6005 - #define LEGACY_JOY 112,6052 - #define MIXER_VOLUME_RIGHT_MASK 118,6309 - #define MIXER_VOLUME_LEFT_MASK 119,6350 - #define MIXER_MUTE_MASK 120,6390 -#define IDX_MIXER_RESET 121,6424 -#define IDX_MIXER_PLAY_MASTER 122,6495 -#define IDX_MIXER_MODEMOUT 123,6532 -#define IDX_MIXER_BASSTREBLE 124,6569 - #define MIXER_BASSTREBLE_TREBLE_VOLUME_MASK 125,6606 - #define MIXER_BASSTREBLE_BASS_VOLUME_MASK 126,6659 -#define IDX_MIXER_PCBEEP 127,6710 -#define IDX_MIXER_MODEMIN 128,6747 -#define IDX_MIXER_MIC 129,6784 - #define MIXER_MIC_MICGAIN_20DB_ENHANCEMENT_MASK 130,6821 -#define IDX_MIXER_LINEIN 131,6878 -#define IDX_MIXER_CDAUDIO 132,6915 -#define IDX_MIXER_VIDEO 133,6952 -#define IDX_MIXER_AUX 134,6989 -#define IDX_MIXER_WAVEOUT 135,7026 -#define IDX_MIXER_FMSYNTH 136,7063 -#define IDX_MIXER_REC_SELECT 137,7100 - #define MIXER_REC_SELECT_MIC 138,7137 - #define MIXER_REC_SELECT_CD 139,7174 - #define MIXER_REC_SELECT_VIDEO 140,7210 - #define MIXER_REC_SELECT_AUX 141,7248 - #define MIXER_REC_SELECT_LINEIN 142,7285 - #define MIXER_REC_SELECT_MIXSTEREO 143,7324 - #define MIXER_REC_SELECT_MIXMONO 144,7366 - #define MIXER_REC_SELECT_MONOIN 145,7406 -#define IDX_MIXER_REC_VOLUME 146,7445 -#define IDX_MIXER_ADVCTL1 147,7482 - #define MIXER_ADVCTL1_3DWIDTH_MASK 149,7558 - #define MIXER_ADVCTL1_HIFI3D_MASK 150,7602 -#define IDX_MIXER_ADVCTL2 151,7645 - #define MIXER_ADVCTL2_BIT7 153,7764 - #define MIXER_ADVCTL2_BIT8 154,7852 - #define MIXER_ADVCTL2_BIT9 155,7922 - #define MIXER_ADVCTL2_BIT13 156,7986 - #define MIXER_ADVCTL2_BIT15 157,8042 -#define IDX_MIXER_SOMETHING30H 159,8097 -#define SET_CHAN_LEFT 162,8190 -#define SET_CHAN_RIGHT 163,8214 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ens1371.c,21 -#define CHIP13711,0 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/vx222/vx222.h,2024 -#define __VX222_H22,864 -struct snd_vx222 snd_vx22226,911 -#define VX2_AKM_LEVEL_MAX 43,1367 -#define VX_RESET_DMA_REGISTER_OFFSET 49,1530 -#define VX_INTCSR_VALUE 52,1634 -#define VX_PCI_INTERRUPT_MASK 53,1685 -#define VX_CDSP_TEST1_MASK 56,1794 -#define VX_CDSP_TOR1_MASK 57,1845 -#define VX_CDSP_TOR2_MASK 58,1896 -#define VX_CDSP_RESERVED0_0_MASK 59,1947 -#define VX_CDSP_CODEC_RESET_MASK 60,1998 -#define VX_CDSP_VALID_IRQ_MASK 61,2049 -#define VX_CDSP_TEST0_MASK 62,2100 -#define VX_CDSP_DSP_RESET_MASK 63,2151 -#define VX_CDSP_GPIO_OUT_MASK 65,2203 -#define VX_GPIO_OUT_BIT_OFFSET 66,2254 -#define VX_CFG_SYNCDSP_MASK 69,2402 -#define VX_CFG_RESERVED0_0_MASK 70,2453 -#define VX_CFG_RESERVED1_0_MASK 71,2504 -#define VX_CFG_RESERVED2_0_MASK 72,2555 -#define VX_CFG_DATAIN_SEL_MASK 73,2606 -#define VX_CFG_RESERVED3_0_MASK 74,2681 -#define VX_CFG_RESERVED4_0_MASK 75,2732 -#define VX_CFG_CLOCKIN_SEL_MASK 76,2783 -#define VX_STATUS_DATA_XICOR_MASK 79,2927 -#define VX_STATUS_VAL_TEST1_MASK 80,2978 -#define VX_STATUS_VAL_TEST0_MASK 81,3029 -#define VX_STATUS_RESERVED0_MASK 82,3080 -#define VX_STATUS_VAL_TOR1_MASK 83,3131 -#define VX_STATUS_VAL_TOR0_MASK 84,3182 -#define VX_STATUS_LEVEL_IN_MASK 85,3233 -#define VX_STATUS_MEMIRQ_MASK 86,3312 -#define VX_STATUS_GPIO_IN_MASK 88,3364 -#define VX_GPIO_IN_BIT_OFFSET 89,3415 -#define MICRO_SELECT_INPUT_NORM 92,3571 -#define MICRO_SELECT_INPUT_MUTE 93,3615 -#define MICRO_SELECT_INPUT_LIMIT 94,3659 -#define MICRO_SELECT_INPUT_MASK 95,3703 -#define MICRO_SELECT_PREAMPLI_G_0 97,3748 -#define MICRO_SELECT_PREAMPLI_G_1 98,3792 -#define MICRO_SELECT_PREAMPLI_G_2 99,3836 -#define MICRO_SELECT_PREAMPLI_G_3 100,3880 -#define MICRO_SELECT_PREAMPLI_MASK 101,3924 -#define MICRO_SELECT_PREAMPLI_OFFSET 102,3968 -#define MICRO_SELECT_RAISE_COMPR 104,4010 -#define MICRO_SELECT_NOISE_T_52DB 106,4055 -#define MICRO_SELECT_NOISE_T_42DB 107,4099 -#define MICRO_SELECT_NOISE_T_32DB 108,4143 -#define MICRO_SELECT_NOISE_T_MASK 109,4187 -#define MICRO_SELECT_PHANTOM_ALIM 111,4232 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/vx222/vx222.c,825 -#define CARD_NAME 31,1081 -static int index[38,1279 -static char *id[39,1348 -static int enable[40,1421 -static int mic[41,1503 -static int ibl[42,1549 -static int boot_devs;43,1595 - VX_PCI_VX222_OLD,60,2187 - VX_PCI_VX222_NEW61,2206 -static struct pci_device_id snd_vx222_ids[64,2228 -static struct snd_vx_hardware vx222_old_hw 76,2503 -static struct snd_vx_hardware vx222_v2_hw 87,2712 -static struct snd_vx_hardware vx222_mic_hw 98,2910 -static int snd_vx222_free(112,3119 -static int snd_vx222_dev_free(124,3350 -static int __devinit snd_vx222_create(131,3478 -static int __devinit snd_vx222_probe(183,4712 -static void __devexit snd_vx222_remove(241,5895 -static struct pci_driver driver 247,6027 -static int __init alsa_card_vx222_init(254,6191 -static void __exit alsa_card_vx222_exit(259,6275 -module_init(264,6359 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/vx222/vx222_ops.c,2302 -static int vx2_reg_offset[31,1032 -static int vx2_reg_index[57,1785 -inline static unsigned long vx2_reg_addr(83,2259 -static unsigned char vx2_inb(93,2527 -static void vx2_outb(103,2745 -static unsigned int vx2_inl(113,3009 -static void vx2_outl(123,3230 -#define vx_inb(vx_inb133,3465 -#define vx_outb(vx_outb135,3543 -#define vx_inl(vx_inl137,3631 -#define vx_outl(vx_outl139,3709 -#define XX_DSP_RESET_WAIT_TIME 146,3825 -static void vx2_reset_dsp(148,3869 -static int vx2_test_xilinx(163,4231 -static void vx2_setup_pseudo_dma(220,5920 -inline static void vx2_release_pseudo_dma(236,6358 -static void vx2_dma_write(245,6497 -static void vx2_dma_read(283,7372 -#define VX_XILINX_RESET_MASK 314,8193 -#define VX_USERBIT0_MASK 315,8240 -#define VX_USERBIT1_MASK 316,8287 -#define VX_CNTRL_REGISTER_VALUE 317,8334 -static int put_xilinx_data(322,8420 -static int vx2_load_xilinx_binary(354,9061 -static int vx2_load_dsp(403,10380 -static int vx2_test_and_ack(438,11044 -static void vx2_validate_irq(469,11790 -static void vx2_write_codec_reg(490,12383 -#define AKM_CODEC_POWER_CONTROL_CMD 504,12743 -#define AKM_CODEC_RESET_ON_CMD 505,12786 -#define AKM_CODEC_RESET_OFF_CMD 506,12829 -#define AKM_CODEC_CLOCK_FORMAT_CMD 507,12872 -#define AKM_CODEC_MUTE_CMD 508,12915 -#define AKM_CODEC_UNMUTE_CMD 509,12958 -#define AKM_CODEC_LEFT_LEVEL_CMD 510,13001 -#define AKM_CODEC_RIGHT_LEVEL_CMD 511,13044 -static const u8 vx2_akm_gains_lut[513,13088 -static void vx2_write_akm(666,25613 -static void vx2_old_write_codec_bit(701,26448 -static void vx2_reset_codec(719,26810 -static void vx2_change_audio_source(761,28049 -static void vx2_set_clock_source(780,28398 -static void vx2_reset_board(794,28706 -#define V2_MICRO_LEVEL_RANGE 813,29297 -static void vx2_set_input_level(815,29346 -#define MIC_LEVEL_MAX 847,30399 -static int vx_input_level_info(854,30487 -static int vx_input_level_get(863,30725 -static int vx_input_level_put(874,31101 -static int vx_mic_level_info(892,31696 -static int vx_mic_level_get(901,31932 -static int vx_mic_level_put(909,32189 -static snd_kcontrol_new_t vx_control_input_level 924,32632 -static snd_kcontrol_new_t vx_control_mic_level 932,32844 -static int vx2_add_mic_controls(944,33122 -struct snd_vx_ops vx222_ops 970,33664 -struct snd_vx_ops vx222_old_ops 990,34208 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/intel8x0m.c,5715 -static int index[54,1755 -static char *id[55,1824 -static int enable[56,1897 -static int ac97_clock[57,1979 -static int boot_devs;58,2049 -#define PCI_DEVICE_ID_INTEL_82801_6 74,2595 -#define PCI_DEVICE_ID_INTEL_82901_6 77,2685 -#define PCI_DEVICE_ID_INTEL_82801BA_6 80,2777 -#define PCI_DEVICE_ID_INTEL_440MX_6 83,2867 -#define PCI_DEVICE_ID_INTEL_ICH3_6 86,2956 -#define PCI_DEVICE_ID_INTEL_ICH4_6 89,3040 -#define PCI_DEVICE_ID_INTEL_ICH5_6 92,3124 -#define PCI_DEVICE_ID_SI_7013 95,3203 -#define PCI_DEVICE_ID_NVIDIA_MCP_MODEM 98,3287 -#define PCI_DEVICE_ID_NVIDIA_MCP2_MODEM 101,3380 -#define PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM 104,3475 -#define PCI_DEVICE_ID_NVIDIA_MCP3_MODEM 107,3570 -enum { DEVICE_INTEL,111,3626 -enum { DEVICE_INTEL, DEVICE_SIS,111,3626 -enum { DEVICE_INTEL, DEVICE_SIS, DEVICE_ALI,111,3626 -enum { DEVICE_INTEL, DEVICE_SIS, DEVICE_ALI, DEVICE_NFORCE 111,3626 -#define ICHREG(ICHREG113,3689 -#define DEFINE_REGSET(DEFINE_REGSET115,3720 -#define ICH_REG_LVI_MASK 132,4399 -#define ICH_FIFOE 135,4440 -#define ICH_BCIS 136,4482 -#define ICH_LVBCI 137,4547 -#define ICH_CELV 138,4617 -#define ICH_DCH 139,4673 -#define ICH_REG_PIV_MASK 142,4736 -#define ICH_IOCE 145,4788 -#define ICH_FEIE 146,4849 -#define ICH_LVBIE 147,4907 -#define ICH_RESETREGS 148,4973 -#define ICH_STARTBM 149,5034 -#define ICH_REG_GLOB_CNT 153,5114 -#define ICH_TRIE 154,5174 -#define ICH_SRIE 155,5244 -#define ICH_PRIE 156,5315 -#define ICH_ACLINK 157,5384 -#define ICH_AC97WARM 158,5439 -#define ICH_AC97COLD 159,5497 -#define ICH_GIE 160,5555 -#define ICH_REG_GLOB_STA 161,5612 -#define ICH_TRI 162,5671 -#define ICH_TCR 163,5750 -#define ICH_BCS 164,5824 -#define ICH_SPINT 165,5884 -#define ICH_P2INT 166,5945 -#define ICH_M2INT 167,6007 -#define ICH_SAMPLE_CAP 168,6069 -#define ICH_MULTICHAN_CAP 169,6145 -#define ICH_MD3 170,6231 -#define ICH_AD3 171,6294 -#define ICH_RCS 172,6357 -#define ICH_BIT3 173,6416 -#define ICH_BIT2 174,6467 -#define ICH_BIT1 175,6518 -#define ICH_SRI 176,6569 -#define ICH_PRI 177,6643 -#define ICH_SCR 178,6715 -#define ICH_PCR 179,6784 -#define ICH_MCINT 180,6851 -#define ICH_POINT 181,6911 -#define ICH_PIINT 182,6968 -#define ICH_NVSPINT 183,7024 -#define ICH_MOINT 184,7087 -#define ICH_MIINT 185,7150 -#define ICH_GSCI 186,7212 -#define ICH_REG_ACC_SEMA 187,7277 -#define ICH_CAS 188,7343 -#define ICH_MAX_FRAGS 190,7398 -enum { ICHD_MDMIN,197,7459 -enum { ICHD_MDMIN, ICHD_MDMOUT,197,7459 -enum { ICHD_MDMIN, ICHD_MDMOUT, ICHD_MDMLAST 197,7459 -enum { ICHD_MDMIN, ICHD_MDMOUT, ICHD_MDMLAST = ICHD_MDMOUT 197,7459 -enum { ALID_MDMIN,198,7521 -enum { ALID_MDMIN, ALID_MDMOUT,198,7521 -enum { ALID_MDMIN, ALID_MDMOUT, ALID_MDMLAST 198,7521 -enum { ALID_MDMIN, ALID_MDMOUT, ALID_MDMLAST = ALID_MDMOUT 198,7521 -#define get_ichdev(get_ichdev200,7584 -} ichdev_t;ichdev_t225,8368 -typedef struct _snd_intel8x0m intel8x0_t;intel8x0_t227,8381 -struct _snd_intel8x0m _snd_intel8x0m229,8424 -static struct pci_device_id snd_intel8x0m_ids[263,9019 -static u8 igetbyte(290,10353 -static u16 igetword(298,10515 -static u32 igetdword(306,10678 -static void iputbyte(314,10842 -static void iputword(322,11012 -static void iputdword(330,11183 -static u16 iagetword(342,11398 -static void iaputword(350,11555 -static unsigned int get_ich_codec_bit(367,11869 -static int snd_intel8x0m_codec_semaphore(376,12086 -static void snd_intel8x0_codec_write(406,12999 -static unsigned short snd_intel8x0_codec_read(421,13447 -static void snd_intel8x0_setup_periods(451,14298 -static inline void snd_intel8x0_update(498,16149 -static irqreturn_t snd_intel8x0_interrupt(542,17603 -static int snd_intel8x0_pcm_trigger(579,18435 -static int snd_intel8x0_hw_params(614,19338 -static int snd_intel8x0_hw_free(620,19526 -static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(625,19639 -static int snd_intel8x0m_pcm_trigger(642,20113 -static int snd_intel8x0m_pcm_prepare(662,20696 -static snd_pcm_hardware_t snd_intel8x0m_stream 677,21237 -static int snd_intel8x0m_pcm_open(699,21831 -static int snd_intel8x0m_playback_open(719,22408 -static int snd_intel8x0m_playback_close(726,22610 -static int snd_intel8x0m_capture_open(734,22798 -static int snd_intel8x0m_capture_close(741,22998 -static snd_pcm_ops_t snd_intel8x0m_playback_ops 750,23185 -static snd_pcm_ops_t snd_intel8x0m_capture_ops 761,23537 -struct ich_pcm_table ich_pcm_table773,23887 -static int __devinit snd_intel8x0_pcm1(782,24053 -static struct ich_pcm_table intel_pcms[819,25025 -static struct ich_pcm_table intel_pcms[] __devinitdata 819,25025 -static int __devinit snd_intel8x0_pcm(829,25272 -static void snd_intel8x0_mixer_free_ac97_bus(876,26067 -static void snd_intel8x0_mixer_free_ac97(882,26197 -static int __devinit snd_intel8x0_mixer(889,26318 -#define do_delay(do_delay947,27776 -static int snd_intel8x0m_ich_chip_init(952,27884 -static int snd_intel8x0_chip_init(1030,30150 -static int snd_intel8x0_free(1051,30834 -static int intel8x0m_suspend(1083,31619 -static int intel8x0m_resume(1096,31932 -static void snd_intel8x0m_proc_read(1110,32273 -static void __devinit snd_intel8x0m_proc_init(1129,32953 -static int snd_intel8x0_dev_free(1137,33178 -struct ich_reg_info ich_reg_info1143,33312 -static int __devinit snd_intel8x0m_create(1148,33388 -static struct shortname_table shortname_table1291,37388 -} shortnames[1294,37454 -} shortnames[] __devinitdata 1294,37454 -static int __devinit snd_intel8x0m_probe(1315,38234 -static void __devexit snd_intel8x0m_remove(1381,39565 -static struct pci_driver driver 1387,39701 -static int __init alsa_card_intel8x0m_init(1396,39901 -static void __exit alsa_card_intel8x0m_exit(1401,39989 -module_init(1406,40077 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/cs46xx_image.h,74 -struct BA1struct BA1struct1,0 -static struct BA1struct BA1Struct 10,135 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/cs46xx.c,525 -static int index[48,1656 -static char *id[49,1725 -static int enable[50,1798 -static int external_amp[51,1880 -static int thinkpad[52,1952 -static int mmap_valid[53,2020 -static int boot_devs;54,2090 -static struct pci_device_id snd_cs46xx_ids[69,2803 -static int __devinit snd_card_cs46xx_probe(78,3138 -static void __devexit snd_card_cs46xx_remove(159,4822 -static struct pci_driver driver 165,4960 -static int __init alsa_card_cs46xx_init(173,5164 -static void __exit alsa_card_cs46xx_exit(178,5249 -module_init(183,5334 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/dsp_spos.h,4819 -#define __DSP_SPOS_H__28,1009 -#define DSP_MAX_SYMBOLS 30,1033 -#define DSP_MAX_MODULES 31,1062 -#define DSP_CODE_BYTE_SIZE 33,1090 -#define DSP_PARAMETER_BYTE_SIZE 34,1142 -#define DSP_SAMPLE_BYTE_SIZE 35,1194 -#define DSP_PARAMETER_BYTE_OFFSET 36,1246 -#define DSP_SAMPLE_BYTE_OFFSET 37,1298 -#define DSP_CODE_BYTE_OFFSET 38,1350 -#define WIDE_INSTR_MASK 40,1403 -#define WIDE_LADD_INSTR_MASK 41,1440 - WIDE_FOR_BEGIN_LOOP 47,1577 - WIDE_FOR_BEGIN_LOOP = 0x20,47,1577 - WIDE_FOR_BEGIN_LOOP2,48,1606 - WIDE_COND_GOTO_ADDR 50,1630 - WIDE_COND_GOTO_ADDR = 0x30,50,1630 - WIDE_COND_GOTO_CALL,51,1659 - WIDE_TBEQ_COND_GOTO_ADDR 53,1682 - WIDE_TBEQ_COND_GOTO_ADDR = 0x70,53,1682 - WIDE_TBEQ_COND_CALL_ADDR,54,1716 - WIDE_TBEQ_NCOND_GOTO_ADDR,55,1743 - WIDE_TBEQ_NCOND_CALL_ADDR,56,1771 - WIDE_TBEQ_COND_GOTO1_ADDR,57,1799 - WIDE_TBEQ_COND_CALL1_ADDR,58,1827 - WIDE_TBEQ_NCOND_GOTOI_ADDR,59,1855 - WIDE_TBEQ_NCOND_CALL1_ADDR,60,1884 -} wide_opcode_t;wide_opcode_t61,1913 -#define VARI_DECIMATE_BUF1 64,1952 -#define WRITE_BACK_BUF1 65,1992 -#define CODEC_INPUT_BUF1 66,2032 -#define PCM_READER_BUF1 67,2072 -#define SRC_DELAY_BUF1 68,2112 -#define VARI_DECIMATE_BUF0 69,2152 -#define SRC_OUTPUT_BUF1 70,2192 -#define ASYNC_IP_OUTPUT_BUFFER1 71,2232 -#define OUTPUT_SNOOP_BUFFER 72,2272 -#define SPDIFI_IP_OUTPUT_BUFFER1 73,2312 -#define SPDIFO_IP_OUTPUT_BUFFER1 74,2352 -#define MIX_SAMPLE_BUF1 75,2392 -#define MIX_SAMPLE_BUF2 76,2432 -#define MIX_SAMPLE_BUF3 77,2472 -#define MIX_SAMPLE_BUF4 78,2512 -#define MIX_SAMPLE_BUF5 79,2552 -#define HFG_STACK 82,2618 -#define FG_STACK 83,2658 -#define BG_STACK 84,2698 -#define SPOSCB_ADDR 87,2761 -#define BG_TREE_SCB_ADDR 88,2800 -#define NULL_SCB_ADDR 89,2839 -#define TIMINGMASTER_SCB_ADDR 90,2878 -#define CODECOUT_SCB_ADDR 91,2917 -#define PCMREADER_SCB_ADDR 92,2956 -#define WRITEBACK_SCB_ADDR 93,2995 -#define CODECIN_SCB_ADDR 94,3034 -#define MASTERMIX_SCB_ADDR 95,3073 -#define SRCTASK_SCB_ADDR 96,3112 -#define VARIDECIMATE_SCB_ADDR 97,3151 -#define PCMSERIALIN_SCB_ADDR 98,3190 -#define FG_TASK_HEADER_ADDR 99,3229 -#define ASYNCTX_SCB_ADDR 100,3268 -#define ASYNCRX_SCB_ADDR 101,3307 -#define SRCTASKII_SCB_ADDR 102,3346 -#define OUTPUTSNOOP_SCB_ADDR 103,3385 -#define PCMSERIALINII_SCB_ADDR 104,3424 -#define SPIOWRITE_SCB_ADDR 105,3463 -#define REAR_CODECOUT_SCB_ADDR 106,3502 -#define OUTPUTSNOOPII_SCB_ADDR 107,3541 -#define PCMSERIALIN_PCM_SCB_ADDR 108,3580 -#define RECORD_MIXER_SCB_ADDR 109,3619 -#define REAR_MIXER_SCB_ADDR 110,3658 -#define CLFE_MIXER_SCB_ADDR 111,3697 -#define CLFE_CODEC_SCB_ADDR 112,3736 -#define HFG_TREE_SCB 115,3802 -#define SPDIFI_SCB_INST 116,3841 -#define SPDIFO_SCB_INST 117,3880 -#define WRITE_BACK_SPB 118,3919 -#define AsyncCIOFIFOPointer 121,3973 -#define SPDIFOFIFOPointer 122,4006 -#define SPDIFIFIFOPointer 123,4039 -#define TCBData 124,4072 -#define HFGFlags 125,4105 -#define TCBContextBlk 126,4138 -#define AFGTxAccumPhi 127,4172 -#define SCBsubListPtr 128,4205 -#define SCBfuncEntryPtr 129,4238 -#define SRCCorPerGof 130,4271 -#define SRCPhiIncr6Int26Frac 131,4304 -#define SCBVolumeCtrl 132,4337 -#define UseASER1Input 135,4382 -#define RSCONFIG_MODULO_SIZE_MASK 144,4505 -#define RSCONFIG_MODULO_16 145,4565 -#define RSCONFIG_MODULO_32 146,4625 -#define RSCONFIG_MODULO_64 147,4685 -#define RSCONFIG_MODULO_128 148,4745 -#define RSCONFIG_MODULO_256 149,4805 -#define RSCONFIG_MODULO_512 150,4865 -#define RSCONFIG_MODULO_1024 151,4925 -#define RSCONFIG_MODULO_4 152,4985 -#define RSCONFIG_MODULO_8 153,5045 -#define RSCONFIG_SAMPLE_SIZE_MASK 154,5105 -#define RSCONFIG_SAMPLE_8MONO 155,5165 -#define RSCONFIG_SAMPLE_8STEREO 156,5225 -#define RSCONFIG_SAMPLE_16MONO 157,5285 -#define RSCONFIG_SAMPLE_16STEREO 158,5345 -#define RSCONFIG_UNDERRUN_ZERO 159,5405 -#define RSCONFIG_DMA_TO_HOST 160,5465 -#define RSCONFIG_STREAM_NUM_MASK 161,5525 -#define RSCONFIG_MAX_DMA_SIZE_MASK 162,5585 -#define RSCONFIG_DMA_ENABLE 163,5645 -#define RSCONFIG_PRIORITY_MASK 164,5705 -#define RSCONFIG_PRIORITY_HIGH 165,5765 -#define RSCONFIG_PRIORITY_MEDIUM_HIGH 166,5825 -#define RSCONFIG_PRIORITY_MEDIUM_LOW 167,5885 -#define RSCONFIG_PRIORITY_LOW 168,5945 -#define RSCONFIG_STREAM_NUM_SHIFT 169,6005 -#define RSCONFIG_MAX_DMA_SIZE_SHIFT 170,6057 -#define FG_INTERVAL_TIMER_PERIOD 173,6129 -#define BG_INTERVAL_TIMER_PERIOD 174,6184 -#define SP_ASER_COUNTDOWN 178,6276 -#define SP_SPDOUT_FIFO 179,6309 -#define SP_SPDIN_MI_FIFO 180,6342 -#define SP_SPDIN_D_FIFO 181,6375 -#define SP_SPDIN_STATUS 182,6408 -#define SP_SPDIN_CONTROL 183,6441 -#define SP_SPDIN_FIFOPTR 184,6474 -#define SP_SPDOUT_STATUS 185,6507 -#define SP_SPDOUT_CONTROL 186,6540 -#define SP_SPDOUT_CSUV 187,6573 -static inline u8 _wrap_all_bits 189,6607 -static inline void cs46xx_dsp_spos_update_scb 208,6914 -static inline void cs46xx_dsp_scb_set_volume 217,7195 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/cs46xx_lib.c,7302 -static unsigned short snd_cs46xx_codec_read(71,2673 -static unsigned short snd_cs46xx_ac97_read(193,6236 -static void snd_cs46xx_codec_write(216,6813 -static void snd_cs46xx_ac97_write(281,8910 -int snd_cs46xx_download(306,9492 -int snd_cs46xx_clear_BA1(335,10167 -int snd_cs46xx_download_image(359,10713 -static void snd_cs46xx_reset(380,11155 -static int cs46xx_wait_for_fifo(409,11754 -static void snd_cs46xx_clear_serial_FIFOs(433,12217 -static void snd_cs46xx_proc_start(487,13612 -static void snd_cs46xx_proc_stop(514,14285 -#define GOF_PER_SEC 527,14526 -static void snd_cs46xx_set_play_sample_rate(529,14551 -static void snd_cs46xx_set_capture_sample_rate(575,16034 -static void snd_cs46xx_pb_trans_copy(685,19478 -static int snd_cs46xx_playback_transfer(693,19780 -static void snd_cs46xx_cp_trans_copy(701,20054 -static int snd_cs46xx_capture_transfer(710,20376 -static snd_pcm_uframes_t snd_cs46xx_playback_direct_pointer(717,20610 -static snd_pcm_uframes_t snd_cs46xx_playback_indirect_pointer(733,21103 -static snd_pcm_uframes_t snd_cs46xx_capture_direct_pointer(749,21645 -static snd_pcm_uframes_t snd_cs46xx_capture_indirect_pointer(756,21899 -static int snd_cs46xx_playback_trigger(763,22201 -static int snd_cs46xx_capture_trigger(828,23954 -static int _cs46xx_adjust_sample_rate 859,24672 -static int snd_cs46xx_playback_hw_params(894,25785 -static int snd_cs46xx_playback_hw_free(996,28666 -static int snd_cs46xx_playback_prepare(1018,29207 -static int snd_cs46xx_capture_hw_params(1088,31342 -static int snd_cs46xx_capture_hw_free(1119,32320 -static int snd_cs46xx_capture_prepare(1133,32675 -static irqreturn_t snd_cs46xx_interrupt(1148,33219 -static snd_pcm_hardware_t snd_cs46xx_playback 1242,35754 -static snd_pcm_hardware_t snd_cs46xx_capture 1264,36461 -static unsigned int period_sizes[1286,37066 -static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes 1288,37143 -static void snd_cs46xx_pcm_free_substream(1296,37293 -static int _cs46xx_playback_open_channel 1302,37428 -static int snd_cs46xx_playback_open(1344,38493 -static int snd_cs46xx_playback_open_rear(1351,38709 -static int snd_cs46xx_playback_open_clfe(1358,38897 -static int snd_cs46xx_playback_open_iec958(1365,39099 -static int snd_cs46xx_playback_close_iec958(1380,39504 -static int snd_cs46xx_capture_open(1397,39850 -static int snd_cs46xx_playback_close(1420,40488 -static int snd_cs46xx_capture_close(1449,41149 -snd_pcm_ops_t snd_cs46xx_playback_rear_ops 1461,41423 -snd_pcm_ops_t snd_cs46xx_playback_indirect_rear_ops 1472,41805 -snd_pcm_ops_t snd_cs46xx_playback_clfe_ops 1484,42238 -snd_pcm_ops_t snd_cs46xx_playback_indirect_clfe_ops 1495,42620 -snd_pcm_ops_t snd_cs46xx_playback_iec958_ops 1507,43053 -snd_pcm_ops_t snd_cs46xx_playback_indirect_iec958_ops 1518,43446 -snd_pcm_ops_t snd_cs46xx_playback_ops 1532,43898 -snd_pcm_ops_t snd_cs46xx_playback_indirect_ops 1543,44270 -snd_pcm_ops_t snd_cs46xx_capture_ops 1555,44693 -snd_pcm_ops_t snd_cs46xx_capture_indirect_ops 1566,45057 -static void snd_cs46xx_pcm_free(1578,45471 -static void snd_cs46xx_pcm_rear_free(1586,45657 -static void snd_cs46xx_pcm_center_lfe_free(1593,45820 -static void snd_cs46xx_pcm_iec958_free(1600,45995 -#define MAX_PLAYBACK_CHANNELS 1607,46162 -#define MAX_PLAYBACK_CHANNELS 1609,46225 -int __devinit snd_cs46xx_pcm(1612,46265 -int __devinit snd_cs46xx_pcm_rear(1644,47017 -int __devinit snd_cs46xx_pcm_center_lfe(1674,47696 -int __devinit snd_cs46xx_pcm_iec958(1704,48405 -static void snd_cs46xx_mixer_free_ac97_bus(1738,49107 -static void snd_cs46xx_mixer_free_ac97(1745,49234 -static int snd_cs46xx_vol_info(1761,49662 -static int snd_cs46xx_vol_get(1771,49904 -static int snd_cs46xx_vol_put(1781,50260 -static int snd_cs46xx_vol_dac_get(1799,50746 -static int snd_cs46xx_vol_dac_put(1809,51062 -static int snd_cs46xx_vol_iec958_get(1826,51554 -static int snd_cs46xx_vol_iec958_put(1835,51888 -static int snd_mixer_boolean_info(1852,52412 -static int snd_cs46xx_iec958_get(1862,52648 -static int snd_cs46xx_iec958_put(1876,53122 -static int snd_cs46xx_adc_capture_get(1913,54283 -static int snd_cs46xx_adc_capture_put(1927,54655 -static int snd_cs46xx_pcm_capture_get(1944,55168 -static int snd_cs46xx_pcm_capture_put(1959,55540 -static int snd_herc_spdif_select_get(1977,56054 -static int snd_herc_spdif_select_put(1995,56510 -static int snd_cs46xx_spdif_info(2020,57397 -static int snd_cs46xx_spdif_default_get(2027,57563 -static int snd_cs46xx_spdif_default_put(2043,58148 -static int snd_cs46xx_spdif_mask_get(2070,58955 -static int snd_cs46xx_spdif_stream_get(2080,59245 -static int snd_cs46xx_spdif_stream_put(2096,59862 -static int snd_cs46xx_egpio_select_info(2127,60760 -static int snd_cs46xx_egpio_select_get(2137,61036 -static int snd_cs46xx_egpio_select_put(2146,61293 -static int snd_cs46xx_egpio_get(2157,61628 -static int snd_cs46xx_egpio_put(2170,62039 -static snd_kcontrol_new_t snd_cs46xx_controls[2191,62669 -static snd_kcontrol_new_t snd_cs46xx_controls[] __devinitdata 2191,62669 -static snd_kcontrol_new_t snd_hercules_controls[2321,66008 -static snd_kcontrol_new_t snd_hercules_controls[] __devinitdata 2321,66008 -static void snd_cs46xx_codec_reset 2332,66274 -int __devinit snd_cs46xx_mixer(2383,67782 -static void snd_cs46xx_midi_reset(2513,71427 -static int snd_cs46xx_midi_input_open(2520,71597 -static int snd_cs46xx_midi_input_close(2538,72069 -static int snd_cs46xx_midi_output_open(2556,72554 -static int snd_cs46xx_midi_output_close(2575,73029 -static void snd_cs46xx_midi_input_trigger(2593,73516 -static void snd_cs46xx_midi_output_trigger(2613,74044 -static snd_rawmidi_ops_t snd_cs46xx_midi_output 2643,74945 -static snd_rawmidi_ops_t snd_cs46xx_midi_input 2650,75124 -int __devinit snd_cs46xx_midi(2657,75299 -typedef struct snd_cs46xx_gameport snd_cs46xx_gameport2684,76063 -} cs46xx_gameport_t;cs46xx_gameport_t2687,76140 -static void snd_cs46xx_gameport_trigger(2689,76162 -static unsigned char snd_cs46xx_gameport_read(2698,76422 -static int snd_cs46xx_gameport_cooked_read(2707,76683 -static int snd_cs46xx_gameport_open(2732,77423 -void __devinit snd_cs46xx_gameport(2745,77632 -void __devinit snd_cs46xx_gameport(2768,78240 -static long snd_cs46xx_io_read(2778,78353 -static struct snd_info_entry_ops snd_cs46xx_proc_io_ops 2795,78826 -static int __devinit snd_cs46xx_proc_init(2799,78919 -static int snd_cs46xx_proc_done(2820,79464 -static void snd_cs46xx_hw_stop(2831,79620 -static int snd_cs46xx_free(2878,80671 -static int snd_cs46xx_dev_free(2928,81777 -static int snd_cs46xx_chip_init(2937,81932 -int __devinit snd_cs46xx_start_dsp(3169,88882 -static void amp_none(3271,91214 -static int voyetra_setup_eapd_slot(3276,91302 -static void amp_voyetra(3396,94213 -static void hercules_init(3432,95040 -static void amp_hercules(3443,95328 -static void voyetra_mixer_init 3464,96071 -static void hercules_mixer_init 3473,96307 -static void amp_voyetra_4294(3505,96921 -#define PCI_VENDOR_ID_INTEL 3530,97584 -#define PCI_DEVICE_ID_INTEL_82371AB_3 3534,97691 -static void clkrun_hack(3546,98071 -static void clkrun_init(3571,98486 -struct cs_card_typecs_card_type3589,98849 -static struct cs_card_type __devinitdata cards[3600,99035 -static int snd_cs46xx_suspend(3697,100825 -static int snd_cs46xx_resume(3721,101633 -int __devinit snd_cs46xx_create(3762,102642 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/dsp_spos_scb_lib.c,1992 -typedef struct _proc_scb_info_t _proc_scb_info_t39,1120 -} proc_scb_info_t;proc_scb_info_t42,1205 -static void remove_symbol 44,1225 -static void cs46xx_dsp_proc_scb_info_read 67,1964 -static void _dsp_unlink_scb 109,3291 -static void _dsp_clear_sample_buffer 163,4964 -void cs46xx_dsp_remove_scb 174,5224 -void cs46xx_dsp_proc_free_scb_desc 221,6347 -void cs46xx_dsp_proc_register_scb_desc 236,6727 -_dsp_create_generic_scb 277,7780 -cs46xx_dsp_create_generic_scb 346,9766 -cs46xx_dsp_create_timing_master_scb 366,10398 -cs46xx_dsp_create_codec_out_scb(400,11116 -cs46xx_dsp_create_codec_in_scb(439,12117 -cs46xx_dsp_create_pcm_reader_scb(485,13355 -#define GOF_PER_SEC 585,17650 -cs46xx_dsp_create_src_task_scb(588,17699 -cs46xx_dsp_create_filter_scb(691,20778 -cs46xx_dsp_create_mix_only_scb(740,22012 -cs46xx_dsp_create_mix_to_ostream_scb(780,22904 -cs46xx_dsp_create_vari_decimate_scb(834,24279 -cs46xx_dsp_create_pcm_serial_input_scb(878,25319 -cs46xx_dsp_create_asynch_fg_tx_scb(921,26140 -cs46xx_dsp_create_asynch_fg_rx_scb(968,27749 -cs46xx_dsp_create_output_snoop_scb(1017,29407 -cs46xx_dsp_create_spio_write_scb(1058,30264 -dsp_scb_descriptor_t * cs46xx_dsp_create_magic_snoop_scb(1093,31198 -static dsp_scb_descriptor_t * find_next_free_scb 1128,32374 -static u32 pcm_reader_buffer_addr[1142,32715 -static u32 src_output_buffer_addr[1177,33346 -static u32 src_delay_buffer_addr[1194,33535 -pcm_channel_descriptor_t * cs46xx_dsp_create_pcm_channel 1211,33717 -int cs46xx_dsp_pcm_channel_set_period 1370,38594 -int cs46xx_dsp_pcm_ostream_set_period 1409,39454 -void cs46xx_dsp_destroy_pcm_channel 1447,40211 -int cs46xx_dsp_pcm_unlink 1477,41107 -int cs46xx_dsp_pcm_link 1502,41733 -dsp_scb_descriptor_t * cs46xx_add_record_source 1543,42887 -int cs46xx_src_unlink(1568,43678 -int cs46xx_src_link(1580,43911 -int cs46xx_dsp_enable_spdif_out 1604,44577 -int cs46xx_dsp_disable_spdif_out 1652,46081 -int cs46xx_iec958_pre_open 1684,47082 -int cs46xx_iec958_post_close 1717,48032 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/dsp_spos.c,1899 -static wide_opcode_t wide_opcodes[40,1172 -static int shadow_and_reallocate_code 55,1529 -static segment_desc_t * get_segment_desc 115,3406 -static int find_free_symbol_index 127,3656 -static int add_symbols 141,3947 -static symbol_entry_t * add_symbol 182,5488 -dsp_spos_instance_t * cs46xx_dsp_spos_create 218,6581 -void cs46xx_dsp_spos_destroy 278,8262 -int cs46xx_dsp_load_module 305,8767 -symbol_entry_t * cs46xx_dsp_lookup_symbol 417,12348 -symbol_entry_t * cs46xx_dsp_lookup_symbol_addr 442,12926 -static void cs46xx_dsp_proc_symbol_table_read 463,13391 -static void cs46xx_dsp_proc_modules_read 490,14125 -static void cs46xx_dsp_proc_task_tree_read 512,14906 -static void cs46xx_dsp_proc_scb_read 539,15683 -static void cs46xx_dsp_proc_parameter_dump_read 571,16744 -static void cs46xx_dsp_proc_sample_dump_read 598,17523 -int cs46xx_dsp_proc_init 745,20584 -int cs46xx_dsp_proc_done 859,23982 -static int debug_tree;909,25191 -static void _dsp_create_task_tree 910,25214 -static int debug_scb;923,25586 -static void _dsp_create_scb 924,25608 -static int find_free_scb_index 937,25960 -static dsp_scb_descriptor_t * _map_scb 951,26190 -static dsp_task_descriptor_t * _map_task_tree 984,27037 -dsp_scb_descriptor_t * cs46xx_dsp_create_scb 1007,27665 -dsp_task_descriptor_t * cs46xx_dsp_create_task_tree 1022,27972 -int cs46xx_dsp_scb_and_task_init 1036,28321 -int cs46xx_dsp_async_init 1455,40042 -static void cs46xx_dsp_disable_spdif_hw 1627,45852 -int cs46xx_dsp_enable_spdif_hw 1648,46448 -int cs46xx_dsp_enable_spdif_in 1671,47078 -int cs46xx_dsp_disable_spdif_in 1731,48875 -int cs46xx_dsp_enable_pcm_capture 1757,49468 -int cs46xx_dsp_disable_pcm_capture 1772,49919 -int cs46xx_dsp_enable_adc_capture 1786,50217 -int cs46xx_dsp_disable_adc_capture 1801,50619 -int cs46xx_poke_via_dsp 1815,50917 -int cs46xx_dsp_set_dac_volume 1852,52034 -int cs46xx_dsp_set_iec958_volume 1881,52674 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/cs46xx_lib.h,783 -#define __CS46XX_LIB_H__23,904 -#define CS46XX_BA0_SIZE 29,952 -#define CS46XX_BA1_DATA0_SIZE 30,986 -#define CS46XX_BA1_DATA1_SIZE 31,1023 -#define CS46XX_BA1_PRG_SIZE 32,1060 -#define CS46XX_BA1_REG_SIZE 33,1097 -#define CS46XX_MIN_PERIOD_SIZE 38,1170 -#define CS46XX_MAX_PERIOD_SIZE 39,1203 -#define CS46XX_MIN_PERIOD_SIZE 41,1250 -#define CS46XX_MAX_PERIOD_SIZE 42,1286 -#define CS46XX_FRAGS 45,1330 -#define SCB_NO_PARENT 48,1425 -#define SCB_ON_PARENT_NEXT_SCB 49,1461 -#define SCB_ON_PARENT_SUBLIST_SCB 50,1497 -#define BA1_DWORD_SIZE 53,1591 -#define BA1_MEMORY_COUNT 54,1633 -static inline void snd_cs46xx_poke(72,2232 -static inline unsigned int snd_cs46xx_peek(81,2531 -static inline void snd_cs46xx_pokeBA0(88,2744 -static inline unsigned int snd_cs46xx_peekBA0(93,2900 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/imgs/cwcdma.h,176 -#define __HEADER_cwcdma_H__4,75 -symbol_entry_t cwcdma_symbols[6,104 -u32 cwcdma_code[36,1134 -segment_desc_t cwcdma_segments[54,1874 -dsp_module_desc_t cwcdma_module 58,1978 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/imgs/cwc4630.h,253 -#define __HEADER_cwc4630_H__4,77 -static symbol_entry_t cwc4630_symbols[6,107 -static u32 cwc4630_code[47,1573 -static u32 cwc4630_parameter[269,13262 -static segment_desc_t cwc4630_segments[305,15114 -static dsp_module_desc_t cwc4630_module 310,15298 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/imgs/cwcasync.h,216 -#define __HEADER_cwcasync_H__4,79 -static symbol_entry_t cwcasync_symbols[6,110 -static u32 cwcasync_code[41,1337 -static segment_desc_t cwcasync_segments[162,7669 -static dsp_module_desc_t cwcasync_module 166,7784 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/imgs/cwcemb80.h,299 -#define __HEADER_cwcemb80_H__4,79 -static symbol_entry_t cwcemb80_symbols[6,110 -static u32 cwcemb80_code[47,1578 -static u32 cwcemb80_parameter[266,13100 -static u32 cwcemb80_sample[691,36781 -static segment_desc_t cwcemb80_segments[1591,87012 -static dsp_module_desc_t cwcemb80_module 1597,87265 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/imgs/cwcbinhack.h,223 -#define __HEADER_cwcbinhack_H__5,86 -static symbol_entry_t cwcbinhack_symbols[7,119 -static u32 cwcbinhack_code[13,306 -static segment_desc_t cwcbinhack_segments[34,1261 -static dsp_module_desc_t cwcbinhack_module 38,1372 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/cs46xx/imgs/cwcsnoop.h,213 -#define __HEADER_cwcsnoop_H__4,79 -static symbol_entry_t cwcsnoop_symbols[6,110 -static u32 cwcsnoop_code[12,290 -static segment_desc_t cwcsnoop_segments[32,1214 -static dsp_module_desc_t cwcsnoop_module 36,1329 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ali5451/ali5451.c,7224 -static int index[48,1433 -static char *id[49,1502 -static int enable[50,1575 -static int pcm_channels[51,1634 -static int spdif[52,1707 -static int boot_devs;53,1772 -#define snd_ali_printk(snd_ali_printk73,2398 -#define snd_ali_printk(snd_ali_printk75,2468 -#define PCI_VENDOR_ID_ALI 83,2575 -#define PCI_DEVICE_ID_ALI_5451 87,2647 -#define DEVICE_ID_ALI5451 90,2693 -#define ALI_CHANNELS 93,2770 -#define ALI_PCM_IN_CHANNEL 95,2796 -#define ALI_SPDIF_IN_CHANNEL 96,2826 -#define ALI_SPDIF_OUT_CHANNEL 97,2858 -#define ALI_CENTER_CHANNEL 98,2891 -#define ALI_LEF_CHANNEL 99,2921 -#define ALI_SURR_LEFT_CHANNEL 100,2949 -#define ALI_SURR_RIGHT_CHANNEL 101,2982 -#define SNDRV_ALI_VOICE_TYPE_PCM 103,3017 -#define SNDRV_ALI_VOICE_TYPE_OTH 104,3053 -#define ALI_5451_V02 106,3090 -#define ALI_LEGACY_DMAR0 112,3147 -#define ALI_LEGACY_DMAR4 113,3193 -#define ALI_LEGACY_DMAR11 114,3239 -#define ALI_LEGACY_DMAR15 115,3285 -#define ALI_MPUR0 116,3331 -#define ALI_MPUR1 117,3355 -#define ALI_MPUR2 118,3379 -#define ALI_MPUR3 119,3403 -#define ALI_AC97_WRITE 121,3428 -#define ALI_AC97_READ 122,3457 -#define ALI_SCTRL 124,3486 -#define ALI_SPDIF_OUT_ENABLE 125,3510 -#define ALI_AC97_GPIO 126,3547 -#define ALI_SPDIF_CS 127,3575 -#define ALI_SPDIF_CTRL 128,3602 -#define ALI_SPDIF_IN_FUNC_ENABLE 129,3631 -#define ALI_SPDIF_IN_CH_STATUS 130,3671 -#define ALI_SPDIF_OUT_CH_STATUS 131,3709 -#define ALI_START 132,3748 -#define ALI_STOP 133,3772 -#define ALI_CSPF 134,3795 -#define ALI_AINT 135,3818 -#define ALI_GC_CIR 136,3841 - #define ENDLP_IE 137,3866 - #define MIDLP_IE 138,3896 -#define ALI_AINTEN 139,3926 -#define ALI_VOLUME 140,3951 -#define ALI_SBDELTA_DELTA_R 141,3976 -#define ALI_MISCINT 142,4013 - #define ADDRESS_IRQ 143,4039 - #define TARGET_REACHED 144,4072 - #define MIXER_OVERFLOW 145,4108 - #define MIXER_UNDERFLOW 146,4144 -#define ALI_SBBL_SBCL 147,4181 -#define ALI_SBCTRL_SBE2R_SBDD 148,4218 -#define ALI_STIMER 149,4255 -#define ALI_GLOBAL_CONTROL 150,4280 -#define ALI_SPDIF_OUT_SEL_PCM 151,4312 -#define ALI_SPDIF_IN_SUPPORT 152,4369 -#define ALI_SPDIF_OUT_CH_ENABLE 153,4425 -#define ALI_SPDIF_IN_CH_ENABLE 154,4483 -#define ALI_PCM_IN_ENABLE 155,4540 -#define ALI_CSO_ALPHA_FMS 157,4594 -#define ALI_LBA 158,4625 -#define ALI_ESO_DELTA 159,4648 -#define ALI_GVSEL_PAN_VOC_CTRL_EC 160,4676 -#define ALI_EBUF1 161,4715 -#define ALI_EBUF2 162,4739 -#define ALI_REG(ALI_REG164,4764 -typedef struct snd_stru_ali ali_t;ali_t166,4811 -typedef struct snd_ali_stru_voice snd_ali_voice_t;snd_ali_voice_t167,4846 -typedef struct snd_ali_channel_control snd_ali_channel_control169,4898 - struct REGDATA REGDATA171,4957 - struct REGS REGS179,5097 -} snd_ali_channel_control_t;snd_ali_channel_control_t188,5260 -struct snd_ali_stru_voice snd_ali_stru_voice190,5290 -typedef struct snd_stru_alidev snd_stru_alidev215,5712 -} alidev_t;alidev_t223,5922 -#define ALI_GLOBAL_REGS 227,5953 -#define ALI_CHANNEL_REGS 228,5981 -typedef struct snd_ali_image snd_ali_image229,6008 -} ali_image_t;ali_image_t232,6138 -struct snd_stru_ali snd_stru_ali236,6162 -static struct pci_device_id snd_ali_ids[272,6802 -static void ali_read_regs(288,7215 -static void ali_read_cfg(311,7704 -static void ali_read_ac97regs(338,8242 -static inline unsigned int snd_ali_5451_peek(367,8716 -static inline void snd_ali_5451_poke(373,8856 -static int snd_ali_codec_ready(380,9009 -static int snd_ali_stimer_ready(402,9516 -static void snd_ali_codec_poke(424,10064 -static unsigned short snd_ali_codec_peek(453,10684 -static void snd_ali_codec_write(486,11412 -static unsigned short snd_ali_codec_read(498,11664 -static int snd_ali_reset_5451(510,11895 -static int snd_ali_reset_codec(548,12898 -static void snd_ali_enable_special_channel(589,13760 -static void snd_ali_disable_special_channel(598,14009 -static void snd_ali_enable_address_interrupt(607,14262 -static void snd_ali_disable_address_interrupt(617,14460 -static void snd_ali_enable_voice_irq(628,14678 -static void snd_ali_disable_voice_irq(642,15094 -static int snd_ali_alloc_pcm_channel(655,15505 -static int snd_ali_find_free_channel(673,15914 -static void snd_ali_free_channel_pcm(715,16982 -static void snd_ali_start_voice(734,17429 -static void snd_ali_stop_voice(743,17664 -static void snd_ali_delay(755,17915 -static void snd_ali_detect_spdif_rate(769,18267 -static unsigned int snd_ali_get_spdif_in_rate(823,19618 -static void snd_ali_enable_spdif_in(845,20047 -static void snd_ali_disable_spdif_in(860,20429 -static void snd_ali_set_spdif_out_rate(872,20708 -static void snd_ali_enable_spdif_out(893,21290 -static void snd_ali_enable_spdif_chnout(929,22364 -static void snd_ali_disable_spdif_chnout(947,22829 -static void snd_ali_disable_spdif_out(957,23118 -static void snd_ali_update_ptr(967,23341 -static void snd_ali_interrupt(1022,24841 -static irqreturn_t snd_ali_card_interrupt(1042,25383 -static snd_ali_voice_t *snd_ali_alloc_voice(1055,25603 -static void snd_ali_free_voice(1083,26322 -static void snd_ali_clear_voices(1109,27078 -static void snd_ali_write_voice_regs(1121,27309 -static unsigned int snd_ali_convert_rate(1158,28391 -static unsigned int snd_ali_control_mode(1188,28970 -static int snd_ali_ioctl(1210,29493 -static int snd_ali_trigger(1216,29639 -static int snd_ali_playback_hw_params(1286,31320 -static int snd_ali_playback_hw_free(1317,32185 -static int snd_ali_capture_hw_params(1332,32623 -static int snd_ali_capture_hw_free(1338,32813 -static int snd_ali_playback_prepare(1343,32929 -static int snd_ali_capture_prepare(1432,35221 -static snd_pcm_uframes_t snd_ali_playback_pointer(1517,37105 -static snd_pcm_uframes_t snd_ali_capture_pointer(1538,37697 -static snd_pcm_hardware_t snd_ali_playback 1558,38298 -static snd_pcm_hardware_t snd_ali_capture 1584,39007 -static void snd_ali_pcm_free_substream(1606,39668 -static int snd_ali_playback_open(1620,40033 -static int snd_ali_capture_open(1647,40818 -static int snd_ali_playback_close(1673,41596 -static int snd_ali_capture_close(1678,41679 -static snd_pcm_ops_t snd_ali_playback_ops 1689,41990 -static snd_pcm_ops_t snd_ali_capture_ops 1700,42317 -static void snd_ali_pcm_free(1712,42638 -static int __devinit snd_ali_pcm(1718,42743 -#define ALI5451_SPDIF(ALI5451_SPDIF1746,43566 -static int snd_ali5451_spdif_info(1751,43803 -static int snd_ali5451_spdif_get(1760,44067 -static int snd_ali5451_spdif_put(1787,44737 -static snd_kcontrol_new_t snd_ali5451_mixer_spdif[1845,46090 -static snd_kcontrol_new_t snd_ali5451_mixer_spdif[] __devinitdata 1845,46090 -static void snd_ali_mixer_free_ac97_bus(1855,46501 -static void snd_ali_mixer_free_ac97(1861,46623 -static int __devinit snd_ali_mixer(1867,46735 -static int ali_suspend(1898,47581 -static int ali_resume(1940,48608 -static int snd_ali_free(1980,49532 -static int snd_ali_chip_init(1998,49890 -static int __devinit snd_ali_resources(2046,51188 -static int snd_ali_dev_free(2063,51686 -static int __devinit snd_ali_create(2070,51810 -static int __devinit snd_ali_probe(2202,55169 -static void __devexit snd_ali_remove(2256,56297 -static struct pci_driver driver 2262,56427 -static int __init alsa_card_ali_init(2270,56633 -static void __exit alsa_card_ali_exit(2275,56715 -module_init(2280,56797 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/atiixp_modem.c,8586 -static int index[42,1396 -static char *id[43,1465 -static int enable[44,1538 -static int ac97_clock[45,1620 -static int boot_devs;46,1694 -#define ATI_REG_ISR 61,2192 -#define ATI_REG_ISR_MODEM_IN_XRUN 62,2242 -#define ATI_REG_ISR_MODEM_IN_STATUS 63,2285 -#define ATI_REG_ISR_MODEM_OUT1_XRUN 64,2330 -#define ATI_REG_ISR_MODEM_OUT1_STATUS 65,2375 -#define ATI_REG_ISR_MODEM_OUT2_XRUN 66,2422 -#define ATI_REG_ISR_MODEM_OUT2_STATUS 67,2467 -#define ATI_REG_ISR_MODEM_OUT3_XRUN 68,2514 -#define ATI_REG_ISR_MODEM_OUT3_STATUS 69,2559 -#define ATI_REG_ISR_PHYS_INTR 70,2606 -#define ATI_REG_ISR_PHYS_MISMATCH 71,2646 -#define ATI_REG_ISR_CODEC0_NOT_READY 72,2689 -#define ATI_REG_ISR_CODEC1_NOT_READY 73,2736 -#define ATI_REG_ISR_CODEC2_NOT_READY 74,2783 -#define ATI_REG_ISR_NEW_FRAME 75,2830 -#define ATI_REG_ISR_MODEM_GPIO_DATA 76,2871 -#define ATI_REG_IER 78,2918 -#define ATI_REG_IER_MODEM_IN_XRUN_EN 79,2968 -#define ATI_REG_IER_MODEM_STATUS_EN 80,3014 -#define ATI_REG_IER_MODEM_OUT1_XRUN_EN 81,3059 -#define ATI_REG_IER_MODEM_OUT2_XRUN_EN 82,3107 -#define ATI_REG_IER_MODEM_OUT3_XRUN_EN 83,3155 -#define ATI_REG_IER_PHYS_INTR_EN 84,3203 -#define ATI_REG_IER_PHYS_MISMATCH_EN 85,3245 -#define ATI_REG_IER_CODEC0_INTR_EN 86,3291 -#define ATI_REG_IER_CODEC1_INTR_EN 87,3336 -#define ATI_REG_IER_CODEC2_INTR_EN 88,3381 -#define ATI_REG_IER_NEW_FRAME_EN 89,3426 -#define ATI_REG_IER_MODEM_GPIO_DATA_EN 90,3479 -#define ATI_REG_IER_MODEM_SET_BUS_BUSY 91,3556 -#define ATI_REG_CMD 93,3606 -#define ATI_REG_CMD_POWERDOWN 94,3647 -#define ATI_REG_CMD_MODEM_RECEIVE_EN 95,3686 -#define ATI_REG_CMD_MODEM_SEND1_EN 96,3749 -#define ATI_REG_CMD_MODEM_SEND2_EN 97,3810 -#define ATI_REG_CMD_MODEM_SEND3_EN 98,3871 -#define ATI_REG_CMD_MODEM_STATUS_MEM 99,3932 -#define ATI_REG_CMD_MODEM_IN_DMA_EN 100,3995 -#define ATI_REG_CMD_MODEM_OUT_DMA1_EN 101,4057 -#define ATI_REG_CMD_MODEM_OUT_DMA2_EN 102,4121 -#define ATI_REG_CMD_MODEM_OUT_DMA3_EN 103,4186 -#define ATI_REG_CMD_AUDIO_PRESENT 104,4251 -#define ATI_REG_CMD_MODEM_GPIO_THRU_DMA 105,4295 -#define ATI_REG_CMD_LOOPBACK_EN 106,4362 -#define ATI_REG_CMD_PACKED_DIS 107,4404 -#define ATI_REG_CMD_BURST_EN 108,4446 -#define ATI_REG_CMD_PANIC_EN 109,4486 -#define ATI_REG_CMD_MODEM_PRESENT 110,4526 -#define ATI_REG_CMD_ACLINK_ACTIVE 111,4570 -#define ATI_REG_CMD_AC_SOFT_RESET 112,4614 -#define ATI_REG_CMD_AC_SYNC 113,4658 -#define ATI_REG_CMD_AC_RESET 114,4697 -#define ATI_REG_PHYS_OUT_ADDR 116,4738 -#define ATI_REG_PHYS_OUT_CODEC_MASK 117,4774 -#define ATI_REG_PHYS_OUT_RW 118,4819 -#define ATI_REG_PHYS_OUT_ADDR_EN 119,4857 -#define ATI_REG_PHYS_OUT_ADDR_SHIFT 120,4899 -#define ATI_REG_PHYS_OUT_DATA_SHIFT 121,4938 -#define ATI_REG_PHYS_IN_ADDR 123,4979 -#define ATI_REG_PHYS_IN_READ_FLAG 124,5014 -#define ATI_REG_PHYS_IN_ADDR_SHIFT 125,5057 -#define ATI_REG_PHYS_IN_DATA_SHIFT 126,5095 -#define ATI_REG_SLOTREQ 128,5135 -#define ATI_REG_COUNTER 130,5167 -#define ATI_REG_COUNTER_SLOT 131,5198 -#define ATI_REG_COUNTER_BITCLOCK 132,5250 -#define ATI_REG_IN_FIFO_THRESHOLD 134,5294 -#define ATI_REG_MODEM_IN_DMA_LINKPTR 136,5334 -#define ATI_REG_MODEM_IN_DMA_DT_START 137,5376 -#define ATI_REG_MODEM_IN_DMA_DT_NEXT 138,5428 -#define ATI_REG_MODEM_IN_DMA_DT_CUR 139,5479 -#define ATI_REG_MODEM_IN_DMA_DT_SIZE 140,5529 -#define ATI_REG_MODEM_OUT_FIFO 141,5571 -#define ATI_REG_MODEM_OUT1_DMA_THRESHOLD_MASK 142,5631 -#define ATI_REG_MODEM_OUT1_DMA_THRESHOLD_SHIFT 143,5688 -#define ATI_REG_MODEM_OUT_DMA1_LINKPTR 144,5739 -#define ATI_REG_MODEM_OUT_DMA2_LINKPTR 145,5783 -#define ATI_REG_MODEM_OUT_DMA3_LINKPTR 146,5827 -#define ATI_REG_MODEM_OUT_DMA1_DT_START 147,5871 -#define ATI_REG_MODEM_OUT_DMA1_DT_NEXT 148,5916 -#define ATI_REG_MODEM_OUT_DMA1_DT_CUR 149,5960 -#define ATI_REG_MODEM_OUT_DMA2_DT_START 150,6003 -#define ATI_REG_MODEM_OUT_DMA2_DT_NEXT 151,6048 -#define ATI_REG_MODEM_OUT_DMA2_DT_CUR 152,6092 -#define ATI_REG_MODEM_OUT_DMA3_DT_START 153,6135 -#define ATI_REG_MODEM_OUT_DMA3_DT_NEXT 154,6180 -#define ATI_REG_MODEM_OUT_DMA3_DT_CUR 155,6224 -#define ATI_REG_MODEM_OUT_DMA12_DT_SIZE 156,6267 -#define ATI_REG_MODEM_OUT_DMA3_DT_SIZE 157,6312 -#define ATI_REG_MODEM_OUT_FIFO_USED 158,6356 -#define ATI_REG_MODEM_OUT_GPIO 159,6401 -#define ATI_REG_MODEM_OUT_GPIO_EN 160,6438 -#define ATI_REG_MODEM_OUT_GPIO_DATA_SHIFT 161,6478 -#define ATI_REG_MODEM_IN_GPIO 162,6523 -#define ATI_REG_MODEM_MIRROR 164,6560 -#define ATI_REG_AUDIO_MIRROR 165,6595 -#define ATI_REG_MODEM_FIFO_FLUSH 167,6631 -#define ATI_REG_MODEM_FIFO_OUT1_FLUSH 168,6669 -#define ATI_REG_MODEM_FIFO_OUT2_FLUSH 169,6716 -#define ATI_REG_MODEM_FIFO_OUT3_FLUSH 170,6763 -#define ATI_REG_MODEM_FIFO_IN_FLUSH 171,6810 -#define ATI_REG_LINKPTR_EN 174,6870 -#define ATI_MAX_DESCRIPTORS 176,6908 -typedef struct snd_atiixp atiixp_t;atiixp_t182,6989 -typedef struct snd_atiixp_dma atiixp_dma_t;atiixp_dma_t183,7025 -typedef struct snd_atiixp_dma_ops atiixp_dma_ops_t;atiixp_dma_ops_t184,7069 -typedef struct atiixp_dma_desc atiixp_dma_desc191,7157 -} atiixp_dma_desc_t;atiixp_dma_desc_t196,7358 -enum { ATI_DMA_PLAYBACK,201,7402 -enum { ATI_DMA_PLAYBACK, ATI_DMA_CAPTURE,201,7402 -enum { ATI_DMA_PLAYBACK, ATI_DMA_CAPTURE, NUM_ATI_DMAS 201,7402 -enum { ATI_PCM_OUT,202,7471 -enum { ATI_PCM_OUT, ATI_PCM_IN,202,7471 -enum { ATI_PCM_OUT, ATI_PCM_IN, NUM_ATI_PCMS 202,7471 -enum { ATI_PCMDEV_ANALOG,203,7540 -enum { ATI_PCMDEV_ANALOG, NUM_ATI_PCMDEVS 203,7540 -#define NUM_ATI_CODECS 205,7604 -struct snd_atiixp_dma_ops snd_atiixp_dma_ops211,7683 -struct snd_atiixp_dma snd_atiixp_dma223,8098 -struct snd_atiixp snd_atiixp238,8496 -static struct pci_device_id snd_atiixp_ids[268,9116 -static int snd_atiixp_update_bits(284,9399 -#define atiixp_write(atiixp_write301,9753 -#define atiixp_read(atiixp_read303,9841 -#define atiixp_update(atiixp_update305,9914 -#define do_delay(do_delay309,10039 -#define ATI_DESC_LIST_SIZE 322,10327 -static int atiixp_build_dma_packets(334,10742 -static void atiixp_clear_dma_packets(391,12362 -static int snd_atiixp_acquire_codec(403,12647 -static unsigned short snd_atiixp_codec_read(417,12930 -static void snd_atiixp_codec_write(445,13672 -static unsigned short snd_atiixp_ac97_read(458,14061 -static void snd_atiixp_ac97_write(469,14337 -static int snd_atiixp_aclink_reset(480,14606 -static int snd_atiixp_aclink_down(516,15596 -#define ALL_CODEC_NOT_READY 535,16098 -#define CODEC_CHECK_BITS 539,16240 -static int snd_atiixp_codec_detect(541,16310 -static int snd_atiixp_chip_start(567,16843 -static int snd_atiixp_chip_stop(592,17399 -static snd_pcm_uframes_t snd_atiixp_pcm_pointer(611,17787 -static void snd_atiixp_xrun_dma(637,18538 -static void snd_atiixp_update_dma(648,18829 -static void snd_atiixp_check_bus_busy(657,19080 -static int snd_atiixp_pcm_trigger(671,19471 -static void atiixp_out_flush_dma(723,20805 -static void atiixp_out_enable_dma(729,20965 -static void atiixp_out_enable_transfer(744,21338 -static void atiixp_in_enable_dma(751,21541 -static void atiixp_in_enable_transfer(758,21736 -static void atiixp_in_flush_dma(771,22091 -static int snd_atiixp_playback_prepare(777,22258 -static int snd_atiixp_capture_prepare(793,22752 -static int snd_atiixp_pcm_hw_params(801,22910 -static int snd_atiixp_pcm_hw_free(832,23778 -static snd_pcm_hardware_t snd_atiixp_pcm_hw 846,24135 -static int snd_atiixp_pcm_open(864,24667 -static int snd_atiixp_pcm_close(898,25666 -static int snd_atiixp_playback_open(913,26054 -static int snd_atiixp_playback_close(926,26353 -static int snd_atiixp_capture_open(936,26624 -static int snd_atiixp_capture_close(942,26822 -static snd_pcm_ops_t snd_atiixp_playback_ops 950,27040 -static snd_pcm_ops_t snd_atiixp_capture_ops 962,27403 -static atiixp_dma_ops_t snd_atiixp_playback_dma_ops 973,27743 -static atiixp_dma_ops_t snd_atiixp_capture_dma_ops 982,28042 -static int __devinit snd_atiixp_pcm_new(991,28331 -static irqreturn_t snd_atiixp_interrupt(1021,29133 -static int __devinit snd_atiixp_mixer_new(1062,30199 -static int snd_atiixp_suspend(1119,31543 -static int snd_atiixp_resume(1139,32060 -static void snd_atiixp_proc_read(1164,32538 -static void __devinit snd_atiixp_proc_init(1173,32777 -static int snd_atiixp_free(1187,33014 -static int snd_atiixp_dev_free(1203,33341 -static int __devinit snd_atiixp_create(1212,33509 -static int __devinit snd_atiixp_probe(1268,34836 -static void __devexit snd_atiixp_remove(1325,36044 -static struct pci_driver driver 1331,36177 -static int __init alsa_card_atiixp_init(1340,36376 -static void __exit alsa_card_atiixp_exit(1345,36461 -module_init(1350,36546 - -/export0/mef/linux-2.6.9-1.11_FC2/sound/pci/ens1370.c,14232 -#define CHIP137045,1416 -#define DRIVER_NAME 49,1457 -#define DRIVER_NAME 51,1493 -#define SUPPORT_JOYSTICK73,2215 -static int index[76,2248 -static char *id[77,2317 -static int enable[78,2390 -static int joystick_port[81,2511 -static int joystick[83,2556 -static int boot_devs;86,2604 -#define PCI_DEVICE_ID_ENSONIQ_CT5880 105,3316 -#define PCI_DEVICE_ID_ENSONIQ_ES1371 108,3407 -#define ES1371REV_ES1373_A 117,3775 -#define ES1371REV_ES1373_B 118,3808 -#define ES1371REV_CT5880_A 119,3841 -#define CT5880REV_CT5880_C 120,3874 -#define CT5880REV_CT5880_D 121,3907 -#define CT5880REV_CT5880_E 122,3954 -#define ES1371REV_ES1371_B 123,3996 -#define EV1938REV_EV1938_A 124,4029 -#define ES1371REV_ES1373_8 125,4062 -#define ES_REG(ES_REG131,4124 -#define ES_REG_CONTROL 133,4183 -#define ES_1370_ADC_STOP 134,4261 -#define ES_1370_XCTL1 135,4336 -#define ES_1373_BYPASS_P1 136,4403 -#define ES_1373_BYPASS_P2 137,4465 -#define ES_1373_BYPASS_R 138,4527 -#define ES_1373_TEST_BIT 139,4588 -#define ES_1373_RECEN_B 140,4670 -#define ES_1373_SPDIF_THRU 141,4754 -#define ES_1371_JOY_ASEL(ES_1371_JOY_ASEL142,4840 -#define ES_1371_JOY_ASELM 143,4914 -#define ES_1371_JOY_ASELI(ES_1371_JOY_ASELI144,4974 -#define ES_1371_GPIO_IN(ES_1371_GPIO_IN145,5023 -#define ES_1370_PCLKDIVO(ES_1370_PCLKDIVO146,5099 -#define ES_1370_PCLKDIVM 147,5181 -#define ES_1370_PCLKDIVI(ES_1370_PCLKDIVI148,5244 -#define ES_1371_GPIO_OUT(ES_1371_GPIO_OUT149,5326 -#define ES_1371_GPIO_OUTM 150,5404 -#define ES_MSFMTSEL 151,5468 -#define ES_1370_M_SBB 152,5549 -#define ES_1371_SYNC_RES 153,5649 -#define ES_1370_WTSRSEL(ES_1370_WTSRSEL154,5707 -#define ES_1370_WTSRSELM 155,5789 -#define ES_1371_ADC_STOP 156,5848 -#define ES_1371_PWR_INTRM 157,5931 -#define ES_1370_DAC_SYNC 158,6011 -#define ES_1371_M_CB 159,6075 -#define ES_CCB_INTRM 160,6159 -#define ES_1370_M_CB 161,6226 -#define ES_1370_XCTL0 162,6304 -#define ES_1371_PDLEV(ES_1371_PDLEV163,6370 -#define ES_1371_PDLEVM 164,6444 -#define ES_BREQ 165,6500 -#define ES_DAC1_EN 166,6559 -#define ES_DAC2_EN 167,6624 -#define ES_ADC_EN 168,6689 -#define ES_UART_EN 169,6751 -#define ES_JYSTK_EN 170,6799 -#define ES_1370_CDC_EN 171,6859 -#define ES_1371_XTALCKDIS 172,6921 -#define ES_1370_SERR_DISABLE 173,6982 -#define ES_1371_PCICLKDIS 174,7051 -#define ES_REG_STATUS 175,7115 -#define ES_INTR 176,7191 -#define ES_1371_ST_AC97_RST 177,7259 -#define ES_1373_REAR_BIT27 178,7327 -#define ES_1373_REAR_BIT26 179,7424 -#define ES_1373_REAR_BIT24 180,7461 -#define ES_1373_GPIO_INT_EN(ES_1373_GPIO_INT_EN181,7498 -#define ES_1373_SPDIF_EN 182,7587 -#define ES_1373_SPDIF_TEST 183,7642 -#define ES_1371_TEST 184,7697 -#define ES_1373_GPIO_INT(ES_1373_GPIO_INT185,7754 -#define ES_1370_CSTAT 186,7842 -#define ES_1370_CBUSY 187,7926 -#define ES_1370_CWRIP 188,7986 -#define ES_1371_SYNC_ERR 189,8058 -#define ES_1371_VC(ES_1371_VC190,8136 -#define ES_1370_VC(ES_1370_VC191,8217 -#define ES_1371_MPWR 192,8291 -#define ES_MCCB 193,8367 -#define ES_UART 194,8422 -#define ES_DAC1 195,8478 -#define ES_DAC2 196,8542 -#define ES_ADC 197,8606 -#define ES_REG_UART_DATA 198,8668 -#define ES_REG_UART_STATUS 199,8728 -#define ES_RXINT 200,8792 -#define ES_TXINT 201,8848 -#define ES_TXRDY 202,8904 -#define ES_RXRDY 203,8956 -#define ES_REG_UART_CONTROL 204,9005 -#define ES_RXINTEN 205,9071 -#define ES_TXINTENO(ES_TXINTENO206,9127 -#define ES_TXINTENM 207,9194 -#define ES_TXINTENI(ES_TXINTENI208,9248 -#define ES_CNTRL(ES_CNTRL209,9289 -#define ES_CNTRLM 210,9342 -#define ES_REG_UART_RES 211,9394 -#define ES_TEST_MODE 212,9457 -#define ES_REG_MEM_PAGE 213,9513 -#define ES_MEM_PAGEO(ES_MEM_PAGEO214,9574 -#define ES_MEM_PAGEM 215,9647 -#define ES_MEM_PAGEI(ES_MEM_PAGEI216,9702 -#define ES_REG_1370_CODEC 217,9774 -#define ES_1370_CODEC_WRITE(ES_1370_CODEC_WRITE218,9845 -#define ES_REG_1371_CODEC 219,9914 -#define ES_1371_CODEC_RDY 220,9990 -#define ES_1371_CODEC_WIP 221,10047 -#define ES_1371_CODEC_PIRD 222,10126 -#define ES_1371_CODEC_WRITE(ES_1371_CODEC_WRITE223,10205 -#define ES_1371_CODEC_READS(ES_1371_CODEC_READS224,10277 -#define ES_1371_CODEC_READ(ES_1371_CODEC_READ225,10350 -#define ES_REG_1371_SMPRATE 227,10404 -#define ES_1371_SRC_RAM_ADDRO(ES_1371_SRC_RAM_ADDRO228,10488 -#define ES_1371_SRC_RAM_ADDRM 229,10582 -#define ES_1371_SRC_RAM_ADDRI(ES_1371_SRC_RAM_ADDRI230,10649 -#define ES_1371_SRC_RAM_WE 231,10743 -#define ES_1371_SRC_RAM_BUSY 232,10839 -#define ES_1371_SRC_DISABLE 233,10920 -#define ES_1371_DIS_P1 234,10999 -#define ES_1371_DIS_P2 235,11087 -#define ES_1371_DIS_R1 236,11175 -#define ES_1371_SRC_RAM_DATAO(ES_1371_SRC_RAM_DATAO237,11260 -#define ES_1371_SRC_RAM_DATAM 238,11361 -#define ES_1371_SRC_RAM_DATAI(ES_1371_SRC_RAM_DATAI239,11429 -#define ES_REG_1371_LEGACY 241,11531 -#define ES_1371_JFAST 242,11605 -#define ES_1371_HIB 243,11666 -#define ES_1371_VSB 244,11735 -#define ES_1371_VMPUO(ES_1371_VMPUO245,11807 -#define ES_1371_VMPUM 246,11930 -#define ES_1371_VMPUI(ES_1371_VMPUI247,11987 -#define ES_1371_VCDCO(ES_1371_VCDCO248,12058 -#define ES_1371_VCDCM 249,12167 -#define ES_1371_VCDCI(ES_1371_VCDCI250,12224 -#define ES_1371_FIRQ 251,12287 -#define ES_1371_SDMACAP 252,12345 -#define ES_1371_SPICAP 253,12432 -#define ES_1371_MDMACAP 254,12518 -#define ES_1371_MPICAP 255,12606 -#define ES_1371_ADCAP 256,12693 -#define ES_1371_SVCAP 257,12782 -#define ES_1371_CDCCAP 258,12860 -#define ES_1371_BACAP 259,12941 -#define ES_1371_EXI(ES_1371_EXI260,13030 -#define ES_1371_AI(ES_1371_AI261,13090 -#define ES_1371_WR 262,13167 -#define ES_1371_LEGINT 263,13237 -#define ES_REG_CHANNEL_STATUS 265,13329 -#define ES_REG_SERIAL 267,13431 -#define ES_1371_DAC_TEST 268,13503 -#define ES_P2_END_INCO(ES_P2_END_INCO269,13566 -#define ES_P2_END_INCM 270,13660 -#define ES_P2_END_INCI(ES_P2_END_INCI271,13717 -#define ES_P2_ST_INCO(ES_P2_ST_INCO272,13811 -#define ES_P2_ST_INCM 273,13901 -#define ES_P2_ST_INCI(ES_P2_ST_INCI274,13958 -#define ES_R1_LOOP_SEL 275,14048 -#define ES_P2_LOOP_SEL 276,14122 -#define ES_P1_LOOP_SEL 277,14197 -#define ES_P2_PAUSE 278,14272 -#define ES_P1_PAUSE 279,14346 -#define ES_R1_INT_EN 280,14420 -#define ES_P2_INT_EN 281,14480 -#define ES_P1_INT_EN 282,14540 -#define ES_P1_SCT_RLD 283,14600 -#define ES_P2_DAC_SEN 284,14676 -#define ES_R1_MODEO(ES_R1_MODEO285,14788 -#define ES_R1_MODEM 286,14914 -#define ES_R1_MODEI(ES_R1_MODEI287,14968 -#define ES_P2_MODEO(ES_P2_MODEO288,15009 -#define ES_P2_MODEM 289,15076 -#define ES_P2_MODEI(ES_P2_MODEI290,15130 -#define ES_P1_MODEO(ES_P1_MODEO291,15171 -#define ES_P1_MODEM 292,15238 -#define ES_P1_MODEI(ES_P1_MODEI293,15292 -#define ES_REG_DAC1_COUNT 295,15334 -#define ES_REG_DAC2_COUNT 296,15403 -#define ES_REG_ADC_COUNT 297,15472 -#define ES_REG_CURR_COUNT(ES_REG_CURR_COUNT298,15540 -#define ES_REG_COUNTO(ES_REG_COUNTO299,15591 -#define ES_REG_COUNTM 300,15636 -#define ES_REG_COUNTI(ES_REG_COUNTI301,15673 -#define ES_REG_DAC1_FRAME 303,15719 -#define ES_REG_DAC1_SIZE 304,15791 -#define ES_REG_DAC2_FRAME 305,15860 -#define ES_REG_DAC2_SIZE 306,15932 -#define ES_REG_ADC_FRAME 307,16001 -#define ES_REG_ADC_SIZE 308,16072 -#define ES_REG_FCURR_COUNTO(ES_REG_FCURR_COUNTO309,16140 -#define ES_REG_FCURR_COUNTM 310,16192 -#define ES_REG_FCURR_COUNTI(ES_REG_FCURR_COUNTI311,16238 -#define ES_REG_FSIZEO(ES_REG_FSIZEO312,16291 -#define ES_REG_FSIZEM 313,16337 -#define ES_REG_FSIZEI(ES_REG_FSIZEI314,16375 -#define ES_REG_PHANTOM_FRAME 315,16421 -#define ES_REG_PHANTOM_COUNT 316,16499 -#define ES_REG_UART_FIFO 318,16576 -#define ES_REG_UF_VALID 319,16648 -#define ES_REG_UF_BYTEO(ES_REG_UF_BYTEO320,16682 -#define ES_REG_UF_BYTEM 321,16728 -#define ES_REG_UF_BYTEI(ES_REG_UF_BYTEI322,16765 -#define ES_PAGE_DAC 329,16831 -#define ES_PAGE_ADC 330,16856 -#define ES_PAGE_UART 331,16881 -#define ES_PAGE_UART1 332,16907 -#define ES_SMPREG_DAC1 338,16979 -#define ES_SMPREG_DAC2 339,17008 -#define ES_SMPREG_ADC 340,17037 -#define ES_SMPREG_VOL_ADC 341,17065 -#define ES_SMPREG_VOL_DAC1 342,17096 -#define ES_SMPREG_VOL_DAC2 343,17128 -#define ES_SMPREG_TRUNC_N 344,17160 -#define ES_SMPREG_INT_REGS 345,17191 -#define ES_SMPREG_ACCUM_FRAC 346,17223 -#define ES_SMPREG_VFREQ_FRAC 347,17257 -#define ES_1370_SRCLOCK 353,17318 -#define ES_1370_SRTODIV(ES_1370_SRTODIV354,17353 -#define ES_MODE_PLAY1 360,17428 -#define ES_MODE_PLAY2 361,17457 -#define ES_MODE_CAPTURE 362,17486 -#define ES_MODE_OUTPUT 364,17518 -#define ES_MODE_INPUT 365,17563 -typedef struct _snd_ensoniq ensoniq_t;ensoniq_t371,17617 -struct _snd_ensoniq _snd_ensoniq373,17657 -static struct pci_device_id snd_audiopci_ids[439,19133 -#define POLL_COUNT 457,19597 -static unsigned int snd_es1370_fixed_rates[460,19640 -static snd_pcm_hw_constraint_list_t snd_es1370_hw_constraints_rates 462,19717 -static ratnum_t es1370_clock 467,19851 -static snd_pcm_hw_constraint_ratnums_t snd_es1370_hw_constraints_clock 473,19962 -static ratden_t es1371_dac_clock 478,20083 -static snd_pcm_hw_constraint_ratdens_t snd_es1371_hw_constraints_dac_clock 484,20220 -static ratnum_t es1371_adc_clock 488,20343 -static snd_pcm_hw_constraint_ratnums_t snd_es1371_hw_constraints_adc_clock 494,20460 -static const unsigned int snd_ensoniq_sample_shift[499,20590 -static unsigned int snd_es1371_wait_src_ready(508,20710 -static unsigned int snd_es1371_src_read(521,21042 -static void snd_es1371_src_write(555,21976 -static void snd_es1370_codec_write(571,22392 -static void snd_es1371_codec_write(601,23308 -static unsigned short snd_es1371_codec_read(639,24706 -static void snd_es1371_adc_rate(695,26730 -static void snd_es1371_dac1_rate(724,27780 -static void snd_es1371_dac2_rate(739,28495 -static int snd_ensoniq_trigger(756,29233 -static int snd_ensoniq_hw_params(824,31013 -static int snd_ensoniq_hw_free(830,31199 -static int snd_ensoniq_playback1_prepare(835,31311 -static int snd_ensoniq_playback2_prepare(874,32827 -static int snd_ensoniq_capture_prepare(912,34349 -static snd_pcm_uframes_t snd_ensoniq_playback1_pointer(948,35731 -static snd_pcm_uframes_t snd_ensoniq_playback2_pointer(965,36223 -static snd_pcm_uframes_t snd_ensoniq_capture_pointer(982,36715 -static snd_pcm_hardware_t snd_ensoniq_playback1 999,37203 -static snd_pcm_hardware_t snd_ensoniq_playback2 1026,37968 -static snd_pcm_hardware_t snd_ensoniq_capture 1046,38575 -static int snd_ensoniq_playback1_open(1065,39151 -static int snd_ensoniq_playback2_open(1088,39928 -static int snd_ensoniq_capture_open(1111,40711 -static int snd_ensoniq_playback1_close(1130,41305 -static int snd_ensoniq_playback2_close(1139,41523 -static int snd_ensoniq_capture_close(1153,41889 -static snd_pcm_ops_t snd_ensoniq_playback1_ops 1167,42255 -static snd_pcm_ops_t snd_ensoniq_playback2_ops 1178,42605 -static snd_pcm_ops_t snd_ensoniq_capture_ops 1189,42955 -static void snd_ensoniq_pcm_free(1200,43295 -static int __devinit snd_ensoniq_pcm(1207,43457 -static void snd_ensoniq_pcm_free2(1247,44449 -static int __devinit snd_ensoniq_pcm2(1254,44612 -static int snd_ens1373_spdif_info(1300,45616 -static int snd_ens1373_spdif_default_get(1307,45783 -static int snd_ens1373_spdif_default_put(1320,46364 -static int snd_ens1373_spdif_mask_get(1340,47113 -static int snd_ens1373_spdif_stream_get(1350,47436 -static int snd_ens1373_spdif_stream_put(1363,48012 -#define ES1371_SPDIF(ES1371_SPDIF1383,48759 -static int snd_es1371_spdif_info(1387,48938 -static int snd_es1371_spdif_get(1396,49201 -static int snd_es1371_spdif_put(1406,49516 -static snd_kcontrol_new_t snd_es1371_mixer_spdif[1428,50231 -static snd_kcontrol_new_t snd_es1371_mixer_spdif[] __devinitdata 1428,50231 -static int snd_es1373_rear_info(1454,50986 -static int snd_es1373_rear_get(1463,51248 -static int snd_es1373_rear_put(1476,51657 -static snd_kcontrol_new_t snd_ens1373_rear __devinitdata 1492,52284 -static int snd_es1373_line_info(1501,52518 -static int snd_es1373_line_get(1510,52745 -static int snd_es1373_line_put(1523,53096 -static snd_kcontrol_new_t snd_ens1373_line __devinitdata 1542,53651 -static void snd_ensoniq_mixer_free_ac97(1551,53884 -} es1371_spdif_present[1561,54145 -} es1371_spdif_present[] __devinitdata 1561,54145 -static int snd_ensoniq_1371_mixer(1570,54729 -#define ENSONIQ_CONTROL(ENSONIQ_CONTROL1635,56710 -static int snd_ensoniq_control_info(1640,56933 -static int snd_ensoniq_control_get(1649,57199 -static int snd_ensoniq_control_put(1660,57540 -static snd_kcontrol_new_t snd_es1370_controls[1681,58070 -static snd_kcontrol_new_t snd_es1370_controls[2] __devinitdata 1681,58070 -#define ES1370_CONTROLS 1686,58257 -static void snd_ensoniq_mixer_free_ak4531(1688,58314 -static int __devinit snd_ensoniq_1370_mixer(1694,58457 -static int snd_ensoniq_joystick(1726,59356 -static void snd_ensoniq_joystick_free(1756,60140 -static void snd_ensoniq_proc_read(1769,60411 -static void __devinit snd_ensoniq_proc_init(1788,61100 -static int snd_ensoniq_free(1800,61337 -static int snd_ensoniq_dev_free(1829,62147 -} es1371_amplifier_hack[1839,62414 -} es1371_ac97_reset_hack[1850,62876 -static int __devinit snd_ensoniq_create(1860,63455 -static void snd_ensoniq_midi_interrupt(2014,68800 -static int snd_ensoniq_midi_input_open(2053,69869 -static int snd_ensoniq_midi_input_close(2069,70378 -static int snd_ensoniq_midi_output_open(2086,70913 -static int snd_ensoniq_midi_output_close(2102,71424 -static void snd_ensoniq_midi_input_trigger(2119,71962 -static void snd_ensoniq_midi_output_trigger(2143,72630 -static snd_rawmidi_ops_t snd_ensoniq_midi_output 2173,73573 -static snd_rawmidi_ops_t snd_ensoniq_midi_input 2180,73756 -static int __devinit snd_ensoniq_midi(2187,73935 -static irqreturn_t snd_audiopci_interrupt(2215,74700 -static int __devinit snd_audiopci_probe(2250,75722 -static void __devexit snd_audiopci_remove(2334,77407 -static struct pci_driver driver 2340,77542 -static int __init alsa_card_ens137x_init(2347,77711 -static void __exit alsa_card_ens137x_exit(2352,77797 -module_init(2357,77883 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/crc32c.c,345 -#define CHKSUM_BLOCK_SIZE 21,536 -#define CHKSUM_DIGEST_SIZE 22,565 -struct chksum_ctx chksum_ctx24,595 -static void chksum_init(33,724 -static int chksum_setkey(45,1003 -static void chksum_update(59,1306 -static void chksum_final(69,1498 -static struct crypto_alg alg 77,1653 -static int __init init(95,2110 -static void __exit fini(100,2179 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/deflate.c,561 -#define DEFLATE_DEF_LEVEL 37,1368 -#define DEFLATE_DEF_WINBITS 38,1417 -#define DEFLATE_DEF_MEMLEVEL 39,1449 -struct deflate_ctx deflate_ctx41,1494 -static int deflate_comp_init(46,1585 -static int deflate_decomp_init(71,2191 -static void deflate_comp_exit(94,2689 -static void deflate_decomp_exit(99,2785 -static int deflate_init(104,2885 -static void deflate_exit(118,3077 -static int deflate_compress(124,3170 -static int deflate_decompress(153,3754 -static struct crypto_alg alg 194,4701 -static int __init init(207,5087 -static void __exit fini(212,5156 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/cast6.c,720 -#define CAST6_BLOCK_SIZE 27,911 -#define CAST6_MIN_KEY_SIZE 28,939 -#define CAST6_MAX_KEY_SIZE 29,969 -struct cast6_ctx cast6_ctx31,1000 -#define rol(rol36,1054 -#define F1(F138,1109 -#define F2(F240,1244 -#define F3(F342,1379 -static const u32 s1[45,1515 -static const u32 s2[112,4683 -static const u32 s3[179,7851 -static const u32 s4[246,11019 -static const u32 Tm[313,14187 -static const u8 Tr[364,16717 -static inline void W(372,16985 -cast6_setkey(385,17433 -static inline void Q 430,18780 -static inline void QBAR 439,19036 -static void cast6_encrypt 447,19298 -static void cast6_decrypt 489,20959 -static struct crypto_alg alg 531,22620 -static int __init init(548,23106 -static void __exit fini(553,23175 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/scatterwalk.c,276 -enum km_type crypto_km_types[24,677 -void *scatterwalk_whichbuf(31,766 -static void memcpy_dir(41,1037 -void scatterwalk_start(49,1192 -void scatterwalk_map(63,1534 -static void scatterwalk_pagedone(68,1655 -void scatterwalk_done(92,2272 -int scatterwalk_copychunks(103,2586 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/tcrypt.h,4656 -#define _CRYPTO_TCRYPT_H19,604 -#define MAX_DIGEST_SIZE 21,630 -#define MAX_TAP 22,658 -#define MAX_KEYLEN 24,679 -#define MAX_IVLEN 25,702 -struct hash_testvec hash_testvec27,725 -struct hmac_testvec hmac_testvec37,957 -struct cipher_testvec cipher_testvec47,1147 -#define MD4_TEST_VECTORS 64,1456 -struct hash_testvec md4_tv_template 66,1484 -#define MD5_TEST_VECTORS 110,2897 -struct hash_testvec md5_tv_template[112,2925 -#define SHA1_TEST_VECTORS 155,4328 -struct hash_testvec sha1_tv_template[157,4357 -#define SHA256_TEST_VECTORS 176,4905 -struct hash_testvec sha256_tv_template[178,4936 -#define SHA384_TEST_VECTORS 201,5672 -struct hash_testvec sha384_tv_template[203,5703 -#define SHA512_TEST_VECTORS 250,7664 -struct hash_testvec sha512_tv_template[252,7695 -#define WP512_TEST_VECTORS 310,10181 -struct hash_testvec wp512_tv_template[312,10211 -#define WP384_TEST_VECTORS 408,14420 -struct hash_testvec wp384_tv_template[410,14450 -#define WP256_TEST_VECTORS 490,17777 -struct hash_testvec wp256_tv_template[492,17807 -#define HMAC_MD5_TEST_VECTORS 562,20371 -struct hmac_testvec hmac_md5_tv_template[564,20404 -#define HMAC_SHA1_TEST_VECTORS 626,22356 -struct hmac_testvec hmac_sha1_tv_template[628,22390 -#define HMAC_SHA256_TEST_VECTORS 691,24551 -struct hmac_testvec hmac_sha256_tv_template[693,24588 -#define DES_ENC_TEST_VECTORS 809,29104 -#define DES_DEC_TEST_VECTORS 810,29137 -#define DES_CBC_ENC_TEST_VECTORS 811,29169 -#define DES_CBC_DEC_TEST_VECTORS 812,29204 -#define DES3_EDE_ENC_TEST_VECTORS 813,29239 -#define DES3_EDE_DEC_TEST_VECTORS 814,29275 -struct cipher_testvec des_enc_tv_template[816,29312 -struct cipher_testvec des_dec_tv_template[920,33154 -struct cipher_testvec des_cbc_enc_tv_template[960,34520 -struct cipher_testvec des_cbc_dec_tv_template[1015,36642 -struct cipher_testvec des3_ede_enc_tv_template[1056,38037 -struct cipher_testvec des3_ede_dec_tv_template[1087,39155 -#define BF_ENC_TEST_VECTORS 1121,40306 -#define BF_DEC_TEST_VECTORS 1122,40336 -#define BF_CBC_ENC_TEST_VECTORS 1123,40366 -#define BF_CBC_DEC_TEST_VECTORS 1124,40400 -struct cipher_testvec bf_enc_tv_template[1126,40435 -struct cipher_testvec bf_dec_tv_template[1181,42461 -struct cipher_testvec bf_cbc_enc_tv_template[1236,44523 -struct cipher_testvec bf_cbc_dec_tv_template[1255,45281 -#define TF_ENC_TEST_VECTORS 1277,46071 -#define TF_DEC_TEST_VECTORS 1278,46102 -#define TF_CBC_ENC_TEST_VECTORS 1279,46133 -#define TF_CBC_DEC_TEST_VECTORS 1280,46168 -struct cipher_testvec tf_enc_tv_template[1282,46204 -struct cipher_testvec tf_dec_tv_template[1315,47288 -struct cipher_testvec tf_cbc_enc_tv_template[1348,48372 -struct cipher_testvec tf_cbc_dec_tv_template[1394,49902 -#define SERPENT_ENC_TEST_VECTORS 1444,51562 -#define SERPENT_DEC_TEST_VECTORS 1445,51597 -struct cipher_testvec serpent_enc_tv_template[1447,51633 -struct cipher_testvec serpent_dec_tv_template[1489,53100 -#define CAST6_ENC_TEST_VECTORS 1532,54606 -#define CAST6_DEC_TEST_VECTORS 1533,54639 -struct cipher_testvec cast6_enc_tv_template[1535,54674 -struct cipher_testvec cast6_dec_tv_template[1570,55858 -#define AES_ENC_TEST_VECTORS 1609,57071 -#define AES_DEC_TEST_VECTORS 1610,57102 -struct cipher_testvec aes_enc_tv_template[1612,57134 -struct cipher_testvec aes_dec_tv_template[1649,58579 -#define CAST5_ENC_TEST_VECTORS 1687,60065 -#define CAST5_DEC_TEST_VECTORS 1688,60098 -struct cipher_testvec cast5_enc_tv_template[1690,60132 -struct cipher_testvec cast5_dec_tv_template[1718,60944 -#define ARC4_ENC_TEST_VECTORS 1749,61799 -#define ARC4_DEC_TEST_VECTORS 1750,61831 -struct cipher_testvec arc4_enc_tv_template[1752,61864 -struct cipher_testvec arc4_dec_tv_template[1819,64061 -#define TEA_ENC_TEST_VECTORS 1889,66286 -#define TEA_DEC_TEST_VECTORS 1890,66317 -struct cipher_testvec tea_enc_tv_template[1892,66349 -struct cipher_testvec tea_dec_tv_template[1936,67899 -#define XTEA_ENC_TEST_VECTORS 1983,69574 -#define XTEA_DEC_TEST_VECTORS 1984,69606 -struct cipher_testvec xtea_enc_tv_template[1986,69639 -struct cipher_testvec xtea_dec_tv_template[2030,71190 -#define KHAZAD_ENC_TEST_VECTORS 2077,72771 -#define KHAZAD_DEC_TEST_VECTORS 2078,72805 -struct cipher_testvec khazad_enc_tv_template[2080,72840 -struct cipher_testvec khazad_dec_tv_template[2126,74458 -#define COMP_BUF_SIZE 2175,76104 -struct comp_testvec comp_testvec2177,76141 -#define DEFLATE_COMP_TEST_VECTORS 2187,76363 -#define DEFLATE_DECOMP_TEST_VECTORS 2188,76399 -struct comp_testvec deflate_comp_tv_template[2190,76438 -struct comp_testvec deflate_decomp_tv_template[2226,78012 -#define MICHAEL_MIC_TEST_VECTORS 2265,79639 -struct hash_testvec michael_mic_tv_template[2267,79675 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/scatterwalk.h,174 -#define _CRYPTO_SCATTERWALK_H16,504 -struct scatter_walk scatter_walk20,586 -static inline struct scatterlist *sg_next(31,870 -static inline int scatterwalk_samebuf(36,957 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-rshift.c,24 -mpihelp_rshift(43,1683 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpih-cmp.c,21 -mpihelp_cmp(39,1594 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-lshift.c,24 -mpihelp_lshift(41,1670 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-add.c,114 -mpi_add_ui(37,1494 -mpi_add(88,2604 -mpi_sub_ui(168,4341 -mpi_sub(219,5457 -mpi_addm(242,5812 -mpi_subm(251,5949 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_udiv-w-sdiv.c,29 -mpihelp_udiv_w_sdiv(30,1041 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-mul3.c,26 -mpihelp_submul_1(34,1356 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpicoder.c,235 -#define DIM(DIM23,891 -#define MAX_EXTERN_MPI_BITS 24,933 -static uint8_t asn[27,969 -do_encode_md(34,1135 -mpi_read_from_buffer(89,2412 -mpi_fromstr(142,3533 -mpi_get_keyid(221,5180 -mpi_get_buffer(249,6010 -mpi_set_buffer(299,7072 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-cmp.c,36 -mpi_cmp_ui(24,862 -mpi_cmp(45,1164 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-mpow.c,41 -build_index(26,899 -mpi_mulpowm(44,1232 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-inline.h,161 -#define G10_MPI_INLINE_H30,1331 - #define G10_MPI_INLINE_DECL 33,1385 -mpihelp_add_1(37,1474 -mpihelp_add(67,2205 -mpihelp_sub_1(83,2591 -mpihelp_sub(113,3096 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-sub1.c,23 -mpihelp_sub_n(33,1355 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpih-mul.c,324 -#define MPN_MUL_N_RECURSE(MPN_MUL_N_RECURSE36,1387 -#define MPN_SQR_N_RECURSE(MPN_SQR_N_RECURSE44,1619 -mul_n_basecase(73,2548 -mul_n(117,3495 -mpih_sqr_n_basecase(226,7043 -mpih_sqr_n(267,7983 -mpihelp_mul_n(345,10677 -mpihelp_mul_karatsuba_case(378,11383 -mpihelp_release_karatsuba_ctx(452,13162 -mpihelp_mul(486,14148 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-pow.c,18 -mpi_powm(38,1406 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-inv.c,18 -mpi_invm(30,1006 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-internal.h,1444 -#define G10_MPI_INTERNAL_H31,1382 -#define log_debug 39,1540 -#define log_bug 40,1565 -#define assert(assert42,1589 - #define KARATSUBA_THRESHOLD 53,1970 - #define KARATSUBA_THRESHOLD 59,2137 -typedef mpi_limb_t *mpi_ptr_t;mpi_ptr_t63,2180 -typedef int mpi_size_t;mpi_size_t64,2235 -#define ABS(ABS66,2297 -#define MIN(MIN67,2330 -#define MAX(MAX68,2371 -static inline int RESIZE_IF_NEEDED(70,2413 -#define MPN_COPY(MPN_COPY78,2563 -#define MPN_COPY_INCR(MPN_COPY_INCR85,2702 -#define MPN_COPY_DECR(MPN_COPY_DECR92,2848 -#define MPN_ZERO(MPN_ZERO100,3018 -#define MPN_NORMALIZE(MPN_NORMALIZE107,3151 -#define MPN_NORMALIZE_NOT_ZERO(MPN_NORMALIZE_NOT_ZERO116,3319 -#define MPN_MUL_N_RECURSE(MPN_MUL_N_RECURSE125,3489 -#define UDIV_QRNND_PREINV(UDIV_QRNND_PREINV140,4092 -struct karatsuba_ctx karatsuba_ctx196,5968 -#define W_TYPE_SIZE 246,7786 - typedef mpi_limb_t UWtype;UWtype247,7824 - typedef unsigned int UHWtype;UHWtype248,7855 - typedef unsigned int UQItype __attribute__ __attribute__250,7910 - typedef int SItype __attribute__ __attribute__251,7972 - typedef unsigned int USItype __attribute__ __attribute__252,8027 - typedef int DItype __attribute__ __attribute__253,8089 - typedef unsigned int UDItype __attribute__ __attribute__254,8144 - typedef unsigned char UQItype;UQItype256,8212 - typedef long SItype;SItype257,8245 - typedef unsigned long USItype;USItype258,8271 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-bit.c,306 -const unsigned char __clz_tab[24,890 -#define A_LIMB_1 35,1458 -mpi_normalize(43,1653 -mpi_get_nbits(55,1810 -mpi_test_bit(80,2187 -mpi_set_bit(99,2540 -mpi_set_highbit(119,2960 -mpi_clear_highbit(142,3500 -mpi_clear_bit(161,3894 -mpi_rshift(179,4287 -mpi_lshift_limbs(203,4734 -mpi_rshift_limbs(228,5186 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpi-asm-defs.h,34 -#define BYTES_PER_MPI_LIMB 4,159 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpih-div.c,134 - #define UMUL_TIME 34,1401 - #define UDIV_TIME 37,1448 -mpihelp_mod_1(45,1597 -mpihelp_divrem(206,6374 -mpihelp_divmod_1(393,10298 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/longlong.h,6192 -#define __BITS4 36,1510 -#define __ll_B 37,1544 -#define __ll_lowpart(__ll_lowpart38,1593 -#define __ll_highpart(__ll_highpart39,1647 -#define __MPN(__MPN44,1842 -#define __CLOBBER_CC102,4461 -#define __AND_CLOBBER_CC103,4482 -#define __CLOBBER_CC 105,4533 -#define __AND_CLOBBER_CC 106,4561 -#define add_ssaaaa(add_ssaaaa114,4811 -#define sub_ddmmss(sub_ddmmss123,5325 -#define umul_ppmm(umul_ppmm132,5874 -#define udiv_qrnnd(udiv_qrnnd144,6535 -#define count_leading_zeros(count_leading_zeros152,6942 -#define COUNT_LEADING_ZEROS_0 156,7151 -#define umul_ppmm(umul_ppmm161,7251 -#define UMUL_TIME 170,7669 -#define udiv_qrnnd(udiv_qrnnd172,7718 -#define UDIV_TIME 178,7907 -#define add_ssaaaa(add_ssaaaa186,8151 -#define sub_ddmmss(sub_ddmmss195,8700 -#define umul_ppmm(umul_ppmm205,9302 -#define umul_ppmm(umul_ppmm225,10360 -#define UMUL_TIME 234,10841 -#define UDIV_TIME 235,10862 -#define umul_ppmm(umul_ppmm242,11077 -#define smul_ppmm(smul_ppmm251,11524 -#define __umulsidi3(__umulsidi3260,11970 -#define add_ssaaaa(add_ssaaaa274,12507 -#define sub_ddmmss(sub_ddmmss283,13055 -#define umul_ppmm(umul_ppmm292,13603 -#define udiv_qrnnd(udiv_qrnnd298,13941 -#define count_leading_zeros(count_leading_zeros305,14347 -#define add_ssaaaa(add_ssaaaa317,14794 -#define sub_ddmmss(sub_ddmmss326,15346 -#define umul_ppmm(umul_ppmm336,15923 -#define UMUL_TIME 348,16420 -#define UDIV_TIME 349,16440 -#define UMUL_TIME 351,16467 -#define UDIV_TIME 352,16488 -#define udiv_qrnnd(udiv_qrnnd355,16544 -#define count_leading_zeros(count_leading_zeros362,16766 -#define umul_ppmm(umul_ppmm390,18192 -#define smul_ppmm(smul_ppmm405,18883 -#define sdiv_qrnnd(sdiv_qrnnd417,19435 -#define add_ssaaaa(add_ssaaaa436,20117 -#define sub_ddmmss(sub_ddmmss445,20665 -#define umul_ppmm(umul_ppmm454,21213 -#define udiv_qrnnd(udiv_qrnnd460,21549 -#define count_leading_zeros(count_leading_zeros467,21956 -#define count_trailing_zeros(count_trailing_zeros474,22232 -#define UMUL_TIME 477,22353 -#define UDIV_TIME 480,22399 -#define rshift_rhlc(rshift_rhlc489,22616 -#define add_ssaaaa(add_ssaaaa499,22939 -#define sub_ddmmss(sub_ddmmss509,23440 -#define umul_ppmm(umul_ppmm519,23941 -#define __umulsidi3(__umulsidi3528,24388 -#define udiv_qrnnd(udiv_qrnnd535,24728 -#define count_leading_zeros(count_leading_zeros547,25264 -#define COUNT_LEADING_ZEROS_0 555,25607 -#define rshift_rhlc(rshift_rhlc557,25720 -#define add_ssaaaa(add_ssaaaa574,26333 -#define sub_ddmmss(sub_ddmmss583,26881 -#define umul_ppmm(umul_ppmm593,27499 -#define UMUL_TIME 599,27836 -#define udiv_qrnnd(udiv_qrnnd600,27857 -#define UDIV_TIME 607,28265 -#define sdiv_qrnnd(sdiv_qrnnd608,28286 -#define count_leading_zeros(count_leading_zeros615,28694 -#define COUNT_LEADING_ZEROS_0 619,28911 -#define umul_ppmm(umul_ppmm621,28968 -#define UMUL_TIME 649,30679 -#define UDIV_TIME 650,30701 -#define add_ssaaaa(add_ssaaaa659,30940 -#define sub_ddmmss(sub_ddmmss668,31489 -#define count_leading_zeros(count_leading_zeros677,32038 -#define COUNT_LEADING_ZEROS_0 685,32381 -#define umul_ppmm(umul_ppmm687,32449 -#define udiv_qrnnd(udiv_qrnnd696,32743 -#define UMUL_TIME 704,33113 -#define UDIV_TIME 705,33133 -#define UMUL_TIME 707,33160 -#define UDIV_TIME 708,33181 -#define umul_ppmm(umul_ppmm717,33460 -#define umul_ppmm(umul_ppmm724,33801 -#define UMUL_TIME 733,34193 -#define UDIV_TIME 734,34214 -#define umul_ppmm(umul_ppmm742,34482 -#define umul_ppmm(umul_ppmm749,34823 -#define UMUL_TIME 758,35223 -#define UDIV_TIME 759,35244 -#define umul_ppmm(umul_ppmm767,35460 -#define __umulsidi3(__umulsidi3776,35907 -#define udiv_qrnnd(udiv_qrnnd783,36247 -#define count_trailing_zeros(count_trailing_zeros793,36746 -#define add_ssaaaa(add_ssaaaa807,37300 -#define sub_ddmmss(sub_ddmmss832,38807 -#define count_leading_zeros(count_leading_zeros871,41143 -#define COUNT_LEADING_ZEROS_0 875,41350 -#define umul_ppmm(umul_ppmm877,41407 -#define UMUL_TIME 886,41825 -#define smul_ppmm(smul_ppmm887,41846 -#define SMUL_TIME 896,42263 -#define UDIV_TIME 897,42284 -#define umul_ppmm(umul_ppmm899,42312 -#define UMUL_TIME 910,42860 -#define smul_ppmm(smul_ppmm911,42880 -#define SMUL_TIME 917,43207 -#define sdiv_qrnnd(sdiv_qrnnd918,43227 -#define UDIV_TIME 922,43471 -#define add_ssaaaa(add_ssaaaa931,43711 -#define sub_ddmmss(sub_ddmmss940,44215 -#define umul_ppmm(umul_ppmm950,44796 -#define add_ssaaaa(add_ssaaaa967,45473 -#define sub_ddmmss(sub_ddmmss976,45973 -#define umul_ppmm(umul_ppmm985,46472 -#define UMUL_TIME 1017,47584 -#define UDIV_TIME 1018,47605 -#define count_leading_zeros(count_leading_zeros1019,47627 -#define umul_ppmm(umul_ppmm1041,48442 -#define UMUL_TIME 1051,48899 -#define add_ssaaaa(add_ssaaaa1058,49095 -#define sub_ddmmss(sub_ddmmss1068,49660 -#define umul_ppmm(umul_ppmm1083,50494 -#define UMUL_TIME 1089,50829 -#define udiv_qrnnd(udiv_qrnnd1091,50922 -#define UDIV_TIME 1102,51417 -#define umul_ppmm(umul_ppmm1108,51648 -#define UMUL_TIME 1114,51983 -#define udiv_qrnnd(udiv_qrnnd1115,52003 -#define UDIV_TIME 1161,55089 -#define count_leading_zeros(count_leading_zeros1162,55110 -#define umul_ppmm(umul_ppmm1173,55631 -#define UMUL_TIME 1219,58788 -#define udiv_qrnnd(udiv_qrnnd1223,58886 -#define UDIV_TIME 1229,59075 -#define add_ssaaaa(add_ssaaaa1239,59346 -#define sub_ddmmss(sub_ddmmss1248,59849 -#define umul_ppmm(umul_ppmm1257,60352 -#define sdiv_qrnnd(sdiv_qrnnd1271,60976 -#define add_ssaaaa(add_ssaaaa1288,61582 -#define sub_ddmmss(sub_ddmmss1296,62070 -#define umul_ppmm(umul_ppmm1304,62558 -#define umul_ppmm(umul_ppmm1328,63487 -#define __umulsidi3(__umulsidi31337,63700 -#define add_ssaaaa(add_ssaaaa1346,63943 -#define sub_ddmmss(sub_ddmmss1356,64179 -#define umul_ppmm(umul_ppmm1366,64414 -#define smul_ppmm(smul_ppmm1393,65344 -#define __udiv_qrnnd_c(__udiv_qrnnd_c1404,65707 -#define udiv_qrnnd(udiv_qrnnd1443,66940 -#define UDIV_NEEDS_NORMALIZATION 1453,67222 -#define udiv_qrnnd 1454,67257 -#define count_leading_zeros(count_leading_zeros1464,67424 -#define COUNT_LEADING_ZEROS_0 1485,68118 -#define count_trailing_zeros(count_trailing_zeros1491,68360 -#define UDIV_NEEDS_NORMALIZATION 1501,68639 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpiutil.c,331 -MPI mpi_alloc(31,1150 -mpi_ptr_t mpi_alloc_limb_space(58,1484 -void mpi_free_limb_space(65,1622 -void mpi_assign_limb_space(74,1705 -int mpi_resize(85,1972 -void mpi_clear(109,2454 -void mpi_free(116,2527 -int mpi_copy(137,2832 -int mpi_set(164,3174 -int mpi_set_ui(184,3493 -MPI mpi_alloc_set_ui(196,3678 -void mpi_swap(208,3826 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-add1.c,23 -mpihelp_add_n(34,1373 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-mul.c,79 -mpi_mul_ui(34,1355 -mpi_mul_2exp(66,1978 -mpi_mul(113,2917 -mpi_mulm(197,4681 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-inline.c,35 -#define G10_MPI_INLINE_DECL23,885 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-scan.c,71 -mpi_getbyte(32,1148 -mpi_putbyte(54,1546 -mpi_trailing_zeros(110,2971 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-gcd.c,16 -mpi_gcd(28,998 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-mul2.c,26 -mpihelp_addmul_1(34,1356 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/mpi-div.c,180 -mpi_fdiv_r(36,1415 -mpi_fdiv_r_ui(70,2262 -mpi_fdiv_q(87,2566 -mpi_fdiv_qr(98,2790 -mpi_tdiv_r(138,3719 -mpi_tdiv_qr(144,3813 -mpi_tdiv_q_2exp(303,7802 -mpi_divisible_ui(341,8521 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/mpi/generic_mpih-mul1.c,23 -mpihelp_mul_1(33,1355 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/key.h,150 -const int ksign_def_public_key_size 1,0 -static unsigned char ksign_def_public_key[3,82 -static unsigned char ksign_def_public_key[] __initdata 3,82 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/ksign.c,180 -#define _debug(_debug17,475 -#define _debug(_debug19,544 -static int ksign_signature_check(26,733 -static int ksign_grab_signature(116,2921 -int ksign_verify_signature(140,3612 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/ksign-publickey.c,35 -static int __init ksign_init(5,38 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/ksign-parse.c,525 -static inline uint32_t buffer_to_u32(26,939 -static inline uint16_t read_16(36,1111 -static inline uint32_t read_32(44,1236 -void ksign_free_signature(54,1412 -void ksign_free_public_key(68,1628 -void ksign_free_user_id(79,1785 -static void ksign_calc_pk_keyid(89,1955 -static int ksign_parse_user_id(150,3273 -static int ksign_parse_key(183,3963 -static const uint8_t *ksign_find_sig_issuer(275,6036 -static int ksign_parse_signature(328,6996 -static int ksign_parse_one_packet(478,10377 -int ksign_parse_packets(591,12993 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/local.h,1617 -#define SHA1_DIGEST_SIZE 29,1134 -#define PUBKEY_USAGE_SIG 31,1163 -#define PUBKEY_USAGE_ENC 32,1227 -#define PUBKEY_ALGO_DSA 34,1292 -#define DSA_NPKEY 35,1320 -#define DSA_NSIG 36,1381 -#define DIGEST_ALGO_SHA1 38,1441 - PKT_NONE 41,1484 - PKT_SIGNATURE 42,1501 - PKT_PUBLIC_KEY 43,1557 - PKT_USER_ID 44,1597 -} pkttype_t;pkttype_t45,1639 - SIGSUBPKT_TEST_CRITICAL 48,1668 - SIGSUBPKT_NONE 49,1700 - SIGSUBPKT_SIG_CREATED 50,1723 - SIGSUBPKT_SIG_EXPIRE 51,1782 - SIGSUBPKT_EXPORTABLE 52,1842 - SIGSUBPKT_TRUST 53,1887 - SIGSUBPKT_REGEXP 54,1933 - SIGSUBPKT_REVOCABLE 55,1982 - SIGSUBPKT_KEY_EXPIRE 56,2025 - SIGSUBPKT_ARR 57,2079 - SIGSUBPKT_PREF_SYM 58,2137 - SIGSUBPKT_REV_KEY 59,2201 - SIGSUBPKT_ISSUER 60,2248 - SIGSUBPKT_NOTATION 61,2293 - SIGSUBPKT_PREF_HASH 62,2340 - SIGSUBPKT_PREF_COMPR 63,2400 - SIGSUBPKT_KS_FLAGS 64,2468 - SIGSUBPKT_PREF_KS 65,2524 - SIGSUBPKT_PRIMARY_UID 66,2577 - SIGSUBPKT_POLICY 67,2629 - SIGSUBPKT_KEY_FLAGS 68,2671 - SIGSUBPKT_SIGNERS_UID 69,2715 - SIGSUBPKT_REVOC_REASON 70,2768 - SIGSUBPKT_PRIV_VERIFY_CACHE 71,2827 - SIGSUBPKT_FLAG_CRITICAL 73,2896 -} sigsubpkttype_t;sigsubpkttype_t74,2928 -struct ksign_signatureksign_signature79,2975 -struct ksign_public_keyksign_public_key96,3487 -static inline void ksign_put_public_key(113,4066 -struct ksign_user_idksign_user_id126,4387 -typedef int (*ksign_signature_actor_t)ksign_signature_actor_t137,4538 -typedef int (*ksign_public_key_actor_t)ksign_public_key_actor_t138,4619 -typedef int (*ksign_user_id_actor_t)ksign_user_id_actor_t139,4702 -static inline void SHA1_putc(155,5214 -static inline void SHA1_write(160,5329 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/ksign-keyring.c,207 -static int add_keyblock_key(29,1009 -static int add_keyblock_uid(49,1512 -int ksign_load_keyring_from_buffer(59,1724 -struct ksign_public_key *ksign_get_public_key(75,2126 -void ksign_clear_keyring(98,2606 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/signature/dsa.c,24 -int DSA_verify(30,1077 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/proc.c,296 -static void *c_start(24,629 -static void *c_next(36,874 -static void c_stop(46,1081 -static int c_show(51,1161 -static struct seq_operations crypto_seq_ops 86,2159 -static int crypto_info_open(93,2284 -static struct file_operations proc_crypto_ops 98,2406 -void __init crypto_init_proc(105,2555 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/api.c,508 -static inline int crypto_alg_get(26,738 -static inline void crypto_alg_put(31,841 -struct crypto_alg *crypto_alg_lookup(36,934 -static int crypto_init_flags(57,1281 -static int crypto_init_ops(79,1702 -static void crypto_exit_ops(99,2060 -struct crypto_tfm *crypto_alloc_tfm2(120,2401 -struct crypto_tfm *crypto_alloc_tfm(163,3102 -void crypto_free_tfm(168,3215 -int crypto_register_alg(179,3434 -int crypto_unregister_alg(199,3796 -int crypto_alg_available(219,4135 -static int __init init_crypto(232,4329 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/aes.c,1516 -#define AES_MIN_KEY_SIZE 62,2168 -#define AES_MAX_KEY_SIZE 63,2196 -#define AES_BLOCK_SIZE 65,2225 -u32 generic_rotr32 68,2268 -u32 generic_rotl32 75,2409 -#define rotl 81,2535 -#define rotr 82,2563 -byte(88,2673 -#define u32_in(u32_in93,2737 -#define u32_out(u32_out94,2786 -struct aes_ctx aes_ctx96,2848 -#define E_KEY 102,2910 -#define D_KEY 103,2931 -static u8 pow_tab[105,2953 -static u8 pow_tab[256] __initdata;105,2953 -static u8 log_tab[106,2988 -static u8 log_tab[256] __initdata;106,2988 -static u8 sbx_tab[107,3023 -static u8 sbx_tab[256] __initdata;107,3023 -static u8 isb_tab[108,3058 -static u8 isb_tab[256] __initdata;108,3058 -static u32 rco_tab[109,3093 -static u32 ft_tab[110,3117 -static u32 it_tab[111,3144 -static u32 fl_tab[113,3172 -static u32 il_tab[114,3199 -f_mult 117,3251 -#define ff_mult(ff_mult124,3361 -#define f_rn(f_rn126,3414 -#define i_rn(i_rn132,3658 -#define ls_box(ls_box138,3902 -#define f_rl(f_rl144,4058 -#define i_rl(i_rl150,4302 -gen_tabs 157,4565 -#define star_x(star_x227,6026 -#define imix_col(imix_col229,6108 -#define loop4(loop4241,6432 -#define loop6(loop6249,6759 -#define loop8(loop8259,7194 -aes_set_key(273,7782 -#define f_nround(f_nround328,8840 -#define f_lround(f_lround335,9002 -static void aes_encrypt(341,9146 -#define i_nround(i_nround381,9988 -#define i_lround(i_lround388,10150 -static void aes_decrypt(394,10294 -static struct crypto_alg aes_alg 434,11183 -static int __init aes_init(452,11653 -static void __exit aes_fini(458,11743 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/sha1.c,543 -#define SHA1_DIGEST_SIZE 27,795 -#define SHA1_HMAC_BLOCK_SIZE 28,823 -static inline u32 rol(30,856 -# define blk0(blk037,1087 -#define blk(blk39,1116 -#define R0(R043,1301 -#define R1(R145,1410 -#define R2(R247,1518 -#define R3(R348,1593 -#define R4(R450,1705 -struct sha1_ctx sha1_ctx52,1781 -static void sha1_transform(59,1937 -static void sha1_init(107,4032 -static void sha1_update(119,4252 -static void sha1_final(142,4795 -static struct crypto_alg alg 181,5702 -static int __init init(195,6112 -static void __exit fini(200,6181 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/sha512.c,1112 -#define SHA384_DIGEST_SIZE 24,662 -#define SHA512_DIGEST_SIZE 25,692 -#define SHA384_HMAC_BLOCK_SIZE 26,722 -#define SHA512_HMAC_BLOCK_SIZE 27,757 -struct sha512_ctx sha512_ctx29,793 -static inline u64 Ch(35,861 -static inline u64 Maj(40,942 -static inline u64 RORu64(45,1030 -const u64 sha512_K[50,1117 -#define e0(e080,3204 -#define e1(e181,3269 -#define s0(s082,3334 -#define s1(s183,3395 -#define H0 86,3492 -#define H1 87,3533 -#define H2 88,3574 -#define H3 89,3615 -#define H4 90,3656 -#define H5 91,3697 -#define H6 92,3738 -#define H7 93,3779 -#define HP0 96,3857 -#define HP1 97,3891 -#define HP2 98,3925 -#define HP3 99,3959 -#define HP4 100,3993 -#define HP5 101,4027 -#define HP6 102,4061 -#define HP7 103,4095 -static inline void LOAD_OP(105,4130 -static inline void BLEND_OP(125,4639 -sha512_transform(131,4759 -sha512_init(179,6322 -sha384_init(195,6691 -sha512_update(211,7138 -sha512_final(248,7987 -static void sha384_final(310,9427 -static struct crypto_alg sha512 321,9623 -static struct crypto_alg sha384 336,10263 -static int __init init(353,10928 -static void __exit fini(365,11191 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/michael_mic.c,541 -struct michael_mic_ctx michael_mic_ctx19,434 -static inline u32 rotl(27,513 -static inline u32 rotr(33,607 -static inline u32 xswap(39,701 -#define michael_block(michael_block45,803 -static inline u32 get_le32(58,989 -static inline void put_le32(64,1093 -static void michael_init(73,1202 -static void michael_update(80,1305 -static void michael_final(115,1972 -static int michael_setkey(145,2552 -static struct crypto_alg michael_mic_alg 160,2846 -static int __init michael_mic_init(176,3282 -static void __exit michael_mic_exit(182,3376 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/cipher.c,651 -typedef void (cryptfn_t)cryptfn_t23,578 -typedef void (procfn_t)procfn_t24,630 -static inline void xor_64(27,745 -static inline void xor_128(33,862 -static int crypt(47,1265 -static void cbc_process(98,2442 -static void ecb_process(123,3080 -static int setkey(129,3239 -static int ecb_encrypt(141,3626 -static int ecb_decrypt(150,3909 -static int cbc_encrypt(160,4215 -static int cbc_encrypt_iv(170,4539 -static int cbc_decrypt(180,4877 -static int cbc_decrypt_iv(190,5201 -static int nocrypt(200,5539 -static int nocrypt_iv(208,5718 -int crypto_init_cipher_flags(216,5931 -int crypto_init_cipher_ops(227,6202 -void crypto_exit_cipher_ops(294,7680 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/blowfish.c,643 -#define BF_BLOCK_SIZE 25,726 -#define BF_MIN_KEY_SIZE 26,750 -#define BF_MAX_KEY_SIZE 27,776 -struct bf_ctx bf_ctx29,804 -static const u32 bf_pbox[34,850 -static const u32 bf_sbox[42,1112 -#define GET32_3(GET32_3305,13813 -#define GET32_2(GET32_2306,13847 -#define GET32_1(GET32_1307,13890 -#define GET32_0(GET32_0308,13934 -#define bf_F(bf_F310,13979 -#define ROUND(ROUND313,14094 -static inline void encrypt_block(319,14252 -static void bf_encrypt(350,14786 -static void bf_decrypt(363,15125 -static int bf_setkey(399,15898 -static struct crypto_alg alg 449,17034 -static int __init init(464,17478 -static void __exit fini(469,17547 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/digest.c,281 -static void init(21,530 -static void update(26,635 -static void update_kernel(55,1260 -static void final(62,1446 -static int setkey(67,1567 -static void digest(76,1832 -int crypto_init_digest_flags(93,2285 -int crypto_init_digest_ops(98,2383 -void crypto_exit_digest_ops(112,2695 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/hmac.c,225 -static void hash_key(24,695 -int crypto_alloc_hmac_block(35,935 -void crypto_free_hmac_block(50,1257 -void crypto_hmac_init(56,1392 -void crypto_hmac_update(81,2021 -void crypto_hmac_final(87,2177 -void crypto_hmac(122,3058 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/des.c,925 -#define DES_KEY_SIZE 30,1032 -#define DES_EXPKEY_WORDS 31,1056 -#define DES_BLOCK_SIZE 32,1084 -#define DES3_EDE_KEY_SIZE 34,1111 -#define DES3_EDE_EXPKEY_WORDS 35,1156 -#define DES3_EDE_BLOCK_SIZE 36,1209 -#define ROR(ROR38,1253 -struct des_ctx des_ctx40,1305 -struct des3_ede_ctx des3_ede_ctx45,1381 -static const u32 des_keymap[50,1467 -static const u8 rotors[188,7784 -static const u8 parity[270,10955 -static void des_small_fips_encrypt(282,11517 -static void des_small_fips_decrypt(654,22118 -static int setkey(1029,32775 -static int des_setkey(1173,36342 -static void des_encrypt(1178,36497 -static void des_decrypt(1183,36629 -static int des3_ede_setkey(1201,37163 -static void des3_ede_encrypt(1224,37745 -static void des3_ede_decrypt(1233,38039 -static struct crypto_alg des_alg 1242,38332 -static struct crypto_alg des3_ede_alg 1257,38772 -static int __init init(1274,39295 -static void __exit fini(1289,39521 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/serpent.c,1029 -#define SERPENT_MIN_KEY_SIZE 24,652 -#define SERPENT_MAX_KEY_SIZE 25,686 -#define SERPENT_EXPKEY_WORDS 26,720 -#define SERPENT_BLOCK_SIZE 27,754 -#define PHI 29,787 -#define ROL(ROL30,812 -#define ROR(ROR31,870 -#define keyiter(keyiter33,929 -#define loadkeys(loadkeys36,1028 -#define storekeys(storekeys39,1106 -#define K(K42,1185 -#define LK(LK46,1306 -#define KL(KL57,1623 -#define S0(S066,1923 -#define S1(S175,2149 -#define S2(S284,2385 -#define S3(S393,2611 -#define S4(S4102,2857 -#define S5(S5112,3092 -#define S6(S6121,3318 -#define S7(S7130,3546 -#define SI0(SI0140,3797 -#define SI1(SI1148,4019 -#define SI2(SI2157,4246 -#define SI3(SI3165,4468 -#define SI4(SI4174,4707 -#define SI5(SI5183,4944 -#define SI6(SI6192,5199 -#define SI7(SI7201,5426 -struct serpent_ctx serpent_ctx210,5669 -static int setkey(215,5757 -static void encrypt(365,13588 -static void decrypt(423,15527 -static struct crypto_alg serpent_alg 476,17363 -static int __init init(491,17833 -static void __exit fini(496,17910 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/crypto_null.c,566 -#define NULL_KEY_SIZE 25,673 -#define NULL_BLOCK_SIZE 26,698 -#define NULL_DIGEST_SIZE 27,725 -static int null_compress(29,753 -static int null_decompress(33,892 -static void null_init(37,1035 -static void null_update(40,1073 -static void null_final(43,1147 -static int null_setkey(46,1195 -static void null_encrypt(50,1315 -static void null_decrypt(53,1380 -static struct crypto_alg compress_null 56,1445 -static struct crypto_alg digest_null 68,1811 -static struct crypto_alg cipher_null 82,2222 -static int __init init(101,2753 -static void __exit fini(126,3158 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/tea.c,711 -#define TEA_KEY_SIZE 24,658 -#define TEA_BLOCK_SIZE 25,683 -#define TEA_ROUNDS 26,709 -#define TEA_DELTA 27,732 -#define XTEA_KEY_SIZE 29,763 -#define XTEA_BLOCK_SIZE 30,789 -#define XTEA_ROUNDS 31,816 -#define XTEA_DELTA 32,840 -#define u32_in(u32_in34,872 -#define u32_out(u32_out35,921 -struct tea_ctx tea_ctx37,983 -struct xtea_ctx xtea_ctx41,1017 -static int tea_setkey(45,1052 -static void tea_encrypt(66,1445 -static void tea_decrypt(93,1924 -static int xtea_setkey(123,2424 -static void xtea_encrypt(144,2819 -static void xtea_decrypt(166,3239 -static struct crypto_alg tea_alg 188,3640 -static struct crypto_alg xtea_alg 203,4081 -static int __init init(218,4532 -static void __exit fini(236,4772 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/md4.c,758 -#define MD4_DIGEST_SIZE 29,944 -#define MD4_HMAC_BLOCK_SIZE 30,972 -#define MD4_BLOCK_WORDS 31,1003 -#define MD4_HASH_WORDS 32,1031 -struct md4_ctx md4_ctx34,1058 -static inline u32 lshift(40,1152 -static inline u32 F(46,1274 -static inline u32 G(51,1350 -static inline u32 H(56,1433 -#define ROUND1(ROUND161,1522 -#define ROUND2(ROUND262,1584 -#define ROUND3(ROUND363,1663 -static inline void le32_to_cpu_array(66,1782 -static inline void cpu_to_le32_array(74,1908 -static void md4_transform(82,2034 -static inline void md4_transform_helper(148,3755 -static void md4_init(154,3926 -static void md4_update(165,4132 -static void md4_final(195,4808 -static struct crypto_alg alg 221,5566 -static int __init init(235,5970 -static void __exit fini(240,6039 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/wp512.c,939 -#define WP512_DIGEST_SIZE 28,909 -#define WP384_DIGEST_SIZE 29,938 -#define WP256_DIGEST_SIZE 30,967 -#define WP512_BLOCK_SIZE 32,997 -#define WP512_LENGTHBYTES 33,1026 -#define WHIRLPOOL_ROUNDS 35,1056 -struct wp512_ctx wp512_ctx37,1085 -static const u64 C0[52,1483 -static const u64 C1[141,7490 -static const u64 C2[230,13497 -static const u64 C3[319,19504 -static const u64 C4[408,25511 -static const u64 C5[497,31518 -static const u64 C6[586,37525 -static const u64 C7[675,43532 -static const u64 rc[764,49539 -static void wp512_process_buffer(775,49888 -static void wp512_init 991,56696 -static void wp512_update(1003,56924 -static void wp512_final(1064,58539 -static void wp384_final(1106,59920 -static void wp256_final(1116,60108 -static struct crypto_alg wp512 1126,60296 -static struct crypto_alg wp384 1140,60713 -static struct crypto_alg wp256 1154,61130 -static int __init init(1168,61547 -static void __exit fini(1194,61902 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/tcrypt.c,774 -#define TVMEMSIZE 33,895 -#define XBUFSIZE 34,918 -#define IDX1 39,1005 -#define IDX2 40,1022 -#define IDX3 41,1042 -#define IDX4 42,1058 -#define IDX5 43,1077 -#define IDX6 44,1097 -#define IDX7 45,1117 -#define IDX8 46,1137 -#define ENCRYPT 51,1187 -#define DECRYPT 52,1205 -#define MODE_ECB 53,1223 -#define MODE_CBC 54,1242 -static unsigned int IDX[56,1262 -static int mode;58,1344 -static char *xbuf;59,1361 -static char *tvmem;60,1380 -static char *check[62,1401 -hexdump(70,1669 -test_hash 79,1790 -test_hmac(171,3948 -test_cipher(259,5972 -test_deflate(421,9687 -test_crc32c(501,11552 -#define NUMVEC 503,11572 -#define VECSIZE 504,11589 -#define SEEDTESTVAL 518,11947 -test_available(602,14114 -do_test(615,14310 -init(839,22350 -static void __exit fini(862,22706 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/cast5.c,780 -#define CAST5_BLOCK_SIZE 30,949 -#define CAST5_MIN_KEY_SIZE 31,976 -#define CAST5_MAX_KEY_SIZE 32,1005 -struct cast5_ctx cast5_ctx34,1036 -static const u32 s1[41,1159 -static const u32 s2[107,4326 -static const u32 s3[173,7493 -static const u32 s4[239,10660 -static const u32 s5[305,13827 -static const u32 s6[371,16994 -static const u32 s7[437,20161 -static const u32 sb8[503,23328 -#define rol(rol571,26498 -#define F1(F1573,26553 -#define F2(F2575,26688 -#define F3(F3577,26823 -static void cast5_encrypt(581,26960 -static void cast5_decrypt(650,29409 -static void key_schedule(706,31268 -#define xi(xi709,31323 -#define zi(zi710,31378 -cast5_setkey(782,33963 -static struct crypto_alg alg 818,34778 -static int __init init(836,35245 -static void __exit fini(841,35314 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/twofish.c,1239 -static const u8 q0[55,2160 -static const u8 q1[80,3793 -static const u32 mds[118,6237 -static const u8 poly_to_exp[329,21497 -static const u8 exp_to_poly[354,23133 -static const u8 calc_sb_tbl[401,26340 -#define CALC_S(CALC_S473,29991 -#define CALC_SB_2(CALC_SB_2488,30562 -#define CALC_SB192_2(CALC_SB192_2496,30836 -#define CALC_SB256_2(CALC_SB256_2504,31150 -#define CALC_K_2(CALC_K_2534,33061 -#define CALC_K(CALC_K540,33294 -#define CALC_K192_2(CALC_K192_2547,33509 -#define CALC_K192(CALC_K192553,33679 -#define CALC_K256_2(CALC_K256_2560,33903 -#define CALC_K256(CALC_K256566,34079 -#define G1(G1578,34472 -#define G2(G2582,34615 -#define ENCROUND(ENCROUND591,35025 -#define DECROUND(DECROUND598,35240 -#define ENCCYCLE(ENCCYCLE609,35607 -#define DECCYCLE(DECCYCLE613,35705 -#define INPACK(INPACK623,36119 -#define OUTUNPACK(OUTUNPACK627,36261 -#define TF_MIN_KEY_SIZE 632,36420 -#define TF_MAX_KEY_SIZE 633,36447 -#define TF_BLOCK_SIZE 634,36474 -struct twofish_ctx twofish_ctx640,36791 -static int twofish_setkey(645,36876 -static void twofish_encrypt(804,43897 -static void twofish_decrypt(839,44569 -static struct crypto_alg alg 873,45188 -static int __init init(888,45747 -static void __exit fini(893,45816 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/sha256.c,782 -#define SHA256_DIGEST_SIZE 26,773 -#define SHA256_HMAC_BLOCK_SIZE 27,803 -struct sha256_ctx sha256_ctx29,838 -static inline u32 Ch(35,906 -static inline u32 Maj(40,980 -static inline u32 RORu32(45,1061 -#define e0(e050,1141 -#define e1(e151,1206 -#define s0(s052,1271 -#define s1(s153,1332 -#define H0 55,1395 -#define H1 56,1425 -#define H2 57,1455 -#define H3 58,1485 -#define H4 59,1515 -#define H5 60,1545 -#define H6 61,1575 -#define H7 62,1605 -static inline void LOAD_OP(64,1636 -static inline void BLEND_OP(77,1881 -static void sha256_transform(82,1982 -static void sha256_init(245,8925 -static void sha256_update(260,9253 -static void sha256_final(292,10012 -static struct crypto_alg alg 334,10926 -static int __init init(348,11350 -static void __exit fini(353,11419 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/compress.c,189 -static int crypto_compress(21,537 -static int crypto_decompress(30,906 -int crypto_init_compress_flags(39,1285 -int crypto_init_compress_ops(44,1385 -void crypto_exit_compress_ops(60,1697 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/arc4.c,314 -#define ARC4_MIN_KEY_SIZE 18,432 -#define ARC4_MAX_KEY_SIZE 19,460 -#define ARC4_BLOCK_SIZE 20,490 -struct arc4_ctx arc4_ctx22,518 -static int arc4_set_key(27,562 -static void arc4_crypt(51,956 -static struct crypto_alg arc4_alg 72,1270 -static int __init arc4_init(87,1731 -static void __exit arc4_exit(93,1811 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/khazad.c,671 -#define KHAZAD_KEY_SIZE 28,837 -#define KHAZAD_BLOCK_SIZE 29,865 -#define KHAZAD_ROUNDS 30,893 -struct khazad_ctx khazad_ctx32,919 -static const u64 T0[37,997 -static const u64 T1[126,7003 -static const u64 T2[215,13009 -static const u64 T3[304,19015 -static const u64 T4[393,25021 -static const u64 T5[482,31027 -static const u64 T6[571,37033 -static const u64 T7[660,43039 -static const u64 c[749,49045 -static int khazad_setkey(755,49300 -static void khazad_crypt(820,51114 -static void khazad_encrypt(870,52661 -static void khazad_decrypt(876,52800 -static struct crypto_alg khazad_alg 882,52939 -static int __init init(897,53410 -static void __exit fini(905,53514 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/internal.h,462 -#define _CRYPTO_INTERNAL_H13,380 -static inline enum km_type crypto_kmap_type(24,628 -static inline void *crypto_kmap(29,741 -static inline void crypto_kunmap(34,856 -static inline void crypto_yield(39,962 -static inline void *crypto_tfm_ctx(45,1061 -static inline struct crypto_alg *crypto_alg_mod_lookup(54,1331 -static inline int crypto_alloc_hmac_block(63,1611 -static inline void crypto_free_hmac_block(68,1693 -static inline void crypto_init_proc(75,1835 - -/export0/mef/linux-2.6.9-1.11_FC2/crypto/md5.c,664 -#define MD5_DIGEST_SIZE 24,703 -#define MD5_HMAC_BLOCK_SIZE 25,731 -#define MD5_BLOCK_WORDS 26,762 -#define MD5_HASH_WORDS 27,790 -#define F1(F129,817 -#define F2(F230,857 -#define F3(F331,889 -#define F4(F432,921 -#define MD5STEP(MD5STEP34,957 -struct md5_ctx md5_ctx37,1050 -static void md5_transform(43,1144 -static inline void le32_to_cpu_array(127,4583 -static inline void cpu_to_le32_array(135,4709 -static inline void md5_transform_helper(143,4835 -static void md5_init(149,5006 -static void md5_update(160,5212 -static void md5_final(190,5888 -static struct crypto_alg alg 216,6646 -static int __init init(230,7037 -static void __exit fini(235,7106 - -/export0/mef/linux-2.6.9-1.11_FC2/Documentation/networking/ifenslave.c,1527 -#define APP_VERSION 97,4749 -#define APP_RELDATE 98,4777 -#define APP_NAME 99,4816 -static char *version 101,4846 -static const char *usage_msg 108,5150 -static const char *help_msg 114,5390 -typedef unsigned long long u64;u64167,7239 -typedef __uint32_t u32;u32168,7320 -typedef __uint16_t u16;u16169,7357 -typedef __uint8_t u8;u8170,7394 -struct option longopts[173,7457 -opt_a 188,8007 -int skfd 197,8276 -int abi_ver 198,8331 -int hwaddr_set 199,8384 -int saved_errno;200,8433 -struct ifreq master_mtu,202,8451 -struct ifreq master_mtu, master_flags,202,8451 -struct ifreq master_mtu, master_flags, master_hwaddr;202,8451 -struct ifreq slave_mtu,203,8505 -struct ifreq slave_mtu, slave_flags,203,8505 -struct ifreq slave_mtu, slave_flags, slave_hwaddr;203,8505 -struct dev_ifr dev_ifr205,8557 -struct dev_ifr master_ifra[211,8634 -struct dev_ifr slave_ifra[218,8841 -#define v_print(v_print240,9890 -int main(244,9971 -static short mif_flags;502,15409 -static int if_getconfig(505,15488 -static void if_print(570,17302 -static int get_drv_info(605,18003 -static int change_active(644,18862 -static int enslave(671,19521 -static int release(833,23177 -static int get_if_settings(873,24197 -static int get_slave_flags(894,24633 -static int set_master_hwaddr(912,25047 -static int set_slave_hwaddr(936,25722 -static int set_slave_mtu(974,26838 -static int set_if_flags(994,27263 -static int set_if_up(1014,27689 -static int set_if_down(1019,27788 -static int clear_if_addr(1024,27890 -static int set_if_addr(1045,28367 - -/export0/mef/linux-2.6.9-1.11_FC2/Documentation/firmware_class/firmware_sample_firmware_class.c,669 -static inline struct class_device *to_class_dev(24,573 -struct class_device_attribute *to_class_dev_attr(29,712 -struct firmware_priv firmware_priv37,1014 -static ssize_t firmware_loading_show(45,1140 -static ssize_t firmware_loading_store(50,1335 -static ssize_t firmware_data_read(78,1940 -static ssize_t firmware_data_write(88,2228 -static struct bin_attribute firmware_attr_data 98,2517 -static int fw_setup_class_device(104,2684 -static void fw_remove_class_device(161,4147 -static struct class_device *class_dev;170,4449 -static struct device my_device 172,4489 -static int __init firmware_sample_init(177,4584 -static void __exit firmware_sample_exit(195,4932 - -/export0/mef/linux-2.6.9-1.11_FC2/Documentation/firmware_class/firmware_sample_driver.c,430 -#define WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE19,361 -char __init inkernel_firmware[21,478 -static struct device ghost_device 24,557 -static void sample_firmware_load(30,654 -static void sample_probe_default(38,840 -static void sample_probe_specific(57,1343 -static void sample_probe_async_cont(78,1962 -static void sample_probe_async(90,2274 -static int sample_init(105,2627 -static void __exit sample_exit(119,3033 - -/export0/mef/linux-2.6.9-1.11_FC2/Documentation/DocBook/procfs_example.c,629 -#define MODULE_VERS 54,1696 -#define MODULE_NAME 55,1722 -#define FOOBAR_LEN 57,1760 -struct fb_data_t fb_data_t59,1782 -static struct proc_dir_entry *example_dir,65,1863 -static struct proc_dir_entry *example_dir, *foo_file,65,1863 - *bar_file,66,1917 - *bar_file, *jiffies_file,66,1917 - *bar_file, *jiffies_file, *symlink;66,1917 -struct fb_data_t foo_data,69,1956 -struct fb_data_t foo_data, bar_data;69,1956 -static int proc_read_jiffies(72,1995 -static int proc_read_foobar(85,2213 -static int proc_write_foobar(100,2536 -static int __init init_procfs_example(122,2911 -static void __exit cleanup_procfs_example(206,4726 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mprotect.c,126 -change_pte_range(29,626 -change_pmd_range(65,1371 -change_protection(91,1899 -mprotect_fixup(113,2444 -sys_mprotect(196,4462 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/nommu.c,1285 -void *high_memory;27,694 -struct page *mem_map;28,713 -unsigned long max_mapnr;29,735 -unsigned long num_physpages;30,760 -unsigned long askedalloc,31,789 -unsigned long askedalloc, realalloc;31,789 -atomic_t vm_committed_space 32,826 -int sysctl_overcommit_memory 33,872 -int sysctl_overcommit_ratio 34,948 -int sysctl_max_map_count 36,1004 -int vmtruncate(47,1338 -unsigned int kobjsize(83,2129 -int get_user_pages(102,2434 -rwlock_t vmlist_lock 122,2864 -struct vm_struct *vmlist;123,2905 -void vfree(125,2932 -void *__vmalloc(130,2974 -struct page * vmalloc_to_page(138,3158 -long vread(143,3233 -long vwrite(149,3335 -void *vmalloc(170,3859 -void *vmalloc_32(183,4230 -void *vmap(188,4322 -void vunmap(194,4437 -asmlinkage unsigned long sys_brk(206,4793 -static inline unsigned long calc_vm_flags(235,5357 -#define _trans(_trans237,5442 -static void show_process_blocks(254,5891 -unsigned long do_mmap_pgoff(269,6334 -int do_munmap(442,10636 -void exit_mmap(495,11845 -asmlinkage long sys_munmap(531,12569 -unsigned long do_brk(542,12781 -struct vm_area_struct * find_vma(547,12863 -struct page * follow_page(552,12958 -struct vm_area_struct *find_extend_vma(557,13056 -int remap_page_range(562,13156 -unsigned long get_unmapped_area(568,13301 -void swap_unplug_io_fn(574,13456 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mremap.c,323 -static pte_t *get_one_pte_map_nested(24,474 -static pte_t *get_one_pte_map(57,1004 -static inline pte_t *alloc_one_pte_map(71,1278 -move_one_page(83,1520 -static unsigned long move_page_tables(145,3157 -static unsigned long move_vma(166,3740 -unsigned long do_mremap(245,6026 -asmlinkage unsigned long sys_mremap(402,9959 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/vmscan.c,1308 - PAGE_KEEP,45,1221 - PAGE_ACTIVATE,47,1285 - PAGE_SUCCESS,49,1370 - PAGE_CLEAN,51,1417 -} pageout_t;pageout_t52,1430 -struct scan_control scan_control54,1444 -struct shrinker shrinker82,2128 -#define lru_to_page(lru_to_page89,2280 -#define prefetch_prev_lru_page(prefetch_prev_lru_page92,2379 -#define prefetch_prev_lru_page(prefetch_prev_lru_page102,2633 -#define prefetchw_prev_lru_page(prefetchw_prev_lru_page106,2737 -#define prefetchw_prev_lru_page(prefetchw_prev_lru_page116,2993 -int vm_swappiness 122,3124 -static long total_memory;123,3148 -struct shrinker *set_shrinker(131,3306 -void remove_shrinker(151,3796 -#define SHRINK_BATCH 160,3985 -static int shrink_slab(178,4715 -static inline int page_mapping_inuse(223,5764 -static inline int is_page_cache_freeable(243,6164 -static int may_write_to_queue(248,6282 -static void handle_write_error(273,7061 -static pageout_t pageout(289,7436 -static int shrink_list(348,9119 -static void shrink_cache(540,14424 -refill_inactive_zone(639,17127 -shrink_zone(789,21239 -shrink_caches(852,22984 -int try_to_free_pages(886,24048 -static int balance_pgdat(976,27173 -static int kswapd(1132,31473 -void wakeup_kswapd(1177,32798 -int shrink_all_memory(1193,33168 -static int __devinit cpu_callback(1221,33857 -static int __init kswapd_init(1240,34293 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/prio_tree.c,1032 -#define RADIX_INDEX(RADIX_INDEX47,2000 -#define VMA_SIZE(VMA_SIZE48,2044 -#define HEAP_INDEX(HEAP_INDEX50,2139 -#define GET_INDEX_VMA(GET_INDEX_VMA52,2206 -#define GET_INDEX(GET_INDEX58,2333 -static unsigned long index_bits_to_maxindex[65,2547 -void __init prio_tree_init(67,2608 -static inline unsigned long prio_tree_maxindex(79,2928 -static struct prio_tree_node *prio_tree_expand(92,3367 -static struct prio_tree_node *prio_tree_replace(141,4461 -static struct prio_tree_node *prio_tree_insert(185,5720 -static void prio_tree_remove(262,7516 -static struct prio_tree_node *prio_tree_left(315,8866 -static struct prio_tree_node *prio_tree_right(346,9575 -static struct prio_tree_node *prio_tree_parent(388,10467 -static inline int overlap(404,10856 -static struct prio_tree_node *prio_tree_first(417,11238 -static struct prio_tree_node *prio_tree_next(456,11986 -void vma_prio_tree_add(524,14378 -void vma_prio_tree_insert(546,15033 -void vma_prio_tree_remove(562,15437 -struct vm_area_struct *vma_prio_tree_next(613,16994 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/fadvise.c,81 -asmlinkage long sys_fadvise64_64(25,482 -asmlinkage long sys_fadvise64(105,2252 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/page_io.c,205 -static struct bio *get_swap_bio(22,607 -static int end_swap_bio_write(47,1233 -static int end_swap_bio_read(62,1553 -int swap_writepage(85,2052 -int swap_readpage(111,2594 -int rw_swap_page_sync(138,3253 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/truncate.c,323 -static int do_invalidatepage(19,389 -static inline void truncate_partial_page(28,685 -truncate_complete_page(46,1434 -invalidate_complete_page(69,2091 -void truncate_inode_pages(112,3595 -unsigned long invalidate_mapping_pages(195,5707 -unsigned long invalidate_inode_pages(234,6538 -void invalidate_inode_pages2(255,7293 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/bootmem.c,828 -unsigned long max_low_pfn;27,658 -unsigned long min_low_pfn;28,685 -unsigned long max_pfn;29,712 -unsigned long __init bootmem_bootmap_pages 36,946 -static unsigned long __init init_bootmem_core 50,1209 -static void __init reserve_bootmem_core(78,2054 -static void __init free_bootmem_core(103,2797 -__alloc_bootmem_core(147,4024 -static unsigned long __init free_all_bootmem_core(255,6986 -unsigned long __init init_bootmem_node 326,8790 -void __init reserve_bootmem_node 331,8984 -void __init free_bootmem_node 336,9138 -unsigned long __init free_all_bootmem_node 341,9286 -unsigned long __init init_bootmem 347,9420 -void __init reserve_bootmem 355,9648 -void __init free_bootmem 361,9825 -unsigned long __init free_all_bootmem 366,9952 -void * __init __alloc_bootmem 372,10087 -void * __init __alloc_bootmem_node 390,10512 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/oom_kill.c,242 -static unsigned long badness(45,1598 -static struct task_struct * select_bad_process(114,3357 -static void __oom_kill_task(141,4025 -static struct mm_struct *oom_kill_task(169,4742 -static void oom_kill(187,5239 -void out_of_memory(233,6227 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/memory.c,2005 -unsigned long max_mapnr;61,1664 -struct page *mem_map;62,1689 -unsigned long num_physpages;68,1770 -void * high_memory;76,2130 -struct page *highmem_start_page;77,2150 -unsigned long vmalloc_earlyreserve;78,2183 -static inline void copy_cow_page(90,2537 -static inline void free_one_pmd(103,2895 -static inline void free_one_pgd(120,3208 -void clear_page_tables(145,3740 -pte_t fastcall * pte_alloc_map(156,3944 -pte_t fastcall * pte_alloc_kernel(182,4522 -#define PTE_TABLE_MASK 206,5081 -#define PMD_TABLE_MASK 207,5139 -int copy_page_range(220,5616 -static void zap_pte_range(360,8930 -static void zap_pmd_range(443,11133 -static void unmap_page_range(468,11738 -# define ZAP_BLOCK_SIZE 486,12224 -#define ZAP_BLOCK_SIZE 491,12392 -#define ZAP_BLOCK_SIZE 496,12558 -#define ZAP_BLOCK_SIZE 501,12695 -int unmap_vmas(533,13954 -void zap_page_range(600,15711 -follow_page(626,16387 -static inline struct page *get_page_map(679,17486 -untouched_anonymous_page(688,17634 -int get_user_pages(713,18221 -static void zeromap_pte_range(840,21377 -static inline int zeromap_pmd_range(858,21825 -int zeromap_page_range(880,22421 -static inline void remap_pte_range(918,23440 -static inline int remap_pmd_range(939,23944 -int remap_page_range(963,24642 -static inline pte_t maybe_mkwrite(1015,26096 -static inline void break_cow(1025,26331 -static int do_wp_page(1057,27572 -static inline void unmap_mapping_range_list(1141,29769 -void unmap_mapping_range(1181,31267 -int vmtruncate(1238,33126 -void swapin_readahead(1289,34513 -static int do_swap_page(1338,35704 -do_anonymous_page(1432,38052 -do_no_page(1498,39843 -static int do_file_page(1609,42981 -static inline int handle_pte_fault(1660,44692 -int handle_mm_fault(1697,45712 -pmd_t fastcall *__pmd_alloc(1736,46646 -int make_pages_present(1759,47127 -struct page * vmalloc_to_page(1783,47669 -struct vm_area_struct gate_vma;1811,48240 -static int __init gate_vma_init(1813,48273 -struct vm_area_struct *get_gate_vma(1825,48527 -int in_gate_area(1834,48662 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/hugetlb.c,1156 -const unsigned long hugetlb_zero 14,268 -static unsigned long nr_huge_pages,15,331 -static unsigned long nr_huge_pages, free_huge_pages;15,331 -unsigned long max_huge_pages;16,384 -static struct list_head hugepage_freelists[17,414 -static unsigned int nr_huge_pages_node[18,472 -static unsigned int free_huge_pages_node[19,526 -static spinlock_t hugetlb_lock 20,582 -static void enqueue_huge_page(22,636 -static struct page *dequeue_huge_page(30,819 -static struct page *alloc_fresh_huge_page(51,1324 -void free_huge_page(65,1652 -struct page *alloc_huge_page(77,1861 -static int __init hugetlb_init(96,2234 -static int __init hugetlb_setup(118,2739 -static void update_and_free_page(127,2922 -static void try_to_free_low(143,3411 -static inline void try_to_free_low(162,3866 -static unsigned long set_max_huge_pages(167,3934 -int hugetlb_sysctl_handler(192,4496 -int hugetlb_report_meminfo(202,4805 -int hugetlb_report_node_meminfo(213,5019 -int is_hugepage_mem_enough(222,5235 -unsigned long hugetlb_total_pages(228,5420 -static struct page *hugetlb_nopage(240,5792 -struct vm_operations_struct hugetlb_vm_ops 247,5922 -void zap_hugepage_range(251,6000 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/swap.c,811 -int page_cluster;35,923 -void put_page(39,970 -int rotate_reclaimable_page(72,2002 -void fastcall activate_page(102,2594 -void fastcall mark_page_accessed(123,3124 -void fastcall lru_cache_add(142,3618 -void fastcall lru_cache_add_active(152,3834 -void lru_add_drain(162,4078 -void fastcall __page_cache_release(178,4484 -void release_pages(207,5375 -void __pagevec_release(255,6731 -void __pagevec_release_nonlru(267,7015 -void __pagevec_lru_add(289,7548 -void __pagevec_lru_add_active(316,8135 -void pagevec_strip(346,8791 -unsigned pagevec_lookup(376,9681 -unsigned pagevec_lookup_tag(383,9895 -#define ACCT_THRESHOLD 397,10248 -void vm_acct_memory(401,10344 -static void lru_drain_cache(417,10672 -static int cpu_swap_callback(430,11050 -void percpu_counter_mod(448,11452 -void __init swap_setup(471,11904 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/page_alloc.c,4103 -struct pglist_data *pgdat_list;38,1162 -unsigned long totalram_pages;39,1194 -unsigned long totalhigh_pages;40,1224 -long nr_swap_pages;41,1255 -int numnodes 42,1275 -int sysctl_lower_zone_protection 43,1293 -struct zone *zone_table[52,1522 -static char *zone_names[55,1609 -int min_free_kbytes 56,1681 -unsigned long __initdata nr_kernel_pages;58,1710 -unsigned long __initdata nr_all_pages;59,1752 -static int bad_range(64,1869 -static void bad_page(75,2127 -#define prep_compound_page(prep_compound_page99,2899 -#define destroy_compound_page(destroy_compound_page100,2956 -static void prep_compound_page(119,3654 -static void destroy_compound_page(134,3941 -static inline void __free_pages_bulk 180,5511 -static inline void free_pages_check(219,6453 -free_pages_bulk(250,7280 -void __free_pages_ok(274,7931 -#define MARK_USED(MARK_USED289,8293 -expand(307,9117 -static inline void set_page_refs(323,9466 -static void prep_new_page(342,9897 -static struct page *__rmqueue(367,10531 -static int rmqueue_bulk(396,11413 -static void __drain_pages(417,11907 -int is_head_of_free_region(438,12316 -void drain_local_pages(463,12987 -static void zone_statistics(473,13156 -static void fastcall free_hot_cold_page(503,13817 -void fastcall free_hot_page(526,14400 -void fastcall free_cold_page(531,14483 -buffered_rmqueue(543,14759 -__alloc_pages(599,16363 -fastcall unsigned long __get_free_pages(747,19889 -fastcall unsigned long get_zeroed_page(758,20138 -void __pagevec_free(779,20551 -fastcall void __free_pages(787,20697 -fastcall void free_pages(799,20938 -unsigned int nr_free_pages(812,21200 -unsigned int nr_free_pages_pgdat(826,21394 -static unsigned int nr_free_zone_pages(837,21576 -unsigned int nr_free_buffer_pages(861,22099 -unsigned int nr_free_pagecache_pages(869,22255 -unsigned int nr_free_highpages 875,22382 -static void show_node(888,22590 -#define show_node(show_node893,22689 -atomic_t nr_pagecache 904,22999 -void __get_page_state(910,23140 -void get_page_state(933,23589 -void get_full_page_state(943,23767 -unsigned long __read_page_state(948,23883 -void __get_zone_counts(965,24180 -void get_zone_counts(981,24542 -void si_meminfo(998,24851 -void si_meminfo_node(1017,25243 -#define K(K1029,25585 -void show_free_areas(1036,25848 -static int __init build_zonelists_node(1149,28188 -#define MAX_NODE_LOAD 1177,28781 -static int __initdata node_load[1178,28814 -static int __init find_next_best_node(1194,29612 -static void __init build_zonelists(1234,30442 -static void __init build_zonelists(1282,31683 -void __init build_all_zonelists(1320,32718 -#define PAGES_PER_WAITQUEUE 1340,33386 -static inline unsigned long wait_table_size(1342,33419 -static inline unsigned long wait_table_bits(1366,34012 -#define LONG_ALIGN(LONG_ALIGN1371,34101 -static void __init calculate_zone_totalpages(1373,34169 -void __init memmap_init_zone(1397,34893 -unsigned long pages_to_bitmap_size(1436,36176 -void zone_init_free_lists(1446,36396 -#define memmap_init(memmap_init1465,36880 -static void __init free_area_init_core(1475,37134 -void __init node_alloc_mem_map(1582,40114 -void __init free_area_init_node(1593,40395 -static bootmem_data_t contig_bootmem_data;1608,40829 -struct pglist_data contig_page_data 1609,40872 -void __init free_area_init(1613,40980 -static void *frag_start(1624,41196 -static void *frag_next(1635,41393 -static void frag_stop(1643,41542 -static int frag_show(1651,41755 -struct seq_operations fragmentation_op 1679,42472 -static char *vmstat_text[1686,42601 -static void *vmstat_start(1733,43272 -static void *vmstat_next(1750,43634 -static int vmstat_show(1758,43816 -static void vmstat_stop(1767,44016 -struct seq_operations vmstat_op 1773,44116 -static int page_alloc_cpu_notify(1783,44301 -void __init page_alloc_init(1802,44735 -static unsigned long higherzone_val(1807,44818 -static void setup_per_zone_protection(1845,46116 -static void setup_per_zone_pages_min(1898,47424 -static int __init init_per_zone_pages_min(1965,49105 -module_init(1980,49474 -int lower_zone_protection_sysctl_handler(2001,50133 -void *__init alloc_large_system_hash(2014,50542 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mmap.c,1935 -pgprot_t protection_map[53,1365 -int sysctl_overcommit_memory 58,1530 -int sysctl_overcommit_ratio 59,1607 -int sysctl_max_map_count 60,1662 -atomic_t vm_committed_space 61,1712 -static void __remove_shared_vm_struct(71,1962 -static void remove_vm_struct(90,2495 -asmlinkage unsigned long sys_brk(117,3301 -static int browse_rb(160,4222 -void validate_mm(187,4930 -#define validate_mm(validate_mm205,5316 -find_vma_prepare(209,5396 -__vma_link_list(246,6261 -void __vma_link_rb(264,6681 -static inline void __vma_link_file(271,6901 -__vma_link(294,7480 -static void vma_link(303,7742 -__insert_vm_struct(333,8451 -__vma_unlink(346,8822 -void vma_adjust(364,9429 -#define VM_SPECIAL 511,13234 -static inline int is_mergeable_vma(513,13306 -static inline int is_mergeable_anon_vma(525,13566 -can_vma_merge_before(543,14268 -can_vma_merge_after(562,14879 -struct vm_area_struct *vma_merge(604,16770 -struct anon_vma *find_mergeable_anon_vma(682,19041 -void __vm_stat_account(740,20993 -unsigned long do_mmap_pgoff(769,21627 -arch_get_unmapped_area(1062,29175 -void arch_unmap_area(1107,30223 -arch_get_unmapped_area_topdown(1123,30647 -void arch_unmap_area_topdown(1208,32898 -get_unmapped_area_prot(1219,33138 -#define SHLIB_BASE 1261,34281 -unsigned long arch_get_unmapped_exec_area(1263,34324 -struct vm_area_struct * find_vma(1328,35881 -find_vma_prev(1367,36760 -static int over_stack_limit(1401,37474 -int expand_stack(1412,37743 -find_extend_vma(1459,38948 -int expand_stack(1478,39394 -find_extend_vma(1522,40538 -static void free_pgtables(1558,41459 -static void unmap_vma(1615,43021 -static void unmap_vma_list(1633,43516 -static void unmap_region(1649,43847 -detach_vmas_to_be_unmapped(1675,44497 -int split_vma(1697,45134 -int do_munmap(1751,46440 -asmlinkage long sys_munmap(1817,48000 -unsigned long do_brk(1835,48395 -void exit_mmap(1920,50478 -int insert_vm_struct(1965,51607 -struct vm_area_struct *copy_vma(1997,52747 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/thrash.c,428 -static spinlock_t swap_token_lock 16,400 -static unsigned long swap_token_timeout;17,456 -unsigned long swap_token_check;18,497 -struct mm_struct * swap_token_mm 19,529 -#define SWAP_TOKEN_CHECK_INTERVAL 21,575 -#define SWAP_TOKEN_TIMEOUT 22,618 -#define SWAP_TOKEN_ENOUGH_RSS 29,791 -#define SWAP_TOKEN_TIMED_OUT 30,823 -static int should_release_swap_token(31,854 -void grab_swap_token(48,1341 -void __put_swap_token(90,2350 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/filemap.c,2769 -void __remove_from_page_cache(111,3036 -void remove_from_page_cache(121,3258 -static inline int sync_page(133,3521 -static int __filemap_fdatawrite_range(159,4395 -static inline int __filemap_fdatawrite(177,4767 -int filemap_fdatawrite(183,4920 -static int filemap_fdatawrite_range(189,5066 -int filemap_flush(199,5377 -static int wait_on_page_writeback_range(209,5604 -int sync_page_range(260,6861 -int filemap_fdatawait(287,7633 -int filemap_write_and_wait(299,7890 -int add_to_page_cache(318,8386 -int add_to_page_cache_lru(342,8965 -struct page_wait_queue page_wait_queue361,9655 -static int page_wake_function(367,9734 -#define __DEFINE_PAGE_WAIT(__DEFINE_PAGE_WAIT379,10072 -#define DEFINE_PAGE_WAIT(DEFINE_PAGE_WAIT391,10368 -#define DEFINE_PAGE_WAIT_EXCLUSIVE(DEFINE_PAGE_WAIT_EXCLUSIVE392,10439 -static wait_queue_head_t *page_waitqueue(395,10544 -static void wake_up_page(402,10720 -void fastcall wait_on_page_bit(411,10967 -void fastcall unlock_page(443,12034 -void end_page_writeback(458,12300 -void fastcall __lock_page(478,12928 -struct page * find_get_page(499,13418 -struct page *find_trylock_page(516,13812 -struct page *find_lock_page(541,14482 -struct page *find_or_create_page(588,15766 -unsigned find_get_pages(632,17019 -unsigned find_get_pages_tag(651,17567 -grab_cache_page_nowait(678,18455 -void do_generic_mapping_read(711,19311 -int file_read_actor(910,23942 -__generic_file_aio_read(953,24879 -generic_file_aio_read(1031,26618 -generic_file_read(1042,26921 -int file_send_actor(1057,27313 -ssize_t generic_file_sendfile(1077,27788 -do_readahead(1099,28217 -asmlinkage ssize_t sys_readahead(1110,28503 -static int fastcall page_cache_read(1136,29229 -#define MMAP_LOTSAMISS 1162,29880 -struct page * filemap_nopage(1172,30243 -static struct page * filemap_getpage(1369,34909 -static int filemap_populate(1476,37129 -struct vm_operations_struct generic_file_vm_ops 1524,38152 -int generic_file_mmap(1531,38321 -int generic_file_readonly_mmap(1545,38639 -int generic_file_mmap(1552,38850 -int generic_file_readonly_mmap(1556,38942 -static inline struct page *__read_cache_page(1565,39146 -struct page *read_cache_page(1606,40122 -__grab_cache_page(1649,40984 -int remove_suid(1683,41693 -filemap_copy_from_user(1716,42591 -__filemap_copy_from_user_iovec(1736,43041 -filemap_copy_from_user_iovec(1769,43859 -filemap_set_next_iovec(1789,44357 -inline int generic_write_checks(1815,44916 -generic_file_direct_write(1896,46908 -generic_file_buffered_write(1934,48007 -generic_file_aio_write_nolock(2056,51308 -generic_file_write_nolock(2133,53203 -ssize_t generic_file_aio_write(2148,53571 -ssize_t generic_file_write(2176,54280 -ssize_t generic_file_readv(2200,54900 -ssize_t generic_file_writev(2215,55255 -generic_file_direct_IO(2242,55860 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mempolicy.c,1666 -static kmem_cache_t *policy_cache;79,3152 -static kmem_cache_t *sn_cache;80,3187 -#define PDprintk(PDprintk82,3219 -static int policy_zone;86,3330 -static struct mempolicy default_policy 88,3355 -static int nodes_online(94,3520 -static int mpol_check_policy(107,3848 -static int get_nodes(128,4271 -static struct zonelist *bind_zonelist(172,5413 -static struct mempolicy *mpol_new(201,6096 -verify_pages(235,6993 -check_range(268,7677 -static int policy_vma(296,8401 -static int mbind_range(317,8957 -asmlinkage long sys_mbind(339,9482 -asmlinkage long sys_set_mempolicy(386,10610 -static void get_zonemask(409,11190 -static int lookup_node(436,11813 -static int copy_nodes_to_user(450,12100 -asmlinkage long sys_get_mempolicy(466,12523 -asmlinkage long compat_get_mempolicy(532,13962 -asmlinkage long compat_set_mempolicy(560,14716 -asmlinkage long compat_mbind(583,15289 -get_vma_policy(611,16021 -static struct zonelist *zonelist_policy(628,16444 -static unsigned interleave_nodes(655,17044 -static unsigned offset_il_node(670,17451 -static struct page *alloc_page_interleave(690,17973 -alloc_page_vma(728,19279 -struct page *alloc_pages_current(765,20401 -struct mempolicy *__mpol_copy(778,20807 -int __mpol_equal(799,21334 -void __mpol_free(826,21941 -int mpol_first_node(842,22293 -int mpol_node_valid(862,22794 -sp_lookup(896,23607 -static void sp_insert(927,24249 -mpol_shared_policy_lookup(951,24858 -static void sp_delete(966,25123 -sp_alloc(975,25347 -static int shared_policy_replace(989,25619 -int mpol_set_shared_policy(1029,26531 -void mpol_free_shared_policy(1053,27152 -void __init numa_policy_init(1071,27516 -void numa_default_policy(1090,28137 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/swapfile.c,1786 -spinlock_t swaplock 33,742 -unsigned int nr_swapfiles;34,784 -long total_swap_pages;35,811 -static int swap_overflow;36,834 -static const char Bad_file[40,895 -static const char Unused_file[41,950 -static const char Bad_offset[42,1011 -static const char Unused_offset[43,1070 -struct swap_list_t swap_list 45,1136 -struct swap_info_struct swap_info[47,1178 -#define SWAPFILE_CLUSTER 58,1488 -void swap_unplug_io_fn(60,1518 -static inline int scan_swap_map(86,2322 -swp_entry_t get_swap_page(150,4021 -static struct swap_info_struct * swap_info_get(198,4966 -static void swap_info_put(237,5870 -static int swap_entry_free(243,5975 -void swap_free(266,6481 -static int exclusive_swap_page(281,6735 -int can_share_swap_page(311,7496 -int remove_exclusive_swap_page(339,7982 -void free_swap_and_cache(386,8984 -unuse_pte(430,10226 -static unsigned long unuse_pmd(441,10541 -static unsigned long unuse_pgd(488,11654 -static unsigned long unuse_vma(523,12452 -static int unuse_process(552,13082 -static int find_next_to_unuse(591,14060 -static int try_to_unuse(629,14945 -sector_t map_swap_page(864,22178 -static void destroy_swap_extents(888,22779 -add_swap_extent(909,23345 -static int setup_swap_extents(981,26057 -int page_queue_congested(1068,27946 -asmlinkage long sys_swapoff(1086,28395 -static void *swap_start(1207,31088 -static void *swap_next(1225,31397 -static void swap_stop(1240,31708 -static int swap_show(1245,31785 -static struct seq_operations swaps_op 1266,32372 -static int swaps_open(1273,32502 -static struct file_operations proc_swaps_operations 1278,32604 -static int __init procswaps_init(1285,32754 -asmlinkage long sys_swapon(1302,33101 -void si_swapinfo(1596,40658 -int swap_duplicate(1619,41296 -get_swap_info_struct(1653,42052 -int valid_swaphandles(1662,42269 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mempool.c,321 -static void add_element(18,379 -static void *remove_element(24,524 -static void free_pool(30,644 -mempool_t * mempool_create(54,1506 -int mempool_resize(108,3087 -void mempool_destroy(171,4853 -void * mempool_alloc(190,5481 -void mempool_free(250,6988 -void *mempool_alloc_slab(272,7469 -void mempool_free_slab(279,7655 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/vmalloc.c,695 -rwlock_t vmlist_lock 23,541 -struct vm_struct *vmlist;24,582 -static void unmap_area_pte(26,609 -static void unmap_area_pmd(59,1222 -static int map_area_pte(86,1711 -static int map_area_pmd(112,2178 -void unmap_vm_area(137,2743 -int map_vm_area(153,3176 -#define IOREMAP_MAX_ORDER 182,3864 -struct vm_struct *__get_vm_area(184,3924 -struct vm_struct *get_vm_area(265,5757 -struct vm_struct *remove_vm_area(279,6162 -void __vunmap(298,6503 -void vfree(345,7375 -void vunmap(363,7742 -void *vmap(382,8134 -void *__vmalloc(414,8880 -void *vmalloc(471,10183 -# define PAGE_KERNEL_EXEC 492,10718 -void *vmalloc_exec(495,10764 -void *vmalloc_32(508,11140 -long vread(515,11260 -long vwrite(553,12000 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mincore.c,112 -static unsigned char mincore_page(24,543 -static long mincore_vma(40,865 -asmlinkage long sys_mincore(107,2822 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/fremap.c,139 -static inline void zap_pte(22,447 -int install_page(55,1190 -int install_file_pte(109,2316 -asmlinkage long sys_remap_file_pages(162,3785 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/highmem.c,1620 -static mempool_t *page_pool,31,827 -static mempool_t *page_pool, *isa_page_pool;31,827 -static void *page_pool_alloc(33,873 -static void page_pool_free(40,1000 -static int pkmap_count[54,1411 -static unsigned int last_pkmap_nr;55,1447 -static spinlock_t kmap_lock __cacheline_aligned_in_smp 56,1482 -pte_t * pkmap_page_table;58,1560 -static void flush_all_zero_pkmaps(62,1636 -static inline unsigned long map_new_virtual(100,2519 -void fastcall *kmap_high(149,3606 -void fastcall kunmap_high(172,4101 -#define POOL_SIZE 214,5063 -static __init int init_emergency_pool(216,5085 -static void bounce_copy_vec(238,5481 -#define bounce_copy_vec(bounce_copy_vec252,5814 -#define ISA_POOL_SIZE 257,5936 -int init_emergency_isa_pool(263,6110 -static void copy_to_high_bio_irq(281,6567 -static void bounce_end_io(308,7180 -static int bounce_end_io_write(332,7719 -static int bounce_end_io_write_isa(341,7885 -static void __bounce_end_io_read(350,8060 -static int bounce_end_io_read(360,8300 -static int bounce_end_io_read_isa(369,8473 -static void __blk_queue_bounce(378,8654 -void blk_queue_bounce(460,10431 -#define PA_HASH_ORDER 488,11011 -struct page_address_map page_address_map493,11086 -static struct list_head page_address_pool;502,11247 -static spinlock_t pool_lock;503,11305 -static struct page_address_slot page_address_slot508,11398 -} ____cacheline_aligned_in_smp page_address_htable[511,11541 -static struct page_address_slot *page_slot(513,11612 -void *page_address(518,11740 -void set_page_address(547,12268 -static struct page_address_map page_address_maps[589,13336 -void __init page_address_init(591,13399 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/swap_state.c,733 -static struct address_space_operations swap_aops 25,640 -static struct backing_dev_info swap_backing_dev_info 31,805 -struct address_space swapper_space 36,965 -#define INC_CACHE_INFO(INC_CACHE_INFO45,1252 -} swap_cache_info;54,1495 -void show_swap_cache_info(56,1515 -static int __add_to_swap_cache(68,1945 -static int add_to_swap_cache(94,2548 -void __delete_from_swap_cache(120,3094 -int add_to_swap(141,3632 -void delete_from_swap_cache(204,5136 -int move_to_swap_cache(226,5593 -int move_from_swap_cache(244,6044 -static inline void free_swap_cache(265,6627 -void free_page_and_swap_cache(278,7004 -void free_pages_and_swap_cache(288,7268 -struct page * lookup_swap_cache(312,7823 -struct page *read_swap_cache_async(333,8410 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/shmem.c,4997 -#define TMPFS_MAGIC 54,1506 -#define ENTRIES_PER_PAGE 56,1538 -#define ENTRIES_PER_PAGEPAGE 57,1603 -#define BLOCKS_PER_PAGE 58,1668 -#define SHMEM_MAX_INDEX 60,1716 -#define SHMEM_MAX_BYTES 61,1809 -#define VM_ACCT(VM_ACCT63,1893 -#define SHMEM_PAGEIN 66,2035 -#define SHMEM_TRUNCATE 67,2065 -#define BOGO_DIRENT_SIZE 70,2167 -#define nr_swapped 73,2267 -enum sgp_type sgp_type76,2368 - SGP_QUICK,77,2384 - SGP_READ,78,2445 - SGP_CACHE,79,2503 - SGP_WRITE,80,2560 -static inline struct page *shmem_dir_alloc(86,2741 -static inline void shmem_dir_free(96,3067 -static struct page **shmem_dir_map(101,3175 -static inline void shmem_dir_unmap(106,3287 -static swp_entry_t *shmem_swp_map(111,3377 -static inline void shmem_swp_balance_unmap(116,3487 -static inline void shmem_swp_unmap(128,3912 -static inline struct shmem_sb_info *SHMEM_SB(133,4005 -static inline int shmem_acct_size(144,4369 -static inline void shmem_unacct_size(150,4519 -static inline int shmem_acct_block(162,4930 -static inline void shmem_unacct_blocks(168,5079 -static struct super_operations shmem_ops;174,5238 -static struct address_space_operations shmem_aops;175,5280 -static struct file_operations shmem_file_operations;176,5331 -static struct inode_operations shmem_inode_operations;177,5384 -static struct inode_operations shmem_dir_inode_operations;178,5439 -static struct inode_operations shmem_special_inode_operations;179,5498 -static struct vm_operations_struct shmem_vm_ops;180,5561 -static struct backing_dev_info shmem_backing_dev_info 182,5611 -static spinlock_t shmem_swaplist_lock 189,5844 -static void shmem_free_block(191,5905 -static void shmem_recalc_inode(215,6572 -static swp_entry_t *shmem_swp_entry(272,8360 -static void shmem_swp_set(326,9516 -static swp_entry_t *shmem_swp_alloc(344,10083 -static int shmem_free_swp(410,11877 -static void shmem_truncate(425,12129 -static int shmem_notify_change(563,15662 -static void shmem_delete_inode(607,16901 -static inline int shmem_find_swp(631,17519 -static int shmem_unuse_inode(642,17736 -int shmem_unuse(730,19839 -static int shmem_writepage(755,20477 -static struct page *shmem_swapin_async(810,21768 -struct page *shmem_swapin(826,22234 -shmem_alloc_page(847,22774 -shmem_swapin(863,23195 -shmem_alloc_page(870,23390 -static int shmem_getpage(884,23803 -struct page *shmem_nopage(1101,29244 -static int shmem_populate(1120,29735 -int shmem_set_policy(1163,30766 -shmem_get_policy(1170,30977 -int shmem_lock(1180,31251 -static int shmem_mmap(1202,31798 -shmem_get_inode(1210,31957 -static int shmem_set_size(1271,33535 -static struct inode_operations shmem_symlink_inode_operations;1295,34151 -static struct inode_operations shmem_symlink_inline_operations;1296,34214 -shmem_prepare_write(1303,34422 -shmem_file_write(1310,34641 -static void do_shmem_file_read(1412,36679 -static ssize_t shmem_file_read(1501,38957 -static ssize_t shmem_file_sendfile(1523,39413 -static int shmem_statfs(1542,39788 -shmem_mknod(1565,40386 -static int shmem_mkdir(1585,40885 -static int shmem_create(1595,41082 -static int shmem_link(1604,41264 -static int shmem_unlink(1633,42136 -static int shmem_rmdir(1653,42679 -static int shmem_rename(1668,43068 -static int shmem_symlink(1693,43731 -static int shmem_follow_link_inline(1738,44829 -static int shmem_follow_link(1744,44978 -static void shmem_put_link(1752,45215 -static struct inode_operations shmem_symlink_inline_operations 1767,45528 -static struct inode_operations shmem_symlink_inode_operations 1778,45857 -static int shmem_parse_options(1791,46236 -static int shmem_remount_fs(1860,47841 -static void shmem_put_super(1882,48488 -static struct xattr_handler *shmem_xattr_handlers[1889,48617 -#define shmem_xattr_handlers 1891,48676 -static int shmem_fill_super(1894,48718 -static kmem_cache_t *shmem_inode_cachep;1962,50310 -static struct inode *shmem_alloc_inode(1964,50352 -static void shmem_destroy_inode(1973,50579 -static void init_once(1979,50742 -static int init_inodecache(1989,51013 -static void destroy_inodecache(1999,51239 -static struct address_space_operations shmem_aops 2005,51400 -static struct file_operations shmem_file_operations 2014,51640 -static struct inode_operations shmem_inode_operations 2025,51901 -static struct inode_operations shmem_dir_inode_operations 2036,52210 -static struct inode_operations shmem_special_inode_operations 2056,52714 -static struct super_operations shmem_ops 2065,52949 -static struct vm_operations_struct shmem_vm_ops 2077,53263 -static size_t shmem_xattr_security_list(2089,53505 -static int shmem_xattr_security_get(2095,53700 -static int shmem_xattr_security_set(2102,53916 -struct xattr_handler shmem_xattr_security_handler 2109,54154 -static struct xattr_handler *shmem_xattr_handlers[2120,54413 -static struct super_block *shmem_get_sb(2129,54580 -static struct file_system_type tmpfs_fs_type 2135,54767 -static struct vfsmount *shm_mnt;2141,54919 -static int __init init_tmpfs(2143,54953 -module_init(2176,55574 -int shmem_zero_setup(2246,57093 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/page-writeback.c,1662 -#define MAX_WRITEBACK_PAGES 40,1060 -static long ratelimit_pages 46,1243 -static long total_pages;48,1278 -static int dirty_exceeded;49,1351 -static inline long sync_writeback_pages(57,1690 -int dirty_background_ratio 67,1920 -int vm_dirty_ratio 72,2028 -int dirty_writeback_centisecs 78,2157 -int dirty_expire_centisecs 83,2286 -int block_dump;88,2403 -int laptop_mode;93,2475 -struct writeback_statewriteback_state102,2624 -static void get_writeback_state(110,2761 -get_dirty_limits(136,3656 -static void balance_dirty_pages(178,4839 -void balance_dirty_pages_ratelimited(256,7490 -void throttle_vm_writeout(279,8046 -static void background_writeout(305,8820 -int wakeup_bdflush(344,9866 -static struct timer_list wb_timer 358,10192 -static struct timer_list laptop_mode_wb_timer 360,10269 -static void wb_kupdate(378,11001 -int dirty_writeback_centisecs_handler(423,12194 -static void wb_timer_fn(436,12555 -static void laptop_flush(442,12708 -static void laptop_timer_fn(447,12773 -void laptop_io_completion(457,13080 -void laptop_sync_completion(467,13408 -static void set_ratelimit(489,14282 -ratelimit_handler(499,14547 -static struct notifier_block ratelimit_nb 505,14654 -void __init page_writeback_init(515,14948 -int do_writepages(540,15558 -int write_one_page(559,16103 -int __set_page_dirty_nobuffers(604,17376 -int redirty_page_for_writepage(638,18356 -int fastcall set_page_dirty(649,18679 -int set_page_dirty_lock(675,19483 -int test_clear_page_dirty(690,19788 -int clear_page_dirty_for_io(727,21057 -int __clear_page_dirty(746,21474 -int test_clear_page_writeback(767,21970 -int test_set_page_writeback(788,22445 -int mapping_tagged(819,23167 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/slab.c,7270 -#define DEBUG 113,4165 -#define STATS 114,4182 -#define FORCED_DEBUG 115,4199 -#define DEBUG 117,4228 -#define STATS 118,4245 -#define FORCED_DEBUG 119,4262 -#define BYTES_PER_WORD 124,4346 -#define cache_line_size(cache_line_size127,4410 -#define ARCH_KMALLOC_MINALIGN 131,4489 -#define ARCH_KMALLOC_FLAGS 135,4556 -# define CREATE_MASK 140,4667 -# define CREATE_MASK 147,4930 -#define BUFCTL_END 172,5857 -#define BUFCTL_FREE 173,5903 -#define SLAB_LIMIT 174,5950 -static unsigned long offslab_limit;179,6134 -struct slab slab188,6403 -struct slab_rcu slab_rcu212,7332 -struct array_cache array_cache231,7720 -#define BOOT_CPUCACHE_ENTRIES 241,7966 -struct arraycache_init arraycache_init242,7998 -struct kmem_list3 kmem_list3254,8334 -#define LIST3_INIT(LIST3_INIT264,8597 -#define list3_data(list3_data270,8798 -#define list3_data_ptr(list3_data_ptr274,8869 -struct kmem_cache_s kmem_cache_s283,8977 -#define CFLGS_OFF_SLAB 341,10476 -#define OFF_SLAB(OFF_SLAB342,10515 -#define BATCHREFILL_LIMIT 344,10566 -#define REAPTIMEOUT_CPUC 351,10811 -#define REAPTIMEOUT_LIST3 352,10843 -#define STATS_INC_ACTIVE(STATS_INC_ACTIVE355,10887 -#define STATS_DEC_ACTIVE(STATS_DEC_ACTIVE356,10935 -#define STATS_INC_ALLOCED(STATS_INC_ALLOCED357,10983 -#define STATS_INC_GROWN(STATS_INC_GROWN358,11037 -#define STATS_INC_REAPED(STATS_INC_REAPED359,11079 -#define STATS_SET_HIGH(STATS_SET_HIGH360,11123 -#define STATS_INC_ERR(STATS_INC_ERR363,11251 -#define STATS_SET_FREEABLE(STATS_SET_FREEABLE364,11292 -#define STATS_INC_ALLOCHIT(STATS_INC_ALLOCHIT369,11412 -#define STATS_INC_ALLOCMISS(STATS_INC_ALLOCMISS370,11469 -#define STATS_INC_FREEHIT(STATS_INC_FREEHIT371,11528 -#define STATS_INC_FREEMISS(STATS_INC_FREEMISS372,11583 -#define STATS_INC_ACTIVE(STATS_INC_ACTIVE374,11646 -#define STATS_DEC_ACTIVE(STATS_DEC_ACTIVE375,11691 -#define STATS_INC_ALLOCED(STATS_INC_ALLOCED376,11736 -#define STATS_INC_GROWN(STATS_INC_GROWN377,11782 -#define STATS_INC_REAPED(STATS_INC_REAPED378,11826 -#define STATS_SET_HIGH(STATS_SET_HIGH379,11871 -#define STATS_INC_ERR(STATS_INC_ERR380,11914 -#define STATS_SET_FREEABLE(STATS_SET_FREEABLE381,11956 -#define STATS_INC_ALLOCHIT(STATS_INC_ALLOCHIT384,12013 -#define STATS_INC_ALLOCMISS(STATS_INC_ALLOCMISS385,12060 -#define STATS_INC_FREEHIT(STATS_INC_FREEHIT386,12108 -#define STATS_INC_FREEMISS(STATS_INC_FREEMISS387,12154 -#define RED_INACTIVE 394,12325 -#define RED_ACTIVE 395,12386 -#define POISON_INUSE 398,12471 -#define POISON_FREE 399,12535 -#define POISON_END 400,12595 -static int obj_dbghead(413,13168 -static int obj_reallen(418,13243 -static unsigned long *dbg_redzone1(423,13318 -static unsigned long *dbg_redzone2(429,13503 -static void **dbg_userword(437,13789 -#define obj_dbghead(obj_dbghead445,13962 -#define obj_reallen(obj_reallen446,13989 -#define dbg_redzone1(dbg_redzone1447,14036 -#define dbg_redzone2(dbg_redzone2448,14105 -#define dbg_userword(dbg_userword449,14174 -#define MAX_OBJ_ORDER 458,14370 -#define MAX_GFP_ORDER 459,14412 -#define MAX_OBJ_ORDER 461,14480 -#define MAX_GFP_ORDER 462,14519 -#define MAX_OBJ_ORDER 464,14564 -#define MAX_GFP_ORDER 465,14604 -#define BREAK_GFP_ORDER_HI 471,14725 -#define BREAK_GFP_ORDER_LO 472,14754 -static int slab_break_gfp_order 473,14783 -#define SET_PAGE_CACHE(SET_PAGE_CACHE479,15054 -#define GET_PAGE_CACHE(GET_PAGE_CACHE480,15127 -#define SET_PAGE_SLAB(SET_PAGE_SLAB481,15190 -#define GET_PAGE_SLAB(GET_PAGE_SLAB482,15263 -struct cache_sizes malloc_sizes[485,15410 -#define CACHE(CACHE486,15448 -struct cache_names cache_names495,15650 -static struct cache_names __initdata cache_names[500,15705 -#define CACHE(CACHE501,15760 -static struct arraycache_init initarray_cache __initdata 507,15894 -static struct arraycache_init initarray_generic 509,15993 -static kmem_cache_t cache_cache 513,16131 -static struct semaphore cache_chain_sem;527,16471 -static struct list_head cache_chain;528,16512 -atomic_t slab_reclaim_pages;536,16726 - NONE,544,16911 - PARTIAL,545,16918 - FULL546,16928 -} g_cpucache_up;547,16934 -static inline void ** ac_entry(555,17168 -static inline struct array_cache *ac_data(560,17252 -static kmem_cache_t * kmem_find_general_cachep 565,17364 -static void cache_estimate 582,17881 -#define slab_error(slab_error609,18427 -static void __slab_error(611,18500 -static void __devinit start_cpu_timer(625,18969 -static struct array_cache *alloc_arraycache(640,19388 -static int __devinit cpuup_callback(660,19857 -static struct notifier_block cpucache_notifier 717,21132 -void __init kmem_cache_init(722,21313 -static int __init cpucache_init(842,25298 -static void *kmem_getpages(867,25804 -static void kmem_freepages(900,26478 -static void kmem_rcu_free(919,27004 -static void store_stackinfo(932,27311 -static void poison_obj(964,27952 -static void dump_line(973,28185 -static void print_objinfo(986,28401 -static void check_poison_obj(1015,29085 -static void slab_destroy 1080,30692 -kmem_cache_create 1168,33385 -static void check_irq_off(1461,41730 -static void check_irq_on(1466,41794 -static void check_spinlock_acquired(1471,41856 -#define check_irq_off(check_irq_off1479,42009 -#define check_irq_on(check_irq_on1480,42049 -#define check_spinlock_acquired(check_spinlock_acquired1481,42088 -static void smp_call_function_all_cpus(1487,42195 -static void do_drain(1505,42534 -static void drain_cpu_caches(1518,42812 -static int __cache_shrink(1530,43116 -int kmem_cache_shrink(1572,44056 -int kmem_cache_destroy 1599,44851 -static struct slab* alloc_slabmgmt 1648,45924 -static inline kmem_bufctl_t *slab_bufctl(1669,46391 -static void cache_init_objs 1674,46493 -static void kmem_flagcheck(1720,47971 -static void set_slab_attr(1731,48165 -static int cache_grow 1750,48613 -static void kfree_debugcheck(1839,50840 -static void *cache_free_debugcheck 1855,51188 -static void check_slabp(1921,53312 -#define kfree_debugcheck(kfree_debugcheck1948,54074 -#define cache_free_debugcheck(cache_free_debugcheck1949,54118 -#define check_slabp(check_slabp1950,54165 -static void* cache_alloc_refill(1953,54214 -cache_alloc_debugcheck_before(2050,56701 -cache_alloc_debugcheck_after(2060,56879 -#define cache_alloc_debugcheck_after(cache_alloc_debugcheck_after2101,58147 -static inline void * __cache_alloc 2105,58212 -static void free_block(2133,58879 -static void cache_flusharray 2184,60193 -static inline void __cache_free 2241,61509 -void * kmem_cache_alloc 2267,62170 -int fastcall kmem_ptr_validate(2288,62763 -void *kmem_cache_alloc_node(2326,63834 -void * __kmalloc 2412,66323 -void *__alloc_percpu(2443,67148 -void kmem_cache_free 2487,68024 -void *kcalloc(2504,68393 -void kfree 2526,68811 -free_percpu(2551,69326 -unsigned int kmem_cache_size(2566,69573 -struct ccupdate_struct ccupdate_struct2573,69691 -static void do_ccupdate_local(2578,69778 -static int do_tune_cpucache 2591,70074 -static void enable_cpucache 2646,71429 -static void drain_array_locked(2698,72974 -static void cache_reap(2729,73788 -static void *s_start(2803,75588 -static void *s_next(2837,76548 -static void s_stop(2845,76755 -static int s_show(2850,76831 -struct seq_operations slabinfo_op 2949,79748 -#define MAX_SLABINFO_WRITE 2956,79860 -ssize_t slabinfo_write(2964,80030 -unsigned int ksize(3010,81049 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/tiny-shmem.c,208 -static struct file_system_type tmpfs_fs_type 24,672 -static struct vfsmount *shm_mnt;30,801 -static int __init init_tmpfs(32,835 -module_init(41,1011 -int shmem_zero_setup(103,2320 -int shmem_unuse(119,2653 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/mlock.c,352 -static int mlock_fixup(12,158 -static int do_mlock(58,1080 -asmlinkage long sys_mlock(103,1970 -asmlinkage long sys_munlock(129,2577 -static int do_mlockall(141,2839 -asmlinkage long sys_mlockall(166,3346 -asmlinkage long sys_munlockall(192,3874 -static spinlock_t shmlock_user_lock 206,4182 -int user_shm_lock(208,4241 -void user_shm_unlock(227,4699 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/msync.c,233 -static int filemap_sync_pte(23,419 -static int filemap_sync_pte_range(40,845 -static inline int filemap_sync_pmd_range(69,1431 -static int filemap_sync(95,2038 -static int msync_interval(145,3547 -asmlinkage long sys_msync(177,4307 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/readahead.c,583 -void default_unplug_io_fn(18,339 -struct backing_dev_info default_backing_dev_info 23,456 -file_ra_state_init(35,780 -static inline unsigned long get_max_readahead(44,1018 -static inline unsigned long get_min_readahead(49,1117 -#define list_to_page(list_to_page54,1247 -int read_cache_pages(67,1783 -static int read_pages(103,2567 -__do_page_cache_readahead(217,7344 -int force_page_cache_readahead(274,8733 -int do_page_cache_readahead(309,9600 -check_ra_success(327,10189 -page_cache_readahead(347,10654 -void handle_ra_miss(535,15993 -unsigned long max_sane_readahead(568,16799 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/rmap.c,943 -kmem_cache_t *anon_vma_cachep;60,2119 -static inline void validate_anon_vma(62,2151 -int anon_vma_prepare(81,2580 -void __anon_vma_merge(120,3448 -void __anon_vma_link(133,3815 -void anon_vma_link(143,4010 -void anon_vma_unlink(155,4265 -static void anon_vma_ctor(175,4657 -void __init anon_vma_init(186,4943 -static struct anon_vma *page_lock_anon_vma(196,5257 -vma_address(219,5778 -unsigned long page_address_in_vma(237,6351 -static int page_referenced_one(255,6890 -static int page_referenced_anon(304,7831 -static int page_referenced_file(337,8800 -int page_referenced(393,10404 -void page_add_anon_rmap(428,11279 -void page_add_file_rmap(458,12051 -void page_remove_rmap(474,12420 -static int try_to_unmap_one(499,13210 -#define CLUSTER_SIZE 620,16879 -#define CLUSTER_MASK 621,16928 -static void try_to_unmap_cluster(623,16972 -static int try_to_unmap_anon(699,18634 -static int try_to_unmap_file(727,19362 -int try_to_unmap(830,22450 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/madvise.c,185 -static long madvise_behavior(16,267 -static long madvise_willneed(56,1003 -static long madvise_dontneed(93,2492 -static long madvise_vma(110,2913 -asmlinkage long sys_madvise(172,5007 - -/export0/mef/linux-2.6.9-1.11_FC2/mm/pdflush.c,411 -#define MIN_PDFLUSH_THREADS 29,710 -#define MAX_PDFLUSH_THREADS 30,740 -static spinlock_t pdflush_lock 48,1338 -int nr_pdflush_threads 57,1588 -static unsigned long last_empty_jifs;62,1685 -struct pdflush_work pdflush_work83,2289 -static int __pdflush(91,2563 -static int pdflush(172,4648 -int pdflush_operation(189,5081 -static void start_one_pdflush_thread(216,5722 -static int __init pdflush_init(221,5810 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/binoffset.c,489 -#define VERSION 37,1342 -#define BUF_SIZE 38,1365 -#define PAT_SIZE 39,1394 -char *progname;41,1416 -char *inputname;42,1433 -int inputfd;43,1451 -unsigned int bix;44,1465 -unsigned char patterns 45,1501 -int pat_len;46,1573 -unsigned char *madr;47,1625 -size_t filesize;48,1667 -int num_matches 49,1685 -off_t firstloc 50,1707 -void usage 52,1729 -void get_pattern 61,1963 -void search_pattern 84,2483 -size_t get_filesize 98,2735 -size_t get_filesize 106,2870 -int main 118,3093 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/pnmtologo.c,1315 -static const char *programname;24,590 -static const char *filename;25,622 -static const char *logoname 26,651 -static const char *outputname;27,695 -static FILE *out;28,726 -#define LINUX_LOGO_MONO 31,746 -#define LINUX_LOGO_VGA16 32,802 -#define LINUX_LOGO_CLUT224 33,862 -#define LINUX_LOGO_GRAY256 34,908 -static const char *logo_types[36,965 -#define MAX_LINUX_LOGO_COLORS 43,1210 -struct color color45,1245 -static const struct color clut_vga16[51,1336 -static int logo_type 71,1802 -static unsigned int logo_width;72,1845 -static unsigned int logo_height;73,1877 -static struct color **logo_data;74,1910 -static struct color logo_clut[75,1943 -static unsigned int logo_clutsize;76,1997 -static void die(78,2033 -static unsigned int get_number255(113,2758 -static void read_image(119,2905 -static inline int is_black(201,4908 -static inline int is_white(206,5010 -static inline int is_gray(211,5118 -static inline int is_equal(216,5213 -static void write_header(221,5354 -static void write_footer(244,5995 -static int write_hex_cnt;263,6597 -static void write_hex(265,6624 -static void write_logo_mono(276,6859 -static void write_logo_vga16(304,7512 -static void write_logo_clut224(344,8440 -static void write_logo_gray256(390,9617 -static void die(412,10105 -static void usage(423,10249 -int main(440,10845 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/textbox.c,386 -static int hscroll,30,1160 -static int hscroll, fd,30,1160 -static int hscroll, fd, file_size,30,1160 -static int hscroll, fd, file_size, bytes_read;30,1160 -static int begin_reached 31,1207 -static char *buf,32,1263 -static char *buf, *page;32,1263 -dialog_textbox 38,1345 -back_lines 328,9526 -print_page 441,12822 -print_line 460,13204 -get_line 490,13942 -print_position 541,15075 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/inputbox.c,90 -unsigned char dialog_input_result[24,912 -print_buttons(30,1014 -dialog_inputbox 46,1375 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/colors.h,2958 -#define SCREEN_FG 29,919 -#define SCREEN_BG 30,967 -#define SCREEN_HL 31,1015 -#define SHADOW_FG 33,1058 -#define SHADOW_BG 34,1107 -#define SHADOW_HL 35,1156 -#define DIALOG_FG 37,1199 -#define DIALOG_BG 38,1248 -#define DIALOG_HL 39,1297 -#define TITLE_FG 41,1341 -#define TITLE_BG 42,1391 -#define TITLE_HL 43,1440 -#define BORDER_FG 45,1483 -#define BORDER_BG 46,1532 -#define BORDER_HL 47,1581 -#define BUTTON_ACTIVE_FG 49,1624 -#define BUTTON_ACTIVE_BG 50,1673 -#define BUTTON_ACTIVE_HL 51,1721 -#define BUTTON_INACTIVE_FG 53,1764 -#define BUTTON_INACTIVE_BG 54,1813 -#define BUTTON_INACTIVE_HL 55,1862 -#define BUTTON_KEY_ACTIVE_FG 57,1906 -#define BUTTON_KEY_ACTIVE_BG 58,1955 -#define BUTTON_KEY_ACTIVE_HL 59,2003 -#define BUTTON_KEY_INACTIVE_FG 61,2046 -#define BUTTON_KEY_INACTIVE_BG 62,2093 -#define BUTTON_KEY_INACTIVE_HL 63,2142 -#define BUTTON_LABEL_ACTIVE_FG 65,2186 -#define BUTTON_LABEL_ACTIVE_BG 66,2236 -#define BUTTON_LABEL_ACTIVE_HL 67,2284 -#define BUTTON_LABEL_INACTIVE_FG 69,2327 -#define BUTTON_LABEL_INACTIVE_BG 70,2376 -#define BUTTON_LABEL_INACTIVE_HL 71,2425 -#define INPUTBOX_FG 73,2468 -#define INPUTBOX_BG 74,2517 -#define INPUTBOX_HL 75,2566 -#define INPUTBOX_BORDER_FG 77,2610 -#define INPUTBOX_BORDER_BG 78,2659 -#define INPUTBOX_BORDER_HL 79,2708 -#define SEARCHBOX_FG 81,2752 -#define SEARCHBOX_BG 82,2801 -#define SEARCHBOX_HL 83,2850 -#define SEARCHBOX_TITLE_FG 85,2894 -#define SEARCHBOX_TITLE_BG 86,2944 -#define SEARCHBOX_TITLE_HL 87,2993 -#define SEARCHBOX_BORDER_FG 89,3036 -#define SEARCHBOX_BORDER_BG 90,3085 -#define SEARCHBOX_BORDER_HL 91,3134 -#define POSITION_INDICATOR_FG 93,3177 -#define POSITION_INDICATOR_BG 94,3227 -#define POSITION_INDICATOR_HL 95,3276 -#define MENUBOX_FG 97,3319 -#define MENUBOX_BG 98,3368 -#define MENUBOX_HL 99,3417 -#define MENUBOX_BORDER_FG 101,3461 -#define MENUBOX_BORDER_BG 102,3510 -#define MENUBOX_BORDER_HL 103,3559 -#define ITEM_FG 105,3602 -#define ITEM_BG 106,3651 -#define ITEM_HL 107,3700 -#define ITEM_SELECTED_FG 109,3744 -#define ITEM_SELECTED_BG 110,3793 -#define ITEM_SELECTED_HL 111,3841 -#define TAG_FG 113,3884 -#define TAG_BG 114,3934 -#define TAG_HL 115,3983 -#define TAG_SELECTED_FG 117,4026 -#define TAG_SELECTED_BG 118,4076 -#define TAG_SELECTED_HL 119,4124 -#define TAG_KEY_FG 121,4167 -#define TAG_KEY_BG 122,4217 -#define TAG_KEY_HL 123,4266 -#define TAG_KEY_SELECTED_FG 125,4309 -#define TAG_KEY_SELECTED_BG 126,4359 -#define TAG_KEY_SELECTED_HL 127,4407 -#define CHECK_FG 129,4450 -#define CHECK_BG 130,4499 -#define CHECK_HL 131,4548 -#define CHECK_SELECTED_FG 133,4592 -#define CHECK_SELECTED_BG 134,4641 -#define CHECK_SELECTED_HL 135,4689 -#define UARROW_FG 137,4732 -#define UARROW_BG 138,4781 -#define UARROW_HL 139,4830 -#define DARROW_FG 141,4873 -#define DARROW_BG 142,4922 -#define DARROW_HL 143,4971 -#define C_ATTR(C_ATTR147,5054 -#define COLOR_NAME_LEN 148,5128 -#define COLOR_COUNT 149,5168 -} color_names_st;color_names_st158,5299 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/menubox.c,159 -static int menu_width,61,2607 -static int menu_width, item_x;61,2607 -print_item 67,2677 -print_arrows 104,3553 -print_buttons 149,4411 -dialog_menu 166,4834 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/msgbox.c,23 -dialog_msgbox 29,1050 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/dialog.h,1667 -#define OLD_NCURSES 40,1500 -#define wbkgdset(wbkgdset42,1539 -#define OLD_NCURSES 44,1579 -#define TR(TR47,1609 -#define ESC 49,1644 -#define TAB 50,1659 -#define MAX_LEN 51,1673 -#define BUF_SIZE 52,1694 -#define MIN(MIN53,1721 -#define MAX(MAX54,1754 -#define ACS_ULCORNER 58,1810 -#define ACS_LLCORNER 61,1863 -#define ACS_URCORNER 64,1916 -#define ACS_LRCORNER 67,1969 -#define ACS_HLINE 70,2019 -#define ACS_VLINE 73,2066 -#define ACS_LTEE 76,2112 -#define ACS_RTEE 79,2157 -#define ACS_UARROW 82,2204 -#define ACS_DARROW 85,2253 -#define screen_attr 91,2311 -#define shadow_attr 92,2363 -#define dialog_attr 93,2415 -#define title_attr 94,2467 -#define border_attr 95,2519 -#define button_active_attr 96,2571 -#define button_inactive_attr 97,2623 -#define button_key_active_attr 98,2675 -#define button_key_inactive_attr 99,2727 -#define button_label_active_attr 100,2779 -#define button_label_inactive_attr 101,2831 -#define inputbox_attr 102,2884 -#define inputbox_border_attr 103,2937 -#define searchbox_attr 104,2990 -#define searchbox_title_attr 105,3043 -#define searchbox_border_attr 106,3096 -#define position_indicator_attr 107,3149 -#define menubox_attr 108,3202 -#define menubox_border_attr 109,3255 -#define item_attr 110,3308 -#define item_selected_attr 111,3361 -#define tag_attr 112,3414 -#define tag_selected_attr 113,3467 -#define tag_key_attr 114,3520 -#define tag_key_selected_attr 115,3573 -#define check_attr 116,3626 -#define check_selected_attr 117,3679 -#define uarrow_attr 118,3732 -#define darrow_attr 119,3785 -#define ATTRIBUTE_COUNT 122,3866 -#define M_EVENT 176,5767 -#define FLAG_CHECK 183,5894 -#define FLAG_RADIO 184,5915 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/yesno.c,44 -print_buttons(28,960 -dialog_yesno 44,1336 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/util.c,365 -bool use_colors 26,910 -const char *backtitle 28,932 -const char *dialog_result;30,963 -chtype attributes[35,1048 -int color_table[74,2248 -attr_clear 112,3921 -void dialog_clear 125,4163 -init_dialog 145,4631 -color_setup 164,4869 -end_dialog 185,5285 -print_autowrap 198,5616 -print_button 258,6977 -draw_box 286,7838 -draw_shadow 321,8728 -first_alpha(343,9288 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/lxdialog.c,718 -typedef int (jumperFn)jumperFn26,968 -struct Mode Mode28,1050 -jumperFn j_menu,34,1138 -jumperFn j_menu, j_checklist,34,1138 -jumperFn j_menu, j_checklist, j_radiolist,34,1138 -jumperFn j_menu, j_checklist, j_radiolist, j_yesno,34,1138 -jumperFn j_menu, j_checklist, j_radiolist, j_yesno, j_textbox,34,1138 -jumperFn j_menu, j_checklist, j_radiolist, j_yesno, j_textbox, j_inputbox;34,1138 -jumperFn j_msgbox,35,1213 -jumperFn j_msgbox, j_infobox;35,1213 -static struct Mode modes[37,1244 -static struct Mode *modePtr;50,1615 -main 57,1691 -Usage 143,3780 -j_menu 173,4664 -j_checklist 180,4838 -j_radiolist 187,5025 -j_textbox 194,5212 -j_yesno 200,5346 -j_inputbox 206,5476 -j_msgbox 216,5756 -j_infobox 222,5891 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/lxdialog/checklist.c,271 -static int list_width,26,1054 -static int list_width, check_x,26,1054 -static int list_width, check_x, item_x,26,1054 -static int list_width, check_x, item_x, checkflag;26,1054 -print_item 32,1144 -print_arrows 64,1975 -print_buttons(103,2765 -dialog_checklist 120,3239 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/basic/split-include.c,56 -#define ERROR_EXIT(ERROR_EXIT33,925 -int main(44,1137 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/basic/fixdep.c,637 -#define INT_CONF 117,4538 -#define INT_ONFI 118,4573 -#define INT_NFIG 119,4608 -#define INT_FIG_ 120,4643 -char *target;122,4679 -char *depfile;123,4693 -char *cmdline;124,4708 -void usage(126,4724 -void print_cmdline(133,4823 -char * str_config 138,4899 -int size_config 139,4926 -int len_config 140,4950 -void grow_config(146,5075 -int is_defined_config(162,5375 -void define_config(178,5741 -void clear_config(190,5964 -void use_config(199,6078 -void parse_config_file(220,6422 -int strrcmp(250,7118 -void do_config_file(261,7287 -void parse_dep_file(292,7763 -void print_deps(332,8575 -void traps(364,9083 -int main(375,9311 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/basic/docproc.c,1110 -int exitstatus 45,1345 -typedef void DFL(DFL47,1366 -DFL *defaultline;48,1392 -typedef void FILEONLY(FILEONLY50,1411 -FILEONLY *internalfunctions;51,1447 -FILEONLY *externalfunctions;52,1476 -FILEONLY *symbolsonly;53,1505 -typedef void FILELINE(FILELINE55,1529 -FILELINE * singlefunctions;56,1578 -FILELINE * entity_system;57,1606 -#define MAXLINESZ 59,1633 -#define MAXFILES 60,1660 -#define KERNELDOCPATH 61,1686 -#define KERNELDOC 62,1719 -#define DOCBOOK 63,1754 -#define FUNCTION 64,1787 -#define NOFUNCTION 65,1821 -void usage 67,1858 -void exec_kernel_doc(78,2225 -struct symbolssymbols102,2728 -struct symfilesymfile107,2762 -struct symfile symfilelist[114,2845 -int symfilecnt 115,2883 -void add_new_symbol(117,2904 -struct symfile * add_new_file(125,3152 -struct symfile * filename_exist(131,3349 -void adddep(144,3632 -void adddep2(145,3687 -void noaction(146,3761 -void noaction2(147,3809 -void printline(150,3926 -void find_export_symbols(157,4136 -void docfunctions(207,5320 -void intfunc(237,5979 -void extfunc(238,6049 -void singfunc(245,6287 -void parse_file(279,7248 -int main(323,8187 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/modsign/mod-extract.c,1018 -struct byteorder byteorder27,773 -uint16_t get16_le(36,1024 -uint32_t get32_le(37,1091 -uint64_t get64_le(38,1158 -uint16_t get16_be(39,1225 -uint32_t get32_be(40,1292 -uint64_t get64_be(41,1359 -void set16_le(43,1427 -void set32_le(44,1493 -void set64_le(45,1559 -void set16_be(46,1625 -void set32_be(47,1691 -void set64_be(48,1757 -const struct byteorder byteorder_le 50,1824 -const struct byteorder byteorder_be 54,1928 -const struct byteorder *order;58,2032 -uint16_t get16(60,2064 -uint32_t get32(61,2126 -uint64_t get64(62,2188 -void set16(63,2250 -void set32(64,2310 -void set64(65,2370 -FILE *outfd;67,2431 -uint8_t csum,68,2444 -uint8_t csum, xcsum;68,2444 -void write_out(70,2466 -#define write_out_val(write_out_val86,2718 -int is_verbose;88,2777 -void verbose(90,2794 -void usage(102,2997 -int main(113,3237 -void extract_elf64_rela(207,5068 -void extract_elf64_rel(278,7191 -void extract_elf64(345,9160 -void extract_elf32_rela(555,14982 -void extract_elf32_rel(626,17096 -void extract_elf32(693,19058 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/conmakehash.c,205 -#define MAX_FONTLEN 23,698 -typedef unsigned short unicode;unicode25,723 -void usage(27,756 -int getunicode(34,913 -unicode unitable[48,1198 -int unicount[50,1277 -void addpair(52,1305 -int main(79,1750 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/genksyms/genksyms.h,580 -#define MODUTILS_GENKSYMS_H 25,1006 -enum symbol_typesymbol_type31,1078 - SYM_NORMAL,33,1097 - SYM_NORMAL, SYM_TYPEDEF,33,1097 - SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM,33,1097 - SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM, SYM_STRUCT,33,1097 - SYM_NORMAL, SYM_TYPEDEF, SYM_ENUM, SYM_STRUCT, SYM_UNION33,1097 -struct string_liststring_list36,1160 -struct symbolsymbol43,1253 -typedef struct string_list **yystype;yystype53,1425 -#define YYSTYPE 54,1463 -#define version(version86,2499 -#define MODUTILS_VERSION 90,2629 -#define xmalloc(xmalloc92,2669 -#define xstrdup(xstrdup93,2760 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/genksyms/genksyms.c,924 -#define HASH_BUCKETS 38,1350 -static struct symbol *symtab[40,1378 -FILE *debugfile;41,1422 -int cur_line 43,1440 -char *cur_filename,44,1458 -char *cur_filename, *output_directory;44,1458 -int flag_debug,46,1498 -int flag_debug, flag_dump_defs,46,1498 -int flag_debug, flag_dump_defs, flag_warnings;46,1498 -static int errors;48,1546 -static int nsyms;49,1565 -static struct symbol *expansion_trail;51,1584 -static const char * const symbol_type_name[53,1624 -static const unsigned int crctab32[59,1802 -partial_crc32_one(116,5306 -partial_crc32(122,5443 -crc32(130,5591 -map_to_ns(139,5777 -find_symbol(149,5931 -add_symbol(162,6233 -free_node(203,7200 -free_list(210,7282 -copy_node(221,7478 -copy_list(233,7701 -equal_list(249,7944 -print_node(263,8183 -print_list(289,8612 -expand_and_crc_list(321,9121 -export_symbol(431,11547 -error(468,12333 -error_with_pos(484,12546 -void genksyms_usage(502,12837 -main(526,13859 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/mod/modpost.h,521 -#define Elf_Ehdr 16,262 -#define Elf_Shdr 17,294 -#define Elf_Sym 18,326 -#define ELF_ST_BIND 19,356 -#define ELF_ST_TYPE 20,390 -#define Elf_Ehdr 24,432 -#define Elf_Shdr 25,464 -#define Elf_Sym 26,496 -#define ELF_ST_BIND 27,526 -#define ELF_ST_TYPE 28,560 -static inline void __endian(34,639 -#define TO_NATIVE(TO_NATIVE43,832 -#define TO_NATIVE(TO_NATIVE52,987 -#define NOFAIL(NOFAIL56,1021 -struct buffer buffer59,1161 -void __attribute__(65,1212 -struct module module71,1371 -struct elf_info elf_info82,1540 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/mod/sumversion.c,1066 -static char *next_string(13,226 -static char *get_modinfo(31,523 -#define MD4_DIGEST_SIZE 67,1673 -#define MD4_HMAC_BLOCK_SIZE 68,1701 -#define MD4_BLOCK_WORDS 69,1732 -#define MD4_HASH_WORDS 70,1760 -struct md4_ctx md4_ctx72,1787 -static inline uint32_t lshift(78,1896 -static inline uint32_t F(84,2028 -static inline uint32_t G(89,2124 -static inline uint32_t H(94,2227 -#define ROUND1(ROUND199,2312 -#define ROUND2(ROUND2100,2374 -#define ROUND3(ROUND3101,2458 -static inline void le32_to_cpu_array(104,2582 -static inline void cpu_to_le32_array(112,2712 -static void md4_transform(120,2842 -static inline void md4_transform_helper(186,4578 -static void md4_init(192,4754 -static void md4_update(201,4941 -static void md4_final_ascii(231,5624 -static inline void add_char(257,6436 -static int parse_string(262,6530 -static int parse_comment(276,6783 -static int parse_file(288,7034 -static int parse_source_files(328,7826 -static int get_version(411,9650 -static void write_version(468,10953 -void strip_rcs_crap(495,11561 -void maybe_frob_version(524,12355 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/mod/file2alias.c,617 -typedef Elf32_Addr kernel_ulong_t;kernel_ulong_t18,573 -typedef Elf64_Addr kernel_ulong_t;kernel_ulong_t20,618 -typedef Elf32_Word __u32;__u3223,665 -typedef Elf32_Half __u16;__u1624,695 -typedef unsigned char __u8;__u825,725 -#define ADD(ADD32,1000 -static int do_usb_entry(46,1792 -static int do_ieee1394_entry(92,3327 -static int do_pci_entry(115,4072 -static int do_ccw_entry(158,5508 -static int do_pnp_entry(180,6214 -static int do_pnp_card_entry(188,6386 -static inline int sym_is(203,6726 -static void do_table(213,6910 -void handle_moddevtable(243,7808 -void add_moddevtable(277,9077 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/mod/modpost.c,902 -int modversions 18,480 -int have_vmlinux 20,564 -fatal(23,592 -warn(37,766 -void *do_nofail(48,925 -static struct module *modules;59,1156 -find_module(62,1204 -new_module(73,1379 -#define SYMBOL_HASH_SIZE 98,1838 -struct symbol symbol100,1869 -static struct symbol *symbolhash[108,1985 -static inline unsigned int tdb_hash(111,2098 -alloc_symbol(127,2617 -new_symbol(140,2866 -find_symbol(155,3186 -add_exported_symbol(173,3590 -grab_file(188,3831 -get_next_line(213,4327 -release_file(244,4831 -parse_elf(250,4907 -parse_elf_finish(321,7013 -#define CRC_PFX 326,7096 -#define KSYMTAB_PFX 327,7146 -handle_modversions(330,7206 -is_vmlinux(388,8808 -read_symbols(401,8990 -#define SZ 439,10058 -void __attribute__(445,10240 -buf_write(464,10617 -add_header(477,10870 -add_versions(501,11699 -add_depends(543,12638 -write_if_changed(574,13320 -read_dump(619,14002 -write_dump(661,14892 -main(686,15359 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/mod/empty.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/mod/mk_elfconfig.c,11 -main(7,81 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/bin2c.c,17 -int main(12,290 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kallsyms.c,491 -struct sym_entry sym_entry16,408 -static struct sym_entry *table;23,482 -static int size,24,514 -static int size, cnt;24,514 -static unsigned long long _stext,25,536 -static unsigned long long _stext, _etext,25,536 -static unsigned long long _stext, _etext, _sinittext,25,536 -static unsigned long long _stext, _etext, _sinittext, _einittext;25,536 -static int all_symbols 26,602 -usage(29,643 -read_symbol(36,753 -symbol_valid(67,1403 -read_map(95,2264 -write_src(112,2544 -main(166,3627 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/expr.c,1371 -#define LKC_DIRECT_LINK10,176 -#define DEBUG_EXPR 13,218 -struct expr *expr_alloc_symbol(15,240 -struct expr *expr_alloc_one(24,413 -struct expr *expr_alloc_two(33,597 -struct expr *expr_alloc_comp(43,819 -struct expr *expr_alloc_and(53,1044 -struct expr *expr_alloc_or(60,1183 -struct expr *expr_copy(67,1320 -void expr_free(104,1950 -static int trans_count;130,2308 -#define e1 132,2333 -#define e2 133,2351 -static void __expr_eliminate_eq(135,2370 -void expr_eliminate_eq(168,3203 -int expr_eq(193,3613 -struct expr *expr_eliminate_yn(235,4453 -struct expr *expr_trans_bool(321,6498 -struct expr *expr_join_or(350,6970 -struct expr *expr_join_and(414,9146 -static void expr_eliminate_dups1(508,12827 -#define e1 510,12921 -#define e2 511,12939 -static void expr_eliminate_dups2(560,13794 -#define e1 562,13888 -#define e2 563,13906 -struct expr *expr_eliminate_dups(616,15113 -struct expr *expr_transform(640,15508 -int expr_contains_symbol(777,18347 -bool expr_depends_symbol(801,18830 -struct expr *expr_extract_eq_and(830,19406 -struct expr *expr_extract_eq_or(841,19645 -void expr_extract_eq(852,19882 -#define e1 854,19982 -#define e2 855,20000 -struct expr *expr_trans_compare(881,20627 -tristate expr_calc_value(942,22233 -int expr_compare_type(983,23257 -void expr_print(1015,23705 -static void expr_print_file_helper(1081,25068 -void expr_fprint(1086,25173 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/mconf.c,1309 -#define LKC_DIRECT_LINK23,494 -static char menu_backtitle[26,536 -static const char menu_instructions[27,569 -static char buf[85,3080 -static char buf[4096], *bufptr 85,3080 -static char input_buf[86,3118 -static char filename[87,3147 -static char *args[88,3193 -static char *args[1024], **argptr 88,3193 -static int indent;89,3235 -static struct termios ios_org;90,3254 -static int rows 91,3285 -static struct menu *current_menu;92,3316 -static int child_count;93,3350 -static int do_resize;94,3374 -static int single_menu_mode;95,3396 -static void init_wsize(116,4197 -static void cprint_init(151,4766 -static int cprint1(163,4984 -static void cprint_done(178,5186 -static int cprint(184,5248 -pid_t pid;199,5451 -static void winch_handler(201,5463 -static int exec_conf(209,5563 -static int regex_match(282,6953 -static void show_expr(292,7104 -static void search_conf(325,7782 -static void build_conf(390,9110 -static void conf(546,12545 -static void show_textbox(676,15158 -static void show_helptext(687,15385 -static void show_help(692,15493 -static void show_readme(710,15920 -static void show_file(715,16014 -static void conf_choice(730,16299 -static void conf_string(782,17386 -static void conf_load(824,18213 -static void conf_save(853,18705 -static void conf_cleanup(882,19231 -int main(889,19354 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/confdata.c,263 -#define LKC_DIRECT_LINK14,255 -const char conf_def_filename[17,297 -const char conf_defname[19,342 -const char *conf_confnames[21,395 -static char *conf_expand_value(30,561 -char *conf_get_default_confname(56,1087 -int conf_read(72,1387 -int conf_write(263,5210 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/qconf.h,2287 -class QSettings QSettings10,190 -class ConfigSettings ConfigSettings19,303 -class ConfigView ConfigView35,655 - typedef class QVBox Parent;ConfigView::Parent37,699 -enum colIdx colIdx52,1033 - promptColIdx,colIdx::promptColIdx53,1047 - promptColIdx, nameColIdx,colIdx::nameColIdx53,1047 - promptColIdx, nameColIdx, noColIdx,colIdx::noColIdx53,1047 - promptColIdx, nameColIdx, noColIdx, modColIdx,colIdx::modColIdx53,1047 - promptColIdx, nameColIdx, noColIdx, modColIdx, yesColIdx,colIdx::yesColIdx53,1047 - promptColIdx, nameColIdx, noColIdx, modColIdx, yesColIdx, dataColIdx,colIdx::dataColIdx53,1047 - promptColIdx, nameColIdx, noColIdx, modColIdx, yesColIdx, dataColIdx, colNrcolIdx::colNr53,1047 -enum listMode listMode55,1127 - singleMode,listMode::singleMode56,1143 - singleMode, menuMode,listMode::menuMode56,1143 - singleMode, menuMode, symbolMode,listMode::symbolMode56,1143 - singleMode, menuMode, symbolMode, fullModelistMode::fullMode56,1143 -class ConfigList ConfigList59,1191 - typedef class QListView Parent;ConfigList::Parent61,1239 - ConfigView* parent(ConfigList::parent65,1385 - void updateListAll(ConfigList::updateListAll92,2078 - ConfigList* listView(ConfigList::listView98,2171 - ConfigItem* firstChild(ConfigList::firstChild102,2216 - int mapIdx(ConfigList::mapIdx106,2299 - void addColumn(ConfigList::addColumn110,2351 - void removeColumn(ConfigList::removeColumn115,2481 -class ConfigItem ConfigItem146,3136 - typedef class QListViewItem Parent;ConfigItem::Parent147,3178 - ConfigItem(ConfigItem::ConfigItem149,3223 - ConfigItem(ConfigItem::ConfigItem154,3376 - ConfigItem(ConfigItem::ConfigItem159,3530 - ConfigList* listView(ConfigItem::listView171,3812 - ConfigItem* firstChild(ConfigItem::firstChild175,3890 - ConfigItem* nextSibling(ConfigItem::nextSibling179,3973 - void setText(ConfigItem::setText183,4058 - QString text(ConfigItem::text187,4161 - void setPixmap(ConfigItem::setPixmap191,4247 - const QPixmap* pixmap(ConfigItem::pixmap195,4350 -class ConfigLineEdit ConfigLineEdit207,4613 - typedef class QLineEdit Parent;ConfigLineEdit::Parent209,4665 - ConfigLineEdit(ConfigLineEdit::ConfigLineEdit211,4706 - ConfigView* parent(ConfigLineEdit::parent214,4765 -class ConfigMainWindow ConfigMainWindow225,4937 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/zconf.tab.c,6241 -#define YYBISON 37,1631 -#define YYSKELETON_NAME 40,1672 -#define YYPURE 43,1727 -#define YYLSP_NEEDED 46,1769 -#define yyparse 50,1877 -#define yylex 51,1904 -#define yyerror 52,1929 -#define yylval 53,1956 -#define yychar 54,1982 -#define yydebug 55,2008 -#define yynerrs 56,2035 -# define YYTOKENTYPE61,2099 - enum yytokentype yytokentype64,2223 - T_MAINMENU 65,2245 - T_MENU 66,2268 - T_ENDMENU 67,2287 - T_SOURCE 68,2309 - T_CHOICE 69,2330 - T_ENDCHOICE 70,2351 - T_COMMENT 71,2375 - T_CONFIG 72,2397 - T_MENUCONFIG 73,2418 - T_HELP 74,2443 - T_HELPTEXT 75,2462 - T_IF 76,2485 - T_ENDIF 77,2502 - T_DEPENDS 78,2522 - T_REQUIRES 79,2544 - T_OPTIONAL 80,2567 - T_PROMPT 81,2590 - T_DEFAULT 82,2611 - T_TRISTATE 83,2633 - T_DEF_TRISTATE 84,2656 - T_BOOLEAN 85,2683 - T_DEF_BOOLEAN 86,2705 - T_STRING 87,2731 - T_INT 88,2752 - T_HEX 89,2770 - T_WORD 90,2788 - T_WORD_QUOTE 91,2807 - T_UNEQUAL 92,2832 - T_EOF 93,2854 - T_EOL 94,2872 - T_CLOSE_PAREN 95,2890 - T_OPEN_PAREN 96,2916 - T_ON 97,2941 - T_SELECT 98,2958 - T_RANGE 99,2979 - T_OR 100,2999 - T_AND 101,3016 - T_EQUAL 102,3034 - T_NOT 103,3054 -#define T_MAINMENU 106,3084 -#define T_MENU 107,3107 -#define T_ENDMENU 108,3126 -#define T_SOURCE 109,3148 -#define T_CHOICE 110,3169 -#define T_ENDCHOICE 111,3190 -#define T_COMMENT 112,3214 -#define T_CONFIG 113,3236 -#define T_MENUCONFIG 114,3257 -#define T_HELP 115,3282 -#define T_HELPTEXT 116,3301 -#define T_IF 117,3324 -#define T_ENDIF 118,3341 -#define T_DEPENDS 119,3361 -#define T_REQUIRES 120,3383 -#define T_OPTIONAL 121,3406 -#define T_PROMPT 122,3429 -#define T_DEFAULT 123,3450 -#define T_TRISTATE 124,3472 -#define T_DEF_TRISTATE 125,3495 -#define T_BOOLEAN 126,3522 -#define T_DEF_BOOLEAN 127,3544 -#define T_STRING 128,3570 -#define T_INT 129,3591 -#define T_HEX 130,3609 -#define T_WORD 131,3627 -#define T_WORD_QUOTE 132,3646 -#define T_UNEQUAL 133,3671 -#define T_EOF 134,3693 -#define T_EOL 135,3711 -#define T_CLOSE_PAREN 136,3729 -#define T_OPEN_PAREN 137,3755 -#define T_ON 138,3780 -#define T_SELECT 139,3797 -#define T_RANGE 140,3818 -#define T_OR 141,3838 -#define T_AND 142,3855 -#define T_EQUAL 143,3873 -#define T_NOT 144,3893 -#define printd(printd164,4202 -#define PRINTD 166,4265 -#define DEBUG_PARSE 167,4288 -int cdebug 169,4316 -struct symbol *symbol_hash[176,4522 -static struct menu *current_menu,178,4556 -static struct menu *current_menu, *current_entry;178,4556 -#define YYERROR_VERBOSE180,4607 -# define YYDEBUG 185,4673 -# define YYERROR_VERBOSE 191,4787 -# define YYERROR_VERBOSE 193,4820 -typedef union YYSTYPE YYSTYPE198,4915 -} YYSTYPE;YYSTYPE204,5030 -# define yystype 207,5069 -# define YYSTYPE_IS_DECLARED 208,5131 -# define YYSTYPE_IS_TRIVIAL 209,5162 -#define LKC_DIRECT_LINK217,5254 -# define YYSTACK_ALLOC 229,5472 -# define YYSTACK_ALLOC 233,5586 -# define YYSTACK_ALLOC 236,5648 -# define YYSTACK_FREE(YYSTACK_FREE244,5800 -# define YYSIZE_T 248,5973 -# define YYSTACK_ALLOC 250,6009 -# define YYSTACK_FREE 251,6040 -union yyallocyyalloc261,6288 -# define YYSTACK_GAP_MAXIMUM 268,6415 -# define YYSTACK_BYTES(YYSTACK_BYTES272,6563 -# define YYCOPY(YYCOPY280,6799 -# define YYCOPY(YYCOPY283,6906 -# define YYSTACK_RELOCATE(YYSTACK_RELOCATE299,7397 - typedef signed char yysigned_char;yysigned_char313,7779 - typedef short yysigned_char;yysigned_char315,7823 -#define YYFINAL 319,7919 -#define YYLAST 321,7978 -#define YYNTOKENS 324,8040 -#define YYNNTS 326,8102 -#define YYNRULES 328,8156 -#define YYNSTATES 330,8214 -#define YYUNDEFTOK 333,8311 -#define YYMAXUTOK 334,8333 -#define YYTRANSLATE(YYTRANSLATE336,8358 -static const unsigned char yytranslate[340,8535 -static const unsigned short yyprhs[377,10848 -static const yysigned_char yyrhs[393,11716 -static const unsigned short yyrline[430,14129 -static const char *const yytname[449,15114 -static const unsigned short yytoknum[473,16380 -static const unsigned char yyr1[484,16810 -static const unsigned char yyr2[500,17696 -static const unsigned char yydefact[518,18677 -static const short yydefgoto[542,20081 -#define YYPACT_NINF 553,20506 -static const short yypact[554,20530 -static const short yypgoto[578,21923 -#define YYTABLE_NINF 591,22493 -static const short yytable[592,22518 -static const unsigned char yycheck[617,24031 -static const unsigned char yystos[644,25649 -# define YYSIZE_T 668,27075 -# define YYSIZE_T 671,27159 -# define YYSIZE_T 676,27322 -# define YYSIZE_T 680,27388 -#define yyerrok 683,27427 -#define yyclearin 684,27462 -#define YYEMPTY 685,27499 -#define YYEOF 686,27521 -#define YYACCEPT 688,27539 -#define YYABORT 689,27573 -#define YYERROR 690,27606 -#define YYFAIL 697,27843 -#define YYRECOVERING(YYRECOVERING699,27874 -#define YYBACKUP(YYBACKUP701,27915 -#define YYTERROR 718,28326 -#define YYERRCODE 719,28345 -# define YYLLOC_DEFAULT(YYLLOC_DEFAULT725,28479 -# define YYLEX 735,28814 -# define YYLEX 737,28855 -# define YYFPRINTF 745,29013 -# define YYDPRINTF(YYDPRINTF748,29050 -# define YYDSYMPRINT(YYDSYMPRINT754,29150 -# define YYDSYMPRINTF(YYDSYMPRINTF760,29253 -yy_stack_print 778,29881 -# define YY_STACK_PRINT(YY_STACK_PRINT792,30169 -yy_reduce_print 805,30522 -# define YY_REDUCE_PRINT(YY_REDUCE_PRINT822,30997 -int yydebug;830,31213 -# define YYDPRINTF(YYDPRINTF832,31247 -# define YYDSYMPRINT(YYDSYMPRINT833,31272 -# define YYDSYMPRINTF(YYDSYMPRINTF834,31299 -# define YY_STACK_PRINT(YY_STACK_PRINT835,31352 -# define YY_REDUCE_PRINT(YY_REDUCE_PRINT836,31389 -# define YYINITDEPTH 842,31523 -# define YYMAXDEPTH 857,31913 -# define yystrlen 866,32038 -yystrlen 871,32175 -# define yystpcpy 889,32481 -yystpcpy 895,32670 -yysymprint 924,33174 -yydestruct 961,33995 -int yychar;1000,34640 -YYSTYPE yylval;1003,34704 -int yynerrs;1006,34760 -int yyparse 1016,34889 -#define YYPOPSTACK 1061,35833 -void conf_parse(1918,53629 -const char *zconf_tokenname(1945,54181 -static bool zconf_endtoken(1958,54462 -static void zconfprint(1974,54960 -static void zconferror(1985,55175 -void print_quoted_string(1990,55295 -void print_symbol(2007,55569 -void zconfdump(2075,57000 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/symbol.c,1242 -#define LKC_DIRECT_LINK11,201 -struct symbol symbol_yes 14,243 -int sym_change_count;32,603 -struct symbol *modules_sym;33,625 -tristate modules_val;34,653 -void sym_add_default(36,676 -void sym_init(43,846 -enum symbol_type sym_get_type(76,1428 -const char *sym_type_name(89,1691 -struct property *sym_get_choice_prop(110,2014 -struct property *sym_get_default_prop(119,2158 -struct property *sym_get_range_prop(131,2400 -static void sym_calc_visibility(143,2651 -static struct symbol *sym_calc_choice(173,3342 -void sym_calc_value(212,4228 -void sym_clear_all_valid(320,6658 -void sym_set_changed(332,6850 -void sym_set_all_changed(343,7062 -bool sym_tristate_within_range(352,7177 -bool sym_set_tristate_value(371,7624 -tristate sym_toggle_tristate_value(399,8211 -bool sym_string_valid(422,8589 -bool sym_string_within_range(465,9319 -bool sym_set_string_value(507,10382 -const char *sym_get_string_value(556,11381 -bool sym_is_changable(579,11713 -struct symbol *sym_lookup(584,11801 -struct symbol *sym_find(630,12775 -static struct symbol *sym_check_expr_deps(661,13355 -struct symbol *sym_check_deps(691,13950 -struct property *prop_alloc(727,14759 -struct symbol *prop_get_symbol(749,15209 -const char *prop_get_type_name(757,15402 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/lex.zconf.c,6613 -#define YY_INT_ALIGNED 4,24 -#define FLEX_SCANNER8,102 -#define YY_FLEX_MAJOR_VERSION 9,123 -#define YY_FLEX_MINOR_VERSION 10,155 -#define YY_FLEX_SUBMINOR_VERSION 11,187 -#define FLEX_BETA13,256 -#define FLEXINT_H29,554 -typedef int8_t flex_int8_t;flex_int8_t35,725 -typedef uint8_t flex_uint8_t;flex_uint8_t36,753 -typedef int16_t flex_int16_t;flex_int16_t37,783 -typedef uint16_t flex_uint16_t;flex_uint16_t38,813 -typedef int32_t flex_int32_t;flex_int32_t39,845 -typedef uint32_t flex_uint32_t;flex_uint32_t40,875 -typedef signed char flex_int8_t;flex_int8_t42,913 -typedef short int flex_int16_t;flex_int16_t43,946 -typedef int flex_int32_t;flex_int32_t44,978 -typedef unsigned char flex_uint8_t;flex_uint8_t45,1004 -typedef unsigned short int flex_uint16_t;flex_uint16_t46,1041 -typedef unsigned int flex_uint32_t;flex_uint32_t47,1083 -#define INT8_MIN 52,1188 -#define INT16_MIN 55,1251 -#define INT32_MIN 58,1318 -#define INT8_MAX 61,1389 -#define INT16_MAX 64,1451 -#define INT32_MAX 67,1515 -#define UINT8_MAX 70,1584 -#define UINT16_MAX 73,1648 -#define UINT32_MAX 76,1714 -#define YY_USE_CONST84,1864 -#define YY_USE_CONST90,1927 -#define yyconst 96,2019 -#define yyconst98,2047 -#define YY_NULL 102,2104 -#define YY_SC_TO_UI(YY_SC_TO_UI109,2351 -#define BEGIN 115,2582 -#define YY_START 121,2781 -#define YYSTATE 122,2821 -#define YY_STATE_EOF(YY_STATE_EOF125,2904 -#define YY_NEW_FILE 128,3024 -#define YY_END_OF_BUFFER_CHAR 130,3069 -#define YY_BUF_SIZE 134,3158 -#define YY_TYPEDEF_YY_BUFFER_STATE138,3227 -typedef struct yy_buffer_state *YY_BUFFER_STATE;YY_BUFFER_STATE139,3262 -#define EOB_ACT_CONTINUE_SCAN 146,3376 -#define EOB_ACT_END_OF_FILE 147,3408 -#define EOB_ACT_LAST_MATCH 148,3438 - #define YY_LESS_LINENO(YY_LESS_LINENO150,3468 -#define yyless(yyless153,3583 -#define unput(unput166,3944 -#define YY_TYPEDEF_YY_SIZE_T174,4215 -typedef unsigned int yy_size_t;yy_size_t175,4244 -#define YY_STRUCT_YY_BUFFER_STATE179,4318 -struct yy_buffer_stateyy_buffer_state180,4352 -#define YY_BUFFER_NEW 226,5503 -#define YY_BUFFER_NORMAL 227,5527 -#define YY_BUFFER_EOF_PENDING 238,6031 -static size_t yy_buffer_stack_top 244,6139 -static size_t yy_buffer_stack_max 245,6209 -static YY_BUFFER_STATE * yy_buffer_stack 246,6275 -#define YY_CURRENT_BUFFER 254,6543 -#define YY_CURRENT_BUFFER_LVALUE 261,6839 -static char yy_hold_char;264,6984 -static int yy_n_chars;265,7010 -int zconfleng;266,7081 -static char *yy_c_buf_p 269,7142 -static int yy_init 270,7180 -static int yy_start 271,7241 -static int yy_did_buffer_switch_on_eof;276,7426 -#define YY_FLUSH_BUFFER 290,7976 -#define yy_new_buffer 300,8333 -#define yy_set_interactive(yy_set_interactive302,8376 -#define yy_set_bol(yy_set_bol312,8661 -#define YY_AT_BOL(YY_AT_BOL322,8913 -#define zconfwrap(zconfwrap326,8996 -#define YY_SKIP_YYWRAP327,9019 -typedef unsigned char YY_CHAR;YY_CHAR329,9043 -FILE *zconfin 331,9075 -typedef int yy_state_type;yy_state_type333,9128 -int zconflineno 337,9181 -#define yytext_ptr 340,9227 -static yyconst flex_int16_t yy_nxt[341,9256 -#define YY_DO_BEFORE_ACTION 1914,64798 -#define YY_NUM_RULES 1921,64964 -#define YY_END_OF_BUFFER 1922,64988 -struct yy_trans_infoyy_trans_info1925,65097 -static yyconst flex_int16_t yy_accept[1930,65172 -static yyconst flex_int32_t yy_ec[1957,66603 -int zconf_flex_debug 1990,68354 -#define REJECT 1995,68483 -#define yymore(yymore1996,68527 -#define YY_MORE_ADJ 1997,68573 -#define YY_RESTORE_YY_MORE_OFFSET1998,68595 -char *zconftext;1999,68629 -#define LKC_DIRECT_LINK2012,68863 -#define START_STRSIZE 2015,68905 -char *text;2017,68931 -static char *text_ptr;2018,68943 -static int text_size,2019,68966 -static int text_size, text_asize;2019,68966 -struct buffer buffer2021,69001 -struct buffer *current_buf;2026,69083 -static int last_ts,2028,69112 -static int last_ts, first_ts;2028,69112 -void new_string(2033,69220 -void append_string(2042,69357 -void alloc_string(2056,69654 -#define INITIAL 2063,69773 -#define COMMAND 2064,69791 -#define HELP 2065,69809 -#define STRING 2066,69824 -#define PARAM 2067,69841 -#define YY_EXTRA_TYPE 2076,70111 -#define YY_READ_BUF_SIZE 2113,70771 -#define ECHO 2121,70989 -#define YY_INPUT(YY_INPUT2128,71190 -#define yyterminate(yyterminate2149,71710 -#define YY_START_STACK_INCR 2154,71845 -#define YY_FATAL_ERROR(YY_FATAL_ERROR2159,71935 -#define YY_DECL_IS_OURS 2168,72168 -#define YY_DECL 2172,72224 -#define YY_USER_ACTION2179,72409 -#define YY_BREAK 2184,72502 -#define YY_RULE_SETUP 2187,72534 -case YY_STATE_EOF(2491,77279 -*yy_cp 2499,77376 -(yy_c_buf_p)2500,77444 -YY_DO_BEFORE_ACTION;2501,77471 -*yy_cp 2517,77753 -(yy_c_buf_p)2518,77821 -YY_DO_BEFORE_ACTION;2519,77848 -case YY_STATE_EOF(2554,78508 -*yy_cp 2587,79001 -(yy_c_buf_p)2588,79069 -YY_DO_BEFORE_ACTION;2589,79096 -case YY_STATE_EOF(2613,79476 -case YY_STATE_EOF(2620,79557 -static int yy_get_next_buffer 2772,83582 - static yy_state_type yy_get_previous_state 2898,86703 - static yy_state_type yy_try_NUL_trans 2918,87203 - static void yyunput 2928,87445 - static int yyinput 2967,88508 - void zconfrestart 3044,90281 - void zconf_switch_to_buffer 3061,90660 -static void zconf_load_buffer_state 3092,91524 - YY_BUFFER_STATE zconf_create_buffer 3106,92003 - void zconf_delete_buffer 3134,92715 - static void zconf_init_buffer 3153,93176 - void zconf_flush_buffer 3181,93883 -void zconfpush_buffer_state 3210,94575 -void zconfpop_buffer_state 3240,95355 -static void zconfensure_buffer_stack 3259,95759 -YY_BUFFER_STATE zconf_scan_buffer 3304,97172 -YY_BUFFER_STATE zconf_scan_string 3341,98261 -YY_BUFFER_STATE zconf_scan_bytes 3354,98670 -#define YY_EXIT_FAILURE 3385,99359 -static void yy_fatal_error 3388,99393 -#define yyless(yyless3397,99586 -int zconfget_lineno 3416,100060 -FILE *zconfget_in 3425,100160 -FILE *zconfget_out 3433,100250 -int zconfget_leng 3441,100356 -char *zconfget_text 3450,100449 -void zconfset_lineno 3459,100571 -void zconfset_in 3471,100805 -void zconfset_out 3476,100872 -int zconfget_debug 3481,100943 -void zconfset_debug 3486,101008 -int zconflex_destroy 3492,101157 -static void yy_flex_strncpy 3514,101554 -static int yy_flex_strlen 3523,101719 -void *zconfalloc 3533,101840 -void *zconfrealloc 3538,101914 -void zconffree 3550,102373 -#define YYTABLES_NAME 3555,102473 -void zconf_starthelp(3570,102729 -static void zconf_endhelp(3577,102815 -FILE *zconf_fopen(3591,103110 -void zconf_initscan(3607,103375 -void zconf_nextfile(3623,103709 -static struct buffer *zconf_endfile(3653,104451 -int zconf_lineno(3673,104847 -char *zconf_curname(3681,104946 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/conf.c,716 -#define LKC_DIRECT_LINK13,236 - ask_all,20,366 - ask_new,21,376 - ask_silent,22,386 - dont_ask,23,399 - set_default,24,410 - set_yes,25,424 - set_mod,26,434 - set_no,27,444 - set_random28,453 -} input_mode 29,465 -char *defconfig_file;30,489 -static int indent 32,512 -static int valid_stdin 33,535 -static int conf_cnt;34,563 -static char line[35,584 -static struct menu *rootEntry;36,607 -static char nohelp_text[38,639 -static int return_value 40,719 -static void strip(42,749 -static void check_stdin(59,967 -static void conf_askvalue(69,1204 -int conf_string(170,2914 -static int conf_sym(204,3603 -static int conf_choice(278,4986 -static void conf(412,7608 -static void check_conf(474,8564 -int main(501,9147 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/expr.h,2892 -#define EXPR_H7,131 -struct file file18,255 -#define FILE_BUSY 26,353 -#define FILE_SCANNED 27,379 -#define FILE_PRINTED 28,408 -typedef enum tristate tristate30,438 - no,31,462 - no, mod,31,462 - no, mod, yes31,462 -} tristate;tristate32,476 -enum expr_type expr_type34,489 - E_NONE,35,506 - E_NONE, E_OR,35,506 - E_NONE, E_OR, E_AND,35,506 - E_NONE, E_OR, E_AND, E_NOT,35,506 - E_NONE, E_OR, E_AND, E_NOT, E_EQUAL,35,506 - E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL,35,506 - E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_CHOICE,35,506 - E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_CHOICE, E_SYMBOL,35,506 - E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_CHOICE, E_SYMBOL, E_RANGE35,506 -union expr_data expr_data38,587 -struct expr expr43,650 -#define E_OR(E_OR48,720 -#define E_AND(E_AND49,777 -#define E_NOT(E_NOT50,835 -struct expr_value expr_value52,866 -struct symbol_value symbol_value57,925 -enum symbol_type symbol_type62,978 - S_UNKNOWN,63,997 - S_UNKNOWN, S_BOOLEAN,63,997 - S_UNKNOWN, S_BOOLEAN, S_TRISTATE,63,997 - S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT,63,997 - S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX,63,997 - S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING,63,997 - S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER63,997 -struct symbol symbol66,1068 -#define for_all_symbols(for_all_symbols79,1302 -#define SYMBOL_YES 81,1436 -#define SYMBOL_MOD 82,1463 -#define SYMBOL_NO 83,1490 -#define SYMBOL_CONST 84,1516 -#define SYMBOL_CHECK 85,1545 -#define SYMBOL_CHOICE 86,1574 -#define SYMBOL_CHOICEVAL 87,1604 -#define SYMBOL_PRINTED 88,1636 -#define SYMBOL_VALID 89,1667 -#define SYMBOL_OPTIONAL 90,1696 -#define SYMBOL_WRITE 91,1728 -#define SYMBOL_CHANGED 92,1757 -#define SYMBOL_NEW 93,1788 -#define SYMBOL_AUTO 94,1815 -#define SYMBOL_CHECKED 95,1843 -#define SYMBOL_CHECK_DONE 96,1874 -#define SYMBOL_WARNED 97,1907 -#define SYMBOL_MAXLENGTH 99,1938 -#define SYMBOL_HASHSIZE 100,1967 -#define SYMBOL_HASHMASK 101,1996 -enum prop_type prop_type103,2027 - P_UNKNOWN,104,2044 - P_UNKNOWN, P_PROMPT,104,2044 - P_UNKNOWN, P_PROMPT, P_COMMENT,104,2044 - P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU,104,2044 - P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT,104,2044 - P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE,104,2044 - P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE, P_SELECT,104,2044 - P_UNKNOWN, P_PROMPT, P_COMMENT, P_MENU, P_DEFAULT, P_CHOICE, P_SELECT, P_RANGE104,2044 -struct property property107,2128 -#define for_all_properties(for_all_properties119,2337 -#define for_all_defaults(for_all_defaults122,2448 -#define for_all_choices(for_all_choices123,2521 -#define for_all_prompts(for_all_prompts124,2592 -struct menu menu128,2687 -#define MENU_CHANGED 142,2915 -#define MENU_ROOT 143,2944 -static inline int expr_is_yes(178,4543 -static inline int expr_is_no(183,4661 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/gconf.c,3604 - SINGLE_VIEW,30,457 - SINGLE_VIEW, SPLIT_VIEW,30,457 - SINGLE_VIEW, SPLIT_VIEW, FULL_VIEW30,457 -static gint view_mode 33,497 -static gboolean show_name 34,532 -static gboolean show_range 35,566 -static gboolean show_value 36,601 -static gboolean show_all 37,636 -static gboolean show_debug 38,670 -static gboolean resizeable 39,706 -static gboolean config_changed 41,743 -static char nohelp_text[43,784 -GtkWidget *main_wnd 46,868 -GtkWidget *tree1_w 47,896 -GtkWidget *tree2_w 48,938 -GtkWidget *text_w 49,980 -GtkWidget *hpaned 50,1006 -GtkWidget *vpaned 51,1032 -GtkWidget *back_btn 52,1058 -GtkTextTag *tag1,54,1087 -GtkTextTag *tag1, *tag2;54,1087 -GdkColor color;55,1112 -GtkTreeStore *tree1,57,1129 -GtkTreeStore *tree1, *tree2,57,1129 -GtkTreeStore *tree1, *tree2, *tree;57,1129 -GtkTreeModel *model1,58,1165 -GtkTreeModel *model1, *model2;58,1165 -static GtkTreeIter *parents[59,1196 -static gint indent;60,1230 -static struct menu *current;62,1251 -static struct menu *browsed;63,1312 - COL_OPTION,66,1380 - COL_OPTION, COL_NAME,66,1380 - COL_OPTION, COL_NAME, COL_NO,66,1380 - COL_OPTION, COL_NAME, COL_NO, COL_MOD,66,1380 - COL_OPTION, COL_NAME, COL_NO, COL_MOD, COL_YES,66,1380 - COL_OPTION, COL_NAME, COL_NO, COL_MOD, COL_YES, COL_VALUE,66,1380 - COL_MENU,67,1440 - COL_MENU, COL_COLOR,67,1440 - COL_MENU, COL_COLOR, COL_EDIT,67,1440 - COL_MENU, COL_COLOR, COL_EDIT, COL_PIXBUF,67,1440 - COL_PIXVIS,68,1484 - COL_PIXVIS, COL_BTNVIS,68,1484 - COL_PIXVIS, COL_BTNVIS, COL_BTNACT,68,1484 - COL_PIXVIS, COL_BTNVIS, COL_BTNACT, COL_BTNINC,68,1484 - COL_PIXVIS, COL_BTNVIS, COL_BTNACT, COL_BTNINC, COL_BTNRAD,68,1484 - COL_NUMBER69,1545 -const char *dbg_print_stype(83,1894 -const char *dbg_print_flags(111,2357 -const char *dbg_print_ptype(154,3231 -void init_main_window(184,3691 -void init_tree_model(285,6707 -void init_left_tree(315,7596 -void init_right_tree(359,9063 -static void text_insert_help(463,12517 -static void text_insert_msg(500,13595 -gboolean on_window1_delete_event(524,14360 -void on_window1_destroy(569,15443 -on_window1_size_request(576,15536 -load_filename(599,15956 -void on_load1_activate(612,16245 -void on_save1_activate(632,16830 -store_filename(642,17026 -void on_save_as1_activate(655,17329 -void on_quit1_activate(675,17921 -void on_show_name1_activate(682,18087 -void on_show_range1_activate(693,18372 -void on_show_data1_activate(711,18917 -on_show_all_options1_activate(723,19210 -on_show_debug_info1_activate(733,19441 -void on_introduction1_activate(740,19604 -void on_about1_activate(772,20937 -void on_license1_activate(790,21488 -void on_back_pressed(809,22098 -void on_load_pressed(824,22425 -void on_save_pressed(830,22529 -void on_single_clicked(836,22633 -void on_split_clicked(846,22846 -void on_full_clicked(859,23150 -void on_collapse_pressed(871,23428 -void on_expand_pressed(877,23552 -static void renderer_edited(886,23741 -static void change_sym_value(914,24443 -static void toggle_sym_value(956,25269 -static void renderer_toggled(972,25620 -static gint column2index(1001,26389 -on_treeview2_button_press_event(1019,26702 -on_treeview2_key_press_event(1076,28178 -on_treeview2_cursor_changed(1121,29178 -on_treeview1_button_press_event(1137,29596 -static gchar **fill_row(1179,30474 -static void set_node(1302,33545 -static void place_node(1338,34565 -static GtkTreeIter found;1349,34815 -GtkTreeIter *gtktree_iter_find_node(1354,34899 -static void update_tree(1388,35551 -static void display_tree(1472,37607 -static void display_tree_part(1532,39097 -static void display_list(1544,39401 -void fixup_rootmenu(1555,39588 -int main(1575,40089 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/lkc.h,424 -#define LKC_H7,130 -#define P(P16,227 -#define P(P19,301 -#define SRCTREE 24,396 -static inline tristate sym_get_tristate_value(70,1835 -static inline struct symbol *sym_get_choice_value(76,1930 -static inline bool sym_set_choice_value(81,2045 -static inline bool sym_is_choice(86,2175 -static inline bool sym_is_choice_value(91,2284 -static inline bool sym_is_optional(96,2402 -static inline bool sym_has_value(101,2515 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/menu.c,869 -#define LKC_DIRECT_LINK9,157 -struct menu rootmenu;12,199 -static struct menu **last_entry_ptr;13,221 -struct file *file_list;15,259 -struct file *current_file;16,283 -static void menu_warn(18,311 -static void prop_warn(28,546 -void menu_init(38,785 -void menu_add_entry(44,888 -void menu_end_entry(60,1206 -void menu_add_menu(64,1237 -void menu_end_menu(70,1338 -struct expr *menu_check_dep(76,1445 -void menu_add_dep(101,1927 -void menu_set_type(106,2047 -struct property *menu_add_prop(121,2388 -void menu_add_prompt(139,2820 -void menu_add_expr(144,2940 -void menu_add_symbol(149,3061 -void sym_check_prop(154,3203 -void menu_finalize(198,4597 -bool menu_is_visible(339,8824 -const char *menu_get_prompt(365,9374 -struct menu *menu_get_root_menu(374,9535 -struct menu *menu_get_parent_menu(379,9610 -struct file *file_lookup(391,9838 -int file_write_dep(408,10161 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/images.c,617 -static const char *xpm_load[6,116 -static const char *xpm_save[36,809 -static const char *xpm_back[66,1502 -static const char *xpm_tree_view[94,2165 -static const char *xpm_single_view[121,2818 -static const char *xpm_split_view[148,3473 -static const char *xpm_symbol_no[175,4127 -static const char *xpm_symbol_mod[192,4399 -static const char *xpm_symbol_yes[209,4672 -static const char *xpm_choice_no[226,4945 -static const char *xpm_choice_yes[243,5217 -static const char *xpm_menu[260,5490 -static const char *xpm_menu_inv[277,5757 -static const char *xpm_menuback[294,6028 -static const char *xpm_void[311,6299 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/lkc_proto.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/zconf.tab.h,1760 -# define BISON_ZCONF_TAB_H27,1170 -# define YYTOKENTYPE31,1233 - enum yytokentype yytokentype34,1357 - T_MAINMENU 35,1379 - T_MENU 36,1402 - T_ENDMENU 37,1421 - T_SOURCE 38,1443 - T_CHOICE 39,1464 - T_ENDCHOICE 40,1485 - T_COMMENT 41,1509 - T_CONFIG 42,1531 - T_HELP 43,1552 - T_HELPTEXT 44,1571 - T_IF 45,1594 - T_ENDIF 46,1611 - T_DEPENDS 47,1631 - T_REQUIRES 48,1653 - T_OPTIONAL 49,1676 - T_PROMPT 50,1699 - T_DEFAULT 51,1720 - T_TRISTATE 52,1742 - T_BOOLEAN 53,1765 - T_INT 54,1787 - T_HEX 55,1805 - T_WORD 56,1823 - T_STRING 57,1842 - T_UNEQUAL 58,1863 - T_EOF 59,1885 - T_EOL 60,1903 - T_CLOSE_PAREN 61,1921 - T_OPEN_PAREN 62,1947 - T_ON 63,1972 - T_OR 64,1989 - T_AND 65,2006 - T_EQUAL 66,2024 - T_NOT 67,2044 -#define T_MAINMENU 70,2074 -#define T_MENU 71,2097 -#define T_ENDMENU 72,2116 -#define T_SOURCE 73,2138 -#define T_CHOICE 74,2159 -#define T_ENDCHOICE 75,2180 -#define T_COMMENT 76,2204 -#define T_CONFIG 77,2226 -#define T_HELP 78,2247 -#define T_HELPTEXT 79,2266 -#define T_IF 80,2289 -#define T_ENDIF 81,2306 -#define T_DEPENDS 82,2326 -#define T_REQUIRES 83,2348 -#define T_OPTIONAL 84,2371 -#define T_PROMPT 85,2394 -#define T_DEFAULT 86,2415 -#define T_TRISTATE 87,2437 -#define T_BOOLEAN 88,2460 -#define T_INT 89,2482 -#define T_HEX 90,2500 -#define T_WORD 91,2518 -#define T_STRING 92,2537 -#define T_UNEQUAL 93,2558 -#define T_EOF 94,2580 -#define T_EOL 95,2598 -#define T_CLOSE_PAREN 96,2616 -#define T_OPEN_PAREN 97,2642 -#define T_ON 98,2667 -#define T_OR 99,2684 -#define T_AND 100,2701 -#define T_EQUAL 101,2719 -#define T_NOT 102,2739 -} yystype;yystype115,2903 -# define YYSTYPE 118,2983 - -/export0/mef/linux-2.6.9-1.11_FC2/scripts/kconfig/kconfig_load.c,64 -#define P(P7,77 -void kconfig_load(11,158 -#define P(P25,419 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/parser.c,220 -static int match_one(25,813 -int match_token(102,2579 -static int match_number(122,3190 -int match_int(150,3930 -int match_octal(164,4387 -int match_hex(178,4846 -void match_strcpy(192,5272 -char *match_strdup(206,5678 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/infcodes.h,112 -#define _INFCODES_H12,374 -typedef struct inflate_codes_state inflate_codes_statef;inflate_codes_statef17,446 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inflate_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/infcodes.c,165 -#define exop 14,378 -#define bits 15,406 -inflate_codes_statef *zlib_inflate_codes_new(17,435 -int zlib_inflate_codes(39,794 -void zlib_inflate_codes_free(197,5373 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inffast.c,129 -#define exop 16,411 -#define bits 17,439 -#define GRABBITS(GRABBITS20,543 -#define UNGRAB 21,609 -int zlib_inflate_fast(28,954 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/infblock.c,335 -#define exop 15,391 -#define bits 16,419 -static const uInt border[19,498 -void zlib_inflate_blocks_reset(68,3258 -inflate_blocks_statef *zlib_inflate_blocks_new(86,3623 -int zlib_inflate_blocks(105,3968 -int zlib_inflate_blocks_free(331,10067 -void zlib_inflate_set_dictionary(341,10201 -int zlib_inflate_blocks_sync_point(356,10500 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/infblock.h,115 -#define _INFBLOCK_H12,374 -typedef struct inflate_blocks_state inflate_blocks_statef;inflate_blocks_statef15,424 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/infutil.c,62 -uInt zlib_inflate_mask[15,376 -int zlib_inflate_flush(23,633 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inftrees.c,524 -static const char inflate_copyright[10,250 -static const char inflate_copyright[] __attribute_used__ 10,250 -#define exop 21,728 -#define bits 22,756 -static const uInt cplens[38,1418 -static const uInt cplext[42,1678 -static const uInt cpdist[45,1888 -static const uInt cpdext[49,2132 -#define BMAX 88,4238 -static int huft_build(90,4300 -#define C0 132,6585 -#define C2 133,6606 -#define C4 134,6629 -int zlib_inflate_trees_bits(292,11411 -int zlib_inflate_trees_dynamic(316,12134 -int zlib_inflate_trees_fixed(377,13793 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inftrees.h,158 -#define _INFTREES_H15,523 -typedef struct inflate_huft_s inflate_huft;inflate_huft17,544 -struct inflate_huft_s inflate_huft_s19,589 -#define MANY 36,1340 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inflate_sync.c,141 -int zlib_inflateSync(10,236 -int zlib_inflateSyncPoint(69,1731 -static int zlib_inflate_addhistory(86,2347 -int zlib_inflateIncomp(140,4030 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inflate.c,287 -int zlib_inflate_workspacesize(11,263 -int zlib_inflateReset(17,349 -int zlib_inflateEnd(31,658 -int zlib_inflateInit2_(44,905 -static int zlib_inflate_packet_flush(95,1971 -int zlib_inflateInit_(104,2124 -#define NEEDBYTE 115,2304 -#define NEXTBYTE 116,2359 -int zlib_inflate(118,2421 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/infutil.h,1563 -#define _INFUTIL_H12,391 - TYPE,19,496 - LENS,20,555 - STORED,21,600 - TABLE,22,646 - BTREE,23,686 - DTREE,24,749 - CODES,25,818 - DRY,26,874 - B_DONE,27,926 - B_BAD}28,974 -inflate_block_mode;inflate_block_mode29,1025 -struct inflate_blocks_state inflate_blocks_state32,1086 -#define UPDBITS 70,2470 -#define UPDIN 71,2509 -#define UPDOUT 72,2579 -#define UPDATE 73,2608 -#define LEAVE 74,2646 -#define LOADIN 76,2730 -#define NEEDBYTE 77,2795 -#define NEXTBYTE 78,2837 -#define NEEDBITS(NEEDBITS79,2865 -#define DUMPBITS(DUMPBITS80,2940 -#define WAVAIL 82,2999 -#define LOADOUT 83,3053 -#define WRAP 84,3098 -#define FLUSH 85,3176 -#define NEEDOUT 86,3236 -#define OUTBYTE(OUTBYTE87,3312 -#define LOAD 89,3381 - METHOD,102,3733 - FLAG,103,3779 - DICT4,104,3823 - DICT3,105,3879 - DICT2,106,3936 - DICT1,107,3991 - DICT0,108,4045 - BLOCKS,109,4100 - CHECK4,110,4143 - CHECK3,111,4188 - CHECK2,112,4234 - CHECK1,113,4278 - I_DONE,114,4321 - I_BAD}115,4364 -inflate_mode;inflate_mode116,4410 -struct internal_state internal_state118,4425 - START,143,5268 - LEN,144,5308 - LENEXT,145,5361 - DIST,146,5419 - DISTEXT,147,5462 - COPY,148,5510 - LIT,149,5578 - WASH,150,5641 - END,151,5705 - BADCODE}152,5759 -inflate_codes_mode;inflate_codes_mode153,5794 -struct inflate_codes_state inflate_codes_state155,5815 -struct inflate_workspace inflate_workspace184,6763 -#define WS(WS195,7120 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_inflate/inffast.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/crc32.c,716 -#define tole(tole33,1234 -#define tobe(tobe34,1276 -#define tole(tole36,1324 -#define tobe(tobe37,1344 -u32 __attribute_pure__ crc32_le(59,1988 -u32 __attribute_pure__ crc32_le(79,2556 -# define DO_CRC(DO_CRC86,2750 -# define DO_CRC(DO_CRC88,2819 -u32 __attribute_pure__ crc32_be(162,4499 -u32 __attribute_pure__ crc32_be(184,5093 -# define DO_CRC(DO_CRC191,5287 -# define DO_CRC(DO_CRC193,5356 -u32 bitreverse(252,6595 -buf_dump(400,13181 -static void bytereverse(410,13343 -static void random_garbage(421,13573 -static void store_le(428,13724 -static void store_be(437,13923 -static u32 test_step(451,14331 -#define SIZE 497,15494 -#define INIT1 498,15510 -#define INIT2 499,15526 -int main(501,15543 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/dump_stack.c,23 -void dump_stack(9,158 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/bust_spinlocks.c,28 -void bust_spinlocks(18,415 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/errno.c,16 -int errno;7,78 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/div64.c,28 -uint32_t __div64_32(26,773 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/int_sqrt.c,31 -unsigned long int_sqrt(11,207 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/radix-tree.c,1427 -#define RADIX_TREE_MAP_SHIFT 35,1107 -#define RADIX_TREE_MAP_SHIFT 37,1144 -#define RADIX_TREE_TAGS 39,1215 -#define RADIX_TREE_MAP_SIZE 41,1243 -#define RADIX_TREE_MAP_MASK 42,1301 -#define RADIX_TREE_TAG_LONGS 44,1354 -struct radix_tree_node radix_tree_node47,1447 -struct radix_tree_path radix_tree_path53,1593 -#define RADIX_TREE_INDEX_BITS 58,1674 -#define RADIX_TREE_MAX_PATH 59,1748 -static unsigned long height_to_maxindex[61,1826 -static kmem_cache_t *radix_tree_node_cachep;66,1922 -struct radix_tree_preload radix_tree_preload71,2010 -radix_tree_node_alloc(82,2366 -radix_tree_node_free(101,2792 -int radix_tree_preload(112,3162 -static inline void tag_set(137,3738 -static inline void tag_clear(143,3908 -static inline int tag_get(148,4036 -static inline unsigned long radix_tree_maxindex(157,4258 -static int radix_tree_extend(165,4426 -int radix_tree_insert(227,5732 -void *radix_tree_lookup(286,7070 -void *radix_tree_tag_set(325,7975 -void *radix_tree_tag_clear(366,9040 -int radix_tree_tag_get(428,10449 -__lookup(471,11339 -radix_tree_gang_lookup(530,12880 -__lookup_tag(559,13636 -radix_tree_gang_lookup_tag(621,15362 -void *radix_tree_delete(654,16283 -int radix_tree_tagged(738,18099 -radix_tree_node_ctor(753,18367 -static __init unsigned long __maxindex(758,18498 -static __init void radix_tree_init_maxindex(768,18754 -static int radix_tree_callback(777,18948 -void __init radix_tree_init(798,19640 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/kobject.c,1158 -static int populate_dir(32,810 -static int create_dir(48,1124 -static inline struct kobject * to_kobj(61,1354 -static int get_kobj_path_length(66,1474 -static void fill_kobj_path(82,1847 -char * kobject_get_path(106,2624 -#define BUFFER_SIZE 123,2936 -#define NUM_ENVP 124,3003 -static unsigned long sequence_num;125,3052 -static spinlock_t sequence_lock 126,3087 -static void kset_hotplug(128,3142 -void kobject_hotplug(220,5275 -void kobject_hotplug(236,5701 -void kobject_init(246,5881 -static void unlink(264,6273 -int kobject_add(279,6551 -int kobject_register(323,7443 -int kobject_set_name(350,7993 -int kobject_rename(405,8982 -void kobject_del(423,9274 -void kobject_unregister(435,9508 -struct kobject * kobject_get(447,9736 -void kobject_cleanup(459,9916 -static void kobject_release(477,10318 -void kobject_put(488,10568 -void kset_init(500,10730 -int kset_add(521,11311 -int kset_register(535,11541 -void kset_unregister(547,11676 -struct kobject * kset_find_obj(563,12035 -void subsystem_init(581,12423 -int subsystem_register(596,12755 -void subsystem_unregister(610,13001 -int subsys_create_file(623,13267 -void subsys_remove_file(640,13584 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/string.c,651 -#define IN_STRING_C 22,610 -int strnicmp(36,936 -char * strcpy(70,1527 -char * strncpy(91,1989 -size_t strlcpy(117,2612 -char * strcat(137,3020 -char * strncat(161,3515 -size_t strlcat(188,4014 -int strcmp(214,4478 -int strncmp(235,4849 -char * strchr(256,5246 -char * strrchr(272,5569 -char *strnchr(291,6015 -size_t strlen(306,6300 -size_t strnlen(323,6620 -size_t strspn(341,7007 -size_t strcspn(369,7495 -char * strpbrk(393,7935 -char * strsep(420,8594 -void * memset(447,9092 -void bcopy(472,9653 -void * memcpy(493,10107 -void * memmove(514,10530 -int memcmp(543,11031 -void * memscan(566,11565 -char * strstr(587,11957 -void *memchr(616,12478 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/rwsem.c,383 -struct rwsem_waiter rwsem_waiter11,262 -#define RWSEM_WAITING_FOR_READ 15,356 -#define RWSEM_WAITING_FOR_WRITE 16,398 -void rwsemtrace(21,479 -__rwsem_do_wake(41,1231 -rwsem_down_failed_common(144,3916 -rwsem_down_read_failed(185,4857 -rwsem_down_write_failed(203,5273 -struct rw_semaphore fastcall *rwsem_wake(220,5714 -struct rw_semaphore fastcall *rwsem_downgrade_wake(242,6230 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/ctype.c,29 -unsigned char _ctype[10,130 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/bitmap.c,761 -int __bitmap_empty(41,1417 -int __bitmap_full(56,1702 -int __bitmap_equal(71,1987 -void __bitmap_complement(87,2336 -void __bitmap_shift_right(109,3004 -void __bitmap_shift_left(154,4288 -void __bitmap_and(182,5086 -void __bitmap_or(193,5334 -void __bitmap_xor(204,5580 -void __bitmap_andnot(215,5828 -int __bitmap_intersects(226,6083 -int __bitmap_subset(241,6442 -int __bitmap_weight(257,6819 -int __bitmap_weight(270,7085 -#define CHUNKSZ 290,7517 -#define nbits_to_hold_value(nbits_to_hold_value291,7539 -#define roundup_power2(roundup_power2292,7581 -#define unhex(unhex293,7662 -int bitmap_scnprintf(305,8097 -int bitmap_parse(348,9536 -int bitmap_find_free_region(427,11578 -void bitmap_release_region(463,12516 -int bitmap_allocate_region(474,12831 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/rbtree.c,337 -static void __rb_rotate_left(26,897 -static void __rb_rotate_right(46,1346 -void rb_insert_color(66,1789 -static void __rb_erase_color(132,3172 -void rb_erase(224,5409 -struct rb_node *rb_first(302,6914 -struct rb_node *rb_last(315,7105 -struct rb_node *rb_next(328,7296 -struct rb_node *rb_prev(352,8017 -void rb_replace_node(372,8509 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/idr.c,461 -static kmem_cache_t *idr_layer_cache;35,1278 -static struct idr_layer *alloc_layer(37,1317 -static void free_layer(53,1601 -int idr_pre_get(77,2216 -static int sub_alloc(90,2493 -static int idr_get_new_above_int(162,4010 -int idr_get_new_above(227,5577 -int idr_get_new(261,6436 -static void sub_remove(280,6792 -void idr_remove(314,7484 -void *idr_find(352,8409 -static void idr_cache_ctor(374,8767 -static int init_id_cache(380,8925 -void idr_init(395,9283 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/dec_and_lock.c,32 -int atomic_dec_and_lock(30,758 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/rwsem-spinlock.c,523 -struct rwsem_waiter rwsem_waiter12,362 -#define RWSEM_WAITING_FOR_READ 16,456 -#define RWSEM_WAITING_FOR_WRITE 17,498 -void rwsemtrace(21,561 -void fastcall init_rwsem(33,805 -__rwsem_do_wake(53,1390 -__rwsem_wake_one_writer(115,2831 -void fastcall __sched __down_read(136,3214 -int fastcall __down_read_trylock(182,4161 -void fastcall __sched __down_write(205,4639 -int fastcall __down_write_trylock(251,5593 -void fastcall __up_read(273,6007 -void fastcall __up_write(290,6350 -void fastcall __downgrade_write(309,6745 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_deflate/deflate.c,1365 - need_more,60,2544 - block_done,61,2622 - finish_started,62,2670 - finish_done 63,2750 -} block_state;block_state64,2820 -typedef block_state (*compress_func)compress_func66,2836 -#define NIL 88,3727 -# define TOO_FAR 92,3784 -#define MIN_LOOKAHEAD 96,3889 -typedef struct config_s config_s106,4326 -} config;config112,4601 -static const config configuration_table[114,4612 -#define EQUAL 133,5402 -#define UPDATE_HASH(UPDATE_HASH142,5804 -#define INSERT_STRING(INSERT_STRING153,6369 -#define CLEAR_HASH(CLEAR_HASH162,6781 -int zlib_deflateInit_(167,7000 -int zlib_deflateInit2_(181,7381 -int zlib_deflateSetDictionary(258,9572 -int zlib_deflateReset(302,10843 -int zlib_deflateParams(333,11536 -static void putShortMSB(374,12747 -static void flush_pending(389,13197 -int zlib_deflate(413,13785 -int zlib_deflateEnd(551,18399 -int zlib_deflateCopy 575,18945 -static int read_buf(635,20706 -static void lm_init(661,21295 -static uInt longest_match(696,22569 -static void check_match(839,28285 -# define check_match(check_match862,28928 -static void fill_window(875,29443 -#define FLUSH_BLOCK_ONLY(FLUSH_BLOCK_ONLY969,33099 -#define FLUSH_BLOCK(FLUSH_BLOCK981,33493 -static block_state deflate_stored(995,34104 -static block_state deflate_fast(1054,36119 -static block_state deflate_slow(1148,39909 -int zlib_deflate_workspacesize(1265,44455 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_deflate/defutil.h,1288 -#define Assert(Assert4,3 -#define Trace(Trace5,29 -#define Tracev(Tracev6,51 -#define Tracecv(Tracecv7,74 -#define Tracevv(Tracevv8,103 -#define LENGTH_CODES 12,130 -#define LITERALS 15,225 -#define L_CODES 18,285 -#define D_CODES 21,398 -#define BL_CODES 24,451 -#define HEAP_SIZE 27,528 -#define MAX_BITS 30,585 -#define INIT_STATE 33,652 -#define BUSY_STATE 34,677 -#define FINISH_STATE 35,702 -typedef struct ct_data_s ct_data_s40,817 -} ct_data;ct_data49,1088 -#define Freq 51,1100 -#define Code 52,1121 -#define Dad 53,1142 -#define Len 54,1162 -typedef struct static_tree_desc_s static_tree_desc;static_tree_desc56,1183 -typedef struct tree_desc_s tree_desc_s58,1237 -} tree_desc;tree_desc62,1467 -typedef ush Pos;Pos64,1481 -typedef unsigned IPos;IPos65,1498 -typedef struct deflate_state deflate_state71,1682 -# define max_insert_length 152,5127 -} deflate_state;deflate_state239,8966 -typedef struct deflate_workspace deflate_workspace241,8984 -} deflate_workspace;deflate_workspace248,9294 -#define put_byte(put_byte253,9406 -#define MIN_LOOKAHEAD 256,9469 -#define MAX_DIST(MAX_DIST261,9642 -#define put_short(put_short281,10421 -static inline unsigned bi_reverse(291,10753 -static inline void bi_flush(305,11155 -static inline void bi_windup(321,11593 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_deflate/deftree.c,1658 -#define MAX_BL_BITS 48,1374 -#define END_BLOCK 51,1453 -#define REP_3_6 54,1508 -#define REPZ_3_10 57,1601 -#define REPZ_11_138 60,1690 -static const int extra_lbits[63,1781 -static const int extra_dbits[66,1929 -static const int extra_blbits[69,2084 -static const uch bl_order[72,2212 -#define Buf_size 78,2458 -static ct_data static_ltree[87,2742 -static ct_data static_dtree[94,3028 -static uch dist_code[99,3157 -static uch length_code[105,3347 -static int base_length[108,3463 -static int base_dist[111,3562 -struct static_tree_desc_s static_tree_desc_s114,3660 -static static_tree_desc static_l_desc 122,4030 -static static_tree_desc static_d_desc 125,4132 -static static_tree_desc static_bl_desc 128,4234 -# define send_code(send_code156,5563 -# define send_code(send_code160,5737 -#define d_code(d_code165,5888 -static void send_bits(179,6417 -#define send_bits(send_bits205,7203 -static void tr_static_init(225,7895 -void zlib_tr_init(295,10517 -static void init_block(326,11194 -#define SMALLEST 342,11612 -#define pqremove(pqremove350,11913 -#define smaller(smaller361,12295 -static void pqdownheap(371,12751 -static void gen_bitlen(407,14015 -static void gen_codes(495,17409 -static void build_tree(538,19212 -static void scan_tree(626,22399 -static void send_tree(672,24062 -static int build_bl_tree(724,26003 -static void send_all_trees(760,27449 -void zlib_tr_stored_block(792,28713 -void zlib_tr_stored_type_only(808,29244 -void zlib_tr_align(829,30095 -ulg zlib_tr_flush_block(856,31124 -int zlib_tr_tally(969,35253 -static void compress_block(1018,37160 -static void set_data_type(1072,39320 -static void copy_block(1089,39878 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/zlib_deflate/deflate_syms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/crc32defs.h,110 -#define CRCPOLY_LE 6,218 -#define CRCPOLY_BE 7,248 -# define CRC_LE_BITS 12,425 -# define CRC_BE_BITS 15,475 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/kref.c,68 -void kref_init(21,448 -void kref_get(30,590 -void kref_put(46,1054 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/cmdline.c,87 -int get_option 34,834 -char *get_options(67,1553 -unsigned long long memparse 96,2335 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/inflate.c,1396 -#define DEBG(DEBG1,0 -#define DEBG1(DEBG12,16 -static char rcsid[108,5829 -#define STATIC119,6057 -#define slide 122,6095 -struct huft huft131,6575 -#define wp 162,7879 -#define flush_output(flush_output163,7897 -static const unsigned border[166,7997 -static const ush cplens[168,8153 -static const ush cplext[172,8442 -static const ush cpdist[175,8654 -static const ush cpdext[179,8903 -STATIC ulg bb;216,10458 -STATIC unsigned bk;217,10514 -STATIC const ush mask_bits[219,10579 -#define NEXTBYTE(NEXTBYTE225,10763 -#define NEEDBITS(NEEDBITS226,10843 -#define DUMPBITS(DUMPBITS227,10909 -STATIC const int lbits 263,12788 -STATIC const int dbits 264,12872 -#define BMAX 268,13024 -#define N_MAX 269,13102 -STATIC unsigned hufts;272,13169 -STATIC int huft_build(275,13227 -STATIC int huft_free(494,20662 -STATIC int inflate_codes(516,21124 -STATIC int inflate_stored(631,24433 -STATIC int noinline inflate_fixed(692,25754 -STATIC int noinline inflate_dynamic(748,27134 -STATIC int inflate_block(929,31382 -STATIC int inflate(980,32188 -static ulg crc_32_tab[1033,33283 -static ulg crc;1034,33311 -#define CRC_VALUE 1035,33382 -makecrc(1043,33519 -#define ASCII_FLAG 1079,34450 -#define CONTINUATION 1080,34518 -#define EXTRA_FIELD 1081,34598 -#define ORIG_NAME 1082,34661 -#define COMMENT 1083,34731 -#define ENCRYPTED 1084,34795 -#define RESERVED 1085,34856 -static int gunzip(1090,34941 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/gen_crc32table.c,282 -#define ENTRIES_PER_LINE 5,65 -#define LE_TABLE_SIZE 7,93 -#define BE_TABLE_SIZE 8,134 -static uint32_t crc32table_le[10,176 -static uint32_t crc32table_be[11,222 -static void crc32init_le(20,471 -static void crc32init_be(37,830 -static void output_table(51,1117 -int main(63,1377 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/iomap.c,955 -#define PIO_OFFSET 27,1002 -#define PIO_MASK 28,1031 -#define PIO_RESERVED 29,1058 -#define VERIFY_PIO(VERIFY_PIO34,1131 -#define IO_COND(IO_COND36,1198 -unsigned int fastcall ioread8(47,1457 -unsigned int fastcall ioread16(51,1565 -unsigned int fastcall ioread32(55,1674 -void fastcall iowrite8(63,1858 -void fastcall iowrite16(67,1964 -void fastcall iowrite32(71,2072 -static inline void mmio_insb(85,2466 -static inline void mmio_insw(93,2621 -static inline void mmio_insl(101,2778 -static inline void mmio_outsb(110,2936 -static inline void mmio_outsw(117,3080 -static inline void mmio_outsl(124,3225 -void fastcall ioread8_rep(132,3371 -void fastcall ioread16_rep(136,3520 -void fastcall ioread32_rep(140,3670 -void fastcall iowrite8_rep(148,3907 -void fastcall iowrite16_rep(152,4067 -void fastcall iowrite32_rep(156,4228 -void __iomem *ioport_map(165,4537 -void ioport_unmap(172,4703 -void __iomem *pci_iomap(180,4890 -void pci_iounmap(201,5435 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/extable.c,50 -void sort_extable(28,885 -search_extable(60,1704 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/crc-ccitt.c,57 -u16 const crc_ccitt_table[18,528 -u16 crc_ccitt(60,2834 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/libcrc32c.c,216 -#define CRC32C_POLY_BE 42,1438 -#define CRC32C_POLY_LE 43,1472 -# define CRC_LE_BITS 46,1528 -# define CRC_BE_BITS 58,1752 -crc32c_le(70,2080 -static u32 crc32c_table[91,2441 -crc32c_le(164,5987 -crc32c_be(181,6303 - -/export0/mef/linux-2.6.9-1.11_FC2/lib/vsprintf.c,566 -unsigned long simple_strtoul(34,805 -long simple_strtol(70,1579 -unsigned long long simple_strtoull(85,1982 -long long simple_strtoll(121,2794 -static int skip_atoi(128,2966 -#define ZEROPAD 137,3082 -#define SIGN 138,3121 -#define PLUS 139,3164 -#define SPACE 140,3196 -#define LEFT 141,3233 -#define SPECIAL 142,3271 -#define LARGE 143,3300 -static char * number(145,3358 -int vsnprintf(256,5777 -int vscnprintf(509,11144 -int snprintf(531,11814 -int scnprintf(556,12496 -int vsprintf(581,13156 -int sprintf(598,13608 -int vsscanf(617,13915 -int sscanf(835,18595 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-voyager/voyager_basic.c,654 -int reboot_thru_bios;39,900 -int voyager_level 41,923 -struct voyager_SUS *voyager_SUS 43,947 -voyager_dump(47,1018 -static struct sysrq_key_op sysrq_voyager_dump_op 53,1148 -voyager_detect(61,1307 -voyager_system_interrupt(90,2139 -voyager_extended_cmos_read(97,2330 -#define CLICK_ENTRIES 106,2512 -#define CLICK_SIZE 107,2537 -typedef struct ClickMap ClickMap109,2604 - struct Entry Entry110,2630 -} ClickMap_t;ClickMap_t114,2704 -voyager_memory_detect(126,3026 -voyager_timer_interrupt(169,4143 -voyager_power_off(211,5325 -kb_wait(246,6226 -machine_restart(256,6329 -mca_nmi_hook(285,6912 -machine_halt(313,7764 -void machine_power_off(321,7877 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-voyager/setup.c,258 -void __init pre_intr_init_hook(12,199 -static struct irqaction irq2 20,326 -void __init intr_init_hook(22,413 -void __init pre_setup_arch_hook(32,537 -void __init trap_init_hook(39,709 -static struct irqaction irq0 43,747 -void __init time_init_hook(45,850 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-voyager/voyager_thread.c,266 -#define THREAD_NAME 36,937 -int kvoyagerd_running 39,995 -static __u8 set_timeout 44,1088 -voyager_thread_start(48,1203 -execute(59,1439 -check_from_kernel(84,1825 -check_continuing_condition(100,2258 -wakeup(117,2698 -thread(123,2764 -voyager_thread_stop(161,3534 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-voyager/voyager_smp.c,4516 -int reboot_smp 35,829 -DEFINE_PER_CPU(38,908 -static unsigned long cpu_irq_affinity[41,1049 -static unsigned long cpu_irq_affinity[NR_CPUS] __cacheline_aligned 41,1049 -int smp_threads_ready 45,1265 -struct cpuinfo_x86 cpu_data[49,1390 -struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned;49,1390 -unsigned char boot_cpu_id;52,1502 -struct voyager_qic_cpi *voyager_quad_cpi_addr[55,1580 -struct voyager_qic_cpi *voyager_quad_cpi_addr[NR_CPUS] __cacheline_aligned;55,1580 -__u32 voyager_extended_vic_processors 58,1728 -__u32 voyager_allowed_boot_processors 61,1844 -__u32 voyager_quad_processors 64,1960 -static int voyager_extended_cpus 69,2166 -int smp_found_config 74,2366 -static volatile unsigned long smp_invalidate_needed;77,2463 -cpumask_t cpu_online_map 81,2634 -cpumask_t phys_cpu_present_map 85,2792 -cycles_t cacheflush_time 89,2943 -unsigned long cache_decay_ticks 93,3106 -send_one_QIC_CPI(121,4133 -send_QIC_CPI(128,4278 -send_one_CPI(144,4632 -send_CPI_allbutself(153,4807 -is_cpu_quad(161,4972 -is_cpu_extended(168,5111 -is_cpu_vic_boot(176,5247 -ack_CPI(186,5427 -static struct hw_interrupt_type vic_irq_type 215,6055 -static int cpucount 227,6420 -static __u32 trampoline_base;232,6590 -static __u32 cpu_booted_map;240,6887 -static cpumask_t smp_commenced_mask 244,7046 -cpumask_t cpu_callin_map 247,7148 -cpumask_t cpu_callout_map 248,7190 -static __u16 vic_irq_mask[251,7301 -static __u16 vic_irq_mask[NR_CPUS] __cacheline_aligned;251,7301 -static __u16 vic_irq_enable_mask[254,7421 -static __u16 vic_irq_enable_mask[NR_CPUS] __cacheline_aligned 254,7421 -static spinlock_t vic_irq_lock __cacheline_aligned 257,7541 -static long vic_intr_total 265,7880 -static long vic_intr_count[266,7912 -static long vic_intr_count[NR_CPUS] __cacheline_aligned 266,7912 -static unsigned long vic_tick[267,7977 -static unsigned long vic_tick[NR_CPUS] __cacheline_aligned 267,7977 -static unsigned long vic_cpi_mailbox[270,8107 -static unsigned long vic_cpi_mailbox[NR_CPUS] __cacheline_aligned;270,8107 -vic_read_isr(274,8252 -qic_setup(287,8402 -vic_setup_pic(307,8872 -do_quad_bootstrap(353,9942 -find_smp_config(384,10708 -smp_store_cpu_info(437,12852 -setup_trampoline(448,13055 -start_secondary(461,13419 -do_boot_cpu(535,15263 - union IDTFormat IDTFormat562,16080 - struct seg seg563,16100 -smp_boot_cpus(681,19779 -initialize_secondary(763,22501 -smp_vic_sys_interrupt(789,23124 -smp_vic_cmn_interrupt(799,23424 -smp_reschedule_interrupt(828,24086 -static struct mm_struct * flush_mm;833,24140 -static unsigned long flush_va;834,24176 -static spinlock_t tlbstate_lock 835,24207 -#define FLUSH_ALL 836,24261 -leave_mm 846,24505 -smp_invalidate_interrupt(859,24746 -flush_tlb_others 890,25504 -flush_tlb_current_task(933,26352 -flush_tlb_mm 950,26648 -void flush_tlb_page(970,27007 -smp_enable_irq_interrupt(993,27476 -smp_stop_cpu_function(1016,27906 -static spinlock_t call_lock 1025,28116 -struct call_data_struct call_data_struct1027,28167 -static struct call_data_struct * call_data;1035,28316 -smp_call_function_interrupt(1042,28628 -smp_call_function 1082,29912 -smp_apic_timer_interrupt(1137,31417 -smp_qic_timer_interrupt(1144,31565 -smp_qic_invalidate_interrupt(1151,31703 -smp_qic_reschedule_interrupt(1158,31822 -smp_qic_enable_irq_interrupt(1165,31941 -smp_qic_call_function_interrupt(1172,32060 -smp_vic_cpi_interrupt(1179,32188 -do_flush_tlb_all(1201,32869 -flush_tlb_all(1213,33098 -smp_alloc_memory(1221,33268 -smp_send_reschedule(1230,33471 -hard_smp_processor_id(1237,33550 -smp_send_stop(1254,33901 -smp_vic_timer_interrupt(1262,34101 -wrapper_smp_local_timer_interrupt(1269,34242 -smp_local_timer_interrupt(1285,34703 -setup_profiling_timer(1377,37607 -#define VIC_SET_GATE(VIC_SET_GATE1400,38176 -#define QIC_SET_GATE(QIC_SET_GATE1402,38267 -smp_intr_init(1406,38371 -send_CPI(1437,39329 -ack_QIC_CPI(1469,40187 -ack_special_QIC_CPI(1479,40367 -ack_VIC_CPI(1495,40729 -#define __byte(__byte1522,41367 -#define cached_21(cached_211523,41417 -#define cached_A1(cached_A11524,41470 -startup_vic_irq(1527,41544 -enable_vic_irq(1556,42629 -disable_vic_irq(1589,43536 -enable_local_vic_irq(1595,43619 -disable_local_vic_irq(1619,44062 -before_handle_vic_irq(1652,44912 -after_handle_vic_irq(1688,46014 -set_vic_irq_affinity(1769,48356 -ack_vic_irq(1821,50021 -vic_enable_cpi(1835,50381 -voyager_smp_dump(1859,50981 -smp_voyager_power_off(1905,52074 -smp_prepare_cpus(1914,52226 -void __devinit smp_prepare_boot_cpu(1920,52327 -__cpu_up(1927,52481 -smp_cpus_done(1944,52854 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-voyager/voyager_cat.c,988 -#define CDEBUG(CDEBUG32,916 -#define CDEBUG(CDEBUG34,949 -#define CAT_CMD 38,1002 -#define CAT_DATA 40,1056 -cat_module_name(68,2305 -static int sspb 102,2945 -int voyager_8slot 103,3004 -voyager_module_t *voyager_cat_list;105,3065 -static struct resource vic_res 108,3153 -static struct resource qic_res 110,3239 -#define BITS_PER_BYTE 117,3590 -cat_pack(119,3626 -cat_unpack(162,4861 -cat_build_header(200,5878 -cat_sendinst(219,6310 -cat_getdata(283,8339 -cat_shiftout(359,10437 -cat_senddata(384,11061 -cat_write(444,12736 -cat_read(453,12950 -cat_subaddrsetup(462,13162 -cat_subwrite(502,14365 -cat_subread(534,15299 -static __initdata __u8 eprom_buf[560,15960 -static voyager_module_t *voyager_initial_module;561,16002 -voyager_cat_init(568,16326 -voyager_cat_readb(906,28004 -cat_disconnect(912,28082 -cat_connect(942,28757 -voyager_cat_power_off(973,29411 -struct voyager_status voyager_status 1008,30526 -voyager_cat_psi(1011,30578 -voyager_cat_do_common_interrupt(1049,31555 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/setup.S,3368 -INITSEG INITSEG61,2284 -SYSSEG SYSSEG62,2352 -SETUPSEG SETUPSEG63,2419 -DELTA_INITSEG DELTA_INITSEG66,2523 -.globl .globl69,2576 -begtext:begtext72,2641 -begdata:begdata74,2656 -begbss:begbss76,2670 -start:start79,2685 -realmode_swtch:realmode_swtch87,2910 -start_sys_seg:start_sys_seg88,2965 -type_of_loader:type_of_loader94,3161 -loadflags:loadflags100,3384 -LOADED_HIGH LOADED_HIGH101,3395 -CAN_USE_HEAP CAN_USE_HEAP102,3449 -setup_move_size:setup_move_size113,3717 -code32_start:code32_start120,3991 -ramdisk_image:ramdisk_image128,4219 -ramdisk_size:ramdisk_size133,4404 -bootsect_kludge:bootsect_kludge135,4448 -heap_end_ptr:heap_end_ptr138,4488 -pad1:pad1143,4679 -cmd_line_ptr:cmd_line_ptr144,4694 -ramdisk_max:ramdisk_max159,5202 -trampoline:trampoline164,5375 -start_of_setup:start_of_setup168,5498 -prtstr:prtstr194,5997 -fin:fin202,6062 -prtsp2:prtsp2205,6089 -prtspc:prtspc206,6131 -prtchr:prtchr209,6250 -beep:beep219,6363 -no_sig_mess:no_sig_mess222,6399 -good_sig1:good_sig1224,6452 -bad_sig:bad_sig228,6532 -no_sig:no_sig259,7196 -no_sig_loop:no_sig_loop263,7240 -good_sig:good_sig267,7276 -loader_panic_mess:loader_panic_mess286,7782 -loader_ok:loader_ok288,7839 -meme820:meme820309,8556 -jmpe820:jmpe820315,8721 -good820:good820333,9213 -again820:again820342,9357 -bail820:bail820345,9439 -meme801:meme801356,9815 -e801usecxdx:e801usecxdx374,10373 -mem88:mem88384,10750 -no_disk1:no_disk1433,11531 -is_disk1:is_disk1443,11698 -sysdesc_ok:sysdesc_ok469,12273 -no_mca:no_mca473,12307 -voyager_rep:voyager_rep483,12547 -no_voyager:no_voyager490,12644 -no_psmouse:no_psmouse502,12981 -apm_disconnect:apm_disconnect563,14764 -no_32_apm_bios:no_32_apm_bios570,14900 -done_apm_bios:done_apm_bios572,14966 -rmodeswtch_normal:rmodeswtch_normal585,15152 -rmodeswtch_end:rmodeswtch_end589,15211 -do_move0:do_move0604,15705 -do_move:do_move610,15900 -end_move:end_move628,16337 -move_self_1:move_self_1660,17329 -move_self_here:move_self_here676,17661 -end_move_self:end_move_self683,17773 -a20_elan_wait:a20_elan_wait694,18109 -A20_TEST_LOOPS A20_TEST_LOOPS701,18180 -A20_ENABLE_LOOPS A20_ENABLE_LOOPS702,18225 -a20_try_loop:a20_try_loop706,18301 -a20_none:a20_none709,18370 -a20_bios:a20_bios714,18454 -a20_kbc:a20_kbc725,18654 -a20_kbc_wait:a20_kbc_wait745,19116 -a20_kbc_wait_loop:a20_kbc_wait_loop747,19145 -a20_fast:a20_fast753,19263 -a20_fast_wait:a20_fast_wait760,19465 -a20_fast_wait_loop:a20_fast_wait_loop762,19495 -a20_die:a20_die775,19706 -a20_tries:a20_tries779,19734 -a20_err_msg:a20_err_msg782,19770 -a20_done:a20_done787,19887 -flush_instr:flush_instr834,21371 -code32:code32853,22040 -kernel_version:kernel_version858,22192 -default_switch:default_switch869,22455 -A20_TEST_ADDR A20_TEST_ADDR884,22789 -a20_test:a20_test886,22813 -a20_test_wait:a20_test_wait896,23005 -empty_8042:empty_8042924,23789 -empty_8042_loop:empty_8042_loop928,23834 -no_output:no_output942,24049 -empty_8042_end_loop:empty_8042_end_loop945,24138 -gettime:gettime950,24224 -delay:delay964,24435 -gdt:gdt981,25029 -gdt_end:gdt_end995,25444 -idt_48:idt_48999,25494 -gdt_48:gdt_481004,25591 -setup_sig1:setup_sig11013,25776 -setup_sig2:setup_sig21014,25799 -modelist:modelist1019,25977 -endtext:endtext1022,25994 -enddata:enddata1024,26009 -endbss:endbss1026,26023 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/bootsect.S,582 -SETUPSECTS SETUPSECTS18,532 -BOOTSEG BOOTSEG19,583 -INITSEG INITSEG20,640 -SETUPSEG SETUPSEG21,705 -SYSSEG SYSSEG22,754 -SYSSIZE SYSSIZE23,815 -ROOT_DEV ROOT_DEV25,902 -SWAP_DEV SWAP_DEV26,959 -.global .global43,1175 -_start:_start44,1190 -start2:start249,1255 -msg_loop:msg_loop60,1381 -die:die69,1477 -bugger_off_msg:bugger_off_msg80,1681 -setup_sects:setup_sects91,1950 -root_flags:root_flags92,1980 -syssize:syssize93,2010 -swap_dev:swap_dev94,2033 -ram_size:ram_size95,2058 -vid_mode:vid_mode96,2082 -root_dev:root_dev97,2108 -boot_flag:boot_flag98,2133 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/video.S,6095 -video:video110,3167 -vid2:vid2135,3747 -vid1:vid1136,3768 -basic_detect:basic_detect147,4086 -basret:basret164,4530 -mode_params:mode_params170,4793 -mopar0:mopar0187,5219 -mopar1:mopar1197,5463 -mopar2:mopar2203,5675 -mopar_gr:mopar_gr208,5793 -dac_set:dac_set259,6895 -dac_done:dac_done273,7264 -no_pm:no_pm284,7476 -mode_menu:mode_menu287,7510 -nokey:nokey291,7599 -defmd1:defmd1302,7773 -listm:listm304,7822 -listm0:listm0305,7865 -an2:an2323,8105 -an1:an1325,8143 -lm1:lm1330,8271 -lm2:lm2356,8709 -lm3:lm3359,8798 -lmbs:lmbs376,9016 -lment:lment387,9159 -lmhx:lmhx403,9448 -lmhex:lmhex404,9495 -lmhx1:lmhx1422,9672 -lmuse1:lmuse1426,9718 -mnusel:mnusel429,9752 -lmuse:lmuse444,9943 -lmbad:lmbad447,9975 -lmscan:lmscan450,10020 -lmdef:lmdef457,10206 -setv7:setv7460,10279 -_setrec:_setrec468,10396 -_set_80x25:_set_80x25469,10428 -setalias:setalias472,10493 -mode_set:mode_set482,10688 -setbad:setbad509,11093 -setvesa:setvesa513,11167 -setbios:setbios524,11360 -setspc:setspc537,11536 -setmenu:setmenu544,11682 -_m_s:_m_s557,11935 -setres:setres559,11955 -setr1:setr1563,12051 -check_vesa:check_vesa574,12201 -_setbad:_setbad606,12958 -setrec:setrec612,13180 -rct1:rct1633,13658 -rct2:rct2636,13699 -rct3:rct3639,13741 -spec_inits:spec_inits642,13806 -set_80x25:set_80x25654,14023 -use_80x25:use_80x25656,14093 -st80:st80670,14454 -force3:force3680,14738 -set80:set80683,14800 -set_8pixel:set_8pixel687,14872 -set_8pt:set_8pt690,14932 -set_current:set_current703,15238 -set_80x28:set_80x28709,15392 -set14:set14712,15451 -set_80x43:set_80x43723,15714 -set_80x30:set_80x30733,15951 -set48a:set48a743,16140 -set_80x34:set_80x34770,16913 -setvde:setvde775,17064 -set_80x60:set_80x60780,17154 -set_gfx:set_gfx788,17356 -store_screen:store_screen801,17602 -sts1:sts1836,18446 -stsr:stsr838,18471 -restore_screen:restore_screen841,18531 -res2:res2856,18873 -res3:res3861,18929 -res4:res4879,19252 -res5:res5883,19338 -res6:res6891,19547 -res1:res1904,19693 -outidx:outidx908,19809 -mode_table:mode_table924,20241 -mtab1x:mtab1x943,20613 -mtabv:mtabv945,20632 -mscan1:mscan1954,20929 -mscan2:mscan2969,21245 -mtabe:mtabe972,21285 -cmt1:cmt1978,21371 -cmt3:cmt3983,21487 -cmt4:cmt4992,21605 -cmt5:cmt5995,21645 -cmt2:cmt2998,21691 -mtab1:mtab11003,21787 -ret0:ret01004,21843 -vga_modes:vga_modes1007,21890 -vga_modes_end:vga_modes_end1025,22259 -vesa_modes:vesa_modes1029,22321 -vesa1:vesa11051,22795 -vesa2:vesa21067,23193 -vesa3:vesa31106,24001 -vesaok:vesaok1114,24201 -vesan:vesan1115,24256 -vesae:vesae1116,24313 -vesar:vesar1119,24398 -vesa_text_mode_table:vesa_text_mode_table1123,24461 -mode_scan:mode_scan1132,24693 -scm1:scm11134,24745 -scm2:scm21167,25342 -tstidx:tstidx1174,25431 -inidx:inidx1175,25477 -svga_modes:svga_modes1185,25736 -dosvga:dosvga1187,25803 -cpsvga:cpsvga1207,26140 -didsv:didsv1215,26207 -didsv1:didsv11216,26265 -svga_table:svga_table1222,26548 -s3_test:s3_test1244,27168 -s3_2:s3_21268,27846 -s3_1:s3_11281,28280 -no_s3:no_s31318,29005 -no_s31:no_s311321,29084 -s3rest:s3rest1322,29125 -idS3:idS31326,29218 -s3_md:s3_md1329,29332 -ati_test:ati_test1336,29431 -atiok:atiok1345,29532 -idati:idati1347,29544 -ati_md:ati_md1349,29571 -ahead_test:ahead_test1360,29763 -isahed:isahed1373,29925 -ahead_md:ahead_md1375,29938 -chips_test:chips_test1387,30143 -cantok:cantok1403,30374 -chips_md:chips_md1405,30387 -cirrus1_test:cirrus1_test1413,30514 -nocirr:nocirr1450,31018 -iscirr:iscirr1451,31040 -cirrus1_md:cirrus1_md1459,31147 -cirrus5_test:cirrus5_test1469,31321 -c5xx:c5xx1500,31759 -c5fail:c5fail1507,31836 -c5done:c5done1508,31858 -cirrus5_md:cirrus5_md1513,31915 -cirrus6_test:cirrus6_test1522,32139 -c2fail:c2fail1552,32541 -c6done:c6done1553,32563 -cirrus6_md:cirrus6_md1558,32623 -everex_test:everex_test1564,32701 -evtrid:evtrid1578,32866 -evrxok:evrxok1579,32895 -noevrx:noevrx1581,32908 -everex_md:everex_md1584,32936 -genoa_test:genoa_test1600,33240 -l1:l11608,33384 -l2:l21615,33469 -isgen:isgen1620,33524 -idgenoa:idgenoa1622,33536 -genoa_md:genoa_md1624,33575 -oak_test:oak_test1641,33890 -isoak:isoak1650,33994 -idoakvga:idoakvga1652,34006 -oak_md:oak_md1654,34036 -paradise_test:paradise_test1663,34187 -ispara:ispara1672,34299 -idparadise:idparadise1674,34312 -paradise_md:paradise_md1676,34339 -trident_test:trident_test1686,34497 -setb2:setb21704,34883 -clrb2:clrb21705,34906 -istrid:istrid1711,34988 -trident_md:trident_md1713,35001 -tseng_test:tseng_test1726,35227 -isnot:isnot1739,35443 -istsen:istsen1740,35464 -tseng_md:tseng_md1742,35477 -video7_test:video7_test1754,35676 -even7:even71762,35785 -video7_md:video7_md1790,36206 -realtek_test:realtek_test1802,36412 -isrt:isrt1811,36518 -idrtvga:idrtvga1813,36529 -realtek_md:realtek_md1815,36560 -local_modes:local_modes1829,36830 -locm1:locm11831,36871 -locm2:locm21839,36936 -local_mode_table:local_mode_table1847,37339 -getkey:getkey1856,37533 -getkt:getkt1862,37661 -lminute:lminute1868,37759 -again:again1870,37783 -flush:flush1882,37978 -empty:empty1890,38062 -prthw:prthw1893,38102 -prthb:prthb1897,38156 -prthn:prthn1902,38226 -prth1:prth11906,38277 -prtdec:prtdec1910,38342 -lt100:lt1001921,38469 -skip10:skip101923,38505 -store_edid:store_edid1930,38584 -mt_end:mt_end1964,39131 -edit_buf:edit_buf1965,39183 -card_name:card_name1966,39223 -scanning:scanning1967,39268 -do_restore:do_restore1968,39309 -svga_prefix:svga_prefix1969,39374 -graphic_mode:graphic_mode1970,39445 -dac_size:dac_size1971,39509 -keymsg:keymsg1974,39562 -listhdr:listhdr1978,39696 -crlft:crlft1981,39754 -prompt:prompt1983,39783 -unknt:unknt1986,39851 -badmdt:badmdt1988,39897 -vesaer:vesaer1991,39975 -old_name:old_name1995,40096 -ega_name:ega_name1997,40128 -svga_name:svga_name1999,40152 -vga_name:vga_name2001,40175 -vesa_name:vesa_name2003,40199 -name_bann:name_bann2005,40225 -adapter:adapter2009,40314 -video_segment:video_segment2010,40374 -force_size:force_size2011,40425 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/edd.S,562 -cl_loop:cl_loop31,1080 -found_edd_equals:found_edd_equals37,1176 -do_edd_skipmbr:do_edd_skipmbr45,1381 -do_edd_off:do_edd_off48,1427 -done_cl:done_cl51,1464 -edd_mbr_sig_start:edd_mbr_sig_start56,1570 -edd_mbr_sig_read:edd_mbr_sig_read59,1679 -edd_mbr_sig_done:edd_mbr_sig_done86,2571 -edd_start:edd_start113,4045 -edd_check_ext:edd_check_ext120,4256 -edd_get_device_params:edd_get_device_params134,4678 -edd_get_legacy_chs:edd_get_legacy_chs141,4933 -edd_legacy_done:edd_legacy_done163,5823 -edd_next:edd_next170,5949 -edd_done:edd_done175,6078 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/tools/build.c,364 -typedef unsigned char byte;byte38,1029 -typedef unsigned short word;word39,1057 -typedef unsigned long u32;u3240,1086 -#define DEFAULT_MAJOR_ROOT 42,1114 -#define DEFAULT_MINOR_ROOT 43,1143 -#define SETUP_SECTS 46,1233 -byte buf[48,1256 -int fd;49,1272 -int is_big_kernel;50,1280 -void die(52,1300 -void file_open(61,1436 -void usage(67,1555 -int main(72,1646 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/compressed/head.S,122 -startup_32:startup_3231,833 -move_routine_start:move_routine_start110,2550 -move_routine_end:move_routine_end128,2854 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/boot/compressed/misc.c,2516 -#define OF(OF22,452 -#define STATIC 23,475 -#define memzero(memzero35,718 -typedef unsigned char uch;uch37,766 -typedef unsigned short ush;ush38,794 -typedef unsigned long ulg;ulg39,822 -#define WSIZE 41,851 -static uch *inbuf;44,943 -static uch window[45,986 -static unsigned insize 47,1044 -static unsigned inptr 48,1100 -static unsigned outcnt 49,1179 -#define ASCII_FLAG 52,1259 -#define CONTINUATION 53,1327 -#define EXTRA_FIELD 54,1407 -#define ORIG_NAME 55,1470 -#define COMMENT 56,1540 -#define ENCRYPTED 57,1604 -#define RESERVED 58,1665 -#define get_byte(get_byte60,1718 -# define Assert(Assert64,1830 -# define Trace(Trace65,1883 -# define Tracev(Tracev66,1912 -# define Tracevv(Tracevv67,1959 -# define Tracec(Tracec68,2009 -# define Tracecv(Tracecv69,2065 -# define Assert(Assert71,2130 -# define Trace(Trace72,2157 -# define Tracev(Tracev73,2176 -# define Tracevv(Tracevv74,2196 -# define Tracec(Tracec75,2217 -# define Tracecv(Tracecv76,2239 -static unsigned char *real_mode;88,2489 -#define RM_EXT_MEM_K 90,2555 -#define RM_ALT_MEM_K 92,2651 -#define RM_SCREEN_INFO 94,2721 -static long bytes_out 99,2833 -static uch *output_data;100,2860 -static unsigned long output_ptr 101,2885 -static long free_mem_ptr 109,3037 -static long free_mem_end_ptr;110,3076 -#define INPLACE_MOVE_ROUTINE 112,3107 -#define LOW_BUFFER_START 113,3144 -#define LOW_BUFFER_MAX 114,3181 -#define HEAP_SIZE 115,3218 -static unsigned int low_buffer_end,116,3255 -static unsigned int low_buffer_end, low_buffer_size;116,3255 -static int high_loaded 117,3308 -static uch *high_buffer_start 118,3335 -static char *vidmem 120,3407 -static int vidport;121,3446 -static int lines,122,3466 -static int lines, cols;122,3466 -static void * xquad_portio 125,3515 -static void *malloc(130,3596 -static void free(148,3909 -static void gzip_mark(152,3961 -static void gzip_release(157,4031 -static void scroll(162,4103 -static void putstr(171,4294 -static void* memset(208,4924 -static void* memcpy(217,5047 -static int fill_inbuf(231,5429 -static void flush_window_low(247,5794 -static void flush_window_high(265,6193 -static void flush_window(281,6587 -static void error(287,6688 -#define STACK_SIZE 296,6806 -long user_stack 298,6833 - } stack_start 303,6894 -static void setup_normal_output_buffer(305,6955 -struct moveparams moveparams316,7307 -static void setup_output_buffer_if_we_run_high(321,7405 -static void close_output_buffer_if_we_run_high(345,8315 -asmlinkage int decompress_kernel(358,8579 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-default/setup.c,297 -void __init pre_intr_init_hook(22,551 -static struct irqaction irq2 30,678 -void __init intr_init_hook(41,1094 -void __init pre_setup_arch_hook(59,1516 -void __init trap_init_hook(70,1754 -static struct irqaction irq0 74,1792 -void __init time_init_hook(83,2100 -void __init mca_nmi_hook(97,2408 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-default/topology.c,158 -struct i386_cpu cpu_devices[32,1131 -struct i386_node node_devices[38,1238 -static int __init topology_init(40,1284 -static int __init topology_init(55,1538 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/ptrace.c,719 -#define FLAG_MASK 35,754 -#define TRAP_FLAG 38,811 -#define EFL_OFFSET 43,880 -static inline int get_stack_long(51,1166 -static inline int put_stack_long(66,1580 -static int putreg(77,1811 -static unsigned long getreg(114,2549 -void ptrace_disable(146,3129 -ptrace_get_thread_area(159,3413 -#define GET_BASE(GET_BASE169,3625 -#define GET_LIMIT(GET_LIMIT174,3767 -#define GET_32BIT(GET_32BIT178,3849 -#define GET_CONTENTS(GET_CONTENTS179,3898 -#define GET_WRITABLE(GET_WRITABLE180,3949 -#define GET_LIMIT_PAGES(GET_LIMIT_PAGES181,4000 -#define GET_PRESENT(GET_PRESENT182,4054 -#define GET_USEABLE(GET_USEABLE183,4104 -ptrace_set_thread_area(210,4784 -asmlinkage int sys_ptrace(234,5296 -__attribute__(530,12660 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/module.c,271 -#define DEBUGP 26,958 -#define DEBUGP(DEBUGP28,986 -void *module_alloc(31,1017 -void module_free(40,1166 -int module_frob_arch_sections(48,1383 -int apply_relocate(56,1528 -int apply_relocate_add(96,2683 -int module_finalize(109,3006 -void module_arch_cleanup(127,3476 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/apm.c,4413 -#define APM_MINOR_DEV 246,11203 -#define ALWAYS_CALL_BUSY 293,13238 -#define APM_ZERO_SEGS300,13461 -#define APM_RELAX_SEGMENTS313,13998 -#define APM_CHECK_TIMEOUT 331,14410 -#define DEFAULT_BOUNCE_INTERVAL 336,14513 -#define APM_MAX_EVENTS 341,14598 -struct apm_user apm_user346,14658 -#define APM_BIOS_MAGIC 366,15015 -#define DEFAULT_IDLE_THRESHOLD 372,15137 -#define DEFAULT_IDLE_THRESHOLD 374,15177 -#define DEFAULT_IDLE_PERIOD 376,15219 -} apm_bios_entry;384,15348 -static int clock_slowed;385,15369 -static int idle_threshold 386,15396 -static int idle_period 387,15450 -static int set_pm_idle;388,15498 -static int suspends_pending;389,15524 -static int standbys_pending;390,15555 -static int ignore_sys_suspend;391,15586 -static int ignore_normal_resume;392,15619 -static int bounce_interval 393,15654 -# define clock_cmos_diff 396,15740 -# define got_clock_diff 397,15767 -static long clock_cmos_diff;399,15799 -static int got_clock_diff;400,15830 -static int debug;402,15866 -static int smp;403,15886 -static int apm_disabled 404,15904 -static int power_off;406,15954 -static int power_off 408,15984 -static int realmode_power_off 411,16057 -static int realmode_power_off;413,16100 -static int exit_kapmd;415,16140 -static int kapmd_running;416,16165 -static int allow_ints 418,16222 -static int allow_ints;420,16257 -static int broken_psr;422,16289 -static struct apm_user * user_list;426,16417 -static spinlock_t user_list_lock 427,16453 -static struct desc_struct bad_bios_desc 428,16509 -static char driver_version[430,16571 -static char * apm_event_name[436,16769 -#define NR_APM_EVENT_NAME 450,17043 -typedef struct lookup_t lookup_t453,17127 -} lookup_t;lookup_t456,17176 -static const lookup_t error_table[463,17285 -#define ERROR_COUNT 482,18231 -static void apm_error(493,18481 -static cpumask_t apm_save_cpus(512,18851 -static inline void apm_restore_cpus(521,19080 -#define apm_save_cpus(apm_save_cpus532,19231 -#define apm_restore_cpus(apm_restore_cpus533,19280 -#define APM_DO_CLI 553,20208 -# define APM_DECL_SEGS 560,20334 -# define APM_DO_SAVE_SEGS 562,20407 -# define APM_DO_RESTORE_SEGS 564,20490 -# define APM_DECL_SEGS567,20582 -# define APM_DO_SAVE_SEGS568,20605 -# define APM_DO_RESTORE_SEGS569,20631 -static u8 apm_bios_call(592,21401 -static u8 apm_bios_call_simple(634,22616 -static int apm_driver_version(678,23744 -static int apm_get_event(705,24620 -static int set_power_state(737,25498 -static int set_system_power_state(753,25846 -static int apm_do_idle(767,26254 -static void apm_do_busy(795,26846 -#define IDLE_CALC_LIMIT 811,27180 -#define IDLE_LEAKY_MAX 812,27217 -static void apm_cpu_idle(826,27594 -static void apm_power_off(902,29383 -static int apm_enable_power_management(940,30334 -static int apm_get_power_status(971,31225 -static int apm_get_battery_status(995,31726 -static int apm_engage_power_management(1032,32536 -static int apm_console_blank(1062,33388 -static int queue_empty(1097,34320 -static apm_event_t get_queued_event(1102,34411 -static void queue_event(1108,34566 -static void set_time(1148,35512 -static void get_time_diff(1156,35693 -static void reinit_timer(1168,35930 -static int suspend(1186,36356 -static void standby(1254,37968 -static apm_event_t get_event(1271,38351 -static void check_events(1290,38685 -static void apm_event_handler(1386,40966 -static void apm_mainloop(1410,41456 -static int check_apm_user(1430,41924 -static ssize_t do_read(1439,42128 -static unsigned int do_poll(1482,43072 -static int do_ioctl(1495,43336 -static int do_release(1538,44255 -static int do_open(1576,45071 -static int apm_get_info(1608,46089 -static int apm(1692,48412 -static int __init apm_setup(1822,51818 -static struct file_operations apm_bios_fops 1873,53394 -static struct miscdevice apm_device 1882,53572 -static int __init print_if_true(1890,53700 -static int __init broken_ps2_resume(1900,53958 -static int __init set_realmode_power_off(1907,54224 -static int __init set_apm_ints(1917,54537 -static int __init apm_is_horked(1927,54829 -static int __init apm_is_horked_d850md(1936,55032 -static int __init apm_likes_to_melt(1948,55424 -static int __init broken_apm_power(1972,56084 -static int __init swab_apm_power_in_minutes(1983,56395 -static struct dmi_system_id __initdata apm_dmi_table[1990,56632 -static int __init apm_init(2211,65055 -static void __exit apm_exit(2361,69850 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/acpi/boot.c,1706 -static inline void acpi_madt_oem_check(42,1408 -static inline void clustered_apic_check(43,1486 -static inline int ioapic_setup_disabled(44,1536 -#define BAD_MADT_ENTRY(BAD_MADT_ENTRY56,1769 -#define PREFIX 60,1945 -int acpi_noirq __initdata;63,1995 -int acpi_pci_disabled __initdata;64,2057 -int acpi_noirq __initdata 66,2145 -int acpi_pci_disabled __initdata 67,2176 -int acpi_ht __initdata 69,2221 -int acpi_lapic;71,2266 -int acpi_ioapic;72,2282 -int acpi_strict;73,2299 -acpi_interrupt_flags acpi_sci_flags __initdata;76,2345 -int acpi_sci_override_gsi __initdata;77,2393 -int acpi_skip_timer_override __initdata;78,2431 -static u64 acpi_lapic_addr __initdata 81,2502 -#define MAX_MADT_ENTRIES 88,2662 -u8 x86_acpiid_to_apicid[89,2691 -enum acpi_irq_model_id acpi_irq_model 101,3149 -char *__acpi_map_table(106,3291 -char *__acpi_map_table(131,4053 -static int __init acpi_parse_mcfg(161,4698 -#define acpi_parse_mcfg 184,5194 -acpi_parse_madt 189,5305 -acpi_parse_lapic 218,5886 -acpi_parse_lapic_addr_ovr 244,6458 -acpi_parse_lapic_nmi 260,6807 -acpi_parse_ioapic 284,7316 -acpi_sci_ioapic_setup(308,7750 -acpi_parse_int_src_ovr 339,8508 -acpi_parse_nmi_src 374,9254 -acpi_pic_sci_set_trigger(410,10093 -int acpi_gsi_to_irq(439,10596 -unsigned int acpi_register_gsi(450,10796 -acpi_scan_rsdp 483,11596 -static int __init acpi_parse_sbf(503,12012 -static int __init acpi_parse_hpet(524,12408 -#define acpi_parse_hpet 562,13339 -static int __init acpi_parse_fadt(569,13436 -acpi_find_rsdp 604,14311 -acpi_parse_madt_lapic_entries(631,14882 -acpi_parse_madt_ioapic_entries(677,16152 -static inline int acpi_parse_madt_ioapic_entries(737,17754 -acpi_process_madt(745,17908 -acpi_boot_init 806,19090 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/acpi/wakeup.S,892 -wakeup_code:wakeup_code19,443 -real_save_gdt:real_save_gdt84,1703 -real_save_cr0:real_save_cr086,1736 -real_save_cr3:real_save_cr387,1759 -real_save_cr4:real_save_cr488,1782 -real_magic:real_magic89,1805 -video_mode:video_mode90,1825 -video_flags:video_flags91,1845 -bogus_real_magic:bogus_real_magic93,1867 -mode_set:mode_set117,2593 -setbad:setbad146,2986 -check_vesa:check_vesa149,3004 -_setbad:_setbad160,3237 -.org .org165,3275 -wakeup_stack_begin:wakeup_stack_begin166,3286 -.org .org168,3326 -wakeup_stack:wakeup_stack169,3363 -.org .org172,3397 -wakeup_pmode_return:wakeup_pmode_return174,3410 -bogus_magic:bogus_magic204,3965 -save_registers:save_registers247,4885 -restore_registers:restore_registers260,5142 -ret_point:ret_point276,5472 -saved_gdt:saved_gdt289,5691 -saved_idt:saved_idt290,5712 -saved_ldt:saved_ldt291,5733 -saved_tss:saved_tss292,5752 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/acpi/sleep.c,307 -unsigned long acpi_wakeup_address 14,282 -unsigned long acpi_video_flags;15,321 -static void init_low_mapping(22,502 -int acpi_save_state_mem 38,868 -int acpi_save_state_disk 53,1203 -void acpi_restore_state_mem 61,1280 -void __init acpi_reserve_bootmem(74,1618 -static int __init acpi_sleep_setup(86,1956 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/init_task.c,279 -static struct fs_struct init_fs 13,248 -static struct files_struct init_files 14,291 -static struct signal_struct init_signals 15,343 -static struct sighand_struct init_sighand 16,414 -struct mm_struct init_mm 17,486 -struct task_struct init_task 37,991 -DEFINE_PER_CPU(45,1172 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/setup.c,3581 -unsigned long init_pg_tables_end __initdata 57,1547 -int disable_pse __initdata 59,1600 -int efi_enabled 66,1678 -struct cpuinfo_x86 new_cpu_data __initdata 71,1793 -struct cpuinfo_x86 boot_cpu_data 73,1906 -unsigned long mmu_cr4_features;75,1975 - int acpi_disabled 79,2076 - int acpi_disabled 81,2106 -int __initdata acpi_force 86,2192 -int MCA_bus;90,2275 -unsigned int machine_id;92,2343 -unsigned int machine_submodel_id;93,2368 -unsigned int BIOS_revision;94,2402 -unsigned int mca_pentium_flag;95,2430 -unsigned long pci_mem_start 98,2509 -static unsigned int highmem_pages 101,2584 -struct drive_info_struct drive_info_struct106,2649 -struct drive_info_struct { char dummy[32]; } drive_info;106,2649 -struct screen_info screen_info;107,2706 -struct apm_info apm_info;108,2738 -struct sys_desc_table_struct sys_desc_table_struct109,2764 -struct edid_info edid_info;113,2847 -struct ist_info ist_info;114,2875 -struct e820map e820;115,2901 -unsigned char aux_device_present;117,2923 -unsigned long saved_videomode;124,3097 -#define RAMDISK_IMAGE_START_MASK 126,3129 -#define RAMDISK_PROMPT_FLAG 127,3171 -#define RAMDISK_LOAD_FLAG 128,3207 -static char command_line[130,3243 -unsigned char __initdata boot_params[132,3289 -static struct resource data_resource 134,3340 -static struct resource code_resource 141,3476 -static struct resource system_rom_resource 148,3612 -static struct resource extension_rom_resource 155,3787 -static struct resource adapter_rom_resources[162,3968 -#define ADAPTER_ROM_RESOURCES 194,4742 -static struct resource video_rom_resource 197,4841 -static struct resource video_ram_resource 204,5015 -static struct resource standard_io_resources[211,5171 -#define STANDARD_IO_RESOURCES 258,6134 -#define romsignature(romsignature261,6233 -static int __init romchecksum(263,6293 -static void __init probe_roms(272,6468 -static void __init limit_regions(337,8282 -static void __init add_memory_region(368,9031 -#define E820_DEBUG 388,9463 -static void __init print_memory_map(390,9485 -struct change_member change_member423,10189 -struct change_member change_point_list[427,10340 -struct change_member change_point_list[2*E820MAX] __initdata;427,10340 -struct change_member *change_point[428,10402 -struct change_member *change_point[2*E820MAX] __initdata;428,10402 -struct e820entry *overlap_list[429,10460 -struct e820entry *overlap_list[E820MAX] __initdata;429,10460 -struct e820entry new_bios[430,10512 -struct e820entry new_bios[E820MAX] __initdata;430,10512 -static int __init sanitize_e820_map(432,10560 -static int __init copy_e820_map(601,16154 -struct edd edd;637,17062 -static inline void copy_edd(646,17239 -static inline void copy_edd(654,17494 -#define LOWMEMSIZE(LOWMEMSIZE663,17639 -static void __init parse_cmdline_early 665,17671 -efi_find_max_pfn(845,22574 -void __init find_max_pfn(861,22847 -unsigned long __init find_max_low_pfn(888,23328 -free_available_memory(952,25341 -static void __init register_bootmem_low_pages(967,25735 -static void __init reserve_ebda_region(1011,26707 -static unsigned long __init setup_memory(1019,26850 -legacy_init_iomem_resources(1124,29803 -static void __init register_memory(1159,30853 -static unsigned char *intel_nops[1196,32164 -static unsigned char *k8_nops[1207,32472 -static unsigned char *k7_nops[1218,32753 -static struct nop nop1229,33034 -} noptypes[1232,33104 -void apply_alternatives(1244,33536 -static int no_replacement __initdata 1271,34250 -void __init alternative_instructions(1273,34295 -static int __init noreplacement_setup(1281,34513 -void __init setup_arch(1298,35101 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/efi_stub.S,96 -saved_return_addr:saved_return_addr121,2748 -efi_rt_function_ptr:efi_rt_function_ptr123,2776 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/numaq.c,119 -#define MB_TO_PAGES(MB_TO_PAGES36,1158 -static void __init smp_dump_qct(45,1404 -int __init get_memcfg_numaq(72,2093 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/sysenter.c,207 -void enable_sep_cpu(25,503 -struct page *sysenter_page;45,1110 -static int __init sysenter_setup(47,1139 -unsigned int vdso_enabled 74,1716 -void map_vsyscall(76,1748 -static int __init vdso_setup(107,2500 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/summit.c,442 -static struct rio_table_hdr *rio_table_hdr __initdata;34,1068 -static struct scal_detail *scal_devs[35,1123 -static struct scal_detail *scal_devs[MAX_NUMNODES] __initdata;35,1123 -static struct rio_detail *rio_devs[36,1188 -static struct rio_detail *rio_devs[MAX_NUMNODES*4] __initdata;36,1188 -static int __init setup_pci_node_map_for_wpeg(38,1255 -static int __init build_detail_arrays(97,2906 -void __init setup_summit(131,3826 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/entry.S,1641 -EBX EBX54,1341 -ECX ECX55,1353 -EDX EDX56,1365 -ESI ESI57,1377 -EDI EDI58,1389 -EBP EBP59,1401 -EAX EAX60,1413 -DS DS61,1425 -ES ES62,1436 -ORIG_EAX ORIG_EAX63,1447 -EIP EIP64,1463 -CS CS65,1475 -EFLAGS EFLAGS66,1486 -OLDESP OLDESP67,1501 -OLDSS OLDSS68,1516 -CF_MASK CF_MASK70,1531 -TF_MASK TF_MASK71,1553 -IF_MASK IF_MASK72,1575 -DF_MASK DF_MASK73,1597 -NT_MASK NT_MASK74,1620 -VM_MASK VM_MASK75,1642 -.section .section112,2205 -.section .section118,2309 -.section .section129,2460 -.section .section137,2608 -do_lcall:do_lcall152,2855 -ret_from_exception:ret_from_exception193,3953 -ret_from_intr:ret_from_intr195,3987 -need_resched:need_resched215,4598 -sysenter_past_esp:sysenter_past_esp235,5151 -.section .section254,5628 -syscall_call:syscall_call291,6447 -syscall_exit:syscall_exit294,6539 -restore_all:restore_all301,6776 -work_pending:work_pending306,6878 -work_resched:work_resched309,6942 -work_notifysig:work_notifysig321,7284 -work_notifysig_v86:work_notifysig_v86332,7551 -syscall_trace_entry:syscall_trace_entry343,7729 -syscall_exit_work:syscall_exit_work355,7962 -syscall_fault:syscall_fault366,8222 -syscall_badsys:syscall_badsys374,8355 -.rept .rept388,8563 -common_interrupt:common_interrupt399,8679 -error_code:error_code418,9042 -device_not_available_emulate:device_not_available_emulate464,9963 -label:label486,10714 -debug_stack_correct:debug_stack_correct496,10963 -nmi_stack_correct:nmi_stack_correct530,11836 -nmi_stack_fixup:nmi_stack_fixup540,11958 -nmi_debug_stack_check:nmi_debug_stack_check543,12034 -nmi_debug_stack_fixup:nmi_debug_stack_fixup550,12215 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/sys_i386.c,373 -asmlinkage int sys_pipe(30,674 -static inline long do_mmap2(44,921 -asmlinkage long sys_mmap2(69,1433 -struct mmap_arg_struct mmap_arg_struct83,1868 -asmlinkage int old_mmap(92,2023 -struct sel_arg_struct sel_arg_struct110,2345 -asmlinkage int old_select(116,2454 -asmlinkage int sys_ipc 131,2819 -asmlinkage int sys_uname(214,4909 -asmlinkage int sys_olduname(225,5136 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/apic.c,1880 -int apic_verbosity;45,964 -void __init apic_intr_init(50,1023 -int using_apic_timer 69,1567 -static int enabled_via_apicbase;75,1743 -void enable_NMI_through_LVT0 77,1777 -int get_physical_broadcast(89,2063 -int get_maxlvt(100,2277 -void clear_local_APIC(111,2509 -void __init connect_bsp_APIC(171,4147 -void disconnect_bsp_APIC(190,4549 -void disable_local_APIC(236,6044 -int __init verify_local_APIC(263,6625 -void __init sync_Arb_IDs(313,7842 -void __init init_bsp_APIC(330,8164 -void __init setup_local_APIC 374,9195 -} apic_pm_state;545,13951 -static int lapic_suspend(547,13969 -static int lapic_resume(574,14831 -static struct sysdev_class lapic_sysclass 618,16170 -static struct sys_device device_lapic 624,16298 -static void __init apic_pm_activate(629,16379 -static int __init init_lapic_sysfs(634,16453 -static void apic_pm_activate(651,16788 -int enable_local_apic __initdata 663,17021 -static int __init lapic_disable(665,17100 -static int __init lapic_enable(673,17279 -static int __init apic_set_verbosity(680,17393 -static int __init detect_init_APIC 695,17746 -void __init init_apic_mappings(776,19823 -static unsigned int __init get_8254_timer_count(846,21730 -static void __init wait_8254_wraparound(865,22116 -#define APIC_DIVISOR 903,23150 -void __setup_APIC_LVTT(905,23175 -static void setup_APIC_timer(926,23736 -int __init calibrate_APIC_clock(955,24424 -static unsigned int calibration_result;1021,25856 -void __init setup_boot_APIC_clock(1023,25897 -void __init setup_secondary_APIC_clock(1039,26208 -void __init disable_APIC_timer(1046,26375 -void enable_APIC_timer(1056,26546 -int setup_profiling_timer(1070,26825 -inline void smp_local_timer_interrupt(1106,27786 -void smp_apic_timer_interrupt(1156,29340 -asmlinkage void smp_spurious_interrupt(1183,29955 -asmlinkage void smp_error_interrupt(1207,30569 -int __init APIC_init_uniprocessor 1238,31296 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/semaphore.c,163 -asmlinkage void __up(52,1804 -asmlinkage void __sched __down(57,1875 -asmlinkage int __sched __down_interruptible(94,2792 -asmlinkage int __down_trylock(157,4358 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vsyscall-sysenter.S,549 -__kernel_vsyscall:__kernel_vsyscall13,314 -.LSTART_vsyscall:.LSTART_vsyscall14,333 -.Lpush_ecx:.Lpush_ecx16,362 -.Lpush_edx:.Lpush_edx18,385 -.Lenter_kernel:.Lenter_kernel20,408 -SYSENTER_RETURN_OFFSET:SYSENTER_RETURN_OFFSET31,743 -.Lpop_ebp:.Lpop_ebp33,777 -.Lpop_edx:.Lpop_edx35,798 -.Lpop_ecx:.Lpop_ecx37,819 -.LEND_vsyscall:.LEND_vsyscall39,835 -.LSTARTFRAMEDLSI:.LSTARTFRAMEDLSI44,941 -.LSTARTCIEDLSI:.LSTARTCIEDLSI46,994 -.LENDCIEDLSI:.LENDCIEDLSI61,1474 -.LSTARTFDEDLSI:.LSTARTFDEDLSI63,1540 -.LENDFDEDLSI:.LENDFDEDLSI98,2866 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vm86.c,1754 -#define KVM86 67,2175 -#define VMPI 68,2225 -#define AL(AL74,2300 -#define AH(AH75,2356 -#define IP(IP76,2412 -#define SP(SP77,2465 -#define VFLAGS 82,2568 -#define VEFLAGS 83,2632 -#define set_flags(set_flags85,2676 -#define SAFE_MASK 88,2752 -#define RETURN_MASK 89,2778 -#define VM86_REGS_PART2 91,2807 -#define VM86_REGS_SIZE1 92,2840 -#define VM86_REGS_SIZE2 94,2944 -struct pt_regs * fastcall save_v86_state(97,3096 -static void mark_screen_rdonly(137,4304 -asmlinkage int sys_vm86old(180,5165 -asmlinkage int sys_vm86(210,6024 -static void do_sys_vm86(260,7427 -static inline void return_to_32bit(326,9283 -static inline void set_IF(338,9592 -static inline void clear_IF(345,9737 -static inline void clear_TF(350,9825 -static inline void clear_AC(355,9917 -static inline void set_vflags_long(371,10418 -static inline void set_vflags_short(381,10674 -static inline unsigned long get_vflags(391,10927 -static inline int is_revectored(401,11174 -#define val_byte(val_byte409,11355 -#define pushb(pushb411,11401 -#define pushw(pushw419,11560 -#define pushl(pushl430,11819 -#define popb(popb447,12250 -#define popw(popw456,12398 -#define popl(popl468,12646 -static void do_int(491,13327 -int handle_vm86_trap(523,14190 -void handle_vm86_fault(546,14922 -#define CHECK_IF_IN_TRAP 554,15124 -#define VM86_FAULT_RETURN 557,15226 -#define VM86_IRQNAME 700,18754 -static struct vm86_irqs vm86_irqs702,18787 -} vm86_irqs[705,18849 -static spinlock_t irqbits_lock 707,18867 -static int irqbits;708,18920 -#define ALLOWED_SIGS 710,18941 -static irqreturn_t irq_handler(714,19091 -static inline void free_vm86_irq(732,19556 -void release_x86_irqs(744,19817 -static inline int get_and_reset_irq(752,19985 -static int do_vm86_irq_handling(770,20374 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/smpboot.c,2231 -static int __initdata smp_b_stepping;59,1930 -int smp_num_siblings 62,2010 -int phys_proc_id[63,2036 -cpumask_t cpu_online_map;66,2129 -static cpumask_t cpu_callin_map;68,2156 -cpumask_t cpu_callout_map;69,2189 -static cpumask_t smp_commenced_mask;70,2216 -struct cpuinfo_x86 cpu_data[73,2298 -struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned;73,2298 -u8 x86_cpu_to_apicid[75,2357 -int smp_threads_ready;80,2498 -static unsigned char *trampoline_base;88,2653 -static int trampoline_exec;89,2692 -static unsigned long __init setup_trampoline(97,2871 -void __init smp_alloc_memory(107,3139 -static void __init smp_store_cpu_info(127,3584 -static atomic_t tsc_start_flag 187,5067 -static atomic_t tsc_count_start 188,5116 -static atomic_t tsc_count_stop 189,5166 -static unsigned long long tsc_values[190,5215 -#define NR_LOOPS 192,5263 -static void __init synchronize_tsc_bp 194,5283 -static void __init synchronize_tsc_ap 291,7519 -static atomic_t init_deasserted;319,8135 -void __init smp_callin(321,8169 -int cpucount;412,10280 -int __init start_secondary(419,10365 -void __init initialize_secondary(453,11192 -} stack_start;470,11504 -cpumask_t node_2_cpu_mask[475,11584 -int cpu_2_node[478,11714 -static inline void map_cpu_to_node(482,11840 -static inline void unmap_cpu_to_node(490,12056 -#define map_cpu_to_node(map_cpu_to_node501,12304 -#define unmap_cpu_to_node(unmap_cpu_to_node502,12344 -u8 cpu_2_logical_apicid[506,12407 -void map_cpu_to_logical_apicid(508,12479 -void unmap_cpu_to_logical_apicid(517,12679 -static inline void __inquire_remote_apic(524,12807 -wakeup_secondary_cpu(568,13917 -wakeup_secondary_cpu(614,15014 -static int __init do_boot_cpu(749,17945 -cycles_t cacheflush_time;849,20541 -unsigned long cache_decay_ticks;850,20567 -static void smp_tune_scheduling 852,20601 -static int boot_cpu_logical_apicid;897,21837 -void *xquad_portio;899,21941 -cpumask_t cpu_sibling_map[901,21962 -cpumask_t cpu_sibling_map[NR_CPUS] __cacheline_aligned;901,21962 -static void __init smp_boot_cpus(903,22019 -void __init smp_prepare_cpus(1095,27124 -void __devinit smp_prepare_boot_cpu(1100,27207 -int __devinit __cpu_up(1106,27347 -void __init smp_cpus_done(1128,27797 -void __init smp_intr_init(1140,28052 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/head.S,520 -page_pde_offset page_pde_offset91,2625 -checkCPUtype:checkCPUtype241,6204 -is486:is486294,7623 -is386:is386297,7682 -L6:L6330,8448 -check_x87:check_x87337,8608 -setup_idt:setup_idt365,9259 -rp_sidt:rp_sidt373,9459 -ignore_int:ignore_int383,9605 -.section .section416,10007 -ready:ready431,10239 -int_msg:int_msg433,10255 -.globl .globl443,10561 -.globl .globl444,10583 -.globl .globl445,10600 -boot_gdt_descr:boot_gdt_descr450,10732 -idt_descr:idt_descr455,10850 -cpu_gdt_descr:cpu_gdt_descr461,11022 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/time.c,853 -int pit_latch_buggy;71,2159 -u64 jiffies_64 75,2230 -unsigned long cpu_khz;79,2293 -spinlock_t rtc_lock 83,2392 -spinlock_t i8253_lock 85,2435 -struct timer_opts *cur_timer 88,2507 -void do_gettimeofday(94,2690 -int do_settimeofday(138,3610 -static int set_rtc_mmss(173,4647 -static long last_rtc_update;189,4969 -int timer_ack;191,4999 -unsigned long long monotonic_clock(197,5200 -unsigned long profile_pc(204,5373 -static inline void do_timer_interrupt(220,5718 -irqreturn_t timer_interrupt(286,7906 -unsigned long get_cmos_time(306,8477 -static long clock_cmos_diff;322,8691 -static int time_suspend(324,8721 -static int time_resume(334,8938 -static struct sysdev_class pit_sysclass 345,9213 -static struct sys_device device_i8253 353,9406 -static int time_init_device(358,9485 -void __init hpet_time_init(371,9809 -void __init time_init(389,10233 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/i386_ksyms.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/smp.c,1146 -DEFINE_PER_CPU(106,3656 -static inline int __prepare_ICR 114,3877 -static inline int __prepare_ICR2 119,4013 -void __send_IPI_shortcut(124,4106 -void fastcall send_IPI_self(151,4727 -void send_IPI_mask_bitmask(159,4867 -inline void send_IPI_mask_sequence(191,5401 -static cpumask_t flush_cpumask;244,6630 -static struct mm_struct * flush_mm;245,6662 -static unsigned long flush_va;246,6698 -static spinlock_t tlbstate_lock 247,6729 -#define FLUSH_ALL 248,6783 -static inline void leave_mm 257,7008 -asmlinkage void smp_invalidate_interrupt 311,8923 -static void flush_tlb_others(345,9670 -void flush_tlb_current_task(399,10994 -void flush_tlb_mm 414,11296 -void flush_tlb_page(434,11667 -static void do_flush_tlb_all(456,12096 -void flush_tlb_all(465,12277 -void smp_send_reschedule(475,12532 -static spinlock_t call_lock 484,12764 -struct call_data_struct call_data_struct486,12815 -static struct call_data_struct * call_data;494,12936 -int smp_call_function 501,13078 -static void stop_this_cpu 551,14420 -void smp_send_stop(568,14758 -asmlinkage void smp_reschedule_interrupt(582,15025 -asmlinkage void smp_call_function_interrupt(587,15094 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/bootflag.c,350 -#define SBF_RESERVED 19,316 -#define SBF_PNPOS 20,344 -#define SBF_BOOTING 21,372 -#define SBF_DIAG 22,400 -#define SBF_PARITY 23,428 -int sbf_port __initdata 26,458 -static int __init parity(29,521 -static void __init sbf_write(42,635 -static u8 __init sbf_read(59,965 -static int __init sbf_value_valid(71,1181 -static int __init sbf_init(80,1318 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/srat.c,914 -#define NODE_ARRAY_INDEX(NODE_ARRAY_INDEX36,1161 -#define NODE_ARRAY_OFFSET(NODE_ARRAY_OFFSET37,1217 -#define BMAP_SET(BMAP_SET38,1274 -#define BMAP_TEST(BMAP_TEST39,1365 -#define MAX_PXM_DOMAINS 40,1458 -#define PXM_BITMAP_LEN 42,1570 -static u8 pxm_bitmap[43,1616 -#define MAX_CHUNKS_PER_NODE 45,1689 -#define MAXCHUNKS 46,1719 -struct node_memory_chunk_s node_memory_chunk_s47,1775 -static struct node_memory_chunk_s node_memory_chunk[54,1983 -static int num_memory_chunks;56,2048 -static int zholes_size_init;57,2115 -static unsigned long zholes_size[58,2144 -static void __init parse_cpu_affinity_structure(65,2360 -static void __init parse_memory_affinity_structure 84,2918 -static __init void chunk_to_zones(146,4713 -static int __init acpi20_parse_srat(185,5716 -int __init get_memcfg_from_srat(289,8735 -static void __init get_zholes_init(392,11714 -unsigned long * __init get_zholes_size(421,12294 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/io_apic.c,5979 -static spinlock_t ioapic_lock 45,1169 -int sis_apic_bug 51,1302 -int nr_ioapic_registers[56,1363 -#define MAX_PLUS_SHARED_IRQS 62,1492 -#define PIN_MAP_SIZE 63,1529 -static struct irq_pin_list irq_pin_list72,1732 -} irq_2_pin[74,1783 -int vector_irq[76,1811 -#define vector_to_irq(vector_to_irq78,1894 -#define vector_to_irq(vector_to_irq81,1994 -static void add_pin_to_irq(89,2245 -static void __init replace_pin_at_irq(110,2714 -static void __modify_IO_APIC_irq 127,3084 -static void __mask_IO_APIC_irq 147,3535 -static void __unmask_IO_APIC_irq 153,3648 -static void __mask_and_edge_IO_APIC_irq 159,3776 -static void __unmask_and_level_IO_APIC_irq 165,3920 -static void mask_IO_APIC_irq 170,4039 -static void unmask_IO_APIC_irq 179,4228 -void clear_IO_APIC_pin(188,4421 -static void clear_IO_APIC 212,5192 -static void set_ioapic_affinity_irq(221,5379 -# define TDprintk(TDprintk251,6210 -# define Dprintk(Dprintk252,6317 -# define TDprintk(TDprintk254,6378 -# define Dprintk(Dprintk255,6404 -cpumask_t __cacheline_aligned pending_irq_balance_cpumask[260,6479 -#define IRQBALANCE_CHECK_ARCH 262,6548 -static int irqbalance_disabled 263,6583 -static int physical_balance 264,6639 -struct irq_cpu_info irq_cpu_info266,6673 -} irq_cpu_data[270,6770 -#define CPU_IRQ(CPU_IRQ272,6796 -#define LAST_CPU_IRQ(LAST_CPU_IRQ273,6842 -#define IRQ_DELTA(IRQ_DELTA274,6908 -#define IDLE_ENOUGH(IDLE_ENOUGH276,6972 -#define IRQ_ALLOWED(IRQ_ALLOWED279,7070 -#define CPU_TO_PACKAGEINDEX(CPU_TO_PACKAGEINDEX281,7139 -#define MAX_BALANCED_IRQ_INTERVAL 283,7203 -#define MIN_BALANCED_IRQ_INTERVAL 284,7244 -#define BALANCED_IRQ_MORE_DELTA 285,7285 -#define BALANCED_IRQ_LESS_DELTA 286,7326 -long balanced_irq_interval 288,7365 -static unsigned long move(290,7422 -static inline void balance_irq(317,7910 -static inline void rotate_irqs_among_cpus(338,8423 -static void do_irq_balance(358,8965 -static int balanced_irq(559,14668 -static int __init balanced_irq_init(585,15285 -int __init irqbalance_disable(639,16885 -static inline void move_irq(647,17014 -static inline void move_irq(659,17340 -void fastcall send_IPI_self(663,17432 -#define MAX_PIRQS 685,17848 -int pirq_entries 686,17868 -int pirqs_enabled;687,17898 -int skip_ioapic_setup;688,17917 -static int __init ioapic_setup(690,17941 -static int __init ioapic_pirq_setup(698,18057 -static int find_irq_entry(731,18743 -static int find_isa_irq_pin(748,19125 -int IO_APIC_get_PCI_irq_vector(774,19735 -void __init setup_ioapic_dest(819,21053 -static int EISA_ELCR(841,21517 -#define default_EISA_trigger(default_EISA_trigger857,21998 -#define default_EISA_polarity(default_EISA_polarity858,22072 -#define default_ISA_trigger(default_ISA_trigger863,22221 -#define default_ISA_polarity(default_ISA_polarity864,22258 -#define default_PCI_trigger(default_PCI_trigger869,22406 -#define default_PCI_polarity(default_PCI_polarity870,22443 -#define default_MCA_trigger(default_MCA_trigger875,22592 -#define default_MCA_polarity(default_MCA_polarity876,22629 -#define default_NEC98_trigger(default_NEC98_trigger881,22779 -#define default_NEC98_polarity(default_NEC98_polarity882,22822 -static int __init MPBIOS_polarity(884,22866 -static int MPBIOS_trigger(958,24172 -static inline int irq_polarity(1032,25434 -static inline int irq_trigger(1037,25509 -static int pin_2_irq(1042,25582 -static inline int IO_APIC_irq_trigger(1103,26796 -u8 irq_vector[1121,27235 -int assign_irq_vector(1123,27297 -static struct hw_interrupt_type ioapic_level_type;1149,27865 -static struct hw_interrupt_type ioapic_edge_type;1150,27916 -#define IOAPIC_AUTO 1152,27967 -#define IOAPIC_EDGE 1153,27990 -#define IOAPIC_LEVEL 1154,28012 -static inline void ioapic_register_intr(1156,28036 -void __init setup_IO_APIC_irqs(1175,28665 -void __init setup_ExtINT_IRQ0_pin(1254,30589 -static inline void UNEXPECTED_IO_APIC(1295,31616 -void __init print_IO_APIC(1299,31665 -static void print_APIC_bitfield 1448,36707 -void /*__init*/ print_local_APIC(1469,37071 -void print_all_local_APICs 1552,39599 -void /*__init*/ print_PIC(1557,39682 -static void __init enable_IO_APIC(1590,40374 -void disable_IO_APIC(1623,41056 -static void __init setup_ioapic_ids_from_mpc(1672,42276 -static void __init setup_ioapic_ids_from_mpc(1775,45383 -static int __init timer_irq_works(1786,45738 -static unsigned int startup_edge_ioapic_irq(1829,47007 -static void ack_edge_ioapic_irq(1851,47497 -static unsigned int startup_level_ioapic_irq 1874,48294 -static void end_level_ioapic_irq 1881,48431 -static unsigned int startup_edge_ioapic_vector(1924,49940 -static void ack_edge_ioapic_vector(1931,50086 -static unsigned int startup_level_ioapic_vector 1938,50209 -static void end_level_ioapic_vector 1945,50359 -static void mask_IO_APIC_vector 1952,50485 -static void unmask_IO_APIC_vector 1959,50603 -static void set_ioapic_affinity_vector 1966,50725 -static struct hw_interrupt_type ioapic_edge_type 1983,51273 -static struct hw_interrupt_type ioapic_level_type 1994,51589 -static inline void init_IO_APIC_traps(2005,51922 -static void enable_lapic_irq 2042,52899 -static void disable_lapic_irq 2050,53051 -static void ack_lapic_irq 2058,53203 -static void end_lapic_irq 2063,53270 -static struct hw_interrupt_type lapic_irq_type 2065,53332 -static void setup_nmi 2075,53647 -static inline void unlock_ExtINT_logic(2100,54512 -static inline void check_timer(2161,56426 -#define PIC_IRQS 2278,59347 -void __init setup_IO_APIC(2280,59387 -static int __init io_apic_bug_finalize(2309,59926 -struct sysfs_ioapic_data sysfs_ioapic_data2318,60069 -static struct sysfs_ioapic_data * mp_ioapic_data[2322,60161 -static int ioapic_suspend(2324,60226 -static int ioapic_resume(2343,60767 -static struct sysdev_class ioapic_sysdev_class 2369,61507 -static int __init ioapic_init_sysfs(2375,61642 -int __init io_apic_get_unique_id 2416,62714 -int __init io_apic_get_version 2489,64682 -int __init io_apic_get_redir_entries 2502,64941 -int io_apic_set_pci_routing 2515,65206 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/time_hpet.c,1160 -unsigned long hpet_period;26,536 -unsigned long hpet_tick;27,588 -unsigned long hpet_address;28,644 -static int use_hpet;30,712 -static int boot_hpet_disable;31,779 -static void __iomem * hpet_virt_address;32,849 -#define FSEC_TO_USEC 34,925 -int hpet_readl(36,962 -void hpet_writel(41,1037 -void __init wait_hpet_tick(52,1361 -int __init hpet_enable(67,1692 -int is_hpet_enabled(188,4442 -int is_hpet_capable(193,4491 -static int __init hpet_setup(200,4586 -#define DEFAULT_RTC_INT_FREQ 231,5682 -#define RTC_NUM_INTS 232,5715 -static unsigned long UIE_on;234,5741 -static unsigned long prev_update_sec;235,5770 -static unsigned long AIE_on;237,5809 -static struct rtc_time alarm_time;238,5838 -static unsigned long PIE_on;240,5874 -static unsigned long PIE_freq 241,5903 -static unsigned long PIE_count;242,5957 -static unsigned long hpet_rtc_int_freq;244,5990 -int hpet_rtc_timer_init(257,6627 -static void hpet_rtc_timer_reinit(285,7231 -int hpet_mask_rtc_irq_bit(314,7938 -int hpet_set_rtc_irq_bit(329,8160 -int hpet_set_alarm_time(356,8546 -int hpet_set_periodic_freq(368,8761 -int hpet_rtc_dropped_irq(379,8897 -irqreturn_t hpet_rtc_interrupt(387,8982 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/ioport.c,102 -static void set_bitmap(20,464 -asmlinkage long sys_ioperm(57,1289 -asmlinkage long sys_iopl(130,3259 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer_pm.c,645 -#define PMTMR_TICKS_PER_SEC 28,709 -#define PMTMR_EXPECTED_RATE 29,745 -u32 pmtmr_ioport 36,971 -static u32 offset_tick;40,1050 -static u32 offset_delay;41,1074 -static unsigned long long monotonic_base;43,1100 -static seqlock_t monotonic_lock 44,1142 -#define ACPI_PM_MASK 46,1195 -static inline u32 read_pmtmr(49,1306 -static int verify_pmtmr_rate(73,1948 -static int init_pmtmr(95,2493 -static inline u32 cyc2us(134,3351 -static void mark_offset_pmtmr(151,3840 -static unsigned long long monotonic_clock_pmtmr(190,4645 -static void delay_pmtmr(213,5176 -static unsigned long get_offset_pmtmr(230,5460 -struct timer_opts timer_pmtmr 243,5706 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer_pit.c,475 -static int count_p;24,507 -static int __init init_pit(26,562 -static void mark_offset_pit(36,794 -static unsigned long long monotonic_clock_pit(41,855 -static void delay_pit(46,923 -static unsigned long get_offset_pit(92,2741 -struct timer_opts timer_pit 154,4332 -void setup_pit_timer(163,4533 -static int timer_resume(177,4873 -static struct sysdev_class timer_sysclass 183,4957 -static struct sys_device device_timer 188,5057 -static int __init init_timer_sysfs(193,5138 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer_tsc.c,1711 -static unsigned long hpet_usec_quotient;29,628 -static unsigned long hpet_last;30,669 -struct timer_opts timer_tsc;31,701 -int tsc_disable __initdata 36,785 -static int use_tsc;40,849 -static int delay_at_last_interrupt;42,927 -static unsigned long last_tsc_low;44,964 -static unsigned long last_tsc_high;45,1039 -static unsigned long long monotonic_base;46,1115 -static seqlock_t monotonic_lock 47,1157 -static unsigned long cyc2ns_scale;64,1748 -#define CYC2NS_SCALE_FACTOR 65,1784 -static inline void set_cyc2ns_scale(67,1845 -static inline unsigned long long cycles_2_ns(72,1964 -static int count2;77,2091 -static unsigned long fast_gettimeoffset_quotient;84,2316 -static unsigned long get_offset_tsc(86,2367 -static unsigned long long monotonic_clock_tsc(115,3112 -unsigned long long sched_clock(137,3691 -static void delay_tsc(158,4134 -static void mark_offset_tsc_hpet(171,4322 -static unsigned int cpufreq_delayed_issched 224,5998 -static unsigned int cpufreq_init 225,6047 -static struct work_struct cpufreq_delayed_get_work;226,6085 -static void handle_cpufreq_delayed_get(228,6138 -static inline void cpufreq_delayed_get(241,6465 -static unsigned int ref_freq 254,6851 -static unsigned long loops_per_jiffy_ref 255,6886 -static unsigned long fast_gettimeoffset_ref 258,6952 -static unsigned long cpu_khz_ref 259,7001 -time_cpufreq_notifier(263,7058 -static struct notifier_block time_cpufreq_notifier_block 302,8165 -static int __init cpufreq_tsc(307,8271 -static inline void cpufreq_delayed_get(320,8593 -static void mark_offset_tsc(323,8659 -static int __init init_tsc(435,11913 -static int __init tsc_setup(529,14805 -static int __init tsc_setup(535,14883 -struct timer_opts timer_tsc 549,15166 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer_none.c,238 -static int __init init_none(4,48 -static void mark_offset_none(9,108 -static unsigned long get_offset_none(14,170 -static unsigned long long monotonic_clock_none(19,229 -static void delay_none(24,298 -struct timer_opts timer_none 38,529 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer.c,234 -static struct timer_opts* timers[15,480 -static char clock_override[30,707 -static char clock_override[10] __initdata;30,707 -static int __init clock_setup(32,751 -void clock_fallback(44,1012 -struct timer_opts* select_timer(52,1171 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer_hpet.c,730 -static unsigned long hpet_usec_quotient;21,403 -static unsigned long tsc_hpet_quotient;22,476 -static unsigned long hpet_last;23,548 -static unsigned long last_tsc_low;24,618 -static unsigned long last_tsc_high;25,693 -static unsigned long long monotonic_base;26,770 -static seqlock_t monotonic_lock 27,812 -static unsigned long cyc2ns_scale;44,1400 -#define CYC2NS_SCALE_FACTOR 45,1435 -static inline void set_cyc2ns_scale(47,1496 -static inline unsigned long long cycles_2_ns(52,1615 -static unsigned long long monotonic_clock_hpet(57,1742 -static unsigned long get_offset_hpet(76,2254 -static void mark_offset_hpet(99,2900 -void delay_hpet(121,3578 -static int __init init_hpet(136,3945 -struct timer_opts timer_hpet 180,5083 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/timer_cyclone.c,814 -static int delay_at_last_interrupt;25,569 -#define CYCLONE_CBAR_ADDR 27,606 -#define CYCLONE_PMCC_OFFSET 28,643 -#define CYCLONE_MPMC_OFFSET 29,678 -#define CYCLONE_MPCS_OFFSET 30,713 -#define CYCLONE_TIMER_FREQ 31,748 -#define CYCLONE_TIMER_MASK 32,785 -int use_cyclone 33,847 -static u32* volatile cyclone_timer;35,869 -static u32 last_cyclone_low;36,934 -static u32 last_cyclone_high;37,963 -static unsigned long long monotonic_base;38,993 -static seqlock_t monotonic_lock 39,1035 -#define read_cyclone_counter(read_cyclone_counter42,1157 -static void mark_offset_cyclone(48,1297 -static unsigned long get_offset_cyclone(106,2932 -static unsigned long long monotonic_clock_cyclone(127,3409 -static int __init init_cyclone(151,4114 -static void delay_cyclone(234,6491 -struct timer_opts timer_cyclone 248,6802 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/timers/common.c,231 -#define CALIBRATE_TIME 24,644 -unsigned long __init calibrate_tsc(26,685 -#define CALIBRATE_CNT_HPET 84,2062 -#define CALIBRATE_TIME_HPET 85,2106 -unsigned long __init calibrate_tsc_hpet(87,2159 -void __init init_cpu_khz(141,3579 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/nmi.c,2500 -unsigned int nmi_watchdog 37,903 -static unsigned int nmi_hz 39,971 -static unsigned int nmi_perfctr_msr;40,1004 -static unsigned int nmi_p4_cccr_val;41,1079 -static spinlock_t lapic_nmi_owner_lock 53,1512 -static unsigned int lapic_nmi_owner;54,1573 -#define LAPIC_NMI_WATCHDOG 55,1610 -#define LAPIC_NMI_RESERVED 56,1644 -int nmi_active;64,1901 -#define K7_EVNTSEL_ENABLE 66,1918 -#define K7_EVNTSEL_INT 67,1954 -#define K7_EVNTSEL_OS 68,1988 -#define K7_EVNTSEL_USR 69,2021 -#define K7_EVENT_CYCLES_PROCESSOR_IS_RUNNING 70,2055 -#define K7_NMI_EVENT 71,2105 -#define P6_EVNTSEL0_ENABLE 73,2165 -#define P6_EVNTSEL_INT 74,2202 -#define P6_EVNTSEL_OS 75,2236 -#define P6_EVNTSEL_USR 76,2269 -#define P6_EVENT_CPU_CLOCKS_NOT_HALTED 77,2303 -#define P6_NMI_EVENT 78,2347 -#define MSR_P4_MISC_ENABLE 80,2401 -#define MSR_P4_MISC_ENABLE_PERF_AVAIL 81,2434 -#define MSR_P4_MISC_ENABLE_PEBS_UNAVAIL 82,2479 -#define MSR_P4_PERFCTR0 83,2527 -#define MSR_P4_CCCR0 84,2558 -#define P4_ESCR_EVENT_SELECT(P4_ESCR_EVENT_SELECT85,2586 -#define P4_ESCR_OS 86,2628 -#define P4_ESCR_USR 87,2655 -#define P4_CCCR_OVF_PMI0 88,2683 -#define P4_CCCR_OVF_PMI1 89,2716 -#define P4_CCCR_THRESHOLD(P4_CCCR_THRESHOLD90,2749 -#define P4_CCCR_COMPLEMENT 91,2788 -#define P4_CCCR_COMPARE 92,2823 -#define P4_CCCR_REQUIRED 93,2856 -#define P4_CCCR_ESCR_SELECT(P4_CCCR_ESCR_SELECT94,2889 -#define P4_CCCR_ENABLE 95,2930 -#define MSR_P4_IQ_COUNTER0 99,3154 -#define P4_NMI_CRU_ESCR0 100,3187 -#define P4_NMI_IQ_CCCR0 101,3264 -int __init check_nmi_watchdog 105,3428 -static int __init setup_nmi_watchdog(139,4292 -static void disable_lapic_nmi_watchdog(175,5152 -static void enable_lapic_nmi_watchdog(206,5746 -int reserve_lapic_nmi(214,5883 -void release_lapic_nmi(229,6218 -void disable_timer_nmi_watchdog(241,6500 -void enable_timer_nmi_watchdog(251,6678 -static int nmi_pm_active;262,6836 -static int lapic_nmi_suspend(264,6895 -static int lapic_nmi_resume(271,7035 -static struct sysdev_class nmi_sysclass 279,7159 -static struct sys_device device_lapic_nmi 285,7297 -static int __init init_lapic_nmi_sysfs(290,7380 -static void clear_msr_range(312,7849 -static void setup_k7_watchdog(320,7982 -static void setup_p6_watchdog(342,8507 -static int setup_p4_watchdog(364,9032 -void setup_apic_nmi_watchdog 405,10286 - last_irq_sums 455,11454 - alert_counter 456,11480 -void touch_nmi_watchdog 458,11507 -void nmi_watchdog_tick 472,11761 -static int unknown_nmi_panic_callback(520,13052 -int proc_unknown_nmi_panic(535,13373 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/ldt.c,295 -static void flush_ldt(23,506 -static int alloc_ldt(30,619 -static inline int copy_ldt(79,1629 -int init_new_context(92,1932 -void destroy_context(111,2358 -static int read_ldt(124,2618 -static int read_default_ldt(158,3320 -static int write_ldt(177,3648 -asmlinkage int sys_modify_ldt(236,4905 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/process.c,1546 -asmlinkage void ret_from_fork(58,1237 -void disable_hlt(75,1546 -void enable_hlt(82,1619 -void default_idle(93,1758 -static void poll_idle 109,2132 -void cpu_idle 142,2816 -static void mwait_idle(174,3613 -void __init select_idle_routine(190,3923 -static int __init idle_setup 205,4275 -void show_regs(224,4711 -int kernel_thread(276,6221 -void exit_thread(299,6795 -void flush_thread(323,7393 -void release_thread(336,7663 -void prepare_to_copy(356,8108 -int copy_thread(361,8177 -void dump_thread(430,9825 -int dump_task_regs(472,11127 -handle_io_bitmap(489,11479 -#define loaddebug(loaddebug522,12600 -struct task_struct fastcall * __switch_to(554,13913 -asmlinkage int sys_fork(611,15265 -asmlinkage int sys_clone(616,15373 -asmlinkage int sys_vfork(641,16127 -asmlinkage int sys_execve(649,16308 -#define top_esp 672,16792 -#define top_ebp 673,16861 -unsigned long get_wchan(675,16933 -static int get_free_idx(702,17655 -asmlinkage int sys_set_thread_area(716,17924 -#define GET_BASE(GET_BASE767,18877 -#define GET_LIMIT(GET_LIMIT772,19019 -#define GET_32BIT(GET_32BIT776,19102 -#define GET_CONTENTS(GET_CONTENTS777,19151 -#define GET_WRITABLE(GET_WRITABLE778,19202 -#define GET_LIMIT_PAGES(GET_LIMIT_PAGES779,19253 -#define GET_PRESENT(GET_PRESENT780,19307 -#define GET_USEABLE(GET_USEABLE781,19357 -asmlinkage int sys_get_thread_area(783,19408 -unsigned long arch_align_stack(812,20153 -void arch_add_exec_range(820,20306 -void arch_remove_exec_range(830,20570 -void arch_flush_exec_range(847,21031 -void randomize_brk(857,21246 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/sigframe.h,67 -struct sigframesigframe1,0 -struct rt_sigframert_sigframe11,157 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/msr.c,809 -static struct class_simple *msr_class;47,1380 -static inline int wrmsr_eio(52,1524 -static inline int rdmsr_eio(69,1917 -struct msr_command msr_command90,2351 -static void msr_smp_wrmsr(97,2420 -static void msr_smp_rdmsr(105,2628 -static inline int do_wrmsr(113,2838 -static inline int do_rdmsr(134,3217 -static inline int do_wrmsr(159,3633 -static inline int do_rdmsr(164,3735 -static loff_t msr_seek(171,3869 -static ssize_t msr_read(189,4150 -static ssize_t msr_write(214,4662 -static int msr_open(239,5191 -static struct file_operations msr_fops 255,5552 -static int msr_class_simple_device_add(263,5702 -static int __devinit msr_class_cpu_callback(274,5954 -static struct notifier_block msr_class_cpu_notifier 289,6290 -int __init msr_init(294,6392 -void __exit msr_exit(331,7123 -module_exit(342,7398 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/early_printk.c,0 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/doublefault.c,241 -#define DOUBLEFAULT_STACKSIZE 12,223 -static unsigned long doublefault_stack[13,260 -#define STACK_START 14,323 -#define ptr_ok(ptr_ok16,401 -static void doublefault_fn(18,473 -struct tss_struct doublefault_tss __cacheline_aligned 50,1254 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/reboot.c,614 -static int reboot_mode;22,386 -int reboot_thru_bios;23,410 -static int reboot_cpu 26,451 -#define is_digit(is_digit28,541 -static int __init reboot_setup(30,595 -static int __init set_bios_reboot(77,1806 -static struct dmi_system_id __initdata reboot_dmi_table[86,2030 -static int reboot_init(114,2859 -real_mode_gdt_entries 130,3404 -real_mode_gdt 142,3747 -static unsigned char real_mode_switch 166,4820 -static unsigned char jump_to_bios 180,5509 -void machine_real_restart(190,5775 -void machine_shutdown(272,8851 -void machine_restart(311,9772 -void machine_halt(338,10484 -void machine_power_off(344,10543 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/microcode.c,1462 -#define MICROCODE_VERSION 90,3801 -#define MICRO_DEBUG 91,3835 -#define dprintk(dprintk93,3875 -#define dprintk(dprintk95,3923 -#define DEFAULT_UCODE_DATASIZE 98,3953 -#define MC_HEADER_SIZE 99,4012 -#define DEFAULT_UCODE_TOTALSIZE 100,4085 -#define EXT_HEADER_SIZE 101,4176 -#define EXT_SIGNATURE_SIZE 102,4252 -#define DWSIZE 103,4331 -#define get_totalsize(get_totalsize104,4363 -#define get_datasize(get_datasize107,4496 -#define sigmatch(sigmatch111,4626 -#define exttable_size(exttable_size114,4731 -static spinlock_t microcode_update_lock 117,4868 -static void __user *user_buffer;122,5034 -static unsigned int user_buffer_size;123,5105 -typedef enum mc_error_code mc_error_code125,5160 - MC_SUCCESS 126,5189 - MC_NOTFOUND 127,5207 - MC_MARKED 128,5226 - MC_ALLOCATED 129,5243 -} mc_error_code_t;mc_error_code_t130,5263 -static struct ucode_cpu_info ucode_cpu_info132,5283 -} ucode_cpu_info[139,5431 -static int microcode_open 141,5463 -static void collect_cpu_info 146,5585 -static inline void mark_microcode_update 179,6595 -static int find_matching_ucodes 221,8106 -static void do_update_one 364,12959 -static int do_microcode_update 398,13999 -static ssize_t microcode_write 434,14783 -static int microcode_ioctl 462,15353 -static struct file_operations microcode_fops 478,15682 -static struct miscdevice microcode_dev 485,15841 -static int __init microcode_init 492,15998 -static void __exit microcode_exit 509,16333 -module_init(515,16503 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/kprobes.c,950 -#define KPROBE_HIT_ACTIVE 36,1299 -#define KPROBE_HIT_SS 37,1336 -static struct kprobe *current_kprobe;39,1371 -static unsigned long kprobe_status,40,1409 -static unsigned long kprobe_status, kprobe_old_eflags,40,1409 -static unsigned long kprobe_status, kprobe_old_eflags, kprobe_saved_eflags;40,1409 -static struct pt_regs jprobe_saved_regs;41,1485 -static long *jprobe_saved_esp;42,1526 -static kprobe_opcode_t jprobes_stack[44,1611 -static inline int is_IF_modifier(49,1732 -void arch_prepare_kprobe(61,1945 -static inline void disarm_kprobe(66,2061 -static inline void prepare_singlestep(72,2199 -static inline int kprobe_handler(83,2502 -static void resume_execution(172,5123 -static inline int post_kprobe_handler(218,6391 -static inline int kprobe_fault_handler(244,7010 -int kprobe_exceptions_notify(263,7442 -int setjmp_pre_handler(292,8084 -void jprobe_return(314,8742 -void jprobe_return_end(321,8922 -int longjmp_break_handler(325,8957 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/machine_kexec.c,934 -static inline unsigned long read_cr3(20,521 -#define PAGE_ALIGNED 27,645 -#define L0_ATTR 29,708 -#define L1_ATTR 30,782 -#define L2_ATTR 31,856 -#define LEVEL0_SIZE 33,889 -#define LEVEL1_SIZE 36,947 -static u32 pgtable_level1[37,981 -static u32 pgtable_level1[1024] PAGE_ALIGNED;37,981 -static void identity_map_page(39,1028 -#define LEVEL1_SIZE 62,1692 -#define LEVEL2_SIZE 63,1726 -static u64 pgtable_level1[64,1760 -static u64 pgtable_level1[512] PAGE_ALIGNED;64,1760 -static u64 pgtable_level2[65,1805 -static u64 pgtable_level2[512] PAGE_ALIGNED;65,1805 -static void identity_map_page(67,1851 -static void set_idt(93,2659 -static void set_gdt(108,2930 -static void load_segments(122,3201 -#define __STR(__STR124,3235 -#define STR(STR125,3255 -typedef asmlinkage void (*relocate_new_kernel_t)relocate_new_kernel_t141,3532 -int machine_kexec_prepare(154,3991 -void machine_kexec_cleanup(159,4055 -void machine_kexec(167,4250 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/mca.c,642 -static unsigned char which_scsi 57,1560 -spinlock_t mca_lock 65,1723 -static void mca_configure_adapter_status(69,1811 -struct resource mca_standard_resources[122,3250 -#define MCA_STANDARD_RESOURCES 132,3586 -static int mca_read_and_store_pos(142,3953 -static unsigned char mca_pc_read_pos(163,4500 -static void mca_pc_write_pos(199,5316 -static int mca_dummy_transform_irq(228,5961 -static int mca_dummy_transform_ioport(233,6052 -static void *mca_dummy_transform_memory(238,6148 -static int __init mca_init(244,6247 -static void mca_handle_nmi_device(415,11254 -static int mca_handle_nmi_callback(445,12080 -void mca_handle_nmi(463,12519 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vsyscall-int80.S,313 -__kernel_vsyscall:__kernel_vsyscall13,314 -.LSTART_vsyscall:.LSTART_vsyscall14,333 -.LEND_vsyscall:.LEND_vsyscall17,367 -.LSTARTFRAMEDLSI:.LSTARTFRAMEDLSI22,473 -.LSTARTCIEDLSI:.LSTARTCIEDLSI24,526 -.LENDCIEDLSI:.LENDCIEDLSI39,1006 -.LSTARTFDEDLSI:.LSTARTFDEDLSI41,1072 -.LENDFDEDLSI:.LENDFDEDLSI47,1264 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vsyscall.S,201 -vsyscall_int80_start:vsyscall_int80_start6,86 -vsyscall_int80_end:vsyscall_int80_end8,154 -vsyscall_sysenter_start:vsyscall_sysenter_start11,230 -vsyscall_sysenter_end:vsyscall_sysenter_end13,304 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/i8259.c,1018 -spinlock_t i8259A_lock 41,977 -static void end_8259A_irq 43,1023 -#define shutdown_8259A_irq 50,1191 -unsigned int startup_8259A_irq(54,1277 -static struct hw_interrupt_type i8259A_irq_type 60,1396 -unsigned int cached_irq_mask 78,1709 -unsigned long io_apic_irqs;89,2122 -void disable_8259A_irq(91,2151 -void enable_8259A_irq(105,2470 -int i8259A_irq_pending(119,2791 -void make_8259A_irq(135,3098 -static inline int i8259A_irq_real(149,3438 -void mask_and_ack_8259A(172,4077 -static char irq_trigger[242,6180 -static void restore_ELCR(246,6275 -static void save_ELCR(252,6372 -static int i8259A_resume(259,6525 -static int i8259A_suspend(266,6634 -static int i8259A_shutdown(272,6736 -static struct sysdev_class i8259_sysdev_class 283,7003 -static struct sys_device device_i8259A 290,7166 -static int __init i8259A_init_sysfs(295,7252 -void init_8259A(305,7464 -static irqreturn_t math_error_irq(359,9368 -static struct irqaction fpu_irq 373,9735 -void __init init_ISA_irqs 375,9827 -void __init init_IRQ(403,10296 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/asm-offsets.c,105 -#define DEFINE(DEFINE16,386 -#define BLANK(BLANK19,474 -#define OFFSET(OFFSET21,517 -void foo(24,591 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vsyscall-sigreturn.S,560 -__kernel_sigreturn:__kernel_sigreturn21,560 -.LSTART_sigreturn:.LSTART_sigreturn22,580 -.LEND_sigreturn:.LEND_sigreturn26,697 -__kernel_rt_sigreturn:__kernel_rt_sigreturn32,842 -.LSTART_rt_sigreturn:.LSTART_rt_sigreturn33,865 -.LEND_rt_sigreturn:.LEND_rt_sigreturn36,929 -.LSTARTFRAMEDLSI1:.LSTARTFRAMEDLSI141,1047 -.LSTARTCIEDLSI1:.LSTARTCIEDLSI143,1103 -.LENDCIEDLSI1:.LENDCIEDLSI154,1497 -.LSTARTFDEDLSI1:.LSTARTFDEDLSI156,1566 -.LENDFDEDLSI1:.LENDFDEDLSI1116,3776 -.LSTARTFDEDLSI2:.LSTARTFDEDLSI2119,3846 -.LENDFDEDLSI2:.LENDFDEDLSI2141,4867 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/efi.c,886 -#define EFI_DEBUG 42,1142 -#define PFX 43,1162 -struct efi efi;47,1245 -struct efi efi_phys __initdata;49,1281 -struct efi_memory_map memmap __initdata;50,1313 -static unsigned long efi_rt_eflags;64,1749 -static spinlock_t efi_rt_lock 65,1785 -static pgd_t efi_bak_pg_dir_pointer[66,1837 -static void efi_call_phys_prelog(68,1878 -static void efi_call_phys_epilog(110,3052 -phys_efi_set_virtual_address_map(139,3752 -phys_efi_get_time(155,4169 -inline int efi_set_rtc_mmss(165,4369 -inline unsigned long __init efi_get_time(198,5216 -int is_available_memory(212,5549 -void __init efi_map_memmap(231,5915 -void __init print_efi_memmap(243,6191 -void efi_memmap_walk(262,6716 - struct range range265,6804 -void __init efi_init(309,7781 -void __init efi_enter_virtual_mode(453,12724 -efi_initialize_iomem_resources(528,14894 -u32 efi_mem_type(607,16960 -u64 efi_mem_attributes(621,17246 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vmlinux.lds.S,24 -jiffies jiffies12,283 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpuid.c,593 -static struct class_simple *cpuid_class;48,1390 -struct cpuid_command cpuid_command52,1451 -static void cpuid_smp_cpuid(58,1510 -static inline void do_cpuid(67,1749 -static inline void do_cpuid(85,2112 -static loff_t cpuid_seek(92,2258 -static ssize_t cpuid_read(115,2569 -static int cpuid_open(138,3018 -static struct file_operations cpuid_fops 154,3373 -static int cpuid_class_simple_device_add(161,3510 -static int __devinit cpuid_class_cpu_callback(172,3768 -static struct notifier_block cpuid_class_cpu_notifier 187,4109 -int __init cpuid_init(192,4215 -void __exit cpuid_exit(230,4987 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/pci-dma.c,248 -struct dma_coherent_mem dma_coherent_mem16,370 -void *dma_alloc_coherent(24,487 -void dma_free_coherent(58,1302 -int dma_declare_coherent_memory(72,1745 -void dma_release_declared_memory(118,2862 -void *dma_mark_declared_memory_occupied(130,3088 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/trampoline.S,139 -r_base r_base44,1181 -boot_gdt:boot_gdt65,1879 -boot_idt:boot_idt69,1972 -.globl .globl73,2039 -trampoline_end:trampoline_end74,2061 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/i387.c,1369 -#define HAVE_HWFP 22,463 -#define HAVE_HWFP 24,513 -unsigned long mxcsr_feature_mask 27,541 -void mxcsr_feature_mask_init(29,589 -void init_fpu(49,1179 -void kernel_fpu_begin(70,1742 -void restore_fpu(82,1940 -static inline unsigned short twd_i387_to_fxsr(97,2210 -static inline unsigned long twd_fxsr_to_i387(111,2771 -#define FPREG_ADDR(FPREG_ADDR119,2996 -unsigned short get_fpu_cwd(160,3766 -unsigned short get_fpu_swd(169,3952 -unsigned short get_fpu_twd(178,4138 -unsigned short get_fpu_mxcsr(187,4324 -void set_fpu_cwd(196,4477 -void set_fpu_swd(205,4677 -void set_fpu_twd(214,4877 -static int convert_fxsr_to_user(227,5151 -static int convert_fxsr_from_user(260,6039 -static inline int save_i387_fsave(298,7022 -static int save_i387_fxsave(310,7331 -int save_i387(331,7823 -static inline int restore_i387_fsave(352,8258 -static int restore_i387_fxsave(360,8483 -int restore_i387(372,8927 -static inline int get_fpregs_fsave(393,9272 -static inline int get_fpregs_fxsave(400,9483 -int get_fpregs(407,9695 -static inline int set_fpregs_fsave(421,10025 -static inline int set_fpregs_fxsave(428,10233 -int set_fpregs(435,10449 -int get_fpxregs(449,10778 -int set_fpxregs(461,11041 -static inline void copy_fpu_fsave(481,11482 -static inline void copy_fpu_fxsave(488,11661 -int dump_fpu(504,12090 -int dump_task_fpu(522,12402 -int dump_task_extended_fpu(537,12676 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/relocate_kernel.S,166 -relocate_new_kernel:relocate_new_kernel16,453 -relocate_new_kernel_end:relocate_new_kernel_end114,2664 -relocate_new_kernel_size:relocate_new_kernel_size117,2723 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/irq.c,1888 -irq_desc_t irq_desc[67,2016 -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned 67,2016 -union irq_ctx *hardirq_ctx[79,2244 -union irq_ctx *softirq_ctx[80,2281 -irqreturn_t no_action(86,2352 -static void enable_none(93,2479 -static unsigned int startup_none(94,2525 -static void disable_none(95,2590 -static void ack_none(96,2637 -#define shutdown_none 120,3390 -#define end_none 121,3425 -struct hw_interrupt_type no_irq_type 123,3455 -atomic_t irq_err_count;133,3590 -atomic_t irq_mis_count;135,3678 -int show_interrupts(142,3764 -inline void synchronize_irq(203,5257 -asmlinkage int handle_IRQ_event(217,5613 -static void __report_bad_irq(239,6134 -static void report_bad_irq(262,6806 -static int noirqdebug;272,6986 -int __init noirqdebug_setup(274,7010 -static int irqfixup;283,7178 -static int __init irqfixup_setup(285,7200 -static int __init irqpoll_setup(295,7440 -static asmlinkage int misrouted_irq(309,7756 -static void note_interrupt(384,9821 -inline void disable_irq_nosync(479,12279 -void disable_irq(505,13009 -void enable_irq(524,13439 -asmlinkage unsigned int do_IRQ(556,14200 -int can_request_irq(715,18444 -int request_irq(761,19822 -void free_irq(823,21376 -unsigned long probe_irq_on(883,22670 -unsigned int probe_irq_mask(976,24928 -int probe_irq_off(1026,26132 -int setup_irq(1060,26789 -static struct proc_dir_entry * root_irq_dir;1119,28229 -static struct proc_dir_entry * irq_dir 1120,28274 -static struct proc_dir_entry *smp_affinity_entry[1124,28344 -cpumask_t irq_affinity[1126,28404 -static int irq_affinity_read_proc(1128,28477 -int no_irq_affinity;1138,28746 -static int irq_affinity_write_proc(1140,28768 -#define MAX_NAMELEN 1170,29526 -static void register_irq_proc 1172,29550 -void init_irq_proc 1205,30240 -static char softirq_stack[1224,30622 -static char hardirq_stack[1225,30715 -void irq_ctx_init(1230,30882 -asmlinkage void do_softirq(1261,31734 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/traps.c,2043 -struct desc_struct default_ldt[63,1269 -char ignore_fpu_irq 67,1397 -struct desc_struct idt_table[74,1558 -static int kstack_depth_to_print 96,2362 -struct notifier_block *i386die_chain;97,2401 -static spinlock_t die_notifier_lock 98,2439 -int register_die_notifier(100,2498 -static inline int valid_stack_ptr(110,2756 -static inline unsigned long print_context_stack(116,2899 -void show_trace(142,3476 -void show_stack(169,4103 -void dump_stack(196,4611 -void show_registers(205,4719 -static void handle_BUG(262,6167 -void die(298,6932 -static inline void die_if_kernel(357,8243 -static inline unsigned long get_cr2(363,8407 -static inline void do_trap(372,8561 -#define DO_ERROR(DO_ERROR408,9281 -#define DO_ERROR_INFO(DO_ERROR_INFO417,9562 -#define DO_VM86_ERROR(DO_VM86_ERROR431,9999 -#define DO_VM86_ERROR_INFO(DO_VM86_ERROR_INFO440,10285 -DO_VM86_ERROR_INFO(454,10727 -static void mem_parity_error(568,14688 -static void io_check_error(577,14998 -static void unknown_nmi_error(593,15347 -static spinlock_t nmi_print_lock 609,15794 -void die_nmi 611,15850 -static void default_do_nmi(630,16278 -static int dummy_nmi_callback(664,17050 -static nmi_callback_t nmi_callback 669,17129 -asmlinkage void do_nmi(671,17188 -void set_nmi_callback(686,17398 -void unset_nmi_callback(691,17476 -asmlinkage int do_int3(697,17569 -asmlinkage void do_debug(732,19064 -void math_error(815,21442 -asmlinkage void do_coprocessor_error(871,23045 -void simd_math_error(877,23187 -asmlinkage void do_simd_coprocessor_error(925,24402 -asmlinkage void do_spurious_interrupt_bug(949,25063 -asmlinkage void math_state_restore(968,25679 -asmlinkage void math_emulate(982,26037 -void __init trap_init_f00f_bug(993,26292 -#define _set_gate(_set_gate1006,26623 -void set_intr_gate(1026,27223 -static inline void set_system_intr_gate(1034,27403 -static void __init set_trap_gate(1039,27527 -static void __init set_system_gate(1044,27640 -static void __init set_call_gate(1049,27755 -static void __init set_task_gate(1054,27851 -void __init trap_init(1060,27976 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/signal.c,645 -#define DEBUG_SIG 30,706 -#define _BLOCKABLE 32,727 -sys_sigsuspend(38,876 -sys_rt_sigsuspend(60,1375 -sys_sigaction(88,2025 -sys_sigaltstack(120,2965 -restore_sigcontext(136,3355 -#define COPY(COPY143,3598 -#define COPY_SEG(COPY_SEG145,3651 -#define COPY_SEG_STRICT(COPY_SEG_STRICT150,3779 -#define GET_SEG(GET_SEG155,3915 -#define FIX_EFLAGS 160,4044 -asmlinkage int sys_sigreturn(203,4893 -asmlinkage int sys_rt_sigreturn(233,5665 -setup_sigcontext(269,6494 -get_sigframe(320,8126 -static void setup_frame(348,8918 -static void setup_rt_frame(434,11100 -handle_signal(530,13787 -int fastcall do_signal(574,14944 -__attribute__(635,16405 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/vsyscall.lds.S,0 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/scx200.c,307 -#define NAME 16,332 -unsigned scx200_gpio_base 22,485 -long scx200_gpio_shadow[23,516 -spinlock_t scx200_gpio_lock 25,545 -static spinlock_t scx200_gpio_config_lock 26,595 -u32 scx200_gpio_configure(28,660 -void scx200_gpio_dump(46,1062 -int __init scx200_init(78,1860 -void __exit scx200_cleanup(111,2694 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/mpparse.c,2205 -int smp_found_config;39,966 -unsigned int __initdata maxcpus 40,988 -int apic_version 46,1111 -int mp_bus_id_to_type 47,1141 -int mp_bus_id_to_node 48,1180 -int mp_bus_id_to_local 49,1219 -int quad_local_to_mp_bus_id 50,1259 -int mp_bus_id_to_pci_bus 51,1303 -int mp_current_pci_id;52,1380 -struct mpc_config_ioapic mp_ioapics[55,1427 -struct mpc_config_intsrc mp_irqs[58,1512 -int mp_irq_entries;61,1592 -int nr_ioapics;63,1613 -int pic_mode;65,1630 -unsigned long mp_lapic_addr;66,1644 -unsigned int boot_cpu_physical_apicid 69,1716 -unsigned int boot_cpu_logical_apicid 70,1761 -static unsigned int __initdata num_processors;72,1836 -physid_mask_t phys_cpu_present_map;75,1926 -u8 bios_cpu_apicid[77,1963 -static int __init mpf_checksum(88,2127 -static int mpc_record;104,2434 -static struct mpc_config_translation *translation_table[105,2458 -static struct mpc_config_translation *translation_table[MAX_MPC_ENTRY] __initdata;105,2458 -static int MP_valid_apicid(108,2566 -static int MP_valid_apicid(113,2693 -void __init MP_processor_info 122,2832 -static void __init MP_bus_info 221,5789 -static void __init MP_ioapic_info 248,6770 -static void __init MP_intsrc_info 269,7372 -static void __init MP_lintsrc_info 281,7792 -static void __init MP_translation_info 304,8506 -static void __init smp_read_mpc_oem(320,9004 -static inline void mps_oem_check(363,10158 -static int __init smp_read_mpc(378,10513 -static int __init ELCR_trigger(490,12928 -static void __init construct_default_ioirq_mptable(498,13069 -static inline void __init construct_default_ISA_mptable(564,14951 -static struct intel_mp_floating *mpf_found;648,17080 -void __init get_smp_config 653,17190 -static int __init smp_scan_config 726,19243 -void __init find_smp_config 773,20559 -void __init mp_register_lapic_address 818,21863 -void __init mp_register_lapic 832,22176 -#define MP_ISA_BUS 864,23093 -#define MP_MAX_IOAPIC_PIN 865,23115 -struct mp_ioapic_routing mp_ioapic_routing867,23146 -} mp_ioapic_routing[872,23248 -static int mp_find_ioapic 875,23285 -void __init mp_register_ioapic 893,23619 -void __init mp_override_legacy_irq 940,24958 -void __init mp_config_acpi_legacy_irqs 987,26202 -void mp_register_gsi 1054,27971 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/transmeta.c,205 -static void __init init_transmeta(7,116 -#define USER686 69,1990 -static void transmeta_identify(74,2148 -static struct cpu_dev transmeta_cpu_dev __initdata 87,2447 -int __init transmeta_init_cpu(94,2643 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/umc.c,120 -static void __init init_umc(8,181 -static struct cpu_dev umc_cpu_dev __initdata 13,239 -int __init umc_init_cpu(27,499 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/intel.c,349 -struct movsl_mask movsl_mask;28,525 -void __init early_intel_workaround(31,563 -int __init ppro_with_ram_bug(46,946 -static void __init Intel_errata_workarounds(64,1412 -static void __init init_intel(80,1877 -static unsigned int intel_size_cache(215,5037 -static struct cpu_dev intel_cpu_dev __initdata 227,5430 -__init int intel_cpu_init(284,6941 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpu.h,72 -struct cpu_model_info cpu_model_info2,1 -struct cpu_dev cpu_dev9,123 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/proc.c,165 -static int show_cpuinfo(10,183 -static void *c_start(129,4134 -static void *c_next(133,4241 -static void c_stop(138,4341 -struct seq_operations cpuinfo_op 141,4393 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/nexgen.c,217 -static int __init deep_magic_nexgen_probe(13,242 -static void __init init_nexgen(30,532 -static void nexgen_identify(35,642 -static struct cpu_dev nexgen_cpu_dev __initdata 44,844 -int __init nexgen_init_cpu(57,1127 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/intel_cacheinfo.c,306 -#define LVL_1_INST 4,52 -#define LVL_1_DATA 5,73 -#define LVL_2 6,94 -#define LVL_3 7,111 -#define LVL_TRACE 8,128 -struct _cache_table_cache_table10,149 -static struct _cache_table cache_table[18,316 -static struct _cache_table cache_table[] __initdata 18,316 -unsigned int init_intel_cacheinfo(61,3172 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/amd.c,244 -static void __init init_amd(25,660 -#define CBAR 52,1395 -#define CBAR_ENB 53,1461 -#define CBAR_KEY 54,1491 -static unsigned int amd_size_cache(193,5210 -static struct cpu_dev amd_cpu_dev __initdata 206,5553 -int __init amd_init_cpu(226,5991 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/if.c,451 -#define LINE_SIZE 8,156 -#define FILE_FCOUNT(FILE_FCOUNT17,307 -static char *mtrr_strings[19,383 -char *mtrr_attrib_to_str(30,713 -mtrr_file_add(38,826 -mtrr_file_del(65,1467 -mtrr_write(90,1998 -mtrr_ioctl(149,3371 -mtrr_close(273,6550 -static int mtrr_open(294,6960 -static struct file_operations mtrr_fops 303,7144 -static struct proc_dir_entry *proc_root_mtrr;314,7357 -static int mtrr_seq_show(317,7405 -static int __init mtrr_if_init(350,8158 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/state.c,99 -void set_mtrr_prepare_save(10,198 -void set_mtrr_cache_disable(41,951 -void set_mtrr_done(53,1369 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/generic.c,935 -struct mtrr_state mtrr_state14,372 -static unsigned long smp_changes_mask;21,520 -struct mtrr_state mtrr_state 22,559 -get_mtrr_var_range(27,664 -get_fixed_ranges(34,872 -void __init get_mtrr_state(48,1239 -void __init finalize_mtrr_state(72,1845 -void __init mtrr_state_warn(80,2044 -int generic_get_free_region(97,2636 -void generic_get_mtrr(118,3128 -static int set_fixed_ranges(145,3829 -static int set_mtrr_var_ranges(180,4650 -static unsigned long set_mtrr_state(202,5253 -static unsigned long cr4 232,6247 -static u32 deftype_lo,233,6277 -static u32 deftype_lo, deftype_hi;233,6277 -static spinlock_t set_atomicity_lock 234,6312 -static void prepare_set(236,6372 -static void post_set(267,7253 -static void generic_set_all(285,7593 -static void generic_set_mtrr(305,7956 -int generic_validate_add_page(333,8883 -int generic_have_wrcomb(373,10179 -int positive_have_wrcomb(380,10310 -struct mtrr_ops generic_mtrr_ops 387,10385 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/mtrr.h,988 -#define TRUE 6,44 -#define FALSE 7,60 -#define MTRRcap_MSR 10,84 -#define MTRRdefType_MSR 11,114 -#define MTRRphysBase_MSR(MTRRphysBase_MSR13,145 -#define MTRRphysMask_MSR(MTRRphysMask_MSR14,195 -#define NUM_FIXED_RANGES 16,250 -#define MTRRfix64K_00000_MSR 17,278 -#define MTRRfix16K_80000_MSR 18,313 -#define MTRRfix16K_A0000_MSR 19,348 -#define MTRRfix4K_C0000_MSR 20,383 -#define MTRRfix4K_C8000_MSR 21,417 -#define MTRRfix4K_D0000_MSR 22,451 -#define MTRRfix4K_D8000_MSR 23,485 -#define MTRRfix4K_E0000_MSR 24,519 -#define MTRRfix4K_E8000_MSR 25,553 -#define MTRRfix4K_F0000_MSR 26,587 -#define MTRRfix4K_F8000_MSR 27,621 -#define MTRR_CHANGE_MASK_FIXED 29,656 -#define MTRR_CHANGE_MASK_VARIABLE 30,696 -#define MTRR_CHANGE_MASK_DEFTYPE 31,736 -typedef u8 mtrr_type;mtrr_type35,875 -struct mtrr_ops mtrr_ops37,898 -struct set_mtrr_context set_mtrr_context64,1743 -struct mtrr_var_range mtrr_var_range72,1893 -#define is_cpu(is_cpu90,2341 -#define use_intel(use_intel91,2410 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/amd.c,177 -amd_get_mtrr(9,121 -static void amd_set_mtrr(49,1158 -static int amd_validate_add_page(91,2443 -static struct mtrr_ops amd_mtrr_ops 106,2882 -int __init amd_init_mtrr(115,3172 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/centaur.c,440 -} centaur_mcr[10,165 -static u8 centaur_mcr_reserved;12,184 -static u8 centaur_mcr_type;13,216 -centaur_get_free_region(20,332 -mtrr_centaur_report_mcr(44,881 -centaur_get_mcr(51,1004 -static void centaur_set_mcr(66,1568 -centaur_mcr1_init(96,2374 -centaur_mcr0_init(146,3550 -centaur_mcr_init(172,4142 -static int centaur_validate_add_page(187,4443 -static struct mtrr_ops centaur_mtrr_ops 204,4877 -int __init centaur_init_mtrr(214,5225 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/main.c,962 -#define MTRR_VERSION 47,1672 -u32 num_var_ranges 49,1722 -unsigned int *usage_table;51,1747 -u32 size_or_mask,54,1808 -u32 size_or_mask, size_and_mask;54,1808 -static struct mtrr_ops * mtrr_ops[56,1842 -struct mtrr_ops * mtrr_if 58,1899 -__initdata char *mtrr_if_name[60,1934 -void set_mtrr_ops(69,2164 -static int have_wrcomb(76,2359 -void __init set_num_var_ranges(101,3282 -static void __init init_table(114,3546 -struct set_mtrr_data set_mtrr_data128,3819 -static void ipi_handler(139,3992 -static void set_mtrr(212,6138 -int mtrr_add_page(305,8919 -mtrr_add(419,12248 -int mtrr_del_page(446,13114 -mtrr_del(516,14731 -static void __init init_ifs(537,15359 -static void __init init_other_cpus(544,15458 -struct mtrr_value mtrr_value559,15673 -static struct mtrr_value * mtrr_state;565,15758 -static int mtrr_save(567,15798 -static int mtrr_restore(587,16202 -static struct sysdev_driver mtrr_sysdev_driver 604,16466 -static int __init mtrr_init(617,16743 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mtrr/cyrix.c,573 -int arr3_protected;8,128 -cyrix_get_arr(11,161 -cyrix_get_free_region(80,1709 -static u32 cr4 114,2609 -static u32 ccr3;115,2629 -static void prepare_set(117,2647 -static void post_set(142,3207 -static void cyrix_set_arr(158,3501 -} arr_state_t;arr_state_t219,4718 -arr_state_t arr_state[221,4734 -arr_state_t arr_state[8] __initdata 221,4734 -unsigned char ccr_state[226,4915 -unsigned char ccr_state[7] __initdata 226,4915 -static void cyrix_set_all(228,4981 -cyrix_arr_init(261,6075 -static struct mtrr_ops cyrix_mtrr_ops 345,8178 -int __init cyrix_init_mtrr(356,8544 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/centaur.c,1101 -static u32 __init power2(11,191 -static void __init centaur_mcr_insert(24,309 -static u32 __init ramtop(42,795 -static int __init centaur_mcr_compute(93,1992 -static void __init centaur_create_optimal_mcr(168,3222 -static void __init winchip2_create_optimal_mcr(191,3755 -static void __init winchip2_unprotect_mcr(229,4404 -static void __init winchip2_protect_mcr(241,4650 -#define ACE_PRESENT 251,4850 -#define ACE_ENABLED 252,4879 -#define ACE_FCR 253,4908 -#define RNG_PRESENT 255,4954 -#define RNG_ENABLED 256,4983 -#define RNG_ENABLE 257,5012 -static void __init init_c3(259,5059 -static void __init init_centaur(305,6373 - ECX8=308,6438 - EIERRINT=309,6451 - DPM=310,6468 - DMCE=311,6480 - DSTPCLK=312,6493 - ELINEAR=313,6509 - DSMC=314,6525 - DTLOCK=315,6538 - EDCTLB=316,6553 - EMMX=317,6568 - DPDC=318,6581 - EBRPRED=319,6595 - DIC=320,6612 - DDC=321,6625 - DNA=322,6638 - ERETSTK=323,6651 - E2MMX=324,6668 - EAMD3D=325,6683 -static unsigned int centaur_size_cache(448,9660 -static struct cpu_dev centaur_cpu_dev __initdata 463,10140 -int __init centaur_init_cpu(470,10316 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/common.c,1068 -static int cachesize_override __initdata 19,418 -static int disable_x86_fxsr __initdata 20,465 -static int disable_x86_serial_nr __initdata 21,509 -struct cpu_dev * cpu_devs[23,559 -static void default_init(29,682 -static struct cpu_dev default_cpu 42,997 -static struct cpu_dev * this_cpu 45,1063 -static int __init cachesize_setup(47,1113 -int __init get_model_name(54,1255 -void __init display_cacheinfo(84,1916 -static char __init *table_lookup_model(125,3097 -void __init get_cpu_vendor(146,3467 -static int __init x86_fxsr_setup(166,3852 -static inline int flag_is_changeable_p(175,4031 -int __init have_cpuid_p(197,4411 -void __init early_cpu_detect(205,4675 -void __init generic_identify(240,5449 -static void __init squash_the_stupid_serial_number(285,6678 -static int __init x86_serial_nr_setup(301,7174 -void __init identify_cpu(313,7390 -void __init dodgy_tsc(434,10723 -void __init print_cpu_info(441,10922 -unsigned long cpu_initialized __initdata 464,11419 -void __init early_cpu_init(485,12095 -void __init cpu_init 512,12812 -#define CD(CD579,14651 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/p4.c,439 -struct intel_mce_extended_msrs intel_mce_extended_msrs21,389 -static int mce_num_extended_msrs 35,553 -static void unexpected_thermal_interrupt(39,625 -static void intel_thermal_interrupt(47,861 -asmlinkage void smp_thermal_interrupt(73,1556 -static void __init intel_init_thermal(81,1730 -static inline int intel_get_extended_msrs(137,3417 -static asmlinkage void intel_machine_check(162,4070 -void __init intel_p4_mcheck_init(235,6015 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/p6.c,93 -static asmlinkage void intel_machine_check(20,390 -void __init intel_p6_mcheck_init(83,2022 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/k7.c,85 -static asmlinkage void k7_machine_check(21,445 -void __init amd_mcheck_init(72,1722 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/winchip.c,93 -static asmlinkage void winchip_machine_check(19,378 -void __init winchip_mcheck_init(26,619 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/p5.c,94 -static asmlinkage void pentium_machine_check(20,401 -void __init intel_p5_mcheck_init(32,934 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/non-fatal.c,174 -static int firstbank;27,544 -#define MCE_RATE 29,567 -static void mce_checkregs 31,615 -static void mce_work_fn(59,1281 -static int __init init_nonfatal_mce_checker(65,1410 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/mce.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/mcheck/mce.c,232 -int mce_disabled __initdata 19,387 -int nr_mce_banks;20,420 -static asmlinkage void unexpected_machine_check(25,545 -void __init mcheck_init(34,939 -static int __init mcheck_disable(64,1426 -static int __init mcheck_enable(70,1505 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cyrix.c,1190 -void __init do_cyrix_devid(15,296 -static unsigned char Cx86_dir0_msb __initdata 55,1396 -static char Cx86_model[57,1448 -static char Cx86_model[][9] __initdata 57,1448 -static char Cx486_name[61,1573 -static char Cx486_name[][5] __initdata 61,1573 -static char Cx486S_name[65,1680 -static char Cx486S_name[][4] __initdata 65,1680 -static char Cx486D_name[68,1751 -static char Cx486D_name[][4] __initdata 68,1751 -static char Cx86_cb[71,1833 -static char Cx86_cb[] __initdata 71,1833 -static char cyrix_model_mult1[72,1891 -static char cyrix_model_mult1[] __initdata 72,1891 -static char cyrix_model_mult2[73,1946 -static char cyrix_model_mult2[] __initdata 73,1946 -extern void calibrate_delay(83,2278 -static void __init set_cx86_reorder(110,2973 -static void __init set_cx86_memwb(125,3404 -static void __init set_cx86_inc(144,3865 -static void __init geode_configure(165,4431 -static void __init init_cyrix(190,4933 -static inline int test_cyrix_52div(352,9629 -static void cyrix_identify(368,10004 -static struct cpu_dev cyrix_cpu_dev __initdata 404,10974 -int __init cyrix_init_cpu(411,11139 -static struct cpu_dev nsc_cpu_dev __initdata 419,11273 -int __init nsc_init_cpu(426,11436 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c,1810 -#define PFX 35,879 -#define MAINTAINER 36,915 -#define dprintk(dprintk41,1025 -#define dprintk(dprintk43,1067 -struct cpu_idcpu_id46,1115 - CPU_BANIAS,54,1241 - CPU_DOTHAN_A1,55,1254 - CPU_DOTHAN_A2,56,1270 - CPU_DOTHAN_B0,57,1286 -static const struct cpu_id cpu_ids[60,1306 -#define N_IDS 66,1479 -struct cpu_modelcpu_model68,1531 -static struct cpu_model *centrino_model;79,1850 -static int centrino_cpu;80,1891 -#define OP(OP87,2148 -static struct cpufreq_frequency_table banias_900[101,2560 -static struct cpufreq_frequency_table banias_1000[110,2770 -static struct cpufreq_frequency_table banias_1100[120,2995 -static struct cpufreq_frequency_table banias_1200[132,3238 -static struct cpufreq_frequency_table banias_1300[144,3485 -static struct cpufreq_frequency_table banias_1400[155,3715 -static struct cpufreq_frequency_table banias_1500[166,3945 -static struct cpufreq_frequency_table banias_1600[178,4192 -static struct cpufreq_frequency_table banias_1700[190,4439 -#define _BANIAS(_BANIAS202,4647 -#define BANIAS(BANIAS208,4828 -static struct cpu_model models[212,4978 -static int centrino_cpu_init_table(234,5398 -static inline int centrino_cpu_init_table(270,6395 -static int centrino_verify_cpu_id(273,6538 -static unsigned extract_clock(283,6814 -static unsigned int get_cur_freq(309,7426 -static struct acpi_processor_performance p;327,7799 -static int centrino_cpu_init_acpi(336,8116 -static inline int centrino_cpu_init_acpi(440,11125 -static int centrino_cpu_init(443,11225 -static int centrino_cpu_exit(512,12845 -static int centrino_verify 539,13415 -static int centrino_target 552,13811 -static struct freq_attr* centrino_attr[626,15819 -static struct cpufreq_driver centrino_driver 631,15920 -static int __init centrino_init(658,16881 -static void __exit centrino_exit(668,17069 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c,763 -static struct pci_dev *speedstep_chipset_dev;36,1121 -static unsigned int speedstep_processor 41,1196 -static struct cpufreq_frequency_table speedstep_freqs[48,1352 -#define dprintk(dprintk61,1623 -#define dprintk(dprintk63,1665 -static void speedstep_set_state 73,1891 -static int speedstep_activate 146,3633 -static unsigned int speedstep_detect_chipset 172,4325 -static unsigned int speedstep_get(226,5643 -static int speedstep_target 252,6390 -static int speedstep_verify 310,7822 -static int speedstep_cpu_init(316,7957 -static int speedstep_cpu_exit(369,9456 -static struct freq_attr* speedstep_attr[375,9581 -static struct cpufreq_driver speedstep_driver 381,9684 -static int __init speedstep_init(400,10174 -static void __exit speedstep_exit(426,10746 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/powernow-k7.c,1621 -#define PFX 37,1053 -struct psb_s psb_s40,1080 -struct pst_s pst_s49,1193 -union powernow_acpi_control_t powernow_acpi_control_t58,1315 -static int mobile_vid_table[70,1483 -static int fid_codes[78,1753 -static int acpi_force;89,2057 -static int debug;90,2080 -static struct cpufreq_frequency_table *powernow_table;92,2099 -static unsigned int can_scale_bus;94,2155 -static unsigned int can_scale_vid;95,2190 -static unsigned int minimum_speed=96,2225 -static unsigned int maximum_speed;97,2263 -static unsigned int number_scales;98,2298 -static unsigned int fsb;99,2333 -static unsigned int latency;100,2358 -static char have_a0;101,2387 -static void dprintk(103,2409 -static int check_fsb(118,2586 -static int check_powernow(127,2754 -static int get_ranges 179,3854 -static void change_FID(225,5092 -static void change_VID(240,5406 -static void change_speed 255,5720 -struct acpi_processor_performance *acpi_processor_perf;305,6798 -static int powernow_acpi_init(307,6855 -static int powernow_acpi_init(415,9656 -static int powernow_decode_bios 423,9847 -static int powernow_target 502,12010 -static int powernow_verify 517,12314 -static int __init fixup_sgtc(530,12743 -static unsigned int powernow_get(550,13039 -static int __init acer_cpufreq_pst(564,13299 -static struct dmi_system_id __initdata powernow_dmi_table[577,13802 -static int __init powernow_cpu_init 589,14049 -static int powernow_cpu_exit 646,15744 -static struct freq_attr* powernow_table_attr[651,15869 -static struct cpufreq_driver powernow_driver 656,15976 -static int __init powernow_init 667,16240 -static void __exit powernow_exit 675,16380 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/speedstep-lib.c,435 -#define dprintk(dprintk29,643 -#define dprintk(dprintk31,685 -static int relaxed_check 35,779 -#define relaxed_check 37,815 -static unsigned int pentium3_get_frequency 44,1062 -static unsigned int pentiumM_get_frequency(114,2751 -static unsigned int pentium4_get_frequency(134,3286 -unsigned int speedstep_get_processor_frequency(178,4304 -unsigned int speedstep_detect_processor 202,5023 -unsigned int speedstep_get_freqs(320,8314 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/longhaul.h,809 -union msr_bcr2 msr_bcr210,146 -union msr_longhaul msr_longhaul21,331 -static int __initdata samuel1_clock_ratio[59,1196 -static int __initdata samuel1_eblcr[78,1665 -static int __initdata samuel2_eblcr[100,2171 -static int __initdata ezra_clock_ratio[122,2657 -static int __initdata ezra_eblcr[141,3124 -static int __initdata ezrat_clock_ratio[163,3618 -static int __initdata ezrat_eblcr[199,4546 -static int __initdata nehemiah_a_clock_ratio[238,5494 -static int __initdata nehemiah_b_clock_ratio[273,6409 -static int __initdata nehemiah_c_clock_ratio[308,7322 -static int __initdata nehemiah_a_eblcr[343,8235 -static int __initdata nehemiah_b_eblcr[378,9165 -static int __initdata nehemiah_c_eblcr[413,10093 -static int __initdata vrm85scales[453,11141 -static int __initdata mobilevrmscales[460,11383 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/longrun.c,574 -static struct cpufreq_driver longrun_driver;19,400 -static unsigned int longrun_low_freq,26,671 -static unsigned int longrun_low_freq, longrun_high_freq;26,671 -static void __init longrun_get_policy(36,968 -static int longrun_set_policy(70,1890 -static int longrun_verify_policy(124,3157 -static unsigned int longrun_get(141,3509 -static unsigned int __init longrun_determine_freqs(163,4123 -static int __init longrun_cpu_init(250,6580 -static struct cpufreq_driver longrun_driver 273,7108 -static int __init longrun_init(289,7478 -static void __exit longrun_exit(304,7765 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/elanfreq.c,728 -#define REG_CSCIR 31,778 -#define REG_CSCDR 32,850 -static int max_freq;35,945 -struct s_elan_multiplier s_elan_multiplier37,967 -struct s_elan_multiplier elan_multiplier[47,1267 -static struct cpufreq_frequency_table elanfreq_table[58,1489 -static unsigned int elanfreq_get_cpu_frequency(80,1989 -static void elanfreq_set_cpu_state 120,3027 -static int elanfreq_verify 175,4608 -static int elanfreq_target 180,4740 -static int elanfreq_cpu_init(199,5104 -static int elanfreq_cpu_exit(235,6007 -static int __init elanfreq_setup(254,6553 -static struct freq_attr* elanfreq_attr[264,6825 -static struct cpufreq_driver elanfreq_driver 270,6927 -static int __init elanfreq_init(282,7206 -static void __exit elanfreq_exit(298,7569 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/acpi.c,844 -#define ACPI_PROCESSOR_COMPONENT 41,1487 -#define ACPI_PROCESSOR_CLASS 42,1531 -#define ACPI_PROCESSOR_DRIVER_NAME 43,1573 -#define ACPI_PROCESSOR_DEVICE_NAME 44,1641 -#define _COMPONENT 46,1689 -ACPI_MODULE_NAME 47,1734 -struct cpufreq_acpi_io cpufreq_acpi_io54,1904 -static struct cpufreq_acpi_io *acpi_io_data[59,2025 -acpi_processor_write_port(63,2092 -acpi_processor_read_port(81,2363 -acpi_processor_set_performance 100,2640 -acpi_cpufreq_target 220,5840 -acpi_cpufreq_verify 246,6381 -acpi_cpufreq_guess_freq 262,6692 -acpi_processor_cpu_init_pdc_est(302,7840 -acpi_processor_cpu_init_pdc(337,8632 -acpi_cpufreq_cpu_init 353,8999 -acpi_cpufreq_cpu_exit 458,12175 -static struct freq_attr* acpi_cpufreq_attr[477,12555 -static struct cpufreq_driver acpi_cpufreq_driver 482,12660 -acpi_cpufreq_init 494,12956 -acpi_cpufreq_exit 507,13171 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c,1069 -#define PFX 27,631 -static int smi_port 35,817 -static int smi_cmd 36,843 -static unsigned int smi_sig 37,869 -static unsigned int speedstep_processor 40,935 -static struct cpufreq_frequency_table speedstep_freqs[46,1091 -#define GET_SPEEDSTEP_OWNER 52,1227 -#define GET_SPEEDSTEP_STATE 53,1257 -#define SET_SPEEDSTEP_STATE 54,1287 -#define GET_SPEEDSTEP_FREQS 55,1317 -#define SMI_TRIES 59,1448 -#define dprintk(dprintk67,1604 -#define dprintk(dprintk69,1646 -static int speedstep_smi_ownership 75,1729 -static int speedstep_smi_get_freqs 102,2569 -static int speedstep_get_state 134,3376 -static void speedstep_set_state 155,3881 -static int speedstep_target 205,5096 -static int speedstep_verify 236,5946 -static int speedstep_cpu_init(242,6081 -static int speedstep_cpu_exit(303,7860 -static unsigned int speedstep_get(309,7985 -static int speedstep_resume(321,8255 -static struct freq_attr* speedstep_attr[331,8474 -static struct cpufreq_driver speedstep_driver 336,8576 -static int __init speedstep_init(355,9100 -static void __exit speedstep_exit(401,10229 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c,1406 -#define PCI_PMER1 86,2924 -#define PCI_PMER2 87,3004 -#define PCI_PMER3 88,3084 -#define PCI_IRQTC 89,3164 -#define PCI_VIDTC 90,3261 -#define PCI_MODOFF 91,3364 -#define PCI_MODON 92,3459 -#define PCI_SUSCFG 93,3543 -#define GPM 96,3637 -#define GIT 97,3706 -#define GTR 98,3789 -#define IRQ_SPDUP 99,3859 -#define VID_SPDUP 100,3953 -#define SUSMOD 103,4066 -#define SMISPDUP 105,4212 -#define SUSCFG 107,4407 -#define PWRSVE_ISA 109,4564 -#define PWRSVE 110,4625 -struct gxfreq_params gxfreq_params112,4683 -static struct gxfreq_params *gx_params;122,4829 -static int stock_freq;123,4869 -static int pci_busclk 126,4962 -static int max_duration 135,5362 -#define POLICY_MIN_DIV 141,5556 -#define SUSPMOD_DEBUG 148,5646 -#define dprintk(dprintk151,5692 -#define dprintk(dprintk153,5756 -static int gx_freq_mult[170,6247 -static struct pci_device_id gx_chipset_tbl[179,6506 -static struct pci_device_id gx_chipset_tbl[] __initdata 179,6506 -static __init struct pci_dev *gx_detect_chipset(190,6880 -static unsigned int gx_get_cpuspeed(217,7652 -static unsigned int gx_validate_speed(232,7963 -static void gx_set_cpuspeed(264,8656 -static int cpufreq_gx_verify(341,11252 -static int cpufreq_gx_target(379,12393 -static int cpufreq_gx_cpu_init(406,13019 -static struct cpufreq_driver gx_suspmod_driver 448,14081 -static int __init cpufreq_gx_init(457,14303 -static void __exit cpufreq_gx_exit(499,15554 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c,1050 -#define PFX 38,1150 - DC_RESV,45,1296 - DC_RESV, DC_DFLT,45,1296 - DC_RESV, DC_DFLT, DC_25PT,45,1296 - DC_RESV, DC_DFLT, DC_25PT, DC_38PT,45,1296 - DC_RESV, DC_DFLT, DC_25PT, DC_38PT, DC_50PT,45,1296 - DC_64PT,46,1342 - DC_64PT, DC_75PT,46,1342 - DC_64PT, DC_75PT, DC_88PT,46,1342 - DC_64PT, DC_75PT, DC_88PT, DC_DISABLE46,1342 -#define DC_ENTRIES 49,1385 -static int has_N44_O17_errata[52,1408 -static unsigned int stock_freq;53,1448 -static struct cpufreq_driver p4clockmod_driver;54,1480 -static int cpufreq_p4_setdc(57,1583 -static struct cpufreq_frequency_table p4clockmod_table[93,2525 -static int cpufreq_p4_target(107,2780 -static int cpufreq_p4_verify(164,4250 -static unsigned int cpufreq_p4_get_frequency(170,4386 -static int cpufreq_p4_cpu_init(216,6180 -static int cpufreq_p4_cpu_exit(255,7217 -static unsigned int cpufreq_p4_get(261,7347 -static struct freq_attr* p4clockmod_attr[288,7887 -static struct cpufreq_driver p4clockmod_driver 293,7990 -static int __init cpufreq_p4_init(305,8271 -static void __exit cpufreq_p4_exit(326,8774 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/powernow-k8.c,1774 -#define PFX 40,1289 -#define BFX 41,1317 -#define VERSION 42,1348 -static struct powernow_k8_data *powernow_data[48,1474 -static u32 find_freq_from_fid(51,1583 -static u32 find_khz_freq_from_fid(57,1706 -static u32 find_millivolts_from_vid(63,1850 -static u32 convert_fid_to_vco_fid(69,1994 -static int pending_bit_stuck(82,2286 -static int query_current_values_with_pending_wait(94,2518 -static void count_off_irt(115,2976 -static void count_off_vst(122,3116 -static void fidvid_msr_init(129,3294 -static int write_new_fid(145,3722 -static int write_new_vid(183,4673 -static int decrease_vid_code_by_step(223,5691 -static int transition_fid_vid(237,5986 -static int core_voltage_pre_transition(265,6745 -static int core_frequency_transition(310,7881 -static int core_voltage_post_transition(386,9834 -static int check_supported_cpu(434,10965 -static int check_pst_table(482,12133 -static void print_basics(520,13216 -static int fill_powernow_table(535,13753 -static int find_psb_table(593,15467 -static void powernow_k8_acpi_pst_values(668,17902 -static int powernow_k8_cpu_init_acpi(680,18456 -static void powernow_k8_cpu_exit_acpi(785,21877 -static int powernow_k8_cpu_init_acpi(792,22061 -static void powernow_k8_cpu_exit_acpi(793,22149 -static void powernow_k8_acpi_pst_values(794,22230 -static int transition_frequency(798,22440 -static int powernowk8_target(856,24003 -static int powernowk8_verify(919,25706 -static int __init powernowk8_cpu_init(927,25939 -static int __devexit powernowk8_cpu_exit 1027,28374 -static unsigned int powernowk8_get 1044,28676 -static struct freq_attr* powernow_k8_attr[1070,29288 -static struct cpufreq_driver cpufreq_amd64_driver 1075,29392 -static int __init powernowk8_init(1087,29715 -static void __exit powernowk8_exit(1108,30179 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/speedstep-lib.h,316 -#define SPEEDSTEP_PROCESSOR_PIII_C_EARLY 15,295 -#define SPEEDSTEP_PROCESSOR_PIII_C 16,370 -#define SPEEDSTEP_PROCESSOR_PIII_T 17,440 -#define SPEEDSTEP_PROCESSOR_P4M 18,509 -#define SPEEDSTEP_PROCESSOR_PM 23,779 -#define SPEEDSTEP_PROCESSOR_P4D 24,841 -#define SPEEDSTEP_HIGH 28,950 -#define SPEEDSTEP_LOW 29,1001 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/powernow-k6.c,714 -#define POWERNOW_IOPORT 22,530 -static unsigned int busfreq;25,632 -static unsigned int max_multiplier;26,704 -static struct cpufreq_frequency_table clock_ratio[30,825 -static int powernow_k6_get_cpu_multiplier(49,1369 -static void powernow_k6_set_state 70,1917 -static int powernow_k6_verify(113,3170 -static int powernow_k6_target 127,3562 -static int powernow_k6_cpu_init(142,3892 -static int powernow_k6_cpu_exit(177,4758 -static unsigned int powernow_k6_get(188,4983 -static struct freq_attr* powernow_k6_attr[193,5094 -static struct cpufreq_driver powernow_k6_driver 198,5198 -static int __init powernow_k6_init(217,5727 -static void __exit powernow_k6_exit(244,6338 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/powernow-k7.h,90 -union msr_fidvidctl msr_fidvidctl11,195 -union msr_fidvidstatus msr_fidvidstatus28,511 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/longhaul.c,1827 -#define PFX 39,1396 -#define TYPE_LONGHAUL_V1 41,1422 -#define TYPE_LONGHAUL_V2 42,1449 -#define TYPE_POWERSAVER 43,1476 -#define CPU_SAMUEL 45,1504 -#define CPU_SAMUEL2 46,1525 -#define CPU_EZRA 47,1547 -#define CPU_EZRA_T 48,1566 -#define CPU_NEHEMIAH 49,1587 -static int cpu_model;51,1611 -static unsigned int numscales=52,1633 -static unsigned int fsb;53,1679 -static int minvid,54,1704 -static int minvid, maxvid;54,1704 -static unsigned int minmult,55,1731 -static unsigned int minmult, maxmult;55,1731 -static int can_scale_voltage;56,1769 -static int vrmrev;57,1799 -static int dont_scale_voltage;60,1843 -static int debug;61,1874 -static void dprintk(63,1893 -#define __hlt(__hlt78,2073 -static int clock_ratio[81,2171 -static int eblcr_table[82,2199 -static int voltage_table[83,2227 -static unsigned int highest_speed,84,2257 -static unsigned int highest_speed, lowest_speed;84,2257 -static int longhaul_version;85,2316 -static struct cpufreq_frequency_table *longhaul_table;86,2345 -static char speedbuffer[87,2400 -static char *print_speed(89,2429 -static unsigned int calc_speed(103,2708 -static int longhaul_get_cpu_mult(114,2844 -static void do_powersaver(128,3164 -static void longhaul_setstate(169,4076 -#define ROUNDING 255,6595 -static int _guess(257,6617 -static int guess_fsb(270,6804 -static int __init longhaul_get_ranges(287,7046 -static void __init longhaul_setup_voltagescaling(409,10530 -static int longhaul_verify(463,12140 -static int longhaul_target(469,12268 -static unsigned int longhaul_get(486,12683 -static int __init longhaul_cpu_init(494,12807 -static int __devexit longhaul_cpu_exit(602,15807 -static struct freq_attr* longhaul_attr[608,15941 -static struct cpufreq_driver longhaul_driver 613,16042 -static int __init longhaul_init(625,16311 -static void __exit longhaul_exit(643,16669 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/cpufreq/powernow-k8.h,2070 -struct powernow_k8_data powernow_k8_data8,228 -#define CPUID_PROCESSOR_SIGNATURE 41,1320 -#define CPUID_XFAM 42,1373 -#define CPUID_XFAM_K8 43,1427 -#define CPUID_XMOD 44,1453 -#define CPUID_XMOD_REV_E 45,1506 -#define CPUID_USE_XFAM_XMOD 46,1543 -#define CPUID_GET_MAX_CAPABILITIES 47,1583 -#define CPUID_FREQ_VOLT_CAPABILITIES 48,1629 -#define P_STATE_TRANSITION_CAPABLE 49,1677 -#define MSR_FIDVID_CTL 56,2040 -#define MSR_FIDVID_STATUS 57,2079 -#define MSR_C_LO_INIT_FID_VID 60,2180 -#define MSR_C_LO_NEW_VID 61,2225 -#define MSR_C_LO_NEW_FID 62,2270 -#define MSR_C_LO_VID_SHIFT 63,2315 -#define MSR_C_HI_STP_GNT_TO 66,2414 -#define MSR_S_LO_CHANGE_PENDING 69,2520 -#define MSR_S_LO_MAX_RAMP_VID 70,2594 -#define MSR_S_LO_MAX_FID 71,2639 -#define MSR_S_LO_START_FID 72,2684 -#define MSR_S_LO_CURRENT_FID 73,2729 -#define MSR_S_HI_MAX_WORKING_VID 76,2836 -#define MSR_S_HI_START_VID 77,2881 -#define MSR_S_HI_CURRENT_VID 78,2926 -#define MSR_C_HI_STP_GNT_BENIGN 79,2971 -#define LO_FID_TABLE_TOP 94,3591 -#define HI_FID_TABLE_BOTTOM 95,3663 -#define LO_VCOFREQ_TABLE_TOP 97,3736 -#define HI_VCOFREQ_TABLE_BOTTOM 98,3814 -#define MIN_FREQ_RESOLUTION 100,3852 -#define MAX_FID 102,3934 -#define LEAST_VID 103,4004 -#define MIN_FREQ 105,4080 -#define MAX_FREQ 106,4135 -#define INVALID_FID_MASK 108,4158 -#define INVALID_VID_MASK 109,4239 -#define STOP_GRANT_5NS 111,4321 -#define PLL_LOCK_CONVERSION 113,4403 -#define MAXIMUM_VID_STEPS 115,4485 -#define VST_UNITS_20US 116,4566 -#define IRT_SHIFT 123,4859 -#define RVO_SHIFT 124,4885 -#define PLL_L_SHIFT 125,4911 -#define MVS_SHIFT 126,4937 -#define VST_SHIFT 127,4963 -#define VID_SHIFT 128,4989 -#define IRT_MASK 129,5015 -#define RVO_MASK 130,5041 -#define PLL_L_MASK 131,5067 -#define MVS_MASK 132,5093 -#define VST_MASK 133,5119 -#define VID_MASK 134,5145 -#define FID_MASK 135,5171 -#define PSB_ID_STRING 146,5540 -#define PSB_ID_STRING_LEN 147,5580 -#define PSB_VERSION_1_4 149,5611 -struct psb_s psb_s151,5642 -struct pst_s pst_s166,5907 -#define dprintk(dprintk172,5957 -#define dprintk(dprintk174,5999 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/cpu/rise.c,124 -static void __init init_rise(8,122 -static struct cpu_dev rise_cpu_dev __initdata 31,729 -int __init rise_init_cpu(47,1052 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/kernel/dmi_scan.c,994 -int es7000_plat 15,293 -struct dmi_headerdmi_header17,315 -#define dmi_printk(dmi_printk27,409 -#define dmi_printk(dmi_printk29,446 -static char * __init dmi_string(32,476 -static int __init dmi_table(53,807 -inline static int __init dmi_checksum(92,1602 -static int __init dmi_iterate(102,1729 -static char *dmi_ident[137,2574 -static void __init dmi_save_ident(143,2645 -#define dmi_blacklist 161,3049 -#define NO_MATCH 162,3085 -#define MATCH 163,3120 -static __init int broken_toshiba_keyboard(169,3223 -static __init int reset_videomode_after_s3(177,3516 -static __init __attribute__(190,3736 -static __init __attribute__(205,4088 -static __init int ignore_timer_override(222,4533 -static __init int disable_acpi_irq(234,4810 -static __init int disable_acpi_pci(243,5014 -static __initdata struct dmi_blacklist dmi_blacklist[264,5395 -static void __init dmi_decode(453,11347 -void __init dmi_scan_machine(499,12606 -int dmi_check_system(517,13095 -char * dmi_get_system_info(550,13761 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/op_model_athlon.c,899 -#define NUM_COUNTERS 20,361 -#define NUM_CONTROLS 21,384 -#define CTR_READ(CTR_READ23,408 -#define CTR_WRITE(CTR_WRITE24,495 -#define CTR_OVERFLOWED(CTR_OVERFLOWED25,595 -#define CTRL_READ(CTRL_READ27,642 -#define CTRL_WRITE(CTRL_WRITE28,730 -#define CTRL_SET_ACTIVE(CTRL_SET_ACTIVE29,819 -#define CTRL_SET_INACTIVE(CTRL_SET_INACTIVE30,861 -#define CTRL_CLEAR(CTRL_CLEAR31,906 -#define CTRL_SET_ENABLE(CTRL_SET_ENABLE32,943 -#define CTRL_SET_USR(CTRL_SET_USR33,987 -#define CTRL_SET_KERN(CTRL_SET_KERN34,1040 -#define CTRL_SET_UM(CTRL_SET_UM35,1094 -#define CTRL_SET_EVENT(CTRL_SET_EVENT36,1140 -static unsigned long reset_value[38,1183 -static void athlon_fill_in_addresses(40,1233 -static void athlon_setup_ctrs(54,1651 -static int athlon_check_ctrs(93,2591 -static void athlon_start(115,3076 -static void athlon_stop(129,3340 -struct op_x86_model_spec const op_athlon_spec 144,3657 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/op_x86_model.h,182 -#define OP_X86_MODEL_H12,213 -struct op_saved_msr op_saved_msr14,237 -struct op_msr op_msr19,302 -struct op_msrs op_msrs24,371 -struct op_x86_model_spec op_x86_model_spec34,565 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/nmi_int.c,1304 -static struct op_x86_model_spec const * model;23,429 -static struct op_msrs cpu_msrs[24,476 -static unsigned long saved_lvtpc[25,517 -static int nmi_enabled 31,673 -static int nmi_suspend(35,720 -static int nmi_resume(43,832 -static struct sysdev_class oprofile_sysclass 51,933 -static struct sys_device device_oprofile 58,1064 -static int __init init_driverfs(64,1152 -static void __exit exit_driverfs(73,1327 -#define init_driverfs(init_driverfs80,1461 -#define exit_driverfs(exit_driverfs81,1502 -static int nmi_callback(85,1568 -static void nmi_cpu_save_registers(91,1686 -static void nmi_save_registers(113,2195 -static void free_msrs(122,2382 -static int allocate_msrs(134,2584 -static void nmi_cpu_setup(164,3151 -static int nmi_setup(176,3438 -static void nmi_restore_registers(201,4056 -static void nmi_cpu_shutdown(223,4565 -static void nmi_shutdown(242,5171 -static void nmi_cpu_start(252,5330 -static int nmi_start(259,5460 -static void nmi_cpu_stop(266,5547 -static void nmi_stop(273,5676 -struct op_counter_config counter_config[279,5749 -static int nmi_create_files(281,5807 -struct oprofile_operations nmi_ops 303,6522 -static int __init p4_init(312,6694 -static int __init ppro_init(343,7257 -static int using_nmi;365,7685 -int __init nmi_init(367,7708 -void __exit nmi_exit(426,8788 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/init.c,70 -int __init oprofile_arch_init(22,486 -void oprofile_arch_exit(37,725 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/op_model_ppro.c,888 -#define NUM_COUNTERS 21,386 -#define NUM_CONTROLS 22,409 -#define CTR_READ(CTR_READ24,433 -#define CTR_WRITE(CTR_WRITE25,520 -#define CTR_OVERFLOWED(CTR_OVERFLOWED26,611 -#define CTRL_READ(CTRL_READ28,658 -#define CTRL_WRITE(CTRL_WRITE29,748 -#define CTRL_SET_ACTIVE(CTRL_SET_ACTIVE30,839 -#define CTRL_SET_INACTIVE(CTRL_SET_INACTIVE31,881 -#define CTRL_CLEAR(CTRL_CLEAR32,926 -#define CTRL_SET_ENABLE(CTRL_SET_ENABLE33,963 -#define CTRL_SET_USR(CTRL_SET_USR34,1007 -#define CTRL_SET_KERN(CTRL_SET_KERN35,1060 -#define CTRL_SET_UM(CTRL_SET_UM36,1114 -#define CTRL_SET_EVENT(CTRL_SET_EVENT37,1160 -static unsigned long reset_value[39,1203 -static void ppro_fill_in_addresses(41,1253 -static void ppro_setup_ctrs(51,1497 -static int ppro_check_ctrs(88,2400 -static void ppro_start(120,3368 -static void ppro_stop(129,3544 -struct op_x86_model_spec const op_ppro_spec 138,3721 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/nmi_timer_int.c,190 -static int nmi_timer_callback(21,362 -static int timer_start(29,543 -static void timer_stop(37,659 -static struct oprofile_operations nmi_timer_ops 45,770 -int __init nmi_timer_init(51,891 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/op_counter.h,110 -#define OP_COUNTER_H11,157 -#define OP_MAX_COUNTER 13,180 -struct op_counter_config op_counter_config18,266 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/oprofile/op_model_p4.c,2594 -#define NUM_EVENTS 21,369 -#define NUM_COUNTERS_NON_HT 23,392 -#define NUM_ESCRS_NON_HT 24,422 -#define NUM_CCCRS_NON_HT 25,450 -#define NUM_CONTROLS_NON_HT 26,478 -#define NUM_COUNTERS_HT2 28,545 -#define NUM_ESCRS_HT2 29,572 -#define NUM_CCCRS_HT2 30,597 -#define NUM_CONTROLS_HT2 31,621 -static unsigned int num_counters 33,679 -static inline void setup_num_counters(39,858 -static int inline addr_increment(47,995 -struct p4_counter_binding p4_counter_binding58,1187 -struct p4_event_binding p4_event_binding64,1279 -#define CTR_BPU_0 77,1606 -#define CTR_MS_0 78,1638 -#define CTR_FLAME_0 79,1670 -#define CTR_IQ_4 80,1702 -#define CTR_BPU_2 81,1734 -#define CTR_MS_2 82,1766 -#define CTR_FLAME_2 83,1798 -#define CTR_IQ_5 84,1830 -static struct p4_counter_binding p4_counters 86,1863 -#define NUM_UNUSED_CCCRS 97,2409 -static int p4_unused_cccr[100,2503 -static struct p4_event_binding p4_events[110,2808 -#define MISC_PMC_ENABLED_P(MISC_PMC_ENABLED_P348,7486 -#define ESCR_RESERVED_BITS 350,7532 -#define ESCR_CLEAR(ESCR_CLEAR351,7570 -#define ESCR_SET_USR_0(ESCR_SET_USR_0352,7626 -#define ESCR_SET_OS_0(ESCR_SET_OS_0353,7691 -#define ESCR_SET_USR_1(ESCR_SET_USR_1354,7753 -#define ESCR_SET_OS_1(ESCR_SET_OS_1355,7813 -#define ESCR_SET_EVENT_SELECT(ESCR_SET_EVENT_SELECT356,7875 -#define ESCR_SET_EVENT_MASK(ESCR_SET_EVENT_MASK357,7951 -#define ESCR_READ(ESCR_READ358,8028 -#define ESCR_WRITE(ESCR_WRITE359,8132 -#define CCCR_RESERVED_BITS 361,8238 -#define CCCR_CLEAR(CCCR_CLEAR362,8276 -#define CCCR_SET_REQUIRED_BITS(CCCR_SET_REQUIRED_BITS363,8332 -#define CCCR_SET_ESCR_SELECT(CCCR_SET_ESCR_SELECT364,8392 -#define CCCR_SET_PMI_OVF_0(CCCR_SET_PMI_OVF_0365,8467 -#define CCCR_SET_PMI_OVF_1(CCCR_SET_PMI_OVF_1366,8520 -#define CCCR_SET_ENABLE(CCCR_SET_ENABLE367,8573 -#define CCCR_SET_DISABLE(CCCR_SET_DISABLE368,8623 -#define CCCR_READ(CCCR_READ369,8675 -#define CCCR_WRITE(CCCR_WRITE370,8775 -#define CCCR_OVF_P(CCCR_OVF_P371,8876 -#define CCCR_CLEAR_OVF(CCCR_CLEAR_OVF372,8921 -#define CTR_READ(CTR_READ374,8975 -#define CTR_WRITE(CTR_WRITE375,9065 -#define CTR_OVERFLOW_P(CTR_OVERFLOW_P376,9159 -static unsigned int get_stagger(382,9410 -#define VIRT_CTR(VIRT_CTR395,9720 -static unsigned long reset_value[397,9787 -static void p4_fill_in_addresses(400,9844 -static void pmc_setup_one_p4_counter(478,12142 -static void p4_setup_ctrs(542,13853 -static int p4_check_ctrs(622,15877 -static void p4_start(676,17313 -static void p4_stop(693,17627 -struct op_x86_model_spec const op_p4_ht2_spec 709,17923 -struct op_x86_model_spec const op_p4_spec 720,18200 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-visws/setup.c,303 -char visws_board_type 17,313 -char visws_board_rev 18,341 -void __init visws_get_board_type_and_rev(20,369 -void __init pre_intr_init_hook(96,2527 -void __init intr_init_hook(101,2594 -void __init pre_setup_arch_hook(108,2687 -static struct irqaction irq0 113,2759 -void __init time_init_hook(119,2868 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-visws/visws_apic.c,820 -static spinlock_t cobalt_lock 34,893 -static inline void co_apic_set(40,1049 -static inline int co_apic_ide0_hack(49,1285 -static int is_co_apic(59,1488 -static void enable_cobalt_irq(77,1785 -static void disable_cobalt_irq(82,1874 -static unsigned int startup_cobalt_irq(95,2255 -static void ack_cobalt_irq(107,2614 -static void end_cobalt_irq(117,2837 -static struct hw_interrupt_type cobalt_irq_type 127,3087 -static unsigned int startup_piix4_master_irq(148,3833 -static void end_piix4_master_irq(155,3951 -static struct hw_interrupt_type piix4_master_irq_type 164,4142 -static struct hw_interrupt_type piix4_virtual_irq_type 172,4328 -static irqreturn_t piix4_master_intr(196,5160 -static struct irqaction master_action 261,6489 -static struct irqaction cascade_action 266,6590 -void init_VISWS_APIC_irqs(272,6683 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-visws/reboot.c,190 -int reboot_thru_bios;11,172 -int reboot_smp;12,194 -void machine_restart(14,211 -void machine_power_off(29,460 -#define PCI_CONF1_ADDRESS(PCI_CONF1_ADDRESS41,684 -void machine_halt(50,926 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-visws/traps.c,183 -#define A01234 17,284 -#define BCD 18,359 -#define ALLDEVS 19,401 -static __init void lithium_init(21,433 -static __init void cobalt_init(42,1161 -void __init trap_init_hook(65,1916 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-visws/mpparse.c,397 -int smp_found_config;13,193 -int apic_version 19,295 -int pic_mode;21,326 -unsigned long mp_lapic_addr;22,340 -unsigned int boot_cpu_physical_apicid 25,412 -unsigned int boot_cpu_logical_apicid 26,457 -physid_mask_t phys_cpu_present_map;29,544 -unsigned int __initdata maxcpus 31,581 -void __init MP_processor_info 39,782 -void __init find_smp_config(81,1911 -void __init get_smp_config 103,2368 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-generic/summit.c,104 -#define APIC_DEFINITION 4,53 -static __init int probe_summit(21,518 -struct genapic apic_summit 27,615 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-generic/es7000.c,104 -#define APIC_DEFINITION 4,53 -static __init int probe_es7000(22,560 -struct genapic apic_es7000 28,655 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-generic/probe.c,263 -struct genapic *genapic 23,557 -struct genapic *apic_probe[25,599 -struct genapic *apic_probe[] __initdata 25,599 -void __init generic_apic_probe(33,736 -int __init mps_oem_check(71,1621 -int __init acpi_madt_oem_check(85,1955 -int hard_smp_processor_id(99,2280 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-generic/bigsmp.c,240 -#define APIC_DEFINITION 5,128 -static int dmi_bigsmp;22,591 -static __init int hp_ht_bigsmp(24,648 -static struct dmi_system_id __initdata bigsmp_dmi_table[34,849 -static __init int probe_bigsmp(48,1167 -struct genapic apic_bigsmp 54,1269 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-generic/default.c,106 -#define APIC_DEFINITION 4,66 -static __init int probe_default(22,564 -struct genapic apic_default 27,620 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/power/cpu.c,703 -static struct saved_context saved_context;29,636 -unsigned long saved_context_eax,31,680 -unsigned long saved_context_eax, saved_context_ebx;31,680 -unsigned long saved_context_ecx,32,732 -unsigned long saved_context_ecx, saved_context_edx;32,732 -unsigned long saved_context_esp,33,784 -unsigned long saved_context_esp, saved_context_ebp;33,784 -unsigned long saved_context_esi,34,836 -unsigned long saved_context_esi, saved_context_edi;34,836 -unsigned long saved_context_eflags;35,888 -void __save_processor_state(39,962 -void save_processor_state(68,1752 -do_fpu_end(74,1842 -static void fix_processor_context(83,2044 -void __restore_processor_state(109,2931 -void restore_processor_state(146,3869 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/power/swsusp.S,28 -copy_loop:copy_loop39,798 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/crypto/aes-i586-asm.S,293 -.file .file36,1502 -.global .global191,5956 -.extern .extern193,5978 -.extern .extern194,5994 -.align .align196,6011 -aes_enc_blk:aes_enc_blk198,6021 -.global .global266,7779 -.extern .extern268,7801 -.extern .extern269,7817 -.align .align271,7834 -aes_dec_blk:aes_dec_blk273,7844 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/crypto/aes.c,1606 -#define AES_MIN_KEY_SIZE 49,1760 -#define AES_MAX_KEY_SIZE 50,1788 -#define AES_BLOCK_SIZE 51,1816 -#define AES_KS_LENGTH 52,1843 -#define RC_LENGTH 53,1885 -struct aes_ctx aes_ctx55,1908 -#define WPOLY 61,1994 -#define u32_in(u32_in62,2015 -#define bytes2word(bytes2word63,2064 -#define f2(f267,2233 -#define f3(f368,2278 -#define f9(f969,2323 -#define fb(fb70,2368 -#define fd(fd71,2413 -#define fe(fe72,2458 -#define fi(fi73,2503 -static inline u32 upr(75,2549 -static inline u8 bval(80,2634 -#define fwd_affine(fwd_affine86,2766 -#define inv_affine(inv_affine89,2860 -static u32 rcon_tab[92,2946 -u32 ft_tab[94,2979 -u32 fl_tab[95,2999 -u32 ls_tab[96,3019 -u32 im_tab[97,3039 -u32 il_tab[98,3059 -u32 it_tab[99,3079 -void gen_tabs(101,3100 -#define four_tables(four_tables181,4828 -#define vf1(vf1188,5017 -#define rf1(rf1189,5041 -#define rf2(rf2190,5065 -#define inv_mcol(inv_mcol192,5096 -#define ls_box(ls_box193,5148 -#define ff(ff195,5201 -#define ke4(ke4197,5228 -#define kel4(kel4205,5433 -#define ke6(ke6212,5628 -#define kel6(kel6222,5911 -#define ke8(ke8230,6121 -#define kel8(kel8242,6487 -#define kdf4(kdf4250,6697 -#define kd4(kd4268,7192 -#define kdl4(kdl4279,7499 -#define kdf6(kdf6289,7764 -#define kd6(kd6305,8168 -#define kdl6(kdl6322,8668 -#define kdf8(kdf8334,8946 -#define kd8(kd8354,9472 -#define kdl8(kdl8378,10151 -aes_set_key(391,10440 -static inline void aes_encrypt(475,12355 -static inline void aes_decrypt(479,12454 -static struct crypto_alg aes_alg 485,12555 -static int __init aes_init(503,13025 -static void __exit aes_fini(509,13115 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/fixup.c,942 -static void __devinit pci_fixup_i450nx(10,155 -static void __devinit pci_fixup_i450gx(34,912 -static void __devinit pci_fixup_umc_ide(48,1400 -static void __devinit pci_fixup_ncr53c810(62,1859 -static void __devinit pci_fixup_ide_bases(75,2279 -static void __devinit pci_fixup_ide_trash(95,2768 -static void __devinit pci_fixup_latency(121,3667 -static void __devinit pci_fixup_piix4_acpi(133,4077 -#define VIA_8363_KL133_REVISION_ID 159,5090 -#define VIA_8363_KM133_REVISION_ID 160,5130 -static void __devinit pci_fixup_via_northbridge_bug(162,5171 -static void __devinit pci_fixup_transparent_bridge(208,7183 -static void __init pci_fixup_nforce2(228,7996 -#define MAX_PCIEROOT 259,8868 -static int quirk_aspm_offset[260,8891 -#define GET_INDEX(GET_INDEX262,8941 -static int quirk_pcie_aspm_read(264,9012 -static int quirk_pcie_aspm_write(273,9327 -struct pci_ops quirk_pcie_aspm_ops 285,9657 -void pcie_rootport_aspm_quirk(298,10075 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/i386.c,396 -pcibios_align_resource(50,1345 -static void __init pcibios_allocate_bus_resources(97,3191 -static void __init pcibios_allocate_resources(122,3904 -static int __init pcibios_assign_resources(167,5373 -void __init pcibios_resource_survey(210,6447 -int pcibios_enable_resources(224,6798 -unsigned int pcibios_max_latency 260,7772 -void pcibios_set_master(262,7813 -int pci_mmap_page_range(276,8230 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/visws.c,354 -static int pci_visws_enable_irq(20,312 -void __init pcibios_penalize_isa_irq(24,453 -unsigned int pci_bus0,27,504 -unsigned int pci_bus0, pci_bus1;27,504 -static inline u8 bridge_swizzle(29,538 -static u8 __init visws_swizzle(34,631 -static int __init visws_map_irq(47,901 -void __init pcibios_update_irq(85,1971 -static int __init pcibios_init(90,2091 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/numa.c,392 -#define BUS2QUAD(BUS2QUAD9,126 -#define BUS2LOCAL(BUS2LOCAL10,179 -#define QUADLOCAL2BUS(QUADLOCAL2BUS11,234 -#define PCI_CONF1_MQ_ADDRESS(PCI_CONF1_MQ_ADDRESS13,308 -static int pci_conf1_mq_read 16,424 -static int pci_conf1_mq_write 44,1039 -static struct pci_raw_ops pci_direct_conf1_mq 74,1685 -static void __devinit pci_fixup_i450nx(80,1797 -static int __init pci_numa_init(105,2619 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/acpi.c,93 -struct pci_bus * __devinit pci_acpi_scan_root(8,136 -static int __init pci_acpi_init(18,377 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/mmconfig.c,315 -u32 pci_mmcfg_base_addr;17,391 -#define mmcfg_virt_addr 19,417 -static u32 mmcfg_last_accessed_device;22,548 -static inline void pci_exp_set_dev_base(28,670 -static int pci_mmcfg_read(37,940 -static int pci_mmcfg_write(65,1474 -static struct pci_raw_ops pci_mmcfg 93,1996 -static int __init pci_mmcfg_init(98,2093 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/direct.c,521 -#define PCI_CONF1_ADDRESS(PCI_CONF1_ADDRESS13,208 -static int pci_conf1_read 16,310 -static int pci_conf1_write 44,829 -struct pci_raw_ops pci_direct_conf1 74,1376 -#define PCI_CONF2_ADDRESS(PCI_CONF2_ADDRESS84,1554 -static int pci_conf2_read(86,1624 -static int pci_conf2_write 124,2329 -static struct pci_raw_ops pci_direct_conf2 164,3067 -static int __init pci_sanity_check(180,3708 -static int __init pci_check_type1(204,4216 -static int __init pci_check_type2(224,4559 -static int __init pci_direct_init(244,4881 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/common.c,614 -unsigned int pci_probe 23,356 -int pcibios_last_bus 26,457 -struct pci_bus *pci_root_bus 27,484 -struct pci_raw_ops *raw_pci_ops;28,521 -static int pci_read(30,555 -static int pci_write(35,724 -struct pci_ops pci_root_ops 40,894 -int pcibios_scanned;49,1088 -spinlock_t pci_config_lock 55,1202 -static void __devinit pcibios_fixup_ghosts(64,1504 -void __devinit pcibios_fixup_bus(115,2782 -struct pci_bus * __devinit pcibios_scan_root(122,2894 -static int __init pcibios_init(140,3258 -char * __devinit pcibios_setup(171,4050 -unsigned int pcibios_assign_all_busses(234,5498 -int pcibios_enable_device(239,5601 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/legacy.c,99 -static void __devinit pcibios_fixup_peer_bridges(12,265 -static int __init pci_legacy_init(36,862 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/pci.h,558 -#define DBG(DBG10,118 -#define DBG(DBG12,152 -#define PCI_PROBE_BIOS 15,178 -#define PCI_PROBE_CONF1 16,209 -#define PCI_PROBE_CONF2 17,241 -#define PCI_PROBE_MMCONF 18,273 -#define PCI_PROBE_MASK 19,305 -#define PCI_NO_SORT 21,337 -#define PCI_BIOS_SORT 22,365 -#define PCI_NO_CHECKS 23,395 -#define PCI_USE_PIRQ_MASK 24,425 -#define PCI_ASSIGN_ROMS 25,458 -#define PCI_BIOS_IRQ_SCAN 26,490 -#define PCI_ASSIGN_ALL_BUSSES 27,523 -struct irq_info irq_info46,879 - } __attribute__(__attribute__51,1055 -struct irq_routing_table irq_routing_table56,1168 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/irq.c,2621 -#define PIRQ_SIGNATURE 23,443 -#define PIRQ_VERSION 24,520 -static int broken_hp_bios_irq9;26,549 -static int acer_tm360_irqrouting;27,581 -static struct irq_routing_table *pirq_table;29,616 -unsigned int pcibios_irq_mask 36,853 -static int pirq_penalty[38,894 -struct irq_router irq_router43,1027 -struct irq_router_handler irq_router_handler50,1230 -static struct irq_routing_table * __init pirq_find_routing_table(61,1473 -static void __init pirq_peer_trick(92,2265 -void eisa_set_level_irq(126,3086 -static unsigned int read_config_nybble(142,3413 -static void write_config_nybble(151,3636 -static int pirq_ali_get(166,4085 -static int pirq_ali_set(173,4320 -static int pirq_piix_get(189,4732 -static int pirq_piix_set(197,4892 -static int pirq_via_get(208,5200 -static int pirq_via_set(213,5348 -static int pirq_ite_get(224,5652 -static int pirq_ite_set(230,5845 -static int pirq_opti_get(241,6144 -static int pirq_opti_set(246,6282 -static int pirq_cyrix_get(257,6560 -static int pirq_cyrix_set(262,6700 -#define PIRQ_SIS_IRQ_MASK 329,9451 -#define PIRQ_SIS_IRQ_DISABLE 330,9482 -#define PIRQ_SIS_USB_ENABLE 331,9516 -static int pirq_sis_get(333,9550 -static int pirq_sis_set(345,9819 -static int pirq_vlsi_get(369,10513 -static int pirq_vlsi_set(378,10740 -static int pirq_serverworks_get(399,11506 -static int pirq_serverworks_set(405,11646 -static int pirq_amd756_get(420,12123 -static int pirq_amd756_set(433,12433 -static int pirq_bios_set(446,12756 -static __init int intel_router_probe(456,12983 -static __init int via_router_probe(492,14083 -static __init int vlsi_router_probe(510,14534 -static __init int serverworks_router_probe(524,14796 -static __init int sis_router_probe(538,15122 -static __init int cyrix_router_probe(549,15349 -static __init int opti_router_probe(562,15608 -static __init int ite_router_probe(575,15862 -static __init int ali_router_probe(588,16114 -static __init int amd_router_probe(603,16431 -static __initdata struct irq_router_handler pirq_routers[624,16852 -static struct irq_router pirq_router;638,17434 -static struct pci_dev *pirq_router_dev;639,17472 -static void __init pirq_find_router(647,17592 -static struct irq_info *pirq_get_info(690,18776 -static int pcibios_lookup_irq(702,19156 -static void __init pcibios_fixup_irqs(835,22794 -static int __init fix_broken_hp_bios_irq9(910,25095 -static int __init fix_acer_tm360_irqrouting(923,25448 -static struct dmi_system_id __initdata pciirq_dmi_table[932,25671 -static int __init pcibios_irq_init(954,26266 -void pcibios_penalize_isa_irq(992,27080 -int pirq_enable_irq(1001,27282 -int pci_vector_resources(1067,29446 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/pci/pcbios.c,933 -#define BIOS32_SIGNATURE 12,165 -#define PCI_SIGNATURE 15,273 -#define PCI_SERVICE 18,387 -#define PCIBIOS_HW_TYPE1 21,503 -#define PCIBIOS_HW_TYPE2 22,534 -#define PCIBIOS_HW_TYPE1_SPEC 23,565 -#define PCIBIOS_HW_TYPE2_SPEC 24,601 -union bios32 bios3236,928 -} bios32_indirect 58,1605 -static unsigned long bios32_service(64,1718 -} pci_indirect 99,2570 -static int pci_bios_present;101,2608 -static int __devinit check_pcibios(103,2638 -static int __devinit pci_bios_find_device 153,3987 -static int pci_bios_read 175,4515 -static int pci_bios_write 230,5648 -static struct pci_raw_ops pci_bios_access 290,6814 -static struct pci_raw_ops * __devinit pci_find_bios(299,6947 -void __devinit pcibios_sort(353,8572 -struct irq_routing_options irq_routing_options401,9807 -struct irq_routing_table * __devinit pcibios_get_irq_routing_table(407,9914 -int pcibios_set_irq_routing(459,11231 -static int __init pci_pcbios_init(475,11574 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/init.c,2121 -unsigned int __VMALLOC_RESERVE 43,948 -unsigned long highstart_pfn,46,1041 -unsigned long highstart_pfn, highend_pfn;46,1041 -static pmd_t * __init one_md_table_init(55,1327 -static pte_t * __init one_page_table_init(75,1749 -static void __init page_table_range_init 100,2426 -static inline int is_kernel_text(127,3032 -static void __init kernel_physical_mapping_init(139,3356 -static inline int page_kills_ppro(181,4564 -static inline int page_is_ram(190,4747 -int devmem_is_allowed(238,6084 -pte_t *kmap_pte;250,6286 -pgprot_t kmap_prot;251,6303 -#define kmap_get_fixmap_pte(kmap_get_fixmap_pte256,6376 -void __init kmap_init(259,6488 -void __init permanent_kmaps_init(270,6701 -void __init one_highpage_init(286,7048 -void __init set_highmem_pages_init(299,7383 -#define kmap_init(kmap_init311,7678 -#define permanent_kmaps_init(permanent_kmaps_init312,7715 -#define set_highmem_pages_init(set_highmem_pages_init313,7771 -unsigned long long __PAGE_KERNEL 316,7858 -unsigned long long __PAGE_KERNEL_EXEC 317,7907 -#define remap_numa_kva(remap_numa_kva320,7995 -static void __init pagetable_init 325,8091 -char __nosavedata swsusp_pg_dir[378,9497 -static inline void save_pg_dir(381,9581 -static inline void save_pg_dir(386,9679 -void zap_low_mappings 391,9728 -void __init zone_sizes_init(413,10156 -static int disable_nx __initdata 437,10704 -u64 __supported_pte_mask 438,10742 -static int __init noexec_setup(448,10913 -int nx_enabled 464,11240 -static void __init set_nx(466,11261 -int __init set_kernel_exec(486,11710 -void __init paging_init(518,12328 -void __init test_wp_bit(551,13071 -static void __init set_max_mapnr_init(571,13641 -#define __free_all_bootmem(__free_all_bootmem580,13858 -#define __free_all_bootmem(__free_all_bootmem582,13912 -static struct kcore_list kcore_mem,586,14050 -static struct kcore_list kcore_mem, kcore_vmalloc;586,14050 -void __init mem_init(588,14103 -kmem_cache_t *pgd_cache;669,16350 -kmem_cache_t *pmd_cache;670,16375 -void __init pgtable_cache_init(672,16401 -static int noinline do_test_wp_bit(698,17077 -void free_initmem(721,17451 -void free_initrd_mem(736,17861 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/fault.c,196 -void bust_spinlocks(36,778 -static inline unsigned long get_segment_eip(72,1833 -static int __is_prefetch(136,3844 -static inline int is_prefetch(191,5065 -asmlinkage void do_page_fault(216,5818 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/mmap.c,133 -#define MIN_GAP 35,1077 -#define MAX_GAP 36,1109 -static inline unsigned long mmap_base(38,1142 -void arch_pick_mmap_layout(54,1520 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/hugetlbpage.c,599 -static pte_t *huge_pte_alloc(21,430 -static pte_t *huge_pte_offset(31,625 -static void set_huge_pte(41,818 -int is_aligned_hugepage_range(59,1335 -int copy_hugetlb_page_range(68,1505 -follow_hugetlb_page(95,2078 -follow_huge_addr(141,2951 -int pmd_huge(165,3462 -follow_huge_pmd(171,3516 -follow_huge_addr(180,3642 -int pmd_huge(185,3746 -follow_huge_pmd(191,3827 -void unmap_hugepage_range(203,4055 -int hugetlb_prefault(225,4594 -static unsigned long hugetlb_get_unmapped_area_bottomup(288,6003 -static unsigned long hugetlb_get_unmapped_area_topdown(322,6850 -hugetlb_get_unmapped_area(396,8838 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/boot_ioremap.c,314 -#define BOOT_PTE_PTRS 32,756 -#define boot_pte_index(boot_pte_index33,795 -static inline boot_pte_t* boot_vaddr_to_pte(36,886 -static void __boot_ioremap(47,1239 -#define BOOT_IOREMAP_PAGES 62,1681 -#define BOOT_IOREMAP_SIZE 63,1710 -__initdata char boot_ioremap_space[64,1767 -__init void* boot_ioremap(78,2327 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/ioremap.c,286 -static inline void remap_area_pte(20,453 -static inline int remap_area_pmd(46,1072 -static int remap_area_pages(69,1652 -void __iomem * __ioremap(113,2798 -void __iomem *ioremap_nocache 190,5006 -void iounmap(224,5842 -void __init *bt_ioremap(244,6320 -void __init bt_iounmap(288,7261 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/discontig.c,878 -struct pglist_data *node_data[36,1193 -bootmem_data_t node0_bdata;37,1238 -s8 physnode_map[60,2084 -unsigned long node_start_pfn[62,2153 -unsigned long node_end_pfn[63,2197 -#define LARGE_PAGE_BYTES 76,2602 -unsigned long node_remap_start_pfn[78,2655 -unsigned long node_remap_size[79,2705 -unsigned long node_remap_offset[80,2750 -void *node_remap_start_vaddr[81,2797 -int __init get_memcfg_numa_flat(89,3097 -static void __init find_max_pfn_node(107,3504 -static void __init allocate_pgdat(128,4183 -static void __init register_bootmem_low_pages(142,4549 -void __init remap_numa_kva(179,5420 -static unsigned long calculate_numa_remap_pages(195,5773 -static void __init reserve_ebda_region_node(226,6839 -unsigned long __init setup_memory(234,7005 -void __init zone_sizes_init(368,11370 -void __init set_highmem_pages_init(435,13139 -void __init set_max_mapnr_init(463,13815 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/highmem.c,133 -void *kmap(3,28 -void kunmap(11,165 -void *kmap_atomic(28,637 -void kunmap_atomic(50,1169 -struct page *kmap_atomic_to_page(77,1752 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/extable.c,28 -int fixup_exception(10,146 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/pageattr.c,424 -static spinlock_t cpa_lock 16,329 -static struct list_head df_list 17,378 -pte_t *lookup_address(20,439 -static struct page *split_large_page(34,750 -static void flush_kernel_map(57,1281 -static void set_pmd_pte(68,1586 -static inline void revert_page(92,2192 -__change_page_attr(102,2490 -static inline void flush_map(144,3561 -int change_page_attr(162,4176 -void global_flush_tlb(178,4502 -void kernel_map_pages(198,4857 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mm/pgtable.c,453 -void show_mem(25,487 -static void set_pte_pfn(62,1404 -void set_pmd_pfn(95,2232 -void __set_fixmap 122,2903 -pte_t *pte_alloc_one_kernel(133,3147 -struct page *pte_alloc_one(141,3332 -void pmd_ctor(155,3620 -spinlock_t pgd_lock 174,4505 -struct page *pgd_list;175,4547 -static inline void pgd_list_add(177,4571 -static inline void pgd_list_del(187,4827 -void pgd_ctor(197,5075 -void pgd_dtor(217,5561 -pgd_t *pgd_alloc(226,5801 -void pgd_free(249,6299 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_constant.c,866 -#define MAKE_REG(MAKE_REG20,989 -FPU_REG const CONST_1 23,1106 -FPU_REG const CONST_2 24,1175 -FPU_REG const CONST_HALF 25,1244 -FPU_REG const CONST_L2T 26,1314 -FPU_REG const CONST_L2E 27,1383 -FPU_REG const CONST_PI 28,1452 -FPU_REG const CONST_PI2 29,1521 -FPU_REG const CONST_PI4 30,1590 -FPU_REG const CONST_LG2 31,1660 -FPU_REG const CONST_LN2 32,1730 -FPU_REG const CONST_PI2extra 35,1864 -FPU_REG const CONST_Z 39,2003 -FPU_REG const CONST_QNaN 46,2301 -FPU_REG const CONST_INF 49,2439 -static void fld_const(52,2517 -#define DOWN_OR_CHOP(DOWN_OR_CHOP72,2972 -static void fld1(74,3012 -static void fldl2t(79,3079 -static void fldl2e(84,3170 -static void fldpi(89,3265 -static void fldlg2(94,3358 -static void fldln2(99,3453 -static void fldz(104,3548 -typedef void (*FUNC_RC)FUNC_RC109,3614 -static FUNC_RC constants_table[111,3645 -void fconst(115,3760 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_arith.c,385 -void fadd__(19,963 -void fmul__(28,1093 -void fsub__(38,1224 -void fsubr_(46,1320 -void fdiv__(54,1419 -void fdivr_(62,1515 -void fadd_i(71,1615 -void fmul_i(80,1745 -void fsubri(88,1861 -void fsub_i(96,1964 -void fdivri(104,2070 -void fdiv_i(112,2173 -void faddp_(121,2280 -void fmulp_(131,2437 -void fsubrp(141,2581 -void fsubp_(150,2711 -void fdivrp(159,2844 -void fdivp_(168,2974 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_compare.c,269 -static int compare(24,1225 -int FPU_compare_st_data(175,5354 -static int compare_st_st(217,6032 -static int compare_u_st_st(269,6945 -void fcom_st(327,8072 -void fcompst(334,8141 -void fcompp(342,8233 -void fucom_(355,8381 -void fucomp(363,8453 -void fucompp(371,8547 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_round.S,2701 -FPU_bits_lost:FPU_bits_lost99,5967 -FPU_denormal:FPU_denormal101,5991 -.globl .globl107,6053 -.globl .globl108,6074 -fpu_reg_round:fpu_reg_round123,6297 -Denorm_done:Denorm_done141,6708 -LRound_To_24:LRound_To_24171,7384 -LUp_24:LUp_24190,7689 -LDown_24:LDown_24196,7806 -LCheck_24_round_up:LCheck_24_round_up200,7901 -LRound_nearest_24:LRound_nearest_24208,8032 -LGreater_Half_24:LGreater_Half_24228,8632 -LDo_24_round_up:LDo_24_round_up229,8694 -LCheck_truncate_24:LCheck_truncate_24236,8855 -LDo_truncate_24:LDo_truncate_24243,8992 -LRound_To_53:LRound_To_53251,9162 -LUp_53:LUp_53270,9467 -LDown_53:LDown_53276,9584 -LCheck_53_round_up:LCheck_53_round_up280,9679 -LRound_nearest_53:LRound_nearest_53287,9795 -LGreater_Half_53:LGreater_Half_53304,10312 -LDo_53_round_up:LDo_53_round_up305,10374 -LCheck_truncate_53:LCheck_truncate_53312,10533 -LTruncate_53:LTruncate_53318,10627 -LRound_To_64:LRound_To_64325,10778 -LUp_64:LUp_64344,11083 -LDown_64:LDown_64352,11232 -LRound_nearest_64:LRound_nearest_64360,11384 -LDo_64_round_up:LDo_64_round_up370,11544 -LCheck_Round_Overflow:LCheck_Round_Overflow375,11618 -LCheck_truncate_64:LCheck_truncate_64384,11783 -LTruncate_64:LTruncate_64388,11838 -L_Re_normalise:L_Re_normalise391,11883 -L_Normalised:L_Normalised395,11948 -L_deNormalised:L_deNormalised398,11984 -L_no_precision_loss:L_no_precision_loss405,12110 -L_Store_significand:L_Store_significand408,12156 -fpu_reg_round_signed_special_exit:fpu_reg_round_signed_special_exit421,12380 -fpu_reg_round_special_exit:fpu_reg_round_special_exit428,12530 -fpu_Arith_exit:fpu_Arith_exit434,12661 -L_precision_lost_up:L_precision_lost_up446,12807 -L_precision_lost_down:L_precision_lost_down458,13011 -L_Make_denorm:L_Make_denorm472,13307 -Denorm_shift_more_than_32:Denorm_shift_more_than_32507,14163 -Denorm_shift_more_than_63:Denorm_shift_more_than_63528,14515 -Denorm_shift_more_than_64:Denorm_shift_more_than_64547,14806 -Unmasked_underflow:Unmasked_underflow557,14985 -Normalise_result:Normalise_result563,15095 -LDenormal_adj_exponent:LDenormal_adj_exponent595,15968 -LPseudoDenormal:LPseudoDenormal598,16009 -L_underflow_to_zero:L_underflow_to_zero617,16369 -L_overflow:L_overflow635,16691 -Signal_underflow:Signal_underflow643,16850 -Do_unmasked_underflow:Do_unmasked_underflow651,17034 -L_bugged_denorm_486:L_bugged_denorm_486664,17260 -L_bugged_denorm:L_bugged_denorm670,17361 -L_bugged_round24:L_bugged_round24677,17480 -L_bugged_round53:L_bugged_round53683,17573 -L_bugged_round64:L_bugged_round64689,17666 -L_norm_bugged:L_norm_bugged695,17759 -L_entry_bugged:L_entry_bugged701,17849 -L_exception_exit:L_exception_exit705,17917 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/polynom_Xsig.S,109 -L_accum_loop:L_accum_loop66,2685 -L_no_overflow:L_no_overflow100,3313 -L_accum_done:L_accum_done122,3773 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/poly.h,313 -#define _POLY_H16,1045 -} Xsig;Xsig27,1371 -#define LL_MSW(LL_MSW44,2067 -#define MK_XSIG(MK_XSIG47,2158 -#define XSIG_LL(XSIG_LL50,2261 -static inline unsigned long mul_32_32(63,2666 -static inline void add_Xsig_Xsig(76,2979 -static inline void add_two_Xsig(91,3629 -static inline void negate_Xsig(111,4385 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_constant.h,32 -#define _REG_CONSTANT_H_10,580 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/div_Xsig.S,767 -FPU_accum_3:FPU_accum_359,2654 -FPU_accum_2:FPU_accum_261,2676 -FPU_accum_1:FPU_accum_163,2698 -FPU_accum_0:FPU_accum_065,2720 -FPU_result_3:FPU_result_367,2742 -FPU_result_2:FPU_result_269,2765 -FPU_result_1:FPU_result_171,2788 -LFirst_div_not_1:LFirst_div_not_1145,4955 -LFirst_div_done:LFirst_div_done149,5049 -LDo_2nd_32_bits:LDo_2nd_32_bits186,6174 -LPrevent_2nd_overflow:LPrevent_2nd_overflow198,6424 -LDo_2nd_div:LDo_2nd_div212,6780 -LSecond_div_not_1:LSecond_div_not_1220,6937 -LSecond_div_done:LSecond_div_done223,7015 -LDo_3rd_32_bits:LDo_3rd_32_bits276,8329 -LTest_over:LTest_over307,9074 -LDo_3rd_div:LDo_3rd_div321,9402 -L_exit:L_exit337,9736 -L_bugged:L_bugged348,9848 -L_bugged_1:L_bugged_1354,9922 -L_bugged_2:L_bugged_2360,9998 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_convert.c,25 -int FPU_to_exp16(17,917 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/get_address.c,457 -#define FPU_WRITE_BIT 31,1493 -static int reg_offset[33,1521 -#define REG_(REG_44,1800 -static int reg_offset_vm86[46,1866 -#define VM86_REG_(VM86_REG_56,2143 -#define ___FS 60,2311 -#define ___GS 61,2331 -static int reg_offset_pm[63,2352 -#define PM_REG_(PM_REG_73,2602 -static int sib(78,2764 -static unsigned long vm86_segment(136,4053 -static long pm_address(153,4447 -void __user *FPU_get_address(244,6809 -void __user *FPU_get_address_16(338,9039 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_norm.S,321 -L_shift_1:L_shift_146,1876 -L_done:L_done57,2100 -L_exit_valid:L_exit_valid64,2194 -L_exit:L_exit71,2329 -L_zero:L_zero77,2362 -L_underflow:L_underflow82,2422 -L_overflow:L_overflow90,2565 -L_nuo_shift_1:L_nuo_shift_1123,3213 -L_exit_nuo_valid:L_exit_nuo_valid134,3441 -L_exit_nuo_zero:L_exit_nuo_zero141,3505 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_u_mul.S,250 -FPU_accum_0:FPU_accum_039,1872 -FPU_accum_1:FPU_accum_141,1894 -Exp_not_underflow:Exp_not_underflow104,2949 -LResult_Normalised:LResult_Normalised121,3310 -L_extent_zero:L_extent_zero129,3424 -L_bugged:L_bugged135,3492 -L_exit:L_exit141,3566 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/div_small.S,0 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/errors.c,728 -void Un_impl(37,1597 -void FPU_illegal(78,2543 -void FPU_printall(85,2604 -#define MAX_PRINTED_BYTES 98,3005 -} exception_names[202,6516 -asmlinkage void FPU_exception(294,9238 -int real_1op_NaN(373,11414 -int real_2op_NaN(417,12492 -asmlinkage int arith_invalid(511,14671 -asmlinkage int FPU_divide_by_zero(528,15002 -int set_precision_flag(549,15460 -asmlinkage void set_precision_flag_up(566,15773 -asmlinkage void set_precision_flag_down(576,16026 -asmlinkage int denormal_operand(588,16261 -asmlinkage int arith_overflow(603,16536 -asmlinkage int arith_underflow(636,17254 -void FPU_stack_overflow(673,17917 -void FPU_stack_underflow(690,18135 -void FPU_stack_underflow_i(706,18342 -void FPU_stack_underflow_pop(722,18555 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/poly_tan.c,390 -#define HiPOWERop 21,1008 -static const unsigned long long oddplterm[22,1059 -#define HiPOWERon 29,1191 -static const unsigned long long oddnegterm[30,1242 -#define HiPOWERep 36,1353 -static const unsigned long long evenplterm[37,1405 -#define HiPOWERen 43,1514 -static const unsigned long long evennegterm[44,1566 -static const unsigned long long twothirds 50,1676 -void poly_tan(56,1982 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_u_div.S,1200 -FPU_accum_3:FPU_accum_356,2317 -FPU_accum_2:FPU_accum_258,2339 -FPU_accum_1:FPU_accum_160,2361 -FPU_accum_0:FPU_accum_062,2383 -FPU_result_1:FPU_result_164,2405 -FPU_result_2:FPU_result_266,2428 -FPU_ovfl_flag:FPU_ovfl_flag68,2451 -xExp_not_underflow:xExp_not_underflow104,3061 -L_no_adjust:L_no_adjust130,3698 -L_no_overflow:L_no_overflow157,4256 -L_Full_Division:L_Full_Division179,5596 -LGreater_than_1:LGreater_than_1204,6219 -LLess_than_1:LLess_than_1213,6459 -LFirst_div_not_1:LFirst_div_not_1227,6798 -LFirst_div_done:LFirst_div_done231,6892 -LDo_2nd_32_bits:LDo_2nd_32_bits268,8013 -LPrevent_2nd_overflow:LPrevent_2nd_overflow280,8261 -LDo_2nd_div:LDo_2nd_div294,8615 -LSecond_div_not_1:LSecond_div_not_1302,8772 -LSecond_div_done:LSecond_div_done305,8850 -LDo_3rd_32_bits:LDo_3rd_32_bits358,10160 -LPrevent_3rd_overflow:LPrevent_3rd_overflow370,10433 -LRound_prep:LRound_prep385,10810 -LRound_not_small:LRound_not_small410,11307 -LRound_large:LRound_large416,11423 -LRound_ovfl:LRound_ovfl419,11485 -LRound_precision:LRound_precision434,11846 -L_bugged:L_bugged445,12064 -L_bugged_1:L_bugged_1451,12138 -L_bugged_2:L_bugged_2457,12214 -L_exit:L_exit463,12290 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/poly_atan.c,309 -#define HIPOWERon 22,1030 -static const unsigned long long oddnegterms[23,1081 -#define HIPOWERop 33,1316 -static const unsigned long long oddplterms[34,1367 -static const unsigned long long denomterm 45,1630 -static const Xsig fixedpterm 47,1697 -static const Xsig pi_signif 49,1774 -void poly_atan(55,2089 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/version.h,28 -#define FPU_VERSION 12,792 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_trig.c,922 -#define BETTER_THAN_48624,1155 -#define FCOS 26,1180 -static int trig_arg(34,1569 -static void convert_l2reg(152,5292 -static void single_arg_error(180,5773 -static void single_arg_2_error(193,6105 -static void f2xm1(242,7246 -static void fptan(290,8159 -static void fxtract(378,9884 -static void fdecstp(470,11764 -static void fincstp(476,11818 -static void fsqrt_(483,11873 -static void frndint_(548,13079 -static int fsin(595,13945 -static int f_cos(668,15256 -static void fcos(754,16854 -static void fsincos(760,16938 -static void rem_kernel(828,18511 -static void do_fprem(863,19553 -static void fyl2x(1125,25999 -static void fpatan(1330,30435 -static void fprem(1461,33348 -static void fprem1(1467,33445 -static void fyl2xp1(1473,33542 -static void fscale(1666,37782 -static FUNC_ST0 const trig_table_a[1826,41167 -void FPU_triga(1831,41299 -static FUNC_ST0 const trig_table_b[1837,41375 -void FPU_trigb(1842,41500 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_asm.h,343 -#define _FPU_ASM_H_11,654 -#define EXCEPTION 15,703 -#define PARAM1 18,737 -#define PARAM2 19,760 -#define PARAM3 20,784 -#define PARAM4 21,808 -#define PARAM5 22,832 -#define PARAM6 23,856 -#define PARAM7 24,880 -#define SIGL_OFFSET 26,905 -#define EXP(EXP27,927 -#define SIG(SIG28,947 -#define SIGL(SIGL29,979 -#define SIGH(SIGH30,1012 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/exception.h,554 -#define _EXCEPTION_H_10,577 -#define Const_(Const_14,621 -#define Const_(Const_16,650 -#define FPU_BUSY 23,733 -#define EX_ErrorSummary 24,814 -#define EX_INTERNAL 26,908 -#define EX_StackOver 27,978 -#define EX_StackUnder 28,1041 -#define EX_Precision 30,1123 -#define EX_Underflow 31,1183 -#define EX_Overflow 32,1235 -#define EX_ZeroDiv 33,1285 -#define EX_Denormal 34,1340 -#define EX_Invalid 35,1402 -#define PRECISION_LOST_UP 38,1462 -#define PRECISION_LOST_DOWN 39,1522 -#define EXCEPTION(EXCEPTION45,1609 -#define EXCEPTION(EXCEPTION48,1721 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_u_sub.S,727 -L_more_than_31:L_more_than_3187,2965 -L_more_31_no_low:L_more_31_no_low101,3211 -L_exactly_32:L_exactly_32106,3280 -L_more_than_63:L_more_than_63112,3361 -L_more_than_64:L_more_than_64124,3531 -L_shift_65_nc:L_shift_65_nc136,3718 -L_more_than_65:L_more_than_65143,3806 -L_more_63_no_low:L_more_63_no_low146,3883 -L_shift_done:L_shift_done150,3934 -L_subtr:L_subtr151,3948 -L_must_be_zero:L_must_be_zero198,4968 -L_shift_32:L_shift_32211,5189 -L_shift_1:L_shift_1218,5340 -L_round:L_round227,5534 -L_bugged_1:L_bugged_1232,5603 -L_bugged_2:L_bugged_2238,5685 -L_bugged_3:L_bugged_3244,5767 -L_bugged_4:L_bugged_4250,5849 -L_bugged:L_bugged256,5931 -L_error_exit:L_error_exit262,6011 -L_exit:L_exit267,6064 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/wm_shrx.S,243 -L_more_than_31:L_more_than_3159,2678 -L_more_than_63:L_more_than_6374,2894 -L_more_than_95:L_more_than_9588,3080 -Ls_less_than_32:Ls_less_than_32150,5225 -Ls_more_than_63:Ls_more_than_63167,5556 -Ls_more_than_95:Ls_more_than_95192,6011 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/shr_Xsig.S,117 -L_more_than_31:L_more_than_3149,1904 -L_more_than_63:L_more_than_6365,2141 -L_more_than_95:L_more_than_9580,2346 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_u_add.S,493 -L_arg1_larger:L_arg1_larger58,2164 -L_accum_loaded:L_accum_loaded63,2265 -L_more_than_31:L_more_than_3187,2761 -L_more_31_no_low:L_more_31_no_low101,3007 -L_exactly_32:L_exactly_32106,3076 -L_more_than_63:L_more_than_63112,3157 -L_more_than_64:L_more_than_64123,3297 -L_more_63_no_low:L_more_63_no_low126,3374 -L_shift_done:L_shift_done130,3425 -L_no_bit_lost:L_no_bit_lost144,3646 -L_round_the_result:L_round_the_result147,3678 -L_bugged:L_bugged154,3808 -L_exit:L_exit161,3897 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_divide.c,21 -int FPU_div(27,1446 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_mul.c,21 -int FPU_mul(30,1497 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/poly_l2.c,203 -void poly_l2(29,1350 -int poly_l2p1(119,3683 -#define HIPOWER 181,5108 -static const unsigned long long logterms[182,5127 -static const unsigned long leadterm 196,5424 -static void log2_kernel(203,5793 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_entry.c,916 -#define __BAD__ 39,2038 -#define _d9_d8_ 48,2395 -#define _dc_d0_ 49,2448 -#define _dc_d8_ 50,2501 -#define _dd_c8_ 51,2554 -#define _de_d0_ 52,2607 -#define _df_c0_ 53,2660 -#define _df_c8_ 54,2725 -#define _df_d0_ 55,2778 -#define _df_d8_ 56,2831 -static FUNC const st_instr_table[58,2885 -static FUNC const st_instr_table[71,3607 -#define _NONE_ 85,4304 -#define _REG0_ 86,4352 -#define _REGI_ 87,4411 -#define _REGi_ 88,4481 -#define _PUSH_ 89,4518 -#define _null_ 90,4586 -#define _REGIi 91,4647 -#define _REGIp 92,4712 -#define _REGIc 93,4786 -#define _REGIn 94,4836 -static u_char const type_table[100,5000 -static u_char const type_table[113,5624 -u_char emulating=128,6250 -asmlinkage void math_emulate(134,6393 -static int valid_prefix(583,18240 -void math_abort(664,19947 -#define S387 679,20303 -#define sstatus_word(sstatus_word680,20350 -int restore_i387_soft(683,20453 -int save_i387_soft(729,21613 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_tags.c,368 -void FPU_pop(18,941 -int FPU_gettag0(25,1013 -int FPU_gettagi(31,1087 -int FPU_gettag(37,1172 -void FPU_settag0(43,1252 -void FPU_settagi(52,1396 -void FPU_settag(61,1555 -int FPU_Special(69,1690 -int isNaN(83,1978 -int FPU_empty_i(90,2121 -int FPU_stackoverflow(98,2241 -void FPU_copy_to_regi(106,2384 -void FPU_copy_to_reg1(112,2503 -void FPU_copy_to_reg0(118,2606 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_aux.c,476 -static void fnop(20,986 -void fclex(24,1014 -void finit(33,1241 -#define feni 52,1734 -#define fdisi 53,1752 -#define fsetpm 54,1771 -static FUNC const finit_table[56,1792 -void finit_(61,1909 -static void fstsw_ax(67,1960 -static FUNC const fstsw_table[73,2051 -void fstsw_(78,2195 -static FUNC const fp_nop_table[84,2246 -void fp_nop(89,2387 -void fld_i_(95,2439 -void fxch_i(127,2899 -void ffree_(176,3943 -void ffreep(183,4021 -void fst_i_(191,4136 -void fstp_i(198,4229 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/control_w.h,585 -#define _CONTROLW_H_11,655 -#define _Const_(_Const_14,697 -#define _Const_(_Const_16,727 -#define CW_RC 19,756 -#define CW_PC 20,810 -#define CW_Precision 22,866 -#define CW_Underflow 23,931 -#define CW_Overflow 24,988 -#define CW_ZeroDiv 25,1043 -#define CW_Denormal 26,1103 -#define CW_Invalid 27,1170 -#define CW_Exceptions 29,1234 -#define RC_RND 31,1291 -#define RC_DOWN 32,1323 -#define RC_UP 33,1356 -#define RC_CHOP 34,1387 -#define PR_24_BITS 38,1523 -#define PR_53_BITS 39,1564 -#define PR_64_BITS 40,1605 -#define PR_RESERVED_BITS 41,1646 -#define FULL_PRECISION 43,1740 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/load_store.c,265 -#define _NONE_ 30,1567 -#define _REG0_ 31,1615 -#define _PUSH_ 32,1662 -#define _null_ 33,1730 -#define pop_0(pop_035,1792 -static u_char const type_table[38,1845 -u_char const data_sizes_16[49,2161 -u_char const data_sizes_32[56,2333 -int FPU_load_store(63,2505 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_proto.h,26 -#define _FPU_PROTO_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/status_w.h,871 -#define _STATUS_H_11,653 -#define Const__(Const__16,755 -#define Const__(Const__18,785 -#define SW_Backward 21,814 -#define SW_C3 22,883 -#define SW_Top 23,936 -#define SW_Top_Shift 24,987 -#define SW_C2 25,1055 -#define SW_C1 26,1108 -#define SW_C0 27,1161 -#define SW_Summary 28,1214 -#define SW_Stack_Fault 29,1278 -#define SW_Precision 30,1335 -#define SW_Underflow 31,1399 -#define SW_Overflow 32,1455 -#define SW_Zero_Div 33,1510 -#define SW_Denorm_Op 34,1571 -#define SW_Invalid 35,1638 -#define SW_Exc_Mask 37,1703 -#define COMP_A_gt_B 41,1803 -#define COMP_A_eq_B 42,1825 -#define COMP_A_lt_B 43,1847 -#define COMP_No_Comp 44,1869 -#define COMP_Denormal 45,1892 -#define COMP_NaN 46,1921 -#define COMP_SNaN 47,1943 -#define status_word(status_word49,1967 -#define setcc(setcc51,2066 -# define clear_C1(clear_C158,2340 -# define clear_C1(clear_C160,2399 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/wm_sqrt.S,1256 -FPU_accum_3:FPU_accum_353,2583 -FPU_accum_2:FPU_accum_255,2620 -FPU_accum_1:FPU_accum_157,2642 -FPU_accum_0:FPU_accum_059,2664 -FPU_fsqrt_arg_2:FPU_fsqrt_arg_267,2889 -FPU_fsqrt_arg_1:FPU_fsqrt_arg_169,2930 -FPU_fsqrt_arg_0:FPU_fsqrt_arg_071,2956 -sqrt_arg_ge_2:sqrt_arg_ge_2102,3486 -sqrt_prelim_no_adjust:sqrt_prelim_no_adjust121,3963 -sqrt_stage_2_positive:sqrt_stage_2_positive187,5466 -sqrt_stage_2_finish:sqrt_stage_2_finish199,5596 -sqrt_stage_2_error:sqrt_stage_2_error224,6115 -sqrt_stage_2_done:sqrt_stage_2_done229,6200 -sqrt_stage_3_error:sqrt_stage_3_error277,7230 -sqrt_stage_3_no_error:sqrt_stage_3_no_error281,7292 -sqrt_stage_3_positive:sqrt_stage_3_positive302,7583 -sqrt_stage_3_finished:sqrt_stage_3_finished325,7969 -sqrt_round_result:sqrt_round_result344,8353 -sqrt_near_exact_x:sqrt_near_exact_x354,8554 -sqrt_near_exact:sqrt_near_exact359,8648 -sqrt_near_exact_ok:sqrt_near_exact_ok387,9295 -sqrt_near_exact_small:sqrt_near_exact_small402,9537 -sqrt_near_exact_large:sqrt_near_exact_large407,9640 -sqrt_get_more_precision:sqrt_get_more_precision415,9796 -sqrt_more_prec_ok:sqrt_more_prec_ok447,10522 -sqrt_more_prec_small:sqrt_more_prec_small462,10767 -sqrt_more_prec_large:sqrt_more_prec_large467,10869 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/mul_Xsig.S,0 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/round_Xsig.S,139 -L_shift_1:L_shift_150,1903 -L_round:L_round59,2068 -L_exit:L_exit70,2193 -L_n_shift_1:L_n_shift_1121,3018 -L_n_exit:L_n_exit130,3185 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_ld_str.c,912 -#define DOUBLE_Emax 31,1515 -#define DOUBLE_Ebias 32,1577 -#define DOUBLE_Emin 33,1603 -#define SINGLE_Emax 35,1667 -#define SINGLE_Ebias 36,1729 -#define SINGLE_Emin 37,1754 -static u_char normalize_no_excep(40,1819 -int FPU_tagof(55,2022 -int FPU_load_extended(89,2650 -int FPU_load_double(103,2932 -int FPU_load_single(175,4706 -int FPU_load_int64(239,6281 -int FPU_load_int32(271,6788 -int FPU_load_int16(300,7313 -int FPU_load_bcd(329,7897 -int FPU_store_extended(372,8812 -int FPU_store_double(414,10002 -int FPU_store_single(633,15290 -int FPU_store_int64(857,20426 -int FPU_store_int32(918,21760 -int FPU_store_int16(975,23006 -int FPU_store_bcd(1032,24232 -int FPU_round_to_int(1118,26584 -#define half_or_more 1138,27076 -#define frac_part 1139,27116 -#define more_than_half 1140,27140 -u_char __user *fldenv(1178,27998 -void frstor(1269,31064 -u_char __user *fstenv(1294,31714 -void fsave(1351,33587 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_etc.c,172 -static void fchs(20,989 -static void fabs(32,1174 -static void ftst_(44,1350 -static void fxam(99,2428 -static FUNC_ST0 const fp_etc_table[135,3090 -void FPU_etc(140,3255 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_emu.h,2925 -#define _FPU_EMU_H_12,655 -#define PECULIAR_48621,960 -#define Const(Const25,1023 -#define Const(Const27,1051 -#define EXP_BIAS 30,1078 -#define EXP_OVER 31,1104 -#define EXP_UNDER 32,1176 -#define EXP_WAY_UNDER 33,1248 -#define EXP_Infinity 35,1356 -#define EXP_NaN 36,1389 -#define EXTENDED_Ebias 38,1423 -#define EXTENDED_Emin 39,1460 -#define SIGN_POS 41,1524 -#define SIGN_NEG 42,1550 -#define SIGN_Positive 44,1580 -#define SIGN_Negative 45,1611 -#define TW_Denormal 50,1759 -#define TW_Infinity 51,1815 -#define TW_NaN 52,1866 -#define TW_Unsupported 53,1910 -#define TAG_Valid 55,1975 -#define TAG_Zero 56,2014 -#define TAG_Special 57,2051 -#define TAG_Empty 59,2138 -#define LOADED_DATA 61,2178 -#define REV 65,2323 -#define DEST_RM 66,2352 -#define LOADED 67,2381 -#define FPU_Exception 69,2411 -# define RE_ENTRANT_CHECK_OFF 86,2730 -# define RE_ENTRANT_CHECK_ON 87,2775 -# define RE_ENTRANT_CHECK_OFF89,2825 -# define RE_ENTRANT_CHECK_ON90,2856 -#define FWAIT_OPCODE 93,2920 -#define OP_SIZE_PREFIX 94,2946 -#define ADDR_SIZE_PREFIX 95,2974 -#define PREFIX_CS 96,3004 -#define PREFIX_DS 97,3027 -#define PREFIX_ES 98,3050 -#define PREFIX_SS 99,3073 -#define PREFIX_FS 100,3096 -#define PREFIX_GS 101,3119 -#define PREFIX_REPE 102,3142 -#define PREFIX_REPNE 103,3167 -#define PREFIX_LOCK 104,3193 -#define PREFIX_CS_ 105,3218 -#define PREFIX_DS_ 106,3239 -#define PREFIX_ES_ 107,3260 -#define PREFIX_FS_ 108,3281 -#define PREFIX_GS_ 109,3302 -#define PREFIX_SS_ 110,3323 -#define PREFIX_DEFAULT 111,3344 -struct address address113,3370 -struct fpu__reg fpu__reg119,3491 -typedef void (*FUNC)FUNC125,3560 -typedef struct fpu__reg FPU_REG;FPU_REG126,3588 -typedef void (*FUNC_ST0)FUNC_ST0127,3621 - overrides;overrides129,3744 - u_char default_mode; } fpu_addr_modes;fpu_addr_modes132,3833 -#define PROTECTED 136,4066 -#define SIXTEEN 137,4086 -#define VM86 138,4153 -#define PM16 139,4179 -#define SEG32 140,4219 -#define register_base 143,4287 -#define fpu_register(fpu_register144,4333 -#define st(st145,4410 -#define STACK_OVERFLOW 147,4488 -#define NOT_EMPTY(NOT_EMPTY148,4544 -#define NOT_EMPTY_ST0 150,4584 -#define poppop(poppop152,4629 -#define push(push155,4711 -#define signbyte(signbyte157,4738 -#define getsign(getsign158,4779 -#define setsign(setsign159,4819 -#define copysign(copysign160,4898 -#define changesign(changesign162,5013 -#define setpositive(setpositive163,5060 -#define setnegative(setnegative164,5108 -#define signpositive(signpositive165,5156 -#define signnegative(signnegative166,5210 -static inline void reg_copy(168,5256 -#define exponent(exponent174,5432 -#define setexponentpos(setexponentpos175,5507 -#define exponent16(exponent16177,5602 -#define setexponent16(setexponent16178,5656 -#define addexponent(addexponent179,5719 -#define stdexp(stdexp180,5783 -#define isdenormal(isdenormal182,5859 -#define significand(significand184,5924 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/poly_sin.c,370 -#define N_COEFF_P 23,1088 -#define N_COEFF_N 24,1108 -static const unsigned long long pos_terms_l[26,1129 -static const unsigned long long neg_terms_l[34,1287 -#define N_COEFF_PH 44,1447 -#define N_COEFF_NH 45,1468 -static const unsigned long long pos_terms_h[46,1489 -static const unsigned long long neg_terms_h[54,1648 -void poly_sine(66,2046 -void poly_cos(211,6490 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/fpu_system.h,1327 -#define _FPU_SYSTEM_H11,656 -#define SETUP_DATA_AREA(SETUP_DATA_AREA21,896 -#define LDT_DESCRIPTOR(LDT_DESCRIPTOR25,1090 -#define SEG_D_SIZE(SEG_D_SIZE26,1177 -#define SEG_G_BIT(SEG_G_BIT27,1220 -#define SEG_GRANULARITY(SEG_GRANULARITY28,1262 -#define SEG_286_MODE(SEG_286_MODE29,1322 -#define SEG_BASE_ADDR(SEG_BASE_ADDR30,1393 -#define SEG_LIMIT(SEG_LIMIT32,1489 -#define SEG_EXECUTE_ONLY(SEG_EXECUTE_ONLY33,1551 -#define SEG_WRITE_PERM(SEG_WRITE_PERM34,1627 -#define SEG_EXPAND_DOWN(SEG_EXPAND_DOWN35,1700 -#define I387 38,1784 -#define FPU_info 39,1822 -#define FPU_CS 41,1858 -#define FPU_SS 42,1916 -#define FPU_DS 43,1974 -#define FPU_EAX 44,2032 -#define FPU_EFLAGS 45,2069 -#define FPU_EIP 46,2111 -#define FPU_ORIG_EIP 47,2148 -#define FPU_lookahead 49,2195 -#define no_ip_update 53,2338 -#define FPU_rm 54,2396 -#define access_limit 58,2594 -#define partial_status 60,2650 -#define control_word 61,2690 -#define fpu_tag_word 62,2728 -#define registers 63,2766 -#define top 64,2806 -#define instruction_address 66,2838 -#define operand_address 67,2902 -#define FPU_verify_area(FPU_verify_area69,2964 -#define FPU_code_verify_area(FPU_code_verify_area78,3334 -#define FPU_code_verify_area(FPU_code_verify_area83,3555 -#define FPU_get_user(FPU_get_user86,3649 -#define FPU_put_user(FPU_put_user87,3699 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/reg_add_sub.c,74 -int FPU_add(36,1844 -int FPU_sub(138,4141 -int add_sub_specials(292,7182 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/math-emu/poly_2xm1.c,320 -#define HIPOWER 21,1008 -static const unsigned long long lterms[22,1027 -static const Xsig hiterm 37,1391 -static const Xsig shiftterm0 42,1567 -static const Xsig shiftterm1 43,1616 -static const Xsig shiftterm2 44,1692 -static const Xsig shiftterm3 45,1768 -static const Xsig *shiftterm[47,1845 -int poly_2xm1(54,2183 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/checksum.S,431 -unsigned unsigned36,1178 -.align .align40,1272 -.globl .globl41,1281 -csum_partial:csum_partial52,1683 -csum_partial:csum_partial139,3211 -unsigned unsigned255,5383 -.align .align282,6130 -.globl .globl283,6139 -csum_partial_copy_generic:csum_partial_copy_generic290,6254 -.section .section381,8019 -csum_partial_copy_generic:csum_partial_copy_generic425,8751 -.section .section474,9808 -.previous .previous486,10159 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/getuser.S,296 -.align .align27,548 -.globl .globl28,557 -__get_user_1:__get_user_129,577 -.align .align37,707 -.globl .globl38,716 -__get_user_2:__get_user_239,736 -.align .align49,899 -.globl .globl50,908 -__get_user_4:__get_user_451,928 -bad_get_user:bad_get_user61,1089 -.section .section66,1141 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/mmx.c,309 -void *_mmx_memcpy(29,755 -static void fast_clear_page(131,2899 -static void fast_copy_page(164,3519 -static void fast_clear_page(260,5704 -static void fast_copy_page(296,6392 -static void slow_zero_page(362,7708 -void mmx_clear_page(373,7898 -static void slow_copy_page(381,8021 -void mmx_copy_page(393,8259 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/bitops.c,58 -int find_next_bit(10,251 -int find_next_zero_bit(44,1045 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/delay.c,101 -void __delay(26,610 -inline void __const_udelay(31,675 -void __udelay(41,893 -void __ndelay(46,1006 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/dec_and_lock.c,32 -int atomic_dec_and_lock(13,259 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/memcpy.c,63 -void *memcpy(8,108 -void *memset(18,292 -void *memmove(24,394 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/strstr.c,20 -char * strstr(3,27 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/lib/usercopy.c,611 -static inline int __movsl_is_ok(16,356 -#define movsl_is_ok(movsl_is_ok24,555 -#define __do_strncpy_from_user(__do_strncpy_from_user31,704 -__strncpy_from_user(81,2304 -strncpy_from_user(107,3100 -#define __do_clear_user(__do_clear_user120,3316 -clear_user(153,4176 -__clear_user(173,4720 -long strnlen_user(190,5156 -__copy_user_intel(224,5830 -__copy_user_zeroing_intel(331,9494 -#define __copy_user(__copy_user436,13096 -#define __copy_user_zeroing(__copy_user_zeroing472,14017 -unsigned long __copy_to_user_ll(515,15093 -__copy_from_user_ll(574,16497 -copy_to_user(597,17106 -copy_from_user(623,17830 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-es7000/es7000plat.c,565 -volatile unsigned long *psai 48,1467 -struct mip_reg *mip_reg;49,1504 -struct mip_reg *host_reg;50,1530 -int mip_port;51,1557 -unsigned long mip_addr,52,1574 -unsigned long mip_addr, host_addr;52,1574 -static unsigned long cycle_irqs 55,1710 -static unsigned long free_irqs 56,1747 -static int gsi_map[57,1783 -es7000_gsi_override(64,1922 -es7000_rename_gsi(83,2331 -parse_unisys_oem 128,3259 -find_unisys_acpi_oem_table(193,4622 -es7000_spin(248,6191 -es7000_mip_write(257,6276 -es7000_start_cpu(294,7129 -es7000_stop_cpu(314,7419 -es7000_sw_apic(334,7655 - -/export0/mef/linux-2.6.9-1.11_FC2/arch/i386/mach-es7000/es7000.h,674 -#define MIP_REG 27,1054 -#define MIP_PSAI_REG 28,1074 -#define MIP_BUSY 30,1099 -#define MIP_SPIN 31,1119 -#define MIP_VALID 32,1145 -#define MIP_PORT(MIP_PORT33,1186 -#define MIP_RD_LO(MIP_RD_LO35,1236 -struct mip_reg_info mip_reg_info37,1286 -struct part_info part_info44,1436 -struct psai psai55,1632 -struct es7000_mem_info es7000_mem_info61,1738 -struct es7000_oem_table es7000_oem_table69,1895 -struct acpi_table_sdt acpi_table_sdt77,2047 -struct oem_table oem_table87,2207 -struct mip_reg mip_reg93,2302 -#define MIP_SW_APIC 104,2545 -#define MIP_FUNC(MIP_FUNC105,2574 -#define IOAPIC_GSI_BOUND(IOAPIC_GSI_BOUND108,2714 -#define MAX_GSI_MAPSIZE 109,2794 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/netif.h,33 -#define _SELINUX_NETIF_H_16,504 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/class_to_string.h,36 -static char *class_to_string[5,102 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/av_permissions.h,32866 -#define COMMON_FILE__IOCTL 4,71 -#define COMMON_FILE__READ 5,141 -#define COMMON_FILE__WRITE 6,211 -#define COMMON_FILE__CREATE 7,281 -#define COMMON_FILE__GETATTR 8,351 -#define COMMON_FILE__SETATTR 9,421 -#define COMMON_FILE__LOCK 10,491 -#define COMMON_FILE__RELABELFROM 11,561 -#define COMMON_FILE__RELABELTO 12,631 -#define COMMON_FILE__APPEND 13,701 -#define COMMON_FILE__UNLINK 14,771 -#define COMMON_FILE__LINK 15,841 -#define COMMON_FILE__RENAME 16,911 -#define COMMON_FILE__EXECUTE 17,981 -#define COMMON_FILE__SWAPON 18,1051 -#define COMMON_FILE__QUOTAON 19,1121 -#define COMMON_FILE__MOUNTON 20,1191 -#define COMMON_SOCKET__IOCTL 22,1262 -#define COMMON_SOCKET__READ 23,1332 -#define COMMON_SOCKET__WRITE 24,1402 -#define COMMON_SOCKET__CREATE 25,1472 -#define COMMON_SOCKET__GETATTR 26,1542 -#define COMMON_SOCKET__SETATTR 27,1612 -#define COMMON_SOCKET__LOCK 28,1682 -#define COMMON_SOCKET__RELABELFROM 29,1752 -#define COMMON_SOCKET__RELABELTO 30,1822 -#define COMMON_SOCKET__APPEND 31,1892 -#define COMMON_SOCKET__BIND 32,1962 -#define COMMON_SOCKET__CONNECT 33,2032 -#define COMMON_SOCKET__LISTEN 34,2102 -#define COMMON_SOCKET__ACCEPT 35,2172 -#define COMMON_SOCKET__GETOPT 36,2242 -#define COMMON_SOCKET__SETOPT 37,2312 -#define COMMON_SOCKET__SHUTDOWN 38,2382 -#define COMMON_SOCKET__RECVFROM 39,2452 -#define COMMON_SOCKET__SENDTO 40,2522 -#define COMMON_SOCKET__RECV_MSG 41,2592 -#define COMMON_SOCKET__SEND_MSG 42,2662 -#define COMMON_SOCKET__NAME_BIND 43,2732 -#define COMMON_IPC__CREATE 45,2803 -#define COMMON_IPC__DESTROY 46,2873 -#define COMMON_IPC__GETATTR 47,2943 -#define COMMON_IPC__SETATTR 48,3013 -#define COMMON_IPC__READ 49,3083 -#define COMMON_IPC__WRITE 50,3153 -#define COMMON_IPC__ASSOCIATE 51,3223 -#define COMMON_IPC__UNIX_READ 52,3293 -#define COMMON_IPC__UNIX_WRITE 53,3363 -#define FILESYSTEM__MOUNT 55,3434 -#define FILESYSTEM__REMOUNT 56,3497 -#define FILESYSTEM__UNMOUNT 57,3560 -#define FILESYSTEM__GETATTR 58,3623 -#define FILESYSTEM__RELABELFROM 59,3686 -#define FILESYSTEM__RELABELTO 60,3749 -#define FILESYSTEM__TRANSITION 61,3812 -#define FILESYSTEM__ASSOCIATE 62,3875 -#define FILESYSTEM__QUOTAMOD 63,3938 -#define FILESYSTEM__QUOTAGET 64,4001 -#define DIR__IOCTL 66,4065 -#define DIR__READ 67,4128 -#define DIR__WRITE 68,4191 -#define DIR__CREATE 69,4254 -#define DIR__GETATTR 70,4317 -#define DIR__SETATTR 71,4380 -#define DIR__LOCK 72,4443 -#define DIR__RELABELFROM 73,4506 -#define DIR__RELABELTO 74,4569 -#define DIR__APPEND 75,4632 -#define DIR__UNLINK 76,4695 -#define DIR__LINK 77,4758 -#define DIR__RENAME 78,4821 -#define DIR__EXECUTE 79,4884 -#define DIR__SWAPON 80,4947 -#define DIR__QUOTAON 81,5010 -#define DIR__MOUNTON 82,5073 -#define DIR__ADD_NAME 84,5137 -#define DIR__REMOVE_NAME 85,5200 -#define DIR__REPARENT 86,5263 -#define DIR__SEARCH 87,5326 -#define DIR__RMDIR 88,5389 -#define FILE__IOCTL 90,5453 -#define FILE__READ 91,5516 -#define FILE__WRITE 92,5579 -#define FILE__CREATE 93,5642 -#define FILE__GETATTR 94,5705 -#define FILE__SETATTR 95,5768 -#define FILE__LOCK 96,5831 -#define FILE__RELABELFROM 97,5894 -#define FILE__RELABELTO 98,5957 -#define FILE__APPEND 99,6020 -#define FILE__UNLINK 100,6083 -#define FILE__LINK 101,6146 -#define FILE__RENAME 102,6209 -#define FILE__EXECUTE 103,6272 -#define FILE__SWAPON 104,6335 -#define FILE__QUOTAON 105,6398 -#define FILE__MOUNTON 106,6461 -#define FILE__EXECUTE_NO_TRANS 108,6525 -#define FILE__ENTRYPOINT 109,6588 -#define LNK_FILE__IOCTL 111,6652 -#define LNK_FILE__READ 112,6715 -#define LNK_FILE__WRITE 113,6778 -#define LNK_FILE__CREATE 114,6841 -#define LNK_FILE__GETATTR 115,6904 -#define LNK_FILE__SETATTR 116,6967 -#define LNK_FILE__LOCK 117,7030 -#define LNK_FILE__RELABELFROM 118,7093 -#define LNK_FILE__RELABELTO 119,7156 -#define LNK_FILE__APPEND 120,7219 -#define LNK_FILE__UNLINK 121,7282 -#define LNK_FILE__LINK 122,7345 -#define LNK_FILE__RENAME 123,7408 -#define LNK_FILE__EXECUTE 124,7471 -#define LNK_FILE__SWAPON 125,7534 -#define LNK_FILE__QUOTAON 126,7597 -#define LNK_FILE__MOUNTON 127,7660 -#define CHR_FILE__IOCTL 129,7724 -#define CHR_FILE__READ 130,7787 -#define CHR_FILE__WRITE 131,7850 -#define CHR_FILE__CREATE 132,7913 -#define CHR_FILE__GETATTR 133,7976 -#define CHR_FILE__SETATTR 134,8039 -#define CHR_FILE__LOCK 135,8102 -#define CHR_FILE__RELABELFROM 136,8165 -#define CHR_FILE__RELABELTO 137,8228 -#define CHR_FILE__APPEND 138,8291 -#define CHR_FILE__UNLINK 139,8354 -#define CHR_FILE__LINK 140,8417 -#define CHR_FILE__RENAME 141,8480 -#define CHR_FILE__EXECUTE 142,8543 -#define CHR_FILE__SWAPON 143,8606 -#define CHR_FILE__QUOTAON 144,8669 -#define CHR_FILE__MOUNTON 145,8732 -#define BLK_FILE__IOCTL 147,8796 -#define BLK_FILE__READ 148,8859 -#define BLK_FILE__WRITE 149,8922 -#define BLK_FILE__CREATE 150,8985 -#define BLK_FILE__GETATTR 151,9048 -#define BLK_FILE__SETATTR 152,9111 -#define BLK_FILE__LOCK 153,9174 -#define BLK_FILE__RELABELFROM 154,9237 -#define BLK_FILE__RELABELTO 155,9300 -#define BLK_FILE__APPEND 156,9363 -#define BLK_FILE__UNLINK 157,9426 -#define BLK_FILE__LINK 158,9489 -#define BLK_FILE__RENAME 159,9552 -#define BLK_FILE__EXECUTE 160,9615 -#define BLK_FILE__SWAPON 161,9678 -#define BLK_FILE__QUOTAON 162,9741 -#define BLK_FILE__MOUNTON 163,9804 -#define SOCK_FILE__IOCTL 165,9868 -#define SOCK_FILE__READ 166,9931 -#define SOCK_FILE__WRITE 167,9994 -#define SOCK_FILE__CREATE 168,10057 -#define SOCK_FILE__GETATTR 169,10120 -#define SOCK_FILE__SETATTR 170,10183 -#define SOCK_FILE__LOCK 171,10246 -#define SOCK_FILE__RELABELFROM 172,10309 -#define SOCK_FILE__RELABELTO 173,10372 -#define SOCK_FILE__APPEND 174,10435 -#define SOCK_FILE__UNLINK 175,10498 -#define SOCK_FILE__LINK 176,10561 -#define SOCK_FILE__RENAME 177,10624 -#define SOCK_FILE__EXECUTE 178,10687 -#define SOCK_FILE__SWAPON 179,10750 -#define SOCK_FILE__QUOTAON 180,10813 -#define SOCK_FILE__MOUNTON 181,10876 -#define FIFO_FILE__IOCTL 183,10940 -#define FIFO_FILE__READ 184,11003 -#define FIFO_FILE__WRITE 185,11066 -#define FIFO_FILE__CREATE 186,11129 -#define FIFO_FILE__GETATTR 187,11192 -#define FIFO_FILE__SETATTR 188,11255 -#define FIFO_FILE__LOCK 189,11318 -#define FIFO_FILE__RELABELFROM 190,11381 -#define FIFO_FILE__RELABELTO 191,11444 -#define FIFO_FILE__APPEND 192,11507 -#define FIFO_FILE__UNLINK 193,11570 -#define FIFO_FILE__LINK 194,11633 -#define FIFO_FILE__RENAME 195,11696 -#define FIFO_FILE__EXECUTE 196,11759 -#define FIFO_FILE__SWAPON 197,11822 -#define FIFO_FILE__QUOTAON 198,11885 -#define FIFO_FILE__MOUNTON 199,11948 -#define FD__USE 201,12012 -#define SOCKET__IOCTL 203,12076 -#define SOCKET__READ 204,12139 -#define SOCKET__WRITE 205,12202 -#define SOCKET__CREATE 206,12265 -#define SOCKET__GETATTR 207,12328 -#define SOCKET__SETATTR 208,12391 -#define SOCKET__LOCK 209,12454 -#define SOCKET__RELABELFROM 210,12517 -#define SOCKET__RELABELTO 211,12580 -#define SOCKET__APPEND 212,12643 -#define SOCKET__BIND 213,12706 -#define SOCKET__CONNECT 214,12769 -#define SOCKET__LISTEN 215,12832 -#define SOCKET__ACCEPT 216,12895 -#define SOCKET__GETOPT 217,12958 -#define SOCKET__SETOPT 218,13021 -#define SOCKET__SHUTDOWN 219,13084 -#define SOCKET__RECVFROM 220,13147 -#define SOCKET__SENDTO 221,13210 -#define SOCKET__RECV_MSG 222,13273 -#define SOCKET__SEND_MSG 223,13336 -#define SOCKET__NAME_BIND 224,13399 -#define TCP_SOCKET__IOCTL 226,13463 -#define TCP_SOCKET__READ 227,13526 -#define TCP_SOCKET__WRITE 228,13589 -#define TCP_SOCKET__CREATE 229,13652 -#define TCP_SOCKET__GETATTR 230,13715 -#define TCP_SOCKET__SETATTR 231,13778 -#define TCP_SOCKET__LOCK 232,13841 -#define TCP_SOCKET__RELABELFROM 233,13904 -#define TCP_SOCKET__RELABELTO 234,13967 -#define TCP_SOCKET__APPEND 235,14030 -#define TCP_SOCKET__BIND 236,14093 -#define TCP_SOCKET__CONNECT 237,14156 -#define TCP_SOCKET__LISTEN 238,14219 -#define TCP_SOCKET__ACCEPT 239,14282 -#define TCP_SOCKET__GETOPT 240,14345 -#define TCP_SOCKET__SETOPT 241,14408 -#define TCP_SOCKET__SHUTDOWN 242,14471 -#define TCP_SOCKET__RECVFROM 243,14534 -#define TCP_SOCKET__SENDTO 244,14597 -#define TCP_SOCKET__RECV_MSG 245,14660 -#define TCP_SOCKET__SEND_MSG 246,14723 -#define TCP_SOCKET__NAME_BIND 247,14786 -#define TCP_SOCKET__CONNECTTO 249,14850 -#define TCP_SOCKET__NEWCONN 250,14913 -#define TCP_SOCKET__ACCEPTFROM 251,14976 -#define TCP_SOCKET__NODE_BIND 252,15039 -#define UDP_SOCKET__IOCTL 254,15103 -#define UDP_SOCKET__READ 255,15166 -#define UDP_SOCKET__WRITE 256,15229 -#define UDP_SOCKET__CREATE 257,15292 -#define UDP_SOCKET__GETATTR 258,15355 -#define UDP_SOCKET__SETATTR 259,15418 -#define UDP_SOCKET__LOCK 260,15481 -#define UDP_SOCKET__RELABELFROM 261,15544 -#define UDP_SOCKET__RELABELTO 262,15607 -#define UDP_SOCKET__APPEND 263,15670 -#define UDP_SOCKET__BIND 264,15733 -#define UDP_SOCKET__CONNECT 265,15796 -#define UDP_SOCKET__LISTEN 266,15859 -#define UDP_SOCKET__ACCEPT 267,15922 -#define UDP_SOCKET__GETOPT 268,15985 -#define UDP_SOCKET__SETOPT 269,16048 -#define UDP_SOCKET__SHUTDOWN 270,16111 -#define UDP_SOCKET__RECVFROM 271,16174 -#define UDP_SOCKET__SENDTO 272,16237 -#define UDP_SOCKET__RECV_MSG 273,16300 -#define UDP_SOCKET__SEND_MSG 274,16363 -#define UDP_SOCKET__NAME_BIND 275,16426 -#define UDP_SOCKET__NODE_BIND 277,16490 -#define RAWIP_SOCKET__IOCTL 279,16554 -#define RAWIP_SOCKET__READ 280,16617 -#define RAWIP_SOCKET__WRITE 281,16680 -#define RAWIP_SOCKET__CREATE 282,16743 -#define RAWIP_SOCKET__GETATTR 283,16806 -#define RAWIP_SOCKET__SETATTR 284,16869 -#define RAWIP_SOCKET__LOCK 285,16932 -#define RAWIP_SOCKET__RELABELFROM 286,16995 -#define RAWIP_SOCKET__RELABELTO 287,17058 -#define RAWIP_SOCKET__APPEND 288,17121 -#define RAWIP_SOCKET__BIND 289,17184 -#define RAWIP_SOCKET__CONNECT 290,17247 -#define RAWIP_SOCKET__LISTEN 291,17310 -#define RAWIP_SOCKET__ACCEPT 292,17373 -#define RAWIP_SOCKET__GETOPT 293,17436 -#define RAWIP_SOCKET__SETOPT 294,17499 -#define RAWIP_SOCKET__SHUTDOWN 295,17562 -#define RAWIP_SOCKET__RECVFROM 296,17625 -#define RAWIP_SOCKET__SENDTO 297,17688 -#define RAWIP_SOCKET__RECV_MSG 298,17751 -#define RAWIP_SOCKET__SEND_MSG 299,17814 -#define RAWIP_SOCKET__NAME_BIND 300,17877 -#define RAWIP_SOCKET__NODE_BIND 302,17941 -#define NODE__TCP_RECV 304,18005 -#define NODE__TCP_SEND 305,18068 -#define NODE__UDP_RECV 306,18131 -#define NODE__UDP_SEND 307,18194 -#define NODE__RAWIP_RECV 308,18257 -#define NODE__RAWIP_SEND 309,18320 -#define NODE__ENFORCE_DEST 310,18383 -#define NETIF__TCP_RECV 312,18447 -#define NETIF__TCP_SEND 313,18510 -#define NETIF__UDP_RECV 314,18573 -#define NETIF__UDP_SEND 315,18636 -#define NETIF__RAWIP_RECV 316,18699 -#define NETIF__RAWIP_SEND 317,18762 -#define NETLINK_SOCKET__IOCTL 319,18826 -#define NETLINK_SOCKET__READ 320,18889 -#define NETLINK_SOCKET__WRITE 321,18952 -#define NETLINK_SOCKET__CREATE 322,19015 -#define NETLINK_SOCKET__GETATTR 323,19078 -#define NETLINK_SOCKET__SETATTR 324,19141 -#define NETLINK_SOCKET__LOCK 325,19204 -#define NETLINK_SOCKET__RELABELFROM 326,19267 -#define NETLINK_SOCKET__RELABELTO 327,19330 -#define NETLINK_SOCKET__APPEND 328,19393 -#define NETLINK_SOCKET__BIND 329,19456 -#define NETLINK_SOCKET__CONNECT 330,19519 -#define NETLINK_SOCKET__LISTEN 331,19582 -#define NETLINK_SOCKET__ACCEPT 332,19645 -#define NETLINK_SOCKET__GETOPT 333,19708 -#define NETLINK_SOCKET__SETOPT 334,19771 -#define NETLINK_SOCKET__SHUTDOWN 335,19834 -#define NETLINK_SOCKET__RECVFROM 336,19897 -#define NETLINK_SOCKET__SENDTO 337,19960 -#define NETLINK_SOCKET__RECV_MSG 338,20023 -#define NETLINK_SOCKET__SEND_MSG 339,20086 -#define NETLINK_SOCKET__NAME_BIND 340,20149 -#define PACKET_SOCKET__IOCTL 342,20213 -#define PACKET_SOCKET__READ 343,20276 -#define PACKET_SOCKET__WRITE 344,20339 -#define PACKET_SOCKET__CREATE 345,20402 -#define PACKET_SOCKET__GETATTR 346,20465 -#define PACKET_SOCKET__SETATTR 347,20528 -#define PACKET_SOCKET__LOCK 348,20591 -#define PACKET_SOCKET__RELABELFROM 349,20654 -#define PACKET_SOCKET__RELABELTO 350,20717 -#define PACKET_SOCKET__APPEND 351,20780 -#define PACKET_SOCKET__BIND 352,20843 -#define PACKET_SOCKET__CONNECT 353,20906 -#define PACKET_SOCKET__LISTEN 354,20969 -#define PACKET_SOCKET__ACCEPT 355,21032 -#define PACKET_SOCKET__GETOPT 356,21095 -#define PACKET_SOCKET__SETOPT 357,21158 -#define PACKET_SOCKET__SHUTDOWN 358,21221 -#define PACKET_SOCKET__RECVFROM 359,21284 -#define PACKET_SOCKET__SENDTO 360,21347 -#define PACKET_SOCKET__RECV_MSG 361,21410 -#define PACKET_SOCKET__SEND_MSG 362,21473 -#define PACKET_SOCKET__NAME_BIND 363,21536 -#define KEY_SOCKET__IOCTL 365,21600 -#define KEY_SOCKET__READ 366,21663 -#define KEY_SOCKET__WRITE 367,21726 -#define KEY_SOCKET__CREATE 368,21789 -#define KEY_SOCKET__GETATTR 369,21852 -#define KEY_SOCKET__SETATTR 370,21915 -#define KEY_SOCKET__LOCK 371,21978 -#define KEY_SOCKET__RELABELFROM 372,22041 -#define KEY_SOCKET__RELABELTO 373,22104 -#define KEY_SOCKET__APPEND 374,22167 -#define KEY_SOCKET__BIND 375,22230 -#define KEY_SOCKET__CONNECT 376,22293 -#define KEY_SOCKET__LISTEN 377,22356 -#define KEY_SOCKET__ACCEPT 378,22419 -#define KEY_SOCKET__GETOPT 379,22482 -#define KEY_SOCKET__SETOPT 380,22545 -#define KEY_SOCKET__SHUTDOWN 381,22608 -#define KEY_SOCKET__RECVFROM 382,22671 -#define KEY_SOCKET__SENDTO 383,22734 -#define KEY_SOCKET__RECV_MSG 384,22797 -#define KEY_SOCKET__SEND_MSG 385,22860 -#define KEY_SOCKET__NAME_BIND 386,22923 -#define UNIX_STREAM_SOCKET__IOCTL 388,22987 -#define UNIX_STREAM_SOCKET__READ 389,23050 -#define UNIX_STREAM_SOCKET__WRITE 390,23113 -#define UNIX_STREAM_SOCKET__CREATE 391,23176 -#define UNIX_STREAM_SOCKET__GETATTR 392,23239 -#define UNIX_STREAM_SOCKET__SETATTR 393,23302 -#define UNIX_STREAM_SOCKET__LOCK 394,23365 -#define UNIX_STREAM_SOCKET__RELABELFROM 395,23428 -#define UNIX_STREAM_SOCKET__RELABELTO 396,23491 -#define UNIX_STREAM_SOCKET__APPEND 397,23554 -#define UNIX_STREAM_SOCKET__BIND 398,23617 -#define UNIX_STREAM_SOCKET__CONNECT 399,23680 -#define UNIX_STREAM_SOCKET__LISTEN 400,23743 -#define UNIX_STREAM_SOCKET__ACCEPT 401,23806 -#define UNIX_STREAM_SOCKET__GETOPT 402,23869 -#define UNIX_STREAM_SOCKET__SETOPT 403,23932 -#define UNIX_STREAM_SOCKET__SHUTDOWN 404,23995 -#define UNIX_STREAM_SOCKET__RECVFROM 405,24058 -#define UNIX_STREAM_SOCKET__SENDTO 406,24121 -#define UNIX_STREAM_SOCKET__RECV_MSG 407,24184 -#define UNIX_STREAM_SOCKET__SEND_MSG 408,24247 -#define UNIX_STREAM_SOCKET__NAME_BIND 409,24310 -#define UNIX_STREAM_SOCKET__CONNECTTO 411,24374 -#define UNIX_STREAM_SOCKET__NEWCONN 412,24437 -#define UNIX_STREAM_SOCKET__ACCEPTFROM 413,24500 -#define UNIX_DGRAM_SOCKET__IOCTL 415,24564 -#define UNIX_DGRAM_SOCKET__READ 416,24627 -#define UNIX_DGRAM_SOCKET__WRITE 417,24690 -#define UNIX_DGRAM_SOCKET__CREATE 418,24753 -#define UNIX_DGRAM_SOCKET__GETATTR 419,24816 -#define UNIX_DGRAM_SOCKET__SETATTR 420,24879 -#define UNIX_DGRAM_SOCKET__LOCK 421,24942 -#define UNIX_DGRAM_SOCKET__RELABELFROM 422,25005 -#define UNIX_DGRAM_SOCKET__RELABELTO 423,25068 -#define UNIX_DGRAM_SOCKET__APPEND 424,25131 -#define UNIX_DGRAM_SOCKET__BIND 425,25194 -#define UNIX_DGRAM_SOCKET__CONNECT 426,25257 -#define UNIX_DGRAM_SOCKET__LISTEN 427,25320 -#define UNIX_DGRAM_SOCKET__ACCEPT 428,25383 -#define UNIX_DGRAM_SOCKET__GETOPT 429,25446 -#define UNIX_DGRAM_SOCKET__SETOPT 430,25509 -#define UNIX_DGRAM_SOCKET__SHUTDOWN 431,25572 -#define UNIX_DGRAM_SOCKET__RECVFROM 432,25635 -#define UNIX_DGRAM_SOCKET__SENDTO 433,25698 -#define UNIX_DGRAM_SOCKET__RECV_MSG 434,25761 -#define UNIX_DGRAM_SOCKET__SEND_MSG 435,25824 -#define UNIX_DGRAM_SOCKET__NAME_BIND 436,25887 -#define PROCESS__FORK 438,25951 -#define PROCESS__TRANSITION 439,26014 -#define PROCESS__SIGCHLD 440,26077 -#define PROCESS__SIGKILL 441,26140 -#define PROCESS__SIGSTOP 442,26203 -#define PROCESS__SIGNULL 443,26266 -#define PROCESS__SIGNAL 444,26329 -#define PROCESS__PTRACE 445,26392 -#define PROCESS__GETSCHED 446,26455 -#define PROCESS__SETSCHED 447,26518 -#define PROCESS__GETSESSION 448,26581 -#define PROCESS__GETPGID 449,26644 -#define PROCESS__SETPGID 450,26707 -#define PROCESS__GETCAP 451,26770 -#define PROCESS__SETCAP 452,26833 -#define PROCESS__SHARE 453,26896 -#define PROCESS__GETATTR 454,26959 -#define PROCESS__SETEXEC 455,27022 -#define PROCESS__SETFSCREATE 456,27085 -#define PROCESS__NOATSECURE 457,27148 -#define PROCESS__SIGINH 458,27211 -#define PROCESS__SETRLIMIT 459,27274 -#define PROCESS__RLIMITINH 460,27337 -#define IPC__CREATE 462,27401 -#define IPC__DESTROY 463,27464 -#define IPC__GETATTR 464,27527 -#define IPC__SETATTR 465,27590 -#define IPC__READ 466,27653 -#define IPC__WRITE 467,27716 -#define IPC__ASSOCIATE 468,27779 -#define IPC__UNIX_READ 469,27842 -#define IPC__UNIX_WRITE 470,27905 -#define SEM__CREATE 472,27969 -#define SEM__DESTROY 473,28032 -#define SEM__GETATTR 474,28095 -#define SEM__SETATTR 475,28158 -#define SEM__READ 476,28221 -#define SEM__WRITE 477,28284 -#define SEM__ASSOCIATE 478,28347 -#define SEM__UNIX_READ 479,28410 -#define SEM__UNIX_WRITE 480,28473 -#define MSGQ__CREATE 482,28537 -#define MSGQ__DESTROY 483,28600 -#define MSGQ__GETATTR 484,28663 -#define MSGQ__SETATTR 485,28726 -#define MSGQ__READ 486,28789 -#define MSGQ__WRITE 487,28852 -#define MSGQ__ASSOCIATE 488,28915 -#define MSGQ__UNIX_READ 489,28978 -#define MSGQ__UNIX_WRITE 490,29041 -#define MSGQ__ENQUEUE 492,29105 -#define MSG__SEND 494,29169 -#define MSG__RECEIVE 495,29232 -#define SHM__CREATE 497,29296 -#define SHM__DESTROY 498,29359 -#define SHM__GETATTR 499,29422 -#define SHM__SETATTR 500,29485 -#define SHM__READ 501,29548 -#define SHM__WRITE 502,29611 -#define SHM__ASSOCIATE 503,29674 -#define SHM__UNIX_READ 504,29737 -#define SHM__UNIX_WRITE 505,29800 -#define SHM__LOCK 507,29864 -#define SECURITY__COMPUTE_AV 509,29928 -#define SECURITY__COMPUTE_CREATE 510,29991 -#define SECURITY__COMPUTE_MEMBER 511,30054 -#define SECURITY__CHECK_CONTEXT 512,30117 -#define SECURITY__LOAD_POLICY 513,30180 -#define SECURITY__COMPUTE_RELABEL 514,30243 -#define SECURITY__COMPUTE_USER 515,30306 -#define SECURITY__SETENFORCE 516,30369 -#define SECURITY__SETBOOL 517,30432 -#define SECURITY__SETSECPARAM 518,30495 -#define SYSTEM__IPC_INFO 520,30559 -#define SYSTEM__SYSLOG_READ 521,30622 -#define SYSTEM__SYSLOG_MOD 522,30685 -#define SYSTEM__SYSLOG_CONSOLE 523,30748 -#define CAPABILITY__CHOWN 525,30812 -#define CAPABILITY__DAC_OVERRIDE 526,30875 -#define CAPABILITY__DAC_READ_SEARCH 527,30938 -#define CAPABILITY__FOWNER 528,31001 -#define CAPABILITY__FSETID 529,31064 -#define CAPABILITY__KILL 530,31127 -#define CAPABILITY__SETGID 531,31190 -#define CAPABILITY__SETUID 532,31253 -#define CAPABILITY__SETPCAP 533,31316 -#define CAPABILITY__LINUX_IMMUTABLE 534,31379 -#define CAPABILITY__NET_BIND_SERVICE 535,31442 -#define CAPABILITY__NET_BROADCAST 536,31505 -#define CAPABILITY__NET_ADMIN 537,31568 -#define CAPABILITY__NET_RAW 538,31631 -#define CAPABILITY__IPC_LOCK 539,31694 -#define CAPABILITY__IPC_OWNER 540,31757 -#define CAPABILITY__SYS_MODULE 541,31820 -#define CAPABILITY__SYS_RAWIO 542,31883 -#define CAPABILITY__SYS_CHROOT 543,31946 -#define CAPABILITY__SYS_PTRACE 544,32009 -#define CAPABILITY__SYS_PACCT 545,32072 -#define CAPABILITY__SYS_ADMIN 546,32135 -#define CAPABILITY__SYS_BOOT 547,32198 -#define CAPABILITY__SYS_NICE 548,32261 -#define CAPABILITY__SYS_RESOURCE 549,32324 -#define CAPABILITY__SYS_TIME 550,32387 -#define CAPABILITY__SYS_TTY_CONFIG 551,32450 -#define CAPABILITY__MKNOD 552,32513 -#define CAPABILITY__LEASE 553,32576 -#define PASSWD__PASSWD 555,32640 -#define PASSWD__CHFN 556,32703 -#define PASSWD__CHSH 557,32766 -#define PASSWD__ROOTOK 558,32829 -#define DRAWABLE__CREATE 560,32893 -#define DRAWABLE__DESTROY 561,32956 -#define DRAWABLE__DRAW 562,33019 -#define DRAWABLE__COPY 563,33082 -#define DRAWABLE__GETATTR 564,33145 -#define GC__CREATE 566,33209 -#define GC__FREE 567,33272 -#define GC__GETATTR 568,33335 -#define GC__SETATTR 569,33398 -#define WINDOW__ADDCHILD 571,33462 -#define WINDOW__CREATE 572,33525 -#define WINDOW__DESTROY 573,33588 -#define WINDOW__MAP 574,33651 -#define WINDOW__UNMAP 575,33714 -#define WINDOW__CHSTACK 576,33777 -#define WINDOW__CHPROPLIST 577,33840 -#define WINDOW__CHPROP 578,33903 -#define WINDOW__LISTPROP 579,33966 -#define WINDOW__GETATTR 580,34029 -#define WINDOW__SETATTR 581,34092 -#define WINDOW__SETFOCUS 582,34155 -#define WINDOW__MOVE 583,34218 -#define WINDOW__CHSELECTION 584,34281 -#define WINDOW__CHPARENT 585,34344 -#define WINDOW__CTRLLIFE 586,34407 -#define WINDOW__ENUMERATE 587,34470 -#define WINDOW__TRANSPARENT 588,34533 -#define WINDOW__MOUSEMOTION 589,34596 -#define WINDOW__CLIENTCOMEVENT 590,34659 -#define WINDOW__INPUTEVENT 591,34722 -#define WINDOW__DRAWEVENT 592,34785 -#define WINDOW__WINDOWCHANGEEVENT 593,34848 -#define WINDOW__WINDOWCHANGEREQUEST 594,34911 -#define WINDOW__SERVERCHANGEEVENT 595,34974 -#define WINDOW__EXTENSIONEVENT 596,35037 -#define FONT__LOAD 598,35101 -#define FONT__FREE 599,35164 -#define FONT__GETATTR 600,35227 -#define FONT__USE 601,35290 -#define COLORMAP__CREATE 603,35354 -#define COLORMAP__FREE 604,35417 -#define COLORMAP__INSTALL 605,35480 -#define COLORMAP__UNINSTALL 606,35543 -#define COLORMAP__LIST 607,35606 -#define COLORMAP__READ 608,35669 -#define COLORMAP__STORE 609,35732 -#define COLORMAP__GETATTR 610,35795 -#define COLORMAP__SETATTR 611,35858 -#define PROPERTY__CREATE 613,35922 -#define PROPERTY__FREE 614,35985 -#define PROPERTY__READ 615,36048 -#define PROPERTY__WRITE 616,36111 -#define CURSOR__CREATE 618,36175 -#define CURSOR__CREATEGLYPH 619,36238 -#define CURSOR__FREE 620,36301 -#define CURSOR__ASSIGN 621,36364 -#define CURSOR__SETATTR 622,36427 -#define XCLIENT__KILL 624,36491 -#define XINPUT__LOOKUP 626,36555 -#define XINPUT__GETATTR 627,36618 -#define XINPUT__SETATTR 628,36681 -#define XINPUT__SETFOCUS 629,36744 -#define XINPUT__WARPPOINTER 630,36807 -#define XINPUT__ACTIVEGRAB 631,36870 -#define XINPUT__PASSIVEGRAB 632,36933 -#define XINPUT__UNGRAB 633,36996 -#define XINPUT__BELL 634,37059 -#define XINPUT__MOUSEMOTION 635,37122 -#define XINPUT__RELABELINPUT 636,37185 -#define XSERVER__SCREENSAVER 638,37249 -#define XSERVER__GETHOSTLIST 639,37312 -#define XSERVER__SETHOSTLIST 640,37375 -#define XSERVER__GETFONTPATH 641,37438 -#define XSERVER__SETFONTPATH 642,37501 -#define XSERVER__GETATTR 643,37564 -#define XSERVER__GRAB 644,37627 -#define XSERVER__UNGRAB 645,37690 -#define XEXTENSION__QUERY 647,37754 -#define XEXTENSION__USE 648,37817 -#define PAX__PAGEEXEC 650,37881 -#define PAX__EMUTRAMP 651,37944 -#define PAX__MPROTECT 652,38007 -#define PAX__RANDMMAP 653,38070 -#define PAX__RANDEXEC 654,38133 -#define PAX__SEGMEXEC 655,38196 -#define NETLINK_ROUTE_SOCKET__IOCTL 657,38260 -#define NETLINK_ROUTE_SOCKET__READ 658,38323 -#define NETLINK_ROUTE_SOCKET__WRITE 659,38386 -#define NETLINK_ROUTE_SOCKET__CREATE 660,38449 -#define NETLINK_ROUTE_SOCKET__GETATTR 661,38512 -#define NETLINK_ROUTE_SOCKET__SETATTR 662,38575 -#define NETLINK_ROUTE_SOCKET__LOCK 663,38638 -#define NETLINK_ROUTE_SOCKET__RELABELFROM 664,38701 -#define NETLINK_ROUTE_SOCKET__RELABELTO 665,38764 -#define NETLINK_ROUTE_SOCKET__APPEND 666,38827 -#define NETLINK_ROUTE_SOCKET__BIND 667,38890 -#define NETLINK_ROUTE_SOCKET__CONNECT 668,38953 -#define NETLINK_ROUTE_SOCKET__LISTEN 669,39016 -#define NETLINK_ROUTE_SOCKET__ACCEPT 670,39079 -#define NETLINK_ROUTE_SOCKET__GETOPT 671,39142 -#define NETLINK_ROUTE_SOCKET__SETOPT 672,39205 -#define NETLINK_ROUTE_SOCKET__SHUTDOWN 673,39268 -#define NETLINK_ROUTE_SOCKET__RECVFROM 674,39331 -#define NETLINK_ROUTE_SOCKET__SENDTO 675,39394 -#define NETLINK_ROUTE_SOCKET__RECV_MSG 676,39457 -#define NETLINK_ROUTE_SOCKET__SEND_MSG 677,39520 -#define NETLINK_ROUTE_SOCKET__NAME_BIND 678,39583 -#define NETLINK_ROUTE_SOCKET__NLMSG_READ 680,39647 -#define NETLINK_ROUTE_SOCKET__NLMSG_WRITE 681,39710 -#define NETLINK_FIREWALL_SOCKET__IOCTL 683,39774 -#define NETLINK_FIREWALL_SOCKET__READ 684,39837 -#define NETLINK_FIREWALL_SOCKET__WRITE 685,39900 -#define NETLINK_FIREWALL_SOCKET__CREATE 686,39963 -#define NETLINK_FIREWALL_SOCKET__GETATTR 687,40026 -#define NETLINK_FIREWALL_SOCKET__SETATTR 688,40089 -#define NETLINK_FIREWALL_SOCKET__LOCK 689,40152 -#define NETLINK_FIREWALL_SOCKET__RELABELFROM 690,40215 -#define NETLINK_FIREWALL_SOCKET__RELABELTO 691,40278 -#define NETLINK_FIREWALL_SOCKET__APPEND 692,40341 -#define NETLINK_FIREWALL_SOCKET__BIND 693,40404 -#define NETLINK_FIREWALL_SOCKET__CONNECT 694,40467 -#define NETLINK_FIREWALL_SOCKET__LISTEN 695,40530 -#define NETLINK_FIREWALL_SOCKET__ACCEPT 696,40593 -#define NETLINK_FIREWALL_SOCKET__GETOPT 697,40656 -#define NETLINK_FIREWALL_SOCKET__SETOPT 698,40719 -#define NETLINK_FIREWALL_SOCKET__SHUTDOWN 699,40782 -#define NETLINK_FIREWALL_SOCKET__RECVFROM 700,40845 -#define NETLINK_FIREWALL_SOCKET__SENDTO 701,40908 -#define NETLINK_FIREWALL_SOCKET__RECV_MSG 702,40971 -#define NETLINK_FIREWALL_SOCKET__SEND_MSG 703,41034 -#define NETLINK_FIREWALL_SOCKET__NAME_BIND 704,41097 -#define NETLINK_FIREWALL_SOCKET__NLMSG_READ 706,41161 -#define NETLINK_FIREWALL_SOCKET__NLMSG_WRITE 707,41224 -#define NETLINK_TCPDIAG_SOCKET__IOCTL 709,41288 -#define NETLINK_TCPDIAG_SOCKET__READ 710,41351 -#define NETLINK_TCPDIAG_SOCKET__WRITE 711,41414 -#define NETLINK_TCPDIAG_SOCKET__CREATE 712,41477 -#define NETLINK_TCPDIAG_SOCKET__GETATTR 713,41540 -#define NETLINK_TCPDIAG_SOCKET__SETATTR 714,41603 -#define NETLINK_TCPDIAG_SOCKET__LOCK 715,41666 -#define NETLINK_TCPDIAG_SOCKET__RELABELFROM 716,41729 -#define NETLINK_TCPDIAG_SOCKET__RELABELTO 717,41792 -#define NETLINK_TCPDIAG_SOCKET__APPEND 718,41855 -#define NETLINK_TCPDIAG_SOCKET__BIND 719,41918 -#define NETLINK_TCPDIAG_SOCKET__CONNECT 720,41981 -#define NETLINK_TCPDIAG_SOCKET__LISTEN 721,42044 -#define NETLINK_TCPDIAG_SOCKET__ACCEPT 722,42107 -#define NETLINK_TCPDIAG_SOCKET__GETOPT 723,42170 -#define NETLINK_TCPDIAG_SOCKET__SETOPT 724,42233 -#define NETLINK_TCPDIAG_SOCKET__SHUTDOWN 725,42296 -#define NETLINK_TCPDIAG_SOCKET__RECVFROM 726,42359 -#define NETLINK_TCPDIAG_SOCKET__SENDTO 727,42422 -#define NETLINK_TCPDIAG_SOCKET__RECV_MSG 728,42485 -#define NETLINK_TCPDIAG_SOCKET__SEND_MSG 729,42548 -#define NETLINK_TCPDIAG_SOCKET__NAME_BIND 730,42611 -#define NETLINK_TCPDIAG_SOCKET__NLMSG_READ 732,42675 -#define NETLINK_TCPDIAG_SOCKET__NLMSG_WRITE 733,42738 -#define NETLINK_NFLOG_SOCKET__IOCTL 735,42802 -#define NETLINK_NFLOG_SOCKET__READ 736,42865 -#define NETLINK_NFLOG_SOCKET__WRITE 737,42928 -#define NETLINK_NFLOG_SOCKET__CREATE 738,42991 -#define NETLINK_NFLOG_SOCKET__GETATTR 739,43054 -#define NETLINK_NFLOG_SOCKET__SETATTR 740,43117 -#define NETLINK_NFLOG_SOCKET__LOCK 741,43180 -#define NETLINK_NFLOG_SOCKET__RELABELFROM 742,43243 -#define NETLINK_NFLOG_SOCKET__RELABELTO 743,43306 -#define NETLINK_NFLOG_SOCKET__APPEND 744,43369 -#define NETLINK_NFLOG_SOCKET__BIND 745,43432 -#define NETLINK_NFLOG_SOCKET__CONNECT 746,43495 -#define NETLINK_NFLOG_SOCKET__LISTEN 747,43558 -#define NETLINK_NFLOG_SOCKET__ACCEPT 748,43621 -#define NETLINK_NFLOG_SOCKET__GETOPT 749,43684 -#define NETLINK_NFLOG_SOCKET__SETOPT 750,43747 -#define NETLINK_NFLOG_SOCKET__SHUTDOWN 751,43810 -#define NETLINK_NFLOG_SOCKET__RECVFROM 752,43873 -#define NETLINK_NFLOG_SOCKET__SENDTO 753,43936 -#define NETLINK_NFLOG_SOCKET__RECV_MSG 754,43999 -#define NETLINK_NFLOG_SOCKET__SEND_MSG 755,44062 -#define NETLINK_NFLOG_SOCKET__NAME_BIND 756,44125 -#define NETLINK_XFRM_SOCKET__IOCTL 758,44189 -#define NETLINK_XFRM_SOCKET__READ 759,44252 -#define NETLINK_XFRM_SOCKET__WRITE 760,44315 -#define NETLINK_XFRM_SOCKET__CREATE 761,44378 -#define NETLINK_XFRM_SOCKET__GETATTR 762,44441 -#define NETLINK_XFRM_SOCKET__SETATTR 763,44504 -#define NETLINK_XFRM_SOCKET__LOCK 764,44567 -#define NETLINK_XFRM_SOCKET__RELABELFROM 765,44630 -#define NETLINK_XFRM_SOCKET__RELABELTO 766,44693 -#define NETLINK_XFRM_SOCKET__APPEND 767,44756 -#define NETLINK_XFRM_SOCKET__BIND 768,44819 -#define NETLINK_XFRM_SOCKET__CONNECT 769,44882 -#define NETLINK_XFRM_SOCKET__LISTEN 770,44945 -#define NETLINK_XFRM_SOCKET__ACCEPT 771,45008 -#define NETLINK_XFRM_SOCKET__GETOPT 772,45071 -#define NETLINK_XFRM_SOCKET__SETOPT 773,45134 -#define NETLINK_XFRM_SOCKET__SHUTDOWN 774,45197 -#define NETLINK_XFRM_SOCKET__RECVFROM 775,45260 -#define NETLINK_XFRM_SOCKET__SENDTO 776,45323 -#define NETLINK_XFRM_SOCKET__RECV_MSG 777,45386 -#define NETLINK_XFRM_SOCKET__SEND_MSG 778,45449 -#define NETLINK_XFRM_SOCKET__NAME_BIND 779,45512 -#define NETLINK_XFRM_SOCKET__NLMSG_READ 781,45576 -#define NETLINK_XFRM_SOCKET__NLMSG_WRITE 782,45639 -#define NETLINK_SELINUX_SOCKET__IOCTL 784,45703 -#define NETLINK_SELINUX_SOCKET__READ 785,45766 -#define NETLINK_SELINUX_SOCKET__WRITE 786,45829 -#define NETLINK_SELINUX_SOCKET__CREATE 787,45892 -#define NETLINK_SELINUX_SOCKET__GETATTR 788,45955 -#define NETLINK_SELINUX_SOCKET__SETATTR 789,46018 -#define NETLINK_SELINUX_SOCKET__LOCK 790,46081 -#define NETLINK_SELINUX_SOCKET__RELABELFROM 791,46144 -#define NETLINK_SELINUX_SOCKET__RELABELTO 792,46207 -#define NETLINK_SELINUX_SOCKET__APPEND 793,46270 -#define NETLINK_SELINUX_SOCKET__BIND 794,46333 -#define NETLINK_SELINUX_SOCKET__CONNECT 795,46396 -#define NETLINK_SELINUX_SOCKET__LISTEN 796,46459 -#define NETLINK_SELINUX_SOCKET__ACCEPT 797,46522 -#define NETLINK_SELINUX_SOCKET__GETOPT 798,46585 -#define NETLINK_SELINUX_SOCKET__SETOPT 799,46648 -#define NETLINK_SELINUX_SOCKET__SHUTDOWN 800,46711 -#define NETLINK_SELINUX_SOCKET__RECVFROM 801,46774 -#define NETLINK_SELINUX_SOCKET__SENDTO 802,46837 -#define NETLINK_SELINUX_SOCKET__RECV_MSG 803,46900 -#define NETLINK_SELINUX_SOCKET__SEND_MSG 804,46963 -#define NETLINK_SELINUX_SOCKET__NAME_BIND 805,47026 -#define NETLINK_AUDIT_SOCKET__IOCTL 807,47090 -#define NETLINK_AUDIT_SOCKET__READ 808,47153 -#define NETLINK_AUDIT_SOCKET__WRITE 809,47216 -#define NETLINK_AUDIT_SOCKET__CREATE 810,47279 -#define NETLINK_AUDIT_SOCKET__GETATTR 811,47342 -#define NETLINK_AUDIT_SOCKET__SETATTR 812,47405 -#define NETLINK_AUDIT_SOCKET__LOCK 813,47468 -#define NETLINK_AUDIT_SOCKET__RELABELFROM 814,47531 -#define NETLINK_AUDIT_SOCKET__RELABELTO 815,47594 -#define NETLINK_AUDIT_SOCKET__APPEND 816,47657 -#define NETLINK_AUDIT_SOCKET__BIND 817,47720 -#define NETLINK_AUDIT_SOCKET__CONNECT 818,47783 -#define NETLINK_AUDIT_SOCKET__LISTEN 819,47846 -#define NETLINK_AUDIT_SOCKET__ACCEPT 820,47909 -#define NETLINK_AUDIT_SOCKET__GETOPT 821,47972 -#define NETLINK_AUDIT_SOCKET__SETOPT 822,48035 -#define NETLINK_AUDIT_SOCKET__SHUTDOWN 823,48098 -#define NETLINK_AUDIT_SOCKET__RECVFROM 824,48161 -#define NETLINK_AUDIT_SOCKET__SENDTO 825,48224 -#define NETLINK_AUDIT_SOCKET__RECV_MSG 826,48287 -#define NETLINK_AUDIT_SOCKET__SEND_MSG 827,48350 -#define NETLINK_AUDIT_SOCKET__NAME_BIND 828,48413 -#define NETLINK_AUDIT_SOCKET__NLMSG_READ 830,48477 -#define NETLINK_AUDIT_SOCKET__NLMSG_WRITE 831,48540 -#define NETLINK_IP6FW_SOCKET__IOCTL 833,48604 -#define NETLINK_IP6FW_SOCKET__READ 834,48667 -#define NETLINK_IP6FW_SOCKET__WRITE 835,48730 -#define NETLINK_IP6FW_SOCKET__CREATE 836,48793 -#define NETLINK_IP6FW_SOCKET__GETATTR 837,48856 -#define NETLINK_IP6FW_SOCKET__SETATTR 838,48919 -#define NETLINK_IP6FW_SOCKET__LOCK 839,48982 -#define NETLINK_IP6FW_SOCKET__RELABELFROM 840,49045 -#define NETLINK_IP6FW_SOCKET__RELABELTO 841,49108 -#define NETLINK_IP6FW_SOCKET__APPEND 842,49171 -#define NETLINK_IP6FW_SOCKET__BIND 843,49234 -#define NETLINK_IP6FW_SOCKET__CONNECT 844,49297 -#define NETLINK_IP6FW_SOCKET__LISTEN 845,49360 -#define NETLINK_IP6FW_SOCKET__ACCEPT 846,49423 -#define NETLINK_IP6FW_SOCKET__GETOPT 847,49486 -#define NETLINK_IP6FW_SOCKET__SETOPT 848,49549 -#define NETLINK_IP6FW_SOCKET__SHUTDOWN 849,49612 -#define NETLINK_IP6FW_SOCKET__RECVFROM 850,49675 -#define NETLINK_IP6FW_SOCKET__SENDTO 851,49738 -#define NETLINK_IP6FW_SOCKET__RECV_MSG 852,49801 -#define NETLINK_IP6FW_SOCKET__SEND_MSG 853,49864 -#define NETLINK_IP6FW_SOCKET__NAME_BIND 854,49927 -#define NETLINK_IP6FW_SOCKET__NLMSG_READ 856,49991 -#define NETLINK_IP6FW_SOCKET__NLMSG_WRITE 857,50054 -#define NETLINK_DNRT_SOCKET__IOCTL 859,50118 -#define NETLINK_DNRT_SOCKET__READ 860,50181 -#define NETLINK_DNRT_SOCKET__WRITE 861,50244 -#define NETLINK_DNRT_SOCKET__CREATE 862,50307 -#define NETLINK_DNRT_SOCKET__GETATTR 863,50370 -#define NETLINK_DNRT_SOCKET__SETATTR 864,50433 -#define NETLINK_DNRT_SOCKET__LOCK 865,50496 -#define NETLINK_DNRT_SOCKET__RELABELFROM 866,50559 -#define NETLINK_DNRT_SOCKET__RELABELTO 867,50622 -#define NETLINK_DNRT_SOCKET__APPEND 868,50685 -#define NETLINK_DNRT_SOCKET__BIND 869,50748 -#define NETLINK_DNRT_SOCKET__CONNECT 870,50811 -#define NETLINK_DNRT_SOCKET__LISTEN 871,50874 -#define NETLINK_DNRT_SOCKET__ACCEPT 872,50937 -#define NETLINK_DNRT_SOCKET__GETOPT 873,51000 -#define NETLINK_DNRT_SOCKET__SETOPT 874,51063 -#define NETLINK_DNRT_SOCKET__SHUTDOWN 875,51126 -#define NETLINK_DNRT_SOCKET__RECVFROM 876,51189 -#define NETLINK_DNRT_SOCKET__SENDTO 877,51252 -#define NETLINK_DNRT_SOCKET__RECV_MSG 878,51315 -#define NETLINK_DNRT_SOCKET__SEND_MSG 879,51378 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/objsec.h,563 -#define _SELINUX_OBJSEC_H_19,714 -struct task_security_struct task_security_struct29,899 -struct inode_security_struct inode_security_struct39,1293 -struct file_security_struct file_security_struct51,1837 -struct superblock_security_struct superblock_security_struct58,2123 -struct msg_security_struct msg_security_struct72,2703 -struct ipc_security_struct ipc_security_struct78,2887 -struct bprm_security_struct bprm_security_struct85,3135 -struct netif_security_struct netif_security_struct92,3388 -struct sk_security_struct sk_security_struct98,3586 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/avc.h,750 -#define _SELINUX_AVC_H_7,138 -#define selinux_enforcing 24,510 -struct avc_audit_data avc_audit_data40,752 -#define AVC_AUDIT_DATA_FS 42,791 -#define AVC_AUDIT_DATA_NET 43,821 -#define AVC_AUDIT_DATA_CAP 44,851 -#define AVC_AUDIT_DATA_IPC 45,881 -#define v4info 75,1330 -#define v6info 76,1352 -#define AVC_AUDIT_DATA_INIT(AVC_AUDIT_DATA_INIT79,1421 -struct avc_cache_statsavc_cache_stats85,1578 -#define AVC_CALLBACK_GRANT 120,2440 -#define AVC_CALLBACK_TRY_REVOKE 121,2470 -#define AVC_CALLBACK_REVOKE 122,2505 -#define AVC_CALLBACK_RESET 123,2536 -#define AVC_CALLBACK_AUDITALLOW_ENABLE 124,2566 -#define AVC_CALLBACK_AUDITALLOW_DISABLE 125,2608 -#define AVC_CALLBACK_AUDITDENY_ENABLE 126,2651 -#define AVC_CALLBACK_AUDITDENY_DISABLE 127,2692 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/common_perm_to_string.h,143 -static char *common_file_perm_to_string[4,71 -static char *common_socket_perm_to_string[25,364 -static char *common_ipc_perm_to_string[51,738 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/conditional.h,39 -#define _SELINUX_CONDITIONAL_H_14,426 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/av_inherit.h,78 -struct av_inheritav_inherit4,71 -static struct av_inherit av_inherit[11,155 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/av_perm_to_string.h,106 -struct av_perm_to_stringav_perm_to_string4,71 -static struct av_perm_to_string av_perm_to_string[11,149 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/initial_sid_to_string.h,41 -static char *initial_sid_to_string[2,58 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/avc_ss.h,33 -#define _SELINUX_AVC_SS_H_7,145 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/security.h,758 -#define _SELINUX_SECURITY_H_9,123 -#define SECSID_NULL 13,173 -#define SECSID_WILD 14,228 -#define SECCLASS_NULL 15,280 -#define SELINUX_MAGIC 17,327 -#define POLICYDB_VERSION_BASE 20,408 -#define POLICYDB_VERSION_BOOL 21,442 -#define POLICYDB_VERSION_IPV6 22,476 -#define POLICYDB_VERSION_NLCLASS 23,510 -#define POLICYDB_VERSION_MIN 26,591 -#define POLICYDB_VERSION_MAX 27,644 -#define selinux_enabled 32,776 -#define selinux_mls_enabled 36,845 -#define selinux_mls_enabled 38,881 -struct av_decision av_decision43,971 -#define SECURITY_FS_USE_XATTR 82,1858 -#define SECURITY_FS_USE_TRANS 83,1907 -#define SECURITY_FS_USE_TASK 84,1985 -#define SECURITY_FS_USE_GENFS 85,2057 -#define SECURITY_FS_USE_NONE 86,2118 -#define SECURITY_FS_USE_MNTPOINT 87,2176 - -/export0/mef/linux-2.6.9-1.11_FC2/security/selinux/include/flask.h,2919 -#define _SELINUX_FLASK_H_3,84 -#define SECCLASS_SECURITY 8,155 -#define SECCLASS_PROCESS 9,214 -#define SECCLASS_SYSTEM 10,273 -#define SECCLASS_CAPABILITY 11,332 -#define SECCLASS_FILESYSTEM 12,391 -#define SECCLASS_FILE 13,450 -#define SECCLASS_DIR 14,509 -#define SECCLASS_FD 15,568 -#define SECCLASS_LNK_FILE 16,627 -#define SECCLASS_CHR_FILE 17,686 -#define SECCLASS_BLK_FILE 18,746 -#define SECCLASS_SOCK_FILE 19,806 -#define SECCLASS_FIFO_FILE 20,866 -#define SECCLASS_SOCKET 21,926 -#define SECCLASS_TCP_SOCKET 22,986 -#define SECCLASS_UDP_SOCKET 23,1046 -#define SECCLASS_RAWIP_SOCKET 24,1106 -#define SECCLASS_NODE 25,1166 -#define SECCLASS_NETIF 26,1226 -#define SECCLASS_NETLINK_SOCKET 27,1286 -#define SECCLASS_PACKET_SOCKET 28,1346 -#define SECCLASS_KEY_SOCKET 29,1406 -#define SECCLASS_UNIX_STREAM_SOCKET 30,1466 -#define SECCLASS_UNIX_DGRAM_SOCKET 31,1526 -#define SECCLASS_SEM 32,1586 -#define SECCLASS_MSG 33,1646 -#define SECCLASS_MSGQ 34,1706 -#define SECCLASS_SHM 35,1766 -#define SECCLASS_IPC 36,1826 -#define SECCLASS_PASSWD 37,1886 -#define SECCLASS_DRAWABLE 38,1946 -#define SECCLASS_WINDOW 39,2006 -#define SECCLASS_GC 40,2066 -#define SECCLASS_FONT 41,2126 -#define SECCLASS_COLORMAP 42,2186 -#define SECCLASS_PROPERTY 43,2246 -#define SECCLASS_CURSOR 44,2306 -#define SECCLASS_XCLIENT 45,2366 -#define SECCLASS_XINPUT 46,2426 -#define SECCLASS_XSERVER 47,2486 -#define SECCLASS_XEXTENSION 48,2546 -#define SECCLASS_PAX 49,2606 -#define SECCLASS_NETLINK_ROUTE_SOCKET 50,2666 -#define SECCLASS_NETLINK_FIREWALL_SOCKET 51,2726 -#define SECCLASS_NETLINK_TCPDIAG_SOCKET 52,2786 -#define SECCLASS_NETLINK_NFLOG_SOCKET 53,2846 -#define SECCLASS_NETLINK_XFRM_SOCKET 54,2906 -#define SECCLASS_NETLINK_SELINUX_SOCKET 55,2966 -#define SECCLASS_NETLINK_AUDIT_SOCKET 56,3026 -#define SECCLASS_NETLINK_IP6FW_SOCKET 57,3086 -#define SECCLASS_NETLINK_DNRT_SOCKET 58,3146 -#define SECINITSID_KERNEL 63,3266 -#define SECINITSID_SECURITY 64,3324 -#define SECINITSID_UNLABELED 65,3382 -#define SECINITSID_FS 66,3440 -#define SECINITSID_FILE 67,3498 -#define SECINITSID_FILE_LABELS 68,3556 -#define SECINITSID_INIT 69,3614 -#define SECINITSID_ANY_SOCKET 70,3672 -#define SECINITSID_PORT 71,3730 -#define SECINITSID_NETIF 72,3788 -#define SECINITSID_NETMSG 73,3847 -#define SECINITSID_NODE 74,3906 -#define SECINITSID_IGMP_PACKET 75,3965 -#define SECINITSID_ICMP_SOCKET 76,4024 -#define SECINITSID_TCP_SOCKET 77,4083 -#define SECINITSID_SYSCTL_MODPROBE 78,4142 -#define SECINITSID_SYSCTL 79,4201 -#define SECINITSID_SYSCTL_FS 80,4260 -#define SECINITSID_SYSCTL_KERNEL 81,4319 -#define SECINITSID_SYSCTL_NET 82,4378 -#define SECINITSID_SYSCTL_NET_UNIX 83,4437 -#define SECINITSID_SYSCTL_VM 84,4496 -#define SECINITSID_SYSCTL_DEV 85,4555 -#define SECINITSID_KMOD 86,4614 -#define SECINITSID_POLICY 87,4673 -#define SECINITSID_SCMP_PACKET 88,4732 -#define SECINITSID_DEVNULL 89,4791 -#define SECINITSID_NUM 91,4851 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_tr.h,716 -#define _LINUX_IF_TR_H20,751 -#define TR_ALEN 25,895 -#define TR_HLEN 26,949 -#define AC 27,1013 -#define LLC_FRAME 28,1031 -#define ETH_HLEN 30,1060 -#define ETH_ZLEN 31,1112 -#define ETH_DATA_LEN 32,1169 -#define ETH_FRAME_LEN 33,1226 -#define EXTENDED_SAP 38,1328 -#define UI_CMD 39,1354 -struct trh_hdr trh_hdr42,1423 -static inline struct trh_hdr *tr_hdr(54,1745 -struct trllc trllc61,1903 -struct tr_statistics tr_statistics70,2153 -#define TR_RII 100,3194 -#define TR_RCF_DIR_BIT 101,3214 -#define TR_RCF_LEN_MASK 102,3242 -#define TR_RCF_BROADCAST 103,3273 -#define TR_RCF_LIMITED_BROADCAST 104,3340 -#define TR_RCF_FRAME2K 105,3409 -#define TR_RCF_BROADCAST_MASK 106,3437 -#define TR_MAXRIFLEN 107,3474 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sys.h,280 -#define _LINUX_SYS_H2,21 -#define _sys_waitpid 14,264 -#define _sys_olduname 15,319 -#define _sys_uname 16,378 -#define _sys_stat 17,434 -#define _sys_fstat 18,488 -#define _sys_lstat 19,544 -#define _sys_signal 20,600 -#define _sys_sgetmask 21,658 -#define _sys_ssetmask 22,720 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/aio_abi.h,342 -#define __LINUX__AIO_ABI_H28,1173 -typedef unsigned long aio_context_t;aio_context_t32,1229 - IOCB_CMD_PREAD 35,1274 - IOCB_CMD_PWRITE 36,1295 - IOCB_CMD_FSYNC 37,1317 - IOCB_CMD_FDSYNC 38,1338 - IOCB_CMD_NOOP 43,1445 -struct io_event io_event47,1522 -#define PADDED(PADDED55,1759 -#define PADDED(PADDED57,1812 -struct iocb iocb68,2038 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/xfrm.h,2685 -#define _LINUX_XFRM_H2,22 -} xfrm_address_t;xfrm_address_t17,354 -struct xfrm_idxfrm_id23,554 -struct xfrm_selectorxfrm_selector32,695 -#define XFRM_INF 48,927 -struct xfrm_lifetime_cfgxfrm_lifetime_cfg50,957 -struct xfrm_lifetime_curxfrm_lifetime_cur62,1220 -struct xfrm_replay_statexfrm_replay_state70,1315 -struct xfrm_algo xfrm_algo77,1386 -struct xfrm_stats xfrm_stats83,1482 - XFRM_POLICY_IN 91,1575 - XFRM_POLICY_OUT 92,1596 - XFRM_POLICY_FWD 93,1618 - XFRM_POLICY_MAX 94,1640 - XFRM_SHARE_ANY,99,1672 - XFRM_SHARE_SESSION,100,1711 - XFRM_SHARE_USER,101,1760 - XFRM_SHARE_UNIQUE 102,1803 - XFRM_MSG_BASE 107,1887 - XFRM_MSG_BASE = 0x10,107,1887 - XFRM_MSG_NEWSA 109,1911 - XFRM_MSG_NEWSA = 0x10,109,1911 -#define XFRM_MSG_NEWSA 110,1935 - XFRM_MSG_DELSA,111,1973 -#define XFRM_MSG_DELSA 112,1990 - XFRM_MSG_GETSA,113,2028 -#define XFRM_MSG_GETSA 114,2045 - XFRM_MSG_NEWPOLICY,116,2084 -#define XFRM_MSG_NEWPOLICY 117,2105 - XFRM_MSG_DELPOLICY,118,2151 -#define XFRM_MSG_DELPOLICY 119,2172 - XFRM_MSG_GETPOLICY,120,2218 -#define XFRM_MSG_GETPOLICY 121,2239 - XFRM_MSG_ALLOCSPI,123,2286 -#define XFRM_MSG_ALLOCSPI 124,2306 - XFRM_MSG_ACQUIRE,125,2350 -#define XFRM_MSG_ACQUIRE 126,2369 - XFRM_MSG_EXPIRE,127,2411 -#define XFRM_MSG_EXPIRE 128,2429 - XFRM_MSG_UPDPOLICY,130,2470 -#define XFRM_MSG_UPDPOLICY 131,2491 - XFRM_MSG_UPDSA,132,2537 -#define XFRM_MSG_UPDSA 133,2554 - XFRM_MSG_POLEXPIRE,135,2593 -#define XFRM_MSG_POLEXPIRE 136,2614 - XFRM_MSG_FLUSHSA,138,2661 -#define XFRM_MSG_FLUSHSA 139,2680 - XFRM_MSG_FLUSHPOLICY,140,2722 -#define XFRM_MSG_FLUSHPOLICY 141,2745 - XFRM_MSG_MAX143,2796 -struct xfrm_user_tmpl xfrm_user_tmpl146,2814 -struct xfrm_encap_tmpl xfrm_encap_tmpl159,3018 -enum xfrm_attr_type_t xfrm_attr_type_t167,3170 - XFRMA_UNSPEC,168,3194 - XFRMA_ALG_AUTH,169,3209 - XFRMA_ALG_CRYPT,170,3250 - XFRMA_ALG_COMP,171,3291 - XFRMA_ENCAP,172,3332 - XFRMA_TMPL,173,3395 - __XFRMA_MAX174,3447 -#define XFRMA_MAX 176,3461 -struct xfrm_usersa_info xfrm_usersa_info179,3501 -#define XFRM_STATE_NOECN 192,3826 -#define XFRM_STATE_DECAP_DSCP 193,3853 -struct xfrm_usersa_id xfrm_usersa_id196,3889 -struct xfrm_userspi_info xfrm_userspi_info203,3991 -struct xfrm_userpolicy_info xfrm_userpolicy_info209,4084 -#define XFRM_POLICY_ALLOW 217,4275 -#define XFRM_POLICY_BLOCK 218,4303 -#define XFRM_POLICY_LOCALOK 220,4347 -struct xfrm_userpolicy_id xfrm_userpolicy_id224,4440 -struct xfrm_user_acquire xfrm_user_acquire230,4531 -struct xfrm_user_expire xfrm_user_expire241,4743 -struct xfrm_user_polexpire xfrm_user_polexpire246,4821 -struct xfrm_usersa_flush xfrm_usersa_flush251,4903 -#define XFRMGRP_ACQUIRE 255,4950 -#define XFRMGRP_EXPIRE 256,4977 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/zorro_ids.h,21340 -#define ZORRO_MANUF_PACIFIC_PERIPHERALS 8,56 -#define ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500 9,106 -#define ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI 10,199 -#define ZORRO_MANUF_MACROSYSTEMS_USA_2 12,286 -#define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE 13,335 -#define ZORRO_MANUF_KUPKE_1 15,421 -#define ZORRO_PROD_KUPKE_GOLEM_RAM_BOX_2MB 16,460 -#define ZORRO_MANUF_MEMPHIS 18,534 -#define ZORRO_PROD_MEMPHIS_STORMBRINGER 19,573 -#define ZORRO_MANUF_3_STATE 21,644 -#define ZORRO_PROD_3_STATE_MEGAMIX_2000 22,683 -#define ZORRO_MANUF_COMMODORE_BRAUNSCHWEIG 24,754 -#define ZORRO_PROD_CBM_A2088_A2286 25,806 -#define ZORRO_PROD_CBM_A2286 26,887 -#define ZORRO_PROD_CBM_A4091_1 27,963 -#define ZORRO_PROD_CBM_A2386SX_1 28,1041 -#define ZORRO_MANUF_COMMODORE_WEST_CHESTER_1 30,1121 -#define ZORRO_PROD_CBM_A2090A 31,1175 -#define ZORRO_PROD_CBM_A590_A2091_1 32,1254 -#define ZORRO_PROD_CBM_A590_A2091_2 33,1338 -#define ZORRO_PROD_CBM_A2090B 34,1422 -#define ZORRO_PROD_CBM_A2060 35,1501 -#define ZORRO_PROD_CBM_A590_A2052_A2058_A2091 36,1579 -#define ZORRO_PROD_CBM_A560_RAM 37,1672 -#define ZORRO_PROD_CBM_A2232_PROTOTYPE 38,1752 -#define ZORRO_PROD_CBM_A2232 39,1839 -#define ZORRO_PROD_CBM_A2620 40,1917 -#define ZORRO_PROD_CBM_A2630 41,1995 -#define ZORRO_PROD_CBM_A4091_2 42,2073 -#define ZORRO_PROD_CBM_A2065_1 43,2153 -#define ZORRO_PROD_CBM_ROMULATOR 44,2233 -#define ZORRO_PROD_CBM_A3000_TEST_FIXTURE 45,2314 -#define ZORRO_PROD_CBM_A2386SX_2 46,2403 -#define ZORRO_PROD_CBM_A2065_2 47,2484 -#define ZORRO_MANUF_COMMODORE_WEST_CHESTER_2 49,2565 -#define ZORRO_PROD_CBM_A2090A_CM 50,2619 -#define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2 52,2701 -#define ZORRO_PROD_PPS_EXP8000 53,2766 -#define ZORRO_MANUF_KOLFF_COMPUTER_SUPPLIES 55,2860 -#define ZORRO_PROD_KCS_POWER_PC_BOARD 56,2913 -#define ZORRO_MANUF_CARDCO_1 58,2999 -#define ZORRO_PROD_CARDCO_KRONOS_2000_1 59,3039 -#define ZORRO_PROD_CARDCO_A1000_1 60,3110 -#define ZORRO_PROD_CARDCO_ESCORT 61,3176 -#define ZORRO_PROD_CARDCO_A2410 62,3241 -#define ZORRO_MANUF_A_SQUARED 64,3306 -#define ZORRO_PROD_A_SQUARED_LIVE_2000 65,3347 -#define ZORRO_MANUF_COMSPEC_COMMUNICATIONS 67,3420 -#define ZORRO_PROD_COMSPEC_COMMUNICATIONS_AX2000 68,3472 -#define ZORRO_MANUF_ANAKIN_RESEARCH 70,3566 -#define ZORRO_PROD_ANAKIN_RESEARCH_EASYL 71,3612 -#define ZORRO_MANUF_MICROBOTICS 73,3692 -#define ZORRO_PROD_MICROBOTICS_STARBOARD_II 74,3735 -#define ZORRO_PROD_MICROBOTICS_STARDRIVE 75,3813 -#define ZORRO_PROD_MICROBOTICS_8_UP_A 76,3888 -#define ZORRO_PROD_MICROBOTICS_8_UP_Z 77,3961 -#define ZORRO_PROD_MICROBOTICS_DELTA_RAM 78,4034 -#define ZORRO_PROD_MICROBOTICS_8_STAR_RAM 79,4109 -#define ZORRO_PROD_MICROBOTICS_8_STAR 80,4185 -#define ZORRO_PROD_MICROBOTICS_VXL_RAM_32 81,4258 -#define ZORRO_PROD_MICROBOTICS_VXL_68030 82,4334 -#define ZORRO_PROD_MICROBOTICS_DELTA 83,4409 -#define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z_RAM 84,4481 -#define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_1 85,4564 -#define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_2 86,4645 -#define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z 87,4726 -#define ZORRO_MANUF_ACCESS_ASSOCIATES_ALEGRA 89,4807 -#define ZORRO_MANUF_EXPANSION_TECHNOLOGIES 91,4862 -#define ZORRO_MANUF_ASDG 93,4915 -#define ZORRO_PROD_ASDG_MEMORY_1 94,4951 -#define ZORRO_PROD_ASDG_MEMORY_2 95,5012 -#define ZORRO_PROD_ASDG_EB920_LAN_ROVER 96,5073 -#define ZORRO_PROD_ASDG_GPIB_DUALIEEE488_TWIN_X 97,5140 -#define ZORRO_MANUF_IMTRONICS_1 99,5215 -#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_1 100,5258 -#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_2 101,5338 -#define ZORRO_MANUF_CBM_UNIVERSITY_OF_LOWELL 103,5419 -#define ZORRO_PROD_CBM_A2410 104,5473 -#define ZORRO_MANUF_AMERISTAR 106,5552 -#define ZORRO_PROD_AMERISTAR_A2065 107,5593 -#define ZORRO_PROD_AMERISTAR_A560 108,5661 -#define ZORRO_PROD_AMERISTAR_A4066 109,5728 -#define ZORRO_MANUF_SUPRA 111,5797 -#define ZORRO_PROD_SUPRA_SUPRADRIVE_4x4 112,5834 -#define ZORRO_PROD_SUPRA_1000_RAM 113,5902 -#define ZORRO_PROD_SUPRA_2000_DMA 114,5965 -#define ZORRO_PROD_SUPRA_500 115,6028 -#define ZORRO_PROD_SUPRA_500_SCSI 116,6087 -#define ZORRO_PROD_SUPRA_500XP_2000_RAM 117,6150 -#define ZORRO_PROD_SUPRA_500RX_2000_RAM 118,6218 -#define ZORRO_PROD_SUPRA_2400ZI 119,6286 -#define ZORRO_PROD_SUPRA_500XP_SUPRADRIVE_WORDSYNC 120,6347 -#define ZORRO_PROD_SUPRA_SUPRADRIVE_WORDSYNC_II 121,6425 -#define ZORRO_PROD_SUPRA_2400ZIPLUS 122,6500 -#define ZORRO_MANUF_COMPUTER_SYSTEMS_ASSOCIATES 124,6566 -#define ZORRO_PROD_CSA_MAGNUM 125,6623 -#define ZORRO_PROD_CSA_12_GAUGE 126,6705 -#define ZORRO_MANUF_MARC_MICHAEL_GROTH 128,6789 -#define ZORRO_MANUF_M_TECH 130,6839 -#define ZORRO_PROD_MTEC_AT500_1 131,6877 -#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_1 133,6940 -#define ZORRO_PROD_GVP_IMPACT_SERIES_I 134,6993 -#define ZORRO_MANUF_BYTEBOX 136,7080 -#define ZORRO_PROD_BYTEBOX_A500 137,7119 -#define ZORRO_MANUF_DKB_POWER_COMPUTING 139,7183 -#define ZORRO_PROD_DKB_POWER_COMPUTING_SECUREKEY 140,7233 -#define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_3128 141,7323 -#define ZORRO_PROD_DKB_POWER_COMPUTING_RAPID_FIRE 142,7412 -#define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_1202 143,7503 -#define ZORRO_PROD_DKB_POWER_COMPUTING_COBRA_VIPER_II_68EC030 144,7592 -#define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_1 145,7694 -#define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_2 146,7789 -#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_2 148,7885 -#define ZORRO_PROD_GVP_IMPACT_SERIES_I_4K 149,7938 -#define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_2 150,8026 -#define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_3 151,8117 -#define ZORRO_PROD_GVP_IMPACT_3001_IDE_1 152,8208 -#define ZORRO_PROD_GVP_IMPACT_3001_RAM 153,8295 -#define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_1 154,8381 -#define ZORRO_PROD_GVP_EPC_BASE 155,8473 -#define ZORRO_PROD_GVP_GFORCE_040_1 156,8552 -#define ZORRO_PROD_GVP_GFORCE_040_SCSI_1 157,8638 -#define ZORRO_PROD_GVP_A1291 158,8728 -#define ZORRO_PROD_GVP_COMBO_030_R4 159,8808 -#define ZORRO_PROD_GVP_COMBO_030_R4_SCSI 160,8894 -#define ZORRO_PROD_GVP_PHONEPAK 161,8984 -#define ZORRO_PROD_GVP_IO_EXTENDER 162,9066 -#define ZORRO_PROD_GVP_GFORCE_030 163,9151 -#define ZORRO_PROD_GVP_GFORCE_030_SCSI 164,9235 -#define ZORRO_PROD_GVP_A530 165,9324 -#define ZORRO_PROD_GVP_A530_SCSI 166,9403 -#define ZORRO_PROD_GVP_COMBO_030_R3 167,9486 -#define ZORRO_PROD_GVP_COMBO_030_R3_SCSI 168,9572 -#define ZORRO_PROD_GVP_SERIES_II 169,9662 -#define ZORRO_PROD_GVP_IMPACT_3001_IDE_2 170,9745 -#define ZORRO_PROD_GVP_GFORCE_040_060 173,10007 -#define ZORRO_PROD_GVP_IMPACT_VISION_24 174,10092 -#define ZORRO_PROD_GVP_GFORCE_040_2 175,10178 -#define ZORRO_MANUF_CALIFORNIA_ACCESS_SYNERGY 177,10262 -#define ZORRO_PROD_CALIFORNIA_ACCESS_SYNERGY_MALIBU 178,10317 -#define ZORRO_MANUF_XETEC 180,10417 -#define ZORRO_PROD_XETEC_FASTCARD 181,10454 -#define ZORRO_PROD_XETEC_FASTCARD_RAM 182,10517 -#define ZORRO_PROD_XETEC_FASTCARD_PLUS 183,10584 -#define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS 185,10653 -#define ZORRO_PROD_PPS_MERCURY 186,10717 -#define ZORRO_PROD_PPS_A3000_68040 187,10808 -#define ZORRO_PROD_PPS_A2000_68040 188,10902 -#define ZORRO_PROD_PPS_ZEUS 189,10996 -#define ZORRO_PROD_PPS_A500_68040 190,11084 -#define ZORRO_MANUF_XEBEC 192,11178 -#define ZORRO_MANUF_SPIRIT_TECHNOLOGY 194,11216 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN1000 195,11264 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN500 196,11355 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_SIN500 197,11445 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_HDA_506 198,11529 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_AX_S 199,11614 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_OCTABYTE 200,11696 -#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INMATE 201,11782 -#define ZORRO_MANUF_SPIRIT_TECHNOLOGY_2 203,11867 -#define ZORRO_MANUF_BSC_ALFADATA_1 205,11918 -#define ZORRO_PROD_BSC_ALF_3_1 206,11963 -#define ZORRO_MANUF_BSC_ALFADATA_2 208,12034 -#define ZORRO_PROD_BSC_ALF_2_1 209,12079 -#define ZORRO_PROD_BSC_ALF_2_2 210,12149 -#define ZORRO_PROD_BSC_ALF_3_2 211,12219 -#define ZORRO_MANUF_CARDCO_2 213,12290 -#define ZORRO_PROD_CARDCO_KRONOS_2000_2 214,12330 -#define ZORRO_PROD_CARDCO_A1000_2 215,12401 -#define ZORRO_MANUF_JOCHHEIM 217,12468 -#define ZORRO_PROD_JOCHHEIM_RAM 218,12508 -#define ZORRO_MANUF_CHECKPOINT_TECHNOLOGIES 220,12573 -#define ZORRO_PROD_CHECKPOINT_TECHNOLOGIES_SERIAL_SOLUTION 221,12626 -#define ZORRO_MANUF_EDOTRONIK 223,12730 -#define ZORRO_PROD_EDOTRONIK_IEEE_488 224,12771 -#define ZORRO_PROD_EDOTRONIK_8032 225,12842 -#define ZORRO_PROD_EDOTRONIK_MULTISERIAL 226,12909 -#define ZORRO_PROD_EDOTRONIK_VIDEODIGITIZER 227,12982 -#define ZORRO_PROD_EDOTRONIK_PARALLEL_IO 228,13058 -#define ZORRO_PROD_EDOTRONIK_PIC_PROTOYPING 229,13131 -#define ZORRO_PROD_EDOTRONIK_ADC 230,13207 -#define ZORRO_PROD_EDOTRONIK_VME 231,13273 -#define ZORRO_PROD_EDOTRONIK_DSP96000 232,13339 -#define ZORRO_MANUF_NES_INC 234,13411 -#define ZORRO_PROD_NES_INC_RAM 235,13450 -#define ZORRO_MANUF_ICD 237,13514 -#define ZORRO_PROD_ICD_ADVANTAGE_2000_SCSI 238,13550 -#define ZORRO_PROD_ICD_ADVANTAGE_IDE 239,13619 -#define ZORRO_PROD_ICD_ADVANTAGE_2080_RAM 240,13683 -#define ZORRO_MANUF_KUPKE_2 242,13752 -#define ZORRO_PROD_KUPKE_OMTI 243,13791 -#define ZORRO_PROD_KUPKE_SCSI_II 244,13853 -#define ZORRO_PROD_KUPKE_GOLEM_BOX 245,13917 -#define ZORRO_PROD_KUPKE_030_882 246,13983 -#define ZORRO_PROD_KUPKE_SCSI_AT 247,14047 -#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_3 249,14112 -#define ZORRO_PROD_GVP_A2000_RAM8 250,14165 -#define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_2 251,14246 -#define ZORRO_MANUF_INTERWORKS_NETWORK 253,14339 -#define ZORRO_MANUF_HARDITAL_SYNTHESIS 255,14389 -#define ZORRO_PROD_HARDITAL_SYNTHESIS_TQM_68030_68882 256,14438 -#define ZORRO_MANUF_APPLIED_ENGINEERING 258,14533 -#define ZORRO_PROD_APPLIED_ENGINEERING_DL2000 259,14583 -#define ZORRO_PROD_APPLIED_ENGINEERING_RAM_WORKS 260,14671 -#define ZORRO_MANUF_BSC_ALFADATA_3 262,14762 -#define ZORRO_PROD_BSC_OKTAGON_2008 263,14807 -#define ZORRO_PROD_BSC_TANDEM_AT_2008_508 264,14881 -#define ZORRO_PROD_BSC_ALFA_RAM_1200 265,14960 -#define ZORRO_PROD_BSC_OKTAGON_2008_RAM 266,15035 -#define ZORRO_PROD_BSC_MULTIFACE_I 267,15112 -#define ZORRO_PROD_BSC_MULTIFACE_II 268,15185 -#define ZORRO_PROD_BSC_MULTIFACE_III 269,15259 -#define ZORRO_PROD_BSC_FRAMEMASTER_II 270,15334 -#define ZORRO_PROD_BSC_GRAFFITI_RAM 271,15410 -#define ZORRO_PROD_BSC_GRAFFITI_REG 272,15484 -#define ZORRO_PROD_BSC_ISDN_MASTERCARD 273,15558 -#define ZORRO_PROD_BSC_ISDN_MASTERCARD_II 274,15635 -#define ZORRO_MANUF_PHOENIX 276,15715 -#define ZORRO_PROD_PHOENIX_ST506 277,15754 -#define ZORRO_PROD_PHOENIX_SCSI 278,15818 -#define ZORRO_PROD_PHOENIX_RAM 279,15881 -#define ZORRO_MANUF_ADVANCED_STORAGE_SYSTEMS 281,15945 -#define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS 282,15999 -#define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS_RAM 283,16095 -#define ZORRO_MANUF_IMPULSE 285,16196 -#define ZORRO_PROD_IMPULSE_FIRECRACKER_24 286,16235 -#define ZORRO_MANUF_IVS 288,16308 -#define ZORRO_PROD_IVS_GRANDSLAM_PIC_2 289,16344 -#define ZORRO_PROD_IVS_GRANDSLAM_PIC_1 290,16410 -#define ZORRO_PROD_IVS_OVERDRIVE 291,16476 -#define ZORRO_PROD_IVS_TRUMPCARD_CLASSIC 292,16536 -#define ZORRO_PROD_IVS_TRUMPCARD_PRO_GRANDSLAM 293,16603 -#define ZORRO_PROD_IVS_META_4 294,16676 -#define ZORRO_PROD_IVS_WAVETOOLS 295,16734 -#define ZORRO_PROD_IVS_VECTOR_1 296,16794 -#define ZORRO_PROD_IVS_VECTOR_2 297,16853 -#define ZORRO_MANUF_VECTOR_1 299,16913 -#define ZORRO_PROD_VECTOR_CONNECTION_1 300,16953 -#define ZORRO_MANUF_XPERT_PRODEV 302,17025 -#define ZORRO_PROD_XPERT_PRODEV_VISIONA_RAM 303,17068 -#define ZORRO_PROD_XPERT_PRODEV_VISIONA_REG 304,17147 -#define ZORRO_PROD_XPERT_PRODEV_MERLIN_RAM 305,17226 -#define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_1 306,17304 -#define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_2 307,17384 -#define ZORRO_MANUF_HYDRA_SYSTEMS 309,17465 -#define ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET 310,17509 -#define ZORRO_MANUF_SUNRIZE_INDUSTRIES 312,17588 -#define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD1012 313,17637 -#define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD516 314,17723 -#define ZORRO_PROD_SUNRIZE_INDUSTRIES_DD512 315,17808 -#define ZORRO_MANUF_TRICERATOPS 317,17894 -#define ZORRO_PROD_TRICERATOPS_MULTI_IO 318,17937 -#define ZORRO_MANUF_APPLIED_MAGIC 320,18012 -#define ZORRO_PROD_APPLIED_MAGIC_DMI_RESOLVER 321,18056 -#define ZORRO_PROD_APPLIED_MAGIC_DIGITAL_BROADCASTER 322,18138 -#define ZORRO_MANUF_GFX_BASE 324,18227 -#define ZORRO_PROD_GFX_BASE_GDA_1_VRAM 325,18267 -#define ZORRO_PROD_GFX_BASE_GDA_1 326,18338 -#define ZORRO_MANUF_ROCTEC 328,18405 -#define ZORRO_PROD_ROCTEC_RH_800C 329,18443 -#define ZORRO_PROD_ROCTEC_RH_800C_RAM 330,18507 -#define ZORRO_MANUF_KATO 332,18576 -#define ZORRO_PROD_KATO_MELODY 333,18612 -#define ZORRO_MANUF_HELFRICH_1 335,18689 -#define ZORRO_PROD_HELFRICH_RAINBOW_II 336,18731 -#define ZORRO_PROD_HELFRICH_RAINBOW_III 337,18804 -#define ZORRO_MANUF_ATLANTIS 339,18878 -#define ZORRO_MANUF_PROTAR 341,18919 -#define ZORRO_MANUF_ACS 343,18958 -#define ZORRO_MANUF_SOFTWARE_RESULTS_ENTERPRISES 345,18995 -#define ZORRO_PROD_SOFTWARE_RESULTS_ENTERPRISES_GOLDEN_GATE_2_BUS_PLUS 346,19052 -#define ZORRO_MANUF_MASOBOSHI 348,19173 -#define ZORRO_PROD_MASOBOSHI_MASTER_CARD_SC201 349,19214 -#define ZORRO_PROD_MASOBOSHI_MASTER_CARD_MC702 350,19293 -#define ZORRO_PROD_MASOBOSHI_MVD_819 351,19372 -#define ZORRO_MANUF_MAINHATTAN_DATA 353,19443 -#define ZORRO_PROD_MAINHATTAN_DATA_IDE 354,19489 -#define ZORRO_MANUF_VILLAGE_TRONIC 356,19568 -#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_RAM 357,19613 -#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_REG 358,19695 -#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_16M_PROTOTYPE 359,19777 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_RAM 360,19868 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_REG 361,19960 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_SEGMENTED_MODE 362,20052 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_MEM1 363,20155 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_MEM2 364,20244 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_REG 365,20333 -#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z3 366,20421 -#define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE 367,20505 -#define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2 368,20584 -#define ZORRO_MANUF_UTILITIES_UNLIMITED 370,20665 -#define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE 371,20715 -#define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE2 372,20810 -#define ZORRO_MANUF_AMITRIX 374,20907 -#define ZORRO_PROD_AMITRIX_MULTI_IO 375,20946 -#define ZORRO_PROD_AMITRIX_CD_RAM 376,21013 -#define ZORRO_MANUF_ARMAX 378,21079 -#define ZORRO_PROD_ARMAX_OMNIBUS 379,21116 -#define ZORRO_MANUF_ZEUS 381,21179 -#define ZORRO_PROD_ZEUS_SPIDER 382,21215 -#define ZORRO_MANUF_NEWTEK 384,21276 -#define ZORRO_PROD_NEWTEK_VIDEOTOASTER 385,21314 -#define ZORRO_MANUF_M_TECH_GERMANY 387,21384 -#define ZORRO_PROD_MTEC_AT500_2 388,21429 -#define ZORRO_PROD_MTEC_68030 389,21499 -#define ZORRO_PROD_MTEC_68020I 390,21568 -#define ZORRO_PROD_MTEC_A1200_T68030_RTC 391,21638 -#define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530 392,21716 -#define ZORRO_PROD_MTEC_8_MB_RAM 393,21800 -#define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE 394,21871 -#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_4 396,21964 -#define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_RAM 397,22017 -#define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_REG 398,22109 -#define ZORRO_MANUF_APOLLO_1 400,22202 -#define ZORRO_PROD_APOLLO_A1200 401,22242 -#define ZORRO_MANUF_HELFRICH_2 403,22307 -#define ZORRO_PROD_HELFRICH_PICCOLO_RAM 404,22349 -#define ZORRO_PROD_HELFRICH_PICCOLO_REG 405,22422 -#define ZORRO_PROD_HELFRICH_PEGGY_PLUS_MPEG 406,22495 -#define ZORRO_PROD_HELFRICH_VIDEOCRUNCHER 407,22572 -#define ZORRO_PROD_HELFRICH_SD64_RAM 408,22647 -#define ZORRO_PROD_HELFRICH_SD64_REG 409,22718 -#define ZORRO_MANUF_MACROSYSTEMS_USA 411,22790 -#define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx 412,22837 -#define ZORRO_MANUF_ELBOX_COMPUTER 414,22925 -#define ZORRO_PROD_ELBOX_COMPUTER_1200_4 415,22970 -#define ZORRO_MANUF_HARMS_PROFESSIONAL 417,23049 -#define ZORRO_PROD_HARMS_PROFESSIONAL_030_PLUS 418,23098 -#define ZORRO_PROD_HARMS_PROFESSIONAL_3500 419,23186 -#define ZORRO_MANUF_MICRONIK 421,23271 -#define ZORRO_PROD_MICRONIK_RCA_120 422,23311 -#define ZORRO_MANUF_MICRONIK2 424,23380 -#define ZORRO_PROD_MICRONIK2_Z3I 425,23421 -#define ZORRO_MANUF_MEGAMICRO 427,23488 -#define ZORRO_PROD_MEGAMICRO_SCRAM_500 428,23529 -#define ZORRO_PROD_MEGAMICRO_SCRAM_500_RAM 429,23601 -#define ZORRO_MANUF_IMTRONICS_2 431,23677 -#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_3 432,23720 -#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_4 433,23800 -#define ZORRO_MANUF_INDIVIDUAL_COMPUTERS 436,23901 -#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA 437,23951 -#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF 438,24041 -#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL 439,24131 -#define ZORRO_MANUF_KUPKE_3 441,24224 -#define ZORRO_PROD_KUPKE_GOLEM_HD_3000 442,24263 -#define ZORRO_MANUF_ITH 444,24334 -#define ZORRO_PROD_ITH_ISDN_MASTER_II 445,24370 -#define ZORRO_MANUF_VMC 447,24436 -#define ZORRO_PROD_VMC_ISDN_BLASTER_Z2 448,24472 -#define ZORRO_PROD_VMC_HYPERCOM_4 449,24538 -#define ZORRO_MANUF_INFORMATION 451,24600 -#define ZORRO_PROD_INFORMATION_ISDN_ENGINE_I 452,24643 -#define ZORRO_MANUF_VORTEX 454,24723 -#define ZORRO_PROD_VORTEX_GOLDEN_GATE_80386SX 455,24761 -#define ZORRO_PROD_VORTEX_GOLDEN_GATE_RAM 456,24836 -#define ZORRO_PROD_VORTEX_GOLDEN_GATE_80486 457,24907 -#define ZORRO_MANUF_EXPANSION_SYSTEMS 459,24981 -#define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX 460,25029 -#define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX_RAM 461,25122 -#define ZORRO_MANUF_READYSOFT 463,25219 -#define ZORRO_PROD_READYSOFT_AMAX_II_IV 464,25260 -#define ZORRO_MANUF_PHASE5 466,25333 -#define ZORRO_PROD_PHASE5_BLIZZARD_RAM 467,25371 -#define ZORRO_PROD_PHASE5_BLIZZARD 468,25440 -#define ZORRO_PROD_PHASE5_BLIZZARD_1220_IV 469,25505 -#define ZORRO_PROD_PHASE5_FASTLANE_Z3_RAM 470,25577 -#define ZORRO_PROD_PHASE5_BLIZZARD_1230_II_FASTLANE_Z3_CYBERSCSI_CYBERSTORM060 471,25648 -#define ZORRO_PROD_PHASE5_BLIZZARD_1220_CYBERSTORM 472,25754 -#define ZORRO_PROD_PHASE5_BLIZZARD_1230 473,25833 -#define ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 474,25902 -#define ZORRO_PROD_PHASE5_BLIZZARD_2060 475,25978 -#define ZORRO_PROD_PHASE5_CYBERSTORM_MK_II 476,26047 -#define ZORRO_PROD_PHASE5_CYBERVISION64 477,26119 -#define ZORRO_PROD_PHASE5_CYBERVISION64_3D_PROTOTYPE 478,26188 -#define ZORRO_PROD_PHASE5_CYBERVISION64_3D 479,26269 -#define ZORRO_PROD_PHASE5_CYBERSTORM_MK_III 480,26341 -#define ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS 481,26414 -#define ZORRO_MANUF_DPS 483,26489 -#define ZORRO_PROD_DPS_PERSONAL_ANIMATION_RECORDER 484,26525 -#define ZORRO_MANUF_APOLLO_2 486,26602 -#define ZORRO_PROD_APOLLO_A620_68020_1 487,26642 -#define ZORRO_PROD_APOLLO_A620_68020_2 488,26713 -#define ZORRO_MANUF_APOLLO_3 490,26785 -#define ZORRO_PROD_APOLLO_AT_APOLLO 491,26825 -#define ZORRO_PROD_APOLLO_1230_1240_1260_2030_4040_4060 492,26893 -#define ZORRO_MANUF_PETSOFF_LP 494,26979 -#define ZORRO_PROD_PETSOFF_LP_DELFINA 495,27021 -#define ZORRO_PROD_PETSOFF_LP_DELFINA_LITE 496,27093 -#define ZORRO_MANUF_UWE_GERLACH 498,27170 -#define ZORRO_PROD_UWE_GERLACH_RAM_ROM 499,27213 -#define ZORRO_MANUF_ACT 501,27288 -#define ZORRO_PROD_ACT_PRELUDE 502,27324 -#define ZORRO_MANUF_MACROSYSTEMS_GERMANY 504,27384 -#define ZORRO_PROD_MACROSYSTEMS_MAESTRO 505,27434 -#define ZORRO_PROD_MACROSYSTEMS_VLAB 506,27517 -#define ZORRO_PROD_MACROSYSTEMS_MAESTRO_PRO 507,27598 -#define ZORRO_PROD_MACROSYSTEMS_RETINA 508,27685 -#define ZORRO_PROD_MACROSYSTEMS_MULTI_EVOLUTION 509,27768 -#define ZORRO_PROD_MACROSYSTEMS_TOCCATA 510,27858 -#define ZORRO_PROD_MACROSYSTEMS_RETINA_Z3 511,27941 -#define ZORRO_PROD_MACROSYSTEMS_VLAB_MOTION 512,28026 -#define ZORRO_PROD_MACROSYSTEMS_ALTAIS 513,28113 -#define ZORRO_PROD_MACROSYSTEMS_FALCON_040 514,28196 -#define ZORRO_MANUF_COMBITEC 516,28283 -#define ZORRO_MANUF_SKI_PERIPHERALS 518,28324 -#define ZORRO_PROD_SKI_PERIPHERALS_MAST_FIREBALL 519,28370 -#define ZORRO_PROD_SKI_PERIPHERALS_SCSI_DUAL_SERIAL 520,28456 -#define ZORRO_MANUF_REIS_WARE_2 522,28546 -#define ZORRO_PROD_REIS_WARE_SCAN_KING 523,28589 -#define ZORRO_MANUF_CAMERON 525,28664 -#define ZORRO_PROD_CAMERON_PERSONAL_A4 526,28703 -#define ZORRO_MANUF_REIS_WARE 528,28774 -#define ZORRO_PROD_REIS_WARE_HANDYSCANNER 529,28815 -#define ZORRO_MANUF_PHOENIX_2 531,28890 -#define ZORRO_PROD_PHOENIX_ST506_2 532,28931 -#define ZORRO_PROD_PHOENIX_SCSI_2 533,28999 -#define ZORRO_PROD_PHOENIX_RAM_2 534,29066 -#define ZORRO_MANUF_COMBITEC_2 536,29133 -#define ZORRO_PROD_COMBITEC_HD 537,29175 -#define ZORRO_PROD_COMBITEC_SRAM 538,29241 -#define ZORRO_MANUF_HACKER 545,29369 -#define ZORRO_PROD_GENERAL_PROTOTYPE 546,29407 -#define ZORRO_PROD_HACKER_SCSI 547,29474 -#define ZORRO_PROD_RESOURCE_MANAGEMENT_FORCE_QUICKNET_QN2000 548,29536 -#define ZORRO_PROD_VECTOR_CONNECTION_2 549,29624 -#define ZORRO_PROD_VECTOR_CONNECTION_3 550,29693 -#define ZORRO_PROD_VECTOR_CONNECTION_4 551,29762 -#define ZORRO_PROD_VECTOR_CONNECTION_5 552,29831 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coda_proc.h,130 -#define _CODA_PROC_H13,184 -struct coda_vfs_stats coda_vfs_stats34,635 -struct coda_cache_inv_statscoda_cache_inv_stats62,1013 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmarp.h,405 -#define _LINUX_ATMARP_H7,162 -#define ATMARP_RETRY_DELAY 16,291 -#define ATMARP_MAX_UNRES_PACKETS 19,422 -#define ATMARPD_CTRL 23,528 -#define ATMARP_MKIP 24,603 -#define ATMARP_SETENTRY 25,672 -#define ATMARP_ENCAP 26,748 -enum atmarp_ctrl_type atmarp_ctrl_type29,821 - act_invalid,30,845 - act_need,31,897 - act_up,32,939 - act_down,33,979 - act_change 34,1021 -struct atmarp_ctrl atmarp_ctrl37,1080 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/yam.h,818 -#define SIOCYAMRESERVED 32,1241 -#define SIOCYAMSCFG 33,1269 -#define SIOCYAMGCFG 34,1318 -#define SIOCYAMSMCS 35,1367 -#define YAM_IOBASE 37,1412 -#define YAM_IRQ 38,1442 -#define YAM_BITRATE 39,1472 -#define YAM_MODE 40,1539 -#define YAM_HOLDDLY 41,1609 -#define YAM_TXDELAY 42,1664 -#define YAM_TXTAIL 43,1714 -#define YAM_PERSIST 44,1764 -#define YAM_SLOTTIME 45,1814 -#define YAM_BAUDRATE 46,1864 -#define YAM_MAXBITRATE 48,1934 -#define YAM_MAXBAUDRATE 49,1964 -#define YAM_MAXMODE 50,1995 -#define YAM_MAXHOLDDLY 51,2021 -#define YAM_MAXTXDELAY 52,2048 -#define YAM_MAXTXTAIL 53,2076 -#define YAM_MAXPERSIST 54,2104 -#define YAM_MAXSLOTTIME 55,2132 -#define YAM_FPGA_SIZE 57,2161 -struct yamcfg yamcfg59,2189 -struct yamdrv_ioctl_cfg yamdrv_ioctl_cfg73,2730 -struct yamdrv_ioctl_mcs yamdrv_ioctl_mcs78,2790 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_fs_i.h,130 -#define _NFS_FS_I2,18 -struct nfs_lock_info nfs_lock_info13,155 -#define NFS_LCK_GRANTED 22,265 -#define NFS_LCK_RECLAIM 23,326 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/thread_info.h,661 -#define _LINUX_THREAD_INFO_H8,214 -struct restart_block restart_block13,282 -static inline void set_thread_flag(30,612 -static inline void clear_thread_flag(35,708 -static inline int test_and_set_thread_flag(40,808 -static inline int test_and_clear_thread_flag(45,928 -static inline int test_thread_flag(50,1052 -static inline void set_ti_thread_flag(55,1156 -static inline void clear_ti_thread_flag(60,1260 -static inline int test_and_set_ti_thread_flag(65,1368 -static inline int test_and_clear_ti_thread_flag(70,1496 -static inline int test_ti_thread_flag(75,1628 -static inline void set_need_resched(80,1740 -static inline void clear_need_resched(85,1823 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmclip.h,191 -#define LINUX_ATMCLIP_H7,129 -#define RFC1483LLC_LEN 13,209 -#define RFC1626_MTU 14,257 -#define CLIP_DEFAULT_IDLETIMER 16,310 -#define CLIP_CHECK_INTERVAL 17,376 -#define SIOCMKCLIP 19,439 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/skbuff.h,3879 -#define _LINUX_SKBUFF_H15,441 -#define HAVE_ALLOC_SKB 32,794 -#define HAVE_ALIGNABLE_SKB 33,848 -#define SLAB_SKB 34,894 -#define CHECKSUM_NONE 36,942 -#define CHECKSUM_HW 37,966 -#define CHECKSUM_UNNECESSARY 38,988 -#define SKB_DATA_ALIGN(SKB_DATA_ALIGN40,1020 -#define SKB_MAX_ORDER(SKB_MAX_ORDER42,1110 -#define SKB_MAX_HEAD(SKB_MAX_HEAD45,1249 -#define SKB_MAX_ALLOC 46,1298 -#define NET_CALLER(NET_CALLER87,2801 -#define NET_CALLER(NET_CALLER89,2856 -struct nf_conntrack nf_conntrack95,2960 -struct nf_bridge_info nf_bridge_info101,3073 -struct sk_buff_head sk_buff_head115,3369 -#define MAX_SKB_FRAGS 127,3601 -typedef struct skb_frag_struct skb_frag_t;skb_frag_t129,3646 -struct skb_frag_struct skb_frag_struct131,3690 -struct skb_shared_info skb_shared_info140,3877 -struct sk_buff sk_buff192,5572 -#define dev_kfree_skb(dev_kfree_skb307,8430 -#define skb_shinfo(skb_shinfo314,8656 -static inline int skb_queue_empty(322,8858 -static inline struct sk_buff *skb_get(334,9132 -static inline void kfree_skb(352,9477 -static inline void kfree_skb_fast(359,9694 -static inline int skb_cloned(373,10125 -static inline int skb_shared(385,10402 -static inline struct sk_buff *skb_share_check(403,10992 -static inline struct sk_buff *skb_unshare(434,11989 -static inline struct sk_buff *skb_peek(458,12714 -static inline struct sk_buff *skb_peek_tail(479,13384 -static inline __u32 skb_queue_len(493,13702 -static inline void skb_queue_head_init(498,13796 -static inline void __skb_queue_head(523,14521 -static inline void __skb_queue_tail(548,15205 -static inline struct sk_buff *__skb_dequeue(572,15841 -static inline void __skb_insert(596,16350 -static inline void __skb_append(611,16730 -static inline void __skb_unlink(621,17002 -static inline struct sk_buff *__skb_dequeue_tail(646,17665 -static inline int skb_is_nonlinear(655,17841 -static inline unsigned int skb_headlen(660,17931 -static inline int skb_pagelen(665,18036 -static inline void skb_fill_page_desc(674,18248 -#define SKB_PAGE_ASSERT(SKB_PAGE_ASSERT685,18526 -#define SKB_FRAG_ASSERT(SKB_FRAG_ASSERT686,18590 -#define SKB_LINEAR_ASSERT(SKB_LINEAR_ASSERT687,18655 -static inline unsigned char *__skb_put(692,18751 -static inline unsigned char *skb_put(710,19232 -static inline unsigned char *__skb_push(721,19506 -static inline unsigned char *skb_push(737,19974 -static inline unsigned char *__skb_pull(746,20199 -static inline unsigned char *skb_pull(763,20715 -static inline unsigned char *__pskb_pull(770,20934 -static inline unsigned char *pskb_pull(779,21160 -static inline int pskb_may_pull(784,21308 -static inline int skb_headroom(799,21685 -static inline int skb_tailroom(810,21923 -static inline void skb_reserve(823,22254 -#define NET_IP_ALIGN 850,23210 -static inline void __skb_trim(855,23319 -static inline void skb_trim(872,23740 -static inline int __pskb_trim(879,23858 -static inline int pskb_trim(889,24053 -static inline void skb_orphan(902,24440 -static inline void __skb_queue_purge(919,24922 -static inline struct sk_buff *__dev_alloc_skb(938,25540 -static inline struct sk_buff *dev_alloc_skb(959,26235 -static inline int skb_cow(976,26754 -static inline struct sk_buff *skb_padto(1000,27436 -static inline int skb_add_data(1008,27623 -static inline int skb_can_coalesce(1029,28110 -static inline int skb_linearize(1050,28667 -static inline void *kmap_skb_frag(1055,28769 -static inline void kunmap_skb_frag(1065,28956 -#define skb_queue_walk(skb_queue_walk1073,29102 -static inline void *skb_header_pointer(1107,30628 -struct skb_iter skb_iter1124,30978 -static inline void nf_conntrack_put(1143,31541 -static inline void nf_conntrack_get(1148,31677 -static inline void nf_reset(1153,31781 -static inline void nf_reset_debug(1161,31940 -static inline void nf_bridge_put(1169,32088 -static inline void nf_bridge_get(1174,32235 -static inline void nf_reset(1181,32419 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/vt.h,610 -#define _LINUX_VT_H2,20 -#define VT_OPENQRY 6,100 -struct vt_mode vt_mode8,151 -#define VT_GETMODE 15,400 -#define VT_SETMODE 16,454 -#define VT_AUTO 17,508 -#define VT_PROCESS 18,555 -#define VT_ACKACQ 19,613 -struct vt_stat vt_stat21,663 -#define VT_GETSTATE 26,815 -#define VT_SENDSIG 27,873 -#define VT_RELDISP 29,939 -#define VT_ACTIVATE 31,988 -#define VT_WAITACTIVE 32,1036 -#define VT_DISALLOCATE 33,1090 -struct vt_sizes vt_sizes35,1157 -#define VT_RESIZE 40,1339 -struct vt_consize vt_consize42,1403 -#define VT_RESIZEX 50,1777 -#define VT_LOCKSWITCH 51,1854 -#define VT_UNLOCKSWITCH 52,1914 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pfkeyv2.h,4385 -#define _LINUX_PFKEY2_H7,175 -#define PF_KEY_V2 11,226 -#define PFKEYV2_REVISION 12,247 -struct sadb_msg sadb_msg14,281 -struct sadb_ext sadb_ext26,570 -struct sadb_sa sadb_sa32,700 -struct sadb_lifetime sadb_lifetime44,980 -struct sadb_address sadb_address54,1268 -struct sadb_key sadb_key63,1514 -struct sadb_ident sadb_ident71,1701 -struct sadb_sens sadb_sens80,1926 -struct sadb_prop sadb_prop96,2344 -struct sadb_comb sadb_comb109,2685 -struct sadb_supported sadb_supported129,3299 -struct sadb_alg sadb_alg141,3642 -struct sadb_spirange sadb_spirange150,3857 -struct sadb_x_kmprivate sadb_x_kmprivate159,4103 -struct sadb_x_sa2 sadb_x_sa2166,4306 -struct sadb_x_policy sadb_x_policy177,4598 -struct sadb_x_ipsecrequest sadb_x_ipsecrequest188,4907 -struct sadb_x_nat_t_type sadb_x_nat_t_type202,5411 -struct sadb_x_nat_t_port sadb_x_nat_t_port211,5709 -#define SADB_RESERVED 220,5970 -#define SADB_GETSPI 221,5995 -#define SADB_UPDATE 222,6018 -#define SADB_ADD 223,6041 -#define SADB_DELETE 224,6061 -#define SADB_GET 225,6084 -#define SADB_ACQUIRE 226,6104 -#define SADB_REGISTER 227,6128 -#define SADB_EXPIRE 228,6153 -#define SADB_FLUSH 229,6176 -#define SADB_DUMP 230,6198 -#define SADB_X_PROMISC 231,6220 -#define SADB_X_PCHANGE 232,6247 -#define SADB_X_SPDUPDATE 233,6274 -#define SADB_X_SPDADD 234,6302 -#define SADB_X_SPDDELETE 235,6328 -#define SADB_X_SPDGET 236,6356 -#define SADB_X_SPDACQUIRE 237,6382 -#define SADB_X_SPDDUMP 238,6411 -#define SADB_X_SPDFLUSH 239,6438 -#define SADB_X_SPDSETIDX 240,6466 -#define SADB_X_SPDEXPIRE 241,6494 -#define SADB_X_SPDDELETE2 242,6522 -#define SADB_X_NAT_T_NEW_MAPPING 243,6551 -#define SADB_MAX 244,6587 -#define SADB_SAFLAGS_PFS 247,6642 -#define SADB_SAFLAGS_DECAP_DSCP 248,6669 -#define SADB_SAFLAGS_NOECN 249,6712 -#define SADB_SASTATE_LARVAL 252,6785 -#define SADB_SASTATE_MATURE 253,6815 -#define SADB_SASTATE_DYING 254,6845 -#define SADB_SASTATE_DEAD 255,6874 -#define SADB_SASTATE_MAX 256,6902 -#define SADB_SATYPE_UNSPEC 259,6963 -#define SADB_SATYPE_AH 260,6992 -#define SADB_SATYPE_ESP 261,7018 -#define SADB_SATYPE_RSVP 262,7045 -#define SADB_SATYPE_OSPFV2 263,7072 -#define SADB_SATYPE_RIPV2 264,7101 -#define SADB_SATYPE_MIP 265,7129 -#define SADB_X_SATYPE_IPCOMP 266,7156 -#define SADB_SATYPE_MAX 267,7187 -#define SADB_AALG_NONE 270,7247 -#define SADB_AALG_MD5HMAC 271,7274 -#define SADB_AALG_SHA1HMAC 272,7303 -#define SADB_X_AALG_SHA2_256HMAC 273,7333 -#define SADB_X_AALG_SHA2_384HMAC 274,7368 -#define SADB_X_AALG_SHA2_512HMAC 275,7403 -#define SADB_X_AALG_RIPEMD160HMAC 276,7438 -#define SADB_X_AALG_NULL 277,7474 -#define SADB_AALG_MAX 278,7515 -#define SADB_EALG_NONE 281,7572 -#define SADB_EALG_DESCBC 282,7599 -#define SADB_EALG_3DESCBC 283,7627 -#define SADB_X_EALG_CASTCBC 284,7656 -#define SADB_X_EALG_BLOWFISHCBC 285,7687 -#define SADB_EALG_NULL 286,7722 -#define SADB_X_EALG_AESCBC 287,7750 -#define SADB_EALG_MAX 288,7781 -#define SADB_X_EALG_SERPENTCBC 290,7896 -#define SADB_X_EALG_TWOFISHCBC 291,7975 -#define SADB_X_CALG_NONE 294,8084 -#define SADB_X_CALG_OUI 295,8112 -#define SADB_X_CALG_DEFLATE 296,8140 -#define SADB_X_CALG_LZS 297,8171 -#define SADB_X_CALG_LZJH 298,8199 -#define SADB_X_CALG_MAX 299,8227 -#define SADB_EXT_RESERVED 302,8286 -#define SADB_EXT_SA 303,8315 -#define SADB_EXT_LIFETIME_CURRENT 304,8339 -#define SADB_EXT_LIFETIME_HARD 305,8375 -#define SADB_EXT_LIFETIME_SOFT 306,8409 -#define SADB_EXT_ADDRESS_SRC 307,8443 -#define SADB_EXT_ADDRESS_DST 308,8475 -#define SADB_EXT_ADDRESS_PROXY 309,8507 -#define SADB_EXT_KEY_AUTH 310,8541 -#define SADB_EXT_KEY_ENCRYPT 311,8570 -#define SADB_EXT_IDENTITY_SRC 312,8602 -#define SADB_EXT_IDENTITY_DST 313,8636 -#define SADB_EXT_SENSITIVITY 314,8670 -#define SADB_EXT_PROPOSAL 315,8703 -#define SADB_EXT_SUPPORTED_AUTH 316,8733 -#define SADB_EXT_SUPPORTED_ENCRYPT 317,8769 -#define SADB_EXT_SPIRANGE 318,8807 -#define SADB_X_EXT_KMPRIVATE 319,8837 -#define SADB_X_EXT_POLICY 320,8870 -#define SADB_X_EXT_SA2 321,8900 -#define SADB_X_EXT_NAT_T_TYPE 323,8989 -#define SADB_X_EXT_NAT_T_SPORT 324,9023 -#define SADB_X_EXT_NAT_T_DPORT 325,9058 -#define SADB_X_EXT_NAT_T_OA 326,9093 -#define SADB_EXT_MAX 327,9125 -#define SADB_IDENTTYPE_RESERVED 330,9184 -#define SADB_IDENTTYPE_PREFIX 331,9218 -#define SADB_IDENTTYPE_FQDN 332,9250 -#define SADB_IDENTTYPE_USERFQDN 333,9280 -#define SADB_IDENTTYPE_MAX 334,9314 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/scx200_gpio.h,512 -#define scx200_gpio_present(scx200_gpio_present10,233 -#define __SCx200_GPIO_BANK 13,354 -#define __SCx200_GPIO_IOADDR 14,406 -#define __SCx200_GPIO_SHADOW 15,486 -#define __SCx200_GPIO_INDEX 16,554 -#define __SCx200_GPIO_OUT 18,595 -static inline int scx200_gpio_get(22,735 -static inline int scx200_gpio_current(34,1119 -static inline void scx200_gpio_set_high(43,1317 -static inline void scx200_gpio_set_low(54,1540 -static inline void scx200_gpio_set(65,1769 -static inline void scx200_gpio_change(78,2041 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdladrv.h,156 -#define _SDLADRV_H20,904 -#define SDLA_MAXIORANGE 23,925 -#define SDLA_WINDOWSIZE 24,980 -typedef struct sdlahwsdlahw31,1304 -} sdlahw_t;sdlahw_t49,2050 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ext3_fs_sb.h,74 -#define _LINUX_EXT3_FS_SB17,339 -struct ext3_sb_info ext3_sb_info30,591 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdla.h,6418 -#define SDLA_H24,751 -#define SDLA_TYPES27,786 -#define SDLA_S502A 28,805 -#define SDLA_S502E 29,831 -#define SDLA_S503 30,857 -#define SDLA_S507 31,882 -#define SDLA_S508 32,907 -#define SDLA_S509 33,932 -#define SDLA_UNKNOWN 34,957 -#define SDLA_S508_PORT_V35 37,1024 -#define SDLA_S508_PORT_RS232 38,1057 -#define SDLA_CPU_3M 41,1114 -#define SDLA_CPU_5M 42,1141 -#define SDLA_CPU_7M 43,1168 -#define SDLA_CPU_8M 44,1195 -#define SDLA_CPU_10M 45,1222 -#define SDLA_CPU_16M 46,1250 -#define SDLA_CPU_12M 47,1278 -#define SDLA_IDENTIFY 50,1333 -#define SDLA_CPUSPEED 51,1379 -#define SDLA_PROTOCOL 52,1425 -#define SDLA_CLEARMEM 54,1472 -#define SDLA_WRITEMEM 55,1518 -#define SDLA_READMEM 56,1564 -struct sdla_mem sdla_mem58,1610 -#define SDLA_START 64,1681 -#define SDLA_STOP 65,1724 -#define SDLA_NMIADDR 68,1812 -#define SDLA_CONF_ADDR 69,1842 -#define SDLA_S502A_NMIADDR 70,1874 -#define SDLA_CODE_BASEADDR 71,1909 -#define SDLA_WINDOW_SIZE 72,1944 -#define SDLA_ADDR_MASK 73,1977 -#define SDLA_MAX_DATA 76,2049 -#define SDLA_MAX_MTU 77,2078 -#define SDLA_MAX_DLCI 78,2139 -struct sdla_conf sdla_conf81,2210 -struct sdla_dlci_conf sdla_dlci_conf101,2543 -#define SDLA_CONTROL_WND 122,2899 -#define SDLA_502_CMD_BUF 124,2933 -#define SDLA_502_RCV_BUF 125,2966 -#define SDLA_502_TXN_AVAIL 126,2999 -#define SDLA_502_RCV_AVAIL 127,3034 -#define SDLA_502_EVENT_FLAGS 128,3069 -#define SDLA_502_MDM_STATUS 129,3106 -#define SDLA_502_IRQ_INTERFACE 130,3142 -#define SDLA_502_IRQ_PERMISSION 131,3181 -#define SDLA_502_DATA_OFS 132,3221 -#define SDLA_508_CMD_BUF 134,3256 -#define SDLA_508_TXBUF_INFO 135,3289 -#define SDLA_508_RXBUF_INFO 136,3325 -#define SDLA_508_EVENT_FLAGS 137,3361 -#define SDLA_508_MDM_STATUS 138,3398 -#define SDLA_508_IRQ_INTERFACE 139,3434 -#define SDLA_508_IRQ_PERMISSION 140,3473 -#define SDLA_508_TSE_OFFSET 141,3513 -#define SDLA_EVENT_STATUS 144,3568 -#define SDLA_EVENT_DLCI_STATUS 145,3600 -#define SDLA_EVENT_BAD_DLCI 146,3637 -#define SDLA_EVENT_LINK_DOWN 147,3671 -#define SDLA_INTR_RX 150,3731 -#define SDLA_INTR_TX 151,3759 -#define SDLA_INTR_MODEM 152,3787 -#define SDLA_INTR_COMPLETE 153,3818 -#define SDLA_INTR_STATUS 154,3851 -#define SDLA_INTR_TIMER 155,3882 -#define SDLA_DLCI_DELETED 158,3937 -#define SDLA_DLCI_ACTIVE 159,3969 -#define SDLA_DLCI_WAITING 160,4000 -#define SDLA_DLCI_NEW 161,4032 -#define SDLA_DLCI_INCLUDED 162,4061 -#define SDLA_INFORMATION_WRITE 165,4121 -#define SDLA_INFORMATION_READ 166,4158 -#define SDLA_ISSUE_IN_CHANNEL_SIGNAL 167,4194 -#define SDLA_SET_DLCI_CONFIGURATION 168,4236 -#define SDLA_READ_DLCI_CONFIGURATION 169,4277 -#define SDLA_DISABLE_COMMUNICATIONS 170,4319 -#define SDLA_ENABLE_COMMUNICATIONS 171,4360 -#define SDLA_READ_DLC_STATUS 172,4400 -#define SDLA_READ_DLC_STATISTICS 173,4435 -#define SDLA_FLUSH_DLC_STATISTICS 174,4473 -#define SDLA_LIST_ACTIVE_DLCI 175,4512 -#define SDLA_FLUSH_INFORMATION_BUFFERS 176,4548 -#define SDLA_ADD_DLCI 177,4592 -#define SDLA_DELETE_DLCI 178,4621 -#define SDLA_ACTIVATE_DLCI 179,4652 -#define SDLA_DEACTIVATE_DLCI 180,4685 -#define SDLA_READ_MODEM_STATUS 181,4720 -#define SDLA_SET_MODEM_STATUS 182,4757 -#define SDLA_READ_COMMS_ERR_STATS 183,4793 -#define SDLA_FLUSH_COMMS_ERR_STATS 184,4832 -#define SDLA_READ_CODE_VERSION 185,4872 -#define SDLA_SET_IRQ_TRIGGER 186,4909 -#define SDLA_GET_IRQ_TRIGGER 187,4944 -#define SDLA_ICS_LINK_VERIFY 190,5010 -#define SDLA_ICS_STATUS_ENQ 191,5045 -#define SDLA_MODEM_DTR_HIGH 194,5105 -#define SDLA_MODEM_RTS_HIGH 195,5139 -#define SDLA_MODEM_DCD_HIGH 196,5173 -#define SDLA_MODEM_CTS_HIGH 197,5207 -#define SDLA_MODEM_DCD_LOW 200,5282 -#define SDLA_MODEM_CTS_LOW 201,5315 -#define SDLA_RET_OK 204,5368 -#define SDLA_RET_COMMUNICATIONS 205,5395 -#define SDLA_RET_CHANNEL_INACTIVE 206,5433 -#define SDLA_RET_DLCI_INACTIVE 207,5472 -#define SDLA_RET_DLCI_CONFIG 208,5509 -#define SDLA_RET_BUF_TOO_BIG 209,5544 -#define SDLA_RET_NO_DATA 210,5579 -#define SDLA_RET_BUF_OVERSIZE 211,5610 -#define SDLA_RET_CIR_OVERFLOW 212,5646 -#define SDLA_RET_NO_BUFS 213,5682 -#define SDLA_RET_TIMEOUT 214,5713 -#define SDLA_RET_MODEM 215,5744 -#define SDLA_RET_CHANNEL_OFF 216,5774 -#define SDLA_RET_CHANNEL_ON 217,5809 -#define SDLA_RET_DLCI_STATUS 218,5843 -#define SDLA_RET_DLCI_UNKNOWN 219,5878 -#define SDLA_RET_COMMAND_INVALID 220,5920 -#define SDLA_DIRECT_RECV 223,5989 -#define SDLA_TX_NO_EXCEPT 224,6022 -#define SDLA_NO_ICF_MSGS 225,6056 -#define SDLA_TX50_RX50 226,6089 -#define SDLA_TX70_RX30 227,6121 -#define SDLA_TX30_RX70 228,6153 -#define SDLA_IRQ_RECEIVE 231,6212 -#define SDLA_IRQ_TRANSMIT 232,6243 -#define SDLA_IRQ_MODEM_STAT 233,6275 -#define SDLA_IRQ_COMMAND 234,6309 -#define SDLA_IRQ_CHANNEL 235,6340 -#define SDLA_IRQ_TIMER 236,6371 -#define SDLA_8K_WINDOW 239,6442 -#define SDLA_S502_SEG_A 240,6472 -#define SDLA_S502_SEG_C 241,6503 -#define SDLA_S502_SEG_D 242,6534 -#define SDLA_S502_SEG_E 243,6565 -#define SDLA_S507_SEG_A 244,6596 -#define SDLA_S507_SEG_B 245,6627 -#define SDLA_S507_SEG_C 246,6658 -#define SDLA_S507_SEG_E 247,6689 -#define SDLA_S508_SEG_A 248,6720 -#define SDLA_S508_SEG_C 249,6751 -#define SDLA_S508_SEG_D 250,6782 -#define SDLA_S508_SEG_E 251,6813 -#define SDLA_IO_EXTENTS 254,6879 -#define SDLA_REG_CONTROL 256,6912 -#define SDLA_REG_PC_WINDOW 257,6943 -#define SDLA_REG_Z80_WINDOW 258,7016 -#define SDLA_REG_Z80_CONTROL 259,7092 -#define SDLA_S502_STS 261,7164 -#define SDLA_S508_GNRL 262,7229 -#define SDLA_S508_STS 263,7291 -#define SDLA_S508_IDR 264,7345 -#define SDLA_S502A_START 267,7426 -#define SDLA_S502A_INTREQ 268,7477 -#define SDLA_S502A_INTEN 269,7509 -#define SDLA_S502A_HALT 270,7540 -#define SDLA_S502A_NMI 271,7591 -#define SDLA_S502E_CPUEN 273,7652 -#define SDLA_S502E_ENABLE 274,7683 -#define SDLA_S502E_INTACK 275,7715 -#define SDLA_S507_ENABLE 277,7749 -#define SDLA_S507_IRQ3 278,7780 -#define SDLA_S507_IRQ4 279,7810 -#define SDLA_S507_IRQ5 280,7840 -#define SDLA_S507_IRQ7 281,7870 -#define SDLA_S507_IRQ10 282,7900 -#define SDLA_S507_IRQ11 283,7931 -#define SDLA_S507_IRQ12 284,7962 -#define SDLA_S507_IRQ15 285,7993 -#define SDLA_HALT 287,8026 -#define SDLA_CPUEN 288,8051 -#define SDLA_MEMEN 289,8077 -#define SDLA_S507_EPROMWR 290,8103 -#define SDLA_S507_EPROMCLK 291,8135 -#define SDLA_S508_INTRQ 292,8168 -#define SDLA_S508_INTEN 293,8199 -struct sdla_cmd sdla_cmd295,8231 -struct intr_info intr_info308,8725 -struct buf_info buf_info317,9007 -struct buf_entry buf_entry327,9399 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs3.h,2343 -#define _LINUX_NFS3_H5,59 -#define NFS3_PORT 7,82 -#define NFS3_MAXDATA 8,106 -#define NFS3_MAXPATHLEN 9,134 -#define NFS3_MAXNAMLEN 10,168 -#define NFS3_MAXGROUPS 11,201 -#define NFS3_FHSIZE 12,228 -#define NFS3_COOKIESIZE 13,252 -#define NFS3_FIFO_DEV 14,279 -#define NFS3MODE_FMT 15,307 -#define NFS3MODE_DIR 16,337 -#define NFS3MODE_CHR 17,367 -#define NFS3MODE_BLK 18,397 -#define NFS3MODE_REG 19,427 -#define NFS3MODE_LNK 20,457 -#define NFS3MODE_SOCK 21,487 -#define NFS3MODE_FIFO 22,518 -#define NFS3_ACCESS_READ 25,580 -#define NFS3_ACCESS_LOOKUP 26,612 -#define NFS3_ACCESS_MODIFY 27,646 -#define NFS3_ACCESS_EXTEND 28,680 -#define NFS3_ACCESS_DELETE 29,714 -#define NFS3_ACCESS_EXECUTE 30,748 -#define NFS3_ACCESS_FULL 31,783 -enum nfs3_createmode nfs3_createmode34,844 - NFS3_CREATE_UNCHECKED 35,867 - NFS3_CREATE_GUARDED 36,895 - NFS3_CREATE_EXCLUSIVE 37,921 -#define NFS3_FSF_LINK 41,987 -#define NFS3_FSF_SYMLINK 42,1017 -#define NFS3_FSF_HOMOGENEOUS 43,1049 -#define NFS3_FSF_CANSETTIME 44,1085 -#define NFS3_FSF_DEFAULT 46,1166 -#define NFS3_FSF_BILLYBOY 47,1198 -#define NFS3_FSF_READONLY 48,1231 -enum nfs3_ftype nfs3_ftype50,1265 - NF3NON 51,1283 - NF3REG 52,1297 - NF3DIR 53,1311 - NF3BLK 54,1325 - NF3CHR 55,1339 - NF3LNK 56,1353 - NF3SOCK 57,1367 - NF3FIFO 58,1381 - NF3BAD 59,1428 -struct nfs3_fh nfs3_fh62,1445 -#define NFS3_VERSION 67,1523 -#define NFS3PROC_NULL 68,1547 -#define NFS3PROC_GETATTR 69,1572 -#define NFS3PROC_SETATTR 70,1599 -#define NFS3PROC_LOOKUP 71,1626 -#define NFS3PROC_ACCESS 72,1653 -#define NFS3PROC_READLINK 73,1680 -#define NFS3PROC_READ 74,1708 -#define NFS3PROC_WRITE 75,1733 -#define NFS3PROC_CREATE 76,1759 -#define NFS3PROC_MKDIR 77,1786 -#define NFS3PROC_SYMLINK 78,1812 -#define NFS3PROC_MKNOD 79,1840 -#define NFS3PROC_REMOVE 80,1867 -#define NFS3PROC_RMDIR 81,1895 -#define NFS3PROC_RENAME 82,1922 -#define NFS3PROC_LINK 83,1950 -#define NFS3PROC_READDIR 84,1976 -#define NFS3PROC_READDIRPLUS 85,2004 -#define NFS3PROC_FSSTAT 86,2036 -#define NFS3PROC_FSINFO 87,2064 -#define NFS3PROC_PATHCONF 88,2092 -#define NFS3PROC_COMMIT 89,2121 -#define NFS_MNT3_PROGRAM 91,2150 -#define NFS_MNT3_VERSION 92,2182 -#define MOUNTPROC3_NULL 93,2209 -#define MOUNTPROC3_MNT 94,2236 -#define MOUNTPROC3_UMNT 95,2262 -#define MOUNTPROC3_UMNTALL 96,2289 -#define NFS3_POST_OP_ATTR_WORDS 102,2424 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mount.h,260 -#define _LINUX_MOUNT_H12,277 -#define MNT_NOSUID 17,344 -#define MNT_NODEV 18,365 -#define MNT_NOEXEC 19,385 -struct vfsmountvfsmount21,407 -static inline struct vfsmount *mntget(39,1134 -static inline void _mntput(48,1298 -static inline void mntput(56,1429 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pci_ids.h,94894 -#define PCI_CLASS_NOT_DEFINED 9,107 -#define PCI_CLASS_NOT_DEFINED_VGA 10,145 -#define PCI_BASE_CLASS_STORAGE 12,187 -#define PCI_CLASS_STORAGE_SCSI 13,224 -#define PCI_CLASS_STORAGE_IDE 14,263 -#define PCI_CLASS_STORAGE_FLOPPY 15,301 -#define PCI_CLASS_STORAGE_IPI 16,341 -#define PCI_CLASS_STORAGE_RAID 17,379 -#define PCI_CLASS_STORAGE_OTHER 18,418 -#define PCI_BASE_CLASS_NETWORK 20,459 -#define PCI_CLASS_NETWORK_ETHERNET 21,496 -#define PCI_CLASS_NETWORK_TOKEN_RING 22,538 -#define PCI_CLASS_NETWORK_FDDI 23,582 -#define PCI_CLASS_NETWORK_ATM 24,621 -#define PCI_CLASS_NETWORK_OTHER 25,659 -#define PCI_BASE_CLASS_DISPLAY 27,700 -#define PCI_CLASS_DISPLAY_VGA 28,737 -#define PCI_CLASS_DISPLAY_XGA 29,775 -#define PCI_CLASS_DISPLAY_3D 30,813 -#define PCI_CLASS_DISPLAY_OTHER 31,850 -#define PCI_BASE_CLASS_MULTIMEDIA 33,891 -#define PCI_CLASS_MULTIMEDIA_VIDEO 34,930 -#define PCI_CLASS_MULTIMEDIA_AUDIO 35,972 -#define PCI_CLASS_MULTIMEDIA_PHONE 36,1014 -#define PCI_CLASS_MULTIMEDIA_OTHER 37,1056 -#define PCI_BASE_CLASS_MEMORY 39,1099 -#define PCI_CLASS_MEMORY_RAM 40,1135 -#define PCI_CLASS_MEMORY_FLASH 41,1172 -#define PCI_CLASS_MEMORY_OTHER 42,1211 -#define PCI_BASE_CLASS_BRIDGE 44,1251 -#define PCI_CLASS_BRIDGE_HOST 45,1287 -#define PCI_CLASS_BRIDGE_ISA 46,1325 -#define PCI_CLASS_BRIDGE_EISA 47,1362 -#define PCI_CLASS_BRIDGE_MC 48,1400 -#define PCI_CLASS_BRIDGE_PCI 49,1436 -#define PCI_CLASS_BRIDGE_PCMCIA 50,1473 -#define PCI_CLASS_BRIDGE_NUBUS 51,1513 -#define PCI_CLASS_BRIDGE_CARDBUS 52,1552 -#define PCI_CLASS_BRIDGE_RACEWAY 53,1592 -#define PCI_CLASS_BRIDGE_OTHER 54,1632 -#define PCI_BASE_CLASS_COMMUNICATION 56,1672 -#define PCI_CLASS_COMMUNICATION_SERIAL 57,1714 -#define PCI_CLASS_COMMUNICATION_PARALLEL 58,1760 -#define PCI_CLASS_COMMUNICATION_MULTISERIAL 59,1808 -#define PCI_CLASS_COMMUNICATION_MODEM 60,1859 -#define PCI_CLASS_COMMUNICATION_OTHER 61,1904 -#define PCI_BASE_CLASS_SYSTEM 63,1950 -#define PCI_CLASS_SYSTEM_PIC 64,1986 -#define PCI_CLASS_SYSTEM_DMA 65,2023 -#define PCI_CLASS_SYSTEM_TIMER 66,2060 -#define PCI_CLASS_SYSTEM_RTC 67,2099 -#define PCI_CLASS_SYSTEM_PCI_HOTPLUG 68,2136 -#define PCI_CLASS_SYSTEM_OTHER 69,2180 -#define PCI_BASE_CLASS_INPUT 71,2220 -#define PCI_CLASS_INPUT_KEYBOARD 72,2255 -#define PCI_CLASS_INPUT_PEN 73,2295 -#define PCI_CLASS_INPUT_MOUSE 74,2331 -#define PCI_CLASS_INPUT_SCANNER 75,2369 -#define PCI_CLASS_INPUT_GAMEPORT 76,2409 -#define PCI_CLASS_INPUT_OTHER 77,2449 -#define PCI_BASE_CLASS_DOCKING 79,2488 -#define PCI_CLASS_DOCKING_GENERIC 80,2525 -#define PCI_CLASS_DOCKING_OTHER 81,2566 -#define PCI_BASE_CLASS_PROCESSOR 83,2607 -#define PCI_CLASS_PROCESSOR_386 84,2645 -#define PCI_CLASS_PROCESSOR_486 85,2685 -#define PCI_CLASS_PROCESSOR_PENTIUM 86,2725 -#define PCI_CLASS_PROCESSOR_ALPHA 87,2768 -#define PCI_CLASS_PROCESSOR_POWERPC 88,2809 -#define PCI_CLASS_PROCESSOR_MIPS 89,2852 -#define PCI_CLASS_PROCESSOR_CO 90,2892 -#define PCI_BASE_CLASS_SERIAL 92,2932 -#define PCI_CLASS_SERIAL_FIREWIRE 93,2968 -#define PCI_CLASS_SERIAL_ACCESS 94,3009 -#define PCI_CLASS_SERIAL_SSA 95,3049 -#define PCI_CLASS_SERIAL_USB 96,3086 -#define PCI_CLASS_SERIAL_FIBER 97,3123 -#define PCI_CLASS_SERIAL_SMBUS 98,3162 -#define PCI_BASE_CLASS_INTELLIGENT 100,3202 -#define PCI_CLASS_INTELLIGENT_I2O 101,3242 -#define PCI_BASE_CLASS_SATELLITE 103,3284 -#define PCI_CLASS_SATELLITE_TV 104,3322 -#define PCI_CLASS_SATELLITE_AUDIO 105,3361 -#define PCI_CLASS_SATELLITE_VOICE 106,3402 -#define PCI_CLASS_SATELLITE_DATA 107,3443 -#define PCI_BASE_CLASS_CRYPT 109,3484 -#define PCI_CLASS_CRYPT_NETWORK 110,3519 -#define PCI_CLASS_CRYPT_ENTERTAINMENT 111,3559 -#define PCI_CLASS_CRYPT_OTHER 112,3604 -#define PCI_BASE_CLASS_SIGNAL_PROCESSING 114,3643 -#define PCI_CLASS_SP_DPIO 115,3689 -#define PCI_CLASS_SP_OTHER 116,3723 -#define PCI_CLASS_OTHERS 118,3759 -#define PCI_VENDOR_ID_DYNALINK 122,3857 -#define PCI_DEVICE_ID_DYNALINK_IS64PH 123,3896 -#define PCI_VENDOR_ID_BERKOM 125,3942 -#define PCI_DEVICE_ID_BERKOM_A1T 126,3980 -#define PCI_DEVICE_ID_BERKOM_T_CONCEPT 127,4021 -#define PCI_DEVICE_ID_BERKOM_A4T 128,4068 -#define PCI_DEVICE_ID_BERKOM_SCITEL_QUADRO 129,4109 -#define PCI_VENDOR_ID_COMPAQ 131,4160 -#define PCI_DEVICE_ID_COMPAQ_TOKENRING 132,4197 -#define PCI_DEVICE_ID_COMPAQ_1280 133,4243 -#define PCI_DEVICE_ID_COMPAQ_TRIFLEX 134,4284 -#define PCI_DEVICE_ID_COMPAQ_6010 135,4328 -#define PCI_DEVICE_ID_COMPAQ_TACHYON 136,4369 -#define PCI_DEVICE_ID_COMPAQ_SMART2P 137,4413 -#define PCI_DEVICE_ID_COMPAQ_NETEL100 138,4457 -#define PCI_DEVICE_ID_COMPAQ_NETEL10 139,4502 -#define PCI_DEVICE_ID_COMPAQ_TRIFLEX_IDE 140,4546 -#define PCI_DEVICE_ID_COMPAQ_NETFLEX3I 141,4594 -#define PCI_DEVICE_ID_COMPAQ_NETEL100D 142,4640 -#define PCI_DEVICE_ID_COMPAQ_NETEL100PI 143,4686 -#define PCI_DEVICE_ID_COMPAQ_NETEL100I 144,4733 -#define PCI_DEVICE_ID_COMPAQ_CISS 145,4779 -#define PCI_DEVICE_ID_COMPAQ_CISSB 146,4820 -#define PCI_DEVICE_ID_COMPAQ_CISSC 147,4862 -#define PCI_DEVICE_ID_COMPAQ_THUNDER 148,4902 -#define PCI_DEVICE_ID_COMPAQ_NETFLEX3B 149,4946 -#define PCI_VENDOR_ID_NCR 151,4993 -#define PCI_VENDOR_ID_LSI_LOGIC 152,5027 -#define PCI_DEVICE_ID_NCR_53C810 153,5067 -#define PCI_DEVICE_ID_NCR_53C820 154,5107 -#define PCI_DEVICE_ID_NCR_53C825 155,5147 -#define PCI_DEVICE_ID_NCR_53C815 156,5187 -#define PCI_DEVICE_ID_LSI_53C810AP 157,5227 -#define PCI_DEVICE_ID_NCR_53C860 158,5269 -#define PCI_DEVICE_ID_LSI_53C1510 159,5309 -#define PCI_DEVICE_ID_NCR_53C896 160,5350 -#define PCI_DEVICE_ID_NCR_53C895 161,5390 -#define PCI_DEVICE_ID_NCR_53C885 162,5430 -#define PCI_DEVICE_ID_NCR_53C875 163,5470 -#define PCI_DEVICE_ID_NCR_53C1510 164,5510 -#define PCI_DEVICE_ID_LSI_53C895A 165,5551 -#define PCI_DEVICE_ID_LSI_53C875A 166,5592 -#define PCI_DEVICE_ID_LSI_53C1010_33 167,5633 -#define PCI_DEVICE_ID_LSI_53C1010_66 168,5677 -#define PCI_DEVICE_ID_LSI_53C1030 169,5721 -#define PCI_DEVICE_ID_LSI_1030_53C1035 170,5762 -#define PCI_DEVICE_ID_LSI_53C1035 171,5808 -#define PCI_DEVICE_ID_NCR_53C875J 172,5849 -#define PCI_DEVICE_ID_LSI_FC909 173,5890 -#define PCI_DEVICE_ID_LSI_FC929 174,5930 -#define PCI_DEVICE_ID_LSI_FC929_LAN 175,5970 -#define PCI_DEVICE_ID_LSI_FC919 176,6013 -#define PCI_DEVICE_ID_LSI_FC919_LAN 177,6053 -#define PCI_DEVICE_ID_LSI_FC929X 178,6096 -#define PCI_DEVICE_ID_LSI_FC919X 179,6136 -#define PCI_DEVICE_ID_NCR_YELLOWFIN 180,6176 -#define PCI_DEVICE_ID_LSI_61C102 181,6219 -#define PCI_DEVICE_ID_LSI_63C815 182,6259 -#define PCI_VENDOR_ID_ATI 184,6300 -#define PCI_DEVICE_ID_ATI_68800 186,6347 -#define PCI_DEVICE_ID_ATI_215CT222 187,6387 -#define PCI_DEVICE_ID_ATI_210888CX 188,6429 -#define PCI_DEVICE_ID_ATI_215ET222 189,6471 -#define PCI_DEVICE_ID_ATI_215GB 191,6533 -#define PCI_DEVICE_ID_ATI_215GD 192,6573 -#define PCI_DEVICE_ID_ATI_215GI 193,6613 -#define PCI_DEVICE_ID_ATI_215GP 194,6653 -#define PCI_DEVICE_ID_ATI_215GQ 195,6693 -#define PCI_DEVICE_ID_ATI_215XL 196,6733 -#define PCI_DEVICE_ID_ATI_215GT 197,6773 -#define PCI_DEVICE_ID_ATI_215GTB 198,6813 -#define PCI_DEVICE_ID_ATI_215_IV 199,6853 -#define PCI_DEVICE_ID_ATI_215_IW 200,6893 -#define PCI_DEVICE_ID_ATI_215_IZ 201,6933 -#define PCI_DEVICE_ID_ATI_210888GX 202,6973 -#define PCI_DEVICE_ID_ATI_215_LB 203,7015 -#define PCI_DEVICE_ID_ATI_215_LD 204,7055 -#define PCI_DEVICE_ID_ATI_215_LG 205,7095 -#define PCI_DEVICE_ID_ATI_215_LI 206,7135 -#define PCI_DEVICE_ID_ATI_215_LM 207,7175 -#define PCI_DEVICE_ID_ATI_215_LN 208,7215 -#define PCI_DEVICE_ID_ATI_215_LR 209,7255 -#define PCI_DEVICE_ID_ATI_215_LS 210,7295 -#define PCI_DEVICE_ID_ATI_264_LT 211,7335 -#define PCI_DEVICE_ID_ATI_264VT 213,7391 -#define PCI_DEVICE_ID_ATI_264VU 214,7431 -#define PCI_DEVICE_ID_ATI_264VV 215,7471 -#define PCI_DEVICE_ID_ATI_RAGE128_RE 217,7528 -#define PCI_DEVICE_ID_ATI_RAGE128_RF 218,7572 -#define PCI_DEVICE_ID_ATI_RAGE128_RG 219,7616 -#define PCI_DEVICE_ID_ATI_RAGE128_RK 221,7677 -#define PCI_DEVICE_ID_ATI_RAGE128_RL 222,7721 -#define PCI_DEVICE_ID_ATI_RAGE128_SE 223,7765 -#define PCI_DEVICE_ID_ATI_RAGE128_SF 224,7809 -#define PCI_DEVICE_ID_ATI_RAGE128_SG 225,7853 -#define PCI_DEVICE_ID_ATI_RAGE128_SH 226,7897 -#define PCI_DEVICE_ID_ATI_RAGE128_SK 227,7941 -#define PCI_DEVICE_ID_ATI_RAGE128_SL 228,7985 -#define PCI_DEVICE_ID_ATI_RAGE128_SM 229,8029 -#define PCI_DEVICE_ID_ATI_RAGE128_SN 230,8073 -#define PCI_DEVICE_ID_ATI_RAGE128_TF 232,8137 -#define PCI_DEVICE_ID_ATI_RAGE128_TL 233,8181 -#define PCI_DEVICE_ID_ATI_RAGE128_TR 234,8225 -#define PCI_DEVICE_ID_ATI_RAGE128_TS 235,8269 -#define PCI_DEVICE_ID_ATI_RAGE128_TT 236,8313 -#define PCI_DEVICE_ID_ATI_RAGE128_TU 237,8357 -#define PCI_DEVICE_ID_ATI_RAGE128_LE 239,8418 -#define PCI_DEVICE_ID_ATI_RAGE128_LF 240,8462 -#define PCI_DEVICE_ID_ATI_RAGE128_MF 242,8523 -#define PCI_DEVICE_ID_ATI_RAGE128_ML 243,8570 -#define PCI_DEVICE_ID_ATI_RAGE128_PA 245,8638 -#define PCI_DEVICE_ID_ATI_RAGE128_PB 246,8682 -#define PCI_DEVICE_ID_ATI_RAGE128_PC 247,8726 -#define PCI_DEVICE_ID_ATI_RAGE128_PD 248,8770 -#define PCI_DEVICE_ID_ATI_RAGE128_PE 249,8814 -#define PCI_DEVICE_ID_ATI_RAGE128_PF 250,8858 -#define PCI_DEVICE_ID_ATI_RAGE128_PG 252,8923 -#define PCI_DEVICE_ID_ATI_RAGE128_PH 253,8967 -#define PCI_DEVICE_ID_ATI_RAGE128_PI 254,9011 -#define PCI_DEVICE_ID_ATI_RAGE128_PJ 255,9055 -#define PCI_DEVICE_ID_ATI_RAGE128_PK 256,9099 -#define PCI_DEVICE_ID_ATI_RAGE128_PL 257,9143 -#define PCI_DEVICE_ID_ATI_RAGE128_PM 258,9187 -#define PCI_DEVICE_ID_ATI_RAGE128_PN 259,9231 -#define PCI_DEVICE_ID_ATI_RAGE128_PO 260,9275 -#define PCI_DEVICE_ID_ATI_RAGE128_PP 261,9319 -#define PCI_DEVICE_ID_ATI_RAGE128_PQ 262,9363 -#define PCI_DEVICE_ID_ATI_RAGE128_PR 263,9407 -#define PCI_DEVICE_ID_ATI_RAGE128_TR 264,9451 -#define PCI_DEVICE_ID_ATI_RAGE128_PS 265,9495 -#define PCI_DEVICE_ID_ATI_RAGE128_PT 266,9539 -#define PCI_DEVICE_ID_ATI_RAGE128_PU 267,9583 -#define PCI_DEVICE_ID_ATI_RAGE128_PV 268,9627 -#define PCI_DEVICE_ID_ATI_RAGE128_PW 269,9671 -#define PCI_DEVICE_ID_ATI_RAGE128_PX 270,9715 -#define PCI_DEVICE_ID_ATI_RADEON_LE 272,9776 -#define PCI_DEVICE_ID_ATI_RADEON_LF 273,9819 -#define PCI_DEVICE_ID_ATI_RADEON_QD 275,9880 -#define PCI_DEVICE_ID_ATI_RADEON_QE 276,9923 -#define PCI_DEVICE_ID_ATI_RADEON_QF 277,9966 -#define PCI_DEVICE_ID_ATI_RADEON_QG 278,10009 -#define PCI_DEVICE_ID_ATI_RADEON_QY 280,10076 -#define PCI_DEVICE_ID_ATI_RADEON_QZ 281,10119 -#define PCI_DEVICE_ID_ATI_RADEON_QL 283,10187 -#define PCI_DEVICE_ID_ATI_RADEON_QN 284,10230 -#define PCI_DEVICE_ID_ATI_RADEON_QO 285,10273 -#define PCI_DEVICE_ID_ATI_RADEON_Ql 286,10316 -#define PCI_DEVICE_ID_ATI_RADEON_BB 287,10359 -#define PCI_DEVICE_ID_ATI_RADEON_QM 289,10427 -#define PCI_DEVICE_ID_ATI_RADEON_QW 291,10496 -#define PCI_DEVICE_ID_ATI_RADEON_QX 292,10539 -#define PCI_DEVICE_ID_ATI_RADEON_N1 294,10602 -#define PCI_DEVICE_ID_ATI_RADEON_N2 295,10645 -#define PCI_DEVICE_ID_ATI_RADEON_Id 297,10714 -#define PCI_DEVICE_ID_ATI_RADEON_Ie 298,10757 -#define PCI_DEVICE_ID_ATI_RADEON_If 299,10800 -#define PCI_DEVICE_ID_ATI_RADEON_Ig 300,10843 -#define PCI_DEVICE_ID_ATI_RADEON_Y_ 302,10912 -#define PCI_DEVICE_ID_ATI_RADEON_Ya 303,10955 -#define PCI_DEVICE_ID_ATI_RADEON_Yd 304,10998 -#define PCI_DEVICE_ID_ATI_RADEON_AD 306,11066 -#define PCI_DEVICE_ID_ATI_RADEON_ND 308,11134 -#define PCI_DEVICE_ID_ATI_RADEON_NE 309,11177 -#define PCI_DEVICE_ID_ATI_RADEON_NF 310,11220 -#define PCI_DEVICE_ID_ATI_RADEON_NG 311,11263 -#define PCI_DEVICE_ID_ATI_RADEON_AE 312,11306 -#define PCI_DEVICE_ID_ATI_RADEON_AF 313,11349 -#define PCI_DEVICE_ID_ATI_RADEON_NH 315,11417 -#define PCI_DEVICE_ID_ATI_RADEON_NI 316,11460 -#define PCI_DEVICE_ID_ATI_RADEON_AP 318,11529 -#define PCI_DEVICE_ID_ATI_RADEON_AR 319,11572 -#define PCI_DEVICE_ID_ATI_RADEON_LY 321,11631 -#define PCI_DEVICE_ID_ATI_RADEON_LZ 322,11674 -#define PCI_DEVICE_ID_ATI_RADEON_LW 324,11733 -#define PCI_DEVICE_ID_ATI_RADEON_LX 325,11776 -#define PCI_DEVICE_ID_ATI_RADEON_Ld 327,11835 -#define PCI_DEVICE_ID_ATI_RADEON_Le 328,11878 -#define PCI_DEVICE_ID_ATI_RADEON_Lf 329,11921 -#define PCI_DEVICE_ID_ATI_RADEON_Lg 330,11964 -#define PCI_DEVICE_ID_ATI_RADEON_RA 332,12020 -#define PCI_DEVICE_ID_ATI_RADEON_RB 333,12063 -#define PCI_DEVICE_ID_ATI_RADEON_RC 334,12106 -#define PCI_DEVICE_ID_ATI_RADEON_RD 335,12149 -#define PCI_DEVICE_ID_ATI_RS100 337,12208 -#define PCI_DEVICE_ID_ATI_RS200 338,12248 -#define PCI_DEVICE_ID_ATI_RS200_B 339,12288 -#define PCI_DEVICE_ID_ATI_RS250 340,12329 -#define PCI_DEVICE_ID_ATI_RS300_100 341,12369 -#define PCI_DEVICE_ID_ATI_RS300_133 342,12412 -#define PCI_DEVICE_ID_ATI_RS300_166 343,12455 -#define PCI_DEVICE_ID_ATI_RS300_200 344,12498 -#define PCI_DEVICE_ID_ATI_IXP_IDE 346,12563 -#define PCI_VENDOR_ID_VLSI 348,12605 -#define PCI_DEVICE_ID_VLSI_82C592 349,12640 -#define PCI_DEVICE_ID_VLSI_82C593 350,12681 -#define PCI_DEVICE_ID_VLSI_82C594 351,12722 -#define PCI_DEVICE_ID_VLSI_82C597 352,12763 -#define PCI_DEVICE_ID_VLSI_82C541 353,12804 -#define PCI_DEVICE_ID_VLSI_82C543 354,12845 -#define PCI_DEVICE_ID_VLSI_82C532 355,12886 -#define PCI_DEVICE_ID_VLSI_82C534 356,12927 -#define PCI_DEVICE_ID_VLSI_82C535 357,12968 -#define PCI_DEVICE_ID_VLSI_82C147 358,13009 -#define PCI_DEVICE_ID_VLSI_VAS96011 359,13050 -#define PCI_VENDOR_ID_ADL 361,13094 -#define PCI_DEVICE_ID_ADL_2301 362,13128 -#define PCI_VENDOR_ID_NS 364,13168 -#define PCI_DEVICE_ID_NS_87415 365,13201 -#define PCI_DEVICE_ID_NS_87560_LIO 366,13240 -#define PCI_DEVICE_ID_NS_87560_USB 367,13282 -#define PCI_DEVICE_ID_NS_83815 368,13324 -#define PCI_DEVICE_ID_NS_83820 369,13363 -#define PCI_DEVICE_ID_NS_SCx200_BRIDGE 370,13402 -#define PCI_DEVICE_ID_NS_SCx200_SMI 371,13448 -#define PCI_DEVICE_ID_NS_SCx200_IDE 372,13491 -#define PCI_DEVICE_ID_NS_SCx200_AUDIO 373,13534 -#define PCI_DEVICE_ID_NS_SCx200_VIDEO 374,13579 -#define PCI_DEVICE_ID_NS_SCx200_XBUS 375,13624 -#define PCI_DEVICE_ID_NS_SC1100_BRIDGE 376,13668 -#define PCI_DEVICE_ID_NS_87410 377,13714 -#define PCI_VENDOR_ID_TSENG 379,13754 -#define PCI_DEVICE_ID_TSENG_W32P_2 380,13790 -#define PCI_DEVICE_ID_TSENG_W32P_b 381,13832 -#define PCI_DEVICE_ID_TSENG_W32P_c 382,13874 -#define PCI_DEVICE_ID_TSENG_W32P_d 383,13916 -#define PCI_DEVICE_ID_TSENG_ET6000 384,13958 -#define PCI_VENDOR_ID_WEITEK 386,14001 -#define PCI_DEVICE_ID_WEITEK_P9000 387,14038 -#define PCI_DEVICE_ID_WEITEK_P9100 388,14080 -#define PCI_VENDOR_ID_DEC 390,14123 -#define PCI_DEVICE_ID_DEC_BRD 391,14157 -#define PCI_DEVICE_ID_DEC_TULIP 392,14195 -#define PCI_DEVICE_ID_DEC_TGA 393,14235 -#define PCI_DEVICE_ID_DEC_TULIP_FAST 394,14273 -#define PCI_DEVICE_ID_DEC_TGA2 395,14317 -#define PCI_DEVICE_ID_DEC_FDDI 396,14356 -#define PCI_DEVICE_ID_DEC_TULIP_PLUS 397,14395 -#define PCI_DEVICE_ID_DEC_21142 398,14439 -#define PCI_DEVICE_ID_DEC_21052 399,14479 -#define PCI_DEVICE_ID_DEC_21150 400,14519 -#define PCI_DEVICE_ID_DEC_21152 401,14559 -#define PCI_DEVICE_ID_DEC_21153 402,14599 -#define PCI_DEVICE_ID_DEC_21154 403,14639 -#define PCI_DEVICE_ID_DEC_21285 404,14679 -#define PCI_DEVICE_ID_COMPAQ_42XX 405,14719 -#define PCI_VENDOR_ID_CIRRUS 407,14761 -#define PCI_DEVICE_ID_CIRRUS_7548 408,14798 -#define PCI_DEVICE_ID_CIRRUS_5430 409,14839 -#define PCI_DEVICE_ID_CIRRUS_5434_4 410,14880 -#define PCI_DEVICE_ID_CIRRUS_5434_8 411,14923 -#define PCI_DEVICE_ID_CIRRUS_5436 412,14966 -#define PCI_DEVICE_ID_CIRRUS_5446 413,15007 -#define PCI_DEVICE_ID_CIRRUS_5480 414,15048 -#define PCI_DEVICE_ID_CIRRUS_5462 415,15089 -#define PCI_DEVICE_ID_CIRRUS_5464 416,15130 -#define PCI_DEVICE_ID_CIRRUS_5465 417,15171 -#define PCI_DEVICE_ID_CIRRUS_6729 418,15212 -#define PCI_DEVICE_ID_CIRRUS_6832 419,15253 -#define PCI_DEVICE_ID_CIRRUS_7542 420,15294 -#define PCI_DEVICE_ID_CIRRUS_7543 421,15335 -#define PCI_DEVICE_ID_CIRRUS_7541 422,15376 -#define PCI_VENDOR_ID_IBM 424,15418 -#define PCI_DEVICE_ID_IBM_FIRE_CORAL 425,15452 -#define PCI_DEVICE_ID_IBM_TR 426,15496 -#define PCI_DEVICE_ID_IBM_82G2675 427,15533 -#define PCI_DEVICE_ID_IBM_MCA 428,15574 -#define PCI_DEVICE_ID_IBM_82351 429,15612 -#define PCI_DEVICE_ID_IBM_PYTHON 430,15652 -#define PCI_DEVICE_ID_IBM_SERVERAID 431,15692 -#define PCI_DEVICE_ID_IBM_TR_WAKE 432,15735 -#define PCI_DEVICE_ID_IBM_MPIC 433,15776 -#define PCI_DEVICE_ID_IBM_3780IDSP 434,15815 -#define PCI_DEVICE_ID_IBM_CHUKAR 435,15857 -#define PCI_DEVICE_ID_IBM_CPC710_PCI64 436,15897 -#define PCI_DEVICE_ID_IBM_CPC710_PCI32 437,15943 -#define PCI_DEVICE_ID_IBM_405GP 438,15989 -#define PCI_DEVICE_ID_IBM_SNIPE 439,16029 -#define PCI_DEVICE_ID_IBM_SERVERAIDI960 440,16069 -#define PCI_DEVICE_ID_IBM_CITRINE 441,16116 -#define PCI_DEVICE_ID_IBM_GEMSTONE 442,16158 -#define PCI_DEVICE_ID_IBM_MPIC_2 443,16201 -#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_1 444,16241 -#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2 445,16288 -#define PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX 446,16335 -#define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM 447,16391 -#define PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL 448,16458 -#define PCI_VENDOR_ID_COMPEX2 450,16512 -#define PCI_DEVICE_ID_COMPEX2_100VG 451,16583 -#define PCI_VENDOR_ID_WD 453,16627 -#define PCI_DEVICE_ID_WD_7197 454,16660 -#define PCI_DEVICE_ID_WD_90C 455,16698 -#define PCI_VENDOR_ID_AMI 457,16736 -#define PCI_DEVICE_ID_AMI_MEGARAID3 458,16770 -#define PCI_DEVICE_ID_AMI_MEGARAID 459,16813 -#define PCI_DEVICE_ID_AMI_MEGARAID2 460,16855 -#define PCI_VENDOR_ID_AMD 462,16899 -#define PCI_DEVICE_ID_AMD_LANCE 463,16933 -#define PCI_DEVICE_ID_AMD_LANCE_HOME 464,16973 -#define PCI_DEVICE_ID_AMD_SCSI 465,17017 -#define PCI_DEVICE_ID_AMD_SERENADE 466,17056 -#define PCI_DEVICE_ID_AMD_FE_GATE_7006 467,17098 -#define PCI_DEVICE_ID_AMD_FE_GATE_7007 468,17144 -#define PCI_DEVICE_ID_AMD_FE_GATE_700C 469,17190 -#define PCI_DEVICE_ID_AMD_FE_GATE_700D 470,17236 -#define PCI_DEVICE_ID_AMD_FE_GATE_700E 471,17282 -#define PCI_DEVICE_ID_AMD_FE_GATE_700F 472,17328 -#define PCI_DEVICE_ID_AMD_COBRA_7400 473,17374 -#define PCI_DEVICE_ID_AMD_COBRA_7401 474,17418 -#define PCI_DEVICE_ID_AMD_COBRA_7403 475,17462 -#define PCI_DEVICE_ID_AMD_COBRA_7404 476,17506 -#define PCI_DEVICE_ID_AMD_VIPER_7408 477,17550 -#define PCI_DEVICE_ID_AMD_VIPER_7409 478,17594 -#define PCI_DEVICE_ID_AMD_VIPER_740B 479,17638 -#define PCI_DEVICE_ID_AMD_VIPER_740C 480,17682 -#define PCI_DEVICE_ID_AMD_VIPER_7410 481,17726 -#define PCI_DEVICE_ID_AMD_VIPER_7411 482,17770 -#define PCI_DEVICE_ID_AMD_VIPER_7413 483,17814 -#define PCI_DEVICE_ID_AMD_VIPER_7414 484,17858 -#define PCI_DEVICE_ID_AMD_OPUS_7440 485,17902 -# define PCI_DEVICE_ID_AMD_VIPER_7440 486,17945 -#define PCI_DEVICE_ID_AMD_OPUS_7441 487,18011 -# define PCI_DEVICE_ID_AMD_VIPER_7441 488,18054 -#define PCI_DEVICE_ID_AMD_OPUS_7443 489,18120 -# define PCI_DEVICE_ID_AMD_VIPER_7443 490,18163 -#define PCI_DEVICE_ID_AMD_OPUS_7445 491,18229 -#define PCI_DEVICE_ID_AMD_OPUS_7448 492,18272 -# define PCI_DEVICE_ID_AMD_VIPER_7448 493,18315 -#define PCI_DEVICE_ID_AMD_OPUS_7449 494,18381 -# define PCI_DEVICE_ID_AMD_VIPER_7449 495,18424 -#define PCI_DEVICE_ID_AMD_8111_LAN 496,18490 -#define PCI_DEVICE_ID_AMD_8111_IDE 497,18532 -#define PCI_DEVICE_ID_AMD_8111_AUDIO 498,18574 -#define PCI_DEVICE_ID_AMD_8151_0 499,18618 -#define PCI_DEVICE_ID_AMD_8131_APIC 500,18658 -#define PCI_VENDOR_ID_TRIDENT 502,18706 -#define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 503,18744 -#define PCI_DEVICE_ID_TRIDENT_4DWAVE_NX 504,18791 -#define PCI_DEVICE_ID_TRIDENT_9320 505,18838 -#define PCI_DEVICE_ID_TRIDENT_9388 506,18880 -#define PCI_DEVICE_ID_TRIDENT_9397 507,18922 -#define PCI_DEVICE_ID_TRIDENT_939A 508,18964 -#define PCI_DEVICE_ID_TRIDENT_9520 509,19006 -#define PCI_DEVICE_ID_TRIDENT_9525 510,19048 -#define PCI_DEVICE_ID_TRIDENT_9420 511,19090 -#define PCI_DEVICE_ID_TRIDENT_9440 512,19132 -#define PCI_DEVICE_ID_TRIDENT_9660 513,19174 -#define PCI_DEVICE_ID_TRIDENT_9750 514,19216 -#define PCI_DEVICE_ID_TRIDENT_9850 515,19258 -#define PCI_DEVICE_ID_TRIDENT_9880 516,19300 -#define PCI_DEVICE_ID_TRIDENT_8400 517,19342 -#define PCI_DEVICE_ID_TRIDENT_8420 518,19384 -#define PCI_DEVICE_ID_TRIDENT_8500 519,19426 -#define PCI_VENDOR_ID_AI 521,19469 -#define PCI_DEVICE_ID_AI_M1435 522,19502 -#define PCI_VENDOR_ID_DELL 524,19542 -#define PCI_VENDOR_ID_MATROX 526,19590 -#define PCI_DEVICE_ID_MATROX_MGA_2 527,19627 -#define PCI_DEVICE_ID_MATROX_MIL 528,19669 -#define PCI_DEVICE_ID_MATROX_MYS 529,19709 -#define PCI_DEVICE_ID_MATROX_MIL_2 530,19749 -#define PCI_DEVICE_ID_MATROX_MIL_2_AGP 531,19791 -#define PCI_DEVICE_ID_MATROX_MGA_IMP 532,19837 -#define PCI_DEVICE_ID_MATROX_G100_MM 533,19881 -#define PCI_DEVICE_ID_MATROX_G100_AGP 534,19925 -#define PCI_DEVICE_ID_MATROX_G200_PCI 535,19970 -#define PCI_DEVICE_ID_MATROX_G200_AGP 536,20015 -#define PCI_DEVICE_ID_MATROX_G400 537,20060 -#define PCI_DEVICE_ID_MATROX_G550 538,20101 -#define PCI_DEVICE_ID_MATROX_VIA 539,20142 -#define PCI_VENDOR_ID_CT 541,20183 -#define PCI_DEVICE_ID_CT_69000 542,20216 -#define PCI_DEVICE_ID_CT_65545 543,20255 -#define PCI_DEVICE_ID_CT_65548 544,20294 -#define PCI_DEVICE_ID_CT_65550 545,20333 -#define PCI_DEVICE_ID_CT_65554 546,20372 -#define PCI_DEVICE_ID_CT_65555 547,20411 -#define PCI_VENDOR_ID_MIRO 549,20451 -#define PCI_DEVICE_ID_MIRO_36050 550,20486 -#define PCI_DEVICE_ID_MIRO_DC10PLUS 551,20526 -#define PCI_DEVICE_ID_MIRO_DC30PLUS 552,20569 -#define PCI_VENDOR_ID_NEC 554,20613 -#define PCI_DEVICE_ID_NEC_CBUS_1 555,20647 -#define PCI_DEVICE_ID_NEC_LOCAL 556,20709 -#define PCI_DEVICE_ID_NEC_ATM 557,20768 -#define PCI_DEVICE_ID_NEC_R4000 558,20831 -#define PCI_DEVICE_ID_NEC_486 559,20890 -#define PCI_DEVICE_ID_NEC_ACCEL_1 560,20965 -#define PCI_DEVICE_ID_NEC_UXBUS 561,21032 -#define PCI_DEVICE_ID_NEC_ACCEL_2 562,21092 -#define PCI_DEVICE_ID_NEC_GRAPH 563,21159 -#define PCI_DEVICE_ID_NEC_VL 564,21226 -#define PCI_DEVICE_ID_NEC_STARALPHA2 565,21283 -#define PCI_DEVICE_ID_NEC_CBUS_2 566,21345 -#define PCI_DEVICE_ID_NEC_USB 567,21407 -#define PCI_DEVICE_ID_NEC_CBUS_3 568,21464 -#define PCI_DEVICE_ID_NEC_PCX2 569,21504 -#define PCI_DEVICE_ID_NEC_NILE4 570,21557 -#define PCI_DEVICE_ID_NEC_VRC5476 571,21597 -#define PCI_DEVICE_ID_NEC_VRC5477_AC97 572,21644 -#define PCI_DEVICE_ID_NEC_PC9821CS01 573,21691 -#define PCI_DEVICE_ID_NEC_PC9821NRB06 574,21757 -#define PCI_VENDOR_ID_FD 576,21825 -#define PCI_DEVICE_ID_FD_36C70 577,21858 -#define PCI_VENDOR_ID_SI 579,21898 -#define PCI_DEVICE_ID_SI_5591_AGP 580,21931 -#define PCI_DEVICE_ID_SI_6202 581,21972 -#define PCI_DEVICE_ID_SI_503 582,22010 -#define PCI_DEVICE_ID_SI_ACPI 583,22047 -#define PCI_DEVICE_ID_SI_LPC 584,22085 -#define PCI_DEVICE_ID_SI_5597_VGA 585,22122 -#define PCI_DEVICE_ID_SI_6205 586,22163 -#define PCI_DEVICE_ID_SI_501 587,22201 -#define PCI_DEVICE_ID_SI_496 588,22238 -#define PCI_DEVICE_ID_SI_300 589,22275 -#define PCI_DEVICE_ID_SI_315H 590,22312 -#define PCI_DEVICE_ID_SI_315 591,22350 -#define PCI_DEVICE_ID_SI_315PRO 592,22387 -#define PCI_DEVICE_ID_SI_530 593,22427 -#define PCI_DEVICE_ID_SI_540 594,22464 -#define PCI_DEVICE_ID_SI_550 595,22501 -#define PCI_DEVICE_ID_SI_540_VGA 596,22538 -#define PCI_DEVICE_ID_SI_550_VGA 597,22578 -#define PCI_DEVICE_ID_SI_601 598,22618 -#define PCI_DEVICE_ID_SI_620 599,22655 -#define PCI_DEVICE_ID_SI_630 600,22692 -#define PCI_DEVICE_ID_SI_633 601,22729 -#define PCI_DEVICE_ID_SI_635 602,22766 -#define PCI_DEVICE_ID_SI_640 603,22803 -#define PCI_DEVICE_ID_SI_645 604,22840 -#define PCI_DEVICE_ID_SI_646 605,22877 -#define PCI_DEVICE_ID_SI_648 606,22914 -#define PCI_DEVICE_ID_SI_650 607,22951 -#define PCI_DEVICE_ID_SI_651 608,22988 -#define PCI_DEVICE_ID_SI_652 609,23025 -#define PCI_DEVICE_ID_SI_655 610,23062 -#define PCI_DEVICE_ID_SI_661 611,23099 -#define PCI_DEVICE_ID_SI_730 612,23136 -#define PCI_DEVICE_ID_SI_733 613,23173 -#define PCI_DEVICE_ID_SI_630_VGA 614,23210 -#define PCI_DEVICE_ID_SI_730_VGA 615,23250 -#define PCI_DEVICE_ID_SI_735 616,23290 -#define PCI_DEVICE_ID_SI_740 617,23327 -#define PCI_DEVICE_ID_SI_741 618,23364 -#define PCI_DEVICE_ID_SI_745 619,23401 -#define PCI_DEVICE_ID_SI_746 620,23438 -#define PCI_DEVICE_ID_SI_748 621,23475 -#define PCI_DEVICE_ID_SI_750 622,23512 -#define PCI_DEVICE_ID_SI_751 623,23549 -#define PCI_DEVICE_ID_SI_752 624,23586 -#define PCI_DEVICE_ID_SI_755 625,23623 -#define PCI_DEVICE_ID_SI_760 626,23660 -#define PCI_DEVICE_ID_SI_900 627,23697 -#define PCI_DEVICE_ID_SI_961 628,23734 -#define PCI_DEVICE_ID_SI_962 629,23771 -#define PCI_DEVICE_ID_SI_963 630,23808 -#define PCI_DEVICE_ID_SI_5107 631,23845 -#define PCI_DEVICE_ID_SI_5300 632,23883 -#define PCI_DEVICE_ID_SI_5511 633,23921 -#define PCI_DEVICE_ID_SI_5513 634,23959 -#define PCI_DEVICE_ID_SI_5518 635,23997 -#define PCI_DEVICE_ID_SI_5571 636,24035 -#define PCI_DEVICE_ID_SI_5581 637,24073 -#define PCI_DEVICE_ID_SI_5582 638,24111 -#define PCI_DEVICE_ID_SI_5591 639,24149 -#define PCI_DEVICE_ID_SI_5596 640,24187 -#define PCI_DEVICE_ID_SI_5597 641,24225 -#define PCI_DEVICE_ID_SI_5598 642,24263 -#define PCI_DEVICE_ID_SI_5600 643,24301 -#define PCI_DEVICE_ID_SI_6300 644,24339 -#define PCI_DEVICE_ID_SI_6306 645,24377 -#define PCI_DEVICE_ID_SI_6326 646,24415 -#define PCI_DEVICE_ID_SI_7001 647,24453 -#define PCI_DEVICE_ID_SI_7012 648,24491 -#define PCI_DEVICE_ID_SI_7016 649,24529 -#define PCI_VENDOR_ID_HP 651,24568 -#define PCI_DEVICE_ID_HP_VISUALIZE_EG 652,24601 -#define PCI_DEVICE_ID_HP_VISUALIZE_FX6 653,24646 -#define PCI_DEVICE_ID_HP_VISUALIZE_FX4 654,24692 -#define PCI_DEVICE_ID_HP_VISUALIZE_FX2 655,24738 -#define PCI_DEVICE_ID_HP_TACHYON 656,24784 -#define PCI_DEVICE_ID_HP_TACHLITE 657,24824 -#define PCI_DEVICE_ID_HP_J2585A 658,24865 -#define PCI_DEVICE_ID_HP_J2585B 659,24905 -#define PCI_DEVICE_ID_HP_J2973A 660,24945 -#define PCI_DEVICE_ID_HP_J2970A 661,24985 -#define PCI_DEVICE_ID_HP_DIVA 662,25025 -#define PCI_DEVICE_ID_HP_DIVA_TOSCA1 663,25063 -#define PCI_DEVICE_ID_HP_DIVA_TOSCA2 664,25107 -#define PCI_DEVICE_ID_HP_DIVA_MAESTRO 665,25151 -#define PCI_DEVICE_ID_HP_PCI_LBA 666,25196 -#define PCI_DEVICE_ID_HP_REO_SBA 667,25236 -#define PCI_DEVICE_ID_HP_REO_IOC 668,25276 -#define PCI_DEVICE_ID_HP_VISUALIZE_FXE 669,25316 -#define PCI_DEVICE_ID_HP_DIVA_HALFDOME 670,25362 -#define PCI_DEVICE_ID_HP_DIVA_KEYSTONE 671,25408 -#define PCI_DEVICE_ID_HP_DIVA_POWERBAR 672,25454 -#define PCI_DEVICE_ID_HP_ZX1_SBA 673,25500 -#define PCI_DEVICE_ID_HP_ZX1_IOC 674,25540 -#define PCI_DEVICE_ID_HP_PCIX_LBA 675,25580 -#define PCI_DEVICE_ID_HP_SX1000_IOC 676,25621 -#define PCI_DEVICE_ID_HP_DIVA_EVEREST 677,25664 -#define PCI_DEVICE_ID_HP_DIVA_AUX 678,25709 -#define PCI_DEVICE_ID_HP_CISS 679,25750 -#define PCI_DEVICE_ID_HP_CISSA 680,25788 -#define PCI_VENDOR_ID_PCTECH 682,25828 -#define PCI_DEVICE_ID_PCTECH_RZ1000 683,25865 -#define PCI_DEVICE_ID_PCTECH_RZ1001 684,25908 -#define PCI_DEVICE_ID_PCTECH_SAMURAI_0 685,25951 -#define PCI_DEVICE_ID_PCTECH_SAMURAI_1 686,25997 -#define PCI_DEVICE_ID_PCTECH_SAMURAI_IDE 687,26043 -#define PCI_VENDOR_ID_ASUSTEK 689,26092 -#define PCI_DEVICE_ID_ASUSTEK_0675 690,26130 -#define PCI_VENDOR_ID_DPT 692,26173 -#define PCI_DEVICE_ID_DPT 693,26207 -#define PCI_VENDOR_ID_OPTI 695,26242 -#define PCI_DEVICE_ID_OPTI_92C178 696,26277 -#define PCI_DEVICE_ID_OPTI_82C557 697,26318 -#define PCI_DEVICE_ID_OPTI_82C558 698,26359 -#define PCI_DEVICE_ID_OPTI_82C621 699,26400 -#define PCI_DEVICE_ID_OPTI_82C700 700,26441 -#define PCI_DEVICE_ID_OPTI_82C701 701,26482 -#define PCI_DEVICE_ID_OPTI_82C814 702,26523 -#define PCI_DEVICE_ID_OPTI_82C822 703,26564 -#define PCI_DEVICE_ID_OPTI_82C861 704,26605 -#define PCI_DEVICE_ID_OPTI_82C825 705,26646 -#define PCI_VENDOR_ID_ELSA 707,26688 -#define PCI_DEVICE_ID_ELSA_MICROLINK 708,26723 -#define PCI_DEVICE_ID_ELSA_QS3000 709,26767 -#define PCI_VENDOR_ID_SGS 711,26809 -#define PCI_DEVICE_ID_SGS_2000 712,26843 -#define PCI_DEVICE_ID_SGS_1764 713,26882 -#define PCI_VENDOR_ID_BUSLOGIC 715,26922 -#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC 716,26967 -#define PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER 717,27020 -#define PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT 718,27073 -#define PCI_VENDOR_ID_TI 720,27127 -#define PCI_DEVICE_ID_TI_TVP4010 721,27160 -#define PCI_DEVICE_ID_TI_TVP4020 722,27200 -#define PCI_DEVICE_ID_TI_4450 723,27240 -#define PCI_DEVICE_ID_TI_1130 724,27278 -#define PCI_DEVICE_ID_TI_1031 725,27316 -#define PCI_DEVICE_ID_TI_1131 726,27354 -#define PCI_DEVICE_ID_TI_1250 727,27392 -#define PCI_DEVICE_ID_TI_1220 728,27430 -#define PCI_DEVICE_ID_TI_1221 729,27468 -#define PCI_DEVICE_ID_TI_1210 730,27506 -#define PCI_DEVICE_ID_TI_1450 731,27544 -#define PCI_DEVICE_ID_TI_1225 732,27582 -#define PCI_DEVICE_ID_TI_1251A 733,27620 -#define PCI_DEVICE_ID_TI_1211 734,27659 -#define PCI_DEVICE_ID_TI_1251B 735,27697 -#define PCI_DEVICE_ID_TI_4410 736,27736 -#define PCI_DEVICE_ID_TI_4451 737,27774 -#define PCI_DEVICE_ID_TI_4520 738,27812 -#define PCI_DEVICE_ID_TI_1410 739,27850 -#define PCI_DEVICE_ID_TI_1420 740,27888 -#define PCI_DEVICE_ID_TI_1451A 741,27926 -#define PCI_DEVICE_ID_TI_1620 742,27965 -#define PCI_DEVICE_ID_TI_1520 743,28003 -#define PCI_DEVICE_ID_TI_1510 744,28041 -#define PCI_VENDOR_ID_SONY 746,28080 -#define PCI_DEVICE_ID_SONY_CXD3222 747,28115 -#define PCI_VENDOR_ID_OAK 749,28158 -#define PCI_DEVICE_ID_OAK_OTI107 750,28192 -#define PCI_VENDOR_ID_WINBOND2 753,28287 -#define PCI_DEVICE_ID_WINBOND2_89C940 754,28326 -#define PCI_DEVICE_ID_WINBOND2_89C940F 755,28371 -#define PCI_DEVICE_ID_WINBOND2_6692 756,28417 -#define PCI_VENDOR_ID_ANIGMA 758,28461 -#define PCI_DEVICE_ID_ANIGMA_MC145575 759,28498 -#define PCI_VENDOR_ID_EFAR 761,28546 -#define PCI_DEVICE_ID_EFAR_SLC90E66_1 762,28581 -#define PCI_DEVICE_ID_EFAR_SLC90E66_0 763,28626 -#define PCI_DEVICE_ID_EFAR_SLC90E66_2 764,28671 -#define PCI_DEVICE_ID_EFAR_SLC90E66_3 765,28716 -#define PCI_VENDOR_ID_MOTOROLA 767,28762 -#define PCI_VENDOR_ID_MOTOROLA_OOPS 768,28801 -#define PCI_DEVICE_ID_MOTOROLA_MPC105 769,28844 -#define PCI_DEVICE_ID_MOTOROLA_MPC106 770,28889 -#define PCI_DEVICE_ID_MOTOROLA_MPC107 771,28934 -#define PCI_DEVICE_ID_MOTOROLA_RAVEN 772,28979 -#define PCI_DEVICE_ID_MOTOROLA_FALCON 773,29023 -#define PCI_DEVICE_ID_MOTOROLA_HAWK 774,29068 -#define PCI_DEVICE_ID_MOTOROLA_CPX8216 775,29111 -#define PCI_DEVICE_ID_MOTOROLA_HARRIER 776,29157 -#define PCI_VENDOR_ID_PROMISE 778,29204 -#define PCI_DEVICE_ID_PROMISE_20265 779,29242 -#define PCI_DEVICE_ID_PROMISE_20267 780,29285 -#define PCI_DEVICE_ID_PROMISE_20246 781,29328 -#define PCI_DEVICE_ID_PROMISE_20262 782,29371 -#define PCI_DEVICE_ID_PROMISE_20263 783,29414 -#define PCI_DEVICE_ID_PROMISE_20268 784,29457 -#define PCI_DEVICE_ID_PROMISE_20268R 785,29500 -#define PCI_DEVICE_ID_PROMISE_20269 786,29544 -#define PCI_DEVICE_ID_PROMISE_20270 787,29587 -#define PCI_DEVICE_ID_PROMISE_20271 788,29630 -#define PCI_DEVICE_ID_PROMISE_20275 789,29673 -#define PCI_DEVICE_ID_PROMISE_20276 790,29716 -#define PCI_DEVICE_ID_PROMISE_20277 791,29759 -#define PCI_DEVICE_ID_PROMISE_5300 792,29802 -#define PCI_VENDOR_ID_N9 794,29845 -#define PCI_DEVICE_ID_N9_I128 795,29878 -#define PCI_DEVICE_ID_N9_I128_2 796,29916 -#define PCI_DEVICE_ID_N9_I128_T2R 797,29956 -#define PCI_VENDOR_ID_UMC 799,29998 -#define PCI_DEVICE_ID_UMC_UM8673F 800,30032 -#define PCI_DEVICE_ID_UMC_UM8891A 801,30073 -#define PCI_DEVICE_ID_UMC_UM8886BF 802,30114 -#define PCI_DEVICE_ID_UMC_UM8886A 803,30156 -#define PCI_DEVICE_ID_UMC_UM8881F 804,30197 -#define PCI_DEVICE_ID_UMC_UM8886F 805,30238 -#define PCI_DEVICE_ID_UMC_UM9017F 806,30279 -#define PCI_DEVICE_ID_UMC_UM8886N 807,30320 -#define PCI_DEVICE_ID_UMC_UM8891N 808,30361 -#define PCI_VENDOR_ID_X 810,30403 -#define PCI_DEVICE_ID_X_AGX016 811,30436 -#define PCI_VENDOR_ID_MYLEX 813,30476 -#define PCI_DEVICE_ID_MYLEX_DAC960_P 814,30512 -#define PCI_DEVICE_ID_MYLEX_DAC960_PD 815,30556 -#define PCI_DEVICE_ID_MYLEX_DAC960_PG 816,30601 -#define PCI_DEVICE_ID_MYLEX_DAC960_LA 817,30646 -#define PCI_DEVICE_ID_MYLEX_DAC960_LP 818,30691 -#define PCI_DEVICE_ID_MYLEX_DAC960_BA 819,30736 -#define PCI_VENDOR_ID_PICOP 821,30782 -#define PCI_DEVICE_ID_PICOP_PT86C52X 822,30818 -#define PCI_DEVICE_ID_PICOP_PT80C524 823,30862 -#define PCI_VENDOR_ID_APPLE 825,30907 -#define PCI_DEVICE_ID_APPLE_BANDIT 826,30943 -#define PCI_DEVICE_ID_APPLE_GC 827,30985 -#define PCI_DEVICE_ID_APPLE_HYDRA 828,31024 -#define PCI_DEVICE_ID_APPLE_UNI_N_FW 829,31065 -#define PCI_DEVICE_ID_APPLE_KL_USB 830,31109 -#define PCI_DEVICE_ID_APPLE_UNI_N_AGP 831,31151 -#define PCI_DEVICE_ID_APPLE_UNI_N_GMAC 832,31196 -#define PCI_DEVICE_ID_APPLE_KEYLARGO 833,31242 -#define PCI_DEVICE_ID_APPLE_UNI_N_GMACP 834,31286 -#define PCI_DEVICE_ID_APPLE_KEYLARGO_P 835,31333 -#define PCI_DEVICE_ID_APPLE_KL_USB_P 836,31379 -#define PCI_DEVICE_ID_APPLE_UNI_N_AGP_P 837,31423 -#define PCI_DEVICE_ID_APPLE_UNI_N_AGP15 838,31470 -#define PCI_DEVICE_ID_APPLE_UNI_N_FW2 839,31517 -#define PCI_DEVICE_ID_APPLE_UNI_N_GMAC2 840,31562 -#define PCI_DEVIEC_ID_APPLE_UNI_N_ATA 841,31609 -#define PCI_DEVICE_ID_APPLE_UNI_N_AGP2 842,31654 -#define PCI_DEVICE_ID_APPLE_IPID_ATA100 843,31700 -#define PCI_DEVICE_ID_APPLE_KEYLARGO_I 844,31747 -#define PCI_DEVICE_ID_APPLE_K2_ATA100 845,31793 -#define PCI_DEVICE_ID_APPLE_K2_GMAC 846,31838 -#define PCI_DEVICE_ID_APPLE_TIGON3 847,31881 -#define PCI_VENDOR_ID_YAMAHA 849,31924 -#define PCI_DEVICE_ID_YAMAHA_724 850,31961 -#define PCI_DEVICE_ID_YAMAHA_724F 851,32001 -#define PCI_DEVICE_ID_YAMAHA_740 852,32042 -#define PCI_DEVICE_ID_YAMAHA_740C 853,32082 -#define PCI_DEVICE_ID_YAMAHA_744 854,32123 -#define PCI_DEVICE_ID_YAMAHA_754 855,32163 -#define PCI_VENDOR_ID_NEXGEN 857,32204 -#define PCI_DEVICE_ID_NEXGEN_82C501 858,32241 -#define PCI_VENDOR_ID_QLOGIC 860,32285 -#define PCI_DEVICE_ID_QLOGIC_ISP1020 861,32322 -#define PCI_DEVICE_ID_QLOGIC_ISP1022 862,32366 -#define PCI_DEVICE_ID_QLOGIC_ISP2100 863,32410 -#define PCI_DEVICE_ID_QLOGIC_ISP2200 864,32454 -#define PCI_VENDOR_ID_CYRIX 866,32499 -#define PCI_DEVICE_ID_CYRIX_5510 867,32535 -#define PCI_DEVICE_ID_CYRIX_PCI_MASTER 868,32575 -#define PCI_DEVICE_ID_CYRIX_5520 869,32621 -#define PCI_DEVICE_ID_CYRIX_5530_LEGACY 870,32661 -#define PCI_DEVICE_ID_CYRIX_5530_SMI 871,32708 -#define PCI_DEVICE_ID_CYRIX_5530_IDE 872,32752 -#define PCI_DEVICE_ID_CYRIX_5530_AUDIO 873,32796 -#define PCI_DEVICE_ID_CYRIX_5530_VIDEO 874,32842 -#define PCI_VENDOR_ID_LEADTEK 876,32889 -#define PCI_DEVICE_ID_LEADTEK_805 877,32927 -#define PCI_VENDOR_ID_INTERPHASE 879,32969 -#define PCI_DEVICE_ID_INTERPHASE_5526 880,33009 -#define PCI_DEVICE_ID_INTERPHASE_55x6 881,33054 -#define PCI_DEVICE_ID_INTERPHASE_5575 882,33099 -#define PCI_VENDOR_ID_CONTAQ 884,33145 -#define PCI_DEVICE_ID_CONTAQ_82C599 885,33182 -#define PCI_DEVICE_ID_CONTAQ_82C693 886,33225 -#define PCI_VENDOR_ID_FOREX 888,33269 -#define PCI_VENDOR_ID_OLICOM 890,33306 -#define PCI_DEVICE_ID_OLICOM_OC3136 891,33343 -#define PCI_DEVICE_ID_OLICOM_OC2315 892,33386 -#define PCI_DEVICE_ID_OLICOM_OC2325 893,33429 -#define PCI_DEVICE_ID_OLICOM_OC2183 894,33472 -#define PCI_DEVICE_ID_OLICOM_OC2326 895,33515 -#define PCI_DEVICE_ID_OLICOM_OC6151 896,33558 -#define PCI_VENDOR_ID_SUN 898,33602 -#define PCI_DEVICE_ID_SUN_EBUS 899,33636 -#define PCI_DEVICE_ID_SUN_HAPPYMEAL 900,33675 -#define PCI_DEVICE_ID_SUN_RIO_EBUS 901,33718 -#define PCI_DEVICE_ID_SUN_RIO_GEM 902,33760 -#define PCI_DEVICE_ID_SUN_RIO_1394 903,33801 -#define PCI_DEVICE_ID_SUN_RIO_USB 904,33843 -#define PCI_DEVICE_ID_SUN_GEM 905,33884 -#define PCI_DEVICE_ID_SUN_SIMBA 906,33922 -#define PCI_DEVICE_ID_SUN_PBM 907,33962 -#define PCI_DEVICE_ID_SUN_SCHIZO 908,34000 -#define PCI_DEVICE_ID_SUN_SABRE 909,34040 -#define PCI_DEVICE_ID_SUN_HUMMINGBIRD 910,34080 -#define PCI_DEVICE_ID_SUN_TOMATILLO 911,34125 -#define PCI_VENDOR_ID_CMD 913,34169 -#define PCI_DEVICE_ID_CMD_640 914,34203 -#define PCI_DEVICE_ID_CMD_643 915,34241 -#define PCI_DEVICE_ID_CMD_646 916,34279 -#define PCI_DEVICE_ID_CMD_647 917,34317 -#define PCI_DEVICE_ID_CMD_648 918,34355 -#define PCI_DEVICE_ID_CMD_649 919,34393 -#define PCI_DEVICE_ID_CMD_670 920,34431 -#define PCI_DEVICE_ID_CMD_680 921,34469 -#define PCI_DEVICE_ID_SII_680 923,34508 -#define PCI_DEVICE_ID_SII_3112 924,34546 -#define PCI_DEVICE_ID_SII_1210SA 925,34585 -#define PCI_VENDOR_ID_VISION 927,34626 -#define PCI_DEVICE_ID_VISION_QD8500 928,34663 -#define PCI_DEVICE_ID_VISION_QD8580 929,34706 -#define PCI_VENDOR_ID_BROOKTREE 931,34750 -#define PCI_DEVICE_ID_BROOKTREE_848 932,34790 -#define PCI_DEVICE_ID_BROOKTREE_849A 933,34833 -#define PCI_DEVICE_ID_BROOKTREE_878_1 934,34877 -#define PCI_DEVICE_ID_BROOKTREE_878 935,34922 -#define PCI_DEVICE_ID_BROOKTREE_8474 936,34965 -#define PCI_VENDOR_ID_SIERRA 938,35010 -#define PCI_DEVICE_ID_SIERRA_STB 939,35047 -#define PCI_VENDOR_ID_SGI 941,35088 -#define PCI_DEVICE_ID_SGI_IOC3 942,35122 -#define PCI_DEVICE_ID_SGI_IOC4 943,35161 -#define PCI_VENDOR_ID_SGI_LITHIUM 944,35200 -#define PCI_VENDOR_ID_ACC 946,35242 -#define PCI_DEVICE_ID_ACC_2056 947,35276 -#define PCI_VENDOR_ID_WINBOND 949,35316 -#define PCI_DEVICE_ID_WINBOND_83769 950,35354 -#define PCI_DEVICE_ID_WINBOND_82C105 951,35397 -#define PCI_DEVICE_ID_WINBOND_83C553 952,35441 -#define PCI_VENDOR_ID_DATABOOK 954,35486 -#define PCI_DEVICE_ID_DATABOOK_87144 955,35525 -#define PCI_VENDOR_ID_PLX 957,35570 -#define PCI_DEVICE_ID_PLX_R685 958,35604 -#define PCI_DEVICE_ID_PLX_ROMULUS 959,35643 -#define PCI_DEVICE_ID_PLX_SPCOM800 960,35684 -#define PCI_DEVICE_ID_PLX_1077 961,35726 -#define PCI_DEVICE_ID_PLX_SPCOM200 962,35765 -#define PCI_DEVICE_ID_PLX_DJINN_ITOO 963,35807 -#define PCI_DEVICE_ID_PLX_R753 964,35851 -#define PCI_DEVICE_ID_PLX_9030 965,35890 -#define PCI_DEVICE_ID_PLX_9050 966,35929 -#define PCI_DEVICE_ID_PLX_9060 967,35968 -#define PCI_DEVICE_ID_PLX_9060ES 968,36007 -#define PCI_DEVICE_ID_PLX_9060SD 969,36047 -#define PCI_DEVICE_ID_PLX_9080 970,36087 -#define PCI_DEVICE_ID_PLX_GTEK_SERIAL2 971,36126 -#define PCI_VENDOR_ID_MADGE 973,36173 -#define PCI_DEVICE_ID_MADGE_MK2 974,36209 -#define PCI_DEVICE_ID_MADGE_C155S 975,36249 -#define PCI_VENDOR_ID_3COM 977,36291 -#define PCI_DEVICE_ID_3COM_3C985 978,36326 -#define PCI_DEVICE_ID_3COM_3C940 979,36366 -#define PCI_DEVICE_ID_3COM_3C339 980,36406 -#define PCI_DEVICE_ID_3COM_3C359 981,36446 -#define PCI_DEVICE_ID_3COM_3C590 982,36486 -#define PCI_DEVICE_ID_3COM_3C595TX 983,36526 -#define PCI_DEVICE_ID_3COM_3C595T4 984,36568 -#define PCI_DEVICE_ID_3COM_3C595MII 985,36610 -#define PCI_DEVICE_ID_3COM_3C940B 986,36653 -#define PCI_DEVICE_ID_3COM_3C900TPO 987,36694 -#define PCI_DEVICE_ID_3COM_3C900COMBO 988,36737 -#define PCI_DEVICE_ID_3COM_3C905TX 989,36782 -#define PCI_DEVICE_ID_3COM_3C905T4 990,36824 -#define PCI_DEVICE_ID_3COM_3C905B_TX 991,36866 -#define PCI_DEVICE_ID_3COM_3CR990 992,36910 -#define PCI_DEVICE_ID_3COM_3CR990_TX_95 993,36951 -#define PCI_DEVICE_ID_3COM_3CR990_TX_97 994,36998 -#define PCI_DEVICE_ID_3COM_3CR990B 995,37045 -#define PCI_DEVICE_ID_3COM_3CR990_FX 996,37087 -#define PCI_DEVICE_ID_3COM_3CR990SVR95 997,37131 -#define PCI_DEVICE_ID_3COM_3CR990SVR97 998,37177 -#define PCI_DEVICE_ID_3COM_3CR990SVR 999,37223 -#define PCI_VENDOR_ID_SMC 1001,37268 -#define PCI_DEVICE_ID_SMC_EPIC100 1002,37302 -#define PCI_VENDOR_ID_AL 1004,37344 -#define PCI_DEVICE_ID_AL_M1445 1005,37377 -#define PCI_DEVICE_ID_AL_M1449 1006,37416 -#define PCI_DEVICE_ID_AL_M1451 1007,37455 -#define PCI_DEVICE_ID_AL_M1461 1008,37494 -#define PCI_DEVICE_ID_AL_M1489 1009,37533 -#define PCI_DEVICE_ID_AL_M1511 1010,37572 -#define PCI_DEVICE_ID_AL_M1513 1011,37611 -#define PCI_DEVICE_ID_AL_M1521 1012,37650 -#define PCI_DEVICE_ID_AL_M1523 1013,37689 -#define PCI_DEVICE_ID_AL_M1531 1014,37728 -#define PCI_DEVICE_ID_AL_M1533 1015,37767 -#define PCI_DEVICE_ID_AL_M1541 1016,37806 -#define PCI_DEVICE_ID_AL_M1563 1017,37845 -#define PCI_DEVICE_ID_AL_M1621 1018,37884 -#define PCI_DEVICE_ID_AL_M1631 1019,37923 -#define PCI_DEVICE_ID_AL_M1632 1020,37962 -#define PCI_DEVICE_ID_AL_M1641 1021,38001 -#define PCI_DEVICE_ID_AL_M1644 1022,38040 -#define PCI_DEVICE_ID_AL_M1647 1023,38079 -#define PCI_DEVICE_ID_AL_M1651 1024,38118 -#define PCI_DEVICE_ID_AL_M1671 1025,38157 -#define PCI_DEVICE_ID_AL_M1681 1026,38196 -#define PCI_DEVICE_ID_AL_M1683 1027,38235 -#define PCI_DEVICE_ID_AL_M1689 1028,38275 -#define PCI_DEVICE_ID_AL_M1543 1029,38315 -#define PCI_DEVICE_ID_AL_M3307 1030,38354 -#define PCI_DEVICE_ID_AL_M4803 1031,38393 -#define PCI_DEVICE_ID_AL_M5219 1032,38432 -#define PCI_DEVICE_ID_AL_M5228 1033,38471 -#define PCI_DEVICE_ID_AL_M5229 1034,38510 -#define PCI_DEVICE_ID_AL_M5237 1035,38549 -#define PCI_DEVICE_ID_AL_M5243 1036,38588 -#define PCI_DEVICE_ID_AL_M5451 1037,38627 -#define PCI_DEVICE_ID_AL_M7101 1038,38666 -#define PCI_VENDOR_ID_MITSUBISHI 1040,38706 -#define PCI_VENDOR_ID_SURECOM 1042,38747 -#define PCI_DEVICE_ID_SURECOM_NE34 1043,38785 -#define PCI_VENDOR_ID_NEOMAGIC 1045,38828 -#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2070 1046,38867 -#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128V 1047,38923 -#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZV 1048,38977 -#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_NM2160 1049,39032 -#define PCI_DEVICE_ID_NEOMAGIC_MAGICMEDIA_256AV 1050,39088 -#define PCI_DEVICE_ID_NEOMAGIC_MAGICGRAPH_128ZVPLUS 1051,39149 -#define PCI_VENDOR_ID_ASP 1053,39211 -#define PCI_DEVICE_ID_ASP_ABP940 1054,39245 -#define PCI_DEVICE_ID_ASP_ABP940U 1055,39285 -#define PCI_DEVICE_ID_ASP_ABP940UW 1056,39326 -#define PCI_VENDOR_ID_MACRONIX 1058,39369 -#define PCI_DEVICE_ID_MACRONIX_MX98713 1059,39408 -#define PCI_DEVICE_ID_MACRONIX_MX987x5 1060,39454 -#define PCI_VENDOR_ID_TCONRAD 1062,39501 -#define PCI_DEVICE_ID_TCONRAD_TOKENRING 1063,39539 -#define PCI_VENDOR_ID_CERN 1065,39587 -#define PCI_DEVICE_ID_CERN_SPSB_PMC 1066,39622 -#define PCI_DEVICE_ID_CERN_SPSB_PCI 1067,39665 -#define PCI_DEVICE_ID_CERN_HIPPI_DST 1068,39708 -#define PCI_DEVICE_ID_CERN_HIPPI_SRC 1069,39752 -#define PCI_VENDOR_ID_NVIDIA 1071,39797 -#define PCI_DEVICE_ID_NVIDIA_TNT 1072,39835 -#define PCI_DEVICE_ID_NVIDIA_TNT2 1073,39876 -#define PCI_DEVICE_ID_NVIDIA_UTNT2 1074,39918 -#define PCI_DEVICE_ID_NVIDIA_VTNT2 1075,39961 -#define PCI_DEVICE_ID_NVIDIA_UVTNT2 1076,40004 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE 1077,40048 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA 1078,40101 -#define PCI_DEVICE_ID_NVIDIA_NVENET_10 1079,40155 -#define PCI_DEVICE_ID_NVIDIA_NVENET_11 1080,40202 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_SATA2 1081,40249 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE 1082,40304 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA 1083,40357 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2 1084,40411 -#define PCI_DEVICE_ID_NVIDIA_NVENET_8 1085,40466 -#define PCI_DEVICE_ID_NVIDIA_NVENET_9 1086,40512 -#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 1087,40558 -#define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 1088,40606 -#define PCI_DEVICE_ID_NVIDIA_NVENET_2 1089,40654 -#define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 1090,40700 -#define PCI_DEVICE_ID_NVIDIA_NFORCE2S_IDE 1091,40748 -#define PCI_DEVICE_ID_NVIDIA_NVENET_4 1092,40797 -#define PCI_DEVICE_ID_NVIDIA_NVENET_5 1093,40843 -#define PCI_DEVICE_ID_NVIDIA_NFORCE2S_SATA 1094,40889 -#define PCI_DEVICE_ID_NVIDIA_ITNT2 1095,40939 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3 1096,40982 -#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 1097,41027 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3S 1098,41075 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE 1099,41123 -#define PCI_DEVICE_ID_NVIDIA_NVENET_3 1100,41171 -#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 1101,41217 -#define PCI_DEVICE_ID_NVIDIA_NVENET_7 1102,41265 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3S 1103,41311 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA 1104,41357 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE 1105,41407 -#define PCI_DEVICE_ID_NVIDIA_NVENET_6 1106,41456 -#define PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2 1107,41502 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR 1108,41553 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR 1109,41601 -#define PCI_DEVICE_ID_NVIDIA_QUADRO 1110,41649 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX 1111,41693 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX2 1112,41741 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GO 1113,41790 -#define PCI_DEVICE_ID_NVIDIA_QUADRO2_MXR 1114,41838 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS 1115,41886 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2 1116,41935 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA 1117,41985 -#define PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO 1118,42036 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_460 1119,42084 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440 1120,42136 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420 1121,42188 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO 1122,42240 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO 1123,42292 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO_M32 1124,42344 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_500XGL 1125,42400 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO_M64 1126,42451 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_200 1127,42507 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_550XGL 1128,42555 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_500_GOGL 1129,42606 -#define PCI_DEVICE_ID_NVIDIA_IGEFORCE2 1130,42659 -#define PCI_DEVICE_ID_NVIDIA_NFORCE 1131,42706 -#define PCI_DEVICE_ID_NVIDIA_MCP1_AUDIO 1132,42750 -#define PCI_DEVICE_ID_NVIDIA_NFORCE_IDE 1133,42798 -#define PCI_DEVICE_ID_NVIDIA_NVENET_1 1134,42846 -#define PCI_DEVICE_ID_NVIDIA_NFORCE2 1135,42892 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE3 1136,42937 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_1 1137,42983 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE3_2 1138,43031 -#define PCI_DEVICE_ID_NVIDIA_QUADRO_DDC 1139,43079 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4600 1140,43127 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4400 1141,43180 -#define PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4200 1142,43233 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL 1143,43286 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL 1144,43337 -#define PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL 1145,43388 -#define PCI_VENDOR_ID_IMS 1147,43440 -#define PCI_DEVICE_ID_IMS_8849 1148,43474 -#define PCI_DEVICE_ID_IMS_TT128 1149,43513 -#define PCI_DEVICE_ID_IMS_TT3D 1150,43553 -#define PCI_VENDOR_ID_TEKRAM2 1152,43593 -#define PCI_DEVICE_ID_TEKRAM2_690c 1153,43631 -#define PCI_VENDOR_ID_TUNDRA 1155,43674 -#define PCI_DEVICE_ID_TUNDRA_CA91C042 1156,43711 -#define PCI_VENDOR_ID_AMCC 1158,43757 -#define PCI_DEVICE_ID_AMCC_MYRINET 1159,43792 -#define PCI_DEVICE_ID_AMCC_PARASTATION 1160,43834 -#define PCI_DEVICE_ID_AMCC_S5933 1161,43880 -#define PCI_DEVICE_ID_AMCC_S5933_HEPC3 1162,43920 -#define PCI_VENDOR_ID_INTERG 1164,43967 -#define PCI_DEVICE_ID_INTERG_1680 1165,44004 -#define PCI_DEVICE_ID_INTERG_1682 1166,44045 -#define PCI_DEVICE_ID_INTERG_2000 1167,44086 -#define PCI_DEVICE_ID_INTERG_2010 1168,44127 -#define PCI_DEVICE_ID_INTERG_5000 1169,44168 -#define PCI_DEVICE_ID_INTERG_5050 1170,44209 -#define PCI_VENDOR_ID_REALTEK 1172,44251 -#define PCI_DEVICE_ID_REALTEK_8029 1173,44289 -#define PCI_DEVICE_ID_REALTEK_8129 1174,44331 -#define PCI_DEVICE_ID_REALTEK_8139 1175,44373 -#define PCI_DEVICE_ID_REALTEK_8169 1176,44415 -#define PCI_VENDOR_ID_XILINX 1178,44458 -#define PCI_DEVICE_ID_TURBOPAM 1179,44495 -#define PCI_VENDOR_ID_TRUEVISION 1181,44535 -#define PCI_DEVICE_ID_TRUEVISION_T1000 1182,44575 -#define PCI_VENDOR_ID_INIT 1184,44622 -#define PCI_DEVICE_ID_INIT_320P 1185,44657 -#define PCI_DEVICE_ID_INIT_360P 1186,44697 -#define PCI_VENDOR_ID_CREATIVE 1188,44738 -#define PCI_DEVICE_ID_CREATIVE_EMU10K1 1189,44798 -#define PCI_VENDOR_ID_ECTIVA 1191,44845 -#define PCI_DEVICE_ID_ECTIVA_EV1938 1192,44905 -#define PCI_VENDOR_ID_TTI 1194,44949 -#define PCI_DEVICE_ID_TTI_HPT343 1195,44983 -#define PCI_DEVICE_ID_TTI_HPT366 1196,45023 -#define PCI_DEVICE_ID_TTI_HPT372 1197,45063 -#define PCI_DEVICE_ID_TTI_HPT302 1198,45103 -#define PCI_DEVICE_ID_TTI_HPT371 1199,45143 -#define PCI_DEVICE_ID_TTI_HPT374 1200,45183 -#define PCI_DEVICE_ID_TTI_HPT372N 1201,45223 -#define PCI_VENDOR_ID_VIA 1203,45295 -#define PCI_DEVICE_ID_VIA_8763_0 1204,45329 -#define PCI_DEVICE_ID_VIA_8380_0 1205,45369 -#define PCI_DEVICE_ID_VIA_3238_0 1206,45409 -#define PCI_DEVICE_ID_VIA_PT880 1207,45449 -#define PCI_DEVICE_ID_VIA_PX8X0_0 1208,45489 -#define PCI_DEVICE_ID_VIA_3269_0 1209,45530 -#define PCI_DEVICE_ID_VIA_K8T800PRO_0 1210,45570 -#define PCI_DEVICE_ID_VIA_8363_0 1211,45615 -#define PCI_DEVICE_ID_VIA_8371_0 1212,45655 -#define PCI_DEVICE_ID_VIA_8501_0 1213,45695 -#define PCI_DEVICE_ID_VIA_82C505 1214,45735 -#define PCI_DEVICE_ID_VIA_82C561 1215,45775 -#define PCI_DEVICE_ID_VIA_82C586_1 1216,45815 -#define PCI_DEVICE_ID_VIA_82C576 1217,45857 -#define PCI_DEVICE_ID_VIA_82C585 1218,45897 -#define PCI_DEVICE_ID_VIA_82C586_0 1219,45937 -#define PCI_DEVICE_ID_VIA_82C595 1220,45979 -#define PCI_DEVICE_ID_VIA_82C596 1221,46019 -#define PCI_DEVICE_ID_VIA_82C597_0 1222,46059 -#define PCI_DEVICE_ID_VIA_82C598_0 1223,46101 -#define PCI_DEVICE_ID_VIA_8601_0 1224,46143 -#define PCI_DEVICE_ID_VIA_8605_0 1225,46183 -#define PCI_DEVICE_ID_VIA_82C680 1226,46223 -#define PCI_DEVICE_ID_VIA_82C686 1227,46263 -#define PCI_DEVICE_ID_VIA_82C691_0 1228,46303 -#define PCI_DEVICE_ID_VIA_82C693 1229,46345 -#define PCI_DEVICE_ID_VIA_82C693_1 1230,46385 -#define PCI_DEVICE_ID_VIA_82C926 1231,46427 -#define PCI_DEVICE_ID_VIA_82C576_1 1232,46467 -#define PCI_DEVICE_ID_VIA_82C595_97 1233,46509 -#define PCI_DEVICE_ID_VIA_82C586_2 1234,46552 -#define PCI_DEVICE_ID_VIA_82C586_3 1235,46594 -#define PCI_DEVICE_ID_VIA_6305 1236,46636 -#define PCI_DEVICE_ID_VIA_82C596_3 1237,46675 -#define PCI_DEVICE_ID_VIA_82C596B_3 1238,46717 -#define PCI_DEVICE_ID_VIA_82C686_4 1239,46760 -#define PCI_DEVICE_ID_VIA_82C686_5 1240,46802 -#define PCI_DEVICE_ID_VIA_8233_5 1241,46844 -#define PCI_DEVICE_ID_VIA_8233_7 1242,46884 -#define PCI_DEVICE_ID_VIA_82C686_6 1243,46924 -#define PCI_DEVICE_ID_VIA_8233_0 1244,46966 -#define PCI_DEVICE_ID_VIA_8633_0 1245,47006 -#define PCI_DEVICE_ID_VIA_8367_0 1246,47046 -#define PCI_DEVICE_ID_VIA_8653_0 1247,47086 -#define PCI_DEVICE_ID_VIA_8622 1248,47126 -#define PCI_DEVICE_ID_VIA_8233C_0 1249,47165 -#define PCI_DEVICE_ID_VIA_8361 1250,47206 -#define PCI_DEVICE_ID_VIA_XM266 1251,47245 -#define PCI_DEVICE_ID_VIA_612X 1252,47285 -#define PCI_DEVICE_ID_VIA_862X_0 1253,47324 -#define PCI_DEVICE_ID_VIA_8753_0 1254,47364 -#define PCI_DEVICE_ID_VIA_8233A 1255,47404 -#define PCI_DEVICE_ID_VIA_8703_51_0 1256,47444 -#define PCI_DEVICE_ID_VIA_8237_SATA 1257,47487 -#define PCI_DEVICE_ID_VIA_XN266 1258,47530 -#define PCI_DEVICE_ID_VIA_8754C_0 1259,47570 -#define PCI_DEVICE_ID_VIA_8235 1260,47611 -#define PCI_DEVICE_ID_VIA_P4N333 1261,47650 -#define PCI_DEVICE_ID_VIA_8385_0 1262,47690 -#define PCI_DEVICE_ID_VIA_8377_0 1263,47730 -#define PCI_DEVICE_ID_VIA_8378_0 1264,47770 -#define PCI_DEVICE_ID_VIA_8783_0 1265,47810 -#define PCI_DEVICE_ID_VIA_P4M400 1266,47850 -#define PCI_DEVICE_ID_VIA_8237 1267,47890 -#define PCI_DEVICE_ID_VIA_3296_0 1268,47929 -#define PCI_DEVICE_ID_VIA_86C100A 1269,47969 -#define PCI_DEVICE_ID_VIA_8231 1270,48010 -#define PCI_DEVICE_ID_VIA_8231_4 1271,48049 -#define PCI_DEVICE_ID_VIA_8365_1 1272,48089 -#define PCI_DEVICE_ID_VIA_8371_1 1273,48129 -#define PCI_DEVICE_ID_VIA_8501_1 1274,48169 -#define PCI_DEVICE_ID_VIA_82C597_1 1275,48209 -#define PCI_DEVICE_ID_VIA_82C598_1 1276,48251 -#define PCI_DEVICE_ID_VIA_8601_1 1277,48293 -#define PCI_DEVICE_ID_VIA_8505_1 1278,48333 -#define PCI_DEVICE_ID_VIA_8633_1 1279,48373 -#define PCI_DEVICE_ID_VIA_8367_1 1280,48413 -#define PCI_DEVICE_ID_VIA_P4X266_1 1281,48453 -#define PCI_DEVICE_ID_VIA_8615_1 1282,48495 -#define PCI_DEVICE_ID_VIA_8361_1 1283,48535 -#define PCI_DEVICE_ID_VIA_8235_1 1284,48575 -#define PCI_DEVICE_ID_VIA_838X_1 1285,48615 -#define PCI_DEVICE_ID_VIA_83_87XX_1 1286,48655 -#define PCI_VENDOR_ID_SIEMENS 1288,48699 -#define PCI_DEVICE_ID_SIEMENS_DSCC4 1289,48746 -#define PCI_VENDOR_ID_SMC2 1291,48794 -#define PCI_DEVICE_ID_SMC2_1211TX 1292,48829 -#define PCI_VENDOR_ID_VORTEX 1294,48871 -#define PCI_DEVICE_ID_VORTEX_GDT60x0 1295,48908 -#define PCI_DEVICE_ID_VORTEX_GDT6000B 1296,48952 -#define PCI_DEVICE_ID_VORTEX_GDT6x10 1297,48997 -#define PCI_DEVICE_ID_VORTEX_GDT6x20 1298,49041 -#define PCI_DEVICE_ID_VORTEX_GDT6530 1299,49085 -#define PCI_DEVICE_ID_VORTEX_GDT6550 1300,49129 -#define PCI_DEVICE_ID_VORTEX_GDT6x17 1301,49173 -#define PCI_DEVICE_ID_VORTEX_GDT6x27 1302,49217 -#define PCI_DEVICE_ID_VORTEX_GDT6537 1303,49261 -#define PCI_DEVICE_ID_VORTEX_GDT6557 1304,49305 -#define PCI_DEVICE_ID_VORTEX_GDT6x15 1305,49349 -#define PCI_DEVICE_ID_VORTEX_GDT6x25 1306,49393 -#define PCI_DEVICE_ID_VORTEX_GDT6535 1307,49437 -#define PCI_DEVICE_ID_VORTEX_GDT6555 1308,49481 -#define PCI_DEVICE_ID_VORTEX_GDT6x17RP 1309,49525 -#define PCI_DEVICE_ID_VORTEX_GDT6x27RP 1310,49571 -#define PCI_DEVICE_ID_VORTEX_GDT6537RP 1311,49617 -#define PCI_DEVICE_ID_VORTEX_GDT6557RP 1312,49663 -#define PCI_DEVICE_ID_VORTEX_GDT6x11RP 1313,49709 -#define PCI_DEVICE_ID_VORTEX_GDT6x21RP 1314,49755 -#define PCI_DEVICE_ID_VORTEX_GDT6x17RP1 1315,49801 -#define PCI_DEVICE_ID_VORTEX_GDT6x27RP1 1316,49848 -#define PCI_DEVICE_ID_VORTEX_GDT6537RP1 1317,49895 -#define PCI_DEVICE_ID_VORTEX_GDT6557RP1 1318,49942 -#define PCI_DEVICE_ID_VORTEX_GDT6x11RP1 1319,49989 -#define PCI_DEVICE_ID_VORTEX_GDT6x21RP1 1320,50036 -#define PCI_DEVICE_ID_VORTEX_GDT6x17RP2 1321,50083 -#define PCI_DEVICE_ID_VORTEX_GDT6x27RP2 1322,50130 -#define PCI_DEVICE_ID_VORTEX_GDT6537RP2 1323,50177 -#define PCI_DEVICE_ID_VORTEX_GDT6557RP2 1324,50224 -#define PCI_DEVICE_ID_VORTEX_GDT6x11RP2 1325,50271 -#define PCI_DEVICE_ID_VORTEX_GDT6x21RP2 1326,50318 -#define PCI_VENDOR_ID_EF 1328,50366 -#define PCI_DEVICE_ID_EF_ATM_FPGA 1329,50399 -#define PCI_DEVICE_ID_EF_ATM_ASIC 1330,50440 -#define PCI_VENDOR_ID_EF_ATM_LANAI2 1331,50481 -#define PCI_VENDOR_ID_EF_ATM_LANAIHB 1332,50524 -#define PCI_VENDOR_ID_IDT 1334,50569 -#define PCI_DEVICE_ID_IDT_IDT77201 1335,50603 -#define PCI_VENDOR_ID_FORE 1337,50646 -#define PCI_DEVICE_ID_FORE_PCA200PC 1338,50681 -#define PCI_DEVICE_ID_FORE_PCA200E 1339,50724 -#define PCI_VENDOR_ID_IMAGINGTECH 1341,50767 -#define PCI_DEVICE_ID_IMAGINGTECH_ICPCI 1342,50808 -#define PCI_VENDOR_ID_PHILIPS 1344,50856 -#define PCI_DEVICE_ID_PHILIPS_SAA7145 1345,50894 -#define PCI_DEVICE_ID_PHILIPS_SAA7146 1346,50939 -#define PCI_DEVICE_ID_PHILIPS_SAA9730 1347,50984 -#define PCI_VENDOR_ID_EICON 1349,51030 -#define PCI_DEVICE_ID_EICON_DIVA20PRO 1350,51066 -#define PCI_DEVICE_ID_EICON_DIVA20 1351,51111 -#define PCI_DEVICE_ID_EICON_DIVA20PRO_U 1352,51153 -#define PCI_DEVICE_ID_EICON_DIVA20_U 1353,51200 -#define PCI_DEVICE_ID_EICON_DIVA201 1354,51244 -#define PCI_DEVICE_ID_EICON_DIVA202 1355,51287 -#define PCI_DEVICE_ID_EICON_MAESTRA 1356,51330 -#define PCI_DEVICE_ID_EICON_MAESTRAQ 1357,51373 -#define PCI_DEVICE_ID_EICON_MAESTRAQ_U 1358,51417 -#define PCI_DEVICE_ID_EICON_MAESTRAP 1359,51463 -#define PCI_VENDOR_ID_ZIATECH 1361,51508 -#define PCI_DEVICE_ID_ZIATECH_5550_HC 1362,51546 -#define PCI_VENDOR_ID_CYCLONE 1364,51593 -#define PCI_DEVICE_ID_CYCLONE_SDK 1365,51631 -#define PCI_VENDOR_ID_ALLIANCE 1367,51673 -#define PCI_DEVICE_ID_ALLIANCE_PROMOTIO 1368,51712 -#define PCI_DEVICE_ID_ALLIANCE_PROVIDEO 1369,51759 -#define PCI_DEVICE_ID_ALLIANCE_AT24 1370,51806 -#define PCI_DEVICE_ID_ALLIANCE_AT3D 1371,51849 -#define PCI_VENDOR_ID_SYSKONNECT 1373,51893 -#define PCI_DEVICE_ID_SYSKONNECT_FP 1374,51933 -#define PCI_DEVICE_ID_SYSKONNECT_TR 1375,51976 -#define PCI_DEVICE_ID_SYSKONNECT_GE 1376,52019 -#define PCI_DEVICE_ID_SYSKONNECT_YU 1377,52062 -#define PCI_DEVICE_ID_SYSKONNECT_9DXX 1378,52105 -#define PCI_DEVICE_ID_SYSKONNECT_9MXX 1379,52150 -#define PCI_VENDOR_ID_VMIC 1381,52196 -#define PCI_DEVICE_ID_VMIC_VME 1382,52231 -#define PCI_VENDOR_ID_DIGI 1384,52271 -#define PCI_DEVICE_ID_DIGI_EPC 1385,52306 -#define PCI_DEVICE_ID_DIGI_RIGHTSWITCH 1386,52345 -#define PCI_DEVICE_ID_DIGI_XEM 1387,52391 -#define PCI_DEVICE_ID_DIGI_XR 1388,52430 -#define PCI_DEVICE_ID_DIGI_CX 1389,52468 -#define PCI_DEVICE_ID_DIGI_XRJ 1390,52506 -#define PCI_DEVICE_ID_DIGI_EPCJ 1391,52545 -#define PCI_DEVICE_ID_DIGI_XR_920 1392,52585 -#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_E 1393,52626 -#define PCI_DEVICE_ID_DIGI_DF_M_E 1394,52672 -#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_A 1395,52713 -#define PCI_DEVICE_ID_DIGI_DF_M_A 1396,52759 -#define PCI_VENDOR_ID_MUTECH 1398,52801 -#define PCI_DEVICE_ID_MUTECH_MV1000 1399,52838 -#define PCI_VENDOR_ID_XIRCOM 1401,52882 -#define PCI_DEVICE_ID_XIRCOM_X3201_ETH 1402,52919 -#define PCI_DEVICE_ID_XIRCOM_RBM56G 1403,52965 -#define PCI_DEVICE_ID_XIRCOM_X3201_MDM 1404,53008 -#define PCI_VENDOR_ID_RENDITION 1406,53055 -#define PCI_DEVICE_ID_RENDITION_VERITE 1407,53095 -#define PCI_DEVICE_ID_RENDITION_VERITE2100 1408,53141 -#define PCI_VENDOR_ID_SERVERWORKS 1410,53192 -#define PCI_DEVICE_ID_SERVERWORKS_HE 1411,53235 -#define PCI_DEVICE_ID_SERVERWORKS_LE 1412,53281 -#define PCI_DEVICE_ID_SERVERWORKS_CIOB30 1413,53327 -#define PCI_DEVICE_ID_SERVERWORKS_CMIC_HE 1414,53376 -#define PCI_DEVICE_ID_SERVERWORKS_GCNB_LE 1415,53425 -#define PCI_DEVICE_ID_SERVERWORKS_OSB4 1416,53474 -#define PCI_DEVICE_ID_SERVERWORKS_CSB5 1417,53522 -#define PCI_DEVICE_ID_SERVERWORKS_CSB6 1418,53570 -#define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 1419,53619 -#define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 1420,53668 -#define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE 1421,53717 -#define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2 1422,53766 -#define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 1423,53816 -#define PCI_DEVICE_ID_SERVERWORKS_CSB5USB 1424,53865 -#define PCI_DEVICE_ID_SERVERWORKS_CSB6USB 1425,53941 -#define PCI_DEVICE_ID_SERVERWORKS_GCLE 1426,53990 -#define PCI_DEVICE_ID_SERVERWORKS_GCLE2 1427,54039 -#define PCI_DEVICE_ID_SERVERWORKS_CSB5ISA 1428,54088 -#define PCI_VENDOR_ID_SBE 1430,54138 -#define PCI_DEVICE_ID_SBE_WANXL100 1431,54172 -#define PCI_DEVICE_ID_SBE_WANXL200 1432,54214 -#define PCI_DEVICE_ID_SBE_WANXL400 1433,54256 -#define PCI_VENDOR_ID_TOSHIBA 1435,54299 -#define PCI_DEVICE_ID_TOSHIBA_PICCOLO 1436,54337 -#define PCI_DEVICE_ID_TOSHIBA_PICCOLO_1 1437,54382 -#define PCI_DEVICE_ID_TOSHIBA_PICCOLO_2 1438,54429 -#define PCI_DEVICE_ID_TOSHIBA_601 1439,54476 -#define PCI_DEVICE_ID_TOSHIBA_TOPIC95 1440,54517 -#define PCI_DEVICE_ID_TOSHIBA_TOPIC95_A 1441,54562 -#define PCI_DEVICE_ID_TOSHIBA_TOPIC95_B 1442,54609 -#define PCI_DEVICE_ID_TOSHIBA_TOPIC97 1443,54656 -#define PCI_DEVICE_ID_TOSHIBA_TOPIC100 1444,54701 -#define PCI_VENDOR_ID_TOSHIBA_2 1446,54748 -#define PCI_DEVICE_ID_TOSHIBA_TX3927 1447,54788 -#define PCI_DEVICE_ID_TOSHIBA_TC35815CF 1448,54832 -#define PCI_DEVICE_ID_TOSHIBA_TX4927 1449,54879 -#define PCI_VENDOR_ID_RICOH 1451,54924 -#define PCI_DEVICE_ID_RICOH_RL5C465 1452,54960 -#define PCI_DEVICE_ID_RICOH_RL5C466 1453,55003 -#define PCI_DEVICE_ID_RICOH_RL5C475 1454,55046 -#define PCI_DEVICE_ID_RICOH_RL5C476 1455,55089 -#define PCI_DEVICE_ID_RICOH_RL5C478 1456,55132 -#define PCI_VENDOR_ID_DLINK 1458,55176 -#define PCI_DEVICE_ID_DLINK_DGE510T 1459,55212 -#define PCI_VENDOR_ID_ARTOP 1461,55256 -#define PCI_DEVICE_ID_ARTOP_ATP8400 1462,55292 -#define PCI_DEVICE_ID_ARTOP_ATP850UF 1463,55335 -#define PCI_DEVICE_ID_ARTOP_ATP860 1464,55379 -#define PCI_DEVICE_ID_ARTOP_ATP860R 1465,55421 -#define PCI_DEVICE_ID_ARTOP_ATP865 1466,55464 -#define PCI_DEVICE_ID_ARTOP_ATP865R 1467,55506 -#define PCI_DEVICE_ID_ARTOP_AEC7610 1468,55549 -#define PCI_DEVICE_ID_ARTOP_AEC7612UW 1469,55592 -#define PCI_DEVICE_ID_ARTOP_AEC7612U 1470,55637 -#define PCI_DEVICE_ID_ARTOP_AEC7612S 1471,55681 -#define PCI_DEVICE_ID_ARTOP_AEC7612D 1472,55725 -#define PCI_DEVICE_ID_ARTOP_AEC7612SUW 1473,55769 -#define PCI_DEVICE_ID_ARTOP_8060 1474,55815 -#define PCI_VENDOR_ID_ZEITNET 1476,55856 -#define PCI_DEVICE_ID_ZEITNET_1221 1477,55894 -#define PCI_DEVICE_ID_ZEITNET_1225 1478,55936 -#define PCI_VENDOR_ID_OMEGA 1480,55979 -#define PCI_DEVICE_ID_OMEGA_82C092G 1481,56015 -#define PCI_VENDOR_ID_FUJITSU_ME 1483,56059 -#define PCI_DEVICE_ID_FUJITSU_FS155 1484,56099 -#define PCI_DEVICE_ID_FUJITSU_FS50 1485,56142 -#define PCI_SUBVENDOR_ID_KEYSPAN 1487,56185 -#define PCI_SUBDEVICE_ID_KEYSPAN_SX2 1488,56225 -#define PCI_VENDOR_ID_MARVELL 1490,56270 -#define PCI_DEVICE_ID_MARVELL_GT64011 1491,56308 -#define PCI_DEVICE_ID_MARVELL_GT64111 1492,56353 -#define PCI_DEVICE_ID_MARVELL_GT64260 1493,56398 -#define PCI_DEVICE_ID_MARVELL_MV64360 1494,56443 -#define PCI_DEVICE_ID_MARVELL_MV64460 1495,56488 -#define PCI_DEVICE_ID_MARVELL_GT96100 1496,56533 -#define PCI_DEVICE_ID_MARVELL_GT96100A 1497,56578 -#define PCI_VENDOR_ID_LITEON 1499,56625 -#define PCI_DEVICE_ID_LITEON_LNE100TX 1500,56662 -#define PCI_VENDOR_ID_V3 1502,56708 -#define PCI_DEVICE_ID_V3_V960 1503,56741 -#define PCI_DEVICE_ID_V3_V350 1504,56779 -#define PCI_DEVICE_ID_V3_V961 1505,56817 -#define PCI_DEVICE_ID_V3_V351 1506,56855 -#define PCI_VENDOR_ID_NP 1508,56894 -#define PCI_DEVICE_ID_NP_PCI_FDDI 1509,56927 -#define PCI_VENDOR_ID_ATT 1511,56969 -#define PCI_DEVICE_ID_ATT_L56XMF 1512,57003 -#define PCI_DEVICE_ID_ATT_VENUS_MODEM 1513,57043 -#define PCI_VENDOR_ID_NEC2 1515,57088 -#define PCI_VENDOR_ID_SPECIALIX 1517,57140 -#define PCI_DEVICE_ID_SPECIALIX_IO8 1518,57180 -#define PCI_DEVICE_ID_SPECIALIX_XIO 1519,57223 -#define PCI_DEVICE_ID_SPECIALIX_RIO 1520,57266 -#define PCI_SUBDEVICE_ID_SPECIALIX_SPEED4 1521,57309 -#define PCI_VENDOR_ID_AURAVISION 1523,57359 -#define PCI_DEVICE_ID_AURAVISION_VXP524 1524,57399 -#define PCI_VENDOR_ID_ANALOG_DEVICES 1526,57447 -#define PCI_DEVICE_ID_AD1889JS 1527,57491 -#define PCI_VENDOR_ID_IKON 1529,57531 -#define PCI_DEVICE_ID_IKON_10115 1530,57566 -#define PCI_DEVICE_ID_IKON_10117 1531,57606 -#define PCI_VENDOR_ID_SEGA 1533,57647 -#define PCI_DEVICE_ID_SEGA_BBA 1534,57682 -#define PCI_VENDOR_ID_ZORAN 1536,57722 -#define PCI_DEVICE_ID_ZORAN_36057 1537,57758 -#define PCI_DEVICE_ID_ZORAN_36120 1538,57799 -#define PCI_VENDOR_ID_KINETIC 1540,57841 -#define PCI_DEVICE_ID_KINETIC_2915 1541,57879 -#define PCI_VENDOR_ID_COMPEX 1543,57922 -#define PCI_DEVICE_ID_COMPEX_ENET100VG4 1544,57959 -#define PCI_DEVICE_ID_COMPEX_RL2000 1545,58006 -#define PCI_VENDOR_ID_RP 1547,58050 -#define PCI_DEVICE_ID_RP32INTF 1548,58083 -#define PCI_DEVICE_ID_RP8INTF 1549,58122 -#define PCI_DEVICE_ID_RP16INTF 1550,58160 -#define PCI_DEVICE_ID_RP4QUAD 1551,58199 -#define PCI_DEVICE_ID_RP8OCTA 1552,58237 -#define PCI_DEVICE_ID_RP8J 1553,58275 -#define PCI_DEVICE_ID_RP4J 1554,58310 -#define PCI_DEVICE_ID_RP8SNI 1555,58345 -#define PCI_DEVICE_ID_RP16SNI 1556,58383 -#define PCI_DEVICE_ID_RPP4 1557,58422 -#define PCI_DEVICE_ID_RPP8 1558,58457 -#define PCI_DEVICE_ID_RP8M 1559,58492 -#define PCI_DEVICE_ID_RP4M 1560,58527 -#define PCI_DEVICE_ID_RP2_232 1561,58562 -#define PCI_DEVICE_ID_RP2_422 1562,58600 -#define PCI_DEVICE_ID_URP32INTF 1563,58638 -#define PCI_DEVICE_ID_URP8INTF 1564,58678 -#define PCI_DEVICE_ID_URP16INTF 1565,58717 -#define PCI_DEVICE_ID_URP8OCTA 1566,58757 -#define PCI_DEVICE_ID_UPCI_RM3_8PORT 1567,58796 -#define PCI_DEVICE_ID_UPCI_RM3_4PORT 1568,58847 -#define PCI_DEVICE_ID_CRP16INTF 1569,58891 -#define PCI_VENDOR_ID_CYCLADES 1571,58939 -#define PCI_DEVICE_ID_CYCLOM_Y_Lo 1572,58978 -#define PCI_DEVICE_ID_CYCLOM_Y_Hi 1573,59019 -#define PCI_DEVICE_ID_CYCLOM_4Y_Lo 1574,59060 -#define PCI_DEVICE_ID_CYCLOM_4Y_Hi 1575,59102 -#define PCI_DEVICE_ID_CYCLOM_8Y_Lo 1576,59144 -#define PCI_DEVICE_ID_CYCLOM_8Y_Hi 1577,59186 -#define PCI_DEVICE_ID_CYCLOM_Z_Lo 1578,59228 -#define PCI_DEVICE_ID_CYCLOM_Z_Hi 1579,59269 -#define PCI_DEVICE_ID_PC300_RX_2 1580,59310 -#define PCI_DEVICE_ID_PC300_RX_1 1581,59350 -#define PCI_DEVICE_ID_PC300_TE_2 1582,59390 -#define PCI_DEVICE_ID_PC300_TE_1 1583,59430 -#define PCI_DEVICE_ID_PC300_TE_M_2 1584,59470 -#define PCI_DEVICE_ID_PC300_TE_M_1 1585,59512 -#define PCI_VENDOR_ID_ESSENTIAL 1587,59555 -#define PCI_DEVICE_ID_ESSENTIAL_ROADRUNNER 1588,59595 -#define PCI_VENDOR_ID_O2 1590,59646 -#define PCI_DEVICE_ID_O2_6729 1591,59679 -#define PCI_DEVICE_ID_O2_6730 1592,59717 -#define PCI_DEVICE_ID_O2_6832 1593,59755 -#define PCI_DEVICE_ID_O2_6836 1594,59793 -#define PCI_VENDOR_ID_3DFX 1596,59832 -#define PCI_DEVICE_ID_3DFX_VOODOO 1597,59867 -#define PCI_DEVICE_ID_3DFX_VOODOO2 1598,59908 -#define PCI_DEVICE_ID_3DFX_BANSHEE 1599,59950 -#define PCI_DEVICE_ID_3DFX_VOODOO3 1600,59992 -#define PCI_DEVICE_ID_3DFX_VOODOO5 1601,60034 -#define PCI_VENDOR_ID_SIGMADES 1603,60077 -#define PCI_DEVICE_ID_SIGMADES_6425 1604,60116 -#define PCI_VENDOR_ID_CCUBE 1606,60160 -#define PCI_VENDOR_ID_AVM 1608,60197 -#define PCI_DEVICE_ID_AVM_B1 1609,60231 -#define PCI_DEVICE_ID_AVM_C4 1610,60268 -#define PCI_DEVICE_ID_AVM_A1 1611,60305 -#define PCI_DEVICE_ID_AVM_A1_V2 1612,60342 -#define PCI_DEVICE_ID_AVM_C2 1613,60382 -#define PCI_DEVICE_ID_AVM_T1 1614,60419 -#define PCI_VENDOR_ID_DIPIX 1616,60457 -#define PCI_VENDOR_ID_STALLION 1618,60494 -#define PCI_DEVICE_ID_STALLION_ECHPCI832 1619,60533 -#define PCI_DEVICE_ID_STALLION_ECHPCI864 1620,60581 -#define PCI_DEVICE_ID_STALLION_EIOPCI 1621,60629 -#define PCI_VENDOR_ID_OPTIBASE 1623,60675 -#define PCI_DEVICE_ID_OPTIBASE_FORGE 1624,60714 -#define PCI_DEVICE_ID_OPTIBASE_FUSION 1625,60758 -#define PCI_DEVICE_ID_OPTIBASE_VPLEX 1626,60803 -#define PCI_DEVICE_ID_OPTIBASE_VPLEXCC 1627,60847 -#define PCI_DEVICE_ID_OPTIBASE_VQUEST 1628,60893 -#define PCI_VENDOR_ID_ESS 1630,60939 -#define PCI_DEVICE_ID_ESS_ESS1968 1631,60973 -#define PCI_DEVICE_ID_ESS_AUDIOPCI 1632,61014 -#define PCI_DEVICE_ID_ESS_ESS1978 1633,61056 -#define PCI_VENDOR_ID_SATSAGEM 1635,61098 -#define PCI_DEVICE_ID_SATSAGEM_NICCY 1636,61137 -#define PCI_DEVICE_ID_SATSAGEM_PCR2101 1637,61181 -#define PCI_DEVICE_ID_SATSAGEM_TELSATTURBO 1638,61227 -#define PCI_VENDOR_ID_HUGHES 1640,61278 -#define PCI_DEVICE_ID_HUGHES_DIRECPC 1641,61315 -#define PCI_VENDOR_ID_ENSONIQ 1643,61360 -#define PCI_DEVICE_ID_ENSONIQ_CT5880 1644,61398 -#define PCI_DEVICE_ID_ENSONIQ_ES1370 1645,61442 -#define PCI_DEVICE_ID_ENSONIQ_ES1371 1646,61486 -#define PCI_VENDOR_ID_TRANSMETA 1648,61531 -#define PCI_DEVICE_ID_EFFICEON 1649,61571 -#define PCI_VENDOR_ID_ROCKWELL 1651,61611 -#define PCI_VENDOR_ID_ITE 1653,61651 -#define PCI_DEVICE_ID_ITE_IT8172G 1654,61685 -#define PCI_DEVICE_ID_ITE_IT8172G_AUDIO 1655,61726 -#define PCI_DEVICE_ID_ITE_8212 1656,61773 -#define PCI_DEVICE_ID_ITE_8872 1657,61812 -#define PCI_DEVICE_ID_ITE_IT8330G_0 1658,61851 -#define PCI_VENDOR_ID_ESS_OLD 1661,61924 -#define PCI_DEVICE_ID_ESS_ESS0100 1662,61962 -#define PCI_VENDOR_ID_ALTEON 1664,62004 -#define PCI_DEVICE_ID_ALTEON_ACENIC 1665,62041 -#define PCI_VENDOR_ID_USR 1667,62085 -#define PCI_SUBVENDOR_ID_CONNECT_TECH 1669,62120 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_232 1670,62167 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_232 1671,62221 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_232 1672,62275 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485 1673,62329 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_4_4 1674,62383 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485 1675,62440 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485_2_2 1676,62494 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_485 1677,62551 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_2_6 1678,62605 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH081101V1 1679,62662 -#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH041101V1 1680,62718 -#define PCI_VENDOR_ID_PICTUREL 1682,62775 -#define PCI_DEVICE_ID_PICTUREL_PCIVST 1683,62814 -#define PCI_VENDOR_ID_NVIDIA_SGS 1685,62860 -#define PCI_DEVICE_ID_NVIDIA_SGS_RIVA128 1686,62900 -#define PCI_SUBVENDOR_ID_CHASE_PCIFAST 1688,62949 -#define PCI_SUBDEVICE_ID_CHASE_PCIFAST4 1689,62996 -#define PCI_SUBDEVICE_ID_CHASE_PCIFAST8 1690,63044 -#define PCI_SUBDEVICE_ID_CHASE_PCIFAST16 1691,63092 -#define PCI_SUBDEVICE_ID_CHASE_PCIFAST16FMC 1692,63140 -#define PCI_SUBVENDOR_ID_CHASE_PCIRAS 1693,63191 -#define PCI_SUBDEVICE_ID_CHASE_PCIRAS4 1694,63237 -#define PCI_SUBDEVICE_ID_CHASE_PCIRAS8 1695,63284 -#define PCI_VENDOR_ID_AUREAL 1697,63332 -#define PCI_DEVICE_ID_AUREAL_VORTEX_1 1698,63369 -#define PCI_DEVICE_ID_AUREAL_VORTEX_2 1699,63414 -#define PCI_DEVICE_ID_AUREAL_ADVANTAGE 1700,63459 -#define PCI_VENDOR_ID_ELECTRONICDESIGNGMBH 1702,63506 -#define PCI_DEVICE_ID_LML_33R10 1703,63556 -#define PCI_VENDOR_ID_CBOARDS 1705,63597 -#define PCI_DEVICE_ID_CBOARDS_DAS1602_16 1706,63635 -#define PCI_VENDOR_ID_SIIG 1708,63684 -#define PCI_DEVICE_ID_SIIG_1S_10x_550 1709,63719 -#define PCI_DEVICE_ID_SIIG_1S_10x_650 1710,63764 -#define PCI_DEVICE_ID_SIIG_1S_10x_850 1711,63809 -#define PCI_DEVICE_ID_SIIG_1S1P_10x_550 1712,63854 -#define PCI_DEVICE_ID_SIIG_1S1P_10x_650 1713,63901 -#define PCI_DEVICE_ID_SIIG_1S1P_10x_850 1714,63948 -#define PCI_DEVICE_ID_SIIG_1P_10x 1715,63995 -#define PCI_DEVICE_ID_SIIG_2P_10x 1716,64036 -#define PCI_DEVICE_ID_SIIG_2S_10x_550 1717,64077 -#define PCI_DEVICE_ID_SIIG_2S_10x_650 1718,64122 -#define PCI_DEVICE_ID_SIIG_2S_10x_850 1719,64167 -#define PCI_DEVICE_ID_SIIG_2S1P_10x_550 1720,64212 -#define PCI_DEVICE_ID_SIIG_2S1P_10x_650 1721,64259 -#define PCI_DEVICE_ID_SIIG_2S1P_10x_850 1722,64306 -#define PCI_DEVICE_ID_SIIG_4S_10x_550 1723,64353 -#define PCI_DEVICE_ID_SIIG_4S_10x_650 1724,64398 -#define PCI_DEVICE_ID_SIIG_4S_10x_850 1725,64443 -#define PCI_DEVICE_ID_SIIG_1S_20x_550 1726,64488 -#define PCI_DEVICE_ID_SIIG_1S_20x_650 1727,64533 -#define PCI_DEVICE_ID_SIIG_1S_20x_850 1728,64578 -#define PCI_DEVICE_ID_SIIG_1P_20x 1729,64623 -#define PCI_DEVICE_ID_SIIG_2P_20x 1730,64664 -#define PCI_DEVICE_ID_SIIG_2S_20x_550 1731,64705 -#define PCI_DEVICE_ID_SIIG_2S_20x_650 1732,64750 -#define PCI_DEVICE_ID_SIIG_2S_20x_850 1733,64795 -#define PCI_DEVICE_ID_SIIG_2P1S_20x_550 1734,64840 -#define PCI_DEVICE_ID_SIIG_2P1S_20x_650 1735,64887 -#define PCI_DEVICE_ID_SIIG_2P1S_20x_850 1736,64934 -#define PCI_DEVICE_ID_SIIG_1S1P_20x_550 1737,64981 -#define PCI_DEVICE_ID_SIIG_1S1P_20x_650 1738,65028 -#define PCI_DEVICE_ID_SIIG_1S1P_20x_850 1739,65075 -#define PCI_DEVICE_ID_SIIG_4S_20x_550 1740,65122 -#define PCI_DEVICE_ID_SIIG_4S_20x_650 1741,65167 -#define PCI_DEVICE_ID_SIIG_4S_20x_850 1742,65212 -#define PCI_DEVICE_ID_SIIG_2S1P_20x_550 1743,65257 -#define PCI_DEVICE_ID_SIIG_2S1P_20x_650 1744,65304 -#define PCI_DEVICE_ID_SIIG_2S1P_20x_850 1745,65351 -#define PCI_VENDOR_ID_RADISYS 1747,65399 -#define PCI_DEVICE_ID_RADISYS_ENP2611 1748,65437 -#define PCI_VENDOR_ID_DOMEX 1750,65483 -#define PCI_DEVICE_ID_DOMEX_DMX3191D 1751,65519 -#define PCI_VENDOR_ID_QUATECH 1753,65564 -#define PCI_DEVICE_ID_QUATECH_QSC100 1754,65602 -#define PCI_DEVICE_ID_QUATECH_DSC100 1755,65646 -#define PCI_DEVICE_ID_QUATECH_DSC200 1756,65690 -#define PCI_DEVICE_ID_QUATECH_QSC200 1757,65734 -#define PCI_DEVICE_ID_QUATECH_ESC100D 1758,65778 -#define PCI_DEVICE_ID_QUATECH_ESC100M 1759,65823 -#define PCI_VENDOR_ID_SEALEVEL 1761,65869 -#define PCI_DEVICE_ID_SEALEVEL_U530 1762,65908 -#define PCI_DEVICE_ID_SEALEVEL_UCOMM2 1763,65951 -#define PCI_DEVICE_ID_SEALEVEL_UCOMM422 1764,65996 -#define PCI_DEVICE_ID_SEALEVEL_UCOMM232 1765,66043 -#define PCI_DEVICE_ID_SEALEVEL_COMM4 1766,66090 -#define PCI_DEVICE_ID_SEALEVEL_COMM8 1767,66134 -#define PCI_VENDOR_ID_HYPERCOPE 1769,66179 -#define PCI_DEVICE_ID_HYPERCOPE_PLX 1770,66219 -#define PCI_SUBDEVICE_ID_HYPERCOPE_OLD_ERGO 1771,66262 -#define PCI_SUBDEVICE_ID_HYPERCOPE_ERGO 1772,66313 -#define PCI_SUBDEVICE_ID_HYPERCOPE_METRO 1773,66361 -#define PCI_SUBDEVICE_ID_HYPERCOPE_CHAMP2 1774,66409 -#define PCI_SUBDEVICE_ID_HYPERCOPE_PLEXUS 1775,66458 -#define PCI_VENDOR_ID_KAWASAKI 1777,66508 -#define PCI_DEVICE_ID_MCHIP_KL5A72002 1778,66547 -#define PCI_VENDOR_ID_CNET 1780,66593 -#define PCI_DEVICE_ID_CNET_GIGACARD 1781,66628 -#define PCI_VENDOR_ID_LMC 1783,66672 -#define PCI_DEVICE_ID_LMC_HSSI 1784,66706 -#define PCI_DEVICE_ID_LMC_DS3 1785,66745 -#define PCI_DEVICE_ID_LMC_SSI 1786,66783 -#define PCI_DEVICE_ID_LMC_T1 1787,66821 -#define PCI_VENDOR_ID_NETGEAR 1789,66859 -#define PCI_DEVICE_ID_NETGEAR_GA620 1790,66897 -#define PCI_DEVICE_ID_NETGEAR_GA622 1791,66940 -#define PCI_VENDOR_ID_APPLICOM 1793,66984 -#define PCI_DEVICE_ID_APPLICOM_PCIGENERIC 1794,67023 -#define PCI_DEVICE_ID_APPLICOM_PCI2000IBS_CAN 1795,67072 -#define PCI_DEVICE_ID_APPLICOM_PCI2000PFB 1796,67125 -#define PCI_VENDOR_ID_MOXA 1798,67175 -#define PCI_DEVICE_ID_MOXA_C104 1799,67210 -#define PCI_DEVICE_ID_MOXA_C168 1800,67250 -#define PCI_DEVICE_ID_MOXA_CP204J 1801,67290 -#define PCI_DEVICE_ID_MOXA_C218 1802,67331 -#define PCI_DEVICE_ID_MOXA_C320 1803,67371 -#define PCI_VENDOR_ID_CCD 1805,67412 -#define PCI_DEVICE_ID_CCD_2BD0 1806,67446 -#define PCI_DEVICE_ID_CCD_B000 1807,67485 -#define PCI_DEVICE_ID_CCD_B006 1808,67524 -#define PCI_DEVICE_ID_CCD_B007 1809,67563 -#define PCI_DEVICE_ID_CCD_B008 1810,67602 -#define PCI_DEVICE_ID_CCD_B009 1811,67641 -#define PCI_DEVICE_ID_CCD_B00A 1812,67680 -#define PCI_DEVICE_ID_CCD_B00B 1813,67719 -#define PCI_DEVICE_ID_CCD_B00C 1814,67758 -#define PCI_DEVICE_ID_CCD_B100 1815,67797 -#define PCI_VENDOR_ID_EXAR 1817,67837 -#define PCI_DEVICE_ID_EXAR_XR17C152 1818,67872 -#define PCI_DEVICE_ID_EXAR_XR17C154 1819,67915 -#define PCI_DEVICE_ID_EXAR_XR17C158 1820,67958 -#define PCI_VENDOR_ID_MICROGATE 1822,68002 -#define PCI_DEVICE_ID_MICROGATE_USC 1823,68042 -#define PCI_DEVICE_ID_MICROGATE_SCC 1824,68085 -#define PCI_DEVICE_ID_MICROGATE_SCA 1825,68128 -#define PCI_DEVICE_ID_MICROGATE_USC2 1826,68171 -#define PCI_VENDOR_ID_3WARE 1828,68216 -#define PCI_DEVICE_ID_3WARE_1000 1829,68252 -#define PCI_DEVICE_ID_3WARE_7000 1830,68292 -#define PCI_DEVICE_ID_3WARE_9000 1831,68332 -#define PCI_VENDOR_ID_IOMEGA 1833,68373 -#define PCI_DEVICE_ID_IOMEGA_BUZ 1834,68410 -#define PCI_VENDOR_ID_ABOCOM 1836,68451 -#define PCI_DEVICE_ID_ABOCOM_2BD1 1837,68488 -#define PCI_VENDOR_ID_CMEDIA 1839,68536 -#define PCI_DEVICE_ID_CMEDIA_CM8338A 1840,68573 -#define PCI_DEVICE_ID_CMEDIA_CM8338B 1841,68617 -#define PCI_DEVICE_ID_CMEDIA_CM8738 1842,68661 -#define PCI_DEVICE_ID_CMEDIA_CM8738B 1843,68704 -#define PCI_VENDOR_ID_LAVA 1845,68749 -#define PCI_DEVICE_ID_LAVA_DSERIAL 1846,68784 -#define PCI_DEVICE_ID_LAVA_QUATRO_A 1847,68841 -#define PCI_DEVICE_ID_LAVA_QUATRO_B 1848,68915 -#define PCI_DEVICE_ID_LAVA_OCTO_A 1849,68989 -#define PCI_DEVICE_ID_LAVA_OCTO_B 1850,69062 -#define PCI_DEVICE_ID_LAVA_PORT_PLUS 1851,69135 -#define PCI_DEVICE_ID_LAVA_QUAD_A 1852,69194 -#define PCI_DEVICE_ID_LAVA_QUAD_B 1853,69266 -#define PCI_DEVICE_ID_LAVA_SSERIAL 1854,69338 -#define PCI_DEVICE_ID_LAVA_PORT_650 1855,69395 -#define PCI_DEVICE_ID_LAVA_PARALLEL 1856,69453 -#define PCI_DEVICE_ID_LAVA_DUAL_PAR_A 1857,69496 -#define PCI_DEVICE_ID_LAVA_DUAL_PAR_B 1858,69573 -#define PCI_DEVICE_ID_LAVA_BOCA_IOPPAR 1859,69650 -#define PCI_VENDOR_ID_TIMEDIA 1861,69697 -#define PCI_DEVICE_ID_TIMEDIA_1889 1862,69735 -#define PCI_VENDOR_ID_OXSEMI 1864,69778 -#define PCI_DEVICE_ID_OXSEMI_12PCI840 1865,69815 -#define PCI_DEVICE_ID_OXSEMI_16PCI954 1866,69860 -#define PCI_DEVICE_ID_OXSEMI_16PCI95N 1867,69905 -#define PCI_DEVICE_ID_OXSEMI_16PCI954PP 1868,69950 -#define PCI_DEVICE_ID_OXSEMI_16PCI952 1869,69997 -#define PCI_VENDOR_ID_AIRONET 1871,70043 -#define PCI_DEVICE_ID_AIRONET_4800_1 1872,70081 -#define PCI_DEVICE_ID_AIRONET_4800 1873,70125 -#define PCI_DEVICE_ID_AIRONET_4500 1874,70192 -#define PCI_VENDOR_ID_TITAN 1876,70269 -#define PCI_DEVICE_ID_TITAN_010L 1877,70305 -#define PCI_DEVICE_ID_TITAN_100L 1878,70345 -#define PCI_DEVICE_ID_TITAN_110L 1879,70385 -#define PCI_DEVICE_ID_TITAN_200L 1880,70425 -#define PCI_DEVICE_ID_TITAN_210L 1881,70465 -#define PCI_DEVICE_ID_TITAN_400L 1882,70505 -#define PCI_DEVICE_ID_TITAN_800L 1883,70545 -#define PCI_DEVICE_ID_TITAN_100 1884,70585 -#define PCI_DEVICE_ID_TITAN_200 1885,70625 -#define PCI_DEVICE_ID_TITAN_400 1886,70665 -#define PCI_DEVICE_ID_TITAN_800B 1887,70705 -#define PCI_VENDOR_ID_PANACOM 1889,70746 -#define PCI_DEVICE_ID_PANACOM_QUADMODEM 1890,70784 -#define PCI_DEVICE_ID_PANACOM_DUALMODEM 1891,70831 -#define PCI_VENDOR_ID_AFAVLAB 1893,70879 -#define PCI_DEVICE_ID_AFAVLAB_P028 1894,70917 -#define PCI_DEVICE_ID_AFAVLAB_P030 1895,70959 -#define PCI_VENDOR_ID_BROADCOM 1897,71002 -#define PCI_DEVICE_ID_TIGON3_5700 1898,71041 -#define PCI_DEVICE_ID_TIGON3_5701 1899,71082 -#define PCI_DEVICE_ID_TIGON3_5702 1900,71123 -#define PCI_DEVICE_ID_TIGON3_5703 1901,71164 -#define PCI_DEVICE_ID_TIGON3_5704 1902,71205 -#define PCI_DEVICE_ID_TIGON3_5704S_2 1903,71246 -#define PCI_DEVICE_ID_TIGON3_5702FE 1904,71290 -#define PCI_DEVICE_ID_TIGON3_5705 1905,71333 -#define PCI_DEVICE_ID_TIGON3_5705_2 1906,71374 -#define PCI_DEVICE_ID_TIGON3_5720 1907,71417 -#define PCI_DEVICE_ID_TIGON3_5721 1908,71458 -#define PCI_DEVICE_ID_TIGON3_5705M 1909,71499 -#define PCI_DEVICE_ID_TIGON3_5705M_2 1910,71541 -#define PCI_DEVICE_ID_TIGON3_5705F 1911,71585 -#define PCI_DEVICE_ID_TIGON3_5750 1912,71627 -#define PCI_DEVICE_ID_TIGON3_5751 1913,71668 -#define PCI_DEVICE_ID_TIGON3_5750M 1914,71709 -#define PCI_DEVICE_ID_TIGON3_5751M 1915,71751 -#define PCI_DEVICE_ID_TIGON3_5751F 1916,71793 -#define PCI_DEVICE_ID_TIGON3_5782 1917,71835 -#define PCI_DEVICE_ID_TIGON3_5788 1918,71876 -#define PCI_DEVICE_ID_TIGON3_5789 1919,71917 -#define PCI_DEVICE_ID_TIGON3_5702X 1920,71958 -#define PCI_DEVICE_ID_TIGON3_5703X 1921,72000 -#define PCI_DEVICE_ID_TIGON3_5704S 1922,72042 -#define PCI_DEVICE_ID_TIGON3_5702A3 1923,72084 -#define PCI_DEVICE_ID_TIGON3_5703A3 1924,72127 -#define PCI_DEVICE_ID_TIGON3_5901 1925,72170 -#define PCI_DEVICE_ID_TIGON3_5901_2 1926,72211 -#define PCI_DEVICE_ID_BCM4401 1927,72254 -#define PCI_DEVICE_ID_BCM4401B0 1928,72292 -#define PCI_DEVICE_ID_BCM4401B1 1929,72332 -#define PCI_VENDOR_ID_ENE 1931,72373 -#define PCI_DEVICE_ID_ENE_1211 1932,72407 -#define PCI_DEVICE_ID_ENE_1225 1933,72446 -#define PCI_DEVICE_ID_ENE_1410 1934,72485 -#define PCI_DEVICE_ID_ENE_1420 1935,72524 -#define PCI_VENDOR_ID_SYBA 1937,72564 -#define PCI_DEVICE_ID_SYBA_2P_EPP 1938,72599 -#define PCI_DEVICE_ID_SYBA_1P_ECP 1939,72640 -#define PCI_VENDOR_ID_MORETON 1941,72682 -#define PCI_DEVICE_ID_RASTEL_2PORT 1942,72720 -#define PCI_VENDOR_ID_ZOLTRIX 1944,72763 -#define PCI_DEVICE_ID_ZOLTRIX_2BD0 1945,72801 -#define PCI_VENDOR_ID_MELLANOX 1947,72845 -#define PCI_DEVICE_ID_MELLANOX_TAVOR 1948,72884 -#define PCI_DEVICE_ID_MELLANOX_ARBEL_COMPAT 1949,72928 -#define PCI_DEVICE_ID_MELLANOX_ARBEL 1950,72979 -#define PCI_VENDOR_ID_PDC 1952,73024 -#define PCI_DEVICE_ID_PDC_1841 1953,73058 -#define PCI_VENDOR_ID_MACROLINK 1955,73098 -#define PCI_DEVICE_ID_MACROLINK_MCCS8 1956,73138 -#define PCI_DEVICE_ID_MACROLINK_MCCS 1957,73183 -#define PCI_DEVICE_ID_MACROLINK_MCCS8H 1958,73227 -#define PCI_DEVICE_ID_MACROLINK_MCCSH 1959,73273 -#define PCI_DEVICE_ID_MACROLINK_MCCR8 1960,73318 -#define PCI_DEVICE_ID_MACROLINK_MCCR 1961,73363 -#define PCI_VENDOR_ID_FARSITE 1963,73408 -#define PCI_DEVICE_ID_FARSITE_T2P 1964,73455 -#define PCI_DEVICE_ID_FARSITE_T4P 1965,73502 -#define PCI_DEVICE_ID_FARSITE_T1U 1966,73549 -#define PCI_DEVICE_ID_FARSITE_T2U 1967,73596 -#define PCI_DEVICE_ID_FARSITE_T4U 1968,73643 -#define PCI_DEVICE_ID_FARSITE_TE1 1969,73690 -#define PCI_DEVICE_ID_FARSITE_TE1C 1970,73737 -#define PCI_VENDOR_ID_LINKSYS 1972,73785 -#define PCI_DEVICE_ID_LINKSYS_EG1032 1973,73823 -#define PCI_DEVICE_ID_LINKSYS_EG1064 1974,73867 -#define PCI_VENDOR_ID_ALTIMA 1976,73912 -#define PCI_DEVICE_ID_ALTIMA_AC1000 1977,73949 -#define PCI_DEVICE_ID_ALTIMA_AC1001 1978,73992 -#define PCI_DEVICE_ID_ALTIMA_AC9100 1979,74035 -#define PCI_DEVICE_ID_ALTIMA_AC1003 1980,74078 -#define PCI_VENDOR_ID_S2IO 1982,74122 -#define PCI_DEVICE_ID_S2IO_WIN 1983,74157 -#define PCI_DEVICE_ID_S2IO_UNI 1984,74196 -#define PCI_VENDOR_ID_INFINICON 1986,74236 -#define PCI_VENDOR_ID_TOPSPIN 1988,74277 -#define PCI_VENDOR_ID_ARC 1990,74316 -#define PCI_DEVICE_ID_ARC_EHCI 1991,74363 -#define PCI_VENDOR_ID_SYMPHONY 1993,74411 -#define PCI_DEVICE_ID_SYMPHONY_101 1994,74450 -#define PCI_VENDOR_ID_TEKRAM 1996,74493 -#define PCI_DEVICE_ID_TEKRAM_DC290 1997,74530 -#define PCI_VENDOR_ID_HINT 1999,74573 -#define PCI_DEVICE_ID_HINT_VXPROII_IDE 2000,74619 -#define PCI_VENDOR_ID_3DLABS 2002,74666 -#define PCI_DEVICE_ID_3DLABS_300SX 2003,74703 -#define PCI_DEVICE_ID_3DLABS_500TX 2004,74745 -#define PCI_DEVICE_ID_3DLABS_DELTA 2005,74787 -#define PCI_DEVICE_ID_3DLABS_PERMEDIA 2006,74829 -#define PCI_DEVICE_ID_3DLABS_MX 2007,74874 -#define PCI_DEVICE_ID_3DLABS_PERMEDIA2 2008,74914 -#define PCI_DEVICE_ID_3DLABS_GAMMA 2009,74960 -#define PCI_DEVICE_ID_3DLABS_PERMEDIA2V 2010,75002 -#define PCI_VENDOR_ID_AVANCE 2012,75050 -#define PCI_DEVICE_ID_AVANCE_ALG2064 2013,75087 -#define PCI_DEVICE_ID_AVANCE_2302 2014,75131 -#define PCI_VENDOR_ID_AKS 2016,75173 -#define PCI_DEVICE_ID_AKS_ALADDINCARD 2017,75207 -#define PCI_DEVICE_ID_AKS_CPC 2018,75252 -#define PCI_VENDOR_ID_REDCREEK 2020,75291 -#define PCI_DEVICE_ID_RC45 2021,75330 -#define PCI_VENDOR_ID_NETVIN 2023,75366 -#define PCI_DEVICE_ID_NETVIN_NV5000SC 2024,75403 -#define PCI_VENDOR_ID_S3 2026,75449 -#define PCI_DEVICE_ID_S3_PLATO_PXS 2027,75482 -#define PCI_DEVICE_ID_S3_ViRGE 2028,75524 -#define PCI_DEVICE_ID_S3_TRIO 2029,75563 -#define PCI_DEVICE_ID_S3_AURORA64VP 2030,75601 -#define PCI_DEVICE_ID_S3_TRIO64UVP 2031,75644 -#define PCI_DEVICE_ID_S3_ViRGE_VX 2032,75686 -#define PCI_DEVICE_ID_S3_868 2033,75727 -#define PCI_DEVICE_ID_S3_928 2034,75764 -#define PCI_DEVICE_ID_S3_864_1 2035,75801 -#define PCI_DEVICE_ID_S3_864_2 2036,75840 -#define PCI_DEVICE_ID_S3_964_1 2037,75879 -#define PCI_DEVICE_ID_S3_964_2 2038,75918 -#define PCI_DEVICE_ID_S3_968 2039,75957 -#define PCI_DEVICE_ID_S3_TRIO64V2 2040,75994 -#define PCI_DEVICE_ID_S3_PLATO_PXG 2041,76035 -#define PCI_DEVICE_ID_S3_ViRGE_DXGX 2042,76077 -#define PCI_DEVICE_ID_S3_ViRGE_GX2 2043,76120 -#define PCI_DEVICE_ID_S3_ViRGE_MX 2044,76162 -#define PCI_DEVICE_ID_S3_ViRGE_MXP 2045,76203 -#define PCI_DEVICE_ID_S3_ViRGE_MXPMV 2046,76245 -#define PCI_DEVICE_ID_S3_SONICVIBES 2047,76289 -#define PCI_VENDOR_ID_DUNORD 2049,76333 -#define PCI_DEVICE_ID_DUNORD_I3000 2050,76370 -#define PCI_VENDOR_ID_DCI 2052,76413 -#define PCI_DEVICE_ID_DCI_PCCOM4 2053,76447 -#define PCI_DEVICE_ID_DCI_PCCOM8 2054,76487 -#define PCI_VENDOR_ID_DUNORD 2056,76528 -#define PCI_DEVICE_ID_DUNORD_I3000 2057,76565 -#define PCI_VENDOR_ID_GENROCO 2059,76608 -#define PCI_DEVICE_ID_GENROCO_HFP832 2060,76646 -#define PCI_VENDOR_ID_INTEL 2062,76691 -#define PCI_DEVICE_ID_INTEL_EESSC 2063,76727 -#define PCI_DEVICE_ID_INTEL_21145 2064,76768 -#define PCI_DEVICE_ID_INTEL_82375 2065,76809 -#define PCI_DEVICE_ID_INTEL_82424 2066,76850 -#define PCI_DEVICE_ID_INTEL_82378 2067,76891 -#define PCI_DEVICE_ID_INTEL_82430 2068,76932 -#define PCI_DEVICE_ID_INTEL_82434 2069,76973 -#define PCI_DEVICE_ID_INTEL_I960 2070,77014 -#define PCI_DEVICE_ID_INTEL_I960RM 2071,77054 -#define PCI_DEVICE_ID_INTEL_82562ET 2072,77096 -#define PCI_DEVICE_ID_INTEL_82801CAM 2073,77139 -#define PCI_DEVICE_ID_INTEL_82815_MC 2074,77183 -#define PCI_DEVICE_ID_INTEL_82815_AB 2075,77227 -#define PCI_DEVICE_ID_INTEL_82815_CGC 2076,77271 -#define PCI_DEVICE_ID_INTEL_82559ER 2077,77316 -#define PCI_DEVICE_ID_INTEL_82092AA_0 2078,77359 -#define PCI_DEVICE_ID_INTEL_82092AA_1 2079,77404 -#define PCI_DEVICE_ID_INTEL_7116 2080,77449 -#define PCI_DEVICE_ID_INTEL_7505_0 2081,77489 -#define PCI_DEVICE_ID_INTEL_7505_1 2082,77533 -#define PCI_DEVICE_ID_INTEL_7205_0 2083,77577 -#define PCI_DEVICE_ID_INTEL_82596 2084,77619 -#define PCI_DEVICE_ID_INTEL_82865 2085,77660 -#define PCI_DEVICE_ID_INTEL_82557 2086,77701 -#define PCI_DEVICE_ID_INTEL_82437 2087,77742 -#define PCI_DEVICE_ID_INTEL_82371FB_0 2088,77783 -#define PCI_DEVICE_ID_INTEL_82371FB_1 2089,77828 -#define PCI_DEVICE_ID_INTEL_82371MX 2090,77873 -#define PCI_DEVICE_ID_INTEL_82437MX 2091,77916 -#define PCI_DEVICE_ID_INTEL_82441 2092,77959 -#define PCI_DEVICE_ID_INTEL_82380FB 2093,78000 -#define PCI_DEVICE_ID_INTEL_82439 2094,78043 -#define PCI_DEVICE_ID_INTEL_80960_RP 2095,78084 -#define PCI_DEVICE_ID_INTEL_82840_HB 2096,78128 -#define PCI_DEVICE_ID_INTEL_82845_HB 2097,78172 -#define PCI_DEVICE_ID_INTEL_82801AA_0 2098,78216 -#define PCI_DEVICE_ID_INTEL_82801AA_1 2099,78261 -#define PCI_DEVICE_ID_INTEL_82801AA_2 2100,78306 -#define PCI_DEVICE_ID_INTEL_82801AA_3 2101,78351 -#define PCI_DEVICE_ID_INTEL_82801AA_5 2102,78396 -#define PCI_DEVICE_ID_INTEL_82801AA_6 2103,78441 -#define PCI_DEVICE_ID_INTEL_82801AA_8 2104,78486 -#define PCI_DEVICE_ID_INTEL_82801AB_0 2105,78531 -#define PCI_DEVICE_ID_INTEL_82801AB_1 2106,78576 -#define PCI_DEVICE_ID_INTEL_82801AB_2 2107,78621 -#define PCI_DEVICE_ID_INTEL_82801AB_3 2108,78666 -#define PCI_DEVICE_ID_INTEL_82801AB_5 2109,78711 -#define PCI_DEVICE_ID_INTEL_82801AB_6 2110,78756 -#define PCI_DEVICE_ID_INTEL_82801AB_8 2111,78801 -#define PCI_DEVICE_ID_INTEL_82801BA_0 2112,78846 -#define PCI_DEVICE_ID_INTEL_82801BA_1 2113,78891 -#define PCI_DEVICE_ID_INTEL_82801BA_2 2114,78936 -#define PCI_DEVICE_ID_INTEL_82801BA_3 2115,78981 -#define PCI_DEVICE_ID_INTEL_82801BA_4 2116,79026 -#define PCI_DEVICE_ID_INTEL_82801BA_5 2117,79071 -#define PCI_DEVICE_ID_INTEL_82801BA_6 2118,79116 -#define PCI_DEVICE_ID_INTEL_82801BA_7 2119,79161 -#define PCI_DEVICE_ID_INTEL_82801BA_8 2120,79206 -#define PCI_DEVICE_ID_INTEL_82801BA_9 2121,79251 -#define PCI_DEVICE_ID_INTEL_82801BA_10 2122,79296 -#define PCI_DEVICE_ID_INTEL_82801BA_11 2123,79342 -#define PCI_DEVICE_ID_INTEL_82801E_0 2124,79388 -#define PCI_DEVICE_ID_INTEL_82801E_2 2125,79432 -#define PCI_DEVICE_ID_INTEL_82801E_3 2126,79476 -#define PCI_DEVICE_ID_INTEL_82801E_9 2127,79520 -#define PCI_DEVICE_ID_INTEL_82801E_11 2128,79564 -#define PCI_DEVICE_ID_INTEL_82801E_13 2129,79609 -#define PCI_DEVICE_ID_INTEL_82801E_14 2130,79654 -#define PCI_DEVICE_ID_INTEL_82801CA_0 2131,79699 -#define PCI_DEVICE_ID_INTEL_82801CA_2 2132,79744 -#define PCI_DEVICE_ID_INTEL_82801CA_3 2133,79789 -#define PCI_DEVICE_ID_INTEL_82801CA_4 2134,79834 -#define PCI_DEVICE_ID_INTEL_82801CA_5 2135,79879 -#define PCI_DEVICE_ID_INTEL_82801CA_6 2136,79924 -#define PCI_DEVICE_ID_INTEL_82801CA_7 2137,79969 -#define PCI_DEVICE_ID_INTEL_82801CA_10 2138,80014 -#define PCI_DEVICE_ID_INTEL_82801CA_11 2139,80060 -#define PCI_DEVICE_ID_INTEL_82801CA_12 2140,80106 -#define PCI_DEVICE_ID_INTEL_82801DB_0 2141,80152 -#define PCI_DEVICE_ID_INTEL_82801DB_2 2142,80197 -#define PCI_DEVICE_ID_INTEL_82801DB_3 2143,80242 -#define PCI_DEVICE_ID_INTEL_82801DB_4 2144,80287 -#define PCI_DEVICE_ID_INTEL_82801DB_5 2145,80332 -#define PCI_DEVICE_ID_INTEL_82801DB_6 2146,80377 -#define PCI_DEVICE_ID_INTEL_82801DB_7 2147,80422 -#define PCI_DEVICE_ID_INTEL_82801DB_9 2148,80467 -#define PCI_DEVICE_ID_INTEL_82801DB_10 2149,80512 -#define PCI_DEVICE_ID_INTEL_82801DB_11 2150,80558 -#define PCI_DEVICE_ID_INTEL_82801DB_12 2151,80604 -#define PCI_DEVICE_ID_INTEL_82801DB_13 2152,80651 -#define PCI_DEVICE_ID_INTEL_82801EB_0 2153,80697 -#define PCI_DEVICE_ID_INTEL_82801EB_1 2154,80742 -#define PCI_DEVICE_ID_INTEL_82801EB_2 2155,80787 -#define PCI_DEVICE_ID_INTEL_82801EB_3 2156,80832 -#define PCI_DEVICE_ID_INTEL_82801EB_4 2157,80877 -#define PCI_DEVICE_ID_INTEL_82801EB_5 2158,80922 -#define PCI_DEVICE_ID_INTEL_82801EB_6 2159,80967 -#define PCI_DEVICE_ID_INTEL_82801EB_7 2160,81012 -#define PCI_DEVICE_ID_INTEL_82801EB_11 2161,81057 -#define PCI_DEVICE_ID_INTEL_82801EB_13 2162,81103 -#define PCI_DEVICE_ID_INTEL_ESB_1 2163,81149 -#define PCI_DEVICE_ID_INTEL_ESB_2 2164,81190 -#define PCI_DEVICE_ID_INTEL_ESB_3 2165,81231 -#define PCI_DEVICE_ID_INTEL_ESB_31 2166,81272 -#define PCI_DEVICE_ID_INTEL_ESB_4 2167,81314 -#define PCI_DEVICE_ID_INTEL_ESB_5 2168,81355 -#define PCI_DEVICE_ID_INTEL_ESB_6 2169,81396 -#define PCI_DEVICE_ID_INTEL_ESB_7 2170,81437 -#define PCI_DEVICE_ID_INTEL_ESB_8 2171,81478 -#define PCI_DEVICE_ID_INTEL_ESB_9 2172,81519 -#define PCI_DEVICE_ID_INTEL_ESB_11 2173,81560 -#define PCI_DEVICE_ID_INTEL_ESB_12 2174,81602 -#define PCI_DEVICE_ID_INTEL_ESB_13 2175,81644 -#define PCI_DEVICE_ID_INTEL_82820_HB 2176,81686 -#define PCI_DEVICE_ID_INTEL_82820_UP_HB 2177,81730 -#define PCI_DEVICE_ID_INTEL_82850_HB 2178,81777 -#define PCI_DEVICE_ID_INTEL_82860_HB 2179,81821 -#define PCI_DEVICE_ID_INTEL_82845G_HB 2180,81865 -#define PCI_DEVICE_ID_INTEL_82845G_IG 2181,81910 -#define PCI_DEVICE_ID_INTEL_82865_HB 2182,81955 -#define PCI_DEVICE_ID_INTEL_82865_IG 2183,81999 -#define PCI_DEVICE_ID_INTEL_82875_HB 2184,82043 -#define PCI_DEVICE_ID_INTEL_82875_IG 2185,82087 -#define PCI_DEVICE_ID_INTEL_82915G_HB 2186,82131 -#define PCI_DEVICE_ID_INTEL_82915G_IG 2187,82176 -#define PCI_DEVICE_ID_INTEL_ICH6_0 2188,82221 -#define PCI_DEVICE_ID_INTEL_ICH6_1 2189,82263 -#define PCI_DEVICE_ID_INTEL_ICH6_2 2190,82305 -#define PCI_DEVICE_ID_INTEL_ICH6_3 2191,82347 -#define PCI_DEVICE_ID_INTEL_ICH6_4 2192,82389 -#define PCI_DEVICE_ID_INTEL_ICH6_5 2193,82431 -#define PCI_DEVICE_ID_INTEL_ICH6_6 2194,82473 -#define PCI_DEVICE_ID_INTEL_ICH6_7 2195,82515 -#define PCI_DEVICE_ID_INTEL_ICH6_8 2196,82557 -#define PCI_DEVICE_ID_INTEL_ICH6_9 2197,82599 -#define PCI_DEVICE_ID_INTEL_ICH6_10 2198,82641 -#define PCI_DEVICE_ID_INTEL_ICH6_11 2199,82684 -#define PCI_DEVICE_ID_INTEL_ICH6_12 2200,82727 -#define PCI_DEVICE_ID_INTEL_ICH6_13 2201,82770 -#define PCI_DEVICE_ID_INTEL_ICH6_14 2202,82813 -#define PCI_DEVICE_ID_INTEL_ICH6_15 2203,82856 -#define PCI_DEVICE_ID_INTEL_ICH6_16 2204,82899 -#define PCI_DEVICE_ID_INTEL_ICH6_17 2205,82942 -#define PCI_DEVICE_ID_INTEL_ICH6_18 2206,82985 -#define PCI_DEVICE_ID_INTEL_ICH6_19 2207,83028 -#define PCI_DEVICE_ID_INTEL_82855PM_HB 2208,83071 -#define PCI_DEVICE_ID_INTEL_82830_HB 2209,83117 -#define PCI_DEVICE_ID_INTEL_82830_CGC 2210,83161 -#define PCI_DEVICE_ID_INTEL_82855GM_HB 2211,83206 -#define PCI_DEVICE_ID_INTEL_82855GM_IG 2212,83252 -#define PCI_DEVICE_ID_INTEL_E7520_MCH 2213,83298 -#define PCI_DEVICE_ID_INTEL_E7320_MCH 2214,83343 -#define PCI_DEVICE_ID_INTEL_MCH_PA 2215,83388 -#define PCI_DEVICE_ID_INTEL_MCH_PA1 2216,83430 -#define PCI_DEVICE_ID_INTEL_MCH_PB 2217,83473 -#define PCI_DEVICE_ID_INTEL_MCH_PB1 2218,83515 -#define PCI_DEVICE_ID_INTEL_MCH_PC 2219,83558 -#define PCI_DEVICE_ID_INTEL_MCH_PC1 2220,83600 -#define PCI_DEVICE_ID_INTEL_E7525_MCH 2221,83643 -#define PCI_DEVICE_ID_INTEL_80310 2222,83688 -#define PCI_DEVICE_ID_INTEL_82371SB_0 2223,83729 -#define PCI_DEVICE_ID_INTEL_82371SB_1 2224,83774 -#define PCI_DEVICE_ID_INTEL_82371SB_2 2225,83819 -#define PCI_DEVICE_ID_INTEL_82437VX 2226,83864 -#define PCI_DEVICE_ID_INTEL_82439TX 2227,83907 -#define PCI_DEVICE_ID_INTEL_82371AB_0 2228,83950 -#define PCI_DEVICE_ID_INTEL_82371AB 2229,83995 -#define PCI_DEVICE_ID_INTEL_82371AB_2 2230,84038 -#define PCI_DEVICE_ID_INTEL_82371AB_3 2231,84083 -#define PCI_DEVICE_ID_INTEL_82810_MC1 2232,84128 -#define PCI_DEVICE_ID_INTEL_82810_IG1 2233,84173 -#define PCI_DEVICE_ID_INTEL_82810_MC3 2234,84218 -#define PCI_DEVICE_ID_INTEL_82810_IG3 2235,84263 -#define PCI_DEVICE_ID_INTEL_82810E_MC 2236,84308 -#define PCI_DEVICE_ID_INTEL_82810E_IG 2237,84353 -#define PCI_DEVICE_ID_INTEL_82443LX_0 2238,84398 -#define PCI_DEVICE_ID_INTEL_82443LX_1 2239,84443 -#define PCI_DEVICE_ID_INTEL_82443BX_0 2240,84488 -#define PCI_DEVICE_ID_INTEL_82443BX_1 2241,84533 -#define PCI_DEVICE_ID_INTEL_82443BX_2 2242,84578 -#define PCI_DEVICE_ID_INTEL_440MX 2243,84623 -#define PCI_DEVICE_ID_INTEL_82443MX_0 2244,84664 -#define PCI_DEVICE_ID_INTEL_82443MX_1 2245,84709 -#define PCI_DEVICE_ID_INTEL_82443MX_2 2246,84754 -#define PCI_DEVICE_ID_INTEL_82443MX_3 2247,84799 -#define PCI_DEVICE_ID_INTEL_82443GX_0 2248,84844 -#define PCI_DEVICE_ID_INTEL_82443GX_1 2249,84889 -#define PCI_DEVICE_ID_INTEL_82443GX_2 2250,84934 -#define PCI_DEVICE_ID_INTEL_82372FB_0 2251,84979 -#define PCI_DEVICE_ID_INTEL_82372FB_1 2252,85024 -#define PCI_DEVICE_ID_INTEL_82372FB_2 2253,85069 -#define PCI_DEVICE_ID_INTEL_82372FB_3 2254,85114 -#define PCI_DEVICE_ID_INTEL_82454GX 2255,85159 -#define PCI_DEVICE_ID_INTEL_82450GX 2256,85202 -#define PCI_DEVICE_ID_INTEL_82451NX 2257,85245 -#define PCI_DEVICE_ID_INTEL_82454NX 2258,85288 -#define PCI_DEVICE_ID_INTEL_84460GX 2259,85335 -#define PCI_DEVICE_ID_INTEL_IXP4XX 2260,85378 -#define PCI_DEVICE_ID_INTEL_IXP2400 2261,85420 -#define PCI_DEVICE_ID_INTEL_IXP2800 2262,85463 -#define PCI_VENDOR_ID_COMPUTONE 2264,85507 -#define PCI_DEVICE_ID_COMPUTONE_IP2EX 2265,85547 -#define PCI_DEVICE_ID_COMPUTONE_PG 2266,85592 -#define PCI_SUBVENDOR_ID_COMPUTONE 2267,85634 -#define PCI_SUBDEVICE_ID_COMPUTONE_PG4 2268,85676 -#define PCI_SUBDEVICE_ID_COMPUTONE_PG8 2269,85722 -#define PCI_SUBDEVICE_ID_COMPUTONE_PG6 2270,85768 -#define PCI_VENDOR_ID_KTI 2272,85815 -#define PCI_DEVICE_ID_KTI_ET32P2 2273,85849 -#define PCI_VENDOR_ID_ADAPTEC 2275,85890 -#define PCI_DEVICE_ID_ADAPTEC_7810 2276,85928 -#define PCI_DEVICE_ID_ADAPTEC_7821 2277,85970 -#define PCI_DEVICE_ID_ADAPTEC_38602 2278,86012 -#define PCI_DEVICE_ID_ADAPTEC_7850 2279,86055 -#define PCI_DEVICE_ID_ADAPTEC_7855 2280,86097 -#define PCI_DEVICE_ID_ADAPTEC_5800 2281,86139 -#define PCI_DEVICE_ID_ADAPTEC_3860 2282,86181 -#define PCI_DEVICE_ID_ADAPTEC_1480A 2283,86223 -#define PCI_DEVICE_ID_ADAPTEC_7860 2284,86266 -#define PCI_DEVICE_ID_ADAPTEC_7861 2285,86308 -#define PCI_DEVICE_ID_ADAPTEC_7870 2286,86350 -#define PCI_DEVICE_ID_ADAPTEC_7871 2287,86392 -#define PCI_DEVICE_ID_ADAPTEC_7872 2288,86434 -#define PCI_DEVICE_ID_ADAPTEC_7873 2289,86476 -#define PCI_DEVICE_ID_ADAPTEC_7874 2290,86518 -#define PCI_DEVICE_ID_ADAPTEC_7895 2291,86560 -#define PCI_DEVICE_ID_ADAPTEC_7880 2292,86602 -#define PCI_DEVICE_ID_ADAPTEC_7881 2293,86644 -#define PCI_DEVICE_ID_ADAPTEC_7882 2294,86686 -#define PCI_DEVICE_ID_ADAPTEC_7883 2295,86728 -#define PCI_DEVICE_ID_ADAPTEC_7884 2296,86770 -#define PCI_DEVICE_ID_ADAPTEC_7885 2297,86812 -#define PCI_DEVICE_ID_ADAPTEC_7886 2298,86854 -#define PCI_DEVICE_ID_ADAPTEC_7887 2299,86896 -#define PCI_DEVICE_ID_ADAPTEC_7888 2300,86938 -#define PCI_DEVICE_ID_ADAPTEC_1030 2301,86980 -#define PCI_VENDOR_ID_ADAPTEC2 2303,87023 -#define PCI_DEVICE_ID_ADAPTEC2_2940U2 2304,87062 -#define PCI_DEVICE_ID_ADAPTEC2_2930U2 2305,87107 -#define PCI_DEVICE_ID_ADAPTEC2_7890B 2306,87152 -#define PCI_DEVICE_ID_ADAPTEC2_7890 2307,87196 -#define PCI_DEVICE_ID_ADAPTEC2_3940U2 2308,87239 -#define PCI_DEVICE_ID_ADAPTEC2_3950U2D 2309,87284 -#define PCI_DEVICE_ID_ADAPTEC2_7896 2310,87330 -#define PCI_DEVICE_ID_ADAPTEC2_7892A 2311,87373 -#define PCI_DEVICE_ID_ADAPTEC2_7892B 2312,87417 -#define PCI_DEVICE_ID_ADAPTEC2_7892D 2313,87461 -#define PCI_DEVICE_ID_ADAPTEC2_7892P 2314,87505 -#define PCI_DEVICE_ID_ADAPTEC2_7899A 2315,87549 -#define PCI_DEVICE_ID_ADAPTEC2_7899B 2316,87593 -#define PCI_DEVICE_ID_ADAPTEC2_7899D 2317,87637 -#define PCI_DEVICE_ID_ADAPTEC2_7899P 2318,87681 -#define PCI_VENDOR_ID_ATRONICS 2320,87726 -#define PCI_DEVICE_ID_ATRONICS_2015 2321,87765 -#define PCI_VENDOR_ID_HOLTEK 2323,87809 -#define PCI_DEVICE_ID_HOLTEK_6565 2324,87846 -#define PCI_VENDOR_ID_NETMOS 2326,87888 -#define PCI_DEVICE_ID_NETMOS_9705 2327,87925 -#define PCI_DEVICE_ID_NETMOS_9735 2328,87966 -#define PCI_DEVICE_ID_NETMOS_9805 2329,88007 -#define PCI_DEVICE_ID_NETMOS_9815 2330,88048 -#define PCI_DEVICE_ID_NETMOS_9835 2331,88089 -#define PCI_DEVICE_ID_NETMOS_9855 2332,88130 -#define PCI_DEVICE_ID_NETMOS_9755 2333,88171 -#define PCI_DEVICE_ID_NETMOS_9715 2334,88212 -#define PCI_SUBVENDOR_ID_EXSYS 2336,88254 -#define PCI_SUBDEVICE_ID_EXSYS_4014 2337,88293 -#define PCI_VENDOR_ID_TIGERJET 2339,88337 -#define PCI_DEVICE_ID_TIGERJET_300 2340,88376 -#define PCI_DEVICE_ID_TIGERJET_100 2341,88418 -#define PCI_VENDOR_ID_ARK 2343,88461 -#define PCI_DEVICE_ID_ARK_STING 2344,88495 -#define PCI_DEVICE_ID_ARK_STINGARK 2345,88535 -#define PCI_DEVICE_ID_ARK_2000MT 2346,88577 -#define PCI_VENDOR_ID_WORKBIT 2348,88618 -#define PCI_DEVICE_ID_WORKBIT_CB 2349,88656 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ultrasound.h,1355 -#define _ULTRASOUND_H_2,23 -#define _GUS_NUMVOICES 53,2117 -#define _GUS_VOICESAMPLE 54,2146 -#define _GUS_VOICEON 55,2191 -#define _GUS_VOICEOFF 56,2218 -#define _GUS_VOICEMODE 57,2246 -#define _GUS_VOICEBALA 58,2275 -#define _GUS_VOICEFREQ 59,2304 -#define _GUS_VOICEVOL 60,2333 -#define _GUS_RAMPRANGE 61,2361 -#define _GUS_RAMPRATE 62,2390 -#define _GUS_RAMPMODE 63,2418 -#define _GUS_RAMPON 64,2446 -#define _GUS_RAMPOFF 65,2472 -#define _GUS_VOICEFADE 66,2499 -#define _GUS_VOLUME_SCALE 67,2528 -#define _GUS_VOICEVOL2 68,2559 -#define _GUS_VOICE_POS 69,2588 -#define _GUS_CMD(_GUS_CMD75,2644 -#define GUS_NUMVOICES(GUS_NUMVOICES83,2979 -#define GUS_VOICESAMPLE(GUS_VOICESAMPLE84,3054 -#define GUS_VOICEON(GUS_VOICEON85,3158 -#define GUS_VOICEOFF(GUS_VOICEOFF86,3239 -#define GUS_VOICEFADE(GUS_VOICEFADE87,3315 -#define GUS_VOICEMODE(GUS_VOICEMODE88,3393 -#define GUS_VOICEBALA(GUS_VOICEBALA89,3478 -#define GUS_VOICEFREQ(GUS_VOICEFREQ90,3563 -#define GUS_VOICEVOL(GUS_VOICEVOL92,3683 -#define GUS_VOICEVOL2(GUS_VOICEVOL293,3766 -#define GUS_RAMPRANGE(GUS_RAMPRANGE94,3851 -#define GUS_RAMPRATE(GUS_RAMPRATE95,3948 -#define GUS_RAMPMODE(GUS_RAMPMODE96,4037 -#define GUS_RAMPON(GUS_RAMPON97,4120 -#define GUS_RAMPOFF(GUS_RAMPOFF98,4199 -#define GUS_VOLUME_SCALE(GUS_VOLUME_SCALE99,4274 -#define GUS_VOICE_POS(GUS_VOICE_POS100,4371 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/err.h,131 -#define _LINUX_ERR_H2,21 -static inline void *ERR_PTR(16,366 -static inline long PTR_ERR(21,435 -static inline long IS_ERR(26,504 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/video_encoder.h,416 -#define _LINUX_VIDEO_ENCODER_H2,31 -struct video_encoder_capability video_encoder_capability4,63 -#define VIDEO_ENCODER_PAL 6,139 -#define VIDEO_ENCODER_NTSC 7,195 -#define VIDEO_ENCODER_SECAM 8,246 -#define VIDEO_ENCODER_CCIR 9,299 -#define ENCODER_GET_CAPABILITIES 14,487 -#define ENCODER_SET_NORM 15,566 -#define ENCODER_SET_INPUT 16,609 -#define ENCODER_SET_OUTPUT 17,680 -#define ENCODER_ENABLE_OUTPUT 18,754 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/parser.h,163 -struct match_token match_token12,300 -typedef struct match_token match_table_t[match_table_t17,353 -enum {MAX_OPT_ARGS 20,472 -} substring_t;substring_t26,598 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fdreg.h,2105 -#define _LINUX_FDREG_H2,23 -#define FD_IOPORT 10,234 -#define FD_IOPORT 14,376 -#define FD_STATUS 18,454 -#define FD_DATA 19,489 -#define FD_DOR 22,554 -#define FD_DIR 25,624 -#define FD_DCR 28,697 -#define STATUS_BUSYMASK 31,766 -#define STATUS_BUSY 32,818 -#define STATUS_DMA 33,859 -#define STATUS_DIR 34,902 -#define STATUS_READY 35,945 -#define ST0_DS 38,1015 -#define ST0_HA 39,1061 -#define ST0_NR 40,1104 -#define ST0_ECE 41,1142 -#define ST0_SE 42,1193 -#define ST0_INTR 43,1230 -#define ST1_MAM 46,1301 -#define ST1_WP 47,1351 -#define ST1_ND 48,1393 -#define ST1_OR 49,1442 -#define ST1_CRC 50,1478 -#define ST1_EOC 51,1533 -#define ST2_MAM 54,1600 -#define ST2_BC 55,1658 -#define ST2_SNS 56,1699 -#define ST2_SEH 57,1747 -#define ST2_WC 58,1791 -#define ST2_CRC 59,1834 -#define ST2_CM 60,1887 -#define ST3_HA 63,1960 -#define ST3_DS 64,2003 -#define ST3_TZ 65,2053 -#define ST3_RY 66,2111 -#define ST3_WP 67,2154 -#define ST3_FT 68,2196 -#define FD_RECALIBRATE 71,2265 -#define FD_SEEK 72,2316 -#define FD_READ 73,2356 -#define FD_WRITE 74,2417 -#define FD_SENSEI 75,2465 -#define FD_SPECIFY 76,2518 -#define FD_FORMAT 77,2565 -#define FD_VERSION 78,2612 -#define FD_CONFIGURE 79,2660 -#define FD_PERPENDICULAR 80,2718 -#define FD_GETSTATUS 81,2777 -#define FD_DUMPREGS 82,2819 -#define FD_READID 83,2885 -#define FD_UNLOCK 84,2945 -#define FD_LOCK 85,2994 -#define FD_RSEEK_OUT 86,3040 -#define FD_RSEEK_IN 87,3105 -#define FD_PARTID 94,3467 -#define FD_SAVE 95,3530 -#define FD_DRIVESPEC 96,3591 -#define FD_RESTORE 100,3718 -#define FD_POWERDOWN 101,3766 -#define FD_FORMAT_N_WRITE 102,3834 -#define FD_OPTION 103,3902 -#define DMA_READ 107,4026 -#define DMA_WRITE 108,4048 -#define FDC_NONE 111,4103 -#define FDC_UNKNOWN 112,4125 -#define FDC_8272A 114,4221 -#define FDC_765ED 115,4271 -#define FDC_82072 116,4343 -#define FDC_82072A 117,4409 -#define FDC_82077_ORIG 118,4458 -#define FDC_82077 119,4531 -#define FDC_82078_UNKN 120,4570 -#define FDC_82078 121,4626 -#define FDC_82078_1 122,4684 -#define FDC_S82078B 123,4735 -#define FDC_87306 125,4846 -#define FD_RESET_DELAY 136,5322 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cpumask.h,3160 -#define __LINUX_CPUMASK_H2,26 -typedef struct { DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;cpumask_t81,3237 -#define cpu_set(cpu_set84,3338 -static inline void __cpu_set(85,3389 -#define cpu_clear(cpu_clear90,3485 -static inline void __cpu_clear(91,3540 -#define cpus_setall(cpus_setall96,3640 -static inline void __cpus_setall(97,3696 -#define cpus_clear(cpus_clear102,3795 -static inline void __cpus_clear(103,3849 -#define cpu_isset(cpu_isset109,4010 -#define cpu_test_and_set(cpu_test_and_set111,4075 -static inline int __cpu_test_and_set(112,4152 -#define cpus_and(cpus_and117,4263 -static inline void __cpus_and(118,4343 -#define cpus_or(cpus_or124,4517 -static inline void __cpus_or(125,4595 -#define cpus_xor(cpus_xor131,4767 -static inline void __cpus_xor(132,4847 -#define cpus_andnot(cpus_andnot138,5021 -static inline void __cpus_andnot(140,5113 -#define cpus_complement(cpus_complement146,5293 -static inline void __cpus_complement(147,5370 -#define cpus_equal(cpus_equal153,5519 -static inline int __cpus_equal(154,5590 -#define cpus_intersects(cpus_intersects160,5745 -static inline int __cpus_intersects(161,5826 -#define cpus_subset(cpus_subset167,5991 -static inline int __cpus_subset(168,6064 -#define cpus_empty(cpus_empty174,6221 -static inline int __cpus_empty(175,6275 -#define cpus_full(cpus_full180,6386 -static inline int __cpus_full(181,6446 -#define cpus_weight(cpus_weight186,6555 -static inline int __cpus_weight(187,6619 -#define cpus_shift_right(cpus_shift_right192,6732 -static inline void __cpus_shift_right(194,6824 -#define cpus_shift_left(cpus_shift_left200,6985 -static inline void __cpus_shift_left(202,7075 -#define first_cpu(first_cpu208,7234 -static inline int __first_cpu(209,7286 -#define next_cpu(next_cpu214,7417 -static inline int __next_cpu(215,7475 -#define cpumask_of_cpu(cpumask_of_cpu220,7616 -#define CPU_MASK_LAST_WORD 232,7880 -#define CPU_MASK_ALL 236,7969 -#define CPU_MASK_ALL 243,8089 -#define CPU_MASK_NONE 251,8256 -#define CPU_MASK_CPU0 256,8363 -#define cpus_addr(cpus_addr261,8444 -#define cpumask_scnprintf(cpumask_scnprintf263,8481 -static inline int __cpumask_scnprintf(265,8578 -#define cpumask_parse(cpumask_parse271,8735 -static inline int __cpumask_parse(273,8828 -#define for_each_cpu_mask(for_each_cpu_mask280,9000 -#define for_each_cpu_mask(for_each_cpu_mask285,9156 -#define num_online_cpus(num_online_cpus349,11958 -#define num_possible_cpus(num_possible_cpus350,12012 -#define num_present_cpus(num_present_cpus351,12070 -#define cpu_online(cpu_online352,12126 -#define cpu_possible(cpu_possible353,12184 -#define cpu_present(cpu_present354,12245 -#define num_online_cpus(num_online_cpus356,12310 -#define num_possible_cpus(num_possible_cpus357,12338 -#define num_present_cpus(num_present_cpus358,12368 -#define cpu_online(cpu_online359,12397 -#define cpu_possible(cpu_possible360,12435 -#define cpu_present(cpu_present361,12474 -#define any_online_cpu(any_online_cpu364,12520 -#define for_each_cpu(for_each_cpu373,12669 -#define for_each_online_cpu(for_each_online_cpu374,12740 -#define for_each_present_cpu(for_each_present_cpu375,12815 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smb_fs_sb.h,567 -#define _SMB_FS_SB10,154 -#define MAX_REQUEST_HARD 20,315 -enum smb_receive_state smb_receive_state22,351 - SMB_RECV_START,23,376 - SMB_RECV_HEADER,24,439 - SMB_RECV_HCOMPLETE,25,487 - SMB_RECV_PARAM,26,535 - SMB_RECV_DATA,27,583 - SMB_RECV_END,28,625 - SMB_RECV_DROP,29,662 - SMB_RECV_REQUEST,30,703 -#define server_from_inode(server_from_inode34,797 -#define server_from_dentry(server_from_dentry35,852 -#define SB_of(SB_of36,910 -struct smb_sb_info smb_sb_info38,957 -smb_lock_server_interruptible(82,1954 -smb_lock_server(88,2080 -smb_unlock_server(94,2171 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/blockgroup_lock.h,435 -#define _LINUX_BLOCKGROUP_LOCK_H2,33 -#define NR_BG_LOCKS 20,338 -#define NR_BG_LOCKS 22,382 -#define NR_BG_LOCKS 24,424 -#define NR_BG_LOCKS 26,466 -#define NR_BG_LOCKS 28,508 -#define NR_BG_LOCKS 30,536 -#define NR_BG_LOCKS 34,589 -struct bgl_lock bgl_lock37,636 -} ____cacheline_aligned_in_smp;39,672 -struct blockgroup_lock blockgroup_lock41,705 -static inline void bgl_lock_init(45,771 -#define sb_bgl_lock(sb_bgl_lock57,1024 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/irq_cpustat.h,211 -#define __irq_cpustat_h2,24 -#define __IRQ_STAT(__IRQ_STAT22,611 -#define softirq_pending(softirq_pending26,715 -#define local_softirq_pending(local_softirq_pending27,781 -#define nmi_count(nmi_count30,889 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/poll.h,507 -#define _LINUX_POLL_H2,22 -typedef void (*poll_queue_proc)poll_queue_proc19,305 -typedef struct poll_table_struct poll_table_struct21,403 -} poll_table;poll_table23,462 -static inline void poll_wait(25,477 -static inline void init_poll_funcptr(31,639 -struct poll_wqueues poll_wqueues39,795 -} fd_set_bits;fd_set_bits55,1124 -#define FDS_BITPERLONG 60,1184 -#define FDS_LONGS(FDS_LONGS61,1224 -#define FDS_BYTES(FDS_BYTES62,1287 -int get_fd_set(71,1544 -set_fd_set(86,1890 -void zero_fd_set(94,2060 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_ltalk.h,103 -#define __LINUX_LTALK_H2,24 -#define LTALK_HLEN 4,49 -#define LTALK_MTU 5,71 -#define LTALK_ALEN 6,94 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/root_dev.h,874 -#define _ROOT_DEV_H_2,21 - Root_NFS 7,76 - Root_NFS = MKDEV(7,76 - Root_NFS = MKDEV(UNNAMED_MAJOR,7,76 - Root_RAM0 8,115 - Root_RAM0 = MKDEV(8,115 - Root_RAM0 = MKDEV(RAMDISK_MAJOR,8,115 - Root_RAM1 9,153 - Root_RAM1 = MKDEV(9,153 - Root_RAM1 = MKDEV(RAMDISK_MAJOR,9,153 - Root_FD0 10,191 - Root_FD0 = MKDEV(10,191 - Root_FD0 = MKDEV(FLOPPY_MAJOR,10,191 - Root_HDA1 11,227 - Root_HDA1 = MKDEV(11,227 - Root_HDA1 = MKDEV(IDE0_MAJOR,11,227 - Root_HDA2 12,262 - Root_HDA2 = MKDEV(12,262 - Root_HDA2 = MKDEV(IDE0_MAJOR,12,262 - Root_SDA1 13,297 - Root_SDA1 = MKDEV(13,297 - Root_SDA1 = MKDEV(SCSI_DISK0_MAJOR,13,297 - Root_SDA2 14,338 - Root_SDA2 = MKDEV(14,338 - Root_SDA2 = MKDEV(SCSI_DISK0_MAJOR,14,338 - Root_HDC1 15,379 - Root_HDC1 = MKDEV(15,379 - Root_HDC1 = MKDEV(IDE1_MAJOR,15,379 - Root_SR0 16,414 - Root_SR0 = MKDEV(16,414 - Root_SR0 = MKDEV(SCSI_CDROM_MAJOR,16,414 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_nicstar.h,396 -#define LINUX_ATM_NICSTAR_H15,336 -#define NS_GETPSTAT 24,524 -#define NS_SETBUFLEV 26,621 -#define NS_ADJBUFLEV 28,723 -typedef struct buf_nrbuf_nr31,802 -}buf_nr;buf_nr36,878 -typedef struct pool_levelspool_levels39,889 -} pool_levels;pool_levels44,1016 -#define NS_BUFTYPE_SMALL 47,1073 -#define NS_BUFTYPE_LARGE 48,1100 -#define NS_BUFTYPE_HUGE 49,1127 -#define NS_BUFTYPE_IOVEC 50,1153 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmioc.h,698 -#define _LINUX_ATMIOC_H13,253 -#define ATMIOC_PHYCOM 18,367 -#define ATMIOC_PHYCOM_END 19,444 -#define ATMIOC_PHYTYP 20,475 -#define ATMIOC_PHYTYP_END 21,551 -#define ATMIOC_PHYPRV 22,582 -#define ATMIOC_PHYPRV_END 23,659 -#define ATMIOC_SARCOM 24,690 -#define ATMIOC_SARCOM_END 25,767 -#define ATMIOC_SARPRV 26,798 -#define ATMIOC_SARPRV_END 27,875 -#define ATMIOC_ITF 28,906 -#define ATMIOC_ITF_END 29,972 -#define ATMIOC_BACKEND 30,1002 -#define ATMIOC_BACKEND_END 31,1081 -#define ATMIOC_AREQUIPA 33,1154 -#define ATMIOC_LANE 34,1235 -#define ATMIOC_MPOA 35,1299 -#define ATMIOC_CLIP 36,1358 -#define ATMIOC_CLIP_END 37,1434 -#define ATMIOC_SPECIAL 38,1465 -#define ATMIOC_SPECIAL_END 39,1543 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_pppox.h,1218 -#define __LINUX_IF_PPPOX_H17,663 -#define AF_PPPOX 35,1066 -#define PF_PPPOX 36,1086 -typedef __u16 sid_t;sid_t42,1250 -struct pppoe_addr{pppoe_addr43,1272 -#define PX_PROTO_OE 52,1630 -#define PX_MAX_PROTO 53,1682 -struct sockaddr_pppox sockaddr_pppox55,1710 -#define PPPOEIOCSFWD 70,2201 -#define PPPOEIOCDFWD 71,2244 -#define PADI_CODE 75,2364 -#define PADO_CODE 76,2387 -#define PADR_CODE 77,2410 -#define PADS_CODE 78,2433 -#define PADT_CODE 79,2456 -struct pppoe_tag pppoe_tag80,2479 -#define PTT_EOL 87,2599 -#define PTT_SRV_NAME 88,2641 -#define PTT_AC_NAME 89,2687 -#define PTT_HOST_UNIQ 90,2732 -#define PTT_AC_COOKIE 91,2779 -#define PTT_VENDOR 92,2826 -#define PTT_RELAY_SID 93,2871 -#define PTT_SRV_ERR 94,2918 -#define PTT_SYS_ERR 95,2967 -#define PTT_GEN_ERR 96,3014 -struct pppoe_hdr pppoe_hdr98,3062 -struct pppoe_opt pppoe_opt115,3381 -struct pppox_opt pppox_opt122,3631 -#define pppoe_dev 131,3813 -#define pppoe_pa 132,3847 -#define pppoe_relay 133,3879 -#define pppox_sk(pppox_sk135,3918 -struct pppox_proto pppox_proto139,4000 - PPPOX_NONE 154,4505 - PPPOX_CONNECTED 155,4547 - PPPOX_BOUND 156,4620 - PPPOX_RELAY 157,4669 - PPPOX_ZOMBIE 158,4720 - PPPOX_DEAD 159,4785 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_ec.h,588 -#define __LINUX_IF_EC4,61 -struct ec_addrec_addr8,164 -struct sockaddr_ecsockaddr_ec14,280 -#define ECTYPE_PACKET_RECEIVED 24,521 -#define ECTYPE_TRANSMIT_STATUS 25,577 -#define ECTYPE_TRANSMIT_OK 28,675 -#define ECTYPE_TRANSMIT_NOT_LISTENING 29,705 -#define ECTYPE_TRANSMIT_NET_ERROR 30,745 -#define ECTYPE_TRANSMIT_NO_CLOCK 31,781 -#define ECTYPE_TRANSMIT_LINE_JAMMED 32,816 -#define ECTYPE_TRANSMIT_NOT_PRESENT 33,854 -#define EC_HLEN 37,912 -struct ec_framehdr ec_framehdr40,993 -struct econet_opteconet_opt50,1161 -#define ec_sk(ec_sk59,1295 -struct ec_deviceec_device61,1359 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mmzone.h,2001 -#define _LINUX_MMZONE_H2,24 -#define MAX_ORDER 18,382 -#define MAX_ORDER 20,409 -struct free_area free_area23,462 -struct zone_padding zone_padding37,858 -} ____cacheline_maxaligned_in_smp;39,888 -#define ZONE_PADDING(ZONE_PADDING40,923 -#define ZONE_PADDING(ZONE_PADDING42,982 -struct per_cpu_pages per_cpu_pages45,1017 -struct per_cpu_pageset per_cpu_pageset53,1286 -} ____cacheline_aligned_in_smp;63,1769 -#define ZONE_DMA 65,1802 -#define ZONE_NORMAL 66,1822 -#define ZONE_HIGHMEM 67,1845 -#define MAX_NR_ZONES 69,1870 -#define ZONES_SHIFT 70,1927 -#define GFP_ZONEMASK 86,2745 -#define GFP_ZONETYPES 99,3428 -struct zone zone110,3790 - ZONE_PADDING(ZONE_PADDING131,4587 -#define DEF_PRIORITY 223,7658 -struct zonelist zonelist236,8132 -typedef struct pglist_data pglist_data253,8614 -} pg_data_t;pg_data_t267,9121 -#define node_present_pages(node_present_pages269,9135 -#define node_spanned_pages(node_spanned_pages270,9204 -#define zone_idx(zone_idx285,9711 -#define for_each_pgdat(for_each_pgdat298,10024 -static inline struct zone *next_zone(305,10236 -#define for_each_zone(for_each_zone335,10987 -static inline int is_highmem_idx(338,11085 -static inline int is_normal_idx(343,11163 -static inline int is_highmem(353,11516 -static inline int is_normal(358,11632 -#define numa_node_id(numa_node_id373,12165 -#define NODE_DATA(NODE_DATA378,12297 -#define NODE_MEM_MAP(NODE_MEM_MAP379,12341 -#define MAX_NODES_SHIFT 380,12375 -#define pfn_to_nid(pfn_to_nid381,12402 -#define MAX_NODES_SHIFT 392,12698 -#define MAX_NODES_SHIFT 397,12810 -#define MAX_ZONES_SHIFT 407,13038 -#define node_online(node_online417,13258 -#define node_set_online(node_set_online418,13316 -#define node_set_offline(node_set_offline419,13377 -static inline unsigned int num_online_nodes(420,13441 -#define node_online(node_online433,13648 -#define node_set_online(node_set_online435,13737 -#define node_set_offline(node_set_offline437,13829 -#define num_online_nodes(num_online_nodes439,13924 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hdlc.h,1515 -#define __HDLC_H12,324 -#define GENERIC_HDLC_VERSION 14,342 -#define CLOCK_DEFAULT 16,421 -#define CLOCK_EXT 17,469 -#define CLOCK_INT 18,526 -#define CLOCK_TXINT 19,583 -#define CLOCK_TXFROMRX 20,645 -#define ENCODING_DEFAULT 23,718 -#define ENCODING_NRZ 24,767 -#define ENCODING_NRZI 25,791 -#define ENCODING_FM_MARK 26,816 -#define ENCODING_FM_SPACE 27,843 -#define ENCODING_MANCHESTER 28,871 -#define PARITY_DEFAULT 31,903 -#define PARITY_NONE 32,951 -#define PARITY_CRC16_PR0 33,990 -#define PARITY_CRC16_PR1 34,1051 -#define PARITY_CRC16_PR0_CCITT 35,1112 -#define PARITY_CRC16_PR1_CCITT 36,1188 -#define PARITY_CRC32_PR0_CCITT 37,1264 -#define PARITY_CRC32_PR1_CCITT 38,1335 -#define LMI_DEFAULT 40,1407 -#define LMI_NONE 41,1452 -#define LMI_ANSI 42,1506 -#define LMI_CCITT 43,1545 -#define HDLC_MAX_MTU 45,1587 -#define HDLC_MAX_MRU 46,1639 -}__attribute__ ((packed)packed61,1941 -}__attribute__ ((packed)packed71,2085 -#define CISCO_PACKET_LEN 72,2125 -#define CISCO_BIG_PACKET_LEN 73,2153 -typedef struct pvc_device_struct pvc_device_struct77,2188 -}pvc_device;pvc_device93,2604 -typedef struct hdlc_device_struct hdlc_device_struct97,2620 -}hdlc_device;hdlc_device171,4407 -static __inline__ hdlc_device* dev_to_hdlc(194,5184 -static __inline__ pvc_device* dev_to_pvc(200,5283 -static __inline__ void debug_frame(206,5386 -static __inline__ void hdlc_proto_detach(229,6011 -static __inline__ struct net_device_stats *hdlc_stats(237,6158 -static __inline__ unsigned short hdlc_type_trans(243,6276 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/numa.h,84 -#define _LINUX_NUMA_H2,22 -#define NODES_SHIFT 11,153 -#define MAX_NUMNODES 14,187 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jiffies.h,243 -#define _LINUX_JIFFIES_H2,25 -static inline u64 get_jiffies_64(22,518 -#define time_after(time_after41,1087 -#define time_before(time_before45,1215 -#define time_after_eq(time_after_eq47,1257 -#define time_before_eq(time_before_eq51,1388 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/quotaops.h,1933 -#define _LINUX_QUOTAOPS_11,278 -#define vfs_quota_off_mount(vfs_quota_off_mount44,1492 -#define sb_dquot_ops 57,2106 -#define sb_quotactl_ops 58,2147 -static __inline__ void DQUOT_INIT(62,2338 -static __inline__ void DQUOT_DROP(70,2562 -static __inline__ int DQUOT_PREALLOC_SPACE_NODIRTY(93,3491 -static __inline__ int DQUOT_PREALLOC_SPACE(105,3797 -static __inline__ int DQUOT_ALLOC_SPACE_NODIRTY(113,3991 -static __inline__ int DQUOT_ALLOC_SPACE(125,4294 -static __inline__ int DQUOT_ALLOC_INODE(133,4474 -static __inline__ void DQUOT_FREE_SPACE_NODIRTY(143,4691 -static __inline__ void DQUOT_FREE_SPACE(151,4898 -static __inline__ void DQUOT_FREE_INODE(157,5040 -static __inline__ int DQUOT_TRANSFER(163,5190 -#define DQUOT_SYNC(DQUOT_SYNC174,5520 -static __inline__ int DQUOT_OFF(176,5564 -#define sb_dquot_ops 190,5790 -#define sb_quotactl_ops 191,5821 -#define sync_dquots_dev(sync_dquots_dev192,5855 -#define DQUOT_INIT(DQUOT_INIT193,5897 -#define DQUOT_DROP(DQUOT_DROP194,5941 -#define DQUOT_ALLOC_INODE(DQUOT_ALLOC_INODE195,5985 -#define DQUOT_FREE_INODE(DQUOT_FREE_INODE196,6023 -#define DQUOT_SYNC(DQUOT_SYNC197,6073 -#define DQUOT_OFF(DQUOT_OFF198,6115 -#define DQUOT_TRANSFER(DQUOT_TRANSFER199,6156 -extern __inline__ int DQUOT_PREALLOC_SPACE_NODIRTY(200,6198 -extern __inline__ int DQUOT_PREALLOC_SPACE(206,6327 -extern __inline__ int DQUOT_ALLOC_SPACE_NODIRTY(213,6487 -extern __inline__ int DQUOT_ALLOC_SPACE(219,6613 -extern __inline__ void DQUOT_FREE_SPACE_NODIRTY(226,6767 -extern __inline__ void DQUOT_FREE_SPACE(231,6882 -#define DQUOT_PREALLOC_BLOCK_NODIRTY(DQUOT_PREALLOC_BLOCK_NODIRTY239,7052 -#define DQUOT_PREALLOC_BLOCK(DQUOT_PREALLOC_BLOCK240,7188 -#define DQUOT_ALLOC_BLOCK_NODIRTY(DQUOT_ALLOC_BLOCK_NODIRTY241,7308 -#define DQUOT_ALLOC_BLOCK(DQUOT_ALLOC_BLOCK242,7438 -#define DQUOT_FREE_BLOCK_NODIRTY(DQUOT_FREE_BLOCK_NODIRTY243,7552 -#define DQUOT_FREE_BLOCK(DQUOT_FREE_BLOCK244,7680 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/zutil.h,689 -#define _Z_UTIL_H14,477 -typedef unsigned char uch;uch21,598 -typedef unsigned short ush;ush22,626 -typedef unsigned long ulg;ulg23,654 -# define DEF_WBITS 28,733 -# define DEF_MEM_LEVEL 33,872 -# define DEF_MEM_LEVEL 35,904 -#define STORED_BLOCK 39,974 -#define STATIC_TREES 40,997 -#define DYN_TREES 41,1020 -#define MIN_MATCH 44,1080 -#define MAX_MATCH 45,1101 -#define PRESET_DICT 48,1169 -# define OS_CODE 55,1321 -typedef uLong (*check_func)check_func60,1398 -#define BASE 66,1531 -#define NMAX 67,1590 -#define DO1(DO170,1685 -#define DO2(DO271,1731 -#define DO4(DO472,1777 -#define DO8(DO873,1823 -#define DO16(DO1674,1869 -static inline uLong zlib_adler32(91,2489 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/apm_bios.h,3936 -#define _LINUX_APM_H2,21 -typedef unsigned short apm_event_t;apm_event_t19,652 -typedef unsigned short apm_eventinfo_t;apm_eventinfo_t20,688 -#define APM_CS 24,748 -#define APM_CS_16 25,793 -#define APM_DS 26,824 -struct apm_bios_info apm_bios_info28,857 -#define APM_16_BIT_SUPPORT 41,1145 -#define APM_32_BIT_SUPPORT 42,1179 -#define APM_IDLE_SLOWS_CLOCK 43,1213 -#define APM_BIOS_DISABLED 44,1249 -#define APM_BIOS_DISENGAGED 45,1288 -struct apm_info apm_info50,1396 -#define APM_FUNC_INST_CHECK 64,1670 -#define APM_FUNC_REAL_CONN 65,1705 -#define APM_FUNC_16BIT_CONN 66,1739 -#define APM_FUNC_32BIT_CONN 67,1774 -#define APM_FUNC_DISCONN 68,1809 -#define APM_FUNC_IDLE 69,1841 -#define APM_FUNC_BUSY 70,1871 -#define APM_FUNC_SET_STATE 71,1901 -#define APM_FUNC_ENABLE_PM 72,1935 -#define APM_FUNC_RESTORE_BIOS 73,1969 -#define APM_FUNC_GET_STATUS 74,2006 -#define APM_FUNC_GET_EVENT 75,2041 -#define APM_FUNC_GET_STATE 76,2075 -#define APM_FUNC_ENABLE_DEV_PM 77,2109 -#define APM_FUNC_VERSION 78,2147 -#define APM_FUNC_ENGAGE_PM 79,2179 -#define APM_FUNC_GET_CAP 80,2213 -#define APM_FUNC_RESUME_TIMER 81,2245 -#define APM_FUNC_RESUME_ON_RING 82,2282 -#define APM_FUNC_TIMER 83,2321 -#define APM_FUNC_DISABLE_TIMER 88,2403 -#define APM_FUNC_GET_TIMER 89,2436 -#define APM_FUNC_SET_TIMER 90,2465 -#define APM_FUNC_DISABLE_RING 95,2547 -#define APM_FUNC_ENABLE_RING 96,2579 -#define APM_FUNC_GET_RING 97,2610 -#define APM_FUNC_TIMER_DISABLE 102,2689 -#define APM_FUNC_TIMER_ENABLE 103,2722 -#define APM_FUNC_TIMER_GET 104,2754 -#define APM_STATE_READY 116,2904 -#define APM_STATE_STANDBY 117,2936 -#define APM_STATE_SUSPEND 118,2969 -#define APM_STATE_OFF 119,3002 -#define APM_STATE_BUSY 120,3032 -#define APM_STATE_REJECT 121,3063 -#define APM_STATE_OEM_SYS 122,3095 -#define APM_STATE_OEM_DEV 123,3128 -#define APM_STATE_DISABLE 125,3162 -#define APM_STATE_ENABLE 126,3195 -#define APM_STATE_DISENGAGE 128,3228 -#define APM_STATE_ENGAGE 129,3263 -#define APM_SYS_STANDBY 134,3339 -#define APM_SYS_SUSPEND 135,3371 -#define APM_NORMAL_RESUME 136,3403 -#define APM_CRITICAL_RESUME 137,3436 -#define APM_LOW_BATTERY 138,3471 -#define APM_POWER_STATUS_CHANGE 139,3503 -#define APM_UPDATE_TIME 140,3542 -#define APM_CRITICAL_SUSPEND 141,3574 -#define APM_USER_STANDBY 142,3610 -#define APM_USER_SUSPEND 143,3642 -#define APM_STANDBY_RESUME 144,3674 -#define APM_CAPABILITY_CHANGE 145,3708 -#define APM_SUCCESS 150,3768 -#define APM_DISABLED 151,3794 -#define APM_CONNECTED 152,3821 -#define APM_NOT_CONNECTED 153,3849 -#define APM_16_CONNECTED 154,3880 -#define APM_16_UNSUPPORTED 155,3910 -#define APM_32_CONNECTED 156,3942 -#define APM_32_UNSUPPORTED 157,3972 -#define APM_BAD_DEVICE 158,4004 -#define APM_BAD_PARAM 159,4033 -#define APM_NOT_ENGAGED 160,4061 -#define APM_BAD_FUNCTION 161,4091 -#define APM_RESUME_DISABLED 162,4121 -#define APM_NO_ERROR 163,4154 -#define APM_BAD_STATE 164,4181 -#define APM_NO_EVENTS 165,4209 -#define APM_NOT_PRESENT 166,4237 -#define APM_DEVICE_BIOS 171,4293 -#define APM_DEVICE_ALL 172,4325 -#define APM_DEVICE_DISPLAY 173,4356 -#define APM_DEVICE_STORAGE 174,4390 -#define APM_DEVICE_PARALLEL 175,4424 -#define APM_DEVICE_SERIAL 176,4459 -#define APM_DEVICE_NETWORK 177,4492 -#define APM_DEVICE_PCMCIA 178,4526 -#define APM_DEVICE_BATTERY 179,4559 -#define APM_DEVICE_OEM 180,4593 -#define APM_DEVICE_OLD_ALL 181,4624 -#define APM_DEVICE_CLASS 182,4658 -#define APM_DEVICE_MASK 183,4690 -#define APM_DEVICE_BALL 189,4805 -#define APM_MAX_BATTERIES 196,4949 -#define APM_CAP_GLOBAL_STANDBY 201,5021 -#define APM_CAP_GLOBAL_SUSPEND 202,5060 -#define APM_CAP_RESUME_STANDBY_TIMER 203,5099 -#define APM_CAP_RESUME_SUSPEND_TIMER 204,5175 -#define APM_CAP_RESUME_STANDBY_RING 205,5251 -#define APM_CAP_RESUME_SUSPEND_RING 206,5326 -#define APM_CAP_RESUME_STANDBY_PCMCIA 207,5401 -#define APM_CAP_RESUME_SUSPEND_PCMCIA 208,5474 -#define APM_IOC_STANDBY 215,5601 -#define APM_IOC_SUSPEND 216,5638 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hash.h,189 -#define _LINUX_HASH_H2,22 -#define GOLDEN_RATIO_PRIME 18,656 -#define GOLDEN_RATIO_PRIME 21,773 -static inline unsigned long hash_long(26,887 -static inline unsigned long hash_ptr(54,1449 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/8250_pci.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/moduleparam.h,1294 -#define _LINUX_MODULE_PARAMS_H2,31 -#define MODULE_PARAM_PREFIX 11,307 -#define MODULE_PARAM_PREFIX 13,353 -typedef int (*param_set_fn)param_set_fn19,491 -typedef int (*param_get_fn)param_get_fn21,632 -struct kernel_param kernel_param23,701 -struct kparam_string kparam_string32,867 -struct kparam_arraykparam_array38,960 -#define __module_param_call(__module_param_call52,1314 -#define module_param_call(module_param_call59,1640 -#define module_param_named(module_param_named65,1951 -#define module_param(module_param69,2131 -#define module_param_string(module_param_string73,2288 -#define __param_check(__param_check89,2916 -#define param_check_byte(param_check_byte94,3148 -#define param_check_short(param_check_short98,3358 -#define param_check_ushort(param_check_ushort102,3563 -#define param_check_int(param_check_int106,3772 -#define param_check_uint(param_check_uint110,3969 -#define param_check_long(param_check_long114,4176 -#define param_check_ulong(param_check_ulong118,4377 -#define param_check_charp(param_check_charp122,4588 -#define param_check_bool(param_check_bool126,4790 -#define param_check_invbool(param_check_invbool130,4994 -#define module_param_array_named(module_param_array_named133,5135 -#define module_param_array(module_param_array140,5452 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ramfs.h,28 -#define _LINUX_RAMFS_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/utsname.h,209 -#define _LINUX_UTSNAME_H2,25 -#define __OLD_UTS_LEN 4,51 -struct oldold_utsname oldold_utsname6,76 -#define __NEW_UTS_LEN 14,195 -struct old_utsname old_utsname16,221 -struct new_utsname new_utsname24,342 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/phonedev.h,132 -#define __LINUX_PHONEDEV_H2,27 -struct phone_device phone_device11,152 -#define PHONE_MAJOR 20,374 -#define PHONE_UNIT_ANY 22,465 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter.h,721 -#define __LINUX_NETFILTER_H2,28 -#define NF_DROP 16,316 -#define NF_ACCEPT 17,334 -#define NF_STOLEN 18,354 -#define NF_QUEUE 19,374 -#define NF_REPEAT 20,393 -#define NF_MAX_VERDICT 21,413 -#define NFC_UNKNOWN 25,539 -#define NFC_ALTERED 26,566 -#define NF_MAX_HOOKS 35,728 -typedef unsigned int nf_hookfn(nf_hookfn40,788 -struct nf_hook_opsnf_hook_ops46,995 -struct nf_sockopt_opsnf_sockopt_ops59,1209 -struct nf_infonf_info80,1713 -typedef void nf_logfn(nf_logfn103,2481 -#define NF_HOOK(NF_HOOK141,3730 -#define NF_HOOK_THRESH 143,3857 -#define NF_HOOK(NF_HOOK145,3899 -#define NF_HOOK_THRESH(NF_HOOK_THRESH149,4096 -typedef int (*nf_queue_outfn_t)nf_queue_outfn_t166,4706 -#define NF_HOOK(NF_HOOK185,5397 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netdevice.h,6509 -#define _LINUX_NETDEVICE_H26,959 -#define SET_ETHTOOL_OPS(SET_ETHTOOL_OPS46,1334 -#define HAVE_ALLOC_NETDEV 49,1408 -#define HAVE_FREE_NETDEV 51,1502 -#define HAVE_NETDEV_PRIV 52,1548 -#define NET_XMIT_SUCCESS 54,1595 -#define NET_XMIT_DROP 55,1622 -#define NET_XMIT_CN 56,1667 -#define NET_XMIT_POLICED 57,1720 -#define NET_XMIT_BYPASS 58,1775 -#define NET_RX_SUCCESS 63,1956 -#define NET_RX_DROP 64,2012 -#define NET_RX_CN_LOW 65,2057 -#define NET_RX_CN_MOD 66,2116 -#define NET_RX_CN_HIGH 67,2167 -#define NET_RX_BAD 68,2219 -#define net_xmit_errno(net_xmit_errno70,2284 -#define MAX_ADDR_LEN 74,2355 -#define NETDEV_TX_OK 77,2454 -#define NETDEV_TX_BUSY 78,2511 -#define NETDEV_TX_LOCKED 79,2565 -#define LL_MAX_HEADER 87,2799 -#define LL_MAX_HEADER 90,2886 -#define LL_MAX_HEADER 92,2917 -#define MAX_HEADER 98,3050 -#define MAX_HEADER 100,3089 -struct net_device_statsnet_device_stats108,3231 - IF_PORT_UNKNOWN 144,4505 - IF_PORT_10BASE2,145,4534 - IF_PORT_10BASET,146,4559 - IF_PORT_AUI,147,4584 - IF_PORT_100BASET,148,4605 - IF_PORT_100BASETX,149,4631 - IF_PORT_100BASEFX150,4658 -struct netif_rx_statsnetif_rx_stats162,4814 -struct dev_mc_listdev_mc_list183,5213 -struct hh_cachehh_cache192,5364 -#define HH_DATA_MOD 205,5921 -#define HH_DATA_OFF(HH_DATA_OFF206,5944 -#define HH_DATA_ALIGN(HH_DATA_ALIGN208,6020 -#define LL_RESERVED_SPACE(LL_RESERVED_SPACE221,6511 -#define LL_RESERVED_SPACE_EXTRA(LL_RESERVED_SPACE_EXTRA223,6605 -enum netdev_state_tnetdev_state_t231,6858 - __LINK_STATE_XOFF=233,6880 - __LINK_STATE_START,234,6902 - __LINK_STATE_PRESENT,235,6923 - __LINK_STATE_SCHED,236,6946 - __LINK_STATE_NOCARRIER,237,6967 - __LINK_STATE_RX_SCHED,238,6992 - __LINK_STATE_LINKWATCH_PENDING239,7016 -struct netdev_boot_setup netdev_boot_setup247,7174 -#define NETDEV_BOOT_SETUP_MAX 251,7245 -struct net_devicenet_device264,7585 - enum { NETREG_UNINITIALIZED=394,11659 - NETREG_REGISTERING,395,11691 - NETREG_REGISTERED,396,11751 - NETREG_UNREGISTERING,397,11808 - NETREG_UNREGISTERED,398,11872 - NETREG_RELEASED,399,11933 -#define NETIF_F_SG 404,12043 -#define NETIF_F_IP_CSUM 405,12090 -#define NETIF_F_NO_CSUM 406,12160 -#define NETIF_F_HW_CSUM 407,12234 -#define NETIF_F_HIGHDMA 408,12297 -#define NETIF_F_FRAGLIST 409,12355 -#define NETIF_F_HW_VLAN_TX 410,12408 -#define NETIF_F_HW_VLAN_RX 411,12475 -#define NETIF_F_HW_VLAN_FILTER 412,12541 -#define NETIF_F_VLAN_CHALLENGED 413,12608 -#define NETIF_F_TSO 414,12685 -#define NETIF_F_LLTX 415,12749 -#define HAVE_NETDEV_POLL427,13201 -#define HAVE_MULTICAST 436,13486 -#define HAVE_SET_MAC_ADDR 438,13568 -#define HAVE_PRIVATE_IOCTL441,13671 -#define HAVE_SET_CONFIG444,13779 -#define HAVE_HEADER_CACHE447,13879 -#define HAVE_CHANGE_MTU453,14118 -#define HAVE_TX_TIMEOUT456,14202 -#define NETDEV_ALIGN 491,15248 -#define NETDEV_ALIGN_CONST 492,15273 -static inline void *netdev_priv(494,15320 -#define SET_MODULE_OWNER(SET_MODULE_OWNER501,15486 -#define SET_NETDEV_DEV(SET_NETDEV_DEV505,15687 -struct packet_type packet_type507,15754 -typedef int gifconf_func_t(gifconf_func_t554,17845 -static inline int unregister_gifconf(556,18006 -struct softnet_datasoftnet_data566,18199 -#define HAVE_NETIF_QUEUE581,18515 -static inline void __netif_schedule(583,18541 -static inline void netif_schedule(598,18913 -static inline void netif_start_queue(604,19049 -static inline void netif_wake_queue(609,19159 -static inline void netif_stop_queue(619,19371 -static inline int netif_queue_stopped(628,19543 -static inline int netif_running(633,19666 -static inline void dev_kfree_skb_irq(642,19883 -static inline void dev_kfree_skb_any(660,20348 -#define HAVE_NETIF_RX 668,20499 -#define HAVE_NETIF_RECEIVE_SKB 670,20566 -static inline int netif_rx_ni(687,21228 -static inline void dev_put(698,21490 -#define __dev_put(__dev_put703,21573 -#define dev_hold(dev_hold704,21623 -static inline int netif_carrier_ok(713,21928 -static inline void netif_carrier_on(720,22113 -static inline void netif_carrier_off(728,22323 -static inline int netif_device_present(735,22499 -static inline void netif_device_detach(740,22620 -static inline void netif_device_attach(748,22805 -#define HAVE_NETIF_MSG 760,23070 - NETIF_MSG_DRV 763,23103 - NETIF_MSG_DRV = 0x0001,763,23103 - NETIF_MSG_PROBE 764,23129 - NETIF_MSG_PROBE = 0x0002,764,23129 - NETIF_MSG_LINK 765,23157 - NETIF_MSG_LINK = 0x0004,765,23157 - NETIF_MSG_TIMER 766,23184 - NETIF_MSG_TIMER = 0x0008,766,23184 - NETIF_MSG_IFDOWN 767,23212 - NETIF_MSG_IFDOWN = 0x0010,767,23212 - NETIF_MSG_IFUP 768,23240 - NETIF_MSG_IFUP = 0x0020,768,23240 - NETIF_MSG_RX_ERR 769,23267 - NETIF_MSG_RX_ERR = 0x0040,769,23267 - NETIF_MSG_TX_ERR 770,23295 - NETIF_MSG_TX_ERR = 0x0080,770,23295 - NETIF_MSG_TX_QUEUED 771,23323 - NETIF_MSG_TX_QUEUED = 0x0100,771,23323 - NETIF_MSG_INTR 772,23354 - NETIF_MSG_INTR = 0x0200,772,23354 - NETIF_MSG_TX_DONE 773,23381 - NETIF_MSG_TX_DONE = 0x0400,773,23381 - NETIF_MSG_RX_STATUS 774,23410 - NETIF_MSG_RX_STATUS = 0x0800,774,23410 - NETIF_MSG_PKTDATA 775,23441 - NETIF_MSG_PKTDATA = 0x1000,775,23441 - NETIF_MSG_HW 776,23470 - NETIF_MSG_HW = 0x2000,776,23470 - NETIF_MSG_WOL 777,23495 - NETIF_MSG_WOL = 0x4000,777,23495 -#define netif_msg_drv(netif_msg_drv780,23525 -#define netif_msg_probe(netif_msg_probe781,23584 -#define netif_msg_link(netif_msg_link782,23647 -#define netif_msg_timer(netif_msg_timer783,23708 -#define netif_msg_ifdown(netif_msg_ifdown784,23771 -#define netif_msg_ifup(netif_msg_ifup785,23836 -#define netif_msg_rx_err(netif_msg_rx_err786,23897 -#define netif_msg_tx_err(netif_msg_tx_err787,23962 -#define netif_msg_tx_queued(netif_msg_tx_queued788,24027 -#define netif_msg_intr(netif_msg_intr789,24098 -#define netif_msg_tx_done(netif_msg_tx_done790,24159 -#define netif_msg_rx_status(netif_msg_rx_status791,24226 -#define netif_msg_pktdata(netif_msg_pktdata792,24297 -#define netif_msg_hw(netif_msg_hw793,24364 -#define netif_msg_wol(netif_msg_wol794,24422 -static inline u32 netif_msg_init(796,24482 -static inline int netif_rx_schedule_prep(809,24811 -static inline void __netif_rx_schedule(819,25082 -static inline void netif_rx_schedule(836,25492 -static inline int netif_rx_reschedule(845,25723 -static inline void netif_rx_complete(866,26307 -static inline void netif_poll_disable(878,26608 -static inline void netif_poll_enable(887,26822 -static inline void __netif_rx_complete(895,27031 -static inline void netif_tx_disable(903,27260 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/filter.h,2032 -#define __LINUX_FILTER_H__6,74 -#define BPF_MAJOR_VERSION 13,190 -#define BPF_MINOR_VERSION 14,218 -struct sock_filter sock_filter21,400 -struct sock_fprog sock_fprog29,609 -struct sk_filtersk_filter36,776 -static inline unsigned int sk_filter_len(43,925 -#define BPF_CLASS(BPF_CLASS53,1089 -#define BPF_LD 54,1129 -#define BPF_LDX 55,1166 -#define BPF_ST 56,1203 -#define BPF_STX 57,1240 -#define BPF_ALU 58,1277 -#define BPF_JMP 59,1314 -#define BPF_RET 60,1351 -#define BPF_MISC 61,1388 -#define BPF_SIZE(BPF_SIZE64,1446 -#define BPF_W 65,1486 -#define BPF_H 66,1523 -#define BPF_B 67,1560 -#define BPF_MODE(BPF_MODE68,1597 -#define BPF_IMM 69,1637 -#define BPF_ABS 70,1674 -#define BPF_IND 71,1711 -#define BPF_MEM 72,1748 -#define BPF_LEN 73,1785 -#define BPF_MSH 74,1822 -#define BPF_OP(BPF_OP77,1881 -#define BPF_ADD 78,1921 -#define BPF_SUB 79,1958 -#define BPF_MUL 80,1995 -#define BPF_DIV 81,2032 -#define BPF_OR 82,2069 -#define BPF_AND 83,2106 -#define BPF_LSH 84,2143 -#define BPF_RSH 85,2180 -#define BPF_NEG 86,2217 -#define BPF_JA 87,2254 -#define BPF_JEQ 88,2291 -#define BPF_JGT 89,2328 -#define BPF_JGE 90,2365 -#define BPF_JSET 91,2402 -#define BPF_SRC(BPF_SRC92,2439 -#define BPF_K 93,2479 -#define BPF_X 94,2516 -#define BPF_RVAL(BPF_RVAL97,2593 -#define BPF_A 98,2633 -#define BPF_MISCOP(BPF_MISCOP101,2682 -#define BPF_TAX 102,2723 -#define BPF_TXA 103,2760 -#define BPF_MAXINSNS 106,2819 -#define BPF_STMT(BPF_STMT113,2924 -#define BPF_JUMP(BPF_JUMP116,3010 -#define BPF_MEMWORDS 122,3155 -#define SKF_AD_OFF 129,3372 -#define SKF_AD_PROTOCOL 130,3404 -#define SKF_AD_PKTTYPE 131,3430 -#define SKF_AD_IFINDEX 132,3456 -#define SKF_AD_MAX 133,3482 -#define SKF_NET_OFF 134,3505 -#define SKF_LL_OFF 135,3539 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cache.h,451 -#define __LINUX_CACHE_H2,24 -#define L1_CACHE_ALIGN(L1_CACHE_ALIGN9,148 -#define SMP_CACHE_BYTES 13,231 -#define ____cacheline_aligned 17,308 -#define ____cacheline_aligned_in_smp 22,447 -#define ____cacheline_aligned_in_smp24,512 -#define __cacheline_aligned 29,609 -#define __cacheline_aligned_in_smp 36,825 -#define __cacheline_aligned_in_smp38,886 -#define ____cacheline_maxaligned_in_smp 44,1023 -#define ____cacheline_maxaligned_in_smp47,1128 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_xdr.h,4081 -#define _LINUX_NFS_XDR_H2,25 -struct nfs4_fsid nfs4_fsid6,83 -struct nfs_fattr nfs_fattr11,134 -#define NFS_ATTR_WCC 46,983 -#define NFS_ATTR_FATTR 47,1038 -#define NFS_ATTR_FATTR_V3 48,1095 -#define NFS_ATTR_FATTR_V4 49,1152 -#define NFS_ATTR_PRE_CHANGE 50,1185 -struct nfs_fsinfo nfs_fsinfo55,1255 -struct nfs_fsstat nfs_fsstat68,1746 -struct nfs2_fsstat nfs2_fsstat78,2080 -struct nfs_pathconf nfs_pathconf86,2358 -struct nfs4_change_info nfs4_change_info92,2524 -struct nfs_openargs nfs_openargs101,2636 -struct nfs_openres nfs_openres119,3143 -struct nfs_open_confirmargs nfs_open_confirmargs135,3498 -struct nfs_open_confirmres nfs_open_confirmres141,3625 -struct nfs_closeargs nfs_closeargs148,3731 -struct nfs_closeres nfs_closeres155,3872 -struct nfs_lowner nfs_lowner161,3993 -struct nfs_open_to_lock nfs_open_to_lock166,4073 -struct nfs_exist_lock nfs_exist_lock173,4253 -struct nfs_lock_opargs nfs_lock_opargs178,4347 -struct nfs_locku_opargs nfs_locku_opargs187,4543 -struct nfs_lockargs nfs_lockargs192,4639 -struct nfs_lock_denied nfs_lock_denied204,4950 -struct nfs_lockres nfs_lockres211,5105 -struct nfs4_delegreturnargs nfs4_delegreturnargs219,5307 -#define NFS_READ_MAXIOV 228,5441 -struct nfs_readargs nfs_readargs233,5556 -struct nfs_readres nfs_readres242,5719 -#define NFS_WRITE_MAXIOV 251,5856 -struct nfs_writeargs nfs_writeargs256,5973 -struct nfs_writeverf nfs_writeverf266,6167 -struct nfs_writeres nfs_writeres271,6249 -struct nfs_entry nfs_entry280,6400 -struct nfs_sattrargs nfs_sattrargs294,6623 -struct nfs_diropargs nfs_diropargs299,6696 -struct nfs_createargs nfs_createargs305,6786 -struct nfs_renameargs nfs_renameargs312,6901 -struct nfs_setattrargs nfs_setattrargs321,7073 -struct nfs_setattrres nfs_setattrres329,7308 -struct nfs_linkargs nfs_linkargs334,7411 -struct nfs_symlinkargs nfs_symlinkargs341,7532 -struct nfs_readdirargs nfs_readdirargs350,7705 -struct nfs_diropok nfs_diropok357,7819 -struct nfs_readlinkargs nfs_readlinkargs362,7893 -struct nfs3_sattrargs nfs3_sattrargs369,8014 -struct nfs3_diropargs nfs3_diropargs376,8139 -struct nfs3_accessargs nfs3_accessargs382,8230 -struct nfs3_createargs nfs3_createargs387,8298 -struct nfs3_mkdirargs nfs3_mkdirargs396,8470 -struct nfs3_symlinkargs nfs3_symlinkargs403,8585 -struct nfs3_mknodargs nfs3_mknodargs412,8759 -struct nfs3_renameargs nfs3_renameargs421,8913 -struct nfs3_linkargs nfs3_linkargs430,9086 -struct nfs3_readdirargs nfs3_readdirargs437,9208 -struct nfs3_diropres nfs3_diropres446,9364 -struct nfs3_accessres nfs3_accessres452,9470 -struct nfs3_readlinkargs nfs3_readlinkargs457,9542 -struct nfs3_renameres nfs3_renameres464,9664 -struct nfs3_linkres nfs3_linkres469,9750 -struct nfs3_readdirres nfs3_readdirres474,9833 -typedef u64 clientid4;clientid4482,9944 -struct nfs4_accessargs nfs4_accessargs484,9968 -struct nfs4_accessres nfs4_accessres489,10041 -struct nfs4_create_arg nfs4_create_arg494,10104 -struct nfs4_create_res nfs4_create_res510,10439 -struct nfs4_fsinfo_arg nfs4_fsinfo_arg517,10591 -struct nfs4_getattr_arg nfs4_getattr_arg522,10672 -struct nfs4_getattr_res nfs4_getattr_res527,10754 -struct nfs4_link_arg nfs4_link_arg532,10847 -struct nfs4_lookup_arg nfs4_lookup_arg538,10962 -struct nfs4_lookup_res nfs4_lookup_res544,11075 -struct nfs4_lookup_root_arg nfs4_lookup_root_arg550,11190 -struct nfs4_pathconf_arg nfs4_pathconf_arg554,11248 -struct nfs4_readdir_arg nfs4_readdir_arg559,11331 -struct nfs4_readdir_res nfs4_readdir_res568,11538 -struct nfs4_readlink nfs4_readlink573,11619 -struct nfs4_remove_arg nfs4_remove_arg580,11792 -struct nfs4_rename_arg nfs4_rename_arg585,11877 -struct nfs4_rename_res nfs4_rename_res592,12036 -struct nfs4_setclientid nfs4_setclientid597,12139 -struct nfs4_statfs_arg nfs4_statfs_arg609,12511 -struct nfs4_server_caps_res nfs4_server_caps_res614,12592 -struct nfs_read_data nfs_read_data625,12759 -struct nfs_write_data nfs_write_data642,13247 -struct nfs_rpc_ops nfs_rpc_ops665,13887 -#define NFS_CALL(NFS_CALL723,16313 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/qnx4_fs.h,1298 -#define _LINUX_QNX4_FS_H11,342 -#define QNX4_ROOT_INO 15,397 -#define QNX4_MAX_XTNTS_PER_XBLK 17,422 -#define QNX4_FILE_USED 19,477 -#define QNX4_FILE_MODIFIED 20,514 -#define QNX4_FILE_BUSY 21,551 -#define QNX4_FILE_LINK 22,588 -#define QNX4_FILE_INODE 23,625 -#define QNX4_FILE_FSYSCLEAN 24,662 -#define QNX4_I_MAP_SLOTS 26,700 -#define QNX4_Z_MAP_SLOTS 27,727 -#define QNX4_SUPER_MAGIC 28,755 -#define QNX4_VALID_FS 29,811 -#define QNX4_ERROR_FS 30,857 -#define QNX4_BLOCK_SIZE 31,908 -#define QNX4_BLOCK_SIZE_BITS 32,975 -#define QNX4_DIR_ENTRY_SIZE 33,1031 -#define QNX4_DIR_ENTRY_SIZE_BITS 34,1102 -#define QNX4_XBLK_ENTRY_SIZE 35,1164 -#define QNX4_INODES_PER_BLOCK 36,1224 -#define QNX4_SHORT_NAME_MAX 39,1297 -#define QNX4_NAME_MAX 40,1328 -struct qnx4_inode_entry qnx4_inode_entry45,1413 -struct qnx4_link_info qnx4_link_info64,1795 -struct qnx4_xblk qnx4_xblk72,1937 -struct qnx4_super_block qnx4_super_block83,2184 -#define QNX4_DEBUG 92,2364 -#define QNX4DEBUG(QNX4DEBUG95,2401 -#define QNX4DEBUG(QNX4DEBUG97,2437 -struct qnx4_sb_info qnx4_sb_info100,2475 -struct qnx4_inode_info qnx4_inode_info107,2697 -static inline struct qnx4_sb_info *qnx4_sb(135,4083 -static inline struct qnx4_inode_info *qnx4_i(140,4178 -static inline struct qnx4_inode_entry *qnx4_raw_inode(145,4313 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_slip.h,358 -#define __LINUX_SLIP_H9,172 -#define SL_MODE_SLIP 11,196 -#define SL_MODE_CSLIP 12,221 -#define SL_MODE_KISS 13,247 -#define SL_OPT_SIXBIT 15,273 -#define SL_OPT_ADAPTIVE 16,299 -#define SIOCSKEEPALIVE 22,392 -#define SIOCGKEEPALIVE 23,468 -#define SIOCSOUTFILL 24,539 -#define SIOCGOUTFILL 25,606 -#define SIOCSLEASE 26,673 -#define SIOCGLEASE 27,741 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/posix-timers.h,287 -#define _linux_POSIX_TIMERS_H2,30 -struct k_clock_abs k_clock_abs7,114 -struct k_clock k_clock11,180 -struct now_struct now_struct26,719 -#define posix_get_now(posix_get_now30,767 -#define posix_time_before(posix_time_before31,820 -#define posix_bump_timer(posix_bump_timer34,929 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/trdevice.h,33 -#define _LINUX_TRDEVICE_H25,878 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pg.h,191 -#define PG_MAGIC 37,1672 -#define PG_RESET 38,1693 -#define PG_COMMAND 39,1714 -#define PG_MAX_DATA 41,1738 -struct pg_write_hdr pg_write_hdr43,1765 -struct pg_read_hdr pg_read_hdr53,2022 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/termios.h,30 -#define _LINUX_TERMIOS_H2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/zlib.h,1249 -#define _ZLIB_H32,1352 -#define ZLIB_VERSION 36,1395 -typedef struct z_stream_s z_stream_s61,2411 -} z_stream;z_stream78,3214 -typedef z_stream *z_streamp;z_streamp80,3227 -#define Z_NO_FLUSH 116,4973 -#define Z_PARTIAL_FLUSH 117,4999 -#define Z_PACKET_FLUSH 118,5073 -#define Z_SYNC_FLUSH 119,5099 -#define Z_FULL_FLUSH 120,5125 -#define Z_FINISH 121,5151 -#define Z_OK 124,5238 -#define Z_STREAM_END 125,5264 -#define Z_NEED_DICT 126,5290 -#define Z_ERRNO 127,5316 -#define Z_STREAM_ERROR 128,5344 -#define Z_DATA_ERROR 129,5372 -#define Z_MEM_ERROR 130,5400 -#define Z_BUF_ERROR 131,5428 -#define Z_VERSION_ERROR 132,5456 -#define Z_NO_COMPRESSION 137,5638 -#define Z_BEST_SPEED 138,5673 -#define Z_BEST_COMPRESSION 139,5708 -#define Z_DEFAULT_COMPRESSION 140,5743 -#define Z_FILTERED 143,5805 -#define Z_HUFFMAN_ONLY 144,5837 -#define Z_DEFAULT_STRATEGY 145,5869 -#define Z_BINARY 148,5967 -#define Z_ASCII 149,5988 -#define Z_UNKNOWN 150,6009 -#define Z_DEFLATED 153,6076 -#define zlib_deflateInit(zlib_deflateInit618,29446 -#define zlib_inflateInit(zlib_inflateInit620,29561 -#define zlib_deflateInit2(zlib_deflateInit2622,29660 -#define zlib_inflateInit2(zlib_inflateInit2625,29884 - struct internal_state internal_state630,30064 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ibmtr.h,3939 -#define __LINUX_IBMTR_H__2,26 -#define TR_RETRY_INTERVAL 9,225 -#define TR_RST_TIME 10,281 -#define TR_BUSY_INTERVAL 11,332 -#define TR_SPIN_INTERVAL 12,387 -#define TR_ISA 14,456 -#define TR_MCA 15,473 -#define TR_ISAPNP 16,490 -#define NOTOK 17,510 -#define IBMTR_SHARED_RAM_SIZE 19,527 -#define IBMTR_IO_EXTENT 20,565 -#define IBMTR_MAX_ADAPTERS 21,591 -#define CHANNEL_ID 23,621 -#define AIP 24,652 -#define AIPADAPTYPE 25,683 -#define AIPDATARATE 26,714 -#define AIPEARLYTOKEN 27,745 -#define AIPAVAILSHRAM 28,776 -#define AIPSHRAMPAGE 29,807 -#define AIP4MBDHB 30,838 -#define AIP16MBDHB 31,869 -#define AIPFID 32,900 -#define ADAPTRESET 34,924 -#define ADAPTRESETREL 35,998 -#define ADAPTINTREL 36,1071 -#define GLOBAL_INT_ENABLE 38,1129 -#define RRR_EVEN 41,1199 -#define RRR_ODD 46,1503 -#define WRBR_EVEN 49,1662 -#define WRBR_ODD 50,1743 -#define WWOR_EVEN 51,1772 -#define WWOR_ODD 52,1853 -#define WWCR_EVEN 53,1882 -#define WWCR_ODD 54,1963 -#define ISRP_EVEN 57,2054 -#define TCR_INT 59,2084 -#define ERR_INT 61,2242 -#define ACCESS_INT 63,2400 -#define INT_ENABLE 68,2714 -#define ISRP_ODD 75,3099 -#define ADAP_CHK_INT 77,3129 -#define SRB_RESP_INT 80,3320 -#define ASB_FREE_INT 83,3513 -#define ARB_CMD_INT 88,3884 -#define SSB_RESP_INT 91,4102 -#define ISRA_EVEN 98,4369 -#define ISRA_ODD 108,4931 -#define CMD_IN_SRB 109,4960 -#define RESP_IN_ASB 112,5164 -#define ARB_FREE 121,5761 -#define SSB_FREE 122,5782 -#define TCR_EVEN 124,5804 -#define TCR_ODD 125,5881 -#define TVR_EVEN 126,5910 -#define TVR_ODD 127,5985 -#define SRPR_EVEN 128,6014 -#define SRPR_ENABLE_PAGING 129,6095 -#define SRPR_ODD 130,6127 -#define TOKREAD 131,6172 -#define TOKOR 132,6201 -#define TOKAND 133,6230 -#define TOKWRITE 134,6259 -#define PCCHANNELID 149,6804 -#define MCCHANNELID 150,6849 -#define ACA_OFFSET 152,6895 -#define ACA_SET 153,6921 -#define ACA_RESET 154,6942 -#define ACA_RW 155,6965 -#define SET_PAGE(SET_PAGE158,7007 -#define SET_PAGE(SET_PAGE160,7090 -#define FIRST_INT 164,7151 -#define NOT_FIRST 165,7171 -typedef enum { CLOSED,167,7192 -typedef enum { CLOSED, OPEN 167,7192 -typedef enum { CLOSED, OPEN } open_state;open_state167,7192 -struct tok_info tok_info170,7290 - enum {MANUAL,212,8819 - enum {MANUAL, AUTOMATIC}212,8819 - enum {FAIL,213,8856 - enum {FAIL, RESTART,213,8856 - enum {FAIL, RESTART, REOPEN}213,8856 - enum {NO,214,8899 - enum {NO, YES}214,8899 -#define DIR_INTERRUPT 223,9174 -#define DIR_MOD_OPEN_PARAMS 224,9230 -#define DIR_OPEN_ADAPTER 225,9264 -#define DIR_CLOSE_ADAPTER 226,9325 -#define DIR_SET_GRP_ADDR 227,9359 -#define DIR_SET_FUNC_ADDR 228,9393 -#define DIR_READ_LOG 229,9459 -#define DLC_OPEN_SAP 230,9513 -#define DLC_CLOSE_SAP 231,9567 -#define DATA_LOST 232,9601 -#define REC_DATA 233,9647 -#define XMIT_DATA_REQ 234,9696 -#define DLC_STATUS 235,9751 -#define RING_STAT_CHANGE 236,9805 -#define OPEN_PASS_BCON_MAC 239,9901 -#define NUM_RCV_BUF 240,9935 -#define RCV_BUF_LEN 241,9957 -#define DHB_LENGTH 242,9982 -#define NUM_DHB 243,10006 -#define DLC_MAX_SAP 244,10024 -#define DLC_MAX_STA 245,10046 -#define MAX_I_FIELD 248,10096 -#define SAP_OPEN_IND_SAP 249,10123 -#define SAP_OPEN_PRIORITY 250,10153 -#define SAP_OPEN_STATION_CNT 251,10184 -#define XMIT_DIR_FRAME 252,10217 -#define XMIT_UI_FRAME 253,10245 -#define XMIT_XID_CMD 254,10273 -#define XMIT_TEST_CMD 255,10301 -#define SIGNAL_LOSS 258,10358 -#define HARD_ERROR 259,10386 -#define XMIT_BEACON 260,10414 -#define LOBE_FAULT 261,10442 -#define AUTO_REMOVAL 262,10470 -#define REMOVE_RECV 263,10498 -#define LOG_OVERFLOW 264,10526 -#define RING_RECOVER 265,10554 -struct srb_init_response srb_init_response267,10583 -struct dir_open_adapter dir_open_adapter280,10858 -struct dlc_open_sap dlc_open_sap305,11475 -struct srb_xmit srb_xmit327,11987 -struct arb_rec_req arb_rec_req335,12128 -struct asb_rec asb_rec346,12345 -struct rec_buf rec_buf355,12507 -struct srb_set_funct_addr srb_set_funct_addr364,12668 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/adfs_fs_sb.h,67 -#define _ADFS_FS_SB8,108 -struct adfs_sb_info adfs_sb_info19,256 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/wireless.h,4990 -#define _LINUX_WIRELESS_H11,239 -#define WIRELESS_EXT 85,3147 -#define SIOCSIWCOMMIT 185,6269 -#define SIOCGIWNAME 186,6338 -#define SIOCSIWNWID 192,6630 -#define SIOCGIWNWID 193,6692 -#define SIOCSIWFREQ 194,6752 -#define SIOCGIWFREQ 195,6813 -#define SIOCSIWMODE 196,6874 -#define SIOCGIWMODE 197,6927 -#define SIOCSIWSENS 198,6980 -#define SIOCGIWSENS 199,7036 -#define SIOCSIWRANGE 202,7117 -#define SIOCGIWRANGE 203,7159 -#define SIOCSIWPRIV 204,7218 -#define SIOCGIWPRIV 205,7259 -#define SIOCSIWSTATS 206,7326 -#define SIOCGIWSTATS 207,7368 -#define SIOCSIWSPY 212,7654 -#define SIOCGIWSPY 213,7705 -#define SIOCSIWTHRSPY 214,7769 -#define SIOCGIWTHRSPY 215,7835 -#define SIOCSIWAP 218,7922 -#define SIOCGIWAP 219,7985 -#define SIOCGIWAPLIST 220,8048 -#define SIOCSIWSCAN 221,8116 -#define SIOCGIWSCAN 222,8180 -#define SIOCSIWESSID 225,8266 -#define SIOCGIWESSID 226,8326 -#define SIOCSIWNICKN 227,8371 -#define SIOCGIWNICKN 228,8429 -#define SIOCSIWRATE 234,8765 -#define SIOCGIWRATE 235,8826 -#define SIOCSIWRTS 236,8887 -#define SIOCGIWRTS 237,8950 -#define SIOCSIWFRAG 238,9013 -#define SIOCGIWFRAG 239,9077 -#define SIOCSIWTXPOW 240,9141 -#define SIOCGIWTXPOW 241,9201 -#define SIOCSIWRETRY 242,9261 -#define SIOCGIWRETRY 243,9326 -#define SIOCSIWENCODE 246,9453 -#define SIOCGIWENCODE 247,9515 -#define SIOCSIWPOWER 249,9644 -#define SIOCGIWPOWER 250,9709 -#define SIOCIWFIRSTPRIV 261,10219 -#define SIOCIWLASTPRIV 262,10250 -#define SIOCIWFIRST 277,10888 -#define SIOCIWLAST 278,10915 -#define IW_IS_SET(IW_IS_SET281,11021 -#define IW_IS_GET(IW_IS_GET282,11061 -#define IWEVTXDROP 288,11293 -#define IWEVQUAL 289,11360 -#define IWEVCUSTOM 290,11425 -#define IWEVREGISTERED 291,11487 -#define IWEVEXPIRED 292,11556 -#define IWEVFIRST 294,11616 -#define IW_PRIV_TYPE_MASK 303,11909 -#define IW_PRIV_TYPE_NONE 304,11966 -#define IW_PRIV_TYPE_BYTE 305,11999 -#define IW_PRIV_TYPE_CHAR 306,12053 -#define IW_PRIV_TYPE_INT 307,12110 -#define IW_PRIV_TYPE_FLOAT 308,12160 -#define IW_PRIV_TYPE_ADDR 309,12215 -#define IW_PRIV_SIZE_FIXED 311,12271 -#define IW_PRIV_SIZE_MASK 313,12345 -#define IW_MAX_FREQUENCIES 323,12674 -#define IW_MAX_BITRATES 329,12925 -#define IW_MAX_TXPOWER 332,12998 -#define IW_MAX_SPY 337,13187 -#define IW_MAX_AP 341,13293 -#define IW_ESSID_MAX_SIZE 344,13366 -#define IW_MODE_AUTO 347,13421 -#define IW_MODE_ADHOC 348,13473 -#define IW_MODE_INFRA 349,13523 -#define IW_MODE_MASTER 350,13586 -#define IW_MODE_REPEAT 351,13656 -#define IW_MODE_SECOND 352,13717 -#define IW_MODE_MONITOR 353,13783 -#define IW_MAX_ENCODING_SIZES 357,13945 -#define IW_ENCODING_TOKEN_MAX 360,14028 -#define IW_ENCODE_INDEX 363,14135 -#define IW_ENCODE_FLAGS 364,14197 -#define IW_ENCODE_MODE 365,14255 -#define IW_ENCODE_DISABLED 366,14312 -#define IW_ENCODE_ENABLED 367,14370 -#define IW_ENCODE_RESTRICTED 368,14426 -#define IW_ENCODE_OPEN 369,14495 -#define IW_ENCODE_NOKEY 370,14559 -#define IW_ENCODE_TEMP 371,14632 -#define IW_POWER_ON 374,14755 -#define IW_POWER_TYPE 375,14803 -#define IW_POWER_PERIOD 376,14857 -#define IW_POWER_TIMEOUT 377,14926 -#define IW_POWER_MODE 378,14998 -#define IW_POWER_UNICAST_R 379,15056 -#define IW_POWER_MULTICAST_R 380,15126 -#define IW_POWER_ALL_R 381,15200 -#define IW_POWER_FORCE_S 382,15268 -#define IW_POWER_REPEATER 383,15345 -#define IW_POWER_MODIFIER 384,15423 -#define IW_POWER_MIN 385,15481 -#define IW_POWER_MAX 386,15536 -#define IW_POWER_RELATIVE 387,15590 -#define IW_TXPOW_TYPE 390,15697 -#define IW_TXPOW_DBM 391,15747 -#define IW_TXPOW_MWATT 392,15798 -#define IW_TXPOW_RANGE 393,15850 -#define IW_RETRY_ON 396,15967 -#define IW_RETRY_TYPE 397,16015 -#define IW_RETRY_LIMIT 398,16069 -#define IW_RETRY_LIFETIME 399,16131 -#define IW_RETRY_MODIFIER 400,16204 -#define IW_RETRY_MIN 401,16262 -#define IW_RETRY_MAX 402,16317 -#define IW_RETRY_RELATIVE 403,16371 -#define IW_SCAN_DEFAULT 406,16470 -#define IW_SCAN_ALL_ESSID 407,16535 -#define IW_SCAN_THIS_ESSID 408,16590 -#define IW_SCAN_ALL_FREQ 409,16651 -#define IW_SCAN_THIS_FREQ 410,16710 -#define IW_SCAN_ALL_MODE 411,16774 -#define IW_SCAN_THIS_MODE 412,16827 -#define IW_SCAN_ALL_RATE 413,16886 -#define IW_SCAN_THIS_RATE 414,16943 -#define IW_SCAN_MAX_DATA 416,17042 -#define IW_CUSTOM_MAX 419,17162 -struct iw_paramiw_param427,17411 -struct iw_pointiw_point439,17755 -struct iw_freqiw_freq454,18240 -struct iw_qualityiw_quality465,18444 -struct iw_discardediw_discarded481,18939 -struct iw_missediw_missed494,19312 -struct iw_thrspyiw_thrspy502,19428 -struct iw_statisticsiw_statistics514,19781 -union iwreq_dataiwreq_data536,20507 -struct iwreq iwreq574,21855 -struct iw_rangeiw_range595,22224 -struct iw_priv_argsiw_priv_args694,26150 -struct iw_eventiw_event712,26683 -#define IW_EV_LCP_LEN 720,26907 -#define IW_EV_CHAR_LEN 722,27015 -#define IW_EV_UINT_LEN 723,27065 -#define IW_EV_FREQ_LEN 724,27120 -#define IW_EV_POINT_LEN 725,27184 -#define IW_EV_PARAM_LEN 726,27250 -#define IW_EV_ADDR_LEN 727,27316 -#define IW_EV_QUAL_LEN 728,27381 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ufs_fs_i.h,78 -#define _LINUX_UFS_FS_I_H14,361 -struct ufs_inode_info ufs_inode_info16,388 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rcupdate.h,823 -#define __LINUX_RCUPDATE_H34,1319 -struct rcu_head rcu_head50,1698 -#define RCU_HEAD_INIT(RCU_HEAD_INIT55,1782 -#define RCU_HEAD(RCU_HEAD56,1841 -#define INIT_RCU_HEAD(INIT_RCU_HEAD57,1907 -struct rcu_ctrlblk rcu_ctrlblk64,2069 -} ____cacheline_maxaligned_in_smp;69,2352 -static inline int rcu_batch_before(72,2422 -static inline int rcu_batch_after(78,2539 -struct rcu_data rcu_data88,2777 -static inline void rcu_qsctr_inc(115,3580 -static inline void rcu_bh_qsctr_inc(120,3690 -static inline int __rcu_pending(126,3807 -static inline int rcu_pending(151,4426 -#define rcu_read_lock(rcu_read_lock186,6126 -#define rcu_read_unlock(rcu_read_unlock193,6299 -#define rcu_read_lock_bh(rcu_read_lock_bh216,7282 -#define rcu_read_unlock_bh(rcu_read_unlock_bh223,7464 -#define rcu_dereference(rcu_dereference235,7842 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/iso_fs_sb.h,67 -#define _ISOFS_FS_SB2,21 -struct isofs_sb_info isofs_sb_info7,88 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ioctl32.h,274 -#define IOCTL32_H 2,18 -typedef int (*ioctl_trans_handler_t)ioctl_trans_handler_t6,53 -struct ioctl_trans ioctl_trans9,155 -#define register_ioctl32_conversion(register_ioctl32_conversion32,769 -#define unregister_ioctl32_conversion(unregister_ioctl32_conversion33,828 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_tcpmss.h,90 -#define _IPT_TCPMSS_MATCH_H2,28 -struct ipt_tcpmss_match_info ipt_tcpmss_match_info4,57 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_MARK.h,87 -#define _IPT_MARK_H_target2,27 -struct ipt_mark_target_info ipt_mark_target_info4,55 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_nat_core.h,28 -#define _IP_NAT_CORE_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_ah.h,112 -#define _IPT_AH_H2,18 -struct ipt_ahipt_ah4,37 -#define IPT_AH_INV_SPI 13,207 -#define IPT_AH_INV_MASK 14,267 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_ECN.h,242 -#define _IPT_ECN_TARGET_H10,239 -#define IPT_ECN_IP_MASK 13,309 -#define IPT_ECN_OP_SET_IP 15,351 -#define IPT_ECN_OP_SET_ECE 16,416 -#define IPT_ECN_OP_SET_CWR 17,480 -#define IPT_ECN_OP_MASK 19,545 -struct ipt_ECN_info ipt_ECN_info21,576 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_physdev.h,291 -#define _IPT_PHYSDEV_H2,23 -#define IPT_PHYSDEV_OP_IN 8,95 -#define IPT_PHYSDEV_OP_OUT 9,127 -#define IPT_PHYSDEV_OP_BRIDGED 10,160 -#define IPT_PHYSDEV_OP_ISIN 11,197 -#define IPT_PHYSDEV_OP_ISOUT 12,231 -#define IPT_PHYSDEV_OP_MASK 13,266 -struct ipt_physdev_info ipt_physdev_info15,307 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_logging.h,225 -#define __IP_LOGGING_H3,77 -#define nf_log_ip_packet(nf_log_ip_packet9,183 -#define nf_log_ip(nf_log_ip12,299 -#define nf_ip_log_register(nf_ip_log_register15,377 -#define nf_ip_log_unregister(nf_ip_log_unregister16,446 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_nat_helper.h,111 -#define _IP_NAT_HELPER_H2,25 -#define IP_NAT_HELPER_F_ALWAYS 12,248 -struct ip_nat_helperip_nat_helper14,286 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_pkttype.h,75 -#define _IPT_PKTTYPE_H2,23 -struct ipt_pkttype_info ipt_pkttype_info4,47 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_limit.h,95 -#define _IPT_RATE_H2,20 -#define IPT_LIMIT_SCALE 5,76 -struct ipt_rateinfo ipt_rateinfo9,215 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_conntrack.h,616 -#define _IPT_CONNTRACK_H6,151 -#define IPT_CONNTRACK_STATE_BIT(IPT_CONNTRACK_STATE_BIT8,177 -#define IPT_CONNTRACK_STATE_INVALID 9,252 -#define IPT_CONNTRACK_STATE_SNAT 11,298 -#define IPT_CONNTRACK_STATE_DNAT 12,357 -#define IPT_CONNTRACK_STATE_UNTRACKED 13,416 -#define IPT_CONNTRACK_STATE 16,504 -#define IPT_CONNTRACK_PROTO 17,537 -#define IPT_CONNTRACK_ORIGSRC 18,570 -#define IPT_CONNTRACK_ORIGDST 19,605 -#define IPT_CONNTRACK_REPLSRC 20,640 -#define IPT_CONNTRACK_REPLDST 21,675 -#define IPT_CONNTRACK_STATUS 22,710 -#define IPT_CONNTRACK_EXPIRES 23,744 -struct ipt_conntrack_infoipt_conntrack_info25,780 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_length.h,72 -#define _IPT_LENGTH_H2,22 -struct ipt_length_info ipt_length_info4,45 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_realm.h,69 -#define _IPT_REALM_H2,21 -struct ipt_realm_info ipt_realm_info4,43 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_queue.h,712 -#define _IP_QUEUE_H8,183 -#define QDEBUG(QDEBUG12,239 -#define QDEBUG(QDEBUG14,290 -typedef struct ipq_packet_msg ipq_packet_msg21,420 -} ipq_packet_msg_t;ipq_packet_msg_t35,1174 -typedef struct ipq_mode_msg ipq_mode_msg38,1230 -} ipq_mode_msg_t;ipq_mode_msg_t41,1362 -typedef struct ipq_verdict_msg ipq_verdict_msg43,1381 -} ipq_verdict_msg_t;ipq_verdict_msg_t48,1637 -typedef struct ipq_peer_msg ipq_peer_msg50,1659 -} ipq_peer_msg_t;ipq_peer_msg_t55,1758 - IPQ_COPY_NONE,59,1812 - IPQ_COPY_META,60,1869 - IPQ_COPY_PACKET 61,1906 -#define IPQ_COPY_MAX 63,1964 -#define IPQM_BASE 66,2026 -#define IPQM_MODE 67,2092 -#define IPQM_VERDICT 68,2156 -#define IPQM_PACKET 69,2219 -#define IPQM_MAX 70,2281 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_REJECT.h,401 -#define _IPT_REJECT_H2,22 -enum ipt_reject_with ipt_reject_with4,45 - IPT_ICMP_NET_UNREACHABLE,5,68 - IPT_ICMP_HOST_UNREACHABLE,6,95 - IPT_ICMP_PROT_UNREACHABLE,7,123 - IPT_ICMP_PORT_UNREACHABLE,8,151 - IPT_ICMP_ECHOREPLY,9,179 - IPT_ICMP_NET_PROHIBITED,10,200 - IPT_ICMP_HOST_PROHIBITED,11,226 - IPT_TCP_RESET,12,253 - IPT_ICMP_ADMIN_PROHIBITED13,269 -struct ipt_reject_info ipt_reject_info16,300 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_helper.h,133 -#define _IP_CONNTRACK_HELPER_H3,69 -#define IP_CT_HELPER_F_REUSE_EXPECT 9,214 -struct ip_conntrack_helperip_conntrack_helper11,256 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_amanda.h,88 -#define _IP_CONNTRACK_AMANDA_H2,31 -struct ip_ct_amanda_expectip_ct_amanda_expect5,86 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_mark.h,66 -#define _IPT_MARK_H2,20 -struct ipt_mark_info ipt_mark_info4,41 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/lockhelp.h,1569 -#define _LOCKHELP_H2,20 -struct spinlock_debugspinlock_debug13,246 -struct rwlock_debugrwlock_debug19,310 -#define DECLARE_LOCK(DECLARE_LOCK26,396 -#define DECLARE_LOCK_EXTERN(DECLARE_LOCK_EXTERN28,494 -#define DECLARE_RWLOCK(DECLARE_RWLOCK30,561 -#define DECLARE_RWLOCK_EXTERN(DECLARE_RWLOCK_EXTERN32,643 -#define MUST_BE_LOCKED(MUST_BE_LOCKED35,709 -#define MUST_BE_UNLOCKED(MUST_BE_UNLOCKED40,883 -#define MUST_BE_READ_LOCKED(MUST_BE_READ_LOCKED46,1088 -#define MUST_BE_WRITE_LOCKED(MUST_BE_WRITE_LOCKED52,1350 -#define MUST_BE_READ_WRITE_UNLOCKED(MUST_BE_READ_WRITE_UNLOCKED57,1550 -#define LOCK_BH(LOCK_BH64,1881 -#define UNLOCK_BH(UNLOCK_BH71,2047 -#define READ_LOCK(READ_LOCK78,2190 -#define WRITE_LOCK(WRITE_LOCK85,2371 -#define READ_UNLOCK(READ_UNLOCK92,2568 -#define WRITE_UNLOCK(WRITE_UNLOCK101,2871 -#define DECLARE_LOCK(DECLARE_LOCK109,3058 -#define DECLARE_LOCK_EXTERN(DECLARE_LOCK_EXTERN110,3116 -#define DECLARE_RWLOCK(DECLARE_RWLOCK111,3167 -#define DECLARE_RWLOCK_EXTERN(DECLARE_RWLOCK_EXTERN112,3223 -#define MUST_BE_LOCKED(MUST_BE_LOCKED114,3275 -#define MUST_BE_UNLOCKED(MUST_BE_UNLOCKED115,3301 -#define MUST_BE_READ_LOCKED(MUST_BE_READ_LOCKED116,3329 -#define MUST_BE_WRITE_LOCKED(MUST_BE_WRITE_LOCKED117,3360 -#define MUST_BE_READ_WRITE_UNLOCKED(MUST_BE_READ_WRITE_UNLOCKED118,3392 -#define LOCK_BH(LOCK_BH120,3432 -#define UNLOCK_BH(UNLOCK_BH121,3467 -#define READ_LOCK(READ_LOCK123,3507 -#define WRITE_LOCK(WRITE_LOCK124,3544 -#define READ_UNLOCK(READ_UNLOCK125,3583 -#define WRITE_UNLOCK(WRITE_UNLOCK126,3624 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_core.h,82 -#define _IP_CONNTRACK_CORE_H2,29 -static inline int ip_conntrack_confirm(40,1296 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack.h,1543 -#define _IP_CONNTRACK_H2,24 -enum ip_conntrack_infoip_conntrack_info13,363 - IP_CT_ESTABLISHED,16,449 - IP_CT_RELATED,20,567 - IP_CT_NEW,24,688 - IP_CT_IS_REPLY,27,742 - IP_CT_NUMBER 30,822 - IP_CT_NUMBER = IP_CT_IS_REPLY 30,822 -enum ip_conntrack_status ip_conntrack_status34,913 - IPS_EXPECTED_BIT 36,1011 - IPS_EXPECTED 37,1034 - IPS_EXPECTED = (1 << IPS_EXPECTED_BIT)37,1034 - IPS_SEEN_REPLY_BIT 40,1148 - IPS_SEEN_REPLY 41,1173 - IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT)41,1173 - IPS_ASSURED_BIT 44,1267 - IPS_ASSURED 45,1289 - IPS_ASSURED = (1 << IPS_ASSURED_BIT)45,1289 - IPS_CONFIRMED_BIT 48,1393 - IPS_CONFIRMED 49,1417 - IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT)49,1417 -union ip_conntrack_proto ip_conntrack_proto57,1663 -union ip_conntrack_expect_proto ip_conntrack_expect_proto64,1815 -union ip_conntrack_expect_help ip_conntrack_expect_help74,2154 -union ip_conntrack_help ip_conntrack_help88,2534 -union ip_conntrack_nat_help ip_conntrack_nat_help98,2828 -#define IP_NF_ASSERT(IP_NF_ASSERT109,3013 -#define IP_NF_ASSERT(IP_NF_ASSERT118,3266 -struct ip_conntrack_expectip_conntrack_expect121,3298 -struct ip_conntrack_counterip_conntrack_counter161,4268 -struct ip_conntrackip_conntrack169,4369 -#define master_ct(master_ct221,5857 -ip_conntrack_get(237,6461 -static inline int is_confirmed(288,8178 -struct ip_conntrack_statip_conntrack_stat295,8337 -#define CONNTRACK_STAT_INC(CONNTRACK_STAT_INC314,8728 -#define PROVIDES_CONNTRACK(PROVIDES_CONNTRACK317,8841 -#define NEEDS_CONNTRACK(NEEDS_CONNTRACK322,9040 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_addrtype.h,78 -#define _IPT_ADDRTYPE_H2,24 -struct ipt_addrtype_info ipt_addrtype_info4,49 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_helper.h,72 -#define _IPT_HELPER_H2,22 -struct ipt_helper_info ipt_helper_info4,45 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipchains_core.h,1808 -#define _IP_FWCHAINS_H23,762 -#define IP_FW_MAX_LABEL_LENGTH 32,942 -typedef char ip_chainlabel[ip_chainlabel33,975 -struct ip_fwip_fw35,1030 -struct ip_fwuserip_fwuser52,1869 -#define IP_FW_F_PRN 59,1969 -#define IP_FW_F_TCPSYN 60,2029 -#define IP_FW_F_FRAG 61,2096 -#define IP_FW_F_MARKABS 62,2162 -#define IP_FW_F_WILDIF 63,2234 -#define IP_FW_F_NETLINK 64,2312 -#define IP_FW_F_MASK 65,2382 -#define IP_FW_INV_SRCIP 68,2483 -#define IP_FW_INV_DSTIP 69,2549 -#define IP_FW_INV_PROTO 70,2615 -#define IP_FW_INV_SRCPT 71,2683 -#define IP_FW_INV_DSTPT 72,2755 -#define IP_FW_INV_VIA 73,2832 -#define IP_FW_INV_SYN 74,2902 -#define IP_FW_INV_FRAG 75,2976 -#define IP_FW_BASE_CTL 82,3252 -#define IP_FW_APPEND 84,3320 -#define IP_FW_REPLACE 85,3386 -#define IP_FW_DELETE_NUM 86,3450 -#define IP_FW_DELETE 87,3519 -#define IP_FW_INSERT 88,3585 -#define IP_FW_FLUSH 89,3648 -#define IP_FW_ZERO 90,3715 -#define IP_FW_CHECK 91,3781 -#define IP_FW_MASQ_TIMEOUTS 92,3844 -#define IP_FW_CREATECHAIN 93,3911 -#define IP_FW_DELETECHAIN 94,3983 -#define IP_FW_POLICY 95,4055 -#define IP_FW_MASQ_CTL 98,4163 -#define IP_FW_LABEL_FORWARD 101,4262 -#define IP_FW_LABEL_INPUT 102,4300 -#define IP_FW_LABEL_OUTPUT 103,4334 -#define IP_FW_LABEL_MASQUERADE 106,4393 -#define IP_FW_LABEL_REDIRECT 107,4432 -#define IP_FW_LABEL_ACCEPT 108,4475 -#define IP_FW_LABEL_BLOCK 109,4511 -#define IP_FW_LABEL_REJECT 110,4544 -#define IP_FW_LABEL_RETURN 111,4580 -#define IP_FW_LABEL_QUEUE 112,4616 -#define IP_FW_PROC_CHAINS 115,4682 -#define IP_FW_PROC_CHAIN_NAMES 116,4722 -struct ip_fwpktip_fwpkt119,4768 -struct ip_fwchangeip_fwchange132,5155 -struct ip_fwtestip_fwtest139,5270 -struct ip_fwdelnumip_fwdelnum146,5450 -struct ip_fwnewip_fwnew153,5574 -struct ip_fwpolicyip_fwpolicy161,5705 -extern void ip_fw_init(182,6039 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_iprange.h,229 -#define _IPT_IPRANGE_H2,23 -#define IPRANGE_SRC 4,47 -#define IPRANGE_DST 5,103 -#define IPRANGE_SRC_INV 6,164 -#define IPRANGE_DST_INV 7,221 -struct ipt_iprange ipt_iprange9,279 -struct ipt_iprange_infoipt_iprange_info14,364 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_state.h,179 -#define _IPT_STATE_H2,21 -#define IPT_STATE_BIT(IPT_STATE_BIT4,43 -#define IPT_STATE_INVALID 5,108 -#define IPT_STATE_UNTRACKED 7,144 -struct ipt_state_infoipt_state_info9,199 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_owner.h,215 -#define _IPT_OWNER_H2,21 -#define IPT_OWNER_UID 5,72 -#define IPT_OWNER_GID 6,99 -#define IPT_OWNER_PID 7,126 -#define IPT_OWNER_SID 8,153 -#define IPT_OWNER_COMM 9,180 -struct ipt_owner_info ipt_owner_info11,209 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_ttl.h,144 -#define _IPT_TTL_H5,128 - IPT_TTL_EQ 8,155 - IPT_TTL_NE,9,186 - IPT_TTL_LT,10,217 - IPT_TTL_GT,11,247 -struct ipt_ttl_info ipt_ttl_info15,285 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_esp.h,117 -#define _IPT_ESP_H2,19 -struct ipt_espipt_esp4,39 -#define IPT_ESP_INV_SPI 13,211 -#define IPT_ESP_INV_MASK 14,272 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_tables.h,1965 -#define _IPTABLES_H16,387 -#define IPT_FUNCTION_MAXNAMELEN 28,613 -#define IPT_TABLE_MAXNAMELEN 29,648 -struct ipt_ip ipt_ip32,732 -struct ipt_entry_matchipt_entry_match49,1111 -struct ipt_entry_targetipt_entry_target72,1448 -struct ipt_standard_targetipt_standard_target95,1791 -struct ipt_countersipt_counters101,1871 -#define IPT_F_FRAG 107,2024 -#define IPT_F_MASK 108,2086 -#define IPT_INV_VIA_IN 111,2194 -#define IPT_INV_VIA_OUT 112,2259 -#define IPT_INV_TOS 113,2325 -#define IPT_INV_SRCIP 114,2382 -#define IPT_INV_DSTIP 115,2444 -#define IPT_INV_FRAG 116,2506 -#define IPT_INV_PROTO 117,2565 -#define IPT_INV_MASK 118,2626 -struct ipt_entryipt_entry123,2879 -#define IPT_BASE_CTL 149,3502 -#define IPT_SO_SET_REPLACE 151,3567 -#define IPT_SO_SET_ADD_COUNTERS 152,3609 -#define IPT_SO_SET_MAX 153,3660 -#define IPT_SO_GET_INFO 155,3709 -#define IPT_SO_GET_ENTRIES 156,3749 -#define IPT_SO_GET_MAX 157,3795 -#define IPT_CONTINUE 160,3874 -#define IPT_RETURN 163,3933 -struct ipt_tcpipt_tcp166,4000 -#define IPT_TCP_INV_SRCPT 177,4357 -#define IPT_TCP_INV_DSTPT 178,4428 -#define IPT_TCP_INV_FLAGS 179,4497 -#define IPT_TCP_INV_OPTION 180,4565 -#define IPT_TCP_INV_MASK 181,4636 -struct ipt_udpipt_udp184,4718 -#define IPT_UDP_INV_SRCPT 192,4933 -#define IPT_UDP_INV_DSTPT 193,5004 -#define IPT_UDP_INV_MASK 194,5073 -struct ipt_icmpipt_icmp197,5156 -#define IPT_ICMP_INV 205,5350 -struct ipt_getinfoipt_getinfo208,5456 -struct ipt_replaceipt_replace231,5965 -struct ipt_counters_infoipt_counters_info263,6743 -struct ipt_get_entriesipt_get_entries275,6984 -#define IPT_STANDARD_TARGET 288,7250 -#define IPT_ERROR_TARGET 290,7302 -ipt_get_target(294,7403 -#define IPT_MATCH_ITERATE(IPT_MATCH_ITERATE300,7523 -#define IPT_ENTRY_ITERATE(IPT_ENTRY_ITERATE319,7960 -extern void ipt_init(341,8456 -struct ipt_matchipt_match343,8492 -struct ipt_targetipt_target377,9479 -struct ipt_tableipt_table417,10725 -#define IPT_ALIGN(IPT_ALIGN449,11445 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_TCPMSS.h,108 -#define _IPT_TCPMSS_H2,22 -struct ipt_tcpmss_info ipt_tcpmss_info4,45 -#define IPT_TCPMSS_CLAMP_PMTU 8,90 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_mac.h,63 -#define _IPT_MAC_H2,19 -struct ipt_mac_info ipt_mac_info4,39 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/compat_firewall.h,257 -#define __LINUX_FIREWALL_H6,122 -#define FW_QUEUE 12,203 -#define FW_BLOCK 13,222 -#define FW_ACCEPT 14,241 -#define FW_REJECT 15,261 -#define FW_REDIRECT 16,284 -#define FW_MASQUERADE 17,306 -#define FW_SKIP 18,330 -struct firewall_opsfirewall_ops20,350 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_nat_rule.h,63 -#define _IP_NAT_RULE_H2,23 -extern int ip_nat_rule_init(9,198 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_comment.h,109 -#define _IPT_COMMENT_H2,23 -#define IPT_MAX_COMMENT_LEN 4,47 -struct ipt_comment_info ipt_comment_info6,80 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_DSCP.h,77 -#define _IPT_DSCP_TARGET_H12,391 -struct ipt_DSCP_info ipt_DSCP_info16,480 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_SAME.h,128 -#define _IPT_SAME_H2,20 -#define IPT_SAME_MAX_RANGE 4,41 -#define IPT_SAME_NODST 6,72 -struct ipt_same_infoipt_same_info8,102 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_sctp.h,422 -#define _IP_CONNTRACK_SCTP_H2,29 -enum sctp_conntrack sctp_conntrack5,80 - SCTP_CONNTRACK_NONE,6,102 - SCTP_CONNTRACK_CLOSED,7,124 - SCTP_CONNTRACK_COOKIE_WAIT,8,148 - SCTP_CONNTRACK_COOKIE_ECHOED,9,177 - SCTP_CONNTRACK_ESTABLISHED,10,208 - SCTP_CONNTRACK_SHUTDOWN_SENT,11,237 - SCTP_CONNTRACK_SHUTDOWN_RECD,12,268 - SCTP_CONNTRACK_SHUTDOWN_ACK_SENT,13,299 - SCTP_CONNTRACK_MAX14,334 -struct ip_ct_sctpip_ct_sctp17,358 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_multiport.h,245 -#define _IPT_MULTIPORT_H2,25 -enum ipt_multiport_flagsipt_multiport_flags5,95 - IPT_MULTIPORT_SOURCE,7,122 - IPT_MULTIPORT_DESTINATION,8,145 - IPT_MULTIPORT_EITHER9,173 -#define IPT_MULTI_PORTS 12,199 -struct ipt_multiportipt_multiport15,279 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipfwadm_core.h,2640 -#define _IPFWADM_CORE_H2,24 -struct ip_fwip_fw66,2191 -#define IP_FW_MAX_PORTS 78,2775 -#define IP_FW_F_ALL 89,3139 -#define IP_FW_F_TCP 90,3207 -#define IP_FW_F_UDP 91,3275 -#define IP_FW_F_ICMP 92,3343 -#define IP_FW_F_KIND 93,3412 -#define IP_FW_F_ACCEPT 94,3481 -#define IP_FW_F_SRNG 97,3640 -#define IP_FW_F_DRNG 101,3841 -#define IP_FW_F_PRN 106,4086 -#define IP_FW_F_BIDIR 107,4154 -#define IP_FW_F_TCPSYN 108,4224 -#define IP_FW_F_ICMPRPL 109,4295 -#define IP_FW_F_MASQ 110,4367 -#define IP_FW_F_TCPACK 111,4422 -#define IP_FW_F_REDIR 112,4493 -#define IP_FW_F_ACCTIN 113,4563 -#define IP_FW_F_ACCTOUT 114,4635 -#define IP_FW_F_MASK 116,4708 -#define IP_FW_BASE_CTL 124,4981 -#define IP_FW_COMMAND 126,5049 -#define IP_FW_TYPE 127,5116 -#define IP_FW_SHIFT 128,5171 -#define IP_FW_FWD 130,5230 -#define IP_FW_IN 131,5251 -#define IP_FW_OUT 132,5271 -#define IP_FW_ACCT 133,5292 -#define IP_FW_CHAINS 134,5314 -#define IP_FW_MASQ 135,5373 -#define IP_FW_INSERT 137,5396 -#define IP_FW_APPEND 138,5435 -#define IP_FW_DELETE 139,5476 -#define IP_FW_FLUSH 140,5517 -#define IP_FW_ZERO 141,5557 -#define IP_FW_POLICY 142,5596 -#define IP_FW_CHECK 143,5637 -#define IP_FW_MASQ_TIMEOUTS 144,5677 -#define IP_FW_INSERT_FWD 146,5725 -#define IP_FW_APPEND_FWD 147,5794 -#define IP_FW_DELETE_FWD 148,5863 -#define IP_FW_FLUSH_FWD 149,5932 -#define IP_FW_ZERO_FWD 150,6001 -#define IP_FW_POLICY_FWD 151,6069 -#define IP_FW_CHECK_FWD 152,6138 -#define IP_FW_INSERT_IN 154,6208 -#define IP_FW_APPEND_IN 155,6276 -#define IP_FW_DELETE_IN 156,6344 -#define IP_FW_FLUSH_IN 157,6412 -#define IP_FW_ZERO_IN 158,6479 -#define IP_FW_POLICY_IN 159,6545 -#define IP_FW_CHECK_IN 160,6613 -#define IP_FW_INSERT_OUT 162,6681 -#define IP_FW_APPEND_OUT 163,6750 -#define IP_FW_DELETE_OUT 164,6819 -#define IP_FW_FLUSH_OUT 165,6888 -#define IP_FW_ZERO_OUT 166,6957 -#define IP_FW_POLICY_OUT 167,7025 -#define IP_FW_CHECK_OUT 168,7094 -#define IP_ACCT_INSERT 170,7164 -#define IP_ACCT_APPEND 171,7233 -#define IP_ACCT_DELETE 172,7302 -#define IP_ACCT_FLUSH 173,7371 -#define IP_ACCT_ZERO 174,7439 -#define IP_FW_MASQ_INSERT 176,7507 -#define IP_FW_MASQ_ADD 177,7578 -#define IP_FW_MASQ_DEL 178,7647 -#define IP_FW_MASQ_FLUSH 179,7716 -#define IP_FW_MASQ_INSERT 181,7789 -#define IP_FW_MASQ_ADD 182,7860 -#define IP_FW_MASQ_DEL 183,7929 -#define IP_FW_MASQ_FLUSH 184,7998 -struct ip_fwpktip_fwpkt186,8071 -#define IP_FW_MASQCTL_MAX 198,8406 -#define IP_MASQ_MOD_NMAX 199,8436 -struct ip_fw_masqctlip_fw_masqctl201,8466 -#define IP_FW_MODE_FW 225,8793 -#define IP_FW_MODE_ACCT_IN 226,8849 -#define IP_FW_MODE_ACCT_OUT 227,8909 -#define IP_FW_MODE_CHK 228,8970 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_tftp.h,244 -#define _IP_CT_TFTP2,20 -#define TFTP_PORT 4,41 -struct tftphdr tftphdr6,63 -#define TFTP_OPCODE_READ 10,103 -#define TFTP_OPCODE_WRITE 11,130 -#define TFTP_OPCODE_DATA 12,158 -#define TFTP_OPCODE_ACK 13,185 -#define TFTP_OPCODE_ERROR 14,212 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_ecn.h,247 -#define _IPT_ECN_H10,256 -#define IPT_ECN_IP_MASK 13,319 -#define IPT_ECN_OP_MATCH_IP 15,361 -#define IPT_ECN_OP_MATCH_ECE 16,394 -#define IPT_ECN_OP_MATCH_CWR 17,428 -#define IPT_ECN_OP_MATCH_MASK 19,463 -struct ipt_ecn_info ipt_ecn_info22,516 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_dscp.h,160 -#define _IPT_DSCP_H11,313 -#define IPT_DSCP_MASK 13,334 -#define IPT_DSCP_SHIFT 14,376 -#define IPT_DSCP_MAX 15,401 -struct ipt_dscp_info ipt_dscp_info18,460 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_irc.h,157 -#define _IP_CONNTRACK_IRC_H15,508 -struct ip_ct_irc_expectip_ct_irc_expect21,672 -struct ip_ct_irc_master ip_ct_irc_master30,844 -#define IRC_PORT 36,894 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/listhelp.h,475 -#define _LISTHELP_H2,20 -#define LIST_FIND(LIST_FIND12,348 -#define LIST_FIND_W(LIST_FIND_W25,633 -#define LIST_FIND_B(LIST_FIND_B39,964 -__list_cmp_same(53,1274 -list_inlist(57,1395 -#define LIST_DELETE(LIST_DELETE64,1574 -#define LIST_DELETE(LIST_DELETE73,1892 -list_append(78,2008 -list_prepend(86,2152 -#define LIST_INSERT(LIST_INSERT93,2324 -static inline int __list_cmp_name(105,2690 -list_named_insert(112,2908 -#define list_named_find(list_named_find122,3145 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_tos.h,95 -#define _IPT_TOS_H2,19 -struct ipt_tos_info ipt_tos_info4,39 -#define IPTOS_NORMALSVC 10,128 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_recent.h,387 -#define _IPT_RECENT_H2,22 -#define RECENT_NAME 4,45 -#define RECENT_VER 5,78 -#define IPT_RECENT_CHECK 7,107 -#define IPT_RECENT_SET 8,135 -#define IPT_RECENT_UPDATE 9,163 -#define IPT_RECENT_REMOVE 10,191 -#define IPT_RECENT_TTL 11,219 -#define IPT_RECENT_SOURCE 13,248 -#define IPT_RECENT_DEST 14,276 -#define IPT_RECENT_NAME_LEN 16,305 -struct ipt_recent_info ipt_recent_info18,338 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_icmp.h,69 -#define _IP_CONNTRACK_ICMP_H2,29 -struct ip_ct_icmpip_ct_icmp6,104 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_protocol.h,322 -#define _IP_CONNTRACK_PROTOCOL_H3,108 -struct ip_conntrack_protocolip_conntrack_protocol8,207 -#define MAX_IP_CT_PROTO 58,1866 -static inline struct ip_conntrack_protocol *ip_ct_find_proto(65,2156 -#define LOG_INVALID(LOG_INVALID82,2730 -#define LOG_INVALID(LOG_INVALID85,2833 -#define LOG_INVALID(LOG_INVALID90,2968 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_ULOG.h,369 -#define _IPT_ULOG_H8,189 -#define NETLINK_NFLOG 11,232 -#define ULOG_DEFAULT_NLGROUP 14,265 -#define ULOG_DEFAULT_QTHRESHOLD 15,296 -#define ULOG_MAC_LEN 17,331 -#define ULOG_PREFIX_LEN 18,355 -#define ULOG_MAX_QLEN 20,383 -struct ipt_ulog_info ipt_ulog_info27,729 -typedef struct ulog_packet_msg ulog_packet_msg35,907 -} ulog_packet_msg_t;ulog_packet_msg_t47,1215 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_sctp.h,944 -#define _IPT_SCTP_H_2,21 -#define IPT_SCTP_SRC_PORTS 4,43 -#define IPT_SCTP_DEST_PORTS 5,83 -#define IPT_SCTP_CHUNK_TYPES 6,124 -#define IPT_SCTP_VALID_FLAGS 8,160 -#define ELEMCOUNT(ELEMCOUNT10,196 -struct ipt_sctp_flag_info ipt_sctp_flag_info13,244 -#define IPT_NUM_SCTP_FLAGS 19,334 -struct ipt_sctp_info ipt_sctp_info21,364 -#define SCTP_CHUNK_MATCH_ANY 27,570 -#define SCTP_CHUNK_MATCH_ALL 28,657 -#define SCTP_CHUNK_MATCH_ONLY 29,744 -#define bytes(bytes39,984 -#define SCTP_CHUNKMAP_SET(SCTP_CHUNKMAP_SET41,1024 -#define SCTP_CHUNKMAP_CLEAR(SCTP_CHUNKMAP_CLEAR47,1177 -#define SCTP_CHUNKMAP_IS_SET(SCTP_CHUNKMAP_IS_SET53,1337 -#define SCTP_CHUNKMAP_RESET(SCTP_CHUNKMAP_RESET59,1494 -#define SCTP_CHUNKMAP_SET_ALL(SCTP_CHUNKMAP_SET_ALL66,1653 -#define SCTP_CHUNKMAP_COPY(SCTP_CHUNKMAP_COPY73,1815 -#define SCTP_CHUNKMAP_IS_CLEAR(SCTP_CHUNKMAP_IS_CLEAR80,1987 -#define SCTP_CHUNKMAP_IS_ALL_SET(SCTP_CHUNKMAP_IS_ALL_SET93,2229 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_TOS.h,115 -#define _IPT_TOS_H_target2,26 -#define IPTOS_NORMALSVC 5,77 -struct ipt_tos_target_info ipt_tos_target_info8,111 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_nat.h,615 -#define _IP_NAT_H2,18 -#define IP_NAT_MAPPING_TYPE_MAX_NAMELEN 6,124 -enum ip_nat_manip_typeip_nat_manip_type8,168 - IP_NAT_MANIP_SRC,10,193 - IP_NAT_MANIP_DST11,212 -#define HOOK2MANIP(HOOK2MANIP16,309 -#define HOOK2MANIP(HOOK2MANIP19,425 -#define IP_NAT_RANGE_MAP_IPS 22,526 -#define IP_NAT_RANGE_PROTO_SPECIFIED 23,557 -#define IP_NAT_RANGE_FULL 25,641 -struct ip_nat_seq ip_nat_seq28,710 -struct ip_nat_rangeip_nat_range37,973 -struct ip_nat_multi_rangeip_nat_multi_range50,1250 -#define IP_NAT_MAX_MANIPS 59,1431 -struct ip_nat_info_manipip_nat_info_manip61,1464 -struct ip_nat_infoip_nat_info84,2002 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_nat_protocol.h,212 -#define _IP_NAT_PROTOCOL_H3,78 -struct ip_nat_protocolip_nat_protocol10,190 -#define MAX_IP_NAT_PROTO 48,1461 -static inline struct ip_nat_protocol *ip_nat_find_proto(55,1724 -extern int init_protocols(66,2073 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_tuple.h,758 -#define _IP_CONNTRACK_TUPLE_H2,30 -union ip_conntrack_manip_protoip_conntrack_manip_proto14,458 -struct ip_conntrack_manipip_conntrack_manip34,730 -struct ip_conntrack_tupleip_conntrack_tuple41,877 -#define IP_CT_TUPLE_U_BLANK(IP_CT_TUPLE_U_BLANK73,1462 -enum ip_conntrack_dirip_conntrack_dir79,1593 - IP_CT_DIR_ORIGINAL,81,1617 - IP_CT_DIR_REPLY,82,1638 - IP_CT_DIR_MAX83,1656 -#define DUMP_TUPLE(DUMP_TUPLE88,1694 -#define CTINFO2DIR(CTINFO2DIR94,1936 -#define DIRECTION(DIRECTION97,2087 -struct ip_conntrack_tuple_haship_conntrack_tuple_hash100,2241 -static inline int ip_ct_tuple_src_equal(112,2445 -static inline int ip_ct_tuple_dst_equal(119,2646 -static inline int ip_ct_tuple_equal(127,2889 -static inline int ip_ct_tuple_mask_cmp(133,3084 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_CLASSIFY.h,92 -#define _IPT_CLASSIFY_H2,24 -struct ipt_classify_target_info ipt_classify_target_info4,49 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ipt_LOG.h,179 -#define _IPT_LOG_H2,19 -#define IPT_LOG_TCPSEQ 4,39 -#define IPT_LOG_TCPOPT 5,99 -#define IPT_LOG_IPOPT 6,150 -#define IPT_LOG_MASK 7,199 -struct ipt_log_info ipt_log_info9,227 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_ftp.h,291 -#define _IP_CONNTRACK_FTP_H2,28 -#define FTP_PORT 7,96 -enum ip_ct_ftp_typeip_ct_ftp_type11,142 - IP_CT_FTP_PORT,14,196 - IP_CT_FTP_PASV,16,246 - IP_CT_FTP_EPRT,18,295 - IP_CT_FTP_EPSV,20,345 -struct ip_ct_ftp_expectip_ct_ftp_expect24,414 -struct ip_ct_ftp_master ip_ct_ftp_master36,806 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4/ip_conntrack_tcp.h,612 -#define _IP_CONNTRACK_TCP_H2,28 -enum tcp_conntrack tcp_conntrack5,77 - TCP_CONNTRACK_NONE,6,98 - TCP_CONNTRACK_SYN_SENT,7,119 - TCP_CONNTRACK_SYN_RECV,8,144 - TCP_CONNTRACK_ESTABLISHED,9,169 - TCP_CONNTRACK_FIN_WAIT,10,197 - TCP_CONNTRACK_CLOSE_WAIT,11,222 - TCP_CONNTRACK_LAST_ACK,12,249 - TCP_CONNTRACK_TIME_WAIT,13,274 - TCP_CONNTRACK_CLOSE,14,300 - TCP_CONNTRACK_LISTEN,15,322 - TCP_CONNTRACK_MAX,16,345 - TCP_CONNTRACK_IGNORE17,365 -#define IP_CT_TCP_STATE_FLAG_WINDOW_SCALE 21,440 -#define IP_CT_TCP_FLAG_SACK_PERM 24,526 -struct ip_ct_tcp_state ip_ct_tcp_state26,566 -struct ip_ct_tcpip_ct_tcp35,895 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/autoconf.h,68880 -#define AUTOCONF_INCLUDED6,119 -#define CONFIG_X86 7,145 -#define CONFIG_MMU 8,166 -#define CONFIG_UID16 9,187 -#define CONFIG_GENERIC_ISA_DMA 10,210 -#define CONFIG_GENERIC_IOMAP 11,243 -#define CONFIG_EXPERIMENTAL 16,313 -#define CONFIG_CLEAN_COMPILE 17,343 -#define CONFIG_BROKEN_ON_SMP 18,374 -#define CONFIG_LOCALVERSION 23,430 -#define CONFIG_SWAP 24,461 -#define CONFIG_SYSVIPC 25,483 -#define CONFIG_POSIX_MQUEUE 26,508 -#define CONFIG_BSD_PROCESS_ACCT 27,538 -#define CONFIG_SYSCTL 29,606 -#define CONFIG_AUDIT 30,630 -#define CONFIG_AUDITSYSCALL 31,653 -#define CONFIG_LOG_BUF_SHIFT 32,683 -#define CONFIG_HOTPLUG 33,715 -#define CONFIG_KALLSYMS 36,786 -#define CONFIG_KALLSYMS_EXTRA_PASS 38,839 -#define CONFIG_FUTEX 39,876 -#define CONFIG_EPOLL 40,899 -#define CONFIG_IOSCHED_NOOP 41,922 -#define CONFIG_IOSCHED_AS 42,952 -#define CONFIG_IOSCHED_DEADLINE 43,980 -#define CONFIG_IOSCHED_CFQ 44,1014 -#define CONFIG_CC_OPTIMIZE_FOR_SIZE 45,1043 -#define CONFIG_SHMEM 46,1081 -#define CONFIG_MODULES 52,1164 -#define CONFIG_MODULE_UNLOAD 53,1189 -#define CONFIG_OBSOLETE_MODPARM 55,1254 -#define CONFIG_MODVERSIONS 56,1288 -#define CONFIG_MODULE_SIG 57,1317 -#define CONFIG_KMOD 59,1376 -#define CONFIG_X86_PC 64,1437 -#define CONFIG_M686 78,1764 -#define CONFIG_X86_GENERIC 92,2082 -#define CONFIG_X86_CMPXCHG 93,2111 -#define CONFIG_X86_XADD 94,2140 -#define CONFIG_X86_L1_CACHE_SHIFT 95,2166 -#define CONFIG_RWSEM_XCHGADD_ALGORITHM 96,2202 -#define CONFIG_X86_PPRO_FENCE 97,2243 -#define CONFIG_X86_WP_WORKS_OK 98,2275 -#define CONFIG_X86_INVLPG 99,2308 -#define CONFIG_X86_BSWAP 100,2336 -#define CONFIG_X86_POPAD_OK 101,2363 -#define CONFIG_X86_GOOD_APIC 102,2393 -#define CONFIG_X86_INTEL_USERCOPY 103,2424 -#define CONFIG_X86_USE_PPRO_CHECKSUM 104,2460 -#define CONFIG_HPET_TIMER 105,2499 -#define CONFIG_HPET_EMULATE_RTC 106,2527 -#define CONFIG_PREEMPT_VOLUNTARY 109,2601 -#define CONFIG_X86_TSC 111,2662 -#define CONFIG_X86_MCE 112,2687 -#define CONFIG_TOSHIBA_MODULE 114,2743 -#define CONFIG_I8K_MODULE 115,2775 -#define CONFIG_MICROCODE_MODULE 116,2803 -#define CONFIG_X86_MSR_MODULE 117,2837 -#define CONFIG_X86_CPUID_MODULE 118,2869 -#define CONFIG_EDD_MODULE 123,2931 -#define CONFIG_HIGHMEM4G 125,2983 -#define CONFIG_HIGHMEM 127,3035 -#define CONFIG_HIGHPTE 128,3060 -#define CONFIG_MTRR 130,3114 -#define CONFIG_REGPARM 132,3154 -#define CONFIG_KEXEC 133,3179 -#define CONFIG_PM 138,3250 -#define CONFIG_ACPI 145,3393 -#define CONFIG_ACPI_BOOT 146,3415 -#define CONFIG_ACPI_INTERPRETER 147,3442 -#define CONFIG_ACPI_SLEEP 148,3476 -#define CONFIG_ACPI_SLEEP_PROC_FS 149,3504 -#define CONFIG_ACPI_AC_MODULE 150,3540 -#define CONFIG_ACPI_BATTERY_MODULE 151,3572 -#define CONFIG_ACPI_BUTTON_MODULE 152,3609 -#define CONFIG_ACPI_FAN 153,3645 -#define CONFIG_ACPI_PROCESSOR 154,3671 -#define CONFIG_ACPI_THERMAL 155,3703 -#define CONFIG_ACPI_ASUS_MODULE 156,3733 -#define CONFIG_ACPI_TOSHIBA_MODULE 157,3767 -#define CONFIG_ACPI_BLACKLIST_YEAR 158,3804 -#define CONFIG_ACPI_BUS 160,3869 -#define CONFIG_ACPI_EC 161,3895 -#define CONFIG_ACPI_POWER 162,3920 -#define CONFIG_ACPI_PCI 163,3948 -#define CONFIG_ACPI_SYSTEM 164,3974 -#define CONFIG_X86_PM_TIMER 165,4003 -#define CONFIG_APM 170,4089 -#define CONFIG_APM_CPU_IDLE 173,4176 -#define CONFIG_APM_RTC_IS_GMT 175,4238 -#define CONFIG_CPU_FREQ 182,4370 -#define CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE 185,4476 -#define CONFIG_CPU_FREQ_GOV_PERFORMANCE 186,4524 -#define CONFIG_CPU_FREQ_GOV_POWERSAVE_MODULE 187,4566 -#define CONFIG_CPU_FREQ_GOV_USERSPACE 188,4613 -#define CONFIG_CPU_FREQ_GOV_ONDEMAND_MODULE 189,4653 -#define CONFIG_CPU_FREQ_TABLE 191,4729 -#define CONFIG_X86_ACPI_CPUFREQ_MODULE 196,4798 -#define CONFIG_X86_POWERNOW_K6_MODULE 198,4880 -#define CONFIG_X86_POWERNOW_K7 199,4920 -#define CONFIG_X86_POWERNOW_K7_ACPI 200,4953 -#define CONFIG_X86_POWERNOW_K8_MODULE 201,4991 -#define CONFIG_X86_POWERNOW_K8_ACPI 202,5031 -#define CONFIG_X86_SPEEDSTEP_CENTRINO 204,5098 -#define CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE 205,5138 -#define CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI 206,5184 -#define CONFIG_X86_SPEEDSTEP_ICH 207,5229 -#define CONFIG_X86_SPEEDSTEP_SMI_MODULE 208,5264 -#define CONFIG_X86_P4_CLOCKMOD_MODULE 209,5306 -#define CONFIG_X86_SPEEDSTEP_LIB 210,5346 -#define CONFIG_X86_LONGRUN 212,5427 -#define CONFIG_X86_LONGHAUL 213,5456 -#define CONFIG_PCI 218,5539 -#define CONFIG_PCI_GOANY 222,5641 -#define CONFIG_PCI_BIOS 223,5668 -#define CONFIG_PCI_DIRECT 224,5694 -#define CONFIG_PCI_MMCONFIG 225,5722 -#define CONFIG_PCI_LEGACY_PROC 226,5752 -#define CONFIG_ISA 228,5809 -#define CONFIG_PCMCIA_MODULE 236,5922 -#define CONFIG_YENTA_MODULE 238,5980 -#define CONFIG_CARDBUS 239,6010 -#define CONFIG_PD6729_MODULE 240,6035 -#define CONFIG_I82092_MODULE 241,6066 -#define CONFIG_I82365_MODULE 242,6097 -#define CONFIG_TCIC_MODULE 243,6128 -#define CONFIG_PCMCIA_PROBE 244,6157 -#define CONFIG_HOTPLUG_PCI 249,6218 -#define CONFIG_HOTPLUG_PCI_COMPAQ_MODULE 251,6278 -#define CONFIG_HOTPLUG_PCI_ACPI_MODULE 253,6360 -#define CONFIG_HOTPLUG_PCI_ACPI_IBM_MODULE 254,6401 -#define CONFIG_HOTPLUG_PCI_PCIE_MODULE 256,6477 -#define CONFIG_HOTPLUG_PCI_SHPC_MODULE 258,6565 -#define CONFIG_BINFMT_ELF 264,6688 -#define CONFIG_BINFMT_MISC 266,6742 -#define CONFIG_STANDALONE 275,6831 -#define CONFIG_PREVENT_FIRMWARE_BUILD 276,6859 -#define CONFIG_FW_LOADER 277,6899 -#define CONFIG_MTD_MODULE 283,6996 -#define CONFIG_MTD_PARTITIONS 285,7048 -#define CONFIG_MTD_CONCAT_MODULE 286,7080 -#define CONFIG_MTD_REDBOOT_PARTS_MODULE 287,7115 -#define CONFIG_MTD_CMDLINE_PARTS 290,7242 -#define CONFIG_MTD_CHAR_MODULE 295,7324 -#define CONFIG_MTD_BLOCK_MODULE 296,7357 -#define CONFIG_MTD_BLOCK_RO_MODULE 297,7391 -#define CONFIG_FTL_MODULE 298,7428 -#define CONFIG_NFTL_MODULE 299,7456 -#define CONFIG_NFTL_RW 300,7485 -#define CONFIG_INFTL_MODULE 301,7510 -#define CONFIG_MTD_CFI_MODULE 306,7578 -#define CONFIG_MTD_JEDECPROBE_MODULE 307,7610 -#define CONFIG_MTD_GEN_PROBE_MODULE 308,7649 -#define CONFIG_MTD_MAP_BANK_WIDTH_1 310,7721 -#define CONFIG_MTD_MAP_BANK_WIDTH_2 311,7759 -#define CONFIG_MTD_MAP_BANK_WIDTH_4 312,7797 -#define CONFIG_MTD_CFI_I1 316,7942 -#define CONFIG_MTD_CFI_I2 317,7970 -#define CONFIG_MTD_CFI_INTELEXT_MODULE 320,8048 -#define CONFIG_MTD_CFI_AMDSTD_MODULE 321,8089 -#define CONFIG_MTD_CFI_AMDSTD_RETRY 322,8128 -#define CONFIG_MTD_CFI_STAA_MODULE 323,8166 -#define CONFIG_MTD_CFI_UTIL_MODULE 324,8203 -#define CONFIG_MTD_RAM_MODULE 325,8240 -#define CONFIG_MTD_ROM_MODULE 326,8272 -#define CONFIG_MTD_ABSENT_MODULE 327,8304 -#define CONFIG_MTD_COMPLEX_MAPPINGS 332,8382 -#define CONFIG_MTD_SC520CDP_MODULE 335,8472 -#define CONFIG_MTD_NETSC520_MODULE 336,8509 -#define CONFIG_MTD_SBC_GXX_MODULE 337,8546 -#define CONFIG_MTD_ELAN_104NC_MODULE 338,8582 -#define CONFIG_MTD_SCx200_DOCFLASH_MODULE 339,8621 -#define CONFIG_MTD_SCB2_FLASH_MODULE 342,8719 -#define CONFIG_MTD_PCI_MODULE 346,8835 -#define CONFIG_MTD_PMC551_MODULE 351,8912 -#define CONFIG_MTD_MTDRAM_MODULE 356,9058 -#define CONFIG_MTDRAM_TOTAL_SIZE 357,9093 -#define CONFIG_MTDRAM_ERASE_SIZE 358,9131 -#define CONFIG_MTD_DOC2000_MODULE 364,9232 -#define CONFIG_MTD_DOC2001PLUS_MODULE 366,9294 -#define CONFIG_MTD_DOCPROBE_MODULE 367,9334 -#define CONFIG_MTD_DOCECC_MODULE 368,9371 -#define CONFIG_MTD_DOCPROBE_ADDRESS 370,9442 -#define CONFIG_MTD_NAND_MODULE 375,9519 -#define CONFIG_MTD_NAND_IDS_MODULE 377,9588 -#define CONFIG_PARPORT_MODULE 383,9692 -#define CONFIG_PARPORT_PC_MODULE 384,9724 -#define CONFIG_PARPORT_PC_CML1_MODULE 385,9759 -#define CONFIG_PARPORT_SERIAL_MODULE 386,9799 -#define CONFIG_PARPORT_PC_PCMCIA_MODULE 389,9901 -#define CONFIG_PARPORT_1284 391,9971 -#define CONFIG_PNP 396,10034 -#define CONFIG_ISAPNP 402,10100 -#define CONFIG_BLK_DEV_FD_MODULE 408,10171 -#define CONFIG_BLK_CPQ_DA_MODULE 411,10252 -#define CONFIG_BLK_CPQ_CISS_DA_MODULE 412,10287 -#define CONFIG_CISS_SCSI_TAPE 413,10327 -#define CONFIG_BLK_DEV_DAC960_MODULE 414,10359 -#define CONFIG_BLK_DEV_UMEM_MODULE 415,10398 -#define CONFIG_BLK_DEV_LOOP_MODULE 416,10435 -#define CONFIG_BLK_DEV_CRYPTOLOOP_MODULE 417,10472 -#define CONFIG_BLK_DEV_NBD_MODULE 418,10515 -#define CONFIG_BLK_DEV_SX8_MODULE 419,10551 -#define CONFIG_BLK_DEV_RAM 421,10612 -#define CONFIG_BLK_DEV_RAM_SIZE 422,10641 -#define CONFIG_BLK_DEV_INITRD 423,10679 -#define CONFIG_LBD 424,10711 -#define CONFIG_IDE 429,10769 -#define CONFIG_BLK_DEV_IDE 430,10790 -#define CONFIG_BLK_DEV_IDEDISK 437,10951 -#define CONFIG_IDEDISK_MULTI_MODE 438,10984 -#define CONFIG_BLK_DEV_IDECS_MODULE 439,11020 -#define CONFIG_BLK_DEV_DELKIN_MODULE 440,11058 -#define CONFIG_BLK_DEV_IDECD 441,11097 -#define CONFIG_BLK_DEV_IDEFLOPPY 443,11158 -#define CONFIG_BLK_DEV_IDESCSI_MODULE 444,11193 -#define CONFIG_IDE_GENERIC 451,11332 -#define CONFIG_BLK_DEV_IDEPNP 453,11390 -#define CONFIG_BLK_DEV_IDEPCI 454,11422 -#define CONFIG_IDEPCI_SHARE_IRQ 455,11454 -#define CONFIG_BLK_DEV_GENERIC 457,11519 -#define CONFIG_BLK_DEV_RZ1000 459,11582 -#define CONFIG_BLK_DEV_IDEDMA_PCI 460,11614 -#define CONFIG_IDEDMA_PCI_AUTO 462,11686 -#define CONFIG_BLK_DEV_AEC62XX 464,11749 -#define CONFIG_BLK_DEV_ALI15X3 465,11782 -#define CONFIG_BLK_DEV_AMD74XX 467,11841 -#define CONFIG_BLK_DEV_ATIIXP 468,11874 -#define CONFIG_BLK_DEV_CMD64X 469,11906 -#define CONFIG_BLK_DEV_TRIFLEX 470,11938 -#define CONFIG_BLK_DEV_CY82C693 471,11971 -#define CONFIG_BLK_DEV_CS5520 472,12005 -#define CONFIG_BLK_DEV_CS5530 473,12037 -#define CONFIG_BLK_DEV_HPT34X 474,12069 -#define CONFIG_BLK_DEV_HPT366 476,12130 -#define CONFIG_BLK_DEV_PIIX 478,12191 -#define CONFIG_BLK_DEV_IT8212 479,12221 -#define CONFIG_BLK_DEV_PDC202XX_OLD 481,12283 -#define CONFIG_BLK_DEV_PDC202XX_NEW 483,12350 -#define CONFIG_PDC202XX_FORCE 484,12388 -#define CONFIG_BLK_DEV_SVWKS 485,12420 -#define CONFIG_BLK_DEV_SIIMAGE 486,12451 -#define CONFIG_BLK_DEV_SIS5513 487,12484 -#define CONFIG_BLK_DEV_SLC90E66 488,12517 -#define CONFIG_BLK_DEV_VIA82CXXX 490,12580 -#define CONFIG_BLK_DEV_IDEDMA 493,12664 -#define CONFIG_IDEDMA_AUTO 495,12721 -#define CONFIG_SCSI_MODULE 501,12806 -#define CONFIG_SCSI_PROC_FS 502,12835 -#define CONFIG_BLK_DEV_SD_MODULE 507,12915 -#define CONFIG_CHR_DEV_ST_MODULE 508,12950 -#define CONFIG_CHR_DEV_OSST_MODULE 509,12985 -#define CONFIG_BLK_DEV_SR_MODULE 510,13022 -#define CONFIG_BLK_DEV_SR_VENDOR 511,13057 -#define CONFIG_CHR_DEV_SG_MODULE 512,13092 -#define CONFIG_SCSI_CONSTANTS 518,13225 -#define CONFIG_SCSI_LOGGING 519,13257 -#define CONFIG_SCSI_SPI_ATTRS_MODULE 524,13324 -#define CONFIG_SCSI_FC_ATTRS_MODULE 525,13363 -#define CONFIG_BLK_DEV_3W_XXXX_RAID_MODULE 530,13435 -#define CONFIG_SCSI_3W_9XXX_MODULE 531,13480 -#define CONFIG_SCSI_ACARD_MODULE 533,13546 -#define CONFIG_SCSI_AHA152X_MODULE 534,13581 -#define CONFIG_SCSI_AHA1542_MODULE 535,13618 -#define CONFIG_SCSI_AACRAID_MODULE 536,13655 -#define CONFIG_SCSI_AIC7XXX_MODULE 537,13692 -#define CONFIG_AIC7XXX_CMDS_PER_DEVICE 538,13729 -#define CONFIG_AIC7XXX_RESET_DELAY_MS 539,13770 -#define CONFIG_AIC7XXX_DEBUG_MASK 541,13849 -#define CONFIG_SCSI_AIC7XXX_OLD_MODULE 543,13924 -#define CONFIG_SCSI_AIC79XX_MODULE 544,13965 -#define CONFIG_AIC79XX_CMDS_PER_DEVICE 545,14002 -#define CONFIG_AIC79XX_RESET_DELAY_MS 546,14043 -#define CONFIG_AIC79XX_DEBUG_MASK 549,14159 -#define CONFIG_SCSI_IN2000_MODULE 552,14261 -#define CONFIG_MEGARAID_NEWGEN 553,14297 -#define CONFIG_MEGARAID_MM_MODULE 554,14330 -#define CONFIG_MEGARAID_MAILBOX_MODULE 555,14366 -#define CONFIG_MEGARAID_LEGACY_MODULE 556,14407 -#define CONFIG_SCSI_SATA 557,14447 -#define CONFIG_SCSI_SATA_AHCI_MODULE 558,14474 -#define CONFIG_SCSI_SATA_SVW_MODULE 559,14513 -#define CONFIG_SCSI_ATA_PIIX_MODULE 560,14551 -#define CONFIG_SCSI_SATA_NV_MODULE 561,14589 -#define CONFIG_SCSI_SATA_PROMISE_MODULE 562,14626 -#define CONFIG_SCSI_SATA_SX4_MODULE 563,14668 -#define CONFIG_SCSI_SATA_SIL_MODULE 564,14706 -#define CONFIG_SCSI_SATA_SIS_MODULE 565,14744 -#define CONFIG_SCSI_SATA_VIA_MODULE 566,14782 -#define CONFIG_SCSI_SATA_VITESSE_MODULE 567,14820 -#define CONFIG_SCSI_BUSLOGIC_MODULE 568,14862 -#define CONFIG_SCSI_LPFC_MODULE 574,15042 -#define CONFIG_SCSI_FUTURE_DOMAIN_MODULE 575,15076 -#define CONFIG_SCSI_GDTH_MODULE 576,15119 -#define CONFIG_SCSI_IPS_MODULE 579,15228 -#define CONFIG_SCSI_INITIO_MODULE 580,15261 -#define CONFIG_SCSI_INIA100_MODULE 581,15297 -#define CONFIG_SCSI_PPA_MODULE 582,15334 -#define CONFIG_SCSI_IMM_MODULE 583,15367 -#define CONFIG_SCSI_SYM53C8XX_2_MODULE 587,15493 -#define CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE 588,15534 -#define CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS 589,15586 -#define CONFIG_SCSI_SYM53C8XX_MAX_TAGS 590,15632 -#define CONFIG_SCSI_QLOGIC_FAS_MODULE 595,15787 -#define CONFIG_SCSI_QLOGIC_ISP_MODULE 596,15827 -#define CONFIG_SCSI_QLOGIC_1280_MODULE 598,15896 -#define CONFIG_SCSI_QLA2XXX_MODULE 599,15937 -#define CONFIG_SCSI_QLA21XX_MODULE 600,15974 -#define CONFIG_SCSI_QLA22XX_MODULE 601,16011 -#define CONFIG_SCSI_QLA2300_MODULE 602,16048 -#define CONFIG_SCSI_QLA2322_MODULE 603,16085 -#define CONFIG_SCSI_QLA6312_MODULE 604,16122 -#define CONFIG_SCSI_QLA6322_MODULE 605,16159 -#define CONFIG_SCSI_DC390T_MODULE 608,16251 -#define CONFIG_PCMCIA_AHA152X_MODULE 618,16456 -#define CONFIG_PCMCIA_FDOMAIN_MODULE 619,16495 -#define CONFIG_PCMCIA_NINJA_SCSI_MODULE 620,16534 -#define CONFIG_PCMCIA_QLOGIC_MODULE 621,16576 -#define CONFIG_PCMCIA_SYM53C500_MODULE 622,16614 -#define CONFIG_MD 632,16780 -#define CONFIG_BLK_DEV_MD 633,16800 -#define CONFIG_MD_LINEAR_MODULE 634,16828 -#define CONFIG_MD_RAID0_MODULE 635,16862 -#define CONFIG_MD_RAID1_MODULE 636,16895 -#define CONFIG_MD_RAID10_MODULE 637,16928 -#define CONFIG_MD_RAID5_MODULE 638,16962 -#define CONFIG_MD_RAID6_MODULE 639,16995 -#define CONFIG_MD_MULTIPATH_MODULE 640,17028 -#define CONFIG_BLK_DEV_DM_MODULE 641,17065 -#define CONFIG_DM_CRYPT_MODULE 642,17100 -#define CONFIG_DM_SNAPSHOT_MODULE 643,17133 -#define CONFIG_DM_MIRROR_MODULE 644,17169 -#define CONFIG_DM_ZERO_MODULE 645,17203 -#define CONFIG_FUSION_MODULE 650,17272 -#define CONFIG_FUSION_MAX_SGE 651,17303 -#define CONFIG_FUSION_CTL_MODULE 652,17336 -#define CONFIG_FUSION_LAN_MODULE 653,17371 -#define CONFIG_IEEE1394_MODULE 658,17446 -#define CONFIG_IEEE1394_OUI_DB 664,17544 -#define CONFIG_IEEE1394_EXTRA_CONFIG_ROMS 665,17577 -#define CONFIG_IEEE1394_CONFIG_ROM_IP1394 666,17621 -#define CONFIG_IEEE1394_PCILYNX_MODULE 671,17691 -#define CONFIG_IEEE1394_OHCI1394_MODULE 672,17732 -#define CONFIG_IEEE1394_VIDEO1394_MODULE 677,17802 -#define CONFIG_IEEE1394_SBP2_MODULE 678,17845 -#define CONFIG_IEEE1394_ETH1394_MODULE 680,17920 -#define CONFIG_IEEE1394_DV1394_MODULE 681,17961 -#define CONFIG_IEEE1394_RAWIO_MODULE 682,18001 -#define CONFIG_IEEE1394_CMP_MODULE 683,18040 -#define CONFIG_IEEE1394_AMDTP_MODULE 684,18077 -#define CONFIG_I2O_MODULE 689,18146 -#define CONFIG_I2O_CONFIG_MODULE 690,18174 -#define CONFIG_I2O_BLOCK_MODULE 691,18209 -#define CONFIG_I2O_SCSI_MODULE 692,18243 -#define CONFIG_I2O_PROC_MODULE 693,18276 -#define CONFIG_NET 698,18339 -#define CONFIG_PACKET 703,18390 -#define CONFIG_PACKET_MMAP 704,18414 -#define CONFIG_NETLINK_DEV 705,18443 -#define CONFIG_UNIX 706,18472 -#define CONFIG_NET_KEY_MODULE 707,18494 -#define CONFIG_INET 708,18526 -#define CONFIG_IP_MULTICAST 709,18548 -#define CONFIG_IP_ADVANCED_ROUTER 710,18578 -#define CONFIG_IP_MULTIPLE_TABLES 711,18614 -#define CONFIG_IP_ROUTE_FWMARK 712,18650 -#define CONFIG_IP_ROUTE_MULTIPATH 713,18683 -#define CONFIG_IP_ROUTE_VERBOSE 714,18719 -#define CONFIG_NET_IPIP_MODULE 716,18774 -#define CONFIG_NET_IPGRE_MODULE 717,18807 -#define CONFIG_NET_IPGRE_BROADCAST 718,18841 -#define CONFIG_IP_MROUTE 719,18878 -#define CONFIG_IP_PIMSM_V1 720,18905 -#define CONFIG_IP_PIMSM_V2 721,18934 -#define CONFIG_SYN_COOKIES 723,18982 -#define CONFIG_INET_AH_MODULE 724,19011 -#define CONFIG_INET_ESP_MODULE 725,19043 -#define CONFIG_INET_IPCOMP_MODULE 726,19076 -#define CONFIG_INET_TUNNEL_MODULE 727,19112 -#define CONFIG_IP_VS_MODULE 732,19192 -#define CONFIG_IP_VS_TAB_BITS 734,19248 -#define CONFIG_IP_VS_PROTO_TCP 739,19339 -#define CONFIG_IP_VS_PROTO_UDP 740,19372 -#define CONFIG_IP_VS_PROTO_ESP 741,19405 -#define CONFIG_IP_VS_PROTO_AH 742,19438 -#define CONFIG_IP_VS_RR_MODULE 747,19496 -#define CONFIG_IP_VS_WRR_MODULE 748,19529 -#define CONFIG_IP_VS_LC_MODULE 749,19563 -#define CONFIG_IP_VS_WLC_MODULE 750,19596 -#define CONFIG_IP_VS_LBLC_MODULE 751,19630 -#define CONFIG_IP_VS_LBLCR_MODULE 752,19665 -#define CONFIG_IP_VS_DH_MODULE 753,19701 -#define CONFIG_IP_VS_SH_MODULE 754,19734 -#define CONFIG_IP_VS_SED_MODULE 755,19767 -#define CONFIG_IP_VS_NQ_MODULE 756,19801 -#define CONFIG_IP_VS_FTP_MODULE 761,19869 -#define CONFIG_IPV6_MODULE 762,19903 -#define CONFIG_IPV6_PRIVACY 763,19932 -#define CONFIG_INET6_AH_MODULE 764,19962 -#define CONFIG_INET6_ESP_MODULE 765,19995 -#define CONFIG_INET6_IPCOMP_MODULE 766,20029 -#define CONFIG_INET6_TUNNEL_MODULE 767,20066 -#define CONFIG_IPV6_TUNNEL_MODULE 768,20103 -#define CONFIG_NETFILTER 769,20139 -#define CONFIG_BRIDGE_NETFILTER 771,20196 -#define CONFIG_IP_NF_CONNTRACK_MODULE 776,20269 -#define CONFIG_IP_NF_CT_ACCT 777,20309 -#define CONFIG_IP_NF_CT_PROTO_SCTP_MODULE 778,20340 -#define CONFIG_IP_NF_FTP_MODULE 779,20384 -#define CONFIG_IP_NF_IRC_MODULE 780,20418 -#define CONFIG_IP_NF_TFTP_MODULE 781,20452 -#define CONFIG_IP_NF_AMANDA_MODULE 782,20487 -#define CONFIG_IP_NF_QUEUE_MODULE 783,20524 -#define CONFIG_IP_NF_IPTABLES_MODULE 784,20560 -#define CONFIG_IP_NF_MATCH_LIMIT_MODULE 785,20599 -#define CONFIG_IP_NF_MATCH_IPRANGE_MODULE 786,20641 -#define CONFIG_IP_NF_MATCH_MAC_MODULE 787,20685 -#define CONFIG_IP_NF_MATCH_PKTTYPE_MODULE 788,20725 -#define CONFIG_IP_NF_MATCH_MARK_MODULE 789,20769 -#define CONFIG_IP_NF_MATCH_MULTIPORT_MODULE 790,20810 -#define CONFIG_IP_NF_MATCH_TOS_MODULE 791,20856 -#define CONFIG_IP_NF_MATCH_RECENT_MODULE 792,20896 -#define CONFIG_IP_NF_MATCH_ECN_MODULE 793,20939 -#define CONFIG_IP_NF_MATCH_DSCP_MODULE 794,20979 -#define CONFIG_IP_NF_MATCH_AH_ESP_MODULE 795,21020 -#define CONFIG_IP_NF_MATCH_LENGTH_MODULE 796,21063 -#define CONFIG_IP_NF_MATCH_TTL_MODULE 797,21106 -#define CONFIG_IP_NF_MATCH_TCPMSS_MODULE 798,21146 -#define CONFIG_IP_NF_MATCH_HELPER_MODULE 799,21189 -#define CONFIG_IP_NF_MATCH_STATE_MODULE 800,21232 -#define CONFIG_IP_NF_MATCH_CONNTRACK_MODULE 801,21274 -#define CONFIG_IP_NF_MATCH_OWNER_MODULE 802,21320 -#define CONFIG_IP_NF_MATCH_PHYSDEV_MODULE 803,21362 -#define CONFIG_IP_NF_MATCH_ADDRTYPE_MODULE 804,21406 -#define CONFIG_IP_NF_MATCH_REALM_MODULE 805,21451 -#define CONFIG_IP_NF_MATCH_SCTP_MODULE 806,21493 -#define CONFIG_IP_NF_MATCH_COMMENT_MODULE 807,21534 -#define CONFIG_IP_NF_FILTER_MODULE 808,21578 -#define CONFIG_IP_NF_TARGET_REJECT_MODULE 809,21615 -#define CONFIG_IP_NF_TARGET_LOG_MODULE 810,21659 -#define CONFIG_IP_NF_TARGET_ULOG_MODULE 811,21700 -#define CONFIG_IP_NF_TARGET_TCPMSS_MODULE 812,21742 -#define CONFIG_IP_NF_NAT_MODULE 813,21786 -#define CONFIG_IP_NF_NAT_NEEDED 814,21820 -#define CONFIG_IP_NF_TARGET_MASQUERADE_MODULE 815,21854 -#define CONFIG_IP_NF_TARGET_REDIRECT_MODULE 816,21902 -#define CONFIG_IP_NF_TARGET_NETMAP_MODULE 817,21948 -#define CONFIG_IP_NF_TARGET_SAME_MODULE 818,21992 -#define CONFIG_IP_NF_NAT_LOCAL 819,22034 -#define CONFIG_IP_NF_NAT_SNMP_BASIC_MODULE 820,22067 -#define CONFIG_IP_NF_NAT_IRC_MODULE 821,22112 -#define CONFIG_IP_NF_NAT_FTP_MODULE 822,22150 -#define CONFIG_IP_NF_NAT_TFTP_MODULE 823,22188 -#define CONFIG_IP_NF_NAT_AMANDA_MODULE 824,22227 -#define CONFIG_IP_NF_MANGLE_MODULE 825,22268 -#define CONFIG_IP_NF_TARGET_TOS_MODULE 826,22305 -#define CONFIG_IP_NF_TARGET_ECN_MODULE 827,22346 -#define CONFIG_IP_NF_TARGET_DSCP_MODULE 828,22387 -#define CONFIG_IP_NF_TARGET_MARK_MODULE 829,22429 -#define CONFIG_IP_NF_TARGET_CLASSIFY_MODULE 830,22471 -#define CONFIG_IP_NF_RAW_MODULE 831,22517 -#define CONFIG_IP_NF_TARGET_NOTRACK_MODULE 832,22551 -#define CONFIG_IP_NF_ARPTABLES_MODULE 833,22596 -#define CONFIG_IP_NF_ARPFILTER_MODULE 834,22636 -#define CONFIG_IP_NF_ARP_MANGLE_MODULE 835,22676 -#define CONFIG_IP6_NF_IPTABLES_MODULE 843,22856 -#define CONFIG_IP6_NF_MATCH_LIMIT_MODULE 844,22896 -#define CONFIG_IP6_NF_MATCH_MAC_MODULE 845,22939 -#define CONFIG_IP6_NF_MATCH_RT_MODULE 846,22980 -#define CONFIG_IP6_NF_MATCH_OPTS_MODULE 847,23020 -#define CONFIG_IP6_NF_MATCH_FRAG_MODULE 848,23062 -#define CONFIG_IP6_NF_MATCH_HL_MODULE 849,23104 -#define CONFIG_IP6_NF_MATCH_MULTIPORT_MODULE 850,23144 -#define CONFIG_IP6_NF_MATCH_OWNER_MODULE 851,23191 -#define CONFIG_IP6_NF_MATCH_MARK_MODULE 852,23234 -#define CONFIG_IP6_NF_MATCH_IPV6HEADER_MODULE 853,23276 -#define CONFIG_IP6_NF_MATCH_AHESP_MODULE 854,23324 -#define CONFIG_IP6_NF_MATCH_LENGTH_MODULE 855,23367 -#define CONFIG_IP6_NF_MATCH_EUI64_MODULE 856,23411 -#define CONFIG_IP6_NF_MATCH_PHYSDEV_MODULE 857,23454 -#define CONFIG_IP6_NF_FILTER_MODULE 858,23499 -#define CONFIG_IP6_NF_TARGET_LOG_MODULE 859,23537 -#define CONFIG_IP6_NF_MANGLE_MODULE 860,23579 -#define CONFIG_IP6_NF_TARGET_MARK_MODULE 861,23617 -#define CONFIG_IP6_NF_RAW_MODULE 862,23660 -#define CONFIG_BRIDGE_NF_EBTABLES_MODULE 867,23738 -#define CONFIG_BRIDGE_EBT_BROUTE_MODULE 868,23781 -#define CONFIG_BRIDGE_EBT_T_FILTER_MODULE 869,23823 -#define CONFIG_BRIDGE_EBT_T_NAT_MODULE 870,23867 -#define CONFIG_BRIDGE_EBT_802_3_MODULE 871,23908 -#define CONFIG_BRIDGE_EBT_AMONG_MODULE 872,23949 -#define CONFIG_BRIDGE_EBT_ARP_MODULE 873,23990 -#define CONFIG_BRIDGE_EBT_IP_MODULE 874,24029 -#define CONFIG_BRIDGE_EBT_LIMIT_MODULE 875,24067 -#define CONFIG_BRIDGE_EBT_MARK_MODULE 876,24108 -#define CONFIG_BRIDGE_EBT_PKTTYPE_MODULE 877,24148 -#define CONFIG_BRIDGE_EBT_STP_MODULE 878,24191 -#define CONFIG_BRIDGE_EBT_VLAN_MODULE 879,24230 -#define CONFIG_BRIDGE_EBT_ARPREPLY_MODULE 880,24270 -#define CONFIG_BRIDGE_EBT_DNAT_MODULE 881,24314 -#define CONFIG_BRIDGE_EBT_MARK_T_MODULE 882,24354 -#define CONFIG_BRIDGE_EBT_REDIRECT_MODULE 883,24396 -#define CONFIG_BRIDGE_EBT_SNAT_MODULE 884,24440 -#define CONFIG_BRIDGE_EBT_LOG_MODULE 885,24480 -#define CONFIG_XFRM 886,24519 -#define CONFIG_XFRM_USER 887,24541 -#define CONFIG_IP_SCTP_MODULE 892,24613 -#define CONFIG_SCTP_HMAC_MD5 897,24760 -#define CONFIG_ATM_MODULE 898,24791 -#define CONFIG_ATM_CLIP_MODULE 899,24819 -#define CONFIG_ATM_LANE_MODULE 901,24883 -#define CONFIG_ATM_BR2684_MODULE 903,24939 -#define CONFIG_BRIDGE_MODULE 905,25008 -#define CONFIG_VLAN_8021Q_MODULE 906,25039 -#define CONFIG_LLC 908,25095 -#define CONFIG_IPX_MODULE 910,25135 -#define CONFIG_ATALK_MODULE 912,25188 -#define CONFIG_DEV_APPLETALK 913,25218 -#define CONFIG_LTPC_MODULE 914,25249 -#define CONFIG_COPS_MODULE 915,25278 -#define CONFIG_COPS_DAYNA 916,25307 -#define CONFIG_COPS_TANGENT 917,25335 -#define CONFIG_IPDDP_MODULE 918,25365 -#define CONFIG_IPDDP_ENCAP 919,25395 -#define CONFIG_IPDDP_DECAP 920,25424 -#define CONFIG_NET_DIVERT 923,25490 -#define CONFIG_WAN_ROUTER_MODULE 925,25539 -#define CONFIG_NET_SCHED 930,25610 -#define CONFIG_NET_SCH_CLK_JIFFIES 931,25637 -#define CONFIG_NET_SCH_CBQ_MODULE 934,25743 -#define CONFIG_NET_SCH_HTB_MODULE 935,25779 -#define CONFIG_NET_SCH_HFSC_MODULE 936,25815 -#define CONFIG_NET_SCH_ATM_MODULE 937,25852 -#define CONFIG_NET_SCH_PRIO_MODULE 938,25888 -#define CONFIG_NET_SCH_RED_MODULE 939,25925 -#define CONFIG_NET_SCH_SFQ_MODULE 940,25961 -#define CONFIG_NET_SCH_TEQL_MODULE 941,25997 -#define CONFIG_NET_SCH_TBF_MODULE 942,26034 -#define CONFIG_NET_SCH_GRED_MODULE 943,26070 -#define CONFIG_NET_SCH_DSMARK_MODULE 944,26107 -#define CONFIG_NET_SCH_NETEM_MODULE 945,26146 -#define CONFIG_NET_SCH_INGRESS_MODULE 946,26184 -#define CONFIG_NET_QOS 947,26224 -#define CONFIG_NET_ESTIMATOR 948,26249 -#define CONFIG_NET_CLS 949,26280 -#define CONFIG_NET_CLS_TCINDEX_MODULE 950,26305 -#define CONFIG_NET_CLS_ROUTE4_MODULE 951,26345 -#define CONFIG_NET_CLS_ROUTE 952,26384 -#define CONFIG_NET_CLS_FW_MODULE 953,26415 -#define CONFIG_NET_CLS_U32_MODULE 954,26450 -#define CONFIG_CLS_U32_PERF 955,26486 -#define CONFIG_NET_CLS_IND 956,26516 -#define CONFIG_NET_CLS_RSVP_MODULE 957,26545 -#define CONFIG_NET_CLS_RSVP6_MODULE 958,26582 -#define CONFIG_NET_CLS_POLICE 960,26646 -#define CONFIG_NETPOLL 966,26730 -#define CONFIG_NETPOLL_TRAP 968,26780 -#define CONFIG_NET_POLL_CONTROLLER 969,26810 -#define CONFIG_IRDA_MODULE 971,26870 -#define CONFIG_IRLAN_MODULE 976,26925 -#define CONFIG_IRNET_MODULE 977,26955 -#define CONFIG_IRCOMM_MODULE 978,26985 -#define CONFIG_IRDA_CACHE_LAST_LSAP 984,27065 -#define CONFIG_IRDA_FAST_RR 985,27103 -#define CONFIG_IRTTY_SIR_MODULE 995,27228 -#define CONFIG_DONGLE 1000,27288 -#define CONFIG_ESI_DONGLE_MODULE 1001,27312 -#define CONFIG_ACTISYS_DONGLE_MODULE 1002,27347 -#define CONFIG_TEKRAM_DONGLE_MODULE 1003,27386 -#define CONFIG_LITELINK_DONGLE_MODULE 1004,27424 -#define CONFIG_MA600_DONGLE_MODULE 1005,27464 -#define CONFIG_GIRBIL_DONGLE_MODULE 1006,27501 -#define CONFIG_MCP2120_DONGLE_MODULE 1007,27539 -#define CONFIG_OLD_BELKIN_DONGLE_MODULE 1008,27578 -#define CONFIG_ACT200L_DONGLE_MODULE 1009,27620 -#define CONFIG_IRPORT_SIR_MODULE 1014,27693 -#define CONFIG_USB_IRDA_MODULE 1024,27820 -#define CONFIG_SIGMATEL_FIR_MODULE 1025,27853 -#define CONFIG_NSC_FIR_MODULE 1026,27890 -#define CONFIG_BT_MODULE 1033,28068 -#define CONFIG_BT_L2CAP_MODULE 1034,28095 -#define CONFIG_BT_SCO_MODULE 1035,28128 -#define CONFIG_BT_RFCOMM_MODULE 1036,28159 -#define CONFIG_BT_RFCOMM_TTY 1037,28193 -#define CONFIG_BT_BNEP_MODULE 1038,28224 -#define CONFIG_BT_BNEP_MC_FILTER 1039,28256 -#define CONFIG_BT_BNEP_PROTO_FILTER 1040,28291 -#define CONFIG_BT_CMTP_MODULE 1041,28329 -#define CONFIG_BT_HIDP_MODULE 1042,28361 -#define CONFIG_BT_HCIUSB_MODULE 1047,28429 -#define CONFIG_BT_HCIUSB_SCO 1048,28463 -#define CONFIG_BT_HCIUART_MODULE 1049,28494 -#define CONFIG_BT_HCIUART_H4 1050,28529 -#define CONFIG_BT_HCIUART_BCSP 1051,28560 -#define CONFIG_BT_HCIUART_BCSP_TXCRC 1052,28593 -#define CONFIG_BT_HCIBCM203X_MODULE 1053,28632 -#define CONFIG_BT_HCIBFUSB_MODULE 1054,28670 -#define CONFIG_BT_HCIDTL1_MODULE 1055,28706 -#define CONFIG_BT_HCIBT3C_MODULE 1056,28741 -#define CONFIG_BT_HCIBLUECARD_MODULE 1057,28776 -#define CONFIG_BT_HCIBTUART_MODULE 1058,28815 -#define CONFIG_BT_HCIVHCI_MODULE 1059,28852 -#define CONFIG_TUX_MODULE 1060,28887 -#define CONFIG_TUX_EXTCGI 1065,28938 -#define CONFIG_NETDEVICES 1068,29021 -#define CONFIG_DUMMY_MODULE 1069,29049 -#define CONFIG_BONDING_MODULE 1070,29079 -#define CONFIG_EQUALIZER_MODULE 1071,29111 -#define CONFIG_TUN_MODULE 1072,29145 -#define CONFIG_ETHERTAP_MODULE 1073,29173 -#define CONFIG_NET_SB1000_MODULE 1074,29206 -#define CONFIG_NET_ETHERNET 1084,29324 -#define CONFIG_MII_MODULE 1085,29354 -#define CONFIG_HAPPYMEAL_MODULE 1086,29382 -#define CONFIG_SUNGEM_MODULE 1087,29416 -#define CONFIG_NET_VENDOR_3COM 1088,29447 -#define CONFIG_EL1_MODULE 1089,29480 -#define CONFIG_EL2_MODULE 1090,29508 -#define CONFIG_ELPLUS_MODULE 1091,29536 -#define CONFIG_EL16_MODULE 1092,29567 -#define CONFIG_EL3_MODULE 1093,29596 -#define CONFIG_3C515_MODULE 1094,29624 -#define CONFIG_VORTEX_MODULE 1095,29654 -#define CONFIG_TYPHOON_MODULE 1096,29685 -#define CONFIG_LANCE_MODULE 1097,29717 -#define CONFIG_NET_VENDOR_SMC 1098,29747 -#define CONFIG_WD80x3_MODULE 1099,29779 -#define CONFIG_ULTRA_MODULE 1100,29810 -#define CONFIG_SMC9194_MODULE 1101,29840 -#define CONFIG_NET_VENDOR_RACAL 1102,29872 -#define CONFIG_NI52_MODULE 1104,29927 -#define CONFIG_NI65_MODULE 1105,29956 -#define CONFIG_NET_TULIP 1110,30032 -#define CONFIG_DE2104X_MODULE 1111,30059 -#define CONFIG_TULIP_MODULE 1112,30091 -#define CONFIG_TULIP_MMIO 1114,30145 -#define CONFIG_DE4X5_MODULE 1116,30198 -#define CONFIG_WINBOND_840_MODULE 1117,30228 -#define CONFIG_DM9102_MODULE 1118,30264 -#define CONFIG_PCMCIA_XIRCOM_MODULE 1119,30295 -#define CONFIG_DEPCA_MODULE 1122,30384 -#define CONFIG_HP100_MODULE 1123,30414 -#define CONFIG_NET_ISA 1124,30444 -#define CONFIG_E2100_MODULE 1125,30469 -#define CONFIG_EWRK3_MODULE 1126,30499 -#define CONFIG_EEXPRESS_MODULE 1127,30529 -#define CONFIG_EEXPRESS_PRO_MODULE 1128,30562 -#define CONFIG_HPLAN_PLUS_MODULE 1129,30599 -#define CONFIG_HPLAN_MODULE 1130,30634 -#define CONFIG_LP486E_MODULE 1131,30664 -#define CONFIG_ETH16I_MODULE 1132,30695 -#define CONFIG_NE2000_MODULE 1133,30726 -#define CONFIG_ZNET_MODULE 1134,30757 -#define CONFIG_SEEQ8005_MODULE 1135,30786 -#define CONFIG_NET_PCI 1136,30819 -#define CONFIG_PCNET32_MODULE 1137,30844 -#define CONFIG_AMD8111_ETH_MODULE 1138,30876 -#define CONFIG_AMD8111E_NAPI 1139,30912 -#define CONFIG_ADAPTEC_STARFIRE_MODULE 1140,30943 -#define CONFIG_ADAPTEC_STARFIRE_NAPI 1141,30984 -#define CONFIG_AC3200_MODULE 1142,31023 -#define CONFIG_APRICOT_MODULE 1143,31054 -#define CONFIG_B44_MODULE 1144,31086 -#define CONFIG_FORCEDETH_MODULE 1145,31114 -#define CONFIG_CS89x0_MODULE 1146,31148 -#define CONFIG_DGRS_MODULE 1147,31179 -#define CONFIG_EEPRO100_MODULE 1148,31208 -#define CONFIG_E100_MODULE 1150,31268 -#define CONFIG_E100_NAPI 1151,31297 -#define CONFIG_FEALNX_MODULE 1152,31324 -#define CONFIG_NATSEMI_MODULE 1153,31355 -#define CONFIG_NE2K_PCI_MODULE 1154,31387 -#define CONFIG_8139CP_MODULE 1155,31420 -#define CONFIG_8139TOO_MODULE 1156,31451 -#define CONFIG_8139TOO_PIO 1157,31483 -#define CONFIG_8139TOO_8129 1159,31547 -#define CONFIG_SIS900_MODULE 1161,31609 -#define CONFIG_EPIC100_MODULE 1162,31640 -#define CONFIG_SUNDANCE_MODULE 1163,31672 -#define CONFIG_TLAN_MODULE 1165,31733 -#define CONFIG_VIA_RHINE_MODULE 1166,31762 -#define CONFIG_VIA_RHINE_MMIO 1167,31796 -#define CONFIG_NET_POCKET 1168,31828 -#define CONFIG_ATP_MODULE 1169,31856 -#define CONFIG_DE600_MODULE 1170,31884 -#define CONFIG_DE620_MODULE 1171,31914 -#define CONFIG_ACENIC_MODULE 1176,31976 -#define CONFIG_DL2K_MODULE 1178,32041 -#define CONFIG_E1000_MODULE 1179,32070 -#define CONFIG_E1000_NAPI 1180,32100 -#define CONFIG_NS83820_MODULE 1181,32128 -#define CONFIG_HAMACHI_MODULE 1182,32160 -#define CONFIG_YELLOWFIN_MODULE 1183,32192 -#define CONFIG_R8169_MODULE 1184,32226 -#define CONFIG_R8169_NAPI 1185,32256 -#define CONFIG_SK98LIN_MODULE 1186,32284 -#define CONFIG_VIA_VELOCITY_MODULE 1187,32316 -#define CONFIG_TIGON3_MODULE 1188,32353 -#define CONFIG_IXGB_MODULE 1193,32417 -#define CONFIG_IXGB_NAPI 1194,32446 -#define CONFIG_S2IO_MODULE 1195,32473 -#define CONFIG_S2IO_NAPI 1196,32502 -#define CONFIG_TR 1201,32559 -#define CONFIG_IBMTR_MODULE 1202,32579 -#define CONFIG_IBMOL_MODULE 1203,32609 -#define CONFIG_IBMLS_MODULE 1204,32639 -#define CONFIG_3C359_MODULE 1205,32669 -#define CONFIG_TMS380TR_MODULE 1206,32699 -#define CONFIG_TMSPCI_MODULE 1207,32732 -#define CONFIG_SKISA_MODULE 1208,32763 -#define CONFIG_PROTEON_MODULE 1209,32793 -#define CONFIG_ABYSS_MODULE 1210,32825 -#define CONFIG_SMCTR_MODULE 1211,32855 -#define CONFIG_NET_RADIO 1216,32924 -#define CONFIG_WAVELAN_MODULE 1223,33047 -#define CONFIG_PCMCIA_WAVELAN_MODULE 1224,33079 -#define CONFIG_PCMCIA_NETWAVE_MODULE 1225,33118 -#define CONFIG_IEEE80211_MODULE 1235,33293 -#define CONFIG_IEEE80211_CRYPT_MODULE 1237,33357 -#define CONFIG_IEEE80211_WPA_MODULE 1238,33397 -#define CONFIG_IEEE80211_CRYPT_CCMP_MODULE 1239,33435 -#define CONFIG_IEEE80211_CRYPT_TKIP_MODULE 1240,33480 -#define CONFIG_IPW2100_MODULE 1241,33525 -#define CONFIG_IPW2100_PROMISC 1243,33581 -#define CONFIG_IPW2200_MODULE 1245,33651 -#define CONFIG_AIRO_MODULE 1246,33683 -#define CONFIG_HERMES_MODULE 1247,33712 -#define CONFIG_PLX_HERMES_MODULE 1248,33743 -#define CONFIG_TMD_HERMES_MODULE 1249,33778 -#define CONFIG_PCI_HERMES_MODULE 1250,33813 -#define CONFIG_ATMEL_MODULE 1251,33848 -#define CONFIG_PCI_ATMEL_MODULE 1252,33878 -#define CONFIG_PCMCIA_HERMES_MODULE 1257,33969 -#define CONFIG_AIRO_CS_MODULE 1258,34007 -#define CONFIG_PCMCIA_ATMEL_MODULE 1259,34039 -#define CONFIG_PCMCIA_WL3501_MODULE 1260,34076 -#define CONFIG_PRISM54_MODULE 1265,34175 -#define CONFIG_NET_WIRELESS 1266,34207 -#define CONFIG_NET_PCMCIA 1271,34278 -#define CONFIG_PCMCIA_3C589_MODULE 1272,34306 -#define CONFIG_PCMCIA_3C574_MODULE 1273,34343 -#define CONFIG_PCMCIA_FMVJ18X_MODULE 1274,34380 -#define CONFIG_PCMCIA_PCNET_MODULE 1275,34419 -#define CONFIG_PCMCIA_NMCLAN_MODULE 1276,34456 -#define CONFIG_PCMCIA_SMC91C92_MODULE 1277,34494 -#define CONFIG_PCMCIA_XIRC2PS_MODULE 1278,34534 -#define CONFIG_PCMCIA_AXNET_MODULE 1279,34573 -#define CONFIG_PCMCIA_IBMTR_MODULE 1280,34610 -#define CONFIG_ATM_TCP_MODULE 1290,34714 -#define CONFIG_ATM_LANAI_MODULE 1291,34746 -#define CONFIG_ATM_ENI_MODULE 1292,34780 -#define CONFIG_ATM_FIRESTREAM_MODULE 1295,34873 -#define CONFIG_ATM_NICSTAR_MODULE 1297,34935 -#define CONFIG_ATM_IDT77252_MODULE 1300,35045 -#define CONFIG_ATM_IDT77252_USE_SUNI 1303,35150 -#define CONFIG_ATM_AMBASSADOR_MODULE 1304,35189 -#define CONFIG_ATM_HORIZON_MODULE 1306,35263 -#define CONFIG_ATM_FORE200E_MAYBE_MODULE 1309,35352 -#define CONFIG_ATM_HE_MODULE 1311,35426 -#define CONFIG_FDDI 1313,35487 -#define CONFIG_SKFP_MODULE 1315,35529 -#define CONFIG_PLIP_MODULE 1317,35578 -#define CONFIG_PPP_MODULE 1318,35607 -#define CONFIG_PPP_MULTILINK 1319,35635 -#define CONFIG_PPP_FILTER 1320,35666 -#define CONFIG_PPP_ASYNC_MODULE 1321,35694 -#define CONFIG_PPP_SYNC_TTY_MODULE 1322,35728 -#define CONFIG_PPP_DEFLATE_MODULE 1323,35765 -#define CONFIG_PPPOE_MODULE 1325,35827 -#define CONFIG_PPPOATM_MODULE 1326,35857 -#define CONFIG_SLIP_MODULE 1327,35889 -#define CONFIG_SLIP_COMPRESSED 1328,35918 -#define CONFIG_SLIP_SMART 1329,35951 -#define CONFIG_NET_FC 1331,36009 -#define CONFIG_NETCONSOLE_MODULE 1333,36054 -#define CONFIG_ISDN_MODULE 1338,36115 -#define CONFIG_ISDN_I4L_MODULE 1343,36170 -#define CONFIG_ISDN_PPP 1344,36203 -#define CONFIG_ISDN_PPP_VJ 1345,36229 -#define CONFIG_ISDN_MPP 1346,36258 -#define CONFIG_IPPP_FILTER 1347,36284 -#define CONFIG_ISDN_AUDIO 1349,36344 -#define CONFIG_ISDN_TTY_FAX 1350,36372 -#define CONFIG_ISDN_DRV_LOOP_MODULE 1355,36437 -#define CONFIG_ISDN_DRV_HISAX_MODULE 1364,36539 -#define CONFIG_HISAX_EURO 1369,36617 -#define CONFIG_DE_AOC 1370,36645 -#define CONFIG_HISAX_NO_SENDCOMPLETE 1371,36669 -#define CONFIG_HISAX_NO_LLC 1372,36708 -#define CONFIG_HISAX_NO_KEYPAD 1373,36738 -#define CONFIG_HISAX_1TR6 1374,36771 -#define CONFIG_HISAX_NI1 1375,36799 -#define CONFIG_HISAX_MAX_CARDS 1376,36826 -#define CONFIG_HISAX_16_0 1381,36892 -#define CONFIG_HISAX_16_3 1382,36920 -#define CONFIG_HISAX_TELESPCI 1383,36948 -#define CONFIG_HISAX_S0BOX 1384,36980 -#define CONFIG_HISAX_AVM_A1 1385,37009 -#define CONFIG_HISAX_FRITZPCI 1386,37039 -#define CONFIG_HISAX_AVM_A1_PCMCIA 1387,37071 -#define CONFIG_HISAX_ELSA 1388,37108 -#define CONFIG_HISAX_IX1MICROR2 1389,37136 -#define CONFIG_HISAX_DIEHLDIVA 1390,37170 -#define CONFIG_HISAX_ASUSCOM 1391,37203 -#define CONFIG_HISAX_TELEINT 1392,37234 -#define CONFIG_HISAX_HFCS 1393,37265 -#define CONFIG_HISAX_SEDLBAUER 1394,37293 -#define CONFIG_HISAX_SPORTSTER 1395,37326 -#define CONFIG_HISAX_MIC 1396,37359 -#define CONFIG_HISAX_NETJET 1397,37386 -#define CONFIG_HISAX_NETJET_U 1398,37416 -#define CONFIG_HISAX_NICCY 1399,37448 -#define CONFIG_HISAX_ISURF 1400,37477 -#define CONFIG_HISAX_HSTSAPHIR 1401,37506 -#define CONFIG_HISAX_BKM_A4T 1402,37539 -#define CONFIG_HISAX_SCT_QUADRO 1403,37570 -#define CONFIG_HISAX_GAZEL 1404,37604 -#define CONFIG_HISAX_HFC_PCI 1405,37633 -#define CONFIG_HISAX_W6692 1406,37664 -#define CONFIG_HISAX_HFC_SX 1407,37693 -#define CONFIG_HISAX_ENTERNOW_PCI 1408,37723 -#define CONFIG_HISAX_SEDLBAUER_CS_MODULE 1414,37830 -#define CONFIG_HISAX_ELSA_CS_MODULE 1415,37873 -#define CONFIG_HISAX_AVM_A1_CS_MODULE 1416,37911 -#define CONFIG_HISAX_TELES_CS_MODULE 1417,37951 -#define CONFIG_HISAX_ST5481_MODULE 1422,38026 -#define CONFIG_HISAX_HFCUSB_MODULE 1423,38063 -#define CONFIG_HISAX_FRITZ_PCIPNP_MODULE 1424,38100 -#define CONFIG_HISAX_HDLC 1425,38143 -#define CONFIG_ISDN_DRV_ICN_MODULE 1430,38195 -#define CONFIG_ISDN_DRV_PCBIT_MODULE 1431,38232 -#define CONFIG_ISDN_DRV_SC_MODULE 1432,38271 -#define CONFIG_ISDN_DRV_ACT2000_MODULE 1433,38307 -#define CONFIG_ISDN_DRV_TPAM_MODULE 1434,38348 -#define CONFIG_HYSDN_MODULE 1435,38386 -#define CONFIG_HYSDN_CAPI 1436,38416 -#define CONFIG_ISDN_CAPI_MODULE 1441,38470 -#define CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON 1442,38504 -#define CONFIG_ISDN_CAPI_MIDDLEWARE 1443,38551 -#define CONFIG_ISDN_CAPI_CAPI20_MODULE 1444,38589 -#define CONFIG_ISDN_CAPI_CAPIFS_BOOL 1445,38630 -#define CONFIG_ISDN_CAPI_CAPIFS_MODULE 1446,38669 -#define CONFIG_ISDN_CAPI_CAPIDRV_MODULE 1447,38710 -#define CONFIG_CAPI_AVM 1456,38813 -#define CONFIG_ISDN_DRV_AVMB1_B1ISA_MODULE 1457,38839 -#define CONFIG_ISDN_DRV_AVMB1_B1PCI_MODULE 1458,38884 -#define CONFIG_ISDN_DRV_AVMB1_B1PCIV4 1459,38929 -#define CONFIG_ISDN_DRV_AVMB1_T1ISA_MODULE 1460,38969 -#define CONFIG_ISDN_DRV_AVMB1_B1PCMCIA_MODULE 1461,39014 -#define CONFIG_ISDN_DRV_AVMB1_AVM_CS_MODULE 1462,39062 -#define CONFIG_ISDN_DRV_AVMB1_T1PCI_MODULE 1463,39108 -#define CONFIG_ISDN_DRV_AVMB1_C4_MODULE 1464,39153 -#define CONFIG_CAPI_EICON 1469,39237 -#define CONFIG_ISDN_DIVAS_MODULE 1470,39265 -#define CONFIG_ISDN_DIVAS_BRIPCI 1471,39300 -#define CONFIG_ISDN_DIVAS_PRIPCI 1472,39335 -#define CONFIG_ISDN_DIVAS_DIVACAPI_MODULE 1473,39370 -#define CONFIG_ISDN_DIVAS_USERIDI_MODULE 1474,39414 -#define CONFIG_ISDN_DIVAS_MAINT_MODULE 1475,39457 -#define CONFIG_INPUT 1485,39579 -#define CONFIG_INPUT_MOUSEDEV 1490,39633 -#define CONFIG_INPUT_MOUSEDEV_SCREEN_X 1492,39700 -#define CONFIG_INPUT_MOUSEDEV_SCREEN_Y 1493,39744 -#define CONFIG_INPUT_JOYDEV_MODULE 1494,39787 -#define CONFIG_INPUT_EVDEV 1496,39850 -#define CONFIG_GAMEPORT_MODULE 1502,39934 -#define CONFIG_SOUND_GAMEPORT_MODULE 1503,39967 -#define CONFIG_GAMEPORT_NS558_MODULE 1504,40006 -#define CONFIG_GAMEPORT_L4_MODULE 1505,40045 -#define CONFIG_GAMEPORT_EMU10K1_MODULE 1506,40081 -#define CONFIG_GAMEPORT_VORTEX_MODULE 1507,40122 -#define CONFIG_GAMEPORT_FM801_MODULE 1508,40162 -#define CONFIG_GAMEPORT_CS461x_MODULE 1509,40201 -#define CONFIG_SERIO 1510,40241 -#define CONFIG_SERIO_I8042 1511,40264 -#define CONFIG_SERIO_SERPORT 1512,40293 -#define CONFIG_INPUT_KEYBOARD 1521,40463 -#define CONFIG_KEYBOARD_ATKBD 1522,40495 -#define CONFIG_INPUT_MOUSE 1527,40645 -#define CONFIG_MOUSE_PS2 1528,40674 -#define CONFIG_MOUSE_SERIAL_MODULE 1529,40701 -#define CONFIG_MOUSE_INPORT_MODULE 1530,40738 -#define CONFIG_MOUSE_ATIXL 1531,40775 -#define CONFIG_MOUSE_LOGIBM_MODULE 1532,40804 -#define CONFIG_MOUSE_PC110PAD_MODULE 1533,40841 -#define CONFIG_MOUSE_VSXXXAA_MODULE 1534,40880 -#define CONFIG_INPUT_JOYSTICK 1535,40918 -#define CONFIG_JOYSTICK_ANALOG_MODULE 1536,40950 -#define CONFIG_JOYSTICK_A3D_MODULE 1537,40990 -#define CONFIG_JOYSTICK_ADI_MODULE 1538,41027 -#define CONFIG_JOYSTICK_COBRA_MODULE 1539,41064 -#define CONFIG_JOYSTICK_GF2K_MODULE 1540,41103 -#define CONFIG_JOYSTICK_GRIP_MODULE 1541,41141 -#define CONFIG_JOYSTICK_GRIP_MP_MODULE 1542,41179 -#define CONFIG_JOYSTICK_GUILLEMOT_MODULE 1543,41220 -#define CONFIG_JOYSTICK_INTERACT_MODULE 1544,41263 -#define CONFIG_JOYSTICK_SIDEWINDER_MODULE 1545,41305 -#define CONFIG_JOYSTICK_TMDC_MODULE 1546,41349 -#define CONFIG_JOYSTICK_IFORCE_MODULE 1547,41387 -#define CONFIG_JOYSTICK_IFORCE_USB 1548,41427 -#define CONFIG_JOYSTICK_IFORCE_232 1549,41464 -#define CONFIG_JOYSTICK_WARRIOR_MODULE 1550,41501 -#define CONFIG_JOYSTICK_MAGELLAN_MODULE 1551,41542 -#define CONFIG_JOYSTICK_SPACEORB_MODULE 1552,41584 -#define CONFIG_JOYSTICK_SPACEBALL_MODULE 1553,41626 -#define CONFIG_JOYSTICK_STINGER_MODULE 1554,41669 -#define CONFIG_JOYSTICK_TWIDDLER_MODULE 1555,41710 -#define CONFIG_JOYSTICK_DB9_MODULE 1556,41752 -#define CONFIG_JOYSTICK_GAMECON_MODULE 1557,41789 -#define CONFIG_JOYSTICK_TURBOGRAFX_MODULE 1558,41830 -#define CONFIG_JOYSTICK_JOYDUMP_MODULE 1559,41874 -#define CONFIG_INPUT_TOUCHSCREEN 1560,41915 -#define CONFIG_TOUCHSCREEN_GUNZE_MODULE 1561,41950 -#define CONFIG_INPUT_MISC 1562,41992 -#define CONFIG_INPUT_PCSPKR_MODULE 1563,42020 -#define CONFIG_INPUT_UINPUT_MODULE 1564,42057 -#define CONFIG_VT 1569,42123 -#define CONFIG_VT_CONSOLE 1570,42143 -#define CONFIG_HW_CONSOLE 1571,42171 -#define CONFIG_SERIAL_NONSTANDARD 1572,42199 -#define CONFIG_ROCKETPORT_MODULE 1574,42259 -#define CONFIG_SYNCLINK_MODULE 1582,42456 -#define CONFIG_SYNCLINKMP_MODULE 1583,42489 -#define CONFIG_N_HDLC_MODULE 1584,42524 -#define CONFIG_STALDRV 1589,42636 -#define CONFIG_SERIAL_8250 1596,42734 -#define CONFIG_SERIAL_8250_CONSOLE 1597,42763 -#define CONFIG_SERIAL_8250_CS_MODULE 1598,42800 -#define CONFIG_SERIAL_8250_NR_UARTS 1600,42870 -#define CONFIG_SERIAL_8250_EXTENDED 1601,42909 -#define CONFIG_SERIAL_8250_MANY_PORTS 1602,42947 -#define CONFIG_SERIAL_8250_SHARE_IRQ 1603,42987 -#define CONFIG_SERIAL_8250_DETECT_IRQ 1604,43026 -#define CONFIG_SERIAL_8250_MULTIPORT 1605,43066 -#define CONFIG_SERIAL_8250_RSA 1606,43105 -#define CONFIG_SERIAL_CORE 1611,43178 -#define CONFIG_SERIAL_CORE_CONSOLE 1612,43207 -#define CONFIG_UNIX98_PTYS 1613,43244 -#define CONFIG_CRASH_MODULE 1615,43299 -#define CONFIG_PRINTER_MODULE 1616,43329 -#define CONFIG_LP_CONSOLE 1617,43361 -#define CONFIG_PPDEV_MODULE 1618,43389 -#define CONFIG_TIPAR_MODULE 1619,43419 -#define CONFIG_IPMI_HANDLER_MODULE 1624,43465 -#define CONFIG_IPMI_DEVICE_INTERFACE_MODULE 1626,43533 -#define CONFIG_IPMI_SI_MODULE 1627,43579 -#define CONFIG_IPMI_WATCHDOG_MODULE 1628,43611 -#define CONFIG_IPMI_POWEROFF_MODULE 1629,43649 -#define CONFIG_WATCHDOG 1634,43713 -#define CONFIG_SOFT_WATCHDOG_MODULE 1640,43806 -#define CONFIG_ACQUIRE_WDT_MODULE 1641,43844 -#define CONFIG_ADVANTECH_WDT_MODULE 1642,43880 -#define CONFIG_ALIM1535_WDT_MODULE 1643,43918 -#define CONFIG_ALIM7101_WDT_MODULE 1644,43955 -#define CONFIG_SC520_WDT_MODULE 1645,43992 -#define CONFIG_EUROTECH_WDT_MODULE 1646,44026 -#define CONFIG_IB700_WDT_MODULE 1647,44063 -#define CONFIG_WAFER_WDT_MODULE 1648,44097 -#define CONFIG_I8XX_TCO_MODULE 1649,44131 -#define CONFIG_SC1200_WDT_MODULE 1650,44164 -#define CONFIG_CPU5_WDT_MODULE 1653,44247 -#define CONFIG_W83627HF_WDT_MODULE 1654,44280 -#define CONFIG_W83877F_WDT_MODULE 1655,44317 -#define CONFIG_MACHZ_WDT_MODULE 1656,44353 -#define CONFIG_PCWATCHDOG_MODULE 1661,44423 -#define CONFIG_WDT_MODULE 1663,44481 -#define CONFIG_PCIPCWATCHDOG_MODULE 1669,44567 -#define CONFIG_WDTPCI_MODULE 1670,44605 -#define CONFIG_WDT_501_PCI 1671,44636 -#define CONFIG_USBPCWATCHDOG_MODULE 1676,44701 -#define CONFIG_HW_RANDOM_MODULE 1677,44739 -#define CONFIG_NVRAM_MODULE 1678,44773 -#define CONFIG_RTC 1679,44803 -#define CONFIG_DTLK_MODULE 1680,44824 -#define CONFIG_R3964_MODULE 1681,44853 -#define CONFIG_SONYPI_MODULE 1683,44906 -#define CONFIG_AGP 1689,45005 -#define CONFIG_AGP_ALI 1690,45026 -#define CONFIG_AGP_ATI 1691,45051 -#define CONFIG_AGP_AMD 1692,45076 -#define CONFIG_AGP_AMD64 1693,45101 -#define CONFIG_AGP_INTEL 1694,45128 -#define CONFIG_AGP_INTEL_MCH 1695,45155 -#define CONFIG_AGP_NVIDIA 1696,45186 -#define CONFIG_AGP_SIS 1697,45214 -#define CONFIG_AGP_SWORKS 1698,45239 -#define CONFIG_AGP_VIA 1699,45267 -#define CONFIG_AGP_EFFICEON 1700,45292 -#define CONFIG_DRM 1701,45322 -#define CONFIG_DRM_TDFX_MODULE 1702,45343 -#define CONFIG_DRM_R128_MODULE 1703,45376 -#define CONFIG_DRM_RADEON_MODULE 1704,45409 -#define CONFIG_DRM_I810_MODULE 1705,45444 -#define CONFIG_DRM_I830_MODULE 1706,45477 -#define CONFIG_DRM_I915_MODULE 1707,45510 -#define CONFIG_DRM_MGA_MODULE 1708,45543 -#define CONFIG_DRM_SIS_MODULE 1709,45575 -#define CONFIG_SYNCLINK_CS_MODULE 1714,45643 -#define CONFIG_MWAVE_MODULE 1715,45679 -#define CONFIG_RAW_DRIVER_MODULE 1716,45709 -#define CONFIG_MAX_RAW_DEVS 1718,45763 -#define CONFIG_HANGCHECK_TIMER_MODULE 1719,45796 -#define CONFIG_I2C_MODULE 1724,45859 -#define CONFIG_I2C_CHARDEV_MODULE 1725,45887 -#define CONFIG_I2C_ALGOBIT_MODULE 1730,45949 -#define CONFIG_I2C_ALGOPCF_MODULE 1731,45985 -#define CONFIG_I2C_ALGOPCA_MODULE 1732,46021 -#define CONFIG_I2C_ALI1535_MODULE 1737,46093 -#define CONFIG_I2C_ALI1563_MODULE 1738,46129 -#define CONFIG_I2C_ALI15X3_MODULE 1739,46165 -#define CONFIG_I2C_AMD756_MODULE 1740,46201 -#define CONFIG_I2C_AMD8111_MODULE 1741,46236 -#define CONFIG_I2C_I801_MODULE 1743,46298 -#define CONFIG_I2C_I810_MODULE 1744,46331 -#define CONFIG_I2C_ISA_MODULE 1745,46364 -#define CONFIG_I2C_NFORCE2_MODULE 1746,46396 -#define CONFIG_I2C_PIIX4_MODULE 1749,46490 -#define CONFIG_I2C_PROSAVAGE_MODULE 1750,46524 -#define CONFIG_I2C_SAVAGE4_MODULE 1751,46562 -#define CONFIG_I2C_SIS5595_MODULE 1753,46623 -#define CONFIG_I2C_SIS630_MODULE 1754,46659 -#define CONFIG_I2C_SIS96X_MODULE 1755,46694 -#define CONFIG_I2C_VIA_MODULE 1756,46729 -#define CONFIG_I2C_VIAPRO_MODULE 1757,46761 -#define CONFIG_I2C_VOODOO3_MODULE 1758,46796 -#define CONFIG_I2C_PCA_ISA_MODULE 1759,46832 -#define CONFIG_I2C_SENSOR_MODULE 1764,46909 -#define CONFIG_SENSORS_ADM1021_MODULE 1765,46944 -#define CONFIG_SENSORS_ADM1025_MODULE 1766,46984 -#define CONFIG_SENSORS_ADM1031_MODULE 1767,47024 -#define CONFIG_SENSORS_ASB100_MODULE 1768,47064 -#define CONFIG_SENSORS_DS1621_MODULE 1769,47103 -#define CONFIG_SENSORS_FSCHER_MODULE 1770,47142 -#define CONFIG_SENSORS_GL518SM_MODULE 1771,47181 -#define CONFIG_SENSORS_IT87_MODULE 1772,47221 -#define CONFIG_SENSORS_LM75_MODULE 1773,47258 -#define CONFIG_SENSORS_LM77_MODULE 1774,47295 -#define CONFIG_SENSORS_LM78_MODULE 1775,47332 -#define CONFIG_SENSORS_LM80_MODULE 1776,47369 -#define CONFIG_SENSORS_LM83_MODULE 1777,47406 -#define CONFIG_SENSORS_LM85_MODULE 1778,47443 -#define CONFIG_SENSORS_LM90_MODULE 1779,47480 -#define CONFIG_SENSORS_MAX1619_MODULE 1780,47517 -#define CONFIG_SENSORS_SMSC47M1_MODULE 1781,47557 -#define CONFIG_SENSORS_VIA686A_MODULE 1782,47598 -#define CONFIG_SENSORS_W83781D_MODULE 1783,47638 -#define CONFIG_SENSORS_W83L785TS_MODULE 1784,47678 -#define CONFIG_SENSORS_W83627HF_MODULE 1785,47720 -#define CONFIG_SENSORS_EEPROM_MODULE 1790,47795 -#define CONFIG_SENSORS_PCF8574_MODULE 1791,47834 -#define CONFIG_SENSORS_PCF8591_MODULE 1792,47874 -#define CONFIG_SENSORS_RTC8564_MODULE 1793,47914 -#define CONFIG_IBM_ASM_MODULE 1807,48141 -#define CONFIG_VIDEO_DEV_MODULE 1812,48203 -#define CONFIG_VIDEO_BT848_MODULE 1821,48290 -#define CONFIG_VIDEO_PMS_MODULE 1822,48326 -#define CONFIG_VIDEO_BWQCAM_MODULE 1823,48360 -#define CONFIG_VIDEO_CQCAM_MODULE 1824,48397 -#define CONFIG_VIDEO_W9966_MODULE 1825,48433 -#define CONFIG_VIDEO_CPIA_MODULE 1826,48469 -#define CONFIG_VIDEO_CPIA_PP_MODULE 1827,48504 -#define CONFIG_VIDEO_CPIA_USB_MODULE 1828,48542 -#define CONFIG_VIDEO_SAA5246A_MODULE 1829,48581 -#define CONFIG_VIDEO_SAA5249_MODULE 1830,48620 -#define CONFIG_TUNER_3036_MODULE 1831,48658 -#define CONFIG_VIDEO_STRADIS_MODULE 1832,48693 -#define CONFIG_VIDEO_ZORAN_MODULE 1833,48731 -#define CONFIG_VIDEO_ZORAN_BUZ_MODULE 1834,48767 -#define CONFIG_VIDEO_ZORAN_DC10_MODULE 1835,48807 -#define CONFIG_VIDEO_ZORAN_DC30_MODULE 1836,48848 -#define CONFIG_VIDEO_ZORAN_LML33_MODULE 1837,48889 -#define CONFIG_VIDEO_ZORAN_LML33R10_MODULE 1838,48931 -#define CONFIG_VIDEO_MEYE_MODULE 1839,48976 -#define CONFIG_VIDEO_SAA7134_MODULE 1840,49011 -#define CONFIG_VIDEO_MXB_MODULE 1841,49049 -#define CONFIG_VIDEO_DPC_MODULE 1842,49083 -#define CONFIG_VIDEO_HEXIUM_ORION_MODULE 1843,49117 -#define CONFIG_VIDEO_HEXIUM_GEMINI_MODULE 1844,49160 -#define CONFIG_VIDEO_CX88_MODULE 1845,49204 -#define CONFIG_VIDEO_OVCAMCHIP_MODULE 1846,49239 -#define CONFIG_RADIO_CADET_MODULE 1851,49305 -#define CONFIG_RADIO_RTRACK_MODULE 1852,49341 -#define CONFIG_RADIO_RTRACK2_MODULE 1853,49378 -#define CONFIG_RADIO_AZTECH_MODULE 1854,49416 -#define CONFIG_RADIO_GEMTEK_MODULE 1855,49453 -#define CONFIG_RADIO_GEMTEK_PCI_MODULE 1856,49490 -#define CONFIG_RADIO_MAXIRADIO_MODULE 1857,49531 -#define CONFIG_RADIO_MAESTRO_MODULE 1858,49571 -#define CONFIG_RADIO_SF16FMI_MODULE 1859,49609 -#define CONFIG_RADIO_SF16FMR2_MODULE 1860,49647 -#define CONFIG_RADIO_TERRATEC_MODULE 1861,49686 -#define CONFIG_RADIO_TRUST_MODULE 1862,49725 -#define CONFIG_RADIO_TYPHOON_MODULE 1863,49761 -#define CONFIG_RADIO_TYPHOON_PROC_FS 1864,49799 -#define CONFIG_RADIO_ZOLTRIX_MODULE 1865,49838 -#define CONFIG_DVB 1870,49922 -#define CONFIG_DVB_CORE_MODULE 1871,49943 -#define CONFIG_DVB_TWINHAN_DST_MODULE 1876,50014 -#define CONFIG_DVB_STV0299_MODULE 1877,50054 -#define CONFIG_DVB_ALPS_TDMB7_MODULE 1880,50144 -#define CONFIG_DVB_ATMEL_AT76C651_MODULE 1881,50183 -#define CONFIG_DVB_CX24110_MODULE 1882,50226 -#define CONFIG_DVB_GRUNDIG_29504_491_MODULE 1883,50262 -#define CONFIG_DVB_GRUNDIG_29504_401_MODULE 1884,50308 -#define CONFIG_DVB_MT312_MODULE 1885,50354 -#define CONFIG_DVB_VES1820_MODULE 1886,50388 -#define CONFIG_DVB_VES1X93_MODULE 1887,50424 -#define CONFIG_DVB_NXT6000_MODULE 1889,50487 -#define CONFIG_DVB_AV7110_MODULE 1894,50571 -#define CONFIG_DVB_AV7110_OSD 1895,50606 -#define CONFIG_DVB_BUDGET_MODULE 1896,50638 -#define CONFIG_DVB_BUDGET_CI_MODULE 1897,50673 -#define CONFIG_DVB_BUDGET_AV_MODULE 1898,50711 -#define CONFIG_DVB_BUDGET_PATCH_MODULE 1899,50749 -#define CONFIG_DVB_TTUSB_BUDGET_MODULE 1904,50824 -#define CONFIG_DVB_TTUSB_DEC_MODULE 1905,50865 -#define CONFIG_DVB_B2C2_SKYSTAR_MODULE 1910,50950 -#define CONFIG_DVB_BT8XX_MODULE 1915,51027 -#define CONFIG_VIDEO_SAA7146_MODULE 1916,51061 -#define CONFIG_VIDEO_SAA7146_VV_MODULE 1917,51099 -#define CONFIG_VIDEO_VIDEOBUF_MODULE 1918,51140 -#define CONFIG_VIDEO_TUNER_MODULE 1919,51179 -#define CONFIG_VIDEO_BUF_MODULE 1920,51215 -#define CONFIG_VIDEO_BTCX_MODULE 1921,51249 -#define CONFIG_VIDEO_IR_MODULE 1922,51284 -#define CONFIG_FB 1927,51345 -#define CONFIG_FB_MODE_HELPERS 1928,51365 -#define CONFIG_FB_CIRRUS_MODULE 1929,51398 -#define CONFIG_FB_VGA16_MODULE 1934,51529 -#define CONFIG_FB_VESA 1935,51562 -#define CONFIG_VIDEO_SELECT 1936,51587 -#define CONFIG_FB_HGA_MODULE 1937,51617 -#define CONFIG_FB_HGA_ACCEL 1938,51648 -#define CONFIG_FB_RIVA_MODULE 1939,51678 -#define CONFIG_FB_I810_MODULE 1942,51764 -#define CONFIG_FB_I810_GTF 1943,51796 -#define CONFIG_FB_MATROX_MODULE 1944,51825 -#define CONFIG_FB_MATROX_MILLENIUM 1945,51859 -#define CONFIG_FB_MATROX_MYSTIQUE 1946,51896 -#define CONFIG_FB_MATROX_G450 1947,51932 -#define CONFIG_FB_MATROX_G100 1948,51964 -#define CONFIG_FB_MATROX_I2C_MODULE 1949,51996 -#define CONFIG_FB_MATROX_MAVEN_MODULE 1950,52034 -#define CONFIG_FB_MATROX_MULTIHEAD 1951,52074 -#define CONFIG_FB_RADEON_MODULE 1953,52139 -#define CONFIG_FB_RADEON_I2C 1954,52173 -#define CONFIG_FB_ATY128_MODULE 1956,52234 -#define CONFIG_FB_ATY_MODULE 1957,52268 -#define CONFIG_FB_ATY_CT 1958,52299 -#define CONFIG_FB_ATY_GX 1959,52326 -#define CONFIG_FB_NEOMAGIC_MODULE 1962,52403 -#define CONFIG_FB_KYRO_MODULE 1963,52439 -#define CONFIG_FB_3DFX_MODULE 1964,52471 -#define CONFIG_FB_3DFX_ACCEL 1965,52503 -#define CONFIG_FB_VOODOO1_MODULE 1966,52534 -#define CONFIG_FB_TRIDENT_MODULE 1967,52569 -#define CONFIG_FB_TRIDENT_ACCEL 1968,52604 -#define CONFIG_VGA_CONSOLE 1974,52705 -#define CONFIG_MDA_CONSOLE_MODULE 1975,52734 -#define CONFIG_DUMMY_CONSOLE 1976,52770 -#define CONFIG_FRAMEBUFFER_CONSOLE 1977,52801 -#define CONFIG_FONT_8x8 1979,52858 -#define CONFIG_FONT_8x16 1980,52884 -#define CONFIG_LOGO 1985,52941 -#define CONFIG_LOGO_LINUX_CLUT224 1988,53024 -#define CONFIG_SOUND_MODULE 1993,53077 -#define CONFIG_SND_MODULE 1998,53152 -#define CONFIG_SND_TIMER_MODULE 1999,53180 -#define CONFIG_SND_PCM_MODULE 2000,53214 -#define CONFIG_SND_HWDEP_MODULE 2001,53246 -#define CONFIG_SND_RAWMIDI_MODULE 2002,53280 -#define CONFIG_SND_SEQUENCER_MODULE 2003,53316 -#define CONFIG_SND_SEQ_DUMMY_MODULE 2004,53354 -#define CONFIG_SND_OSSEMUL 2005,53392 -#define CONFIG_SND_MIXER_OSS_MODULE 2006,53421 -#define CONFIG_SND_PCM_OSS_MODULE 2007,53459 -#define CONFIG_SND_SEQUENCER_OSS 2008,53495 -#define CONFIG_SND_RTCTIMER_MODULE 2009,53530 -#define CONFIG_SND_MPU401_UART_MODULE 2016,53651 -#define CONFIG_SND_OPL3_LIB_MODULE 2017,53691 -#define CONFIG_SND_OPL4_LIB_MODULE 2018,53728 -#define CONFIG_SND_VX_LIB_MODULE 2019,53765 -#define CONFIG_SND_DUMMY_MODULE 2020,53800 -#define CONFIG_SND_VIRMIDI_MODULE 2021,53834 -#define CONFIG_SND_MTPAV_MODULE 2022,53870 -#define CONFIG_SND_MPU401_MODULE 2024,53936 -#define CONFIG_SND_AD1816A_MODULE 2029,53994 -#define CONFIG_SND_AD1848_MODULE 2030,54030 -#define CONFIG_SND_CS4231_MODULE 2031,54065 -#define CONFIG_SND_CS4232_MODULE 2032,54100 -#define CONFIG_SND_CS4236_MODULE 2033,54135 -#define CONFIG_SND_ES968_MODULE 2034,54170 -#define CONFIG_SND_ES1688_MODULE 2035,54204 -#define CONFIG_SND_ES18XX_MODULE 2036,54239 -#define CONFIG_SND_GUS_SYNTH_MODULE 2037,54274 -#define CONFIG_SND_GUSCLASSIC_MODULE 2038,54312 -#define CONFIG_SND_GUSEXTREME_MODULE 2039,54351 -#define CONFIG_SND_GUSMAX_MODULE 2040,54390 -#define CONFIG_SND_INTERWAVE_MODULE 2041,54425 -#define CONFIG_SND_INTERWAVE_STB_MODULE 2042,54463 -#define CONFIG_SND_OPTI92X_AD1848_MODULE 2043,54505 -#define CONFIG_SND_OPTI92X_CS4231_MODULE 2044,54548 -#define CONFIG_SND_OPTI93X_MODULE 2045,54591 -#define CONFIG_SND_SB8_MODULE 2046,54627 -#define CONFIG_SND_SB16_MODULE 2047,54659 -#define CONFIG_SND_SBAWE_MODULE 2048,54692 -#define CONFIG_SND_SB16_CSP 2049,54726 -#define CONFIG_SND_ALS100_MODULE 2051,54784 -#define CONFIG_SND_AZT2320_MODULE 2052,54819 -#define CONFIG_SND_CMI8330_MODULE 2053,54855 -#define CONFIG_SND_DT019X_MODULE 2054,54891 -#define CONFIG_SND_OPL3SA2_MODULE 2055,54926 -#define CONFIG_SND_SGALAXY_MODULE 2056,54962 -#define CONFIG_SND_SSCAPE_MODULE 2057,54998 -#define CONFIG_SND_AC97_CODEC_MODULE 2062,55056 -#define CONFIG_SND_ALI5451_MODULE 2063,55095 -#define CONFIG_SND_ATIIXP_MODULE 2064,55131 -#define CONFIG_SND_ATIIXP_MODEM_MODULE 2065,55166 -#define CONFIG_SND_AU8810_MODULE 2066,55207 -#define CONFIG_SND_AU8820_MODULE 2067,55242 -#define CONFIG_SND_AU8830_MODULE 2068,55277 -#define CONFIG_SND_AZT3328_MODULE 2069,55312 -#define CONFIG_SND_BT87X_MODULE 2070,55348 -#define CONFIG_SND_CS46XX_MODULE 2071,55382 -#define CONFIG_SND_CS46XX_NEW_DSP 2072,55417 -#define CONFIG_SND_CS4281_MODULE 2073,55453 -#define CONFIG_SND_EMU10K1_MODULE 2074,55488 -#define CONFIG_SND_KORG1212_MODULE 2075,55524 -#define CONFIG_SND_MIXART_MODULE 2076,55561 -#define CONFIG_SND_NM256_MODULE 2077,55596 -#define CONFIG_SND_RME32_MODULE 2078,55630 -#define CONFIG_SND_RME96_MODULE 2079,55664 -#define CONFIG_SND_RME9652_MODULE 2080,55698 -#define CONFIG_SND_HDSP_MODULE 2081,55734 -#define CONFIG_SND_TRIDENT_MODULE 2082,55767 -#define CONFIG_SND_YMFPCI_MODULE 2083,55803 -#define CONFIG_SND_ALS4000_MODULE 2084,55838 -#define CONFIG_SND_CMIPCI_MODULE 2085,55874 -#define CONFIG_SND_ENS1370_MODULE 2086,55909 -#define CONFIG_SND_ENS1371_MODULE 2087,55945 -#define CONFIG_SND_ES1938_MODULE 2088,55981 -#define CONFIG_SND_ES1968_MODULE 2089,56016 -#define CONFIG_SND_MAESTRO3_MODULE 2090,56051 -#define CONFIG_SND_FM801_MODULE 2091,56088 -#define CONFIG_SND_FM801_TEA575X_MODULE 2092,56122 -#define CONFIG_SND_ICE1712_MODULE 2093,56164 -#define CONFIG_SND_ICE1724_MODULE 2094,56200 -#define CONFIG_SND_INTEL8X0_MODULE 2095,56236 -#define CONFIG_SND_INTEL8X0M_MODULE 2096,56273 -#define CONFIG_SND_SONICVIBES_MODULE 2097,56311 -#define CONFIG_SND_VIA82XX_MODULE 2098,56350 -#define CONFIG_SND_VX222_MODULE 2099,56386 -#define CONFIG_SND_USB_AUDIO_MODULE 2104,56448 -#define CONFIG_SND_USB_USX2Y_MODULE 2105,56486 -#define CONFIG_SND_PDAUDIOCF_MODULE 2112,56602 -#define CONFIG_USB 2122,56718 -#define CONFIG_USB_DEVICEFS 2128,56800 -#define CONFIG_USB_EHCI_HCD_MODULE 2137,56978 -#define CONFIG_USB_EHCI_SPLIT_ISO 2138,57015 -#define CONFIG_USB_EHCI_ROOT_HUB_TT 2139,57051 -#define CONFIG_USB_OHCI_HCD_MODULE 2140,57089 -#define CONFIG_USB_UHCI_HCD_MODULE 2141,57126 -#define CONFIG_USB_MIDI_MODULE 2151,57303 -#define CONFIG_USB_ACM_MODULE 2152,57336 -#define CONFIG_USB_PRINTER_MODULE 2153,57368 -#define CONFIG_USB_STORAGE_MODULE 2154,57404 -#define CONFIG_USB_STORAGE_RW_DETECT 2156,57472 -#define CONFIG_USB_STORAGE_DATAFAB 2157,57511 -#define CONFIG_USB_STORAGE_FREECOM 2158,57548 -#define CONFIG_USB_STORAGE_ISD200 2159,57585 -#define CONFIG_USB_STORAGE_DPCM 2160,57621 -#define CONFIG_USB_STORAGE_HP8200e 2161,57655 -#define CONFIG_USB_STORAGE_SDDR09 2162,57692 -#define CONFIG_USB_STORAGE_SDDR55 2163,57728 -#define CONFIG_USB_STORAGE_JUMPSHOT 2164,57764 -#define CONFIG_USB_HID 2169,57847 -#define CONFIG_USB_HIDINPUT 2170,57872 -#define CONFIG_HID_FF 2171,57902 -#define CONFIG_HID_PID 2172,57926 -#define CONFIG_LOGITECH_FF 2173,57951 -#define CONFIG_THRUSTMASTER_FF 2174,57980 -#define CONFIG_USB_HIDDEV 2175,58013 -#define CONFIG_USB_AIPTEK_MODULE 2176,58041 -#define CONFIG_USB_WACOM_MODULE 2177,58076 -#define CONFIG_USB_KBTAB_MODULE 2178,58110 -#define CONFIG_USB_POWERMATE_MODULE 2179,58144 -#define CONFIG_USB_MTOUCH_MODULE 2180,58182 -#define CONFIG_USB_EGALAX_MODULE 2181,58217 -#define CONFIG_USB_XPAD_MODULE 2182,58252 -#define CONFIG_USB_ATI_REMOTE_MODULE 2183,58285 -#define CONFIG_USB_MDC800_MODULE 2188,58355 -#define CONFIG_USB_MICROTEK_MODULE 2189,58390 -#define CONFIG_USB_HPUSBSCSI_MODULE 2190,58427 -#define CONFIG_USB_DABUSB_MODULE 2195,58499 -#define CONFIG_USB_VICAM_MODULE 2196,58534 -#define CONFIG_USB_DSBR_MODULE 2197,58568 -#define CONFIG_USB_IBMCAM_MODULE 2198,58601 -#define CONFIG_USB_KONICAWC_MODULE 2199,58636 -#define CONFIG_USB_OV511_MODULE 2200,58673 -#define CONFIG_USB_SE401_MODULE 2201,58707 -#define CONFIG_USB_SN9C102_MODULE 2202,58741 -#define CONFIG_USB_STV680_MODULE 2203,58777 -#define CONFIG_USB_W9968CF_MODULE 2204,58812 -#define CONFIG_USB_PWC_MODULE 2205,58848 -#define CONFIG_USB_CATC_MODULE 2210,58912 -#define CONFIG_USB_KAWETH_MODULE 2211,58945 -#define CONFIG_USB_PEGASUS_MODULE 2212,58980 -#define CONFIG_USB_RTL8150_MODULE 2213,59016 -#define CONFIG_USB_USBNET_MODULE 2214,59052 -#define CONFIG_USB_ALI_M5632 2219,59122 -#define CONFIG_USB_AN2720 2220,59153 -#define CONFIG_USB_BELKIN 2221,59181 -#define CONFIG_USB_GENESYS 2222,59209 -#define CONFIG_USB_NET1080 2223,59238 -#define CONFIG_USB_PL2301 2224,59267 -#define CONFIG_USB_ARMLINUX 2229,59338 -#define CONFIG_USB_EPSON2888 2230,59368 -#define CONFIG_USB_ZAURUS 2231,59399 -#define CONFIG_USB_CDCETHER 2232,59427 -#define CONFIG_USB_AX8817X 2237,59489 -#define CONFIG_USB_USS720_MODULE 2242,59546 -#define CONFIG_USB_SERIAL_MODULE 2247,59621 -#define CONFIG_USB_SERIAL_GENERIC 2248,59656 -#define CONFIG_USB_SERIAL_BELKIN_MODULE 2249,59692 -#define CONFIG_USB_SERIAL_WHITEHEAT_MODULE 2250,59734 -#define CONFIG_USB_SERIAL_DIGI_ACCELEPORT_MODULE 2251,59779 -#define CONFIG_USB_SERIAL_EMPEG_MODULE 2252,59830 -#define CONFIG_USB_SERIAL_FTDI_SIO_MODULE 2253,59871 -#define CONFIG_USB_SERIAL_VISOR_MODULE 2254,59915 -#define CONFIG_USB_SERIAL_IPAQ_MODULE 2255,59956 -#define CONFIG_USB_SERIAL_IR_MODULE 2256,59996 -#define CONFIG_USB_SERIAL_EDGEPORT_MODULE 2257,60034 -#define CONFIG_USB_SERIAL_EDGEPORT_TI_MODULE 2258,60078 -#define CONFIG_USB_SERIAL_KEYSPAN_PDA_MODULE 2259,60125 -#define CONFIG_USB_SERIAL_KEYSPAN_MODULE 2260,60172 -#define CONFIG_USB_SERIAL_KEYSPAN_MPR 2261,60215 -#define CONFIG_USB_SERIAL_KEYSPAN_USA28 2262,60255 -#define CONFIG_USB_SERIAL_KEYSPAN_USA28X 2263,60297 -#define CONFIG_USB_SERIAL_KEYSPAN_USA28XA 2264,60340 -#define CONFIG_USB_SERIAL_KEYSPAN_USA28XB 2265,60384 -#define CONFIG_USB_SERIAL_KEYSPAN_USA19 2266,60428 -#define CONFIG_USB_SERIAL_KEYSPAN_USA18X 2267,60470 -#define CONFIG_USB_SERIAL_KEYSPAN_USA19W 2268,60513 -#define CONFIG_USB_SERIAL_KEYSPAN_USA19QW 2269,60556 -#define CONFIG_USB_SERIAL_KEYSPAN_USA19QI 2270,60600 -#define CONFIG_USB_SERIAL_KEYSPAN_USA49W 2271,60644 -#define CONFIG_USB_SERIAL_KEYSPAN_USA49WLC 2272,60687 -#define CONFIG_USB_SERIAL_KLSI_MODULE 2273,60732 -#define CONFIG_USB_SERIAL_KOBIL_SCT_MODULE 2274,60772 -#define CONFIG_USB_SERIAL_MCT_U232_MODULE 2275,60817 -#define CONFIG_USB_SERIAL_PL2303_MODULE 2276,60861 -#define CONFIG_USB_SERIAL_SAFE_MODULE 2277,60903 -#define CONFIG_USB_SERIAL_SAFE_PADDED 2278,60943 -#define CONFIG_USB_SERIAL_CYBERJACK_MODULE 2279,60983 -#define CONFIG_USB_SERIAL_XIRCOM_MODULE 2280,61028 -#define CONFIG_USB_SERIAL_OMNINET_MODULE 2281,61070 -#define CONFIG_USB_EZUSB 2282,61113 -#define CONFIG_USB_EMI62_MODULE 2287,61177 -#define CONFIG_USB_AUERSWALD_MODULE 2290,61258 -#define CONFIG_USB_RIO500_MODULE 2291,61296 -#define CONFIG_USB_LEGOTOWER_MODULE 2292,61331 -#define CONFIG_USB_LCD_MODULE 2293,61369 -#define CONFIG_USB_LED_MODULE 2294,61401 -#define CONFIG_USB_PHIDGETSERVO_MODULE 2296,61459 -#define CONFIG_USB_TEST_MODULE 2297,61500 -#define CONFIG_USB_ATM_MODULE 2302,61564 -#define CONFIG_USB_SPEEDTOUCH_MODULE 2303,61596 -#define CONFIG_EXT2_FS 2313,61714 -#define CONFIG_EXT2_FS_XATTR 2314,61739 -#define CONFIG_EXT2_FS_POSIX_ACL 2315,61770 -#define CONFIG_EXT2_FS_SECURITY 2316,61805 -#define CONFIG_EXT3_FS_MODULE 2317,61839 -#define CONFIG_EXT3_FS_XATTR 2318,61871 -#define CONFIG_EXT3_FS_POSIX_ACL 2319,61902 -#define CONFIG_EXT3_FS_SECURITY 2320,61937 -#define CONFIG_JBD_MODULE 2321,61971 -#define CONFIG_FS_MBCACHE 2323,62023 -#define CONFIG_REISERFS_FS_MODULE 2324,62051 -#define CONFIG_REISERFS_PROC_INFO 2326,62116 -#define CONFIG_REISERFS_FS_XATTR 2327,62152 -#define CONFIG_REISERFS_FS_POSIX_ACL 2328,62187 -#define CONFIG_REISERFS_FS_SECURITY 2329,62226 -#define CONFIG_JFS_FS_MODULE 2330,62264 -#define CONFIG_JFS_POSIX_ACL 2331,62295 -#define CONFIG_FS_POSIX_ACL 2334,62379 -#define CONFIG_XFS_FS_MODULE 2335,62409 -#define CONFIG_XFS_QUOTA 2337,62461 -#define CONFIG_XFS_SECURITY 2338,62488 -#define CONFIG_XFS_POSIX_ACL 2339,62518 -#define CONFIG_MINIX_FS_MODULE 2340,62549 -#define CONFIG_ROMFS_FS_MODULE 2341,62582 -#define CONFIG_QUOTA 2342,62615 -#define CONFIG_QFMT_V2 2344,62660 -#define CONFIG_QUOTACTL 2345,62685 -#define CONFIG_AUTOFS_FS_MODULE 2346,62711 -#define CONFIG_AUTOFS4_FS_MODULE 2347,62745 -#define CONFIG_ISO9660_FS 2352,62814 -#define CONFIG_JOLIET 2353,62842 -#define CONFIG_ZISOFS 2354,62866 -#define CONFIG_ZISOFS_FS 2355,62890 -#define CONFIG_UDF_FS_MODULE 2356,62917 -#define CONFIG_UDF_NLS 2357,62948 -#define CONFIG_FAT_FS_MODULE 2362,63007 -#define CONFIG_MSDOS_FS_MODULE 2363,63038 -#define CONFIG_VFAT_FS_MODULE 2364,63071 -#define CONFIG_FAT_DEFAULT_CODEPAGE 2365,63103 -#define CONFIG_FAT_DEFAULT_IOCHARSET 2366,63143 -#define CONFIG_PROC_FS 2372,63240 -#define CONFIG_PROC_KCORE 2373,63265 -#define CONFIG_SYSFS 2374,63293 -#define CONFIG_DEVPTS_FS_XATTR 2376,63339 -#define CONFIG_DEVPTS_FS_SECURITY 2377,63372 -#define CONFIG_TMPFS 2378,63408 -#define CONFIG_TMPFS_XATTR 2379,63431 -#define CONFIG_TMPFS_SECURITY 2380,63460 -#define CONFIG_HUGETLBFS 2381,63492 -#define CONFIG_HUGETLB_PAGE 2382,63519 -#define CONFIG_RAMFS 2383,63549 -#define CONFIG_AFFS_FS_MODULE 2389,63631 -#define CONFIG_HFS_FS_MODULE 2390,63663 -#define CONFIG_HFSPLUS_FS_MODULE 2391,63694 -#define CONFIG_BEFS_FS_MODULE 2392,63729 -#define CONFIG_BFS_FS_MODULE 2394,63786 -#define CONFIG_EFS_FS_MODULE 2395,63817 -#define CONFIG_JFFS2_FS_MODULE 2397,63870 -#define CONFIG_JFFS2_FS_DEBUG 2398,63903 -#define CONFIG_JFFS2_FS_NAND 2399,63935 -#define CONFIG_JFFS2_ZLIB 2401,64006 -#define CONFIG_JFFS2_RTIME 2402,64034 -#define CONFIG_CRAMFS_MODULE 2404,64089 -#define CONFIG_VXFS_FS_MODULE 2405,64120 -#define CONFIG_QNX4FS_FS_MODULE 2407,64174 -#define CONFIG_SYSV_FS_MODULE 2409,64232 -#define CONFIG_UFS_FS_MODULE 2410,64264 -#define CONFIG_NFS_FS_MODULE 2416,64354 -#define CONFIG_NFS_V3 2417,64385 -#define CONFIG_NFS_V4 2418,64409 -#define CONFIG_NFS_DIRECTIO 2419,64433 -#define CONFIG_NFSD_MODULE 2420,64463 -#define CONFIG_NFSD_V3 2421,64492 -#define CONFIG_NFSD_V4 2422,64517 -#define CONFIG_NFSD_TCP 2423,64542 -#define CONFIG_LOCKD_MODULE 2424,64568 -#define CONFIG_LOCKD_V4 2425,64598 -#define CONFIG_EXPORTFS_MODULE 2426,64624 -#define CONFIG_SUNRPC_MODULE 2427,64657 -#define CONFIG_SUNRPC_GSS_MODULE 2428,64688 -#define CONFIG_RPCSEC_GSS_KRB5_MODULE 2429,64723 -#define CONFIG_RPCSEC_GSS_SPKM3_MODULE 2430,64763 -#define CONFIG_SMB_FS_MODULE 2431,64804 -#define CONFIG_CIFS_MODULE 2433,64865 -#define CONFIG_CIFS_XATTR 2435,64919 -#define CONFIG_CIFS_POSIX 2436,64947 -#define CONFIG_NCP_FS_MODULE 2437,64975 -#define CONFIG_NCPFS_PACKET_SIGNING 2438,65006 -#define CONFIG_NCPFS_IOCTL_LOCKING 2439,65044 -#define CONFIG_NCPFS_STRONG 2440,65081 -#define CONFIG_NCPFS_NFS_NS 2441,65111 -#define CONFIG_NCPFS_OS2_NS 2442,65141 -#define CONFIG_NCPFS_SMALLDOS 2443,65171 -#define CONFIG_NCPFS_NLS 2444,65203 -#define CONFIG_NCPFS_EXTRAS 2445,65230 -#define CONFIG_PARTITION_ADVANCED 2452,65330 -#define CONFIG_OSF_PARTITION 2454,65396 -#define CONFIG_MAC_PARTITION 2457,65487 -#define CONFIG_MSDOS_PARTITION 2458,65518 -#define CONFIG_BSD_DISKLABEL 2459,65551 -#define CONFIG_MINIX_SUBPARTITION 2460,65582 -#define CONFIG_SOLARIS_X86_PARTITION 2461,65618 -#define CONFIG_UNIXWARE_DISKLABEL 2462,65657 -#define CONFIG_SGI_PARTITION 2464,65721 -#define CONFIG_SUN_PARTITION 2466,65783 -#define CONFIG_EFI_PARTITION 2467,65814 -#define CONFIG_NLS 2472,65880 -#define CONFIG_NLS_DEFAULT 2473,65901 -#define CONFIG_NLS_CODEPAGE_437 2474,65935 -#define CONFIG_NLS_CODEPAGE_737_MODULE 2475,65969 -#define CONFIG_NLS_CODEPAGE_775_MODULE 2476,66010 -#define CONFIG_NLS_CODEPAGE_850_MODULE 2477,66051 -#define CONFIG_NLS_CODEPAGE_852_MODULE 2478,66092 -#define CONFIG_NLS_CODEPAGE_855_MODULE 2479,66133 -#define CONFIG_NLS_CODEPAGE_857_MODULE 2480,66174 -#define CONFIG_NLS_CODEPAGE_860_MODULE 2481,66215 -#define CONFIG_NLS_CODEPAGE_861_MODULE 2482,66256 -#define CONFIG_NLS_CODEPAGE_862_MODULE 2483,66297 -#define CONFIG_NLS_CODEPAGE_863_MODULE 2484,66338 -#define CONFIG_NLS_CODEPAGE_864_MODULE 2485,66379 -#define CONFIG_NLS_CODEPAGE_865_MODULE 2486,66420 -#define CONFIG_NLS_CODEPAGE_866_MODULE 2487,66461 -#define CONFIG_NLS_CODEPAGE_869_MODULE 2488,66502 -#define CONFIG_NLS_CODEPAGE_936_MODULE 2489,66543 -#define CONFIG_NLS_CODEPAGE_950_MODULE 2490,66584 -#define CONFIG_NLS_CODEPAGE_932_MODULE 2491,66625 -#define CONFIG_NLS_CODEPAGE_949_MODULE 2492,66666 -#define CONFIG_NLS_CODEPAGE_874_MODULE 2493,66707 -#define CONFIG_NLS_ISO8859_8_MODULE 2494,66748 -#define CONFIG_NLS_CODEPAGE_1250_MODULE 2495,66786 -#define CONFIG_NLS_CODEPAGE_1251_MODULE 2496,66828 -#define CONFIG_NLS_ASCII 2497,66870 -#define CONFIG_NLS_ISO8859_1_MODULE 2498,66897 -#define CONFIG_NLS_ISO8859_2_MODULE 2499,66935 -#define CONFIG_NLS_ISO8859_3_MODULE 2500,66973 -#define CONFIG_NLS_ISO8859_4_MODULE 2501,67011 -#define CONFIG_NLS_ISO8859_5_MODULE 2502,67049 -#define CONFIG_NLS_ISO8859_6_MODULE 2503,67087 -#define CONFIG_NLS_ISO8859_7_MODULE 2504,67125 -#define CONFIG_NLS_ISO8859_9_MODULE 2505,67163 -#define CONFIG_NLS_ISO8859_13_MODULE 2506,67201 -#define CONFIG_NLS_ISO8859_14_MODULE 2507,67240 -#define CONFIG_NLS_ISO8859_15_MODULE 2508,67279 -#define CONFIG_NLS_KOI8_R_MODULE 2509,67318 -#define CONFIG_NLS_KOI8_U_MODULE 2510,67353 -#define CONFIG_NLS_UTF8_MODULE 2511,67388 -#define CONFIG_PROFILING 2516,67450 -#define CONFIG_OPROFILE_MODULE 2517,67477 -#define CONFIG_DEBUG_KERNEL 2522,67536 -#define CONFIG_MAGIC_SYSRQ 2523,67566 -#define CONFIG_DEBUG_SPINLOCK 2525,67620 -#define CONFIG_DEBUG_SPINLOCK_SLEEP 2526,67652 -#define CONFIG_DEBUG_HIGHMEM 2527,67690 -#define CONFIG_DEBUG_INFO 2528,67721 -#define CONFIG_EARLY_PRINTK 2530,67777 -#define CONFIG_DEBUG_STACKOVERFLOW 2531,67807 -#define CONFIG_DEBUG_STACK_USAGE 2533,67866 -#define CONFIG_SECURITY 2540,67984 -#define CONFIG_SECURITY_NETWORK 2541,68010 -#define CONFIG_SECURITY_CAPABILITIES 2542,68044 -#define CONFIG_SECURITY_SELINUX 2544,68115 -#define CONFIG_SECURITY_SELINUX_BOOTPARAM 2545,68149 -#define CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE 2546,68193 -#define CONFIG_SECURITY_SELINUX_DISABLE 2547,68243 -#define CONFIG_SECURITY_SELINUX_DEVELOP 2548,68285 -#define CONFIG_SECURITY_SELINUX_AVC_STATS 2549,68327 -#define CONFIG_CRYPTO 2555,68439 -#define CONFIG_CRYPTO_HMAC 2556,68463 -#define CONFIG_CRYPTO_NULL_MODULE 2557,68492 -#define CONFIG_CRYPTO_MD4_MODULE 2558,68528 -#define CONFIG_CRYPTO_MD5_MODULE 2559,68563 -#define CONFIG_CRYPTO_SHA1 2560,68598 -#define CONFIG_CRYPTO_SHA256_MODULE 2561,68627 -#define CONFIG_CRYPTO_SHA512_MODULE 2562,68665 -#define CONFIG_CRYPTO_WP512_MODULE 2563,68703 -#define CONFIG_CRYPTO_DES_MODULE 2564,68740 -#define CONFIG_CRYPTO_BLOWFISH_MODULE 2565,68775 -#define CONFIG_CRYPTO_TWOFISH_MODULE 2566,68815 -#define CONFIG_CRYPTO_SERPENT_MODULE 2567,68854 -#define CONFIG_CRYPTO_AES_586_MODULE 2568,68893 -#define CONFIG_CRYPTO_CAST5_MODULE 2569,68932 -#define CONFIG_CRYPTO_CAST6_MODULE 2570,68969 -#define CONFIG_CRYPTO_TEA_MODULE 2571,69006 -#define CONFIG_CRYPTO_ARC4_MODULE 2572,69041 -#define CONFIG_CRYPTO_KHAZAD_MODULE 2573,69077 -#define CONFIG_CRYPTO_DEFLATE_MODULE 2574,69115 -#define CONFIG_CRYPTO_MICHAEL_MIC_MODULE 2575,69154 -#define CONFIG_CRYPTO_CRC32C_MODULE 2576,69197 -#define CONFIG_CRYPTO_SIGNATURE 2578,69261 -#define CONFIG_CRYPTO_SIGNATURE_DSA 2579,69295 -#define CONFIG_CRYPTO_MPILIB 2580,69333 -#define CONFIG_CRC_CCITT_MODULE 2585,69392 -#define CONFIG_CRC32 2586,69426 -#define CONFIG_LIBCRC32C_MODULE 2587,69449 -#define CONFIG_ZLIB_INFLATE 2588,69483 -#define CONFIG_ZLIB_DEFLATE_MODULE 2589,69513 -#define CONFIG_X86_BIOS_REBOOT 2590,69550 -#define CONFIG_PC 2591,69583 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ppdev.h,966 -#define PP_MAJOR 17,552 -#define PP_IOCTL 19,573 -#define PPSETMODE 22,650 -#define PPRSTATUS 25,713 -#define PPWSTATUS 26,767 -#define PPRCONTROL 29,856 -#define PPWCONTROL 30,911 -struct ppdev_frob_struct ppdev_frob_struct32,967 -#define PPFCONTROL 36,1038 -#define PPRDATA 39,1132 -#define PPWDATA 40,1185 -#define PPRECONTROL 43,1276 -#define PPWECONTROL 44,1341 -#define PPRFIFO 47,1440 -#define PPWFIFO 48,1502 -#define PPCLAIM 51,1604 -#define PPRELEASE 54,1690 -#define PPYIELD 58,1809 -#define PPEXCL 61,1907 -#define PPDATADIR 64,1996 -#define PPNEGOT 67,2086 -#define PPWCTLONIRQ 70,2180 -#define PPCLRIRQ 73,2279 -#define PPSETPHASE 76,2395 -#define PPGETTIME 79,2491 -#define PPSETTIME 80,2546 -#define PPGETMODES 83,2655 -#define PPGETMODE 86,2747 -#define PPGETPHASE 87,2791 -#define PPGETFLAGS 90,2857 -#define PPSETFLAGS 91,2902 -#define PP_FASTWRITE 94,2981 -#define PP_FASTREAD 95,3009 -#define PP_W91284PIC 96,3036 -#define PP_FLAGMASK 99,3101 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_fs.h,3685 -#define _LINUX_NFS_FS_H10,168 -# define NFS_DEBUG39,756 -#define NFS_MAX_FILE_IO_BUFFER_SIZE 42,783 -#define NFS_DEF_FILE_IO_BUFFER_SIZE 43,825 -#define NFS_WRITEBACK_DELAY 48,944 -#define NFS_WRITEBACK_LOCKDELAY 49,980 -#define NFS_COMMIT_DELAY 50,1021 -#define NFS_SUPER_MAGIC 55,1097 -#define NFS_RPC_SWAPFLAGS 60,1187 -#define NFS_RW_SYNC 62,1253 -#define NFS_RW_SWAP 63,1303 -#define FLUSH_AGING 69,1449 -#define FLUSH_SYNC 70,1501 -#define FLUSH_WAIT 71,1562 -#define FLUSH_STABLE 72,1610 -#define FLUSH_LOWPRI 73,1665 -#define FLUSH_HIGHPRI 74,1725 -struct nfs_access_entry nfs_access_entry81,1855 -struct nfs_open_context nfs_open_context88,1967 -struct nfs_inode nfs_inode109,2275 -#define NFS_INO_STALE 198,4234 -#define NFS_INO_ADVISE_RDPLUS 199,4292 -#define NFS_INO_REVALIDATING 200,4365 -#define NFS_INO_INVALID_ATTR 201,4427 -#define NFS_INO_INVALID_DATA 202,4495 -#define NFS_INO_INVALID_ATIME 203,4561 -static inline struct nfs_inode *NFS_I(205,4630 -#define NFS_SB(NFS_SB209,4751 -#define NFS_FH(NFS_FH211,4809 -#define NFS_SERVER(NFS_SERVER212,4853 -#define NFS_CLIENT(NFS_CLIENT213,4902 -#define NFS_PROTO(NFS_PROTO214,4957 -#define NFS_ADDR(NFS_ADDR215,5012 -#define NFS_COOKIEVERF(NFS_COOKIEVERF216,5072 -#define NFS_READTIME(NFS_READTIME217,5130 -#define NFS_CHANGE_ATTR(NFS_CHANGE_ATTR218,5194 -#define NFS_ATTRTIMEO(NFS_ATTRTIMEO219,5254 -#define NFS_MINATTRTIMEO(NFS_MINATTRTIMEO220,5310 -#define NFS_MAXATTRTIMEO(NFS_MAXATTRTIMEO223,5441 -#define NFS_ATTRTIMEO_UPDATE(NFS_ATTRTIMEO_UPDATE226,5572 -#define NFS_FLAGS(NFS_FLAGS228,5645 -#define NFS_REVALIDATING(NFS_REVALIDATING229,5693 -#define NFS_STALE(NFS_STALE230,5768 -#define NFS_FILEID(NFS_FILEID232,5830 -static inline int nfs_caches_unstable(234,5881 -static inline void NFS_CACHEINV(239,6000 -static inline int nfs_server_capable(245,6136 -static inline int NFS_USE_READDIRPLUS(250,6247 -loff_t page_offset(256,6375 -static inline long nfs_save_change_attribute(267,6706 -static inline int nfs_verify_change_attribute(279,7100 -static inline struct rpc_cred *nfs_file_cred(324,9269 -nfs_commit_inode(393,11365 -nfs_have_writebacks(400,11499 -nfs_wb_all(406,11598 -static inline int nfs_wb_page_priority(415,11800 -static inline int nfs_wb_page(422,12014 -# define IS_SWAPFILE(IS_SWAPFILE429,12194 -nfs_size_to_loff_t(453,12726 -nfs_fileid_to_ino_t(462,12922 -#define nfs_wait_event(nfs_wait_event474,13139 -#define NFS_JUKEBOX_RETRY_TIME 487,13494 -#define seqid_mutating_err(seqid_mutating_err508,14224 -enum nfs4_client_state nfs4_client_state517,14538 - NFS4CLNT_OK 518,14563 -struct nfs4_client nfs4_client524,14655 -struct nfs4_state_owner nfs4_state_owner577,16122 -struct nfs4_lock_state nfs4_lock_state602,16989 -#define NFS_LOCK_INITIALIZED 605,17114 - LK_STATE_IN_USE,615,17285 - NFS_DELEGATED_STATE,616,17303 -struct nfs4_state nfs4_state619,17329 -struct nfs4_exception nfs4_exception640,18014 -#define init_nfsv4_state(init_nfsv4_state696,20923 -#define destroy_nfsv4_state(destroy_nfsv4_state697,20974 -#define nfs4_put_state_owner(nfs4_put_state_owner698,21033 -#define nfs4_put_open_state(nfs4_put_open_state699,21093 -#define nfs4_close_state(nfs4_close_state700,21145 -#define nfs4_renewd_prepare_shutdown(nfs4_renewd_prepare_shutdown701,21193 -#define NFSDBG_VFS 709,21314 -#define NFSDBG_DIRCACHE 710,21341 -#define NFSDBG_LOOKUPCACHE 711,21373 -#define NFSDBG_PAGECACHE 712,21407 -#define NFSDBG_PROC 713,21439 -#define NFSDBG_XDR 714,21467 -#define NFSDBG_FILE 715,21494 -#define NFSDBG_ROOT 716,21522 -#define NFSDBG_CALLBACK 717,21550 -#define NFSDBG_ALL 718,21582 -# define ifdebug(ifdebug723,21662 -# define ifdebug(ifdebug725,21733 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/video_decoder.h,897 -#define _LINUX_VIDEO_DECODER_H2,31 -struct video_decoder_capability video_decoder_capability4,63 -#define VIDEO_DECODER_PAL 6,139 -#define VIDEO_DECODER_NTSC 7,195 -#define VIDEO_DECODER_SECAM 8,246 -#define VIDEO_DECODER_AUTO 9,299 -#define VIDEO_DECODER_CCIR 10,353 -#define DECODER_STATUS_GOOD 19,683 -#define DECODER_STATUS_COLOR 20,746 -#define DECODER_STATUS_PAL 21,811 -#define DECODER_STATUS_NTSC 22,860 -#define DECODER_STATUS_SECAM 23,910 -struct video_decoder_init video_decoder_init25,963 -#define DECODER_GET_CAPABILITIES 30,1043 -#define DECODER_GET_STATUS 31,1122 -#define DECODER_SET_NORM 32,1171 -#define DECODER_SET_INPUT 33,1214 -#define DECODER_SET_OUTPUT 34,1285 -#define DECODER_ENABLE_OUTPUT 35,1359 -#define DECODER_SET_PICTURE 36,1443 -#define DECODER_SET_GPIO 37,1509 -#define DECODER_INIT 38,1585 -#define DECODER_SET_VBI_BYPASS 39,1685 -#define DECODER_DUMP 41,1760 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ticable.h,507 -#define _TICABLE_H 13,343 -#define TIMAXTIME 16,420 -#define IO_DELAY 17,470 -#define TIPAR_MAJOR 20,570 -#define TIPAR_MINOR 21,608 -#define TISER_MAJOR 23,634 -#define TISER_MINOR 24,673 -#define TIUSB_MAJOR 26,699 -#define TIUSB_MINOR 27,740 -#define IOCTL_TIPAR_DELAY 32,817 -#define IOCTL_TIPAR_TIMEOUT 33,886 -#define IOCTL_TISER_DELAY 35,956 -#define IOCTL_TISER_TIMEOUT 36,1025 -#define IOCTL_TIUSB_TIMEOUT 38,1095 -#define IOCTL_TIUSB_RESET_DEVICE 39,1169 -#define IOCTL_TIUSB_RESET_PIPES 40,1244 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compiler-gcc2.h,159 -# define __builtin_expect(__builtin_expect12,450 -#define __attribute_used__ 15,507 -# define __attribute_pure__ 22,676 -# define __attribute_const__ 23,726 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bio.h,2912 -#define __LINUX_BIO_H21,746 -#define BIOVEC_VIRT_START_SIZE(BIOVEC_VIRT_START_SIZE30,984 -#define BIOVEC_VIRT_OVERSIZE(BIOVEC_VIRT_OVERSIZE31,1064 -#define BIOVEC_VIRT_START_SIZE(BIOVEC_VIRT_START_SIZE33,1130 -#define BIOVEC_VIRT_OVERSIZE(BIOVEC_VIRT_OVERSIZE34,1166 -#define BIO_VMERGE_BOUNDARY 38,1237 -#define BIO_DEBUG41,1275 -#define BIO_BUG_ON 44,1311 -#define BIO_BUG_ON46,1343 -#define BIO_MAX_PAGES 49,1370 -#define BIO_MAX_SIZE 50,1399 -#define BIO_MAX_SECTORS 51,1457 -struct bio_vec bio_vec56,1584 -typedef int (bio_end_io_t)bio_end_io_t63,1687 -typedef void (bio_destructor_t)bio_destructor_t64,1749 -struct bio bio70,1899 -#define BIO_UPTODATE 117,3063 -#define BIO_RW_BLOCK 118,3116 -#define BIO_EOF 119,3186 -#define BIO_SEG_VALID 120,3232 -#define BIO_CLONED 121,3278 -#define BIO_BOUNCED 122,3322 -#define BIO_USER_MAPPED 123,3370 -#define BIO_EOPNOTSUPP 124,3422 -#define bio_flagged(bio_flagged125,3467 -#define BIO_POOL_BITS 130,3604 -#define BIO_POOL_OFFSET 131,3631 -#define BIO_POOL_MASK 132,3688 -#define BIO_POOL_IDX(BIO_POOL_IDX133,3736 -#define BIO_RW 144,4055 -#define BIO_RW_AHEAD 145,4073 -#define BIO_RW_BARRIER 146,4096 -#define BIO_RW_FAILFAST 147,4121 -#define BIO_RW_SYNC 148,4147 -#define bio_iovec_idx(bio_iovec_idx154,4278 -#define bio_iovec(bio_iovec155,4339 -#define bio_page(bio_page156,4399 -#define bio_offset(bio_offset157,4448 -#define bio_segments(bio_segments158,4501 -#define bio_sectors(bio_sectors159,4560 -#define bio_cur_sectors(bio_cur_sectors160,4607 -#define bio_data(bio_data161,4666 -#define bio_barrier(bio_barrier162,4741 -#define bio_sync(bio_sync163,4805 -#define bio_failfast(bio_failfast164,4864 -#define bio_rw_ahead(bio_rw_ahead165,4930 -#define bio_to_phys(bio_to_phys170,5013 -#define bvec_to_phys(bvec_to_phys171,5106 -#define __bio_kmap_atomic(__bio_kmap_atomic179,5478 -#define __bio_kunmap_atomic(__bio_kunmap_atomic183,5634 -#define __BVEC_END(__BVEC_END189,5734 -#define __BVEC_START(__BVEC_START190,5800 -#define BIOVEC_PHYS_MERGEABLE(BIOVEC_PHYS_MERGEABLE191,5862 -#define BIOVEC_VIRT_MERGEABLE(BIOVEC_VIRT_MERGEABLE193,5973 -#define __BIO_SEG_BOUNDARY(__BIO_SEG_BOUNDARY195,6120 -#define BIOVEC_SEG_BOUNDARY(BIOVEC_SEG_BOUNDARY197,6219 -#define BIO_SEG_BOUNDARY(BIO_SEG_BOUNDARY199,6359 -#define bio_io_error(bio_io_error202,6462 -#define __bio_for_each_segment(__bio_for_each_segment208,6663 -#define bio_for_each_segment(bio_for_each_segment213,6839 -#define bio_get(bio_get230,7304 -struct bio_pair bio_pair243,7719 -extern inline char *bvec_kmap_irq(285,9204 -extern inline void bvec_kunmap_irq(301,9579 -#define bvec_kmap_irq(bvec_kmap_irq310,9793 -#define bvec_kunmap_irq(bvec_kunmap_irq311,9880 -extern inline char *__bio_kmap_irq(314,9955 -#define __bio_kunmap_irq(__bio_kunmap_irq319,10115 -#define bio_kmap_irq(bio_kmap_irq321,10181 -#define bio_kunmap_irq(bio_kunmap_irq323,10263 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_arcnet.h,868 -#define _LINUX_IF_ARCNET_H17,691 -#define ARC_P_IP 27,835 -#define ARC_P_IPV6 28,868 -#define ARC_P_ARP 29,912 -#define ARC_P_RARP 30,946 -#define ARC_P_IPX 31,981 -#define ARC_P_NOVELL_EC 32,1015 -#define ARC_P_IP_RFC1051 35,1088 -#define ARC_P_ARP_RFC1051 36,1128 -#define ARC_P_ETHER 39,1212 -#define ARC_P_DATAPOINT_BOOT 42,1298 -#define ARC_P_DATAPOINT_MOUNT 43,1364 -#define ARC_P_POWERLAN_BEACON 44,1396 -#define ARC_P_POWERLAN_BEACON2 45,1463 -#define ARC_P_LANSOFT 46,1509 -#define ARC_P_ATALK 47,1563 -#define ARCNET_ALEN 50,1620 -struct arc_rfc1201arc_rfc120155,1713 -#define RFC1201_HDR_SIZE 62,1967 -struct arc_rfc1051arc_rfc105168,2039 -#define RFC1051_HDR_SIZE 73,2161 -struct arc_eth_encaparc_eth_encap80,2290 -#define ETH_ENCAP_HDR_SIZE 86,2470 -struct arc_hardwarearc_hardware97,2791 -#define ARC_HDR_SIZE 103,3018 -struct archdrarchdr109,3160 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/auto_fs.h,725 -#define _LINUX_AUTO_FS_H15,497 -#define AUTOFS_PROTO_VERSION 26,699 -#define AUTOFS_MAX_PROTO_VERSION 29,772 -#define AUTOFS_MIN_PROTO_VERSION 30,826 -typedef unsigned int autofs_wqt_t;autofs_wqt_t49,1472 -typedef unsigned long autofs_wqt_t;autofs_wqt_t51,1513 -#define autofs_ptype_missing 55,1576 -#define autofs_ptype_expire 56,1643 -struct autofs_packet_hdr autofs_packet_hdr58,1710 -struct autofs_packet_missing autofs_packet_missing63,1819 -struct autofs_packet_expire autofs_packet_expire71,1987 -#define AUTOFS_IOC_READY 77,2086 -#define AUTOFS_IOC_FAIL 78,2131 -#define AUTOFS_IOC_CATATONIC 79,2176 -#define AUTOFS_IOC_PROTOVER 80,2221 -#define AUTOFS_IOC_SETTIMEOUT 81,2271 -#define AUTOFS_IOC_EXPIRE 82,2332 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/acct.h,830 -#define _LINUX_ACCT_H16,471 -typedef __u16 comp_t;comp_t30,847 -typedef __u32 comp2_t;comp2_t31,869 -#define ACCT_COMM 40,1058 -struct acctacct42,1080 -struct acct_v3acct_v372,2152 -#define AFORK 103,3091 -#define ASU 104,3153 -#define ACOMPAT 105,3208 -#define ACORE 106,3284 -#define AXSIG 107,3326 -#define ACCT_BYTEORDER 110,3400 -#define ACCT_BYTEORDER 112,3470 -#define acct_auto_close(acct_auto_close124,3742 -#define acct_process(acct_process125,3786 -#define ACCT_VERSION 140,4251 -#define AHZ 141,4274 -typedef struct acct_v3 acct_t;acct_t142,4291 -#define ACCT_VERSION 145,4347 -#define ACCT_VERSION 147,4376 -#define AHZ 149,4406 -typedef struct acct acct_t;acct_t150,4429 -#define ACCT_VERSION 154,4471 -#define AHZ 155,4494 -static inline u32 jiffies_to_AHZ(164,4652 -static inline u64 nsec_to_AHZ(175,4899 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kernel_stat.h,222 -#define _LINUX_KERNEL_STAT_H2,29 -struct cpu_usage_stat cpu_usage_stat16,341 -struct kernel_stat kernel_stat26,452 -#define kstat_cpu(kstat_cpu33,583 -#define kstat_this_cpu 35,689 -static inline int kstat_irqs(42,857 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_strip.h,73 -#define __LINUX_STRIP_H19,590 -} MetricomAddress;MetricomAddress23,647 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/futex.h,167 -#define _LINUX_FUTEX_H2,23 -#define FUTEX_WAIT 7,88 -#define FUTEX_WAKE 8,111 -#define FUTEX_FD 9,134 -#define FUTEX_REQUEUE 10,155 -#define FUTEX_CMP_REQUEUE 11,181 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rtc.h,805 -#define _LINUX_RTC_H_12,445 -struct rtc_time rtc_time20,682 -struct rtc_wkalrm rtc_wkalrm36,910 -struct rtc_pll_info rtc_pll_info55,1618 -#define RTC_AIE_ON 70,2140 -#define RTC_AIE_OFF 71,2202 -#define RTC_UIE_ON 72,2253 -#define RTC_UIE_OFF 73,2315 -#define RTC_PIE_ON 74,2366 -#define RTC_PIE_OFF 75,2430 -#define RTC_WIE_ON 76,2481 -#define RTC_WIE_OFF 77,2546 -#define RTC_ALM_SET 79,2599 -#define RTC_ALM_READ 80,2674 -#define RTC_RD_TIME 81,2750 -#define RTC_SET_TIME 82,2825 -#define RTC_IRQP_READ 83,2901 -#define RTC_IRQP_SET 84,2977 -#define RTC_EPOCH_READ 85,3052 -#define RTC_EPOCH_SET 86,3129 -#define RTC_WKALM_SET 88,3206 -#define RTC_WKALM_RD 89,3284 -#define RTC_PLL_GET 91,3362 -#define RTC_PLL_SET 92,3445 -typedef struct rtc_task rtc_task96,3548 -} rtc_task_t;rtc_task_t99,3630 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_bridge.h,1267 -#define _LINUX_IF_BRIDGE_H16,431 -#define SYSFS_BRIDGE_ATTR 20,485 -#define SYSFS_BRIDGE_FDB 21,520 -#define SYSFS_BRIDGE_PORT_SUBDIR 22,557 -#define SYSFS_BRIDGE_PORT_ATTR 23,597 -#define SYSFS_BRIDGE_PORT_LINK 24,637 -#define BRCTL_VERSION 26,678 -#define BRCTL_GET_VERSION 28,703 -#define BRCTL_GET_BRIDGES 29,731 -#define BRCTL_ADD_BRIDGE 30,759 -#define BRCTL_DEL_BRIDGE 31,786 -#define BRCTL_ADD_IF 32,813 -#define BRCTL_DEL_IF 33,836 -#define BRCTL_GET_BRIDGE_INFO 34,859 -#define BRCTL_GET_PORT_LIST 35,891 -#define BRCTL_SET_BRIDGE_FORWARD_DELAY 36,921 -#define BRCTL_SET_BRIDGE_HELLO_TIME 37,962 -#define BRCTL_SET_BRIDGE_MAX_AGE 38,1000 -#define BRCTL_SET_AGEING_TIME 39,1036 -#define BRCTL_SET_GC_INTERVAL 40,1069 -#define BRCTL_GET_PORT_INFO 41,1102 -#define BRCTL_SET_BRIDGE_STP_STATE 42,1133 -#define BRCTL_SET_BRIDGE_PRIORITY 43,1171 -#define BRCTL_SET_PORT_PRIORITY 44,1208 -#define BRCTL_SET_PATH_COST 45,1243 -#define BRCTL_GET_FDB_ENTRIES 46,1274 -#define BR_STATE_DISABLED 48,1308 -#define BR_STATE_LISTENING 49,1336 -#define BR_STATE_LEARNING 50,1365 -#define BR_STATE_FORWARDING 51,1393 -#define BR_STATE_BLOCKING 52,1423 -struct __bridge_info__bridge_info54,1452 -struct __port_info__port_info77,1919 -struct __fdb_entry__fdb_entry94,2239 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mpage.h,27 -generic_writepages(22,616 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sonypi.h,3923 -#define _SONYPI_H_35,1244 -#define SONYPI_EVENT_JOGDIAL_DOWN 41,1353 -#define SONYPI_EVENT_JOGDIAL_UP 42,1391 -#define SONYPI_EVENT_JOGDIAL_DOWN_PRESSED 43,1428 -#define SONYPI_EVENT_JOGDIAL_UP_PRESSED 44,1473 -#define SONYPI_EVENT_JOGDIAL_PRESSED 45,1517 -#define SONYPI_EVENT_JOGDIAL_RELEASED 46,1558 -#define SONYPI_EVENT_CAPTURE_PRESSED 47,1615 -#define SONYPI_EVENT_CAPTURE_RELEASED 48,1656 -#define SONYPI_EVENT_CAPTURE_PARTIALPRESSED 49,1713 -#define SONYPI_EVENT_CAPTURE_PARTIALRELEASED 50,1760 -#define SONYPI_EVENT_FNKEY_ESC 51,1808 -#define SONYPI_EVENT_FNKEY_F1 52,1844 -#define SONYPI_EVENT_FNKEY_F2 53,1879 -#define SONYPI_EVENT_FNKEY_F3 54,1914 -#define SONYPI_EVENT_FNKEY_F4 55,1949 -#define SONYPI_EVENT_FNKEY_F5 56,1984 -#define SONYPI_EVENT_FNKEY_F6 57,2019 -#define SONYPI_EVENT_FNKEY_F7 58,2054 -#define SONYPI_EVENT_FNKEY_F8 59,2089 -#define SONYPI_EVENT_FNKEY_F9 60,2124 -#define SONYPI_EVENT_FNKEY_F10 61,2159 -#define SONYPI_EVENT_FNKEY_F11 62,2195 -#define SONYPI_EVENT_FNKEY_F12 63,2231 -#define SONYPI_EVENT_FNKEY_1 64,2267 -#define SONYPI_EVENT_FNKEY_2 65,2301 -#define SONYPI_EVENT_FNKEY_D 66,2335 -#define SONYPI_EVENT_FNKEY_E 67,2369 -#define SONYPI_EVENT_FNKEY_F 68,2403 -#define SONYPI_EVENT_FNKEY_S 69,2437 -#define SONYPI_EVENT_FNKEY_B 70,2471 -#define SONYPI_EVENT_BLUETOOTH_PRESSED 71,2505 -#define SONYPI_EVENT_PKEY_P1 72,2548 -#define SONYPI_EVENT_PKEY_P2 73,2582 -#define SONYPI_EVENT_PKEY_P3 74,2616 -#define SONYPI_EVENT_BACK_PRESSED 75,2650 -#define SONYPI_EVENT_LID_CLOSED 76,2688 -#define SONYPI_EVENT_LID_OPENED 77,2725 -#define SONYPI_EVENT_BLUETOOTH_ON 78,2762 -#define SONYPI_EVENT_BLUETOOTH_OFF 79,2800 -#define SONYPI_EVENT_HELP_PRESSED 80,2839 -#define SONYPI_EVENT_FNKEY_ONLY 81,2877 -#define SONYPI_EVENT_JOGDIAL_FAST_DOWN 82,2914 -#define SONYPI_EVENT_JOGDIAL_FAST_UP 83,2957 -#define SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED 84,2998 -#define SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED 85,3048 -#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN 86,3096 -#define SONYPI_EVENT_JOGDIAL_VFAST_UP 87,3140 -#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED 88,3182 -#define SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED 89,3233 -#define SONYPI_EVENT_ZOOM_PRESSED 90,3282 -#define SONYPI_EVENT_THUMBPHRASE_PRESSED 91,3320 -#define SONYPI_EVENT_MEYE_FACE 92,3364 -#define SONYPI_EVENT_MEYE_OPPOSITE 93,3400 -#define SONYPI_EVENT_MEMORYSTICK_INSERT 94,3439 -#define SONYPI_EVENT_MEMORYSTICK_EJECT 95,3483 -#define SONYPI_EVENT_ANYBUTTON_RELEASED 96,3526 -#define SONYPI_EVENT_BATTERY_INSERT 97,3570 -#define SONYPI_EVENT_BATTERY_REMOVE 98,3610 -#define SONYPI_IOCGBRT 101,3676 -#define SONYPI_IOCSBRT 102,3719 -#define SONYPI_IOCGBAT1CAP 105,3814 -#define SONYPI_IOCGBAT1REM 106,3861 -#define SONYPI_IOCGBAT2CAP 107,3908 -#define SONYPI_IOCGBAT2REM 108,3955 -#define SONYPI_BFLAGS_B1 111,4065 -#define SONYPI_BFLAGS_B2 112,4095 -#define SONYPI_BFLAGS_AC 113,4125 -#define SONYPI_IOCGBATFLAGS 114,4155 -#define SONYPI_IOCGBLUE 117,4250 -#define SONYPI_IOCSBLUE 118,4294 -#define SONYPI_COMMAND_GETCAMERA 124,4416 -#define SONYPI_COMMAND_SETCAMERA 125,4453 -#define SONYPI_COMMAND_GETCAMERABRIGHTNESS 126,4490 -#define SONYPI_COMMAND_SETCAMERABRIGHTNESS 127,4536 -#define SONYPI_COMMAND_GETCAMERACONTRAST 128,4582 -#define SONYPI_COMMAND_SETCAMERACONTRAST 129,4626 -#define SONYPI_COMMAND_GETCAMERAHUE 130,4670 -#define SONYPI_COMMAND_SETCAMERAHUE 131,4710 -#define SONYPI_COMMAND_GETCAMERACOLOR 132,4750 -#define SONYPI_COMMAND_SETCAMERACOLOR 133,4792 -#define SONYPI_COMMAND_GETCAMERASHARPNESS 134,4834 -#define SONYPI_COMMAND_SETCAMERASHARPNESS 135,4879 -#define SONYPI_COMMAND_GETCAMERAPICTURE 136,4924 -#define SONYPI_COMMAND_SETCAMERAPICTURE 137,4968 -#define SONYPI_COMMAND_GETCAMERAAGC 138,5012 -#define SONYPI_COMMAND_SETCAMERAAGC 139,5052 -#define SONYPI_COMMAND_GETCAMERADIRECTION 140,5092 -#define SONYPI_COMMAND_GETCAMERAROMVERSION 141,5137 -#define SONYPI_COMMAND_GETCAMERAREVISION 142,5183 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cycx_x25.h,1175 -#define _CYCX_X25_H2,20 -#define PACKED 26,886 -#define X25_MBOX_OFFS 30,967 -#define X25_RXMBOX_OFFS 31,1023 -#define dprintk(dprintk34,1088 -struct cycx_x25_cmd cycx_x25_cmd40,1252 -#define X25_CONNECT_REQUEST 48,1455 -#define X25_CONNECT_RESPONSE 49,1502 -#define X25_DISCONNECT_REQUEST 50,1549 -#define X25_DISCONNECT_RESPONSE 51,1596 -#define X25_DATA_REQUEST 52,1643 -#define X25_ACK_TO_VC 53,1690 -#define X25_INTERRUPT_RESPONSE 54,1721 -#define X25_CONFIG 55,1768 -#define X25_CONNECT_INDICATION 56,1815 -#define X25_CONNECT_CONFIRM 57,1862 -#define X25_DISCONNECT_INDICATION 58,1909 -#define X25_DISCONNECT_CONFIRM 59,1956 -#define X25_DATA_INDICATION 60,2003 -#define X25_INTERRUPT_INDICATION 61,2050 -#define X25_ACK_FROM_VC 62,2097 -#define X25_ACK_N3 63,2130 -#define X25_CONNECT_COLLISION 64,2158 -#define X25_N3WIN 65,2205 -#define X25_LINE_ON 66,2252 -#define X25_LINE_OFF 67,2299 -#define X25_RESET_REQUEST 68,2346 -#define X25_LOG 69,2393 -#define X25_STATISTIC 70,2440 -#define X25_TRACE 71,2487 -#define X25_N2TRACEXC 72,2534 -#define X25_N3TRACEXC 73,2581 -struct cycx_x25_config cycx_x25_config94,3297 -struct cycx_x25_stats cycx_x25_stats113,3624 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_vlan.h,2164 -#define _LINUX_IF_VLAN_H_14,399 -#define VLAN_HLEN 29,684 -#define VLAN_ETH_ALEN 32,798 -#define VLAN_ETH_HLEN 33,858 -#define VLAN_ETH_ZLEN 34,915 -#define VLAN_ETH_DATA_LEN 39,1056 -#define VLAN_ETH_FRAME_LEN 40,1117 -struct vlan_ethhdr vlan_ethhdr42,1186 -static inline struct vlan_ethhdr *vlan_eth_hdr(52,1620 -struct vlan_hdr vlan_hdr57,1743 -#define VLAN_VID_MASK 62,1943 -#define VLAN_NAME 67,2053 -#define VLAN_GROUP_ARRAY_LEN 73,2291 -struct vlan_group vlan_group75,2326 -struct vlan_priority_tci_mapping vlan_priority_tci_mapping82,2568 -struct vlan_dev_info vlan_dev_info92,2912 -#define VLAN_DEV_INFO(VLAN_DEV_INFO122,4805 -static inline struct net_device_stats *vlan_dev_get_stats(126,4891 -static inline __u32 vlan_get_ingress_priority(131,5020 -struct vlan_skb_tx_cookie vlan_skb_tx_cookie140,5279 -#define VLAN_TX_COOKIE_MAGIC 145,5338 -#define VLAN_TX_SKB_CB(VLAN_TX_SKB_CB146,5401 -#define vlan_tx_tag_present(vlan_tx_tag_present147,5480 -#define vlan_tx_tag_get(vlan_tx_tag_get149,5573 -static inline int __vlan_hwaccel_rx(152,5719 -static inline int vlan_hwaccel_rx(197,6803 -static inline int vlan_hwaccel_receive_skb(204,6974 -static inline struct sk_buff *__vlan_put_tag(222,7534 -static inline struct sk_buff *__vlan_hwaccel_put_tag(267,8663 -#define HAVE_VLAN_PUT_TAG278,8908 -static inline struct sk_buff *vlan_put_tag(288,9152 -static inline int __vlan_get_tag(304,9560 -static inline int __vlan_hwaccel_get_tag(324,10015 -#define HAVE_VLAN_GET_TAG338,10299 -static inline int vlan_get_tag(347,10488 -enum vlan_ioctl_cmds vlan_ioctl_cmds361,10838 - ADD_VLAN_CMD,362,10861 - DEL_VLAN_CMD,363,10876 - SET_VLAN_INGRESS_PRIORITY_CMD,364,10891 - SET_VLAN_EGRESS_PRIORITY_CMD,365,10923 - GET_VLAN_INGRESS_PRIORITY_CMD,366,10954 - GET_VLAN_EGRESS_PRIORITY_CMD,367,10986 - SET_VLAN_NAME_TYPE_CMD,368,11017 - SET_VLAN_FLAG_CMD369,11042 -enum vlan_name_types vlan_name_types372,11065 - VLAN_NAME_TYPE_PLUS_VID,373,11088 - VLAN_NAME_TYPE_RAW_PLUS_VID,374,11151 - VLAN_NAME_TYPE_PLUS_VID_NO_PAD,375,11219 - VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD,376,11286 - VLAN_NAME_TYPE_HIGHEST377,11358 -struct vlan_ioctl_args vlan_ioctl_args380,11386 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/qic117.h,2859 -#define _QIC117_H2,18 - QIC_NO_COMMAND 63,2270 - QIC_RESET 64,2308 - QIC_REPORT_NEXT_BIT 65,2327 - QIC_PAUSE 66,2354 - QIC_MICRO_STEP_PAUSE 67,2373 - QIC_ALTERNATE_TIMEOUT 68,2401 - QIC_REPORT_DRIVE_STATUS 69,2430 - QIC_REPORT_ERROR_CODE 70,2461 - QIC_REPORT_DRIVE_CONFIGURATION 71,2490 - QIC_REPORT_ROM_VERSION 72,2527 - QIC_LOGICAL_FORWARD 73,2557 - QIC_PHYSICAL_REVERSE 74,2585 - QIC_PHYSICAL_FORWARD 75,2614 - QIC_SEEK_HEAD_TO_TRACK 76,2643 - QIC_SEEK_LOAD_POINT 77,2674 - QIC_ENTER_FORMAT_MODE 78,2702 - QIC_WRITE_REFERENCE_BURST 79,2732 - QIC_ENTER_VERIFY_MODE 80,2765 - QIC_STOP_TAPE 81,2795 - QIC_MICRO_STEP_HEAD_UP 83,2849 - QIC_MICRO_STEP_HEAD_DOWN 84,2880 - QIC_SOFT_SELECT 85,2912 - QIC_SOFT_DESELECT 86,2937 - QIC_SKIP_REVERSE 87,2963 - QIC_SKIP_FORWARD 88,2988 - QIC_SELECT_RATE 89,3013 - QIC_ENTER_DIAGNOSTIC_1 91,3087 - QIC_ENTER_DIAGNOSTIC_2 92,3118 - QIC_ENTER_PRIMARY_MODE 93,3149 - QIC_REPORT_VENDOR_ID 95,3212 - QIC_REPORT_TAPE_STATUS 96,3241 - QIC_SKIP_EXTENDED_REVERSE 97,3272 - QIC_SKIP_EXTENDED_FORWARD 98,3305 - QIC_CALIBRATE_TAPE_LENGTH 99,3338 - QIC_REPORT_FORMAT_SEGMENTS 100,3371 - QIC_SET_FORMAT_SEGMENTS 101,3405 - QIC_PHANTOM_SELECT 103,3468 - QIC_PHANTOM_DESELECT 104,3495 -} qic117_cmd_t;qic117_cmd_t105,3523 - discretional 108,3555 - discretional = 0, required,108,3555 - discretional = 0, required, ccs1,108,3555 - discretional = 0, required, ccs1, ccs2108,3555 -} qic_compatibility;qic_compatibility109,3595 - unused,112,3632 - unused, mode,112,3632 - unused, mode, motion,112,3632 - unused, mode, motion, report112,3632 -} command_types;command_types113,3662 -struct qic117_command_table qic117_command_table115,3680 -#define QIC117_COMMANDS 124,3797 -#define QIC_STATUS_READY 182,7620 -#define QIC_STATUS_ERROR 183,7680 -#define QIC_STATUS_CARTRIDGE_PRESENT 185,7775 -#define QIC_STATUS_WRITE_PROTECT 186,7839 -#define QIC_STATUS_NEW_CARTRIDGE 187,7907 -#define QIC_STATUS_REFERENCED 189,8016 -#define QIC_STATUS_AT_BOT 191,8107 -#define QIC_STATUS_AT_EOT 193,8196 -#define QIC_CONFIG_RATE_MASK 199,8350 -#define QIC_CONFIG_RATE_SHIFT 200,8384 -#define QIC_CONFIG_RATE_250 201,8416 -#define QIC_CONFIG_RATE_500 202,8446 -#define QIC_CONFIG_RATE_1000 203,8476 -#define QIC_CONFIG_RATE_2000 204,8507 -#define QIC_CONFIG_RATE_4000 205,8538 -#define QIC_CONFIG_LONG 207,8606 -#define QIC_CONFIG_80 208,8669 -#define QIC_TAPE_STD_MASK 214,8784 -#define QIC_TAPE_QIC40 215,8821 -#define QIC_TAPE_QIC80 216,8851 -#define QIC_TAPE_QIC3020 217,8881 -#define QIC_TAPE_QIC3010 218,8913 -#define QIC_TAPE_LEN_MASK 220,8946 -#define QIC_TAPE_205FT 221,8977 -#define QIC_TAPE_307FT 222,9006 -#define QIC_TAPE_VARIABLE 223,9035 -#define QIC_TAPE_1100FT 224,9066 -#define QIC_TAPE_FLEX 225,9096 -#define QIC_TAPE_WIDE 227,9125 -#define QIC_TOP_TAPE_LEN 232,9245 -} ftape_error;ftape_error241,9469 -#define QIC117_ERRORS 243,9485 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs4_mount.h,361 -#define _LINUX_NFS4_MOUNT_H2,28 -#define NFS4_MOUNT_VERSION 19,540 -struct nfs_string nfs_string21,570 -struct nfs4_mount_data nfs4_mount_data26,640 -#define NFS4_MOUNT_SOFT 63,1599 -#define NFS4_MOUNT_INTR 64,1639 -#define NFS4_MOUNT_NOCTO 65,1679 -#define NFS4_MOUNT_NOAC 66,1719 -#define NFS4_MOUNT_STRICTLOCK 67,1759 -#define NFS4_MOUNT_FLAGMASK 68,1804 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/devfs_fs_kernel.h,411 -#define _LINUX_DEVFS_FS_KERNEL_H2,33 -#define DEVFS_SUPER_MAGIC 11,197 -extern int devfs_mk_bdev(14,269 -static inline int devfs_mk_cdev(31,1002 -static inline int devfs_mk_symlink(35,1096 -static inline int devfs_mk_dir(39,1182 -static inline void devfs_remove(43,1250 -static inline int devfs_register_tape(46,1308 -static inline void devfs_unregister_tape(50,1380 -static inline void mount_devfs_fs(53,1434 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn.h,6185 -#define __ISDN_H__15,502 -#define ISDN_MAX_DRIVERS 21,600 -#define ISDN_MAX_CHANNELS 22,630 -#define ISDN_MAX_DRIVERS 24,666 -#define ISDN_MAX_CHANNELS 25,697 -#define IIOCNETAIF 29,758 -#define IIOCNETDIF 30,789 -#define IIOCNETSCF 31,820 -#define IIOCNETGCF 32,851 -#define IIOCNETANM 33,882 -#define IIOCNETDNM 34,913 -#define IIOCNETGNM 35,944 -#define IIOCGETSET 36,975 -#define IIOCSETSET 37,1032 -#define IIOCSETVER 38,1089 -#define IIOCNETHUP 39,1121 -#define IIOCSETGST 40,1153 -#define IIOCSETBRJ 41,1185 -#define IIOCSIGPRF 42,1217 -#define IIOCGETPRF 43,1249 -#define IIOCSETPRF 44,1281 -#define IIOCGETMAP 45,1313 -#define IIOCSETMAP 46,1345 -#define IIOCNETASL 47,1377 -#define IIOCNETDIL 48,1409 -#define IIOCGETCPS 49,1441 -#define IIOCGETDVR 50,1473 -#define IIOCNETLCR 51,1505 -#define IIOCNETDWRSET 52,1576 -#define IIOCNETALN 54,1680 -#define IIOCNETDLN 55,1712 -#define IIOCNETGPN 57,1745 -#define IIOCDBGVAR 59,1778 -#define IIOCDRVCTL 61,1812 -#define SIOCGKEEPPERIOD 64,1886 -#define SIOCSKEEPPERIOD 65,1931 -#define SIOCGDEBSERINT 66,1976 -#define SIOCSDEBSERINT 67,2020 -#define ISDN_NET_ENCAP_ETHER 70,2112 -#define ISDN_NET_ENCAP_RAWIP 71,2148 -#define ISDN_NET_ENCAP_IPTYP 72,2184 -#define ISDN_NET_ENCAP_CISCOHDLC 73,2220 -#define ISDN_NET_ENCAP_SYNCPPP 74,2290 -#define ISDN_NET_ENCAP_UIHDLC 75,2326 -#define ISDN_NET_ENCAP_CISCOHDLCK 76,2362 -#define ISDN_NET_ENCAP_X25IFACE 77,2432 -#define ISDN_NET_ENCAP_MAX_ENCAP 78,2512 -#define ISDN_USAGE_NONE 81,2623 -#define ISDN_USAGE_RAW 82,2655 -#define ISDN_USAGE_MODEM 83,2687 -#define ISDN_USAGE_NET 84,2719 -#define ISDN_USAGE_VOICE 85,2751 -#define ISDN_USAGE_FAX 86,2783 -#define ISDN_USAGE_MASK 87,2815 -#define ISDN_USAGE_DISABLED 88,2877 -#define ISDN_USAGE_EXCLUSIVE 89,2955 -#define ISDN_USAGE_OUTGOING 90,3034 -#define ISDN_MODEM_NUMREG 92,3114 -#define ISDN_LMSNLEN 93,3192 -#define ISDN_CMSGLEN 94,3265 -#define ISDN_MSNLEN 96,3345 -#define NET_DV 97,3377 -#define TTY_DV 98,3442 -#define INF_DV 100,3508 -} isdn_ioctl_struct;isdn_ioctl_struct105,3630 -} isdn_net_ioctl_phone;isdn_net_ioctl_phone111,3730 -} isdn_net_ioctl_cfg;isdn_net_ioctl_cfg139,5397 -#define ISDN_NET_DIALMODE_MASK 141,5420 -#define ISDN_NET_DM_OFF 142,5497 -#define ISDN_NET_DM_MANUAL 143,5574 -#define ISDN_NET_DM_AUTO 144,5646 -#define ISDN_NET_DIALMODE(ISDN_NET_DIALMODE145,5716 -#define ISDN_TTY_MAJOR 173,6388 -#define ISDN_TTYAUX_MAJOR 174,6417 -#define ISDN_MAJOR 175,6446 -#define ISDN_MINOR_B 182,6664 -#define ISDN_MINOR_BMAX 183,6694 -#define ISDN_MINOR_CTRL 184,6744 -#define ISDN_MINOR_CTRLMAX 185,6775 -#define ISDN_MINOR_PPP 186,6832 -#define ISDN_MINOR_PPPMAX 187,6864 -#define ISDN_MINOR_STATUS 188,6922 -#define ISDN_DRVIOCTL_MASK 208,7217 -#define ISDN_SERVICE_VOICE 211,7308 -#define ISDN_SERVICE_AB 212,7337 -#define ISDN_SERVICE_X21 213,7370 -#define ISDN_SERVICE_G4 214,7402 -#define ISDN_SERVICE_BTX 215,7434 -#define ISDN_SERVICE_DFUE 216,7466 -#define ISDN_SERVICE_X25 217,7498 -#define ISDN_SERVICE_TTX 218,7530 -#define ISDN_SERVICE_MIXED 219,7562 -#define ISDN_SERVICE_FW 220,7594 -#define ISDN_SERVICE_GTEL 221,7626 -#define ISDN_SERVICE_BTXN 222,7659 -#define ISDN_SERVICE_BTEL 223,7692 -#define USG_NONE(USG_NONE226,7760 -#define USG_RAW(USG_RAW227,7829 -#define USG_MODEM(USG_MODEM228,7897 -#define USG_VOICE(USG_VOICE229,7967 -#define USG_NET(USG_NET230,8037 -#define USG_FAX(USG_FAX231,8105 -#define USG_OUTGOING(USG_OUTGOING232,8173 -#define USG_MODEMORVOICE(USG_MODEMORVOICE233,8250 -#define ISDN_TIMER_RES 237,8444 -#define ISDN_TIMER_02SEC 238,8531 -#define ISDN_TIMER_1SEC 239,8618 -#define ISDN_TIMER_RINGING 240,8705 -#define ISDN_TIMER_KEEPINT 241,8792 -#define ISDN_TIMER_MODEMREAD 242,8879 -#define ISDN_TIMER_MODEMPLUS 243,8912 -#define ISDN_TIMER_MODEMRING 244,8945 -#define ISDN_TIMER_MODEMXMIT 245,8978 -#define ISDN_TIMER_NETDIAL 246,9011 -#define ISDN_TIMER_NETHANGUP 247,9045 -#define ISDN_TIMER_CARRIER 248,9078 -#define ISDN_TIMER_FAST 249,9134 -#define ISDN_TIMER_SLOW 251,9264 -#define ISDN_TIMER_DTIMEOUT10 255,9455 -#define ISDN_TIMER_DTIMEOUT15 256,9531 -#define ISDN_TIMER_DTIMEOUT60 257,9607 -#define ISDN_GLOBAL_STOPPED 260,9703 -#define ISDN_NET_CONNECTED 265,9865 -#define ISDN_NET_SECURE 266,9944 -#define ISDN_NET_CALLBACK 267,10023 -#define ISDN_NET_CBHUP 268,10102 -#define ISDN_NET_CBOUT 269,10181 -#define ISDN_NET_MAGIC 271,10261 -} isdn_net_phone;isdn_net_phone277,10422 -typedef struct isdn_net_local_s isdn_net_local_s289,10840 -} isdn_net_local;isdn_net_local384,17255 -typedef struct isdn_net_dev_s isdn_net_dev_s387,17301 -} isdn_net_dev;isdn_net_dev403,17992 -#define ISDN_ASYNC_MAGIC 409,18171 -#define ISDN_ASYNC_INITIALIZED 410,18251 -#define ISDN_ASYNC_CALLOUT_ACTIVE 411,18330 -#define ISDN_ASYNC_NORMAL_ACTIVE 412,18410 -#define ISDN_ASYNC_CLOSING 413,18490 -#define ISDN_ASYNC_CTS_FLOW 414,18565 -#define ISDN_ASYNC_CHECK_CD 415,18641 -#define ISDN_ASYNC_HUP_NOTIFY 416,18717 -#define ISDN_ASYNC_SESSION_LOCKOUT 417,18797 -#define ISDN_ASYNC_PGRP_LOCKOUT 418,18877 -#define ISDN_ASYNC_CALLOUT_NOHUP 419,18957 -#define ISDN_ASYNC_SPLIT_TERMIOS 420,19037 -#define ISDN_SERIAL_XMIT_SIZE 421,19117 -#define ISDN_SERIAL_XMIT_MAX 422,19197 -#define ISDN_SERIAL_TYPE_NORMAL 423,19277 -#define ISDN_SERIAL_TYPE_CALLOUT 424,19322 -typedef struct _isdn_audio_data _isdn_audio_data432,19631 -} isdn_audio_data_t;isdn_audio_data_t435,19716 -#define ISDN_AUDIO_SKB_DLECOUNT(ISDN_AUDIO_SKB_DLECOUNT437,19738 -#define ISDN_AUDIO_SKB_LOCK(ISDN_AUDIO_SKB_LOCK438,19823 -typedef struct atemu atemu442,19952 -} atemu;atemu461,21326 -typedef struct modem_info modem_info464,21401 -} modem_info;modem_info521,24812 -#define ISDN_MODEM_WINSIZE 523,24827 -typedef struct _isdn_modem _isdn_modem526,24891 -} isdn_modem_t;isdn_modem_t533,25327 -#define V110_BUFSIZE 538,25503 -} isdn_v110_stream;isdn_v110_stream558,26701 -} infostruct;infostruct567,26928 -#define DRV_FLAG_RUNNING 569,26943 -#define DRV_FLAG_REJBUS 570,26970 -#define DRV_FLAG_LOADED 571,26997 -typedef struct _isdn_driver _isdn_driver574,27068 -} isdn_driver_t;isdn_driver_t593,28376 -typedef struct isdn_devt isdn_devt596,28417 -} isdn_dev;isdn_dev631,30692 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/in.h,3641 -#define _LINUX_IN_H19,695 - IPPROTO_IP 26,818 - IPPROTO_ICMP 27,867 - IPPROTO_IGMP 28,928 - IPPROTO_IPIP 29,990 - IPPROTO_TCP 30,1058 - IPPROTO_EGP 31,1114 - IPPROTO_PUP 32,1167 - IPPROTO_UDP 33,1210 - IPPROTO_IDP 34,1261 - IPPROTO_RSVP 35,1307 - IPPROTO_GRE 36,1351 - IPPROTO_IPV6 38,1413 - IPPROTO_ESP 40,1468 - IPPROTO_AH 41,1545 - IPPROTO_PIM 42,1619 - IPPROTO_COMP 44,1682 - IPPROTO_SCTP 45,1755 - IPPROTO_RAW 47,1821 - IPPROTO_MAX48,1867 -struct in_addr in_addr53,1910 -#define IP_TOS 57,1946 -#define IP_TTL 58,1964 -#define IP_HDRINCL 59,1982 -#define IP_OPTIONS 60,2003 -#define IP_ROUTER_ALERT 61,2024 -#define IP_RECVOPTS 62,2050 -#define IP_RETOPTS 63,2072 -#define IP_PKTINFO 64,2093 -#define IP_PKTOPTIONS 65,2114 -#define IP_MTU_DISCOVER 66,2138 -#define IP_RECVERR 67,2165 -#define IP_RECVTTL 68,2187 -#define IP_RECVTOS 69,2209 -#define IP_MTU 70,2231 -#define IP_FREEBIND 71,2250 -#define IP_IPSEC_POLICY 72,2273 -#define IP_XFRM_POLICY 73,2300 -#define IP_RECVRETOPTS 76,2351 -#define IP_PMTUDISC_DONT 79,2415 -#define IP_PMTUDISC_WANT 80,2470 -#define IP_PMTUDISC_DO 81,2524 -#define IP_MULTICAST_IF 83,2569 -#define IP_MULTICAST_TTL 84,2598 -#define IP_MULTICAST_LOOP 85,2628 -#define IP_ADD_MEMBERSHIP 86,2659 -#define IP_DROP_MEMBERSHIP 87,2689 -#define IP_UNBLOCK_SOURCE 88,2720 -#define IP_BLOCK_SOURCE 89,2750 -#define IP_ADD_SOURCE_MEMBERSHIP 90,2779 -#define IP_DROP_SOURCE_MEMBERSHIP 91,2815 -#define IP_MSFILTER 92,2852 -#define MCAST_JOIN_GROUP 93,2877 -#define MCAST_BLOCK_SOURCE 94,2906 -#define MCAST_UNBLOCK_SOURCE 95,2937 -#define MCAST_LEAVE_GROUP 96,2970 -#define MCAST_JOIN_SOURCE_GROUP 97,3000 -#define MCAST_LEAVE_SOURCE_GROUP 98,3036 -#define MCAST_MSFILTER 99,3072 -#define MCAST_EXCLUDE 101,3101 -#define MCAST_INCLUDE 102,3125 -#define IP_DEFAULT_MULTICAST_TTL 105,3199 -#define IP_DEFAULT_MULTICAST_LOOP 106,3241 -struct ip_mreq ip_mreq110,3331 -struct ip_mreqnip_mreqn116,3487 -struct ip_mreq_source ip_mreq_source123,3685 -struct ip_msfilter ip_msfilter129,3783 -#define IP_MSFILTER_SIZE(IP_MSFILTER_SIZE137,3920 -struct group_reqgroup_req141,4032 -struct group_source_reqgroup_source_req147,4166 -struct group_filtergroup_filter154,4376 -#define GROUP_FILTER_SIZE(GROUP_FILTER_SIZE163,4671 -struct in_pktinfoin_pktinfo167,4839 -#define __SOCK_SIZE__ 175,4998 -struct sockaddr_in sockaddr_in176,5054 -#define sin_zero 185,5388 -#define IN_CLASSA(IN_CLASSA193,5608 -#define IN_CLASSA_NET 194,5669 -#define IN_CLASSA_NSHIFT 195,5703 -#define IN_CLASSA_HOST 196,5731 -#define IN_CLASSA_MAX 197,5785 -#define IN_CLASSB(IN_CLASSB199,5813 -#define IN_CLASSB_NET 200,5883 -#define IN_CLASSB_NSHIFT 201,5917 -#define IN_CLASSB_HOST 202,5945 -#define IN_CLASSB_MAX 203,5999 -#define IN_CLASSC(IN_CLASSC205,6029 -#define IN_CLASSC_NET 206,6099 -#define IN_CLASSC_NSHIFT 207,6133 -#define IN_CLASSC_HOST 208,6160 -#define IN_CLASSD(IN_CLASSD210,6215 -#define IN_MULTICAST(IN_MULTICAST211,6285 -#define IN_MULTICAST_NET 212,6323 -#define IN_EXPERIMENTAL(IN_EXPERIMENTAL214,6360 -#define IN_BADCLASS(IN_BADCLASS215,6435 -#define INADDR_ANY 218,6528 -#define INADDR_BROADCAST 221,6618 -#define INADDR_NONE 224,6719 -#define IN_LOOPBACKNET 227,6820 -#define INADDR_LOOPBACK 230,6903 -#define IN_LOOPBACK(IN_LOOPBACK231,6957 -#define INADDR_UNSPEC_GROUP 234,7065 -#define INADDR_ALLHOSTS_GROUP 235,7126 -#define INADDR_ALLRTRS_GROUP 236,7187 -#define INADDR_MAX_LOCAL_GROUP 237,7247 -#define LOOPBACK(LOOPBACK245,7474 -#define MULTICAST(MULTICAST246,7543 -#define BADCLASS(BADCLASS247,7613 -#define ZERONET(ZERONET248,7682 -#define LOCAL_MCAST(LOCAL_MCAST249,7750 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/som.h,748 -#define _LINUX_SOM_H2,21 -#define SOM_PAGESIZE 9,167 -struct som_hdr som_hdr12,223 -#define SOM_SID_PARISC_1_0 49,2102 -#define SOM_SID_PARISC_1_1 50,2136 -#define SOM_SID_PARISC_2_0 51,2170 -#define SOM_LIB_EXEC 55,2231 -#define SOM_RELOCATABLE 56,2260 -#define SOM_EXEC_NONSHARE 57,2292 -#define SOM_EXEC_SHARE 58,2325 -#define SOM_EXEC_DEMAND 59,2356 -#define SOM_LIB_DYN 60,2388 -#define SOM_LIB_SHARE 61,2416 -#define SOM_LIB_RELOC 62,2446 -#define SOM_ID_OLD 66,2536 -#define SOM_ID_NEW 67,2565 -struct aux_id aux_id69,2595 -struct som_exec_auxhdr som_exec_auxhdr80,3072 -union name_pt name_pt97,3704 -struct space_dictionary_record space_dictionary_record103,3790 -struct subspace_dictionary_record subspace_dictionary_record124,4701 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/joystick.h,1229 -#define _LINUX_JOYSTICK_H2,26 -#define JS_VERSION 39,1192 -#define JS_EVENT_BUTTON 45,1278 -#define JS_EVENT_AXIS 46,1338 -#define JS_EVENT_INIT 47,1387 -struct js_event js_event49,1446 -#define JSIOCGVERSION 60,1659 -#define JSIOCGAXES 62,1734 -#define JSIOCGBUTTONS 63,1804 -#define JSIOCGNAME(JSIOCGNAME64,1880 -#define JSIOCSCORR 66,1968 -#define JSIOCGCORR 67,2050 -#define JSIOCSAXMAP 69,2133 -#define JSIOCGAXMAP 70,2210 -#define JSIOCSBTNMAP 71,2287 -#define JSIOCGBTNMAP 72,2377 -#define JS_CORR_NONE 78,2522 -#define JS_CORR_BROKEN 79,2574 -struct js_corr js_corr81,2622 -#define JS_RETURN 91,2727 -#define JS_TRUE 92,2774 -#define JS_FALSE 93,2794 -#define JS_X_0 94,2814 -#define JS_Y_0 95,2836 -#define JS_X_1 96,2858 -#define JS_Y_1 97,2880 -#define JS_MAX 98,2902 -#define JS_DEF_TIMEOUT 100,2922 -#define JS_DEF_CORR 101,2953 -#define JS_DEF_TIMELIMIT 102,2976 -#define JS_SET_CAL 104,3006 -#define JS_GET_CAL 105,3028 -#define JS_SET_TIMEOUT 106,3050 -#define JS_GET_TIMEOUT 107,3076 -#define JS_SET_TIMELIMIT 108,3102 -#define JS_GET_TIMELIMIT 109,3129 -#define JS_GET_ALL 110,3156 -#define JS_SET_ALL 111,3178 -struct JS_DATA_TYPE JS_DATA_TYPE113,3201 -struct JS_DATA_SAVE_TYPE JS_DATA_SAVE_TYPE119,3257 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fcntl.h,866 -#define _LINUX_FCNTL_H2,23 -#define F_SETLEASE 6,71 -#define F_GETLEASE 7,116 -#define F_NOTIFY 13,254 -#define DN_ACCESS 18,364 -#define DN_MODIFY 19,413 -#define DN_CREATE 20,462 -#define DN_DELETE 21,510 -#define DN_RENAME 22,558 -#define DN_ATTRIB 23,606 -#define DN_MULTISHOT 24,664 -#define IS_GETLK32(IS_GETLK3229,768 -#define IS_SETLK32(IS_SETLK3230,812 -#define IS_SETLKW32(IS_SETLKW3231,856 -#define IS_GETLK64(IS_GETLK6432,901 -#define IS_SETLK64(IS_SETLK6433,947 -#define IS_SETLKW64(IS_SETLKW6434,993 -#define IS_GETLK32(IS_GETLK3236,1046 -#define IS_SETLK32(IS_SETLK3237,1075 -#define IS_SETLKW32(IS_SETLKW3238,1104 -#define IS_GETLK64(IS_GETLK6439,1133 -#define IS_SETLK64(IS_SETLK6440,1177 -#define IS_SETLKW64(IS_SETLKW6441,1221 -#define IS_GETLK(IS_GETLK44,1300 -#define IS_SETLK(IS_SETLK45,1360 -#define IS_SETLKW(IS_SETLKW46,1420 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/serial167.h,2885 -struct cyclades_monitor cyclades_monitor9,99 -struct cyclades_port cyclades_port25,516 -#define CYCLADES_MAGIC 58,1496 -#define CYGETMON 60,1528 -#define CYGETTHRESH 61,1569 -#define CYSETTHRESH 62,1610 -#define CYGETDEFTHRESH 63,1651 -#define CYSETDEFTHRESH 64,1692 -#define CYGETTIMEOUT 65,1733 -#define CYSETTIMEOUT 66,1774 -#define CYGETDEFTIMEOUT 67,1815 -#define CYSETDEFTIMEOUT 68,1856 -#define Cy_EVENT_READ_PROCESS 74,2014 -#define Cy_EVENT_WRITE_WAKEUP 75,2046 -#define Cy_EVENT_HANGUP 76,2078 -#define Cy_EVENT_BREAK 77,2105 -#define Cy_EVENT_OPEN_WAKEUP 78,2131 -#define CyMaxChipsPerCard 82,2165 -#define CyGFRCR 86,2224 -#define CyCCR 87,2255 -#define CyCLR_CHAN 88,2277 -#define CyINIT_CHAN 89,2309 -#define CyCHIP_RESET 90,2341 -#define CyENB_XMTR 91,2374 -#define CyDIS_XMTR 92,2406 -#define CyENB_RCVR 93,2438 -#define CyDIS_RCVR 94,2470 -#define CyCAR 95,2502 -#define CyIER 96,2524 -#define CyMdmCh 97,2546 -#define CyRxExc 98,2575 -#define CyRxData 99,2604 -#define CyTxMpty 100,2634 -#define CyTxRdy 101,2664 -#define CyLICR 102,2693 -#define CyRISR 103,2716 -#define CyTIMEOUT 104,2739 -#define CySPECHAR 105,2770 -#define CyOVERRUN 106,2801 -#define CyPARITY 107,2832 -#define CyFRAME 108,2862 -#define CyBREAK 109,2891 -#define CyREOIR 110,2920 -#define CyTEOIR 111,2944 -#define CyMEOIR 112,2968 -#define CyNOTRANS 113,2992 -#define CyRFOC 114,3023 -#define CyRDR 115,3046 -#define CyTDR 116,3068 -#define CyMISR 117,3090 -#define CyRISR 118,3113 -#define CyTISR 119,3136 -#define CyMSVR1 120,3159 -#define CyMSVR2 121,3183 -#define CyDSR 122,3207 -#define CyDCD 123,3234 -#define CyCTS 124,3261 -#define CyDTR 125,3288 -#define CyRTS 126,3315 -#define CyRTPRL 127,3342 -#define CyRTPRH 128,3366 -#define CyCOR1 129,3390 -#define CyPARITY_NONE 130,3413 -#define CyPARITY_E 131,3447 -#define CyPARITY_O 132,3479 -#define Cy_5_BITS 133,3511 -#define Cy_6_BITS 134,3542 -#define Cy_7_BITS 135,3573 -#define Cy_8_BITS 136,3604 -#define CyCOR2 137,3635 -#define CyETC 138,3658 -#define CyCtsAE 139,3685 -#define CyCOR3 140,3714 -#define Cy_1_STOP 141,3737 -#define Cy_2_STOP 142,3768 -#define CyCOR4 143,3799 -#define CyREC_FIFO 144,3822 -#define CyCOR5 145,3884 -#define CyCOR6 146,3907 -#define CyCOR7 147,3930 -#define CyRBPR 148,3953 -#define CyRCOR 149,3976 -#define CyTBPR 150,3999 -#define CyTCOR 151,4022 -#define CySCHR1 152,4045 -#define CySCHR2 153,4069 -#define CyTPR 154,4093 -#define CyPILR1 155,4115 -#define CyPILR2 156,4139 -#define CyPILR3 157,4163 -#define CyCMR 158,4187 -#define CyASYNC 159,4209 -#define CyLICR 160,4238 -#define CyLIVR 161,4269 -#define CySCRL 162,4300 -#define CySCRH 163,4323 -#define CyTFTC 164,4346 -#define CyMAX_CHAR_FIFO 169,4410 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/reiserfs_acl.h,579 -#define REISERFS_ACL_VERSION 5,83 -} reiserfs_acl_entry;reiserfs_acl_entry11,182 -} reiserfs_acl_entry_short;reiserfs_acl_entry_short16,253 -} reiserfs_acl_header;reiserfs_acl_header20,318 -static inline size_t reiserfs_acl_size(22,342 -static inline int reiserfs_acl_count(34,657 -extern int reiserfs_xattr_posix_acl_init 57,1424 -#define reiserfs_set_acl 63,1663 -#define reiserfs_get_acl 64,1693 -#define reiserfs_cache_default_acl(reiserfs_cache_default_acl65,1723 -reiserfs_xattr_posix_acl_exit 74,1860 -reiserfs_acl_chmod 80,1934 -reiserfs_inherit_default_acl 86,2012 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/spinlock.h,5015 -#define __LINUX_SPINLOCK_H2,27 -#define LOCK_SECTION_NAME 22,474 -#define LOCK_SECTION_START(LOCK_SECTION_START25,576 -#define LOCK_SECTION_END 32,848 -#define __lockfunc 41,1031 -#define in_lock_functions(in_lock_functions74,2638 -# define atomic_dec_and_lock(atomic_dec_and_lock77,2737 -# define ATOMIC_DEC_AND_LOCK78,2807 -#define SPINLOCK_MAGIC 83,2875 -} spinlock_t;spinlock_t91,3056 -#define SPIN_LOCK_UNLOCKED 92,3070 -#define spin_lock_init(spin_lock_init94,3156 -#define CHECK_LOCK(CHECK_LOCK104,3350 -#define _raw_spin_lock(_raw_spin_lock112,3543 -#define spin_is_locked(spin_is_locked128,3985 -#define _raw_spin_trylock(_raw_spin_trylock142,4352 -#define spin_unlock_wait(spin_unlock_wait157,4698 -#define _raw_spin_unlock(_raw_spin_unlock168,4968 - typedef struct { } spinlock_t;spinlock_t183,5319 - #define SPIN_LOCK_UNLOCKED 184,5352 - typedef struct { int gcc_is_buggy; } spinlock_t;spinlock_t186,5404 - #define SPIN_LOCK_UNLOCKED 187,5455 -#define spin_lock_init(spin_lock_init193,5584 -#define _raw_spin_lock(_raw_spin_lock194,5643 -#define spin_is_locked(spin_is_locked195,5702 -#define _raw_spin_trylock(_raw_spin_trylock196,5749 -#define spin_unlock_wait(spin_unlock_wait197,5801 -#define _raw_spin_unlock(_raw_spin_unlock198,5846 - typedef struct { } rwlock_t;rwlock_t204,6000 - #define RW_LOCK_UNLOCKED 205,6031 - typedef struct { int gcc_is_buggy; } rwlock_t;rwlock_t207,6079 - #define RW_LOCK_UNLOCKED 208,6128 -#define rwlock_init(rwlock_init211,6180 -#define _raw_read_lock(_raw_read_lock212,6236 -#define _raw_read_unlock(_raw_read_unlock213,6295 -#define _raw_write_lock(_raw_write_lock214,6356 -#define _raw_write_unlock(_raw_write_unlock215,6416 -#define _raw_write_trylock(_raw_write_trylock216,6478 -#define _spin_trylock(_spin_trylock218,6537 -#define _write_trylock(_write_trylock221,6651 -#define _spin_trylock_bh(_spin_trylock_bh224,6767 -#define _spin_lock(_spin_lock228,6929 -#define _write_lock(_write_lock234,7022 -#define _read_lock(_read_lock240,7118 -#define _spin_unlock(_spin_unlock246,7211 -#define _write_unlock(_write_unlock252,7308 -#define _read_unlock(_read_unlock258,7406 -#define _spin_lock_irqsave(_spin_lock_irqsave264,7502 -#define _spin_lock_irq(_spin_lock_irq271,7637 -#define _spin_lock_bh(_spin_lock_bh278,7759 -#define _read_lock_irqsave(_read_lock_irqsave285,7879 -#define _read_lock_irq(_read_lock_irq292,8014 -#define _read_lock_bh(_read_lock_bh299,8136 -#define _write_lock_irqsave(_write_lock_irqsave306,8256 -#define _write_lock_irq(_write_lock_irq313,8393 -#define _write_lock_bh(_write_lock_bh320,8517 -#define _spin_unlock_irqrestore(_spin_unlock_irqrestore327,8639 -#define _raw_spin_unlock_irqrestore(_raw_spin_unlock_irqrestore334,8783 -#define _spin_unlock_irq(_spin_unlock_irq340,8910 -#define _spin_unlock_bh(_spin_unlock_bh347,9034 -#define _write_unlock_bh(_write_unlock_bh354,9156 -#define _read_unlock_irqrestore(_read_unlock_irqrestore361,9280 -#define _write_unlock_irqrestore(_write_unlock_irqrestore368,9424 -#define _read_unlock_irq(_read_unlock_irq375,9570 -#define _read_unlock_bh(_read_unlock_bh382,9694 -#define _write_unlock_irq(_write_unlock_irq389,9816 -#define spin_trylock(spin_trylock403,10184 -#define write_trylock(write_trylock404,10231 -#define spin_lock(spin_lock408,10310 -#define write_lock(write_lock409,10352 -#define read_lock(read_lock410,10395 -#define spin_unlock(spin_unlock411,10437 -#define write_unlock(write_unlock412,10482 -#define read_unlock(read_unlock413,10529 -#define spin_lock_irqsave(spin_lock_irqsave416,10593 -#define read_lock_irqsave(read_lock_irqsave417,10665 -#define write_lock_irqsave(write_lock_irqsave418,10737 -#define spin_lock_irqsave(spin_lock_irqsave420,10817 -#define read_lock_irqsave(read_lock_irqsave421,10888 -#define write_lock_irqsave(write_lock_irqsave422,10959 -#define spin_lock_irq(spin_lock_irq425,11040 -#define spin_lock_bh(spin_lock_bh426,11090 -#define read_lock_irq(read_lock_irq428,11139 -#define read_lock_bh(read_lock_bh429,11189 -#define write_lock_irq(write_lock_irq431,11238 -#define write_lock_bh(write_lock_bh432,11290 -#define spin_unlock_irqrestore(spin_unlock_irqrestore433,11340 -#define spin_unlock_irq(spin_unlock_irq434,11421 -#define spin_unlock_bh(spin_unlock_bh435,11475 -#define read_unlock_irqrestore(read_unlock_irqrestore437,11528 -#define read_unlock_irq(read_unlock_irq438,11609 -#define read_unlock_bh(read_unlock_bh439,11664 -#define write_unlock_irqrestore(write_unlock_irqrestore441,11718 -#define write_unlock_irq(write_unlock_irq442,11801 -#define write_unlock_bh(write_unlock_bh443,11858 -#define spin_trylock_bh(spin_trylock_bh445,11914 -#define spin_trylock_irq(spin_trylock_irq447,11970 -#define spin_trylock_irqsave(spin_trylock_irqsave454,12097 -static inline void bit_spin_lock(484,12998 -static inline int bit_spin_trylock(505,13560 -static inline void bit_spin_unlock(524,13885 -static inline int bit_spin_is_locked(537,14174 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_ppp.h,2271 -#define _IF_PPP_H_36,1408 -#define PPP_MTU 42,1452 -#define PPP_MAXMRU 43,1513 -#define PROTO_IPX 44,1565 -#define PROTO_DNA_RT 45,1613 -#define SC_COMP_PROT 52,1703 -#define SC_COMP_AC 53,1771 -#define SC_COMP_TCP 54,1835 -#define SC_NO_TCP_CCID 55,1902 -#define SC_REJ_COMP_AC 56,1973 -#define SC_REJ_COMP_TCP 57,2045 -#define SC_CCP_OPEN 58,2117 -#define SC_CCP_UP 59,2174 -#define SC_ENABLE_IP 60,2242 -#define SC_LOOP_TRAFFIC 61,2308 -#define SC_MULTILINK 62,2370 -#define SC_MP_SHORTSEQ 63,2435 -#define SC_COMP_RUN 64,2505 -#define SC_DECOMP_RUN 65,2569 -#define SC_MP_XSHORTSEQ 66,2637 -#define SC_DEBUG 67,2708 -#define SC_LOG_INPKT 68,2764 -#define SC_LOG_OUTPKT 69,2834 -#define SC_LOG_RAWIN 70,2899 -#define SC_LOG_FLUSH 71,2960 -#define SC_SYNC 72,3020 -#define SC_MASK 73,3078 -#define SC_XMIT_BUSY 76,3156 -#define SC_RCV_ODDP 77,3214 -#define SC_RCV_EVNP 78,3282 -#define SC_RCV_B7_1 79,3351 -#define SC_RCV_B7_0 80,3418 -#define SC_DC_FERROR 81,3485 -#define SC_DC_ERROR 82,3551 -struct npioctl npioctl88,3651 -struct ppp_option_data ppp_option_data94,3814 -struct ifpppstatsreq ifpppstatsreq100,3885 -struct ifpppcstatsreq ifpppcstatsreq105,3985 -#define ifr__name 110,4066 -#define stats_ptr 111,4111 -#define PPPIOCGFLAGS 117,4187 -#define PPPIOCSFLAGS 118,4257 -#define PPPIOCGASYNCMAP 119,4327 -#define PPPIOCSASYNCMAP 120,4390 -#define PPPIOCGUNIT 121,4453 -#define PPPIOCGRASYNCMAP 122,4518 -#define PPPIOCSRASYNCMAP 123,4590 -#define PPPIOCGMRU 124,4662 -#define PPPIOCSMRU 125,4727 -#define PPPIOCSMAXCID 126,4792 -#define PPPIOCGXASYNCMAP 127,4858 -#define PPPIOCSXASYNCMAP 128,4931 -#define PPPIOCXFERUNIT 129,5004 -#define PPPIOCSCOMPRESS 130,5065 -#define PPPIOCGNPMODE 131,5127 -#define PPPIOCSNPMODE 132,5198 -#define PPPIOCSPASS 133,5269 -#define PPPIOCSACTIVE 134,5344 -#define PPPIOCGDEBUG 135,5421 -#define PPPIOCSDEBUG 136,5484 -#define PPPIOCGIDLE 137,5546 -#define PPPIOCNEWUNIT 138,5617 -#define PPPIOCATTACH 139,5685 -#define PPPIOCDETACH 140,5750 -#define PPPIOCSMRRU 141,5822 -#define PPPIOCCONNECT 142,5885 -#define PPPIOCDISCONN 143,5956 -#define PPPIOCATTCHAN 144,6017 -#define PPPIOCGCHAN 145,6086 -#define SIOCGPPPSTATS 147,6155 -#define SIOCGPPPVER 148,6200 -#define SIOCGPPPCSTATS 149,6271 -#define ifr_mtu 152,6339 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/profile.h,752 -#define _LINUX_PROFILE_H2,25 -#define CPU_PROFILING 12,197 -#define SCHED_PROFILING 13,221 -#define create_prof_cpu_mask(create_prof_cpu_mask25,506 -enum profile_type profile_type28,576 - PROFILE_TASK_EXIT,29,596 - PROFILE_MUNMAP30,616 -static inline int task_handoff_register(66,1527 -static inline int task_handoff_unregister(71,1616 -static inline int profile_event_register(76,1707 -static inline int profile_event_unregister(81,1818 -#define profile_task_exit(profile_task_exit86,1931 -#define profile_handoff_task(profile_handoff_task87,1977 -#define profile_munmap(profile_munmap88,2013 -static inline int register_profile_notifier(90,2057 -static inline int unregister_profile_notifier(95,2151 -#define profile_hook(profile_hook100,2247 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/seq_file.h,165 -#define _LINUX_SEQ_FILE_H2,26 -struct seq_file seq_file15,233 -struct seq_operations seq_operations26,392 -int seq_printf(41,990 -#define SEQ_START_TOKEN 50,1346 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/utime.h,57 -#define _LINUX_UTIME_H2,23 -struct utimbuf utimbuf4,47 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_tcp.h,372 -#define LINUX_ATM_TCP_H8,202 -struct atmtcp_hdr atmtcp_hdr22,401 -#define ATMTCP_HDR_MAGIC 32,567 -#define ATMTCP_CTRL_OPEN 33,635 -#define ATMTCP_CTRL_CLOSE 34,682 -struct atmtcp_control atmtcp_control36,731 -} __ATM_API_ALIGN;43,1029 -#define SIOCSIFATMTCP 55,1284 -#define ATMTCP_CREATE 56,1348 -#define ATMTCP_REMOVE 58,1443 -struct atm_tcp_ops atm_tcp_ops64,1560 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kref.h,49 -#define _KREF_H_16,394 -struct kref kref23,481 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/vermagic.h,219 -#define MODULE_VERMAGIC_SMP 6,119 -#define MODULE_VERMAGIC_SMP 8,160 -#define MODULE_VERMAGIC_PREEMPT 11,220 -#define MODULE_VERMAGIC_PREEMPT 13,269 -#define MODULE_ARCH_VERMAGIC 16,340 -#define VERMAGIC_STRING 19,380 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipmi.h,1988 -#define __LINUX_IPMI_H35,1428 -#define IPMI_MAX_ADDR_SIZE 76,3205 -struct ipmi_addripmi_addr77,3235 -#define IPMI_SYSTEM_INTERFACE_ADDR_TYPE 91,3643 -struct ipmi_system_interface_addripmi_system_interface_addr92,3688 -#define IPMI_IPMB_ADDR_TYPE 100,3821 -#define IPMI_IPMB_BROADCAST_ADDR_TYPE 103,3951 -struct ipmi_ipmb_addripmi_ipmb_addr104,3994 -#define IPMI_LAN_ADDR_TYPE 129,4952 -struct ipmi_lan_addripmi_lan_addr130,4985 -#define IPMI_BMC_CHANNEL 147,5377 -#define IPMI_NUM_CHANNELS 148,5407 -struct ipmi_msgipmi_msg157,5657 -struct kernel_ipmi_msgkernel_ipmi_msg165,5779 -#define IPMI_INVALID_CMD_COMPLETION_CODE 176,5966 -#define IPMI_TIMEOUT_COMPLETION_CODE 177,6012 -#define IPMI_UNKNOWN_ERR_COMPLETION_CODE 178,6055 -#define IPMI_RESPONSE_RECV_TYPE 190,6412 -#define IPMI_ASYNC_EVENT_RECV_TYPE 191,6477 -#define IPMI_CMD_RECV_TYPE 192,6551 -#define IPMI_RESPONSE_RESPONSE_TYPE 193,6617 -typedef struct ipmi_user *ipmi_user_t;ipmi_user_t214,7209 -struct ipmi_recv_msgipmi_recv_msg223,7563 -static inline void ipmi_free_recv_msg(252,8455 -struct ipmi_user_hndlipmi_user_hndl258,8591 -struct ipmi_smi_watcheripmi_smi_watcher438,15889 -#define IPMI_IOC_MAGIC 509,18662 -struct ipmi_reqipmi_req513,18745 -#define IPMICTL_SEND_COMMAND 534,19457 -struct ipmi_req_settimeipmi_req_settime539,19622 -#define IPMICTL_SEND_COMMAND_SETTIME 557,20156 -struct ipmi_recvipmi_recv561,20316 -#define IPMICTL_RECEIVE_MSG 596,21557 -#define IPMICTL_RECEIVE_MSG_TRUNC 604,21795 -struct ipmi_cmdspecipmi_cmdspec608,21957 -#define IPMICTL_REGISTER_FOR_CMD 620,22255 -#define IPMICTL_UNREGISTER_FOR_CMD 627,22521 -#define IPMICTL_SET_GETS_EVENTS_CMD 636,22834 -#define IPMICTL_SET_MY_ADDRESS_CMD 646,23316 -#define IPMICTL_GET_MY_ADDRESS_CMD 647,23390 -#define IPMICTL_SET_MY_LUN_CMD 648,23464 -#define IPMICTL_GET_MY_LUN_CMD 649,23535 -struct ipmi_timing_parmsipmi_timing_parms655,23714 -#define IPMICTL_SET_TIMING_PARMS_CMD 660,23796 -#define IPMICTL_GET_TIMING_PARMS_CMD 662,23896 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pagevec.h,458 -#define PAGEVEC_SIZE 9,261 -struct pagevec pagevec14,322 -static inline void pagevec_init(32,946 -static inline void pagevec_reinit(38,1050 -static inline unsigned pagevec_count(43,1126 -static inline unsigned pagevec_space(48,1208 -static inline unsigned pagevec_add(56,1386 -static inline void pagevec_release(63,1530 -static inline void pagevec_release_nonlru(69,1645 -static inline void pagevec_free(75,1774 -static inline void pagevec_lru_add(81,1883 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nubus.h,6915 -#define LINUX_NUBUS_H13,357 -enum nubus_category nubus_category19,429 - NUBUS_CAT_BOARD 20,451 - NUBUS_CAT_BOARD = 0x0001,20,451 - NUBUS_CAT_DISPLAY 21,487 - NUBUS_CAT_DISPLAY = 0x0003,21,487 - NUBUS_CAT_NETWORK 22,523 - NUBUS_CAT_NETWORK = 0x0004,22,523 - NUBUS_CAT_COMMUNICATIONS 23,559 - NUBUS_CAT_COMMUNICATIONS = 0x0006,23,559 - NUBUS_CAT_FONT 24,595 - NUBUS_CAT_FONT = 0x0009,24,595 - NUBUS_CAT_CPU 25,631 - NUBUS_CAT_CPU = 0x000A,25,631 - NUBUS_CAT_DUODOCK 27,700 - NUBUS_CAT_DUODOCK = 0x002027,700 -enum nubus_type_network nubus_type_network30,739 - NUBUS_TYPE_ETHERNET 31,765 - NUBUS_TYPE_ETHERNET = 0x0001,31,765 - NUBUS_TYPE_RS232 32,798 - NUBUS_TYPE_RS232 = 0x000232,798 -enum nubus_type_display nubus_type_display35,834 - NUBUS_TYPE_VIDEO 36,860 - NUBUS_TYPE_VIDEO = 0x000136,860 -enum nubus_type_cpu nubus_type_cpu39,893 - NUBUS_TYPE_68020 40,915 - NUBUS_TYPE_68020 = 0x0003,40,915 - NUBUS_TYPE_68030 41,945 - NUBUS_TYPE_68030 = 0x0004,41,945 - NUBUS_TYPE_68040 42,975 - NUBUS_TYPE_68040 = 0x000542,975 -enum nubus_drsw nubus_drsw81,2601 - NUBUS_DRSW_APPLE 83,2644 - NUBUS_DRSW_APPLE = 0x0001,83,2644 - NUBUS_DRSW_APPLE_HIRES 84,2679 - NUBUS_DRSW_APPLE_HIRES = 0x0013,84,2679 - NUBUS_DRSW_CABLETRON 87,2771 - NUBUS_DRSW_CABLETRON = 0x0001,87,2771 - NUBUS_DRSW_SONIC_LC 88,2806 - NUBUS_DRSW_SONIC_LC = 0x0001,88,2806 - NUBUS_DRSW_KINETICS 89,2841 - NUBUS_DRSW_KINETICS = 0x0103,89,2841 - NUBUS_DRSW_ASANTE 90,2876 - NUBUS_DRSW_ASANTE = 0x0104,90,2876 - NUBUS_DRSW_DAYNA 91,2911 - NUBUS_DRSW_DAYNA = 0x010b,91,2911 - NUBUS_DRSW_FARALLON 92,2946 - NUBUS_DRSW_FARALLON = 0x010c,92,2946 - NUBUS_DRSW_APPLE_SN 93,2981 - NUBUS_DRSW_APPLE_SN = 0x010f,93,2981 - NUBUS_DRSW_DAYNA2 94,3016 - NUBUS_DRSW_DAYNA2 = 0x0115,94,3016 - NUBUS_DRSW_FOCUS 95,3045 - NUBUS_DRSW_FOCUS = 0x011a,95,3045 - NUBUS_DRSW_ASANTE_CS 96,3080 - NUBUS_DRSW_ASANTE_CS = 0x011d,96,3080 - NUBUS_DRSW_DAYNA_LC 97,3147 - NUBUS_DRSW_DAYNA_LC = 0x011e,97,3147 - NUBUS_DRSW_NONE 100,3200 - NUBUS_DRSW_NONE = 0x0000,100,3200 -enum nubus_drhw nubus_drhw108,3450 - NUBUS_DRHW_APPLE_TFB 110,3493 - NUBUS_DRHW_APPLE_TFB = 0x0001,110,3493 - NUBUS_DRHW_APPLE_HRVC 111,3554 - NUBUS_DRHW_APPLE_HRVC = 0x0013,111,3554 - NUBUS_DRHW_APPLE_RBV1 112,3620 - NUBUS_DRHW_APPLE_RBV1 = 0x0018,112,3620 - NUBUS_DRHW_APPLE_MDC 113,3676 - NUBUS_DRHW_APPLE_MDC = 0x0019,113,3676 - NUBUS_DRHW_APPLE_SONORA 114,3740 - NUBUS_DRHW_APPLE_SONORA = 0x0022,114,3740 - NUBUS_DRHW_APPLE_JET 115,3803 - NUBUS_DRHW_APPLE_JET = 0x0029,115,3803 - NUBUS_DRHW_APPLE_VALKYRIE 116,3868 - NUBUS_DRHW_APPLE_VALKYRIE = 0x002e,116,3868 - NUBUS_DRHW_THUNDER24 117,3905 - NUBUS_DRHW_THUNDER24 = 0x02cb,117,3905 - NUBUS_DRHW_INTERLAN 120,3990 - NUBUS_DRHW_INTERLAN = 0x0100,120,3990 - NUBUS_DRHW_SMC9194 121,4025 - NUBUS_DRHW_SMC9194 = 0x0101,121,4025 - NUBUS_DRHW_KINETICS 122,4060 - NUBUS_DRHW_KINETICS = 0x0106,122,4060 - NUBUS_DRHW_CABLETRON 123,4095 - NUBUS_DRHW_CABLETRON = 0x0109,123,4095 - NUBUS_DRHW_ASANTE_LC 124,4130 - NUBUS_DRHW_ASANTE_LC = 0x010f,124,4130 - NUBUS_DRHW_SONIC 125,4165 - NUBUS_DRHW_SONIC = 0x0110,125,4165 - NUBUS_DRHW_SONIC_NB 126,4200 - NUBUS_DRHW_SONIC_NB = 0x0118,126,4200 - NUBUS_DRHW_SONIC_LC 127,4231 - NUBUS_DRHW_SONIC_LC = 0x0119,127,4231 - NUBUS_DRHW_DOVEFAX 130,4296 - NUBUS_DRHW_DOVEFAX = 0x0100,130,4296 -enum nubus_res_id nubus_res_id136,4496 - NUBUS_RESID_TYPE 137,4516 - NUBUS_RESID_TYPE = 0x0001,137,4516 - NUBUS_RESID_NAME 138,4552 - NUBUS_RESID_NAME = 0x0002,138,4552 - NUBUS_RESID_ICON 139,4588 - NUBUS_RESID_ICON = 0x0003,139,4588 - NUBUS_RESID_DRVRDIR 140,4624 - NUBUS_RESID_DRVRDIR = 0x0004,140,4624 - NUBUS_RESID_LOADREC 141,4660 - NUBUS_RESID_LOADREC = 0x0005,141,4660 - NUBUS_RESID_BOOTREC 142,4696 - NUBUS_RESID_BOOTREC = 0x0006,142,4696 - NUBUS_RESID_FLAGS 143,4732 - NUBUS_RESID_FLAGS = 0x0007,143,4732 - NUBUS_RESID_HWDEVID 144,4768 - NUBUS_RESID_HWDEVID = 0x0008,144,4768 - NUBUS_RESID_MINOR_BASEOS 145,4804 - NUBUS_RESID_MINOR_BASEOS = 0x000a,145,4804 - NUBUS_RESID_MINOR_LENGTH 146,4840 - NUBUS_RESID_MINOR_LENGTH = 0x000b,146,4840 - NUBUS_RESID_MAJOR_BASEOS 147,4876 - NUBUS_RESID_MAJOR_BASEOS = 0x000c,147,4876 - NUBUS_RESID_MAJOR_LENGTH 148,4912 - NUBUS_RESID_MAJOR_LENGTH = 0x000d,148,4912 - NUBUS_RESID_CICN 149,4948 - NUBUS_RESID_CICN = 0x000f,149,4948 - NUBUS_RESID_ICL8 150,4984 - NUBUS_RESID_ICL8 = 0x0010,150,4984 - NUBUS_RESID_ICL4 151,5020 - NUBUS_RESID_ICL4 = 0x0011,151,5020 -enum nubus_board_res_id nubus_board_res_id155,5095 - NUBUS_RESID_BOARDID 156,5121 - NUBUS_RESID_BOARDID = 0x0020,156,5121 - NUBUS_RESID_PRAMINITDATA 157,5153 - NUBUS_RESID_PRAMINITDATA = 0x0021,157,5153 - NUBUS_RESID_PRIMARYINIT 158,5189 - NUBUS_RESID_PRIMARYINIT = 0x0022,158,5189 - NUBUS_RESID_TIMEOUTCONST 159,5225 - NUBUS_RESID_TIMEOUTCONST = 0x0023,159,5225 - NUBUS_RESID_VENDORINFO 160,5261 - NUBUS_RESID_VENDORINFO = 0x0024,160,5261 - NUBUS_RESID_BOARDFLAGS 161,5296 - NUBUS_RESID_BOARDFLAGS = 0x0025,161,5296 - NUBUS_RESID_SECONDINIT 162,5331 - NUBUS_RESID_SECONDINIT = 0x0026,162,5331 - NUBUS_RESID_VIDNAMES 165,5420 - NUBUS_RESID_VIDNAMES = 0x0041,165,5420 - NUBUS_RESID_VIDMODES 166,5454 - NUBUS_RESID_VIDMODES = 0x007e166,5454 -enum nubus_vendor_res_id nubus_vendor_res_id170,5537 - NUBUS_RESID_VEND_ID 171,5564 - NUBUS_RESID_VEND_ID = 0x0001,171,5564 - NUBUS_RESID_VEND_SERIAL 172,5599 - NUBUS_RESID_VEND_SERIAL = 0x0002,172,5599 - NUBUS_RESID_VEND_REV 173,5634 - NUBUS_RESID_VEND_REV = 0x0003,173,5634 - NUBUS_RESID_VEND_PART 174,5669 - NUBUS_RESID_VEND_PART = 0x0004,174,5669 - NUBUS_RESID_VEND_DATE 175,5704 - NUBUS_RESID_VEND_DATE = 0x0005175,5704 -enum nubus_net_res_id nubus_net_res_id178,5742 - NUBUS_RESID_MAC_ADDRESS 179,5766 - NUBUS_RESID_MAC_ADDRESS = 0x0080179,5766 -enum nubus_cpu_res_id nubus_cpu_res_id182,5805 - NUBUS_RESID_MEMINFO 183,5829 - NUBUS_RESID_MEMINFO = 0x0081,183,5829 - NUBUS_RESID_ROMINFO 184,5865 - NUBUS_RESID_ROMINFO = 0x0082184,5865 -enum nubus_display_res_id nubus_display_res_id187,5904 - NUBUS_RESID_GAMMADIR 188,5932 - NUBUS_RESID_GAMMADIR = 0x0040,188,5932 - NUBUS_RESID_FIRSTMODE 189,5964 - NUBUS_RESID_FIRSTMODE = 0x0080,189,5964 - NUBUS_RESID_SECONDMODE 190,5997 - NUBUS_RESID_SECONDMODE = 0x0081,190,5997 - NUBUS_RESID_THIRDMODE 191,6031 - NUBUS_RESID_THIRDMODE = 0x0082,191,6031 - NUBUS_RESID_FOURTHMODE 192,6064 - NUBUS_RESID_FOURTHMODE = 0x0083,192,6064 - NUBUS_RESID_FIFTHMODE 193,6098 - NUBUS_RESID_FIFTHMODE = 0x0084,193,6098 - NUBUS_RESID_SIXTHMODE 194,6131 - NUBUS_RESID_SIXTHMODE = 0x0085194,6131 -struct nubus_dirnubus_dir197,6167 -struct nubus_direntnubus_dirent205,6255 -struct nubus_board nubus_board213,6375 -struct nubus_dev nubus_dev241,7143 -static inline void *nubus_slot_addr(329,10169 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kobj_map.h,56 -typedef struct kobject *kobj_probe_t(kobj_probe_t3,19 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bootmem.h,536 -#define _LINUX_BOOTMEM_H5,93 -typedef struct bootmem_data bootmem_data29,551 -} bootmem_data_t;bootmem_data_t37,813 -#define alloc_bootmem(alloc_bootmem45,1273 -#define alloc_bootmem_low(alloc_bootmem_low47,1362 -#define alloc_bootmem_pages(alloc_bootmem_pages49,1435 -#define alloc_bootmem_low_pages(alloc_bootmem_low_pages51,1524 -#define alloc_bootmem_node(alloc_bootmem_node62,2262 -#define alloc_bootmem_pages_node(alloc_bootmem_pages_node64,2377 -#define alloc_bootmem_low_pages_node(alloc_bootmem_low_pages_node66,2492 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/umsdos_fs_i.h,129 -#define UMSDOS_FS_I_H2,22 -struct dir_locking_info dir_locking_info39,1152 -struct umsdos_inode_info umsdos_inode_info50,1489 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/list.h,3209 -#define _LINUX_LIST_H2,22 -#define LIST_POISON1 15,309 -#define LIST_POISON2 16,353 -struct list_head list_head28,738 -#define LIST_HEAD_INIT(LIST_HEAD_INIT32,793 -#define LIST_HEAD(LIST_HEAD34,844 -#define INIT_LIST_HEAD(INIT_LIST_HEAD37,917 -static inline void __list_add(47,1176 -static inline void list_add(65,1573 -static inline void list_add_tail(78,1895 -static inline void __list_add_rcu(89,2182 -static inline void list_add_rcu(115,2974 -static inline void list_add_tail_rcu(136,3701 -static inline void __list_del(149,4019 -static inline void list_del(161,4340 -static inline void list_del_rcu(192,5480 -static inline void list_replace_rcu(205,5809 -static inline void list_del_init(217,6123 -static inline void list_move(228,6394 -static inline void list_move_tail(239,6699 -static inline int list_empty(250,6953 -static inline int list_empty_careful(267,7457 -static inline void __list_splice(273,7615 -static inline void list_splice(292,8019 -static inline void list_splice_init(305,8357 -#define list_entry(list_entry320,8743 -#define list_for_each(list_for_each328,8955 -#define __list_for_each(__list_for_each342,9471 -#define list_for_each_prev(list_for_each_prev350,9720 -#define list_for_each_safe(list_for_each_safe360,10112 -#define list_for_each_entry(list_for_each_entry370,10444 -#define list_for_each_entry_reverse(list_for_each_entry_reverse383,10959 -#define list_prepare_entry(list_prepare_entry397,11506 -#define list_for_each_entry_continue(list_for_each_entry_continue407,11857 -#define list_for_each_entry_safe(list_for_each_entry_safe421,12455 -#define list_for_each_rcu(list_for_each_rcu436,13086 -#define __list_for_each_rcu(__list_for_each_rcu440,13254 -#define list_for_each_safe_rcu(list_for_each_safe_rcu455,13836 -#define list_for_each_entry_rcu(list_for_each_entry_rcu469,14385 -#define list_for_each_continue_rcu(list_for_each_continue_rcu488,15099 -struct hlist_head hlist_head499,15488 -struct hlist_node hlist_node503,15539 -#define HLIST_HEAD_INIT 507,15598 -#define HLIST_HEAD(HLIST_HEAD508,15640 -#define INIT_HLIST_HEAD(INIT_HLIST_HEAD509,15709 -#define INIT_HLIST_NODE(INIT_HLIST_NODE510,15760 -static inline int hlist_unhashed(512,15832 -static inline int hlist_empty(517,15917 -static inline void __hlist_del(522,15999 -static inline void hlist_del(531,16182 -static inline void hlist_del_rcu(557,17093 -static inline void hlist_del_init(563,17196 -#define hlist_del_rcu_init 571,17318 -static inline void hlist_add_head(573,17361 -static inline void hlist_add_head_rcu(600,18301 -static inline void hlist_add_before(613,18565 -static inline void hlist_add_after(622,18743 -#define hlist_entry(hlist_entry633,18953 -#define hlist_for_each(hlist_for_each635,19023 -#define hlist_for_each_safe(hlist_for_each_safe639,19150 -#define hlist_for_each_rcu(hlist_for_each_rcu643,19271 -#define hlist_for_each_entry(hlist_for_each_entry654,19686 -#define hlist_for_each_entry_continue(hlist_for_each_entry_continue666,20173 -#define hlist_for_each_entry_from(hlist_for_each_entry_from678,20656 -#define hlist_for_each_entry_safe(hlist_for_each_entry_safe691,21217 -#define hlist_for_each_entry_rcu(hlist_for_each_entry_rcu708,21901 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_ether.h,1616 -#define _LINUX_IF_ETHER_H22,789 -#define ETH_ALEN 29,939 -#define ETH_HLEN 30,994 -#define ETH_ZLEN 31,1046 -#define ETH_DATA_LEN 32,1103 -#define ETH_FRAME_LEN 33,1160 -#define ETH_P_LOOP 39,1282 -#define ETH_P_PUP 40,1340 -#define ETH_P_PUPAT 41,1390 -#define ETH_P_IP 42,1452 -#define ETH_P_X25 43,1508 -#define ETH_P_ARP 44,1553 -#define ETH_P_BPQ 45,1611 -#define ETH_P_IEEEPUP 46,1707 -#define ETH_P_IEEEPUPAT 47,1770 -#define ETH_P_DEC 48,1846 -#define ETH_P_DNA_DL 49,1921 -#define ETH_P_DNA_RC 50,1996 -#define ETH_P_DNA_RT 51,2071 -#define ETH_P_LAT 52,2146 -#define ETH_P_DIAG 53,2221 -#define ETH_P_CUST 54,2296 -#define ETH_P_SCA 55,2371 -#define ETH_P_RARP 56,2446 -#define ETH_P_ATALK 57,2508 -#define ETH_P_AARP 58,2557 -#define ETH_P_8021Q 59,2606 -#define ETH_P_IPX 60,2677 -#define ETH_P_IPV6 61,2724 -#define ETH_P_WCCP 62,2777 -#define ETH_P_PPP_DISC 64,2894 -#define ETH_P_PPP_SES 65,2960 -#define ETH_P_MPLS_UC 66,3019 -#define ETH_P_MPLS_MC 67,3077 -#define ETH_P_ATMMPOA 68,3136 -#define ETH_P_ATMFATE 69,3195 -#define ETH_P_EDP2 72,3285 -#define ETH_P_802_3 78,3388 -#define ETH_P_AX25 79,3451 -#define ETH_P_ALL 80,3513 -#define ETH_P_802_2 81,3574 -#define ETH_P_SNAP 82,3623 -#define ETH_P_DDCMP 83,3671 -#define ETH_P_WAN_PPP 84,3746 -#define ETH_P_PPP_MP 85,3821 -#define ETH_P_LOCALTALK 86,3896 -#define ETH_P_PPPTALK 87,3957 -#define ETH_P_TR_802_2 88,4022 -#define ETH_P_MOBITEX 89,4074 -#define ETH_P_CONTROL 90,4133 -#define ETH_P_IRDA 91,4198 -#define ETH_P_ECONET 92,4244 -#define ETH_P_HDLC 93,4294 -struct ethhdr ethhdr99,4388 -static inline struct ethhdr *eth_hdr(108,4649 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/usb_gadget.h,1284 -#define __LINUX_USB_GADGET_H16,419 -struct usb_request usb_request77,3418 -struct usb_ep_ops usb_ep_ops104,4132 -struct usb_ep usb_ep144,5782 -usb_ep_enable 179,7224 -usb_ep_disable 197,7835 -usb_ep_alloc_request 217,8550 -usb_ep_free_request 232,8978 -usb_ep_alloc_buffer 256,9882 -usb_ep_free_buffer 273,10361 -usb_ep_queue 333,13555 -static inline int usb_ep_dequeue 352,14316 -usb_ep_set_halt 379,15515 -usb_ep_clear_halt 398,16204 -usb_ep_fifo_status 419,17008 -usb_ep_fifo_flush 437,17511 -struct usb_gadget_ops usb_gadget_ops451,17825 -struct usb_gadget usb_gadget504,20549 -static inline void set_gadget_data 520,20953 -static inline void *get_gadget_data 522,21071 -#define gadget_for_each_ep(gadget_for_each_ep526,21255 -static inline int usb_gadget_frame_number 537,21621 -static inline int usb_gadget_wakeup 555,22344 -usb_gadget_set_selfpowered 572,22821 -usb_gadget_clear_selfpowered 590,23373 -usb_gadget_vbus_connect(610,24092 -usb_gadget_vbus_draw(630,24791 -usb_gadget_vbus_disconnect(648,25368 -usb_gadget_connect 667,25985 -usb_gadget_disconnect 690,26787 -struct usb_gadget_driver usb_gadget_driver771,30771 -struct usb_string usb_string834,32926 -struct usb_gadget_strings usb_gadget_strings847,33271 -extern struct usb_ep *usb_ep_autoconfig 871,34132 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compiler-intel.h,70 -#define barrier(barrier17,363 -#define RELOC_HIDE(RELOC_HIDE19,401 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/genhd.h,2983 -#define _LINUX_GENHD_H2,23 - DOS_EXTENDED_PARTITION 23,521 - LINUX_EXTENDED_PARTITION 24,550 - LINUX_EXTENDED_PARTITION = 0x85,24,550 - WIN98_EXTENDED_PARTITION 25,584 - WIN98_EXTENDED_PARTITION = 0x0f,25,584 - LINUX_SWAP_PARTITION 27,619 - LINUX_SWAP_PARTITION = 0x82,27,619 - LINUX_RAID_PARTITION 28,649 - LINUX_RAID_PARTITION = 0xfd,28,649 - SOLARIS_X86_PARTITION 30,712 - SOLARIS_X86_PARTITION = LINUX_SWAP_PARTITION,30,712 - DM6_AUX1PARTITION 32,760 - DM6_AUX1PARTITION = 0x51,32,760 - DM6_AUX3PARTITION 33,818 - DM6_AUX3PARTITION = 0x53,33,818 - DM6_PARTITION 34,876 - DM6_PARTITION = 0x54,34,876 - EZD_PARTITION 35,940 - EZD_PARTITION = 0x55,35,940 - FREEBSD_PARTITION 37,980 - FREEBSD_PARTITION = 0xa5,37,980 - OPENBSD_PARTITION 38,1034 - OPENBSD_PARTITION = 0xa6,38,1034 - NETBSD_PARTITION 39,1088 - NETBSD_PARTITION = 0xa9,39,1088 - BSDI_PARTITION 40,1140 - BSDI_PARTITION = 0xb7,40,1140 - MINIX_PARTITION 41,1189 - MINIX_PARTITION = 0x81,41,1189 - UNIXWARE_PARTITION 42,1240 - UNIXWARE_PARTITION = 0x63,42,1240 -struct partition partition47,1328 -struct partition partition63,1882 -struct hd_struct hd_struct76,2398 -#define GENHD_FL_REMOVABLE 84,2560 -#define GENHD_FL_DRIVERFS 85,2591 -#define GENHD_FL_CD 86,2621 -#define GENHD_FL_UP 87,2646 -#define GENHD_FL_SUPPRESS_PARTITION_INFO 88,2672 -struct disk_stats disk_stats90,2717 -struct gendisk gendisk99,2923 -#define disk_stat_add(disk_stat_add137,3963 -#define disk_stat_read(disk_stat_read139,4082 -static inline void disk_stat_set_all(151,4375 -#define disk_stat_add(disk_stat_add162,4624 -#define disk_stat_read(disk_stat_read163,4705 -static inline void disk_stat_set_all(165,4772 -#define disk_stat_inc(disk_stat_inc170,4922 -#define disk_stat_dec(disk_stat_dec171,4995 -#define disk_stat_sub(disk_stat_sub172,5069 -static inline int init_disk_stats(178,5240 -static inline void free_disk_stats(186,5395 -static inline int init_disk_stats(191,5508 -static inline void free_disk_stats(196,5580 -static inline sector_t get_start_sect(217,6237 -static inline sector_t get_capacity(221,6373 -static inline void set_capacity(225,6459 -#define SOLARIS_X86_NUMSLICE 234,6622 -#define SOLARIS_X86_VTOC_SANE 235,6653 -struct solaris_x86_slice solaris_x86_slice237,6699 -struct solaris_x86_vtoc solaris_x86_vtoc244,6913 -#define BSD_DISKMAGIC 268,7744 -#define BSD_MAXPARTITIONS 269,7809 -#define OPENBSD_MAXPARTITIONS 270,7838 -#define BSD_FS_UNUSED 271,7871 -struct bsd_disklabel bsd_disklabel272,7938 -#define NDDATA 294,9026 -#define NSPARE 296,9109 - struct bsd_partition bsd_partition305,9513 -#define UNIXWARE_DISKMAGIC 323,10138 -#define UNIXWARE_DISKMAGIC2 324,10212 -#define UNIXWARE_NUMSLICE 325,10289 -#define UNIXWARE_FS_UNUSED 326,10323 -struct unixware_slice unixware_slice328,10386 -struct unixware_disklabel unixware_disklabel335,10584 - struct unixware_vtoc unixware_vtoc356,11779 -# define MINIX_NR_SUBPARTITIONS 372,12207 -static inline struct block_device *bdget_disk(394,12969 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/libata.h,3746 -#define __LINUX_LIBATA_H__24,1026 -#define DPRINTK(DPRINTK47,1714 -#define VPRINTK(VPRINTK49,1820 -#define VPRINTK(VPRINTK51,1907 -#define DPRINTK(DPRINTK54,1974 -#define VPRINTK(VPRINTK55,2004 -#define assert(assert59,2076 -#define assert(assert61,2103 -#define ATA_TAG_POISON 69,2404 - LIBATA_MAX_PRD 73,2480 - LIBATA_MAX_PRD = ATA_MAX_PRD 73,2480 - ATA_MAX_PORTS 74,2516 - ATA_DEF_QUEUE 75,2537 - ATA_MAX_QUEUE 76,2558 - ATA_MAX_SECTORS 77,2579 - ATA_MAX_BUS 78,2616 - ATA_DEF_BUSY_WAIT 79,2635 - ATA_SHORT_PAUSE 80,2663 - ATA_SHORT_PAUSE = (HZ 80,2663 - ATA_SHT_EMULATED 82,2699 - ATA_SHT_CMD_PER_LUN 83,2722 - ATA_SHT_THIS_ID 84,2748 - ATA_SHT_USE_CLUSTERING 85,2772 - ATA_DFLAG_LBA48 88,2833 - ATA_DFLAG_PIO 89,2891 - ATA_DFLAG_LOCK_SECTORS 90,2954 - ATA_DEV_UNKNOWN 92,3022 - ATA_DEV_ATA 93,3066 - ATA_DEV_ATA_UNSUP 94,3102 - ATA_DEV_ATAPI 95,3157 - ATA_DEV_ATAPI_UNSUP 96,3197 - ATA_DEV_NONE 97,3256 - ATA_FLAG_SLAVE_POSS 100,3322 - ATA_FLAG_PORT_DISABLED 102,3425 - ATA_FLAG_SATA 103,3495 - ATA_FLAG_NO_LEGACY 104,3523 - ATA_FLAG_SRST 105,3582 - ATA_FLAG_MMIO 106,3641 - ATA_FLAG_SATA_RESET 107,3693 - ATA_FLAG_PIO_DMA 108,3745 - ATA_QCFLAG_ACTIVE 110,3799 - ATA_QCFLAG_SG 111,3867 - ATA_QCFLAG_SINGLE 112,3917 - ATA_QCFLAG_DMAMAP 113,3983 - ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG 113,3983 - ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE,113,3983 - ATA_TMOUT_EDD 116,4071 - ATA_TMOUT_EDD = 5 * HZ,116,4071 - ATA_TMOUT_PIO 117,4113 - ATA_TMOUT_PIO = 30 * HZ,117,4113 - ATA_TMOUT_BOOT 118,4140 - ATA_TMOUT_BOOT = 30 * HZ,118,4140 - ATA_TMOUT_BOOT_QUICK 119,4184 - ATA_TMOUT_BOOT_QUICK = 7 * HZ,119,4184 - ATA_TMOUT_CDB 120,4232 - ATA_TMOUT_CDB = 30 * HZ,120,4232 - ATA_TMOUT_CDB_QUICK 121,4259 - ATA_TMOUT_CDB_QUICK = 5 * HZ,121,4259 - BUS_UNKNOWN 124,4313 - BUS_DMA 125,4332 - BUS_IDLE 126,4348 - BUS_NOINTR 127,4364 - BUS_NODATA 128,4382 - BUS_TIMER 129,4400 - BUS_PIO 130,4417 - BUS_EDD 131,4433 - BUS_IDENTIFY 132,4449 - BUS_PACKET 133,4469 - PORT_UNKNOWN 136,4512 - PORT_ENABLED 137,4532 - PORT_DISABLED 138,4552 - ATA_SHIFT_UDMA 143,4655 - ATA_SHIFT_MWDMA 144,4677 - ATA_SHIFT_PIO 145,4700 -enum pio_task_states pio_task_states148,4726 - PIO_ST_UNKNOWN,149,4749 - PIO_ST_IDLE,150,4766 - PIO_ST_POLL,151,4780 - PIO_ST_TMOUT,152,4794 - PIO_ST,153,4809 - PIO_ST_LAST,154,4818 - PIO_ST_LAST_POLL,155,4832 - PIO_ST_ERR,156,4851 -typedef int (*ata_qc_cb_t)ata_qc_cb_t166,4999 -struct ata_ioports ata_ioports168,5069 -struct ata_probe_ent ata_probe_ent186,5514 -struct ata_host_set ata_host_set205,5979 -struct ata_queued_cmd ata_queued_cmd216,6206 -struct ata_host_stats ata_host_stats253,6814 -struct ata_device ata_device259,6926 -struct ata_port ata_port276,7457 -struct ata_port_operations ata_port_operations317,8603 -struct ata_port_info ata_port_info356,9884 -struct pci_bits pci_bits365,10085 -static inline unsigned int ata_tag_valid(428,13319 -static inline unsigned int ata_dev_present(433,13422 -static inline u8 ata_chk_err(439,13568 -static inline u8 ata_chk_status(447,13752 -static inline u8 ata_altstatus(452,13845 -static inline void ata_pause(459,14033 -static inline u8 ata_busy_wait(465,14122 -static inline u8 ata_wait_idle(479,14357 -static inline void ata_qc_set_polling(493,14672 -static inline struct ata_queued_cmd *ata_qc_from_tag 498,14767 -static inline void ata_tf_init(506,14949 -static inline u8 ata_irq_on(517,15199 -static inline u8 ata_irq_ack(536,15548 -static inline u32 scr_read(567,16499 -static inline void scr_write(572,16606 -static inline unsigned int sata_dev_present(577,16723 -static inline void ata_bmdma_stop(582,16852 -static inline void ata_bmdma_ack_irq(600,17388 -static inline u8 ata_bmdma_status(611,17697 -static inline int ata_try_flush_cache(622,17999 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kdev_t.h,877 -#define _LINUX_KDEV_T_H2,24 -#define MINORBITS 4,66 -#define MINORMASK 5,87 -#define MAJOR(MAJOR7,130 -#define MINOR(MINOR8,187 -#define MKDEV(MKDEV9,243 -#define print_dev_t(print_dev_t11,294 -#define format_dev_t(format_dev_t14,388 -static inline int old_valid_dev(21,555 -static inline u16 old_encode_dev(26,649 -static inline dev_t old_decode_dev(31,738 -static inline int new_valid_dev(36,831 -static inline u32 new_encode_dev(41,890 -static inline dev_t new_decode_dev(48,1064 -static inline int huge_valid_dev(55,1240 -static inline u64 huge_encode_dev(60,1300 -static inline dev_t huge_decode_dev(65,1379 -static inline int sysv_valid_dev(70,1458 -static inline u32 sysv_encode_dev(75,1561 -static inline unsigned sysv_major(80,1652 -static inline unsigned sysv_minor(85,1730 -#define MAJOR(MAJOR97,1966 -#define MINOR(MINOR98,1996 -#define MKDEV(MKDEV99,2030 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_eni.h,133 -#define LINUX_ATM_ENI_H8,199 -struct eni_multipliers eni_multipliers13,252 -#define ENI_MEMDUMP 18,340 -#define ENI_SETMULT 20,478 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tcp_diag.h,847 -#define _TCP_DIAG_H_ 2,21 -#define TCPDIAG_GETSOCK 5,75 -struct tcpdiag_sockidtcpdiag_sockid8,125 -#define TCPDIAG_NOCOOKIE 16,284 -struct tcpdiagreqtcpdiagreq21,344 - TCPDIAG_REQ_NONE,36,645 - TCPDIAG_REQ_BYTECODE,37,664 -#define TCPDIAG_REQ_MAX 40,691 -struct tcpdiag_bc_optcpdiag_bc_op48,1002 - TCPDIAG_BC_NOP,57,1097 - TCPDIAG_BC_JMP,58,1114 - TCPDIAG_BC_S_GE,59,1131 - TCPDIAG_BC_S_LE,60,1149 - TCPDIAG_BC_D_GE,61,1167 - TCPDIAG_BC_D_LE,62,1185 - TCPDIAG_BC_AUTO,63,1203 - TCPDIAG_BC_S_COND,64,1221 - TCPDIAG_BC_D_COND,65,1241 -struct tcpdiag_hostcondtcpdiag_hostcond68,1265 -struct tcpdiagmsgtcpdiagmsg78,1478 - TCPDIAG_NONE,98,1755 - TCPDIAG_MEMINFO,99,1770 - TCPDIAG_INFO,100,1788 - TCPDIAG_VEGASINFO,101,1803 -#define TCPDIAG_MAX 104,1827 -struct tcpdiag_meminfotcpdiag_meminfo109,1886 -struct tcpvegas_info tcpvegas_info119,2024 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/radeonfb.h,178 -#define __LINUX_RADEONFB_H__2,29 -#define ATY_RADEON_LCD_ON 7,106 -#define ATY_RADEON_CRT_ON 8,143 -#define FBIO_RADEON_GET_MIRROR 11,182 -#define FBIO_RADEON_SET_MIRROR 12,234 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/serialP.h,1212 -#define _LINUX_SERIALP_H11,228 -struct serial_state serial_state30,660 -struct async_struct async_struct53,1111 -#define CONFIGURED_SERIAL_PORT(CONFIGURED_SERIAL_PORT97,2278 -#define SERIAL_MAGIC 99,2355 -#define SSTATE_MAGIC 100,2383 -#define RS_EVENT_WRITE_WAKEUP 106,2528 -struct rs_multiport_struct rs_multiport_struct111,2635 -#define ALPHA_KLUDGE_MCR 132,3219 -#define ALPHA_KLUDGE_MCR 139,3585 -#define ALPHA_KLUDGE_MCR 141,3632 -#define SPCI_FL_BASE_MASK 147,3706 -#define SPCI_FL_BASE0 148,3739 -#define SPCI_FL_BASE1 149,3768 -#define SPCI_FL_BASE2 150,3797 -#define SPCI_FL_BASE3 151,3826 -#define SPCI_FL_BASE4 152,3855 -#define SPCI_FL_GET_BASE(SPCI_FL_GET_BASE153,3884 -#define SPCI_FL_IRQ_MASK 155,3937 -#define SPCI_FL_IRQBASE0 156,3982 -#define SPCI_FL_IRQBASE1 157,4027 -#define SPCI_FL_IRQBASE2 158,4072 -#define SPCI_FL_IRQBASE3 159,4117 -#define SPCI_FL_IRQBASE4 160,4162 -#define SPCI_FL_GET_IRQBASE(SPCI_FL_GET_IRQBASE161,4207 -#define SPCI_FL_BASE_TABLE 165,4376 -#define SPCI_FL_IRQ_TABLE 168,4466 -#define SPCI_FL_IRQRESOURCE 171,4553 -#define SPCI_FL_REGION_SZ_CAP 174,4653 -#define SPCI_FL_NO_SHIRQ 177,4736 -#define SPCI_FL_ISPNP 180,4796 -#define SPCI_FL_PNPDEFAULT 182,4827 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/stringify.h,116 -#define __LINUX_STRINGIFY_H2,28 -#define __stringify_1(__stringify_19,232 -#define __stringify(__stringify10,260 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tiocl.h,728 -#define _LINUX_TIOCL_H2,23 -#define TIOCL_SETSEL 4,47 -#define TIOCL_SELCHAR 5,92 -#define TIOCL_SELWORD 6,141 -#define TIOCL_SELLINE 7,191 -#define TIOCL_SELPOINTER 8,241 -#define TIOCL_SELCLEAR 9,292 -#define TIOCL_SELMOUSEREPORT 10,354 -#define TIOCL_SELBUTTONMASK 11,423 -struct tiocl_selection tiocl_selection13,507 -#define TIOCL_PASTESEL 21,715 -#define TIOCL_UNBLANKSCREEN 22,771 -#define TIOCL_SELLOADLUT 24,823 -#define TIOCL_GETSHIFTSTATE 29,1036 -#define TIOCL_GETMOUSEREPORTING 30,1090 -#define TIOCL_SETVESABLANK 31,1169 -#define TIOCL_SETKMSGREDIRECT 32,1228 -#define TIOCL_GETFGCONSOLE 33,1300 -#define TIOCL_SCROLLCONSOLE 34,1354 -#define TIOCL_BLANKSCREEN 35,1406 -#define TIOCL_BLANKEDSCREEN 36,1484 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/raid1.h,449 -#define _RAID1_H2,17 -typedef struct mirror_info mirror_info_t;mirror_info_t6,63 -struct mirror_info mirror_info8,106 -struct pool_info pool_info21,528 -typedef struct r1bio_s r1bio_t;r1bio_t27,586 -struct r1_private_data_s r1_private_data_s29,619 -typedef struct r1_private_data_s conf_t;conf_t54,1068 -#define mddev_to_conf(mddev_to_conf60,1234 -struct r1bio_s r1bio_s69,1465 -#define R1BIO_Uptodate 95,2026 -#define R1BIO_IsSync 96,2051 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/raid10.h,462 -#define _RAID10_H2,18 -typedef struct mirror_info mirror_info_t;mirror_info_t6,65 -struct mirror_info mirror_info8,108 -typedef struct r10bio_s r10bio_t;r10bio_t13,177 -struct r10_private_data_s r10_private_data_s15,212 -typedef struct r10_private_data_s conf_t;conf_t52,1104 -#define mddev_to_conf(mddev_to_conf58,1271 -struct r10bio_s r10bio_s67,1504 -#define R10BIO_Uptodate 100,2287 -#define R10BIO_IsSync 101,2313 -#define R10BIO_IsRecover 102,2337 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/xor.h,102 -#define _XOR_H2,15 -#define MAX_XOR_BLOCKS 6,59 -struct xor_block_template xor_block_template10,161 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/raid0.h,220 -#define _RAID0_H2,17 -struct strip_zonestrip_zone6,63 -struct raid0_private_dataraid0_private_data15,331 -typedef struct raid0_private_data raid0_conf_t;raid0_conf_t26,652 -#define mddev_to_conf(mddev_to_conf28,701 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/md_p.h,1367 -#define _MD_P_H16,582 -#define MD_RESERVED_BYTES 44,1414 -#define MD_RESERVED_SECTORS 45,1453 -#define MD_RESERVED_BLOCKS 46,1508 -#define MD_NEW_SIZE_SECTORS(MD_NEW_SIZE_SECTORS48,1570 -#define MD_NEW_SIZE_BLOCKS(MD_NEW_SIZE_BLOCKS49,1659 -#define MD_SB_BYTES 51,1746 -#define MD_SB_WORDS 52,1773 -#define MD_SB_BLOCKS 53,1813 -#define MD_SB_SECTORS 54,1863 -#define MD_SB_GENERIC_OFFSET 59,1960 -#define MD_SB_PERSONALITY_OFFSET 60,1992 -#define MD_SB_DISKS_OFFSET 61,2028 -#define MD_SB_DESCRIPTOR_OFFSET 62,2060 -#define MD_SB_GENERIC_CONSTANT_WORDS 64,2098 -#define MD_SB_GENERIC_STATE_WORDS 65,2138 -#define MD_SB_GENERIC_WORDS 66,2175 -#define MD_SB_PERSONALITY_WORDS 67,2263 -#define MD_SB_DESCRIPTOR_WORDS 68,2299 -#define MD_SB_DISKS 69,2334 -#define MD_SB_DISKS_WORDS 70,2359 -#define MD_SB_RESERVED_WORDS 71,2423 -#define MD_SB_EQUAL_WORDS 72,2553 -#define MD_DISK_FAULTY 77,2691 -#define MD_DISK_ACTIVE 78,2752 -#define MD_DISK_SYNC 79,2814 -#define MD_DISK_REMOVED 80,2878 -typedef struct mdp_device_descriptor_s mdp_device_descriptor_s82,2946 -} mdp_disk_t;mdp_disk_t89,3310 -#define MD_SB_MAGIC 91,3325 -#define MD_SB_CLEAN 96,3390 -#define MD_SB_ERRORS 97,3413 -typedef struct mdp_superblock_s mdp_superblock_s99,3438 -} mdp_super_t;mdp_super_t169,6169 -static inline __u64 md_event(171,6185 -struct mdp_superblock_1 mdp_superblock_1183,6448 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/linear.h,315 -#define _LINEAR_H2,18 -struct dev_info dev_info6,65 -typedef struct dev_info dev_info_t;dev_info_t12,140 -struct linear_hashlinear_hash14,177 -struct linear_private_datalinear_private_data19,228 -typedef struct linear_private_data linear_conf_t;linear_conf_t28,359 -#define mddev_to_conf(mddev_to_conf30,410 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/md_u.h,1154 -#define _MD_U_H16,590 -#define RAID_VERSION 21,634 -#define GET_ARRAY_INFO 22,693 -#define GET_DISK_INFO 23,757 -#define PRINT_RAID_DEBUG 24,819 -#define RAID_AUTORUN 25,865 -#define CLEAR_ARRAY 28,929 -#define ADD_NEW_DISK 29,971 -#define HOT_REMOVE_DISK 30,1032 -#define SET_ARRAY_INFO 31,1078 -#define SET_DISK_INFO 32,1142 -#define WRITE_RAID_INFO 33,1186 -#define UNPROTECT_ARRAY 34,1232 -#define PROTECT_ARRAY 35,1278 -#define HOT_ADD_DISK 36,1322 -#define SET_DISK_FAULTY 37,1365 -#define HOT_GENERATE_ERROR 38,1411 -#define RUN_ARRAY 41,1472 -#define START_ARRAY 42,1526 -#define STOP_ARRAY 43,1568 -#define STOP_ARRAY_RO 44,1609 -#define RESTART_ARRAY_RW 45,1653 -typedef struct mdu_version_s mdu_version_s47,1700 -} mdu_version_t;mdu_version_t51,1772 -typedef struct mdu_array_info_s mdu_array_info_s53,1790 -} mdu_array_info_t;mdu_array_info_t84,2564 -typedef struct mdu_disk_info_s mdu_disk_info_s86,2585 -} mdu_disk_info_t;mdu_disk_info_t96,2741 -typedef struct mdu_start_info_s mdu_start_info_s98,2761 -} mdu_start_info_t;mdu_start_info_t107,2905 -typedef struct mdu_param_smdu_param_s109,2926 -} mdu_param_t;mdu_param_t114,3062 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/multipath.h,295 -#define _MULTIPATH_H2,21 -struct multipath_info multipath_info6,71 -struct multipath_private_data multipath_private_data10,118 -typedef struct multipath_private_data multipath_conf_t;multipath_conf_t20,296 -#define mddev_to_conf(mddev_to_conf26,477 -struct multipath_bh multipath_bh34,744 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/raid5.h,987 -#define _RAID5_H2,17 -struct stripe_head stripe_head128,6282 - struct r5dev r5dev137,6672 -#define R5_UPTODATE 147,6947 -#define R5_LOCKED 148,7002 -#define R5_OVERWRITE 149,7059 -#define R5_Insync 151,7164 -#define R5_Wantread 152,7221 -#define R5_Wantwrite 153,7273 -#define R5_Syncio 154,7296 -#define RECONSTRUCT_WRITE 159,7388 -#define READ_MODIFY_WRITE 160,7416 -#define CHECK_PARITY 162,7496 -#define STRIPE_ERROR 167,7544 -#define STRIPE_HANDLE 168,7568 -#define STRIPE_SYNCING 169,7593 -#define STRIPE_INSYNC 170,7619 -#define STRIPE_PREREAD_ACTIVE 171,7644 -#define STRIPE_DELAYED 172,7676 -struct disk_info disk_info198,8889 -struct raid5_private_data raid5_private_data202,8931 -typedef struct raid5_private_data raid5_conf_t;raid5_conf_t229,9741 -#define mddev_to_conf(mddev_to_conf231,9790 -#define ALGORITHM_LEFT_ASYMMETRIC 236,9889 -#define ALGORITHM_RIGHT_ASYMMETRIC 237,9925 -#define ALGORITHM_LEFT_SYMMETRIC 238,9962 -#define ALGORITHM_RIGHT_SYMMETRIC 239,9997 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/md.h,159 -#define _MD_H19,677 -#define MD_MAJOR_VERSION 61,1716 -#define MD_MINOR_VERSION 62,1758 -#define MD_PATCHLEVEL_VERSION 63,1801 -#define MD_BUG(MD_BUG81,2568 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raid/md_k.h,2126 -#define _MD_K_H16,593 -#define MD_RESERVED 18,610 -#define LINEAR 19,640 -#define RAID0 20,670 -#define RAID1 21,700 -#define RAID5 22,730 -#define TRANSLUCENT 23,760 -#define HSM 24,790 -#define MULTIPATH 25,820 -#define RAID6 26,850 -#define RAID10 27,871 -#define MAX_PERSONALITY 28,893 -#define LEVEL_MULTIPATH 30,925 -#define LEVEL_LINEAR 31,955 -#define MaxSector 33,983 -#define MD_THREAD_NAME_MAX 34,1016 -static inline int pers_to_level 36,1047 -static inline int level_to_pers 53,1406 -typedef struct mddev_s mddev_t;mddev_t70,1761 -typedef struct mdk_rdev_s mdk_rdev_t;mdk_rdev_t71,1793 -#define MAX_MD_DEVS 73,1832 -#define MAX_CHUNK_SIZE 79,1923 -static inline int disk_faulty(85,1988 -static inline int disk_active(90,2081 -static inline int disk_sync(95,2174 -static inline int disk_spare(100,2263 -static inline int disk_removed(105,2374 -static inline void mark_disk_faulty(110,2469 -static inline void mark_disk_active(115,2562 -static inline void mark_disk_sync(120,2655 -static inline void mark_disk_spare(125,2744 -static inline void mark_disk_removed(130,2815 -static inline void mark_disk_inactive(135,2933 -static inline void mark_disk_nonsync(140,3029 -struct mdk_rdev_smdk_rdev_s148,3155 -typedef struct mdk_personality_s mdk_personality_t;mdk_personality_t186,4310 -struct mddev_smddev_s188,4363 -#define MD_RECOVERY_RUNNING 231,5646 -#define MD_RECOVERY_SYNC 232,5676 -#define MD_RECOVERY_ERR 233,5703 -#define MD_RECOVERY_INTR 234,5730 -#define MD_RECOVERY_DONE 235,5757 -#define MD_RECOVERY_NEEDED 236,5784 -static inline void rdev_dec_pending(263,6519 -static inline void md_sync_acct(270,6726 -struct mdk_personality_smdk_personality_s275,6886 -static inline char * mdname 296,7627 -#define ITERATE_RDEV_GENERIC(ITERATE_RDEV_GENERIC307,7912 -#define ITERATE_RDEV(ITERATE_RDEV316,8175 -#define ITERATE_RDEV_PENDING(ITERATE_RDEV_PENDING322,8314 -typedef struct mdk_thread_s mdk_thread_s325,8411 -} mdk_thread_t;mdk_thread_t333,8625 -#define THREAD_WAKEUP 335,8642 -#define __wait_event_lock_irq(__wait_event_lock_irq337,8668 -#define wait_event_lock_irq(wait_event_lock_irq356,9173 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/capi.h,1112 -#define __LINUX_CAPI_H__13,334 -typedef struct capi_register_params capi_register_params25,490 -} capi_register_params;capi_register_params29,725 -#define CAPI_REGISTER 31,750 -#define CAPI_MANUFACTURER_LEN 37,849 -#define CAPI_GET_MANUFACTURER 39,884 -typedef struct capi_version capi_version45,1016 -} capi_version;capi_version50,1138 -#define CAPI_GET_VERSION 52,1155 -#define CAPI_SERIAL_LEN 58,1244 -#define CAPI_GET_SERIAL 59,1271 -typedef struct capi_profile capi_profile65,1391 -} capi_profile;capi_profile74,1789 -#define CAPI_GET_PROFILE 76,1806 -typedef struct capi_manufacturer_cmd capi_manufacturer_cmd78,1868 -} capi_manufacturer_cmd;capi_manufacturer_cmd81,1947 -#define CAPI_MANUFACTURER_CMD 87,2006 -#define CAPI_GET_ERRCODE 95,2230 -#define CAPI_INSTALLED 100,2303 -typedef union capi_ioctl_struct capi_ioctl_struct108,2467 -} capi_ioctl_struct;capi_ioctl_struct117,2710 -#define CAPIFLAG_HIGHJACKING 123,2764 -#define CAPI_GET_FLAGS 125,2801 -#define CAPI_SET_FLAGS 126,2850 -#define CAPI_CLR_FLAGS 127,2899 -#define CAPI_NCCI_OPENCOUNT 129,2949 -#define CAPI_NCCI_GETUNIT 131,3003 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn_divertif.h,323 -#define DIVERT_IF_MAGIC 17,568 -#define DIVERT_CMD_REG 18,603 -#define DIVERT_CMD_REL 19,656 -#define DIVERT_NO_ERR 20,708 -#define DIVERT_CMD_ERR 21,766 -#define DIVERT_VER_ERR 22,814 -#define DIVERT_REG_ERR 23,872 -#define DIVERT_REL_ERR 24,934 -#define DIVERT_REG_NAME 25,992 - } isdn_divert_if;isdn_divert_if37,1631 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hysdn_if.h,408 -#define ERR_NONE 17,480 -#define ERR_ALREADY_BOOT 18,535 -#define EPOF_BAD_MAGIC 19,595 -#define ERR_BOARD_DPRAM 20,656 -#define EPOF_INTERNAL 21,712 -#define EPOF_BAD_IMG_SIZE 22,776 -#define ERR_BOOTIMG_FAIL 23,841 -#define ERR_BOOTSEQ_FAIL 24,912 -#define ERR_POF_TIMEOUT 25,985 -#define ERR_NOT_BOOTED 26,1057 -#define ERR_CONF_LONG 27,1129 -#define ERR_INV_CHAN 28,1189 -#define ERR_ASYNC_TIME 29,1250 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compat.h,827 -#define _LINUX_COMPAT_H2,24 -#define compat_jiffies_to_clock_t(compat_jiffies_to_clock_t18,336 -struct compat_itimerspec compat_itimerspec21,423 -struct compat_utimbuf compat_utimbuf26,526 -struct compat_itimerval compat_itimerval31,603 -struct compat_tms compat_tms36,702 -#define _COMPAT_NSIG_WORDS 43,840 -} compat_sigset_t;compat_sigset_t47,964 -struct compat_iovec compat_iovec53,1237 -struct compat_rlimit compat_rlimit58,1312 -struct compat_rusage compat_rusage63,1391 -struct compat_dirent compat_dirent84,1932 -typedef union compat_sigval compat_sigval91,2029 -} compat_sigval_t;compat_sigval_t94,2110 -typedef struct compat_sigevent compat_sigevent96,2130 -} compat_sigevent_t;compat_sigevent_t109,2417 -#define BITS_PER_COMPAT_LONG 135,3593 -#define BITS_TO_COMPAT_LONGS(BITS_TO_COMPAT_LONGS137,3652 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rbtree.h,252 -#define _LINUX_RBTREE_H95,2834 -struct rb_noderb_node100,2912 -#define RB_RED 104,2972 -#define RB_BLACK 105,2990 -struct rb_rootrb_root110,3066 -#define RB_ROOT 115,3113 -#define rb_entry(rb_entry116,3156 -static inline void rb_link_node(132,3827 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ncp_fs.h,2669 -#define _LINUX_NCP_FS_H9,99 -struct ncp_ioctl_request ncp_ioctl_request24,327 -struct ncp_fs_info ncp_fs_info30,422 -struct ncp_fs_info_v2 ncp_fs_info_v242,720 -struct ncp_sign_initncp_sign_init56,941 -struct ncp_lock_ioctlncp_lock_ioctl62,1009 -#define NCP_LOCK_LOG 64,1033 -#define NCP_LOCK_SH 65,1056 -#define NCP_LOCK_EX 66,1078 -#define NCP_LOCK_CLEAR 67,1100 -#define NCP_LOCK_DEFAULT_TIMEOUT 72,1196 -#define NCP_LOCK_MAX_TIMEOUT 73,1232 -struct ncp_setroot_ioctlncp_setroot_ioctl77,1285 -struct ncp_objectname_ioctlncp_objectname_ioctl84,1370 -#define NCP_AUTH_NONE 86,1400 -#define NCP_AUTH_BIND 87,1427 -#define NCP_AUTH_NDS 88,1454 -struct ncp_privatedata_ioctlncp_privatedata_ioctl94,1604 -#define NCP_IOCSNAME_LEN 101,1723 -struct ncp_nls_ioctlncp_nls_ioctl102,1751 -#define NCP_IOC_NCPREQUEST 108,1869 -#define NCP_IOC_GETMOUNTUID 109,1936 -#define NCP_IOC_GETMOUNTUID2 110,1998 -#define NCP_IOC_CONN_LOGGED_IN 112,2057 -#define NCP_GET_FS_INFO_VERSION 114,2110 -#define NCP_IOC_GET_FS_INFO 115,2149 -#define NCP_GET_FS_INFO_VERSION_V2 116,2223 -#define NCP_IOC_GET_FS_INFO_V2 117,2262 -#define NCP_IOC_SIGN_INIT 119,2332 -#define NCP_IOC_SIGN_WANTED 120,2394 -#define NCP_IOC_SET_SIGN_WANTED 121,2441 -#define NCP_IOC_LOCKUNLOCK 123,2493 -#define NCP_IOC_GETROOT 125,2558 -#define NCP_IOC_SETROOT 126,2623 -#define NCP_IOC_GETOBJECTNAME 128,2689 -#define NCP_IOC_SETOBJECTNAME 129,2763 -#define NCP_IOC_GETPRIVATEDATA 130,2836 -#define NCP_IOC_SETPRIVATEDATA 131,2913 -#define NCP_IOC_GETCHARSETS 133,2990 -#define NCP_IOC_SETCHARSETS 134,3056 -#define NCP_IOC_GETDENTRYTTL 136,3122 -#define NCP_IOC_SETDENTRYTTL 137,3173 -#define NCP_PACKET_SIZE 142,3291 -#define NCP_MAXPATHLEN 144,3321 -#define NCP_MAXNAMELEN 145,3348 -#define PRINTK(PRINTK154,3570 -#define PPRINTK(PPRINTK158,3683 -#define PPRINTK(PPRINTK160,3747 -#define DEBUG_NCP 164,3806 -#define DPRINTK(DPRINTK167,3851 -#define DPRINTK(DPRINTK169,3915 -#define DDPRINTK(DDPRINTK172,3973 -#define DDPRINTK(DDPRINTK174,4038 -#define NCP_MAX_RPC_TIMEOUT 177,4080 -struct ncp_entry_info ncp_entry_info180,4117 -#define NCP_SUPER_MAGIC 190,4294 -static inline struct ncp_server *NCP_SBP(193,4328 -#define NCP_SERVER(NCP_SERVER198,4421 -static inline struct ncp_inode_info *NCP_FINFO(199,4470 - ncp_kmalloc(212,4736 -static inline void ncp_kfree_s(219,4868 -#define ncp_kmalloc(ncp_kmalloc227,4999 -#define ncp_kfree_s(ncp_kfree_s228,5037 -static inline int ncp_request(251,5917 -#define ncp_namespace(ncp_namespace270,6597 -static inline int ncp_preserve_entry_case(272,6676 -#define ncp_preserve_case(ncp_preserve_case287,7015 -static inline int ncp_case_sensitive(289,7077 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_mount.h,626 -#define _LINUX_NFS_MOUNT_H2,27 -#define NFS_MOUNT_VERSION 23,625 -#define NFS_MAX_CONTEXT_LEN 24,653 -struct nfs_mount_data nfs_mount_data26,686 -#define NFS_MOUNT_SOFT 50,1271 -#define NFS_MOUNT_INTR 51,1310 -#define NFS_MOUNT_SECURE 52,1349 -#define NFS_MOUNT_POSIX 53,1389 -#define NFS_MOUNT_NOCTO 54,1429 -#define NFS_MOUNT_NOAC 55,1469 -#define NFS_MOUNT_TCP 56,1508 -#define NFS_MOUNT_VER3 57,1546 -#define NFS_MOUNT_KERBEROS 58,1585 -#define NFS_MOUNT_NONLM 59,1627 -#define NFS_MOUNT_BROKEN_SUID 60,1667 -#define NFS_MOUNT_STRICTLOCK 61,1712 -#define NFS_MOUNT_SECFLAVOUR 62,1773 -#define NFS_MOUNT_FLAGMASK 63,1817 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jffs2_fs_sb.h,141 -#define _JFFS2_FS_SB4,86 -#define JFFS2_SB_FLAG_RO 15,321 -#define JFFS2_SB_FLAG_MOUNTING 16,348 -struct jffs2_sb_info jffs2_sb_info24,552 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/etherdevice.h,174 -#define _LINUX_ETHERDEVICE_H25,879 -static inline void eth_copy_and_sum 44,1595 -static inline int is_valid_ether_addr(61,2170 -static inline void random_ether_addr(75,2570 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/icmpv6.h,2186 -#define _LINUX_ICMPV6_H2,24 -struct icmp6hdr icmp6hdr6,77 - struct icmpv6_echo icmpv6_echo18,237 - struct icmpv6_nd_advt icmpv6_nd_advt23,315 - struct icmpv6_nd_ra icmpv6_nd_ra40,828 -#define icmp6_identifier 59,1184 -#define icmp6_sequence 60,1240 -#define icmp6_pointer 61,1293 -#define icmp6_mtu 62,1342 -#define icmp6_unused 63,1387 -#define icmp6_maxdelay 64,1435 -#define icmp6_router 65,1485 -#define icmp6_solicited 66,1537 -#define icmp6_override 67,1595 -#define icmp6_ndiscreserved 68,1651 -#define icmp6_hop_limit 69,1711 -#define icmp6_addrconf_managed 70,1767 -#define icmp6_addrconf_other 71,1827 -#define icmp6_rt_lifetime 72,1883 -#define ICMPV6_DEST_UNREACH 76,1947 -#define ICMPV6_PKT_TOOBIG 77,1978 -#define ICMPV6_TIME_EXCEED 78,2007 -#define ICMPV6_PARAMPROB 79,2037 -#define ICMPV6_INFOMSG_MASK 81,2066 -#define ICMPV6_ECHO_REQUEST 83,2101 -#define ICMPV6_ECHO_REPLY 84,2134 -#define ICMPV6_MGM_QUERY 85,2165 -#define ICMPV6_MGM_REPORT 86,2195 -#define ICMPV6_MGM_REDUCTION 87,2232 -#define ICMPV6_NI_QUERY 89,2270 -#define ICMPV6_NI_REPLY 90,2300 -#define ICMPV6_MLD2_REPORT 92,2331 -#define ICMPV6_DHAAD_REQUEST 94,2364 -#define ICMPV6_DHAAD_REPLY 95,2398 -#define ICMPV6_MOBILE_PREFIX_SOL 96,2430 -#define ICMPV6_MOBILE_PREFIX_ADV 97,2467 -#define ICMPV6_NOROUTE 102,2549 -#define ICMPV6_ADM_PROHIBITED 103,2576 -#define ICMPV6_NOT_NEIGHBOUR 104,2609 -#define ICMPV6_ADDR_UNREACH 105,2641 -#define ICMPV6_PORT_UNREACH 106,2672 -#define ICMPV6_EXC_HOPLIMIT 111,2738 -#define ICMPV6_EXC_FRAGTIME 112,2769 -#define ICMPV6_HDR_FIELD 117,2839 -#define ICMPV6_UNK_NEXTHDR 118,2867 -#define ICMPV6_UNK_OPTION 119,2897 -#define ICMPV6_FILTER 125,2969 -#define ICMPV6_FILTER_BLOCK 131,3021 -#define ICMPV6_FILTER_PASS 132,3052 -#define ICMPV6_FILTER_BLOCKOTHERS 133,3082 -#define ICMPV6_FILTER_PASSONLY 134,3118 -struct icmp6_filter icmp6_filter136,3153 -#define MLD2_MODE_IS_INCLUDE 143,3228 -#define MLD2_MODE_IS_EXCLUDE 144,3259 -#define MLD2_CHANGE_TO_INCLUDE 145,3290 -#define MLD2_CHANGE_TO_EXCLUDE 146,3323 -#define MLD2_ALLOW_NEW_SOURCES 147,3356 -#define MLD2_BLOCK_OLD_SOURCES 148,3389 -#define MLD2_ALL_MCR_INIT 150,3423 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_tunnel.h,390 -#define _IF_TUNNEL_H_2,22 -#define SIOCGETTUNNEL 4,45 -#define SIOCADDTUNNEL 5,90 -#define SIOCDELTUNNEL 6,135 -#define SIOCCHGTUNNEL 7,180 -#define GRE_CSUM 9,226 -#define GRE_ROUTING 10,268 -#define GRE_KEY 11,313 -#define GRE_SEQ 12,355 -#define GRE_STRICT 13,397 -#define GRE_REC 14,441 -#define GRE_FLAGS 15,483 -#define GRE_VERSION 16,526 -struct ip_tunnel_parmip_tunnel_parm18,572 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tty_ldisc.h,196 -#define _LINUX_TTY_LDISC_H2,27 -struct tty_ldisc tty_ldisc110,4367 -#define TTY_LDISC_MAGIC 147,5482 -#define LDISC_FLAG_DEFINED 149,5514 -#define MODULE_ALIAS_LDISC(MODULE_ALIAS_LDISC151,5553 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/amifd.h,224 -#define _AMIFD_H2,17 -#define FD_MAX_UNITS 8,105 -#define FLOPPY_MAX_SECTORS 9,159 -struct fd_data_type fd_data_type13,248 -struct fd_drive_type fd_drive_type29,579 -struct amiga_floppy_struct amiga_floppy_struct44,1315 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipv6_route.h,479 -#define _LINUX_IPV6_ROUTE_H14,389 -#define RTF_DEFAULT 16,418 -#define RTF_ALLONLINK 17,480 -#define RTF_ADDRCONF 18,548 -#define RTF_PREFIX_RT 19,607 -#define RTF_NONEXTHOP 21,672 -#define RTF_EXPIRES 22,733 -#define RTF_CACHE 24,765 -#define RTF_FLOW 25,814 -#define RTF_POLICY 26,871 -#define RTF_LOCAL 28,923 -struct in6_rtmsg in6_rtmsg30,953 -#define RTMSG_NEWDEVICE 43,1238 -#define RTMSG_DELDEVICE 44,1268 -#define RTMSG_NEWROUTE 45,1298 -#define RTMSG_DELROUTE 46,1327 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/minix_fs.h,656 -#define _LINUX_MINIX_FS_H2,26 -#define MINIX_ROOT_INO 14,258 -#define MINIX_LINK_MAX 17,355 -#define MINIX2_LINK_MAX 18,382 -#define MINIX_I_MAP_SLOTS 20,413 -#define MINIX_Z_MAP_SLOTS 21,441 -#define MINIX_SUPER_MAGIC 22,470 -#define MINIX_SUPER_MAGIC2 23,528 -#define MINIX2_SUPER_MAGIC 24,593 -#define MINIX2_SUPER_MAGIC2 25,646 -#define MINIX_VALID_FS 26,715 -#define MINIX_ERROR_FS 27,763 -#define MINIX_INODES_PER_BLOCK 29,817 -#define MINIX2_INODES_PER_BLOCK 30,893 -struct minix_inode minix_inode36,1074 -struct minix2_inode minix2_inode52,1449 -struct minix_super_block minix_super_block67,1658 -struct minix_dir_entry minix_dir_entry80,1883 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdla_fr.h,6801 -#define _SDLA_FR_H24,1128 -# define PACKED 37,1389 -#define FR_MB_VECTOR 41,1481 -#define FR502_RX_VECTOR 42,1537 -#define FR502_MBOX_OFFS 43,1608 -#define FR508_MBOX_OFFS 44,1664 -#define FR502_FLAG_OFFS 45,1716 -#define FR508_FLAG_OFFS 46,1778 -#define FR502_RXMB_OFFS 47,1840 -#define FR508_TXBC_OFFS 48,1911 -#define FR508_RXBC_OFFS 49,1975 -#define FR502_MAX_DATA 52,2066 -#define FR508_MAX_DATA 53,2127 -#define MIN_LGTH_FR_DATA_CFG 54,2188 -#define FR_MAX_NO_DATA_BYTES_IN_FRAME 56,2297 -#define HIGHEST_VALID_DLCI 58,2380 -typedef struct fr_cmdfr_cmd65,2605 -} fr_cmd_t;fr_cmd_t75,3098 -#define FR_WRITE 78,3141 -#define FR_READ 79,3164 -#define FR_ISSUE_IS_FRAME 80,3187 -#define FR_SET_CONFIG 81,3218 -#define FR_READ_CONFIG 82,3246 -#define FR_COMM_DISABLE 83,3275 -#define FR_COMM_ENABLE 84,3305 -#define FR_READ_STATUS 85,3334 -#define FR_READ_STATISTICS 86,3363 -#define FR_FLUSH_STATISTICS 87,3395 -#define FR_LIST_ACTIVE_DLCI 88,3428 -#define FR_FLUSH_DATA_BUFFERS 89,3461 -#define FR_READ_ADD_DLC_STATS 90,3496 -#define FR_ADD_DLCI 91,3531 -#define FR_DELETE_DLCI 92,3557 -#define FR_ACTIVATE_DLCI 93,3586 -#define FR_DEACTIVATE_DLCI 94,3616 -#define FR_READ_MODEM_STATUS 95,3648 -#define FR_SET_MODEM_STATUS 96,3682 -#define FR_READ_ERROR_STATS 97,3715 -#define FR_FLUSH_ERROR_STATS 98,3748 -#define FR_READ_DLCI_IB_MAPPING 99,3782 -#define FR_READ_CODE_VERSION 100,3819 -#define FR_SET_INTR_MODE 101,3853 -#define FR_READ_INTR_MODE 102,3883 -#define FR_SET_TRACE_CONFIG 103,3914 -#define FR_FT1_STATUS_CTRL 104,3947 -#define FR_SET_FT1_MODE 105,3980 -#define FPIPE_ENABLE_TRACING 108,4057 -#define FPIPE_DISABLE_TRACING 109,4101 -#define FPIPE_GET_TRACE_INFO 110,4137 -#define FPIPE_FT1_READ_STATUS 111,4182 -#define FPIPE_DRIVER_STAT_IFSEND 112,4227 -#define FPIPE_DRIVER_STAT_INTR 113,4272 -#define FPIPE_DRIVER_STAT_GEN 114,4317 -#define FPIPE_FLUSH_DRIVER_STATS 115,4362 -#define FPIPE_ROUTER_UP_TIME 116,4407 -#define FRRES_OK 119,4482 -#define FRRES_DISABLED 120,4541 -#define FRRES_INOPERATIVE 121,4603 -#define FRRES_DLCI_INACTIVE 122,4660 -#define FRRES_DLCI_INVALID 123,4716 -#define FRRES_TOO_LONG 124,4777 -#define FRRES_TOO_MANY 125,4806 -#define FRRES_CIR_OVERFLOW 126,4835 -#define FRRES_BUFFER_OVERFLOW 127,4904 -#define FRRES_MODEM_FAILURE 128,4939 -#define FRRES_CHANNEL_DOWN 129,5001 -#define FRRES_CHANNEL_UP 130,5066 -#define FRRES_DLCI_CHANGE 131,5127 -#define FRRES_DLCI_MISMATCH 132,5196 -#define FRRES_INVALID_CMD 133,5229 -#define FRATTR_136,5310 -typedef struct fr_mboxfr_mbox144,5590 -} fr_mbox_t;fr_mbox_t149,5789 -typedef struct fr502_flagsfr502_flags155,5994 -} fr502_flags_t;fr502_flags_t165,6459 -typedef struct fr508_flagsfr508_flags171,6668 -} fr508_flags_t;fr508_flags_t181,7139 -#define FR_EVENT_STATUS 184,7185 -#define FR_EVENT_DLC_STATUS 185,7243 -#define FR_EVENT_BAD_DLCI 186,7300 -#define FR_EVENT_LINK_DOWN 187,7361 -#define FR_MDM_DCD 190,7445 -#define FR_MDM_CTS 191,7492 -#define FR_INTR_RXRDY 194,7579 -#define FR_INTR_TXRDY 195,7622 -#define FR_INTR_MODEM 196,7665 -#define FR_INTR_READY 197,7730 -#define FR_INTR_DLC 198,7792 -#define FR_INTR_TIMER 199,7842 -#define FR_INTR_TX_MULT_DLCIs 200,7894 -typedef struct fr_buf_infofr_buf_info207,8174 -} fr_buf_info_t;fr_buf_info_t215,8579 -typedef struct fr_rx_buf_ctlfr_rx_buf_ctl223,8885 -} fr_rx_buf_ctl_t;fr_rx_buf_ctl_t232,9284 -typedef struct fr_tx_buf_ctlfr_tx_buf_ctl234,9304 -} fr_tx_buf_ctl_t;fr_tx_buf_ctl_t243,9754 -typedef struct fr_conffr_conf248,9936 -} fr_conf_t;fr_conf_t267,10757 -#define FRCFG_STATION_CPE 270,10800 -#define FRCFG_STATION_NODE 271,10828 -#define FRCFG_IGNORE_TX_CIR 274,10885 -#define FRCFG_IGNORE_RX_CIR 275,10920 -#define FRCFG_DONT_RETRANSMIT 276,10955 -#define FRCFG_IGNORE_CBS 277,10992 -#define FRCFG_THROUGHPUT 278,11024 -#define FRCFG_DIRECT_RX 279,11092 -#define FRCFG_AUTO_CONFIG 280,11159 -#define FRCFG_BAUD_1200 283,11257 -#define FRCFG_BAUD_2400 284,11285 -#define FRCFG_BAUD_4800 285,11313 -#define FRCFG_BAUD_9600 286,11341 -#define FRCFG_BAUD_19200 287,11369 -#define FRCFG_BAUD_38400 288,11397 -#define FRCFG_BAUD_56000 289,11425 -#define FRCFG_BAUD_64000 290,11453 -#define FRCFG_BAUD_128000 291,11481 -#define FRCFG_MODE_EXT_CLK 294,11538 -#define FRCFG_MODE_INT_CLK 295,11572 -#define FRCFG_MODE_V35 296,11606 -#define FRCFG_MODE_RS232 297,11653 -} fr_trc_el_t;fr_trc_el_t310,12237 -} fpipemon_trc_hdr_t;fpipemon_trc_hdr_t318,12538 -} fpipemon_trc_t;fpipemon_trc_t323,12691 -#define TRC_OUTGOING_FRM 327,12855 -#define TRC_ABORT_ERROR 328,12885 -#define TRC_CRC_ERROR 329,12922 -#define TRC_OVERRUN_ERROR 330,12959 -#define MORE_TRC_DATA 331,12996 -#define MAX_FRMS_TRACED 333,13025 -#define NO_TRC_ELEMENTS_OFF 335,13056 -#define BASE_TRC_ELEMENTS_OFF 336,13092 -#define TRC_ACTIVE 337,13130 -#define FLUSH_TRC_BUFFERS 338,13156 -#define FLUSH_TRC_STATISTICS 339,13189 -#define TRC_SIGNALLING_FRMS 340,13224 -#define TRC_INFO_FRMS 341,13258 -#define ACTIVATE_TRC 342,13287 -#define RESET_TRC 343,13359 -typedef struct fr_dlc_conffr_dlc_conf349,13603 -} fr_dlc_conf_t;fr_dlc_conf_t358,13963 -typedef struct fr502_intr_ctlfr502_intr_ctl365,14207 -} fr502_intr_ctl_t;fr502_intr_ctl_t369,14367 -typedef struct fr508_intr_ctlfr508_intr_ctl376,14614 -} fr508_intr_ctl_t;fr508_intr_ctl_t383,14944 -typedef struct fr_dlc_Statusfr_dlc_Status389,15128 -} fr_dlc_status_t;fr_dlc_status_t397,15360 -#define FR_LINK_INOPER 400,15403 -#define FR_LINK_OPER 401,15468 -#define FR_DLCI_DELETED 402,15494 -#define FR_DLCI_ACTIVE 403,15561 -#define FR_DLCI_WAITING 404,15589 -#define FR_DLCI_NEW 405,15618 -#define FR_DLCI_REPORT 406,15643 -typedef struct fr_link_statfr_link_stat413,15866 -} fr_link_stat_t;fr_link_stat_t443,17248 -typedef struct fr_dlci_statfr_dlci_stat450,17453 -} fr_dlci_stat_t;fr_dlci_stat_t464,18049 -typedef struct fr_comm_statfr_comm_stat470,18253 -} fr_comm_stat_t;fr_comm_stat_t481,18707 -#define FR_ISF_LVE 486,18855 -#define FR_ISF_FSE 487,18915 -typedef struct arphdr_frarphdr_fr493,19128 - } arphdr_fr_t;arphdr_fr_t504,19710 -typedef struct arphdr_1490arphdr_1490509,19879 - } arphdr_1490_t;arphdr_1490_t516,20154 -} cblock_t;cblock_t533,20960 -} fr_encap_hdr_t;fr_encap_hdr_t541,21164 -} fr_udp_pkt_t;fr_udp_pkt_t550,21446 -#define UDPMGMT_UDP_PROTOCOL 554,21507 -#define UDPMGMT_FPIPE_SIGNATURE 556,21542 -#define UDPMGMT_DRVRSTATS_SIGNATURE 557,21593 -#define UDPMGMT_REQUEST 560,21681 -#define UDPMGMT_REPLY 561,21710 -#define UDP_OFFSET 562,21737 -} drvstats_if_send_t;drvstats_if_send_t581,22470 - } drvstats_rx_intr_t;drvstats_rx_intr_t590,22798 -} drvstats_gen_t;drvstats_gen_t611,23830 -} api_rx_hdr_t;api_rx_hdr_t617,24005 -} api_rx_element_t;api_rx_element_t622,24135 -} api_tx_hdr_t;api_tx_hdr_t627,24269 -} api_tx_element_t;api_tx_element_t632,24399 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/crc-ccitt.h,73 -#define _LINUX_CRC_CCITT_H2,27 -static inline u16 crc_ccitt_byte(10,183 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/amigaffs.h,2378 -#define AMIGAFFS_H2,19 -#define GET_END_PTR(GET_END_PTR19,511 -#define AFFS_GET_HASHENTRY(AFFS_GET_HASHENTRY20,582 -#define AFFS_BLOCK(AFFS_BLOCK21,683 -affs_set_blocksize(24,792 -affs_bread(29,913 -affs_getblk(37,1160 -affs_getzeroblk(45,1410 -affs_getemptyblk(60,1819 -affs_brelse(73,2153 -affs_adjust_checksum(81,2297 -affs_adjust_bitmapchecksum(87,2478 -affs_lock_link(94,2666 -affs_unlock_link(99,2761 -affs_lock_dir(104,2856 -affs_unlock_dir(109,2950 -affs_lock_ext(114,3044 -affs_unlock_ext(119,3137 -#define BO_EXBITS 125,3235 -#define BO_EXBITS 127,3288 -#define FS_OFS 132,3377 -#define FS_FFS 133,3404 -#define FS_INTLOFS 134,3431 -#define FS_INTLFFS 135,3461 -#define FS_DCOFS 136,3491 -#define FS_DCFFS 137,3519 -#define MUFS_FS 138,3547 -#define MUFS_OFS 139,3590 -#define MUFS_FFS 140,3634 -#define MUFS_INTLOFS 141,3678 -#define MUFS_INTLFFS 142,3726 -#define MUFS_DCOFS 143,3774 -#define MUFS_DCFFS 144,3820 -#define T_SHORT 146,3867 -#define T_LIST 147,3886 -#define T_DATA 148,3905 -#define ST_LINKFILE 150,3924 -#define ST_FILE 151,3947 -#define ST_ROOT 152,3967 -#define ST_USERDIR 153,3986 -#define ST_SOFTLINK 154,4007 -#define ST_LINKDIR 155,4029 -#define AFFS_ROOT_BMAPS 157,4051 -#define AFFS_HEAD(AFFS_HEAD159,4080 -#define AFFS_TAIL(AFFS_TAIL160,4138 -#define AFFS_ROOT_HEAD(AFFS_ROOT_HEAD161,4244 -#define AFFS_ROOT_TAIL(AFFS_ROOT_TAIL162,4311 -#define AFFS_DATA_HEAD(AFFS_DATA_HEAD163,4432 -#define AFFS_DATA(AFFS_DATA164,4499 -struct affs_date affs_date166,4571 -struct affs_short_date affs_short_date172,4637 -struct affs_root_head affs_root_head178,4709 -struct affs_root_tail affs_root_tail188,4859 -struct affs_head affs_head204,5160 -struct affs_tail affs_tail214,5304 -struct slink_frontslink_front233,5599 -struct affs_data_headaffs_data_head242,5733 -#define FIBF_OTR_READ 255,5917 -#define FIBF_OTR_WRITE 256,5947 -#define FIBF_OTR_EXECUTE 257,5978 -#define FIBF_OTR_DELETE 258,6010 -#define FIBF_GRP_READ 259,6042 -#define FIBF_GRP_WRITE 260,6072 -#define FIBF_GRP_EXECUTE 261,6103 -#define FIBF_GRP_DELETE 262,6135 -#define FIBF_HIDDEN 264,6168 -#define FIBF_SCRIPT 265,6196 -#define FIBF_PURE 266,6224 -#define FIBF_ARCHIVED 267,6276 -#define FIBF_NOREAD 268,6348 -#define FIBF_NOWRITE 269,6399 -#define FIBF_NOEXECUTE 270,6451 -#define FIBF_NODELETE 271,6526 -#define FIBF_OWNER 273,6580 -#define FIBF_MASK 274,6639 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coda_linux.h,300 -#define _LINUX_CODA_FS13,383 -#define CODA_ALLOC(CODA_ALLOC65,2152 -#define CODA_FREE(CODA_FREE76,2493 -static inline struct coda_inode_info *ITOC(81,2639 -static __inline__ struct CodaFid *coda_i2f(86,2770 -static __inline__ char *coda_i2s(91,2870 -static __inline__ void coda_flag_inode(97,3009 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sysv_fs.h,916 -#define _LINUX_SYSV_FS_H2,25 -# define __packed2__ 5,73 -typedef u16 __fs16;__fs1612,188 -typedef u32 __fs16;__fs1613,208 -typedef __fs16 sysv_ino_t;sysv_ino_t17,267 -typedef __fs32 sysv_zone_t;sysv_zone_t22,459 -#define SYSV_BADBL_INO 25,512 -#define SYSV_ROOT_INO 26,568 -#define XENIX_NICINOD 30,661 -#define XENIX_NICFREE 31,723 -struct xenix_super_block xenix_super_block32,795 -#define SYSV_NICINOD 66,2361 -#define SYSV_NICFREE 67,2422 -struct sysv4_super_block sysv4_super_block70,2533 -struct sysv2_super_block sysv2_super_block102,3897 -#define V7_NICINOD 130,5246 -#define V7_NICFREE 131,5313 -struct v7_super_block v7_super_block132,5390 -#define COH_NICINOD 157,6684 -#define COH_NICFREE 158,6744 -struct coh_super_block coh_super_block159,6813 -struct sysv_inode sysv_inode184,8013 -#define SYSV_NAMELEN 198,8334 -struct sysv_dir_entry sysv_dir_entry199,8406 -#define SYSV_DIRSIZE 204,8526 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/adfs_fs.h,377 -#define _ADFS_FS_H2,19 -struct adfs_discrecord adfs_discrecord9,109 -#define ADFS_DISCRECORD 37,685 -#define ADFS_DR_OFFSET 38,718 -#define ADFS_DR_SIZE 39,750 -#define ADFS_DR_SIZE_BITS 40,776 -#define ADFS_SUPER_MAGIC 41,822 -static inline int adfs_checkbblk(51,1125 -static inline struct adfs_sb_info *ADFS_SB(64,1390 -static inline struct adfs_inode_info *ADFS_I(69,1485 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/harrier_defs.h,4570 -#define __ASMPPC_HARRIER_DEFS_H22,611 -#define HARRIER_DEFAULT_XCSR_BASE 24,644 -#define HARRIER_VEND_DEV_ID 26,690 -#define HARRIER_VENI_OFF 28,731 -#define HARRIER_REVI_OFF 30,763 -#define HARRIER_UCTL_OFF 31,794 -#define HARRIER_XTAL64_MASK 32,825 -#define HARRIER_MISC_CSR_OFF 34,860 -#define HARRIER_RSTOUT 35,895 -#define HARRIER_SYSCON 36,931 -#define HARRIER_EREADY 37,967 -#define HARRIER_ERDYS 38,1003 -#define HARRIER_FEEN_OFF 41,1074 -#define HARRIER_FEST_OFF 42,1118 -#define HARRIER_FEMA_OFF 43,1162 -#define HARRIER_FECL_OFF 44,1204 -#define HARRIER_FE_DMA 46,1248 -#define HARRIER_FE_MIDB 47,1278 -#define HARRIER_FE_MIM0 48,1309 -#define HARRIER_FE_MIM1 49,1340 -#define HARRIER_FE_MIP 50,1371 -#define HARRIER_FE_UA0 51,1401 -#define HARRIER_FE_UA1 52,1431 -#define HARRIER_FE_ABT 53,1461 -#define HARRIER_SERIAL_0_OFF 55,1492 -#define HARRIER_MBAR_OFF 57,1528 -#define HARRIER_MBAR_MSK 58,1559 -#define HARRIER_MPIC_CSR_OFF 59,1596 -#define HARRIER_MPIC_OPI_ENABLE 60,1631 -#define HARRIER_MPIC_IFEVP_OFF 61,1669 -#define HARRIER_MPIC_IFEVP_VECT_MSK 62,1709 -#define HARRIER_MPIC_IFEDE_OFF 63,1750 -#define HARRIER_SDBA_OFF 68,1848 -#define HARRIER_SDBB_OFF 69,1880 -#define HARRIER_SDBC_OFF 70,1912 -#define HARRIER_SDBD_OFF 71,1944 -#define HARRIER_SDBE_OFF 72,1976 -#define HARRIER_SDBF_OFF 73,2008 -#define HARRIER_SDBG_OFF 74,2040 -#define HARRIER_SDBH_OFF 75,2072 -#define HARRIER_SDB_ENABLE 77,2105 -#define HARRIER_SDB_SIZE_MASK 78,2144 -#define HARRIER_SDB_SIZE_SHIFT 79,2179 -#define HARRIER_SDB_BASE_MASK 80,2214 -#define HARRIER_SDB_BASE_SHIFT 81,2250 -#define HARRIER_OTAD0_OFF 86,2330 -#define HARRIER_OTOF0_OFF 87,2363 -#define HARRIER_OTAD1_OFF 88,2396 -#define HARRIER_OTOF1_OFF 89,2429 -#define HARRIER_OTAD2_OFF 90,2462 -#define HARRIER_OTOF2_OFF 91,2495 -#define HARRIER_OTAD3_OFF 92,2528 -#define HARRIER_OTOF3_OFF 93,2561 -#define HARRIER_OTADX_START_MSK 95,2595 -#define HARRIER_OTADX_END_MSK 96,2641 -#define HARRIER_OTOFX_OFF_MSK 98,2686 -#define HARRIER_OTOFX_ENA 99,2730 -#define HARRIER_OTOFX_WPE 100,2764 -#define HARRIER_OTOFX_SGE 101,2798 -#define HARRIER_OTOFX_RAE 102,2832 -#define HARRIER_OTOFX_MEM 103,2866 -#define HARRIER_OTOFX_IOM 104,2900 -#define HARRIER_XCSR_MP_BASE_OFF 110,3060 -#define HARRIER_PMEP_MP_BASE_OFF 111,3131 -#define HARRIER_MGOM0_OFF 112,3202 -#define HARRIER_MGOM1_OFF 113,3255 -#define HARRIER_MGOD_OFF 114,3308 -#define HARRIER_MGIM0_OFF 116,3365 -#define HARRIER_MGIM1_OFF 117,3417 -#define HARRIER_MGID_OFF 118,3469 -#define HARRIER_MGIDM_OFF 121,3554 -#define HARRIER_PMEP_MGST_OFF 124,3640 -#define HARRIER_PMEP_MGMS_OFF 125,3710 -#define HARRIER_MG_OMI0 126,3778 -#define HARRIER_MG_OMI1 127,3811 -#define HARRIER_PMEP_MGODM_OFF 129,3845 -#define HARRIER_XCSR_TO_PCFS_OFF 134,3970 -#define HARRIER_MPAT_OFF 139,4069 -#define HARRIER_ITSZ0_OFF 144,4154 -#define HARRIER_ITAT0_OFF 145,4186 -#define HARRIER_ITSZ1_OFF 147,4219 -#define HARRIER_ITAT1_OFF 148,4251 -#define HARRIER_ITSZ2_OFF 150,4284 -#define HARRIER_ITAT2_OFF 151,4316 -#define HARRIER_ITSZ3_OFF 153,4349 -#define HARRIER_ITAT3_OFF 154,4381 -#define HARRIER_ITSZ_MSK 157,4455 -#define HARRIER_ITSZ_4KB 158,4486 -#define HARRIER_ITSZ_8KB 159,4517 -#define HARRIER_ITSZ_16KB 160,4548 -#define HARRIER_ITSZ_32KB 161,4580 -#define HARRIER_ITSZ_64KB 162,4612 -#define HARRIER_ITSZ_128KB 163,4644 -#define HARRIER_ITSZ_256KB 164,4677 -#define HARRIER_ITSZ_512KB 165,4710 -#define HARRIER_ITSZ_1MB 166,4743 -#define HARRIER_ITSZ_2MB 167,4774 -#define HARRIER_ITSZ_4MB 168,4805 -#define HARRIER_ITSZ_8MB 169,4836 -#define HARRIER_ITSZ_16MB 170,4867 -#define HARRIER_ITSZ_32MB 171,4899 -#define HARRIER_ITSZ_64MB 172,4931 -#define HARRIER_ITSZ_128MB 173,4963 -#define HARRIER_ITSZ_256MB 174,4996 -#define HARRIER_ITSZ_512MB 175,5029 -#define HARRIER_ITSZ_1GB 176,5062 -#define HARRIER_ITSZ_2GB 177,5093 -#define HARRIER_ITOF_SHIFT 180,5158 -#define HARRIER_ITOF_MSK 181,5191 -#define HARRIER_ITAT_PRE 184,5263 -#define HARRIER_ITAT_RAE 185,5296 -#define HARRIER_ITAT_WPE 186,5329 -#define HARRIER_ITAT_MEM 187,5362 -#define HARRIER_ITAT_ENA 188,5395 -#define HARRIER_ITAT_GBL 189,5428 -#define HARRIER_LBA_OFF 191,5463 -#define HARRIER_LBA_MSK 192,5494 -#define HARRIER_XCSR_SIZE 194,5529 -#define HARRIER_MP_XCSR(HARRIER_MP_XCSR197,5621 -#define HARRIER_MP_PMEP(HARRIER_MP_PMEP199,5690 -#define HARRIER_MPBAR_OFF 204,5817 -#define HARRIER_ITBAR0_OFF 205,5863 -#define HARRIER_ITBAR1_OFF 206,5910 -#define HARRIER_ITBAR2_OFF 207,5957 -#define HARRIER_ITBAR3_OFF 208,6004 -#define HARRIER_XCSR_CONFIG(HARRIER_XCSR_CONFIG210,6052 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cd1400.h,4269 -#define _CD1400_H26,1025 -#define CD1400_PORTS 32,1189 -#define CD1400_TXFIFOSIZE 37,1269 -#define CD1400_RXFIFOSIZE 38,1298 -#define FIFO_RXTHRESHOLD 44,1435 -#define FIFO_RTSTHRESHOLD 45,1462 -#define GFRCR 54,1723 -#define CAR 55,1743 -#define GCR 56,1761 -#define SVRR 57,1779 -#define RICR 58,1798 -#define TICR 59,1817 -#define MICR 60,1836 -#define RIR 61,1855 -#define TIR 62,1873 -#define MIR 63,1891 -#define PPR 64,1909 -#define RIVR 66,1928 -#define TIVR 67,1947 -#define MIVR 68,1966 -#define TDR 69,1985 -#define RDSR 70,2003 -#define MISR 71,2022 -#define EOSRR 72,2041 -#define LIVR 74,2062 -#define CCR 75,2081 -#define SRER 76,2099 -#define COR1 77,2118 -#define COR2 78,2137 -#define COR3 79,2156 -#define COR4 80,2175 -#define COR5 81,2194 -#define CCSR 82,2213 -#define RDCR 83,2232 -#define SCHR1 84,2251 -#define SCHR2 85,2271 -#define SCHR3 86,2291 -#define SCHR4 87,2311 -#define SCRL 88,2331 -#define SCRH 89,2350 -#define LNC 90,2369 -#define MCOR1 91,2387 -#define MCOR2 92,2407 -#define RTPR 93,2427 -#define MSVR1 94,2446 -#define MSVR2 95,2466 -#define PSVR 96,2486 -#define RBPR 97,2505 -#define RCOR 98,2524 -#define TBPR 99,2543 -#define TCOR 100,2562 -#define CD1400_CLK0 107,2717 -#define CD1400_CLK1 108,2739 -#define CD1400_CLK2 109,2762 -#define CD1400_CLK3 110,2786 -#define CD1400_CLK4 111,2810 -#define CD1400_NUMCLKS 113,2836 -#define PPR_SCALAR 122,3129 -#define COR1_CHL5 129,3294 -#define COR1_CHL6 130,3317 -#define COR1_CHL7 131,3340 -#define COR1_CHL8 132,3363 -#define COR1_STOP1 137,3448 -#define COR1_STOP15 138,3472 -#define COR1_STOP2 139,3497 -#define COR1_PARNONE 144,3584 -#define COR1_PARFORCE 145,3610 -#define COR1_PARENB 146,3637 -#define COR1_PARIGNORE 147,3662 -#define COR1_PARODD 149,3691 -#define COR1_PAREVEN 150,3716 -#define COR2_IXM 152,3743 -#define COR2_TXIBE 153,3765 -#define COR2_ETC 154,3789 -#define COR2_LLM 155,3811 -#define COR2_RLM 156,3833 -#define COR2_RTSAO 157,3855 -#define COR2_CTSAE 158,3879 -#define COR3_SCDRNG 160,3904 -#define COR3_SCD34 161,3929 -#define COR3_FCT 162,3953 -#define COR3_SCD12 163,3975 -#define COR4_BRKINT 168,4038 -#define COR4_IGNBRK 169,4063 -#define MSVR1_DTR 178,4325 -#define MSVR1_DSR 179,4348 -#define MSVR1_RI 180,4371 -#define MSVR1_CTS 181,4393 -#define MSVR1_DCD 182,4416 -#define MSVR2_RTS 184,4440 -#define MSVR2_DSR 185,4463 -#define MSVR2_RI 186,4486 -#define MSVR2_CTS 187,4508 -#define MSVR2_DCD 188,4531 -#define MCOR1_DCD 190,4555 -#define MCOR1_CTS 191,4578 -#define MCOR1_RI 192,4601 -#define MCOR1_DSR 193,4623 -#define MCOR2_DCD 195,4647 -#define MCOR2_CTS 196,4670 -#define MCOR2_RI 197,4693 -#define MCOR2_DSR 198,4715 -#define SRER_NNDT 205,4897 -#define SRER_TXEMPTY 206,4920 -#define SRER_TXDATA 207,4946 -#define SRER_RXDATA 208,4971 -#define SRER_MODEM 209,4996 -#define CCR_RESET 216,5166 -#define CCR_CORCHANGE 217,5189 -#define CCR_SENDCH 218,5216 -#define CCR_CHANCTRL 219,5240 -#define CCR_TXENABLE 221,5267 -#define CCR_TXDISABLE 222,5310 -#define CCR_RXENABLE 223,5354 -#define CCR_RXDISABLE 224,5397 -#define CCR_SENDSCHR1 226,5442 -#define CCR_SENDSCHR2 227,5484 -#define CCR_SENDSCHR3 228,5526 -#define CCR_SENDSCHR4 229,5568 -#define CCR_RESETCHAN 231,5611 -#define CCR_RESETFULL 232,5652 -#define CCR_TXFLUSHFIFO 233,5693 -#define CCR_MAXWAIT 235,5737 -#define ACK_TYPMASK 242,5914 -#define ACK_TYPTX 243,5939 -#define ACK_TYPMDM 244,5962 -#define ACK_TYPRXGOOD 245,5986 -#define ACK_TYPRXBAD 246,6013 -#define SVRR_RX 248,6040 -#define SVRR_TX 249,6062 -#define SVRR_MDM 250,6084 -#define ST_OVERRUN 252,6107 -#define ST_FRAMING 253,6131 -#define ST_PARITY 254,6155 -#define ST_BREAK 255,6178 -#define ST_SCHAR1 256,6200 -#define ST_SCHAR2 257,6223 -#define ST_SCHAR3 258,6246 -#define ST_SCHAR4 259,6269 -#define ST_RANGE 260,6292 -#define ST_SCHARMASK 261,6314 -#define ST_TIMEOUT 262,6340 -#define MISR_DCD 264,6365 -#define MISR_CTS 265,6387 -#define MISR_RI 266,6409 -#define MISR_DSR 267,6431 -#define CCSR_RXENABLED 274,6583 -#define CCSR_RXFLOWON 275,6611 -#define CCSR_RXFLOWOFF 276,6638 -#define CCSR_TXENABLED 277,6666 -#define CCSR_TXFLOWON 278,6694 -#define CCSR_TXFLOWOFF 279,6721 -#define ETC_CMD 286,6871 -#define ETC_STARTBREAK 287,6893 -#define ETC_DELAY 288,6921 -#define ETC_STOPBREAK 289,6944 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/elevator.h,1280 -#define _LINUX_ELEVATOR_H2,26 -typedef int (elevator_merge_fn)elevator_merge_fn4,53 -typedef void (elevator_merge_req_fn)elevator_merge_req_fn7,145 -typedef void (elevator_merged_fn)elevator_merged_fn9,240 -typedef struct request *(elevator_next_req_fn)elevator_next_req_fn11,314 -typedef void (elevator_add_req_fn)elevator_add_req_fn13,383 -typedef int (elevator_queue_empty_fn)elevator_queue_empty_fn14,462 -typedef void (elevator_remove_req_fn)elevator_remove_req_fn15,521 -typedef void (elevator_requeue_req_fn)elevator_requeue_req_fn16,598 -typedef struct request *(elevator_request_list_fn)elevator_request_list_fn17,676 -typedef void (elevator_completed_req_fn)elevator_completed_req_fn18,766 -typedef int (elevator_may_queue_fn)elevator_may_queue_fn19,846 -typedef int (elevator_set_req_fn)elevator_set_req_fn21,909 -typedef void (elevator_put_req_fn)elevator_put_req_fn22,987 -typedef int (elevator_init_fn)elevator_init_fn24,1062 -typedef void (elevator_exit_fn)elevator_exit_fn25,1128 -struct elevator_selevator_s27,1196 -#define ELEVATOR_NO_MERGE 111,3996 -#define ELEVATOR_FRONT_MERGE 112,4024 -#define ELEVATOR_BACK_MERGE 113,4055 -#define ELEVATOR_INSERT_FRONT 118,4116 -#define ELEVATOR_INSERT_BACK 119,4148 -#define ELEVATOR_INSERT_SORT 120,4179 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/file.h,220 -#define __LINUX_FILE_H6,92 -#define NR_OPEN_DEFAULT 17,351 -struct files_struct files_struct22,426 -static inline void fput_light(39,958 -static inline struct file * fcheck_files(63,1870 -#define fcheck(fcheck75,2113 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/stallion.h,555 -#define _STALLION_H28,1064 -#define STL_MAXBRDS 34,1215 -#define STL_MAXPANELS 35,1238 -#define STL_MAXBANKS 36,1263 -#define STL_PORTSPERPANEL 37,1287 -#define STL_MAXPORTS 38,1316 -#define STL_MAXDEVS 39,1341 -} stlrq_t;stlrq_t61,2129 -typedef struct stlport stlport72,2596 -} stlport_t;stlport_t103,3228 -typedef struct stlpanel stlpanel105,3242 -} stlpanel_t;stlpanel_t117,3518 -typedef struct stlbrd stlbrd119,3533 -} stlbrd_t;stlbrd_t143,4086 -#define STL_PORTMAGIC 149,4158 -#define STL_PANELMAGIC 150,4191 -#define STL_BOARDMAGIC 151,4225 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/watchdog.h,868 -#define _LINUX_WATCHDOG_H10,156 -#define WATCHDOG_IOCTL_BASE 15,234 -struct watchdog_info watchdog_info17,267 -#define WDIOC_GETSUPPORT 23,459 -#define WDIOC_GETSTATUS 24,535 -#define WDIOC_GETBOOTSTATUS 25,594 -#define WDIOC_GETTEMP 26,656 -#define WDIOC_SETOPTIONS 27,713 -#define WDIOC_KEEPALIVE 28,772 -#define WDIOC_SETTIMEOUT 29,831 -#define WDIOC_GETTIMEOUT 30,898 -#define WDIOF_UNKNOWN 32,965 -#define WDIOS_UNKNOWN 33,1016 -#define WDIOF_OVERHEAT 35,1070 -#define WDIOF_FANFAULT 36,1133 -#define WDIOF_EXTERN1 37,1181 -#define WDIOF_EXTERN2 38,1234 -#define WDIOF_POWERUNDER 39,1287 -#define WDIOF_CARDRESET 40,1347 -#define WDIOF_POWEROVER 41,1415 -#define WDIOF_SETTIMEOUT 42,1472 -#define WDIOF_MAGICCLOSE 43,1536 -#define WDIOF_KEEPALIVEPING 44,1600 -#define WDIOS_DISABLECARD 46,1664 -#define WDIOS_ENABLECARD 47,1731 -#define WDIOS_TEMPPANIC 48,1796 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/devpts_fs.h,174 -#define _LINUX_DEVPTS_FS_H14,499 -static inline int devpts_pty_new(27,817 -static inline struct tty_struct *devpts_get_tty(28,894 -static inline void devpts_pty_kill(29,971 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/videodev2.h,12088 -#define __LINUX_VIDEODEV2_H2,28 -#define v4l2_fourcc(v4l2_fourcc25,490 -enum v4l2_field v4l2_field31,617 - V4L2_FIELD_ANY 32,635 - V4L2_FIELD_NONE 36,803 - V4L2_FIELD_TOP 37,867 - V4L2_FIELD_BOTTOM 38,916 - V4L2_FIELD_INTERLACED 39,968 - V4L2_FIELD_SEQ_TB 40,1025 - V4L2_FIELD_SEQ_BT 42,1126 - V4L2_FIELD_ALTERNATE 43,1193 -#define V4L2_FIELD_HAS_TOP(V4L2_FIELD_HAS_TOP46,1286 -#define V4L2_FIELD_HAS_BOTTOM(V4L2_FIELD_HAS_BOTTOM51,1461 -#define V4L2_FIELD_HAS_BOTH(V4L2_FIELD_HAS_BOTH56,1642 -enum v4l2_buf_type v4l2_buf_type61,1786 - V4L2_BUF_TYPE_VIDEO_CAPTURE 62,1807 - V4L2_BUF_TYPE_VIDEO_OUTPUT 63,1842 - V4L2_BUF_TYPE_VIDEO_OVERLAY 64,1877 - V4L2_BUF_TYPE_VBI_CAPTURE 65,1912 - V4L2_BUF_TYPE_VBI_OUTPUT 66,1947 - V4L2_BUF_TYPE_PRIVATE 67,1982 - V4L2_BUF_TYPE_PRIVATE = 0x80,67,1982 -enum v4l2_ctrl_type v4l2_ctrl_type70,2024 - V4L2_CTRL_TYPE_INTEGER 71,2046 - V4L2_CTRL_TYPE_BOOLEAN 72,2080 - V4L2_CTRL_TYPE_MENU 73,2114 - V4L2_CTRL_TYPE_BUTTON 74,2145 -enum v4l2_tuner_type v4l2_tuner_type77,2182 - V4L2_TUNER_RADIO 78,2205 - V4L2_TUNER_ANALOG_TV 79,2233 -enum v4l2_memory v4l2_memory82,2269 - V4L2_MEMORY_MMAP 83,2288 - V4L2_MEMORY_USERPTR 84,2323 - V4L2_MEMORY_OVERLAY 85,2358 -enum v4l2_colorspace v4l2_colorspace89,2453 - V4L2_COLORSPACE_SMPTE170M 91,2515 - V4L2_COLORSPACE_SMPTE240M 94,2579 - V4L2_COLORSPACE_REC709 97,2647 - V4L2_COLORSPACE_BT878 100,2756 - V4L2_COLORSPACE_470_SYSTEM_M 103,2846 - V4L2_COLORSPACE_470_SYSTEM_BG 104,2882 - V4L2_COLORSPACE_JPEG 110,3070 - V4L2_COLORSPACE_SRGB 113,3168 -enum v4l2_priority v4l2_priority116,3208 - V4L2_PRIORITY_UNSET 117,3229 - V4L2_PRIORITY_BACKGROUND 118,3284 - V4L2_PRIORITY_INTERACTIVE 119,3316 - V4L2_PRIORITY_RECORD 120,3348 - V4L2_PRIORITY_DEFAULT 121,3380 - V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE,121,3380 -struct v4l2_rect v4l2_rect124,3440 -struct v4l2_fract v4l2_fract131,3525 -struct v4l2_capabilityv4l2_capability139,3639 -#define V4L2_CAP_VIDEO_CAPTURE 150,3966 -#define V4L2_CAP_VIDEO_OUTPUT 151,4041 -#define V4L2_CAP_VIDEO_OVERLAY 152,4114 -#define V4L2_CAP_VBI_CAPTURE 153,4184 -#define V4L2_CAP_VBI_OUTPUT 154,4255 -#define V4L2_CAP_RDS_CAPTURE 155,4324 -#define V4L2_CAP_TUNER 157,4389 -#define V4L2_CAP_AUDIO 158,4443 -#define V4L2_CAP_RADIO 159,4503 -#define V4L2_CAP_READWRITE 161,4564 -#define V4L2_CAP_ASYNCIO 162,4637 -#define V4L2_CAP_STREAMING 163,4697 -struct v4l2_pix_formatv4l2_pix_format169,4816 -#define V4L2_PIX_FMT_RGB332 182,5225 -#define V4L2_PIX_FMT_RGB555 183,5307 -#define V4L2_PIX_FMT_RGB565 184,5389 -#define V4L2_PIX_FMT_RGB555X 185,5471 -#define V4L2_PIX_FMT_RGB565X 186,5553 -#define V4L2_PIX_FMT_BGR24 187,5635 -#define V4L2_PIX_FMT_RGB24 188,5717 -#define V4L2_PIX_FMT_BGR32 189,5799 -#define V4L2_PIX_FMT_RGB32 190,5881 -#define V4L2_PIX_FMT_GREY 191,5963 -#define V4L2_PIX_FMT_YVU410 192,6045 -#define V4L2_PIX_FMT_YVU420 193,6127 -#define V4L2_PIX_FMT_YUYV 194,6209 -#define V4L2_PIX_FMT_UYVY 195,6291 -#define V4L2_PIX_FMT_YUV422P 196,6373 -#define V4L2_PIX_FMT_YUV411P 197,6455 -#define V4L2_PIX_FMT_Y41P 198,6537 -#define V4L2_PIX_FMT_NV12 201,6672 -#define V4L2_PIX_FMT_NV21 202,6754 -#define V4L2_PIX_FMT_YUV410 205,6908 -#define V4L2_PIX_FMT_YUV420 206,6990 -#define V4L2_PIX_FMT_YYUV 207,7072 -#define V4L2_PIX_FMT_HI240 208,7154 -#define V4L2_PIX_FMT_SBGGR8 211,7293 -#define V4L2_PIX_FMT_MJPEG 214,7401 -#define V4L2_PIX_FMT_JPEG 215,7480 -#define V4L2_PIX_FMT_DV 216,7559 -#define V4L2_PIX_FMT_MPEG 217,7638 -#define V4L2_PIX_FMT_WNVA 220,7751 -struct v4l2_fmtdescv4l2_fmtdesc225,7882 -#define V4L2_FMT_FLAG_COMPRESSED 235,8221 -struct v4l2_timecodev4l2_timecode241,8289 -#define V4L2_TC_TYPE_24FPS 253,8432 -#define V4L2_TC_TYPE_25FPS 254,8462 -#define V4L2_TC_TYPE_30FPS 255,8492 -#define V4L2_TC_TYPE_50FPS 256,8522 -#define V4L2_TC_TYPE_60FPS 257,8552 -#define V4L2_TC_FLAG_DROPFRAME 260,8597 -#define V4L2_TC_FLAG_COLORFRAME 261,8660 -#define V4L2_TC_USERBITS_field 262,8700 -#define V4L2_TC_USERBITS_USERDEFINED 263,8739 -#define V4L2_TC_USERBITS_8BITCHARS 264,8783 -struct v4l2_compressionv4l2_compression275,9088 -struct v4l2_jpegcompressionv4l2_jpegcompression329,10752 -#define V4L2_JPEG_MARKER_DHT 351,11554 -#define V4L2_JPEG_MARKER_DQT 352,11621 -#define V4L2_JPEG_MARKER_DRI 353,11693 -#define V4L2_JPEG_MARKER_COM 354,11762 -#define V4L2_JPEG_MARKER_APP 355,11823 -struct v4l2_requestbuffersv4l2_requestbuffers363,12011 -struct v4l2_bufferv4l2_buffer371,12174 -#define V4L2_BUF_FLAG_MAPPED 394,12594 -#define V4L2_BUF_FLAG_QUEUED 395,12661 -#define V4L2_BUF_FLAG_DONE 396,12735 -#define V4L2_BUF_FLAG_KEYFRAME 397,12791 -#define V4L2_BUF_FLAG_PFRAME 398,12865 -#define V4L2_BUF_FLAG_BFRAME 399,12926 -#define V4L2_BUF_FLAG_TIMECODE 400,12987 -#define V4L2_BUF_FLAG_INPUT 401,13055 -struct v4l2_framebufferv4l2_framebuffer406,13163 -#define V4L2_FBUF_CAP_EXTERNOVERLAY 416,13465 -#define V4L2_FBUF_CAP_CHROMAKEY 417,13508 -#define V4L2_FBUF_CAP_LIST_CLIPPING 418,13548 -#define V4L2_FBUF_CAP_BITMAP_CLIPPING 419,13595 -#define V4L2_FBUF_FLAG_PRIMARY 421,13676 -#define V4L2_FBUF_FLAG_OVERLAY 422,13715 -#define V4L2_FBUF_FLAG_CHROMAKEY 423,13754 -struct v4l2_clipv4l2_clip425,13795 -struct v4l2_windowv4l2_window431,13871 -struct v4l2_captureparmv4l2_captureparm445,14094 -#define V4L2_MODE_HIGHQUALITY 455,14491 -#define V4L2_CAP_TIMEPERFRAME 456,14561 -struct v4l2_outputparmv4l2_outputparm458,14638 -struct v4l2_cropcap v4l2_cropcap472,15023 -struct v4l2_crop v4l2_crop479,15207 -typedef __u64 v4l2_std_id;v4l2_std_id488,15347 -#define V4L2_STD_PAL_B 491,15398 -#define V4L2_STD_PAL_B1 492,15456 -#define V4L2_STD_PAL_G 493,15514 -#define V4L2_STD_PAL_H 494,15572 -#define V4L2_STD_PAL_I 495,15630 -#define V4L2_STD_PAL_D 496,15688 -#define V4L2_STD_PAL_D1 497,15746 -#define V4L2_STD_PAL_K 498,15804 -#define V4L2_STD_PAL_M 500,15863 -#define V4L2_STD_PAL_N 501,15921 -#define V4L2_STD_PAL_Nc 502,15979 -#define V4L2_STD_PAL_60 503,16037 -#define V4L2_STD_NTSC_M 505,16096 -#define V4L2_STD_NTSC_M_JP 506,16154 -#define V4L2_STD_SECAM_B 508,16213 -#define V4L2_STD_SECAM_D 509,16271 -#define V4L2_STD_SECAM_G 510,16329 -#define V4L2_STD_SECAM_H 511,16387 -#define V4L2_STD_SECAM_K 512,16445 -#define V4L2_STD_SECAM_K1 513,16503 -#define V4L2_STD_SECAM_L 514,16561 -#define V4L2_STD_ATSC_8_VSB 517,16636 -#define V4L2_STD_ATSC_16_VSB 518,16694 -#define V4L2_STD_PAL_BG 521,16784 -#define V4L2_STD_PAL_DK 524,16874 -#define V4L2_STD_PAL 527,16964 -#define V4L2_STD_NTSC 531,17075 -#define V4L2_STD_SECAM_DK 533,17152 -#define V4L2_STD_SECAM 536,17254 -#define V4L2_STD_525_60 542,17399 -#define V4L2_STD_625_50 545,17488 -#define V4L2_STD_ATSC 549,17600 -#define V4L2_STD_UNKNOWN 552,17701 -#define V4L2_STD_ALL 553,17735 -struct v4l2_standardv4l2_standard556,17810 -struct v4l2_inputv4l2_input570,18058 -#define V4L2_INPUT_TYPE_TUNER 582,18424 -#define V4L2_INPUT_TYPE_CAMERA 583,18457 -#define V4L2_IN_ST_NO_POWER 586,18523 -#define V4L2_IN_ST_NO_SIGNAL 587,18595 -#define V4L2_IN_ST_NO_COLOR 588,18637 -#define V4L2_IN_ST_NO_H_LOCK 591,18710 -#define V4L2_IN_ST_COLOR_KILL 592,18783 -#define V4L2_IN_ST_NO_SYNC 595,18887 -#define V4L2_IN_ST_NO_EQU 596,18960 -#define V4L2_IN_ST_NO_CARRIER 597,19027 -#define V4L2_IN_ST_MACROVISION 600,19144 -#define V4L2_IN_ST_NO_ACCESS 601,19214 -#define V4L2_IN_ST_VTR 602,19289 -struct v4l2_outputv4l2_output607,19393 -#define V4L2_OUTPUT_TYPE_MODULATOR 618,19744 -#define V4L2_OUTPUT_TYPE_ANALOG 619,19782 -#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 620,19818 -struct v4l2_controlv4l2_control625,19889 -struct v4l2_queryctrlv4l2_queryctrl632,20016 -struct v4l2_querymenuv4l2_querymenu646,20374 -#define V4L2_CTRL_FLAG_DISABLED 655,20501 -#define V4L2_CTRL_FLAG_GRABBED 656,20541 -#define V4L2_CID_BASE 659,20616 -#define V4L2_CID_PRIVATE_BASE 661,20700 -#define V4L2_CID_BRIGHTNESS 663,20743 -#define V4L2_CID_CONTRAST 664,20790 -#define V4L2_CID_SATURATION 665,20835 -#define V4L2_CID_HUE 666,20882 -#define V4L2_CID_AUDIO_VOLUME 667,20923 -#define V4L2_CID_AUDIO_BALANCE 668,20972 -#define V4L2_CID_AUDIO_BASS 669,21022 -#define V4L2_CID_AUDIO_TREBLE 670,21069 -#define V4L2_CID_AUDIO_MUTE 671,21118 -#define V4L2_CID_AUDIO_LOUDNESS 672,21165 -#define V4L2_CID_BLACK_LEVEL 673,21217 -#define V4L2_CID_AUTO_WHITE_BALANCE 674,21266 -#define V4L2_CID_DO_WHITE_BALANCE 675,21321 -#define V4L2_CID_RED_BALANCE 676,21374 -#define V4L2_CID_BLUE_BALANCE 677,21423 -#define V4L2_CID_GAMMA 678,21473 -#define V4L2_CID_WHITENESS 679,21517 -#define V4L2_CID_EXPOSURE 680,21579 -#define V4L2_CID_AUTOGAIN 681,21625 -#define V4L2_CID_GAIN 682,21671 -#define V4L2_CID_HFLIP 683,21714 -#define V4L2_CID_VFLIP 684,21758 -#define V4L2_CID_HCENTER 685,21802 -#define V4L2_CID_VCENTER 686,21847 -#define V4L2_CID_LASTP1 687,21892 -struct v4l2_tunerv4l2_tuner692,21979 -struct v4l2_modulatorv4l2_modulator707,22236 -#define V4L2_TUNER_CAP_LOW 719,22441 -#define V4L2_TUNER_CAP_NORM 720,22476 -#define V4L2_TUNER_CAP_STEREO 721,22512 -#define V4L2_TUNER_CAP_LANG2 722,22550 -#define V4L2_TUNER_CAP_SAP 723,22587 -#define V4L2_TUNER_CAP_LANG1 724,22622 -#define V4L2_TUNER_SUB_MONO 727,22700 -#define V4L2_TUNER_SUB_STEREO 728,22736 -#define V4L2_TUNER_SUB_LANG2 729,22774 -#define V4L2_TUNER_SUB_SAP 730,22811 -#define V4L2_TUNER_SUB_LANG1 731,22846 -#define V4L2_TUNER_MODE_MONO 734,22922 -#define V4L2_TUNER_MODE_STEREO 735,22959 -#define V4L2_TUNER_MODE_LANG2 736,22998 -#define V4L2_TUNER_MODE_SAP 737,23036 -#define V4L2_TUNER_MODE_LANG1 738,23072 -struct v4l2_frequencyv4l2_frequency740,23111 -struct v4l2_audiov4l2_audio751,23289 -#define V4L2_AUDCAP_STEREO 760,23434 -#define V4L2_AUDCAP_AVL 761,23470 -#define V4L2_AUDMODE_AVL 764,23539 -struct v4l2_audiooutv4l2_audioout766,23574 -struct v4l2_vbi_formatv4l2_vbi_format781,23775 -#define V4L2_VBI_UNSYNC 794,24050 -#define V4L2_VBI_INTERLACED 795,24083 -struct v4l2_formatv4l2_format804,24198 -struct v4l2_streamparmv4l2_streamparm819,24533 -#define VIDIOC_QUERYCAP 836,24790 -#define VIDIOC_RESERVED 837,24855 -#define VIDIOC_ENUM_FMT 838,24896 -#define VIDIOC_G_FMT 839,24965 -#define VIDIOC_S_FMT 840,25023 -#define VIDIOC_G_COMP 842,25087 -#define VIDIOC_S_COMP 843,25151 -#define VIDIOC_REQBUFS 845,25222 -#define VIDIOC_QUERYBUF 846,25290 -#define VIDIOC_G_FBUF 847,25351 -#define VIDIOC_S_FBUF 848,25415 -#define VIDIOC_OVERLAY 849,25479 -#define VIDIOC_QBUF 850,25524 -#define VIDIOC_DQBUF 851,25581 -#define VIDIOC_STREAMON 852,25639 -#define VIDIOC_STREAMOFF 853,25685 -#define VIDIOC_G_PARM 854,25731 -#define VIDIOC_S_PARM 855,25794 -#define VIDIOC_G_STD 856,25857 -#define VIDIOC_S_STD 857,25908 -#define VIDIOC_ENUMSTD 858,25959 -#define VIDIOC_ENUMINPUT 859,26021 -#define VIDIOC_G_CTRL 860,26081 -#define VIDIOC_S_CTRL 861,26141 -#define VIDIOC_G_TUNER 862,26201 -#define VIDIOC_S_TUNER 863,26260 -#define VIDIOC_G_AUDIO 864,26319 -#define VIDIOC_S_AUDIO 865,26378 -#define VIDIOC_QUERYCTRL 866,26437 -#define VIDIOC_QUERYMENU 867,26501 -#define VIDIOC_G_INPUT 868,26565 -#define VIDIOC_S_INPUT 869,26610 -#define VIDIOC_G_OUTPUT 870,26655 -#define VIDIOC_S_OUTPUT 871,26701 -#define VIDIOC_ENUMOUTPUT 872,26747 -#define VIDIOC_G_AUDOUT 873,26809 -#define VIDIOC_S_AUDOUT 874,26872 -#define VIDIOC_G_MODULATOR 875,26935 -#define VIDIOC_S_MODULATOR 876,27001 -#define VIDIOC_G_FREQUENCY 877,27067 -#define VIDIOC_S_FREQUENCY 878,27133 -#define VIDIOC_CROPCAP 879,27199 -#define VIDIOC_G_CROP 880,27260 -#define VIDIOC_S_CROP 881,27317 -#define VIDIOC_G_JPEGCOMP 882,27374 -#define VIDIOC_S_JPEGCOMP 883,27445 -#define VIDIOC_QUERYSTD 884,27516 -#define VIDIOC_TRY_FMT 885,27575 -#define VIDIOC_ENUMAUDIO 886,27640 -#define VIDIOC_ENUMAUDOUT 887,27700 -#define VIDIOC_G_PRIORITY 888,27764 -#define VIDIOC_S_PRIORITY 889,27832 -#define VIDIOC_OVERLAY_OLD 892,27948 -#define VIDIOC_S_PARM_OLD 893,28001 -#define VIDIOC_S_CTRL_OLD 894,28073 -#define VIDIOC_G_AUDIO_OLD 895,28142 -#define VIDIOC_G_AUDOUT_OLD 896,28209 -#define VIDIOC_CROPCAP_OLD 897,28279 -#define BASE_VIDIOC_PRIVATE 899,28349 -struct v4l2_prio_state v4l2_prio_state917,28794 -typedef int (*v4l2_kioctl)v4l2_kioctl934,29507 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i8k.h,646 -#define _LINUX_I8K_H18,646 -#define I8K_PROC 20,668 -#define I8K_PROC_FMT 21,698 -#define I8K_BIOS_VERSION 23,727 -#define I8K_MACHINE_ID 24,802 -#define I8K_POWER_STATUS 25,877 -#define I8K_FN_STATUS 26,927 -#define I8K_GET_TEMP 27,975 -#define I8K_GET_SPEED 28,1022 -#define I8K_GET_FAN 29,1070 -#define I8K_SET_FAN 30,1116 -#define I8K_FAN_LEFT 32,1163 -#define I8K_FAN_RIGHT 33,1187 -#define I8K_FAN_OFF 34,1212 -#define I8K_FAN_LOW 35,1235 -#define I8K_FAN_HIGH 36,1258 -#define I8K_FAN_MAX 37,1282 -#define I8K_VOL_UP 39,1317 -#define I8K_VOL_DOWN 40,1339 -#define I8K_VOL_MUTE 41,1363 -#define I8K_AC 43,1388 -#define I8K_BATTERY 44,1407 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kallsyms.h,304 -#define _LINUX_KALLSYMS_H6,188 -#define KSYM_NAME_LEN 10,242 -static inline unsigned long kallsyms_lookup_name(27,785 -static inline const char *kallsyms_lookup(32,868 -#define __print_symbol(__print_symbol41,1119 -static void __check_printsym_format(45,1236 -#define print_symbol(print_symbol51,1401 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_he.h,219 -#define LINUX_ATM_HE_H4,39 -#define HE_GET_REG 8,90 -#define HE_REGTYPE_PCI 10,154 -#define HE_REGTYPE_RCM 11,179 -#define HE_REGTYPE_TCM 12,204 -#define HE_REGTYPE_MBOX 13,229 -struct he_ioctl_reg he_ioctl_reg15,256 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hardirq.h,757 -#define LINUX_HARDIRQ_H2,24 -#define __IRQ_MASK(__IRQ_MASK8,129 -#define PREEMPT_MASK 10,169 -#define HARDIRQ_MASK 11,234 -#define SOFTIRQ_MASK 12,299 -#define PREEMPT_OFFSET 14,365 -#define SOFTIRQ_OFFSET 15,411 -#define HARDIRQ_OFFSET 16,457 -#define hardirq_count(hardirq_count18,504 -#define softirq_count(softirq_count19,561 -#define irq_count(irq_count20,618 -#define in_irq(in_irq26,809 -#define in_softirq(in_softirq27,845 -#define in_interrupt(in_interrupt28,885 -# define in_atomic(in_atomic31,946 -# define preemptible(preemptible32,1024 -# define IRQ_EXIT_OFFSET 33,1090 -# define in_atomic(in_atomic35,1140 -# define preemptible(preemptible36,1184 -# define IRQ_EXIT_OFFSET 37,1209 -# define synchronize_irq(synchronize_irq43,1328 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cpu.h,710 -#define _LINUX_CPU_H_20,632 -struct cpu cpu28,788 -static inline int register_cpu_notifier(46,1261 -static inline void unregister_cpu_notifier(50,1343 -#define lock_cpu_hotplug(lock_cpu_hotplug60,1585 -#define unlock_cpu_hotplug(unlock_cpu_hotplug61,1630 -#define lock_cpu_hotplug_interruptible(lock_cpu_hotplug_interruptible62,1675 -#define hotcpu_notifier(hotcpu_notifier63,1748 -#define cpu_is_offline(cpu_is_offline69,1950 -#define lock_cpu_hotplug(lock_cpu_hotplug71,2011 -#define unlock_cpu_hotplug(unlock_cpu_hotplug72,2055 -#define lock_cpu_hotplug_interruptible(lock_cpu_hotplug_interruptible73,2101 -#define hotcpu_notifier(hotcpu_notifier74,2144 -static inline int cpu_is_offline(77,2249 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/msdos_fs_i.h,74 -#define _MSDOS_FS_I2,20 -struct msdos_inode_info msdos_inode_info10,115 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/eisa.h,1043 -#define _LINUX_EISA_H2,22 -#define EISA_SIG_LEN 7,98 -#define EISA_MAX_SLOTS 8,123 -#define EISA_MAX_RESOURCES 10,149 -#define EISA_DMA1_STATUS 14,218 -#define EISA_INT1_CTRL 15,256 -#define EISA_INT1_MASK 16,294 -#define EISA_INT2_CTRL 17,332 -#define EISA_INT2_MASK 18,370 -#define EISA_DMA2_STATUS 19,408 -#define EISA_DMA2_WRITE_SINGLE 20,446 -#define EISA_EXT_NMI_RESET_CTRL 21,484 -#define EISA_INT1_EDGE_LEVEL 22,522 -#define EISA_INT2_EDGE_LEVEL 23,560 -#define EISA_VENDOR_ID_OFFSET 24,598 -#define EISA_CONFIG_OFFSET 25,636 -#define EISA_CONFIG_ENABLED 27,675 -#define EISA_CONFIG_FORCED 28,713 -struct eisa_device_id eisa_device_id31,809 -struct eisa_device eisa_device40,1066 -#define to_eisa_device(to_eisa_device53,1417 -static inline int eisa_get_region_index 55,1485 -struct eisa_driver eisa_driver63,1617 -#define to_eisa_driver(to_eisa_driver68,1720 -static inline void *eisa_get_drvdata 75,1964 -static inline void eisa_set_drvdata 80,2071 -struct eisa_root_device eisa_root_device88,2312 -# define EISA_bus 104,2790 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tpqic02.h,11745 -#define _LINUX_TPQIC02_H11,271 -#define WANGTEK 35,1050 -#define EVEREX 36,1111 -#define EVEREX_811V 37,1184 -#define EVEREX_831V 38,1246 -#define ARCHIVE 39,1273 -#define ARCHIVE_SC400 40,1292 -#define ARCHIVE_SC402 41,1371 -#define ARCHIVE_SC499 42,1443 -#define MOUNTAIN 44,1523 -#define EMERALD 45,1584 -#define QIC02_TAPE_PORT_RANGE 49,1643 -#define QIC02_TAPE_DRIVE 85,2921 -#define QIC02_TAPE_IFC 95,3352 -#define QIC02_TAPE_PORT 99,3488 -#define QIC02_TAPE_IRQ 100,3549 -#define QIC02_TAPE_DMA 101,3618 -#define TP_HAVE_DENS 124,4450 -#define TP_HAVE_BSF 125,4473 -#define TP_HAVE_FSR 126,4506 -#define TP_HAVE_BSR 127,4539 -#define TP_HAVE_EOD 128,4572 -#define TP_HAVE_SEEK 129,4617 -#define TP_HAVE_TELL 130,4640 -#define TP_HAVE_RAS1 131,4663 -#define TP_HAVE_RAS2 132,4686 -#define TP_HAVE_DENS 135,4793 -#define TP_HAVE_BSF 136,4859 -#define TP_HAVE_FSR 137,4881 -#define TP_HAVE_BSR 138,4937 -#define TP_HAVE_EOD 139,4994 -#define TP_HAVE_SEEK 140,5055 -#define TP_HAVE_TELL 141,5078 -#define TP_HAVE_RAS1 142,5101 -#define TP_HAVE_RAS2 143,5149 -#define TP_HAVE_DENS 147,5343 -#define TP_HAVE_BSF 148,5420 -#define TP_HAVE_FSR 149,5442 -#define TP_HAVE_BSR 150,5498 -#define TP_HAVE_EOD 151,5555 -#define TP_HAVE_TELL 152,5616 -#define TP_HAVE_SEEK 153,5676 -#define TP_HAVE_RAS1 154,5723 -#define TP_HAVE_RAS2 155,5771 -#define TP_HAVE_DENS 160,5957 -#define TP_HAVE_BSF 161,6018 -#define TP_HAVE_FSR 162,6040 -#define TP_HAVE_BSR 163,6096 -#define TP_HAVE_EOD 164,6153 -#define TP_HAVE_TELL 165,6214 -#define TP_HAVE_SEEK 166,6274 -#define TP_HAVE_RAS1 167,6321 -#define TP_HAVE_RAS2 168,6369 -#define TP_HAVE_DENS 173,6551 -#define TP_HAVE_BSF 174,6615 -#define TP_HAVE_FSR 175,6637 -#define TP_HAVE_BSR 176,6693 -#define TP_HAVE_EOD 177,6750 -#define TP_HAVE_SEEK 178,6811 -#define TP_HAVE_TELL 179,6858 -#define TP_HAVE_RAS1 180,6918 -#define TP_HAVE_RAS2 181,6966 -#define TP_HAVE_DENS 185,7119 -#define TP_HAVE_BSF 186,7167 -#define TP_HAVE_FSR 187,7225 -#define TP_HAVE_BSR 188,7281 -#define TP_HAVE_EOD 189,7338 -#define TP_HAVE_SEEK 190,7399 -#define TP_HAVE_TELL 191,7450 -#define TP_HAVE_RAS1 192,7506 -#define TP_HAVE_RAS2 193,7554 -#define WT_QIC02_STAT_PORT 210,8030 -#define WT_QIC02_CTL_PORT 211,8075 -#define WT_QIC02_CMD_PORT 212,8119 -#define WT_QIC02_DATA_PORT 213,8165 -#define WT_QIC02_STAT_POLARITY 216,8254 -#define WT_QIC02_STAT_READY 217,8287 -#define WT_QIC02_STAT_EXCEPTION 218,8320 -#define WT_QIC02_STAT_MASK 219,8357 -#define WT_QIC02_STAT_RESETMASK 221,8431 -#define WT_QIC02_STAT_RESETVAL 222,8468 -#define WT_QIC02_CTL_RESET 225,8601 -#define WT_QIC02_CTL_REQUEST 226,8633 -#define WT_CTL_ONLINE 227,8667 -#define WT_CTL_CMDOFF 228,8695 -#define WT_CTL_DMA3 230,8725 -#define WT_CTL_DMA1 231,8778 -#define EMR_QIC02_STAT_PORT 236,8950 -#define EMR_QIC02_CTL_PORT 237,8996 -#define EMR_QIC02_CMD_PORT 238,9041 -#define EMR_QIC02_DATA_PORT 239,9088 -#define EMR_QIC02_STAT_POLARITY 242,9179 -#define EMR_QIC02_STAT_READY 243,9214 -#define EMR_QIC02_STAT_EXCEPTION 244,9249 -#define EMR_QIC02_STAT_MASK 245,9287 -#define EMR_QIC02_STAT_RESETMASK 247,9364 -#define EMR_QIC02_STAT_RESETVAL 248,9402 -#define EMR_QIC02_CTL_RESET 251,9538 -#define EMR_QIC02_CTL_REQUEST 252,9571 -#define EMR_CTL_ONLINE 253,9606 -#define EMR_CTL_CMDOFF 254,9635 -#define EMR_CTL_DMA3 256,9666 -#define EMR_CTL_DMA1 257,9720 -#define AR_QIC02_STAT_PORT 262,9830 -#define AR_QIC02_CTL_PORT 263,9877 -#define AR_QIC02_CMD_PORT 264,9923 -#define AR_QIC02_DATA_PORT 265,9967 -#define AR_START_DMA_PORT 267,10013 -#define AR_RESET_DMA_PORT 268,10059 -#define AR_QIC02_STAT_POLARITY 271,10127 -#define AR_STAT_IRQF 272,10160 -#define AR_QIC02_STAT_READY 273,10229 -#define AR_QIC02_STAT_EXCEPTION 274,10279 -#define AR_QIC02_STAT_MASK 275,10333 -#define AR_STAT_DMADONE 276,10406 -#define AR_STAT_DIRC 277,10464 -#define AR_QIC02_STAT_RESETMASK 279,10521 -#define AR_QIC02_STAT_RESETVAL 280,10586 -#define AR_QIC02_CTL_RESET 283,10727 -#define AR_QIC02_CTL_REQUEST 284,10777 -#define AR_CTL_IEN 285,10839 -#define AR_CTL_DNIEN 286,10887 -#define MTN_QIC02_STAT_PORT 294,11176 -#define MTN_QIC02_CTL_PORT 295,11224 -#define MTN_QIC02_CMD_PORT 296,11271 -#define MTN_QIC02_DATA_PORT 297,11316 -#define MTN_W_SELECT_DMA_PORT 299,11363 -#define MTN_R_DESELECT_DMA_PORT 300,11413 -#define MTN_W_DMA_WRITE_PORT 301,11465 -#define MTN_QIC02_STAT_POLARITY 304,11536 -#define MTN_QIC02_STAT_READY 305,11571 -#define MTN_QIC02_STAT_EXCEPTION 306,11623 -#define MTN_QIC02_STAT_MASK 307,11678 -#define MTN_STAT_DMADONE 308,11755 -#define MTN_QIC02_STAT_RESETMASK 310,11815 -#define MTN_QIC02_STAT_RESETVAL 311,11881 -#define MTN_QIC02_CTL_RESET_NOT 314,12011 -#define MTN_QIC02_CTL_RESET 315,12079 -#define MTN_QIC02_CTL_ONLINE 317,12157 -#define MTN_QIC02_CTL_REQUEST 318,12217 -#define MTN_QIC02_CTL_IRQ_DRIVER 319,12281 -#define MTN_QIC02_CTL_DMA_DRIVER 320,12352 -#define MTN_CTL_EXC_IEN 321,12423 -#define MTN_CTL_RDY_IEN 322,12487 -#define MTN_CTL_DNIEN 323,12547 -#define MTN_CTL_ONLINE 325,12605 -# define QIC02_TAPE_DEBUG 330,12741 -# define QIC02_STAT_POLARITY 333,12819 -# define QIC02_STAT_PORT 334,12872 -# define QIC02_CTL_PORT 335,12917 -# define QIC02_CMD_PORT 336,12960 -# define QIC02_DATA_PORT 337,13003 -# define QIC02_STAT_READY 339,13049 -# define QIC02_STAT_EXCEPTION 340,13096 -# define QIC02_STAT_MASK 341,13151 -# define QIC02_STAT_RESETMASK 342,13196 -# define QIC02_STAT_RESETVAL 343,13251 -# define QIC02_CTL_RESET 345,13305 -# define QIC02_CTL_REQUEST 346,13350 -# define WT_CTL_DMA 350,13456 -# define WT_CTL_DMA 352,13501 -# define WT_CTL_DMA 355,13575 -# define QIC02_STAT_POLARITY 361,13716 -# define QIC02_STAT_PORT 362,13770 -# define QIC02_CTL_PORT 363,13816 -# define QIC02_CMD_PORT 364,13860 -# define QIC02_DATA_PORT 365,13904 -# define QIC02_STAT_READY 367,13951 -# define QIC02_STAT_EXCEPTION 368,13999 -# define QIC02_STAT_MASK 369,14055 -# define QIC02_STAT_RESETMASK 370,14101 -# define QIC02_STAT_RESETVAL 371,14157 -# define QIC02_CTL_RESET 373,14212 -# define QIC02_CTL_REQUEST 374,14258 -# define EMR_CTL_DMA 378,14365 -# define EMR_CTL_DMA 380,14412 -# define EMR_CTL_DMA 383,14488 -# define QIC02_STAT_POLARITY 389,14631 -# define QIC02_STAT_PORT 390,14684 -# define QIC02_CTL_PORT 391,14729 -# define QIC02_CMD_PORT 392,14772 -# define QIC02_DATA_PORT 393,14815 -# define QIC02_STAT_READY 395,14861 -# define QIC02_STAT_EXCEPTION 396,14908 -# define QIC02_STAT_MASK 397,14963 -# define QIC02_STAT_RESETMASK 398,15008 -# define QIC02_STAT_RESETVAL 399,15063 -# define QIC02_CTL_RESET 401,15117 -# define QIC02_CTL_REQUEST 402,15162 -# define QIC02_STAT_POLARITY 409,15387 -# define QIC02_STAT_PORT 410,15441 -# define QIC02_CTL_PORT 411,15487 -# define QIC02_CMD_PORT 412,15531 -# define QIC02_DATA_PORT 413,15575 -# define QIC02_STAT_READY 415,15622 -# define QIC02_STAT_EXCEPTION 416,15670 -# define QIC02_STAT_MASK 417,15726 -# define QIC02_STAT_RESETMASK 418,15772 -# define QIC02_STAT_RESETVAL 419,15828 -# define QIC02_CTL_RESET 421,15883 -# define QIC02_CTL_REQUEST 422,15929 -# define WT_CTL_DMA 437,16359 -# define QIC02_TAPE_DRIVE 450,16655 -# define QIC02_TAPE_IFC 451,16710 -# define QIC02_TAPE_IRQ 452,16761 -# define QIC02_TAPE_DMA 453,16813 -# define QIC02_TAPE_PORT 454,16865 -# define WT_CTL_DMA 455,16916 -# define QIC02_TAPE_DEBUG 456,16971 -# define QIC02_STAT_PORT 458,17025 -# define QIC02_CTL_PORT 459,17077 -# define QIC02_CMD_PORT 460,17128 -# define QIC02_DATA_PORT 461,17179 -# define QIC02_STAT_POLARITY 463,17233 -# define QIC02_STAT_READY 464,17293 -# define QIC02_STAT_EXCEPTION 465,17347 -# define QIC02_STAT_MASK 466,17409 -# define QIC02_STAT_RESETMASK 468,17462 -# define QIC02_STAT_RESETVAL 469,17524 -# define QIC02_CTL_RESET 471,17585 -# define QIC02_CTL_REQUEST 472,17637 -# define TP_HAVE_DENS 474,17694 -# define TP_HAVE_BSF 475,17748 -# define TP_HAVE_FSR 476,17800 -# define TP_HAVE_BSR 477,17852 -# define TP_HAVE_EOD 478,17904 -# define TP_HAVE_SEEK 479,17956 -# define TP_HAVE_TELL 480,18010 -# define TP_HAVE_RAS1 481,18064 -# define TP_HAVE_RAS2 482,18118 -#define AR_QCMDV_TELL_BLK 489,18269 -#define AR_QCMDV_SEEK_BLK 490,18333 -#define AR_SEEK_BUF_SIZE 491,18393 -#define QCMD_SEL_1 500,18556 -#define QCMD_SEL_2 501,18602 -#define QCMD_SEL_3 502,18648 -#define QCMD_SEL_4 503,18694 -#define QCMD_REWIND 504,18740 -#define QCMD_ERASE 505,18784 -#define QCMD_RETEN 506,18826 -#define QCMD_WRT_DATA 507,18872 -#define QCMD_WRT_FM 508,18917 -#define QCMD_RD_DATA 509,18965 -#define QCMD_RD_FM 510,19008 -#define QCMD_RD_STAT 511,19074 -#define QCMD_DENS_11 515,19225 -#define QCMD_DENS_24 516,19265 -#define QCMD_DENS_120 517,19319 -#define QCMD_DENS_150 518,19377 -#define QCMD_DENS_300 519,19435 -#define QCMD_DENS_600 520,19486 -#define QCMD_WRTNU_DATA 523,19583 -#define QCMD_SPACE_FWD 524,19660 -#define QCMD_SPACE_BCK 525,19711 -#define QCMD_RD_FM_BCK 526,19792 -#define QCMD_SEEK_EOD 527,19853 -#define QCMD_RD_STAT_X1 528,19899 -#define QCMD_RD_STAT_X2 529,19958 -#define QCMD_RD_STAT_X3 530,20017 -#define QCMD_SELF_TST1 531,20076 -#define QCMD_SELF_TST2 532,20144 -#define QFA_ENABLE 547,20866 -#define QFA_DATA 548,20929 -#define QFA_DIR 549,20980 -#define QFA_RD_POS 550,21036 -#define QFA_SEEK_EOD 551,21094 -#define QFA_SEEK_BLK 552,21161 -#define TPQD_SENSE_TEXT 560,21265 -#define TPQD_SENSE_CNTS 561,21296 -#define TPQD_REWIND 562,21327 -#define TPQD_TERM_CYCLE 563,21354 -#define TPQD_IOCTLS 564,21385 -#define TPQD_DMAX 565,21412 -#define TPQD_BLKSZ 566,21437 -#define TPQD_MISC 567,21463 -#define TPQD_DEBUG 569,21489 -#define TPQD_DIAGS 571,21516 -#define TPQD_ALWAYS 573,21543 -#define TPQD_DEFAULT_FLAGS 575,21571 -#define TPQDBG(TPQDBG578,21607 -#define TP_REWCLOSE(TP_REWCLOSE590,22035 -#define TP_DENS(TP_DENS592,22149 -#define TP_UNIT(TP_UNIT593,22214 -#define TP_DIAGS(TP_DIAGS596,22313 -struct tpstatus tpstatus599,22417 -#define TPSTATSIZE 604,22688 -#define TP_POR 608,22795 -#define TP_EOR 609,22850 -#define TP_PAR 610,22913 -#define TP_BOM 611,22965 -#define TP_MBD 612,23012 -#define TP_NDT 613,23065 -#define TP_ILL 614,23111 -#define TP_ST1 615,23156 -#define TP_FIL 616,23204 -#define TP_BNL 617,23250 -#define TP_UDA 618,23299 -#define TP_EOM 619,23351 -#define TP_WRP 620,23391 -#define TP_USL 621,23444 -#define TP_CNI 622,23488 -#define TP_ST0 623,23538 -#define REPORT_ERR0 625,23585 -#define REPORT_ERR1 626,23656 -#define EXC_UNKNOWN 630,23732 -#define EXC_NDRV 631,23791 -#define EXC_NCART 632,23825 -#define EXC_WP 633,23864 -#define EXC_EOM 634,23904 -#define EXC_RWA 635,23933 -#define EXC_XBAD 636,23975 -#define EXC_XFILLER 637,24034 -#define EXC_NDT 638,24099 -#define EXC_NDTEOM 639,24144 -#define EXC_NDTBOM 640,24197 -#define EXC_FM 641,24251 -#define EXC_ILL 642,24292 -#define EXC_POR 643,24334 -#define EXC_MARGINAL 644,24375 -#define EXC_EOR 645,24429 -#define EXC_BOM 646,24505 -#define TAPE_NOTIFY_TIMEOUT 649,24553 -#define TE_OK 652,24627 -#define TE_EX 653,24669 -#define TE_ERR 654,24711 -#define TE_NS 655,24746 -#define TE_TIM 656,24787 -#define TE_DEAD 657,24821 -#define TE_END 658,24873 -#define TIM_S 661,24965 -#define TIM_M 662,25017 -#define TIM_R 663,25068 -#define TIM_F 664,25123 -#define TIMERON(TIMERON666,25201 -#define TIMEROFF 667,25256 -#define TIMERCONT 668,25300 -typedef char flag;flag671,25342 -#define NO 672,25361 -#define YES 673,25393 -# define TPQDEB(TPQDEB677,25446 -# define TPQPUTS(TPQPUTS678,25467 -# define TPQDEB(TPQDEB680,25504 -# define TPQPUTS(TPQPUTS681,25523 -#define NR_BLK_BUF 690,25807 -#define TAPE_BLKSIZE 691,25857 -#define TPQBUF_SIZE 692,25924 -#define BLOCKS_BEYOND_EW 695,25997 -#define BOGUS_IRQ 696,26068 -struct qic02_ccb qic02_ccb703,26266 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hugetlb.h,1943 -#define _LINUX_HUGETLB_H2,25 -static inline int is_vm_hugetlb_page(10,128 -#define is_hugepage_only_range(is_hugepage_only_range39,1501 -#define hugetlb_free_pgtables(hugetlb_free_pgtables40,1545 -#define prepare_hugepage_range(prepare_hugepage_range44,1663 -static inline int is_vm_hugetlb_page(52,1860 -static inline unsigned long hugetlb_total_pages(56,1940 -#define follow_hugetlb_page(follow_hugetlb_page61,2010 -#define follow_huge_addr(follow_huge_addr62,2070 -#define copy_hugetlb_page_range(copy_hugetlb_page_range63,2129 -#define hugetlb_prefault(hugetlb_prefault64,2192 -#define zap_hugepage_range(zap_hugepage_range65,2248 -#define unmap_hugepage_range(unmap_hugepage_range66,2298 -#define is_hugepage_mem_enough(is_hugepage_mem_enough67,2350 -#define hugetlb_report_meminfo(hugetlb_report_meminfo68,2390 -#define hugetlb_report_node_meminfo(hugetlb_report_node_meminfo69,2429 -#define follow_huge_pmd(follow_huge_pmd70,2475 -#define is_aligned_hugepage_range(is_aligned_hugepage_range71,2526 -#define prepare_hugepage_range(prepare_hugepage_range72,2573 -#define pmd_huge(pmd_huge73,2625 -#define is_hugepage_only_range(is_hugepage_only_range74,2647 -#define hugetlb_free_pgtables(hugetlb_free_pgtables75,2691 -#define alloc_huge_page(alloc_huge_page76,2761 -#define free_huge_page(free_huge_page77,2801 -#define HPAGE_MASK 80,2873 -#define HPAGE_SIZE 81,2925 -struct hugetlbfs_config hugetlbfs_config87,3013 -struct hugetlbfs_sb_info hugetlbfs_sb_info95,3120 -struct hugetlbfs_inode_info hugetlbfs_inode_info104,3333 -static inline struct hugetlbfs_inode_info *HUGETLBFS_I(109,3422 -static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(114,3572 -static inline int is_file_hugepages(125,3936 -static inline void set_file_hugepages(130,4046 -#define is_file_hugepages(is_file_hugepages136,4180 -#define set_file_hugepages(set_file_hugepages137,4215 -#define hugetlb_zero_setup(hugetlb_zero_setup138,4254 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/wanpipe.h,1956 -#define _WANPIPE_H40,1985 -#define PACKED 47,2065 -#define WANPIPE_MAGIC 50,2112 -#define WANPIPE_DUMP 53,2211 -#define WANPIPE_EXEC 54,2276 -#define TRACE_ALL 56,2345 -#define TRACE_PROT 57,2390 -#define TRACE_DATA 58,2416 -#define UDPMGMT_REQUEST 61,2479 -#define UDPMGMT_REPLY 62,2508 -#define UDP_OFFSET 63,2535 -#define MAX_CMD_BUFF 65,2558 -#define MAX_X25_LCN 66,2583 -#define MAX_LCN_NUM 67,2645 -#define MAX_FT1_RETRY 68,2695 - #define AF_WANPIPE 71,2742 - #define PF_WANPIPE 73,2785 -#define TX_TIMEOUT 78,2834 -#define SEND_CRIT 81,2888 -#define PERI_CRIT 82,2911 -#define POLL_CRIT 85,2977 -#define SEND_TXIRQ_CRIT 88,3045 -#define ARP_CRIT 91,3111 -#define DYN_OPT_ON 98,3307 -#define DEV_DOWN 99,3331 -typedef struct sdla_dump sdla_dump105,3398 -} sdla_dump_t;sdla_dump_t111,3621 -typedef struct sdla_exec sdla_exec113,3637 -} sdla_exec_t;sdla_exec_t118,3803 -typedef struct wum_headerwum_header122,3847 -} wum_header_t;wum_header_t128,4065 -typedef struct global_statsglobal_stats134,4271 -} global_stats_t;global_stats_t154,4875 -} udp_pkt_t;udp_pkt_t162,5061 -} ip_pkt_t;ip_pkt_t176,5467 -} wp_mgmt_t;wp_mgmt_t184,5722 -typedef struct if_send_stat{if_send_stat189,5928 -} if_send_stat_t;if_send_stat_t208,6659 -typedef struct rx_intr_stat{rx_intr_stat210,6678 -} rx_intr_stat_t;rx_intr_stat_t216,6910 -typedef struct pipe_mgmt_stat{pipe_mgmt_stat218,6930 -} pipe_mgmt_stat_t;pipe_mgmt_stat_t230,7470 -} bh_data_t, cmd_data_t;cmd_data_t235,7531 -#define MAX_LGTH_UDP_MGNT_PKT 237,7557 -#define INTR_TEST_MODE 241,7636 -#define WUM_SIGNATURE_L 243,7665 -#define WUM_SIGNATURE_H 244,7700 -#define WUM_KILL 246,7736 -#define WUM_EXEC 247,7758 -#define WANPIPE 249,7781 -#define API 250,7803 -#define BRIDGE 251,7821 -#define BRIDGE_NODE 252,7842 -#define is_digit(is_digit269,8320 -#define is_alpha(is_alpha270,8390 -#define is_hex_digit(is_hex_digit272,8513 -typedef struct sdlasdla283,8900 -} sdla_t;sdla_t462,15864 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-algo-pca.h,117 -#define _LINUX_I2C_ALGO_PCA_H2,30 -struct i2c_algo_pca_data i2c_algo_pca_data4,61 -#define I2C_PCA_ADAP_MAX 12,422 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kernel.h,2124 -#define _LINUX_KERNEL_H2,24 -#define INT_MAX 19,340 -#define INT_MIN 20,373 -#define UINT_MAX 21,405 -#define LONG_MAX 22,428 -#define LONG_MIN 23,463 -#define ULONG_MAX 24,496 -#define STACK_MAGIC 26,522 -#define ARRAY_SIZE(ARRAY_SIZE28,554 -#define ALIGN(ALIGN29,605 -#define KERN_EMERG 31,648 -#define KERN_ALERT 32,700 -#define KERN_CRIT 33,764 -#define KERN_ERR 34,816 -#define KERN_WARNING 35,864 -#define KERN_NOTICE 36,918 -#define KERN_INFO 37,983 -#define KERN_DEBUG 38,1029 -#define console_loglevel 42,1114 -#define default_message_loglevel 43,1159 -#define minimum_console_loglevel 44,1212 -#define default_console_loglevel 45,1265 -# define might_resched(might_resched51,1405 -# define might_resched(might_resched53,1453 -# define might_sleep(might_sleep58,1600 -# define might_sleep(might_sleep61,1704 -#define might_sleep_if(might_sleep_if64,1769 -#define abs(abs66,1851 -#define labs(labs71,1929 -NORET_TYPE void panic(78,2099 -static inline unsigned long __attribute_const__ roundup_pow_of_two(124,3927 -static inline void console_silent(132,4156 -static inline void console_verbose(137,4224 -extern enum system_states system_states151,4602 - SYSTEM_BOOTING,152,4630 - SYSTEM_BOOTING_SCHEDULER_OK,153,4647 - SYSTEM_RUNNING,154,4677 - SYSTEM_HALT,155,4694 - SYSTEM_POWER_OFF,156,4708 - SYSTEM_RESTART,157,4727 -#define TAINT_PROPRIETARY_MODULE 160,4761 -#define TAINT_FORCED_MODULE 161,4801 -#define TAINT_UNSAFE_SMP 162,4837 -#define TAINT_FORCED_RMMOD 163,4870 -#define TAINT_MACHINE_CHECK 164,4905 -#define TAINT_BAD_PAGE 165,4941 -#define pr_debug(pr_debug170,5018 -#define pr_debug(pr_debug173,5085 -#define pr_info(pr_info177,5142 -#define NIPQUAD(NIPQUAD184,5260 -#define NIP6(NIP6190,5410 -#define HIPQUAD(HIPQUAD201,5706 -#define HIPQUAD 207,5883 -#define min(min217,6092 -#define max(max223,6209 -#define min_t(min_t235,6455 -#define max_t(max_t237,6542 -#define container_of(container_of249,6878 -#define typecheck(typecheck257,7189 -#define SI_LOAD_SHIFT 266,7328 -struct sysinfo sysinfo267,7353 -#define BUILD_BUG_ON(BUILD_BUG_ON285,8206 -#define __FUNCTION__ 289,8375 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dm-ioctl.h,2221 -#define _LINUX_DM_IOCTL_V4_H8,141 -#define DM_DIR 12,197 -#define DM_MAX_TYPE_NAME 13,250 -#define DM_NAME_LEN 14,278 -#define DM_UUID_LEN 15,302 -struct dm_ioctl dm_ioctl87,2643 -struct dm_target_spec dm_target_spec126,3734 -struct dm_target_deps dm_target_deps155,4621 -struct dm_name_list dm_name_list164,4791 -struct dm_target_versions dm_target_versions174,4975 - DM_VERSION_CMD 187,5216 - DM_REMOVE_ALL_CMD,188,5237 - DM_LIST_DEVICES_CMD,189,5257 - DM_DEV_CREATE_CMD,192,5305 - DM_DEV_REMOVE_CMD,193,5325 - DM_DEV_RENAME_CMD,194,5345 - DM_DEV_SUSPEND_CMD,195,5365 - DM_DEV_STATUS_CMD,196,5386 - DM_DEV_WAIT_CMD,197,5406 - DM_TABLE_LOAD_CMD,200,5449 - DM_TABLE_CLEAR_CMD,201,5469 - DM_TABLE_DEPS_CMD,202,5490 - DM_TABLE_STATUS_CMD,203,5510 - DM_LIST_VERSIONS_CMD,206,5552 -typedef char ioctl_struct[ioctl_struct218,5968 -#define DM_VERSION_32 219,6000 -#define DM_REMOVE_ALL_32 220,6074 -#define DM_LIST_DEVICES_32 221,6151 -#define DM_DEV_CREATE_32 223,6231 -#define DM_DEV_REMOVE_32 224,6308 -#define DM_DEV_RENAME_32 225,6385 -#define DM_DEV_SUSPEND_32 226,6462 -#define DM_DEV_STATUS_32 227,6540 -#define DM_DEV_WAIT_32 228,6617 -#define DM_TABLE_LOAD_32 230,6693 -#define DM_TABLE_CLEAR_32 231,6770 -#define DM_TABLE_DEPS_32 232,6848 -#define DM_TABLE_STATUS_32 233,6925 -#define DM_LIST_VERSIONS_32 234,7004 -#define DM_IOCTL 237,7092 -#define DM_VERSION 239,7115 -#define DM_REMOVE_ALL 240,7189 -#define DM_LIST_DEVICES 241,7266 -#define DM_DEV_CREATE 243,7346 -#define DM_DEV_REMOVE 244,7423 -#define DM_DEV_RENAME 245,7500 -#define DM_DEV_SUSPEND 246,7577 -#define DM_DEV_STATUS 247,7655 -#define DM_DEV_WAIT 248,7732 -#define DM_TABLE_LOAD 250,7808 -#define DM_TABLE_CLEAR 251,7885 -#define DM_TABLE_DEPS 252,7963 -#define DM_TABLE_STATUS 253,8040 -#define DM_LIST_VERSIONS 255,8120 -#define DM_VERSION_MAJOR 257,8201 -#define DM_VERSION_MINOR 258,8228 -#define DM_VERSION_PATCHLEVEL 259,8255 -#define DM_VERSION_EXTRA 260,8287 -#define DM_READONLY_FLAG 263,8353 -#define DM_SUSPEND_FLAG 264,8400 -#define DM_PERSISTENT_DEV_FLAG 265,8447 -#define DM_STATUS_TABLE_FLAG 271,8601 -#define DM_ACTIVE_PRESENT_FLAG 277,8761 -#define DM_INACTIVE_PRESENT_FLAG 278,8813 -#define DM_BUFFER_FULL_FLAG 284,8950 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/namei.h,822 -#define _LINUX_NAMEI_H2,23 -struct open_intent open_intent8,93 -enum { MAX_NESTED_LINKS 13,148 -struct nameidata nameidata15,180 -enum {LAST_NORM,33,487 -enum {LAST_NORM, LAST_ROOT,33,487 -enum {LAST_NORM, LAST_ROOT, LAST_DOT,33,487 -enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT,33,487 -enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND}33,487 -#define LOOKUP_FOLLOW 43,804 -#define LOOKUP_DIRECTORY 44,830 -#define LOOKUP_CONTINUE 45,858 -#define LOOKUP_PARENT 46,886 -#define LOOKUP_NOALT 47,912 -#define LOOKUP_ATOMIC 48,937 -#define LOOKUP_OPEN 53,986 -#define LOOKUP_CREATE 54,1016 -#define LOOKUP_ACCESS 55,1048 -#define user_path_walk(user_path_walk58,1166 -#define user_path_walk_link(user_path_walk_link60,1238 -static inline void nd_set_link(77,2019 -static inline char *nd_get_link(82,2125 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fs_struct.h,89 -#define _LINUX_FS_STRUCT_H2,27 -struct fs_struct fs_struct7,88 -#define INIT_FS 15,249 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/dmx.h,2308 -#define _DVBDMX_H_25,958 -#define DMX_FILTER_SIZE 34,1075 - DMX_OUT_DECODER,38,1118 - DMX_OUT_TAP,39,1173 - DMX_OUT_TS_TAP 41,1292 -} dmx_output_t;dmx_output_t44,1472 - DMX_IN_FRONTEND,49,1505 - DMX_IN_DVR 50,1561 -} dmx_input_t;dmx_input_t51,1621 - DMX_PES_AUDIO0,56,1653 - DMX_PES_VIDEO0,57,1677 - DMX_PES_TELETEXT0,58,1694 - DMX_PES_SUBTITLE0,59,1714 - DMX_PES_PCR0,60,1734 - DMX_PES_AUDIO1,62,1750 - DMX_PES_VIDEO1,63,1774 - DMX_PES_TELETEXT1,64,1791 - DMX_PES_SUBTITLE1,65,1811 - DMX_PES_PCR1,66,1831 - DMX_PES_AUDIO2,68,1847 - DMX_PES_VIDEO2,69,1871 - DMX_PES_TELETEXT2,70,1888 - DMX_PES_SUBTITLE2,71,1908 - DMX_PES_PCR2,72,1928 - DMX_PES_AUDIO3,74,1944 - DMX_PES_VIDEO3,75,1968 - DMX_PES_TELETEXT3,76,1985 - DMX_PES_SUBTITLE3,77,2005 - DMX_PES_PCR3,78,2025 - DMX_PES_OTHER80,2041 -} dmx_pes_type_t;dmx_pes_type_t81,2056 -#define DMX_PES_AUDIO 83,2075 -#define DMX_PES_VIDEO 84,2115 -#define DMX_PES_TELETEXT 85,2155 -#define DMX_PES_SUBTITLE 86,2198 -#define DMX_PES_PCR 87,2241 - DMX_SCRAMBLING_EV,92,2296 - DMX_FRONTEND_EV93,2323 -} dmx_event_t;dmx_event_t94,2347 - DMX_SCRAMBLING_OFF,99,2379 - DMX_SCRAMBLING_ON100,2400 -} dmx_scrambling_status_t;dmx_scrambling_status_t101,2419 -typedef struct dmx_filterdmx_filter104,2448 -} dmx_filter_t;dmx_filter_t109,2568 -struct dmx_sct_filter_paramsdmx_sct_filter_params112,2586 -#define DMX_CHECK_CRC 118,2721 -#define DMX_ONESHOT 119,2751 -#define DMX_IMMEDIATE_START 120,2781 -#define DMX_KERNEL_CLIENT 121,2811 -struct dmx_pes_filter_paramsdmx_pes_filter_params125,2851 -struct dmx_eventdmx_event135,3023 -typedef struct dmx_caps dmx_caps145,3160 -} dmx_caps_t;dmx_caps_t148,3219 - DMX_SOURCE_FRONT0 151,3249 - DMX_SOURCE_FRONT1,152,3273 - DMX_SOURCE_FRONT2,153,3293 - DMX_SOURCE_FRONT3,154,3313 - DMX_SOURCE_DVR0 155,3333 - DMX_SOURCE_DVR1,156,3358 - DMX_SOURCE_DVR2,157,3376 - DMX_SOURCE_DVR3158,3394 -} dmx_source_t;dmx_source_t159,3411 -struct dmx_stc dmx_stc161,3428 -#define DMX_START 168,3623 -#define DMX_STOP 169,3669 -#define DMX_SET_FILTER 170,3714 -#define DMX_SET_PES_FILTER 171,3789 -#define DMX_SET_BUFFER_SIZE 172,3864 -#define DMX_GET_EVENT 173,3909 -#define DMX_GET_PES_PIDS 174,3972 -#define DMX_GET_CAPS 175,4029 -#define DMX_SET_SOURCE 176,4086 -#define DMX_GET_STC 177,4145 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/audio.h,1670 -#define _DVBAUDIO_H_25,962 - AUDIO_SOURCE_DEMUX,35,1077 - AUDIO_SOURCE_MEMORY 36,1148 -} audio_stream_source_t;audio_stream_source_t37,1218 - AUDIO_STOPPED,41,1261 - AUDIO_PLAYING,42,1307 - AUDIO_PAUSED 43,1370 -} audio_play_state_t;audio_play_state_t44,1415 - AUDIO_STEREO,48,1454 - AUDIO_MONO_LEFT,49,1476 - AUDIO_MONO_RIGHT 50,1502 -} audio_channel_select_t;audio_channel_select_t51,1521 -typedef struct audio_mixer audio_mixer54,1549 -} audio_mixer_t;audio_mixer_t58,1699 -typedef struct audio_status audio_status61,1718 -} audio_status_t;audio_status_t69,2263 -struct audio_karaoke{audio_karaoke73,2352 -} audio_karaoke_t;audio_karaoke_t79,2769 -typedef uint16_t audio_attributes_t;audio_attributes_t82,2821 -#define AUDIO_CAP_DTS 94,3388 -#define AUDIO_CAP_LPCM 95,3415 -#define AUDIO_CAP_MP1 96,3442 -#define AUDIO_CAP_MP2 97,3469 -#define AUDIO_CAP_MP3 98,3496 -#define AUDIO_CAP_AAC 99,3523 -#define AUDIO_CAP_OGG 100,3550 -#define AUDIO_CAP_SDDS 101,3577 -#define AUDIO_CAP_AC3 102,3604 -#define AUDIO_STOP 104,3632 -#define AUDIO_PLAY 105,3680 -#define AUDIO_PAUSE 106,3727 -#define AUDIO_CONTINUE 107,3774 -#define AUDIO_SELECT_SOURCE 108,3821 -#define AUDIO_SET_MUTE 109,3868 -#define AUDIO_SET_AV_SYNC 110,3915 -#define AUDIO_SET_BYPASS_MODE 111,3962 -#define AUDIO_CHANNEL_SELECT 112,4009 -#define AUDIO_GET_STATUS 113,4056 -#define AUDIO_GET_CAPABILITIES 115,4122 -#define AUDIO_CLEAR_BUFFER 116,4185 -#define AUDIO_SET_ID 117,4234 -#define AUDIO_SET_MIXER 118,4282 -#define AUDIO_SET_STREAMTYPE 119,4346 -#define AUDIO_SET_EXT_ID 120,4394 -#define AUDIO_SET_ATTRIBUTES 121,4442 -#define AUDIO_SET_KARAOKE 122,4511 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/net.h,345 -#define _DVBNET_H_25,958 -struct dvb_net_if dvb_net_if30,1003 -#define DVB_NET_FEEDTYPE_MPE 34,1066 -#define DVB_NET_FEEDTYPE_ULE 35,1132 -#define NET_ADD_IF 39,1206 -#define NET_REMOVE_IF 40,1275 -#define NET_GET_IF 41,1323 -struct __dvb_net_if_old __dvb_net_if_old45,1428 -#define __NET_ADD_IF_OLD 49,1484 -#define __NET_GET_IF_OLD 50,1549 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/video.h,2675 -#define _DVBVIDEO_H_25,962 - VIDEO_FORMAT_4_3,38,1124 - VIDEO_FORMAT_16_9,39,1172 - VIDEO_FORMAT_221_1 40,1228 -} video_format_t;video_format_t41,1264 - VIDEO_SYSTEM_PAL,45,1299 - VIDEO_SYSTEM_NTSC,46,1320 - VIDEO_SYSTEM_PALN,47,1342 - VIDEO_SYSTEM_PALNc,48,1364 - VIDEO_SYSTEM_PALM,49,1387 - VIDEO_SYSTEM_NTSC60,50,1409 - VIDEO_SYSTEM_PAL60,51,1433 - VIDEO_SYSTEM_PALM6052,1455 -} video_system_t;video_system_t53,1477 - VIDEO_PAN_SCAN,57,1515 - VIDEO_LETTER_BOX,58,1575 - VIDEO_CENTER_CUT_OUT 59,1625 -} video_displayformat_t;video_displayformat_t60,1680 -} video_size_t;video_size_t66,1769 - VIDEO_SOURCE_DEMUX,69,1801 - VIDEO_SOURCE_MEMORY 70,1872 -} video_stream_source_t;video_stream_source_t73,2011 - VIDEO_STOPPED,77,2053 - VIDEO_PLAYING,78,2093 - VIDEO_FREEZED 79,2150 -} video_play_state_t;video_play_state_t80,2190 -struct video_event video_event83,2215 -#define VIDEO_EVENT_SIZE_CHANGED 85,2260 -#define VIDEO_EVENT_FRAME_RATE_CHANGED 86,2295 -struct video_status video_status95,2467 -struct video_still_picture video_still_picture104,2884 -struct video_highlight video_highlight111,3029 -} video_highlight_t;video_highlight_t127,3950 -typedef struct video_spu video_spu130,3973 -} video_spu_t;video_spu_t133,4029 -typedef struct video_spu_palette video_spu_palette136,4046 -} video_spu_palette_t;video_spu_palette_t139,4148 -typedef struct video_navi_pack video_navi_pack142,4173 -} video_navi_pack_t;video_navi_pack_t145,4266 -typedef uint16_t video_attributes_t;video_attributes_t148,4289 -#define VIDEO_CAP_MPEG1 163,4964 -#define VIDEO_CAP_MPEG2 164,4993 -#define VIDEO_CAP_SYS 168,5197 -#define VIDEO_CAP_PROG 169,5225 -#define VIDEO_CAP_SPU 172,5351 -#define VIDEO_CAP_NAVI 173,5379 -#define VIDEO_CAP_CSS 174,5407 -#define VIDEO_STOP 177,5437 -#define VIDEO_PLAY 178,5486 -#define VIDEO_FREEZE 179,5534 -#define VIDEO_CONTINUE 180,5582 -#define VIDEO_SELECT_SOURCE 181,5630 -#define VIDEO_SET_BLANK 182,5678 -#define VIDEO_GET_STATUS 183,5726 -#define VIDEO_GET_EVENT 184,5796 -#define VIDEO_SET_DISPLAY_FORMAT 185,5865 -#define VIDEO_STILLPICTURE 186,5913 -#define VIDEO_FAST_FORWARD 187,5990 -#define VIDEO_SLOWMOTION 188,6038 -#define VIDEO_GET_CAPABILITIES 189,6086 -#define VIDEO_CLEAR_BUFFER 190,6149 -#define VIDEO_SET_ID 191,6198 -#define VIDEO_SET_STREAMTYPE 192,6246 -#define VIDEO_SET_FORMAT 193,6294 -#define VIDEO_SET_SYSTEM 194,6342 -#define VIDEO_SET_HIGHLIGHT 195,6390 -#define VIDEO_SET_SPU 196,6458 -#define VIDEO_SET_SPU_PALETTE 197,6520 -#define VIDEO_GET_NAVI 198,6590 -#define VIDEO_SET_ATTRIBUTES 199,6658 -#define VIDEO_GET_SIZE 200,6706 -#define VIDEO_GET_FRAME_RATE 201,6769 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/version.h,62 -#define _DVBVERSION_H_24,907 -#define DVB_API_VERSION 26,931 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/frontend.h,5862 -#define _DVBFRONTEND_H_27,1086 -typedef enum fe_type fe_type32,1136 - FE_QPSK,33,1159 - FE_QAM,34,1176 - FE_OFDM35,1192 -} fe_type_t;fe_type_t36,1208 -typedef enum fe_caps fe_caps39,1223 - FE_IS_STUPID 40,1246 - FE_CAN_INVERSION_AUTO 41,1282 - FE_CAN_INVERSION_AUTO = 0x1,41,1282 - FE_CAN_FEC_1_2 42,1320 - FE_CAN_FEC_1_2 = 0x2,42,1320 - FE_CAN_FEC_2_3 43,1358 - FE_CAN_FEC_2_3 = 0x4,43,1358 - FE_CAN_FEC_3_4 44,1396 - FE_CAN_FEC_3_4 = 0x8,44,1396 - FE_CAN_FEC_4_5 45,1434 - FE_CAN_FEC_4_5 = 0x10,45,1434 - FE_CAN_FEC_5_6 46,1473 - FE_CAN_FEC_5_6 = 0x20,46,1473 - FE_CAN_FEC_6_7 47,1512 - FE_CAN_FEC_6_7 = 0x40,47,1512 - FE_CAN_FEC_7_8 48,1551 - FE_CAN_FEC_7_8 = 0x80,48,1551 - FE_CAN_FEC_8_9 49,1590 - FE_CAN_FEC_8_9 = 0x100,49,1590 - FE_CAN_FEC_AUTO 50,1630 - FE_CAN_FEC_AUTO = 0x200,50,1630 - FE_CAN_QPSK 51,1670 - FE_CAN_QPSK = 0x400,51,1670 - FE_CAN_QAM_16 52,1710 - FE_CAN_QAM_16 = 0x800,52,1710 - FE_CAN_QAM_32 53,1750 - FE_CAN_QAM_32 = 0x1000,53,1750 - FE_CAN_QAM_64 54,1791 - FE_CAN_QAM_64 = 0x2000,54,1791 - FE_CAN_QAM_128 55,1832 - FE_CAN_QAM_128 = 0x4000,55,1832 - FE_CAN_QAM_256 56,1873 - FE_CAN_QAM_256 = 0x8000,56,1873 - FE_CAN_QAM_AUTO 57,1914 - FE_CAN_QAM_AUTO = 0x10000,57,1914 - FE_CAN_TRANSMISSION_MODE_AUTO 58,1956 - FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000,58,1956 - FE_CAN_BANDWIDTH_AUTO 59,1998 - FE_CAN_BANDWIDTH_AUTO = 0x40000,59,1998 - FE_CAN_GUARD_INTERVAL_AUTO 60,2040 - FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,60,2040 - FE_CAN_HIERARCHY_AUTO 61,2082 - FE_CAN_HIERARCHY_AUTO = 0x100000,61,2082 - FE_NEEDS_BENDING 62,2125 - FE_NEEDS_BENDING = 0x20000000,62,2125 - FE_CAN_RECOVER 63,2209 - FE_CAN_RECOVER = 0x40000000,63,2209 - FE_CAN_MUTE_TS 64,2312 - FE_CAN_MUTE_TS = 0x80000000 64,2312 -} fe_caps_t;fe_caps_t65,2402 -struct dvb_frontend_info dvb_frontend_info68,2417 -struct dvb_diseqc_master_cmd dvb_diseqc_master_cmd87,2928 -struct dvb_diseqc_slave_reply dvb_diseqc_slave_reply93,3100 -typedef enum fe_sec_voltage fe_sec_voltage100,3405 - SEC_VOLTAGE_13,101,3435 - SEC_VOLTAGE_18,102,3459 - SEC_VOLTAGE_OFF103,3483 -} fe_sec_voltage_t;fe_sec_voltage_t104,3500 -typedef enum fe_sec_tone_mode fe_sec_tone_mode107,3522 - SEC_TONE_ON,108,3554 - SEC_TONE_OFF109,3575 -} fe_sec_tone_mode_t;fe_sec_tone_mode_t110,3596 -typedef enum fe_sec_mini_cmd fe_sec_mini_cmd113,3620 - SEC_MINI_A,114,3651 - SEC_MINI_B115,3671 -} fe_sec_mini_cmd_t;fe_sec_mini_cmd_t116,3690 -typedef enum fe_status fe_status119,3713 - FE_HAS_SIGNAL 120,3738 - FE_HAS_SIGNAL = 0x01,120,3738 - FE_HAS_CARRIER 121,3812 - FE_HAS_CARRIER = 0x02,121,3812 - FE_HAS_VITERBI 122,3868 - FE_HAS_VITERBI = 0x04,122,3868 - FE_HAS_SYNC 123,3919 - FE_HAS_SYNC = 0x08,123,3919 - FE_HAS_LOCK 124,3973 - FE_HAS_LOCK = 0x10,124,3973 - FE_TIMEDOUT 125,4033 - FE_TIMEDOUT = 0x20,125,4033 - FE_REINIT 126,4104 - FE_REINIT = 0x40 126,4104 -} fe_status_t;fe_status_t127,4169 -typedef enum fe_spectral_inversion fe_spectral_inversion130,4320 - INVERSION_OFF,131,4357 - INVERSION_ON,132,4380 - INVERSION_AUTO133,4402 -} fe_spectral_inversion_t;fe_spectral_inversion_t134,4425 -typedef enum fe_code_rate fe_code_rate137,4454 - FEC_NONE 138,4482 - FEC_1_2,139,4504 - FEC_2_3,140,4521 - FEC_3_4,141,4538 - FEC_4_5,142,4555 - FEC_5_6,143,4572 - FEC_6_7,144,4589 - FEC_7_8,145,4606 - FEC_8_9,146,4623 - FEC_AUTO147,4640 -} fe_code_rate_t;fe_code_rate_t148,4657 -typedef enum fe_modulation fe_modulation151,4677 - QPSK,152,4706 - QAM_16,153,4720 - QAM_32,154,4736 - QAM_64,155,4752 - QAM_128,156,4768 - QAM_256,157,4785 - QAM_AUTO158,4802 -} fe_modulation_t;fe_modulation_t159,4812 -typedef enum fe_transmit_mode fe_transmit_mode162,4833 - TRANSMISSION_MODE_2K,163,4865 - TRANSMISSION_MODE_8K,164,4888 - TRANSMISSION_MODE_AUTO165,4911 -} fe_transmit_mode_t;fe_transmit_mode_t166,4935 -typedef enum fe_bandwidth fe_bandwidth168,4958 - BANDWIDTH_8_MHZ,169,4986 - BANDWIDTH_7_MHZ,170,5004 - BANDWIDTH_6_MHZ,171,5022 - BANDWIDTH_AUTO172,5040 -} fe_bandwidth_t;fe_bandwidth_t173,5056 -typedef enum fe_guard_interval fe_guard_interval176,5076 - GUARD_INTERVAL_1_32,177,5109 - GUARD_INTERVAL_1_16,178,5131 - GUARD_INTERVAL_1_8,179,5153 - GUARD_INTERVAL_1_4,180,5174 - GUARD_INTERVAL_AUTO181,5195 -} fe_guard_interval_t;fe_guard_interval_t182,5216 -typedef enum fe_hierarchy fe_hierarchy185,5241 - HIERARCHY_NONE,186,5269 - HIERARCHY_1,187,5286 - HIERARCHY_2,188,5300 - HIERARCHY_4,189,5314 - HIERARCHY_AUTO190,5328 -} fe_hierarchy_t;fe_hierarchy_t191,5344 -struct dvb_qpsk_parameters dvb_qpsk_parameters194,5364 -struct dvb_qam_parameters dvb_qam_parameters200,5557 -struct dvb_ofdm_parameters dvb_ofdm_parameters207,5821 -struct dvb_frontend_parameters dvb_frontend_parameters218,6272 -struct dvb_frontend_event dvb_frontend_event230,6619 -#define FE_GET_INFO 237,6718 -#define FE_DISEQC_RESET_OVERLOAD 239,6794 -#define FE_DISEQC_SEND_MASTER_CMD 240,6842 -#define FE_DISEQC_RECV_SLAVE_REPLY 241,6921 -#define FE_DISEQC_SEND_BURST 242,7001 -#define FE_SET_TONE 244,7075 -#define FE_SET_VOLTAGE 245,7149 -#define FE_ENABLE_HIGH_LNB_VOLTAGE 246,7221 -#define FE_READ_STATUS 248,7281 -#define FE_READ_BER 249,7343 -#define FE_READ_SIGNAL_STRENGTH 250,7399 -#define FE_READ_SNR 251,7455 -#define FE_READ_UNCORRECTED_BLOCKS 252,7511 -#define FE_SET_FRONTEND 254,7568 -#define FE_GET_FRONTEND 255,7649 -#define FE_GET_EVENT 256,7730 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/osd.h,638 -#define _DVBOSD_H_25,958 - OSD_Close=31,1065 - OSD_Open,34,1158 - OSD_Show,37,1368 - OSD_Hide,40,1440 - OSD_Clear,43,1513 - OSD_Fill,46,1594 - OSD_SetColor,49,1684 - OSD_SetPalette,57,2078 - OSD_SetTrans,62,2369 - OSD_SetPixel,65,2484 - OSD_GetPixel,68,2604 - OSD_SetRow,70,2684 - OSD_SetBlock,73,2854 - OSD_FillRow,78,3129 - OSD_FillBlock,81,3277 - OSD_Line,84,3430 - OSD_Query,87,3555 - OSD_Test,90,3715 - OSD_Text,94,3860 - OSD_SetWindow,95,3905 - OSD_MoveWindow,96,3972 -} OSD_Command;OSD_Command97,4028 -typedef struct osd_cmd_s osd_cmd_s99,4044 -} osd_cmd_t;osd_cmd_t107,4206 -#define OSD_SEND_CMD 110,4221 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dvb/ca.h,1003 -#define _DVBCA_H_25,956 -typedef struct ca_slot_info ca_slot_info29,1012 -#define CA_CI 33,1161 -#define CA_CI_LINK 34,1222 -#define CA_CI_PHYS 35,1289 -#define CA_DESCR 36,1360 -#define CA_SC 37,1418 -#define CA_CI_MODULE_PRESENT 40,1512 -#define CA_CI_MODULE_READY 41,1575 -} ca_slot_info_t;ca_slot_info_t42,1606 -typedef struct ca_descr_info ca_descr_info47,1660 -#define CA_ECD 50,1849 -#define CA_NDS 51,1876 -#define CA_DSS 52,1903 -} ca_descr_info_t;ca_descr_info_t53,1930 -typedef struct ca_caps ca_caps55,1950 -} ca_caps_t;ca_caps_t60,2273 -typedef struct ca_msg ca_msg63,2320 -} ca_msg_t;ca_msg_t68,2460 -typedef struct ca_descr ca_descr70,2473 -} ca_descr_t;ca_descr_t74,2611 -typedef struct ca_pid ca_pid76,2626 -} ca_pid_t;ca_pid_t79,2715 -#define CA_RESET 81,2728 -#define CA_GET_CAP 82,2768 -#define CA_GET_SLOT_INFO 83,2820 -#define CA_GET_DESCR_INFO 84,2877 -#define CA_GET_MSG 85,2935 -#define CA_SEND_MSG 86,2986 -#define CA_SET_DESCR 87,3037 -#define CA_SET_PID 88,3090 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs4.h,10400 -#define _LINUX_NFS4_H14,264 -#define NFS4_VERIFIER_SIZE 19,337 -#define NFS4_FHSIZE 20,366 -#define NFS4_MAXPATHLEN 21,391 -#define NFS4_MAXNAMLEN 22,425 -#define NFS4_ACCESS_READ 24,459 -#define NFS4_ACCESS_LOOKUP 25,498 -#define NFS4_ACCESS_MODIFY 26,537 -#define NFS4_ACCESS_EXTEND 27,576 -#define NFS4_ACCESS_DELETE 28,615 -#define NFS4_ACCESS_EXECUTE 29,654 -#define NFS4_FH_PERISTENT 31,694 -#define NFS4_FH_NOEXPIRE_WITH_OPEN 32,728 -#define NFS4_FH_VOLATILE_ANY 33,770 -#define NFS4_FH_VOL_MIGRATION 34,807 -#define NFS4_FH_VOL_RENAME 35,845 -#define NFS4_OPEN_RESULT_CONFIRM 37,881 -#define NFS4_SHARE_ACCESS_READ 39,922 -#define NFS4_SHARE_ACCESS_WRITE 40,960 -#define NFS4_SHARE_ACCESS_BOTH 41,999 -#define NFS4_SHARE_DENY_READ 42,1037 -#define NFS4_SHARE_DENY_WRITE 43,1073 -#define NFS4_SHARE_DENY_BOTH 44,1110 -#define NFS4_SET_TO_SERVER_TIME 46,1147 -#define NFS4_SET_TO_CLIENT_TIME 47,1181 -#define NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE 49,1216 -#define NFS4_ACE_ACCESS_DENIED_ACE_TYPE 50,1259 -#define NFS4_ACE_SYSTEM_AUDIT_ACE_TYPE 51,1302 -#define NFS4_ACE_SYSTEM_ALARM_ACE_TYPE 52,1345 -#define ACL4_SUPPORT_ALLOW_ACL 54,1389 -#define ACL4_SUPPORT_DENY_ACL 55,1425 -#define ACL4_SUPPORT_AUDIT_ACL 56,1461 -#define ACL4_SUPPORT_ALARM_ACL 57,1497 -#define NFS4_ACE_FILE_INHERIT_ACE 59,1534 -#define NFS4_ACE_DIRECTORY_INHERIT_ACE 60,1591 -#define NFS4_ACE_NO_PROPAGATE_INHERIT_ACE 61,1648 -#define NFS4_ACE_INHERIT_ONLY_ACE 62,1705 -#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG 63,1762 -#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG 64,1819 -#define NFS4_ACE_IDENTIFIER_GROUP 65,1876 -#define NFS4_ACE_OWNER 66,1933 -#define NFS4_ACE_GROUP 67,1990 -#define NFS4_ACE_EVERYONE 68,2047 -#define NFS4_ACE_READ_DATA 70,2105 -#define NFS4_ACE_LIST_DIRECTORY 71,2162 -#define NFS4_ACE_WRITE_DATA 72,2219 -#define NFS4_ACE_ADD_FILE 73,2276 -#define NFS4_ACE_APPEND_DATA 74,2333 -#define NFS4_ACE_ADD_SUBDIRECTORY 75,2390 -#define NFS4_ACE_READ_NAMED_ATTRS 76,2447 -#define NFS4_ACE_WRITE_NAMED_ATTRS 77,2504 -#define NFS4_ACE_EXECUTE 78,2561 -#define NFS4_ACE_DELETE_CHILD 79,2618 -#define NFS4_ACE_READ_ATTRIBUTES 80,2675 -#define NFS4_ACE_WRITE_ATTRIBUTES 81,2732 -#define NFS4_ACE_DELETE 82,2789 -#define NFS4_ACE_READ_ACL 83,2846 -#define NFS4_ACE_WRITE_ACL 84,2903 -#define NFS4_ACE_WRITE_OWNER 85,2960 -#define NFS4_ACE_SYNCHRONIZE 86,3017 -#define NFS4_ACE_GENERIC_READ 87,3074 -#define NFS4_ACE_GENERIC_WRITE 88,3131 -#define NFS4_ACE_GENERIC_EXECUTE 89,3188 -#define NFS4_ACE_MASK_ALL 90,3245 -enum nfs4_acl_whotype nfs4_acl_whotype92,3303 - NFS4_ACL_WHO_NAMED 93,3327 - NFS4_ACL_WHO_OWNER,94,3352 - NFS4_ACL_WHO_GROUP,95,3373 - NFS4_ACL_WHO_EVERYONE,96,3394 -struct nfs4_ace nfs4_ace99,3422 -struct nfs4_acl nfs4_acl108,3552 -typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier;nfs4_verifier113,3619 -typedef struct { char data[16]; } nfs4_stateid;nfs4_stateid114,3684 -enum nfs_opnum4 nfs_opnum4116,3733 - OP_ACCESS 117,3751 - OP_CLOSE 118,3767 - OP_COMMIT 119,3782 - OP_CREATE 120,3798 - OP_DELEGPURGE 121,3814 - OP_DELEGRETURN 122,3834 - OP_GETATTR 123,3855 - OP_GETFH 124,3872 - OP_LINK 125,3888 - OP_LOCK 126,3903 - OP_LOCKT 127,3918 - OP_LOCKU 128,3934 - OP_LOOKUP 129,3950 - OP_LOOKUPP 130,3967 - OP_NVERIFY 131,3985 - OP_OPEN 132,4003 - OP_OPENATTR 133,4018 - OP_OPEN_CONFIRM 134,4037 - OP_OPEN_DOWNGRADE 135,4060 - OP_PUTFH 136,4085 - OP_PUTPUBFH 137,4101 - OP_PUTROOTFH 138,4120 - OP_READ 139,4140 - OP_READDIR 140,4155 - OP_READLINK 141,4173 - OP_REMOVE 142,4192 - OP_RENAME 143,4209 - OP_RENEW 144,4226 - OP_RESTOREFH 145,4242 - OP_SAVEFH 146,4262 - OP_SECINFO 147,4279 - OP_SETATTR 148,4297 - OP_SETCLIENTID 149,4315 - OP_SETCLIENTID_CONFIRM 150,4337 - OP_VERIFY 151,4367 - OP_WRITE 152,4384 - OP_RELEASE_LOCKOWNER 153,4400 - OP_ILLEGAL 154,4428 -enum nfsstat4 nfsstat4157,4453 - NFS4_OK 158,4469 - NFS4ERR_PERM 159,4483 - NFS4ERR_NOENT 160,4502 - NFS4ERR_IO 161,4522 - NFS4ERR_NXIO 162,4539 - NFS4ERR_ACCESS 163,4558 - NFS4ERR_EXIST 164,4580 - NFS4ERR_XDEV 165,4601 - NFS4ERR_NOTDIR 167,4647 - NFS4ERR_ISDIR 168,4669 - NFS4ERR_INVAL 169,4690 - NFS4ERR_FBIG 170,4711 - NFS4ERR_NOSPC 171,4731 - NFS4ERR_ROFS 172,4752 - NFS4ERR_MLINK 173,4772 - NFS4ERR_NAMETOOLONG 174,4793 - NFS4ERR_NOTEMPTY 175,4820 - NFS4ERR_DQUOT 176,4844 - NFS4ERR_STALE 177,4865 - NFS4ERR_BADHANDLE 178,4886 - NFS4ERR_BAD_COOKIE 179,4914 - NFS4ERR_NOTSUPP 180,4943 - NFS4ERR_TOOSMALL 181,4969 - NFS4ERR_SERVERFAULT 182,4996 - NFS4ERR_BADTYPE 183,5026 - NFS4ERR_DELAY 184,5052 - NFS4ERR_SAME 185,5076 - NFS4ERR_DENIED 186,5099 - NFS4ERR_EXPIRED 187,5124 - NFS4ERR_LOCKED 188,5150 - NFS4ERR_GRACE 189,5175 - NFS4ERR_FHEXPIRED 190,5199 - NFS4ERR_SHARE_DENIED 191,5227 - NFS4ERR_WRONGSEC 192,5258 - NFS4ERR_CLID_INUSE 193,5285 - NFS4ERR_RESOURCE 194,5314 - NFS4ERR_MOVED 195,5341 - NFS4ERR_NOFILEHANDLE 196,5365 - NFS4ERR_MINOR_VERS_MISMATCH 197,5396 - NFS4ERR_STALE_CLIENTID 198,5434 - NFS4ERR_STALE_STATEID 199,5467 - NFS4ERR_OLD_STATEID 200,5499 - NFS4ERR_BAD_STATEID 201,5529 - NFS4ERR_BAD_SEQID 202,5559 - NFS4ERR_NOT_SAME 203,5587 - NFS4ERR_LOCK_RANGE 204,5614 - NFS4ERR_SYMLINK 205,5643 - NFS4ERR_RESTOREFH 206,5669 - NFS4ERR_LEASE_MOVED 207,5697 - NFS4ERR_ATTRNOTSUPP 208,5727 - NFS4ERR_NO_GRACE 209,5757 - NFS4ERR_RECLAIM_BAD 210,5784 - NFS4ERR_RECLAIM_CONFLICT 211,5814 - NFS4ERR_BADXDR 212,5849 - NFS4ERR_LOCKS_HELD 213,5874 - NFS4ERR_OPENMODE 214,5903 - NFS4ERR_BADOWNER 215,5930 - NFS4ERR_BADCHAR 216,5957 - NFS4ERR_BADNAME 217,5983 - NFS4ERR_BAD_RANGE 218,6009 - NFS4ERR_LOCK_NOTSUPP 219,6037 - NFS4ERR_OP_ILLEGAL 220,6068 - NFS4ERR_DEADLOCK 221,6097 - NFS4ERR_FILE_OPEN 222,6124 - NFS4ERR_ADMIN_REVOKED 223,6152 - NFS4ERR_CB_PATH_DOWN 224,6184 -enum nfs_ftype4 nfs_ftype4231,6318 - NF4BAD 232,6336 - NF4REG 233,6350 - NF4DIR 234,6401 - NF4BLK 235,6449 - NF4CHR 236,6515 - NF4LNK 237,6585 - NF4SOCK 238,6637 - NF4FIFO 239,6697 - NF4ATTRDIR 240,6755 - NF4NAMEDATTR 241,6813 -enum open_claim_type4 open_claim_type4244,6871 - NFS4_OPEN_CLAIM_NULL 245,6895 - NFS4_OPEN_CLAIM_PREVIOUS 246,6922 - NFS4_OPEN_CLAIM_DELEGATE_CUR 247,6953 - NFS4_OPEN_CLAIM_DELEGATE_PREV 248,6988 -enum opentype4 opentype4251,7027 - NFS4_OPEN_NOCREATE 252,7044 - NFS4_OPEN_CREATE 253,7069 -enum createmode4 createmode4256,7095 - NFS4_CREATE_UNCHECKED 257,7114 - NFS4_CREATE_GUARDED 258,7142 - NFS4_CREATE_EXCLUSIVE 259,7168 -enum limit_by4 limit_by4262,7199 - NFS4_LIMIT_SIZE 263,7216 - NFS4_LIMIT_BLOCKS 264,7238 -enum open_delegation_type4 open_delegation_type4267,7265 - NFS4_OPEN_DELEGATE_NONE 268,7294 - NFS4_OPEN_DELEGATE_READ 269,7324 - NFS4_OPEN_DELEGATE_WRITE 270,7354 -enum lock_type4 lock_type4273,7388 - NFS4_UNLOCK_LT 274,7406 - NFS4_READ_LT 275,7427 - NFS4_WRITE_LT 276,7446 - NFS4_READW_LT 277,7466 - NFS4_WRITEW_LT 278,7486 -#define FATTR4_WORD0_SUPPORTED_ATTRS 283,7538 -#define FATTR4_WORD0_TYPE 284,7589 -#define FATTR4_WORD0_FH_EXPIRE_TYPE 285,7640 -#define FATTR4_WORD0_CHANGE 286,7691 -#define FATTR4_WORD0_SIZE 287,7742 -#define FATTR4_WORD0_LINK_SUPPORT 288,7793 -#define FATTR4_WORD0_SYMLINK_SUPPORT 289,7844 -#define FATTR4_WORD0_NAMED_ATTR 290,7895 -#define FATTR4_WORD0_FSID 291,7946 -#define FATTR4_WORD0_UNIQUE_HANDLES 292,7997 -#define FATTR4_WORD0_LEASE_TIME 293,8048 -#define FATTR4_WORD0_RDATTR_ERROR 294,8100 -#define FATTR4_WORD0_ACL 297,8182 -#define FATTR4_WORD0_ACLSUPPORT 298,8234 -#define FATTR4_WORD0_ARCHIVE 299,8286 -#define FATTR4_WORD0_CANSETTIME 300,8338 -#define FATTR4_WORD0_CASE_INSENSITIVE 301,8390 -#define FATTR4_WORD0_CASE_PRESERVING 302,8442 -#define FATTR4_WORD0_CHOWN_RESTRICTED 303,8494 -#define FATTR4_WORD0_FILEHANDLE 304,8546 -#define FATTR4_WORD0_FILEID 305,8598 -#define FATTR4_WORD0_FILES_AVAIL 306,8650 -#define FATTR4_WORD0_FILES_FREE 307,8702 -#define FATTR4_WORD0_FILES_TOTAL 308,8754 -#define FATTR4_WORD0_FS_LOCATIONS 309,8806 -#define FATTR4_WORD0_HIDDEN 310,8858 -#define FATTR4_WORD0_HOMOGENEOUS 311,8910 -#define FATTR4_WORD0_MAXFILESIZE 312,8962 -#define FATTR4_WORD0_MAXLINK 313,9014 -#define FATTR4_WORD0_MAXNAME 314,9066 -#define FATTR4_WORD0_MAXREAD 315,9118 -#define FATTR4_WORD0_MAXWRITE 316,9170 -#define FATTR4_WORD1_MIMETYPE 317,9222 -#define FATTR4_WORD1_MODE 318,9273 -#define FATTR4_WORD1_NO_TRUNC 319,9324 -#define FATTR4_WORD1_NUMLINKS 320,9375 -#define FATTR4_WORD1_OWNER 321,9426 -#define FATTR4_WORD1_OWNER_GROUP 322,9477 -#define FATTR4_WORD1_QUOTA_HARD 323,9528 -#define FATTR4_WORD1_QUOTA_SOFT 324,9579 -#define FATTR4_WORD1_QUOTA_USED 325,9630 -#define FATTR4_WORD1_RAWDEV 326,9681 -#define FATTR4_WORD1_SPACE_AVAIL 327,9732 -#define FATTR4_WORD1_SPACE_FREE 328,9784 -#define FATTR4_WORD1_SPACE_TOTAL 329,9836 -#define FATTR4_WORD1_SPACE_USED 330,9888 -#define FATTR4_WORD1_SYSTEM 331,9940 -#define FATTR4_WORD1_TIME_ACCESS 332,9992 -#define FATTR4_WORD1_TIME_ACCESS_SET 333,10044 -#define FATTR4_WORD1_TIME_BACKUP 334,10096 -#define FATTR4_WORD1_TIME_CREATE 335,10148 -#define FATTR4_WORD1_TIME_DELTA 336,10200 -#define FATTR4_WORD1_TIME_METADATA 337,10252 -#define FATTR4_WORD1_TIME_MODIFY 338,10304 -#define FATTR4_WORD1_TIME_MODIFY_SET 339,10356 -#define FATTR4_WORD1_MOUNTED_ON_FILEID 340,10408 -#define NFSPROC4_NULL 342,10461 -#define NFSPROC4_COMPOUND 343,10485 -#define NFS4_MINOR_VERSION 344,10513 -#define NFS4_DEBUG 345,10542 - NFSPROC4_CLNT_NULL 352,10641 - NFSPROC4_CLNT_READ,353,10680 - NFSPROC4_CLNT_WRITE,354,10701 - NFSPROC4_CLNT_COMMIT,355,10723 - NFSPROC4_CLNT_OPEN,356,10746 - NFSPROC4_CLNT_OPEN_CONFIRM,357,10767 - NFSPROC4_CLNT_OPEN_NOATTR,358,10796 - NFSPROC4_CLNT_OPEN_DOWNGRADE,359,10824 - NFSPROC4_CLNT_CLOSE,360,10855 - NFSPROC4_CLNT_SETATTR,361,10877 - NFSPROC4_CLNT_FSINFO,362,10901 - NFSPROC4_CLNT_RENEW,363,10924 - NFSPROC4_CLNT_SETCLIENTID,364,10946 - NFSPROC4_CLNT_SETCLIENTID_CONFIRM,365,10974 - NFSPROC4_CLNT_LOCK,366,11010 - NFSPROC4_CLNT_LOCKT,367,11031 - NFSPROC4_CLNT_LOCKU,368,11053 - NFSPROC4_CLNT_ACCESS,369,11075 - NFSPROC4_CLNT_GETATTR,370,11098 - NFSPROC4_CLNT_LOOKUP,371,11122 - NFSPROC4_CLNT_LOOKUP_ROOT,372,11145 - NFSPROC4_CLNT_REMOVE,373,11173 - NFSPROC4_CLNT_RENAME,374,11196 - NFSPROC4_CLNT_LINK,375,11219 - NFSPROC4_CLNT_SYMLINK,376,11240 - NFSPROC4_CLNT_CREATE,377,11264 - NFSPROC4_CLNT_PATHCONF,378,11287 - NFSPROC4_CLNT_STATFS,379,11312 - NFSPROC4_CLNT_READLINK,380,11335 - NFSPROC4_CLNT_READDIR,381,11360 - NFSPROC4_CLNT_SERVER_CAPS,382,11384 - NFSPROC4_CLNT_DELEGRETURN,383,11412 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdla_ppp.h,6463 -#define _SDLA_PPP_H18,777 -# define PACKED 31,1041 -#define PPP508_MB_VECT 35,1157 -#define PPP508_MB_OFFS 36,1215 -#define PPP508_FLG_OFFS 37,1262 -#define PPP508_BUF_OFFS 38,1319 -#define PPP514_MB_OFFS 39,1381 -#define PPP514_FLG_OFFS 40,1434 -#define PPP514_BUF_OFFS 41,1492 -#define PPP_MAX_DATA 43,1556 -typedef struct ppp_cmd{ppp_cmd50,1807 -} ppp_cmd_t;ppp_cmd_t55,2053 -typedef struct cblock{cblock57,2067 -} cblock_t;cblock_t63,2345 -typedef struct ppp_udp_pkt{ppp_udp_pkt65,2358 -} ppp_udp_pkt_t;ppp_udp_pkt_t71,2545 -} trace_pkt_t;trace_pkt_t79,2749 -} trace_element_t;trace_element_t88,2970 -#define PPP_READ_CODE_VERSION 91,3020 -#define PPP_SET_CONFIG 92,3084 -#define PPP_READ_CONFIG 93,3113 -#define PPP_SET_INTR_FLAGS 94,3143 -#define PPP_READ_INTR_FLAGS 95,3175 -#define PPP_SET_INBOUND_AUTH 96,3208 -#define PPP_SET_OUTBOUND_AUTH 97,3242 -#define PPP_GET_CONNECTION_INFO 98,3277 -#define PPP_COMM_ENABLE 100,3315 -#define PPP_COMM_DISABLE 101,3372 -#define PPP_SEND_SIGN_FRAME 102,3402 -#define PPP_READ_SIGN_RESPONSE 103,3435 -#define PPP_DATALINE_MONITOR 104,3471 -#define PPP_READ_STATISTICS 106,3506 -#define PPP_FLUSH_STATISTICS 107,3565 -#define PPP_READ_ERROR_STATS 108,3599 -#define PPP_FLUSH_ERROR_STATS 109,3633 -#define PPP_READ_PACKET_STATS 110,3668 -#define PPP_FLUSH_PACKET_STATS 111,3703 -#define PPP_READ_LCP_STATS 112,3739 -#define PPP_FLUSH_LCP_STATS 113,3771 -#define PPP_READ_LPBK_STATS 114,3804 -#define PPP_FLUSH_LPBK_STATS 115,3837 -#define PPP_READ_IPCP_STATS 116,3871 -#define PPP_FLUSH_IPCP_STATS 117,3904 -#define PPP_READ_IPXCP_STATS 118,3938 -#define PPP_FLUSH_IPXCP_STATS 119,3972 -#define PPP_READ_PAP_STATS 120,4007 -#define PPP_FLUSH_PAP_STATS 121,4039 -#define PPP_READ_CHAP_STATS 122,4072 -#define PPP_FLUSH_CHAP_STATS 123,4105 -#define PPPRES_OK 126,4169 -#define PPPRES_INVALID_STATE 127,4229 -typedef struct ppp_mboxppp_mbox133,4475 -} ppp_mbox_t;ppp_mbox_t138,4685 -typedef struct ppp_flagsppp_flags145,4883 -} ppp_flags_t;ppp_flags_t158,5497 -#define PPP_INTR_RXRDY 161,5535 -#define PPP_INTR_TXRDY 162,5579 -#define PPP_INTR_MODEM 163,5623 -#define PPP_INTR_CMD 164,5689 -#define PPP_INTR_DISC 165,5750 -#define PPP_INTR_OPEN 166,5807 -#define PPP_INTR_DROP_DTR 167,5856 -#define PPP_INTR_TIMER 168,5918 -#define PPP_MDM_DCD 172,6006 -#define PPP_MDM_CTS 173,6054 -#define PPP_LOCAL_TERMINATION 176,6130 -#define PPP_DCD_CTS_DROP 177,6214 -#define PPP_REMOTE_TERMINATION 178,6294 -#define DONT_RE_TX_ABORTED_I_FRAMES 181,6412 -#define TX_FRM_BYTE_COUNT_STATS 182,6454 -#define RX_FRM_BYTE_COUNT_STATS 183,6499 -#define TIME_STAMP_IN_RX_FRAMES 184,6544 -#define NON_STD_ADPTR_FREQ 185,6589 -#define INTERFACE_LEVEL_RS232 186,6634 -#define AUTO_LINK_RECOVERY 187,6679 -#define DONT_TERMINATE_LNK_MAX_CONFIG 188,6725 -#define NO_AUTHENTICATION 191,6831 -#define INBOUND_AUTH 192,6862 -#define PAP_AUTH 193,6889 -#define CHAP_AUTH 194,6912 -#define L_AND_R_IP_NO_ASSIG 197,6966 -#define L_IP_LOCAL_ASSIG 198,6999 -#define L_IP_REMOTE_ASSIG 199,7033 -#define R_IP_LOCAL_ASSIG 200,7067 -#define R_IP_REMOTE_ASSIG 201,7104 -#define ENABLE_IP 202,7141 -#define ROUTING_PROT_DEFAULT 205,7194 -#define ENABLE_IPX 206,7231 -#define DISABLE_IPX 207,7256 -typedef struct ppp508_buf_infoppp508_buf_info214,7465 -} ppp508_buf_info_t;ppp508_buf_info_t226,8084 -typedef struct ppp_buf_ctlppp_buf_ctl231,8231 -} ppp_buf_ctl_t;ppp_buf_ctl_t244,8731 -typedef struct ppp508_confppp508_conf249,8908 -} ppp508_conf_t;ppp508_conf_t276,10467 -typedef struct ppp508_connect_infoppp508_connect_info282,10673 -} ppp508_connect_info_t;ppp508_connect_info_t295,11501 -#define PPP_BITRATE_1200 298,11552 -#define PPP_BITRATE_2400 299,11582 -#define PPP_BITRATE_4800 300,11612 -#define PPP_BITRATE_9600 301,11642 -#define PPP_BITRATE_19200 302,11672 -#define PPP_BITRATE_38400 303,11703 -#define PPP_BITRATE_45000 304,11734 -#define PPP_BITRATE_56000 305,11765 -#define PPP_BITRATE_64000 306,11796 -#define PPP_BITRATE_74000 307,11827 -#define PPP_BITRATE_112000 308,11858 -#define PPP_BITRATE_128000 309,11890 -#define PPP_BITRATE_156000 310,11922 -#define PPP_IGNORE_TX_ABORT 313,11996 -#define PPP_ENABLE_TX_STATS 314,12068 -#define PPP_ENABLE_RX_STATS 315,12128 -#define PPP_ENABLE_TIMESTAMP 316,12188 -#define PPP_LOCAL_IP_LOCAL 319,12273 -#define PPP_LOCAL_IP_REMOTE 320,12305 -#define PPP_REMOTE_IP_LOCAL 321,12338 -#define PPP_REMOTE_IP_REMOTE 322,12371 -#define PPP_REMOTE_IPX_NETNO 325,12434 -#define PPP_REMOTE_IPX_LOCAL 326,12468 -#define PPP_REMOTE_IPX_REMOTE 327,12502 -#define PPP_IPX_ROUTE_RIP_SAP 328,12537 -#define PPP_IPX_ROUTE_NLSP 329,12572 -#define PPP_IPX_ROUTE_DEFAULT 330,12604 -#define PPP_IPX_CONF_COMPLETE 331,12639 -#define PPP_IPX_ENABLE 332,12674 -typedef struct ppp508_get_confppp508_get_conf337,12866 -} ppp508_get_conf_t;ppp508_get_conf_t343,13135 -typedef struct ppp508_statsppp508_stats348,13317 -} ppp508_stats_t;ppp508_stats_t357,13654 -typedef struct ppp_err_statsppp_err_stats362,13832 -} ppp_err_stats_t;ppp_err_stats_t374,14481 -typedef struct ppp_pkt_statsppp_pkt_stats379,14654 -} ppp_pkt_stats_t;ppp_pkt_stats_t400,15507 -typedef struct ppp_lcp_statsppp_lcp_stats405,15674 -} ppp_lcp_stats_t;ppp_lcp_stats_t434,17383 -typedef struct ppp_lpbk_statsppp_lpbk_stats439,17562 -} ppp_lpbk_stats_t;ppp_lpbk_stats_t450,18036 -typedef struct ppp_prot_statsppp_prot_stats456,18239 -} ppp_prot_stats_t;ppp_prot_stats_t478,19499 -typedef struct ppp_pap_statsppp_pap_stats483,19667 -} ppp_pap_stats_t;ppp_pap_stats_t496,20382 -typedef struct ppp_chap_statsppp_chap_stats501,20551 -} ppp_chap_stats_t;ppp_chap_stats_t518,21516 -typedef struct ppp_conn_infoppp_conn_info523,21697 -} ppp_conn_info_t;ppp_conn_info_t536,22252 -typedef struct ppp_intr_info{ppp_intr_info541,22324 -} ppp_intr_info_t;ppp_intr_info_t545,22539 -#define FT1_MONITOR_STATUS_CTRL 548,22560 -#define SET_FT1_MODE 549,22621 -#define PPIPE_ENABLE_TRACING 554,22731 -#define PPIPE_DISABLE_TRACING 555,22792 -#define PPIPE_GET_TRACE_INFO 556,22853 -#define PPIPE_GET_IBA_DATA 557,22914 -#define PPIPE_KILL_BOARD 558,22975 -#define PPIPE_FT1_READ_STATUS 559,23013 -#define PPIPE_DRIVER_STAT_IFSEND 560,23074 -#define PPIPE_DRIVER_STAT_INTR 561,23135 -#define PPIPE_DRIVER_STAT_GEN 562,23196 -#define PPIPE_FLUSH_DRIVER_STATS 563,23257 -#define PPIPE_ROUTER_UP_TIME 564,23318 -#define DISABLE_TRACING 566,23380 -#define TRACE_SIGNALLING_FRAMES 567,23413 -#define TRACE_DATA_FRAMES 568,23453 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/reiserfs_fs_sb.h,6596 -#define _LINUX_REISER_FS_SB5,127 - reiserfs_attrs_cleared 13,251 - reiserfs_attrs_cleared = 0x00000001,13,251 -} reiserfs_super_block_flags;reiserfs_super_block_flags14,290 -#define sb_block_count(sb_block_count19,456 -#define set_sb_block_count(set_sb_block_count20,533 -#define sb_free_blocks(sb_free_blocks21,614 -#define set_sb_free_blocks(set_sb_free_blocks22,691 -#define sb_root_block(sb_root_block23,772 -#define set_sb_root_block(set_sb_root_block24,848 -#define sb_jp_journal_1st_block(sb_jp_journal_1st_block26,929 -#define set_sb_jp_journal_1st_block(set_sb_jp_journal_1st_block28,1041 -#define sb_jp_journal_dev(sb_jp_journal_dev30,1162 -#define set_sb_jp_journal_dev(set_sb_jp_journal_dev32,1261 -#define sb_jp_journal_size(sb_jp_journal_size34,1370 -#define set_sb_jp_journal_size(set_sb_jp_journal_size36,1471 -#define sb_jp_journal_trans_max(sb_jp_journal_trans_max38,1582 -#define set_sb_jp_journal_trans_max(set_sb_jp_journal_trans_max40,1693 -#define sb_jp_journal_magic(sb_jp_journal_magic42,1814 -#define set_sb_jp_journal_magic(set_sb_jp_journal_magic44,1917 -#define sb_jp_journal_max_batch(sb_jp_journal_max_batch46,2030 -#define set_sb_jp_journal_max_batch(set_sb_jp_journal_max_batch48,2141 -#define sb_jp_jourmal_max_commit_age(sb_jp_jourmal_max_commit_age50,2262 -#define set_sb_jp_journal_max_commit_age(set_sb_jp_journal_max_commit_age52,2383 -#define sb_blocksize(sb_blocksize55,2515 -#define set_sb_blocksize(set_sb_blocksize56,2589 -#define sb_oid_maxsize(sb_oid_maxsize57,2667 -#define set_sb_oid_maxsize(set_sb_oid_maxsize58,2743 -#define sb_oid_cursize(sb_oid_cursize59,2823 -#define set_sb_oid_cursize(set_sb_oid_cursize60,2899 -#define sb_umount_state(sb_umount_state61,2979 -#define set_sb_umount_state(set_sb_umount_state62,3056 -#define sb_fs_state(sb_fs_state63,3137 -#define set_sb_fs_state(set_sb_fs_state64,3210 -#define sb_hash_function_code(sb_hash_function_code65,3288 -#define set_sb_hash_function_code(set_sb_hash_function_code67,3387 -#define sb_tree_height(sb_tree_height69,3496 -#define set_sb_tree_height(set_sb_tree_height70,3572 -#define sb_bmap_nr(sb_bmap_nr71,3652 -#define set_sb_bmap_nr(set_sb_bmap_nr72,3724 -#define sb_version(sb_version73,3800 -#define set_sb_version(set_sb_version74,3872 -#define sb_reserved_for_journal(sb_reserved_for_journal76,3949 -#define set_sb_reserved_for_journal(set_sb_reserved_for_journal78,4052 -#define JOURNAL_BLOCK_SIZE 106,5343 -#define JOURNAL_MAX_CNODE 107,5408 -#define JOURNAL_HASH_SIZE 108,5471 -#define JOURNAL_NUM_BITMAPS 109,5505 -struct reiserfs_journal_cnode reiserfs_journal_cnode119,6119 -struct reiserfs_bitmap_node reiserfs_bitmap_node131,6720 -struct reiserfs_list_bitmap reiserfs_list_bitmap137,6807 -struct reiserfs_journal_list reiserfs_journal_list148,7292 -struct reiserfs_journal reiserfs_journal175,8326 -#define JOURNAL_DESC_MAGIC 253,12316 -typedef __u32 (*hashf_t)hashf_t255,12415 -struct reiserfs_bitmap_inforeiserfs_bitmap_info257,12469 -typedef unsigned long int stat_cnt_t;stat_cnt_t268,12747 -typedef struct reiserfs_proc_info_datareiserfs_proc_info_data269,12785 - struct __scan_bitmap_stats __scan_bitmap_stats309,13970 - struct __journal_stats __journal_stats318,14171 -} reiserfs_proc_info_data_t;reiserfs_proc_info_data_t334,14623 -typedef struct reiserfs_proc_info_datareiserfs_proc_info_data336,14658 -{} reiserfs_proc_info_data_t;reiserfs_proc_info_data_t337,14697 -struct reiserfs_sb_inforeiserfs_sb_info341,14784 -#define REISERFS_3_5 405,17676 -#define REISERFS_3_6 406,17699 -enum reiserfs_mount_options reiserfs_mount_options408,17723 - REISERFS_LARGETAIL,410,17773 - REISERFS_SMALLTAIL,411,17845 - REPLAYONLY,412,17950 - REISERFS_CONVERT,413,18013 - FORCE_TEA_HASH,427,18804 - FORCE_RUPASOV_HASH,428,18866 - FORCE_R5_HASH,429,18932 - FORCE_HASH_DETECT,430,18998 - REISERFS_DATA_LOG,432,19067 - REISERFS_DATA_ORDERED,433,19090 - REISERFS_DATA_WRITEBACK,434,19117 - REISERFS_NO_BORDER,440,19335 - REISERFS_NO_UNHASHED_RELOCATION,441,19359 - REISERFS_HASHED_RELOCATION,442,19396 - REISERFS_ATTRS,443,19428 - REISERFS_XATTRS,444,19448 - REISERFS_XATTRS_USER,445,19469 - REISERFS_POSIXACL,446,19495 - REISERFS_BARRIER_NONE,447,19518 - REISERFS_BARRIER_FLUSH,448,19545 - REISERFS_TEST1,450,19574 - REISERFS_TEST2,451,19594 - REISERFS_TEST3,452,19614 - REISERFS_TEST4,453,19634 -#define reiserfs_r5_hash(reiserfs_r5_hash456,19658 -#define reiserfs_rupasov_hash(reiserfs_rupasov_hash457,19739 -#define reiserfs_tea_hash(reiserfs_tea_hash458,19830 -#define reiserfs_hash_detect(reiserfs_hash_detect459,19913 -#define reiserfs_no_border(reiserfs_no_border460,20002 -#define reiserfs_no_unhashed_relocation(reiserfs_no_unhashed_relocation461,20090 -#define reiserfs_hashed_relocation(reiserfs_hashed_relocation462,20204 -#define reiserfs_test4(reiserfs_test4463,20308 -#define have_large_tails(have_large_tails465,20389 -#define have_small_tails(have_small_tails466,20475 -#define replay_only(replay_only467,20561 -#define reiserfs_attrs(reiserfs_attrs468,20634 -#define old_format_only(old_format_only469,20714 -#define convert_reiserfs(convert_reiserfs470,20794 -#define reiserfs_data_log(reiserfs_data_log471,20878 -#define reiserfs_data_ordered(reiserfs_data_ordered472,20964 -#define reiserfs_data_writeback(reiserfs_data_writeback473,21058 -#define reiserfs_xattrs(reiserfs_xattrs474,21156 -#define reiserfs_xattrs_user(reiserfs_xattrs_user475,21238 -#define reiserfs_posixacl(reiserfs_posixacl476,21330 -#define reiserfs_xattrs_optional(reiserfs_xattrs_optional477,21416 -#define reiserfs_barrier_none(reiserfs_barrier_none478,21502 -#define reiserfs_barrier_flush(reiserfs_barrier_flush479,21596 -#define CARRY_ON 485,21865 -#define SCHEDULE_OCCURRED 486,21899 -#define SB_BUFFER_WITH_SB(SB_BUFFER_WITH_SB489,21935 -#define SB_JOURNAL(SB_JOURNAL490,21988 -#define SB_JOURNAL_1st_RESERVED_BLOCK(SB_JOURNAL_1st_RESERVED_BLOCK491,22038 -#define SB_JOURNAL_LEN_FREE(SB_JOURNAL_LEN_FREE492,22117 -#define SB_AP_BITMAP(SB_AP_BITMAP493,22185 -#define SB_DISK_JOURNAL_HEAD(SB_DISK_JOURNAL_HEAD495,22240 -#define SB_JOURNAL_TRANS_MAX(SB_JOURNAL_TRANS_MAX497,22304 -#define SB_JOURNAL_MAX_BATCH(SB_JOURNAL_MAX_BATCH498,22378 -#define SB_JOURNAL_MAX_COMMIT_AGE(SB_JOURNAL_MAX_COMMIT_AGE499,22452 -#define SB_JOURNAL_DEFAULT_MAX_COMMIT_AGE(SB_JOURNAL_DEFAULT_MAX_COMMIT_AGE500,22531 -#define SB_JOURNAL_MAX_TRANS_AGE(SB_JOURNAL_MAX_TRANS_AGE501,22626 -static inline char *reiserfs_bdevname(506,22850 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ps2esdi.h,2023 -#define _PS2ESDI_H_2,20 -#define NRML_ESDI_ID 4,41 -#define INTG_ESDI_ID 5,69 -#define PRIMARY_IO_BASE 7,98 -#define ALT_IO_BASE 8,129 -#define ESDI_CMD_INT 10,157 -#define ESDI_STT_INT 11,190 -#define ESDI_CONTROL 12,223 -#define ESDI_STATUS 13,256 -#define ESDI_ATTN 14,289 -#define ESDI_INTRPT 15,322 -#define STATUS_ENABLED 17,356 -#define STATUS_ALTERNATE 18,387 -#define STATUS_BUSY 19,418 -#define STATUS_STAT_AVAIL 20,449 -#define STATUS_INTR 21,480 -#define STATUS_RESET_FAIL 22,511 -#define STATUS_CMD_INF 23,542 -#define CTRL_SOFT_RESET 25,573 -#define CTRL_HARD_RESET 26,604 -#define CTRL_EOI 27,635 -#define CTRL_ENABLE_DMA 28,666 -#define CTRL_ENABLE_INTR 29,697 -#define CTRL_DISABLE_INTR 30,728 -#define ATT_EOI 32,761 -#define CONFIG_IS 35,866 -#define CONFIG_ZD 36,913 -#define CONFIG_SF 37,954 -#define CONFIG_FR 38,997 -#define CONFIG_RT 39,1036 -#define PORT_SYS_A 41,1074 -#define PORT_DMA_FN 42,1100 -#define PORT_DMA_EX 43,1126 -#define ON 45,1153 -#define OFF 46,1184 -#define LITE_ON 47,1215 -#define LITE_OFF 48,1269 -#define FAIL 50,1328 -#define SUCCES 51,1343 -#define INT_CMD_COMPLETE 53,1361 -#define INT_CMD_ECC 54,1391 -#define INT_CMD_RETRY 55,1421 -#define INT_CMD_FORMAT 56,1451 -#define INT_CMD_ECC_RETRY 57,1481 -#define INT_CMD_WARNING 58,1512 -#define INT_CMD_ABORT 59,1542 -#define INT_RESET 60,1572 -#define INT_TRANSFER_REQ 61,1602 -#define INT_CMD_FAILED 62,1632 -#define INT_DMA_ERR 63,1662 -#define INT_CMD_BLK_ERR 64,1692 -#define INT_ATTN_ERROR 65,1722 -#define DMA_MASK_CHAN 67,1753 -#define DMA_UNMASK_CHAN 68,1780 -#define DMA_WRITE_ADDR 69,1809 -#define DMA_WRITE_TC 70,1837 -#define DMA_WRITE_MODE 71,1863 -#define CMD_GET_DEV_CONFIG 73,1892 -#define CMD_READ 74,1924 -#define CMD_WRITE 75,1948 -#define DMA_READ_16 76,1973 -#define DMA_WRITE_16 77,1998 -#define MB 80,2026 -#define SECT_SIZE 81,2047 -#define ERROR 83,2073 -#define OK 84,2089 -#define HDIO_GETGEO 86,2103 -#define FALSE 88,2131 -#define TRUE 89,2147 -struct ps2esdi_geometry ps2esdi_geometry91,2168 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cramfs_fs.h,811 -#define __CRAMFS_H2,19 -typedef unsigned char u8;u86,59 -typedef unsigned short u16;u167,85 -typedef unsigned int u32;u328,113 -#define CRAMFS_MAGIC 12,148 -#define CRAMFS_SIGNATURE 13,206 -#define CRAMFS_MODE_WIDTH 19,364 -#define CRAMFS_UID_WIDTH 20,393 -#define CRAMFS_SIZE_WIDTH 21,421 -#define CRAMFS_GID_WIDTH 22,450 -#define CRAMFS_NAMELEN_WIDTH 23,477 -#define CRAMFS_OFFSET_WIDTH 24,508 -#define CRAMFS_MAXPATHLEN 30,650 -struct cramfs_inode cramfs_inode35,779 -struct cramfs_info cramfs_info50,1488 -struct cramfs_super cramfs_super60,1623 -#define CRAMFS_FLAG_FSID_VERSION_2 77,2164 -#define CRAMFS_FLAG_SORTED_DIRS 78,2232 -#define CRAMFS_FLAG_HOLES 79,2294 -#define CRAMFS_FLAG_WRONG_SIGNATURE 80,2356 -#define CRAMFS_FLAG_SHIFTED_ROOT_OFFSET 81,2418 -#define CRAMFS_SUPPORTED_FLAGS 88,2665 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/reiserfs_fs.h,24119 -#define _LINUX_REISER_FS_H13,439 -#define USE_INODE_GENERATION_COUNTER59,1483 -#define REISERFS_PREALLOCATE61,1521 -#define DISPLACE_NEW_PACKING_LOCALITIES62,1550 -#define PREALLOCATION_SIZE 63,1590 -#define _ROUND_UP(_ROUND_UP66,1647 -#define ROUND_UP(ROUND_UP71,1861 -#define REISERFS_DEBUG_CODE 76,1988 -#define RASSERT(RASSERT82,2221 -#define RFALSE(RFALSE89,2522 -#define RFALSE(RFALSE91,2605 -#define CONSTF 94,2671 -#define UNSET_HASH 107,3178 -#define TEA_HASH 109,3303 -#define YURA_HASH 110,3323 -#define R5_HASH 111,3343 -#define DEFAULT_HASH 112,3363 -struct journal_params journal_params115,3394 -struct reiserfs_super_block_v1reiserfs_super_block_v1132,4195 -#define SB_SIZE_V1 161,5685 -struct reiserfs_super_blockreiserfs_super_block164,5784 -#define SB_SIZE 177,6338 -#define REISERFS_VERSION_1 179,6393 -#define REISERFS_VERSION_2 180,6422 -#define SB_DISK_SUPER_BLOCK(SB_DISK_SUPER_BLOCK184,6505 -#define SB_V1_DISK_SUPER_BLOCK(SB_V1_DISK_SUPER_BLOCK185,6559 -#define SB_BLOCKSIZE(SB_BLOCKSIZE186,6627 -#define SB_BLOCK_COUNT(SB_BLOCK_COUNT188,6716 -#define SB_FREE_BLOCKS(SB_FREE_BLOCKS190,6809 -#define SB_REISERFS_MAGIC(SB_REISERFS_MAGIC192,6902 -#define SB_ROOT_BLOCK(SB_ROOT_BLOCK194,6978 -#define SB_TREE_HEIGHT(SB_TREE_HEIGHT196,7069 -#define SB_REISERFS_STATE(SB_REISERFS_STATE198,7162 -#define SB_VERSION(SB_VERSION200,7259 -#define SB_BMAP_NR(SB_BMAP_NR201,7334 -#define PUT_SB_BLOCK_COUNT(PUT_SB_BLOCK_COUNT203,7410 -#define PUT_SB_FREE_BLOCKS(PUT_SB_FREE_BLOCKS205,7528 -#define PUT_SB_ROOT_BLOCK(PUT_SB_ROOT_BLOCK207,7646 -#define PUT_SB_TREE_HEIGHT(PUT_SB_TREE_HEIGHT209,7762 -#define PUT_SB_REISERFS_STATE(PUT_SB_REISERFS_STATE211,7880 -#define PUT_SB_VERSION(PUT_SB_VERSION213,8003 -#define PUT_SB_BMAP_NR(PUT_SB_BMAP_NR215,8113 -#define SB_ONDISK_JP(SB_ONDISK_JP219,8226 -#define SB_ONDISK_JOURNAL_SIZE(SB_ONDISK_JOURNAL_SIZE220,8290 -#define SB_ONDISK_JOURNAL_1st_BLOCK(SB_ONDISK_JOURNAL_1st_BLOCK222,8384 -#define SB_ONDISK_JOURNAL_DEVICE(SB_ONDISK_JOURNAL_DEVICE224,8488 -#define SB_ONDISK_RESERVED_FOR_JOURNAL(SB_ONDISK_RESERVED_FOR_JOURNAL226,8583 -#define is_block_in_log_or_reserved_area(is_block_in_log_or_reserved_area229,8703 -#define REISERFS_SUPER_MAGIC 238,9025 -#define REISERFS_SUPER_MAGIC_STRING 241,9174 -#define REISER2FS_SUPER_MAGIC_STRING 242,9221 -#define REISER2FS_JR_SUPER_MAGIC_STRING 243,9270 -#define REISERFS_DISK_OFFSET_IN_BYTES 258,9957 -#define REISERFS_FIRST_BLOCK 259,10007 -#define REISERFS_JOURNAL_OFFSET_IN_BYTES 260,10050 -#define REISERFS_OLD_DISK_OFFSET_IN_BYTES 263,10188 -#define CARRY_ON 266,10313 -#define REPEAT_SEARCH 267,10337 -#define IO_ERROR 268,10362 -#define NO_DISK_SPACE 269,10387 -#define NO_BALANCING_NEEDED 270,10412 -#define NO_MORE_UNUSED_CONTIGUOUS_BLOCKS 271,10446 -#define QUOTA_EXCEEDED 272,10492 -typedef __u32 b_blocknr_t;b_blocknr_t274,10519 -typedef __u32 unp_t;unp_t275,10546 -struct unfm_nodeinfo unfm_nodeinfo277,10568 -#define KEY_FORMAT_3_5 284,10704 -#define KEY_FORMAT_3_6 285,10729 -#define STAT_DATA_V1 288,10786 -#define STAT_DATA_V2 289,10809 -static inline struct reiserfs_inode_info *REISERFS_I(292,10834 -static inline struct reiserfs_sb_info *REISERFS_SB(297,10987 -#define get_inode_item_key_version(get_inode_item_key_version304,11190 -#define set_inode_item_key_version(set_inode_item_key_version307,11367 -#define get_inode_sd_version(get_inode_sd_version313,11764 -#define set_inode_sd_version(set_inode_sd_version316,11938 -#define STORE_TAIL_IN_UNFM_S1(STORE_TAIL_IN_UNFM_S1332,12972 -#define STORE_TAIL_IN_UNFM_S2(STORE_TAIL_IN_UNFM_S2350,13754 -#define REISERFS_VALID_FS 361,13957 -#define REISERFS_ERROR_FS 362,13988 -#define TYPE_STAT_DATA 367,14062 -#define TYPE_INDIRECT 368,14087 -#define TYPE_DIRECT 369,14111 -#define TYPE_DIRENTRY 370,14133 -#define TYPE_MAXTYPE 371,14158 -#define TYPE_ANY 372,14182 -struct offset_v1 offset_v1381,14523 -struct offset_v2 offset_v2386,14619 -} __attribute__ ((__packed__)__packed__402,14952 -static inline __u16 offset_v2_k_type(404,15009 -static inline void set_offset_v2_k_type(411,15279 -static inline loff_t offset_v2_k_offset(419,15547 -static inline void set_offset_v2_k_offset(426,15773 -# define offset_v2_k_type(offset_v2_k_type433,16055 -# define set_offset_v2_k_type(set_offset_v2_k_type434,16110 -# define offset_v2_k_offset(offset_v2_k_offset435,16181 -# define set_offset_v2_k_offset(set_offset_v2_k_offset436,16238 -struct key key441,16414 - } __attribute__ __attribute__448,16638 -struct cpu_key cpu_key452,16710 -#define REISERFS_FULL_KEY_LEN 463,17114 -#define REISERFS_SHORT_KEY_LEN 464,17150 -#define FIRST_GREATER 467,17223 -#define SECOND_GREATER 468,17247 -#define KEYS_IDENTICAL 469,17273 -#define KEY_FOUND 470,17298 -#define KEY_NOT_FOUND 471,17318 -#define KEY_SIZE 473,17343 -#define SHORT_KEY_SIZE 474,17381 -#define ITEM_FOUND 477,17488 -#define ITEM_NOT_FOUND 478,17509 -#define ENTRY_FOUND 479,17534 -#define ENTRY_NOT_FOUND 480,17556 -#define DIRECTORY_NOT_FOUND 481,17582 -#define REGULAR_FILE_FOUND 482,17613 -#define DIRECTORY_FOUND 483,17643 -#define BYTE_FOUND 484,17670 -#define BYTE_NOT_FOUND 485,17691 -#define FILE_NOT_FOUND 486,17716 -#define POSITION_FOUND 488,17743 -#define POSITION_NOT_FOUND 489,17768 -#define NAME_FOUND 492,17863 -#define NAME_NOT_FOUND 493,17884 -#define GOTO_PREVIOUS_ITEM 494,17909 -#define NAME_FOUND_INVISIBLE 495,17938 -struct item_headitem_head502,18194 - } __attribute__ __attribute__518,18802 -#define IH_SIZE 528,19198 -#define ih_free_space(ih_free_space530,19242 -#define ih_version(ih_version531,19323 -#define ih_entry_count(ih_entry_count532,19390 -#define ih_location(ih_location533,19463 -#define ih_item_len(ih_item_len534,19536 -#define put_ih_free_space(put_ih_free_space536,19605 -#define put_ih_version(put_ih_version537,19709 -#define put_ih_entry_count(put_ih_entry_count538,19800 -#define put_ih_location(put_ih_location539,19897 -#define put_ih_item_len(put_ih_item_len540,19994 -#define unreachable_item(unreachable_item543,20088 -#define get_ih_free_space(get_ih_free_space545,20147 -#define set_ih_free_space(set_ih_free_space546,20238 -#define get_block_num(get_block_num554,20580 -#define put_block_num(put_block_num555,20646 -#define V1_SD_UNIQUENESS 560,20775 -#define V1_INDIRECT_UNIQUENESS 561,20802 -#define V1_DIRECT_UNIQUENESS 562,20844 -#define V1_DIRENTRY_UNIQUENESS 563,20884 -#define V1_ANY_UNIQUENESS 564,20919 -static inline __u32 type2uniqueness 585,21529 -static inline loff_t le_key_k_offset 605,22167 -static inline loff_t le_ih_k_offset 612,22387 -static inline loff_t le_key_k_type 617,22519 -static inline loff_t le_ih_k_type 624,22756 -static inline void set_le_key_k_offset 630,22885 -static inline void set_le_ih_k_offset 638,23162 -static inline void set_le_key_k_type 644,23311 -static inline void set_le_ih_k_type 650,23576 -#define is_direntry_le_key(is_direntry_le_key656,23714 -#define is_direct_le_key(is_direct_le_key657,23802 -#define is_indirect_le_key(is_indirect_le_key658,23886 -#define is_statdata_le_key(is_statdata_le_key659,23974 -#define is_direntry_le_ih(is_direntry_le_ih664,24098 -#define is_direct_le_ih(is_direct_le_ih665,24182 -#define is_indirect_le_ih(is_indirect_le_ih666,24262 -#define is_statdata_le_ih(is_statdata_le_ih667,24345 -static inline loff_t cpu_key_k_offset 674,24482 -static inline loff_t cpu_key_k_type 681,24692 -static inline void set_cpu_key_k_offset 688,24920 -static inline void set_cpu_key_k_type 696,25157 -static inline void cpu_key_k_offset_dec 704,25402 -#define is_direntry_cpu_key(is_direntry_cpu_key713,25610 -#define is_direct_cpu_key(is_direct_cpu_key714,25683 -#define is_indirect_cpu_key(is_indirect_cpu_key715,25752 -#define is_statdata_cpu_key(is_statdata_cpu_key716,25825 -#define is_direntry_cpu_ih(is_direntry_cpu_ih720,25924 -#define is_direct_cpu_ih(is_direct_cpu_ih721,25995 -#define is_indirect_cpu_ih(is_indirect_cpu_ih722,26062 -#define is_statdata_cpu_ih(is_statdata_cpu_ih723,26133 -#define I_K_KEY_IN_ITEM(I_K_KEY_IN_ITEM729,26209 -#define MAX_ITEM_LEN(MAX_ITEM_LEN734,26414 -#define MIN_ITEM_LEN 735,26482 -#define REISERFS_ROOT_OBJECTID 739,26544 -#define REISERFS_ROOT_PARENT_OBJECTID 740,26577 -struct block_head block_head757,27138 -#define BLKH_SIZE 766,27478 -#define blkh_level(blkh_level767,27544 -#define blkh_nr_item(blkh_nr_item768,27617 -#define blkh_free_space(blkh_free_space769,27692 -#define blkh_reserved(blkh_reserved770,27770 -#define set_blkh_level(set_blkh_level771,27846 -#define set_blkh_nr_item(set_blkh_nr_item772,27925 -#define set_blkh_free_space(set_blkh_free_space773,28006 -#define set_blkh_reserved(set_blkh_reserved774,28092 -#define blkh_right_delim_key(blkh_right_delim_key775,28174 -#define set_blkh_right_delim_key(set_blkh_right_delim_key776,28244 -#define FREE_LEVEL 782,28392 -#define DISK_LEAF_NODE_LEVEL 787,28563 -#define B_BLK_HEAD(B_BLK_HEAD790,28707 -#define B_NR_ITEMS(B_NR_ITEMS792,28829 -#define B_LEVEL(B_LEVEL793,28902 -#define B_FREE_SPACE(B_FREE_SPACE794,28973 -#define PUT_B_NR_ITEMS(PUT_B_NR_ITEMS796,29050 -#define PUT_B_LEVEL(PUT_B_LEVEL797,29147 -#define PUT_B_FREE_SPACE(PUT_B_FREE_SPACE798,29242 -#define B_PRIGHT_DELIM_KEY(B_PRIGHT_DELIM_KEY802,29393 -#define B_IS_ITEMS_LEVEL(B_IS_ITEMS_LEVEL805,29517 -#define B_IS_KEYS_LEVEL(B_IS_KEYS_LEVEL808,29648 -struct stat_data_v1stat_data_v1823,30143 - } __attribute__ __attribute__836,30645 -#define SD_V1_SIZE 848,31105 -#define stat_data_v1(stat_data_v1849,31167 -#define sd_v1_mode(sd_v1_mode850,31235 -#define set_sd_v1_mode(set_sd_v1_mode851,31297 -#define sd_v1_nlink(sd_v1_nlink852,31363 -#define set_sd_v1_nlink(set_sd_v1_nlink853,31426 -#define sd_v1_uid(sd_v1_uid854,31493 -#define set_sd_v1_uid(set_sd_v1_uid855,31554 -#define sd_v1_gid(sd_v1_gid856,31619 -#define set_sd_v1_gid(set_sd_v1_gid857,31680 -#define sd_v1_size(sd_v1_size858,31745 -#define set_sd_v1_size(set_sd_v1_size859,31807 -#define sd_v1_atime(sd_v1_atime860,31873 -#define set_sd_v1_atime(set_sd_v1_atime861,31936 -#define sd_v1_mtime(sd_v1_mtime862,32003 -#define set_sd_v1_mtime(set_sd_v1_mtime863,32066 -#define sd_v1_ctime(sd_v1_ctime864,32133 -#define set_sd_v1_ctime(set_sd_v1_ctime865,32196 -#define sd_v1_rdev(sd_v1_rdev866,32263 -#define set_sd_v1_rdev(set_sd_v1_rdev867,32327 -#define sd_v1_blocks(sd_v1_blocks868,32395 -#define set_sd_v1_blocks(set_sd_v1_blocks869,32461 -#define sd_v1_first_direct_byte(sd_v1_first_direct_byte870,32531 -#define set_sd_v1_first_direct_byte(set_sd_v1_first_direct_byte872,32645 -#define REISERFS_IMMUTABLE_FL 881,32960 -#define REISERFS_APPEND_FL 882,33008 -#define REISERFS_SYNC_FL 883,33053 -#define REISERFS_NOATIME_FL 884,33096 -#define REISERFS_NODUMP_FL 885,33142 -#define REISERFS_SECRM_FL 886,33187 -#define REISERFS_UNRM_FL 887,33231 -#define REISERFS_COMPR_FL 888,33274 -#define REISERFS_NOTAIL_FL 889,33318 -#define REISERFS_INHERIT_MASK 892,33432 -struct stat_data stat_data902,33737 - } __attribute__ __attribute__925,34685 -#define SD_SIZE 930,34784 -#define SD_V2_SIZE 931,34827 -#define stat_data_v2(stat_data_v2932,34867 -#define sd_v2_mode(sd_v2_mode933,34935 -#define set_sd_v2_mode(set_sd_v2_mode934,34997 -#define sd_v2_nlink(sd_v2_nlink937,35103 -#define set_sd_v2_nlink(set_sd_v2_nlink938,35166 -#define sd_v2_size(sd_v2_size939,35233 -#define set_sd_v2_size(set_sd_v2_size940,35295 -#define sd_v2_uid(sd_v2_uid941,35361 -#define set_sd_v2_uid(set_sd_v2_uid942,35422 -#define sd_v2_gid(sd_v2_gid943,35487 -#define set_sd_v2_gid(set_sd_v2_gid944,35548 -#define sd_v2_atime(sd_v2_atime945,35613 -#define set_sd_v2_atime(set_sd_v2_atime946,35676 -#define sd_v2_mtime(sd_v2_mtime947,35743 -#define set_sd_v2_mtime(set_sd_v2_mtime948,35806 -#define sd_v2_ctime(sd_v2_ctime949,35873 -#define set_sd_v2_ctime(set_sd_v2_ctime950,35936 -#define sd_v2_blocks(sd_v2_blocks951,36003 -#define set_sd_v2_blocks(set_sd_v2_blocks952,36067 -#define sd_v2_rdev(sd_v2_rdev953,36135 -#define set_sd_v2_rdev(set_sd_v2_rdev954,36199 -#define sd_v2_generation(sd_v2_generation955,36267 -#define set_sd_v2_generation(set_sd_v2_generation956,36337 -#define sd_v2_attrs(sd_v2_attrs957,36415 -#define set_sd_v2_attrs(set_sd_v2_attrs958,36479 -#define SD_OFFSET 977,37388 -#define SD_UNIQUENESS 978,37409 -#define DOT_OFFSET 979,37433 -#define DOT_DOT_OFFSET 980,37454 -#define DIRENTRY_UNIQUENESS 981,37479 -#define FIRST_ITEM_OFFSET 984,37518 -struct reiserfs_de_headreiserfs_de_head997,37845 -#define DEH_SIZE 1007,38373 -#define deh_offset(deh_offset1008,38439 -#define deh_dir_id(deh_dir_id1009,38508 -#define deh_objectid(deh_objectid1010,38577 -#define deh_location(deh_location1011,38648 -#define deh_state(deh_state1012,38719 -#define put_deh_offset(put_deh_offset1014,38788 -#define put_deh_dir_id(put_deh_dir_id1015,38863 -#define put_deh_objectid(put_deh_objectid1016,38938 -#define put_deh_location(put_deh_location1017,39015 -#define put_deh_state(put_deh_state1018,39092 -#define EMPTY_DIR_SIZE 1021,39241 -#define EMPTY_DIR_SIZE_V1 1025,39390 -#define DEH_Statdata 1027,39436 -#define DEH_Visible 1028,39480 -# define ADDR_UNALIGNED_BITS 1032,39641 -# define aligned_address(aligned_address1040,39850 -# define unaligned_offset(unaligned_offset1041,39956 -# define set_bit_unaligned(set_bit_unaligned1043,40064 -# define clear_bit_unaligned(clear_bit_unaligned1044,40174 -# define test_bit_unaligned(test_bit_unaligned1045,40286 -# define set_bit_unaligned(set_bit_unaligned1049,40405 -# define clear_bit_unaligned(clear_bit_unaligned1050,40471 -# define test_bit_unaligned(test_bit_unaligned1051,40539 -#define mark_de_with_sd(mark_de_with_sd1055,40615 -#define mark_de_without_sd(mark_de_without_sd1056,40705 -#define mark_de_visible(mark_de_visible1057,40797 -#define mark_de_hidden(mark_de_hidden1058,40883 -#define de_with_sd(de_with_sd1060,40971 -#define de_visible(de_visible1061,41055 -#define de_hidden(de_hidden1062,41142 -#define B_I_PITEM(B_I_PITEM1071,41515 -#define B_I_DEH(B_I_DEH1072,41575 -static inline int entry_length 1084,42150 -#define I_ENTRY_COUNT(I_ENTRY_COUNT1099,42588 -#define B_I_E_NAME(B_I_E_NAME1103,42674 -#define REISERFS_MAX_NAME(REISERFS_MAX_NAME1106,42831 -struct reiserfs_dir_entryreiserfs_dir_entry1113,43099 -#define B_I_DEH_ENTRY_FILE_NAME(B_I_DEH_ENTRY_FILE_NAME1134,43565 -#define I_DEH_N_ENTRY_FILE_NAME_LENGTH(I_DEH_N_ENTRY_FILE_NAME_LENGTH1137,43671 -#define GET_HASH_VALUE(GET_HASH_VALUE1143,43859 -#define GET_GENERATION_NUMBER(GET_GENERATION_NUMBER1145,43980 -#define MAX_GENERATION_NUMBER 1146,44038 -#define SET_GENERATION_NUMBER(SET_GENERATION_NUMBER1148,44074 -struct disk_child disk_child1165,44866 -#define DC_SIZE 1171,45063 -#define dc_block_number(dc_block_number1172,45107 -#define dc_size(dc_size1173,45176 -#define put_dc_block_number(put_dc_block_number1174,45230 -#define put_dc_size(put_dc_size1175,45331 -#define B_N_CHILD(B_N_CHILD1178,45486 -#define B_N_CHILD_NUM(B_N_CHILD_NUM1182,45694 -#define PUT_B_N_CHILD_NUM(PUT_B_N_CHILD_NUM1183,45773 -#define MAX_CHILD_SIZE(MAX_CHILD_SIZE1187,46008 -#define B_CHILD_SIZE(B_CHILD_SIZE1190,46136 -#define MAX_NR_KEY(MAX_NR_KEY1193,46255 -#define MIN_NR_KEY(MIN_NR_KEY1194,46330 -struct path_element path_element1209,47290 -#define MAX_HEIGHT 1215,47584 -#define EXTENDED_MAX_HEIGHT 1216,47696 -#define FIRST_PATH_ELEMENT_OFFSET 1217,47794 -#define ILLEGAL_PATH_ELEMENT_OFFSET 1219,47868 -#define MAX_FEB_SIZE 1220,47959 -#define PATH_READA 1241,48968 -#define PATH_READA_BACK 1242,49011 -struct path path1244,49061 -#define pos_in_item(pos_in_item1251,49305 -#define INITIALIZE_PATH(INITIALIZE_PATH1253,49354 -#define PATH_OFFSET_PELEMENT(PATH_OFFSET_PELEMENT1257,49512 -#define PATH_OFFSET_PBUFFER(PATH_OFFSET_PBUFFER1260,49665 -#define PATH_OFFSET_POSITION(PATH_OFFSET_POSITION1263,49841 -#define PATH_PLAST_BUFFER(PATH_PLAST_BUFFER1266,49946 -#define PATH_LAST_POSITION(PATH_LAST_POSITION1273,50413 -#define PATH_PITEM_HEAD(PATH_PITEM_HEAD1276,50512 -#define PATH_H_PBUFFER(PATH_H_PBUFFER1280,50756 -#define PATH_H_PPARENT(PATH_H_PPARENT1281,50867 -#define PATH_H_POSITION(PATH_H_POSITION1282,50969 -#define PATH_H_B_ITEM_ORDER(PATH_H_B_ITEM_ORDER1283,51056 -#define PATH_H_PATH_OFFSET(PATH_H_PATH_OFFSET1285,51153 -#define get_last_bh(get_last_bh1287,51230 -#define get_ih(get_ih1288,51280 -#define get_item_pos(get_item_pos1289,51323 -#define get_item(get_item1290,51375 -#define item_moved(item_moved1291,51470 -#define path_changed(path_changed1292,51519 -#define UNFM_P_SIZE 1300,51855 -#define UNFM_P_SHIFT 1301,51891 -#define INODE_PKEY(INODE_PKEY1304,51960 -#define MAX_UL_INT 1306,52030 -#define MAX_INT 1307,52060 -#define MAX_US_INT 1308,52089 -#define U32_MAX 1311,52188 -static inline loff_t max_reiserfs_offset 1313,52217 -#define MAX_KEY_OBJECTID 1323,52455 -#define MAX_B_NUM 1326,52493 -#define MAX_FC_NUM 1327,52523 -#define REISERFS_LINK_MAX 1331,52616 -#define REISERFS_KERNEL_MEM 1335,52751 -#define REISERFS_USER_MEM 1336,52816 -#define fs_generation(fs_generation1338,52879 -#define get_generation(get_generation1339,52943 -#define FILESYSTEM_CHANGED_TB(FILESYSTEM_CHANGED_TB1340,53001 -#define __fs_changed(__fs_changed1341,53082 -#define fs_changed(fs_changed1342,53138 -#define VI_TYPE_LEFT_MERGEABLE 1349,53443 -#define VI_TYPE_RIGHT_MERGEABLE 1350,53476 -struct virtual_itemvirtual_item1365,54357 -struct virtual_nodevirtual_node1377,54787 -struct direntry_uarea direntry_uarea1391,55479 -#define MAX_FREE_BLOCK 1413,56470 -#define MAX_AMOUNT_NEEDED 1416,56615 -struct tree_balancetree_balance1419,56715 -#define M_INSERT 1490,60785 -#define M_PASTE 1493,60898 -#define M_DELETE 1495,60948 -#define M_CUT 1497,61045 -#define M_INTERNAL 1500,61130 -#define M_SKIP_BALANCING 1504,61245 -#define M_CONVERT 1505,61276 -#define LEAF_FROM_S_TO_L 1508,61330 -#define LEAF_FROM_S_TO_R 1509,61357 -#define LEAF_FROM_R_TO_L 1510,61384 -#define LEAF_FROM_L_TO_R 1511,61411 -#define LEAF_FROM_S_TO_SNEW 1512,61438 -#define FIRST_TO_LAST 1514,61469 -#define LAST_TO_FIRST 1515,61493 -struct buffer_info buffer_info1519,61621 -struct item_operations item_operations1543,62747 -#define op_bytes_number(op_bytes_number1565,63661 -#define op_is_left_mergeable(op_is_left_mergeable1566,63768 -#define op_print_item(op_print_item1567,63905 -#define op_check_item(op_check_item1568,64009 -#define op_create_vi(op_create_vi1569,64113 -#define op_check_left(op_check_left1570,64246 -#define op_check_right(op_check_right1571,64367 -#define op_part_size(op_part_size1572,64469 -#define op_unit_num(op_unit_num1573,64573 -#define op_print_vi(op_print_vi1574,64645 -#define COMP_KEYS 1580,64743 -#define COMP_SHORT_KEYS 1581,64771 -#define I_UNFM_NUM(I_UNFM_NUM1585,64915 -#define I_POS_UNFM_SIZE(I_POS_UNFM_SIZE1588,65084 -#define B_N_PITEM_HEAD(B_N_PITEM_HEAD1594,65326 -#define B_N_PDELIM_KEY(B_N_PDELIM_KEY1597,65442 -#define B_N_PKEY(B_N_PKEY1600,65556 -#define B_N_PITEM(B_N_PITEM1603,65650 -#define B_N_STAT_DATA(B_N_STAT_DATA1606,65809 -#define B_I_STAT_DATA(B_I_STAT_DATA1612,66014 -#define MAX_DIRECT_ITEM_LEN(MAX_DIRECT_ITEM_LEN1615,66134 -#define B_I_POS_UNFM_POINTER(B_I_POS_UNFM_POINTER1620,66409 -#define PUT_B_I_POS_UNFM_POINTER(PUT_B_I_POS_UNFM_POINTER1621,66501 -struct reiserfs_iget_args reiserfs_iget_args1623,66626 -#define get_journal_desc_magic(get_journal_desc_magic1633,66955 -#define journal_trans_half(journal_trans_half1635,67022 -struct reiserfs_journal_desc reiserfs_journal_desc1641,67254 -#define get_desc_trans_id(get_desc_trans_id1648,67514 -#define get_desc_trans_len(get_desc_trans_len1649,67574 -#define get_desc_mount_id(get_desc_mount_id1650,67629 -#define set_desc_trans_id(set_desc_trans_id1652,67690 -#define set_desc_trans_len(set_desc_trans_len1653,67783 -#define set_desc_mount_id(set_desc_mount_id1654,67871 -struct reiserfs_journal_commit reiserfs_journal_commit1657,68002 -#define get_commit_trans_id(get_commit_trans_id1663,68202 -#define get_commit_trans_len(get_commit_trans_len1664,68262 -#define get_commit_mount_id(get_commit_mount_id1665,68325 -#define set_commit_trans_id(set_commit_trans_id1667,68386 -#define set_commit_trans_len(set_commit_trans_len1668,68479 -struct reiserfs_journal_header reiserfs_journal_header1674,68851 -#define JOURNAL_BLOCK_COUNT 1682,69179 -#define JOURNAL_TRANS_MAX_DEFAULT 1683,69250 -#define JOURNAL_TRANS_MIN_DEFAULT 1684,69364 -#define JOURNAL_MAX_BATCH_DEFAULT 1685,69402 -#define JOURNAL_MIN_RATIO 1686,69526 -#define JOURNAL_MAX_COMMIT_AGE 1687,69554 -#define JOURNAL_MAX_TRANS_AGE 1688,69589 -#define JOURNAL_PER_BALANCE_CNT 1689,69622 -#define REISERFS_MIN_BITMAP_NODES 1697,70035 -#define REISERFS_MAX_BITMAP_NODES 1698,70073 -#define JBH_HASH_SHIFT 1700,70113 -#define JBH_HASH_MASK 1701,70190 -#define _jhashfn(_jhashfn1703,70218 -#define journal_hash(journal_hash1706,70381 -#define journal_find_get_block(journal_find_get_block1709,70515 -#define journal_getblk(journal_getblk1710,70621 -#define journal_bread(journal_bread1711,70711 -enum reiserfs_bh_state_bits reiserfs_bh_state_bits1713,70800 - BH_JDirty 1714,70830 - BH_JDirty = BH_PrivateStart,1714,70830 - BH_JDirty_wait,1715,70863 - BH_JNew,1716,70883 - BH_JPrepared,1717,70896 - BH_JRestore_dirty,1718,70914 - BH_JTest,1719,70937 -struct reiserfs_transaction_handle reiserfs_transaction_handle1725,71059 -struct reiserfs_jh reiserfs_jh1744,71916 -reiserfs_file_data_log(1756,72358 -static inline int reiserfs_transaction_running(1763,72533 -static inline int reiserfs_buffer_prepared(1804,74871 -static inline int buffer_journal_dirty(1812,75087 -static inline int mark_buffer_notjournal_dirty(1818,75244 -static inline int mark_buffer_notjournal_new(1823,75388 -static inline int le_key_version 1865,76956 -static inline void copy_key 1878,77225 -#define search_item(search_item1891,77740 -#define i_block_size(i_block_size1933,79447 -#define file_size(file_size1934,79504 -#define tail_size(tail_size1935,79547 -#define tail_has_to_be_packed(tail_has_to_be_packed1937,79622 -static inline void reiserfs_update_sd(1979,81736 -#define REISERFS_PROC_INFO1998,82489 -#define PROC_EXP(PROC_EXP2015,83075 -#define __PINFO(__PINFO2017,83102 -#define PROC_INFO_MAX(PROC_INFO_MAX2018,83160 -#define PROC_INFO_INC(PROC_INFO_INC2021,83316 -#define PROC_INFO_ADD(PROC_INFO_ADD2022,83382 -#define PROC_INFO_BH_STAT(PROC_INFO_BH_STAT2023,83457 -#define PROC_EXP(PROC_EXP2028,83706 -#define VOID_V 2029,83728 -#define PROC_INFO_MAX(PROC_INFO_MAX2030,83758 -#define PROC_INFO_INC(PROC_INFO_INC2031,83807 -#define PROC_INFO_ADD(PROC_INFO_ADD2032,83849 -#define PROC_INFO_BH_STAT(PROC_INFO_BH_STAT2033,83896 -static inline void *reiserfs_kmalloc(2058,84986 -static inline void reiserfs_kfree(2064,85110 -void reiserfs_panic 2078,85455 -#define PRINT_LEAF_ITEMS 2088,86046 -#define PRINT_DIRECTORY_ITEMS 2089,86097 -#define PRINT_DIRECT_ITEMS 2090,86157 -#define do_balance_mark_internal_dirty 2123,88155 -#define do_balance_mark_sb_dirty 2124,88221 - struct __reiserfs_blocknr_hint __reiserfs_blocknr_hint2142,89110 -typedef struct __reiserfs_blocknr_hint reiserfs_blocknr_hint_t;reiserfs_blocknr_hint_t2162,90116 -extern inline int reiserfs_new_form_blocknrs 2177,90797 -extern inline int reiserfs_new_unf_blocknrs 2191,91173 -extern inline int reiserfs_new_unf_blocknrs2(2208,91611 -#define reiserfs_test_and_set_le_bit 2241,92833 -#define reiserfs_test_and_clear_le_bit 2242,92885 -#define reiserfs_test_le_bit 2243,92939 -#define reiserfs_find_next_zero_le_bit 2244,92992 -#define SPARE_SPACE 2253,93487 -#define REISERFS_IOC_UNPACK 2262,93739 -#define REISERFS_IOC_GETFLAGS 2265,93893 -#define REISERFS_IOC_SETFLAGS 2266,93942 -#define REISERFS_IOC_GETVERSION 2267,93991 -#define REISERFS_IOC_SETVERSION 2268,94044 -#define reiserfs_write_lock(reiserfs_write_lock2273,94244 -#define reiserfs_write_unlock(reiserfs_write_unlock2274,94292 -#define REISERFS_XATTR_DIR_SEM(REISERFS_XATTR_DIR_SEM2277,94376 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/circ_buf.h,235 -#define _LINUX_CIRC_BUF_H 2,26 -struct circ_buf circ_buf4,55 -#define CIRC_CNT(CIRC_CNT11,142 -#define CIRC_SPACE(CIRC_SPACE16,362 -#define CIRC_CNT_TO_END(CIRC_CNT_TO_END21,618 -#define CIRC_SPACE_TO_END(CIRC_SPACE_TO_END27,818 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sysctl.h,18507 -#define _LINUX_SYSCTL_H19,634 -#define CTL_MAXNAME 28,777 -struct __sysctl_args __sysctl_args33,997 -#define CTL_ANY 49,1288 -#define CTL_NONE 50,1331 - CTL_KERN=55,1365 - CTL_VM=56,1417 - CTL_NET=57,1449 - CTL_PROC=58,1479 - CTL_FS=59,1512 - CTL_DEBUG=60,1542 - CTL_DEV=61,1573 - CTL_BUS=62,1600 - CTL_ABI=63,1626 - CTL_CPU=64,1662 - CTL_BUS_ISA=70,1744 - KERN_OSTYPE=76,1803 - KERN_OSRELEASE=77,1849 - KERN_OSREV=78,1897 - KERN_VERSION=79,1940 - KERN_SECUREMASK=80,1990 - KERN_PROF=81,2044 - KERN_NODENAME=82,2094 - KERN_DOMAINNAME=83,2112 - KERN_CAP_BSET=85,2133 - KERN_PANIC=86,2187 - KERN_REALROOTDEV=87,2229 - KERN_SPARC_REBOOT=89,2297 - KERN_CTLALTDEL=90,2350 - KERN_PRINTK=91,2409 - KERN_NAMETRANS=92,2475 - KERN_PPC_HTABRECLAIM=93,2518 - KERN_PPC_ZEROPAGED=94,2587 - KERN_PPC_POWERSAVE_NAP=95,2654 - KERN_MODPROBE=96,2718 - KERN_SG_BIG_BUFF=97,2737 - KERN_ACCT=98,2759 - KERN_PPC_L2CR=99,2815 - KERN_RTSIGNR=101,2862 - KERN_RTSIGMAX=102,2911 - KERN_SHMMAX=104,2951 - KERN_MSGMAX=105,3018 - KERN_MSGMNB=106,3080 - KERN_MSGPOOL=107,3143 - KERN_SYSRQ=108,3212 - KERN_MAX_THREADS=109,3254 - KERN_RANDOM=110,3323 - KERN_SHMALL=111,3362 - KERN_MSGMNI=112,3422 - KERN_SEM=113,3474 - KERN_SPARC_STOP_A=114,3526 - KERN_SHMMNI=115,3581 - KERN_OVERFLOWUID=116,3633 - KERN_OVERFLOWGID=117,3679 - KERN_SHMPATH=118,3725 - KERN_HOTPLUG=119,3772 - KERN_IEEE_EMULATION_WARNINGS=120,3833 - KERN_S390_USER_DEBUG_LOGGING=121,3910 - KERN_CORE_USES_PID=122,3977 - KERN_TAINTED=123,4035 - KERN_CADPID=124,4093 - KERN_PIDMAX=125,4158 - KERN_CORE_PATTERN=126,4199 - KERN_PANIC_ON_OOPS=127,4266 - KERN_HPPA_PWRSW=128,4335 - KERN_HPPA_UNALIGNED=129,4390 - KERN_PRINTK_RATELIMIT=130,4453 - KERN_PRINTK_RATELIMIT_BURST=131,4516 - KERN_PTY=132,4585 - KERN_NGROUPS_MAX=133,4622 - KERN_SPARC_SCONS_PWROFF=134,4667 - KERN_HZ_TIMER=135,4737 - KERN_UNKNOWN_NMI_PANIC=136,4786 - KERN_SETUID_DUMPABLE=137,4848 - VM_UNUSED1=144,4952 - VM_UNUSED2=145,5011 - VM_UNUSED3=146,5077 - VM_UNUSED4=147,5137 - VM_OVERCOMMIT_MEMORY=148,5165 - VM_UNUSED5=149,5237 - VM_UNUSED7=150,5301 - VM_UNUSED8=151,5364 - VM_UNUSED9=152,5424 - VM_PAGE_CLUSTER=153,5491 - VM_DIRTY_BACKGROUND=154,5560 - VM_DIRTY_RATIO=155,5614 - VM_DIRTY_WB_CS=156,5652 - VM_DIRTY_EXPIRE_CS=157,5704 - VM_NR_PDFLUSH_THREADS=158,5757 - VM_OVERCOMMIT_RATIO=159,5809 - VM_PAGEBUF=160,5878 - VM_HUGETLB_PAGES=161,5936 - VM_SWAPPINESS=162,6000 - VM_LOWER_ZONE_PROTECTION=163,6057 - VM_MIN_FREE_KBYTES=164,6128 - VM_MAX_MAP_COUNT=165,6193 - VM_LAPTOP_MODE=166,6264 - VM_BLOCK_DUMP=167,6305 - VM_HUGETLB_GROUP=168,6346 - VM_VFS_CACHE_PRESSURE=169,6398 - VM_LEGACY_VA_LAYOUT=170,6462 - NET_CORE=177,6576 - NET_ETHER=178,6589 - NET_802=179,6603 - NET_UNIX=180,6615 - NET_IPV4=181,6628 - NET_IPX=182,6641 - NET_ATALK=183,6653 - NET_NETROM=184,6667 - NET_AX25=185,6682 - NET_BRIDGE=186,6695 - NET_ROSE=187,6711 - NET_IPV6=188,6725 - NET_X25=189,6739 - NET_TR=190,6752 - NET_DECNET=191,6764 - NET_ECONET=192,6780 - NET_SCTP=193,6796 - NET_TUX=194,6811 - RANDOM_POOLSIZE=200,6865 - RANDOM_ENTROPY_COUNT=201,6885 - RANDOM_READ_THRESH=202,6910 - RANDOM_WRITE_THRESH=203,6933 - RANDOM_BOOT_ID=204,6957 - RANDOM_UUID=205,6976 - PTY_MAX=211,7029 - PTY_NR=212,7041 - BUS_ISA_MEM_BASE=218,7086 - BUS_ISA_PORT_BASE=219,7107 - BUS_ISA_PORT_SHIFT=220,7129 - NET_CORE_WMEM_MAX=226,7187 - NET_CORE_RMEM_MAX=227,7209 - NET_CORE_WMEM_DEFAULT=228,7231 - NET_CORE_RMEM_DEFAULT=229,7257 - NET_CORE_MAX_BACKLOG=231,7316 - NET_CORE_FASTROUTE=232,7341 - NET_CORE_MSG_COST=233,7364 - NET_CORE_MSG_BURST=234,7386 - NET_CORE_OPTMEM_MAX=235,7409 - NET_CORE_HOT_LIST_LENGTH=236,7434 - NET_CORE_DIVERT_VERSION=237,7464 - NET_CORE_NO_CONG_THRESH=238,7493 - NET_CORE_NO_CONG=239,7522 - NET_CORE_LO_CONG=240,7544 - NET_CORE_MOD_CONG=241,7566 - NET_CORE_DEV_WEIGHT=242,7589 - NET_CORE_SOMAXCONN=243,7614 - NET_UNIX_DESTROY_DELAY=254,7730 - NET_UNIX_DELETE_DELAY=255,7757 - NET_UNIX_MAX_DGRAM_QLEN=256,7783 - NET_IPV4_FORWARD=263,7881 - NET_IPV4_DYNADDR=264,7902 - NET_IPV4_CONF=266,7924 - NET_IPV4_NEIGH=267,7943 - NET_IPV4_ROUTE=268,7963 - NET_IPV4_FIB_HASH=269,7983 - NET_IPV4_NETFILTER=270,8006 - NET_IPV4_TCP_TIMESTAMPS=272,8031 - NET_IPV4_TCP_WINDOW_SCALING=273,8060 - NET_IPV4_TCP_SACK=274,8093 - NET_IPV4_TCP_RETRANS_COLLAPSE=275,8116 - NET_IPV4_DEFAULT_TTL=276,8151 - NET_IPV4_AUTOCONFIG=277,8177 - NET_IPV4_NO_PMTU_DISC=278,8202 - NET_IPV4_TCP_SYN_RETRIES=279,8229 - NET_IPV4_IPFRAG_HIGH_THRESH=280,8259 - NET_IPV4_IPFRAG_LOW_THRESH=281,8292 - NET_IPV4_IPFRAG_TIME=282,8324 - NET_IPV4_TCP_MAX_KA_PROBES=283,8350 - NET_IPV4_TCP_KEEPALIVE_TIME=284,8382 - NET_IPV4_TCP_KEEPALIVE_PROBES=285,8415 - NET_IPV4_TCP_RETRIES1=286,8450 - NET_IPV4_TCP_RETRIES2=287,8477 - NET_IPV4_TCP_FIN_TIMEOUT=288,8504 - NET_IPV4_IP_MASQ_DEBUG=289,8534 - NET_TCP_SYNCOOKIES=290,8562 - NET_TCP_STDURG=291,8586 - NET_TCP_RFC1337=292,8606 - NET_TCP_SYN_TAILDROP=293,8627 - NET_TCP_MAX_SYN_BACKLOG=294,8653 - NET_IPV4_LOCAL_PORT_RANGE=295,8682 - NET_IPV4_ICMP_ECHO_IGNORE_ALL=296,8713 - NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=297,8748 - NET_IPV4_ICMP_SOURCEQUENCH_RATE=298,8790 - NET_IPV4_ICMP_DESTUNREACH_RATE=299,8827 - NET_IPV4_ICMP_TIMEEXCEED_RATE=300,8863 - NET_IPV4_ICMP_PARAMPROB_RATE=301,8898 - NET_IPV4_ICMP_ECHOREPLY_RATE=302,8932 - NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=303,8966 - NET_IPV4_IGMP_MAX_MEMBERSHIPS=304,9014 - NET_TCP_TW_RECYCLE=305,9049 - NET_IPV4_ALWAYS_DEFRAG=306,9073 - NET_IPV4_TCP_KEEPALIVE_INTVL=307,9101 - NET_IPV4_INET_PEER_THRESHOLD=308,9135 - NET_IPV4_INET_PEER_MINTTL=309,9169 - NET_IPV4_INET_PEER_MAXTTL=310,9200 - NET_IPV4_INET_PEER_GC_MINTIME=311,9231 - NET_IPV4_INET_PEER_GC_MAXTIME=312,9266 - NET_TCP_ORPHAN_RETRIES=313,9301 - NET_TCP_ABORT_ON_OVERFLOW=314,9329 - NET_TCP_SYNACK_RETRIES=315,9360 - NET_TCP_MAX_ORPHANS=316,9388 - NET_TCP_MAX_TW_BUCKETS=317,9413 - NET_TCP_FACK=318,9441 - NET_TCP_REORDERING=319,9459 - NET_TCP_ECN=320,9483 - NET_TCP_DSACK=321,9500 - NET_TCP_MEM=322,9519 - NET_TCP_WMEM=323,9536 - NET_TCP_RMEM=324,9554 - NET_TCP_APP_WIN=325,9572 - NET_TCP_ADV_WIN_SCALE=326,9593 - NET_IPV4_NONLOCAL_BIND=327,9620 - NET_IPV4_ICMP_RATELIMIT=328,9648 - NET_IPV4_ICMP_RATEMASK=329,9677 - NET_TCP_TW_REUSE=330,9705 - NET_TCP_FRTO=331,9727 - NET_TCP_LOW_LATENCY=332,9745 - NET_IPV4_IPFRAG_SECRET_INTERVAL=333,9770 - NET_TCP_WESTWOOD=334,9807 - NET_IPV4_IGMP_MAX_MSF=335,9829 - NET_TCP_NO_METRICS_SAVE=336,9856 - NET_TCP_VEGAS=337,9885 - NET_TCP_VEGAS_ALPHA=338,9904 - NET_TCP_VEGAS_BETA=339,9929 - NET_TCP_VEGAS_GAMMA=340,9954 - NET_TCP_BIC=341,9980 - NET_TCP_BIC_FAST_CONVERGENCE=342,9999 - NET_TCP_BIC_LOW_WINDOW=343,10035 - NET_TCP_DEFAULT_WIN_SCALE=344,10064 - NET_TCP_MODERATE_RCVBUF=345,10096 - NET_TCP_TSO_WIN_DIVISOR=346,10126 - NET_IPV4_ROUTE_FLUSH=350,10167 - NET_IPV4_ROUTE_MIN_DELAY=351,10192 - NET_IPV4_ROUTE_MAX_DELAY=352,10221 - NET_IPV4_ROUTE_GC_THRESH=353,10250 - NET_IPV4_ROUTE_MAX_SIZE=354,10279 - NET_IPV4_ROUTE_GC_MIN_INTERVAL=355,10307 - NET_IPV4_ROUTE_GC_TIMEOUT=356,10342 - NET_IPV4_ROUTE_GC_INTERVAL=357,10372 - NET_IPV4_ROUTE_REDIRECT_LOAD=358,10403 - NET_IPV4_ROUTE_REDIRECT_NUMBER=359,10436 - NET_IPV4_ROUTE_REDIRECT_SILENCE=360,10472 - NET_IPV4_ROUTE_ERROR_COST=361,10509 - NET_IPV4_ROUTE_ERROR_BURST=362,10540 - NET_IPV4_ROUTE_GC_ELASTICITY=363,10572 - NET_IPV4_ROUTE_MTU_EXPIRES=364,10606 - NET_IPV4_ROUTE_MIN_PMTU=365,10638 - NET_IPV4_ROUTE_MIN_ADVMSS=366,10667 - NET_IPV4_ROUTE_SECRET_INTERVAL=367,10698 - NET_PROTO_CONF_ALL=372,10745 - NET_PROTO_CONF_DEFAULT=373,10769 - NET_IPV4_CONF_FORWARDING=380,10840 - NET_IPV4_CONF_MC_FORWARDING=381,10869 - NET_IPV4_CONF_PROXY_ARP=382,10901 - NET_IPV4_CONF_ACCEPT_REDIRECTS=383,10929 - NET_IPV4_CONF_SECURE_REDIRECTS=384,10964 - NET_IPV4_CONF_SEND_REDIRECTS=385,10999 - NET_IPV4_CONF_SHARED_MEDIA=386,11032 - NET_IPV4_CONF_RP_FILTER=387,11063 - NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=388,11091 - NET_IPV4_CONF_BOOTP_RELAY=389,11129 - NET_IPV4_CONF_LOG_MARTIANS=390,11160 - NET_IPV4_CONF_TAG=391,11192 - NET_IPV4_CONF_ARPFILTER=392,11215 - NET_IPV4_CONF_MEDIUM_ID=393,11244 - NET_IPV4_CONF_NOXFRM=394,11273 - NET_IPV4_CONF_NOPOLICY=395,11299 - NET_IPV4_CONF_FORCE_IGMP_VERSION=396,11327 - NET_IPV4_CONF_ARP_ANNOUNCE=397,11365 - NET_IPV4_CONF_ARP_IGNORE=398,11397 - NET_IPV4_NF_CONNTRACK_MAX=404,11473 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=405,11503 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=406,11550 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=407,11597 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=408,11647 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=409,11694 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=410,11743 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=411,11790 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=412,11838 - NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=413,11882 - NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=414,11921 - NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=415,11967 - NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=416,12007 - NET_IPV4_NF_CONNTRACK_BUCKETS=417,12050 - NET_IPV4_NF_CONNTRACK_LOG_INVALID=418,12085 - NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=419,12124 - NET_IPV4_NF_CONNTRACK_TCP_LOOSE=420,12175 - NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=421,12212 - NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=422,12254 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=423,12297 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=424,12345 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=425,12398 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=426,12453 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=427,12506 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=428,12561 - NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=429,12616 - NET_IPV4_NF_CONNTRACK_COUNT=430,12675 - NET_IPV6_CONF=435,12745 - NET_IPV6_NEIGH=436,12764 - NET_IPV6_ROUTE=437,12784 - NET_IPV6_ICMP=438,12804 - NET_IPV6_BINDV6ONLY=439,12823 - NET_IPV6_IP6FRAG_HIGH_THRESH=440,12848 - NET_IPV6_IP6FRAG_LOW_THRESH=441,12882 - NET_IPV6_IP6FRAG_TIME=442,12915 - NET_IPV6_IP6FRAG_SECRET_INTERVAL=443,12942 - NET_IPV6_MLD_MAX_MSF=444,12980 - NET_IPV6_ROUTE_FLUSH=448,13017 - NET_IPV6_ROUTE_GC_THRESH=449,13042 - NET_IPV6_ROUTE_MAX_SIZE=450,13071 - NET_IPV6_ROUTE_GC_MIN_INTERVAL=451,13099 - NET_IPV6_ROUTE_GC_TIMEOUT=452,13134 - NET_IPV6_ROUTE_GC_INTERVAL=453,13164 - NET_IPV6_ROUTE_GC_ELASTICITY=454,13195 - NET_IPV6_ROUTE_MTU_EXPIRES=455,13228 - NET_IPV6_ROUTE_MIN_ADVMSS=456,13259 - NET_IPV6_FORWARDING=460,13299 - NET_IPV6_HOP_LIMIT=461,13323 - NET_IPV6_MTU=462,13346 - NET_IPV6_ACCEPT_RA=463,13363 - NET_IPV6_ACCEPT_REDIRECTS=464,13386 - NET_IPV6_AUTOCONF=465,13416 - NET_IPV6_DAD_TRANSMITS=466,13438 - NET_IPV6_RTR_SOLICITS=467,13465 - NET_IPV6_RTR_SOLICIT_INTERVAL=468,13491 - NET_IPV6_RTR_SOLICIT_DELAY=469,13525 - NET_IPV6_USE_TEMPADDR=470,13557 - NET_IPV6_TEMP_VALID_LFT=471,13584 - NET_IPV6_TEMP_PREFERED_LFT=472,13613 - NET_IPV6_REGEN_MAX_RETRY=473,13645 - NET_IPV6_MAX_DESYNC_FACTOR=474,13675 - NET_IPV6_MAX_ADDRESSES=475,13707 - NET_IPV6_FORCE_MLD_VERSION=476,13735 - NET_IPV6_ICMP_RATELIMIT=481,13807 - NET_NEIGH_MCAST_SOLICIT=486,13888 - NET_NEIGH_UCAST_SOLICIT=487,13916 - NET_NEIGH_APP_SOLICIT=488,13944 - NET_NEIGH_RETRANS_TIME=489,13970 - NET_NEIGH_REACHABLE_TIME=490,13997 - NET_NEIGH_DELAY_PROBE_TIME=491,14026 - NET_NEIGH_GC_STALE_TIME=492,14057 - NET_NEIGH_UNRES_QLEN=493,14085 - NET_NEIGH_PROXY_QLEN=494,14110 - NET_NEIGH_ANYCAST_DELAY=495,14135 - NET_NEIGH_PROXY_DELAY=496,14164 - NET_NEIGH_LOCKTIME=497,14191 - NET_NEIGH_GC_INTERVAL=498,14215 - NET_NEIGH_GC_THRESH1=499,14242 - NET_NEIGH_GC_THRESH2=500,14268 - NET_NEIGH_GC_THRESH3=501,14294 - NET_IPX_PPROP_BROADCASTING=506,14354 - NET_IPX_FORWARDING=507,14385 - NET_ATALK_AARP_EXPIRY_TIME=513,14449 - NET_ATALK_AARP_TICK_TIME=514,14480 - NET_ATALK_AARP_RETRANSMIT_LIMIT=515,14509 - NET_ATALK_AARP_RESOLVE_TIME=516,14545 - NET_NETROM_DEFAULT_PATH_QUALITY=522,14615 - NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=523,14651 - NET_NETROM_NETWORK_TTL_INITIALISER=524,14697 - NET_NETROM_TRANSPORT_TIMEOUT=525,14736 - NET_NETROM_TRANSPORT_MAXIMUM_TRIES=526,14769 - NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=527,14808 - NET_NETROM_TRANSPORT_BUSY_DELAY=528,14851 - NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=529,14887 - NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=530,14934 - NET_NETROM_ROUTING_CONTROL=531,14979 - NET_NETROM_LINK_FAILS_COUNT=532,15011 - NET_AX25_IP_DEFAULT_MODE=537,15079 - NET_AX25_DEFAULT_MODE=538,15108 - NET_AX25_BACKOFF_TYPE=539,15134 - NET_AX25_CONNECT_MODE=540,15160 - NET_AX25_STANDARD_WINDOW=541,15186 - NET_AX25_EXTENDED_WINDOW=542,15215 - NET_AX25_T1_TIMEOUT=543,15244 - NET_AX25_T2_TIMEOUT=544,15268 - NET_AX25_T3_TIMEOUT=545,15292 - NET_AX25_IDLE_TIMEOUT=546,15316 - NET_AX25_N2=547,15343 - NET_AX25_PACLEN=548,15360 - NET_AX25_PROTOCOL=549,15381 - NET_AX25_DAMA_SLAVE_TIMEOUT=550,15404 - NET_ROSE_RESTART_REQUEST_TIMEOUT=555,15472 - NET_ROSE_CALL_REQUEST_TIMEOUT=556,15509 - NET_ROSE_RESET_REQUEST_TIMEOUT=557,15543 - NET_ROSE_CLEAR_REQUEST_TIMEOUT=558,15578 - NET_ROSE_ACK_HOLD_BACK_TIMEOUT=559,15613 - NET_ROSE_ROUTING_CONTROL=560,15648 - NET_ROSE_LINK_FAIL_TIMEOUT=561,15677 - NET_ROSE_MAX_VCS=562,15708 - NET_ROSE_WINDOW_SIZE=563,15729 - NET_ROSE_NO_ACTIVITY_TIMEOUT=564,15754 - NET_X25_RESTART_REQUEST_TIMEOUT=569,15822 - NET_X25_CALL_REQUEST_TIMEOUT=570,15858 - NET_X25_RESET_REQUEST_TIMEOUT=571,15891 - NET_X25_CLEAR_REQUEST_TIMEOUT=572,15925 - NET_X25_ACK_HOLD_BACK_TIMEOUT=573,15959 - NET_TR_RIF_TIMEOUT=579,16034 - NET_DECNET_NODE_TYPE 584,16095 - NET_DECNET_NODE_ADDRESS 585,16122 - NET_DECNET_NODE_NAME 586,16152 - NET_DECNET_DEFAULT_DEVICE 587,16179 - NET_DECNET_TIME_WAIT 588,16211 - NET_DECNET_DN_COUNT 589,16238 - NET_DECNET_DI_COUNT 590,16264 - NET_DECNET_DR_COUNT 591,16290 - NET_DECNET_DST_GC_INTERVAL 592,16316 - NET_DECNET_CONF 593,16349 - NET_DECNET_NO_FC_MAX_CWND 594,16372 - NET_DECNET_DEBUG_LEVEL 595,16405 - NET_DECNET_CONF_LOOPBACK 600,16484 - NET_DECNET_CONF_DDCMP 601,16516 - NET_DECNET_CONF_PPP 602,16545 - NET_DECNET_CONF_X25 603,16572 - NET_DECNET_CONF_GRE 604,16599 - NET_DECNET_CONF_ETHER 605,16626 - NET_DECNET_CONF_DEV_PRIORITY 612,16739 - NET_DECNET_CONF_DEV_T1 613,16774 - NET_DECNET_CONF_DEV_T2 614,16803 - NET_DECNET_CONF_DEV_T3 615,16832 - NET_DECNET_CONF_DEV_FORWARDING 616,16861 - NET_DECNET_CONF_DEV_BLKSIZE 617,16898 - NET_DECNET_CONF_DEV_STATE 618,16932 - NET_SCTP_RTO_INITIAL 623,16999 - NET_SCTP_RTO_MIN 624,17026 - NET_SCTP_RTO_MAX 625,17053 - NET_SCTP_RTO_ALPHA 626,17080 - NET_SCTP_RTO_BETA 627,17107 - NET_SCTP_VALID_COOKIE_LIFE 628,17134 - NET_SCTP_ASSOCIATION_MAX_RETRANS 629,17174 - NET_SCTP_PATH_MAX_RETRANS 630,17214 - NET_SCTP_MAX_INIT_RETRANSMITS 631,17254 - NET_SCTP_HB_INTERVAL 632,17294 - NET_SCTP_PRESERVE_ENABLE 633,17334 - NET_SCTP_MAX_BURST 634,17374 - NET_SCTP_ADDIP_ENABLE 635,17414 - NET_SCTP_PRSCTP_ENABLE 636,17445 - NET_BRIDGE_NF_CALL_ARPTABLES 641,17515 - NET_BRIDGE_NF_CALL_IPTABLES 642,17550 - NET_BRIDGE_NF_CALL_IP6TABLES 643,17584 - NET_BRIDGE_NF_FILTER_VLAN_TAGGED 644,17619 - NET_TUX_DOCROOT 649,17694 - NET_TUX_LOGFILE 650,17719 - NET_TUX_EXTCGI 651,17744 - NET_TUX_STOP 652,17768 - NET_TUX_CLIENTPORT 653,17790 - NET_TUX_LOGGING 654,17817 - NET_TUX_SERVERPORT 655,17842 - NET_TUX_THREADS 656,17869 - NET_TUX_KEEPALIVE_TIMEOUT 657,17894 - NET_TUX_MAX_KEEPALIVE_BW 658,17927 - NET_TUX_DEFER_ACCEPT 659,17959 - NET_TUX_MAX_FREE_REQUESTS 660,17988 - NET_TUX_MAX_CONNECT 661,18021 - NET_TUX_MAX_BACKLOG 662,18049 - NET_TUX_MODE_FORBIDDEN 663,18077 - NET_TUX_MODE_ALLOWED 664,18108 - NET_TUX_MODE_USERSPACE 665,18137 - NET_TUX_MODE_CGI 666,18168 - NET_TUX_CGI_UID 667,18193 - NET_TUX_CGI_GID 668,18218 - NET_TUX_CGIROOT 669,18243 - NET_TUX_LOGENTRY_ALIGN_ORDER 670,18268 - NET_TUX_NONAGLE 671,18304 - NET_TUX_ACK_PINGPONG 672,18329 - NET_TUX_PUSH_ALL 673,18358 - NET_TUX_ZEROCOPY_PARSE 674,18383 - NET_CONFIG_TUX_DEBUG_BLOCKING 675,18414 - NET_TUX_PAGE_AGE_START 676,18451 - NET_TUX_PAGE_AGE_ADV 677,18482 - NET_TUX_PAGE_AGE_MAX 678,18511 - NET_TUX_VIRTUAL_SERVER 679,18540 - NET_TUX_MAX_OBJECT_SIZE 680,18571 - NET_TUX_COMPRESSION 681,18603 - NET_TUX_NOID 682,18631 - NET_TUX_CGI_INHERIT_CPU 683,18653 - NET_TUX_CGI_CPU_MASK 684,18685 - NET_TUX_ZEROCOPY_HEADER 685,18714 - NET_TUX_ZEROCOPY_SENDFILE 686,18746 - NET_TUX_ALL_USERSPACE 687,18779 - NET_TUX_REDIRECT_LOGGING 688,18809 - NET_TUX_REFERER_LOGGING 689,18841 - NET_TUX_MAX_HEADER_LEN 690,18873 - NET_TUX_404_PAGE 691,18904 - NET_TUX_MAX_KEEPALIVES 692,18929 - NET_TUX_IGNORE_QUERY 693,18960 - FS_NRINODE=701,19043 - FS_STATINODE=702,19103 - FS_MAXINODE=703,19120 - FS_NRDQUOT=704,19193 - FS_MAXDQUOT=705,19253 - FS_NRFILE=706,19326 - FS_MAXFILE=707,19394 - FS_DENTRY=708,19475 - FS_NRSUPER=709,19489 - FS_MAXSUPER=710,19555 - FS_OVERFLOWUID=711,19635 - FS_OVERFLOWGID=712,19679 - FS_LEASES=713,19723 - FS_DIR_NOTIFY=714,19764 - FS_LEASE_TIME=715,19825 - FS_DQSTATS=716,19894 - FS_XFS=717,19944 - FS_AIO_NR=718,19993 - FS_AIO_MAX_NR=719,20057 - FS_DQ_LOOKUPS 724,20162 - FS_DQ_DROPS 725,20182 - FS_DQ_READS 726,20200 - FS_DQ_WRITES 727,20218 - FS_DQ_CACHE_HITS 728,20237 - FS_DQ_ALLOCATED 729,20260 - FS_DQ_FREE 730,20282 - FS_DQ_SYNCS 731,20299 - DEV_CDROM=738,20373 - DEV_HWMON=739,20387 - DEV_PARPORT=740,20401 - DEV_RAID=741,20417 - DEV_MAC_HID=742,20430 - DEV_SCSI=743,20446 - DEV_CDROM_INFO=748,20496 - DEV_CDROM_AUTOCLOSE=749,20515 - DEV_CDROM_AUTOEJECT=750,20539 - DEV_CDROM_DEBUG=751,20563 - DEV_CDROM_LOCK=752,20583 - DEV_CDROM_CHECK_MEDIA=753,20602 - DEV_PARPORT_DEFAULT=758,20666 - DEV_RAID_SPEED_LIMIT_MIN=763,20726 - DEV_RAID_SPEED_LIMIT_MAX=764,20755 - DEV_PARPORT_DEFAULT_TIMESLICE=769,20830 - DEV_PARPORT_DEFAULT_SPINTIME=770,20864 - DEV_PARPORT_SPINTIME=775,20945 - DEV_PARPORT_BASE_ADDR=776,20970 - DEV_PARPORT_IRQ=777,20996 - DEV_PARPORT_DMA=778,21016 - DEV_PARPORT_MODES=779,21036 - DEV_PARPORT_DEVICES=780,21058 - DEV_PARPORT_AUTOPROBE=781,21082 - DEV_PARPORT_DEVICES_ACTIVE=786,21166 - DEV_PARPORT_DEVICE_TIMESLICE=791,21264 - DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=796,21336 - DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=797,21382 - DEV_MAC_HID_MOUSE_BUTTON_EMULATION=798,21421 - DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=799,21460 - DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=800,21498 - DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=801,21536 - DEV_SCSI_LOGGING_LEVEL=806,21612 - ABI_DEFHANDLER_COFF=812,21670 - ABI_DEFHANDLER_ELF=813,21734 - ABI_DEFHANDLER_LCALL7=814,21797 - ABI_DEFHANDLER_LIBCSO=815,21867 - ABI_TRACE=816,21940 - ABI_FAKE_UTSNAME=817,21975 -typedef struct ctl_table ctl_table;ctl_table824,22089 -typedef int ctl_handler ctl_handler826,22126 -typedef int proc_handler proc_handler831,22309 -struct ctl_table ctl_table903,25428 -struct ctl_table_headerctl_table_header920,25901 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jffs.h,1075 -#define __LINUX_JFFS_H__21,623 -#define JFFS_VERSION_STRING 26,705 -#define JFFS_MAGIC_SB_BITMASK 30,881 -#define JFFS_MAGIC_BITMASK 33,1004 -#define JFFS_EMPTY_BITMASK 37,1151 -#define JFFS_DIRTY_BITMASK 38,1189 -#define JFFS_MIN_INO 41,1278 -#define JFFS_HASH_SIZE 44,1363 -#define JFFS_MAX_NAME_LEN 53,1842 -#define JFFS_IOCTL_MAGIC 56,1902 -#define JFFS_PRINT_HASH 57,1931 -#define JFFS_PRINT_TREE 58,1981 -#define JFFS_GET_STATUS 59,2031 -#define JFFS_MODIFY_INODE 62,2160 -#define JFFS_MODIFY_NAME 63,2191 -#define JFFS_MODIFY_DATA 64,2222 -#define JFFS_MODIFY_EXIST 65,2253 -struct jffs_raw_inodejffs_raw_inode74,2654 -#define JFFS_RAW_INODE_ACCURATE_OFFSET 101,3841 -#define JFFS_RAW_INODE_CHKSUM_OFFSET 105,4027 -#define JFFS_RAW_INODE_DCHKSUM_OFFSET 109,4198 -struct jffs_nodejffs_node116,4480 -struct jffs_filejffs_file137,5290 -struct jffs_delete_listjffs_delete_list170,6700 -struct jffs_controljffs_control179,6899 -struct jffs_flash_statusjffs_flash_status198,7730 -#define JFFS_MEMORY_DEBUG 208,7885 -#define DJM(DJM220,8205 -#define DJM(DJM222,8228 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coff.h,2987 -#define E_SYMNMLEN 13,539 -#define E_FILNMLEN 14,616 -#define E_DIMNUM 15,693 -#define COFF_SHORT_L(COFF_SHORT_L25,1120 -#define COFF_LONG_L(COFF_LONG_L29,1325 -#define COFF_SHORT_H(COFF_SHORT_H35,1632 -#define COFF_LONG_H(COFF_LONG_H39,1834 -#define COFF_LONG(COFF_LONG49,2314 -#define COFF_SHORT(COFF_SHORT50,2352 -struct COFF_filehdr COFF_filehdr56,2499 -#define COFF_F_RELFLG 88,3664 -#define COFF_F_EXEC 89,3696 -#define COFF_F_LNNO 90,3726 -#define COFF_F_LSYMS 91,3756 -#define COFF_F_MINMAL 92,3787 -#define COFF_F_UPDATE 93,3819 -#define COFF_F_SWABD 94,3851 -#define COFF_F_AR16WR 95,3882 -#define COFF_F_AR32WR 96,3914 -#define COFF_F_AR32W 97,3946 -#define COFF_F_PATCH 98,3977 -#define COFF_F_NODF 99,4008 -#define COFF_I386MAGIC 101,4039 -#define COFF_I386PTXMAGIC 104,4167 -#define COFF_I386AIXMAGIC 105,4199 -#define COFF_I386BADMAG(COFF_I386BADMAG106,4257 -#define COFF_I386BADMAG(COFF_I386BADMAG110,4446 -#define COFF_FILHDR 113,4525 -#define COFF_FILHSZ 114,4565 -COFF_AOUTHDR;COFF_AOUTHDR140,5682 -#define COFF_AOUTSZ 142,5697 -#define COFF_STMAGIC 144,5741 -#define COFF_OMAGIC 145,5767 -#define COFF_JMAGIC 146,5796 -#define COFF_DMAGIC 147,5874 -#define COFF_ZMAGIC 148,5952 -#define COFF_SHMAGIC 149,6031 -struct COFF_scnhdr COFF_scnhdr153,6168 -#define COFF_SCNHDR 166,6715 -#define COFF_SCNHSZ 167,6754 -#define COFF_TEXT 173,6834 -#define COFF_DATA 174,6860 -#define COFF_BSS 175,6886 -#define COFF_COMMENT 176,6910 -#define COFF_LIB 177,6945 -#define COFF_SECT_TEXT 179,6977 -#define COFF_SECT_DATA 180,7055 -#define COFF_SECT_BSS 181,7133 -#define COFF_SECT_REQD 182,7211 -#define COFF_STYP_REG 184,7290 -#define COFF_STYP_DSECT 185,7368 -#define COFF_STYP_NOLOAD 186,7446 -#define COFF_STYP_GROUP 187,7524 -#define COFF_STYP_PAD 188,7602 -#define COFF_STYP_COPY 189,7680 -#define COFF_STYP_TEXT 190,7758 -#define COFF_STYP_DATA 191,7836 -#define COFF_STYP_BSS 192,7914 -#define COFF_STYP_INFO 193,7992 -#define COFF_STYP_OVER 194,8070 -#define COFF_STYP_LIB 195,8148 -struct COFF_slib COFF_slib202,8328 -#define COFF_SLIBHD 207,8473 -#define COFF_SLIBSZ 208,8510 -struct COFF_lineno COFF_lineno218,8895 -#define COFF_LINENO 226,9111 -#define COFF_LINESZ 227,9150 -#define COFF_E_SYMNMLEN 231,9230 -#define COFF_E_FILNMLEN 232,9299 -#define COFF_E_DIMNUM 233,9361 -struct COFF_syment COFF_syment239,9498 -#define COFF_N_BTMASK 256,10066 -#define COFF_N_TMASK 257,10132 -#define COFF_N_BTSHFT 258,10197 -#define COFF_N_TSHIFT 259,10263 -union COFF_auxent COFF_auxent265,10402 -#define COFF_SYMENT 328,11705 -#define COFF_SYMESZ 329,11744 -#define COFF_AUXENT 330,11768 -#define COFF_AUXESZ 331,11806 -#define COFF_ETEXT 333,11830 -struct COFF_reloc COFF_reloc337,11929 -#define COFF_RELOC 343,12130 -#define COFF_RELSZ 344,12167 -#define COFF_DEF_DATA_SECTION_ALIGNMENT 346,12190 -#define COFF_DEF_BSS_SECTION_ALIGNMENT 347,12233 -#define COFF_DEF_TEXT_SECTION_ALIGNMENT 348,12276 -#define COFF_DEF_SECTION_ALIGNMENT 351,12370 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/irda.h,2916 -#define KERNEL_IRDA_H26,993 -#define HINT_PNP 35,1309 -#define HINT_PDA 36,1339 -#define HINT_COMPUTER 37,1369 -#define HINT_PRINTER 38,1399 -#define HINT_MODEM 39,1429 -#define HINT_FAX 40,1459 -#define HINT_LAN 41,1489 -#define HINT_EXTENSION 42,1519 -#define HINT_TELEPHONY 45,1619 -#define HINT_FILE_SERVER 46,1649 -#define HINT_COMM 47,1679 -#define HINT_MESSAGE 48,1709 -#define HINT_HTTP 49,1739 -#define HINT_OBEX 50,1769 -#define CS_ASCII 53,1834 -#define CS_ISO_8859_1 54,1864 -#define CS_ISO_8859_2 55,1894 -#define CS_ISO_8859_3 56,1924 -#define CS_ISO_8859_4 57,1954 -#define CS_ISO_8859_5 58,1984 -#define CS_ISO_8859_6 59,2014 -#define CS_ISO_8859_7 60,2044 -#define CS_ISO_8859_8 61,2074 -#define CS_ISO_8859_9 62,2104 -#define CS_UNICODE 63,2134 - IRDA_TEKRAM_DONGLE 67,2224 - IRDA_ESI_DONGLE 68,2255 - IRDA_ACTISYS_DONGLE 69,2286 - IRDA_ACTISYS_PLUS_DONGLE 70,2317 - IRDA_GIRBIL_DONGLE 71,2348 - IRDA_LITELINK_DONGLE 72,2379 - IRDA_AIRPORT_DONGLE 73,2410 - IRDA_OLD_BELKIN_DONGLE 74,2441 - IRDA_EP7211_IR 75,2472 - IRDA_MCP2120_DONGLE 76,2503 - IRDA_ACT200L_DONGLE 77,2534 - IRDA_MA600_DONGLE 78,2566 -} IRDA_DONGLE;IRDA_DONGLE79,2598 - IRDAPROTO_UNITDATA 83,2668 - IRDAPROTO_ULTRA 84,2693 - IRDAPROTO_MAX85,2718 -#define SOL_IRLMP 88,2737 -#define SOL_IRTTP 89,2795 -#define IRLMP_ENUMDEVICES 91,2854 -#define IRLMP_IAS_SET 92,2916 -#define IRLMP_IAS_QUERY 93,2987 -#define IRLMP_HINTS_SET 94,3059 -#define IRLMP_QOS_SET 95,3125 -#define IRLMP_QOS_GET 96,3160 -#define IRLMP_MAX_SDU_SIZE 97,3195 -#define IRLMP_IAS_GET 98,3230 -#define IRLMP_IAS_DEL 99,3303 -#define IRLMP_HINT_MASK_SET 100,3367 -#define IRLMP_WAITDEVICE 101,3425 -#define IRTTP_MAX_SDU_SIZE 103,3485 -#define IAS_MAX_STRING 105,3552 -#define IAS_MAX_OCTET_STRING 106,3616 -#define IAS_MAX_CLASSNAME 107,3680 -#define IAS_MAX_ATTRIBNAME 108,3742 -#define IAS_MAX_ATTRIBNUMBER 109,3806 -#define IAS_EXPORT_CLASSNAME 112,4009 -#define IAS_EXPORT_ATTRIBNAME 113,4047 -#define IAS_MISSING 116,4138 -#define IAS_INTEGER 117,4160 -#define IAS_OCT_SEQ 118,4182 -#define IAS_STRING 119,4204 -#define LSAP_ANY 121,4227 -struct sockaddr_irda sockaddr_irda123,4263 -struct irda_device_info irda_device_info130,4489 -struct irda_device_list irda_device_list138,4767 -struct irda_ias_set irda_ias_set143,4854 -#define SIOCSDONGLE 163,5365 -#define SIOCGDONGLE 164,5409 -#define SIOCSBANDWIDTH 165,5453 -#define SIOCSMEDIABUSY 166,5497 -#define SIOCGMEDIABUSY 167,5541 -#define SIOCGRECEIVING 168,5585 -#define SIOCSMODE 169,5629 -#define SIOCGMODE 170,5673 -#define SIOCSDTRRTS 171,5717 -#define SIOCGQOS 172,5761 -#define IRNAMSIZ 175,5875 -struct if_irda_qos if_irda_qos178,5966 -struct if_irda_line if_irda_line189,6236 -struct if_irda_req if_irda_req195,6356 -#define ifr_baudrate 211,6706 -#define ifr_receiving 212,6755 -#define ifr_dongle 213,6802 -#define ifr_mode 214,6845 -#define ifr_dtr 215,6886 -#define ifr_rts 216,6931 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_tun.h,737 -#define __IF_TUN_H19,699 -#define DBG 27,818 -#define DBG1 28,852 -#define DBG(DBG30,890 -#define DBG1(DBG131,910 -struct tun_struct tun_struct34,939 -#define TUN_READQ_SIZE 56,1290 -#define TUN_TUN_DEV 59,1340 -#define TUN_TAP_DEV 60,1369 -#define TUN_TYPE_MASK 61,1396 -#define TUN_FASYNC 63,1428 -#define TUN_NOCHECKSUM 64,1454 -#define TUN_NO_PI 65,1484 -#define TUN_ONE_QUEUE 66,1509 -#define TUN_PERSIST 67,1538 -#define TUNSETNOCSUM 70,1588 -#define TUNSETDEBUG 71,1631 -#define TUNSETIFF 72,1674 -#define TUNSETPERSIST 73,1717 -#define TUNSETOWNER 74,1760 -#define IFF_TUN 77,1829 -#define IFF_TAP 78,1853 -#define IFF_NO_PI 79,1877 -#define IFF_ONE_QUEUE 80,1902 -struct tun_pi tun_pi82,1932 -#define TUN_PKT_STRIP 86,1997 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/font.h,321 -#define _VIDEO_FONT_H12,287 -struct font_desc font_desc16,336 -#define VGA8x8_IDX 24,441 -#define VGA8x16_IDX 25,462 -#define PEARL8x8_IDX 26,484 -#define VGA6x11_IDX 27,507 -#define SUN8x16_IDX 28,529 -#define SUN12x22_IDX 29,551 -#define ACORN8x8_IDX 30,574 -#define MINI4x6_IDX 31,597 -#define MAX_FONT_NAME 51,1055 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_zatm.h,420 -#define LINUX_ATM_ZATM_H8,196 -#define ZATM_GETPOOL 18,384 -#define ZATM_GETPOOLZ 20,481 -#define ZATM_SETPOOL 22,583 -struct zatm_pool_info zatm_pool_info25,681 -struct zatm_pool_req zatm_pool_req33,999 -struct zatm_t_hist zatm_t_hist38,1115 -#define ZATM_OAM_POOL 44,1244 -#define ZATM_AAL0_POOL 45,1306 -#define ZATM_AAL5_POOL_BASE 46,1370 -#define ZATM_LAST_POOL 47,1434 -#define ZATM_TIMER_HISTORY_SIZE 49,1498 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sysrq.h,352 -struct sysrq_key_op sysrq_key_op19,417 -__sysrq_swap_key_ops_nolock(45,1147 -__sysrq_swap_key_ops(59,1455 -static inline int register_sysrq_key(68,1710 -static inline int unregister_sysrq_key(73,1835 -static inline int __reterr(80,1969 -#define register_sysrq_key(register_sysrq_key85,2024 -#define unregister_sysrq_key(unregister_sysrq_key86,2071 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pid.h,317 -#define _LINUX_PID_H2,21 -enum pid_typepid_type4,43 - PIDTYPE_PID,6,59 - PIDTYPE_TGID,7,73 - PIDTYPE_PGID,8,88 - PIDTYPE_SID,9,103 - PIDTYPE_MAX10,117 -struct pidpid13,134 -#define pid_task(pid_task22,358 -#define do_each_task_pid(do_each_task_pid43,1014 -#define while_each_task_pid(while_each_task_pid48,1171 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/concap.h,174 -#define _LINUX_CONCAP_H10,287 -struct concap_proto{concap_proto30,895 -struct concap_device_ops{concap_device_ops49,1480 -struct concap_proto_ops{concap_proto_ops66,1983 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pci-acpi.h,1019 -#define _PCI_ACPI_H_9,138 -#define OSC_QUERY_TYPE 11,160 -#define OSC_SUPPORT_TYPE 12,187 -#define OSC_CONTROL_TYPE 13,216 -#define OSC_SUPPORT_MASKS 14,244 -#define OSC_QUERY_ENABLE 19,308 -#define OSC_REQUEST_ERROR 20,336 -#define OSC_INVALID_UUID_ERROR 21,365 -#define OSC_INVALID_REVISION_ERROR 22,399 -#define OSC_CAPABILITIES_MASK_ERROR 23,436 -#define OSC_EXT_PCI_CONFIG_SUPPORT 28,526 -#define OSC_ACTIVE_STATE_PWR_SUPPORT 29,564 -#define OSC_CLOCK_PWR_CAPABILITY_SUPPORT 30,605 -#define OSC_PCI_SEGMENT_GROUPS_SUPPORT 31,648 -#define OSC_MSI_SUPPORT 32,690 -#define OSC_PCI_EXPRESS_NATIVE_HP_CONTROL 37,771 -#define OSC_SHPC_NATIVE_HP_CONTROL 38,815 -#define OSC_PCI_EXPRESS_PME_CONTROL 39,854 -#define OSC_PCI_EXPRESS_AER_CONTROL 40,893 -#define OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL 41,932 -#define OSC_CONTROL_MASKS 43,982 -typedef u32 acpi_status;acpi_status54,1357 -#define AE_ERROR 55,1384 -static inline acpi_status pci_osc_control_set(57,1441 -static inline acpi_status pci_osc_support_set(58,1517 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/param.h,28 -#define _LINUX_PARAM_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hpet.h,1647 -#define __HPET__ 2,17 -struct hpet hpet10,105 - struct hpet_timer hpet_timer23,447 -#define hpet_mc 34,688 -#define hpet_compare 35,718 -#define HPET_MAX_TIMERS 37,758 -#define HPET_COUNTER_CLK_PERIOD_MASK 43,834 -#define HPET_COUNTER_CLK_PERIOD_SHIFT 44,895 -#define HPET_VENDOR_ID_MASK 45,940 -#define HPET_VENDOR_ID_SHIFT 46,993 -#define HPET_LEG_RT_CAP_MASK 47,1031 -#define HPET_COUNTER_SIZE_MASK 48,1070 -#define HPET_NUM_TIM_CAP_MASK 49,1111 -#define HPET_NUM_TIM_CAP_SHIFT 50,1151 -#define HPET_LEG_RT_CNF_MASK 56,1238 -#define HPET_ENABLE_CNF_MASK 57,1274 -#define Tn_INT_ROUTE_CAP_MASK 64,1352 -#define Tn_INI_ROUTE_CAP_SHIFT 65,1407 -#define Tn_FSB_INT_DELCAP_MASK 66,1446 -#define Tn_FSB_INT_DELCAP_SHIFT 67,1489 -#define Tn_FSB_EN_CNF_MASK 68,1527 -#define Tn_FSB_EN_CNF_SHIFT 69,1566 -#define Tn_INT_ROUTE_CNF_MASK 70,1600 -#define Tn_INT_ROUTE_CNF_SHIFT 71,1642 -#define Tn_32MODE_CNF_MASK 72,1678 -#define Tn_VAL_SET_CNF_MASK 73,1717 -#define Tn_SIZE_CAP_MASK 74,1757 -#define Tn_PER_INT_CAP_MASK 75,1794 -#define Tn_TYPE_CNF_MASK 76,1834 -#define Tn_INT_ENB_CNF_MASK 77,1871 -#define Tn_INT_TYPE_CNF_MASK 78,1911 -#define Tn_FSB_INT_ADDR_MASK 84,1999 -#define Tn_FSB_INT_ADDR_SHIFT 85,2053 -#define Tn_FSB_INT_VAL_MASK 86,2091 -struct hpet_info hpet_info88,2145 -#define HPET_INFO_PERIODIC 95,2299 -#define HPET_IE_ON 97,2358 -#define HPET_IE_OFF 98,2411 -#define HPET_INFO 99,2466 -#define HPET_EPI 100,2518 -#define HPET_DPI 101,2572 -#define HPET_IRQFREQ 102,2627 -struct hpet_task hpet_task108,2729 -struct hpet_data hpet_data114,2813 -#define HPET_DATA_PLATFORM 122,3000 -static inline void hpet_reserve_timer(124,3069 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/zorro.h,2059 -#define _LINUX_ZORRO_H12,321 -#define ZORRO_MANUF(ZORRO_MANUF33,787 -#define ZORRO_PROD(ZORRO_PROD34,825 -#define ZORRO_EPC(ZORRO_EPC35,870 -#define ZORRO_ID(ZORRO_ID37,908 -typedef __u32 zorro_id;zorro_id40,1004 -#define ZORRO_WILDCARD 43,1030 -#define GVP_PRODMASK 55,1336 -#define GVP_SCSICLKMASK 56,1366 -enum GVP_flags GVP_flags58,1400 - GVP_IO 59,1417 - GVP_IO = 0x01,59,1417 - GVP_ACCEL 60,1437 - GVP_ACCEL = 0x02,60,1437 - GVP_SCSI 61,1460 - GVP_SCSI = 0x04,61,1460 - GVP_24BITDMA 62,1482 - GVP_24BITDMA = 0x08,62,1482 - GVP_25BITDMA 63,1507 - GVP_25BITDMA = 0x10,63,1507 - GVP_NOBANK 64,1532 - GVP_NOBANK = 0x20,64,1532 - GVP_14MHZ 65,1556 - GVP_14MHZ = 0x40,65,1556 -struct Node Node69,1584 -struct ExpansionRom ExpansionRom77,1881 -#define ERT_TYPEMASK 93,2536 -#define ERT_ZORROII 94,2562 -#define ERT_ZORROIII 95,2587 -#define ERTB_MEMLIST 98,2650 -#define ERTF_MEMLIST 99,2711 -struct ConfigDev ConfigDev101,2740 -LN_Succ 117,3405 -#define ZORRO_NUM_AUTO 154,4226 -#define to_zorro_dev(to_zorro_dev179,4675 -struct zorro_bus zorro_bus186,4774 -struct zorro_device_id zorro_device_id202,5176 -struct zorro_driver zorro_driver212,5362 -#define to_zorro_driver(to_zorro_driver221,5741 -#define zorro_for_each_dev(zorro_for_each_dev224,5819 -static inline struct zorro_driver *zorro_dev_driver(232,6192 -#define zorro_resource_start(zorro_resource_start249,6561 -#define zorro_resource_end(zorro_resource_end250,6615 -#define zorro_resource_len(zorro_resource_len251,6665 -#define zorro_resource_flags(zorro_resource_flags252,6737 -#define zorro_request_device(zorro_request_device254,6792 -#define zorro_release_device(zorro_release_device256,6909 -static inline void *zorro_get_drvdata 263,7205 -static inline void zorro_set_drvdata 268,7304 -static inline int zorro_module_init(280,7610 -#define Z2RAM_START 318,8623 -#define Z2RAM_END 319,8657 -#define Z2RAM_SIZE 320,8689 -#define Z2RAM_CHUNKSIZE 321,8722 -#define Z2RAM_CHUNKMASK 322,8760 -#define Z2RAM_CHUNKSHIFT 323,8798 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/notifier.h,877 -#define _LINUX_NOTIFIER_H11,346 -struct notifier_blocknotifier_block14,398 -#define NOTIFY_DONE 28,838 -#define NOTIFY_OK 29,884 -#define NOTIFY_STOP_MASK 30,926 -#define NOTIFY_BAD 31,984 -#define NOTIFY_STOP 35,1124 -#define NETDEV_UP 46,1574 -#define NETDEV_DOWN 47,1645 -#define NETDEV_REBOOT 48,1672 -#define NETDEV_CHANGE 52,1862 -#define NETDEV_REGISTER 53,1924 -#define NETDEV_UNREGISTER 54,1955 -#define NETDEV_CHANGEMTU 55,1988 -#define NETDEV_CHANGEADDR 56,2020 -#define NETDEV_GOING_DOWN 57,2053 -#define NETDEV_CHANGENAME 58,2086 -#define SYS_DOWN 60,2120 -#define SYS_RESTART 61,2172 -#define SYS_HALT 62,2201 -#define SYS_POWER_OFF 63,2253 -#define NETLINK_URELEASE 65,2316 -#define CPU_ONLINE 67,2387 -#define CPU_UP_PREPARE 68,2442 -#define CPU_UP_CANCELED 69,2505 -#define CPU_DOWN_PREPARE 70,2573 -#define CPU_DOWN_FAILED 71,2638 -#define CPU_DEAD 72,2707 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/istallion.h,350 -#define _ISTALLION_H28,1078 -#define STL_MAXBRDS 34,1230 -#define STL_MAXPANELS 35,1253 -#define STL_MAXPORTS 36,1278 -#define STL_MAXCHANS 37,1303 -#define STL_MAXDEVS 38,1344 -} stliport_t;stliport_t88,2579 -typedef struct stlibrd stlibrd94,2746 -} stlibrd_t;stlibrd_t122,3462 -#define STLI_PORTMAGIC 128,3535 -#define STLI_BOARDMAGIC 129,3569 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/linux_logo.h,205 -#define _LINUX_LINUX_LOGO_H2,28 -#define LINUX_LOGO_MONO 20,540 -#define LINUX_LOGO_VGA16 21,596 -#define LINUX_LOGO_CLUT224 22,656 -#define LINUX_LOGO_GRAY256 23,702 -struct linux_logo linux_logo26,760 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/init_task.h,253 -#define _LINUX__INIT_TASK_H2,28 -#define INIT_FILES 6,82 -#define INIT_KIOCTX(INIT_KIOCTX21,505 -#define INIT_MM(INIT_MM34,806 -#define INIT_SIGNALS(INIT_SIGNALS47,1204 -#define INIT_SIGHAND(INIT_SIGHAND55,1426 -#define INIT_TASK(INIT_TASK67,1719 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bfs_fs.h,702 -#define _LINUX_BFS_FS_H7,148 -#define BFS_BSIZE_BITS 9,173 -#define BFS_BSIZE 10,199 -#define BFS_MAGIC 12,239 -#define BFS_ROOT_INO 13,269 -#define BFS_INODES_PER_BLOCK 14,293 -#define BFS_VDIR 17,375 -#define BFS_VREG 18,395 -struct bfs_inode bfs_inode21,447 -#define BFS_NAMELEN 38,697 -#define BFS_DIRENT_SIZE 39,722 -#define BFS_DIRS_PER_BLOCK 40,750 -struct bfs_dirent bfs_dirent42,781 -struct bfs_super_block bfs_super_block48,878 -#define BFS_NZFILESIZE(BFS_NZFILESIZE61,1074 -#define BFS_FILESIZE(BFS_FILESIZE64,1165 -#define BFS_FILEBLOCKS(BFS_FILEBLOCKS67,1248 -#define BFS_OFF2INO(BFS_OFF2INO70,1352 -#define BFS_INO2OFF(BFS_INO2OFF73,1460 -#define BFS_UNCLEAN(BFS_UNCLEAN76,1562 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/unistd.h,30 -#define _LINUX_UNISTD_H_2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/zconf.h,251 -#define _ZCONF_H9,219 -# define MAX_MEM_LEVEL 26,933 -# define MAX_WBITS 35,1212 -typedef unsigned char Byte;Byte40,1316 -typedef unsigned int uInt;uInt41,1359 -typedef unsigned long uLong;uLong42,1411 -typedef void *voidp;voidp43,1463 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mmtimer.h,272 -#define _LINUX_MMTIMER_H21,799 -#define MMTIMER_IOCTL_BASE 47,1631 -#define MMTIMER_GETOFFSET 49,1663 -#define MMTIMER_GETRES 50,1716 -#define MMTIMER_GETFREQ 51,1782 -#define MMTIMER_GETBITS 52,1849 -#define MMTIMER_MMAPAVAIL 53,1900 -#define MMTIMER_GETCOUNTER 54,1953 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/igmp.h,1706 -#define _LINUX_IGMP_H17,464 -struct igmphdrigmphdr29,588 -#define IGMPV3_MODE_IS_INCLUDE 38,722 -#define IGMPV3_MODE_IS_EXCLUDE 39,756 -#define IGMPV3_CHANGE_TO_INCLUDE 40,790 -#define IGMPV3_CHANGE_TO_EXCLUDE 41,825 -#define IGMPV3_ALLOW_NEW_SOURCES 42,860 -#define IGMPV3_BLOCK_OLD_SOURCES 43,895 -struct igmpv3_grec igmpv3_grec45,931 -struct igmpv3_report igmpv3_report53,1050 -struct igmpv3_query igmpv3_query62,1172 -#define IGMP_HOST_MEMBERSHIP_QUERY 83,1507 -#define IGMP_HOST_MEMBERSHIP_REPORT 84,1566 -#define IGMP_DVMRP 85,1619 -#define IGMP_PIM 86,1665 -#define IGMP_TRACE 87,1707 -#define IGMPV2_HOST_MEMBERSHIP_REPORT 88,1733 -#define IGMP_HOST_LEAVE_MESSAGE 89,1801 -#define IGMPV3_HOST_MEMBERSHIP_REPORT 90,1839 -#define IGMP_MTRACE_RESP 92,1908 -#define IGMP_MTRACE 93,1939 -#define IGMP_DELAYING_MEMBER 100,2025 -#define IGMP_IDLE_MEMBER 101,2060 -#define IGMP_LAZY_MEMBER 102,2091 -#define IGMP_SLEEPING_MEMBER 103,2122 -#define IGMP_AWAKENING_MEMBER 104,2157 -#define IGMP_MINLEN 106,2194 -#define IGMP_MAX_HOST_REPORT_DELAY 108,2219 -#define IGMP_TIMER_SCALE 111,2321 -#define IGMP_AGE_THRESHOLD 114,2442 -#define IGMP_ALL_HOSTS 118,2600 -#define IGMP_ALL_ROUTER 119,2643 -#define IGMPV3_ALL_MCR 120,2687 -#define IGMP_LOCAL_GROUP 121,2731 -#define IGMP_LOCAL_GROUP_MASK 122,2775 -struct ip_sf_socklistip_sf_socklist132,2944 -#define IP_SFLSIZE(IP_SFLSIZE139,3041 -#define IP_SFBLOCK 142,3129 -struct ip_mc_socklistip_mc_socklist148,3291 -struct ip_sf_listip_sf_list157,3474 -struct ip_mc_listip_mc_list167,3766 -#define IGMPV3_MASK(IGMPV3_MASK189,4248 -#define IGMPV3_EXP(IGMPV3_EXP190,4326 -#define IGMPV3_QQIC(IGMPV3_QQIC195,4541 -#define IGMPV3_MRC(IGMPV3_MRC196,4598 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn/tpam.h,568 -#define _TPAM_H_26,960 -#define TPAM_CMD_DSPLOAD 32,1048 -#define TPAM_CMD_DSPSAVE 33,1080 -#define TPAM_CMD_DSPRUN 34,1112 -#define TPAM_CMD_LOOPMODEON 35,1144 -#define TPAM_CMD_LOOPMODEOFF 36,1179 -#define TPAM_TRAPAUDIT_REGISTER 39,1268 -#define TPAM_NCOAUDIT_REGISTER 40,1312 -#define TPAM_MSGAUDIT_REGISTER 41,1355 -#define TPAM_TRAPAUDIT_LENGTH 44,1448 -#define TPAM_NCOAUDIT_LENGTH 45,1485 -#define TPAM_NCOAUDIT_COUNT 46,1522 -#define TPAM_MSGAUDIT_LENGTH 47,1554 -typedef struct tpam_dsp_ioctl tpam_dsp_ioctl50,1623 -} tpam_dsp_ioctl;tpam_dsp_ioctl54,1784 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn/capicmd.h,2745 -#define __CAPICMD_H__13,324 -#define CAPI_MSG_BASELEN 15,347 -#define CAPI_DATA_B3_REQ_LEN 16,375 -#define CAPI_DATA_B3_RESP_LEN 17,434 -#define CAPI_ALERT 20,519 -#define CAPI_CONNECT 21,548 -#define CAPI_CONNECT_ACTIVE 22,579 -#define CAPI_CONNECT_B3_ACTIVE 23,616 -#define CAPI_CONNECT_B3 24,656 -#define CAPI_CONNECT_B3_T90_ACTIVE 25,690 -#define CAPI_DATA_B3 26,731 -#define CAPI_DISCONNECT_B3 27,762 -#define CAPI_DISCONNECT 28,798 -#define CAPI_FACILITY 29,832 -#define CAPI_INFO 30,864 -#define CAPI_LISTEN 31,892 -#define CAPI_MANUFACTURER 32,922 -#define CAPI_RESET_B3 33,957 -#define CAPI_SELECT_B_PROTOCOL 34,989 -#define CAPI_REQ 38,1064 -#define CAPI_CONF 39,1089 -#define CAPI_IND 40,1114 -#define CAPI_RESP 41,1139 -#define CAPICMD(CAPICMD45,1205 -#define CAPI_DISCONNECT_REQ 47,1256 -#define CAPI_DISCONNECT_CONF 48,1319 -#define CAPI_DISCONNECT_IND 49,1384 -#define CAPI_DISCONNECT_RESP 50,1447 -#define CAPI_ALERT_REQ 52,1513 -#define CAPI_ALERT_CONF 53,1567 -#define CAPI_CONNECT_REQ 55,1624 -#define CAPI_CONNECT_CONF 56,1681 -#define CAPI_CONNECT_IND 57,1740 -#define CAPI_CONNECT_RESP 58,1797 -#define CAPI_CONNECT_ACTIVE_REQ 60,1857 -#define CAPI_CONNECT_ACTIVE_CONF 61,1928 -#define CAPI_CONNECT_ACTIVE_IND 62,2000 -#define CAPI_CONNECT_ACTIVE_RESP 63,2071 -#define CAPI_SELECT_B_PROTOCOL_REQ 65,2144 -#define CAPI_SELECT_B_PROTOCOL_CONF 66,2220 -#define CAPI_CONNECT_B3_ACTIVE_REQ 68,2299 -#define CAPI_CONNECT_B3_ACTIVE_CONF 69,2375 -#define CAPI_CONNECT_B3_ACTIVE_IND 70,2453 -#define CAPI_CONNECT_B3_ACTIVE_RESP 71,2529 -#define CAPI_CONNECT_B3_REQ 73,2608 -#define CAPI_CONNECT_B3_CONF 74,2671 -#define CAPI_CONNECT_B3_IND 75,2736 -#define CAPI_CONNECT_B3_RESP 76,2799 -#define CAPI_CONNECT_B3_T90_ACTIVE_IND 79,2866 -#define CAPI_CONNECT_B3_T90_ACTIVE_RESP 80,2950 -#define CAPI_DATA_B3_REQ 82,3037 -#define CAPI_DATA_B3_CONF 83,3094 -#define CAPI_DATA_B3_IND 84,3153 -#define CAPI_DATA_B3_RESP 85,3210 -#define CAPI_DISCONNECT_B3_REQ 87,3270 -#define CAPI_DISCONNECT_B3_CONF 88,3339 -#define CAPI_DISCONNECT_B3_IND 89,3410 -#define CAPI_DISCONNECT_B3_RESP 90,3479 -#define CAPI_RESET_B3_REQ 92,3551 -#define CAPI_RESET_B3_CONF 93,3610 -#define CAPI_RESET_B3_IND 94,3671 -#define CAPI_RESET_B3_RESP 95,3730 -#define CAPI_LISTEN_REQ 97,3792 -#define CAPI_LISTEN_CONF 98,3848 -#define CAPI_MANUFACTURER_REQ 100,3906 -#define CAPI_MANUFACTURER_CONF 101,3973 -#define CAPI_MANUFACTURER_IND 102,4042 -#define CAPI_MANUFACTURER_RESP 103,4109 -#define CAPI_FACILITY_REQ 105,4179 -#define CAPI_FACILITY_CONF 106,4238 -#define CAPI_FACILITY_IND 107,4299 -#define CAPI_FACILITY_RESP 108,4358 -#define CAPI_INFO_REQ 110,4420 -#define CAPI_INFO_CONF 111,4472 -#define CAPI_INFO_IND 112,4526 -#define CAPI_INFO_RESP 113,4578 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn/capilli.h,381 -#define __CAPILLI_H__13,339 -typedef struct capiloaddatapart capiloaddatapart20,467 -} capiloaddatapart;capiloaddatapart24,571 -typedef struct capiloaddata capiloaddata26,592 -} capiloaddata;capiloaddata29,683 -typedef struct capicardparams capicardparams31,700 -} capicardparams;capicardparams37,818 -struct capi_ctr capi_ctr39,837 -struct capi_driver capi_driver90,2641 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn/capiutil.h,2652 -#define __CAPIUTIL_H__14,379 -#define CAPIMSG_BASELEN 18,427 -#define CAPIMSG_U8(CAPIMSG_U819,454 -#define CAPIMSG_U16(CAPIMSG_U1620,490 -#define CAPIMSG_U32(CAPIMSG_U3221,543 -#define CAPIMSG_LEN(CAPIMSG_LEN22,630 -#define CAPIMSG_APPID(CAPIMSG_APPID23,671 -#define CAPIMSG_COMMAND(CAPIMSG_COMMAND24,713 -#define CAPIMSG_SUBCOMMAND(CAPIMSG_SUBCOMMAND25,756 -#define CAPIMSG_CMD(CAPIMSG_CMD26,802 -#define CAPIMSG_MSGID(CAPIMSG_MSGID27,847 -#define CAPIMSG_CONTROLLER(CAPIMSG_CONTROLLER28,889 -#define CAPIMSG_CONTROL(CAPIMSG_CONTROL29,933 -#define CAPIMSG_NCCI(CAPIMSG_NCCI30,978 -#define CAPIMSG_DATALEN(CAPIMSG_DATALEN31,1022 -static inline void capimsg_setu8(33,1086 -static inline void capimsg_setu16(38,1177 -static inline void capimsg_setu32(44,1318 -#define CAPIMSG_SETLEN(CAPIMSG_SETLEN52,1543 -#define CAPIMSG_SETAPPID(CAPIMSG_SETAPPID53,1601 -#define CAPIMSG_SETCOMMAND(CAPIMSG_SETCOMMAND54,1666 -#define CAPIMSG_SETSUBCOMMAND(CAPIMSG_SETSUBCOMMAND55,1725 -#define CAPIMSG_SETMSGID(CAPIMSG_SETMSGID56,1788 -#define CAPIMSG_SETCONTROL(CAPIMSG_SETCONTROL57,1851 -#define CAPIMSG_SETDATALEN(CAPIMSG_SETDATALEN58,1916 -typedef __u8 *_cstruct;_cstruct62,2019 - CAPI_COMPOSE,65,2059 - CAPI_DEFAULT66,2074 -} _cmstruct;_cmstruct67,2088 -} _cmsg;_cmsg144,3710 -static inline void capi_cmsg_answer(183,4767 -static inline void capi_fill_CONNECT_B3_REQ(190,4926 -static inline void capi_fill_FACILITY_REQ(198,5153 -static inline void capi_fill_INFO_REQ(208,5513 -static inline void capi_fill_LISTEN_REQ(224,6093 -static inline void capi_fill_ALERT_REQ(240,6588 -static inline void capi_fill_CONNECT_REQ(254,7090 -static inline void capi_fill_DATA_B3_REQ(297,8471 -static inline void capi_fill_DISCONNECT_REQ(312,8840 -static inline void capi_fill_DISCONNECT_B3_REQ(327,9338 -static inline void capi_fill_MANUFACTURER_REQ(336,9575 -static inline void capi_fill_RESET_B3_REQ(351,9971 -static inline void capi_fill_SELECT_B_PROTOCOL_REQ(360,10193 -static inline void capi_fill_CONNECT_RESP(379,10783 -static inline void capi_fill_CONNECT_ACTIVE_RESP(413,11910 -static inline void capi_fill_CONNECT_B3_ACTIVE_RESP(420,12097 -static inline void capi_fill_CONNECT_B3_RESP(427,12290 -static inline void capi_fill_CONNECT_B3_T90_ACTIVE_RESP(437,12568 -static inline void capi_fill_DATA_B3_RESP(444,12762 -static inline void capi_fill_DISCONNECT_B3_RESP(453,12999 -static inline void capi_fill_DISCONNECT_RESP(460,13184 -static inline void capi_fill_FACILITY_RESP(467,13370 -static inline void capi_fill_INFO_RESP(476,13628 -static inline void capi_fill_MANUFACTURER_RESP(483,13809 -static inline void capi_fill_RESET_B3_RESP(498,14211 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tty_driver.h,859 -#define _LINUX_TTY_DRIVER_H2,28 -struct tty_operations tty_operations124,4503 -struct tty_driver tty_driver155,5960 -#define TTY_DRIVER_MAGIC 226,8741 -#define TTY_DRIVER_INSTALLED 252,9802 -#define TTY_DRIVER_RESET_TERMIOS 253,9839 -#define TTY_DRIVER_REAL_RAW 254,9879 -#define TTY_DRIVER_NO_DEVFS 255,9915 -#define TTY_DRIVER_DEVPTS_MEM 256,9951 -#define TTY_DRIVER_TYPE_SYSTEM 259,10013 -#define TTY_DRIVER_TYPE_CONSOLE 260,10052 -#define TTY_DRIVER_TYPE_SERIAL 261,10092 -#define TTY_DRIVER_TYPE_PTY 262,10131 -#define TTY_DRIVER_TYPE_SCC 263,10167 -#define TTY_DRIVER_TYPE_SYSCONS 264,10220 -#define SYSTEM_TYPE_TTY 267,10309 -#define SYSTEM_TYPE_CONSOLE 268,10342 -#define SYSTEM_TYPE_SYSCONS 269,10378 -#define SYSTEM_TYPE_SYSPTMX 270,10414 -#define PTY_TYPE_MASTER 273,10496 -#define PTY_TYPE_SLAVE 274,10529 -#define SERIAL_TYPE_NORMAL 277,10595 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/quotaio_v1.h,167 -#define _LINUX_QUOTAIO_V1_H2,28 -#define MAX_IQ_TIME 12,371 -#define MAX_DQ_TIME 13,425 -struct v1_disk_dqblk v1_disk_dqblk20,662 -#define v1_dqoff(v1_dqoff31,1147 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/b1lli.h,1113 -#define _B1LLI_H_13,334 -typedef struct avmb1_t4file avmb1_t4file17,390 -} avmb1_t4file;avmb1_t4file20,452 -typedef struct avmb1_loaddef avmb1_loaddef22,469 -} avmb1_loaddef;avmb1_loaddef25,534 -typedef struct avmb1_loadandconfigdef avmb1_loadandconfigdef27,552 -} avmb1_loadandconfigdef;avmb1_loadandconfigdef31,658 -typedef struct avmb1_resetdef avmb1_resetdef33,685 -} avmb1_resetdef;avmb1_resetdef35,729 -typedef struct avmb1_getdef avmb1_getdef37,748 -} avmb1_getdef;avmb1_getdef41,821 -typedef struct avmb1_carddef avmb1_carddef46,877 -} avmb1_carddef;avmb1_carddef49,929 -#define AVM_CARDTYPE_B1 51,947 -#define AVM_CARDTYPE_T1 52,974 -#define AVM_CARDTYPE_M1 53,1001 -#define AVM_CARDTYPE_M2 54,1028 -typedef struct avmb1_extcarddef avmb1_extcarddef56,1056 -} avmb1_extcarddef;avmb1_extcarddef61,1172 -#define AVMB1_LOAD 63,1193 -#define AVMB1_ADDCARD 64,1240 -#define AVMB1_RESETCARD 65,1297 -#define AVMB1_LOAD_AND_CONFIG 66,1343 -#define AVMB1_ADDCARD_WITH_TYPE 67,1411 -#define AVMB1_GET_CARDINFO 68,1481 -#define AVMB1_REMOVECARD 69,1529 -#define AVMB1_REGISTERCARD_IS_OBSOLETE71,1588 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/net.h,1534 -#define _LINUX_NET_H19,669 -#define NPROTO 29,836 -#define SYS_SOCKET 31,890 -#define SYS_BIND 32,933 -#define SYS_CONNECT 33,973 -#define SYS_LISTEN 34,1018 -#define SYS_ACCEPT 35,1061 -#define SYS_GETSOCKNAME 36,1104 -#define SYS_GETPEERNAME 37,1157 -#define SYS_SOCKETPAIR 38,1210 -#define SYS_SEND 39,1261 -#define SYS_RECV 40,1301 -#define SYS_SENDTO 41,1342 -#define SYS_RECVFROM 42,1386 -#define SYS_SHUTDOWN 43,1434 -#define SYS_SETSOCKOPT 44,1482 -#define SYS_GETSOCKOPT 45,1534 -#define SYS_SENDMSG 46,1586 -#define SYS_RECVMSG 47,1632 - SS_FREE 50,1694 - SS_UNCONNECTED,51,1731 - SS_CONNECTING,52,1782 - SS_CONNECTED,53,1831 - SS_DISCONNECTING 54,1875 -} socket_state;socket_state55,1928 -#define __SO_ACCEPTCON 57,1945 -#define SOCK_ASYNC_NOSPACE 61,2024 -#define SOCK_ASYNC_WAITDATA 62,2053 -#define SOCK_NOSPACE 63,2083 -enum sock_type sock_type80,2686 - SOCK_STREAM 81,2703 - SOCK_DGRAM 82,2721 - SOCK_RAW 83,2738 - SOCK_RDM 84,2753 - SOCK_SEQPACKET 85,2768 - SOCK_PACKET 86,2789 -#define SOCK_MAX 89,2812 -struct socket socket105,3385 -struct proto_ops proto_ops124,3714 -struct net_proto_family net_proto_family162,5290 -#define sockfd_put(sockfd_put197,6608 -#define SOCKOPS_WRAPPED(SOCKOPS_WRAPPED210,7109 -#define SOCKOPS_WRAP(SOCKOPS_WRAP211,7144 -#define SOCKOPS_WRAPPED(SOCKOPS_WRAPPED214,7183 -#define SOCKCALL_WRAP(SOCKCALL_WRAP216,7232 -#define SOCKCALL_UWRAP(SOCKCALL_UWRAP226,7464 -#define SOCKOPS_WRAP(SOCKOPS_WRAP237,7706 -#define MODULE_ALIAS_NETPROTO(MODULE_ALIAS_NETPROTO288,10302 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/qnxtypes.h,388 -#define _QNX4TYPES_H13,327 -typedef __u16 qnx4_nxtnt_t;qnx4_nxtnt_t15,349 -typedef __u8 qnx4_ftype_t;qnx4_ftype_t16,377 -} qnx4_xtnt_t;qnx4_xtnt_t21,458 -typedef __u16 qnx4_mode_t;qnx4_mode_t23,474 -typedef __u16 qnx4_muid_t;qnx4_muid_t24,501 -typedef __u16 qnx4_mgid_t;qnx4_mgid_t25,528 -typedef __u32 qnx4_off_t;qnx4_off_t26,555 -typedef __u16 qnx4_nlink_t;qnx4_nlink_t27,581 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kprobes.h,671 -#define _LINUX_KPROBES_H2,25 -typedef int (*kprobe_pre_handler_t)kprobe_pre_handler_t37,1313 -typedef int (*kprobe_break_handler_t)kprobe_break_handler_t38,1386 -typedef void (*kprobe_post_handler_t)kprobe_post_handler_t39,1461 -typedef int (*kprobe_fault_handler_t)kprobe_fault_handler_t41,1568 -struct kprobe kprobe43,1666 -struct jprobe jprobe80,2940 -static inline int kprobe_running(91,3195 -static inline int kprobe_running(112,3847 -static inline int register_kprobe(116,3901 -static inline void unregister_kprobe(120,3974 -static inline int register_jprobe(123,4033 -static inline void unregister_jprobe(127,4106 -static inline void jprobe_return(130,4165 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_suni.h,31 -#define LINUX_ATM_SUNI_H8,192 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_arp.h,2197 -#define _LINUX_IF_ARP_H24,944 -#define ARPHRD_NETROM 29,1040 -#define ARPHRD_ETHER 30,1097 -#define ARPHRD_EETHER 31,1145 -#define ARPHRD_AX25 32,1198 -#define ARPHRD_PRONET 33,1242 -#define ARPHRD_CHAOS 34,1292 -#define ARPHRD_IEEE802 35,1333 -#define ARPHRD_ARCNET 36,1391 -#define ARPHRD_APPLETLK 37,1431 -#define ARPHRD_DLCI 38,1476 -#define ARPHRD_ATM 39,1524 -#define ARPHRD_METRICOM 40,1561 -#define ARPHRD_IEEE1394 41,1624 -#define ARPHRD_EUI64 42,1684 -#define ARPHRD_INFINIBAND 43,1744 -#define ARPHRD_SLIP 46,1833 -#define ARPHRD_CSLIP 47,1857 -#define ARPHRD_SLIP6 48,1882 -#define ARPHRD_CSLIP6 49,1907 -#define ARPHRD_RSRVD 50,1933 -#define ARPHRD_ADAPT 51,1986 -#define ARPHRD_ROSE 52,2011 -#define ARPHRD_X25 53,2035 -#define ARPHRD_HWX25 54,2078 -#define ARPHRD_PPP 55,2139 -#define ARPHRD_CISCO 56,2162 -#define ARPHRD_HDLC 57,2208 -#define ARPHRD_LAPB 58,2241 -#define ARPHRD_DDCMP 59,2280 -#define ARPHRD_RAWHDLC 60,2344 -#define ARPHRD_TUNNEL 62,2390 -#define ARPHRD_TUNNEL6 63,2437 -#define ARPHRD_FRAD 64,2493 -#define ARPHRD_SKIP 65,2564 -#define ARPHRD_LOOPBACK 66,2606 -#define ARPHRD_LOCALTLK 67,2658 -#define ARPHRD_FDDI 68,2711 -#define ARPHRD_BIF 69,2775 -#define ARPHRD_SIT 70,2850 -#define ARPHRD_IPDDP 71,2907 -#define ARPHRD_IPGRE 72,2961 -#define ARPHRD_PIMREG 73,3007 -#define ARPHRD_HIPPI 74,3065 -#define ARPHRD_ASH 75,3133 -#define ARPHRD_ECONET 76,3181 -#define ARPHRD_IRDA 77,3229 -#define ARPHRD_FCPP 79,3331 -#define ARPHRD_FCAL 80,3390 -#define ARPHRD_FCPL 81,3450 -#define ARPHRD_FCFABRIC 82,3506 -#define ARPHRD_IEEE802_TR 84,3616 -#define ARPHRD_IEEE80211 85,3677 -#define ARPHRD_IEEE80211_PRISM 86,3727 -#define ARPHRD_VOID 88,3798 -#define ARPHRD_NONE 89,3861 -#define ARPOP_REQUEST 92,3944 -#define ARPOP_REPLY 93,3989 -#define ARPOP_RREQUEST 94,4030 -#define ARPOP_RREPLY 95,4077 -#define ARPOP_InREQUEST 96,4120 -#define ARPOP_InREPLY 97,4168 -#define ARPOP_NAK 98,4213 -struct arpreq arpreq102,4283 -struct arpreq_old arpreq_old110,4536 -#define ATF_COM 118,4794 -#define ATF_PERM 119,4850 -#define ATF_PUBL 120,4896 -#define ATF_USETRAILERS 121,4940 -#define ATF_NETMASK 122,4999 -#define ATF_DONTPUB 124,5100 -struct arphdrarphdr130,5219 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtio.h,4623 -#define _LINUX_MTIO_H9,182 -struct mtop mtop20,404 -#define MTRESET 26,584 -#define MTFSF 27,641 -#define MTBSF 30,741 -#define MTFSR 31,808 -#define MTBSR 32,851 -#define MTWEOF 33,895 -#define MTREW 34,953 -#define MTOFFL 35,982 -#define MTNOP 36,1047 -#define MTRETEN 37,1113 -#define MTBSFM 38,1152 -#define MTFSFM 39,1217 -#define MTEOM 40,1282 -#define MTERASE 44,1440 -#define MTRAS1 46,1492 -#define MTRAS2 47,1550 -#define MTRAS3 48,1604 -#define MTSETBLK 50,1655 -#define MTSETDENSITY 51,1705 -#define MTSEEK 52,1759 -#define MTTELL 53,1814 -#define MTSETDRVBUFFER 54,1866 -#define MTFSS 56,1991 -#define MTBSS 57,2042 -#define MTWSM 58,2094 -#define MTLOCK 60,2133 -#define MTUNLOCK 61,2178 -#define MTLOAD 62,2226 -#define MTUNLOAD 63,2281 -#define MTCOMPRESSION 64,2339 -#define MTSETPART 65,2412 -#define MTMKPART 66,2472 -struct mtget mtget70,2603 -#define MT_ISUNKNOWN 92,3309 -#define MT_ISQIC02 93,3336 -#define MT_ISWT5150 94,3396 -#define MT_ISARCHIVE_5945L2 95,3460 -#define MT_ISCMSJ500 96,3532 -#define MT_ISTDC3610 97,3589 -#define MT_ISARCHIVE_VP60I 98,3644 -#define MT_ISARCHIVE_2150L 99,3704 -#define MT_ISARCHIVE_2060L 100,3762 -#define MT_ISARCHIVESC499 101,3820 -#define MT_ISQIC02_ALL_FEATURES 102,3890 -#define MT_ISWT5099EEN24 103,3966 -#define MT_ISTEAC_MT2ST 104,4035 -#define MT_ISEVEREX_FT40A 105,4126 -#define MT_ISDDS1 106,4185 -#define MT_ISDDS2 107,4245 -#define MT_ISONSTREAM_SC 108,4302 -#define MT_ISSCSI1 110,4420 -#define MT_ISSCSI2 111,4481 -#define MT_ISFTAPE_UNKNOWN 116,4646 -#define MT_ISFTAPE_FLAG 117,4697 -struct mt_tape_info mt_tape_info119,4731 -#define MT_TAPE_INFO 124,4842 -struct mtpos mtpos148,5812 -struct mtconfiginfo mtconfiginfo156,6015 -struct mtvolinfo mtvolinfo184,6701 -#define MT_FT_RD_SINGLE 195,7148 -#define MT_FT_RD_AHEAD 196,7175 -#define MT_FT_WR_ASYNC 197,7202 -#define MT_FT_WR_MULTI 198,7281 -#define MT_FT_WR_SINGLE 199,7360 -#define MT_FT_WR_DELETE 200,7439 -struct mtftsegmtftseg202,7519 -struct mttapesize mttapesize212,7851 -#define FTFMT_SET_PARMS 223,8123 -#define FTFMT_GET_PARMS 224,8175 -#define FTFMT_FORMAT_TRACK 225,8227 -#define FTFMT_STATUS 226,8294 -#define FTFMT_VERIFY 227,8356 -struct ftfmtparms ftfmtparms229,8419 -struct ftfmttrack ftfmttrack238,8781 -struct ftfmtstatus ftfmtstatus243,8916 -struct ftfmtverify ftfmtverify247,9009 -struct mtftformat mtftformat252,9150 - union fmt_arg fmt_arg254,9224 -struct mtftcmd mtftcmd262,9462 -#define MTIOCTOP 286,10444 -#define MTIOCGET 287,10510 -#define MTIOCPOS 288,10576 -#define MTIOCGETCONFIG 293,10766 -#define MTIOCSETCONFIG 294,10845 -#define MTIOCRDFTSEG 299,11048 -#define MTIOCWRFTSEG 300,11124 -#define MTIOCVOLINFO 301,11202 -#define MTIOCGETSIZE 302,11279 -#define MTIOCFTFORMAT 303,11359 -#define MTIOCFTCMD 304,11436 -#define GMT_EOF(GMT_EOF312,11784 -#define GMT_BOT(GMT_BOT313,11835 -#define GMT_EOT(GMT_EOT314,11886 -#define GMT_SM(GMT_SM315,11937 -#define GMT_EOD(GMT_EOD316,12007 -#define GMT_WR_PROT(GMT_WR_PROT317,12073 -#define GMT_ONLINE(GMT_ONLINE319,12166 -#define GMT_D_6250(GMT_D_6250320,12217 -#define GMT_D_1600(GMT_D_1600321,12268 -#define GMT_D_800(GMT_D_800322,12319 -#define GMT_DR_OPEN(GMT_DR_OPEN325,12454 -#define GMT_IM_REP_EN(GMT_IM_REP_EN327,12574 -#define GMT_CLN(GMT_CLN328,12654 -#define MT_ST_BLKSIZE_SHIFT 334,12843 -#define MT_ST_BLKSIZE_MASK 335,12873 -#define MT_ST_DENSITY_SHIFT 336,12909 -#define MT_ST_DENSITY_MASK 337,12940 -#define MT_ST_SOFTERR_SHIFT 339,12979 -#define MT_ST_SOFTERR_MASK 340,13009 -#define MT_ST_OPTIONS 343,13089 -#define MT_ST_BOOLEANS 344,13123 -#define MT_ST_SETBOOLEANS 345,13158 -#define MT_ST_CLEARBOOLEANS 346,13195 -#define MT_ST_WRITE_THRESHOLD 347,13234 -#define MT_ST_DEF_BLKSIZE 348,13275 -#define MT_ST_DEF_OPTIONS 349,13312 -#define MT_ST_TIMEOUTS 350,13349 -#define MT_ST_SET_TIMEOUT 351,13384 -#define MT_ST_SET_LONG_TIMEOUT 352,13438 -#define MT_ST_SET_CLN 353,13497 -#define MT_ST_BUFFER_WRITES 355,13532 -#define MT_ST_ASYNC_WRITES 356,13564 -#define MT_ST_READ_AHEAD 357,13595 -#define MT_ST_DEBUGGING 358,13624 -#define MT_ST_TWO_FM 359,13653 -#define MT_ST_FAST_MTEOM 360,13680 -#define MT_ST_AUTO_LOCK 361,13710 -#define MT_ST_DEF_WRITES 362,13740 -#define MT_ST_CAN_BSR 363,13770 -#define MT_ST_NO_BLKLIMS 364,13799 -#define MT_ST_CAN_PARTITIONS 365,13830 -#define MT_ST_SCSI2LOGICAL 366,13868 -#define MT_ST_SYSV 367,13906 -#define MT_ST_NOWAIT 368,13945 -#define MT_ST_CLEAR_DEFAULT 371,14062 -#define MT_ST_DEF_DENSITY 372,14098 -#define MT_ST_DEF_COMPRESSION 373,14155 -#define MT_ST_DEF_DRVBUFFER 374,14216 -#define MT_ST_HPLOADER_OFFSET 377,14352 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/uio.h,201 -#define __LINUX_UIO_H2,22 -struct ioveciovec20,598 -struct kvec kvec28,766 -#define UIO_FASTIOV 39,942 -#define UIO_MAXIOV 40,964 -#define UIO_MAXIOV 42,994 -static inline size_t iov_length(54,1400 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmlec.h,945 -#define _ATMLEC_H_10,109 -#define ATMLEC_CTRL 17,268 -#define ATMLEC_DATA 18,309 -#define ATMLEC_MCAST 19,352 -#define MAX_LEC_ITF 22,448 -#define NUM_TR_DEVS 28,689 - l_set_mac_addr,31,728 - l_set_mac_addr, l_del_mac_addr,31,728 - l_svc_setup,32,771 - l_addr_delete,33,793 - l_addr_delete, l_topology_change,33,793 - l_flush_complete,34,839 - l_flush_complete, l_arp_update,34,839 - l_narp_req,35,879 - l_config,36,936 - l_config, l_flush_tran_id,36,936 - l_set_lecid,37,980 - l_set_lecid, l_arp_xmt,37,980 - l_rdesc_arp_xmt,38,1017 - l_associate_req,39,1042 - l_should_bridge 40,1067 -} atmlec_msg_type;atmlec_msg_type41,1126 -#define ATMLEC_MSG_TYPE_MAX 43,1146 -struct atmlec_config_msg atmlec_config_msg45,1191 -struct atmlec_msg atmlec_msg59,1666 -} __ATM_API_ALIGN;81,2919 -struct atmlec_ioc atmlec_ioc83,2939 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/linkage.h,438 -#define _LINUX_LINKAGE_H2,25 -#define CPP_ASMLINKAGE 8,122 -#define CPP_ASMLINKAGE10,162 -#define asmlinkage 14,212 -# define prevent_tail_call(prevent_tail_call18,280 -#define __ALIGN 22,353 -#define __ALIGN_STR 23,384 -#define ALIGN 28,449 -#define ALIGN_STR 29,471 -#define ENTRY(ENTRY31,502 -#define NORET_TYPE 38,569 -#define ATTRIB_NORET 39,596 -#define NORET_AND 40,644 -#define FASTCALL(FASTCALL43,694 -#define fastcall44,716 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fcdevice.h,33 -#define _LINUX_FCDEVICE_H24,828 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pnp.h,5636 -#define _LINUX_PNP_H8,109 -#define PNP_MAX_PORT 17,261 -#define PNP_MAX_MEM 18,285 -#define PNP_MAX_IRQ 19,308 -#define PNP_MAX_DMA 20,331 -#define PNP_NAME_LEN 21,354 -#define pnp_port_start(pnp_port_start32,530 -#define pnp_port_end(pnp_port_end33,604 -#define pnp_port_flags(pnp_port_flags34,676 -#define pnp_port_valid(pnp_port_valid35,750 -#define pnp_port_len(pnp_port_len38,875 -#define pnp_mem_start(pnp_mem_start46,1105 -#define pnp_mem_end(pnp_mem_end47,1177 -#define pnp_mem_flags(pnp_mem_flags48,1247 -#define pnp_mem_valid(pnp_mem_valid49,1319 -#define pnp_mem_len(pnp_mem_len52,1444 -#define pnp_irq(pnp_irq60,1668 -#define pnp_irq_flags(pnp_irq_flags61,1733 -#define pnp_irq_valid(pnp_irq_valid62,1804 -#define pnp_dma(pnp_dma66,1930 -#define pnp_dma_flags(pnp_dma_flags67,1995 -#define pnp_dma_valid(pnp_dma_valid68,2066 -#define PNP_PORT_FLAG_16BITADDR 72,2192 -#define PNP_PORT_FLAG_FIXED 73,2231 -struct pnp_port pnp_port75,2267 -struct pnp_irq pnp_irq85,2575 -struct pnp_dma pnp_dma92,2755 -struct pnp_mem pnp_mem98,2907 -#define PNP_RES_PRIORITY_PREFERRED 108,3220 -#define PNP_RES_PRIORITY_ACCEPTABLE 109,3257 -#define PNP_RES_PRIORITY_FUNCTIONAL 110,3295 -#define PNP_RES_PRIORITY_INVALID 111,3333 -struct pnp_option pnp_option113,3373 -struct pnp_resource_table pnp_resource_table122,3675 -struct pnp_card pnp_card134,3914 -#define global_to_pnp_card(global_to_pnp_card152,4683 -#define protocol_to_pnp_card(protocol_to_pnp_card153,4757 -#define to_pnp_card(to_pnp_card154,4835 -#define pnp_for_each_card(pnp_for_each_card155,4896 -struct pnp_card_link pnp_card_link160,5084 -static inline void *pnp_get_card_drvdata 166,5191 -static inline void pnp_set_card_drvdata 171,5295 -struct pnp_dev pnp_dev176,5410 -#define global_to_pnp_dev(global_to_pnp_dev205,6431 -#define card_to_pnp_dev(card_to_pnp_dev206,6503 -#define protocol_to_pnp_dev(protocol_to_pnp_dev207,6571 -#define to_pnp_dev(to_pnp_dev208,6647 -#define pnp_for_each_dev(pnp_for_each_dev209,6706 -#define card_for_each_dev(card_for_each_dev213,6886 -#define pnp_dev_name(pnp_dev_name217,7074 -static inline void *pnp_get_drvdata 219,7113 -static inline void pnp_set_drvdata 224,7214 -struct pnp_fixup pnp_fixup229,7325 -#define PNP_CONFIG_NORMAL 235,7452 -#define PNP_CONFIG_FORCE 236,7485 -#define PNP_READ 239,7570 -#define PNP_WRITE 240,7595 -#define PNP_DISABLE 241,7621 -#define PNP_CONFIGURABLE 242,7649 -#define PNP_REMOVABLE 243,7681 -#define pnp_can_read(pnp_can_read245,7712 -#define pnp_can_write(pnp_can_write247,7827 -#define pnp_can_disable(pnp_can_disable249,7944 -#define pnp_can_configure(pnp_can_configure251,8069 -#define pnp_device_is_isapnp(pnp_device_is_isapnp256,8236 -#define pnp_device_is_isapnp(pnp_device_is_isapnp258,8316 -#define pnp_device_is_pnpbios(pnp_device_is_pnpbios263,8427 -#define pnp_device_is_pnpbios(pnp_device_is_pnpbios265,8509 -#define PNP_READY 270,8568 -#define PNP_ATTACHED 271,8594 -#define PNP_BUSY 272,8623 -#define PNP_FAULTY 273,8648 -#define isapnp_card_number(isapnp_card_number277,8706 -#define isapnp_csn_number(isapnp_csn_number278,8779 -struct pnp_id pnp_id284,8857 -struct pnp_driver pnp_driver289,8922 -#define to_pnp_driver(to_pnp_driver298,9164 -struct pnp_card_driver pnp_card_driver300,9237 -#define to_pnp_card_driver(to_pnp_card_driver310,9535 -#define PNP_DRIVER_RES_DO_NOT_CHANGE 313,9639 -#define PNP_DRIVER_RES_DISABLE 314,9727 -struct pnp_protocol pnp_protocol321,9835 -#define to_pnp_protocol(to_pnp_protocol337,10321 -#define protocol_for_each_card(protocol_for_each_card338,10398 -#define protocol_for_each_dev(protocol_for_each_dev342,10623 -static inline int pnp_register_protocol(397,13158 -static inline void pnp_unregister_protocol(398,13249 -static inline int pnp_init_device(399,13327 -static inline int pnp_add_device(400,13402 -static inline void pnp_remove_device(401,13476 -static inline int pnp_device_attach(402,13538 -static inline void pnp_device_detach(403,13619 -static inline int pnp_add_card(406,13719 -static inline void pnp_remove_card(407,13793 -static inline int pnp_add_card_device(408,13857 -static inline void pnp_remove_card_device(409,13959 -static inline int pnp_add_card_id(410,14028 -static inline struct pnp_dev * pnp_request_card_device(411,14124 -static inline void pnp_release_card_device(412,14265 -static inline int pnp_register_card_driver(413,14336 -static inline void pnp_unregister_card_driver(414,14429 -static inline struct pnp_option * pnp_register_independent_option(417,14538 -static inline struct pnp_option * pnp_register_dependent_option(418,14642 -static inline int pnp_register_irq_resource(419,14758 -static inline int pnp_register_dma_resource(420,14871 -static inline int pnp_register_port_resource(421,14984 -static inline int pnp_register_mem_resource(422,15099 -static inline void pnp_init_resource_table(423,15212 -static inline int pnp_assign_resources(424,15293 -static inline int pnp_manual_config_dev(425,15385 -static inline int pnp_auto_config_dev(426,15508 -static inline int pnp_validate_config(427,15587 -static inline int pnp_activate_dev(428,15666 -static inline int pnp_disable_dev(429,15742 -static inline void pnp_resource_change(430,15817 -static inline int pnp_is_active(433,15952 -static inline int compare_pnp_id(434,16020 -static inline int pnp_add_id(435,16111 -static inline int pnp_register_driver(436,16200 -static inline void pnp_unregister_driver(437,16282 -#define pnp_err(pnp_err442,16380 -#define pnp_info(pnp_info443,16458 -#define pnp_warn(pnp_warn444,16538 -#define pnp_dbg(pnp_dbg447,16635 -#define pnp_dbg(pnp_dbg449,16721 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/resource.h,402 -#define _LINUX_RESOURCE_H2,26 -#define RUSAGE_SELF 17,419 -#define RUSAGE_CHILDREN 18,441 -#define RUSAGE_BOTH 19,470 -struct rusage rusage21,525 -struct rlimit rlimit40,1256 -#define PRIO_MIN 45,1326 -#define PRIO_MAX 46,1349 -#define PRIO_PROCESS 48,1370 -#define PRIO_PGRP 49,1393 -#define PRIO_USER 50,1413 -#define _STK_LIM 58,1608 -#define EXEC_STACK_BIAS 59,1640 -#define MLOCK_LIMIT 65,1811 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/telephony.h,2989 -#define TELEPHONY_H38,1572 -#define TELEPHONY_VERSION 40,1593 -#define PHONE_VENDOR_IXJ 42,1625 -#define PHONE_VENDOR_QUICKNET 43,1661 -#define PHONE_VENDOR_VOICETRONIX 44,1710 -#define PHONE_VENDOR_ACULAB 45,1746 -#define PHONE_VENDOR_DIGI 46,1782 -#define PHONE_VENDOR_FRANKLIN 47,1818 -#define QTI_PHONEJACK 59,2333 -#define QTI_LINEJACK 60,2360 -#define QTI_PHONEJACK_LITE 61,2386 -#define QTI_PHONEJACK_PCI 62,2417 -#define QTI_PHONECARD 63,2447 - vendor 77,3142 - device,78,3155 - port,79,3164 - codec,80,3171 - dsp81,3179 -} phone_cap;phone_cap82,3184 -struct phone_capability phone_capability84,3198 - pots 92,3302 - pstn,93,3313 - handset,94,3320 - speaker95,3330 -} phone_ports;phone_ports96,3339 -#define PHONE_CAPABILITIES 98,3355 -#define PHONE_CAPABILITIES_LIST 99,3412 -#define PHONE_CAPABILITIES_CHECK 100,3496 -} PHONE_CID;PHONE_CID111,3774 -#define PHONE_RING 113,3789 -#define PHONE_HOOKSTATE 114,3827 -#define PHONE_MAXRINGS 115,3870 -#define PHONE_RING_CADENCE 116,3918 -#define OLD_PHONE_RING_START 117,3970 -#define PHONE_RING_START 118,4027 -#define PHONE_RING_STOP 119,4083 -#define USA_RING_CADENCE 121,4127 -#define PHONE_REC_CODEC 123,4161 -#define PHONE_REC_START 124,4209 -#define PHONE_REC_STOP 125,4252 -#define PHONE_REC_DEPTH 126,4294 -#define PHONE_FRAME 127,4342 -#define PHONE_REC_VOLUME 128,4386 -#define PHONE_REC_VOLUME_LINEAR 129,4434 -#define PHONE_REC_LEVEL 130,4489 -#define PHONE_PLAY_CODEC 132,4533 -#define PHONE_PLAY_START 133,4581 -#define PHONE_PLAY_STOP 134,4624 -#define PHONE_PLAY_DEPTH 135,4667 -#define PHONE_PLAY_VOLUME 136,4715 -#define PHONE_PLAY_VOLUME_LINEAR 137,4764 -#define PHONE_PLAY_LEVEL 138,4819 -#define PHONE_DTMF_READY 139,4862 -#define PHONE_GET_DTMF 140,4910 -#define PHONE_GET_DTMF_ASCII 141,4957 -#define PHONE_DTMF_OOB 142,5009 -#define PHONE_EXCEPTION 143,5056 -#define PHONE_PLAY_TONE 144,5104 -#define PHONE_SET_TONE_ON_TIME 145,5153 -#define PHONE_SET_TONE_OFF_TIME 146,5207 -#define PHONE_GET_TONE_ON_TIME 147,5262 -#define PHONE_GET_TONE_OFF_TIME 148,5311 -#define PHONE_GET_TONE_STATE 149,5361 -#define PHONE_BUSY 150,5408 -#define PHONE_RINGBACK 151,5446 -#define PHONE_DIALTONE 152,5488 -#define PHONE_CPT_STOP 153,5530 -#define PHONE_PSTN_SET_STATE 155,5573 -#define PHONE_PSTN_GET_STATE 156,5625 -#define PSTN_ON_HOOK 158,5673 -#define PSTN_RINGING 159,5697 -#define PSTN_OFF_HOOK 160,5721 -#define PSTN_PULSE_DIAL 161,5746 -#define PHONE_WINK_DURATION 170,6115 -#define PHONE_WINK 171,6166 - G723_63 179,6412 - G723_53 180,6426 - TS85 181,6440 - TS48 182,6451 - TS41 183,6462 - G728 184,6473 - G729 185,6484 - ULAW 186,6495 - ALAW 187,6506 - LINEAR16 188,6517 - LINEAR8 189,6533 - WSS 190,6548 - G729B 191,6559 -} phone_codec;phone_codec192,6571 -struct phone_codec_dataphone_codec_data194,6587 -#define PHONE_QUERY_CODEC 200,6693 -#define PHONE_PSTN_LINETEST 201,6778 -#define PHONE_VAD 218,7483 -struct phone_exceptphone_except240,8658 -union telephony_exception telephony_exception259,9034 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mca-legacy.h,63 -#define _LINUX_MCA_LEGACY_H8,207 -#define MCA_NOTFOUND 25,836 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv4.h,1162 -#define __LINUX_IP_NETFILTER_H2,31 -#define NFC_IP_SRC 13,254 -#define NFC_IP_DST 15,304 -#define NFC_IP_IF_IN 17,351 -#define NFC_IP_IF_OUT 19,401 -#define NFC_IP_TOS 21,442 -#define NFC_IP_PROTO 23,485 -#define NFC_IP_OPTIONS 25,532 -#define NFC_IP_FRAG 27,583 -#define NFC_IP_TCPFLAGS 31,690 -#define NFC_IP_SRC_PT 33,741 -#define NFC_IP_DST_PT 35,788 -#define NFC_IP_PROTO_UNKNOWN 37,855 -#define NF_IP_PRE_ROUTING 41,951 -#define NF_IP_LOCAL_IN 43,1025 -#define NF_IP_FORWARD 45,1106 -#define NF_IP_LOCAL_OUT 47,1174 -#define NF_IP_POST_ROUTING 49,1238 -#define NF_IP_NUMHOOKS 50,1267 -enum nf_ip_hook_priorities nf_ip_hook_priorities52,1294 - NF_IP_PRI_FIRST 53,1323 - NF_IP_PRI_FIRST = INT_MIN,53,1323 - NF_IP_PRI_CONNTRACK_DEFRAG 54,1351 - NF_IP_PRI_RAW 55,1387 - NF_IP_PRI_SELINUX_FIRST 56,1410 - NF_IP_PRI_CONNTRACK 57,1443 - NF_IP_PRI_BRIDGE_SABOTAGE_FORWARD 58,1472 - NF_IP_PRI_MANGLE 59,1515 - NF_IP_PRI_NAT_DST 60,1541 - NF_IP_PRI_BRIDGE_SABOTAGE_LOCAL_OUT 61,1568 - NF_IP_PRI_FILTER 62,1612 - NF_IP_PRI_NAT_SRC 63,1635 - NF_IP_PRI_SELINUX_LAST 64,1661 - NF_IP_PRI_LAST 65,1692 - NF_IP_PRI_LAST = INT_MAX,65,1692 -#define SO_ORIGINAL_DST 72,1928 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmsap.h,1507 -#define _LINUX_ATMSAP_H7,152 -#define ATM_L2_NONE 22,374 -#define ATM_L2_ISO1745 23,419 -#define ATM_L2_Q291 24,474 -#define ATM_L2_X25_LL 25,530 -#define ATM_L2_X25_ML 26,586 -#define ATM_L2_LAPB 27,641 -#define ATM_L2_HDLC_ARM 28,711 -#define ATM_L2_HDLC_NRM 29,770 -#define ATM_L2_HDLC_ABM 30,829 -#define ATM_L2_ISO8802 31,888 -#define ATM_L2_X75 32,947 -#define ATM_L2_Q922 33,993 -#define ATM_L2_USER 34,1036 -#define ATM_L2_ISO7776 35,1082 -#define ATM_L3_NONE 44,1203 -#define ATM_L3_X25 45,1248 -#define ATM_L3_ISO8208 46,1303 -#define ATM_L3_X223 47,1350 -#define ATM_L3_ISO8473 48,1408 -#define ATM_L3_T70 49,1469 -#define ATM_L3_TR9577 50,1532 -#define ATM_L3_H310 51,1581 -#define ATM_L3_H321 52,1639 -#define ATM_L3_USER 53,1697 -#define ATM_HL_NONE 62,1807 -#define ATM_HL_ISO 63,1852 -#define ATM_HL_USER 64,1886 -#define ATM_HL_HLP 65,1931 -#define ATM_HL_VENDOR 66,1995 -#define ATM_IMD_NONE 75,2139 -#define ATM_IMD_NORMAL 76,2188 -#define ATM_IMD_EXTENDED 77,2245 -#define ATM_TT_NONE 84,2349 -#define ATM_TT_RX 85,2405 -#define ATM_TT_TX 86,2444 -#define ATM_TT_RXTX 87,2480 -#define ATM_MC_NONE 89,2526 -#define ATM_MC_TS 90,2570 -#define ATM_MC_TS_FEC 91,2618 -#define ATM_MC_PS 92,2690 -#define ATM_MC_PS_FEC 93,2736 -#define ATM_MC_H221 94,2806 -#define ATM_MAX_HLI 100,2878 -struct atm_blli atm_blli103,2946 -} __ATM_API_ALIGN;136,4276 -struct atm_bhli atm_bhli139,4297 -#define ATM_MAX_BLLI 147,4559 -struct atm_sap atm_sap150,4623 -static __inline__ int blli_in_use(157,4799 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ite_gpio.h,455 -#define __ITE_GPIO_H34,1482 -struct ite_gpio_ioctl_data ite_gpio_ioctl_data38,1530 -#define ITE_GPIO_IOCTL_BASE 44,1604 -#define ITE_GPIO_IN 46,1637 -#define ITE_GPIO_OUT 47,1716 -#define ITE_GPIO_INT_CTRL 48,1796 -#define ITE_GPIO_IN_STATUS 49,1880 -#define ITE_GPIO_OUT_STATUS 50,1965 -#define ITE_GPIO_GEN_CTRL 51,2051 -#define ITE_GPIO_INT_WAIT 52,2135 -#define ITE_GPIO_PORTA 54,2220 -#define ITE_GPIO_PORTB 55,2248 -#define ITE_GPIO_PORTC 56,2276 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-algo-ite.h,151 -#define I2C_ALGO_ITE_H 30,1358 -#define I2C_SREAD 43,1607 -struct i2c_iic_msg i2c_iic_msg45,1658 -struct i2c_algo_iic_data i2c_algo_iic_data52,1817 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ftape.h,1765 -#define _FTAPE_H2,17 -#define FTAPE_VERSION 31,1067 -#define FT_SECTOR(FT_SECTOR41,1266 -#define FT_SECTOR_SIZE 42,1331 -#define FT_SECTORS_PER_SEGMENT 43,1360 -#define FT_ECC_SECTORS 44,1396 -#define FT_SEGMENT_SIZE 45,1425 -#define FT_BUFF_SIZE 46,1511 -#define FTAPE_SEL_A 53,1746 -#define FTAPE_SEL_B 54,1772 -#define FTAPE_SEL_C 55,1798 -#define FTAPE_SEL_D 56,1824 -#define FTAPE_SEL_MASK 57,1850 -#define FTAPE_SEL(FTAPE_SEL58,1879 -#define FTAPE_NO_REWIND 59,1929 -} ft_drive_error;ft_drive_error68,2130 -} ft_drive_status;ft_drive_status76,2260 -#define FT_RQM_DELAY 80,2299 -#define FT_MILLISECOND 81,2326 -#define FT_SECOND 82,2352 -#define FT_FOREVER 83,2381 -#define FT_USPT 87,2449 -#define FT_SOFT_RETRIES 93,2666 -#define FT_RETRIES_ON_ECC_ERROR 94,2729 -#define FT_SOFT_RETRIES 96,2810 -#define FT_RETRIES_ON_ECC_ERROR 97,2882 -#define THE_FTAPE_MAINTAINER 101,2994 -# define CONFIG_FT_NR_BUFFERS 107,3135 -# define CONFIG_FT_FDC_THR 110,3200 -# define CONFIG_FT_FDC_MAX_RATE 113,3267 -# define CONFIG_FT_FDC_BASE 116,3338 -# define CONFIG_FT_FDC_IRQ 119,3401 -# define CONFIG_FT_FDC_DMA 122,3464 -# define CONFIG_FT_PROBE_FC10 129,3599 -# define CONFIG_FT_PROBE_FC10 131,3637 -# define CONFIG_FT_MACH2 135,3723 -# define CONFIG_FT_MACH2 137,3756 -# define CONFIG_FT_FDC_BASE 145,3910 -# define CONFIG_FT_FDC_IRQ 149,4009 -# define CONFIG_FT_FDC_DMA 153,4103 -# define CONFIG_FT_FDC_BASE 158,4261 -# define CONFIG_FT_FDC_IRQ 162,4360 -# define CONFIG_FT_FDC_DMA 166,4454 -# define CONFIG_FT_FDC_BASE 171,4602 -# define CONFIG_FT_FDC_IRQ 175,4701 -# define CONFIG_FT_FDC_DMA 179,4795 -# define CONFIG_FT_FDC_BASE 184,4946 -# define CONFIG_FT_FDC_IRQ 188,5045 -# define CONFIG_FT_FDC_DMA 192,5139 -#define NR_ITEMS(NR_ITEMS198,5260 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ncp_fs_sb.h,351 -#define _NCP_FS_SB9,97 -#define NCP_DEFAULT_OPTIONS 19,244 -struct ncp_server ncp_server23,320 -#define NCP_FLAG_UTF8 138,3933 -#define NCP_CLR_FLAG(NCP_CLR_FLAG140,3958 -#define NCP_SET_FLAG(NCP_SET_FLAG141,4022 -#define NCP_IS_FLAG(NCP_IS_FLAG142,4085 -static inline int ncp_conn_valid(144,4147 -static inline void ncp_invalidate_conn(149,4257 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/msg.h,511 -#define _LINUX_MSG_H2,21 -#define MSG_STAT 8,115 -#define MSG_INFO 9,135 -#define MSG_NOERROR 12,177 -#define MSG_EXCEPT 13,246 -struct msqid_ds msqid_ds16,396 -struct msgbuf msgbuf36,1241 -struct msginfo msginfo42,1393 -#define MSGMNI 53,1538 -#define MSGMAX 54,1618 -#define MSGMNB 55,1694 -#define MSGPOOL 58,1792 -#define MSGTQL 59,1870 -#define MSGMAP 60,1943 -#define MSGSSZ 61,2016 -#define __MSGSEG 62,2077 -#define MSGSEG 63,2145 -struct msg_msg msg_msg68,2266 -struct msg_queue msg_queue78,2540 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dmapool.h,31 -#define LINUX_DMAPOOL_H12,306 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dio.h,3878 -#define _LINUX_DIO_H14,434 -#define DIO_IDOFF 34,1379 -#define DIO_IPLOFF 35,1453 -#define DIO_SECIDOFF 36,1534 -#define DIOII_SIZEOFF 37,1610 -#define DIO_IHPIBADDR 43,1915 -#define DIO_IHPIBSCODE 44,1945 -#define CONFIG_IHPIB 50,2202 -#define DIO_ISIHPIB(DIO_ISIHPIB52,2292 -#define DIO_ISIHPIB(DIO_ISIHPIB54,2353 -#define DIO_VIRADDRBASE 57,2390 -#define DIO_BASE 59,2480 -#define DIO_END 60,2553 -#define DIO_DEVSIZE 61,2624 -#define DIOII_BASE 63,2700 -#define DIOII_END 64,2776 -#define DIOII_DEVSIZE 65,2850 -#define DIO_SCMAX 70,3063 -#define DIOII_SCBASE 71,3113 -#define DIO_SCINHOLE(DIO_SCINHOLE72,3170 -#define DIO_ID(DIO_ID75,3297 -#define DIO_SECID(DIO_SECID76,3351 -#define DIO_IPL(DIO_IPL79,3446 -#define DIOII_SIZE(DIOII_SIZE84,3617 -#define DIO_SIZE(DIO_SIZE87,3751 -#define DIO_ENCODE_ID(DIO_ENCODE_ID94,4092 -#define DIO_NEEDSSECID(DIO_NEEDSSECID96,4249 -#define DIO_ID_DCA0 99,4378 -#define DIO_DESC_DCA0 100,4427 -#define DIO_ID_DCA0REM 101,4470 -#define DIO_DESC_DCA0REM 102,4519 -#define DIO_ID_DCA1 103,4568 -#define DIO_DESC_DCA1 104,4617 -#define DIO_ID_DCA1REM 105,4660 -#define DIO_DESC_DCA1REM 106,4709 -#define DIO_ID_DCM 107,4758 -#define DIO_DESC_DCM 108,4811 -#define DIO_ID_DCMREM 109,4856 -#define DIO_DESC_DCMREM 110,4909 -#define DIO_ID_LAN 111,4960 -#define DIO_DESC_LAN 112,5006 -#define DIO_ID_FHPIB 113,5051 -#define DIO_DESC_FHPIB 114,5111 -#define DIO_ID_NHPIB 115,5160 -#define DIO_DESC_NHPIB 116,5225 -#define DIO_ID_IHPIB 117,5262 -#define DIO_DESC_IHPIB 118,5348 -#define DIO_ID_SCSI0 119,5387 -#define DIO_DESC_SCSI0 120,5434 -#define DIO_ID_SCSI1 121,5472 -#define DIO_DESC_SCSI1 122,5513 -#define DIO_ID_SCSI2 123,5551 -#define DIO_DESC_SCSI2 124,5592 -#define DIO_ID_SCSI3 125,5630 -#define DIO_DESC_SCSI3 126,5671 -#define DIO_ID_FBUFFER 127,5709 -#define DIO_DESC_FBUFFER 128,5798 -#define DIO_ID_MISC0 130,5932 -#define DIO_DESC_MISC0 131,5974 -#define DIO_ID_MISC1 132,6006 -#define DIO_DESC_MISC1 133,6048 -#define DIO_ID_PARALLEL 134,6080 -#define DIO_DESC_PARALLEL 135,6133 -#define DIO_ID_MISC2 136,6179 -#define DIO_DESC_MISC2 137,6230 -#define DIO_ID_MISC3 138,6271 -#define DIO_DESC_MISC3 139,6330 -#define DIO_ID_MISC4 140,6379 -#define DIO_DESC_MISC4 141,6420 -#define DIO_ID_MISC5 142,6451 -#define DIO_DESC_MISC5 143,6493 -#define DIO_ID_MISC6 144,6525 -#define DIO_DESC_MISC6 145,6567 -#define DIO_ID_MISC7 146,6599 -#define DIO_DESC_MISC7 147,6646 -#define DIO_ID_MISC8 148,6683 -#define DIO_DESC_MISC8 149,6733 -#define DIO_ID_MISC9 150,6773 -#define DIO_DESC_MISC9 151,6815 -#define DIO_ID_MISC10 152,6847 -#define DIO_DESC_MISC10 153,6889 -#define DIO_ID_MISC11 154,6922 -#define DIO_DESC_MISC11 155,6964 -#define DIO_ID_MISC12 156,6997 -#define DIO_DESC_MISC12 157,7039 -#define DIO_ID_MISC13 158,7072 -#define DIO_DESC_MISC13 159,7112 -#define DIO_ID_VME 160,7143 -#define DIO_DESC_VME 161,7197 -#define DIO_ID_DCL 162,7239 -#define DIO_DESC_DCL 163,7288 -#define DIO_ID_DCLREM 164,7329 -#define DIO_DESC_DCLREM 165,7378 -#define DIO_ID2_GATORBOX 167,7480 -#define DIO_DESC2_GATORBOX 168,7542 -#define DIO_ID2_TOPCAT 169,7610 -#define DIO_DESC2_TOPCAT 170,7676 -#define DIO_ID2_RENAISSANCE 171,7748 -#define DIO_DESC2_RENAISSANCE 172,7813 -#define DIO_ID2_LRCATSEYE 173,7884 -#define DIO_DESC2_LRCATSEYE 174,7940 -#define DIO_ID2_HRCCATSEYE 175,7999 -#define DIO_DESC2_HRCCATSEYE 176,8063 -#define DIO_ID2_HRMCATSEYE 177,8129 -#define DIO_DESC2_HRMCATSEYE 178,8191 -#define DIO_ID2_DAVINCI 179,8256 -#define DIO_DESC2_DAVINCI 180,8317 -#define DIO_ID2_XXXCATSEYE 181,8384 -#define DIO_DESC2_XXXCATSEYE 182,8433 -#define DIO_ID2_HYPERION 183,8484 -#define DIO_DESC2_HYPERION 184,8541 -#define DIO_ID2_XGENESIS 185,8604 -#define DIO_DESC2_XGENESIS 186,8674 -#define DIO_ID2_TIGER 187,8731 -#define DIO_DESC2_TIGER 188,8797 -#define DIO_ID2_YGENESIS 189,8850 -#define DIO_DESC2_YGENESIS 190,8920 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ioctl.h,28 -#define _LINUX_IOCTL_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/un.h,90 -#define _LINUX_UN_H2,20 -#define UNIX_PATH_MAX 4,41 -struct sockaddr_un sockaddr_un6,68 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/affs_fs_i.h,346 -#define _AFFS_FS_I2,19 -#define AFFS_CACHE_SIZE 8,114 -#define AFFS_MAX_PREALLOC 11,183 -#define AFFS_LC_SIZE 12,212 -#define AFFS_AC_SIZE 13,266 -#define AFFS_AC_MASK 14,336 -struct affs_ext_key affs_ext_key16,376 -struct affs_inode_info affs_inode_info24,518 -#define i_hash_lock 28,699 -static inline struct affs_inode_info *AFFS_I(54,1666 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cobalt-nvram.h,2786 -#define COBALT_NVRAM_H9,215 -#define COBT_CMOS_INFO_MAX 13,265 -#define COBT_CMOS_BIOS_DRIVE_INFO 14,324 -#define COBT_CMOS_CKS_START 16,395 -#define COBT_CMOS_CKS_END 17,443 -#define COBT_CMOS_FLAG_BYTE_0 20,547 -#define COBT_CMOS_FLAG_BYTE_1 21,597 -#define COBT_CMOS_FLAG_MIN 24,685 -#define COBT_CMOS_CONSOLE_FLAG 25,720 -#define COBT_CMOS_DEBUG_FLAG 26,780 -#define COBT_CMOS_AUTO_PROMPT_FLAG 27,842 -#define COBT_CMOS_CLEAN_BOOT_FLAG 28,910 -#define COBT_CMOS_HW_NOPROBE_FLAG 29,981 -#define COBT_CMOS_SYSFAULT_FLAG 30,1051 -#define COBT_CMOS_OOPSPANIC_FLAG 31,1119 -#define COBT_CMOS_DELAY_CACHE_FLAG 32,1179 -#define COBT_CMOS_NOLOGO_FLAG 33,1254 -#define COBT_CMOS_VERSION_FLAG 34,1319 -#define COBT_CMOS_FLAG_MAX 35,1391 -#define COBT_CMOS_VERSION 40,1560 -#define COBT_CMOS_VER_BTOCODE 41,1606 -#define COBT_CMOS_BOOT_METHOD 44,1713 -#define COBT_CMOS_BOOT_METHOD_DISK 45,1763 -#define COBT_CMOS_BOOT_METHOD_ROM 46,1800 -#define COBT_CMOS_BOOT_METHOD_NET 47,1836 -#define COBT_CMOS_BOOT_DEV_MIN 49,1873 -#define COBT_CMOS_BOOT_DEV0_MAJ 51,1983 -#define COBT_CMOS_BOOT_DEV0_MIN 52,2035 -#define COBT_CMOS_BOOT_DEV1_MAJ 53,2087 -#define COBT_CMOS_BOOT_DEV1_MIN 54,2139 -#define COBT_CMOS_BOOT_DEV2_MAJ 55,2191 -#define COBT_CMOS_BOOT_DEV2_MIN 56,2243 -#define COBT_CMOS_BOOT_DEV3_MAJ 57,2295 -#define COBT_CMOS_BOOT_DEV3_MIN 58,2347 -#define COBT_CMOS_BOOT_DEV_MAX 59,2399 -#define COBT_CMOS_CHECKSUM 62,2484 -#define COBT_CMOS_UPTIME_0 65,2606 -#define COBT_CMOS_UPTIME_1 66,2653 -#define COBT_CMOS_UPTIME_2 67,2700 -#define COBT_CMOS_UPTIME_3 68,2747 -#define COBT_CMOS_BOOTCOUNT_0 71,2837 -#define COBT_CMOS_BOOTCOUNT_1 72,2887 -#define COBT_CMOS_BOOTCOUNT_2 73,2937 -#define COBT_CMOS_BOOTCOUNT_3 74,2987 -#define COBT_CMOS_SYS_SERNUM_LEN 77,3110 -#define COBT_CMOS_SYS_SERNUM_0 78,3146 -#define COBT_CMOS_SYS_SERNUM_1 79,3197 -#define COBT_CMOS_SYS_SERNUM_2 80,3248 -#define COBT_CMOS_SYS_SERNUM_3 81,3299 -#define COBT_CMOS_SYS_SERNUM_4 82,3350 -#define COBT_CMOS_SYS_SERNUM_5 83,3401 -#define COBT_CMOS_SYS_SERNUM_6 84,3452 -#define COBT_CMOS_SYS_SERNUM_7 85,3503 -#define COBT_CMOS_SYS_SERNUM_8 86,3554 -#define COBT_CMOS_SYS_SERNUM_9 87,3605 -#define COBT_CMOS_SYS_SERNUM_10 88,3656 -#define COBT_CMOS_SYS_SERNUM_11 89,3708 -#define COBT_CMOS_SYS_SERNUM_12 90,3760 -#define COBT_CMOS_SYS_SERNUM_CSUM 92,3851 -#define COBT_CMOS_ROM_REV_MAJ 94,3905 -#define COBT_CMOS_ROM_REV_MIN 95,3955 -#define COBT_CMOS_ROM_REV_REV 96,4005 -#define COBT_CMOS_BTO_CODE_0 98,4056 -#define COBT_CMOS_BTO_CODE_1 99,4105 -#define COBT_CMOS_BTO_CODE_2 100,4154 -#define COBT_CMOS_BTO_CODE_3 101,4203 -#define COBT_CMOS_BTO_IP_CSUM 103,4253 -#define COBT_CMOS_BTO_IP_0 104,4303 -#define COBT_CMOS_BTO_IP_1 105,4350 -#define COBT_CMOS_BTO_IP_2 106,4397 -#define COBT_CMOS_BTO_IP_3 107,4444 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hpfs_fs.h,61 -#define _LINUX_HPFS_FS_H2,25 -#define HPFS_SUPER_MAGIC 6,97 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ext2_fs_sb.h,74 -#define _LINUX_EXT2_FS_SB17,339 -struct ext2_sb_info ext2_sb_info25,492 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/miscdevice.h,825 -#define _LINUX_MISCDEVICE_H2,28 -#define PSMOUSE_MINOR 6,108 -#define MS_BUSMOUSE_MINOR 7,133 -#define ATIXL_BUSMOUSE_MINOR 8,161 -#define ATARIMOUSE_MINOR 10,239 -#define SUN_MOUSE_MINOR 11,266 -#define APOLLO_MOUSE_MINOR 12,292 -#define PC110PAD_MINOR 13,321 -#define WATCHDOG_MINOR 15,393 -#define TEMP_MINOR 16,446 -#define RTC_MINOR 17,495 -#define EFI_RTC_MINOR 18,517 -#define SUN_OPENPROM_MINOR 19,568 -#define DMAPI_MINOR 20,599 -#define NVRAM_MINOR 21,636 -#define SGI_MMTIMER 22,660 -#define STORE_QUEUE_MINOR 23,691 -#define I2O_MINOR 24,721 -#define MICROCODE_MINOR 25,743 -#define MWAVE_MINOR 26,772 -#define MPT_MINOR 27,819 -#define MISC_DYNAMIC_MINOR 28,841 -#define TUN_MINOR 30,873 -#define HPET_MINOR 31,900 -struct miscdevice miscdevice35,945 -#define MODULE_ALIAS_MISCDEV(MODULE_ALIAS_MISCDEV48,1206 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pagemap.h,1110 -#define _LINUX_PAGEMAP_H2,25 -#define AS_EIO 19,369 -#define AS_ENOSPC 20,438 -static inline int mapping_gfp_mask(22,508 -static inline void mapping_set_gfp_mask(31,733 -#define PAGE_CACHE_SHIFT 44,1119 -#define PAGE_CACHE_SIZE 45,1155 -#define PAGE_CACHE_MASK 46,1190 -#define PAGE_CACHE_ALIGN(PAGE_CACHE_ALIGN47,1225 -#define page_cache_get(page_cache_get49,1302 -#define page_cache_release(page_cache_release50,1347 -static inline struct page *page_cache_alloc(53,1455 -static inline struct page *page_cache_alloc_cold(58,1574 -typedef int filler_t(filler_t63,1709 -static inline struct page *grab_cache_page(81,2492 -#define PAGECACHE_ACCT_THRESHOLD 105,3402 -static inline void pagecache_acct(118,3898 -static inline void pagecache_acct(132,4167 -static inline unsigned long get_page_cache_size(138,4259 -static inline pgoff_t linear_page_index(146,4405 -static inline void lock_page(157,4748 -static inline void wait_on_page_locked(177,5241 -static inline void wait_on_page_writeback(186,5413 -static inline int fault_in_pages_writeable(200,5795 -static inline void fault_in_pages_readable(223,6343 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/device-mapper.h,701 -#define _LINUX_DEVICE_MAPPER_H8,136 -typedef enum { STATUSTYPE_INFO,14,219 -typedef enum { STATUSTYPE_INFO, STATUSTYPE_TABLE 14,219 -typedef enum { STATUSTYPE_INFO, STATUSTYPE_TABLE } status_type_t;status_type_t14,219 -union map_info map_info16,286 -typedef int (*dm_ctr_fn)dm_ctr_fn25,463 -typedef void (*dm_dtr_fn)dm_dtr_fn32,652 -typedef int (*dm_map_fn)dm_map_fn40,850 -typedef int (*dm_endio_fn)dm_endio_fn50,1156 -typedef void (*dm_suspend_fn)dm_suspend_fn54,1279 -typedef void (*dm_resume_fn)dm_resume_fn55,1333 -typedef int (*dm_status_fn)dm_status_fn57,1387 -struct target_type target_type74,1920 -struct io_restrictions io_restrictions87,2154 -struct dm_target dm_target96,2383 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_eql.h,891 -#define _LINUX_IF_EQL_H20,517 -#define EQL_DEFAULT_SLAVE_PRIORITY 22,542 -#define EQL_DEFAULT_MAX_SLAVES 23,583 -#define EQL_DEFAULT_MTU 24,620 -#define EQL_DEFAULT_RESCHED_IVAL 25,659 -#define EQL_ENSLAVE 27,699 -#define EQL_EMANCIPATE 28,740 -#define EQL_GETSLAVECFG 30,786 -#define EQL_SETSLAVECFG 31,831 -#define EQL_GETMASTRCFG 33,877 -#define EQL_SETMASTRCFG 34,922 -typedef struct slave slave41,1041 -} slave_t;slave_t48,1197 -typedef struct slave_queue slave_queue50,1209 -} slave_queue_t;slave_queue_t55,1338 -typedef struct equalizer equalizer57,1356 -} equalizer_t;equalizer_t63,1502 -typedef struct master_config master_config67,1545 -} master_config_t;master_config_t71,1633 -typedef struct slave_config slave_config73,1653 -} slave_config_t;slave_config_t76,1721 -typedef struct slaving_request slaving_request78,1740 -} slaving_request_t;slaving_request_t81,1811 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/scx200.h,775 -#define SCx200_DOCCS_BASE 11,286 -#define SCx200_DOCCS_CTRL 12,351 -#define SCx200_GPIO_SIZE 15,438 -#define SCx200_CB_BASE 18,537 -#define SCx200_WDT_OFFSET 21,636 -#define SCx200_WDT_SIZE 22,707 -#define SCx200_WDT_WDTO 24,748 -#define SCx200_WDT_WDCNFG 25,801 -#define SCx200_WDT_WDSTS 26,861 -#define SCx200_WDT_WDSTS_WDOVF 27,913 -#define SCx200_TIMER_OFFSET 30,999 -#define SCx200_TIMER_SIZE 31,1032 -#define SCx200_CLOCKGEN_OFFSET 34,1087 -#define SCx200_CLOCKGEN_SIZE 35,1123 -#define SCx200_MISC_OFFSET 38,1223 -#define SCx200_MISC_SIZE 39,1255 -#define SCx200_PMR 41,1286 -#define SCx200_MCR 42,1343 -#define SCx200_INTSEL 43,1411 -#define SCx200_IID 44,1473 -#define SCx200_REV 45,1543 -#define SCx200_CBA 46,1592 -#define scx200_cb_probe(scx200_cb_probe49,1718 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dirent.h,134 -#define _LINUX_DIRENT_H2,24 -struct dirent dirent4,49 -struct dirent64 dirent6411,188 -struct linux_dirent64 linux_dirent6421,328 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/inetdevice.h,1468 -#define _LINUX_INETDEVICE_H2,28 -struct ipv4_devconfipv4_devconf8,105 -struct in_devicein_device34,544 -#define IN_DEV_FORWARD(IN_DEV_FORWARD58,1198 -#define IN_DEV_MFORWARD(IN_DEV_MFORWARD59,1257 -#define IN_DEV_RPFILTER(IN_DEV_RPFILTER60,1350 -#define IN_DEV_SOURCE_ROUTE(IN_DEV_SOURCE_ROUTE61,1435 -#define IN_DEV_BOOTP_RELAY(IN_DEV_BOOTP_RELAY62,1543 -#define IN_DEV_LOG_MARTIANS(IN_DEV_LOG_MARTIANS64,1635 -#define IN_DEV_PROXY_ARP(IN_DEV_PROXY_ARP65,1729 -#define IN_DEV_SHARED_MEDIA(IN_DEV_SHARED_MEDIA66,1814 -#define IN_DEV_TX_REDIRECTS(IN_DEV_TX_REDIRECTS67,1908 -#define IN_DEV_SEC_REDIRECTS(IN_DEV_SEC_REDIRECTS68,2006 -#define IN_DEV_IDTAG(IN_DEV_IDTAG69,2109 -#define IN_DEV_MEDIUM_ID(IN_DEV_MEDIUM_ID70,2159 -#define IN_DEV_RX_REDIRECTS(IN_DEV_RX_REDIRECTS72,2219 -#define IN_DEV_ARPFILTER(IN_DEV_ARPFILTER78,2467 -#define IN_DEV_ARP_ANNOUNCE(IN_DEV_ARP_ANNOUNCE79,2554 -#define IN_DEV_ARP_IGNORE(IN_DEV_ARP_IGNORE80,2651 -struct in_ifaddrin_ifaddr82,2743 -static __inline__ int inet_ifa_match(112,3826 -static __inline__ int bad_mask(121,3994 -#define for_primary_ifa(for_primary_ifa131,4156 -#define for_ifa(for_ifa134,4312 -#define endfor_ifa(endfor_ifa138,4424 -in_dev_get(141,4491 -__in_dev_get(154,4723 -static inline void in_dev_put(161,4871 -#define __in_dev_put(__in_dev_put167,5002 -#define in_dev_hold(in_dev_hold168,5058 -static __inline__ __u32 inet_make_mask(172,5140 -static __inline__ int inet_mask_len(179,5262 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/scc.h,2261 -#define _SCC_H4,82 -#define PA0HZP 10,160 -#define EAGLE 11,236 -#define PC100 12,294 -#define PRIMUS 13,349 -#define DRSI 14,417 -#define BAYCOM 15,480 -enum SCC_ioctl_cmds SCC_ioctl_cmds19,568 - SIOCSCCRESERVED 20,590 - SIOCSCCRESERVED = SIOCDEVPRIVATE,20,590 - SIOCSCCCFG,21,625 - SIOCSCCINI,22,638 - SIOCSCCCHANINI,23,651 - SIOCSCCSMEM,24,668 - SIOCSCCGKISS,25,682 - SIOCSCCSKISS,26,697 - SIOCSCCGSTAT,27,712 - SIOCSCCCAL28,727 -enum L1_params L1_params33,789 - PARAM_DATA,34,806 - PARAM_TXDELAY,35,819 - PARAM_PERSIST,36,835 - PARAM_SLOTTIME,37,851 - PARAM_TXTAIL,38,868 - PARAM_FULLDUP,39,883 - PARAM_SOFTDCD,40,899 - PARAM_MUTE,41,936 - PARAM_DTR,42,960 - PARAM_RTS,43,972 - PARAM_SPEED,44,984 - PARAM_ENDDELAY,45,998 - PARAM_GROUP,46,1026 - PARAM_IDLE,47,1040 - PARAM_MIN,48,1053 - PARAM_MAXKEY,49,1065 - PARAM_WAIT,50,1080 - PARAM_MAXDEFER,51,1093 - PARAM_TX,52,1110 - PARAM_HWEVENT 53,1121 - PARAM_RETURN 54,1142 -enum FULLDUP_modes FULLDUP_modes59,1213 - KISS_DUPLEX_HALF,60,1234 - KISS_DUPLEX_FULL,61,1281 - KISS_DUPLEX_LINK,62,1350 - KISS_DUPLEX_OPTIMA 63,1421 -#define TIMER_OFF 68,1525 -#define NO_SUCH_PARAM 69,1577 -enum HWEVENT_opts HWEVENT_opts73,1660 - HWEV_DCD_ON,74,1680 - HWEV_DCD_OFF,75,1694 - HWEV_ALL_SENT76,1709 -#define RXGROUP 81,1752 -#define TXGROUP 82,1820 -enum CLOCK_sources CLOCK_sources86,1914 - CLK_DPLL,87,1935 - CLK_EXTERNAL,88,1980 - CLK_DIVIDER,89,2040 - CLK_BRG 91,2144 -enum TX_state TX_state97,2266 - TXS_IDLE,98,2282 - TXS_BUSY,99,2332 - TXS_ACTIVE,100,2391 - TXS_NEWFRAME,101,2439 - TXS_IDLE2,102,2492 - TXS_WAIT,103,2542 - TXS_TIMEOUT 104,2589 -typedef unsigned long io_port;io_port107,2642 -struct scc_stat scc_stat111,2756 -struct scc_modem scc_modem133,3584 -struct scc_kiss_cmd scc_kiss_cmd139,3741 -struct scc_hw_config scc_hw_config144,3864 -struct scc_mem_config scc_mem_config163,4397 -struct scc_calibrate scc_calibrate168,4469 -enum {TX_OFF,175,4559 -enum {TX_OFF, TX_ON}175,4559 -#define VECTOR_MASK 179,4642 -#define TXINT 180,4667 -#define EXINT 181,4687 -#define RXINT 182,4707 -#define SPINT 183,4727 -#define Inb(Inb186,4772 -#define Outb(Outb187,4802 -#define Inb(Inb189,4850 -#define Outb(Outb190,4878 -struct scc_kiss scc_kiss195,4972 -struct scc_channel scc_channel215,5976 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/wavefront.h,9353 -#define __wavefront_h__2,24 - You will not be able to compile this file correctly without gcc,15,354 - of 22 bytes,17,503 - the case on the original platform, MS-DOS). If this is not done,18,575 - The method used to do this here 20,712 -#define NUM_MIDIKEYS 42,1477 -#define NUM_MIDICHANNELS 46,1555 -typedef short INT16;INT1656,1947 -typedef unsigned short UINT16;UINT1657,1968 -typedef int INT32;INT3258,1999 -typedef unsigned int UINT32;UINT3259,2018 -typedef char CHAR8;CHAR860,2047 -typedef unsigned char UCHAR8;UCHAR861,2067 -#define WFC_DEBUG_DRIVER 68,2239 -#define WFC_FX_IOCTL 69,2281 -#define WFC_PATCH_STATUS 70,2323 -#define WFC_PROGRAM_STATUS 71,2365 -#define WFC_SAMPLE_STATUS 72,2407 -#define WFC_DISABLE_INTERRUPTS 73,2449 -#define WFC_ENABLE_INTERRUPTS 74,2491 -#define WFC_INTERRUPT_STATUS 75,2533 -#define WFC_ROMSAMPLES_RDONLY 76,2575 -#define WFC_IDENTIFY_SLOT_TYPE 77,2617 -#define WFC_DOWNLOAD_SAMPLE 82,2693 -#define WFC_DOWNLOAD_BLOCK 83,2727 -#define WFC_DOWNLOAD_MULTISAMPLE 84,2760 -#define WFC_DOWNLOAD_SAMPLE_ALIAS 85,2798 -#define WFC_DELETE_SAMPLE 86,2837 -#define WFC_REPORT_FREE_MEMORY 87,2869 -#define WFC_DOWNLOAD_PATCH 88,2906 -#define WFC_DOWNLOAD_PROGRAM 89,2939 -#define WFC_SET_SYNTHVOL 90,2974 -#define WFC_SET_NVOICES 91,3005 -#define WFC_DOWNLOAD_DRUM 92,3036 -#define WFC_GET_SYNTHVOL 93,3068 -#define WFC_GET_NVOICES 94,3099 -#define WFC_DISABLE_CHANNEL 95,3130 -#define WFC_ENABLE_CHANNEL 96,3164 -#define WFC_MISYNTH_OFF 97,3197 -#define WFC_MISYNTH_ON 98,3228 -#define WFC_FIRMWARE_VERSION 99,3258 -#define WFC_GET_NSAMPLES 100,3293 -#define WFC_DISABLE_DRUM_PROGRAM 101,3324 -#define WFC_UPLOAD_PATCH 102,3362 -#define WFC_UPLOAD_PROGRAM 103,3393 -#define WFC_SET_TUNING 104,3426 -#define WFC_GET_TUNING 105,3456 -#define WFC_VMIDI_ON 106,3486 -#define WFC_VMIDI_OFF 107,3514 -#define WFC_MIDI_STATUS 108,3543 -#define WFC_GET_CHANNEL_STATUS 109,3574 -#define WFC_DOWNLOAD_SAMPLE_HEADER 110,3611 -#define WFC_UPLOAD_SAMPLE_HEADER 111,3651 -#define WFC_UPLOAD_MULTISAMPLE 112,3689 -#define WFC_UPLOAD_SAMPLE_ALIAS 113,3726 -#define WFC_IDENTIFY_SAMPLE_TYPE 114,3764 -#define WFC_DOWNLOAD_EDRUM_PROGRAM 115,3802 -#define WFC_UPLOAD_EDRUM_PROGRAM 116,3842 -#define WFC_SET_EDRUM_CHANNEL 117,3880 -#define WFC_INSTOUT_LEVELS 118,3916 -#define WFC_PEAKOUT_LEVELS 119,3949 -#define WFC_REPORT_CHANNEL_PROGRAMS 120,3982 -#define WFC_HARDWARE_VERSION 121,4023 -#define WFC_UPLOAD_SAMPLE_PARAMS 122,4058 -#define WFC_DOWNLOAD_OS 123,4096 -#define WFC_NOOP 124,4127 -#define WF_MAX_SAMPLE 126,4173 -#define WF_MAX_PATCH 127,4201 -#define WF_MAX_PROGRAM 128,4229 -#define WF_SECTION_MAX 130,4258 -#define WF_PROGRAM_BYTES 136,4452 -#define WF_PATCH_BYTES 137,4480 -#define WF_SAMPLE_BYTES 138,4507 -#define WF_SAMPLE_HDR_BYTES 139,4534 -#define WF_ALIAS_BYTES 140,4565 -#define WF_DRUM_BYTES 141,4591 -#define WF_MSAMPLE_BYTES 142,4615 -#define WF_ACK 144,4671 -#define WF_DMA_ACK 145,4695 -#define WF_MIDI_VIRTUAL_ENABLED 149,4758 -#define WF_MIDI_VIRTUAL_IS_EXTERNAL 150,4794 -#define WF_MIDI_IN_TO_SYNTH_DISABLED 151,4834 -#define WF_SYNTH_SLOT 155,4955 -#define WF_INTERNAL_MIDI_SLOT 156,4987 -#define WF_EXTERNAL_MIDI_SLOT 157,5019 -#define WF_EXTERNAL_SWITCH 165,5335 -#define WF_INTERNAL_SWITCH 166,5368 -#define WF_DEBUG_CMD 170,5425 -#define WF_DEBUG_DATA 171,5450 -#define WF_DEBUG_LOAD_PATCH 172,5476 -#define WF_DEBUG_IO 173,5508 -#define WF_WAVEPATCH_VERSION 177,5568 -#define WF_MAX_COMMENT 178,5644 -#define WF_NUM_LAYERS 179,5705 -#define WF_NAME_LENGTH 180,5740 -#define WF_SOURCE_LENGTH 181,5776 -#define BankFileID 183,5814 -#define DrumkitFileID 184,5844 -#define ProgramFileID 185,5877 -struct wf_envelopewf_envelope187,5911 -typedef struct wf_envelope wavefront_envelope;wavefront_envelope222,6515 -struct wf_lfowf_lfo224,6563 -typedef struct wf_lfo wavefront_lfo;wavefront_lfo245,6905 -struct wf_patchwf_patch247,6943 -typedef struct wf_patch wavefront_patch;wavefront_patch300,7957 -struct wf_layerwf_layer302,7999 -typedef struct wf_layer wavefront_layer;wavefront_layer317,8236 -struct wf_programwf_program319,8278 -typedef struct wf_program wavefront_program;wavefront_program323,8343 -struct wf_sample_offsetwf_sample_offset325,8389 -typedef struct wf_sample_offset wavefront_sample_offset;wavefront_sample_offset331,8482 -#define WF_ST_SAMPLE 335,8580 -#define WF_ST_MULTISAMPLE 336,8608 -#define WF_ST_ALIAS 337,8636 -#define WF_ST_EMPTY 338,8664 -#define WF_ST_DRUM 342,8709 -#define WF_ST_PROGRAM 343,8737 -#define WF_ST_PATCH 344,8765 -#define WF_ST_SAMPLEHDR 345,8793 -#define WF_ST_MASK 347,8822 -#define WF_SLOT_USED 353,8949 -#define WF_SLOT_FILLED 354,9026 -#define WF_SLOT_ROM 355,9057 -#define WF_SLOT_MASK 357,9089 -#define WF_CH_MONO 361,9146 -#define WF_CH_LEFT 362,9168 -#define WF_CH_RIGHT 363,9190 -#define LINEAR_16BIT 367,9235 -#define WHITE_NOISE 368,9258 -#define LINEAR_8BIT 369,9281 -#define MULAW_8BIT 370,9304 -#define WF_SAMPLE_IS_8BIT(WF_SAMPLE_IS_8BIT372,9328 -#define WF_SET_CHANNEL(WF_SET_CHANNEL408,10551 -#define WF_GET_CHANNEL(WF_GET_CHANNEL413,10683 -typedef struct wf_sample wf_sample416,10781 -} wavefront_sample;wavefront_sample429,11200 -typedef struct wf_multisample wf_multisample431,11221 -} wavefront_multisample;wavefront_multisample434,11356 -typedef struct wf_alias wf_alias436,11382 -} wavefront_alias;wavefront_alias464,12625 -typedef struct wf_drum wf_drum466,12645 -} wavefront_drum;wavefront_drum476,12880 -typedef struct wf_drumkit wf_drumkit478,12899 -} wavefront_drumkit;wavefront_drumkit480,12966 -typedef struct wf_channel_programs wf_channel_programs482,12988 -} wavefront_channel_programs;wavefront_channel_programs484,13063 -#define WF_CHANNEL_STATUS(WF_CHANNEL_STATUS490,13225 -typedef union wf_any wf_any492,13290 -} wavefront_any;wavefront_any499,13461 -typedef struct wf_patch_info wf_patch_info508,13796 -#define WAVEFRONT_FIND_FREE_SAMPLE_SLOT 518,14161 -} wavefront_patch_info;wavefront_patch_info541,14916 -#define WF_MAX_READ 548,15104 -#define WF_MAX_WRITE 549,15154 -typedef struct wavefront_control wavefront_control557,15399 -} wavefront_control;wavefront_control562,15691 -#define WFCTL_WFCMD 564,15713 -#define WFCTL_LOAD_SPP 565,15740 -#define WF_MOD_LFO1 569,15791 -#define WF_MOD_LFO2 570,15818 -#define WF_MOD_ENV1 571,15845 -#define WF_MOD_ENV2 572,15872 -#define WF_MOD_KEYBOARD 573,15899 -#define WF_MOD_LOGKEY 574,15926 -#define WF_MOD_VELOCITY 575,15953 -#define WF_MOD_LOGVEL 576,15980 -#define WF_MOD_RANDOM 577,16007 -#define WF_MOD_PRESSURE 578,16034 -#define WF_MOD_MOD_WHEEL 579,16061 -#define WF_MOD_1 580,16089 -#define WF_MOD_BREATH 581,16132 -#define WF_MOD_2 582,16160 -#define WF_MOD_FOOT 583,16199 -#define WF_MOD_4 584,16227 -#define WF_MOD_VOLUME 585,16264 -#define WF_MOD_7 586,16292 -#define WF_MOD_PAN 587,16331 -#define WF_MOD_10 588,16359 -#define WF_MOD_EXPR 589,16395 -#define WF_MOD_11 590,16423 -typedef struct wf_fx_info wf_fx_info594,16488 -} wavefront_fx_info;wavefront_fx_info597,16620 -#define WFFX_SETOUTGAIN 606,16951 -#define WFFX_SETSTEREOOUTGAIN 607,16986 -#define WFFX_SETREVERBIN1GAIN 608,17019 -#define WFFX_SETREVERBIN2GAIN 609,17052 -#define WFFX_SETREVERBIN3GAIN 610,17085 -#define WFFX_SETCHORUSINPORT 611,17118 -#define WFFX_SETREVERBIN1PORT 612,17150 -#define WFFX_SETREVERBIN2PORT 613,17183 -#define WFFX_SETREVERBIN3PORT 614,17216 -#define WFFX_SETEFFECTPORT 615,17249 -#define WFFX_SETAUXPORT 616,17279 -#define WFFX_SETREVERBTYPE 617,17315 -#define WFFX_SETREVERBDELAY 618,17346 -#define WFFX_SETCHORUSLFO 619,17378 -#define WFFX_SETCHORUSPMD 620,17408 -#define WFFX_SETCHORUSAMD 621,17438 -#define WFFX_SETEFFECT 622,17468 -#define WFFX_SETBASEALL 623,17503 -#define WFFX_SETREVERBALL 624,17539 -#define WFFX_SETCHORUSALL 625,17569 -#define WFFX_SETREVERBDEF 626,17599 -#define WFFX_SETCHORUSDEF 627,17629 -#define WFFX_DELAYSETINGAIN 628,17659 -#define WFFX_DELAYSETFBGAIN 629,17691 -#define WFFX_DELAYSETFBLPF 630,17730 -#define WFFX_DELAYSETGAIN 631,17761 -#define WFFX_DELAYSETTIME 632,17791 -#define WFFX_DELAYSETFBTIME 633,17821 -#define WFFX_DELAYSETALL 634,17853 -#define WFFX_DELAYSETDEF 635,17882 -#define WFFX_SDELAYSETINGAIN 636,17911 -#define WFFX_SDELAYSETFBGAIN 637,17944 -#define WFFX_SDELAYSETFBLPF 638,17977 -#define WFFX_SDELAYSETGAIN 639,18009 -#define WFFX_SDELAYSETTIME 640,18040 -#define WFFX_SDELAYSETFBTIME 641,18071 -#define WFFX_SDELAYSETALL 642,18104 -#define WFFX_SDELAYSETDEF 643,18134 -#define WFFX_DEQSETINGAIN 644,18164 -#define WFFX_DEQSETFILTER 645,18194 -#define WFFX_DEQSETALL 646,18224 -#define WFFX_DEQSETDEF 647,18259 -#define WFFX_MUTE 648,18294 -#define WFFX_FLANGESETBALANCE 649,18324 -#define WFFX_FLANGESETDELAY 650,18366 -#define WFFX_FLANGESETDWFFX_TH 651,18398 -#define WFFX_FLANGESETFBGAIN 652,18433 -#define WFFX_FLANGESETINGAIN 653,18466 -#define WFFX_FLANGESETLFO 654,18499 -#define WFFX_FLANGESETALL 655,18529 -#define WFFX_FLANGESETDEF 656,18559 -#define WFFX_PITCHSETSHIFT 657,18589 -#define WFFX_PITCHSETBALANCE 658,18620 -#define WFFX_PITCHSETALL 659,18653 -#define WFFX_PITCHSETDEF 660,18682 -#define WFFX_SRSSETINGAIN 661,18711 -#define WFFX_SRSSETSPACE 662,18741 -#define WFFX_SRSSETCENTER 663,18770 -#define WFFX_SRSSETGAIN 664,18800 -#define WFFX_SRSSETMODE 665,18836 -#define WFFX_SRSSETDEF 666,18872 -#define WFFX_MEMSET 673,19111 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/umsdos_fs.h,1137 -#define LINUX_UMSDOS_FS_H2,26 -#define UMSDOS_PARANOIA 7,138 -#define UMSDOS_VERSION 9,165 -#define UMSDOS_RELEASE 10,190 -#define UMSDOS_ROOT_INO 12,216 -#define UMSDOS_EMD_FILE 15,298 -#define UMSDOS_EMD_NAMELEN 16,338 -#define UMSDOS_PSDROOT_NAME 17,368 -#define UMSDOS_PSDROOT_LEN 18,404 -# define PRINTK(PRINTK46,1073 -# define Printk(Printk48,1113 -# define Printk(Printk50,1149 -struct umsdos_fake_info umsdos_fake_info55,1203 -#define UMSDOS_MAXNAME 60,1260 -struct umsdos_dirent umsdos_dirent64,1479 -#define UMSDOS_HIDDEN 83,2286 -#define UMSDOS_HLINK 84,2358 -#define UMSDOS_REC_SIZE 92,2650 -struct umsdos_info umsdos_info96,2733 -#define UMSDOS_READDIR_DOS 113,3337 -#define UMSDOS_UNLINK_DOS 114,3418 -#define UMSDOS_RMDIR_DOS 115,3497 -#define UMSDOS_STAT_DOS 116,3576 -#define UMSDOS_CREAT_EMD 119,3705 -#define UMSDOS_UNLINK_EMD 120,3766 -#define UMSDOS_READDIR_EMD 121,3835 -#define UMSDOS_GETVERSION 122,3906 -#define UMSDOS_INIT_EMD 123,3986 -#define UMSDOS_DOS_SETUP 124,4066 -#define UMSDOS_RENAME_DOS 126,4153 -struct umsdos_ioctl umsdos_ioctl128,4259 -#define EDM_ENTRY_ISUSED(EDM_ENTRY_ISUSED165,5400 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/keyboard.h,10036 -#define __LINUX_KEYBOARD_H2,27 -#define KG_SHIFT 6,80 -#define KG_CTRL 7,99 -#define KG_ALT 8,118 -#define KG_ALTGR 9,136 -#define KG_SHIFTL 10,155 -#define KG_KANASHIFT 11,175 -#define KG_SHIFTR 12,198 -#define KG_CTRLL 13,218 -#define KG_CTRLR 14,237 -#define KG_CAPSSHIFT 15,256 -#define NR_SHIFT 17,280 -#define NR_KEYS 19,300 -#define MAX_NR_KEYMAPS 20,321 -#define MAX_NR_OF_USER_KEYMAPS 23,487 -#define MAX_NR_FUNC 33,760 -#define KT_LATIN 35,826 -#define KT_LETTER 36,880 -#define KT_FN 37,949 -#define KT_SPEC 38,966 -#define KT_PAD 39,985 -#define KT_DEAD 40,1003 -#define KT_CONS 41,1022 -#define KT_CUR 42,1041 -#define KT_SHIFT 43,1059 -#define KT_META 44,1078 -#define KT_ASCII 45,1097 -#define KT_LOCK 46,1116 -#define KT_SLOCK 47,1136 -#define K(K49,1157 -#define KTYP(KTYP50,1188 -#define KVAL(KVAL51,1216 -#define K_F1 53,1247 -#define K_F2 54,1272 -#define K_F3 55,1297 -#define K_F4 56,1322 -#define K_F5 57,1347 -#define K_F6 58,1372 -#define K_F7 59,1397 -#define K_F8 60,1422 -#define K_F9 61,1447 -#define K_F10 62,1472 -#define K_F11 63,1498 -#define K_F12 64,1525 -#define K_F13 65,1552 -#define K_F14 66,1579 -#define K_F15 67,1606 -#define K_F16 68,1633 -#define K_F17 69,1660 -#define K_F18 70,1687 -#define K_F19 71,1714 -#define K_F20 72,1741 -#define K_FIND 73,1768 -#define K_INSERT 74,1796 -#define K_REMOVE 75,1825 -#define K_SELECT 76,1854 -#define K_PGUP 77,1883 -#define K_PGDN 78,1945 -#define K_MACRO 79,2006 -#define K_HELP 80,2036 -#define K_DO 81,2064 -#define K_PAUSE 82,2090 -#define K_F21 83,2120 -#define K_F22 84,2147 -#define K_F23 85,2174 -#define K_F24 86,2201 -#define K_F25 87,2228 -#define K_F26 88,2255 -#define K_F27 89,2282 -#define K_F28 90,2309 -#define K_F29 91,2336 -#define K_F30 92,2363 -#define K_F31 93,2390 -#define K_F32 94,2417 -#define K_F33 95,2444 -#define K_F34 96,2471 -#define K_F35 97,2498 -#define K_F36 98,2525 -#define K_F37 99,2552 -#define K_F38 100,2579 -#define K_F39 101,2606 -#define K_F40 102,2633 -#define K_F41 103,2660 -#define K_F42 104,2687 -#define K_F43 105,2714 -#define K_F44 106,2741 -#define K_F45 107,2768 -#define K_F46 108,2795 -#define K_F47 109,2822 -#define K_F48 110,2849 -#define K_F49 111,2876 -#define K_F50 112,2903 -#define K_F51 113,2930 -#define K_F52 114,2957 -#define K_F53 115,2984 -#define K_F54 116,3011 -#define K_F55 117,3038 -#define K_F56 118,3065 -#define K_F57 119,3092 -#define K_F58 120,3119 -#define K_F59 121,3146 -#define K_F60 122,3173 -#define K_F61 123,3200 -#define K_F62 124,3227 -#define K_F63 125,3254 -#define K_F64 126,3281 -#define K_F65 127,3308 -#define K_F66 128,3335 -#define K_F67 129,3362 -#define K_F68 130,3389 -#define K_F69 131,3416 -#define K_F70 132,3443 -#define K_F71 133,3470 -#define K_F72 134,3497 -#define K_F73 135,3524 -#define K_F74 136,3551 -#define K_F75 137,3578 -#define K_F76 138,3605 -#define K_F77 139,3632 -#define K_F78 140,3659 -#define K_F79 141,3686 -#define K_F80 142,3713 -#define K_F81 143,3740 -#define K_F82 144,3767 -#define K_F83 145,3794 -#define K_F84 146,3821 -#define K_F85 147,3848 -#define K_F86 148,3875 -#define K_F87 149,3902 -#define K_F88 150,3929 -#define K_F89 151,3956 -#define K_F90 152,3983 -#define K_F91 153,4010 -#define K_F92 154,4038 -#define K_F93 155,4066 -#define K_F94 156,4094 -#define K_F95 157,4122 -#define K_F96 158,4150 -#define K_F97 159,4178 -#define K_F98 160,4206 -#define K_F99 161,4234 -#define K_F100 162,4262 -#define K_F101 163,4291 -#define K_F102 164,4320 -#define K_F103 165,4349 -#define K_F104 166,4378 -#define K_F105 167,4407 -#define K_F106 168,4436 -#define K_F107 169,4465 -#define K_F108 170,4494 -#define K_F109 171,4523 -#define K_F110 172,4552 -#define K_F111 173,4581 -#define K_F112 174,4610 -#define K_F113 175,4639 -#define K_F114 176,4668 -#define K_F115 177,4697 -#define K_F116 178,4726 -#define K_F117 179,4755 -#define K_F118 180,4784 -#define K_F119 181,4813 -#define K_F120 182,4842 -#define K_F121 183,4871 -#define K_F122 184,4900 -#define K_F123 185,4929 -#define K_F124 186,4958 -#define K_F125 187,4987 -#define K_F126 188,5016 -#define K_F127 189,5045 -#define K_F128 190,5074 -#define K_F129 191,5103 -#define K_F130 192,5132 -#define K_F131 193,5161 -#define K_F132 194,5190 -#define K_F133 195,5219 -#define K_F134 196,5248 -#define K_F135 197,5277 -#define K_F136 198,5306 -#define K_F137 199,5335 -#define K_F138 200,5364 -#define K_F139 201,5393 -#define K_F140 202,5422 -#define K_F141 203,5451 -#define K_F142 204,5480 -#define K_F143 205,5509 -#define K_F144 206,5538 -#define K_F145 207,5567 -#define K_F146 208,5596 -#define K_F147 209,5625 -#define K_F148 210,5654 -#define K_F149 211,5683 -#define K_F150 212,5712 -#define K_F151 213,5741 -#define K_F152 214,5770 -#define K_F153 215,5799 -#define K_F154 216,5828 -#define K_F155 217,5857 -#define K_F156 218,5886 -#define K_F157 219,5915 -#define K_F158 220,5944 -#define K_F159 221,5973 -#define K_F160 222,6002 -#define K_F161 223,6031 -#define K_F162 224,6060 -#define K_F163 225,6089 -#define K_F164 226,6118 -#define K_F165 227,6147 -#define K_F166 228,6176 -#define K_F167 229,6205 -#define K_F168 230,6234 -#define K_F169 231,6263 -#define K_F170 232,6292 -#define K_F171 233,6321 -#define K_F172 234,6350 -#define K_F173 235,6379 -#define K_F174 236,6408 -#define K_F175 237,6437 -#define K_F176 238,6466 -#define K_F177 239,6495 -#define K_F178 240,6524 -#define K_F179 241,6553 -#define K_F180 242,6582 -#define K_F181 243,6611 -#define K_F182 244,6640 -#define K_F183 245,6669 -#define K_F184 246,6698 -#define K_F185 247,6727 -#define K_F186 248,6756 -#define K_F187 249,6785 -#define K_F188 250,6814 -#define K_F189 251,6843 -#define K_F190 252,6872 -#define K_F191 253,6901 -#define K_F192 254,6930 -#define K_F193 255,6959 -#define K_F194 256,6988 -#define K_F195 257,7017 -#define K_F196 258,7046 -#define K_F197 259,7075 -#define K_F198 260,7104 -#define K_F199 261,7133 -#define K_F200 262,7162 -#define K_F201 263,7191 -#define K_F202 264,7220 -#define K_F203 265,7249 -#define K_F204 266,7278 -#define K_F205 267,7307 -#define K_F206 268,7336 -#define K_F207 269,7365 -#define K_F208 270,7394 -#define K_F209 271,7423 -#define K_F210 272,7452 -#define K_F211 273,7481 -#define K_F212 274,7510 -#define K_F213 275,7539 -#define K_F214 276,7568 -#define K_F215 277,7597 -#define K_F216 278,7626 -#define K_F217 279,7655 -#define K_F218 280,7684 -#define K_F219 281,7713 -#define K_F220 282,7742 -#define K_F221 283,7771 -#define K_F222 284,7800 -#define K_F223 285,7829 -#define K_F224 286,7858 -#define K_F225 287,7887 -#define K_F226 288,7916 -#define K_F227 289,7945 -#define K_F228 290,7974 -#define K_F229 291,8003 -#define K_F230 292,8032 -#define K_F231 293,8061 -#define K_F232 294,8090 -#define K_F233 295,8119 -#define K_F234 296,8148 -#define K_F235 297,8177 -#define K_F236 298,8206 -#define K_F237 299,8235 -#define K_F238 300,8264 -#define K_F239 301,8293 -#define K_F240 302,8322 -#define K_F241 303,8351 -#define K_F242 304,8380 -#define K_F243 305,8409 -#define K_F244 306,8438 -#define K_F245 307,8467 -#define K_UNDO 308,8496 -#define K_HOLE 311,8527 -#define K_ENTER 312,8556 -#define K_SH_REGS 313,8586 -#define K_SH_MEM 314,8617 -#define K_SH_STAT 315,8647 -#define K_BREAK 316,8678 -#define K_CONS 317,8708 -#define K_CAPS 318,8737 -#define K_NUM 319,8766 -#define K_HOLD 320,8794 -#define K_SCROLLFORW 321,8823 -#define K_SCROLLBACK 322,8858 -#define K_BOOT 323,8893 -#define K_CAPSON 324,8923 -#define K_COMPOSE 325,8954 -#define K_SAK 326,8986 -#define K_DECRCONSOLE 327,9015 -#define K_INCRCONSOLE 328,9051 -#define K_SPAWNCONSOLE 329,9087 -#define K_BARENUMLOCK 330,9124 -#define K_ALLOCATED 332,9161 -#define K_NOSUCHMAP 333,9231 -#define K_P0 335,9294 -#define K_P1 336,9320 -#define K_P2 337,9346 -#define K_P3 338,9372 -#define K_P4 339,9398 -#define K_P5 340,9424 -#define K_P6 341,9450 -#define K_P7 342,9476 -#define K_P8 343,9502 -#define K_P9 344,9528 -#define K_PPLUS 345,9554 -#define K_PMINUS 346,9603 -#define K_PSTAR 347,9653 -#define K_PSLASH 348,9713 -#define K_PENTER 349,9763 -#define K_PCOMMA 350,9813 -#define K_PDOT 351,9874 -#define K_PPLUSMINUS 352,9941 -#define K_PPARENL 353,10000 -#define K_PPARENR 354,10062 -#define NR_PAD 356,10126 -#define K_DGRAVE 358,10146 -#define K_DACUTE 359,10176 -#define K_DCIRCM 360,10206 -#define K_DTILDE 361,10236 -#define K_DDIERE 362,10266 -#define K_DCEDIL 363,10296 -#define NR_DEAD 365,10327 -#define K_DOWN 367,10347 -#define K_LEFT 368,10375 -#define K_RIGHT 369,10403 -#define K_UP 370,10432 -#define K_SHIFT 372,10459 -#define K_CTRL 373,10497 -#define K_ALT 374,10533 -#define K_ALTGR 375,10567 -#define K_SHIFTL 376,10605 -#define K_SHIFTR 377,10644 -#define K_CTRLL 378,10683 -#define K_CTRLR 379,10722 -#define K_CAPSSHIFT 380,10761 -#define K_ASC0 382,10807 -#define K_ASC1 383,10837 -#define K_ASC2 384,10867 -#define K_ASC3 385,10897 -#define K_ASC4 386,10927 -#define K_ASC5 387,10957 -#define K_ASC6 388,10987 -#define K_ASC7 389,11017 -#define K_ASC8 390,11047 -#define K_ASC9 391,11077 -#define K_HEX0 392,11107 -#define K_HEX1 393,11138 -#define K_HEX2 394,11169 -#define K_HEX3 395,11200 -#define K_HEX4 396,11231 -#define K_HEX5 397,11262 -#define K_HEX6 398,11293 -#define K_HEX7 399,11324 -#define K_HEX8 400,11355 -#define K_HEX9 401,11386 -#define K_HEXa 402,11417 -#define K_HEXb 403,11448 -#define K_HEXc 404,11479 -#define K_HEXd 405,11510 -#define K_HEXe 406,11541 -#define K_HEXf 407,11572 -#define NR_ASCII 409,11604 -#define K_SHIFTLOCK 411,11625 -#define K_CTRLLOCK 412,11665 -#define K_ALTLOCK 413,11703 -#define K_ALTGRLOCK 414,11739 -#define K_SHIFTLLOCK 415,11779 -#define K_SHIFTRLOCK 416,11821 -#define K_CTRLLLOCK 417,11863 -#define K_CTRLRLOCK 418,11903 -#define K_SHIFT_SLOCK 420,11944 -#define K_CTRL_SLOCK 421,11987 -#define K_ALT_SLOCK 422,12028 -#define K_ALTGR_SLOCK 423,12067 -#define K_SHIFTL_SLOCK 424,12110 -#define K_SHIFTR_SLOCK 425,12155 -#define K_CTRLL_SLOCK 426,12200 -#define K_CTRLR_SLOCK 427,12243 -#define NR_LOCK 429,12287 -#define MAX_DIACR 431,12307 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/syscalls.h,33 -#define _LINUX_SYSCALLS_H12,271 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kexec.h,309 -#define LINUX_KEXEC_H2,22 -typedef unsigned long kimage_entry_t;kimage_entry_t14,238 -#define IND_DESTINATION 15,276 -#define IND_INDIRECTION 16,305 -#define IND_DONE 17,334 -#define IND_SOURCE 18,363 -#define KEXEC_SEGMENT_MAX 20,393 -struct kexec_segment kexec_segment21,421 -struct kimage kimage28,502 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mod_devicetable.h,1312 -#define LINUX_MOD_DEVICETABLE_H8,173 -typedef unsigned long kernel_ulong_t;kernel_ulong_t12,249 -#define PCI_ANY_ID 15,295 -struct pci_device_id pci_device_id17,320 -#define IEEE1394_MATCH_VENDOR_ID 25,603 -#define IEEE1394_MATCH_MODEL_ID 26,643 -#define IEEE1394_MATCH_SPECIFIER_ID 27,683 -#define IEEE1394_MATCH_VERSION 28,726 -struct ieee1394_device_id ieee1394_device_id30,766 -struct usb_device_id usb_device_id97,3961 -#define USB_DEVICE_ID_MATCH_VENDOR 122,4536 -#define USB_DEVICE_ID_MATCH_PRODUCT 123,4579 -#define USB_DEVICE_ID_MATCH_DEV_LO 124,4623 -#define USB_DEVICE_ID_MATCH_DEV_HI 125,4666 -#define USB_DEVICE_ID_MATCH_DEV_CLASS 126,4709 -#define USB_DEVICE_ID_MATCH_DEV_SUBCLASS 127,4755 -#define USB_DEVICE_ID_MATCH_DEV_PROTOCOL 128,4803 -#define USB_DEVICE_ID_MATCH_INT_CLASS 129,4851 -#define USB_DEVICE_ID_MATCH_INT_SUBCLASS 130,4897 -#define USB_DEVICE_ID_MATCH_INT_PROTOCOL 131,4945 -struct ccw_device_id ccw_device_id134,5017 -#define CCW_DEVICE_ID_MATCH_CU_TYPE 145,5309 -#define CCW_DEVICE_ID_MATCH_CU_MODEL 146,5351 -#define CCW_DEVICE_ID_MATCH_DEVICE_TYPE 147,5394 -#define CCW_DEVICE_ID_MATCH_DEVICE_MODEL 148,5440 -#define PNP_ID_LEN 151,5488 -#define PNP_MAX_DEVICES 152,5509 -struct pnp_device_id pnp_device_id154,5536 -struct pnp_card_device_id pnp_card_device_id159,5614 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sc26198.h,9451 -#define _SC26198_H25,986 -#define SC26198_PORTS 31,1154 -#define SC26198_MASTERCLOCK 36,1260 -#define SC26198_DCLK 37,1298 -#define SC26198_CCLK 38,1342 -#define SC26198_BCLK 39,1390 -#define SC26198_TXFIFOSIZE 44,1497 -#define SC26198_RXFIFOSIZE 45,1527 -#define TSTR 53,1756 -#define GCCR 54,1775 -#define ICR 55,1794 -#define WDTRCR 56,1812 -#define IVR 57,1833 -#define BRGTRUA 58,1851 -#define GPOSR 59,1873 -#define GPOC 60,1893 -#define UCIR 61,1912 -#define CIR 62,1931 -#define BRGTRUB 63,1949 -#define GRXFIFO 64,1971 -#define GTXFIFO 65,1993 -#define GCCR2 66,2015 -#define BRGTRLA 67,2035 -#define GPOR 68,2057 -#define GPOD 69,2076 -#define BRGTCR 70,2095 -#define GICR 71,2116 -#define BRGTRLB 72,2135 -#define GIBCR 73,2157 -#define GITR 74,2177 -#define MR0 81,2376 -#define MR1 82,2394 -#define IOPCR 83,2412 -#define BCRBRK 84,2432 -#define BCRCOS 85,2453 -#define BCRX 86,2474 -#define BCRA 87,2493 -#define XONCR 88,2512 -#define XOFFCR 89,2532 -#define ARCR 90,2553 -#define RXCSR 91,2572 -#define TXCSR 92,2592 -#define MR2 93,2612 -#define SR 94,2630 -#define SCCR 95,2647 -#define ISR 96,2666 -#define IMR 97,2684 -#define TXFIFO 98,2702 -#define RXFIFO 99,2723 -#define IPR 100,2744 -#define IOPIOR 101,2762 -#define XISR 102,2783 -#define SC26198_PORTREG(SC26198_PORTREG109,2996 -#define GCCR_NOACK 116,3210 -#define GCCR_IVRACK 117,3235 -#define GCCR_IVRCHANACK 118,3261 -#define GCCR_IVRTYPCHANACK 119,3291 -#define GCCR_ASYNCCYCLE 120,3323 -#define GCCR_SYNCCYCLE 121,3353 -#define MR0_ADDRNONE 128,3507 -#define MR0_AUTOWAKE 129,3534 -#define MR0_AUTODOZE 130,3561 -#define MR0_AUTOWAKEDOZE 131,3588 -#define MR0_SWFNONE 132,3618 -#define MR0_SWFTX 133,3644 -#define MR0_SWFRX 134,3668 -#define MR0_SWFRXTX 135,3692 -#define MR0_TXMASK 136,3718 -#define MR0_TXEMPTY 137,3743 -#define MR0_TXHIGH 138,3769 -#define MR0_TXHALF 139,3794 -#define MR0_TXRDY 140,3819 -#define MR0_ADDRNT 141,3843 -#define MR0_ADDRT 142,3868 -#define MR0_SWFNT 143,3892 -#define MR0_SWFT 144,3916 -#define MR1_CS5 149,3983 -#define MR1_CS6 150,4006 -#define MR1_CS7 151,4029 -#define MR1_CS8 152,4052 -#define MR1_PAREVEN 153,4075 -#define MR1_PARODD 154,4101 -#define MR1_PARENB 155,4126 -#define MR1_PARFORCE 156,4151 -#define MR1_PARNONE 157,4178 -#define MR1_PARSPECIAL 158,4204 -#define MR1_ERRCHAR 159,4233 -#define MR1_ERRBLOCK 160,4259 -#define MR1_ISRUNMASKED 161,4286 -#define MR1_ISRMASKED 162,4316 -#define MR1_AUTORTS 163,4344 -#define MR2_STOP1 168,4414 -#define MR2_STOP15 169,4438 -#define MR2_STOP2 170,4463 -#define MR2_STOP916 171,4487 -#define MR2_RXFIFORDY 172,4513 -#define MR2_RXFIFOHALF 173,4541 -#define MR2_RXFIFOHIGH 174,4570 -#define MR2_RXFIFOFULL 175,4599 -#define MR2_AUTOCTS 176,4628 -#define MR2_TXRTS 177,4654 -#define MR2_MODENORM 178,4678 -#define MR2_MODEAUTOECHO 179,4705 -#define MR2_MODELOOP 180,4735 -#define MR2_MODEREMECHO 181,4762 -#define BRG_50 188,4927 -#define BRG_75 189,4949 -#define BRG_150 190,4971 -#define BRG_200 191,4994 -#define BRG_300 192,5017 -#define BRG_450 193,5040 -#define BRG_600 194,5063 -#define BRG_900 195,5086 -#define BRG_1200 196,5109 -#define BRG_1800 197,5132 -#define BRG_2400 198,5155 -#define BRG_3600 199,5178 -#define BRG_4800 200,5201 -#define BRG_7200 201,5224 -#define BRG_9600 202,5247 -#define BRG_14400 203,5270 -#define BRG_19200 204,5294 -#define BRG_28200 205,5318 -#define BRG_38400 206,5342 -#define BRG_57600 207,5366 -#define BRG_115200 208,5390 -#define BRG_230400 209,5415 -#define BRG_GIN0 210,5440 -#define BRG_GIN1 211,5463 -#define BRG_CT0 212,5486 -#define BRG_CT1 213,5509 -#define BRG_RX2TX316 214,5532 -#define BRG_RX2TX31 215,5559 -#define SC26198_MAXBAUD 217,5586 -#define CR_NULL 224,5748 -#define CR_ADDRNORMAL 225,5771 -#define CR_RXRESET 226,5799 -#define CR_TXRESET 227,5824 -#define CR_CLEARRXERR 228,5849 -#define CR_BREAKRESET 229,5877 -#define CR_TXSTARTBREAK 230,5905 -#define CR_TXSTOPBREAK 231,5935 -#define CR_RTSON 232,5964 -#define CR_RTSOFF 233,5987 -#define CR_ADDRINIT 234,6011 -#define CR_RXERRBLOCK 235,6037 -#define CR_TXSENDXON 236,6065 -#define CR_TXSENDXOFF 237,6092 -#define CR_GANGXONSET 238,6120 -#define CR_GANGXOFFSET 239,6148 -#define CR_GANGXONINIT 240,6177 -#define CR_GANGXOFFINIT 241,6206 -#define CR_HOSTXON 242,6236 -#define CR_HOSTXOFF 243,6261 -#define CR_CANCELXOFF 244,6287 -#define CR_ADDRRESET 245,6315 -#define CR_RESETALLPORTS 246,6342 -#define CR_RESETALL 247,6372 -#define CR_RXENABLE 249,6399 -#define CR_TXENABLE 250,6425 -#define SR_RXRDY 257,6568 -#define SR_RXFULL 258,6591 -#define SR_TXRDY 259,6615 -#define SR_TXEMPTY 260,6638 -#define SR_RXOVERRUN 261,6663 -#define SR_RXPARITY 262,6690 -#define SR_RXFRAMING 263,6716 -#define SR_RXBREAK 264,6743 -#define SR_RXERRS 266,6769 -#define IR_TXRDY 273,6995 -#define IR_RXRDY 274,7018 -#define IR_RXBREAK 275,7041 -#define IR_XONXOFF 276,7066 -#define IR_ADDRRECOG 277,7091 -#define IR_RXWATCHDOG 278,7118 -#define IR_IOPORT 279,7146 -#define IVR_CHANMASK 286,7307 -#define IVR_TYPEMASK 287,7334 -#define IVR_CONSTMASK 288,7361 -#define IVR_RXDATA 290,7390 -#define IVR_RXBADDATA 291,7415 -#define IVR_TXDATA 292,7443 -#define IVR_OTHER 293,7468 -#define BRGCTCR_DISABCLK0 300,7628 -#define BRGCTCR_ENABCLK0 301,7659 -#define BRGCTCR_DISABCLK1 302,7689 -#define BRGCTCR_ENABCLK1 303,7720 -#define BRGCTCR_0SCLK16 305,7751 -#define BRGCTCR_0SCLK32 306,7781 -#define BRGCTCR_0SCLK64 307,7811 -#define BRGCTCR_0SCLK128 308,7841 -#define BRGCTCR_0X1 309,7871 -#define BRGCTCR_0X12 310,7897 -#define BRGCTCR_0IO1A 311,7924 -#define BRGCTCR_0GIN0 312,7952 -#define BRGCTCR_1SCLK16 314,7981 -#define BRGCTCR_1SCLK32 315,8011 -#define BRGCTCR_1SCLK64 316,8041 -#define BRGCTCR_1SCLK128 317,8071 -#define BRGCTCR_1X1 318,8101 -#define BRGCTCR_1X12 319,8127 -#define BRGCTCR_1IO1B 320,8154 -#define BRGCTCR_1GIN1 321,8182 -#define WDTRCR_ENABALL 328,8335 -#define XISR_TXCHARMASK 335,8492 -#define XISR_TXCHARNORMAL 336,8522 -#define XISR_TXWAIT 337,8553 -#define XISR_TXXOFFPEND 338,8579 -#define XISR_TXXONPEND 339,8609 -#define XISR_TXFLOWMASK 341,8639 -#define XISR_TXNORMAL 342,8669 -#define XISR_TXSTOPPEND 343,8697 -#define XISR_TXSTARTED 344,8727 -#define XISR_TXSTOPPED 345,8756 -#define XISR_RXFLOWMASK 347,8786 -#define XISR_RXFLOWNONE 348,8816 -#define XISR_RXXONSENT 349,8846 -#define XISR_RXXOFFSENT 350,8875 -#define XISR_RXXONGOT 352,8906 -#define XISR_RXXOFFGOT 353,8934 -#define CIR_TYPEMASK 360,9083 -#define CIR_TYPEOTHER 361,9110 -#define CIR_TYPETX 362,9138 -#define CIR_TYPERXGOOD 363,9163 -#define CIR_TYPERXBAD 364,9192 -#define CIR_RXDATA 366,9221 -#define CIR_RXBADDATA 367,9246 -#define CIR_TXDATA 368,9274 -#define CIR_CHANMASK 370,9300 -#define CIR_CNTMASK 371,9327 -#define CIR_SUBTYPEMASK 373,9354 -#define CIR_SUBNONE 374,9384 -#define CIR_SUBCOS 375,9410 -#define CIR_SUBADDR 376,9435 -#define CIR_SUBXONXOFF 377,9461 -#define CIR_SUBBREAK 378,9490 -#define GICR_CHANMASK 385,9647 -#define GICR_COUNTMASK 392,9808 -#define GITR_RXMASK 399,9964 -#define GITR_RXNONE 400,9990 -#define GITR_RXBADDATA 401,10016 -#define GITR_RXGOODDATA 402,10045 -#define GITR_TXDATA 403,10075 -#define GITR_SUBTYPEMASK 405,10102 -#define GITR_SUBNONE 406,10132 -#define GITR_SUBCOS 407,10159 -#define GITR_SUBADDR 408,10185 -#define GITR_SUBXONXOFF 409,10212 -#define GITR_SUBBREAK 410,10242 -#define IPR_CTS 417,10390 -#define IPR_DTR 418,10413 -#define IPR_RTS 419,10436 -#define IPR_DCD 420,10459 -#define IPR_CTSCHANGE 421,10482 -#define IPR_DTRCHANGE 422,10510 -#define IPR_RTSCHANGE 423,10538 -#define IPR_DCDCHANGE 424,10566 -#define IPR_CHANGEMASK 426,10595 -#define IOPR_CTS 433,10755 -#define IOPR_DTR 434,10778 -#define IOPR_RTS 435,10801 -#define IOPR_DCD 436,10824 -#define IOPR_CTSCOS 437,10847 -#define IOPR_DTRCOS 438,10873 -#define IOPR_RTSCOS 439,10899 -#define IOPR_DCDCOS 440,10925 -#define IOPCR_SETCTS 447,11075 -#define IOPCR_SETDTR 448,11102 -#define IOPCR_SETRTS 449,11129 -#define IOPCR_SETDCD 450,11156 -#define IOPCR_SETSIGS 452,11184 -#define GPORS_TXC1XA 459,11399 -#define GPORS_TXC16XA 460,11426 -#define GPORS_RXC16XA 461,11454 -#define GPORS_TXC16XB 462,11482 -#define GPORS_GPOR3 463,11510 -#define GPORS_GPOR2 464,11536 -#define GPORS_GPOR1 465,11562 -#define GPORS_GPOR0 466,11588 -#define GPOR_0 473,11739 -#define GPOR_1 474,11761 -#define GPOR_2 475,11783 -#define GPOR_3 476,11805 -#define GPORC_0NONE 483,11958 -#define GPORC_0GIN0 484,11984 -#define GPORC_0GIN1 485,12010 -#define GPORC_0IO3A 486,12036 -#define GPORC_1NONE 488,12063 -#define GPORC_1GIN0 489,12089 -#define GPORC_1GIN1 490,12115 -#define GPORC_1IO3C 491,12141 -#define GPORC_2NONE 493,12168 -#define GPORC_2GIN0 494,12194 -#define GPORC_2GIN1 495,12220 -#define GPORC_2IO3E 496,12246 -#define GPORC_3NONE 498,12273 -#define GPORC_3GIN0 499,12299 -#define GPORC_3GIN1 500,12325 -#define GPORC_3IO3G 501,12351 -#define GPOD_0MASK 508,12507 -#define GPOD_0SET1 509,12532 -#define GPOD_0SET0 510,12557 -#define GPOD_0SETR0 511,12582 -#define GPOD_0SETIO3B 512,12608 -#define GPOD_1MASK 514,12637 -#define GPOD_1SET1 515,12662 -#define GPOD_1SET0 516,12687 -#define GPOD_1SETR0 517,12712 -#define GPOD_1SETIO3D 518,12738 -#define GPOD_2MASK 520,12767 -#define GPOD_2SET1 521,12792 -#define GPOD_2SET0 522,12817 -#define GPOD_2SETR0 523,12842 -#define GPOD_2SETIO3F 524,12868 -#define GPOD_3MASK 526,12897 -#define GPOD_3SET1 527,12922 -#define GPOD_3SET0 528,12947 -#define GPOD_3SETR0 529,12972 -#define GPOD_3SETIO3H 530,12998 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/module.h,3800 -#define _LINUX_MODULE_H2,24 -#define MODULE_SUPPORTED_DEVICE(MODULE_SUPPORTED_DEVICE26,594 -#define MODULE_SYMBOL_PREFIX 30,722 -#define MODULE_NAME_LEN 33,762 -struct kernel_symbolkernel_symbol35,816 -struct modversion_infomodversion_info41,884 -#define ___module_cat(___module_cat63,1510 -#define __module_cat(__module_cat64,1554 -#define __MODULE_INFO(__MODULE_INFO65,1599 -#define MODULE_GENERIC_TABLE(MODULE_GENERIC_TABLE70,1807 -#define THIS_MODULE 75,1998 -#define MODULE_GENERIC_TABLE(MODULE_GENERIC_TABLE79,2058 -#define __MODULE_INFO(__MODULE_INFO80,2099 -#define THIS_MODULE 81,2138 -#define MODULE_INFO(MODULE_INFO85,2227 -#define MODULE_ALIAS(MODULE_ALIAS88,2334 -#define MODULE_LICENSE(MODULE_LICENSE116,3339 -#define MODULE_AUTHOR(MODULE_AUTHOR119,3483 -#define MODULE_DESCRIPTION(MODULE_DESCRIPTION122,3575 -#define MODULE_PARM_DESC(MODULE_PARM_DESC126,3789 -#define MODULE_DEVICE_TABLE(MODULE_DEVICE_TABLE129,3875 -#define MODULE_VERSION(MODULE_VERSION147,4725 -#define symbol_get(symbol_get160,5151 -#define __CRC_SYMBOL(__CRC_SYMBOL166,5381 -#define __CRC_SYMBOL(__CRC_SYMBOL173,5635 -#define __EXPORT_SYMBOL(__EXPORT_SYMBOL177,5747 -#define EXPORT_SYMBOL(EXPORT_SYMBOL187,6136 -#define EXPORT_SYMBOL_GPL(EXPORT_SYMBOL_GPL190,6196 -#define EXPORT_SYMBOL_NOVERS(EXPORT_SYMBOL_NOVERS197,6395 -struct module_refmodule_ref199,6449 -} ____cacheline_aligned;202,6485 -enum module_statemodule_state204,6511 - MODULE_STATE_LIVE,206,6531 - MODULE_STATE_COMING,207,6551 - MODULE_STATE_GOING,208,6573 -struct module_attributemodule_attribute212,6616 -struct module_kobjectmodule_kobject218,6699 -#define MODULE_SECT_NAME_LEN 229,6970 -struct module_sect_attrmodule_sect_attr230,7002 -struct module_sectionsmodule_sections237,7114 -struct modulemodule244,7201 -static inline int module_is_live(336,9297 -extern void __module_put_and_exit(357,9986 -#define module_put_and_exit(module_put_and_exit359,10079 -#define symbol_put(symbol_put364,10273 -static inline int try_module_get(378,10683 -static inline void module_put(393,10931 -static inline int try_module_get(406,11255 -static inline void module_put(410,11358 -static inline void __module_get(413,11415 -#define symbol_put(symbol_put416,11474 -#define symbol_put_addr(symbol_put_addr417,11512 -#define module_name(module_name422,11662 -#define __unsafe(__unsafe428,11775 -#define EXPORT_SYMBOL(EXPORT_SYMBOL452,12626 -#define EXPORT_SYMBOL_GPL(EXPORT_SYMBOL_GPL453,12653 -#define EXPORT_SYMBOL_NOVERS(EXPORT_SYMBOL_NOVERS454,12684 -search_module_extables(458,12831 -static inline struct module *module_text_address(464,12928 -static inline struct module *__module_text_address(470,13086 -#define symbol_get(symbol_get476,13234 -#define symbol_put(symbol_put477,13310 -#define symbol_put_addr(symbol_put_addr478,13348 -static inline void __module_get(480,13392 -static inline int try_module_get(484,13452 -static inline void module_put(489,13524 -#define module_name(module_name493,13582 -#define __unsafe(__unsafe495,13617 -static inline const char *module_address_lookup(498,13713 -static inline struct module *module_get_kallsym(506,13884 -static inline unsigned long module_kallsyms_lookup_name(514,14043 -static inline int is_exported(519,14133 -static inline int register_module_notifier(524,14223 -static inline int unregister_module_notifier(530,14374 -#define module_put_and_exit(module_put_and_exit535,14463 -static inline void print_modules(537,14512 -#define symbol_request(symbol_request542,14584 -struct obsolete_modparm obsolete_modparm546,14721 -static inline void __deprecated MODULE_PARM_(552,14811 -#define MODULE_PARM(MODULE_PARM555,14910 -#define MODULE_PARM(MODULE_PARM559,15079 -#define __MODULE_STRING(__MODULE_STRING562,15188 -#define HAVE_INTER_MODULE565,15294 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/irq.h,504 -#define __irq_h2,16 -#define IRQ_INPROGRESS 26,433 -#define IRQ_DISABLED 27,499 -#define IRQ_PENDING 28,557 -#define IRQ_REPLAY 29,616 -#define IRQ_AUTODETECT 30,683 -#define IRQ_WAITING 31,741 -#define IRQ_LEVEL 32,807 -#define IRQ_MASKED 33,854 -#define IRQ_PER_CPU 34,920 -struct hw_interrupt_type hw_interrupt_type40,1075 -typedef struct hw_interrupt_type hw_irq_controller;hw_irq_controller51,1403 -typedef struct irq_desc irq_desc60,1697 -} ____cacheline_aligned irq_desc_t;irq_desc_t68,2001 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jffs2.h,1446 -#define __LINUX_JFFS2_H__16,330 -#define JFFS2_SUPER_MAGIC 22,523 -#define JFFS2_OLD_MAGIC_BITMASK 25,613 -#define JFFS2_MAGIC_BITMASK 26,652 -#define KSAMTIB_CIGAM_2SFFJ 27,687 -#define JFFS2_EMPTY_BITMASK 28,758 -#define JFFS2_DIRTY_BITMASK 29,793 -#define JFFS2_MAX_NAME_LEN 34,966 -#define JFFS2_MIN_DATA_LEN 37,1043 -#define JFFS2_COMPR_NONE 39,1075 -#define JFFS2_COMPR_ZERO 40,1105 -#define JFFS2_COMPR_RTIME 41,1135 -#define JFFS2_COMPR_RUBINMIPS 42,1166 -#define JFFS2_COMPR_COPY 43,1201 -#define JFFS2_COMPR_DYNRUBIN 44,1231 -#define JFFS2_COMPR_ZLIB 45,1265 -#define JFFS2_COMPR_LZO 46,1295 -#define JFFS2_COMPR_LZARI 47,1332 -#define JFFS2_COMPAT_MASK 49,1396 -#define JFFS2_NODE_ACCURATE 50,1483 -#define JFFS2_FEATURE_INCOMPAT 52,1563 -#define JFFS2_FEATURE_ROCOMPAT 54,1633 -#define JFFS2_FEATURE_RWCOMPAT_COPY 56,1743 -#define JFFS2_FEATURE_RWCOMPAT_DELETE 58,1862 -#define JFFS2_NODETYPE_DIRENT 60,1908 -#define JFFS2_NODETYPE_INODE 61,1989 -#define JFFS2_NODETYPE_CLEANMARKER 62,2069 -#define JFFS2_NODETYPE_PADDING 63,2162 -#define JFFS2_INO_FLAG_PREREAD 70,2455 -#define JFFS2_INO_FLAG_USERCOMPR 73,2592 -} __attribute__((packed)packed82,2811 -} __attribute__((packed)packed86,2879 -} __attribute__((packed)packed90,2948 -struct jffs2_unknown_nodejffs2_unknown_node92,2985 -struct jffs2_raw_direntjffs2_raw_dirent101,3188 -struct jffs2_raw_inodejffs2_raw_inode125,3865 -union jffs2_node_union jffs2_node_union151,5079 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/serial_core.h,3046 -#define PORT_UNKNOWN 24,880 -#define PORT_8250 25,903 -#define PORT_16450 26,923 -#define PORT_16550 27,944 -#define PORT_16550A 28,965 -#define PORT_CIRRUS 29,987 -#define PORT_16650 30,1009 -#define PORT_16650V2 31,1030 -#define PORT_16750 32,1053 -#define PORT_STARTECH 33,1074 -#define PORT_16C950 34,1098 -#define PORT_16654 35,1121 -#define PORT_16850 36,1143 -#define PORT_RSA 37,1165 -#define PORT_NS16550A 38,1185 -#define PORT_XSCALE 39,1210 -#define PORT_MAX_8250 40,1233 -#define PORT_PXA 48,1525 -#define PORT_AMBA 49,1545 -#define PORT_CLPS711X 50,1566 -#define PORT_SA1100 51,1591 -#define PORT_UART00 52,1614 -#define PORT_21285 53,1637 -#define PORT_SUNZILOG 56,1687 -#define PORT_SUNSAB 57,1712 -#define PORT_V850E_UART 60,1753 -#define PORT_DZ 63,1790 -#define PORT_MUX 66,1838 -#define PORT_MAC_ZILOG 69,1894 -#define PORT_PMAC_ZILOG 70,1953 -#define PORT_SCI 73,1994 -#define PORT_SCIF 74,2014 -#define PORT_IRDA 75,2035 -#define PORT_S3C2410 78,2107 -#define PORT_IP22ZILOG 81,2184 -#define PORT_LH7A40X 84,2253 -#define PORT_CPM 87,2304 -#define PORT_MPC52xx 90,2359 -#define PORT_ICOM 91,2383 -struct uart_ops uart_ops110,2735 -#define UART_CONFIG_TYPE 149,4128 -#define UART_CONFIG_IRQ 150,4162 -struct uart_icount uart_icount152,4197 -struct uart_port uart_port166,4369 -#define UPIO_PORT 177,4786 -#define UPIO_HUB6 178,4809 -#define UPIO_MEM 179,4832 -#define UPIO_MEM32 180,4854 -#define UPF_FOURPORT 194,5260 -#define UPF_SAK 195,5291 -#define UPF_SPD_MASK 196,5318 -#define UPF_SPD_HI 197,5349 -#define UPF_SPD_VHI 198,5378 -#define UPF_SPD_CUST 199,5408 -#define UPF_SPD_SHI 200,5439 -#define UPF_SPD_WARP 201,5469 -#define UPF_SKIP_TEST 202,5500 -#define UPF_AUTO_IRQ 203,5532 -#define UPF_HARDPPS_CD 204,5563 -#define UPF_LOW_LATENCY 205,5597 -#define UPF_BUGGY_UART 206,5632 -#define UPF_AUTOPROBE 207,5666 -#define UPF_MAGIC_MULTIPLIER 208,5699 -#define UPF_BOOT_ONLYMCA 209,5738 -#define UPF_CONS_FLOW 210,5773 -#define UPF_SHARE_IRQ 211,5806 -#define UPF_BOOT_AUTOCONF 212,5839 -#define UPF_IOREMAP 213,5875 -#define UPF_CHANGE_MASK 215,5907 -#define UPF_USR_MASK 216,5942 -struct uart_state uart_state235,6576 -#define USF_CLOSING_WAIT_INF 239,6654 -#define USF_CLOSING_WAIT_NONE 240,6687 -#define UART_XMIT_SIZE 250,6835 -struct uart_info uart_info257,7087 -#define UIF_CHECK_CD 267,7389 -#define UIF_CTS_FLOW 268,7421 -#define UIF_NORMAL_ACTIVE 269,7453 -#define UIF_INITIALIZED 270,7489 -#define WAKEUP_CHARS 284,7772 -struct uart_driver uart_driver289,7834 -#define uart_circ_empty(uart_circ_empty346,9598 -#define uart_circ_clear(uart_circ_clear347,9660 -#define uart_circ_chars_pending(uart_circ_chars_pending349,9726 -#define uart_circ_chars_free(uart_circ_chars_free352,9823 -#define uart_tx_stopped(uart_tx_stopped355,9919 -uart_handle_sysrq_char(363,10127 -#define uart_handle_sysrq_char(uart_handle_sysrq_char377,10404 -static inline int uart_handle_break(383,10517 -uart_handle_dcd_change(406,11056 -uart_handle_cts_change(431,11623 -#define UART_ENABLE_MS(UART_ENABLE_MS457,12140 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sysdev.h,240 -#define _SYSDEV_H_22,845 -struct sysdev_class sysdev_class29,914 -struct sysdev_driver sysdev_driver48,1331 -struct sys_device sys_device67,1864 -struct sysdev_attribute sysdev_attribute77,2052 -#define SYSDEV_ATTR(SYSDEV_ATTR84,2217 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/auto_fs4.h,629 -#define _LINUX_AUTO_FS4_H12,348 -#define AUTOFS_PROTO_VERSION 22,560 -#define AUTOFS_MIN_PROTO_VERSION 23,592 -#define AUTOFS_MAX_PROTO_VERSION 24,627 -#define AUTOFS_PROTO_SUBVERSION 26,663 -#define AUTOFS_EXP_IMMEDIATE 29,738 -#define AUTOFS_EXP_LEAVES 30,770 -#define autofs_ptype_expire_multi 33,823 -struct autofs_packet_expire_multi autofs_packet_expire_multi36,929 -union autofs_packet_union autofs_packet_union43,1073 -#define AUTOFS_IOC_EXPIRE_MULTI 50,1261 -#define AUTOFS_IOC_PROTOSUBVER 51,1314 -#define AUTOFS_IOC_ASKREGHOST 52,1366 -#define AUTOFS_IOC_TOGGLEREGHOST 53,1426 -#define AUTOFS_IOC_ASKUMOUNT 54,1486 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2o.h,11734 -#define _I2O_H19,547 -#define I2O_MAX_DRIVERS 26,704 -#define I2O_QUEUE_EMPTY 34,895 -struct i2o_message i2o_message39,961 -struct i2o_device i2o_device60,1333 -struct i2o_event i2o_event76,1706 -struct i2o_class_id i2o_class_id90,2127 -struct i2o_driver i2o_driver97,2211 -struct i2o_dma i2o_dma124,2990 -struct i2o_context_list_element i2o_context_list_element133,3125 -struct i2o_controller i2o_controller143,3294 -struct i2o_sys_tbl_entry i2o_sys_tbl_entry214,5478 -struct i2o_sys_tbl i2o_sys_tbl231,5751 -static inline u32 i2o_ptr_low(280,7621 -static inline u32 i2o_ptr_high(285,7693 -static inline u32 i2o_cntxt_list_add(290,7779 -static inline void *i2o_cntxt_list_get(295,7878 -static inline u32 i2o_cntxt_list_remove(300,7987 -static inline u32 i2o_cntxt_list_get_ptr(305,8089 -static inline u32 i2o_ptr_low(310,8192 -static inline u32 i2o_ptr_high(315,8258 -static inline void i2o_driver_notify_controller_add(331,8659 -static inline void i2o_driver_notify_controller_remove(344,9045 -static inline void i2o_driver_notify_device_add(357,9424 -static inline void i2o_driver_notify_device_remove(370,9786 -#define to_i2o_driver(to_i2o_driver391,10616 -#define to_i2o_device(to_i2o_device392,10687 -static inline u32 I2O_POST_READ32(397,10788 -static inline void I2O_POST_WRITE32(403,10891 -static inline u32 I2O_REPLY_READ32(409,11004 -static inline void I2O_REPLY_WRITE32(415,11109 -static inline u32 I2O_IRQ_READ32(421,11224 -static inline void I2O_IRQ_WRITE32(427,11325 -static inline u32 i2o_msg_get(447,11995 -static inline void i2o_msg_post(465,12389 -static inline int i2o_msg_post_wait(482,12895 -static inline void i2o_flush_reply(499,13453 -static inline int i2o_dma_alloc(515,13910 -static inline void i2o_dma_free(535,14434 -static inline int i2o_dma_map(557,14998 -static inline void i2o_dma_unmap(578,15489 -#define i2o_raw_writel(i2o_raw_writel594,15790 -#define CACHE_NULL 623,16903 -#define CACHE_PREFETCH 627,17041 -#define CACHE_SMARTFETCH 632,17277 -#define CACHE_WRITETHROUGH 637,17473 -#define CACHE_WRITEBACK 643,17760 -#define CACHE_SMARTBACK 648,18001 -#define CACHE_SMARTTHROUGH 654,18293 -#define BLKI2OGRSTRAT 660,18352 -#define BLKI2OGWSTRAT 661,18393 -#define BLKI2OSRSTRAT 662,18434 -#define BLKI2OSWSTRAT 663,18475 -#define I2O_CMD_ADAPTER_ASSIGN 672,18573 -#define I2O_CMD_ADAPTER_READ 673,18610 -#define I2O_CMD_ADAPTER_RELEASE 674,18645 -#define I2O_CMD_BIOS_INFO_SET 675,18683 -#define I2O_CMD_BOOT_DEVICE_SET 676,18719 -#define I2O_CMD_CONFIG_VALIDATE 677,18757 -#define I2O_CMD_CONN_SETUP 678,18795 -#define I2O_CMD_DDM_DESTROY 679,18828 -#define I2O_CMD_DDM_ENABLE 680,18862 -#define I2O_CMD_DDM_QUIESCE 681,18895 -#define I2O_CMD_DDM_RESET 682,18929 -#define I2O_CMD_DDM_SUSPEND 683,18961 -#define I2O_CMD_DEVICE_ASSIGN 684,18995 -#define I2O_CMD_DEVICE_RELEASE 685,19031 -#define I2O_CMD_HRT_GET 686,19068 -#define I2O_CMD_ADAPTER_CLEAR 687,19099 -#define I2O_CMD_ADAPTER_CONNECT 688,19135 -#define I2O_CMD_ADAPTER_RESET 689,19173 -#define I2O_CMD_LCT_NOTIFY 690,19209 -#define I2O_CMD_OUTBOUND_INIT 691,19242 -#define I2O_CMD_PATH_ENABLE 692,19278 -#define I2O_CMD_PATH_QUIESCE 693,19312 -#define I2O_CMD_PATH_RESET 694,19347 -#define I2O_CMD_STATIC_MF_CREATE 695,19380 -#define I2O_CMD_STATIC_MF_RELEASE 696,19418 -#define I2O_CMD_STATUS_GET 697,19457 -#define I2O_CMD_SW_DOWNLOAD 698,19490 -#define I2O_CMD_SW_UPLOAD 699,19524 -#define I2O_CMD_SW_REMOVE 700,19556 -#define I2O_CMD_SYS_ENABLE 701,19588 -#define I2O_CMD_SYS_MODIFY 702,19621 -#define I2O_CMD_SYS_QUIESCE 703,19654 -#define I2O_CMD_SYS_TAB_SET 704,19688 -#define I2O_CMD_UTIL_NOP 709,19747 -#define I2O_CMD_UTIL_ABORT 710,19778 -#define I2O_CMD_UTIL_CLAIM 711,19811 -#define I2O_CMD_UTIL_RELEASE 712,19844 -#define I2O_CMD_UTIL_PARAMS_GET 713,19879 -#define I2O_CMD_UTIL_PARAMS_SET 714,19917 -#define I2O_CMD_UTIL_EVT_REGISTER 715,19955 -#define I2O_CMD_UTIL_EVT_ACK 716,19994 -#define I2O_CMD_UTIL_CONFIG_DIALOG 717,20029 -#define I2O_CMD_UTIL_DEVICE_RESERVE 718,20069 -#define I2O_CMD_UTIL_DEVICE_RELEASE 719,20110 -#define I2O_CMD_UTIL_LOCK 720,20151 -#define I2O_CMD_UTIL_LOCK_RELEASE 721,20183 -#define I2O_CMD_UTIL_REPLY_FAULT_NOTIFY 722,20222 -#define I2O_CMD_SCSI_EXEC 727,20306 -#define I2O_CMD_SCSI_ABORT 728,20338 -#define I2O_CMD_SCSI_BUSRESET 729,20371 -#define I2O_CMD_BLOCK_READ 734,20445 -#define I2O_CMD_BLOCK_WRITE 735,20478 -#define I2O_CMD_BLOCK_CFLUSH 736,20512 -#define I2O_CMD_BLOCK_MLOCK 737,20547 -#define I2O_CMD_BLOCK_MUNLOCK 738,20581 -#define I2O_CMD_BLOCK_MMOUNT 739,20617 -#define I2O_CMD_BLOCK_MEJECT 740,20652 -#define I2O_CMD_BLOCK_POWER 741,20687 -#define I2O_PRIVATE_MSG 743,20722 -#define I2O_CMD_IN_PROGRESS 747,20784 -#define I2O_CMD_REJECTED 748,20817 -#define I2O_CMD_FAILED 749,20847 -#define I2O_CMD_COMPLETED 750,20876 -#define I2O_RTN_NO_ERROR 754,20946 -#define I2O_RTN_NOT_INIT 755,20975 -#define I2O_RTN_FREE_Q_EMPTY 756,21004 -#define I2O_RTN_TCB_ERROR 757,21037 -#define I2O_RTN_TRANSACTION_ERROR 758,21067 -#define I2O_RTN_ADAPTER_ALREADY_INIT 759,21104 -#define I2O_RTN_MALLOC_ERROR 760,21144 -#define I2O_RTN_ADPTR_NOT_REGISTERED 761,21177 -#define I2O_RTN_MSG_REPLY_TIMEOUT 762,21217 -#define I2O_RTN_NO_STATUS 763,21254 -#define I2O_RTN_NO_FIRM_VER 764,21284 -#define I2O_RTN_NO_LINK_SPEED 765,21317 -#define I2O_REPLY_STATUS_SUCCESS 769,21406 -#define I2O_REPLY_STATUS_ABORT_DIRTY 770,21464 -#define I2O_REPLY_STATUS_ABORT_NO_DATA_TRANSFER 771,21522 -#define I2O_REPLY_STATUS_ABORT_PARTIAL_TRANSFER 772,21580 -#define I2O_REPLY_STATUS_ERROR_DIRTY 773,21634 -#define I2O_REPLY_STATUS_ERROR_NO_DATA_TRANSFER 774,21678 -#define I2O_REPLY_STATUS_ERROR_PARTIAL_TRANSFER 775,21732 -#define I2O_REPLY_STATUS_PROCESS_ABORT_DIRTY 776,21786 -#define I2O_REPLY_STATUS_PROCESS_ABORT_NO_DATA_TRANSFER 777,21837 -#define I2O_REPLY_STATUS_PROCESS_ABORT_PARTIAL_TRANSFER 778,21898 -#define I2O_REPLY_STATUS_TRANSACTION_ERROR 779,21959 -#define I2O_REPLY_STATUS_PROGRESS_REPORT 780,22008 -#define I2O_PARAMS_STATUS_SUCCESS 784,22122 -#define I2O_PARAMS_STATUS_BAD_KEY_ABORT 785,22162 -#define I2O_PARAMS_STATUS_BAD_KEY_CONTINUE 786,22208 -#define I2O_PARAMS_STATUS_BUFFER_FULL 787,22259 -#define I2O_PARAMS_STATUS_BUFFER_TOO_SMALL 788,22303 -#define I2O_PARAMS_STATUS_FIELD_UNREADABLE 789,22351 -#define I2O_PARAMS_STATUS_FIELD_UNWRITEABLE 790,22399 -#define I2O_PARAMS_STATUS_INSUFFICIENT_FIELDS 791,22448 -#define I2O_PARAMS_STATUS_INVALID_GROUP_ID 792,22499 -#define I2O_PARAMS_STATUS_INVALID_OPERATION 793,22547 -#define I2O_PARAMS_STATUS_NO_KEY_FIELD 794,22596 -#define I2O_PARAMS_STATUS_NO_SUCH_FIELD 795,22641 -#define I2O_PARAMS_STATUS_NON_DYNAMIC_GROUP 796,22687 -#define I2O_PARAMS_STATUS_OPERATION_ERROR 797,22736 -#define I2O_PARAMS_STATUS_SCALAR_ERROR 798,22783 -#define I2O_PARAMS_STATUS_TABLE_ERROR 799,22828 -#define I2O_PARAMS_STATUS_WRONG_GROUP_TYPE 800,22872 -#define I2O_DSC_SUCCESS 805,23047 -#define I2O_DSC_BAD_KEY 806,23101 -#define I2O_DSC_TCL_ERROR 807,23155 -#define I2O_DSC_REPLY_BUFFER_FULL 808,23209 -#define I2O_DSC_NO_SUCH_PAGE 809,23263 -#define I2O_DSC_INSUFFICIENT_RESOURCE_SOFT 810,23317 -#define I2O_DSC_INSUFFICIENT_RESOURCE_HARD 811,23371 -#define I2O_DSC_CHAIN_BUFFER_TOO_LARGE 812,23425 -#define I2O_DSC_UNSUPPORTED_FUNCTION 813,23479 -#define I2O_DSC_DEVICE_LOCKED 814,23533 -#define I2O_DSC_DEVICE_RESET 815,23587 -#define I2O_DSC_INAPPROPRIATE_FUNCTION 816,23641 -#define I2O_DSC_INVALID_INITIATOR_ADDRESS 817,23695 -#define I2O_DSC_INVALID_MESSAGE_FLAGS 818,23749 -#define I2O_DSC_INVALID_OFFSET 819,23803 -#define I2O_DSC_INVALID_PARAMETER 820,23857 -#define I2O_DSC_INVALID_REQUEST 821,23911 -#define I2O_DSC_INVALID_TARGET_ADDRESS 822,23965 -#define I2O_DSC_MESSAGE_TOO_LARGE 823,24019 -#define I2O_DSC_MESSAGE_TOO_SMALL 824,24073 -#define I2O_DSC_MISSING_PARAMETER 825,24127 -#define I2O_DSC_TIMEOUT 826,24181 -#define I2O_DSC_UNKNOWN_ERROR 827,24235 -#define I2O_DSC_UNKNOWN_FUNCTION 828,24289 -#define I2O_DSC_UNSUPPORTED_VERSION 829,24343 -#define I2O_DSC_DEVICE_BUSY 830,24397 -#define I2O_DSC_DEVICE_NOT_AVAILABLE 831,24451 -#define I2O_BSA_DSC_SUCCESS 836,24604 -#define I2O_BSA_DSC_MEDIA_ERROR 837,24653 -#define I2O_BSA_DSC_ACCESS_ERROR 838,24702 -#define I2O_BSA_DSC_DEVICE_FAILURE 839,24751 -#define I2O_BSA_DSC_DEVICE_NOT_READY 840,24800 -#define I2O_BSA_DSC_MEDIA_NOT_PRESENT 841,24849 -#define I2O_BSA_DSC_MEDIA_LOCKED 842,24898 -#define I2O_BSA_DSC_MEDIA_FAILURE 843,24947 -#define I2O_BSA_DSC_PROTOCOL_FAILURE 844,24996 -#define I2O_BSA_DSC_BUS_FAILURE 845,25045 -#define I2O_BSA_DSC_ACCESS_VIOLATION 846,25094 -#define I2O_BSA_DSC_WRITE_PROTECTED 847,25143 -#define I2O_BSA_DSC_DEVICE_RESET 848,25192 -#define I2O_BSA_DSC_VOLUME_CHANGED 849,25241 -#define I2O_BSA_DSC_TIMEOUT 850,25290 -#define I2O_FSC_TRANSPORT_SERVICE_SUSPENDED 854,25399 -#define I2O_FSC_TRANSPORT_SERVICE_TERMINATED 855,25460 -#define I2O_FSC_TRANSPORT_CONGESTION 856,25521 -#define I2O_FSC_TRANSPORT_FAILURE 857,25582 -#define I2O_FSC_TRANSPORT_STATE_ERROR 858,25643 -#define I2O_FSC_TRANSPORT_TIME_OUT 859,25704 -#define I2O_FSC_TRANSPORT_ROUTING_FAILURE 860,25765 -#define I2O_FSC_TRANSPORT_INVALID_VERSION 861,25826 -#define I2O_FSC_TRANSPORT_INVALID_OFFSET 862,25887 -#define I2O_FSC_TRANSPORT_INVALID_MSG_FLAGS 863,25948 -#define I2O_FSC_TRANSPORT_FRAME_TOO_SMALL 864,26009 -#define I2O_FSC_TRANSPORT_FRAME_TOO_LARGE 865,26070 -#define I2O_FSC_TRANSPORT_INVALID_TARGET_ID 866,26131 -#define I2O_FSC_TRANSPORT_INVALID_INITIATOR_ID 867,26192 -#define I2O_FSC_TRANSPORT_INVALID_INITIATOR_CONTEXT 868,26253 -#define I2O_FSC_TRANSPORT_UNKNOWN_FAILURE 869,26314 -#define I2O_CLAIM_PRIMARY 872,26401 -#define I2O_CLAIM_MANAGEMENT 873,26442 -#define I2O_CLAIM_AUTHORIZED 874,26486 -#define I2O_CLAIM_SECONDARY 875,26530 -#define I2OVER15 878,26621 -#define I2OVER20 879,26645 -#define I2OVERSION 882,26733 -#define SGL_OFFSET_0 884,26762 -#define SGL_OFFSET_4 885,26797 -#define SGL_OFFSET_5 886,26843 -#define SGL_OFFSET_6 887,26889 -#define SGL_OFFSET_7 888,26935 -#define SGL_OFFSET_8 889,26981 -#define SGL_OFFSET_9 890,27027 -#define SGL_OFFSET_10 891,27073 -#define TRL_OFFSET_5 893,27120 -#define TRL_OFFSET_6 894,27166 -#define TRL_SINGLE_FIXED_LENGTH 897,27272 -#define TRL_SINGLE_VARIABLE_LENGTH 898,27310 -#define TRL_MULTIPLE_FIXED_LENGTH 899,27350 -#define MSG_STATIC 902,27429 -#define MSG_64BIT_CNTXT 903,27455 -#define MSG_MULTI_TRANS 904,27486 -#define MSG_FAIL 905,27517 -#define MSG_FINAL 906,27541 -#define MSG_REPLY 907,27566 -#define THREE_WORD_MSG_SIZE 910,27616 -#define FOUR_WORD_MSG_SIZE 911,27655 -#define FIVE_WORD_MSG_SIZE 912,27693 -#define SIX_WORD_MSG_SIZE 913,27731 -#define SEVEN_WORD_MSG_SIZE 914,27768 -#define EIGHT_WORD_MSG_SIZE 915,27807 -#define NINE_WORD_MSG_SIZE 916,27846 -#define TEN_WORD_MSG_SIZE 917,27884 -#define ELEVEN_WORD_MSG_SIZE 918,27921 -#define I2O_MESSAGE_SIZE(I2O_MESSAGE_SIZE919,27961 -#define ADAPTER_TID 923,28031 -#define HOST_TID 924,28054 -#define MSG_FRAME_SIZE 926,28075 -#define REPLY_FRAME_SIZE 927,28132 -#define SG_TABLESIZE 928,28160 -#define NMBR_MSG_FRAMES 929,28185 -#define MSG_POOL_SIZE 931,28215 -#define I2O_POST_WAIT_OK 933,28284 -#define I2O_POST_WAIT_TIMEOUT 934,28311 -#define I2O_CONTEXT_LIST_MIN_LENGTH 936,28353 -#define I2O_CONTEXT_LIST_USED 937,28392 -#define I2O_CONTEXT_LIST_DELETED 938,28428 -#define I2O_TIMEOUT_INIT_OUTBOUND_QUEUE 941,28482 -#define I2O_TIMEOUT_MESSAGE_GET 942,28525 -#define I2O_TIMEOUT_RESET 943,28560 -#define I2O_TIMEOUT_STATUS_GET 944,28590 -#define I2O_TIMEOUT_LCT_GET 945,28624 -#define I2O_TIMEOUT_SCSI_SCB_ABORT 946,28656 -#define I2O_HRT_GET_TRIES 949,28710 -#define I2O_LCT_GET_TRIES 950,28739 -#define I2O_MAX_SECTORS 953,28795 -#define I2O_MAX_SEGMENTS 954,28826 -#define I2O_REQ_MEMPOOL_SIZE 956,28857 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coda_cache.h,30 -#define _CFSNC_HEADER_11,284 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/reiserfs_xattr.h,1437 -#define REISERFS_XATTR_MAGIC 10,142 -struct reiserfs_xattr_header reiserfs_xattr_header12,196 -struct reiserfs_xattr_handler reiserfs_xattr_handler19,376 -#define is_reiserfs_priv_object(is_reiserfs_priv_object34,871 -#define has_xattr_dir(has_xattr_dir35,955 -int reiserfs_xattr_register_handlers 59,2213 -reiserfs_write_unlock_xattrs(68,2453 -reiserfs_read_lock_xattrs(73,2573 -reiserfs_read_unlock_xattrs(79,2692 -reiserfs_write_lock_xattr_i(85,2811 -reiserfs_write_unlock_xattr_i(90,2931 -reiserfs_read_lock_xattr_i(95,3051 -reiserfs_read_unlock_xattr_i(101,3170 -#define is_reiserfs_priv_object(is_reiserfs_priv_object108,3277 -#define reiserfs_getxattr 109,3318 -#define reiserfs_setxattr 110,3349 -#define reiserfs_listxattr 111,3380 -#define reiserfs_removexattr 112,3412 -#define reiserfs_write_lock_xattrs(reiserfs_write_lock_xattrs113,3446 -#define reiserfs_write_unlock_xattrs(reiserfs_write_unlock_xattrs114,3485 -#define reiserfs_read_lock_xattrs(reiserfs_read_lock_xattrs115,3526 -#define reiserfs_read_unlock_xattrs(reiserfs_read_unlock_xattrs116,3564 -#define reiserfs_permission 118,3605 -#define reiserfs_xattr_register_handlers(reiserfs_xattr_register_handlers120,3639 -#define reiserfs_xattr_unregister_handlers(reiserfs_xattr_unregister_handlers121,3684 -static inline int reiserfs_delete_xattrs 123,3730 -static inline int reiserfs_chown_xattrs 124,3808 -static inline int reiserfs_xattr_init 125,3906 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/moduleloader.h,35 -#define _LINUX_MODULELOADER_H2,30 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/times.h,247 -#define _LINUX_TIMES_H2,23 -static inline clock_t jiffies_to_clock_t(10,160 -static inline unsigned long clock_t_to_jiffies(21,393 -static inline u64 jiffies_64_to_clock_t(41,779 -static inline u64 nsec_to_clock_t(58,1130 -struct tms tms78,1663 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-algo-pcf.h,124 -#define _LINUX_I2C_ALGO_PCF_H28,1331 -struct i2c_algo_pcf_data i2c_algo_pcf_data30,1362 -#define I2C_PCF_ADAP_MAX 44,1692 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sockios.h,2283 -#define _LINUX_SOCKIOS_H19,699 -#define SIOCINQ 24,786 -#define SIOCOUTQ 25,812 -#define SIOCADDRT 28,866 -#define SIOCDELRT 29,922 -#define SIOCRTMSG 30,981 -#define SIOCGIFNAME 33,1074 -#define SIOCSIFLINK 34,1124 -#define SIOCGIFCONF 35,1177 -#define SIOCGIFFLAGS 36,1227 -#define SIOCSIFFLAGS 37,1274 -#define SIOCGIFADDR 38,1321 -#define SIOCSIFADDR 39,1371 -#define SIOCGIFDSTADDR 40,1421 -#define SIOCSIFDSTADDR 41,1480 -#define SIOCGIFBRDADDR 42,1539 -#define SIOCSIFBRDADDR 43,1601 -#define SIOCGIFNETMASK 44,1663 -#define SIOCSIFNETMASK 45,1721 -#define SIOCGIFMETRIC 46,1779 -#define SIOCSIFMETRIC 47,1828 -#define SIOCGIFMEM 48,1877 -#define SIOCSIFMEM 49,1935 -#define SIOCGIFMTU 50,1993 -#define SIOCSIFMTU 51,2041 -#define SIOCSIFNAME 52,2089 -#define SIOCSIFHWADDR 53,2142 -#define SIOCGIFENCAP 54,2200 -#define SIOCSIFENCAP 55,2264 -#define SIOCGIFHWADDR 56,2294 -#define SIOCGIFSLAVE 57,2352 -#define SIOCSIFSLAVE 58,2410 -#define SIOCADDMULTI 59,2438 -#define SIOCDELMULTI 60,2497 -#define SIOCGIFINDEX 61,2525 -#define SIOGIFINDEX 62,2585 -#define SIOCSIFPFLAGS 63,2651 -#define SIOCGIFPFLAGS 64,2714 -#define SIOCDIFADDR 65,2743 -#define SIOCSIFHWBROADCAST 66,2796 -#define SIOCGIFCOUNT 67,2864 -#define SIOCGIFBR 69,2922 -#define SIOCSIFBR 70,2972 -#define SIOCGIFTXQLEN 72,3027 -#define SIOCSIFTXQLEN 73,3087 -#define SIOCGIFDIVERT 75,3149 -#define SIOCSIFDIVERT 76,3209 -#define SIOCETHTOOL 78,3274 -#define SIOCGMIIPHY 80,3328 -#define SIOCGMIIREG 81,3393 -#define SIOCSMIIREG 82,3450 -#define SIOCWANDEV 84,3509 -#define SIOCDARP 88,3661 -#define SIOCGARP 89,3715 -#define SIOCSARP 90,3767 -#define SIOCDRARP 93,3852 -#define SIOCGRARP 94,3908 -#define SIOCSRARP 95,3962 -#define SIOCGIFMAP 99,4051 -#define SIOCSIFMAP 100,4106 -#define SIOCADDDLCI 104,4194 -#define SIOCDELDLCI 105,4251 -#define SIOCGIFVLAN 107,4306 -#define SIOCSIFVLAN 108,4361 -#define SIOCBONDENSLAVE 112,4442 -#define SIOCBONDRELEASE 113,4509 -#define SIOCBONDSETHWADDR 114,4576 -#define SIOCBONDSLAVEINFOQUERY 115,4649 -#define SIOCBONDINFOQUERY 116,4724 -#define SIOCBONDCHANGEACTIVE 117,4797 -#define SIOCBRADDBR 120,4895 -#define SIOCBRDELBR 121,4962 -#define SIOCBRADDIF 122,5029 -#define SIOCBRDELIF 123,5092 -#define SIOCDEVPRIVATE 136,5534 -#define SIOCPROTOPRIVATE 142,5633 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/edd.h,1906 -#define _LINUX_EDD_H31,1316 -#define EDDNR 33,1338 -#define EDDBUF 35,1456 -#define EDDMAXNR 36,1524 -#define EDDEXTSIZE 37,1597 -#define EDDPARMSIZE 38,1670 -#define CHECKEXTENSIONSPRESENT 39,1693 -#define GETDEVICEPARAMETERS 40,1729 -#define LEGACYGETDEVICEPARAMETERS 41,1762 -#define EDDMAGIC1 42,1801 -#define EDDMAGIC2 43,1826 -#define READ_SECTORS 46,1853 -#define EDD_MBR_SIG_OFFSET 47,1931 -#define EDD_MBR_SIG_BUF 48,2002 -#define EDD_MBR_SIG_MAX 49,2062 -#define EDD_MBR_SIG_NR_BUF 50,2136 -#define EDD_CL_EQUALS 52,2276 -#define EDD_CL_OFF 53,2328 -#define EDD_CL_SKIP 54,2387 -#define EDD_EXT_FIXED_DISK_ACCESS 58,2472 -#define EDD_EXT_DEVICE_LOCKING_AND_EJECTING 59,2525 -#define EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT 60,2578 -#define EDD_EXT_64BIT_EXTENSIONS 61,2631 -#define EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT 63,2685 -#define EDD_INFO_GEOMETRY_VALID 64,2742 -#define EDD_INFO_REMOVABLE 65,2798 -#define EDD_INFO_WRITE_VERIFY 66,2854 -#define EDD_INFO_MEDIA_CHANGE_NOTIFICATION 67,2910 -#define EDD_INFO_LOCKABLE 68,2966 -#define EDD_INFO_NO_MEDIA_PRESENT 69,3022 -#define EDD_INFO_USE_INT13_FN50 70,3078 -struct edd_device_params edd_device_params72,3135 - } __attribute__ __attribute__92,3584 - } __attribute__ __attribute__99,3700 - } __attribute__ __attribute__103,3790 - } __attribute__ __attribute__106,3853 - } __attribute__ __attribute__109,3916 - } __attribute__ __attribute__112,3979 - } __attribute__ __attribute__121,4141 - } __attribute__ __attribute__129,4281 - } __attribute__ __attribute__135,4387 - } __attribute__ __attribute__139,4472 - } __attribute__ __attribute__143,4546 - } __attribute__ __attribute__147,4618 - } __attribute__ __attribute__151,4703 - } __attribute__ __attribute__156,4805 - } __attribute__ __attribute__163,4936 - } __attribute__ __attribute__167,5018 -struct edd_info edd_info173,5130 -struct edd edd183,5337 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rwsem.h,380 -#define _LINUX_RWSEM_H8,164 -#define RWSEM_DEBUG 12,216 -#define rwsemtrace(rwsemtrace34,709 -static inline void down_read(41,779 -static inline int down_read_trylock(52,1025 -static inline void down_write(64,1268 -static inline int down_write_trylock(75,1518 -static inline void up_read(87,1768 -static inline void up_write(97,1947 -static inline void downgrade_write(107,2143 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/efs_fs.h,261 -#define __EFS_FS_H__10,144 -#define EFS_VERSION 12,166 -static const char cprt[14,194 -#define EFS_BLOCKSIZE_BITS 19,345 -#define EFS_BLOCKSIZE 20,374 -static inline struct efs_inode_info *INODE_INFO(27,531 -static inline struct efs_sb_info *SUPER_INFO(32,668 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pm.h,1815 -#define _LINUX_PM_H22,834 - PM_SUSPEND,35,992 - PM_RESUME,36,1023 - PM_SAVE_STATE,38,1052 - PM_SET_WAKEUP,41,1118 - PM_GET_RESOURCES,44,1166 - PM_SET_RESOURCES,45,1185 - PM_EJECT,48,1236 - PM_LOCK,49,1247 -typedef int pm_request_t;pm_request_t52,1261 - PM_UNKNOWN_DEV 59,1318 - PM_SYS_DEV,60,1353 - PM_PCI_DEV,61,1416 - PM_USB_DEV,62,1450 - PM_SCSI_DEV,63,1484 - PM_ISA_DEV,64,1520 - PM_MTD_DEV,65,1554 -typedef int pm_dev_t;pm_dev_t68,1606 - PM_SYS_UNKNOWN 75,1685 - PM_SYS_UNKNOWN = 0x00000000,75,1685 - PM_SYS_KBC 76,1729 - PM_SYS_KBC = 0x41d00303,76,1729 - PM_SYS_COM 77,1782 - PM_SYS_COM = 0x41d00500,77,1782 - PM_SYS_IRDA 78,1827 - PM_SYS_IRDA = 0x41d00510,78,1827 - PM_SYS_FDC 79,1877 - PM_SYS_FDC = 0x41d00700,79,1877 - PM_SYS_VGA 80,1928 - PM_SYS_VGA = 0x41d00900,80,1928 - PM_SYS_PCMCIA 81,1976 - PM_SYS_PCMCIA = 0x41d00e00,81,1976 -#define PM_PCI_ID(PM_PCI_ID87,2062 -typedef int (*pm_callback)pm_callback94,2179 -struct pm_devpm_dev99,2296 -#define PM_IS_ACTIVE(PM_IS_ACTIVE117,2533 -static inline void pm_access(146,3114 -static inline void pm_dev_idle(147,3166 -#define PM_IS_ACTIVE(PM_IS_ACTIVE151,3244 -static inline struct pm_dev *pm_register(153,3270 -static inline void pm_unregister(160,3397 -static inline void pm_unregister_all(162,3454 -static inline int pm_send(164,3517 -static inline int pm_send_all(169,3610 -static inline struct pm_dev *pm_find(174,3687 -static inline void pm_access(179,3776 -static inline void pm_dev_idle(180,3828 - PM_SUSPEND_ON 192,4036 - PM_SUSPEND_STANDBY 193,4056 - PM_SUSPEND_MEM 195,4122 - PM_SUSPEND_DISK 196,4143 - PM_SUSPEND_MAX 197,4165 - PM_DISK_FIRMWARE 201,4197 - PM_DISK_PLATFORM,202,4220 - PM_DISK_SHUTDOWN,203,4239 - PM_DISK_REBOOT,204,4258 - PM_DISK_MAX,205,4275 -struct pm_ops pm_ops209,4294 -struct dev_pm_info dev_pm_info227,4543 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/usbdevice_fs.h,1733 -#define _LINUX_USBDEVICE_FS_H32,1131 -#define USBDEVICE_SUPER_MAGIC 38,1265 -struct usbdevfs_ctrltransfer usbdevfs_ctrltransfer42,1331 -struct usbdevfs_bulktransfer usbdevfs_bulktransfer52,1508 -struct usbdevfs_setinterface usbdevfs_setinterface59,1645 -struct usbdevfs_disconnectsignal usbdevfs_disconnectsignal64,1731 -#define USBDEVFS_MAXDRIVERNAME 69,1814 -struct usbdevfs_getdriver usbdevfs_getdriver71,1850 -struct usbdevfs_connectinfo usbdevfs_connectinfo76,1949 -#define USBDEVFS_URB_SHORT_NOT_OK 81,2026 -#define USBDEVFS_URB_ISO_ASAP 82,2071 -#define USBDEVFS_URB_TYPE_ISO 84,2117 -#define USBDEVFS_URB_TYPE_INTERRUPT 85,2153 -#define USBDEVFS_URB_TYPE_CONTROL 86,2194 -#define USBDEVFS_URB_TYPE_BULK 87,2233 -struct usbdevfs_iso_packet_desc usbdevfs_iso_packet_desc89,2271 -struct usbdevfs_urb usbdevfs_urb95,2382 -struct usbdevfs_ioctl usbdevfs_ioctl112,2809 -struct usbdevfs_hub_portinfo usbdevfs_hub_portinfo121,3192 -#define USBDEVFS_CONTROL 126,3345 -#define USBDEVFS_BULK 127,3424 -#define USBDEVFS_RESETEP 128,3503 -#define USBDEVFS_SETINTERFACE 129,3565 -#define USBDEVFS_SETCONFIGURATION 130,3643 -#define USBDEVFS_GETDRIVER 131,3705 -#define USBDEVFS_SUBMITURB 132,3780 -#define USBDEVFS_DISCARDURB 133,3850 -#define USBDEVFS_REAPURB 134,3898 -#define USBDEVFS_REAPURBNDELAY 135,3955 -#define USBDEVFS_DISCSIGNAL 136,4012 -#define USBDEVFS_CLAIMINTERFACE 137,4095 -#define USBDEVFS_RELEASEINTERFACE 138,4158 -#define USBDEVFS_CONNECTINFO 139,4221 -#define USBDEVFS_IOCTL 140,4299 -#define USBDEVFS_HUB_PORTINFO 141,4372 -#define USBDEVFS_RESET 142,4451 -#define USBDEVFS_CLEAR_HALT 143,4499 -#define USBDEVFS_DISCONNECT 144,4562 -#define USBDEVFS_CONNECT 145,4610 -struct dev_state dev_state155,4808 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdn_ppp.h,1842 -#define _LINUX_ISDN_PPP_H14,511 -#define CALLTYPE_INCOMING 16,538 -#define CALLTYPE_OUTGOING 17,568 -#define CALLTYPE_CALLBACK 18,598 -#define IPPP_VERSION 20,629 -struct pppcallinfopppcallinfo22,662 -#define PPPIOCGCALLINFO 30,786 -#define PPPIOCBUNDLE 31,844 -#define PPPIOCGMPFLAGS 32,885 -#define PPPIOCSMPFLAGS 33,926 -#define PPPIOCSMPMTU 34,967 -#define PPPIOCSMPMRU 35,1008 -#define PPPIOCGCOMPRESSORS 36,1049 -#define PPPIOCSCOMPRESSOR 37,1108 -#define PPPIOCGIFNAME 38,1152 -#define SC_MP_PROT 41,1213 -#define SC_REJ_MP_PROT 42,1249 -#define SC_OUT_SHORT_SEQ 43,1285 -#define SC_IN_SHORT_SEQ 44,1321 -#define SC_DECOMP_ON 46,1358 -#define SC_COMP_ON 47,1385 -#define SC_DECOMP_DISCARD 48,1410 -#define SC_COMP_DISCARD 49,1441 -#define SC_LINK_DECOMP_ON 50,1471 -#define SC_LINK_COMP_ON 51,1502 -#define SC_LINK_DECOMP_DISCARD 52,1532 -#define SC_LINK_COMP_DISCARD 53,1568 -#define ISDN_PPP_COMP_MAX_OPTIONS 55,1603 -#define IPPP_COMP_FLAG_XMIT 57,1641 -#define IPPP_COMP_FLAG_LINK 58,1673 -struct isdn_ppp_comp_data isdn_ppp_comp_data60,1706 -#define DECOMP_ERR_NOMEM 76,1935 -#define MP_END_FRAG 78,1967 -#define MP_BEGIN_FRAG 79,1995 -#define MP_MAX_QUEUE_LEN 81,2024 -#define IPPP_RESET_MAXDATABYTES 98,2822 -struct isdn_ppp_resetparams isdn_ppp_resetparams100,2858 -struct isdn_ppp_compressor isdn_ppp_compressor116,3582 -} isdn_mppp_stats;isdn_mppp_stats157,5089 -} ippp_bundle;ippp_bundle170,5547 -#define NUM_RCV_BUFFS 172,5563 -struct ippp_buf_queue ippp_buf_queue174,5593 -enum ippp_ccp_reset_states ippp_ccp_reset_states182,5817 - CCPResetIdle,183,5846 - CCPResetSentReq,184,5862 - CCPResetRcvdReq,185,5881 - CCPResetSentAck,186,5900 - CCPResetRcvdAck187,5919 -struct ippp_ccp_reset_state ippp_ccp_reset_state190,5941 -struct ippp_ccp_reset ippp_ccp_reset206,6715 -struct ippp_struct ippp_struct211,6873 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/posix_acl.h,556 -#define __LINUX_POSIX_ACL_H9,124 -#define ACL_UNDEFINED_ID 13,178 -#define ACL_TYPE_ACCESS 16,254 -#define ACL_TYPE_DEFAULT 17,288 -#define ACL_USER_OBJ 20,367 -#define ACL_USER 21,396 -#define ACL_GROUP_OBJ 22,421 -#define ACL_GROUP 23,451 -#define ACL_MASK 24,477 -#define ACL_OTHER 25,502 -#define ACL_READ 28,567 -#define ACL_WRITE 29,592 -#define ACL_EXECUTE 30,618 -struct posix_acl_entry posix_acl_entry34,702 -struct posix_acl posix_acl40,793 -#define FOREACH_ACL_ENTRY(FOREACH_ACL_ENTRY46,901 -posix_acl_dup(54,1073 -posix_acl_release(65,1219 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cyclades.h,11189 -#define _LINUX_CYCLADES_H68,2351 -struct cyclades_monitor cyclades_monitor70,2378 -struct cyclades_idle_stats cyclades_idle_stats82,2749 -#define CYCLADES_MAGIC 93,3257 -#define CYGETMON 95,3289 -#define CYGETTHRESH 96,3330 -#define CYSETTHRESH 97,3371 -#define CYGETDEFTHRESH 98,3412 -#define CYSETDEFTHRESH 99,3453 -#define CYGETTIMEOUT 100,3494 -#define CYSETTIMEOUT 101,3535 -#define CYGETDEFTIMEOUT 102,3576 -#define CYSETDEFTIMEOUT 103,3617 -#define CYSETRFLOW 104,3658 -#define CYGETRFLOW 105,3687 -#define CYSETRTSDTR_INV 106,3716 -#define CYGETRTSDTR_INV 107,3750 -#define CYZSETPOLLCYCLE 108,3784 -#define CYZGETPOLLCYCLE 109,3818 -#define CYGETCD1400VER 110,3852 -#define CYGETCARDINFO 111,3885 -#define CYSETWAIT 112,3917 -#define CYGETWAIT 113,3945 -#define CZIOC 117,4028 -#define CZ_NBOARDS 118,4063 -#define CZ_BOOT_START 119,4100 -#define CZ_BOOT_DATA 120,4137 -#define CZ_BOOT_END 121,4174 -#define CZ_TEST 122,4211 -#define CZ_DEF_POLL 124,4249 -#define MAX_BOARD 126,4278 -#define MAX_DEV 127,4337 -#define CYZ_MAX_SPEED 128,4401 -#define CYZ_FIFO_SIZE 130,4431 -#define CYZ_BOOT_NWORDS 132,4457 -struct CYZ_BOOT_CTRL CYZ_BOOT_CTRL133,4487 -typedef unsigned long ucdouble;ucdouble153,5053 -typedef unsigned int uclong;uclong154,5109 -typedef unsigned long uclong;uclong156,5169 -typedef unsigned short ucshort;ucshort158,5231 -typedef unsigned char ucchar;ucchar159,5287 -#define DP_WINDOW_SIZE 165,5373 -#define ZE_DP_WINDOW_SIZE 166,5435 -#define CTRL_WINDOW_SIZE 168,5521 -struct CUSTOM_REG CUSTOM_REG176,5756 -struct RUNTIME_9060 RUNTIME_9060203,6929 -#define WIN_RAM 236,8325 -#define WIN_CREG 237,8390 -#define TIMER_BY_1M 241,8498 -#define TIMER_BY_256K 242,8550 -#define TIMER_BY_128K 243,8606 -#define TIMER_BY_32K 244,8662 -#define MAX_CHAN 259,9023 -#define ID_ADDRESS 263,9130 -#define ZFIRM_ID 264,9193 -#define ZFIRM_HLT 265,9246 -#define ZFIRM_RST 266,9316 -#define ZF_TINACT_DEF 268,9382 -#define ZF_TINACT 270,9462 -struct FIRM_ID FIRM_ID272,9495 -#define C_OS_LINUX 279,9640 -#define C_CH_DISABLE 283,9721 -#define C_CH_TXENABLE 284,9779 -#define C_CH_RXENABLE 285,9837 -#define C_CH_ENABLE 286,9895 -#define C_CH_LOOPBACK 287,9954 -#define C_PR_NONE 291,10036 -#define C_PR_ODD 292,10076 -#define C_PR_EVEN 293,10114 -#define C_PR_MARK 294,10154 -#define C_PR_SPACE 295,10194 -#define C_PR_PARITY 296,10236 -#define C_PR_DISCARD 298,10268 -#define C_PR_IGNORE 299,10340 -#define C_DL_CS5 303,10448 -#define C_DL_CS6 304,10476 -#define C_DL_CS7 305,10504 -#define C_DL_CS8 306,10532 -#define C_DL_CS 307,10560 -#define C_DL_1STOP 308,10588 -#define C_DL_15STOP 309,10618 -#define C_DL_2STOP 310,10649 -#define C_DL_STOP 311,10679 -#define C_IN_DISABLE 315,10742 -#define C_IN_TXBEMPTY 316,10805 -#define C_IN_TXLOWWM 317,10860 -#define C_IN_RXHIWM 318,10918 -#define C_IN_RXNNDT 319,10975 -#define C_IN_MDCD 320,11035 -#define C_IN_MDSR 321,11087 -#define C_IN_MRI 322,11139 -#define C_IN_MCTS 323,11189 -#define C_IN_RXBRK 324,11241 -#define C_IN_PR_ERROR 325,11292 -#define C_IN_FR_ERROR 326,11344 -#define C_IN_OVR_ERROR 327,11395 -#define C_IN_RXOFL 328,11455 -#define C_IN_IOCTLW 329,11515 -#define C_IN_MRTS 330,11577 -#define C_IN_ICHAR 331,11627 -#define C_FL_OXX 335,11679 -#define C_FL_IXX 336,11742 -#define C_FL_OIXANY 337,11805 -#define C_FL_SWFLOW 338,11868 -#define C_FS_TXIDLE 342,11919 -#define C_FS_SENDING 343,11989 -#define C_FS_SWFLOW 344,12048 -#define C_RS_PARAM 348,12160 -#define C_RS_RTS 350,12255 -#define C_RS_DTR 351,12293 -#define C_RS_DCD 352,12331 -#define C_RS_DSR 353,12368 -#define C_RS_RI 354,12406 -#define C_RS_CTS 355,12443 -#define C_CM_RESET 359,12513 -#define C_CM_IOCTL 360,12564 -#define C_CM_IOCTLW 361,12611 -#define C_CM_IOCTLM 362,12675 -#define C_CM_SENDXOFF 363,12729 -#define C_CM_SENDXON 364,12773 -#define C_CM_CLFLOW 365,12815 -#define C_CM_SENDBRK 366,12875 -#define C_CM_INTBACK 367,12919 -#define C_CM_SET_BREAK 368,12967 -#define C_CM_CLR_BREAK 369,13014 -#define C_CM_CMD_DONE 370,13062 -#define C_CM_INTBACK2 371,13118 -#define C_CM_TINACT 372,13177 -#define C_CM_IRQ_ENBL 373,13234 -#define C_CM_IRQ_DSBL 374,13300 -#define C_CM_ACK_ENBL 375,13367 -#define C_CM_ACK_DSBL 376,13436 -#define C_CM_FLUSH_RX 377,13501 -#define C_CM_FLUSH_TX 378,13553 -#define C_CM_Q_ENABLE 379,13605 -#define C_CM_Q_DISABLE 381,13685 -#define C_CM_TXBEMPTY 384,13779 -#define C_CM_TXLOWWM 385,13832 -#define C_CM_RXHIWM 386,13890 -#define C_CM_RXNNDT 387,13948 -#define C_CM_TXFEMPTY 388,14003 -#define C_CM_ICHAR 389,14030 -#define C_CM_MDCD 390,14054 -#define C_CM_MDSR 391,14101 -#define C_CM_MRI 392,14148 -#define C_CM_MCTS 393,14193 -#define C_CM_MRTS 394,14240 -#define C_CM_RXBRK 395,14285 -#define C_CM_PR_ERROR 396,14331 -#define C_CM_FR_ERROR 397,14378 -#define C_CM_OVR_ERROR 398,14424 -#define C_CM_RXOFL 399,14484 -#define C_CM_CMDERROR 400,14544 -#define C_CM_FATAL 401,14592 -#define C_CM_HW_RESET 402,14635 -struct CH_CTRL CH_CTRL410,14866 -struct BUF_CTRL BUF_CTRL437,15711 -struct BOARD_CTRL BOARD_CTRL457,16387 -#define QUEUE_SIZE 485,17137 -struct INT_QUEUE INT_QUEUE487,17171 -struct ZFW_CTRL ZFW_CTRL500,17457 -struct cyclades_card cyclades_card511,17699 -struct cyclades_chip cyclades_chip530,18272 -#define cy_writeb(cy_writeb542,18499 -#define cy_writew(cy_writew543,18561 -#define cy_writel(cy_writel544,18623 -#define cy_readb(cy_readb546,18686 -#define cy_readw(cy_readw547,18722 -#define cy_readl(cy_readl548,18758 -struct cyclades_icount cyclades_icount553,18825 -struct cyclades_port cyclades_port568,19160 -#define Cy_EVENT_READ_PROCESS 618,20601 -#define Cy_EVENT_WRITE_WAKEUP 619,20634 -#define Cy_EVENT_HANGUP 620,20667 -#define Cy_EVENT_BREAK 621,20695 -#define Cy_EVENT_OPEN_WAKEUP 622,20722 -#define Cy_EVENT_SHUTDOWN_WAKEUP 623,20754 -#define Cy_EVENT_DELTA_WAKEUP 624,20789 -#define Cy_EVENT_Z_RX_FULL 625,20822 -#define CLOSING_WAIT_DELAY 627,20853 -#define CY_CLOSING_WAIT_NONE 628,20886 -#define CY_CLOSING_WAIT_INF 629,20921 -#define CyMAX_CHIPS_PER_CARD 632,20953 -#define CyMAX_CHAR_FIFO 633,20984 -#define CyPORTS_PER_CHIP 634,21012 -#define CD1400_MAX_SPEED 635,21039 -#define CyISA_Ywin 637,21072 -#define CyPCI_Ywin 639,21099 -#define CyPCI_Yctl 640,21126 -#define CyPCI_Zctl 641,21151 -#define CyPCI_Zwin 642,21188 -#define CyPCI_Ze_win 643,21216 -#define PCI_DEVICE_ID_MASK 645,21256 -#define CD1400_REV_G 649,21319 -#define CD1400_REV_J 650,21345 -#define CyRegSize 652,21372 -#define Cy_HwReset 653,21399 -#define Cy_ClrIntr 654,21426 -#define Cy_EpldRev 655,21453 -#define CyGFRCR 659,21505 -#define CyRevE 660,21531 -#define CyCAR 661,21557 -#define CyCHAN_0 662,21581 -#define CyCHAN_1 663,21611 -#define CyCHAN_2 664,21641 -#define CyCHAN_3 665,21671 -#define CyGCR 666,21701 -#define CyCH0_SERIAL 667,21725 -#define CyCH0_PARALLEL 668,21758 -#define CySVRR 669,21793 -#define CySRModem 670,21818 -#define CySRTransmit 671,21849 -#define CySRReceive 672,21882 -#define CyRICR 673,21914 -#define CyTICR 674,21939 -#define CyMICR 675,21964 -#define CyICR0 676,21989 -#define CyICR1 677,22017 -#define CyICR2 678,22045 -#define CyICR3 679,22073 -#define CyRIR 680,22101 -#define CyTIR 681,22125 -#define CyMIR 682,22149 -#define CyIRDirEq 683,22173 -#define CyIRBusy 684,22204 -#define CyIRUnfair 685,22234 -#define CyIRContext 686,22266 -#define CyIRChannel 687,22298 -#define CyPPR 688,22330 -#define CyCLOCK_20_1MS 689,22355 -#define CyCLOCK_25_1MS 690,22390 -#define CyCLOCK_25_5MS 691,22425 -#define CyCLOCK_60_1MS 692,22460 -#define CyCLOCK_60_2MS 693,22495 -#define CyRIVR 697,22556 -#define CyTIVR 698,22581 -#define CyMIVR 699,22606 -#define CyIVRMask 700,22631 -#define CyIVRRxEx 701,22661 -#define CyIVRRxOK 702,22691 -#define CyIVRTxOK 703,22721 -#define CyIVRMdmOK 704,22751 -#define CyTDR 705,22782 -#define CyRDSR 706,22806 -#define CyTIMEOUT 707,22831 -#define CySPECHAR 708,22862 -#define CyBREAK 709,22893 -#define CyPARITY 710,22922 -#define CyFRAME 711,22952 -#define CyOVERRUN 712,22981 -#define CyMISR 713,23012 -#define CyEOSRR 715,23075 -#define CyLIVR 719,23127 -#define CyMscsr 720,23152 -#define CyTdsr 721,23181 -#define CyRgdsr 722,23209 -#define CyRedsr 723,23238 -#define CyCCR 724,23267 -#define CyCHAN_RESET 726,23306 -#define CyCHIP_RESET 727,23339 -#define CyFlushTransFIFO 728,23372 -#define CyCOR_CHANGE 730,23424 -#define CyCOR1ch 731,23457 -#define CyCOR2ch 732,23487 -#define CyCOR3ch 733,23517 -#define CySEND_SPEC_1 735,23562 -#define CySEND_SPEC_2 736,23596 -#define CySEND_SPEC_3 737,23630 -#define CySEND_SPEC_4 738,23664 -#define CyCHAN_CTL 740,23713 -#define CyDIS_RCVR 741,23745 -#define CyENB_RCVR 742,23777 -#define CyDIS_XMTR 743,23809 -#define CyENB_XMTR 744,23841 -#define CySRER 745,23873 -#define CyMdmCh 746,23898 -#define CyRxData 747,23927 -#define CyTxRdy 748,23957 -#define CyTxMpty 749,23986 -#define CyNNDT 750,24016 -#define CyCOR1 751,24044 -#define CyPARITY_NONE 752,24069 -#define CyPARITY_0 753,24103 -#define CyPARITY_1 754,24135 -#define CyPARITY_E 755,24167 -#define CyPARITY_O 756,24199 -#define Cy_1_STOP 757,24231 -#define Cy_1_5_STOP 758,24262 -#define Cy_2_STOP 759,24294 -#define Cy_5_BITS 760,24325 -#define Cy_6_BITS 761,24356 -#define Cy_7_BITS 762,24387 -#define Cy_8_BITS 763,24418 -#define CyCOR2 764,24449 -#define CyIXM 765,24474 -#define CyTxIBE 766,24501 -#define CyETC 767,24530 -#define CyAUTO_TXFL 768,24557 -#define CyLLM 769,24589 -#define CyRLM 770,24616 -#define CyRtsAO 771,24643 -#define CyCtsAE 772,24672 -#define CyDsrAE 773,24701 -#define CyCOR3 774,24730 -#define CySPL_CH_DRANGE 775,24755 -#define CySPL_CH_DET1 776,24829 -#define CyFL_CTRL_TRNSP 778,24983 -#define CySPL_CH_DET2 779,25052 -#define CyREC_FIFO 781,25206 -#define CyCOR4 782,25268 -#define CyCOR5 783,25293 -#define CyCCSR 784,25318 -#define CyRxEN 785,25343 -#define CyRxFloff 786,25371 -#define CyRxFlon 787,25402 -#define CyTxEN 788,25432 -#define CyTxFloff 789,25460 -#define CyTxFlon 790,25491 -#define CyRDCR 791,25521 -#define CySCHR1 792,25546 -#define CySCHR2 793,25572 -#define CySCHR3 794,25598 -#define CySCHR4 795,25624 -#define CySCRL 796,25650 -#define CySCRH 797,25675 -#define CyLNC 798,25700 -#define CyMCOR1 799,25724 -#define CyMCOR2 800,25750 -#define CyRTPR 801,25776 -#define CyMSVR1 802,25801 -#define CyMSVR2 803,25827 -#define CyANY_DELTA 804,25853 -#define CyDSR 805,25885 -#define CyCTS 806,25912 -#define CyRI 807,25939 -#define CyDCD 808,25965 -#define CyDTR 809,25992 -#define CyRTS 810,26031 -#define CyPVSR 811,26070 -#define CyRBPR 812,26095 -#define CyRCOR 813,26120 -#define CyTBPR 814,26145 -#define CyTCOR 815,26170 -#define CyPLX_VER 819,26220 -#define PLX_9050 820,26247 -#define PLX_9060 821,26269 -#define PLX_9080 822,26291 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/string.h,30 -#define _LINUX_STRING_H_2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/workqueue.h,420 -#define _LINUX_WORKQUEUE_H6,85 -struct work_struct work_struct14,218 -#define __WORK_INITIALIZER(__WORK_INITIALIZER23,370 -#define DECLARE_WORK(DECLARE_WORK30,553 -#define PREPARE_WORK(PREPARE_WORK36,703 -#define INIT_WORK(INIT_WORK45,880 -#define create_workqueue(create_workqueue55,1197 -#define create_singlethread_workqueue(create_singlethread_workqueue56,1258 -static inline int cancel_delayed_work(79,2258 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coda.h,7420 -#define _CODA_HEADER_60,2118 -#define CODA_MAXSYMLINKS 71,2383 -typedef unsigned long u_long;u_long76,2477 -typedef unsigned int u_int;u_int77,2507 -typedef unsigned short u_short;u_short78,2535 -typedef u_long ino_t;ino_t79,2567 -typedef u_long dev_t;dev_t80,2589 -typedef void * caddr_t;caddr_t81,2611 -typedef unsigned __int64 u_quad_t;u_quad_t83,2646 -typedef unsigned long long u_quad_t;u_quad_t85,2688 -#define inline88,2733 -struct timespec timespec90,2749 -typedef unsigned long long u_quad_t;u_quad_t96,2881 -#define cdev_t 103,3008 -#define _UQUAD_T_ 106,3117 -typedef unsigned long long u_quad_t;u_quad_t107,3137 -typedef unsigned long long u_quad_t;u_quad_t110,3203 -#define cdev_t 113,3270 -struct timespec timespec117,3319 -#define __BIT_TYPES_DEFINED__124,3474 -typedef signed char int8_t;int8_t125,3504 -typedef unsigned char u_int8_t;u_int8_t126,3538 -typedef short int16_t;int16_t127,3574 -typedef unsigned short u_int16_t;u_int16_t128,3603 -typedef int int32_t;int32_t129,3640 -typedef unsigned int u_int32_t;u_int32_t130,3667 -#define CODA_MAXNAMLEN 137,3735 -#define CODA_MAXPATHLEN 138,3764 -#define CODA_MAXSYMLINK 139,3794 -#define C_O_READ 144,3915 -#define C_O_WRITE 145,3938 -#define C_O_TRUNC 146,3968 -#define C_O_EXCL 147,3998 -#define C_O_CREAT 148,4021 -#define C_M_READ 151,4090 -#define C_M_WRITE 152,4114 -#define C_A_C_OK 155,4171 -#define C_A_R_OK 156,4244 -#define C_A_W_OK 157,4313 -#define C_A_X_OK 158,4383 -#define C_A_F_OK 159,4455 -#define _VENUS_DIRENT_T_ 164,4546 -struct venus_dirent venus_dirent165,4573 -#define DIRSIZ(DIRSIZ173,4923 -#define CDT_UNKNOWN 179,5082 -#define CDT_FIFO 180,5105 -#define CDT_CHR 181,5125 -#define CDT_DIR 182,5145 -#define CDT_BLK 183,5165 -#define CDT_REG 184,5185 -#define CDT_LNK 185,5205 -#define CDT_SOCK 186,5225 -#define CDT_WHT 187,5245 -#define IFTOCDT(IFTOCDT192,5334 -#define CDTTOIF(CDTTOIF193,5383 -#define _VUID_T_198,5452 -typedef u_int32_t vuid_t;vuid_t199,5469 -typedef u_int32_t vgid_t;vgid_t200,5495 -struct CodaFid CodaFid204,5573 -static __inline__ ino_t coda_f2i(208,5616 -struct coda_cred coda_cred218,5914 -struct CodaFid CodaFid225,6137 -#define coda_f2i(coda_f2i229,6180 -#define _VENUS_VATTR_T_235,6329 -enum coda_vtype coda_vtype239,6397 -enum coda_vtype { C_VNON,239,6397 -enum coda_vtype { C_VNON, C_VREG,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO,239,6397 -enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD 239,6397 -struct coda_vattr coda_vattr241,6492 -struct coda_statfs coda_statfs263,7400 -#define CODA_ROOT 275,7577 -#define CODA_OPEN_BY_FD 276,7597 -#define CODA_OPEN 277,7623 -#define CODA_CLOSE 278,7643 -#define CODA_IOCTL 279,7664 -#define CODA_GETATTR 280,7685 -#define CODA_SETATTR 281,7708 -#define CODA_ACCESS 282,7731 -#define CODA_LOOKUP 283,7753 -#define CODA_CREATE 284,7776 -#define CODA_REMOVE 285,7799 -#define CODA_LINK 286,7822 -#define CODA_RENAME 287,7843 -#define CODA_MKDIR 288,7866 -#define CODA_RMDIR 289,7888 -#define CODA_SYMLINK 290,7910 -#define CODA_READLINK 291,7934 -#define CODA_FSYNC 292,7959 -#define CODA_VGET 293,7981 -#define CODA_SIGNAL 294,8002 -#define CODA_REPLACE 295,8025 -#define CODA_FLUSH 296,8065 -#define CODA_PURGEUSER 297,8108 -#define CODA_ZAPFILE 298,8151 -#define CODA_ZAPDIR 299,8194 -#define CODA_PURGEFID 300,8237 -#define CODA_OPEN_BY_PATH 301,8280 -#define CODA_RESOLVE 302,8309 -#define CODA_REINTEGRATE 303,8337 -#define CODA_STATFS 304,8365 -#define CODA_STORE 305,8389 -#define CODA_RELEASE 306,8412 -#define CODA_NCALLS 307,8437 -#define DOWNCALL(DOWNCALL309,8461 -#define VC_MAXDATASIZE 311,8539 -#define VC_MAXMSGSIZE 312,8571 -#define CIOC_KERNEL_VERSION 315,8696 -#define CODA_KERNEL_VERSION 318,8754 -#define CODA_KERNEL_VERSION 319,8829 -#define CODA_KERNEL_VERSION 322,8941 -#define CODA_KERNEL_VERSION 324,9019 -struct coda_in_hdr coda_in_hdr330,9135 -struct coda_out_hdr coda_out_hdr346,9593 -struct coda_root_out coda_root_out353,9709 -struct coda_root_in coda_root_in358,9789 -struct coda_open_in coda_open_in363,9859 -struct coda_open_out coda_open_out369,9952 -struct coda_store_in coda_store_in377,10059 -struct coda_store_out coda_store_out383,10153 -struct coda_release_in coda_release_in388,10230 -struct coda_release_out coda_release_out394,10326 -struct coda_close_in coda_close_in399,10403 -struct coda_close_out coda_close_out405,10497 -struct coda_ioctl_in coda_ioctl_in410,10572 -struct coda_ioctl_out coda_ioctl_out419,10740 -struct coda_getattr_in coda_getattr_in427,10878 -struct coda_getattr_out coda_getattr_out432,10959 -struct coda_setattr_in coda_setattr_in439,11073 -struct coda_setattr_out coda_setattr_out445,11182 -struct coda_access_in coda_access_in450,11267 -struct coda_access_out coda_access_out456,11362 -#define CLU_CASE_SENSITIVE 462,11440 -#define CLU_CASE_INSENSITIVE 463,11476 -struct coda_lookup_in coda_lookup_in466,11532 -struct coda_lookup_out coda_lookup_out473,11689 -struct coda_create_in coda_create_in481,11806 -struct coda_create_out coda_create_out490,11987 -struct coda_remove_in coda_remove_in498,12124 -struct coda_remove_out coda_remove_out504,12248 -struct coda_link_in coda_link_in509,12330 -struct coda_link_out coda_link_out516,12550 -struct coda_rename_in coda_rename_in522,12633 -struct coda_rename_out coda_rename_out530,12783 -struct coda_mkdir_in coda_mkdir_in535,12859 -struct coda_mkdir_out coda_mkdir_out542,13013 -struct coda_rmdir_in coda_rmdir_in550,13148 -struct coda_rmdir_out coda_rmdir_out556,13271 -struct coda_symlink_in coda_symlink_in561,13355 -struct coda_symlink_out coda_symlink_out569,13530 -struct coda_readlink_in coda_readlink_in574,13610 -struct coda_readlink_out coda_readlink_out579,13692 -struct coda_fsync_in coda_fsync_in587,13840 -struct coda_fsync_out coda_fsync_out592,13919 -struct coda_vget_in coda_vget_in597,13993 -struct coda_vget_out coda_vget_out602,14071 -struct coda_purgeuser_out coda_purgeuser_out615,14375 -struct coda_zapfile_out coda_zapfile_out626,14584 -struct coda_zapdir_out coda_zapdir_out633,14734 -struct coda_purgefid_out coda_purgefid_out640,14888 -struct coda_replace_out coda_replace_out647,15040 -struct coda_open_by_fd_in coda_open_by_fd_in654,15218 -struct coda_open_by_fd_out coda_open_by_fd_out660,15324 -struct coda_open_by_path_in coda_open_by_path_in670,15525 -struct coda_open_by_path_out coda_open_by_path_out676,15626 -struct coda_statfs_in coda_statfs_in682,15725 -struct coda_statfs_out coda_statfs_out686,15780 -#define CODA_NOCACHE 696,16063 -union inputArgs inputArgs698,16105 -union outputArgs outputArgs724,17068 -union coda_downcalls coda_downcalls745,17875 -#define PIOCPARM_MASK 760,18250 -struct ViceIoctl ViceIoctl761,18283 -struct PioctlData PioctlData768,18575 -#define CODA_CONTROL 774,18681 -#define CODA_CONTROLLEN 775,18714 -#define CTL_INO 776,18741 -#define CODA_MOUNT_VERSION 780,18791 -struct coda_mount_data coda_mount_data782,18821 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/blkdev.h,6243 -#define _LINUX_BLKDEV_H2,24 -typedef struct request_queue request_queue_t;request_queue_t21,443 -typedef struct elevator_s elevator_t;elevator_t23,508 -#define BLKDEV_MIN_RQ 26,572 -#define BLKDEV_MAX_RQ 27,596 -struct as_io_context as_io_context32,713 -struct io_context io_context60,1520 -struct request_list request_list79,2056 -#define BLK_MAX_CDB 85,2146 -struct request request90,2253 -enum rq_flag_bits rq_flag_bits171,4392 - __REQ_RW,172,4412 - __REQ_FAILFAST,173,4456 - __REQ_SOFTBARRIER,174,4508 - __REQ_HARDBARRIER,175,4567 - __REQ_CMD,176,4627 - __REQ_NOMERGE,177,4673 - __REQ_STARTED,178,4725 - __REQ_DONTPREP,179,4788 - __REQ_QUEUED,180,4841 - __REQ_PC,184,4912 - __REQ_BLOCK_PC,185,4955 - __REQ_SENSE,186,5011 - __REQ_FAILED,188,5048 - __REQ_QUIET,189,5096 - __REQ_SPECIAL,190,5142 - __REQ_DRIVE_CMD,191,5188 - __REQ_DRIVE_TASK,192,5206 - __REQ_DRIVE_TASKFILE,193,5225 - __REQ_PREEMPT,194,5248 - __REQ_PM_SUSPEND,195,5302 - __REQ_PM_RESUME,196,5343 - __REQ_PM_SHUTDOWN,197,5382 - __REQ_BAR_PREFLUSH,198,5425 - __REQ_BAR_POSTFLUSH,199,5475 - __REQ_NR_BITS,200,5522 -#define REQ_RW 203,5560 -#define REQ_FAILFAST 204,5592 -#define REQ_SOFTBARRIER 205,5635 -#define REQ_HARDBARRIER 206,5684 -#define REQ_CMD 207,5733 -#define REQ_NOMERGE 208,5767 -#define REQ_STARTED 209,5808 -#define REQ_DONTPREP 210,5849 -#define REQ_QUEUED 211,5892 -#define REQ_PC 212,5931 -#define REQ_BLOCK_PC 213,5963 -#define REQ_SENSE 214,6006 -#define REQ_FAILED 215,6043 -#define REQ_QUIET 216,6082 -#define REQ_SPECIAL 217,6119 -#define REQ_DRIVE_CMD 218,6160 -#define REQ_DRIVE_TASK 219,6205 -#define REQ_DRIVE_TASKFILE 220,6252 -#define REQ_PREEMPT 221,6307 -#define REQ_PM_SUSPEND 222,6348 -#define REQ_PM_RESUME 223,6395 -#define REQ_PM_SHUTDOWN 224,6440 -#define REQ_BAR_PREFLUSH 225,6489 -#define REQ_BAR_POSTFLUSH 226,6540 -struct request_pm_staterequest_pm_state232,6731 -typedef int (merge_request_fn)merge_request_fn243,6970 -typedef int (merge_requests_fn)merge_requests_fn245,7058 -typedef void (request_fn_proc)request_fn_proc247,7152 -typedef int (make_request_fn)make_request_fn248,7205 -typedef int (prep_rq_fn)prep_rq_fn249,7274 -typedef void (unplug_fn)unplug_fn250,7338 -typedef int (merge_bvec_fn)merge_bvec_fn253,7401 -typedef void (activity_fn)activity_fn254,7482 -typedef int (issue_flush_fn)issue_flush_fn255,7531 -enum blk_queue_state blk_queue_state257,7612 - Queue_down,258,7635 - Queue_up,259,7648 -#define BLK_TAGS_PER_LONG 262,7663 -#define BLK_TAGS_MASK 263,7717 -struct blk_queue_tag blk_queue_tag265,7765 -struct request_queuerequest_queue275,8140 -#define RQ_INACTIVE 369,10044 -#define RQ_ACTIVE 370,10070 -#define RQ_SCSI_BUSY 371,10091 -#define RQ_SCSI_DONE 372,10120 -#define RQ_SCSI_DISCONNECTING 373,10149 -#define QUEUE_FLAG_CLUSTER 375,10187 -#define QUEUE_FLAG_QUEUED 376,10254 -#define QUEUE_FLAG_STOPPED 377,10314 -#define QUEUE_FLAG_READFULL 378,10366 -#define QUEUE_FLAG_WRITEFULL 379,10430 -#define QUEUE_FLAG_DEAD 380,10494 -#define QUEUE_FLAG_REENTER 381,10549 -#define QUEUE_FLAG_PLUGGED 382,10606 -#define QUEUE_FLAG_ORDERED 383,10658 -#define blk_queue_plugged(blk_queue_plugged385,10718 -#define blk_queue_tagged(blk_queue_tagged386,10795 -#define blk_queue_stopped(blk_queue_stopped387,10870 -#define blk_fs_request(blk_fs_request389,10948 -#define blk_pc_request(blk_pc_request390,10999 -#define blk_noretry_request(blk_noretry_request391,11055 -#define blk_rq_started(blk_rq_started392,11116 -#define blk_account_rq(blk_account_rq394,11172 -#define blk_pm_suspend_request(blk_pm_suspend_request396,11243 -#define blk_pm_resume_request(blk_pm_resume_request397,11309 -#define blk_pm_request(blk_pm_request398,11373 -#define blk_barrier_rq(blk_barrier_rq401,11453 -#define blk_barrier_preflush(blk_barrier_preflush402,11512 -#define blk_barrier_postflush(blk_barrier_postflush403,11578 -#define list_entry_rq(list_entry_rq405,11647 -#define rq_data_dir(rq_data_dir407,11720 -static inline int blk_queue_full(409,11764 -static inline void blk_set_queue_full(416,11966 -static inline void blk_clear_queue_full(424,12164 -#define RQ_NOMERGE_FLAGS 437,12485 -#define rq_mergeable(rq_mergeable439,12577 -#define blk_queue_headactive(blk_queue_headactive446,12779 -#define blk_rq_idx(blk_rq_idx449,12885 -#define blk_rq_vec(blk_rq_vec452,12997 -#define blk_rq_offset(blk_rq_offset455,13139 -static inline char * rq_map_buffer(463,13344 -static inline void rq_unmap_buffer(469,13507 -#define BLKPREP_OK 477,13655 -#define BLKPREP_KILL 478,13692 -#define BLKPREP_DEFER 479,13740 -#define BLK_BOUNCE_HIGH 490,14023 -#define BLK_BOUNCE_ANY 491,14085 -#define BLK_BOUNCE_ISA 492,14142 -static inline int init_emergency_isa_pool(498,14321 -static inline void blk_queue_bounce(502,14384 -#define rq_for_each_bio(rq_for_each_bio507,14487 -struct sec_size sec_size511,14597 -static inline request_queue_t *bdev_get_queue(542,16277 -static inline void blk_run_backing_dev(547,16385 -static inline void blk_run_address_space(554,16552 -#define end_io_error(end_io_error581,17630 -static inline void blkdev_dequeue_request(583,17690 -#define blk_put_queue(blk_put_queue623,19582 -#define blk_queue_tag_depth(blk_queue_tag_depth628,19651 -#define blk_queue_tag_queue(blk_queue_tag_queue629,19707 -#define blk_rq_tagged(blk_rq_tagged630,19792 -#define MAX_PHYS_SEGMENTS 644,20552 -#define MAX_HW_SEGMENTS 645,20582 -#define MAX_SECTORS 646,20610 -#define MAX_SEGMENT_SIZE 648,20635 -#define blkdev_entry_to_request(blkdev_entry_to_request650,20667 -static inline int queue_hardsect_size(654,20812 -static inline int bdev_hardsect_size(664,20969 -static inline int queue_dma_alignment(669,21089 -static inline int bdev_dma_aligment(679,21246 -#define blk_finished_io(blk_finished_io684,21365 -#define blk_started_io(blk_started_io685,21414 -static inline unsigned int blksize_bits(688,21488 -extern inline unsigned int block_size(698,21643 -typedef struct {struct page *v;} Sector;Sector703,21742 -static inline void put_dev_sector(707,21860 -# define sector_div(sector_div718,22077 -# define sector_div(sector_div720,22122 -#define MODULE_ALIAS_BLOCKDEV(MODULE_ALIAS_BLOCKDEV730,22228 -#define MODULE_ALIAS_BLOCKDEV_MAJOR(MODULE_ALIAS_BLOCKDEV_MAJOR732,22345 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tcp.h,3259 -#define _LINUX_TCP_H18,631 -struct tcphdr tcphdr23,706 - TCP_ESTABLISHED 60,1165 - TCP_SYN_SENT,61,1188 - TCP_SYN_RECV,62,1204 - TCP_FIN_WAIT1,63,1220 - TCP_FIN_WAIT2,64,1237 - TCP_TIME_WAIT,65,1254 - TCP_CLOSE,66,1271 - TCP_CLOSE_WAIT,67,1284 - TCP_LAST_ACK,68,1302 - TCP_LISTEN,69,1318 - TCP_CLOSING,70,1332 - TCP_MAX_STATES 72,1373 -#define TCP_STATE_MASK 75,1418 -#define TCP_ACTION_FIN 76,1445 - TCPF_ESTABLISHED 79,1485 - TCPF_SYN_SENT 80,1516 - TCPF_SYN_RECV 81,1545 - TCPF_FIN_WAIT1 82,1574 - TCPF_FIN_WAIT2 83,1603 - TCPF_TIME_WAIT 84,1632 - TCPF_CLOSE 85,1661 - TCPF_CLOSE_WAIT 86,1690 - TCPF_LAST_ACK 87,1720 - TCPF_LISTEN 88,1749 - TCPF_CLOSING 89,1779 -union tcp_word_hdr tcp_word_hdr97,2002 -#define tcp_flag_word(tcp_flag_word102,2070 - TCP_FLAG_CWR 105,2149 - TCP_FLAG_CWR = __constant_htonl(105,2149 - TCP_FLAG_CWR = __constant_htonl(0x00800000)105,2149 - TCP_FLAG_ECE 106,2196 - TCP_FLAG_ECE = __constant_htonl(106,2196 - TCP_FLAG_ECE = __constant_htonl(0x00400000)106,2196 - TCP_FLAG_URG 107,2243 - TCP_FLAG_URG = __constant_htonl(107,2243 - TCP_FLAG_URG = __constant_htonl(0x00200000)107,2243 - TCP_FLAG_ACK 108,2290 - TCP_FLAG_ACK = __constant_htonl(108,2290 - TCP_FLAG_ACK = __constant_htonl(0x00100000)108,2290 - TCP_FLAG_PSH 109,2337 - TCP_FLAG_PSH = __constant_htonl(109,2337 - TCP_FLAG_PSH = __constant_htonl(0x00080000)109,2337 - TCP_FLAG_RST 110,2384 - TCP_FLAG_RST = __constant_htonl(110,2384 - TCP_FLAG_RST = __constant_htonl(0x00040000)110,2384 - TCP_FLAG_SYN 111,2431 - TCP_FLAG_SYN = __constant_htonl(111,2431 - TCP_FLAG_SYN = __constant_htonl(0x00020000)111,2431 - TCP_FLAG_FIN 112,2478 - TCP_FLAG_FIN = __constant_htonl(112,2478 - TCP_FLAG_FIN = __constant_htonl(0x00010000)112,2478 - TCP_RESERVED_BITS 113,2524 - TCP_RESERVED_BITS = __constant_htonl(113,2524 - TCP_RESERVED_BITS = __constant_htonl(0x0F000000)113,2524 - TCP_DATA_OFFSET 114,2575 - TCP_DATA_OFFSET = __constant_htonl(114,2575 - TCP_DATA_OFFSET = __constant_htonl(0xF0000000)114,2575 -#define TCP_NODELAY 118,2653 -#define TCP_MAXSEG 119,2710 -#define TCP_CORK 120,2748 -#define TCP_KEEPIDLE 121,2813 -#define TCP_KEEPINTVL 122,2877 -#define TCP_KEEPCNT 123,2936 -#define TCP_SYNCNT 124,2999 -#define TCP_LINGER2 125,3053 -#define TCP_DEFER_ACCEPT 126,3121 -#define TCP_WINDOW_CLAMP 127,3193 -#define TCP_INFO 128,3251 -#define TCP_QUICKACK 129,3313 -#define TCPI_OPT_TIMESTAMPS 131,3371 -#define TCPI_OPT_SACK 132,3401 -#define TCPI_OPT_WSCALE 133,3426 -#define TCPI_OPT_ECN 134,3453 -enum tcp_ca_statetcp_ca_state136,3478 - TCP_CA_Open 138,3498 -#define TCPF_CA_Open 139,3516 - TCP_CA_Disorder 140,3554 -#define TCPF_CA_Disorder 141,3576 - TCP_CA_CWR 142,3622 -#define TCPF_CA_CWR 143,3639 - TCP_CA_Recovery 144,3675 -#define TCPF_CA_Recovery 145,3697 - TCP_CA_Loss 146,3743 -#define TCPF_CA_Loss 147,3760 -struct tcp_infotcp_info150,3802 -struct tcp_sack_block tcp_sack_block199,4736 -typedef struct tcp_pcount tcp_pcount204,4798 -} tcp_pcount_t;tcp_pcount_t206,4838 -enum tcp_congestion_algo tcp_congestion_algo208,4855 - TCP_RENO=209,4882 - TCP_VEGAS,210,4895 - TCP_WESTWOOD,211,4907 - TCP_BIC,212,4922 -struct tcp_opt tcp_opt215,4936 -struct tcp_sock tcp_sock438,13673 -static inline struct tcp_opt * tcp_sk(447,13853 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/inet.h,30 -#define _LINUX_INET_H43,2204 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/generic_serial.h,410 -#define GENERIC_SERIAL_H13,258 -struct real_driver real_driver15,284 -struct gs_port gs_port31,923 -#define GS_TX_INTEN 59,1893 -#define GS_RX_INTEN 60,1929 -#define GS_ACTIVE 61,1965 -#define GS_TYPE_NORMAL 65,2004 -#define GS_DEBUG_FLUSH 67,2032 -#define GS_DEBUG_BTR 68,2068 -#define GS_DEBUG_TERMIOS 69,2104 -#define GS_DEBUG_STUFF 70,2140 -#define GS_DEBUG_CLOSE 71,2176 -#define GS_DEBUG_FLOW 72,2212 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ethtool.h,3840 -#define _LINUX_ETHTOOL_H13,427 -struct ethtool_cmd ethtool_cmd17,510 -#define ETHTOOL_BUSINFO_LEN 32,1039 -struct ethtool_drvinfo ethtool_drvinfo34,1139 -#define SOPASS_MAX 49,1716 -struct ethtool_wolinfo ethtool_wolinfo51,1764 -struct ethtool_value ethtool_value59,1917 -struct ethtool_regs ethtool_regs65,2002 -struct ethtool_eeprom ethtool_eeprom73,2173 -struct ethtool_coalesce ethtool_coalesce82,2341 -struct ethtool_ringparam ethtool_ringparam178,5355 -struct ethtool_pauseparam ethtool_pauseparam200,5918 -#define ETH_GSTRING_LEN 218,6470 -enum ethtool_stringset ethtool_stringset219,6498 - ETH_SS_TEST 220,6523 - ETH_SS_STATS,221,6542 -struct ethtool_gstrings ethtool_gstrings225,6608 -enum ethtool_test_flags ethtool_test_flags232,6796 - ETH_TEST_FL_OFFLINE 233,6822 - ETH_TEST_FL_FAILED 234,6878 -struct ethtool_test ethtool_test238,6990 -struct ethtool_stats ethtool_stats247,7210 -struct ethtool_ops ethtool_ops319,10025 -#define ETHTOOL_GSET 359,12080 -#define ETHTOOL_SSET 360,12133 -#define ETHTOOL_GDRVINFO 361,12186 -#define ETHTOOL_GREGS 362,12245 -#define ETHTOOL_GWOL 363,12304 -#define ETHTOOL_SWOL 364,12368 -#define ETHTOOL_GMSGLVL 365,12432 -#define ETHTOOL_SMSGLVL 366,12499 -#define ETHTOOL_NWAY_RST 367,12563 -#define ETHTOOL_GLINK 368,12630 -#define ETHTOOL_GEEPROM 369,12702 -#define ETHTOOL_SEEPROM 370,12760 -#define ETHTOOL_GCOALESCE 371,12819 -#define ETHTOOL_SCOALESCE 372,12882 -#define ETHTOOL_GRINGPARAM 373,12946 -#define ETHTOOL_SRINGPARAM 374,13010 -#define ETHTOOL_GPAUSEPARAM 375,13075 -#define ETHTOOL_SPAUSEPARAM 376,13141 -#define ETHTOOL_GRXCSUM 377,13208 -#define ETHTOOL_SRXCSUM 378,13288 -#define ETHTOOL_GTXCSUM 379,13368 -#define ETHTOOL_STXCSUM 380,13448 -#define ETHTOOL_GSG 381,13528 -#define ETHTOOL_SSG 383,13619 -#define ETHTOOL_TEST 385,13711 -#define ETHTOOL_GSTRINGS 386,13773 -#define ETHTOOL_PHYS_ID 387,13840 -#define ETHTOOL_GSTATS 388,13899 -#define ETHTOOL_GTSO 389,13968 -#define ETHTOOL_STSO 390,14038 -#define SPARC_ETH_GSET 393,14145 -#define SPARC_ETH_SSET 394,14182 -#define SUPPORTED_10baseT_Half 397,14282 -#define SUPPORTED_10baseT_Full 398,14323 -#define SUPPORTED_100baseT_Half 399,14364 -#define SUPPORTED_100baseT_Full 400,14406 -#define SUPPORTED_1000baseT_Half 401,14448 -#define SUPPORTED_1000baseT_Full 402,14490 -#define SUPPORTED_Autoneg 403,14532 -#define SUPPORTED_TP 404,14568 -#define SUPPORTED_AUI 405,14600 -#define SUPPORTED_MII 406,14633 -#define SUPPORTED_FIBRE 407,14666 -#define SUPPORTED_BNC 408,14702 -#define SUPPORTED_10000baseT_Full 409,14736 -#define ADVERTISED_10baseT_Half 412,14844 -#define ADVERTISED_10baseT_Full 413,14886 -#define ADVERTISED_100baseT_Half 414,14928 -#define ADVERTISED_100baseT_Full 415,14970 -#define ADVERTISED_1000baseT_Half 416,15012 -#define ADVERTISED_1000baseT_Full 417,15055 -#define ADVERTISED_Autoneg 418,15098 -#define ADVERTISED_TP 419,15135 -#define ADVERTISED_AUI 420,15168 -#define ADVERTISED_MII 421,15202 -#define ADVERTISED_FIBRE 422,15236 -#define ADVERTISED_BNC 423,15272 -#define ADVERTISED_10000baseT_Full 424,15307 -#define SPEED_10 433,15653 -#define SPEED_100 434,15674 -#define SPEED_1000 435,15697 -#define SPEED_10000 436,15722 -#define DUPLEX_HALF 439,15778 -#define DUPLEX_FULL 440,15804 -#define PORT_TP 443,15859 -#define PORT_AUI 444,15882 -#define PORT_MII 445,15905 -#define PORT_FIBRE 446,15928 -#define PORT_BNC 447,15953 -#define XCVR_INTERNAL 450,16009 -#define XCVR_EXTERNAL 451,16037 -#define XCVR_DUMMY1 452,16065 -#define XCVR_DUMMY2 453,16091 -#define XCVR_DUMMY3 454,16117 -#define AUTONEG_DISABLE 459,16268 -#define AUTONEG_ENABLE 460,16298 -#define WAKE_PHY 463,16355 -#define WAKE_UCAST 464,16382 -#define WAKE_MCAST 465,16411 -#define WAKE_BCAST 466,16440 -#define WAKE_ARP 467,16469 -#define WAKE_MAGIC 468,16496 -#define WAKE_MAGICSECURE 469,16525 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/page-flags.h,4559 -#define PAGE_FLAGS_H6,80 -#define PG_locked 54,2080 -#define PG_error 55,2138 -#define PG_referenced 56,2159 -#define PG_uptodate 57,2185 -#define PG_dirty 59,2210 -#define PG_lru 60,2232 -#define PG_active 61,2252 -#define PG_slab 62,2274 -#define PG_highmem 64,2334 -#define PG_checked 65,2357 -#define PG_arch_1 66,2410 -#define PG_reserved 67,2432 -#define PG_private 69,2457 -#define PG_writeback 70,2513 -#define PG_nosave 71,2568 -#define PG_compound 72,2627 -#define PG_swapcache 74,2682 -#define PG_mappedtodisk 75,2747 -#define PG_reclaim 76,2810 -struct page_state page_state83,2956 -#define GET_PAGE_STATE_LAST 90,3301 -#define read_page_state(read_page_state141,5203 -#define mod_page_state(mod_page_state144,5294 -#define inc_page_state(inc_page_state153,5512 -#define dec_page_state(dec_page_state154,5571 -#define add_page_state(add_page_state155,5634 -#define sub_page_state(sub_page_state156,5703 -#define mod_page_state_zone(mod_page_state_zone158,5779 -#define PageLocked(PageLocked174,6247 -#define SetPageLocked(SetPageLocked176,6313 -#define TestSetPageLocked(TestSetPageLocked178,6381 -#define ClearPageLocked(ClearPageLocked180,6462 -#define TestClearPageLocked(TestClearPageLocked182,6534 -#define PageError(PageError185,6619 -#define SetPageError(SetPageError186,6679 -#define ClearPageError(ClearPageError187,6740 -#define PageReferenced(PageReferenced189,6806 -#define SetPageReferenced(SetPageReferenced190,6875 -#define ClearPageReferenced(ClearPageReferenced191,6946 -#define TestClearPageReferenced(TestClearPageReferenced192,7021 -#define PageUptodate(PageUptodate194,7110 -#define SetPageUptodate(SetPageUptodate196,7199 -#define ClearPageUptodate(ClearPageUptodate198,7273 -#define PageDirty(PageDirty200,7345 -#define SetPageDirty(SetPageDirty201,7405 -#define TestSetPageDirty(TestSetPageDirty202,7466 -#define ClearPageDirty(ClearPageDirty203,7540 -#define TestClearPageDirty(TestClearPageDirty204,7605 -#define SetPageLRU(SetPageLRU206,7684 -#define PageLRU(PageLRU207,7741 -#define TestSetPageLRU(TestSetPageLRU208,7797 -#define TestClearPageLRU(TestClearPageLRU209,7867 -#define PageActive(PageActive211,7942 -#define SetPageActive(SetPageActive212,8003 -#define ClearPageActive(ClearPageActive213,8066 -#define TestClearPageActive(TestClearPageActive214,8133 -#define TestSetPageActive(TestSetPageActive215,8213 -#define PageSlab(PageSlab217,8290 -#define SetPageSlab(SetPageSlab218,8348 -#define ClearPageSlab(ClearPageSlab219,8407 -#define TestClearPageSlab(TestClearPageSlab220,8470 -#define TestSetPageSlab(TestSetPageSlab221,8546 -#define PageHighMem(PageHighMem224,8641 -#define PageHighMem(PageHighMem226,8710 -#define PageChecked(PageChecked229,8792 -#define SetPageChecked(SetPageChecked230,8855 -#define ClearPageChecked(ClearPageChecked231,8920 -#define PageReserved(PageReserved233,8990 -#define SetPageReserved(SetPageReserved234,9055 -#define ClearPageReserved(ClearPageReserved235,9122 -#define __ClearPageReserved(__ClearPageReserved236,9193 -#define SetPagePrivate(SetPagePrivate238,9269 -#define ClearPagePrivate(ClearPagePrivate239,9334 -#define PagePrivate(PagePrivate240,9403 -#define PageWriteback(PageWriteback242,9467 -#define SetPageWriteback(SetPageWriteback243,9534 -#define TestSetPageWriteback(TestSetPageWriteback249,9704 -#define ClearPageWriteback(ClearPageWriteback258,9919 -#define TestClearPageWriteback(TestClearPageWriteback264,10091 -#define PageNosave(PageNosave274,10310 -#define SetPageNosave(SetPageNosave275,10371 -#define TestSetPageNosave(TestSetPageNosave276,10434 -#define ClearPageNosave(ClearPageNosave277,10510 -#define TestClearPageNosave(TestClearPageNosave278,10578 -#define PageMappedToDisk(PageMappedToDisk280,10659 -#define SetPageMappedToDisk(SetPageMappedToDisk281,10732 -#define ClearPageMappedToDisk(ClearPageMappedToDisk282,10807 -#define PageReclaim(PageReclaim284,10887 -#define SetPageReclaim(SetPageReclaim285,10950 -#define ClearPageReclaim(ClearPageReclaim286,11015 -#define TestClearPageReclaim(TestClearPageReclaim287,11084 -#define PageCompound(PageCompound289,11167 -#define SetPageCompound(SetPageCompound290,11232 -#define ClearPageCompound(ClearPageCompound291,11299 -#define PageSwapCache(PageSwapCache294,11390 -#define SetPageSwapCache(SetPageSwapCache295,11457 -#define ClearPageSwapCache(ClearPageSwapCache296,11526 -#define PageSwapCache(PageSwapCache298,11605 -static inline void clear_page_dirty(308,11871 -static inline void set_page_writeback(313,11961 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/gss_asn1.h,600 -#define SIZEOF_INT 43,1614 -#define G_BAD_SERVICE_NAME 46,1668 -#define G_BAD_STRING_UID 47,1732 -#define G_NOUSER 48,1796 -#define G_VALIDATE_FAILED 49,1860 -#define G_BUFFER_ALLOC 50,1924 -#define G_BAD_MSG_CTX 51,1988 -#define G_WRONG_SIZE 52,2052 -#define G_BAD_USAGE 53,2116 -#define G_UNKNOWN_QOP 54,2180 -#define G_NO_HOSTNAME 55,2244 -#define G_BAD_HOSTNAME 56,2308 -#define G_WRONG_MECH 57,2372 -#define G_BAD_TOK_HEADER 58,2436 -#define G_BAD_DIRECTION 59,2500 -#define G_TOK_TRUNC 60,2564 -#define G_REFLECT 61,2628 -#define G_WRONG_TOKID 62,2692 -#define g_OID_equal(g_OID_equal64,2757 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/cache.h,731 -#define _LINUX_SUNRPC_CACHE_H_14,293 -struct cache_head cache_head48,1462 -#define CACHE_VALID 57,1749 -#define CACHE_NEGATIVE 58,1803 -#define CACHE_PENDING 59,1881 -#define CACHE_HASHED 60,1960 -#define CACHE_NEW_EXPIRY 62,2015 -struct cache_detail cache_detail64,2104 -struct cache_req cache_req110,3460 -struct cache_deferred_req cache_deferred_req116,3639 -#define DefineCacheLookup(DefineCacheLookup169,6057 -#define DefineSimpleCacheLookup(DefineSimpleCacheLookup245,8666 -#define cache_for_each(cache_for_each250,8959 -static inline struct cache_head *cache_get(264,9553 -static inline int cache_put(271,9661 -#define NEVER 292,10335 -static inline int get_int(302,10758 -static inline time_t get_expiry(316,11029 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/xdr.h,1128 -#define _SUNRPC_XDR_H_8,122 -#define XDR_QUADLEN(XDR_QUADLEN18,244 -#define XDR_MAX_NETOBJ 24,386 -struct xdr_netobj xdr_netobj25,415 -typedef int (*kxdrproc_t)kxdrproc_t35,665 -struct xdr_buf xdr_buf50,1341 -#define xdr_zero 67,1743 -#define xdr_one 68,1780 -#define xdr_two 69,1817 -#define rpc_success 71,1855 -#define rpc_prog_unavail 72,1906 -#define rpc_prog_mismatch 73,1966 -#define rpc_proc_unavail 74,2028 -#define rpc_garbage_args 75,2088 -#define rpc_system_err 76,2148 -#define rpc_auth_ok 78,2206 -#define rpc_autherr_badcred 79,2257 -#define rpc_autherr_rejectedcred 80,2320 -#define rpc_autherr_badverf 81,2393 -#define rpc_autherr_rejectedverf 82,2456 -#define rpc_autherr_tooweak 83,2529 -#define rpcsec_gsserr_credproblem 84,2592 -#define rpcsec_gsserr_ctxproblem 85,2667 -#define rpc_autherr_oldseqnum 86,2740 -static inline u32 *xdr_encode_array(105,3546 -xdr_encode_hyper(114,3736 -xdr_decode_hyper(122,3867 -xdr_adjust_iovec(133,4070 -#define MAX_IOVEC 143,4269 -} skb_reader_t;skb_reader_t165,5023 -typedef size_t (*skb_read_actor_t)skb_read_actor_t167,5040 -struct xdr_stream xdr_stream180,5440 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/auth_gss.h,705 -#define _LINUX_SUNRPC_AUTH_GSS_H15,291 -#define RPC_GSS_VERSION 22,439 -#define MAXSEQ 24,467 -enum rpc_gss_proc rpc_gss_proc26,545 - RPC_GSS_PROC_DATA 27,565 - RPC_GSS_PROC_INIT 28,589 - RPC_GSS_PROC_CONTINUE_INIT 29,613 - RPC_GSS_PROC_DESTROY 30,646 -enum rpc_gss_svc rpc_gss_svc33,676 - RPC_GSS_SVC_NONE 34,695 - RPC_GSS_SVC_INTEGRITY 35,718 - RPC_GSS_SVC_PRIVACY 36,746 -struct rpc_gss_wire_cred rpc_gss_wire_cred40,803 -struct rpc_gss_wire_verf rpc_gss_wire_verf49,1051 -struct rpc_gss_init_res rpc_gss_init_res55,1177 -struct gss_cl_ctx gss_cl_ctx69,1754 -struct gss_cred gss_cred79,1930 -#define gc_uid 85,2025 -#define gc_count 86,2057 -#define gc_flags 87,2092 -#define gc_expire 88,2127 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/xprt.h,1250 -#define _LINUX_SUNRPC_XPRT_H10,196 -#define RPC_MIN_SLOT_TABLE 35,1078 -#define RPC_DEF_SLOT_TABLE 36,1110 -#define RPC_MAX_SLOT_TABLE 37,1143 -#define RPC_CWNDSHIFT 39,1178 -#define RPC_CWNDSCALE 40,1206 -#define RPC_INITCWND 41,1251 -#define RPC_MAXCWND(RPC_MAXCWND42,1287 -#define RPCXPRT_CONGESTED(RPCXPRT_CONGESTED43,1349 -#define RPC_MAX_UDP_TIMEOUT 46,1442 -#define RPC_MAX_TCP_TIMEOUT 47,1478 -#define RPC_CONNECT_TIMEOUT 54,1700 -#define RPC_REESTABLISH_TIMEOUT 60,1834 -#define RPC_CALLHDRSIZE 65,1977 -#define RPC_REPHDRSIZE 66,2004 -struct rpc_timeout rpc_timeout71,2075 -struct rpc_rqst rpc_rqst82,2357 -#define rq_svec 121,3338 -#define rq_slen 122,3372 -#define XPRT_LAST_FRAG 124,3406 -#define XPRT_COPY_RECM 125,3439 -#define XPRT_COPY_XID 126,3472 -#define XPRT_COPY_DATA 127,3504 -struct rpc_xprt rpc_xprt129,3538 -#define XPRT_LOCKED 219,6220 -#define XPRT_CONNECT 220,6242 -#define XPRT_CONNECTING 221,6265 -#define xprt_connected(xprt_connected223,6292 -#define xprt_set_connected(xprt_set_connected224,6363 -#define xprt_test_and_set_connected(xprt_test_and_set_connected225,6437 -#define xprt_test_and_clear_connected(xprt_test_and_clear_connected226,6528 -#define xprt_clear_connected(xprt_clear_connected228,6630 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/gss_api.h,312 -#define _LINUX_SUNRPC_GSS_API_H15,305 -struct gss_ctx gss_ctx22,459 -#define GSS_C_NO_BUFFER 27,539 -#define GSS_C_NO_CONTEXT 28,588 -#define GSS_C_NULL_OID 29,636 -#define GSS_OID_MAX_LEN 32,737 -struct pf_desc pf_desc58,1581 -struct gss_api_mech gss_api_mech70,1891 -struct gss_api_ops gss_api_ops82,2188 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/svcauth_gss.h,43 -#define _LINUX_SUNRPC_SVCAUTH_GSS_H12,198 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/gss_spkm3.h,332 -struct spkm3_ctx spkm3_ctx14,291 -#define NID_md5 31,789 -#define NID_dhKeyAgreement 32,808 -#define NID_des_cbc 33,839 -#define NID_sha1 34,864 -#define NID_cast5_cbc 35,885 -#define SPKM_ERROR_TOK 39,950 -#define SPKM_MIC_TOK 40,975 -#define SPKM_WRAP_TOK 41,998 -#define SPKM_DEL_TOK 42,1022 -#define CKSUMTYPE_RSA_MD5 48,1306 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/gss_krb5.h,1987 -struct krb5_ctx krb5_ctx43,1664 -#define KG_TOK_MIC_MSG 56,1928 -#define KG_TOK_WRAP_MSG 57,1961 -enum sgn_alg sgn_alg59,1995 - SGN_ALG_DES_MAC_MD5 60,2010 - SGN_ALG_DES_MAC_MD5 = 0x0000,60,2010 - SGN_ALG_MD2_5 61,2041 - SGN_ALG_MD2_5 = 0x0001,61,2041 - SGN_ALG_DES_MAC 62,2066 - SGN_ALG_DES_MAC = 0x0002,62,2066 - SGN_ALG_3 63,2093 - SGN_ALG_3 = 0x0003,63,2093 - SGN_ALG_HMAC_MD5 64,2135 - SGN_ALG_HMAC_MD5 = 0x0011,64,2135 - SGN_ALG_HMAC_SHA1_DES3_KD 65,2195 - SGN_ALG_HMAC_SHA1_DES3_KD = 0x000465,2195 -enum seal_alg seal_alg67,2234 - SEAL_ALG_NONE 68,2250 - SEAL_ALG_NONE = 0xffff,68,2250 - SEAL_ALG_DES 69,2275 - SEAL_ALG_DES = 0x0000,69,2275 - SEAL_ALG_1 70,2299 - SEAL_ALG_1 = 0x0001,70,2299 - SEAL_ALG_MICROSOFT_RC4 71,2342 - SEAL_ALG_MICROSOFT_RC4 = 0x0010,71,2342 - SEAL_ALG_DES3KD 72,2407 - SEAL_ALG_DES3KD = 0x000272,2407 -#define KRB5_CKSUM_LENGTH 75,2437 -#define CKSUMTYPE_CRC32 77,2466 -#define CKSUMTYPE_RSA_MD4 78,2499 -#define CKSUMTYPE_RSA_MD4_DES 79,2533 -#define CKSUMTYPE_DESCBC 80,2571 -#define CKSUMTYPE_RSA_MD5 81,2604 -#define CKSUMTYPE_RSA_MD5_DES 82,2638 -#define CKSUMTYPE_NIST_SHA 83,2676 -#define CKSUMTYPE_HMAC_SHA1_DES3 84,2711 -#define KG_CCACHE_NOMATCH 87,2781 -#define KG_KEYTAB_NOMATCH 88,2842 -#define KG_TGT_MISSING 89,2903 -#define KG_NO_SUBKEY 90,2964 -#define KG_CONTEXT_ESTABLISHED 91,3025 -#define KG_BAD_SIGN_TYPE 92,3086 -#define KG_BAD_LENGTH 93,3147 -#define KG_CTX_INCOMPLETE 94,3208 -#define KG_CONTEXT 95,3269 -#define KG_CRED 96,3330 -#define KG_ENC_DESC 97,3391 -#define KG_BAD_SEQ 98,3452 -#define KG_EMPTY_CCACHE 99,3513 -#define KG_NO_CTYPES 100,3574 -#define ENCTYPE_NULL 105,3757 -#define ENCTYPE_DES_CBC_CRC 106,3796 -#define ENCTYPE_DES_CBC_MD4 107,3866 -#define ENCTYPE_DES_CBC_MD5 108,3937 -#define ENCTYPE_DES_CBC_RAW 109,4008 -#define ENCTYPE_DES3_CBC_SHA 111,4092 -#define ENCTYPE_DES3_CBC_RAW 112,4166 -#define ENCTYPE_DES_HMAC_SHA1 113,4230 -#define ENCTYPE_DES3_CBC_SHA1 114,4269 -#define ENCTYPE_UNKNOWN 115,4308 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/clnt.h,503 -#define _LINUX_SUNRPC_CLNT_H10,199 -struct rpc_portmap rpc_portmap24,520 -struct rpc_clnt rpc_clnt38,794 -#define cl_timeout 70,1971 -#define cl_prog 71,2008 -#define cl_vers 72,2043 -#define cl_port 73,2078 -#define cl_prot 74,2113 -#define RPC_MAXVERSION 79,2184 -struct rpc_program rpc_program80,2210 -struct rpc_version rpc_version89,2508 -struct rpc_procinfo rpc_procinfo98,2701 -#define RPC_CONGESTED(RPC_CONGESTED107,3010 -#define RPC_PEERADDR(RPC_PEERADDR108,3075 -int rpc_call(134,4148 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/auth.h,578 -#define _LINUX_SUNRPC_AUTH_H10,195 -#define UNX_MAXNODENAME 22,427 -#define RPC_MAX_AUTH_SIZE 25,518 -struct auth_cred auth_cred28,598 -struct rpc_cred rpc_cred37,711 -#define RPCAUTH_CRED_LOCKED 52,1071 -#define RPCAUTH_CRED_UPTODATE 53,1106 -#define RPCAUTH_CRED_DEAD 54,1143 -#define RPCAUTH_CRED_MAGIC 56,1177 -#define RPC_CREDCACHE_NR 61,1255 -#define RPC_CREDCACHE_MASK 62,1282 -struct rpc_auth rpc_auth63,1332 -#define RPC_AUTH_PROC_CREDS 79,1929 -struct rpc_authops rpc_authops86,2074 -struct rpc_credops rpc_credops98,2403 -struct rpc_cred * get_rpccred(141,4197 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/sched.h,2112 -#define _LINUX_SUNRPC_SCHED_H_10,182 -struct rpc_message rpc_message21,401 -struct rpc_task rpc_task31,641 -#define tk_auth 84,2416 -#define tk_xprt 85,2453 -#define task_for_each(task_for_each88,2545 -#define task_for_first(task_for_first92,2673 -#define alltask_for_each(alltask_for_each97,2847 -typedef void (*rpc_action)rpc_action101,2978 -#define RPC_TASK_ASYNC 106,3053 -#define RPC_TASK_SWAPPER 107,3108 -#define RPC_TASK_SETUID 108,3166 -#define RPC_TASK_CHILD 109,3223 -#define RPC_CALL_REALUID 110,3284 -#define RPC_CALL_MAJORSEEN 111,3342 -#define RPC_TASK_ROOTCREDS 112,3402 -#define RPC_TASK_DYNAMIC 113,3460 -#define RPC_TASK_KILLED 114,3519 -#define RPC_TASK_SOFT 115,3574 -#define RPC_TASK_NOINTR 116,3629 -#define RPC_IS_ASYNC(RPC_IS_ASYNC118,3690 -#define RPC_IS_SETUID(RPC_IS_SETUID119,3748 -#define RPC_IS_CHILD(RPC_IS_CHILD120,3807 -#define RPC_IS_SWAPPER(RPC_IS_SWAPPER121,3865 -#define RPC_DO_ROOTOVERRIDE(RPC_DO_ROOTOVERRIDE122,3926 -#define RPC_ASSASSINATED(RPC_ASSASSINATED123,3994 -#define RPC_IS_ACTIVATED(RPC_IS_ACTIVATED124,4056 -#define RPC_DO_CALLBACK(RPC_DO_CALLBACK125,4101 -#define RPC_IS_SOFT(RPC_IS_SOFT126,4155 -#define RPC_TASK_UNINTERRUPTIBLE(RPC_TASK_UNINTERRUPTIBLE127,4211 -#define RPC_TASK_SLEEPING 129,4282 -#define RPC_TASK_RUNNING 130,4310 -#define RPC_IS_SLEEPING(RPC_IS_SLEEPING131,4337 -#define RPC_IS_RUNNING(RPC_IS_RUNNING132,4413 -#define rpc_set_running(rpc_set_running134,4488 -#define rpc_clear_running(rpc_clear_running135,4562 -#define rpc_set_sleeping(rpc_set_sleeping137,4641 -#define rpc_clear_sleeping(rpc_clear_sleeping139,4718 -#define RPC_PRIORITY_LOW 151,5011 -#define RPC_PRIORITY_NORMAL 152,5038 -#define RPC_PRIORITY_HIGH 153,5068 -#define RPC_NR_PRIORITY 154,5096 -struct rpc_wait_queue rpc_wait_queue159,5182 -#define RPC_BATCH_COUNT 176,5823 -# define RPC_WAITQ_INIT(RPC_WAITQ_INIT179,5871 -# define RPC_WAITQ_INIT(RPC_WAITQ_INIT187,6064 -# define RPC_WAITQ(RPC_WAITQ196,6277 -#define RPC_IS_PRIORITY(RPC_IS_PRIORITY198,6367 -static inline void rpc_exit(235,7854 -static inline const char * rpc_qname(242,7991 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/msg_prot.h,1452 -#define _LINUX_SUNRPC_MSGPROT_H_8,137 -#define RPC_VERSION 12,253 -typedef u32 rpc_authflavor_t;rpc_authflavor_t15,347 -enum rpc_auth_flavors rpc_auth_flavors17,378 - RPC_AUTH_NULL 18,402 - RPC_AUTH_UNIX 19,423 - RPC_AUTH_SHORT 20,444 - RPC_AUTH_DES 21,465 - RPC_AUTH_KRB 22,486 - RPC_AUTH_GSS 23,507 - RPC_AUTH_MAXFLAVOR 24,528 - RPC_AUTH_GSS_KRB5 26,575 - RPC_AUTH_GSS_KRB5I 27,605 - RPC_AUTH_GSS_KRB5P 28,635 - RPC_AUTH_GSS_LKEY 29,665 - RPC_AUTH_GSS_LKEYI 30,695 - RPC_AUTH_GSS_LKEYP 31,725 - RPC_AUTH_GSS_SPKM 32,755 - RPC_AUTH_GSS_SPKMI 33,785 - RPC_AUTH_GSS_SPKMP 34,815 -enum rpc_msg_type rpc_msg_type37,849 - RPC_CALL 38,869 - RPC_REPLY 39,884 -enum rpc_reply_stat rpc_reply_stat42,903 - RPC_MSG_ACCEPTED 43,925 - RPC_MSG_DENIED 44,948 -enum rpc_accept_stat rpc_accept_stat47,972 - RPC_SUCCESS 48,995 - RPC_PROG_UNAVAIL 49,1013 - RPC_PROG_MISMATCH 50,1036 - RPC_PROC_UNAVAIL 51,1060 - RPC_GARBAGE_ARGS 52,1083 - RPC_SYSTEM_ERR 53,1106 -enum rpc_reject_stat rpc_reject_stat56,1130 - RPC_MISMATCH 57,1153 - RPC_AUTH_ERROR 58,1172 -enum rpc_auth_stat rpc_auth_stat61,1196 - RPC_AUTH_OK 62,1217 - RPC_AUTH_BADCRED 63,1235 - RPC_AUTH_REJECTEDCRED 64,1258 - RPC_AUTH_BADVERF 65,1286 - RPC_AUTH_REJECTEDVERF 66,1309 - RPC_AUTH_TOOWEAK 67,1337 - RPCSEC_GSS_CREDPROBLEM 69,1385 - RPCSEC_GSS_CTXPROBLEM 70,1415 -#define RPC_PMAP_PROGRAM 73,1447 -#define RPC_PMAP_VERSION 74,1479 -#define RPC_PMAP_PORT 75,1506 -#define RPC_MAXNETNAMELEN 77,1534 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/types.h,74 -#define _LINUX_SUNRPC_TYPES_H_10,178 -#define signalled(signalled20,342 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/svc.h,815 -#define SUNRPC_SVC_H11,159 -struct svc_serv svc_serv30,677 -#define RPCSVC_MAXPAYLOAD 52,1472 -#define RPCSVC_MAXPAGES 79,2706 -static inline u32 svc_getu32(81,2780 -static inline void svc_ungetu32(91,2953 -static inline void svc_putu32(98,3106 -struct svc_rqst svc_rqst111,3391 -xdr_argsize_check(170,5281 -xdr_ressize_check(178,5472 -static inline int svc_take_page(188,5673 -static inline void svc_pushback_allpages(199,5928 -static inline void svc_pushback_unused_pages(210,6237 -static inline void svc_free_allpages(223,6613 -struct svc_deferred_req svc_deferred_req233,6885 -struct svc_program svc_program245,7122 -struct svc_version svc_version261,7676 -typedef int (*svc_procfunc)svc_procfunc277,8144 -struct svc_procedure svc_procedure278,8216 -typedef void (*svc_thread_fn)svc_thread_fn293,8755 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/stats.h,440 -#define _LINUX_SUNRPC_STATS_H10,179 -struct rpc_stat rpc_stat15,264 -struct svc_stat svc_stat29,477 -static inline struct proc_dir_entry *rpc_proc_register(63,1225 -static inline void rpc_proc_unregister(64,1317 -static inline void rpc_proc_zero(65,1374 -static inline struct proc_dir_entry *svc_proc_register(67,1434 -static inline void svc_proc_unregister(69,1566 -static inline void svc_seq_show(71,1624 -#define proc_net_rpc 74,1713 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/timer.h,146 -#define _LINUX_SUNRPC_TIMER_H10,197 -struct rpc_rtt rpc_rtt14,253 -static inline void rpc_set_timeo(26,725 -static inline int rpc_ntimeo(42,974 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/rpc_pipe_fs.h,209 -#define _LINUX_SUNRPC_RPC_PIPE_FS_H2,36 -struct rpc_pipe_msg rpc_pipe_msg6,92 -struct rpc_pipe_ops rpc_pipe_ops14,196 -struct rpc_inode rpc_inode21,453 -#define RPC_PIPE_WAIT_FOR_OPEN 30,636 -RPC_I(37,780 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/debug.h,907 -#define _LINUX_SUNRPC_DEBUG_H_10,176 -#define RPC_DEBUG21,353 -#define RPCDBG_XPRT 28,438 -#define RPCDBG_CALL 29,466 -#define RPCDBG_DEBUG 30,494 -#define RPCDBG_NFS 31,523 -#define RPCDBG_AUTH 32,550 -#define RPCDBG_PMAP 33,578 -#define RPCDBG_SCHED 34,606 -#define RPCDBG_SVCSOCK 35,635 -#define RPCDBG_SVCDSP 36,666 -#define RPCDBG_MISC 37,696 -#define RPCDBG_CACHE 38,724 -#define RPCDBG_ALL 39,753 -#define dprintk(dprintk53,985 -# define ifdebug(ifdebug57,1074 -# define dfprintk(dfprintk58,1137 -# define RPC_IFDEBUG(RPC_IFDEBUG59,1212 -# define ifdebug(ifdebug61,1245 -# define dfprintk(dfprintk62,1275 -# define RPC_IFDEBUG(RPC_IFDEBUG63,1322 -# define pprintk(pprintk67,1373 -# define pprintk(pprintk69,1421 -#define CTL_SUNRPC 88,1911 - CTL_RPCDEBUG 91,1980 - CTL_NFSDEBUG,92,1999 - CTL_NFSDDEBUG,93,2014 - CTL_NLMDEBUG,94,2030 - CTL_SLOTTABLE_UDP,95,2045 - CTL_SLOTTABLE_TCP,96,2065 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/svcauth.h,531 -#define _LINUX_SUNRPC_SVCAUTH_H_10,187 -#define SVC_CRED_NGROUPS 19,358 -struct svc_cred svc_cred20,386 -struct auth_domain auth_domain45,1356 -struct auth_ops auth_ops88,3069 -#define SVC_GARBAGE 97,3276 -#define SVC_SYSERR 98,3298 -#define SVC_VALID 99,3319 -#define SVC_NEGATIVE 100,3339 -#define SVC_OK 101,3362 -#define SVC_DROP 102,3380 -#define SVC_DENIED 103,3399 -#define SVC_PENDING 104,3420 -#define SVC_COMPLETE 105,3442 -static inline unsigned long hash_str(122,4210 -static inline unsigned long hash_mem(140,4592 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/gss_err.h,2353 -#define _LINUX_SUNRPC_GSS_ERR_H35,1442 -typedef unsigned int OM_uint32;OM_uint3239,1494 -#define GSS_C_DELEG_FLAG 44,1575 -#define GSS_C_MUTUAL_FLAG 45,1602 -#define GSS_C_REPLAY_FLAG 46,1630 -#define GSS_C_SEQUENCE_FLAG 47,1658 -#define GSS_C_CONF_FLAG 48,1688 -#define GSS_C_INTEG_FLAG 49,1715 -#define GSS_C_ANON_FLAG 50,1743 -#define GSS_C_PROT_READY_FLAG 51,1770 -#define GSS_C_TRANS_FLAG 52,1804 -#define GSS_C_BOTH 57,1869 -#define GSS_C_INITIATE 58,1890 -#define GSS_C_ACCEPT 59,1915 -#define GSS_C_GSS_CODE 64,1990 -#define GSS_C_MECH_CODE 65,2015 -#define GSS_C_QOP_DEFAULT 76,2504 -#define GSS_C_INDEFINITE 82,2641 -#define GSS_S_COMPLETE 87,2721 -#define GSS_C_CALLING_ERROR_OFFSET 92,2823 -#define GSS_C_ROUTINE_ERROR_OFFSET 93,2861 -#define GSS_C_SUPPLEMENTARY_OFFSET 94,2899 -#define GSS_C_CALLING_ERROR_MASK 95,2936 -#define GSS_C_ROUTINE_ERROR_MASK 96,2990 -#define GSS_C_SUPPLEMENTARY_MASK 97,3044 -#define GSS_CALLING_ERROR(GSS_CALLING_ERROR104,3296 -#define GSS_ROUTINE_ERROR(GSS_ROUTINE_ERROR106,3394 -#define GSS_SUPPLEMENTARY_INFO(GSS_SUPPLEMENTARY_INFO108,3492 -#define GSS_ERROR(GSS_ERROR110,3595 -#define GSS_S_CALL_INACCESSIBLE_READ 121,3828 -#define GSS_S_CALL_INACCESSIBLE_WRITE 123,3946 -#define GSS_S_CALL_BAD_STRUCTURE 125,4065 -#define GSS_S_BAD_MECH 131,4206 -#define GSS_S_BAD_NAME 132,4279 -#define GSS_S_BAD_NAMETYPE 133,4352 -#define GSS_S_BAD_BINDINGS 134,4429 -#define GSS_S_BAD_STATUS 135,4506 -#define GSS_S_BAD_SIG 136,4581 -#define GSS_S_NO_CRED 137,4653 -#define GSS_S_NO_CONTEXT 138,4725 -#define GSS_S_DEFECTIVE_TOKEN 139,4800 -#define GSS_S_DEFECTIVE_CREDENTIAL 140,4880 -#define GSS_S_CREDENTIALS_EXPIRED 142,4973 -#define GSS_S_CONTEXT_EXPIRED 144,5065 -#define GSS_S_FAILURE 146,5153 -#define GSS_S_BAD_QOP 147,5226 -#define GSS_S_UNAUTHORIZED 148,5299 -#define GSS_S_UNAVAILABLE 149,5377 -#define GSS_S_DUPLICATE_ELEMENT 150,5454 -#define GSS_S_NAME_NOT_MN 152,5544 -#define GSS_S_CONTINUE_NEEDED 158,5664 -#define GSS_S_DUPLICATE_TOKEN 159,5734 -#define GSS_S_OLD_TOKEN 160,5804 -#define GSS_S_UNSEQ_TOKEN 161,5868 -#define GSS_S_GAP_TOKEN 162,5934 -#define GSS_CALLING_ERROR_FIELD(GSS_CALLING_ERROR_FIELD166,6073 -#define GSS_ROUTINE_ERROR_FIELD(GSS_ROUTINE_ERROR_FIELD168,6178 -#define GSS_SUPPLEMENTARY_INFO_FIELD(GSS_SUPPLEMENTARY_INFO_FIELD170,6283 -#define GSS_S_CRED_UNAVAIL 174,6454 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sunrpc/svcsock.h,265 -#define SUNRPC_SVCSOCK_H10,164 -struct svc_sock svc_sock17,250 -#define SK_BUSY 26,601 -#define SK_CONN 27,647 -#define SK_CLOSE 28,687 -#define SK_DATA 29,728 -#define SK_TEMP 30,768 -#define SK_DEAD 31,813 -#define SK_CHNGBUF 32,854 -#define SK_DEFERRED 33,919 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/backing-dev.h,440 -#define _LINUX_BACKING_DEV_H9,167 -enum bdi_state bdi_state16,263 - BDI_pdflush,17,280 - BDI_write_congested,18,341 - BDI_read_congested,19,401 - BDI_unused,20,459 -typedef int (congested_fn)congested_fn23,509 -struct backing_dev_info backing_dev_info25,551 -static inline int bdi_congested(42,1298 -static inline int bdi_read_congested(49,1495 -static inline int bdi_write_congested(54,1620 -static inline int bdi_rw_congested(59,1747 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ncp_mount.h,612 -#define _LINUX_NCP_MOUNT_H9,105 -#define NCP_MOUNT_VERSION 14,182 -#define NCP_MOUNT_SOFT 17,247 -#define NCP_MOUNT_INTR 18,278 -#define NCP_MOUNT_STRONG 19,309 -#define NCP_MOUNT_NO_OS2 20,381 -#define NCP_MOUNT_NO_NFS 21,452 -#define NCP_MOUNT_EXTRAS 22,515 -#define NCP_MOUNT_SYMLINKS 23,547 -#define NCP_MOUNT_NFS_EXTRAS 24,603 -struct ncp_mount_data ncp_mount_data26,677 -#define NCP_MOUNT_VERSION_V4 44,1233 -struct ncp_mount_data_v4 ncp_mount_data_v446,1288 -#define NCP_MOUNT_VERSION_V5 69,2054 -struct ncp_mount_data_kernel ncp_mount_data_kernel73,2123 -#define NCP_IMOUNT_LOGGEDIN_POSSIBLE 76,2251 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ixjuser.h,16136 -#define __LINUX_IXJUSER_H2,26 -static char ixjuser_h_rcsid[45,1897 -#define IXJCTL_DSP_RESET 59,2350 -#define IXJCTL_RING 61,2395 -#define IXJCTL_HOOKSTATE 62,2446 -#define IXJCTL_MAXRINGS 63,2502 -#define IXJCTL_RING_CADENCE 64,2543 -#define IXJCTL_RING_START 65,2591 -#define IXJCTL_RING_STOP 66,2635 -#define IXJCTL_CARDTYPE 68,2678 -#define IXJCTL_SERIAL 69,2726 -#define IXJCTL_DSP_TYPE 70,2772 -#define IXJCTL_DSP_VERSION 71,2834 -#define IXJCTL_VERSION 72,2896 -#define IXJCTL_DSP_IDLE 73,2958 -#define IXJCTL_TESTRAM 74,3001 -#define IXJCTL_REC_CODEC 104,4384 -#define IXJCTL_REC_START 105,4440 -#define IXJCTL_REC_STOP 106,4496 -#define IXJCTL_REC_DEPTH 107,4551 -#define IXJCTL_FRAME 108,4593 -#define IXJCTL_REC_VOLUME 109,4628 -#define IXJCTL_REC_LEVEL 110,4672 - f300_640 113,4730 - f300_640 = 4, f300_500,113,4730 - f300_640 = 4, f300_500, f1100,113,4730 - f300_640 = 4, f300_500, f1100, f350,113,4730 - f300_640 = 4, f300_500, f1100, f350, f400,113,4730 - f300_640 = 4, f300_500, f1100, f350, f400, f480,113,4730 - f300_640 = 4, f300_500, f1100, f350, f400, f480, f440,113,4730 - f300_640 = 4, f300_500, f1100, f350, f400, f480, f440, f620,113,4730 - f300_640 = 4, f300_500, f1100, f350, f400, f480, f440, f620, f20_50,113,4730 - f133_200,114,4800 - f133_200, f300,114,4800 - f133_200, f300, f300_420,114,4800 - f133_200, f300, f300_420, f330,114,4800 - f133_200, f300, f300_420, f330, f300_425,114,4800 - f133_200, f300, f300_420, f330, f300_425, f330_440,114,4800 - f133_200, f300, f300_420, f330, f300_425, f330_440, f340,114,4800 - f133_200, f300, f300_420, f330, f300_425, f330_440, f340, f350_400,114,4800 - f350_440,115,4869 - f350_440, f350_450,115,4869 - f350_440, f350_450, f360,115,4869 - f350_440, f350_450, f360, f380_420,115,4869 - f350_440, f350_450, f360, f380_420, f392,115,4869 - f350_440, f350_450, f360, f380_420, f392, f400_425,115,4869 - f350_440, f350_450, f360, f380_420, f392, f400_425, f400_440,115,4869 - f350_440, f350_450, f360, f380_420, f392, f400_425, f400_440, f400_450,115,4869 - f420,116,4942 - f420, f425,116,4942 - f420, f425, f425_450,116,4942 - f420, f425, f425_450, f425_475,116,4942 - f420, f425, f425_450, f425_475, f435,116,4942 - f420, f425, f425_450, f425_475, f435, f440_450,116,4942 - f420, f425, f425_450, f425_475, f435, f440_450, f440_480,116,4942 - f420, f425, f425_450, f425_475, f435, f440_450, f440_480, f445,116,4942 - f420, f425, f425_450, f425_475, f435, f440_450, f440_480, f445, f450,116,4942 - f452,117,5013 - f452, f475,117,5013 - f452, f475, f480_620,117,5013 - f452, f475, f480_620, f494,117,5013 - f452, f475, f480_620, f494, f500,117,5013 - f452, f475, f480_620, f494, f500, f520,117,5013 - f452, f475, f480_620, f494, f500, f520, f523,117,5013 - f452, f475, f480_620, f494, f500, f520, f523, f525,117,5013 - f452, f475, f480_620, f494, f500, f520, f523, f525, f540_660,117,5013 - f452, f475, f480_620, f494, f500, f520, f523, f525, f540_660, f587,117,5013 - f590,118,5082 - f590, f600,118,5082 - f590, f600, f660,118,5082 - f590, f600, f660, f700,118,5082 - f590, f600, f660, f700, f740,118,5082 - f590, f600, f660, f700, f740, f750,118,5082 - f590, f600, f660, f700, f740, f750, f750_1450,118,5082 - f590, f600, f660, f700, f740, f750, f750_1450, f770,118,5082 - f590, f600, f660, f700, f740, f750, f750_1450, f770, f800,118,5082 - f590, f600, f660, f700, f740, f750, f750_1450, f770, f800, f816,118,5082 - f590, f600, f660, f700, f740, f750, f750_1450, f770, f800, f816, f850,118,5082 - f857_1645,119,5154 - f857_1645, f900,119,5154 - f857_1645, f900, f900_1300,119,5154 - f857_1645, f900, f900_1300, f935_1215,119,5154 - f857_1645, f900, f900_1300, f935_1215, f941_1477,119,5154 - f857_1645, f900, f900_1300, f935_1215, f941_1477, f942,119,5154 - f857_1645, f900, f900_1300, f935_1215, f941_1477, f942, f950,119,5154 - f857_1645, f900, f900_1300, f935_1215, f941_1477, f942, f950, f950_1400,119,5154 - f975,120,5228 - f975, f1000,120,5228 - f975, f1000, f1020,120,5228 - f975, f1000, f1020, f1050,120,5228 - f975, f1000, f1020, f1050, f1100_1750,120,5228 - f975, f1000, f1020, f1050, f1100_1750, f1140,120,5228 - f975, f1000, f1020, f1050, f1100_1750, f1140, f1200,120,5228 - f975, f1000, f1020, f1050, f1100_1750, f1140, f1200, f1209,120,5228 - f975, f1000, f1020, f1050, f1100_1750, f1140, f1200, f1209, f1330,120,5228 - f975, f1000, f1020, f1050, f1100_1750, f1140, f1200, f1209, f1330, f1336,120,5228 - lf1366,121,5303 - lf1366, f1380,121,5303 - lf1366, f1380, f1400,121,5303 - lf1366, f1380, f1400, f1477,121,5303 - lf1366, f1380, f1400, f1477, f1600,121,5303 - lf1366, f1380, f1400, f1477, f1600, f1633_1638,121,5303 - lf1366, f1380, f1400, f1477, f1600, f1633_1638, f1800,121,5303 - lf1366, f1380, f1400, f1477, f1600, f1633_1638, f1800, f1860121,5303 -} IXJ_FILTER_FREQ;IXJ_FILTER_FREQ122,5365 -} IXJ_FILTER;IXJ_FILTER128,5461 -} IXJ_FILTER_CADENCE;IXJ_FILTER_CADENCE140,5663 -#define IXJCTL_SET_FILTER 142,5686 -#define IXJCTL_SET_FILTER_RAW 143,5744 -#define IXJCTL_GET_FILTER_HIST 144,5810 -#define IXJCTL_FILTER_CADENCE 145,5864 -#define IXJCTL_PLAY_CID 146,5934 - hz20 172,6986 - hz20 = 0x7ffa,172,6986 - hz50 173,7002 - hz50 = 0x7fe5,173,7002 - hz133 174,7018 - hz133 = 0x7f4c,174,7018 - hz200 175,7035 - hz200 = 0x7e6b,175,7035 - hz261 176,7052 - hz261 = 0x7d50,176,7052 - hz277 177,7084 - hz277 = 0x7cfa,177,7084 - hz293 178,7116 - hz293 = 0x7c9f,178,7116 - hz300 179,7148 - hz300 = 0x7c75,179,7148 - hz311 180,7165 - hz311 = 0x7c32,180,7165 - hz329 181,7197 - hz329 = 0x7bbf,181,7197 - hz330 182,7229 - hz330 = 0x7bb8,182,7229 - hz340 183,7246 - hz340 = 0x7b75,183,7246 - hz349 184,7263 - hz349 = 0x7b37,184,7263 - hz350 185,7295 - hz350 = 0x7b30,185,7295 - hz360 186,7312 - hz360 = 0x7ae9,186,7312 - hz369 187,7329 - hz369 = 0x7aa8,187,7329 - hz380 188,7361 - hz380 = 0x7a56,188,7361 - hz392 189,7378 - hz392 = 0x79fa,189,7378 - hz400 190,7410 - hz400 = 0x79bb,190,7410 - hz415 191,7427 - hz415 = 0x7941,191,7427 - hz420 192,7459 - hz420 = 0x7918,192,7459 - hz425 193,7476 - hz425 = 0x78ee,193,7476 - hz435 194,7493 - hz435 = 0x7899,194,7493 - hz440 195,7510 - hz440 = 0x786d,195,7510 - hz445 196,7542 - hz445 = 0x7842,196,7542 - hz450 197,7559 - hz450 = 0x7815,197,7559 - hz452 198,7576 - hz452 = 0x7803,198,7576 - hz466 199,7593 - hz466 = 0x7784,199,7593 - hz475 200,7625 - hz475 = 0x7731,200,7625 - hz480 201,7642 - hz480 = 0x7701,201,7642 - hz493 202,7659 - hz493 = 0x7685,202,7659 - hz494 203,7691 - hz494 = 0x767b,203,7691 - hz500 204,7708 - hz500 = 0x7640,204,7708 - hz520 205,7725 - hz520 = 0x7578,205,7725 - hz523 206,7742 - hz523 = 0x7559,206,7742 - hz525 207,7774 - hz525 = 0x7544,207,7774 - hz540 208,7791 - hz540 = 0x74a7,208,7791 - hz554 209,7808 - hz554 = 0x7411,209,7808 - hz587 210,7840 - hz587 = 0x72a1,210,7840 - hz590 211,7872 - hz590 = 0x727f,211,7872 - hz600 212,7889 - hz600 = 0x720b,212,7889 - hz620 213,7906 - hz620 = 0x711e,213,7906 - hz622 214,7923 - hz622 = 0x7106,214,7923 - hz659 215,7955 - hz659 = 0x6f3b,215,7955 - hz660 216,7987 - hz660 = 0x6f2e,216,7987 - hz698 217,8004 - hz698 = 0x6d3d,217,8004 - hz700 218,8036 - hz700 = 0x6d22,218,8036 - hz739 219,8053 - hz739 = 0x6b09,219,8053 - hz740 220,8085 - hz740 = 0x6afa,220,8085 - hz750 221,8102 - hz750 = 0x6a6c,221,8102 - hz770 222,8119 - hz770 = 0x694b,222,8119 - hz783 223,8136 - hz783 = 0x688b,223,8136 - hz800 224,8168 - hz800 = 0x678d,224,8168 - hz816 225,8185 - hz816 = 0x6698,225,8185 - hz830 226,8202 - hz830 = 0x65bf,226,8202 - hz850 227,8234 - hz850 = 0x6484,227,8234 - hz857 228,8251 - hz857 = 0x6414,228,8251 - hz880 229,8268 - hz880 = 0x629f,229,8268 - hz900 230,8300 - hz900 = 0x6154,230,8300 - hz932 231,8317 - hz932 = 0x5f35,231,8317 - hz935 232,8349 - hz935 = 0x5f01,232,8349 - hz941 233,8366 - hz941 = 0x5e9a,233,8366 - hz942 234,8383 - hz942 = 0x5e88,234,8383 - hz950 235,8400 - hz950 = 0x5dfd,235,8400 - hz975 236,8417 - hz975 = 0x5c44,236,8417 - hz1000 237,8434 - hz1000 = 0x5a81,237,8434 - hz1020 238,8452 - hz1020 = 0x5912,238,8452 - hz1050 239,8470 - hz1050 = 0x56e2,239,8470 - hz1100 240,8488 - hz1100 = 0x5320,240,8488 - hz1140 241,8506 - hz1140 = 0x5007,241,8506 - hz1200 242,8524 - hz1200 = 0x4b3b,242,8524 - hz1209 243,8542 - hz1209 = 0x4a80,243,8542 - hz1215 244,8560 - hz1215 = 0x4a02,244,8560 - hz1250 245,8578 - hz1250 = 0x471c,245,8578 - hz1300 246,8596 - hz1300 = 0x42e0,246,8596 - hz1330 247,8614 - hz1330 = 0x4049,247,8614 - hz1336 248,8632 - hz1336 = 0x3fc4,248,8632 - hz1366 249,8650 - hz1366 = 0x3d22,249,8650 - hz1380 250,8668 - hz1380 = 0x3be4,250,8668 - hz1400 251,8686 - hz1400 = 0x3a1b,251,8686 - hz1450 252,8704 - hz1450 = 0x3596,252,8704 - hz1477 253,8722 - hz1477 = 0x331c,253,8722 - hz1500 254,8740 - hz1500 = 0x30fb,254,8740 - hz1600 255,8758 - hz1600 = 0x278d,255,8758 - hz1633 256,8776 - hz1633 = 0x2462,256,8776 - hz1638 257,8794 - hz1638 = 0x23e7,257,8794 - hz1645 258,8812 - hz1645 = 0x233a,258,8812 - hz1750 259,8830 - hz1750 = 0x18f8,259,8830 - hz1800 260,8848 - hz1800 = 0x1405,260,8848 - hz1860 261,8866 - hz1860 = 0xe0b,261,8866 - hz2100 262,8883 - hz2100 = 0xf5f6,262,8883 - hz2130 263,8901 - hz2130 = 0xf2f5,263,8901 - hz2450 264,8919 - hz2450 = 0xd3b3,264,8919 - hz2750 265,8937 - hz2750 = 0xb8e4265,8937 -} IXJ_FREQ;IXJ_FREQ266,8954 - C1 269,8982 - C1 = hz261,269,8982 - CS1 270,8995 - CS1 = hz277,270,8995 - D1 271,9009 - D1 = hz293,271,9009 - DS1 272,9022 - DS1 = hz311,272,9022 - E1 273,9036 - E1 = hz329,273,9036 - F1 274,9049 - F1 = hz349,274,9049 - FS1 275,9062 - FS1 = hz369,275,9062 - G1 276,9076 - G1 = hz392,276,9076 - GS1 277,9089 - GS1 = hz415,277,9089 - A1 278,9103 - A1 = hz440,278,9103 - AS1 279,9116 - AS1 = hz466,279,9116 - B1 280,9130 - B1 = hz493,280,9130 - C2 281,9143 - C2 = hz523,281,9143 - CS2 282,9156 - CS2 = hz554,282,9156 - D2 283,9170 - D2 = hz587,283,9170 - DS2 284,9183 - DS2 = hz622,284,9183 - E2 285,9197 - E2 = hz659,285,9197 - F2 286,9210 - F2 = hz698,286,9210 - FS2 287,9223 - FS2 = hz739,287,9223 - G2 288,9237 - G2 = hz783,288,9237 - GS2 289,9250 - GS2 = hz830,289,9250 - A2 290,9264 - A2 = hz880,290,9264 - AS2 291,9277 - AS2 = hz932,291,9277 -} IXJ_NOTE;IXJ_NOTE292,9291 -} IXJ_TONE;IXJ_TONE300,9386 -#define IXJCTL_INIT_TONE 302,9399 -} IXJ_CADENCE_ELEMENT;IXJ_CADENCE_ELEMENT342,11360 - PLAY_ONCE,345,11399 - REPEAT_LAST_ELEMENT,346,11411 - REPEAT_ALL347,11433 -} IXJ_CADENCE_TERM;IXJ_CADENCE_TERM348,11445 -} IXJ_CADENCE;IXJ_CADENCE354,11567 -#define IXJCTL_TONE_CADENCE 356,11583 -#define IXJCTL_PLAY_CODEC 363,11875 -#define IXJCTL_PLAY_START 364,11932 -#define IXJCTL_PLAY_STOP 365,11989 -#define IXJCTL_PLAY_DEPTH 366,12045 -#define IXJCTL_PLAY_VOLUME 367,12089 -#define IXJCTL_PLAY_LEVEL 368,12135 -#define IXJCTL_AEC_START 379,12641 -#define IXJCTL_AEC_STOP 380,12689 -#define IXJCTL_AEC_GET_LEVEL 381,12732 -#define AEC_OFF 383,12780 -#define AEC_LOW 384,12800 -#define AEC_MED 385,12820 -#define AEC_HIGH 386,12840 -#define AEC_AUTO 387,12860 -#define AEC_AGC 388,12880 -#define IXJCTL_DTMF_READY 400,13466 -#define IXJCTL_GET_DTMF 401,13510 -#define IXJCTL_GET_DTMF_ASCII 402,13565 -#define IXJCTL_DTMF_OOB 403,13626 -#define IXJCTL_EXCEPTION 404,13667 -#define IXJCTL_PLAY_TONE 405,13709 -#define IXJCTL_SET_TONE_ON_TIME 406,13751 -#define IXJCTL_SET_TONE_OFF_TIME 407,13807 -#define IXJCTL_GET_TONE_ON_TIME 408,13864 -#define IXJCTL_GET_TONE_OFF_TIME 409,13920 -#define IXJCTL_GET_TONE_STATE 410,13977 -#define IXJCTL_BUSY 411,14029 -#define IXJCTL_RINGBACK 412,14062 -#define IXJCTL_DIALTONE 413,14103 -#define IXJCTL_CPT_STOP 414,14144 -#define IXJCTL_SET_LED 423,14474 -#define IXJCTL_MIXER 424,14521 -#define MIXER_MASTER_L 433,14952 -#define MIXER_MASTER_R 434,14983 -#define ATT00DB 435,15014 -#define ATT02DB 436,15037 -#define ATT04DB 437,15060 -#define ATT06DB 438,15083 -#define ATT08DB 439,15106 -#define ATT10DB 440,15129 -#define ATT12DB 441,15152 -#define ATT14DB 442,15175 -#define ATT16DB 443,15198 -#define ATT18DB 444,15221 -#define ATT20DB 445,15244 -#define ATT22DB 446,15267 -#define ATT24DB 447,15290 -#define ATT26DB 448,15313 -#define ATT28DB 449,15336 -#define ATT30DB 450,15359 -#define ATT32DB 451,15382 -#define ATT34DB 452,15405 -#define ATT36DB 453,15428 -#define ATT38DB 454,15451 -#define ATT40DB 455,15474 -#define ATT42DB 456,15497 -#define ATT44DB 457,15520 -#define ATT46DB 458,15543 -#define ATT48DB 459,15566 -#define ATT50DB 460,15589 -#define ATT52DB 461,15612 -#define ATT54DB 462,15635 -#define ATT56DB 463,15658 -#define ATT58DB 464,15681 -#define ATT60DB 465,15704 -#define ATT62DB 466,15727 -#define MASTER_MUTE 467,15750 -#define MIXER_PORT_CD_L 476,16158 -#define MIXER_PORT_CD_R 477,16190 -#define MIXER_PORT_LINE_IN_L 478,16222 -#define MIXER_PORT_LINE_IN_R 479,16258 -#define MIXER_PORT_POTS_REC 480,16294 -#define MIXER_PORT_MIC 481,16329 -#define GAIN12DB 483,16361 -#define GAIN10DB 484,16384 -#define GAIN08DB 485,16407 -#define GAIN06DB 486,16430 -#define GAIN04DB 487,16453 -#define GAIN02DB 488,16476 -#define GAIN00DB 489,16499 -#define GAIN_02DB 490,16522 -#define GAIN_04DB 491,16546 -#define GAIN_06DB 492,16570 -#define GAIN_08DB 493,16594 -#define GAIN_10DB 494,16618 -#define GAIN_12DB 495,16642 -#define GAIN_14DB 496,16666 -#define GAIN_16DB 497,16690 -#define GAIN_18DB 498,16714 -#define GAIN_20DB 499,16738 -#define GAIN_22DB 500,16762 -#define GAIN_24DB 501,16786 -#define GAIN_26DB 502,16810 -#define GAIN_28DB 503,16834 -#define GAIN_30DB 504,16858 -#define GAIN_32DB 505,16882 -#define GAIN_34DB 506,16906 -#define GAIN_36DB 507,16930 -#define GAIN_38DB 508,16954 -#define GAIN_40DB 509,16978 -#define GAIN_42DB 510,17002 -#define GAIN_44DB 511,17026 -#define GAIN_46DB 512,17050 -#define GAIN_48DB 513,17074 -#define GAIN_50DB 514,17098 -#define INPUT_MUTE 515,17122 -#define MIXER_PORT_POTS_PLAY 524,17531 -#define POTS_ATT_00DB 526,17568 -#define POTS_ATT_04DB 527,17596 -#define POTS_ATT_08DB 528,17624 -#define POTS_ATT_12DB 529,17652 -#define POTS_ATT_16DB 530,17680 -#define POTS_ATT_20DB 531,17708 -#define POTS_ATT_24DB 532,17736 -#define POTS_ATT_28DB 533,17764 -#define POTS_MUTE 534,17792 -#define IXJCTL_DAA_COEFF_SET 543,18184 -#define DAA_US 545,18237 -#define DAA_UK 546,18271 -#define DAA_FRANCE 547,18307 -#define DAA_GERMANY 548,18335 -#define DAA_AUSTRALIA 549,18357 -#define DAA_JAPAN 550,18381 -#define IXJCTL_PORT 560,18787 -#define PORT_QUERY 562,18832 -#define PORT_POTS 563,18853 -#define PORT_PSTN 564,18873 -#define PORT_SPEAKER 565,18893 -#define PORT_HANDSET 566,18916 -#define IXJCTL_PSTN_SET_STATE 568,18940 -#define IXJCTL_PSTN_GET_STATE 569,18992 -#define PSTN_ON_HOOK 571,19045 -#define PSTN_RINGING 572,19068 -#define PSTN_OFF_HOOK 573,19091 -#define PSTN_PULSE_DIAL 574,19115 -#define IXJCTL_DAA_AGAIN 583,19537 -#define AGRR00DB 585,19586 -#define AGRR3_5DB 586,19651 -#define AGRR06DB 587,19719 -#define AGX00DB 589,19785 -#define AGX_6DB 590,19851 -#define AGX3_5DB 591,19918 -#define AGX_2_5B 592,19986 -#define IXJCTL_PSTN_LINETEST 594,20056 -#define IXJCTL_CID 596,20104 -#define IXJCTL_VMWI 597,20155 -#define IXJCTL_CIDCW 598,20199 -#define IXJCTL_WINK_DURATION 606,20593 -#define IXJCTL_POTS_PSTN 618,21199 -#define IXJCTL_HZ 641,22242 -#define IXJCTL_RATE 642,22304 -#define IXJCTL_FRAMES_READ 643,22366 -#define IXJCTL_FRAMES_WRITTEN 644,22426 -#define IXJCTL_READ_WAIT 645,22489 -#define IXJCTL_WRITE_WAIT 646,22547 -#define IXJCTL_DRYBUFFER_READ 647,22606 -#define IXJCTL_DRYBUFFER_CLEAR 648,22669 -#define IXJCTL_DTMF_PRESCALE 649,22718 - SIG_DTMF_READY,660,23236 - SIG_HOOKSTATE,661,23253 - SIG_FLASH,662,23269 - SIG_PSTN_RING,663,23281 - SIG_CALLER_ID,664,23297 - SIG_PSTN_WINK,665,23313 - SIG_F0,666,23329 - SIG_F0, SIG_F1,666,23329 - SIG_F0, SIG_F1, SIG_F2,666,23329 - SIG_F0, SIG_F1, SIG_F2, SIG_F3,666,23329 - SIG_FC0,667,23362 - SIG_FC0, SIG_FC1,667,23362 - SIG_FC0, SIG_FC1, SIG_FC2,667,23362 - SIG_FC0, SIG_FC1, SIG_FC2, SIG_FC3,667,23362 - SIG_READ_READY 668,23399 - SIG_WRITE_READY 669,23421 -} IXJ_SIGEVENT;IXJ_SIGEVENT670,23443 -} IXJ_SIGDEF;IXJ_SIGDEF675,23511 -#define IXJCTL_SIGCTL 677,23526 -#define IXJCTL_SC_RXG 693,24104 -#define IXJCTL_SC_TXG 694,24150 -#define IXJCTL_INTERCOM_START 707,24777 -#define IXJCTL_INTERCOM_STOP 708,24831 -} IXJ_FILTER_RAW;IXJ_FILTER_RAW720,25186 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/shmem_fs.h,204 -#define __SHMEM_FS_H2,21 -#define SHMEM_NR_DIRECT 9,125 -struct shmem_inode_info shmem_inode_info11,153 -struct shmem_sb_info shmem_sb_info24,664 -static inline struct shmem_inode_info *SHMEM_I(32,979 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/msdos_fs_sb.h,185 -#define _MSDOS_FS_SB2,21 -struct fat_mount_options fat_mount_options8,97 -#define FAT_CACHE_NR 29,1182 -struct fat_cache fat_cache31,1232 -struct msdos_sb_info msdos_sb_info38,1459 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pipe_fs_i.h,899 -#define _LINUX_PIPE_FS_I_H2,27 -#define PIPEFS_MAGIC 4,55 -struct pipe_inode_info pipe_inode_info5,87 -#define PIPE_SIZE 21,541 -#define PIPE_SEM(PIPE_SEM23,571 -#define PIPE_WAIT(PIPE_WAIT24,613 -#define PIPE_BASE(PIPE_BASE25,662 -#define PIPE_START(PIPE_START26,710 -#define PIPE_LEN(PIPE_LEN27,760 -#define PIPE_READERS(PIPE_READERS28,807 -#define PIPE_WRITERS(PIPE_WRITERS29,861 -#define PIPE_WAITING_WRITERS(PIPE_WAITING_WRITERS30,915 -#define PIPE_RCOUNTER(PIPE_RCOUNTER31,985 -#define PIPE_WCOUNTER(PIPE_WCOUNTER32,1042 -#define PIPE_FASYNC_READERS(PIPE_FASYNC_READERS33,1099 -#define PIPE_FASYNC_WRITERS(PIPE_FASYNC_WRITERS34,1174 -#define PIPE_EMPTY(PIPE_EMPTY36,1250 -#define PIPE_FULL(PIPE_FULL37,1299 -#define PIPE_FREE(PIPE_FREE38,1355 -#define PIPE_END(PIPE_END39,1410 -#define PIPE_MAX_RCHUNK(PIPE_MAX_RCHUNK40,1490 -#define PIPE_MAX_WCHUNK(PIPE_MAX_WCHUNK41,1553 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/preempt.h,625 -#define __LINUX_PREEMPT_H2,26 -#define preempt_count(preempt_count12,251 -#define inc_preempt_count(inc_preempt_count14,315 -#define dec_preempt_count(dec_preempt_count19,387 -#define preempt_disable(preempt_disable28,523 -#define preempt_enable_no_resched(preempt_enable_no_resched34,609 -#define preempt_check_resched(preempt_check_resched40,705 -#define preempt_enable(preempt_enable46,836 -#define preempt_disable(preempt_disable54,950 -#define preempt_enable_no_resched(preempt_enable_no_resched55,994 -#define preempt_enable(preempt_enable56,1047 -#define preempt_check_resched(preempt_check_resched57,1090 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/threads.h,182 -#define _LINUX_THREADS_H2,25 -#define NR_CPUS 18,444 -#define NR_CPUS 20,482 -#define MIN_THREADS_LEFT_FOR_ROOT 23,509 -#define PID_MAX_DEFAULT 28,617 -#define PID_MAX_LIMIT 33,717 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/uts.h,113 -#define _LINUX_UTS_H2,21 -#define UTS_SYSNAME 8,113 -#define UTS_NODENAME 12,170 -#define UTS_DOMAINNAME 16,258 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/shm.h,661 -#define _LINUX_SHM_H_2,22 -#define SHMMAX 13,219 -#define SHMMIN 14,280 -#define SHMMNI 15,334 -#define SHMALL 16,391 -#define SHMSEG 17,471 -struct shmid_ds shmid_ds22,631 -#define SHM_R 40,1324 -#define SHM_W 41,1381 -#define SHM_RDONLY 44,1461 -#define SHM_RND 45,1510 -#define SHM_REMAP 46,1580 -#define SHM_EXEC 47,1638 -#define SHM_LOCK 50,1720 -#define SHM_UNLOCK 51,1741 -#define SHM_STAT 54,1789 -#define SHM_INFO 55,1810 -struct shminfo shminfo58,1886 -struct shm_info shm_info66,1972 -struct shmid_kernel shmid_kernel76,2235 -#define SHM_DEST 92,2579 -#define SHM_LOCKED 93,2649 -#define SHM_HUGETLB 94,2715 -static inline long do_shmat(99,2895 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/selection.h,160 -#define _LINUX_SELECTION_H_8,130 -#define video_num_columns 22,569 -#define video_num_lines 23,626 -#define video_size_row 24,682 -#define can_do_color 25,741 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/adfs_fs_i.h,72 -#define _ADFS_FS_I8,101 -struct adfs_inode_info adfs_inode_info13,169 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-algo-bit.h,124 -#define _LINUX_I2C_ALGO_BIT_H27,1291 -struct i2c_algo_bit_data i2c_algo_bit_data35,1626 -#define I2C_BIT_ADAP_MAX 49,2048 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smbno.h,9551 -#define _SMBNO_H_2,18 -#define aRONLY 5,90 -#define aHIDDEN 6,113 -#define aSYSTEM 7,137 -#define aVOLID 8,161 -#define aDIR 9,184 -#define aARCH 10,205 -#define SUCCESS 13,248 -#define ERRDOS 14,301 -#define ERRSRV 15,377 -#define ERRHRD 16,457 -#define ERRCMD 17,512 -#define ERRbadfunc 21,634 -#define ERRbadfile 22,706 -#define ERRbadpath 23,776 -#define ERRnofids 24,834 -#define ERRnoaccess 25,892 -#define ERRbadfid 26,944 -#define ERRbadmcb 27,994 -#define ERRnomem 28,1064 -#define ERRbadmem 29,1116 -#define ERRbadenv 30,1183 -#define ERRbadformat 31,1241 -#define ERRbadaccess 32,1294 -#define ERRbaddata 33,1350 -#define ERRres 34,1424 -#define ERRbaddrive 35,1471 -#define ERRremcd 36,1523 -#define ERRdiffdevice 37,1597 -#define ERRnofiles 38,1676 -#define ERRbadshare 39,1749 -#define ERRlock 40,1830 -#define ERRfilexists 41,1910 -#define ERRbadpipe 42,1981 -#define ERRpipebusy 43,2038 -#define ERRpipeclosing 44,2107 -#define ERRnotconnected 45,2174 -#define ERRmoredata 46,2250 -#define ERROR_INVALID_PARAMETER 48,2314 -#define ERROR_DISK_FULL 49,2350 -#define ERROR_INVALID_NAME 50,2379 -#define ERROR_DIR_NOT_EMPTY 51,2410 -#define ERROR_NOT_LOCKED 52,2442 -#define ERROR_ALREADY_EXISTS 53,2471 -#define ERROR_EAS_DIDNT_FIT 54,2525 -#define ERROR_EAS_NOT_SUPPORTED 55,2594 -#define ERRerror 59,2711 -#define ERRbadpw 60,2773 -#define ERRbadtype 61,2824 -#define ERRaccess 62,2871 -#define ERRinvnid 63,2951 -#define ERRinvnetname 64,3001 -#define ERRinvdevice 65,3058 -#define ERRqfull 66,3111 -#define ERRqtoobig 67,3166 -#define ERRinvpfid 68,3224 -#define ERRsmbcmd 69,3292 -#define ERRsrverror 70,3351 -#define ERRfilespecs 71,3415 -#define ERRbadlink 72,3490 -#define ERRbadpermits 73,3537 -#define ERRbadpid 74,3616 -#define ERRsetattrmode 75,3663 -#define ERRpaused 76,3724 -#define ERRmsgoff 77,3784 -#define ERRnoroom 78,3845 -#define ERRrmuns 79,3903 -#define ERRtimeout 80,3967 -#define ERRnoresource 81,4025 -#define ERRtoomanyuids 82,4105 -#define ERRbaduid 83,4160 -#define ERRuseMPX 84,4209 -#define ERRuseSTD 85,4289 -#define ERRcontMPX 86,4369 -#define ERRbadPW 87,4423 -#define ERRnosupport 88,4470 -#define ERRnowrite 92,4539 -#define ERRbadunit 93,4593 -#define ERRnotready 94,4646 -#define ERRbadcmd 95,4700 -#define ERRdata 96,4754 -#define ERRbadreq 97,4809 -#define ERRseek 98,4876 -#define ERRbadmedia 99,4895 -#define ERRbadsector 100,4918 -#define ERRnopaper 101,4942 -#define ERRwrite 102,4964 -#define ERRread 103,5014 -#define ERRgeneral 104,5063 -#define ERRwrongdisk 105,5126 -#define ERRFCBunavail 106,5150 -#define ERRsharebufexc 107,5175 -#define ERRdiskfull 108,5235 -#define SMB_ACCMASK 113,5302 -#define SMB_O_RDONLY 114,5329 -#define SMB_O_WRONLY 115,5357 -#define SMB_O_RDWR 116,5385 -#define smb_com 119,5456 -#define smb_rcls 120,5474 -#define smb_reh 121,5493 -#define smb_err 122,5512 -#define smb_flg 123,5531 -#define smb_flg2 124,5550 -#define smb_reb 125,5570 -#define smb_tid 126,5589 -#define smb_pid 127,5608 -#define smb_uid 128,5627 -#define smb_mid 129,5646 -#define smb_wct 130,5665 -#define smb_vwv 131,5684 -#define smb_vwv0 132,5703 -#define smb_vwv1 133,5723 -#define smb_vwv2 134,5743 -#define smb_vwv3 135,5763 -#define smb_vwv4 136,5783 -#define smb_vwv5 137,5803 -#define smb_vwv6 138,5823 -#define smb_vwv7 139,5843 -#define smb_vwv8 140,5863 -#define smb_vwv9 141,5883 -#define smb_vwv10 142,5903 -#define smb_vwv11 143,5924 -#define smb_vwv12 144,5945 -#define smb_vwv13 145,5966 -#define smb_vwv14 146,5987 -#define smb_tpscnt 149,6068 -#define smb_tdscnt 150,6096 -#define smb_mprcnt 151,6124 -#define smb_mdrcnt 152,6152 -#define smb_msrcnt 153,6180 -#define smb_flags 154,6208 -#define smb_timeout 155,6235 -#define smb_pscnt 156,6264 -#define smb_psoff 157,6291 -#define smb_dscnt 158,6319 -#define smb_dsoff 159,6347 -#define smb_suwcnt 160,6375 -#define smb_setup 161,6404 -#define smb_setup0 162,6432 -#define smb_setup1 163,6461 -#define smb_setup2 164,6494 -#define smb_spscnt 167,6571 -#define smb_spsoff 168,6599 -#define smb_spsdisp 169,6627 -#define smb_sdscnt 170,6656 -#define smb_sdsoff 171,6684 -#define smb_sdsdisp 172,6712 -#define smb_sfid 173,6741 -#define smb_tprcnt 176,6798 -#define smb_tdrcnt 177,6826 -#define smb_prcnt 178,6854 -#define smb_proff 179,6881 -#define smb_prdisp 180,6908 -#define smb_drcnt 181,6936 -#define smb_droff 182,6963 -#define smb_drdisp 183,6990 -#define SMBmkdir 186,7038 -#define SMBrmdir 187,7090 -#define SMBopen 188,7142 -#define SMBcreate 189,7187 -#define SMBclose 190,7234 -#define SMBflush 191,7280 -#define SMBunlink 192,7326 -#define SMBmv 193,7373 -#define SMBgetatr 194,7420 -#define SMBsetatr 195,7475 -#define SMBread 196,7530 -#define SMBwrite 197,7580 -#define SMBlock 198,7629 -#define SMBunlock 199,7680 -#define SMBctemp 200,7733 -#define SMBmknew 201,7790 -#define SMBchkpth 202,7839 -#define SMBexit 203,7895 -#define SMBlseek 204,7943 -#define SMBtcon 205,7983 -#define SMBtconX 206,8031 -#define SMBtdis 207,8084 -#define SMBnegprot 208,8135 -#define SMBdskattr 209,8189 -#define SMBsearch 210,8244 -#define SMBsplopen 211,8296 -#define SMBsplwr 212,8353 -#define SMBsplclose 213,8414 -#define SMBsplretq 214,8472 -#define SMBsends 215,8526 -#define SMBsendb 216,8587 -#define SMBfwdname 217,8645 -#define SMBcancelf 218,8698 -#define SMBgetmac 219,8748 -#define SMBsendstrt 220,8800 -#define SMBsendend 221,8869 -#define SMBsendtxt 222,8936 -#define SMBlockread 225,9026 -#define SMBwriteunlock 226,9083 -#define SMBreadbraw 227,9143 -#define SMBwritebraw 228,9217 -#define SMBwritec 229,9292 -#define SMBwriteclose 230,9350 -#define SMBreadBraw 233,9440 -#define SMBreadBmpx 234,9493 -#define SMBreadBs 235,9554 -#define SMBwriteBraw 236,9624 -#define SMBwriteBmpx 237,9678 -#define SMBwriteBs 238,9740 -#define SMBwriteC 239,9810 -#define SMBsetattrE 240,9872 -#define SMBgetattrE 241,9939 -#define SMBlockingX 242,10006 -#define SMBtrans 243,10074 -#define SMBtranss 244,10145 -#define SMBioctl 245,10224 -#define SMBioctls 246,10268 -#define SMBcopy 247,10342 -#define SMBmove 248,10385 -#define SMBecho 249,10428 -#define SMBopenX 250,10471 -#define SMBreadX 251,10520 -#define SMBwriteX 252,10569 -#define SMBsesssetupX 253,10619 -#define SMBtconX 254,10699 -#define SMBffirst 255,10756 -#define SMBfunique 256,10805 -#define SMBfclose 257,10855 -#define SMBinvalid 258,10904 -#define SMBtrans2 262,10988 -#define SMBtranss2 263,11046 -#define SMBfindclose 264,11123 -#define SMBfindnclose 265,11193 -#define SMBulogoffX 266,11269 -#define TRANSACT2_OPEN 269,11360 -#define TRANSACT2_FINDFIRST 270,11394 -#define TRANSACT2_FINDNEXT 271,11428 -#define TRANSACT2_QFSINFO 272,11462 -#define TRANSACT2_SETFSINFO 273,11496 -#define TRANSACT2_QPATHINFO 274,11530 -#define TRANSACT2_SETPATHINFO 275,11564 -#define TRANSACT2_QFILEINFO 276,11598 -#define TRANSACT2_SETFILEINFO 277,11632 -#define TRANSACT2_FSCTL 278,11666 -#define TRANSACT2_IOCTL 279,11700 -#define TRANSACT2_FINDNOTIFYFIRST 280,11737 -#define TRANSACT2_FINDNOTIFYNEXT 281,11774 -#define TRANSACT2_MKDIR 282,11811 -#define SMB_INFO_STANDARD 285,11885 -#define SMB_INFO_QUERY_EA_SIZE 286,11914 -#define SMB_INFO_QUERY_EAS_FROM_LIST 287,11948 -#define SMB_INFO_QUERY_ALL_EAS 288,11987 -#define SMB_INFO_IS_NAME_VALID 289,12021 -#define SMB_FIND_FILE_DIRECTORY_INFO 292,12104 -#define SMB_FIND_FILE_FULL_DIRECTORY_INFO 293,12148 -#define SMB_FIND_FILE_NAMES_INFO 294,12196 -#define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 295,12236 -#define SMB_QUERY_FILE_BASIC_INFO 298,12333 -#define SMB_QUERY_FILE_STANDARD_INFO 299,12373 -#define SMB_QUERY_FILE_EA_INFO 300,12416 -#define SMB_QUERY_FILE_NAME_INFO 301,12454 -#define SMB_QUERY_FILE_ALL_INFO 302,12493 -#define SMB_QUERY_FILE_ALT_NAME_INFO 303,12532 -#define SMB_QUERY_FILE_STREAM_INFO 304,12575 -#define SMB_QUERY_FILE_COMPRESSION_INFO 305,12616 -#define SMB_SET_FILE_BASIC_INFO 308,12712 -#define SMB_SET_FILE_DISPOSITION_INFO 309,12751 -#define SMB_SET_FILE_ALLOCATION_INFO 310,12795 -#define SMB_SET_FILE_END_OF_FILE_INFO 311,12838 -#define SMB_FLAGS_SUPPORT_LOCKREAD 314,12909 -#define SMB_FLAGS_CLIENT_BUF_AVAIL 315,12949 -#define SMB_FLAGS_RESERVED 316,12989 -#define SMB_FLAGS_CASELESS_PATHNAMES 317,13022 -#define SMB_FLAGS_CANONICAL_PATHNAMES 318,13064 -#define SMB_FLAGS_REQUEST_OPLOCK 319,13107 -#define SMB_FLAGS_REQUEST_BATCH_OPLOCK 320,13145 -#define SMB_FLAGS_REPLY 321,13189 -#define SMB_FLAGS2_LONG_PATH_COMPONENTS 324,13283 -#define SMB_FLAGS2_EXTENDED_ATTRIBUTES 325,13331 -#define SMB_FLAGS2_DFS_PATHNAMES 326,13378 -#define SMB_FLAGS2_READ_PERMIT_NO_EXECUTE 327,13419 -#define SMB_FLAGS2_32_BIT_ERROR_CODES 328,13468 -#define SMB_FLAGS2_UNICODE_STRINGS 329,13515 -#define MIN_UNIX_INFO_LEVEL 335,13604 -#define MAX_UNIX_INFO_LEVEL 336,13639 -#define SMB_FIND_FILE_UNIX 337,13674 -#define SMB_QUERY_FILE_UNIX_BASIC 338,13708 -#define SMB_QUERY_FILE_UNIX_LINK 339,13748 -#define SMB_QUERY_FILE_UNIX_HLINK 340,13787 -#define SMB_SET_FILE_UNIX_BASIC 341,13827 -#define SMB_SET_FILE_UNIX_LINK 342,13866 -#define SMB_SET_FILE_UNIX_HLINK 343,13904 -#define SMB_QUERY_CIFS_UNIX_INFO 344,13943 -#define SMB_MODE_NO_CHANGE 347,14026 -#define SMB_UID_NO_CHANGE 348,14065 -#define SMB_GID_NO_CHANGE 349,14103 -#define SMB_TIME_NO_CHANGE 350,14141 -#define SMB_SIZE_NO_CHANGE 351,14191 -#define UNIX_TYPE_FILE 354,14272 -#define UNIX_TYPE_DIR 355,14298 -#define UNIX_TYPE_SYMLINK 356,14323 -#define UNIX_TYPE_CHARDEV 357,14351 -#define UNIX_TYPE_BLKDEV 358,14379 -#define UNIX_TYPE_FIFO 359,14406 -#define UNIX_TYPE_SOCKET 360,14432 -#define UNIX_TYPE_UNKNOWN 361,14459 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/udf_fs.h,269 -#define _UDF_FS_H 35,930 -#define UDF_PREALLOCATE37,951 -#define UDF_DEFAULT_PREALLOC_BLOCKS 38,975 -#define UDFFS_DATE 40,1014 -#define UDFFS_VERSION 41,1048 -#define udf_debug(udf_debug46,1122 -#define udf_debug(udf_debug53,1276 -#define udf_info(udf_info56,1316 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_page.h,562 -#define _LINUX_NFS_PAGE_H10,139 -#define PG_BUSY 25,396 -#define PG_NEED_COMMIT 26,416 -#define PG_NEED_RESCHED 27,442 -struct nfs_page nfs_page29,470 -#define NFS_WBACK_BUSY(NFS_WBACK_BUSY44,1088 -#define NFS_NEED_COMMIT(NFS_NEED_COMMIT45,1153 -#define NFS_NEED_RESCHED(NFS_NEED_RESCHED46,1226 -nfs_lock_request_dontget(70,2081 -nfs_lock_request(81,2273 -nfs_list_remove_request(95,2525 -nfs_defer_commit(108,2810 -nfs_clear_commit(116,2951 -nfs_defer_reschedule(124,3114 -nfs_clear_reschedule(132,3260 -nfs_list_entry(140,3442 -loff_t req_offset(146,3552 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/devfs_fs.h,674 -#define _LINUX_DEVFS_FS_H2,26 -#define DEVFSD_PROTOCOL_REVISION_KERNEL 6,79 -#define DEVFSD_IOCTL_BASE 8,123 -#define DEVFSDIOC_GET_PROTO_REV 11,191 -#define DEVFSDIOC_SET_EVENT_MASK 12,263 -#define DEVFSDIOC_RELEASE_EVENT_QUEUE 13,335 -#define DEVFSDIOC_SET_DEBUG_MASK 14,407 -#define DEVFSD_NOTIFY_REGISTERED 16,480 -#define DEVFSD_NOTIFY_UNREGISTERED 17,518 -#define DEVFSD_NOTIFY_ASYNC_OPEN 18,556 -#define DEVFSD_NOTIFY_CLOSE 19,594 -#define DEVFSD_NOTIFY_LOOKUP 20,632 -#define DEVFSD_NOTIFY_CHANGE 21,670 -#define DEVFSD_NOTIFY_CREATE 22,708 -#define DEVFSD_NOTIFY_DELETE 23,746 -#define DEVFS_PATHLEN 25,785 -struct devfsd_notify_struct devfsd_notify_struct28,906 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compiler.h,735 -#define __LINUX_COMPILER_H2,27 -# define __user 7,96 -# define __kernel 8,156 -# define __safe 9,202 -# define __force 10,241 -# define __iomem 11,281 -# define __user15,432 -# define __kernel16,448 -# define __safe17,466 -# define __force18,482 -# define __iomem19,499 -# define __chk_user_ptr(__chk_user_ptr20,516 -# define __chk_io_ptr(__chk_io_ptr21,551 -#define likely(likely49,1249 -#define unlikely(unlikely50,1294 -# define barrier(barrier54,1385 -# define RELOC_HIDE(RELOC_HIDE58,1450 -# define __deprecated 75,1870 -#define __must_check79,1942 -# define __attribute_used__ 94,2510 -# define __attribute_pure__ 108,2916 -# define __attribute_const__ 126,3574 -#define noinline130,3648 -#define __always_inline 134,3697 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/serio.h,1642 -#define _SERIO_H2,17 -#define SPIOCSTYPE 15,329 -struct serio serio23,478 -#define to_serio_port(to_serio_port54,1101 -struct serio_driver serio_driver56,1162 -#define to_serio_driver(to_serio_driver74,1607 -static __inline__ int serio_write(90,2298 -static __inline__ void serio_drv_write_wakeup(98,2452 -static __inline__ void serio_cleanup(104,2604 -static __inline__ void serio_pause_rx(115,2853 -static __inline__ void serio_continue_rx(120,2947 -#define SERIO_TIMEOUT 131,3119 -#define SERIO_PARITY 132,3143 -#define SERIO_FRAME 133,3166 -#define SERIO_TYPE 135,3189 -#define SERIO_XT 136,3221 -#define SERIO_8042 137,3251 -#define SERIO_RS232 138,3283 -#define SERIO_HIL_MLC 139,3316 -#define SERIO_PS_PSTHRU 140,3351 -#define SERIO_8042_XL 141,3388 -#define SERIO_PROTO 143,3424 -#define SERIO_MSC 144,3451 -#define SERIO_SUN 145,3474 -#define SERIO_MS 146,3497 -#define SERIO_MP 147,3519 -#define SERIO_MZ 148,3541 -#define SERIO_MZP 149,3563 -#define SERIO_MZPP 150,3586 -#define SERIO_VSXXXAA 151,3610 -#define SERIO_SUNKBD 152,3637 -#define SERIO_WARRIOR 153,3663 -#define SERIO_SPACEORB 154,3690 -#define SERIO_MAGELLAN 155,3718 -#define SERIO_SPACEBALL 156,3746 -#define SERIO_GUNZE 157,3775 -#define SERIO_IFORCE 158,3800 -#define SERIO_STINGER 159,3826 -#define SERIO_NEWTON 160,3853 -#define SERIO_STOWAWAY 161,3879 -#define SERIO_H3600 162,3907 -#define SERIO_PS2SER 163,3932 -#define SERIO_TWIDKBD 164,3958 -#define SERIO_TWIDJOY 165,3985 -#define SERIO_HIL 166,4012 -#define SERIO_SNES232 167,4035 -#define SERIO_SEMTECH 168,4062 -#define SERIO_LKKBD 169,4089 -#define SERIO_ID 171,4115 -#define SERIO_EXTRA 172,4141 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cyclomx.h,99 -#define _CYCLOMX_H2,19 -#define is_digit(is_digit40,1371 -struct cycx_device cycx_device46,1569 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs4_acl.h,134 -#define LINUX_NFS4_ACL_H38,1731 -#define NFS4_ACL_TYPE_DEFAULT 50,2133 -#define NFS4_ACL_DIR 51,2168 -#define NFS4_ACL_OWNER 52,2195 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dn.h,1741 -#define _LINUX_DN_H2,20 -#define DNPROTO_NSP 14,194 -#define DNPROTO_ROU 15,274 -#define DNPROTO_NML 16,354 -#define DNPROTO_EVL 17,434 -#define DNPROTO_EVR 18,514 -#define DNPROTO_NSPT 19,594 -#define DN_ADDL 22,676 -#define DN_MAXADDL 23,695 -#define DN_MAXOPTL 24,771 -#define DN_MAXOBJL 25,793 -#define DN_MAXACCL 26,815 -#define DN_MAXALIASL 27,837 -#define DN_MAXNODEL 28,862 -#define DNBUFSIZE 29,886 -#define SO_CONDATA 34,982 -#define SO_CONACCESS 35,1008 -#define SO_PROXYUSR 36,1034 -#define SO_LINKINFO 37,1060 -#define DSO_CONDATA 39,1087 -#define DSO_DISDATA 40,1162 -#define DSO_CONACCESS 41,1237 -#define DSO_ACCEPTMODE 42,1312 -#define DSO_CONACCEPT 43,1387 -#define DSO_CONREJECT 44,1462 -#define DSO_LINKINFO 45,1537 -#define DSO_STREAM 46,1612 -#define DSO_SEQPACKET 47,1687 -#define DSO_MAXWINDOW 48,1762 -#define DSO_NODELAY 49,1837 -#define DSO_CORK 50,1908 -#define DSO_SERVICES 51,1983 -#define DSO_INFO 52,2055 -#define DSO_MAX 53,2123 -#define LL_INACTIVE 57,2218 -#define LL_CONNECTING 58,2240 -#define LL_RUNNING 59,2264 -#define LL_DISCONNECTING 60,2285 -#define ACC_IMMED 62,2313 -#define ACC_DEFER 63,2333 -#define SDF_WILD 65,2354 -#define SDF_PROXY 66,2429 -#define SDF_UICPROXY 67,2504 -struct dn_naddr dn_naddr72,2599 -struct sockaddr_dnsockaddr_dn78,2681 -#define sdn_nodeaddrl 87,2889 -#define sdn_nodeaddr 88,2956 -struct optdata_dn optdata_dn95,3102 -#define opt_sts 97,3191 -struct accessdata_dnaccessdata_dn102,3360 -struct linkinfo_dn linkinfo_dn115,3634 -union etheraddress etheraddress123,3842 -struct dn_addr dn_addr135,4168 -#define DECNET_IOCTL_BASE 140,4329 -#define SIOCSNETADDR 142,4386 -#define SIOCGNETADDR 143,4455 -#define OSIOCSNETADDR 144,4524 -#define OSIOCGNETADDR 145,4581 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jbd.h,4896 -#define _LINUX_JBD_H17,486 -#define JFS_DEBUG24,691 -#define jfs_debug 25,709 -#define journal_oom_retry 34,868 -#define JBD_DEFAULT_MAX_COMMIT_AGE 48,1320 -#define JBD_EXPENSIVE_CHECKING56,1542 -#define jbd_debug(jbd_debug59,1607 -#define jbd_debug(jbd_debug68,1843 -#define jbd_kmalloc(jbd_kmalloc72,1967 -#define jbd_rep_kmalloc(jbd_rep_kmalloc74,2067 -#define JFS_MIN_JOURNAL_BLOCKS 77,2156 -typedef struct handle_s handle_t;handle_t98,3015 -typedef struct journal_s journal_t;journal_t112,3457 -#define JFS_MAGIC_NUMBER 119,3595 -#define JFS_DESCRIPTOR_BLOCK 129,3739 -#define JFS_COMMIT_BLOCK 130,3770 -#define JFS_SUPERBLOCK_V1 131,3797 -#define JFS_SUPERBLOCK_V2 132,3825 -#define JFS_REVOKE_BLOCK 133,3853 -typedef struct journal_header_sjournal_header_s138,3934 -} journal_header_t;journal_header_t143,4029 -typedef struct journal_block_tag_sjournal_block_tag_s149,4126 -} journal_block_tag_t;journal_block_tag_t153,4248 -typedef struct journal_revoke_header_sjournal_revoke_header_s159,4381 -} journal_revoke_header_t;journal_revoke_header_t163,4508 -#define JFS_FLAG_ESCAPE 167,4587 -#define JFS_FLAG_SAME_UUID 168,4645 -#define JFS_FLAG_DELETED 169,4712 -#define JFS_FLAG_LAST_TAG 170,4779 -typedef struct journal_superblock_sjournal_superblock_s176,4925 -} journal_superblock_t;journal_superblock_t219,6224 -#define JFS_HAS_COMPAT_FEATURE(JFS_HAS_COMPAT_FEATURE221,6249 -#define JFS_HAS_RO_COMPAT_FEATURE(JFS_HAS_RO_COMPAT_FEATURE224,6395 -#define JFS_HAS_INCOMPAT_FEATURE(JFS_HAS_INCOMPAT_FEATURE227,6546 -#define JFS_FEATURE_INCOMPAT_REVOKE 231,6696 -#define JFS_KNOWN_COMPAT_FEATURES 234,6789 -#define JFS_KNOWN_ROCOMPAT_FEATURES 235,6825 -#define JFS_KNOWN_INCOMPAT_FEATURES 236,6863 -#define JBD_ASSERTIONS244,7016 -#define J_ASSERT(J_ASSERT246,7061 -#define J_ASSERT_BH(J_ASSERT_BH258,7393 -#define J_ASSERT_JH(J_ASSERT_JH264,7542 -#define J_ASSERT_BH(J_ASSERT_BH266,7607 -#define J_ASSERT_JH(J_ASSERT_JH267,7652 -#define J_ASSERT(J_ASSERT271,7711 -#define J_EXPECT(J_EXPECT275,7816 -#define J_EXPECT_BH(J_EXPECT_BH276,7863 -#define J_EXPECT_JH(J_EXPECT_JH277,7923 -#define __journal_expect(__journal_expect279,7989 -#define J_EXPECT(J_EXPECT289,8275 -#define J_EXPECT_BH(J_EXPECT_BH290,8338 -#define J_EXPECT_JH(J_EXPECT_JH291,8407 -enum jbd_state_bits jbd_state_bits294,8484 - BH_JBD 295,8506 - = BH_PrivateStart,296,8556 - BH_JWrite,297,8578 - BH_Freed,298,8634 - BH_Revoked,299,8679 - BH_RevokeValid,300,8729 - BH_JBDDirty,301,8775 - BH_State,302,8819 - BH_JournalHead,303,8866 -BUFFER_FNS(306,8926 -static inline struct journal_head *bh2jh(321,9294 -static inline void jbd_lock_bh_state(326,9387 -static inline int jbd_trylock_bh_state(331,9493 -static inline int jbd_is_locked_bh_state(336,9611 -static inline void jbd_unlock_bh_state(341,9733 -static inline void jbd_lock_bh_journal_head(346,9843 -static inline void jbd_unlock_bh_journal_head(351,9962 -#define HAVE_JOURNAL_CALLBACK_STATUS356,10085 -struct journal_callback journal_callback371,10761 -struct handle_s handle_s396,11640 -struct transaction_s transaction_s463,13491 - T_RUNNING,478,13831 - T_LOCKED,479,13844 - T_RUNDOWN,480,13856 - T_FLUSH,481,13869 - T_COMMIT,482,13880 - T_FINISHED 483,13892 -struct journal_sjournal_s650,19606 -#define JFS_UNMOUNT 840,24209 -#define JFS_ABORT 841,24275 -#define JFS_ACK_ERR 842,24345 -#define JFS_FLUSHED 843,24412 -#define JFS_LOADED 844,24484 -#define JFS_BARRIER 845,24554 -static inline handle_t *journal_current_handle(895,26361 -static inline handle_t *jbd_alloc_handle(972,29573 -static inline void jbd_free_handle(977,29689 -#define JOURNAL_REVOKE_DEFAULT_HASH 983,29820 -#define jbd_ENOSYS(jbd_ENOSYS1022,31356 -static inline int is_journal_aborted(1039,31897 -static inline int is_handle_aborted(1044,31997 -static inline void journal_abort_handle(1051,32154 -static inline int tid_gt(1061,32410 -static inline int tid_geq(1067,32511 -static inline int jbd_space_needed(1079,32832 -#define BJ_None 1093,33166 -#define BJ_SyncData 1094,33205 -#define BJ_Metadata 1095,33266 -#define BJ_Forget 1096,33320 -#define BJ_IO 1097,33384 -#define BJ_Shadow 1098,33438 -#define BJ_LogCtl 1099,33506 -#define BJ_Reserved 1100,33564 -#define BJ_Locked 1101,33633 -#define BJ_Types 1102,33688 -#define assert_spin_locked(assert_spin_locked1109,33800 -#define assert_spin_locked(assert_spin_locked1111,33870 -#define buffer_trace_init(buffer_trace_init1114,33926 -#define print_buffer_fields(print_buffer_fields1115,33972 -#define print_buffer_trace(print_buffer_trace1116,34020 -#define BUFFER_TRACE(BUFFER_TRACE1117,34067 -#define BUFFER_TRACE2(BUFFER_TRACE21118,34114 -#define JBUFFER_TRACE(JBUFFER_TRACE1119,34167 -#define J_ASSERT(J_ASSERT1132,34480 -#define J_ASSERT_BH(J_ASSERT_BH1133,34521 -#define buffer_jbd(buffer_jbd1134,34568 -#define journal_buffer_journal_lru(journal_buffer_journal_lru1135,34595 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sem.h,917 -#define _LINUX_SEM_H2,21 -#define SEM_UNDO 8,109 -#define GETPID 11,209 -#define GETVAL 12,251 -#define GETALL 13,293 -#define GETNCNT 14,341 -#define GETZCNT 15,384 -#define SETVAL 16,427 -#define SETALL 17,469 -#define SEM_STAT 20,538 -#define SEM_INFO 21,558 -struct semid_ds semid_ds24,652 -struct sembuf sembuf39,1278 -union semun semun46,1472 -struct seminfo seminfo54,1732 -#define SEMMNI 67,1884 -#define SEMMSL 68,1964 -#define SEMMNS 69,2040 -#define SEMOPM 70,2119 -#define SEMVMX 71,2191 -#define SEMAEM 72,2262 -#define SEMUME 75,2339 -#define SEMMNU 76,2413 -#define SEMMAP 77,2486 -#define SEMUSZ 78,2554 -struct sem sem83,2687 -struct sem_array sem_array89,2857 -struct sem_queue sem_queue101,3409 -struct sem_undo sem_undo118,4138 -struct sem_undo_list sem_undo_list128,4542 -struct sysv_sem sysv_sem134,4634 -static inline int copy_semundo(144,4844 -static inline void exit_sem(149,4943 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rose.h,1171 -#define ROSE_KERNEL_H8,224 -#define ROSE_MTU 10,247 -#define ROSE_MAX_DIGIS 12,269 -#define ROSE_DEFER 14,295 -#define ROSE_T1 15,316 -#define ROSE_T2 16,335 -#define ROSE_T3 17,354 -#define ROSE_IDLE 18,373 -#define ROSE_QBITINCL 19,393 -#define ROSE_HOLDBACK 20,417 -#define SIOCRSGCAUSE 22,442 -#define SIOCRSSCAUSE 23,485 -#define SIOCRSL2CALL 24,528 -#define SIOCRSSL2CALL 25,571 -#define SIOCRSACCEPT 26,615 -#define SIOCRSCLRRT 27,658 -#define SIOCRSGL2CALL 28,700 -#define SIOCRSGFACILITIES 29,744 -#define ROSE_DTE_ORIGINATED 31,792 -#define ROSE_NUMBER_BUSY 32,825 -#define ROSE_INVALID_FACILITY 33,855 -#define ROSE_NETWORK_CONGESTION 34,890 -#define ROSE_OUT_OF_ORDER 35,927 -#define ROSE_ACCESS_BARRED 36,958 -#define ROSE_NOT_OBTAINABLE 37,990 -#define ROSE_REMOTE_PROCEDURE 38,1023 -#define ROSE_LOCAL_PROCEDURE 39,1058 -#define ROSE_SHIP_ABSENT 40,1092 -} rose_address;rose_address44,1161 -struct sockaddr_rose sockaddr_rose46,1178 -struct full_sockaddr_rose full_sockaddr_rose54,1330 -struct rose_route_struct rose_route_struct62,1512 -struct rose_cause_struct rose_cause_struct71,1698 -struct rose_facilities_struct rose_facilities_struct76,1778 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smb_mount.h,440 -#define _LINUX_SMB_MOUNT_H10,168 -#define SMB_MOUNT_VERSION 14,222 -struct smb_mount_data smb_mount_data16,251 -#define SMB_MOUNT_ASCII 29,506 -#define SMB_MOUNT_OLDVERSION 31,542 -#define SMB_MOUNT_VERSION 33,598 -#define SMB_MOUNT_WIN95 36,639 -#define SMB_MOUNT_OLDATTR 37,691 -#define SMB_MOUNT_DIRATTR 38,764 -#define SMB_MOUNT_CASE 39,830 -#define SMB_MOUNT_UNICODE 40,885 -struct smb_mount_data_kernel smb_mount_data_kernel43,947 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/crypto.h,2504 -#define _LINUX_CRYPTO_H17,556 -#define CRYPTO_ALG_TYPE_MASK 29,768 -#define CRYPTO_ALG_TYPE_CIPHER 30,809 -#define CRYPTO_ALG_TYPE_DIGEST 31,852 -#define CRYPTO_ALG_TYPE_COMPRESS 32,895 -#define CRYPTO_TFM_MODE_MASK 37,994 -#define CRYPTO_TFM_REQ_MASK 38,1035 -#define CRYPTO_TFM_RES_MASK 39,1075 -#define CRYPTO_TFM_MODE_ECB 41,1116 -#define CRYPTO_TFM_MODE_CBC 42,1156 -#define CRYPTO_TFM_MODE_CFB 43,1196 -#define CRYPTO_TFM_MODE_CTR 44,1236 -#define CRYPTO_TFM_REQ_WEAK_KEY 46,1277 -#define CRYPTO_TFM_RES_WEAK_KEY 47,1321 -#define CRYPTO_TFM_RES_BAD_KEY_LEN 48,1365 -#define CRYPTO_TFM_RES_BAD_KEY_SCHED 49,1414 -#define CRYPTO_TFM_RES_BAD_BLOCK_LEN 50,1463 -#define CRYPTO_TFM_RES_BAD_FLAGS 51,1512 -#define CRYPTO_UNSPEC 56,1589 -#define CRYPTO_MAX_ALG_NAME 57,1615 -struct cipher_alg cipher_alg65,1799 -struct digest_alg digest_alg74,2097 -struct compress_alg compress_alg83,2385 -#define cra_cipher 92,2708 -#define cra_digest 93,2740 -#define cra_compress 94,2772 -struct crypto_alg crypto_alg96,2809 -struct cipher_tfm cipher_tfm130,3575 -struct digest_tfm digest_tfm155,4411 -struct compress_tfm compress_tfm171,4999 -#define crt_cipher 180,5333 -#define crt_digest 181,5365 -#define crt_compress 182,5397 -struct crypto_tfm crypto_tfm184,5434 -static inline const char *crypto_tfm_alg_name(220,6475 -static inline const char *crypto_tfm_alg_modname(225,6584 -static inline u32 crypto_tfm_alg_type(230,6711 -static inline unsigned int crypto_tfm_alg_min_keysize(235,6836 -static inline unsigned int crypto_tfm_alg_max_keysize(241,7032 -static inline unsigned int crypto_tfm_alg_ivsize(247,7228 -static inline unsigned int crypto_tfm_alg_blocksize(253,7403 -static inline unsigned int crypto_tfm_alg_digestsize(258,7523 -static inline void crypto_digest_init(267,7741 -static inline void crypto_digest_update(273,7901 -static inline void crypto_digest_update_kernel(281,8196 -static inline void crypto_digest_final(289,8443 -static inline void crypto_digest_digest(295,8619 -static inline int crypto_digest_setkey(303,8928 -static inline int crypto_cipher_setkey(312,9245 -static inline int crypto_cipher_encrypt(319,9503 -static inline int crypto_cipher_encrypt_iv(328,9924 -static inline int crypto_cipher_decrypt(338,10430 -static inline int crypto_cipher_decrypt_iv(347,10811 -static inline void crypto_cipher_set_iv(357,11277 -static inline void crypto_cipher_get_iv(364,11523 -static inline int crypto_comp_compress(371,11763 -static inline int crypto_comp_decompress(379,12102 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nmi.h,80 -#define LINUX_NMI_H5,57 -# define touch_nmi_watchdog(touch_nmi_watchdog19,441 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/matroxfb.h,971 -#define __LINUX_MATROXFB_H__2,29 -struct matroxioc_output_mode matroxioc_output_mode8,135 -#define MATROXFB_OUTPUT_PRIMARY 10,201 -#define MATROXFB_OUTPUT_SECONDARY 11,241 -#define MATROXFB_OUTPUT_DFP 12,282 -#define MATROXFB_OUTPUT_MODE_PAL 14,349 -#define MATROXFB_OUTPUT_MODE_NTSC 15,389 -#define MATROXFB_OUTPUT_MODE_MONITOR 16,430 -#define MATROXFB_SET_OUTPUT_MODE 18,477 -#define MATROXFB_GET_OUTPUT_MODE 19,532 -#define MATROXFB_OUTPUT_CONN_PRIMARY 22,604 -#define MATROXFB_OUTPUT_CONN_SECONDARY 23,672 -#define MATROXFB_OUTPUT_CONN_DFP 24,744 -#define MATROXFB_SET_OUTPUT_CONNECTION 26,852 -#define MATROXFB_GET_OUTPUT_CONNECTION 28,967 -#define MATROXFB_GET_AVAILABLE_OUTPUTS 30,1083 -#define MATROXFB_GET_ALL_OUTPUTS 32,1190 -enum matroxfb_ctrl_id matroxfb_ctrl_id34,1246 - MATROXFB_CID_TESTOUT 35,1270 - MATROXFB_CID_TESTOUT = V4L2_CID_PRIVATE_BASE,35,1270 - MATROXFB_CID_DEFLICKER,36,1319 - MATROXFB_CID_LAST37,1345 -#define FBIO_WAITFORVSYNC 40,1369 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/arcdevice.h,1857 -#define _LINUX_ARCDEVICE_H17,687 -#define bool 25,800 -#define RECON_THRESHOLD 39,1224 -#define TX_TIMEOUT 49,1606 -#define D_NORMAL 64,2042 -#define D_EXTRA 65,2106 -#define D_INIT 66,2170 -#define D_INIT_REASONS 67,2233 -#define D_RECON 68,2303 -#define D_PROTO 69,2368 -#define D_DURING 71,2503 -#define D_TX 72,2569 -#define D_RX 73,2639 -#define D_SKB 74,2702 -#define D_SKB_SIZE 75,2767 -#define D_TIMING 76,2816 -#define ARCNET_DEBUG_MAX 79,2911 -#define ARCNET_DEBUG 83,3021 -#define BUGLVL(BUGLVL88,3134 -#define BUGMSG2(BUGMSG289,3193 -#define BUGMSG(BUGMSG90,3273 -#define TIME(TIME97,3532 -#define RESETtime 118,4060 -#define MTU 129,4457 -#define MinTU 130,4503 -#define XMTU 131,4553 -#define TXFREEflag 134,4642 -#define TXACKflag 135,4694 -#define RECONflag 136,4751 -#define TESTflag 137,4807 -#define RESETflag 138,4852 -#define RES1flag 139,4902 -#define RES2flag 140,4970 -#define NORXflag 141,5038 -#define AUTOINCflag 144,5142 -#define IOMAPflag 145,5212 -#define ENABLE16flag 146,5289 -#define NOTXcmd 153,5573 -#define NORXcmd 154,5628 -#define TXcmd 155,5680 -#define RXcmd 156,5734 -#define CONFIGcmd 157,5785 -#define CFLAGScmd 158,5841 -#define TESTcmd 159,5888 -#define RESETclear 162,5978 -#define CONFIGclear 163,6028 -#define TESTload 166,6126 -#define TESTvalue 169,6245 -#define RXbcasts 172,6342 -#define NORMALconf 175,6444 -#define EXTconf 176,6498 -#define ARC_IS_5MBIT 181,6649 -#define ARC_CAN_10MBIT 182,6711 -struct ArcProto ArcProto187,6874 -struct Incoming Incoming210,7688 -struct Outgoing Outgoing219,7966 -struct arcnet_local arcnet_local232,8337 -#define ARCRESET(ARCRESET312,11514 -#define ACOMMAND(ACOMMAND313,11560 -#define ASTATUS(ASTATUS314,11608 -#define AINTMASK(AINTMASK315,11650 -#define arcnet_dump_skb(arcnet_dump_skb322,11815 -#define arcnet_dump_packet(arcnet_dump_packet328,12001 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pci-dynids.h,60 -#define LINUX_PCI_DYNIDS_H8,150 -struct dynid dynid13,238 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coda_fs_i.h,287 -#define _LINUX_CODA_FS_I9,105 -struct coda_inode_info coda_inode_info19,252 -#define CODA_MAGIC 33,792 -struct coda_file_info coda_file_info34,822 -#define CODA_FTOC(CODA_FTOC40,1028 -#define C_VATTR 43,1115 -#define C_FLUSH 44,1176 -#define C_DYING 45,1229 -#define C_PURGE 46,1287 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/iso_fs_i.h,196 -#define _ISO_FS_I2,18 -enum isofs_file_format isofs_file_format6,60 - isofs_file_normal 7,85 - isofs_file_sparse 8,109 - isofs_file_compressed 9,133 -struct iso_inode_info iso_inode_info15,204 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/xattr_acl.h,317 -#define _LINUX_XATTR_ACL_H10,185 -#define XATTR_NAME_ACL_ACCESS 14,243 -#define XATTR_NAME_ACL_DEFAULT 15,299 -#define XATTR_ACL_VERSION 17,358 -} xattr_acl_entry;xattr_acl_entry23,454 -} xattr_acl_header;xattr_acl_header28,541 -static inline size_t xattr_acl_size(30,562 -static inline int xattr_acl_count(35,682 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nvram.h,156 -#define _LINUX_NVRAM_H2,23 -#define NVRAM_INIT 7,97 -#define NVRAM_SETCKS 8,171 -#define NVRAM_FIRST_BYTE 11,293 -#define NVRAM_OFFSET(NVRAM_OFFSET13,390 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sound.h,445 -#define SND_DEV_CTL 8,71 -#define SND_DEV_SEQ 9,124 -#define SND_DEV_MIDIN 11,224 -#define SND_DEV_DSP 12,271 -#define SND_DEV_AUDIO 13,325 -#define SND_DEV_DSP16 14,384 -#define SND_DEV_UNUSED 16,509 -#define SND_DEV_AWFM 17,535 -#define SND_DEV_SEQ2 18,574 -#define SND_DEV_SYNTH 21,756 -#define SND_DEV_DMFM 22,835 -#define SND_DEV_UNKNOWN11 23,893 -#define SND_DEV_ADSP 24,922 -#define SND_DEV_AMIDI 25,978 -#define SND_DEV_ADMMIDI 26,1036 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmppp.h,187 -#define _LINUX_ATMPPP_H6,99 -#define PPPOATM_ENCAPS_AUTODETECT 10,148 -#define PPPOATM_ENCAPS_VC 11,186 -#define PPPOATM_ENCAPS_LLC 12,217 -struct atm_backend_ppp atm_backend_ppp19,430 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/elf.h,7014 -#define _LINUX_ELF_H2,21 -# define elf_read_implies_exec(elf_read_implies_exec11,299 -typedef __u32 Elf32_Addr;Elf32_Addr15,392 -typedef __u16 Elf32_Half;Elf32_Half16,418 -typedef __u32 Elf32_Off;Elf32_Off17,444 -typedef __s32 Elf32_Sword;Elf32_Sword18,469 -typedef __u32 Elf32_Word;Elf32_Word19,496 -typedef __u64 Elf64_Addr;Elf64_Addr22,552 -typedef __u16 Elf64_Half;Elf64_Half23,578 -typedef __s16 Elf64_SHalf;Elf64_SHalf24,604 -typedef __u64 Elf64_Off;Elf64_Off25,631 -typedef __s32 Elf64_Sword;Elf64_Sword26,656 -typedef __u32 Elf64_Word;Elf64_Word27,683 -typedef __u64 Elf64_Xword;Elf64_Xword28,709 -typedef __s64 Elf64_Sxword;Elf64_Sxword29,736 -#define PT_NULL 32,841 -#define PT_LOAD 33,862 -#define PT_DYNAMIC 34,883 -#define PT_INTERP 35,904 -#define PT_NOTE 36,925 -#define PT_SHLIB 37,946 -#define PT_PHDR 38,967 -#define PT_LOOS 39,988 -#define PT_HIOS 40,1018 -#define PT_LOPROC 41,1048 -#define PT_HIPROC 42,1078 -#define PT_GNU_EH_FRAME 43,1108 -#define PT_GNU_STACK 45,1145 -#define ET_NONE 48,1247 -#define ET_REL 49,1267 -#define ET_EXEC 50,1287 -#define ET_DYN 51,1307 -#define ET_CORE 52,1327 -#define ET_LOPROC 53,1347 -#define ET_HIPROC 54,1372 -#define EM_NONE 57,1459 -#define EM_M32 58,1478 -#define EM_SPARC 59,1497 -#define EM_386 60,1516 -#define EM_68K 61,1535 -#define EM_88K 62,1554 -#define EM_486 63,1573 -#define EM_860 64,1616 -#define EM_MIPS 66,1636 -#define EM_MIPS_RS4_BE 68,1703 -#define EM_PARISC 70,1758 -#define EM_SPARC32PLUS 72,1796 -#define EM_PPC 74,1844 -#define EM_PPC64 75,1883 -#define EM_SH 77,1932 -#define EM_SPARCV9 79,1970 -#define EM_IA_64 81,2019 -#define EM_X86_64 83,2061 -#define EM_S390 85,2100 -#define EM_CRIS 87,2137 -#define EM_V850 89,2222 -#define EM_M32R 91,2258 -#define EM_H8_300 93,2298 -#define EM_ALPHA 99,2466 -#define EM_CYGNUS_V850 102,2546 -#define EM_CYGNUS_M32R 105,2632 -#define EM_S390_OLD 110,2726 -#define DT_NULL 113,2837 -#define DT_NEEDED 114,2856 -#define DT_PLTRELSZ 115,2876 -#define DT_PLTGOT 116,2898 -#define DT_HASH 117,2918 -#define DT_STRTAB 118,2937 -#define DT_SYMTAB 119,2957 -#define DT_RELA 120,2977 -#define DT_RELASZ 121,2996 -#define DT_RELAENT 122,3016 -#define DT_STRSZ 123,3037 -#define DT_SYMENT 124,3057 -#define DT_INIT 125,3078 -#define DT_FINI 126,3098 -#define DT_SONAME 127,3118 -#define DT_RPATH 128,3139 -#define DT_SYMBOLIC 129,3160 -#define DT_REL 130,3183 -#define DT_RELSZ 131,3209 -#define DT_RELENT 132,3229 -#define DT_PLTREL 133,3250 -#define DT_DEBUG 134,3271 -#define DT_TEXTREL 135,3291 -#define DT_JMPREL 136,3313 -#define DT_LOPROC 137,3334 -#define DT_HIPROC 138,3363 -#define STB_LOCAL 141,3449 -#define STB_GLOBAL 142,3470 -#define STB_WEAK 143,3491 -#define STT_NOTYPE 145,3513 -#define STT_OBJECT 146,3535 -#define STT_FUNC 147,3557 -#define STT_SECTION 148,3579 -#define STT_FILE 149,3601 -#define ELF_ST_BIND(ELF_ST_BIND151,3624 -#define ELF_ST_TYPE(ELF_ST_TYPE152,3659 -#define ELF32_ST_BIND(ELF32_ST_BIND153,3710 -#define ELF32_ST_TYPE(ELF32_ST_TYPE154,3750 -#define ELF64_ST_BIND(ELF64_ST_BIND155,3790 -#define ELF64_ST_TYPE(ELF64_ST_TYPE156,3830 -#define AT_NULL 160,3960 -#define AT_IGNORE 161,4000 -#define AT_EXECFD 162,4050 -#define AT_PHDR 163,4103 -#define AT_PHENT 164,4157 -#define AT_PHNUM 165,4212 -#define AT_PAGESZ 166,4264 -#define AT_BASE 167,4307 -#define AT_FLAGS 168,4361 -#define AT_ENTRY 169,4393 -#define AT_NOTELF 170,4442 -#define AT_UID 171,4488 -#define AT_EUID 172,4524 -#define AT_GID 173,4565 -#define AT_EGID 174,4601 -#define AT_PLATFORM 175,4642 -#define AT_HWCAP 176,4713 -#define AT_CLKTCK 177,4784 -#define AT_SECURE 179,4850 -typedef struct dynamic{dynamic181,4900 -} Elf32_Dyn;Elf32_Dyn187,5009 -} Elf64_Dyn;Elf64_Dyn195,5150 -#define ELF32_R_SYM(ELF32_R_SYM198,5210 -#define ELF32_R_TYPE(ELF32_R_TYPE199,5244 -#define ELF64_R_SYM(ELF64_R_SYM201,5282 -#define ELF64_R_TYPE(ELF64_R_TYPE202,5319 -typedef struct elf32_rel elf32_rel204,5365 -} Elf32_Rel;Elf32_Rel207,5436 -typedef struct elf64_rel elf64_rel209,5450 -} Elf64_Rel;Elf64_Rel212,5601 -typedef struct elf32_rela{elf32_rela214,5615 -} Elf32_Rela;Elf32_Rela218,5710 -typedef struct elf64_rela elf64_rela220,5725 -} Elf64_Rela;Elf64_Rela224,5946 -typedef struct elf32_sym{elf32_sym226,5961 -} Elf32_Sym;Elf32_Sym233,6128 -typedef struct elf64_sym elf64_sym235,6142 -} Elf64_Sym;Elf64_Sym242,6502 -#define EI_NIDENT 245,6517 -typedef struct elf32_hdr{elf32_hdr247,6539 -} Elf32_Ehdr;Elf32_Ehdr262,6919 -typedef struct elf64_hdr elf64_hdr264,6934 -} Elf64_Ehdr;Elf64_Ehdr279,7430 -#define PF_R 283,7537 -#define PF_W 284,7555 -#define PF_X 285,7573 -typedef struct elf32_phdr{elf32_phdr287,7592 -} Elf32_Phdr;Elf32_Phdr296,7795 -typedef struct elf64_phdr elf64_phdr298,7810 -} Elf64_Phdr;Elf64_Phdr307,8205 -#define SHT_NULL 310,8234 -#define SHT_PROGBITS 311,8253 -#define SHT_SYMTAB 312,8276 -#define SHT_STRTAB 313,8297 -#define SHT_RELA 314,8318 -#define SHT_HASH 315,8337 -#define SHT_DYNAMIC 316,8356 -#define SHT_NOTE 317,8378 -#define SHT_NOBITS 318,8397 -#define SHT_REL 319,8418 -#define SHT_SHLIB 320,8437 -#define SHT_DYNSYM 321,8458 -#define SHT_NUM 322,8480 -#define SHT_LOPROC 323,8500 -#define SHT_HIPROC 324,8530 -#define SHT_LOUSER 325,8560 -#define SHT_HIUSER 326,8590 -#define SHF_WRITE 329,8636 -#define SHF_ALLOC 330,8658 -#define SHF_EXECINSTR 331,8680 -#define SHF_MASKPROC 332,8706 -#define SHN_UNDEF 335,8769 -#define SHN_LORESERVE 336,8789 -#define SHN_LOPROC 337,8818 -#define SHN_HIPROC 338,8844 -#define SHN_ABS 339,8870 -#define SHN_COMMON 340,8894 -#define SHN_HIRESERVE 341,8920 -} Elf32_Shdr;Elf32_Shdr354,9198 -typedef struct elf64_shdr elf64_shdr356,9213 -} Elf64_Shdr;Elf64_Shdr367,9813 -#define EI_MAG0 369,9828 -#define EI_MAG1 370,9872 -#define EI_MAG2 371,9891 -#define EI_MAG3 372,9910 -#define EI_CLASS 373,9929 -#define EI_DATA 374,9948 -#define EI_VERSION 375,9967 -#define EI_OSABI 376,9988 -#define EI_PAD 377,10007 -#define ELFMAG0 379,10026 -#define ELFMAG1 380,10062 -#define ELFMAG2 381,10083 -#define ELFMAG3 382,10104 -#define ELFMAG 383,10125 -#define SELFMAG 384,10151 -#define ELFCLASSNONE 386,10171 -#define ELFCLASS32 387,10210 -#define ELFCLASS64 388,10231 -#define ELFCLASSNUM 389,10252 -#define ELFDATANONE 391,10275 -#define ELFDATA2LSB 392,10321 -#define ELFDATA2MSB 393,10343 -#define EV_NONE 395,10366 -#define EV_CURRENT 396,10414 -#define EV_NUM 397,10435 -#define ELFOSABI_NONE 399,10454 -#define ELFOSABI_LINUX 400,10478 -#define ELF_OSABI 403,10522 -#define NT_PRSTATUS 407,10590 -#define NT_PRFPREG 408,10612 -#define NT_PRPSINFO 409,10633 -#define NT_TASKSTRUCT 410,10655 -#define NT_AUXV 411,10679 -#define NT_PRXFPREG 412,10698 -typedef struct elf32_note elf32_note416,10825 -} Elf32_Nhdr;Elf32_Nhdr420,10975 -typedef struct elf64_note elf64_note423,11029 -} Elf64_Nhdr;Elf64_Nhdr427,11178 -#define elfhdr 432,11252 -#define elf_phdr 433,11278 -#define elf_note 434,11306 -#define elfhdr 439,11372 -#define elf_phdr 440,11398 -#define elf_note 441,11426 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs.h,3006 -#define _LINUX_NFS_H8,198 -#define NFS_PROGRAM 13,282 -#define NFS_PORT 14,309 -#define NFS_MAXDATA 15,331 -#define NFS_MAXPATHLEN 16,356 -#define NFS_MAXNAMLEN 17,384 -#define NFS_MAXGROUPS 18,410 -#define NFS_FHSIZE 19,435 -#define NFS_COOKIESIZE 20,457 -#define NFS_FIFO_DEV 21,482 -#define NFSMODE_FMT 22,508 -#define NFSMODE_DIR 23,536 -#define NFSMODE_CHR 24,564 -#define NFSMODE_BLK 25,592 -#define NFSMODE_REG 26,620 -#define NFSMODE_LNK 27,648 -#define NFSMODE_SOCK 28,676 -#define NFSMODE_FIFO 29,705 -#define NFS_MNT_PROGRAM 31,735 -#define NFS_MNT_PORT 32,766 - enum nfs_stat nfs_stat42,1192 - NFS_OK 43,1209 - NFSERR_PERM 44,1239 - NFSERR_NOENT 45,1273 - NFSERR_IO 46,1308 - NFSERR_NXIO 47,1341 - NFSERR_EAGAIN 48,1375 - NFSERR_ACCES 49,1409 - NFSERR_EXIST 50,1445 - NFSERR_XDEV 51,1481 - NFSERR_NODEV 52,1516 - NFSERR_NOTDIR 53,1552 - NFSERR_ISDIR 54,1589 - NFSERR_INVAL 55,1625 - NFSERR_FBIG 56,1661 - NFSERR_NOSPC 57,1696 - NFSERR_ROFS 58,1732 - NFSERR_MLINK 59,1767 - NFSERR_OPNOTSUPP 60,1803 - NFSERR_NAMETOOLONG 61,1840 - NFSERR_NOTEMPTY 62,1881 - NFSERR_DQUOT 63,1920 - NFSERR_STALE 64,1956 - NFSERR_REMOTE 65,1992 - NFSERR_WFLUSH 66,2026 - NFSERR_BADHANDLE 67,2060 - NFSERR_NOT_SYNC 68,2102 - NFSERR_BAD_COOKIE 69,2140 - NFSERR_NOTSUPP 70,2183 - NFSERR_TOOSMALL 71,2224 - NFSERR_SERVERFAULT 72,2265 - NFSERR_BADTYPE 73,2309 - NFSERR_JUKEBOX 74,2350 - NFSERR_SAME 75,2391 - NFSERR_DENIED 76,2429 - NFSERR_EXPIRED 77,2469 - NFSERR_LOCKED 78,2510 - NFSERR_GRACE 79,2550 - NFSERR_FHEXPIRED 80,2589 - NFSERR_SHARE_DENIED 81,2631 - NFSERR_WRONGSEC 82,2676 - NFSERR_CLID_INUSE 83,2717 - NFSERR_RESOURCE 84,2760 - NFSERR_MOVED 85,2801 - NFSERR_NOFILEHANDLE 86,2840 - NFSERR_MINOR_VERS_MISMATCH 87,2885 - NFSERR_STALE_CLIENTID 88,2933 - NFSERR_STALE_STATEID 89,2980 - NFSERR_OLD_STATEID 90,3028 - NFSERR_BAD_STATEID 91,3076 - NFSERR_BAD_SEQID 92,3126 - NFSERR_NOT_SAME 93,3168 - NFSERR_LOCK_RANGE 94,3209 - NFSERR_SYMLINK 95,3252 - NFSERR_RESTOREFH 96,3293 - NFSERR_LEASE_MOVED 97,3335 - NFSERR_ATTRNOTSUPP 98,3379 - NFSERR_NO_GRACE 99,3423 - NFSERR_RECLAIM_BAD 100,3464 - NFSERR_RECLAIM_CONFLICT 101,3508 - NFSERR_BAD_XDR 102,3556 - NFSERR_LOCKS_HELD 103,3597 - NFSERR_OPENMODE 104,3640 - NFSERR_BADOWNER 105,3687 - NFSERR_BADCHAR 106,3734 - NFSERR_BADNAME 107,3781 - NFSERR_BAD_RANGE 108,3828 - NFSERR_LOCK_NOTSUPP 109,3875 - NFSERR_OP_ILLEGAL 110,3922 - NFSERR_DEADLOCK 111,3969 - NFSERR_FILE_OPEN 112,4016 - NFSERR_ADMIN_REVOKED 113,4063 - NFSERR_CB_PATH_DOWN 114,4110 - NFSERR_REPLAY_ME 115,4157 -enum nfs_ftype nfs_ftype120,4268 - NFNON 121,4285 - NFREG 122,4297 - NFDIR 123,4309 - NFBLK 124,4321 - NFCHR 125,4333 - NFLNK 126,4345 - NFSOCK 127,4357 - NFBAD 128,4370 - NFFIFO 129,4382 -#define NFS_MAXFHSIZE 136,4489 -struct nfs_fh nfs_fh137,4516 -static inline int nfs_compare_fh(146,4704 -static inline void nfs_copy_fh(151,4860 -#define NFS_OFFSET_MAX 162,5169 -enum nfs3_stable_how nfs3_stable_how165,5223 - NFS_UNSTABLE 166,5246 - NFS_DATA_SYNC 167,5265 - NFS_FILE_SYNC 168,5285 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/serial.h,2122 -#define _LINUX_SERIAL_H11,201 -struct async_icount async_icount20,336 -#define SERIAL_XMIT_SIZE 29,523 -struct serial_struct serial_struct33,567 -#define ASYNC_CLOSING_WAIT_INF 58,1189 -#define ASYNC_CLOSING_WAIT_NONE 59,1222 -#define PORT_UNKNOWN 64,1309 -#define PORT_8250 65,1332 -#define PORT_16450 66,1352 -#define PORT_16550 67,1373 -#define PORT_16550A 68,1394 -#define PORT_CIRRUS 69,1416 -#define PORT_16650 70,1470 -#define PORT_16650V2 71,1491 -#define PORT_16750 72,1514 -#define PORT_STARTECH 73,1535 -#define PORT_16C950 74,1587 -#define PORT_16654 75,1637 -#define PORT_16850 76,1659 -#define PORT_RSA 77,1681 -#define PORT_MAX 78,1724 -#define SERIAL_IO_PORT 80,1745 -#define SERIAL_IO_HUB6 81,1770 -#define SERIAL_IO_MEM 82,1795 -struct serial_uart_config serial_uart_config84,1820 -#define UART_CLEAR_FIFO 90,1902 -#define UART_USE_FIFO 91,1932 -#define UART_STARTECH 92,1960 -#define UART_NATSEMI 93,1988 -#define ASYNC_HUP_NOTIFY 98,2087 -#define ASYNC_FOURPORT 100,2188 -#define ASYNC_SAK 101,2265 -#define ASYNC_SPLIT_TERMIOS 102,2331 -#define ASYNC_SPD_MASK 104,2409 -#define ASYNC_SPD_HI 105,2439 -#define ASYNC_SPD_VHI 107,2505 -#define ASYNC_SPD_CUST 108,2573 -#define ASYNC_SKIP_TEST 110,2638 -#define ASYNC_AUTO_IRQ 111,2715 -#define ASYNC_SESSION_LOCKOUT 112,2794 -#define ASYNC_PGRP_LOCKOUT 113,2873 -#define ASYNC_CALLOUT_NOHUP 114,2949 -#define ASYNC_HARDPPS_CD 116,3025 -#define ASYNC_SPD_SHI 118,3096 -#define ASYNC_SPD_WARP 119,3163 -#define ASYNC_LOW_LATENCY 121,3232 -#define ASYNC_BUGGY_UART 123,3302 -#define ASYNC_AUTOPROBE 126,3422 -#define ASYNC_FLAGS 128,3500 -#define ASYNC_USR_MASK 129,3560 -#define ASYNC_INITIALIZED 133,3717 -#define ASYNC_NORMAL_ACTIVE 134,3788 -#define ASYNC_BOOT_AUTOCONF 135,3857 -#define ASYNC_CLOSING 136,3931 -#define ASYNC_CTS_FLOW 137,3994 -#define ASYNC_CHECK_CD 138,4055 -#define ASYNC_SHARE_IRQ 139,4109 -#define ASYNC_CONS_FLOW 141,4204 -#define ASYNC_BOOT_ONLYMCA 143,4273 -#define ASYNC_INTERNAL_FLAGS 144,4339 -struct serial_multiport_struct serial_multiport_struct149,4475 -struct serial_icounter_struct serial_icounter_struct167,4850 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/efs_fs_sb.h,291 -#define __EFS_FS_SB_H__10,153 -#define EFS_SUPER_MAGIC 13,214 -#define EFS_MAGIC 16,283 -#define EFS_NEWMAGIC 17,310 -#define IS_EFS_MAGIC(IS_EFS_MAGIC19,341 -#define EFS_SUPER 21,408 -#define EFS_ROOTINODE 22,429 -struct efs_super efs_super25,484 -struct efs_sb_info efs_sb_info49,1658 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/efi.h,4954 -#define _LINUX_EFI_H2,21 -#define EFI_SUCCESS 25,631 -#define EFI_LOAD_ERROR 26,654 -#define EFI_INVALID_PARAMETER 27,720 -#define EFI_UNSUPPORTED 28,784 -#define EFI_BAD_BUFFER_SIZE 29,843 -#define EFI_BUFFER_TOO_SMALL 30,909 -#define EFI_NOT_FOUND 31,972 -typedef unsigned long efi_status_t;efi_status_t33,1030 -typedef u8 efi_bool_t;efi_bool_t34,1066 -typedef u16 efi_char16_t;efi_char16_t35,1089 -} efi_guid_t;efi_guid_t40,1170 -#define EFI_GUID(EFI_GUID42,1185 -} efi_table_hdr_t;efi_table_hdr_t58,1578 -#define EFI_RESERVED_TYPE 65,1652 -#define EFI_LOADER_CODE 66,1682 -#define EFI_LOADER_DATA 67,1711 -#define EFI_BOOT_SERVICES_CODE 68,1740 -#define EFI_BOOT_SERVICES_DATA 69,1775 -#define EFI_RUNTIME_SERVICES_CODE 70,1810 -#define EFI_RUNTIME_SERVICES_DATA 71,1847 -#define EFI_CONVENTIONAL_MEMORY 72,1884 -#define EFI_UNUSABLE_MEMORY 73,1920 -#define EFI_ACPI_RECLAIM_MEMORY 74,1952 -#define EFI_ACPI_MEMORY_NVS 75,1988 -#define EFI_MEMORY_MAPPED_IO 76,2020 -#define EFI_MEMORY_MAPPED_IO_PORT_SPACE 77,2053 -#define EFI_PAL_CODE 78,2096 -#define EFI_MAX_MEMORY_TYPE 79,2122 -#define EFI_MEMORY_UC 82,2179 -#define EFI_MEMORY_WC 83,2246 -#define EFI_MEMORY_WT 84,2321 -#define EFI_MEMORY_WB 85,2393 -#define EFI_MEMORY_WP 86,2462 -#define EFI_MEMORY_RP 87,2534 -#define EFI_MEMORY_XP 88,2605 -#define EFI_MEMORY_RUNTIME 89,2679 -#define EFI_MEMORY_DESCRIPTOR_VERSION 90,2772 -#define EFI_PAGE_SHIFT 92,2813 -} efi_memory_desc_t;efi_memory_desc_t109,3160 -typedef int (*efi_freemem_callback_t)efi_freemem_callback_t111,3182 -#define EFI_TIME_ADJUST_DAYLIGHT 116,3320 -#define EFI_TIME_IN_DAYLIGHT 117,3357 -#define EFI_UNSPECIFIED_TIMEZONE 118,3394 -} efi_time_t;efi_time_t132,3583 -} efi_time_cap_t;efi_time_cap_t138,3665 -#define EFI_RESET_COLD 143,3732 -#define EFI_RESET_WARM 144,3757 -#define EFI_RESET_SHUTDOWN 145,3782 -#define EFI_RUNTIME_SERVICES_SIGNATURE 150,3849 -#define EFI_RUNTIME_SERVICES_REVISION 151,3916 -} efi_runtime_services_t;efi_runtime_services_t166,4354 -typedef efi_status_t efi_get_time_t efi_get_time_t168,4381 -typedef efi_status_t efi_set_time_t efi_set_time_t169,4455 -typedef efi_status_t efi_get_wakeup_time_t efi_get_wakeup_time_t170,4509 -typedef efi_status_t efi_set_wakeup_time_t efi_set_wakeup_time_t172,4621 -typedef efi_status_t efi_get_variable_t efi_get_variable_t173,4702 -typedef efi_status_t efi_get_next_variable_t efi_get_next_variable_t175,4839 -typedef efi_status_t efi_set_variable_t efi_set_variable_t177,4963 -typedef efi_status_t efi_get_next_high_mono_count_t efi_get_next_high_mono_count_t180,5116 -typedef void efi_reset_system_t efi_reset_system_t181,5182 -typedef efi_status_t efi_set_virtual_address_map_t efi_set_virtual_address_map_t183,5303 -#define NULL_GUID 191,5549 -#define MPS_TABLE_GUID 194,5662 -#define ACPI_TABLE_GUID 197,5782 -#define ACPI_20_TABLE_GUID 200,5903 -#define SMBIOS_TABLE_GUID 203,6027 -#define SAL_SYSTEM_TABLE_GUID 206,6150 -#define HCDP_TABLE_GUID 209,6277 -#define UGA_IO_PROTOCOL_GUID 212,6396 -#define EFI_GLOBAL_VARIABLE_GUID 215,6518 -} efi_config_table_t;efi_config_table_t221,6703 -#define EFI_SYSTEM_TABLE_SIGNATURE 223,6726 -#define EFI_SYSTEM_TABLE_REVISION 224,6790 -} efi_system_table_t;efi_system_table_t240,7239 -struct efi_memory_map efi_memory_map242,7262 -extern struct efi efi252,7452 -} efi;272,8234 -efi_guidcmp 275,8260 -efi_guid_unparse(281,8386 -# define efi_enabled 320,9861 -# define efi_enabled 323,9899 -#define EFI_VARIABLE_NON_VOLATILE 329,9960 -#define EFI_VARIABLE_BOOTSERVICE_ACCESS 330,10019 -#define EFI_VARIABLE_RUNTIME_ACCESS 331,10078 -#define EFI_DEV_HW 336,10176 -#define EFI_DEV_PCI 337,10202 -#define EFI_DEV_PCCARD 338,10229 -#define EFI_DEV_MEM_MAPPED 339,10259 -#define EFI_DEV_VENDOR 340,10292 -#define EFI_DEV_CONTROLLER 341,10322 -#define EFI_DEV_ACPI 342,10355 -#define EFI_DEV_BASIC_ACPI 343,10383 -#define EFI_DEV_EXPANDED_ACPI 344,10417 -#define EFI_DEV_MSG 345,10454 -#define EFI_DEV_MSG_ATAPI 346,10481 -#define EFI_DEV_MSG_SCSI 347,10514 -#define EFI_DEV_MSG_FC 348,10546 -#define EFI_DEV_MSG_1394 349,10576 -#define EFI_DEV_MSG_USB 350,10608 -#define EFI_DEV_MSG_USB_CLASS 351,10639 -#define EFI_DEV_MSG_I20 352,10676 -#define EFI_DEV_MSG_MAC 353,10707 -#define EFI_DEV_MSG_IPV4 354,10738 -#define EFI_DEV_MSG_IPV6 355,10770 -#define EFI_DEV_MSG_INFINIBAND 356,10802 -#define EFI_DEV_MSG_UART 357,10839 -#define EFI_DEV_MSG_VENDOR 358,10871 -#define EFI_DEV_MEDIA 359,10905 -#define EFI_DEV_MEDIA_HARD_DRIVE 360,10934 -#define EFI_DEV_MEDIA_CDROM 361,10973 -#define EFI_DEV_MEDIA_VENDOR 362,11008 -#define EFI_DEV_MEDIA_FILE 363,11044 -#define EFI_DEV_MEDIA_PROTOCOL 364,11078 -#define EFI_DEV_BIOS_BOOT 365,11115 -#define EFI_DEV_END_PATH 366,11147 -#define EFI_DEV_END_PATH2 367,11178 -#define EFI_DEV_END_INSTANCE 368,11210 -#define EFI_DEV_END_ENTIRE 369,11248 -struct efi_generic_dev_path efi_generic_dev_path371,11285 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/zftape.h,399 -#define _ZFTAPE_H2,18 -#define ZFTAPE_VERSION 31,1038 -#define ZFTAPE_LABEL 35,1117 -#define ZFT_Q80_MODE 38,1256 -#define ZFT_ZIP_MODE 39,1287 -#define ZFT_RAW_MODE 40,1318 -#define ZFT_MINOR_OP_MASK 41,1349 -#define ZFT_MINOR_MASK 44,1436 -struct mtblksz mtblksz49,1551 -#define MTIOC_ZFTAPE_GETBLKSZ 52,1595 -static inline __s64 zft_div_blksz(59,1711 -static inline __s64 zft_mul_blksz(69,1918 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kd.h,2678 -#define _LINUX_KD_H2,20 -#define GIO_FONT 8,153 -#define PIO_FONT 9,210 -#define GIO_FONTX 11,267 -#define PIO_FONTX 12,336 -struct consolefontdesc consolefontdesc13,405 -#define PIO_FONTRESET 19,623 -#define GIO_CMAP 21,683 -#define PIO_CMAP 22,741 -#define KIOCSOUND 24,800 -#define KDMKTONE 25,866 -#define KDGETLED 27,911 -#define KDSETLED 28,966 -#define LED_SCR 29,1030 -#define LED_NUM 30,1075 -#define LED_CAP 31,1117 -#define KDGKBTYPE 33,1161 -#define KB_84 34,1210 -#define KB_101 35,1231 -#define KB_OTHER 36,1290 -#define KDADDIO 38,1314 -#define KDDELIO 39,1366 -#define KDENABIO 40,1418 -#define KDDISABIO 41,1474 -#define KDSETMODE 43,1533 -#define KD_TEXT 44,1587 -#define KD_GRAPHICS 45,1610 -#define KD_TEXT0 46,1636 -#define KD_TEXT1 47,1674 -#define KDGETMODE 48,1712 -#define KDMAPDISP 50,1761 -#define KDUNMAPDISP 51,1823 -typedef char scrnmap_t;scrnmap_t53,1890 -#define E_TABSZ 54,1914 -#define GIO_SCRNMAP 55,1936 -#define PIO_SCRNMAP 56,2000 -#define GIO_UNISCRNMAP 57,2068 -#define PIO_UNISCRNMAP 58,2137 -#define GIO_UNIMAP 60,2208 -struct unipair unipair61,2280 -struct unimapdesc unimapdesc65,2350 -#define PIO_UNIMAP 69,2432 -#define PIO_UNIMAPCLR 70,2502 -struct unimapinit unimapinit71,2581 -#define UNI_DIRECT_BASE 77,2776 -#define UNI_DIRECT_MASK 78,2841 -#define K_RAW 80,2906 -#define K_XLATE 81,2927 -#define K_MEDIUMRAW 82,2950 -#define K_UNICODE 83,2976 -#define KDGKBMODE 84,3000 -#define KDSKBMODE 85,3058 -#define K_METABIT 87,3117 -#define K_ESCPREFIX 88,3141 -#define KDGKBMETA 89,3167 -#define KDSKBMETA 90,3226 -#define K_SCROLLLOCK 92,3286 -#define K_NUMLOCK 93,3313 -#define K_CAPSLOCK 94,3337 -#define KDGKBLED 95,3362 -#define KDSKBLED 96,3419 -struct kbentry kbentry98,3477 -#define K_NORMTAB 103,3573 -#define K_SHIFTTAB 104,3597 -#define K_ALTTAB 105,3622 -#define K_ALTSHIFTTAB 106,3645 -#define KDGKBENT 108,3674 -#define KDSKBENT 109,3740 -struct kbsentry kbsentry111,3807 -#define KDGKBSENT 115,3883 -#define KDSKBSENT 116,3949 -struct kbdiacr kbdiacr118,4016 -struct kbdiacrs kbdiacrs121,4079 -#define KDGKBDIACR 125,4240 -#define KDSKBDIACR 126,4303 -struct kbkeycode kbkeycode128,4368 -#define KDGETKEYCODE 131,4423 -#define KDSETKEYCODE 132,4489 -#define KDSIGACCEPT 134,4557 -struct kbd_repeat kbd_repeat136,4620 -#define KDKBDREP 142,4785 -#define KDFONTOP 145,4897 -struct console_font_op console_font_op147,4944 -struct console_font console_font155,5206 -#define KD_FONT_OP_SET 161,5364 -#define KD_FONT_OP_GET 162,5405 -#define KD_FONT_OP_SET_DEFAULT 163,5446 -#define KD_FONT_OP_COPY 164,5533 -#define KD_FONT_FLAG_DONT_RECALC 166,5593 -#define KD_FONT_FLAG_OLD 168,5697 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/seqlock.h,1192 -#define __LINUX_SEQLOCK_H2,26 -} seqlock_t;seqlock_t36,1089 -#define SEQLOCK_UNLOCKED 42,1212 -#define seqlock_init(seqlock_init43,1263 -static inline void write_seqlock(50,1509 -static inline void write_sequnlock(57,1618 -static inline int write_tryseqlock(64,1728 -static inline unsigned read_seqbegin(76,1950 -static inline int read_seqretry(91,2328 -typedef struct seqcount seqcount105,2663 -} seqcount_t;seqcount_t107,2709 -#define SEQCNT_ZERO 109,2724 -#define seqcount_init(seqcount_init110,2750 -static inline unsigned read_seqcount_begin(113,2889 -static inline int read_seqcount_retry(125,3202 -static inline void write_seqcount_begin(136,3425 -static inline void write_seqcount_end(142,3513 -#define write_seqlock_irqsave(write_seqlock_irqsave151,3666 -#define write_seqlock_irq(write_seqlock_irq153,3776 -#define write_seqlock_bh(write_seqlock_bh155,3877 -#define write_sequnlock_irqrestore(write_sequnlock_irqrestore158,3985 -#define write_sequnlock_irq(write_sequnlock_irq160,4104 -#define write_sequnlock_bh(write_sequnlock_bh162,4204 -#define read_seqbegin_irqsave(read_seqbegin_irqsave165,4303 -#define read_seqretry_irqrestore(read_seqretry_irqrestore168,4405 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tc_act/tc_gact.h,377 -#define __LINUX_TC_GACT_H2,26 -#define TCA_ACT_GACT 6,81 -struct tc_gacttc_gact7,104 -struct tc_gact_ptc_gact_p13,135 -#define PGACT_NONE 15,154 -#define PGACT_NETRAND 16,188 -#define PGACT_DETERM 17,222 -#define MAX_RAND 18,256 - TCA_GACT_UNSPEC,26,411 - TCA_GACT_TM,27,429 - TCA_GACT_PARMS,28,443 - TCA_GACT_PROB,29,460 - __TCA_GACT_MAX30,476 -#define TCA_GACT_MAX 32,495 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmbr2684.h,919 -#define _LINUX_ATMBR2684_H2,27 -#define BR2684_MEDIA_ETHERNET 11,229 -#define BR2684_MEDIA_802_4 12,275 -#define BR2684_MEDIA_TR 13,318 -#define BR2684_MEDIA_FDDI 14,372 -#define BR2684_MEDIA_802_6 15,402 -#define BR2684_FCSIN_NO 20,522 -#define BR2684_FCSIN_IGNORE 21,551 -#define BR2684_FCSIN_VERIFY 22,583 -#define BR2684_FCSOUT_NO 27,693 -#define BR2684_FCSOUT_SENDZERO 28,722 -#define BR2684_FCSOUT_GENERATE 29,757 -#define BR2684_ENCAPS_VC 34,843 -#define BR2684_ENCAPS_LLC 35,885 -#define BR2684_ENCAPS_AUTODETECT 36,915 -struct atm_newif_br2684 atm_newif_br268443,1152 -#define BR2684_FIND_BYNOTHING 54,1457 -#define BR2684_FIND_BYNUM 55,1491 -#define BR2684_FIND_BYIFNAME 56,1521 -struct br2684_if_spec br2684_if_spec57,1554 -struct atm_backend_br2684 atm_backend_br268470,1856 -struct br2684_filter br2684_filter88,2514 -struct br2684_filter_set br2684_filter_set93,2623 -#define BR2684_SETFILT 98,2715 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd_idmap.h,65 -#define LINUX_NFSD_IDMAP_H38,1743 -#define IDMAP_NAMESZ 44,1857 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_packet.h,1099 -#define __LINUX_IF_PACKET_H2,28 -struct sockaddr_pktsockaddr_pkt4,57 -struct sockaddr_llsockaddr_ll11,175 -#define PACKET_HOST 24,407 -#define PACKET_BROADCAST 25,444 -#define PACKET_MULTICAST 26,486 -#define PACKET_OTHERHOST 27,530 -#define PACKET_OUTGOING 28,581 -#define PACKET_LOOPBACK 30,681 -#define PACKET_FASTROUTE 31,740 -#define PACKET_ADD_MEMBERSHIP 35,821 -#define PACKET_DROP_MEMBERSHIP 36,854 -#define PACKET_RECV_OUTPUT 37,888 -#define PACKET_RX_RING 39,972 -#define PACKET_STATISTICS 40,999 -#define PACKET_COPY_THRESH 41,1028 -struct tpacket_statstpacket_stats43,1059 -struct tpacket_hdrtpacket_hdr49,1136 -#define TP_STATUS_KERNEL 52,1183 -#define TP_STATUS_USER 53,1210 -#define TP_STATUS_COPY 54,1236 -#define TP_STATUS_LOSING 55,1262 -#define TP_STATUS_CSUMNOTREADY 56,1289 -#define TPACKET_ALIGNMENT 65,1467 -#define TPACKET_ALIGN(TPACKET_ALIGN66,1496 -#define TPACKET_HDRLEN 67,1572 -struct tpacket_reqtpacket_req82,2072 -struct packet_mreqpacket_mreq90,2320 -#define PACKET_MR_MULTICAST 98,2443 -#define PACKET_MR_PROMISC 99,2473 -#define PACKET_MR_ALLMULTI 100,2501 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/delay.h,153 -#define _LINUX_DELAY_H2,23 -#define MAX_UDELAY_MS 25,767 -#define mdelay(mdelay28,799 -#define ndelay(ndelay37,986 -static inline void ssleep(43,1125 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sctp.h,11182 -#define __LINUX_SCTP_H__52,1952 -typedef struct sctphdr sctphdr59,2122 -} __attribute__((packed)packed64,2205 -typedef struct sctp_chunkhdr sctp_chunkhdr67,2294 -} __attribute__((packed)packed71,2365 - SCTP_CID_DATA 80,2657 - SCTP_CID_INIT 81,2679 - SCTP_CID_INIT_ACK 82,2708 - SCTP_CID_SACK 83,2740 - SCTP_CID_HEARTBEAT 84,2769 - SCTP_CID_HEARTBEAT_ACK 85,2802 - SCTP_CID_ABORT 86,2839 - SCTP_CID_SHUTDOWN 87,2869 - SCTP_CID_SHUTDOWN_ACK 88,2901 - SCTP_CID_ERROR 89,2937 - SCTP_CID_COOKIE_ECHO 90,2967 - SCTP_CID_COOKIE_ACK 91,3003 - SCTP_CID_ECN_ECNE 92,3045 - SCTP_CID_ECN_CWR 93,3078 - SCTP_CID_SHUTDOWN_COMPLETE 94,3110 - SCTP_CID_FWD_TSN 97,3175 - SCTP_CID_FWD_TSN = 0xC0,97,3175 - SCTP_CID_ASCONF 100,3248 - SCTP_CID_ASCONF = 0xC1,100,3248 - SCTP_CID_ASCONF_ACK 101,3275 - SCTP_CID_ASCONF_ACK = 0x80,101,3275 -} sctp_cid_t;sctp_cid_t102,3305 - SCTP_CID_ACTION_DISCARD 111,3539 - SCTP_CID_ACTION_DISCARD = 0x00,111,3539 - SCTP_CID_ACTION_DISCARD_ERR 112,3576 - SCTP_CID_ACTION_DISCARD_ERR = 0x40,112,3576 - SCTP_CID_ACTION_SKIP 113,3613 - SCTP_CID_ACTION_SKIP = 0x80,113,3613 - SCTP_CID_ACTION_SKIP_ERR 114,3650 - SCTP_CID_ACTION_SKIP_ERR = 0xc0,114,3650 -} sctp_cid_action_t;sctp_cid_action_t115,3687 -enum { SCTP_CID_ACTION_MASK 117,3709 -enum { SCTP_CID_ACTION_MASK = 0xc0,117,3709 -enum { SCTP_CHUNK_FLAG_T 125,4004 -enum { SCTP_CHUNK_FLAG_T = 0x01 125,4004 -#define sctp_test_T_bit(sctp_test_T_bit149,4802 -typedef struct sctp_paramhdr sctp_paramhdr155,4954 -} __attribute__((packed)packed158,5013 - SCTP_PARAM_HEARTBEAT_INFO 163,5103 - SCTP_PARAM_HEARTBEAT_INFO = __constant_htons(163,5103 - SCTP_PARAM_IPV4_ADDRESS 165,5186 - SCTP_PARAM_IPV4_ADDRESS = __constant_htons(165,5186 - SCTP_PARAM_IPV6_ADDRESS 166,5236 - SCTP_PARAM_IPV6_ADDRESS = __constant_htons(166,5236 - SCTP_PARAM_STATE_COOKIE 167,5286 - SCTP_PARAM_STATE_COOKIE = __constant_htons(167,5286 - SCTP_PARAM_UNRECOGNIZED_PARAMETERS 168,5336 - SCTP_PARAM_UNRECOGNIZED_PARAMETERS = __constant_htons(168,5336 - SCTP_PARAM_COOKIE_PRESERVATIVE 169,5395 - SCTP_PARAM_COOKIE_PRESERVATIVE = __constant_htons(169,5395 - SCTP_PARAM_HOST_NAME_ADDRESS 170,5451 - SCTP_PARAM_HOST_NAME_ADDRESS = __constant_htons(170,5451 - SCTP_PARAM_SUPPORTED_ADDRESS_TYPES 171,5506 - SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = __constant_htons(171,5506 - SCTP_PARAM_ECN_CAPABLE 172,5566 - SCTP_PARAM_ECN_CAPABLE = __constant_htons(172,5566 - SCTP_PARAM_ECN_CAPABLE = __constant_htons(0x8000)172,5566 - SCTP_PARAM_FWD_TSN_SUPPORT 175,5644 - SCTP_PARAM_FWD_TSN_SUPPORT = __constant_htons(175,5644 - SCTP_PARAM_FWD_TSN_SUPPORT = __constant_htons(0xc000)175,5644 - SCTP_PARAM_ADD_IP 178,5738 - SCTP_PARAM_ADD_IP = __constant_htons(178,5738 - SCTP_PARAM_ADD_IP = __constant_htons(0xc001)178,5738 - SCTP_PARAM_DEL_IP 179,5786 - SCTP_PARAM_DEL_IP = __constant_htons(179,5786 - SCTP_PARAM_DEL_IP = __constant_htons(0xc002)179,5786 - SCTP_PARAM_ERR_CAUSE 180,5834 - SCTP_PARAM_ERR_CAUSE = __constant_htons(180,5834 - SCTP_PARAM_ERR_CAUSE = __constant_htons(0xc003)180,5834 - SCTP_PARAM_SET_PRIMARY 181,5885 - SCTP_PARAM_SET_PRIMARY = __constant_htons(181,5885 - SCTP_PARAM_SET_PRIMARY = __constant_htons(0xc004)181,5885 - SCTP_PARAM_SUCCESS_REPORT 182,5938 - SCTP_PARAM_SUCCESS_REPORT = __constant_htons(182,5938 - SCTP_PARAM_SUCCESS_REPORT = __constant_htons(0xc005)182,5938 - SCTP_PARAM_ADAPTION_LAYER_IND 183,5993 - SCTP_PARAM_ADAPTION_LAYER_IND = __constant_htons(183,5993 - SCTP_PARAM_ADAPTION_LAYER_IND = __constant_htons(0xc006)183,5993 -} sctp_param_t;sctp_param_t185,6055 - SCTP_PARAM_ACTION_DISCARD 195,6317 - SCTP_PARAM_ACTION_DISCARD = __constant_htons(195,6317 - SCTP_PARAM_ACTION_DISCARD = __constant_htons(0x0000)195,6317 - SCTP_PARAM_ACTION_DISCARD_ERR 196,6376 - SCTP_PARAM_ACTION_DISCARD_ERR = __constant_htons(196,6376 - SCTP_PARAM_ACTION_DISCARD_ERR = __constant_htons(0x4000)196,6376 - SCTP_PARAM_ACTION_SKIP 197,6435 - SCTP_PARAM_ACTION_SKIP = __constant_htons(197,6435 - SCTP_PARAM_ACTION_SKIP = __constant_htons(0x8000)197,6435 - SCTP_PARAM_ACTION_SKIP_ERR 198,6494 - SCTP_PARAM_ACTION_SKIP_ERR = __constant_htons(198,6494 - SCTP_PARAM_ACTION_SKIP_ERR = __constant_htons(0xc000)198,6494 -} sctp_param_action_t;sctp_param_action_t199,6553 -enum { SCTP_PARAM_ACTION_MASK 201,6577 -enum { SCTP_PARAM_ACTION_MASK = __constant_htons(201,6577 -enum { SCTP_PARAM_ACTION_MASK = __constant_htons(0xc000)201,6577 -typedef struct sctp_datahdr sctp_datahdr205,6693 -} __attribute__((packed)packed211,6794 -typedef struct sctp_data_chunk sctp_data_chunk213,6837 -} __attribute__((packed)packed216,6939 - SCTP_DATA_MIDDLE_FRAG 220,7024 - SCTP_DATA_MIDDLE_FRAG = 0x00,220,7024 - SCTP_DATA_LAST_FRAG 221,7055 - SCTP_DATA_LAST_FRAG = 0x01,221,7055 - SCTP_DATA_FIRST_FRAG 222,7084 - SCTP_DATA_FIRST_FRAG = 0x02,222,7084 - SCTP_DATA_NOT_FRAG 223,7114 - SCTP_DATA_NOT_FRAG = 0x03,223,7114 - SCTP_DATA_UNORDERED 224,7142 - SCTP_DATA_UNORDERED = 0x04,224,7142 -enum { SCTP_DATA_FRAG_MASK 226,7174 -enum { SCTP_DATA_FRAG_MASK = 0x03,226,7174 -typedef struct sctp_inithdr sctp_inithdr234,7350 -} __attribute__((packed)packed241,7507 -typedef struct sctp_init_chunk sctp_init_chunk243,7550 -} __attribute__((packed)packed246,7637 -typedef struct sctp_ipv4addr_param sctp_ipv4addr_param250,7734 -} __attribute__((packed)packed253,7822 -typedef struct sctp_ipv6addr_param sctp_ipv6addr_param256,7922 -} __attribute__((packed)packed259,8010 -typedef struct sctp_cookie_preserve_param sctp_cookie_preserve_param262,8106 -} __attribute__((packed)packed265,8215 -typedef struct sctp_hostname_param sctp_hostname_param268,8317 -} __attribute__((packed)packed271,8404 -typedef struct sctp_supported_addrs_param sctp_supported_addrs_param274,8505 -} __attribute__((packed)packed277,8597 -typedef struct sctp_ecn_capable_param sctp_ecn_capable_param280,8692 -} __attribute__((packed)packed282,8760 -typedef sctp_init_chunk_t sctp_initack_chunk_t;sctp_initack_chunk_t290,8981 -typedef struct sctp_cookie_param sctp_cookie_param293,9069 -} __attribute__((packed)packed296,9139 -typedef struct sctp_unrecognized_param sctp_unrecognized_param299,9237 -} __attribute__((packed)packed302,9337 -typedef struct sctp_gap_ack_block sctp_gap_ack_block314,9653 -} __attribute__((packed)packed317,9715 -typedef uint32_t sctp_dup_tsn_t;sctp_dup_tsn_t319,9764 -} sctp_sack_variable_t;sctp_sack_variable_t324,9870 -typedef struct sctp_sackhdr sctp_sackhdr326,9895 -} __attribute__((packed)packed332,10043 -typedef struct sctp_sack_chunk sctp_sack_chunk334,10086 -} __attribute__((packed)packed337,10173 -typedef struct sctp_heartbeathdr sctp_heartbeathdr347,10467 -} __attribute__((packed)packed349,10525 -typedef struct sctp_heartbeat_chunk sctp_heartbeat_chunk351,10573 -} __attribute__((packed)packed354,10668 -typedef struct sctp_abort_chunk sctp_abort_chunk361,10883 -} __attribute__((packed)packed363,10945 -typedef struct sctp_shutdownhdr sctp_shutdownhdr369,11113 -} __attribute__((packed)packed371,11167 -struct sctp_shutdown_chunk_t sctp_shutdown_chunk_t373,11214 -typedef struct sctp_errhdr sctp_errhdr380,11414 -} __attribute__((packed)packed384,11492 -typedef struct sctp_operr_chunk sctp_operr_chunk386,11534 -} __attribute__((packed)packed389,11629 - SCTP_ERROR_NO_ERROR 412,12396 - SCTP_ERROR_NO_ERROR = __constant_htons(412,12396 - SCTP_ERROR_NO_ERROR = __constant_htons(0x00)412,12396 - SCTP_ERROR_INV_STRM 413,12446 - SCTP_ERROR_INV_STRM = __constant_htons(413,12446 - SCTP_ERROR_INV_STRM = __constant_htons(0x01)413,12446 - SCTP_ERROR_MISS_PARAM 414,12496 - SCTP_ERROR_MISS_PARAM = __constant_htons(414,12496 - SCTP_ERROR_MISS_PARAM = __constant_htons(0x02)414,12496 - SCTP_ERROR_STALE_COOKIE 415,12549 - SCTP_ERROR_STALE_COOKIE = __constant_htons(415,12549 - SCTP_ERROR_STALE_COOKIE = __constant_htons(0x03)415,12549 - SCTP_ERROR_NO_RESOURCE 416,12603 - SCTP_ERROR_NO_RESOURCE = __constant_htons(416,12603 - SCTP_ERROR_NO_RESOURCE = __constant_htons(0x04)416,12603 - SCTP_ERROR_DNS_FAILED 417,12657 - SCTP_ERROR_DNS_FAILED = __constant_htons(417,12657 - SCTP_ERROR_DNS_FAILED = __constant_htons(0x05)417,12657 - SCTP_ERROR_UNKNOWN_CHUNK 418,12711 - SCTP_ERROR_UNKNOWN_CHUNK = __constant_htons(418,12711 - SCTP_ERROR_UNKNOWN_CHUNK = __constant_htons(0x06)418,12711 - SCTP_ERROR_INV_PARAM 419,12765 - SCTP_ERROR_INV_PARAM = __constant_htons(419,12765 - SCTP_ERROR_INV_PARAM = __constant_htons(0x07)419,12765 - SCTP_ERROR_UNKNOWN_PARAM 420,12819 - SCTP_ERROR_UNKNOWN_PARAM = __constant_htons(420,12819 - SCTP_ERROR_UNKNOWN_PARAM = __constant_htons(0x08)420,12819 - SCTP_ERROR_NO_DATA 421,12873 - SCTP_ERROR_NO_DATA = __constant_htons(421,12873 - SCTP_ERROR_NO_DATA = __constant_htons(0x09)421,12873 - SCTP_ERROR_COOKIE_IN_SHUTDOWN 422,12927 - SCTP_ERROR_COOKIE_IN_SHUTDOWN = __constant_htons(422,12927 - SCTP_ERROR_COOKIE_IN_SHUTDOWN = __constant_htons(0x0a)422,12927 - SCTP_ERROR_RESTART 431,13135 - SCTP_ERROR_RESTART = __constant_htons(431,13135 - SCTP_ERROR_RESTART = __constant_htons(0x0b)431,13135 - SCTP_ERROR_USER_ABORT 432,13189 - SCTP_ERROR_USER_ABORT = __constant_htons(432,13189 - SCTP_ERROR_USER_ABORT = __constant_htons(0x0c)432,13189 - SCTP_ERROR_PROTO_VIOLATION 433,13243 - SCTP_ERROR_PROTO_VIOLATION = __constant_htons(433,13243 - SCTP_ERROR_PROTO_VIOLATION = __constant_htons(0x0d)433,13243 - SCTP_ERROR_DEL_LAST_IP 448,13840 - SCTP_ERROR_DEL_LAST_IP = __constant_htons(448,13840 - SCTP_ERROR_DEL_LAST_IP = __constant_htons(0x0100)448,13840 - SCTP_ERROR_RSRC_LOW 449,13892 - SCTP_ERROR_RSRC_LOW = __constant_htons(449,13892 - SCTP_ERROR_RSRC_LOW = __constant_htons(0x0101)449,13892 - SCTP_ERROR_DEL_SRC_IP 450,13941 - SCTP_ERROR_DEL_SRC_IP = __constant_htons(450,13941 - SCTP_ERROR_DEL_SRC_IP = __constant_htons(0x0102)450,13941 - SCTP_ERROR_ASCONF_ACK 451,13992 - SCTP_ERROR_ASCONF_ACK = __constant_htons(451,13992 - SCTP_ERROR_ASCONF_ACK = __constant_htons(0x0103)451,13992 - SCTP_ERROR_REQ_REFUSED 452,14045 - SCTP_ERROR_REQ_REFUSED = __constant_htons(452,14045 - SCTP_ERROR_REQ_REFUSED = __constant_htons(0x0104)452,14045 -} sctp_error_t;sctp_error_t453,14096 -typedef struct sctp_ecnehdr sctp_ecnehdr460,14235 -} sctp_ecnehdr_t;sctp_ecnehdr_t462,14284 -typedef struct sctp_ecne_chunk sctp_ecne_chunk464,14303 -} __attribute__((packed)packed467,14390 -typedef struct sctp_cwrhdr sctp_cwrhdr472,14543 -} sctp_cwrhdr_t;sctp_cwrhdr_t474,14591 -typedef struct sctp_cwr_chunk sctp_cwr_chunk476,14609 -} __attribute__((packed)packed479,14693 -struct sctp_fwdtsn_skip sctp_fwdtsn_skip527,17062 -struct sctp_fwdtsn_hdr sctp_fwdtsn_hdr532,17143 -struct sctp_fwdtsn_chunk sctp_fwdtsn_chunk537,17248 -typedef struct sctp_addip_param sctp_addip_param575,18704 -} __attribute__((packed)packed578,18783 -typedef struct sctp_addiphdr sctp_addiphdr580,18830 -} __attribute__((packed)packed583,18893 -typedef struct sctp_addip_chunk sctp_addip_chunk585,18937 -} __attribute__((packed)packed588,19027 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/umem.h,2800 -#define _DRIVERS_BLOCK_MM_H13,307 -#define IRQ_TIMEOUT 16,337 -#define MEMCTRLSTATUS_MAGIC 19,397 -#define MM_MAGIC_VALUE 20,430 -#define MEMCTRLSTATUS_BATTERY 22,476 -#define BATTERY_1_DISABLED 23,511 -#define BATTERY_1_FAILURE 24,544 -#define BATTERY_2_DISABLED 25,576 -#define BATTERY_2_FAILURE 26,609 -#define MEMCTRLSTATUS_MEMORY 28,642 -#define MEM_128_MB 29,676 -#define MEM_256_MB 30,702 -#define MEM_512_MB 31,728 -#define MEM_1_GB 32,754 -#define MEM_2_GB 33,778 -#define MEMCTRLCMD_LEDCTRL 35,803 -#define LED_REMOVE 36,835 -#define LED_FAULT 37,858 -#define LED_POWER 38,880 -#define LED_FLIP 39,902 -#define LED_OFF 40,925 -#define LED_ON 41,948 -#define LED_FLASH_3_5 42,971 -#define LED_FLASH_7_0 43,1000 -#define LED_POWER_ON 44,1029 -#define LED_POWER_OFF 45,1057 -#define USER_BIT1 46,1086 -#define USER_BIT2 47,1111 -#define MEMORY_INITIALIZED 49,1137 -#define MEMCTRLCMD_ERRCTRL 51,1175 -#define EDC_NONE_DEFAULT 52,1207 -#define EDC_NONE 53,1238 -#define EDC_STORE_READ 54,1262 -#define EDC_STORE_CORRECT 55,1292 -#define MEMCTRLCMD_ERRCNT 57,1325 -#define MEMCTRLCMD_ERRSTATUS 58,1356 -#define ERROR_DATA_LOG 60,1391 -#define ERROR_ADDR_LOG 61,1420 -#define ERROR_COUNT 62,1449 -#define ERROR_SYNDROME 63,1475 -#define ERROR_CHECK 64,1504 -#define DMA_PCI_ADDR 66,1531 -#define DMA_LOCAL_ADDR 67,1558 -#define DMA_TRANSFER_SIZE 68,1587 -#define DMA_DESCRIPTOR_ADDR 69,1618 -#define DMA_SEMAPHORE_ADDR 70,1651 -#define DMA_STATUS_CTRL 71,1683 -#define DMASCR_GO 72,1713 -#define DMASCR_TRANSFER_READ 73,1741 -#define DMASCR_CHAIN_EN 74,1779 -#define DMASCR_SEM_EN 75,1812 -#define DMASCR_DMA_COMP_EN 76,1844 -#define DMASCR_CHAIN_COMP_EN 77,1880 -#define DMASCR_ERR_INT_EN 78,1918 -#define DMASCR_PARITY_INT_EN 79,1953 -#define DMASCR_ANY_ERR 80,1991 -#define DMASCR_MBE_ERR 81,2024 -#define DMASCR_PARITY_ERR_REP 82,2057 -#define DMASCR_PARITY_ERR_DET 83,2096 -#define DMASCR_SYSTEM_ERR_SIG 84,2135 -#define DMASCR_TARGET_ABT 85,2174 -#define DMASCR_MASTER_ABT 86,2209 -#define DMASCR_DMA_COMPLETE 87,2244 -#define DMASCR_CHAIN_COMPLETE 88,2281 -#define DMASCR_READ 99,2789 -#define DMASCR_READLINE 100,2829 -#define DMASCR_READMULTI 101,2873 -#define DMASCR_ERROR_MASK 104,2920 -#define DMASCR_HARD_ERROR 105,3068 -#define WINDOWMAP_WINNUM 107,3200 -#define DMA_READ_FROM_HOST 109,3231 -#define DMA_WRITE_TO_HOST 110,3260 -struct mm_dma_desc mm_dma_desc112,3289 -#define PCI_VENDOR_ID_MICRO_MEMORY 128,3572 -#define PCI_DEVICE_ID_MICRO_MEMORY_5415CN 129,3615 -#define PCI_DEVICE_ID_MICRO_MEMORY_5425CN 130,3664 -#define PCI_DEVICE_ID_MICRO_MEMORY_6155 131,3713 -#define UM_FLAG_DMA_IN_REGS 134,3789 -#define UM_FLAG_NO_BYTE_STATUS 135,3820 -#define UM_FLAG_NO_BATTREG 136,3854 -#define UM_FLAG_NO_BATT 137,3884 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kmod.h,160 -#define __LINUX_KMOD_H__2,25 -#define KMOD_PATH_LEN 26,918 -extern int request_module(31,1058 -#define try_then_request_module(try_then_request_module36,1240 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/com20020.h,925 -#define __COM20020_H28,870 -#define ARCNET_TOTAL_SIZE 34,1045 -#define _INTMASK 37,1107 -#define _STATUS 38,1151 -#define _COMMAND 39,1195 -#define _DIAGSTAT 40,1255 -#define _ADDR_HI 41,1317 -#define _ADDR_LO 42,1391 -#define _MEMDATA 43,1420 -#define _SUBADR 44,1486 -#define _CONFIG 45,1555 -#define _XREG 46,1613 -#define RDDATAflag 50,1733 -#define NEWNXTIDflag 53,1831 -#define RESETcfg 56,1933 -#define TXENcfg 57,1985 -#define PROMISCset 60,2048 -#define P1MODE 61,2093 -#define SLOWARB 62,2152 -#define SUB_TENTATIVE 65,2235 -#define SUB_NODE 66,2283 -#define SUB_SETUP1 67,2316 -#define SUB_TEST 68,2359 -#define SUB_SETUP2 71,2424 -#define SUB_BUSCTL 72,2466 -#define SUB_DMACOUNT 73,2513 -#define SET_SUBADR(SET_SUBADR75,2561 -#define ARCRESET 92,2791 -#define ARCRESET0 96,2950 -#define ASTATUS(ASTATUS101,3105 -#define ACOMMAND(ACOMMAND102,3136 -#define AINTMASK(AINTMASK103,3179 -#define SETCONF 105,3223 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/capability.h,2371 -#define _LINUX_CAPABILITY_H14,359 -#define _LINUX_CAPABILITY_VERSION 30,934 -typedef struct __user_cap_header_struct __user_cap_header_struct32,981 -} __user *cap_user_header_t;cap_user_header_t35,1049 -typedef struct __user_cap_data_struct __user_cap_data_struct37,1080 -} __user *cap_user_data_t;cap_user_data_t41,1197 -typedef struct kernel_cap_struct kernel_cap_struct53,1387 -} kernel_cap_t;kernel_cap_t55,1434 -typedef __u32 kernel_cap_t;kernel_cap_t59,1458 -#define _USER_CAP_HEADER_SIZE 63,1497 -#define _KERNEL_CAP_T_SIZE 64,1546 -#define CAP_CHOWN 77,1814 -#define CAP_DAC_OVERRIDE 83,1994 -#define CAP_DAC_READ_SEARCH 89,2230 -#define CAP_FOWNER 95,2476 -#define CAP_FSETID 104,2921 -#define CAP_FS_MASK 108,3028 -#define CAP_KILL 114,3245 -#define CAP_SETGID 120,3396 -#define CAP_SETUID 125,3541 -#define CAP_SETPCAP 135,3741 -#define CAP_LINUX_IMMUTABLE 139,3843 -#define CAP_NET_BIND_SERVICE 144,3969 -#define CAP_NET_BROADCAST 148,4049 -#define CAP_NET_ADMIN 164,4656 -#define CAP_NET_RAW 169,4755 -#define CAP_IPC_LOCK 175,4921 -#define CAP_IPC_OWNER 179,4991 -#define CAP_SYS_MODULE 183,5115 -#define CAP_SYS_RAWIO 188,5245 -#define CAP_SYS_CHROOT 192,5307 -#define CAP_SYS_PTRACE 196,5377 -#define CAP_SYS_PACCT 200,5459 -#define CAP_SYS_ADMIN 239,7185 -#define CAP_SYS_BOOT 243,7247 -#define CAP_SYS_NICE 252,7568 -#define CAP_SYS_RESOURCE 266,8140 -#define CAP_SYS_TIME 272,8286 -#define CAP_SYS_TTY_CONFIG 277,8390 -#define CAP_MKNOD 281,8470 -#define CAP_LEASE 285,8542 -#define to_cap_t(to_cap_t299,8723 -#define cap_t(cap_t300,8749 -#define to_cap_t(to_cap_t304,8782 -#define cap_t(cap_t305,8806 -#define CAP_EMPTY_SET 309,8836 -#define CAP_FULL_SET 310,8876 -#define CAP_INIT_EFF_SET 311,8917 -#define CAP_INIT_INH_SET 312,8986 -#define CAP_TO_MASK(CAP_TO_MASK314,9027 -#define cap_raise(cap_raise315,9061 -#define cap_lower(cap_lower316,9123 -#define cap_raised(cap_raised317,9185 -static inline kernel_cap_t cap_combine(319,9246 -static inline kernel_cap_t cap_intersect(326,9404 -static inline kernel_cap_t cap_drop(333,9564 -static inline kernel_cap_t cap_invert(340,9726 -#define cap_isclear(cap_isclear347,9857 -#define cap_issubset(cap_issubset348,9898 -#define cap_clear(cap_clear350,9956 -#define cap_set_full(cap_set_full351,10016 -#define cap_mask(cap_mask352,10076 -#define cap_is_fs_cap(cap_is_fs_cap354,10147 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dqblk_xfs.h,1382 -#define _LINUX_DQBLK_XFS_H22,905 -#define XQM_CMD(XQM_CMD30,1037 -#define Q_XQUOTAON 31,1109 -#define Q_XQUOTAOFF 32,1175 -#define Q_XGETQUOTA 33,1243 -#define Q_XSETQLIM 34,1306 -#define Q_XGETQSTAT 35,1358 -#define Q_XQUOTARM 36,1422 -#define FS_DQUOT_VERSION 45,1694 -typedef struct fs_disk_quota fs_disk_quota46,1751 -} fs_disk_quota_t;fs_disk_quota_t70,3036 -#define FS_DQ_ISOFT 75,3141 -#define FS_DQ_IHARD 76,3168 -#define FS_DQ_BSOFT 77,3195 -#define FS_DQ_BHARD 78,3222 -#define FS_DQ_RTBSOFT 79,3250 -#define FS_DQ_RTBHARD 80,3279 -#define FS_DQ_LIMIT_MASK 81,3308 -#define FS_DQ_BTIMER 90,3769 -#define FS_DQ_ITIMER 91,3797 -#define FS_DQ_RTBTIMER 92,3825 -#define FS_DQ_TIMER_MASK 93,3856 -#define FS_DQ_BWARNS 103,4345 -#define FS_DQ_IWARNS 104,4373 -#define FS_DQ_RTBWARNS 105,4402 -#define FS_DQ_WARNS_MASK 106,4433 -#define XFS_QUOTA_UDQ_ACCT 111,4589 -#define XFS_QUOTA_UDQ_ENFD 112,4652 -#define XFS_QUOTA_GDQ_ACCT 113,4723 -#define XFS_QUOTA_GDQ_ENFD 114,4787 -#define XFS_QUOTA_PDQ_ACCT 115,4859 -#define XFS_QUOTA_PDQ_ENFD 116,4925 -#define XFS_USER_QUOTA 118,5000 -#define XFS_PROJ_QUOTA 119,5053 -#define XFS_GROUP_QUOTA 120,5109 -#define FS_QSTAT_VERSION 128,5419 -typedef struct fs_qfilestat fs_qfilestat133,5531 -} fs_qfilestat_t;fs_qfilestat_t137,5696 -typedef struct fs_quota_stat fs_quota_stat139,5715 -} fs_quota_stat_t;fs_quota_stat_t151,6336 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ip6_tunnel.h,354 -#define _IP6_TUNNEL_H6,38 -#define IPV6_TLV_TNL_ENCAP_LIMIT 8,61 -#define IPV6_DEFAULT_TNL_ENCAP_LIMIT 9,96 -#define IP6_TNL_F_IGN_ENCAP_LIMIT 12,209 -#define IP6_TNL_F_USE_ORIG_TCLASS 14,304 -#define IP6_TNL_F_USE_ORIG_FLOWLABEL 16,389 -#define IP6_TNL_F_MIP6_DEV 18,463 -#define IP6_TNL_F_RCV_DSCP_COPY 20,532 -struct ip6_tnl_parm ip6_tnl_parm22,570 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/stop_machine.h,77 -#define _LINUX_STOP_MACHINE2,28 -static inline int stop_machine_run(42,1556 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compiler-gcc3.h,359 -# define inline 7,179 -# define __inline__ 8,235 -# define __inline 9,297 -# define __deprecated 13,386 -# define __attribute_used__ 17,468 -# define __attribute_used__ 19,528 -#define __attribute_pure__ 22,592 -#define __attribute_const__ 23,641 -#define noinline 26,721 -#define __must_check 29,796 -#define __compiler_offsetof(__compiler_offsetof33,885 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdla_x25.h,11111 -#define _SDLA_X25_H17,770 -# define PACKED 30,1033 -#define X25_MAX_CHAN 35,1174 -#define X25_MAX_DATA 36,1238 -#define X25_MBOX_OFFS 40,1338 -#define X25_RXMBOX_OFFS 41,1395 -#define X25_STATUS_OFFS 42,1448 -#define X25_MB_VECTOR 43,1507 -#define X25_MISC_HDLC_BITS 44,1569 -#define HDLC_LEVEL 47,1656 -#define X25_LEVEL 48,1680 -#define X25_AND_HDLC_LEVEL 49,1704 -#define DO_HDLC_LEVEL_ERROR_CHECKING 50,1736 -typedef struct X25CmdX25Cmd57,1965 -} TX25Cmd;TX25Cmd69,2469 -#define X25_SET_GLOBAL_VARS 75,2566 -#define X25_READ_MODEM_STATUS 76,2630 -#define X25_READ_CODE_VERSION 77,2690 -#define X25_TRACE_CONFIGURE 78,2760 -#define X25_READ_TRACE_DATA 79,2824 -#define X25_SET_INTERRUPT_MODE 80,2879 -#define X25_READ_INTERRUPT_MODE 81,2951 -#define X25_HDLC_LINK_CONFIGURE 83,3067 -#define X25_HDLC_LINK_OPEN 84,3139 -#define X25_HDLC_LINK_CLOSE 85,3202 -#define X25_HDLC_LINK_SETUP 86,3257 -#define X25_HDLC_LINK_DISC 87,3314 -#define X25_HDLC_LINK_STATUS 88,3373 -#define X25_HDLC_READ_STATS 89,3435 -#define X25_HDLC_FLUSH_STATS 90,3502 -#define X25_HDLC_READ_COMM_ERR 91,3572 -#define X25_HDLC_FLUSH_COMM_ERR 92,3637 -#define X25_HDLC_FLUSH_BUFFERS 93,3703 -#define X25_HDLC_SPRVS_CNT_STAT 94,3775 -#define X25_HDLC_SEND_UI_FRAME 95,3848 -#define X25_HDLC_WRITE 96,3924 -#define X25_HDLC_READ 97,3987 -#define X25_HDLC_READ_CONFIG 98,4049 -#define X25_HDLC_SET_CONFIG 99,4113 -#define SET_PROTOCOL_LEVEL 100,4175 -#define X25_READ 102,4274 -#define X25_WRITE 103,4320 -#define X25_PLACE_CALL 104,4367 -#define X25_ACCEPT_CALL 105,4422 -#define X25_CLEAR_CALL 106,4480 -#define X25_CLEAR_CONFRM 107,4526 -#define X25_RESET 108,4593 -#define X25_RESET_CONFRM 109,4649 -#define X25_RESTART 110,4716 -#define X25_RESTART_CONFRM 111,4776 -#define X25_INTERRUPT 112,4847 -#define X25_INTERRUPT_CONFRM 113,4911 -#define X25_REGISTRATION_RQST 114,4983 -#define X25_REGISTRATION_CONFRM 115,5057 -#define X25_IS_DATA_AVAILABLE 116,5131 -#define X25_INCOMMING_CALL_CTL 117,5193 -#define X25_CONFIGURE_PVC 118,5265 -#define X25_GET_ACTIVE_CHANNELS 119,5316 -#define X25_READ_CHANNEL_CONFIG 120,5389 -#define X25_FLUSH_DATA_BUFFERS 121,5465 -#define X25_READ_HISTORY_TABLE 122,5537 -#define X25_HISTORY_TABLE_CTL 123,5607 -#define X25_GET_TX_D_BIT_STATUS 124,5679 -#define X25_READ_STATISTICS 125,5755 -#define X25_FLUSH_STATISTICS 126,5821 -#define X25_READ_CONFIGURATION 127,5889 -#define X25_SET_CONFIGURATION 128,5962 -#define X25RES_OK 134,6118 -#define X25RES_ERROR 135,6142 -#define X25RES_LINK_NOT_IN_ABM 136,6169 -#define X25RES_LINK_CLOSED 137,6235 -#define X25RES_INVAL_LENGTH 138,6267 -#define X25RES_INVAL_CMD 139,6300 -#define X25RES_UNNUMBERED_FRAME 140,6330 -#define X25RES_FRM_REJECT_MODE 141,6399 -#define X25RES_MODEM_FAILURE 142,6470 -#define X25RES_N2_RETRY_LIMIT 143,6533 -#define X25RES_INVAL_LCN 144,6607 -#define X25RES_INVAL_STATE 145,6674 -#define X25RES_INVAL_DATA_LEN 146,6745 -#define X25RES_NOT_READY 147,6806 -#define X25RES_NETWORK_DOWN 148,6875 -#define X25RES_CHANNEL_IN_USE 149,6908 -#define X25RES_REGST_NOT_SUPPRT 150,6982 -#define X25RES_INVAL_FORMAT 151,7052 -#define X25RES_D_BIT_NOT_SUPPRT 152,7113 -#define X25RES_FACIL_NOT_SUPPRT 153,7187 -#define X25RES_INVAL_CALL_ARG 154,7258 -#define X25RES_INVAL_CALL_DATA 155,7325 -#define X25RES_ASYNC_PACKET 156,7393 -#define X25RES_PROTO_VIOLATION 157,7461 -#define X25RES_PKT_TIMEOUT 158,7531 -#define X25RES_PKT_RETRY_LIMIT 159,7590 -#define X25RES_LINK_DISC 161,7707 -#define X25RES_LINK_IN_ABM 162,7760 -#define X25RES_NO_DATA 163,7815 -#define X25RES_TRACE_INACTIVE 164,7875 -#define X25RES_LINK_IS_OPEN 165,7932 -#define X25RES_LINK_IS_DISC 166,7986 -#define X25RES_LINK_IS_CLOSED 167,8040 -#define X25RES_INVAL_PARAM 168,8097 -#define X25RES_INVAL_CONFIG 169,8154 -#define X25CMD_Q_BIT_MASK 174,8258 -#define X25CMD_D_BIT_MASK 175,8289 -#define X25CMD_M_BIT_MASK 176,8320 -#define ASE_CLEAR_RQST 182,8433 -#define ASE_RESET_RQST 183,8462 -#define ASE_RESTART_RQST 184,8491 -#define ASE_INTERRUPT 185,8521 -#define ASE_DTE_REGISTR_RQST 186,8549 -#define ASE_CALL_RQST 187,8583 -#define ASE_CALL_ACCEPTED 188,8611 -#define ASE_CLEAR_CONFRM 189,8642 -#define ASE_RESET_CONFRM 190,8672 -#define ASE_RESTART_CONFRM 191,8702 -#define ASE_INTERRUPT_CONFRM 192,8734 -#define ASE_DCE_REGISTR_CONFRM 193,8768 -#define ASE_DIAGNOSTIC 194,8804 -#define ASE_CALL_AUTO_CLEAR 195,8833 -#define AUTO_RESPONSE_FLAG 196,8866 -#define TOE_RESTART_RQST 198,8935 -#define TOE_CALL_RQST 199,8965 -#define TOE_CLEAR_RQST 200,8993 -#define TOE_RESET_RQST 201,9022 -#define PVE_CLEAR_RQST 203,9088 -#define PVE_RESET_RQST 204,9117 -#define PVE_RESTART_RQST 205,9146 -#define PVE_DIAGNOSTIC 206,9176 -#define INTR_ON_RX_FRAME 208,9206 -#define INTR_ON_TX_FRAME 209,9247 -#define INTR_ON_MODEM_STATUS_CHANGE 210,9288 -#define INTR_ON_COMMAND_COMPLETE 211,9329 -#define INTR_ON_X25_ASY_TRANSACTION 212,9370 -#define INTR_ON_TIMER 213,9411 -#define DIRECT_RX_INTR_USAGE 214,9443 -#define NO_INTR_PENDING 216,9485 -#define RX_INTR_PENDING 217,9524 -#define TX_INTR_PENDING 218,9556 -#define MODEM_INTR_PENDING 219,9587 -#define COMMAND_COMPLETE_INTR_PENDING 220,9620 -#define X25_ASY_TRANS_INTR_PENDING 221,9664 -#define TIMER_INTR_PENDING 222,9704 -typedef struct X25MboxX25Mbox229,9942 -} TX25Mbox;TX25Mbox234,10124 -typedef struct X25TimeStampX25TimeStamp239,10250 -} TX25TimeStamp;TX25TimeStamp246,10419 -typedef struct X25StatusX25Status253,10626 -} TX25Status;TX25Status265,11237 -#define X25_RX_INTR 270,11295 -#define X25_TX_INTR 271,11344 -#define X25_MODEM_INTR 272,11394 -#define X25_EVENT_INTR 273,11461 -#define X25_CMD_INTR 274,11525 -#define X25_HDLC_ABM 279,11628 -#define X25_RX_READY 280,11680 -#define X25_TRACE_READY 281,11732 -#define X25_EVENT_IND 282,11788 -#define X25_TX_READY 283,11850 -#define X25_XFER_MODE 288,11955 -#define X25_TXWIN_OPEN 289,12021 -#define X25_RXBUF_MASK 290,12076 -typedef struct X25GlobalVarsX25GlobalVars300,12533 -} TX25GlobalVars;TX25GlobalVars305,12736 -#define X25_RAISE_DTR 310,12797 -#define X25_DROP_DTR 311,12824 -typedef struct X25ModemStatusX25ModemStatus316,12968 -} TX25ModemStatus;TX25ModemStatus319,13055 -#define X25_CTS_MASK 324,13117 -#define X25_DCD_MASK 325,13143 -typedef struct X25LinkStatusX25LinkStatus330,13286 -} TX25LinkStatus;TX25LinkStatus337,13615 -#define X25_STATION_DTE 342,13677 -#define X25_STATION_DCE 343,13738 -typedef struct HdlcStatsHdlcStats348,13915 -} THdlcStats;THdlcStats367,15036 -typedef struct HdlcCommErrHdlcCommErr372,15169 -} THdlcCommErr;THdlcCommErr384,15838 -typedef struct X25ConfigX25Config389,15998 -} TX25Config;TX25Config429,17725 -typedef struct X25ChanAlloc X25ChanAlloc434,17859 -} TX25ChanAlloc;TX25ChanAlloc444,18456 -typedef struct X25ChanCfg X25ChanCfg446,18474 -} TX25ChanCfg;TX25ChanCfg451,18730 -#define X25_PVC 456,18786 -#define X25_SVC_IN 457,18819 -#define X25_SVC_TWOWAY 458,18862 -#define X25_SVC_OUT 459,18908 -typedef struct X25StatsX25Stats464,19068 -} TX25Stats;TX25Stats498,21056 -typedef struct X25EventLogX25EventLog503,21188 -} TX25EventLog;TX25EventLog511,21551 -#define X25LOG_INCOMMING 516,21608 -#define X25LOG_APPLICATION 517,21638 -#define X25LOG_AUTOMATIC 518,21671 -#define X25LOG_ERROR 519,21701 -#define X25LOG_TIMEOUT 520,21728 -#define X25LOG_RECOVERY 521,21757 -#define X25LOG_CALL_RQST 526,21830 -#define X25LOG_CALL_ACCEPTED 527,21860 -#define X25LOG_CLEAR_RQST 528,21894 -#define X25LOG_CLEAR_CONFRM 529,21925 -#define X25LOG_RESET_RQST 530,21958 -#define X25LOG_RESET_CONFRM 531,21989 -#define X25LOG_RESTART_RQST 532,22022 -#define X25LOG_RESTART_COMFRM 533,22055 -#define X25LOG_DIAGNOSTIC 534,22090 -#define X25LOG_DTE_REG_RQST 535,22121 -#define X25LOG_DTE_REG_COMFRM 536,22154 -typedef struct X25TraceCfgX25TraceCfg541,22305 -} TX25TraceCfg;TX25TraceCfg545,22470 -#define X25_TRC_ENABLE 550,22528 -#define X25_TRC_TIMESTAMP 551,22589 -#define X25_TRC_DELAY 552,22659 -#define X25_TRC_DATA 553,22725 -#define X25_TRC_SUPERVISORY 554,22789 -#define X25_TRC_ASYNCHRONOUS 555,22864 -#define X25_TRC_HDLC 556,22937 -#define X25_TRC_READ 557,23000 -typedef struct X25Trace X25Trace562,23181 -} TX25Trace;TX25Trace570,23594 -#define X25_TRC_TYPE_MASK 575,23648 -#define X25_TRC_TYPE_RX_FRAME 576,23707 -#define X25_TRC_TYPE_TX_FRAME 577,23769 -#define X25_TRC_TYPE_ERR_FRAME 578,23828 -#define X25_TRC_ERROR_MASK 580,23883 -#define X25_TRCERR_RX_ABORT 581,23943 -#define X25_TRCERR_RX_BADCRC 582,24002 -#define X25_TRCERR_RX_OVERRUN 583,24060 -#define X25_TRCERR_RX_TOO_LONG 584,24124 -#define X25_TRCERR_TX_ABORT 585,24195 -#define X25_TRCERR_TX_UNDERRUN 586,24267 -typedef struct HDLCFrame HDLCFrame592,24563 -} THDLCFrame;THDLCFrame597,24757 -typedef struct X25Pkt X25Pkt599,24772 -} TX25Pkt;TX25Pkt605,25032 -#define X25_Q_BIT_MASK 610,25086 -#define X25_D_BIT_MASK 611,25145 -#define X25_M_BITS_MASK 612,25211 -#define X25_LCN_MSB_MASK 613,25264 -#define X25PKT_DATA 618,25372 -#define X25PKT_SUPERVISORY 619,25421 -#define X25PKT_CALL_RQST 620,25483 -#define X25PKT_CALL_ACCEPTED 621,25541 -#define X25PKT_CLEAR_RQST 622,25605 -#define X25PKT_CLEAR_CONFRM 623,25667 -#define X25PKT_RESET_RQST 624,25725 -#define X25PKT_RESET_CONFRM 625,25787 -#define X25PKT_RESTART_RQST 626,25845 -#define X25PKT_RESTART_CONFRM 627,25911 -#define X25PKT_INTERRUPT 628,25973 -#define X25PKT_INTERRUPT_CONFRM 629,26019 -#define X25PKT_DIAGNOSTIC 630,26085 -#define X25PKT_REGISTR_RQST 631,26133 -#define X25PKT_REGISTR_CONFRM 632,26193 -#define X25PKT_RR_MASKED 633,26260 -#define X25PKT_RNR_MASKED 634,26331 -} mbox_cmd_t;mbox_cmd_t640,26475 -}x25api_hdr_t;x25api_hdr_t652,26800 -}x25api_t;x25api_t658,26893 -#define UDPMGMT_UDP_PROTOCOL 666,26982 -#define UDPMGMT_XPIPE_SIGNATURE 667,27016 -#define UDPMGMT_DRVRSTATS_SIGNATURE 668,27067 -#define UDPMGMT_REQUEST 671,27155 -#define UDPMGMT_REPLY 672,27184 -#define UDP_OFFSET 673,27211 -} cblock_t;cblock_t688,27784 -} x25_udp_pkt_t;x25_udp_pkt_t696,28019 -typedef struct read_hdlc_stat read_hdlc_stat699,28038 -} read_hdlc_stat_t;read_hdlc_stat_t717,28810 -typedef struct read_comms_err_stats{read_comms_err_stats719,28831 -} read_comms_err_stats_t;read_comms_err_stats_t730,29248 -typedef struct trace_data trace_data732,29275 -} trace_data_t;trace_data_t739,29507 -enum {UDP_XPIPE_TYPE}741,29524 -#define XPIPE_ENABLE_TRACING 743,29548 -#define XPIPE_DISABLE_TRACING 744,29601 -#define XPIPE_GET_TRACE_INFO 745,29654 -#define XPIPE_FT1_READ_STATUS 746,29707 -#define XPIPE_DRIVER_STAT_IFSEND 747,29760 -#define XPIPE_DRIVER_STAT_INTR 748,29813 -#define XPIPE_DRIVER_STAT_GEN 749,29866 -#define XPIPE_FLUSH_DRIVER_STATS 750,29919 -#define XPIPE_ROUTER_UP_TIME 751,29972 -#define XPIPE_SET_FT1_MODE 752,30033 -#define XPIPE_FT1_STATUS_CTRL 753,30067 -#define NO_BUFFS_OR_CLOSED_WIN 757,30127 -#define DATA_LENGTH_TOO_BIG 758,30164 -#define NO_DATA_AVAILABLE 759,30201 -#define Z80_TIMEOUT_ERROR 760,30238 -#define NO_BUFFS 761,30278 -#define TRACE_DEFAULT 765,30323 -#define TRACE_SUPERVISOR_FRMS 766,30351 -#define TRACE_ASYNC_FRMS 767,30386 -#define TRACE_ALL_HDLC_FRMS 768,30416 -#define TRACE_DATA_FRMS 769,30449 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ncp_fs_i.h,110 -#define _LINUX_NCP_FS_I9,92 -struct ncp_inode_info ncp_inode_info17,280 -#define NCPI_KLUDGE_SYMLINK 26,446 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_fddi.h,1276 -#define _LINUX_IF_FDDI_H25,949 -#define FDDI_K_ALEN 31,1093 -#define FDDI_K_8022_HLEN 32,1151 -#define FDDI_K_SNAP_HLEN 33,1215 -#define FDDI_K_8022_ZLEN 34,1284 -#define FDDI_K_SNAP_ZLEN 35,1354 -#define FDDI_K_8022_DLEN 36,1429 -#define FDDI_K_SNAP_DLEN 37,1493 -#define FDDI_K_LLC_ZLEN 38,1562 -#define FDDI_K_LLC_LEN 39,1630 -#define FDDI_FC_K_VOID 42,1748 -#define FDDI_FC_K_NON_RESTRICTED_TOKEN 43,1781 -#define FDDI_FC_K_RESTRICTED_TOKEN 44,1826 -#define FDDI_FC_K_SMT_MIN 45,1868 -#define FDDI_FC_K_SMT_MAX 46,1902 -#define FDDI_FC_K_MAC_MIN 47,1939 -#define FDDI_FC_K_MAC_MAX 48,1973 -#define FDDI_FC_K_ASYNC_LLC_MIN 49,2010 -#define FDDI_FC_K_ASYNC_LLC_DEF 50,2049 -#define FDDI_FC_K_ASYNC_LLC_MAX 51,2088 -#define FDDI_FC_K_SYNC_LLC_MIN 52,2127 -#define FDDI_FC_K_SYNC_LLC_MAX 53,2165 -#define FDDI_FC_K_IMPLEMENTOR_MIN 54,2203 -#define FDDI_FC_K_IMPLEMENTOR_MAX 55,2243 -#define FDDI_FC_K_RESERVED_MIN 56,2285 -#define FDDI_FC_K_RESERVED_MAX 57,2323 -#define FDDI_EXTENDED_SAP 60,2398 -#define FDDI_UI_CMD 61,2429 -struct fddi_8022_1_hdrfddi_8022_1_hdr64,2490 -struct fddi_8022_2_hdrfddi_8022_2_hdr72,2722 -#define FDDI_K_OUI_LEN 81,2994 -struct fddi_snap_hdrfddi_snap_hdr82,3019 -struct fddihdrfddihdr92,3319 -struct fddi_statistics fddi_statistics106,3672 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_plip.h,158 -#define _LINUX_IF_PLIP_H12,347 -#define SIOCDEVPLIP 16,401 -struct plipconfplipconf18,437 -#define PLIP_GET_TIMEOUT 25,530 -#define PLIP_SET_TIMEOUT 26,559 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipmi_smi.h,230 -#define __LINUX_IPMI_SMI_H35,1454 -typedef struct ipmi_smi *ipmi_smi_t;ipmi_smi_t45,1740 -struct ipmi_smi_msgipmi_smi_msg60,2457 -struct ipmi_smi_handlersipmi_smi_handlers78,2822 -static inline void ipmi_free_smi_msg(135,5069 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/quotaio_v2.h,478 -#define _LINUX_QUOTAIO_V2_H6,88 -#define V2_INITQMAGICS 14,236 -#define V2_INITQVERSIONS 19,322 -struct v2_disk_dqblk v2_disk_dqblk29,577 -struct v2_disk_dqheader v2_disk_dqheader45,1277 -struct v2_disk_dqinfo v2_disk_dqinfo51,1458 -struct v2_disk_dqdbheader v2_disk_dqdbheader64,2035 -#define V2_DQINFOOFF 72,2304 -#define V2_DQBLKSIZE_BITS 73,2393 -#define V2_DQBLKSIZE 74,2422 -#define V2_DQTREEOFF 75,2510 -#define V2_DQTREEDEPTH 76,2573 -#define V2_DQSTRINBLK 77,2625 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_cablemodem.h,217 -#define _LINUX_CABLEMODEM_H_2,29 -#define SIOCGCMSTATS 15,483 -#define SIOCGCMFIRMWARE 16,550 -#define SIOCGCMFREQUENCY 17,622 -#define SIOCSCMFREQUENCY 18,696 -#define SIOCGCMPIDS 19,770 -#define SIOCSCMPIDS 20,836 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_frad.h,1261 -#define _FRAD_H_25,883 -struct dlci_adddlci_add34,1078 -#define DLCI_GET_CONF 40,1143 -#define DLCI_SET_CONF 41,1186 -struct dlci_conf dlci_conf48,1415 -#define DLCI_GET_SLAVE 66,1735 -#define DLCI_IGNORE_CIR_OUT 69,1815 -#define DLCI_ACCOUNT_CIR_IN 70,1850 -#define DLCI_BUFFER_IF 71,1885 -#define DLCI_VALID_FLAGS 73,1917 -#define DLCI_RET_OK 76,2015 -#define DLCI_RET_ERR 77,2041 -#define DLCI_RET_DROP 78,2068 -#define FRAD_GET_CONF 81,2147 -#define FRAD_SET_CONF 82,2186 -#define FRAD_LAST_IOCTL 84,2230 -struct frad_conf frad_conf91,2436 -#define FRAD_STATION_CPE 114,2786 -#define FRAD_STATION_NODE 115,2818 -#define FRAD_TX_IGNORE_CIR 117,2852 -#define FRAD_RX_ACCOUNT_CIR 118,2886 -#define FRAD_DROP_ABORTED 119,2921 -#define FRAD_BUFFERIF 120,2954 -#define FRAD_STATS 121,2984 -#define FRAD_MCI 122,3011 -#define FRAD_AUTODLCI 123,3036 -#define FRAD_VALID_FLAGS 124,3066 -#define FRAD_CLOCK_INT 126,3099 -#define FRAD_CLOCK_EXT 127,3130 -struct frhdrfrhdr132,3230 -#define IP_NLPID 143,3543 -#define FRAD_I_UI 147,3624 -#define FRAD_P_PADDING 149,3649 -#define FRAD_P_Q933 150,3678 -#define FRAD_P_SNAP 151,3704 -#define FRAD_P_CLNP 152,3730 -#define FRAD_P_IP 153,3756 -struct dlci_localdlci_local155,3781 -struct frad_localfrad_local168,4111 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mm_inline.h,160 -add_page_to_active_list(3,20 -add_page_to_inactive_list(10,169 -del_page_from_active_list(17,324 -del_page_from_inactive_list(24,455 -del_page_from_lru(31,590 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmmpc.h,1555 -#define _ATMMPC_H_2,19 -#define ATMMPC_CTRL 8,115 -#define ATMMPC_DATA 9,157 -#define MPC_SOCKET_INGRESS 11,202 -#define MPC_SOCKET_EGRESS 12,231 -struct atmmpc_ioc atmmpc_ioc14,261 -typedef struct in_ctrl_info in_ctrl_info20,462 -} in_ctrl_info;in_ctrl_info28,795 -typedef struct eg_ctrl_info eg_ctrl_info30,812 -} eg_ctrl_info;eg_ctrl_info39,1154 -struct mpc_parameters mpc_parameters41,1171 -struct k_message k_message50,1584 -} __ATM_API_ALIGN;60,1884 -struct llc_snap_hdr llc_snap_hdr62,1904 -#define TLV_MPOA_DEVICE_TYPE 72,2399 -#define NON_MPOA 75,2498 -#define MPS 76,2520 -#define MPC 77,2542 -#define MPS_AND_MPC 78,2564 -#define MPC_P1 83,2618 -#define MPC_P2 84,2672 -#define MPC_P3 85,2725 -#define MPC_P4 86,2778 -#define MPC_P5 87,2831 -#define MPC_P6 88,2884 -#define HOLDING_TIME_DEFAULT 89,2937 -#define MPC_C1 93,3014 -#define MPC_C2 94,3067 -#define SND_MPOA_RES_RQST 98,3159 -#define SET_MPS_CTRL_ADDR 99,3192 -#define SND_MPOA_RES_RTRY 100,3225 -#define STOP_KEEP_ALIVE_SM 101,3312 -#define EGRESS_ENTRY_REMOVED 102,3345 -#define SND_EGRESS_PURGE 103,3378 -#define DIE 104,3411 -#define DATA_PLANE_PURGE 105,3498 -#define OPEN_INGRESS_SVC 106,3599 -#define MPOA_TRIGGER_RCVD 110,3673 -#define MPOA_RES_REPLY_RCVD 111,3707 -#define INGRESS_PURGE_RCVD 112,3741 -#define EGRESS_PURGE_RCVD 113,3775 -#define MPS_DEATH 114,3809 -#define CACHE_IMPOS_RCVD 115,3843 -#define SET_MPC_CTRL_ADDR 116,3877 -#define SET_MPS_MAC_ADDR 117,3949 -#define CLEAN_UP_AND_EXIT 118,3983 -#define SET_MPC_PARAMS 119,4017 -#define RELOAD 123,4134 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cdev.h,50 -#define _LINUX_CDEV_H2,22 -struct cdev cdev5,63 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/slab.h,925 -#define _LINUX_SLAB_H8,113 -typedef struct kmem_cache_s kmem_cache_t;kmem_cache_t12,161 -#define SLAB_NOFS 22,510 -#define SLAB_NOIO 23,538 -#define SLAB_ATOMIC 24,566 -#define SLAB_USER 25,598 -#define SLAB_KERNEL 26,626 -#define SLAB_DMA 27,658 -#define SLAB_LEVEL_MASK 29,685 -#define SLAB_NO_GROW 31,726 -#define SLAB_DEBUG_FREE 37,919 -#define SLAB_DEBUG_INITIAL 38,997 -#define SLAB_RED_ZONE 39,1074 -#define SLAB_POISON 40,1141 -#define SLAB_NO_REAP 41,1196 -#define SLAB_HWCACHE_ALIGN 42,1263 -#define SLAB_CACHE_DMA 43,1341 -#define SLAB_MUST_HWCACHE_ALIGN 44,1403 -#define SLAB_STORE_USER 45,1470 -#define SLAB_RECLAIM_ACCOUNT 46,1551 -#define SLAB_PANIC 48,1667 -#define SLAB_DESTROY_BY_RCU 49,1741 -#define SLAB_CTOR_CONSTRUCTOR 52,1857 -#define SLAB_CTOR_ATOMIC 53,1933 -#define SLAB_CTOR_VERIFY 54,2005 -struct cache_sizes cache_sizes70,2706 -static inline void *kmalloc(78,2884 -#define CACHE(CACHE82,2986 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tty.h,4643 -#define _LINUX_TTY_H2,21 -#define MIN_NR_CONSOLES 12,207 -#define MAX_NR_CONSOLES 13,264 -#define MAX_NR_USER_CONSOLES 14,322 -#define NR_PTYS 34,834 -#define NR_UNIX98_PTY_DEFAULT 35,904 -#define NR_UNIX98_PTY_MAX 36,982 -#define NR_LDISCS 37,1046 -struct screen_info screen_info43,1132 -#define ORIG_X 82,2261 -#define ORIG_Y 83,2299 -#define ORIG_VIDEO_MODE 84,2337 -#define ORIG_VIDEO_COLS 85,2392 -#define ORIG_VIDEO_EGA_BX 86,2447 -#define ORIG_VIDEO_LINES 87,2505 -#define ORIG_VIDEO_ISVGA 88,2561 -#define ORIG_VIDEO_POINTS 89,2617 -#define VIDEO_TYPE_MDA 91,2682 -#define VIDEO_TYPE_CGA 92,2741 -#define VIDEO_TYPE_EGAM 93,2791 -#define VIDEO_TYPE_EGAC 94,2854 -#define VIDEO_TYPE_VGAC 95,2909 -#define VIDEO_TYPE_VLFB 96,2965 -#define VIDEO_TYPE_PICA_S3 98,3027 -#define VIDEO_TYPE_MIPS_G364 99,3093 -#define VIDEO_TYPE_SGI 100,3165 -#define VIDEO_TYPE_TGAC 102,3242 -#define VIDEO_TYPE_SUN 104,3287 -#define VIDEO_TYPE_SUNPCI 105,3351 -#define VIDEO_TYPE_PMAC 107,3426 -#define __DISABLED_CHAR 114,3691 -#define TTY_FLIPBUF_SIZE 121,3921 -struct tty_flip_buffer tty_flip_buffer123,3951 -#define PTY_BUF_SIZE 137,4325 -#define TTY_NORMAL 143,4478 -#define TTY_BREAK 144,4499 -#define TTY_FRAME 145,4519 -#define TTY_PARITY 146,4539 -#define TTY_OVERRUN 147,4560 -#define INTR_CHAR(INTR_CHAR149,4583 -#define QUIT_CHAR(QUIT_CHAR150,4636 -#define ERASE_CHAR(ERASE_CHAR151,4689 -#define KILL_CHAR(KILL_CHAR152,4744 -#define EOF_CHAR(EOF_CHAR153,4797 -#define TIME_CHAR(TIME_CHAR154,4848 -#define MIN_CHAR(MIN_CHAR155,4901 -#define SWTC_CHAR(SWTC_CHAR156,4952 -#define START_CHAR(START_CHAR157,5005 -#define STOP_CHAR(STOP_CHAR158,5060 -#define SUSP_CHAR(SUSP_CHAR159,5113 -#define EOL_CHAR(EOL_CHAR160,5166 -#define REPRINT_CHAR(REPRINT_CHAR161,5217 -#define DISCARD_CHAR(DISCARD_CHAR162,5276 -#define WERASE_CHAR(WERASE_CHAR163,5335 -#define LNEXT_CHAR(LNEXT_CHAR164,5392 -#define EOL2_CHAR(EOL2_CHAR165,5447 -#define _I_FLAG(_I_FLAG167,5501 -#define _O_FLAG(_O_FLAG168,5556 -#define _C_FLAG(_C_FLAG169,5611 -#define _L_FLAG(_L_FLAG170,5666 -#define I_IGNBRK(I_IGNBRK172,5722 -#define I_BRKINT(I_BRKINT173,5766 -#define I_IGNPAR(I_IGNPAR174,5810 -#define I_PARMRK(I_PARMRK175,5854 -#define I_INPCK(I_INPCK176,5898 -#define I_ISTRIP(I_ISTRIP177,5940 -#define I_INLCR(I_INLCR178,5984 -#define I_IGNCR(I_IGNCR179,6026 -#define I_ICRNL(I_ICRNL180,6068 -#define I_IUCLC(I_IUCLC181,6110 -#define I_IXON(I_IXON182,6152 -#define I_IXANY(I_IXANY183,6192 -#define I_IXOFF(I_IXOFF184,6234 -#define I_IMAXBEL(I_IMAXBEL185,6276 -#define I_IUTF8(I_IUTF8186,6322 -#define O_OPOST(O_OPOST188,6365 -#define O_OLCUC(O_OLCUC189,6407 -#define O_ONLCR(O_ONLCR190,6449 -#define O_OCRNL(O_OCRNL191,6491 -#define O_ONOCR(O_ONOCR192,6533 -#define O_ONLRET(O_ONLRET193,6575 -#define O_OFILL(O_OFILL194,6619 -#define O_OFDEL(O_OFDEL195,6661 -#define O_NLDLY(O_NLDLY196,6703 -#define O_CRDLY(O_CRDLY197,6745 -#define O_TABDLY(O_TABDLY198,6787 -#define O_BSDLY(O_BSDLY199,6831 -#define O_VTDLY(O_VTDLY200,6873 -#define O_FFDLY(O_FFDLY201,6915 -#define C_BAUD(C_BAUD203,6958 -#define C_CSIZE(C_CSIZE204,6999 -#define C_CSTOPB(C_CSTOPB205,7041 -#define C_CREAD(C_CREAD206,7085 -#define C_PARENB(C_PARENB207,7127 -#define C_PARODD(C_PARODD208,7171 -#define C_HUPCL(C_HUPCL209,7215 -#define C_CLOCAL(C_CLOCAL210,7257 -#define C_CIBAUD(C_CIBAUD211,7301 -#define C_CRTSCTS(C_CRTSCTS212,7345 -#define L_ISIG(L_ISIG214,7392 -#define L_ICANON(L_ICANON215,7432 -#define L_XCASE(L_XCASE216,7476 -#define L_ECHO(L_ECHO217,7518 -#define L_ECHOE(L_ECHOE218,7558 -#define L_ECHOK(L_ECHOK219,7600 -#define L_ECHONL(L_ECHONL220,7642 -#define L_NOFLSH(L_NOFLSH221,7686 -#define L_TOSTOP(L_TOSTOP222,7730 -#define L_ECHOCTL(L_ECHOCTL223,7774 -#define L_ECHOPRT(L_ECHOPRT224,7820 -#define L_ECHOKE(L_ECHOKE225,7866 -#define L_FLUSHO(L_FLUSHO226,7910 -#define L_PENDIN(L_PENDIN227,7954 -#define L_IEXTEN(L_IEXTEN228,7998 -struct tty_struct tty_struct242,8624 -#define N_TTY_BUF_SIZE 271,9357 -#define TTY_MAGIC 300,10186 -#define TTY_THROTTLED 310,10520 -#define TTY_IO_ERROR 311,10587 -#define TTY_OTHER_CLOSED 312,10659 -#define TTY_EXCLUSIVE 313,10724 -#define TTY_DEBUG 314,10776 -#define TTY_DO_WRITE_WAKEUP 315,10814 -#define TTY_PUSH 316,10887 -#define TTY_CLOSING 317,10928 -#define TTY_DONT_FLIP 318,10980 -#define TTY_LDISC 319,11030 -#define TTY_HW_COOK_OUT 320,11083 -#define TTY_HW_COOK_IN 321,11148 -#define TTY_PTY_LOCK 322,11212 -#define TTY_NO_WRITE_SPLIT 323,11256 -#define TTY_HUPPED 324,11329 -#define TTY_WRITE_FLUSH(TTY_WRITE_FLUSH326,11382 -static inline dev_t tty_devnum(404,14064 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mempool.h,210 -#define _LINUX_MEMPOOL_H5,62 -typedef void * (mempool_alloc_t)mempool_alloc_t9,113 -typedef void (mempool_free_t)mempool_free_t10,178 -typedef struct mempool_s mempool_s12,242 -} mempool_t;mempool_t22,502 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/openprom_fs.h,70 -#define _LINUX_OPENPROM_FS_H2,29 -#define OPENPROM_SUPER_MAGIC 8,115 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/config.h,29 -#define _LINUX_CONFIG_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/synclink.h,5873 -#define _SYNCLINK_H_13,291 -#define SYNCLINK_H_VERSION 14,312 -#define BOOLEAN 16,344 -#define TRUE 17,364 -#define FALSE 18,379 -#define BIT0 20,396 -#define BIT1 21,416 -#define BIT2 22,436 -#define BIT3 23,456 -#define BIT4 24,476 -#define BIT5 25,496 -#define BIT6 26,516 -#define BIT7 27,536 -#define BIT8 28,556 -#define BIT9 29,576 -#define BIT10 30,596 -#define BIT11 31,617 -#define BIT12 32,638 -#define BIT13 33,659 -#define BIT14 34,680 -#define BIT15 35,701 -#define BIT16 36,722 -#define BIT17 37,747 -#define BIT18 38,772 -#define BIT19 39,797 -#define BIT20 40,822 -#define BIT21 41,847 -#define BIT22 42,872 -#define BIT23 43,897 -#define BIT24 44,922 -#define BIT25 45,947 -#define BIT26 46,972 -#define BIT27 47,997 -#define BIT28 48,1022 -#define BIT29 49,1047 -#define BIT30 50,1072 -#define BIT31 51,1097 -#define HDLC_MAX_FRAME_SIZE 54,1124 -#define MAX_ASYNC_TRANSMIT 55,1158 -#define MAX_ASYNC_BUFFER_SIZE 56,1190 -#define ASYNC_PARITY_NONE 58,1226 -#define ASYNC_PARITY_EVEN 59,1255 -#define ASYNC_PARITY_ODD 60,1284 -#define ASYNC_PARITY_SPACE 61,1312 -#define HDLC_FLAG_UNDERRUN_ABORT7 63,1343 -#define HDLC_FLAG_UNDERRUN_ABORT15 64,1384 -#define HDLC_FLAG_UNDERRUN_FLAG 65,1426 -#define HDLC_FLAG_UNDERRUN_CRC 66,1466 -#define HDLC_FLAG_SHARE_ZERO 67,1505 -#define HDLC_FLAG_AUTO_CTS 68,1542 -#define HDLC_FLAG_AUTO_DCD 69,1577 -#define HDLC_FLAG_AUTO_RTS 70,1612 -#define HDLC_FLAG_RXC_DPLL 71,1647 -#define HDLC_FLAG_RXC_BRG 72,1682 -#define HDLC_FLAG_RXC_TXCPIN 73,1716 -#define HDLC_FLAG_RXC_RXCPIN 74,1753 -#define HDLC_FLAG_TXC_DPLL 75,1790 -#define HDLC_FLAG_TXC_BRG 76,1825 -#define HDLC_FLAG_TXC_TXCPIN 77,1859 -#define HDLC_FLAG_TXC_RXCPIN 78,1896 -#define HDLC_FLAG_DPLL_DIV8 79,1933 -#define HDLC_FLAG_DPLL_DIV16 80,1969 -#define HDLC_FLAG_DPLL_DIV32 81,2006 -#define HDLC_FLAG_HDLC_LOOPMODE 82,2043 -#define HDLC_CRC_NONE 84,2084 -#define HDLC_CRC_16_CCITT 85,2110 -#define HDLC_CRC_32_CCITT 86,2139 -#define HDLC_CRC_MASK 87,2168 -#define HDLC_CRC_RETURN_EX 88,2199 -#define RX_OK 90,2235 -#define RX_CRC_ERROR 91,2254 -#define HDLC_TXIDLE_FLAGS 93,2280 -#define HDLC_TXIDLE_ALT_ZEROS_ONES 94,2309 -#define HDLC_TXIDLE_ZEROS 95,2346 -#define HDLC_TXIDLE_ONES 96,2375 -#define HDLC_TXIDLE_ALT_MARK_SPACE 97,2403 -#define HDLC_TXIDLE_SPACE 98,2440 -#define HDLC_TXIDLE_MARK 99,2469 -#define HDLC_ENCODING_NRZ 101,2498 -#define HDLC_ENCODING_NRZB 102,2528 -#define HDLC_ENCODING_NRZI_MARK 103,2559 -#define HDLC_ENCODING_NRZI_SPACE 104,2595 -#define HDLC_ENCODING_NRZI 105,2631 -#define HDLC_ENCODING_BIPHASE_MARK 106,2685 -#define HDLC_ENCODING_BIPHASE_SPACE 107,2723 -#define HDLC_ENCODING_BIPHASE_LEVEL 108,2762 -#define HDLC_ENCODING_DIFF_BIPHASE_LEVEL 109,2801 -#define HDLC_PREAMBLE_LENGTH_8BITS 111,2845 -#define HDLC_PREAMBLE_LENGTH_16BITS 112,2882 -#define HDLC_PREAMBLE_LENGTH_32BITS 113,2920 -#define HDLC_PREAMBLE_LENGTH_64BITS 114,2958 -#define HDLC_PREAMBLE_PATTERN_NONE 116,2997 -#define HDLC_PREAMBLE_PATTERN_ZEROS 117,3034 -#define HDLC_PREAMBLE_PATTERN_FLAGS 118,3072 -#define HDLC_PREAMBLE_PATTERN_10 119,3110 -#define HDLC_PREAMBLE_PATTERN_01 120,3145 -#define HDLC_PREAMBLE_PATTERN_ONES 121,3180 -#define MGSL_MODE_ASYNC 123,3218 -#define MGSL_MODE_HDLC 124,3245 -#define MGSL_MODE_RAW 125,3271 -#define MGSL_BUS_TYPE_ISA 127,3297 -#define MGSL_BUS_TYPE_EISA 128,3325 -#define MGSL_BUS_TYPE_PCI 129,3354 -#define MGSL_INTERFACE_DISABLE 131,3383 -#define MGSL_INTERFACE_RS232 132,3417 -#define MGSL_INTERFACE_V35 133,3451 -#define MGSL_INTERFACE_RS422 134,3485 -typedef struct _MGSL_PARAMS_MGSL_PARAMS136,3520 -} MGSL_PARAMS, *PMGSL_PARAMS;PMGSL_PARAMS160,4248 -#define MICROGATE_VENDOR_ID 162,4279 -#define SYNCLINK_DEVICE_ID 163,4314 -#define MGSCC_DEVICE_ID 164,4348 -#define SYNCLINK_SCA_DEVICE_ID 165,4379 -#define MGSL_MAX_SERIAL_NUMBER 166,4417 -#define DiagStatus_OK 172,4488 -#define DiagStatus_AddressFailure 173,4515 -#define DiagStatus_AddressConflict 174,4552 -#define DiagStatus_IrqFailure 175,4590 -#define DiagStatus_IrqConflict 176,4624 -#define DiagStatus_DmaFailure 177,4659 -#define DiagStatus_DmaConflict 178,4693 -#define DiagStatus_PciAdapterNotFound 179,4728 -#define DiagStatus_CantAssignPciResources 180,4769 -#define DiagStatus_CantAssignPciMemAddr 181,4813 -#define DiagStatus_CantAssignPciIoAddr 182,4856 -#define DiagStatus_CantAssignPciIrq 183,4899 -#define DiagStatus_MemoryError 184,4939 -#define SerialSignal_DCD 186,4976 -#define SerialSignal_TXD 187,5047 -#define SerialSignal_RI 188,5112 -#define SerialSignal_RXD 189,5178 -#define SerialSignal_CTS 190,5242 -#define SerialSignal_RTS 191,5307 -#define SerialSignal_DSR 192,5374 -#define SerialSignal_DTR 193,5440 -struct mgsl_icount mgsl_icount199,5581 -#define DEBUG_LEVEL_DATA 218,5882 -#define DEBUG_LEVEL_ERROR 219,5909 -#define DEBUG_LEVEL_INFO 220,5938 -#define DEBUG_LEVEL_BH 221,5967 -#define DEBUG_LEVEL_ISR 222,5996 -#define MgslEvent_DsrActive 228,6077 -#define MgslEvent_DsrInactive 229,6112 -#define MgslEvent_Dsr 230,6149 -#define MgslEvent_CtsActive 231,6179 -#define MgslEvent_CtsInactive 232,6214 -#define MgslEvent_Cts 233,6251 -#define MgslEvent_DcdActive 234,6281 -#define MgslEvent_DcdInactive 235,6316 -#define MgslEvent_Dcd 236,6353 -#define MgslEvent_RiActive 237,6383 -#define MgslEvent_RiInactive 238,6417 -#define MgslEvent_Ri 239,6453 -#define MgslEvent_ExitHuntMode 240,6482 -#define MgslEvent_IdleReceived 241,6520 -#define MGSL_MAGIC_IOC 258,7207 -#define MGSL_IOCSPARAMS 259,7234 -#define MGSL_IOCGPARAMS 260,7302 -#define MGSL_IOCSTXIDLE 261,7370 -#define MGSL_IOCGTXIDLE 262,7417 -#define MGSL_IOCTXENABLE 263,7464 -#define MGSL_IOCRXENABLE 264,7511 -#define MGSL_IOCTXABORT 265,7558 -#define MGSL_IOCGSTATS 266,7605 -#define MGSL_IOCWAITEVENT 267,7651 -#define MGSL_IOCCLRMODCOUNT 268,7705 -#define MGSL_IOCLOOPTXDONE 269,7756 -#define MGSL_IOCSIF 270,7805 -#define MGSL_IOCGIF 271,7849 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dma-mapping.h,562 -#define _ASM_LINUX_DMA_MAPPING_H2,33 -enum dma_data_direction dma_data_direction9,232 - DMA_BIDIRECTIONAL 10,258 - DMA_TO_DEVICE 11,282 - DMA_FROM_DEVICE 12,302 - DMA_NONE 13,324 -#define DMA_64BIT_MASK 16,343 -#define DMA_32BIT_MASK 17,388 -#define dma_sync_single 22,504 -#define dma_sync_sg 23,553 -#define DMA_MEMORY_MAP 28,690 -#define DMA_MEMORY_IO 29,720 -#define DMA_MEMORY_INCLUDES_CHILDREN 30,749 -#define DMA_MEMORY_EXCLUSIVE 31,791 -dma_declare_coherent_memory(35,890 -dma_release_declared_memory(42,1049 -dma_mark_declared_memory_occupied(47,1123 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dcache.h,914 -#define __LINUX_DCACHE_H2,25 -#define IS_ROOT(IS_ROOT25,421 -struct qstr qstr34,687 -struct dentry_stat_t dentry_stat_t40,772 -#define init_name_hash(init_name_hash51,1102 -partial_name_hash(55,1231 -static inline unsigned long end_name_hash(64,1438 -full_name_hash(71,1603 -#define DNAME_INLINE_LEN_MIN 81,1819 -struct dentry dentry83,1852 -struct dentry_operations dentry_operations113,2980 -#define DCACHE_AUTOFS_PENDING 141,3943 -#define DCACHE_NFSFS_RENAMED 142,4018 -#define DCACHE_DISCONNECTED 146,4164 -#define DCACHE_REFERENCED 158,4864 -#define DCACHE_UNHASHED 159,4934 -static inline void __d_drop(180,5536 -static inline void d_drop(188,5712 -static inline int dname_external(195,5840 -static inline void d_add(242,7288 -static inline struct dentry *dget(279,8595 -static inline int d_unhashed(297,8954 -static inline struct dentry *dget_parent(302,9056 -static inline int d_mountpoint(314,9287 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rmap.h,611 -#define _LINUX_RMAP_H2,22 -struct anon_vma anon_vma26,883 -static inline struct anon_vma *anon_vma_alloc(35,1077 -static inline void anon_vma_free(40,1190 -static inline void anon_vma_lock(45,1300 -static inline void anon_vma_unlock(52,1455 -static inline void page_dup_rmap(83,2428 -#define anon_vma_init(anon_vma_init101,2847 -#define anon_vma_prepare(anon_vma_prepare102,2888 -#define anon_vma_link(anon_vma_link103,2922 -#define page_referenced(page_referenced105,2966 -#define try_to_unmap(try_to_unmap106,3030 -#define SWAP_SUCCESS 113,3133 -#define SWAP_AGAIN 114,3156 -#define SWAP_FAIL 115,3177 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/posix_acl_xattr.h,355 -#define _POSIX_ACL_XATTR_H10,287 -#define POSIX_ACL_XATTR_ACCESS 15,376 -#define POSIX_ACL_XATTR_DEFAULT 16,433 -#define POSIX_ACL_XATTR_VERSION 19,530 -#define ACL_UNDEFINED_ID 23,607 -} posix_acl_xattr_entry;posix_acl_xattr_entry29,703 -} posix_acl_xattr_header;posix_acl_xattr_header34,803 -posix_acl_xattr_size(38,852 -posix_acl_xattr_count(45,993 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/efs_fs_i.h,442 -#define __EFS_FS_I_H__10,151 -typedef int32_t efs_block_t;efs_block_t12,175 -typedef uint32_t efs_ino_t;efs_ino_t13,205 -#define EFS_DIRECTEXTENTS 15,234 -typedef union extent_u extent_u20,335 - struct extent_s extent_s22,383 -} efs_extent;efs_extent28,623 -typedef struct edevs edevs30,638 -} efs_devs;efs_devs33,691 -struct efs_dinode efs_dinode39,812 - union di_addr di_addr52,1356 -struct efs_inode_info efs_inode_info59,1512 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mc6821.h,315 -#define _MC6821_H_2,19 -#define PIA_REG_PADWIDTH 20,587 -struct pia pia23,624 -#define ppra 40,939 -#define pddra 41,959 -#define pprb 42,981 -#define pddrb 43,1001 -#define PIA_C1_ENABLE_IRQ 45,1024 -#define PIA_C1_LOW_TO_HIGH 46,1057 -#define PIA_DDR 47,1091 -#define PIA_IRQ2 48,1114 -#define PIA_IRQ1 49,1138 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fd1772.h,1785 -#define _LINUX_FD1772REG_H2,27 -#define FDC1772SELREG_STP 11,201 -#define FDC1772SELREG_TRA 12,268 -#define FDC1772SELREG_SEC 13,326 -#define FDC1772SELREG_DTA 14,385 -#define FDC1772REG_CMD 18,495 -#define FDC1772REG_STATUS 19,528 -#define FDC1772REG_TRACK 20,561 -#define FDC1772REG_SECTOR 21,594 -#define FDC1772REG_DATA 22,627 -#define FDC1772CMD_RESTORE 26,692 -#define FDC1772CMD_SEEK 27,756 -#define FDC1772CMD_STEP 28,820 -#define FDC1772CMD_STIN 29,884 -#define FDC1772CMD_STOT 30,948 -#define FDC1772CMD_RDSEC 31,1012 -#define FDC1772CMD_WRSEC 32,1076 -#define FDC1772CMD_RDADR 33,1140 -#define FDC1772CMD_RDTRA 34,1204 -#define FDC1772CMD_WRTRA 35,1268 -#define FDC1772CMD_FORCI 36,1332 -#define FDC1772CMDADD_SR6 40,1426 -#define FDC1772CMDADD_SR12 41,1488 -#define FDC1772CMDADD_SR2 42,1523 -#define FDC1772CMDADD_SR3 43,1558 -#define FDC1772CMDADD_V 44,1593 -#define FDC1772CMDADD_H 45,1643 -#define FDC1772CMDADD_U 46,1703 -#define FDC1772CMDADD_M 47,1768 -#define FDC1772CMDADD_E 48,1834 -#define FDC1772CMDADD_P 49,1896 -#define FDC1772CMDADD_A0 50,1955 -#define FDC1772STAT_MOTORON 54,2036 -#define FDC1772STAT_WPROT 55,2099 -#define FDC1772STAT_SPINUP 56,2186 -#define FDC1772STAT_DELDAM 57,2268 -#define FDC1772STAT_RECNF 58,2359 -#define FDC1772STAT_CRC 59,2430 -#define FDC1772STAT_TR00 60,2494 -#define FDC1772STAT_LOST 61,2571 -#define FDC1772STAT_IDX 62,2649 -#define FDC1772STAT_DRQ 63,2725 -#define FDC1772STAT_BUSY 64,2804 -#define DSKSIDE 68,2942 -#define DSKDRVNONE 70,2978 -#define DSKDRV0 71,3005 -#define DSKDRV1 72,3032 -#define FDC1772STEP_6 75,3077 -#define FDC1772STEP_12 76,3113 -#define FDC1772STEP_2 77,3149 -#define FDC1772STEP_3 78,3185 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smp_lock.h,622 -#define __LINUX_SMPLOCK_H2,26 -#define BKL_DEBUG 8,133 -#define kernel_locked(kernel_locked14,297 -#define get_kernel_lock(get_kernel_lock16,350 -#define put_kernel_lock(put_kernel_lock17,400 -static inline void release_kernel_lock(22,491 -static inline void reacquire_kernel_lock(31,657 -static inline void lock_kernel(44,918 -static inline void unlock_kernel(52,1068 -#define lock_kernel(lock_kernel61,1214 -#define unlock_kernel(unlock_kernel62,1255 -#define release_kernel_lock(release_kernel_lock63,1298 -#define reacquire_kernel_lock(reacquire_kernel_lock64,1349 -#define kernel_locked(kernel_locked65,1402 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmapi.h,178 -#define _LINUX_ATMAPI_H7,142 -#define __ATM_API_ALIGN 12,351 -#define __ATM_API_ALIGN14,409 -typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t;atm_kptr_t27,814 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/vt_kern.h,246 -#define _VT_KERN_H2,19 -#define BROKEN_GRAPHICS_PROGRAMS 25,744 -extern struct vt_struct vt_struct28,787 -} *vt_cons[35,984 -#define update_screen(update_screen63,2099 -#define switch_screen(switch_screen64,2144 -#define CON_BUF_SIZE 96,3279 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/udp.h,300 -#define _LINUX_UDP_H18,631 -struct udphdr udphdr22,679 -#define UDP_CORK 30,778 -#define UDP_ENCAP 31,842 -#define UDP_ENCAP_ESPINUDP_NON_IKE 34,947 -#define UDP_ENCAP_ESPINUDP 35,1023 -struct udp_opt udp_opt43,1180 -struct udp_sock udp_sock55,1578 -static inline struct udp_opt * udp_sk(64,1758 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/namespace.h,185 -#define _NAMESPACE_H_2,22 -struct namespace namespace8,114 -static inline void put_namespace(19,387 -static inline void exit_namespace(25,529 -static inline void get_namespace(36,742 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pkt_cls.h,4570 -#define __LINUX_PKT_CLS_H2,26 -#define _TC_MAKE32(_TC_MAKE327,158 -#define _TC_MAKEMASK1(_TC_MAKEMASK19,187 -#define _TC_MAKEMASK(_TC_MAKEMASK10,245 -#define _TC_MAKEVALUE(_TC_MAKEVALUE11,325 -#define _TC_GETVALUE(_TC_GETVALUE12,385 -#define TC_MUNGED 35,941 -#define SET_TC_MUNGED(SET_TC_MUNGED36,985 -#define CLR_TC_MUNGED(CLR_TC_MUNGED37,1044 -#define TC_OK2MUNGE 39,1090 -#define SET_TC_OK2MUNGE(SET_TC_OK2MUNGE40,1134 -#define CLR_TC_OK2MUNGE(CLR_TC_OK2MUNGE41,1199 -#define S_TC_VERD 43,1249 -#define M_TC_VERD 44,1290 -#define G_TC_VERD(G_TC_VERD45,1343 -#define V_TC_VERD(V_TC_VERD46,1406 -#define SET_TC_VERD(SET_TC_VERD47,1460 -#define S_TC_FROM 49,1524 -#define M_TC_FROM 50,1565 -#define G_TC_FROM(G_TC_FROM51,1618 -#define V_TC_FROM(V_TC_FROM52,1681 -#define SET_TC_FROM(SET_TC_FROM53,1735 -#define AT_STACK 54,1798 -#define AT_INGRESS 55,1819 -#define AT_EGRESS 56,1842 -#define TC_NCLS 58,1865 -#define SET_TC_NCLS(SET_TC_NCLS59,1907 -#define CLR_TC_NCLS(CLR_TC_NCLS60,1960 -#define S_TC_RTTL 62,2002 -#define M_TC_RTTL 63,2043 -#define G_TC_RTTL(G_TC_RTTL64,2096 -#define V_TC_RTTL(V_TC_RTTL65,2159 -#define SET_TC_RTTL(SET_TC_RTTL66,2213 -#define S_TC_AT 68,2277 -#define M_TC_AT 69,2317 -#define G_TC_AT(G_TC_AT70,2366 -#define V_TC_AT(V_TC_AT71,2423 -#define SET_TC_AT(SET_TC_AT72,2473 - TCA_ACT_UNSPEC,77,2562 - TCA_ACT_KIND,78,2579 - TCA_ACT_OPTIONS,79,2594 - TCA_ACT_INDEX,80,2612 - __TCA_ACT_MAX81,2628 -#define TCA_ACT_MAX 84,2647 -#define TCA_OLD_COMPAT 85,2681 -#define TCA_ACT_MAX_PRIO 86,2720 -#define TCA_ACT_BIND 87,2748 -#define TCA_ACT_NOBIND 88,2771 -#define TCA_ACT_UNBIND 89,2796 -#define TCA_ACT_NOUNBIND 90,2821 -#define TCA_ACT_REPLACE 91,2848 -#define TCA_ACT_NOREPLACE 92,2875 -#define MAX_REC_LOOP 93,2903 -#define MAX_RED_LOOP 94,2926 -#define TC_ACT_UNSPEC 96,2950 -#define TC_ACT_OK 97,2977 -#define TC_ACT_RECLASSIFY 98,2998 -#define TC_ACT_SHOT 99,3026 -#define TC_ACT_PIPE 100,3049 -#define TC_ACT_STOLEN 101,3072 -#define TC_ACT_QUEUED 102,3097 -#define TC_ACT_REPEAT 103,3122 -#define TC_ACT_JUMP 104,3147 - TCA_ID_UNSPEC=109,3216 - TCA_ID_POLICE=110,3234 - __TCA_ID_MAX=112,3281 -#define TCA_ID_MAX 115,3303 -struct tc_policetc_police117,3336 -#define TC_POLICE_UNSPEC 121,3386 -#define TC_POLICE_OK 122,3425 -#define TC_POLICE_RECLASSIFY 123,3457 -#define TC_POLICE_SHOT 124,3504 -#define TC_POLICE_PIPE 125,3540 -struct tcf_ttcf_t137,3732 -struct tc_cnttc_cnt144,3805 -#define tc_gen 150,3889 - TCA_POLICE_UNSPEC,159,4075 - TCA_POLICE_TBF,160,4095 - TCA_POLICE_RATE,161,4112 - TCA_POLICE_PEAKRATE,162,4130 - TCA_POLICE_AVRATE,163,4152 - TCA_POLICE_RESULT,164,4172 - __TCA_POLICE_MAX165,4192 -#define TCA_POLICE_RESULT 166,4210 -#define TCA_POLICE_MAX 169,4258 -#define TC_U32_HTID(TC_U32_HTID173,4324 -#define TC_U32_USERHTID(TC_U32_USERHTID174,4364 -#define TC_U32_HASH(TC_U32_HASH175,4412 -#define TC_U32_NODE(TC_U32_NODE176,4452 -#define TC_U32_KEY(TC_U32_KEY177,4487 -#define TC_U32_UNSPEC 178,4523 -#define TC_U32_ROOT 179,4547 - TCA_U32_UNSPEC,183,4588 - TCA_U32_CLASSID,184,4605 - TCA_U32_HASH,185,4623 - TCA_U32_LINK,186,4638 - TCA_U32_DIVISOR,187,4653 - TCA_U32_SEL,188,4671 - TCA_U32_POLICE,189,4685 - TCA_U32_ACT,190,4702 - TCA_U32_INDEV,191,4719 - TCA_U32_PCNT,192,4735 - __TCA_U32_MAX193,4750 -#define TCA_U32_MAX 196,4769 -struct tc_u32_keytc_u32_key198,4810 -struct tc_u32_seltc_u32_sel206,4887 -struct tc_u32_pcnttc_u32_pcnt222,5120 -#define TC_U32_TERMINAL 231,5207 -#define TC_U32_OFFSET 232,5234 -#define TC_U32_VAROFFSET 233,5259 -#define TC_U32_EAT 234,5286 -#define TC_U32_MAXDEPTH 236,5309 - TCA_RSVP_UNSPEC,243,5363 - TCA_RSVP_CLASSID,244,5381 - TCA_RSVP_DST,245,5400 - TCA_RSVP_SRC,246,5415 - TCA_RSVP_PINFO,247,5430 - TCA_RSVP_POLICE,248,5447 - __TCA_RSVP_MAX249,5465 -#define TCA_RSVP_MAX 252,5485 -struct tc_rsvp_gpitc_rsvp_gpi254,5529 -struct tc_rsvp_pinfotc_rsvp_pinfo261,5592 - TCA_ROUTE4_UNSPEC,274,5745 - TCA_ROUTE4_CLASSID,275,5765 - TCA_ROUTE4_TO,276,5786 - TCA_ROUTE4_FROM,277,5802 - TCA_ROUTE4_IIF,278,5820 - TCA_ROUTE4_POLICE,279,5837 - __TCA_ROUTE4_MAX280,5857 -#define TCA_ROUTE4_MAX 283,5879 - TCA_FW_UNSPEC,290,5951 - TCA_FW_CLASSID,291,5967 - TCA_FW_POLICE,292,5984 - TCA_FW_INDEV,293,6000 - TCA_FW_ACT,294,6049 - __TCA_FW_MAX295,6095 -#define TCA_FW_MAX 298,6113 - TCA_TCINDEX_UNSPEC,304,6182 - TCA_TCINDEX_HASH,305,6203 - TCA_TCINDEX_MASK,306,6222 - TCA_TCINDEX_SHIFT,307,6241 - TCA_TCINDEX_FALL_THROUGH,308,6261 - TCA_TCINDEX_CLASSID,309,6288 - TCA_TCINDEX_POLICE,310,6310 - __TCA_TCINDEX_MAX311,6331 -#define TCA_TCINDEX_MAX 314,6354 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ppp_defs.h,1528 -#define _PPP_DEFS_H_43,1775 -#define PPP_HDRLEN 50,1858 -#define PPP_FCSLEN 51,1916 -#define PPP_MRU 52,1958 -#define PPP_ADDRESS(PPP_ADDRESS54,2026 -#define PPP_CONTROL(PPP_CONTROL55,2068 -#define PPP_PROTOCOL(PPP_PROTOCOL56,2110 -#define PPP_ALLSTATIONS 61,2216 -#define PPP_UI 62,2282 -#define PPP_FLAG 63,2332 -#define PPP_ESCAPE 64,2374 -#define PPP_TRANS 65,2432 -#define PPP_IP 70,2530 -#define PPP_AT 71,2575 -#define PPP_IPX 72,2621 -#define PPP_VJC_COMP 73,2662 -#define PPP_VJC_UNCOMP 74,2712 -#define PPP_MP 75,2766 -#define PPP_IPV6 76,2812 -#define PPP_COMPFRAG 77,2868 -#define PPP_COMP 78,2933 -#define PPP_MPLS_UC 79,2979 -#define PPP_MPLS_MC 80,3053 -#define PPP_IPCP 81,3129 -#define PPP_ATCP 82,3179 -#define PPP_IPXCP 83,3236 -#define PPP_IPV6CP 84,3288 -#define PPP_CCPFRAG 85,3342 -#define PPP_CCP 86,3411 -#define PPP_MPLSCP 87,3470 -#define PPP_LCP 88,3524 -#define PPP_PAP 89,3576 -#define PPP_LQR 90,3639 -#define PPP_CHAP 91,3698 -#define PPP_CBCP 92,3767 -#define PPP_INITFCS 98,3864 -#define PPP_GOODFCS 99,3915 -#define PPP_FCS(PPP_FCS100,3969 -typedef __u32 ext_accm[ext_accm106,4084 -enum NPmode NPmode111,4170 - NPMODE_PASS,112,4184 - NPMODE_DROP,113,4232 - NPMODE_ERROR,114,4281 - NPMODE_QUEUE 115,4322 -struct pppstat pppstat121,4415 -struct vjstat vjstat137,4952 -struct compstat compstat148,5452 -struct ppp_stats ppp_stats163,5992 -struct ppp_comp_stats ppp_comp_stats168,6125 -struct ppp_idle ppp_idle177,6385 -#define __P(__P184,6559 -#define __P(__P186,6582 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/posix_types.h,398 -#define _LINUX_POSIX_TYPES_H2,29 -#define __NFDBITS 22,682 -#define __FD_SETSIZE 25,749 -#define __FDSET_LONGS 28,797 -#define __FDELT(__FDELT31,860 -#define __FDMASK(__FDMASK34,914 -} __kernel_fd_set;__kernel_fd_set38,1020 -typedef void (*__kernel_sighandler_t)__kernel_sighandler_t41,1073 -typedef int __kernel_key_t;__kernel_key_t44,1149 -typedef int __kernel_mqd_t;__kernel_mqd_t45,1177 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/reiserfs_fs_i.h,864 -#define _REISER_FS_I2,21 - i_item_key_version_mask 13,335 - i_item_key_version_mask = 0x0001,13,335 - i_stat_data_version_mask 16,504 - i_stat_data_version_mask = 0x0002,16,504 - i_pack_on_close_mask 18,595 - i_pack_on_close_mask = 0x0004,18,595 - i_nopack_mask 20,672 - i_nopack_mask = 0x0008,20,672 - i_link_saved_unlink_mask 24,913 - i_link_saved_unlink_mask = 0x0010,24,913 - i_link_saved_truncate_mask 25,955 - i_link_saved_truncate_mask = 0x0020,25,955 - i_priv_object 26,997 - i_priv_object = 0x0080,26,997 - i_has_xattr_dir 27,1039 - i_has_xattr_dir = 0x0100,27,1039 - i_data_log 28,1081 - i_data_log = 0x0200,28,1081 -} reiserfs_inode_flags;reiserfs_inode_flags29,1122 -struct reiserfs_inode_info reiserfs_inode_info32,1148 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jffs2_fs_i.h,73 -#define _JFFS2_FS_I4,84 -struct jffs2_inode_info jffs2_inode_info9,159 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/baycom.h,151 -#define _BAYCOM_H8,175 -struct baycom_debug_data baycom_debug_data15,311 -struct baycom_ioctl baycom_ioctl21,402 -#define BAYCOMCTL_GETDEBUG 33,605 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rwsem-spinlock.h,253 -#define _LINUX_RWSEM_SPINLOCK_H9,260 -struct rw_semaphore rw_semaphore31,841 -#define __RWSEM_DEBUG_INIT 44,1017 -#define __RWSEM_DEBUG_INIT 46,1059 -#define __RWSEM_INITIALIZER(__RWSEM_INITIALIZER49,1100 -#define DECLARE_RWSEM(DECLARE_RWSEM52,1216 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/interrupt.h,1587 -#define _LINUX_INTERRUPT_H3,45 -typedef int irqreturn_t;irqreturn_t30,733 -#define IRQ_NONE 32,759 -#define IRQ_HANDLED 33,780 -#define IRQ_RETVAL(IRQ_RETVAL34,804 -struct irqaction irqaction36,838 -# define cli(cli55,1373 -# define sti(sti56,1410 -# define save_flags(save_flags57,1446 -# define restore_flags(restore_flags58,1490 -# define save_and_cli(save_and_cli59,1537 -#define local_bh_disable(local_bh_disable63,1615 -#define __local_bh_enable(__local_bh_enable65,1709 - HI_SOFTIRQ=78,2113 - TIMER_SOFTIRQ,79,2128 - NET_TX_SOFTIRQ,80,2144 - NET_RX_SOFTIRQ,81,2161 - SCSI_SOFTIRQ,82,2178 - TASKLET_SOFTIRQ83,2193 -struct softirq_actionsoftirq_action90,2328 -#define __raise_softirq_irqoff(__raise_softirq_irqoff99,2563 -#define invoke_softirq(invoke_softirq104,2794 -struct tasklet_structtasklet_struct128,3663 -#define DECLARE_TASKLET(DECLARE_TASKLET137,3811 -#define DECLARE_TASKLET_DISABLED(DECLARE_TASKLET_DISABLED140,3925 - TASKLET_STATE_SCHED,146,4056 - TASKLET_STATE_RUN 147,4119 -static inline int tasklet_trylock(151,4196 -static inline void tasklet_unlock(156,4320 -static inline void tasklet_unlock_wait(162,4459 -#define tasklet_trylock(tasklet_trylock167,4599 -#define tasklet_unlock_wait(tasklet_unlock_wait168,4628 -#define tasklet_unlock(tasklet_unlock169,4676 -static inline void tasklet_schedule(174,4796 -static inline void tasklet_hi_schedule(182,5016 -static inline void tasklet_disable_nosync(189,5171 -static inline void tasklet_disable(195,5297 -static inline void tasklet_enable(202,5427 -static inline void tasklet_hi_enable(208,5546 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/x25.h,1010 -#define X25_KERNEL_H10,205 -#define SIOCX25GSUBSCRIP 12,227 -#define SIOCX25SSUBSCRIP 13,275 -#define SIOCX25GFACILITIES 14,323 -#define SIOCX25SFACILITIES 15,373 -#define SIOCX25GCALLUSERDATA 16,423 -#define SIOCX25SCALLUSERDATA 17,475 -#define SIOCX25GCAUSEDIAG 18,527 -#define X25_QBITINCL 23,616 -#define X25_PS16 28,676 -#define X25_PS32 29,696 -#define X25_PS64 30,716 -#define X25_PS128 31,736 -#define X25_PS256 32,757 -#define X25_PS512 33,778 -#define X25_PS1024 34,799 -#define X25_PS2048 35,822 -#define X25_PS4096 36,845 -struct x25_address x25_address42,982 -struct sockaddr_x25 sockaddr_x2549,1102 -struct x25_subscrip_struct x25_subscrip_struct62,1511 -#define X25_MASK_REVERSE 70,1716 -#define X25_MASK_THROUGHPUT 71,1747 -#define X25_MASK_PACKET_SIZE 72,1780 -#define X25_MASK_WINDOW_SIZE 73,1814 -struct x25_route_struct x25_route_struct80,1894 -struct x25_facilities x25_facilities89,2036 -struct x25_calluserdata x25_calluserdata99,2227 -struct x25_causediag x25_causediag107,2367 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/writeback.h,319 -#define WRITEBACK_H5,57 -static inline int current_is_pdflush(17,297 -enum writeback_sync_modes writeback_sync_modes25,410 - WB_SYNC_NONE,26,438 - WB_SYNC_ALL,27,482 - WB_SYNC_HOLD,28,524 -struct writeback_control writeback_control36,816 -#define WRITEPAGE_ACTIVATE 64,1877 -static inline void wait_on_inode(76,2272 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/console.h,621 -#define _LINUX_CONSOLE_H_ 15,386 -#define VT100ID 28,617 -#define VT102ID 29,646 -struct consw consw31,674 -#define SM_UP 71,2533 -#define SM_DOWN 72,2557 -#define CM_DRAW 75,2595 -#define CM_ERASE 76,2619 -#define CM_MOVE 77,2643 -#define CON_PRINTBUFFER 84,2788 -#define CON_CONSDEV 85,2816 -#define CON_ENABLED 86,2871 -struct consoleconsole88,2896 -#define WARN_CONSOLE_UNLOCKED(WARN_CONSOLE_UNLOCKED118,3859 -#define WARN_CONSOLE_UNLOCKED(WARN_CONSOLE_UNLOCKED120,3948 -#define VESA_NO_BLANKING 124,4015 -#define VESA_VSYNC_SUSPEND 125,4049 -#define VESA_HSYNC_SUSPEND 126,4083 -#define VESA_POWERDOWN 127,4117 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/selinux_netlink.h,405 -#define _LINUX_SELINUX_NETLINK_H13,397 -#define SELNL_MSG_BASE 16,452 - SELNL_MSG_SETENFORCE 18,487 - SELNL_MSG_SETENFORCE = SELNL_MSG_BASE,18,487 - SELNL_MSG_POLICYLOAD,19,527 - SELNL_MSG_MAX20,550 -#define SELNL_GRP_NONE 24,592 -#define SELNL_GRP_AVC 25,627 -#define SELNL_GRP_ALL 26,685 -struct selnl_msg_setenforce selnl_msg_setenforce29,745 -struct selnl_msg_policyload selnl_msg_policyload33,794 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/agp_backend.h,350 -#define _AGP_BACKEND_H 30,1353 -#define TRUE 35,1411 -#define FALSE 39,1448 -enum chipset_type chipset_type42,1472 - NOT_SUPPORTED,43,1492 - SUPPORTED,44,1508 -struct agp_version agp_version47,1524 -struct agp_kern_info agp_kern_info52,1573 -struct agp_memory agp_memory74,2264 -#define AGP_NORMAL_MEMORY 88,2491 -} drm_agp_t;drm_agp_t113,3432 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netlink.h,1850 -#define __LINUX_NETLINK_H2,26 -#define NETLINK_ROUTE 7,127 -#define NETLINK_SKIP 8,181 -#define NETLINK_USERSOCK 9,235 -#define NETLINK_FIREWALL 10,309 -#define NETLINK_TCPDIAG 11,362 -#define NETLINK_NFLOG 12,419 -#define NETLINK_XFRM 13,474 -#define NETLINK_SELINUX 14,510 -#define NETLINK_ARPD 15,571 -#define NETLINK_AUDIT 16,595 -#define NETLINK_ROUTE6 17,635 -#define NETLINK_IP6_FW 18,696 -#define NETLINK_DNRTMSG 19,723 -#define NETLINK_TAPBASE 20,781 -#define MAX_LINKS 22,838 -struct sockaddr_nlsockaddr_nl24,862 -struct nlmsghdrnlmsghdr32,1054 -#define NLM_F_REQUEST 43,1328 -#define NLM_F_MULTI 44,1383 -#define NLM_F_ACK 45,1456 -#define NLM_F_ECHO 46,1523 -#define NLM_F_ROOT 49,1603 -#define NLM_F_MATCH 50,1652 -#define NLM_F_ATOMIC 51,1704 -#define NLM_F_DUMP 52,1749 -#define NLM_F_REPLACE 55,1825 -#define NLM_F_EXCL 56,1878 -#define NLM_F_CREATE 57,1936 -#define NLM_F_APPEND 58,1998 -#define NLMSG_ALIGNTO 69,2219 -#define NLMSG_ALIGN(NLMSG_ALIGN70,2243 -#define NLMSG_LENGTH(NLMSG_LENGTH71,2317 -#define NLMSG_SPACE(NLMSG_SPACE72,2388 -#define NLMSG_DATA(NLMSG_DATA73,2444 -#define NLMSG_NEXT(NLMSG_NEXT74,2511 -#define NLMSG_OK(NLMSG_OK76,2657 -#define NLMSG_PAYLOAD(NLMSG_PAYLOAD79,2815 -#define NLMSG_NOOP 81,2887 -#define NLMSG_ERROR 82,2927 -#define NLMSG_DONE 83,2965 -#define NLMSG_OVERRUN 84,3009 -struct nlmsgerrnlmsgerr86,3054 -#define NET_MAJOR 92,3111 - NETLINK_UNCONNECTED 95,3189 - NETLINK_CONNECTED,96,3215 -struct netlink_skb_parmsnetlink_skb_parms104,3315 -#define NETLINK_CB(NETLINK_CB114,3485 -#define NETLINK_CREDS(NETLINK_CREDS115,3553 -#define NLMSG_GOODSIZE 142,4891 -struct netlink_callbacknetlink_callback145,4966 -struct netlink_notifynetlink_notify155,5181 -__nlmsg_put(162,5270 -#define NLMSG_PUT(NLMSG_PUT176,5589 -#define NL_NONROOT_RECV 186,5973 -#define NL_NONROOT_SEND 187,6001 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mc146818rtc.h,1216 -#define _MC146818RTC_H12,458 -#define RTC_SECONDS 24,889 -#define RTC_SECONDS_ALARM 25,912 -#define RTC_MINUTES 26,940 -#define RTC_MINUTES_ALARM 27,963 -#define RTC_HOURS 28,991 -#define RTC_HOURS_ALARM 29,1012 -# define RTC_ALARM_DONT_CARE 31,1090 -#define RTC_DAY_OF_WEEK 33,1126 -#define RTC_DAY_OF_MONTH 34,1153 -#define RTC_MONTH 35,1180 -#define RTC_YEAR 36,1201 -#define RTC_REG_A 40,1260 -#define RTC_REG_B 41,1282 -#define RTC_REG_C 42,1304 -#define RTC_REG_D 43,1326 -#define RTC_FREQ_SELECT 48,1514 -# define RTC_UIP 54,1754 -# define RTC_DIV_CTL 55,1777 -# define RTC_REF_CLCK_4MHZ 57,1877 -# define RTC_REF_CLCK_1MHZ 58,1910 -# define RTC_REF_CLCK_32KHZ 59,1943 -# define RTC_DIV_RESET1 61,2055 -# define RTC_DIV_RESET2 62,2085 -# define RTC_RATE_SELECT 64,2194 -#define RTC_CONTROL 67,2299 -# define RTC_SET 68,2329 -# define RTC_PIE 69,2392 -# define RTC_AIE 70,2447 -# define RTC_UIE 71,2499 -# define RTC_SQWE 72,2561 -# define RTC_DM_BINARY 73,2617 -# define RTC_24H 74,2689 -# define RTC_DST_EN 75,2759 -#define RTC_INTR_FLAGS 78,2900 -# define RTC_IRQF 80,2965 -# define RTC_PF 81,3028 -# define RTC_AF 82,3049 -# define RTC_UF 83,3070 -#define RTC_VALID 86,3165 -# define RTC_VRT 87,3193 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/percpu.h,392 -#define __LINUX_PERCPU_H2,25 -#define PERCPU_ENOUGH_ROOM 11,342 -#define get_cpu_var(get_cpu_var15,408 -#define put_cpu_var(put_cpu_var16,482 -struct percpu_data percpu_data20,544 -#define per_cpu_ptr(per_cpu_ptr30,811 -#define per_cpu_ptr(per_cpu_ptr41,1161 -static inline void *__alloc_percpu(43,1198 -static inline void free_percpu(50,1351 -#define alloc_percpu(alloc_percpu58,1499 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/serial_reg.h,5454 -#define _LINUX_SERIAL_REG_H15,398 -#define UART_RX 17,427 -#define UART_TX 18,481 -#define UART_DLL 19,536 -#define UART_TRG 20,593 -#define UART_DLM 25,738 -#define UART_IER 26,796 -#define UART_FCTR 27,852 -#define UART_IIR 30,934 -#define UART_FCR 31,986 -#define UART_EFR 32,1038 -#define UART_LCR 35,1128 -#define UART_MCR 36,1180 -#define UART_LSR 37,1233 -#define UART_MSR 38,1284 -#define UART_SCR 39,1336 -#define UART_EMSR 40,1383 -#define UART_FCR_ENABLE_FIFO 48,1591 -#define UART_FCR_CLEAR_RCVR 49,1647 -#define UART_FCR_CLEAR_XMIT 50,1706 -#define UART_FCR_DMA_SELECT 51,1765 -#define UART_FCR_TRIGGER_MASK 52,1825 -#define UART_FCR_TRIGGER_1 53,1898 -#define UART_FCR_TRIGGER_4 54,1962 -#define UART_FCR_TRIGGER_8 55,2026 -#define UART_FCR_TRIGGER_14 56,2090 -#define UART_FCR6_R_TRIGGER_8 58,2182 -#define UART_FCR6_R_TRIGGER_16 59,2257 -#define UART_FCR6_R_TRIGGER_24 60,2333 -#define UART_FCR6_R_TRIGGER_28 61,2410 -#define UART_FCR6_T_TRIGGER_16 62,2487 -#define UART_FCR6_T_TRIGGER_8 63,2565 -#define UART_FCR6_T_TRIGGER_24 64,2641 -#define UART_FCR6_T_TRIGGER_30 65,2720 -#define UART_FCR7_64BYTE 67,2825 -#define UART_LCR_DLAB 75,3084 -#define UART_LCR_SBC 76,3142 -#define UART_LCR_SPAR 77,3192 -#define UART_LCR_EPAR 78,3242 -#define UART_LCR_PARITY 79,3294 -#define UART_LCR_STOP 80,3343 -#define UART_LCR_WLEN5 81,3416 -#define UART_LCR_WLEN6 82,3470 -#define UART_LCR_WLEN7 83,3524 -#define UART_LCR_WLEN8 84,3578 -#define UART_LSR_TEMT 89,3698 -#define UART_LSR_THRE 90,3749 -#define UART_LSR_BI 91,3811 -#define UART_LSR_FE 92,3868 -#define UART_LSR_PE 93,3921 -#define UART_LSR_OE 94,3975 -#define UART_LSR_DR 95,4030 -#define UART_IIR_NO_INT 100,4160 -#define UART_IIR_ID 101,4217 -#define UART_IIR_MSI 103,4275 -#define UART_IIR_THRI 104,4330 -#define UART_IIR_RDI 105,4398 -#define UART_IIR_RLSI 106,4454 -#define UART_IER_MSI 111,4589 -#define UART_IER_RLSI 112,4651 -#define UART_IER_THRI 113,4722 -#define UART_IER_RDI 114,4796 -#define UART_IERX_SLEEP 119,4965 -#define UART_MCR_AFE 124,5087 -#define UART_MCR_LOOP 125,5150 -#define UART_MCR_OUT2 126,5209 -#define UART_MCR_OUT1 127,5258 -#define UART_MCR_RTS 128,5307 -#define UART_MCR_DTR 129,5354 -#define UART_MSR_DCD 134,5468 -#define UART_MSR_RI 135,5520 -#define UART_MSR_DSR 136,5566 -#define UART_MSR_CTS 137,5613 -#define UART_MSR_DDCD 138,5659 -#define UART_MSR_TERI 139,5702 -#define UART_MSR_DDSR 140,5764 -#define UART_MSR_DCTS 141,5807 -#define UART_MSR_ANY_DELTA 142,5850 -#define UART_IER_DMAE 147,5971 -#define UART_IER_UUE 148,6024 -#define UART_IER_NRZE 149,6073 -#define UART_IER_RTOIE 150,6124 -#define UART_IIR_TOD 152,6194 -#define UART_FCR_PXAR1 154,6265 -#define UART_FCR_PXAR8 155,6325 -#define UART_FCR_PXAR16 156,6385 -#define UART_FCR_PXAR32 157,6447 -#define UART_EFR_CTS 163,6620 -#define UART_EFR_RTS 164,6669 -#define UART_EFR_SCD 165,6718 -#define UART_EFR_ECB 166,6775 -#define UART_ASR 174,6943 -#define UART_RFL 175,6998 -#define UART_TFL 176,7046 -#define UART_ICR 177,7098 -#define UART_ACR 180,7180 -#define UART_CPR 181,7236 -#define UART_TCR 182,7289 -#define UART_CKS 183,7338 -#define UART_TTL 184,7388 -#define UART_RTL 185,7452 -#define UART_FCL 186,7513 -#define UART_FCH 187,7566 -#define UART_ID1 188,7620 -#define UART_ID2 189,7654 -#define UART_ID3 190,7688 -#define UART_REV 191,7722 -#define UART_CSR 192,7759 -#define UART_NMR 193,7810 -#define UART_CTR 194,7861 -#define UART_ACR_RXDIS 199,7933 -#define UART_ACR_TXDIS 200,7984 -#define UART_ACR_DSRFC 201,8035 -#define UART_ACR_TLENB 202,8086 -#define UART_ACR_ICRRD 203,8146 -#define UART_ACR_ASREN 204,8196 -#define UART_FCTR_RTS_NODELAY 211,8422 -#define UART_FCTR_RTS_4DELAY 212,8487 -#define UART_FCTR_RTS_6DELAY 213,8521 -#define UART_FCTR_RTS_8DELAY 214,8555 -#define UART_FCTR_IRDA 215,8589 -#define UART_FCTR_TX_INT 216,8648 -#define UART_FCTR_TRGA 217,8710 -#define UART_FCTR_TRGB 218,8776 -#define UART_FCTR_TRGC 219,8842 -#define UART_FCTR_TRGD 220,8908 -#define UART_FCTR_SCR_SWAP 221,8981 -#define UART_FCTR_RX 222,9046 -#define UART_FCTR_TX 223,9112 -#define UART_EMSR_FIFO_COUNT 230,9358 -#define UART_EMSR_ALT_COUNT 231,9412 -#define UART_TRG_1 238,9643 -#define UART_TRG_4 239,9667 -#define UART_TRG_8 240,9691 -#define UART_TRG_16 241,9715 -#define UART_TRG_32 242,9740 -#define UART_TRG_64 243,9765 -#define UART_TRG_96 244,9790 -#define UART_TRG_120 245,9815 -#define UART_TRG_128 246,9841 -#define UART_RSA_BASE 254,9975 -#define UART_RSA_MSR 256,10003 -#define UART_RSA_MSR_SWAP 258,10079 -#define UART_RSA_MSR_FIFO 259,10159 -#define UART_RSA_MSR_FLOW 260,10225 -#define UART_RSA_MSR_ITYP 261,10303 -#define UART_RSA_IER 263,10373 -#define UART_RSA_IER_Rx_FIFO_H 265,10454 -#define UART_RSA_IER_Tx_FIFO_H 266,10530 -#define UART_RSA_IER_Tx_FIFO_E 267,10606 -#define UART_RSA_IER_Rx_TOUT 268,10678 -#define UART_RSA_IER_TIMER 269,10754 -#define UART_RSA_SRR 271,10820 -#define UART_RSA_SRR_Tx_FIFO_NEMP 273,10895 -#define UART_RSA_SRR_Tx_FIFO_NHFL 274,10969 -#define UART_RSA_SRR_Tx_FIFO_NFUL 275,11047 -#define UART_RSA_SRR_Rx_FIFO_NEMP 276,11120 -#define UART_RSA_SRR_Rx_FIFO_NHFL 277,11194 -#define UART_RSA_SRR_Rx_FIFO_NFUL 278,11272 -#define UART_RSA_SRR_Rx_TOUT 279,11345 -#define UART_RSA_SRR_TIMER 280,11430 -#define UART_RSA_FRR 282,11498 -#define UART_RSA_TIVSR 284,11573 -#define UART_RSA_TCR 286,11664 -#define UART_RSA_TCR_SWITCH 288,11742 -#define SERIAL_RSA_BAUD_BASE 294,11922 -#define SERIAL_RSA_BAUD_BASE_LO 295,11960 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs2.h,1500 -#define _LINUX_NFS2_H7,123 -#define NFS2_PORT 9,146 -#define NFS2_MAXDATA 10,169 -#define NFS2_MAXPATHLEN 11,195 -#define NFS2_MAXNAMLEN 12,224 -#define NFS2_MAXGROUPS 13,251 -#define NFS2_FHSIZE 14,277 -#define NFS2_COOKIESIZE 15,300 -#define NFS2_FIFO_DEV 16,326 -#define NFS2MODE_FMT 17,353 -#define NFS2MODE_DIR 18,382 -#define NFS2MODE_CHR 19,411 -#define NFS2MODE_BLK 20,440 -#define NFS2MODE_REG 21,469 -#define NFS2MODE_LNK 22,498 -#define NFS2MODE_SOCK 23,527 -#define NFS2MODE_FIFO 24,557 -enum nfs2_ftype nfs2_ftype28,654 - NF2NON 29,672 - NF2REG 30,685 - NF2DIR 31,698 - NF2BLK 32,711 - NF2CHR 33,724 - NF2LNK 34,737 - NF2SOCK 35,750 - NF2BAD 36,764 - NF2FIFO 37,777 -struct nfs2_fh nfs2_fh40,794 -#define NFS2_VERSION 47,880 -#define NFSPROC_NULL 48,904 -#define NFSPROC_GETATTR 49,928 -#define NFSPROC_SETATTR 50,955 -#define NFSPROC_ROOT 51,982 -#define NFSPROC_LOOKUP 52,1006 -#define NFSPROC_READLINK 53,1032 -#define NFSPROC_READ 54,1059 -#define NFSPROC_WRITECACHE 55,1083 -#define NFSPROC_WRITE 56,1112 -#define NFSPROC_CREATE 57,1137 -#define NFSPROC_REMOVE 58,1163 -#define NFSPROC_RENAME 59,1190 -#define NFSPROC_LINK 60,1217 -#define NFSPROC_SYMLINK 61,1242 -#define NFSPROC_MKDIR 62,1270 -#define NFSPROC_RMDIR 63,1296 -#define NFSPROC_READDIR 64,1322 -#define NFSPROC_STATFS 65,1350 -#define NFS_MNT_PROGRAM 67,1378 -#define NFS_MNT_VERSION 68,1410 -#define MNTPROC_NULL 69,1437 -#define MNTPROC_MNT 70,1461 -#define MNTPROC_UMNT 71,1484 -#define MNTPROC_UMNTALL 72,1508 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fd.h,2788 -#define _LINUX_FD_H2,20 -struct floppy_struct floppy_struct13,234 -#define FD_STRETCH 19,443 -#define FD_SWAPSIDES 20,464 -#define FD_ZEROBASED 21,487 -#define FD_2M 26,602 -#define FD_SIZECODEMASK 27,620 -#define FD_SIZECODE(FD_SIZECODE28,649 -#define FD_SECTSIZE(FD_SECTSIZE29,726 -#define FD_PERP 31,826 -#define FDCLRPRM 42,1095 -#define FDSETPRM 45,1162 -#define FDSETMEDIAPRM 46,1216 -#define FDDEFPRM 49,1300 -#define FDGETPRM 50,1354 -#define FDDEFMEDIAPRM 51,1407 -#define FDGETMEDIAPRM 52,1438 -#define FDMSGON 56,1501 -#define FDMSGOFF 57,1530 -#define FD_FILL_BYTE 64,1655 -struct format_descr format_descr66,1706 -#define FDFMTBEG 70,1765 -#define FDFMTTRK 72,1824 -#define FDFMTEND 74,1908 -struct floppy_max_errors floppy_max_errors81,1994 -#define FDSETEMSGTRESH 99,2540 -#define FDFLUSH 102,2616 -#define FDSETMAXERRS 106,2775 -#define FDGETMAXERRS 107,2836 -typedef char floppy_drive_name[floppy_drive_name112,2990 -#define FDGETDRVTYP 113,3026 -struct floppy_drive_params floppy_drive_params120,3163 -#define FTD_MSG 154,4428 -#define FD_BROKEN_DCL 155,4449 -#define FD_DEBUG 156,4476 -#define FD_SILENT_DCL_CLEAR 157,4498 -#define FD_INVERTED_DCL 158,4530 - FD_NEED_TWADDLE_BIT,176,5094 - FD_VERIFY_BIT,177,5133 - FD_DISK_NEWCHANGE_BIT,178,5185 - FD_UNUSED_BIT,180,5297 - FD_DISK_CHANGED_BIT,181,5313 - FD_DISK_WRITABLE_BIT 182,5378 -#define FDSETDRVPRM 185,5427 -#define FDGETDRVPRM 186,5489 -struct floppy_drive_struct floppy_drive_struct193,5658 -#define FD_NEED_TWADDLE 196,5738 -#define FD_VERIFY 197,5789 -#define FD_DISK_NEWCHANGE 198,5828 -#define FD_DISK_CHANGED 199,5883 -#define FD_DISK_WRITABLE 200,5934 -#define FDGETDRVSTAT 228,6682 -#define FDPOLLDRVSTAT 229,6745 -enum reset_mode reset_mode236,6909 - FD_RESET_IF_NEEDED,237,6927 - FD_RESET_IF_RAWCMD,238,6991 - FD_RESET_ALWAYS 239,7027 -#define FDRESET 241,7067 -struct floppy_fdc_state floppy_fdc_state247,7118 -#define FD_DRIVER_VERSION 260,7544 -#define FDGETFDCSTAT 279,8328 -struct floppy_write_errors floppy_write_errors285,8434 -#define FDWERRORCLR 307,9127 -#define FDWERRORGET 309,9209 -#define FDHAVEBATCHEDRAWCMD317,9399 -struct floppy_raw_cmd floppy_raw_cmd319,9428 -#define FD_RAW_READ 321,9473 -#define FD_RAW_WRITE 322,9495 -#define FD_RAW_NO_MOTOR 323,9518 -#define FD_RAW_DISK_CHANGE 324,9544 -#define FD_RAW_INTR 325,9609 -#define FD_RAW_SPIN 326,9662 -#define FD_RAW_NO_MOTOR_AFTER 327,9727 -#define FD_RAW_NEED_DISK 329,9825 -#define FD_RAW_NEED_SEEK 330,9902 -#define FD_RAW_MORE 333,10003 -#define FD_RAW_STOP_IF_FAILURE 334,10056 -#define FD_RAW_STOP_IF_SUCCESS 335,10130 -#define FD_RAW_SOFTFAILURE 336,10200 -#define FD_RAW_FAILURE 340,10323 -#define FD_RAW_HARDFAILURE 341,10400 -#define FDRAWCMD 363,11043 -#define FDTWADDLE 367,11162 -#define FDEJECT 371,11260 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mca.h,695 -#define _LINUX_MCA_H7,117 -typedef int (*MCA_ProcFn)MCA_ProcFn38,1192 -enum MCA_AdapterStatus MCA_AdapterStatus45,1426 - MCA_ADAPTER_NORMAL 46,1451 - MCA_ADAPTER_NONE 47,1476 - MCA_ADAPTER_DISABLED 48,1499 - MCA_ADAPTER_ERROR 49,1526 -struct mca_device mca_device52,1553 -#define to_mca_device(to_mca_device80,2222 -struct mca_bus_accessor_functions mca_bus_accessor_functions82,2294 -struct mca_bus mca_bus93,2682 -#define to_mca_bus(to_mca_bus100,2819 -struct mca_driver mca_driver102,2885 -#define to_mca_driver(to_mca_driver107,2985 -static inline char *mca_device_get_name(126,3959 -static inline void mca_do_proc_init(145,4568 -static inline void mca_set_adapter_procfn(149,4615 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cpufreq.h,2161 -#define _LINUX_CPUFREQ_H15,432 -#define CPUFREQ_NAME_LEN 26,677 -#define CPUFREQ_TRANSITION_NOTIFIER 36,1079 -#define CPUFREQ_POLICY_NOTIFIER 37,1119 -#define CPUFREQ_POLICY_POWERSAVE 45,1354 -#define CPUFREQ_POLICY_PERFORMANCE 46,1391 -#define CPUFREQ_ETERNAL 57,1737 -struct cpufreq_cpuinfo cpufreq_cpuinfo58,1768 -struct cpufreq_real_policy cpufreq_real_policy64,1915 -struct cpufreq_policy cpufreq_policy71,2118 -#define CPUFREQ_ADJUST 94,2799 -#define CPUFREQ_INCOMPATIBLE 95,2827 -#define CPUFREQ_NOTIFY 96,2860 -#define CPUFREQ_PRECHANGE 101,2963 -#define CPUFREQ_POSTCHANGE 102,2993 -#define CPUFREQ_RESUMECHANGE 103,3024 -struct cpufreq_freqs cpufreq_freqs105,3058 -static inline unsigned long cpufreq_scale(122,3401 -#define CPUFREQ_GOV_START 143,3939 -#define CPUFREQ_GOV_STOP 144,3968 -#define CPUFREQ_GOV_LIMITS 145,3997 -struct cpufreq_governor cpufreq_governor147,4027 -#define CPUFREQ_RELATION_L 176,4977 -#define CPUFREQ_RELATION_H 177,5049 -struct cpufreq_driver cpufreq_driver181,5142 -#define CPUFREQ_STICKY 207,5792 -#define CPUFREQ_CONST_LOOPS 209,5895 -static inline void cpufreq_verify_within_limits(221,6255 -struct freq_attr freq_attr236,6626 - CPU_NR 268,7821 - CPU_NR_0 269,7873 - CPU_NR_1 270,7888 - CPU_NR_2 271,7903 - CPU_NR_3 272,7918 - CPU_NR_4 273,7933 - CPU_NR_5 274,7948 - CPU_NR_6 275,7963 - CPU_NR_7 276,7978 - CPU_NR_8 277,7993 - CPU_NR_9 278,8008 - CPU_NR_10 279,8024 - CPU_NR_11 280,8041 - CPU_NR_12 281,8058 - CPU_NR_13 282,8075 - CPU_NR_14 283,8092 - CPU_NR_15 284,8109 - CPU_NR_16 285,8126 - CPU_NR_17 286,8143 - CPU_NR_18 287,8160 - CPU_NR_19 288,8177 - CPU_NR_20 289,8194 - CPU_NR_21 290,8211 - CPU_NR_22 291,8228 - CPU_NR_23 292,8245 - CPU_NR_24 293,8262 - CPU_NR_25 294,8279 - CPU_NR_26 295,8296 - CPU_NR_27 296,8313 - CPU_NR_28 297,8330 - CPU_NR_29 298,8347 - CPU_NR_30 299,8364 - CPU_NR_31 300,8381 - CPU_NR_FREQ_MAX 305,8451 - CPU_NR_FREQ_MIN 306,8473 - CPU_NR_FREQ 307,8495 -#define CPUFREQ_DEFAULT_GOVERNOR 320,8874 -#define CPUFREQ_DEFAULT_GOVERNOR 323,9039 -#define CPUFREQ_ENTRY_INVALID 331,9319 -#define CPUFREQ_TABLE_END 332,9352 -struct cpufreq_frequency_table cpufreq_frequency_table334,9386 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/prctl.h,1048 -#define _LINUX_PRCTL_H2,23 -#define PR_SET_PDEATHSIG 6,98 -#define PR_GET_PDEATHSIG 7,156 -#define PR_GET_DUMPABLE 10,269 -#define PR_SET_DUMPABLE 11,297 -#define PR_GET_UNALIGN 14,386 -#define PR_SET_UNALIGN 15,413 -# define PR_UNALIGN_NOPRINT 16,440 -# define PR_UNALIGN_SIGBUS 17,516 -#define PR_GET_KEEPCAPS 20,671 -#define PR_SET_KEEPCAPS 21,699 -#define PR_GET_FPEMU 24,796 -#define PR_SET_FPEMU 25,820 -# define PR_FPEMU_NOPRINT 26,844 -# define PR_FPEMU_SIGFPE 27,918 -#define PR_GET_FPEXC 30,1061 -#define PR_SET_FPEXC 31,1085 -# define PR_FP_EXC_SW_ENABLE 32,1109 -# define PR_FP_EXC_DIV 33,1184 -# define PR_FP_EXC_OVF 34,1253 -# define PR_FP_EXC_UND 35,1316 -# define PR_FP_EXC_RES 36,1380 -# define PR_FP_EXC_INV 37,1449 -# define PR_FP_EXC_DISABLED 38,1521 -# define PR_FP_EXC_NONRECOV 39,1580 -# define PR_FP_EXC_ASYNC 40,1648 -# define PR_FP_EXC_PRECISE 41,1714 -#define PR_GET_TIMING 45,1875 -#define PR_SET_TIMING 46,1902 -# define PR_TIMING_STATISTICAL 47,1929 -# define PR_TIMING_TIMESTAMP 49,2074 -#define PR_SET_NAME 53,2213 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ac97_codec.h,5403 -#define _AC97_CODEC_H_2,23 -#define AC97_RESET 8,117 -#define AC97_MASTER_VOL_STEREO 9,166 -#define AC97_HEADPHONE_VOL 10,224 -#define AC97_MASTER_VOL_MONO 11,274 -#define AC97_MASTER_TONE 12,334 -#define AC97_PCBEEP_VOL 13,383 -#define AC97_PHONE_VOL 14,437 -#define AC97_MIC_VOL 15,503 -#define AC97_LINEIN_VOL 16,569 -#define AC97_CD_VOL 17,638 -#define AC97_VIDEO_VOL 18,705 -#define AC97_AUX_VOL 19,759 -#define AC97_PCMOUT_VOL 20,827 -#define AC97_RECORD_SELECT 21,897 -#define AC97_RECORD_GAIN 22,946 -#define AC97_RECORD_GAIN_MIC 23,987 -#define AC97_GENERAL_PURPOSE 24,1028 -#define AC97_3D_CONTROL 25,1069 -#define AC97_MODEM_RATE 26,1110 -#define AC97_POWER_CONTROL 27,1151 -#define AC97_EXTENDED_ID 30,1209 -#define AC97_EXTENDED_STATUS 31,1280 -#define AC97_PCM_FRONT_DAC_RATE 32,1355 -#define AC97_PCM_SURR_DAC_RATE 33,1427 -#define AC97_PCM_LFE_DAC_RATE 34,1502 -#define AC97_PCM_LR_ADC_RATE 35,1572 -#define AC97_PCM_MIC_ADC_RATE 36,1641 -#define AC97_CENTER_LFE_MASTER 37,1711 -#define AC97_SURROUND_MASTER 38,1791 -#define AC97_RESERVED_3A 39,1874 -#define AC97_SPDIF_CONTROL 42,1969 -#define AC97_EXTENDED_MODEM_ID 45,2068 -#define AC97_EXTEND_MODEM_STAT 46,2109 -#define AC97_LINE1_RATE 47,2150 -#define AC97_LINE2_RATE 48,2191 -#define AC97_HANDSET_RATE 49,2232 -#define AC97_LINE1_LEVEL 50,2273 -#define AC97_LINE2_LEVEL 51,2314 -#define AC97_HANDSET_LEVEL 52,2355 -#define AC97_GPIO_CONFIG 53,2396 -#define AC97_GPIO_POLARITY 54,2437 -#define AC97_GPIO_STICKY 55,2478 -#define AC97_GPIO_WAKE_UP 56,2519 -#define AC97_GPIO_STATUS 57,2560 -#define AC97_MISC_MODEM_STAT 58,2601 -#define AC97_RESERVED_58 59,2642 -#define AC97_VENDOR_ID1 63,2737 -#define AC97_VENDOR_ID2 64,2778 -#define AC97_MUTE 67,2853 -#define AC97_MICBOOST 68,2894 -#define AC97_LEFTVOL 69,2935 -#define AC97_RIGHTVOL 70,2976 -#define AC97_RECMUX_MIC 73,3043 -#define AC97_RECMUX_CD 74,3084 -#define AC97_RECMUX_VIDEO 75,3125 -#define AC97_RECMUX_AUX 76,3166 -#define AC97_RECMUX_LINE 77,3207 -#define AC97_RECMUX_STEREO_MIX 78,3248 -#define AC97_RECMUX_MONO_MIX 79,3289 -#define AC97_RECMUX_PHONE 80,3330 -#define AC97_GP_LPBK 83,3415 -#define AC97_GP_MS 84,3482 -#define AC97_GP_MIX 85,3561 -#define AC97_GP_RLBK 86,3646 -#define AC97_GP_LLBK 87,3734 -#define AC97_GP_LD 88,3821 -#define AC97_GP_3D 89,3888 -#define AC97_GP_ST 90,3961 -#define AC97_GP_POP 91,4038 -#define AC97_EA_VRA 94,4178 -#define AC97_EA_DRA 95,4260 -#define AC97_EA_SPDIF 96,4342 -#define AC97_EA_VRM 97,4413 -#define AC97_EA_CDAC 98,4503 -#define AC97_EA_SDAC 99,4592 -#define AC97_EA_LDAC 100,4685 -#define AC97_EA_MDAC 101,4771 -#define AC97_EA_SPCV 102,4853 -#define AC97_EA_PRI 103,4945 -#define AC97_EA_PRJ 104,5027 -#define AC97_EA_PRK 105,5112 -#define AC97_EA_PRL 106,5191 -#define AC97_EA_SLOT_MASK 107,5266 -#define AC97_EA_SPSA_3_4 108,5349 -#define AC97_EA_SPSA_7_8 109,5425 -#define AC97_EA_SPSA_6_9 110,5501 -#define AC97_EA_SPSA_10_11 111,5577 -#define AC97_SC_PRO 114,5689 -#define AC97_SC_NAUDIO 115,5762 -#define AC97_SC_COPY 116,5832 -#define AC97_SC_PRE 117,5902 -#define AC97_SC_CC_MASK 118,5974 -#define AC97_SC_L 119,6046 -#define AC97_SC_SPSR_MASK 120,6123 -#define AC97_SC_SPSR_44K 121,6200 -#define AC97_SC_SPSR_48K 122,6277 -#define AC97_SC_SPSR_32K 123,6352 -#define AC97_SC_DRS 124,6427 -#define AC97_SC_V 125,6499 -#define AC97_PWR_MDM 130,6630 -#define AC97_PWR_REF 131,6703 -#define AC97_PWR_ANL 132,6769 -#define AC97_PWR_DAC 133,6843 -#define AC97_PWR_ADC 134,6914 -#define AC97_PWR_PR0 137,7000 -#define AC97_PWR_PR1 138,7075 -#define AC97_PWR_PR2 139,7142 -#define AC97_PWR_PR3 140,7228 -#define AC97_PWR_PR4 141,7315 -#define AC97_PWR_PR5 142,7386 -#define AC97_PWR_PR6 143,7460 -#define AC97_PWR_PR7 144,7530 -#define AC97_EXTID_VRA 147,7654 -#define AC97_EXTID_DRA 148,7695 -#define AC97_EXTID_SPDIF 149,7736 -#define AC97_EXTID_VRM 150,7777 -#define AC97_EXTID_DSA0 151,7818 -#define AC97_EXTID_DSA1 152,7859 -#define AC97_EXTID_CDAC 153,7900 -#define AC97_EXTID_SDAC 154,7941 -#define AC97_EXTID_LDAC 155,7982 -#define AC97_EXTID_AMAP 156,8023 -#define AC97_EXTID_REV0 157,8064 -#define AC97_EXTID_REV1 158,8105 -#define AC97_EXTID_ID0 159,8146 -#define AC97_EXTID_ID1 160,8187 -#define AC97_EXTSTAT_VRA 163,8272 -#define AC97_EXTSTAT_DRA 164,8313 -#define AC97_EXTSTAT_SPDIF 165,8354 -#define AC97_EXTSTAT_VRM 166,8395 -#define AC97_EXTSTAT_SPSA0 167,8436 -#define AC97_EXTSTAT_SPSA1 168,8477 -#define AC97_EXTSTAT_CDAC 169,8518 -#define AC97_EXTSTAT_SDAC 170,8559 -#define AC97_EXTSTAT_LDAC 171,8600 -#define AC97_EXTSTAT_MADC 172,8641 -#define AC97_EXTSTAT_SPCV 173,8682 -#define AC97_EXTSTAT_PRI 174,8723 -#define AC97_EXTSTAT_PRJ 175,8764 -#define AC97_EXTSTAT_PRK 176,8805 -#define AC97_EXTSTAT_PRL 177,8846 -#define AC97_PWR_D0 180,8914 -#define AC97_PWR_D1 181,8980 -#define AC97_PWR_D2 182,9052 -#define AC97_PWR_D3 183,9150 -#define AC97_PWR_ANLOFF 184,9248 -#define AC97_REG_CNT 187,9376 -#define AC97_STEREO_MASK 191,9437 -#define AC97_SUPPORTED_MASK 196,9606 -#define AC97_RECORD_MASK 201,9772 -#define supported_mixer(supported_mixer212,10279 -struct ac97_codec ac97_codec216,10478 -struct ac97_opsac97_ops278,12042 -#define AUDIO_DIGITAL 286,12294 -#define AUDIO_PRO 287,12324 -#define AUDIO_DRS 288,12350 -#define AUDIO_CCMASK 289,12376 -#define AC97_DELUDED_MODEM 291,12407 -#define AC97_NO_PCM_VOLUME 292,12474 -struct ac97_driver ac97_driver306,13090 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if.h,2030 -#define _LINUX_IF_H20,749 -#define IFNAMSIZ 26,957 -#define IFF_UP 30,1059 -#define IFF_BROADCAST 31,1103 -#define IFF_DEBUG 32,1160 -#define IFF_LOOPBACK 33,1208 -#define IFF_POINTOPOINT 34,1259 -#define IFF_NOTRAILERS 35,1321 -#define IFF_RUNNING 36,1378 -#define IFF_NOARP 37,1431 -#define IFF_PROMISC 38,1478 -#define IFF_ALLMULTI 39,1532 -#define IFF_MASTER 41,1596 -#define IFF_SLAVE 42,1655 -#define IFF_MULTICAST 44,1712 -#define IFF_VOLATILE 46,1769 -#define IFF_PORTSEL 48,1869 -#define IFF_AUTOMEDIA 49,1931 -#define IFF_DYNAMIC 50,1992 -#define IFF_802_1Q_VLAN 53,2131 -#define IFF_EBRIDGE 54,2206 -#define IF_GET_IFACE 56,2264 -#define IF_GET_PROTO 57,2317 -#define IF_IFACE_V35 60,2379 -#define IF_IFACE_V24 61,2436 -#define IF_IFACE_X21 62,2493 -#define IF_IFACE_T1 63,2550 -#define IF_IFACE_E1 64,2610 -#define IF_IFACE_SYNC_SERIAL 65,2670 -#define IF_IFACE_X21D 66,2737 -#define IF_PROTO_HDLC 69,2846 -#define IF_PROTO_PPP 70,2901 -#define IF_PROTO_CISCO 71,2951 -#define IF_PROTO_FR 72,3009 -#define IF_PROTO_FR_ADD_PVC 73,3065 -#define IF_PROTO_FR_DEL_PVC 74,3124 -#define IF_PROTO_X25 75,3183 -#define IF_PROTO_HDLC_ETH 76,3226 -#define IF_PROTO_FR_ADD_ETH_PVC 77,3294 -#define IF_PROTO_FR_DEL_ETH_PVC 78,3371 -#define IF_PROTO_FR_PVC 79,3448 -#define IF_PROTO_FR_ETH_PVC 80,3509 -#define IF_PROTO_RAW 81,3544 -struct ifmap ifmap94,4017 -struct if_settingsif_settings105,4197 -struct ifreq ifreq130,4867 -#define IFHWADDRLEN 132,4883 -#define ifr_name 155,5399 -#define ifr_hwaddr 156,5457 -#define ifr_addr 157,5517 -#define ifr_dstaddr 158,5568 -#define ifr_broadaddr 159,5637 -#define ifr_netmask 160,5707 -#define ifr_flags 161,5774 -#define ifr_metric 162,5825 -#define ifr_mtu 163,5879 -#define ifr_map 164,5926 -#define ifr_slave 165,5979 -#define ifr_data 166,6037 -#define ifr_ifindex 167,6100 -#define ifr_bandwidth 168,6163 -#define ifr_qlen 169,6230 -#define ifr_newname 170,6288 -#define ifr_settings 171,6346 -struct ifconf ifconf180,6593 -#define ifc_buf 189,6732 -#define ifc_req 190,6788 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdla_chdlc.h,9594 -# define _SDLC_CHDLC_H32,1233 -#define PACKED 46,1552 -#define PRI_BASE_ADDR_MB_STRUCT 54,1845 -#define SEC_BASE_ADDR_MB_STRUCT 55,1949 -#define SIZEOF_MB_DATA_BFR 56,2053 -#define NUMBER_MB_RESERVED_BYTES 57,2133 -#define MIN_LGTH_CHDLC_DATA_CFG 60,2235 -#define PRI_MAX_NO_DATA_BYTES_IN_FRAME 61,2344 -} CHDLC_MAILBOX_STRUCT;CHDLC_MAILBOX_STRUCT70,2843 -} CMDBLOCK_STRUCT;CMDBLOCK_STRUCT76,2983 -#define READ_GLOBAL_EXCEPTION_CONDITION 86,3244 -#define SET_GLOBAL_CONFIGURATION 87,3289 -#define READ_GLOBAL_CONFIGURATION 88,3327 -#define READ_GLOBAL_STATISTICS 89,3366 -#define FLUSH_GLOBAL_STATISTICS 90,3403 -#define SET_MODEM_STATUS 91,3441 -#define READ_MODEM_STATUS 92,3503 -#define READ_COMMS_ERROR_STATS 93,3568 -#define FLUSH_COMMS_ERROR_STATS 94,3606 -#define SET_TRACE_CONFIGURATION 95,3644 -#define READ_TRACE_CONFIGURATION 96,3714 -#define READ_TRACE_STATISTICS 97,3785 -#define FLUSH_TRACE_STATISTICS 98,3853 -#define FT1_MONITOR_STATUS_CTRL 99,3923 -#define SET_FT1_CONFIGURATION 100,4009 -#define READ_FT1_CONFIGURATION 101,4077 -#define TRANSMIT_ASYNC_DATA_TO_FT1 102,4147 -#define RECEIVE_ASYNC_DATA_FROM_FT1 103,4229 -#define FT1_MONITOR_STATUS_CTRL 104,4315 -#define READ_FT1_OPERATIONAL_STATS 106,4397 -#define SET_FT1_MODE 107,4484 -#define READ_CHDLC_CODE_VERSION 110,4604 -#define READ_CHDLC_EXCEPTION_CONDITION 111,4643 -#define SET_CHDLC_CONFIGURATION 112,4735 -#define READ_CHDLC_CONFIGURATION 113,4773 -#define ENABLE_CHDLC_COMMUNICATIONS 114,4811 -#define DISABLE_CHDLC_COMMUNICATIONS 115,4852 -#define READ_CHDLC_LINK_STATUS 116,4894 -#define READ_CHDLC_OPERATIONAL_STATS 117,4931 -#define FLUSH_CHDLC_OPERATIONAL_STATS 118,4973 -#define SET_CHDLC_INTERRUPT_TRIGGERS 119,5016 -#define READ_CHDLC_INTERRUPT_TRIGGERS 120,5099 -#define CPIPE_ENABLE_TRACING 123,5244 -#define CPIPE_DISABLE_TRACING 124,5281 -#define CPIPE_GET_TRACE_INFO 125,5319 -#define CPIPE_GET_IBA_DATA 126,5356 -#define CPIPE_FT1_READ_STATUS 127,5391 -#define CPIPE_DRIVER_STAT_IFSEND 128,5429 -#define CPIPE_DRIVER_STAT_INTR 129,5469 -#define CPIPE_DRIVER_STAT_GEN 130,5508 -#define CPIPE_FLUSH_DRIVER_STATS 131,5546 -#define CPIPE_ROUTER_UP_TIME 132,5586 -#define CHDLC_READ_TRACE_DATA 135,5663 -#define TRACE_ALL 136,5721 -#define TRACE_PROT 137,5766 -#define TRACE_DATA 138,5792 -#define DISCARD_RX_ERROR_FRAMES 140,5819 -#define COMMAND_OK 146,6080 -#define NO_GLOBAL_EXCEP_COND_TO_REPORT 149,6158 -#define LGTH_GLOBAL_CFG_DATA_INVALID 150,6257 -#define LGTH_TRACE_CFG_DATA_INVALID 151,6368 -#define IRQ_TIMEOUT_VALUE_INVALID 152,6477 -#define TRACE_CONFIG_INVALID 153,6577 -#define ADAPTER_OPERATING_FREQ_INVALID 154,6666 -#define TRC_DEAC_TMR_INVALID 155,6769 -#define S508_FT1_ADPTR_NOT_PRESENT 156,6851 -#define INVALID_FT1_STATUS_SELECTION 157,6934 -#define FT1_OP_STATS_NOT_ENABLED 158,7037 -#define FT1_OP_STATS_NOT_AVAILABLE 159,7138 -#define S508_FT1_MODE_SELECTION_BUSY 160,7247 -#define EXCEP_MODEM_STATUS_CHANGE 163,7421 -#define EXCEP_TRC_DISABLED 164,7499 -#define EXCEP_IRQ_TIMEOUT 165,7568 -#define NO_CHDLC_EXCEP_COND_TO_REPORT 168,7676 -#define CHDLC_COMMS_DISABLED 169,7774 -#define CHDLC_COMMS_ENABLED 170,7857 -#define DISABLE_CHDLC_COMMS_BEFORE_CFG 171,7935 -#define ENABLE_CHDLC_COMMS_BEFORE_CONN 172,8057 -#define CHDLC_CFG_BEFORE_COMMS_ENABLED 173,8179 -#define LGTH_CHDLC_CFG_DATA_INVALID 174,8286 -#define LGTH_INT_TRIGGERS_DATA_INVALID 175,8396 -#define INVALID_IRQ_SELECTED 176,8506 -#define INVALID_CHDLC_CFG_DATA 177,8612 -#define IRQ_TMR_VALUE_INVALID 178,8703 -#define LARGER_PERCENT_TX_BFR_REQUIRED 179,8798 -#define LARGER_PERCENT_RX_BFR_REQUIRED 180,8891 -#define S514_BOTH_PORTS_SAME_CLK_MODE 181,8984 -#define INVALID_CMND_HDLC_STREAM_MODE 182,9078 -#define INVALID_CHDLC_COMMAND 183,9203 -#define EXCEP_LINK_ACTIVE 186,9357 -#define EXCEP_LINK_INACTIVE_MODEM 187,9429 -#define EXCEP_LINK_INACTIVE_KPALV 188,9525 -#define EXCEP_IP_ADDRESS_DISCOVERED 189,9625 -#define EXCEP_LOOPBACK_CONDITION 190,9708 -#define LINK_DISCONNECTED 194,9859 -#define NO_TX_BFRS_AVAIL 195,9892 -} GLOBAL_CONFIGURATION_STRUCT;GLOBAL_CONFIGURATION_STRUCT207,10458 -#define MAX_APP_IRQ_TIMEOUT_VALUE 210,10531 -} GLOBAL_STATS_STRUCT;GLOBAL_STATS_STRUCT221,10939 -} COMMS_ERROR_STATS_STRUCT;COMMS_ERROR_STATS_STRUCT241,12035 -} LINE_TRACE_CONFIG_STRUCT;LINE_TRACE_CONFIG_STRUCT254,12657 -#define TRACE_INACTIVE 257,12720 -#define TRACE_ACTIVE 258,12773 -#define TRACE_DELAY_MODE 259,12822 -#define TRACE_DATA_FRAMES 260,12890 -#define TRACE_SLARP_FRAMES 261,12945 -#define TRACE_CDP_FRAMES 262,13002 -} TRACE_STATUS_EL_CFG_STRUCT;TRACE_STATUS_EL_CFG_STRUCT271,13602 -} TRACE_STATUS_ELEMENT_STRUCT;TRACE_STATUS_ELEMENT_STRUCT282,14124 -#define TRACE_INCOMING 285,14188 -#define TRACE_OUTGOINGING 286,14219 -#define TRACE_INCOMING_ABORTED 287,14252 -#define TRACE_INCOMING_CRC_ERROR 288,14290 -#define TRACE_INCOMING_OVERRUN_ERROR 289,14329 -} LINE_TRACE_STATS_STRUCT;LINE_TRACE_STATS_STRUCT297,14597 -#define DISABLE_FT1_STATUS_STATISTICS 304,14854 -#define ENABLE_READ_FT1_STATUS 305,14955 -#define ENABLE_READ_FT1_OP_STATS 306,15033 -#define FLUSH_FT1_OP_STATS 307,15116 -} CHDLC_CONFIGURATION_STRUCT;CHDLC_CONFIGURATION_STRUCT336,17029 -#define INTERFACE_LEVEL_V35 339,17105 -#define INTERFACE_LEVEL_RS232 340,17171 -#define DONT_RAISE_DTR_RTS_ON_EN_COMMS 344,17289 -#define DONT_REPORT_CHG_IN_MODEM_STAT 348,17439 -#define IGNORE_DCD_FOR_LINK_STAT 354,17608 -#define IGNORE_CTS_FOR_LINK_STAT 357,17704 -#define IGNORE_KPALV_FOR_LINK_STAT 360,17800 -#define SINGLE_TX_BUFFER 363,17912 -#define HDLC_STREAMING_MODE 366,17989 -#define CHDLC_TX_DATA_BYTE_COUNT_STAT 370,18080 -#define CHDLC_RX_DATA_BYTE_COUNT_STAT 373,18177 -#define CHDLC_TX_THROUGHPUT_STAT 376,18271 -#define CHDLC_RX_THROUGHPUT_STAT 379,18362 -#define PRI_MAX_BAUD_RATE_S508 384,18532 -#define SEC_MAX_BAUD_RATE_S508 385,18614 -#define PRI_MAX_BAUD_RATE_S514 386,18696 -#define SEC_MAX_BAUD_RATE_S514 387,18779 -#define MIN_MODEM_TIMER 389,18864 -#define MAX_MODEM_TIMER 390,18925 -#define SEC_MAX_NO_DATA_BYTES_IN_FRAME 392,18990 -#define MIN_Tx_KPALV_TIMER 394,19089 -#define MAX_Tx_KPALV_TIMER 395,19159 -#define DEFAULT_Tx_KPALV_TIMER 396,19233 -#define MIN_Rx_KPALV_TIMER 398,19312 -#define MAX_Rx_KPALV_TIMER 399,19382 -#define DEFAULT_Rx_KPALV_TIMER 400,19455 -#define MIN_KPALV_ERR_TOL 402,19533 -#define MAX_KPALV_ERR_TOL 403,19601 -#define DEFAULT_KPALV_ERR_TOL 404,19670 -#define MIN_SLARP_REQ_TIMER 406,19725 -#define MAX_SLARP_REQ_TIMER 407,19796 -#define DEFAULT_SLARP_REQ_TIMER 408,19871 -} CHDLC_LINK_STATUS_STRUCT;CHDLC_LINK_STATUS_STRUCT422,20508 -#define CHDLC_LINK_INACTIVE 425,20589 -#define CHDLC_LINK_ACTIVE 426,20656 -} CHDLC_OPERATIONAL_STATS_STRUCT;CHDLC_OPERATIONAL_STATS_STRUCT512,26439 -} CHDLC_INT_TRIGGERS_STRUCT;CHDLC_INT_TRIGGERS_STRUCT526,27090 -#define APP_INT_ON_RX_FRAME 529,27166 -#define APP_INT_ON_TX_FRAME 530,27240 -#define APP_INT_ON_COMMAND_COMPLETE 531,27328 -#define APP_INT_ON_TIMER 532,27423 -#define APP_INT_ON_GLOBAL_EXCEP_COND 533,27503 -#define APP_INT_ON_CHDLC_EXCEP_COND 534,27594 -#define APP_INT_ON_TRACE_DATA_AVAIL 535,27683 -#define NO_APP_INTS_PEND 538,27863 -#define RX_APP_INT_PEND 539,27925 -#define TX_APP_INT_PEND 540,27993 -#define COMMAND_COMPLETE_APP_INT_PEND 541,28062 -#define TIMER_APP_INT_PEND 542,28153 -#define GLOBAL_EXCEP_COND_APP_INT_PEND 543,28221 -#define CHDLC_EXCEP_COND_APP_INT_PEND 544,28322 -#define TRACE_DATA_AVAIL_APP_INT_PEND 545,28422 -#define DCD_HIGH 549,28544 -#define CTS_HIGH 550,28568 -} CHDLC_TX_STATUS_EL_CFG_STRUCT;CHDLC_TX_STATUS_EL_CFG_STRUCT562,29198 -} CHDLC_DATA_TX_STATUS_EL_STRUCT;CHDLC_DATA_TX_STATUS_EL_STRUCT572,29698 -} CHDLC_RX_STATUS_EL_CFG_STRUCT;CHDLC_RX_STATUS_EL_CFG_STRUCT587,30510 -} CHDLC_DATA_RX_STATUS_EL_STRUCT;CHDLC_DATA_RX_STATUS_EL_STRUCT598,31130 -} GLOBAL_INFORMATION_STRUCT;GLOBAL_INFORMATION_STRUCT614,31833 -} CHDLC_INFORMATION_STRUCT;CHDLC_INFORMATION_STRUCT621,32116 -} INTERRUPT_INFORMATION_STRUCT;INTERRUPT_INFORMATION_STRUCT628,32415 -} FT1_INFORMATION_STRUCT;FT1_INFORMATION_STRUCT635,32718 -} SHARED_MEMORY_INFO_STRUCT;SHARED_MEMORY_INFO_STRUCT643,33191 -} cblock_t;cblock_t658,33972 -} trace_info_t;trace_info_t679,34472 -} chdlc_udp_pkt_t;chdlc_udp_pkt_t688,34749 -typedef struct ft1_exec_cmd{ft1_exec_cmd690,34769 -} ft1_exec_cmd_t;ft1_exec_cmd_t695,35091 -} ft1_exec_t;ft1_exec_t701,35249 -#define UDPMGMT_SIGNATURE 703,35264 -#define UDPMGMT_UDP_PROTOCOL 726,35905 -} trace_pkt_t;trace_pkt_t735,36126 -} api_rx_hdr_t;api_rx_hdr_t741,36264 -} api_rx_element_t;api_rx_element_t746,36378 -} api_tx_hdr_t;api_tx_hdr_t751,36484 -} api_tx_element_t;api_tx_element_t756,36575 -} ft1_config_t;ft1_config_t770,37106 -#define ESF_FRAMING 773,37161 -#define D4_FRAMING 774,37205 -#define B8ZS_ENCODING 777,37288 -#define AMI_ENCODING 778,37336 -#define LN_BLD_CSU_0dB_DSX1_0_to_133 781,37422 -#define LN_BLD_DSX1_133_to_266 782,37516 -#define LN_BLD_DSX1_266_to_399 783,37591 -#define LN_BLD_DSX1_399_to_533 784,37666 -#define LN_BLD_DSX1_533_to_655 785,37741 -#define LN_BLD_CSU_NEG_7dB 786,37816 -#define LN_BLD_CSU_NEG_15dB 787,37885 -#define LN_BLD_CSU_NEG_22dB 788,37954 -#define MIN_CHANNEL_BASE_VALUE 791,38064 -#define MAX_CHANNEL_BASE_VALUE 792,38146 -#define MIN_BAUD_RATE_KBPS 795,38270 -#define MAX_BAUD_RATE_KBPS 796,38346 -#define BAUD_RATE_FT1_AUTO_CONFIG 797,38425 -#define CLOCK_MODE_NORMAL 800,38570 -#define CLOCK_MODE_MASTER 801,38641 -#define BAUD_RATE_FT1_AUTO_CONFIG 804,38706 -#define AUTO_FT1_CONFIG_NOT_COMPLETE 805,38750 -#define AUTO_FT1_CFG_FAIL_OP_MODE 806,38792 -#define AUTO_FT1_CFG_FAIL_INVALID_LINE 807,38831 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nls.h,321 -#define _LINUX_NLS_H2,21 -typedef __u16 wchar_t;wchar_t7,92 -struct nls_table nls_table9,116 -#define NLS_MAX_CHARSET_SIZE 22,479 -static inline unsigned char nls_tolower(36,981 -static inline unsigned char nls_toupper(43,1127 -static inline int nls_strnicmp(50,1273 -#define MODULE_ALIAS_NLS(MODULE_ALIAS_NLS61,1490 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_idmap.h,391 -#define NFS_IDMAP_H38,1728 -#define IDMAP_NAMESZ 41,1777 -#define IDMAP_TYPE_USER 43,1804 -#define IDMAP_TYPE_GROUP 44,1831 -#define IDMAP_CONV_IDTONAME 46,1859 -#define IDMAP_CONV_NAMETOID 47,1889 -#define IDMAP_STATUS_INVALIDMSG 49,1920 -#define IDMAP_STATUS_AGAIN 50,1957 -#define IDMAP_STATUS_LOOKUPFAIL 51,1994 -#define IDMAP_STATUS_SUCCESS 52,2031 -struct idmap_msg idmap_msg54,2069 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pkt_sched.h,3751 -#define __LINUX_PKT_SCHED_H2,28 -#define TC_PRIO_BESTEFFORT 17,602 -#define TC_PRIO_FILLER 18,632 -#define TC_PRIO_BULK 19,659 -#define TC_PRIO_INTERACTIVE_BULK 20,684 -#define TC_PRIO_INTERACTIVE 21,719 -#define TC_PRIO_CONTROL 22,750 -#define TC_PRIO_MAX 24,779 -struct tc_statstc_stats30,933 -struct tc_estimatortc_estimator43,1343 -#define TC_H_MAJ_MASK 66,1997 -#define TC_H_MIN_MASK 67,2033 -#define TC_H_MAJ(TC_H_MAJ68,2069 -#define TC_H_MIN(TC_H_MIN69,2109 -#define TC_H_MAKE(TC_H_MAKE70,2149 -#define TC_H_UNSPEC 72,2223 -#define TC_H_ROOT 73,2248 -#define TC_H_INGRESS 74,2280 -struct tc_ratespectc_ratespec76,2319 -struct tc_fifo_qopttc_fifo_qopt88,2492 -#define TCQ_PRIO_BANDS 95,2607 -struct tc_prio_qopttc_prio_qopt97,2634 -struct tc_tbf_qopttc_tbf_qopt105,2786 - TCA_TBF_UNSPEC,116,2918 - TCA_TBF_PARMS,117,2935 - TCA_TBF_RTAB,118,2951 - TCA_TBF_PTAB,119,2966 -struct tc_sfq_qopttc_sfq_qopt129,3069 - TCA_RED_UNSPEC,151,3595 - TCA_RED_PARMS,152,3612 - TCA_RED_STAB,153,3628 -struct tc_red_qopttc_red_qopt156,3647 -#define TC_RED_ECN 165,4024 -struct tc_red_xstatstc_red_xstats168,4049 -#define MAX_DPs 178,4331 - TCA_GRED_UNSPEC,182,4358 - TCA_GRED_PARMS,183,4382 - TCA_GRED_STAB,184,4405 - TCA_GRED_DPS,185,4427 -#define TCA_SET_OFF 188,4452 -struct tc_gred_qopttc_gred_qopt189,4487 -struct tc_gred_sopttc_gred_sopt213,5346 -#define TC_HTB_NUMPRIO 221,5478 -#define TC_HTB_MAXDEPTH 222,5504 -#define TC_HTB_PROTOVER 223,5531 -struct tc_htb_opttc_htb_opt225,5596 -struct tc_htb_globtc_htb_glob235,5763 - TCA_HTB_UNSPEC,247,6034 - TCA_HTB_PARMS,248,6051 - TCA_HTB_INIT,249,6067 - TCA_HTB_CTAB,250,6082 - TCA_HTB_RTAB,251,6097 -struct tc_htb_xstatstc_htb_xstats253,6115 -struct tc_hfsc_qopttc_hfsc_qopt264,6288 -struct tc_service_curvetc_service_curve269,6350 -struct tc_hfsc_statstc_hfsc_stats276,6542 - TCA_HFSC_UNSPEC,286,6749 - TCA_HFSC_RSC,287,6767 - TCA_HFSC_FSC,288,6782 - TCA_HFSC_USC,289,6797 - TCA_HFSC_MAX 290,6812 - TCA_HFSC_MAX = TCA_HFSC_USC290,6812 -#define TC_CBQ_MAXPRIO 295,6864 -#define TC_CBQ_MAXLEVEL 296,6890 -#define TC_CBQ_DEF_EWMA 297,6917 -struct tc_cbq_lssopttc_cbq_lssopt299,6945 -#define TCF_CBQ_LSS_BOUNDED 303,7013 -#define TCF_CBQ_LSS_ISOLATED 304,7043 -#define TCF_CBQ_LSS_FLAGS 307,7125 -#define TCF_CBQ_LSS_EWMA 308,7153 -#define TCF_CBQ_LSS_MAXIDLE 309,7180 -#define TCF_CBQ_LSS_MINIDLE 310,7210 -#define TCF_CBQ_LSS_OFFTIME 311,7240 -#define TCF_CBQ_LSS_AVPKT 312,7273 -struct tc_cbq_wrropttc_cbq_wrropt319,7374 -struct tc_cbq_ovltc_cbq_ovl329,7532 -#define TC_CBQ_OVL_CLASSIC 332,7577 -#define TC_CBQ_OVL_DELAY 333,7606 -#define TC_CBQ_OVL_LOWPRIO 334,7633 -#define TC_CBQ_OVL_DROP 335,7662 -#define TC_CBQ_OVL_RCLASSIC 336,7689 -struct tc_cbq_policetc_cbq_police341,7766 -struct tc_cbq_fopttc_cbq_fopt348,7863 -struct tc_cbq_xstatstc_cbq_xstats355,7938 - TCA_CBQ_UNSPEC,365,8046 - TCA_CBQ_LSSOPT,366,8063 - TCA_CBQ_WRROPT,367,8080 - TCA_CBQ_FOPT,368,8097 - TCA_CBQ_OVL_STRATEGY,369,8112 - TCA_CBQ_RATE,370,8135 - TCA_CBQ_RTAB,371,8150 - TCA_CBQ_POLICE,372,8165 -#define TCA_CBQ_MAX 375,8186 - TCA_DSMARK_UNSPEC,380,8251 - TCA_DSMARK_INDICES,381,8271 - TCA_DSMARK_DEFAULT_INDEX,382,8292 - TCA_DSMARK_SET_TC_INDEX,383,8319 - TCA_DSMARK_MASK,384,8345 - TCA_DSMARK_VALUE385,8363 -#define TCA_DSMARK_MAX 388,8385 - TCA_ATM_UNSPEC,393,8453 - TCA_ATM_FD,394,8470 - TCA_ATM_PTR,395,8513 - TCA_ATM_HDR,396,8564 - TCA_ATM_EXCESS,397,8595 - TCA_ATM_ADDR,398,8653 - TCA_ATM_STATE 399,8705 -#define TCA_ATM_MAX 402,8768 - TCA_NETEM_UNSPEC,408,8834 - TCA_NETEM_CORR,409,8853 - TCA_NETEM_DELAY_DIST,410,8870 -#define TCA_NETEM_MAX 413,8897 -struct tc_netem_qopttc_netem_qopt415,8941 -struct tc_netem_corrtc_netem_corr425,9274 -#define NETEM_DIST_SCALE 432,9438 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/affs_hardblocks.h,226 -#define AFFS_HARDBLOCKS_H2,26 -struct RigidDiskBlock RigidDiskBlock6,116 -#define IDNAME_RIGIDDISK 45,954 -struct PartitionBlock PartitionBlock47,1004 -#define IDNAME_PARTITION 62,1271 -#define RDB_ALLOCATION_LIMIT 64,1321 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/divert.h,1132 -#define _LINUX_DIVERT_H10,146 -#define MAX_DIVERT_PORTS 14,195 -#define DIVERT_PROTO_NONE 17,297 -#define DIVERT_PROTO_IP 18,330 -#define DIVERT_PROTO_ICMP 19,362 -#define DIVERT_PROTO_TCP 20,395 -#define DIVERT_PROTO_UDP 21,427 -struct divert_blkdivert_blk26,518 -typedef union _divert_cf_arg_divert_cf_arg41,991 -} divert_cf_arg;divert_cf_arg50,1122 -struct divert_cfdivert_cf53,1141 -#define DIVCMD_DIVERT 64,1313 -#define DIVCMD_IP 65,1370 -#define DIVCMD_TCP 66,1433 -#define DIVCMD_TCPDST 67,1498 -#define DIVCMD_TCPSRC 68,1568 -#define DIVCMD_UDP 69,1638 -#define DIVCMD_UDPDST 70,1703 -#define DIVCMD_UDPSRC 71,1773 -#define DIVCMD_ICMP 72,1843 -#define DIVCMD_GETSTATUS 73,1910 -#define DIVCMD_RESET 74,1976 -#define DIVCMD_GETVERSION 75,2048 -#define DIVARG1_ENABLE 100,2975 -#define DIVARG1_DISABLE 101,3025 -#define DIVARG1_ADD 102,3077 -#define DIVARG1_REMOVE 103,3122 -static inline void handle_diverter(116,3462 -# define alloc_divert_blk(alloc_divert_blk124,3657 -# define free_divert_blk(free_divert_blk125,3693 -# define divert_ioctl(divert_ioctl126,3740 -# define handle_diverter(handle_diverter127,3783 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-vid.h,69 -#define DEFAULT_VRM 40,1521 -static inline int vid_from_reg(42,1545 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ppp-comp.h,1565 -#define _NET_PPP_COMP_H43,1804 -#define DO_BSD_COMPRESS 53,1970 -#define DO_DEFLATE 56,2061 -#define DO_PREDICTOR_1 58,2123 -#define DO_PREDICTOR_2 59,2148 -struct compressor compressor65,2241 -#define DECOMP_ERROR 128,4257 -#define DECOMP_FATALERROR 129,4318 -#define CCP_CONFREQ 135,4405 -#define CCP_CONFACK 136,4427 -#define CCP_TERMREQ 137,4449 -#define CCP_TERMACK 138,4471 -#define CCP_RESETREQ 139,4493 -#define CCP_RESETACK 140,4517 -#define CCP_MAX_OPTION_LENGTH 146,4582 -#define CCP_CODE(CCP_CODE152,4650 -#define CCP_ID(CCP_ID153,4682 -#define CCP_LENGTH(CCP_LENGTH154,4712 -#define CCP_HDRLEN 155,4763 -#define CCP_OPT_CODE(CCP_OPT_CODE157,4786 -#define CCP_OPT_LENGTH(CCP_OPT_LENGTH158,4821 -#define CCP_OPT_MINLEN 159,4858 -#define CI_BSD_COMPRESS 165,4926 -#define CILEN_BSD_COMPRESS 166,4992 -#define BSD_NBITS(BSD_NBITS169,5127 -#define BSD_VERSION(BSD_VERSION170,5193 -#define BSD_CURRENT_VERSION 171,5259 -#define BSD_MAKE_OPT(BSD_MAKE_OPT172,5319 -#define BSD_MIN_BITS 174,5366 -#define BSD_MAX_BITS 175,5425 -#define CI_DEFLATE 181,5521 -#define CI_DEFLATE_DRAFT 182,5576 -#define CILEN_DEFLATE 183,5643 -#define DEFLATE_MIN_SIZE 185,5703 -#define DEFLATE_MAX_SIZE 186,5730 -#define DEFLATE_METHOD_VAL 187,5758 -#define DEFLATE_SIZE(DEFLATE_SIZE188,5787 -#define DEFLATE_METHOD(DEFLATE_METHOD189,5829 -#define DEFLATE_MAKE_OPT(DEFLATE_MAKE_OPT190,5868 -#define DEFLATE_CHK_SEQUENCE 191,5936 -#define CI_PREDICTOR_1 197,6043 -#define CILEN_PREDICTOR_1 198,6105 -#define CI_PREDICTOR_2 199,6167 -#define CILEN_PREDICTOR_2 200,6229 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mqueue.h,247 -#define _LINUX_MQUEUE_H19,815 -#define MQ_PRIO_MAX 23,866 -#define MQ_BYTES_MAX 25,955 -struct mq_attr mq_attr27,984 -#define NOTIFY_NONE 49,1971 -#define NOTIFY_WOKENUP 50,1993 -#define NOTIFY_REMOVED 51,2018 -#define NOTIFY_COOKIE_LEN 53,2044 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/gen_stats.h,405 -#define __LINUX_GEN_STATS_H2,28 - TCA_STATS_UNSPEC,7,90 - TCA_STATS_BASIC,8,109 - TCA_STATS_RATE_EST,9,127 - TCA_STATS_QUEUE,10,148 - TCA_STATS_APP,11,166 - __TCA_STATS_MAX,12,182 -#define TCA_STATS_MAX 14,203 -struct gnet_stats_basicgnet_stats_basic20,324 -struct gnet_stats_rate_estgnet_stats_rate_est30,448 -struct gnet_stats_queuegnet_stats_queue42,641 -struct gnet_estimatorgnet_estimator55,839 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/input.h,15905 -#define _INPUT_H2,17 -struct input_event input_event25,461 -#define EV_VERSION 36,577 -struct input_id input_id42,639 -struct input_absinfo input_absinfo49,724 -#define EVIOCGVERSION 57,823 -#define EVIOCGID 58,894 -#define EVIOCGKEYCODE 59,965 -#define EVIOCSKEYCODE 60,1032 -#define EVIOCGNAME(EVIOCGNAME62,1100 -#define EVIOCGPHYS(EVIOCGPHYS63,1180 -#define EVIOCGUNIQ(EVIOCGUNIQ64,1266 -#define EVIOCGKEY(EVIOCGKEY66,1353 -#define EVIOCGLED(EVIOCGLED67,1436 -#define EVIOCGSND(EVIOCGSND68,1512 -#define EVIOCGBIT(EVIOCGBIT70,1598 -#define EVIOCGABS(EVIOCGABS71,1682 -#define EVIOCSABS(EVIOCSABS72,1778 -#define EVIOCSFF 74,1875 -#define EVIOCRMFF 75,2000 -#define EVIOCGEFFECTS 76,2069 -#define EVIOCGRAB 78,2173 -#define EV_SYN 84,2265 -#define EV_KEY 85,2287 -#define EV_REL 86,2309 -#define EV_ABS 87,2331 -#define EV_MSC 88,2353 -#define EV_LED 89,2375 -#define EV_SND 90,2397 -#define EV_REP 91,2419 -#define EV_FF 92,2441 -#define EV_PWR 93,2462 -#define EV_FF_STATUS 94,2484 -#define EV_MAX 95,2511 -#define SYN_REPORT 101,2569 -#define SYN_CONFIG 102,2591 -#define KEY_RESERVED 108,2642 -#define KEY_ESC 109,2666 -#define KEY_1 110,2686 -#define KEY_2 111,2704 -#define KEY_3 112,2722 -#define KEY_4 113,2740 -#define KEY_5 114,2758 -#define KEY_6 115,2776 -#define KEY_7 116,2794 -#define KEY_8 117,2812 -#define KEY_9 118,2830 -#define KEY_0 119,2849 -#define KEY_MINUS 120,2868 -#define KEY_EQUAL 121,2890 -#define KEY_BACKSPACE 122,2912 -#define KEY_TAB 123,2938 -#define KEY_Q 124,2959 -#define KEY_W 125,2978 -#define KEY_E 126,2997 -#define KEY_R 127,3016 -#define KEY_T 128,3035 -#define KEY_Y 129,3054 -#define KEY_U 130,3073 -#define KEY_I 131,3092 -#define KEY_O 132,3111 -#define KEY_P 133,3130 -#define KEY_LEFTBRACE 134,3149 -#define KEY_RIGHTBRACE 135,3175 -#define KEY_ENTER 136,3202 -#define KEY_LEFTCTRL 137,3224 -#define KEY_A 138,3249 -#define KEY_S 139,3268 -#define KEY_D 140,3287 -#define KEY_F 141,3306 -#define KEY_G 142,3325 -#define KEY_H 143,3344 -#define KEY_J 144,3363 -#define KEY_K 145,3382 -#define KEY_L 146,3401 -#define KEY_SEMICOLON 147,3420 -#define KEY_APOSTROPHE 148,3446 -#define KEY_GRAVE 149,3473 -#define KEY_LEFTSHIFT 150,3495 -#define KEY_BACKSLASH 151,3521 -#define KEY_Z 152,3547 -#define KEY_X 153,3566 -#define KEY_C 154,3585 -#define KEY_V 155,3604 -#define KEY_B 156,3623 -#define KEY_N 157,3642 -#define KEY_M 158,3661 -#define KEY_COMMA 159,3680 -#define KEY_DOT 160,3702 -#define KEY_SLASH 161,3723 -#define KEY_RIGHTSHIFT 162,3745 -#define KEY_KPASTERISK 163,3772 -#define KEY_LEFTALT 164,3799 -#define KEY_SPACE 165,3823 -#define KEY_CAPSLOCK 166,3845 -#define KEY_F1 167,3870 -#define KEY_F2 168,3890 -#define KEY_F3 169,3910 -#define KEY_F4 170,3930 -#define KEY_F5 171,3950 -#define KEY_F6 172,3970 -#define KEY_F7 173,3990 -#define KEY_F8 174,4010 -#define KEY_F9 175,4030 -#define KEY_F10 176,4050 -#define KEY_NUMLOCK 177,4071 -#define KEY_SCROLLLOCK 178,4095 -#define KEY_KP7 179,4122 -#define KEY_KP8 180,4143 -#define KEY_KP9 181,4164 -#define KEY_KPMINUS 182,4185 -#define KEY_KP4 183,4209 -#define KEY_KP5 184,4230 -#define KEY_KP6 185,4251 -#define KEY_KPPLUS 186,4272 -#define KEY_KP1 187,4295 -#define KEY_KP2 188,4316 -#define KEY_KP3 189,4337 -#define KEY_KP0 190,4358 -#define KEY_KPDOT 191,4379 -#define KEY_ZENKAKUHANKAKU 193,4402 -#define KEY_102ND 194,4432 -#define KEY_F11 195,4454 -#define KEY_F12 196,4475 -#define KEY_RO 197,4496 -#define KEY_KATAKANA 198,4516 -#define KEY_HIRAGANA 199,4541 -#define KEY_HENKAN 200,4566 -#define KEY_KATAKANAHIRAGANA 201,4589 -#define KEY_MUHENKAN 202,4621 -#define KEY_KPJPCOMMA 203,4646 -#define KEY_KPENTER 204,4672 -#define KEY_RIGHTCTRL 205,4696 -#define KEY_KPSLASH 206,4722 -#define KEY_SYSRQ 207,4746 -#define KEY_RIGHTALT 208,4768 -#define KEY_LINEFEED 209,4794 -#define KEY_HOME 210,4820 -#define KEY_UP 211,4842 -#define KEY_PAGEUP 212,4863 -#define KEY_LEFT 213,4887 -#define KEY_RIGHT 214,4909 -#define KEY_END 215,4932 -#define KEY_DOWN 216,4954 -#define KEY_PAGEDOWN 217,4976 -#define KEY_INSERT 218,5002 -#define KEY_DELETE 219,5026 -#define KEY_MACRO 220,5050 -#define KEY_MUTE 221,5073 -#define KEY_VOLUMEDOWN 222,5095 -#define KEY_VOLUMEUP 223,5123 -#define KEY_POWER 224,5149 -#define KEY_KPEQUAL 225,5172 -#define KEY_KPPLUSMINUS 226,5197 -#define KEY_PAUSE 227,5226 -#define KEY_KPCOMMA 229,5250 -#define KEY_HANGUEL 230,5275 -#define KEY_HANJA 231,5300 -#define KEY_YEN 232,5323 -#define KEY_LEFTMETA 233,5345 -#define KEY_RIGHTMETA 234,5371 -#define KEY_COMPOSE 235,5398 -#define KEY_STOP 237,5424 -#define KEY_AGAIN 238,5446 -#define KEY_PROPS 239,5469 -#define KEY_UNDO 240,5492 -#define KEY_FRONT 241,5514 -#define KEY_COPY 242,5537 -#define KEY_OPEN 243,5559 -#define KEY_PASTE 244,5581 -#define KEY_FIND 245,5604 -#define KEY_CUT 246,5626 -#define KEY_HELP 247,5648 -#define KEY_MENU 248,5670 -#define KEY_CALC 249,5692 -#define KEY_SETUP 250,5714 -#define KEY_SLEEP 251,5737 -#define KEY_WAKEUP 252,5760 -#define KEY_FILE 253,5784 -#define KEY_SENDFILE 254,5806 -#define KEY_DELETEFILE 255,5832 -#define KEY_XFER 256,5860 -#define KEY_PROG1 257,5882 -#define KEY_PROG2 258,5905 -#define KEY_WWW 259,5928 -#define KEY_MSDOS 260,5950 -#define KEY_COFFEE 261,5973 -#define KEY_DIRECTION 262,5997 -#define KEY_CYCLEWINDOWS 263,6024 -#define KEY_MAIL 264,6053 -#define KEY_BOOKMARKS 265,6075 -#define KEY_COMPUTER 266,6102 -#define KEY_BACK 267,6128 -#define KEY_FORWARD 268,6150 -#define KEY_CLOSECD 269,6175 -#define KEY_EJECTCD 270,6200 -#define KEY_EJECTCLOSECD 271,6225 -#define KEY_NEXTSONG 272,6254 -#define KEY_PLAYPAUSE 273,6280 -#define KEY_PREVIOUSSONG 274,6307 -#define KEY_STOPCD 275,6336 -#define KEY_RECORD 276,6360 -#define KEY_REWIND 277,6384 -#define KEY_PHONE 278,6408 -#define KEY_ISO 279,6431 -#define KEY_CONFIG 280,6453 -#define KEY_HOMEPAGE 281,6477 -#define KEY_REFRESH 282,6503 -#define KEY_EXIT 283,6528 -#define KEY_MOVE 284,6550 -#define KEY_EDIT 285,6572 -#define KEY_SCROLLUP 286,6594 -#define KEY_SCROLLDOWN 287,6620 -#define KEY_KPLEFTPAREN 288,6648 -#define KEY_KPRIGHTPAREN 289,6677 -#define KEY_F13 291,6707 -#define KEY_F14 292,6729 -#define KEY_F15 293,6751 -#define KEY_F16 294,6773 -#define KEY_F17 295,6795 -#define KEY_F18 296,6817 -#define KEY_F19 297,6839 -#define KEY_F20 298,6861 -#define KEY_F21 299,6883 -#define KEY_F22 300,6905 -#define KEY_F23 301,6927 -#define KEY_F24 302,6949 -#define KEY_PLAYCD 304,6972 -#define KEY_PAUSECD 305,6996 -#define KEY_PROG3 306,7021 -#define KEY_PROG4 307,7044 -#define KEY_SUSPEND 308,7067 -#define KEY_CLOSE 309,7092 -#define KEY_PLAY 310,7115 -#define KEY_FASTFORWARD 311,7137 -#define KEY_BASSBOOST 312,7166 -#define KEY_PRINT 313,7193 -#define KEY_HP 314,7216 -#define KEY_CAMERA 315,7237 -#define KEY_SOUND 316,7261 -#define KEY_QUESTION 317,7284 -#define KEY_EMAIL 318,7310 -#define KEY_CHAT 319,7333 -#define KEY_SEARCH 320,7355 -#define KEY_CONNECT 321,7379 -#define KEY_FINANCE 322,7404 -#define KEY_SPORT 323,7429 -#define KEY_SHOP 324,7452 -#define KEY_ALTERASE 325,7474 -#define KEY_CANCEL 326,7500 -#define KEY_BRIGHTNESSDOWN 327,7524 -#define KEY_BRIGHTNESSUP 328,7555 -#define KEY_MEDIA 329,7584 -#define KEY_UNKNOWN 331,7608 -#define BTN_MISC 333,7634 -#define BTN_0 334,7658 -#define BTN_1 335,7680 -#define BTN_2 336,7702 -#define BTN_3 337,7724 -#define BTN_4 338,7746 -#define BTN_5 339,7768 -#define BTN_6 340,7790 -#define BTN_7 341,7812 -#define BTN_8 342,7834 -#define BTN_9 343,7856 -#define BTN_MOUSE 345,7879 -#define BTN_LEFT 346,7904 -#define BTN_RIGHT 347,7928 -#define BTN_MIDDLE 348,7953 -#define BTN_SIDE 349,7979 -#define BTN_EXTRA 350,8003 -#define BTN_FORWARD 351,8028 -#define BTN_BACK 352,8055 -#define BTN_TASK 353,8079 -#define BTN_JOYSTICK 355,8104 -#define BTN_TRIGGER 356,8132 -#define BTN_THUMB 357,8159 -#define BTN_THUMB2 358,8184 -#define BTN_TOP 359,8210 -#define BTN_TOP2 360,8234 -#define BTN_PINKIE 361,8258 -#define BTN_BASE 362,8284 -#define BTN_BASE2 363,8308 -#define BTN_BASE3 364,8333 -#define BTN_BASE4 365,8358 -#define BTN_BASE5 366,8383 -#define BTN_BASE6 367,8408 -#define BTN_DEAD 368,8433 -#define BTN_GAMEPAD 370,8458 -#define BTN_A 371,8485 -#define BTN_B 372,8507 -#define BTN_C 373,8529 -#define BTN_X 374,8551 -#define BTN_Y 375,8573 -#define BTN_Z 376,8595 -#define BTN_TL 377,8617 -#define BTN_TR 378,8640 -#define BTN_TL2 379,8663 -#define BTN_TR2 380,8687 -#define BTN_SELECT 381,8711 -#define BTN_START 382,8737 -#define BTN_MODE 383,8762 -#define BTN_THUMBL 384,8786 -#define BTN_THUMBR 385,8812 -#define BTN_DIGI 387,8839 -#define BTN_TOOL_PEN 388,8863 -#define BTN_TOOL_RUBBER 389,8891 -#define BTN_TOOL_BRUSH 390,8922 -#define BTN_TOOL_PENCIL 391,8952 -#define BTN_TOOL_AIRBRUSH 392,8983 -#define BTN_TOOL_FINGER 393,9015 -#define BTN_TOOL_MOUSE 394,9046 -#define BTN_TOOL_LENS 395,9076 -#define BTN_TOUCH 396,9105 -#define BTN_STYLUS 397,9130 -#define BTN_STYLUS2 398,9156 -#define BTN_TOOL_DOUBLETAP 399,9183 -#define BTN_TOOL_TRIPLETAP 400,9216 -#define BTN_WHEEL 402,9250 -#define BTN_GEAR_DOWN 403,9275 -#define BTN_GEAR_UP 404,9304 -#define KEY_OK 406,9332 -#define KEY_SELECT 407,9355 -#define KEY_GOTO 408,9382 -#define KEY_CLEAR 409,9406 -#define KEY_POWER2 410,9431 -#define KEY_OPTION 411,9457 -#define KEY_INFO 412,9483 -#define KEY_TIME 413,9507 -#define KEY_VENDOR 414,9531 -#define KEY_ARCHIVE 415,9557 -#define KEY_PROGRAM 416,9584 -#define KEY_CHANNEL 417,9611 -#define KEY_FAVORITES 418,9638 -#define KEY_EPG 419,9667 -#define KEY_PVR 420,9691 -#define KEY_MHP 421,9715 -#define KEY_LANGUAGE 422,9739 -#define KEY_TITLE 423,9767 -#define KEY_SUBTITLE 424,9792 -#define KEY_ANGLE 425,9820 -#define KEY_ZOOM 426,9845 -#define KEY_MODE 427,9869 -#define KEY_KEYBOARD 428,9893 -#define KEY_SCREEN 429,9921 -#define KEY_PC 430,9947 -#define KEY_TV 431,9970 -#define KEY_TV2 432,9993 -#define KEY_VCR 433,10017 -#define KEY_VCR2 434,10041 -#define KEY_SAT 435,10065 -#define KEY_SAT2 436,10089 -#define KEY_CD 437,10113 -#define KEY_TAPE 438,10136 -#define KEY_RADIO 439,10160 -#define KEY_TUNER 440,10185 -#define KEY_PLAYER 441,10210 -#define KEY_TEXT 442,10236 -#define KEY_DVD 443,10260 -#define KEY_AUX 444,10284 -#define KEY_MP3 445,10308 -#define KEY_AUDIO 446,10332 -#define KEY_VIDEO 447,10357 -#define KEY_DIRECTORY 448,10382 -#define KEY_LIST 449,10411 -#define KEY_MEMO 450,10435 -#define KEY_CALENDAR 451,10459 -#define KEY_RED 452,10487 -#define KEY_GREEN 453,10511 -#define KEY_YELLOW 454,10536 -#define KEY_BLUE 455,10562 -#define KEY_CHANNELUP 456,10586 -#define KEY_CHANNELDOWN 457,10615 -#define KEY_FIRST 458,10646 -#define KEY_LAST 459,10671 -#define KEY_AB 460,10695 -#define KEY_NEXT 461,10718 -#define KEY_RESTART 462,10742 -#define KEY_SLOW 463,10769 -#define KEY_SHUFFLE 464,10793 -#define KEY_BREAK 465,10820 -#define KEY_PREVIOUS 466,10845 -#define KEY_DIGITS 467,10873 -#define KEY_TEEN 468,10899 -#define KEY_TWEN 469,10923 -#define KEY_DEL_EOL 471,10948 -#define KEY_DEL_EOS 472,10975 -#define KEY_INS_LINE 473,11002 -#define KEY_DEL_LINE 474,11030 -#define KEY_MAX 476,11059 -#define REL_X 482,11109 -#define REL_Y 483,11130 -#define REL_Z 484,11151 -#define REL_HWHEEL 485,11172 -#define REL_DIAL 486,11197 -#define REL_WHEEL 487,11220 -#define REL_MISC 488,11244 -#define REL_MAX 489,11267 -#define ABS_X 495,11316 -#define ABS_Y 496,11337 -#define ABS_Z 497,11358 -#define ABS_RX 498,11379 -#define ABS_RY 499,11401 -#define ABS_RZ 500,11423 -#define ABS_THROTTLE 501,11445 -#define ABS_RUDDER 502,11472 -#define ABS_WHEEL 503,11497 -#define ABS_GAS 504,11521 -#define ABS_BRAKE 505,11544 -#define ABS_HAT0X 506,11568 -#define ABS_HAT0Y 507,11592 -#define ABS_HAT1X 508,11616 -#define ABS_HAT1Y 509,11640 -#define ABS_HAT2X 510,11664 -#define ABS_HAT2Y 511,11688 -#define ABS_HAT3X 512,11712 -#define ABS_HAT3Y 513,11736 -#define ABS_PRESSURE 514,11760 -#define ABS_DISTANCE 515,11787 -#define ABS_TILT_X 516,11814 -#define ABS_TILT_Y 517,11839 -#define ABS_TOOL_WIDTH 518,11864 -#define ABS_VOLUME 519,11893 -#define ABS_MISC 520,11918 -#define ABS_MAX 521,11941 -#define MSC_SERIAL 527,11988 -#define MSC_PULSELED 528,12013 -#define MSC_GESTURE 529,12040 -#define MSC_RAW 530,12066 -#define MSC_SCAN 531,12089 -#define MSC_MAX 532,12112 -#define LED_NUML 538,12152 -#define LED_CAPSL 539,12175 -#define LED_SCROLLL 540,12199 -#define LED_COMPOSE 541,12225 -#define LED_KANA 542,12251 -#define LED_SLEEP 543,12274 -#define LED_SUSPEND 544,12298 -#define LED_MUTE 545,12324 -#define LED_MISC 546,12347 -#define LED_MAX 547,12370 -#define REP_DELAY 553,12423 -#define REP_PERIOD 554,12447 -#define REP_MAX 555,12472 -#define SND_CLICK 561,12514 -#define SND_BELL 562,12538 -#define SND_TONE 563,12561 -#define SND_MAX 564,12584 -#define ID_BUS 570,12624 -#define ID_VENDOR 571,12643 -#define ID_PRODUCT 572,12664 -#define ID_VERSION 573,12686 -#define BUS_PCI 575,12709 -#define BUS_ISAPNP 576,12732 -#define BUS_USB 577,12757 -#define BUS_HIL 578,12780 -#define BUS_BLUETOOTH 579,12803 -#define BUS_ISA 581,12832 -#define BUS_I8042 582,12855 -#define BUS_XTKBD 583,12879 -#define BUS_RS232 584,12903 -#define BUS_GAMEPORT 585,12927 -#define BUS_PARPORT 586,12954 -#define BUS_AMIGA 587,12980 -#define BUS_ADB 588,13004 -#define BUS_I2C 589,13027 -#define BUS_HOST 590,13050 -#define FF_STATUS_STOPPED 595,13126 -#define FF_STATUS_PLAYING 596,13157 -#define FF_STATUS_MAX 597,13188 -struct ff_replay ff_replay605,13426 -struct ff_trigger ff_trigger610,13608 -struct ff_envelope ff_envelope615,13771 -struct ff_constant_effect ff_constant_effect623,14016 -struct ff_ramp_effect ff_ramp_effect629,14159 -struct ff_condition_effect ff_condition_effect636,14286 -struct ff_periodic_effect ff_periodic_effect650,14736 -struct ff_rumble_effect ff_rumble_effect671,15442 -struct ff_effect ff_effect679,15666 -#define FF_RUMBLE 709,16417 -#define FF_PERIODIC 710,16440 -#define FF_CONSTANT 711,16465 -#define FF_SPRING 712,16490 -#define FF_FRICTION 713,16513 -#define FF_DAMPER 714,16538 -#define FF_INERTIA 715,16561 -#define FF_RAMP 716,16585 -#define FF_SQUARE 722,16656 -#define FF_TRIANGLE 723,16679 -#define FF_SINE 724,16704 -#define FF_SAW_UP 725,16726 -#define FF_SAW_DOWN 726,16749 -#define FF_CUSTOM 727,16774 -#define FF_GAIN 733,16834 -#define FF_AUTOCENTER 734,16856 -#define FF_MAX 736,16884 -#define NBITS(NBITS747,17007 -#define BIT(BIT748,17052 -#define LONG(LONG749,17094 -#define INPUT_KEYCODE(INPUT_KEYCODE751,17131 -#define SET_INPUT_KEYCODE(SET_INPUT_KEYCODE754,17326 -struct input_dev input_dev778,17864 -#define INPUT_DEVICE_ID_MATCH_BUS 841,19326 -#define INPUT_DEVICE_ID_MATCH_VENDOR 842,19362 -#define INPUT_DEVICE_ID_MATCH_PRODUCT 843,19401 -#define INPUT_DEVICE_ID_MATCH_VERSION 844,19441 -#define INPUT_DEVICE_ID_MATCH_EVBIT 846,19482 -#define INPUT_DEVICE_ID_MATCH_KEYBIT 847,19524 -#define INPUT_DEVICE_ID_MATCH_RELBIT 848,19567 -#define INPUT_DEVICE_ID_MATCH_ABSBIT 849,19610 -#define INPUT_DEVICE_ID_MATCH_MSCIT 850,19653 -#define INPUT_DEVICE_ID_MATCH_LEDBIT 851,19695 -#define INPUT_DEVICE_ID_MATCH_SNDBIT 852,19738 -#define INPUT_DEVICE_ID_MATCH_FFBIT 853,19781 -#define INPUT_DEVICE_ID_MATCH_DEVICE\855,19824 -#define INPUT_DEVICE_ID_MATCH_DEVICE_AND_VERSION\857,19954 -struct input_device_id input_device_id860,20069 -struct input_handler input_handler880,20503 -struct input_handle input_handle899,20988 -#define to_dev(to_dev913,21166 -#define to_handler(to_handler914,21222 -#define to_handle(to_handle915,21287 -#define to_handle_h(to_handle_h916,21351 -static inline void init_input_dev(918,21418 -static inline void input_report_key(941,22178 -static inline void input_report_rel(946,22314 -static inline void input_report_abs(951,22448 -static inline void input_report_ff(956,22582 -static inline void input_report_ff_status(961,22714 -static inline void input_regs(966,22860 -static inline void input_sync(971,22959 -static inline void input_set_abs_params(977,23078 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipc.h,428 -#define _LINUX_IPC_H2,21 -#define IPC_PRIVATE 6,69 -struct ipc_permipc_perm9,186 -#define IPC_CREAT 24,461 -#define IPC_EXCL 25,526 -#define IPC_NOWAIT 26,581 -#define IPC_DIPC 31,756 -#define IPC_OWN 32,809 -#define IPC_RMID 38,995 -#define IPC_SET 39,1040 -#define IPC_STAT 40,1090 -#define IPC_INFO 41,1140 -#define IPC_OLD 47,1305 -#define IPC_64 49,1393 -#define IPCMNI 54,1510 -struct kern_ipc_permkern_ipc_perm57,1638 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/blk.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dqblk_v2.h,102 -#define _LINUX_DQBLK_V2_H6,86 -#define QFMT_VFS_V0 11,172 -struct v2_mem_dqinfo v2_mem_dqinfo14,247 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/route.h,386 -#define _LINUX_ROUTE_H24,831 -struct rtentry rtentry30,977 -#define rt_mss 44,1452 -#define RTF_UP 51,1618 -#define RTF_GATEWAY 52,1665 -#define RTF_HOST 53,1724 -#define RTF_REINSTATE 54,1782 -#define RTF_DYNAMIC 55,1846 -#define RTF_MODIFIED 56,1907 -#define RTF_MTU 57,1970 -#define RTF_MSS 58,2029 -#define RTF_WINDOW 59,2080 -#define RTF_IRTT 60,2139 -#define RTF_REJECT 61,2194 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bitmap.h,771 -#define __LINUX_BITMAP_H2,25 -#define BITMAP_LAST_WORD_MASK(BITMAP_LAST_WORD_MASK105,4514 -static inline void bitmap_zero(111,4654 -static inline void bitmap_fill(121,4856 -static inline void bitmap_copy(131,5110 -static inline void bitmap_and(142,5344 -static inline void bitmap_or(151,5566 -static inline void bitmap_xor(160,5786 -static inline void bitmap_andnot(169,6008 -static inline void bitmap_complement(178,6239 -static inline int bitmap_equal(187,6465 -static inline int bitmap_intersects(196,6709 -static inline int bitmap_subset(205,6966 -static inline int bitmap_empty(214,7215 -static inline int bitmap_full(222,7410 -static inline int bitmap_weight(230,7606 -static inline void bitmap_shift_right(235,7717 -static inline void bitmap_shift_left(244,7926 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/agpgart.h,1769 -#define _AGP_H 28,1266 -#define AGPIOC_BASE 32,1316 -#define AGPIOC_INFO 33,1346 -#define AGPIOC_ACQUIRE 34,1412 -#define AGPIOC_RELEASE 35,1460 -#define AGPIOC_SETUP 36,1508 -#define AGPIOC_RESERVE 37,1575 -#define AGPIOC_PROTECT 38,1643 -#define AGPIOC_ALLOCATE 39,1711 -#define AGPIOC_DEALLOCATE 40,1781 -#define AGPIOC_BIND 41,1834 -#define AGPIOC_UNBIND 42,1900 -#define AGP_DEVICE 44,1969 -#define TRUE 47,2022 -#define FALSE 51,2059 -struct agp_version agp_version58,2151 -typedef struct _agp_info _agp_info63,2204 -} agp_info;agp_info72,2668 -typedef struct _agp_setup _agp_setup74,2681 -} agp_setup;agp_setup76,2762 -typedef struct _agp_segment _agp_segment81,2847 -} agp_segment;agp_segment85,3030 -typedef struct _agp_region _agp_region87,3046 -} agp_region;agp_region91,3209 -typedef struct _agp_allocate _agp_allocate93,3224 -} agp_allocate;agp_allocate101,3584 -typedef struct _agp_bind _agp_bind103,3601 -} agp_bind;agp_bind106,3727 -typedef struct _agp_unbind _agp_unbind108,3740 -} agp_unbind;agp_unbind111,3868 -#define AGPGART_MINOR 115,3910 -struct agp_info agp_info117,3937 -struct agp_setup agp_setup128,4393 -struct agp_segment agp_segment135,4538 -struct agp_segment_priv agp_segment_priv141,4716 -struct agp_region agp_region147,4797 -struct agp_allocate agp_allocate153,4954 -struct agp_bind agp_bind163,5304 -struct agp_unbind agp_unbind168,5425 -struct agp_client agp_client173,5546 -struct agp_controller agp_controller181,5690 -#define AGP_FF_ALLOW_CLIENT 190,5863 -#define AGP_FF_ALLOW_CONTROLLER 191,5894 -#define AGP_FF_IS_CLIENT 192,5929 -#define AGP_FF_IS_CONTROLLER 193,5957 -#define AGP_FF_IS_VALID 194,5989 -struct agp_file_private agp_file_private196,6018 -struct agp_front_data agp_front_data203,6181 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/eeprom.h,581 -struct eeprom_ops eeprom_ops4,48 -#define EEPOL_EEDI 9,128 -#define EEPOL_EEDO 10,152 -#define EEPOL_EECLK 11,176 -#define EEPOL_EESEL 12,201 -struct eeprom eeprom14,227 -enum EEPROM_Cmds EEPROM_Cmds42,818 - EE_WriteCmd=43,837 - EE_WriteCmd=(5 << 6), EE_ReadCmd=43,837 - EE_WriteCmd=(5 << 6), EE_ReadCmd=(6 << 6), EE_EraseCmd=43,837 -void setup_ee_mem_bitbanger(46,914 -static inline void eeprom_update(60,1282 -void eeprom_clk_lo(78,1614 -void eeprom_clk_hi(86,1749 -void eeprom_send_addr(94,1885 -u16 eeprom_readw(110,2267 -void eeprom_writeb(134,2780 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/wanrouter.h,4030 -#define _ROUTER_H50,2506 -#define ROUTER_NAME 52,2525 -#define ROUTER_VERSION 53,2589 -#define ROUTER_RELEASE 54,2636 -#define ROUTER_IOCTL 55,2699 -#define ROUTER_MAGIC 56,2747 -enum router_ioctlsrouter_ioctls59,2878 - ROUTER_SETUP 61,2899 - ROUTER_SETUP = ROUTER_IOCTL<61,2899 - ROUTER_DOWN,62,2955 - ROUTER_STAT,63,2995 - ROUTER_IFNEW,64,3036 - ROUTER_IFDEL,65,3074 - ROUTER_IFSTAT,66,3115 - ROUTER_USER 67,3161 - ROUTER_USER = (ROUTER_IOCTL<67,3161 - ROUTER_USER_MAX 68,3226 - ROUTER_USER_MAX = (ROUTER_IOCTL<68,3226 -#define PROC_DATA_PORT_0 72,3341 -#define PROC_DATA_PORT_1 73,3402 -#define NLPID_IP 76,3519 -#define NLPID_SNAP 77,3574 -#define NLPID_CLNP 78,3636 -#define NLPID_ESIS 79,3679 -#define NLPID_ISIS 80,3722 -#define NLPID_Q933 81,3765 -#define WAN_IFNAME_SZ 84,3828 -#define WAN_DRVNAME_SZ 85,3892 -#define WAN_ADDRESS_SZ 86,3959 -#define USED_BY_FIELD 87,4027 -#define UDP_PTPIPE_TYPE 90,4124 -#define UDP_FPIPE_TYPE 91,4154 -#define UDP_CPIPE_TYPE 92,4183 -#define UDP_DRVSTATS_TYPE 93,4212 -#define UDP_INVALID_TYPE 94,4244 -#define CMD_OK 97,4303 -#define CMD_TIMEOUT 98,4356 -#define UDP_PKT_FRM_STACK 101,4444 -#define UDP_PKT_FRM_NETWORK 102,4475 -#define MAX_INTR_TEST_COUNTER 105,4546 -#define CRITICAL_IN_ISR 108,4622 -#define CRITICAL_INTR_HANDLED 109,4652 -typedef struct wan_x25_confwan_x25_conf116,4894 -} wan_x25_conf_t;wan_x25_conf_t142,6342 -typedef struct wan_fr_confwan_fr_conf147,6494 -} wan_fr_conf_t;wan_fr_conf_t157,6947 -typedef struct wan_ppp_confwan_ppp_conf162,7090 -} wan_ppp_conf_t;wan_ppp_conf_t178,7743 -typedef struct wan_chdlc_confwan_chdlc_conf183,7889 -} wan_chdlc_conf_t;wan_chdlc_conf_t194,8457 -typedef struct wandev_confwandev_conf200,8621 -} wandev_conf_t;wandev_conf_t243,10627 -#define WANCONFIG_X25 246,10675 -#define WANCONFIG_FR 247,10717 -#define WANCONFIG_PPP 248,10765 -#define WANCONFIG_CHDLC 249,10818 -#define WANCONFIG_BSC 250,10868 -#define WANCONFIG_HDLC 251,10917 -#define WANCONFIG_MPPP 252,10963 -#define WANOPT_OFF 258,11091 -#define WANOPT_ON 259,11112 -#define WANOPT_NO 260,11132 -#define WANOPT_YES 261,11152 -#define WANOPT_RS232 264,11198 -#define WANOPT_V35 265,11221 -#define WANOPT_NRZ 268,11271 -#define WANOPT_NRZI 269,11292 -#define WANOPT_FM0 270,11314 -#define WANOPT_FM1 271,11335 -#define WANOPT_POINTTOPOINT 274,11381 -#define WANOPT_MULTIDROP 275,11435 -#define WANOPT_EXTERNAL 278,11524 -#define WANOPT_INTERNAL 279,11550 -#define WANOPT_DTE 282,11599 -#define WANOPT_DCE 283,11621 -#define WANOPT_CPE 284,11643 -#define WANOPT_NODE 285,11665 -#define WANOPT_SECONDARY 286,11688 -#define WANOPT_PRIMARY 287,11715 -#define WANOPT_PERMANENT 290,11767 -#define WANOPT_SWITCHED 291,11818 -#define WANOPT_ONDEMAND 292,11883 -#define WANOPT_FR_ANSI 295,11990 -#define WANOPT_FR_Q933 296,12042 -#define WANOPT_FR_LMI 297,12085 -#define WANOPT_PPP_STATIC 300,12147 -#define WANOPT_PPP_HOST 301,12175 -#define WANOPT_PPP_PEER 302,12202 -#define WANOPT_ONE 305,12253 -#define WANOPT_TWO 306,12276 -#define WANOPT_ONE_AND_HALF 307,12298 -#define WANOPT_NONE 309,12329 -#define WANOPT_ODD 310,12351 -#define WANOPT_EVEN 311,12377 -#define WANOPT_PRI 322,12652 -#define WANOPT_SEC 323,12673 -#define WANOPT_INTR 325,12710 -#define WANOPT_POLL 326,12732 -#define WANOPT_TTY_SYNC 329,12756 -#define WANOPT_TTY_ASYNC 330,12783 -typedef struct wandev_statwandev_stat334,12942 -} wandev_stat_t;wandev_stat_t362,14172 -enum wan_stateswan_states365,14212 - WAN_UNCONFIGURED,367,14230 - WAN_DISCONNECTED,368,14286 - WAN_CONNECTING,369,14340 - WAN_CONNECTED,370,14390 - WAN_LIMIT,371,14441 - WAN_DUALPORT,372,14482 - WAN_DISCONNECTING,373,14524 - WAN_FT1_READY 374,14544 - WAN_LOCAL_IP,378,14600 - WAN_POINTOPOINT_IP,379,14615 - WAN_NETMASK_IP,380,14636 - WAN_BROADCAST_IP381,14653 -#define WAN_MODEM_CTS 385,14702 -#define WAN_MODEM_DCD 386,14753 -#define WAN_MODEM_DTR 387,14804 -#define WAN_MODEM_RTS 388,14855 -typedef struct wanif_confwanif_conf393,15065 -} wanif_conf_t;wanif_conf_t452,17861 -struct wan_device wan_device463,18264 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ide.h,8321 -#define _IDE_H2,15 -#define REALLY_FAST_IO 42,1309 -#define INITIAL_MULT_COUNT 43,1372 -#define SUPPORT_SLOW_DATA_PORTS 46,1505 -#define SUPPORT_VLB_SYNC 49,1640 -#define OK_TO_RESET_CONTROLLER 52,1775 -#define DISABLE_IRQ_NOSYNC 56,1884 -#define IDE_NO_IRQ 64,2011 -#define IDE_DRIVE_CMD 69,2118 -#define IDE_DRIVE_TASK 71,2187 -#define IDE_DRIVE_TASKFILE 76,2301 -typedef unsigned char byte;byte82,2471 -#define ERROR_MAX 87,2571 -#define ERROR_RESET 88,2630 -#define ERROR_RECAL 89,2691 -#define IDE_TUNE_NOAUTO 94,2769 -#define IDE_TUNE_AUTO 95,2796 -#define IDE_TUNE_DEFAULT 96,2821 -#define DMA_PIO_RETRY 102,2872 -#define HWIF(HWIF111,3046 -#define HWGROUP(HWGROUP112,3099 -#define IDE_NR_PORTS 117,3227 -#define IDE_DATA_OFFSET 119,3255 -#define IDE_ERROR_OFFSET 120,3284 -#define IDE_NSECTOR_OFFSET 121,3313 -#define IDE_SECTOR_OFFSET 122,3344 -#define IDE_LCYL_OFFSET 123,3374 -#define IDE_HCYL_OFFSET 124,3403 -#define IDE_SELECT_OFFSET 125,3432 -#define IDE_STATUS_OFFSET 126,3462 -#define IDE_CONTROL_OFFSET 127,3492 -#define IDE_IRQ_OFFSET 128,3523 -#define IDE_FEATURE_OFFSET 130,3552 -#define IDE_COMMAND_OFFSET 131,3596 -#define IDE_CONTROL_OFFSET_HOB 133,3642 -#define IDE_DATA_REG 135,3678 -#define IDE_ERROR_REG 136,3741 -#define IDE_NSECTOR_REG 137,3806 -#define IDE_SECTOR_REG 138,3875 -#define IDE_LCYL_REG 139,3942 -#define IDE_HCYL_REG 140,4005 -#define IDE_SELECT_REG 141,4068 -#define IDE_STATUS_REG 142,4135 -#define IDE_CONTROL_REG 143,4202 -#define IDE_IRQ_REG 144,4271 -#define IDE_FEATURE_REG 146,4333 -#define IDE_COMMAND_REG 147,4372 -#define IDE_ALTSTATUS_REG 148,4412 -#define IDE_IREASON_REG 149,4454 -#define IDE_BCOUNTL_REG 150,4495 -#define IDE_BCOUNTH_REG 151,4533 -#define OK_STAT(OK_STAT153,4572 -#define BAD_R_STAT 154,4637 -#define BAD_W_STAT 155,4682 -#define BAD_STAT 156,4729 -#define DRIVE_READY 157,4772 -#define DATA_READY 158,4819 -#define BAD_CRC 160,4851 -#define SATA_NR_PORTS 162,4895 -#define SATA_STATUS_OFFSET 164,4944 -#define SATA_STATUS_REG 165,4975 -#define SATA_ERROR_OFFSET 166,5044 -#define SATA_ERROR_REG 167,5074 -#define SATA_CONTROL_OFFSET 168,5141 -#define SATA_CONTROL_REG 169,5173 -#define SATA_MISC_OFFSET 171,5244 -#define SATA_MISC_REG 172,5273 -#define SATA_PHY_OFFSET 173,5339 -#define SATA_PHY_REG 174,5368 -#define SATA_IEN_OFFSET 175,5432 -#define SATA_IEN_REG 176,5461 -#define PRD_BYTES 194,6379 -#define PRD_ENTRIES 195,6405 -#define IDE_MAJOR_NAME 200,6469 -#define MAJOR_NAME 201,6542 -#define PARTN_BITS 202,6576 -#define PARTN_MASK 203,6643 -#define MAX_DRIVES 204,6706 -#define SECTOR_SIZE 205,6774 -#define SECTOR_WORDS 206,6798 -#define IDE_LARGE_SEEK(IDE_LARGE_SEEK207,6876 -#define WAIT_DRQ 212,6997 -#define WAIT_READY 214,7116 -#define WAIT_READY 216,7189 -#define WAIT_PIDENTIFY 218,7302 -#define WAIT_WORSTCASE 219,7411 -#define WAIT_CMD 220,7485 -#define WAIT_MIN_SLEEP 221,7559 -#define HOST(HOST223,7628 -typedef int (ide_ack_intr_t)ide_ack_intr_t232,7809 -#define NO_DMA 235,7872 -typedef enum { ide_unknown,242,8021 -typedef enum { ide_unknown, ide_generic,242,8021 -typedef enum { ide_unknown, ide_generic, ide_pci,242,8021 - ide_cmd640,243,8071 - ide_cmd640, ide_dtc2278,243,8071 - ide_cmd640, ide_dtc2278, ide_ali14xx,243,8071 - ide_qd65xx,244,8111 - ide_qd65xx, ide_umc8672,244,8111 - ide_qd65xx, ide_umc8672, ide_ht6560b,244,8111 - ide_pdc4030,245,8151 - ide_pdc4030, ide_rz1000,245,8151 - ide_pdc4030, ide_rz1000, ide_trm290,245,8151 - ide_cmd646,246,8190 - ide_cmd646, ide_cy82c693,246,8190 - ide_cmd646, ide_cy82c693, ide_4drives,246,8190 - ide_pmac,247,8231 - ide_pmac, ide_etrax100,247,8231 - ide_pmac, ide_etrax100, ide_acorn,247,8231 - ide_forced248,8268 -} hwif_chipset_t;hwif_chipset_t249,8281 -typedef struct hw_regs_s hw_regs_s254,8376 -} hw_regs_t;hw_regs_t263,8744 -static inline void ide_std_init_ports(285,9242 -# define ide_default_io_base(ide_default_io_base301,9636 -# define ide_default_irq(ide_default_irq302,9676 -# define ide_init_default_irq(ide_init_default_irq303,9712 -static inline void ide_init_hwif_ports(311,9938 -static inline void ide_init_hwif_ports(332,10397 -# define ide_ack_intr(ide_ack_intr344,10748 -# define ide_release_lock(ide_release_lock349,10846 -# define ide_get_lock(ide_get_lock350,10892 -#define ide_scsi 357,11043 -#define ide_disk 358,11065 -#define ide_optical 359,11087 -#define ide_cdrom 360,11111 -#define ide_tape 361,11133 -#define ide_floppy 362,11154 -} special_t;special_t395,11914 -} ata_nsector_t, ata_data_t, atapi_bcount_t, ata_index_t;ata_index_t416,12362 -} ata_error_t;ata_error_t455,13193 -} select_t, ata_select_t;ata_select_t485,13800 -} ata_status_t, atapi_status_t;atapi_status_t529,14837 -} ata_control_t;ata_control_t562,15579 -} atapi_feature_t;atapi_feature_t589,16123 -} atapi_ireason_t;atapi_ireason_t613,16634 -} atapi_error_t;atapi_error_t643,17310 -} atapi_select_t;atapi_select_t676,18031 - ide_stopped,682,18119 - ide_started,683,18170 -} ide_startstop_t;ide_startstop_t684,18237 -typedef struct ide_drive_s ide_drive_s689,18302 -} ide_drive_t;ide_drive_t792,23146 -#define ide_rq_offset(ide_rq_offset801,23311 -static inline void *ide_map_buffer(804,23400 -static inline void ide_unmap_buffer(809,23540 -#define IDE_CHIPSET_PCI_MASK 815,23706 -#define IDE_CHIPSET_IS_PCI(IDE_CHIPSET_IS_PCI817,23789 -typedef struct hwif_s hwif_s822,23901 -} ide_hwif_t;ide_hwif_t977,29999 -typedef ide_startstop_t ide_startstop_t982,30061 -typedef ide_startstop_t ide_startstop_t983,30139 -typedef int (ide_expiry_t)ide_expiry_t984,30195 -typedef struct hwgroup_s hwgroup_s986,30239 -} ide_hwgroup_t;ide_hwgroup_t1019,31123 -#define TYPE_INT 1027,31239 -#define TYPE_INTA 1028,31258 -#define TYPE_BYTE 1029,31278 -#define TYPE_SHORT 1030,31298 -#define SETTING_READ 1032,31320 -#define SETTING_WRITE 1033,31350 -#define SETTING_RW 1034,31381 -typedef int (ide_procset_t)ide_procset_t1036,31432 -typedef struct ide_settings_s ide_settings_s1037,31481 -} ide_settings_t;ide_settings_t1051,31745 -} ide_proc_entry_t;ide_proc_entry_t1073,32630 -read_proc_t proc_ide_read_capacity;1085,33110 -read_proc_t proc_ide_read_geometry;1086,33146 -#define PROC_IDE_READ_RETURN(PROC_IDE_READ_RETURN1095,33310 -static inline void create_proc_ide_interfaces(1108,33549 -#define PROC_IDE_READ_RETURN(PROC_IDE_READ_RETURN1109,33607 - ide_pm_state_completed 1140,34815 - ide_pm_state_start_suspend 1141,34846 - ide_pm_state_start_resume 1142,34879 -typedef struct ide_driver_s ide_driver_s1148,34948 -} ide_driver_t;ide_driver_t1174,36019 -#define DRIVER(DRIVER1176,36036 - ide_wait,1286,39733 - ide_next,1287,39792 - ide_preempt,1288,39853 - ide_head_wait,1289,39911 - ide_end 1290,39987 -} ide_action_t;ide_action_t1291,40051 -typedef struct ide_task_s ide_task_s1339,41931 -} ide_task_t;ide_task_t1356,42386 -typedef struct pkt_task_s pkt_task_s1358,42401 -} pkt_task_t;pkt_task_t1370,42672 -#define IDE_PIO_IN 1386,43254 -#define IDE_PIO_OUT 1387,43275 -static inline void __task_sectors(1389,43298 -static inline void task_bio_sectors(1403,43672 -extern void ide_scan_pcibus(1483,46636 -#define ON_BOARD 1501,47550 -#define NEVER_BOARD 1502,47570 -# define OFF_BOARD 1505,47625 -# define OFF_BOARD 1507,47691 -#define NODMA 1510,47762 -#define NOAUTODMA 1511,47778 -#define AUTODMA 1512,47798 -typedef struct ide_pci_enablebit_s ide_pci_enablebit_s1514,47817 -} ide_pci_enablebit_t;ide_pci_enablebit_t1518,48002 - IDEPCI_FLAG_ISA_PORTS 1522,48077 - IDEPCI_FLAG_FORCE_MASTER 1524,48114 - IDEPCI_FLAG_FORCE_PDC 1525,48152 -typedef struct ide_pci_device_s ide_pci_device_s1528,48192 -} ide_pci_device_t;ide_pci_device_t1544,48780 -#define BAD_DMA_DRIVE 1549,48965 -#define GOOD_DMA_DRIVE 1550,48990 -static inline int __ide_dma_off(1583,50280 -static inline void ide_release_dma(1587,50416 -static inline void *ide_get_hwifdata 1600,50885 -static inline void ide_set_hwifdata 1605,50972 -typedef struct ide_pio_timings_s ide_pio_timings_s1619,51481 -} ide_pio_timings_t;ide_pio_timings_t1623,51693 -typedef struct ide_pio_data_s ide_pio_data_s1625,51715 -} ide_pio_data_t;ide_pio_data_t1631,51835 -#define local_irq_set(local_irq_set1652,52368 -#define ide_id_has_flush_cache(ide_id_has_flush_cache1657,52578 -#define ide_id_has_flush_cache_ext(ide_id_has_flush_cache_ext1660,52720 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ax25.h,1348 -#define AX25_KERNEL_H7,155 -#define AX25_MTU 11,205 -#define AX25_MAX_DIGIS 12,226 -#define AX25_WINDOW 14,253 -#define AX25_T1 15,275 -#define AX25_N2 16,294 -#define AX25_T3 17,313 -#define AX25_T2 18,332 -#define AX25_BACKOFF 19,351 -#define AX25_EXTSEQ 20,374 -#define AX25_PIDINCL 21,396 -#define AX25_IDLE 22,419 -#define AX25_PACLEN 23,439 -#define AX25_IAMDIGI 24,462 -#define AX25_KILL 26,487 -#define SIOCAX25GETUID 28,509 -#define SIOCAX25ADDUID 29,554 -#define SIOCAX25DELUID 30,599 -#define SIOCAX25NOUID 31,644 -#define SIOCAX25OPTRT 32,688 -#define SIOCAX25CTLCON 33,732 -#define SIOCAX25GETINFOOLD 34,777 -#define SIOCAX25ADDFWD 35,825 -#define SIOCAX25DELFWD 36,871 -#define SIOCAX25DEVCTL 37,917 -#define SIOCAX25GETINFO 38,971 -#define AX25_SET_RT_IPMODE 40,1026 -#define AX25_NOUID_DEFAULT 42,1056 -#define AX25_NOUID_BLOCK 43,1085 -} ax25_address;ax25_address47,1188 -struct sockaddr_ax25 sockaddr_ax2549,1205 -#define sax25_uid 56,1348 -struct full_sockaddr_ax25 full_sockaddr_ax2558,1380 -struct ax25_routes_struct ax25_routes_struct63,1490 -struct ax25_route_opt_struct ax25_route_opt_struct70,1640 -struct ax25_ctl_struct ax25_ctl_struct77,1747 -struct ax25_info_struct_deprecated ax25_info_struct_deprecated88,2143 -struct ax25_info_struct ax25_info_struct98,2372 -struct ax25_fwd_struct ax25_fwd_struct111,2668 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/initrd.h,26 -#define INITRD_MINOR 2,1 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/loop.h,938 -#define _LINUX_LOOP_H2,22 -#define LO_NAME_SIZE 13,240 -#define LO_KEY_SIZE 14,264 - Lo_unbound,23,423 - Lo_bound,24,436 - Lo_rundown,25,447 -struct loop_device loop_device30,489 -#define LO_FLAGS_READ_ONLY 74,1523 -struct loop_info loop_info80,1690 -struct loop_info64 loop_info6495,2174 -#define LO_CRYPT_NONE 115,2737 -#define LO_CRYPT_XOR 116,2762 -#define LO_CRYPT_DES 117,2786 -#define LO_CRYPT_FISH2 118,2810 -#define LO_CRYPT_BLOW 119,2864 -#define LO_CRYPT_CAST128 120,2889 -#define LO_CRYPT_IDEA 121,2916 -#define LO_CRYPT_DUMMY 122,2941 -#define LO_CRYPT_SKIPJACK 123,2967 -#define LO_CRYPT_CRYPTOAPI 124,2996 -#define MAX_LO_CRYPT 125,3026 -struct loop_func_table loop_func_table129,3114 -#define LOOP_SET_FD 150,3779 -#define LOOP_CLR_FD 151,3807 -#define LOOP_SET_STATUS 152,3835 -#define LOOP_GET_STATUS 153,3867 -#define LOOP_SET_STATUS64 154,3899 -#define LOOP_GET_STATUS64 155,3932 -#define LOOP_CHANGE_FD 156,3965 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ftape-header-segment.h,1643 -#define _FTAPE_HEADER_SEGMENT_H2,32 -#define FT_SIGNATURE 31,1114 -#define FT_FMT_CODE 32,1165 -#define FT_REV_LEVEL 33,1190 -#define FT_HSEG_1 34,1270 -#define FT_HSEG_2 35,1350 -#define FT_FRST_SEG 36,1430 -#define FT_LAST_SEG 37,1510 -#define FT_FMT_DATE 38,1590 -#define FT_WR_DATE 39,1670 -#define FT_SPT 40,1750 -#define FT_TPC 41,1830 -#define FT_FHM 42,1910 -#define FT_FTM 43,1990 -#define FT_FSM 44,2070 -#define FT_LABEL 45,2150 -#define FT_LABEL_DATE 46,2230 -#define FT_LABEL_SZ 47,2310 -#define FT_CMAP_START 48,2359 -#define FT_FMT_ERROR 49,2439 -#define FT_SEG_CNT 52,2547 -#define FT_INIT_DATE 55,2680 -#define FT_FMT_CNT 56,2752 -#define FT_FSL_CNT 57,2824 -#define FT_MK_CODE 58,2896 -#define FT_LOT_CODE 59,2968 -#define FT_6_HSEG_1 60,3040 -#define FT_6_HSEG_2 61,3112 -#define FT_6_FRST_SEG 62,3184 -#define FT_6_LAST_SEG 63,3256 -#define FT_FSL 65,3329 -#define FT_HEADER_END 66,3355 -#define FT_HSEG_MAGIC 77,3682 -#define FT_D2G_MAGIC 78,3715 -#define FT_YEAR_SHIFT 81,3795 -#define FT_YEAR_MASK 82,3820 -#define FT_YEAR_0 83,3853 -#define FT_YEAR_MAX 84,3880 -#define FT_YEAR(FT_YEAR85,3906 -#define FT_TIME_SHIFT 87,3980 -#define FT_TIME_MASK 88,4006 -#define FT_TIME_MAX 89,4041 -#define FT_TIME(FT_TIME90,4104 -#define FT_TIME_STAMP(FT_TIME_STAMP93,4196 - fmt_normal 97,4322 - fmt_1100ft 98,4388 - fmt_var 99,4454 - fmt_425ft 100,4520 - fmt_big 101,4586 -} ft_format_type;ft_format_type104,4695 -#define FT_FSL_SIZE 107,4758 -#define FT_FSL_MAX_ENTRIES 108,4822 -typedef struct ft_fsl_entry ft_fsl_entry110,4878 -} __attribute__ ((packed)packed113,4937 -#define FT_FSL_TIME_STAMP(FT_FSL_TIME_STAMP119,5076 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_arp.h,176 -#define __LINUX_ARP_NETFILTER_H2,32 -#define NF_ARP 12,241 -#define NF_ARP_IN 15,276 -#define NF_ARP_OUT 16,296 -#define NF_ARP_FORWARD 17,317 -#define NF_ARP_NUMHOOKS 18,342 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dnotify.h,88 -struct dnotify_struct dnotify_struct9,114 -static inline void inode_dir_notify(23,571 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cciss_ioctl.h,3741 -#define CCISS_IOCTLH2,21 -#define CCISS_IOC_MAGIC 7,94 -typedef struct _cciss_pci_info_struct_cciss_pci_info_struct10,124 -} cciss_pci_info_struct;cciss_pci_info_struct15,228 -typedef struct _cciss_coalint_struct_cciss_coalint_struct17,255 -} cciss_coalint_struct;cciss_coalint_struct21,324 -typedef char NodeName_type[NodeName_type23,349 -typedef __u32 Heartbeat_type;Heartbeat_type25,382 -#define CISS_PARSCSIU2 27,413 -#define CISS_PARCSCIU3 28,444 -#define CISS_FIBRE1G 29,475 -#define CISS_FIBRE2G 30,503 -typedef __u32 BusTypes_type;BusTypes_type31,531 -typedef char FirmwareVer_type[FirmwareVer_type33,561 -typedef __u32 DriverVer_type;DriverVer_type34,595 -#define MAX_KMALLOC_SIZE 36,626 -#define SENSEINFOBYTES 42,781 -#define CMD_SUCCESS 45,900 -#define CMD_TARGET_STATUS 46,939 -#define CMD_DATA_UNDERRUN 47,978 -#define CMD_DATA_OVERRUN 48,1017 -#define CMD_INVALID 49,1056 -#define CMD_PROTOCOL_ERR 50,1095 -#define CMD_HARDWARE_ERR 51,1134 -#define CMD_CONNECTION_LOST 52,1173 -#define CMD_ABORTED 53,1212 -#define CMD_ABORT_FAILED 54,1251 -#define CMD_UNSOLICITED_ABORT 55,1290 -#define CMD_TIMEOUT 56,1329 -#define CMD_UNABORTABLE 57,1368 -#define XFER_NONE 60,1422 -#define XFER_WRITE 61,1459 -#define XFER_READ 62,1496 -#define XFER_RSVD 63,1533 -#define ATTR_UNTAGGED 66,1588 -#define ATTR_SIMPLE 67,1625 -#define ATTR_HEADOFQUEUE 68,1662 -#define ATTR_ORDERED 69,1699 -#define ATTR_ACA 70,1736 -#define TYPE_CMD 73,1785 -#define TYPE_MSG 74,1810 -#define BYTE 77,1879 -#define WORD 78,1897 -#define HWORD 79,1916 -#define DWORD 80,1936 -#define CISS_MAX_LUN 82,1957 -#define LEVEL2LUN 84,1983 -#define LEVEL3LUN 85,2063 -typedef union _SCSI3Addr_struct _SCSI3Addr_struct90,2128 -} SCSI3Addr_struct;SCSI3Addr_struct107,2445 -typedef struct _PhysDevAddr_struct _PhysDevAddr_struct109,2466 -} PhysDevAddr_struct;PhysDevAddr_struct114,2651 -typedef struct _LogDevAddr_struct _LogDevAddr_struct116,2676 -} LogDevAddr_struct;LogDevAddr_struct120,2800 -typedef union _LUNAddr_struct _LUNAddr_struct122,2822 -} LUNAddr_struct;LUNAddr_struct127,2985 -typedef struct _RequestBlock_struct _RequestBlock_struct129,3004 -} RequestBlock_struct;RequestBlock_struct138,3177 -typedef union _MoreErrInfo_struct{_MoreErrInfo_struct140,3201 -}MoreErrInfo_struct;MoreErrInfo_struct152,3496 -typedef struct _ErrorInfo_struct _ErrorInfo_struct153,3517 -} ErrorInfo_struct;ErrorInfo_struct160,3768 -typedef struct _IOCTL_Command_struct _IOCTL_Command_struct165,3831 -} IOCTL_Command_struct;IOCTL_Command_struct171,4052 -typedef struct _BIG_IOCTL_Command_struct _BIG_IOCTL_Command_struct173,4077 -} BIG_IOCTL_Command_struct;BIG_IOCTL_Command_struct181,4415 -typedef struct _LogvolInfo_struct{_LogvolInfo_struct183,4444 -} LogvolInfo_struct;LogvolInfo_struct187,4619 -#define CCISS_GETPCIINFO 189,4641 -#define CCISS_GETINTINFO 191,4715 -#define CCISS_SETINTINFO 192,4787 -#define CCISS_GETNODENAME 194,4860 -#define CCISS_SETNODENAME 195,4926 -#define CCISS_GETHEARTBEAT 197,4993 -#define CCISS_GETBUSTYPES 198,5061 -#define CCISS_GETFIRMVER 199,5128 -#define CCISS_GETDRIVVER 200,5198 -#define CCISS_REVALIDVOLS 201,5266 -#define CCISS_PASSTHRU 202,5318 -#define CCISS_DEREGDISK 203,5393 -#define CCISS_REGNEWDISK 206,5491 -#define CCISS_REGNEWD 208,5549 -#define CCISS_RESCANDISK 209,5599 -#define CCISS_GETLUNINFO 210,5651 -#define CCISS_BIG_PASSTHRU 211,5723 -typedef struct _IOCTL32_Command_struct _IOCTL32_Command_struct217,5882 -} IOCTL32_Command_struct;IOCTL32_Command_struct223,6133 -typedef struct _BIG_IOCTL32_Command_struct _BIG_IOCTL32_Command_struct225,6160 -} BIG_IOCTL32_Command_struct;BIG_IOCTL32_Command_struct233,6526 -#define CCISS_PASSTHRU32 235,6557 -#define CCISS_BIG_PASSTHRU32 236,6635 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/byteorder/little_endian.h,2706 -#define _LINUX_BYTEORDER_LITTLE_ENDIAN_H2,41 -#define __LITTLE_ENDIAN 5,107 -#define __LITTLE_ENDIAN_BITFIELD8,176 -#define __constant_htonl(__constant_htonl14,277 -#define __constant_ntohl(__constant_ntohl15,347 -#define __constant_htons(__constant_htons16,415 -#define __constant_ntohs(__constant_ntohs17,485 -#define __constant_cpu_to_le64(__constant_cpu_to_le6418,553 -#define __constant_le64_to_cpu(__constant_le64_to_cpu19,616 -#define __constant_cpu_to_le32(__constant_cpu_to_le3220,679 -#define __constant_le32_to_cpu(__constant_le32_to_cpu21,742 -#define __constant_cpu_to_le16(__constant_cpu_to_le1622,805 -#define __constant_le16_to_cpu(__constant_le16_to_cpu23,868 -#define __constant_cpu_to_be64(__constant_cpu_to_be6424,931 -#define __constant_be64_to_cpu(__constant_be64_to_cpu25,1007 -#define __constant_cpu_to_be32(__constant_cpu_to_be3226,1088 -#define __constant_be32_to_cpu(__constant_be32_to_cpu27,1164 -#define __constant_cpu_to_be16(__constant_cpu_to_be1628,1245 -#define __constant_be16_to_cpu(__constant_be16_to_cpu29,1321 -#define __cpu_to_le64(__cpu_to_le6430,1402 -#define __le64_to_cpu(__le64_to_cpu31,1456 -#define __cpu_to_le32(__cpu_to_le3232,1510 -#define __le32_to_cpu(__le32_to_cpu33,1564 -#define __cpu_to_le16(__cpu_to_le1634,1618 -#define __le16_to_cpu(__le16_to_cpu35,1672 -#define __cpu_to_be64(__cpu_to_be6436,1726 -#define __be64_to_cpu(__be64_to_cpu37,1784 -#define __cpu_to_be32(__cpu_to_be3238,1847 -#define __be32_to_cpu(__be32_to_cpu39,1905 -#define __cpu_to_be16(__cpu_to_be1640,1968 -#define __be16_to_cpu(__be16_to_cpu41,2026 -static inline __le64 __cpu_to_le64p(43,2090 -static inline __u64 __le64_to_cpup(47,2174 -static inline __le32 __cpu_to_le32p(51,2257 -static inline __u32 __le32_to_cpup(55,2341 -static inline __le16 __cpu_to_le16p(59,2424 -static inline __u16 __le16_to_cpup(63,2508 -static inline __be64 __cpu_to_be64p(67,2591 -static inline __u64 __be64_to_cpup(71,2685 -static inline __be32 __cpu_to_be32p(75,2772 -static inline __u32 __be32_to_cpup(79,2866 -static inline __be16 __cpu_to_be16p(83,2953 -static inline __u16 __be16_to_cpup(87,3047 -#define __cpu_to_le64s(__cpu_to_le64s91,3134 -#define __le64_to_cpus(__le64_to_cpus92,3176 -#define __cpu_to_le32s(__cpu_to_le32s93,3218 -#define __le32_to_cpus(__le32_to_cpus94,3260 -#define __cpu_to_le16s(__cpu_to_le16s95,3302 -#define __le16_to_cpus(__le16_to_cpus96,3344 -#define __cpu_to_be64s(__cpu_to_be64s97,3386 -#define __be64_to_cpus(__be64_to_cpus98,3427 -#define __cpu_to_be32s(__cpu_to_be32s99,3468 -#define __be32_to_cpus(__be32_to_cpus100,3509 -#define __cpu_to_be16s(__cpu_to_be16s101,3550 -#define __be16_to_cpus(__be16_to_cpus102,3591 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/byteorder/pdp_endian.h,2737 -#define _LINUX_BYTEORDER_PDP_ENDIAN_H2,38 -#define __PDP_ENDIAN 24,910 -#define __PDP_ENDIAN_BITFIELD27,973 -#define __constant_htonl(__constant_htonl33,1081 -#define __constant_ntohl(__constant_ntohl34,1134 -#define __constant_htons(__constant_htons35,1187 -#define __constant_ntohs(__constant_ntohs36,1239 -#define __constant_cpu_to_le64(__constant_cpu_to_le6437,1291 -#define __constant_le64_to_cpu(__constant_le64_to_cpu38,1338 -#define __constant_cpu_to_le32(__constant_cpu_to_le3239,1385 -#define __constant_le32_to_cpu(__constant_le32_to_cpu40,1444 -#define __constant_cpu_to_le16(__constant_cpu_to_le1641,1503 -#define __constant_le16_to_cpu(__constant_le16_to_cpu42,1549 -#define __constant_cpu_to_be64(__constant_cpu_to_be6443,1595 -#define __constant_be64_to_cpu(__constant_be64_to_cpu44,1642 -#define __constant_cpu_to_be32(__constant_cpu_to_be3245,1689 -#define __constant_be32_to_cpu(__constant_be32_to_cpu46,1748 -#define __constant_cpu_to_be16(__constant_cpu_to_be1647,1807 -#define __constant_be16_to_cpu(__constant_be16_to_cpu48,1865 -#define __cpu_to_le64(__cpu_to_le6449,1923 -#define __le64_to_cpu(__le64_to_cpu50,1961 -#define __cpu_to_le32(__cpu_to_le3251,1999 -#define __le32_to_cpu(__le32_to_cpu52,2040 -#define __cpu_to_le16(__cpu_to_le1653,2081 -#define __le16_to_cpu(__le16_to_cpu54,2118 -#define __cpu_to_be64(__cpu_to_be6455,2155 -#define __be64_to_cpu(__be64_to_cpu56,2193 -#define __cpu_to_be32(__cpu_to_be3257,2231 -#define __be32_to_cpu(__be32_to_cpu58,2271 -#define __cpu_to_be16(__cpu_to_be1659,2311 -#define __be16_to_cpu(__be16_to_cpu60,2350 -#define __cpu_to_le64p(__cpu_to_le64p61,2389 -#define __le64_to_cpup(__le64_to_cpup62,2428 -#define __cpu_to_le32p(__cpu_to_le32p63,2467 -#define __le32_to_cpup(__le32_to_cpup64,2510 -#define __cpu_to_le16p(__cpu_to_le16p65,2553 -#define __le16_to_cpup(__le16_to_cpup66,2594 -#define __cpu_to_be64p(__cpu_to_be64p67,2635 -#define __be64_to_cpup(__be64_to_cpup68,2674 -#define __cpu_to_be32p(__cpu_to_be32p69,2713 -#define __be32_to_cpup(__be32_to_cpup70,2755 -#define __cpu_to_be16p(__cpu_to_be16p71,2797 -#define __be16_to_cpup(__be16_to_cpup72,2838 -#define __cpu_to_le64s(__cpu_to_le64s73,2879 -#define __le64_to_cpus(__le64_to_cpus74,2918 -#define __cpu_to_le32s(__cpu_to_le32s75,2957 -#define __le32_to_cpus(__le32_to_cpus76,3000 -#define __cpu_to_le16s(__cpu_to_le16s77,3043 -#define __le16_to_cpus(__le16_to_cpus78,3085 -#define __cpu_to_be64s(__cpu_to_be64s79,3127 -#define __be64_to_cpus(__be64_to_cpus80,3166 -#define __cpu_to_be32s(__cpu_to_be32s81,3205 -#define __be32_to_cpus(__be32_to_cpus82,3247 -#define __cpu_to_be16s(__cpu_to_be16s83,3289 -#define __be16_to_cpus(__be16_to_cpus84,3330 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/byteorder/swabb.h,1145 -#define _LINUX_BYTEORDER_SWABB_H2,33 -#define ___swahw32(___swahw3228,906 -#define ___swahb32(___swahb3235,1075 -#define ___constant_swahw32(___constant_swahw3243,1243 -#define ___constant_swahb32(___constant_swahb3247,1386 -# define __arch__swahw32(__arch__swahw3256,1634 -# define __arch__swahb32(__arch__swahb3259,1708 -# define __arch__swahw32p(__arch__swahw32p63,1784 -# define __arch__swahb32p(__arch__swahb32p66,1862 -# define __arch__swahw32s(__arch__swahw32s70,1941 -# define __arch__swahb32s(__arch__swahb32s73,2044 -# define __swahw32(__swahw3281,2223 -# define __swahb32(__swahb3285,2325 -# define __swahw32(__swahw3290,2433 -# define __swahb32(__swahb3291,2470 -static __inline__ __const__ __u32 __fswahw32(95,2531 -static __inline__ __u32 __swahw32p(99,2617 -static __inline__ void __swahw32s(103,2695 -static __inline__ __const__ __u32 __fswahb32(109,2773 -static __inline__ __u32 __swahb32p(113,2859 -static __inline__ void __swahb32s(117,2937 -#define swahw32 129,3131 -#define swahb32 130,3157 -#define swahw32p 131,3183 -#define swahb32p 132,3211 -#define swahw32s 133,3239 -#define swahb32s 134,3267 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/byteorder/big_endian.h,2696 -#define _LINUX_BYTEORDER_BIG_ENDIAN_H2,38 -#define __BIG_ENDIAN 5,98 -#define __BIG_ENDIAN_BITFIELD8,161 -#define __constant_htonl(__constant_htonl14,259 -#define __constant_ntohl(__constant_ntohl15,316 -#define __constant_htons(__constant_htons16,373 -#define __constant_ntohs(__constant_ntohs17,430 -#define __constant_cpu_to_le64(__constant_cpu_to_le6418,487 -#define __constant_le64_to_cpu(__constant_le64_to_cpu19,563 -#define __constant_cpu_to_le32(__constant_cpu_to_le3220,644 -#define __constant_le32_to_cpu(__constant_le32_to_cpu21,720 -#define __constant_cpu_to_le16(__constant_cpu_to_le1622,801 -#define __constant_le16_to_cpu(__constant_le16_to_cpu23,877 -#define __constant_cpu_to_be64(__constant_cpu_to_be6424,958 -#define __constant_be64_to_cpu(__constant_be64_to_cpu25,1021 -#define __constant_cpu_to_be32(__constant_cpu_to_be3226,1084 -#define __constant_be32_to_cpu(__constant_be32_to_cpu27,1147 -#define __constant_cpu_to_be16(__constant_cpu_to_be1628,1210 -#define __constant_be16_to_cpu(__constant_be16_to_cpu29,1273 -#define __cpu_to_le64(__cpu_to_le6430,1336 -#define __le64_to_cpu(__le64_to_cpu31,1394 -#define __cpu_to_le32(__cpu_to_le3232,1457 -#define __le32_to_cpu(__le32_to_cpu33,1515 -#define __cpu_to_le16(__cpu_to_le1634,1578 -#define __le16_to_cpu(__le16_to_cpu35,1636 -#define __cpu_to_be64(__cpu_to_be6436,1699 -#define __be64_to_cpu(__be64_to_cpu37,1753 -#define __cpu_to_be32(__cpu_to_be3238,1807 -#define __be32_to_cpu(__be32_to_cpu39,1861 -#define __cpu_to_be16(__cpu_to_be1640,1915 -#define __be16_to_cpu(__be16_to_cpu41,1969 -static inline __le64 __cpu_to_le64p(43,2024 -static inline __u64 __le64_to_cpup(47,2118 -static inline __le32 __cpu_to_le32p(51,2205 -static inline __u32 __le32_to_cpup(55,2299 -static inline __le16 __cpu_to_le16p(59,2386 -static inline __u16 __le16_to_cpup(63,2480 -static inline __be64 __cpu_to_be64p(67,2567 -static inline __u64 __be64_to_cpup(71,2651 -static inline __be32 __cpu_to_be32p(75,2734 -static inline __u32 __be32_to_cpup(79,2818 -static inline __be16 __cpu_to_be16p(83,2901 -static inline __u16 __be16_to_cpup(87,2985 -#define __cpu_to_le64s(__cpu_to_le64s91,3068 -#define __le64_to_cpus(__le64_to_cpus92,3109 -#define __cpu_to_le32s(__cpu_to_le32s93,3150 -#define __le32_to_cpus(__le32_to_cpus94,3191 -#define __cpu_to_le16s(__cpu_to_le16s95,3232 -#define __le16_to_cpus(__le16_to_cpus96,3273 -#define __cpu_to_be64s(__cpu_to_be64s97,3314 -#define __be64_to_cpus(__be64_to_cpus98,3356 -#define __cpu_to_be32s(__cpu_to_be32s99,3398 -#define __be32_to_cpus(__be32_to_cpus100,3440 -#define __cpu_to_be16s(__cpu_to_be16s101,3482 -#define __be16_to_cpus(__be16_to_cpus102,3524 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/byteorder/generic.h,1395 -#define _LINUX_BYTEORDER_GENERIC_H2,35 -#define cpu_to_le64 87,3126 -#define le64_to_cpu 88,3160 -#define cpu_to_le32 89,3194 -#define le32_to_cpu 90,3228 -#define cpu_to_le16 91,3262 -#define le16_to_cpu 92,3296 -#define cpu_to_be64 93,3330 -#define be64_to_cpu 94,3364 -#define cpu_to_be32 95,3398 -#define be32_to_cpu 96,3432 -#define cpu_to_be16 97,3466 -#define be16_to_cpu 98,3500 -#define cpu_to_le64p 99,3534 -#define le64_to_cpup 100,3570 -#define cpu_to_le32p 101,3606 -#define le32_to_cpup 102,3642 -#define cpu_to_le16p 103,3678 -#define le16_to_cpup 104,3714 -#define cpu_to_be64p 105,3750 -#define be64_to_cpup 106,3786 -#define cpu_to_be32p 107,3822 -#define be32_to_cpup 108,3858 -#define cpu_to_be16p 109,3894 -#define be16_to_cpup 110,3930 -#define cpu_to_le64s 111,3966 -#define le64_to_cpus 112,4002 -#define cpu_to_le32s 113,4038 -#define le32_to_cpus 114,4074 -#define cpu_to_le16s 115,4110 -#define le16_to_cpus 116,4146 -#define cpu_to_be64s 117,4182 -#define be64_to_cpus 118,4218 -#define cpu_to_be32s 119,4254 -#define be32_to_cpus 120,4290 -#define cpu_to_be16s 121,4326 -#define be16_to_cpus 122,4362 -#define ___htonl(___htonl157,5311 -#define ___htons(___htons158,5348 -#define ___ntohl(___ntohl159,5385 -#define ___ntohs(___ntohs160,5422 -#define htonl(htonl162,5460 -#define ntohl(ntohl163,5489 -#define htons(htons164,5518 -#define ntohs(ntohs165,5547 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/byteorder/swab.h,1679 -#define _LINUX_BYTEORDER_SWAB_H2,32 -#define ___swab16(___swab1623,634 -#define ___swab32(___swab3231,791 -#define ___swab64(___swab6441,1062 -#define ___constant_swab16(___constant_swab1655,1672 -#define ___constant_swab32(___constant_swab3259,1802 -#define ___constant_swab64(___constant_swab6465,2042 -# define __arch__swab16(__arch__swab1680,2719 -# define __arch__swab32(__arch__swab3283,2821 -# define __arch__swab64(__arch__swab6486,2923 -# define __arch__swab16p(__arch__swab16p90,3027 -# define __arch__swab32p(__arch__swab32p93,3108 -# define __arch__swab64p(__arch__swab64p96,3189 -# define __arch__swab16s(__arch__swab16s100,3271 -# define __arch__swab32s(__arch__swab32s103,3377 -# define __arch__swab64s(__arch__swab64s106,3483 -# define __swab16(__swab16114,3666 -# define __swab32(__swab32118,3765 -# define __swab64(__swab64122,3864 -# define __swab16(__swab16127,3969 -# define __swab32(__swab32128,4004 -# define __swab64(__swab64129,4039 -static __inline__ __attribute_const__ __u16 __fswab16(133,4098 -static __inline__ __u16 __swab16p(137,4192 -static __inline__ void __swab16s(141,4274 -static __inline__ __attribute_const__ __u32 __fswab32(146,4349 -static __inline__ __u32 __swab32p(150,4443 -static __inline__ void __swab32s(154,4525 -static __inline__ __attribute_const__ __u64 __fswab64(160,4629 -static __inline__ __u64 __swab64p(170,4897 -static __inline__ void __swab64s(174,4979 -#define swab16 181,5113 -#define swab32 182,5137 -#define swab64 183,5161 -#define swab16p 184,5185 -#define swab32p 185,5211 -#define swab64p 186,5237 -#define swab16s 187,5263 -#define swab32s 188,5289 -#define swab64s 189,5315 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dp83840.h,528 -#define __LINUX_DP83840_H7,171 -#define MII_CSCONFIG 23,672 -#define CSCONFIG_RESV1 26,788 -#define CSCONFIG_LED4 27,862 -#define CSCONFIG_LED1 28,936 -#define CSCONFIG_RESV2 29,1010 -#define CSCONFIG_TCVDISAB 30,1084 -#define CSCONFIG_DFBYPASS 31,1158 -#define CSCONFIG_GLFORCE 32,1232 -#define CSCONFIG_CLKTRISTATE 33,1306 -#define CSCONFIG_RESV3 34,1380 -#define CSCONFIG_ENCODE 35,1454 -#define CSCONFIG_RENABLE 36,1528 -#define CSCONFIG_TCDISABLE 37,1602 -#define CSCONFIG_RESV4 38,1676 -#define CSCONFIG_NDISABLE 39,1750 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/usb.h,3827 -#define __LINUX_USB_H2,22 -#define USB_MAJOR 7,108 -struct usb_host_endpoint usb_host_endpoint44,1387 -struct usb_host_interface usb_host_interface52,1592 -struct usb_interface usb_interface106,4311 -#define to_usb_interface(to_usb_interface119,4777 -#define interface_to_usbdev(interface_to_usbdev120,4848 -static inline void *usb_get_intfdata 123,4941 -static inline void usb_set_intfdata 128,5050 -#define USB_MAXINTERFACES 137,5312 -struct usb_interface_cache usb_interface_cache153,6073 -#define ref_to_usb_interface_cache(ref_to_usb_interface_cache161,6357 -#define altsetting_to_usb_interface_cache(altsetting_to_usb_interface_cache163,6448 -struct usb_host_config usb_host_config202,8576 -#define usb_get_extra_descriptor(usb_get_extra_descriptor224,9300 -struct usb_devmap usb_devmap233,9588 -struct usb_bus usb_bus240,9726 -#define to_usb_bus(to_usb_bus272,11131 -#define USB_MAXCHILDREN 281,11414 -struct usb_device usb_device285,11461 -#define to_usb_device(to_usb_device331,13111 -static inline int usb_interface_claimed(359,14176 -static inline int usb_make_path 400,16121 -#define USB_DEVICE_ID_MATCH_DEVICE 409,16423 -#define USB_DEVICE_ID_MATCH_DEV_RANGE 410,16518 -#define USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION 411,16615 -#define USB_DEVICE_ID_MATCH_DEV_INFO 412,16723 -#define USB_DEVICE_ID_MATCH_INT_INFO 414,16865 -#define USB_DEVICE(USB_DEVICE425,17241 -#define USB_DEVICE_VER(USB_DEVICE_VER437,17699 -#define USB_DEVICE_INFO(USB_DEVICE_INFO449,18147 -#define USB_INTERFACE_INFO(USB_INTERFACE_INFO461,18585 -struct usb_driver usb_driver507,21102 -#define to_usb_driver(to_usb_driver526,21553 -struct usb_class_driver usb_class_driver542,22225 -#define URB_SHORT_NOT_OK 572,22947 -#define URB_ISO_ASAP 573,23014 -#define URB_NO_TRANSFER_DMA_MAP 574,23084 -#define URB_NO_SETUP_DMA_MAP 575,23163 -#define URB_ASYNC_UNLINK 576,23236 -#define URB_NO_FSBR 577,23304 -#define URB_ZERO_PACKET 578,23352 -#define URB_NO_INTERRUPT 579,23425 -struct usb_iso_packet_descriptor usb_iso_packet_descriptor581,23500 -typedef void (*usb_complete_t)usb_complete_t591,23686 -struct urburb758,33135 -static inline void usb_fill_control_urb 805,35284 -static inline void usb_fill_bulk_urb 837,36268 -static inline void usb_fill_int_urb 872,37535 -#define usb_put_urb 898,38284 -#define HAVE_USB_BUFFERS904,38513 -#define USB_CTRL_GET_TIMEOUT 963,40935 -#define USB_CTRL_SET_TIMEOUT 964,40966 -struct usb_sg_request usb_sg_request983,41628 -#define PIPE_ISOCHRONOUS 1058,43916 -#define PIPE_INTERRUPT 1059,43944 -#define PIPE_CONTROL 1060,43971 -#define PIPE_BULK 1061,43996 -#define usb_maxpacket(usb_maxpacket1063,44019 -#define usb_pipein(usb_pipein1067,44173 -#define usb_pipeout(usb_pipeout1068,44220 -#define usb_pipedevice(usb_pipedevice1069,44266 -#define usb_pipeendpoint(usb_pipeendpoint1070,44318 -#define usb_pipetype(usb_pipetype1071,44372 -#define usb_pipeisoc(usb_pipeisoc1072,44420 -#define usb_pipeint(usb_pipeint1073,44490 -#define usb_pipecontrol(usb_pipecontrol1074,44557 -#define usb_pipebulk(usb_pipebulk1075,44626 -#define usb_gettoggle(usb_gettoggle1078,44769 -#define usb_dotoggle(usb_dotoggle1079,44840 -#define usb_settoggle(usb_settoggle1080,44912 -static inline unsigned int __create_pipe(1083,45032 -#define usb_sndctrlpipe(usb_sndctrlpipe1089,45202 -#define usb_rcvctrlpipe(usb_rcvctrlpipe1090,45293 -#define usb_sndisocpipe(usb_sndisocpipe1091,45397 -#define usb_rcvisocpipe(usb_rcvisocpipe1092,45492 -#define usb_sndbulkpipe(usb_sndbulkpipe1093,45600 -#define usb_rcvbulkpipe(usb_rcvbulkpipe1094,45688 -#define usb_sndintpipe(usb_sndintpipe1095,45789 -#define usb_rcvintpipe(usb_rcvintpipe1096,45881 -#define dbg(dbg1101,46082 -#define dbg(dbg1103,46174 -#define err(err1106,46226 -#define info(info1107,46310 -#define warn(warn1108,46396 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isicom.h,1988 -#define _LINUX_ISICOM_H2,24 -#define __MultiTech 12,155 -#define MIOCTL_LOAD_FIRMWARE 13,186 -#define MIOCTL_READ_FIRMWARE 14,237 -#define MIOCTL_XFER_CTRL 15,298 -#define MIOCTL_RESET_CARD 16,352 -#define DATA_SIZE 18,408 -} exec_record;exec_record23,507 -} bin_header;bin_header29,622 -} bin_frame;bin_frame37,799 -#define YES 41,832 -#define NO 42,847 -#define ISILOAD_MISC_MINOR 44,862 -#define ISILOAD_NAME 45,911 -#define ISICOM_NAME 52,991 - #define DEVID_COUNT 58,1054 - #define VENDOR_ID 59,1088 -#define ISICOM_NMAJOR 65,1182 -#define ISICOM_CMAJOR 66,1223 -#define ISICOM_MAGIC 67,1264 -#define WAKEUP_CHARS 69,1306 -#define TX_SIZE 70,1358 -#define BOARD_COUNT 72,1383 -#define PORT_COUNT 73,1406 -#define SERIAL_TYPE_NORMAL 75,1444 -#define ISICOM_CS5 79,1501 -#define ISICOM_CS6 80,1529 -#define ISICOM_CS7 81,1557 -#define ISICOM_CS8 82,1585 -#define ISICOM_1SB 86,1631 -#define ISICOM_2SB 87,1659 -#define ISICOM_NOPAR 91,1702 -#define ISICOM_ODPAR 92,1732 -#define ISICOM_EVPAR 93,1762 -#define ISICOM_CTSRTS 97,1813 -#define ISICOM_INITIATE_XONXOFF 98,1842 -#define ISICOM_RESPOND_XONXOFF 99,1880 -#define InterruptTheCard(InterruptTheCard101,1918 -#define ClearInterrupt(ClearInterrupt102,1971 -#define BOARD(BOARD104,2021 -#define ISICOM_KILLTX 108,2096 -#define ISICOM_KILLRX 109,2125 -#define FIRMWARE_LOADED 113,2188 -#define BOARD_ACTIVE 114,2221 -#define ISI_CTS 118,2285 -#define ISI_DSR 119,2311 -#define ISI_RI 120,2337 -#define ISI_DCD 121,2362 -#define ISI_DTR 122,2388 -#define ISI_RTS 123,2414 -#define ISI_TXOK 126,2442 -struct isi_board isi_board128,2471 -struct isi_port isi_port140,2760 -static inline void raise_dtr(166,3262 -static inline void drop_dtr(186,3819 -static inline void raise_rts(205,4375 -static inline void drop_rts(224,4932 -static inline void raise_dtr_rts(243,5487 -static inline void drop_dtr_rts(262,6067 -static inline void kill_queue(282,6647 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cycx_drv.h,414 -#define _CYCX_DRV_H25,979 -#define CYCX_WINDOWSIZE 27,1000 -#define GEN_CYCX_INTR 28,1074 -#define RST_ENABLE 29,1101 -#define START_CPU 30,1125 -#define RST_DISABLE 31,1148 -#define FIXED_BUFFERS 32,1173 -#define TEST_PATTERN 33,1200 -#define CMD_OFFSET 34,1228 -#define CONF_OFFSET 35,1252 -#define RESET_OFFSET 36,1283 -#define DATA_OFFSET 37,1337 -#define START_OFFSET 38,1399 -struct cycx_hw cycx_hw48,1679 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/idr.h,497 -# define IDR_BITS 15,354 -# define IDR_FULL 16,374 -# define TOP_LEVEL_FULL 20,589 -# define IDR_BITS 22,656 -# define IDR_FULL 23,676 -# define TOP_LEVEL_FULL 27,899 -#define IDR_SIZE 32,994 -#define IDR_MASK 33,1027 -#define MAX_ID_SHIFT 35,1065 -#define MAX_ID_BIT 36,1106 -#define MAX_ID_MASK 37,1146 -#define MAX_LEVEL 40,1241 -#define IDR_FREE_MAX 43,1356 -struct idr_layer idr_layer45,1400 -struct idr idr51,1572 -#define IDR_INIT(IDR_INIT59,1698 -#define DEFINE_IDR(DEFINE_IDR67,1866 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sysfs.h,1113 -#define _SYSFS_H_10,204 -struct attribute attribute17,280 -struct attribute_group attribute_group23,361 -#define __ATTR(__ATTR35,546 -#define __ATTR_RO(__ATTR_RO41,719 -#define __ATTR_NULL 46,855 -#define attr_name(attr_name48,905 -struct bin_attribute bin_attribute50,949 -struct sysfs_ops sysfs_ops57,1137 -struct sysfs_dirent sysfs_dirent62,1300 -#define SYSFS_ROOT 72,1489 -#define SYSFS_DIR 73,1516 -#define SYSFS_KOBJ_ATTR 74,1542 -#define SYSFS_KOBJ_BIN_ATTR 75,1574 -#define SYSFS_KOBJ_LINK 76,1609 -#define SYSFS_NOT_PINNED 77,1641 -static inline int sysfs_create_dir(113,2630 -static inline void sysfs_remove_dir(118,2701 -static inline int sysfs_rename_dir(123,2765 -static inline int sysfs_create_file(128,2858 -static inline int sysfs_update_file(133,2958 -static inline void sysfs_remove_file(138,3058 -static inline int sysfs_create_link(143,3151 -static inline void sysfs_remove_link(148,3253 -static inline int sysfs_create_bin_file(154,3332 -static inline int sysfs_remove_bin_file(159,3434 -static inline int sysfs_create_group(164,3536 -static inline void sysfs_remove_group(169,3642 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm.h,2564 -#define _LINUX_ATM_H12,247 -#define ATM_CELL_SIZE 30,595 -#define ATM_CELL_PAYLOAD 31,658 -#define ATM_AAL0_SDU 32,713 -#define ATM_MAX_AAL34_PDU 33,762 -#define ATM_AAL5_TRAILER 34,828 -#define ATM_MAX_AAL5_PDU 35,884 -#define ATM_MAX_CDV 36,947 -#define ATM_NOT_RSV_VCI 37,1003 -#define ATM_MAX_VPI 39,1071 -#define ATM_MAX_VPI_NNI 40,1128 -#define ATM_MAX_VCI 41,1189 -#define ATM_NO_AAL 45,1287 -#define ATM_AAL0 46,1333 -#define ATM_AAL1 47,1376 -#define ATM_AAL2 48,1413 -#define ATM_AAL34 49,1450 -#define ATM_AAL5 50,1491 -#define __SO_ENCODE(__SO_ENCODE60,1772 -#define __SO_LEVEL_MATCH(__SO_LEVEL_MATCH62,1855 -#define __SO_NUMBER(__SO_NUMBER63,1916 -#define __SO_SIZE(__SO_SIZE64,1961 -#define SO_SETCLP 70,2020 -#define SO_CIRANGE 72,2103 -#define SO_ATMQOS 75,2250 -#define SO_ATMSAP 77,2346 -#define SO_ATMPVC 79,2436 -#define ATM_HDR_GFC_MASK 93,2864 -#define ATM_HDR_GFC_SHIFT 94,2900 -#define ATM_HDR_VPI_MASK 95,2929 -#define ATM_HDR_VPI_SHIFT 96,2965 -#define ATM_HDR_VCI_MASK 97,2994 -#define ATM_HDR_VCI_SHIFT 98,3030 -#define ATM_HDR_PTI_MASK 99,3058 -#define ATM_HDR_PTI_SHIFT 100,3094 -#define ATM_HDR_CLP 101,3122 -#define ATM_PTI_US0 108,3204 -#define ATM_PTI_US1 109,3280 -#define ATM_PTI_UCES0 110,3356 -#define ATM_PTI_UCES1 111,3433 -#define ATM_PTI_SEGF5 112,3510 -#define ATM_PTI_E2EF5 113,3574 -#define ATM_PTI_RSV_RM 114,3641 -#define ATM_PTI_RSV 115,3716 -#define ATM_NONE 126,3898 -#define ATM_UBR 127,3935 -#define ATM_CBR 128,3954 -#define ATM_VBR 129,3973 -#define ATM_ABR 130,3992 -#define ATM_ANYCLASS 131,4011 -#define ATM_MAX_PCR 133,4069 -struct atm_trafprm atm_trafprm135,4122 -struct atm_qos atm_qos159,5477 -#define ATM_ITF_ANY 168,5695 -#define ATM_VPI_ANY 169,5752 -#define ATM_VCI_ANY 170,5775 -#define ATM_VPI_UNSPEC 171,5798 -#define ATM_VCI_UNSPEC 172,5824 -struct sockaddr_atmpvc sockaddr_atmpvc175,5852 -#define ATM_ESA_LEN 186,6165 -#define ATM_E164_LEN 187,6225 -#define ATM_AFI_DCC 189,6285 -#define ATM_AFI_ICD 190,6332 -#define ATM_AFI_E164 191,6379 -#define ATM_AFI_LOCAL 192,6429 -#define ATM_AFI_DCC_GROUP 194,6482 -#define ATM_AFI_ICD_GROUP 195,6540 -#define ATM_AFI_E164_GROUP 196,6598 -#define ATM_AFI_LOCAL_GROUP 197,6659 -#define ATM_LIJ_NONE 199,6722 -#define ATM_LIJ 200,6775 -#define ATM_LIJ_RPJ 201,6817 -#define ATM_LIJ_NJ 202,6872 -struct sockaddr_atmsvc sockaddr_atmsvc205,6922 -static __inline__ int atmsvc_addr_in_use(217,7381 -static __inline__ int atmpvc_addr_in_use(223,7507 -struct atmif_sioc atmif_sioc233,7694 -typedef unsigned short atm_backend_t;atm_backend_t239,7772 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_decnet.h,893 -#define __LINUX_DECNET_NETFILTER_H2,35 -#define NFC_DN_SRC 14,333 -#define NFC_DN_DST 16,383 -#define NFC_DN_IF_IN 18,430 -#define NFC_DN_IF_OUT 20,480 -#define NF_DN_PRE_ROUTING 24,574 -#define NF_DN_LOCAL_IN 26,648 -#define NF_DN_FORWARD 28,729 -#define NF_DN_LOCAL_OUT 30,797 -#define NF_DN_POST_ROUTING 32,861 -#define NF_DN_HELLO 34,916 -#define NF_DN_ROUTE 36,967 -#define NF_DN_NUMHOOKS 37,990 -enum nf_dn_hook_priorities nf_dn_hook_priorities39,1017 - NF_DN_PRI_FIRST 40,1046 - NF_DN_PRI_FIRST = INT_MIN,40,1046 - NF_DN_PRI_CONNTRACK 41,1074 - NF_DN_PRI_MANGLE 42,1103 - NF_DN_PRI_NAT_DST 43,1129 - NF_DN_PRI_FILTER 44,1156 - NF_DN_PRI_NAT_SRC 45,1179 - NF_DN_PRI_DNRTMSG 46,1205 - NF_DN_PRI_LAST 47,1231 - NF_DN_PRI_LAST = INT_MAX,47,1231 -struct nf_dn_rtmsg nf_dn_rtmsg50,1262 -#define NFDN_RTMSG(NFDN_RTMSG54,1306 -#define DNRMG_L1_GROUP 56,1394 -#define DNRMG_L2_GROUP 57,1422 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dmi.h,530 -#define __DMI_H__2,18 -enum dmi_field dmi_field4,37 - DMI_NONE,5,54 - DMI_BIOS_VENDOR,6,65 - DMI_BIOS_VERSION,7,83 - DMI_BIOS_DATE,8,102 - DMI_SYS_VENDOR,9,118 - DMI_PRODUCT_NAME,10,135 - DMI_PRODUCT_VERSION,11,154 - DMI_BOARD_VENDOR,12,176 - DMI_BOARD_NAME,13,195 - DMI_BOARD_VERSION,14,212 - DMI_STRING_MAX,15,232 -struct dmi_strmatch dmi_strmatch21,296 -struct dmi_system_id dmi_system_id26,347 -#define DMI_MATCH(DMI_MATCH33,483 -static inline int dmi_check_system(42,679 -static inline char * dmi_get_system_info(43,756 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmdev.h,3943 -#define LINUX_ATMDEV_H7,162 -#define ESI_LEN 16,290 -#define ATM_OC3_PCR 18,310 -#define ATM_25_PCR 23,516 -#define ATM_OC12_PCR 25,597 -#define ATM_DS3_PCR 30,789 -#define atm_sk(atm_sk33,867 -#define ATM_SD(ATM_SD34,928 -#define __AAL_STAT_ITEMS 37,966 -struct atm_aal_stats atm_aal_stats44,1220 -#define __HANDLE_ITEM(__HANDLE_ITEM45,1243 - __AAL_STAT_ITEMS__AAL_STAT_ITEMS46,1274 -struct atm_dev_stats atm_dev_stats51,1318 -} __ATM_API_ALIGN;55,1426 -#define ATM_GETLINKRATE 58,1447 -#define ATM_GETNAMES 60,1537 -#define ATM_GETTYPE 62,1639 -#define ATM_GETESI 64,1735 -#define ATM_GETADDR 66,1824 -#define ATM_RSTADDR 68,1927 -#define ATM_ADDADDR 70,2028 -#define ATM_DELADDR 72,2124 -#define ATM_GETCIRANGE 74,2223 -#define ATM_SETCIRANGE 76,2331 -#define ATM_SETESI 78,2439 -#define ATM_SETESIF 80,2529 -#define ATM_GETSTAT 82,2622 -#define ATM_GETSTATZ 84,2722 -#define ATM_GETLOOP 86,2832 -#define ATM_SETLOOP 88,2925 -#define ATM_QUERYLOOP 90,3018 -#define ATM_SETSC 92,3126 -#define ATM_SETBACKEND 94,3216 -#define ATM_NEWBACKENDIF 96,3311 -#define ATM_BACKEND_RAW 104,3635 -#define ATM_BACKEND_PPP 105,3663 -#define ATM_BACKEND_BR2684 106,3714 -#define ATM_ITFTYP_LEN 109,3793 -#define __ATM_LM_NONE 116,3978 -#define __ATM_LM_AAL 117,4051 -#define __ATM_LM_ATM 118,4123 -#define __ATM_LM_PHY 120,4248 -#define __ATM_LM_ANALOG 121,4320 -#define __ATM_LM_MKLOC(__ATM_LM_MKLOC124,4425 -#define __ATM_LM_MKRMT(__ATM_LM_MKRMT125,4494 -#define __ATM_LM_XTLOC(__ATM_LM_XTLOC127,4567 -#define __ATM_LM_XTRMT(__ATM_LM_XTRMT128,4606 -#define ATM_LM_NONE 130,4653 -#define ATM_LM_LOC_AAL 132,4694 -#define ATM_LM_LOC_ATM 133,4746 -#define ATM_LM_LOC_PHY 134,4798 -#define ATM_LM_LOC_ANALOG 135,4850 -#define ATM_LM_RMT_AAL 137,4909 -#define ATM_LM_RMT_ATM 138,4961 -#define ATM_LM_RMT_PHY 139,5013 -#define ATM_LM_RMT_ANALOG 140,5065 -struct atm_iobuf atm_iobuf148,5245 -#define ATM_CI_MAX 155,5346 -struct atm_cirange atm_cirange157,5423 -#define ATM_SC_RX 164,5641 -#define ATM_SC_TX 165,5693 -#define ATM_BACKLOG_DEFAULT 167,5746 -#define ATM_MF_IMMED 172,5875 -#define ATM_MF_INC_RSV 173,5937 -#define ATM_MF_INC_SHP 174,6000 -#define ATM_MF_DEC_RSV 175,6059 -#define ATM_MF_DEC_SHP 176,6122 -#define ATM_MF_BWD 177,6181 -#define ATM_MF_SET 179,6248 -#define ATM_VS_IDLE 186,6430 -#define ATM_VS_CONNECTED 187,6473 -#define ATM_VS_CLOSING 188,6522 -#define ATM_VS_LISTEN 189,6567 -#define ATM_VS_INUSE 190,6633 -#define ATM_VS_BOUND 191,6701 -#define ATM_VS2TXT_MAP 193,6743 -#define ATM_VF2TXT_MAP 196,6832 -struct k_atm_aal_stats k_atm_aal_stats220,7384 -#define __HANDLE_ITEM(__HANDLE_ITEM221,7409 - __AAL_STAT_ITEMS__AAL_STAT_ITEMS222,7445 -struct k_atm_dev_stats k_atm_dev_stats227,7489 - ATM_VF_ADDR,235,7617 - ATM_VF_READY,237,7706 - ATM_VF_PARTIAL,239,7807 - ATM_VF_REGIS,241,7913 - ATM_VF_BOUND,243,7996 - ATM_VF_RELEASED,245,8074 - ATM_VF_HASQOS,247,8175 - ATM_VF_LISTEN,248,8227 - ATM_VF_META,249,8279 - ATM_VF_SESSION,252,8408 - ATM_VF_HASSAP,253,8471 - ATM_VF_CLOSE,254,8511 - ATM_VF_WAITING,255,8576 - ATM_VF_IS_CLIP,256,8628 -#define ATM_VF2VS(ATM_VF2VS260,8681 - ATM_DF_CLOSE,269,9019 -#define ATM_PHY_SIG_LOST 273,9083 -#define ATM_PHY_SIG_UNKNOWN 274,9136 -#define ATM_PHY_SIG_FOUND 275,9204 -#define ATM_ATMOPT_CLP 277,9260 -struct atm_vcc atm_vcc279,9304 -struct atm_dev_addr atm_dev_addr310,10614 -struct atm_dev atm_dev315,10735 -#define ATM_OF_IMMED 342,11715 -#define ATM_OF_INRATE 343,11773 -struct atmdev_ops atmdev_ops350,11913 -struct atmphy_ops atmphy_ops369,12771 -struct atm_skb_data atm_skb_data376,12977 -#define VCC_HTABLE_SIZE 381,13092 -#define ATM_SKB(ATM_SKB386,13206 -static inline int atm_guess_pdu2truesize(401,13671 -static inline void atm_force_charge(407,13793 -static inline void atm_return(413,13917 -static inline int atm_may_send(419,14035 -static inline void atm_dev_hold(426,14195 -static inline void atm_dev_put(432,14281 -struct atm_ioctl atm_ioctl449,14711 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/n_r3964.h,1957 -#define __LINUX_N_R3964_H__45,1149 -#define STX 55,1310 -#define ETX 56,1327 -#define DLE 57,1344 -#define NAK 58,1361 -#define R3964_TO_QVZ 64,1437 -#define R3964_TO_ZVZ 65,1465 -#define R3964_TO_NO_BUF 66,1493 -#define R3964_NO_TX_ROOM 67,1524 -#define R3964_TO_RX_PANIC 68,1556 -#define R3964_MAX_RETRIES 69,1590 -#define R3964_ENABLE_SIGNALS 77,1653 -#define R3964_SETPRIORITY 78,1694 -#define R3964_USE_BCC 79,1735 -#define R3964_READ_TELEGRAM 80,1776 -#define R3964_MASTER 83,1854 -#define R3964_SLAVE 84,1879 -#define R3964_SIG_ACK 87,1944 -#define R3964_SIG_DATA 88,1975 -#define R3964_SIG_ALL 89,2006 -#define R3964_SIG_NONE 90,2037 -#define R3964_USE_SIGIO 91,2068 -enum { R3964_IDLE,98,2153 - R3964_TX_REQUEST,99,2173 - R3964_TX_REQUEST, R3964_TRANSMITTING,99,2173 - R3964_WAIT_ZVZ_BEFORE_TX_RETRY,100,2216 - R3964_WAIT_ZVZ_BEFORE_TX_RETRY, R3964_WAIT_FOR_TX_ACK,100,2216 - R3964_WAIT_FOR_RX_BUF,101,2275 - R3964_RECEIVING,102,2302 - R3964_RECEIVING, R3964_WAIT_FOR_BCC,102,2302 - R3964_RECEIVING, R3964_WAIT_FOR_BCC, R3964_WAIT_FOR_RX_REPEAT102,2302 -struct r3964_client_info r3964_client_info111,2479 -enum {R3964_MSG_ACK=128,2790 -enum {R3964_MSG_ACK=1, R3964_MSG_DATA 128,2790 -#define R3964_MAX_MSG_COUNT 130,2832 -#define R3964_OK 133,2902 -#define R3964_TX_FAIL 134,2944 -#define R3964_OVERFLOW 135,3011 -struct r3964_client_message r3964_client_message138,3124 -#define R3964_MTU 144,3216 -struct r3964_message r3964_message152,3334 -struct r3964_block_header r3964_block_header164,3541 -#define RX_BUF_SIZE 180,4072 -#define TX_BUF_SIZE 181,4100 -#define R3964_MAX_BLOCKS_IN_RX_QUEUE 182,4128 -#define R3964_PARITY 184,4170 -#define R3964_FRAME 185,4198 -#define R3964_OVERRUN 186,4226 -#define R3964_UNKNOWN 187,4255 -#define R3964_BREAK 188,4284 -#define R3964_CHECKSUM 189,4313 -#define R3964_ERROR 190,4343 -#define R3964_BCC 191,4371 -#define R3964_DEBUG 192,4398 -struct r3964_info r3964_info195,4427 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bpqether.h,225 -#define __BPQETHER_H2,21 -#define SIOCSBPQETHOPT 12,164 -#define SIOCSBPQETHADDR 13,222 -struct bpq_ethaddr bpq_ethaddr15,268 -#define SIOCGBPQETHPARAM 26,574 -#define SIOCSBPQETHPARAM 27,636 -struct bpq_req bpq_req29,680 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/nftl.h,310 -#define __MTD_NFTL_H__8,144 -#define BLOCK_NIL 16,299 -#define BLOCK_FREE 17,361 -#define BLOCK_NOTEXPLORED 18,412 -#define BLOCK_RESERVED 19,498 -struct NFTLrecord NFTLrecord21,563 -#define NFTL_MAJOR 47,1424 -#define MAX_NFTLS 50,1454 -#define MAX_SECTORS_PER_UNIT 51,1475 -#define NFTL_PARTN_BITS 52,1507 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/blktrans.h,129 -#define __MTD_TRANS_H__11,212 -struct mtd_blktrans_dev mtd_blktrans_dev21,355 -struct mtd_blktrans_ops mtd_blktrans_ops35,680 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/jedec.h,196 -#define __LINUX_MTD_JEDEC_H__14,439 -#define MAX_JEDEC_CHIPS 18,496 -struct JEDECTableJEDECTable21,580 -struct jedec_flash_chipjedec_flash_chip31,756 -struct jedec_privatejedec_private51,1377 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/nand.h,3260 -#define __LINUX_MTD_NAND_H53,2314 -#define NAND_MAX_CHIPS 71,2862 -#define NAND_MAX_OOBSIZE 77,3042 -#define NAND_CTL_SETNCE 83,3177 -#define NAND_CTL_CLRNCE 85,3251 -#define NAND_CTL_SETCLE 87,3332 -#define NAND_CTL_CLRCLE 89,3414 -#define NAND_CTL_SETALE 91,3495 -#define NAND_CTL_CLRALE 93,3577 -#define NAND_CTL_SETWP 95,3664 -#define NAND_CTL_CLRWP 97,3751 -#define NAND_CMD_READ0 102,3817 -#define NAND_CMD_READ1 103,3843 -#define NAND_CMD_PAGEPROG 104,3869 -#define NAND_CMD_READOOB 105,3900 -#define NAND_CMD_ERASE1 106,3930 -#define NAND_CMD_STATUS 107,3960 -#define NAND_CMD_STATUS_MULTI 108,3990 -#define NAND_CMD_SEQIN 109,4025 -#define NAND_CMD_READID 110,4054 -#define NAND_CMD_ERASE2 111,4084 -#define NAND_CMD_RESET 112,4114 -#define NAND_CMD_READSTART 115,4191 -#define NAND_CMD_CACHEDPROG 116,4223 -#define NAND_STATUS_FAIL 119,4275 -#define NAND_STATUS_FAIL_N1 120,4305 -#define NAND_STATUS_TRUE_READY 121,4338 -#define NAND_STATUS_READY 122,4374 -#define NAND_STATUS_WP 123,4405 -#define NAND_ECC_NONE 130,4512 -#define NAND_ECC_SOFT 132,4585 -#define NAND_ECC_HW3_256 134,4658 -#define NAND_ECC_HW3_512 136,4733 -#define NAND_ECC_HW6_512 138,4808 -#define NAND_ECC_HW8_512 140,4883 -#define NAND_ECC_READ 146,4981 -#define NAND_ECC_WRITE 148,5041 -#define NAND_ECC_READSYN 150,5132 -#define NAND_NO_AUTOINCR 156,5273 -#define NAND_BUSWIDTH_16 158,5334 -#define NAND_NO_PADDING 160,5428 -#define NAND_CACHEPRG 162,5502 -#define NAND_COPYBACK 164,5570 -#define NAND_IS_AND 167,5728 -#define NAND_4PAGE_ARRAY 170,5852 -#define NAND_SAMSUNG_LP_OPTIONS 173,5941 -#define NAND_CANAUTOINCR(NAND_CANAUTOINCR177,6062 -#define NAND_MUST_PAD(NAND_MUST_PAD178,6131 -#define NAND_HAS_CACHEPROG(NAND_HAS_CACHEPROG179,6196 -#define NAND_HAS_COPYBACK(NAND_HAS_COPYBACK180,6263 -#define NAND_CHIPOPTIONS_MSK 183,6400 -#define NAND_USE_FLASH_BBT 188,6601 -#define NAND_HWECC_SYNDROME 192,6860 -#define NAND_OOBBUF_ALLOC 197,6970 -#define NAND_DATABUF_ALLOC 199,7046 - FL_READY,207,7179 - FL_READING,208,7190 - FL_WRITING,209,7203 - FL_ERASING,210,7216 - FL_SYNCING,211,7229 - FL_CACHEDPRG,212,7242 -} nand_state_t;nand_state_t213,7257 -struct nand_chip nand_chip271,10879 -#define NAND_MFR_TOSHIBA 326,12708 -#define NAND_MFR_SAMSUNG 327,12738 -#define NAND_MFR_FUJITSU 328,12768 -#define NAND_MFR_NATIONAL 329,12798 -#define NAND_MFR_RENESAS 330,12829 -#define NAND_MFR_STMICRO 331,12859 -struct nand_flash_dev nand_flash_dev346,13367 -struct nand_manufacturers nand_manufacturers360,13661 -struct nand_bbt_descr nand_bbt_descr391,15013 -#define NAND_BBT_NRBITS_MSK 406,15330 -#define NAND_BBT_1BIT 407,15369 -#define NAND_BBT_2BIT 408,15403 -#define NAND_BBT_4BIT 409,15437 -#define NAND_BBT_8BIT 410,15471 -#define NAND_BBT_LASTBLOCK 412,15571 -#define NAND_BBT_ABSPAGE 414,15675 -#define NAND_BBT_SEARCH 416,15777 -#define NAND_BBT_PERCHIP 418,15863 -#define NAND_BBT_VERSION 420,15949 -#define NAND_BBT_CREATE 422,16019 -#define NAND_BBT_SCANALLPAGES 424,16116 -#define NAND_BBT_SCANEMPTY 426,16209 -#define NAND_BBT_WRITE 428,16276 -#define NAND_BBT_SAVECONTENT 430,16369 -#define NAND_BBT_SCAN2NDPAGE 432,16474 -#define NAND_BBT_SCAN_MAXBLOCKS 435,16568 -#define NAND_SMALL_BADBLOCK_POS 446,17004 -#define NAND_LARGE_BADBLOCK_POS 447,17039 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/partitions.h,289 -#define MTD_PARTITIONS_H12,201 -struct mtd_partition mtd_partition39,1253 -#define MTDPART_OFS_NXTBLK 48,1647 -#define MTDPART_OFS_APPEND 49,1679 -#define MTDPART_SIZ_FULL 50,1711 -struct mtd_part_parser mtd_part_parser60,1941 -#define put_partition_parser(put_partition_parser73,2451 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/iflash.h,1974 -#define __MTD_IFLASH_H__4,84 -#define CISREG_CSR 8,213 -#define CISREG_WP 9,240 -#define CISREG_RDYBSY 10,266 -#define CISREG_SLEEP 13,345 -#define CISREG_RDY_MASK 14,374 -#define CISREG_RDY_STATUS 15,406 -#define CISREG_VCR 18,489 -#define CSR_SRESET 21,544 -#define CSR_CMWP 22,586 -#define CSR_PWRDOWN 23,643 -#define CSR_CISWP 24,693 -#define CSR_WP 25,744 -#define CSR_READY 26,797 -#define WP_BLKEN 29,878 -#define WP_CMWP 30,928 -#define WP_CISWP 31,985 -#define VCR_VCC_LEVEL 34,1067 -#define VCR_VPP_VALID 35,1118 -#define VCR_VPP_GEN 36,1162 -#define RDYBSY_RACK 39,1251 -#define RDYBSY_MODE 40,1301 -#define LOW(LOW42,1355 -#define IF_READ_ARRAY 45,1422 -#define IF_INTEL_ID 46,1452 -#define IF_READ_CSR 47,1480 -#define IF_CLEAR_CSR 48,1508 -#define IF_WRITE 49,1537 -#define IF_BLOCK_ERASE 50,1562 -#define IF_ERASE_SUSPEND 51,1593 -#define IF_CONFIRM 52,1625 -#define IF_READ_PAGE 55,1701 -#define IF_PAGE_SWAP 56,1730 -#define IF_SINGLE_LOAD 57,1759 -#define IF_SEQ_LOAD 58,1790 -#define IF_PAGE_WRITE 59,1818 -#define IF_RDY_MODE 60,1848 -#define IF_RDY_LEVEL 61,1876 -#define IF_RDY_PULSE_WRITE 62,1905 -#define IF_RDY_PULSE_ERASE 63,1939 -#define IF_RDY_DISABLE 64,1973 -#define IF_LOCK_BLOCK 65,2004 -#define IF_UPLOAD_STATUS 66,2034 -#define IF_READ_ESR 67,2066 -#define IF_ERASE_UNLOCKED 68,2094 -#define IF_SLEEP 69,2127 -#define IF_ABORT 70,2152 -#define IF_UPLOAD_DEVINFO 71,2177 -#define CSR_WR_READY 74,2260 -#define CSR_ERA_SUSPEND 75,2322 -#define CSR_ERA_ERR 76,2381 -#define CSR_WR_ERR 77,2428 -#define CSR_VPP_LOW 78,2479 -#define GSR_WR_READY 81,2570 -#define GSR_OP_SUSPEND 82,2632 -#define GSR_OP_ERR 83,2694 -#define GSR_SLEEP 84,2751 -#define GSR_QUEUE_FULL 85,2803 -#define GSR_PAGE_AVAIL 86,2853 -#define GSR_PAGE_READY 87,2919 -#define GSR_PAGE_SELECT 88,2975 -#define BSR_READY 91,3084 -#define BSR_UNLOCK 92,3129 -#define BSR_FAILED 93,3180 -#define BSR_ABORTED 94,3236 -#define BSR_QUEUE_FULL 95,3293 -#define BSR_VPP_LOW 96,3343 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/cfi.h,2156 -#define __MTD_CFI_H__8,183 -#define cfi_interleave(cfi_interleave20,458 -#define cfi_interleave_is_1(cfi_interleave_is_121,488 -#define cfi_interleave_is_1(cfi_interleave_is_123,554 -# define cfi_interleave(cfi_interleave29,671 -# define cfi_interleave(cfi_interleave31,728 -#define cfi_interleave_is_2(cfi_interleave_is_233,768 -#define cfi_interleave_is_2(cfi_interleave_is_235,834 -# define cfi_interleave(cfi_interleave41,951 -# define cfi_interleave(cfi_interleave43,1008 -#define cfi_interleave_is_4(cfi_interleave_is_445,1048 -#define cfi_interleave_is_4(cfi_interleave_is_447,1114 -# define cfi_interleave(cfi_interleave53,1231 -# define cfi_interleave(cfi_interleave55,1288 -#define cfi_interleave_is_8(cfi_interleave_is_857,1328 -#define cfi_interleave_is_8(cfi_interleave_is_859,1394 -static inline int cfi_interleave_supported(62,1439 -#define CFI_DEVICETYPE_X8 89,1911 -#define CFI_DEVICETYPE_X16 90,1946 -#define CFI_DEVICETYPE_X32 91,1982 -#define CFI_DEVICETYPE_X64 92,2018 -struct cfi_ident cfi_ident99,2185 -struct cfi_extquery cfi_extquery126,2840 -struct cfi_pri_intelext cfi_pri_intelext134,3029 -struct cfi_pri_amdstd cfi_pri_amdstd152,3572 -struct cfi_pri_query cfi_pri_query169,3978 -struct cfi_bri_query cfi_bri_query174,4097 -#define P_ID_NONE 180,4243 -#define P_ID_INTEL_EXT 181,4263 -#define P_ID_AMD_STD 182,4288 -#define P_ID_INTEL_STD 183,4311 -#define P_ID_AMD_EXT 184,4336 -#define P_ID_ST_ADV 185,4359 -#define P_ID_MITSUBISHI_STD 186,4382 -#define P_ID_MITSUBISHI_EXT 187,4414 -#define P_ID_SST_PAGE 188,4446 -#define P_ID_RESERVED 189,4472 -#define CFI_MODE_CFI 192,4502 -#define CFI_MODE_JEDEC 193,4525 -struct cfi_private cfi_private195,4551 -static inline uint32_t cfi_build_cmd_addr(216,5211 -static inline map_word cfi_build_cmd(226,5530 -#define CMD(CMD287,7104 -static inline uint32_t cfi_send_gen_cmd(296,7403 -static inline uint8_t cfi_read_query(313,7815 -static inline void cfi_udelay(329,8284 -static inline void cfi_spin_lock(341,8484 -static inline void cfi_spin_unlock(346,8563 -struct cfi_fixup cfi_fixup354,8759 -#define CFI_MFR_ANY 361,8876 -#define CFI_ID_ANY 362,8903 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/gen_probe.h,77 -#define __LINUX_MTD_GEN_PROBE_H__8,143 -struct chip_probe chip_probe15,291 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/mtd.h,1184 -#define __MTD_MTD_H__10,186 -#define MTD_CHAR_MAJOR 25,491 -#define MTD_BLOCK_MAJOR 26,517 -#define MAX_MTD_DEVICES 27,544 -#define MTD_ERASE_PENDING 29,572 -#define MTD_ERASING 30,609 -#define MTD_ERASE_SUSPEND 31,635 -#define MTD_ERASE_DONE 32,666 -#define MTD_ERASE_FAILED 33,703 -struct erase_info erase_info38,939 -struct mtd_erase_region_info mtd_erase_region_info53,1197 -struct mtd_info mtd_info59,1437 -struct mtd_notifier mtd_notifier167,5573 -#define MTD_ERASE(MTD_ERASE183,6069 -#define MTD_POINT(MTD_POINT184,6128 -#define MTD_UNPOINT(MTD_UNPOINT185,6204 -#define MTD_READ(MTD_READ186,6272 -#define MTD_WRITE(MTD_WRITE187,6329 -#define MTD_READV(MTD_READV188,6388 -#define MTD_WRITEV(MTD_WRITEV189,6447 -#define MTD_READECC(MTD_READECC190,6508 -#define MTD_WRITEECC(MTD_WRITEECC191,6572 -#define MTD_READOOB(MTD_READOOB192,6638 -#define MTD_WRITEOOB(MTD_WRITEOOB193,6702 -#define MTD_SYNC(MTD_SYNC194,6768 -static inline void mtd_erase_callback(200,6933 -#define MTD_DEBUG_LEVEL0 210,7095 -#define MTD_DEBUG_LEVEL1 211,7138 -#define MTD_DEBUG_LEVEL2 212,7181 -#define MTD_DEBUG_LEVEL3 213,7224 -#define DEBUG(DEBUG216,7292 -#define DEBUG(DEBUG222,7447 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/flashchip.h,552 -#define __MTD_FLASHCHIP_H__14,242 - FL_READY,23,525 - FL_STATUS,24,536 - FL_CFI_QUERY,25,548 - FL_JEDEC_QUERY,26,563 - FL_ERASING,27,580 - FL_ERASE_SUSPENDING,28,593 - FL_ERASE_SUSPENDED,29,615 - FL_WRITING,30,636 - FL_WRITING_TO_BUFFER,31,649 - FL_WRITE_SUSPENDING,32,672 - FL_WRITE_SUSPENDED,33,694 - FL_PM_SUSPENDED,34,715 - FL_SYNCING,35,733 - FL_UNLOADING,36,746 - FL_LOCKING,37,761 - FL_UNLOCKING,38,774 - FL_POINT,39,789 - FL_UNKNOWN40,800 -} flstate_t;flstate_t41,812 -struct flchip flchip49,1030 -struct flchip_shared flchip_shared80,2015 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/compatmac.h,39 -#define __LINUX_MTD_COMPATMAC_H__3,35 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/concat.h,28 -#define MTD_CONCAT_H12,206 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/inftl.h,131 -#define __MTD_INFTL_H__10,223 -#define INFTL_MAJOR 23,481 -#define INFTL_PARTN_BITS 25,511 -struct INFTLrecord INFTLrecord29,558 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/doc2000.h,3821 -#define __MTD_DOC2000_H__15,385 -#define DoC_Sig1 20,467 -#define DoC_Sig2 21,486 -#define DoC_ChipID 23,506 -#define DoC_DOCStatus 24,533 -#define DoC_DOCControl 25,563 -#define DoC_FloorSelect 26,594 -#define DoC_CDSNControl 27,626 -#define DoC_CDSNDeviceSelect 28,658 -#define DoC_ECCConf 29,695 -#define DoC_2k_ECCStatus 30,724 -#define DoC_CDSNSlowIO 32,757 -#define DoC_ECCSyndrome0 33,788 -#define DoC_ECCSyndrome1 34,820 -#define DoC_ECCSyndrome2 35,852 -#define DoC_ECCSyndrome3 36,884 -#define DoC_ECCSyndrome4 37,916 -#define DoC_ECCSyndrome5 38,948 -#define DoC_AliasResolution 39,980 -#define DoC_ConfigInput 40,1016 -#define DoC_ReadPipeInit 41,1048 -#define DoC_WritePipeTerm 42,1081 -#define DoC_LastDataRead 43,1115 -#define DoC_NOP 44,1148 -#define DoC_Mil_CDSN_IO 46,1174 -#define DoC_2k_CDSN_IO 47,1206 -#define DoC_Mplus_NOP 49,1239 -#define DoC_Mplus_AliasResolution 50,1270 -#define DoC_Mplus_DOCControl 51,1311 -#define DoC_Mplus_AccessStatus 52,1348 -#define DoC_Mplus_DeviceSelect 53,1387 -#define DoC_Mplus_Configuration 54,1426 -#define DoC_Mplus_OutputControl 55,1466 -#define DoC_Mplus_FlashControl 56,1506 -#define DoC_Mplus_FlashSelect 57,1545 -#define DoC_Mplus_FlashCmd 58,1584 -#define DoC_Mplus_FlashAddress 59,1619 -#define DoC_Mplus_FlashData0 60,1658 -#define DoC_Mplus_FlashData1 61,1695 -#define DoC_Mplus_ReadPipeInit 62,1732 -#define DoC_Mplus_LastDataRead 63,1771 -#define DoC_Mplus_LastDataRead1 64,1810 -#define DoC_Mplus_WritePipeTerm 65,1850 -#define DoC_Mplus_ECCSyndrome0 66,1890 -#define DoC_Mplus_ECCSyndrome1 67,1929 -#define DoC_Mplus_ECCSyndrome2 68,1968 -#define DoC_Mplus_ECCSyndrome3 69,2007 -#define DoC_Mplus_ECCSyndrome4 70,2046 -#define DoC_Mplus_ECCSyndrome5 71,2085 -#define DoC_Mplus_ECCConf 72,2124 -#define DoC_Mplus_Toggle 73,2159 -#define DoC_Mplus_DownloadStatus 74,2192 -#define DoC_Mplus_CtrlConfirm 75,2232 -#define DoC_Mplus_Power 76,2270 -#define ReadDOC_(ReadDOC_84,2491 -#define WriteDOC_(WriteDOC_85,2595 -#define DOC_IOREMAP_LEN 86,2713 -#define ReadDOC_(ReadDOC_88,2767 -#define WriteDOC_(WriteDOC_89,2871 -#define DOC_IOREMAP_LEN 90,2989 -#define ReadDOC_(ReadDOC_92,3026 -#define WriteDOC_(WriteDOC_93,3094 -#define DOC_IOREMAP_LEN 94,3166 -#define USE_MEMCPY99,3251 -#define ReadDOC(ReadDOC103,3339 -#define WriteDOC(WriteDOC104,3394 -#define DOC_MODE_RESET 106,3453 -#define DOC_MODE_NORMAL 107,3480 -#define DOC_MODE_RESERVED1 108,3507 -#define DOC_MODE_RESERVED2 109,3537 -#define DOC_MODE_CLR_ERR 111,3568 -#define DOC_MODE_RST_LAT 112,3599 -#define DOC_MODE_BDECT 113,3629 -#define DOC_MODE_MDWREN 114,3658 -#define DOC_ChipID_Doc2k 116,3689 -#define DOC_ChipID_Doc2kTSOP 117,3720 -#define DOC_ChipID_DocMil 118,3785 -#define DOC_ChipID_DocMilPlus32 119,3817 -#define DOC_ChipID_DocMilPlus16 120,3854 -#define CDSN_CTRL_FR_B 122,3892 -#define CDSN_CTRL_FR_B0 123,3922 -#define CDSN_CTRL_FR_B1 124,3952 -#define CDSN_CTRL_ECC_IO 126,3983 -#define CDSN_CTRL_FLASH_IO 127,4014 -#define CDSN_CTRL_WP 128,4047 -#define CDSN_CTRL_ALE 129,4075 -#define CDSN_CTRL_CLE 130,4104 -#define CDSN_CTRL_CE 131,4133 -#define DOC_ECC_RESET 133,4162 -#define DOC_ECC_ERROR 134,4188 -#define DOC_ECC_RW 135,4217 -#define DOC_ECC__EN 136,4243 -#define DOC_TOGGLE_BIT 137,4270 -#define DOC_ECC_RESV 138,4300 -#define DOC_ECC_IGNORE 139,4328 -#define DOC_FLASH_CE 141,4358 -#define DOC_FLASH_WP 142,4385 -#define DOC_FLASH_BANK 143,4412 -#define DOC_ECC_EN 146,4498 -#define DOC_ECC_DIS 147,4546 -struct Nand Nand149,4582 -#define MAX_FLOORS 156,4730 -#define MAX_CHIPS 157,4751 -#define MAX_FLOORS_MIL 159,4772 -#define MAX_CHIPS_MIL 160,4797 -#define MAX_FLOORS_MPLUS 162,4822 -#define MAX_CHIPS_MPLUS 163,4849 -#define ADDR_COLUMN 165,4876 -#define ADDR_PAGE 166,4898 -#define ADDR_COLUMN_PAGE 167,4918 -struct DiskOnChip DiskOnChip169,4946 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/physmap.h,45 -static inline void physmap_configure(36,963 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/nand_ecc.h,34 -#define __MTD_NAND_ECC_H__16,435 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/pmc551.h,924 -#define __MTD_PMC551_H__16,363 -#define PMC551_VERSION 20,417 -struct mypriv mypriv26,626 -#define PCI_VENDOR_ID_V3_SEMI 49,1375 -#define PCI_DEVICE_ID_V3_SEMI_V370PDC 53,1470 -#define PMC551_PCI_MEM_MAP0 57,1530 -#define PMC551_PCI_MEM_MAP1 58,1563 -#define PMC551_PCI_MEM_MAP_MAP_ADDR_MASK 59,1596 -#define PMC551_PCI_MEM_MAP_APERTURE_MASK 60,1648 -#define PMC551_PCI_MEM_MAP_REG_EN 61,1700 -#define PMC551_PCI_MEM_MAP_ENABLE 62,1746 -#define PMC551_SDRAM_MA 64,1793 -#define PMC551_SDRAM_CMD 65,1823 -#define PMC551_DRAM_CFG 66,1853 -#define PMC551_SYS_CTRL_REG 67,1883 -#define PMC551_DRAM_BLK0 69,1917 -#define PMC551_DRAM_BLK1 70,1947 -#define PMC551_DRAM_BLK2 71,1977 -#define PMC551_DRAM_BLK3 72,2007 -#define PMC551_DRAM_BLK_GET_SIZE(PMC551_DRAM_BLK_GET_SIZE73,2037 -#define PMC551_DRAM_BLK_SET_COL_MUX(PMC551_DRAM_BLK_SET_COL_MUX74,2097 -#define PMC551_DRAM_BLK_SET_ROW_MUX(PMC551_DRAM_BLK_SET_ROW_MUX75,2182 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/ftl.h,567 -#define _LINUX_FTL_H34,1506 -typedef struct erase_unit_header_t erase_unit_header_t36,1528 -} erase_unit_header_t;erase_unit_header_t56,2083 -#define HIDDEN_AREA 59,2142 -#define REVERSE_POLARITY 60,2168 -#define DOUBLE_BAI 61,2198 -#define BLOCK_FREE(BLOCK_FREE65,2276 -#define BLOCK_DELETED(BLOCK_DELETED66,2319 -#define BLOCK_TYPE(BLOCK_TYPE68,2381 -#define BLOCK_ADDRESS(BLOCK_ADDRESS69,2417 -#define BLOCK_NUMBER(BLOCK_NUMBER70,2456 -#define BLOCK_CONTROL 71,2492 -#define BLOCK_DATA 72,2520 -#define BLOCK_REPLACEMENT 73,2545 -#define BLOCK_BAD 74,2576 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/map.h,3780 -#define __LINUX_MTD_MAP_H__6,161 -#define map_bankwidth(map_bankwidth17,393 -#define map_bankwidth_is_1(map_bankwidth_is_118,422 -#define map_bankwidth_is_large(map_bankwidth_is_large19,480 -#define map_words(map_words20,520 -#define MAX_MAP_BANKWIDTH 21,547 -#define map_bankwidth_is_1(map_bankwidth_is_123,581 -# define map_bankwidth(map_bankwidth29,705 -# define map_bankwidth(map_bankwidth31,760 -# define map_bankwidth_is_large(map_bankwidth_is_large32,791 -# define map_words(map_words33,833 -#define map_bankwidth_is_2(map_bankwidth_is_235,870 -#define MAX_MAP_BANKWIDTH 37,953 -#define map_bankwidth_is_2(map_bankwidth_is_239,987 -# define map_bankwidth(map_bankwidth45,1111 -# define map_bankwidth(map_bankwidth47,1166 -# define map_bankwidth_is_large(map_bankwidth_is_large48,1197 -# define map_words(map_words49,1239 -#define map_bankwidth_is_4(map_bankwidth_is_451,1276 -#define MAX_MAP_BANKWIDTH 53,1359 -#define map_bankwidth_is_4(map_bankwidth_is_455,1393 -# define map_bankwidth(map_bankwidth61,1517 -# define map_bankwidth_is_large(map_bankwidth_is_large64,1623 -# define map_words(map_words66,1721 -# define map_bankwidth(map_bankwidth69,1808 -# define map_bankwidth_is_large(map_bankwidth_is_large70,1839 -# define map_words(map_words71,1898 -#define map_bankwidth_is_8(map_bankwidth_is_873,1976 -#define MAX_MAP_BANKWIDTH 75,2059 -#define map_bankwidth_is_8(map_bankwidth_is_877,2093 -# define map_bankwidth(map_bankwidth83,2218 -# define map_bankwidth_is_large(map_bankwidth_is_large85,2298 -# define map_words(map_words87,2394 -# define map_bankwidth(map_bankwidth89,2471 -# define map_bankwidth_is_large(map_bankwidth_is_large90,2503 -# define map_words(map_words91,2545 -#define map_bankwidth_is_16(map_bankwidth_is_1693,2623 -#define MAX_MAP_BANKWIDTH 95,2708 -#define map_bankwidth_is_16(map_bankwidth_is_1697,2743 -# define map_bankwidth(map_bankwidth103,2869 -# define map_bankwidth_is_large(map_bankwidth_is_large105,2949 -# define map_words(map_words107,3045 -# define map_bankwidth(map_bankwidth109,3122 -# define map_bankwidth_is_large(map_bankwidth_is_large110,3154 -# define map_words(map_words111,3196 -#define map_bankwidth_is_32(map_bankwidth_is_32113,3274 -#define MAX_MAP_BANKWIDTH 115,3359 -#define map_bankwidth_is_32(map_bankwidth_is_32117,3394 -static inline int map_bankwidth_supported(124,3520 -#define MAX_MAP_LONGS 152,3936 -} map_word;map_word156,4072 -struct map_info map_info176,5049 -#define NO_XIP 180,5122 -struct mtd_chip_driver mtd_chip_driver218,6547 -#define ENABLE_VPP(ENABLE_VPP232,6953 -#define DISABLE_VPP(DISABLE_VPP233,7032 -#define INVALIDATE_CACHED_RANGE(INVALIDATE_CACHED_RANGE235,7113 -static inline int map_word_equal(239,7239 -static inline map_word map_word_and(249,7430 -static inline map_word map_word_or(260,7629 -#define map_word_andequal(map_word_andequal270,7826 -static inline int map_word_bitsset(272,7909 -static inline map_word map_word_load(283,8102 -static inline map_word map_word_load_partial(303,8613 -static inline map_word map_word_ff(325,9118 -static inline map_word inline_map_read(335,9268 -static inline void inline_map_write(355,9801 -static inline void inline_map_copy_from(372,10352 -static inline void inline_map_copy_to(380,10577 -#define map_read(map_read386,10767 -#define map_copy_from(map_copy_from387,10816 -#define map_write(map_write388,10895 -#define map_copy_to(map_copy_to389,10960 -#define map_is_linear(map_is_linear392,11084 -#define map_read(map_read395,11140 -#define map_copy_from(map_copy_from396,11193 -#define map_write(map_write397,11276 -#define map_copy_to(map_copy_to398,11345 -#define simple_map_init(simple_map_init401,11426 -#define map_is_linear(map_is_linear402,11506 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mtd/cfi_endian.h,1129 -#define CFI_HOST_ENDIAN10,138 -#define CFI_HOST_ENDIAN15,199 -#define CFI_LITTLE_ENDIAN19,266 -#define CFI_BIG_ENDIAN23,335 -#define cpu_to_cfi8(cpu_to_cfi829,405 -#define cfi8_to_cpu(cfi8_to_cpu30,432 -#define cpu_to_cfi16(cpu_to_cfi1631,459 -#define cpu_to_cfi32(cpu_to_cfi3232,498 -#define cpu_to_cfi64(cpu_to_cfi6433,537 -#define cfi16_to_cpu(cfi16_to_cpu34,576 -#define cfi32_to_cpu(cfi32_to_cpu35,615 -#define cfi64_to_cpu(cfi64_to_cpu36,654 -#define cpu_to_cfi8(cpu_to_cfi838,724 -#define cfi8_to_cpu(cfi8_to_cpu39,751 -#define cpu_to_cfi16(cpu_to_cfi1640,778 -#define cpu_to_cfi32(cpu_to_cfi3241,817 -#define cpu_to_cfi64(cpu_to_cfi6442,856 -#define cfi16_to_cpu(cfi16_to_cpu43,895 -#define cfi32_to_cpu(cfi32_to_cpu44,934 -#define cfi64_to_cpu(cfi64_to_cpu45,973 -#define cpu_to_cfi8(cpu_to_cfi847,1044 -#define cfi8_to_cpu(cfi8_to_cpu48,1071 -#define cpu_to_cfi16(cpu_to_cfi1649,1098 -#define cpu_to_cfi32(cpu_to_cfi3250,1126 -#define cpu_to_cfi64(cpu_to_cfi6451,1154 -#define cfi16_to_cpu(cfi16_to_cpu52,1182 -#define cfi32_to_cpu(cfi32_to_cpu53,1210 -#define cfi64_to_cpu(cfi64_to_cpu54,1238 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/snmp.h,6595 -#define _LINUX_SNMP_H8,112 - IPSTATS_MIB_NUM 20,391 - IPSTATS_MIB_INRECEIVES,21,413 - IPSTATS_MIB_INHDRERRORS,22,457 - IPSTATS_MIB_INTOOBIGERRORS,23,502 - IPSTATS_MIB_INNOROUTES,24,553 - IPSTATS_MIB_INADDRERRORS,25,597 - IPSTATS_MIB_INUNKNOWNPROTOS,26,644 - IPSTATS_MIB_INTRUNCATEDPKTS,27,697 - IPSTATS_MIB_INDISCARDS,28,750 - IPSTATS_MIB_INDELIVERS,29,794 - IPSTATS_MIB_OUTFORWDATAGRAMS,30,838 - IPSTATS_MIB_OUTREQUESTS,31,893 - IPSTATS_MIB_OUTDISCARDS,32,938 - IPSTATS_MIB_OUTNOROUTES,33,983 - IPSTATS_MIB_REASMTIMEOUT,34,1028 - IPSTATS_MIB_REASMREQDS,35,1075 - IPSTATS_MIB_REASMOKS,36,1119 - IPSTATS_MIB_REASMFAILS,37,1159 - IPSTATS_MIB_FRAGOKS,38,1203 - IPSTATS_MIB_FRAGFAILS,39,1241 - IPSTATS_MIB_FRAGCREATES,40,1283 - IPSTATS_MIB_INMCASTPKTS,41,1328 - IPSTATS_MIB_OUTMCASTPKTS,42,1373 - __IPSTATS_MIB_MAX43,1420 - ICMP_MIB_NUM 53,1575 - ICMP_MIB_INMSGS,54,1594 - ICMP_MIB_INERRORS,55,1627 - ICMP_MIB_INDESTUNREACHS,56,1664 - ICMP_MIB_INTIMEEXCDS,57,1712 - ICMP_MIB_INPARMPROBS,58,1755 - ICMP_MIB_INSRCQUENCHS,59,1798 - ICMP_MIB_INREDIRECTS,60,1843 - ICMP_MIB_INECHOS,61,1886 - ICMP_MIB_INECHOREPS,62,1921 - ICMP_MIB_INTIMESTAMPS,63,1962 - ICMP_MIB_INTIMESTAMPREPS,64,2007 - ICMP_MIB_INADDRMASKS,65,2057 - ICMP_MIB_INADDRMASKREPS,66,2100 - ICMP_MIB_OUTMSGS,67,2148 - ICMP_MIB_OUTERRORS,68,2183 - ICMP_MIB_OUTDESTUNREACHS,69,2222 - ICMP_MIB_OUTTIMEEXCDS,70,2272 - ICMP_MIB_OUTPARMPROBS,71,2317 - ICMP_MIB_OUTSRCQUENCHS,72,2362 - ICMP_MIB_OUTREDIRECTS,73,2409 - ICMP_MIB_OUTECHOS,74,2454 - ICMP_MIB_OUTECHOREPS,75,2491 - ICMP_MIB_OUTTIMESTAMPS,76,2534 - ICMP_MIB_OUTTIMESTAMPREPS,77,2581 - ICMP_MIB_OUTADDRMASKS,78,2633 - ICMP_MIB_OUTADDRMASKREPS,79,2678 - __ICMP_MIB_MAX80,2728 - ICMP6_MIB_NUM 89,2815 - ICMP6_MIB_INMSGS,90,2835 - ICMP6_MIB_INERRORS,91,2869 - ICMP6_MIB_INDESTUNREACHS,92,2907 - ICMP6_MIB_INPKTTOOBIGS,93,2956 - ICMP6_MIB_INTIMEEXCDS,94,3002 - ICMP6_MIB_INPARMPROBLEMS,95,3046 - ICMP6_MIB_INECHOS,96,3095 - ICMP6_MIB_INECHOREPLIES,97,3131 - ICMP6_MIB_INGROUPMEMBQUERIES,98,3178 - ICMP6_MIB_INGROUPMEMBRESPONSES,99,3235 - ICMP6_MIB_INGROUPMEMBREDUCTIONS,100,3296 - ICMP6_MIB_INROUTERSOLICITS,101,3358 - ICMP6_MIB_INROUTERADVERTISEMENTS,102,3411 - ICMP6_MIB_INNEIGHBORSOLICITS,103,3475 - ICMP6_MIB_INNEIGHBORADVERTISEMENTS,104,3532 - ICMP6_MIB_INREDIRECTS,105,3600 - ICMP6_MIB_OUTMSGS,106,3644 - ICMP6_MIB_OUTDESTUNREACHS,107,3680 - ICMP6_MIB_OUTPKTTOOBIGS,108,3731 - ICMP6_MIB_OUTTIMEEXCDS,109,3778 - ICMP6_MIB_OUTPARMPROBLEMS,110,3824 - ICMP6_MIB_OUTECHOREPLIES,111,3875 - ICMP6_MIB_OUTROUTERSOLICITS,112,3924 - ICMP6_MIB_OUTNEIGHBORSOLICITS,113,3979 - ICMP6_MIB_OUTNEIGHBORADVERTISEMENTS,114,4038 - ICMP6_MIB_OUTREDIRECTS,115,4108 - ICMP6_MIB_OUTGROUPMEMBRESPONSES,116,4154 - ICMP6_MIB_OUTGROUPMEMBREDUCTIONS,117,4216 - __ICMP6_MIB_MAX118,4280 - TCP_MIB_NUM 128,4416 - TCP_MIB_RTOALGORITHM,129,4434 - TCP_MIB_RTOMIN,130,4478 - TCP_MIB_RTOMAX,131,4511 - TCP_MIB_MAXCONN,132,4544 - TCP_MIB_ACTIVEOPENS,133,4578 - TCP_MIB_PASSIVEOPENS,134,4620 - TCP_MIB_ATTEMPTFAILS,135,4664 - TCP_MIB_ESTABRESETS,136,4708 - TCP_MIB_CURRESTAB,137,4750 - TCP_MIB_INSEGS,138,4788 - TCP_MIB_OUTSEGS,139,4821 - TCP_MIB_RETRANSSEGS,140,4855 - TCP_MIB_INERRS,141,4897 - TCP_MIB_OUTRSTS,142,4930 - __TCP_MIB_MAX143,4964 - UDP_MIB_NUM 153,5098 - UDP_MIB_INDATAGRAMS,154,5116 - UDP_MIB_NOPORTS,155,5158 - UDP_MIB_INERRORS,156,5192 - UDP_MIB_OUTDATAGRAMS,157,5228 - __UDP_MIB_MAX158,5272 - SCTP_MIB_NUM 167,5370 - SCTP_MIB_CURRESTAB,168,5389 - SCTP_MIB_ACTIVEESTABS,169,5428 - SCTP_MIB_PASSIVEESTABS,170,5473 - SCTP_MIB_ABORTEDS,171,5520 - SCTP_MIB_SHUTDOWNS,172,5557 - SCTP_MIB_OUTOFBLUES,173,5596 - SCTP_MIB_CHECKSUMERRORS,174,5637 - SCTP_MIB_OUTCTRLCHUNKS,175,5685 - SCTP_MIB_OUTORDERCHUNKS,176,5732 - SCTP_MIB_OUTUNORDERCHUNKS,177,5780 - SCTP_MIB_INCTRLCHUNKS,178,5832 - SCTP_MIB_INORDERCHUNKS,179,5877 - SCTP_MIB_INUNORDERCHUNKS,180,5924 - SCTP_MIB_FRAGUSRMSGS,181,5974 - SCTP_MIB_REASMUSRMSGS,182,6017 - SCTP_MIB_OUTSCTPPACKS,183,6062 - SCTP_MIB_INSCTPPACKS,184,6107 - SCTP_MIB_RTOALGORITHM,185,6150 - SCTP_MIB_RTOMIN,186,6195 - SCTP_MIB_RTOMAX,187,6228 - SCTP_MIB_RTOINITIAL,188,6261 - SCTP_MIB_VALCOOKIELIFE,189,6302 - SCTP_MIB_MAXINITRETR,190,6349 - __SCTP_MIB_MAX191,6392 - LINUX_MIB_NUM 197,6447 - LINUX_MIB_SYNCOOKIESSENT,198,6467 - LINUX_MIB_SYNCOOKIESRECV,199,6516 - LINUX_MIB_SYNCOOKIESFAILED,200,6565 - LINUX_MIB_EMBRYONICRSTS,201,6618 - LINUX_MIB_PRUNECALLED,202,6665 - LINUX_MIB_RCVPRUNED,203,6709 - LINUX_MIB_OFOPRUNED,204,6749 - LINUX_MIB_OUTOFWINDOWICMPS,205,6789 - LINUX_MIB_LOCKDROPPEDICMPS,206,6842 - LINUX_MIB_ARPFILTER,207,6895 - LINUX_MIB_TIMEWAITED,208,6935 - LINUX_MIB_TIMEWAITRECYCLED,209,6977 - LINUX_MIB_TIMEWAITKILLED,210,7030 - LINUX_MIB_PAWSPASSIVEREJECTED,211,7079 - LINUX_MIB_PAWSACTIVEREJECTED,212,7138 - LINUX_MIB_PAWSESTABREJECTED,213,7195 - LINUX_MIB_DELAYEDACKS,214,7250 - LINUX_MIB_DELAYEDACKLOCKED,215,7294 - LINUX_MIB_DELAYEDACKLOST,216,7347 - LINUX_MIB_LISTENOVERFLOWS,217,7396 - LINUX_MIB_LISTENDROPS,218,7447 - LINUX_MIB_TCPPREQUEUED,219,7491 - LINUX_MIB_TCPDIRECTCOPYFROMBACKLOG,220,7537 - LINUX_MIB_TCPDIRECTCOPYFROMPREQUEUE,221,7605 - LINUX_MIB_TCPPREQUEUEDROPPED,222,7675 - LINUX_MIB_TCPHPHITS,223,7732 - LINUX_MIB_TCPHPHITSTOUSER,224,7772 - LINUX_MIB_TCPPUREACKS,225,7823 - LINUX_MIB_TCPHPACKS,226,7867 - LINUX_MIB_TCPRENORECOVERY,227,7907 - LINUX_MIB_TCPSACKRECOVERY,228,7958 - LINUX_MIB_TCPSACKRENEGING,229,8009 - LINUX_MIB_TCPFACKREORDER,230,8060 - LINUX_MIB_TCPSACKREORDER,231,8109 - LINUX_MIB_TCPRENOREORDER,232,8158 - LINUX_MIB_TCPTSREORDER,233,8207 - LINUX_MIB_TCPFULLUNDO,234,8253 - LINUX_MIB_TCPPARTIALUNDO,235,8297 - LINUX_MIB_TCPDSACKUNDO,236,8346 - LINUX_MIB_TCPLOSSUNDO,237,8392 - LINUX_MIB_TCPLOSS,238,8436 - LINUX_MIB_TCPLOSTRETRANSMIT,239,8472 - LINUX_MIB_TCPRENOFAILURES,240,8527 - LINUX_MIB_TCPSACKFAILURES,241,8578 - LINUX_MIB_TCPLOSSFAILURES,242,8629 - LINUX_MIB_TCPFASTRETRANS,243,8680 - LINUX_MIB_TCPFORWARDRETRANS,244,8729 - LINUX_MIB_TCPSLOWSTARTRETRANS,245,8784 - LINUX_MIB_TCPTIMEOUTS,246,8843 - LINUX_MIB_TCPRENORECOVERYFAIL,247,8887 - LINUX_MIB_TCPSACKRECOVERYFAIL,248,8946 - LINUX_MIB_TCPSCHEDULERFAILED,249,9005 - LINUX_MIB_TCPRCVCOLLAPSED,250,9062 - LINUX_MIB_TCPDSACKOLDSENT,251,9113 - LINUX_MIB_TCPDSACKOFOSENT,252,9164 - LINUX_MIB_TCPDSACKRECV,253,9215 - LINUX_MIB_TCPDSACKOFORECV,254,9261 - LINUX_MIB_TCPABORTONSYN,255,9312 - LINUX_MIB_TCPABORTONDATA,256,9359 - LINUX_MIB_TCPABORTONCLOSE,257,9408 - LINUX_MIB_TCPABORTONMEMORY,258,9459 - LINUX_MIB_TCPABORTONTIMEOUT,259,9512 - LINUX_MIB_TCPABORTONLINGER,260,9567 - LINUX_MIB_TCPABORTFAILED,261,9620 - LINUX_MIB_TCPMEMORYPRESSURES,262,9669 - __LINUX_MIB_MAX263,9726 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/buffer_head.h,1066 -#define _LINUX_BUFFER_HEAD_H8,110 -enum bh_state_bits bh_state_bits16,263 - BH_Uptodate,17,284 - BH_Dirty,18,324 - BH_Lock,19,350 - BH_Req,20,376 - BH_Mapped,22,420 - BH_New,23,457 - BH_Async_Read,24,517 - BH_Async_Write,25,574 - BH_Delay,26,633 - BH_Boundary,27,686 - BH_Write_EIO,28,743 - BH_Ordered,29,783 - BH_Eopnotsupp,30,816 - BH_PrivateStart,32,873 -#define MAX_BUF_PER_PAGE 37,996 -typedef void (bh_end_io_t)bh_end_io_t42,1101 -struct buffer_head buffer_head49,1349 -#define BUFFER_FNS(BUFFER_FNS70,2063 -#define TAS_BUFFER_FNS(TAS_BUFFER_FNS87,2545 -BUFFER_FNS(102,3093 -#define bh_offset(bh_offset119,3557 -#define touch_buffer(touch_buffer120,3623 -#define page_buffers(page_buffers123,3736 -#define page_has_buffers(page_has_buffers128,3863 -static inline void put_bh(215,7610 -static inline void brelse(221,7736 -static inline void bforget(227,7816 -sb_bread(234,7933 -sb_breadahead(240,8059 -sb_getblk(246,8204 -sb_find_get_block(252,8348 -map_bh(258,8492 -static inline void wait_on_buffer(270,8831 -static inline void lock_buffer(277,8992 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/rtnetlink.h,9218 -#define __LINUX_RTNETLINK_H2,28 - RTM_BASE 13,173 -#define RTM_BASE 14,189 - RTM_NEWLINK 16,216 -#define RTM_NEWLINK 17,235 - RTM_DELLINK,18,267 -#define RTM_DELLINK 19,281 - RTM_GETLINK,20,313 -#define RTM_GETLINK 21,327 - RTM_SETLINK,22,359 -#define RTM_SETLINK 23,373 - RTM_NEWADDR 25,406 -#define RTM_NEWADDR 26,425 - RTM_DELADDR,27,457 -#define RTM_DELADDR 28,471 - RTM_GETADDR,29,503 -#define RTM_GETADDR 30,517 - RTM_NEWROUTE 32,550 -#define RTM_NEWROUTE 33,570 - RTM_DELROUTE,34,604 -#define RTM_DELROUTE 35,619 - RTM_GETROUTE,36,653 -#define RTM_GETROUTE 37,668 - RTM_NEWNEIGH 39,703 -#define RTM_NEWNEIGH 40,723 - RTM_DELNEIGH,41,757 -#define RTM_DELNEIGH 42,772 - RTM_GETNEIGH,43,806 -#define RTM_GETNEIGH 44,821 - RTM_NEWRULE 46,856 -#define RTM_NEWRULE 47,875 - RTM_DELRULE,48,907 -#define RTM_DELRULE 49,921 - RTM_GETRULE,50,953 -#define RTM_GETRULE 51,967 - RTM_NEWQDISC 53,1000 -#define RTM_NEWQDISC 54,1020 - RTM_DELQDISC,55,1054 -#define RTM_DELQDISC 56,1069 - RTM_GETQDISC,57,1103 -#define RTM_GETQDISC 58,1118 - RTM_NEWTCLASS 60,1153 -#define RTM_NEWTCLASS 61,1174 - RTM_DELTCLASS,62,1210 -#define RTM_DELTCLASS 63,1226 - RTM_GETTCLASS,64,1262 -#define RTM_GETTCLASS 65,1278 - RTM_NEWTFILTER 67,1315 -#define RTM_NEWTFILTER 68,1337 - RTM_DELTFILTER,69,1375 -#define RTM_DELTFILTER 70,1392 - RTM_GETTFILTER,71,1430 -#define RTM_GETTFILTER 72,1447 - RTM_NEWACTION 74,1486 -#define RTM_NEWACTION 75,1507 - RTM_DELACTION,76,1545 -#define RTM_DELACTION 77,1561 - RTM_GETACTION,78,1599 -#define RTM_GETACTION 79,1615 - RTM_NEWPREFIX 81,1654 -#define RTM_NEWPREFIX 82,1675 - RTM_GETPREFIX 83,1711 -#define RTM_GETPREFIX 84,1732 - RTM_GETMULTICAST 86,1769 -#define RTM_GETMULTICAST 87,1793 - RTM_GETANYCAST 89,1836 -#define RTM_GETANYCAST 90,1858 - RTM_MAX,92,1897 -#define RTM_MAX 93,1907 -struct rtattrrtattr102,2101 -#define RTA_ALIGNTO 110,2209 -#define RTA_ALIGN(RTA_ALIGN111,2231 -#define RTA_OK(RTA_OK112,2299 -#define RTA_NEXT(RTA_NEXT115,2443 -#define RTA_LENGTH(RTA_LENGTH117,2583 -#define RTA_SPACE(RTA_SPACE118,2650 -#define RTA_DATA(RTA_DATA119,2700 -#define RTA_PAYLOAD(RTA_PAYLOAD120,2766 -struct rtmsgrtmsg129,2977 - RTN_UNSPEC,148,3354 - RTN_UNICAST,149,3367 - RTN_LOCAL,150,3412 - RTN_BROADCAST,151,3447 - RTN_ANYCAST,153,3524 - RTN_MULTICAST,155,3601 - RTN_BLACKHOLE,156,3641 - RTN_UNREACHABLE,157,3672 - RTN_PROHIBIT,158,3725 - RTN_THROW,159,3775 - RTN_NAT,160,3813 - RTN_XRESOLVE,161,3853 - __RTN_MAX162,3897 -#define RTN_MAX 165,3912 -#define RTPROT_UNSPEC 170,3966 -#define RTPROT_REDIRECT 171,3990 -#define RTPROT_KERNEL 173,4089 -#define RTPROT_BOOT 174,4146 -#define RTPROT_STATIC 175,4203 -#define RTPROT_GATED 184,4537 -#define RTPROT_RA 185,4584 -#define RTPROT_MRT 186,4641 -#define RTPROT_ZEBRA 187,4679 -#define RTPROT_BIRD 188,4715 -#define RTPROT_DNROUTED 189,4749 -#define RTPROT_XORP 190,4804 -enum rt_scope_trt_scope_t203,5235 - RT_SCOPE_UNIVERSE=205,5253 - RT_SCOPE_SITE=207,5302 - RT_SCOPE_LINK=208,5322 - RT_SCOPE_HOST=209,5342 - RT_SCOPE_NOWHERE=210,5362 -#define RTM_F_NOTIFY 215,5405 -#define RTM_F_CLONED 216,5467 -#define RTM_F_EQUALIZE 217,5523 -#define RTM_F_PREFIX 218,5583 -enum rt_class_trt_class_t222,5670 - RT_TABLE_UNSPEC=224,5688 - RT_TABLE_DEFAULT=226,5734 - RT_TABLE_MAIN=227,5757 - RT_TABLE_LOCAL=228,5777 - __RT_TABLE_MAX229,5798 -#define RT_TABLE_MAX 231,5817 -enum rtattr_type_trtattr_type_t237,5896 - RTA_UNSPEC,239,5917 - RTA_DST,240,5930 - RTA_SRC,241,5940 - RTA_IIF,242,5950 - RTA_OIF,243,5960 - RTA_GATEWAY,244,5970 - RTA_PRIORITY,245,5984 - RTA_PREFSRC,246,5999 - RTA_METRICS,247,6013 - RTA_MULTIPATH,248,6027 - RTA_PROTOINFO,249,6043 - RTA_FLOW,250,6059 - RTA_CACHEINFO,251,6070 - RTA_SESSION,252,6086 - __RTA_MAX253,6100 -#define RTA_MAX 256,6115 -#define RTM_RTA(RTM_RTA258,6148 -#define RTM_PAYLOAD(RTM_PAYLOAD259,6237 -struct rtnexthoprtnexthop270,6606 -#define RTNH_F_DEAD 280,6750 -#define RTNH_F_PERVASIVE 281,6815 -#define RTNH_F_ONLINK 282,6876 -#define RTNH_ALIGNTO 286,6967 -#define RTNH_ALIGN(RTNH_ALIGN287,6990 -#define RTNH_OK(RTNH_OK288,7061 -#define RTNH_NEXT(RTNH_NEXT290,7178 -#define RTNH_LENGTH(RTNH_LENGTH291,7272 -#define RTNH_SPACE(RTNH_SPACE292,7344 -#define RTNH_DATA(RTNH_DATA293,7397 -struct rta_cacheinforta_cacheinfo297,7498 -#define RTNETLINK_HAVE_PEERINFO 305,7617 - RTAX_UNSPEC,315,7777 -#define RTAX_UNSPEC 316,7791 - RTAX_LOCK,317,7823 -#define RTAX_LOCK 318,7835 - RTAX_MTU,319,7863 -#define RTAX_MTU 320,7874 - RTAX_WINDOW,321,7900 -#define RTAX_WINDOW 322,7914 - RTAX_RTT,323,7946 -#define RTAX_RTT 324,7957 - RTAX_RTTVAR,325,7983 -#define RTAX_RTTVAR 326,7997 - RTAX_SSTHRESH,327,8029 -#define RTAX_SSTHRESH 328,8045 - RTAX_CWND,329,8081 -#define RTAX_CWND 330,8093 - RTAX_ADVMSS,331,8121 -#define RTAX_ADVMSS 332,8135 - RTAX_REORDERING,333,8167 -#define RTAX_REORDERING 334,8185 - RTAX_HOPLIMIT,335,8225 -#define RTAX_HOPLIMIT 336,8241 - RTAX_INITCWND,337,8277 -#define RTAX_INITCWND 338,8293 - RTAX_FEATURES,339,8329 -#define RTAX_FEATURES 340,8345 - __RTAX_MAX341,8381 -#define RTAX_MAX 344,8397 -#define RTAX_FEATURE_ECN 346,8432 -#define RTAX_FEATURE_SACK 347,8468 -#define RTAX_FEATURE_TIMESTAMP 348,8505 -struct rta_sessionrta_session350,8548 -struct ifaddrmsgifaddrmsg375,8829 - IFA_UNSPEC,386,9061 - IFA_ADDRESS,387,9074 - IFA_LOCAL,388,9088 - IFA_LABEL,389,9100 - IFA_BROADCAST,390,9112 - IFA_ANYCAST,391,9128 - IFA_CACHEINFO,392,9142 - IFA_MULTICAST,393,9158 - __IFA_MAX394,9174 -#define IFA_MAX 397,9189 -#define IFA_F_SECONDARY 401,9239 -#define IFA_F_TEMPORARY 402,9269 -#define IFA_F_DEPRECATED 404,9311 -#define IFA_F_TENTATIVE 405,9341 -#define IFA_F_PERMANENT 406,9371 -struct ifa_cacheinfoifa_cacheinfo408,9402 -#define IFA_RTA(IFA_RTA417,9593 -#define IFA_PAYLOAD(IFA_PAYLOAD418,9686 -struct ndmsgndmsg432,10137 - NDA_UNSPEC,445,10333 - NDA_DST,446,10346 - NDA_LLADDR,447,10356 - NDA_CACHEINFO,448,10369 - __NDA_MAX449,10385 -#define NDA_MAX 452,10400 -#define NDA_RTA(NDA_RTA454,10433 -#define NDA_PAYLOAD(NDA_PAYLOAD455,10522 -#define NTF_PROXY 461,10622 -#define NTF_ROUTER 462,10663 -#define NUD_INCOMPLETE 468,10728 -#define NUD_REACHABLE 469,10756 -#define NUD_STALE 470,10783 -#define NUD_DELAY 471,10806 -#define NUD_PROBE 472,10829 -#define NUD_FAILED 473,10852 -#define NUD_NOARP 476,10896 -#define NUD_PERMANENT 477,10919 -#define NUD_NONE 478,10946 -struct nda_cacheinfonda_cacheinfo481,10970 -struct rtgenmsgrtgenmsg493,11147 -struct ifinfomsgifinfomsg507,11414 -struct prefixmsgprefixmsg521,11756 - PREFIX_UNSPEC,532,11923 - PREFIX_ADDRESS,533,11939 - PREFIX_CACHEINFO,534,11956 - __PREFIX_MAX535,11975 -#define PREFIX_MAX 538,11993 -struct prefix_cacheinfoprefix_cacheinfo540,12032 -struct rtnl_link_statsrtnl_link_stats547,12168 -struct rtnl_link_ifmaprtnl_link_ifmap581,13271 - IFLA_UNSPEC,593,13394 - IFLA_ADDRESS,594,13408 - IFLA_BROADCAST,595,13423 - IFLA_IFNAME,596,13440 - IFLA_MTU,597,13454 - IFLA_LINK,598,13465 - IFLA_QDISC,599,13477 - IFLA_STATS,600,13490 - IFLA_COST,601,13503 -#define IFLA_COST 602,13515 - IFLA_PRIORITY,603,13543 -#define IFLA_PRIORITY 604,13559 - IFLA_MASTER,605,13595 -#define IFLA_MASTER 606,13609 - IFLA_WIRELESS,607,13641 -#define IFLA_WIRELESS 608,13706 - IFLA_PROTINFO,609,13742 -#define IFLA_PROTINFO 610,13806 - IFLA_TXQLEN,611,13842 -#define IFLA_TXQLEN 612,13856 - IFLA_MAP,613,13888 -#define IFLA_MAP 614,13899 - IFLA_WEIGHT,615,13925 -#define IFLA_WEIGHT 616,13939 - __IFLA_MAX617,13971 -#define IFLA_MAX 621,13988 -#define IFLA_RTA(IFLA_RTA623,14023 -#define IFLA_PAYLOAD(IFLA_PAYLOAD624,14117 - IFLA_INET6_UNSPEC,658,15205 - IFLA_INET6_FLAGS,659,15225 - IFLA_INET6_CONF,660,15263 - IFLA_INET6_STATS,661,15306 - IFLA_INET6_MCAST,662,15344 - IFLA_INET6_CACHEINFO,663,15394 - __IFLA_INET6_MAX664,15454 -#define IFLA_INET6_MAX 667,15476 -struct ifla_cacheinfoifla_cacheinfo669,15523 -struct tcmsgtcmsg681,15781 - TCA_UNSPEC,694,15964 - TCA_KIND,695,15977 - TCA_OPTIONS,696,15988 - TCA_STATS,697,16002 - TCA_XSTATS,698,16014 - TCA_RATE,699,16027 - TCA_FCNT,700,16038 - __TCA_MAX701,16049 -#define TCA_MAX 704,16064 -#define TCA_RTA(TCA_RTA706,16097 -#define TCA_PAYLOAD(TCA_PAYLOAD707,16186 -#define RTMGRP_LINK 712,16283 -#define RTMGRP_NOTIFY 713,16306 -#define RTMGRP_NEIGH 714,16331 -#define RTMGRP_TC 715,16355 -#define RTMGRP_IPV4_IFADDR 717,16377 -#define RTMGRP_IPV4_MROUTE 718,16409 -#define RTMGRP_IPV4_ROUTE 719,16441 -#define RTMGRP_IPV6_IFADDR 721,16473 -#define RTMGRP_IPV6_MROUTE 722,16506 -#define RTMGRP_IPV6_ROUTE 723,16539 -#define RTMGRP_IPV6_IFINFO 724,16571 -#define RTMGRP_DECnet_IFADDR 726,16605 -#define RTMGRP_DECnet_ROUTE 727,16644 -#define RTMGRP_IPV6_PREFIX 729,16684 -struct tcamsgtcamsg732,16742 -#define TA_RTA(TA_RTA738,16841 -#define TA_PAYLOAD(TA_PAYLOAD739,16930 -#define TCA_ACT_TAB 740,16991 -#define TCAA_MAX 741,17042 -static __inline__ int rtattr_strcmp(749,17157 -struct rtnetlink_linkrtnetlink_link759,17448 -#define RTA_PUT(RTA_PUT772,17980 -__rta_reserve(778,18199 -#define __RTA_PUT(__RTA_PUT789,18437 -#define rtnl_shlock(rtnl_shlock798,18731 -#define rtnl_shlock_nowait(rtnl_shlock_nowait799,18770 -#define rtnl_shunlock(rtnl_shunlock801,18824 -#define ASSERT_RTNL(ASSERT_RTNL810,19086 -#define BUG_TRAP(BUG_TRAP819,19310 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ufs_fs.h,6195 -#define __LINUX_UFS_FS_H31,982 -typedef __u64 __fs64;__fs6440,1149 -typedef __u32 __fs32;__fs3241,1171 -typedef __u16 __fs16;__fs1642,1193 -typedef __u64 __bitwise __fs64;__fs6444,1221 -typedef __u32 __bitwise __fs32;__fs3245,1253 -typedef __u16 __bitwise __fs16;__fs1646,1285 -#define UFS_BBLOCK 52,1383 -#define UFS_BBSIZE 53,1404 -#define UFS_SBLOCK 54,1428 -#define UFS_SBSIZE 55,1452 -#define UFS_SECTOR_SIZE 57,1477 -#define UFS_SECTOR_BITS 58,1505 -#define UFS_MAGIC 59,1531 -#define UFS2_MAGIC 60,1561 -#define UFS_CIGAM 61,1591 -#define SBLOCK_FLOPPY 96,3324 -#define SBLOCK_UFS1 97,3355 -#define SBLOCK_UFS2 98,3386 -#define SBLOCK_PIGGY 99,3417 -#define SBLOCKSIZE 100,3448 -#define SBLOCKSEARCH 101,3479 -#define UFS_MAGIC_LFN 107,3606 -#define UFS_CIGAM_LFN 108,3680 -#define UFS_MAGIC_SEC 110,3755 -#define UFS_CIGAM_SEC 111,3811 -#define UFS_MAGIC_FEA 113,3847 -#define UFS_CIGAM_FEA 114,3913 -#define UFS_MAGIC_4GB 116,3949 -#define UFS_CIGAM_4GB 117,4018 -#define UFS_FSF_LFN 120,4122 -#define UFS_FSF_B1 121,4179 -#define UFS_FSF_LFS 122,4232 -#define UFS_FSF_LUID 123,4285 -#define UFS_BSIZE 128,4362 -#define UFS_MINBSIZE 129,4385 -#define UFS_FSIZE 130,4411 -#define UFS_MAXFRAG 131,4434 -#define UFS_NDADDR 133,4479 -#define UFS_NINDIR 134,4501 -#define UFS_IND_BLOCK 136,4523 -#define UFS_DIND_BLOCK 137,4562 -#define UFS_TIND_BLOCK 138,4602 -#define UFS_NDIR_FRAGMENT 140,4643 -#define UFS_IND_FRAGMENT 141,4702 -#define UFS_DIND_FRAGMENT 142,4763 -#define UFS_TIND_FRAGMENT 143,4826 -#define UFS_ROOTINO 145,4890 -#define UFS_FIRST_INO 146,4912 -#define UFS_USEEFT 148,4953 -#define UFS_FSOK 150,4989 -#define UFS_FSACTIVE 151,5022 -#define UFS_FSCLEAN 152,5057 -#define UFS_FSSTABLE 153,5092 -#define UFS_FSOSF1 154,5127 -#define UFS_FSBAD 155,5199 -#define UFS_DE_MASK 159,5326 -#define UFS_DE_OLD 160,5387 -#define UFS_DE_44BSD 161,5418 -#define UFS_UID_MASK 163,5470 -#define UFS_UID_OLD 164,5532 -#define UFS_UID_44BSD 165,5564 -#define UFS_UID_EFT 166,5598 -#define UFS_ST_MASK 168,5662 -#define UFS_ST_OLD 169,5723 -#define UFS_ST_44BSD 170,5754 -#define UFS_ST_SUN 171,5787 -#define UFS_ST_SUNx86 172,5818 -#define UFS_CG_MASK 174,5881 -#define UFS_CG_OLD 175,5942 -#define UFS_CG_44BSD 176,5973 -#define UFS_CG_SUN 177,6006 -#define UFS_TYPE_MASK 179,6068 -#define UFS_TYPE_UFS1 180,6131 -#define UFS_TYPE_UFS2 181,6165 -#define UFS_42INODEFMT 185,6227 -#define UFS_44INODEFMT 186,6253 -#define UFS_MOUNT_ONERROR 189,6299 -#define UFS_MOUNT_ONERROR_PANIC 190,6337 -#define UFS_MOUNT_ONERROR_LOCK 191,6381 -#define UFS_MOUNT_ONERROR_UMOUNT 192,6424 -#define UFS_MOUNT_ONERROR_REPAIR 193,6468 -#define UFS_MOUNT_UFSTYPE 195,6513 -#define UFS_MOUNT_UFSTYPE_OLD 196,6551 -#define UFS_MOUNT_UFSTYPE_44BSD 197,6593 -#define UFS_MOUNT_UFSTYPE_SUN 198,6637 -#define UFS_MOUNT_UFSTYPE_NEXTSTEP 199,6679 -#define UFS_MOUNT_UFSTYPE_NEXTSTEP_CD 200,6725 -#define UFS_MOUNT_UFSTYPE_OPENSTEP 201,6774 -#define UFS_MOUNT_UFSTYPE_SUNx86 202,6820 -#define UFS_MOUNT_UFSTYPE_HP 203,6864 -#define UFS_MOUNT_UFSTYPE_UFS2 204,6912 -#define ufs_clear_opt(ufs_clear_opt206,6956 -#define ufs_set_opt(ufs_set_opt207,7007 -#define ufs_test_opt(ufs_test_opt208,7055 -#define UFS_MINFREE 222,7742 -#define UFS_DEFAULTOPT 223,7772 -#define ufs_fsbtodb(ufs_fsbtodb229,7948 -#define ufs_dbtofsb(ufs_dbtofsb230,8004 -#define ufs_cgbase(ufs_cgbase236,8200 -#define ufs_cgstart(ufs_cgstart237,8242 -#define ufs_cgsblock(ufs_cgsblock239,8382 -#define ufs_cgcmin(ufs_cgcmin240,8456 -#define ufs_cgimin(ufs_cgimin241,8527 -#define ufs_cgdmin(ufs_cgdmin242,8599 -#define ufs_inotocg(ufs_inotocg250,8861 -#define ufs_inotocgoff(ufs_inotocgoff251,8905 -#define ufs_inotofsba(ufs_inotofsba252,8951 -#define ufs_inotofsbo(ufs_inotofsbo253,9041 -#define ufs_dtog(ufs_dtog259,9212 -#define ufs_dtogd(ufs_dtogd260,9252 -#define ufs_cbtocylno(ufs_cbtocylno265,9370 -#define ufs_cbtorpos(ufs_cbtorpos267,9437 -#define ufs_blkoff(ufs_blkoff278,9840 -#define ufs_fragoff(ufs_fragoff279,9890 -#define ufs_lblktosize(ufs_lblktosize280,9940 -#define ufs_lblkno(ufs_lblkno281,9994 -#define ufs_numfrags(ufs_numfrags282,10045 -#define ufs_blkroundup(ufs_blkroundup283,10097 -#define ufs_fragroundup(ufs_fragroundup284,10170 -#define ufs_fragstoblks(ufs_fragstoblks285,10244 -#define ufs_blkstofrags(ufs_blkstofrags286,10305 -#define ufs_fragnum(ufs_fragnum287,10364 -#define ufs_blknum(ufs_blknum288,10415 -#define UFS_MAXNAMLEN 290,10468 -#define UFS_MAXMNTLEN 291,10494 -#define UFS2_MAXMNTLEN 292,10520 -#define UFS2_MAXVOLLEN 293,10547 -#define UFS_LINK_MAX 295,10604 -#define UFS2_NOCSPTRS 299,10688 -#define UFS_DIR_PAD 305,10806 -#define UFS_DIR_ROUND 306,10830 -#define UFS_DIR_REC_LEN(UFS_DIR_REC_LEN307,10872 -struct ufs_timeval ufs_timeval309,10963 -struct ufs_dir_entry ufs_dir_entry314,11021 -struct ufs_csum ufs_csum327,11367 -struct ufs2_csum_total ufs2_csum_total333,11573 -struct ufs_super_block ufs_super_block345,11961 -#define UFS_OPTTIME 493,18621 -#define UFS_OPTSPACE 494,18674 -#define UFS_42POSTBLFMT 499,18779 -#define UFS_DYNAMICPOSTBLFMT 500,18844 -#define fs_cs(fs_cs505,18991 -#define CG_MAGIC 514,19233 -#define ufs_cg_chkmagic(ufs_cg_chkmagic515,19259 -struct ufs_cylinder_group ufs_cylinder_group521,19387 -struct ufs_inode ufs_inode565,21263 -#define UFS_NXADDR 612,22738 -struct ufs2_inode ufs2_inode613,22806 -#define UFS_UF_SETTABLE 647,24450 -#define UFS_UF_NODUMP 648,24487 -#define UFS_UF_IMMUTABLE 649,24543 -#define UFS_UF_APPEND 650,24614 -#define UFS_UF_OPAQUE 651,24670 -#define UFS_UF_NOUNLINK 652,24744 -#define UFS_SF_SETTABLE 654,24854 -#define UFS_SF_ARCHIVED 655,24891 -#define UFS_SF_IMMUTABLE 656,24944 -#define UFS_SF_APPEND 657,25015 -#define UFS_SF_NOUNLINK 658,25071 -struct ufs_buffer_head ufs_buffer_head664,25242 -struct ufs_cg_private_info ufs_cg_private_info670,25407 -struct ufs_sb_private_info ufs_sb_private_info689,26256 -struct ufs_super_block_first ufs_super_block_first764,29581 -struct ufs_super_block_second ufs_super_block_second828,30708 -struct ufs_super_block_third ufs_super_block_third837,30880 -extern void ufs_warning 921,34039 -static inline struct ufs_inode_info *UFS_I(936,34636 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dqblk_v1.h,133 -#define _LINUX_DQBLK_V1_H6,88 -#define QFMT_VFS_OLD 9,140 -#define V1_DQF_RSQUASH 12,192 -struct v1_mem_dqinfo v1_mem_dqinfo15,260 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6.h,1105 -#define __LINUX_IP6_NETFILTER_H2,32 -#define NFC_IP6_SRC 15,372 -#define NFC_IP6_DST 17,435 -#define NFC_IP6_IF_IN 19,495 -#define NFC_IP6_IF_OUT 21,556 -#define NFC_IP6_TOS 23,607 -#define NFC_IP6_PROTO 25,663 -#define NFC_IP6_OPTIONS 27,721 -#define NFC_IP6_FRAG 29,781 -#define NFC_IP6_TCPFLAGS 34,901 -#define NFC_IP6_SRC_PT 36,960 -#define NFC_IP6_DST_PT 38,1017 -#define NFC_IP6_PROTO_UNKNOWN 40,1094 -#define NF_IP6_PRE_ROUTING 45,1196 -#define NF_IP6_LOCAL_IN 47,1271 -#define NF_IP6_FORWARD 49,1353 -#define NF_IP6_LOCAL_OUT 51,1422 -#define NF_IP6_POST_ROUTING 53,1487 -#define NF_IP6_NUMHOOKS 54,1517 -enum nf_ip6_hook_priorities nf_ip6_hook_priorities57,1546 - NF_IP6_PRI_FIRST 58,1576 - NF_IP6_PRI_FIRST = INT_MIN,58,1576 - NF_IP6_PRI_SELINUX_FIRST 59,1605 - NF_IP6_PRI_CONNTRACK 60,1639 - NF_IP6_PRI_BRIDGE_SABOTAGE_FORWARD 61,1669 - NF_IP6_PRI_MANGLE 62,1713 - NF_IP6_PRI_NAT_DST 63,1740 - NF_IP6_PRI_BRIDGE_SABOTAGE_LOCAL_OUT 64,1768 - NF_IP6_PRI_FILTER 65,1813 - NF_IP6_PRI_NAT_SRC 66,1837 - NF_IP6_PRI_SELINUX_LAST 67,1864 - NF_IP6_PRI_LAST 68,1896 - NF_IP6_PRI_LAST = INT_MAX,68,1896 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/udf_fs_i.h,325 -#define _UDF_FS_I_H 19,535 -} __attribute__ ((packed)packed28,672 -} __attribute__ ((packed)packed34,768 -} __attribute__ ((packed)packed41,886 -struct udf_inode_infoudf_inode_info44,930 -#define UDF_GETEASIZE 73,1471 -#define UDF_GETEABLOCK 74,1516 -#define UDF_GETVOLIDENT 75,1564 -#define UDF_RELOCATE_BLOCKS 76,1612 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/toshiba.h,148 -#define _LINUX_TOSHIBA_H21,805 -#define TOSH_PROC 23,831 -#define TOSH_DEVICE 24,865 -#define TOSH_SMM 25,900 -} SMMRegisters;SMMRegisters34,1225 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pnpbios.h,2086 -#define _LINUX_PNPBIOS_H24,991 -#define PNP_SUCCESS 34,1108 -#define PNP_NOT_SET_STATICALLY 35,1153 -#define PNP_UNKNOWN_FUNCTION 36,1198 -#define PNP_FUNCTION_NOT_SUPPORTED 37,1243 -#define PNP_INVALID_HANDLE 38,1288 -#define PNP_BAD_PARAMETER 39,1333 -#define PNP_SET_FAILED 40,1378 -#define PNP_EVENTS_NOT_PENDING 41,1423 -#define PNP_SYSTEM_NOT_DOCKED 42,1468 -#define PNP_NO_ISA_PNP_CARDS 43,1513 -#define PNP_UNABLE_TO_DETERMINE_DOCK_CAPABILITIES 44,1558 -#define PNP_CONFIG_CHANGE_FAILED_NO_BATTERY 45,1613 -#define PNP_CONFIG_CHANGE_FAILED_RESOURCE_CONFLICT 46,1662 -#define PNP_BUFFER_TOO_SMALL 47,1718 -#define PNP_USE_ESCD_SUPPORT 48,1763 -#define PNP_MESSAGE_NOT_SUPPORTED 49,1808 -#define PNP_HARDWARE_ERROR 50,1853 -#define ESCD_SUCCESS 52,1899 -#define ESCD_IO_ERROR_READING 53,1944 -#define ESCD_INVALID 54,1989 -#define ESCD_BUFFER_TOO_SMALL 55,2034 -#define ESCD_NVRAM_TOO_SMALL 56,2079 -#define ESCD_FUNCTION_NOT_SUPPORTED 57,2124 -#define PNPEV_ABOUT_TO_CHANGE_CONFIG 62,2223 -#define PNPEV_DOCK_CHANGED 63,2267 -#define PNPEV_SYSTEM_DEVICE_CHANGED 64,2302 -#define PNPEV_CONFIG_CHANGED_FAILED 65,2345 -#define PNPEV_UNKNOWN_SYSTEM_EVENT 66,2388 -#define PNPMSG_OK 72,2537 -#define PNPMSG_ABORT 73,2562 -#define PNPMSG_UNDOCK_DEFAULT_ACTION 74,2590 -#define PNPMSG_POWER_OFF 75,2632 -#define PNPMSG_PNP_OS_ACTIVE 76,2663 -#define PNPMSG_PNP_OS_INACTIVE 77,2698 -#define PNPBIOS_NO_DISABLE 82,2771 -#define PNPBIOS_NO_CONFIG 83,2806 -#define PNPBIOS_OUTPUT 84,2840 -#define PNPBIOS_INPUT 85,2872 -#define PNPBIOS_BOOTABLE 86,2903 -#define PNPBIOS_DOCK 87,2936 -#define PNPBIOS_REMOVABLE 88,2966 -#define pnpbios_is_static(pnpbios_is_static89,3000 -#define pnpbios_is_dynamic(pnpbios_is_dynamic90,3063 -#define PNPMODE_STATIC 95,3146 -#define PNPMODE_DYNAMIC 96,3171 -struct pnp_dev_node_info pnp_dev_node_info101,3259 -struct pnp_docking_station_info pnp_docking_station_info105,3328 -struct pnp_isa_config_struc pnp_isa_config_struc110,3421 -struct escd_info_struc escd_info_struc116,3527 -struct pnp_bios_node pnp_bios_node121,3625 -#define needed 144,4408 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ata.h,6260 -#define __LINUX_ATA_H__25,1024 -#define ATA_DMA_BOUNDARY 30,1143 -#define ATA_DMA_MASK 31,1177 - ATA_MAX_DEVICES 35,1253 - ATA_MAX_PRD 36,1295 - ATA_SECT_SIZE 37,1350 - ATA_ID_WORDS 39,1374 - ATA_ID_PROD_OFS 40,1396 - ATA_ID_FW_REV_OFS 41,1420 - ATA_ID_SERNO_OFS 42,1445 - ATA_ID_MAJOR_VER 43,1469 - ATA_ID_PIO_MODES 44,1493 - ATA_ID_MWDMA_MODES 45,1517 - ATA_ID_UDMA_MODES 46,1543 - ATA_ID_PIO4 47,1568 - ATA_PCI_CTL_OFS 49,1595 - ATA_SERNO_LEN 50,1618 - ATA_UDMA0 51,1640 - ATA_UDMA1 52,1664 - ATA_UDMA1 = ATA_UDMA0 52,1664 - ATA_UDMA2 53,1700 - ATA_UDMA2 = ATA_UDMA1 53,1700 - ATA_UDMA3 54,1736 - ATA_UDMA3 = ATA_UDMA2 54,1736 - ATA_UDMA4 55,1772 - ATA_UDMA4 = ATA_UDMA3 55,1772 - ATA_UDMA5 56,1808 - ATA_UDMA5 = ATA_UDMA4 56,1808 - ATA_UDMA6 57,1844 - ATA_UDMA6 = ATA_UDMA5 57,1844 - ATA_UDMA7 58,1880 - ATA_UDMA7 = ATA_UDMA6 58,1880 - ATA_UDMA_MASK_40C 61,1985 - ATA_UDMA_MASK_40C = ATA_UDMA2,61,1985 - ATA_PRD_SZ 64,2051 - ATA_PRD_TBL_SZ 65,2069 - ATA_PRD_TBL_SZ = (ATA_MAX_PRD 65,2069 - ATA_PRD_TBL_SZ = (ATA_MAX_PRD * ATA_PRD_SZ)65,2069 - ATA_PRD_EOT 66,2116 - ATA_DMA_TABLE_OFS 68,2168 - ATA_DMA_STATUS 69,2192 - ATA_DMA_CMD 70,2214 - ATA_DMA_WR 71,2233 - ATA_DMA_START 72,2258 - ATA_DMA_INTR 73,2286 - ATA_DMA_ERR 74,2313 - ATA_DMA_ACTIVE 75,2339 - ATA_HOB 78,2412 - ATA_NIEN 79,2456 - ATA_LBA 80,2502 - ATA_DEV1 81,2546 - ATA_DEVICE_OBS 82,2599 - ATA_DEVCTL_OBS 83,2665 - ATA_BUSY 84,2727 - ATA_DRDY 85,2771 - ATA_DF 86,2813 - ATA_DRQ 87,2854 - ATA_ERR 88,2900 - ATA_SRST 89,2943 - ATA_ABORTED 90,2987 - ATA_REG_DATA 93,3071 - ATA_REG_DATA = 0x00,93,3071 - ATA_REG_ERR 94,3094 - ATA_REG_ERR = 0x01,94,3094 - ATA_REG_NSECT 95,3116 - ATA_REG_NSECT = 0x02,95,3116 - ATA_REG_LBAL 96,3140 - ATA_REG_LBAL = 0x03,96,3140 - ATA_REG_LBAM 97,3163 - ATA_REG_LBAM = 0x04,97,3163 - ATA_REG_LBAH 98,3186 - ATA_REG_LBAH = 0x05,98,3186 - ATA_REG_DEVICE 99,3209 - ATA_REG_DEVICE = 0x06,99,3209 - ATA_REG_STATUS 100,3234 - ATA_REG_STATUS = 0x07,100,3234 - ATA_REG_FEATURE 102,3260 - ATA_REG_FEATURE = ATA_REG_ERR,102,3260 - ATA_REG_CMD 103,3317 - ATA_REG_CMD = ATA_REG_STATUS,103,3317 - ATA_REG_BYTEL 104,3349 - ATA_REG_BYTEL = ATA_REG_LBAM,104,3349 - ATA_REG_BYTEH 105,3381 - ATA_REG_BYTEH = ATA_REG_LBAH,105,3381 - ATA_REG_DEVSEL 106,3413 - ATA_REG_DEVSEL = ATA_REG_DEVICE,106,3413 - ATA_REG_IRQ 107,3448 - ATA_REG_IRQ = ATA_REG_NSECT,107,3448 - ATA_CMD_CHK_POWER 110,3507 - ATA_CMD_CHK_POWER = 0xE5,110,3507 - ATA_CMD_EDD 111,3557 - ATA_CMD_EDD = 0x90,111,3557 - ATA_CMD_FLUSH 112,3611 - ATA_CMD_FLUSH = 0xE7,112,3611 - ATA_CMD_FLUSH_EXT 113,3635 - ATA_CMD_FLUSH_EXT = 0xEA,113,3635 - ATA_CMD_ID_ATA 114,3662 - ATA_CMD_ID_ATA = 0xEC,114,3662 - ATA_CMD_ID_ATAPI 115,3687 - ATA_CMD_ID_ATAPI = 0xA1,115,3687 - ATA_CMD_READ 116,3713 - ATA_CMD_READ = 0xC8,116,3713 - ATA_CMD_READ_EXT 117,3736 - ATA_CMD_READ_EXT = 0x25,117,3736 - ATA_CMD_WRITE 118,3762 - ATA_CMD_WRITE = 0xCA,118,3762 - ATA_CMD_WRITE_EXT 119,3786 - ATA_CMD_WRITE_EXT = 0x35,119,3786 - ATA_CMD_PIO_READ 120,3813 - ATA_CMD_PIO_READ = 0x20,120,3813 - ATA_CMD_PIO_READ_EXT 121,3839 - ATA_CMD_PIO_READ_EXT = 0x24,121,3839 - ATA_CMD_PIO_WRITE 122,3869 - ATA_CMD_PIO_WRITE = 0x30,122,3869 - ATA_CMD_PIO_WRITE_EXT 123,3896 - ATA_CMD_PIO_WRITE_EXT = 0x34,123,3896 - ATA_CMD_SET_FEATURES 124,3927 - ATA_CMD_SET_FEATURES = 0xEF,124,3927 - ATA_CMD_PACKET 125,3957 - ATA_CMD_PACKET = 0xA0,125,3957 - SETFEATURES_XFER 128,4008 - SETFEATURES_XFER = 0x03,128,4008 - XFER_UDMA_7 129,4034 - XFER_UDMA_7 = 0x47,129,4034 - XFER_UDMA_6 130,4056 - XFER_UDMA_6 = 0x46,130,4056 - XFER_UDMA_5 131,4078 - XFER_UDMA_5 = 0x45,131,4078 - XFER_UDMA_4 132,4100 - XFER_UDMA_4 = 0x44,132,4100 - XFER_UDMA_3 133,4122 - XFER_UDMA_3 = 0x43,133,4122 - XFER_UDMA_2 134,4144 - XFER_UDMA_2 = 0x42,134,4144 - XFER_UDMA_1 135,4166 - XFER_UDMA_1 = 0x41,135,4166 - XFER_UDMA_0 136,4188 - XFER_UDMA_0 = 0x40,136,4188 - XFER_MW_DMA_2 137,4210 - XFER_MW_DMA_2 = 0x22,137,4210 - XFER_MW_DMA_1 138,4234 - XFER_MW_DMA_1 = 0x21,138,4234 - XFER_MW_DMA_0 139,4258 - XFER_MW_DMA_0 = 0x20,139,4258 - XFER_PIO_4 140,4282 - XFER_PIO_4 = 0x0C,140,4282 - XFER_PIO_3 141,4303 - XFER_PIO_3 = 0x0B,141,4303 - XFER_PIO_2 142,4324 - XFER_PIO_2 = 0x0A,142,4324 - XFER_PIO_1 143,4345 - XFER_PIO_1 = 0x09,143,4345 - XFER_PIO_0 144,4366 - XFER_PIO_0 = 0x08,144,4366 - XFER_SW_DMA_2 145,4387 - XFER_SW_DMA_2 = 0x12,145,4387 - XFER_SW_DMA_1 146,4411 - XFER_SW_DMA_1 = 0x11,146,4411 - XFER_SW_DMA_0 147,4435 - XFER_SW_DMA_0 = 0x10,147,4435 - XFER_PIO_SLOW 148,4459 - XFER_PIO_SLOW = 0x00,148,4459 - ATAPI_PKT_DMA 151,4503 - ATAPI_DMADIR 152,4531 - ATAPI_CDB_LEN 154,4612 - ATA_CBL_NONE 157,4654 - ATA_CBL_PATA40 158,4674 - ATA_CBL_PATA80 159,4696 - ATA_CBL_PATA_UNK 160,4718 - ATA_CBL_SATA 161,4741 - SCR_STATUS 164,4803 - SCR_ERROR 165,4821 - SCR_CONTROL 166,4838 - SCR_ACTIVE 167,4857 - SCR_NOTIFICATION 168,4875 - ATA_TFLAG_LBA48 171,4932 - ATA_TFLAG_ISADDR 172,4996 - ATA_TFLAG_DEVICE 173,5061 - ATA_TFLAG_WRITE 174,5122 -enum ata_tf_protocols ata_tf_protocols177,5193 - ATA_PROT_UNKNOWN,179,5247 - ATA_PROT_NODATA,180,5288 - ATA_PROT_PIO,181,5320 - ATA_PROT_PIO_MULT,182,5360 - ATA_PROT_DMA,183,5406 - ATA_PROT_ATAPI,184,5432 - ATA_PROT_ATAPI_NODATA,185,5485 - ATA_PROT_ATAPI_DMA,186,5539 -enum ata_ioctls ata_ioctls189,5608 - ATA_IOC_GET_IO32 190,5626 - ATA_IOC_GET_IO32 = 0x309,190,5626 - ATA_IOC_SET_IO32 191,5653 - ATA_IOC_SET_IO32 = 0x324,191,5653 -struct ata_prd ata_prd196,5707 -struct ata_taskfile ata_taskfile201,5759 -#define ata_id_is_ata(ata_id_is_ata224,6140 -#define ata_id_rahead_enabled(ata_id_rahead_enabled225,6195 -#define ata_id_wcache_enabled(ata_id_wcache_enabled226,6251 -#define ata_id_has_flush(ata_id_has_flush227,6307 -#define ata_id_has_flush_ext(ata_id_has_flush_ext228,6359 -#define ata_id_has_lba48(ata_id_has_lba48229,6415 -#define ata_id_has_wcache(ata_id_has_wcache230,6467 -#define ata_id_has_pm(ata_id_has_pm231,6519 -#define ata_id_has_lba(ata_id_has_lba232,6567 -#define ata_id_has_dma(ata_id_has_dma233,6616 -#define ata_id_removeable(ata_id_removeable234,6665 -#define ata_id_u32(ata_id_u32235,6716 -#define ata_id_u64(ata_id_u64237,6794 -static inline int atapi_cdb_len(243,6954 -static inline int is_atapi_taskfile(253,7114 -static inline int ata_ok(260,7321 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fadvise.h,238 -#define FADVISE_H_INCLUDED2,27 -#define POSIX_FADV_NORMAL 4,55 -#define POSIX_FADV_RANDOM 5,120 -#define POSIX_FADV_SEQUENTIAL 6,186 -#define POSIX_FADV_WILLNEED 7,260 -#define POSIX_FADV_DONTNEED 8,320 -#define POSIX_FADV_NOREUSE 9,381 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sched.h,5238 -#define _LINUX_SCHED_H2,23 -#define CSIGNAL 41,849 -#define CLONE_VM 42,914 -#define CLONE_FS 43,983 -#define CLONE_FILES 44,1057 -#define CLONE_SIGHAND 45,1137 -#define CLONE_PTRACE 46,1226 -#define CLONE_VFORK 47,1320 -#define CLONE_PARENT 48,1419 -#define CLONE_THREAD 49,1510 -#define CLONE_NEWNS 50,1567 -#define CLONE_SYSVSEM 51,1625 -#define CLONE_SETTLS 52,1698 -#define CLONE_PARENT_SETTID 53,1767 -#define CLONE_CHILD_CLEARTID 54,1838 -#define CLONE_DETACHED 55,1911 -#define CLONE_UNTRACED 56,1968 -#define CLONE_CHILD_SETTID 57,2075 -#define CLONE_STOPPED 58,2144 -#define CLONE_KERNEL 64,2322 -#define FSHIFT 78,2916 -#define FIXED_1 79,2966 -#define LOAD_FREQ 80,3020 -#define EXP_1 81,3068 -#define EXP_5 82,3127 -#define EXP_15 83,3171 -#define CALC_LOAD(CALC_LOAD85,3218 -#define CT_TO_SECS(CT_TO_SECS90,3313 -#define CT_TO_USECS(CT_TO_USECS91,3346 -#define TASK_RUNNING 108,3775 -#define TASK_INTERRUPTIBLE 109,3799 -#define TASK_UNINTERRUPTIBLE 110,3828 -#define TASK_STOPPED 111,3859 -#define TASK_TRACED 112,3883 -#define EXIT_ZOMBIE 113,3906 -#define EXIT_DEAD 114,3930 -#define __set_task_state(__set_task_state116,3953 -#define set_task_state(set_task_state118,4047 -#define __set_current_state(__set_current_state121,4129 -#define set_current_state(set_current_state123,4224 -#define SCHED_NORMAL 129,4336 -#define SCHED_FIFO 130,4360 -#define SCHED_RR 131,4382 -struct sched_param sched_param133,4403 -typedef struct task_struct task_t;task_t150,4739 -#define __sched 178,5646 -#define MAX_SCHEDULE_TIMEOUT 182,5807 -#define DEFAULT_MAX_MAP_COUNT 189,6040 -struct mm_struct mm_struct210,6688 -struct sighand_struct sighand_struct266,8548 -struct signal_struct signal_struct279,8885 -#define MAX_USER_RT_PRIO 340,10791 -#define MAX_RT_PRIO 341,10820 -#define MAX_PRIO 343,10859 -#define rt_task(rt_task345,10897 -struct user_struct user_struct350,11024 -#define INIT_USER 367,11633 -typedef struct prio_array prio_array_t;prio_array_t369,11665 -struct k_itimer k_itimer374,11794 -struct sched_info sched_info394,12699 -#define NGROUPS_SMALL 411,13172 -#define NGROUPS_PER_BLOCK 412,13198 -struct group_info group_info413,13259 -#define get_group_info(get_group_info427,13701 -#define put_group_info(put_group_info431,13793 -#define GROUP_AT(GROUP_AT440,14128 -struct task_struct task_struct447,14281 -static inline pid_t process_group(605,18722 -#define get_task_struct(get_task_struct612,18917 -#define put_task_struct(put_task_struct613,18989 -#define PF_ALIGNWARN 619,19129 -#define PF_STARTING 621,19240 -#define PF_EXITING 622,19291 -#define PF_DEAD 623,19345 -#define PF_FORKNOEXEC 624,19384 -#define PF_SUPERPRIV 625,19446 -#define PF_DUMPCORE 626,19511 -#define PF_SIGNALED 627,19560 -#define PF_MEMALLOC 628,19616 -#define PF_MEMDIE 629,19671 -#define PF_FLUSHER 630,19731 -#define PF_FREEZE 632,19799 -#define PF_NOFREEZE 633,19873 -#define PF_FROZEN 634,19943 -#define PF_FSTRANS 635,20004 -#define PF_KSWAPD 636,20072 -#define PF_SWAPOFF 637,20119 -#define PF_LESS_THROTTLE 638,20171 -#define PF_SYNCWRITE 639,20246 -#define PF_RELOCEXEC 640,20308 -static inline int set_cpus_allowed(646,20458 -#define sched_exec(sched_exec658,20706 -union thread_union thread_union675,21087 -static inline int kstack_end(681,21224 -#define find_task_by_pid(find_task_by_pid695,21564 -static inline struct user_struct *get_uid(702,21896 - static inline void kick_process(723,22550 -static inline int dequeue_signal_lock(736,23021 -#define SEND_SIG_NOINFO 775,24826 -#define SEND_SIG_PRIV 776,24873 -#define SEND_SIG_FORCED 777,24918 -static inline int on_sig_stack(781,25020 -static inline int sas_ss_flags(786,25132 -static inline int capable(797,25361 -static inline void mmdrop(814,25700 -#define wait_task_inactive(wait_task_inactive857,27333 -#define remove_parent(remove_parent860,27388 -#define add_parent(add_parent861,27442 -#define REMOVE_LINKS(REMOVE_LINKS863,27522 -#define SET_LINKS(SET_LINKS869,27664 -#define next_task(next_task875,27827 -#define prev_task(prev_task876,27903 -#define for_each_process(for_each_process878,27980 -#define do_each_thread(do_each_thread885,28209 -#define while_each_thread(while_each_thread888,28312 -#define thread_group_leader(thread_group_leader893,28439 -static inline int thread_group_empty(895,28491 -#define delay_group_leader(delay_group_leader900,28597 -static inline void task_lock(913,28999 -static inline void task_unlock(918,29084 -static inline void set_tsk_thread_flag(926,29280 -static inline void clear_tsk_thread_flag(931,29403 -static inline int test_and_set_tsk_thread_flag(936,29530 -static inline int test_and_clear_tsk_thread_flag(941,29677 -static inline int test_tsk_thread_flag(946,29828 -static inline void set_tsk_need_resched(951,29959 -static inline void clear_tsk_need_resched(956,30073 -static inline int signal_pending(961,30191 -static inline int need_resched(966,30312 -static inline void cond_resched(973,30443 -static inline void cond_resched_lock(991,30963 -static inline unsigned int task_cpu(1013,31560 -static inline void set_task_cpu(1018,31659 -static inline unsigned int task_cpu(1025,31772 -static inline void set_task_cpu(1030,31853 -static inline void arch_pick_mmap_layout(1039,32053 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/wait.h,2656 -#define _LINUX_WAIT_H2,22 -#define WNOHANG 4,45 -#define WUNTRACED 5,73 -#define WSTOPPED 6,102 -#define WEXITED 7,129 -#define WCONTINUED 8,157 -#define WNOWAIT 9,187 -#define __WNOTHREAD 11,253 -#define __WALL 12,344 -#define __WCLONE 13,418 -#define P_ALL 16,519 -#define P_PID 17,536 -#define P_PGID 18,553 -typedef struct __wait_queue wait_queue_t;wait_queue_t28,720 -typedef int (*wait_queue_func_t)wait_queue_func_t29,762 -struct __wait_queue __wait_queue32,936 -#define WQ_FLAG_EXCLUSIVE 34,979 -struct __wait_queue_head __wait_queue_head40,1096 -typedef struct __wait_queue_head wait_queue_head_t;wait_queue_head_t44,1173 -#define __WAITQUEUE_INITIALIZER(__WAITQUEUE_INITIALIZER51,1296 -#define DECLARE_WAITQUEUE(DECLARE_WAITQUEUE56,1437 -#define __WAIT_QUEUE_HEAD_INITIALIZER(__WAIT_QUEUE_HEAD_INITIALIZER59,1537 -#define DECLARE_WAIT_QUEUE_HEAD(DECLARE_WAIT_QUEUE_HEAD63,1681 -static inline void init_waitqueue_head(66,1784 -static inline void init_waitqueue_entry(72,1913 -static inline void init_waitqueue_func_entry(79,2061 -static inline int waitqueue_active(87,2206 -#define is_sync_wait(is_sync_wait99,2612 -static inline void __add_wait_queue(105,2925 -static inline void __add_wait_queue_tail(113,3093 -static inline void __remove_wait_queue(119,3240 -#define wake_up(wake_up129,3618 -#define wake_up_nr(wake_up_nr130,3704 -#define wake_up_all(wake_up_all131,3797 -#define wake_up_all_sync(wake_up_all_sync132,3887 -#define wake_up_interruptible(wake_up_interruptible133,3982 -#define wake_up_interruptible_nr(wake_up_interruptible_nr134,4057 -#define wake_up_interruptible_all(wake_up_interruptible_all135,4140 -#define wake_up_locked(wake_up_locked136,4219 -#define wake_up_interruptible_sync(wake_up_interruptible_sync137,4311 -#define __wait_event(__wait_event139,4394 -#define wait_event(wait_event152,4690 -#define __wait_event_timeout(__wait_event_timeout159,4837 -#define wait_event_timeout(wait_event_timeout174,5194 -#define __wait_event_interruptible(__wait_event_interruptible182,5389 -#define wait_event_interruptible(wait_event_interruptible200,5814 -#define __wait_event_interruptible_timeout(__wait_event_interruptible_timeout208,6005 -#define wait_event_interruptible_timeout(wait_event_interruptible_timeout228,6488 -#define __wait_event_interruptible_exclusive(__wait_event_interruptible_exclusive236,6707 -#define wait_event_interruptible_exclusive(wait_event_interruptible_exclusive255,7160 -static inline void add_wait_queue_exclusive_locked(266,7442 -static inline void remove_wait_queue_locked(276,7693 -#define DEFINE_WAIT(DEFINE_WAIT304,8807 -#define init_wait(init_wait313,9028 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/security.h,14755 -#define __LINUX_SECURITY_H23,905 -static inline int cap_netlink_send 56,2459 -static inline int cap_netlink_recv 62,2601 -#define LSM_SETID_ID 73,2846 -#define LSM_SETID_RE 76,2922 -#define LSM_SETID_RES 79,3015 -#define LSM_SETID_FS 82,3090 -#define LSM_UNSAFE_SHARE 90,3258 -#define LSM_UNSAFE_PTRACE 91,3285 -#define LSM_UNSAFE_PTRACE_CAP 92,3313 -struct security_operations security_operations1018,47623 -static inline int security_ptrace 1237,58184 -static inline int security_capget 1242,58327 -static inline int security_capset_check 1250,58567 -static inline void security_capset_set 1258,58816 -static inline int security_acct 1266,59052 -static inline int security_sysctl(1271,59144 -static inline int security_quotactl 1276,59251 -static inline int security_quota_on 1282,59407 -static inline int security_syslog(1287,59508 -static inline int security_vm_enough_memory(1292,59593 -static inline int security_bprm_alloc 1297,59701 -static inline void security_bprm_free 1301,59821 -static inline void security_bprm_apply_creds 1305,59933 -static inline int security_bprm_set 1309,60070 -static inline int security_bprm_check 1314,60187 -static inline int security_bprm_secureexec 1319,60308 -static inline int security_sb_alloc 1324,60430 -static inline void security_sb_free 1329,60542 -static inline int security_sb_copy_data 1334,60646 -static inline int security_sb_kern_mount 1340,60808 -static inline int security_sb_statfs 1345,60939 -static inline int security_sb_mount 1350,61044 -static inline int security_sb_check_sb 1357,61251 -static inline int security_sb_umount 1363,61390 -static inline void security_sb_umount_close 1368,61512 -static inline void security_sb_umount_busy 1373,61622 -static inline void security_sb_post_remount 1378,61730 -static inline void security_sb_post_mountroot 1384,61896 -static inline void security_sb_post_addmount 1389,61991 -static inline int security_sb_pivotroot 1395,62162 -static inline void security_sb_post_pivotroot 1401,62319 -static inline int security_inode_alloc 1407,62486 -static inline void security_inode_free 1412,62604 -static inline int security_inode_create 1417,62715 -static inline void security_inode_post_create 1424,62881 -static inline int security_inode_link 1431,63063 -static inline void security_inode_post_link 1438,63266 -static inline int security_inode_unlink 1445,63471 -static inline int security_inode_symlink 1451,63615 -static inline void security_inode_post_symlink 1458,63801 -static inline int security_inode_mkdir 1465,63989 -static inline void security_inode_post_mkdir 1472,64151 -static inline int security_inode_rmdir 1479,64329 -static inline int security_inode_mknod 1485,64470 -static inline void security_inode_post_mknod 1492,64648 -static inline int security_inode_rename 1499,64842 -static inline void security_inode_post_rename 1508,65093 -static inline int security_inode_readlink 1517,65364 -static inline int security_inode_follow_link 1522,65482 -static inline int security_inode_permission 1528,65643 -static inline int security_inode_setattr 1534,65814 -static inline int security_inode_getattr 1540,65963 -static inline void security_inode_delete 1546,66113 -static inline int security_inode_setxattr 1551,66218 -static inline void security_inode_post_setxattr 1557,66419 -static inline int security_inode_getxattr 1563,66622 -static inline int security_inode_listxattr 1568,66758 -static inline int security_inode_removexattr 1573,66878 -static inline int security_inode_getsecurity(1578,67020 -static inline int security_inode_setsecurity(1583,67204 -static inline int security_inode_listsecurity(1588,67410 -static inline int security_file_permission 1593,67586 -static inline int security_file_alloc 1598,67716 -static inline void security_file_free 1603,67829 -static inline int security_file_ioctl 1608,67934 -static inline int security_file_mmap 1614,68096 -static inline int security_file_mprotect 1620,68262 -static inline int security_file_lock 1626,68413 -static inline int security_file_fcntl 1631,68538 -static inline int security_file_set_fowner 1637,68700 -static inline int security_file_send_sigiotask 1642,68814 -static inline int security_file_receive 1649,68999 -static inline int security_task_create 1654,69107 -static inline int security_task_alloc 1659,69228 -static inline void security_task_free 1664,69342 -static inline int security_task_setuid 1669,69448 -static inline int security_task_post_setuid 1675,69600 -static inline int security_task_setgid 1681,69797 -static inline int security_task_setpgid 1687,69949 -static inline int security_task_getpgid 1692,70076 -static inline int security_task_getsid 1697,70185 -static inline int security_task_setgroups 1702,70292 -static inline int security_task_setnice 1707,70422 -static inline int security_task_setrlimit 1712,70547 -static inline int security_task_setscheduler 1718,70710 -static inline int security_task_getscheduler 1725,70899 -static inline int security_task_kill 1730,71018 -static inline int security_task_wait 1736,71173 -static inline int security_task_prctl 1741,71276 -static inline void security_task_reparent_to_init 1749,71512 -static inline void security_task_to_inode(1754,71633 -static inline int security_ipc_permission 1759,71764 -static inline int security_msg_msg_alloc 1765,71911 -static inline void security_msg_msg_free 1770,72032 -static inline int security_msg_queue_alloc 1775,72144 -static inline void security_msg_queue_free 1780,72270 -static inline int security_msg_queue_associate 1785,72388 -static inline int security_msg_queue_msgctl 1791,72541 -static inline int security_msg_queue_msgsnd 1796,72675 -static inline int security_msg_queue_msgrcv 1802,72852 -static inline int security_shm_alloc 1810,73099 -static inline void security_shm_free 1815,73216 -static inline int security_shm_associate 1820,73325 -static inline int security_shm_shmctl 1826,73469 -static inline int security_shm_shmat 1831,73594 -static inline int security_sem_alloc 1837,73764 -static inline void security_sem_free 1842,73878 -static inline int security_sem_associate 1847,73984 -static inline int security_sem_semctl 1852,74118 -static inline int security_sem_semop 1857,74239 -static inline void security_d_instantiate 1864,74435 -static inline int security_getprocattr(1869,74573 -static inline int security_setprocattr(1874,74735 -static inline int security_netlink_send(1879,74897 -static inline int security_netlink_recv(1884,75026 -static inline int security_scaffolding_startup 1904,75678 -static inline int security_ptrace 1909,75748 -static inline int security_capget 1914,75880 -static inline int security_capset_check 1922,76110 -static inline void security_capset_set 1930,76349 -static inline int security_acct 1938,76575 -static inline int security_sysctl(1943,76643 -static inline int security_quotactl 1948,76720 -static inline int security_quota_on 1954,76835 -static inline int security_syslog(1959,76908 -static inline int security_vm_enough_memory(1964,76983 -static inline int security_bprm_alloc 1969,77081 -static inline void security_bprm_free 1974,77163 -static inline void security_bprm_apply_creds 1977,77234 -static inline int security_bprm_set 1982,77363 -static inline int security_bprm_check 1987,77470 -static inline int security_bprm_secureexec 1992,77552 -static inline int security_sb_alloc 1997,77663 -static inline void security_sb_free 2002,77740 -static inline int security_sb_copy_data 2005,77806 -static inline int security_sb_kern_mount 2011,77924 -static inline int security_sb_statfs 2016,78018 -static inline int security_sb_mount 2021,78096 -static inline int security_sb_check_sb 2028,78248 -static inline int security_sb_umount 2034,78353 -static inline void security_sb_umount_close 2039,78440 -static inline void security_sb_umount_busy 2042,78512 -static inline void security_sb_post_remount 2045,78583 -static inline void security_sb_post_mountroot 2049,78698 -static inline void security_sb_post_addmount 2052,78756 -static inline int security_sb_pivotroot 2056,78873 -static inline void security_sb_post_pivotroot 2062,78988 -static inline int security_inode_alloc 2066,79104 -static inline void security_inode_free 2071,79181 -static inline int security_inode_create 2074,79248 -static inline void security_inode_post_create 2081,79369 -static inline int security_inode_link 2086,79497 -static inline void security_inode_post_link 2093,79647 -static inline int security_inode_unlink 2098,79790 -static inline int security_inode_symlink 2104,79895 -static inline void security_inode_post_symlink 2111,80031 -static inline int security_inode_mkdir 2116,80160 -static inline void security_inode_post_mkdir 2123,80278 -static inline int security_inode_rmdir 2128,80403 -static inline int security_inode_mknod 2134,80506 -static inline void security_inode_post_mknod 2141,80635 -static inline int security_inode_rename 2146,80771 -static inline void security_inode_post_rename 2154,80946 -static inline int security_inode_readlink 2160,81134 -static inline int security_inode_follow_link 2165,81216 -static inline int security_inode_permission 2171,81334 -static inline int security_inode_setattr 2177,81458 -static inline int security_inode_getattr 2183,81566 -static inline void security_inode_delete 2189,81676 -static inline int security_inode_setxattr 2192,81744 -static inline void security_inode_post_setxattr 2198,81934 -static inline int security_inode_getxattr 2202,82067 -static inline int security_inode_listxattr 2207,82161 -static inline int security_inode_removexattr 2212,82244 -static inline int security_inode_getsecurity(2217,82375 -static inline int security_inode_setsecurity(2222,82512 -static inline int security_inode_listsecurity(2227,82665 -static inline int security_file_permission 2232,82782 -static inline int security_file_alloc 2237,82871 -static inline void security_file_free 2242,82945 -static inline int security_file_ioctl 2245,83008 -static inline int security_file_mmap 2251,83130 -static inline int security_file_mprotect 2257,83254 -static inline int security_file_lock 2263,83367 -static inline int security_file_fcntl 2268,83458 -static inline int security_file_set_fowner 2274,83580 -static inline int security_file_send_sigiotask 2279,83659 -static inline int security_file_receive 2286,83795 -static inline int security_task_create 2291,83871 -static inline int security_task_alloc 2296,83954 -static inline void security_task_free 2301,84032 -static inline int security_task_setuid 2304,84099 -static inline int security_task_post_setuid 2310,84204 -static inline int security_task_setgid 2316,84391 -static inline int security_task_setpgid 2322,84496 -static inline int security_task_getpgid 2327,84588 -static inline int security_task_getsid 2332,84668 -static inline int security_task_setgroups 2337,84747 -static inline int security_task_setnice 2342,84837 -static inline int security_task_setrlimit 2347,84927 -static inline int security_task_setscheduler 2353,85042 -static inline int security_task_getscheduler 2360,85185 -static inline int security_task_kill 2365,85270 -static inline int security_task_wait 2371,85388 -static inline int security_task_prctl 2376,85465 -static inline void security_task_reparent_to_init 2384,85645 -static inline void security_task_to_inode(2389,85756 -static inline int security_ipc_permission 2392,85847 -static inline int security_msg_msg_alloc 2398,85954 -static inline void security_msg_msg_free 2403,86034 -static inline int security_msg_queue_alloc 2406,86103 -static inline void security_msg_queue_free 2411,86186 -static inline int security_msg_queue_associate 2414,86258 -static inline int security_msg_queue_msgctl 2420,86365 -static inline int security_msg_queue_msgsnd 2425,86459 -static inline int security_msg_queue_msgrcv 2431,86588 -static inline int security_shm_alloc 2439,86775 -static inline void security_shm_free 2444,86855 -static inline int security_shm_associate 2447,86924 -static inline int security_shm_shmctl 2453,87029 -static inline int security_shm_shmat 2458,87120 -static inline int security_sem_alloc 2464,87246 -static inline void security_sem_free 2469,87323 -static inline int security_sem_associate 2472,87389 -static inline int security_sem_semctl 2477,87483 -static inline int security_sem_semop 2482,87571 -static inline void security_d_instantiate 2489,87720 -static inline int security_getprocattr(2492,87812 -static inline int security_setprocattr(2497,87934 -static inline int security_netlink_send 2507,88230 -static inline int security_netlink_recv 2512,88350 -static inline int security_unix_stream_connect(2520,88510 -static inline int security_unix_may_send(2528,88717 -static inline int security_socket_create 2534,88865 -static inline void security_socket_post_create(2540,89032 -static inline int security_socket_bind(2549,89267 -static inline int security_socket_connect(2556,89456 -static inline int security_socket_listen(2563,89643 -static inline int security_socket_accept(2568,89776 -static inline void security_socket_post_accept(2574,89928 -static inline int security_socket_sendmsg(2580,90090 -static inline int security_socket_recvmsg(2586,90253 -static inline int security_socket_getsockname(2593,90442 -static inline int security_socket_getpeername(2598,90563 -static inline int security_socket_getsockopt(2603,90684 -static inline int security_socket_setsockopt(2609,90854 -static inline int security_socket_shutdown(2615,91024 -static inline int security_sock_rcv_skb 2620,91153 -static inline int security_socket_getpeersec(2626,91299 -static inline int security_sk_alloc(2632,91503 -static inline void security_sk_free(2637,91650 -static inline int security_unix_stream_connect(2642,91787 -static inline int security_unix_may_send(2649,91941 -static inline int security_socket_create 2655,92050 -static inline void security_socket_post_create(2661,92161 -static inline int security_socket_bind(2668,92319 -static inline int security_socket_connect(2675,92460 -static inline int security_socket_listen(2682,92596 -static inline int security_socket_accept(2687,92688 -static inline void security_socket_post_accept(2693,92799 -static inline int security_socket_sendmsg(2698,92911 -static inline int security_socket_recvmsg(2704,93030 -static inline int security_socket_getsockname(2711,93168 -static inline int security_socket_getpeername(2716,93252 -static inline int security_socket_getsockopt(2721,93336 -static inline int security_socket_setsockopt(2727,93454 -static inline int security_socket_shutdown(2733,93572 -static inline int security_sock_rcv_skb 2737,93661 -static inline int security_socket_getpeersec(2743,93765 -static inline int security_sk_alloc(2749,93923 -static inline void security_sk_free(2754,94018 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/amifdreg.h,1017 -#define _LINUX_AMIFDREG_H2,26 -#define DSKRDY 8,88 -#define DSKTRACK0 9,150 -#define DSKPROT 10,220 -#define DSKCHANGE 11,286 -#define DSKMOTOR 17,387 -#define DSKSEL3 18,447 -#define DSKSEL2 19,513 -#define DSKSEL1 20,579 -#define DSKSEL0 21,645 -#define DSKSIDE 22,711 -#define DSKDIREC 23,790 -#define DSKSTEP 24,871 -#define DSKBYT 30,980 -#define DMAON 31,1060 -#define DISKWRITE 32,1119 -#define WORDEQUAL 33,1194 -#define ADK_SETCLR 41,1339 -#define ADK_PRECOMP1 43,1400 -#define ADK_PRECOMP0 44,1468 -#define ADK_MFMPREC 45,1548 -#define ADK_WORDSYNC 46,1621 -#define ADK_MSBSYNC 47,1687 -#define ADK_FAST 48,1768 -#define DSKLEN_DMAEN 54,1869 -#define DSKLEN_WRITE 55,1901 -#define DSKINDEX 61,1963 -#define MFM_SYNC 67,2035 -#define FD_RECALIBRATE 70,2130 -#define FD_SEEK 71,2181 -#define FD_READ 72,2221 -#define FD_WRITE 73,2282 -#define FD_SENSEI 74,2330 -#define FD_SPECIFY 75,2383 -#define FD_FORMAT 76,2430 -#define FD_VERSION 77,2477 -#define FD_CONFIGURE 78,2525 -#define FD_PERPENDICULAR 79,2583 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_logging.h,82 -#define __LINUX_NETFILTER_LOGGING_H4,118 -struct nf_logging_t nf_logging_t9,198 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/reboot.h,671 -#define _LINUX_REBOOT_H2,24 -#define LINUX_REBOOT_MAGIC1 8,112 -#define LINUX_REBOOT_MAGIC2 9,151 -#define LINUX_REBOOT_MAGIC2A 10,189 -#define LINUX_REBOOT_MAGIC2B 11,227 -#define LINUX_REBOOT_MAGIC2C 12,266 -#define LINUX_REBOOT_CMD_RESTART 28,893 -#define LINUX_REBOOT_CMD_HALT 29,937 -#define LINUX_REBOOT_CMD_CAD_ON 30,979 -#define LINUX_REBOOT_CMD_CAD_OFF 31,1023 -#define LINUX_REBOOT_CMD_POWER_OFF 32,1067 -#define LINUX_REBOOT_CMD_RESTART2 33,1113 -#define LINUX_REBOOT_CMD_SW_SUSPEND 34,1158 -#define LINUX_REBOOT_CMD_KEXEC 35,1205 -extern enum reboot_types reboot_types44,1320 - BOOT_BIOS 45,1347 - BOOT_TRIPLE 46,1365 - BOOT_KBD 47,1385 - BOOT_ACPI 48,1402 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ctype.h,794 -#define _LINUX_CTYPE_H2,23 -#define _U 9,142 -#define _L 10,170 -#define _D 11,198 -#define _C 12,226 -#define _P 13,254 -#define _S 14,282 -#define _X 15,331 -#define _SP 16,363 -#define __ismask(__ismask20,437 -#define isalnum(isalnum22,492 -#define isalpha(isalpha23,543 -#define iscntrl(iscntrl24,591 -#define isdigit(isdigit25,636 -#define isgraph(isgraph26,681 -#define islower(islower27,735 -#define isprint(isprint28,780 -#define ispunct(ispunct29,838 -#define isspace(isspace30,883 -#define isupper(isupper31,928 -#define isxdigit(isxdigit32,973 -#define isascii(isascii34,1023 -#define toascii(toascii35,1071 -static inline unsigned char __tolower(37,1119 -static inline unsigned char __toupper(44,1223 -#define tolower(tolower51,1327 -#define toupper(toupper52,1359 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_bonding.h,972 -#define _LINUX_IF_BONDING_H41,1534 -#define BOND_ABI_VERSION 48,1688 -#define BOND_ENSLAVE_OLD 54,1831 -#define BOND_RELEASE_OLD 55,1874 -#define BOND_SETHWADDR_OLD 56,1921 -#define BOND_SLAVE_INFO_QUERY_OLD 57,1970 -#define BOND_INFO_QUERY_OLD 58,2026 -#define BOND_CHANGE_ACTIVE_OLD 59,2077 -#define BOND_CHECK_MII_STATUS 61,2132 -#define BOND_MODE_ROUNDROBIN 63,2177 -#define BOND_MODE_ACTIVEBACKUP 64,2208 -#define BOND_MODE_XOR 65,2241 -#define BOND_MODE_BROADCAST 66,2266 -#define BOND_MODE_8023AD 67,2296 -#define BOND_MODE_TLB 68,2330 -#define BOND_MODE_ALB 69,2364 -#define BOND_LINK_UP 72,2468 -#define BOND_LINK_FAIL 73,2533 -#define BOND_LINK_DOWN 74,2599 -#define BOND_LINK_BACK 75,2678 -#define BOND_STATE_ACTIVE 78,2776 -#define BOND_STATE_BACKUP 79,2833 -#define BOND_DEFAULT_MAX_BONDS 81,2891 -typedef struct ifbond ifbond83,2979 -} ifbond;ifbond87,3055 -typedef struct ifslaveifslave89,3066 -} ifslave;ifslave96,3250 -struct ad_info ad_info98,3262 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c.h,5114 -#define _LINUX_I2C_H29,1280 -struct i2c_driver i2c_driver112,4714 -#define to_i2c_driver(to_i2c_driver143,5764 -#define I2C_NAME_SIZE 147,5871 -struct i2c_client i2c_client154,6119 -#define to_i2c_client(to_i2c_client172,6811 -static inline void *i2c_get_clientdata 174,6877 -static inline void i2c_set_clientdata 179,6983 -#define I2C_DEVNAME(I2C_DEVNAME184,7099 -static inline char *i2c_clientname(186,7137 -struct i2c_algorithm i2c_algorithm197,7497 -struct i2c_adapter i2c_adapter226,8625 -#define dev_to_i2c_adapter(dev_to_i2c_adapter259,9542 -#define class_dev_to_i2c_adapter(class_dev_to_i2c_adapter260,9613 -static inline void *i2c_get_adapdata 262,9697 -static inline void i2c_set_adapdata 267,9802 -#define I2C_DF_NOTIFY 273,9951 -# define I2C_DF_DUMMY 277,10134 -#define I2C_CLIENT_ALLOW_USE 281,10203 -#define I2C_CLIENT_ALLOW_MULTIPLE_USE 282,10265 -#define I2C_CLIENT_PEC 284,10374 -#define I2C_CLIENT_TEN 285,10437 -#define I2C_CLASS_HWMON 289,10580 -#define I2C_CLASS_TV_ANALOG 290,10634 -#define I2C_CLASS_TV_DIGITAL 291,10690 -#define I2C_CLASS_DDC 292,10742 -#define I2C_CLASS_CAM_ANALOG 293,10793 -#define I2C_CLASS_CAM_DIGITAL 294,10858 -#define I2C_CLASS_SOUND 295,10914 -#define I2C_CLASS_ALL 296,10966 -struct i2c_client_address_data i2c_client_address_data302,11177 -#define I2C_CLIENT_END 313,11454 -#define I2C_CLIENT_ISA_END 314,11485 -#define ANY_I2C_BUS 317,11572 -#define ANY_I2C_ISA_BUS 318,11600 -#define I2C_CLIENT_MAX_OPTS 321,11668 -struct i2c_msg i2c_msg393,14401 -#define I2C_M_TEN 396,14470 -#define I2C_M_RD 397,14530 -#define I2C_M_NOSTART 398,14552 -#define I2C_M_REV_DIR_ADDR 399,14581 -#define I2C_M_IGNORE_NAK 400,14615 -#define I2C_M_NO_RD_ACK 401,14647 -#define I2C_FUNC_I2C 408,14809 -#define I2C_FUNC_10BIT_ADDR 409,14843 -#define I2C_FUNC_PROTOCOL_MANGLING 410,14883 -#define I2C_FUNC_SMBUS_HWPEC_CALC 411,14967 -#define I2C_FUNC_SMBUS_READ_WORD_DATA_PEC 412,15028 -#define I2C_FUNC_SMBUS_WRITE_WORD_DATA_PEC 413,15099 -#define I2C_FUNC_SMBUS_PROC_CALL_PEC 414,15170 -#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL_PEC 415,15234 -#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 416,15304 -#define I2C_FUNC_SMBUS_QUICK 417,15370 -#define I2C_FUNC_SMBUS_READ_BYTE 418,15412 -#define I2C_FUNC_SMBUS_WRITE_BYTE 419,15457 -#define I2C_FUNC_SMBUS_READ_BYTE_DATA 420,15503 -#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 421,15553 -#define I2C_FUNC_SMBUS_READ_WORD_DATA 422,15604 -#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 423,15654 -#define I2C_FUNC_SMBUS_PROC_CALL 424,15705 -#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 425,15750 -#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 426,15801 -#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 427,15853 -#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 428,15929 -#define I2C_FUNC_SMBUS_READ_I2C_BLOCK_2 429,16006 -#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK_2 430,16085 -#define I2C_FUNC_SMBUS_READ_BLOCK_DATA_PEC 431,16164 -#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA_PEC 432,16235 -#define I2C_FUNC_SMBUS_BYTE 434,16307 -#define I2C_FUNC_SMBUS_BYTE_DATA 436,16418 -#define I2C_FUNC_SMBUS_WORD_DATA 438,16549 -#define I2C_FUNC_SMBUS_BLOCK_DATA 440,16680 -#define I2C_FUNC_SMBUS_I2C_BLOCK 442,16815 -#define I2C_FUNC_SMBUS_I2C_BLOCK_2 444,16947 -#define I2C_FUNC_SMBUS_BLOCK_DATA_PEC 446,17086 -#define I2C_FUNC_SMBUS_WORD_DATA_PEC 448,17237 -#define I2C_FUNC_SMBUS_READ_BYTE_PEC 451,17387 -#define I2C_FUNC_SMBUS_WRITE_BYTE_PEC 452,17455 -#define I2C_FUNC_SMBUS_READ_BYTE_DATA_PEC 453,17525 -#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA_PEC 454,17597 -#define I2C_FUNC_SMBUS_BYTE_PEC 455,17671 -#define I2C_FUNC_SMBUS_BYTE_DATA_PEC 456,17730 -#define I2C_FUNC_SMBUS_EMUL 458,17794 -#define I2C_SMBUS_BLOCK_MAX 470,18292 -#define I2C_SMBUS_I2C_BLOCK_MAX 471,18361 -union i2c_smbus_data i2c_smbus_data472,18442 -#define I2C_SMBUS_READ 481,18758 -#define I2C_SMBUS_WRITE 482,18783 -#define I2C_SMBUS_QUICK 486,18958 -#define I2C_SMBUS_BYTE 487,18989 -#define I2C_SMBUS_BYTE_DATA 488,19019 -#define I2C_SMBUS_WORD_DATA 489,19054 -#define I2C_SMBUS_PROC_CALL 490,19088 -#define I2C_SMBUS_BLOCK_DATA 491,19122 -#define I2C_SMBUS_I2C_BLOCK_DATA 492,19157 -#define I2C_SMBUS_BLOCK_PROC_CALL 493,19195 -#define I2C_SMBUS_BLOCK_DATA_PEC 494,19250 -#define I2C_SMBUS_PROC_CALL_PEC 495,19305 -#define I2C_SMBUS_BLOCK_PROC_CALL_PEC 496,19360 -#define I2C_SMBUS_WORD_DATA_PEC 497,19418 -#define I2C_RETRIES 506,19733 -#define I2C_TIMEOUT 509,19906 -#define I2C_SLAVE 513,19999 -#define I2C_SLAVE_FORCE 515,20100 -#define I2C_TENBIT 519,20284 -#define I2C_FUNCS 521,20352 -#define I2C_RDWR 522,20413 -#define I2C_PEC 523,20480 -#define I2C_ACK_TEST 525,20553 -#define I2C_SMBUS 528,20635 -#define I2C_UDELAY 531,20718 -#define I2C_MDELAY 533,20826 -#define I2C_MAJOR 537,20972 -#define I2C_CLIENT_DEFAULTS 541,21121 -#define I2C_CLIENT_MODPARM_AUX1(I2C_CLIENT_MODPARM_AUX1560,22428 -#define I2C_CLIENT_MODPARM_AUX(I2C_CLIENT_MODPARM_AUX561,22475 -#define I2C_CLIENT_MODPARM 562,22536 -#define I2C_CLIENT_MODULE_PARM(I2C_CLIENT_MODULE_PARM567,22702 -#define I2C_CLIENT_INSMOD 575,23037 -#define i2c_is_isa_client(i2c_is_isa_client601,24124 -#define i2c_is_isa_adapter(i2c_is_isa_adapter603,24220 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/limits.h,420 -#define _LINUX_LIMITS_H2,24 -#define NR_OPEN 4,49 -#define NGROUPS_MAX 6,79 -#define ARG_MAX 7,151 -#define CHILD_MAX 8,223 -#define OPEN_MAX 9,274 -#define LINK_MAX 10,341 -#define MAX_CANON 11,400 -#define MAX_INPUT 12,469 -#define NAME_MAX 13,534 -#define PATH_MAX 14,592 -#define PIPE_BUF 15,664 -#define XATTR_NAME_MAX 16,733 -#define XATTR_SIZE_MAX 17,806 -#define XATTR_LIST_MAX 18,883 -#define RTSIG_MAX 20,961 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ioport.h,2033 -#define _LINUX_IOPORT_H9,160 -struct resource resource16,274 -struct resource_list resource_list23,408 -#define IORESOURCE_BITS 32,558 -#define IORESOURCE_IO 34,619 -#define IORESOURCE_MEM 35,673 -#define IORESOURCE_IRQ 36,708 -#define IORESOURCE_DMA 37,743 -#define IORESOURCE_PREFETCH 39,779 -#define IORESOURCE_READONLY 40,840 -#define IORESOURCE_CACHEABLE 41,879 -#define IORESOURCE_RANGELENGTH 42,919 -#define IORESOURCE_SHADOWABLE 43,961 -#define IORESOURCE_BUS_HAS_VGA 44,1002 -#define IORESOURCE_DISABLED 46,1045 -#define IORESOURCE_UNSET 47,1084 -#define IORESOURCE_AUTO 48,1120 -#define IORESOURCE_BUSY 49,1156 -#define IORESOURCE_IRQ_HIGHEDGE 52,1286 -#define IORESOURCE_IRQ_LOWEDGE 53,1326 -#define IORESOURCE_IRQ_HIGHLEVEL 54,1365 -#define IORESOURCE_IRQ_LOWLEVEL 55,1405 -#define IORESOURCE_DMA_TYPE_MASK 58,1496 -#define IORESOURCE_DMA_8BIT 59,1536 -#define IORESOURCE_DMA_8AND16BIT 60,1572 -#define IORESOURCE_DMA_16BIT 61,1612 -#define IORESOURCE_DMA_MASTER 63,1650 -#define IORESOURCE_DMA_BYTE 64,1688 -#define IORESOURCE_DMA_WORD 65,1724 -#define IORESOURCE_DMA_SPEED_MASK 67,1761 -#define IORESOURCE_DMA_COMPATIBLE 68,1802 -#define IORESOURCE_DMA_TYPEA 69,1843 -#define IORESOURCE_DMA_TYPEB 70,1880 -#define IORESOURCE_DMA_TYPEF 71,1917 -#define IORESOURCE_MEM_WRITEABLE 74,2012 -#define IORESOURCE_MEM_CACHEABLE 75,2083 -#define IORESOURCE_MEM_RANGELENGTH 76,2155 -#define IORESOURCE_MEM_TYPE_MASK 77,2231 -#define IORESOURCE_MEM_8BIT 78,2271 -#define IORESOURCE_MEM_16BIT 79,2307 -#define IORESOURCE_MEM_8AND16BIT 80,2344 -#define IORESOURCE_MEM_32BIT 81,2384 -#define IORESOURCE_MEM_SHADOWABLE 82,2421 -#define IORESOURCE_MEM_EXPANSIONROM 83,2495 -#define request_region(request_region106,3480 -#define request_mem_region(request_mem_region107,3574 -#define rename_region(rename_region108,3671 -#define release_region(release_region113,3901 -#define check_mem_region(check_mem_region114,3982 -#define release_mem_region(release_mem_region115,4062 -static inline int __deprecated check_region(120,4303 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/meye.h,269 -#define _MEYE_H_31,1184 -struct meye_params meye_params37,1440 -#define MEYEIOC_G_PARAMS 47,1647 -#define MEYEIOC_S_PARAMS 49,1759 -#define MEYEIOC_QBUF_CAPT 51,1876 -#define MEYEIOC_SYNC 53,1984 -#define MEYEIOC_STILLCAPT 55,2084 -#define MEYEIOC_STILLJCAPT 57,2180 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hiddev.h,2373 -#define _HIDDEV_H2,18 -struct hiddev_event hiddev_event36,1144 -struct hiddev_devinfo hiddev_devinfo41,1204 -struct hiddev_collection_info hiddev_collection_info52,1364 -#define HID_STRING_SIZE 59,1455 -struct hiddev_string_descriptor hiddev_string_descriptor60,1483 -struct hiddev_report_info hiddev_report_info65,1565 -#define HID_REPORT_ID_UNKNOWN 78,2098 -#define HID_REPORT_ID_FIRST 79,2139 -#define HID_REPORT_ID_NEXT 80,2180 -#define HID_REPORT_ID_MASK 81,2221 -#define HID_REPORT_ID_MAX 82,2262 -#define HID_REPORT_TYPE_INPUT 84,2304 -#define HID_REPORT_TYPE_OUTPUT 85,2336 -#define HID_REPORT_TYPE_FEATURE 86,2369 -#define HID_REPORT_TYPE_MIN 87,2403 -#define HID_REPORT_TYPE_MAX 88,2437 -struct hiddev_field_info hiddev_field_info90,2472 -#define HID_FIELD_CONSTANT 110,2983 -#define HID_FIELD_VARIABLE 111,3017 -#define HID_FIELD_RELATIVE 112,3051 -#define HID_FIELD_WRAP 113,3085 -#define HID_FIELD_NONLINEAR 114,3117 -#define HID_FIELD_NO_PREFERRED 115,3152 -#define HID_FIELD_NULL_STATE 116,3190 -#define HID_FIELD_VOLATILE 117,3226 -#define HID_FIELD_BUFFERED_BYTE 118,3260 -struct hiddev_usage_ref hiddev_usage_ref120,3300 -#define HID_MAX_MULTI_USAGES 131,3592 -struct hiddev_usage_ref_multi hiddev_usage_ref_multi132,3626 -#define HID_FIELD_INDEX_NONE 142,3929 -#define HID_VERSION 148,3999 -#define HIDIOCGVERSION 154,4062 -#define HIDIOCAPPLICATION 155,4107 -#define HIDIOCGDEVINFO 156,4148 -#define HIDIOCGSTRING 157,4211 -#define HIDIOCINITREPORT 158,4283 -#define HIDIOCGNAME(HIDIOCGNAME159,4323 -#define HIDIOCGREPORT 160,4380 -#define HIDIOCSREPORT 161,4446 -#define HIDIOCGREPORTINFO 162,4512 -#define HIDIOCGFIELDINFO 163,4582 -#define HIDIOCGUSAGE 164,4650 -#define HIDIOCSUSAGE 165,4714 -#define HIDIOCGUCODE 166,4777 -#define HIDIOCGFLAG 167,4841 -#define HIDIOCSFLAG 168,4883 -#define HIDIOCGCOLLECTIONINDEX 169,4925 -#define HIDIOCGCOLLECTIONINFO 170,4997 -#define HIDIOCGPHYS(HIDIOCGPHYS171,5075 -#define HIDIOCGUSAGES 174,5190 -#define HIDIOCSUSAGES 175,5261 -#define HIDDEV_FLAG_UREF 180,5375 -#define HIDDEV_FLAG_REPORT 181,5404 -#define HIDDEV_FLAGS 182,5435 -static inline int hiddev_connect(230,6770 -static inline void hiddev_disconnect(231,6842 -static inline void hiddev_hid_event(232,6907 -static inline void hiddev_report_event(234,7064 -static inline int hiddev_init(235,7158 -static inline void hiddev_exit(236,7208 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netrom.h,322 -#define NETROM_KERNEL_H8,229 -#define NETROM_MTU 10,254 -#define NETROM_T1 12,278 -#define NETROM_T2 13,298 -#define NETROM_N2 14,318 -#define NETROM_T4 15,338 -#define NETROM_IDLE 16,358 -#define SIOCNRDECOBS 18,381 -struct nr_route_struct nr_route_struct20,425 -#define NETROM_NEIGH 21,450 -#define NETROM_NODE 22,473 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/types.h,3063 -#define _LINUX_TYPES_H2,23 -#define BITS_TO_LONGS(BITS_TO_LONGS7,92 -#define DECLARE_BITMAP(DECLARE_BITMAP9,164 -typedef __u32 __kernel_dev_t;__kernel_dev_t18,335 -typedef __kernel_fd_set fd_set;fd_set20,366 -typedef __kernel_dev_t dev_t;dev_t21,399 -typedef __kernel_ino_t ino_t;ino_t22,430 -typedef __kernel_mode_t mode_t;mode_t23,461 -typedef __kernel_nlink_t nlink_t;nlink_t24,494 -typedef __kernel_off_t off_t;off_t25,528 -typedef __kernel_pid_t pid_t;pid_t26,559 -typedef __kernel_daddr_t daddr_t;daddr_t27,590 -typedef __kernel_key_t key_t;key_t28,624 -typedef __kernel_suseconds_t suseconds_t;suseconds_t29,655 -typedef __kernel_timer_t timer_t;timer_t30,697 -typedef __kernel_clockid_t clockid_t;clockid_t31,731 -typedef __kernel_mqd_t mqd_t;mqd_t32,769 -typedef __kernel_uid32_t uid_t;uid_t35,819 -typedef __kernel_gid32_t gid_t;gid_t36,851 -typedef __kernel_uid16_t uid16_t;uid16_t37,883 -typedef __kernel_gid16_t gid16_t;gid16_t38,924 -typedef __kernel_old_uid_t old_uid_t;old_uid_t42,1044 -typedef __kernel_old_gid_t old_gid_t;old_gid_t43,1082 -typedef __kernel_uid_t uid_t;uid_t50,1272 -typedef __kernel_gid_t gid_t;gid_t51,1303 -typedef __kernel_loff_t loff_t;loff_t55,1410 -#define _SIZE_T63,1567 -typedef __kernel_size_t size_t;size_t64,1583 -#define _SSIZE_T68,1641 -typedef __kernel_ssize_t ssize_t;ssize_t69,1658 -#define _PTRDIFF_T73,1719 -typedef __kernel_ptrdiff_t ptrdiff_t;ptrdiff_t74,1738 -#define _TIME_T78,1800 -typedef __kernel_time_t time_t;time_t79,1816 -#define _CLOCK_T83,1874 -typedef __kernel_clock_t clock_t;clock_t84,1891 -#define _CADDR_T88,1950 -typedef __kernel_caddr_t caddr_t;caddr_t89,1967 -typedef unsigned char u_char;u_char93,2019 -typedef unsigned short u_short;u_short94,2050 -typedef unsigned int u_int;u_int95,2083 -typedef unsigned long u_long;u_long96,2112 -typedef unsigned char unchar;unchar99,2155 -typedef unsigned short ushort;ushort100,2186 -typedef unsigned int uint;uint101,2218 -typedef unsigned long ulong;ulong102,2246 -#define __BIT_TYPES_DEFINED__105,2307 -typedef __u8 u_int8_t;u_int8_t107,2338 -typedef __s8 int8_t;int8_t108,2363 -typedef __u16 u_int16_t;u_int16_t109,2386 -typedef __s16 int16_t;int16_t110,2413 -typedef __u32 u_int32_t;u_int32_t111,2438 -typedef __s32 int32_t;int32_t112,2465 -typedef __u8 uint8_t;uint8_t116,2530 -typedef __u16 uint16_t;uint16_t117,2554 -typedef __u32 uint32_t;uint32_t118,2580 -typedef __u64 uint64_t;uint64_t121,2658 -typedef __u64 u_int64_t;u_int64_t122,2684 -typedef __s64 int64_t;int64_t123,2711 -typedef unsigned long sector_t;sector_t132,2906 -#define pgoff_t 140,3063 -#define __bitwise 144,3120 -#define __bitwise146,3169 -typedef __u16 __bitwise __le16;__le16149,3195 -typedef __u16 __bitwise __be16;__be16150,3227 -typedef __u32 __bitwise __le32;__le32151,3259 -typedef __u32 __bitwise __be32;__be32152,3291 -typedef __u64 __bitwise __le64;__le64153,3323 -typedef __u64 __bitwise __be64;__be64154,3355 -struct ustat ustat163,3556 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ncp_no.h,357 -#define _NCP_NO2,16 -#define aRONLY 5,86 -#define aHIDDEN 6,131 -#define aSYSTEM 7,177 -#define aEXECUTE 8,223 -#define aDIR 9,269 -#define aARCH 10,315 -#define aSHARED 11,362 -#define aDONTSUBALLOCATE 12,411 -#define aTRANSACTIONAL 13,469 -#define aPURGE 14,526 -#define aRENAMEINHIBIT 15,576 -#define aDELETEINHIBIT 16,633 -#define aDONTCOMPRESS 17,690 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lapb.h,527 -#define LAPB_KERNEL_H6,89 -#define LAPB_OK 8,112 -#define LAPB_BADTOKEN 9,132 -#define LAPB_INVALUE 10,157 -#define LAPB_CONNECTED 11,181 -#define LAPB_NOTCONNECTED 12,207 -#define LAPB_REFUSED 13,235 -#define LAPB_TIMEDOUT 14,259 -#define LAPB_NOMEM 15,284 -#define LAPB_STANDARD 17,307 -#define LAPB_EXTENDED 18,335 -#define LAPB_SLP 20,364 -#define LAPB_MLP 21,387 -#define LAPB_DTE 23,411 -#define LAPB_DCE 24,434 -struct lapb_register_struct lapb_register_struct26,458 -struct lapb_parms_struct lapb_parms_struct35,902 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/comstats.h,353 -#define _COMSTATS_H26,1021 -} comstats_t;comstats_t68,2044 -#define COM_MAXPANELS 75,2131 -} companel_t;companel_t82,2261 -} combrd_t;combrd_t96,2552 -#define COM_GETPORTSTATS 104,2647 -#define COM_CLRPORTSTATS 105,2684 -#define COM_GETBRDSTATS 106,2721 -#define COM_READPORT 114,2928 -#define COM_READBOARD 115,2962 -#define COM_READPANEL 116,2997 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/completion.h,278 -#define __LINUX_COMPLETION_H2,29 -struct completion completion13,222 -#define COMPLETION_INITIALIZER(COMPLETION_INITIALIZER18,291 -#define DECLARE_COMPLETION(DECLARE_COMPLETION21,382 -static inline void init_completion(24,473 -#define INIT_COMPLETION(INIT_COMPLETION34,756 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hdlc/ioctl.h,301 -#define __HDLC_IOCTL_H__2,25 -} sync_serial_settings;sync_serial_settings8,212 -} te1_settings;te1_settings15,454 -} raw_hdlc_proto;raw_hdlc_proto20,568 -} fr_proto;fr_proto30,787 -} fr_proto_pvc;fr_proto_pvc34,837 -}fr_proto_pvc_info;fr_proto_pvc_info39,993 -} cisco_proto;cisco_proto44,1126 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mv643xx.h,43373 -#define __ASM_MV64340_H14,488 -#define MV64340_CS_0_BASE_ADDR 25,736 -#define MV64340_CS_0_SIZE 26,810 -#define MV64340_CS_1_BASE_ADDR 27,884 -#define MV64340_CS_1_SIZE 28,958 -#define MV64340_CS_2_BASE_ADDR 29,1032 -#define MV64340_CS_2_SIZE 30,1106 -#define MV64340_CS_3_BASE_ADDR 31,1180 -#define MV64340_CS_3_SIZE 32,1254 -#define MV64340_DEV_CS0_BASE_ADDR 36,1367 -#define MV64340_DEV_CS0_SIZE 37,1441 -#define MV64340_DEV_CS1_BASE_ADDR 38,1515 -#define MV64340_DEV_CS1_SIZE 39,1589 -#define MV64340_DEV_CS2_BASE_ADDR 40,1663 -#define MV64340_DEV_CS2_SIZE 41,1737 -#define MV64340_DEV_CS3_BASE_ADDR 42,1811 -#define MV64340_DEV_CS3_SIZE 43,1885 -#define MV64340_BOOTCS_BASE_ADDR 44,1959 -#define MV64340_BOOTCS_SIZE 45,2033 -#define MV64340_PCI_0_IO_BASE_ADDR 49,2144 -#define MV64340_PCI_0_IO_SIZE 50,2218 -#define MV64340_PCI_0_MEMORY0_BASE_ADDR 51,2292 -#define MV64340_PCI_0_MEMORY0_SIZE 52,2366 -#define MV64340_PCI_0_MEMORY1_BASE_ADDR 53,2440 -#define MV64340_PCI_0_MEMORY1_SIZE 54,2514 -#define MV64340_PCI_0_MEMORY2_BASE_ADDR 55,2588 -#define MV64340_PCI_0_MEMORY2_SIZE 56,2662 -#define MV64340_PCI_0_MEMORY3_BASE_ADDR 57,2736 -#define MV64340_PCI_0_MEMORY3_SIZE 58,2810 -#define MV64340_PCI_1_IO_BASE_ADDR 61,2920 -#define MV64340_PCI_1_IO_SIZE 62,2994 -#define MV64340_PCI_1_MEMORY0_BASE_ADDR 63,3068 -#define MV64340_PCI_1_MEMORY0_SIZE 64,3142 -#define MV64340_PCI_1_MEMORY1_BASE_ADDR 65,3216 -#define MV64340_PCI_1_MEMORY1_SIZE 66,3290 -#define MV64340_PCI_1_MEMORY2_BASE_ADDR 67,3364 -#define MV64340_PCI_1_MEMORY2_SIZE 68,3438 -#define MV64340_PCI_1_MEMORY3_BASE_ADDR 69,3512 -#define MV64340_PCI_1_MEMORY3_SIZE 70,3586 -#define MV64340_INTEGRATED_SRAM_BASE_ADDR 73,3685 -#define MV64340_INTERNAL_SPACE_BASE_ADDR 76,3804 -#define MV64340_BASE_ADDR_ENABLE 80,3945 -#define MV64340_PCI_0_IO_ADDR_REMAP 86,4167 -#define MV64340_PCI_0_MEMORY0_LOW_ADDR_REMAP 87,4241 -#define MV64340_PCI_0_MEMORY0_HIGH_ADDR_REMAP 88,4315 -#define MV64340_PCI_0_MEMORY1_LOW_ADDR_REMAP 89,4389 -#define MV64340_PCI_0_MEMORY1_HIGH_ADDR_REMAP 90,4463 -#define MV64340_PCI_0_MEMORY2_LOW_ADDR_REMAP 91,4537 -#define MV64340_PCI_0_MEMORY2_HIGH_ADDR_REMAP 92,4611 -#define MV64340_PCI_0_MEMORY3_LOW_ADDR_REMAP 93,4685 -#define MV64340_PCI_0_MEMORY3_HIGH_ADDR_REMAP 94,4759 -#define MV64340_PCI_1_IO_ADDR_REMAP 96,4851 -#define MV64340_PCI_1_MEMORY0_LOW_ADDR_REMAP 97,4925 -#define MV64340_PCI_1_MEMORY0_HIGH_ADDR_REMAP 98,4999 -#define MV64340_PCI_1_MEMORY1_LOW_ADDR_REMAP 99,5073 -#define MV64340_PCI_1_MEMORY1_HIGH_ADDR_REMAP 100,5147 -#define MV64340_PCI_1_MEMORY2_LOW_ADDR_REMAP 101,5221 -#define MV64340_PCI_1_MEMORY2_HIGH_ADDR_REMAP 102,5295 -#define MV64340_PCI_1_MEMORY3_LOW_ADDR_REMAP 103,5369 -#define MV64340_PCI_1_MEMORY3_HIGH_ADDR_REMAP 104,5443 -#define MV64340_CPU_PCI_0_HEADERS_RETARGET_CONTROL 106,5519 -#define MV64340_CPU_PCI_0_HEADERS_RETARGET_BASE 107,5593 -#define MV64340_CPU_PCI_1_HEADERS_RETARGET_CONTROL 108,5667 -#define MV64340_CPU_PCI_1_HEADERS_RETARGET_BASE 109,5741 -#define MV64340_CPU_GE_HEADERS_RETARGET_CONTROL 110,5815 -#define MV64340_CPU_GE_HEADERS_RETARGET_BASE 111,5889 -#define MV64340_CPU_IDMA_HEADERS_RETARGET_CONTROL 112,5963 -#define MV64340_CPU_IDMA_HEADERS_RETARGET_BASE 113,6037 -#define MV64340_CPU_CONFIG 119,6242 -#define MV64340_CPU_MODE 120,6316 -#define MV64340_CPU_MASTER_CONTROL 121,6390 -#define MV64340_CPU_CROSS_BAR_CONTROL_LOW 122,6464 -#define MV64340_CPU_CROSS_BAR_CONTROL_HIGH 123,6538 -#define MV64340_CPU_CROSS_BAR_TIMEOUT 124,6612 -#define MV64340_SMP_WHO_AM_I 130,6817 -#define MV64340_SMP_CPU0_DOORBELL 131,6891 -#define MV64340_SMP_CPU0_DOORBELL_CLEAR 132,6965 -#define MV64340_SMP_CPU1_DOORBELL 133,7039 -#define MV64340_SMP_CPU1_DOORBELL_CLEAR 134,7113 -#define MV64340_SMP_CPU0_DOORBELL_MASK 135,7187 -#define MV64340_SMP_CPU1_DOORBELL_MASK 136,7261 -#define MV64340_SMP_SEMAPHOR0 137,7335 -#define MV64340_SMP_SEMAPHOR1 138,7409 -#define MV64340_SMP_SEMAPHOR2 139,7483 -#define MV64340_SMP_SEMAPHOR3 140,7557 -#define MV64340_SMP_SEMAPHOR4 141,7631 -#define MV64340_SMP_SEMAPHOR5 142,7705 -#define MV64340_SMP_SEMAPHOR6 143,7779 -#define MV64340_SMP_SEMAPHOR7 144,7853 -#define MV64340_CPU_0_SYNC_BARRIER_TRIGGER 150,8058 -#define MV64340_CPU_0_SYNC_BARRIER_VIRTUAL 151,8132 -#define MV64340_CPU_1_SYNC_BARRIER_TRIGGER 152,8206 -#define MV64340_CPU_1_SYNC_BARRIER_VIRTUAL 153,8280 -#define MV64340_CPU_PROTECT_WINDOW_0_BASE_ADDR 159,8485 -#define MV64340_CPU_PROTECT_WINDOW_0_SIZE 160,8559 -#define MV64340_CPU_PROTECT_WINDOW_1_BASE_ADDR 161,8633 -#define MV64340_CPU_PROTECT_WINDOW_1_SIZE 162,8707 -#define MV64340_CPU_PROTECT_WINDOW_2_BASE_ADDR 163,8781 -#define MV64340_CPU_PROTECT_WINDOW_2_SIZE 164,8855 -#define MV64340_CPU_PROTECT_WINDOW_3_BASE_ADDR 165,8929 -#define MV64340_CPU_PROTECT_WINDOW_3_SIZE 166,9003 -#define MV64340_CPU_ERROR_ADDR_LOW 173,9209 -#define MV64340_CPU_ERROR_ADDR_HIGH 174,9283 -#define MV64340_CPU_ERROR_DATA_LOW 175,9357 -#define MV64340_CPU_ERROR_DATA_HIGH 176,9431 -#define MV64340_CPU_ERROR_PARITY 177,9505 -#define MV64340_CPU_ERROR_CAUSE 178,9579 -#define MV64340_CPU_ERROR_MASK 179,9653 -#define MV64340_PUNIT_SLAVE_DEBUG_LOW 185,9857 -#define MV64340_PUNIT_SLAVE_DEBUG_HIGH 186,9931 -#define MV64340_PUNIT_MASTER_DEBUG_LOW 187,10005 -#define MV64340_PUNIT_MASTER_DEBUG_HIGH 188,10079 -#define MV64340_PUNIT_MMASK 189,10153 -#define MV64340_SRAM_CONFIG 195,10358 -#define MV64340_SRAM_TEST_MODE 196,10432 -#define MV64340_SRAM_ERROR_CAUSE 197,10506 -#define MV64340_SRAM_ERROR_ADDR 198,10580 -#define MV64340_SRAM_ERROR_ADDR_HIGH 199,10654 -#define MV64340_SRAM_ERROR_DATA_LOW 200,10728 -#define MV64340_SRAM_ERROR_DATA_HIGH 201,10802 -#define MV64340_SRAM_ERROR_DATA_PARITY 202,10876 -#define MV64340_SDRAM_CONFIG 208,11081 -#define MV64340_D_UNIT_CONTROL_LOW 209,11156 -#define MV64340_D_UNIT_CONTROL_HIGH 210,11231 -#define MV64340_SDRAM_TIMING_CONTROL_LOW 211,11306 -#define MV64340_SDRAM_TIMING_CONTROL_HIGH 212,11381 -#define MV64340_SDRAM_ADDR_CONTROL 213,11456 -#define MV64340_SDRAM_OPEN_PAGES_CONTROL 214,11531 -#define MV64340_SDRAM_OPERATION 215,11606 -#define MV64340_SDRAM_MODE 216,11681 -#define MV64340_EXTENDED_DRAM_MODE 217,11756 -#define MV64340_SDRAM_CROSS_BAR_CONTROL_LOW 218,11831 -#define MV64340_SDRAM_CROSS_BAR_CONTROL_HIGH 219,11906 -#define MV64340_SDRAM_CROSS_BAR_TIMEOUT 220,11981 -#define MV64340_SDRAM_ADDR_CTRL_PADS_CALIBRATION 221,12056 -#define MV64340_SDRAM_DATA_PADS_CALIBRATION 222,12131 -#define MV64340_SDRAM_ERROR_DATA_LOW 228,12337 -#define MV64340_SDRAM_ERROR_DATA_HIGH 229,12412 -#define MV64340_SDRAM_ERROR_ADDR 230,12487 -#define MV64340_SDRAM_RECEIVED_ECC 231,12562 -#define MV64340_SDRAM_CALCULATED_ECC 232,12637 -#define MV64340_SDRAM_ECC_CONTROL 233,12712 -#define MV64340_SDRAM_ECC_ERROR_COUNTER 234,12787 -#define MV64340_DFCDL_CONFIG0 240,12999 -#define MV64340_DFCDL_CONFIG1 241,13074 -#define MV64340_DLL_WRITE 242,13149 -#define MV64340_DLL_READ 243,13224 -#define MV64340_SRAM_ADDR 244,13299 -#define MV64340_SRAM_DATA0 245,13374 -#define MV64340_SRAM_DATA1 246,13449 -#define MV64340_SRAM_DATA2 247,13524 -#define MV64340_DFCL_PROBE 248,13599 -#define MV64340_DUNIT_DEBUG_LOW 254,13811 -#define MV64340_DUNIT_DEBUG_HIGH 255,13886 -#define MV64340_DUNIT_MMASK 256,13961 -#define MV64340_DEVICE_BANK0_PARAMETERS 262,14150 -#define MV64340_DEVICE_BANK1_PARAMETERS 263,14203 -#define MV64340_DEVICE_BANK2_PARAMETERS 264,14256 -#define MV64340_DEVICE_BANK3_PARAMETERS 265,14309 -#define MV64340_DEVICE_BOOT_BANK_PARAMETERS 266,14362 -#define MV64340_DEVICE_INTERFACE_CONTROL 267,14418 -#define MV64340_DEVICE_INTERFACE_CROSS_BAR_CONTROL_LOW 268,14492 -#define MV64340_DEVICE_INTERFACE_CROSS_BAR_CONTROL_HIGH 269,14566 -#define MV64340_DEVICE_INTERFACE_CROSS_BAR_TIMEOUT 270,14640 -#define MV64340_DEVICE_INTERRUPT_CAUSE 276,14836 -#define MV64340_DEVICE_INTERRUPT_MASK 277,14888 -#define MV64340_DEVICE_ERROR_ADDR 278,14939 -#define MV64340_DEVICE_ERROR_DATA 279,14986 -#define MV64340_DEVICE_ERROR_PARITY 280,15036 -#define MV64340_DEVICE_DEBUG_LOW 286,15210 -#define MV64340_DEVICE_DEBUG_HIGH 287,15261 -#define MV64340_RUNIT_MMASK 288,15313 -#define MV64340_PCI_0_CS_0_BANK_SIZE 294,15518 -#define MV64340_PCI_1_CS_0_BANK_SIZE 295,15592 -#define MV64340_PCI_0_CS_1_BANK_SIZE 296,15666 -#define MV64340_PCI_1_CS_1_BANK_SIZE 297,15740 -#define MV64340_PCI_0_CS_2_BANK_SIZE 298,15814 -#define MV64340_PCI_1_CS_2_BANK_SIZE 299,15888 -#define MV64340_PCI_0_CS_3_BANK_SIZE 300,15962 -#define MV64340_PCI_1_CS_3_BANK_SIZE 301,16036 -#define MV64340_PCI_0_DEVCS_0_BANK_SIZE 302,16110 -#define MV64340_PCI_1_DEVCS_0_BANK_SIZE 303,16184 -#define MV64340_PCI_0_DEVCS_1_BANK_SIZE 304,16258 -#define MV64340_PCI_1_DEVCS_1_BANK_SIZE 305,16332 -#define MV64340_PCI_0_DEVCS_2_BANK_SIZE 306,16406 -#define MV64340_PCI_1_DEVCS_2_BANK_SIZE 307,16480 -#define MV64340_PCI_0_DEVCS_3_BANK_SIZE 308,16554 -#define MV64340_PCI_1_DEVCS_3_BANK_SIZE 309,16628 -#define MV64340_PCI_0_DEVCS_BOOT_BANK_SIZE 310,16702 -#define MV64340_PCI_1_DEVCS_BOOT_BANK_SIZE 311,16776 -#define MV64340_PCI_0_P2P_MEM0_BAR_SIZE 312,16850 -#define MV64340_PCI_1_P2P_MEM0_BAR_SIZE 313,16924 -#define MV64340_PCI_0_P2P_MEM1_BAR_SIZE 314,16998 -#define MV64340_PCI_1_P2P_MEM1_BAR_SIZE 315,17072 -#define MV64340_PCI_0_P2P_I_O_BAR_SIZE 316,17146 -#define MV64340_PCI_1_P2P_I_O_BAR_SIZE 317,17220 -#define MV64340_PCI_0_CPU_BAR_SIZE 318,17294 -#define MV64340_PCI_1_CPU_BAR_SIZE 319,17368 -#define MV64340_PCI_0_INTERNAL_SRAM_BAR_SIZE 320,17442 -#define MV64340_PCI_1_INTERNAL_SRAM_BAR_SIZE 321,17516 -#define MV64340_PCI_0_EXPANSION_ROM_BAR_SIZE 322,17590 -#define MV64340_PCI_1_EXPANSION_ROM_BAR_SIZE 323,17664 -#define MV64340_PCI_0_BASE_ADDR_REG_ENABLE 324,17738 -#define MV64340_PCI_1_BASE_ADDR_REG_ENABLE 325,17812 -#define MV64340_PCI_0_CS_0_BASE_ADDR_REMAP 326,17886 -#define MV64340_PCI_1_CS_0_BASE_ADDR_REMAP 327,17941 -#define MV64340_PCI_0_CS_1_BASE_ADDR_REMAP 328,17996 -#define MV64340_PCI_1_CS_1_BASE_ADDR_REMAP 329,18051 -#define MV64340_PCI_0_CS_2_BASE_ADDR_REMAP 330,18106 -#define MV64340_PCI_1_CS_2_BASE_ADDR_REMAP 331,18161 -#define MV64340_PCI_0_CS_3_BASE_ADDR_REMAP 332,18216 -#define MV64340_PCI_1_CS_3_BASE_ADDR_REMAP 333,18271 -#define MV64340_PCI_0_CS_0_BASE_HIGH_ADDR_REMAP 334,18326 -#define MV64340_PCI_1_CS_0_BASE_HIGH_ADDR_REMAP 335,18386 -#define MV64340_PCI_0_CS_1_BASE_HIGH_ADDR_REMAP 336,18446 -#define MV64340_PCI_1_CS_1_BASE_HIGH_ADDR_REMAP 337,18506 -#define MV64340_PCI_0_CS_2_BASE_HIGH_ADDR_REMAP 338,18566 -#define MV64340_PCI_1_CS_2_BASE_HIGH_ADDR_REMAP 339,18626 -#define MV64340_PCI_0_CS_3_BASE_HIGH_ADDR_REMAP 340,18686 -#define MV64340_PCI_1_CS_3_BASE_HIGH_ADDR_REMAP 341,18746 -#define MV64340_PCI_0_DEVCS_0_BASE_ADDR_REMAP 342,18806 -#define MV64340_PCI_1_DEVCS_0_BASE_ADDR_REMAP 343,18864 -#define MV64340_PCI_0_DEVCS_1_BASE_ADDR_REMAP 344,18922 -#define MV64340_PCI_1_DEVCS_1_BASE_ADDR_REMAP 345,18980 -#define MV64340_PCI_0_DEVCS_2_BASE_ADDR_REMAP 346,19038 -#define MV64340_PCI_1_DEVCS_2_BASE_ADDR_REMAP 347,19096 -#define MV64340_PCI_0_DEVCS_3_BASE_ADDR_REMAP 348,19154 -#define MV64340_PCI_1_DEVCS_3_BASE_ADDR_REMAP 349,19221 -#define MV64340_PCI_0_DEVCS_BOOTCS_BASE_ADDR_REMAP 350,19288 -#define MV64340_PCI_1_DEVCS_BOOTCS_BASE_ADDR_REMAP 351,19355 -#define MV64340_PCI_0_P2P_MEM0_BASE_ADDR_REMAP_LOW 352,19422 -#define MV64340_PCI_1_P2P_MEM0_BASE_ADDR_REMAP_LOW 353,19496 -#define MV64340_PCI_0_P2P_MEM0_BASE_ADDR_REMAP_HIGH 354,19570 -#define MV64340_PCI_1_P2P_MEM0_BASE_ADDR_REMAP_HIGH 355,19644 -#define MV64340_PCI_0_P2P_MEM1_BASE_ADDR_REMAP_LOW 356,19718 -#define MV64340_PCI_1_P2P_MEM1_BASE_ADDR_REMAP_LOW 357,19792 -#define MV64340_PCI_0_P2P_MEM1_BASE_ADDR_REMAP_HIGH 358,19866 -#define MV64340_PCI_1_P2P_MEM1_BASE_ADDR_REMAP_HIGH 359,19940 -#define MV64340_PCI_0_P2P_I_O_BASE_ADDR_REMAP 360,20014 -#define MV64340_PCI_1_P2P_I_O_BASE_ADDR_REMAP 361,20088 -#define MV64340_PCI_0_CPU_BASE_ADDR_REMAP_LOW 362,20163 -#define MV64340_PCI_1_CPU_BASE_ADDR_REMAP_LOW 363,20237 -#define MV64340_PCI_0_CPU_BASE_ADDR_REMAP_HIGH 364,20311 -#define MV64340_PCI_1_CPU_BASE_ADDR_REMAP_HIGH 365,20385 -#define MV64340_PCI_0_INTEGRATED_SRAM_BASE_ADDR_REMAP 366,20459 -#define MV64340_PCI_1_INTEGRATED_SRAM_BASE_ADDR_REMAP 367,20533 -#define MV64340_PCI_0_EXPANSION_ROM_BASE_ADDR_REMAP 368,20607 -#define MV64340_PCI_1_EXPANSION_ROM_BASE_ADDR_REMAP 369,20681 -#define MV64340_PCI_0_ADDR_DECODE_CONTROL 370,20755 -#define MV64340_PCI_1_ADDR_DECODE_CONTROL 371,20829 -#define MV64340_PCI_0_HEADERS_RETARGET_CONTROL 372,20903 -#define MV64340_PCI_1_HEADERS_RETARGET_CONTROL 373,20977 -#define MV64340_PCI_0_HEADERS_RETARGET_BASE 374,21051 -#define MV64340_PCI_1_HEADERS_RETARGET_BASE 375,21125 -#define MV64340_PCI_0_HEADERS_RETARGET_HIGH 376,21199 -#define MV64340_PCI_1_HEADERS_RETARGET_HIGH 377,21273 -#define MV64340_PCI_0_DLL_STATUS_AND_COMMAND 383,21463 -#define MV64340_PCI_1_DLL_STATUS_AND_COMMAND 384,21538 -#define MV64340_PCI_0_MPP_PADS_DRIVE_CONTROL 385,21613 -#define MV64340_PCI_1_MPP_PADS_DRIVE_CONTROL 386,21688 -#define MV64340_PCI_0_COMMAND 387,21763 -#define MV64340_PCI_1_COMMAND 388,21815 -#define MV64340_PCI_0_MODE 389,21859 -#define MV64340_PCI_1_MODE 390,21933 -#define MV64340_PCI_0_RETRY 391,22007 -#define MV64340_PCI_1_RETRY 392,22057 -#define MV64340_PCI_0_READ_BUFFER_DISCARD_TIMER 393,22106 -#define MV64340_PCI_1_READ_BUFFER_DISCARD_TIMER 394,22180 -#define MV64340_PCI_0_MSI_TRIGGER_TIMER 395,22254 -#define MV64340_PCI_1_MSI_TRIGGER_TIMER 396,22328 -#define MV64340_PCI_0_ARBITER_CONTROL 397,22402 -#define MV64340_PCI_1_ARBITER_CONTROL 398,22477 -#define MV64340_PCI_0_CROSS_BAR_CONTROL_LOW 399,22552 -#define MV64340_PCI_1_CROSS_BAR_CONTROL_LOW 400,22627 -#define MV64340_PCI_0_CROSS_BAR_CONTROL_HIGH 401,22702 -#define MV64340_PCI_1_CROSS_BAR_CONTROL_HIGH 402,22777 -#define MV64340_PCI_0_CROSS_BAR_TIMEOUT 403,22852 -#define MV64340_PCI_1_CROSS_BAR_TIMEOUT 404,22927 -#define MV64340_PCI_0_SYNC_BARRIER_TRIGGER_REG 405,23002 -#define MV64340_PCI_1_SYNC_BARRIER_TRIGGER_REG 406,23077 -#define MV64340_PCI_0_SYNC_BARRIER_VIRTUAL_REG 407,23152 -#define MV64340_PCI_1_SYNC_BARRIER_VIRTUAL_REG 408,23227 -#define MV64340_PCI_0_P2P_CONFIG 409,23302 -#define MV64340_PCI_1_P2P_CONFIG 410,23377 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_0_LOW 412,23453 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_0_HIGH 413,23528 -#define MV64340_PCI_0_ACCESS_CONTROL_SIZE_0 414,23603 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_1_LOW 415,23678 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_1_HIGH 416,23753 -#define MV64340_PCI_0_ACCESS_CONTROL_SIZE_1 417,23828 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_2_LOW 418,23903 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_2_HIGH 419,23978 -#define MV64340_PCI_0_ACCESS_CONTROL_SIZE_2 420,24053 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_3_LOW 421,24128 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_3_HIGH 422,24203 -#define MV64340_PCI_0_ACCESS_CONTROL_SIZE_3 423,24278 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_4_LOW 424,24353 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_4_HIGH 425,24428 -#define MV64340_PCI_0_ACCESS_CONTROL_SIZE_4 426,24503 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_5_LOW 427,24578 -#define MV64340_PCI_0_ACCESS_CONTROL_BASE_5_HIGH 428,24653 -#define MV64340_PCI_0_ACCESS_CONTROL_SIZE_5 429,24728 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_0_LOW 431,24804 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_0_HIGH 432,24879 -#define MV64340_PCI_1_ACCESS_CONTROL_SIZE_0 433,24954 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_1_LOW 434,25029 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_1_HIGH 435,25104 -#define MV64340_PCI_1_ACCESS_CONTROL_SIZE_1 436,25179 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_2_LOW 437,25254 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_2_HIGH 438,25329 -#define MV64340_PCI_1_ACCESS_CONTROL_SIZE_2 439,25404 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_3_LOW 440,25479 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_3_HIGH 441,25554 -#define MV64340_PCI_1_ACCESS_CONTROL_SIZE_3 442,25629 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_4_LOW 443,25704 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_4_HIGH 444,25779 -#define MV64340_PCI_1_ACCESS_CONTROL_SIZE_4 445,25854 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_5_LOW 446,25929 -#define MV64340_PCI_1_ACCESS_CONTROL_BASE_5_HIGH 447,26004 -#define MV64340_PCI_1_ACCESS_CONTROL_SIZE_5 448,26079 -#define MV64340_PCI_0_CONFIG_ADDR 454,26285 -#define MV64340_PCI_0_CONFIG_DATA_VIRTUAL_REG 455,26333 -#define MV64340_PCI_1_CONFIG_ADDR 456,26407 -#define MV64340_PCI_1_CONFIG_DATA_VIRTUAL_REG 457,26455 -#define MV64340_PCI_0_INTERRUPT_ACKNOWLEDGE_VIRTUAL_REG 458,26529 -#define MV64340_PCI_1_INTERRUPT_ACKNOWLEDGE_VIRTUAL_REG 459,26603 -#define MV64340_PCI_0_SERR_MASK 465,26808 -#define MV64340_PCI_1_SERR_MASK 466,26854 -#define MV64340_PCI_0_ERROR_ADDR_LOW 467,26900 -#define MV64340_PCI_1_ERROR_ADDR_LOW 468,26975 -#define MV64340_PCI_0_ERROR_ADDR_HIGH 469,27050 -#define MV64340_PCI_1_ERROR_ADDR_HIGH 470,27125 -#define MV64340_PCI_0_ERROR_ATTRIBUTE 471,27200 -#define MV64340_PCI_1_ERROR_ATTRIBUTE 472,27275 -#define MV64340_PCI_0_ERROR_COMMAND 473,27350 -#define MV64340_PCI_1_ERROR_COMMAND 474,27425 -#define MV64340_PCI_0_ERROR_CAUSE 475,27500 -#define MV64340_PCI_1_ERROR_CAUSE 476,27575 -#define MV64340_PCI_0_ERROR_MASK 477,27650 -#define MV64340_PCI_1_ERROR_MASK 478,27725 -#define MV64340_PCI_0_MMASK 484,27931 -#define MV64340_PCI_1_MMASK 485,28006 -#define MV64340_PCI_DEVICE_AND_VENDOR_ID 491,28227 -#define MV64340_PCI_STATUS_AND_COMMAND 492,28281 -#define MV64340_PCI_CLASS_CODE_AND_REVISION_ID 493,28333 -#define MV64340_PCI_BIST_HEADER_TYPE_LATENCY_TIMER_CACHE_LINE 494,28392 -#define MV64340_PCI_SCS_0_BASE_ADDR_LOW 496,28466 -#define MV64340_PCI_SCS_0_BASE_ADDR_HIGH 497,28527 -#define MV64340_PCI_SCS_1_BASE_ADDR_LOW 498,28590 -#define MV64340_PCI_SCS_1_BASE_ADDR_HIGH 499,28656 -#define MV64340_PCI_INTERNAL_REG_MEM_MAPPED_BASE_ADDR_LOW 500,28717 -#define MV64340_PCI_INTERNAL_REG_MEM_MAPPED_BASE_ADDR_HIGH 501,28791 -#define MV64340_PCI_SUBSYSTEM_ID_AND_SUBSYSTEM_VENDOR_ID 502,28865 -#define MV64340_PCI_EXPANSION_ROM_BASE_ADDR_REG 503,28932 -#define MV64340_PCI_CAPABILTY_LIST_POINTER 504,29006 -#define MV64340_PCI_INTERRUPT_PIN_AND_LINE 505,29080 -#define MV64340_PCI_POWER_MANAGEMENT_CAPABILITY 507,29165 -#define MV64340_PCI_POWER_MANAGEMENT_STATUS_AND_CONTROL 508,29239 -#define MV64340_PCI_VPD_ADDR 509,29313 -#define MV64340_PCI_VPD_DATA 510,29387 -#define MV64340_PCI_MSI_MESSAGE_CONTROL 511,29461 -#define MV64340_PCI_MSI_MESSAGE_ADDR 512,29535 -#define MV64340_PCI_MSI_MESSAGE_UPPER_ADDR 513,29609 -#define MV64340_PCI_MSI_MESSAGE_DATA 514,29683 -#define MV64340_PCI_X_COMMAND 515,29757 -#define MV64340_PCI_X_STATUS 516,29831 -#define MV64340_PCI_COMPACT_PCI_HOT_SWAP 517,29905 -#define MV64340_PCI_SCS_2_BASE_ADDR_LOW 523,30131 -#define MV64340_PCI_SCS_2_BASE_ADDR_HIGH 524,30186 -#define MV64340_PCI_SCS_3_BASE_ADDR_LOW 525,30239 -#define MV64340_PCI_SCS_3_BASE_ADDR_HIGH 526,30292 -#define MV64340_PCI_INTERNAL_SRAM_BASE_ADDR_LOW 527,30345 -#define MV64340_PCI_INTERNAL_SRAM_BASE_ADDR_HIGH 528,30413 -#define MV64340_PCI_DEVCS_0_BASE_ADDR_LOW 534,30633 -#define MV64340_PCI_DEVCS_0_BASE_ADDR_HIGH 535,30691 -#define MV64340_PCI_DEVCS_1_BASE_ADDR_LOW 536,30747 -#define MV64340_PCI_DEVCS_1_BASE_ADDR_HIGH 537,30802 -#define MV64340_PCI_DEVCS_2_BASE_ADDR_LOW 538,30862 -#define MV64340_PCI_DEVCS_2_BASE_ADDR_HIGH 539,30917 -#define MV64340_PCI_DEVCS_3_BASE_ADDR_LOW 545,31129 -#define MV64340_PCI_DEVCS_3_BASE_ADDR_HIGH 546,31187 -#define MV64340_PCI_BOOT_CS_BASE_ADDR_LOW 547,31243 -#define MV64340_PCI_BOOT_CS_BASE_ADDR_HIGH 548,31297 -#define MV64340_PCI_CPU_BASE_ADDR_LOW 549,31357 -#define MV64340_PCI_CPU_BASE_ADDR_HIGH 550,31409 -#define MV64340_PCI_P2P_MEM0_BASE_ADDR_LOW 556,31618 -#define MV64340_PCI_P2P_MEM0_BASE_ADDR_HIGH 557,31675 -#define MV64340_PCI_P2P_MEM1_BASE_ADDR_LOW 558,31732 -#define MV64340_PCI_P2P_MEM1_BASE_ADDR_HIGH 559,31790 -#define MV64340_PCI_P2P_I_O_BASE_ADDR 560,31847 -#define MV64340_PCI_INTERNAL_REGS_I_O_MAPPED_BASE_ADDR 561,31920 -#define MV64340_I2O_INBOUND_MESSAGE_REG0_PCI_0_SIDE 567,32122 -#define MV64340_I2O_INBOUND_MESSAGE_REG1_PCI_0_SIDE 568,32185 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG0_PCI_0_SIDE 569,32250 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG1_PCI_0_SIDE 570,32315 -#define MV64340_I2O_INBOUND_DOORBELL_REG_PCI_0_SIDE 571,32381 -#define MV64340_I2O_INBOUND_INTERRUPT_CAUSE_REG_PCI_0_SIDE 572,32446 -#define MV64340_I2O_INBOUND_INTERRUPT_MASK_REG_PCI_0_SIDE 573,32520 -#define MV64340_I2O_OUTBOUND_DOORBELL_REG_PCI_0_SIDE 574,32588 -#define MV64340_I2O_OUTBOUND_INTERRUPT_CAUSE_REG_PCI_0_SIDE 575,32653 -#define MV64340_I2O_OUTBOUND_INTERRUPT_MASK_REG_PCI_0_SIDE 576,32727 -#define MV64340_I2O_INBOUND_QUEUE_PORT_VIRTUAL_REG_PCI_0_SIDE 577,32801 -#define MV64340_I2O_OUTBOUND_QUEUE_PORT_VIRTUAL_REG_PCI_0_SIDE 578,32875 -#define MV64340_I2O_QUEUE_CONTROL_REG_PCI_0_SIDE 579,32949 -#define MV64340_I2O_QUEUE_BASE_ADDR_REG_PCI_0_SIDE 580,33010 -#define MV64340_I2O_INBOUND_FREE_HEAD_POINTER_REG_PCI_0_SIDE 581,33073 -#define MV64340_I2O_INBOUND_FREE_TAIL_POINTER_REG_PCI_0_SIDE 582,33147 -#define MV64340_I2O_INBOUND_POST_HEAD_POINTER_REG_PCI_0_SIDE 583,33221 -#define MV64340_I2O_INBOUND_POST_TAIL_POINTER_REG_PCI_0_SIDE 584,33295 -#define MV64340_I2O_OUTBOUND_FREE_HEAD_POINTER_REG_PCI_0_SIDE 585,33369 -#define MV64340_I2O_OUTBOUND_FREE_TAIL_POINTER_REG_PCI_0_SIDE 586,33443 -#define MV64340_I2O_OUTBOUND_POST_HEAD_POINTER_REG_PCI_0_SIDE 587,33517 -#define MV64340_I2O_OUTBOUND_POST_TAIL_POINTER_REG_PCI_0_SIDE 588,33591 -#define MV64340_I2O_INBOUND_MESSAGE_REG0_PCI_1_SIDE 590,33666 -#define MV64340_I2O_INBOUND_MESSAGE_REG1_PCI_1_SIDE 591,33729 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG0_PCI_1_SIDE 592,33794 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG1_PCI_1_SIDE 593,33859 -#define MV64340_I2O_INBOUND_DOORBELL_REG_PCI_1_SIDE 594,33925 -#define MV64340_I2O_INBOUND_INTERRUPT_CAUSE_REG_PCI_1_SIDE 595,33990 -#define MV64340_I2O_INBOUND_INTERRUPT_MASK_REG_PCI_1_SIDE 596,34064 -#define MV64340_I2O_OUTBOUND_DOORBELL_REG_PCI_1_SIDE 597,34132 -#define MV64340_I2O_OUTBOUND_INTERRUPT_CAUSE_REG_PCI_1_SIDE 598,34197 -#define MV64340_I2O_OUTBOUND_INTERRUPT_MASK_REG_PCI_1_SIDE 599,34271 -#define MV64340_I2O_INBOUND_QUEUE_PORT_VIRTUAL_REG_PCI_1_SIDE 600,34345 -#define MV64340_I2O_OUTBOUND_QUEUE_PORT_VIRTUAL_REG_PCI_1_SIDE 601,34419 -#define MV64340_I2O_QUEUE_CONTROL_REG_PCI_1_SIDE 602,34493 -#define MV64340_I2O_QUEUE_BASE_ADDR_REG_PCI_1_SIDE 603,34554 -#define MV64340_I2O_INBOUND_FREE_HEAD_POINTER_REG_PCI_1_SIDE 604,34617 -#define MV64340_I2O_INBOUND_FREE_TAIL_POINTER_REG_PCI_1_SIDE 605,34691 -#define MV64340_I2O_INBOUND_POST_HEAD_POINTER_REG_PCI_1_SIDE 606,34765 -#define MV64340_I2O_INBOUND_POST_TAIL_POINTER_REG_PCI_1_SIDE 607,34839 -#define MV64340_I2O_OUTBOUND_FREE_HEAD_POINTER_REG_PCI_1_SIDE 608,34913 -#define MV64340_I2O_OUTBOUND_FREE_TAIL_POINTER_REG_PCI_1_SIDE 609,34987 -#define MV64340_I2O_OUTBOUND_POST_HEAD_POINTER_REG_PCI_1_SIDE 610,35061 -#define MV64340_I2O_OUTBOUND_POST_TAIL_POINTER_REG_PCI_1_SIDE 611,35135 -#define MV64340_I2O_INBOUND_MESSAGE_REG0_CPU0_SIDE 613,35210 -#define MV64340_I2O_INBOUND_MESSAGE_REG1_CPU0_SIDE 614,35273 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG0_CPU0_SIDE 615,35338 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG1_CPU0_SIDE 616,35403 -#define MV64340_I2O_INBOUND_DOORBELL_REG_CPU0_SIDE 617,35469 -#define MV64340_I2O_INBOUND_INTERRUPT_CAUSE_REG_CPU0_SIDE 618,35534 -#define MV64340_I2O_INBOUND_INTERRUPT_MASK_REG_CPU0_SIDE 619,35605 -#define MV64340_I2O_OUTBOUND_DOORBELL_REG_CPU0_SIDE 620,35673 -#define MV64340_I2O_OUTBOUND_INTERRUPT_CAUSE_REG_CPU0_SIDE 621,35738 -#define MV64340_I2O_OUTBOUND_INTERRUPT_MASK_REG_CPU0_SIDE 622,35813 -#define MV64340_I2O_INBOUND_QUEUE_PORT_VIRTUAL_REG_CPU0_SIDE 623,35888 -#define MV64340_I2O_OUTBOUND_QUEUE_PORT_VIRTUAL_REG_CPU0_SIDE 624,35963 -#define MV64340_I2O_QUEUE_CONTROL_REG_CPU0_SIDE 625,36038 -#define MV64340_I2O_QUEUE_BASE_ADDR_REG_CPU0_SIDE 626,36099 -#define MV64340_I2O_INBOUND_FREE_HEAD_POINTER_REG_CPU0_SIDE 627,36162 -#define MV64340_I2O_INBOUND_FREE_TAIL_POINTER_REG_CPU0_SIDE 628,36237 -#define MV64340_I2O_INBOUND_POST_HEAD_POINTER_REG_CPU0_SIDE 629,36312 -#define MV64340_I2O_INBOUND_POST_TAIL_POINTER_REG_CPU0_SIDE 630,36387 -#define MV64340_I2O_OUTBOUND_FREE_HEAD_POINTER_REG_CPU0_SIDE 631,36462 -#define MV64340_I2O_OUTBOUND_FREE_TAIL_POINTER_REG_CPU0_SIDE 632,36537 -#define MV64340_I2O_OUTBOUND_POST_HEAD_POINTER_REG_CPU0_SIDE 633,36612 -#define MV64340_I2O_OUTBOUND_POST_TAIL_POINTER_REG_CPU0_SIDE 634,36687 -#define MV64340_I2O_INBOUND_MESSAGE_REG0_CPU1_SIDE 635,36762 -#define MV64340_I2O_INBOUND_MESSAGE_REG1_CPU1_SIDE 636,36825 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG0_CPU1_SIDE 637,36890 -#define MV64340_I2O_OUTBOUND_MESSAGE_REG1_CPU1_SIDE 638,36955 -#define MV64340_I2O_INBOUND_DOORBELL_REG_CPU1_SIDE 639,37021 -#define MV64340_I2O_INBOUND_INTERRUPT_CAUSE_REG_CPU1_SIDE 640,37086 -#define MV64340_I2O_INBOUND_INTERRUPT_MASK_REG_CPU1_SIDE 641,37157 -#define MV64340_I2O_OUTBOUND_DOORBELL_REG_CPU1_SIDE 642,37225 -#define MV64340_I2O_OUTBOUND_INTERRUPT_CAUSE_REG_CPU1_SIDE 643,37290 -#define MV64340_I2O_OUTBOUND_INTERRUPT_MASK_REG_CPU1_SIDE 644,37365 -#define MV64340_I2O_INBOUND_QUEUE_PORT_VIRTUAL_REG_CPU1_SIDE 645,37440 -#define MV64340_I2O_OUTBOUND_QUEUE_PORT_VIRTUAL_REG_CPU1_SIDE 646,37515 -#define MV64340_I2O_QUEUE_CONTROL_REG_CPU1_SIDE 647,37590 -#define MV64340_I2O_QUEUE_BASE_ADDR_REG_CPU1_SIDE 648,37651 -#define MV64340_I2O_INBOUND_FREE_HEAD_POINTER_REG_CPU1_SIDE 649,37714 -#define MV64340_I2O_INBOUND_FREE_TAIL_POINTER_REG_CPU1_SIDE 650,37789 -#define MV64340_I2O_INBOUND_POST_HEAD_POINTER_REG_CPU1_SIDE 651,37864 -#define MV64340_I2O_INBOUND_POST_TAIL_POINTER_REG_CPU1_SIDE 652,37939 -#define MV64340_I2O_OUTBOUND_FREE_HEAD_POINTER_REG_CPU1_SIDE 653,38014 -#define MV64340_I2O_OUTBOUND_FREE_TAIL_POINTER_REG_CPU1_SIDE 654,38089 -#define MV64340_I2O_OUTBOUND_POST_HEAD_POINTER_REG_CPU1_SIDE 655,38164 -#define MV64340_I2O_OUTBOUND_POST_TAIL_POINTER_REG_CPU1_SIDE 656,38239 -#define MV64340_ETH_PHY_ADDR_REG 662,38442 -#define MV64340_ETH_SMI_REG 663,38517 -#define MV64340_ETH_UNIT_DEFAULT_ADDR_REG 664,38592 -#define MV64340_ETH_UNIT_DEFAULTID_REG 665,38667 -#define MV64340_ETH_UNIT_INTERRUPT_CAUSE_REG 666,38742 -#define MV64340_ETH_UNIT_INTERRUPT_MASK_REG 667,38817 -#define MV64340_ETH_UNIT_INTERNAL_USE_REG 668,38892 -#define MV64340_ETH_UNIT_ERROR_ADDR_REG 669,38967 -#define MV64340_ETH_BAR_0 670,39042 -#define MV64340_ETH_BAR_1 671,39117 -#define MV64340_ETH_BAR_2 672,39192 -#define MV64340_ETH_BAR_3 673,39267 -#define MV64340_ETH_BAR_4 674,39342 -#define MV64340_ETH_BAR_5 675,39417 -#define MV64340_ETH_SIZE_REG_0 676,39492 -#define MV64340_ETH_SIZE_REG_1 677,39567 -#define MV64340_ETH_SIZE_REG_2 678,39642 -#define MV64340_ETH_SIZE_REG_3 679,39717 -#define MV64340_ETH_SIZE_REG_4 680,39792 -#define MV64340_ETH_SIZE_REG_5 681,39867 -#define MV64340_ETH_HEADERS_RETARGET_BASE_REG 682,39942 -#define MV64340_ETH_HEADERS_RETARGET_CONTROL_REG 683,40017 -#define MV64340_ETH_HIGH_ADDR_REMAP_REG_0 684,40092 -#define MV64340_ETH_HIGH_ADDR_REMAP_REG_1 685,40167 -#define MV64340_ETH_HIGH_ADDR_REMAP_REG_2 686,40242 -#define MV64340_ETH_HIGH_ADDR_REMAP_REG_3 687,40317 -#define MV64340_ETH_BASE_ADDR_ENABLE_REG 688,40392 -#define MV64340_ETH_ACCESS_PROTECTION_REG(MV64340_ETH_ACCESS_PROTECTION_REG689,40467 -#define MV64340_ETH_MIB_COUNTERS_BASE(MV64340_ETH_MIB_COUNTERS_BASE690,40555 -#define MV64340_ETH_PORT_CONFIG_REG(MV64340_ETH_PORT_CONFIG_REG691,40643 -#define MV64340_ETH_PORT_CONFIG_EXTEND_REG(MV64340_ETH_PORT_CONFIG_EXTEND_REG692,40732 -#define MV64340_ETH_MII_SERIAL_PARAMETRS_REG(MV64340_ETH_MII_SERIAL_PARAMETRS_REG693,40821 -#define MV64340_ETH_GMII_SERIAL_PARAMETRS_REG(MV64340_ETH_GMII_SERIAL_PARAMETRS_REG694,40910 -#define MV64340_ETH_VLAN_ETHERTYPE_REG(MV64340_ETH_VLAN_ETHERTYPE_REG695,40999 -#define MV64340_ETH_MAC_ADDR_LOW(MV64340_ETH_MAC_ADDR_LOW696,41088 -#define MV64340_ETH_MAC_ADDR_HIGH(MV64340_ETH_MAC_ADDR_HIGH697,41177 -#define MV64340_ETH_SDMA_CONFIG_REG(MV64340_ETH_SDMA_CONFIG_REG698,41266 -#define MV64340_ETH_DSCP_0(MV64340_ETH_DSCP_0699,41355 -#define MV64340_ETH_DSCP_1(MV64340_ETH_DSCP_1700,41444 -#define MV64340_ETH_DSCP_2(MV64340_ETH_DSCP_2701,41533 -#define MV64340_ETH_DSCP_3(MV64340_ETH_DSCP_3702,41622 -#define MV64340_ETH_DSCP_4(MV64340_ETH_DSCP_4703,41711 -#define MV64340_ETH_DSCP_5(MV64340_ETH_DSCP_5704,41800 -#define MV64340_ETH_DSCP_6(MV64340_ETH_DSCP_6705,41889 -#define MV64340_ETH_PORT_SERIAL_CONTROL_REG(MV64340_ETH_PORT_SERIAL_CONTROL_REG706,41978 -#define MV64340_ETH_VLAN_PRIORITY_TAG_TO_PRIORITY(MV64340_ETH_VLAN_PRIORITY_TAG_TO_PRIORITY707,42067 -#define MV64340_ETH_PORT_STATUS_REG(MV64340_ETH_PORT_STATUS_REG708,42156 -#define MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG(MV64340_ETH_TRANSMIT_QUEUE_COMMAND_REG709,42245 -#define MV64340_ETH_TX_QUEUE_FIXED_PRIORITY(MV64340_ETH_TX_QUEUE_FIXED_PRIORITY710,42334 -#define MV64340_ETH_PORT_TX_TOKEN_BUCKET_RATE_CONFIG(MV64340_ETH_PORT_TX_TOKEN_BUCKET_RATE_CONFIG711,42423 -#define MV64340_ETH_MAXIMUM_TRANSMIT_UNIT(MV64340_ETH_MAXIMUM_TRANSMIT_UNIT712,42512 -#define MV64340_ETH_PORT_MAXIMUM_TOKEN_BUCKET_SIZE(MV64340_ETH_PORT_MAXIMUM_TOKEN_BUCKET_SIZE713,42601 -#define MV64340_ETH_INTERRUPT_CAUSE_REG(MV64340_ETH_INTERRUPT_CAUSE_REG714,42690 -#define MV64340_ETH_INTERRUPT_CAUSE_EXTEND_REG(MV64340_ETH_INTERRUPT_CAUSE_EXTEND_REG715,42779 -#define MV64340_ETH_INTERRUPT_MASK_REG(MV64340_ETH_INTERRUPT_MASK_REG716,42868 -#define MV64340_ETH_INTERRUPT_EXTEND_MASK_REG(MV64340_ETH_INTERRUPT_EXTEND_MASK_REG717,42957 -#define MV64340_ETH_RX_FIFO_URGENT_THRESHOLD_REG(MV64340_ETH_RX_FIFO_URGENT_THRESHOLD_REG718,43046 -#define MV64340_ETH_TX_FIFO_URGENT_THRESHOLD_REG(MV64340_ETH_TX_FIFO_URGENT_THRESHOLD_REG719,43135 -#define MV64340_ETH_RX_MINIMAL_FRAME_SIZE_REG(MV64340_ETH_RX_MINIMAL_FRAME_SIZE_REG720,43224 -#define MV64340_ETH_RX_DISCARDED_FRAMES_COUNTER(MV64340_ETH_RX_DISCARDED_FRAMES_COUNTER721,43313 -#define MV64340_ETH_PORT_DEBUG_0_REG(MV64340_ETH_PORT_DEBUG_0_REG722,43401 -#define MV64340_ETH_PORT_DEBUG_1_REG(MV64340_ETH_PORT_DEBUG_1_REG723,43490 -#define MV64340_ETH_PORT_INTERNAL_ADDR_ERROR_REG(MV64340_ETH_PORT_INTERNAL_ADDR_ERROR_REG724,43579 -#define MV64340_ETH_INTERNAL_USE_REG(MV64340_ETH_INTERNAL_USE_REG725,43668 -#define MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG(MV64340_ETH_RECEIVE_QUEUE_COMMAND_REG726,43757 -#define MV64340_ETH_CURRENT_SERVED_TX_DESC_PTR(MV64340_ETH_CURRENT_SERVED_TX_DESC_PTR727,43846 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_0(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_0728,43941 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_1(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_1729,44035 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_2(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_2730,44129 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_3(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_3731,44223 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_4(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_4732,44317 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_5(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_5733,44411 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_6(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_6734,44505 -#define MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_7(MV64340_ETH_RX_CURRENT_QUEUE_DESC_PTR_7735,44599 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_0(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_0736,44693 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_1(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_1737,44787 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_2(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_2738,44881 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_3(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_3739,44975 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_4(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_4740,45069 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_5(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_5741,45163 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_6(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_6742,45257 -#define MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_7(MV64340_ETH_TX_CURRENT_QUEUE_DESC_PTR_7743,45351 -#define MV64340_ETH_TX_QUEUE_0_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_0_TOKEN_BUCKET_COUNT744,45445 -#define MV64340_ETH_TX_QUEUE_1_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_1_TOKEN_BUCKET_COUNT745,45534 -#define MV64340_ETH_TX_QUEUE_2_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_2_TOKEN_BUCKET_COUNT746,45623 -#define MV64340_ETH_TX_QUEUE_3_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_3_TOKEN_BUCKET_COUNT747,45712 -#define MV64340_ETH_TX_QUEUE_4_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_4_TOKEN_BUCKET_COUNT748,45801 -#define MV64340_ETH_TX_QUEUE_5_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_5_TOKEN_BUCKET_COUNT749,45890 -#define MV64340_ETH_TX_QUEUE_6_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_6_TOKEN_BUCKET_COUNT750,45979 -#define MV64340_ETH_TX_QUEUE_7_TOKEN_BUCKET_COUNT(MV64340_ETH_TX_QUEUE_7_TOKEN_BUCKET_COUNT751,46068 -#define MV64340_ETH_TX_QUEUE_0_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_0_TOKEN_BUCKET_CONFIG752,46157 -#define MV64340_ETH_TX_QUEUE_1_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_1_TOKEN_BUCKET_CONFIG753,46246 -#define MV64340_ETH_TX_QUEUE_2_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_2_TOKEN_BUCKET_CONFIG754,46335 -#define MV64340_ETH_TX_QUEUE_3_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_3_TOKEN_BUCKET_CONFIG755,46424 -#define MV64340_ETH_TX_QUEUE_4_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_4_TOKEN_BUCKET_CONFIG756,46513 -#define MV64340_ETH_TX_QUEUE_5_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_5_TOKEN_BUCKET_CONFIG757,46602 -#define MV64340_ETH_TX_QUEUE_6_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_6_TOKEN_BUCKET_CONFIG758,46691 -#define MV64340_ETH_TX_QUEUE_7_TOKEN_BUCKET_CONFIG(MV64340_ETH_TX_QUEUE_7_TOKEN_BUCKET_CONFIG759,46780 -#define MV64340_ETH_TX_QUEUE_0_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_0_ARBITER_CONFIG760,46869 -#define MV64340_ETH_TX_QUEUE_1_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_1_ARBITER_CONFIG761,46958 -#define MV64340_ETH_TX_QUEUE_2_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_2_ARBITER_CONFIG762,47047 -#define MV64340_ETH_TX_QUEUE_3_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_3_ARBITER_CONFIG763,47136 -#define MV64340_ETH_TX_QUEUE_4_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_4_ARBITER_CONFIG764,47225 -#define MV64340_ETH_TX_QUEUE_5_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_5_ARBITER_CONFIG765,47314 -#define MV64340_ETH_TX_QUEUE_6_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_6_ARBITER_CONFIG766,47403 -#define MV64340_ETH_TX_QUEUE_7_ARBITER_CONFIG(MV64340_ETH_TX_QUEUE_7_ARBITER_CONFIG767,47492 -#define MV64340_ETH_PORT_TX_TOKEN_BUCKET_COUNT(MV64340_ETH_PORT_TX_TOKEN_BUCKET_COUNT768,47581 -#define MV64340_ETH_DA_FILTER_SPECIAL_MULTICAST_TABLE_BASE(MV64340_ETH_DA_FILTER_SPECIAL_MULTICAST_TABLE_BASE769,47670 -#define MV64340_ETH_DA_FILTER_OTHER_MULTICAST_TABLE_BASE(MV64340_ETH_DA_FILTER_OTHER_MULTICAST_TABLE_BASE770,47759 -#define MV64340_ETH_DA_FILTER_UNICAST_TABLE_BASE(MV64340_ETH_DA_FILTER_UNICAST_TABLE_BASE771,47848 -#define MV64340_CUNIT_BASE_ADDR_REG0 779,48134 -#define MV64340_CUNIT_BASE_ADDR_REG1 780,48209 -#define MV64340_CUNIT_BASE_ADDR_REG2 781,48284 -#define MV64340_CUNIT_BASE_ADDR_REG3 782,48359 -#define MV64340_CUNIT_SIZE0 783,48434 -#define MV64340_CUNIT_SIZE1 784,48509 -#define MV64340_CUNIT_SIZE2 785,48584 -#define MV64340_CUNIT_SIZE3 786,48659 -#define MV64340_CUNIT_HIGH_ADDR_REMAP_REG0 787,48734 -#define MV64340_CUNIT_HIGH_ADDR_REMAP_REG1 788,48809 -#define MV64340_CUNIT_BASE_ADDR_ENABLE_REG 789,48884 -#define MV64340_MPSC0_ACCESS_PROTECTION_REG 790,48959 -#define MV64340_MPSC1_ACCESS_PROTECTION_REG 791,49034 -#define MV64340_CUNIT_INTERNAL_SPACE_BASE_ADDR_REG 792,49109 -#define MV64340_CUNIT_INTERRUPT_CAUSE_REG 796,49225 -#define MV64340_CUNIT_INTERRUPT_MASK_REG 797,49300 -#define MV64340_CUNIT_ERROR_ADDR 798,49375 -#define MV64340_CUNIT_ARBITER_CONTROL_REG 802,49491 -#define MV64340_CUNIT_CONFIG_REG 803,49566 -#define MV64340_CUNIT_CRROSBAR_TIMEOUT_REG 804,49641 -#define MV64340_CUNIT_DEBUG_LOW 808,49757 -#define MV64340_CUNIT_DEBUG_HIGH 809,49832 -#define MV64340_CUNIT_MMASK 810,49907 -#define MV64340_MPSC_ROUTING_REG 814,50031 -#define MV64340_MPSC_RX_CLOCK_ROUTING_REG 815,50106 -#define MV64340_MPSC_TX_CLOCK_ROUTING_REG 816,50181 -#define MV64340_MPSC_CAUSE_REG(MV64340_MPSC_CAUSE_REG820,50303 -#define MV64340_MPSC_MASK_REG(MV64340_MPSC_MASK_REG821,50391 -#define MV64340_MPSC_MAIN_CONFIG_LOW(MV64340_MPSC_MAIN_CONFIG_LOW823,50481 -#define MV64340_MPSC_MAIN_CONFIG_HIGH(MV64340_MPSC_MAIN_CONFIG_HIGH824,50570 -#define MV64340_MPSC_PROTOCOL_CONFIG(MV64340_MPSC_PROTOCOL_CONFIG825,50663 -#define MV64340_MPSC_CHANNEL_REG1(MV64340_MPSC_CHANNEL_REG1826,50756 -#define MV64340_MPSC_CHANNEL_REG2(MV64340_MPSC_CHANNEL_REG2827,50849 -#define MV64340_MPSC_CHANNEL_REG3(MV64340_MPSC_CHANNEL_REG3828,50942 -#define MV64340_MPSC_CHANNEL_REG4(MV64340_MPSC_CHANNEL_REG4829,51035 -#define MV64340_MPSC_CHANNEL_REG5(MV64340_MPSC_CHANNEL_REG5830,51128 -#define MV64340_MPSC_CHANNEL_REG6(MV64340_MPSC_CHANNEL_REG6831,51221 -#define MV64340_MPSC_CHANNEL_REG7(MV64340_MPSC_CHANNEL_REG7832,51314 -#define MV64340_MPSC_CHANNEL_REG8(MV64340_MPSC_CHANNEL_REG8833,51407 -#define MV64340_MPSC_CHANNEL_REG9(MV64340_MPSC_CHANNEL_REG9834,51500 -#define MV64340_MPSC_CHANNEL_REG10(MV64340_MPSC_CHANNEL_REG10835,51593 -#define MV64340_SDMA_CONFIG_REG(MV64340_SDMA_CONFIG_REG844,51860 -#define MV64340_SDMA_COMMAND_REG(MV64340_SDMA_COMMAND_REG845,51957 -#define MV64340_SDMA_CURRENT_RX_DESCRIPTOR_POINTER(MV64340_SDMA_CURRENT_RX_DESCRIPTOR_POINTER846,52054 -#define MV64340_SDMA_CURRENT_TX_DESCRIPTOR_POINTER(MV64340_SDMA_CURRENT_TX_DESCRIPTOR_POINTER847,52151 -#define MV64340_SDMA_FIRST_TX_DESCRIPTOR_POINTER(MV64340_SDMA_FIRST_TX_DESCRIPTOR_POINTER848,52248 -#define MV64340_SDMA_CAUSE_REG 850,52339 -#define MV64340_SDMA_MASK_REG 851,52414 -#define MV64340_BRG_CONFIG_REG(MV64340_BRG_CONFIG_REG855,52521 -#define MV64340_BRG_BAUDE_TUNING_REG(MV64340_BRG_BAUDE_TUNING_REG856,52606 -#define MV64340_BRG_CAUSE_REG 857,52691 -#define MV64340_BRG_MASK_REG 858,52766 -#define MV64340_DMA_CHANNEL0_CONTROL 864,52957 -#define MV64340_DMA_CHANNEL0_CONTROL_HIGH 865,53008 -#define MV64340_DMA_CHANNEL1_CONTROL 866,53062 -#define MV64340_DMA_CHANNEL1_CONTROL_HIGH 867,53113 -#define MV64340_DMA_CHANNEL2_CONTROL 868,53167 -#define MV64340_DMA_CHANNEL2_CONTROL_HIGH 869,53218 -#define MV64340_DMA_CHANNEL3_CONTROL 870,53272 -#define MV64340_DMA_CHANNEL3_CONTROL_HIGH 871,53323 -#define MV64340_DMA_CHANNEL0_BYTE_COUNT 878,53509 -#define MV64340_DMA_CHANNEL1_BYTE_COUNT 879,53583 -#define MV64340_DMA_CHANNEL2_BYTE_COUNT 880,53657 -#define MV64340_DMA_CHANNEL3_BYTE_COUNT 881,53731 -#define MV64340_DMA_CHANNEL0_SOURCE_ADDR 882,53805 -#define MV64340_DMA_CHANNEL1_SOURCE_ADDR 883,53879 -#define MV64340_DMA_CHANNEL2_SOURCE_ADDR 884,53953 -#define MV64340_DMA_CHANNEL3_SOURCE_ADDR 885,54027 -#define MV64340_DMA_CHANNEL0_DESTINATION_ADDR 886,54101 -#define MV64340_DMA_CHANNEL1_DESTINATION_ADDR 887,54175 -#define MV64340_DMA_CHANNEL2_DESTINATION_ADDR 888,54249 -#define MV64340_DMA_CHANNEL3_DESTINATION_ADDR 889,54323 -#define MV64340_DMA_CHANNEL0_NEXT_DESCRIPTOR_POINTER 890,54397 -#define MV64340_DMA_CHANNEL1_NEXT_DESCRIPTOR_POINTER 891,54471 -#define MV64340_DMA_CHANNEL2_NEXT_DESCRIPTOR_POINTER 892,54545 -#define MV64340_DMA_CHANNEL3_NEXT_DESCRIPTOR_POINTER 893,54619 -#define MV64340_DMA_CHANNEL0_CURRENT_DESCRIPTOR_POINTER 894,54693 -#define MV64340_DMA_CHANNEL1_CURRENT_DESCRIPTOR_POINTER 895,54767 -#define MV64340_DMA_CHANNEL2_CURRENT_DESCRIPTOR_POINTER 896,54841 -#define MV64340_DMA_CHANNEL3_CURRENT_DESCRIPTOR_POINTER 897,54915 -#define MV64340_DMA_BASE_ADDR_REG0 901,55046 -#define MV64340_DMA_BASE_ADDR_REG1 902,55120 -#define MV64340_DMA_BASE_ADDR_REG2 903,55194 -#define MV64340_DMA_BASE_ADDR_REG3 904,55268 -#define MV64340_DMA_BASE_ADDR_REG4 905,55342 -#define MV64340_DMA_BASE_ADDR_REG5 906,55416 -#define MV64340_DMA_BASE_ADDR_REG6 907,55490 -#define MV64340_DMA_BASE_ADDR_REG7 908,55564 -#define MV64340_DMA_SIZE_REG0 912,55696 -#define MV64340_DMA_SIZE_REG1 913,55770 -#define MV64340_DMA_SIZE_REG2 914,55844 -#define MV64340_DMA_SIZE_REG3 915,55918 -#define MV64340_DMA_SIZE_REG4 916,55992 -#define MV64340_DMA_SIZE_REG5 917,56066 -#define MV64340_DMA_SIZE_REG6 918,56140 -#define MV64340_DMA_SIZE_REG7 919,56214 -#define MV64340_DMA_HIGH_ADDR_REMAP_REG0 924,56426 -#define MV64340_DMA_HIGH_ADDR_REMAP_REG1 925,56500 -#define MV64340_DMA_HIGH_ADDR_REMAP_REG2 926,56574 -#define MV64340_DMA_HIGH_ADDR_REMAP_REG3 927,56648 -#define MV64340_DMA_BASE_ADDR_ENABLE_REG 928,56722 -#define MV64340_DMA_CHANNEL0_ACCESS_PROTECTION_REG 929,56796 -#define MV64340_DMA_CHANNEL1_ACCESS_PROTECTION_REG 930,56870 -#define MV64340_DMA_CHANNEL2_ACCESS_PROTECTION_REG 931,56944 -#define MV64340_DMA_CHANNEL3_ACCESS_PROTECTION_REG 932,57018 -#define MV64340_DMA_ARBITER_CONTROL 933,57092 -#define MV64340_DMA_CROSS_BAR_TIMEOUT 934,57166 -#define MV64340_DMA_HEADERS_RETARGET_CONTROL 938,57284 -#define MV64340_DMA_HEADERS_RETARGET_BASE 939,57358 -#define MV64340_DMA_INTERRUPT_CAUSE_REG 943,57467 -#define MV64340_DMA_INTERRUPT_CAUSE_MASK 944,57541 -#define MV64340_DMA_ERROR_ADDR 945,57615 -#define MV64340_DMA_ERROR_SELECT 946,57689 -#define MV64340_DMA_DEBUG_LOW 950,57817 -#define MV64340_DMA_DEBUG_HIGH 951,57891 -#define MV64340_DMA_SPARE 952,57965 -#define MV64340_TIMER_COUNTER0 958,58150 -#define MV64340_TIMER_COUNTER1 959,58195 -#define MV64340_TIMER_COUNTER2 960,58240 -#define MV64340_TIMER_COUNTER3 961,58285 -#define MV64340_TIMER_COUNTER_0_3_CONTROL 962,58330 -#define MV64340_TIMER_COUNTER_0_3_INTERRUPT_CAUSE 963,58384 -#define MV64340_TIMER_COUNTER_0_3_INTERRUPT_MASK 964,58445 -#define MV64340_WATCHDOG_CONFIG_REG 970,58642 -#define MV64340_WATCHDOG_VALUE_REG 971,58717 -#define MV64340_I2C_SLAVE_ADDR 977,58923 -#define MV64340_I2C_EXTENDED_SLAVE_ADDR 978,58998 -#define MV64340_I2C_DATA 979,59073 -#define MV64340_I2C_CONTROL 980,59148 -#define MV64340_I2C_STATUS_BAUDE_RATE 981,59223 -#define MV64340_I2C_SOFT_RESET 982,59298 -#define MV64340_GPP_IO_CONTROL 988,59504 -#define MV64340_GPP_LEVEL_CONTROL 989,59579 -#define MV64340_GPP_VALUE 990,59654 -#define MV64340_GPP_INTERRUPT_CAUSE 991,59729 -#define MV64340_GPP_INTERRUPT_MASK0 992,59804 -#define MV64340_GPP_INTERRUPT_MASK1 993,59879 -#define MV64340_GPP_VALUE_SET 994,59954 -#define MV64340_GPP_VALUE_CLEAR 995,60029 -#define MV64340_MAIN_INTERRUPT_CAUSE_LOW 1005,60344 -#define MV64340_MAIN_INTERRUPT_CAUSE_HIGH 1006,60418 -#define MV64340_CPU_INTERRUPT0_MASK_LOW 1007,60492 -#define MV64340_CPU_INTERRUPT0_MASK_HIGH 1008,60566 -#define MV64340_CPU_INTERRUPT0_SELECT_CAUSE 1009,60640 -#define MV64340_CPU_INTERRUPT1_MASK_LOW 1010,60714 -#define MV64340_CPU_INTERRUPT1_MASK_HIGH 1011,60788 -#define MV64340_CPU_INTERRUPT1_SELECT_CAUSE 1012,60862 -#define MV64340_INTERRUPT0_MASK_0_LOW 1013,60936 -#define MV64340_INTERRUPT0_MASK_0_HIGH 1014,61010 -#define MV64340_INTERRUPT0_SELECT_CAUSE 1015,61084 -#define MV64340_INTERRUPT1_MASK_0_LOW 1016,61158 -#define MV64340_INTERRUPT1_MASK_0_HIGH 1017,61232 -#define MV64340_INTERRUPT1_SELECT_CAUSE 1018,61306 -#define MV64340_MPP_CONTROL0 1024,61511 -#define MV64340_MPP_CONTROL1 1025,61586 -#define MV64340_MPP_CONTROL2 1026,61661 -#define MV64340_MPP_CONTROL3 1027,61736 -#define MV64340_SERIAL_INIT_LAST_DATA 1033,61942 -#define MV64340_SERIAL_INIT_CONTROL 1034,62017 -#define MV64340_SERIAL_INIT_STATUS 1035,62092 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/crc32.h,134 -#define _LINUX_CRC32_H6,90 -#define crc32(crc3214,307 -#define ether_crc(ether_crc24,723 -#define ether_crc_le(ether_crc_le25,797 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cycx_cfm.h,588 -#define _CYCX_CFM_H19,670 -#define CFM_VERSION 23,706 -#define CFM_SIGNATURE 24,728 -#define CFM_IMAGE_SIZE 27,803 -#define CFM_DESCR_LEN 28,873 -#define CFM_MAX_CYCX 29,938 -#define CFM_LOAD_BUFSZ 30,1001 -#define GEN_POWER_ON 33,1102 -#define GEN_SET_SEG 35,1131 -#define GEN_BOOT_DAT 36,1186 -#define GEN_START 37,1231 -#define GEN_DEFPAR 38,1275 -#define CYCX_2X 41,1352 -#define CYCX_8X 43,1441 -#define CYCX_16X 44,1460 -#define CFID_X25_2X 46,1481 -struct cycx_fw_info cycx_fw_info62,1951 -struct cycx_firmware cycx_firmware86,2558 -struct cycx_fw_header cycx_fw_header96,2792 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/usb_ch9.h,4013 -#define __LINUX_USB_CH9_H17,659 -#define USB_DIR_OUT 31,1005 -#define USB_DIR_IN 32,1046 -#define USB_TYPE_MASK 37,1149 -#define USB_TYPE_STANDARD 38,1185 -#define USB_TYPE_CLASS 39,1224 -#define USB_TYPE_VENDOR 40,1261 -#define USB_TYPE_RESERVED 41,1299 -#define USB_RECIP_MASK 46,1404 -#define USB_RECIP_DEVICE 47,1434 -#define USB_RECIP_INTERFACE 48,1465 -#define USB_RECIP_ENDPOINT 49,1499 -#define USB_RECIP_OTHER 50,1532 -#define USB_REQ_GET_STATUS 59,1807 -#define USB_REQ_CLEAR_FEATURE 60,1840 -#define USB_REQ_SET_FEATURE 61,1876 -#define USB_REQ_SET_ADDRESS 62,1910 -#define USB_REQ_GET_DESCRIPTOR 63,1944 -#define USB_REQ_SET_DESCRIPTOR 64,1981 -#define USB_REQ_GET_CONFIGURATION 65,2018 -#define USB_REQ_SET_CONFIGURATION 66,2057 -#define USB_REQ_GET_INTERFACE 67,2096 -#define USB_REQ_SET_INTERFACE 68,2132 -#define USB_REQ_SYNCH_FRAME 69,2168 -#define USB_DEVICE_SELF_POWERED 76,2399 -#define USB_DEVICE_REMOTE_WAKEUP 77,2452 -#define USB_DEVICE_TEST_MODE 78,2517 -#define USB_DEVICE_B_HNP_ENABLE 79,2573 -#define USB_DEVICE_A_HNP_SUPPORT 80,2635 -#define USB_DEVICE_A_ALT_HNP_SUPPORT 81,2697 -#define USB_ENDPOINT_HALT 83,2762 -struct usb_ctrlrequest usb_ctrlrequest103,3612 -#define USB_DT_DEVICE 125,4182 -#define USB_DT_CONFIG 126,4211 -#define USB_DT_STRING 127,4240 -#define USB_DT_INTERFACE 128,4269 -#define USB_DT_ENDPOINT 129,4300 -#define USB_DT_DEVICE_QUALIFIER 130,4331 -#define USB_DT_OTHER_SPEED_CONFIG 131,4369 -#define USB_DT_INTERFACE_POWER 132,4408 -#define USB_DT_OTG 134,4497 -#define USB_DT_DEBUG 135,4523 -#define USB_DT_INTERFACE_ASSOCIATION 136,4551 -#define USB_DT_CS_DEVICE 139,4650 -#define USB_DT_CS_CONFIG 140,4681 -#define USB_DT_CS_STRING 141,4712 -#define USB_DT_CS_INTERFACE 142,4743 -#define USB_DT_CS_ENDPOINT 143,4777 -struct usb_descriptor_header usb_descriptor_header146,4879 -struct usb_device_descriptor usb_device_descriptor155,5098 -#define USB_DT_DEVICE_SIZE 173,5448 -#define USB_CLASS_PER_INTERFACE 181,5614 -#define USB_CLASS_AUDIO 182,5671 -#define USB_CLASS_COMM 183,5699 -#define USB_CLASS_HID 184,5726 -#define USB_CLASS_PHYSICAL 185,5752 -#define USB_CLASS_STILL_IMAGE 186,5782 -#define USB_CLASS_PRINTER 187,5815 -#define USB_CLASS_MASS_STORAGE 188,5844 -#define USB_CLASS_HUB 189,5878 -#define USB_CLASS_CDC_DATA 190,5904 -#define USB_CLASS_CSCID 191,5937 -#define USB_CLASS_CONTENT_SEC 192,5991 -#define USB_CLASS_VIDEO 193,6050 -#define USB_CLASS_APP_SPEC 194,6081 -#define USB_CLASS_VENDOR_SPEC 195,6114 -struct usb_config_descriptor usb_config_descriptor207,6587 -#define USB_DT_CONFIG_SIZE 219,6822 -#define USB_CONFIG_ATT_ONE 222,6895 -#define USB_CONFIG_ATT_SELFPOWER 223,6950 -#define USB_CONFIG_ATT_WAKEUP 224,7011 -struct usb_string_descriptor usb_string_descriptor229,7187 -struct usb_interface_descriptor usb_interface_descriptor243,7575 -#define USB_DT_INTERFACE_SIZE 256,7849 -struct usb_endpoint_descriptor usb_endpoint_descriptor261,8005 -#define USB_DT_ENDPOINT_SIZE 276,8341 -#define USB_DT_ENDPOINT_AUDIO_SIZE 277,8373 -#define USB_ENDPOINT_NUMBER_MASK 283,8454 -#define USB_ENDPOINT_DIR_MASK 284,8518 -#define USB_ENDPOINT_XFERTYPE_MASK 286,8555 -#define USB_ENDPOINT_XFER_CONTROL 287,8617 -#define USB_ENDPOINT_XFER_ISOC 288,8653 -#define USB_ENDPOINT_XFER_BULK 289,8687 -#define USB_ENDPOINT_XFER_INT 290,8721 -struct usb_qualifier_descriptor usb_qualifier_descriptor296,8894 -struct usb_otg_descriptor usb_otg_descriptor313,9275 -#define USB_OTG_SRP 321,9469 -#define USB_OTG_HNP 322,9499 -struct usb_interface_assoc_descriptor usb_interface_assoc_descriptor327,9692 -enum usb_device_speed usb_device_speed344,10093 - USB_SPEED_UNKNOWN 345,10117 - USB_SPEED_LOW,346,10161 - USB_SPEED_LOW, USB_SPEED_FULL,346,10161 - USB_SPEED_HIGH 347,10208 -enum usb_device_state usb_device_state350,10245 - USB_STATE_NOTATTACHED 354,10389 - USB_STATE_ATTACHED,357,10453 - USB_STATE_POWERED,358,10474 - USB_STATE_DEFAULT,359,10494 - USB_STATE_ADDRESS,360,10539 - USB_STATE_CONFIGURED,361,10559 - USB_STATE_SUSPENDED363,10606 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_wanpipe_common.h,371 -#define _WANPIPE_SOCK_DRIVER_COMMON_H18,809 -} wanpipe_common_t;wanpipe_common_t42,1434 - WANSOCK_UNCONFIGURED,46,1463 - WANSOCK_DISCONNECTED,47,1523 - WANSOCK_CONNECTING,48,1581 - WANSOCK_CONNECTED,49,1635 - WANSOCK_LIMIT,50,1690 - WANSOCK_DUALPORT,51,1735 - WANSOCK_DISCONNECTING,52,1781 - WANSOCK_BINDED,53,1805 - WANSOCK_BIND_LISTEN,54,1822 - WANSOCK_LISTEN55,1844 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/statfs.h,59 -#define _LINUX_STATFS_H2,24 -struct kstatfs kstatfs8,100 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/jhash.h,293 -#define _LINUX_JHASH_H2,23 -#define __jhash_mix(__jhash_mix24,719 -#define JHASH_GOLDEN_RATIO 38,1106 -static inline u32 jhash(44,1289 -static inline u32 jhash2(87,2254 -static inline u32 jhash_3words(122,2834 -static inline u32 jhash_2words(133,3007 -static inline u32 jhash_1word(138,3110 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smb_fs_i.h,76 -#define _LINUX_SMB_FS_I10,158 -struct smb_inode_info smb_inode_info19,294 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atmsvc.h,896 -#define _LINUX_ATMSVC_H7,155 -#define ATMSIGD_CTRL 14,257 -enum atmsvc_msg_type atmsvc_msg_type17,355 -enum atmsvc_msg_type { as_catch_null,17,355 -enum atmsvc_msg_type { as_catch_null,as_bind,17,355 -enum atmsvc_msg_type { as_catch_null,as_bind,as_connect,17,355 -enum atmsvc_msg_type { as_catch_null,as_bind,as_connect,as_accept,17,355 -enum atmsvc_msg_type { as_catch_null,as_bind,as_connect,as_accept,as_reject,17,355 - as_listen,18,432 - as_listen,as_okay,18,432 - as_listen,as_okay,as_error,18,432 - as_listen,as_okay,as_error,as_indicate,18,432 - as_listen,as_okay,as_error,as_indicate,as_close,18,432 - as_listen,as_okay,as_error,as_indicate,as_close,as_itf_notify,18,432 - as_modify,19,497 - as_modify,as_identify,19,497 - as_modify,as_identify,as_terminate 19,497 -struct atmsvc_msg atmsvc_msg21,538 -} __ATM_API_ALIGN;37,1163 -#define SELECT_TOP_PCR(SELECT_TOP_PCR50,1559 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/quota.h,2558 -#define _LINUX_QUOTA_36,1794 -#define __DQUOT_VERSION__ 42,1896 -#define __DQUOT_NUM_VERSION__ 43,1936 -typedef __kernel_uid32_t qid_t;qid_t45,1983 -typedef __u64 qsize_t;qsize_t46,2058 -#define QUOTABLOCK_BITS 51,2213 -#define QUOTABLOCK_SIZE 52,2240 -#define qb2kb(qb2kb55,2339 -#define kb2qb(kb2qb56,2386 -#define toqb(toqb57,2433 -#define MAXQUOTAS 59,2499 -#define USRQUOTA 60,2519 -#define GRPQUOTA 61,2575 -#define INITQFNAMES 66,2698 -#define SUBCMDMASK 78,3026 -#define SUBCMDSHIFT 79,3053 -#define QCMD(QCMD80,3075 -#define Q_SYNC 82,3150 -#define Q_QUOTAON 83,3223 -#define Q_QUOTAOFF 84,3272 -#define Q_GETFMT 85,3322 -#define Q_GETINFO 86,3398 -#define Q_SETINFO 87,3466 -#define Q_GETQUOTA 88,3534 -#define Q_SETQUOTA 89,3593 -#define QIF_BLIMITS 95,3792 -#define QIF_SPACE 96,3814 -#define QIF_ILIMITS 97,3834 -#define QIF_INODES 98,3856 -#define QIF_BTIME 99,3877 -#define QIF_ITIME 100,3898 -#define QIF_LIMITS 101,3919 -#define QIF_USAGE 102,3966 -#define QIF_TIMES 103,4009 -#define QIF_ALL 104,4051 -struct if_dqblk if_dqblk106,4106 -#define IIF_BGRACE 122,4458 -#define IIF_IGRACE 123,4479 -#define IIF_FLAGS 124,4500 -#define IIF_ALL 125,4520 -struct if_dqinfo if_dqinfo127,4576 -#define DQUOT_MAX_WRITES 142,4918 -struct mem_dqblk mem_dqblk147,4995 -struct mem_dqinfo mem_dqinfo163,5551 -#define DQF_MASK 177,5847 -#define DQF_INFO_DIRTY_B 178,5909 -#define DQF_INFO_DIRTY 179,5937 -#define info_dirty(info_dirty182,6069 -#define info_any_dquot_dirty(info_any_dquot_dirty183,6141 -#define info_any_dirty(info_any_dirty184,6215 -#define sb_dqopt(sb_dqopt186,6294 -#define sb_dqinfo(sb_dqinfo187,6332 -struct dqstats dqstats189,6389 -#define DQ_MOD_B 202,6563 -#define DQ_BLKS_B 203,6614 -#define DQ_INODES_B 204,6680 -#define DQ_FAKE_B 205,6750 -#define DQ_READ_B 206,6797 -#define DQ_ACTIVE_B 207,6850 -#define DQ_WAITFREE_B 208,6921 -struct dquot dquot210,6994 -#define NODQUOT 226,7683 -#define QUOTA_OK 228,7721 -#define NO_QUOTA 229,7749 -struct quota_format_ops quota_format_ops232,7842 -struct dquot_operations dquot_operations243,8558 -struct quotactl_ops quotactl_ops259,9361 -struct quota_format_type quota_format_type273,10095 -#define DQUOT_USR_ENABLED 280,10327 -#define DQUOT_GRP_ENABLED 281,10389 -struct quota_info quota_info283,10453 -#define dquot_dirty(dquot_dirty296,11128 -#define sb_has_quota_enabled(sb_has_quota_enabled298,11195 -#define sb_any_quota_enabled(sb_any_quota_enabled301,11345 -struct quota_module_name quota_module_name307,11581 -#define INIT_QUOTA_MODULE_NAMES 312,11648 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdlasfm.h,1032 -#define _SDLASFM_H21,960 -#define SFM_VERSION 25,1060 -#define SFM_SIGNATURE 26,1082 -#define SFM_IMAGE_SIZE 29,1156 -#define SFM_DESCR_LEN 30,1225 -#define SFM_MAX_SDLA 31,1290 -#define SDLA_S502A 34,1375 -#define SDLA_S502E 35,1399 -#define SDLA_S503 36,1423 -#define SDLA_S508 37,1446 -#define SDLA_S507 38,1469 -#define SDLA_S509 39,1492 -#define SDLA_S514 40,1515 -#define S514_CPU_A 43,1574 -#define S514_CPU_B 44,1597 -#define SFID_CALIB502 58,1905 -#define SFID_STRM502 59,1932 -#define SFID_STRM508 60,1958 -#define SFID_BSC502 61,1984 -#define SFID_SDLC502 62,2009 -#define SFID_HDLC502 63,2035 -#define SFID_HDLC508 64,2061 -#define SFID_X25_502 65,2087 -#define SFID_X25_508 66,2113 -#define SFID_FR502 67,2139 -#define SFID_FR508 68,2163 -#define SFID_PPP502 69,2187 -#define SFID_PPP508 70,2212 -#define SFID_PPP514 71,2237 -#define SFID_CHDLC508 72,2262 -#define SFID_CHDLC514 73,2289 -typedef struct sfm_info sfm_info77,2397 -} sfm_info_t;sfm_info_t90,3045 -typedef struct sfm sfm92,3060 -} sfm_t;sfm_t101,3463 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/usb_otg.h,622 -enum usb_otg_state usb_otg_state11,294 - OTG_STATE_UNDEFINED 12,315 - OTG_STATE_B_IDLE,15,397 - OTG_STATE_B_SRP_INIT,16,416 - OTG_STATE_B_PERIPHERAL,17,439 - OTG_STATE_B_WAIT_ACON,20,505 - OTG_STATE_B_HOST,21,529 - OTG_STATE_A_IDLE,24,576 - OTG_STATE_A_WAIT_VRISE,25,595 - OTG_STATE_A_WAIT_BCON,26,620 - OTG_STATE_A_HOST,27,644 - OTG_STATE_A_SUSPEND,28,663 - OTG_STATE_A_PERIPHERAL,29,685 - OTG_STATE_A_WAIT_VFALL,30,710 - OTG_STATE_A_VBUS_ERR,31,735 -struct otg_transceiver otg_transceiver40,1051 -otg_start_hnp(83,2099 -otg_set_host(91,2210 -otg_set_peripheral(99,2376 -otg_set_power(105,2516 -otg_start_srp(111,2628 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/crypto/ksign.h,37 -#define _LINUX_CRYPTO_KSIGN_H13,440 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/crypto/mpi.h,478 -#define G10_MPI_H31,1335 -#define SHA1_DIGEST_LENGTH 37,1399 -#define BYTES_PER_MPI_LIMB 41,1457 -#define BITS_PER_MPI_LIMB 42,1504 -typedef unsigned long int mpi_limb_t;mpi_limb_t44,1545 -typedef signed long int mpi_limb_signed_t;mpi_limb_signed_t45,1583 -struct gcry_mpi gcry_mpi47,1629 -typedef struct gcry_mpi *MPI;MPI58,2069 -#define MPI_NULL 60,2100 -#define mpi_get_nlimbs(mpi_get_nlimbs62,2123 -#define mpi_is_neg(mpi_is_neg63,2167 -#define log_mpidump 88,3058 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atm_idt77105.h,147 -#define LINUX_ATM_IDT77105_H8,226 -struct idt77105_stats idt77105_stats18,441 -#define IDT77105_GETSTAT 25,702 -#define IDT77105_GETSTATZ 26,787 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smb.h,941 -#define _LINUX_SMB_H10,156 -enum smb_protocol smb_protocol14,204 - SMB_PROTOCOL_NONE,15,225 - SMB_PROTOCOL_CORE,16,246 - SMB_PROTOCOL_COREPLUS,17,267 - SMB_PROTOCOL_LANMAN1,18,292 - SMB_PROTOCOL_LANMAN2,19,316 - SMB_PROTOCOL_NT1 20,340 -enum smb_case_hndl smb_case_hndl23,363 - SMB_CASE_DEFAULT,24,384 - SMB_CASE_LOWER,25,403 - SMB_CASE_UPPER26,420 -struct smb_dskattr smb_dskattr29,440 -struct smb_conn_opt smb_conn_opt36,558 -#define SMB_NLS_MAXNAMELEN 65,1196 -struct smb_nls_codepage smb_nls_codepage66,1226 -#define SMB_MAXNAMELEN 72,1334 -#define SMB_MAXPATHLEN 73,1361 -struct smb_fattr smb_fattr78,1452 -enum smb_conn_state smb_conn_state96,1754 - CONN_VALID,97,1776 - CONN_INVALID,98,1814 - CONN_RETRIED,100,1899 - CONN_RETRYING 101,1959 -#define SMB_SUPER_MAGIC 104,2015 -#define SMB_HEADER_LEN 106,2061 -#define SMB_INITIAL_PACKET_SIZE 109,2188 -#define SMB_MAX_PACKET_SIZE 110,2226 -#define SMB_TRANS2_MAX_PARAM 114,2393 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdla_asy.h,1939 -#define _WANPIPE_ASYNC_H20,717 -#define SET_ASY_CONFIGURATION 26,949 -#define READ_ASY_CONFIGURATION 27,1037 -#define ENABLE_ASY_COMMUNICATIONS 28,1135 -#define DISABLE_ASY_COMMUNICATIONS 29,1214 -#define READ_ASY_OPERATIONAL_STATS 30,1295 -#define FLUSH_ASY_OPERATIONAL_STATS 31,1389 -#define TRANSMIT_ASY_BREAK_SIGNAL 32,1481 -#define COMMAND_INVALID_FOR_PORT 40,1787 -#define DISABLE_ASY_COMMS_BEFORE_CFG 41,1876 -#define ASY_COMMS_ENABLED 42,1990 -#define ASY_COMMS_DISABLED 43,2065 -#define ASY_CFG_BEFORE_COMMS_ENABLED 44,2142 -#define LGTH_ASY_CFG_DATA_INVALID 45,2244 -#define INVALID_ASY_CFG_DATA 46,2346 -#define ASY_BREAK_SIGNAL_BUSY 47,2428 -} ASY_CONFIGURATION_STRUCT;ASY_CONFIGURATION_STRUCT75,4269 -#define MIN_ASY_BAUD_RATE 78,4384 -#define MAX_ASY_BAUD_RATE 79,4438 -#define MIN_ASY_BITS_PER_CHAR 80,4496 -#define MAX_ASY_BITS_PER_CHAR 81,4572 -#define MIN_BREAK_TMR_VAL 82,4648 -#define MAX_BREAK_TMR_VAL 83,4710 -#define MIN_ASY_RX_INTER_CHAR_TMR 84,4775 -#define MAX_ASY_RX_INTER_CHAR_TMR 85,4855 -#define MIN_ASY_RX_CPLT_LENGTH 86,4939 -#define MAX_ASY_RX_CPLT_LENGTH 87,5019 -#define ASY_RX_DATA_TRANSPARENT 90,5148 -#define ASY_RTS_HS_FOR_RX 93,5306 -#define ASY_XON_XOFF_HS_FOR_RX 94,5392 -#define ASY_XON_XOFF_HS_FOR_TX 95,5488 -#define ASY_DCD_HS_FOR_TX 96,5587 -#define ASY_CTS_HS_FOR_TX 97,5676 -#define ONE_STOP_BIT 100,5816 -#define TWO_STOP_BITS 101,5879 -#define ONE_AND_A_HALF_STOP_BITS 102,5944 -#define NO_PARITY 105,6068 -#define ODD_PARITY 106,6127 -#define EVEN_PARITY 107,6188 -} ASY_COMMS_ERROR_STATS_STRUCT;ASY_COMMS_ERROR_STATS_STRUCT127,7345 -} ASY_OPERATIONAL_STATS_STRUCT;ASY_OPERATIONAL_STATS_STRUCT174,10023 -} ASY_TX_STATUS_EL_CFG_STRUCT;ASY_TX_STATUS_EL_CFG_STRUCT187,10660 -} ASY_DATA_TX_STATUS_EL_STRUCT;ASY_DATA_TX_STATUS_EL_STRUCT198,11192 -} ASY_RX_STATUS_EL_CFG_STRUCT;ASY_RX_STATUS_EL_CFG_STRUCT213,11997 -} ASY_DATA_RX_STATUS_EL_STRUCT;ASY_DATA_RX_STATUS_EL_STRUCT224,12596 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kernelcapi.h,5130 -#define __KERNELCAPI_H__11,211 -#define CAPI_MAXAPPL 13,237 -#define CAPI_MAXCONTR 14,300 -#define CAPI_MAXDATAWINDOW 15,363 -typedef struct kcapi_flagdef kcapi_flagdef18,394 -} kcapi_flagdef;kcapi_flagdef21,448 -typedef struct kcapi_carddef kcapi_carddef23,466 -} kcapi_carddef;kcapi_carddef29,588 -#define KCAPI_CMD_TRACE 32,629 -#define KCAPI_CMD_ADDCARD 33,657 -#define KCAPI_TRACE_OFF 39,767 -#define KCAPI_TRACE_SHORT_NO_DATA 40,795 -#define KCAPI_TRACE_FULL_NO_DATA 41,831 -#define KCAPI_TRACE_SHORT 42,866 -#define KCAPI_TRACE_FULL 43,895 -#define KCI_CONTRUP 51,995 -#define KCI_CONTRDOWN 52,1048 -struct capi20_appl capi20_appl54,1089 -#define CAPI_NOERROR 92,2336 -#define CAPI_TOOMANYAPPLS 94,2386 -#define CAPI_LOGBLKSIZETOSMALL 95,2422 -#define CAPI_BUFFEXECEEDS64K 96,2470 -#define CAPI_MSGBUFSIZETOOSMALL 97,2517 -#define CAPI_ANZLOGCONNNOTSUPPORTED 98,2566 -#define CAPI_REGRESERVED 99,2611 -#define CAPI_REGBUSY 100,2646 -#define CAPI_REGOSRESOURCEERR 101,2686 -#define CAPI_REGNOTINSTALLED 102,2733 -#define CAPI_REGCTRLERNOTSUPPORTEXTEQUIP 103,2780 -#define CAPI_REGCTRLERONLYSUPPORTEXTEQUIP 104,2829 -#define CAPI_ILLAPPNR 106,2879 -#define CAPI_ILLCMDORSUBCMDORMSGTOSMALL 107,2919 -#define CAPI_SENDQUEUEFULL 108,2968 -#define CAPI_RECEIVEQUEUEEMPTY 109,3005 -#define CAPI_RECEIVEOVERFLOW 110,3053 -#define CAPI_UNKNOWNNOTPAR 111,3100 -#define CAPI_MSGBUSY 112,3137 -#define CAPI_MSGOSRESOURCEERR 113,3177 -#define CAPI_MSGNOTINSTALLED 114,3224 -#define CAPI_MSGCTRLERNOTSUPPORTEXTEQUIP 115,3271 -#define CAPI_MSGCTRLERONLYSUPPORTEXTEQUIP 116,3320 - CapiMessageNotSupportedInCurrentState 119,3385 - CapiMessageNotSupportedInCurrentState = 0x2001,119,3385 - CapiIllContrPlciNcci 120,3441 - CapiIllContrPlciNcci = 0x2002,120,3441 - CapiNoPlciAvailable 121,3497 - CapiNoPlciAvailable = 0x2003,121,3497 - CapiNoNcciAvailable 122,3553 - CapiNoNcciAvailable = 0x2004,122,3553 - CapiNoListenResourcesAvailable 123,3609 - CapiNoListenResourcesAvailable = 0x2005,123,3609 - CapiNoFaxResourcesAvailable 124,3665 - CapiNoFaxResourcesAvailable = 0x2006,124,3665 - CapiIllMessageParmCoding 125,3721 - CapiIllMessageParmCoding = 0x2007,125,3721 -} RESOURCE_CODING_PROBLEM;RESOURCE_CODING_PROBLEM126,3777 - CapiB1ProtocolNotSupported 129,3820 - CapiB1ProtocolNotSupported = 0x3001,129,3820 - CapiB2ProtocolNotSupported 130,3886 - CapiB2ProtocolNotSupported = 0x3002,130,3886 - CapiB3ProtocolNotSupported 131,3952 - CapiB3ProtocolNotSupported = 0x3003,131,3952 - CapiB1ProtocolParameterNotSupported 132,4018 - CapiB1ProtocolParameterNotSupported = 0x3004,132,4018 - CapiB2ProtocolParameterNotSupported 133,4084 - CapiB2ProtocolParameterNotSupported = 0x3005,133,4084 - CapiB3ProtocolParameterNotSupported 134,4150 - CapiB3ProtocolParameterNotSupported = 0x3006,134,4150 - CapiBProtocolCombinationNotSupported 135,4216 - CapiBProtocolCombinationNotSupported = 0x3007,135,4216 - CapiNcpiNotSupported 136,4282 - CapiNcpiNotSupported = 0x3008,136,4282 - CapiCipValueUnknown 137,4348 - CapiCipValueUnknown = 0x3009,137,4348 - CapiFlagsNotSupported 138,4414 - CapiFlagsNotSupported = 0x300a,138,4414 - CapiFacilityNotSupported 139,4480 - CapiFacilityNotSupported = 0x300b,139,4480 - CapiDataLengthNotSupportedByCurrentProtocol 140,4546 - CapiDataLengthNotSupportedByCurrentProtocol = 0x300c,140,4546 - CapiResetProcedureNotSupportedByCurrentProtocol 141,4612 - CapiResetProcedureNotSupportedByCurrentProtocol = 0x300d,141,4612 - CapiTeiAssignmentFailed 142,4678 - CapiTeiAssignmentFailed = 0x300e,142,4678 -} REQUESTED_SERVICES_PROBLEM;REQUESTED_SERVICES_PROBLEM143,4744 - CapiSuccess 146,4790 - CapiSuccess = 0x0000,146,4790 - CapiSupplementaryServiceNotSupported 147,4849 - CapiSupplementaryServiceNotSupported = 0x300e,147,4849 - CapiRequestNotAllowedInThisState 148,4908 - CapiRequestNotAllowedInThisState = 0x3010,148,4908 -} SUPPLEMENTARY_SERVICE_INFO;SUPPLEMENTARY_SERVICE_INFO149,4967 - CapiProtocolErrorLayer1 152,5013 - CapiProtocolErrorLayer1 = 0x3301,152,5013 - CapiProtocolErrorLayer2 153,5072 - CapiProtocolErrorLayer2 = 0x3302,153,5072 - CapiProtocolErrorLayer3 154,5131 - CapiProtocolErrorLayer3 = 0x3303,154,5131 - CapiTimeOut 155,5190 - CapiTimeOut = 0x3303,155,5190 - CapiCallGivenToOtherApplication 156,5270 - CapiCallGivenToOtherApplication = 0x3304,156,5270 -} CAPI_REASON;CAPI_REASON157,5329 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipx.h,1007 -#define _IPX_H_2,16 -#define IPX_NODE_LEN 5,85 -#define IPX_MTU 6,108 -struct sockaddr_ipx sockaddr_ipx8,130 -#define sipx_special 20,406 -#define sipx_action 21,437 -#define IPX_DLTITF 22,467 -#define IPX_CRTITF 23,488 -struct ipx_route_definition ipx_route_definition25,510 -struct ipx_interface_definition ipx_interface_definition31,653 -#define IPX_FRAME_NONE 35,777 -#define IPX_FRAME_SNAP 36,803 -#define IPX_FRAME_8022 37,829 -#define IPX_FRAME_ETHERII 38,855 -#define IPX_FRAME_8023 39,883 -#define IPX_FRAME_TR_8022 40,909 -#define IPX_SPECIAL_NONE 42,986 -#define IPX_PRIMARY 43,1013 -#define IPX_INTERNAL 44,1036 -struct ipx_config_data ipx_config_data48,1104 -struct ipx_route_def ipx_route_def57,1282 -#define IPX_ROUTE_NO_ROUTER 60,1354 -#define IPX_RT_SNAP 64,1488 -#define IPX_RT_8022 65,1511 -#define IPX_RT_BLUEBOOK 66,1534 -#define IPX_RT_ROUTED 67,1561 -#define SIOCAIPXITFCRT 70,1590 -#define SIOCAIPXPRISLT 71,1633 -#define SIOCIPXCFGDATA 72,1680 -#define SIOCIPXNCPCONN 73,1727 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_vlan.h,225 -#define __LINUX_BRIDGE_EBT_VLAN_H2,34 -#define EBT_VLAN_ID 4,69 -#define EBT_VLAN_PRIO 5,94 -#define EBT_VLAN_ENCAP 6,121 -#define EBT_VLAN_MASK 7,149 -#define EBT_VLAN_MATCH 8,218 -struct ebt_vlan_info ebt_vlan_info10,249 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_redirect.h,126 -#define __LINUX_BRIDGE_EBT_REDIRECT_H2,38 -struct ebt_redirect_infoebt_redirect_info4,77 -#define EBT_REDIRECT_TARGET 9,176 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_802_3.h,414 -#define __LINUX_BRIDGE_EBT_802_3_H2,35 -#define EBT_802_3_SAP 4,71 -#define EBT_802_3_TYPE 5,98 -#define EBT_802_3_MATCH 7,127 -#define CHECK_TYPE 13,285 -#define IS_UI 21,583 -#define EBT_802_3_MASK 23,603 -struct hdr_ui hdr_ui26,711 -struct hdr_ni hdr_ni34,810 -struct ebt_802_3_hdr ebt_802_3_hdr42,911 -static inline struct ebt_802_3_hdr *ebt_802_3_hdr(55,1095 -struct ebt_802_3_info ebt_802_3_info61,1230 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_stp.h,602 -#define __LINUX_BRIDGE_EBT_STP_H2,33 -#define EBT_STP_TYPE 4,67 -#define EBT_STP_FLAGS 6,97 -#define EBT_STP_ROOTPRIO 7,127 -#define EBT_STP_ROOTADDR 8,159 -#define EBT_STP_ROOTCOST 9,191 -#define EBT_STP_SENDERPRIO 10,223 -#define EBT_STP_SENDERADDR 11,257 -#define EBT_STP_PORT 12,291 -#define EBT_STP_MSGAGE 13,320 -#define EBT_STP_MAXAGE 14,351 -#define EBT_STP_HELLOTIME 15,382 -#define EBT_STP_FWDD 16,415 -#define EBT_STP_MASK 18,445 -#define EBT_STP_CONFIG_MASK 19,474 -#define EBT_STP_MATCH 21,510 -struct ebt_stp_config_infoebt_stp_config_info23,539 -struct ebt_stp_infoebt_stp_info38,934 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_arp.h,346 -#define __LINUX_BRIDGE_EBT_ARP_H2,33 -#define EBT_ARP_OPCODE 4,67 -#define EBT_ARP_HTYPE 5,95 -#define EBT_ARP_PTYPE 6,122 -#define EBT_ARP_SRC_IP 7,149 -#define EBT_ARP_DST_IP 8,177 -#define EBT_ARP_SRC_MAC 9,205 -#define EBT_ARP_DST_MAC 10,234 -#define EBT_ARP_MASK 11,263 -#define EBT_ARP_MATCH 13,408 -struct ebt_arp_infoebt_arp_info15,437 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_among.h,517 -#define __LINUX_BRIDGE_EBT_AMONG_H2,35 -#define EBT_AMONG_DST 4,71 -#define EBT_AMONG_SRC 5,98 -struct ebt_mac_wormhash_tupleebt_mac_wormhash_tuple32,1243 -struct ebt_mac_wormhashebt_mac_wormhash38,1311 -#define ebt_mac_wormhash_size(ebt_mac_wormhash_size45,1413 -struct ebt_among_infoebt_among_info48,1551 -#define EBT_AMONG_DST_NEG 55,1627 -#define EBT_AMONG_SRC_NEG 56,1657 -#define ebt_among_wh_dst(ebt_among_wh_dst58,1688 -#define ebt_among_wh_src(ebt_among_wh_src60,1803 -#define EBT_AMONG_MATCH 63,1919 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebtables.h,2064 -#define __LINUX_BRIDGE_EFF_H14,277 -#define EBT_TABLE_MAXNAMELEN 19,393 -#define EBT_CHAIN_MAXNAMELEN 20,425 -#define EBT_FUNCTION_MAXNAMELEN 21,475 -#define EBT_ACCEPT 24,562 -#define EBT_DROP 25,586 -#define EBT_CONTINUE 26,610 -#define EBT_RETURN 27,634 -#define NUM_STANDARD_TARGETS 28,658 -struct ebt_counterebt_counter30,692 -struct ebt_replaceebt_replace36,749 -struct ebt_entries ebt_entries53,1198 -#define EBT_ENTRY_OR_ENTRIES 80,2156 -#define EBT_NOPROTO 82,2223 -#define EBT_802_3 83,2248 -#define EBT_SOURCEMAC 84,2271 -#define EBT_DESTMAC 85,2298 -#define EBT_F_MASK 86,2323 -#define EBT_IPROTO 89,2427 -#define EBT_IIN 90,2451 -#define EBT_IOUT 91,2472 -#define EBT_ISOURCE 92,2494 -#define EBT_IDEST 93,2518 -#define EBT_ILOGICALIN 94,2541 -#define EBT_ILOGICALOUT 95,2569 -#define EBT_INV_MASK 96,2598 -struct ebt_entry_matchebt_entry_match99,2720 -struct ebt_entry_watcherebt_entry_watcher110,2959 -struct ebt_entry_targetebt_entry_target121,3206 -#define EBT_STANDARD_TARGET 132,3449 -struct ebt_standard_targetebt_standard_target133,3488 -struct ebt_entry ebt_entry140,3584 -#define EBT_BASE_CTL 167,4394 -#define EBT_SO_SET_ENTRIES 169,4431 -#define EBT_SO_SET_COUNTERS 170,4478 -#define EBT_SO_SET_MAX 171,4533 -#define EBT_SO_GET_INFO 173,4590 -#define EBT_SO_GET_ENTRIES 174,4637 -#define EBT_SO_GET_INIT_INFO 175,4689 -#define EBT_SO_GET_INIT_ENTRIES 176,4744 -#define EBT_SO_GET_MAX 177,4801 -#define EBT_MATCH 182,4923 -#define EBT_NOMATCH 183,4943 -struct ebt_matchebt_match185,4966 -struct ebt_watcherebt_watcher200,5463 -struct ebt_targetebt_target214,5948 -struct ebt_chainstackebt_chainstack230,6551 -struct ebt_table_infoebt_table_info237,6723 -struct ebt_tableebt_table250,7105 -#define EBT_ALIGN(EBT_ALIGN266,7528 -#define FWINV(FWINV281,8331 -#define BASE_CHAIN 284,8500 -#define CLEAR_BASE_CHAIN_BIT 286,8633 -#define INVALID_TARGET 288,8749 -#define EBT_MATCH_ITERATE(EBT_MATCH_ITERATE294,8936 -#define EBT_WATCHER_ITERATE(EBT_WATCHER_ITERATE317,10046 -#define EBT_ENTRY_ITERATE(EBT_ENTRY_ITERATE340,11156 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_log.h,224 -#define __LINUX_BRIDGE_EBT_LOG_H2,33 -#define EBT_LOG_IP 4,67 -#define EBT_LOG_ARP 5,148 -#define EBT_LOG_MASK 6,173 -#define EBT_LOG_PREFIX_SIZE 7,221 -#define EBT_LOG_WATCHER 8,252 -struct ebt_log_infoebt_log_info10,283 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_ip.h,306 -#define __LINUX_BRIDGE_EBT_IP_H16,272 -#define EBT_IP_SOURCE 18,305 -#define EBT_IP_DEST 19,332 -#define EBT_IP_TOS 20,357 -#define EBT_IP_PROTO 21,381 -#define EBT_IP_SPORT 22,407 -#define EBT_IP_DPORT 23,433 -#define EBT_IP_MASK 24,459 -#define EBT_IP_MATCH 26,570 -struct ebt_ip_infoebt_ip_info29,645 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_nat.h,140 -#define __LINUX_BRIDGE_EBT_NAT_H2,33 -struct ebt_nat_infoebt_nat_info4,67 -#define EBT_SNAT_TARGET 10,191 -#define EBT_DNAT_TARGET 11,222 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_arpreply.h,126 -#define __LINUX_BRIDGE_EBT_ARPREPLY_H2,38 -struct ebt_arpreply_infoebt_arpreply_info4,77 -#define EBT_ARPREPLY_TARGET 9,150 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_mark_t.h,117 -#define __LINUX_BRIDGE_EBT_MARK_T_H2,36 -struct ebt_mark_t_infoebt_mark_t_info4,73 -#define EBT_MARK_TARGET 10,191 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_limit.h,145 -#define __LINUX_BRIDGE_EBT_LIMIT_H2,35 -#define EBT_LIMIT_MATCH 4,71 -#define EBT_LIMIT_SCALE 7,139 -struct ebt_limit_infoebt_limit_info12,279 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_mark_m.h,199 -#define __LINUX_BRIDGE_EBT_MARK_M_H2,36 -#define EBT_MARK_AND 4,73 -#define EBT_MARK_OR 5,99 -#define EBT_MARK_MASK 6,124 -struct ebt_mark_m_infoebt_mark_m_info7,175 -#define EBT_MARK_MATCH 13,265 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge/ebt_pkttype.h,121 -#define __LINUX_BRIDGE_EBT_PKTTYPE_H2,37 -struct ebt_pkttype_infoebt_pkttype_info4,75 -#define EBT_PKTTYPE_MATCH 9,140 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-id.h,7147 -#define LINUX_I2C_ID_H26,1178 -#define I2C_DRIVERID_MSP3400 48,1912 -#define I2C_DRIVERID_TUNER 49,1944 -#define I2C_DRIVERID_VIDEOTEX 50,1974 -#define I2C_DRIVERID_TDA8425 51,2028 -#define I2C_DRIVERID_TEA6420 52,2089 -#define I2C_DRIVERID_TEA6415C 53,2148 -#define I2C_DRIVERID_TDA9840 54,2208 -#define I2C_DRIVERID_SAA7111A 55,2269 -#define I2C_DRIVERID_SAA5281 56,2330 -#define I2C_DRIVERID_SAA7112 57,2387 -#define I2C_DRIVERID_SAA7120 58,2453 -#define I2C_DRIVERID_SAA7121 59,2506 -#define I2C_DRIVERID_SAA7185B 60,2559 -#define I2C_DRIVERID_CH7003 61,2613 -#define I2C_DRIVERID_PCF8574A 62,2676 -#define I2C_DRIVERID_PCF8582C 63,2743 -#define I2C_DRIVERID_AT24Cxx 64,2791 -#define I2C_DRIVERID_TEA6300 65,2851 -#define I2C_DRIVERID_BT829 66,2903 -#define I2C_DRIVERID_TDA9850 67,2957 -#define I2C_DRIVERID_TDA9855 68,3009 -#define I2C_DRIVERID_SAA7110 69,3061 -#define I2C_DRIVERID_MGATVO 70,3114 -#define I2C_DRIVERID_SAA5249 71,3166 -#define I2C_DRIVERID_PCF8583 72,3228 -#define I2C_DRIVERID_SAB3036 73,3283 -#define I2C_DRIVERID_TDA7432 74,3336 -#define I2C_DRIVERID_TVMIXER 75,3397 -#define I2C_DRIVERID_TVAUDIO 76,3472 -#define I2C_DRIVERID_DPL3518 77,3547 -#define I2C_DRIVERID_TDA9873 78,3622 -#define I2C_DRIVERID_TDA9875 79,3697 -#define I2C_DRIVERID_PIC16C54_PV9 80,3772 -#define I2C_DRIVERID_SBATT 82,3848 -#define I2C_DRIVERID_SBS 83,3915 -#define I2C_DRIVERID_VES1893 84,3979 -#define I2C_DRIVERID_VES1820 85,4041 -#define I2C_DRIVERID_SAA7113 86,4103 -#define I2C_DRIVERID_TDA8444 87,4161 -#define I2C_DRIVERID_BT819 88,4233 -#define I2C_DRIVERID_BT856 89,4289 -#define I2C_DRIVERID_VPX3220 90,4345 -#define I2C_DRIVERID_DRP3510 91,4410 -#define I2C_DRIVERID_SP5055 92,4478 -#define I2C_DRIVERID_STV0030 93,4536 -#define I2C_DRIVERID_SAA7108 94,4599 -#define I2C_DRIVERID_DS1307 95,4671 -#define I2C_DRIVERID_ADV7175 96,4735 -#define I2C_DRIVERID_SAA7114 97,4805 -#define I2C_DRIVERID_ZR36120 98,4858 -#define I2C_DRIVERID_24LC32A 99,4926 -#define I2C_DRIVERID_STM41T00 100,4993 -#define I2C_DRIVERID_UDA1342 101,5049 -#define I2C_DRIVERID_ADV7170 102,5108 -#define I2C_DRIVERID_RADEON 103,5161 -#define I2C_DRIVERID_MAX1617 104,5223 -#define I2C_DRIVERID_SAA7191 105,5275 -#define I2C_DRIVERID_INDYCAM 106,5328 -#define I2C_DRIVERID_BT832 107,5380 -#define I2C_DRIVERID_TDA9887 108,5444 -#define I2C_DRIVERID_OVCAMCHIP 109,5509 -#define I2C_DRIVERID_TDA7313 110,5577 -#define I2C_DRIVERID_MAX6900 111,5639 -#define I2C_DRIVERID_EXP0 114,5703 -#define I2C_DRIVERID_EXP1 115,5762 -#define I2C_DRIVERID_EXP2 116,5793 -#define I2C_DRIVERID_EXP3 117,5824 -#define I2C_DRIVERID_I2CDEV 119,5856 -#define I2C_DRIVERID_I2CPROC 120,5888 -#define I2C_DRIVERID_ARP 121,5921 -#define I2C_DRIVERID_ALERT 122,5996 -#define I2C_DRIVERID_LM78 126,6189 -#define I2C_DRIVERID_LM75 127,6220 -#define I2C_DRIVERID_GL518 128,6251 -#define I2C_DRIVERID_EEPROM 129,6283 -#define I2C_DRIVERID_W83781D 130,6316 -#define I2C_DRIVERID_LM80 131,6350 -#define I2C_DRIVERID_ADM1021 132,6381 -#define I2C_DRIVERID_ADM9240 133,6415 -#define I2C_DRIVERID_LTC1710 134,6449 -#define I2C_DRIVERID_SIS5595 135,6483 -#define I2C_DRIVERID_ICSPLL 136,6517 -#define I2C_DRIVERID_BT869 137,6550 -#define I2C_DRIVERID_MAXILIFE 138,6582 -#define I2C_DRIVERID_MATORB 139,6617 -#define I2C_DRIVERID_GL520 140,6650 -#define I2C_DRIVERID_THMC50 141,6682 -#define I2C_DRIVERID_DDCMON 142,6715 -#define I2C_DRIVERID_VIA686A 143,6748 -#define I2C_DRIVERID_ADM1025 144,6782 -#define I2C_DRIVERID_LM87 145,6816 -#define I2C_DRIVERID_PCF8574 146,6847 -#define I2C_DRIVERID_MTP008 147,6881 -#define I2C_DRIVERID_DS1621 148,6914 -#define I2C_DRIVERID_ADM1024 149,6947 -#define I2C_DRIVERID_IT87 150,6981 -#define I2C_DRIVERID_CH700X 151,7012 -#define I2C_DRIVERID_FSCPOS 152,7107 -#define I2C_DRIVERID_FSCSCY 153,7140 -#define I2C_DRIVERID_PCF8591 154,7173 -#define I2C_DRIVERID_SMSC47M1 155,7207 -#define I2C_DRIVERID_VT1211 156,7242 -#define I2C_DRIVERID_LM92 157,7275 -#define I2C_DRIVERID_VT8231 158,7306 -#define I2C_DRIVERID_SMARTBATT 159,7339 -#define I2C_DRIVERID_BMCSENSORS 160,7375 -#define I2C_DRIVERID_FS451 161,7412 -#define I2C_DRIVERID_W83627HF 162,7444 -#define I2C_DRIVERID_LM85 163,7479 -#define I2C_DRIVERID_LM83 164,7510 -#define I2C_DRIVERID_LM90 165,7541 -#define I2C_DRIVERID_ASB100 166,7572 -#define I2C_DRIVERID_FSCHER 167,7605 -#define I2C_DRIVERID_W83L785TS 168,7638 -#define I2C_ALGO_NONE 177,7907 -#define I2C_ALGO_BIT 178,7938 -#define I2C_ALGO_PCF 179,7994 -#define I2C_ALGO_ATI 180,8054 -#define I2C_ALGO_SMBUS 181,8106 -#define I2C_ALGO_ISA 182,8138 -#define I2C_ALGO_SAA7146 183,8205 -#define I2C_ALGO_ACB 184,8272 -#define I2C_ALGO_IIC 185,8338 -#define I2C_ALGO_SAA7134 186,8390 -#define I2C_ALGO_MPC824X 187,8424 -#define I2C_ALGO_IPMI 188,8493 -#define I2C_ALGO_IPMB 189,8550 -#define I2C_ALGO_MPC107 190,8601 -#define I2C_ALGO_EC 191,8634 -#define I2C_ALGO_MPC8XX 193,8710 -#define I2C_ALGO_OCP 194,8778 -#define I2C_ALGO_BITHS 195,8856 -#define I2C_ALGO_OCP_IOP3XX 196,8922 -#define I2C_ALGO_PCA 197,8996 -#define I2C_ALGO_EXP 199,9057 -#define I2C_ALGO_MASK 201,9109 -#define I2C_ALGO_SHIFT 202,9167 -#define I2C_HW_ADAPS 204,9235 -#define I2C_HW_MASK 205,9288 -#define I2C_HW_B_LP 212,9423 -#define I2C_HW_B_LPC 213,9490 -#define I2C_HW_B_SER 214,9555 -#define I2C_HW_B_ELV 215,9610 -#define I2C_HW_B_VELLE 216,9654 -#define I2C_HW_B_BT848 217,9706 -#define I2C_HW_B_WNV 218,9761 -#define I2C_HW_B_VIA 219,9810 -#define I2C_HW_B_HYDRA 220,9858 -#define I2C_HW_B_G400 221,9914 -#define I2C_HW_B_I810 222,9962 -#define I2C_HW_B_VOO 223,10010 -#define I2C_HW_B_PPORT 224,10072 -#define I2C_HW_B_SAVG 225,10139 -#define I2C_HW_B_SCX200 226,10202 -#define I2C_HW_B_RIVA 227,10267 -#define I2C_HW_B_IOC 228,10327 -#define I2C_HW_B_TSUNA 229,10378 -#define I2C_HW_B_FRODO 230,10435 -#define I2C_HW_B_OMAHA 231,10510 -#define I2C_HW_B_GUIDE 232,10575 -#define I2C_HW_B_IXP2000 233,10632 -#define I2C_HW_B_IXP4XX 234,10705 -#define I2C_HW_B_S3VIA 235,10764 -#define I2C_HW_B_ZR36067 236,10823 -#define I2C_HW_P_LP 239,10931 -#define I2C_HW_P_ISA 240,10987 -#define I2C_HW_P_ELEK 241,11049 -#define I2C_HW_A_ISA 244,11149 -#define I2C_HW_ACPI_EC 247,11288 -#define I2C_HW_MPC824X 250,11366 -#define I2C_HW_MPC8XX_EPON 253,11477 -#define I2C_HW_I_IIC 256,11582 -#define I2C_HW_OCP 259,11677 -#define I2C_HW_IOP321 262,11792 -#define I2C_HW_SMBUS_PIIX4 265,11855 -#define I2C_HW_SMBUS_ALI15X3 266,11887 -#define I2C_HW_SMBUS_VIA2 267,11921 -#define I2C_HW_SMBUS_VOODOO3 268,11952 -#define I2C_HW_SMBUS_I801 269,11986 -#define I2C_HW_SMBUS_AMD756 270,12017 -#define I2C_HW_SMBUS_SIS5595 271,12050 -#define I2C_HW_SMBUS_ALI1535 272,12084 -#define I2C_HW_SMBUS_SIS630 273,12118 -#define I2C_HW_SMBUS_SIS96X 274,12151 -#define I2C_HW_SMBUS_AMD8111 275,12184 -#define I2C_HW_SMBUS_SCX200 276,12218 -#define I2C_HW_SMBUS_NFORCE2 277,12251 -#define I2C_HW_SMBUS_W9968CF 278,12285 -#define I2C_HW_SMBUS_OV511 279,12319 -#define I2C_HW_SMBUS_OV518 280,12385 -#define I2C_HW_SMBUS_OV519 281,12451 -#define I2C_HW_SMBUS_OVFX2 282,12513 -#define I2C_HW_ISA 285,12616 -#define I2C_HW_IPMI 288,12676 -#define I2C_HW_IPMB 291,12730 -#define I2C_HW_MPC107 294,12781 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/crc32c.h,58 -#define _LINUX_CRC32C_H2,24 -#define crc32c(crc32c9,228 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/udf_fs_sb.h,413 -#define _UDF_FS_SB_H 19,536 -#define UDF_MAX_BLOCK_LOADED 23,577 -#define UDF_TYPE1_MAP15 25,609 -#define UDF_VIRTUAL_MAP15 26,643 -#define UDF_VIRTUAL_MAP20 27,678 -#define UDF_SPARABLE_MAP15 28,713 -struct udf_sparing_dataudf_sparing_data30,750 -struct udf_virtual_dataudf_virtual_data36,837 -struct udf_bitmapudf_bitmap42,912 -struct udf_part_mapudf_part_map50,1043 -struct udf_sb_infoudf_sb_info78,1567 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/adb.h,980 -#define __ADB_H5,75 -#define ADB_BUSRESET 8,111 -#define ADB_FLUSH(ADB_FLUSH9,135 -#define ADB_WRITEREG(ADB_WRITEREG10,179 -#define ADB_READREG(ADB_READREG11,238 -#define ADB_DONGLE 14,361 -#define ADB_KEYBOARD 15,425 -#define ADB_MOUSE 16,448 -#define ADB_TABLET 17,468 -#define ADB_MODEM 18,489 -#define ADB_MISC 19,509 -#define ADB_RET_OK 21,551 -#define ADB_RET_TIMEOUT 22,572 -#define ADB_PACKET 26,703 -#define CUDA_PACKET 27,724 -#define ERROR_PACKET 28,746 -#define TIMER_PACKET 29,769 -#define POWER_PACKET 30,792 -#define MACIIC_PACKET 31,815 -#define PMU_PACKET 32,839 -#define ADB_QUERY 33,860 -#define ADB_QUERY_GETDEVINFO 41,1023 -struct adb_request adb_request45,1074 -struct adb_ids adb_ids58,1332 -struct adb_driver adb_driver65,1446 -#define ADBREQ_REPLY 76,1693 -#define ADBREQ_SYNC 77,1735 -#define ADBREQ_NOSEND 78,1779 -enum adb_message adb_message82,1967 - ADB_MSG_POWERDOWN,83,1986 - ADB_MSG_PRE_RESET,84,2050 - ADB_MSG_POST_RESET 85,2111 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sdlapci.h,1166 -#define _SDLAPCI_H17,749 -#define V3_VENDOR_ID 22,913 -#define V3_DEVICE_ID 23,969 -#define SANGOMA_SUBSYS_VENDOR 24,1027 -#define PCI_DEV_SLOT_MASK 25,1087 -#define PCI_IRQ_NOT_ALLOCATED 26,1149 -#define PCI_VENDOR_ID_WORD 29,1252 -#define PCI_IO_BASE_DWORD 30,1301 -#define PCI_MEM_BASE0_DWORD 31,1348 -#define PCI_MEM_BASE1_DWORD 32,1414 -#define PCI_SUBSYS_VENDOR_WORD 33,1484 -#define PCI_INT_LINE_BYTE 34,1548 -#define PCI_INT_PIN_BYTE 35,1601 -#define PCI_MAP0_DWORD 36,1652 -#define PCI_MAP1_DWORD 37,1715 -#define PCI_INT_STATUS 38,1786 -#define PCI_INT_CONFIG 39,1847 -#define PCI_MEMORY_ENABLE 42,1941 -#define PCI_CPU_A_MEM_DISABLE 43,2002 -#define PCI_CPU_B_MEM_DISABLE 44,2070 -#define PCI_ENABLE_IRQ_CPU_A 45,2140 -#define PCI_ENABLE_IRQ_CPU_B 46,2207 -#define PCI_DISABLE_IRQ_CPU_A 47,2277 -#define PCI_DISABLE_IRQ_CPU_B 48,2348 -#define IRQ_CPU_A 51,2471 -#define IRQ_CPU_B 52,2539 -#define MAX_SIZEOF_S514_MEMORY 55,2640 -#define S514_CTRL_REG_BYTE 58,2753 -#define S514_CPU_HALT 61,2823 -#define S514_CPU_START 62,2852 -#define MAX_S514_CARDS 65,2934 -#define PCI_CARD_TYPE 67,2963 -#define S514_DUAL_CPU 68,2991 -#define S514_SINGLE_CPU 69,3019 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/personality.h,3080 -#define _LINUX_PERSONALITY_H2,29 - MMAP_PAGE_ZERO 21,394 - MMAP_PAGE_ZERO = 0x0100000,21,394 - ADDR_COMPAT_LAYOUT 22,423 - ADDR_COMPAT_LAYOUT = 0x0200000,22,423 - READ_IMPLIES_EXEC 23,456 - READ_IMPLIES_EXEC = 0x0400000,23,456 - ADDR_LIMIT_32BIT 24,488 - ADDR_LIMIT_32BIT = 0x0800000,24,488 - SHORT_INODE 25,519 - SHORT_INODE = 0x1000000,25,519 - WHOLE_SECONDS 26,546 - WHOLE_SECONDS = 0x2000000,26,546 - STICKY_TIMEOUTS 27,575 - STICKY_TIMEOUTS = 0x4000000,27,575 - ADDR_LIMIT_3GB 28,605 - ADDR_LIMIT_3GB = 0x8000000,28,605 -#define PER_CLEAR_ON_SETID 35,739 - PER_LINUX 44,921 - PER_LINUX = 0x0000,44,921 - PER_LINUX_32BIT 45,943 - PER_LINUX_32BIT = 0x0000 45,943 - PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,45,943 - PER_SVR4 46,989 - PER_SVR4 = 0x0001 46,989 - PER_SVR4 = 0x0001 | STICKY_TIMEOUTS 46,989 - PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,46,989 - PER_SVR3 47,1045 - PER_SVR3 = 0x0002 47,1045 - PER_SVR3 = 0x0002 | STICKY_TIMEOUTS 47,1045 - PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE,47,1045 - PER_SCOSVR3 48,1098 - PER_SCOSVR3 = 0x0003 48,1098 - PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS 48,1098 - WHOLE_SECONDS 49,1141 - WHOLE_SECONDS | SHORT_INODE,49,1141 - PER_OSR5 50,1176 - PER_OSR5 = 0x0003 50,1176 - PER_OSR5 = 0x0003 | STICKY_TIMEOUTS 50,1176 - PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS,50,1176 - PER_WYSEV386 51,1231 - PER_WYSEV386 = 0x0004 51,1231 - PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS 51,1231 - PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE,51,1231 - PER_ISCR4 52,1288 - PER_ISCR4 = 0x0005 52,1288 - PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS,52,1288 - PER_BSD 53,1328 - PER_BSD = 0x0006,53,1328 - PER_SUNOS 54,1348 - PER_SUNOS = 0x0006 54,1348 - PER_SUNOS = 0x0006 | STICKY_TIMEOUTS,54,1348 - PER_XENIX 55,1388 - PER_XENIX = 0x0007 55,1388 - PER_XENIX = 0x0007 | STICKY_TIMEOUTS 55,1388 - PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE,55,1388 - PER_LINUX32 56,1442 - PER_LINUX32 = 0x0008,56,1442 - PER_LINUX32_3GB 57,1466 - PER_LINUX32_3GB = 0x0008 57,1466 - PER_LINUX32_3GB = 0x0008 | ADDR_LIMIT_3GB,57,1466 - PER_IRIX32 58,1510 - PER_IRIX32 = 0x0009 58,1510 - PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS,58,1510 - PER_IRIXN32 59,1569 - PER_IRIXN32 = 0x000a 59,1569 - PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS,59,1569 - PER_IRIX64 60,1633 - PER_IRIX64 = 0x000b 60,1633 - PER_IRIX64 = 0x000b | STICKY_TIMEOUTS,60,1633 - PER_RISCOS 61,1692 - PER_RISCOS = 0x000c,61,1692 - PER_SOLARIS 62,1715 - PER_SOLARIS = 0x000d 62,1715 - PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,62,1715 - PER_UW7 63,1757 - PER_UW7 = 0x000e 63,1757 - PER_UW7 = 0x000e | STICKY_TIMEOUTS 63,1757 - PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,63,1757 - PER_OSF4 64,1812 - PER_OSF4 = 0x000f,64,1812 - PER_HPUX 65,1851 - PER_HPUX = 0x0010,65,1851 - PER_MASK 66,1872 - PER_MASK = 0x00ff,66,1872 -typedef void (*handler_t)handler_t76,2068 -struct exec_domain exec_domain78,2119 -#define personality(personality96,2855 -#define get_personality 101,2956 -#define set_personality(set_personality106,3068 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ptrace.h,1710 -#define _LINUX_PTRACE_H2,24 -#define PTRACE_TRACEME 8,183 -#define PTRACE_PEEKTEXT 9,212 -#define PTRACE_PEEKDATA 10,242 -#define PTRACE_PEEKUSR 11,272 -#define PTRACE_POKETEXT 12,301 -#define PTRACE_POKEDATA 13,331 -#define PTRACE_POKEUSR 14,361 -#define PTRACE_CONT 15,390 -#define PTRACE_KILL 16,416 -#define PTRACE_SINGLESTEP 17,442 -#define PTRACE_ATTACH 19,474 -#define PTRACE_DETACH 20,502 -#define PTRACE_SYSCALL 22,531 -#define PTRACE_SETOPTIONS 25,635 -#define PTRACE_GETEVENTMSG 26,668 -#define PTRACE_GETSIGINFO 27,702 -#define PTRACE_SETSIGINFO 28,735 -#define PTRACE_O_TRACESYSGOOD 31,811 -#define PTRACE_O_TRACEFORK 32,852 -#define PTRACE_O_TRACEVFORK 33,890 -#define PTRACE_O_TRACECLONE 34,929 -#define PTRACE_O_TRACEEXEC 35,968 -#define PTRACE_O_TRACEVFORKDONE 36,1006 -#define PTRACE_O_TRACEEXIT 37,1049 -#define PTRACE_O_MASK 39,1088 -#define PTRACE_EVENT_FORK 42,1186 -#define PTRACE_EVENT_VFORK 43,1214 -#define PTRACE_EVENT_CLONE 44,1243 -#define PTRACE_EVENT_EXEC 45,1272 -#define PTRACE_EVENT_VFORK_DONE 46,1300 -#define PTRACE_EVENT_EXIT 47,1334 -#define PT_PTRACED 56,1430 -#define PT_DTRACE 57,1460 -#define PT_TRACESYSGOOD 58,1530 -#define PT_PTRACE_CAP 59,1565 -#define PT_TRACE_FORK 60,1633 -#define PT_TRACE_VFORK 61,1666 -#define PT_TRACE_CLONE 62,1700 -#define PT_TRACE_EXEC 63,1734 -#define PT_TRACE_VFORK_DONE 64,1767 -#define PT_TRACE_EXIT 65,1806 -#define PT_TRACE_MASK 67,1840 -#define PT_SINGLESTEP_BIT 70,1933 -#define PT_SINGLESTEP 71,1962 -#define PT_BLOCKSTEP_BIT 72,2008 -#define PT_BLOCKSTEP 73,2036 -static inline void ptrace_link(90,2899 -static inline void ptrace_unlink(96,3069 -#define force_successful_syscall_return(force_successful_syscall_return115,3904 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netpoll.h,62 -#define _LINUX_NETPOLL_H8,174 -struct netpoll netpoll16,300 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/major.h,4369 -#define _LINUX_MAJOR_H2,23 -#define UNNAMED_MAJOR 9,179 -#define MEM_MAJOR 10,204 -#define RAMDISK_MAJOR 11,225 -#define FLOPPY_MAJOR 12,250 -#define PTY_MASTER_MAJOR 13,274 -#define IDE0_MAJOR 14,301 -#define HD_MAJOR 15,323 -#define PTY_SLAVE_MAJOR 16,352 -#define TTY_MAJOR 17,379 -#define TTYAUX_MAJOR 18,400 -#define LP_MAJOR 19,424 -#define VCS_MAJOR 20,444 -#define LOOP_MAJOR 21,465 -#define SCSI_DISK0_MAJOR 22,487 -#define SCSI_TAPE_MAJOR 23,514 -#define MD_MAJOR 24,541 -#define MISC_MAJOR 25,561 -#define SCSI_CDROM_MAJOR 26,584 -#define MUX_MAJOR 27,612 -#define QIC02_TAPE_MAJOR 28,653 -#define XT_DISK_MAJOR 29,681 -#define INPUT_MAJOR 30,707 -#define SOUND_MAJOR 31,731 -#define CDU31A_CDROM_MAJOR 32,755 -#define JOYSTICK_MAJOR 33,785 -#define GOLDSTAR_CDROM_MAJOR 34,812 -#define OPTICS_CDROM_MAJOR 35,844 -#define SANYO_CDROM_MAJOR 36,874 -#define CYCLADES_MAJOR 37,903 -#define CYCLADESAUX_MAJOR 38,930 -#define MITSUMI_X_CDROM_MAJOR 39,959 -#define MFM_ACORN_MAJOR 40,992 -#define SCSI_GENERIC_MAJOR 41,1045 -#define IDE1_MAJOR 42,1075 -#define DIGICU_MAJOR 43,1098 -#define DIGI_MAJOR 44,1123 -#define MITSUMI_CDROM_MAJOR 45,1146 -#define CDU535_CDROM_MAJOR 46,1177 -#define STL_SERIALMAJOR 47,1207 -#define MATSUSHITA_CDROM_MAJOR 48,1235 -#define STL_CALLOUTMAJOR 49,1269 -#define MATSUSHITA_CDROM2_MAJOR 50,1297 -#define QIC117_TAPE_MAJOR 51,1332 -#define MATSUSHITA_CDROM3_MAJOR 52,1361 -#define MATSUSHITA_CDROM4_MAJOR 53,1396 -#define STL_SIOMEMMAJOR 54,1431 -#define ACSI_MAJOR 55,1459 -#define AZTECH_CDROM_MAJOR 56,1482 -#define GRAPHDEV_MAJOR 57,1512 -#define CM206_CDROM_MAJOR 58,1578 -#define IDE2_MAJOR 59,1607 -#define IDE3_MAJOR 60,1630 -#define Z8530_MAJOR 61,1653 -#define XPRAM_MAJOR 62,1677 -#define NETLINK_MAJOR 63,1746 -#define PS2ESDI_MAJOR 64,1772 -#define IDETAPE_MAJOR 65,1798 -#define Z2RAM_MAJOR 66,1824 -#define APBLOCK_MAJOR 67,1848 -#define DDV_MAJOR 68,1902 -#define NBD_MAJOR 69,1956 -#define RISCOM8_NORMAL_MAJOR 70,2007 -#define DAC960_MAJOR 71,2039 -#define RISCOM8_CALLOUT_MAJOR 72,2079 -#define MKISS_MAJOR 73,2112 -#define DSP56K_MAJOR 74,2136 -#define IDE4_MAJOR 76,2196 -#define IDE5_MAJOR 77,2219 -#define SCSI_DISK1_MAJOR 79,2243 -#define SCSI_DISK2_MAJOR 80,2271 -#define SCSI_DISK3_MAJOR 81,2299 -#define SCSI_DISK4_MAJOR 82,2327 -#define SCSI_DISK5_MAJOR 83,2355 -#define SCSI_DISK6_MAJOR 84,2383 -#define SCSI_DISK7_MAJOR 85,2411 -#define COMPAQ_SMART2_MAJOR 87,2440 -#define COMPAQ_SMART2_MAJOR1 88,2471 -#define COMPAQ_SMART2_MAJOR2 89,2503 -#define COMPAQ_SMART2_MAJOR3 90,2535 -#define COMPAQ_SMART2_MAJOR4 91,2567 -#define COMPAQ_SMART2_MAJOR5 92,2599 -#define COMPAQ_SMART2_MAJOR6 93,2631 -#define COMPAQ_SMART2_MAJOR7 94,2663 -#define SPECIALIX_NORMAL_MAJOR 96,2696 -#define SPECIALIX_CALLOUT_MAJOR 97,2730 -#define AURORA_MAJOR 99,2766 -#define I2O_MAJOR 101,2792 -#define SHMIQ_MAJOR 103,2828 -#define IDE6_MAJOR 105,2888 -#define IDE7_MAJOR 106,2911 -#define IDE8_MAJOR 107,2934 -#define IDE9_MAJOR 108,2957 -#define DASD_MAJOR 110,2981 -#define MDISK_MAJOR 112,3005 -#define UBD_MAJOR 114,3030 -#define JSFD_MAJOR 116,3053 -#define PHONE_MAJOR 118,3077 -#define COMPAQ_CISS_MAJOR 120,3103 -#define COMPAQ_CISS_MAJOR1 121,3133 -#define COMPAQ_CISS_MAJOR2 122,3164 -#define COMPAQ_CISS_MAJOR3 123,3200 -#define COMPAQ_CISS_MAJOR4 124,3236 -#define COMPAQ_CISS_MAJOR5 125,3272 -#define COMPAQ_CISS_MAJOR6 126,3308 -#define COMPAQ_CISS_MAJOR7 127,3344 -#define VIODASD_MAJOR 129,3381 -#define VIOCD_MAJOR 130,3408 -#define ATARAID_MAJOR 132,3434 -#define SCSI_DISK8_MAJOR 134,3462 -#define SCSI_DISK9_MAJOR 135,3491 -#define SCSI_DISK10_MAJOR 136,3520 -#define SCSI_DISK11_MAJOR 137,3550 -#define SCSI_DISK12_MAJOR 138,3580 -#define SCSI_DISK13_MAJOR 139,3610 -#define SCSI_DISK14_MAJOR 140,3640 -#define SCSI_DISK15_MAJOR 141,3670 -#define UNIX98_PTY_MASTER_MAJOR 143,3701 -#define UNIX98_PTY_MAJOR_COUNT 144,3737 -#define UNIX98_PTY_SLAVE_MAJOR 145,3770 -#define RTF_MAJOR 147,3851 -#define RAW_MAJOR 148,3874 -#define USB_ACM_MAJOR 150,3898 -#define USB_ACM_AUX_MAJOR 151,3925 -#define USB_CHAR_MAJOR 152,3955 -#define VXVM_MAJOR 154,3984 -#define VXSPEC_MAJOR 155,4043 -#define VXDMP_MAJOR 156,4104 -#define MSR_MAJOR 158,4168 -#define CPUID_MAJOR 159,4191 -#define OSST_MAJOR 161,4217 -#define IBM_TTY3270_MAJOR 163,4272 -#define IBM_FS3270_MAJOR 164,4302 -#define VIOTAPE_MAJOR 166,4332 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/llc.h,1447 -#define __LINUX_LLC_H2,22 -#define __LLC_SOCK_SIZE__ 15,530 -struct sockaddr_llc sockaddr_llc16,599 -enum llc_sockopts llc_sockopts29,1043 - LLC_OPT_UNKNOWN 30,1063 - LLC_OPT_RETRY,31,1085 - LLC_OPT_SIZE,32,1130 - LLC_OPT_ACK_TMR_EXP,33,1175 - LLC_OPT_P_TMR_EXP,34,1227 - LLC_OPT_REJ_TMR_EXP,35,1282 - LLC_OPT_BUSY_TMR_EXP,36,1339 - LLC_OPT_TX_WIN,37,1399 - LLC_OPT_RX_WIN,38,1439 - LLC_OPT_MAX39,1479 -#define LLC_OPT_MAX_RETRY 42,1496 -#define LLC_OPT_MAX_SIZE 43,1527 -#define LLC_OPT_MAX_WIN 44,1557 -#define LLC_OPT_MAX_ACK_TMR_EXP 45,1587 -#define LLC_OPT_MAX_P_TMR_EXP 46,1624 -#define LLC_OPT_MAX_REJ_TMR_EXP 47,1659 -#define LLC_OPT_MAX_BUSY_TMR_EXP 48,1696 -#define LLC_SAP_NULL 51,1755 -#define LLC_SAP_LLC 52,1801 -#define LLC_SAP_SNA 53,1858 -#define LLC_SAP_PNM 54,1910 -#define LLC_SAP_IP 55,1969 -#define LLC_SAP_BSPAN 56,2011 -#define LLC_SAP_MMS 57,2072 -#define LLC_SAP_8208 58,2131 -#define LLC_SAP_3COM 59,2175 -#define LLC_SAP_PRO 60,2217 -#define LLC_SAP_SNAP 61,2276 -#define LLC_SAP_BANYAN 62,2318 -#define LLC_SAP_IPX 63,2364 -#define LLC_SAP_NETBEUI 64,2408 -#define LLC_SAP_LANMGR 65,2456 -#define LLC_SAP_IMPL 66,2506 -#define LLC_SAP_DISC 67,2547 -#define LLC_SAP_OSI 68,2592 -#define LLC_SAP_LAR 69,2646 -#define LLC_SAP_RM 70,2702 -#define LLC_SAP_GLOBAL 71,2755 -#define LLC_SAP_DYN_START 74,2824 -#define LLC_SAP_DYN_STOP 75,2855 -#define LLC_SAP_DYN_TRIES 76,2885 -#define llc_ui_skb_cb(llc_ui_skb_cb78,2914 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/journal-head.h,187 -#define JOURNAL_HEAD_H_INCLUDED11,186 -typedef unsigned int tid_t;tid_t13,219 -typedef struct transaction_s transaction_t;transaction_t14,277 -struct journal_head journal_head17,374 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/in6.h,2783 -#define _LINUX_IN6_H22,597 -struct in6_addrin6_addr30,679 -#define s6_addr 38,786 -#define s6_addr16 39,819 -#define s6_addr32 40,854 -#define IN6ADDR_ANY_INIT 48,1170 -#define IN6ADDR_LOOPBACK_INIT 50,1286 -struct sockaddr_in6 sockaddr_in652,1361 -struct ipv6_mreq ipv6_mreq60,1655 -#define ipv6mr_acaddr 68,1814 -struct in6_flowlabel_reqin6_flowlabel_req70,1854 -#define IPV6_FL_A_GET 83,2084 -#define IPV6_FL_A_PUT 84,2108 -#define IPV6_FL_A_RENEW 85,2132 -#define IPV6_FL_F_CREATE 87,2159 -#define IPV6_FL_F_EXCL 88,2186 -#define IPV6_FL_S_NONE 90,2213 -#define IPV6_FL_S_EXCL 91,2239 -#define IPV6_FL_S_PROCESS 92,2265 -#define IPV6_FL_S_USER 93,2293 -#define IPV6_FL_S_ANY 94,2319 -#define IPV6_FLOWINFO_FLOWLABEL 105,2575 -#define IPV6_FLOWINFO_PRIORITY 106,2619 -#define IPV6_PRIORITY_UNCHARACTERIZED 109,2699 -#define IPV6_PRIORITY_FILLER 110,2744 -#define IPV6_PRIORITY_UNATTENDED 111,2781 -#define IPV6_PRIORITY_RESERVED1 112,2821 -#define IPV6_PRIORITY_BULK 113,2861 -#define IPV6_PRIORITY_RESERVED2 114,2896 -#define IPV6_PRIORITY_INTERACTIVE 115,2936 -#define IPV6_PRIORITY_CONTROL 116,2977 -#define IPV6_PRIORITY_8 117,3015 -#define IPV6_PRIORITY_9 118,3048 -#define IPV6_PRIORITY_10 119,3081 -#define IPV6_PRIORITY_11 120,3114 -#define IPV6_PRIORITY_12 121,3147 -#define IPV6_PRIORITY_13 122,3180 -#define IPV6_PRIORITY_14 123,3213 -#define IPV6_PRIORITY_15 124,3246 -#define IPPROTO_HOPOPTS 129,3313 -#define IPPROTO_ROUTING 130,3370 -#define IPPROTO_FRAGMENT 131,3425 -#define IPPROTO_ICMPV6 132,3485 -#define IPPROTO_NONE 133,3527 -#define IPPROTO_DSTOPTS 134,3579 -#define IPV6_TLV_PAD0 139,3667 -#define IPV6_TLV_PADN 140,3692 -#define IPV6_TLV_ROUTERALERT 141,3717 -#define IPV6_TLV_JUMBO 142,3748 -#define IPV6_ADDRFORM 148,3808 -#define IPV6_PKTINFO 149,3833 -#define IPV6_HOPOPTS 150,3857 -#define IPV6_DSTOPTS 151,3881 -#define IPV6_RTHDR 152,3905 -#define IPV6_PKTOPTIONS 153,3927 -#define IPV6_CHECKSUM 154,3954 -#define IPV6_HOPLIMIT 155,3979 -#define IPV6_NEXTHOP 156,4004 -#define IPV6_AUTHHDR 157,4028 -#define IPV6_FLOWINFO 158,4053 -#define IPV6_UNICAST_HOPS 160,4080 -#define IPV6_MULTICAST_IF 161,4109 -#define IPV6_MULTICAST_HOPS 162,4138 -#define IPV6_MULTICAST_LOOP 163,4169 -#define IPV6_ADD_MEMBERSHIP 164,4200 -#define IPV6_DROP_MEMBERSHIP 165,4231 -#define IPV6_ROUTER_ALERT 166,4263 -#define IPV6_MTU_DISCOVER 167,4292 -#define IPV6_MTU 168,4321 -#define IPV6_RECVERR 169,4342 -#define IPV6_V6ONLY 170,4367 -#define IPV6_JOIN_ANYCAST 171,4391 -#define IPV6_LEAVE_ANYCAST 172,4420 -#define IPV6_PMTUDISC_DONT 175,4482 -#define IPV6_PMTUDISC_WANT 176,4512 -#define IPV6_PMTUDISC_DO 177,4542 -#define IPV6_FLOWLABEL_MGR 180,4587 -#define IPV6_FLOWINFO_SEND 181,4617 -#define IPV6_IPSEC_POLICY 183,4648 -#define IPV6_XFRM_POLICY 184,4677 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cramfs_fs_sb.h,125 -#define _CRAMFS_FS_SB2,22 -struct cramfs_sb_info cramfs_sb_info7,89 -static inline struct cramfs_sb_info *CRAMFS_SB(15,237 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/acpi.h,3508 -#define _LINUX_ACPI_H26,1008 -#define _LINUX29,1046 -enum acpi_irq_model_id acpi_irq_model_id42,1224 - ACPI_IRQ_MODEL_PIC 43,1249 - ACPI_IRQ_MODEL_IOAPIC,44,1274 - ACPI_IRQ_MODEL_IOSAPIC,45,1298 - ACPI_IRQ_MODEL_COUNT46,1323 -struct acpi_table_rsdp acpi_table_rsdp54,1443 -struct acpi20_table_rsdp acpi20_table_rsdp62,1591 -} __attribute__ ((packed)packed77,1859 -struct acpi_table_rsdt acpi_table_rsdt81,1956 -struct acpi_table_xsdt acpi_table_xsdt88,2109 -struct acpi_table_fadt acpi_table_fadt95,2257 -struct acpi_table_madt acpi_table_madt104,2434 -enum acpi_madt_entry_id acpi_madt_entry_id113,2610 - ACPI_MADT_LAPIC 114,2636 - ACPI_MADT_IOAPIC,115,2658 - ACPI_MADT_INT_SRC_OVR,116,2677 - ACPI_MADT_NMI_SRC,117,2701 - ACPI_MADT_LAPIC_NMI,118,2721 - ACPI_MADT_LAPIC_ADDR_OVR,119,2743 - ACPI_MADT_IOSAPIC,120,2770 - ACPI_MADT_LSAPIC,121,2790 - ACPI_MADT_PLAT_INT_SRC,122,2809 - ACPI_MADT_ENTRY_COUNT123,2834 -} __attribute__ ((packed)packed130,2935 -struct acpi_table_lapic acpi_table_lapic132,2985 -struct acpi_table_ioapic acpi_table_ioapic142,3160 -struct acpi_table_int_src_ovr acpi_table_int_src_ovr150,3315 -struct acpi_table_nmi_src acpi_table_nmi_src158,3483 -struct acpi_table_lapic_nmi acpi_table_lapic_nmi164,3621 -struct acpi_table_lapic_addr_ovr acpi_table_lapic_addr_ovr171,3769 -struct acpi_table_iosapic acpi_table_iosapic177,3901 -struct acpi_table_lsapic acpi_table_lsapic185,4057 -struct acpi_table_plat_int_src acpi_table_plat_int_src197,4263 -enum acpi_interrupt_id acpi_interrupt_id208,4508 - ACPI_INTERRUPT_PMI 209,4533 - ACPI_INTERRUPT_INIT,210,4558 - ACPI_INTERRUPT_CPEI,211,4580 - ACPI_INTERRUPT_COUNT212,4602 -#define ACPI_SPACE_MEM 215,4628 -struct acpi_gen_regaddr acpi_gen_regaddr217,4655 -struct acpi_table_hpet acpi_table_hpet226,4793 -struct acpi_table_sbfacpi_table_sbf239,5064 -struct acpi_table_srat acpi_table_srat259,5428 -enum acpi_srat_entry_id acpi_srat_entry_id265,5556 - ACPI_SRAT_PROCESSOR_AFFINITY 266,5582 - ACPI_SRAT_MEMORY_AFFINITY,267,5617 - ACPI_SRAT_ENTRY_COUNT268,5645 -struct acpi_table_processor_affinity acpi_table_processor_affinity271,5672 -struct acpi_table_memory_affinity acpi_table_memory_affinity283,5911 -enum acpi_address_range_id acpi_address_range_id300,6288 - ACPI_ADDRESS_RANGE_MEMORY 301,6317 - ACPI_ADDRESS_RANGE_RESERVED 302,6349 - ACPI_ADDRESS_RANGE_ACPI 303,6383 - ACPI_ADDRESS_RANGE_NVS 304,6413 - ACPI_ADDRESS_RANGE_COUNT305,6442 -struct acpi_table_slit acpi_table_slit313,6601 -struct acpi_table_sbst acpi_table_sbst321,6801 -struct acpi_table_ecdt acpi_table_ecdt330,7051 -struct acpi_table_mcfg acpi_table_mcfg341,7287 -enum acpi_table_id acpi_table_id350,7462 - ACPI_TABLE_UNKNOWN 351,7483 - ACPI_APIC,352,7508 - ACPI_BOOT,353,7520 - ACPI_DBGP,354,7532 - ACPI_DSDT,355,7544 - ACPI_ECDT,356,7556 - ACPI_ETDT,357,7568 - ACPI_FADT,358,7580 - ACPI_FACS,359,7592 - ACPI_OEMX,360,7604 - ACPI_PSDT,361,7616 - ACPI_SBST,362,7628 - ACPI_SLIT,363,7640 - ACPI_SPCR,364,7652 - ACPI_SRAT,365,7664 - ACPI_SSDT,366,7676 - ACPI_SPMI,367,7688 - ACPI_HPET,368,7700 - ACPI_MCFG,369,7712 - ACPI_TABLE_COUNT370,7724 -typedef int (*acpi_table_handler)acpi_table_handler373,7746 -typedef int (*acpi_madt_entry_handler)acpi_madt_entry_handler377,7889 -#define acpi_mp_config 407,9218 -static inline int acpi_boot_init(409,9244 -struct acpi_prt_entry acpi_prt_entry421,9484 -struct acpi_prt_list acpi_prt_list432,9642 -struct acpi_pci_driver acpi_pci_driver443,9814 -static inline int acpi_blacklisted(468,10368 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ip.h,1990 -#define _LINUX_IP_H18,629 -#define IPTOS_TOS_MASK 21,677 -#define IPTOS_TOS(IPTOS_TOS22,706 -#define IPTOS_LOWDELAY 23,753 -#define IPTOS_THROUGHPUT 24,782 -#define IPTOS_RELIABILITY 25,812 -#define IPTOS_MINCOST 26,843 -#define IPTOS_PREC_MASK 28,872 -#define IPTOS_PREC(IPTOS_PREC29,902 -#define IPTOS_PREC_NETCONTROL 30,951 -#define IPTOS_PREC_INTERNETCONTROL 31,996 -#define IPTOS_PREC_CRITIC_ECP 32,1041 -#define IPTOS_PREC_FLASHOVERRIDE 33,1086 -#define IPTOS_PREC_FLASH 34,1131 -#define IPTOS_PREC_IMMEDIATE 35,1176 -#define IPTOS_PREC_PRIORITY 36,1221 -#define IPTOS_PREC_ROUTINE 37,1266 -#define IPOPT_COPY 41,1330 -#define IPOPT_CLASS_MASK 42,1355 -#define IPOPT_NUMBER_MASK 43,1385 -#define IPOPT_COPIED(IPOPT_COPIED45,1417 -#define IPOPT_CLASS(IPOPT_CLASS46,1459 -#define IPOPT_NUMBER(IPOPT_NUMBER47,1506 -#define IPOPT_CONTROL 49,1556 -#define IPOPT_RESERVED1 50,1584 -#define IPOPT_MEASUREMENT 51,1614 -#define IPOPT_RESERVED2 52,1645 -#define IPOPT_END 54,1676 -#define IPOPT_NOOP 55,1713 -#define IPOPT_SEC 56,1751 -#define IPOPT_LSRR 57,1799 -#define IPOPT_TIMESTAMP 58,1848 -#define IPOPT_RR 59,1895 -#define IPOPT_SID 60,1931 -#define IPOPT_SSRR 61,1979 -#define IPOPT_RA 62,2028 -#define IPVERSION 64,2076 -#define MAXTTL 65,2096 -#define IPDEFTTL 66,2116 -#define IPOPT_OPTVAL 68,2137 -#define IPOPT_OLEN 69,2160 -#define IPOPT_OFFSET 70,2183 -#define IPOPT_MINOFF 71,2206 -#define MAX_IPOPTLEN 72,2229 -#define IPOPT_NOP 73,2253 -#define IPOPT_EOL 74,2282 -#define IPOPT_TS 75,2310 -#define IPOPT_TS_TSONLY 77,2345 -#define IPOPT_TS_TSANDADDR 78,2395 -#define IPOPT_TS_PRESPEC 79,2456 -struct ip_options ip_options88,2652 -#define optlength(optlength108,3466 -struct inet_opt inet_opt110,3532 -#define IPCORK_OPT 147,4637 -struct inet_sock inet_sock152,4792 -static inline struct inet_opt * inet_sk(160,4950 -struct iphdr iphdr167,5071 -struct ip_auth_hdr ip_auth_hdr189,5425 -struct ip_esp_hdr ip_esp_hdr198,5669 -struct ip_comp_hdr ip_comp_hdr204,5818 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mroute.h,1623 -#define __LINUX_MROUTE_H2,25 -#define MRT_BASE 18,367 -#define MRT_INIT 19,388 -#define MRT_DONE 20,455 -#define MRT_ADD_VIF 21,519 -#define MRT_DEL_VIF 22,583 -#define MRT_ADD_MFC 23,650 -#define MRT_DEL_MFC 24,722 -#define MRT_VERSION 25,797 -#define MRT_ASSERT 26,869 -#define MRT_PIM 27,933 -#define SIOCGETVIFCNT 29,986 -#define SIOCGETSGCNT 30,1052 -#define SIOCGETRPF 31,1094 -#define MAXVIFS 33,1135 -typedef unsigned long vifbitmap_t;vifbitmap_t34,1156 -typedef unsigned short vifi_t;vifi_t35,1232 -#define ALL_VIFS 36,1263 -#define VIFM_SET(VIFM_SET42,1328 -#define VIFM_CLR(VIFM_CLR43,1366 -#define VIFM_ISSET(VIFM_ISSET44,1405 -#define VIFM_CLRALL(VIFM_CLRALL45,1444 -#define VIFM_COPY(VIFM_COPY46,1475 -#define VIFM_SAME(VIFM_SAME47,1520 -struct vifctl vifctl54,1671 -#define VIFF_TUNNEL 63,1987 -#define VIFF_SRCRT 64,2029 -#define VIFF_REGISTER 65,2061 -struct mfcctlmfcctl71,2170 -struct sioc_sg_reqsioc_sg_req87,2588 -struct sioc_vif_reqsioc_vif_req100,2763 -struct igmpmsgigmpmsg114,3128 -struct vif_devicevif_device137,3721 -#define VIFF_STATIC 149,4141 -struct mfc_cache mfc_cache151,4169 -#define MFC_STATIC 176,4778 -#define MFC_NOTIFY 177,4800 -#define MFC_LINES 179,4823 -#define MFC_HASH(MFC_HASH182,4866 -#define MFC_HASH(MFC_HASH184,4932 -#define MFC_ASSERT_THRESH 190,5004 -#define IGMPMSG_NOCACHE 196,5113 -#define IGMPMSG_WRONGVIF 197,5182 -#define IGMPMSG_WHOLEPKT 198,5251 -#define PIM_V1_VERSION 202,5333 -#define PIM_V1_REGISTER 203,5386 -#define PIM_VERSION 205,5414 -#define PIM_REGISTER 206,5437 -#define PIM_NULL_REGISTER 208,5462 -struct pimreghdrpimreghdr212,5595 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/share.h,70 -#define LINUX_LOCKD_SHARE_H10,168 -struct nlm_share nlm_share15,237 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/xdr.h,552 -#define LOCKD_XDR_H10,156 -#define NLM_MAXCOOKIELEN 16,253 -#define NLM_MAXSTRLEN 17,285 -#define nlm_granted 19,314 -#define nlm_lck_denied 20,369 -#define nlm_lck_denied_nolocks 21,426 -#define nlm_lck_blocked 22,498 -#define nlm_lck_denied_grace_period 23,557 -#define nlm_lck_dropit 28,777 -struct nlm_lock nlm_lock31,857 -struct nlm_cookienlm_cookie45,1167 -struct nlm_args nlm_args54,1305 -typedef struct nlm_args nlm_args;nlm_args65,1474 -struct nlm_res nlm_res70,1540 -struct nlm_reboot nlm_reboot79,1677 -#define NLMSVC_XDRSIZE 91,1842 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/lockd.h,515 -#define LINUX_LOCKD_LOCKD_H10,171 -#define LOCKD_VERSION 29,522 -#define LOCKD_DFLT_TIMEO 34,602 -struct nlm_host nlm_host39,709 -struct nlm_lockowner nlm_lockowner67,1780 -#define NLMCLNT_OHSIZE 79,1958 -struct nlm_rqst nlm_rqst80,2019 -struct nlm_file nlm_file92,2343 -#define NLM_NEVER 108,2938 -struct nlm_block nlm_block109,2978 -#define NLM_ACT_CHECK 127,3653 -#define NLM_ACT_MARK 128,3701 -#define NLM_ACT_UNLOCK 129,3745 -nlmsvc_file_inode(196,6122 -nlm_cmp_addr(205,6295 -nlm_compare_locks(215,6547 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/nlm.h,1065 -#define LINUX_LOCKD_NLM_H10,184 -# define NLM_OFFSET_MAX 15,284 -# define NLM4_OFFSET_MAX 16,328 - NLM_LCK_GRANTED 20,414 - NLM_LCK_DENIED 21,438 - NLM_LCK_DENIED_NOLOCKS 22,461 - NLM_LCK_BLOCKED 23,491 - NLM_LCK_DENIED_GRACE_PERIOD 24,515 - NLM_DEADLCK 26,572 - NLM_ROFS 27,592 - NLM_STALE_FH 28,609 - NLM_FBIG 29,630 - NLM_FAILED 30,647 -#define NLM_PROGRAM 34,677 -#define NLMPROC_NULL 36,706 -#define NLMPROC_TEST 37,730 -#define NLMPROC_LOCK 38,754 -#define NLMPROC_CANCEL 39,778 -#define NLMPROC_UNLOCK 40,804 -#define NLMPROC_GRANTED 41,830 -#define NLMPROC_TEST_MSG 42,857 -#define NLMPROC_LOCK_MSG 43,884 -#define NLMPROC_CANCEL_MSG 44,911 -#define NLMPROC_UNLOCK_MSG 45,940 -#define NLMPROC_GRANTED_MSG 46,969 -#define NLMPROC_TEST_RES 47,1000 -#define NLMPROC_LOCK_RES 48,1028 -#define NLMPROC_CANCEL_RES 49,1056 -#define NLMPROC_UNLOCK_RES 50,1086 -#define NLMPROC_GRANTED_RES 51,1116 -#define NLMPROC_NSM_NOTIFY 52,1147 -#define NLMPROC_SHARE 53,1199 -#define NLMPROC_UNSHARE 54,1225 -#define NLMPROC_NM_LOCK 55,1253 -#define NLMPROC_FREE_ALL 56,1281 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/bind.h,79 -#define LINUX_LOCKD_BIND_H10,196 -struct nlmsvc_binding nlmsvc_binding20,366 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/sm_inter.h,342 -#define LINUX_LOCKD_SM_INTER_H10,184 -#define SM_PROGRAM 12,216 -#define SM_VERSION 13,242 -#define SM_STAT 14,263 -#define SM_MON 15,282 -#define SM_UNMON 16,300 -#define SM_UNMON_ALL 17,319 -#define SM_SIMU_CRASH 18,342 -#define SM_NOTIFY 19,366 -#define SM_MAXSTRLEN 21,387 -struct nsm_args nsm_args26,457 -struct nsm_res nsm_res37,672 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/debug.h,431 -#define LINUX_LOCKD_DEBUG_H10,152 -# define LOCKD_DEBUG 21,307 -# define ifdebug(ifdebug26,401 -# define ifdebug(ifdebug28,472 -#define NLMDBG_SVC 36,558 -#define NLMDBG_CLIENT 37,585 -#define NLMDBG_CLNTLOCK 38,615 -#define NLMDBG_SVCLOCK 39,647 -#define NLMDBG_MONITOR 40,678 -#define NLMDBG_CLNTSUBS 41,709 -#define NLMDBG_SVCSUBS 42,741 -#define NLMDBG_HOSTCACHE 43,772 -#define NLMDBG_XDR 44,804 -#define NLMDBG_ALL 45,831 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lockd/xdr4.h,168 -#define LOCKD_XDR4_H10,157 -#define nlm4_deadlock 18,315 -#define nlm4_rofs 19,368 -#define nlm4_stale_fh 20,414 -#define nlm4_fbig 21,468 -#define nlm4_failed 22,514 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/a.out.h,1975 -#define __A_OUT_GNU_H__2,24 -#define __GNU_EXEC_MACROS__4,49 -enum machine_type machine_type13,214 - M__OLDSUN2 15,258 - M__OLDSUN2 = M_OLDSUN2,15,258 - M_OLDSUN2 17,290 - M__68010 20,336 - M__68010 = M_68010,20,336 - M_68010 22,364 - M__68020 25,408 - M__68020 = M_68020,25,408 - M_68020 27,436 - M__SPARC 30,480 - M__SPARC = M_SPARC,30,480 - M_SPARC 32,508 - M_386 35,593 - M_MIPS1 36,608 - M_MIPS2 37,655 -#define N_MAGIC(N_MAGIC41,729 -#define N_MACHTYPE(N_MACHTYPE43,783 -#define N_FLAGS(N_FLAGS44,860 -#define N_SET_INFO(N_SET_INFO45,913 -#define N_SET_MAGIC(N_SET_MAGIC49,1064 -#define N_SET_MACHTYPE(N_SET_MACHTYPE52,1171 -#define N_SET_FLAGS(N_SET_FLAGS56,1298 -#define OMAGIC 61,1468 -#define NMAGIC 63,1528 -#define ZMAGIC 65,1596 -#define QMAGIC 68,1760 -#define CMAGIC 71,1815 -#define N_BADMAG(N_BADMAG74,1860 -#define _N_HDROFF(_N_HDROFF80,2011 -#define N_TXTOFF(N_TXTOFF83,2087 -#define N_DATOFF(N_DATOFF89,2261 -#define N_TRELOFF(N_TRELOFF93,2341 -#define N_DRELOFF(N_DRELOFF97,2422 -#define N_SYMOFF(N_SYMOFF101,2504 -#define N_STROFF(N_STROFF105,2585 -#define N_TXTADDR(N_TXTADDR110,2728 -#define SEGMENT_SIZE 117,2992 -#define SEGMENT_SIZE 120,3042 -#define SEGMENT_SIZE 123,3103 -#define PAGE_SIZE 126,3176 -#define SEGMENT_SIZE 127,3200 -#define SEGMENT_SIZE 133,3320 -#define SEGMENT_SIZE 136,3373 -#define _N_SEGMENT_ROUND(_N_SEGMENT_ROUND141,3426 -#define _N_TXTENDADDR(_N_TXTENDADDR143,3504 -#define N_DATADDR(N_DATADDR146,3574 -#define N_BSSADDR(N_BSSADDR153,3782 -struct nlist nlist157,3872 -#define N_UNDF 171,4110 -#define N_ABS 174,4155 -#define N_TEXT 177,4200 -#define N_DATA 180,4246 -#define N_BSS 183,4291 -#define N_FN 186,4334 -#define N_EXT 190,4379 -#define N_TYPE 193,4424 -#define N_STAB 196,4472 -#define N_INDR 207,4950 -#define N_SETA 221,5552 -#define N_SETT 222,5607 -#define N_SETD 223,5658 -#define N_SETB 224,5709 -#define N_SETV 227,5791 -struct relocation_inforelocation_info235,6158 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/icmp.h,1369 -#define _LINUX_ICMP_H18,634 -#define ICMP_ECHOREPLY 20,657 -#define ICMP_DEST_UNREACH 21,702 -#define ICMP_SOURCE_QUENCH 22,760 -#define ICMP_REDIRECT 23,810 -#define ICMP_ECHO 24,865 -#define ICMP_TIME_EXCEEDED 25,907 -#define ICMP_PARAMETERPROB 26,958 -#define ICMP_TIMESTAMP 27,1013 -#define ICMP_TIMESTAMPREPLY 28,1065 -#define ICMP_INFO_REQUEST 29,1119 -#define ICMP_INFO_REPLY 30,1175 -#define ICMP_ADDRESS 31,1228 -#define ICMP_ADDRESSREPLY 32,1281 -#define NR_ICMP_TYPES 33,1336 -#define ICMP_NET_UNREACH 37,1389 -#define ICMP_HOST_UNREACH 38,1443 -#define ICMP_PROT_UNREACH 39,1495 -#define ICMP_PORT_UNREACH 40,1551 -#define ICMP_FRAG_NEEDED 41,1603 -#define ICMP_SR_FAILED 42,1664 -#define ICMP_NET_UNKNOWN 43,1717 -#define ICMP_HOST_UNKNOWN 44,1744 -#define ICMP_HOST_ISOLATED 45,1772 -#define ICMP_NET_ANO 46,1801 -#define ICMP_HOST_ANO 47,1825 -#define ICMP_NET_UNR_TOS 48,1851 -#define ICMP_HOST_UNR_TOS 49,1879 -#define ICMP_PKT_FILTERED 50,1908 -#define ICMP_PREC_VIOLATION 51,1959 -#define ICMP_PREC_CUTOFF 52,2017 -#define NR_ICMP_UNREACH 53,2070 -#define ICMP_REDIR_NET 56,2169 -#define ICMP_REDIR_HOST 57,2216 -#define ICMP_REDIR_NETTOS 58,2264 -#define ICMP_REDIR_HOSTTOS 59,2320 -#define ICMP_EXC_TTL 62,2409 -#define ICMP_EXC_FRAGTIME 63,2459 -struct icmphdr icmphdr66,2524 -#define ICMP_FILTER 87,2767 -struct icmp_filter icmp_filter89,2792 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bcd.h,162 -#define _BCD_H11,293 -#define BCD2BIN(BCD2BIN13,309 -#define BIN2BCD(BIN2BCD14,363 -#define BCD_TO_BIN(BCD_TO_BIN17,437 -#define BIN_TO_BCD(BIN_TO_BCD18,482 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kmalloc_sizes.h,13 - CACHE(2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hdsmart.h,1398 -#define _LINUX_HDSMART_H18,640 -#define OFFLINE_FULL_SCAN 20,666 -#define SHORT_SELF_TEST 21,695 -#define EXTEND_SELF_TEST 22,723 -#define SHORT_CAPTIVE_SELF_TEST 23,751 -#define EXTEND_CAPTIVE_SELF_TEST 24,788 -typedef struct ata_smart_attribute_s ata_smart_attribute_s27,888 -} __attribute__ ((packed)packed34,1089 -typedef struct ata_smart_values_s ata_smart_values_s37,1205 -} __attribute__ ((packed)packed53,1879 -typedef struct ata_smart_threshold_entry_s ata_smart_threshold_entry_s57,2007 -} __attribute__ ((packed)packed61,2143 -typedef struct ata_smart_thresholds_s ata_smart_thresholds_s64,2245 -} __attribute__ ((packed)packed69,2419 -typedef struct ata_smart_errorlog_command_struct_s ata_smart_errorlog_command_struct_s71,2471 -} __attribute__ ((packed)packed81,2800 -typedef struct ata_smart_errorlog_error_struct_s ata_smart_errorlog_error_struct_s83,2865 -} __attribute__ ((packed)packed88,3040 -typedef struct ata_smart_errorlog_struct_s ata_smart_errorlog_struct_s90,3103 -} __attribute__ ((packed)packed93,3247 -typedef struct ata_smart_errorlog_s ata_smart_errorlog_s95,3304 -} __attribute__ ((packed)packed104,3620 -typedef struct ata_smart_selftestlog_struct_s ata_smart_selftestlog_struct_s106,3670 -} __attribute__ ((packed)packed113,3927 -typedef struct ata_smart_selftestlog_s ata_smart_selftestlog_s115,3987 -} __attribute__ ((packed)packed122,4235 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/romfs_fs.h,735 -#define __LINUX_ROMFS_FS_H2,27 -#define ROMBSIZE 6,107 -#define ROMBSBITS 7,135 -#define ROMBMASK 8,169 -#define ROMFS_MAGIC 9,199 -#define ROMFS_MAXFN 11,227 -#define __mkw(__mkw13,252 -#define __mkl(__mkl14,303 -#define __mk4(__mk415,354 -#define ROMSB_WORD0 16,419 -#define ROMSB_WORD1 17,462 -struct romfs_super_block romfs_super_block21,535 -struct romfs_inode romfs_inode31,683 -#define ROMFH_TYPE 39,812 -#define ROMFH_HRD 40,833 -#define ROMFH_DIR 41,853 -#define ROMFH_REG 42,873 -#define ROMFH_SYM 43,893 -#define ROMFH_BLK 44,913 -#define ROMFH_CHR 45,933 -#define ROMFH_SCK 46,953 -#define ROMFH_FIF 47,973 -#define ROMFH_EXEC 48,993 -#define ROMFH_SIZE 52,1032 -#define ROMFH_PAD 53,1054 -#define ROMFH_MASK 54,1087 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hayesesp.h,1950 -#define HAYESESP_H2,19 -struct hayes_esp_config hayes_esp_config4,39 -#define ESP_DMA_CHANNEL 16,227 -#define ESP_RX_TRIGGER 17,255 -#define ESP_TX_TRIGGER 18,285 -#define ESP_FLOW_OFF 19,315 -#define ESP_FLOW_ON 20,346 -#define ESP_RX_TMOUT 21,376 -#define ESP_PIO_THRESHOLD 22,406 -#define ESP_IN_MAJOR 24,436 -#define ESP_OUT_MAJOR 25,490 -#define ESPC_SCALE 26,546 -#define UART_ESI_BASE 27,568 -#define UART_ESI_SID 28,595 -#define UART_ESI_RX 29,621 -#define UART_ESI_TX 30,646 -#define UART_ESI_CMD1 31,671 -#define UART_ESI_CMD2 32,698 -#define UART_ESI_STAT1 33,725 -#define UART_ESI_STAT2 34,753 -#define UART_ESI_RWS 35,781 -#define UART_IER_DMA_TMOUT 37,808 -#define UART_IER_DMA_TC 38,840 -#define ESI_SET_IRQ 40,871 -#define ESI_SET_DMA_TMOUT 41,897 -#define ESI_SET_SRV_MASK 42,928 -#define ESI_SET_ERR_MASK 43,958 -#define ESI_SET_FLOW_CNTL 44,988 -#define ESI_SET_FLOW_CHARS 45,1019 -#define ESI_SET_FLOW_LVL 46,1051 -#define ESI_SET_TRIGGER 47,1081 -#define ESI_SET_RX_TIMEOUT 48,1111 -#define ESI_SET_FLOW_TMOUT 49,1143 -#define ESI_WRITE_UART 50,1175 -#define ESI_READ_UART 51,1204 -#define ESI_SET_MODE 52,1232 -#define ESI_GET_ERR_STAT 53,1259 -#define ESI_GET_UART_STAT 54,1289 -#define ESI_GET_RX_AVAIL 55,1320 -#define ESI_GET_TX_AVAIL 56,1350 -#define ESI_START_DMA_RX 57,1380 -#define ESI_START_DMA_TX 58,1410 -#define ESI_ISSUE_BREAK 59,1440 -#define ESI_FLUSH_RX 60,1470 -#define ESI_FLUSH_TX 61,1497 -#define ESI_SET_BAUD 62,1524 -#define ESI_SET_ENH_IRQ 63,1551 -#define ESI_SET_REINTR 64,1581 -#define ESI_SET_PRESCALAR 65,1610 -#define ESI_NO_COMMAND 66,1641 -#define ESP_STAT_RX_TIMEOUT 68,1671 -#define ESP_STAT_DMA_RX 69,1704 -#define ESP_STAT_DMA_TX 70,1734 -#define ESP_STAT_NEVER_DMA 71,1764 -#define ESP_STAT_USE_PIO 72,1801 -#define ESP_EVENT_WRITE_WAKEUP 74,1839 -#define ESP_MAGIC 75,1872 -#define ESP_XMIT_SIZE 76,1898 -struct esp_struct esp_struct78,1927 -struct esp_pio_buffer esp_pio_buffer114,2952 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/stat.h,965 -#define _LINUX_STAT_H2,22 -#define S_IFMT 12,162 -#define S_IFSOCK 13,187 -#define S_IFLNK 14,212 -#define S_IFREG 15,237 -#define S_IFBLK 16,262 -#define S_IFDIR 17,287 -#define S_IFCHR 18,312 -#define S_IFIFO 19,337 -#define S_ISUID 20,362 -#define S_ISGID 21,387 -#define S_ISVTX 22,412 -#define S_ISLNK(S_ISLNK24,438 -#define S_ISREG(S_ISREG25,485 -#define S_ISDIR(S_ISDIR26,532 -#define S_ISCHR(S_ISCHR27,579 -#define S_ISBLK(S_ISBLK28,626 -#define S_ISFIFO(S_ISFIFO29,673 -#define S_ISSOCK(S_ISSOCK30,721 -#define S_IRWXU 32,771 -#define S_IRUSR 33,793 -#define S_IWUSR 34,815 -#define S_IXUSR 35,837 -#define S_IRWXG 37,860 -#define S_IRGRP 38,882 -#define S_IWGRP 39,904 -#define S_IXGRP 40,926 -#define S_IRWXO 42,949 -#define S_IROTH 43,971 -#define S_IWOTH 44,993 -#define S_IXOTH 45,1015 -#define S_IRWXUGO 50,1064 -#define S_IALLUGO 51,1108 -#define S_IRUGO 52,1162 -#define S_IWUGO 53,1205 -#define S_IXUGO 54,1248 -struct kstat kstat59,1342 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ufs_fs_sb.h,172 -#define __LINUX_UFS_FS_SB_H15,383 -#define UFS_MAX_GROUP_LOADED 18,413 -#define UFS_CGNO_EMPTY 19,444 -#define UFS_MAXCSBUFS 24,556 -struct ufs_sb_info ufs_sb_info26,582 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/raw.h,163 -#define __LINUX_RAW_H2,22 -#define RAW_SETBIND 6,71 -#define RAW_GETBIND 7,106 -struct raw_config_request raw_config_request9,142 -#define MAX_RAW_MINORS 16,231 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compat_ioctl.h,114 -#define COMPATIBLE_IOCTL(COMPATIBLE_IOCTL6,255 -#define ULONG_IOCTL(ULONG_IOCTL10,425 -COMPATIBLE_IOCTL(14,524 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/affs_fs_sb.h,455 -#define _AFFS_FS_SB2,20 -struct affs_bm_info affs_bm_info11,137 -struct affs_sb_info affs_sb_info16,244 -#define SF_INTL 39,1227 -#define SF_BM_VALID 40,1284 -#define SF_IMMUTABLE 41,1335 -#define SF_QUIET 42,1404 -#define SF_SETUID 43,1469 -#define SF_SETGID 44,1518 -#define SF_SETMODE 45,1567 -#define SF_MUFS 46,1629 -#define SF_OFS 47,1685 -#define SF_PREFIX 48,1730 -#define SF_VERBOSE 49,1793 -static inline struct affs_sb_info *AFFS_SB(52,1907 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/random.h,250 -#define _LINUX_RANDOM_H8,110 -#define RNDGETENTCNT 15,239 -#define RNDADDTOENTCNT 18,354 -#define RNDGETPOOL 21,464 -#define RNDADDENTROPY 27,607 -#define RNDZAPENTCNT 30,708 -#define RNDCLEARPOOL 33,820 -struct rand_pool_info rand_pool_info35,859 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/audit.h,2691 -#define _LINUX_AUDIT_H_25,942 -#define AUDIT_GET 28,997 -#define AUDIT_SET 29,1042 -#define AUDIT_LIST 30,1111 -#define AUDIT_ADD 31,1166 -#define AUDIT_DEL 32,1219 -#define AUDIT_USER 33,1275 -#define AUDIT_LOGIN 34,1340 -#define AUDIT_KERNEL 35,1414 -#define AUDIT_PER_TASK 38,1508 -#define AUDIT_AT_ENTRY 39,1584 -#define AUDIT_AT_EXIT 40,1646 -#define AUDIT_PREPEND 41,1707 -#define AUDIT_NEVER 44,1786 -#define AUDIT_POSSIBLE 45,1854 -#define AUDIT_ALWAYS 46,1916 -#define AUDIT_MAX_FIELDS 50,2101 -#define AUDIT_BITMASK_SIZE 51,2131 -#define AUDIT_WORD(AUDIT_WORD52,2161 -#define AUDIT_BIT(AUDIT_BIT53,2203 -#define AUDIT_PID 59,2394 -#define AUDIT_UID 60,2414 -#define AUDIT_EUID 61,2434 -#define AUDIT_SUID 62,2455 -#define AUDIT_FSUID 63,2476 -#define AUDIT_GID 64,2498 -#define AUDIT_EGID 65,2518 -#define AUDIT_SGID 66,2539 -#define AUDIT_FSGID 67,2560 -#define AUDIT_LOGINUID 68,2582 -#define AUDIT_PERS 69,2607 -#define AUDIT_DEVMAJOR 73,2721 -#define AUDIT_DEVMINOR 74,2748 -#define AUDIT_INODE 75,2775 -#define AUDIT_EXIT 76,2799 -#define AUDIT_SUCCESS 77,2822 -#define AUDIT_ARG0 79,2882 -#define AUDIT_ARG1 80,2910 -#define AUDIT_ARG2 81,2949 -#define AUDIT_ARG3 82,2988 -#define AUDIT_NEGATE 84,3028 -#define AUDIT_STATUS_ENABLED 89,3108 -#define AUDIT_STATUS_FAILURE 90,3145 -#define AUDIT_STATUS_PID 91,3182 -#define AUDIT_STATUS_RATE_LIMIT 92,3215 -#define AUDIT_STATUS_BACKLOG_LIMIT 93,3255 -#define AUDIT_FAIL_SILENT 95,3330 -#define AUDIT_FAIL_PRINTK 96,3358 -#define AUDIT_FAIL_PANIC 97,3386 -struct audit_message audit_message100,3433 -struct audit_status audit_status106,3508 -struct audit_login audit_login117,3913 -struct audit_rule audit_rule123,3988 -#define audit_alloc(audit_alloc159,5277 -#define audit_free(audit_free160,5309 -#define audit_syscall_entry(audit_syscall_entry161,5350 -#define audit_syscall_exit(audit_syscall_exit162,5410 -#define audit_getname(audit_getname163,5461 -#define audit_putname(audit_putname164,5505 -#define audit_inode(audit_inode165,5549 -extern void audit_log(171,5679 -#define audit_log(audit_log197,6781 -#define audit_log_start(audit_log_start198,6827 -#define audit_log_vformat(audit_log_vformat199,6866 -#define audit_log_format(audit_log_format200,6918 -#define audit_log_end(audit_log_end201,6971 -#define audit_log_end_fast(audit_log_end_fast202,7015 -#define audit_log_end_irq(audit_log_end_irq203,7064 -#define audit_log_d_path(audit_log_d_path204,7112 -#define audit_set_rate_limit(audit_set_rate_limit205,7165 -#define audit_set_backlog_limit(audit_set_backlog_limit206,7216 -#define audit_set_enabled(audit_set_enabled207,7270 -#define audit_set_failure(audit_set_failure208,7318 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kbd_kern.h,1286 -#define _KBD_KERN_H2,20 -struct kbd_struct kbd_struct26,637 -#define VC_SHIFTLOCK 31,799 -#define VC_ALTGRLOCK 32,851 -#define VC_CTRLLOCK 33,903 -#define VC_ALTLOCK 34,956 -#define VC_SHIFTLLOCK 35,1004 -#define VC_SHIFTRLOCK 36,1059 -#define VC_CTRLLLOCK 37,1114 -#define VC_CTRLRLOCK 38,1167 -#define LED_SHOW_FLAGS 42,1335 -#define LED_SHOW_IOCTL 43,1391 -#define LED_SHOW_MEM 44,1457 -#define VC_SCROLLOCK 48,1620 -#define VC_NUMLOCK 49,1666 -#define VC_CAPSLOCK 50,1711 -#define VC_KANALOCK 51,1753 -#define VC_XLATE 54,1844 -#define VC_MEDIUMRAW 55,1901 -#define VC_RAW 56,1956 -#define VC_UNICODE 57,2000 -#define VC_APPLIC 60,2069 -#define VC_CKMODE 61,2116 -#define VC_REPEAT 62,2158 -#define VC_CRLF 63,2200 -#define VC_META 64,2266 -static inline void set_leds(81,2668 -static inline int vc_kbd_mode(86,2745 -static inline int vc_kbd_led(91,2855 -static inline void set_vc_kbd_mode(96,2967 -static inline void set_vc_kbd_led(101,3072 -static inline void clr_vc_kbd_mode(106,3179 -static inline void clr_vc_kbd_led(111,3287 -static inline void chg_vc_kbd_lock(116,3397 -static inline void chg_vc_kbd_slock(121,3502 -static inline void chg_vc_kbd_mode(126,3609 -static inline void chg_vc_kbd_led(131,3714 -#define U(U136,3821 -static inline void con_schedule_flip(152,4088 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/sonet.h,881 -#define LINUX_SONET_H7,136 -#define __SONET_ITEMS 9,159 -struct sonet_stats sonet_stats20,744 -#define __HANDLE_ITEM(__HANDLE_ITEM21,765 -#define SONET_GETSTAT 27,862 -#define SONET_GETSTATZ 29,953 -#define SONET_SETDIAG 31,1054 -#define SONET_CLRDIAG 33,1138 -#define SONET_GETDIAG 35,1224 -#define SONET_SETFRAMING 37,1309 -#define SONET_GETFRAMING 39,1399 -#define SONET_GETFRSENSE 41,1482 -#define SONET_INS_SBIP 44,1609 -#define SONET_INS_LBIP 45,1655 -#define SONET_INS_PBIP 46,1698 -#define SONET_INS_FRAME 47,1741 -#define SONET_INS_LOS 48,1789 -#define SONET_INS_LAIS 49,1839 -#define SONET_INS_PAIS 50,1902 -#define SONET_INS_HCS 51,1965 -#define SONET_FRAME_SONET 53,2016 -#define SONET_FRAME_SDH 54,2071 -#define SONET_FRSENSE_SIZE 56,2125 -struct k_sonet_stats k_sonet_stats63,2238 -#define __HANDLE_ITEM(__HANDLE_ITEM64,2261 - __SONET_ITEMS__SONET_ITEMS65,2297 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_fc.h,218 -#define _LINUX_IF_FC_H21,768 -#define FC_ALEN 24,793 -#define FC_HLEN 25,847 -#define FC_ID_LEN 26,911 -#define EXTENDED_SAP 29,1002 -#define UI_CMD 30,1028 -struct fch_hdr fch_hdr36,1255 -struct fcllc fcllc42,1415 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/radix-tree.h,269 -#define _LINUX_RADIX_TREE_H20,809 -struct radix_tree_root radix_tree_root25,891 -#define RADIX_TREE_INIT(RADIX_TREE_INIT31,992 -#define RADIX_TREE(RADIX_TREE37,1107 -#define INIT_RADIX_TREE(INIT_RADIX_TREE40,1194 -static inline void radix_tree_preload_end(66,2242 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/suspend.h,377 -#define _LINUX_SWSUSP_H2,24 -typedef struct pbe pbe15,265 -} suspend_pagedir_t;suspend_pagedir_t22,525 -#define SWAP_FILENAME_MAXLENGTH 24,547 -#define SUSPEND_PD_PAGES(SUSPEND_PD_PAGES27,584 -static inline int software_suspend(39,867 -static inline void refrigerator(56,1220 -static inline void disable_nonboot_cpus(63,1402 -static inline void enable_nonboot_cpus(64,1451 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/oprofile.h,81 -#define OPROFILE_H14,249 -struct oprofile_operations oprofile_operations25,452 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/socket.h,3846 -#define _LINUX_SOCKET_H2,24 -#define _K_SS_MAXSIZE 7,118 -#define _K_SS_ALIGNSIZE 8,183 -struct __kernel_sockaddr_storage __kernel_sockaddr_storage11,294 -typedef unsigned short sa_family_t;sa_family_t29,1047 -struct sockaddr sockaddr35,1151 -struct linger linger40,1281 -#define sockaddr_storage 45,1382 -struct msghdr msghdr53,1627 -struct cmsghdr cmsghdr69,2123 -#define __CMSG_NXTHDR(__CMSG_NXTHDR80,2397 -#define CMSG_NXTHDR(CMSG_NXTHDR81,2469 -#define CMSG_ALIGN(CMSG_ALIGN83,2530 -#define CMSG_DATA(CMSG_DATA85,2602 -#define CMSG_SPACE(CMSG_SPACE86,2690 -#define CMSG_LEN(CMSG_LEN87,2769 -#define __CMSG_FIRSTHDR(__CMSG_FIRSTHDR89,2837 -#define CMSG_FIRSTHDR(CMSG_FIRSTHDR92,2971 -#define CMSG_OK(CMSG_OK93,3057 -#define __KINLINE 103,3339 -#define __KINLINE 105,3397 -#define __KINLINE 107,3460 -#define __KINLINE 109,3498 -__KINLINE struct cmsghdr * __cmsg_nxthdr(126,3963 -__KINLINE struct cmsghdr * cmsg_nxthdr 138,4308 -#define SCM_RIGHTS 145,4518 -#define SCM_CREDENTIALS 146,4582 -struct ucred ucred148,4637 -#define AF_UNSPEC 155,4726 -#define AF_UNIX 156,4746 -#define AF_LOCAL 157,4793 -#define AF_INET 158,4841 -#define AF_AX25 159,4888 -#define AF_IPX 160,4935 -#define AF_APPLETALK 161,4973 -#define AF_NETROM 162,5018 -#define AF_BRIDGE 163,5067 -#define AF_ATMPVC 164,5115 -#define AF_X25 165,5152 -#define AF_INET6 166,5203 -#define AF_ROSE 167,5244 -#define AF_DECnet 168,5293 -#define AF_NETBEUI 169,5348 -#define AF_SECURITY 170,5405 -#define AF_KEY 171,5462 -#define AF_NETLINK 172,5518 -#define AF_ROUTE 173,5540 -#define AF_PACKET 174,5598 -#define AF_ASH 175,5640 -#define AF_ECONET 176,5672 -#define AF_ATMSVC 177,5714 -#define AF_SNA 178,5752 -#define AF_IRDA 179,5806 -#define AF_PPPOX 180,5847 -#define AF_WANPIPE 181,5888 -#define AF_LLC 182,5936 -#define AF_BLUETOOTH 183,5973 -#define AF_MAX 184,6023 -#define PF_UNSPEC 187,6110 -#define PF_UNIX 188,6138 -#define PF_LOCAL 189,6163 -#define PF_INET 190,6189 -#define PF_AX25 191,6214 -#define PF_IPX 192,6239 -#define PF_APPLETALK 193,6262 -#define PF_NETROM 194,6296 -#define PF_BRIDGE 195,6324 -#define PF_ATMPVC 196,6352 -#define PF_X25 197,6380 -#define PF_INET6 198,6403 -#define PF_ROSE 199,6429 -#define PF_DECnet 200,6454 -#define PF_NETBEUI 201,6482 -#define PF_SECURITY 202,6512 -#define PF_KEY 203,6544 -#define PF_NETLINK 204,6567 -#define PF_ROUTE 205,6597 -#define PF_PACKET 206,6623 -#define PF_ASH 207,6651 -#define PF_ECONET 208,6674 -#define PF_ATMSVC 209,6702 -#define PF_SNA 210,6730 -#define PF_IRDA 211,6753 -#define PF_PPPOX 212,6778 -#define PF_WANPIPE 213,6804 -#define PF_LLC 214,6834 -#define PF_BLUETOOTH 215,6857 -#define PF_MAX 216,6891 -#define SOMAXCONN 219,6966 -#define MSG_OOB 225,7090 -#define MSG_PEEK 226,7109 -#define MSG_DONTROUTE 227,7128 -#define MSG_TRYHARD 228,7152 -#define MSG_CTRUNC 229,7227 -#define MSG_PROBE 230,7248 -#define MSG_TRUNC 231,7319 -#define MSG_DONTWAIT 232,7342 -#define MSG_EOR 233,7391 -#define MSG_WAITALL 234,7440 -#define MSG_FIN 235,7496 -#define MSG_SYN 236,7526 -#define MSG_CONFIRM 237,7549 -#define MSG_RST 238,7603 -#define MSG_ERRQUEUE 239,7627 -#define MSG_NOSIGNAL 240,7692 -#define MSG_MORE 241,7750 -#define MSG_EOF 243,7803 -#define MSG_CMSG_COMPAT 246,7863 -#define MSG_CMSG_COMPAT 248,7943 -#define SOL_IP 253,8087 -#define SOL_TCP 255,8182 -#define SOL_UDP 256,8201 -#define SOL_IPV6 257,8221 -#define SOL_ICMPV6 258,8241 -#define SOL_SCTP 259,8263 -#define SOL_RAW 260,8284 -#define SOL_IPX 261,8305 -#define SOL_AX25 262,8326 -#define SOL_ATALK 263,8347 -#define SOL_NETROM 264,8369 -#define SOL_ROSE 265,8392 -#define SOL_DECNET 266,8413 -#define SOL_X25 267,8436 -#define SOL_PACKET 268,8457 -#define SOL_ATM 269,8480 -#define SOL_AAL 270,8530 -#define SOL_IRDA 271,8591 -#define SOL_NETBEUI 272,8619 -#define SOL_LLC 273,8643 -#define IPX_TYPE 276,8683 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/vfs.h,26 -#define _LINUX_VFS_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/device.h,1659 -#define _DEVICE_H_12,242 -#define DEVICE_NAME_SIZE 25,518 -#define DEVICE_NAME_HALF 26,546 -#define DEVICE_ID_SIZE 27,628 -#define BUS_ID_SIZE 28,655 - SUSPEND_NOTIFY,32,699 - SUSPEND_SAVE_STATE,33,716 - SUSPEND_DISABLE,34,737 - SUSPEND_POWER_DOWN,35,755 - RESUME_POWER_ON,39,787 - RESUME_RESTORE_STATE,40,805 - RESUME_ENABLE,41,828 -struct bus_type bus_type50,942 -struct bus_attribute bus_attribute89,2086 -#define BUS_ATTR(BUS_ATTR95,2256 -struct device_driver device_driver101,2519 -struct driver_attribute driver_attribute127,3277 -#define DRIVER_ATTR(DRIVER_ATTR133,3460 -struct class_attribute class_attribute167,4370 -#define CLASS_ATTR(CLASS_ATTR173,4536 -struct class_device class_device180,4823 -class_get_devdata 192,5124 -class_set_devdata 198,5218 -struct class_device_attribute class_device_attribute215,5777 -#define CLASS_DEVICE_ATTR(CLASS_DEVICE_ATTR221,5964 -struct class_interface class_interface231,6335 -extern struct class_device *class_simple_device_add(245,6801 -struct device device252,7187 -list_to_dev(294,8572 -dev_get_drvdata 300,8681 -dev_set_drvdata 306,8768 -struct device_attribute device_attribute333,9573 -#define DEVICE_ATTR(DEVICE_ATTR339,9750 -struct platform_device platform_device368,10656 -#define to_platform_device(to_platform_device376,10780 -#define dev_printk(dev_printk399,11676 -#define dev_dbg(dev_dbg403,11839 -#define dev_dbg(dev_dbg406,11933 -#define dev_err(dev_err409,12008 -#define dev_info(dev_info411,12094 -#define dev_warn(dev_warn413,12182 -#define MODULE_ALIAS_CHARDEV(MODULE_ALIAS_CHARDEV417,12318 -#define MODULE_ALIAS_CHARDEV_MAJOR(MODULE_ALIAS_CHARDEV_MAJOR419,12433 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/gfp.h,1108 -#define __LINUX_GFP_H2,22 -#define __GFP_DMA 15,273 -#define __GFP_HIGHMEM 16,296 -#define __GFP_WAIT 29,717 -#define __GFP_HIGH 30,772 -#define __GFP_IO 31,833 -#define __GFP_FS 32,884 -#define __GFP_COLD 33,943 -#define __GFP_NOWARN 34,999 -#define __GFP_REPEAT 35,1073 -#define __GFP_NOFAIL 36,1140 -#define __GFP_NORETRY 37,1202 -#define __GFP_NO_GROW 38,1263 -#define __GFP_COMP 39,1318 -#define __GFP_BITS_SHIFT 41,1378 -#define __GFP_BITS_MASK 42,1439 -#define GFP_LEVEL_MASK 45,1564 -#define GFP_ATOMIC 49,1731 -#define GFP_NOIO 50,1778 -#define GFP_NOFS 51,1808 -#define GFP_KERNEL 52,1849 -#define GFP_USER 53,1903 -#define GFP_HIGHUSER 54,1955 -#define GFP_DMA 59,2155 -static inline void arch_free_page(78,2747 -static inline struct page *alloc_pages_node(84,2917 -alloc_pages(98,3301 -#define alloc_pages(alloc_pages108,3569 -#define alloc_page_vma(alloc_page_vma110,3660 -#define alloc_page(alloc_page112,3736 -#define __get_free_page(__get_free_page117,3955 -#define __get_dma_pages(__get_dma_pages120,4025 -#define __free_page(__free_page128,4381 -#define free_page(free_page129,4431 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mm.h,4041 -#define _LINUX_MM_H2,20 -#define sysctl_legacy_va_layout 32,635 -#define MM_VM_SIZE(MM_VM_SIZE41,795 -#define nth_page(nth_page44,836 -struct vm_area_struct vm_area_struct61,1484 -#define VM_READ 117,3289 -#define VM_WRITE 118,3346 -#define VM_EXEC 119,3374 -#define VM_SHARED 120,3402 -#define VM_MAYREAD 122,3432 -#define VM_MAYWRITE 123,3494 -#define VM_MAYEXEC 124,3525 -#define VM_MAYSHARE 125,3555 -#define VM_GROWSDOWN 127,3587 -#define VM_GROWSUP 128,3653 -#define VM_SHM 129,3683 -#define VM_DENYWRITE 130,3751 -#define VM_EXECUTABLE 132,3818 -#define VM_LOCKED 133,3851 -#define VM_IO 134,3880 -#define VM_SEQ_READ 137,3984 -#define VM_RAND_READ 138,4055 -#define VM_DONTCOPY 140,4136 -#define VM_DONTEXPAND 141,4207 -#define VM_RESERVED 142,4274 -#define VM_ACCOUNT 143,4340 -#define VM_HUGETLB 144,4401 -#define VM_NONLINEAR 145,4454 -#define VM_STACK_DEFAULT_FLAGS 148,4587 -#define VM_STACK_FLAGS 152,4676 -#define VM_STACK_FLAGS 154,4756 -#define VM_READHINTMASK 157,4840 -#define VM_ClearReadHint(VM_ClearReadHint158,4895 -#define VM_NormalReadHint(VM_NormalReadHint159,4958 -#define VM_SequentialReadHint(VM_SequentialReadHint160,5025 -#define VM_RandomReadHint(VM_RandomReadHint161,5088 -struct vm_operations_struct vm_operations_struct175,5532 -typedef unsigned page_flags_t;page_flags_t191,6137 -typedef unsigned long page_flags_t;page_flags_t193,6174 -struct page page202,6444 -#define put_page_testzero(put_page_testzero274,9012 -#define get_page_testone(get_page_testone284,9301 -#define set_page_count(set_page_count286,9364 -#define __put_page(__put_page287,9425 -static inline int page_count(293,9562 -static inline void get_page(300,9706 -#define page_count(page_count311,9929 -static inline void get_page(313,9985 -static inline void put_page(318,10065 -#define NODEZONE_SHIFT 381,12702 -#define NODEZONE(NODEZONE382,12786 -static inline unsigned long page_zonenum(384,12847 -static inline unsigned long page_to_nid(388,12979 -static inline struct zone *page_zone(396,13148 -static inline void set_page_zone(401,13260 -static inline void *lowmem_page_address(412,13572 -#define HASHED_PAGE_VIRTUAL418,13742 -#define page_address(page_address422,13809 -#define set_page_address(set_page_address423,13854 -#define page_address_init(page_address_init427,13957 -#define page_address(page_address437,14242 -#define set_page_address(set_page_address438,14295 -#define page_address_init(page_address_init439,14352 -#define PAGE_MAPPING_ANON 451,14818 -static inline struct address_space *page_mapping(454,14890 -static inline int PageAnon(465,15175 -static inline pgoff_t page_index(474,15426 -static inline void reset_page_mapcount(486,15751 -static inline int page_mapcount(491,15851 -static inline int page_mapped(499,16014 -#define NOPAGE_SIGBUS 507,16171 -#define NOPAGE_OOM 508,16200 -#define VM_FAULT_OOM 515,16426 -#define VM_FAULT_SIGBUS 516,16452 -#define VM_FAULT_MINOR 517,16478 -#define VM_FAULT_MAJOR 518,16503 -#define offset_in_page(offset_in_page520,16529 -#define shmem_nopage 532,16977 -#define shmem_lock(shmem_lock533,17013 -#define shmem_set_policy(shmem_set_policy534,17089 -#define shmem_get_policy(shmem_get_policy535,17124 -static inline int can_do_mlock(541,17295 -struct zap_details zap_details555,17642 -static inline void unmap_shared_mapping_range(577,18692 -typedef int (*shrinker_t)shrinker_t616,20778 -#define DEFAULT_SEEKS 623,20982 -static inline pmd_t *pmd_alloc(633,21303 -#define vma_prio_tree_foreach(vma_prio_tree_foreach657,22289 -static inline void vma_nonlinear_insert(661,22459 -static inline unsigned long get_unmapped_area(688,23668 -static inline unsigned long do_mmap(698,24048 -#define VM_MAX_READAHEAD 726,24906 -#define VM_MIN_READAHEAD 727,24948 -static inline struct vm_area_struct * find_vma_intersection(751,26095 -static inline unsigned long vma_pages(760,26356 -static inline void __vm_stat_account(776,26953 -static inline void vm_stat_account(782,27100 -static inline void vm_stat_unaccount(788,27252 -kernel_map_pages(796,27457 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipmi_msgdefs.h,1962 -#define __LINUX_IPMI_MSGDEFS_H35,1458 -#define IPMI_NETFN_SENSOR_EVENT_REQUEST 42,1638 -#define IPMI_NETFN_SENSOR_EVENT_RESPONSE 43,1684 -#define IPMI_GET_EVENT_RECEIVER_CMD 44,1730 -#define IPMI_NETFN_APP_REQUEST 46,1772 -#define IPMI_NETFN_APP_RESPONSE 47,1810 -#define IPMI_GET_DEVICE_ID_CMD 48,1849 -#define IPMI_CLEAR_MSG_FLAGS_CMD 49,1886 -#define IPMI_GET_MSG_FLAGS_CMD 50,1924 -#define IPMI_SEND_MSG_CMD 51,1961 -#define IPMI_GET_MSG_CMD 52,1993 -#define IPMI_SET_BMC_GLOBAL_ENABLES_CMD 53,2024 -#define IPMI_GET_BMC_GLOBAL_ENABLES_CMD 54,2069 -#define IPMI_READ_EVENT_MSG_BUFFER_CMD 55,2114 -#define IPMI_GET_CHANNEL_INFO_CMD 56,2158 -#define IPMI_NETFN_STORAGE_REQUEST 58,2198 -#define IPMI_NETFN_STORAGE_RESPONSE 59,2239 -#define IPMI_ADD_SEL_ENTRY_CMD 60,2281 -#define IPMI_BMC_SLAVE_ADDR 63,2351 -#define IPMI_MAX_MSG_LENGTH 70,2742 -#define IPMI_CC_NO_ERROR 72,2796 -#define IPMI_NODE_BUSY_ERR 73,2827 -#define IPMI_INVALID_COMMAND_ERR 74,2860 -#define IPMI_ERR_MSG_TRUNCATED 75,2898 -#define IPMI_LOST_ARBITRATION_ERR 76,2935 -#define IPMI_ERR_UNSPECIFIED 77,2974 -#define IPMI_CHANNEL_PROTOCOL_IPMB 79,3010 -#define IPMI_CHANNEL_PROTOCOL_ICMB 80,3047 -#define IPMI_CHANNEL_PROTOCOL_SMBUS 81,3084 -#define IPMI_CHANNEL_PROTOCOL_KCS 82,3122 -#define IPMI_CHANNEL_PROTOCOL_SMIC 83,3158 -#define IPMI_CHANNEL_PROTOCOL_BT10 84,3195 -#define IPMI_CHANNEL_PROTOCOL_BT15 85,3232 -#define IPMI_CHANNEL_PROTOCOL_TMODE 86,3269 -#define IPMI_CHANNEL_MEDIUM_IPMB 88,3308 -#define IPMI_CHANNEL_MEDIUM_ICMB10 89,3343 -#define IPMI_CHANNEL_MEDIUM_ICMB09 90,3380 -#define IPMI_CHANNEL_MEDIUM_8023LAN 91,3417 -#define IPMI_CHANNEL_MEDIUM_ASYNC 92,3455 -#define IPMI_CHANNEL_MEDIUM_OTHER_LAN 93,3491 -#define IPMI_CHANNEL_MEDIUM_PCI_SMBUS 94,3531 -#define IPMI_CHANNEL_MEDIUM_SMBUS1 95,3571 -#define IPMI_CHANNEL_MEDIUM_SMBUS2 96,3608 -#define IPMI_CHANNEL_MEDIUM_USB1 97,3645 -#define IPMI_CHANNEL_MEDIUM_USB2 98,3681 -#define IPMI_CHANNEL_MEDIUM_SYSINTF 99,3717 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/lp.h,1683 -#define _LINUX_LP_H2,20 -#define LP_EXIST 15,401 -#define LP_SELEC 16,425 -#define LP_BUSY 17,449 -#define LP_BUSY_BIT_POS 18,473 -#define LP_OFFL 19,499 -#define LP_NOPA 20,523 -#define LP_ERR 21,547 -#define LP_ABORT 22,571 -#define LP_CAREFUL 23,595 -#define LP_ABORTOPEN 24,643 -#define LP_TRUST_IRQ_ 26,672 -#define LP_NO_REVERSE 27,717 -#define LP_DATA_AVAIL 28,780 -#define LP_PBUSY 35,945 -#define LP_PACK 36,1002 -#define LP_POUTPA 37,1059 -#define LP_PSELECD 38,1118 -#define LP_PERRORP 39,1178 -#define LP_INIT_CHAR 49,1661 -#define LP_INIT_WAIT 55,1804 -#define LP_INIT_TIME 67,2350 -#define LPCHAR 70,2394 -#define LPTIME 71,2453 -#define LPABORT 72,2512 -#define LPSETIRQ 74,2624 -#define LPGETIRQ 76,2714 -#define LPWAIT 77,2772 -#define LPCAREFUL 79,2911 -#define LPABORTOPEN 82,3097 -#define LPGETSTATUS 84,3227 -#define LPRESET 85,3280 -#define LPGETSTATS 87,3344 -#define LPGETFLAGS 89,3418 -#define LPSETTIMEOUT 90,3469 -#define LP_TIMEOUT_INTERRUPT 96,3710 -#define LP_TIMEOUT_POLLED 97,3749 -#define LP_PARPORT_UNSPEC 105,3911 -#define LP_PARPORT_AUTO 106,3940 -#define LP_PARPORT_OFF 107,3967 -#define LP_PARPORT_NONE 108,3993 -#define LP_F(LP_F110,4021 -#define LP_CHAR(LP_CHAR111,4093 -#define LP_TIME(LP_TIME112,4160 -#define LP_WAIT(LP_WAIT113,4223 -#define LP_IRQ(LP_IRQ114,4288 -#define LP_STAT(LP_STAT117,4418 -#define LP_BUFFER_SIZE 119,4495 -#define LP_BASE(LP_BASE121,4529 -struct lp_stats lp_stats124,4595 -struct lp_struct lp_struct134,4758 -#define LP_PINTEN 170,5640 -#define LP_PSELECP 171,5711 -#define LP_PINITP 172,5770 -#define LP_PAUTOLF 173,5829 -#define LP_PSTROBE 174,5888 -#define LP_DUMMY 181,6127 -#define LP_DELAY 187,6266 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fs.h,8861 -#define _LINUX_FS_H2,20 -#define NR_OPEN 43,1029 -#define INR_OPEN 44,1094 -#define BLOCK_SIZE_BITS 46,1158 -#define BLOCK_SIZE 47,1185 -struct files_stat_struct files_stat_struct50,1277 -struct inodes_stat_t inodes_stat_t57,1451 -#define NR_FILE 66,1630 -#define NR_RESERVED_FILES 67,1701 -#define NR_SUPER 68,1754 -#define MAY_EXEC 70,1776 -#define MAY_WRITE 71,1795 -#define MAY_READ 72,1815 -#define MAY_APPEND 73,1834 -#define FMODE_READ 75,1856 -#define FMODE_WRITE 76,1877 -#define FMODE_LSEEK 79,1933 -#define FMODE_PREAD 80,1955 -#define FMODE_PWRITE 81,1977 -#define RW_MASK 83,2039 -#define RWA_MASK 84,2058 -#define READ 85,2077 -#define WRITE 86,2092 -#define READA 87,2108 -#define SPECIAL 88,2173 -#define READ_SYNC 89,2243 -#define WRITE_SYNC 90,2289 -#define WRITE_BARRIER 91,2337 -#define SEL_IN 93,2400 -#define SEL_OUT 94,2418 -#define SEL_EX 95,2437 -#define FS_REQUIRES_DEV 98,2496 -#define FS_BINARY_MOUNTDATA 99,2523 -#define FS_REVAL_DOT 100,2553 -#define FS_ODD_RENAME 101,2626 -#define MS_RDONLY 107,2828 -#define MS_NOSUID 108,2871 -#define MS_NODEV 109,2924 -#define MS_NOEXEC 110,2990 -#define MS_SYNCHRONOUS 111,3044 -#define MS_REMOUNT 112,3102 -#define MS_MANDLOCK 113,3158 -#define MS_DIRSYNC 114,3218 -#define MS_NOATIME 115,3287 -#define MS_NODIRATIME 116,3345 -#define MS_BIND 117,3415 -#define MS_MOVE 118,3437 -#define MS_REC 119,3459 -#define MS_VERBOSE 120,3481 -#define MS_POSIXACL 121,3506 -#define MS_ONE_SECOND 122,3569 -#define MS_ACTIVE 123,3639 -#define MS_NOUSER 124,3665 -#define MS_RMT_MASK 129,3753 -#define MS_MGC_VAL 135,3884 -#define MS_MGC_MSK 136,3914 -#define S_SYNC 140,4008 -#define S_NOATIME 141,4058 -#define S_APPEND 142,4111 -#define S_IMMUTABLE 143,4153 -#define S_DEAD 144,4196 -#define S_NOQUOTA 145,4255 -#define S_DIRSYNC 146,4312 -#define S_NOCMTIME 147,4379 -#define S_SWAPFILE 148,4435 -#define __IS_FLG(__IS_FLG163,5163 -#define IS_RDONLY(IS_RDONLY165,5225 -#define IS_SYNC(IS_SYNC166,5287 -#define IS_DIRSYNC(IS_DIRSYNC168,5383 -#define IS_MANDLOCK(IS_MANDLOCK170,5504 -#define IS_NOQUOTA(IS_NOQUOTA172,5561 -#define IS_APPEND(IS_APPEND173,5618 -#define IS_IMMUTABLE(IS_IMMUTABLE174,5673 -#define IS_NOATIME(IS_NOATIME175,5734 -#define IS_NODIRATIME(IS_NODIRATIME176,5824 -#define IS_POSIXACL(IS_POSIXACL177,5884 -#define IS_ONE_SECOND(IS_ONE_SECOND178,5940 -#define IS_DEADDIR(IS_DEADDIR180,6001 -#define IS_NOCMTIME(IS_NOCMTIME181,6055 -#define IS_SWAPFILE(IS_SWAPFILE182,6114 -#define BLKROSET 187,6324 -#define BLKROGET 188,6400 -#define BLKRRPART 189,6476 -#define BLKGETSIZE 190,6538 -#define BLKFLSBUF 191,6612 -#define BLKRASET 192,6669 -#define BLKRAGET 193,6739 -#define BLKFRASET 194,6808 -#define BLKFRAGET 195,6887 -#define BLKSECTSET 196,6966 -#define BLKSECTGET 197,7046 -#define BLKSSZGET 198,7126 -#define BLKPG 200,7199 -#define BLKELVGET 204,7301 -#define BLKELVSET 205,7360 -#define BLKBSZGET 210,7627 -#define BLKBSZSET 211,7668 -#define BLKGETSIZE64 212,7709 -#define BMAP_IOCTL 214,7798 -#define FIBMAP 215,7860 -#define FIGETBSZ 216,7908 -typedef int (get_block_t)get_block_t236,8477 -typedef int (get_blocks_t)get_blocks_t238,8588 -typedef void (dio_iodone_t)dio_iodone_t241,8729 -#define ATTR_MODE 248,8927 -#define ATTR_UID 249,8947 -#define ATTR_GID 250,8966 -#define ATTR_SIZE 251,8985 -#define ATTR_ATIME 252,9005 -#define ATTR_MTIME 253,9027 -#define ATTR_CTIME 254,9049 -#define ATTR_ATIME_SET 255,9071 -#define ATTR_MTIME_SET 256,9098 -#define ATTR_FORCE 257,9125 -#define ATTR_ATTR_FLAG 258,9184 -#define ATTR_KILL_SUID 259,9212 -#define ATTR_KILL_SGID 260,9240 -struct iattr iattr271,9655 -#define ATTR_FLAG_SYNCRONOUS 286,9933 -#define ATTR_FLAG_NOATIME 287,9988 -#define ATTR_FLAG_APPEND 288,10042 -#define ATTR_FLAG_IMMUTABLE 289,10093 -#define ATTR_FLAG_NODIRATIME 290,10145 -struct address_space_operations address_space_operations305,10405 -struct address_space address_space334,11536 -struct block_device block_device353,12511 -#define PAGECACHE_TAG_DIRTY 384,13514 -#define PAGECACHE_TAG_WRITEBACK 385,13544 -static inline int mapping_mapped(392,13701 -static inline int mapping_writably_mapped(404,14137 -#define __NEED_I_SIZE_ORDERED414,14404 -#define i_size_ordered_init(i_size_ordered_init415,14434 -#define i_size_ordered_init(i_size_ordered_init417,14514 -struct inode inode420,14574 -static inline loff_t i_size_read(490,16601 -static inline void i_size_write(514,17090 -static inline unsigned iminor(529,17480 -static inline unsigned imajor(534,17566 -struct fown_struct fown_struct541,17710 -struct file_ra_state file_ra_state552,18042 -struct file file566,18631 -#define file_list_lock(file_list_lock594,19307 -#define file_list_unlock(file_list_unlock595,19356 -#define get_file(get_file597,19410 -#define file_count(file_count598,19456 -#define MAX_NON_LFS 600,19506 -#define MAX_LFS_FILESIZE 605,19695 -#define MAX_LFS_FILESIZE 607,19793 -#define FL_POSIX 610,19848 -#define FL_FLOCK 611,19867 -#define FL_ACCESS 612,19886 -#define FL_LOCKD 613,19945 -#define FL_LEASE 614,19994 -#define FL_SLEEP 615,20044 -typedef struct files_struct *fl_owner_t;fl_owner_t624,20276 -struct file_lock_operations file_lock_operations626,20318 -struct lock_manager_operations lock_manager_operations633,20602 -struct file_lock file_lock641,20848 -#define INT_LIMIT(INT_LIMIT666,21684 -#define OFFSET_MAX 667,21736 -#define OFFT_OFFSET_MAX 668,21773 -struct fasync_struct fasync_struct705,23460 -#define FASYNC_MAGIC 712,23593 -#define MNT_FORCE 729,24123 -#define MNT_DETACH 730,24186 -#define MNT_EXPIRE 731,24248 -#define sb_entry(sb_entry736,24367 -#define S_BIAS 737,24437 -struct super_block super_block738,24460 - SB_UNFROZEN 790,25894 - SB_FREEZE_WRITE 791,25912 - SB_FREEZE_TRANS 792,25934 -#define vfs_check_frozen(vfs_check_frozen795,25960 -static inline void lock_super(801,26092 -static inline void unlock_super(806,26172 -#define DT_UNKNOWN 834,27035 -#define DT_FIFO 835,27056 -#define DT_CHR 836,27075 -#define DT_DIR 837,27093 -#define DT_BLK 838,27111 -#define DT_REG 839,27129 -#define DT_LNK 840,27147 -#define DT_SOCK 841,27166 -#define DT_WHT 842,27186 -#define OSYNC_METADATA 844,27206 -#define OSYNC_DATA 845,27236 -#define OSYNC_INODE 846,27262 -typedef int (*filldir_t)filldir_t855,27632 -struct block_device_operations block_device_operations857,27711 -} read_descriptor_t;read_descriptor_t883,28393 -typedef int (*read_actor_t)read_actor_t885,28415 -struct file_operations file_operations892,28642 -struct inode_operations inode_operations920,30191 -struct super_operations super_operations957,31944 -#define I_DIRTY_SYNC 982,32858 -#define I_DIRTY_DATASYNC 983,32920 -#define I_DIRTY_PAGES 984,32988 -#define I_LOCK 985,33054 -#define I_FREEING 986,33073 -#define I_CLEAR 987,33095 -#define I_NEW 988,33116 -#define I_DIRTY 990,33136 -static inline void mark_inode_dirty(993,33256 -static inline void mark_inode_dirty_sync(998,33355 -static inline void touch_atime(1003,33464 -static inline void file_accessed(1009,33619 -struct export_operations export_operations1097,38409 -struct file_system_type file_system_type1120,39190 -#define fops_get(fops_get1157,40719 -#define fops_put(fops_put1159,40805 -#define LOCK_USE_CLNT 1174,41416 -#define FLOCK_VERIFY_READ 1176,41441 -#define FLOCK_VERIFY_WRITE 1177,41470 -#define MANDATORY_LOCK(MANDATORY_LOCK1186,41773 -static inline int locks_verify_locked(1189,41882 -static inline int locks_verify_area(1196,42025 -static inline int locks_verify_truncate(1205,42295 -static inline int break_lease(1219,42662 -#define __getname(__getname1238,43224 -#define __putname(__putname1239,43288 -#define putname(putname1241,43386 -#define putname(putname1243,43432 -#define BDEVNAME_SIZE 1281,44998 -#define bio_rw(bio_rw1306,45942 -#define bio_data_dir(bio_data_dir1311,46049 -static inline void invalidate_remote_inode(1320,46489 -static inline void put_write_access(1345,47608 -static inline void allow_write_access(1349,47705 -static inline struct inode *iget(1388,49252 -static inline void insert_inode_hash(1410,49953 -static inline void do_generic_file_read(1462,53168 - DIO_LOCKING 1481,53673 - DIO_NO_LOCKING,1482,53745 - DIO_OWN_LOCKING,1483,53817 -static inline ssize_t blockdev_direct_IO(1486,53893 -static inline ssize_t blockdev_direct_IO_no_locking(1495,54239 -static inline ssize_t blockdev_direct_IO_own_locking(1504,54599 -#define special_file(special_file1515,55009 -struct tree_descr tree_descr1565,57756 -static inline ino_t parent_ino(1577,58348 -struct simple_transaction_argresp simple_transaction_argresp1596,58749 -#define SIMPLE_TRANSACTION_LIMIT 1601,58819 -static inline void simple_transaction_set(1609,59172 -static inline char *alloc_secdata(1624,59511 -static inline void free_secdata(1629,59601 -static inline char *alloc_secdata(1634,59694 -static inline void free_secdata(1639,59758 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compiler-gcc+.h,238 -#define inline 9,250 -#define __inline__ 10,306 -#define __inline 11,368 -#define __deprecated 12,426 -#define __attribute_used__ 13,476 -#define __attribute_pure__ 14,529 -#define __attribute_const__ 15,578 -#define __must_check 16,633 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfs_fs_sb.h,197 -#define _NFS_FS_SB2,19 -struct nfs_server nfs_server10,153 -#define NFS_CAP_READDIRPLUS 52,1678 -#define NFS_CAP_HARDLINKS 53,1716 -#define NFS_CAP_SYMLINKS 54,1752 -#define NFS_CAP_ACLS 55,1787 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/swapops.h,318 -#define SWP_TYPE_SHIFT(SWP_TYPE_SHIFT12,431 -#define SWP_OFFSET_MASK(SWP_OFFSET_MASK13,499 -static inline swp_entry_t swp_entry(18,639 -static inline unsigned swp_type(31,932 -static inline pgoff_t swp_offset(41,1179 -static inline swp_entry_t pte_to_swp_entry(50,1394 -static inline pte_t swp_entry_to_pte(63,1729 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/consolemap.h,96 -#define LAT1_MAP 6,88 -#define GRAF_MAP 7,107 -#define IBMPC_MAP 8,126 -#define USER_MAP 9,146 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/parport.h,4523 -#define _PARPORT_H_10,282 -#define PARPORT_MAX 15,386 -#define PARPORT_IRQ_NONE 18,431 -#define PARPORT_DMA_NONE 19,460 -#define PARPORT_IRQ_AUTO 20,489 -#define PARPORT_DMA_AUTO 21,518 -#define PARPORT_DMA_NOFIFO 22,547 -#define PARPORT_DISABLE 23,577 -#define PARPORT_IRQ_PROBEONLY 24,606 -#define PARPORT_IOHI_AUTO 25,639 -#define PARPORT_CONTROL_STROBE 27,669 -#define PARPORT_CONTROL_AUTOFD 28,707 -#define PARPORT_CONTROL_INIT 29,745 -#define PARPORT_CONTROL_SELECT 30,783 -#define PARPORT_STATUS_ERROR 32,822 -#define PARPORT_STATUS_SELECT 33,860 -#define PARPORT_STATUS_PAPEROUT 34,899 -#define PARPORT_STATUS_ACK 35,938 -#define PARPORT_STATUS_BUSY 36,977 - PARPORT_CLASS_LEGACY 40,1077 - PARPORT_CLASS_PRINTER,41,1136 - PARPORT_CLASS_MODEM,42,1160 - PARPORT_CLASS_NET,43,1182 - PARPORT_CLASS_HDC,44,1202 - PARPORT_CLASS_PCMCIA,45,1262 - PARPORT_CLASS_MEDIA,46,1285 - PARPORT_CLASS_FDC,47,1342 - PARPORT_CLASS_PORTS,48,1404 - PARPORT_CLASS_SCANNER,49,1426 - PARPORT_CLASS_DIGCAM,50,1450 - PARPORT_CLASS_OTHER,51,1473 - PARPORT_CLASS_UNSPEC,52,1526 - PARPORT_CLASS_SCSIADAPTER53,1584 -} parport_device_class;parport_device_class54,1611 -#define PARPORT_MODE_PCSPP 58,1736 -#define PARPORT_MODE_TRISTATE 59,1804 -#define PARPORT_MODE_EPP 60,1861 -#define PARPORT_MODE_ECP 61,1913 -#define PARPORT_MODE_COMPAT 62,1965 -#define PARPORT_MODE_DMA 63,2035 -#define PARPORT_MODE_SAFEININT 64,2091 -#define IEEE1284_MODE_NIBBLE 70,2371 -#define IEEE1284_MODE_BYTE 71,2414 -#define IEEE1284_MODE_COMPAT 72,2461 -#define IEEE1284_MODE_BECP 73,2508 -#define IEEE1284_MODE_ECP 74,2578 -#define IEEE1284_MODE_ECPRLE 75,2625 -#define IEEE1284_MODE_ECPSWE 76,2694 -#define IEEE1284_MODE_EPP 77,2766 -#define IEEE1284_MODE_EPPSL 78,2813 -#define IEEE1284_MODE_EPPSWE 79,2875 -#define IEEE1284_DEVICEID 80,2947 -#define IEEE1284_EXT_LINK 81,3016 -#define IEEE1284_ADDR 89,3372 -#define IEEE1284_DATA 90,3425 -#define PARPORT_EPP_FAST 93,3513 -#define PARPORT_W91284PIC 94,3571 -#define PARPORT_NEED_GENERIC_OPS108,3914 -struct pc_parport_state pc_parport_state114,4008 -struct ax_parport_state ax_parport_state119,4076 -struct amiga_parport_state amiga_parport_state126,4214 -struct parport_state parport_state133,4441 -struct parport_operations parport_operations144,4649 -struct parport_device_info parport_device_info195,6488 -struct pardevice pardevice217,7258 -enum ieee1284_phase ieee1284_phase242,7891 - IEEE1284_PH_FWD_DATA,243,7913 - IEEE1284_PH_FWD_IDLE,244,7936 - IEEE1284_PH_TERMINATE,245,7959 - IEEE1284_PH_NEGOTIATION,246,7983 - IEEE1284_PH_HBUSY_DNA,247,8009 - IEEE1284_PH_REV_IDLE,248,8033 - IEEE1284_PH_HBUSY_DAVAIL,249,8056 - IEEE1284_PH_REV_DATA,250,8083 - IEEE1284_PH_ECP_SETUP,251,8106 - IEEE1284_PH_ECP_FWD_TO_REV,252,8130 - IEEE1284_PH_ECP_REV_TO_FWD,253,8159 - IEEE1284_PH_ECP_DIR_UNKNOWN,254,8188 -struct ieee1284_info ieee1284_info256,8221 -struct parport parport263,8341 -#define DEFAULT_SPIN_TIME 319,9908 -struct parport_driver parport_driver321,9948 -static __inline__ int parport_yield(416,14184 -static __inline__ int parport_yield_blocking(434,14786 -#define PARPORT_DEV_TRAN 444,15100 -#define PARPORT_DEV_LURK 445,15159 -#define PARPORT_DEV_EXCL 446,15223 -#define PARPORT_FLAG_EXCL 448,15286 -#define PARPORT_INACTIVITY_O_NONBLOCK 456,15657 -static __inline__ void parport_generic_irq(506,17883 -#define parport_write_data(parport_write_data527,19162 -#define parport_read_data(parport_read_data528,19232 -#define parport_write_control(parport_write_control529,19299 -#define parport_read_control(parport_read_control530,19372 -#define parport_frob_control(parport_frob_control531,19442 -#define parport_read_status(parport_read_status532,19516 -#define parport_enable_irq(parport_enable_irq533,19585 -#define parport_disable_irq(parport_disable_irq534,19653 -#define parport_data_forward(parport_data_forward535,19722 -#define parport_data_reverse(parport_data_reverse536,19792 -#define parport_write_data(parport_write_data541,19962 -#define parport_read_data(parport_read_data542,20031 -#define parport_write_control(parport_write_control543,20097 -#define parport_read_control(parport_read_control544,20169 -#define parport_frob_control(parport_frob_control545,20238 -#define parport_read_status(parport_read_status546,20311 -#define parport_enable_irq(parport_enable_irq547,20379 -#define parport_disable_irq(parport_disable_irq548,20446 -#define parport_data_forward(parport_data_forward549,20514 -#define parport_data_reverse(parport_data_reverse550,20583 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ext3_jbd.h,1854 -#define _LINUX_EXT3_JBD_H16,440 -#define EXT3_JOURNAL(EXT3_JOURNAL22,540 -#define EXT3_SINGLEDATA_TRANS_BLOCKS 31,889 -#define EXT3_XATTR_TRANS_BLOCKS 37,1128 -#define EXT3_DATA_TRANS_BLOCKS 45,1493 -#define EXT3_DELETE_TRANS_BLOCKS 55,1909 -#define EXT3_MAX_TRANS_DATA 63,2294 -#define EXT3_RESERVE_TRANS_BLOCKS 72,2683 -#define EXT3_INDEX_EXTRA_TRANS_BLOCKS 74,2722 -#define EXT3_QUOTA_TRANS_BLOCKS 79,2913 -#define EXT3_QUOTA_INIT_BLOCKS 82,3081 -#define EXT3_QUOTA_TRANS_BLOCKS 85,3178 -#define EXT3_QUOTA_INIT_BLOCKS 86,3212 -__ext3_journal_get_undo_access(115,4043 -__ext3_journal_get_write_access(125,4322 -ext3_journal_release_buffer(135,4604 -__ext3_journal_forget(142,4760 -__ext3_journal_revoke(151,4994 -__ext3_journal_get_create_access(161,5268 -__ext3_journal_dirty_metadata(171,5529 -#define ext3_journal_get_undo_access(ext3_journal_get_undo_access181,5771 -#define ext3_journal_get_write_access(ext3_journal_get_write_access183,5904 -#define ext3_journal_get_write_access_credits(ext3_journal_get_write_access_credits185,6025 -#define ext3_journal_revoke(ext3_journal_revoke187,6168 -#define ext3_journal_get_create_access(ext3_journal_get_create_access189,6283 -#define ext3_journal_dirty_metadata(ext3_journal_dirty_metadata191,6400 -#define ext3_journal_forget(ext3_journal_forget193,6511 -static inline handle_t *ext3_journal_start(199,6740 -#define ext3_journal_stop(ext3_journal_stop204,6875 -static inline handle_t *ext3_journal_current_handle(207,6957 -static inline int ext3_journal_extend(212,7054 -static inline int ext3_journal_restart(217,7169 -static inline int ext3_journal_blocks_per_page(222,7286 -static inline int ext3_journal_force_commit(227,7399 -static inline int ext3_should_journal_data(235,7569 -static inline int ext3_should_order_data(246,7834 -static inline int ext3_should_writeback_data(257,8097 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ncp.h,2698 -#define _LINUX_NCP_H11,184 -#define NCP_PTYPE 15,232 -#define NCP_PORT 16,272 -#define NCP_ALLOC_SLOT_REQUEST 18,315 -#define NCP_REQUEST 19,357 -#define NCP_DEALLOC_SLOT_REQUEST 20,399 -struct ncp_request_header ncp_request_header22,442 -#define NCP_REPLY 32,747 -#define NCP_WATCHDOG 33,789 -#define NCP_POSITIVE_ACK 34,821 -struct ncp_reply_header ncp_reply_header36,864 -#define NCP_VOLNAME_LEN 47,1222 -#define NCP_NUMBER_OF_VOLUMES 48,1251 -struct ncp_volume_info ncp_volume_info49,1287 -#define AR_READ 60,1536 -#define AR_WRITE 61,1574 -#define AR_EXCLUSIVE 62,1612 -#define NCP_FILE_ID_LEN 64,1654 -#define NW_NS_DOS 67,1711 -#define NW_NS_MAC 68,1735 -#define NW_NS_NFS 69,1759 -#define NW_NS_FTAM 70,1783 -#define NW_NS_OS2 71,1807 -#define RIM_NAME 74,1873 -#define RIM_SPACE_ALLOCATED 75,1913 -#define RIM_ATTRIBUTES 76,1960 -#define RIM_DATA_SIZE 77,2006 -#define RIM_TOTAL_SIZE 78,2051 -#define RIM_EXT_ATTR_INFO 79,2100 -#define RIM_ARCHIVE 80,2150 -#define RIM_MODIFY 81,2196 -#define RIM_CREATION 82,2241 -#define RIM_OWNING_NAMESPACE 83,2289 -#define RIM_DIRECTORY 84,2340 -#define RIM_RIGHTS 85,2389 -#define RIM_ALL 86,2435 -#define RIM_COMPRESSED_INFO 87,2479 -#define NSIBM_NFS_NAME 90,2568 -#define NSIBM_NFS_MODE 91,2599 -#define NSIBM_NFS_GID 92,2630 -#define NSIBM_NFS_NLINKS 93,2660 -#define NSIBM_NFS_RDEV 94,2692 -#define NSIBM_NFS_LINK 95,2723 -#define NSIBM_NFS_CREATED 96,2754 -#define NSIBM_NFS_UID 97,2787 -#define NSIBM_NFS_ACSFLAG 98,2817 -#define NSIBM_NFS_MYFLAG 99,2850 -#define OC_MODE_OPEN 102,2907 -#define OC_MODE_TRUNCATE 103,2935 -#define OC_MODE_REPLACE 104,2966 -#define OC_MODE_CREATE 105,2997 -#define OC_ACTION_NONE 108,3054 -#define OC_ACTION_OPEN 109,3085 -#define OC_ACTION_CREATE 110,3116 -#define OC_ACTION_TRUNCATE 111,3148 -#define OC_ACTION_REPLACE 112,3180 -#define AR_READ_ONLY 116,3265 -#define AR_WRITE_ONLY 117,3296 -#define AR_DENY_READ 118,3328 -#define AR_DENY_WRITE 119,3359 -#define AR_COMPATIBILITY 120,3391 -#define AR_WRITE_THROUGH 121,3425 -#define AR_OPEN_COMPRESSED 122,3459 -struct nw_nfs_info nw_nfs_info125,3501 -struct nw_info_struct nw_info_struct130,3552 -#define DM_ATTRIBUTES 164,4898 -#define DM_CREATE_DATE 165,4943 -#define DM_CREATE_TIME 166,4989 -#define DM_CREATOR_ID 167,5035 -#define DM_ARCHIVE_DATE 168,5080 -#define DM_ARCHIVE_TIME 169,5127 -#define DM_ARCHIVER_ID 170,5174 -#define DM_MODIFY_DATE 171,5220 -#define DM_MODIFY_TIME 172,5268 -#define DM_MODIFIER_ID 173,5316 -#define DM_LAST_ACCESS_DATE 174,5364 -#define DM_INHERITED_RIGHTS_MASK 175,5416 -#define DM_MAXIMUM_SPACE 176,5472 -struct nw_modify_dos_info nw_modify_dos_info178,5522 -struct nw_search_sequence nw_search_sequence195,6194 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cdrom.h,10668 -#define _LINUX_CDROM_H12,417 -#define EDRIVE_CANT_DO_THIS 45,2088 -#define CDROMPAUSE 52,2407 -#define CDROMRESUME 53,2463 -#define CDROMPLAYMSF 54,2527 -#define CDROMPLAYTRKIND 55,2596 -#define CDROMREADTOCHDR 57,2719 -#define CDROMREADTOCENTRY 59,2839 -#define CDROMSTOP 61,2961 -#define CDROMSTART 62,3014 -#define CDROMEJECT 63,3069 -#define CDROMVOLCTRL 64,3125 -#define CDROMSUBCHNL 66,3249 -#define CDROMREADMODE2 68,3372 -#define CDROMREADMODE1 70,3509 -#define CDROMREADAUDIO 72,3645 -#define CDROMEJECT_SW 73,3708 -#define CDROMMULTISESSION 74,3779 -#define CDROM_GET_MCN 77,3998 -#define CDROM_GET_UPC 79,4146 -#define CDROMRESET 81,4291 -#define CDROMVOLREAD 82,4345 -#define CDROMREADRAW 84,4477 -#define CDROMREADCOOKED 89,4676 -#define CDROMSEEK 90,4739 -#define CDROMPLAYBLK 96,4912 -#define CDROMREADALL 101,5016 -#define CDROMGETSPINDOWN 110,5331 -#define CDROMSETSPINDOWN 111,5370 -#define CDROMCLOSETRAY 118,5626 -#define CDROM_SET_OPTIONS 119,5685 -#define CDROM_CLEAR_OPTIONS 120,5746 -#define CDROM_SELECT_SPEED 121,5811 -#define CDROM_SELECT_DISC 122,5873 -#define CDROM_MEDIA_CHANGED 123,5942 -#define CDROM_DRIVE_STATUS 124,6008 -#define CDROM_DISC_STATUS 125,6073 -#define CDROM_CHANGER_NSLOTS 126,6133 -#define CDROM_LOCKDOOR 127,6199 -#define CDROM_DEBUG 128,6257 -#define CDROM_GET_CAPABILITY 129,6318 -#define CDROMAUDIOBUFSIZ 136,6545 -#define DVD_READ_STRUCT 140,6693 -#define DVD_WRITE_STRUCT 141,6747 -#define DVD_AUTH 142,6802 -#define CDROM_SEND_PACKET 144,6850 -#define CDROM_NEXT_WRITABLE 145,6916 -#define CDROM_LAST_WRITTEN 146,6981 -struct cdrom_msf0 cdrom_msf0153,7223 -union cdrom_addr cdrom_addr161,7336 -struct cdrom_msf cdrom_msf168,7450 -struct cdrom_ti cdrom_ti179,7747 -struct cdrom_tochdr cdrom_tochdr188,7961 -struct cdrom_volctrlcdrom_volctrl195,8127 -struct cdrom_subchnl cdrom_subchnl204,8270 -struct cdrom_tocentry cdrom_tocentry218,8534 -struct cdrom_read cdrom_read229,8764 -struct cdrom_read_audiocdrom_read_audio237,8909 -struct cdrom_multisessioncdrom_multisession246,9238 -struct cdrom_mcn cdrom_mcn260,9840 -struct cdrom_blk cdrom_blk266,9982 -#define CDROM_PACKET_SIZE 272,10043 -#define CGC_DATA_UNKNOWN 274,10073 -#define CGC_DATA_WRITE 275,10100 -#define CGC_DATA_READ 276,10126 -#define CGC_DATA_NONE 277,10151 -struct cdrom_generic_commandcdrom_generic_command280,10214 -#define CD_MINS 328,12075 -#define CD_SECS 329,12153 -#define CD_FRAMES 330,12210 -#define CD_SYNC_SIZE 331,12266 -#define CD_MSF_OFFSET 332,12337 -#define CD_CHUNK_SIZE 333,12411 -#define CD_NUM_OF_CHUNKS 334,12481 -#define CD_FRAMESIZE_SUB 335,12536 -#define CD_HEAD_SIZE 336,12603 -#define CD_SUBHEAD_SIZE 337,12683 -#define CD_EDC_SIZE 338,12759 -#define CD_ZERO_SIZE 339,12837 -#define CD_ECC_SIZE 340,12915 -#define CD_FRAMESIZE 341,12993 -#define CD_FRAMESIZE_RAW 342,13062 -#define CD_FRAMESIZE_RAWER 343,13128 -#define CD_FRAMESIZE_RAW1 345,13247 -#define CD_FRAMESIZE_RAW0 346,13314 -#define CD_XA_HEAD 348,13395 -#define CD_XA_TAIL 349,13493 -#define CD_XA_SYNC_HEAD 350,13585 -#define CDROM_LBA 353,13732 -#define CDROM_MSF 354,13796 -#define CDROM_DATA_TRACK 357,13947 -#define CDROM_LEADOUT 360,14052 -#define CDROM_AUDIO_INVALID 363,14147 -#define CDROM_AUDIO_PLAY 364,14213 -#define CDROM_AUDIO_PAUSED 365,14282 -#define CDROM_AUDIO_COMPLETED 366,14348 -#define CDROM_AUDIO_ERROR 367,14423 -#define CDROM_AUDIO_NO_STATUS 368,14492 -#define CDC_CLOSE_TRAY 371,14628 -#define CDC_OPEN_TRAY 372,14694 -#define CDC_LOCK 373,14749 -#define CDC_SELECT_SPEED 374,14802 -#define CDC_SELECT_DISC 375,14861 -#define CDC_MULTI_SESSION 376,14926 -#define CDC_MCN 377,14983 -#define CDC_MEDIA_CHANGED 378,15037 -#define CDC_PLAY_AUDIO 379,15092 -#define CDC_RESET 380,15146 -#define CDC_IOCTLS 381,15210 -#define CDC_DRIVE_STATUS 382,15287 -#define CDC_GENERIC_PACKET 383,15364 -#define CDC_CD_R 384,15438 -#define CDC_CD_RW 385,15485 -#define CDC_DVD 386,15534 -#define CDC_DVD_R 387,15580 -#define CDC_DVD_RAM 388,15635 -#define CDC_MO_DRIVE 389,15694 -#define CDC_MRW 390,15752 -#define CDC_MRW_W 391,15803 -#define CDC_RAM 392,15857 -#define CDS_NO_INFO 395,15982 -#define CDS_NO_DISC 396,16030 -#define CDS_TRAY_OPEN 397,16053 -#define CDS_DRIVE_NOT_READY 398,16078 -#define CDS_DISC_OK 399,16108 -#define CDS_AUDIO 403,16237 -#define CDS_DATA_1 404,16260 -#define CDS_DATA_2 405,16284 -#define CDS_XA_2_1 406,16308 -#define CDS_XA_2_2 407,16332 -#define CDS_MIXED 408,16356 -#define CDO_AUTO_CLOSE 411,16451 -#define CDO_AUTO_EJECT 412,16516 -#define CDO_USE_FFLAGS 413,16582 -#define CDO_LOCK 414,16655 -#define CDO_CHECK_TYPE 415,16711 -#define CDSL_NONE 418,16834 -#define CDSL_CURRENT 419,16878 -#define CD_PART_MAX 426,17184 -#define CD_PART_MASK 427,17208 -#define GPCMD_BLANK 435,17578 -#define GPCMD_CLOSE_TRACK 436,17609 -#define GPCMD_FLUSH_CACHE 437,17645 -#define GPCMD_FORMAT_UNIT 438,17681 -#define GPCMD_GET_CONFIGURATION 439,17717 -#define GPCMD_GET_EVENT_STATUS_NOTIFICATION 440,17759 -#define GPCMD_GET_PERFORMANCE 441,17808 -#define GPCMD_INQUIRY 442,17848 -#define GPCMD_LOAD_UNLOAD 443,17881 -#define GPCMD_MECHANISM_STATUS 444,17917 -#define GPCMD_MODE_SELECT_10 445,17958 -#define GPCMD_MODE_SENSE_10 446,17997 -#define GPCMD_PAUSE_RESUME 447,18035 -#define GPCMD_PLAY_AUDIO_10 448,18072 -#define GPCMD_PLAY_AUDIO_MSF 449,18110 -#define GPCMD_PLAY_AUDIO_TI 450,18149 -#define GPCMD_PLAY_CD 451,18187 -#define GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL 452,18220 -#define GPCMD_READ_10 453,18269 -#define GPCMD_READ_12 454,18302 -#define GPCMD_READ_BUFFER_CAPACITY 455,18335 -#define GPCMD_READ_CDVD_CAPACITY 456,18379 -#define GPCMD_READ_CD 457,18421 -#define GPCMD_READ_CD_MSF 458,18454 -#define GPCMD_READ_DISC_INFO 459,18490 -#define GPCMD_READ_DVD_STRUCTURE 460,18529 -#define GPCMD_READ_FORMAT_CAPACITIES 461,18571 -#define GPCMD_READ_HEADER 462,18617 -#define GPCMD_READ_TRACK_RZONE_INFO 463,18653 -#define GPCMD_READ_SUBCHANNEL 464,18698 -#define GPCMD_READ_TOC_PMA_ATIP 465,18738 -#define GPCMD_REPAIR_RZONE_TRACK 466,18780 -#define GPCMD_REPORT_KEY 467,18822 -#define GPCMD_REQUEST_SENSE 468,18857 -#define GPCMD_RESERVE_RZONE_TRACK 469,18895 -#define GPCMD_SEND_CUE_SHEET 470,18938 -#define GPCMD_SCAN 471,18977 -#define GPCMD_SEEK 472,19007 -#define GPCMD_SEND_DVD_STRUCTURE 473,19037 -#define GPCMD_SEND_EVENT 474,19079 -#define GPCMD_SEND_KEY 475,19114 -#define GPCMD_SEND_OPC 476,19148 -#define GPCMD_SET_READ_AHEAD 477,19182 -#define GPCMD_SET_STREAMING 478,19221 -#define GPCMD_START_STOP_UNIT 479,19259 -#define GPCMD_STOP_PLAY_SCAN 480,19299 -#define GPCMD_TEST_UNIT_READY 481,19338 -#define GPCMD_VERIFY_10 482,19378 -#define GPCMD_WRITE_10 483,19413 -#define GPCMD_WRITE_AND_VERIFY_10 484,19447 -#define GPCMD_SET_SPEED 489,19716 -#define GPCMD_PLAYAUDIO_TI 492,19836 -#define GPCMD_GET_MEDIA_STATUS 497,19966 -#define GPMODE_VENDOR_PAGE 500,20049 -#define GPMODE_R_W_ERROR_PAGE 501,20082 -#define GPMODE_WRITE_PARMS_PAGE 502,20118 -#define GPMODE_AUDIO_CTL_PAGE 503,20156 -#define GPMODE_POWER_PAGE 504,20192 -#define GPMODE_FAULT_FAIL_PAGE 505,20224 -#define GPMODE_TO_PROTECT_PAGE 506,20261 -#define GPMODE_CAPABILITIES_PAGE 507,20298 -#define GPMODE_ALL_PAGES 508,20336 -#define GPMODE_CDROM_PAGE 511,20462 -#define DVD_STRUCT_PHYSICAL 516,20520 -#define DVD_STRUCT_COPYRIGHT 517,20553 -#define DVD_STRUCT_DISCKEY 518,20587 -#define DVD_STRUCT_BCA 519,20619 -#define DVD_STRUCT_MANUFACT 520,20648 -struct dvd_layer dvd_layer522,20682 -#define DVD_LAYERS 538,20989 -struct dvd_physical dvd_physical540,21011 -struct dvd_copyright dvd_copyright546,21103 -struct dvd_disckey dvd_disckey554,21183 -struct dvd_bca dvd_bca561,21261 -struct dvd_manufact dvd_manufact568,21323 -} dvd_struct;dvd_struct584,21583 -#define DVD_LU_SEND_AGID 591,21662 -#define DVD_HOST_SEND_CHALLENGE 592,21689 -#define DVD_LU_SEND_KEY1 593,21723 -#define DVD_LU_SEND_CHALLENGE 594,21750 -#define DVD_HOST_SEND_KEY2 595,21782 -#define DVD_AUTH_ESTABLISHED 598,21837 -#define DVD_AUTH_FAILURE 599,21868 -#define DVD_LU_SEND_TITLE_KEY 602,21918 -#define DVD_LU_SEND_ASF 603,21950 -#define DVD_INVALIDATE_AGID 604,21977 -#define DVD_LU_SEND_RPC_STATE 605,22007 -#define DVD_HOST_SEND_RPC_STATE 606,22040 -typedef __u8 dvd_key[dvd_key609,22093 -typedef __u8 dvd_challenge[dvd_challenge610,22158 -struct dvd_lu_send_agid dvd_lu_send_agid612,22230 -struct dvd_host_send_challenge dvd_host_send_challenge617,22293 -struct dvd_send_key dvd_send_key624,22385 -struct dvd_lu_send_challenge dvd_lu_send_challenge631,22459 -#define DVD_CPM_NO_COPYRIGHT 638,22549 -#define DVD_CPM_COPYRIGHTED 639,22580 -#define DVD_CP_SEC_NONE 641,22611 -#define DVD_CP_SEC_EXIST 642,22638 -#define DVD_CGMS_UNRESTRICTED 644,22666 -#define DVD_CGMS_SINGLE 645,22698 -#define DVD_CGMS_RESTRICTED 646,22725 -struct dvd_lu_send_title_key dvd_lu_send_title_key648,22756 -struct dvd_lu_send_asf dvd_lu_send_asf659,22919 -struct dvd_host_send_rpcstate dvd_host_send_rpcstate666,23002 -struct dvd_lu_send_rpcstate dvd_lu_send_rpcstate671,23062 -} dvd_authinfo;dvd_authinfo691,23511 -struct request_sense request_sense693,23528 -#define CDF_RWRT 726,24143 -#define CDF_HWDM 727,24191 -#define CDF_MRW 728,24250 -#define CDM_MRW_NOTMRW 733,24303 -#define CDM_MRW_BGFORMAT_INACTIVE 734,24330 -#define CDM_MRW_BGFORMAT_ACTIVE 735,24366 -#define CDM_MRW_BGFORMAT_COMPLETE 736,24401 -#define MRW_LBA_DMA 741,24467 -#define MRW_LBA_GAA 742,24491 -#define MRW_MODE_PC_PRE1 748,24619 -#define MRW_MODE_PC 749,24650 -struct mrw_feature_desc mrw_feature_desc751,24678 -struct rwrt_feature_desc rwrt_feature_desc778,25293 -} disc_information;disc_information849,26910 -} track_information;track_information889,27774 -struct feature_header feature_header891,27796 -struct mode_page_header mode_page_header898,27896 -struct packet_commandpacket_command911,28142 -#define CDDA_OLD 927,28463 -#define CDDA_BPC_SINGLE 928,28499 -#define CDDA_BPC_FULL 929,28554 -struct cdrom_device_info cdrom_device_info932,28655 -struct cdrom_device_ops cdrom_device_ops956,29646 -} tracktype;tracktype1002,31443 -#define CDROM_MAX_SLOTS 1015,31995 -struct cdrom_mechstat_header cdrom_mechstat_header1017,32024 -struct cdrom_slot cdrom_slot1038,32502 -struct cdrom_changer_info cdrom_changer_info1051,32772 - mechtype_caddy 1057,32897 - mechtype_tray 1058,32918 - mechtype_popup 1059,32939 - mechtype_individual_changer 1060,32960 - mechtype_cartridge_changer 1061,32994 -} mechtype_t;mechtype_t1062,33027 -} __attribute__((packed)packed1117,34205 -struct modesel_headmodesel_head1119,34250 -} rpc_state_t;rpc_state_t1151,34862 -struct event_header event_header1153,34878 -struct media_event_desc media_event_desc1167,35163 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kthread.h,71 -#define _LINUX_KTHREAD_H2,25 -#define kthread_run(kthread_run38,1462 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/blkpg.h,285 -#define _LINUX_BLKPG_H2,23 -#define BLKPG 29,748 -struct blkpg_ioctl_arg blkpg_ioctl_arg32,811 -#define BLKPG_ADD_PARTITION 40,965 -#define BLKPG_DEL_PARTITION 41,995 -#define BLKPG_DEVNAMELTH 44,1073 -#define BLKPG_VOLNAMELTH 45,1101 -struct blkpg_partition blkpg_partition48,1191 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/compiler-gcc.h,70 -#define barrier(barrier10,207 -#define RELOC_HIDE(RELOC_HIDE14,408 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/prio_tree.h,611 -#define _LINUX_PRIO_TREE_H2,27 -struct prio_tree_node prio_tree_node4,55 -struct prio_tree_root prio_tree_root10,176 -struct prio_tree_iter prio_tree_iter15,272 -static inline void prio_tree_iter_init(26,464 -#define INIT_PRIO_TREE_ROOT(INIT_PRIO_TREE_ROOT34,674 -#define INIT_PRIO_TREE_NODE(INIT_PRIO_TREE_NODE40,793 -#define INIT_PRIO_TREE_ITER(INIT_PRIO_TREE_ITER45,913 -#define prio_tree_entry(prio_tree_entry53,1069 -static inline int prio_tree_empty(56,1186 -static inline int prio_tree_root(61,1298 -static inline int prio_tree_left_empty(66,1401 -static inline int prio_tree_right_empty(71,1508 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/signal.h,906 -#define _LINUX_SIGNAL_H2,24 -#define MAX_SIGPENDING 11,170 -struct sigqueue sigqueue17,243 -#define SIGQUEUE_PREALLOC 26,384 -struct sigpending sigpending28,413 -static inline void sigaddset(42,684 -static inline void sigdelset(51,889 -static inline int sigismember(60,1100 -static inline int sigfindinword(69,1318 -#define sigmask(sigmask76,1432 -#define _SIG_SET_BINOP(_SIG_SET_BINOP81,1533 -#define _sig_or(_sig_or105,2251 -#define _sig_and(_sig_and108,2320 -_SIG_SET_BINOP(106,2284 -#define _sig_nand(_sig_nand111,2392 -#define _SIG_SET_OP(_SIG_SET_OP119,2539 -#define _sig_not(_sig_not135,3013 -static inline void sigfillset(153,3304 -static inline void sigaddsetmask(167,3575 -static inline void sigdelsetmask(172,3670 -static inline int sigtestsetmask(177,3766 -static inline void siginitset(182,3874 -static inline void siginitsetinv(194,4105 -static inline void init_sigpending(208,4379 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/aio.h,1541 -#define __LINUX__AIO_H2,23 -#define AIO_MAXSEGS 10,153 -#define AIO_KIOGRP_NR_ATOMIC 11,176 -#define KIOCB_C_CANCELLED 21,505 -#define KIOCB_C_COMPLETE 22,536 -#define KIOCB_SYNC_KEY 24,567 -#define KIF_LOCKED 27,618 -#define KIF_KICKED 28,640 -#define KIF_CANCELLED 29,662 -#define kiocbTryLock(kiocbTryLock31,688 -#define kiocbTryKick(kiocbTryKick32,763 -#define kiocbSetLocked(kiocbSetLocked34,839 -#define kiocbSetKicked(kiocbSetKicked35,907 -#define kiocbSetCancelled(kiocbSetCancelled36,975 -#define kiocbClearLocked(kiocbClearLocked38,1050 -#define kiocbClearKicked(kiocbClearKicked39,1122 -#define kiocbClearCancelled(kiocbClearCancelled40,1194 -#define kiocbIsLocked(kiocbIsLocked42,1273 -#define kiocbIsKicked(kiocbIsKicked43,1341 -#define kiocbIsCancelled(kiocbIsCancelled44,1409 -struct kiocb kiocb46,1484 -#define is_sync_kiocb(is_sync_kiocb80,2464 -#define init_sync_kiocb(init_sync_kiocb81,2527 -#define AIO_RING_MAGIC 96,2968 -#define AIO_RING_COMPAT_FEATURES 97,3004 -#define AIO_RING_INCOMPAT_FEATURES 98,3039 -struct aio_ring aio_ring99,3076 -#define aio_ring_avail(aio_ring_avail114,3403 -#define AIO_RING_PAGES 116,3501 -struct aio_ring_info aio_ring_info117,3526 -struct kioctx kioctx130,3748 -#define get_ioctx(get_ioctx173,4967 -#define put_ioctx(put_ioctx174,5097 -#define in_aio(in_aio176,5276 -#define warn_if_async(warn_if_async178,5357 -#define io_wait_to_kiocb(io_wait_to_kiocb187,5578 -#define is_retried_kiocb(is_retried_kiocb188,5651 -static inline struct kiocb *list_kiocb(192,5736 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/swap.h,2382 -#define _LINUX_SWAP_H2,22 -#define SWAP_FLAG_PREFER 13,248 -#define SWAP_FLAG_PRIO_MASK 14,317 -#define SWAP_FLAG_PRIO_SHIFT 15,352 -static inline int current_is_kswapd(17,384 -#define MAX_SWAPFILES_SHIFT 30,904 -#define MAX_SWAPFILES 31,934 -union swap_header swap_header45,1541 -} swp_entry_t;swp_entry_t66,2058 -struct reclaim_state reclaim_state72,2171 -struct swap_extent swap_extent91,2667 -#define __swapoffset(__swapoffset101,2823 -#define MAX_SWAP_BADPAGES 102,2893 - SWP_USED 106,3004 - SWP_WRITEOK 107,3061 - SWP_ACTIVE 108,3118 - SWP_ACTIVE = (SWP_USED 108,3118 - SWP_ACTIVE = (SWP_USED | SWP_WRITEOK)108,3118 -#define SWAP_CLUSTER_MAX 111,3162 -#define SWAP_MAP_MAX 113,3191 -#define SWAP_MAP_BAD 114,3219 -struct swap_info_struct swap_info_struct121,3388 -struct swap_list_t swap_list_t142,3899 -#define vm_swap_full(vm_swap_full148,4081 -#define total_swapcache_pages 194,5683 -#define swap_list_lock(swap_list_lock226,7069 -#define swap_list_unlock(swap_list_unlock227,7115 -#define swap_device_lock(swap_device_lock228,7165 -#define swap_device_unlock(swap_device_unlock229,7218 -static inline int has_swap_token(236,7427 -static inline void put_swap_token(241,7518 -#define total_swap_pages 249,7653 -#define total_swapcache_pages 250,7682 -#define si_swapinfo(si_swapinfo252,7719 -#define free_page_and_swap_cache(free_page_and_swap_cache254,7804 -#define free_pages_and_swap_cache(free_pages_and_swap_cache256,7871 -#define show_swap_cache_info(show_swap_cache_info259,7953 -#define free_swap_and_cache(free_swap_and_cache260,7998 -#define swap_duplicate(swap_duplicate261,8044 -#define swap_free(swap_free262,8086 -#define read_swap_cache_async(read_swap_cache_async263,8124 -#define lookup_swap_cache(lookup_swap_cache264,8173 -#define valid_swaphandles(valid_swaphandles265,8211 -#define can_share_swap_page(can_share_swap_page266,8250 -#define move_to_swap_cache(move_to_swap_cache267,8285 -#define move_from_swap_cache(move_from_swap_cache268,8323 -#define __delete_from_swap_cache(__delete_from_swap_cache269,8364 -#define delete_from_swap_cache(delete_from_swap_cache270,8413 -static inline int remove_exclusive_swap_page(272,8461 -static inline swp_entry_t get_swap_page(277,8538 -#define put_swap_token(put_swap_token285,8664 -#define grab_swap_token(grab_swap_token286,8706 -#define has_swap_token(has_swap_token287,8749 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/efs_vh.h,431 -#define __EFS_VH_H__10,158 -#define VHMAGIC 12,180 -#define NPARTAB 13,240 -#define NVDIR 14,286 -#define BFNAMESIZE 15,339 -#define VDNAMESIZE 16,399 -struct volume_directory volume_directory18,421 -struct partition_table partition_table24,581 -struct volume_header volume_header30,787 -#define SGI_SYSV 43,1364 -#define SGI_EFS 44,1386 -#define IS_EFS(IS_EFS45,1408 -struct pt_types pt_types47,1467 -} sgi_pt_types[50,1515 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hdlcdrv.h,2172 -#define _HDLCDRV_H8,197 -struct hdlcdrv_params hdlcdrv_params15,334 -struct hdlcdrv_channel_params hdlcdrv_channel_params25,456 -struct hdlcdrv_old_channel_state hdlcdrv_old_channel_state34,868 -struct hdlcdrv_channel_state hdlcdrv_channel_state40,949 -struct hdlcdrv_ioctl hdlcdrv_ioctl50,1133 -#define HDLCDRVCTL_GETMODEMPAR 69,1519 -#define HDLCDRVCTL_SETMODEMPAR 70,1558 -#define HDLCDRVCTL_MODEMPARMASK 71,1597 -#define HDLCDRVCTL_GETCHANNELPAR 72,1666 -#define HDLCDRVCTL_SETCHANNELPAR 73,1705 -#define HDLCDRVCTL_OLDGETSTAT 74,1744 -#define HDLCDRVCTL_CALIBRATE 75,1783 -#define HDLCDRVCTL_GETSTAT 76,1822 -#define HDLCDRVCTL_GETSAMPLES 81,1912 -#define HDLCDRVCTL_GETBITS 82,1951 -#define HDLCDRVCTL_GETMODE 87,2054 -#define HDLCDRVCTL_SETMODE 88,2093 -#define HDLCDRVCTL_MODELIST 89,2132 -#define HDLCDRVCTL_DRIVERNAME 90,2171 -#define HDLCDRV_PARMASK_IOBASE 95,2290 -#define HDLCDRV_PARMASK_IRQ 96,2333 -#define HDLCDRV_PARMASK_DMA 97,2376 -#define HDLCDRV_PARMASK_DMA2 98,2419 -#define HDLCDRV_PARMASK_SERIOBASE 99,2462 -#define HDLCDRV_PARMASK_PARIOBASE 100,2505 -#define HDLCDRV_PARMASK_MIDIIOBASE 101,2548 -#define HDLCDRV_MAGIC 111,2767 -#define HDLCDRV_HDLCBUFFER 112,2805 -#define HDLCDRV_BITBUFFER 113,2883 -#define HDLCDRV_DEBUG115,3027 -#define HDLCDRV_MAXFLEN 118,3093 -struct hdlcdrv_hdlcbuffer hdlcdrv_hdlcbuffer121,3136 -struct hdlcdrv_bitbuffer hdlcdrv_bitbuffer128,3266 -static inline void hdlcdrv_add_bitbuffer(135,3396 -static inline void hdlcdrv_add_bitbuffer_word(150,3710 -struct hdlcdrv_ops hdlcdrv_ops166,4161 -struct hdlcdrv_state hdlcdrv_state181,4515 - struct hdlcdrv_pttoutput hdlcdrv_pttoutput191,4631 - struct hdlcdrv_hdlcrx hdlcdrv_hdlcrx201,4801 - struct hdlcdrv_hdlctx hdlcdrv_hdlctx216,5109 -static inline int hdlcdrv_hbuf_full(254,5826 -static inline int hdlcdrv_hbuf_empty(267,6178 -static inline unsigned short hdlcdrv_hbuf_get(280,6482 -static inline void hdlcdrv_hbuf_put(300,6923 -static inline void hdlcdrv_putbits(317,7340 -static inline unsigned int hdlcdrv_getbits(322,7466 -static inline void hdlcdrv_channelbit(340,7860 -static inline void hdlcdrv_setdcd(347,8043 -static inline int hdlcdrv_ptt(352,8140 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipv6.h,1790 -#define _IPV6_H2,16 -#define IPV6_MIN_MTU 10,180 -struct in6_pktinfo in6_pktinfo19,318 -struct in6_ifreq in6_ifreq25,392 -#define IPV6_SRCRT_STRICT 31,488 -#define IPV6_SRCRT_TYPE_0 32,553 -struct ipv6_rt_hdr ipv6_rt_hdr37,640 -struct ipv6_opt_hdr ipv6_opt_hdr50,791 -#define ipv6_destopt_hdr 58,897 -#define ipv6_hopopt_hdr 59,935 -#define ipv6_optlen(ipv6_optlen62,992 -struct rt0_hdr rt0_hdr69,1105 -#define rt0_type 74,1223 -struct ipv6_auth_hdr ipv6_auth_hdr77,1257 -struct ipv6_esp_hdr ipv6_esp_hdr86,1528 -struct ipv6_comp_hdr ipv6_comp_hdr92,1696 -struct ipv6hdr ipv6hdr105,1899 -struct ipv6_devconf ipv6_devconf128,2316 - DEVCONF_FORWARDING 153,2845 - DEVCONF_HOPLIMIT,154,2870 - DEVCONF_MTU6,155,2889 - DEVCONF_ACCEPT_RA,156,2904 - DEVCONF_ACCEPT_REDIRECTS,157,2924 - DEVCONF_AUTOCONF,158,2951 - DEVCONF_DAD_TRANSMITS,159,2970 - DEVCONF_RTR_SOLICITS,160,2994 - DEVCONF_RTR_SOLICIT_INTERVAL,161,3017 - DEVCONF_RTR_SOLICIT_DELAY,162,3048 - DEVCONF_USE_TEMPADDR,163,3076 - DEVCONF_TEMP_VALID_LFT,164,3099 - DEVCONF_TEMP_PREFERED_LFT,165,3124 - DEVCONF_REGEN_MAX_RETRY,166,3152 - DEVCONF_MAX_DESYNC_FACTOR,167,3178 - DEVCONF_MAX_ADDRESSES,168,3206 - DEVCONF_FORCE_MLD_VERSION,169,3230 - DEVCONF_MAX170,3258 -struct inet6_skb_parm inet6_skb_parm185,3577 -#define IP6CB(IP6CB194,3690 -struct ipv6_pinfo ipv6_pinfo204,4039 -struct raw6_opt raw6_opt250,4908 -struct raw6_sock raw6_sock258,5121 -struct udp6_sock udp6_sock266,5267 -struct tcp6_sock tcp6_sock274,5411 -static inline struct ipv6_pinfo * inet6_sk(282,5555 -static inline struct raw6_opt * raw6_sk(287,5672 -#define __ipv6_only_sock(__ipv6_only_sock293,5841 -#define ipv6_only_sock(ipv6_only_sock294,5895 -#define __ipv6_only_sock(__ipv6_only_sock296,5982 -#define ipv6_only_sock(ipv6_only_sock297,6013 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/awe_voice.h,8463 -#define AWE_VOICE_H26,933 -#define SAMPLE_TYPE_AWE32 29,980 -#define _PATCHKEY(_PATCHKEY33,1037 -typedef struct awe_patch_info awe_patch_info41,1286 -#define AWE_PATCH 43,1357 -#define AWE_LOAD_INFO 51,1627 -#define AWE_LOAD_DATA 52,1672 -#define AWE_OPEN_PATCH 53,1719 -#define AWE_CLOSE_PATCH 54,1765 -#define AWE_UNLOAD_PATCH 55,1803 -#define AWE_REPLACE_DATA 56,1841 -#define AWE_MAP_PRESET 57,1908 -#define AWE_PROBE_DATA 59,2014 -#define AWE_REMOVE_INFO 60,2060 -#define AWE_LOAD_CHORUS_FX 61,2116 -#define AWE_LOAD_REVERB_FX 62,2186 -} awe_patch_info;awe_patch_info70,2418 -#define AWE_PATCH_INFO_SIZE 73,2472 -#define AWE_PATCH_NAME_LEN 80,2676 -typedef struct _awe_open_parm _awe_open_parm82,2707 -#define AWE_PAT_TYPE_MISC 84,2780 -#define AWE_PAT_TYPE_GM 85,2808 -#define AWE_PAT_TYPE_GS 86,2835 -#define AWE_PAT_TYPE_MT32 87,2862 -#define AWE_PAT_TYPE_XG 88,2890 -#define AWE_PAT_TYPE_SFX 89,2917 -#define AWE_PAT_TYPE_GUS 90,2944 -#define AWE_PAT_TYPE_MAP 91,2971 -#define AWE_PAT_LOCKED 93,2999 -#define AWE_PAT_SHARED 94,3052 -} awe_open_parm;awe_open_parm98,3155 -#define AWE_OPEN_PARM_SIZE 101,3207 -typedef struct _awe_voice_parm _awe_voice_parm109,3492 -} awe_voice_parm;awe_voice_parm131,4790 -typedef struct _awe_voice_parm_block _awe_voice_parm_block133,4809 -} awe_voice_parm_block;awe_voice_parm_block155,5789 -#define AWE_VOICE_PARM_SIZE 157,5814 -typedef struct _awe_voice_info _awe_voice_info161,5885 -#define AWE_MODE_ROMSOUND 168,6212 -#define AWE_MODE_STEREO 169,6246 -#define AWE_MODE_LOOPING 170,6274 -#define AWE_MODE_NORELEASE 171,6302 -#define AWE_MODE_INIT_PARM 172,6347 -} awe_voice_info;awe_voice_info186,7005 -#define AWE_VOICE_INFO_SIZE 189,7059 -typedef struct _awe_voice_rec_hdr _awe_voice_rec_hdr201,7452 -#define AWE_WR_APPEND 206,7669 -#define AWE_WR_EXCLUSIVE 207,7714 -#define AWE_WR_REPLACE 208,7770 -} awe_voice_rec_hdr;awe_voice_rec_hdr209,7828 -#define AWE_VOICE_REC_SIZE 212,7883 -typedef struct _awe_voice_rec_patch _awe_voice_rec_patch215,7987 -} awe_voice_rec_patch;awe_voice_rec_patch219,8096 -#define AWE_INFOARRAY_SIZE 224,8192 -#define AWE_INFOARRAY_SIZE 226,8227 -typedef struct _awe_voice_rec _awe_voice_rec229,8264 -} awe_voice_rec;awe_voice_rec235,8510 -typedef struct awe_sample_info awe_sample_info243,8734 -#define AWE_SAMPLE_8BITS 251,9089 -#define AWE_SAMPLE_UNSIGNED 252,9141 -#define AWE_SAMPLE_NO_BLANK 253,9199 -#define AWE_SAMPLE_SINGLESHOT 254,9261 -#define AWE_SAMPLE_BIDIR_LOOP 255,9320 -#define AWE_SAMPLE_STEREO_LEFT 256,9381 -#define AWE_SAMPLE_STEREO_RIGHT 257,9439 -#define AWE_SAMPLE_REVERSE_LOOP 258,9499 -} awe_sample_info;awe_sample_info263,9708 -#define AWE_SAMPLE_INFO_SIZE 266,9764 -typedef struct awe_voice_map awe_voice_map273,9980 -} awe_voice_map;awe_voice_map276,10111 -#define AWE_VOICE_MAP_SIZE 278,10129 -#define _AWE_DEBUG_MODE 285,10342 -#define _AWE_REVERB_MODE 286,10373 -#define _AWE_CHORUS_MODE 287,10404 -#define _AWE_REMOVE_LAST_SAMPLES 288,10435 -#define _AWE_INITIALIZE_CHIP 289,10473 -#define _AWE_SEND_EFFECT 290,10508 -#define _AWE_TERMINATE_CHANNEL 291,10539 -#define _AWE_TERMINATE_ALL 292,10576 -#define _AWE_INITIAL_VOLUME 293,10609 -#define _AWE_INITIAL_ATTEN 294,10643 -#define _AWE_RESET_CHANNEL 295,10690 -#define _AWE_CHANNEL_MODE 296,10723 -#define _AWE_DRUM_CHANNELS 297,10755 -#define _AWE_MISC_MODE 298,10788 -#define _AWE_RELEASE_ALL 299,10818 -#define _AWE_NOTEOFF_ALL 300,10849 -#define _AWE_CHN_PRESSURE 301,10880 -#define _AWE_EQUALIZER 303,10952 -#define _AWE_MODE_FLAG 307,11056 -#define _AWE_COOKED_FLAG 308,11086 -#define _AWE_MODE_VALUE_MASK 309,11137 -#define _AWE_SET_CMD(_AWE_SET_CMD313,11243 -#define _AWE_CMD(_AWE_CMD322,11507 -#define _AWE_CMD_NOW(_AWE_CMD_NOW328,11672 -#define AWE_DEBUG_MODE(AWE_DEBUG_MODE336,11937 -#define AWE_REVERB_MODE(AWE_REVERB_MODE338,12044 -#define AWE_CHORUS_MODE(AWE_CHORUS_MODE340,12153 -#define AWE_RESET_CHANNEL(AWE_RESET_CHANNEL343,12248 -#define AWE_RESET_CONTROL(AWE_RESET_CONTROL344,12326 -#define AWE_SEND_EFFECT(AWE_SEND_EFFECT347,12440 -#define AWE_ADD_EFFECT(AWE_ADD_EFFECT348,12534 -#define AWE_UNSET_EFFECT(AWE_UNSET_EFFECT349,12636 -#define AWE_SEND_LAYER_EFFECT(AWE_SEND_LAYER_EFFECT351,12762 -#define AWE_ADD_LAYER_EFFECT(AWE_ADD_LAYER_EFFECT352,12885 -#define AWE_UNSET_LAYER_EFFECT(AWE_UNSET_LAYER_EFFECT353,13012 -#define AWE_TERMINATE_CHANNEL(AWE_TERMINATE_CHANNEL356,13175 -#define AWE_TERMINATE_ALL(AWE_TERMINATE_ALL358,13290 -#define AWE_RELEASE_ALL(AWE_RELEASE_ALL360,13410 -#define AWE_NOTEOFF_ALL(AWE_NOTEOFF_ALL362,13525 -#define AWE_INITIAL_VOLUME(AWE_INITIAL_VOLUME365,13626 -#define AWE_INITIAL_ATTEN 366,13712 -#define AWE_SET_ATTEN(AWE_SET_ATTEN368,13785 -#define AWE_SET_CHANNEL_MODE(AWE_SET_CHANNEL_MODE371,13911 -#define AWE_PLAY_INDIRECT 372,13995 -#define AWE_PLAY_MULTI 373,14059 -#define AWE_PLAY_DIRECT 374,14113 -#define AWE_PLAY_MULTI2 375,14171 -#define AWE_DRUM_CHANNELS(AWE_DRUM_CHANNELS378,14296 -#define AWE_EQUALIZER(AWE_EQUALIZER381,14476 -#define AWE_REMOVE_LAST_SAMPLES(AWE_REMOVE_LAST_SAMPLES384,14596 -#define AWE_INITIALIZE_CHIP(AWE_INITIALIZE_CHIP386,14729 -#define AWE_MISC_MODE(AWE_MISC_MODE389,14869 -#define AWE_EXCLUSIVE_SOUND(AWE_EXCLUSIVE_SOUND391,14986 -#define AWE_SET_GUS_BANK(AWE_SET_GUS_BANK393,15101 -#define AWE_REALTIME_PAN(AWE_REALTIME_PAN395,15232 -#define AWE_KEY_PRESSURE(AWE_KEY_PRESSURE398,15384 -#define AWE_CHN_PRESSURE(AWE_CHN_PRESSURE399,15464 -#define AWE_REVERB_ROOM1 404,15642 -#define AWE_REVERB_ROOM2 405,15669 -#define AWE_REVERB_ROOM3 406,15696 -#define AWE_REVERB_HALL1 407,15723 -#define AWE_REVERB_HALL2 408,15750 -#define AWE_REVERB_PLATE 409,15777 -#define AWE_REVERB_DELAY 410,15804 -#define AWE_REVERB_PANNINGDELAY 411,15831 -#define AWE_REVERB_PREDEFINED 412,15865 -#define AWE_REVERB_NUMBERS 414,15941 -typedef struct awe_reverb_fx_rec awe_reverb_fx_rec416,15972 -} awe_reverb_fx_rec;awe_reverb_fx_rec418,16034 -#define AWE_CHORUS_1 423,16155 -#define AWE_CHORUS_2 424,16179 -#define AWE_CHORUS_3 425,16203 -#define AWE_CHORUS_4 426,16227 -#define AWE_CHORUS_FEEDBACK 427,16251 -#define AWE_CHORUS_FLANGER 428,16281 -#define AWE_CHORUS_SHORTDELAY 429,16310 -#define AWE_CHORUS_SHORTDELAY2 430,16342 -#define AWE_CHORUS_PREDEFINED 431,16375 -#define AWE_CHORUS_NUMBERS 433,16451 -typedef struct awe_chorus_fx_rec awe_chorus_fx_rec435,16482 -} awe_chorus_fx_rec;awe_chorus_fx_rec441,16842 -/* 0*/ AWE_MD_EXCLUSIVE_OFF,447,16963 -/* 1*/ AWE_MD_EXCLUSIVE_ON,448,17007 -/* 2*/ AWE_MD_VERSION,449,17050 -/* 3*/ AWE_MD_EXCLUSIVE_SOUND,450,17090 -/* 4*/ AWE_MD_REALTIME_PAN,451,17162 -/* 5*/ AWE_MD_GUS_BANK,452,17236 -/* 6*/ AWE_MD_KEEP_EFFECT,453,17306 -/* 7*/ AWE_MD_ZERO_ATTEN,454,17376 -/* 8*/ AWE_MD_CHN_PRIOR,455,17447 -/* 9*/ AWE_MD_MOD_SENSE,456,17526 -/*10*/ AWE_MD_DEF_PRESET,457,17596 -/*11*/ AWE_MD_DEF_BANK,458,17667 -/*12*/ AWE_MD_DEF_DRUM,459,17734 -/*13*/ AWE_MD_TOGGLE_DRUM_BANK,460,17804 -/*14*/ AWE_MD_NEW_VOLUME_CALC,461,17883 -/*15*/ AWE_MD_CHORUS_MODE,462,17957 -/*16*/ AWE_MD_REVERB_MODE,463,18019 -/*17*/ AWE_MD_BASS_LEVEL,464,18081 -/*18*/ AWE_MD_TREBLE_LEVEL,465,18141 -/*19*/ AWE_MD_DEBUG_MODE,466,18205 -/*20*/ AWE_MD_PAN_EXCHANGE,467,18266 - AWE_MD_END,468,18340 -/* 0*/ AWE_FX_ENV1_DELAY,477,18496 -/* 1*/ AWE_FX_ENV1_ATTACK,478,18541 -/* 2*/ AWE_FX_ENV1_HOLD,479,18590 -/* 3*/ AWE_FX_ENV1_DECAY,480,18637 -/* 4*/ AWE_FX_ENV1_RELEASE,481,18685 -/* 5*/ AWE_FX_ENV1_SUSTAIN,482,18735 -/* 6*/ AWE_FX_ENV1_PITCH,483,18785 -/* 7*/ AWE_FX_ENV1_CUTOFF,484,18831 -/* 8*/ AWE_FX_ENV2_DELAY,487,18912 -/* 9*/ AWE_FX_ENV2_ATTACK,488,18957 -/*10*/ AWE_FX_ENV2_HOLD,489,19007 -/*11*/ AWE_FX_ENV2_DECAY,490,19055 -/*12*/ AWE_FX_ENV2_RELEASE,491,19104 -/*13*/ AWE_FX_ENV2_SUSTAIN,492,19155 -/*14*/ AWE_FX_LFO1_DELAY,495,19250 -/*15*/ AWE_FX_LFO1_FREQ,496,19296 -/*16*/ AWE_FX_LFO1_VOLUME,497,19344 -/*17*/ AWE_FX_LFO1_PITCH,498,19394 -/*18*/ AWE_FX_LFO1_CUTOFF,499,19441 -/*19*/ AWE_FX_LFO2_DELAY,502,19522 -/*20*/ AWE_FX_LFO2_FREQ,503,19568 -/*21*/ AWE_FX_LFO2_PITCH,504,19616 -/*22*/ AWE_FX_INIT_PITCH,507,19704 -/*23*/ AWE_FX_CHORUS,508,19756 -/*24*/ AWE_FX_REVERB,509,19819 -/*25*/ AWE_FX_CUTOFF,510,19882 -/*26*/ AWE_FX_FILTERQ,511,19926 -/*27*/ AWE_FX_SAMPLE_START,514,20006 -/*28*/ AWE_FX_LOOP_START,515,20054 -/*29*/ AWE_FX_LOOP_END,516,20100 -/*30*/ AWE_FX_COARSE_SAMPLE_START,517,20144 -/*31*/ AWE_FX_COARSE_LOOP_START,518,20210 -/*32*/ AWE_FX_COARSE_LOOP_END,519,20274 -/*33*/ AWE_FX_ATTEN,520,20337 - AWE_FX_END,522,20381 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ext3_fs_i.h,229 -#define _LINUX_EXT3_FS_I17,336 -struct reserve_window reserve_window23,441 -struct reserve_window_node reserve_window_node28,565 -#define rsv_start 36,738 -#define rsv_end 37,778 -struct ext3_inode_info ext3_inode_info42,873 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mempolicy.h,1593 -#define _LINUX_MEMPOLICY_H 2,27 -#define MPOL_DEFAULT 12,185 -#define MPOL_PREFERRED 13,208 -#define MPOL_BIND 14,233 -#define MPOL_INTERLEAVE 15,253 -#define MPOL_MAX 17,280 -#define MPOL_F_NODE 20,345 -#define MPOL_F_ADDR 21,419 -#define MPOL_MF_STRICT 24,501 -struct mempolicy mempolicy60,1661 -static inline void mpol_free(77,2126 -static inline struct mempolicy *mpol_copy(84,2274 -#define vma_policy(vma_policy91,2393 -#define vma_set_policy(vma_set_policy92,2436 -static inline void mpol_get(94,2497 -static inline int mpol_equal(101,2658 -#define vma_mpol_equal(vma_mpol_equal107,2786 -#define mpol_set_vma_default(mpol_set_vma_default111,2919 -struct sp_node sp_node129,3579 -struct shared_policy shared_policy135,3674 -static inline void mpol_shared_policy_init(140,3746 -struct mempolicy mempolicy158,4223 -static inline int mpol_equal(160,4245 -#define vma_mpol_equal(vma_mpol_equal164,4331 -#define mpol_set_vma_default(mpol_set_vma_default166,4362 -static inline void mpol_free(168,4412 -static inline void mpol_get(172,4467 -static inline struct mempolicy *mpol_copy(176,4523 -static inline int mpol_first_node(181,4607 -mpol_node_valid(187,4733 -struct shared_policy shared_policy192,4819 -static inline int mpol_set_shared_policy(194,4845 -static inline void mpol_shared_policy_init(201,4997 -static inline void mpol_free_shared_policy(205,5073 -mpol_shared_policy_lookup(210,5179 -#define vma_policy(vma_policy215,5269 -#define vma_set_policy(vma_set_policy216,5298 -static inline void numa_policy_init(218,5347 -static inline void numa_default_policy(222,5394 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ppp_channel.h,116 -#define _PPP_CHANNEL_H_2,24 -struct ppp_channel_ops ppp_channel_ops28,825 -struct ppp_channel ppp_channel36,1145 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fddidevice.h,35 -#define _LINUX_FDDIDEVICE_H23,836 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-dev.h,188 -#define _LINUX_I2C_DEV_H25,953 -struct i2c_smbus_ioctl_data i2c_smbus_ioctl_data33,1173 -struct i2c_rdwr_ioctl_data i2c_rdwr_ioctl_data41,1352 -#define I2C_RDRW_IOCTL_MAX_MSGS 46,1483 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/videotext.h,1434 -#define _VTX_H2,15 -#define VTXIOCGETINFO 15,237 -#define VTXIOCCLRPAGE 16,326 -#define VTXIOCCLRFOUND 17,381 -#define VTXIOCPAGEREQ 18,460 -#define VTXIOCGETSTAT 19,513 -#define VTXIOCGETPAGE 20,576 -#define VTXIOCSTOPDAU 21,641 -#define VTXIOCPUTPAGE 22,705 -#define VTXIOCSETDISP 23,768 -#define VTXIOCPUTSTAT 24,817 -#define VTXIOCCLRCACHE 25,885 -#define VTXIOCSETVIRT 26,963 -#define SAA5243 33,1093 -#define SAA5246 34,1111 -#define SAA5249 35,1129 -#define SAA5248 36,1147 -#define XSTV5346 37,1165 -vtx_info_t;vtx_info_t46,1511 -#define MIN_UNIT 53,1625 -#define MIN_TEN 54,1651 -#define HR_UNIT 55,1677 -#define HR_TEN 56,1703 -#define PG_UNIT 57,1729 -#define PG_TEN 58,1755 -#define PG_HUND 59,1781 -#define PGMASK_MAX 60,1807 -#define PGMASK_PAGE 61,1833 -#define PGMASK_HOUR 62,1882 -#define PGMASK_MINUTE 63,1921 -vtx_pagereq_t;vtx_pagereq_t76,2424 -#define VTX_PAGESIZE 83,2493 -#define VTX_VIRTUALSIZE 84,2524 -vtx_pageinfo_t;vtx_pageinfo_t104,3289 - DISPOFF,112,3365 - DISPOFF, DISPNORM,112,3365 - DISPOFF, DISPNORM, DISPTRANS,112,3365 - DISPOFF, DISPNORM, DISPTRANS, DISPINS,112,3365 - DISPOFF, DISPNORM, DISPTRANS, DISPINS, INTERLACE_OFFSET 112,3365 -} vtxdisp_t;vtxdisp_t113,3423 -#define TUNIOCGETINFO 121,3464 -#define TUNIOCRESET 122,3547 -#define TUNIOCSETFREQ 123,3596 -#define TUNIOCGETFREQ 124,3666 -#define TUNIOCSETCHAN 125,3736 -#define TUNIOCGETCHAN 126,3792 -} tuner_info_t;tuner_info_t141,4498 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mmc/mmc.h,747 -#define MMC_H9,245 -struct mmc_command mmc_command19,394 -#define MMC_RSP_NONE 24,510 -#define MMC_RSP_SHORT 25,540 -#define MMC_RSP_LONG 26,571 -#define MMC_RSP_MASK 27,601 -#define MMC_RSP_CRC 28,631 -#define MMC_RSP_BUSY 29,684 -#define MMC_RSP_R1 36,928 -#define MMC_RSP_R1B 37,975 -#define MMC_RSP_R2 38,1036 -#define MMC_RSP_R3 39,1082 -#define MMC_ERR_NONE 44,1214 -#define MMC_ERR_TIMEOUT 45,1237 -#define MMC_ERR_BADCRC 46,1263 -#define MMC_ERR_FIFO 47,1288 -#define MMC_ERR_FAILED 48,1311 -#define MMC_ERR_INVALID 49,1336 -struct mmc_data mmc_data55,1484 -#define MMC_DATA_WRITE 64,1833 -#define MMC_DATA_READ 65,1865 -#define MMC_DATA_STREAM 66,1896 -struct mmc_request mmc_request74,2064 -static inline void mmc_claim_host(91,2531 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mmc/host.h,1047 -#define LINUX_MMC_HOST_H11,298 -struct mmc_ios mmc_ios15,352 -#define MMC_VDD_150 19,431 -#define MMC_VDD_155 20,453 -#define MMC_VDD_160 21,475 -#define MMC_VDD_165 22,497 -#define MMC_VDD_170 23,519 -#define MMC_VDD_180 24,541 -#define MMC_VDD_190 25,563 -#define MMC_VDD_200 26,585 -#define MMC_VDD_210 27,607 -#define MMC_VDD_220 28,629 -#define MMC_VDD_230 29,651 -#define MMC_VDD_240 30,674 -#define MMC_VDD_250 31,697 -#define MMC_VDD_260 32,720 -#define MMC_VDD_270 33,743 -#define MMC_VDD_280 34,766 -#define MMC_VDD_290 35,789 -#define MMC_VDD_300 36,812 -#define MMC_VDD_310 37,835 -#define MMC_VDD_320 38,858 -#define MMC_VDD_330 39,881 -#define MMC_VDD_340 40,904 -#define MMC_VDD_350 41,927 -#define MMC_VDD_360 42,950 -#define MMC_BUSMODE_OPENDRAIN 46,1027 -#define MMC_BUSMODE_PUSHPULL 47,1059 -#define MMC_POWER_OFF 51,1144 -#define MMC_POWER_UP 52,1169 -#define MMC_POWER_ON 53,1193 -struct mmc_host_ops mmc_host_ops56,1221 -struct mmc_host mmc_host64,1408 -#define mmc_priv(mmc_priv98,2491 -#define mmc_dev(mmc_dev99,2531 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mmc/card.h,908 -#define LINUX_MMC_CARD_H11,298 -struct mmc_cid mmc_cid15,352 -struct mmc_csd mmc_csd26,557 -struct mmc_card mmc_card41,800 -#define MMC_STATE_PRESENT 47,1084 -#define MMC_STATE_DEAD 48,1141 -#define MMC_STATE_BAD 49,1205 -#define mmc_card_present(mmc_card_present56,1434 -#define mmc_card_dead(mmc_card_dead57,1495 -#define mmc_card_bad(mmc_card_bad58,1550 -#define mmc_card_set_present(mmc_card_set_present60,1605 -#define mmc_card_set_dead(mmc_card_set_dead61,1671 -#define mmc_card_set_bad(mmc_card_set_bad62,1731 -#define mmc_card_name(mmc_card_name64,1790 -#define mmc_card_id(mmc_card_id65,1836 -#define mmc_list_to_card(mmc_list_to_card67,1879 -#define mmc_get_drvdata(mmc_get_drvdata68,1946 -#define mmc_set_drvdata(mmc_set_drvdata69,2000 -struct mmc_driver mmc_driver74,2120 -static inline int mmc_card_claim_host(85,2427 -#define mmc_card_release_host(mmc_card_release_host90,2537 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mmc/protocol.h,3041 -#define MMC_MMC_PROTOCOL_H26,676 -#define MMC_GO_IDLE_STATE 30,793 -#define MMC_SEND_OP_COND 31,865 -#define MMC_ALL_SEND_CID 32,937 -#define MMC_SET_RELATIVE_ADDR 33,1009 -#define MMC_SET_DSR 34,1081 -#define MMC_SELECT_CARD 35,1153 -#define MMC_SEND_CSD 36,1225 -#define MMC_SEND_CID 37,1297 -#define MMC_READ_DAT_UNTIL_STOP 38,1369 -#define MMC_STOP_TRANSMISSION 39,1441 -#define MMC_SEND_STATUS 40,1513 -#define MMC_GO_INACTIVE_STATE 41,1585 -#define MMC_SET_BLOCKLEN 44,1674 -#define MMC_READ_SINGLE_BLOCK 45,1746 -#define MMC_READ_MULTIPLE_BLOCK 46,1818 -#define MMC_WRITE_DAT_UNTIL_STOP 49,1907 -#define MMC_SET_BLOCK_COUNT 52,1996 -#define MMC_WRITE_BLOCK 53,2068 -#define MMC_WRITE_MULTIPLE_BLOCK 54,2140 -#define MMC_PROGRAM_CID 55,2212 -#define MMC_PROGRAM_CSD 56,2284 -#define MMC_SET_WRITE_PROT 59,2373 -#define MMC_CLR_WRITE_PROT 60,2445 -#define MMC_SEND_WRITE_PROT 61,2517 -#define MMC_ERASE_GROUP_START 64,2606 -#define MMC_ERASE_GROUP_END 65,2678 -#define MMC_ERASE 66,2750 -#define MMC_FAST_IO 69,2839 -#define MMC_GO_IRQ_STATE 70,2911 -#define MMC_LOCK_UNLOCK 73,3000 -#define MMC_APP_CMD 76,3089 -#define MMC_GEN_CMD 77,3161 -#define R1_OUT_OF_RANGE 94,3700 -#define R1_ADDRESS_ERROR 95,3747 -#define R1_BLOCK_LEN_ERROR 96,3795 -#define R1_ERASE_SEQ_ERROR 97,3844 -#define R1_ERASE_PARAM 98,3898 -#define R1_WP_VIOLATION 99,3944 -#define R1_CARD_IS_LOCKED 100,3992 -#define R1_LOCK_UNLOCK_FAILED 101,4040 -#define R1_COM_CRC_ERROR 102,4093 -#define R1_ILLEGAL_COMMAND 103,4140 -#define R1_CARD_ECC_FAILED 104,4189 -#define R1_CC_ERROR 105,4238 -#define R1_ERROR 106,4282 -#define R1_UNDERRUN 107,4323 -#define R1_OVERRUN 108,4366 -#define R1_CID_CSD_OVERWRITE 109,4408 -#define R1_WP_ERASE_SKIP 110,4479 -#define R1_CARD_ECC_DISABLED 111,4526 -#define R1_ERASE_RESET 112,4577 -#define R1_STATUS(R1_STATUS113,4623 -#define R1_CURRENT_STATE(R1_CURRENT_STATE114,4672 -#define R1_READY_FOR_DATA 115,4749 -#define R1_APP_CMD 116,4796 -struct _mmc_csd _mmc_csd120,4897 -#define MMC_VDD_145_150 162,5681 -#define MMC_VDD_150_155 163,5746 -#define MMC_VDD_155_160 164,5811 -#define MMC_VDD_160_165 165,5876 -#define MMC_VDD_165_170 166,5941 -#define MMC_VDD_17_18 167,6006 -#define MMC_VDD_18_19 168,6067 -#define MMC_VDD_19_20 169,6128 -#define MMC_VDD_20_21 170,6189 -#define MMC_VDD_21_22 171,6250 -#define MMC_VDD_22_23 172,6311 -#define MMC_VDD_23_24 173,6372 -#define MMC_VDD_24_25 174,6433 -#define MMC_VDD_25_26 175,6494 -#define MMC_VDD_26_27 176,6555 -#define MMC_VDD_27_28 177,6616 -#define MMC_VDD_28_29 178,6677 -#define MMC_VDD_29_30 179,6738 -#define MMC_VDD_30_31 180,6799 -#define MMC_VDD_31_32 181,6860 -#define MMC_VDD_32_33 182,6921 -#define MMC_VDD_33_34 183,6982 -#define MMC_VDD_34_35 184,7043 -#define MMC_VDD_35_36 185,7104 -#define MMC_CARD_BUSY 186,7165 -#define CSD_STRUCT_VER_1_0 193,7264 -#define CSD_STRUCT_VER_1_1 194,7351 -#define CSD_STRUCT_VER_1_2 195,7438 -#define CSD_SPEC_VER_0 197,7526 -#define CSD_SPEC_VER_1 198,7614 -#define CSD_SPEC_VER_2 199,7696 -#define CSD_SPEC_VER_3 200,7784 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pci.h,18559 -#define LINUX_PCI_H18,446 -#define PCI_VENDOR_ID 26,642 -#define PCI_DEVICE_ID 27,684 -#define PCI_COMMAND 28,726 -#define PCI_COMMAND_IO 29,766 -#define PCI_COMMAND_MEMORY 30,830 -#define PCI_COMMAND_MASTER 31,900 -#define PCI_COMMAND_SPECIAL 32,959 -#define PCI_COMMAND_INVALIDATE 33,1032 -#define PCI_COMMAND_VGA_PALETTE 34,1107 -#define PCI_COMMAND_PARITY 35,1175 -#define PCI_COMMAND_WAIT 36,1237 -#define PCI_COMMAND_SERR 37,1304 -#define PCI_COMMAND_FAST_BACK 38,1354 -#define PCI_COMMAND_INTX_DISABLE 39,1424 -#define PCI_STATUS 41,1494 -#define PCI_STATUS_CAP_LIST 42,1533 -#define PCI_STATUS_66MHZ 43,1597 -#define PCI_STATUS_UDF 44,1661 -#define PCI_STATUS_FAST_BACK 45,1740 -#define PCI_STATUS_PARITY 46,1806 -#define PCI_STATUS_DEVSEL_MASK 47,1867 -#define PCI_STATUS_DEVSEL_FAST 48,1925 -#define PCI_STATUS_DEVSEL_MEDIUM 49,1964 -#define PCI_STATUS_DEVSEL_SLOW 50,2004 -#define PCI_STATUS_SIG_TARGET_ABORT 51,2042 -#define PCI_STATUS_REC_TARGET_ABORT 52,2111 -#define PCI_STATUS_REC_MASTER_ABORT 53,2177 -#define PCI_STATUS_SIG_SYSTEM_ERROR 54,2247 -#define PCI_STATUS_DETECTED_PARITY 55,2320 -#define PCI_CLASS_REVISION 57,2390 -#define PCI_REVISION_ID 59,2475 -#define PCI_CLASS_PROG 60,2533 -#define PCI_CLASS_DEVICE 61,2612 -#define PCI_CACHE_LINE_SIZE 63,2672 -#define PCI_LATENCY_TIMER 64,2718 -#define PCI_HEADER_TYPE 65,2762 -#define PCI_HEADER_TYPE_NORMAL 66,2805 -#define PCI_HEADER_TYPE_BRIDGE 67,2839 -#define PCI_HEADER_TYPE_CARDBUS 68,2873 -#define PCI_BIST 70,2909 -#define PCI_BIST_CODE_MASK 71,2945 -#define PCI_BIST_START 72,2998 -#define PCI_BIST_CAPABLE 73,3066 -#define PCI_BASE_ADDRESS_0 81,3328 -#define PCI_BASE_ADDRESS_1 82,3374 -#define PCI_BASE_ADDRESS_2 83,3437 -#define PCI_BASE_ADDRESS_3 84,3498 -#define PCI_BASE_ADDRESS_4 85,3544 -#define PCI_BASE_ADDRESS_5 86,3590 -#define PCI_BASE_ADDRESS_SPACE 87,3636 -#define PCI_BASE_ADDRESS_SPACE_IO 88,3699 -#define PCI_BASE_ADDRESS_SPACE_MEMORY 89,3739 -#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 90,3783 -#define PCI_BASE_ADDRESS_MEM_TYPE_32 91,3828 -#define PCI_BASE_ADDRESS_MEM_TYPE_1M 92,3892 -#define PCI_BASE_ADDRESS_MEM_TYPE_64 93,3961 -#define PCI_BASE_ADDRESS_MEM_PREFETCH 94,4025 -#define PCI_BASE_ADDRESS_MEM_MASK 95,4089 -#define PCI_BASE_ADDRESS_IO_MASK 96,4134 -#define PCI_CARDBUS_CIS 100,4261 -#define PCI_SUBSYSTEM_VENDOR_ID 101,4291 -#define PCI_SUBSYSTEM_ID 102,4328 -#define PCI_ROM_ADDRESS 103,4360 -#define PCI_ROM_ADDRESS_ENABLE 104,4436 -#define PCI_ROM_ADDRESS_MASK 105,4473 -#define PCI_CAPABILITY_LIST 107,4514 -#define PCI_INTERRUPT_LINE 110,4621 -#define PCI_INTERRUPT_PIN 111,4666 -#define PCI_MIN_GNT 112,4710 -#define PCI_MAX_LAT 113,4749 -#define PCI_PRIMARY_BUS 116,4830 -#define PCI_SECONDARY_BUS 117,4885 -#define PCI_SUBORDINATE_BUS 118,4943 -#define PCI_SEC_LATENCY_TIMER 119,5019 -#define PCI_IO_BASE 120,5098 -#define PCI_IO_LIMIT 121,5158 -#define PCI_IO_RANGE_TYPE_MASK 122,5185 -#define PCI_IO_RANGE_TYPE_16 123,5248 -#define PCI_IO_RANGE_TYPE_32 124,5283 -#define PCI_IO_RANGE_MASK 125,5318 -#define PCI_SEC_STATUS 126,5355 -#define PCI_MEMORY_BASE 127,5434 -#define PCI_MEMORY_LIMIT 128,5490 -#define PCI_MEMORY_RANGE_TYPE_MASK 129,5520 -#define PCI_MEMORY_RANGE_MASK 130,5563 -#define PCI_PREF_MEMORY_BASE 131,5604 -#define PCI_PREF_MEMORY_LIMIT 132,5677 -#define PCI_PREF_RANGE_TYPE_MASK 133,5712 -#define PCI_PREF_RANGE_TYPE_32 134,5753 -#define PCI_PREF_RANGE_TYPE_64 135,5790 -#define PCI_PREF_RANGE_MASK 136,5827 -#define PCI_PREF_BASE_UPPER32 137,5866 -#define PCI_PREF_LIMIT_UPPER32 138,5947 -#define PCI_IO_BASE_UPPER16 139,5983 -#define PCI_IO_LIMIT_UPPER16 140,6050 -#define PCI_ROM_ADDRESS1 143,6143 -#define PCI_BRIDGE_CONTROL 145,6260 -#define PCI_BRIDGE_CTL_PARITY 146,6292 -#define PCI_BRIDGE_CTL_SERR 147,6381 -#define PCI_BRIDGE_CTL_NO_ISA 148,6450 -#define PCI_BRIDGE_CTL_VGA 149,6522 -#define PCI_BRIDGE_CTL_MASTER_ABORT 150,6583 -#define PCI_BRIDGE_CTL_BUS_RESET 151,6653 -#define PCI_BRIDGE_CTL_FAST_BACK 152,6718 -#define PCI_CB_CAPABILITY_LIST 155,6848 -#define PCI_CB_SEC_STATUS 157,6904 -#define PCI_CB_PRIMARY_BUS 158,6958 -#define PCI_CB_CARD_BUS 159,7011 -#define PCI_CB_SUBORDINATE_BUS 160,7066 -#define PCI_CB_LATENCY_TIMER 161,7131 -#define PCI_CB_MEMORY_BASE_0 162,7193 -#define PCI_CB_MEMORY_LIMIT_0 163,7227 -#define PCI_CB_MEMORY_BASE_1 164,7262 -#define PCI_CB_MEMORY_LIMIT_1 165,7296 -#define PCI_CB_IO_BASE_0 166,7331 -#define PCI_CB_IO_BASE_0_HI 167,7361 -#define PCI_CB_IO_LIMIT_0 168,7394 -#define PCI_CB_IO_LIMIT_0_HI 169,7425 -#define PCI_CB_IO_BASE_1 170,7459 -#define PCI_CB_IO_BASE_1_HI 171,7489 -#define PCI_CB_IO_LIMIT_1 172,7522 -#define PCI_CB_IO_LIMIT_1_HI 173,7553 -#define PCI_CB_IO_RANGE_MASK 174,7587 -#define PCI_CB_BRIDGE_CONTROL 176,7667 -#define PCI_CB_BRIDGE_CTL_PARITY 177,7702 -#define PCI_CB_BRIDGE_CTL_SERR 178,7791 -#define PCI_CB_BRIDGE_CTL_ISA 179,7829 -#define PCI_CB_BRIDGE_CTL_VGA 180,7866 -#define PCI_CB_BRIDGE_CTL_MASTER_ABORT 181,7903 -#define PCI_CB_BRIDGE_CTL_CB_RESET 182,7948 -#define PCI_CB_BRIDGE_CTL_16BIT_INT 183,8009 -#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 184,8091 -#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 185,8184 -#define PCI_CB_BRIDGE_CTL_POST_WRITES 186,8231 -#define PCI_CB_SUBSYSTEM_VENDOR_ID 187,8276 -#define PCI_CB_SUBSYSTEM_ID 188,8316 -#define PCI_CB_LEGACY_MODE_BASE 189,8349 -#define PCI_CAP_LIST_ID 194,8489 -#define PCI_CAP_ID_PM 195,8536 -#define PCI_CAP_ID_AGP 196,8588 -#define PCI_CAP_ID_VPD 197,8650 -#define PCI_CAP_ID_SLOTID 198,8705 -#define PCI_CAP_ID_MSI 199,8763 -#define PCI_CAP_ID_CHSWP 200,8828 -#define PCI_CAP_ID_PCIX 201,8884 -#define PCI_CAP_ID_SHPC 202,8926 -#define PCI_CAP_ID_EXP 203,8996 -#define PCI_CAP_ID_MSIX 204,9044 -#define PCI_CAP_LIST_NEXT 205,9086 -#define PCI_CAP_FLAGS 206,9148 -#define PCI_CAP_SIZEOF 207,9214 -#define PCI_PM_PMC 211,9275 -#define PCI_PM_CAP_VER_MASK 212,9346 -#define PCI_PM_CAP_PME_CLOCK 213,9396 -#define PCI_PM_CAP_RESERVED 214,9458 -#define PCI_PM_CAP_DSI 215,9519 -#define PCI_PM_CAP_AUX_POWER 216,9588 -#define PCI_PM_CAP_D1 217,9661 -#define PCI_PM_CAP_D2 218,9721 -#define PCI_PM_CAP_PME 219,9781 -#define PCI_PM_CAP_PME_MASK 220,9837 -#define PCI_PM_CAP_PME_D0 221,9916 -#define PCI_PM_CAP_PME_D1 222,9975 -#define PCI_PM_CAP_PME_D2 223,10034 -#define PCI_PM_CAP_PME_D3 224,10093 -#define PCI_PM_CAP_PME_D3cold 225,10158 -#define PCI_PM_CTRL 226,10224 -#define PCI_PM_CTRL_STATE_MASK 227,10284 -#define PCI_PM_CTRL_PME_ENABLE 228,10360 -#define PCI_PM_CTRL_DATA_SEL_MASK 229,10420 -#define PCI_PM_CTRL_DATA_SCALE_MASK 230,10485 -#define PCI_PM_CTRL_PME_STATUS 231,10551 -#define PCI_PM_PPB_EXTENSIONS 232,10611 -#define PCI_PM_PPB_B2_B3 233,10677 -#define PCI_PM_BPCC_ENABLE 234,10744 -#define PCI_PM_DATA_REGISTER 235,10819 -#define PCI_PM_SIZEOF 236,10861 -#define PCI_AGP_VERSION 240,10908 -#define PCI_AGP_RFU 241,10960 -#define PCI_AGP_STATUS 242,11014 -#define PCI_AGP_STATUS_RQ_MASK 243,11062 -#define PCI_AGP_STATUS_SBA 244,11142 -#define PCI_AGP_STATUS_64BIT 245,11213 -#define PCI_AGP_STATUS_FW 246,11284 -#define PCI_AGP_STATUS_RATE4 247,11347 -#define PCI_AGP_STATUS_RATE2 248,11417 -#define PCI_AGP_STATUS_RATE1 249,11487 -#define PCI_AGP_COMMAND 250,11557 -#define PCI_AGP_COMMAND_RQ_MASK 251,11607 -#define PCI_AGP_COMMAND_SBA 252,11693 -#define PCI_AGP_COMMAND_AGP 253,11763 -#define PCI_AGP_COMMAND_64BIT 254,11842 -#define PCI_AGP_COMMAND_FW 255,11924 -#define PCI_AGP_COMMAND_RATE4 256,11985 -#define PCI_AGP_COMMAND_RATE2 257,12041 -#define PCI_AGP_COMMAND_RATE1 258,12097 -#define PCI_AGP_SIZEOF 259,12153 -#define PCI_VPD_ADDR 263,12207 -#define PCI_VPD_ADDR_MASK 264,12266 -#define PCI_VPD_ADDR_F 265,12319 -#define PCI_VPD_DATA 266,12389 -#define PCI_SID_ESR 270,12477 -#define PCI_SID_ESR_NSLOTS 271,12530 -#define PCI_SID_ESR_FIC 272,12605 -#define PCI_SID_CHASSIS_NR 273,12663 -#define PCI_MSI_FLAGS 277,12760 -#define PCI_MSI_FLAGS_64BIT 278,12805 -#define PCI_MSI_FLAGS_QSIZE 279,12870 -#define PCI_MSI_FLAGS_QMASK 280,12940 -#define PCI_MSI_FLAGS_ENABLE 281,13009 -#define PCI_MSI_FLAGS_MASKBIT 282,13070 -#define PCI_MSI_RFU 283,13138 -#define PCI_MSI_ADDRESS_LO 284,13192 -#define PCI_MSI_ADDRESS_HI 285,13241 -#define PCI_MSI_DATA_32 286,13319 -#define PCI_MSI_DATA_64 287,13387 -#define PCI_MSI_MASK_BIT 288,13456 -#define PCI_CHSWP_CSR 292,13545 -#define PCI_CHSWP_DHA 293,13604 -#define PCI_CHSWP_EIM 294,13657 -#define PCI_CHSWP_PIE 295,13710 -#define PCI_CHSWP_LOO 296,13771 -#define PCI_CHSWP_PI 297,13819 -#define PCI_CHSWP_EXT 298,13875 -#define PCI_CHSWP_INS 299,13936 -#define PCI_X_CMD 303,14020 -#define PCI_X_CMD_DPERR_E 304,14064 -#define PCI_X_CMD_ERO 305,14138 -#define PCI_X_CMD_MAX_READ 306,14199 -#define PCI_X_CMD_MAX_SPLIT 307,14267 -#define PCI_X_CMD_VERSION(PCI_X_CMD_VERSION308,14344 -#define PCI_X_STATUS 309,14407 -#define PCI_X_STATUS_DEVFN 310,14456 -#define PCI_X_STATUS_BUS 311,14517 -#define PCI_X_STATUS_64BIT 312,14577 -#define PCI_X_STATUS_133MHZ 313,14636 -#define PCI_X_STATUS_SPL_DISC 314,14698 -#define PCI_X_STATUS_UNX_SPL 315,14773 -#define PCI_X_STATUS_COMPLEX 316,14848 -#define PCI_X_STATUS_MAX_READ 317,14913 -#define PCI_X_STATUS_MAX_SPLIT 318,14992 -#define PCI_X_STATUS_MAX_CUM 319,15085 -#define PCI_X_STATUS_SPL_ERR 320,15166 -#define PCI_X_STATUS_266MHZ 321,15245 -#define PCI_X_STATUS_533MHZ 322,15307 -#define PCI_EXP_FLAGS 326,15410 -#define PCI_EXP_FLAGS_VERS 327,15463 -#define PCI_EXP_FLAGS_TYPE 328,15522 -#define PCI_EXP_TYPE_ENDPOINT 329,15579 -#define PCI_EXP_TYPE_LEG_END 330,15637 -#define PCI_EXP_TYPE_ROOT_PORT 331,15693 -#define PCI_EXP_TYPE_UPSTREAM 332,15745 -#define PCI_EXP_TYPE_DOWNSTREAM 333,15800 -#define PCI_EXP_TYPE_PCI_BRIDGE 334,15859 -#define PCI_EXP_FLAGS_SLOT 335,15919 -#define PCI_EXP_FLAGS_IRQ 336,15976 -#define PCI_EXP_DEVCAP 337,16040 -#define PCI_EXP_DEVCAP_PAYLOAD 338,16092 -#define PCI_EXP_DEVCAP_PHANTOM 339,16152 -#define PCI_EXP_DEVCAP_EXT_TAG 340,16213 -#define PCI_EXP_DEVCAP_L0S 341,16270 -#define PCI_EXP_DEVCAP_L1 342,16333 -#define PCI_EXP_DEVCAP_ATN_BUT 343,16394 -#define PCI_EXP_DEVCAP_ATN_IND 344,16464 -#define PCI_EXP_DEVCAP_PWR_IND 345,16537 -#define PCI_EXP_DEVCAP_PWR_VAL 346,16606 -#define PCI_EXP_DEVCAP_PWR_SCL 347,16677 -#define PCI_EXP_DEVCTL 348,16748 -#define PCI_EXP_DEVCTL_CERE 349,16795 -#define PCI_EXP_DEVCTL_NFERE 350,16869 -#define PCI_EXP_DEVCTL_FERE 351,16945 -#define PCI_EXP_DEVCTL_URRE 352,17016 -#define PCI_EXP_DEVCTL_RELAX_EN 353,17092 -#define PCI_EXP_DEVCTL_PAYLOAD 354,17162 -#define PCI_EXP_DEVCTL_EXT_TAG 355,17224 -#define PCI_EXP_DEVCTL_PHANTOM 356,17295 -#define PCI_EXP_DEVCTL_AUX_PME 357,17365 -#define PCI_EXP_DEVCTL_NOSNOOP_EN 358,17436 -#define PCI_EXP_DEVCTL_READRQ 359,17501 -#define PCI_EXP_DEVSTA 360,17567 -#define PCI_EXP_DEVSTA_CED 361,17614 -#define PCI_EXP_DEVSTA_NFED 362,17680 -#define PCI_EXP_DEVSTA_FED 363,17745 -#define PCI_EXP_DEVSTA_URD 364,17805 -#define PCI_EXP_DEVSTA_AUXPD 365,17873 -#define PCI_EXP_DEVSTA_TRPND 366,17933 -#define PCI_EXT_CAP_ID(PCI_EXT_CAP_ID369,18048 -#define PCI_EXT_CAP_VER(PCI_EXT_CAP_VER370,18102 -#define PCI_EXT_CAP_NEXT(PCI_EXT_CAP_NEXT371,18158 -#define PCI_EXT_CAP_ID_ERR 373,18217 -#define PCI_EXT_CAP_ID_VC 374,18246 -#define PCI_EXT_CAP_ID_DSN 375,18274 -#define PCI_EXT_CAP_ID_PWR 376,18303 -#define PCI_ERR_UNCOR_STATUS 379,18364 -#define PCI_ERR_UNC_TRAIN 380,18428 -#define PCI_ERR_UNC_DLP 381,18481 -#define PCI_ERR_UNC_POISON_TLP 382,18542 -#define PCI_ERR_UNC_FCP 383,18604 -#define PCI_ERR_UNC_COMP_TIME 384,18668 -#define PCI_ERR_UNC_COMP_ABORT 385,18735 -#define PCI_ERR_UNC_UNX_COMP 386,18800 -#define PCI_ERR_UNC_RX_OVER 387,18869 -#define PCI_ERR_UNC_MALF_TLP 388,18933 -#define PCI_ERR_UNC_ECRC 389,18994 -#define PCI_ERR_UNC_UNSUP 390,19055 -#define PCI_ERR_UNCOR_MASK 391,19119 -#define PCI_ERR_UNCOR_SEVER 393,19205 -#define PCI_ERR_COR_STATUS 395,19297 -#define PCI_ERR_COR_RCVR 396,19358 -#define PCI_ERR_COR_BAD_TLP 397,19423 -#define PCI_ERR_COR_BAD_DLLP 398,19484 -#define PCI_ERR_COR_REP_ROLL 399,19547 -#define PCI_ERR_COR_REP_TIMER 400,19614 -#define PCI_ERR_COR_MASK 401,19683 -#define PCI_ERR_CAP 403,19766 -#define PCI_ERR_CAP_FEP(PCI_ERR_CAP_FEP404,19824 -#define PCI_ERR_CAP_ECRC_GENC 405,19889 -#define PCI_ERR_CAP_ECRC_GENE 406,19961 -#define PCI_ERR_CAP_ECRC_CHKC 407,20032 -#define PCI_ERR_CAP_ECRC_CHKE 408,20099 -#define PCI_ERR_HEADER_LOG 409,20165 -#define PCI_ERR_ROOT_COMMAND 410,20232 -#define PCI_ERR_ROOT_STATUS 411,20289 -#define PCI_ERR_ROOT_COR_SRC 412,20320 -#define PCI_ERR_ROOT_SRC 413,20352 -#define PCI_VC_PORT_REG1 416,20403 -#define PCI_VC_PORT_REG2 417,20430 -#define PCI_VC_PORT_CTRL 418,20457 -#define PCI_VC_PORT_STATUS 419,20485 -#define PCI_VC_RES_CAP 420,20515 -#define PCI_VC_RES_CTRL 421,20542 -#define PCI_VC_RES_STATUS 422,20570 -#define PCI_PWR_DSR 425,20622 -#define PCI_PWR_DATA 426,20672 -#define PCI_PWR_DATA_BASE(PCI_PWR_DATA_BASE427,20716 -#define PCI_PWR_DATA_SCALE(PCI_PWR_DATA_SCALE428,20780 -#define PCI_PWR_DATA_PM_SUB(PCI_PWR_DATA_PM_SUB429,20848 -#define PCI_PWR_DATA_PM_STATE(PCI_PWR_DATA_PM_STATE430,20919 -#define PCI_PWR_DATA_TYPE(PCI_PWR_DATA_TYPE431,20986 -#define PCI_PWR_DATA_RAIL(PCI_PWR_DATA_RAIL432,21047 -#define PCI_PWR_CAP 433,21114 -#define PCI_PWR_CAP_BUDGET(PCI_PWR_CAP_BUDGET434,21155 -#define PCI_DEVFN(PCI_DEVFN448,21489 -#define PCI_SLOT(PCI_SLOT449,21561 -#define PCI_FUNC(PCI_FUNC450,21610 -#define PCIIOC_BASE 453,21695 -#define PCIIOC_CONTROLLER 454,21751 -#define PCIIOC_MMAP_IS_IO 455,21835 -#define PCIIOC_MMAP_IS_MEM 456,21917 -#define PCIIOC_WRITE_COMBINE 457,22000 -enum pci_mmap_state pci_mmap_state469,22311 - pci_mmap_io,470,22333 - pci_mmap_mem471,22347 -#define PCI_DMA_BIDIRECTIONAL 475,22431 -#define PCI_DMA_TODEVICE 476,22463 -#define PCI_DMA_FROMDEVICE 477,22490 -#define PCI_DMA_NONE 478,22519 -#define DEVICE_COUNT_COMPATIBLE 480,22544 -#define DEVICE_COUNT_RESOURCE 481,22578 -struct pci_dev pci_dev486,22677 -#define PCI_NAME_SIZE 541,24879 -#define PCI_NAME_HALF 542,24904 -#define pci_dev_g(pci_dev_g547,25059 -#define pci_dev_b(pci_dev_b548,25123 -#define to_pci_dev(to_pci_dev549,25184 -#define PCI_ROM_RESOURCE 559,25432 -#define PCI_BRIDGE_RESOURCES 560,25459 -#define PCI_NUM_RESOURCES 561,25490 -#define PCI_BUS_NUM_RESOURCES 564,25550 -#define PCI_REGION_FLAG_MASK 567,25592 -struct pci_bus pci_bus569,25692 -#define pci_bus_b(pci_bus_b595,26676 -#define to_pci_bus(to_pci_bus596,26733 -#define PCIBIOS_SUCCESSFUL 601,26861 -#define PCIBIOS_FUNC_NOT_SUPPORTED 602,26894 -#define PCIBIOS_BAD_VENDOR_ID 603,26934 -#define PCIBIOS_DEVICE_NOT_FOUND 604,26970 -#define PCIBIOS_BAD_REGISTER_NUMBER 605,27008 -#define PCIBIOS_SET_FAILED 606,27049 -#define PCIBIOS_BUFFER_TOO_SMALL 607,27082 -struct pci_ops pci_ops611,27170 -struct pci_raw_ops pci_raw_ops616,27363 -struct pci_bus_region pci_bus_region623,27571 -struct pci_dynids pci_dynids628,27641 -struct pci_driver pci_driver634,27852 -#define to_pci_driver(to_pci_driver648,28497 -#define PCI_DEVICE(PCI_DEVICE659,28866 -#define PCI_DEVICE_CLASS(PCI_DEVICE_CLASS672,29365 -static inline struct pci_bus *pci_scan_bus(700,30494 -static inline int pci_read_config_byte(744,33012 -static inline int pci_read_config_word(748,33165 -static inline int pci_read_config_dword(752,33319 -static inline int pci_write_config_byte(756,33475 -static inline int pci_write_config_word(760,33629 -static inline int pci_write_config_dword(764,33784 -#define HAVE_PCI_SET_MWI773,34133 -#define HAVE_PCI_REQ_REGIONS 796,35235 -#define pci_pool 823,36354 -#define pci_pool_create(pci_pool_create824,36380 -#define pci_pool_destroy(pci_pool_destroy826,36504 -#define pci_pool_alloc(pci_pool_alloc827,36558 -#define pci_pool_free(pci_pool_free828,36638 -struct msix_entry msix_entry834,36804 -static inline void pci_scan_msi_device(840,36967 -static inline int pci_enable_msi(841,37030 -static inline void pci_disable_msi(842,37097 -static inline int pci_enable_msix(843,37156 -static inline void pci_disable_msix(845,37263 -static inline void msi_remove_pci_irq_vectors(846,37323 -#define pci_dma_sync_single 864,37907 -#define pci_dma_sync_sg 865,37963 -#define _PCI_NOP(_PCI_NOP873,38177 -#define _PCI_NOP_ALL(_PCI_NOP_ALL876,38326 -_PCI_NOP_ALL(879,38433 -static inline struct pci_dev *pci_find_class(885,38611 -static inline struct pci_dev *pci_find_slot(888,38722 -static inline struct pci_dev *pci_find_subsys(891,38822 -static inline struct pci_dev *pci_get_device 895,39004 -static inline struct pci_dev *pci_get_subsys 898,39132 -static inline void pci_set_master(902,39308 -static inline int pci_enable_device(903,39367 -static inline void pci_disable_device(904,39441 -static inline int pci_module_init(905,39504 -static inline int pci_set_dma_mask(906,39582 -static inline int pci_dac_set_dma_mask(907,39665 -static inline int pci_assign_resource(908,39752 -static inline int pci_register_driver(909,39836 -static inline void pci_unregister_driver(910,39911 -static inline int pci_find_capability 911,39980 -static inline int pci_find_ext_capability 912,40062 -static inline const struct pci_device_id *pci_match_device(913,40148 -static inline int pci_save_state(916,40325 -static inline int pci_restore_state(917,40406 -static inline int pci_set_power_state(918,40490 -static inline int pci_enable_wake(919,40574 -#define isa_bridge 921,40667 -static inline int pci_module_init(931,40913 -static inline int pci_domain_nr(944,41229 -static inline int pci_name_bus(945,41296 -#define pci_resource_start(pci_resource_start956,41547 -#define pci_resource_end(pci_resource_end957,41616 -#define pci_resource_flags(pci_resource_flags958,41683 -#define pci_resource_len(pci_resource_len959,41752 -static inline void *pci_get_drvdata 971,42195 -static inline void pci_set_drvdata 976,42296 -static inline char *pci_name(984,42532 -#define pci_pretty_name(pci_pretty_name991,42706 -#define pci_pretty_name(pci_pretty_name993,42762 -struct pci_fixup pci_fixup1003,43080 -enum pci_fixup_pass pci_fixup_pass1008,43206 - pci_fixup_header,1009,43228 - pci_fixup_final,1010,43307 -#define DECLARE_PCI_FIXUP_HEADER(DECLARE_PCI_FIXUP_HEADER1014,43407 -#define DECLARE_PCI_FIXUP_FINAL(DECLARE_PCI_FIXUP_FINAL1019,43636 -#define PCIPCI_FAIL 1027,43962 -#define PCIPCI_TRITON 1028,43985 -#define PCIPCI_NATOMA 1029,44010 -#define PCIPCI_VIAETBF 1030,44035 -#define PCIPCI_VSFX 1031,44061 -#define PCIPCI_ALIMAGIK 1032,44085 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/platform.h,65 -#define _PLATFORM_H_21,765 -struct platform_t platform_t26,831 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/percpu_counter.h,708 -#define _LINUX_PERCPU_COUNTER_H2,32 -struct percpu_counter percpu_counter17,368 -#define FBC_BATCH 24,462 -#define FBC_BATCH 26,498 -static inline void percpu_counter_init(29,536 -static inline void percpu_counter_destroy(36,691 -static inline long percpu_counter_read(43,862 -static inline long percpu_counter_read_positive(52,1095 -struct percpu_counter percpu_counter64,1296 -static inline void percpu_counter_init(68,1337 -static inline void percpu_counter_destroy(73,1426 -percpu_counter_mod(78,1520 -static inline long percpu_counter_read(85,1647 -static inline long percpu_counter_read_positive(90,1739 -static inline void percpu_counter_inc(97,1865 -static inline void percpu_counter_dec(102,1965 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/videodev.h,7024 -#define __LINUX_VIDEODEV_H2,27 -#define HAVE_V4L2 8,136 -struct video_devicevideo_device17,278 -#define VIDEO_MAJOR 49,1179 -#define VFL_TYPE_GRABBER 51,1203 -#define VFL_TYPE_VBI 52,1230 -#define VFL_TYPE_RADIO 53,1254 -#define VFL_TYPE_VTX 54,1280 -#define to_video_device(to_video_device60,1498 -video_device_create_file(62,1594 -video_device_remove_file(68,1759 -static inline void *video_get_drvdata(80,2177 -static inline void video_set_drvdata(85,2265 -#define VID_TYPE_CAPTURE 98,2744 -#define VID_TYPE_TUNER 99,2789 -#define VID_TYPE_TELETEXT 100,2830 -#define VID_TYPE_OVERLAY 101,2878 -#define VID_TYPE_CHROMAKEY 102,2937 -#define VID_TYPE_CLIPPING 103,2994 -#define VID_TYPE_FRAMERAM 104,3038 -#define VID_TYPE_SCALES 105,3102 -#define VID_TYPE_MONOCHROME 106,3146 -#define VID_TYPE_SUBCAPTURE 107,3200 -#define VID_TYPE_MPEG_DECODER 108,3272 -#define VID_TYPE_MPEG_ENCODER 109,3337 -#define VID_TYPE_MJPEG_DECODER 110,3402 -#define VID_TYPE_MJPEG_ENCODER 111,3469 -struct video_capabilityvideo_capability113,3537 -struct video_channelvideo_channel126,3806 -#define VIDEO_VC_TUNER 132,3887 -#define VIDEO_VC_AUDIO 133,3939 -#define VIDEO_TYPE_TV 135,4003 -#define VIDEO_TYPE_CAMERA 136,4028 -struct video_tunervideo_tuner140,4102 -#define VIDEO_TUNER_PAL 146,4219 -#define VIDEO_TUNER_NTSC 147,4246 -#define VIDEO_TUNER_SECAM 148,4273 -#define VIDEO_TUNER_LOW 149,4301 -#define VIDEO_TUNER_NORM 150,4351 -#define VIDEO_TUNER_STEREO_ON 151,4404 -#define VIDEO_TUNER_RDS_ON 152,4467 -#define VIDEO_TUNER_MBS_ON 153,4547 -#define VIDEO_MODE_PAL 155,4669 -#define VIDEO_MODE_NTSC 156,4695 -#define VIDEO_MODE_SECAM 157,4722 -#define VIDEO_MODE_AUTO 158,4749 -struct video_picturevideo_picture162,4831 -#define VIDEO_PALETTE_GREY 171,5036 -#define VIDEO_PALETTE_HI240 172,5088 -#define VIDEO_PALETTE_RGB565 173,5146 -#define VIDEO_PALETTE_RGB24 174,5198 -#define VIDEO_PALETTE_RGB32 175,5244 -#define VIDEO_PALETTE_RGB555 176,5291 -#define VIDEO_PALETTE_YUV422 177,5342 -#define VIDEO_PALETTE_YUYV 178,5394 -#define VIDEO_PALETTE_UYVY 179,5423 -#define VIDEO_PALETTE_YUV420 180,5497 -#define VIDEO_PALETTE_YUV411 181,5529 -#define VIDEO_PALETTE_RAW 182,5582 -#define VIDEO_PALETTE_YUV422P 183,5637 -#define VIDEO_PALETTE_YUV411P 184,5693 -#define VIDEO_PALETTE_YUV420P 185,5749 -#define VIDEO_PALETTE_YUV410P 186,5805 -#define VIDEO_PALETTE_PLANAR 187,5861 -#define VIDEO_PALETTE_COMPONENT 188,5923 -struct video_audiovideo_audio191,5994 -#define VIDEO_AUDIO_MUTE 197,6117 -#define VIDEO_AUDIO_MUTABLE 198,6144 -#define VIDEO_AUDIO_VOLUME 199,6174 -#define VIDEO_AUDIO_BASS 200,6203 -#define VIDEO_AUDIO_TREBLE 201,6230 -#define VIDEO_AUDIO_BALANCE 202,6261 -#define VIDEO_SOUND_MONO 204,6311 -#define VIDEO_SOUND_STEREO 205,6338 -#define VIDEO_SOUND_LANG1 206,6367 -#define VIDEO_SOUND_LANG2 207,6395 -struct video_clipvideo_clip213,6544 -struct video_windowvideo_window220,6663 -#define VIDEO_WINDOW_INTERLACE 228,6858 -#define VIDEO_WINDOW_CHROMAKEY 229,6891 -#define VIDEO_CLIP_BITMAP 230,6952 -#define VIDEO_CLIPMAP_SIZE 232,7044 -struct video_capturevideo_capture235,7087 -#define VIDEO_CAPTURE_ODD 241,7280 -#define VIDEO_CAPTURE_EVEN 242,7324 -struct video_buffervideo_buffer245,7358 -struct video_mmapvideo_mmap253,7447 -struct video_keyvideo_key260,7606 -#define VIDEO_MAX_FRAME 267,7658 -struct video_mbufvideo_mbuf269,7687 -#define VIDEO_NO_UNIT 277,7809 -struct video_unitvideo_unit280,7840 -struct vbi_format vbi_format289,8021 -#define VBI_UNSYNC 296,8279 -#define VBI_INTERLACED 297,8346 -struct video_infovideo_info302,8542 -struct video_play_modevideo_play_mode315,9108 -struct video_codevideo_code323,9213 -#define VIDIOCGCAP 330,9324 -#define VIDIOCGCHAN 331,9403 -#define VIDIOCSCHAN 332,9491 -#define VIDIOCGTUNER 333,9564 -#define VIDIOCSTUNER 334,9645 -#define VIDIOCGPICT 335,9744 -#define VIDIOCSPICT 336,9827 -#define VIDIOCCAPTURE 337,9910 -#define VIDIOCGWIN 338,9977 -#define VIDIOCSWIN 339,10065 -#define VIDIOCGFBUF 340,10209 -#define VIDIOCSFBUF 341,10287 -#define VIDIOCKEY 342,10377 -#define VIDIOCGFREQ 343,10541 -#define VIDIOCSFREQ 344,10607 -#define VIDIOCGAUDIO 345,10673 -#define VIDIOCSAUDIO 346,10749 -#define VIDIOCSYNC 347,10833 -#define VIDIOCMCAPTURE 348,10903 -#define VIDIOCGMBUF 349,10978 -#define VIDIOCGUNIT 350,11061 -#define VIDIOCGCAPTURE 351,11140 -#define VIDIOCSCAPTURE 352,11220 -#define VIDIOCSPLAYMODE 353,11300 -#define VIDIOCSWRITEMODE 354,11398 -#define VIDIOCGPLAYINFO 355,11464 -#define VIDIOCSMICROCODE 356,11568 -#define VIDIOCGVBIFMT 357,11661 -#define VIDIOCSVBIFMT 358,11743 -#define BASE_VIDIOCPRIVATE 361,11827 -#define VID_WRITE_MPEG_AUD 364,11909 -#define VID_WRITE_MPEG_VID 365,11939 -#define VID_WRITE_OSD 366,11969 -#define VID_WRITE_TTX 367,11995 -#define VID_WRITE_CC 368,12021 -#define VID_WRITE_MJPEG 369,12046 -#define VID_PLAY_VID_OUT_MODE 372,12097 -#define VID_PLAY_GENLOCK 374,12184 -#define VID_PLAY_NORMAL 377,12276 -#define VID_PLAY_PAUSE 378,12304 -#define VID_PLAY_SINGLE_FRAME 379,12331 -#define VID_PLAY_FAST_FORWARD 380,12364 -#define VID_PLAY_SLOW_MOTION 381,12397 -#define VID_PLAY_IMMEDIATE_NORMAL 382,12429 -#define VID_PLAY_SWITCH_CHANNELS 383,12465 -#define VID_PLAY_FREEZE_FRAME 384,12500 -#define VID_PLAY_STILL_MODE 385,12533 -#define VID_PLAY_MASTER_MODE 386,12565 -#define VID_PLAY_MASTER_NONE 388,12619 -#define VID_PLAY_MASTER_VIDEO 389,12651 -#define VID_PLAY_MASTER_AUDIO 390,12684 -#define VID_PLAY_ACTIVE_SCANLINES 391,12717 -#define VID_PLAY_RESET 393,12797 -#define VID_PLAY_END_MARK 394,12825 -#define VID_HARDWARE_BT848 398,12858 -#define VID_HARDWARE_QCAM_BW 399,12887 -#define VID_HARDWARE_PMS 400,12918 -#define VID_HARDWARE_QCAM_C 401,12945 -#define VID_HARDWARE_PSEUDO 402,12975 -#define VID_HARDWARE_SAA5249 403,13005 -#define VID_HARDWARE_AZTECH 404,13036 -#define VID_HARDWARE_SF16MI 405,13066 -#define VID_HARDWARE_RTRACK 406,13096 -#define VID_HARDWARE_ZOLTRIX 407,13126 -#define VID_HARDWARE_SAA7146 408,13158 -#define VID_HARDWARE_VIDEUM 409,13193 -#define VID_HARDWARE_RTRACK2 410,13257 -#define VID_HARDWARE_PERMEDIA2 411,13289 -#define VID_HARDWARE_RIVA128 412,13352 -#define VID_HARDWARE_PLANB 413,13412 -#define VID_HARDWARE_BROADWAY 414,13478 -#define VID_HARDWARE_GEMTEK 415,13534 -#define VID_HARDWARE_TYPHOON 416,13565 -#define VID_HARDWARE_VINO 417,13597 -#define VID_HARDWARE_CADET 418,13646 -#define VID_HARDWARE_TRUST 419,13694 -#define VID_HARDWARE_TERRATEC 420,13745 -#define VID_HARDWARE_CPIA 421,13805 -#define VID_HARDWARE_ZR36120 422,13834 -#define VID_HARDWARE_ZR36067 423,13894 -#define VID_HARDWARE_OV511 424,13952 -#define VID_HARDWARE_ZR356700 425,13983 -#define VID_HARDWARE_W9966 426,14041 -#define VID_HARDWARE_SE401 427,14071 -#define VID_HARDWARE_PWC 428,14125 -#define VID_HARDWARE_MEYE 429,14175 -#define VID_HARDWARE_CPIA2 430,14238 -#define VID_HARDWARE_VICAM 431,14268 -#define VID_HARDWARE_SF16FMR2 432,14303 -#define VID_HARDWARE_W9968CF 433,14336 -#define VID_HARDWARE_SAA7114H 434,14368 -#define VID_HARDWARE_SN9C102 435,14403 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/in_route.h,572 -#define _LINUX_IN_ROUTE_H2,26 -#define RTCF_DEAD 6,85 -#define RTCF_ONLINK 7,115 -#define RTCF_NOPMTUDISC 10,191 -#define RTCF_NOTIFY 12,233 -#define RTCF_DIRECTDST 13,264 -#define RTCF_REDIRECTED 14,298 -#define RTCF_TPROXY 15,333 -#define RTCF_FAST 17,365 -#define RTCF_MASQ 18,394 -#define RTCF_SNAT 19,423 -#define RTCF_DOREDIRECT 20,452 -#define RTCF_DIRECTSRC 21,487 -#define RTCF_DNAT 22,521 -#define RTCF_BROADCAST 23,550 -#define RTCF_MULTICAST 24,584 -#define RTCF_REJECT 25,618 -#define RTCF_LOCAL 26,649 -#define RTCF_NAT 28,680 -#define RT_TOS(RT_TOS30,720 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/time.h,1889 -#define _LINUX_TIME_H2,22 -#define _STRUCT_TIMESPEC8,119 -struct timespec timespec9,144 -struct timeval timeval15,260 -struct timezone timezone20,354 -#define div_long_long_rem(div_long_long_rem33,624 -#define INITIAL_JIFFIES 44,902 -#define MAX_JIFFY_OFFSET 58,1329 -#define USEC_PER_SEC 62,1445 -#define NSEC_PER_SEC 66,1506 -#define NSEC_PER_USEC 70,1571 -#define SEC_JIFFIE_SC 144,4963 -#define SEC_JIFFIE_SC 147,5101 -#define NSEC_JIFFIE_SC 149,5146 -#define USEC_JIFFIE_SC 150,5190 -#define SEC_CONVERSION 151,5234 -#define NSEC_CONVERSION 154,5381 -#define USEC_CONVERSION 156,5526 -#define USEC_ROUND 166,6007 -# define MAX_SEC_IN_JIFFIES 173,6301 -# define MAX_SEC_IN_JIFFIES 176,6450 -static inline unsigned int jiffies_to_msecs(187,6707 -static inline unsigned int jiffies_to_usecs(198,6948 -static inline unsigned long msecs_to_jiffies(209,7196 -timespec_to_jiffies(234,7991 -jiffies_to_timespec(250,8359 -timeval_to_jiffies(273,9217 -jiffies_to_timeval(288,9579 -static __inline__ int timespec_equal(299,9879 -mktime 320,10746 -static inline unsigned long get_seconds(341,11316 -#define CURRENT_TIME 348,11434 -#define NFDBITS 352,11505 -set_normalized_timespec 368,12211 -#define FD_SETSIZE 383,12455 -#define FD_SET(FD_SET384,12488 -#define FD_CLR(FD_CLR385,12534 -#define FD_ISSET(FD_ISSET386,12580 -#define FD_ZERO(FD_ZERO387,12630 -#define ITIMER_REAL 393,12757 -#define ITIMER_VIRTUAL 394,12779 -#define ITIMER_PROF 395,12804 -struct itimerspec itimerspec397,12827 -struct itimerval itimerval402,12976 -#define CLOCK_REALTIME 411,13175 -#define CLOCK_MONOTONIC 412,13203 -#define CLOCK_PROCESS_CPUTIME_ID 413,13231 -#define CLOCK_THREAD_CPUTIME_ID 414,13266 -#define CLOCK_REALTIME_HR 415,13301 -#define CLOCK_MONOTONIC_HR 416,13330 -#define MAX_CLOCKS 418,13362 -#define CLOCKS_MASK 419,13383 -#define CLOCKS_MONO 421,13503 -#define TIMER_ABSTIME 427,13630 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_multiport.h,254 -#define _IP6T_MULTIPORT_H2,26 -enum ip6t_multiport_flagsip6t_multiport_flags5,98 - IP6T_MULTIPORT_SOURCE,7,126 - IP6T_MULTIPORT_DESTINATION,8,150 - IP6T_MULTIPORT_EITHER9,179 -#define IP6T_MULTI_PORTS 12,206 -struct ip6t_multiportip6t_multiport15,288 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_ah.h,452 -#define _IP6T_AH_H2,19 -struct ip6t_ahip6t_ah4,39 -#define IP6T_AH_SPI 12,251 -#define IP6T_AH_LEN 13,276 -#define IP6T_AH_RES 14,301 -#define IP6T_AH_INV_SPI 17,380 -#define IP6T_AH_INV_LEN 18,441 -#define IP6T_AH_INV_MASK 19,505 -#define MASK_HOPOPTS 21,562 -#define MASK_DSTOPTS 22,590 -#define MASK_ROUTING 23,617 -#define MASK_FRAGMENT 24,644 -#define MASK_AH 25,671 -#define MASK_ESP 26,697 -#define MASK_NONE 27,723 -#define MASK_PROTO 28,749 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_rt.h,640 -#define _IP6T_RT_H2,19 -#define IP6T_RT_HOPS 6,67 -struct ip6t_rtip6t_rt8,92 -#define IP6T_RT_TYP 19,402 -#define IP6T_RT_SGS 20,429 -#define IP6T_RT_LEN 21,456 -#define IP6T_RT_RES 22,483 -#define IP6T_RT_FST_MASK 23,510 -#define IP6T_RT_FST 24,540 -#define IP6T_RT_FST_NSTRICT 25,567 -#define IP6T_RT_INV_TYP 28,654 -#define IP6T_RT_INV_SGS 29,716 -#define IP6T_RT_INV_LEN 30,782 -#define IP6T_RT_INV_MASK 31,846 -#define MASK_HOPOPTS 33,903 -#define MASK_DSTOPTS 34,931 -#define MASK_ROUTING 35,958 -#define MASK_FRAGMENT 36,985 -#define MASK_AH 37,1012 -#define MASK_ESP 38,1038 -#define MASK_NONE 39,1064 -#define MASK_PROTO 40,1090 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_physdev.h,300 -#define _IP6T_PHYSDEV_H2,24 -#define IP6T_PHYSDEV_OP_IN 8,97 -#define IP6T_PHYSDEV_OP_OUT 9,130 -#define IP6T_PHYSDEV_OP_BRIDGED 10,164 -#define IP6T_PHYSDEV_OP_ISIN 11,202 -#define IP6T_PHYSDEV_OP_ISOUT 12,237 -#define IP6T_PHYSDEV_OP_MASK 13,273 -struct ip6t_physdev_info ip6t_physdev_info15,315 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_opts.h,472 -#define _IP6T_OPTS_H2,21 -#define IP6T_OPTS_OPTSNR 4,43 -struct ip6t_optsip6t_opts6,72 -#define IP6T_OPTS_LEN 15,288 -#define IP6T_OPTS_OPTS 16,317 -#define IP6T_OPTS_NSTRICT 17,347 -#define IP6T_OPTS_INV_LEN 20,432 -#define IP6T_OPTS_INV_MASK 21,497 -#define MASK_HOPOPTS 23,556 -#define MASK_DSTOPTS 24,584 -#define MASK_ROUTING 25,611 -#define MASK_FRAGMENT 26,638 -#define MASK_AH 27,665 -#define MASK_ESP 28,691 -#define MASK_NONE 29,717 -#define MASK_PROTO 30,743 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_frag.h,559 -#define _IP6T_FRAG_H2,21 -struct ip6t_fragip6t_frag4,43 -#define IP6T_FRAG_IDS 12,229 -#define IP6T_FRAG_LEN 13,258 -#define IP6T_FRAG_RES 14,287 -#define IP6T_FRAG_FST 15,316 -#define IP6T_FRAG_MF 16,345 -#define IP6T_FRAG_NMF 17,374 -#define IP6T_FRAG_INV_IDS 20,460 -#define IP6T_FRAG_INV_LEN 21,522 -#define IP6T_FRAG_INV_MASK 22,587 -#define MASK_HOPOPTS 24,646 -#define MASK_DSTOPTS 25,674 -#define MASK_ROUTING 26,701 -#define MASK_FRAGMENT 27,728 -#define MASK_AH 28,755 -#define MASK_ESP 29,781 -#define MASK_NONE 30,807 -#define MASK_PROTO 31,833 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_owner.h,193 -#define _IP6T_OWNER_H2,22 -#define IP6T_OWNER_UID 5,74 -#define IP6T_OWNER_GID 6,102 -#define IP6T_OWNER_PID 7,130 -#define IP6T_OWNER_SID 8,158 -struct ip6t_owner_info ip6t_owner_info10,187 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_length.h,75 -#define _IP6T_LENGTH_H2,23 -struct ip6t_length_info ip6t_length_info4,47 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_hl.h,145 -#define _IP6T_HL_H6,149 - IP6T_HL_EQ 9,176 - IP6T_HL_NE,10,207 - IP6T_HL_LT,11,238 - IP6T_HL_GT,12,268 -struct ip6t_hl_info ip6t_hl_info16,306 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_esp.h,341 -#define _IP6T_ESP_H2,20 -struct ip6t_espip6t_esp4,41 -#define MASK_HOPOPTS 10,159 -#define MASK_DSTOPTS 11,187 -#define MASK_ROUTING 12,214 -#define MASK_FRAGMENT 13,241 -#define MASK_AH 14,268 -#define MASK_ESP 15,294 -#define MASK_NONE 16,320 -#define MASK_PROTO 17,346 -#define IP6T_ESP_INV_SPI 20,427 -#define IP6T_ESP_INV_MASK 21,489 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_MARK.h,90 -#define _IP6T_MARK_H_target2,28 -struct ip6t_mark_target_info ip6t_mark_target_info4,57 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6_tables.h,2071 -#define _IP6_TABLES_H16,390 -#define IP6T_FUNCTION_MAXNAMELEN 28,621 -#define IP6T_TABLE_MAXNAMELEN 29,657 -struct ip6t_ip6 ip6t_ip632,742 -struct ip6t_entry_matchip6t_entry_match53,1319 -struct ip6t_entry_targetip6t_entry_target76,1659 -struct ip6t_standard_targetip6t_standard_target99,2005 -struct ip6t_countersip6t_counters105,2087 -#define IP6T_F_PROTO 111,2244 -#define IP6T_F_TOS 113,2326 -#define IP6T_F_MASK 114,2372 -#define IP6T_INV_VIA_IN 117,2483 -#define IP6T_INV_VIA_OUT 118,2549 -#define IP6T_INV_TOS 119,2616 -#define IP6T_INV_SRCIP 120,2674 -#define IP6T_INV_DSTIP 121,2737 -#define IP6T_INV_FRAG 122,2800 -#define IP6T_INV_PROTO 123,2860 -#define IP6T_INV_MASK 124,2922 -struct ip6t_entryip6t_entry129,3176 -#define IP6T_BASE_CTL 155,3805 -#define IP6T_SO_SET_REPLACE 157,3872 -#define IP6T_SO_SET_ADD_COUNTERS 158,3917 -#define IP6T_SO_SET_MAX 159,3970 -#define IP6T_SO_GET_INFO 161,4022 -#define IP6T_SO_GET_ENTRIES 162,4064 -#define IP6T_SO_GET_MAX 163,4113 -#define IP6T_CONTINUE 166,4195 -#define IP6T_RETURN 169,4255 -struct ip6t_tcpip6t_tcp172,4323 -#define IP6T_TCP_INV_SRCPT 183,4681 -#define IP6T_TCP_INV_DSTPT 184,4753 -#define IP6T_TCP_INV_FLAGS 185,4823 -#define IP6T_TCP_INV_OPTION 186,4892 -#define IP6T_TCP_INV_MASK 187,4964 -struct ip6t_udpip6t_udp190,5047 -#define IP6T_UDP_INV_SRCPT 198,5263 -#define IP6T_UDP_INV_DSTPT 199,5335 -#define IP6T_UDP_INV_MASK 200,5405 -struct ip6t_icmpip6t_icmp203,5489 -#define IP6T_ICMP_INV 211,5684 -struct ip6t_getinfoip6t_getinfo214,5792 -struct ip6t_replaceip6t_replace237,6306 -struct ip6t_counters_infoip6t_counters_info269,7091 -struct ip6t_get_entriesip6t_get_entries281,7336 -#define IP6T_STANDARD_TARGET 294,7605 -#define IP6T_ERROR_TARGET 296,7658 -ip6t_get_target(300,7761 -#define IP6T_MATCH_ITERATE(IP6T_MATCH_ITERATE306,7883 -#define IP6T_ENTRY_ITERATE(IP6T_ENTRY_ITERATE325,8308 -extern void ip6t_init(348,8793 -struct ip6t_matchip6t_match350,8830 -struct ip6t_targetip6t_target383,9761 -struct ip6t_tableip6t_table421,10909 -#define IP6T_ALIGN(IP6T_ALIGN456,11751 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_mark.h,69 -#define _IP6T_MARK_H2,21 -struct ip6t_mark_info ip6t_mark_info4,43 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6_logging.h,234 -#define __IP6_LOGGING_H3,77 -#define nf_log_ip6_packet(nf_log_ip6_packet9,184 -#define nf_log_ip6(nf_log_ip612,302 -#define nf_ip6_log_register(nf_ip6_log_register15,382 -#define nf_ip6_log_unregister(nf_ip6_log_unregister16,453 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_LOG.h,187 -#define _IP6T_LOG_H2,20 -#define IP6T_LOG_TCPSEQ 4,41 -#define IP6T_LOG_TCPOPT 5,102 -#define IP6T_LOG_IPOPT 6,154 -#define IP6T_LOG_MASK 7,204 -struct ip6t_log_info ip6t_log_info9,233 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_limit.h,99 -#define _IP6T_RATE_H2,21 -#define IP6T_LIMIT_SCALE 5,78 -struct ip6t_rateinfo ip6t_rateinfo9,218 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_ipv6header.h,304 -#define __IPV6HEADER_H9,206 -struct ip6t_ipv6header_infoip6t_ipv6header_info11,230 -#define MASK_HOPOPTS 18,326 -#define MASK_DSTOPTS 19,354 -#define MASK_ROUTING 20,381 -#define MASK_FRAGMENT 21,408 -#define MASK_AH 22,435 -#define MASK_ESP 23,461 -#define MASK_NONE 24,487 -#define MASK_PROTO 25,513 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_ipv6/ip6t_mac.h,66 -#define _IP6T_MAC_H2,20 -struct ip6t_mac_info ip6t_mac_info4,41 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mman.h,373 -#define _LINUX_MMAN_H2,22 -#define MREMAP_MAYMOVE 10,141 -#define MREMAP_FIXED 11,166 -#define OVERCOMMIT_GUESS 13,190 -#define OVERCOMMIT_ALWAYS 14,218 -#define OVERCOMMIT_NEVER 15,247 -static inline void vm_acct_memory(23,449 -static inline void vm_unacct_memory(29,548 -#define _calc_vm_trans(_calc_vm_trans40,782 -calc_vm_prot_bits(48,1027 -calc_vm_flag_bits(59,1333 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/console_struct.h,423 -#define NPAR 12,316 -struct vc_data vc_data14,333 -struct vc vc93,3947 -#define CUR_DEF 103,4194 -#define CUR_NONE 104,4213 -#define CUR_UNDERLINE 105,4232 -#define CUR_LOWER_THIRD 106,4256 -#define CUR_LOWER_HALF 107,4282 -#define CUR_TWO_THIRDS 108,4307 -#define CUR_BLOCK 109,4332 -#define CUR_HWMASK 110,4352 -#define CUR_SWMASK 111,4376 -#define CUR_DEFAULT 113,4403 -#define CON_IS_VISIBLE(CON_IS_VISIBLE115,4438 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/vt_buffer.h,382 -#define _LINUX_VT_BUFFER_H_14,441 -#define scr_writew(scr_writew23,612 -#define scr_readw(scr_readw24,660 -#define scr_memcpyw(scr_memcpyw25,694 -#define scr_memmovew(scr_memmovew26,739 -#define VT_BUF_HAVE_MEMCPYW27,786 -#define VT_BUF_HAVE_MEMMOVEW28,814 -static inline void scr_memsetw(32,879 -static inline void scr_memcpyw(41,1037 -static inline void scr_memmovew(50,1216 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_shaper.h,395 -#define __LINUX_SHAPER_H2,25 -#define SHAPER_QLEN 6,70 -#define SHAPER_LATENCY 13,293 -#define SHAPER_MAXSLIP 14,323 -#define SHAPER_BURST 15,348 -struct shapershaper17,405 -#define SHAPER_SET_DEV 47,1280 -#define SHAPER_SET_SPEED 48,1311 -#define SHAPER_GET_DEV 49,1343 -#define SHAPER_GET_SPEED 50,1374 -struct shaperconfshaperconf52,1407 -#define ss_speed 60,1502 -#define ss_name 61,1534 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/highuid.h,772 -#define _LINUX_HIGHUID_H2,25 -#define DEFAULT_OVERFLOWUID 41,1189 -#define DEFAULT_OVERFLOWGID 42,1223 -#define high2lowuid(high2lowuid47,1357 -#define high2lowgid(high2lowgid48,1444 -#define low2highuid(low2highuid53,1644 -#define low2highgid(low2highgid54,1721 -#define __convert_uid(__convert_uid56,1799 -#define __convert_gid(__convert_gid58,1884 -#define __convert_uid(__convert_uid64,1979 -#define __convert_gid(__convert_gid65,2018 -#define SET_UID(SET_UID70,2135 -#define SET_GID(SET_GID71,2221 -#define DEFAULT_FS_OVERFLOWUID 85,2658 -#define DEFAULT_FS_OVERFLOWGID 86,2695 -#define fs_high2lowuid(fs_high2lowuid92,2882 -#define fs_high2lowgid(fs_high2lowgid93,2971 -#define low_16_bits(low_16_bits95,3061 -#define high_16_bits(high_16_bits96,3099 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nbd.h,676 -#define LINUX_NBD_H16,630 -#define NBD_SET_SOCK 18,651 -#define NBD_SET_BLKSIZE 19,687 -#define NBD_SET_SIZE 20,726 -#define NBD_DO_IT 21,762 -#define NBD_CLEAR_SOCK 22,795 -#define NBD_CLEAR_QUE 23,833 -#define NBD_PRINT_DEBUG 24,870 -#define NBD_SET_SIZE_BLOCKS 25,909 -#define NBD_DISCONNECT 26,952 - NBD_CMD_READ 29,999 - NBD_CMD_WRITE 30,1018 - NBD_CMD_DISC 31,1038 -#define nbd_cmd(nbd_cmd34,1060 -#define MAX_NBD 35,1097 -#define NBD_READ_ONLY 41,1220 -#define NBD_WRITE_NOCHK 42,1249 -struct nbd_device nbd_device44,1281 -#define NBD_REQUEST_MAGIC 62,1707 -#define NBD_REPLY_MAGIC 63,1744 -struct nbd_request nbd_request70,1948 -struct nbd_reply nbd_reply86,2250 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/stddef.h,138 -#define _LINUX_STDDEF_H2,24 -#define NULL 8,115 -#define NULL 10,136 -#define offsetof(offsetof15,212 -#define offsetof(offsetof17,281 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dtlk.h,696 -#define TRACE_TXT(TRACE_TXT3,7 -#define TRACE_CHR(TRACE_CHR12,132 -#define DTLK_MINOR 20,223 -#define DTLK_IO_EXTENT 21,244 -#define DTLK_INTERROGATE 24,313 -#define DTLK_STATUS 25,384 -#define DTLK_CLEAR 28,450 -#define DTLK_MAX_RETRIES 30,495 -#define TTS_READABLE 33,579 -#define TTS_SPEAKING 35,692 -#define TTS_SPEAKING2 40,906 -#define TTS_WRITABLE 43,1030 -#define TTS_ALMOST_FULL 49,1342 -#define TTS_ALMOST_EMPTY 54,1564 -#define LPC_5220_NORMAL 62,1829 -#define LPC_5220_FAST 63,1904 -#define LPC_D6_NORMAL 64,1975 -#define LPC_D6_FAST 65,2046 -#define LPC_SPEAKING 69,2203 -#define LPC_BUFFER_LOW 72,2335 -#define LPC_BUFFER_EMPTY 77,2552 -struct dtlk_settingsdtlk_settings83,2776 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_bridge.h,1003 -#define __LINUX_BRIDGE_NETFILTER_H2,35 -#define NF_BR_PRE_ROUTING 16,357 -#define NF_BR_LOCAL_IN 18,431 -#define NF_BR_FORWARD 20,512 -#define NF_BR_LOCAL_OUT 22,580 -#define NF_BR_POST_ROUTING 24,644 -#define NF_BR_BROUTING 26,737 -#define NF_BR_NUMHOOKS 27,763 -enum nf_br_hook_priorities nf_br_hook_priorities31,809 - NF_BR_PRI_FIRST 32,838 - NF_BR_PRI_FIRST = INT_MIN,32,838 - NF_BR_PRI_NAT_DST_BRIDGED 33,866 - NF_BR_PRI_FILTER_BRIDGED 34,901 - NF_BR_PRI_BRNF 35,935 - NF_BR_PRI_NAT_DST_OTHER 36,956 - NF_BR_PRI_FILTER_OTHER 37,988 - NF_BR_PRI_NAT_SRC 38,1019 - NF_BR_PRI_LAST 39,1045 - NF_BR_PRI_LAST = INT_MAX,39,1045 -#define BRNF_PKT_TYPE 44,1108 -#define BRNF_BRIDGED_DNAT 45,1137 -#define BRNF_DONT_TAKE_PARENT 46,1169 -#define BRNF_BRIDGED 47,1205 -#define BRNF_NF_BRIDGE_PREROUTING 48,1233 -struct nf_bridge_info *nf_bridge_alloc(51,1287 -void nf_bridge_maybe_copy_header(69,1784 -void nf_bridge_save_header(81,2075 -int nf_bridge_pad(94,2451 -struct bridge_skb_cb bridge_skb_cb105,2661 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/timer.h,380 -#define _LINUX_TIMER_H2,23 -struct timer_list timer_list11,175 -#define TIMER_MAGIC 24,375 -#define TIMER_INITIALIZER(TIMER_INITIALIZER26,407 -static inline void init_timer(42,820 -static inline int timer_pending(59,1311 -static inline void add_timer(85,2162 -# define del_timer_sync(del_timer_sync94,2405 -# define del_singleshot_timer_sync(del_singleshot_timer_sync95,2445 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_wanpipe.h,1284 -#define __LINUX_IF_WAN_PACKET_H19,714 -struct wan_sockaddr_llwan_sockaddr_ll21,747 -} wan_debug_hdr_t;wan_debug_hdr_t54,1376 -#define MAX_NUM_DEBUG 56,1396 -#define X25_PROT 57,1422 -#define PVC_PROT 58,1450 -}wan_debug_t;wan_debug_t63,1536 -#define SIOC_WANPIPE_GET_CALL_DATA 65,1551 -#define SIOC_WANPIPE_SET_CALL_DATA 66,1609 -#define SIOC_WANPIPE_ACCEPT_CALL 67,1667 -#define SIOC_WANPIPE_CLEAR_CALL 68,1723 -#define SIOC_WANPIPE_RESET_CALL 69,1786 -#define SIOC_WANPIPE_DEBUG 70,1849 -#define SIOC_WANPIPE_SET_NONBLOCK 71,1907 -#define SIOC_WANPIPE_CHECK_TX 72,1964 -#define SIOC_WANPIPE_SOCK_STATE 73,2018 -#define WAN_PACKET_HOST 77,2095 -#define WAN_PACKET_BROADCAST 78,2136 -#define WAN_PACKET_MULTICAST 79,2182 -#define WAN_PACKET_OTHERHOST 80,2230 -#define WAN_PACKET_OUTGOING 81,2285 -#define WAN_PACKET_LOOPBACK 83,2389 -#define WAN_PACKET_FASTROUTE 84,2452 -#define WAN_PACKET_DATA 88,2528 -#define WAN_PACKET_CMD 89,2555 -#define WAN_PACKET_ASYNC 90,2582 -#define WAN_PACKET_ERR 91,2609 -#define WAN_PACKET_ADD_MEMBERSHIP 95,2672 -#define WAN_PACKET_DROP_MEMBERSHIP 96,2709 -#define WAN_PACKET_MR_MULTICAST 98,2748 -#define WAN_PACKET_MR_PROMISC 99,2782 -#define WAN_PACKET_MR_ALLMULTI 100,2814 -struct wanpipe_optwanpipe_opt105,2908 -#define wp_sk(wp_sk120,3336 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/init.h,2510 -#define _LINUX_INIT_H2,22 -#define __init 44,1331 -#define __initdata 45,1392 -#define __exitdata 46,1456 -#define __exit_call 47,1519 -#define __exit 50,1622 -#define __exit 52,1688 -#define __INIT 56,1803 -#define __FINIT 57,1846 -#define __INITDATA 58,1873 -typedef int (*initcall_t)initcall_t64,1983 -typedef void (*exitcall_t)exitcall_t65,2016 -#define __define_initcall(__define_initcall85,2532 -#define core_initcall(core_initcall89,2689 -#define postcore_initcall(postcore_initcall90,2742 -#define arch_initcall(arch_initcall91,2799 -#define subsys_initcall(subsys_initcall92,2852 -#define fs_initcall(fs_initcall93,2907 -#define device_initcall(device_initcall94,2959 -#define late_initcall(late_initcall95,3014 -#define __initcall(__initcall97,3068 -#define __exitcall(__exitcall99,3112 -#define console_initcall(console_initcall102,3190 -#define security_initcall(security_initcall106,3333 -struct obs_kernel_param obs_kernel_param110,3484 -#define __setup_param(__setup_param122,3778 -#define __setup_null_param(__setup_null_param130,4107 -#define __setup(__setup133,4195 -#define __obsolete_setup(__obsolete_setup136,4258 -#define early_param(early_param141,4424 -#define module_init(module_init156,4887 -#define module_exit(module_exit168,5284 -#define core_initcall(core_initcall173,5399 -#define postcore_initcall(postcore_initcall174,5442 -#define arch_initcall(arch_initcall175,5489 -#define subsys_initcall(subsys_initcall176,5532 -#define fs_initcall(fs_initcall177,5577 -#define device_initcall(device_initcall178,5619 -#define late_initcall(late_initcall179,5664 -#define security_initcall(security_initcall181,5708 -#define module_init(module_init190,6109 -#define module_exit(module_exit196,6330 -#define __setup_param(__setup_param201,6497 -#define __setup_null_param(__setup_null_param202,6553 -#define __setup(__setup203,6611 -#define __obsolete_setup(__obsolete_setup204,6655 -#define __nosavedata 208,6766 -#define __init_or_module213,6948 -#define __initdata_or_module214,6973 -#define __init_or_module 216,7008 -#define __initdata_or_module 217,7040 -#define __devinit221,7129 -#define __devinitdata222,7147 -#define __devexit223,7169 -#define __devexitdata224,7187 -#define __devinit 226,7215 -#define __devinitdata 227,7240 -#define __devexit 228,7273 -#define __devexitdata 229,7298 -#define __devexit_p(__devexit_p239,7773 -#define __devexit_p(__devexit_p241,7804 -#define __exit_p(__exit_p245,7854 -#define __exit_p(__exit_p247,7882 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/flat.h,639 -#define _LINUX_FLAT_H11,332 -#define FLAT_VERSION 17,403 -#define MAX_SHARED_LIBS 20,472 -#define MAX_SHARED_LIBS 22,508 -struct flat_hdr flat_hdr30,672 -#define FLAT_FLAG_RAM 53,1741 -#define FLAT_FLAG_GOTPIC 54,1810 -#define FLAT_FLAG_GZIP 55,1872 -#define FLAT_FLAG_GZDATA 56,1943 -#define FLAT_FLAG_KTRACE 57,2023 -#define OLD_FLAT_VERSION 72,2562 -#define OLD_FLAT_RELOC_TYPE_TEXT 73,2601 -#define OLD_FLAT_RELOC_TYPE_DATA 74,2636 -#define OLD_FLAT_RELOC_TYPE_BSS 75,2671 -# define OLD_FLAT_FLAG_RAM 83,2859 -# define OLD_FLAT_FLAG_RAM 87,3024 -# define OLD_FLAT_FLAG_RAM 91,3192 -} flat_v2_reloc_t;flat_v2_reloc_t96,3343 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/affs_fs.h,57 -#define _AFFS_FS_H2,19 -#define AFFS_SUPER_MAGIC 12,176 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/pmu.h,4030 -#define PMU_DRIVER_VERSION 11,279 -#define PMU_POWER_CTRL0 16,332 -#define PMU_POWER_CTRL 17,398 -#define PMU_ADB_CMD 18,463 -#define PMU_ADB_POLL_OFF 19,511 -#define PMU_WRITE_NVRAM 20,569 -#define PMU_READ_NVRAM 21,628 -#define PMU_SET_RTC 22,685 -#define PMU_READ_RTC 23,737 -#define PMU_SET_VOLBUTTON 24,791 -#define PMU_BACKLIGHT_BRIGHT 25,856 -#define PMU_GET_VOLBUTTON 26,921 -#define PMU_PCEJECT 27,986 -#define PMU_BATTERY_STATE 28,1042 -#define PMU_SMART_BATTERY_STATE 29,1105 -#define PMU_SET_INTR_MASK 30,1179 -#define PMU_INT_ACK 31,1239 -#define PMU_SHUTDOWN 32,1291 -#define PMU_CPU_SPEED 33,1339 -#define PMU_SLEEP 34,1406 -#define PMU_POWER_EVENTS 35,1453 -#define PMU_I2C_CMD 36,1522 -#define PMU_RESET 37,1569 -#define PMU_GET_BRIGHTBUTTON 38,1609 -#define PMU_GET_COVER 39,1679 -#define PMU_SYSTEM_READY 40,1738 -#define PMU_GET_VERSION 41,1796 -#define PMU_POW0_ON 44,1905 -#define PMU_POW0_OFF 45,1968 -#define PMU_POW0_HARD_DRIVE 46,2034 -#define PMU_POW_ON 49,2167 -#define PMU_POW_OFF 50,2229 -#define PMU_POW_BACKLIGHT 51,2294 -#define PMU_POW_CHARGER 52,2347 -#define PMU_POW_IRLED 53,2405 -#define PMU_POW_MEDIABAY 54,2468 -#define PMU_INT_PCEJECT 57,2597 -#define PMU_INT_SNDBRT 58,2655 -#define PMU_INT_ADB 59,2723 -#define PMU_INT_BATTERY 60,2782 -#define PMU_INT_ENVIRONMENT 61,2839 -#define PMU_INT_TICK 62,2901 -#define PMU_INT_ADB_AUTO 65,3023 -#define PMU_INT_WAITING_CHARGER 66,3090 -#define PMU_INT_AUTO_SRQ_POLL 67,3137 -#define PMU_ENV_LID_CLOSED 71,3298 -#define PMU_I2C_MODE_SIMPLE 74,3385 -#define PMU_I2C_MODE_STDSUB 75,3415 -#define PMU_I2C_MODE_COMBINED 76,3445 -#define PMU_I2C_BUS_STATUS 78,3478 -#define PMU_I2C_BUS_SYSCLK 79,3507 -#define PMU_I2C_BUS_POWER 80,3536 -#define PMU_I2C_STATUS_OK 82,3565 -#define PMU_I2C_STATUS_DATAREAD 83,3593 -#define PMU_I2C_STATUS_BUSY 84,3627 - PMU_UNKNOWN,89,3695 - PMU_OHARE_BASED,90,3709 - PMU_HEATHROW_BASED,91,3769 - PMU_PADDINGTON_BASED,92,3816 - PMU_KEYLARGO_BASED,93,3863 - PMU_68K_V1,94,3917 - PMU_68K_V2,95,3956 - PMU_PWR_GET_POWERUP_EVENTS 100,4043 - PMU_PWR_GET_POWERUP_EVENTS = 0x00,100,4043 - PMU_PWR_SET_POWERUP_EVENTS 101,4079 - PMU_PWR_SET_POWERUP_EVENTS = 0x01,101,4079 - PMU_PWR_CLR_POWERUP_EVENTS 102,4115 - PMU_PWR_CLR_POWERUP_EVENTS = 0x02,102,4115 - PMU_PWR_GET_WAKEUP_EVENTS 103,4151 - PMU_PWR_GET_WAKEUP_EVENTS = 0x03,103,4151 - PMU_PWR_SET_WAKEUP_EVENTS 104,4186 - PMU_PWR_SET_WAKEUP_EVENTS = 0x04,104,4186 - PMU_PWR_CLR_WAKEUP_EVENTS 105,4221 - PMU_PWR_CLR_WAKEUP_EVENTS = 0x05,105,4221 - PMU_PWR_WAKEUP_KEY 110,4298 - PMU_PWR_WAKEUP_KEY = 0x01,110,4298 - PMU_PWR_WAKEUP_AC_INSERT 111,4351 - PMU_PWR_WAKEUP_AC_INSERT = 0x02,111,4351 - PMU_PWR_WAKEUP_AC_CHANGE 112,4415 - PMU_PWR_WAKEUP_AC_CHANGE = 0x04,112,4415 - PMU_PWR_WAKEUP_LID_OPEN 113,4449 - PMU_PWR_WAKEUP_LID_OPEN = 0x08,113,4449 - PMU_PWR_WAKEUP_RING 114,4483 - PMU_PWR_WAKEUP_RING = 0x10,114,4483 -#define PMU_IOC_SLEEP 123,4608 -#define PMU_IOC_GET_BACKLIGHT 125,4690 -#define PMU_IOC_SET_BACKLIGHT 127,4786 -#define PMU_IOC_GET_MODEL 129,4869 -#define PMU_IOC_HAS_ADB 131,4954 -#define PMU_IOC_CAN_SLEEP 133,5041 -#define PMU_IOC_GRAB_BACKLIGHT 135,5159 -struct pmu_sleep_notifierpmu_sleep_notifier176,6297 -#define PBOOK_SLEEP_REQUEST 188,6632 -#define PBOOK_SLEEP_NOW 189,6662 -#define PBOOK_SLEEP_REJECT 190,6689 -#define PBOOK_WAKE 191,6718 -#define PBOOK_SLEEP_OK 194,6786 -#define PBOOK_SLEEP_REFUSE 195,6812 -#define SLEEP_LEVEL_VIDEO 198,6878 -#define SLEEP_LEVEL_MEDIABAY 199,6940 -#define SLEEP_LEVEL_BLOCK 200,6995 -#define SLEEP_LEVEL_NET 201,7040 -#define SLEEP_LEVEL_MISC 202,7085 -#define SLEEP_LEVEL_USERLAND 203,7133 -#define SLEEP_LEVEL_ADB 204,7192 -#define SLEEP_LEVEL_SOUND 205,7238 -#define PMU_MAX_BATTERIES 211,7483 -#define PMU_PWR_AC_PRESENT 214,7545 -#define PMU_BATT_PRESENT 217,7624 -#define PMU_BATT_CHARGING 218,7660 -#define PMU_BATT_TYPE_MASK 219,7697 -#define PMU_BATT_TYPE_SMART 220,7735 -#define PMU_BATT_TYPE_HOOPER 221,7794 -#define PMU_BATT_TYPE_COMET 222,7850 -struct pmu_battery_infopmu_battery_info224,7901 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/xattr.h,170 -#define _LINUX_XATTR_H11,299 -#define XATTR_CREATE 13,323 -#define XATTR_REPLACE 14,393 -#define XATTR_SECURITY_PREFIX 16,465 -struct xattr_handler xattr_handler18,508 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/soundcard.h,20815 -#define SOUNDCARD_H2,20 -#define SOUND_VERSION 36,1713 -#define OPEN_SOUND_SYSTEM37,1744 -#define SNDCARD_ADLIB 46,1920 -#define SNDCARD_SB 47,1945 -#define SNDCARD_PAS 48,1967 -#define SNDCARD_GUS 49,1990 -#define SNDCARD_MPU401 50,2013 -#define SNDCARD_SB16 51,2039 -#define SNDCARD_SB16MIDI 52,2063 -#define SNDCARD_UART6850 53,2090 -#define SNDCARD_GUS16 54,2117 -#define SNDCARD_MSS 55,2142 -#define SNDCARD_PSS 56,2166 -#define SNDCARD_SSCAPE 57,2194 -#define SNDCARD_PSS_MPU 58,2221 -#define SNDCARD_PSS_MSS 59,2253 -#define SNDCARD_SSCAPE_MSS 60,2285 -#define SNDCARD_TRXPRO 61,2315 -#define SNDCARD_TRXPRO_SB 62,2342 -#define SNDCARD_TRXPRO_MPU 63,2371 -#define SNDCARD_MAD16 64,2401 -#define SNDCARD_MAD16_MPU 65,2427 -#define SNDCARD_CS4232 66,2456 -#define SNDCARD_CS4232_MPU 67,2483 -#define SNDCARD_MAUI 68,2513 -#define SNDCARD_PSEUDO_MSS 69,2538 -#define SNDCARD_GUSPNP 70,2568 -#define SNDCARD_UART401 71,2595 -#define SIOCPARM_MASK 81,3021 -#define SIOC_VOID 82,3056 -#define SIOC_OUT 83,3083 -#define SIOC_IN 84,3108 -#define SIOC_INOUT 85,3132 -#define _SIOC_SIZE 86,3161 -#define _SIOC_DIR 87,3190 -#define _SIOC_NONE 88,3217 -#define _SIOC_READ 89,3246 -#define _SIOC_WRITE 90,3275 -#define _SIO 91,3306 -#define _SIOR 92,3324 -#define _SIOW 93,3344 -#define _SIOWR 94,3364 -#define SIOCPARM_MASK 104,3702 -#define SIOC_VOID 105,3770 -#define SIOC_OUT 106,3819 -#define SIOC_IN 107,3873 -#define SIOC_INOUT 108,3926 -#define _SIO(_SIO110,4031 -#define _SIOR(_SIOR111,4077 -#define _SIOW(_SIOW112,4157 -#define _SIOWR(_SIOWR114,4291 -#define _SIOC_SIZE(_SIOC_SIZE115,4374 -#define _SIOC_DIR(_SIOC_DIR116,4421 -#define _SIOC_NONE 117,4459 -#define _SIOC_READ 118,4488 -#define _SIOC_WRITE 119,4516 -#define SNDCTL_SEQ_RESET 123,4588 -#define SNDCTL_SEQ_SYNC 124,4629 -#define SNDCTL_SYNTH_INFO 125,4670 -#define SNDCTL_SEQ_CTRLRATE 126,4731 -#define SNDCTL_SEQ_GETOUTCOUNT 127,4816 -#define SNDCTL_SEQ_GETINCOUNT 128,4868 -#define SNDCTL_SEQ_PERCMODE 129,4919 -#define SNDCTL_FM_LOAD_INSTR 130,4968 -#define SNDCTL_SEQ_TESTMIDI 131,5068 -#define SNDCTL_SEQ_RESETSAMPLES 132,5117 -#define SNDCTL_SEQ_NRSYNTHS 133,5170 -#define SNDCTL_SEQ_NRMIDIS 134,5219 -#define SNDCTL_MIDI_INFO 135,5267 -#define SNDCTL_SEQ_THRESHOLD 136,5326 -#define SNDCTL_SYNTH_MEMAVL 137,5376 -#define SNDCTL_FM_4OP_ENABLE 138,5452 -#define SNDCTL_SEQ_PANIC 139,5516 -#define SNDCTL_SEQ_OUTOFBAND 140,5557 -#define SNDCTL_SEQ_GETTIME 141,5624 -#define SNDCTL_SYNTH_ID 142,5672 -#define SNDCTL_SYNTH_CONTROL 143,5732 -#define SNDCTL_SYNTH_REMOVESAMPLE 144,5799 -typedef struct synth_controlsynth_control146,5871 -}synth_control;synth_control150,5994 -typedef struct remove_sampleremove_sample152,6011 -} remove_sample;remove_sample157,6165 -typedef struct seq_event_rec seq_event_rec159,6183 -} seq_event_rec;seq_event_rec161,6238 -#define SNDCTL_TMR_TIMEBASE 163,6256 -#define SNDCTL_TMR_START 164,6305 -#define SNDCTL_TMR_STOP 165,6346 -#define SNDCTL_TMR_CONTINUE 166,6387 -#define SNDCTL_TMR_TEMPO 167,6431 -#define SNDCTL_TMR_SOURCE 168,6477 -# define TMR_INTERNAL 169,6524 -# define TMR_EXTERNAL 170,6558 -# define TMR_MODE_MIDI 171,6592 -# define TMR_MODE_FSK 172,6627 -# define TMR_MODE_CLS 173,6661 -# define TMR_MODE_SMPTE 174,6695 -#define SNDCTL_TMR_METRONOME 175,6731 -#define SNDCTL_TMR_SELECT 176,6781 -# define _PATCHKEY(_PATCHKEY184,7043 -# define AFMT_S16_NE 185,7079 -# define _PATCHKEY(_PATCHKEY187,7119 -# define AFMT_S16_NE 188,7158 -struct patch_info patch_info201,7618 -#define WAVE_PATCH 203,7687 -#define GUS_PATCH 204,7725 -#define WAVEFRONT_PATCH 205,7757 -#define WAVE_16_BITS 215,7986 -#define WAVE_UNSIGNED 216,8049 -#define WAVE_LOOPING 217,8114 -#define WAVE_BIDIR_LOOP 218,8173 -#define WAVE_LOOP_BACK 219,8246 -#define WAVE_SUSTAIN_ON 220,8313 -#define WAVE_ENVELOPES 221,8389 -#define WAVE_FAST_RELEASE 222,8452 -#define WAVE_VIBRATO 225,8606 -#define WAVE_TREMOLO 226,8670 -#define WAVE_SCALE 227,8734 -#define WAVE_FRACTIONS 228,8796 -#define WAVE_ROM 230,8886 -#define WAVE_MULAW 231,8935 -struct sysex_info sysex_info290,10767 -#define SYSEX_PATCH 292,10842 -#define MAUI_PATCH 293,10878 -#define SEQ_NOTEOFF 319,11858 -#define SEQ_FMNOTEOFF 320,11881 -#define SEQ_NOTEON 321,11936 -#define SEQ_FMNOTEON 322,11958 -#define SEQ_WAIT 323,11991 -#define SEQ_PGMCHANGE 324,12022 -#define SEQ_FMPGMCHANGE 325,12047 -#define SEQ_SYNCTIMER 326,12086 -#define SEQ_MIDIPUTC 327,12119 -#define SEQ_DRUMON 328,12143 -#define SEQ_DRUMOFF 329,12184 -#define SEQ_ECHO 330,12226 -#define SEQ_AFTERTOUCH 331,12293 -#define SEQ_CONTROLLER 332,12319 -#define CTL_BANK_SELECT 346,12795 -#define CTL_MODWHEEL 347,12828 -#define CTL_BREATH 348,12859 -#define CTL_FOOT 350,12911 -#define CTL_PORTAMENTO_TIME 351,12938 -#define CTL_DATA_ENTRY 352,12975 -#define CTL_MAIN_VOLUME 353,13007 -#define CTL_BALANCE 354,13040 -#define CTL_PAN 356,13093 -#define CTL_EXPRESSION 357,13119 -#define CTL_GENERAL_PURPOSE1 362,13243 -#define CTL_GENERAL_PURPOSE2 363,13280 -#define CTL_GENERAL_PURPOSE3 364,13317 -#define CTL_GENERAL_PURPOSE4 365,13354 -#define CTL_DAMPER_PEDAL 375,13751 -#define CTL_SUSTAIN 376,13785 -#define CTL_HOLD 377,13827 -#define CTL_PORTAMENTO 378,13866 -#define CTL_SOSTENUTO 379,13898 -#define CTL_SOFT_PEDAL 380,13929 -#define CTL_HOLD2 382,13984 -#define CTL_GENERAL_PURPOSE5 385,14043 -#define CTL_GENERAL_PURPOSE6 386,14080 -#define CTL_GENERAL_PURPOSE7 387,14117 -#define CTL_GENERAL_PURPOSE8 388,14154 -#define CTL_EXT_EFF_DEPTH 390,14221 -#define CTL_TREMOLO_DEPTH 391,14256 -#define CTL_CHORUS_DEPTH 392,14291 -#define CTL_DETUNE_DEPTH 393,14325 -#define CTL_CELESTE_DEPTH 394,14359 -#define CTL_PHASER_DEPTH 395,14424 -#define CTL_DATA_INCREMENT 396,14458 -#define CTL_DATA_DECREMENT 397,14494 -#define CTL_NONREG_PARM_NUM_LSB 398,14530 -#define CTL_NONREG_PARM_NUM_MSB 399,14570 -#define CTL_REGIST_PARM_NUM_LSB 400,14610 -#define CTL_REGIST_PARM_NUM_MSB 401,14650 -#define CTRL_PITCH_BENDER 406,14797 -#define CTRL_PITCH_BENDER_RANGE 407,14831 -#define CTRL_EXPRESSION 408,14870 -#define CTRL_MAIN_VOLUME 409,14917 -#define SEQ_BALANCE 410,14965 -#define SEQ_VOLMODE 411,14989 -#define VOL_METHOD_ADAGIO 417,15077 -#define VOL_METHOD_LINEAR 418,15105 -#define SEQ_FULLSIZE 429,15294 -#define SEQ_PRIVATE 450,16262 -#define SEQ_EXTENDED 451,16334 -typedef unsigned char sbi_instr_data[sbi_instr_data457,16436 -struct sbi_instrument sbi_instrument459,16479 -#define FM_PATCH 461,16554 -#define OPL3_PATCH 462,16587 -struct synth_info synth_info468,16800 -#define SYNTH_TYPE_FM 472,16923 -#define SYNTH_TYPE_SAMPLE 473,16949 -#define SYNTH_TYPE_MIDI 474,16978 -#define FM_TYPE_ADLIB 477,17049 -#define FM_TYPE_OPL3 478,17078 -#define MIDI_TYPE_MPU401 479,17106 -#define SAMPLE_TYPE_BASIC 481,17139 -#define SAMPLE_TYPE_GUS 482,17171 -#define SAMPLE_TYPE_WAVEFRONT 483,17215 -#define SYNTH_CAP_PERCMODE 490,17411 -#define SYNTH_CAP_OPL3 491,17471 -#define SYNTH_CAP_INPUT 492,17535 -struct sound_timer_info sound_timer_info496,17642 -#define MIDI_CAP_MPU401 501,17702 -struct midi_info midi_info503,17762 - } mpu_command_rec;mpu_command_rec518,18149 -#define SNDCTL_MIDI_PRETIME 520,18170 -#define SNDCTL_MIDI_MPUMODE 521,18219 -#define SNDCTL_MIDI_MPUCMD 522,18268 -#define SNDCTL_DSP_RESET 528,18426 -#define SNDCTL_DSP_SYNC 529,18467 -#define SNDCTL_DSP_SPEED 530,18508 -#define SNDCTL_DSP_STEREO 531,18554 -#define SNDCTL_DSP_GETBLKSIZE 532,18601 -#define SNDCTL_DSP_SAMPLESIZE 533,18652 -#define SNDCTL_DSP_CHANNELS 534,18701 -#define SOUND_PCM_WRITE_CHANNELS 535,18750 -#define SOUND_PCM_WRITE_FILTER 536,18803 -#define SNDCTL_DSP_POST 537,18855 -#define SNDCTL_DSP_SUBDIVIDE 538,18896 -#define SNDCTL_DSP_SETFRAGMENT 539,18946 -#define SNDCTL_DSP_GETFMTS 542,19069 -#define SNDCTL_DSP_SETFMT 543,19138 -# define AFMT_QUERY 544,19205 -# define AFMT_MU_LAW 545,19262 -# define AFMT_A_LAW 546,19295 -# define AFMT_IMA_ADPCM 547,19327 -# define AFMT_U8 548,19363 -# define AFMT_S16_LE 549,19393 -# define AFMT_S16_BE 550,19455 -# define AFMT_S8 551,19515 -# define AFMT_U16_LE 552,19545 -# define AFMT_U16_BE 553,19602 -# define AFMT_MPEG 554,19656 -# define AFMT_AC3 555,19708 -typedef struct audio_buf_info audio_buf_info560,19796 - } audio_buf_info;audio_buf_info567,20162 -#define SNDCTL_DSP_GETOSPACE 569,20183 -#define SNDCTL_DSP_GETISPACE 570,20244 -#define SNDCTL_DSP_NONBLOCK 571,20305 -#define SNDCTL_DSP_GETCAPS 572,20349 -# define DSP_CAP_REVISION 573,20397 -# define DSP_CAP_DUPLEX 574,20476 -# define DSP_CAP_REALTIME 575,20546 -# define DSP_CAP_BATCH 576,20611 -# define DSP_CAP_COPROC 580,20793 -# define DSP_CAP_TRIGGER 583,20916 -# define DSP_CAP_MMAP 584,20979 -# define DSP_CAP_MULTI 585,21035 -# define DSP_CAP_BIND 586,21098 -#define SNDCTL_DSP_GETTRIGGER 589,21181 -#define SNDCTL_DSP_SETTRIGGER 590,21232 -# define PCM_ENABLE_INPUT 591,21283 -# define PCM_ENABLE_OUTPUT 592,21321 -typedef struct count_info count_info594,21361 - } count_info;count_info598,21540 -#define SNDCTL_DSP_GETIPTR 600,21556 -#define SNDCTL_DSP_GETOPTR 601,21611 -typedef struct buffmem_desc buffmem_desc603,21667 - } buffmem_desc;buffmem_desc606,21729 -#define SNDCTL_DSP_MAPINBUF 607,21746 -#define SNDCTL_DSP_MAPOUTBUF 608,21805 -#define SNDCTL_DSP_SETSYNCRO 609,21865 -#define SNDCTL_DSP_SETDUPLEX 610,21911 -#define SNDCTL_DSP_GETODELAY 611,21957 -#define SNDCTL_DSP_GETCHANNELMASK 613,22009 -#define SNDCTL_DSP_BIND_CHANNEL 614,22065 -# define DSP_BIND_QUERY 615,22119 -# define DSP_BIND_FRONT 616,22155 -# define DSP_BIND_SURR 617,22191 -# define DSP_BIND_CENTER_LFE 618,22226 -# define DSP_BIND_HANDSET 619,22266 -# define DSP_BIND_MIC 620,22304 -# define DSP_BIND_MODEM1 621,22338 -# define DSP_BIND_MODEM2 622,22375 -# define DSP_BIND_I2S 623,22412 -# define DSP_BIND_SPDIF 624,22446 -#define SNDCTL_DSP_SETSPDIF 626,22483 -#define SNDCTL_DSP_GETSPDIF 627,22533 -# define SPDIF_PRO 628,22583 -# define SPDIF_N_AUD 629,22609 -# define SPDIF_COPY 630,22637 -# define SPDIF_PRE 631,22664 -# define SPDIF_CC 632,22690 -# define SPDIF_L 633,22716 -# define SPDIF_DRS 634,22741 -# define SPDIF_V 635,22767 -#define SNDCTL_DSP_PROFILE 648,23373 -#define APF_NORMAL 649,23422 -#define APF_NETWORK 650,23471 -#define APF_CPUINTENS 651,23550 -#define SOUND_PCM_READ_RATE 653,23634 -#define SOUND_PCM_READ_CHANNELS 654,23683 -#define SOUND_PCM_READ_BITS 655,23736 -#define SOUND_PCM_READ_FILTER 656,23785 -#define SOUND_PCM_WRITE_BITS 659,23860 -#define SOUND_PCM_WRITE_RATE 660,23908 -#define SOUND_PCM_POST 661,23955 -#define SOUND_PCM_RESET 662,23996 -#define SOUND_PCM_SYNC 663,24039 -#define SOUND_PCM_SUBDIVIDE 664,24080 -#define SOUND_PCM_SETFRAGMENT 665,24130 -#define SOUND_PCM_GETFMTS 666,24184 -#define SOUND_PCM_SETFMT 667,24230 -#define SOUND_PCM_GETOSPACE 668,24274 -#define SOUND_PCM_GETISPACE 669,24324 -#define SOUND_PCM_NONBLOCK 670,24374 -#define SOUND_PCM_GETCAPS 671,24422 -#define SOUND_PCM_GETTRIGGER 672,24468 -#define SOUND_PCM_SETTRIGGER 673,24520 -#define SOUND_PCM_SETSYNCRO 674,24572 -#define SOUND_PCM_GETIPTR 675,24622 -#define SOUND_PCM_GETOPTR 676,24668 -#define SOUND_PCM_MAPINBUF 677,24714 -#define SOUND_PCM_MAPOUTBUF 678,24762 -typedef struct copr_buffer copr_buffer685,24900 -#define CPF_NONE 688,24984 -#define CPF_FIRST 689,25009 -#define CPF_LAST 690,25053 - } copr_buffer;copr_buffer695,25222 -typedef struct copr_debug_buf copr_debug_buf697,25239 - } copr_debug_buf;copr_debug_buf703,25399 -typedef struct copr_msg copr_msg705,25419 - } copr_msg;copr_msg708,25484 -#define SNDCTL_COPR_RESET 710,25498 -#define SNDCTL_COPR_LOAD 711,25552 -#define SNDCTL_COPR_RDATA 712,25612 -#define SNDCTL_COPR_RCODE 713,25676 -#define SNDCTL_COPR_WDATA 714,25740 -#define SNDCTL_COPR_WCODE 715,25804 -#define SNDCTL_COPR_RUN 716,25868 -#define SNDCTL_COPR_HALT 717,25931 -#define SNDCTL_COPR_SENDMSG 718,25994 -#define SNDCTL_COPR_RCVMSG 719,26054 -#define SOUND_MIXER_NRDEVICES 734,26468 -#define SOUND_MIXER_VOLUME 735,26501 -#define SOUND_MIXER_BASS 736,26530 -#define SOUND_MIXER_TREBLE 737,26557 -#define SOUND_MIXER_SYNTH 738,26586 -#define SOUND_MIXER_PCM 739,26614 -#define SOUND_MIXER_SPEAKER 740,26641 -#define SOUND_MIXER_LINE 741,26671 -#define SOUND_MIXER_MIC 742,26698 -#define SOUND_MIXER_CD 743,26725 -#define SOUND_MIXER_IMIX 744,26751 -#define SOUND_MIXER_ALTPCM 745,26804 -#define SOUND_MIXER_RECLEV 746,26834 -#define SOUND_MIXER_IGAIN 747,26886 -#define SOUND_MIXER_OGAIN 748,26932 -#define SOUND_MIXER_LINE1 755,27240 -#define SOUND_MIXER_LINE2 756,27298 -#define SOUND_MIXER_LINE3 757,27356 -#define SOUND_MIXER_DIGITAL1 758,27414 -#define SOUND_MIXER_DIGITAL2 759,27470 -#define SOUND_MIXER_DIGITAL3 760,27526 -#define SOUND_MIXER_PHONEIN 761,27582 -#define SOUND_MIXER_PHONEOUT 762,27631 -#define SOUND_MIXER_VIDEO 763,27682 -#define SOUND_MIXER_RADIO 764,27737 -#define SOUND_MIXER_MONITOR 765,27781 -#define SOUND_ONOFF_MIN 769,27989 -#define SOUND_ONOFF_MAX 770,28017 -#define SOUND_MIXER_NONE 773,28114 -#define SOUND_MIXER_ENHANCE 779,28258 -#define SOUND_MIXER_MUTE 780,28303 -#define SOUND_MIXER_LOUD 781,28345 -#define SOUND_DEVICE_LABELS 784,28389 -#define SOUND_DEVICE_NAMES 789,28681 -#define SOUND_MIXER_RECSRC 796,28975 -#define SOUND_MIXER_DEVMASK 797,29058 -#define SOUND_MIXER_RECMASK 798,29142 -#define SOUND_MIXER_CAPS 799,29236 -# define SOUND_CAP_EXCL_INPUT 800,29266 -#define SOUND_MIXER_STEREODEVS 801,29349 -#define SOUND_MIXER_OUTSRC 802,29424 -#define SOUND_MIXER_OUTMASK 803,29513 -#define SOUND_MASK_VOLUME 807,29638 -#define SOUND_MASK_BASS 808,29690 -#define SOUND_MASK_TREBLE 809,29739 -#define SOUND_MASK_SYNTH 810,29791 -#define SOUND_MASK_PCM 811,29841 -#define SOUND_MASK_SPEAKER 812,29888 -#define SOUND_MASK_LINE 813,29942 -#define SOUND_MASK_MIC 814,29991 -#define SOUND_MASK_CD 815,30038 -#define SOUND_MASK_IMIX 816,30083 -#define SOUND_MASK_ALTPCM 817,30132 -#define SOUND_MASK_RECLEV 818,30184 -#define SOUND_MASK_IGAIN 819,30236 -#define SOUND_MASK_OGAIN 820,30286 -#define SOUND_MASK_LINE1 821,30336 -#define SOUND_MASK_LINE2 822,30386 -#define SOUND_MASK_LINE3 823,30436 -#define SOUND_MASK_DIGITAL1 824,30486 -#define SOUND_MASK_DIGITAL2 825,30542 -#define SOUND_MASK_DIGITAL3 826,30598 -#define SOUND_MASK_PHONEIN 827,30654 -#define SOUND_MASK_PHONEOUT 828,30708 -#define SOUND_MASK_RADIO 829,30764 -#define SOUND_MASK_VIDEO 830,30814 -#define SOUND_MASK_MONITOR 831,30864 -#define SOUND_MASK_MUTE 834,30941 -#define SOUND_MASK_ENHANCE 835,30990 -#define SOUND_MASK_LOUD 836,31044 -#define MIXER_READ(MIXER_READ838,31094 -#define SOUND_MIXER_READ_VOLUME 839,31140 -#define SOUND_MIXER_READ_BASS 840,31204 -#define SOUND_MIXER_READ_TREBLE 841,31264 -#define SOUND_MIXER_READ_SYNTH 842,31328 -#define SOUND_MIXER_READ_PCM 843,31390 -#define SOUND_MIXER_READ_SPEAKER 844,31448 -#define SOUND_MIXER_READ_LINE 845,31513 -#define SOUND_MIXER_READ_MIC 846,31573 -#define SOUND_MIXER_READ_CD 847,31631 -#define SOUND_MIXER_READ_IMIX 848,31687 -#define SOUND_MIXER_READ_ALTPCM 849,31747 -#define SOUND_MIXER_READ_RECLEV 850,31811 -#define SOUND_MIXER_READ_IGAIN 851,31875 -#define SOUND_MIXER_READ_OGAIN 852,31937 -#define SOUND_MIXER_READ_LINE1 853,31999 -#define SOUND_MIXER_READ_LINE2 854,32061 -#define SOUND_MIXER_READ_LINE3 855,32123 -#define SOUND_MIXER_READ_MUTE 858,32208 -#define SOUND_MIXER_READ_ENHANCE 859,32268 -#define SOUND_MIXER_READ_LOUD 860,32333 -#define SOUND_MIXER_READ_RECSRC 862,32394 -#define SOUND_MIXER_READ_DEVMASK 863,32458 -#define SOUND_MIXER_READ_RECMASK 864,32523 -#define SOUND_MIXER_READ_STEREODEVS 865,32588 -#define SOUND_MIXER_READ_CAPS 866,32659 -#define MIXER_WRITE(MIXER_WRITE868,32720 -#define SOUND_MIXER_WRITE_VOLUME 869,32768 -#define SOUND_MIXER_WRITE_BASS 870,32833 -#define SOUND_MIXER_WRITE_TREBLE 871,32895 -#define SOUND_MIXER_WRITE_SYNTH 872,32960 -#define SOUND_MIXER_WRITE_PCM 873,33024 -#define SOUND_MIXER_WRITE_SPEAKER 874,33084 -#define SOUND_MIXER_WRITE_LINE 875,33151 -#define SOUND_MIXER_WRITE_MIC 876,33213 -#define SOUND_MIXER_WRITE_CD 877,33273 -#define SOUND_MIXER_WRITE_IMIX 878,33331 -#define SOUND_MIXER_WRITE_ALTPCM 879,33393 -#define SOUND_MIXER_WRITE_RECLEV 880,33458 -#define SOUND_MIXER_WRITE_IGAIN 881,33523 -#define SOUND_MIXER_WRITE_OGAIN 882,33587 -#define SOUND_MIXER_WRITE_LINE1 883,33651 -#define SOUND_MIXER_WRITE_LINE2 884,33715 -#define SOUND_MIXER_WRITE_LINE3 885,33779 -#define SOUND_MIXER_WRITE_MUTE 888,33866 -#define SOUND_MIXER_WRITE_ENHANCE 889,33928 -#define SOUND_MIXER_WRITE_LOUD 890,33995 -#define SOUND_MIXER_WRITE_RECSRC 892,34058 -typedef struct mixer_infomixer_info894,34124 -} mixer_info;mixer_info900,34226 -typedef struct _old_mixer_info _old_mixer_info902,34241 -} _old_mixer_info;_old_mixer_info906,34321 -#define SOUND_MIXER_INFO 908,34341 -#define SOUND_OLD_MIXER_INFO 909,34396 -typedef unsigned char mixer_record[mixer_record917,34714 -#define SOUND_MIXER_ACCESS 919,34756 -#define SOUND_MIXER_AGC 924,34867 -#define SOUND_MIXER_3DSE 925,34914 -#define SOUND_MIXER_PRIVATE1 931,35117 -#define SOUND_MIXER_PRIVATE2 932,35169 -#define SOUND_MIXER_PRIVATE3 933,35221 -#define SOUND_MIXER_PRIVATE4 934,35273 -#define SOUND_MIXER_PRIVATE5 935,35325 -typedef struct mixer_vol_table mixer_vol_table945,35689 -} mixer_vol_table;mixer_vol_table949,35796 -#define SOUND_MIXER_GETLEVELS 951,35816 -#define SOUND_MIXER_SETLEVELS 952,35881 -#define OSS_GETVERSION 960,36197 -#define EV_SEQ_LOCAL 980,36720 -#define EV_TIMING 981,36747 -#define EV_CHN_COMMON 982,36771 -#define EV_CHN_VOICE 983,36799 -#define EV_SYSEX 984,36826 -#define MIDI_NOTEOFF 994,37012 -#define MIDI_NOTEON 995,37039 -#define MIDI_KEY_PRESSURE 996,37065 -#define MIDI_CTL_CHANGE 1002,37144 -#define MIDI_PGM_CHANGE 1003,37174 -#define MIDI_CHN_PRESSURE 1004,37204 -#define MIDI_PITCH_BEND 1005,37235 -#define MIDI_SYSTEM_PREFIX 1007,37266 -#define TMR_WAIT_REL 1012,37327 -#define TMR_WAIT_ABS 1013,37388 -#define TMR_STOP 1014,37448 -#define TMR_START 1015,37468 -#define TMR_CONTINUE 1016,37489 -#define TMR_TEMPO 1017,37513 -#define TMR_ECHO 1018,37534 -#define TMR_CLOCK 1019,37554 -#define TMR_SPP 1020,37592 -#define TMR_TIMESIG 1021,37641 -#define LOCL_STARTAUDIO 1026,37715 -#define SEQ_DECLAREBUF(SEQ_DECLAREBUF1035,38024 -#define SEQ_PM_DEFINES 1050,38760 -# define SEQ_USE_EXTBUF(SEQ_USE_EXTBUF1052,38814 -# define SEQ_DEFINEBUF(SEQ_DEFINEBUF1055,38924 -# define _SEQ_ADVBUF(_SEQ_ADVBUF1056,39006 -# define _SEQ_NEEDBUF(_SEQ_NEEDBUF1057,39081 -# define SEQ_DUMPBUF(SEQ_DUMPBUF1058,39158 -# define SEQ_LOAD_GMINSTR(SEQ_LOAD_GMINSTR1060,39227 -# define SEQ_LOAD_GMDRUM(SEQ_LOAD_GMDRUM1062,39332 -# define SEQ_LOAD_GMINSTR(SEQ_LOAD_GMINSTR1066,39454 -# define SEQ_LOAD_GMDRUM(SEQ_LOAD_GMDRUM1067,39493 -# define SEQ_USE_EXTBUF(SEQ_USE_EXTBUF1069,39531 -#define SEQ_DEFINEBUF(SEQ_DEFINEBUF1093,40046 -#define _SEQ_NEEDBUF(_SEQ_NEEDBUF1094,40142 -#define _SEQ_ADVBUF(_SEQ_ADVBUF1095,40220 -#define SEQ_DUMPBUF 1096,40264 -#define _SEQ_NEEDBUF(_SEQ_NEEDBUF1112,40831 -#define SEQ_VOLUME_MODE(SEQ_VOLUME_MODE1116,40898 -#define _CHN_VOICE(_CHN_VOICE1131,41298 -#define SEQ_START_NOTE(SEQ_START_NOTE1143,41694 -#define SEQ_STOP_NOTE(SEQ_STOP_NOTE1146,41788 -#define SEQ_KEY_PRESSURE(SEQ_KEY_PRESSURE1149,41882 -#define _CHN_COMMON(_CHN_COMMON1156,42027 -#define SEQ_SYSEX(SEQ_SYSEX1181,43207 -#define SEQ_CHN_PRESSURE(SEQ_CHN_PRESSURE1194,43585 -#define SEQ_SET_PATCH 1197,43692 -# define SEQ_PGM_CHANGE(SEQ_PGM_CHANGE1199,43743 -# define SEQ_PGM_CHANGE(SEQ_PGM_CHANGE1203,43920 -#define SEQ_CONTROL(SEQ_CONTROL1207,44027 -#define SEQ_BENDER(SEQ_BENDER1210,44142 -#define SEQ_V2_X_CONTROL(SEQ_V2_X_CONTROL1214,44236 -#define SEQ_PITCHBEND(SEQ_PITCHBEND1228,44812 -#define SEQ_BENDER_RANGE(SEQ_BENDER_RANGE1229,44908 -#define SEQ_EXPRESSION(SEQ_EXPRESSION1230,45013 -#define SEQ_MAIN_VOLUME(SEQ_MAIN_VOLUME1231,45106 -#define SEQ_PANNING(SEQ_PANNING1232,45209 -#define _TIMER_EVENT(_TIMER_EVENT1238,45339 -#define SEQ_START_TIMER(SEQ_START_TIMER1246,45618 -#define SEQ_STOP_TIMER(SEQ_STOP_TIMER1247,45672 -#define SEQ_CONTINUE_TIMER(SEQ_CONTINUE_TIMER1248,45724 -#define SEQ_WAIT_TIME(SEQ_WAIT_TIME1249,45784 -#define SEQ_DELTA_TIME(SEQ_DELTA_TIME1250,45848 -#define SEQ_ECHO_BACK(SEQ_ECHO_BACK1251,45913 -#define SEQ_SET_TEMPO(SEQ_SET_TEMPO1252,45969 -#define SEQ_SONGPOS(SEQ_SONGPOS1253,46030 -#define SEQ_TIME_SIGNATURE(SEQ_TIME_SIGNATURE1254,46083 -#define _LOCAL_EVENT(_LOCAL_EVENT1260,46180 -#define SEQ_PLAYAUDIO(SEQ_PLAYAUDIO1268,46462 -#define SEQ_MIDIOUT(SEQ_MIDIOUT1273,46583 -# define SEQ_WRPATCH(SEQ_WRPATCH1284,46851 -# define SEQ_WRPATCH2(SEQ_WRPATCH21286,46936 -# define SEQ_WRPATCH(SEQ_WRPATCH1289,47029 -# define SEQ_WRPATCH2(SEQ_WRPATCH21293,47197 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ext3_fs.h,9680 -#define _LINUX_EXT3_FS_H17,332 -#define EXT3_DEFAULT_RESERVE_BLOCKS 38,677 -#define EXT3_MAX_RESERVE_BLOCKS 39,719 -#define EXT3_RESERVE_WINDOW_NOT_ALLOCATED 40,764 -#define CONFIG_EXT3_INDEX44,851 -#define ext3_debug(ext3_debug50,919 -#define ext3_debug(ext3_debug57,1119 -#define EXT3_BAD_INO 63,1204 -#define EXT3_ROOT_INO 64,1252 -#define EXT3_BOOT_LOADER_INO 65,1295 -#define EXT3_UNDEL_DIR_INO 66,1351 -#define EXT3_RESIZE_INO 67,1412 -#define EXT3_JOURNAL_INO 68,1479 -#define EXT3_GOOD_OLD_FIRST_INO 71,1584 -#define EXT3_SUPER_MAGIC 76,1675 -#define EXT3_LINK_MAX 81,1751 -#define EXT3_MIN_BLOCK_SIZE 86,1845 -#define EXT3_MAX_BLOCK_SIZE 87,1879 -#define EXT3_MIN_BLOCK_LOG_SIZE 88,1913 -# define EXT3_BLOCK_SIZE(EXT3_BLOCK_SIZE90,1969 -# define EXT3_BLOCK_SIZE(EXT3_BLOCK_SIZE92,2023 -#define EXT3_ADDR_PER_BLOCK(EXT3_ADDR_PER_BLOCK94,2106 -# define EXT3_BLOCK_SIZE_BITS(EXT3_BLOCK_SIZE_BITS96,2194 -# define EXT3_BLOCK_SIZE_BITS(EXT3_BLOCK_SIZE_BITS98,2257 -#define EXT3_ADDR_PER_BLOCK_BITS(EXT3_ADDR_PER_BLOCK_BITS101,2344 -#define EXT3_INODE_SIZE(EXT3_INODE_SIZE102,2416 -#define EXT3_FIRST_INO(EXT3_FIRST_INO103,2471 -#define EXT3_INODE_SIZE(EXT3_INODE_SIZE105,2530 -#define EXT3_FIRST_INO(EXT3_FIRST_INO108,2660 -#define EXT3_MIN_FRAG_SIZE 116,2849 -#define EXT3_MAX_FRAG_SIZE 117,2882 -#define EXT3_MIN_FRAG_LOG_SIZE 118,2915 -# define EXT3_FRAG_SIZE(EXT3_FRAG_SIZE120,2970 -# define EXT3_FRAGS_PER_BLOCK(EXT3_FRAGS_PER_BLOCK121,3024 -# define EXT3_FRAG_SIZE(EXT3_FRAG_SIZE123,3095 -# define EXT3_FRAGS_PER_BLOCK(EXT3_FRAGS_PER_BLOCK124,3168 -struct ext3_group_descext3_group_desc130,3299 -# define EXT3_BLOCKS_PER_GROUP(EXT3_BLOCKS_PER_GROUP146,3761 -# define EXT3_DESC_PER_BLOCK(EXT3_DESC_PER_BLOCK147,3828 -# define EXT3_INODES_PER_GROUP(EXT3_INODES_PER_GROUP148,3892 -# define EXT3_DESC_PER_BLOCK_BITS(EXT3_DESC_PER_BLOCK_BITS149,3959 -# define EXT3_BLOCKS_PER_GROUP(EXT3_BLOCKS_PER_GROUP151,4038 -# define EXT3_DESC_PER_BLOCK(EXT3_DESC_PER_BLOCK152,4098 -# define EXT3_INODES_PER_GROUP(EXT3_INODES_PER_GROUP153,4186 -#define EXT3_NDIR_BLOCKS 159,4302 -#define EXT3_IND_BLOCK 160,4331 -#define EXT3_DIND_BLOCK 161,4373 -#define EXT3_TIND_BLOCK 162,4420 -#define EXT3_N_BLOCKS 163,4468 -#define EXT3_SECRM_FL 168,4537 -#define EXT3_UNRM_FL 169,4594 -#define EXT3_COMPR_FL 170,4643 -#define EXT3_SYNC_FL 171,4698 -#define EXT3_IMMUTABLE_FL 172,4758 -#define EXT3_APPEND_FL 173,4817 -#define EXT3_NODUMP_FL 174,4890 -#define EXT3_NOATIME_FL 175,4949 -#define EXT3_DIRTY_FL 177,5052 -#define EXT3_COMPRBLK_FL 178,5087 -#define EXT3_NOCOMPR_FL 179,5162 -#define EXT3_ECOMPR_FL 180,5220 -#define EXT3_INDEX_FL 182,5331 -#define EXT3_IMAGIC_FL 183,5395 -#define EXT3_JOURNAL_DATA_FL 184,5451 -#define EXT3_NOTAIL_FL 185,5528 -#define EXT3_DIRSYNC_FL 186,5601 -#define EXT3_TOPDIR_FL 187,5681 -#define EXT3_RESERVED_FL 188,5751 -#define EXT3_FL_USER_VISIBLE 190,5817 -#define EXT3_FL_USER_MODIFIABLE 191,5883 -#define EXT3_STATE_JDATA 196,5992 -#define EXT3_STATE_NEW 197,6057 -struct ext3_new_group_input ext3_new_group_input201,6192 -struct ext3_new_group_data ext3_new_group_data212,6728 -#define EXT3_IOC_GETFLAGS 227,6949 -#define EXT3_IOC_SETFLAGS 228,6995 -#define EXT3_IOC_GETVERSION 229,7041 -#define EXT3_IOC_SETVERSION 230,7089 -#define EXT3_IOC_GROUP_EXTEND 231,7137 -#define EXT3_IOC_GROUP_ADD 232,7196 -#define EXT3_IOC_GETVERSION_OLD 233,7265 -#define EXT3_IOC_SETVERSION_OLD 234,7317 -#define EXT3_IOC_WAIT_FOR_READONLY 236,7393 -#define EXT3_IOC_GETRSVSZ 238,7455 -#define EXT3_IOC_SETRSVSZ 239,7501 -struct ext3_inode ext3_inode244,7592 -#define i_size_high 298,9067 -#define i_reserved1 301,9144 -#define i_frag 302,9190 -#define i_fsize 303,9227 -#define i_uid_low 304,9266 -#define i_gid_low 305,9290 -#define i_uid_high 306,9314 -#define i_gid_high 307,9358 -#define i_reserved2 308,9402 -#define i_translator 312,9473 -#define i_frag 313,9520 -#define i_fsize 314,9557 -#define i_uid_high 315,9596 -#define i_gid_high 316,9639 -#define i_author 317,9682 -#define i_reserved1 321,9748 -#define i_frag 322,9794 -#define i_fsize 323,9831 -#define i_reserved2 324,9870 -#define EXT3_VALID_FS 331,10002 -#define EXT3_ERROR_FS 332,10057 -#define EXT3_ORPHAN_FS 333,10110 -#define EXT3_MOUNT_CHECK 338,10195 -#define EXT3_MOUNT_OLDALLOC 339,10256 -#define EXT3_MOUNT_GRPID 340,10334 -#define EXT3_MOUNT_DEBUG 341,10410 -#define EXT3_MOUNT_ERRORS_CONT 342,10474 -#define EXT3_MOUNT_ERRORS_RO 343,10539 -#define EXT3_MOUNT_ERRORS_PANIC 344,10607 -#define EXT3_MOUNT_MINIX_DF 345,10670 -#define EXT3_MOUNT_NOLOAD 346,10737 -#define EXT3_MOUNT_ABORT 347,10804 -#define EXT3_MOUNT_DATA_FLAGS 348,10865 -#define EXT3_MOUNT_JOURNAL_DATA 349,10932 -#define EXT3_MOUNT_ORDERED_DATA 350,11001 -#define EXT3_MOUNT_WRITEBACK_DATA 351,11073 -#define EXT3_MOUNT_UPDATE_JOURNAL 352,11138 -#define EXT3_MOUNT_NO_UID32 353,11212 -#define EXT3_MOUNT_XATTR_USER 354,11276 -#define EXT3_MOUNT_POSIX_ACL 355,11346 -#define EXT3_MOUNT_BARRIER 356,11417 -#define EXT3_MOUNT_RESERVATION 357,11478 -#define clear_opt(clear_opt361,11642 -#define set_opt(set_opt362,11692 -#define test_opt(test_opt363,11740 -#define EXT2_MOUNT_NOLOAD 366,11827 -#define EXT2_MOUNT_ABORT 367,11872 -#define EXT2_MOUNT_DATA_FLAGS 368,11915 -#define ext3_set_bit 371,11976 -#define ext3_set_bit_atomic 372,12012 -#define ext3_clear_bit 373,12061 -#define ext3_clear_bit_atomic 374,12101 -#define ext3_test_bit 375,12154 -#define ext3_find_first_zero_bit 376,12192 -#define ext3_find_next_zero_bit 377,12250 -#define EXT3_DFL_MAX_MNT_COUNT 382,12369 -#define EXT3_DFL_CHECKINTERVAL 383,12426 -#define EXT3_ERRORS_CONTINUE 388,12534 -#define EXT3_ERRORS_RO 389,12591 -#define EXT3_ERRORS_PANIC 390,12645 -#define EXT3_ERRORS_DEFAULT 391,12686 -struct ext3_super_block ext3_super_block396,12776 -static inline struct ext3_sb_info * EXT3_SB(469,16169 -static inline struct ext3_inode_info *EXT3_I(473,16264 -#define EXT3_SB(EXT3_SB481,16585 -#define NEXT_ORPHAN(NEXT_ORPHAN484,16618 -#define EXT3_OS_LINUX 489,16707 -#define EXT3_OS_HURD 490,16732 -#define EXT3_OS_MASIX 491,16756 -#define EXT3_OS_FREEBSD 492,16781 -#define EXT3_OS_LITES 493,16808 -#define EXT3_GOOD_OLD_REV 498,16860 -#define EXT3_DYNAMIC_REV 499,16925 -#define EXT3_CURRENT_REV 501,16992 -#define EXT3_MAX_SUPP_REV 502,17035 -#define EXT3_GOOD_OLD_INODE_SIZE 504,17079 -#define EXT3_HAS_COMPAT_FEATURE(EXT3_HAS_COMPAT_FEATURE510,17152 -#define EXT3_HAS_RO_COMPAT_FEATURE(EXT3_HAS_RO_COMPAT_FEATURE512,17258 -#define EXT3_HAS_INCOMPAT_FEATURE(EXT3_HAS_INCOMPAT_FEATURE514,17370 -#define EXT3_SET_COMPAT_FEATURE(EXT3_SET_COMPAT_FEATURE516,17480 -#define EXT3_SET_RO_COMPAT_FEATURE(EXT3_SET_RO_COMPAT_FEATURE518,17583 -#define EXT3_SET_INCOMPAT_FEATURE(EXT3_SET_INCOMPAT_FEATURE520,17692 -#define EXT3_CLEAR_COMPAT_FEATURE(EXT3_CLEAR_COMPAT_FEATURE522,17799 -#define EXT3_CLEAR_RO_COMPAT_FEATURE(EXT3_CLEAR_RO_COMPAT_FEATURE524,17905 -#define EXT3_CLEAR_INCOMPAT_FEATURE(EXT3_CLEAR_INCOMPAT_FEATURE526,18017 -#define EXT3_FEATURE_COMPAT_DIR_PREALLOC 529,18128 -#define EXT3_FEATURE_COMPAT_IMAGIC_INODES 530,18176 -#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 531,18225 -#define EXT3_FEATURE_COMPAT_EXT_ATTR 532,18273 -#define EXT3_FEATURE_COMPAT_RESIZE_INODE 533,18318 -#define EXT3_FEATURE_COMPAT_DIR_INDEX 534,18366 -#define EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER 536,18413 -#define EXT3_FEATURE_RO_COMPAT_LARGE_FILE 537,18464 -#define EXT3_FEATURE_RO_COMPAT_BTREE_DIR 538,18513 -#define EXT3_FEATURE_INCOMPAT_COMPRESSION 540,18562 -#define EXT3_FEATURE_INCOMPAT_FILETYPE 541,18611 -#define EXT3_FEATURE_INCOMPAT_RECOVER 542,18658 -#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 543,18725 -#define EXT3_FEATURE_INCOMPAT_META_BG 544,18795 -#define EXT3_FEATURE_COMPAT_SUPP 546,18842 -#define EXT3_FEATURE_INCOMPAT_SUPP 547,18904 -#define EXT3_FEATURE_RO_COMPAT_SUPP 550,19050 -#define EXT3_DEF_RESUID 557,19279 -#define EXT3_DEF_RESGID 558,19306 -#define EXT3_DEFM_DEBUG 563,19366 -#define EXT3_DEFM_BSDGROUPS 564,19398 -#define EXT3_DEFM_XATTR_USER 565,19433 -#define EXT3_DEFM_ACL 566,19469 -#define EXT3_DEFM_UID16 567,19499 -#define EXT3_DEFM_JMODE 568,19531 -#define EXT3_DEFM_JMODE_DATA 569,19563 -#define EXT3_DEFM_JMODE_ORDERED 570,19599 -#define EXT3_DEFM_JMODE_WBACK 571,19638 -#define EXT3_NAME_LEN 576,19717 -struct ext3_dir_entry ext3_dir_entry578,19744 -struct ext3_dir_entry_2 ext3_dir_entry_2591,20171 -#define EXT3_FT_UNKNOWN 603,20488 -#define EXT3_FT_REG_FILE 604,20515 -#define EXT3_FT_DIR 605,20542 -#define EXT3_FT_CHRDEV 606,20565 -#define EXT3_FT_BLKDEV 607,20591 -#define EXT3_FT_FIFO 608,20617 -#define EXT3_FT_SOCK 609,20641 -#define EXT3_FT_SYMLINK 610,20665 -#define EXT3_FT_MAX 612,20693 -#define EXT3_DIR_PAD 619,20820 -#define EXT3_DIR_ROUND 620,20845 -#define EXT3_DIR_REC_LEN(EXT3_DIR_REC_LEN621,20889 - #define is_dx(is_dx629,21080 -#define EXT3_DIR_LINK_MAX(EXT3_DIR_LINK_MAX632,21234 -#define EXT3_DIR_LINK_EMPTY(EXT3_DIR_LINK_EMPTY633,21314 - #define is_dx(is_dx635,21398 -#define EXT3_DIR_LINK_MAX(EXT3_DIR_LINK_MAX636,21421 -#define EXT3_DIR_LINK_EMPTY(EXT3_DIR_LINK_EMPTY637,21486 -#define DX_HASH_LEGACY 642,21605 -#define DX_HASH_HALF_MD4 643,21631 -#define DX_HASH_TEA 644,21658 -struct dx_hash_infodx_hash_info647,21735 -#define EXT3_HTREE_EOF 655,21824 -#define HASH_NB_ALWAYS 661,21936 -struct ext3_ilocext3_iloc667,22031 -static inline struct ext3_inode *ext3_raw_inode(674,22130 -struct dir_private_info dir_private_info684,22462 -#define ERR_BAD_DX_DIR 697,22729 -# define NORET_TYPE 707,22942 -# define ATTRIB_NORET 708,22970 -# define NORET_AND 709,23019 -extern void ext3_error 789,26435 -#define ext3_std_error(ext3_std_error807,27426 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isapnp.h,1662 -#define LINUX_ISAPNP_H23,840 -#define ISAPNP_CFG_ACTIVATE 33,1008 -#define ISAPNP_CFG_MEM 34,1053 -#define ISAPNP_CFG_PORT 35,1099 -#define ISAPNP_CFG_IRQ 36,1145 -#define ISAPNP_CFG_DMA 37,1190 -#define ISAPNP_VENDOR(ISAPNP_VENDOR43,1247 -#define ISAPNP_DEVICE(ISAPNP_DEVICE46,1384 -#define ISAPNP_FUNCTION(ISAPNP_FUNCTION50,1504 -#define DEVICE_COUNT_COMPATIBLE 58,1579 -#define ISAPNP_ANY_ID 60,1614 -#define ISAPNP_CARD_DEVS 61,1644 -#define ISAPNP_CARD_ID(ISAPNP_CARD_ID63,1672 -#define ISAPNP_CARD_END 65,1806 -#define ISAPNP_DEVICE_ID(ISAPNP_DEVICE_ID67,1869 -#define ISAPNP_CARD_TABLE(ISAPNP_CARD_TABLE71,2045 -struct isapnp_card_id isapnp_card_id74,2122 -#define ISAPNP_DEVICE_SINGLE(ISAPNP_DEVICE_SINGLE82,2347 -#define ISAPNP_DEVICE_SINGLE_END 85,2614 -struct isapnp_device_id isapnp_device_id88,2687 -#define __ISAPNP__96,2936 -static inline int isapnp_proc_init(118,3706 -static inline int isapnp_proc_done(119,3761 -static inline int isapnp_present(137,4205 -static inline int isapnp_cfg_begin(138,4258 -static inline int isapnp_cfg_end(139,4334 -static inline unsigned char isapnp_read_byte(140,4393 -static inline unsigned short isapnp_read_word(141,4474 -static inline unsigned int isapnp_read_dword(142,4558 -static inline void isapnp_write_byte(143,4645 -static inline void isapnp_write_word(144,4726 -static inline void isapnp_write_dword(145,4808 -static inline void isapnp_wake(146,4889 -static inline void isapnp_device(147,4945 -static inline void isapnp_activate(148,5006 -static inline void isapnp_deactivate(149,5069 -static inline struct pnp_card *pnp_find_card(151,5135 -static inline struct pnp_dev *pnp_find_dev(154,5286 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/tty_flip.h,161 -#define _LINUX_TTY_FLIP_H2,26 -#define _INLINE_ 5,81 -#define _INLINE_ 7,111 -_INLINE_ void tty_insert_flip_char(10,154 -_INLINE_ void tty_schedule_flip(20,391 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/vmalloc.h,138 -#define _LINUX_VMALLOC_H2,25 -#define VM_IOREMAP 8,149 -#define VM_ALLOC 9,207 -#define VM_MAP 10,251 -struct vm_struct vm_struct12,300 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/errqueue.h,350 -#define _LINUX_ERRQUEUE_H 2,26 -struct sock_extended_errsock_extended_err4,55 -#define SO_EE_ORIGIN_NONE 15,201 -#define SO_EE_ORIGIN_LOCAL 16,229 -#define SO_EE_ORIGIN_ICMP 17,258 -#define SO_EE_ORIGIN_ICMP6 18,286 -#define SO_EE_OFFENDER(SO_EE_OFFENDER20,316 -#define SKB_EXT_ERR(SKB_EXT_ERR30,527 -struct sock_exterr_skbsock_exterr_skb32,594 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/user.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/usb_gadgetfs.h,360 -enum usb_gadgetfs_event_type usb_gadgetfs_event_type29,1058 - GADGETFS_NOP 30,1089 - GADGETFS_CONNECT,32,1109 - GADGETFS_DISCONNECT,33,1128 - GADGETFS_SETUP,34,1150 - GADGETFS_SUSPEND,35,1167 -struct usb_gadgetfs_event usb_gadgetfs_event39,1212 -#define GADGETFS_FIFO_STATUS 65,2051 -#define GADGETFS_FIFO_FLUSH 68,2139 -#define GADGETFS_CLEAR_HALT 73,2299 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/uinput.h,653 -#define __UINPUT_H_2,20 -#define UINPUT_MINOR 29,1018 -#define UINPUT_NAME 30,1044 -#define UINPUT_BUFFER_SIZE 31,1074 -#define UIST_CREATED 34,1165 -struct uinput_device uinput_device36,1190 -#define UINPUT_IOCTL_BASE 48,1415 -#define UI_DEV_CREATE 49,1445 -#define UI_DEV_DESTROY 50,1494 -#define UI_SET_EVBIT 51,1544 -#define UI_SET_KEYBIT 52,1600 -#define UI_SET_RELBIT 53,1657 -#define UI_SET_ABSBIT 54,1714 -#define UI_SET_MSCBIT 55,1771 -#define UI_SET_LEDBIT 56,1828 -#define UI_SET_SNDBIT 57,1885 -#define UI_SET_FFBIT 58,1942 -#define NBITS(NBITS61,2013 -#define UINPUT_MAX_NAME_SIZE 64,2081 -struct uinput_user_dev uinput_user_dev65,2113 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/efs_dir.h,395 -#define __EFS_DIR_H__8,77 -#define EFS_DIRBSIZE_BITS 10,100 -#define EFS_DIRBSIZE 11,145 -struct efs_dentry efs_dentry13,193 -#define EFS_DENTSIZE 19,273 -#define EFS_MAXNAMELEN 20,330 -#define EFS_DIRBLK_HEADERSIZE 22,387 -#define EFS_DIRBLK_MAGIC 23,419 -struct efs_dir efs_dir25,462 -#define EFS_MAXENTS 33,607 -#define EFS_SLOTAT(EFS_SLOTAT37,708 -#define EFS_REALOFF(EFS_REALOFF39,771 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smp.h,788 -#define __LINUX_SMP_H2,22 -static inline int on_each_cpu(60,1041 -#define MSG_ALL_BUT_SELF 77,1358 -#define MSG_ALL 78,1416 -#define MSG_INVALIDATE_TLB 80,1442 -#define MSG_STOP_CPU 81,1514 -#define MSG_RESCHEDULE 84,1608 -#define MSG_CALL_FUNCTION 85,1679 -#define smp_processor_id(smp_processor_id99,2011 -#define hard_smp_processor_id(hard_smp_processor_id100,2042 -#define smp_threads_ready 101,2078 -#define smp_call_function(smp_call_function102,2108 -#define on_each_cpu(on_each_cpu103,2165 -static inline void smp_send_reschedule(104,2228 -#define num_booting_cpus(num_booting_cpus105,2280 -#define smp_prepare_boot_cpu(smp_prepare_boot_cpu106,2311 -#define get_cpu(get_cpu110,2380 -#define put_cpu(put_cpu111,2444 -#define put_cpu_no_resched(put_cpu_no_resched112,2480 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/iso_fs.h,1528 -#define _ISOFS_FS_H3,21 -#define ISODCL(ISODCL11,167 -struct iso_volume_descriptor iso_volume_descriptor13,209 -#define ISO_VD_PRIMARY 21,388 -#define ISO_VD_SUPPLEMENTARY 22,413 -#define ISO_VD_END 23,444 -#define ISO_STANDARD_ID 25,468 -struct iso_primary_descriptor iso_primary_descriptor27,501 -struct iso_supplementary_descriptor iso_supplementary_descriptor64,2349 -#define HS_STANDARD_ID 101,4144 -struct hs_volume_descriptor hs_volume_descriptor103,4176 -struct hs_primary_descriptor hs_primary_descriptor112,4408 -struct iso_path_table{iso_path_table134,5362 -struct iso_directory_record iso_directory_record144,5656 -#define ISOFS_BLOCK_BITS 158,6200 -#define ISOFS_BLOCK_SIZE 159,6228 -#define ISOFS_BUFFER_SIZE(ISOFS_BUFFER_SIZE161,6259 -#define ISOFS_BUFFER_BITS(ISOFS_BUFFER_BITS162,6321 -#define ISOFS_SUPER_MAGIC 164,6389 -static inline struct isofs_sb_info *ISOFS_SB(175,6646 -static inline struct iso_inode_info *ISOFS_I(180,6743 -static inline int isonum_711(185,6877 -static inline int isonum_712(189,6937 -static inline unsigned int isonum_721(193,6997 -static inline unsigned int isonum_722(197,7097 -static inline unsigned int isonum_723(201,7197 -static inline unsigned int isonum_731(206,7360 -static inline unsigned int isonum_732(210,7460 -static inline unsigned int isonum_733(214,7560 -static inline unsigned long isofs_get_ino(242,8910 -isofs_normalize_block_and_offset(281,10849 -#define free_s 300,11462 -#define malloc 301,11495 -#define sb_bread 302,11528 -#define brelse 303,11562 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/prefetch.h,239 -#define _LINUX_PREFETCH_H11,266 -static inline void prefetch(43,1137 -static inline void prefetchw(47,1219 -#define spin_lock_prefetch(spin_lock_prefetch51,1310 -#define PREFETCH_STRIDE 55,1385 -static inline void prefetch_range(58,1436 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/securebits.h,171 -#define _LINUX_SECUREBITS_H 2,28 -#define SECUREBITS_DEFAULT 4,59 -#define SECURE_NOROOT 14,494 -#define SECURE_NO_SETUID_FIXUP 19,730 -#define issecure(issecure26,1001 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/smb_fs.h,1631 -#define _LINUX_SMB_FS_H10,156 -#define SMB_IOC_GETMOUNTUID 20,309 -#define SMB_IOC_NEWCONN 21,371 -#define SMB_IOC_GETMOUNTUID32 24,520 -static inline struct smb_sb_info *SMB_SB(34,714 -static inline struct smb_inode_info *SMB_I(39,807 -#define WVAL(WVAL45,1005 -#define DVAL(DVAL47,1089 -#define LVAL(LVAL49,1173 -#define WSET(WSET51,1257 -#define DSET(DSET53,1355 -#define LSET(LSET55,1453 -#define smb_base(smb_base59,1606 -smb_vmalloc(70,1820 -smb_vfree(78,1968 -smb_kmalloc(85,2071 -smb_kfree(93,2210 -#define smb_kmalloc(smb_kmalloc101,2308 -#define smb_kfree(smb_kfree102,2346 -#define smb_vmalloc(smb_vmalloc103,2377 -#define smb_vfree(smb_vfree104,2412 -#define SMB_F_LOCALWRITE 111,2515 -#define SMB_CAP_RAW_MODE 115,2610 -#define SMB_CAP_MPX_MODE 116,2654 -#define SMB_CAP_UNICODE 117,2698 -#define SMB_CAP_LARGE_FILES 118,2742 -#define SMB_CAP_NT_SMBS 119,2786 -#define SMB_CAP_RPC_REMOTE_APIS 120,2830 -#define SMB_CAP_STATUS32 121,2874 -#define SMB_CAP_LEVEL_II_OPLOCKS 122,2918 -#define SMB_CAP_LOCK_AND_READ 123,2962 -#define SMB_CAP_NT_FIND 124,3006 -#define SMB_CAP_DFS 125,3050 -#define SMB_CAP_LARGE_READX 126,3094 -#define SMB_CAP_LARGE_WRITEX 127,3138 -#define SMB_CAP_UNIX 128,3182 -#define SMB_MAX_AGE(SMB_MAX_AGE136,3475 -smb_age_dentry(139,3558 -struct smb_cache_head smb_cache_head144,3678 -#define SMB_DIRCACHE_SIZE 151,3834 -union smb_dir_cache smb_dir_cache152,3909 -#define SMB_FIRSTCACHE_SIZE 157,4019 -#define SMB_DIRCACHE_START 161,4167 -struct smb_cache_control smb_cache_control163,4242 -#define SMB_OPS_NUM_STATIC 171,4415 -struct smb_ops smb_ops172,4444 -smb_is_open(196,5203 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/cache.h,340 -#define NFSCACHE_H11,215 -struct svc_cacherep svc_cacherep21,408 -#define c_replvec 41,885 -#define c_replstat 42,914 - RC_UNUSED,46,980 - RC_INPROG,47,992 - RC_DONE48,1004 - RC_DROPIT,53,1044 - RC_REPLY,54,1056 - RC_DOIT,55,1067 - RC_INTR56,1077 - RC_NOCACHE,66,1296 - RC_REPLSTAT,67,1309 - RC_REPLBUFF,68,1323 -#define RC_DELAY 74,1420 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/xdr.h,890 -#define LINUX_NFSD_H8,123 -struct nfsd_fhandle nfsd_fhandle14,214 -struct nfsd_sattrargs nfsd_sattrargs18,260 -struct nfsd_diropargs nfsd_diropargs23,330 -struct nfsd_readargs nfsd_readargs29,406 -struct nfsd_writeargs nfsd_writeargs37,535 -struct nfsd_createargs nfsd_createargs45,655 -struct nfsd_renameargs nfsd_renameargs52,754 -struct nfsd_readlinkargs nfsd_readlinkargs61,885 -struct nfsd_linkargs nfsd_linkargs66,955 -struct nfsd_symlinkargs nfsd_symlinkargs73,1054 -struct nfsd_readdirargs nfsd_readdirargs82,1187 -struct nfsd_attrstat nfsd_attrstat89,1287 -struct nfsd_diropres nfsd_diropres93,1334 -struct nfsd_readlinkres nfsd_readlinkres97,1382 -struct nfsd_readres nfsd_readres101,1424 -struct nfsd_readdirres nfsd_readdirres106,1493 -struct nfsd_statfsres nfsd_statfsres115,1613 -union nfsd_xdrstore nfsd_xdrstore122,1727 -#define NFS2_SVC_XDRSIZE 134,2031 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/interface.h,38 -#define LINUX_NFSD_INTERFACE_H11,243 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/state.h,943 -#define _NFSD4_STATE_H38,1722 -#define NFS4_OPAQUE_LIMIT 43,1802 -} clientid_t;clientid_t47,1900 -} stateid_opaque_t;stateid_opaque_t53,2020 -} stateid_t;stateid_t58,2134 -#define si_boot 59,2147 -#define si_stateownerid 60,2191 -#define si_fileid 61,2243 -#define ZERO_STATEID(ZERO_STATEID66,2350 -#define ONE_STATEID(ONE_STATEID67,2440 -struct nfs4_callback nfs4_callback70,2568 -struct nfs4_client nfs4_client95,3362 -struct nfs4_client_reclaim nfs4_client_reclaim116,4341 -update_stateid(124,4612 -#define NFSD4_REPLAY_ISIZE 136,5007 -struct nfs4_replay nfs4_replay142,5141 -struct nfs4_stateowner nfs4_stateowner170,6258 -struct nfs4_file nfs4_file192,7233 -struct nfs4_stateid nfs4_stateid213,7987 -#define CHECK_FH 228,8540 -#define CONFIRM 229,8583 -#define OPEN_STATE 230,8626 -#define LOCK_STATE 231,8669 -#define RDWR_STATE 232,8712 -#define CLOSE_STATE 233,8755 -#define seqid_mutating_err(seqid_mutating_err235,8799 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/xdr3.h,1439 -#define _LINUX_NFSD_XDR3_H10,167 -struct nfsd3_sattrargs nfsd3_sattrargs14,224 -struct nfsd3_diropargs nfsd3_diropargs21,336 -struct nfsd3_accessargs nfsd3_accessargs27,413 -struct nfsd3_readargs nfsd3_readargs32,486 -struct nfsd3_writeargs nfsd3_writeargs40,616 -struct nfsd3_createargs nfsd3_createargs50,768 -struct nfsd3_mknodargs nfsd3_mknodargs59,904 -struct nfsd3_renameargs nfsd3_renameargs68,1042 -struct nfsd3_readlinkargs nfsd3_readlinkargs77,1174 -struct nfsd3_linkargs nfsd3_linkargs82,1244 -struct nfsd3_symlinkargs nfsd3_symlinkargs89,1344 -struct nfsd3_readdirargs nfsd3_readdirargs98,1478 -struct nfsd3_commitargs nfsd3_commitargs107,1615 -struct nfsd3_attrstat nfsd3_attrstat113,1698 -struct nfsd3_diropres nfsd3_diropres119,1807 -struct nfsd3_accessres nfsd3_accessres125,1896 -struct nfsd3_readlinkres nfsd3_readlinkres131,1979 -struct nfsd3_readres nfsd3_readres137,2061 -struct nfsd3_writeres nfsd3_writeres144,2160 -struct nfsd3_renameres nfsd3_renameres151,2266 -struct nfsd3_linkres nfsd3_linkres157,2354 -struct nfsd3_readdirres nfsd3_readdirres163,2439 -struct nfsd3_fsstatres nfsd3_fsstatres178,2660 -struct nfsd3_fsinfores nfsd3_fsinfores184,2749 -struct nfsd3_pathconfres nfsd3_pathconfres197,2973 -struct nfsd3_commitres nfsd3_commitres207,3170 -struct nfsd3_fhandle_pair nfsd3_fhandle_pair213,3265 -union nfsd3_xdrstore nfsd3_xdrstore222,3417 -#define NFS3_SVC_XDRSIZE 246,4203 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/auth.h,177 -#define LINUX_NFSD_AUTH_H11,207 -#define nfsd_luid(nfsd_luid15,253 -#define nfsd_lgid(nfsd_lgid16,293 -#define nfsd_ruid(nfsd_ruid17,333 -#define nfsd_rgid(nfsd_rgid18,373 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/nfsfh.h,1089 -#define _LINUX_NFSD_FH_H15,431 -struct nfs_fhbase_old nfs_fhbase_old33,836 -struct nfs_fhbase_new nfs_fhbase_new83,3106 -struct knfsd_fh knfsd_fh93,3343 -#define ofh_dcookie 105,3617 -#define ofh_ino 106,3664 -#define ofh_dirino 107,3704 -#define ofh_dev 108,3749 -#define ofh_xdev 109,3789 -#define ofh_xino 110,3830 -#define ofh_generation 111,3871 -#define fh_version 113,3925 -#define fh_fsid_type 114,3971 -#define fh_auth_type 115,4021 -#define fh_fileid_type 116,4071 -#define fh_auth 117,4125 -#define fh_fsid 118,4166 -static inline __u32 ino_t_to_u32(122,4227 -static inline ino_t u32_to_ino_t(127,4297 -typedef struct svc_fh svc_fh136,4518 -} svc_fh;svc_fh167,5666 -static inline void mk_fsid_v0(169,5677 -static inline void mk_fsid_v1(176,5830 -static inline void mk_fsid_v2(181,5905 -static inline void mk_fsid_v3(188,6067 -static inline int key_len(194,6200 -fh_copy(219,6715 -fh_init(232,7040 -fill_pre_wcc(244,7250 -fill_post_wcc(261,7589 -#define fill_pre_wcc(fill_pre_wcc289,8509 -#define fill_post_wcc(fill_post_wcc290,8539 -fh_lock(301,8822 -fh_unlock(329,9392 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/export.h,937 -#define NFSD_EXPORT_H11,227 -#define NFSCLNT_IDMAX 22,398 -#define NFSCLNT_ADDRMAX 23,426 -#define NFSCLNT_KEYMAX 24,454 -#define NFSEXP_READONLY 29,506 -#define NFSEXP_INSECURE_PORT 30,538 -#define NFSEXP_ROOTSQUASH 31,574 -#define NFSEXP_ALLSQUASH 32,607 -#define NFSEXP_ASYNC 33,639 -#define NFSEXP_GATHERED_WRITES 34,668 -#define NFSEXP_NOHIDE 36,739 -#define NFSEXP_NOSUBTREECHECK 37,769 -#define NFSEXP_NOAUTHNLM 38,806 -#define NFSEXP_MSNFS 39,890 -#define NFSEXP_FSID 40,964 -#define NFSEXP_CROSSMOUNT 41,992 -#define NFSEXP_NOACL 42,1025 -#define NFSEXP_ALLFLAGS 43,1098 -struct svc_export svc_export48,1151 -struct svc_expkey svc_expkey63,1543 -#define EX_SECURE(EX_SECURE73,1695 -#define EX_ISSYNC(EX_ISSYNC74,1763 -#define EX_RDONLY(EX_RDONLY75,1823 -#define EX_NOHIDE(EX_NOHIDE76,1883 -#define EX_WGATHER(EX_WGATHER77,1941 -static inline void exp_put(108,3041 -static inline void exp_get(113,3142 -exp_find(118,3252 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/stats.h,104 -#define LINUX_NFSD_STATS_H10,160 -struct nfsd_stats nfsd_stats12,188 -#define NFSD_USAGE_WRAP 33,1245 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/syscall.h,701 -#define NFSD_SYSCALL_H10,196 -#define NFSCTL_VERSION 27,540 -#define NFSCTL_SVC 32,629 -#define NFSCTL_ADDCLIENT 33,683 -#define NFSCTL_DELCLIENT 34,735 -#define NFSCTL_EXPORT 35,790 -#define NFSCTL_UNEXPORT 36,843 -#define NFSCTL_GETFD 39,1038 -#define NFSCTL_GETFS 40,1103 -struct nfsctl_svc nfsctl_svc43,1178 -struct nfsctl_client nfsctl_client49,1276 -struct nfsctl_export nfsctl_export59,1507 -struct nfsctl_fdparm nfsctl_fdparm70,1747 -struct nfsctl_fsparm nfsctl_fsparm77,1894 -struct nfsctl_arg nfsctl_arg86,2039 -#define ca_svc 102,2523 -#define ca_client 103,2547 -#define ca_export 104,2576 -#define ca_getfd 105,2605 -#define ca_getfs 106,2632 -union nfsctl_res nfsctl_res109,2663 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/nfsd.h,3162 -#define LINUX_NFSD_NFSD_H11,214 -#define NFSD_VERSION 29,599 -#define NFSD_SUPPORTED_MINOR_VERSION 30,627 -#define MAY_NOP 37,797 -#define MAY_SATTR 38,817 -#define MAY_TRUNC 39,838 -#define MAY_LOCK 40,860 -#define MAY_OWNER_OVERRIDE 41,881 -#define MAY_LOCAL_ACCESS 42,911 -#define MAY_CREATE 46,1241 -#define MAY_REMOVE 47,1282 -struct readdir_cd readdir_cd52,1374 -typedef int (*encode_dent_fn)encode_dent_fn55,1440 -typedef int (*nfsd_dirop_t)nfsd_dirop_t57,1547 -void static inline nfs4_state_init(137,4536 -void static inline nfs4_state_shutdown(138,4579 -time_t static inline nfs4_lease_time(139,4626 -void static inline nfs4_reset_lease(140,4680 -#define nfs_ok 153,4903 -#define nfserr_perm 154,4945 -#define nfserr_noent 155,4996 -#define nfserr_io 156,5049 -#define nfserr_nxio 157,5096 -#define nfserr_eagain 158,5147 -#define nfserr_acces 159,5202 -#define nfserr_exist 160,5255 -#define nfserr_xdev 161,5308 -#define nfserr_nodev 162,5359 -#define nfserr_notdir 163,5412 -#define nfserr_isdir 164,5467 -#define nfserr_inval 165,5520 -#define nfserr_fbig 166,5573 -#define nfserr_nospc 167,5624 -#define nfserr_rofs 168,5677 -#define nfserr_mlink 169,5728 -#define nfserr_opnotsupp 170,5781 -#define nfserr_nametoolong 171,5841 -#define nfserr_notempty 172,5905 -#define nfserr_dquot 173,5964 -#define nfserr_stale 174,6017 -#define nfserr_remote 175,6070 -#define nfserr_wflush 176,6125 -#define nfserr_badhandle 177,6180 -#define nfserr_notsync 178,6240 -#define nfserr_badcookie 179,6298 -#define nfserr_notsupp 180,6359 -#define nfserr_toosmall 181,6416 -#define nfserr_serverfault 182,6475 -#define nfserr_badtype 183,6539 -#define nfserr_jukebox 184,6596 -#define nfserr_denied 185,6653 -#define nfserr_deadlock 186,6708 -#define nfserr_expired 187,6767 -#define nfserr_bad_cookie 188,6832 -#define nfserr_same 189,6894 -#define nfserr_clid_inuse 190,6945 -#define nfserr_stale_clientid 191,7007 -#define nfserr_resource 192,7077 -#define nfserr_nofilehandle 193,7136 -#define nfserr_minor_vers_mismatch 194,7202 -#define nfserr_share_denied 195,7282 -#define nfserr_stale_stateid 196,7348 -#define nfserr_old_stateid 197,7416 -#define nfserr_bad_stateid 198,7480 -#define nfserr_bad_seqid 199,7544 -#define nfserr_symlink 200,7604 -#define nfserr_not_same 201,7661 -#define nfserr_restorefh 202,7720 -#define nfserr_attrnotsupp 203,7780 -#define nfserr_bad_xdr 204,7844 -#define nfserr_openmode 205,7901 -#define nfserr_locks_held 206,7960 -#define nfserr_op_illegal 207,8022 -#define nfserr_grace 208,8084 -#define nfserr_no_grace 209,8137 -#define nfserr_reclaim_bad 210,8196 -#define nfserr_badname 211,8260 -#define nfserr_dropit 217,8456 -#define nfserr_eof 219,8542 -#define isdotent(isdotent222,8628 -static inline int is_fsid(229,8771 -#define COMPOUND_SLACK_SPACE 258,9876 -#define COMPOUND_ERR_SLACK_SPACE 259,9928 -#define NFSD_LEASE_TIME 261,9986 -#define NFSD_LAUNDROMAT_MINTIMEOUT 262,10046 -#define NFSD_SUPPORTED_ATTRS_WORD0 275,10649 -#define NFSD_SUPPORTED_ATTRS_WORD1 287,11670 -#define NFSD_WRITEONLY_ATTRS_WORD1 296,12369 -#define NFSD_WRITEABLE_ATTRS_WORD0 300,12544 -#define NFSD_WRITEABLE_ATTRS_WORD1 302,12731 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/debug.h,486 -#define LINUX_NFSD_DEBUG_H10,166 -# define NFSD_DEBUG 19,304 -#define NFSDDBG_SOCK 25,363 -#define NFSDDBG_FH 26,392 -#define NFSDDBG_EXPORT 27,419 -#define NFSDDBG_SVC 28,450 -#define NFSDDBG_PROC 29,478 -#define NFSDDBG_FILEOP 30,507 -#define NFSDDBG_AUTH 31,538 -#define NFSDDBG_REPCACHE 32,567 -#define NFSDDBG_XDR 33,599 -#define NFSDDBG_LOCKD 34,627 -#define NFSDDBG_ALL 35,657 -#define NFSDDBG_NOCHANGE 36,685 -# define ifdebug(ifdebug42,772 -# define ifdebug(ifdebug44,837 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/const.h,258 -#define _LINUX_NFSD_CONST_H10,167 -#define NFSSVC_MAXVERS 20,346 -#define NFSSVC_MAXBLKSIZE 25,438 -# define NFS_SUPER_MAGIC 30,518 -#define NFSD_BUFSIZE 33,558 -# define NFSSVC_XDRSIZE 36,630 -# define NFSSVC_XDRSIZE 38,702 -# define NFSSVC_XDRSIZE 40,750 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/nfsd/xdr4.h,2322 -#define _LINUX_NFSD_XDR4_H40,1759 -#define NFSD4_MAX_TAGLEN 44,1812 -#define XDR_LEN(XDR_LEN45,1841 -typedef u32 delegation_zero_t;delegation_zero_t47,1898 -typedef u32 delegation_boot_t;delegation_boot_t48,1929 -typedef u64 delegation_id_t;delegation_id_t49,1960 -} delegation_stateid_t;delegation_stateid_t55,2088 -struct nfsd4_change_info nfsd4_change_info57,2113 -struct nfsd4_access nfsd4_access65,2254 -struct nfsd4_close nfsd4_close71,2402 -struct nfsd4_commit nfsd4_commit77,2577 -struct nfsd4_create nfsd4_create83,2733 -#define cr_linklen 102,3251 -#define cr_linkname 103,3285 -#define cr_specdata1 104,3317 -#define cr_specdata2 105,3354 -struct nfsd4_getattr nfsd4_getattr107,3392 -struct nfsd4_link nfsd4_link112,3509 -struct nfsd4_lock_denied nfsd4_lock_denied118,3668 -struct nfsd4_lock nfsd4_lock125,3815 -#define lk_new_open_seqid 156,4455 -#define lk_new_open_stateid 157,4504 -#define lk_new_lock_seqid 158,4555 -#define lk_new_clientid 159,4604 -#define lk_new_owner 160,4651 -#define lk_old_lock_stateid 161,4695 -#define lk_old_lock_seqid 162,4746 -#define lk_rflags 164,4796 -#define lk_resp_stateid 165,4832 -#define lk_denied 166,4869 -struct nfsd4_lockt nfsd4_lockt169,4904 -struct nfsd4_locku nfsd4_locku180,5124 -struct nfsd4_lookup nfsd4_lookup190,5329 -struct nfsd4_putfh nfsd4_putfh195,5438 -struct nfsd4_open nfsd4_open200,5544 -#define op_iattr 224,6630 -#define op_verf 225,6655 -struct nfsd4_open_confirm nfsd4_open_confirm227,6680 -struct nfsd4_open_downgrade nfsd4_open_downgrade234,6889 -struct nfsd4_read nfsd4_read243,7086 -struct nfsd4_readdir nfsd4_readdir254,7394 -struct nfsd4_release_lockowner nfsd4_release_lockowner269,7811 -struct nfsd4_readlink nfsd4_readlink273,7908 -struct nfsd4_remove nfsd4_remove278,8038 -struct nfsd4_rename nfsd4_rename284,8199 -struct nfsd4_setattr nfsd4_setattr293,8495 -struct nfsd4_setclientid nfsd4_setclientid300,8681 -struct nfsd4_setclientid_confirm nfsd4_setclientid_confirm314,9203 -struct nfsd4_verify nfsd4_verify320,9322 -struct nfsd4_write nfsd4_write326,9471 -struct nfsd4_op nfsd4_op339,9861 -struct nfsd4_compoundargs nfsd4_compoundargs375,10884 - struct tmpbuf tmpbuf383,11057 -struct nfsd4_compoundres nfsd4_compoundres399,11314 -#define NFS4_SVC_XDRSIZE 412,11568 -set_change_info(415,11648 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_arp/arpt_mangle.h,267 -#define _ARPT_MANGLE_H2,23 -#define ARPT_MANGLE_ADDR_LEN_MAX 5,91 -struct arpt_manglearpt_mangle6,147 -#define ARPT_MANGLE_SDEV 20,370 -#define ARPT_MANGLE_TDEV 21,400 -#define ARPT_MANGLE_SIP 22,430 -#define ARPT_MANGLE_TIP 23,459 -#define ARPT_MANGLE_MASK 24,488 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/netfilter_arp/arp_tables.h,1649 -#define _ARPTABLES_H10,222 -#define ARPT_FUNCTION_MAXNAMELEN 22,452 -#define ARPT_TABLE_MAXNAMELEN 23,488 -#define ARPT_DEV_ADDR_LEN_MAX 25,522 -struct arpt_devaddr_info arpt_devaddr_info27,556 -struct arpt_arp arpt_arp33,708 -struct arpt_entry_targetarpt_entry_target64,1519 -struct arpt_standard_targetarpt_standard_target87,1865 -struct arpt_countersarpt_counters93,1947 -#define ARPT_F_MASK 101,2129 -#define ARPT_INV_VIA_IN 104,2240 -#define ARPT_INV_VIA_OUT 105,2308 -#define ARPT_INV_SRCIP 106,2376 -#define ARPT_INV_TGTIP 107,2441 -#define ARPT_INV_SRCDEVADDR 108,2506 -#define ARPT_INV_TGTDEVADDR 109,2581 -#define ARPT_INV_ARPOP 110,2656 -#define ARPT_INV_ARPHRD 111,2721 -#define ARPT_INV_ARPPRO 112,2788 -#define ARPT_INV_ARPHLN 113,2855 -#define ARPT_INV_MASK 114,2922 -struct arpt_entryarpt_entry119,3179 -#define ARPT_BASE_CTL 143,3742 -#define ARPT_SO_SET_REPLACE 145,3808 -#define ARPT_SO_SET_ADD_COUNTERS 146,3853 -#define ARPT_SO_SET_MAX 147,3906 -#define ARPT_SO_GET_INFO 149,3958 -#define ARPT_SO_GET_ENTRIES 150,4000 -#define ARPT_SO_GET_MAX 151,4049 -#define ARPT_CONTINUE 154,4131 -#define ARPT_RETURN 157,4191 -struct arpt_getinfoarpt_getinfo160,4273 -struct arpt_replacearpt_replace183,4787 -struct arpt_counters_infoarpt_counters_info215,5572 -struct arpt_get_entriesarpt_get_entries227,5817 -#define ARPT_STANDARD_TARGET 240,6086 -#define ARPT_ERROR_TARGET 242,6139 -static __inline__ struct arpt_entry_target *arpt_get_target(245,6197 -#define ARPT_ENTRY_ITERATE(ARPT_ENTRY_ITERATE251,6363 -struct arpt_targetarpt_target273,6875 -struct arpt_tablearpt_table308,7903 -#define ARPT_ALIGN(ARPT_ALIGN340,8678 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2o-dev.h,6289 -#define _I2O_DEV_H21,704 -#define MAX_I2O_CONTROLLERS 24,767 -#define I2O_MAGIC_NUMBER 31,871 -#define I2OGETIOPS 32,900 -#define I2OHRTGET 33,969 -#define I2OLCTGET 34,1036 -#define I2OPARMSET 35,1103 -#define I2OPARMGET 36,1172 -#define I2OSWDL 37,1241 -#define I2OSWUL 38,1304 -#define I2OSWDEL 39,1367 -#define I2OVALIDATE 40,1430 -#define I2OHTML 41,1480 -#define I2OEVTREG 42,1540 -#define I2OEVTGET 43,1603 -#define I2OPASSTHRU 44,1668 -#define I2OPASSTHRU32 45,1739 -struct i2o_cmd_passthru32 i2o_cmd_passthru3247,1815 -struct i2o_cmd_passthru i2o_cmd_passthru52,1913 -struct i2o_cmd_hrtlct i2o_cmd_hrtlct57,2017 -struct i2o_cmd_psetget i2o_cmd_psetget63,2191 -struct i2o_sw_xfer i2o_sw_xfer72,2536 -struct i2o_html i2o_html83,2956 -#define I2O_EVT_Q_LEN 93,3340 -struct i2o_evt_id i2o_evt_id95,3366 -#define I2O_EVT_DATA_SIZE 102,3520 -struct i2o_evt_info i2o_evt_info104,3550 -struct i2o_evt_get i2o_evt_get110,3668 -#define I2O_BUS_LOCAL 119,3938 -#define I2O_BUS_ISA 120,3962 -#define I2O_BUS_EISA 121,3984 -#define I2O_BUS_MCA 122,4007 -#define I2O_BUS_PCI 123,4029 -#define I2O_BUS_PCMCIA 124,4051 -#define I2O_BUS_NUBUS 125,4076 -#define I2O_BUS_CARDBUS 126,4100 -#define I2O_BUS_UNKNOWN 127,4126 -typedef unsigned char u8;u8131,4176 -typedef unsigned short u16;u16132,4202 -typedef unsigned int u32;u32133,4230 -typedef struct _i2o_pci_bus _i2o_pci_bus137,4285 -} i2o_pci_bus;i2o_pci_bus144,4427 -typedef struct _i2o_local_bus _i2o_local_bus146,4443 -} i2o_local_bus;i2o_local_bus150,4535 -typedef struct _i2o_isa_bus _i2o_isa_bus152,4553 -} i2o_isa_bus;i2o_isa_bus157,4653 -typedef struct _i2o_eisa_bus_info _i2o_eisa_bus_info159,4669 -} i2o_eisa_bus;i2o_eisa_bus164,4788 -typedef struct _i2o_mca_bus _i2o_mca_bus166,4805 -} i2o_mca_bus;i2o_mca_bus171,4915 -typedef struct _i2o_other_bus _i2o_other_bus173,4931 -} i2o_other_bus;i2o_other_bus177,5019 -typedef struct _i2o_hrt_entry _i2o_hrt_entry179,5037 -} i2o_hrt_entry;i2o_hrt_entry193,5318 -typedef struct _i2o_hrt _i2o_hrt195,5336 -} i2o_hrt;i2o_hrt201,5458 -typedef struct _i2o_lct_entry _i2o_lct_entry203,5470 -} i2o_lct_entry;i2o_lct_entry218,5759 -typedef struct _i2o_lct _i2o_lct220,5777 -} i2o_lct;i2o_lct227,5919 -typedef struct _i2o_status_block _i2o_status_block229,5931 -} i2o_status_block;i2o_status_block256,6493 -#define I2O_EVT_IND_STATE_CHANGE 259,6547 -#define I2O_EVT_IND_GENERAL_WARNING 260,6592 -#define I2O_EVT_IND_CONFIGURATION_FLAG 261,6640 -#define I2O_EVT_IND_LOCK_RELEASE 262,6691 -#define I2O_EVT_IND_CAPABILITY_CHANGE 263,6736 -#define I2O_EVT_IND_DEVICE_RESET 264,6786 -#define I2O_EVT_IND_EVT_MASK_MODIFIED 265,6831 -#define I2O_EVT_IND_FIELD_MODIFIED 266,6881 -#define I2O_EVT_IND_VENDOR_EVT 267,6928 -#define I2O_EVT_IND_DEVICE_STATE 268,6972 -#define I2O_EVT_IND_EXEC_RESOURCE_LIMITS 271,7051 -#define I2O_EVT_IND_EXEC_CONNECTION_FAIL 272,7103 -#define I2O_EVT_IND_EXEC_ADAPTER_FAULT 273,7155 -#define I2O_EVT_IND_EXEC_POWER_FAIL 274,7206 -#define I2O_EVT_IND_EXEC_RESET_PENDING 275,7254 -#define I2O_EVT_IND_EXEC_RESET_IMMINENT 276,7305 -#define I2O_EVT_IND_EXEC_HW_FAIL 277,7357 -#define I2O_EVT_IND_EXEC_XCT_CHANGE 278,7402 -#define I2O_EVT_IND_EXEC_NEW_LCT_ENTRY 279,7450 -#define I2O_EVT_IND_EXEC_MODIFIED_LCT 280,7501 -#define I2O_EVT_IND_EXEC_DDM_AVAILABILITY 281,7551 -#define I2O_EVT_IND_BSA_VOLUME_LOAD 284,7649 -#define I2O_EVT_IND_BSA_VOLUME_UNLOAD 285,7697 -#define I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ 286,7747 -#define I2O_EVT_IND_BSA_CAPACITY_CHANGE 287,7800 -#define I2O_EVT_IND_BSA_SCSI_SMART 288,7852 -#define I2O_EVT_STATE_CHANGE_NORMAL 291,7936 -#define I2O_EVT_STATE_CHANGE_SUSPENDED 292,7978 -#define I2O_EVT_STATE_CHANGE_RESTART 293,8023 -#define I2O_EVT_STATE_CHANGE_NA_RECOVER 294,8066 -#define I2O_EVT_STATE_CHANGE_NA_NO_RECOVER 295,8112 -#define I2O_EVT_STATE_CHANGE_QUIESCE_REQUEST 296,8160 -#define I2O_EVT_STATE_CHANGE_FAILED 297,8210 -#define I2O_EVT_STATE_CHANGE_FAULTED 298,8252 -#define I2O_EVT_GEN_WARNING_NORMAL 300,8296 -#define I2O_EVT_GEN_WARNING_ERROR_THRESHOLD 301,8337 -#define I2O_EVT_GEN_WARNING_MEDIA_FAULT 302,8386 -#define I2O_EVT_CAPABILITY_OTHER 304,8433 -#define I2O_EVT_CAPABILITY_CHANGED 305,8472 -#define I2O_EVT_SENSOR_STATE_CHANGED 307,8514 -#define I2O_CLASS_VERSION_10 316,8664 -#define I2O_CLASS_VERSION_11 317,8700 -#define I2O_CLASS_EXECUTIVE 323,8813 -#define I2O_CLASS_DDM 324,8849 -#define I2O_CLASS_RANDOM_BLOCK_STORAGE 325,8880 -#define I2O_CLASS_SEQUENTIAL_STORAGE 326,8926 -#define I2O_CLASS_LAN 327,8970 -#define I2O_CLASS_WAN 328,9001 -#define I2O_CLASS_FIBRE_CHANNEL_PORT 329,9032 -#define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 330,9076 -#define I2O_CLASS_SCSI_PERIPHERAL 331,9125 -#define I2O_CLASS_ATE_PORT 332,9166 -#define I2O_CLASS_ATE_PERIPHERAL 333,9201 -#define I2O_CLASS_FLOPPY_CONTROLLER 334,9241 -#define I2O_CLASS_FLOPPY_DEVICE 335,9284 -#define I2O_CLASS_BUS_ADAPTER_PORT 336,9324 -#define I2O_CLASS_PEER_TRANSPORT_AGENT 337,9366 -#define I2O_CLASS_PEER_TRANSPORT 338,9412 -#define I2O_CLASS_END 339,9452 -#define I2O_CLASS_MATCH_ANYCLASS 345,9552 -#define I2O_SUBCLASS_i960 351,9621 -#define I2O_SUBCLASS_HDM 352,9655 -#define I2O_SUBCLASS_ISM 353,9688 -#define I2O_PARAMS_FIELD_GET 357,9749 -#define I2O_PARAMS_LIST_GET 358,9787 -#define I2O_PARAMS_MORE_GET 359,9824 -#define I2O_PARAMS_SIZE_GET 360,9861 -#define I2O_PARAMS_TABLE_GET 361,9898 -#define I2O_PARAMS_FIELD_SET 362,9936 -#define I2O_PARAMS_LIST_SET 363,9974 -#define I2O_PARAMS_ROW_ADD 364,10011 -#define I2O_PARAMS_ROW_DELETE 365,10047 -#define I2O_PARAMS_TABLE_CLEAR 366,10086 -#define I2O_SNFORMAT_UNKNOWN 373,10194 -#define I2O_SNFORMAT_BINARY 374,10227 -#define I2O_SNFORMAT_ASCII 375,10259 -#define I2O_SNFORMAT_UNICODE 376,10290 -#define I2O_SNFORMAT_LAN48_MAC 377,10323 -#define I2O_SNFORMAT_WAN 378,10358 -#define I2O_SNFORMAT_LAN64_MAC 384,10438 -#define I2O_SNFORMAT_DDM 385,10473 -#define I2O_SNFORMAT_IEEE_REG64 386,10502 -#define I2O_SNFORMAT_IEEE_REG128 387,10538 -#define I2O_SNFORMAT_UNKNOWN2 388,10574 -#define ADAPTER_STATE_INITIALIZING 394,10651 -#define ADAPTER_STATE_RESET 395,10692 -#define ADAPTER_STATE_HOLD 396,10727 -#define ADAPTER_STATE_READY 397,10761 -#define ADAPTER_STATE_OPERATIONAL 398,10796 -#define ADAPTER_STATE_FAILED 399,10836 -#define ADAPTER_STATE_FAULTED 400,10872 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kobject.h,892 -#define _KOBJECT_H_16,386 -#define KOBJ_NAME_LEN 27,574 -struct kobject kobject29,600 -extern int kobject_set_name(40,815 -struct kobj_type kobj_type66,1579 -struct kset_hotplug_ops kset_hotplug_ops91,2467 -struct kset kset98,2730 -static inline struct kset * to_kset(112,3059 -static inline struct kset * kset_get(117,3182 -static inline void kset_put(122,3292 -static inline struct kobj_type * get_ktype(127,3366 -#define set_kset_name(set_kset_name142,3682 -struct subsystem subsystem146,3748 -#define decl_subsys(decl_subsys151,3819 -#define decl_subsys_name(decl_subsys_name159,4021 -#define kobj_set_kset_s(kobj_set_kset_s184,4668 -#define kset_set_kset_s(kset_set_kset_s198,5086 -#define subsys_set_kset(subsys_set_kset211,5474 -static inline struct subsystem * subsys_get(218,5716 -static inline void subsys_put(223,5862 -struct subsys_attribute subsys_attribute228,5940 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/gameport.h,1019 -#define _GAMEPORT_H2,20 -struct gameport gameport18,370 -struct gameport_dev gameport_dev43,904 -static inline void gameport_register_port(62,1453 -static inline void gameport_unregister_port(63,1534 -#define GAMEPORT_MODE_DISABLED 69,1742 -#define GAMEPORT_MODE_RAW 70,1776 -#define GAMEPORT_MODE_COOKED 71,1805 -#define GAMEPORT_ID_VENDOR_ANALOG 73,1838 -#define GAMEPORT_ID_VENDOR_MADCATZ 74,1879 -#define GAMEPORT_ID_VENDOR_LOGITECH 75,1921 -#define GAMEPORT_ID_VENDOR_CREATIVE 76,1964 -#define GAMEPORT_ID_VENDOR_GENIUS 77,2007 -#define GAMEPORT_ID_VENDOR_INTERACT 78,2048 -#define GAMEPORT_ID_VENDOR_MICROSOFT 79,2091 -#define GAMEPORT_ID_VENDOR_THRUSTMASTER 80,2135 -#define GAMEPORT_ID_VENDOR_GRAVIS 81,2182 -#define GAMEPORT_ID_VENDOR_GUILLEMOT 82,2223 -static __inline__ void gameport_trigger(84,2268 -static __inline__ unsigned char gameport_read(92,2429 -static __inline__ int gameport_cooked_read(100,2597 -static __inline__ int gameport_calibrate(108,2801 -static __inline__ int gameport_time(116,2991 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ipsec.h,683 -#define _LINUX_IPSEC_H2,23 -#define IPSEC_PORT_ANY 8,136 -#define IPSEC_ULPROTO_ANY 9,162 -#define IPSEC_PROTO_ANY 10,192 - IPSEC_MODE_ANY 13,229 - IPSEC_MODE_TRANSPORT 14,287 - IPSEC_MODE_TUNNEL 15,314 - IPSEC_DIR_ANY 19,348 - IPSEC_DIR_INBOUND 20,369 - IPSEC_DIR_OUTBOUND 21,393 - IPSEC_DIR_FWD 22,418 - IPSEC_DIR_MAX 23,459 - IPSEC_DIR_INVALID 24,480 - IPSEC_POLICY_DISCARD 28,514 - IPSEC_POLICY_NONE 29,541 - IPSEC_POLICY_IPSEC 30,565 - IPSEC_POLICY_ENTRUST 31,590 - IPSEC_POLICY_BYPASS 32,617 - IPSEC_LEVEL_DEFAULT 36,653 - IPSEC_LEVEL_USE 37,679 - IPSEC_LEVEL_REQUIRE 38,702 - IPSEC_LEVEL_UNIQUE 39,728 -#define IPSEC_MANUAL_REQID_MAX 42,756 -#define IPSEC_REPLAYWSIZE 44,795 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/timex.h,2308 -#define _LINUX_TIMEX_H54,2286 -# define SHIFT_HZ 69,2784 -# define SHIFT_HZ 71,2830 -# define SHIFT_HZ 73,2876 -# define SHIFT_HZ 75,2923 -# define SHIFT_HZ 77,2971 -# define SHIFT_HZ 79,3019 -# define SHIFT_HZ 81,3068 -#define SHIFT_KG 97,3572 -#define SHIFT_KF 98,3619 -#define SHIFT_KH 99,3675 -#define MAXTC 100,3730 -#define SHIFT_SCALE 116,4424 -#define SHIFT_UPDATE 117,4474 -#define SHIFT_USEC 118,4546 -#define FINENSEC 119,4606 -#define MAXPHASE 121,4678 -#define MAXFREQ 122,4737 -#define MAXTIME 123,4807 -#define MINSEC 124,4879 -#define MAXSEC 125,4950 -#define NTP_PHASE_LIMIT 126,5021 -#define PPS_AVG 148,5932 -#define PPS_SHIFT 149,5988 -#define PPS_SHIFTMAX 150,6049 -#define PPS_VALID 151,6113 -#define MAXGLITCH 152,6170 -#define LATCH 160,6373 -#define SH_DIV(SH_DIV171,6885 -#define ACTHZ 175,7108 -#define TICK_NSEC 178,7230 -#define TICK_USEC 181,7359 -#define TICK_USEC_TO_NSEC(TICK_USEC_TO_NSEC185,7557 -struct timex timex193,7759 -#define ADJ_OFFSET 225,8950 -#define ADJ_FREQUENCY 226,8995 -#define ADJ_MAXERROR 227,9048 -#define ADJ_ESTERROR 228,9102 -#define ADJ_STATUS 229,9158 -#define ADJ_TIMECONST 230,9204 -#define ADJ_TICK 231,9258 -#define ADJ_OFFSET_SINGLESHOT 232,9300 -#define MOD_OFFSET 235,9401 -#define MOD_FREQUENCY 236,9431 -#define MOD_MAXERROR 237,9467 -#define MOD_ESTERROR 238,9501 -#define MOD_STATUS 239,9535 -#define MOD_TIMECONST 240,9565 -#define MOD_CLKB 241,9601 -#define MOD_CLKA 242,9627 -#define STA_PLL 248,9731 -#define STA_PPSFREQ 249,9785 -#define STA_PPSTIME 250,9850 -#define STA_FLL 251,9915 -#define STA_INS 253,9978 -#define STA_DEL 254,10025 -#define STA_UNSYNC 255,10072 -#define STA_FREQHOLD 256,10130 -#define STA_PPSSIGNAL 258,10185 -#define STA_PPSJITTER 259,10244 -#define STA_PPSWANDER 260,10311 -#define STA_PPSERROR 261,10378 -#define STA_CLOCKERR 263,10447 -#define STA_RONLY 265,10508 -#define TIME_OK 271,10668 -#define TIME_INS 272,10728 -#define TIME_DEL 273,10772 -#define TIME_OOP 274,10816 -#define TIME_WAIT 275,10865 -#define TIME_ERROR 276,10916 -#define TIME_BAD 277,10966 -#define TIME_SOURCE_CPU 325,12863 -#define TIME_SOURCE_MMIO64 326,12889 -#define TIME_SOURCE_MMIO32 327,12918 -#define TIME_SOURCE_FUNCTION 328,12947 -struct time_interpolator time_interpolator346,13859 -time_interpolator_reset(372,15034 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hdreg.h,10104 -#define _LINUX_HDREG_H2,23 -#define HD_IRQ 11,189 -#define HD_DATA 14,260 -#define HD_ERROR 15,308 -#define HD_NSECTOR 16,351 -#define HD_SECTOR 17,411 -#define HD_LCYL 18,458 -#define HD_HCYL 19,506 -#define HD_CURRENT 20,562 -#define HD_STATUS 21,624 -#define HD_FEATURE 22,671 -#define HD_PRECOMP 23,748 -#define HD_COMMAND 24,825 -#define HD_CMD 26,901 -#define HD_ALTSTATUS 27,946 -#define ERR_STAT 32,1126 -#define INDEX_STAT 33,1149 -#define ECC_STAT 34,1174 -#define DRQ_STAT 35,1219 -#define SEEK_STAT 36,1242 -#define SRV_STAT 37,1266 -#define WRERR_STAT 38,1289 -#define READY_STAT 39,1314 -#define BUSY_STAT 40,1339 -#define MARK_ERR 43,1388 -#define TRK0_ERR 44,1434 -#define ABRT_ERR 45,1485 -#define MCR_ERR 46,1530 -#define ID_ERR 47,1580 -#define MC_ERR 48,1627 -#define ECC_ERR 49,1669 -#define BBD_ERR 50,1722 -#define ICRC_ERR 51,1787 -#define CD 54,1882 -#define IO 55,1900 -#define REL 56,1918 -#define TAG_MASK 57,1937 -#define HDIO_DRIVE_CMD_HDR_SIZE 64,2013 -#define HDIO_DRIVE_HOB_HDR_SIZE 65,2063 -#define HDIO_DRIVE_TASK_HDR_SIZE 66,2113 -#define IDE_DRIVE_TASK_INVALID 68,2164 -#define IDE_DRIVE_TASK_NO_DATA 69,2199 -#define IDE_DRIVE_TASK_SET_XFER 70,2233 -#define IDE_DRIVE_TASK_IN 72,2269 -#define IDE_DRIVE_TASK_OUT 74,2299 -#define IDE_DRIVE_TASK_RAW_WRITE 75,2329 -#define IDE_TASKFILE_STD_OUT_FLAGS 80,2416 -#define IDE_TASKFILE_STD_IN_FLAGS 81,2456 -#define IDE_HOB_STD_OUT_FLAGS 82,2495 -#define IDE_HOB_STD_IN_FLAGS 83,2531 -typedef unsigned char task_ioreg_t;task_ioreg_t85,2567 -typedef unsigned long sata_ioreg_t;sata_ioreg_t86,2603 -typedef union ide_reg_valid_s ide_reg_valid_s88,2640 -} ide_reg_valid_t;ide_reg_valid_t109,3145 -typedef struct ide_task_request_s ide_task_request_s111,3165 -} ide_task_request_t;ide_task_request_t120,3393 -typedef struct ide_ioctl_request_s ide_ioctl_request_s122,3416 -} ide_ioctl_request_t;ide_ioctl_request_t126,3545 -struct hd_drive_cmd_hdr hd_drive_cmd_hdr128,3569 -typedef struct hd_drive_task_hdr hd_drive_task_hdr135,3702 -} task_struct_t;task_struct_t144,3944 -typedef struct hd_drive_hob_hdr hd_drive_hob_hdr146,3962 -} hob_struct_t;hob_struct_t155,4203 -#define TASKFILE_INVALID 157,4220 -#define TASKFILE_48 158,4253 -#define TASKFILE_NO_DATA 160,4283 -#define TASKFILE_IN 162,4317 -#define TASKFILE_MULTI_IN 163,4346 -#define TASKFILE_OUT 165,4381 -#define TASKFILE_MULTI_OUT 166,4411 -#define TASKFILE_IN_OUT 167,4446 -#define TASKFILE_IN_DMA 169,4480 -#define TASKFILE_OUT_DMA 170,4513 -#define TASKFILE_IN_DMAQ 171,4546 -#define TASKFILE_OUT_DMAQ 172,4579 -#define TASKFILE_P_IN 174,4614 -#define TASKFILE_P_OUT 175,4645 -#define TASKFILE_P_IN_DMA 176,4677 -#define TASKFILE_P_OUT_DMA 177,4711 -#define TASKFILE_P_IN_DMAQ 178,4746 -#define TASKFILE_P_OUT_DMAQ 179,4781 -#define WIN_NOP 182,4856 -#define CFA_REQ_EXT_ERROR_CODE 186,4910 -#define WIN_SRST 190,5015 -#define WIN_DEVICE_RESET 191,5070 -#define WIN_RECAL 195,5131 -#define WIN_RESTORE 196,5156 -#define WIN_READ 200,5218 -#define WIN_READ_ONCE 201,5255 -#define WIN_READ_LONG 202,5313 -#define WIN_READ_LONG_ONCE 203,5355 -#define WIN_READ_EXT 204,5417 -#define WIN_READDMA_EXT 205,5458 -#define WIN_READDMA_QUEUED_EXT 206,5502 -#define WIN_READ_NATIVE_MAX_EXT 207,5552 -#define WIN_MULTREAD_EXT 211,5618 -#define WIN_WRITE 215,5692 -#define WIN_WRITE_ONCE 216,5730 -#define WIN_WRITE_LONG 217,5789 -#define WIN_WRITE_LONG_ONCE 218,5832 -#define WIN_WRITE_EXT 219,5895 -#define WIN_WRITEDMA_EXT 220,5937 -#define WIN_WRITEDMA_QUEUED_EXT 221,5981 -#define WIN_SET_MAX_EXT 222,6032 -#define CFA_WRITE_SECT_WO_ERASE 223,6076 -#define WIN_MULTWRITE_EXT 224,6152 -#define WIN_WRITE_VERIFY 228,6227 -#define WIN_VERIFY 232,6301 -#define WIN_VERIFY_ONCE 233,6362 -#define WIN_VERIFY_EXT 234,6424 -#define WIN_FORMAT 238,6497 -#define WIN_INIT 242,6553 -#define WIN_SEEK 246,6607 -#define CFA_TRANSLATE_SECTOR 248,6657 -#define WIN_DIAGNOSE 249,6719 -#define WIN_SPECIFY 250,6747 -#define WIN_DOWNLOAD_MICROCODE 251,6811 -#define WIN_STANDBYNOW2 252,6848 -#define WIN_STANDBY2 253,6879 -#define WIN_SETIDLE2 254,6907 -#define WIN_CHECKPOWERMODE2 255,6935 -#define WIN_SLEEPNOW2 256,6969 -#define WIN_PACKETCMD 260,7020 -#define WIN_PIDENTIFY 261,7078 -#define WIN_QUEUED_SERVICE 262,7135 -#define WIN_SMART 263,7168 -#define CFA_ERASE_SECTORS 264,7229 -#define WIN_MULTREAD 265,7261 -#define WIN_MULTWRITE 266,7327 -#define WIN_SETMULT 267,7396 -#define WIN_READDMA_QUEUED 268,7458 -#define WIN_READDMA 269,7537 -#define WIN_READDMA_ONCE 270,7603 -#define WIN_WRITEDMA 271,7665 -#define WIN_WRITEDMA_ONCE 272,7733 -#define WIN_WRITEDMA_QUEUED 273,7796 -#define CFA_WRITE_MULTI_WO_ERASE 274,7877 -#define WIN_GETMEDIASTATUS 275,7954 -#define WIN_ACKMEDIACHANGE 276,7987 -#define WIN_POSTBOOT 277,8046 -#define WIN_PREBOOT 278,8074 -#define WIN_DOORLOCK 279,8102 -#define WIN_DOORUNLOCK 280,8166 -#define WIN_STANDBYNOW1 281,8234 -#define WIN_IDLEIMMEDIATE 282,8265 -#define WIN_STANDBY 283,8333 -#define WIN_SETIDLE1 284,8393 -#define WIN_READ_BUFFER 285,8421 -#define WIN_CHECKPOWERMODE1 286,8483 -#define WIN_SLEEPNOW1 287,8517 -#define WIN_FLUSH_CACHE 288,8546 -#define WIN_WRITE_BUFFER 289,8577 -#define WIN_WRITE_SAME 290,8640 -#define WIN_FLUSH_CACHE_EXT 292,8727 -#define WIN_IDENTIFY 293,8774 -#define WIN_MEDIAEJECT 294,8837 -#define WIN_IDENTIFY_DMA 295,8867 -#define WIN_SETFEATURES 296,8934 -#define EXABYTE_ENABLE_NEST 297,8998 -#define WIN_SECURITY_SET_PASS 298,9032 -#define WIN_SECURITY_UNLOCK 299,9068 -#define WIN_SECURITY_ERASE_PREPARE 300,9102 -#define WIN_SECURITY_ERASE_UNIT 301,9142 -#define WIN_SECURITY_FREEZE_LOCK 302,9180 -#define WIN_SECURITY_DISABLE 303,9218 -#define WIN_READ_NATIVE_MAX 304,9253 -#define WIN_SET_MAX 305,9327 -#define DISABLE_SEAGATE 306,9354 -#define SMART_READ_VALUES 310,9416 -#define SMART_READ_THRESHOLDS 311,9448 -#define SMART_AUTOSAVE 312,9484 -#define SMART_SAVE 313,9514 -#define SMART_IMMEDIATE_OFFLINE 314,9540 -#define SMART_READ_LOG_SECTOR 315,9578 -#define SMART_WRITE_LOG_SECTOR 316,9614 -#define SMART_WRITE_THRESHOLDS 317,9651 -#define SMART_ENABLE 318,9688 -#define SMART_DISABLE 319,9716 -#define SMART_STATUS 320,9745 -#define SMART_AUTO_OFFLINE 321,9773 -#define SMART_LCYL_PASS 325,9866 -#define SMART_HCYL_PASS 326,9897 -#define SETFEATURES_EN_8BIT 329,9964 -#define SETFEATURES_EN_WCACHE 330,10026 -#define SETFEATURES_XFER 331,10086 -# define XFER_UDMA_7 332,10140 -# define XFER_UDMA_6 333,10182 -# define XFER_UDMA_5 334,10224 -# define XFER_UDMA_4 335,10266 -# define XFER_UDMA_3 336,10308 -# define XFER_UDMA_2 337,10350 -# define XFER_UDMA_1 338,10392 -# define XFER_UDMA_0 339,10434 -# define XFER_MW_DMA_2 340,10476 -# define XFER_MW_DMA_1 341,10520 -# define XFER_MW_DMA_0 342,10564 -# define XFER_SW_DMA_2 343,10608 -# define XFER_SW_DMA_1 344,10652 -# define XFER_SW_DMA_0 345,10696 -# define XFER_PIO_4 346,10740 -# define XFER_PIO_3 347,10781 -# define XFER_PIO_2 348,10822 -# define XFER_PIO_1 349,10863 -# define XFER_PIO_0 350,10904 -# define XFER_PIO_SLOW 351,10945 -#define SETFEATURES_DIS_DEFECT 352,10989 -#define SETFEATURES_EN_APM 353,11057 -#define SETFEATURES_EN_SAME_R 354,11128 -#define SETFEATURES_DIS_MSN 355,11188 -#define SETFEATURES_DIS_RETRY 356,11261 -#define SETFEATURES_EN_AAM 357,11316 -#define SETFEATURES_RW_LONG 358,11391 -#define SETFEATURES_SET_CACHE 359,11453 -#define SETFEATURES_DIS_RLA 360,11528 -#define SETFEATURES_EN_RI 361,11599 -#define SETFEATURES_EN_SI 362,11661 -#define SETFEATURES_DIS_RPOD 363,11723 -#define SETFEATURES_DIS_ECC 364,11802 -#define SETFEATURES_DIS_8BIT 365,11864 -#define SETFEATURES_DIS_WCACHE 366,11928 -#define SETFEATURES_EN_DEFECT 367,11990 -#define SETFEATURES_DIS_APM 368,12056 -#define SETFEATURES_EN_ECC 369,12129 -#define SETFEATURES_EN_MSN 370,12189 -#define SETFEATURES_EN_RETRY 371,12260 -#define SETFEATURES_EN_RLA 372,12313 -#define SETFEATURES_PREFETCH 373,12382 -#define SETFEATURES_EN_REST 374,12448 -#define SETFEATURES_4B_RW_LONG 375,12493 -#define SETFEATURES_DIS_AAM 376,12557 -#define SETFEATURES_EN_RPOD 377,12634 -#define SETFEATURES_DIS_RI 378,12711 -#define SETFEATURES_EN_SAME_M 379,12781 -#define SETFEATURES_DIS_SI 380,12848 -#define SECURITY_SET_PASSWORD 384,12952 -#define SECURITY_UNLOCK 385,12988 -#define SECURITY_ERASE_PREPARE 386,13019 -#define SECURITY_ERASE_UNIT 387,13056 -#define SECURITY_FREEZE_LOCK 388,13090 -#define SECURITY_DISABLE_PASSWORD 389,13125 -struct hd_geometry hd_geometry391,13165 -#define HDIO_GETGEO 399,13386 -#define HDIO_GET_UNMASKINTR 400,13440 -#define HDIO_GET_MULTCOUNT 401,13508 -#define HDIO_GET_QDMA 402,13582 -#define HDIO_SET_XFER 404,13637 -#define HDIO_OBSOLETE_IDENTITY 406,13702 -#define HDIO_GET_KEEPSETTINGS 407,13786 -#define HDIO_GET_32BIT 408,13861 -#define HDIO_GET_NOWERR 409,13927 -#define HDIO_GET_DMA 410,13993 -#define HDIO_GET_NICE 411,14045 -#define HDIO_GET_IDENTITY 412,14096 -#define HDIO_GET_WCACHE 413,14163 -#define HDIO_GET_ACOUSTIC 414,14229 -#define HDIO_GET_ADDRESS 415,14287 -#define HDIO_GET_BUSSTATE 417,14326 -#define HDIO_TRISTATE_HWIF 418,14395 -#define HDIO_DRIVE_RESET 419,14462 -#define HDIO_DRIVE_TASKFILE 420,14523 -#define HDIO_DRIVE_TASK 421,14585 -#define HDIO_DRIVE_CMD 422,14662 -#define HDIO_DRIVE_CMD_AEB 423,14731 -#define HDIO_SET_MULTCOUNT 426,14852 -#define HDIO_SET_UNMASKINTR 427,14913 -#define HDIO_SET_KEEPSETTINGS 428,14983 -#define HDIO_SET_32BIT 429,15055 -#define HDIO_SET_NOWERR 430,15114 -#define HDIO_SET_DMA 431,15183 -#define HDIO_SET_PIO_MODE 432,15238 -#define HDIO_SCAN_HWIF 433,15309 -#define HDIO_SET_NICE 434,15378 -#define HDIO_UNREGISTER_HWIF 435,15429 -#define HDIO_SET_WCACHE 436,15493 -#define HDIO_SET_ACOUSTIC 437,15565 -#define HDIO_SET_BUSSTATE 438,15629 -#define HDIO_SET_QDMA 439,15698 -#define HDIO_SET_ADDRESS 440,15755 - BUSSTATE_OFF 444,15846 - BUSSTATE_ON,445,15865 - BUSSTATE_TRISTATE446,15879 -#define __NEW_HD_DRIVE_ID455,16204 -struct hd_driveid hd_driveid463,16413 -#define IDE_NICE_DSC_OVERLAP 715,25291 -#define IDE_NICE_ATAPI_OVERLAP 716,25359 -#define IDE_NICE_0 717,25418 -#define IDE_NICE_1 718,25482 -#define IDE_NICE_2 719,25547 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/eventpoll.h,439 -#define _LINUX_EVENTPOLL_H15,465 -#define EPOLL_CTL_ADD 21,568 -#define EPOLL_CTL_DEL 22,592 -#define EPOLL_CTL_MOD 23,616 -#define EPOLLONESHOT 26,705 -#define EPOLLET 29,807 -#define EPOLL_PACKED 36,984 -#define EPOLL_PACKED38,1035 -struct epoll_event epoll_event41,1064 -} EPOLL_PACKED;44,1113 -static inline void eventpoll_release(66,1701 -static inline void eventpoll_init_file(91,2418 -static inline void eventpoll_release(92,2479 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/highmem.h,517 -#define _LINUX_HIGHMEM_H2,25 -static inline unsigned int nr_free_highpages(21,350 -static inline void *kmap(23,416 -#define kunmap(kunmap29,509 -#define kmap_atomic(kmap_atomic31,563 -#define kunmap_atomic(kunmap_atomic32,614 -#define kmap_atomic_to_page(kmap_atomic_to_page33,664 -static inline void clear_user_highpage(38,818 -static inline void clear_highpage(47,1099 -static inline void memclear_highpage_flush(57,1317 -static inline void copy_user_highpage(69,1615 -static inline void copy_highpage(82,1997 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/errno.h,478 -#define _LINUX_ERRNO_H2,23 -#define ERESTARTSYS 9,134 -#define ERESTARTNOINTR 10,158 -#define ERESTARTNOHAND 11,185 -#define ENOIOCTLCMD 12,242 -#define ERESTART_RESTARTBLOCK 13,289 -#define EBADHANDLE 16,406 -#define ENOTSYNC 17,459 -#define EBADCOOKIE 18,518 -#define ENOTSUPP 19,563 -#define ETOOSMALL 20,617 -#define ESERVERFAULT 21,676 -#define EBADTYPE 22,740 -#define EJUKEBOX 23,796 -#define EIOCBQUEUED 24,879 -#define EIOCBRETRY 25,948 -#define EWOULDBLOCKIO 28,1043 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/hippidevice.h,36 -#define _LINUX_HIPPIDEVICE_H24,884 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/elfcore.h,749 -#define _LINUX_ELFCORE_H2,25 -struct elf_siginfoelf_siginfo9,151 -typedef elf_greg_t greg_t;greg_t19,316 -typedef elf_gregset_t gregset_t;gregset_t20,343 -typedef elf_fpregset_t fpregset_t;fpregset_t21,376 -typedef elf_fpxregset_t fpxregset_t;fpxregset_t22,411 -#define NGREG 23,448 -struct elf_prstatuself_prstatus35,919 -#define ELF_PRARGSZ 65,1864 -struct elf_prpsinfoelf_prpsinfo67,1921 -typedef struct elf_prstatus prstatus_t;prstatus_t83,2363 -typedef struct elf_prpsinfo prpsinfo_t;prpsinfo_t84,2403 -#define PRARGSZ 85,2443 -static inline void elf_core_copy_regs(89,2498 -static inline int elf_core_copy_task_regs(99,2745 -static inline int elf_core_copy_task_fpregs(110,2994 -static inline int elf_core_copy_task_xfpregs(120,3246 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/proc_fs.h,1752 -#define _LINUX_PROC_FS_H2,25 -#define FIRST_PROCESS_ENTRY 16,268 - PROC_ROOT_INO 24,355 -#define PROC_SUPER_MAGIC 27,379 -typedef int (read_proc_t)read_proc_t44,973 -typedef int (write_proc_t)write_proc_t46,1075 -typedef int (get_info_t)get_info_t48,1188 -struct proc_dir_entry proc_dir_entry50,1244 -struct kcore_list kcore_list71,1715 -static inline void proc_device_tree_add_node(140,4083 -static inline struct proc_dir_entry *create_proc_read_entry(152,4522 -static inline struct proc_dir_entry *create_proc_info_entry(164,4825 -static inline struct proc_dir_entry *proc_net_create(172,5084 -static inline struct proc_dir_entry *proc_net_fops_create(178,5257 -static inline void proc_net_remove(187,5501 -#define proc_root_driver 194,5601 -#define proc_net 195,5631 -#define proc_net_fops_create(proc_net_fops_create197,5654 -#define proc_net_create(proc_net_create198,5728 -static inline void proc_net_remove(199,5796 -static inline struct dentry *proc_pid_unhash(201,5853 -static inline void proc_pid_flush(202,5938 -static inline struct proc_dir_entry *create_proc_entry(204,6005 -#define remove_proc_entry(remove_proc_entry207,6141 -static inline struct proc_dir_entry *proc_symlink(209,6198 -static inline struct proc_dir_entry *proc_mkdir(211,6331 -static inline struct proc_dir_entry *create_proc_read_entry(214,6445 -static inline struct proc_dir_entry *create_proc_info_entry(217,6622 -static inline void proc_tty_register_driver(222,6803 -static inline void proc_tty_unregister_driver(223,6878 -static inline void kclist_add(230,7055 -static inline struct kcore_list * kclist_del(233,7138 -struct proc_inode proc_inode242,7334 -static inline struct proc_inode *PROC_I(253,7602 -static inline struct proc_dir_entry *PDE(258,7733 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/isdnif.h,6247 -#define __ISDNIF_H__15,469 -#define ISDN_PTYPE_UNKNOWN 21,540 -#define ISDN_PTYPE_1TR6 22,600 -#define ISDN_PTYPE_EURO 23,660 -#define ISDN_PTYPE_LEASED 24,720 -#define ISDN_PTYPE_NI1 25,780 -#define ISDN_PTYPE_MAX 26,840 -#define ISDN_PROTO_L2_X75I 31,949 -#define ISDN_PROTO_L2_X75UI 32,1022 -#define ISDN_PROTO_L2_X75BUI 33,1095 -#define ISDN_PROTO_L2_HDLC 34,1168 -#define ISDN_PROTO_L2_TRANS 35,1241 -#define ISDN_PROTO_L2_X25DTE 36,1314 -#define ISDN_PROTO_L2_X25DCE 37,1387 -#define ISDN_PROTO_L2_V11096 38,1460 -#define ISDN_PROTO_L2_V11019 39,1533 -#define ISDN_PROTO_L2_V11038 40,1606 -#define ISDN_PROTO_L2_MODEM 41,1679 -#define ISDN_PROTO_L2_FAX 42,1740 -#define ISDN_PROTO_L2_HDLC_56K 43,1801 -#define ISDN_PROTO_L2_MAX 44,1877 -#define ISDN_PROTO_L3_TRANS 49,1999 -#define ISDN_PROTO_L3_TRANSDSP 50,2047 -#define ISDN_PROTO_L3_FCLASS2 51,2107 -#define ISDN_PROTO_L3_FCLASS1 52,2167 -#define ISDN_PROTO_L3_MAX 53,2227 -#define DSS1_CMD_INVOKE 86,4155 -#define DSS1_CMD_INVOKE_ABORT 87,4256 -#define DSS1_STAT_INVOKE_RES 92,4448 -#define DSS1_STAT_INVOKE_ERR 93,4540 -#define DSS1_STAT_INVOKE_BRD 94,4638 -#define NI1_CMD_INVOKE 131,6964 -#define NI1_CMD_INVOKE_ABORT 132,7063 -#define NI1_STAT_INVOKE_RES 137,7252 -#define NI1_STAT_INVOKE_ERR 138,7342 -#define NI1_STAT_INVOKE_BRD 139,7438 - } isdn_cmd_stat;isdn_cmd_stat156,8367 -#define ISDN_CMD_IOCTL 162,8436 -#define ISDN_CMD_DIAL 163,8514 -#define ISDN_CMD_ACCEPTD 164,8592 -#define ISDN_CMD_ACCEPTB 165,8670 -#define ISDN_CMD_HANGUP 166,8748 -#define ISDN_CMD_CLREAZ 167,8826 -#define ISDN_CMD_SETEAZ 168,8904 -#define ISDN_CMD_GETEAZ 169,8982 -#define ISDN_CMD_SETSIL 170,9060 -#define ISDN_CMD_GETSIL 171,9138 -#define ISDN_CMD_SETL2 172,9216 -#define ISDN_CMD_GETL2 173,9294 -#define ISDN_CMD_SETL3 174,9372 -#define ISDN_CMD_GETL3 175,9450 -#define ISDN_CMD_SUSPEND 178,9690 -#define ISDN_CMD_RESUME 179,9768 -#define ISDN_CMD_PROCEED 180,9846 -#define ISDN_CMD_ALERT 181,9924 -#define ISDN_CMD_REDIR 182,10002 -#define ISDN_CMD_PROT_IO 183,10080 -#define CAPI_PUT_MESSAGE 184,10158 -#define ISDN_CMD_FAXCMD 185,10236 -#define ISDN_CMD_AUDIO 186,10314 -#define ISDN_STAT_STAVAIL 193,10477 -#define ISDN_STAT_ICALL 194,10554 -#define ISDN_STAT_RUN 195,10631 -#define ISDN_STAT_STOP 196,10708 -#define ISDN_STAT_DCONN 197,10785 -#define ISDN_STAT_BCONN 198,10862 -#define ISDN_STAT_DHUP 199,10939 -#define ISDN_STAT_BHUP 200,11016 -#define ISDN_STAT_CINF 201,11093 -#define ISDN_STAT_LOAD 202,11170 -#define ISDN_STAT_UNLOAD 203,11247 -#define ISDN_STAT_BSENT 204,11324 -#define ISDN_STAT_NODCH 205,11401 -#define ISDN_STAT_ADDCH 206,11478 -#define ISDN_STAT_CAUSE 207,11555 -#define ISDN_STAT_ICALLW 208,11632 -#define ISDN_STAT_REDIR 209,11709 -#define ISDN_STAT_PROT 210,11786 -#define ISDN_STAT_DISPLAY 211,11863 -#define ISDN_STAT_L1ERR 212,11940 -#define ISDN_STAT_FAXIND 213,12017 -#define ISDN_STAT_AUDIO 214,12094 -#define ISDN_STAT_DISCH 215,12171 -#define ISDN_AUDIO_SETDD 220,12274 -#define ISDN_AUDIO_DTMF 221,12336 -#define ISDN_STAT_L1ERR_SEND 226,12434 -#define ISDN_STAT_L1ERR_RECV 227,12465 -#define ISDN_FEATURE_L2_X75I 233,12567 -#define ISDN_FEATURE_L2_X75UI 234,12630 -#define ISDN_FEATURE_L2_X75BUI 235,12694 -#define ISDN_FEATURE_L2_HDLC 236,12759 -#define ISDN_FEATURE_L2_TRANS 237,12822 -#define ISDN_FEATURE_L2_X25DTE 238,12886 -#define ISDN_FEATURE_L2_X25DCE 239,12951 -#define ISDN_FEATURE_L2_V11096 240,13016 -#define ISDN_FEATURE_L2_V11019 241,13081 -#define ISDN_FEATURE_L2_V11038 242,13146 -#define ISDN_FEATURE_L2_MODEM 243,13211 -#define ISDN_FEATURE_L2_FAX 244,13275 -#define ISDN_FEATURE_L2_HDLC_56K 245,13333 -#define ISDN_FEATURE_L2_MASK 247,13402 -#define ISDN_FEATURE_L2_SHIFT 248,13468 -#define ISDN_FEATURE_L3_TRANS 251,13519 -#define ISDN_FEATURE_L3_TRANSDSP 252,13584 -#define ISDN_FEATURE_L3_FCLASS2 253,13653 -#define ISDN_FEATURE_L3_FCLASS1 254,13720 -#define ISDN_FEATURE_L3_MASK 256,13788 -#define ISDN_FEATURE_L3_SHIFT 257,13855 -#define ISDN_FEATURE_P_UNKNOWN 260,13909 -#define ISDN_FEATURE_P_1TR6 261,13975 -#define ISDN_FEATURE_P_EURO 262,14038 -#define ISDN_FEATURE_P_NI1 263,14101 -#define ISDN_FEATURE_P_MASK 265,14164 -#define ISDN_FEATURE_P_SHIFT 266,14233 -typedef struct setup_parm setup_parm268,14271 -} setup_parm;setup_parm275,14626 -#define FAXIDLEN 281,14688 -typedef struct T30_s T30_s283,14709 -} T30_s;T30_s321,16204 -#define ISDN_TTY_FAX_CONN_IN 323,16214 -#define ISDN_TTY_FAX_CONN_OUT 324,16245 -#define ISDN_TTY_FAX_FCON 326,16278 -#define ISDN_TTY_FAX_DIS 327,16306 -#define ISDN_TTY_FAX_FTT 328,16334 -#define ISDN_TTY_FAX_MCF 329,16362 -#define ISDN_TTY_FAX_DCS 330,16390 -#define ISDN_TTY_FAX_TRAIN_OK 331,16418 -#define ISDN_TTY_FAX_EOP 332,16450 -#define ISDN_TTY_FAX_EOM 333,16478 -#define ISDN_TTY_FAX_MPS 334,16506 -#define ISDN_TTY_FAX_DTC 335,16534 -#define ISDN_TTY_FAX_RID 336,16562 -#define ISDN_TTY_FAX_HNG 337,16591 -#define ISDN_TTY_FAX_DT 338,16620 -#define ISDN_TTY_FAX_FCON_I 339,16649 -#define ISDN_TTY_FAX_DR 340,16680 -#define ISDN_TTY_FAX_ET 341,16709 -#define ISDN_TTY_FAX_CFR 342,16738 -#define ISDN_TTY_FAX_PTS 343,16767 -#define ISDN_TTY_FAX_SENT 344,16796 -#define ISDN_FAX_PHASE_IDLE 346,16826 -#define ISDN_FAX_PHASE_A 347,16856 -#define ISDN_FAX_PHASE_B 348,16883 -#define ISDN_FAX_PHASE_C 349,16913 -#define ISDN_FAX_PHASE_D 350,16943 -#define ISDN_FAX_PHASE_E 351,16973 -#define ISDN_FAX_CLASS1_FAE 355,17026 -#define ISDN_FAX_CLASS1_FTS 356,17056 -#define ISDN_FAX_CLASS1_FRS 357,17086 -#define ISDN_FAX_CLASS1_FTM 358,17116 -#define ISDN_FAX_CLASS1_FRM 359,17146 -#define ISDN_FAX_CLASS1_FTH 360,17176 -#define ISDN_FAX_CLASS1_FRH 361,17206 -#define ISDN_FAX_CLASS1_CTRL 362,17236 -#define ISDN_FAX_CLASS1_OK 364,17268 -#define ISDN_FAX_CLASS1_CONNECT 365,17297 -#define ISDN_FAX_CLASS1_NOCARR 366,17331 -#define ISDN_FAX_CLASS1_ERROR 367,17364 -#define ISDN_FAX_CLASS1_FCERROR 368,17396 -#define ISDN_FAX_CLASS1_QUERY 369,17430 -} aux_s;aux_s375,17521 -#define AT_COMMAND 377,17531 -#define AT_EQ_VALUE 378,17552 -#define AT_QUERY 379,17574 -#define AT_EQ_QUERY 380,17593 -#define MAX_CAPI_PARA_LEN 385,17683 -} capi_msg;capi_msg402,17943 -} isdn_ctrl;isdn_ctrl426,18705 -#define dss1_io 428,18719 -#define ni1_io 429,18746 -} isdn_if;isdn_if519,21375 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/msdos_fs.h,2531 -#define _LINUX_MSDOS_FS_H2,26 -#define SECTOR_SIZE 9,134 -#define SECTOR_BITS 10,185 -#define MSDOS_DPB 11,232 -#define MSDOS_DPB_BITS 12,290 -#define MSDOS_DPS 13,338 -#define MSDOS_DPS_BITS 14,403 -#define MSDOS_SUPER_MAGIC 17,453 -#define MSDOS_ROOT_INO 19,496 -#define MSDOS_DIR_BITS 20,545 -#define FAT_MAX_DIR_ENTRIES 23,636 -#define FAT_MAX_DIR_SIZE 24,672 -#define ATTR_NONE 26,738 -#define ATTR_RO 27,785 -#define ATTR_HIDDEN 28,825 -#define ATTR_SYS 29,862 -#define ATTR_VOLUME 30,899 -#define ATTR_DIR 31,942 -#define ATTR_ARCH 32,982 -#define ATTR_UNUSED 35,1067 -#define ATTR_EXT 37,1206 -#define CASE_LOWER_BASE 39,1277 -#define CASE_LOWER_EXT 40,1328 -#define DELETED_FLAG 42,1386 -#define IS_FREE(IS_FREE43,1456 -#define MSDOS_VALID_MODE 46,1535 -#define MSDOS_MKMODE(MSDOS_MKMODE48,1668 -#define MSDOS_MKATTR(MSDOS_MKATTR50,1799 -#define MSDOS_NAME 52,1862 -#define MSDOS_LONGNAME 53,1910 -#define MSDOS_SLOTS 54,1963 -#define MSDOS_DOT 55,2040 -#define MSDOS_DOTDOT 56,2113 -#define FAT_VALID_MEDIA(FAT_VALID_MEDIA59,2215 -#define FAT_FIRST_ENT(FAT_FIRST_ENT60,2288 -#define MAX_FAT12 64,2451 -#define MAX_FAT16 65,2475 -#define MAX_FAT32 66,2500 -#define MAX_FAT(MAX_FAT67,2529 -#define BAD_FAT12 71,2671 -#define BAD_FAT16 72,2695 -#define BAD_FAT32 73,2720 -#define BAD_FAT(BAD_FAT74,2749 -#define EOF_FAT12 78,2887 -#define EOF_FAT16 79,2911 -#define EOF_FAT32 80,2936 -#define EOF_FAT(EOF_FAT81,2965 -#define FAT_ENT_FREE 84,3084 -#define FAT_ENT_BAD 85,3109 -#define FAT_ENT_EOF 86,3141 -#define FAT_FSINFO_SIG1 88,3174 -#define FAT_FSINFO_SIG2 89,3209 -#define IS_FSINFO(IS_FSINFO90,3244 -#define VFAT_IOCTL_READDIR_BOTH 96,3390 -#define VFAT_IOCTL_READDIR_SHORT 97,3455 -#define VFAT_SFN_DISPLAY_LOWER 102,3553 -#define VFAT_SFN_DISPLAY_WIN95 103,3630 -#define VFAT_SFN_DISPLAY_WINNT 104,3705 -#define VFAT_SFN_CREATE_WIN95 105,3780 -#define VFAT_SFN_CREATE_WINNT 106,3853 -#define CF_LE_W(CF_LE_W115,4146 -#define CF_LE_L(CF_LE_L116,4180 -#define CT_LE_W(CT_LE_W117,4214 -#define CT_LE_L(CT_LE_L118,4248 -struct fat_boot_sector fat_boot_sector120,4283 -struct fat_boot_fsinfo fat_boot_fsinfo147,5384 -struct msdos_dir_entry msdos_dir_entry156,5706 -struct msdos_dir_slot msdos_dir_slot170,6225 -struct vfat_slot_info vfat_slot_info181,6653 -static inline struct msdos_sb_info *MSDOS_SB(195,7039 -static inline struct msdos_inode_info *MSDOS_I(200,7136 -static inline void fat16_towchar(205,7274 -static inline void fatwchar_to16(217,7483 -static __inline__ int fat_get_entry(286,10406 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/dcookies.h,145 -#define DCOOKIES_H10,137 -struct dcookie_user * dcookie_register(51,991 -void dcookie_unregister(56,1055 -static inline int get_dcookie(61,1122 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/bitops.h,426 -#define _LINUX_BITOPS_H2,24 -static inline int generic_ffs(12,272 -extern __inline__ int generic_fls(45,611 -extern __inline__ int get_bitmask_order(74,960 -static inline unsigned int generic_hweight32(87,1227 -static inline unsigned int generic_hweight16(96,1614 -static inline unsigned int generic_hweight8(104,1906 -static inline unsigned long generic_hweight64(111,2131 -static inline unsigned long hweight_long(127,2779 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mii.h,2550 -#define __LINUX_MII_H__9,200 -#define MII_BMCR 16,303 -#define MII_BMSR 17,377 -#define MII_PHYSID1 18,451 -#define MII_PHYSID2 19,525 -#define MII_ADVERTISE 20,599 -#define MII_LPA 21,673 -#define MII_EXPANSION 22,747 -#define MII_DCOUNTER 23,821 -#define MII_FCSCOUNTER 24,895 -#define MII_NWAYTEST 25,969 -#define MII_RERRCOUNTER 26,1043 -#define MII_SREVISION 27,1117 -#define MII_RESV1 28,1191 -#define MII_LBRERROR 29,1265 -#define MII_PHYADDR 30,1339 -#define MII_RESV2 31,1413 -#define MII_TPISTATUS 32,1487 -#define MII_NCONFIG 33,1561 -#define BMCR_RESV 36,1671 -#define BMCR_SPEED1000 37,1745 -#define BMCR_CTST 38,1811 -#define BMCR_FULLDPLX 39,1885 -#define BMCR_ANRESTART 40,1959 -#define BMCR_ISOLATE 41,2033 -#define BMCR_PDOWN 42,2107 -#define BMCR_ANENABLE 43,2181 -#define BMCR_SPEED100 44,2255 -#define BMCR_LOOPBACK 45,2329 -#define BMCR_RESET 46,2403 -#define BMSR_ERCAP 49,2512 -#define BMSR_JCD 50,2586 -#define BMSR_LSTATUS 51,2660 -#define BMSR_ANEGCAPABLE 52,2734 -#define BMSR_RFAULT 53,2808 -#define BMSR_ANEGCOMPLETE 54,2882 -#define BMSR_RESV 55,2956 -#define BMSR_10HALF 56,3030 -#define BMSR_10FULL 57,3104 -#define BMSR_100HALF 58,3178 -#define BMSR_100FULL 59,3252 -#define BMSR_100BASE4 60,3326 -#define ADVERTISE_SLCT 63,3439 -#define ADVERTISE_CSMA 64,3513 -#define ADVERTISE_10HALF 65,3587 -#define ADVERTISE_10FULL 66,3661 -#define ADVERTISE_100HALF 67,3735 -#define ADVERTISE_100FULL 68,3809 -#define ADVERTISE_100BASE4 69,3883 -#define ADVERTISE_RESV 70,3957 -#define ADVERTISE_RFAULT 71,4031 -#define ADVERTISE_LPACK 72,4105 -#define ADVERTISE_NPAGE 73,4179 -#define ADVERTISE_FULL 75,4254 -#define ADVERTISE_ALL 77,4338 -#define LPA_SLCT 81,4501 -#define LPA_10HALF 82,4575 -#define LPA_10FULL 83,4649 -#define LPA_100HALF 84,4723 -#define LPA_100FULL 85,4797 -#define LPA_100BASE4 86,4871 -#define LPA_RESV 87,4945 -#define LPA_RFAULT 88,5019 -#define LPA_LPACK 89,5093 -#define LPA_NPAGE 90,5167 -#define LPA_DUPLEX 92,5242 -#define LPA_100 93,5289 -#define EXPANSION_NWAY 96,5398 -#define EXPANSION_LCWP 97,5472 -#define EXPANSION_ENABLENPAGE 98,5546 -#define EXPANSION_NPCAPABLE 99,5620 -#define EXPANSION_MFAULTS 100,5694 -#define EXPANSION_RESV 101,5768 -#define NWAYTEST_RESV1 104,5870 -#define NWAYTEST_LOOPBACK 105,5944 -#define NWAYTEST_RESV2 106,6018 -struct mii_if_info mii_if_info109,6094 -struct mii_ioctl_data mii_ioctl_data141,7201 -static inline struct mii_ioctl_data *if_mii(149,7288 -static inline unsigned int mii_nway_result 169,7984 -static inline unsigned int mii_duplex 196,8617 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cdk.h,5138 -#define _CDK_H26,1019 -#define CDK_SIGADDR 44,1655 -#define CDK_FEATADDR 45,1681 -#define CDK_CDKADDR 46,1708 -#define CDK_RDYADDR 47,1734 -#define CDK_ALIVEMARKER 49,1761 -typedef struct cdkecpsig cdkecpsig57,2036 -} cdkecpsig_t;cdkecpsig_t62,2161 -#define ECP_MAGIC 64,2177 -typedef struct cdkonbsig cdkonbsig72,2464 -} cdkonbsig_t;cdkonbsig_t88,2851 -#define ONB_MAGIC0 90,2867 -#define ONB_MAGIC1 91,2893 -#define ONB_MAGIC2 92,2919 -#define ONB_MAGIC3 93,2945 -typedef struct cdkfeature cdkfeature100,3191 -} cdkfeature_t;cdkfeature_t109,3405 -#define ETYP_DDK 111,3422 -#define ETYP_CDK 112,3441 -typedef struct cdkhdr cdkhdr119,3674 -} cdkhdr_t;cdkhdr_t140,4218 -#define MODE_DDK 142,4231 -#define MODE_CDK 143,4250 -#define IMD_INTR 145,4270 -#define IMD_PPINTR 146,4291 -#define IMD_POLL 147,4314 -typedef struct cdkmem cdkmem155,4624 -} cdkmem_t;cdkmem_t158,4694 -#define TYP_UNDEFINED 160,4707 -#define TYP_ASYNCTRL 161,4733 -#define TYP_ASYNC 162,4758 -#define TYP_PARALLEL 163,4781 -#define TYP_SYNCX21 164,4807 -#define ASYCMD 173,5094 -#define A_NULL 175,5140 -#define A_FLUSH 176,5169 -#define A_BREAK 177,5199 -#define A_GETPORT 178,5229 -#define A_SETPORT 179,5260 -#define A_SETPORTF 180,5291 -#define A_SETPORTFTX 181,5323 -#define A_SETPORTFRX 182,5357 -#define A_GETSIGNALS 183,5391 -#define A_SETSIGNALS 184,5425 -#define A_SETSIGNALSF 185,5459 -#define A_SETSIGNALSFTX 186,5495 -#define A_SETSIGNALSFRX 187,5533 -#define A_GETNOTIFY 188,5571 -#define A_SETNOTIFY 189,5605 -#define A_NOTIFY 190,5639 -#define A_PORTCTRL 191,5670 -#define A_GETSTATS 192,5703 -#define A_RQSTATE 193,5736 -#define A_FLOWSTATE 194,5768 -#define A_CLEARSTATS 195,5802 -#define FLUSHRX 200,5897 -#define FLUSHTX 201,5918 -#define BREAKON 203,5940 -#define BREAKOFF 204,5960 -typedef struct asyport asyport211,6201 -} asyport_t;asyport_t238,6820 -#define PT_STOP1 240,6834 -#define PT_STOP15 241,6855 -#define PT_STOP2 242,6877 -#define PT_NOPARITY 244,6899 -#define PT_ODDPARITY 245,6923 -#define PT_EVENPARITY 246,6948 -#define PT_MARKPARITY 247,6974 -#define PT_SPACEPARITY 248,7000 -#define F_NONE 250,7028 -#define F_IXON 251,7048 -#define F_IXOFF 252,7068 -#define F_IXANY 253,7089 -#define F_IOXANY 254,7110 -#define F_RTSFLOW 255,7131 -#define F_CTSFLOW 256,7154 -#define F_DTRFLOW 257,7177 -#define F_DCDFLOW 258,7200 -#define F_DSROFLOW 259,7223 -#define F_DSRIFLOW 260,7248 -#define FI_NORX 262,7274 -#define FI_RAW 263,7295 -#define FI_ISTRIP 264,7315 -#define FI_UCLC 265,7337 -#define FI_INLCR 266,7358 -#define FI_ICRNL 267,7380 -#define FI_IGNCR 268,7402 -#define FI_IGNBREAK 269,7424 -#define FI_DSCRDBREAK 270,7449 -#define FI_1MARKBREAK 271,7477 -#define FI_2MARKBREAK 272,7505 -#define FI_XCHNGBREAK 273,7533 -#define FI_IGNRXERRS 274,7561 -#define FI_DSCDRXERRS 275,7589 -#define FI_1MARKRXERRS 276,7618 -#define FI_2MARKRXERRS 277,7648 -#define FI_XCHNGRXERRS 278,7678 -#define FI_DSCRDNULL 279,7709 -#define FO_OLCUC 281,7739 -#define FO_ONLCR 282,7760 -#define FO_OOCRNL 283,7781 -#define FO_ONOCR 284,7803 -#define FO_ONLRET 285,7824 -#define FO_ONL 286,7847 -#define FO_OBS 287,7868 -#define FO_OVT 288,7889 -#define FO_OFF 289,7910 -#define FO_OTAB1 290,7932 -#define FO_OTAB2 291,7955 -#define FO_OTAB3 292,7978 -#define FO_OCR1 293,8001 -#define FO_OCR2 294,8025 -#define FO_OCR3 295,8049 -#define FO_OFILL 296,8073 -#define FO_ODELL 297,8097 -#define P_RTSLOCK 299,8123 -#define P_CTSLOCK 300,8145 -#define P_MAPRTS 301,8167 -#define P_MAPCTS 302,8188 -#define P_LOOPBACK 303,8209 -#define P_DTRFOLLOW 304,8233 -#define P_FAKEDCD 305,8258 -#define P_RXIMIN 307,8282 -#define P_RXITIME 308,8307 -#define P_RXTHOLD 309,8333 -typedef struct asysigs asysigs315,8454 -} asysigs_t;asysigs_t319,8548 -#define DT_TXBUSY 321,8562 -#define DT_TXEMPTY 322,8584 -#define DT_TXLOW 323,8607 -#define DT_TXHIGH 324,8628 -#define DT_TXFULL 325,8650 -#define DT_TXHOG 326,8673 -#define DT_TXFLOWED 327,8695 -#define DT_TXBREAK 328,8720 -#define DT_RXBUSY 330,8745 -#define DT_RXEMPTY 331,8769 -#define DT_RXLOW 332,8794 -#define DT_RXHIGH 333,8817 -#define DT_RXFULL 334,8841 -#define DT_RXHOG 335,8866 -#define DT_RXFLOWED 336,8890 -#define DT_RXBREAK 337,8917 -#define SG_DTR 339,8944 -#define SG_DCD 340,8964 -#define SG_RTS 341,8984 -#define SG_CTS 342,9004 -#define SG_DSR 343,9024 -#define SG_RI 344,9045 -typedef struct asynotify asynotify351,9266 -} asynotify_t;asynotify_t356,9383 -} asyctrl_t;asyctrl_t369,9632 -#define CT_ENABLE 371,9646 -#define CT_DISABLE 372,9668 -#define CT_STOP 373,9691 -#define CT_START 374,9712 -#define CT_STARTFLOW 375,9733 -#define CT_STOPFLOW 376,9759 -#define CT_SENDCHR 377,9784 -typedef struct asystats asystats384,10008 -} asystats_t;asystats_t414,10716 -typedef struct cdkctrl cdkctrl424,11098 -} cdkctrl_t;cdkctrl_t432,11283 -typedef struct cdkasyrq cdkasyrq441,11592 -} cdkasyrq_t;cdkasyrq_t446,11707 -typedef struct cdkasy cdkasy453,11923 -} cdkasy_t;cdkasy_t461,12095 -#define STL_BINTR 474,12419 -#define STL_BSTART 475,12449 -#define STL_BSTOP 476,12480 -#define STL_BRESET 477,12510 -#define STL_GETPFLAG 482,12616 -#define STL_SETPFLAG 483,12649 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/node.h,87 -#define _LINUX_NODE_H_20,640 -struct node node25,718 -#define to_node(to_node31,825 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/firmware.h,96 -#define _LINUX_FIRMWARE_H2,26 -#define FIRMWARE_NAME_MAX 5,103 -struct firmware firmware6,133 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/binfmts.h,550 -#define _LINUX_BINFMTS_H2,25 -#define MAX_ARG_PAGES 13,285 -#define BINPRM_BUF_SIZE 16,343 -struct linux_binprm{linux_binprm23,483 -#define BINPRM_FLAGS_ENFORCE_NONDUMP_BIT 43,1075 -#define BINPRM_FLAGS_ENFORCE_NONDUMP 44,1118 -#define BINPRM_FLAGS_EXECFD_BIT 47,1255 -#define BINPRM_FLAGS_EXECFD 48,1289 -struct linux_binfmt linux_binfmt55,1461 -#define SUID_DUMP_DISABLE 73,2133 -#define SUID_DUMP_USER 74,2185 -#define SUID_DUMP_ROOT 75,2241 -#define EXSTACK_DEFAULT 78,2316 -#define EXSTACK_DISABLE_X 79,2380 -#define EXSTACK_ENABLE_X 80,2440 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ext2_fs.h,7594 -#define _LINUX_EXT2_FS_H17,332 -#define EXT2_PREALLOCATE34,635 -#define EXT2_DEFAULT_PREALLOC_BLOCKS 35,660 -#define EXT2FS_DATE 40,750 -#define EXT2FS_VERSION 41,782 -# define ext2_debug(ext2_debug47,855 -# define ext2_debug(ext2_debug53,1017 -#define EXT2_BAD_INO 59,1091 -#define EXT2_ROOT_INO 60,1139 -#define EXT2_BOOT_LOADER_INO 61,1182 -#define EXT2_UNDEL_DIR_INO 62,1238 -#define EXT2_GOOD_OLD_FIRST_INO 65,1356 -#define EXT2_SUPER_MAGIC 70,1447 -static inline struct ext2_sb_info *EXT2_SB(73,1498 -#define EXT2_SB(EXT2_SB81,1779 -#define EXT2_LINK_MAX 87,1855 -#define EXT2_MIN_BLOCK_SIZE 92,1949 -#define EXT2_MAX_BLOCK_SIZE 93,1983 -#define EXT2_MIN_BLOCK_LOG_SIZE 94,2017 -# define EXT2_BLOCK_SIZE(EXT2_BLOCK_SIZE96,2073 -# define EXT2_BLOCK_SIZE(EXT2_BLOCK_SIZE98,2127 -#define EXT2_ADDR_PER_BLOCK(EXT2_ADDR_PER_BLOCK100,2210 -# define EXT2_BLOCK_SIZE_BITS(EXT2_BLOCK_SIZE_BITS102,2298 -# define EXT2_BLOCK_SIZE_BITS(EXT2_BLOCK_SIZE_BITS104,2361 -#define EXT2_ADDR_PER_BLOCK_BITS(EXT2_ADDR_PER_BLOCK_BITS107,2448 -#define EXT2_INODE_SIZE(EXT2_INODE_SIZE108,2520 -#define EXT2_FIRST_INO(EXT2_FIRST_INO109,2575 -#define EXT2_INODE_SIZE(EXT2_INODE_SIZE111,2634 -#define EXT2_FIRST_INO(EXT2_FIRST_INO114,2764 -#define EXT2_MIN_FRAG_SIZE 122,2953 -#define EXT2_MAX_FRAG_SIZE 123,2986 -#define EXT2_MIN_FRAG_LOG_SIZE 124,3019 -# define EXT2_FRAG_SIZE(EXT2_FRAG_SIZE126,3074 -# define EXT2_FRAGS_PER_BLOCK(EXT2_FRAGS_PER_BLOCK127,3128 -# define EXT2_FRAG_SIZE(EXT2_FRAG_SIZE129,3199 -# define EXT2_FRAGS_PER_BLOCK(EXT2_FRAGS_PER_BLOCK130,3272 -struct ext2_group_descext2_group_desc136,3403 -# define EXT2_BLOCKS_PER_GROUP(EXT2_BLOCKS_PER_GROUP152,3866 -# define EXT2_DESC_PER_BLOCK(EXT2_DESC_PER_BLOCK153,3933 -# define EXT2_INODES_PER_GROUP(EXT2_INODES_PER_GROUP154,3997 -# define EXT2_DESC_PER_BLOCK_BITS(EXT2_DESC_PER_BLOCK_BITS155,4064 -# define EXT2_BLOCKS_PER_GROUP(EXT2_BLOCKS_PER_GROUP157,4143 -# define EXT2_DESC_PER_BLOCK(EXT2_DESC_PER_BLOCK158,4203 -# define EXT2_INODES_PER_GROUP(EXT2_INODES_PER_GROUP159,4291 -#define EXT2_NDIR_BLOCKS 165,4407 -#define EXT2_IND_BLOCK 166,4436 -#define EXT2_DIND_BLOCK 167,4478 -#define EXT2_TIND_BLOCK 168,4525 -#define EXT2_N_BLOCKS 169,4573 -#define EXT2_SECRM_FL 174,4642 -#define EXT2_UNRM_FL 175,4699 -#define EXT2_COMPR_FL 176,4748 -#define EXT2_SYNC_FL 177,4803 -#define EXT2_IMMUTABLE_FL 178,4863 -#define EXT2_APPEND_FL 179,4922 -#define EXT2_NODUMP_FL 180,4995 -#define EXT2_NOATIME_FL 181,5054 -#define EXT2_DIRTY_FL 183,5157 -#define EXT2_COMPRBLK_FL 184,5192 -#define EXT2_NOCOMP_FL 185,5267 -#define EXT2_ECOMPR_FL 186,5324 -#define EXT2_BTREE_FL 188,5436 -#define EXT2_INDEX_FL 189,5494 -#define EXT2_IMAGIC_FL 190,5558 -#define EXT2_JOURNAL_DATA_FL 191,5614 -#define EXT2_NOTAIL_FL 192,5679 -#define EXT2_DIRSYNC_FL 193,5752 -#define EXT2_TOPDIR_FL 194,5832 -#define EXT2_RESERVED_FL 195,5902 -#define EXT2_FL_USER_VISIBLE 197,5968 -#define EXT2_FL_USER_MODIFIABLE 198,6034 -#define EXT2_IOC_GETFLAGS 203,6132 -#define EXT2_IOC_SETFLAGS 204,6178 -#define EXT2_IOC_GETVERSION 205,6224 -#define EXT2_IOC_SETVERSION 206,6272 -struct ext2_inode ext2_inode211,6365 -#define i_size_high 265,7847 -#define i_reserved1 268,7924 -#define i_frag 269,7970 -#define i_fsize 270,8007 -#define i_uid_low 271,8046 -#define i_gid_low 272,8070 -#define i_uid_high 273,8094 -#define i_gid_high 274,8138 -#define i_reserved2 275,8182 -#define i_translator 279,8252 -#define i_frag 280,8299 -#define i_fsize 281,8336 -#define i_uid_high 282,8375 -#define i_gid_high 283,8418 -#define i_author 284,8461 -#define i_reserved1 288,8525 -#define i_frag 289,8571 -#define i_fsize 290,8608 -#define i_reserved2 291,8647 -#define EXT2_VALID_FS 297,8730 -#define EXT2_ERROR_FS 298,8785 -#define EXT2_MOUNT_CHECK 303,8861 -#define EXT2_MOUNT_OLDALLOC 304,8921 -#define EXT2_MOUNT_GRPID 305,8998 -#define EXT2_MOUNT_DEBUG 306,9073 -#define EXT2_MOUNT_ERRORS_CONT 307,9136 -#define EXT2_MOUNT_ERRORS_RO 308,9200 -#define EXT2_MOUNT_ERRORS_PANIC 309,9267 -#define EXT2_MOUNT_MINIX_DF 310,9329 -#define EXT2_MOUNT_NOBH 311,9395 -#define EXT2_MOUNT_NO_UID32 312,9450 -#define EXT2_MOUNT_XATTR_USER 313,9513 -#define EXT2_MOUNT_POSIX_ACL 314,9582 -#define clear_opt(clear_opt316,9653 -#define set_opt(set_opt317,9703 -#define test_opt(test_opt318,9751 -#define EXT2_DFL_MAX_MNT_COUNT 323,9893 -#define EXT2_DFL_CHECKINTERVAL 324,9950 -#define EXT2_ERRORS_CONTINUE 329,10058 -#define EXT2_ERRORS_RO 330,10115 -#define EXT2_ERRORS_PANIC 331,10169 -#define EXT2_ERRORS_DEFAULT 332,10210 -struct ext2_super_block ext2_super_block337,10300 -#define EXT2_OS_LINUX 412,13580 -#define EXT2_OS_HURD 413,13605 -#define EXT2_OS_MASIX 414,13629 -#define EXT2_OS_FREEBSD 415,13654 -#define EXT2_OS_LITES 416,13681 -#define EXT2_GOOD_OLD_REV 421,13733 -#define EXT2_DYNAMIC_REV 422,13798 -#define EXT2_CURRENT_REV 424,13866 -#define EXT2_MAX_SUPP_REV 425,13909 -#define EXT2_GOOD_OLD_INODE_SIZE 427,13953 -#define EXT2_HAS_COMPAT_FEATURE(EXT2_HAS_COMPAT_FEATURE433,14026 -#define EXT2_HAS_RO_COMPAT_FEATURE(EXT2_HAS_RO_COMPAT_FEATURE435,14132 -#define EXT2_HAS_INCOMPAT_FEATURE(EXT2_HAS_INCOMPAT_FEATURE437,14244 -#define EXT2_SET_COMPAT_FEATURE(EXT2_SET_COMPAT_FEATURE439,14354 -#define EXT2_SET_RO_COMPAT_FEATURE(EXT2_SET_RO_COMPAT_FEATURE441,14457 -#define EXT2_SET_INCOMPAT_FEATURE(EXT2_SET_INCOMPAT_FEATURE443,14566 -#define EXT2_CLEAR_COMPAT_FEATURE(EXT2_CLEAR_COMPAT_FEATURE445,14673 -#define EXT2_CLEAR_RO_COMPAT_FEATURE(EXT2_CLEAR_RO_COMPAT_FEATURE447,14779 -#define EXT2_CLEAR_INCOMPAT_FEATURE(EXT2_CLEAR_INCOMPAT_FEATURE449,14891 -#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 452,15002 -#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 453,15050 -#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 454,15099 -#define EXT2_FEATURE_COMPAT_EXT_ATTR 455,15147 -#define EXT2_FEATURE_COMPAT_RESIZE_INO 456,15192 -#define EXT2_FEATURE_COMPAT_DIR_INDEX 457,15239 -#define EXT2_FEATURE_COMPAT_ANY 458,15285 -#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 460,15331 -#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 461,15382 -#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 462,15431 -#define EXT2_FEATURE_RO_COMPAT_ANY 463,15479 -#define EXT2_FEATURE_INCOMPAT_COMPRESSION 465,15527 -#define EXT2_FEATURE_INCOMPAT_FILETYPE 466,15576 -#define EXT3_FEATURE_INCOMPAT_RECOVER 467,15623 -#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 468,15669 -#define EXT2_FEATURE_INCOMPAT_META_BG 469,15718 -#define EXT2_FEATURE_INCOMPAT_ANY 470,15764 -#define EXT2_FEATURE_COMPAT_SUPP 472,15811 -#define EXT2_FEATURE_INCOMPAT_SUPP 473,15873 -#define EXT2_FEATURE_RO_COMPAT_SUPP 475,15980 -#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED 478,16139 -#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED 479,16211 -#define EXT2_DEF_RESUID 484,16351 -#define EXT2_DEF_RESGID 485,16378 -#define EXT2_DEFM_DEBUG 490,16438 -#define EXT2_DEFM_BSDGROUPS 491,16470 -#define EXT2_DEFM_XATTR_USER 492,16505 -#define EXT2_DEFM_ACL 493,16541 -#define EXT2_DEFM_UID16 494,16571 -#define EXT3_DEFM_JMODE 496,16660 -#define EXT3_DEFM_JMODE_DATA 497,16693 -#define EXT3_DEFM_JMODE_ORDERED 498,16729 -#define EXT3_DEFM_JMODE_WBACK 499,16768 -#define EXT2_NAME_LEN 504,16847 -struct ext2_dir_entry ext2_dir_entry506,16874 -struct ext2_dir_entry_2 ext2_dir_entry_2519,17301 - EXT2_FT_UNKNOWN,532,17625 - EXT2_FT_REG_FILE,533,17643 - EXT2_FT_DIR,534,17662 - EXT2_FT_CHRDEV,535,17676 - EXT2_FT_BLKDEV,536,17693 - EXT2_FT_FIFO,537,17710 - EXT2_FT_SOCK,538,17725 - EXT2_FT_SYMLINK,539,17740 - EXT2_FT_MAX540,17758 -#define EXT2_DIR_PAD 548,17878 -#define EXT2_DIR_ROUND 549,17904 -#define EXT2_DIR_REC_LEN(EXT2_DIR_REC_LEN550,17949 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ftape-vendors.h,406 -#define _FTAPE_VENDORS_H2,25 - unknown_wake_up 33,1130 - no_wake_up,34,1152 - wake_up_colorado,35,1165 - wake_up_mountain,36,1184 - wake_up_insight,37,1203 -} wake_up_types;wake_up_types38,1221 -} wakeup_method;wakeup_method43,1350 -#define WAKEUP_METHODS 48,1514 -} vendor_struct;vendor_struct61,1956 -#define UNKNOWN_VENDOR 63,1974 -#define QIC117_VENDORS 65,2003 -#define QIC117_MAKE_CODES 112,4974 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/if_hippi.h,494 -#define _LINUX_IF_HIPPI_H23,815 -#define HIPPI_ALEN 31,904 -#define HIPPI_HLEN 32,962 -#define HIPPI_ZLEN 33,1006 -#define HIPPI_DATA_LEN 34,1066 -#define HIPPI_FRAME_LEN 35,1127 -#define HIPPI_EXTENDED_SAP 41,1266 -#define HIPPI_UI_CMD 42,1298 -struct hipnet_statisticshipnet_statistics53,1428 -struct hippi_fp_hdrhippi_fp_hdr79,2215 -struct hippi_le_hdrhippi_le_hdr110,3010 -#define HIPPI_OUI_LEN 136,3588 -struct hippi_snap_hdrhippi_snap_hdr141,3719 -struct hippi_hdrhippi_hdr150,3980 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/parport_pc.h,1132 -#define __LINUX_PARPORT_PC_H2,29 -#define ECONTROL(ECONTROL8,144 -#define CONFIGB(CONFIGB9,185 -#define CONFIGA(CONFIGA10,226 -#define FIFO(FIFO11,267 -#define EPPDATA(EPPDATA12,308 -#define EPPADDR(EPPADDR13,349 -#define CONTROL(CONTROL14,390 -#define STATUS(STATUS15,431 -#define DATA(DATA16,472 -struct parport_pc_private parport_pc_private18,514 -static __inline__ void parport_pc_write_data(46,1047 -static __inline__ unsigned char parport_pc_read_data(54,1245 -extern __inline__ void dump_parport_state 65,1491 -#define dump_parport_state(dump_parport_state106,2907 -static __inline__ unsigned char __parport_pc_frob_control 111,3085 -static __inline__ void parport_pc_data_reverse 129,3658 -static __inline__ void parport_pc_data_forward 134,3774 -static __inline__ void parport_pc_write_control 139,3890 -static __inline__ unsigned char parport_pc_read_control(157,4383 -static __inline__ unsigned char parport_pc_frob_control 167,4718 -static __inline__ unsigned char parport_pc_read_status(194,5426 -static __inline__ void parport_pc_disable_irq(200,5530 -static __inline__ void parport_pc_enable_irq(205,5644 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/kbd_diacr.h,22 -#define _DIACR_H2,17 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/b1pcmcia.h,28 -#define _B1PCMCIA_H_14,388 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/coda_psdev.h,386 -#define __CODA_PSDEV_H2,23 -#define CODA_PSDEV_MAJOR 4,47 -#define MAX_CODADEVS 5,75 -#define CODA_SUPER_MAGIC 7,130 -struct coda_sb_infocoda_sb_info11,184 -struct venus_comm venus_comm17,287 -static inline struct coda_sb_info *coda_sbp(27,515 -struct upc_req upc_req79,2944 -#define REQ_ASYNC 91,3341 -#define REQ_READ 92,3364 -#define REQ_WRITE 93,3387 -#define REQ_ABORT 94,3410 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/fb.h,9315 -#define _LINUX_FB_H2,20 -#define FB_MAJOR 8,106 -#define FB_MAX 9,127 -#define FBIOGET_VSCREENINFO 13,208 -#define FBIOPUT_VSCREENINFO 14,243 -#define FBIOGET_FSCREENINFO 15,278 -#define FBIOGETCMAP 16,313 -#define FBIOPUTCMAP 17,341 -#define FBIOPAN_DISPLAY 18,369 -#define FBIO_CURSOR 20,419 -#define FBIO_CURSOR 22,496 -#define FBIOGET_CON2FBMAP 28,729 -#define FBIOPUT_CON2FBMAP 29,762 -#define FBIOBLANK 30,795 -#define FBIOGET_VBLANK 31,853 -#define FBIO_ALLOC 32,911 -#define FBIO_FREE 33,950 -#define FBIOGET_GLYPH 34,989 -#define FBIOGET_HWCINFO 35,1028 -#define FBIOPUT_MODEINFO 36,1067 -#define FBIOGET_DISPINFO 37,1106 -#define FB_TYPE_PACKED_PIXELS 40,1147 -#define FB_TYPE_PLANES 41,1200 -#define FB_TYPE_INTERLEAVED_PLANES 42,1256 -#define FB_TYPE_TEXT 43,1318 -#define FB_TYPE_VGA_PLANES 44,1365 -#define FB_AUX_TEXT_MDA 46,1417 -#define FB_AUX_TEXT_CGA 47,1466 -#define FB_AUX_TEXT_S3_MMIO 48,1522 -#define FB_AUX_TEXT_MGA_STEP16 49,1575 -#define FB_AUX_TEXT_MGA_STEP8 50,1661 -#define FB_AUX_VGA_PLANES_VGA4 52,1747 -#define FB_AUX_VGA_PLANES_CFB4 53,1813 -#define FB_AUX_VGA_PLANES_CFB8 54,1874 -#define FB_VISUAL_MONO01 56,1936 -#define FB_VISUAL_MONO10 57,1995 -#define FB_VISUAL_TRUECOLOR 58,2054 -#define FB_VISUAL_PSEUDOCOLOR 59,2102 -#define FB_VISUAL_DIRECTCOLOR 60,2167 -#define FB_VISUAL_STATIC_PSEUDOCOLOR 61,2219 -#define FB_ACCEL_NONE 63,2287 -#define FB_ACCEL_ATARIBLITT 64,2342 -#define FB_ACCEL_AMIGABLITT 65,2393 -#define FB_ACCEL_S3_TRIO64 66,2458 -#define FB_ACCEL_NCR_77C32BLT 67,2522 -#define FB_ACCEL_S3_VIRGE 68,2589 -#define FB_ACCEL_ATI_MACH64GX 69,2651 -#define FB_ACCEL_DEC_TGA 70,2711 -#define FB_ACCEL_ATI_MACH64CT 71,2759 -#define FB_ACCEL_ATI_MACH64VT 72,2819 -#define FB_ACCEL_ATI_MACH64GT 73,2887 -#define FB_ACCEL_SUN_CREATOR 74,2956 -#define FB_ACCEL_SUN_CGSIX 75,3016 -#define FB_ACCEL_SUN_LEO 76,3062 -#define FB_ACCEL_IMS_TWINTURBO 77,3109 -#define FB_ACCEL_3DLABS_PERMEDIA2 78,3165 -#define FB_ACCEL_MATROX_MGA2064W 79,3227 -#define FB_ACCEL_MATROX_MGA1064SG 80,3297 -#define FB_ACCEL_MATROX_MGA2164W 81,3368 -#define FB_ACCEL_MATROX_MGA2164W_AGP 82,3441 -#define FB_ACCEL_MATROX_MGAG100 83,3518 -#define FB_ACCEL_MATROX_MGAG200 84,3589 -#define FB_ACCEL_SUN_CG14 85,3660 -#define FB_ACCEL_SUN_BWTWO 86,3712 -#define FB_ACCEL_SUN_CGTHREE 87,3760 -#define FB_ACCEL_SUN_TCX 88,3812 -#define FB_ACCEL_MATROX_MGAG400 89,3856 -#define FB_ACCEL_NV3 90,3911 -#define FB_ACCEL_NV4 91,3971 -#define FB_ACCEL_NV5 92,4019 -#define FB_ACCEL_CT_6555x 93,4068 -#define FB_ACCEL_3DFX_BANSHEE 94,4115 -#define FB_ACCEL_ATI_RAGE128 95,4169 -#define FB_ACCEL_IGS_CYBER2000 96,4227 -#define FB_ACCEL_IGS_CYBER2010 97,4282 -#define FB_ACCEL_IGS_CYBER5000 98,4337 -#define FB_ACCEL_SIS_GLAMOUR 99,4392 -#define FB_ACCEL_3DLABS_PERMEDIA3 100,4462 -#define FB_ACCEL_ATI_RADEON 101,4524 -#define FB_ACCEL_I810 102,4580 -#define FB_ACCEL_SIS_GLAMOUR_2 103,4655 -#define FB_ACCEL_SIS_XABRE 104,4715 -#define FB_ACCEL_NEOMAGIC_NM2070 106,4776 -#define FB_ACCEL_NEOMAGIC_NM2090 107,4847 -#define FB_ACCEL_NEOMAGIC_NM2093 108,4918 -#define FB_ACCEL_NEOMAGIC_NM2097 109,4989 -#define FB_ACCEL_NEOMAGIC_NM2160 110,5060 -#define FB_ACCEL_NEOMAGIC_NM2200 111,5131 -#define FB_ACCEL_NEOMAGIC_NM2230 112,5202 -#define FB_ACCEL_NEOMAGIC_NM2360 113,5273 -#define FB_ACCEL_NEOMAGIC_NM2380 114,5344 -struct fb_fix_screeninfo fb_fix_screeninfo117,5417 -struct fb_bitfield fb_bitfield143,6668 -#define FB_NONSTD_HAM 150,6856 -#define FB_ACTIVATE_NOW 152,6917 -#define FB_ACTIVATE_NXTOPEN 153,6981 -#define FB_ACTIVATE_TEST 154,7039 -#define FB_ACTIVATE_MASK 155,7103 -#define FB_ACTIVATE_VBL 157,7157 -#define FB_CHANGE_CMAP_VBL 158,7226 -#define FB_ACTIVATE_ALL 159,7289 -#define FB_ACTIVATE_FORCE 160,7355 -#define FB_ACTIVATE_INV_MODE 161,7426 -#define FB_ACCELF_TEXT 163,7494 -#define FB_SYNC_HOR_HIGH_ACT 165,7568 -#define FB_SYNC_VERT_HIGH_ACT 166,7633 -#define FB_SYNC_EXT 167,7697 -#define FB_SYNC_COMP_HIGH_ACT 168,7741 -#define FB_SYNC_BROADCAST 169,7808 -#define FB_SYNC_ON_GREEN 172,7958 -#define FB_VMODE_NONINTERLACED 174,8007 -#define FB_VMODE_INTERLACED 175,8062 -#define FB_VMODE_DOUBLE 176,8109 -#define FB_VMODE_MASK 177,8154 -#define FB_VMODE_YWRAP 179,8182 -#define FB_VMODE_SMOOTH_XPAN 180,8245 -#define FB_VMODE_CONUPDATE 181,8323 -#define PICOS2KHZ(PICOS2KHZ183,8384 -#define KHZ2PICOS(KHZ2PICOS184,8424 -struct fb_var_screeninfo fb_var_screeninfo186,8465 -struct fb_cmap fb_cmap225,9880 -struct fb_con2fbmap fb_con2fbmap234,10084 -#define VESA_NO_BLANKING 240,10173 -#define VESA_VSYNC_SUSPEND 241,10207 -#define VESA_HSYNC_SUSPEND 242,10241 -#define VESA_POWERDOWN 243,10275 -#define FB_VBLANK_VBLANKING 245,10310 -#define FB_VBLANK_HBLANKING 246,10380 -#define FB_VBLANK_HAVE_VBLANK 247,10452 -#define FB_VBLANK_HAVE_HBLANK 248,10526 -#define FB_VBLANK_HAVE_COUNT 249,10602 -#define FB_VBLANK_HAVE_VCOUNT 250,10679 -#define FB_VBLANK_HAVE_HCOUNT 251,10747 -#define FB_VBLANK_VSYNCING 252,10815 -#define FB_VBLANK_HAVE_VSYNC 253,10875 -struct fb_vblank fb_vblank255,10947 -#define ROP_COPY 264,11243 -#define ROP_XOR 265,11262 -struct fb_copyarea fb_copyarea267,11282 -struct fb_fillrect fb_fillrect276,11380 -struct fb_image fb_image285,11504 -#define FB_CUR_SETCUR 301,11861 -#define FB_CUR_SETPOS 302,11890 -#define FB_CUR_SETHOT 303,11919 -#define FB_CUR_SETCMAP 304,11948 -#define FB_CUR_SETSHAPE 305,11977 -#define FB_CUR_SETSIZE 306,12006 -#define FB_CUR_SETALL 307,12034 -struct fbcurpos fbcurpos309,12064 -struct fb_cursor fb_cursor313,12099 -#define FB_DPMS_ACTIVE_OFF 342,12826 -#define FB_DPMS_SUSPEND 343,12855 -#define FB_DPMS_STANDBY 344,12882 -#define FB_DISP_DDI 346,12910 -#define FB_DISP_ANA_700_300 347,12933 -#define FB_DISP_ANA_714_286 348,12963 -#define FB_DISP_ANA_1000_400 349,12993 -#define FB_DISP_ANA_700_000 350,13024 -#define FB_DISP_MONO 352,13056 -#define FB_DISP_RGB 353,13081 -#define FB_DISP_MULTI 354,13105 -#define FB_DISP_UNKNOWN 355,13132 -#define FB_SIGNAL_NONE 357,13162 -#define FB_SIGNAL_BLANK_BLANK 358,13188 -#define FB_SIGNAL_SEPARATE 359,13220 -#define FB_SIGNAL_COMPOSITE 360,13249 -#define FB_SIGNAL_SYNC_ON_GREEN 361,13279 -#define FB_SIGNAL_SERRATION_ON 362,13313 -#define FB_MISC_PRIM_COLOR 364,13348 -#define FB_MISC_1ST_DETAIL 365,13377 -struct fb_chroma fb_chroma366,13447 -struct fb_monspecs fb_monspecs377,13610 -struct fb_cmap_user fb_cmap_user407,14827 -struct fb_image_user fb_image_user416,15062 -struct fb_cursor_user fb_cursor_user428,15405 -#define FB_EVENT_MODE_CHANGE 442,15797 -#define FB_EVENT_SUSPEND 446,15964 -#define FB_EVENT_RESUME 450,16088 -#define FB_EVENT_MODE_DELETE 452,16169 -#define FB_EVENT_FB_REGISTERED 454,16252 -#define FB_EVENT_GET_CONSOLE_MAP 456,16343 -#define FB_EVENT_SET_CONSOLE_MAP 458,16434 -struct fb_event fb_event461,16481 -#define FB_PIXMAP_DEFAULT 478,16842 -#define FB_PIXMAP_SYSTEM 479,16905 -#define FB_PIXMAP_IO 480,16968 -#define FB_PIXMAP_SYNC 481,17031 -struct fb_pixmap fb_pixmap483,17095 -struct fb_ops fb_ops505,17833 -#define FBINFO_MODULE 559,19796 -#define FBINFO_HWACCEL_DISABLED 560,19861 -#define FBINFO_PARTIAL_PAN_OK 567,20162 -#define FBINFO_READS_FAST 568,20243 -#define FBINFO_HWACCEL_NONE 576,20584 -#define FBINFO_HWACCEL_COPYAREA 577,20620 -#define FBINFO_HWACCEL_FILLRECT 578,20675 -#define FBINFO_HWACCEL_IMAGEBLIT 579,20730 -#define FBINFO_HWACCEL_ROTATE 580,20785 -#define FBINFO_HWACCEL_XPAN 581,20838 -#define FBINFO_HWACCEL_YPAN 582,20889 -#define FBINFO_HWACCEL_YWRAP 583,20940 -#define FBINFO_MISC_MODECHANGEUSER 585,20993 -#define FBINFO_MISC_MODESWITCH 587,21089 -#define FBINFO_MISC_MODESWITCHLATE 588,21154 -struct fb_info fb_info590,21228 -#define FBINFO_STATE_RUNNING 608,22011 -#define FBINFO_STATE_SUSPENDED 609,22042 -#define FBINFO_DEFAULT 617,22205 -#define FBINFO_DEFAULT 619,22248 -#define FBINFO_FLAG_MODULE 623,22302 -#define FBINFO_FLAG_DEFAULT 624,22343 -#define STUPID_ACCELF_TEXT_SHIT632,22666 -#define fb_readb 642,22887 -#define fb_readw 643,22915 -#define fb_readl 644,22943 -#define fb_readq 645,22971 -#define fb_writeb 646,22999 -#define fb_writew 647,23029 -#define fb_writel 648,23059 -#define fb_writeq 649,23089 -#define fb_memset 650,23119 -#define fb_readb 654,23310 -#define fb_readw 655,23339 -#define fb_readl 656,23368 -#define fb_readq 657,23397 -#define fb_writeb 658,23426 -#define fb_writew 659,23457 -#define fb_writel 660,23488 -#define fb_writeq 661,23519 -#define fb_memset 662,23550 -#define fb_readb(fb_readb666,23586 -#define fb_readw(fb_readw667,23635 -#define fb_readl(fb_readl668,23685 -#define fb_readq(fb_readq669,23735 -#define fb_writeb(fb_writeb670,23785 -#define fb_writew(fb_writew671,23843 -#define fb_writel(fb_writel672,23902 -#define fb_writeq(fb_writeq673,23961 -#define fb_memset 674,24020 -#define FB_MAXTIMINGS 721,26141 -#define FB_VSYNCTIMINGS 722,26166 -#define FB_HSYNCTIMINGS 723,26193 -#define FB_DCLKTIMINGS 724,26220 -#define FB_IGNOREMON 725,26246 -#define FB_MODE_IS_UNKNOWN 727,26275 -#define FB_MODE_IS_DETAILED 728,26304 -#define FB_MODE_IS_STANDARD 729,26334 -#define FB_MODE_IS_VESA 730,26364 -#define FB_MODE_IS_CALCULATED 731,26391 -#define FB_MODE_IS_FIRST 732,26423 -#define FB_MODE_IS_FROM_VAR 733,26451 -#define VESA_MODEDB_SIZE 750,27352 -struct fb_videomode fb_videomode779,28790 -struct fb_modelist fb_modelist796,29058 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/mbcache.h,212 -#define MB_CACHE_INDEXES_COUNT 8,144 -struct mb_cache_op mb_cache_op12,202 -struct mb_cache mb_cache16,271 -struct mb_cache_entry_index mb_cache_entry_index30,594 -struct mb_cache_entry mb_cache_entry35,678 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/ds1286.h,741 -#define __LINUX_DS1286_H9,255 -#define RTC_HUNDREDTH_SECOND 16,471 -#define RTC_SECONDS 17,502 -#define RTC_MINUTES 18,525 -#define RTC_MINUTES_ALARM 19,548 -#define RTC_HOURS 20,576 -#define RTC_HOURS_ALARM 21,597 -#define RTC_DAY 22,624 -#define RTC_DAY_ALARM 23,644 -#define RTC_DATE 24,669 -#define RTC_MONTH 25,689 -#define RTC_YEAR 26,710 -#define RTC_CMD 27,731 -#define RTC_WHSEC 28,752 -#define RTC_WSEC 29,774 -#define RTC_UNUSED 30,795 -# define RTC_ALARM_DONT_CARE 33,870 -#define RTC_EOSC 39,944 -#define RTC_ESQW 40,967 -#define RTC_TDF 45,1030 -#define RTC_WAF 46,1053 -#define RTC_TDM 47,1076 -#define RTC_WAM 48,1099 -#define RTC_PU_LVL 49,1122 -#define RTC_IBH_LO 50,1147 -#define RTC_IPSW 51,1172 -#define RTC_TE 52,1195 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/topology.h,279 -#define _LINUX_TOPOLOGY_H28,964 -#define nr_cpus_node(nr_cpus_node38,1142 -static inline int __next_node_with_cpus(46,1302 -#define for_each_node_with_cpus(for_each_node_with_cpus54,1434 -#define node_distance(node_distance58,1566 -#define PENALTY_FOR_NODE_WITH_CPUS 61,1656 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/cuda.h,617 -#define CUDA_WARM_START 9,223 -#define CUDA_AUTOPOLL 10,250 -#define CUDA_GET_6805_ADDR 11,275 -#define CUDA_GET_TIME 12,304 -#define CUDA_GET_PRAM 13,329 -#define CUDA_SET_6805_ADDR 14,354 -#define CUDA_SET_TIME 15,383 -#define CUDA_POWERDOWN 16,408 -#define CUDA_POWERUP_TIME 17,436 -#define CUDA_SET_PRAM 18,466 -#define CUDA_MS_RESET 19,493 -#define CUDA_SEND_DFAC 20,520 -#define CUDA_RESET_SYSTEM 21,548 -#define CUDA_SET_IPL 22,579 -#define CUDA_SET_AUTO_RATE 23,606 -#define CUDA_GET_AUTO_RATE 24,638 -#define CUDA_SET_DEVICE_LIST 25,670 -#define CUDA_GET_DEVICE_LIST 26,704 -#define CUDA_GET_SET_IIC 27,738 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/atalk.h,1561 -#define __LINUX_ATALK_H__2,26 -#define ATPORT_FIRST 9,209 -#define ATPORT_RESERVED 10,232 -#define ATPORT_LAST 11,260 -#define ATADDR_ANYNET 12,323 -#define ATADDR_ANYNODE 13,354 -#define ATADDR_ANYPORT 14,385 -#define ATADDR_BCAST 15,417 -#define DDP_MAXSZ 16,448 -#define DDP_MAXHOPS 17,470 -#define SIOCATALKDIFADDR 19,527 -struct atalk_addr atalk_addr21,582 -struct sockaddr_at sockaddr_at26,634 -struct atalk_netrange atalk_netrange33,756 -struct atalk_route atalk_route39,839 -struct atalk_iface atalk_iface55,1244 -#define ATIF_PROBE 59,1333 -#define ATIF_PROBE_FAIL 60,1384 -struct atalk_sock atalk_sock65,1493 -struct ddpehdr ddpehdr78,1717 -static __inline__ struct ddpehdr *ddp_hdr(98,2057 -struct ddpebits ddpebits107,2256 -struct ddpshdr ddpshdr120,2439 -struct elapaarp elapaarp134,2696 -#define AARP_HW_TYPE_ETHERNET 136,2730 -#define AARP_HW_TYPE_TOKENRING 137,2763 -#define AARP_PA_ALEN 141,2841 -#define AARP_REQUEST 143,2883 -#define AARP_REPLY 144,2908 -#define AARP_PROBE 145,2931 -static __inline__ struct elapaarp *aarp_hdr(156,3327 -#define AARP_EXPIRY_TIME 162,3497 -#define AARP_HASH_SIZE 164,3561 -#define AARP_TICK_TIME 166,3635 -#define AARP_RETRANSMIT_LIMIT 168,3716 -#define AARP_RESOLVE_TIME 173,3871 -static inline struct atalk_iface *atalk_find_dev(181,4072 -#define at_sk(at_sk202,4871 -#define atalk_register_sysctl(atalk_register_sysctl226,5527 -#define atalk_unregister_sysctl(atalk_unregister_sysctl227,5576 -#define atalk_proc_init(atalk_proc_init234,5731 -#define atalk_proc_exit(atalk_proc_exit235,5759 - -/export0/mef/linux-2.6.9-1.11_FC2/include/linux/i2c-sensor.h,729 -#define _LINUX_I2C_SENSOR_H23,972 -struct i2c_force_data i2c_force_data37,1706 -struct i2c_address_data i2c_address_data81,4229 -#define SENSORS_MODULE_PARM_FORCE(SENSORS_MODULE_PARM_FORCE93,4525 -#define SENSORS_INSMOD 100,4831 -#define SENSORS_INSMOD_0 127,5923 -#define SENSORS_INSMOD_1(SENSORS_INSMOD_1135,6218 -#define SENSORS_INSMOD_2(SENSORS_INSMOD_2146,6692 -#define SENSORS_INSMOD_3(SENSORS_INSMOD_3159,7294 -#define SENSORS_INSMOD_4(SENSORS_INSMOD_4174,8023 -#define SENSORS_INSMOD_5(SENSORS_INSMOD_5191,8879 -#define SENSORS_INSMOD_6(SENSORS_INSMOD_6210,9862 -#define SENSORS_INSMOD_7(SENSORS_INSMOD_7231,10972 -#define SENSORS_INSMOD_8(SENSORS_INSMOD_8254,12209 -static inline int SENSORS_LIMIT(290,14066 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/actbl71.h,340 -#define __ACTBL71_H__28,1144 -#define SMI_CMD_ADDRESS_SPACE 34,1306 -#define PM1_BLK_ADDRESS_SPACE 35,1347 -#define PM2_CNT_BLK_ADDRESS_SPACE 36,1388 -#define PM_TMR_BLK_ADDRESS_SPACE 37,1429 -#define GPE0_BLK_ADDRESS_SPACE 38,1470 -#define GPE1_BLK_ADDRESS_SPACE 39,1511 -typedef u64 IO_ADDRESS;IO_ADDRESS43,1593 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acpiosxf.h,442 -#define __ACPIOSXF_H__49,2296 -#define OSD_PRIORITY_GPE 57,2421 -#define OSD_PRIORITY_HIGH 58,2459 -#define OSD_PRIORITY_MED 59,2497 -#define OSD_PRIORITY_LO 60,2535 -#define ACPI_NO_UNIT_LIMIT 62,2574 -#define ACPI_MUTEX_SEM 63,2621 -#define ACPI_SIGNAL_FATAL 68,2697 -#define ACPI_SIGNAL_BREAKPOINT 69,2735 -struct acpi_signal_fatal_infoacpi_signal_fatal_info71,2774 -#define REQUEST_FILE_ONLY 356,8503 -#define REQUEST_DIR_ONLY 357,8549 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acpixf.h,110 -#define __ACXFACE_H__47,2136 -acpi_status (*ACPI_WALK_RESOURCE_CALLBACK)ACPI_WALK_RESOURCE_CALLBACK384,9995 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acevents.h,31 -#define __ACEVENTS_H__45,2137 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acobject.h,3084 -#define _ACOBJECT_H46,2159 -#define ACPI_OBJECT_COMMON_HEADER 68,2824 -#define AOPOBJ_AML_CONSTANT 77,3402 -#define AOPOBJ_STATIC_POINTER 78,3443 -#define AOPOBJ_DATA_VALID 79,3484 -#define AOPOBJ_OBJECT_INITIALIZED 80,3525 -#define AOPOBJ_SETUP_COMPLETE 81,3566 -#define AOPOBJ_SINGLE_DATUM 82,3607 -#define ACPI_COMMON_FIELD_INFO 90,3845 -#define ACPI_COMMON_BUFFER_INFO 107,5105 -#define ACPI_COMMON_NOTIFY_INFO 114,5257 -struct acpi_object_commonacpi_object_common126,5765 - ACPI_OBJECT_COMMON_HEADERACPI_OBJECT_COMMON_HEADER128,5793 -struct acpi_object_integeracpi_object_integer132,5825 -struct acpi_object_string acpi_object_string139,5934 -struct acpi_object_bufferacpi_object_buffer147,6182 -struct acpi_object_packageacpi_object_package158,6573 -struct acpi_object_eventacpi_object_event176,7215 -#define ACPI_INFINITE_CONCURRENCY 183,7327 -acpi_status (*ACPI_INTERNAL_METHOD)ACPI_INTERNAL_METHOD186,7377 -struct acpi_object_methodacpi_object_method189,7463 -struct acpi_object_mutexacpi_object_mutex204,8001 -struct acpi_object_regionacpi_object_region218,8855 -struct acpi_object_notify_common acpi_object_notify_common237,9538 - ACPI_COMMON_NOTIFY_INFOACPI_COMMON_NOTIFY_INFO240,9673 -struct acpi_object_deviceacpi_object_device244,9703 -struct acpi_object_power_resourceacpi_object_power_resource252,9841 -struct acpi_object_processoracpi_object_processor261,10046 -struct acpi_object_thermal_zoneacpi_object_thermal_zone271,10283 - ACPI_COMMON_NOTIFY_INFOACPI_COMMON_NOTIFY_INFO274,10344 -struct acpi_object_field_common acpi_object_field_common284,10591 -struct acpi_object_region_fieldacpi_object_region_field293,10908 -struct acpi_object_bank_fieldacpi_object_bank_field301,11093 -struct acpi_object_index_fieldacpi_object_index_field310,11371 -struct acpi_object_buffer_fieldacpi_object_buffer_field326,11837 -struct acpi_object_notify_handleracpi_object_notify_handler340,12210 -#define ACPI_ADDR_HANDLER_DEFAULT_INSTALLED 351,12493 -struct acpi_object_addr_handleracpi_object_addr_handler354,12544 -struct acpi_object_referenceacpi_object_reference378,13419 -struct acpi_object_extraacpi_object_extra397,14152 -struct acpi_object_dataacpi_object_data411,14678 -struct acpi_object_cache_listacpi_object_cache_list421,14893 -union acpi_operand_objectacpi_operand_object434,15307 -#define ACPI_DESC_TYPE_CACHED 473,16891 -#define ACPI_DESC_TYPE_STATE 474,16981 -#define ACPI_DESC_TYPE_STATE_UPDATE 475,17026 -#define ACPI_DESC_TYPE_STATE_PACKAGE 476,17071 -#define ACPI_DESC_TYPE_STATE_CONTROL 477,17116 -#define ACPI_DESC_TYPE_STATE_RPSCOPE 478,17161 -#define ACPI_DESC_TYPE_STATE_PSCOPE 479,17206 -#define ACPI_DESC_TYPE_STATE_WSCOPE 480,17251 -#define ACPI_DESC_TYPE_STATE_RESULT 481,17296 -#define ACPI_DESC_TYPE_STATE_NOTIFY 482,17341 -#define ACPI_DESC_TYPE_STATE_THREAD 483,17386 -#define ACPI_DESC_TYPE_WALK 484,17431 -#define ACPI_DESC_TYPE_PARSER 485,17476 -#define ACPI_DESC_TYPE_OPERAND 486,17521 -#define ACPI_DESC_TYPE_NAMED 487,17566 -#define ACPI_DESC_TYPE_MAX 488,17611 -union acpi_descriptoracpi_descriptor491,17658 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/platform/aclinux.h,449 -#define __ACLINUX_H__45,2119 -#define ACPI_USE_SYSTEM_CLIBRARY47,2142 -#define ACPI_USE_DO_WHILE_048,2175 -#define strtoul 61,2420 -#define ACPI_MACHINE_WIDTH 63,2452 -#define ACPI_MACHINE_WIDTH 74,2665 -#define COMPILER_DEPENDENT_INT64 75,2704 -#define COMPILER_DEPENDENT_UINT64 76,2745 -#define ACPI_MACHINE_WIDTH 78,2801 -#define COMPILER_DEPENDENT_INT64 79,2840 -#define COMPILER_DEPENDENT_UINT64 80,2886 -#define ACPI_USE_NATIVE_DIVIDE81,2941 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/platform/acenv.h,3087 -#define __ACENV_H__45,2127 -#define ACPI_DEBUG_OUTPUT54,2239 -#define ACPI_APPLICATION56,2272 -#define ACPI_DISASSEMBLER57,2297 -#define ACPI_NO_METHOD_EXECUTION58,2323 -#define ACPI_USE_SYSTEM_CLIBRARY59,2356 -#define DEBUGGER_THREADING 64,2445 -#define ACPI_DEBUG_OUTPUT65,2502 -#define ACPI_APPLICATION66,2528 -#define ACPI_DEBUGGER67,2553 -#define ACPI_DISASSEMBLER68,2575 -#define ACPI_USE_SYSTEM_CLIBRARY69,2601 -#define ACPI_DEBUG_OUTPUT73,2668 -#define ACPI_APPLICATION74,2694 -#define ACPI_DISASSEMBLER75,2719 -#define ACPI_CONSTANT_EVAL_ONLY76,2745 -#define ACPI_USE_SYSTEM_CLIBRARY77,2777 -#define ACPI_USE_STANDARD_HEADERS150,4409 -#define COMPILER_DEPENDENT_INT64 152,4444 -#define COMPILER_DEPENDENT_UINT64 153,4489 -#define ACPI_PRINTF_LIKE_FUNC160,4721 -#define ACPI_DBG_TRACK_ALLOCATIONS171,4975 -#define DEBUGGER_SINGLE_THREADED 186,5375 -#define DEBUGGER_MULTI_THREADED 187,5413 -#define DEBUGGER_THREADING 191,5503 -#define DEBUGGER_THREADING 194,5571 -#define ACPI_STRSTR(ACPI_STRSTR225,6261 -#define ACPI_STRUPR(ACPI_STRUPR226,6312 -#define ACPI_STRLEN(ACPI_STRLEN227,6372 -#define ACPI_STRCPY(ACPI_STRCPY228,6428 -#define ACPI_STRNCPY(ACPI_STRNCPY229,6484 -#define ACPI_STRNCMP(ACPI_STRNCMP230,6557 -#define ACPI_STRCMP(ACPI_STRCMP231,6623 -#define ACPI_STRCAT(ACPI_STRCAT232,6672 -#define ACPI_STRNCAT(ACPI_STRNCAT233,6728 -#define ACPI_STRTOUL(ACPI_STRTOUL234,6794 -#define ACPI_MEMCPY(ACPI_MEMCPY235,6860 -#define ACPI_MEMSET(ACPI_MEMSET236,6932 -#define ACPI_TOUPPER 238,7005 -#define ACPI_TOLOWER 239,7045 -#define ACPI_IS_XDIGIT 240,7085 -#define ACPI_IS_DIGIT 241,7126 -#define ACPI_IS_SPACE 242,7166 -#define ACPI_IS_UPPER 243,7206 -#define ACPI_IS_PRINT 244,7246 -#define ACPI_IS_ALPHA 245,7286 -#define ACPI_IS_ASCII 246,7326 -#define _VALIST265,7841 -typedef char *va_list;va_list266,7857 -#define _AUPBND 273,7942 -#define _ADNBND 274,8005 -#define _bnd(_bnd280,8121 -#define va_arg(va_arg281,8189 -#define va_end(va_end282,8282 -#define va_start(va_start283,8323 -#define ACPI_STRSTR(ACPI_STRSTR288,8433 -#define ACPI_STRUPR(ACPI_STRUPR289,8493 -#define ACPI_STRLEN(ACPI_STRLEN290,8553 -#define ACPI_STRCPY(ACPI_STRCPY291,8618 -#define ACPI_STRNCPY(ACPI_STRNCPY292,8683 -#define ACPI_STRNCMP(ACPI_STRNCMP293,8765 -#define ACPI_STRCMP(ACPI_STRCMP294,8840 -#define ACPI_STRCAT(ACPI_STRCAT295,8898 -#define ACPI_STRNCAT(ACPI_STRNCAT296,8963 -#define ACPI_STRTOUL(ACPI_STRTOUL297,9038 -#define ACPI_MEMCPY(ACPI_MEMCPY298,9113 -#define ACPI_MEMSET(ACPI_MEMSET299,9194 -#define ACPI_TOUPPER 300,9275 -#define ACPI_TOLOWER 301,9324 -#define ACPI_SYSTEM_XFACE333,10241 -#define ACPI_EXTERNAL_XFACE334,10267 -#define ACPI_INTERNAL_XFACE335,10295 -#define ACPI_INTERNAL_VAR_XFACE336,10323 -#define ACPI_ASM_MACROS338,10356 -#define BREAKPOINT3339,10380 -#define ACPI_DISABLE_IRQS(ACPI_DISABLE_IRQS340,10400 -#define ACPI_ENABLE_IRQS(ACPI_ENABLE_IRQS341,10428 -#define ACPI_ACQUIRE_GLOBAL_LOCK(ACPI_ACQUIRE_GLOBAL_LOCK342,10455 -#define ACPI_RELEASE_GLOBAL_LOCK(ACPI_RELEASE_GLOBAL_LOCK343,10500 -#define BREAKPOINT3353,10686 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/platform/acgcc.h,100 -#define __ACGCC_H__45,2116 -#define ACPI_PRINTF_LIKE_FUNC 50,2275 -#define ACPI_UNUSED_VAR 57,2603 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acutils.h,1620 -#define _ACUTILS_H45,2145 -acpi_status (*acpi_pkg_callback)acpi_pkg_callback49,2174 -struct acpi_pkg_infoacpi_pkg_info62,2621 -#define REF_INCREMENT 70,2829 -#define REF_DECREMENT 71,2865 -#define REF_FORCE_DELETE 72,2901 -#define DB_BYTE_DISPLAY 76,2965 -#define DB_WORD_DISPLAY 77,2995 -#define DB_DWORD_DISPLAY 78,3025 -#define DB_QWORD_DISPLAY 79,3055 -#define _ACPI_XA 235,6044 -#define _ACPI_XS 236,6112 -#define _ACPI_BB 237,6159 -#define _ACPI_CN 238,6224 -#define _ACPI_DI 239,6278 -#define _ACPI_LO 240,6321 -#define _ACPI_PU 241,6364 -#define _ACPI_SP 242,6411 -#define _ACPI_UP 243,6452 -#define _ACPI_XD 244,6495 -#define ACPI_IS_DIGIT(ACPI_IS_DIGIT246,6557 -#define ACPI_IS_SPACE(ACPI_IS_SPACE247,6630 -#define ACPI_IS_XDIGIT(ACPI_IS_XDIGIT248,6703 -#define ACPI_IS_UPPER(ACPI_IS_UPPER249,6776 -#define ACPI_IS_LOWER(ACPI_IS_LOWER250,6849 -#define ACPI_IS_PRINT(ACPI_IS_PRINT251,6922 -#define ACPI_IS_ALPHA(ACPI_IS_ALPHA252,7039 -#define ACPI_IS_ASCII(ACPI_IS_ASCII253,7123 -acpi_ut_debug_print 420,11389 -#define METHOD_NAME__HID 463,12357 -#define METHOD_NAME__CID 464,12396 -#define METHOD_NAME__UID 465,12435 -#define METHOD_NAME__ADR 466,12474 -#define METHOD_NAME__STA 467,12513 -#define METHOD_NAME__REG 468,12552 -#define METHOD_NAME__SEG 469,12591 -#define METHOD_NAME__BBN 470,12630 -#define METHOD_NAME__PRT 471,12669 -#define METHOD_NAME__CRS 472,12708 -#define METHOD_NAME__PRS 473,12747 -#define METHOD_NAME__PRW 474,12786 -#define acpi_ut_create_internal_object(acpi_ut_create_internal_object565,14931 -#define acpi_ut_allocate_object_desc(acpi_ut_allocate_object_desc566,15045 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/actypes.h,19562 -#define __ACTYPES_H__45,2141 -#define ACPI_UINT8_MAX 57,2414 -#define ACPI_UINT16_MAX 58,2503 -#define ACPI_UINT32_MAX 59,2592 -#define ACPI_UINT64_MAX 60,2681 -#define ACPI_ASCII_MAX 61,2770 -typedef int s32;s3269,2954 -typedef unsigned char u8;u870,2999 -typedef unsigned short u16;u1671,3043 -typedef unsigned int u32;u3272,3088 -typedef COMPILER_DEPENDENT_UINT64 u64;u6473,3133 -typedef unsigned char UINT8;UINT8105,4033 -typedef unsigned char BOOLEAN;BOOLEAN106,4080 -typedef unsigned short UINT16;UINT16107,4129 -typedef int INT32;INT32108,4177 -typedef unsigned int UINT32;UINT32109,4224 -typedef COMPILER_DEPENDENT_INT64 INT64;INT64110,4272 -typedef COMPILER_DEPENDENT_UINT64 UINT64;UINT64111,4319 -typedef s64 acpi_native_int;acpi_native_int115,4410 -typedef u64 acpi_native_uint;acpi_native_uint116,4475 -typedef u64 acpi_table_ptr;acpi_table_ptr118,4542 -typedef u64 acpi_io_address;acpi_io_address119,4606 -typedef u64 acpi_physical_address;acpi_physical_address120,4671 -typedef u64 acpi_size;acpi_size121,4742 -#define ALIGNED_ADDRESS_BOUNDARY 123,4802 -#define ACPI_USE_NATIVE_DIVIDE 124,4902 -#define ACPI_MAX_PTR 125,4994 -#define ACPI_SIZE_MAX 126,5050 -typedef unsigned char UINT8;UINT8136,5237 -typedef unsigned char BOOLEAN;BOOLEAN137,5284 -typedef unsigned int UINT16;UINT16138,5333 -typedef long INT32;INT32139,5381 -typedef int INT16;INT16140,5428 -typedef unsigned long UINT32;UINT32141,5475 -typedef u16 acpi_native_uint;acpi_native_uint151,5669 -typedef s16 acpi_native_int;acpi_native_int152,5735 -typedef u32 acpi_table_ptr;acpi_table_ptr154,5801 -typedef u32 acpi_io_address;acpi_io_address155,5865 -typedef char *acpi_physical_address;acpi_physical_address156,5930 -typedef u16 acpi_size;acpi_size157,6002 -#define ALIGNED_ADDRESS_BOUNDARY 159,6062 -#define ACPI_MISALIGNED_TRANSFERS160,6113 -#define ACPI_USE_NATIVE_DIVIDE 161,6147 -#define ACPI_MAX_PTR 162,6253 -#define ACPI_SIZE_MAX 163,6309 -#define ACPI_NO_INTEGER64_SUPPORT169,6467 -typedef unsigned char UINT8;UINT8179,6642 -typedef unsigned char BOOLEAN;BOOLEAN180,6689 -typedef unsigned short UINT16;UINT16181,6738 -typedef int INT32;INT32182,6786 -typedef unsigned int UINT32;UINT32183,6833 -typedef COMPILER_DEPENDENT_INT64 INT64;INT64184,6881 -typedef COMPILER_DEPENDENT_UINT64 UINT64;UINT64185,6928 -typedef s32 acpi_native_int;acpi_native_int189,7019 -typedef u32 acpi_native_uint;acpi_native_uint190,7084 -typedef u64 acpi_table_ptr;acpi_table_ptr192,7151 -typedef u32 acpi_io_address;acpi_io_address193,7215 -typedef u64 acpi_physical_address;acpi_physical_address194,7280 -typedef u32 acpi_size;acpi_size195,7351 -#define ALIGNED_ADDRESS_BOUNDARY 197,7411 -#define ACPI_MISALIGNED_TRANSFERS198,7462 -#define ACPI_MAX_PTR 199,7496 -#define ACPI_SIZE_MAX 200,7552 -typedef u16 UINT16_BIT;UINT16_BIT210,7695 -typedef u32 UINT32_BIT;UINT32_BIT211,7755 -typedef acpi_native_uint ACPI_PTRDIFF;ACPI_PTRDIFF212,7815 -union acpi_pointersacpi_pointers218,7995 -struct acpi_pointeracpi_pointer225,8159 -#define ACPI_PHYSICAL_POINTER 233,8313 -#define ACPI_LOGICAL_POINTER 234,8358 -#define ACPI_PHYSICAL_ADDRESSING 238,8426 -#define ACPI_LOGICAL_ADDRESSING 239,8471 -#define ACPI_MEMORY_MODE 240,8516 -#define ACPI_PHYSMODE_PHYSPTR 242,8562 -#define ACPI_LOGMODE_PHYSPTR 243,8651 -#define ACPI_LOGMODE_LOGPTR 244,8740 -#define FALSE 253,8888 -#define TRUE 258,8969 -#define NULL 261,9032 -typedef u32 acpi_status;acpi_status268,9118 -typedef u32 acpi_name;acpi_name269,9208 -typedef char * acpi_string;acpi_string270,9295 -typedef void * acpi_handle;acpi_handle271,9394 -struct uint64_structuint64_struct273,9491 -union uint64_overlayuint64_overlay279,9600 -struct uint32_structuint32_struct285,9713 -typedef u32 acpi_integer;acpi_integer303,10156 -#define ACPI_INTEGER_MAX 304,10218 -#define ACPI_INTEGER_BIT_SIZE 305,10274 -#define ACPI_MAX_DECIMAL_DIGITS 306,10317 -#define ACPI_USE_NATIVE_DIVIDE 308,10361 -typedef u64 acpi_integer;acpi_integer315,10473 -#define ACPI_INTEGER_MAX 316,10535 -#define ACPI_INTEGER_BIT_SIZE 317,10591 -#define ACPI_MAX_DECIMAL_DIGITS 318,10634 -#define ACPI_USE_NATIVE_DIVIDE 321,10707 -#define ACPI_ROOT_OBJECT 329,10845 -#define ACPI_FULL_INITIALIZATION 335,10975 -#define ACPI_NO_ADDRESS_SPACE_INIT 336,11020 -#define ACPI_NO_HARDWARE_INIT 337,11065 -#define ACPI_NO_EVENT_INIT 338,11110 -#define ACPI_NO_HANDLER_INIT 339,11155 -#define ACPI_NO_ACPI_ENABLE 340,11200 -#define ACPI_NO_DEVICE_INIT 341,11245 -#define ACPI_NO_OBJECT_INIT 342,11290 -#define ACPI_INITIALIZED_OK 347,11367 -#define ACPI_STATE_UNKNOWN 352,11442 -#define ACPI_STATE_S0 354,11493 -#define ACPI_STATE_S1 355,11540 -#define ACPI_STATE_S2 356,11587 -#define ACPI_STATE_S3 357,11634 -#define ACPI_STATE_S4 358,11681 -#define ACPI_STATE_S5 359,11728 -#define ACPI_S_STATES_MAX 360,11775 -#define ACPI_S_STATE_COUNT 361,11829 -#define ACPI_STATE_D0 363,11872 -#define ACPI_STATE_D1 364,11919 -#define ACPI_STATE_D2 365,11966 -#define ACPI_STATE_D3 366,12013 -#define ACPI_D_STATES_MAX 367,12060 -#define ACPI_D_STATE_COUNT 368,12114 -#define ACPI_STATE_C0 370,12157 -#define ACPI_STATE_C1 371,12204 -#define ACPI_STATE_C2 372,12251 -#define ACPI_STATE_C3 373,12298 -#define ACPI_C_STATES_MAX 374,12345 -#define ACPI_C_STATE_COUNT 375,12399 -#define ACPI_SLEEP_TYPE_MAX 380,12477 -#define ACPI_SLEEP_TYPE_INVALID 381,12521 -#define ACPI_NOTIFY_BUS_CHECK 386,12600 -#define ACPI_NOTIFY_DEVICE_CHECK 387,12647 -#define ACPI_NOTIFY_DEVICE_WAKE 388,12694 -#define ACPI_NOTIFY_EJECT_REQUEST 389,12741 -#define ACPI_NOTIFY_DEVICE_CHECK_LIGHT 390,12788 -#define ACPI_NOTIFY_FREQUENCY_MISMATCH 391,12835 -#define ACPI_NOTIFY_BUS_MODE_MISMATCH 392,12882 -#define ACPI_NOTIFY_POWER_FAULT 393,12929 -typedef u32 acpi_table_type;acpi_table_type398,13052 -#define ACPI_TABLE_RSDP 400,13118 -#define ACPI_TABLE_DSDT 401,13178 -#define ACPI_TABLE_FADT 402,13238 -#define ACPI_TABLE_FACS 403,13298 -#define ACPI_TABLE_PSDT 404,13358 -#define ACPI_TABLE_SSDT 405,13418 -#define ACPI_TABLE_XSDT 406,13478 -#define ACPI_TABLE_MAX 407,13538 -#define NUM_ACPI_TABLE_TYPES 408,13580 -typedef u32 acpi_object_type;acpi_object_type419,14016 -#define ACPI_TYPE_ANY 421,14083 -#define ACPI_TYPE_INTEGER 422,14128 -#define ACPI_TYPE_STRING 423,14210 -#define ACPI_TYPE_BUFFER 424,14255 -#define ACPI_TYPE_PACKAGE 425,14300 -#define ACPI_TYPE_FIELD_UNIT 426,14403 -#define ACPI_TYPE_DEVICE 427,14448 -#define ACPI_TYPE_EVENT 428,14520 -#define ACPI_TYPE_METHOD 429,14565 -#define ACPI_TYPE_MUTEX 430,14649 -#define ACPI_TYPE_REGION 431,14694 -#define ACPI_TYPE_POWER 432,14739 -#define ACPI_TYPE_PROCESSOR 433,14829 -#define ACPI_TYPE_THERMAL 434,14931 -#define ACPI_TYPE_BUFFER_FIELD 435,15003 -#define ACPI_TYPE_DDB_HANDLE 436,15048 -#define ACPI_TYPE_DEBUG_OBJECT 437,15093 -#define ACPI_TYPE_EXTERNAL_MAX 439,15139 -#define ACPI_TYPE_LOCAL_REGION_FIELD 448,15543 -#define ACPI_TYPE_LOCAL_BANK_FIELD 449,15588 -#define ACPI_TYPE_LOCAL_INDEX_FIELD 450,15633 -#define ACPI_TYPE_LOCAL_REFERENCE 451,15678 -#define ACPI_TYPE_LOCAL_ALIAS 452,15771 -#define ACPI_TYPE_LOCAL_METHOD_ALIAS 453,15816 -#define ACPI_TYPE_LOCAL_NOTIFY 454,15861 -#define ACPI_TYPE_LOCAL_ADDRESS_HANDLER 455,15906 -#define ACPI_TYPE_LOCAL_RESOURCE 456,15951 -#define ACPI_TYPE_LOCAL_RESOURCE_FIELD 457,15996 -#define ACPI_TYPE_LOCAL_SCOPE 458,16041 -#define ACPI_TYPE_NS_NODE_MAX 460,16129 -#define ACPI_TYPE_LOCAL_EXTRA 466,16338 -#define ACPI_TYPE_LOCAL_DATA 467,16383 -#define ACPI_TYPE_LOCAL_MAX 469,16429 -#define ACPI_TYPE_INVALID 473,16515 -#define ACPI_TYPE_NOT_FOUND 474,16560 -#define ACPI_BTYPE_ANY 480,16661 -#define ACPI_BTYPE_INTEGER 481,16712 -#define ACPI_BTYPE_STRING 482,16763 -#define ACPI_BTYPE_BUFFER 483,16814 -#define ACPI_BTYPE_PACKAGE 484,16865 -#define ACPI_BTYPE_FIELD_UNIT 485,16916 -#define ACPI_BTYPE_DEVICE 486,16967 -#define ACPI_BTYPE_EVENT 487,17018 -#define ACPI_BTYPE_METHOD 488,17069 -#define ACPI_BTYPE_MUTEX 489,17120 -#define ACPI_BTYPE_REGION 490,17171 -#define ACPI_BTYPE_POWER 491,17222 -#define ACPI_BTYPE_PROCESSOR 492,17273 -#define ACPI_BTYPE_THERMAL 493,17324 -#define ACPI_BTYPE_BUFFER_FIELD 494,17375 -#define ACPI_BTYPE_DDB_HANDLE 495,17426 -#define ACPI_BTYPE_DEBUG_OBJECT 496,17477 -#define ACPI_BTYPE_REFERENCE 497,17528 -#define ACPI_BTYPE_RESOURCE 498,17579 -#define ACPI_BTYPE_COMPUTE_DATA 500,17631 -#define ACPI_BTYPE_DATA 502,17733 -#define ACPI_BTYPE_DATA_REFERENCE 503,17821 -#define ACPI_BTYPE_DEVICE_OBJECTS 504,17926 -#define ACPI_BTYPE_OBJECTS_AND_REFS 505,18030 -#define ACPI_BTYPE_ALL_OBJECTS 506,18101 -#define ACPI_READ 511,18171 -#define ACPI_WRITE 512,18213 -#define ACPI_IO_MASK 513,18255 -typedef u32 acpi_event_type;acpi_event_type518,18345 -#define ACPI_EVENT_PMTIMER 523,18434 -#define ACPI_EVENT_GLOBAL 524,18476 -#define ACPI_EVENT_POWER_BUTTON 525,18518 -#define ACPI_EVENT_SLEEP_BUTTON 526,18560 -#define ACPI_EVENT_RTC 527,18602 -#define ACPI_EVENT_MAX 528,18644 -#define ACPI_NUM_FIXED_EVENTS 529,18686 -typedef u32 acpi_event_status;acpi_event_status546,19210 -#define ACPI_EVENT_FLAG_DISABLED 548,19278 -#define ACPI_EVENT_FLAG_ENABLED 549,19343 -#define ACPI_EVENT_FLAG_WAKE_ENABLED 550,19408 -#define ACPI_EVENT_FLAG_SET 551,19473 -#define ACPI_GPE_INVALID 556,19578 -#define ACPI_GPE_MAX 557,19623 -#define ACPI_NUM_GPE 558,19668 -#define ACPI_GPE_ENABLE 560,19713 -#define ACPI_GPE_DISABLE 561,19755 -#define ACPI_GPE_XRUPT_TYPE_MASK 577,20230 -#define ACPI_GPE_LEVEL_TRIGGERED 578,20280 -#define ACPI_GPE_EDGE_TRIGGERED 579,20330 -#define ACPI_GPE_TYPE_MASK 581,20381 -#define ACPI_GPE_TYPE_WAKE_RUN 582,20431 -#define ACPI_GPE_TYPE_WAKE 583,20481 -#define ACPI_GPE_TYPE_RUNTIME 584,20531 -#define ACPI_GPE_DISPATCH_MASK 586,20599 -#define ACPI_GPE_DISPATCH_HANDLER 587,20649 -#define ACPI_GPE_DISPATCH_METHOD 588,20699 -#define ACPI_GPE_DISPATCH_NOT_USED 589,20749 -#define ACPI_GPE_RUN_ENABLE_MASK 591,20817 -#define ACPI_GPE_RUN_ENABLED 592,20867 -#define ACPI_GPE_RUN_DISABLED 593,20917 -#define ACPI_GPE_WAKE_ENABLE_MASK 595,20985 -#define ACPI_GPE_WAKE_ENABLED 596,21035 -#define ACPI_GPE_WAKE_DISABLED 597,21085 -#define ACPI_GPE_ENABLE_MASK 599,21153 -#define ACPI_GPE_SYSTEM_MASK 601,21227 -#define ACPI_GPE_SYSTEM_RUNNING 602,21277 -#define ACPI_GPE_SYSTEM_WAKING 603,21327 -#define ACPI_EVENT_WAKE_ENABLE 608,21422 -#define ACPI_EVENT_WAKE_DISABLE 609,21500 -#define ACPI_NOT_ISR 611,21580 -#define ACPI_ISR 612,21624 -#define ACPI_SYSTEM_NOTIFY 617,21690 -#define ACPI_DEVICE_NOTIFY 618,21734 -#define ACPI_ALL_NOTIFY 619,21778 -#define ACPI_MAX_NOTIFY_HANDLER_TYPE 620,21822 -#define ACPI_MAX_SYS_NOTIFY 622,21867 -typedef u8 acpi_adr_space_type;acpi_adr_space_type627,21960 -#define ACPI_ADR_SPACE_SYSTEM_MEMORY 629,22030 -#define ACPI_ADR_SPACE_SYSTEM_IO 630,22094 -#define ACPI_ADR_SPACE_PCI_CONFIG 631,22158 -#define ACPI_ADR_SPACE_EC 632,22222 -#define ACPI_ADR_SPACE_SMBUS 633,22286 -#define ACPI_ADR_SPACE_CMOS 634,22350 -#define ACPI_ADR_SPACE_PCI_BAR_TARGET 635,22414 -#define ACPI_ADR_SPACE_DATA_TABLE 636,22478 -#define ACPI_ADR_SPACE_FIXED_HARDWARE 637,22542 -#define ACPI_BITREG_TIMER_STATUS 644,22699 -#define ACPI_BITREG_BUS_MASTER_STATUS 645,22752 -#define ACPI_BITREG_GLOBAL_LOCK_STATUS 646,22805 -#define ACPI_BITREG_POWER_BUTTON_STATUS 647,22858 -#define ACPI_BITREG_SLEEP_BUTTON_STATUS 648,22911 -#define ACPI_BITREG_RT_CLOCK_STATUS 649,22964 -#define ACPI_BITREG_WAKE_STATUS 650,23017 -#define ACPI_BITREG_TIMER_ENABLE 652,23071 -#define ACPI_BITREG_GLOBAL_LOCK_ENABLE 653,23124 -#define ACPI_BITREG_POWER_BUTTON_ENABLE 654,23177 -#define ACPI_BITREG_SLEEP_BUTTON_ENABLE 655,23230 -#define ACPI_BITREG_RT_CLOCK_ENABLE 656,23283 -#define ACPI_BITREG_WAKE_ENABLE 657,23336 -#define ACPI_BITREG_SCI_ENABLE 659,23390 -#define ACPI_BITREG_BUS_MASTER_RLD 660,23443 -#define ACPI_BITREG_GLOBAL_LOCK_RELEASE 661,23496 -#define ACPI_BITREG_SLEEP_TYPE_A 662,23549 -#define ACPI_BITREG_SLEEP_TYPE_B 663,23602 -#define ACPI_BITREG_SLEEP_ENABLE 664,23655 -#define ACPI_BITREG_ARB_DISABLE 666,23709 -#define ACPI_BITREG_MAX 668,23763 -#define ACPI_NUM_BITREG 669,23816 -union acpi_objectacpi_object675,23928 -struct acpi_object_listacpi_object_list732,25572 -#define ACPI_NO_BUFFER 742,25764 -#define ACPI_ALLOCATE_BUFFER 743,25802 -#define ACPI_ALLOCATE_LOCAL_BUFFER 744,25855 -struct acpi_bufferacpi_buffer746,25909 -#define ACPI_FULL_PATHNAME 756,26139 -#define ACPI_SINGLE_NAME 757,26181 -#define ACPI_NAME_TYPE_MAX 758,26223 -#define ACPI_SYS_MODE_UNKNOWN 764,26322 -#define ACPI_SYS_MODE_ACPI 765,26369 -#define ACPI_SYS_MODE_LEGACY 766,26416 -#define ACPI_SYS_MODES_MASK 767,26463 -struct acpi_table_infoacpi_table_info773,26566 -struct acpi_system_infoacpi_system_info782,26697 -typedef u32u32800,27258 -(ACPI_SYSTEM_XFACE *acpi_osd_exec_callback)acpi_osd_exec_callback805,27368 -u32 (*acpi_event_handler)acpi_event_handler812,27518 -void (*acpi_notify_handler)acpi_notify_handler816,27603 -void (*acpi_object_handler)acpi_object_handler822,27779 -acpi_status (*acpi_init_handler)acpi_init_handler828,27955 -#define ACPI_INIT_DEVICE_INI 832,28084 -acpi_status (*acpi_adr_space_handler)acpi_adr_space_handler838,28178 -#define ACPI_DEFAULT_HANDLER 846,28515 -acpi_status (*acpi_adr_space_setup)acpi_adr_space_setup850,28566 -#define ACPI_REGION_ACTIVATE 856,28815 -#define ACPI_REGION_DEACTIVATE 857,28849 -acpi_status (*acpi_walk_callback)acpi_walk_callback860,28892 -#define ACPI_INTERRUPT_NOT_HANDLED 869,29171 -#define ACPI_INTERRUPT_HANDLED 870,29216 -struct acpi_device_idacpi_device_id875,29316 -struct acpi_compatible_idacpi_compatible_id882,29451 -struct acpi_compatible_id_listacpi_compatible_id_list887,29544 -#define ACPI_VALID_STA 897,29753 -#define ACPI_VALID_ADR 898,29800 -#define ACPI_VALID_HID 899,29847 -#define ACPI_VALID_UID 900,29894 -#define ACPI_VALID_CID 901,29941 -#define ACPI_VALID_SXDS 902,29988 -#define ACPI_COMMON_OBJ_INFO 905,30037 -struct acpi_obj_info_headeracpi_obj_info_header910,30224 -struct acpi_device_infoacpi_device_info918,30329 -struct acpi_pci_idacpi_pci_id934,31039 -struct acpi_mem_space_contextacpi_mem_space_context943,31245 -#define ACPI_READ_ONLY_MEMORY 960,31625 -#define ACPI_READ_WRITE_MEMORY 961,31675 -#define ACPI_NON_CACHEABLE_MEMORY 963,31726 -#define ACPI_CACHABLE_MEMORY 964,31776 -#define ACPI_WRITE_COMBINING_MEMORY 965,31826 -#define ACPI_PREFETCHABLE_MEMORY 966,31876 -#define ACPI_NON_ISA_ONLY_RANGES 973,32120 -#define ACPI_ISA_ONLY_RANGES 974,32170 -#define ACPI_ENTIRE_RANGE 975,32220 -#define ACPI_SPARSE_TRANSLATION 977,32311 -#define ACPI_DECODE_10 982,32399 -#define ACPI_DECODE_16 983,32483 -#define ACPI_EDGE_SENSITIVE 988,32594 -#define ACPI_LEVEL_SENSITIVE 989,32644 -#define ACPI_ACTIVE_HIGH 991,32695 -#define ACPI_ACTIVE_LOW 992,32745 -#define ACPI_EXCLUSIVE 994,32796 -#define ACPI_SHARED 995,32846 -#define ACPI_COMPATIBILITY 1000,32923 -#define ACPI_TYPE_A 1001,32973 -#define ACPI_TYPE_B 1002,33023 -#define ACPI_TYPE_F 1003,33073 -#define ACPI_NOT_BUS_MASTER 1005,33124 -#define ACPI_BUS_MASTER 1006,33174 -#define ACPI_TRANSFER_8 1008,33225 -#define ACPI_TRANSFER_8_16 1009,33275 -#define ACPI_TRANSFER_16 1010,33325 -#define ACPI_GOOD_CONFIGURATION 1015,33433 -#define ACPI_ACCEPTABLE_CONFIGURATION 1016,33483 -#define ACPI_SUB_OPTIMAL_CONFIGURATION 1017,33533 -#define ACPI_MEMORY_RANGE 1022,33647 -#define ACPI_IO_RANGE 1023,33697 -#define ACPI_BUS_NUMBER_RANGE 1024,33747 -#define ACPI_ADDRESS_NOT_FIXED 1026,33798 -#define ACPI_ADDRESS_FIXED 1027,33848 -#define ACPI_POS_DECODE 1029,33899 -#define ACPI_SUB_DECODE 1030,33949 -#define ACPI_PRODUCER 1032,34000 -#define ACPI_CONSUMER 1033,34050 -struct acpi_resource_irqacpi_resource_irq1039,34158 -struct acpi_resource_dmaacpi_resource_dma1048,34458 -struct acpi_resource_start_dpfacpi_resource_start_dpf1057,34735 -struct acpi_resource_ioacpi_resource_io1068,34987 -struct acpi_resource_fixed_ioacpi_resource_fixed_io1077,35274 -struct acpi_resource_vendoracpi_resource_vendor1083,35412 -struct acpi_resource_end_tagacpi_resource_end_tag1089,35541 -struct acpi_resource_mem24acpi_resource_mem241094,35623 -struct acpi_resource_mem32acpi_resource_mem321103,35924 -struct acpi_resource_fixed_mem32acpi_resource_fixed_mem321112,36225 -struct acpi_memory_attributeacpi_memory_attribute1119,36431 -struct acpi_io_attributeacpi_io_attribute1125,36579 -struct acpi_bus_attributeacpi_bus_attribute1131,36724 -union acpi_resource_attributeacpi_resource_attribute1137,36852 -struct acpi_resource_sourceacpi_resource_source1144,37016 -struct acpi_resource_address16acpi_resource_address161151,37196 -struct acpi_resource_address32acpi_resource_address321167,37880 -struct acpi_resource_address64acpi_resource_address641183,38564 -struct acpi_resource_ext_irqacpi_resource_ext_irq1199,39248 -#define ACPI_RSTYPE_IRQ 1213,39690 -#define ACPI_RSTYPE_DMA 1214,39732 -#define ACPI_RSTYPE_START_DPF 1215,39774 -#define ACPI_RSTYPE_END_DPF 1216,39816 -#define ACPI_RSTYPE_IO 1217,39858 -#define ACPI_RSTYPE_FIXED_IO 1218,39900 -#define ACPI_RSTYPE_VENDOR 1219,39942 -#define ACPI_RSTYPE_END_TAG 1220,39984 -#define ACPI_RSTYPE_MEM24 1221,40026 -#define ACPI_RSTYPE_MEM32 1222,40068 -#define ACPI_RSTYPE_FIXED_MEM32 1223,40110 -#define ACPI_RSTYPE_ADDRESS16 1224,40153 -#define ACPI_RSTYPE_ADDRESS32 1225,40196 -#define ACPI_RSTYPE_ADDRESS64 1226,40239 -#define ACPI_RSTYPE_EXT_IRQ 1227,40282 -typedef u32 acpi_resource_type;acpi_resource_type1229,40326 -union acpi_resource_dataacpi_resource_data1231,40395 -struct acpi_resourceacpi_resource1249,41088 -#define ACPI_RESOURCE_LENGTH 1256,41244 -#define ACPI_RESOURCE_LENGTH_NO_DATA 1257,41291 -#define ACPI_SIZEOF_RESOURCE(ACPI_SIZEOF_RESOURCE1259,41369 -#define ACPI_NEXT_RESOURCE(ACPI_NEXT_RESOURCE1261,41461 -#define ACPI_ALIGN_RESOURCE_SIZE(ACPI_ALIGN_RESOURCE_SIZE1264,41590 -#define ACPI_ALIGN_RESOURCE_SIZE(ACPI_ALIGN_RESOURCE_SIZE1266,41649 -struct acpi_pci_routing_tableacpi_pci_routing_table1274,41794 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/amlresrc.h,2661 -#define __AMLRESRC_H47,2127 -#define ASL_RESNAME_ADDRESS 50,2150 -#define ASL_RESNAME_ALIGNMENT 51,2205 -#define ASL_RESNAME_ADDRESSSPACE 52,2260 -#define ASL_RESNAME_BASEADDRESS 53,2315 -#define ASL_RESNAME_BUSMASTER 54,2370 -#define ASL_RESNAME_DECODE 55,2452 -#define ASL_RESNAME_DMA 56,2507 -#define ASL_RESNAME_DMATYPE 57,2562 -#define ASL_RESNAME_GRANULARITY 58,2656 -#define ASL_RESNAME_INTERRUPT 59,2711 -#define ASL_RESNAME_INTERRUPTLEVEL 60,2766 -#define ASL_RESNAME_INTERRUPTSHARE 61,2855 -#define ASL_RESNAME_INTERRUPTTYPE 62,2943 -#define ASL_RESNAME_LENGTH 63,3023 -#define ASL_RESNAME_MEMATTRIBUTES 64,3078 -#define ASL_RESNAME_MEMTYPE 65,3180 -#define ASL_RESNAME_MAXADDR 66,3305 -#define ASL_RESNAME_MINADDR 67,3360 -#define ASL_RESNAME_MAXTYPE 68,3415 -#define ASL_RESNAME_MINTYPE 69,3470 -#define ASL_RESNAME_REGISTERBITOFFSET 70,3525 -#define ASL_RESNAME_REGISTERBITWIDTH 71,3580 -#define ASL_RESNAME_RANGETYPE 72,3635 -#define ASL_RESNAME_READWRITETYPE 73,3690 -#define ASL_RESNAME_TRANSLATION 74,3780 -#define ASL_RESNAME_TRANSTYPE 75,3835 -#define ASL_RESNAME_TYPE 76,3917 -#define ASL_RESNAME_XFERTYPE 77,4006 -#define ASL_RDESC_IRQ_SIZE 82,4148 -#define ASL_RDESC_DMA_SIZE 83,4201 -#define ASL_RDESC_ST_DEPEND_SIZE 84,4254 -#define ASL_RDESC_END_DEPEND_SIZE 85,4307 -#define ASL_RDESC_IO_SIZE 86,4360 -#define ASL_RDESC_FIXED_IO_SIZE 87,4413 -#define ASL_RDESC_END_TAG_SIZE 88,4466 -struct asl_resource_nodeasl_resource_node91,4521 -struct asl_irq_format_descasl_irq_format_desc107,4877 -struct asl_irq_noflags_descasl_irq_noflags_desc115,5056 -struct asl_dma_format_descasl_dma_format_desc122,5192 -struct asl_start_dependent_descasl_start_dependent_desc130,5379 -struct asl_start_dependent_noprio_descasl_start_dependent_noprio_desc137,5516 -struct asl_end_dependent_descasl_end_dependent_desc143,5616 -struct asl_io_port_descasl_io_port_desc149,5707 -struct asl_fixed_io_port_descasl_fixed_io_port_desc160,6035 -struct asl_small_vendor_descasl_small_vendor_desc168,6222 -struct asl_end_tag_descasl_end_tag_desc175,6368 -struct asl_memory_24_descasl_memory_24_desc184,6525 -struct asl_large_vendor_descasl_large_vendor_desc196,6906 -struct asl_memory_32_descasl_memory_32_desc204,7097 -struct asl_fixed_memory_32_descasl_fixed_memory_32_desc216,7478 -struct asl_qword_address_descasl_qword_address_desc226,7768 -struct asl_dword_address_descasl_dword_address_desc242,8370 -struct asl_word_address_descasl_word_address_desc258,8972 -struct asl_extended_xrupt_descasl_extended_xrupt_desc274,9573 -struct asl_general_register_descasl_general_register_desc285,9922 -union asl_resource_descasl_resource_desc302,10431 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acparser.h,412 -#define __ACPARSER_H__46,2150 -#define OP_HAS_RETURN_VALUE 49,2175 -#define ACPI_VAR_ARGS 53,2246 -#define ACPI_PARSE_DELETE_TREE 56,2304 -#define ACPI_PARSE_NO_TREE_DELETE 57,2351 -#define ACPI_PARSE_TREE_MASK 58,2398 -#define ACPI_PARSE_LOAD_PASS1 60,2446 -#define ACPI_PARSE_LOAD_PASS2 61,2493 -#define ACPI_PARSE_EXECUTE 62,2540 -#define ACPI_PARSE_MODE_MASK 63,2587 -#define ACPI_PARSE_DEFERRED_OP 65,2635 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acglobal.h,7267 -#define __ACGLOBAL_H__45,2129 -#define ACPI_EXTERN55,2381 -#define ACPI_INIT_GLOBAL(ACPI_INIT_GLOBAL56,2401 -#define ACPI_EXTERN 58,2441 -#define ACPI_INIT_GLOBAL(ACPI_INIT_GLOBAL59,2468 -ACPI_EXTERN struct acpi_generic_address acpi_gbl_xpm1a_enable;66,2655 -ACPI_EXTERN struct acpi_generic_address acpi_gbl_xpm1b_enable;67,2726 -ACPI_EXTERN u32 acpi_gbl_table_flags;136,5269 -ACPI_EXTERN u32 acpi_gbl_rsdt_table_count;137,5339 -ACPI_EXTERN struct rsdp_descriptor *acpi_gbl_RSDP;138,5414 -ACPI_EXTERN XSDT_DESCRIPTOR *acpi_gbl_XSDT;139,5477 -ACPI_EXTERN FADT_DESCRIPTOR *acpi_gbl_FADT;140,5532 -ACPI_EXTERN struct acpi_table_header *acpi_gbl_DSDT;141,5587 -ACPI_EXTERN FACS_DESCRIPTOR *acpi_gbl_FACS;142,5650 -ACPI_EXTERN struct acpi_common_facs acpi_gbl_common_fACS;143,5705 -ACPI_EXTERN u8 acpi_gbl_integer_bit_width;155,6075 -ACPI_EXTERN u8 acpi_gbl_integer_byte_width;156,6151 -ACPI_EXTERN u8 acpi_gbl_integer_nybble_width;157,6228 -ACPI_EXTERN struct acpi_mutex_info acpi_gbl_mutex_info[170,6712 -ACPI_EXTERN struct acpi_memory_list acpi_gbl_memory_lists[180,6985 -ACPI_EXTERN struct acpi_object_notify_handler acpi_gbl_device_notify;181,7076 -ACPI_EXTERN struct acpi_object_notify_handler acpi_gbl_system_notify;182,7148 -ACPI_EXTERN acpi_init_handler acpi_gbl_init_handler;183,7220 -ACPI_EXTERN struct acpi_walk_state *acpi_gbl_breakpoint_walk;184,7291 -ACPI_EXTERN acpi_handle acpi_gbl_global_lock_semaphore;185,7365 -ACPI_EXTERN u32 acpi_gbl_global_lock_thread_count;187,7446 -ACPI_EXTERN u32 acpi_gbl_original_mode;188,7529 -ACPI_EXTERN u32 acpi_gbl_rsdp_original_location;189,7601 -ACPI_EXTERN u32 acpi_gbl_ns_lookup_count;190,7682 -ACPI_EXTERN u32 acpi_gbl_ps_find_count;191,7756 -ACPI_EXTERN u16 acpi_gbl_pm1_enable_register_save;192,7828 -ACPI_EXTERN u16 acpi_gbl_next_table_owner_id;193,7911 -ACPI_EXTERN u16 acpi_gbl_next_method_owner_id;194,7989 -ACPI_EXTERN u16 acpi_gbl_global_lock_handle;195,8068 -ACPI_EXTERN u8 acpi_gbl_debugger_configuration;196,8145 -ACPI_EXTERN u8 acpi_gbl_global_lock_acquired;197,8226 -ACPI_EXTERN u8 acpi_gbl_step_to_next_call;198,8305 -ACPI_EXTERN u8 acpi_gbl_acpi_hardware_present;199,8381 -ACPI_EXTERN u8 acpi_gbl_global_lock_present;200,8461 -ACPI_EXTERN u8 acpi_gbl_events_initialized;201,8539 -ACPI_EXTERN u8 acpi_gbl_system_awake_and_running;202,8616 -#define NUM_NS_TYPES 220,9565 -#define NUM_PREDEFINED_NAMES 223,9703 -#define NUM_PREDEFINED_NAMES 225,9752 -ACPI_EXTERN struct acpi_namespace_node acpi_gbl_root_node_struct;228,9802 -ACPI_EXTERN struct acpi_namespace_node *acpi_gbl_root_node;229,9877 -ACPI_EXTERN struct acpi_namespace_node *acpi_gbl_fadt_gpe_device;230,9945 -ACPI_EXTERN u32 acpi_gbl_current_node_count;236,10231 -ACPI_EXTERN u32 acpi_gbl_current_node_size;237,10308 -ACPI_EXTERN u32 acpi_gbl_max_concurrent_node_count;238,10384 -ACPI_EXTERN acpi_size acpi_gbl_entry_stack_pointer;239,10468 -ACPI_EXTERN acpi_size acpi_gbl_lowest_stack_pointer;240,10546 -ACPI_EXTERN u32 acpi_gbl_deepest_nesting;241,10625 -ACPI_EXTERN struct acpi_thread_state *acpi_gbl_current_walk_list;251,10896 -ACPI_EXTERN u8 acpi_gbl_cm_single_step;255,11012 -ACPI_EXTERN union acpi_parse_object *acpi_gbl_parsed_namespace_root;264,11270 -ACPI_EXTERN u8 acpi_gbl_sleep_type_a;273,11629 -ACPI_EXTERN u8 acpi_gbl_sleep_type_b;274,11700 -ACPI_EXTERN struct acpi_fixed_event_handler acpi_gbl_fixed_event_handlers[284,12061 -ACPI_EXTERN struct acpi_gpe_xrupt_info *acpi_gbl_gpe_xrupt_list_head;285,12163 -ACPI_EXTERN struct acpi_gpe_block_info *acpi_gbl_gpe_fadt_blocks[286,12241 -ACPI_EXTERN acpi_handle acpi_gbl_gpe_lock;287,12336 -ACPI_EXTERN u8 acpi_gbl_db_output_flags;297,12591 -ACPI_EXTERN u8 acpi_gbl_db_opt_disasm;301,12692 -ACPI_EXTERN u8 acpi_gbl_db_opt_verbose;302,12764 -ACPI_EXTERN int optind;312,13094 -ACPI_EXTERN char *optarg;313,13150 -ACPI_EXTERN u8 acpi_gbl_db_opt_tables;315,13207 -ACPI_EXTERN u8 acpi_gbl_db_opt_stats;316,13279 -ACPI_EXTERN u8 acpi_gbl_db_opt_ini_methods;317,13350 -ACPI_EXTERN char *acpi_gbl_db_args[320,13429 -ACPI_EXTERN char acpi_gbl_db_line_buf[321,13519 -ACPI_EXTERN char acpi_gbl_db_parsed_buf[322,13593 -ACPI_EXTERN char acpi_gbl_db_scope_buf[323,13669 -ACPI_EXTERN char acpi_gbl_db_debug_filename[324,13744 -ACPI_EXTERN u8 acpi_gbl_db_output_to_file;325,13824 -ACPI_EXTERN char *acpi_gbl_db_buffer;326,13900 -ACPI_EXTERN char *acpi_gbl_db_filename;327,13968 -ACPI_EXTERN u32 acpi_gbl_db_debug_level;328,14038 -ACPI_EXTERN u32 acpi_gbl_db_console_debug_level;329,14111 -ACPI_EXTERN struct acpi_table_header *acpi_gbl_db_table_ptr;330,14192 -ACPI_EXTERN struct acpi_namespace_node *acpi_gbl_db_scope_node;331,14263 -ACPI_EXTERN u16 acpi_gbl_obj_type_count[336,14364 -ACPI_EXTERN u16 acpi_gbl_node_type_count[337,14462 -ACPI_EXTERN u16 acpi_gbl_obj_type_count_misc;338,14561 -ACPI_EXTERN u16 acpi_gbl_node_type_count_misc;339,14639 -ACPI_EXTERN u32 acpi_gbl_num_nodes;340,14718 -ACPI_EXTERN u32 acpi_gbl_num_objects;341,14786 -ACPI_EXTERN u32 acpi_gbl_size_of_parse_tree;344,14858 -ACPI_EXTERN u32 acpi_gbl_size_of_method_trees;345,14935 -ACPI_EXTERN u32 acpi_gbl_size_of_node_entries;346,15014 -ACPI_EXTERN u32 acpi_gbl_size_of_acpi_objects;347,15093 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/actbl.h,2865 -#define __ACTBL_H__45,2141 -#define RSDP_NAME 51,2221 -#define RSDP_SIG 52,2260 -#define APIC_SIG 53,2333 -#define DSDT_SIG 54,2415 -#define FADT_SIG 55,2505 -#define FACS_SIG 56,2584 -#define PSDT_SIG 57,2666 -#define RSDT_SIG 58,2752 -#define XSDT_SIG 59,2832 -#define SSDT_SIG 60,2917 -#define SBST_SIG 61,3002 -#define SPIC_SIG 62,3086 -#define BOOT_SIG 63,3150 -#define GL_OWNED 66,3213 -#define RSDT_DESCRIPTOR 73,3404 -#define XSDT_DESCRIPTOR 74,3464 -#define FACS_DESCRIPTOR 75,3524 -#define FADT_DESCRIPTOR 76,3584 -struct rsdp_descriptor rsdp_descriptor87,3806 -struct acpi_common_facs acpi_common_facs101,4708 -#define ACPI_TABLE_HEADER_DEF 109,4935 -struct acpi_table_header acpi_table_header121,5841 - ACPI_TABLE_HEADER_DEFACPI_TABLE_HEADER_DEF123,5907 -#define DUAL_PIC 133,6007 -#define MULTIPLE_APIC 134,6041 -struct multiple_apic_tablemultiple_apic_table139,6096 -#define APIC_PROCESSOR 150,6507 -#define APIC_IO 151,6541 -#define APIC_XRUPT_OVERRIDE 152,6575 -#define APIC_NMI 153,6609 -#define APIC_LOCAL_NMI 154,6643 -#define APIC_ADDRESS_OVERRIDE 155,6677 -#define APIC_IO_SAPIC 156,6711 -#define APIC_LOCAL_SAPIC 157,6745 -#define APIC_XRUPT_SOURCE 158,6779 -#define APIC_RESERVED 159,6813 -#define APIC_HEADER_DEF 164,6962 -struct apic_headerapic_header168,7129 - APIC_HEADER_DEFAPIC_HEADER_DEF170,7150 -#define POLARITY_CONFORMS 175,7204 -#define POLARITY_ACTIVE_HIGH 176,7238 -#define POLARITY_RESERVED 177,7272 -#define POLARITY_ACTIVE_LOW 178,7306 -#define TRIGGER_CONFORMS 180,7341 -#define TRIGGER_EDGE 181,7375 -#define TRIGGER_RESERVED 182,7409 -#define TRIGGER_LEVEL 183,7443 -#define MPS_INTI_FLAGS 187,7509 -#define LOCAL_APIC_FLAGS 192,7819 -struct madt_processor_apicmadt_processor_apic198,8055 - LOCAL_APIC_FLAGSLOCAL_APIC_FLAGS203,8271 -struct madt_io_apicmadt_io_apic206,8293 -struct madt_interrupt_overridemadt_interrupt_override216,8700 - MPS_INTI_FLAGSMPS_INTI_FLAGS222,8994 -struct madt_nmi_sourcemadt_nmi_source225,9014 -struct madt_local_apic_nmimadt_local_apic_nmi232,9163 -struct madt_address_overridemadt_address_override240,9405 -struct madt_io_sapicmadt_io_sapic247,9629 -struct madt_local_sapicmadt_local_sapic256,10018 - LOCAL_APIC_FLAGSLOCAL_APIC_FLAGS263,10374 -struct madt_interrupt_sourcemadt_interrupt_source266,10396 -struct smart_battery_tablesmart_battery_table282,11001 -#define ACPI_MEM_NOT_ALLOCATED 299,11415 -#define ACPI_MEM_ALLOCATED 300,11449 -#define ACPI_MEM_MAPPED 301,11483 -#define ACPI_TABLE_SINGLE 305,11596 -#define ACPI_TABLE_MULTIPLE 306,11633 -#define ACPI_TABLE_EXECUTABLE 307,11670 -#define ACPI_TABLE_ROOT 309,11708 -#define ACPI_TABLE_PRIMARY 310,11745 -#define ACPI_TABLE_SECONDARY 311,11782 -#define ACPI_TABLE_ALL 312,11819 -#define ACPI_TABLE_TYPE_MASK 313,11856 -struct acpi_table_supportacpi_table_support317,11934 -struct hpet_tablehpet_table338,12392 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acdisasm.h,314 -#define __ACDISASM_H__45,2112 -#define BLOCK_NONE 50,2160 -#define BLOCK_PAREN 51,2194 -#define BLOCK_BRACE 52,2228 -#define BLOCK_COMMA_LIST 53,2262 -struct acpi_external_listacpi_external_list55,2297 -struct acpi_op_walk_infoacpi_op_walk_info84,3851 -acpi_status (*asl_walk_callback)asl_walk_callback91,3975 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/actbl2.h,789 -#define __ACTBL2_H__45,2130 -#define PM_UNSPECIFIED 50,2197 -#define PM_DESKTOP 51,2239 -#define PM_MOBILE 52,2281 -#define PM_WORKSTATION 53,2323 -#define PM_ENTERPRISE_SERVER 54,2365 -#define PM_SOHO_SERVER 55,2407 -#define PM_APPLIANCE_PC 56,2449 -#define BAF_LEGACY_DEVICES 61,2523 -#define BAF_8042_KEYBOARD_CONTROLLER 62,2570 -#define FADT2_INTERIM_REVISION_ID 64,2618 -#define FADT2_INTERIM_LENGTH 65,2654 -#define FADT2_REVISION_ID 66,2689 -struct rsdt_descriptor_rev2rsdt_descriptor_rev274,2806 -struct xsdt_descriptor_rev2xsdt_descriptor_rev285,3095 -struct facs_descriptor_rev2facs_descriptor_rev296,3382 -struct acpi_generic_addressacpi_generic_address114,4459 -struct fadt_descriptor_rev2fadt_descriptor_rev2127,5020 -struct ec_boot_resourcesec_boot_resources202,11887 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/achware.h,66 -#define __ACHWARE_H__45,2123 -#define PM_TIMER_FREQUENCY 49,2184 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acdebug.h,362 -#define __ACDEBUG_H__45,2111 -#define ACPI_DEBUG_BUFFER_SIZE 48,2135 -struct command_infocommand_info50,2173 -struct argument_infoargument_info57,2350 -#define PARAM_LIST(PARAM_LIST63,2447 -#define DBTEST_OUTPUT_LEVEL(DBTEST_OUTPUT_LEVEL65,2491 -#define VERBOSE_PRINT(VERBOSE_PRINT67,2561 -#define EX_NO_SINGLE_STEP 70,2667 -#define EX_SINGLE_STEP 71,2709 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acresrc.h,30 -#define __ACRESRC_H__45,2130 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acconfig.h,2062 -#define _ACCONFIG_H45,2123 -#define ACPI_CA_VERSION 67,2786 -#define ACPI_OS_NAME 77,3285 -#define ACPI_MAX_STATE_CACHE_DEPTH 81,3401 -#define ACPI_MAX_PARSE_CACHE_DEPTH 82,3473 -#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 83,3550 -#define ACPI_MAX_OBJECT_CACHE_DEPTH 84,3627 -#define ACPI_MAX_WALK_CACHE_DEPTH 85,3713 -#define ACPI_CHECKSUM_ABORT 91,3905 -#define ACPI_CA_SUPPORT_LEVEL 102,4176 -#define ACPI_MAX_STRING_LENGTH 106,4248 -#define ACPI_PATHNAME_MAX 107,4292 -#define ACPI_MAX_SEMAPHORE_COUNT 111,4421 -#define ACPI_MAX_REFERENCE_COUNT 115,4510 -#define ACPI_SYSMEM_REGION_WINDOW_SIZE 119,4629 -#define ACPI_MAX_GPE_BLOCKS 130,4989 -#define ACPI_GPE_REGISTER_WIDTH 131,5031 -#define ACPI_METHOD_NUM_LOCALS 136,5154 -#define ACPI_METHOD_MAX_LOCAL 137,5196 -#define ACPI_METHOD_NUM_ARGS 139,5239 -#define ACPI_METHOD_MAX_ARG 140,5281 -#define ACPI_MAX_STRING_CONVERSION 144,5396 -#define ACPI_DEVICE_ID_LENGTH 148,5486 -#define ACPI_MAX_CID_LENGTH 149,5531 -#define ACPI_OBJ_NUM_OPERANDS 154,5663 -#define ACPI_OBJ_MAX_OPERAND 155,5705 -#define ACPI_NAME_SIZE 159,5799 -#define ACPI_PATH_SEGMENT_LENGTH 160,5841 -#define ACPI_PATH_SEPARATOR 161,5939 -#define ACPI_EBDA_PTR_LOCATION 165,6046 -#define ACPI_EBDA_PTR_LENGTH 166,6124 -#define ACPI_EBDA_WINDOW_SIZE 167,6166 -#define ACPI_HI_RSDP_WINDOW_BASE 168,6211 -#define ACPI_HI_RSDP_WINDOW_SIZE 169,6289 -#define ACPI_RSDP_SCAN_STEP 170,6340 -#define ACPI_NUM_PREDEFINED_REGIONS 174,6409 -#define ACPI_USER_REGION_BEGIN 175,6451 -#define ACPI_MAX_ADDRESS_SPACE 179,6544 -#define ACPI_NUM_ACCESS_TYPES 183,6639 -#define ACPI_NUM_UPDATE_RULES 184,6681 -#define ACPI_NUM_LOCK_RULES 185,6723 -#define ACPI_NUM_MATCH_OPS 186,6765 -#define ACPI_NUM_OPCODES 187,6807 -#define ACPI_NUM_FIELD_NAMES 188,6851 -#define ACPI_RSDP_CHECKSUM_LENGTH 192,6916 -#define ACPI_RSDP_XCHECKSUM_LENGTH 193,6959 -#define ACPI_SMBUS_BUFFER_SIZE 197,7042 -#define ACPI_NUM_OSI_STRINGS 201,7152 -#define ACPI_DEBUGGER_MAX_ARGS 210,7384 -#define ACPI_DEBUGGER_COMMAND_PROMPT 212,7462 -#define ACPI_DEBUGGER_EXECUTE_PROMPT 213,7506 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/actables.h,63 -#define __ACTABLES_H__45,2117 -#define SIZE_IN_HEADER 50,2229 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/processor.h,1062 -#define __ACPI_PROCESSOR_H2,27 -#define ACPI_PROCESSOR_BUSY_METRIC 6,82 -#define ACPI_PROCESSOR_MAX_POWER 8,121 -#define ACPI_PROCESSOR_MAX_C2_LATENCY 9,173 -#define ACPI_PROCESSOR_MAX_C3_LATENCY 10,215 -#define ACPI_PROCESSOR_MAX_THROTTLING 12,259 -#define ACPI_PROCESSOR_MAX_THROTTLE 13,300 -#define ACPI_PROCESSOR_MAX_DUTY_WIDTH 14,350 -struct acpi_processor_cx_policy acpi_processor_cx_policy18,415 -struct acpi_processor_cx acpi_processor_cx29,563 -struct acpi_processor_power acpi_processor_power40,776 -struct acpi_pct_register acpi_pct_register49,956 -struct acpi_processor_px acpi_processor_px59,1128 -#define ACPI_PDC_REVISION_ID 68,1450 -struct acpi_processor_performance acpi_processor_performance70,1502 -struct acpi_processor_tx acpi_processor_tx86,1861 -struct acpi_processor_throttling acpi_processor_throttling91,1926 -struct acpi_processor_lx acpi_processor_lx102,2140 -struct acpi_processor_limit acpi_processor_limit107,2240 -struct acpi_processor_flags acpi_processor_flags114,2434 -struct acpi_processor acpi_processor124,2595 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/actbl1.h,200 -#define __ACTBL1_H__45,2107 -struct rsdt_descriptor_rev1rsdt_descriptor_rev152,2202 -struct facs_descriptor_rev1facs_descriptor_rev163,2487 -struct fadt_descriptor_rev1fadt_descriptor_rev179,3266 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acinterp.h,158 -#define __ACINTERP_H__45,2143 -#define ACPI_WALK_OPERANDS 48,2168 -#define ACPI_IMPLICIT_CONVERSION 575,15516 -#define ACPI_NO_IMPLICIT_CONVERSION 576,15561 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/amlcode.h,11237 -#define __AMLCODE_H__47,2287 -#define AML_NULL_CHAR 51,2333 -#define AML_ZERO_OP 53,2381 -#define AML_ONE_OP 54,2428 -#define AML_UNASSIGNED 55,2475 -#define AML_ALIAS_OP 56,2522 -#define AML_NAME_OP 57,2569 -#define AML_BYTE_OP 58,2616 -#define AML_WORD_OP 59,2663 -#define AML_DWORD_OP 60,2710 -#define AML_STRING_OP 61,2757 -#define AML_QWORD_OP 62,2804 -#define AML_SCOPE_OP 63,2870 -#define AML_BUFFER_OP 64,2917 -#define AML_PACKAGE_OP 65,2964 -#define AML_VAR_PACKAGE_OP 66,3011 -#define AML_METHOD_OP 67,3077 -#define AML_DUAL_NAME_PREFIX 68,3124 -#define AML_MULTI_NAME_PREFIX_OP 69,3171 -#define AML_NAME_CHAR_SUBSEQ 70,3218 -#define AML_NAME_CHAR_FIRST 71,3265 -#define AML_OP_PREFIX 72,3312 -#define AML_ROOT_PREFIX 73,3359 -#define AML_PARENT_PREFIX 74,3406 -#define AML_LOCAL_OP 75,3453 -#define AML_LOCAL0 76,3500 -#define AML_LOCAL1 77,3547 -#define AML_LOCAL2 78,3594 -#define AML_LOCAL3 79,3641 -#define AML_LOCAL4 80,3688 -#define AML_LOCAL5 81,3735 -#define AML_LOCAL6 82,3782 -#define AML_LOCAL7 83,3829 -#define AML_ARG_OP 84,3876 -#define AML_ARG0 85,3923 -#define AML_ARG1 86,3970 -#define AML_ARG2 87,4017 -#define AML_ARG3 88,4064 -#define AML_ARG4 89,4111 -#define AML_ARG5 90,4158 -#define AML_ARG6 91,4205 -#define AML_STORE_OP 92,4252 -#define AML_REF_OF_OP 93,4299 -#define AML_ADD_OP 94,4346 -#define AML_CONCAT_OP 95,4393 -#define AML_SUBTRACT_OP 96,4440 -#define AML_INCREMENT_OP 97,4487 -#define AML_DECREMENT_OP 98,4534 -#define AML_MULTIPLY_OP 99,4581 -#define AML_DIVIDE_OP 100,4628 -#define AML_SHIFT_LEFT_OP 101,4675 -#define AML_SHIFT_RIGHT_OP 102,4722 -#define AML_BIT_AND_OP 103,4769 -#define AML_BIT_NAND_OP 104,4816 -#define AML_BIT_OR_OP 105,4863 -#define AML_BIT_NOR_OP 106,4910 -#define AML_BIT_XOR_OP 107,4957 -#define AML_BIT_NOT_OP 108,5004 -#define AML_FIND_SET_LEFT_BIT_OP 109,5051 -#define AML_FIND_SET_RIGHT_BIT_OP 110,5098 -#define AML_DEREF_OF_OP 111,5145 -#define AML_CONCAT_RES_OP 112,5192 -#define AML_MOD_OP 113,5258 -#define AML_NOTIFY_OP 114,5324 -#define AML_SIZE_OF_OP 115,5371 -#define AML_INDEX_OP 116,5418 -#define AML_MATCH_OP 117,5465 -#define AML_CREATE_DWORD_FIELD_OP 118,5512 -#define AML_CREATE_WORD_FIELD_OP 119,5559 -#define AML_CREATE_BYTE_FIELD_OP 120,5606 -#define AML_CREATE_BIT_FIELD_OP 121,5653 -#define AML_TYPE_OP 122,5700 -#define AML_CREATE_QWORD_FIELD_OP 123,5747 -#define AML_LAND_OP 124,5813 -#define AML_LOR_OP 125,5860 -#define AML_LNOT_OP 126,5907 -#define AML_LEQUAL_OP 127,5954 -#define AML_LGREATER_OP 128,6001 -#define AML_LLESS_OP 129,6048 -#define AML_TO_BUFFER_OP 130,6095 -#define AML_TO_DECSTRING_OP 131,6161 -#define AML_TO_HEXSTRING_OP 132,6227 -#define AML_TO_INTEGER_OP 133,6293 -#define AML_TO_STRING_OP 134,6359 -#define AML_COPY_OP 135,6425 -#define AML_MID_OP 136,6491 -#define AML_CONTINUE_OP 137,6557 -#define AML_IF_OP 138,6623 -#define AML_ELSE_OP 139,6670 -#define AML_WHILE_OP 140,6717 -#define AML_NOOP_OP 141,6764 -#define AML_RETURN_OP 142,6811 -#define AML_BREAK_OP 143,6858 -#define AML_BREAK_POINT_OP 144,6905 -#define AML_ONES_OP 145,6952 -#define AML_EXTOP 149,7024 -#define AML_MUTEX_OP 152,7075 -#define AML_EVENT_OP 153,7124 -#define AML_SHIFT_RIGHT_BIT_OP 154,7173 -#define AML_SHIFT_LEFT_BIT_OP 155,7222 -#define AML_COND_REF_OF_OP 156,7271 -#define AML_CREATE_FIELD_OP 157,7320 -#define AML_LOAD_TABLE_OP 158,7369 -#define AML_LOAD_OP 159,7437 -#define AML_STALL_OP 160,7486 -#define AML_SLEEP_OP 161,7535 -#define AML_ACQUIRE_OP 162,7584 -#define AML_SIGNAL_OP 163,7633 -#define AML_WAIT_OP 164,7682 -#define AML_RESET_OP 165,7731 -#define AML_RELEASE_OP 166,7780 -#define AML_FROM_BCD_OP 167,7829 -#define AML_TO_BCD_OP 168,7878 -#define AML_UNLOAD_OP 169,7927 -#define AML_REVISION_OP 170,7976 -#define AML_DEBUG_OP 171,8025 -#define AML_FATAL_OP 172,8074 -#define AML_REGION_OP 173,8123 -#define AML_FIELD_OP 174,8172 -#define AML_DEVICE_OP 175,8221 -#define AML_PROCESSOR_OP 176,8270 -#define AML_POWER_RES_OP 177,8319 -#define AML_THERMAL_ZONE_OP 178,8368 -#define AML_INDEX_FIELD_OP 179,8417 -#define AML_BANK_FIELD_OP 180,8466 -#define AML_DATA_REGION_OP 181,8515 -#define AML_LGREATEREQUAL_OP 186,8647 -#define AML_LLESSEQUAL_OP 187,8696 -#define AML_LNOTEQUAL_OP 188,8745 -#define AML_INT_NAMEPATH_OP 197,8927 -#define AML_INT_NAMEDFIELD_OP 198,8976 -#define AML_INT_RESERVEDFIELD_OP 199,9025 -#define AML_INT_ACCESSFIELD_OP 200,9074 -#define AML_INT_BYTELIST_OP 201,9123 -#define AML_INT_STATICSTRING_OP 202,9172 -#define AML_INT_METHODCALL_OP 203,9221 -#define AML_INT_RETURN_VALUE_OP 204,9270 -#define AML_INT_EVAL_SUBTREE_OP 205,9319 -#define ARG_NONE 208,9370 -#define ARGP_BYTEDATA 217,9633 -#define ARGP_BYTELIST 218,9674 -#define ARGP_CHARLIST 219,9715 -#define ARGP_DATAOBJ 220,9756 -#define ARGP_DATAOBJLIST 221,9797 -#define ARGP_DWORDDATA 222,9838 -#define ARGP_FIELDLIST 223,9879 -#define ARGP_NAME 224,9920 -#define ARGP_NAMESTRING 225,9961 -#define ARGP_OBJLIST 226,10002 -#define ARGP_PKGLENGTH 227,10043 -#define ARGP_SUPERNAME 228,10084 -#define ARGP_TARGET 229,10125 -#define ARGP_TERMARG 230,10166 -#define ARGP_TERMLIST 231,10207 -#define ARGP_WORDDATA 232,10248 -#define ARGP_QWORDDATA 233,10289 -#define ARGP_SIMPLENAME 234,10330 -#define ARGI_ANYTYPE 250,10908 -#define ARGI_PACKAGE 251,10969 -#define ARGI_EVENT 252,11010 -#define ARGI_MUTEX 253,11051 -#define ARGI_DDBHANDLE 254,11092 -#define ARGI_INTEGER 258,11189 -#define ARGI_STRING 259,11230 -#define ARGI_BUFFER 260,11271 -#define ARGI_BUFFER_OR_STRING 261,11312 -#define ARGI_COMPUTEDATA 262,11382 -#define ARGI_INTEGER_REF 266,11485 -#define ARGI_OBJECT_REF 267,11526 -#define ARGI_DEVICE_REF 268,11567 -#define ARGI_REFERENCE 269,11608 -#define ARGI_TARGETREF 270,11649 -#define ARGI_FIXED_TARGET 271,11738 -#define ARGI_SIMPLE_TARGET 272,11819 -#define ARGI_DATAOBJECT 276,11943 -#define ARGI_COMPLEXOBJ 277,12071 -#define ARGI_REF_OR_STRING 278,12172 -#define ARGI_REGION_OR_FIELD 279,12268 -#define ARGI_INVALID_OPCODE 283,12392 -#define AML_EXTOP_HASH_OFFSET 289,12464 -#define AML_LNOT_HASH_OFFSET 290,12503 -#define OPGRP_NAMED 297,12579 -#define OPGRP_FIELD 298,12620 -#define OPGRP_BYTELIST 299,12661 -#define AML_HAS_ARGS 308,12754 -#define AML_HAS_TARGET 309,12797 -#define AML_HAS_RETVAL 310,12840 -#define AML_NSOBJECT 311,12883 -#define AML_NSOPCODE 312,12926 -#define AML_NSNODE 313,12969 -#define AML_NAMED 314,13012 -#define AML_DEFER 315,13055 -#define AML_FIELD 316,13098 -#define AML_CREATE 317,13141 -#define AML_MATH 318,13184 -#define AML_LOGICAL 319,13227 -#define AML_CONSTANT 320,13270 -#define AML_FLAGS_EXEC_1A_0T_0R 324,13347 -#define AML_FLAGS_EXEC_1A_0T_1R 325,13446 -#define AML_FLAGS_EXEC_1A_1T_0R 326,13545 -#define AML_FLAGS_EXEC_1A_1T_1R 327,13611 -#define AML_FLAGS_EXEC_2A_0T_0R 328,13711 -#define AML_FLAGS_EXEC_2A_0T_1R 329,13810 -#define AML_FLAGS_EXEC_2A_1T_1R 330,13909 -#define AML_FLAGS_EXEC_2A_2T_1R 331,14009 -#define AML_FLAGS_EXEC_3A_0T_0R 332,14092 -#define AML_FLAGS_EXEC_3A_1T_1R 333,14141 -#define AML_FLAGS_EXEC_6A_0T_1R 334,14224 -#define AML_TYPE_EXEC_1A_0T_0R 341,14409 -#define AML_TYPE_EXEC_1A_0T_1R 342,14466 -#define AML_TYPE_EXEC_1A_1T_0R 343,14523 -#define AML_TYPE_EXEC_1A_1T_1R 344,14564 -#define AML_TYPE_EXEC_2A_0T_0R 345,14622 -#define AML_TYPE_EXEC_2A_0T_1R 346,14679 -#define AML_TYPE_EXEC_2A_1T_1R 347,14736 -#define AML_TYPE_EXEC_2A_2T_1R 348,14794 -#define AML_TYPE_EXEC_3A_0T_0R 349,14835 -#define AML_TYPE_EXEC_3A_1T_1R 350,14876 -#define AML_TYPE_EXEC_6A_0T_1R 351,14917 -#define AML_TYPE_LITERAL 354,15001 -#define AML_TYPE_CONSTANT 355,15042 -#define AML_TYPE_METHOD_ARGUMENT 356,15083 -#define AML_TYPE_LOCAL_VARIABLE 357,15124 -#define AML_TYPE_DATA_TERM 358,15165 -#define AML_TYPE_METHOD_CALL 362,15253 -#define AML_TYPE_CREATE_FIELD 366,15307 -#define AML_TYPE_CREATE_OBJECT 367,15348 -#define AML_TYPE_CONTROL 368,15389 -#define AML_TYPE_NAMED_NO_OBJ 369,15430 -#define AML_TYPE_NAMED_FIELD 370,15471 -#define AML_TYPE_NAMED_SIMPLE 371,15512 -#define AML_TYPE_NAMED_COMPLEX 372,15553 -#define AML_TYPE_RETURN 373,15594 -#define AML_TYPE_UNDEFINED 375,15636 -#define AML_TYPE_BOGUS 376,15677 -#define AML_CLASS_EXECUTE 382,15745 -#define AML_CLASS_CREATE 383,15786 -#define AML_CLASS_ARGUMENT 384,15827 -#define AML_CLASS_NAMED_OBJECT 385,15868 -#define AML_CLASS_CONTROL 386,15909 -#define AML_CLASS_ASCII 387,15950 -#define AML_CLASS_PREFIX 388,15991 -#define AML_CLASS_INTERNAL 389,16032 -#define AML_CLASS_RETURN_VALUE 390,16073 -#define AML_CLASS_METHOD_CALL 391,16114 -#define AML_CLASS_UNKNOWN 392,16155 - REGION_MEMORY 399,16258 - REGION_IO,400,16296 - REGION_PCI_CONFIG,401,16308 - REGION_EC,402,16328 - REGION_SMBUS,403,16340 - REGION_CMOS,404,16355 - REGION_PCI_BAR,405,16369 - REGION_DATA_TABLE,406,16386 - REGION_FIXED_HW 407,16443 - REGION_FIXED_HW = 0x7F407,16443 -} AML_REGION_TYPES;AML_REGION_TYPES409,16484 - MATCH_MTR 416,16577 - MATCH_MEQ 417,16615 - MATCH_MLE 418,16653 - MATCH_MLT 419,16691 - MATCH_MGE 420,16729 - MATCH_MGT 421,16767 -} AML_MATCH_OPERATOR;AML_MATCH_OPERATOR423,16805 -#define MAX_MATCH_OPERATOR 425,16828 -#define AML_FIELD_ACCESS_TYPE_MASK 441,17221 -#define AML_FIELD_LOCK_RULE_MASK 442,17262 -#define AML_FIELD_UPDATE_RULE_MASK 443,17303 - AML_FIELD_ACCESS_ANY 450,17390 - AML_FIELD_ACCESS_ANY = 0x00,450,17390 - AML_FIELD_ACCESS_BYTE 451,17431 - AML_FIELD_ACCESS_BYTE = 0x01,451,17431 - AML_FIELD_ACCESS_WORD 452,17472 - AML_FIELD_ACCESS_WORD = 0x02,452,17472 - AML_FIELD_ACCESS_DWORD 453,17513 - AML_FIELD_ACCESS_DWORD = 0x03,453,17513 - AML_FIELD_ACCESS_QWORD 454,17554 - AML_FIELD_ACCESS_QWORD = 0x04,454,17554 - AML_FIELD_ACCESS_BUFFER 455,17613 - AML_FIELD_ACCESS_BUFFER = 0x05 455,17613 -} AML_ACCESS_TYPE;AML_ACCESS_TYPE457,17673 - AML_FIELD_LOCK_NEVER 464,17736 - AML_FIELD_LOCK_NEVER = 0x00,464,17736 - AML_FIELD_LOCK_ALWAYS 465,17777 - AML_FIELD_LOCK_ALWAYS = 0x10465,17777 -} AML_LOCK_RULE;AML_LOCK_RULE467,17818 - AML_FIELD_UPDATE_PRESERVE 474,17881 - AML_FIELD_UPDATE_PRESERVE = 0x00,474,17881 - AML_FIELD_UPDATE_WRITE_AS_ONES 475,17922 - AML_FIELD_UPDATE_WRITE_AS_ONES = 0x20,475,17922 - AML_FIELD_UPDATE_WRITE_AS_ZEROS 476,17963 - AML_FIELD_UPDATE_WRITE_AS_ZEROS = 0x40476,17963 -} AML_UPDATE_RULE;AML_UPDATE_RULE478,18004 - AML_FIELD_ATTRIB_SMB_QUICK 488,18143 - AML_FIELD_ATTRIB_SMB_QUICK = 0x02,488,18143 - AML_FIELD_ATTRIB_SMB_SEND_RCV 489,18184 - AML_FIELD_ATTRIB_SMB_SEND_RCV = 0x04,489,18184 - AML_FIELD_ATTRIB_SMB_BYTE 490,18225 - AML_FIELD_ATTRIB_SMB_BYTE = 0x06,490,18225 - AML_FIELD_ATTRIB_SMB_WORD 491,18266 - AML_FIELD_ATTRIB_SMB_WORD = 0x08,491,18266 - AML_FIELD_ATTRIB_SMB_BLOCK 492,18307 - AML_FIELD_ATTRIB_SMB_BLOCK = 0x0A,492,18307 - AML_FIELD_ATTRIB_SMB_WORD_CALL 493,18348 - AML_FIELD_ATTRIB_SMB_WORD_CALL = 0x0C,493,18348 - AML_FIELD_ATTRIB_SMB_BLOCK_CALL 494,18389 - AML_FIELD_ATTRIB_SMB_BLOCK_CALL = 0x0D494,18389 -} AML_ACCESS_ATTRIBUTE;AML_ACCESS_ATTRIBUTE496,18430 -#define AML_METHOD_ARG_COUNT 501,18495 -#define AML_METHOD_SERIALIZED 502,18536 -#define AML_METHOD_SYNCH_LEVEL 503,18577 -#define AML_METHOD_INTERNAL_ONLY 507,18697 -#define AML_METHOD_RESERVED1 508,18738 -#define AML_METHOD_RESERVED2 509,18779 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acdispat.h,95 -#define _ACDISPAT_H_46,2139 -#define NAMEOF_LOCAL_NTE 49,2162 -#define NAMEOF_ARG_NTE 50,2197 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acpi_drivers.h,536 -#define __ACPI_DRIVERS_H__27,1108 -#define ACPI_MAX_STRING 33,1189 -#define ACPI_BUS_COMPONENT 35,1219 -#define ACPI_SYSTEM_COMPONENT 36,1258 -#define ACPI_POWER_HID 40,1325 -#define ACPI_PROCESSOR_HID 41,1361 -#define ACPI_SYSTEM_HID 42,1400 -#define ACPI_THERMAL_HID 43,1437 -#define ACPI_BUTTON_HID_POWERF 44,1474 -#define ACPI_BUTTON_HID_SLEEPF 45,1517 -#define ACPI_PCI_COMPONENT 54,1789 -#define ACPI_PROCESSOR_LIMIT_NONE 102,3482 -#define ACPI_PROCESSOR_LIMIT_INCREMENT 103,3521 -#define ACPI_PROCESSOR_LIMIT_DECREMENT 104,3565 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acpi_bus.h,2849 -#define __ACPI_BUS_H__27,1117 -#define PREFIX 33,1193 -#define ACPI_MAX_HANDLES 36,1244 -struct acpi_handle_list acpi_handle_list37,1272 -#define ACPI_BUS_FILE_ROOT 67,1920 -enum acpi_bus_removal_type acpi_bus_removal_type71,2035 - ACPI_BUS_REMOVAL_NORMAL 72,2064 - ACPI_BUS_REMOVAL_EJECT,73,2094 - ACPI_BUS_REMOVAL_SUPRISE,74,2119 - ACPI_BUS_REMOVAL_TYPE_COUNT75,2146 -enum acpi_bus_device_type acpi_bus_device_type78,2179 - ACPI_BUS_TYPE_DEVICE 79,2207 - ACPI_BUS_TYPE_POWER,80,2234 - ACPI_BUS_TYPE_PROCESSOR,81,2256 - ACPI_BUS_TYPE_THERMAL,82,2282 - ACPI_BUS_TYPE_SYSTEM,83,2306 - ACPI_BUS_TYPE_POWER_BUTTON,84,2329 - ACPI_BUS_TYPE_SLEEP_BUTTON,85,2358 - ACPI_BUS_DEVICE_TYPE_COUNT86,2387 -typedef int (*acpi_op_add)acpi_op_add98,2499 -typedef int (*acpi_op_remove)acpi_op_remove99,2556 -typedef int (*acpi_op_lock)acpi_op_lock100,2626 -typedef int (*acpi_op_start)acpi_op_start101,2694 -typedef int (*acpi_op_stop)acpi_op_stop102,2753 -typedef int (*acpi_op_suspend)acpi_op_suspend103,2821 -typedef int (*acpi_op_resume)acpi_op_resume104,2893 -typedef int (*acpi_op_scan)acpi_op_scan105,2964 -typedef int (*acpi_op_bind)acpi_op_bind106,3022 -struct acpi_device_ops acpi_device_ops108,3081 -struct acpi_driver acpi_driver120,3313 -struct acpi_device_status acpi_device_status136,3554 -struct acpi_device_flags acpi_device_flags148,3724 -struct acpi_device_dir acpi_device_dir167,4110 -#define acpi_device_dir(acpi_device_dir171,4170 -typedef char acpi_bus_id[acpi_bus_id176,4237 -typedef unsigned long acpi_bus_address;acpi_bus_address177,4268 -typedef char acpi_hardware_id[acpi_hardware_id178,4309 -typedef char acpi_unique_id[acpi_unique_id179,4345 -typedef char acpi_device_name[acpi_device_name180,4379 -typedef char acpi_device_class[acpi_device_class181,4416 -struct acpi_device_pnp acpi_device_pnp183,4455 -#define acpi_device_bid(acpi_device_bid193,4920 -#define acpi_device_adr(acpi_device_adr194,4965 -#define acpi_device_hid(acpi_device_hid195,5015 -#define acpi_device_uid(acpi_device_uid196,5065 -#define acpi_device_name(acpi_device_name197,5113 -#define acpi_device_class(acpi_device_class198,5164 -struct acpi_device_power_flags acpi_device_power_flags203,5243 -struct acpi_device_power_state acpi_device_power_state211,5499 -struct acpi_device_power acpi_device_power222,5808 -struct acpi_device_perf_flags acpi_device_perf_flags231,6031 -struct acpi_device_perf_state acpi_device_perf_state235,6085 -struct acpi_device_perf acpi_device_perf245,6327 -struct acpi_device_wakeup_flags acpi_device_wakeup_flags253,6493 -struct acpi_device_wakeup_state acpi_device_wakeup_state258,6625 -struct acpi_device_wakeup acpi_device_wakeup263,6692 -struct acpi_device acpi_device274,6936 -#define acpi_driver_data(acpi_driver_data294,7456 -struct acpi_bus_event acpi_bus_event302,7533 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acstruct.h,826 -#define __ACSTRUCT_H__45,2112 -#define ACPI_NEXT_OP_DOWNWARD 60,2511 -#define ACPI_NEXT_OP_UPWARD 61,2549 -#define ACPI_WALK_NON_METHOD 63,2588 -#define ACPI_WALK_METHOD 64,2626 -#define ACPI_WALK_METHOD_RESTART 65,2664 -#define ACPI_WALK_CONST_REQUIRED 66,2702 -#define ACPI_WALK_CONST_OPTIONAL 67,2740 -struct acpi_walk_stateacpi_walk_state69,2779 -struct acpi_init_walk_infoacpi_init_walk_info124,6930 -struct acpi_device_walk_infoacpi_device_walk_info143,7576 -struct acpi_walk_infoacpi_walk_info154,7839 -#define ACPI_DISPLAY_SUMMARY 163,8024 -#define ACPI_DISPLAY_OBJECTS 164,8058 -struct acpi_get_devices_infoacpi_get_devices_info166,8093 -union acpi_aml_operandsacpi_aml_operands174,8259 -struct acpi_parameter_infoacpi_parameter_info207,8872 -#define ACPI_PARAM_ARGS 218,9181 -#define ACPI_PARAM_GPE 219,9223 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acexcep.h,3973 -#define __ACEXCEP_H__45,2140 -#define AE_CODE_ENVIRONMENTAL 52,2223 -#define AE_CODE_PROGRAMMER 53,2270 -#define AE_CODE_ACPI_TABLES 54,2317 -#define AE_CODE_AML 55,2364 -#define AE_CODE_CONTROL 56,2411 -#define AE_CODE_MASK 57,2458 -#define ACPI_SUCCESS(ACPI_SUCCESS60,2507 -#define ACPI_FAILURE(ACPI_FAILURE61,2554 -#define AE_OK 64,2600 -#define AE_ERROR 69,2697 -#define AE_NO_ACPI_TABLES 70,2784 -#define AE_NO_NAMESPACE 71,2871 -#define AE_NO_MEMORY 72,2958 -#define AE_NOT_FOUND 73,3045 -#define AE_NOT_EXIST 74,3132 -#define AE_ALREADY_EXISTS 75,3219 -#define AE_TYPE 76,3306 -#define AE_NULL_OBJECT 77,3393 -#define AE_NULL_ENTRY 78,3480 -#define AE_BUFFER_OVERFLOW 79,3567 -#define AE_STACK_OVERFLOW 80,3654 -#define AE_STACK_UNDERFLOW 81,3741 -#define AE_NOT_IMPLEMENTED 82,3828 -#define AE_VERSION_MISMATCH 83,3915 -#define AE_SUPPORT 84,4002 -#define AE_SHARE 85,4089 -#define AE_LIMIT 86,4176 -#define AE_TIME 87,4263 -#define AE_UNKNOWN_STATUS 88,4350 -#define AE_ACQUIRE_DEADLOCK 89,4437 -#define AE_RELEASE_DEADLOCK 90,4524 -#define AE_NOT_ACQUIRED 91,4611 -#define AE_ALREADY_ACQUIRED 92,4698 -#define AE_NO_HARDWARE_RESPONSE 93,4785 -#define AE_NO_GLOBAL_LOCK 94,4872 -#define AE_LOGICAL_ADDRESS 95,4959 -#define AE_ABORT_METHOD 96,5046 -#define AE_SAME_HANDLER 97,5133 -#define AE_WAKE_ONLY_GPE 98,5220 -#define AE_CODE_ENV_MAX 100,5308 -#define AE_BAD_PARAMETER 105,5388 -#define AE_BAD_CHARACTER 106,5472 -#define AE_BAD_PATHNAME 107,5556 -#define AE_BAD_DATA 108,5640 -#define AE_BAD_ADDRESS 109,5724 -#define AE_ALIGNMENT 110,5808 -#define AE_BAD_HEX_CONSTANT 111,5892 -#define AE_BAD_OCTAL_CONSTANT 112,5976 -#define AE_BAD_DECIMAL_CONSTANT 113,6060 -#define AE_CODE_PGM_MAX 115,6145 -#define AE_BAD_SIGNATURE 121,6226 -#define AE_BAD_HEADER 122,6311 -#define AE_BAD_CHECKSUM 123,6396 -#define AE_BAD_VALUE 124,6481 -#define AE_TABLE_NOT_SUPPORTED 125,6566 -#define AE_INVALID_TABLE_LENGTH 126,6651 -#define AE_CODE_TBL_MAX 128,6737 -#define AE_AML_ERROR 135,6877 -#define AE_AML_PARSE 136,6954 -#define AE_AML_BAD_OPCODE 137,7031 -#define AE_AML_NO_OPERAND 138,7108 -#define AE_AML_OPERAND_TYPE 139,7185 -#define AE_AML_OPERAND_VALUE 140,7262 -#define AE_AML_UNINITIALIZED_LOCAL 141,7339 -#define AE_AML_UNINITIALIZED_ARG 142,7416 -#define AE_AML_UNINITIALIZED_ELEMENT 143,7493 -#define AE_AML_NUMERIC_OVERFLOW 144,7570 -#define AE_AML_REGION_LIMIT 145,7647 -#define AE_AML_BUFFER_LIMIT 146,7724 -#define AE_AML_PACKAGE_LIMIT 147,7801 -#define AE_AML_DIVIDE_BY_ZERO 148,7878 -#define AE_AML_BAD_NAME 149,7955 -#define AE_AML_NAME_NOT_FOUND 150,8032 -#define AE_AML_INTERNAL 151,8109 -#define AE_AML_INVALID_SPACE_ID 152,8186 -#define AE_AML_STRING_LIMIT 153,8263 -#define AE_AML_NO_RETURN_VALUE 154,8340 -#define AE_AML_METHOD_LIMIT 155,8417 -#define AE_AML_NOT_OWNER 156,8494 -#define AE_AML_MUTEX_ORDER 157,8571 -#define AE_AML_MUTEX_NOT_ACQUIRED 158,8648 -#define AE_AML_INVALID_RESOURCE_TYPE 159,8725 -#define AE_AML_INVALID_INDEX 160,8802 -#define AE_AML_REGISTER_LIMIT 161,8879 -#define AE_AML_NO_WHILE 162,8956 -#define AE_AML_ALIGNMENT 163,9033 -#define AE_AML_NO_RESOURCE_END_TAG 164,9110 -#define AE_AML_BAD_RESOURCE_VALUE 165,9187 -#define AE_AML_CIRCULAR_REFERENCE 166,9264 -#define AE_AML_BAD_RESOURCE_LENGTH 167,9341 -#define AE_CODE_AML_MAX 169,9419 -#define AE_CTRL_RETURN_VALUE 174,9514 -#define AE_CTRL_PENDING 175,9595 -#define AE_CTRL_TERMINATE 176,9676 -#define AE_CTRL_TRUE 177,9757 -#define AE_CTRL_FALSE 178,9838 -#define AE_CTRL_DEPTH 179,9919 -#define AE_CTRL_END 180,10000 -#define AE_CTRL_TRANSFER 181,10081 -#define AE_CTRL_BREAK 182,10162 -#define AE_CTRL_CONTINUE 183,10243 -#define AE_CTRL_SKIP 184,10324 -#define AE_CODE_CTRL_MAX 186,10406 -char const *acpi_gbl_exception_names_env[195,10600 -char const *acpi_gbl_exception_names_pgm[230,11255 -char const *acpi_gbl_exception_names_tbl[243,11499 -char const *acpi_gbl_exception_names_aml[253,11682 -char const *acpi_gbl_exception_names_ctrl[290,12571 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acmacros.h,12001 -#define __ACMACROS_H__45,2130 -#define ACPI_LOWORD(ACPI_LOWORD51,2190 -#define ACPI_HIWORD(ACPI_HIWORD52,2246 -#define ACPI_LOBYTE(ACPI_LOBYTE53,2323 -#define ACPI_HIBYTE(ACPI_HIBYTE54,2378 -#define ACPI_SET_BIT(ACPI_SET_BIT56,2452 -#define ACPI_CLEAR_BIT(ACPI_CLEAR_BIT57,2512 -#define ACPI_LODWORD(ACPI_LODWORD66,2691 -#define ACPI_HIDWORD(ACPI_HIDWORD67,2742 -#define ACPI_GET_ADDRESS(ACPI_GET_ADDRESS69,2794 -#define ACPI_STORE_ADDRESS(ACPI_STORE_ADDRESS70,2843 -#define ACPI_VALID_ADDRESS(ACPI_VALID_ADDRESS71,2911 -#define ACPI_LODWORD(ACPI_LODWORD78,3079 -#define ACPI_HIDWORD(ACPI_HIDWORD79,3130 -#define ACPI_GET_ADDRESS(ACPI_GET_ADDRESS81,3182 -#define ACPI_STORE_ADDRESS(ACPI_STORE_ADDRESS82,3226 -#define ACPI_VALID_ADDRESS(ACPI_VALID_ADDRESS83,3276 -#define ACPI_LODWORD(ACPI_LODWORD90,3402 -#define ACPI_HIDWORD(ACPI_HIDWORD91,3458 -#define ACPI_GET_ADDRESS(ACPI_GET_ADDRESS93,3553 -#define ACPI_STORE_ADDRESS(ACPI_STORE_ADDRESS94,3597 -#define ACPI_VALID_ADDRESS(ACPI_VALID_ADDRESS95,3670 -#define ACPI_FORMAT_UINT64(ACPI_FORMAT_UINT64105,3836 -#define ACPI_GET8(ACPI_GET8111,4056 -#define ACPI_PTR_ADD(ACPI_PTR_ADD115,4138 -#define ACPI_PTR_DIFF(ACPI_PTR_DIFF116,4230 -#define ACPI_TO_POINTER(ACPI_TO_POINTER120,4358 -#define ACPI_TO_INTEGER(ACPI_TO_INTEGER121,4453 -#define ACPI_OFFSET(ACPI_OFFSET122,4525 -#define ACPI_FADT_OFFSET(ACPI_FADT_OFFSET123,4622 -#define ACPI_CAST_PTR(ACPI_CAST_PTR125,4696 -#define ACPI_CAST_INDIRECT_PTR(ACPI_CAST_INDIRECT_PTR126,4755 -#define ACPI_STORE_POINTER(ACPI_STORE_POINTER129,4845 -#define ACPI_PHYSADDR_TO_PTR(ACPI_PHYSADDR_TO_PTR130,4909 -#define ACPI_PTR_TO_PHYSADDR(ACPI_PTR_TO_PHYSADDR131,4961 -#define ACPI_PHYSADDR_TO_PTR(ACPI_PHYSADDR_TO_PTR133,5025 -#define ACPI_PTR_TO_PHYSADDR(ACPI_PTR_TO_PHYSADDR134,5084 -#define ACPI_BUFFER_INDEX(ACPI_BUFFER_INDEX149,5505 -#define ACPI_MOVE_16_TO_16(ACPI_MOVE_16_TO_16157,5844 -#define ACPI_MOVE_16_TO_32(ACPI_MOVE_16_TO_32160,5995 -#define ACPI_MOVE_16_TO_64(ACPI_MOVE_16_TO_64164,6177 -#define ACPI_MOVE_32_TO_16(ACPI_MOVE_32_TO_16170,6408 -#define ACPI_MOVE_32_TO_32(ACPI_MOVE_32_TO_32172,6497 -#define ACPI_MOVE_32_TO_64(ACPI_MOVE_32_TO_64177,6780 -#define ACPI_MOVE_64_TO_16(ACPI_MOVE_64_TO_16185,7143 -#define ACPI_MOVE_64_TO_32(ACPI_MOVE_64_TO_32187,7232 -#define ACPI_MOVE_64_TO_64(ACPI_MOVE_64_TO_64189,7321 -#define ACPI_BUFFER_INDEX(ACPI_BUFFER_INDEX204,7987 -#define ACPI_MOVE_16_TO_16(ACPI_MOVE_16_TO_16215,8270 -#define ACPI_MOVE_16_TO_32(ACPI_MOVE_16_TO_32216,8352 -#define ACPI_MOVE_16_TO_64(ACPI_MOVE_16_TO_64217,8434 -#define ACPI_MOVE_32_TO_16(ACPI_MOVE_32_TO_16221,8542 -#define ACPI_MOVE_32_TO_32(ACPI_MOVE_32_TO_32222,8630 -#define ACPI_MOVE_32_TO_64(ACPI_MOVE_32_TO_64223,8712 -#define ACPI_MOVE_64_TO_16(ACPI_MOVE_64_TO_16227,8820 -#define ACPI_MOVE_64_TO_32(ACPI_MOVE_64_TO_32228,8908 -#define ACPI_MOVE_64_TO_64(ACPI_MOVE_64_TO_64229,8996 -#define ACPI_MOVE_16_TO_16(ACPI_MOVE_16_TO_16234,9110 -#define ACPI_MOVE_16_TO_32(ACPI_MOVE_16_TO_32235,9192 -#define ACPI_MOVE_16_TO_64(ACPI_MOVE_16_TO_64236,9274 -#define ACPI_MOVE_32_TO_16(ACPI_MOVE_32_TO_16240,9400 -#define ACPI_MOVE_32_TO_32(ACPI_MOVE_32_TO_32241,9488 -#define ACPI_MOVE_32_TO_64(ACPI_MOVE_32_TO_64242,9570 -#define ACPI_MOVE_64_TO_16(ACPI_MOVE_64_TO_16246,9696 -#define ACPI_MOVE_64_TO_32(ACPI_MOVE_64_TO_32247,9784 -#define ACPI_MOVE_64_TO_64(ACPI_MOVE_64_TO_64248,9872 -#define ACPI_MOVE_16_TO_16(ACPI_MOVE_16_TO_16260,10229 -#define ACPI_MOVE_16_TO_32(ACPI_MOVE_16_TO_32263,10386 -#define ACPI_MOVE_16_TO_64(ACPI_MOVE_16_TO_64264,10480 -#define ACPI_MOVE_32_TO_16(ACPI_MOVE_32_TO_16268,10618 -#define ACPI_MOVE_32_TO_32(ACPI_MOVE_32_TO_32270,10707 -#define ACPI_MOVE_32_TO_64(ACPI_MOVE_32_TO_64275,10990 -#define ACPI_MOVE_64_TO_16(ACPI_MOVE_64_TO_16279,11128 -#define ACPI_MOVE_64_TO_32(ACPI_MOVE_64_TO_32280,11216 -#define ACPI_MOVE_64_TO_64(ACPI_MOVE_64_TO_64281,11304 -#define ACPI_MOVE_SIZE_TO_16(ACPI_MOVE_SIZE_TO_16295,11927 -#define ACPI_MOVE_SIZE_TO_16(ACPI_MOVE_SIZE_TO_16298,12023 -#define ACPI_MOVE_SIZE_TO_16(ACPI_MOVE_SIZE_TO_16301,12119 -#define _ACPI_DIV(_ACPI_DIV311,12301 -#define _ACPI_MUL(_ACPI_MUL312,12374 -#define _ACPI_MOD(_ACPI_MOD313,12447 -#define ACPI_DIV_2(ACPI_DIV_2315,12523 -#define ACPI_MUL_2(ACPI_MUL_2316,12578 -#define ACPI_MOD_2(ACPI_MOD_2317,12633 -#define ACPI_DIV_4(ACPI_DIV_4319,12689 -#define ACPI_MUL_4(ACPI_MUL_4320,12744 -#define ACPI_MOD_4(ACPI_MOD_4321,12799 -#define ACPI_DIV_8(ACPI_DIV_8323,12855 -#define ACPI_MUL_8(ACPI_MUL_8324,12910 -#define ACPI_MOD_8(ACPI_MOD_8325,12965 -#define ACPI_DIV_16(ACPI_DIV_16327,13021 -#define ACPI_MUL_16(ACPI_MUL_16328,13076 -#define ACPI_MOD_16(ACPI_MOD_16329,13131 -#define ACPI_ROUND_DOWN(ACPI_ROUND_DOWN335,13246 -#define ACPI_ROUND_UP(ACPI_ROUND_UP336,13360 -#define ACPI_ROUND_DOWN_TO_32_BITS(ACPI_ROUND_DOWN_TO_32_BITS338,13513 -#define ACPI_ROUND_DOWN_TO_64_BITS(ACPI_ROUND_DOWN_TO_64_BITS339,13579 -#define ACPI_ROUND_DOWN_TO_NATIVE_WORD(ACPI_ROUND_DOWN_TO_NATIVE_WORD340,13645 -#define ACPI_ROUND_UP_to_32_bITS(ACPI_ROUND_UP_to_32_bITS342,13735 -#define ACPI_ROUND_UP_to_64_bITS(ACPI_ROUND_UP_to_64_bITS343,13799 -#define ACPI_ROUND_UP_TO_NATIVE_WORD(ACPI_ROUND_UP_TO_NATIVE_WORD344,13863 -#define ACPI_ROUND_BITS_UP_TO_BYTES(ACPI_ROUND_BITS_UP_TO_BYTES347,13952 -#define ACPI_ROUND_BITS_DOWN_TO_BYTES(ACPI_ROUND_BITS_DOWN_TO_BYTES348,14017 -#define ACPI_ROUND_UP_TO_1K(ACPI_ROUND_UP_TO_1K350,14079 -#define ACPI_ROUND_UP_TO(ACPI_ROUND_UP_TO354,14189 -#define ACPI_MASK_BITS_ABOVE(ACPI_MASK_BITS_ABOVE362,14475 -#define ACPI_MASK_BITS_BELOW(ACPI_MASK_BITS_BELOW363,14566 -#define ACPI_IS_OCTAL_DIGIT(ACPI_IS_OCTAL_DIGIT365,14655 -#define ACPI_REGISTER_PREPARE_BITS(ACPI_REGISTER_PREPARE_BITS370,14784 -#define ACPI_REGISTER_INSERT_VALUE(ACPI_REGISTER_INSERT_VALUE371,14862 -#define ACPI_GET_DESCRIPTOR_TYPE(ACPI_GET_DESCRIPTOR_TYPE380,15243 -#define ACPI_SET_DESCRIPTOR_TYPE(ACPI_SET_DESCRIPTOR_TYPE381,15339 -#define ACPI_GET_OBJECT_TYPE(ACPI_GET_OBJECT_TYPE386,15478 -#define ACPI_IS_SINGLE_TABLE(ACPI_IS_SINGLE_TABLE390,15657 -#define ACPI_OP(ACPI_OP396,15853 -#define ACPI_OP(ACPI_OP398,15988 -#define ACPI_DISASM_ONLY_MEMBERS(ACPI_DISASM_ONLY_MEMBERS402,16145 -#define ACPI_DISASM_ONLY_MEMBERS(ACPI_DISASM_ONLY_MEMBERS404,16194 -#define ARG_TYPE_WIDTH 407,16238 -#define ARG_1(ARG_1408,16280 -#define ARG_2(ARG_2409,16331 -#define ARG_3(ARG_3410,16406 -#define ARG_4(ARG_4411,16481 -#define ARG_5(ARG_5412,16556 -#define ARG_6(ARG_6413,16631 -#define ARGI_LIST1(ARGI_LIST1415,16707 -#define ARGI_LIST2(ARGI_LIST2416,16758 -#define ARGI_LIST3(ARGI_LIST3417,16818 -#define ARGI_LIST4(ARGI_LIST4418,16887 -#define ARGI_LIST5(ARGI_LIST5419,16965 -#define ARGI_LIST6(ARGI_LIST6420,17052 -#define ARGP_LIST1(ARGP_LIST1422,17149 -#define ARGP_LIST2(ARGP_LIST2423,17200 -#define ARGP_LIST3(ARGP_LIST3424,17260 -#define ARGP_LIST4(ARGP_LIST4425,17329 -#define ARGP_LIST5(ARGP_LIST5426,17407 -#define ARGP_LIST6(ARGP_LIST6427,17494 -#define GET_CURRENT_ARG_TYPE(GET_CURRENT_ARG_TYPE429,17591 -#define INCREMENT_ARG_LIST(INCREMENT_ARG_LIST430,17653 -#define ACPI_PARAM_LIST(ACPI_PARAM_LIST436,17784 -#define ACPI_REPORT_INFO(ACPI_REPORT_INFO445,18040 -#define ACPI_REPORT_ERROR(ACPI_REPORT_ERROR447,18191 -#define ACPI_REPORT_WARNING(ACPI_REPORT_WARNING449,18343 -#define ACPI_REPORT_NSERROR(ACPI_REPORT_NSERROR451,18497 -#define ACPI_REPORT_METHOD_ERROR(ACPI_REPORT_METHOD_ERROR453,18604 -#define ACPI_REPORT_INFO(ACPI_REPORT_INFO457,18731 -#define ACPI_REPORT_ERROR(ACPI_REPORT_ERROR459,18876 -#define ACPI_REPORT_WARNING(ACPI_REPORT_WARNING461,19022 -#define ACPI_REPORT_NSERROR(ACPI_REPORT_NSERROR463,19170 -#define ACPI_REPORT_METHOD_ERROR(ACPI_REPORT_METHOD_ERROR465,19271 -#define _ACPI_REPORT_INFO(_ACPI_REPORT_INFO471,19464 -#define _ACPI_REPORT_ERROR(_ACPI_REPORT_ERROR473,19588 -#define _ACPI_REPORT_WARNING(_ACPI_REPORT_WARNING475,19713 -#define ACPI_MODULE_NAME(ACPI_MODULE_NAME483,19922 -#define ACPI_FUNCTION_NAME(ACPI_FUNCTION_NAME490,20240 -#define ACPI_FUNCTION_TRACE(ACPI_FUNCTION_TRACE495,20449 -#define ACPI_FUNCTION_TRACE_PTR(ACPI_FUNCTION_TRACE_PTR497,20559 -#define ACPI_FUNCTION_TRACE_U32(ACPI_FUNCTION_TRACE_U32499,20683 -#define ACPI_FUNCTION_TRACE_STR(ACPI_FUNCTION_TRACE_STR501,20804 -#define ACPI_FUNCTION_ENTRY(ACPI_FUNCTION_ENTRY504,20929 -#define ACPI_DO_WHILE0(ACPI_DO_WHILE0514,21351 -#define ACPI_DO_WHILE0(ACPI_DO_WHILE0516,21411 -#define return_VOID 519,21461 -#define return_ACPI_STATUS(return_ACPI_STATUS520,21557 -#define return_VALUE(return_VALUE521,21669 -#define return_PTR(return_PTR522,21794 -#define ACPI_DEBUG_EXEC(ACPI_DEBUG_EXEC526,21939 -#define ACPI_NORMAL_EXEC(ACPI_NORMAL_EXEC527,21981 -#define ACPI_DEBUG_DEFINE(ACPI_DEBUG_DEFINE529,22010 -#define ACPI_DEBUG_ONLY_MEMBERS(ACPI_DEBUG_ONLY_MEMBERS530,22053 -#define _VERBOSE_STRUCTURES531,22096 -#define ACPI_DUMP_STACK_ENTRY(ACPI_DUMP_STACK_ENTRY536,22158 -#define ACPI_DUMP_OPERANDS(ACPI_DUMP_OPERANDS537,22222 -#define ACPI_DUMP_ENTRY(ACPI_DUMP_ENTRY540,22319 -#define ACPI_DUMP_TABLES(ACPI_DUMP_TABLES541,22384 -#define ACPI_DUMP_PATHNAME(ACPI_DUMP_PATHNAME542,22449 -#define ACPI_DUMP_RESOURCE_LIST(ACPI_DUMP_RESOURCE_LIST543,22520 -#define ACPI_DUMP_BUFFER(ACPI_DUMP_BUFFER544,22590 -#define ACPI_BREAK_MSG(ACPI_BREAK_MSG545,22688 -#define ACPI_ERROR_BREAK551,22826 -#define ACPI_BREAK_ON_ERROR(ACPI_BREAK_ON_ERROR553,22876 -#define ACPI_BREAK_ON_ERROR(ACPI_BREAK_ON_ERROR556,23024 -#define ACPI_DEBUG_PRINT(ACPI_DEBUG_PRINT565,23250 -#define ACPI_DEBUG_PRINT_RAW(ACPI_DEBUG_PRINT_RAW566,23330 -#define ACPI_MODULE_NAME(ACPI_MODULE_NAME574,23524 -#define _THIS_MODULE 575,23555 -#define ACPI_DEBUG_EXEC(ACPI_DEBUG_EXEC577,23580 -#define ACPI_NORMAL_EXEC(ACPI_NORMAL_EXEC578,23607 -#define ACPI_DEBUG_DEFINE(ACPI_DEBUG_DEFINE580,23651 -#define ACPI_DEBUG_ONLY_MEMBERS(ACPI_DEBUG_ONLY_MEMBERS581,23680 -#define ACPI_FUNCTION_NAME(ACPI_FUNCTION_NAME582,23715 -#define ACPI_FUNCTION_TRACE(ACPI_FUNCTION_TRACE583,23745 -#define ACPI_FUNCTION_TRACE_PTR(ACPI_FUNCTION_TRACE_PTR584,23776 -#define ACPI_FUNCTION_TRACE_U32(ACPI_FUNCTION_TRACE_U32585,23813 -#define ACPI_FUNCTION_TRACE_STR(ACPI_FUNCTION_TRACE_STR586,23850 -#define ACPI_FUNCTION_EXIT587,23887 -#define ACPI_FUNCTION_STATUS_EXIT(ACPI_FUNCTION_STATUS_EXIT588,23914 -#define ACPI_FUNCTION_VALUE_EXIT(ACPI_FUNCTION_VALUE_EXIT589,23951 -#define ACPI_FUNCTION_ENTRY(ACPI_FUNCTION_ENTRY590,23987 -#define ACPI_DUMP_STACK_ENTRY(ACPI_DUMP_STACK_ENTRY591,24017 -#define ACPI_DUMP_OPERANDS(ACPI_DUMP_OPERANDS592,24050 -#define ACPI_DUMP_ENTRY(ACPI_DUMP_ENTRY593,24088 -#define ACPI_DUMP_TABLES(ACPI_DUMP_TABLES594,24117 -#define ACPI_DUMP_PATHNAME(ACPI_DUMP_PATHNAME595,24147 -#define ACPI_DUMP_RESOURCE_LIST(ACPI_DUMP_RESOURCE_LIST596,24183 -#define ACPI_DUMP_BUFFER(ACPI_DUMP_BUFFER597,24218 -#define ACPI_DEBUG_PRINT(ACPI_DEBUG_PRINT598,24248 -#define ACPI_DEBUG_PRINT_RAW(ACPI_DEBUG_PRINT_RAW599,24277 -#define ACPI_BREAK_MSG(ACPI_BREAK_MSG600,24310 -#define return_VOID 602,24337 -#define return_ACPI_STATUS(return_ACPI_STATUS603,24384 -#define return_VALUE(return_VALUE604,24434 -#define return_PTR(return_PTR605,24484 -#define ACPI_DEBUGGER_EXEC(ACPI_DEBUGGER_EXEC615,24754 -#define ACPI_DEBUGGER_EXEC(ACPI_DEBUGGER_EXEC617,24802 -#define ACPI_DEBUG_ONLY_MEMBERS(ACPI_DEBUG_ONLY_MEMBERS628,25055 -#define ACPI_ADD_OBJECT_NAME(ACPI_ADD_OBJECT_NAME637,25183 -#define ACPI_ADD_OBJECT_NAME(ACPI_ADD_OBJECT_NAME641,25383 -#define ACPI_MEM_ALLOCATE(ACPI_MEM_ALLOCATE652,25537 -#define ACPI_MEM_CALLOCATE(ACPI_MEM_CALLOCATE653,25643 -#define ACPI_MEM_FREE(ACPI_MEM_FREE654,25751 -#define ACPI_MEM_TRACKING(ACPI_MEM_TRACKING655,25807 -#define ACPI_MEM_ALLOCATE(ACPI_MEM_ALLOCATE662,25870 -#define ACPI_MEM_CALLOCATE(ACPI_MEM_CALLOCATE663,25986 -#define ACPI_MEM_FREE(ACPI_MEM_FREE664,26104 -#define ACPI_MEM_TRACKING(ACPI_MEM_TRACKING665,26203 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acpi.h,27 -#define __ACPI_H__45,2135 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acnamesp.h,604 -#define __ACNAMESP_H__45,2141 -#define ACPI_NS_ALL 50,2231 -#define ACPI_NS_NORMAL 56,2406 -#define ACPI_NS_NEWSCOPE 57,2444 -#define ACPI_NS_LOCAL 58,2535 -#define ACPI_UNKNOWN_NAME 63,2673 -#define ACPI_ROOT_NAME 64,2760 -#define ACPI_SYS_BUS_NAME 65,2847 -#define ACPI_NS_ROOT_PATH 67,2935 -#define ACPI_NS_SYSTEM_BUS 68,2976 -#define ACPI_NS_NO_UPSEARCH 73,3079 -#define ACPI_NS_SEARCH_PARENT 74,3117 -#define ACPI_NS_DONT_OPEN_SCOPE 75,3158 -#define ACPI_NS_NO_PEER_SEARCH 76,3199 -#define ACPI_NS_ERROR_IF_FOUND 77,3240 -#define ACPI_NS_WALK_UNLOCK 79,3282 -#define ACPI_NS_WALK_NO_UNLOCK 80,3323 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/acoutput.h,2944 -#define __ACOUTPUT_H__45,2109 -#define ACPI_UTILITIES 55,2383 -#define ACPI_HARDWARE 56,2430 -#define ACPI_EVENTS 57,2477 -#define ACPI_TABLES 58,2524 -#define ACPI_NAMESPACE 59,2571 -#define ACPI_PARSER 60,2618 -#define ACPI_DISPATCHER 61,2665 -#define ACPI_EXECUTER 62,2712 -#define ACPI_RESOURCES 63,2759 -#define ACPI_CA_DEBUGGER 64,2806 -#define ACPI_OS_SERVICES 65,2853 -#define ACPI_CA_DISASSEMBLER 66,2900 -#define ACPI_COMPILER 70,2998 -#define ACPI_TOOLS 71,3045 -#define ACPI_ALL_COMPONENTS 73,3093 -#define ACPI_COMPONENT_DEFAULT 74,3140 -#define ACPI_ALL_DRIVERS 79,3247 -#define ACPI_LV_ERROR 85,3374 -#define ACPI_LV_WARN 86,3421 -#define ACPI_LV_INIT 87,3468 -#define ACPI_LV_DEBUG_OBJECT 88,3515 -#define ACPI_LV_INFO 89,3562 -#define ACPI_LV_ALL_EXCEPTIONS 90,3609 -#define ACPI_LV_INIT_NAMES 94,3711 -#define ACPI_LV_PARSE 95,3758 -#define ACPI_LV_LOAD 96,3805 -#define ACPI_LV_DISPATCH 97,3852 -#define ACPI_LV_EXEC 98,3899 -#define ACPI_LV_NAMES 99,3946 -#define ACPI_LV_OPREGION 100,3993 -#define ACPI_LV_BFIELD 101,4040 -#define ACPI_LV_TABLES 102,4087 -#define ACPI_LV_VALUES 103,4134 -#define ACPI_LV_OBJECTS 104,4181 -#define ACPI_LV_RESOURCES 105,4228 -#define ACPI_LV_USER_REQUESTS 106,4275 -#define ACPI_LV_PACKAGE 107,4322 -#define ACPI_LV_VERBOSITY1 108,4369 -#define ACPI_LV_ALLOCATIONS 112,4514 -#define ACPI_LV_FUNCTIONS 113,4561 -#define ACPI_LV_OPTIMIZATIONS 114,4608 -#define ACPI_LV_VERBOSITY2 115,4655 -#define ACPI_LV_ALL 116,4723 -#define ACPI_LV_MUTEX 120,4843 -#define ACPI_LV_THREADS 121,4890 -#define ACPI_LV_IO 122,4937 -#define ACPI_LV_INTERRUPTS 123,4984 -#define ACPI_LV_VERBOSITY3 124,5031 -#define ACPI_LV_AML_DISASSEMBLE 128,5177 -#define ACPI_LV_VERBOSE_INFO 129,5224 -#define ACPI_LV_FULL_TABLES 130,5271 -#define ACPI_LV_EVENTS 131,5318 -#define ACPI_LV_VERBOSE 133,5366 -#define ACPI_DEBUG_LEVEL(ACPI_DEBUG_LEVEL139,5484 -#define ACPI_DB_ERROR 143,5604 -#define ACPI_DB_WARN 144,5673 -#define ACPI_DB_INIT 145,5741 -#define ACPI_DB_DEBUG_OBJECT 146,5809 -#define ACPI_DB_INFO 147,5885 -#define ACPI_DB_ALL_EXCEPTIONS 148,5953 -#define ACPI_DB_INIT_NAMES 153,6093 -#define ACPI_DB_THREADS 154,6167 -#define ACPI_DB_PARSE 155,6238 -#define ACPI_DB_DISPATCH 156,6307 -#define ACPI_DB_LOAD 157,6379 -#define ACPI_DB_EXEC 158,6447 -#define ACPI_DB_NAMES 159,6515 -#define ACPI_DB_OPREGION 160,6584 -#define ACPI_DB_BFIELD 161,6656 -#define ACPI_DB_TABLES 162,6726 -#define ACPI_DB_FUNCTIONS 163,6796 -#define ACPI_DB_OPTIMIZATIONS 164,6869 -#define ACPI_DB_VALUES 165,6946 -#define ACPI_DB_OBJECTS 166,7016 -#define ACPI_DB_ALLOCATIONS 167,7087 -#define ACPI_DB_RESOURCES 168,7162 -#define ACPI_DB_IO 169,7235 -#define ACPI_DB_INTERRUPTS 170,7301 -#define ACPI_DB_USER_REQUESTS 171,7375 -#define ACPI_DB_PACKAGE 172,7452 -#define ACPI_DB_MUTEX 173,7523 -#define ACPI_DB_ALL 175,7593 -#define ACPI_DEBUG_DEFAULT 180,7712 -#define ACPI_NORMAL_DEFAULT 181,7817 -#define ACPI_DEBUG_ALL 182,7922 - -/export0/mef/linux-2.6.9-1.11_FC2/include/acpi/aclocal.h,10078 -#define __ACLOCAL_H__45,2144 -#define ACPI_WAIT_FOREVER 48,2168 -typedef void * acpi_mutex;acpi_mutex50,2245 -typedef u32 acpi_mutex_handle;acpi_mutex_handle51,2305 -#define AML_NUM_OPCODES 56,2417 -#define ACPI_MTX_EXECUTE 76,3055 -#define ACPI_MTX_INTERPRETER 77,3097 -#define ACPI_MTX_PARSER 78,3139 -#define ACPI_MTX_DISPATCHER 79,3181 -#define ACPI_MTX_TABLES 80,3223 -#define ACPI_MTX_OP_REGIONS 81,3265 -#define ACPI_MTX_NAMESPACE 82,3307 -#define ACPI_MTX_EVENTS 83,3349 -#define ACPI_MTX_HARDWARE 84,3391 -#define ACPI_MTX_CACHES 85,3433 -#define ACPI_MTX_MEMORY 86,3475 -#define ACPI_MTX_DEBUG_CMD_COMPLETE 87,3518 -#define ACPI_MTX_DEBUG_CMD_READY 88,3561 -#define MAX_MUTEX 90,3605 -#define NUM_MUTEX 91,3648 -static char *acpi_gbl_mutex_names[99,3838 -struct acpi_mutex_infoacpi_mutex_info122,4258 -#define ACPI_MUTEX_NOT_ACQUIRED 131,4493 -#define ACPI_MTX_DO_NOT_LOCK 136,4596 -#define ACPI_MTX_LOCK 137,4638 -typedef u16 acpi_owner_id;acpi_owner_id140,4682 -#define ACPI_OWNER_TYPE_TABLE 141,4745 -#define ACPI_OWNER_TYPE_METHOD 142,4789 -#define ACPI_FIRST_METHOD_ID 143,4833 -#define ACPI_FIRST_TABLE_ID 144,4880 -#define ACPI_FIELD_BYTE_GRANULARITY 149,4963 -#define ACPI_FIELD_WORD_GRANULARITY 150,5005 -#define ACPI_FIELD_DWORD_GRANULARITY 151,5047 -#define ACPI_FIELD_QWORD_GRANULARITY 152,5089 - ACPI_IMODE_LOAD_PASS1 165,5403 - ACPI_IMODE_LOAD_PASS1 = 0x01,165,5403 - ACPI_IMODE_LOAD_PASS2 166,5448 - ACPI_IMODE_LOAD_PASS2 = 0x02,166,5448 - ACPI_IMODE_EXECUTE 167,5493 - ACPI_IMODE_EXECUTE = 0x0E167,5493 -} acpi_interpreter_mode;acpi_interpreter_mode169,5538 -union acpi_name_unionacpi_name_union180,5794 -struct acpi_namespace_nodeacpi_namespace_node186,5915 -#define ACPI_ENTRY_NOT_FOUND 200,6676 -#define ANOBJ_RESERVED 205,6741 -#define ANOBJ_END_OF_PEER_LIST 206,6786 -#define ANOBJ_DATA_WIDTH_32 207,6831 -#define ANOBJ_METHOD_ARG 208,6910 -#define ANOBJ_METHOD_LOCAL 209,6955 -#define ANOBJ_METHOD_NO_RETVAL 210,7000 -#define ANOBJ_METHOD_SOME_NO_RETVAL 211,7045 -#define ANOBJ_IS_BIT_OFFSET 212,7090 -struct acpi_table_descacpi_table_desc217,7189 -struct acpi_table_listacpi_table_list233,7756 -struct acpi_find_contextacpi_find_context240,7866 -struct acpi_ns_search_dataacpi_ns_search_data248,8025 -struct acpi_predefined_namesacpi_predefined_names257,8136 -#define ACPI_COPY_TYPE_SIMPLE 268,8338 -#define ACPI_COPY_TYPE_PACKAGE 269,8380 -struct acpi_namestring_infoacpi_namestring_info273,8493 -struct acpi_create_field_infoacpi_create_field_info287,8890 -struct acpi_handler_infoacpi_handler_info310,9682 -union acpi_gpe_dispatch_infoacpi_gpe_dispatch_info317,10000 -struct acpi_gpe_event_infoacpi_gpe_event_info327,10306 -struct acpi_gpe_register_infoacpi_gpe_register_info337,10785 -struct acpi_gpe_block_infoacpi_gpe_block_info350,11427 -struct acpi_gpe_xrupt_infoacpi_gpe_xrupt_info365,12245 -struct acpi_gpe_walk_infoacpi_gpe_walk_info374,12572 -typedef acpi_status (*ACPI_GPE_CALLBACK)ACPI_GPE_CALLBACK381,12712 -struct acpi_fixed_event_handleracpi_fixed_event_handler388,12906 -struct acpi_fixed_event_infoacpi_fixed_event_info394,13106 -struct acpi_field_infoacpi_field_info404,13395 -#define ACPI_CONTROL_NORMAL 419,13763 -#define ACPI_CONTROL_CONDITIONAL_EXECUTING 420,13813 -#define ACPI_CONTROL_PREDICATE_EXECUTING 421,13863 -#define ACPI_CONTROL_PREDICATE_FALSE 422,13913 -#define ACPI_CONTROL_PREDICATE_TRUE 423,13963 -#define ACPI_STATE_COMMON 432,14132 -struct acpi_common_stateacpi_common_state440,14573 - ACPI_STATE_COMMONACPI_STATE_COMMON442,14600 -struct acpi_update_stateacpi_update_state449,14699 -struct acpi_pkg_stateacpi_pkg_state459,14861 -struct acpi_control_stateacpi_control_state475,15315 -struct acpi_scope_stateacpi_scope_state488,15711 -struct acpi_pscope_stateacpi_pscope_state495,15805 -struct acpi_thread_stateacpi_thread_state510,16460 -struct acpi_result_valuesacpi_result_values524,16998 -acpi_status (*acpi_parse_downwards)acpi_parse_downwards534,17230 -acpi_status (*acpi_parse_upwards)acpi_parse_upwards539,17375 -struct acpi_notify_infoacpi_notify_info547,17552 -union acpi_generic_stateacpi_generic_state557,17744 -acpi_status (*ACPI_EXECUTE_OP)ACPI_EXECUTE_OP578,18393 -struct acpi_opcode_infoacpi_opcode_info591,18723 -union acpi_parse_valueacpi_parse_value605,19398 -#define ACPI_PARSE_COMMON 617,20026 -#define ACPI_DASM_BUFFER 633,21034 -#define ACPI_DASM_RESOURCE 634,21071 -#define ACPI_DASM_STRING 635,21108 -#define ACPI_DASM_UNICODE 636,21145 -#define ACPI_DASM_EISAID 637,21182 -#define ACPI_DASM_MATCHOP 638,21219 -struct acpi_parse_obj_commonacpi_parse_obj_common643,21318 - ACPI_PARSE_COMMONACPI_PARSE_COMMON645,21349 -struct acpi_parse_obj_namedacpi_parse_obj_named653,21489 -struct acpi_parse_obj_aslacpi_parse_obj_asl665,21899 -union acpi_parse_objectacpi_parse_object695,23191 -struct acpi_parse_stateacpi_parse_state707,23437 -#define ACPI_PARSEOP_GENERIC 724,24179 -#define ACPI_PARSEOP_NAMED 725,24232 -#define ACPI_PARSEOP_DEFERRED 726,24285 -#define ACPI_PARSEOP_BYTELIST 727,24338 -#define ACPI_PARSEOP_IN_CACHE 728,24391 -#define ACPI_PARSEOP_IGNORE 732,24478 -#define ACPI_PARSEOP_PARAMLIST 733,24531 -#define ACPI_PARSEOP_EMPTY_TERMLIST 734,24584 -#define ACPI_PARSEOP_SPECIAL 735,24637 -#define PCI_ROOT_HID_STRING 744,24894 -struct acpi_bit_register_infoacpi_bit_register_info746,24941 -#define ACPI_REGISTER_PM1_STATUS 758,25197 -#define ACPI_REGISTER_PM1_ENABLE 759,25250 -#define ACPI_REGISTER_PM1_CONTROL 760,25303 -#define ACPI_REGISTER_PM1A_CONTROL 761,25356 -#define ACPI_REGISTER_PM1B_CONTROL 762,25409 -#define ACPI_REGISTER_PM2_CONTROL 763,25462 -#define ACPI_REGISTER_PM_TIMER 764,25515 -#define ACPI_REGISTER_PROCESSOR_BLOCK 765,25568 -#define ACPI_REGISTER_SMI_COMMAND_BLOCK 766,25621 -#define ACPI_BITMASK_TIMER_STATUS 771,25722 -#define ACPI_BITMASK_BUS_MASTER_STATUS 772,25777 -#define ACPI_BITMASK_GLOBAL_LOCK_STATUS 773,25832 -#define ACPI_BITMASK_POWER_BUTTON_STATUS 774,25887 -#define ACPI_BITMASK_SLEEP_BUTTON_STATUS 775,25942 -#define ACPI_BITMASK_RT_CLOCK_STATUS 776,25997 -#define ACPI_BITMASK_WAKE_STATUS 777,26052 -#define ACPI_BITMASK_ALL_FIXED_STATUS 779,26108 -#define ACPI_BITMASK_TIMER_ENABLE 787,26442 -#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE 788,26497 -#define ACPI_BITMASK_POWER_BUTTON_ENABLE 789,26552 -#define ACPI_BITMASK_SLEEP_BUTTON_ENABLE 790,26607 -#define ACPI_BITMASK_RT_CLOCK_ENABLE 791,26662 -#define ACPI_BITMASK_SCI_ENABLE 793,26718 -#define ACPI_BITMASK_BUS_MASTER_RLD 794,26773 -#define ACPI_BITMASK_GLOBAL_LOCK_RELEASE 795,26828 -#define ACPI_BITMASK_SLEEP_TYPE_X 796,26883 -#define ACPI_BITMASK_SLEEP_ENABLE 797,26938 -#define ACPI_BITMASK_ARB_DISABLE 799,26994 -#define ACPI_BITPOSITION_TIMER_STATUS 804,27096 -#define ACPI_BITPOSITION_BUS_MASTER_STATUS 805,27149 -#define ACPI_BITPOSITION_GLOBAL_LOCK_STATUS 806,27202 -#define ACPI_BITPOSITION_POWER_BUTTON_STATUS 807,27255 -#define ACPI_BITPOSITION_SLEEP_BUTTON_STATUS 808,27308 -#define ACPI_BITPOSITION_RT_CLOCK_STATUS 809,27361 -#define ACPI_BITPOSITION_WAKE_STATUS 810,27414 -#define ACPI_BITPOSITION_TIMER_ENABLE 812,27468 -#define ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE 813,27521 -#define ACPI_BITPOSITION_POWER_BUTTON_ENABLE 814,27574 -#define ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE 815,27627 -#define ACPI_BITPOSITION_RT_CLOCK_ENABLE 816,27680 -#define ACPI_BITPOSITION_SCI_ENABLE 818,27734 -#define ACPI_BITPOSITION_BUS_MASTER_RLD 819,27787 -#define ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE 820,27840 -#define ACPI_BITPOSITION_SLEEP_TYPE_X 821,27893 -#define ACPI_BITPOSITION_SLEEP_ENABLE 822,27946 -#define ACPI_BITPOSITION_ARB_DISABLE 824,28000 -#define ACPI_RESOURCE_TYPE_MEMORY_RANGE 836,28273 -#define ACPI_RESOURCE_TYPE_IO_RANGE 837,28323 -#define ACPI_RESOURCE_TYPE_BUS_NUMBER_RANGE 838,28373 -#define ACPI_RDESC_TYPE_LARGE 842,28467 -#define ACPI_RDESC_TYPE_SMALL 843,28520 -#define ACPI_RDESC_TYPE_MASK 845,28574 -#define ACPI_RDESC_SMALL_MASK 846,28627 -#define ACPI_RDESC_TYPE_IRQ_FORMAT 853,28807 -#define ACPI_RDESC_TYPE_DMA_FORMAT 854,28860 -#define ACPI_RDESC_TYPE_START_DEPENDENT 855,28913 -#define ACPI_RDESC_TYPE_END_DEPENDENT 856,28966 -#define ACPI_RDESC_TYPE_IO_PORT 857,29019 -#define ACPI_RDESC_TYPE_FIXED_IO_PORT 858,29072 -#define ACPI_RDESC_TYPE_SMALL_VENDOR 859,29125 -#define ACPI_RDESC_TYPE_END_TAG 860,29178 -#define ACPI_RDESC_TYPE_MEMORY_24 866,29275 -#define ACPI_RDESC_TYPE_GENERAL_REGISTER 867,29328 -#define ACPI_RDESC_TYPE_LARGE_VENDOR 868,29381 -#define ACPI_RDESC_TYPE_MEMORY_32 869,29434 -#define ACPI_RDESC_TYPE_FIXED_MEMORY_32 870,29487 -#define ACPI_RDESC_TYPE_DWORD_ADDRESS_SPACE 871,29540 -#define ACPI_RDESC_TYPE_WORD_ADDRESS_SPACE 872,29593 -#define ACPI_RDESC_TYPE_EXTENDED_XRUPT 873,29646 -#define ACPI_RDESC_TYPE_QWORD_ADDRESS_SPACE 874,29699 -#define ACPI_ASCII_ZERO 883,29936 -struct acpi_db_method_infoacpi_db_method_info892,30165 -struct acpi_integrity_infoacpi_integrity_info902,30457 -#define ACPI_DB_REDIRECTABLE_OUTPUT 909,30565 -#define ACPI_DB_CONSOLE_OUTPUT 910,30607 -#define ACPI_DB_DUPLICATE_OUTPUT 911,30649 -struct acpi_debug_print_infoacpi_debug_print_info920,30867 -#define ACPI_MEM_MALLOC 930,31092 -#define ACPI_MEM_CALLOC 931,31139 -#define ACPI_MAX_MODULE_NAME 932,31186 -#define ACPI_COMMON_DEBUG_MEM_HEADER 934,31235 -struct acpi_debug_mem_headeracpi_debug_mem_header943,31629 - ACPI_COMMON_DEBUG_MEM_HEADERACPI_COMMON_DEBUG_MEM_HEADER945,31660 -struct acpi_debug_mem_blockacpi_debug_mem_block948,31694 -#define ACPI_MEM_LIST_GLOBAL 955,31808 -#define ACPI_MEM_LIST_NSNODE 956,31850 -#define ACPI_MEM_LIST_FIRST_CACHE_LIST 958,31893 -#define ACPI_MEM_LIST_STATE 959,31935 -#define ACPI_MEM_LIST_PSNODE 960,31977 -#define ACPI_MEM_LIST_PSNODE_EXT 961,32019 -#define ACPI_MEM_LIST_OPERAND 962,32061 -#define ACPI_MEM_LIST_WALK 963,32103 -#define ACPI_MEM_LIST_MAX 964,32145 -#define ACPI_NUM_MEM_LISTS 965,32187 -struct acpi_memory_listacpi_memory_list968,32231 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/neomagic.h,2397 -#define NEO_BS0_BLT_BUSY 11,312 -#define NEO_BS0_FIFO_AVAIL 12,355 -#define NEO_BS0_FIFO_PEND 13,398 -#define NEO_BC0_DST_Y_DEC 15,442 -#define NEO_BC0_X_DEC 16,485 -#define NEO_BC0_SRC_TRANS 17,528 -#define NEO_BC0_SRC_IS_FG 18,571 -#define NEO_BC0_SRC_Y_DEC 19,614 -#define NEO_BC0_FILL_PAT 20,657 -#define NEO_BC0_SRC_MONO 21,700 -#define NEO_BC0_SYS_TO_VID 22,743 -#define NEO_BC1_DEPTH8 24,787 -#define NEO_BC1_DEPTH16 25,830 -#define NEO_BC1_X_320 26,873 -#define NEO_BC1_X_640 27,916 -#define NEO_BC1_X_800 28,959 -#define NEO_BC1_X_1024 29,1002 -#define NEO_BC1_X_1152 30,1045 -#define NEO_BC1_X_1280 31,1088 -#define NEO_BC1_X_1600 32,1131 -#define NEO_BC1_DST_TRANS 33,1174 -#define NEO_BC1_MSTR_BLT 34,1217 -#define NEO_BC1_FILTER_Z 35,1260 -#define NEO_BC2_WR_TR_DST 37,1304 -#define NEO_BC3_SRC_XY_ADDR 39,1348 -#define NEO_BC3_DST_XY_ADDR 40,1391 -#define NEO_BC3_CLIP_ON 41,1434 -#define NEO_BC3_FIFO_EN 42,1477 -#define NEO_BC3_BLT_ON_ADDR 43,1520 -#define NEO_BC3_SKIP_MAPPING 44,1563 -#define NEO_MODE1_DEPTH8 46,1607 -#define NEO_MODE1_DEPTH16 47,1646 -#define NEO_MODE1_DEPTH24 48,1685 -#define NEO_MODE1_X_320 49,1724 -#define NEO_MODE1_X_640 50,1763 -#define NEO_MODE1_X_800 51,1802 -#define NEO_MODE1_X_1024 52,1841 -#define NEO_MODE1_X_1152 53,1880 -#define NEO_MODE1_X_1280 54,1919 -#define NEO_MODE1_X_1600 55,1958 -#define NEO_MODE1_BLT_ON_ADDR 56,1997 -#define NEOREG_CURSCNTL 59,2094 -#define NEOREG_CURSX 60,2124 -#define NEOREG_CURSY 61,2151 -#define NEOREG_CURSBGCOLOR 62,2178 -#define NEOREG_CURSFGCOLOR 63,2210 -#define NEOREG_CURSMEMPOS 64,2242 -#define NEO_CURS_DISABLE 66,2274 -#define NEO_CURS_ENABLE 67,2310 -#define NEO_ICON64_ENABLE 68,2346 -#define NEO_ICON128_ENABLE 69,2383 -#define NEO_ICON_BLANK 70,2421 -#define NEO_GR01_SUPPRESS_VSYNC 72,2457 -#define NEO_GR01_SUPPRESS_HSYNC 73,2494 -# define DBG(DBG78,2570 -# define DBG(DBG80,2633 -#define PCI_CHIP_NM2070 83,2657 -#define PCI_CHIP_NM2090 84,2688 -#define PCI_CHIP_NM2093 85,2719 -#define PCI_CHIP_NM2097 86,2750 -#define PCI_CHIP_NM2160 87,2781 -#define PCI_CHIP_NM2200 88,2812 -#define PCI_CHIP_NM2230 89,2843 -#define PCI_CHIP_NM2360 90,2874 -#define PCI_CHIP_NM2380 91,2905 -struct xtimings xtimings94,2938 -} Neo2200;134,3649 -#define MMIO_SIZE 136,3661 -#define NEO_EXT_CR_MAX 138,3689 -#define NEO_EXT_GR_MAX 139,3717 -struct neofb_par neofb_par141,3746 -} biosMode;biosMode205,5231 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/sisfb.h,2363 -#define _LINUX_SISFB20,800 -#define CRT2_DEFAULT 30,1031 -#define CRT2_LCD 31,1074 -#define CRT2_TV 32,1175 -#define CRT2_VGA 33,1276 -#define TV_NTSC 34,1319 -#define TV_PAL 35,1362 -#define TV_HIVISION 36,1405 -#define TV_YPBPR 37,1448 -#define TV_AVIDEO 38,1491 -#define TV_SVIDEO 39,1534 -#define TV_SCART 40,1577 -#define VB_CONEXANT 41,1620 -#define VB_TRUMPION 42,1674 -#define TV_PALM 43,1729 -#define TV_PALN 44,1772 -#define TV_NTSCJ 45,1815 -#define VB_302ELV 46,1844 -#define TV_CHSCART 47,1874 -#define TV_CHYPBPR525I 48,1917 -#define CRT1_VGA 49,1960 -#define CRT1_LCDA 50,1989 -#define VGA2_CONNECTED 51,2019 -#define VB_DISPTYPE_CRT1 52,2062 -#define VB_301 53,2130 -#define VB_301B 54,2197 -#define VB_302B 55,2240 -#define VB_30xBDH 56,2283 -#define VB_LVDS 57,2358 -#define VB_CHRONTEL 58,2401 -#define VB_301LV 59,2444 -#define VB_302LV 60,2487 -#define VB_301C 61,2530 -#define VB_SINGLE_MODE 62,2559 -#define VB_MIRROR_MODE 63,2653 -#define VB_DUALVIEW_MODE 64,2733 -#define CRT2_ENABLE 67,2835 -#define TV_STANDARD 68,2888 -#define TV_INTERFACE 69,2970 -#define TV_YPBPR525I 72,3112 -#define TV_YPBPR525P 73,3142 -#define TV_YPBPR750P 74,3171 -#define TV_YPBPR1080I 75,3201 -#define TV_YPBPRALL 76,3232 -#define VB_SISBRIDGE 78,3316 -#define VB_SISTVBRIDGE 79,3409 -#define VB_VIDEOBRIDGE 80,3492 -#define VB_DISPTYPE_DISP2 82,3570 -#define VB_DISPTYPE_CRT2 83,3608 -#define VB_DISPTYPE_DISP1 84,3645 -#define VB_DISPMODE_SINGLE 85,3688 -#define VB_DISPMODE_MIRROR 86,3730 -#define VB_DISPMODE_DUAL 87,3772 -#define VB_DISPLAY_MODE 88,3814 -typedef struct _SISFB_INFO sisfb_info,sisfb_info91,3941 -typedef struct _SISFB_INFO sisfb_info, *psisfb_info;psisfb_info91,3941 -struct _SISFB_INFO _SISFB_INFO93,3995 -#define SISFB_ID 96,4089 -#define SISFB_GET_INFO_SIZE 140,5425 -#define SISFB_GET_INFO 141,5477 -#define SISFB_GET_VBRSTATUS 144,5591 -#define SISFB_GET_AUTOMAXIMIZE 147,5719 -#define SISFB_SET_AUTOMAXIMIZE 148,5773 -#define SISFB_GET_TVPOSOFFSET 151,5892 -#define SISFB_SET_TVPOSOFFSET 152,5946 -#define SISFB_SET_LOCK 158,6152 -#define SISFB_GET_INFO_OLD 168,6549 -#define SISFB_GET_VBRSTATUS_OLD 170,6654 -#define SISFB_GET_AUTOMAXIMIZE_OLD 172,6785 -#define SISFB_SET_AUTOMAXIMIZE_OLD 173,6841 -struct sis_memreq sis_memreq179,7151 -#define UNKNOWN_VGA 190,7420 -#define SIS_300_VGA 191,7443 -#define SIS_315_VGA 192,7466 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/kyro.h,659 -#define _KYRO_H13,313 -struct kyrofb_info kyrofb_info15,330 -#define KYRO_IOC_MAGIC 60,1654 -#define KYRO_IOCTL_OVERLAY_CREATE 62,1682 -#define KYRO_IOCTL_OVERLAY_VIEWPORT_SET 63,1745 -#define KYRO_IOCTL_SET_VIDEO_MODE 64,1808 -#define KYRO_IOCTL_UVSTRIDE 65,1871 -#define KYRO_IOCTL_OVERLAY_OFFSET 66,1934 -#define KYRO_IOCTL_STRIDE 67,1997 -typedef struct _OVERLAY_CREATE _OVERLAY_CREATE73,2217 -} overlay_create;overlay_create77,2293 -typedef struct _OVERLAY_VIEWPORT_SET _OVERLAY_VIEWPORT_SET79,2312 -} overlay_viewport_set;overlay_viewport_set84,2401 -typedef struct _SET_VIDEO_MODE _SET_VIDEO_MODE86,2426 -} set_video_mode;set_video_mode92,2533 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/sgivw.h,7717 -#define __SGIVWFB_H__13,377 -#define DBE_GETREG(DBE_GETREG15,400 -#define DBE_SETREG(DBE_SETREG16,460 -#define DBE_IGETREG(DBE_IGETREG17,516 -#define DBE_ISETREG(DBE_ISETREG18,586 -#define MASK(MASK20,655 -#define GET(GET21,730 -#define SET(SET22,802 -#define GET_DBE_FIELD(GET_DBE_FIELD24,906 -#define SET_DBE_FIELD(SET_DBE_FIELD25,1013 -#define DBE_REG_PHYS 29,1185 -#define DBE_REG_SIZE 30,1217 -struct asregs asregs32,1257 -#define DBE_CTRLSTAT_CHIPID_MSB 128,5352 -#define DBE_CTRLSTAT_CHIPID_LSB 129,5390 -#define DBE_CTRLSTAT_SENSE_N_MSB 130,5428 -#define DBE_CTRLSTAT_SENSE_N_LSB 131,5466 -#define DBE_CTRLSTAT_PCLKSEL_MSB 132,5504 -#define DBE_CTRLSTAT_PCLKSEL_LSB 133,5543 -#define DBE_DOTCLK_M_MSB 135,5583 -#define DBE_DOTCLK_M_LSB 136,5621 -#define DBE_DOTCLK_N_MSB 137,5659 -#define DBE_DOTCLK_N_LSB 138,5698 -#define DBE_DOTCLK_P_MSB 139,5736 -#define DBE_DOTCLK_P_LSB 140,5775 -#define DBE_DOTCLK_RUN_MSB 141,5814 -#define DBE_DOTCLK_RUN_LSB 142,5853 -#define DBE_VT_XY_VT_FREEZE_MSB 144,5893 -#define DBE_VT_XY_VT_FREEZE_LSB 145,5932 -#define DBE_FP_VDRV_FP_VDRV_ON_MSB 147,5972 -#define DBE_FP_VDRV_FP_VDRV_ON_LSB 148,6010 -#define DBE_FP_VDRV_FP_VDRV_OFF_MSB 149,6048 -#define DBE_FP_VDRV_FP_VDRV_OFF_LSB 150,6087 -#define DBE_FP_HDRV_FP_HDRV_ON_MSB 152,6126 -#define DBE_FP_HDRV_FP_HDRV_ON_LSB 153,6164 -#define DBE_FP_HDRV_FP_HDRV_OFF_MSB 154,6202 -#define DBE_FP_HDRV_FP_HDRV_OFF_LSB 155,6241 -#define DBE_FP_DE_FP_DE_ON_MSB 157,6280 -#define DBE_FP_DE_FP_DE_ON_LSB 158,6315 -#define DBE_FP_DE_FP_DE_OFF_MSB 159,6350 -#define DBE_FP_DE_FP_DE_OFF_LSB 160,6386 -#define DBE_VT_VSYNC_VT_VSYNC_ON_MSB 162,6422 -#define DBE_VT_VSYNC_VT_VSYNC_ON_LSB 163,6469 -#define DBE_VT_VSYNC_VT_VSYNC_OFF_MSB 164,6516 -#define DBE_VT_VSYNC_VT_VSYNC_OFF_LSB 165,6563 -#define DBE_VT_HSYNC_VT_HSYNC_ON_MSB 167,6610 -#define DBE_VT_HSYNC_VT_HSYNC_ON_LSB 168,6657 -#define DBE_VT_HSYNC_VT_HSYNC_OFF_MSB 169,6704 -#define DBE_VT_HSYNC_VT_HSYNC_OFF_LSB 170,6751 -#define DBE_VT_VBLANK_VT_VBLANK_ON_MSB 172,6798 -#define DBE_VT_VBLANK_VT_VBLANK_ON_LSB 173,6847 -#define DBE_VT_VBLANK_VT_VBLANK_OFF_MSB 174,6896 -#define DBE_VT_VBLANK_VT_VBLANK_OFF_LSB 175,6945 -#define DBE_VT_HBLANK_VT_HBLANK_ON_MSB 177,6994 -#define DBE_VT_HBLANK_VT_HBLANK_ON_LSB 178,7043 -#define DBE_VT_HBLANK_VT_HBLANK_OFF_MSB 179,7092 -#define DBE_VT_HBLANK_VT_HBLANK_OFF_LSB 180,7141 -#define DBE_VT_FLAGS_VDRV_INVERT_MSB 182,7190 -#define DBE_VT_FLAGS_VDRV_INVERT_LSB 183,7230 -#define DBE_VT_FLAGS_HDRV_INVERT_MSB 184,7270 -#define DBE_VT_FLAGS_HDRV_INVERT_LSB 185,7310 -#define DBE_VT_VCMAP_VT_VCMAP_ON_MSB 187,7351 -#define DBE_VT_VCMAP_VT_VCMAP_ON_LSB 188,7398 -#define DBE_VT_VCMAP_VT_VCMAP_OFF_MSB 189,7445 -#define DBE_VT_VCMAP_VT_VCMAP_OFF_LSB 190,7492 -#define DBE_VT_HCMAP_VT_HCMAP_ON_MSB 192,7539 -#define DBE_VT_HCMAP_VT_HCMAP_ON_LSB 193,7586 -#define DBE_VT_HCMAP_VT_HCMAP_OFF_MSB 194,7633 -#define DBE_VT_HCMAP_VT_HCMAP_OFF_LSB 195,7680 -#define DBE_VT_XYMAX_VT_MAXX_MSB 197,7727 -#define DBE_VT_XYMAX_VT_MAXX_LSB 198,7766 -#define DBE_VT_XYMAX_VT_MAXY_MSB 199,7804 -#define DBE_VT_XYMAX_VT_MAXY_LSB 200,7843 -#define DBE_VT_HPIXEN_VT_HPIXEN_ON_MSB 202,7883 -#define DBE_VT_HPIXEN_VT_HPIXEN_ON_LSB 203,7930 -#define DBE_VT_HPIXEN_VT_HPIXEN_OFF_MSB 204,7977 -#define DBE_VT_HPIXEN_VT_HPIXEN_OFF_LSB 205,8024 -#define DBE_VT_VPIXEN_VT_VPIXEN_ON_MSB 207,8071 -#define DBE_VT_VPIXEN_VT_VPIXEN_ON_LSB 208,8118 -#define DBE_VT_VPIXEN_VT_VPIXEN_OFF_MSB 209,8165 -#define DBE_VT_VPIXEN_VT_VPIXEN_OFF_LSB 210,8212 -#define DBE_OVR_CONTROL_OVR_DMA_ENABLE_MSB 212,8259 -#define DBE_OVR_CONTROL_OVR_DMA_ENABLE_LSB 213,8305 -#define DBE_OVR_INHWCTRL_OVR_DMA_ENABLE_MSB 215,8352 -#define DBE_OVR_INHWCTRL_OVR_DMA_ENABLE_LSB 216,8398 -#define DBE_OVR_WIDTH_TILE_OVR_FIFO_RESET_MSB 218,8445 -#define DBE_OVR_WIDTH_TILE_OVR_FIFO_RESET_LSB 219,8500 -#define DBE_FRM_CONTROL_FRM_DMA_ENABLE_MSB 221,8556 -#define DBE_FRM_CONTROL_FRM_DMA_ENABLE_LSB 222,8602 -#define DBE_FRM_CONTROL_FRM_TILE_PTR_MSB 223,8648 -#define DBE_FRM_CONTROL_FRM_TILE_PTR_LSB 224,8695 -#define DBE_FRM_CONTROL_FRM_LINEAR_MSB 225,8741 -#define DBE_FRM_CONTROL_FRM_LINEAR_LSB 226,8787 -#define DBE_FRM_INHWCTRL_FRM_DMA_ENABLE_MSB 228,8834 -#define DBE_FRM_INHWCTRL_FRM_DMA_ENABLE_LSB 229,8880 -#define DBE_FRM_SIZE_TILE_FRM_WIDTH_TILE_MSB 231,8927 -#define DBE_FRM_SIZE_TILE_FRM_WIDTH_TILE_LSB 232,8982 -#define DBE_FRM_SIZE_TILE_FRM_RHS_MSB 233,9036 -#define DBE_FRM_SIZE_TILE_FRM_RHS_LSB 234,9082 -#define DBE_FRM_SIZE_TILE_FRM_DEPTH_MSB 235,9128 -#define DBE_FRM_SIZE_TILE_FRM_DEPTH_LSB 236,9175 -#define DBE_FRM_SIZE_TILE_FRM_FIFO_RESET_MSB 237,9222 -#define DBE_FRM_SIZE_TILE_FRM_FIFO_RESET_LSB 238,9277 -#define DBE_FRM_SIZE_PIXEL_FB_HEIGHT_PIX_MSB 240,9333 -#define DBE_FRM_SIZE_PIXEL_FB_HEIGHT_PIX_LSB 241,9388 -#define DBE_DID_CONTROL_DID_DMA_ENABLE_MSB 243,9444 -#define DBE_DID_CONTROL_DID_DMA_ENABLE_LSB 244,9490 -#define DBE_DID_INHWCTRL_DID_DMA_ENABLE_MSB 245,9536 -#define DBE_DID_INHWCTRL_DID_DMA_ENABLE_LSB 246,9582 -#define DBE_DID_START_XY_DID_STARTY_MSB 248,9629 -#define DBE_DID_START_XY_DID_STARTY_LSB 249,9676 -#define DBE_DID_START_XY_DID_STARTX_MSB 250,9723 -#define DBE_DID_START_XY_DID_STARTX_LSB 251,9770 -#define DBE_CRS_START_XY_CRS_STARTY_MSB 253,9817 -#define DBE_CRS_START_XY_CRS_STARTY_LSB 254,9864 -#define DBE_CRS_START_XY_CRS_STARTX_MSB 255,9911 -#define DBE_CRS_START_XY_CRS_STARTX_LSB 256,9958 -#define DBE_WID_TYP_MSB 258,10005 -#define DBE_WID_TYP_LSB 259,10035 -#define DBE_WID_BUF_MSB 260,10065 -#define DBE_WID_BUF_LSB 261,10095 -#define DBE_VC_START_XY_VC_STARTY_MSB 263,10126 -#define DBE_VC_START_XY_VC_STARTY_LSB 264,10173 -#define DBE_VC_START_XY_VC_STARTX_MSB 265,10220 -#define DBE_VC_START_XY_VC_STARTX_LSB 266,10267 -#define DBE_FRM_DEPTH_8 270,10331 -#define DBE_FRM_DEPTH_16 271,10361 -#define DBE_FRM_DEPTH_32 272,10391 -#define DBE_CMODE_I8 274,10422 -#define DBE_CMODE_I12 275,10452 -#define DBE_CMODE_RG3B2 276,10482 -#define DBE_CMODE_RGB4 277,10512 -#define DBE_CMODE_ARGB5 278,10542 -#define DBE_CMODE_RGB8 279,10572 -#define DBE_CMODE_RGBA5 280,10602 -#define DBE_CMODE_RGB10 281,10632 -#define DBE_BMODE_BOTH 283,10663 -#define DBE_CRS_MAGIC 285,10694 -#define DBE_CLOCK_REF_KHZ 287,10726 -#define DBE_CONFIG_VDAC_ENABLE 291,10805 -#define DBE_CONFIG_VDAC_GSYNC 292,10853 -#define DBE_CONFIG_VDAC_PBLANK 293,10901 -#define DBE_CONFIG_FPENABLE 294,10949 -#define DBE_CONFIG_LENDIAN 295,10997 -#define DBE_CONFIG_TILEHIST 296,11045 -#define DBE_CONFIG_EXT_ADDR 297,11093 -#define DBE_CONFIG_FBDEV 299,11142 - DBE_VT_640_480_60,310,11535 - DBE_VT_800_600_60,312,11557 - DBE_VT_800_600_75,313,11578 - DBE_VT_800_600_120,314,11599 - DBE_VT_1024_768_50,316,11622 - DBE_VT_1024_768_60,317,11644 - DBE_VT_1024_768_75,318,11666 - DBE_VT_1024_768_85,319,11688 - DBE_VT_1024_768_120,320,11710 - DBE_VT_1280_1024_50,322,11734 - DBE_VT_1280_1024_60,323,11757 - DBE_VT_1280_1024_75,324,11780 - DBE_VT_1280_1024_85,325,11803 - DBE_VT_1600_1024_53,327,11827 - DBE_VT_1600_1024_60,328,11850 - DBE_VT_1600_1200_50,330,11874 - DBE_VT_1600_1200_60,331,11897 - DBE_VT_1600_1200_75,332,11920 - DBE_VT_1920_1080_50,334,11944 - DBE_VT_1920_1080_60,335,11967 - DBE_VT_1920_1080_72,336,11990 - DBE_VT_1920_1200_50,338,12014 - DBE_VT_1920_1200_60,339,12037 - DBE_VT_1920_1200_66,340,12060 - DBE_VT_UNKNOWN342,12084 -} dbe_timing_t;dbe_timing_t343,12101 -struct dbe_timing_infodbe_timing_info351,12165 -#define DBE_VOF_UNKNOWNMON 376,13103 -#define DBE_VOF_STEREO 377,13135 -#define DBE_VOF_DO_GENSYNC 378,13167 -#define DBE_VOF_SYNC_ON_GREEN 379,13235 -#define DBE_VOF_FLATPANEL 380,13296 -#define DBE_VOF_MAGICKEY 381,13360 -struct dbe_timing_info dbeVTimings[388,13483 -#define DBE_VT_SIZE 679,24657 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/tdfx.h,3600 -#define _TDFX_H2,16 -#define STATUS 5,65 -#define PCIINIT0 6,94 -#define SIPMONITOR 7,123 -#define LFBMEMORYCONFIG 8,152 -#define MISCINIT0 9,181 -#define MISCINIT1 10,210 -#define DRAMINIT0 11,239 -#define DRAMINIT1 12,268 -#define AGPINIT 13,297 -#define TMUGBEINIT 14,326 -#define VGAINIT0 15,355 -#define VGAINIT1 16,384 -#define DRAMCOMMAND 17,413 -#define DRAMDATA 18,442 -#define PLLCTRL0 21,535 -#define PLLCTRL1 22,564 -#define PLLCTRL2 23,593 -#define DACMODE 24,622 -#define DACADDR 25,651 -#define DACDATA 26,680 -#define RGBMAXDELTA 27,709 -#define VIDPROCCFG 28,738 -#define HWCURPATADDR 29,767 -#define HWCURLOC 30,796 -#define HWCURC0 31,825 -#define HWCURC1 32,854 -#define VIDINFORMAT 33,883 -#define VIDINSTATUS 34,912 -#define VIDSERPARPORT 35,941 -#define VIDINXDELTA 36,970 -#define VIDININITERR 37,999 -#define VIDINYDELTA 38,1028 -#define VIDPIXBUFTHOLD 39,1057 -#define VIDCHRMIN 40,1086 -#define VIDCHRMAX 41,1115 -#define VIDCURLIN 42,1144 -#define VIDSCREENSIZE 43,1173 -#define VIDOVRSTARTCRD 44,1202 -#define VIDOVRENDCRD 45,1231 -#define VIDOVRDUDX 46,1260 -#define VIDOVRDUDXOFF 47,1289 -#define VIDOVRDVDY 48,1318 -#define VIDOVRDVDYOFF 50,1358 -#define VIDDESKSTART 51,1387 -#define VIDDESKSTRIDE 52,1416 -#define VIDINADDR0 53,1445 -#define VIDINADDR1 54,1474 -#define VIDINADDR2 55,1503 -#define VIDINSTRIDE 56,1532 -#define VIDCUROVRSTART 57,1561 -#define INTCTRL 59,1591 -#define CLIP0MIN 60,1635 -#define CLIP0MAX 61,1679 -#define DSTBASE 62,1723 -#define DSTFORMAT 63,1767 -#define SRCBASE 64,1811 -#define COMMANDEXTRA_2D 65,1855 -#define CLIP1MIN 66,1899 -#define CLIP1MAX 67,1943 -#define SRCFORMAT 68,1987 -#define SRCSIZE 69,2031 -#define SRCXY 70,2075 -#define COLORBACK 71,2119 -#define COLORFORE 72,2163 -#define DSTSIZE 73,2207 -#define DSTXY 74,2251 -#define COMMAND_2D 75,2295 -#define LAUNCH_2D 76,2339 -#define COMMAND_3D 78,2384 -#define BIT(BIT82,2482 -#define TDFX_ROP_COPY 85,2540 -#define TDFX_ROP_INVERT 86,2585 -#define TDFX_ROP_XOR 87,2634 -#define AUTOINC_DSTX 89,2688 -#define AUTOINC_DSTY 90,2736 -#define COMMAND_2D_FILLRECT 91,2784 -#define COMMAND_2D_S2S_BITBLT 92,2829 -#define COMMAND_2D_H2S_BITBLT 93,2899 -#define COMMAND_3D_NOP 95,2969 -#define STATUS_RETRACE 96,3014 -#define STATUS_BUSY 97,3061 -#define MISCINIT1_CLUT_INV 98,3108 -#define MISCINIT1_2DBLOCK_DIS 99,3155 -#define DRAMINIT0_SGRAM_NUM 100,3203 -#define DRAMINIT0_SGRAM_TYPE 101,3251 -#define DRAMINIT1_MEM_SDRAM 102,3299 -#define VGAINIT0_VGA_DISABLE 103,3347 -#define VGAINIT0_EXT_TIMING 104,3394 -#define VGAINIT0_8BIT_DAC 105,3441 -#define VGAINIT0_EXT_ENABLE 106,3488 -#define VGAINIT0_WAKEUP_3C3 107,3535 -#define VGAINIT0_LEGACY_DISABLE 108,3582 -#define VGAINIT0_ALT_READBACK 109,3629 -#define VGAINIT0_FAST_BLINK 110,3677 -#define VGAINIT0_EXTSHIFTOUT 111,3725 -#define VGAINIT0_DECODE_3C6 112,3773 -#define VGAINIT0_SGRAM_HBLANK_DISABLE 113,3821 -#define VGAINIT1_MASK 114,3869 -#define VIDCFG_VIDPROC_ENABLE 115,3918 -#define VIDCFG_CURS_X11 116,3965 -#define VIDCFG_INTERLACE 117,4012 -#define VIDCFG_HALF_MODE 118,4059 -#define VIDCFG_DESK_ENABLE 119,4106 -#define VIDCFG_CLUT_BYPASS 120,4153 -#define VIDCFG_2X 121,4201 -#define VIDCFG_HWCURSOR_ENABLE 122,4249 -#define VIDCFG_PIXFMT_SHIFT 123,4297 -#define DACMODE_2X 124,4340 -#define MISC_W 127,4449 -#define MISC_R 128,4471 -#define SEQ_I 129,4493 -#define SEQ_D 130,4515 -#define CRT_I 131,4537 -#define CRT_D 132,4559 -#define ATT_IW 133,4581 -#define IS1_R 134,4603 -#define GRA_I 135,4625 -#define GRA_D 136,4647 -struct banshee_reg banshee_reg140,4689 -struct tdfx_par tdfx_par173,5447 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/iga.h,462 -#define _IGA1682_H 8,176 -#define IGA_ATTR_CTL 10,198 -#define IGA_IDX_VGA_OVERSCAN 11,227 -#define DAC_W_INDEX 12,264 -#define DAC_DATA 13,311 -#define IGA_EXT_CNTRL 14,358 -#define IGA_IDX_EXT_BUS_CNTL 15,404 -#define MEM_SIZE_ALIAS 16,449 -#define MEM_SIZE_1M 17,493 -#define MEM_SIZE_2M 18,537 -#define MEM_SIZE_4M 19,581 -#define MEM_SIZE_RESERVED 20,625 -#define IGA_IDX_OVERSCAN_COLOR 21,669 -#define IGA_IDX_EXT_MEM_2 22,714 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/pmagb-b-fb.h,197 -#define PMAGB_B_BT459_OFFSET 17,504 -#define PMAGB_B_ONBOARD_FBMEM_OFFSET 23,683 -#define BT459_ADR_LOW 29,787 -#define BT459_ADR_HIGH 30,847 -#define BT459_DATA 31,909 -#define BT459_CMAP 32,965 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/edid.h,71 -#define __linux_video_edid_h__2,31 -struct edid_info edid_info12,178 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/permedia2.h,6754 -#define PM2FB_H13,519 -#define PM2_REFERENCE_CLOCK 15,536 -#define PM2_MAX_PIXCLOCK 16,585 -#define PM2_REGS_SIZE 17,632 -#define PM2TAG(PM2TAG19,664 -#define PM2R_RESET_STATUS 25,915 -#define PM2R_IN_FIFO_SPACE 26,951 -#define PM2R_OUT_FIFO_WORDS 27,988 -#define PM2R_APERTURE_ONE 28,1026 -#define PM2R_APERTURE_TWO 29,1062 -#define PM2R_FIFO_DISCON 30,1098 -#define PM2R_CHIP_CONFIG 31,1133 -#define PM2R_REBOOT 33,1169 -#define PM2R_MEM_CONTROL 34,1200 -#define PM2R_BOOT_ADDRESS 35,1235 -#define PM2R_MEM_CONFIG 36,1271 -#define PM2R_BYPASS_WRITE_MASK 37,1306 -#define PM2R_FRAMEBUFFER_WRITE_MASK 38,1347 -#define PM2R_OUT_FIFO 40,1393 -#define PM2R_SCREEN_BASE 42,1427 -#define PM2R_SCREEN_STRIDE 43,1462 -#define PM2R_H_TOTAL 44,1499 -#define PM2R_HG_END 45,1531 -#define PM2R_HB_END 46,1562 -#define PM2R_HS_START 47,1593 -#define PM2R_HS_END 48,1626 -#define PM2R_V_TOTAL 49,1657 -#define PM2R_VB_END 50,1689 -#define PM2R_VS_START 51,1720 -#define PM2R_VS_END 52,1753 -#define PM2R_VIDEO_CONTROL 53,1784 -#define PM2R_LINE_COUNT 54,1821 -#define PM2R_FIFO_CONTROL 55,1856 -#define PM2R_RD_PALETTE_WRITE_ADDRESS 57,1893 -#define PM2R_RD_PALETTE_DATA 58,1940 -#define PM2R_RD_PIXEL_MASK 59,1979 -#define PM2R_RD_PALETTE_READ_ADDRESS 60,2016 -#define PM2R_RD_INDEXED_DATA 61,2062 -#define PM2R_START_X_DOM 63,2102 -#define PM2R_D_X_DOM 64,2137 -#define PM2R_START_X_SUB 65,2169 -#define PM2R_D_X_SUB 66,2204 -#define PM2R_START_Y 67,2236 -#define PM2R_D_Y 68,2268 -#define PM2R_COUNT 69,2296 -#define PM2R_RENDER 70,2326 -#define PM2R_RASTERIZER_MODE 71,2357 -#define PM2R_RECTANGLE_ORIGIN 72,2396 -#define PM2R_RECTANGLE_SIZE 73,2436 -#define PM2R_PACKED_DATA_LIMITS 74,2474 -#define PM2R_SCISSOR_MODE 75,2516 -#define PM2R_SCREEN_SIZE 76,2552 -#define PM2R_AREA_STIPPLE_MODE 77,2587 -#define PM2R_WINDOW_ORIGIN 78,2628 -#define PM2R_TEXTURE_ADDRESS_MODE 79,2665 -#define PM2R_TEXTURE_MAP_FORMAT 80,2708 -#define PM2R_TEXTURE_DATA_FORMAT 81,2750 -#define PM2R_TEXTURE_READ_MODE 82,2792 -#define PM2R_TEXEL_LUT_MODE 83,2833 -#define PM2R_TEXTURE_COLOR_MODE 84,2871 -#define PM2R_FOG_MODE 85,2913 -#define PM2R_COLOR_DDA_MODE 86,2946 -#define PM2R_ALPHA_BLEND_MODE 87,2984 -#define PM2R_DITHER_MODE 88,3024 -#define PM2R_FB_SOFT_WRITE_MASK 89,3059 -#define PM2R_LOGICAL_OP_MODE 90,3101 -#define PM2R_LB_READ_MODE 91,3140 -#define PM2R_LB_READ_FORMAT 92,3176 -#define PM2R_LB_SOURCE_OFFSET 93,3214 -#define PM2R_LB_WINDOW_BASE 94,3254 -#define PM2R_LB_WRITE_FORMAT 95,3292 -#define PM2R_STENCIL_MODE 96,3331 -#define PM2R_DEPTH_MODE 97,3367 -#define PM2R_FB_READ_MODE 98,3402 -#define PM2R_FB_SOURCE_OFFSET 99,3438 -#define PM2R_FB_PIXEL_OFFSET 100,3478 -#define PM2R_FB_WINDOW_BASE 101,3517 -#define PM2R_FB_WRITE_MODE 102,3555 -#define PM2R_FB_HARD_WRITE_MASK 103,3592 -#define PM2R_FB_BLOCK_COLOR 104,3634 -#define PM2R_FB_READ_PIXEL 105,3672 -#define PM2R_FILTER_MODE 106,3709 -#define PM2R_SYNC 107,3744 -#define PM2R_YUV_MODE 108,3773 -#define PM2R_STATISTICS_MODE 109,3806 -#define PM2R_FB_SOURCE_DELTA 110,3845 -#define PM2R_CONFIG 111,3884 -#define PM2R_DELTA_MODE 112,3915 -#define PM2VR_RD_INDEX_LOW 115,3968 -#define PM2VR_RD_INDEX_HIGH 116,4005 -#define PM2VR_RD_INDEXED_DATA 117,4043 -#define PM2I_RD_CURSOR_CONTROL 120,4125 -#define PM2I_RD_COLOR_MODE 121,4164 -#define PM2I_RD_MODE_CONTROL 122,4199 -#define PM2I_RD_MISC_CONTROL 123,4236 -#define PM2I_RD_PIXEL_CLOCK_A1 124,4273 -#define PM2I_RD_PIXEL_CLOCK_A2 125,4312 -#define PM2I_RD_PIXEL_CLOCK_A3 126,4351 -#define PM2I_RD_PIXEL_CLOCK_STATUS 127,4390 -#define PM2I_RD_MEMORY_CLOCK_1 128,4432 -#define PM2I_RD_MEMORY_CLOCK_2 129,4471 -#define PM2I_RD_MEMORY_CLOCK_3 130,4510 -#define PM2I_RD_MEMORY_CLOCK_STATUS 131,4549 -#define PM2I_RD_COLOR_KEY_CONTROL 132,4592 -#define PM2I_RD_OVERLAY_KEY 133,4633 -#define PM2I_RD_RED_KEY 134,4669 -#define PM2I_RD_GREEN_KEY 135,4702 -#define PM2I_RD_BLUE_KEY 136,4736 -#define PM2VI_RD_MISC_CONTROL 139,4798 -#define PM2VI_RD_SYNC_CONTROL 140,4837 -#define PM2VI_RD_DAC_CONTROL 141,4876 -#define PM2VI_RD_PIXEL_SIZE 142,4914 -#define PM2VI_RD_COLOR_FORMAT 143,4951 -#define PM2VI_RD_CURSOR_MODE 144,4990 -#define PM2VI_RD_CURSOR_X_LOW 145,5028 -#define PM2VI_RD_CURSOR_X_HIGH 146,5067 -#define PM2VI_RD_CURSOR_Y_LOW 147,5107 -#define PM2VI_RD_CURSOR_Y_HIGH 148,5146 -#define PM2VI_RD_CURSOR_X_HOT 149,5186 -#define PM2VI_RD_CURSOR_Y_HOT 150,5225 -#define PM2VI_RD_CLK0_PRESCALE 151,5264 -#define PM2VI_RD_CLK0_FEEDBACK 152,5304 -#define PM2VI_RD_CLK0_POSTSCALE 153,5344 -#define PM2VI_RD_CLK1_PRESCALE 154,5385 -#define PM2VI_RD_CLK1_FEEDBACK 155,5425 -#define PM2VI_RD_CLK1_POSTSCALE 156,5465 -#define PM2VI_RD_CURSOR_PALETTE 157,5506 -#define PM2VI_RD_CURSOR_PATTERN 158,5547 -#define PM2F_RENDER_AREASTIPPLE 161,5612 -#define PM2F_RENDER_FASTFILL 162,5655 -#define PM2F_RENDER_PRIMITIVE_MASK 163,5695 -#define PM2F_RENDER_LINE 164,5740 -#define PM2F_RENDER_TRAPEZOID 165,5770 -#define PM2F_RENDER_POINT 166,5811 -#define PM2F_RENDER_RECTANGLE 167,5848 -#define PM2F_SYNCHRONIZATION 168,5889 -#define PM2F_PLL_LOCKED 169,5930 -#define PM2F_BEING_RESET 170,5963 -#define PM2F_DATATYPE_COLOR 171,6000 -#define PM2F_VGA_ENABLE 172,6038 -#define PM2F_VGA_FIXED 173,6071 -#define PM2F_FB_WRITE_ENABLE 174,6103 -#define PM2F_FB_READ_SOURCE_ENABLE 175,6140 -#define PM2F_RD_PALETTE_WIDTH_8 176,6184 -#define PM2F_PART_PROD_MASK 177,6224 -#define PM2F_SCREEN_SCISSOR_ENABLE 178,6262 -#define PM2F_DATA_64_ENABLE 179,6304 -#define PM2F_BLANK_LOW 180,6346 -#define PM2F_HSYNC_MASK 181,6378 -#define PM2F_VSYNC_MASK 182,6411 -#define PM2F_HSYNC_ACT_HIGH 183,6444 -#define PM2F_HSYNC_FORCED_LOW 184,6480 -#define PM2F_HSYNC_ACT_LOW 185,6518 -#define PM2F_VSYNC_ACT_HIGH 186,6553 -#define PM2F_VSYNC_FORCED_LOW 187,6589 -#define PM2F_VSYNC_ACT_LOW 188,6627 -#define PM2F_LINE_DOUBLE 189,6662 -#define PM2F_VIDEO_ENABLE 190,6695 -#define PM2F_RD_GUI_ACTIVE 191,6729 -#define PM2F_RD_COLOR_MODE_RGB 192,6764 -#define PM2F_DELTA_ORDER_RGB 193,6803 -#define PM2F_RD_TRUECOLOR 194,6844 -#define PM2F_NO_ALPHA_BUFFER 195,6878 -#define PM2F_TEXTEL_SIZE_16 196,6915 -#define PM2F_TEXTEL_SIZE_32 197,6957 -#define PM2F_TEXTEL_SIZE_4 198,6999 -#define PM2F_TEXTEL_SIZE_24 199,7040 -#define PM2F_INCREASE_X 200,7082 -#define PM2F_INCREASE_Y 201,7119 -#define PM2F_CONFIG_FB_WRITE_ENABLE 202,7156 -#define PM2F_CONFIG_FB_PACKED_DATA 203,7202 -#define PM2F_CONFIG_FB_READ_DEST_ENABLE 204,7247 -#define PM2F_CONFIG_FB_READ_SOURCE_ENABLE 205,7297 -#define PM2F_COLOR_KEY_TEST_OFF 206,7348 -#define PM2F_MEM_CONFIG_RAM_MASK 207,7391 -#define PM2F_MEM_BANKS_1 208,7435 -#define PM2F_MEM_BANKS_2 209,7466 -#define PM2F_MEM_BANKS_3 210,7503 -#define PM2F_MEM_BANKS_4 211,7540 - PM2_TYPE_PERMEDIA2,214,7593 - PM2_TYPE_PERMEDIA2V215,7614 -} pm2type_t;pm2type_t216,7635 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/vga.h,5525 -#define __linux_video_vga_h__18,544 -#define inb_p(inb_p38,950 -#define inw_p(inw_p39,972 -#define outb_p(outb_p40,994 -#define outw(outw41,1037 -#define readb 42,1079 -#define writeb 43,1102 -#define writew 44,1127 -#define VGA_CRT_DC 61,1808 -#define VGA_CRT_DM 62,1888 -#define VGA_ATT_R 63,1967 -#define VGA_ATT_W 64,2040 -#define VGA_GFX_D 65,2114 -#define VGA_SEQ_D 66,2181 -#define VGA_MIS_R 67,2238 -#define VGA_MIS_W 68,2297 -#define VGA_FTC_R 69,2357 -#define VGA_IS1_RC 70,2417 -#define VGA_IS1_RM 71,2492 -#define VGA_PEL_D 72,2566 -#define VGA_PEL_MSK 73,2617 -#define EGA_GFX_E0 76,2698 -#define EGA_GFX_E1 77,2757 -#define VGA_CRT_IC 80,2848 -#define VGA_CRT_IM 81,2920 -#define VGA_ATT_IW 82,2991 -#define VGA_GFX_I 83,3073 -#define VGA_SEQ_I 84,3132 -#define VGA_PEL_IW 85,3181 -#define VGA_PEL_IR 86,3230 -#define VGA_CRT_C 89,3317 -#define VGA_ATT_C 90,3384 -#define VGA_GFX_C 91,3457 -#define VGA_SEQ_C 92,3529 -#define VGA_MIS_C 93,3591 -#define VGA_MIS_COLOR 96,3689 -#define VGA_MIS_ENB_MEM_ACCESS 97,3717 -#define VGA_MIS_DCLK_28322_720 98,3753 -#define VGA_MIS_ENB_PLL_LOAD 99,3789 -#define VGA_MIS_SEL_HIGH_PAGE 100,3832 -#define VGA_CRTC_H_TOTAL 103,3910 -#define VGA_CRTC_H_DISP 104,3937 -#define VGA_CRTC_H_BLANK_START 105,3964 -#define VGA_CRTC_H_BLANK_END 106,3997 -#define VGA_CRTC_H_SYNC_START 107,4028 -#define VGA_CRTC_H_SYNC_END 108,4060 -#define VGA_CRTC_V_TOTAL 109,4090 -#define VGA_CRTC_OVERFLOW 110,4117 -#define VGA_CRTC_PRESET_ROW 111,4145 -#define VGA_CRTC_MAX_SCAN 112,4175 -#define VGA_CRTC_CURSOR_START 113,4203 -#define VGA_CRTC_CURSOR_END 114,4238 -#define VGA_CRTC_START_HI 115,4271 -#define VGA_CRTC_START_LO 116,4302 -#define VGA_CRTC_CURSOR_HI 117,4333 -#define VGA_CRTC_CURSOR_LO 118,4365 -#define VGA_CRTC_V_SYNC_START 119,4397 -#define VGA_CRTC_V_SYNC_END 120,4432 -#define VGA_CRTC_V_DISP_END 121,4465 -#define VGA_CRTC_OFFSET 122,4498 -#define VGA_CRTC_UNDERLINE 123,4528 -#define VGA_CRTC_V_BLANK_START 124,4560 -#define VGA_CRTC_V_BLANK_END 125,4596 -#define VGA_CRTC_MODE 126,4630 -#define VGA_CRTC_LINE_COMPARE 127,4658 -#define VGA_CRTC_REGS 128,4693 -#define VGA_CR11_LOCK_CR0_CR7 131,4762 -#define VGA_CR17_H_V_SIGNALS_ENABLED 132,4828 -#define VGA_ATC_PALETTE0 135,4919 -#define VGA_ATC_PALETTE1 136,4949 -#define VGA_ATC_PALETTE2 137,4979 -#define VGA_ATC_PALETTE3 138,5009 -#define VGA_ATC_PALETTE4 139,5039 -#define VGA_ATC_PALETTE5 140,5069 -#define VGA_ATC_PALETTE6 141,5099 -#define VGA_ATC_PALETTE7 142,5129 -#define VGA_ATC_PALETTE8 143,5159 -#define VGA_ATC_PALETTE9 144,5189 -#define VGA_ATC_PALETTEA 145,5219 -#define VGA_ATC_PALETTEB 146,5249 -#define VGA_ATC_PALETTEC 147,5279 -#define VGA_ATC_PALETTED 148,5309 -#define VGA_ATC_PALETTEE 149,5339 -#define VGA_ATC_PALETTEF 150,5369 -#define VGA_ATC_MODE 151,5399 -#define VGA_ATC_OVERSCAN 152,5426 -#define VGA_ATC_PLANE_ENABLE 153,5456 -#define VGA_ATC_PEL 154,5490 -#define VGA_ATC_COLOR_PAGE 155,5516 -#define VGA_AR_ENABLE_DISPLAY 157,5549 -#define VGA_SEQ_RESET 160,5622 -#define VGA_SEQ_CLOCK_MODE 161,5650 -#define VGA_SEQ_PLANE_WRITE 162,5682 -#define VGA_SEQ_CHARACTER_MAP 163,5715 -#define VGA_SEQ_MEMORY_MODE 164,5750 -#define VGA_SR01_CHAR_CLK_8DOTS 167,5823 -#define VGA_SR01_SCREEN_OFF 168,5916 -#define VGA_SR02_ALL_PLANES 169,5976 -#define VGA_SR04_EXT_MEM 170,6053 -#define VGA_SR04_SEQ_MODE 171,6131 -#define VGA_SR04_CHN_4M 172,6226 -#define VGA_GFX_SR_VALUE 175,6378 -#define VGA_GFX_SR_ENABLE 176,6408 -#define VGA_GFX_COMPARE_VALUE 177,6439 -#define VGA_GFX_DATA_ROTATE 178,6474 -#define VGA_GFX_PLANE_READ 179,6507 -#define VGA_GFX_MODE 180,6539 -#define VGA_GFX_MISC 181,6566 -#define VGA_GFX_COMPARE_MASK 182,6593 -#define VGA_GFX_BIT_MASK 183,6627 -#define VGA_GR06_GRAPHICS_MODE 186,6698 -#define VGA_OUT16VAL(VGA_OUT16VAL190,6832 -#define VGA_OUTW_WRITE194,6984 -#define VGA_SAVE_FONT0 198,7048 -#define VGA_SAVE_FONT1 199,7109 -#define VGA_SAVE_TEXT 200,7170 -#define VGA_SAVE_FONTS 201,7231 -#define VGA_SAVE_MODE 202,7288 -#define VGA_SAVE_CMAP 203,7347 -struct vgastate vgastate205,7409 -static inline unsigned char vga_io_r 225,8144 -static inline void vga_io_w 230,8229 -static inline void vga_io_w_fast 235,8323 -static inline unsigned char vga_mm_r 241,8465 -static inline void vga_mm_w 246,8584 -static inline void vga_mm_w_fast 251,8712 -static inline unsigned char vga_r 257,8890 -static inline void vga_w 265,9055 -static inline void vga_w_fast 274,9227 -static inline unsigned char vga_rcrt 288,9494 -static inline void vga_wcrt 294,9665 -static inline unsigned char vga_io_rcrt 304,9945 -static inline void vga_io_wcrt 310,10084 -static inline unsigned char vga_mm_rcrt 320,10326 -static inline void vga_mm_wcrt 326,10506 -static inline unsigned char vga_rseq 341,10845 -static inline void vga_wseq 347,11014 -static inline unsigned char vga_io_rseq 357,11291 -static inline void vga_io_wseq 363,11428 -static inline unsigned char vga_mm_rseq 373,11667 -static inline void vga_mm_wseq 379,11845 -static inline unsigned char vga_rgfx 393,12190 -static inline void vga_wgfx 399,12359 -static inline unsigned char vga_io_rgfx 409,12636 -static inline void vga_io_wgfx 415,12773 -static inline unsigned char vga_mm_rgfx 425,13012 -static inline void vga_mm_wgfx 431,13190 -static inline unsigned char vga_rattr 446,13537 -static inline void vga_wattr 452,13708 -static inline unsigned char vga_io_rattr 458,13887 -static inline void vga_io_wattr 464,14026 -static inline unsigned char vga_mm_rattr 470,14173 -static inline void vga_mm_wattr 476,14353 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/epson1355.h,1920 -#define _EPSON13XX_H_11,208 -#define REG_REVISION_CODE 13,231 -#define REG_MEMORY_CONFIG 14,275 -#define REG_PANEL_TYPE 15,319 -#define REG_MOD_RATE 16,363 -#define REG_HORZ_DISP_WIDTH 17,407 -#define REG_HORZ_NONDISP_PERIOD 18,451 -#define REG_HRTC_START_POSITION 19,495 -#define REG_HRTC_PULSE_WIDTH 20,539 -#define REG_VERT_DISP_HEIGHT0 21,583 -#define REG_VERT_DISP_HEIGHT1 22,627 -#define REG_VERT_NONDISP_PERIOD 23,671 -#define REG_VRTC_START_POSITION 24,715 -#define REG_VRTC_PULSE_WIDTH 25,759 -#define REG_DISPLAY_MODE 26,803 -#define REG_SCRN1_LINE_COMPARE0 27,847 -#define REG_SCRN1_LINE_COMPARE1 28,891 -#define REG_SCRN1_DISP_START_ADDR0 29,935 -#define REG_SCRN1_DISP_START_ADDR1 30,979 -#define REG_SCRN1_DISP_START_ADDR2 31,1023 -#define REG_SCRN2_DISP_START_ADDR0 32,1067 -#define REG_SCRN2_DISP_START_ADDR1 33,1111 -#define REG_SCRN2_DISP_START_ADDR2 34,1155 -#define REG_MEM_ADDR_OFFSET0 35,1199 -#define REG_MEM_ADDR_OFFSET1 36,1243 -#define REG_PIXEL_PANNING 37,1287 -#define REG_CLOCK_CONFIG 38,1331 -#define REG_POWER_SAVE_CONFIG 39,1375 -#define REG_MISC 40,1419 -#define REG_MD_CONFIG_READBACK0 41,1463 -#define REG_MD_CONFIG_READBACK1 42,1507 -#define REG_GPIO_CONFIG0 43,1551 -#define REG_GPIO_CONFIG1 44,1595 -#define REG_GPIO_CONTROL0 45,1639 -#define REG_GPIO_CONTROL1 46,1683 -#define REG_PERF_ENHANCEMENT0 47,1727 -#define REG_PERF_ENHANCEMENT1 48,1771 -#define REG_LUT_ADDR 49,1815 -#define REG_RESERVED_1 50,1859 -#define REG_LUT_DATA 51,1903 -#define REG_INK_CURSOR_CONTROL 52,1947 -#define REG_CURSOR_X_POSITION0 53,1991 -#define REG_CURSOR_X_POSITION1 54,2035 -#define REG_CURSOR_Y_POSITION0 55,2079 -#define REG_CURSOR_Y_POSITION1 56,2123 -#define REG_INK_CURSOR_COLOR0_0 57,2167 -#define REG_INK_CURSOR_COLOR0_1 58,2211 -#define REG_INK_CURSOR_COLOR1_0 59,2255 -#define REG_INK_CURSOR_COLOR1_1 60,2299 -#define REG_INK_CURSOR_START_ADDR 61,2343 -#define REG_ALTERNATE_FRM 62,2387 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/gbe.h,6892 -#define __GBE_H__11,295 -struct sgi_gbe sgi_gbe13,314 -#define MASK(MASK83,3657 -#define GET(GET85,3727 -#define SET(SET87,3795 -#define GET_GBE_FIELD(GET_GBE_FIELD90,3898 -#define SET_GBE_FIELD(SET_GBE_FIELD92,4002 -#define GBE_CTRLSTAT_CHIPID_MSB 98,4146 -#define GBE_CTRLSTAT_CHIPID_LSB 99,4182 -#define GBE_CTRLSTAT_SENSE_N_MSB 100,4218 -#define GBE_CTRLSTAT_SENSE_N_LSB 101,4254 -#define GBE_CTRLSTAT_PCLKSEL_MSB 102,4290 -#define GBE_CTRLSTAT_PCLKSEL_LSB 103,4326 -#define GBE_DOTCLK_M_MSB 105,4363 -#define GBE_DOTCLK_M_LSB 106,4392 -#define GBE_DOTCLK_N_MSB 107,4421 -#define GBE_DOTCLK_N_LSB 108,4450 -#define GBE_DOTCLK_P_MSB 109,4479 -#define GBE_DOTCLK_P_LSB 110,4508 -#define GBE_DOTCLK_RUN_MSB 111,4537 -#define GBE_DOTCLK_RUN_LSB 112,4568 -#define GBE_VT_XY_Y_MSB 114,4600 -#define GBE_VT_XY_Y_LSB 115,4628 -#define GBE_VT_XY_X_MSB 116,4656 -#define GBE_VT_XY_X_LSB 117,4684 -#define GBE_VT_XY_FREEZE_MSB 118,4712 -#define GBE_VT_XY_FREEZE_LSB 119,4745 -#define GBE_FP_VDRV_ON_MSB 121,4779 -#define GBE_FP_VDRV_ON_LSB 122,4809 -#define GBE_FP_VDRV_OFF_MSB 123,4839 -#define GBE_FP_VDRV_OFF_LSB 124,4870 -#define GBE_FP_HDRV_ON_MSB 126,4901 -#define GBE_FP_HDRV_ON_LSB 127,4931 -#define GBE_FP_HDRV_OFF_MSB 128,4961 -#define GBE_FP_HDRV_OFF_LSB 129,4992 -#define GBE_FP_DE_ON_MSB 131,5023 -#define GBE_FP_DE_ON_LSB 132,5052 -#define GBE_FP_DE_OFF_MSB 133,5081 -#define GBE_FP_DE_OFF_LSB 134,5111 -#define GBE_VT_VSYNC_VSYNC_ON_MSB 136,5141 -#define GBE_VT_VSYNC_VSYNC_ON_LSB 137,5178 -#define GBE_VT_VSYNC_VSYNC_OFF_MSB 138,5215 -#define GBE_VT_VSYNC_VSYNC_OFF_LSB 139,5253 -#define GBE_VT_HSYNC_HSYNC_ON_MSB 141,5292 -#define GBE_VT_HSYNC_HSYNC_ON_LSB 142,5329 -#define GBE_VT_HSYNC_HSYNC_OFF_MSB 143,5366 -#define GBE_VT_HSYNC_HSYNC_OFF_LSB 144,5404 -#define GBE_VT_VBLANK_VBLANK_ON_MSB 146,5443 -#define GBE_VT_VBLANK_VBLANK_ON_LSB 147,5482 -#define GBE_VT_VBLANK_VBLANK_OFF_MSB 148,5521 -#define GBE_VT_VBLANK_VBLANK_OFF_LSB 149,5561 -#define GBE_VT_HBLANK_HBLANK_ON_MSB 151,5602 -#define GBE_VT_HBLANK_HBLANK_ON_LSB 152,5641 -#define GBE_VT_HBLANK_HBLANK_OFF_MSB 153,5680 -#define GBE_VT_HBLANK_HBLANK_OFF_LSB 154,5720 -#define GBE_VT_FLAGS_F2RF_HIGH_MSB 156,5761 -#define GBE_VT_FLAGS_F2RF_HIGH_LSB 157,5799 -#define GBE_VT_FLAGS_SYNC_LOW_MSB 158,5837 -#define GBE_VT_FLAGS_SYNC_LOW_LSB 159,5874 -#define GBE_VT_FLAGS_SYNC_HIGH_MSB 160,5911 -#define GBE_VT_FLAGS_SYNC_HIGH_LSB 161,5949 -#define GBE_VT_FLAGS_HDRV_LOW_MSB 162,5987 -#define GBE_VT_FLAGS_HDRV_LOW_LSB 163,6024 -#define GBE_VT_FLAGS_HDRV_INVERT_MSB 164,6061 -#define GBE_VT_FLAGS_HDRV_INVERT_LSB 165,6101 -#define GBE_VT_FLAGS_VDRV_LOW_MSB 166,6141 -#define GBE_VT_FLAGS_VDRV_LOW_LSB 167,6178 -#define GBE_VT_FLAGS_VDRV_INVERT_MSB 168,6215 -#define GBE_VT_FLAGS_VDRV_INVERT_LSB 169,6255 -#define GBE_VT_VCMAP_VCMAP_ON_MSB 171,6296 -#define GBE_VT_VCMAP_VCMAP_ON_LSB 172,6333 -#define GBE_VT_VCMAP_VCMAP_OFF_MSB 173,6370 -#define GBE_VT_VCMAP_VCMAP_OFF_LSB 174,6408 -#define GBE_VT_HCMAP_HCMAP_ON_MSB 176,6447 -#define GBE_VT_HCMAP_HCMAP_ON_LSB 177,6484 -#define GBE_VT_HCMAP_HCMAP_OFF_MSB 178,6521 -#define GBE_VT_HCMAP_HCMAP_OFF_LSB 179,6559 -#define GBE_VT_XYMAX_MAXX_MSB 181,6598 -#define GBE_VT_XYMAX_MAXX_LSB 182,6631 -#define GBE_VT_XYMAX_MAXY_MSB 183,6664 -#define GBE_VT_XYMAX_MAXY_LSB 184,6697 -#define GBE_VT_HPIXEN_HPIXEN_ON_MSB 186,6731 -#define GBE_VT_HPIXEN_HPIXEN_ON_LSB 187,6770 -#define GBE_VT_HPIXEN_HPIXEN_OFF_MSB 188,6809 -#define GBE_VT_HPIXEN_HPIXEN_OFF_LSB 189,6849 -#define GBE_VT_VPIXEN_VPIXEN_ON_MSB 191,6890 -#define GBE_VT_VPIXEN_VPIXEN_ON_LSB 192,6929 -#define GBE_VT_VPIXEN_VPIXEN_OFF_MSB 193,6968 -#define GBE_VT_VPIXEN_VPIXEN_OFF_LSB 194,7008 -#define GBE_OVR_CONTROL_OVR_DMA_ENABLE_MSB 196,7049 -#define GBE_OVR_CONTROL_OVR_DMA_ENABLE_LSB 197,7095 -#define GBE_OVR_INHWCTRL_OVR_DMA_ENABLE_MSB 199,7142 -#define GBE_OVR_INHWCTRL_OVR_DMA_ENABLE_LSB 200,7189 -#define GBE_OVR_WIDTH_TILE_OVR_FIFO_RESET_MSB 202,7237 -#define GBE_OVR_WIDTH_TILE_OVR_FIFO_RESET_LSB 203,7286 -#define GBE_FRM_CONTROL_FRM_DMA_ENABLE_MSB 205,7336 -#define GBE_FRM_CONTROL_FRM_DMA_ENABLE_LSB 206,7382 -#define GBE_FRM_CONTROL_FRM_TILE_PTR_MSB 207,7428 -#define GBE_FRM_CONTROL_FRM_TILE_PTR_LSB 208,7472 -#define GBE_FRM_CONTROL_FRM_LINEAR_MSB 209,7516 -#define GBE_FRM_CONTROL_FRM_LINEAR_LSB 210,7559 -#define GBE_FRM_INHWCTRL_FRM_DMA_ENABLE_MSB 212,7603 -#define GBE_FRM_INHWCTRL_FRM_DMA_ENABLE_LSB 213,7650 -#define GBE_FRM_SIZE_TILE_FRM_WIDTH_TILE_MSB 215,7698 -#define GBE_FRM_SIZE_TILE_FRM_WIDTH_TILE_LSB 216,7746 -#define GBE_FRM_SIZE_TILE_FRM_RHS_MSB 217,7794 -#define GBE_FRM_SIZE_TILE_FRM_RHS_LSB 218,7836 -#define GBE_FRM_SIZE_TILE_FRM_DEPTH_MSB 219,7878 -#define GBE_FRM_SIZE_TILE_FRM_DEPTH_LSB 220,7922 -#define GBE_FRM_SIZE_TILE_FRM_FIFO_RESET_MSB 221,7966 -#define GBE_FRM_SIZE_TILE_FRM_FIFO_RESET_LSB 222,8014 -#define GBE_FRM_SIZE_PIXEL_FB_HEIGHT_PIX_MSB 224,8063 -#define GBE_FRM_SIZE_PIXEL_FB_HEIGHT_PIX_LSB 225,8111 -#define GBE_DID_CONTROL_DID_DMA_ENABLE_MSB 227,8160 -#define GBE_DID_CONTROL_DID_DMA_ENABLE_LSB 228,8206 -#define GBE_DID_INHWCTRL_DID_DMA_ENABLE_MSB 229,8252 -#define GBE_DID_INHWCTRL_DID_DMA_ENABLE_LSB 230,8299 -#define GBE_DID_START_XY_DID_STARTY_MSB 232,8347 -#define GBE_DID_START_XY_DID_STARTY_LSB 233,8391 -#define GBE_DID_START_XY_DID_STARTX_MSB 234,8435 -#define GBE_DID_START_XY_DID_STARTX_LSB 235,8479 -#define GBE_CRS_START_XY_CRS_STARTY_MSB 237,8524 -#define GBE_CRS_START_XY_CRS_STARTY_LSB 238,8568 -#define GBE_CRS_START_XY_CRS_STARTX_MSB 239,8612 -#define GBE_CRS_START_XY_CRS_STARTX_LSB 240,8656 -#define GBE_WID_AUX_MSB 242,8701 -#define GBE_WID_AUX_LSB 243,8729 -#define GBE_WID_GAMMA_MSB 244,8757 -#define GBE_WID_GAMMA_LSB 245,8786 -#define GBE_WID_CM_MSB 246,8815 -#define GBE_WID_CM_LSB 247,8842 -#define GBE_WID_TYP_MSB 248,8869 -#define GBE_WID_TYP_LSB 249,8897 -#define GBE_WID_BUF_MSB 250,8925 -#define GBE_WID_BUF_LSB 251,8953 -#define GBE_VC_START_XY_VC_STARTY_MSB 253,8982 -#define GBE_VC_START_XY_VC_STARTY_LSB 254,9023 -#define GBE_VC_START_XY_VC_STARTX_MSB 255,9064 -#define GBE_VC_START_XY_VC_STARTX_LSB 256,9105 -#define GBE_FRM_DEPTH_8 260,9164 -#define GBE_FRM_DEPTH_16 261,9191 -#define GBE_FRM_DEPTH_32 262,9218 -#define GBE_CMODE_I8 264,9246 -#define GBE_CMODE_I12 265,9270 -#define GBE_CMODE_RG3B2 266,9295 -#define GBE_CMODE_RGB4 267,9322 -#define GBE_CMODE_ARGB5 268,9348 -#define GBE_CMODE_RGB8 269,9375 -#define GBE_CMODE_RGBA5 270,9401 -#define GBE_CMODE_RGB10 271,9428 -#define GBE_BMODE_BOTH 273,9456 -#define GBE_CRS_MAGIC 275,9483 -#define GBE_PIXEN_MAGIC_ON 276,9509 -#define GBE_PIXEN_MAGIC_OFF 277,9539 -#define GBE_TLB_SIZE 279,9571 -struct gbe_timing_info gbe_timing_info287,9680 -#define GBE_VOF_UNKNOWNMON 310,10501 -#define GBE_VOF_STEREO 311,10530 -#define GBE_VOF_DO_GENSYNC 312,10556 -#define GBE_VOF_SYNC_ON_GREEN 313,10612 -#define GBE_VOF_FLATPANEL 314,10664 -#define GBE_VOF_MAGICKEY 315,10720 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/cvisionppc.h,566 -#define CVISIONPPC_H15,574 -struct cvppc_par cvppc_par21,639 -#define CSPPC_PCI_BRIDGE 27,735 -#define CSPPC_BRIDGE_ENDIAN 28,772 -#define CSPPC_BRIDGE_INT 29,808 -#define CVPPC_PCI_CONFIG 31,842 -#define CVPPC_ROM_ADDRESS 32,879 -#define CVPPC_REGS_REGION 33,917 -#define CVPPC_FB_APERTURE_ONE 34,955 -#define CVPPC_FB_APERTURE_TWO 35,997 -#define CVPPC_FB_SIZE 36,1039 -#define CVPPC_MEM_CONFIG_OLD 37,1074 -#define CVPPC_MEM_CONFIG_NEW 38,1137 -#define CVPPC_MEMCLOCK 39,1196 -#define CSPPCF_BRIDGE_BIG_ENDIAN 42,1268 -#define CSPPCF_BRIDGE_ACTIVE_INT2 45,1330 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/newport.h,9778 -#define _SGI_NEWPORT_H12,297 -typedef volatile unsigned int npireg_t;npireg_t15,322 -union npfloat npfloat17,363 -typedef union npfloat npfreg_t;npfreg_t22,426 -union np_dcb np_dcb24,459 -struct newport_rexregs newport_rexregs30,609 -#define DM1_PLANES 33,687 -#define DM1_NOPLANES 34,725 -#define DM1_RGBPLANES 35,763 -#define DM1_RGBAPLANES 36,801 -#define DM1_OLAYPLANES 37,839 -#define DM1_PUPPLANES 38,877 -#define DM1_CIDPLANES 39,915 -#define NPORT_DMODE1_DDMASK 41,955 -#define NPORT_DMODE1_DD4 42,999 -#define NPORT_DMODE1_DD8 43,1043 -#define NPORT_DMODE1_DD12 44,1087 -#define NPORT_DMODE1_DD24 45,1131 -#define NPORT_DMODE1_DSRC 46,1175 -#define NPORT_DMODE1_YFLIP 47,1219 -#define NPORT_DMODE1_RWPCKD 48,1263 -#define NPORT_DMODE1_HDMASK 49,1307 -#define NPORT_DMODE1_HD4 50,1351 -#define NPORT_DMODE1_HD8 51,1395 -#define NPORT_DMODE1_HD12 52,1439 -#define NPORT_DMODE1_HD32 53,1483 -#define NPORT_DMODE1_RWDBL 54,1527 -#define NPORT_DMODE1_ESWAP 55,1571 -#define NPORT_DMODE1_CCMASK 56,1633 -#define NPORT_DMODE1_CCLT 57,1677 -#define NPORT_DMODE1_CCEQ 58,1721 -#define NPORT_DMODE1_CCGT 59,1765 -#define NPORT_DMODE1_RGBMD 60,1809 -#define NPORT_DMODE1_DENAB 61,1853 -#define NPORT_DMODE1_FCLR 62,1917 -#define NPORT_DMODE1_BENAB 63,1978 -#define NPORT_DMODE1_SFMASK 64,2041 -#define NPORT_DMODE1_SF0 65,2085 -#define NPORT_DMODE1_SF1 66,2129 -#define NPORT_DMODE1_SFDC 67,2173 -#define NPORT_DMODE1_SFMDC 68,2217 -#define NPORT_DMODE1_SFSA 69,2261 -#define NPORT_DMODE1_SFMSA 70,2305 -#define NPORT_DMODE1_DFMASK 71,2349 -#define NPORT_DMODE1_DF0 72,2393 -#define NPORT_DMODE1_DF1 73,2437 -#define NPORT_DMODE1_DFSC 74,2481 -#define NPORT_DMODE1_DFMSC 75,2525 -#define NPORT_DMODE1_DFSA 76,2569 -#define NPORT_DMODE1_DFMSA 77,2613 -#define NPORT_DMODE1_BBENAB 78,2657 -#define NPORT_DMODE1_PFENAB 79,2725 -#define NPORT_DMODE1_ABLEND 80,2792 -#define NPORT_DMODE1_LOMASK 81,2854 -#define NPORT_DMODE1_LOZERO 82,2898 -#define NPORT_DMODE1_LOAND 83,2942 -#define NPORT_DMODE1_LOANDR 84,2986 -#define NPORT_DMODE1_LOSRC 85,3030 -#define NPORT_DMODE1_LOANDI 86,3074 -#define NPORT_DMODE1_LODST 87,3118 -#define NPORT_DMODE1_LOXOR 88,3162 -#define NPORT_DMODE1_LOOR 89,3206 -#define NPORT_DMODE1_LONOR 90,3250 -#define NPORT_DMODE1_LOXNOR 91,3294 -#define NPORT_DMODE1_LONDST 92,3338 -#define NPORT_DMODE1_LOORR 93,3382 -#define NPORT_DMODE1_LONSRC 94,3426 -#define NPORT_DMODE1_LOORI 95,3470 -#define NPORT_DMODE1_LONAND 96,3514 -#define NPORT_DMODE1_LOONE 97,3558 -#define NPORT_DMODE0_OPMASK 102,3719 -#define NPORT_DMODE0_NOP 103,3778 -#define NPORT_DMODE0_RD 104,3838 -#define NPORT_DMODE0_DRAW 105,3900 -#define NPORT_DMODE0_S2S 106,3962 -#define NPORT_DMODE0_AMMASK 109,4104 -#define NPORT_DMODE0_SPAN 110,4169 -#define NPORT_DMODE0_BLOCK 111,4238 -#define NPORT_DMODE0_ILINE 112,4304 -#define NPORT_DMODE0_FLINE 113,4370 -#define NPORT_DMODE0_ALINE 114,4436 -#define NPORT_DMODE0_TLINE 115,4502 -#define NPORT_DMODE0_BLINE 116,4568 -#define NPORT_DMODE0_DOSETUP 119,4685 -#define NPORT_DMODE0_CHOST 120,4726 -#define NPORT_DMODE0_AHOST 121,4767 -#define NPORT_DMODE0_STOPX 122,4808 -#define NPORT_DMODE0_STOPY 123,4849 -#define NPORT_DMODE0_SK1ST 124,4890 -#define NPORT_DMODE0_SKLST 125,4931 -#define NPORT_DMODE0_ZPENAB 126,4972 -#define NPORT_DMODE0_LISPENAB 127,5013 -#define NPORT_DMODE0_LISLST 128,5054 -#define NPORT_DMODE0_L32 129,5095 -#define NPORT_DMODE0_ZOPQ 130,5136 -#define NPORT_DMODE0_LISOPQ 131,5177 -#define NPORT_DMODE0_SHADE 132,5218 -#define NPORT_DMODE0_LRONLY 133,5259 -#define NPORT_DMODE0_XYOFF 134,5300 -#define NPORT_DMODE0_CLAMP 135,5341 -#define NPORT_DMODE0_ENDPF 136,5382 -#define NPORT_DMODE0_YSTR 137,5423 -#define NPORT_DMODE_WMASK 198,7118 -#define NPORT_DMODE_W4 199,7157 -#define NPORT_DMODE_W1 200,7196 -#define NPORT_DMODE_W2 201,7235 -#define NPORT_DMODE_W3 202,7274 -#define NPORT_DMODE_EDPACK 203,7313 -#define NPORT_DMODE_ECINC 204,7352 -#define NPORT_DMODE_CMASK 205,7391 -#define NPORT_DMODE_AMASK 206,7430 -#define NPORT_DMODE_AVC2 207,7469 -#define NPORT_DMODE_ACMALL 208,7508 -#define NPORT_DMODE_ACM0 209,7547 -#define NPORT_DMODE_ACM1 210,7586 -#define NPORT_DMODE_AXMALL 211,7625 -#define NPORT_DMODE_AXM0 212,7664 -#define NPORT_DMODE_AXM1 213,7703 -#define NPORT_DMODE_ABT 214,7742 -#define NPORT_DMODE_AVCC1 215,7781 -#define NPORT_DMODE_AVAB1 216,7820 -#define NPORT_DMODE_ALG3V0 217,7859 -#define NPORT_DMODE_A1562 218,7898 -#define NPORT_DMODE_ESACK 219,7937 -#define NPORT_DMODE_EASACK 220,7976 -#define NPORT_DMODE_CWMASK 221,8015 -#define NPORT_DMODE_CHMASK 222,8054 -#define NPORT_DMODE_CSMASK 223,8093 -#define NPORT_DMODE_SENDIAN 224,8132 -struct newport_cregs newport_cregs232,8245 -#define NPORT_CMODE_SM0 244,8476 -#define NPORT_CMODE_SM1 245,8513 -#define NPORT_CMODE_SM2 246,8550 -#define NPORT_CMODE_SM3 247,8587 -#define NPORT_CMODE_SM4 248,8624 -#define NPORT_CMODE_CMSK 249,8661 -#define NPORT_CFG_G32MD 253,8745 -#define NPORT_CFG_BWIDTH 254,8782 -#define NPORT_CFG_ERCVR 255,8819 -#define NPORT_CFG_BDMSK 256,8856 -#define NPORT_CFG_BFAINT 257,8893 -#define NPORT_CFG_GDMSK 258,8930 -#define NPORT_CFG_GD0 259,8967 -#define NPORT_CFG_GD1 260,9004 -#define NPORT_CFG_GD2 261,9041 -#define NPORT_CFG_GD3 262,9078 -#define NPORT_CFG_GD4 263,9115 -#define NPORT_CFG_GFAINT 264,9152 -#define NPORT_CFG_TOMSK 265,9189 -#define NPORT_CFG_VRMSK 266,9226 -#define NPORT_CFG_FBTYP 267,9263 -#define NPORT_STAT_VERS 271,9339 -#define NPORT_STAT_GBUSY 272,9376 -#define NPORT_STAT_BBUSY 273,9413 -#define NPORT_STAT_VRINT 274,9450 -#define NPORT_STAT_VIDINT 275,9487 -#define NPORT_STAT_GLMSK 276,9524 -#define NPORT_STAT_BLMSK 277,9561 -#define NPORT_STAT_BFIRQ 278,9598 -#define NPORT_STAT_GFIRQ 279,9635 -struct newport_regs newport_regs285,9716 -} newport_ctx;newport_ctx355,11409 -#define VC2_REGADDR_INDEX 358,11462 -#define VC2_REGADDR_IREG 359,11504 -#define VC2_REGADDR_RAM 360,11546 -#define VC2_PROTOCOL 361,11588 -#define VC2_VLINET_ADDR 363,11667 -#define VC2_VFRAMET_ADDR 364,11704 -#define VC2_CGLYPH_ADDR 365,11741 -#define VC2_IREG_VENTRY 368,11823 -#define VC2_IREG_CENTRY 369,11859 -#define VC2_IREG_CURSX 370,11895 -#define VC2_IREG_CURSY 371,11931 -#define VC2_IREG_CCURSX 372,11967 -#define VC2_IREG_DENTRY 373,12003 -#define VC2_IREG_SLEN 374,12039 -#define VC2_IREG_RADDR 375,12075 -#define VC2_IREG_VFPTR 376,12111 -#define VC2_IREG_VLSPTR 377,12147 -#define VC2_IREG_VLIR 378,12183 -#define VC2_IREG_VLCTR 379,12219 -#define VC2_IREG_CTPTR 380,12255 -#define VC2_IREG_WCURSY 381,12291 -#define VC2_IREG_DFPTR 382,12327 -#define VC2_IREG_DLTPTR 383,12363 -#define VC2_IREG_CONTROL 384,12399 -#define VC2_IREG_CONFIG 385,12435 -extern __inline__ void newport_vc2_set(387,12472 -extern __inline__ unsigned short newport_vc2_get(395,12771 -#define VC2_CTRL_EVIRQ 407,13235 -#define VC2_CTRL_EDISP 408,13269 -#define VC2_CTRL_EVIDEO 409,13303 -#define VC2_CTRL_EDIDS 410,13337 -#define VC2_CTRL_ECURS 411,13371 -#define VC2_CTRL_EGSYNC 412,13405 -#define VC2_CTRL_EILACE 413,13439 -#define VC2_CTRL_ECDISP 414,13473 -#define VC2_CTRL_ECCURS 415,13507 -#define VC2_CTRL_ECG64 416,13541 -#define VC2_CTRL_GLSEL 417,13575 -#define NCMAP_REGADDR_AREG 420,13654 -#define NCMAP_REGADDR_ALO 421,13694 -#define NCMAP_REGADDR_AHI 422,13734 -#define NCMAP_REGADDR_PBUF 423,13774 -#define NCMAP_REGADDR_CREG 424,13814 -#define NCMAP_REGADDR_SREG 425,13854 -#define NCMAP_REGADDR_RREG 426,13894 -#define NCMAP_PROTOCOL 427,13934 -static __inline__ void newport_cmap_setaddr(429,14003 -static __inline__ void newport_cmap_setrgb(440,14400 -#define BUSY_TIMEOUT 452,14684 -static __inline__ int newport_wait(453,14712 -static __inline__ int newport_bfwait(465,14900 -#define DCB_DATAWIDTH_4 490,15457 -#define DCB_DATAWIDTH_1 491,15485 -#define DCB_DATAWIDTH_2 492,15513 -#define DCB_DATAWIDTH_3 493,15541 -#define DCB_ENDATAPACK 496,15645 -#define DCB_ENCRSINC 499,15740 -#define DCB_CRS_SHIFT 502,15854 -#define DCB_ADDR_SHIFT 505,15932 -#define DCB_VC2 506,15959 -#define DCB_CMAP_ALL 507,16007 -#define DCB_CMAP0 508,16055 -#define DCB_CMAP1 509,16103 -#define DCB_XMAP_ALL 510,16151 -#define DCB_XMAP0 511,16199 -#define DCB_XMAP1 512,16247 -#define DCB_BT445 513,16295 -#define DCB_VCC1 514,16343 -#define DCB_VAB1 515,16391 -#define DCB_LG3_BDVERS0 516,16439 -#define DCB_LG3_ICS1562 517,16487 -#define DCB_RESERVED 518,16535 -#define DCB_ENSYNCACK 521,16613 -#define DCB_ENASYNCACK 522,16648 -#define DCB_CSWIDTH_SHIFT 524,16684 -#define DCB_CSHOLD_SHIFT 525,16713 -#define DCB_CSSETUP_SHIFT 526,16742 -# define XM9_CRS_CONFIG 530,16859 -# define XM9_PUPMODE 531,16917 -# define XM9_ODD_PIXEL 532,16963 -# define XM9_8_BITPLANES 533,17009 -# define XM9_SLOW_DCB 534,17055 -# define XM9_VIDEO_RGBMAP_MASK 535,17101 -# define XM9_EXPRESS_VIDEO 536,17147 -# define XM9_VIDEO_OPTION 537,17193 -# define XM9_CRS_REVISION 538,17239 -# define XM9_CRS_FIFO_AVAIL 539,17297 -# define XM9_FIFO_0_AVAIL 540,17355 -# define XM9_FIFO_1_AVAIL 541,17394 -# define XM9_FIFO_2_AVAIL 542,17433 -# define XM9_FIFO_3_AVAIL 543,17472 -# define XM9_FIFO_FULL 544,17511 -# define XM9_FIFO_EMPTY 545,17565 -# define XM9_CRS_CURS_CMAP_MSB 546,17619 -# define XM9_CRS_PUP_CMAP_MSB 547,17677 -# define XM9_CRS_MODE_REG_DATA 548,17735 -# define XM9_CRS_MODE_REG_INDEX 549,17793 -#define DCB_CYCLES(DCB_CYCLES552,17853 -#define W_DCB_XMAP9_PROTOCOL 557,18037 -#define WSLOW_DCB_XMAP9_PROTOCOL 558,18093 -#define WAYSLOW_DCB_XMAP9_PROTOCOL 559,18149 -#define R_DCB_XMAP9_PROTOCOL 560,18207 -xmap9FIFOWait 563,18287 -xmap9SetModeReg 574,18560 -#define BT445_PROTOCOL 588,19204 -#define BT445_CSR_ADDR_REG 590,19247 -#define BT445_CSR_REVISION 591,19295 -#define BT445_REVISION_REG 593,19344 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/trident.h,3716 -#define TRIDENTFB_DEBUG 3,25 -#define debug(debug7,79 -#define debug(debug9,159 -#define output(output12,189 -#define Kb 14,244 -#define Mb 15,262 -#define CYBER9320 19,333 -#define CYBER9388 20,358 -#define CYBER9382 21,383 -#define CYBER9385 22,448 -#define CYBER9397 23,488 -#define CYBER9397DVD 24,513 -#define CYBER9520 25,541 -#define CYBER9525DVD 26,566 -#define TGUI9660 27,594 -#define IMAGE975 28,618 -#define IMAGE985 29,642 -#define BLADE3D 30,666 -#define CYBERBLADEE4 31,690 -#define CYBERBLADEi7 32,718 -#define CYBERBLADEi7D 33,746 -#define CYBERBLADEi1 34,775 -#define CYBERBLADEi1D 35,803 -#define CYBERBLADEAi1 36,832 -#define CYBERBLADEAi1D 37,861 -#define CYBERBLADEXPAi1 38,891 -#define CYBERBLADEXPm8 39,922 -#define CYBERBLADEXPm16 40,953 -#define IMAGE 43,1013 -#define BLADE 44,1029 -#define XP 45,1045 -#define is_image(is_image47,1059 -#define is_xp(is_xp48,1081 -#define is_blade(is_blade52,1190 -#define LCD_STRETCH 62,1481 -#define LCD_CENTER 63,1503 -#define LCD_BIOS 64,1524 -#define DISPLAY_CRT 67,1564 -#define DISPLAY_FP 68,1586 -#define flatpanel 70,1608 -#define SPR 73,1679 -#define RevisionID 76,1755 -#define OldOrNew 77,1779 -#define ConfPort1 78,1802 -#define ConfPort2 79,1825 -#define NewMode2 80,1848 -#define NewMode1 81,1870 -#define Protection 82,1892 -#define MCLKLow 83,1916 -#define MCLKHigh 84,1937 -#define ClockLow 85,1959 -#define ClockHigh 86,1981 -#define SSetup 87,2004 -#define SKey 88,2024 -#define SPKey 89,2042 -#define CRTHTotal 92,2074 -#define CRTHDispEnd 93,2097 -#define CRTHBlankStart 94,2122 -#define CRTHBlankEnd 95,2150 -#define CRTHSyncStart 96,2176 -#define CRTHSyncEnd 97,2203 -#define CRTVTotal 99,2229 -#define CRTVDispEnd 100,2252 -#define CRTVBlankStart 101,2277 -#define CRTVBlankEnd 102,2305 -#define CRTVSyncStart 103,2331 -#define CRTVSyncEnd 104,2358 -#define CRTOverflow 106,2384 -#define CRTPRowScan 107,2409 -#define CRTMaxScanLine 108,2434 -#define CRTModeControl 109,2462 -#define CRTLineCompare 110,2490 -#define StartAddrHigh 113,2529 -#define StartAddrLow 114,2556 -#define Offset 115,2582 -#define Underline 116,2602 -#define CRTCMode 117,2625 -#define CRTCModuleTest 118,2647 -#define FIFOControl 119,2675 -#define LinearAddReg 120,2700 -#define DRAMTiming 121,2726 -#define New32 122,2750 -#define RAMDACTiming 123,2769 -#define CRTHiOrd 124,2795 -#define AddColReg 125,2817 -#define InterfaceSel 126,2840 -#define HorizOverflow 127,2866 -#define GETest 128,2893 -#define Performance 129,2913 -#define GraphEngReg 130,2938 -#define I2C 131,2963 -#define PixelBusReg 132,2980 -#define PCIReg 133,3005 -#define DRAMControl 134,3025 -#define MiscContReg 135,3050 -#define CursorXLow 136,3075 -#define CursorXHigh 137,3099 -#define CursorYLow 138,3124 -#define CursorYHigh 139,3148 -#define CursorLocLow 140,3173 -#define CursorLocHigh 141,3199 -#define CursorXOffset 142,3226 -#define CursorYOffset 143,3253 -#define CursorFG1 144,3280 -#define CursorFG2 145,3303 -#define CursorFG3 146,3326 -#define CursorFG4 147,3349 -#define CursorBG1 148,3372 -#define CursorBG2 149,3395 -#define CursorBG3 150,3418 -#define CursorBG4 151,3441 -#define CursorControl 152,3464 -#define PCIRetry 153,3491 -#define PreEndControl 154,3513 -#define PreEndFetch 155,3540 -#define PCIMaster 156,3565 -#define Enhancement0 157,3588 -#define NewEDO 158,3614 -#define TVinterface 159,3634 -#define TVMode 160,3659 -#define ClockControl 161,3679 -#define MiscExtFunc 165,3717 -#define PowerStatus 166,3742 -#define MiscIntContReg 167,3767 -#define CyberControl 168,3795 -#define CyberEnhance 169,3821 -#define FPConfig 170,3847 -#define VertStretch 171,3873 -#define HorStretch 172,3899 -#define BiosMode 173,3925 -#define BiosReg 174,3951 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/tx3912.h,1226 -#define VidCtrl1 14,370 -#define VidCtrl2 15,408 -#define VidCtrl3 16,446 -#define VidCtrl4 17,484 -#define VidCtrl5 18,522 -#define VidCtrl6 19,560 -#define VidCtrl7 20,598 -#define VidCtrl8 21,636 -#define VidCtrl9 22,674 -#define VidCtrl10 23,712 -#define VidCtrl11 24,750 -#define VidCtrl12 25,788 -#define VidCtrl13 26,826 -#define VidCtrl14 27,864 -#define LINECNT 30,934 -#define LINECNT_SHIFT 31,969 -#define LOADDLY 32,996 -#define BAUDVAL 33,1028 -#define BAUDVAL_SHIFT 34,1102 -#define VIDDONEVAL 35,1129 -#define VIDDONEVAL_SHIFT 36,1222 -#define ENFREEZEFRAME 37,1250 -#define TX3912_VIDCTRL1_BITSEL_MASK 38,1281 -#define TX3912_VIDCTRL1_2BIT_GRAY 39,1328 -#define TX3912_VIDCTRL1_4BIT_GRAY 40,1373 -#define TX3912_VIDCTRL1_8BIT_COLOR 41,1418 -#define BITSEL_SHIFT 42,1464 -#define DISPSPLIT 43,1490 -#define DISP8 44,1521 -#define DFMODE 45,1552 -#define INVVID 46,1583 -#define DISPON 47,1614 -#define ENVID 48,1645 -#define VIDRATE_MASK 51,1708 -#define VIDRATE_SHIFT 52,1743 -#define HORZVAL_MASK 53,1770 -#define HORZVAL_SHIFT 54,1805 -#define LINEVAL_MASK 55,1832 -#define TX3912_VIDCTRL3_VIDBANK_MASK 58,1899 -#define TX3912_VIDCTRL3_VIDBASEHI_MASK 59,1950 -#define TX3912_VIDCTRL4_VIDBASELO_MASK 62,2033 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/tgafb.h,3963 -#define TGAFB_H14,391 -#define TGA_TYPE_8PLANE 20,454 -#define TGA_TYPE_24PLANE 21,482 -#define TGA_TYPE_24PLUSZ 22,510 -#define TGA_ROM_OFFSET 28,578 -#define TGA_REGS_OFFSET 29,613 -#define TGA_8PLANE_FB_OFFSET 30,649 -#define TGA_24PLANE_FB_OFFSET 31,689 -#define TGA_24PLUSZ_FB_OFFSET 32,730 -#define TGA_FOREGROUND_REG 34,772 -#define TGA_BACKGROUND_REG 35,807 -#define TGA_PLANEMASK_REG 36,842 -#define TGA_PIXELMASK_ONESHOT_REG 37,876 -#define TGA_MODE_REG 38,917 -#define TGA_RASTEROP_REG 39,947 -#define TGA_PIXELSHIFT_REG 40,980 -#define TGA_DEEP_REG 41,1015 -#define TGA_PIXELMASK_REG 42,1045 -#define TGA_CURSOR_BASE_REG 43,1079 -#define TGA_HORIZ_REG 44,1115 -#define TGA_VERT_REG 45,1146 -#define TGA_BASE_ADDR_REG 46,1176 -#define TGA_VALID_REG 47,1210 -#define TGA_CURSOR_XY_REG 48,1241 -#define TGA_INTR_STAT_REG 49,1275 -#define TGA_DATA_REG 50,1309 -#define TGA_RAMDAC_SETUP_REG 51,1339 -#define TGA_BLOCK_COLOR0_REG 52,1376 -#define TGA_BLOCK_COLOR1_REG 53,1413 -#define TGA_BLOCK_COLOR2_REG 54,1450 -#define TGA_BLOCK_COLOR3_REG 55,1487 -#define TGA_BLOCK_COLOR4_REG 56,1524 -#define TGA_BLOCK_COLOR5_REG 57,1561 -#define TGA_BLOCK_COLOR6_REG 58,1598 -#define TGA_BLOCK_COLOR7_REG 59,1635 -#define TGA_COPY64_SRC 60,1672 -#define TGA_COPY64_DST 61,1704 -#define TGA_CLOCK_REG 62,1736 -#define TGA_RAMDAC_REG 63,1767 -#define TGA_CMD_STAT_REG 64,1799 -#define TGA_HORIZ_ODD 71,1888 -#define TGA_HORIZ_POLARITY 72,1923 -#define TGA_HORIZ_ACT_MSB 73,1962 -#define TGA_HORIZ_BP 74,2000 -#define TGA_HORIZ_SYNC 75,2034 -#define TGA_HORIZ_FP 76,2070 -#define TGA_HORIZ_ACT_LSB 77,2104 -#define TGA_VERT_SE 79,2143 -#define TGA_VERT_POLARITY 80,2176 -#define TGA_VERT_RESERVED 81,2214 -#define TGA_VERT_BP 82,2252 -#define TGA_VERT_SYNC 83,2285 -#define TGA_VERT_FP 84,2320 -#define TGA_VERT_ACTIVE 85,2353 -#define TGA_VALID_VIDEO 87,2391 -#define TGA_VALID_BLANK 88,2422 -#define TGA_VALID_CURSOR 89,2453 -#define TGA_MODE_SBM_8BPP 91,2485 -#define TGA_MODE_SBM_24BPP 92,2518 -#define TGA_MODE_SIMPLE 94,2553 -#define TGA_MODE_SIMPLEZ 95,2584 -#define TGA_MODE_OPAQUE_STIPPLE 96,2615 -#define TGA_MODE_OPAQUE_FILL 97,2653 -#define TGA_MODE_TRANSPARENT_STIPPLE 98,2688 -#define TGA_MODE_TRANSPARENT_FILL 99,2730 -#define TGA_MODE_BLOCK_STIPPLE 100,2769 -#define TGA_MODE_BLOCK_FILL 101,2806 -#define TGA_MODE_COPY 102,2840 -#define TGA_MODE_DMA_READ_COPY_ND 103,2869 -#define TGA_MODE_DMA_READ_COPY_D 104,2908 -#define TGA_MODE_DMA_WRITE_COPY 105,2946 -#define TGA_PLL_BASE_FREQ 112,3047 -#define TGA_PLL_MAX_FREQ 113,3092 -#define BT485_READ_BIT 120,3196 -#define BT485_WRITE_BIT 121,3226 -#define BT485_ADDR_PAL_WRITE 123,3258 -#define BT485_DATA_PAL 124,3293 -#define BT485_PIXEL_MASK 125,3323 -#define BT485_ADDR_PAL_READ 126,3354 -#define BT485_ADDR_CUR_WRITE 127,3388 -#define BT485_DATA_CUR 128,3423 -#define BT485_CMD_0 129,3453 -#define BT485_ADDR_CUR_READ 130,3480 -#define BT485_CMD_1 131,3514 -#define BT485_CMD_2 132,3541 -#define BT485_STATUS 133,3568 -#define BT485_CMD_3 134,3596 -#define BT485_CUR_RAM 135,3623 -#define BT485_CUR_LOW_X 136,3652 -#define BT485_CUR_HIGH_X 137,3683 -#define BT485_CUR_LOW_Y 138,3714 -#define BT485_CUR_HIGH_Y 139,3745 -#define BT463_ADDR_LO 146,3848 -#define BT463_ADDR_HI 147,3875 -#define BT463_REG_ACC 148,3902 -#define BT463_PALETTE 149,3929 -#define BT463_CUR_CLR_0 151,3957 -#define BT463_CUR_CLR_1 152,3989 -#define BT463_CMD_REG_0 154,4022 -#define BT463_CMD_REG_1 155,4054 -#define BT463_CMD_REG_2 156,4086 -#define BT463_READ_MASK_0 158,4119 -#define BT463_READ_MASK_1 159,4152 -#define BT463_READ_MASK_2 160,4185 -#define BT463_READ_MASK_3 161,4218 -#define BT463_BLINK_MASK_0 163,4252 -#define BT463_BLINK_MASK_1 164,4286 -#define BT463_BLINK_MASK_2 165,4320 -#define BT463_BLINK_MASK_3 166,4354 -#define BT463_WINDOW_TYPE_BASE 168,4389 -struct tga_par tga_par174,4476 -TGA_WRITE_REG(203,5161 -TGA_READ_REG(209,5268 -BT485_WRITE(215,5371 -BT463_LOAD_ADDR(222,5537 -BT463_WRITE(231,5867 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/mach64.h,29277 -#define REGMACH64_H19,544 -#define CRTC_H_TOTAL_DISP 24,655 -#define CRTC2_H_TOTAL_DISP 25,712 -#define CRTC_H_SYNC_STRT_WID 26,770 -#define CRTC2_H_SYNC_STRT_WID 27,830 -#define CRTC_H_SYNC_STRT 28,891 -#define CRTC2_H_SYNC_STRT 29,923 -#define CRTC_H_SYNC_DLY 30,956 -#define CRTC2_H_SYNC_DLY 31,988 -#define CRTC_H_SYNC_WID 32,1020 -#define CRTC2_H_SYNC_WID 33,1052 -#define CRTC_V_TOTAL_DISP 34,1084 -#define CRTC2_V_TOTAL_DISP 35,1141 -#define CRTC_V_TOTAL 36,1199 -#define CRTC2_V_TOTAL 37,1228 -#define CRTC_V_DISP 38,1258 -#define CRTC2_V_DISP 39,1286 -#define CRTC_V_SYNC_STRT_WID 40,1315 -#define CRTC2_V_SYNC_STRT_WID 41,1375 -#define CRTC_V_SYNC_STRT 42,1436 -#define CRTC2_V_SYNC_STRT 43,1468 -#define CRTC_V_SYNC_WID 44,1501 -#define CRTC2_V_SYNC_WID 45,1533 -#define CRTC_VLINE_CRNT_VLINE 46,1565 -#define CRTC2_VLINE_CRNT_VLINE 47,1626 -#define CRTC_OFF_PITCH 48,1688 -#define CRTC_OFFSET 49,1743 -#define CRTC_PITCH 50,1771 -#define CRTC_INT_CNTL 51,1798 -#define CRTC_GEN_CNTL 52,1852 -#define CRTC_PIX_WIDTH 53,1906 -#define CRTC_FIFO 54,1937 -#define CRTC_EXT_DISP 55,1963 -#define DSP_CONFIG 58,2022 -#define PM_DSP_CONFIG 59,2073 -#define DSP_ON_OFF 60,2143 -#define PM_DSP_ON_OFF 61,2194 -#define TIMER_CONFIG 62,2264 -#define MEM_BUF_CNTL 63,2317 -#define MEM_ADDR_CONFIG 64,2370 -#define CRT_TRAP 67,2450 -#define I2C_CNTL_0 69,2500 -#define OVR_CLR 72,2567 -#define OVR2_CLR 73,2616 -#define OVR_WID_LEFT_RIGHT 74,2665 -#define OVR2_WID_LEFT_RIGHT 75,2723 -#define OVR_WID_TOP_BOTTOM 76,2782 -#define OVR2_WID_TOP_BOTTOM 77,2840 -#define VGA_DSP_CONFIG 80,2928 -#define PM_VGA_DSP_CONFIG 81,2983 -#define VGA_DSP_ON_OFF 82,3056 -#define PM_VGA_DSP_ON_OFF 83,3111 -#define DSP2_CONFIG 84,3184 -#define PM_DSP2_CONFIG 85,3236 -#define DSP2_ON_OFF 86,3307 -#define PM_DSP2_ON_OFF 87,3359 -#define CRTC2_OFF_PITCH 90,3454 -#define CUR_CLR0 93,3533 -#define CUR2_CLR0 94,3582 -#define CUR_CLR1 95,3632 -#define CUR2_CLR1 96,3681 -#define CUR_OFFSET 97,3731 -#define CUR2_OFFSET 98,3782 -#define CUR_HORZ_VERT_POSN 99,3834 -#define CUR2_HORZ_VERT_POSN 100,3892 -#define CUR_HORZ_VERT_OFF 101,3951 -#define CUR2_HORZ_VERT_OFF 102,4008 -#define CONFIG_PANEL_LG 104,4067 -#define GP_IO 107,4150 -#define HW_DEBUG 110,4219 -#define SCRATCH_REG0 113,4296 -#define SCRATCH_REG1 114,4349 -#define SCRATCH_REG2 115,4402 -#define SCRATCH_REG3 116,4455 -#define CLOCK_CNTL 119,4529 -#define CLOCK_SEL_CNTL 120,4580 -#define CONFIG_STAT1 123,4656 -#define CONFIG_STAT2 124,4709 -#define BUS_CNTL 127,4781 -#define LCD_INDEX 129,4831 -#define LCD_DATA 130,4881 -#define EXT_MEM_CNTL 133,4952 -#define MEM_CNTL 134,5005 -#define MEM_VGA_WP_SEL 135,5054 -#define MEM_VGA_RP_SEL 136,5109 -#define I2C_CNTL_1 138,5165 -#define DAC_REGS 141,5235 -#define DAC_W_INDEX 142,5284 -#define DAC_DATA 143,5336 -#define DAC_MASK 144,5385 -#define DAC_R_INDEX 145,5434 -#define DAC_CNTL 146,5486 -#define EXT_DAC_REGS 148,5536 -#define GEN_TEST_CNTL 151,5611 -#define CUSTOM_MACRO_CNTL 154,5686 -#define LCD_GEN_CNTL_LG 156,5744 -#define POWER_MANAGEMENT_LG 158,5801 -#define CONFIG_CNTL 161,5886 -#define CONFIG_CHIP_ID 162,5951 -#define CONFIG_STAT0 163,6006 -#define CRC_SIG 166,6081 -#define CRC2_SIG 167,6130 -#define DST_OFF_PITCH 173,6257 -#define DST_X 174,6311 -#define DST_Y 175,6358 -#define DST_Y_X 176,6405 -#define DST_WIDTH 177,6454 -#define DST_HEIGHT 178,6504 -#define DST_HEIGHT_WIDTH 179,6555 -#define DST_X_WIDTH 180,6611 -#define DST_BRES_LNTH 181,6663 -#define DST_BRES_ERR 182,6717 -#define DST_BRES_INC 183,6770 -#define DST_BRES_DEC 184,6823 -#define DST_CNTL 185,6876 -#define DST_Y_X__ALIAS__ 186,6925 -#define TRAIL_BRES_ERR 187,6981 -#define TRAIL_BRES_INC 188,7036 -#define TRAIL_BRES_DEC 189,7091 -#define LEAD_BRES_LNTH 190,7146 -#define Z_OFF_PITCH 191,7201 -#define Z_CNTL 192,7253 -#define ALPHA_TST_CNTL 193,7301 -#define SECONDARY_STW_EXP 194,7356 -#define SECONDARY_S_X_INC 195,7413 -#define SECONDARY_S_Y_INC 196,7470 -#define SECONDARY_S_START 197,7527 -#define SECONDARY_W_X_INC 198,7584 -#define SECONDARY_W_Y_INC 199,7641 -#define SECONDARY_W_START 200,7698 -#define SECONDARY_T_X_INC 201,7755 -#define SECONDARY_T_Y_INC 202,7812 -#define SECONDARY_T_START 203,7869 -#define SRC_OFF_PITCH 206,7963 -#define SRC_X 207,8017 -#define SRC_Y 208,8064 -#define SRC_Y_X 209,8111 -#define SRC_WIDTH1 210,8160 -#define SRC_HEIGHT1 211,8211 -#define SRC_HEIGHT1_WIDTH1 212,8263 -#define SRC_X_START 213,8321 -#define SRC_Y_START 214,8373 -#define SRC_Y_X_START 215,8425 -#define SRC_WIDTH2 216,8479 -#define SRC_HEIGHT2 217,8530 -#define SRC_HEIGHT2_WIDTH2 218,8582 -#define SRC_CNTL 219,8640 -#define SCALE_OFF 221,8690 -#define SECONDARY_SCALE_OFF 222,8740 -#define TEX_0_OFF 224,8800 -#define TEX_1_OFF 225,8850 -#define TEX_2_OFF 226,8900 -#define TEX_3_OFF 227,8950 -#define TEX_4_OFF 228,9000 -#define TEX_5_OFF 229,9050 -#define TEX_6_OFF 230,9100 -#define TEX_7_OFF 231,9150 -#define SCALE_WIDTH 233,9201 -#define SCALE_HEIGHT 234,9253 -#define TEX_8_OFF 236,9307 -#define TEX_9_OFF 237,9357 -#define TEX_10_OFF 238,9407 -#define S_Y_INC 239,9458 -#define SCALE_PITCH 241,9508 -#define SCALE_X_INC 242,9560 -#define RED_X_INC 244,9613 -#define GREEN_X_INC 245,9663 -#define SCALE_Y_INC 247,9716 -#define SCALE_VACC 248,9768 -#define SCALE_3D_CNTL 249,9819 -#define HOST_DATA0 252,9890 -#define HOST_DATA1 253,9941 -#define HOST_DATA2 254,9992 -#define HOST_DATA3 255,10043 -#define HOST_DATA4 256,10094 -#define HOST_DATA5 257,10145 -#define HOST_DATA6 258,10196 -#define HOST_DATA7 259,10247 -#define HOST_DATA8 260,10298 -#define HOST_DATA9 261,10349 -#define HOST_DATAA 262,10400 -#define HOST_DATAB 263,10451 -#define HOST_DATAC 264,10502 -#define HOST_DATAD 265,10553 -#define HOST_DATAE 266,10604 -#define HOST_DATAF 267,10655 -#define HOST_CNTL 268,10706 -#define BM_HOSTDATA 271,10781 -#define BM_ADDR 272,10833 -#define BM_DATA 273,10882 -#define BM_GUI_TABLE_CMD 274,10931 -#define PAT_REG0 277,11002 -#define PAT_REG1 278,11051 -#define PAT_CNTL 279,11100 -#define SC_LEFT 282,11165 -#define SC_RIGHT 283,11214 -#define SC_LEFT_RIGHT 284,11263 -#define SC_TOP 285,11317 -#define SC_BOTTOM 286,11365 -#define SC_TOP_BOTTOM 287,11415 -#define USR1_DST_OFF_PITCH 290,11486 -#define USR2_DST_OFF_PITCH 291,11544 -#define DP_BKGD_CLR 292,11602 -#define DP_FOG_CLR 293,11654 -#define DP_FRGD_CLR 294,11705 -#define DP_WRITE_MASK 295,11757 -#define DP_CHAIN_MASK 296,11811 -#define DP_PIX_WIDTH 297,11865 -#define DP_MIX 298,11918 -#define DP_SRC 299,11966 -#define DP_FRGD_CLR_MIX 300,12014 -#define DP_FRGD_BKGD_CLR 301,12070 -#define DST_X_Y 304,12168 -#define DST_WIDTH_HEIGHT 305,12217 -#define USR_DST_PICTH 308,12290 -#define DP_SET_GUI_ENGINE2 309,12344 -#define DP_SET_GUI_ENGINE 310,12402 -#define CLR_CMP_CLR 313,12480 -#define CLR_CMP_MASK 314,12532 -#define CLR_CMP_CNTL 315,12585 -#define FIFO_STAT 318,12658 -#define CONTEXT_MASK 320,12709 -#define CONTEXT_LOAD_CNTL 321,12762 -#define GUI_TRAJ_CNTL 324,12841 -#define GUI_STAT 327,12921 -#define TEX_PALETTE_INDEX 329,12971 -#define STW_EXP 330,13028 -#define LOG_MAX_INC 331,13077 -#define S_X_INC 332,13129 -#define S_Y_INC__ALIAS__ 333,13178 -#define SCALE_PITCH__ALIAS__ 335,13235 -#define S_START 337,13296 -#define W_X_INC 338,13345 -#define W_Y_INC 339,13394 -#define W_START 340,13443 -#define T_X_INC 341,13492 -#define T_Y_INC 342,13541 -#define SECONDARY_SCALE_PITCH 344,13591 -#define T_START 346,13653 -#define TEX_SIZE_PITCH 347,13702 -#define TEX_CNTL 348,13757 -#define SECONDARY_TEX_OFFSET 349,13806 -#define TEX_PALETTE 350,13866 -#define SCALE_PITCH_BOTH 352,13919 -#define SECONDARY_SCALE_OFF_ACC 353,13975 -#define SCALE_OFF_ACC 354,14038 -#define SCALE_DST_Y_X 355,14092 -#define COMPOSITE_SHADOW_ID 358,14188 -#define SECONDARY_SCALE_X_INC 360,14248 -#define SPECULAR_RED_X_INC 362,14310 -#define SPECULAR_RED_Y_INC 363,14368 -#define SPECULAR_RED_START 364,14426 -#define SECONDARY_SCALE_HACC 366,14485 -#define SPECULAR_GREEN_X_INC 368,14546 -#define SPECULAR_GREEN_Y_INC 369,14606 -#define SPECULAR_GREEN_START 370,14666 -#define SPECULAR_BLUE_X_INC 371,14726 -#define SPECULAR_BLUE_Y_INC 372,14785 -#define SPECULAR_BLUE_START 373,14844 -#define SCALE_X_INC__ALIAS__ 375,14904 -#define RED_X_INC__ALIAS__ 377,14965 -#define RED_Y_INC 378,15023 -#define RED_START 379,15073 -#define SCALE_HACC 381,15124 -#define SCALE_Y_INC__ALIAS__ 382,15175 -#define GREEN_X_INC__ALIAS__ 384,15236 -#define GREEN_Y_INC 385,15296 -#define SECONDARY_SCALE_Y_INC 387,15349 -#define SECONDARY_SCALE_VACC 388,15410 -#define GREEN_START 390,15471 -#define BLUE_X_INC 391,15523 -#define BLUE_Y_INC 392,15574 -#define BLUE_START 393,15625 -#define Z_X_INC 394,15676 -#define Z_Y_INC 395,15725 -#define Z_START 396,15774 -#define ALPHA_X_INC 397,15823 -#define FOG_X_INC 398,15875 -#define ALPHA_Y_INC 399,15925 -#define FOG_Y_INC 400,15977 -#define ALPHA_START 401,16027 -#define FOG_START 402,16079 -#define OVERLAY_Y_X_START 404,16130 -#define OVERLAY_Y_X_END 405,16188 -#define OVERLAY_VIDEO_KEY_CLR 406,16245 -#define OVERLAY_VIDEO_KEY_MSK 407,16307 -#define OVERLAY_GRAPHICS_KEY_CLR 408,16369 -#define OVERLAY_GRAPHICS_KEY_MSK 409,16433 -#define OVERLAY_KEY_CNTL 410,16497 -#define OVERLAY_SCALE_INC 412,16555 -#define OVERLAY_SCALE_CNTL 413,16612 -#define SCALER_HEIGHT_WIDTH 414,16670 -#define SCALER_TEST 415,16729 -#define SCALER_BUF0_OFFSET 416,16781 -#define SCALER_BUF1_OFFSET 417,16839 -#define SCALE_BUF_PITCH 418,16897 -#define CAPTURE_START_END 420,16954 -#define CAPTURE_X_WIDTH 421,17011 -#define VIDEO_FORMAT 422,17067 -#define VBI_START_END 423,17120 -#define CAPTURE_CONFIG 424,17174 -#define TRIG_CNTL 425,17229 -#define OVERLAY_EXCLUSIVE_HORZ 427,17280 -#define OVERLAY_EXCLUSIVE_VERT 428,17342 -#define VAL_WIDTH 430,17405 -#define CAPTURE_DEBUG 431,17455 -#define VIDEO_SYNC_TEST 432,17509 -#define SNAPSHOT_VH_COUNTS 435,17583 -#define SNAPSHOT_F_COUNT 436,17641 -#define N_VIF_COUNT 437,17697 -#define SNAPSHOT_VIF_COUNT 438,17749 -#define CAPTURE_BUF0_OFFSET 440,17808 -#define CAPTURE_BUF1_OFFSET 441,17867 -#define CAPTURE_BUF_PITCH 442,17926 -#define SNAPSHOT2_VH_COUNTS 445,18001 -#define SNAPSHOT2_F_COUNT 446,18060 -#define N_VIF2_COUNT 447,18117 -#define SNAPSHOT2_VIF_COUNT 448,18170 -#define MPP_CONFIG 450,18230 -#define MPP_STROBE_SEQ 451,18281 -#define MPP_ADDR 452,18336 -#define MPP_DATA 453,18385 -#define TVO_CNTL 454,18434 -#define CRT_HORZ_VERT_LOAD 457,18505 -#define AGP_BASE 460,18574 -#define AGP_CNTL 461,18623 -#define SCALER_COLOUR_CNTL 463,18673 -#define SCALER_H_COEFF0 464,18731 -#define SCALER_H_COEFF1 465,18787 -#define SCALER_H_COEFF2 466,18843 -#define SCALER_H_COEFF3 467,18899 -#define SCALER_H_COEFF4 468,18955 -#define GUI_CMDFIFO_DEBUG 471,19031 -#define GUI_CMDFIFO_DATA 472,19088 -#define GUI_CNTL 473,19144 -#define BM_FRAME_BUF_OFFSET 476,19214 -#define BM_SYSTEM_MEM_ADDR 477,19273 -#define BM_COMMAND 478,19331 -#define BM_STATUS 479,19382 -#define BM_GUI_TABLE 480,19432 -#define BM_SYSTEM_TABLE 481,19485 -#define SCALER_BUF0_OFFSET_U 483,19542 -#define SCALER_BUF0_OFFSET_V 484,19602 -#define SCALER_BUF1_OFFSET_U 485,19662 -#define SCALER_BUF1_OFFSET_V 486,19722 -#define VERTEX_1_S 489,19802 -#define VERTEX_1_T 490,19853 -#define VERTEX_1_W 491,19904 -#define VERTEX_1_SPEC_ARGB 492,19955 -#define VERTEX_1_Z 493,20013 -#define VERTEX_1_ARGB 494,20064 -#define VERTEX_1_X_Y 495,20118 -#define ONE_OVER_AREA 496,20171 -#define VERTEX_2_S 497,20225 -#define VERTEX_2_T 498,20276 -#define VERTEX_2_W 499,20327 -#define VERTEX_2_SPEC_ARGB 500,20378 -#define VERTEX_2_Z 501,20436 -#define VERTEX_2_ARGB 502,20487 -#define VERTEX_2_X_Y 503,20541 -#define ONE_OVER_AREA 504,20594 -#define VERTEX_3_S 505,20648 -#define VERTEX_3_T 506,20699 -#define VERTEX_3_W 507,20750 -#define VERTEX_3_SPEC_ARGB 508,20801 -#define VERTEX_3_Z 509,20859 -#define VERTEX_3_ARGB 510,20910 -#define VERTEX_3_X_Y 511,20964 -#define ONE_OVER_AREA 512,21017 -#define VERTEX_1_S 513,21071 -#define VERTEX_1_T 514,21122 -#define VERTEX_1_W 515,21173 -#define VERTEX_2_S 516,21224 -#define VERTEX_2_T 517,21275 -#define VERTEX_2_W 518,21326 -#define VERTEX_3_SECONDARY_S 519,21377 -#define VERTEX_3_S 520,21437 -#define VERTEX_3_SECONDARY_T 521,21488 -#define VERTEX_3_T 522,21548 -#define VERTEX_3_SECONDARY_W 523,21599 -#define VERTEX_3_W 524,21659 -#define VERTEX_1_SPEC_ARGB 525,21710 -#define VERTEX_2_SPEC_ARGB 526,21768 -#define VERTEX_3_SPEC_ARGB 527,21826 -#define VERTEX_1_Z 528,21884 -#define VERTEX_2_Z 529,21935 -#define VERTEX_3_Z 530,21986 -#define VERTEX_1_ARGB 531,22037 -#define VERTEX_2_ARGB 532,22091 -#define VERTEX_3_ARGB 533,22145 -#define VERTEX_1_X_Y 534,22199 -#define VERTEX_2_X_Y 535,22252 -#define VERTEX_3_X_Y 536,22305 -#define ONE_OVER_AREA_UC 537,22358 -#define SETUP_CNTL 538,22414 -#define VERTEX_1_SECONDARY_S 539,22465 -#define VERTEX_1_SECONDARY_T 540,22525 -#define VERTEX_1_SECONDARY_W 541,22585 -#define VERTEX_2_SECONDARY_S 542,22645 -#define VERTEX_2_SECONDARY_T 543,22705 -#define VERTEX_2_SECONDARY_W 544,22765 -#define GTC_3D_RESET_DELAY 547,22827 -#define CRTC_H_SYNC_NEG 551,22941 -#define CRTC_V_SYNC_NEG 552,22977 -#define CRTC_DBL_SCAN_EN 554,23014 -#define CRTC_INTERLACE_EN 555,23050 -#define CRTC_HSYNC_DIS 556,23087 -#define CRTC_VSYNC_DIS 557,23122 -#define CRTC_CSYNC_EN 558,23157 -#define CRTC_PIX_BY_2_EN 559,23191 -#define CRTC_DISPLAY_DIS 560,23248 -#define CRTC_VGA_XOVERSCAN 561,23284 -#define CRTC_PIX_WIDTH_MASK 563,23323 -#define CRTC_PIX_WIDTH_4BPP 564,23362 -#define CRTC_PIX_WIDTH_8BPP 565,23401 -#define CRTC_PIX_WIDTH_15BPP 566,23440 -#define CRTC_PIX_WIDTH_16BPP 567,23480 -#define CRTC_PIX_WIDTH_24BPP 568,23520 -#define CRTC_PIX_WIDTH_32BPP 569,23560 -#define CRTC_BYTE_PIX_ORDER 571,23601 -#define CRTC_PIX_ORDER_MSN_LSN 572,23640 -#define CRTC_PIX_ORDER_LSN_MSN 573,23682 -#define CRTC_FIFO_LWM 575,23725 -#define VGA_128KAP_PAGING 577,23760 -#define VFC_SYNC_TRISTATE 578,23797 -#define CRTC_LOCK_REGS 579,23834 -#define CRTC_SYNC_TRISTATE 580,23869 -#define CRTC_EXT_DISP_EN 582,23908 -#define CRTC_ENABLE 583,23944 -#define CRTC_DISP_REQ_ENB 584,23976 -#define VGA_ATI_LINEAR 585,24013 -#define CRTC_VSYNC_FALL_EDGE 586,24048 -#define VGA_TEXT_132 587,24088 -#define VGA_XCRT_CNT_EN 588,24121 -#define VGA_CUR_B_TEST 589,24157 -#define CRTC_CRNT_VLINE 591,24193 -#define CRTC_VBLANK 592,24229 -#define DAC_EXT_SEL_RS2 597,24289 -#define DAC_EXT_SEL_RS3 598,24319 -#define DAC_8BIT_EN 599,24349 -#define DAC_PIX_DLY_MASK 600,24381 -#define DAC_PIX_DLY_0NS 601,24417 -#define DAC_PIX_DLY_2NS 602,24453 -#define DAC_PIX_DLY_4NS 603,24489 -#define DAC_BLANK_ADJ_MASK 604,24525 -#define DAC_BLANK_ADJ_0 605,24563 -#define DAC_BLANK_ADJ_1 606,24599 -#define DAC_BLANK_ADJ_2 607,24635 -#define MIX_NOT_DST 612,24699 -#define MIX_0 613,24727 -#define MIX_1 614,24750 -#define MIX_DST 615,24773 -#define MIX_NOT_SRC 616,24798 -#define MIX_XOR 617,24826 -#define MIX_XNOR 618,24851 -#define MIX_SRC 619,24876 -#define MIX_NAND 620,24901 -#define MIX_NOT_SRC_OR_DST 621,24926 -#define MIX_SRC_OR_NOT_DST 622,24960 -#define MIX_OR 623,24994 -#define MIX_AND 624,25018 -#define MIX_SRC_AND_NOT_DST 625,25043 -#define MIX_NOT_SRC_AND_DST 626,25078 -#define MIX_NOR 627,25113 -#define ENGINE_MIN_X 630,25171 -#define ENGINE_MIN_Y 631,25195 -#define ENGINE_MAX_X 632,25219 -#define ENGINE_MAX_Y 633,25246 -#define BUS_FIFO_ERR_ACK 638,25380 -#define BUS_HOST_ERR_ACK 639,25416 -#define GEN_OVR_OUTPUT_EN 642,25492 -#define HWCURSOR_ENABLE 643,25523 -#define GUI_ENGINE_ENABLE 644,25553 -#define BLOCK_WRITE_ENABLE 645,25585 -#define DSP_XCLKS_PER_QW 648,25655 -#define DSP_LOOP_LATENCY 649,25691 -#define DSP_PRECISION 650,25727 -#define DSP_OFF 653,25798 -#define DSP_ON 654,25827 -#define CLOCK_SEL 657,25892 -#define CLOCK_DIV 658,25916 -#define CLOCK_DIV1 659,25940 -#define CLOCK_DIV2 660,25965 -#define CLOCK_DIV4 661,25990 -#define CLOCK_STROBE 662,26015 -#define PLL_WR_EN 663,26042 -#define MPLL_CNTL 666,26094 -#define VPLL_CNTL 667,26118 -#define PLL_REF_DIV 668,26142 -#define PLL_GEN_CNTL 669,26168 -#define MCLK_FB_DIV 670,26195 -#define PLL_VCLK_CNTL 671,26221 -#define VCLK_POST_DIV 672,26249 -#define VCLK0_FB_DIV 673,26277 -#define VCLK1_FB_DIV 674,26304 -#define VCLK2_FB_DIV 675,26331 -#define VCLK3_FB_DIV 676,26358 -#define PLL_EXT_CNTL 677,26385 -#define DLL_CNTL 678,26412 -#define DLL1_CNTL 679,26435 -#define VFC_CNTL 680,26459 -#define PLL_TEST_CNTL 681,26482 -#define PLL_TEST_COUNT 682,26510 -#define LVDS_CNTL0 683,26539 -#define LVDS_CNTL1 684,26564 -#define AGP1_CNTL 685,26589 -#define AGP2_CNTL 686,26613 -#define DLL2_CNTL 687,26637 -#define SCLK_FB_DIV 688,26661 -#define SPLL_CNTL1 689,26687 -#define SPLL_CNTL2 690,26712 -#define APLL_STRAPS 691,26737 -#define EXT_VPLL_CNTL 692,26763 -#define EXT_VPLL_REF_DIV 693,26791 -#define EXT_VPLL_FB_DIV 694,26821 -#define EXT_VPLL_MSB 695,26851 -#define HTOTAL_CNTL 696,26878 -#define BYTE_CLK_CNTL 697,26904 -#define TV_PLL_CNTL1 698,26932 -#define TV_PLL_CNTL2 699,26959 -#define TV_PLL_CNTL 700,26986 -#define EXT_TV_PLL 701,27012 -#define V2PLL_CNTL 702,27037 -#define PLL_V2CLK_CNTL 703,27062 -#define EXT_V2PLL_REF_DIV 704,27091 -#define EXT_V2PLL_FB_DIV 705,27122 -#define EXT_V2PLL_MSB 706,27152 -#define HTOTAL2_CNTL 707,27180 -#define PLL_YCLK_CNTL 708,27207 -#define PM_DYN_CLK_CNTL 709,27235 -#define PLL_PC_GAIN 712,27296 -#define PLL_VC_GAIN 713,27322 -#define PLL_DUTY_CYC 714,27348 -#define PLL_OVERRIDE 715,27375 -#define PLL_MCLK_RST 716,27402 -#define OSC_EN 717,27429 -#define EXT_CLK_EN 718,27451 -#define MCLK_SRC_SEL 719,27476 -#define EXT_CLK_CNTL 720,27503 -#define VCLK_SRC_SEL 721,27530 -#define PLL_VCLK_RST 722,27557 -#define VCLK_INVERT 723,27584 -#define VCLK0_POST 724,27610 -#define VCLK1_POST 725,27635 -#define VCLK2_POST 726,27660 -#define VCLK3_POST 727,27685 -#define APERTURE_4M_ENABLE 730,27748 -#define APERTURE_8M_ENABLE 731,27777 -#define VGA_APERTURE_ENABLE 732,27806 -#define CFG_BUS_TYPE 735,27884 -#define CFG_MEM_TYPE 736,27917 -#define CFG_INIT_DAC_TYPE 737,27950 -#define CFG_MEM_TYPE_xT 740,28039 -#define ISA 742,28076 -#define EISA 743,28092 -#define LOCAL_BUS 744,28109 -#define PCI 745,28130 -#define DRAMx4 748,28177 -#define VRAMx16 749,28196 -#define VRAMx16ssr 750,28216 -#define DRAMx16 751,28238 -#define GraphicsDRAMx16 752,28258 -#define EnhancedVRAMx16 753,28285 -#define EnhancedVRAMx16ssr 754,28312 -#define DRAM 757,28380 -#define EDO 758,28397 -#define PSEUDO_EDO 759,28413 -#define SDRAM 760,28435 -#define SGRAM 761,28453 -#define WRAM 762,28471 -#define DAC_INTERNAL 764,28489 -#define DAC_IBMRGB514 765,28516 -#define DAC_ATI68875 766,28544 -#define DAC_TVP3026_A 767,28571 -#define DAC_BT476 768,28599 -#define DAC_BT481 769,28623 -#define DAC_ATT20C491 770,28647 -#define DAC_SC15026 771,28675 -#define DAC_MU9C1880 772,28701 -#define DAC_IMSG174 773,28728 -#define DAC_ATI68860_B 774,28754 -#define DAC_ATI68860_C 775,28783 -#define DAC_TVP3026_B 776,28812 -#define DAC_STG1700 777,28840 -#define DAC_ATT498 778,28866 -#define DAC_STG1702 779,28891 -#define DAC_SC15021 780,28917 -#define DAC_ATT21C498 781,28943 -#define DAC_STG1703 782,28971 -#define DAC_CH8398 783,28997 -#define DAC_ATT20C408 784,29022 -#define CLK_ATI18818_0 786,29051 -#define CLK_ATI18818_1 787,29077 -#define CLK_STG1703 788,29103 -#define CLK_CH8398 789,29126 -#define CLK_INTERNAL 790,29148 -#define CLK_ATT20C408 791,29172 -#define CLK_IBMRGB514 792,29197 -#define MEM_SIZE_ALIAS 795,29257 -#define MEM_SIZE_512K 796,29292 -#define MEM_SIZE_1M 797,29326 -#define MEM_SIZE_2M 798,29358 -#define MEM_SIZE_4M 799,29390 -#define MEM_SIZE_6M 800,29422 -#define MEM_SIZE_8M 801,29454 -#define MEM_SIZE_ALIAS_GTB 802,29486 -#define MEM_SIZE_2M_GTB 803,29524 -#define MEM_SIZE_4M_GTB 804,29560 -#define MEM_SIZE_6M_GTB 805,29596 -#define MEM_SIZE_8M_GTB 806,29632 -#define MEM_BNDRY 807,29668 -#define MEM_BNDRY_0K 808,29698 -#define MEM_BNDRY_256K 809,29731 -#define MEM_BNDRY_512K 810,29766 -#define MEM_BNDRY_1M 811,29801 -#define MEM_BNDRY_EN 812,29834 -#define PCI_ATI_VENDOR_ID 815,29892 -#define CFG_CHIP_TYPE 819,29967 -#define CFG_CHIP_CLASS 820,30001 -#define CFG_CHIP_REV 821,30036 -#define CFG_CHIP_MAJOR 822,30069 -#define CFG_CHIP_FND_ID 823,30104 -#define CFG_CHIP_MINOR 824,30140 -#define GX_CHIP_ID 830,30240 -#define CX_CHIP_ID 831,30292 -#define GX_PCI_ID 833,30345 -#define CX_PCI_ID 834,30398 -#define CT_CHIP_ID 837,30474 -#define ET_CHIP_ID 838,30526 -#define VT_CHIP_ID 841,30618 -#define VU_CHIP_ID 842,30670 -#define VV_CHIP_ID 843,30724 -#define LB_CHIP_ID 846,30828 -#define LD_CHIP_ID 847,30877 -#define LG_CHIP_ID 848,30921 -#define LI_CHIP_ID 849,30961 -#define LP_CHIP_ID 850,31005 -#define LT_CHIP_ID 851,31049 -#define XL_CHIP_ID 852,31089 -#define GT_CHIP_ID 853,31131 -#define GU_CHIP_ID 854,31173 -#define GV_CHIP_ID 855,31223 -#define GW_CHIP_ID 856,31269 -#define GZ_CHIP_ID 857,31315 -#define GB_CHIP_ID 858,31361 -#define GD_CHIP_ID 859,31422 -#define GI_CHIP_ID 860,31481 -#define GP_CHIP_ID 861,31539 -#define GQ_CHIP_ID 862,31602 -#define LM_CHIP_ID 863,31668 -#define LN_CHIP_ID 864,31718 -#define MACH64_ASIC_NEC_VT_A3 868,31804 -#define MACH64_ASIC_NEC_VT_A4 869,31840 -#define MACH64_ASIC_SGS_VT_A4 870,31876 -#define MACH64_ASIC_SGS_VT_B1S1 871,31912 -#define MACH64_ASIC_SGS_GT_B1S1 872,31950 -#define MACH64_ASIC_SGS_GT_B1S2 873,31988 -#define MACH64_ASIC_UMC_GT_B2U1 874,32026 -#define MACH64_ASIC_UMC_GT_B2U2 875,32064 -#define MACH64_ASIC_UMC_VT_B2U3 876,32102 -#define MACH64_ASIC_UMC_GT_B2U3 877,32140 -#define MACH64_ASIC_UMC_R3B_D_P_A1 878,32178 -#define MACH64_ASIC_UMC_R3B_D_P_A2 879,32218 -#define MACH64_ASIC_UMC_R3B_D_P_A3 880,32258 -#define MACH64_ASIC_UMC_R3B_D_P_A4 881,32298 -#define MACH64_FND_SGS 884,32362 -#define MACH64_FND_NEC 885,32388 -#define MACH64_FND_UMC 886,32414 -#define MACH64_UNKNOWN 889,32465 -#define MACH64_GX 890,32491 -#define MACH64_CX 891,32512 -#define MACH64_CT 892,32533 -#define MACH64_ET 893,32554 -#define MACH64_VT 894,32575 -#define MACH64_GT 895,32596 -#define DST_X_RIGHT_TO_LEFT 898,32652 -#define DST_X_LEFT_TO_RIGHT 899,32682 -#define DST_Y_BOTTOM_TO_TOP 900,32712 -#define DST_Y_TOP_TO_BOTTOM 901,32742 -#define DST_X_MAJOR 902,32772 -#define DST_Y_MAJOR 903,32795 -#define DST_X_TILE 904,32818 -#define DST_Y_TILE 905,32840 -#define DST_LAST_PEL 906,32865 -#define DST_POLYGON_ENABLE 907,32892 -#define DST_24_ROTATION_ENABLE 908,32924 -#define SRC_PATTERN_ENABLE 911,32995 -#define SRC_ROTATION_ENABLE 912,33025 -#define SRC_LINEAR_ENABLE 913,33056 -#define SRC_BYTE_ALIGN 914,33085 -#define SRC_LINE_X_RIGHT_TO_LEFT 915,33112 -#define SRC_LINE_X_LEFT_TO_RIGHT 916,33147 -#define HOST_BYTE_ALIGN 919,33221 -#define PAT_MONO_8x8_ENABLE 922,33288 -#define PAT_CLR_4x2_ENABLE 923,33327 -#define PAT_CLR_8x1_ENABLE 924,33365 -#define DP_CHAIN_4BPP 927,33443 -#define DP_CHAIN_7BPP 928,33473 -#define DP_CHAIN_8BPP 929,33503 -#define DP_CHAIN_8BPP_RGB 930,33533 -#define DP_CHAIN_15BPP 931,33566 -#define DP_CHAIN_16BPP 932,33597 -#define DP_CHAIN_24BPP 933,33628 -#define DP_CHAIN_32BPP 934,33659 -#define DST_1BPP 937,33729 -#define DST_4BPP 938,33749 -#define DST_8BPP 939,33769 -#define DST_15BPP 940,33789 -#define DST_16BPP 941,33810 -#define DST_32BPP 942,33831 -#define SRC_1BPP 943,33852 -#define SRC_4BPP 944,33872 -#define SRC_8BPP 945,33896 -#define SRC_15BPP 946,33920 -#define SRC_16BPP 947,33945 -#define SRC_32BPP 948,33970 -#define HOST_1BPP 949,33995 -#define HOST_4BPP 950,34016 -#define HOST_8BPP 951,34043 -#define HOST_15BPP 952,34070 -#define HOST_16BPP 953,34098 -#define HOST_32BPP 954,34126 -#define BYTE_ORDER_MSB_TO_LSB 955,34154 -#define BYTE_ORDER_LSB_TO_MSB 956,34186 -#define BKGD_MIX_NOT_D 959,34259 -#define BKGD_MIX_ZERO 960,34286 -#define BKGD_MIX_ONE 961,34312 -#define BKGD_MIX_D 962,34337 -#define BKGD_MIX_NOT_S 963,34360 -#define BKGD_MIX_D_XOR_S 964,34387 -#define BKGD_MIX_NOT_D_XOR_S 965,34415 -#define BKGD_MIX_S 966,34447 -#define BKGD_MIX_NOT_D_OR_NOT_S 967,34470 -#define BKGD_MIX_D_OR_NOT_S 968,34505 -#define BKGD_MIX_NOT_D_OR_S 969,34536 -#define BKGD_MIX_D_OR_S 970,34568 -#define BKGD_MIX_D_AND_S 971,34597 -#define BKGD_MIX_NOT_D_AND_S 972,34626 -#define BKGD_MIX_D_AND_NOT_S 973,34659 -#define BKGD_MIX_NOT_D_AND_NOT_S 974,34692 -#define BKGD_MIX_D_PLUS_S_DIV2 975,34728 -#define FRGD_MIX_NOT_D 976,34765 -#define FRGD_MIX_ZERO 977,34792 -#define FRGD_MIX_ONE 978,34824 -#define FRGD_MIX_D 979,34855 -#define FRGD_MIX_NOT_S 980,34884 -#define FRGD_MIX_D_XOR_S 981,34917 -#define FRGD_MIX_NOT_D_XOR_S 982,34951 -#define FRGD_MIX_S 983,34989 -#define FRGD_MIX_NOT_D_OR_NOT_S 984,35018 -#define FRGD_MIX_D_OR_NOT_S 985,35059 -#define FRGD_MIX_NOT_D_OR_S 986,35096 -#define FRGD_MIX_D_OR_S 987,35133 -#define FRGD_MIX_D_AND_S 988,35167 -#define FRGD_MIX_NOT_D_AND_S 989,35201 -#define FRGD_MIX_D_AND_NOT_S 990,35239 -#define FRGD_MIX_NOT_D_AND_NOT_S 991,35277 -#define FRGD_MIX_D_PLUS_S_DIV2 992,35318 -#define BKGD_SRC_BKGD_CLR 995,35392 -#define BKGD_SRC_FRGD_CLR 996,35420 -#define BKGD_SRC_HOST 997,35448 -#define BKGD_SRC_BLIT 998,35473 -#define BKGD_SRC_PATTERN 999,35498 -#define FRGD_SRC_BKGD_CLR 1000,35525 -#define FRGD_SRC_FRGD_CLR 1001,35553 -#define FRGD_SRC_HOST 1002,35585 -#define FRGD_SRC_BLIT 1003,35614 -#define FRGD_SRC_PATTERN 1004,35643 -#define MONO_SRC_ONE 1005,35674 -#define MONO_SRC_PATTERN 1006,35698 -#define MONO_SRC_HOST 1007,35731 -#define MONO_SRC_BLIT 1008,35762 -#define COMPARE_FALSE 1011,35832 -#define COMPARE_TRUE 1012,35857 -#define COMPARE_NOT_EQUAL 1013,35881 -#define COMPARE_EQUAL 1014,35909 -#define COMPARE_DESTINATION 1015,35934 -#define COMPARE_SOURCE 1016,35964 -#define FIFO_ERR 1019,36034 -#define CONTEXT_NO_LOAD 1022,36098 -#define CONTEXT_LOAD 1023,36126 -#define CONTEXT_LOAD_AND_DO_FILL 1024,36157 -#define CONTEXT_LOAD_AND_DO_LINE 1025,36198 -#define CONTEXT_EXECUTE 1026,36239 -#define CONTEXT_CMD_DISABLE 1027,36267 -#define ENGINE_IDLE 1030,36342 -#define ENGINE_BUSY 1031,36365 -#define SCISSOR_LEFT_FLAG 1032,36388 -#define SCISSOR_RIGHT_FLAG 1033,36419 -#define SCISSOR_TOP_FLAG 1034,36451 -#define SCISSOR_BOTTOM_FLAG 1035,36481 -#define sioATIEXT 1038,36548 -#define bioATIEXT 1039,36573 -#define ATI2E 1041,36599 -#define ATI32 1042,36620 -#define ATI36 1043,36641 -#define VGAGRA 1046,36703 -#define GRA06 1047,36726 -#define VGASEQ 1050,36780 -#define SEQ02 1051,36803 -#define SEQ04 1052,36824 -#define MACH64_MAX_X 1054,36846 -#define MACH64_MAX_Y 1055,36881 -#define INC_X 1057,36917 -#define INC_Y 1058,36940 -#define RGB16_555 1060,36964 -#define RGB16_565 1061,36990 -#define RGB16_655 1062,37016 -#define RGB16_664 1063,37042 -#define POLY_TEXT_TYPE 1065,37069 -#define IMAGE_TEXT_TYPE 1066,37100 -#define TEXT_TYPE_8_BIT 1067,37132 -#define TEXT_TYPE_16_BIT 1068,37164 -#define POLY_TEXT_TYPE_8 1069,37196 -#define IMAGE_TEXT_TYPE_8 1070,37256 -#define POLY_TEXT_TYPE_16 1071,37318 -#define IMAGE_TEXT_TYPE_16 1072,37380 -#define MACH64_NUM_CLOCKS 1074,37445 -#define MACH64_NUM_FREQS 1075,37474 -#define PWR_MGT_ON 1078,37559 -#define PWR_MGT_MODE_MASK 1079,37590 -#define AUTO_PWR_UP 1080,37627 -#define USE_F32KHZ 1081,37659 -#define TRISTATE_MEM_EN 1082,37690 -#define SELF_REFRESH 1083,37726 -#define PWR_BLON 1084,37759 -#define STANDBY_NOW 1085,37788 -#define SUSPEND_NOW 1086,37820 -#define PWR_MGT_STATUS_MASK 1087,37852 -#define PWR_MGT_STATUS_SUSPEND 1088,37891 -#define PWR_MGT_MODE_PIN 1091,37959 -#define PWR_MGT_MODE_REG 1092,37995 -#define PWR_MGT_MODE_TIMER 1093,38031 -#define PWR_MGT_MODE_PCI 1094,38069 -#define LCD_INDEX_MASK 1099,38161 -#define LCD_DISPLAY_DIS 1100,38196 -#define LCD_SRC_SEL 1101,38232 -#define CRTC2_DISPLAY_DIS 1102,38264 -#define CONFIG_PANEL 1105,38329 -#define LCD_GEN_CTRL 1106,38356 -#define DSTN_CONTROL 1107,38383 -#define HFB_PITCH_ADDR 1108,38410 -#define HORZ_STRETCHING 1109,38439 -#define VERT_STRETCHING 1110,38469 -#define EXT_VERT_STRETCH 1111,38499 -#define LT_GIO 1112,38529 -#define POWER_MANAGEMENT 1113,38551 -#define ZVGPIO 1114,38581 -#define ICON_CLR0 1115,38603 -#define ICON_CLR1 1116,38627 -#define ICON_OFFSET 1117,38651 -#define ICON_HORZ_VERT_POSN 1118,38677 -#define ICON_HORZ_VERT_OFF 1119,38710 -#define ICON2_CLR0 1120,38742 -#define ICON2_CLR1 1121,38767 -#define ICON2_OFFSET 1122,38792 -#define ICON2_HORZ_VERT_POSN 1123,38819 -#define ICON2_HORZ_VERT_OFF 1124,38853 -#define LCD_MISC_CNTL 1125,38886 -#define APC_CNTL 1126,38914 -#define POWER_MANAGEMENT_2 1127,38937 -#define ALPHA_BLENDING 1128,38969 -#define PORTRAIT_GEN_CNTL 1129,38998 -#define APC_CTRL_IO 1130,39029 -#define TEST_IO 1131,39055 -#define TEST_OUTPUTS 1132,39078 -#define DP1_MEM_ACCESS 1133,39105 -#define DP0_MEM_ACCESS 1134,39134 -#define DP0_DEBUG_A 1135,39163 -#define DP0_DEBUG_B 1136,39189 -#define DP1_DEBUG_A 1137,39215 -#define DP1_DEBUG_B 1138,39241 -#define DPCTRL_DEBUG_A 1139,39267 -#define DPCTRL_DEBUG_B 1140,39296 -#define MEMBLK_DEBUG 1141,39325 -#define APC_LUT_AB 1142,39352 -#define APC_LUT_CD 1143,39377 -#define APC_LUT_EF 1144,39402 -#define APC_LUT_GH 1145,39427 -#define APC_LUT_IJ 1146,39452 -#define APC_LUT_KL 1147,39477 -#define APC_LUT_MN 1148,39502 -#define APC_LUT_OP 1149,39527 -#define BIAS_MOD_LEVEL_MASK 1153,39584 -#define BIAS_MOD_LEVEL_SHIFT 1154,39623 -#define BLMOD_EN 1155,39654 -#define BIASMOD_EN 1156,39683 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/maxinefb.h,215 -#define MAXINEFB_IMS332_ADDRESS 15,449 -#define DS5000_xx_ONBOARD_FBMEM_START 21,612 -#define IMS332_REG_CURSOR_RAM 30,911 -#define IMS332_REG_COLOR_PALETTE 35,1048 -#define IMS332_REG_CURSOR_COLOR_PALETTE 36,1127 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/pm3fb.h,50915 -#define PM3FB_H16,497 -#define PM3ResetStatus 22,690 -#define PM3IntEnable 23,725 -#define PM3IntFlags 24,758 -#define PM3InFIFOSpace 25,790 -#define PM3OutFIFOWords 26,825 -#define PM3DMAAddress 27,861 -#define PM3DMACount 28,895 -#define PM3ErrorFlags 29,927 -#define PM3VClkCtl 30,961 -#define PM3TestRegister 31,992 -#define PM3Aperture0 32,1028 -#define PM3Aperture1 33,1061 -#define PM3DMAControl 34,1094 -#define PM3FIFODis 35,1128 -#define PM3ChipConfig 36,1159 -#define PM3AGPControl 37,1193 -#define PM3GPOutDMAAddress 39,1228 -#define PM3PCIFeedbackCount 40,1266 -#define PM3PCIAbortStatus 41,1305 -#define PM3PCIAbortAddress 42,1342 -#define PM3PCIPLLStatus 44,1381 -#define PM3HostTextureAddress 46,1418 -#define PM3TextureDownloadControl 47,1459 -#define PM3TextureOperation 48,1503 -#define PM3LogicalTexturePage 49,1542 -#define PM3TexDMAAddress 50,1583 -#define PM3TexFIFOSpace 51,1619 -#define PM3ByAperture1Mode 56,1801 - #define PM3ByApertureMode_BYTESWAP_ABCD 57,1839 - #define PM3ByApertureMode_BYTESWAP_BADC 58,1889 - #define PM3ByApertureMode_BYTESWAP_CDAB 59,1939 - #define PM3ByApertureMode_BYTESWAP_DCBA 60,1989 - #define PM3ByApertureMode_PATCH_DISABLE 61,2039 - #define PM3ByApertureMode_PATCH_ENABLE 62,2089 - #define PM3ByApertureMode_FORMAT_RAW 63,2138 - #define PM3ByApertureMode_FORMAT_YUYV 64,2185 - #define PM3ByApertureMode_FORMAT_UYVY 65,2233 - #define PM3ByApertureMode_PIXELSIZE_8BIT 66,2281 - #define PM3ByApertureMode_PIXELSIZE_16BIT 67,2331 - #define PM3ByApertureMode_PIXELSIZE_32BIT 68,2382 - #define PM3ByApertureMode_PIXELSIZE_MASK 69,2433 - #define PM3ByApertureMode_EFFECTIVE_STRIDE_1024 70,2504 - #define PM3ByApertureMode_EFFECTIVE_STRIDE_2048 71,2561 - #define PM3ByApertureMode_EFFECTIVE_STRIDE_4096 72,2618 - #define PM3ByApertureMode_EFFECTIVE_STRIDE_8192 73,2675 - #define PM3ByApertureMode_PATCH_OFFSET_X(PM3ByApertureMode_PATCH_OFFSET_X74,2732 - #define PM3ByApertureMode_PATCH_OFFSET_Y(PM3ByApertureMode_PATCH_OFFSET_Y75,2795 - #define PM3ByApertureMode_FRAMEBUFFER 76,2859 - #define PM3ByApertureMode_LOCALBUFFER 77,2908 - #define PM3ByApertureMode_DOUBLE_WRITE_OFF 78,2957 - #define PM3ByApertureMode_DOUBLE_WRITE_1MB 79,3010 - #define PM3ByApertureMode_DOUBLE_WRITE_2MB 80,3063 - #define PM3ByApertureMode_DOUBLE_WRITE_4MB 81,3116 - #define PM3ByApertureMode_DOUBLE_WRITE_8MB 82,3169 - #define PM3ByApertureMode_DOUBLE_WRITE_16MB 83,3222 - #define PM3ByApertureMode_DOUBLE_WRITE_32MB 84,3276 -#define PM3ByAperture2Mode 86,3331 -#define PM3MemCounter 91,3516 -#define PM3MemBypassWriteMask 92,3550 -#define PM3MemScratch 93,3591 -#define PM3LocalMemCaps 94,3625 - #define PM3LocalMemCaps_NoWriteMask 95,3661 -#define PM3LocalMemTimings 96,3735 -#define PM3LocalMemControl 97,3773 -#define PM3LocalMemRefresh 98,3811 -#define PM3LocalMemPowerDown 99,3849 -#define PM3RemoteMemControl 100,3889 -#define PM3ScreenBase 106,4075 -#define PM3ScreenStride 107,4109 -#define PM3HTotal 108,4145 -#define PM3HgEnd 109,4175 -#define PM3HbEnd 110,4204 -#define PM3HsStart 111,4233 -#define PM3HsEnd 112,4264 -#define PM3VTotal 113,4293 -#define PM3VbEnd 114,4323 -#define PM3VsStart 115,4352 -#define PM3VsEnd 116,4383 -#define PM3VideoControl 117,4412 - #define PM3VideoControl_DISABLE 118,4448 - #define PM3VideoControl_ENABLE 119,4491 - #define PM3VideoControl_BLANK_ACTIVE_HIGH 120,4533 - #define PM3VideoControl_BLANK_ACTIVE_LOW 121,4584 - #define PM3VideoControl_LINE_DOUBLE_OFF 122,4634 - #define PM3VideoControl_LINE_DOUBLE_ON 123,4684 - #define PM3VideoControl_HSYNC_FORCE_HIGH 124,4733 - #define PM3VideoControl_HSYNC_ACTIVE_HIGH 125,4783 - #define PM3VideoControl_HSYNC_FORCE_LOW 126,4834 - #define PM3VideoControl_HSYNC_ACTIVE_LOW 127,4884 - #define PM3VideoControl_HSYNC_MASK 128,4934 - #define PM3VideoControl_VSYNC_FORCE_HIGH 129,4993 - #define PM3VideoControl_VSYNC_ACTIVE_HIGH 130,5043 - #define PM3VideoControl_VSYNC_FORCE_LOW 131,5094 - #define PM3VideoControl_VSYNC_ACTIVE_LOW 132,5144 - #define PM3VideoControl_VSYNC_MASK 133,5194 - #define PM3VideoControl_BYTE_DOUBLE_OFF 134,5253 - #define PM3VideoControl_BYTE_DOUBLE_ON 135,5303 - #define PM3VideoControl_BUFFER_SWAP_SYNCON_FRAMEBLANK 136,5352 - #define PM3VideoControl_BUFFER_SWAP_FREE_RUNNING 137,5414 - #define PM3VideoControl_BUFFER_SWAP_LIMITETO_FRAMERATE 138,5471 - #define PM3VideoControl_STEREO_DISABLE 139,5534 - #define PM3VideoControl_STEREO_ENABLE 140,5584 - #define PM3VideoControl_RIGHT_EYE_ACTIVE_HIGH 141,5633 - #define PM3VideoControl_RIGHT_EYE_ACTIVE_LOW 142,5689 - #define PM3VideoControl_VIDEO_EXT_LOW 143,5744 - #define PM3VideoControl_VIDEO_EXT_HIGH 144,5793 - #define PM3VideoControl_SYNC_MODE_INDEPENDENT 145,5843 - #define PM3VideoControl_SYNC_MODE_SYNCTO_VSA 146,5899 - #define PM3VideoControl_SYNC_MODE_SYNCTO_VSB 147,5954 - #define PM3VideoControl_PATCH_DISABLE 148,6009 - #define PM3VideoControl_PATCH_ENABLE 149,6058 - #define PM3VideoControl_PIXELSIZE_8BIT 150,6106 - #define PM3VideoControl_PIXELSIZE_16BIT 151,6156 - #define PM3VideoControl_PIXELSIZE_32BIT 152,6207 - #define PM3VideoControl_DISPLAY_DISABLE 153,6258 - #define PM3VideoControl_DISPLAY_ENABLE 154,6309 - #define PM3VideoControl_PATCH_OFFSET_X(PM3VideoControl_PATCH_OFFSET_X155,6359 - #define PM3VideoControl_PATCH_OFFSET_Y(PM3VideoControl_PATCH_OFFSET_Y156,6423 -#define PM3InterruptLine 157,6487 -#define PM3DisplayData 158,6523 -#define PM3VerticalLineCount 159,6558 -#define PM3FifoControl 160,6598 -#define PM3ScreenBaseRight 161,6633 -#define PM3MiscControl 162,6671 -#define PM3VideoOverlayUpdate 164,6707 - #define PM3VideoOverlayUpdate_DISABLE 165,6748 - #define PM3VideoOverlayUpdate_ENABLE 166,6819 -#define PM3VideoOverlayMode 167,6890 - #define PM3VideoOverlayMode_DISABLE 168,6929 - #define PM3VideoOverlayMode_ENABLE 169,6975 - #define PM3VideoOverlayMode_BUFFERSYNC_MANUAL 170,7020 - #define PM3VideoOverlayMode_BUFFERSYNC_VIDEOSTREAMA 171,7091 - #define PM3VideoOverlayMode_BUFFERSYNC_VIDEOSTREAMB 172,7162 - #define PM3VideoOverlayMode_FIELDPOLARITY_NORMAL 173,7233 - #define PM3VideoOverlayMode_FIELDPOLARITY_INVERT 174,7304 - #define PM3VideoOverlayMode_PIXELSIZE_8BIT 175,7375 - #define PM3VideoOverlayMode_PIXELSIZE_16BIT 176,7446 - #define PM3VideoOverlayMode_PIXELSIZE_32BIT 177,7517 - #define PM3VideoOverlayMode_COLORFORMAT_RGB8888 178,7588 - #define PM3VideoOverlayMode_COLORFORMAT_RGB4444 179,7668 - #define PM3VideoOverlayMode_COLORFORMAT_RGB5551 180,7748 - #define PM3VideoOverlayMode_COLORFORMAT_RGB565 181,7828 - #define PM3VideoOverlayMode_COLORFORMAT_RGB332 182,7908 - #define PM3VideoOverlayMode_COLORFORMAT_BGR8888 183,7988 - #define PM3VideoOverlayMode_COLORFORMAT_BGR4444 184,8060 - #define PM3VideoOverlayMode_COLORFORMAT_BGR5551 185,8132 - #define PM3VideoOverlayMode_COLORFORMAT_BGR565 186,8204 - #define PM3VideoOverlayMode_COLORFORMAT_BGR332 187,8276 - #define PM3VideoOverlayMode_COLORFORMAT_CI8 188,8348 - #define PM3VideoOverlayMode_COLORFORMAT_VUY444 189,8428 - #define PM3VideoOverlayMode_COLORFORMAT_YUV444 190,8509 - #define PM3VideoOverlayMode_COLORFORMAT_VUY422 191,8582 - #define PM3VideoOverlayMode_COLORFORMAT_YUV422 192,8663 - #define PM3VideoOverlayMode_COLORORDER_BGR 193,8736 - #define PM3VideoOverlayMode_COLORORDER_RGB 194,8808 - #define PM3VideoOverlayMode_LINEARCOLOREXT_OFF 195,8880 - #define PM3VideoOverlayMode_LINEARCOLOREXT_ON 196,8952 - #define PM3VideoOverlayMode_FILTER_MASK 197,9024 - #define PM3VideoOverlayMode_FILTER_OFF 198,9096 - #define PM3VideoOverlayMode_FILTER_FULL 199,9168 - #define PM3VideoOverlayMode_FILTER_PARTIAL 200,9240 - #define PM3VideoOverlayMode_DEINTERLACE_OFF 201,9312 - #define PM3VideoOverlayMode_DEINTERLACE_BOB 202,9384 - #define PM3VideoOverlayMode_PATCHMODE_OFF 203,9456 - #define PM3VideoOverlayMode_PATCHMODE_ON 204,9528 - #define PM3VideoOverlayMode_FLIP_VIDEO 205,9600 - #define PM3VideoOverlayMode_FLIP_VIDEOSTREAMA 206,9672 - #define PM3VideoOverlayMode_FLIP_VIDEOSTREAMB 207,9744 - #define PM3VideoOverlayMode_MIRROR_MASK 208,9816 - #define PM3VideoOverlayMode_MIRRORX_OFF 209,9888 - #define PM3VideoOverlayMode_MIRRORX_ON 210,9960 - #define PM3VideoOverlayMode_MIRRORY_OFF 211,10032 - #define PM3VideoOverlayMode_MIRRORY_ON 212,10104 -#define PM3VideoOverlayFifoControl 213,10176 -#define PM3VideoOverlayIndex 214,10221 -#define PM3VideoOverlayBase0 215,10261 -#define PM3VideoOverlayBase1 216,10301 -#define PM3VideoOverlayBase2 217,10341 -#define PM3VideoOverlayStride 218,10381 - #define PM3VideoOverlayStride_STRIDE(PM3VideoOverlayStride_STRIDE219,10422 -#define PM3VideoOverlayWidth 220,10495 - #define PM3VideoOverlayWidth_WIDTH(PM3VideoOverlayWidth_WIDTH221,10566 -#define PM3VideoOverlayHeight 222,10639 - #define PM3VideoOverlayHeight_HEIGHT(PM3VideoOverlayHeight_HEIGHT223,10710 -#define PM3VideoOverlayOrigin 224,10783 - #define PM3VideoOverlayOrigin_XORIGIN(PM3VideoOverlayOrigin_XORIGIN225,10854 - #define PM3VideoOverlayOrigin_YORIGIN(PM3VideoOverlayOrigin_YORIGIN226,10927 -#define PM3VideoOverlayShrinkXDelta 227,11001 - #define PM3VideoOverlayShrinkXDelta_NONE 228,11072 - #define PM3VideoOverlayShrinkXDelta_DELTA(PM3VideoOverlayShrinkXDelta_DELTA229,11144 -#define PM3VideoOverlayZoomXDelta 231,11255 - #define PM3VideoOverlayZoomXDelta_NONE 232,11326 - #define PM3VideoOverlayZoomXDelta_DELTA(PM3VideoOverlayZoomXDelta_DELTA233,11398 -#define PM3VideoOverlayYDelta 235,11509 - #define PM3VideoOverlayYDelta_NONE 236,11580 - #define PM3VideoOverlayYDelta_DELTA(PM3VideoOverlayYDelta_DELTA237,11652 -#define PM3VideoOverlayFieldOffset 239,11771 -#define PM3VideoOverlayStatus 240,11816 -#define PM3RD_PaletteWriteAddress 246,12026 -#define PM3RD_PaletteData 247,12070 -#define PM3RD_PixelMask 248,12107 -#define PM3RD_PaletteReadAddress 249,12143 -#define PM3RD_IndexLow 251,12187 -#define PM3RD_IndexHigh 252,12222 -#define PM3RD_IndexedData 253,12258 -#define PM3RD_IndexControl 254,12295 - #define PM3RD_IndexControl_AUTOINCREMENT_ENABLE 255,12333 - #define PM3RD_IndexControl_AUTOINCREMENT_DISABLE 256,12390 -#define PM3RD_MiscControl 259,12473 - #define PM3RD_MiscControl_HIGHCOLOR_RES_DISABLE 260,12509 - #define PM3RD_MiscControl_HIGHCOLOR_RES_ENABLE 261,12566 - #define PM3RD_MiscControl_PIXELDOUBLE_DISABLE 262,12622 - #define PM3RD_MiscControl_PIXELDOUBLE_ENABLE 263,12677 - #define PM3RD_MiscControl_LASTREAD_ADDR_DISABLE 264,12731 - #define PM3RD_MiscControl_LASTREAD_ADDR_ENABLE 265,12788 - #define PM3RD_MiscControl_DIRECTCOLOR_DISABLE 266,12844 - #define PM3RD_MiscControl_DIRECTCOLOR_ENABLE 267,12899 - #define PM3RD_MiscControl_OVERLAY_DISABLE 268,12953 - #define PM3RD_MiscControl_OVERLAY_ENABLE 269,13004 - #define PM3RD_MiscControl_PIXELDOUBLE_BUFFER_DISABLE 270,13054 - #define PM3RD_MiscControl_PIXELDOUBLE_BUFFER_ENABLE 271,13115 - #define PM3RD_MiscControl_VSB_OUTPUT_DISABLE 272,13175 - #define PM3RD_MiscControl_VSB_OUTPUT_ENABLE 273,13229 - #define PM3RD_MiscControl_STEREODOUBLE_BUFFER_DISABLE 274,13282 - #define PM3RD_MiscControl_STEREODOUBLE_BUFFER_ENABLE 275,13344 -#define PM3RD_SyncControl 276,13405 - #define PM3RD_SyncControl_HSYNC_ACTIVE_LOW 277,13441 - #define PM3RD_SyncControl_HSYNC_ACTIVE_HIGH 278,13493 - #define PM3RD_SyncControl_HSYNC_FORCE_ACTIVE 279,13546 - #define PM3RD_SyncControl_HSYNC_FORCE_INACTIVE 280,13600 - #define PM3RD_SyncControl_HSYNC_TRI_STATE 281,13656 - #define PM3RD_SyncControl_VSYNC_ACTIVE_LOW 282,13707 - #define PM3RD_SyncControl_VSYNC_ACTIVE_HIGH 283,13759 - #define PM3RD_SyncControl_VSYNC_TRI_STATE 284,13812 - #define PM3RD_SyncControl_VSYNC_FORCE_ACTIVE 285,13863 - #define PM3RD_SyncControl_VSYNC_FORCE_INACTIVE 286,13917 - #define PM3RD_SyncControl_HSYNC_OVERRIDE_SETBY_HSYNC 287,13973 - #define PM3RD_SyncControl_HSYNC_OVERRIDE_FORCE_HIGH 288,14034 - #define PM3RD_SyncControl_VSYNC_OVERRIDE_SETBY_VSYNC 289,14094 - #define PM3RD_SyncControl_VSYNC_OVERRIDE_FORCE_HIGH 290,14155 -#define PM3RD_DACControl 291,14215 - #define PM3RD_DACControl_DAC_POWER_ON 292,14250 - #define PM3RD_DACControl_DAC_POWER_OFF 293,14298 - #define PM3RD_DACControl_SYNC_ON_GREEN_DISABLE 294,14347 - #define PM3RD_DACControl_SYNC_ON_GREEN_ENABLE 295,14403 - #define PM3RD_DACControl_BLANK_RED_DAC_DISABLE 296,14458 - #define PM3RD_DACControl_BLANK_RED_DAC_ENABLE 297,14514 - #define PM3RD_DACControl_BLANK_GREEN_DAC_DISABLE 298,14569 - #define PM3RD_DACControl_BLANK_GREEN_DAC_ENABLE 299,14626 - #define PM3RD_DACControl_BLANK_BLUE_DAC_DISABLE 300,14683 - #define PM3RD_DACControl_BLANK_BLUE_DAC_ENABLE 301,14740 - #define PM3RD_DACControl_BLANK_PEDESTAL_DISABLE 302,14796 - #define PM3RD_DACControl_BLANK_PEDESTAL_ENABLE 303,14853 -#define PM3RD_PixelSize 304,14909 - #define PM3RD_PixelSize_24_BIT_PIXELS 305,14944 - #define PM3RD_PixelSize_32_BIT_PIXELS 306,14992 - #define PM3RD_PixelSize_16_BIT_PIXELS 307,15040 - #define PM3RD_PixelSize_8_BIT_PIXELS 308,15088 -#define PM3RD_ColorFormat 309,15135 - #define PM3RD_ColorFormat_LINEAR_COLOR_EXT_ENABLE 310,15171 - #define PM3RD_ColorFormat_LINEAR_COLOR_EXT_DISABLE 311,15229 - #define PM3RD_ColorFormat_COLOR_ORDER_BLUE_LOW 312,15288 - #define PM3RD_ColorFormat_COLOR_ORDER_RED_LOW 313,15344 - #define PM3RD_ColorFormat_COLOR_FORMAT_MASK 314,15399 - #define PM3RD_ColorFormat_8888_COLOR 315,15455 - #define PM3RD_ColorFormat_5551_FRONT_COLOR 316,15502 - #define PM3RD_ColorFormat_4444_COLOR 317,15554 - #define PM3RD_ColorFormat_332_FRONT_COLOR 318,15601 - #define PM3RD_ColorFormat_332_BACK_COLOR 319,15652 - #define PM3RD_ColorFormat_2321_FRONT_COLOR 320,15702 - #define PM3RD_ColorFormat_2321_BACK_COLOR 321,15754 - #define PM3RD_ColorFormat_232_FRONTOFF_COLOR 322,15806 - #define PM3RD_ColorFormat_232_BACKOFF_COLOR 323,15861 - #define PM3RD_ColorFormat_5551_BACK_COLOR 324,15915 - #define PM3RD_ColorFormat_CI8_COLOR 325,15967 - #define PM3RD_ColorFormat_565_FRONT_COLOR 326,16014 - #define PM3RD_ColorFormat_565_BACK_COLOR 327,16066 -#define PM3RD_CursorMode 328,16117 - #define PM3RD_CursorMode_CURSOR_DISABLE 329,16152 - #define PM3RD_CursorMode_CURSOR_ENABLE 330,16202 - #define PM3RD_CursorMode_FORMAT_64x64_2BPE_P0123 331,16251 - #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P0 332,16308 - #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P1 333,16363 - #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P2 334,16418 - #define PM3RD_CursorMode_FORMAT_32x32_2BPE_P3 335,16473 - #define PM3RD_CursorMode_FORMAT_32x32_4BPE_P01 336,16528 - #define PM3RD_CursorMode_FORMAT_32x32_4BPE_P23 337,16584 - #define PM3RD_CursorMode_TYPE_MS 338,16640 - #define PM3RD_CursorMode_TYPE_X 339,16683 - #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_DISABLE 340,16726 - #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_ENABLE 341,16787 - #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_3_COLOR 342,16847 - #define PM3RD_CursorMode_REVERSE_PIXEL_ORDER_15_COLOR 343,16908 -#define PM3RD_CursorControl 344,16970 - #define PM3RD_CursorControl_DOUBLE_X_DISABLED 345,17008 - #define PM3RD_CursorControl_DOUBLE_X_ENABLED 346,17063 - #define PM3RD_CursorControl_DOUBLE_Y_DISABLED 347,17117 - #define PM3RD_CursorControl_DOUBLE_Y_ENABLED 348,17172 - #define PM3RD_CursorControl_READBACK_POS_DISABLED 349,17226 - #define PM3RD_CursorControl_READBACK_POS_ENABLED 350,17284 -#define PM3RD_CursorXLow 352,17342 -#define PM3RD_CursorXHigh 353,17377 -#define PM3RD_CursorYLow 354,17413 -#define PM3RD_CursorYHigh 355,17448 -#define PM3RD_CursorHotSpotX 356,17484 -#define PM3RD_CursorHotSpotY 357,17523 -#define PM3RD_OverlayKey 358,17562 -#define PM3RD_Pan 359,17597 - #define PM3RD_Pan_DISABLE 360,17626 - #define PM3RD_Pan_ENABLE 361,17663 - #define PM3RD_Pan_GATE_DISABLE 362,17699 - #define PM3RD_Pan_GATE_ENABLE 363,17741 -#define PM3RD_Sense 364,17782 -#define PM3RD_CheckControl 366,17814 - #define PM3RD_CheckControl_PIXEL_DISABLED 367,17851 - #define PM3RD_CheckControl_PIXEL_ENABLED 368,17902 - #define PM3RD_CheckControl_LUT_DISABLED 369,17952 - #define PM3RD_CheckControl_LUT_ENABLED 370,18002 -#define PM3RD_CheckPixelRed 371,18051 -#define PM3RD_CheckPixelGreen 372,18089 -#define PM3RD_CheckPixelBlue 373,18129 -#define PM3RD_CheckLUTRed 374,18168 -#define PM3RD_CheckLUTGreen 375,18204 -#define PM3RD_CheckLUTBlue 376,18242 -#define PM3RD_Scratch 377,18279 -#define PM3RD_VideoOverlayControl 379,18313 - #define PM3RD_VideoOverlayControl_DISABLE 380,18356 - #define PM3RD_VideoOverlayControl_ENABLE 381,18427 - #define PM3RD_VideoOverlayControl_MODE_MASK 382,18498 - #define PM3RD_VideoOverlayControl_MODE_MAINKEY 383,18569 - #define PM3RD_VideoOverlayControl_MODE_OVERLAYKEY 384,18640 - #define PM3RD_VideoOverlayControl_MODE_ALWAYS 385,18711 - #define PM3RD_VideoOverlayControl_MODE_BLEND 386,18782 - #define PM3RD_VideoOverlayControl_DIRECTCOLOR_DISABLED 387,18853 - #define PM3RD_VideoOverlayControl_DIRECTCOLOR_ENABLED 388,18924 - #define PM3RD_VideoOverlayControl_BLENDSRC_MAIN 389,18995 - #define PM3RD_VideoOverlayControl_BLENDSRC_REGISTER 390,19066 - #define PM3RD_VideoOverlayControl_KEY_COLOR 391,19137 - #define PM3RD_VideoOverlayControl_KEY_ALPHA 392,19208 -#define PM3RD_VideoOverlayXStartLow 393,19279 -#define PM3RD_VideoOverlayXStartHigh 394,19324 -#define PM3RD_VideoOverlayYStartLow 395,19370 -#define PM3RD_VideoOverlayYStartHigh 396,19415 -#define PM3RD_VideoOverlayXEndLow 397,19461 -#define PM3RD_VideoOverlayXEndHigh 398,19504 -#define PM3RD_VideoOverlayYEndLow 399,19548 -#define PM3RD_VideoOverlayYEndHigh 400,19591 -#define PM3RD_VideoOverlayKeyR 401,19635 -#define PM3RD_VideoOverlayKeyG 402,19676 -#define PM3RD_VideoOverlayKeyB 403,19717 -#define PM3RD_VideoOverlayBlend 404,19758 - #define PM3RD_VideoOverlayBlend_FACTOR_0_PERCENT 405,19800 - #define PM3RD_VideoOverlayBlend_FACTOR_25_PERCENT 406,19871 - #define PM3RD_VideoOverlayBlend_FACTOR_75_PERCENT 407,19942 - #define PM3RD_VideoOverlayBlend_FACTOR_100_PERCENT 408,20013 -#define PM3RD_DClkSetup1 410,20085 -#define PM3RD_DClkSetup2 411,20120 -#define PM3RD_KClkSetup1 412,20155 -#define PM3RD_KClkSetup2 413,20190 -#define PM3RD_DClkControl 415,20226 - #define PM3RD_DClkControl_SOURCE_PLL 416,20262 - #define PM3RD_DClkControl_SOURCE_VSA 417,20309 - #define PM3RD_DClkControl_SOURCE_VSB 418,20356 - #define PM3RD_DClkControl_SOURCE_EXT 419,20403 - #define PM3RD_DClkControl_STATE_RUN 420,20450 - #define PM3RD_DClkControl_STATE_HIGH 421,20496 - #define PM3RD_DClkControl_STATE_LOW 422,20543 - #define PM3RD_DClkControl_LOCKED 423,20589 - #define PM3RD_DClkControl_NOT_LOCKED 424,20632 - #define PM3RD_DClkControl_ENABLE 425,20679 - #define PM3RD_DClkControl_DISABLE 426,20722 -#define PM3RD_DClk0PreScale 427,20766 -#define PM3RD_DClk0FeedbackScale 428,20804 -#define PM3RD_DClk0PostScale 429,20846 - #define PM3_REF_CLOCK 430,20885 -#define PM3RD_DClk1PreScale 431,20955 -#define PM3RD_DClk1FeedbackScale 432,20993 -#define PM3RD_DClk1PostScale 433,21035 -#define PM3RD_DClk2PreScale 434,21074 -#define PM3RD_DClk2FeedbackScale 435,21112 -#define PM3RD_DClk2PostScale 436,21154 -#define PM3RD_DClk3PreScale 437,21193 -#define PM3RD_DClk3FeedbackScale 438,21231 -#define PM3RD_DClk3PostScale 439,21273 -#define PM3RD_KClkControl 440,21312 - #define PM3RD_KClkControl_DISABLE 441,21348 - #define PM3RD_KClkControl_ENABLE 442,21392 - #define PM3RD_KClkControl_NOT_LOCKED 443,21435 - #define PM3RD_KClkControl_LOCKED 444,21482 - #define PM3RD_KClkControl_STATE_LOW 445,21525 - #define PM3RD_KClkControl_STATE_HIGH 446,21571 - #define PM3RD_KClkControl_STATE_RUN 447,21618 - #define PM3RD_KClkControl_STATE_LOW_POWER 448,21664 - #define PM3RD_KClkControl_SOURCE_PCLK 449,21715 - #define PM3RD_KClkControl_SOURCE_HALF_PCLK 450,21763 - #define PM3RD_KClkControl_SOURCE_PLL 451,21815 -#define PM3RD_KClkPreScale 452,21862 -#define PM3RD_KClkFeedbackScale 453,21899 -#define PM3RD_KClkPostScale 454,21941 -#define PM3RD_MClkControl 455,21979 - #define PM3RD_MClkControl_DISABLE 456,22015 - #define PM3RD_MClkControl_ENABLE 457,22059 - #define PM3RD_MClkControl_NOT_LOCKED 458,22102 - #define PM3RD_MClkControl_LOCKED 459,22149 - #define PM3RD_MClkControl_STATE_LOW 460,22192 - #define PM3RD_MClkControl_STATE_HIGH 461,22238 - #define PM3RD_MClkControl_STATE_RUN 462,22285 - #define PM3RD_MClkControl_STATE_LOW_POWER 463,22331 - #define PM3RD_MClkControl_SOURCE_PCLK 464,22382 - #define PM3RD_MClkControl_SOURCE_HALF_PCLK 465,22430 - #define PM3RD_MClkControl_SOURCE_HALF_EXT 466,22482 - #define PM3RD_MClkControl_SOURCE_EXT 467,22533 - #define PM3RD_MClkControl_SOURCE_HALF_KCLK 468,22580 - #define PM3RD_MClkControl_SOURCE_KCLK 469,22632 -#define PM3RD_MClkPreScale 470,22680 -#define PM3RD_MClkFeedbackScale 471,22717 -#define PM3RD_MClkPostScale 472,22759 -#define PM3RD_SClkControl 473,22797 - #define PM3RD_SClkControl_DISABLE 474,22833 - #define PM3RD_SClkControl_ENABLE 475,22877 - #define PM3RD_SClkControl_NOT_LOCKED 476,22920 - #define PM3RD_SClkControl_LOCKED 477,22967 - #define PM3RD_SClkControl_STATE_LOW 478,23010 - #define PM3RD_SClkControl_STATE_HIGH 479,23056 - #define PM3RD_SClkControl_STATE_RUN 480,23103 - #define PM3RD_SClkControl_STATE_LOW_POWER 481,23149 - #define PM3RD_SClkControl_SOURCE_PCLK 482,23200 - #define PM3RD_SClkControl_SOURCE_HALF_PCLK 483,23248 - #define PM3RD_SClkControl_SOURCE_HALF_EXT 484,23300 - #define PM3RD_SClkControl_SOURCE_EXT 485,23351 - #define PM3RD_SClkControl_SOURCE_HALF_KCLK 486,23398 - #define PM3RD_SClkControl_SOURCE_KCLK 487,23450 -#define PM3RD_SClkPreScale 488,23498 -#define PM3RD_SClkFeedbackScale 489,23535 -#define PM3RD_SClkPostScale 490,23577 -#define PM3RD_CursorPalette(PM3RD_CursorPalette492,23616 -#define PM3RD_CursorPattern(PM3RD_CursorPattern493,23663 -#define PM3VSConfiguration 498,23880 -#define PM3AALineWidth 503,24064 -#define PM3AAPointsize 504,24099 -#define PM3AlphaBlendAlphaMode 505,24134 -#define PM3AlphaBlendAlphaModeAnd 506,24176 -#define PM3AlphaBlendAlphaModeOr 507,24220 -#define PM3AlphaBlendColorMode 508,24263 -#define PM3AlphaBlendColorModeAnd 509,24305 -#define PM3AlphaBlendColorModeOr 510,24349 -#define PM3AlphaDestColor 511,24392 -#define PM3AlphaSourceColor 512,24429 -#define PM3AlphaTestMode 513,24468 -#define PM3AlphaTestModeAnd 514,24504 -#define PM3AlphaTestModeOr 515,24543 -#define PM3AntialiasMode 516,24581 -#define PM3AntialiasModeAnd 517,24617 -#define PM3AntialiasModeOr 518,24656 -#define PM3BackgroundColor 520,24704 -#define PM3ColorDDAMode 522,24752 -#define PM3ColorDDAModeAnd 523,24788 -#define PM3ColorDDAModeOr 524,24826 -#define PM3CommandInterrupt 525,24863 -#define PM3ConstantColorDDA 526,24902 - #define PM3ConstantColorDDA_R(PM3ConstantColorDDA_R527,24941 - #define PM3ConstantColorDDA_G(PM3ConstantColorDDA_G528,24987 - #define PM3ConstantColorDDA_B(PM3ConstantColorDDA_B529,25038 - #define PM3ConstantColorDDA_A(PM3ConstantColorDDA_A530,25090 -#define PM3ContextData 531,25142 -#define PM3ContextDump 532,25177 -#define PM3ContextRestore 533,25212 -#define PM3Continue 534,25249 -#define PM3ContinueNewDom 535,25281 -#define PM3ContinueNewLine 536,25318 -#define PM3ContinueNewSub 537,25356 -#define PM3Count 538,25393 -#define PM3DeltaControl 540,25432 -#define PM3DeltaControlAnd 541,25468 -#define PM3DeltaControlOr 542,25506 -#define PM3DeltaMode 543,25543 -#define PM3DeltaModeAnd 544,25576 -#define PM3DeltaModeOr 545,25612 -#define PM3DitherMode 547,25657 -#define PM3DitherModeAnd 548,25691 -#define PM3DitherModeOr 549,25727 -#define PM3dXDom 551,25773 -#define PM3dXSub 552,25802 -#define PM3dY 553,25831 -#define PM3FBBlockColor 555,25868 -#define PM3FBBlockColor0 556,25904 -#define PM3FBBlockColor1 557,25940 -#define PM3FBBlockColor2 558,25976 -#define PM3FBBlockColor3 559,26012 -#define PM3FBBlockColorBack 560,26048 -#define PM3FBBlockColorBack0 561,26087 -#define PM3FBBlockColorBack1 562,26127 -#define PM3FBBlockColorBack2 563,26167 -#define PM3FBBlockColorBack3 564,26207 -#define PM3FBColor 565,26247 -#define PM3FBDestReadBufferAddr0 566,26278 -#define PM3FBDestReadBufferAddr1 567,26321 -#define PM3FBDestReadBufferAddr2 568,26364 -#define PM3FBDestReadBufferAddr3 569,26407 -#define PM3FBDestReadBufferOffset0 570,26450 -#define PM3FBDestReadBufferOffset1 571,26495 -#define PM3FBDestReadBufferOffset2 572,26540 -#define PM3FBDestReadBufferOffset3 573,26585 - #define PM3FBDestReadBufferOffset_XOffset(PM3FBDestReadBufferOffset_XOffset574,26630 - #define PM3FBDestReadBufferOffset_YOffset(PM3FBDestReadBufferOffset_YOffset575,26689 -#define PM3FBDestReadBufferWidth0 576,26754 -#define PM3FBDestReadBufferWidth1 577,26798 -#define PM3FBDestReadBufferWidth2 578,26842 -#define PM3FBDestReadBufferWidth3 579,26886 - #define PM3FBDestReadBufferWidth_Width(PM3FBDestReadBufferWidth_Width580,26930 -#define PM3FBDestReadEnables 582,26987 -#define PM3FBDestReadEnablesAnd 583,27027 -#define PM3FBDestReadEnablesOr 584,27070 - #define PM3FBDestReadEnables_E(PM3FBDestReadEnables_E585,27112 - #define PM3FBDestReadEnables_E0 586,27159 - #define PM3FBDestReadEnables_E1 587,27200 - #define PM3FBDestReadEnables_E2 588,27241 - #define PM3FBDestReadEnables_E3 589,27282 - #define PM3FBDestReadEnables_E4 590,27323 - #define PM3FBDestReadEnables_E5 591,27364 - #define PM3FBDestReadEnables_E6 592,27405 - #define PM3FBDestReadEnables_E7 593,27446 - #define PM3FBDestReadEnables_R(PM3FBDestReadEnables_R594,27487 - #define PM3FBDestReadEnables_R0 595,27539 - #define PM3FBDestReadEnables_R1 596,27580 - #define PM3FBDestReadEnables_R2 597,27621 - #define PM3FBDestReadEnables_R3 598,27663 - #define PM3FBDestReadEnables_R4 599,27705 - #define PM3FBDestReadEnables_R5 600,27747 - #define PM3FBDestReadEnables_R6 601,27789 - #define PM3FBDestReadEnables_R7 602,27831 - #define PM3FBDestReadEnables_ReferenceAlpha(PM3FBDestReadEnables_ReferenceAlpha603,27873 -#define PM3FBDestReadMode 605,27939 -#define PM3FBDestReadModeAnd 606,27976 -#define PM3FBDestReadModeOr 607,28016 - #define PM3FBDestReadMode_ReadDisable 608,28055 - #define PM3FBDestReadMode_ReadEnable 609,28101 - #define PM3FBDestReadMode_StripePitch(PM3FBDestReadMode_StripePitch610,28146 - #define PM3FBDestReadMode_StripeHeight(PM3FBDestReadMode_StripeHeight611,28204 - #define PM3FBDestReadMode_Enable0 612,28263 - #define PM3FBDestReadMode_Enable1 613,28305 - #define PM3FBDestReadMode_Enable2 614,28347 - #define PM3FBDestReadMode_Enable3 615,28390 - #define PM3FBDestReadMode_Layout0(PM3FBDestReadMode_Layout0616,28433 - #define PM3FBDestReadMode_Layout1(PM3FBDestReadMode_Layout1617,28487 - #define PM3FBDestReadMode_Layout2(PM3FBDestReadMode_Layout2618,28541 - #define PM3FBDestReadMode_Layout3(PM3FBDestReadMode_Layout3619,28595 - #define PM3FBDestReadMode_Origin0 620,28649 - #define PM3FBDestReadMode_Origin1 621,28692 - #define PM3FBDestReadMode_Origin2 622,28735 - #define PM3FBDestReadMode_Origin3 623,28778 - #define PM3FBDestReadMode_Blocking 624,28821 - #define PM3FBDestReadMode_UseReadEnabled 625,28865 - #define PM3FBDestReadMode_AlphaFiltering 626,28914 -#define PM3FBHardwareWriteMask 628,28964 -#define PM3FBSoftwareWriteMask 629,29006 -#define PM3FBData 630,29048 -#define PM3FBSourceData 631,29078 -#define PM3FBSourceReadBufferAddr 632,29114 -#define PM3FBSourceReadBufferOffset 633,29158 - #define PM3FBSourceReadBufferOffset_XOffset(PM3FBSourceReadBufferOffset_XOffset634,29204 - #define PM3FBSourceReadBufferOffset_YOffset(PM3FBSourceReadBufferOffset_YOffset635,29265 -#define PM3FBSourceReadBufferWidth 636,29332 - #define PM3FBSourceReadBufferWidth_Width(PM3FBSourceReadBufferWidth_Width637,29377 -#define PM3FBSourceReadMode 638,29435 -#define PM3FBSourceReadModeAnd 639,29474 -#define PM3FBSourceReadModeOr 640,29516 - #define PM3FBSourceReadMode_ReadDisable 641,29557 - #define PM3FBSourceReadMode_ReadEnable 642,29607 - #define PM3FBSourceReadMode_StripePitch(PM3FBSourceReadMode_StripePitch643,29656 - #define PM3FBSourceReadMode_StripeHeight(PM3FBSourceReadMode_StripeHeight644,29716 - #define PM3FBSourceReadMode_Layout(PM3FBSourceReadMode_Layout645,29777 - #define PM3FBSourceReadMode_Origin 646,29831 - #define PM3FBSourceReadMode_Blocking 647,29875 - #define PM3FBSourceReadMode_UserTexelCoord 648,29921 - #define PM3FBSourceReadMode_WrapXEnable 649,29972 - #define PM3FBSourceReadMode_WrapYEnable 650,30021 - #define PM3FBSourceReadMode_WrapX(PM3FBSourceReadMode_WrapX651,30070 - #define PM3FBSourceReadMode_WrapY(PM3FBSourceReadMode_WrapY652,30124 - #define PM3FBSourceReadMode_ExternalSourceData 653,30178 -#define PM3FBWriteBufferAddr0 654,30233 -#define PM3FBWriteBufferAddr1 655,30304 -#define PM3FBWriteBufferAddr2 656,30375 -#define PM3FBWriteBufferAddr3 657,30446 -#define PM3FBWriteBufferOffset0 659,30518 -#define PM3FBWriteBufferOffset1 660,30589 -#define PM3FBWriteBufferOffset2 661,30660 -#define PM3FBWriteBufferOffset3 662,30731 - #define PM3FBWriteBufferOffset_XOffset(PM3FBWriteBufferOffset_XOffset663,30802 - #define PM3FBWriteBufferOffset_YOffset(PM3FBWriteBufferOffset_YOffset664,30859 -#define PM3FBWriteBufferWidth0 666,30923 -#define PM3FBWriteBufferWidth1 667,30994 -#define PM3FBWriteBufferWidth2 668,31065 -#define PM3FBWriteBufferWidth3 669,31136 - #define PM3FBWriteBufferWidth_Width(PM3FBWriteBufferWidth_Width670,31207 -#define PM3FBWriteMode 672,31263 -#define PM3FBWriteModeAnd 673,31334 -#define PM3FBWriteModeOr 674,31405 - #define PM3FBWriteMode_WriteDisable 675,31476 - #define PM3FBWriteMode_WriteEnable 676,31538 - #define PM3FBWriteMode_Replicate 677,31600 - #define PM3FBWriteMode_OpaqueSpan 678,31662 - #define PM3FBWriteMode_StripePitch(PM3FBWriteMode_StripePitch679,31724 - #define PM3FBWriteMode_StripeHeight(PM3FBWriteMode_StripeHeight680,31789 - #define PM3FBWriteMode_Enable0 681,31854 - #define PM3FBWriteMode_Enable1 682,31917 - #define PM3FBWriteMode_Enable2 683,31980 - #define PM3FBWriteMode_Enable3 684,32043 - #define PM3FBWriteMode_Layout0(PM3FBWriteMode_Layout0685,32106 - #define PM3FBWriteMode_Layout1(PM3FBWriteMode_Layout1686,32171 - #define PM3FBWriteMode_Layout2(PM3FBWriteMode_Layout2687,32236 - #define PM3FBWriteMode_Layout3(PM3FBWriteMode_Layout3688,32301 - #define PM3FBWriteMode_Origin0 689,32366 - #define PM3FBWriteMode_Origin1 690,32429 - #define PM3FBWriteMode_Origin2 691,32492 - #define PM3FBWriteMode_Origin3 692,32555 -#define PM3ForegroundColor 693,32618 -#define PM3GIDMode 695,32666 -#define PM3GIDModeAnd 696,32697 -#define PM3GIDModeOr 697,32731 -#define PM3LBDestReadBufferAddr 699,32774 -#define PM3LBDestReadBufferOffset 700,32817 -#define PM3LBDestReadEnables 701,32861 -#define PM3LBDestReadEnablesAnd 702,32901 -#define PM3LBDestReadEnablesOr 703,32944 -#define PM3LBDestReadMode 704,32986 -#define PM3LBDestReadModeAnd 705,33023 -#define PM3LBDestReadModeOr 706,33063 - #define PM3LBDestReadMode_Disable 707,33102 - #define PM3LBDestReadMode_Enable 708,33144 - #define PM3LBDestReadMode_StripePitch(PM3LBDestReadMode_StripePitch709,33185 - #define PM3LBDestReadMode_StripeHeight(PM3LBDestReadMode_StripeHeight710,33243 - #define PM3LBDestReadMode_Layout 711,33302 - #define PM3LBDestReadMode_Origin 712,33343 - #define PM3LBDestReadMode_UserReadEnables 713,33384 - #define PM3LBDestReadMode_Packed16 714,33434 - #define PM3LBDestReadMode_Width(PM3LBDestReadMode_Width715,33478 -#define PM3LBReadFormat 716,33534 - #define PM3LBReadFormat_DepthWidth(PM3LBReadFormat_DepthWidth717,33570 - #define PM3LBReadFormat_StencilWidth(PM3LBReadFormat_StencilWidth718,33626 - #define PM3LBReadFormat_StencilPosition(PM3LBReadFormat_StencilPosition719,33684 - #define PM3LBReadFormat_FCPWidth(PM3LBReadFormat_FCPWidth720,33745 - #define PM3LBReadFormat_FCPPosition(PM3LBReadFormat_FCPPosition721,33800 - #define PM3LBReadFormat_GIDWidth(PM3LBReadFormat_GIDWidth722,33859 - #define PM3LBReadFormat_GIDPosition(PM3LBReadFormat_GIDPosition723,33914 -#define PM3LBSourceReadBufferAddr 724,33973 -#define PM3LBSourceReadBufferOffset 725,34017 -#define PM3LBSourceReadMode 726,34063 -#define PM3LBSourceReadModeAnd 727,34102 -#define PM3LBSourceReadModeOr 728,34144 - #define PM3LBSourceReadMode_Enable 729,34185 - #define PM3LBSourceReadMode_StripePitch(PM3LBSourceReadMode_StripePitch730,34228 - #define PM3LBSourceReadMode_StripeHeight(PM3LBSourceReadMode_StripeHeight731,34288 - #define PM3LBSourceReadMode_Layout 732,34349 - #define PM3LBSourceReadMode_Origin 733,34392 - #define PM3LBSourceReadMode_Packed16 734,34435 - #define PM3LBSourceReadMode_Width(PM3LBSourceReadMode_Width735,34481 -#define PM3LBStencil 736,34539 -#define PM3LBWriteBufferAddr 737,34572 -#define PM3LBWriteBufferOffset 738,34612 -#define PM3LBWriteFormat 739,34654 - #define PM3LBWriteFormat_DepthWidth(PM3LBWriteFormat_DepthWidth740,34690 - #define PM3LBWriteFormat_StencilWidth(PM3LBWriteFormat_StencilWidth741,34747 - #define PM3LBWriteFormat_StencilPosition(PM3LBWriteFormat_StencilPosition742,34805 - #define PM3LBWriteFormat_GIDWidth(PM3LBWriteFormat_GIDWidth743,34867 - #define PM3LBWriteFormat_GIDPosition(PM3LBWriteFormat_GIDPosition744,34923 -#define PM3LBWriteMode 745,34983 -#define PM3LBWriteModeAnd 746,35018 -#define PM3LBWriteModeOr 747,35055 - #define PM3LBWriteMode_WriteDisable 748,35091 - #define PM3LBWriteMode_WriteEnable 749,35135 - #define PM3LBWriteMode_StripePitch(PM3LBWriteMode_StripePitch750,35178 - #define PM3LBWriteMode_StripeHeight(PM3LBWriteMode_StripeHeight751,35234 - #define PM3LBWriteMode_Layout 752,35291 - #define PM3LBWriteMode_Origin 753,35330 - #define PM3LBWriteMode_Packed16 754,35370 - #define PM3LBWriteMode_Width(PM3LBWriteMode_Width755,35412 -#define PM3LineStippleMode 757,35476 -#define PM3LineStippleModeAnd 758,35514 -#define PM3LineStippleModeOr 759,35555 -#define PM3LoadLineStippleCounters 760,35595 -#define PM3LogicalOpMode 762,35650 -#define PM3LogicalOpModeAnd 763,35686 -#define PM3LogicalOpModeOr 764,35725 - #define PM3LogicalOpMode_Disable 765,35763 - #define PM3LogicalOpMode_Enable 766,35806 - #define PM3LogicalOpMode_LogicOp(PM3LogicalOpMode_LogicOp767,35849 - #define PM3LogicalOpMode_UseConstantWriteData_Disable 768,35905 - #define PM3LogicalOpMode_UseConstantWriteData_Enable 769,35967 - #define PM3LogicalOpMode_Background_Disable 770,36028 - #define PM3LogicalOpMode_Background_Enable 771,36081 - #define PM3LogicalOpMode_Background_LogicOp(PM3LogicalOpMode_Background_LogicOp772,36133 - #define PM3LogicalOpMode_UseConstantSource_Disable 773,36199 - #define PM3LogicalOpMode_UseConstantSource_Enable 774,36259 -#define PM3LUT 777,36329 -#define PM3LUT 779,36367 -#define PM3LUTAddress 780,36395 -#define PM3LUTData 781,36429 -#define PM3LUTIndex 782,36460 -#define PM3LUTMode 783,36492 -#define PM3LUTModeAnd 784,36523 -#define PM3LUTModeOr 785,36557 -#define PM3LUTTransfer 786,36590 -#define PM3PixelSize 788,36635 - #define PM3PixelSize_GLOBAL_32BIT 789,36668 - #define PM3PixelSize_GLOBAL_16BIT 790,36712 - #define PM3PixelSize_GLOBAL_8BIT 791,36756 - #define PM3PixelSize_RASTERIZER_32BIT 792,36799 - #define PM3PixelSize_RASTERIZER_16BIT 793,36847 - #define PM3PixelSize_RASTERIZER_8BIT 794,36895 - #define PM3PixelSize_SCISSOR_AND_STIPPLE_32BIT 795,36942 - #define PM3PixelSize_SCISSOR_AND_STIPPLE_16BIT 796,36998 - #define PM3PixelSize_SCISSOR_AND_STIPPLE_8BIT 797,37054 - #define PM3PixelSize_TEXTURE_32BIT 798,37109 - #define PM3PixelSize_TEXTURE_16BIT 799,37154 - #define PM3PixelSize_TEXTURE_8BIT 800,37199 - #define PM3PixelSize_LUT_32BIT 801,37243 - #define PM3PixelSize_LUT_16BIT 802,37285 - #define PM3PixelSize_LUT_8BIT 803,37327 - #define PM3PixelSize_FRAMEBUFFER_32BIT 804,37368 - #define PM3PixelSize_FRAMEBUFFER_16BIT 805,37418 - #define PM3PixelSize_FRAMEBUFFER_8BIT 806,37468 - #define PM3PixelSize_LOGICAL_OP_32BIT 807,37517 - #define PM3PixelSize_LOGICAL_OP_16BIT 808,37566 - #define PM3PixelSize_LOGICAL_OP_8BIT 809,37615 - #define PM3PixelSize_LOCALBUFFER_32BIT 810,37663 - #define PM3PixelSize_LOCALBUFFER_16BIT 811,37713 - #define PM3PixelSize_LOCALBUFFER_8BIT 812,37763 - #define PM3PixelSize_SETUP_32BIT 813,37812 - #define PM3PixelSize_SETUP_16BIT 814,37856 - #define PM3PixelSize_SETUP_8BIT 815,37900 - #define PM3PixelSize_GLOBAL 816,37944 - #define PM3PixelSize_INDIVIDUAL 817,37984 -#define PM3Render 819,38038 - #define PM3Render_AreaStipple_Disable 820,38068 - #define PM3Render_AreaStipple_Enable 821,38116 - #define PM3Render_LineStipple_Disable 822,38163 - #define PM3Render_LineStipple_Enable 823,38211 - #define PM3Render_ResetLine_Disable 824,38258 - #define PM3Render_ResetLine_Enable 825,38304 - #define PM3Render_FastFill_Disable 826,38349 - #define PM3Render_FastFill_Enable 827,38394 - #define PM3Render_Primitive_Line 828,38438 - #define PM3Render_Primitive_Trapezoid 829,38481 - #define PM3Render_Primitive_Point 830,38529 - #define PM3Render_Antialias_Disable 831,38573 - #define PM3Render_Antialias_Enable 832,38619 - #define PM3Render_Antialias_SubPixelRes_4x4 833,38664 - #define PM3Render_Antialias_SubPixelRes_8x8 834,38717 - #define PM3Render_UsePointTable_Disable 835,38770 - #define PM3Render_UsePointTable_Enable 836,38821 - #define PM3Render_SyncOnbitMask_Disable 837,38871 - #define PM3Render_SyncOnBitMask_Enable 838,38922 - #define PM3Render_SyncOnHostData_Disable 839,38972 - #define PM3Render_SyncOnHostData_Enable 840,39023 - #define PM3Render_Texture_Disable 841,39074 - #define PM3Render_Texture_Enable 842,39119 - #define PM3Render_Fog_Disable 843,39163 - #define PM3Render_Fog_Enable 844,39205 - #define PM3Render_Coverage_Disable 845,39246 - #define PM3Render_Coverage_Enable 846,39292 - #define PM3Render_SubPixelCorrection_Disable 847,39337 - #define PM3Render_SubPixelCorrection_Enable 848,39392 - #define PM3Render_SpanOperation_Disable 849,39446 - #define PM3Render_SpanOperation_Enable 850,39497 - #define PM3Render_FBSourceRead_Disable 851,39547 - #define PM3Render_FBSourceRead_Enable 852,39597 -#define PM3RasterizerMode 853,39646 -#define PM3RasterizerModeAnd 854,39683 -#define PM3RasterizerModeOr 855,39723 -#define PM3RectangleHeight 856,39762 -#define PM3Render 857,39800 -#define PM3RepeatLine 858,39830 -#define PM3ResetPickResult 859,39864 -#define PM3RLEMask 860,39902 -#define PM3RouterMode 861,39933 -#define PM3RStart 862,39967 -#define PM3S1Start 863,39997 -#define PM3aveLineStippleCounters 864,40028 -#define PM3ScissorMaxXY 865,40072 -#define PM3ScissorMinXY 866,40108 -#define PM3ScissorMode 867,40144 -#define PM3ScissorModeAnd 868,40179 -#define PM3ScissorModeOr 869,40216 -#define PM3ScreenSize 870,40252 -#define PM3Security 871,40286 -#define PM3SetLogicalTexturePage 872,40318 -#define PM3SizeOfFramebuffer 873,40361 -#define PM3SStart 874,40401 -#define PM3StartXDom 875,40431 -#define PM3StartXSub 876,40464 -#define PM3StartY 877,40497 -#define PM3SpanColorMask 879,40537 -#define PM3TextureApplicationMode 881,40583 -#define PM3TextureApplicationModeAnd 882,40627 -#define PM3TextureApplicationModeOr 883,40674 -#define PM3TextureBaseAddr 884,40720 -#define PM3TextureCacheControl 885,40758 -#define PM3TextureChromaLower0 886,40800 -#define PM3TextureChromaLower1 887,40842 -#define PM3TextureChromaUpper0 888,40884 -#define PM3TextureChromaUpper1 889,40926 -#define PM3TextureCompositeAlphaMode0 890,40968 -#define PM3TextureCompositeAlphaMode0And 891,41016 -#define PM3TextureCompositeAlphaMode0Or 892,41066 -#define PM3TextureCompositeAlphaMode1 893,41116 -#define PM3TextureCompositeAlphaMode1And 894,41164 -#define PM3TextureCompositeAlphaMode1Or 895,41214 -#define PM3TextureCompositeColorMode0 896,41264 -#define PM3TextureCompositeColorMode0And 897,41312 -#define PM3TextureCompositeColorMode0Or 898,41362 -#define PM3TextureCompositeColorMode1 899,41412 -#define PM3TextureCompositeColorMode1And 900,41460 -#define PM3TextureCompositeColorMode1Or 901,41510 -#define PM3TextureCompositeFactor0 902,41560 -#define PM3TextureCompositeFactor1 903,41605 -#define PM3TextureCompositeMode 904,41650 -#define PM3TextureCoordMode 905,41693 -#define PM3TextureCoordModeAnd 906,41732 -#define PM3TextureCoordModeOr 907,41774 -#define PM3TextureData 908,41815 -#define PM3TextureDownloadOffset 912,41900 -#define PM3TextureEnvColor 913,41943 -#define PM3TextureFilterMode 914,41981 -#define PM3TextureFilterModeAnd 915,42021 -#define PM3TextureFilterModeOr 916,42064 -#define PM3TextureIndexMode0 917,42106 -#define PM3TextureIndexMode0And 918,42146 -#define PM3TextureIndexMode0Or 919,42189 -#define PM3TextureIndexMode1 920,42231 -#define PM3TextureIndexMode1And 921,42271 -#define PM3TextureIndexMode1Or 922,42314 -#define PM3TextureMapSize 924,42366 -#define PM3TextureMapWidth0 925,42437 -#define PM3TextureMapWidth1 926,42508 - #define PM3TextureMapWidth_Width(PM3TextureMapWidth_Width927,42579 - #define PM3TextureMapWidth_BorderLayout 928,42650 - #define PM3TextureMapWidth_Layout_Linear 929,42722 - #define PM3TextureMapWidth_Layout_Patch64 930,42794 - #define PM3TextureMapWidth_Layout_Patch32_2 931,42866 - #define PM3TextureMapWidth_Layout_Patch2 932,42938 - #define PM3TextureMapWidth_HostTexture 933,43010 -#define PM3TextureReadMode0 934,43082 -#define PM3TextureReadMode0And 935,43153 -#define PM3TextureReadMode0Or 936,43224 -#define PM3TextureReadMode1 937,43295 -#define PM3TextureReadMode1And 938,43366 -#define PM3TextureReadMode1Or 939,43437 -#define PM3WaitForCompletion 941,43518 -#define PM3Window 942,43558 - #define PM3Window_ForceLBUpdate 943,43588 - #define PM3Window_LBUpdateSource 944,43629 - #define PM3Window_FrameCount(PM3Window_FrameCount945,43670 - #define PM3Window_StencilFCP 946,43721 - #define PM3Window_DepthFCP 947,43760 - #define PM3Window_OverrideWriteFiltering 948,43797 -#define PM3WindowAnd 949,43846 -#define PM3WindowOr 950,43879 -#define PM3WindowOrigin 951,43911 -#define PM3XBias 952,43947 -#define PM3YBias 953,43976 -#define PM3YLimits 954,44005 -#define PM3UVMode 955,44036 -#define PM3ZFogBias 956,44066 -#define PM3ZStart 957,44098 -#define PM3ZStartL 958,44128 -#define PM3ZStartU 959,44159 -#define PM3Config2D 965,44337 - #define PM3Config2D_OpaqueSpan 966,44369 - #define PM3Config2D_MultiRXBlit 967,44409 - #define PM3Config2D_UserScissorEnable 968,44450 - #define PM3Config2D_FBDestReadEnable 969,44496 - #define PM3Config2D_AlphaBlendEnable 970,44541 - #define PM3Config2D_DitherEnable 971,44586 - #define PM3Config2D_ForegroundROPEnable 972,44627 - #define PM3Config2D_ForegroundROP(PM3Config2D_ForegroundROP973,44675 - #define PM3Config2D_BackgroundROPEnable 974,44733 - #define PM3Config2D_BackgroundROP(PM3Config2D_BackgroundROP975,44782 - #define PM3Config2D_UseConstantSource 976,44841 - #define PM3Config2D_FBWriteEnable 977,44888 - #define PM3Config2D_Blocking 978,44931 - #define PM3Config2D_ExternalSourceData 979,44970 - #define PM3Config2D_LUTModeEnable 980,45018 -#define PM3DownloadGlyphwidth 981,45061 - #define PM3DownloadGlyphwidth_GlyphWidth(PM3DownloadGlyphwidth_GlyphWidth982,45102 -#define PM3DownloadTarget 983,45162 - #define PM3DownloadTarget_TagName(PM3DownloadTarget_TagName984,45199 -#define PM3GlyphData 985,45255 -#define PM3GlyphPosition 986,45288 - #define PM3GlyphPosition_XOffset(PM3GlyphPosition_XOffset987,45324 - #define PM3GlyphPosition_YOffset(PM3GlyphPosition_YOffset988,45375 -#define PM3Packed4Pixels 989,45432 -#define PM3Packed8Pixels 990,45468 -#define PM3Packed16Pixels 991,45504 -#define PM3RectanglePosition 992,45541 - #define PM3RectanglePosition_XOffset(PM3RectanglePosition_XOffset993,45581 - #define PM3RectanglePosition_YOffset(PM3RectanglePosition_YOffset994,45636 -#define PM3Render2D 995,45697 - #define PM3Render2D_Width(PM3Render2D_Width996,45729 - #define PM3Render2D_Operation_Normal 997,45774 - #define PM3Render2D_Operation_SyncOnHostData 998,45820 - #define PM3Render2D_Operation_SyncOnBitMask 999,45873 - #define PM3Render2D_Operation_PatchOrderRendering 1000,45925 - #define PM3Render2D_FBSourceReadEnable 1001,45982 - #define PM3Render2D_SpanOperation 1002,46030 - #define PM3Render2D_Height(PM3Render2D_Height1003,46073 - #define PM3Render2D_XPositive 1004,46125 - #define PM3Render2D_YPositive 1005,46165 - #define PM3Render2D_AreaStippleEnable 1006,46205 - #define PM3Render2D_TextureEnable 1007,46252 -#define PM3Render2DGlyph 1008,46295 - #define PM3Render2DGlyph_Width(PM3Render2DGlyph_Width1009,46331 - #define PM3Render2DGlyph_Height(PM3Render2DGlyph_Height1010,46378 - #define PM3Render2DGlyph_XOffset(PM3Render2DGlyph_XOffset1011,46431 - #define PM3Render2DGlyph_YOffset(PM3Render2DGlyph_YOffset1012,46487 -#define PM3RenderPatchOffset 1013,46543 - #define PM3RenderPatchOffset_XOffset(PM3RenderPatchOffset_XOffset1014,46583 - #define PM3RenderPatchOffset_YOffset(PM3RenderPatchOffset_YOffset1015,46638 -#define PM3RLCount 1016,46699 - #define PM3RLCount_Count(PM3RLCount_Count1017,46730 -#define PM3RLData 1018,46774 -#define PM3FillBackgroundColor 1023,46950 -#define PM3FillConfig2D0 1024,47021 -#define PM3FillConfig2D1 1025,47092 - #define PM3FillConfig2D_OpaqueSpan 1026,47163 - #define PM3FillConfig2D_MultiRXBlit 1027,47225 - #define PM3FillConfig2D_UserScissorEnable 1028,47287 - #define PM3FillConfig2D_FBDestReadEnable 1029,47349 - #define PM3FillConfig2D_AlphaBlendEnable 1030,47411 - #define PM3FillConfig2D_DitherEnable 1031,47473 - #define PM3FillConfig2D_ForegroundROPEnable 1032,47535 - #define PM3FillConfig2D_ForegroundROP(PM3FillConfig2D_ForegroundROP1033,47597 - #define PM3FillConfig2D_BackgroundROPEnable 1034,47671 - #define PM3FillConfig2D_BackgroundROP(PM3FillConfig2D_BackgroundROP1035,47734 - #define PM3FillConfig2D_UseConstantSource 1036,47809 - #define PM3FillConfig2D_FBWriteEnable 1037,47872 - #define PM3FillConfig2D_Blocking 1038,47935 - #define PM3FillConfig2D_ExternalSourceData 1039,47998 - #define PM3FillConfig2D_LUTModeEnable 1040,48061 -#define PM3FillFBDestReadBufferAddr 1041,48124 -#define PM3FillFBSourceReadBufferAddr 1042,48195 -#define PM3FillFBSourceReadBufferOffset 1043,48266 - #define PM3FillFBSourceReadBufferOffset_XOffset(PM3FillFBSourceReadBufferOffset_XOffset1044,48337 - #define PM3FillFBSourceReadBufferOffset_YOffset(PM3FillFBSourceReadBufferOffset_YOffset1045,48406 -#define PM3FillFBWriteBufferAddr 1046,48482 -#define PM3FillForegroundColor0 1047,48553 -#define PM3FillForegroundColor1 1048,48624 -#define PM3FillGlyphPosition 1049,48695 - #define PM3FillGlyphPosition_XOffset(PM3FillGlyphPosition_XOffset1050,48766 - #define PM3FillGlyphPosition_YOffset(PM3FillGlyphPosition_YOffset1051,48850 -#define PM3FillRectanglePosition 1052,48933 - #define PM3FillRectanglePosition_XOffset(PM3FillRectanglePosition_XOffset1053,49004 - #define PM3FillRectanglePosition_YOffset(PM3FillRectanglePosition_YOffset1054,49073 -#define PM3_REGS_SIZE 1056,49149 -#define PM3_MAX_PIXCLOCK 1057,49189 -#define PM3Sync 1059,49278 - #define PM3Sync_Tag 1060,49301 -#define PM3FilterMode 1061,49335 - #define PM3FilterModeSync 1062,49364 -#define PM3OutputFifo 1063,49404 -#define PM3StatisticMode 1064,49433 -#define PM3AreaStippleMode 1065,49465 - #define AreaStipplePattern0 1066,49499 - #define AreaStipplePattern1 1067,49548 - #define AreaStipplePattern2 1068,49597 - #define AreaStipplePattern3 1069,49646 - #define AreaStipplePattern4 1070,49695 - #define AreaStipplePattern5 1071,49744 - #define AreaStipplePattern6 1072,49793 - #define AreaStipplePattern7 1073,49842 - #define AreaStipplePattern8 1074,49891 - #define AreaStipplePattern9 1075,49940 - #define AreaStipplePattern10 1076,49989 - #define AreaStipplePattern11 1077,50039 - #define AreaStipplePattern12 1078,50089 - #define AreaStipplePattern13 1079,50139 - #define AreaStipplePattern14 1080,50189 - #define AreaStipplePattern15 1081,50239 - #define AreaStipplePattern16 1082,50289 - #define AreaStipplePattern17 1083,50339 - #define AreaStipplePattern18 1084,50389 - #define AreaStipplePattern19 1085,50439 - #define AreaStipplePattern20 1086,50489 - #define AreaStipplePattern21 1087,50539 - #define AreaStipplePattern22 1088,50589 - #define AreaStipplePattern23 1089,50639 - #define AreaStipplePattern24 1090,50689 - #define AreaStipplePattern25 1091,50739 - #define AreaStipplePattern26 1092,50789 - #define AreaStipplePattern27 1093,50839 - #define AreaStipplePattern28 1094,50889 - #define AreaStipplePattern29 1095,50939 - #define AreaStipplePattern30 1096,50989 - #define AreaStipplePattern31 1097,51039 - #define AreaStipplePattern_indexed(AreaStipplePattern_indexed1098,51089 -#define PM3DepthMode 1100,51171 -#define PM3StencilMode 1101,51199 -#define PM3StencilData 1102,51229 -#define PM3TextureReadMode 1103,51259 -#define PM3FogMode 1104,51293 -#define PM3ChromaTestMode 1105,51319 -#define PM3YUVMode 1106,51352 -#define PM3BitMaskPattern 1107,51378 -#define PM3FBIO_CLEARMEMORY 1113,51543 -#define PM3FBIO_CLEARCMAP 1114,51598 -#define PM3FBIO_RESETCHIP 1116,51676 -#define KERNEL_2_51125,52040 -#define KERNEL_2_41129,52167 -#define KERNEL_2_21133,52295 -#define SUPPORT_FB_OF1137,52405 -#define MUST_BYTESWAP1147,52692 -#define PM3_SCALE_TO_CLOCK(PM3_SCALE_TO_CLOCK1151,52760 -#define PCI_DEVICE_ID_3DLABS_PERMEDIA3 1155,52925 -#define PM3_MAX_BOARD 1160,53095 -#define PM3_MAX_BOARD_MODULE_ARRAY_SHORT 1161,53119 -#define PM3_MAX_BOARD_MODULE_ARRAY_STRING 1162,53167 -#define PM3_OPTIONS_SIZE 1165,53243 -#define PM3_FONTNAME_SIZE 1168,53301 -#define PM3FB_USE_ACCEL 1171,53369 -#define CHAR_IS_NUM(CHAR_IS_NUM1174,53411 -#define PM3FB_TRACE1180,53661 -#define DPRINTK(DPRINTK1184,53778 -#define DASSERT(DASSERT1185,53898 -#define DTRACE 1187,54032 -#define DTRACE1189,54114 -#define DPRINTK(DPRINTK1192,54185 -#define DASSERT(DASSERT1193,54211 -#define DTRACE1194,54237 -#define PM3_SHOW_CUR_MODE 1198,54346 -#define PM3_SHOW_CUR_MODE 1200,54409 -#define PM3_READ_REG(PM3_READ_REG1208,54739 -#define PM3_WRITE_REG(PM3_WRITE_REG1209,54805 -#define PM3_WRITE_REG(PM3_WRITE_REG1211,54905 -#define PM3_READ_REG(PM3_READ_REG1212,54969 -#define PM3_WRITE_REG(PM3_WRITE_REG1216,55152 -#define PM3_READ_REG(PM3_READ_REG1217,55219 -#define depth2bpp(depth2bpp1221,55318 -#define depth2ByPP(depth2ByPP1222,55356 -#define depth_supported(depth_supported1224,55398 -#define PM3_WAIT(PM3_WAIT1227,55488 -#define PM3_DELAY(PM3_DELAY1232,55572 -#define PM3_SLOW_WRITE_REG(PM3_SLOW_WRITE_REG1238,55729 -#define PM3_SET_INDEX(PM3_SET_INDEX1247,56026 -#define PM3_WRITE_DAC_REG(PM3_WRITE_DAC_REG1253,56189 -#define PM3_READ_DAC_REG(PM3_READ_DAC_REG1262,56506 -#define PM3_COLOR(PM3_COLOR1265,56569 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/s3blit.h,1801 -#define _VIDEO_S3BLIT_H2,24 -#define S3_BITBLT 5,67 -#define S3_TWOPOINTLINE 6,98 -#define S3_FILLEDRECT 7,129 -#define S3_FIFO_EMPTY 9,161 -#define S3_HDW_BUSY 10,190 -#define S3_READ_SEL 14,265 -#define S3_MULT_MISC 15,312 -#define S3_ERR_TERM 16,359 -#define S3_FRGD_COLOR 17,391 -#define S3_BKGD_COLOR 18,423 -#define S3_PIXEL_CNTL 19,455 -#define S3_FRGD_MIX 20,502 -#define S3_BKGD_MIX 21,534 -#define S3_CUR_Y 22,566 -#define S3_CUR_X 23,598 -#define S3_DESTY_AXSTP 24,630 -#define S3_DESTX_DIASTP 25,662 -#define S3_MIN_AXIS_PCNT 26,694 -#define S3_MAJ_AXIS_PCNT 27,741 -#define S3_CMD 28,773 -#define S3_GP_STAT 29,805 -#define S3_ADVFUNC_CNTL 30,837 -#define S3_WRT_MASK 31,869 -#define S3_RD_MASK 32,901 -#define S3_ALT_CURXY 35,997 -#define S3_ALT_CURXY2 36,1029 -#define S3_ALT_STEP 37,1061 -#define S3_ALT_STEP2 38,1093 -#define S3_ALT_ERR 39,1125 -#define S3_ALT_CMD 40,1157 -#define S3_ALT_MIX 41,1189 -#define S3_ALT_PCNT 42,1221 -#define S3_ALT_PAT 43,1253 -#define S3_NOTCUR 46,1306 -#define S3_LOGICALZERO 47,1340 -#define S3_LOGICALONE 48,1374 -#define S3_LEAVEASIS 49,1408 -#define S3_NOTNEW 50,1442 -#define S3_CURXORNEW 51,1476 -#define S3_NOT_CURXORNEW 52,1510 -#define S3_NEW 53,1544 -#define S3_NOTCURORNOTNEW 54,1578 -#define S3_CURORNOTNEW 55,1612 -#define S3_NOTCURORNEW 56,1646 -#define S3_CURORNEW 57,1680 -#define S3_CURANDNEW 58,1714 -#define S3_NOTCURANDNEW 59,1748 -#define S3_CURANDNOTNEW 60,1782 -#define S3_NOTCURANDNOTNEW 61,1816 -#define S3_CRTC_ADR 63,1851 -#define S3_CRTC_DATA 64,1881 -#define S3_REG_LOCK2 66,1912 -#define S3_HGC_MODE 67,1938 -#define S3_HWGC_ORGX_H 69,1965 -#define S3_HWGC_ORGX_L 70,1993 -#define S3_HWGC_ORGY_H 71,2021 -#define S3_HWGC_ORGY_L 72,2049 -#define S3_HWGC_DX 73,2077 -#define S3_HWGC_DY 74,2105 -#define S3_LAW_CTL 77,2135 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/radeon.h,78878 -#define _RADEON_H2,18 -#define RADEON_REGSIZE 5,38 -#define MM_INDEX 8,72 -#define MM_DATA 9,128 -#define BUS_CNTL 10,184 -#define HI_STAT 11,240 -#define BUS_CNTL1 12,296 -#define I2C_CNTL_1 13,350 -#define CONFIG_CNTL 14,387 -#define CONFIG_MEMSIZE 15,443 -#define CONFIG_APER_0_BASE 16,499 -#define CONFIG_APER_1_BASE 17,555 -#define CONFIG_APER_SIZE 18,611 -#define CONFIG_REG_1_BASE 19,667 -#define CONFIG_REG_APER_SIZE 20,723 -#define PAD_AGPINPUT_DELAY 21,779 -#define PAD_CTLR_STRENGTH 22,835 -#define PAD_CTLR_UPDATE 23,891 -#define AGP_CNTL 24,945 -#define BM_STATUS 25,999 -#define CAP0_TRIG_CNTL 26,1053 -#define CAP1_TRIG_CNTL 27,1092 -#define VIPH_CONTROL 28,1138 -#define VENDOR_ID 29,1175 -#define DEVICE_ID 30,1231 -#define COMMAND 31,1287 -#define STATUS 32,1343 -#define REVISION_ID 33,1399 -#define REGPROG_INF 34,1455 -#define SUB_CLASS 35,1511 -#define BASE_CODE 36,1567 -#define CACHE_LINE 37,1623 -#define LATENCY 38,1679 -#define HEADER 39,1735 -#define BIST 40,1791 -#define REG_MEM_BASE 41,1847 -#define REG_IO_BASE 42,1903 -#define REG_REG_BASE 43,1959 -#define ADAPTER_ID 44,2013 -#define BIOS_ROM 45,2067 -#define CAPABILITIES_PTR 46,2121 -#define INTERRUPT_LINE 47,2177 -#define INTERRUPT_PIN 48,2233 -#define MIN_GRANT 49,2289 -#define MAX_LATENCY 50,2345 -#define ADAPTER_ID_W 51,2401 -#define PMI_CAP_ID 52,2457 -#define PMI_NXT_CAP_PTR 53,2513 -#define PMI_PMC_REG 54,2569 -#define PM_STATUS 55,2625 -#define PMI_DATA 56,2681 -#define AGP_CAP_ID 57,2737 -#define AGP_STATUS 58,2793 -#define AGP_COMMAND 59,2849 -#define AIC_CTRL 60,2905 -#define AIC_STAT 61,2959 -#define AIC_PT_BASE 62,3013 -#define AIC_LO_ADDR 63,3067 -#define AIC_HI_ADDR 64,3123 -#define AIC_TLB_ADDR 65,3179 -#define AIC_TLB_DATA 66,3235 -#define DAC_CNTL 67,3291 -#define DAC_CNTL2 68,3347 -#define CRTC_GEN_CNTL 69,3401 -#define MEM_CNTL 70,3457 -#define EXT_MEM_CNTL 71,3513 -#define MC_AGP_LOCATION 72,3569 -#define MEM_IO_CNTL_A0 73,3625 -#define MEM_INIT_LATENCY_TIMER 74,3681 -#define MEM_SDRAM_MODE_REG 75,3737 -#define AGP_BASE 76,3793 -#define MEM_IO_CNTL_A1 77,3849 -#define MEM_IO_CNTL_B0 78,3905 -#define MEM_IO_CNTL_B1 79,3959 -#define MC_DEBUG 80,4013 -#define MC_STATUS 81,4067 -#define MEM_IO_OE_CNTL 82,4123 -#define MC_FB_LOCATION 83,4179 -#define HOST_PATH_CNTL 84,4235 -#define MEM_VGA_WP_SEL 85,4291 -#define MEM_VGA_RP_SEL 86,4347 -#define HDP_DEBUG 87,4403 -#define SW_SEMAPHORE 88,4459 -#define CRTC2_GEN_CNTL 89,4513 -#define CRTC2_DISPLAY_BASE_ADDR 90,4569 -#define SURFACE_CNTL 91,4623 -#define SURFACE0_LOWER_BOUND 92,4679 -#define SURFACE1_LOWER_BOUND 93,4735 -#define SURFACE2_LOWER_BOUND 94,4791 -#define SURFACE3_LOWER_BOUND 95,4847 -#define SURFACE4_LOWER_BOUND 96,4903 -#define SURFACE5_LOWER_BOUND 97,4959 -#define SURFACE6_LOWER_BOUND 98,5013 -#define SURFACE7_LOWER_BOUND 99,5067 -#define SURFACE0_UPPER_BOUND 100,5121 -#define SURFACE1_UPPER_BOUND 101,5177 -#define SURFACE2_UPPER_BOUND 102,5233 -#define SURFACE3_UPPER_BOUND 103,5289 -#define SURFACE4_UPPER_BOUND 104,5345 -#define SURFACE5_UPPER_BOUND 105,5401 -#define SURFACE6_UPPER_BOUND 106,5457 -#define SURFACE7_UPPER_BOUND 107,5513 -#define SURFACE0_INFO 108,5569 -#define SURFACE1_INFO 109,5625 -#define SURFACE2_INFO 110,5681 -#define SURFACE3_INFO 111,5737 -#define SURFACE4_INFO 112,5793 -#define SURFACE5_INFO 113,5849 -#define SURFACE6_INFO 114,5905 -#define SURFACE7_INFO 115,5959 -#define SURFACE_ACCESS_FLAGS 116,6013 -#define SURFACE_ACCESS_CLR 117,6067 -#define GEN_INT_CNTL 118,6123 -#define GEN_INT_STATUS 119,6179 -#define CRTC_EXT_CNTL 120,6235 -#define RB3D_CNTL 121,6289 -#define WAIT_UNTIL 122,6325 -#define ISYNC_CNTL 123,6381 -#define RBBM_GUICNTL 124,6437 -#define RBBM_STATUS 125,6493 -#define RBBM_STATUS_alt_1 126,6549 -#define RBBM_CNTL 127,6605 -#define RBBM_CNTL_alt_1 128,6661 -#define RBBM_SOFT_RESET 129,6717 -#define RBBM_SOFT_RESET_alt_1 130,6773 -#define NQWAIT_UNTIL 131,6829 -#define RBBM_DEBUG 132,6885 -#define RBBM_CMDFIFO_ADDR 133,6939 -#define RBBM_CMDFIFO_DATAL 134,6993 -#define RBBM_CMDFIFO_DATAH 135,7047 -#define RBBM_CMDFIFO_STAT 136,7103 -#define CRTC_STATUS 137,7159 -#define GPIO_VGA_DDC 138,7215 -#define GPIO_DVI_DDC 139,7271 -#define GPIO_MONID 140,7327 -#define GPIO_CRT2_DDC 141,7383 -#define PALETTE_INDEX 142,7437 -#define PALETTE_DATA 143,7493 -#define PALETTE_30_DATA 144,7549 -#define CRTC_H_TOTAL_DISP 145,7605 -#define CRTC_H_SYNC_STRT_WID 146,7661 -#define CRTC_V_TOTAL_DISP 147,7717 -#define CRTC_V_SYNC_STRT_WID 148,7773 -#define CRTC_VLINE_CRNT_VLINE 149,7829 -#define CRTC_CRNT_FRAME 150,7885 -#define CRTC_GUI_TRIG_VLINE 151,7939 -#define CRTC_DEBUG 152,7993 -#define CRTC_OFFSET_RIGHT 153,8047 -#define CRTC_OFFSET 154,8103 -#define CRTC_OFFSET_CNTL 155,8159 -#define CRTC_PITCH 156,8215 -#define OVR_CLR 157,8271 -#define OVR_WID_LEFT_RIGHT 158,8327 -#define OVR_WID_TOP_BOTTOM 159,8383 -#define DISPLAY_BASE_ADDR 160,8439 -#define SNAPSHOT_VH_COUNTS 161,8495 -#define SNAPSHOT_F_COUNT 162,8551 -#define N_VIF_COUNT 163,8607 -#define SNAPSHOT_VIF_COUNT 164,8663 -#define FP_CRTC_H_TOTAL_DISP 165,8719 -#define FP_CRTC_V_TOTAL_DISP 166,8775 -#define CRT_CRTC_H_SYNC_STRT_WID 167,8831 -#define CRT_CRTC_V_SYNC_STRT_WID 168,8885 -#define CUR_OFFSET 169,8939 -#define CUR_HORZ_VERT_POSN 170,8993 -#define CUR_HORZ_VERT_OFF 171,9049 -#define CUR_CLR0 172,9105 -#define CUR_CLR1 173,9161 -#define FP_HORZ_VERT_ACTIVE 174,9217 -#define CRTC_MORE_CNTL 175,9273 -#define CRTC_H_CUTOFF_ACTIVE_EN 176,9329 -#define CRTC_V_CUTOFF_ACTIVE_EN 177,9383 -#define DAC_EXT_CNTL 178,9437 -#define FP_GEN_CNTL 179,9493 -#define FP_HORZ_STRETCH 180,9549 -#define FP_VERT_STRETCH 181,9605 -#define FP_H_SYNC_STRT_WID 182,9661 -#define FP_V_SYNC_STRT_WID 183,9717 -#define AUX_WINDOW_HORZ_CNTL 184,9773 -#define AUX_WINDOW_VERT_CNTL 185,9829 -#define DVI_I2C_CNTL_1 188,9959 -#define GRPH_BUFFER_CNTL 189,9998 -#define GRPH2_BUFFER_CNTL 190,10052 -#define VGA_BUFFER_CNTL 191,10106 -#define OV0_Y_X_START 192,10160 -#define OV0_Y_X_END 193,10214 -#define OV0_PIPELINE_CNTL 194,10270 -#define OV0_REG_LOAD_CNTL 195,10326 -#define OV0_SCALE_CNTL 196,10382 -#define OV0_V_INC 197,10438 -#define OV0_P1_V_ACCUM_INIT 198,10494 -#define OV0_P23_V_ACCUM_INIT 199,10550 -#define OV0_P1_BLANK_LINES_AT_TOP 200,10606 -#define OV0_P23_BLANK_LINES_AT_TOP 201,10662 -#define OV0_BASE_ADDR 202,10718 -#define OV0_VID_BUF0_BASE_ADRS 203,10774 -#define OV0_VID_BUF1_BASE_ADRS 204,10830 -#define OV0_VID_BUF2_BASE_ADRS 205,10886 -#define OV0_VID_BUF3_BASE_ADRS 206,10942 -#define OV0_VID_BUF4_BASE_ADRS 207,10998 -#define OV0_VID_BUF5_BASE_ADRS 208,11052 -#define OV0_VID_BUF_PITCH0_VALUE 209,11106 -#define OV0_VID_BUF_PITCH1_VALUE 210,11160 -#define OV0_AUTO_FLIP_CNTRL 211,11216 -#define OV0_DEINTERLACE_PATTERN 212,11272 -#define OV0_SUBMIT_HISTORY 213,11328 -#define OV0_H_INC 214,11384 -#define OV0_STEP_BY 215,11440 -#define OV0_P1_H_ACCUM_INIT 216,11496 -#define OV0_P23_H_ACCUM_INIT 217,11552 -#define OV0_P1_X_START_END 218,11608 -#define OV0_P2_X_START_END 219,11664 -#define OV0_P3_X_START_END 220,11720 -#define OV0_FILTER_CNTL 221,11776 -#define OV0_FOUR_TAP_COEF_0 222,11832 -#define OV0_FOUR_TAP_COEF_1 223,11888 -#define OV0_FOUR_TAP_COEF_2 224,11944 -#define OV0_FOUR_TAP_COEF_3 225,11998 -#define OV0_FOUR_TAP_COEF_4 226,12052 -#define OV0_FLAG_CNTRL 227,12106 -#define OV0_SLICE_CNTL 228,12162 -#define OV0_VID_KEY_CLR_LOW 229,12218 -#define OV0_VID_KEY_CLR_HIGH 230,12274 -#define OV0_GRPH_KEY_CLR_LOW 231,12330 -#define OV0_GRPH_KEY_CLR_HIGH 232,12386 -#define OV0_KEY_CNTL 233,12442 -#define OV0_TEST 234,12498 -#define SUBPIC_CNTL 235,12554 -#define SUBPIC_DEFCOLCON 236,12610 -#define SUBPIC_Y_X_START 237,12666 -#define SUBPIC_Y_X_END 238,12722 -#define SUBPIC_V_INC 239,12778 -#define SUBPIC_H_INC 240,12834 -#define SUBPIC_BUF0_OFFSET 241,12890 -#define SUBPIC_BUF1_OFFSET 242,12944 -#define SUBPIC_LC0_OFFSET 243,12998 -#define SUBPIC_LC1_OFFSET 244,13052 -#define SUBPIC_PITCH 245,13108 -#define SUBPIC_BTN_HLI_COLCON 246,13164 -#define SUBPIC_BTN_HLI_Y_X_START 247,13220 -#define SUBPIC_BTN_HLI_Y_X_END 248,13276 -#define SUBPIC_PALETTE_INDEX 249,13332 -#define SUBPIC_PALETTE_DATA 250,13388 -#define SUBPIC_H_ACCUM_INIT 251,13444 -#define SUBPIC_V_ACCUM_INIT 252,13500 -#define DISP_MISC_CNTL 253,13556 -#define DAC_MACRO_CNTL 254,13612 -#define DISP_PWR_MAN 255,13668 -#define DISP_TEST_DEBUG_CNTL 256,13724 -#define DISP_HW_DEBUG 257,13780 -#define DAC_CRC_SIG1 258,13836 -#define DAC_CRC_SIG2 259,13890 -#define OV0_LIN_TRANS_A 260,13944 -#define OV0_LIN_TRANS_B 261,13998 -#define OV0_LIN_TRANS_C 262,14054 -#define OV0_LIN_TRANS_D 263,14110 -#define OV0_LIN_TRANS_E 264,14166 -#define OV0_LIN_TRANS_F 265,14222 -#define OV0_GAMMA_0_F 266,14278 -#define OV0_GAMMA_10_1F 267,14334 -#define OV0_GAMMA_20_3F 268,14390 -#define OV0_GAMMA_40_7F 269,14446 -#define OV0_GAMMA_380_3BF 270,14502 -#define OV0_GAMMA_3C0_3FF 271,14558 -#define DISP_MERGE_CNTL 272,14614 -#define DISP_OUTPUT_CNTL 273,14670 -#define DISP_LIN_TRANS_GRPH_A 274,14726 -#define DISP_LIN_TRANS_GRPH_B 275,14782 -#define DISP_LIN_TRANS_GRPH_C 276,14836 -#define DISP_LIN_TRANS_GRPH_D 277,14890 -#define DISP_LIN_TRANS_GRPH_E 278,14944 -#define DISP_LIN_TRANS_GRPH_F 279,15000 -#define DISP_LIN_TRANS_VID_A 280,15056 -#define DISP_LIN_TRANS_VID_B 281,15112 -#define DISP_LIN_TRANS_VID_C 282,15168 -#define DISP_LIN_TRANS_VID_D 283,15224 -#define DISP_LIN_TRANS_VID_E 284,15280 -#define DISP_LIN_TRANS_VID_F 285,15336 -#define RMX_HORZ_FILTER_0TAP_COEF 286,15392 -#define RMX_HORZ_FILTER_1TAP_COEF 287,15448 -#define RMX_HORZ_FILTER_2TAP_COEF 288,15504 -#define RMX_HORZ_PHASE 289,15560 -#define DAC_EMBEDDED_SYNC_CNTL 290,15616 -#define DAC_BROAD_PULSE 291,15672 -#define DAC_SKEW_CLKS 292,15728 -#define DAC_INCR 293,15782 -#define DAC_NEG_SYNC_LEVEL 294,15836 -#define DAC_POS_SYNC_LEVEL 295,15890 -#define DAC_BLANK_LEVEL 296,15946 -#define CLOCK_CNTL_INDEX 297,16002 -#define CLOCK_CNTL_DATA 298,16058 -#define CP_RB_CNTL 299,16114 -#define CP_RB_BASE 300,16170 -#define CP_RB_RPTR_ADDR 301,16226 -#define CP_RB_RPTR 302,16282 -#define CP_RB_WPTR 303,16338 -#define CP_RB_WPTR_DELAY 304,16394 -#define CP_IB_BASE 305,16450 -#define CP_IB_BUFSZ 306,16506 -#define SCRATCH_REG0 307,16562 -#define GUI_SCRATCH_REG0 308,16618 -#define SCRATCH_REG1 309,16674 -#define GUI_SCRATCH_REG1 310,16730 -#define SCRATCH_REG2 311,16786 -#define GUI_SCRATCH_REG2 312,16840 -#define SCRATCH_REG3 313,16894 -#define GUI_SCRATCH_REG3 314,16948 -#define SCRATCH_REG4 315,17004 -#define GUI_SCRATCH_REG4 316,17060 -#define SCRATCH_REG5 317,17116 -#define GUI_SCRATCH_REG5 318,17172 -#define SCRATCH_UMSK 319,17228 -#define SCRATCH_ADDR 320,17284 -#define DP_BRUSH_FRGD_CLR 321,17340 -#define DP_BRUSH_BKGD_CLR 322,17396 -#define DST_LINE_START 323,17450 -#define DST_LINE_END 324,17504 -#define SRC_OFFSET 325,17560 -#define SRC_PITCH 326,17616 -#define SRC_TILE 327,17670 -#define SRC_PITCH_OFFSET 328,17724 -#define SRC_X 329,17778 -#define SRC_Y 330,17834 -#define SRC_X_Y 331,17890 -#define SRC_Y_X 332,17946 -#define DST_Y_X 333,18002 -#define DST_WIDTH_HEIGHT 334,18035 -#define DST_HEIGHT_WIDTH 335,18075 -#define DST_OFFSET 336,18115 -#define SRC_CLUT_ADDRESS 337,18169 -#define SRC_CLUT_DATA 338,18225 -#define SRC_CLUT_DATA_RD 339,18281 -#define HOST_DATA0 340,18337 -#define HOST_DATA1 341,18393 -#define HOST_DATA2 342,18449 -#define HOST_DATA3 343,18505 -#define HOST_DATA4 344,18561 -#define HOST_DATA5 345,18617 -#define HOST_DATA6 346,18673 -#define HOST_DATA7 347,18729 -#define HOST_DATA_LAST 348,18783 -#define DP_SRC_ENDIAN 349,18837 -#define DP_SRC_FRGD_CLR 350,18891 -#define DP_SRC_BKGD_CLR 351,18947 -#define SC_LEFT 352,19003 -#define SC_RIGHT 353,19059 -#define SC_TOP 354,19115 -#define SC_BOTTOM 355,19171 -#define SRC_SC_RIGHT 356,19227 -#define SRC_SC_BOTTOM 357,19283 -#define DP_CNTL 358,19339 -#define DP_CNTL_XDIR_YDIR_YMAJOR 359,19395 -#define DP_DATATYPE 360,19451 -#define DP_MIX 361,19507 -#define DP_WRITE_MSK 362,19563 -#define DP_XOP 363,19619 -#define CLR_CMP_CLR_SRC 364,19675 -#define CLR_CMP_CLR_DST 365,19729 -#define CLR_CMP_CNTL 366,19783 -#define CLR_CMP_MSK 367,19837 -#define DSTCACHE_MODE 368,19893 -#define DSTCACHE_CTLSTAT 369,19949 -#define DEFAULT_PITCH_OFFSET 370,20005 -#define DEFAULT_SC_BOTTOM_RIGHT 371,20061 -#define DEFAULT_SC_TOP_LEFT 372,20117 -#define SRC_PITCH_OFFSET 373,20171 -#define DST_PITCH_OFFSET 374,20225 -#define DP_GUI_MASTER_CNTL 375,20279 -#define SC_TOP_LEFT 376,20335 -#define SC_BOTTOM_RIGHT 377,20391 -#define SRC_SC_BOTTOM_RIGHT 378,20447 -#define RB2D_DSTCACHE_MODE 379,20503 -#define RB2D_DSTCACHE_CTLSTAT 380,20545 -#define LVDS_GEN_CNTL 381,20590 -#define LVDS_PLL_CNTL 382,20628 -#define FP2_GEN_CNTL 383,20666 -#define TMDS_CNTL 384,20720 -#define TMDS_CRC 385,20774 -#define TMDS_TRANSMITTER_CNTL 386,20807 -#define MPP_TB_CONFIG 387,20852 -#define BIOS_0_SCRATCH 390,20937 -#define BIOS_1_SCRATCH 391,20976 -#define BIOS_2_SCRATCH 392,21015 -#define BIOS_3_SCRATCH 393,21054 -#define BIOS_4_SCRATCH 394,21093 -#define BIOS_5_SCRATCH 395,21132 -#define BIOS_6_SCRATCH 396,21171 -#define BIOS_7_SCRATCH 397,21210 -#define HDP_SOFT_RESET 399,21250 -#define TV_DAC_CNTL 401,21308 -#define GPIOPAD_MASK 402,21362 -#define GPIOPAD_A 403,21416 -#define GPIOPAD_EN 404,21470 -#define GPIOPAD_Y 405,21524 -#define ZV_LCDPAD_MASK 406,21578 -#define ZV_LCDPAD_A 407,21632 -#define ZV_LCDPAD_EN 408,21686 -#define ZV_LCDPAD_Y 409,21740 -#define CLK_PIN_CNTL 412,21815 -#define PPLL_CNTL 413,21873 -#define PPLL_REF_DIV 414,21931 -#define PPLL_DIV_0 415,21989 -#define PPLL_DIV_1 416,22047 -#define PPLL_DIV_2 417,22105 -#define PPLL_DIV_3 418,22163 -#define VCLK_ECP_CNTL 419,22221 -#define HTOTAL_CNTL 420,22279 -#define X_MPLL_REF_FB_DIV 421,22337 -#define AGP_PLL_CNTL 422,22395 -#define SPLL_CNTL 423,22453 -#define SCLK_CNTL 424,22511 -#define MPLL_CNTL 425,22569 -#define MDLL_CKO 426,22627 -#define MDLL_RDCKA 427,22685 -#define MCLK_CNTL 428,22743 -#define AGP_PLL_CNTL 429,22801 -#define PLL_TEST_CNTL 430,22859 -#define CLK_PWRMGT_CNTL 431,22917 -#define PLL_PWRMGT_CNTL 432,22975 -#define MCLK_MISC 433,23033 -#define P2PLL_CNTL 434,23091 -#define P2PLL_REF_DIV 435,23149 -#define PIXCLKS_CNTL 436,23207 -#define SCLK_MORE_CNTL 437,23265 -#define FORCEON_MCLKA 440,23332 -#define FORCEON_MCLKB 441,23370 -#define FORCEON_YCLKA 442,23419 -#define FORCEON_YCLKB 443,23472 -#define FORCEON_MC 444,23521 -#define FORCEON_AIC 445,23570 -#define DYN_STOP_LAT_MASK 448,23650 -#define CP_MAX_DYN_STOP_LAT 449,23692 -#define SCLK_FORCEON_MASK 450,23732 -#define SCLK_MORE_FORCEON 453,23810 -#define BUS_DBL_RESYNC 456,23878 -#define BUS_MSTR_RESET 457,23940 -#define BUS_FLUSH_BUF 458,24002 -#define BUS_STOP_REQ_DIS 459,24064 -#define BUS_ROTATION_DIS 460,24126 -#define BUS_MASTER_DIS 461,24188 -#define BUS_ROM_WRT_EN 462,24250 -#define BUS_DIS_ROM 463,24312 -#define BUS_PCI_READ_RETRY_EN 464,24374 -#define BUS_AGP_AD_STEPPING_EN 465,24436 -#define BUS_PCI_WRT_RETRY_EN 466,24498 -#define BUS_MSTR_RD_MULT 467,24560 -#define BUS_MSTR_RD_LINE 468,24622 -#define BUS_SUSPEND 469,24684 -#define LAT_16X 470,24746 -#define BUS_RD_DISCARD_EN 471,24808 -#define BUS_RD_ABORT_EN 472,24870 -#define BUS_MSTR_WS 473,24932 -#define BUS_PARKING_DIS 474,24994 -#define BUS_MSTR_DISCONNECT_EN 475,25056 -#define BUS_WRT_BURST 476,25118 -#define BUS_READ_BURST 477,25180 -#define BUS_RDY_READ_DLY 478,25242 -#define PIX2CLK_SRC_SEL_MASK 481,25324 -#define PIX2CLK_SRC_SEL_CPUCLK 482,25380 -#define PIX2CLK_SRC_SEL_PSCANCLK 483,25436 -#define PIX2CLK_SRC_SEL_BYTECLK 484,25492 -#define PIX2CLK_SRC_SEL_P2PLLCLK 485,25548 -#define PIX2CLK_ALWAYS_ONb 486,25604 -#define PIX2CLK_DAC_ALWAYS_ONb 487,25662 -#define PIXCLK_TV_SRC_SEL 488,25720 -#define PIXCLK_LVDS_ALWAYS_ONb 489,25780 -#define PIXCLK_TMDS_ALWAYS_ONb 490,25841 -#define PLL_WR_EN 494,25941 -#define CFG_VGA_RAM_EN 497,26036 -#define CFG_ATI_REV_ID_MASK 498,26098 -#define CFG_ATI_REV_A11 499,26143 -#define VGA_ATI_LINEAR 502,26218 -#define VGA_128KAP_PAGING 503,26280 -#define XCRT_CNT_EN 504,26342 -#define CRTC_HSYNC_DIS 505,26377 -#define CRTC_VSYNC_DIS 506,26415 -#define CRTC_DISPLAY_DIS 507,26453 -#define CRTC_CRT_ON 508,26493 -#define RB2D_DC_FLUSH 512,26568 -#define RB2D_DC_FLUSH_ALL 513,26605 -#define RB2D_DC_BUSY 514,26640 -#define CRTC_DBL_SCAN_EN 518,26713 -#define CRTC_CUR_EN 519,26775 -#define CRTC_INTERLACE_EN 520,26837 -#define CRTC_BYPASS_LUT_EN 521,26877 -#define CRTC_EXT_DISP_EN 522,26924 -#define CRTC_EN 523,26970 -#define CRTC_DISP_REQ_EN_B 524,27003 -#define CRTC_VBLANK 527,27097 -#define CRT2_ON 530,27195 -#define CRTC2_DISPLAY_DIS 531,27255 -#define CRTC2_EN 532,27316 -#define CRTC2_DISP_REQ_EN_B 533,27377 -#define CUR_LOCK 536,27509 -#define GPIO_A_0 539,27597 -#define GPIO_A_1 540,27625 -#define GPIO_Y_0 541,27653 -#define GPIO_Y_1 542,27681 -#define GPIO_EN_0 543,27709 -#define GPIO_EN_1 544,27738 -#define GPIO_MASK_0 545,27767 -#define GPIO_MASK_1 546,27798 -#define VGA_DDC_DATA_OUTPUT 547,27829 -#define VGA_DDC_CLK_OUTPUT 548,27866 -#define VGA_DDC_DATA_INPUT 549,27902 -#define VGA_DDC_CLK_INPUT 550,27938 -#define VGA_DDC_DATA_OUT_EN 551,27973 -#define VGA_DDC_CLK_OUT_EN 552,28011 -#define FP_CRTC_H_TOTAL_MASK 556,28073 -#define FP_CRTC_H_DISP_MASK 557,28118 -#define FP_CRTC_V_TOTAL_MASK 558,28162 -#define FP_CRTC_V_DISP_MASK 559,28207 -#define FP_H_SYNC_STRT_CHAR_MASK 560,28251 -#define FP_H_SYNC_WID_MASK 561,28299 -#define FP_V_SYNC_STRT_MASK 562,28342 -#define FP_V_SYNC_WID_MASK 563,28386 -#define FP_CRTC_H_TOTAL_SHIFT 564,28429 -#define FP_CRTC_H_DISP_SHIFT 565,28475 -#define FP_CRTC_V_TOTAL_SHIFT 566,28520 -#define FP_CRTC_V_DISP_SHIFT 567,28566 -#define FP_H_SYNC_STRT_CHAR_SHIFT 568,28611 -#define FP_H_SYNC_WID_SHIFT 569,28660 -#define FP_V_SYNC_STRT_SHIFT 570,28704 -#define FP_V_SYNC_WID_SHIFT 571,28749 -#define FP_FPON 574,28826 -#define FP_TMDS_EN 575,28858 -#define FP_EN_TMDS 576,28892 -#define FP_DETECT_SENSE 577,28926 -#define FP_SEL_CRTC2 578,28965 -#define FP_CRTC_DONT_SHADOW_HPAR 579,29002 -#define FP_CRTC_DONT_SHADOW_VPAR 580,29049 -#define FP_CRTC_DONT_SHADOW_HEND 581,29096 -#define FP_CRTC_USE_SHADOW_VEND 582,29143 -#define FP_RMX_HVSYNC_CONTROL_EN 583,29190 -#define FP_DFP_SYNC_SEL 584,29237 -#define FP_CRTC_LOCK_8DOT 585,29277 -#define FP_CRT_SYNC_SEL 586,29318 -#define FP_USE_SHADOW_EN 587,29358 -#define FP_CRT_SYNC_ALT 588,29398 -#define FP2_BLANK_EN 591,29472 -#define FP2_ON 592,29515 -#define FP2_PANEL_FORMAT 593,29558 -#define FP2_SOURCE_SEL_MASK 594,29601 -#define FP2_SOURCE_SEL_CRTC2 595,29644 -#define FP2_SRC_SEL_MASK 596,29687 -#define FP2_SRC_SEL_CRTC2 597,29730 -#define FP2_FP_POL 598,29773 -#define FP2_LP_POL 599,29816 -#define FP2_SCK_POL 600,29859 -#define FP2_LCD_CNTL_MASK 601,29902 -#define FP2_PAD_FLOP_EN 602,29945 -#define FP2_CRC_EN 603,29988 -#define FP2_CRC_READ_EN 604,30031 -#define FP2_DV0_EN 605,30074 -#define FP2_DV0_RATE_SEL_SDR 606,30117 -#define LVDS_ON 610,30196 -#define LVDS_DISPLAY_DIS 611,30228 -#define LVDS_PANEL_TYPE 612,30267 -#define LVDS_PANEL_FORMAT 613,30306 -#define LVDS_EN 614,30346 -#define LVDS_BL_MOD_LEVEL_MASK 615,30378 -#define LVDS_BL_MOD_LEVEL_SHIFT 616,30425 -#define LVDS_BL_MOD_EN 617,30464 -#define LVDS_DIGON 618,30503 -#define LVDS_BLON 619,30538 -#define LVDS_SEL_CRTC2 620,30572 -#define LVDS_STATE_MASK 621,30611 -#define HSYNC_DELAY_SHIFT 626,30766 -#define HSYNC_DELAY_MASK 627,30802 -#define TMDS_PLL_EN 630,30889 -#define TMDS_PLLRST 631,30924 -#define TMDS_RAN_PAT_RST 632,30959 -#define TMDS_ICHCSEL 633,30998 -#define HORZ_STRETCH_RATIO_MASK 636,31072 -#define HORZ_STRETCH_RATIO_MAX 637,31116 -#define HORZ_PANEL_SIZE 638,31157 -#define HORZ_PANEL_SHIFT 639,31201 -#define HORZ_STRETCH_PIXREP 640,31234 -#define HORZ_STRETCH_BLEND 641,31277 -#define HORZ_STRETCH_ENABLE 642,31319 -#define HORZ_AUTO_RATIO 643,31362 -#define HORZ_FP_LOOP_STRETCH 644,31402 -#define HORZ_AUTO_RATIO_INC 645,31448 -#define VERT_STRETCH_RATIO_MASK 649,31529 -#define VERT_STRETCH_RATIO_MAX 650,31572 -#define VERT_PANEL_SIZE 651,31613 -#define VERT_PANEL_SHIFT 652,31657 -#define VERT_STRETCH_LINREP 653,31690 -#define VERT_STRETCH_BLEND 654,31733 -#define VERT_STRETCH_ENABLE 655,31775 -#define VERT_AUTO_RATIO_EN 656,31818 -#define VERT_FP_LOOP_STRETCH 657,31860 -#define VERT_STRETCH_RESERVED 658,31906 -#define DAC_8BIT_EN 661,31985 -#define DAC_4BPP_PIX_ORDER 662,32047 -#define DAC_CRC_EN 663,32109 -#define DAC_MASK_ALL 664,32171 -#define DAC_PDWN 665,32211 -#define DAC_EXPAND_MODE 666,32272 -#define DAC_VGA_ADR_EN 667,32312 -#define DAC_RANGE_CNTL 668,32351 -#define DAC_RANGE_CNTL_MASK 669,32390 -#define DAC_BLANKING 670,32432 -#define DAC_CMP_EN 671,32469 -#define DAC_CMP_OUTPUT 672,32530 -#define DAC2_CMP_EN 675,32625 -#define DAC2_PALETTE_ACCESS_CNTL 676,32685 -#define DAC_FORCE_BLANK_OFF_EN 679,32779 -#define DAC_FORCE_DATA_EN 680,32839 -#define DAC_FORCE_DATA_SEL_MASK 681,32899 -#define DAC_FORCE_DATA_MASK 682,32959 -#define DAC_FORCE_DATA_SHIFT 683,33021 -#define SOFT_RESET_GUI 686,33110 -#define SOFT_RESET_VCLK 687,33172 -#define SOFT_RESET_PCLK 688,33234 -#define SOFT_RESET_ECP 689,33296 -#define SOFT_RESET_DISPENG_XCLK 690,33358 -#define MEM_CTLR_STATUS_IDLE 693,33450 -#define MEM_CTLR_STATUS_BUSY 694,33512 -#define MEM_SEQNCR_STATUS_IDLE 695,33574 -#define MEM_SEQNCR_STATUS_BUSY 696,33636 -#define MEM_ARBITER_STATUS_IDLE 697,33698 -#define MEM_ARBITER_STATUS_BUSY 698,33760 -#define MEM_REQ_UNLOCK 699,33822 -#define MEM_REQ_LOCK 700,33884 -#define SOFT_RESET_CP 704,33984 -#define SOFT_RESET_HI 705,34031 -#define SOFT_RESET_SE 706,34078 -#define SOFT_RESET_RE 707,34125 -#define SOFT_RESET_PP 708,34172 -#define SOFT_RESET_E2 709,34219 -#define SOFT_RESET_RB 710,34266 -#define SOFT_RESET_HDP 711,34313 -#define SURF_TRANSLATION_DIS 714,34393 -#define NONSURF_AP0_SWP_16BPP 715,34436 -#define NONSURF_AP0_SWP_32BPP 716,34481 -#define NONSURF_AP1_SWP_16BPP 717,34526 -#define NONSURF_AP1_SWP_32BPP 718,34571 -#define DEFAULT_SC_RIGHT_MAX 721,34661 -#define DEFAULT_SC_BOTTOM_MAX 722,34709 -#define MM_APER 725,34789 -#define COMPARE_SRC_FALSE 728,34885 -#define COMPARE_SRC_TRUE 729,34947 -#define COMPARE_SRC_NOT_EQUAL 730,35009 -#define COMPARE_SRC_EQUAL 731,35071 -#define COMPARE_SRC_EQUAL_FLIP 732,35133 -#define COMPARE_DST_FALSE 733,35195 -#define COMPARE_DST_TRUE 734,35257 -#define COMPARE_DST_NOT_EQUAL 735,35319 -#define COMPARE_DST_EQUAL 736,35381 -#define COMPARE_DESTINATION 737,35443 -#define COMPARE_SOURCE 738,35505 -#define COMPARE_SRC_AND_DST 739,35567 -#define DST_X_RIGHT_TO_LEFT 743,35659 -#define DST_X_LEFT_TO_RIGHT 744,35721 -#define DST_Y_BOTTOM_TO_TOP 745,35783 -#define DST_Y_TOP_TO_BOTTOM 746,35845 -#define DST_X_MAJOR 747,35907 -#define DST_Y_MAJOR 748,35969 -#define DST_X_TILE 749,36031 -#define DST_Y_TILE 750,36093 -#define DST_LAST_PEL 751,36155 -#define DST_TRAIL_X_RIGHT_TO_LEFT 752,36217 -#define DST_TRAIL_X_LEFT_TO_RIGHT 753,36279 -#define DST_TRAP_FILL_RIGHT_TO_LEFT 754,36341 -#define DST_TRAP_FILL_LEFT_TO_RIGHT 755,36403 -#define DST_BRES_SIGN 756,36465 -#define DST_HOST_BIG_ENDIAN_EN 757,36527 -#define DST_POLYLINE_NONLAST 758,36589 -#define DST_RASTER_STALL 759,36651 -#define DST_POLY_EDGE 760,36713 -#define DST_X_MAJOR_S 764,36849 -#define DST_Y_MAJOR_S 765,36911 -#define DST_Y_BOTTOM_TO_TOP_S 766,36973 -#define DST_Y_TOP_TO_BOTTOM_S 767,37035 -#define DST_X_RIGHT_TO_LEFT_S 768,37097 -#define DST_X_LEFT_TO_RIGHT_S 769,37159 -#define DST_8BPP 773,37255 -#define DST_15BPP 774,37317 -#define DST_16BPP 775,37379 -#define DST_24BPP 776,37441 -#define DST_32BPP 777,37503 -#define DST_8BPP_RGB332 778,37565 -#define DST_8BPP_Y8 779,37627 -#define DST_8BPP_RGB8 780,37689 -#define DST_16BPP_VYUY422 781,37751 -#define DST_16BPP_YVYU422 782,37813 -#define DST_32BPP_AYUV444 783,37875 -#define DST_16BPP_ARGB4444 784,37937 -#define BRUSH_SOLIDCOLOR 785,37999 -#define SRC_MONO 786,38061 -#define SRC_MONO_LBKGD 787,38123 -#define SRC_DSTCOLOR 788,38185 -#define BYTE_ORDER_MSB_TO_LSB 789,38247 -#define BYTE_ORDER_LSB_TO_MSB 790,38309 -#define DP_CONVERSION_TEMP 791,38371 -#define HOST_BIG_ENDIAN_EN 792,38433 -#define GMC_SRC_PITCH_OFFSET_DEFAULT 796,38516 -#define GMC_SRC_PITCH_OFFSET_LEAVE 797,38578 -#define GMC_DST_PITCH_OFFSET_DEFAULT 798,38640 -#define GMC_DST_PITCH_OFFSET_LEAVE 799,38702 -#define GMC_SRC_CLIP_DEFAULT 800,38764 -#define GMC_SRC_CLIP_LEAVE 801,38826 -#define GMC_DST_CLIP_DEFAULT 802,38888 -#define GMC_DST_CLIP_LEAVE 803,38950 -#define GMC_BRUSH_8x8MONO 804,39012 -#define GMC_BRUSH_8x8MONO_LBKGD 805,39074 -#define GMC_BRUSH_8x1MONO 806,39136 -#define GMC_BRUSH_8x1MONO_LBKGD 807,39198 -#define GMC_BRUSH_1x8MONO 808,39260 -#define GMC_BRUSH_1x8MONO_LBKGD 809,39322 -#define GMC_BRUSH_32x1MONO 810,39384 -#define GMC_BRUSH_32x1MONO_LBKGD 811,39446 -#define GMC_BRUSH_32x32MONO 812,39508 -#define GMC_BRUSH_32x32MONO_LBKGD 813,39570 -#define GMC_BRUSH_8x8COLOR 814,39632 -#define GMC_BRUSH_8x1COLOR 815,39694 -#define GMC_BRUSH_1x8COLOR 816,39756 -#define GMC_BRUSH_SOLID_COLOR 817,39818 -#define GMC_DST_8BPP 818,39881 -#define GMC_DST_15BPP 819,39943 -#define GMC_DST_16BPP 820,40005 -#define GMC_DST_24BPP 821,40067 -#define GMC_DST_32BPP 822,40129 -#define GMC_DST_8BPP_RGB332 823,40191 -#define GMC_DST_8BPP_Y8 824,40253 -#define GMC_DST_8BPP_RGB8 825,40315 -#define GMC_DST_16BPP_VYUY422 826,40377 -#define GMC_DST_16BPP_YVYU422 827,40439 -#define GMC_DST_32BPP_AYUV444 828,40501 -#define GMC_DST_16BPP_ARGB4444 829,40563 -#define GMC_SRC_MONO 830,40625 -#define GMC_SRC_MONO_LBKGD 831,40687 -#define GMC_SRC_DSTCOLOR 832,40749 -#define GMC_BYTE_ORDER_MSB_TO_LSB 833,40811 -#define GMC_BYTE_ORDER_LSB_TO_MSB 834,40873 -#define GMC_DP_CONVERSION_TEMP_9300 835,40935 -#define GMC_DP_CONVERSION_TEMP_6500 836,40997 -#define GMC_DP_SRC_RECT 837,41059 -#define GMC_DP_SRC_HOST 838,41121 -#define GMC_DP_SRC_HOST_BYTEALIGN 839,41183 -#define GMC_3D_FCN_EN_CLR 840,41245 -#define GMC_3D_FCN_EN_SET 841,41307 -#define GMC_DST_CLR_CMP_FCN_LEAVE 842,41369 -#define GMC_DST_CLR_CMP_FCN_CLEAR 843,41431 -#define GMC_AUX_CLIP_LEAVE 844,41493 -#define GMC_AUX_CLIP_CLEAR 845,41555 -#define GMC_WRITE_MASK_LEAVE 846,41617 -#define GMC_WRITE_MASK_SET 847,41679 -#define GMC_CLR_CMP_CNTL_DIS 848,41741 -#define GMC_SRC_DATATYPE_COLOR 849,41790 -#define ROP3_S 850,41836 -#define ROP3_SRCCOPY 851,41883 -#define ROP3_P 852,41921 -#define ROP3_PATCOPY 853,41968 -#define DP_SRC_SOURCE_MASK 854,42006 -#define GMC_BRUSH_NONE 855,42058 -#define DP_SRC_SOURCE_MEMORY 856,42110 -#define GMC_BRUSH_SOLIDCOLOR 857,42157 -#define DP_SRC_RECT 860,42230 -#define DP_SRC_HOST 861,42292 -#define DP_SRC_HOST_BYTEALIGN 862,42354 -#define MPLL_RESET 865,42447 -#define MCKOA_SLEEP 868,42539 -#define MCKOA_RESET 869,42601 -#define MCKOA_REF_SKEW_MASK 870,42663 -#define MCKOA_FB_SKEW_MASK 871,42725 -#define MRDCKA0_SLEEP 874,42819 -#define MRDCKA0_RESET 875,42881 -#define MRDCKA1_SLEEP 876,42943 -#define MRDCKA1_RESET 877,43005 -#define VCLK_SRC_SEL_MASK 880,43098 -#define VCLK_SRC_SEL_CPUCLK 881,43154 -#define VCLK_SRC_SEL_PSCANCLK 882,43210 -#define VCLK_SRC_SEL_BYTECLK 883,43266 -#define VCLK_SRC_SEL_PPLLCLK 884,43319 -#define PIXCLK_ALWAYS_ONb 885,43358 -#define PIXCLK_DAC_ALWAYS_ONb 886,43420 -#define BUS_CNTL1_MOBILE_PLATFORM_SEL_MASK 889,43509 -#define BUS_CNTL1_MOBILE_PLATFORM_SEL_SHIFT 890,43571 -#define BUS_CNTL1_AGPCLK_VALID 891,43625 -#define PLL_PWRMGT_CNTL_SPLL_TURNOFF 894,43720 -#define PLL_PWRMGT_CNTL_PPLL_TURNOFF 895,43782 -#define PLL_PWRMGT_CNTL_P2PLL_TURNOFF 896,43844 -#define PLL_PWRMGT_CNTL_TVPLL_TURNOFF 897,43906 -#define PLL_PWRMGT_CNTL_MOBILE_SU 898,43968 -#define PLL_PWRMGT_CNTL_SU_SCLK_USE_BCLK 899,44030 -#define PLL_PWRMGT_CNTL_SU_MCLK_USE_BCLK 900,44092 -#define TV_DAC_CNTL_BGSLEEP 903,44183 -#define TV_DAC_CNTL_DETECT 904,44245 -#define TV_DAC_CNTL_BGADJ_MASK 905,44307 -#define TV_DAC_CNTL_DACADJ_MASK 906,44369 -#define TV_DAC_CNTL_BGADJ__SHIFT 907,44431 -#define TV_DAC_CNTL_DACADJ__SHIFT 908,44485 -#define TV_DAC_CNTL_RDACPD 909,44539 -#define TV_DAC_CNTL_GDACPD 910,44601 -#define TV_DAC_CNTL_BDACPD 911,44663 -#define DISP_MISC_CNTL_SOFT_RESET_GRPH_PP 914,44757 -#define DISP_MISC_CNTL_SOFT_RESET_SUBPIC_PP 915,44817 -#define DISP_MISC_CNTL_SOFT_RESET_OV0_PP 916,44877 -#define DISP_MISC_CNTL_SOFT_RESET_GRPH_SCLK 917,44937 -#define DISP_MISC_CNTL_SOFT_RESET_SUBPIC_SCLK 918,44997 -#define DISP_MISC_CNTL_SOFT_RESET_OV0_SCLK 919,45057 -#define DISP_MISC_CNTL_SOFT_RESET_GRPH2_PP 920,45117 -#define DISP_MISC_CNTL_SOFT_RESET_GRPH2_SCLK 921,45178 -#define DISP_MISC_CNTL_SOFT_RESET_LVDS 922,45239 -#define DISP_MISC_CNTL_SOFT_RESET_TMDS 923,45300 -#define DISP_MISC_CNTL_SOFT_RESET_DIG_TMDS 924,45361 -#define DISP_MISC_CNTL_SOFT_RESET_TV 925,45422 -#define DISP_PWR_MAN_DISP_PWR_MAN_D3_CRTC_EN 928,45513 -#define DISP_PWR_MAN_DISP2_PWR_MAN_D3_CRTC2_EN 929,45573 -#define DISP_PWR_MAN_DISP_D3_RST 930,45633 -#define DISP_PWR_MAN_DISP_D3_REG_RST 931,45694 -#define DISP_PWR_MAN_DISP_D3_GRPH_RST 932,45755 -#define DISP_PWR_MAN_DISP_D3_SUBPIC_RST 933,45816 -#define DISP_PWR_MAN_DISP_D3_OV0_RST 934,45877 -#define DISP_PWR_MAN_DISP_D1D2_GRPH_RST 935,45938 -#define DISP_PWR_MAN_DISP_D1D2_SUBPIC_RST 936,45999 -#define DISP_PWR_MAN_DISP_D1D2_OV0_RST 937,46060 -#define DISP_PWR_MAN_DIG_TMDS_ENABLE_RST 938,46121 -#define DISP_PWR_MAN_TV_ENABLE_RST 939,46182 -#define DISP_PWR_MAN_AUTO_PWRUP_EN 940,46243 -#define CONFIG_MEMSIZE_MASK 944,46318 -#define MEM_CFG_TYPE 945,46358 -#define DST_OFFSET_MASK 946,46392 -#define DST_PITCH_MASK 947,46429 -#define DEFAULT_TILE_MASK 948,46465 -#define PPLL_DIV_SEL_MASK 949,46503 -#define PPLL_RESET 950,46541 -#define PPLL_SLEEP 951,46573 -#define PPLL_ATOMIC_UPDATE_EN 952,46605 -#define PPLL_REF_DIV_MASK 953,46647 -#define PPLL_FB3_DIV_MASK 954,46685 -#define PPLL_POST3_DIV_MASK 955,46723 -#define PPLL_ATOMIC_UPDATE_R 956,46763 -#define PPLL_ATOMIC_UPDATE_W 957,46804 -#define PPLL_VGA_ATOMIC_UPDATE_EN 958,46845 -#define R300_PPLL_REF_DIV_ACC_MASK 959,46890 -#define R300_PPLL_REF_DIV_ACC_SHIFT 960,46939 -#define GUI_ACTIVE 962,46979 -#define MC_IND_INDEX 965,47013 -#define MC_IND_DATA 966,47067 -#define MEM_REFRESH_CNTL 967,47121 -#define CLK_PIN_CNTL__OSC_EN_MASK 970,47192 -#define CLK_PIN_CNTL__OSC_EN 971,47263 -#define CLK_PIN_CNTL__XTL_LOW_GAIN_MASK 972,47334 -#define CLK_PIN_CNTL__XTL_LOW_GAIN 973,47405 -#define CLK_PIN_CNTL__DONT_USE_XTALIN_MASK 974,47476 -#define CLK_PIN_CNTL__DONT_USE_XTALIN 975,47547 -#define CLK_PIN_CNTL__SLOW_CLOCK_SOURCE_MASK 976,47618 -#define CLK_PIN_CNTL__SLOW_CLOCK_SOURCE 977,47689 -#define CLK_PIN_CNTL__CG_CLK_TO_OUTPIN_MASK 978,47760 -#define CLK_PIN_CNTL__CG_CLK_TO_OUTPIN 979,47831 -#define CLK_PIN_CNTL__CG_COUNT_UP_TO_OUTPIN_MASK 980,47902 -#define CLK_PIN_CNTL__CG_COUNT_UP_TO_OUTPIN 981,47973 -#define CLK_PIN_CNTL__ACCESS_REGS_IN_SUSPEND_MASK 982,48044 -#define CLK_PIN_CNTL__ACCESS_REGS_IN_SUSPEND 983,48115 -#define CLK_PIN_CNTL__CG_SPARE_MASK 984,48186 -#define CLK_PIN_CNTL__CG_SPARE 985,48257 -#define CLK_PIN_CNTL__SCLK_DYN_START_CNTL_MASK 986,48328 -#define CLK_PIN_CNTL__SCLK_DYN_START_CNTL 987,48399 -#define CLK_PIN_CNTL__CP_CLK_RUNNING_MASK 988,48470 -#define CLK_PIN_CNTL__CP_CLK_RUNNING 989,48541 -#define CLK_PIN_CNTL__CG_SPARE_RD_MASK 990,48612 -#define CLK_PIN_CNTL__XTALIN_ALWAYS_ONb_MASK 991,48683 -#define CLK_PIN_CNTL__XTALIN_ALWAYS_ONb 992,48754 -#define CLK_PIN_CNTL__PWRSEQ_DELAY_MASK 993,48825 -#define CLK_PWRMGT_CNTL_M6__MPLL_PWRMGT_OFF__SHIFT 996,48919 -#define CLK_PWRMGT_CNTL_M6__SPLL_PWRMGT_OFF__SHIFT 997,48989 -#define CLK_PWRMGT_CNTL_M6__PPLL_PWRMGT_OFF__SHIFT 998,49059 -#define CLK_PWRMGT_CNTL_M6__P2PLL_PWRMGT_OFF__SHIFT 999,49129 -#define CLK_PWRMGT_CNTL_M6__MCLK_TURNOFF__SHIFT 1000,49199 -#define CLK_PWRMGT_CNTL_M6__SCLK_TURNOFF__SHIFT 1001,49269 -#define CLK_PWRMGT_CNTL_M6__PCLK_TURNOFF__SHIFT 1002,49339 -#define CLK_PWRMGT_CNTL_M6__P2CLK_TURNOFF__SHIFT 1003,49409 -#define CLK_PWRMGT_CNTL_M6__MC_CH_MODE__SHIFT 1004,49479 -#define CLK_PWRMGT_CNTL_M6__TEST_MODE__SHIFT 1005,49549 -#define CLK_PWRMGT_CNTL_M6__GLOBAL_PMAN_EN__SHIFT 1006,49619 -#define CLK_PWRMGT_CNTL_M6__ENGINE_DYNCLK_MODE__SHIFT 1007,49689 -#define CLK_PWRMGT_CNTL_M6__ACTIVE_HILO_LAT__SHIFT 1008,49759 -#define CLK_PWRMGT_CNTL_M6__DISP_DYN_STOP_LAT__SHIFT 1009,49829 -#define CLK_PWRMGT_CNTL_M6__MC_BUSY__SHIFT 1010,49899 -#define CLK_PWRMGT_CNTL_M6__MC_INT_CNTL__SHIFT 1011,49969 -#define CLK_PWRMGT_CNTL_M6__MC_SWITCH__SHIFT 1012,50039 -#define CLK_PWRMGT_CNTL_M6__DLL_READY__SHIFT 1013,50109 -#define CLK_PWRMGT_CNTL_M6__DISP_PM__SHIFT 1014,50179 -#define CLK_PWRMGT_CNTL_M6__DYN_STOP_MODE__SHIFT 1015,50249 -#define CLK_PWRMGT_CNTL_M6__CG_NO1_DEBUG__SHIFT 1016,50319 -#define CLK_PWRMGT_CNTL_M6__TVPLL_PWRMGT_OFF__SHIFT 1017,50389 -#define CLK_PWRMGT_CNTL_M6__TVCLK_TURNOFF__SHIFT 1018,50459 -#define P2PLL_CNTL__P2PLL_RESET_MASK 1021,50544 -#define P2PLL_CNTL__P2PLL_RESET 1022,50615 -#define P2PLL_CNTL__P2PLL_SLEEP_MASK 1023,50686 -#define P2PLL_CNTL__P2PLL_SLEEP 1024,50757 -#define P2PLL_CNTL__P2PLL_TST_EN_MASK 1025,50828 -#define P2PLL_CNTL__P2PLL_TST_EN 1026,50899 -#define P2PLL_CNTL__P2PLL_REFCLK_SEL_MASK 1027,50970 -#define P2PLL_CNTL__P2PLL_REFCLK_SEL 1028,51041 -#define P2PLL_CNTL__P2PLL_FBCLK_SEL_MASK 1029,51112 -#define P2PLL_CNTL__P2PLL_FBCLK_SEL 1030,51183 -#define P2PLL_CNTL__P2PLL_TCPOFF_MASK 1031,51254 -#define P2PLL_CNTL__P2PLL_TCPOFF 1032,51325 -#define P2PLL_CNTL__P2PLL_TVCOMAX_MASK 1033,51396 -#define P2PLL_CNTL__P2PLL_TVCOMAX 1034,51467 -#define P2PLL_CNTL__P2PLL_PCP_MASK 1035,51538 -#define P2PLL_CNTL__P2PLL_PVG_MASK 1036,51609 -#define P2PLL_CNTL__P2PLL_PDC_MASK 1037,51680 -#define P2PLL_CNTL__P2PLL_ATOMIC_UPDATE_EN_MASK 1038,51751 -#define P2PLL_CNTL__P2PLL_ATOMIC_UPDATE_EN 1039,51822 -#define P2PLL_CNTL__P2PLL_ATOMIC_UPDATE_SYNC_MASK 1040,51893 -#define P2PLL_CNTL__P2PLL_ATOMIC_UPDATE_SYNC 1041,51964 -#define P2PLL_CNTL__P2PLL_DISABLE_AUTO_RESET_MASK 1042,52035 -#define P2PLL_CNTL__P2PLL_DISABLE_AUTO_RESET 1043,52106 -#define PIXCLKS_CNTL__PIX2CLK_SRC_SEL__SHIFT 1046,52194 -#define PIXCLKS_CNTL__PIX2CLK_INVERT__SHIFT 1047,52264 -#define PIXCLKS_CNTL__PIX2CLK_SRC_INVERT__SHIFT 1048,52334 -#define PIXCLKS_CNTL__PIX2CLK_ALWAYS_ONb__SHIFT 1049,52404 -#define PIXCLKS_CNTL__PIX2CLK_DAC_ALWAYS_ONb__SHIFT 1050,52474 -#define PIXCLKS_CNTL__PIXCLK_TV_SRC_SEL__SHIFT 1051,52544 -#define PIXCLKS_CNTL__PIXCLK_BLEND_ALWAYS_ONb__SHIFT 1052,52614 -#define PIXCLKS_CNTL__PIXCLK_GV_ALWAYS_ONb__SHIFT 1053,52684 -#define PIXCLKS_CNTL__PIXCLK_DIG_TMDS_ALWAYS_ONb__SHIFT 1054,52754 -#define PIXCLKS_CNTL__PIXCLK_LVDS_ALWAYS_ONb__SHIFT 1055,52824 -#define PIXCLKS_CNTL__PIXCLK_TMDS_ALWAYS_ONb__SHIFT 1056,52894 -#define PIXCLKS_CNTL__PIX2CLK_SRC_SEL_MASK 1060,52982 -#define PIXCLKS_CNTL__PIX2CLK_INVERT_MASK 1061,53053 -#define PIXCLKS_CNTL__PIX2CLK_INVERT 1062,53124 -#define PIXCLKS_CNTL__PIX2CLK_SRC_INVERT_MASK 1063,53195 -#define PIXCLKS_CNTL__PIX2CLK_SRC_INVERT 1064,53266 -#define PIXCLKS_CNTL__PIX2CLK_ALWAYS_ONb_MASK 1065,53337 -#define PIXCLKS_CNTL__PIX2CLK_ALWAYS_ONb 1066,53408 -#define PIXCLKS_CNTL__PIX2CLK_DAC_ALWAYS_ONb_MASK 1067,53479 -#define PIXCLKS_CNTL__PIX2CLK_DAC_ALWAYS_ONb 1068,53550 -#define PIXCLKS_CNTL__PIXCLK_TV_SRC_SEL_MASK 1069,53621 -#define PIXCLKS_CNTL__PIXCLK_TV_SRC_SEL 1070,53692 -#define PIXCLKS_CNTL__PIXCLK_BLEND_ALWAYS_ONb_MASK 1071,53763 -#define PIXCLKS_CNTL__PIXCLK_BLEND_ALWAYS_ONb 1072,53834 -#define PIXCLKS_CNTL__PIXCLK_GV_ALWAYS_ONb_MASK 1073,53905 -#define PIXCLKS_CNTL__PIXCLK_GV_ALWAYS_ONb 1074,53976 -#define PIXCLKS_CNTL__PIXCLK_DIG_TMDS_ALWAYS_ONb_MASK 1075,54047 -#define PIXCLKS_CNTL__PIXCLK_DIG_TMDS_ALWAYS_ONb 1076,54118 -#define PIXCLKS_CNTL__PIXCLK_LVDS_ALWAYS_ONb_MASK 1077,54189 -#define PIXCLKS_CNTL__PIXCLK_LVDS_ALWAYS_ONb 1078,54260 -#define PIXCLKS_CNTL__PIXCLK_TMDS_ALWAYS_ONb_MASK 1079,54331 -#define PIXCLKS_CNTL__PIXCLK_TMDS_ALWAYS_ONb 1080,54402 -#define P2PLL_DIV_0__P2PLL_FB_DIV_MASK 1084,54490 -#define P2PLL_DIV_0__P2PLL_ATOMIC_UPDATE_W_MASK 1085,54561 -#define P2PLL_DIV_0__P2PLL_ATOMIC_UPDATE_W 1086,54632 -#define P2PLL_DIV_0__P2PLL_ATOMIC_UPDATE_R_MASK 1087,54703 -#define P2PLL_DIV_0__P2PLL_ATOMIC_UPDATE_R 1088,54774 -#define P2PLL_DIV_0__P2PLL_POST_DIV_MASK 1089,54845 -#define SCLK_CNTL_M6__SCLK_SRC_SEL_MASK 1092,54933 -#define SCLK_CNTL_M6__CP_MAX_DYN_STOP_LAT_MASK 1093,55004 -#define SCLK_CNTL_M6__CP_MAX_DYN_STOP_LAT 1094,55075 -#define SCLK_CNTL_M6__HDP_MAX_DYN_STOP_LAT_MASK 1095,55146 -#define SCLK_CNTL_M6__HDP_MAX_DYN_STOP_LAT 1096,55217 -#define SCLK_CNTL_M6__TV_MAX_DYN_STOP_LAT_MASK 1097,55288 -#define SCLK_CNTL_M6__TV_MAX_DYN_STOP_LAT 1098,55359 -#define SCLK_CNTL_M6__E2_MAX_DYN_STOP_LAT_MASK 1099,55430 -#define SCLK_CNTL_M6__E2_MAX_DYN_STOP_LAT 1100,55501 -#define SCLK_CNTL_M6__SE_MAX_DYN_STOP_LAT_MASK 1101,55572 -#define SCLK_CNTL_M6__SE_MAX_DYN_STOP_LAT 1102,55643 -#define SCLK_CNTL_M6__IDCT_MAX_DYN_STOP_LAT_MASK 1103,55714 -#define SCLK_CNTL_M6__IDCT_MAX_DYN_STOP_LAT 1104,55785 -#define SCLK_CNTL_M6__VIP_MAX_DYN_STOP_LAT_MASK 1105,55856 -#define SCLK_CNTL_M6__VIP_MAX_DYN_STOP_LAT 1106,55927 -#define SCLK_CNTL_M6__RE_MAX_DYN_STOP_LAT_MASK 1107,55998 -#define SCLK_CNTL_M6__RE_MAX_DYN_STOP_LAT 1108,56069 -#define SCLK_CNTL_M6__PB_MAX_DYN_STOP_LAT_MASK 1109,56140 -#define SCLK_CNTL_M6__PB_MAX_DYN_STOP_LAT 1110,56211 -#define SCLK_CNTL_M6__TAM_MAX_DYN_STOP_LAT_MASK 1111,56282 -#define SCLK_CNTL_M6__TAM_MAX_DYN_STOP_LAT 1112,56353 -#define SCLK_CNTL_M6__TDM_MAX_DYN_STOP_LAT_MASK 1113,56424 -#define SCLK_CNTL_M6__TDM_MAX_DYN_STOP_LAT 1114,56495 -#define SCLK_CNTL_M6__RB_MAX_DYN_STOP_LAT_MASK 1115,56566 -#define SCLK_CNTL_M6__RB_MAX_DYN_STOP_LAT 1116,56637 -#define SCLK_CNTL_M6__FORCE_DISP2_MASK 1117,56708 -#define SCLK_CNTL_M6__FORCE_DISP2 1118,56779 -#define SCLK_CNTL_M6__FORCE_CP_MASK 1119,56850 -#define SCLK_CNTL_M6__FORCE_CP 1120,56921 -#define SCLK_CNTL_M6__FORCE_HDP_MASK 1121,56992 -#define SCLK_CNTL_M6__FORCE_HDP 1122,57063 -#define SCLK_CNTL_M6__FORCE_DISP1_MASK 1123,57134 -#define SCLK_CNTL_M6__FORCE_DISP1 1124,57205 -#define SCLK_CNTL_M6__FORCE_TOP_MASK 1125,57276 -#define SCLK_CNTL_M6__FORCE_TOP 1126,57347 -#define SCLK_CNTL_M6__FORCE_E2_MASK 1127,57418 -#define SCLK_CNTL_M6__FORCE_E2 1128,57489 -#define SCLK_CNTL_M6__FORCE_SE_MASK 1129,57560 -#define SCLK_CNTL_M6__FORCE_SE 1130,57631 -#define SCLK_CNTL_M6__FORCE_IDCT_MASK 1131,57702 -#define SCLK_CNTL_M6__FORCE_IDCT 1132,57773 -#define SCLK_CNTL_M6__FORCE_VIP_MASK 1133,57844 -#define SCLK_CNTL_M6__FORCE_VIP 1134,57915 -#define SCLK_CNTL_M6__FORCE_RE_MASK 1135,57986 -#define SCLK_CNTL_M6__FORCE_RE 1136,58057 -#define SCLK_CNTL_M6__FORCE_PB_MASK 1137,58128 -#define SCLK_CNTL_M6__FORCE_PB 1138,58199 -#define SCLK_CNTL_M6__FORCE_TAM_MASK 1139,58270 -#define SCLK_CNTL_M6__FORCE_TAM 1140,58341 -#define SCLK_CNTL_M6__FORCE_TDM_MASK 1141,58412 -#define SCLK_CNTL_M6__FORCE_TDM 1142,58483 -#define SCLK_CNTL_M6__FORCE_RB_MASK 1143,58554 -#define SCLK_CNTL_M6__FORCE_RB 1144,58625 -#define SCLK_CNTL_M6__FORCE_TV_SCLK_MASK 1145,58696 -#define SCLK_CNTL_M6__FORCE_TV_SCLK 1146,58767 -#define SCLK_CNTL_M6__FORCE_SUBPIC_MASK 1147,58838 -#define SCLK_CNTL_M6__FORCE_SUBPIC 1148,58909 -#define SCLK_CNTL_M6__FORCE_OV0_MASK 1149,58980 -#define SCLK_CNTL_M6__FORCE_OV0 1150,59051 -#define SCLK_MORE_CNTL__DISPREGS_MAX_DYN_STOP_LAT_MASK 1153,59141 -#define SCLK_MORE_CNTL__DISPREGS_MAX_DYN_STOP_LAT 1154,59212 -#define SCLK_MORE_CNTL__MC_GUI_MAX_DYN_STOP_LAT_MASK 1155,59283 -#define SCLK_MORE_CNTL__MC_GUI_MAX_DYN_STOP_LAT 1156,59354 -#define SCLK_MORE_CNTL__MC_HOST_MAX_DYN_STOP_LAT_MASK 1157,59425 -#define SCLK_MORE_CNTL__MC_HOST_MAX_DYN_STOP_LAT 1158,59496 -#define SCLK_MORE_CNTL__FORCE_DISPREGS_MASK 1159,59567 -#define SCLK_MORE_CNTL__FORCE_DISPREGS 1160,59638 -#define SCLK_MORE_CNTL__FORCE_MC_GUI_MASK 1161,59709 -#define SCLK_MORE_CNTL__FORCE_MC_GUI 1162,59780 -#define SCLK_MORE_CNTL__FORCE_MC_HOST_MASK 1163,59851 -#define SCLK_MORE_CNTL__FORCE_MC_HOST 1164,59922 -#define SCLK_MORE_CNTL__STOP_SCLK_EN_MASK 1165,59993 -#define SCLK_MORE_CNTL__STOP_SCLK_EN 1166,60064 -#define SCLK_MORE_CNTL__STOP_SCLK_A_MASK 1167,60135 -#define SCLK_MORE_CNTL__STOP_SCLK_A 1168,60206 -#define SCLK_MORE_CNTL__STOP_SCLK_B_MASK 1169,60277 -#define SCLK_MORE_CNTL__STOP_SCLK_B 1170,60348 -#define SCLK_MORE_CNTL__STOP_SCLK_C_MASK 1171,60419 -#define SCLK_MORE_CNTL__STOP_SCLK_C 1172,60490 -#define SCLK_MORE_CNTL__HALF_SPEED_SCLK_MASK 1173,60561 -#define SCLK_MORE_CNTL__HALF_SPEED_SCLK 1174,60632 -#define SCLK_MORE_CNTL__IO_CG_VOLTAGE_DROP_MASK 1175,60703 -#define SCLK_MORE_CNTL__IO_CG_VOLTAGE_DROP 1176,60774 -#define SCLK_MORE_CNTL__TVFB_SOFT_RESET_MASK 1177,60845 -#define SCLK_MORE_CNTL__TVFB_SOFT_RESET 1178,60916 -#define SCLK_MORE_CNTL__VOLTAGE_DROP_SYNC_MASK 1179,60987 -#define SCLK_MORE_CNTL__VOLTAGE_DROP_SYNC 1180,61058 -#define SCLK_MORE_CNTL__VOLTAGE_DELAY_SEL_MASK 1181,61129 -#define SCLK_MORE_CNTL__IDLE_DELAY_HALF_SCLK_MASK 1182,61200 -#define SCLK_MORE_CNTL__IDLE_DELAY_HALF_SCLK 1183,61271 -#define SCLK_MORE_CNTL__AGP_BUSY_HALF_SCLK_MASK 1184,61342 -#define SCLK_MORE_CNTL__AGP_BUSY_HALF_SCLK 1185,61413 -#define SCLK_MORE_CNTL__CG_SPARE_RD_C_MASK 1186,61484 -#define MCLK_CNTL_M6__MCLKA_SRC_SEL_MASK 1189,61572 -#define MCLK_CNTL_M6__YCLKA_SRC_SEL_MASK 1190,61643 -#define MCLK_CNTL_M6__MCLKB_SRC_SEL_MASK 1191,61714 -#define MCLK_CNTL_M6__YCLKB_SRC_SEL_MASK 1192,61785 -#define MCLK_CNTL_M6__FORCE_MCLKA_MASK 1193,61856 -#define MCLK_CNTL_M6__FORCE_MCLKA 1194,61927 -#define MCLK_CNTL_M6__FORCE_MCLKB_MASK 1195,61998 -#define MCLK_CNTL_M6__FORCE_MCLKB 1196,62069 -#define MCLK_CNTL_M6__FORCE_YCLKA_MASK 1197,62140 -#define MCLK_CNTL_M6__FORCE_YCLKA 1198,62211 -#define MCLK_CNTL_M6__FORCE_YCLKB_MASK 1199,62282 -#define MCLK_CNTL_M6__FORCE_YCLKB 1200,62353 -#define MCLK_CNTL_M6__FORCE_MC_MASK 1201,62424 -#define MCLK_CNTL_M6__FORCE_MC 1202,62495 -#define MCLK_CNTL_M6__FORCE_AIC_MASK 1203,62566 -#define MCLK_CNTL_M6__FORCE_AIC 1204,62637 -#define MCLK_CNTL_M6__MRDCKA0_SOUTSEL_MASK 1205,62708 -#define MCLK_CNTL_M6__MRDCKA1_SOUTSEL_MASK 1206,62779 -#define MCLK_CNTL_M6__MRDCKB0_SOUTSEL_MASK 1207,62850 -#define MCLK_CNTL_M6__MRDCKB1_SOUTSEL_MASK 1208,62921 -#define MCLK_MISC__SCLK_SOURCED_FROM_MPLL_SEL_MASK 1211,63006 -#define MCLK_MISC__MCLK_FROM_SPLL_DIV_SEL_MASK 1212,63077 -#define MCLK_MISC__MCLK_FROM_SPLL_DIV_SEL 1213,63148 -#define MCLK_MISC__ENABLE_SCLK_FROM_MPLL_MASK 1214,63219 -#define MCLK_MISC__ENABLE_SCLK_FROM_MPLL 1215,63290 -#define MCLK_MISC__MPLL_MODEA_MODEC_HW_SEL_EN_MASK 1216,63361 -#define MCLK_MISC__MPLL_MODEA_MODEC_HW_SEL_EN 1217,63432 -#define MCLK_MISC__DLL_READY_LAT_MASK 1218,63503 -#define MCLK_MISC__DLL_READY_LAT 1219,63574 -#define MCLK_MISC__MC_MCLK_MAX_DYN_STOP_LAT_MASK 1220,63645 -#define MCLK_MISC__MC_MCLK_MAX_DYN_STOP_LAT 1221,63716 -#define MCLK_MISC__IO_MCLK_MAX_DYN_STOP_LAT_MASK 1222,63787 -#define MCLK_MISC__IO_MCLK_MAX_DYN_STOP_LAT 1223,63858 -#define MCLK_MISC__MC_MCLK_DYN_ENABLE_MASK 1224,63929 -#define MCLK_MISC__MC_MCLK_DYN_ENABLE 1225,64000 -#define MCLK_MISC__IO_MCLK_DYN_ENABLE_MASK 1226,64071 -#define MCLK_MISC__IO_MCLK_DYN_ENABLE 1227,64142 -#define MCLK_MISC__CGM_CLK_TO_OUTPIN_MASK 1228,64213 -#define MCLK_MISC__CGM_CLK_TO_OUTPIN 1229,64284 -#define MCLK_MISC__CLK_OR_COUNT_SEL_MASK 1230,64355 -#define MCLK_MISC__CLK_OR_COUNT_SEL 1231,64426 -#define MCLK_MISC__EN_MCLK_TRISTATE_IN_SUSPEND_MASK 1232,64497 -#define MCLK_MISC__EN_MCLK_TRISTATE_IN_SUSPEND 1233,64568 -#define MCLK_MISC__CGM_SPARE_RD_MASK 1234,64639 -#define MCLK_MISC__CGM_SPARE_A_RD_MASK 1235,64710 -#define MCLK_MISC__TCLK_TO_YCLKB_EN_MASK 1236,64781 -#define MCLK_MISC__TCLK_TO_YCLKB_EN 1237,64852 -#define MCLK_MISC__CGM_SPARE_A_MASK 1238,64923 -#define VCLK_ECP_CNTL__VCLK_SRC_SEL_MASK 1241,65012 -#define VCLK_ECP_CNTL__VCLK_INVERT_MASK 1242,65083 -#define VCLK_ECP_CNTL__VCLK_INVERT 1243,65154 -#define VCLK_ECP_CNTL__PIXCLK_SRC_INVERT_MASK 1244,65225 -#define VCLK_ECP_CNTL__PIXCLK_SRC_INVERT 1245,65296 -#define VCLK_ECP_CNTL__PIXCLK_ALWAYS_ONb_MASK 1246,65367 -#define VCLK_ECP_CNTL__PIXCLK_ALWAYS_ONb 1247,65438 -#define VCLK_ECP_CNTL__PIXCLK_DAC_ALWAYS_ONb_MASK 1248,65509 -#define VCLK_ECP_CNTL__PIXCLK_DAC_ALWAYS_ONb 1249,65580 -#define VCLK_ECP_CNTL__ECP_DIV_MASK 1250,65651 -#define VCLK_ECP_CNTL__ECP_FORCE_ON_MASK 1251,65722 -#define VCLK_ECP_CNTL__ECP_FORCE_ON 1252,65793 -#define VCLK_ECP_CNTL__SUBCLK_FORCE_ON_MASK 1253,65864 -#define VCLK_ECP_CNTL__SUBCLK_FORCE_ON 1254,65935 -#define PLL_PWRMGT_CNTL__MPLL_TURNOFF_MASK 1257,66026 -#define PLL_PWRMGT_CNTL__MPLL_TURNOFF 1258,66097 -#define PLL_PWRMGT_CNTL__SPLL_TURNOFF_MASK 1259,66168 -#define PLL_PWRMGT_CNTL__SPLL_TURNOFF 1260,66239 -#define PLL_PWRMGT_CNTL__PPLL_TURNOFF_MASK 1261,66310 -#define PLL_PWRMGT_CNTL__PPLL_TURNOFF 1262,66381 -#define PLL_PWRMGT_CNTL__P2PLL_TURNOFF_MASK 1263,66452 -#define PLL_PWRMGT_CNTL__P2PLL_TURNOFF 1264,66523 -#define PLL_PWRMGT_CNTL__TVPLL_TURNOFF_MASK 1265,66594 -#define PLL_PWRMGT_CNTL__TVPLL_TURNOFF 1266,66665 -#define PLL_PWRMGT_CNTL__AGPCLK_DYN_STOP_LAT_MASK 1267,66736 -#define PLL_PWRMGT_CNTL__APM_POWER_STATE_MASK 1268,66807 -#define PLL_PWRMGT_CNTL__APM_PWRSTATE_RD_MASK 1269,66878 -#define PLL_PWRMGT_CNTL__PM_MODE_SEL_MASK 1270,66949 -#define PLL_PWRMGT_CNTL__PM_MODE_SEL 1271,67020 -#define PLL_PWRMGT_CNTL__EN_PWRSEQ_DONE_COND_MASK 1272,67091 -#define PLL_PWRMGT_CNTL__EN_PWRSEQ_DONE_COND 1273,67162 -#define PLL_PWRMGT_CNTL__EN_DISP_PARKED_COND_MASK 1274,67233 -#define PLL_PWRMGT_CNTL__EN_DISP_PARKED_COND 1275,67304 -#define PLL_PWRMGT_CNTL__MOBILE_SU_MASK 1276,67375 -#define PLL_PWRMGT_CNTL__MOBILE_SU 1277,67446 -#define PLL_PWRMGT_CNTL__SU_SCLK_USE_BCLK_MASK 1278,67517 -#define PLL_PWRMGT_CNTL__SU_SCLK_USE_BCLK 1279,67588 -#define PLL_PWRMGT_CNTL__SU_MCLK_USE_BCLK_MASK 1280,67659 -#define PLL_PWRMGT_CNTL__SU_MCLK_USE_BCLK 1281,67730 -#define PLL_PWRMGT_CNTL__SU_SUSTAIN_DISABLE_MASK 1282,67801 -#define PLL_PWRMGT_CNTL__SU_SUSTAIN_DISABLE 1283,67872 -#define PLL_PWRMGT_CNTL__TCL_BYPASS_DISABLE_MASK 1284,67943 -#define PLL_PWRMGT_CNTL__TCL_BYPASS_DISABLE 1285,68014 -#define PLL_PWRMGT_CNTL__TCL_CLOCK_ACTIVE_RD_MASK 1286,68085 -#define PLL_PWRMGT_CNTL__TCL_CLOCK_ACTIVE_RD 1287,68156 -#define PLL_PWRMGT_CNTL__CG_NO2_DEBUG_MASK 1288,68227 -#define CLK_PWRMGT_CNTL_M6__MPLL_PWRMGT_OFF_MASK 1291,68321 -#define CLK_PWRMGT_CNTL_M6__MPLL_PWRMGT_OFF 1292,68392 -#define CLK_PWRMGT_CNTL_M6__SPLL_PWRMGT_OFF_MASK 1293,68463 -#define CLK_PWRMGT_CNTL_M6__SPLL_PWRMGT_OFF 1294,68534 -#define CLK_PWRMGT_CNTL_M6__PPLL_PWRMGT_OFF_MASK 1295,68605 -#define CLK_PWRMGT_CNTL_M6__PPLL_PWRMGT_OFF 1296,68676 -#define CLK_PWRMGT_CNTL_M6__P2PLL_PWRMGT_OFF_MASK 1297,68747 -#define CLK_PWRMGT_CNTL_M6__P2PLL_PWRMGT_OFF 1298,68818 -#define CLK_PWRMGT_CNTL_M6__MCLK_TURNOFF_MASK 1299,68889 -#define CLK_PWRMGT_CNTL_M6__MCLK_TURNOFF 1300,68960 -#define CLK_PWRMGT_CNTL_M6__SCLK_TURNOFF_MASK 1301,69031 -#define CLK_PWRMGT_CNTL_M6__SCLK_TURNOFF 1302,69102 -#define CLK_PWRMGT_CNTL_M6__PCLK_TURNOFF_MASK 1303,69173 -#define CLK_PWRMGT_CNTL_M6__PCLK_TURNOFF 1304,69244 -#define CLK_PWRMGT_CNTL_M6__P2CLK_TURNOFF_MASK 1305,69315 -#define CLK_PWRMGT_CNTL_M6__P2CLK_TURNOFF 1306,69386 -#define CLK_PWRMGT_CNTL_M6__MC_CH_MODE_MASK 1307,69457 -#define CLK_PWRMGT_CNTL_M6__MC_CH_MODE 1308,69528 -#define CLK_PWRMGT_CNTL_M6__TEST_MODE_MASK 1309,69599 -#define CLK_PWRMGT_CNTL_M6__TEST_MODE 1310,69670 -#define CLK_PWRMGT_CNTL_M6__GLOBAL_PMAN_EN_MASK 1311,69741 -#define CLK_PWRMGT_CNTL_M6__GLOBAL_PMAN_EN 1312,69812 -#define CLK_PWRMGT_CNTL_M6__ENGINE_DYNCLK_MODE_MASK 1313,69883 -#define CLK_PWRMGT_CNTL_M6__ENGINE_DYNCLK_MODE 1314,69954 -#define CLK_PWRMGT_CNTL_M6__ACTIVE_HILO_LAT_MASK 1315,70025 -#define CLK_PWRMGT_CNTL_M6__DISP_DYN_STOP_LAT_MASK 1316,70096 -#define CLK_PWRMGT_CNTL_M6__DISP_DYN_STOP_LAT 1317,70167 -#define CLK_PWRMGT_CNTL_M6__MC_BUSY_MASK 1318,70238 -#define CLK_PWRMGT_CNTL_M6__MC_BUSY 1319,70309 -#define CLK_PWRMGT_CNTL_M6__MC_INT_CNTL_MASK 1320,70380 -#define CLK_PWRMGT_CNTL_M6__MC_INT_CNTL 1321,70451 -#define CLK_PWRMGT_CNTL_M6__MC_SWITCH_MASK 1322,70522 -#define CLK_PWRMGT_CNTL_M6__MC_SWITCH 1323,70593 -#define CLK_PWRMGT_CNTL_M6__DLL_READY_MASK 1324,70664 -#define CLK_PWRMGT_CNTL_M6__DLL_READY 1325,70735 -#define CLK_PWRMGT_CNTL_M6__DISP_PM_MASK 1326,70806 -#define CLK_PWRMGT_CNTL_M6__DISP_PM 1327,70877 -#define CLK_PWRMGT_CNTL_M6__DYN_STOP_MODE_MASK 1328,70948 -#define CLK_PWRMGT_CNTL_M6__CG_NO1_DEBUG_MASK 1329,71019 -#define CLK_PWRMGT_CNTL_M6__TVPLL_PWRMGT_OFF_MASK 1330,71090 -#define CLK_PWRMGT_CNTL_M6__TVPLL_PWRMGT_OFF 1331,71161 -#define CLK_PWRMGT_CNTL_M6__TVCLK_TURNOFF_MASK 1332,71232 -#define CLK_PWRMGT_CNTL_M6__TVCLK_TURNOFF 1333,71303 -#define BUS_CNTL1__PMI_IO_DISABLE_MASK 1336,71388 -#define BUS_CNTL1__PMI_IO_DISABLE 1337,71459 -#define BUS_CNTL1__PMI_MEM_DISABLE_MASK 1338,71530 -#define BUS_CNTL1__PMI_MEM_DISABLE 1339,71601 -#define BUS_CNTL1__PMI_BM_DISABLE_MASK 1340,71672 -#define BUS_CNTL1__PMI_BM_DISABLE 1341,71743 -#define BUS_CNTL1__PMI_INT_DISABLE_MASK 1342,71814 -#define BUS_CNTL1__PMI_INT_DISABLE 1343,71885 -#define BUS_CNTL1__BUS2_IMMEDIATE_PMI_DISABLE_MASK 1344,71956 -#define BUS_CNTL1__BUS2_IMMEDIATE_PMI_DISABLE 1345,72027 -#define BUS_CNTL1__BUS2_VGA_REG_COHERENCY_DIS_MASK 1346,72098 -#define BUS_CNTL1__BUS2_VGA_REG_COHERENCY_DIS 1347,72169 -#define BUS_CNTL1__BUS2_VGA_MEM_COHERENCY_DIS_MASK 1348,72240 -#define BUS_CNTL1__BUS2_VGA_MEM_COHERENCY_DIS 1349,72311 -#define BUS_CNTL1__BUS2_HDP_REG_COHERENCY_DIS_MASK 1350,72382 -#define BUS_CNTL1__BUS2_HDP_REG_COHERENCY_DIS 1351,72453 -#define BUS_CNTL1__BUS2_GUI_INITIATOR_COHERENCY_DIS_MASK 1352,72524 -#define BUS_CNTL1__BUS2_GUI_INITIATOR_COHERENCY_DIS 1353,72595 -#define BUS_CNTL1__MOBILE_PLATFORM_SEL_MASK 1354,72666 -#define BUS_CNTL1__SEND_SBA_LATENCY_MASK 1355,72737 -#define BUS_CNTL1__AGPCLK_VALID_MASK 1356,72808 -#define BUS_CNTL1__AGPCLK_VALID 1357,72879 -#define BUS_CNTL1__PMI_IO_DISABLE__SHIFT 1360,72964 -#define BUS_CNTL1__PMI_MEM_DISABLE__SHIFT 1361,73034 -#define BUS_CNTL1__PMI_BM_DISABLE__SHIFT 1362,73104 -#define BUS_CNTL1__PMI_INT_DISABLE__SHIFT 1363,73174 -#define BUS_CNTL1__BUS2_IMMEDIATE_PMI_DISABLE__SHIFT 1364,73244 -#define BUS_CNTL1__BUS2_VGA_REG_COHERENCY_DIS__SHIFT 1365,73314 -#define BUS_CNTL1__BUS2_VGA_MEM_COHERENCY_DIS__SHIFT 1366,73384 -#define BUS_CNTL1__BUS2_HDP_REG_COHERENCY_DIS__SHIFT 1367,73454 -#define BUS_CNTL1__BUS2_GUI_INITIATOR_COHERENCY_DIS__SHIFT 1368,73524 -#define BUS_CNTL1__MOBILE_PLATFORM_SEL__SHIFT 1369,73594 -#define BUS_CNTL1__SEND_SBA_LATENCY__SHIFT 1370,73664 -#define BUS_CNTL1__AGPCLK_VALID__SHIFT 1371,73734 -#define CRTC_OFFSET_CNTL__CRTC_TILE_LINE_MASK 1374,73825 -#define CRTC_OFFSET_CNTL__CRTC_TILE_LINE_RIGHT_MASK 1375,73896 -#define CRTC_OFFSET_CNTL__CRTC_TILE_EN_RIGHT_MASK 1376,73967 -#define CRTC_OFFSET_CNTL__CRTC_TILE_EN_RIGHT 1377,74038 -#define CRTC_OFFSET_CNTL__CRTC_TILE_EN_MASK 1378,74109 -#define CRTC_OFFSET_CNTL__CRTC_TILE_EN 1379,74180 -#define CRTC_OFFSET_CNTL__CRTC_OFFSET_FLIP_CNTL_MASK 1380,74251 -#define CRTC_OFFSET_CNTL__CRTC_OFFSET_FLIP_CNTL 1381,74322 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_OFFSET_EN_MASK 1382,74393 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_OFFSET_EN 1383,74464 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_SYNC_EN_MASK 1384,74535 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_SYNC_OUT_EN_MASK 1385,74606 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_SYNC_OUT_EN 1386,74677 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_SYNC_MASK 1387,74748 -#define CRTC_OFFSET_CNTL__CRTC_STEREO_SYNC 1388,74819 -#define CRTC_OFFSET_CNTL__CRTC_GUI_TRIG_OFFSET_LEFT_EN_MASK 1389,74890 -#define CRTC_OFFSET_CNTL__CRTC_GUI_TRIG_OFFSET_LEFT_EN 1390,74962 -#define CRTC_OFFSET_CNTL__CRTC_GUI_TRIG_OFFSET_RIGHT_EN_MASK 1391,75033 -#define CRTC_OFFSET_CNTL__CRTC_GUI_TRIG_OFFSET_RIGHT_EN 1392,75106 -#define CRTC_OFFSET_CNTL__CRTC_GUI_TRIG_OFFSET_MASK 1393,75177 -#define CRTC_OFFSET_CNTL__CRTC_GUI_TRIG_OFFSET 1394,75248 -#define CRTC_OFFSET_CNTL__CRTC_OFFSET_LOCK_MASK 1395,75319 -#define CRTC_OFFSET_CNTL__CRTC_OFFSET_LOCK 1396,75390 -#define CRTC_GEN_CNTL__CRTC_DBL_SCAN_EN_MASK 1399,75479 -#define CRTC_GEN_CNTL__CRTC_DBL_SCAN_EN 1400,75550 -#define CRTC_GEN_CNTL__CRTC_INTERLACE_EN_MASK 1401,75621 -#define CRTC_GEN_CNTL__CRTC_INTERLACE_EN 1402,75692 -#define CRTC_GEN_CNTL__CRTC_C_SYNC_EN_MASK 1403,75763 -#define CRTC_GEN_CNTL__CRTC_C_SYNC_EN 1404,75834 -#define CRTC_GEN_CNTL__CRTC_PIX_WIDTH_MASK 1405,75905 -#define CRTC_GEN_CNTL__CRTC_ICON_EN_MASK 1406,75976 -#define CRTC_GEN_CNTL__CRTC_ICON_EN 1407,76047 -#define CRTC_GEN_CNTL__CRTC_CUR_EN_MASK 1408,76118 -#define CRTC_GEN_CNTL__CRTC_CUR_EN 1409,76189 -#define CRTC_GEN_CNTL__CRTC_VSTAT_MODE_MASK 1410,76260 -#define CRTC_GEN_CNTL__CRTC_CUR_MODE_MASK 1411,76331 -#define CRTC_GEN_CNTL__CRTC_EXT_DISP_EN_MASK 1412,76402 -#define CRTC_GEN_CNTL__CRTC_EXT_DISP_EN 1413,76473 -#define CRTC_GEN_CNTL__CRTC_EN_MASK 1414,76544 -#define CRTC_GEN_CNTL__CRTC_EN 1415,76615 -#define CRTC_GEN_CNTL__CRTC_DISP_REQ_EN_B_MASK 1416,76686 -#define CRTC_GEN_CNTL__CRTC_DISP_REQ_EN_B 1417,76757 -#define CRTC2_GEN_CNTL__CRTC2_DBL_SCAN_EN_MASK 1420,76847 -#define CRTC2_GEN_CNTL__CRTC2_DBL_SCAN_EN 1421,76918 -#define CRTC2_GEN_CNTL__CRTC2_INTERLACE_EN_MASK 1422,76989 -#define CRTC2_GEN_CNTL__CRTC2_INTERLACE_EN 1423,77060 -#define CRTC2_GEN_CNTL__CRTC2_SYNC_TRISTATE_MASK 1424,77131 -#define CRTC2_GEN_CNTL__CRTC2_SYNC_TRISTATE 1425,77202 -#define CRTC2_GEN_CNTL__CRTC2_HSYNC_TRISTATE_MASK 1426,77273 -#define CRTC2_GEN_CNTL__CRTC2_HSYNC_TRISTATE 1427,77344 -#define CRTC2_GEN_CNTL__CRTC2_VSYNC_TRISTATE_MASK 1428,77415 -#define CRTC2_GEN_CNTL__CRTC2_VSYNC_TRISTATE 1429,77486 -#define CRTC2_GEN_CNTL__CRT2_ON_MASK 1430,77557 -#define CRTC2_GEN_CNTL__CRT2_ON 1431,77628 -#define CRTC2_GEN_CNTL__CRTC2_PIX_WIDTH_MASK 1432,77699 -#define CRTC2_GEN_CNTL__CRTC2_ICON_EN_MASK 1433,77770 -#define CRTC2_GEN_CNTL__CRTC2_ICON_EN 1434,77841 -#define CRTC2_GEN_CNTL__CRTC2_CUR_EN_MASK 1435,77912 -#define CRTC2_GEN_CNTL__CRTC2_CUR_EN 1436,77983 -#define CRTC2_GEN_CNTL__CRTC2_CUR_MODE_MASK 1437,78054 -#define CRTC2_GEN_CNTL__CRTC2_DISPLAY_DIS_MASK 1438,78125 -#define CRTC2_GEN_CNTL__CRTC2_DISPLAY_DIS 1439,78196 -#define CRTC2_GEN_CNTL__CRTC2_EN_MASK 1440,78267 -#define CRTC2_GEN_CNTL__CRTC2_EN 1441,78338 -#define CRTC2_GEN_CNTL__CRTC2_DISP_REQ_EN_B_MASK 1442,78409 -#define CRTC2_GEN_CNTL__CRTC2_DISP_REQ_EN_B 1443,78480 -#define CRTC2_GEN_CNTL__CRTC2_C_SYNC_EN_MASK 1444,78551 -#define CRTC2_GEN_CNTL__CRTC2_C_SYNC_EN 1445,78622 -#define CRTC2_GEN_CNTL__CRTC2_HSYNC_DIS_MASK 1446,78693 -#define CRTC2_GEN_CNTL__CRTC2_HSYNC_DIS 1447,78764 -#define CRTC2_GEN_CNTL__CRTC2_VSYNC_DIS_MASK 1448,78835 -#define CRTC2_GEN_CNTL__CRTC2_VSYNC_DIS 1449,78906 -#define AGP_CNTL__MAX_IDLE_CLK_MASK 1452,78990 -#define AGP_CNTL__HOLD_RD_FIFO_MASK 1453,79061 -#define AGP_CNTL__HOLD_RD_FIFO 1454,79132 -#define AGP_CNTL__HOLD_RQ_FIFO_MASK 1455,79203 -#define AGP_CNTL__HOLD_RQ_FIFO 1456,79274 -#define AGP_CNTL__EN_2X_STBB_MASK 1457,79345 -#define AGP_CNTL__EN_2X_STBB 1458,79416 -#define AGP_CNTL__FORCE_FULL_SBA_MASK 1459,79487 -#define AGP_CNTL__FORCE_FULL_SBA 1460,79558 -#define AGP_CNTL__SBA_DIS_MASK 1461,79629 -#define AGP_CNTL__SBA_DIS 1462,79700 -#define AGP_CNTL__AGP_REV_ID_MASK 1463,79771 -#define AGP_CNTL__AGP_REV_ID 1464,79842 -#define AGP_CNTL__REG_CRIPPLE_AGP4X_MASK 1465,79913 -#define AGP_CNTL__REG_CRIPPLE_AGP4X 1466,79984 -#define AGP_CNTL__REG_CRIPPLE_AGP2X4X_MASK 1467,80055 -#define AGP_CNTL__REG_CRIPPLE_AGP2X4X 1468,80126 -#define AGP_CNTL__FORCE_INT_VREF_MASK 1469,80197 -#define AGP_CNTL__FORCE_INT_VREF 1470,80268 -#define AGP_CNTL__PENDING_SLOTS_VAL_MASK 1471,80339 -#define AGP_CNTL__PENDING_SLOTS_SEL_MASK 1472,80410 -#define AGP_CNTL__PENDING_SLOTS_SEL 1473,80481 -#define AGP_CNTL__EN_EXTENDED_AD_STB_2X_MASK 1474,80552 -#define AGP_CNTL__EN_EXTENDED_AD_STB_2X 1475,80623 -#define AGP_CNTL__DIS_QUEUED_GNT_FIX_MASK 1476,80694 -#define AGP_CNTL__DIS_QUEUED_GNT_FIX 1477,80765 -#define AGP_CNTL__EN_RDATA2X4X_MULTIRESET_MASK 1478,80836 -#define AGP_CNTL__EN_RDATA2X4X_MULTIRESET 1479,80907 -#define AGP_CNTL__EN_RBFCALM_MASK 1480,80978 -#define AGP_CNTL__EN_RBFCALM 1481,81049 -#define AGP_CNTL__FORCE_EXT_VREF_MASK 1482,81120 -#define AGP_CNTL__FORCE_EXT_VREF 1483,81191 -#define AGP_CNTL__DIS_RBF_MASK 1484,81262 -#define AGP_CNTL__DIS_RBF 1485,81333 -#define AGP_CNTL__DELAY_FIRST_SBA_EN_MASK 1486,81404 -#define AGP_CNTL__DELAY_FIRST_SBA_EN 1487,81475 -#define AGP_CNTL__DELAY_FIRST_SBA_VAL_MASK 1488,81546 -#define AGP_CNTL__AGP_MISC_MASK 1489,81617 -#define AGP_CNTL__MAX_IDLE_CLK__SHIFT 1492,81701 -#define AGP_CNTL__HOLD_RD_FIFO__SHIFT 1493,81771 -#define AGP_CNTL__HOLD_RQ_FIFO__SHIFT 1494,81841 -#define AGP_CNTL__EN_2X_STBB__SHIFT 1495,81911 -#define AGP_CNTL__FORCE_FULL_SBA__SHIFT 1496,81981 -#define AGP_CNTL__SBA_DIS__SHIFT 1497,82051 -#define AGP_CNTL__AGP_REV_ID__SHIFT 1498,82121 -#define AGP_CNTL__REG_CRIPPLE_AGP4X__SHIFT 1499,82191 -#define AGP_CNTL__REG_CRIPPLE_AGP2X4X__SHIFT 1500,82261 -#define AGP_CNTL__FORCE_INT_VREF__SHIFT 1501,82331 -#define AGP_CNTL__PENDING_SLOTS_VAL__SHIFT 1502,82401 -#define AGP_CNTL__PENDING_SLOTS_SEL__SHIFT 1503,82471 -#define AGP_CNTL__EN_EXTENDED_AD_STB_2X__SHIFT 1504,82541 -#define AGP_CNTL__DIS_QUEUED_GNT_FIX__SHIFT 1505,82611 -#define AGP_CNTL__EN_RDATA2X4X_MULTIRESET__SHIFT 1506,82681 -#define AGP_CNTL__EN_RBFCALM__SHIFT 1507,82751 -#define AGP_CNTL__FORCE_EXT_VREF__SHIFT 1508,82821 -#define AGP_CNTL__DIS_RBF__SHIFT 1509,82891 -#define AGP_CNTL__DELAY_FIRST_SBA_EN__SHIFT 1510,82961 -#define AGP_CNTL__DELAY_FIRST_SBA_VAL__SHIFT 1511,83031 -#define AGP_CNTL__AGP_MISC__SHIFT 1512,83101 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH_PP_MASK 1515,83190 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH_PP 1516,83261 -#define DISP_MISC_CNTL__SOFT_RESET_SUBPIC_PP_MASK 1517,83332 -#define DISP_MISC_CNTL__SOFT_RESET_SUBPIC_PP 1518,83403 -#define DISP_MISC_CNTL__SOFT_RESET_OV0_PP_MASK 1519,83474 -#define DISP_MISC_CNTL__SOFT_RESET_OV0_PP 1520,83545 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH_SCLK_MASK 1521,83616 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH_SCLK 1522,83687 -#define DISP_MISC_CNTL__SOFT_RESET_SUBPIC_SCLK_MASK 1523,83758 -#define DISP_MISC_CNTL__SOFT_RESET_SUBPIC_SCLK 1524,83829 -#define DISP_MISC_CNTL__SOFT_RESET_OV0_SCLK_MASK 1525,83900 -#define DISP_MISC_CNTL__SOFT_RESET_OV0_SCLK 1526,83971 -#define DISP_MISC_CNTL__SYNC_STRENGTH_MASK 1527,84042 -#define DISP_MISC_CNTL__SYNC_PAD_FLOP_EN_MASK 1528,84113 -#define DISP_MISC_CNTL__SYNC_PAD_FLOP_EN 1529,84184 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH2_PP_MASK 1530,84255 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH2_PP 1531,84326 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH2_SCLK_MASK 1532,84397 -#define DISP_MISC_CNTL__SOFT_RESET_GRPH2_SCLK 1533,84468 -#define DISP_MISC_CNTL__SOFT_RESET_LVDS_MASK 1534,84539 -#define DISP_MISC_CNTL__SOFT_RESET_LVDS 1535,84610 -#define DISP_MISC_CNTL__SOFT_RESET_TMDS_MASK 1536,84681 -#define DISP_MISC_CNTL__SOFT_RESET_TMDS 1537,84752 -#define DISP_MISC_CNTL__SOFT_RESET_DIG_TMDS_MASK 1538,84823 -#define DISP_MISC_CNTL__SOFT_RESET_DIG_TMDS 1539,84894 -#define DISP_MISC_CNTL__SOFT_RESET_TV_MASK 1540,84965 -#define DISP_MISC_CNTL__SOFT_RESET_TV 1541,85036 -#define DISP_MISC_CNTL__PALETTE2_MEM_RD_MARGIN_MASK 1542,85107 -#define DISP_MISC_CNTL__PALETTE_MEM_RD_MARGIN_MASK 1543,85178 -#define DISP_MISC_CNTL__RMX_BUF_MEM_RD_MARGIN_MASK 1544,85249 -#define DISP_PWR_MAN__DISP_PWR_MAN_D3_CRTC_EN_MASK 1547,85337 -#define DISP_PWR_MAN__DISP_PWR_MAN_D3_CRTC_EN 1548,85408 -#define DISP_PWR_MAN__DISP2_PWR_MAN_D3_CRTC2_EN_MASK 1549,85479 -#define DISP_PWR_MAN__DISP2_PWR_MAN_D3_CRTC2_EN 1550,85550 -#define DISP_PWR_MAN__DISP_PWR_MAN_DPMS_MASK 1551,85621 -#define DISP_PWR_MAN__DISP_D3_RST_MASK 1552,85692 -#define DISP_PWR_MAN__DISP_D3_RST 1553,85763 -#define DISP_PWR_MAN__DISP_D3_REG_RST_MASK 1554,85834 -#define DISP_PWR_MAN__DISP_D3_REG_RST 1555,85905 -#define DISP_PWR_MAN__DISP_D3_GRPH_RST_MASK 1556,85976 -#define DISP_PWR_MAN__DISP_D3_GRPH_RST 1557,86047 -#define DISP_PWR_MAN__DISP_D3_SUBPIC_RST_MASK 1558,86118 -#define DISP_PWR_MAN__DISP_D3_SUBPIC_RST 1559,86189 -#define DISP_PWR_MAN__DISP_D3_OV0_RST_MASK 1560,86260 -#define DISP_PWR_MAN__DISP_D3_OV0_RST 1561,86331 -#define DISP_PWR_MAN__DISP_D1D2_GRPH_RST_MASK 1562,86402 -#define DISP_PWR_MAN__DISP_D1D2_GRPH_RST 1563,86473 -#define DISP_PWR_MAN__DISP_D1D2_SUBPIC_RST_MASK 1564,86544 -#define DISP_PWR_MAN__DISP_D1D2_SUBPIC_RST 1565,86615 -#define DISP_PWR_MAN__DISP_D1D2_OV0_RST_MASK 1566,86686 -#define DISP_PWR_MAN__DISP_D1D2_OV0_RST 1567,86757 -#define DISP_PWR_MAN__DIG_TMDS_ENABLE_RST_MASK 1568,86828 -#define DISP_PWR_MAN__DIG_TMDS_ENABLE_RST 1569,86899 -#define DISP_PWR_MAN__TV_ENABLE_RST_MASK 1570,86970 -#define DISP_PWR_MAN__TV_ENABLE_RST 1571,87041 -#define DISP_PWR_MAN__AUTO_PWRUP_EN_MASK 1572,87112 -#define DISP_PWR_MAN__AUTO_PWRUP_EN 1573,87183 -#define MC_IND_INDEX__MC_IND_ADDR_MASK 1576,87271 -#define MC_IND_INDEX__MC_IND_WR_EN_MASK 1577,87342 -#define MC_IND_INDEX__MC_IND_WR_EN 1578,87413 -#define MC_IND_DATA__MC_IND_DATA_MASK 1581,87500 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_CKA__SHIFT 1584,87593 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_AA__SHIFT 1585,87663 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_DQMA__SHIFT 1586,87733 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_DQSA__SHIFT 1587,87803 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_CKA__SHIFT 1588,87873 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_AA__SHIFT 1589,87943 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_DQMA__SHIFT 1590,88013 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_DQSA__SHIFT 1591,88083 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_AA__SHIFT 1592,88153 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_DQMA__SHIFT 1593,88223 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_DQSA__SHIFT 1594,88293 -#define MC_CHP_IO_CNTL_A1__MEM_IO_MODEA__SHIFT 1595,88363 -#define MC_CHP_IO_CNTL_A1__MEM_REC_CKA__SHIFT 1596,88433 -#define MC_CHP_IO_CNTL_A1__MEM_REC_AA__SHIFT 1597,88503 -#define MC_CHP_IO_CNTL_A1__MEM_REC_DQMA__SHIFT 1598,88573 -#define MC_CHP_IO_CNTL_A1__MEM_REC_DQSA__SHIFT 1599,88643 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_PHASEA__SHIFT 1600,88713 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_CENTERA__SHIFT 1601,88783 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_ENA__SHIFT 1602,88853 -#define MC_CHP_IO_CNTL_A1__MEM_CLK_SELA__SHIFT 1603,88923 -#define MC_CHP_IO_CNTL_A1__MEM_CLK_INVA__SHIFT 1604,88993 -#define MC_CHP_IO_CNTL_A1__MEM_DATA_ENIMP_A__SHIFT 1605,89063 -#define MC_CHP_IO_CNTL_A1__MEM_CNTL_ENIMP_A__SHIFT 1606,89133 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_CKB__SHIFT 1609,89225 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_AB__SHIFT 1610,89295 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_DQMB__SHIFT 1611,89365 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_DQSB__SHIFT 1612,89435 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_CKB__SHIFT 1613,89505 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_AB__SHIFT 1614,89575 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_DQMB__SHIFT 1615,89645 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_DQSB__SHIFT 1616,89715 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_AB__SHIFT 1617,89785 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_DQMB__SHIFT 1618,89855 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_DQSB__SHIFT 1619,89925 -#define MC_CHP_IO_CNTL_B1__MEM_IO_MODEB__SHIFT 1620,89995 -#define MC_CHP_IO_CNTL_B1__MEM_REC_CKB__SHIFT 1621,90065 -#define MC_CHP_IO_CNTL_B1__MEM_REC_AB__SHIFT 1622,90135 -#define MC_CHP_IO_CNTL_B1__MEM_REC_DQMB__SHIFT 1623,90205 -#define MC_CHP_IO_CNTL_B1__MEM_REC_DQSB__SHIFT 1624,90275 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_PHASEB__SHIFT 1625,90345 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_CENTERB__SHIFT 1626,90415 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_ENB__SHIFT 1627,90485 -#define MC_CHP_IO_CNTL_B1__MEM_CLK_SELB__SHIFT 1628,90555 -#define MC_CHP_IO_CNTL_B1__MEM_CLK_INVB__SHIFT 1629,90625 -#define MC_CHP_IO_CNTL_B1__MEM_DATA_ENIMP_B__SHIFT 1630,90695 -#define MC_CHP_IO_CNTL_B1__MEM_CNTL_ENIMP_B__SHIFT 1631,90765 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_CKA_MASK 1634,90857 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_CKA 1635,90928 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_AA_MASK 1636,90999 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_AA 1637,91070 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_DQMA_MASK 1638,91141 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_DQMA 1639,91212 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_DQSA_MASK 1640,91283 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWN_DQSA 1641,91354 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_CKA_MASK 1642,91425 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_CKA 1643,91496 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_AA_MASK 1644,91567 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_AA 1645,91638 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_DQMA_MASK 1646,91709 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_DQMA 1647,91780 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_DQSA_MASK 1648,91851 -#define MC_CHP_IO_CNTL_A1__MEM_SLEWP_DQSA 1649,91922 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_AA_MASK 1650,91993 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_AA 1651,92064 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_DQMA_MASK 1652,92135 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_DQMA 1653,92206 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_DQSA_MASK 1654,92277 -#define MC_CHP_IO_CNTL_A1__MEM_PREAMP_DQSA 1655,92348 -#define MC_CHP_IO_CNTL_A1__MEM_IO_MODEA_MASK 1656,92419 -#define MC_CHP_IO_CNTL_A1__MEM_REC_CKA_MASK 1657,92490 -#define MC_CHP_IO_CNTL_A1__MEM_REC_AA_MASK 1658,92561 -#define MC_CHP_IO_CNTL_A1__MEM_REC_DQMA_MASK 1659,92632 -#define MC_CHP_IO_CNTL_A1__MEM_REC_DQSA_MASK 1660,92703 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_PHASEA_MASK 1661,92774 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_PHASEA 1662,92845 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_CENTERA_MASK 1663,92916 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_CENTERA 1664,92987 -#define MC_CHP_IO_CNTL_A1__MEM_SYNC_ENA_MASK 1665,93058 -#define MC_CHP_IO_CNTL_A1__MEM_CLK_SELA_MASK 1666,93129 -#define MC_CHP_IO_CNTL_A1__MEM_CLK_INVA_MASK 1667,93200 -#define MC_CHP_IO_CNTL_A1__MEM_CLK_INVA 1668,93271 -#define MC_CHP_IO_CNTL_A1__MEM_DATA_ENIMP_A_MASK 1669,93342 -#define MC_CHP_IO_CNTL_A1__MEM_DATA_ENIMP_A 1670,93413 -#define MC_CHP_IO_CNTL_A1__MEM_CNTL_ENIMP_A_MASK 1671,93484 -#define MC_CHP_IO_CNTL_A1__MEM_CNTL_ENIMP_A 1672,93555 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_CKB_MASK 1675,93648 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_CKB 1676,93719 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_AB_MASK 1677,93790 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_AB 1678,93861 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_DQMB_MASK 1679,93932 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_DQMB 1680,94003 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_DQSB_MASK 1681,94074 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWN_DQSB 1682,94145 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_CKB_MASK 1683,94216 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_CKB 1684,94287 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_AB_MASK 1685,94358 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_AB 1686,94429 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_DQMB_MASK 1687,94500 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_DQMB 1688,94571 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_DQSB_MASK 1689,94642 -#define MC_CHP_IO_CNTL_B1__MEM_SLEWP_DQSB 1690,94713 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_AB_MASK 1691,94784 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_AB 1692,94855 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_DQMB_MASK 1693,94926 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_DQMB 1694,94997 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_DQSB_MASK 1695,95068 -#define MC_CHP_IO_CNTL_B1__MEM_PREAMP_DQSB 1696,95139 -#define MC_CHP_IO_CNTL_B1__MEM_IO_MODEB_MASK 1697,95210 -#define MC_CHP_IO_CNTL_B1__MEM_REC_CKB_MASK 1698,95281 -#define MC_CHP_IO_CNTL_B1__MEM_REC_AB_MASK 1699,95352 -#define MC_CHP_IO_CNTL_B1__MEM_REC_DQMB_MASK 1700,95423 -#define MC_CHP_IO_CNTL_B1__MEM_REC_DQSB_MASK 1701,95494 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_PHASEB_MASK 1702,95565 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_PHASEB 1703,95636 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_CENTERB_MASK 1704,95707 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_CENTERB 1705,95778 -#define MC_CHP_IO_CNTL_B1__MEM_SYNC_ENB_MASK 1706,95849 -#define MC_CHP_IO_CNTL_B1__MEM_CLK_SELB_MASK 1707,95920 -#define MC_CHP_IO_CNTL_B1__MEM_CLK_INVB_MASK 1708,95991 -#define MC_CHP_IO_CNTL_B1__MEM_CLK_INVB 1709,96062 -#define MC_CHP_IO_CNTL_B1__MEM_DATA_ENIMP_B_MASK 1710,96133 -#define MC_CHP_IO_CNTL_B1__MEM_DATA_ENIMP_B 1711,96204 -#define MC_CHP_IO_CNTL_B1__MEM_CNTL_ENIMP_B_MASK 1712,96275 -#define MC_CHP_IO_CNTL_B1__MEM_CNTL_ENIMP_B 1713,96346 -#define MEM_SDRAM_MODE_REG__MEM_MODE_REG_MASK 1716,96440 -#define MEM_SDRAM_MODE_REG__MEM_WR_LATENCY_MASK 1717,96511 -#define MEM_SDRAM_MODE_REG__MEM_CAS_LATENCY_MASK 1718,96582 -#define MEM_SDRAM_MODE_REG__MEM_CMD_LATENCY_MASK 1719,96653 -#define MEM_SDRAM_MODE_REG__MEM_CMD_LATENCY 1720,96724 -#define MEM_SDRAM_MODE_REG__MEM_STR_LATENCY_MASK 1721,96795 -#define MEM_SDRAM_MODE_REG__MEM_STR_LATENCY 1722,96866 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_CMD_MASK 1723,96937 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_CMD 1724,97008 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_DATA_MASK 1725,97079 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_DATA 1726,97150 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_STR_MASK 1727,97221 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_STR 1728,97292 -#define MEM_SDRAM_MODE_REG__MC_INIT_COMPLETE_MASK 1729,97363 -#define MEM_SDRAM_MODE_REG__MC_INIT_COMPLETE 1730,97434 -#define MEM_SDRAM_MODE_REG__MEM_DDR_DLL_MASK 1731,97505 -#define MEM_SDRAM_MODE_REG__MEM_DDR_DLL 1732,97576 -#define MEM_SDRAM_MODE_REG__MEM_CFG_TYPE_MASK 1733,97647 -#define MEM_SDRAM_MODE_REG__MEM_CFG_TYPE 1734,97718 -#define MEM_SDRAM_MODE_REG__MEM_SDRAM_RESET_MASK 1735,97789 -#define MEM_SDRAM_MODE_REG__MEM_SDRAM_RESET 1736,97860 -#define MEM_SDRAM_MODE_REG__MEM_MODE_REG__SHIFT 1739,97954 -#define MEM_SDRAM_MODE_REG__MEM_WR_LATENCY__SHIFT 1740,98024 -#define MEM_SDRAM_MODE_REG__MEM_CAS_LATENCY__SHIFT 1741,98094 -#define MEM_SDRAM_MODE_REG__MEM_CMD_LATENCY__SHIFT 1742,98164 -#define MEM_SDRAM_MODE_REG__MEM_STR_LATENCY__SHIFT 1743,98234 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_CMD__SHIFT 1744,98304 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_DATA__SHIFT 1745,98374 -#define MEM_SDRAM_MODE_REG__MEM_FALL_OUT_STR__SHIFT 1746,98444 -#define MEM_SDRAM_MODE_REG__MC_INIT_COMPLETE__SHIFT 1747,98514 -#define MEM_SDRAM_MODE_REG__MEM_DDR_DLL__SHIFT 1748,98584 -#define MEM_SDRAM_MODE_REG__MEM_CFG_TYPE__SHIFT 1749,98654 -#define MEM_SDRAM_MODE_REG__MEM_SDRAM_RESET__SHIFT 1750,98724 -#define MEM_REFRESH_CNTL__MEM_REFRESH_RATE_MASK 1753,98815 -#define MEM_REFRESH_CNTL__MEM_REFRESH_DIS_MASK 1754,98886 -#define MEM_REFRESH_CNTL__MEM_REFRESH_DIS 1755,98957 -#define MEM_REFRESH_CNTL__MEM_DYNAMIC_CKE_MASK 1756,99028 -#define MEM_REFRESH_CNTL__MEM_DYNAMIC_CKE 1757,99099 -#define MEM_REFRESH_CNTL__MEM_TRFC_MASK 1758,99170 -#define MEM_REFRESH_CNTL__MEM_CLKA0_ENABLE_MASK 1759,99241 -#define MEM_REFRESH_CNTL__MEM_CLKA0_ENABLE 1760,99312 -#define MEM_REFRESH_CNTL__MEM_CLKA0b_ENABLE_MASK 1761,99383 -#define MEM_REFRESH_CNTL__MEM_CLKA0b_ENABLE 1762,99454 -#define MEM_REFRESH_CNTL__MEM_CLKA1_ENABLE_MASK 1763,99525 -#define MEM_REFRESH_CNTL__MEM_CLKA1_ENABLE 1764,99596 -#define MEM_REFRESH_CNTL__MEM_CLKA1b_ENABLE_MASK 1765,99667 -#define MEM_REFRESH_CNTL__MEM_CLKA1b_ENABLE 1766,99738 -#define MEM_REFRESH_CNTL__MEM_CLKAFB_ENABLE_MASK 1767,99809 -#define MEM_REFRESH_CNTL__MEM_CLKAFB_ENABLE 1768,99880 -#define MEM_REFRESH_CNTL__DLL_FB_SLCT_CKA_MASK 1769,99951 -#define MEM_REFRESH_CNTL__MEM_CLKB0_ENABLE_MASK 1770,100022 -#define MEM_REFRESH_CNTL__MEM_CLKB0_ENABLE 1771,100093 -#define MEM_REFRESH_CNTL__MEM_CLKB0b_ENABLE_MASK 1772,100164 -#define MEM_REFRESH_CNTL__MEM_CLKB0b_ENABLE 1773,100235 -#define MEM_REFRESH_CNTL__MEM_CLKB1_ENABLE_MASK 1774,100306 -#define MEM_REFRESH_CNTL__MEM_CLKB1_ENABLE 1775,100377 -#define MEM_REFRESH_CNTL__MEM_CLKB1b_ENABLE_MASK 1776,100448 -#define MEM_REFRESH_CNTL__MEM_CLKB1b_ENABLE 1777,100519 -#define MEM_REFRESH_CNTL__MEM_CLKBFB_ENABLE_MASK 1778,100590 -#define MEM_REFRESH_CNTL__MEM_CLKBFB_ENABLE 1779,100661 -#define MEM_REFRESH_CNTL__DLL_FB_SLCT_CKB_MASK 1780,100732 -#define MC_STATUS__MEM_PWRUP_COMPL_A_MASK 1783,100817 -#define MC_STATUS__MEM_PWRUP_COMPL_A 1784,100888 -#define MC_STATUS__MEM_PWRUP_COMPL_B_MASK 1785,100959 -#define MC_STATUS__MEM_PWRUP_COMPL_B 1786,101030 -#define MC_STATUS__MC_IDLE_MASK 1787,101101 -#define MC_STATUS__MC_IDLE 1788,101172 -#define MC_STATUS__IMP_N_VALUE_R_BACK_MASK 1789,101243 -#define MC_STATUS__IMP_P_VALUE_R_BACK_MASK 1790,101314 -#define MC_STATUS__TEST_OUT_R_BACK_MASK 1791,101385 -#define MC_STATUS__TEST_OUT_R_BACK 1792,101456 -#define MC_STATUS__DUMMY_OUT_R_BACK_MASK 1793,101527 -#define MC_STATUS__DUMMY_OUT_R_BACK 1794,101598 -#define MC_STATUS__IMP_N_VALUE_A_R_BACK_MASK 1795,101669 -#define MC_STATUS__IMP_P_VALUE_A_R_BACK_MASK 1796,101740 -#define MC_STATUS__IMP_N_VALUE_CK_R_BACK_MASK 1797,101811 -#define MC_STATUS__IMP_P_VALUE_CK_R_BACK_MASK 1798,101882 -#define MDLL_CKO__MCKOA_SLEEP_MASK 1801,101966 -#define MDLL_CKO__MCKOA_SLEEP 1802,102037 -#define MDLL_CKO__MCKOA_RESET_MASK 1803,102108 -#define MDLL_CKO__MCKOA_RESET 1804,102179 -#define MDLL_CKO__MCKOA_RANGE_MASK 1805,102250 -#define MDLL_CKO__ERSTA_SOUTSEL_MASK 1806,102321 -#define MDLL_CKO__MCKOA_FB_SEL_MASK 1807,102392 -#define MDLL_CKO__MCKOA_REF_SKEW_MASK 1808,102463 -#define MDLL_CKO__MCKOA_FB_SKEW_MASK 1809,102534 -#define MDLL_CKO__MCKOA_BP_SEL_MASK 1810,102605 -#define MDLL_CKO__MCKOA_BP_SEL 1811,102676 -#define MDLL_CKO__MCKOB_SLEEP_MASK 1812,102747 -#define MDLL_CKO__MCKOB_SLEEP 1813,102818 -#define MDLL_CKO__MCKOB_RESET_MASK 1814,102889 -#define MDLL_CKO__MCKOB_RESET 1815,102960 -#define MDLL_CKO__MCKOB_RANGE_MASK 1816,103031 -#define MDLL_CKO__ERSTB_SOUTSEL_MASK 1817,103102 -#define MDLL_CKO__MCKOB_FB_SEL_MASK 1818,103173 -#define MDLL_CKO__MCKOB_REF_SKEW_MASK 1819,103244 -#define MDLL_CKO__MCKOB_FB_SKEW_MASK 1820,103315 -#define MDLL_CKO__MCKOB_BP_SEL_MASK 1821,103386 -#define MDLL_CKO__MCKOB_BP_SEL 1822,103457 -#define MDLL_RDCKA__MRDCKA0_SLEEP_MASK 1825,103543 -#define MDLL_RDCKA__MRDCKA0_SLEEP 1826,103614 -#define MDLL_RDCKA__MRDCKA0_RESET_MASK 1827,103685 -#define MDLL_RDCKA__MRDCKA0_RESET 1828,103756 -#define MDLL_RDCKA__MRDCKA0_RANGE_MASK 1829,103827 -#define MDLL_RDCKA__MRDCKA0_REF_SEL_MASK 1830,103898 -#define MDLL_RDCKA__MRDCKA0_FB_SEL_MASK 1831,103969 -#define MDLL_RDCKA__MRDCKA0_REF_SKEW_MASK 1832,104040 -#define MDLL_RDCKA__MRDCKA0_SINSEL_MASK 1833,104111 -#define MDLL_RDCKA__MRDCKA0_SINSEL 1834,104182 -#define MDLL_RDCKA__MRDCKA0_FB_SKEW_MASK 1835,104253 -#define MDLL_RDCKA__MRDCKA0_BP_SEL_MASK 1836,104324 -#define MDLL_RDCKA__MRDCKA0_BP_SEL 1837,104395 -#define MDLL_RDCKA__MRDCKA1_SLEEP_MASK 1838,104466 -#define MDLL_RDCKA__MRDCKA1_SLEEP 1839,104537 -#define MDLL_RDCKA__MRDCKA1_RESET_MASK 1840,104608 -#define MDLL_RDCKA__MRDCKA1_RESET 1841,104679 -#define MDLL_RDCKA__MRDCKA1_RANGE_MASK 1842,104750 -#define MDLL_RDCKA__MRDCKA1_REF_SEL_MASK 1843,104821 -#define MDLL_RDCKA__MRDCKA1_FB_SEL_MASK 1844,104892 -#define MDLL_RDCKA__MRDCKA1_REF_SKEW_MASK 1845,104963 -#define MDLL_RDCKA__MRDCKA1_SINSEL_MASK 1846,105034 -#define MDLL_RDCKA__MRDCKA1_SINSEL 1847,105105 -#define MDLL_RDCKA__MRDCKA1_FB_SKEW_MASK 1848,105176 -#define MDLL_RDCKA__MRDCKA1_BP_SEL_MASK 1849,105247 -#define MDLL_RDCKA__MRDCKA1_BP_SEL 1850,105318 -#define MDLL_RDCKB__MRDCKB0_SLEEP_MASK 1853,105404 -#define MDLL_RDCKB__MRDCKB0_SLEEP 1854,105475 -#define MDLL_RDCKB__MRDCKB0_RESET_MASK 1855,105546 -#define MDLL_RDCKB__MRDCKB0_RESET 1856,105617 -#define MDLL_RDCKB__MRDCKB0_RANGE_MASK 1857,105688 -#define MDLL_RDCKB__MRDCKB0_REF_SEL_MASK 1858,105759 -#define MDLL_RDCKB__MRDCKB0_FB_SEL_MASK 1859,105830 -#define MDLL_RDCKB__MRDCKB0_REF_SKEW_MASK 1860,105901 -#define MDLL_RDCKB__MRDCKB0_SINSEL_MASK 1861,105972 -#define MDLL_RDCKB__MRDCKB0_SINSEL 1862,106043 -#define MDLL_RDCKB__MRDCKB0_FB_SKEW_MASK 1863,106114 -#define MDLL_RDCKB__MRDCKB0_BP_SEL_MASK 1864,106185 -#define MDLL_RDCKB__MRDCKB0_BP_SEL 1865,106256 -#define MDLL_RDCKB__MRDCKB1_SLEEP_MASK 1866,106327 -#define MDLL_RDCKB__MRDCKB1_SLEEP 1867,106398 -#define MDLL_RDCKB__MRDCKB1_RESET_MASK 1868,106469 -#define MDLL_RDCKB__MRDCKB1_RESET 1869,106540 -#define MDLL_RDCKB__MRDCKB1_RANGE_MASK 1870,106611 -#define MDLL_RDCKB__MRDCKB1_REF_SEL_MASK 1871,106682 -#define MDLL_RDCKB__MRDCKB1_FB_SEL_MASK 1872,106753 -#define MDLL_RDCKB__MRDCKB1_REF_SKEW_MASK 1873,106824 -#define MDLL_RDCKB__MRDCKB1_SINSEL_MASK 1874,106895 -#define MDLL_RDCKB__MRDCKB1_SINSEL 1875,106966 -#define MDLL_RDCKB__MRDCKB1_FB_SKEW_MASK 1876,107037 -#define MDLL_RDCKB__MRDCKB1_BP_SEL_MASK 1877,107108 -#define MDLL_RDCKB__MRDCKB1_BP_SEL 1878,107179 -#define pllVCLK_ECP_CNTL 1880,107251 -#define pllDISP_TEST_MACRO_RW_WRITE 1881,107310 -#define pllDISP_TEST_MACRO_RW_READ 1882,107369 -#define pllDISP_TEST_MACRO_RW_DATA 1883,107428 -#define pllDISP_TEST_MACRO_RW_CNTL 1884,107487 -#define pllPIXCLKS_CNTL 1885,107546 -#define pllPPLL_DIV_0 1886,107605 -#define pllPPLL_DIV_1 1887,107664 -#define pllPPLL_DIV_2 1888,107723 -#define pllPPLL_DIV_3 1889,107782 -#define pllHTOTAL_CNTL 1890,107841 -#define pllPLL_TEST_CNTL_M6 1891,107900 -#define pllP2PLL_DIV_0 1892,107959 -#define pllHTOTAL2_CNTL 1893,108018 -#define pllCLK_PIN_CNTL 1894,108077 -#define pllPPLL_CNTL 1895,108136 -#define pllPPLL_REF_DIV 1896,108195 -#define pllSPLL_CNTL 1897,108254 -#define pllSPLL_AUX_CNTL 1898,108313 -#define pllSCLK_CNTL_M6 1899,108372 -#define pllAGP_PLL_CNTL 1900,108431 -#define pllTV_PLL_FINE_CNTL 1901,108490 -#define pllTV_PLL_CNTL 1902,108549 -#define pllTV_PLL_CNTL1 1903,108608 -#define pllTV_DTO_INCREMENTS 1904,108667 -#define pllP2PLL_CNTL 1905,108726 -#define pllP2PLL_REF_DIV 1906,108785 -#define pllSSPLL_CNTL 1907,108844 -#define pllSSPLL_REF_DIV 1908,108903 -#define pllSSPLL_DIV_0 1909,108962 -#define pllSS_INT_CNTL 1910,109021 -#define pllSS_TST_CNTL 1911,109080 -#define pllSCLK_MORE_CNTL 1912,109139 -#define pllCLK_PWRMGT_CNTL_M6 1913,109198 -#define pllPLL_PWRMGT_CNTL 1914,109257 -#define pllM_SPLL_REF_FB_DIV 1915,109316 -#define pllMPLL_CNTL 1916,109375 -#define pllMPLL_AUX_CNTL 1917,109434 -#define pllMDLL_CKO 1918,109493 -#define pllMDLL_RDCKA 1919,109552 -#define pllMDLL_RDCKB 1920,109611 -#define pllMCLK_CNTL_M6 1921,109670 -#define pllMCLK_MISC 1922,109729 -#define pllCG_TEST_MACRO_RW_WRITE 1923,109788 -#define pllCG_TEST_MACRO_RW_READ 1924,109847 -#define pllCG_TEST_MACRO_RW_DATA 1925,109906 -#define pllCG_TEST_MACRO_RW_CNTL 1926,109965 -#define ixMC_PERF_CNTL 1928,110025 -#define ixMC_PERF_SEL 1929,110083 -#define ixMC_PERF_REGION_0 1930,110141 -#define ixMC_PERF_REGION_1 1931,110199 -#define ixMC_PERF_COUNT_0 1932,110257 -#define ixMC_PERF_COUNT_1 1933,110315 -#define ixMC_PERF_COUNT_2 1934,110373 -#define ixMC_PERF_COUNT_3 1935,110431 -#define ixMC_PERF_COUNT_MEMCH_A 1936,110489 -#define ixMC_PERF_COUNT_MEMCH_B 1937,110547 -#define ixMC_IMP_CNTL 1938,110605 -#define ixMC_CHP_IO_CNTL_A0 1939,110663 -#define ixMC_CHP_IO_CNTL_A1 1940,110721 -#define ixMC_CHP_IO_CNTL_B0 1941,110779 -#define ixMC_CHP_IO_CNTL_B1 1942,110837 -#define ixMC_IMP_CNTL_0 1943,110895 -#define ixTC_MISMATCH_1 1944,110953 -#define ixTC_MISMATCH_2 1945,111011 -#define ixMC_BIST_CTRL 1946,111069 -#define ixREG_COLLAR_WRITE 1947,111127 -#define ixREG_COLLAR_READ 1948,111185 -#define NB_TOM 1950,111244 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/cirrus.h,2070 -#define __CLGENFB_H__23,616 -#define CL_POS102 30,887 -#define CL_VSSM 31,935 -#define CL_VSSM2 32,980 -#define CL_SEQR0 35,1062 -#define CL_SEQR6 37,1156 -#define CL_SEQR7 38,1205 -#define CL_SEQR8 39,1256 -#define CL_SEQR9 40,1298 -#define CL_SEQRA 41,1356 -#define CL_SEQRB 42,1414 -#define CL_SEQRC 43,1457 -#define CL_SEQRD 44,1500 -#define CL_SEQRE 45,1543 -#define CL_SEQRF 46,1586 -#define CL_SEQR10 47,1626 -#define CL_SEQR11 48,1682 -#define CL_SEQR12 49,1738 -#define CL_SEQR13 50,1794 -#define CL_SEQR14 51,1862 -#define CL_SEQR15 52,1943 -#define CL_SEQR16 53,2024 -#define CL_SEQR17 54,2097 -#define CL_SEQR18 55,2187 -#define CL_SEQR19 56,2260 -#define CL_SEQR1A 57,2341 -#define CL_SEQR1B 58,2423 -#define CL_SEQR1C 59,2492 -#define CL_SEQR1D 60,2561 -#define CL_SEQR1E 61,2630 -#define CL_SEQR1F 62,2699 -#define CL_CRT22 65,2802 -#define CL_CRT24 66,2861 -#define CL_CRT26 67,2926 -#define CL_CRT19 69,3051 -#define CL_CRT1A 70,3093 -#define CL_CRT1B 71,3139 -#define CL_CRT1C 72,3193 -#define CL_CRT1D 73,3254 -#define CL_CRT25 74,3316 -#define CL_CRT27 75,3365 -#define CL_CRT51 76,3405 -#define CL_GR9 80,3562 -#define CL_GRA 81,3606 -#define CL_GRB 82,3650 -#define CL_GRC 83,3712 -#define CL_GRD 84,3773 -#define CL_GRE 85,3839 -#define CL_GRF 86,3904 -#define CL_GR10 87,3967 -#define CL_GR11 88,4043 -#define CL_GR12 89,4119 -#define CL_GR13 90,4180 -#define CL_GR14 91,4241 -#define CL_GR15 92,4302 -#define CL_GR20 94,4428 -#define CL_GR21 95,4470 -#define CL_GR22 96,4513 -#define CL_GR23 97,4556 -#define CL_GR24 98,4600 -#define CL_GR25 99,4654 -#define CL_GR26 100,4709 -#define CL_GR27 101,4758 -#define CL_GR28 102,4808 -#define CL_GR29 103,4862 -#define CL_GR2A 104,4916 -#define CL_GR2C 105,4971 -#define CL_GR2D 106,5020 -#define CL_GR2E 107,5069 -#define CL_GR2F 108,5119 -#define CL_GR30 109,5181 -#define CL_GR31 110,5218 -#define CL_GR32 111,5263 -#define CL_GR33 112,5312 -#define CL_GR34 113,5371 -#define CL_GR35 114,5428 -#define CL_GR38 115,5486 -#define CL_GR39 116,5548 -#define CL_AR33 119,5653 -#define CL_AR34 120,5719 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/sstfb.h,6429 -#define _SSTFB_H_11,211 -# define dprintk(dprintk20,277 -# define dprintk(dprintk22,328 -# define r_dprintk(r_dprintk29,454 -# define r_dprintk(r_dprintk31,497 -# define r_ddprintk(r_ddprintk34,554 -# define r_ddprintk(r_ddprintk36,602 -# define f_dprintk(f_dprintk40,662 -# define f_dprintk(f_dprintk42,705 -# define f_ddprintk(f_ddprintk45,763 -# define f_ddprintk(f_ddprintk47,811 -# define f_dddprintk(f_dddprintk50,870 -# define f_dddprintk(f_dddprintk52,919 -# define v_dprintk(v_dprintk56,979 -# define print_var(print_var57,1016 -# define v_dprintk(v_dprintk64,1141 -# define print_var(print_var65,1167 -#define eprintk(eprintk68,1203 -#define iprintk(iprintk69,1254 -#define wprintk(wprintk70,1306 -#define BIT(BIT72,1362 -#define POW2(POW273,1389 -#define PCI_INIT_ENABLE 82,1458 -# define PCI_EN_INIT_WR 83,1488 -# define PCI_EN_FIFO_WR 84,1522 -# define PCI_REMAP_DAC 85,1556 -#define PCI_VCLK_ENABLE 86,1590 -#define PCI_VCLK_DISABLE 87,1639 -#define STATUS 90,1710 -# define STATUS_FBI_BUSY 91,1734 -#define FBZMODE 92,1769 -# define EN_CLIPPING 93,1794 -# define EN_RGB_WRITE 94,1848 -# define EN_ALPHA_WRITE 95,1913 -# define ENGINE_INVERT_Y 96,1948 -#define LFBMODE 97,2013 -# define LFB_565 98,2038 -# define LFB_888 99,2090 -# define LFB_8888 100,2132 -# define WR_BUFF_FRONT 101,2176 -# define WR_BUFF_BACK 102,2237 -# define RD_BUFF_FRONT 103,2283 -# define RD_BUFF_BACK 104,2344 -# define EN_PXL_PIPELINE 105,2390 -# define LFB_WORD_SWIZZLE_WR 106,2454 -# define LFB_BYTE_SWIZZLE_WR 107,2535 -# define LFB_INVERT_Y 108,2616 -# define LFB_WORD_SWIZZLE_RD 109,2678 -# define LFB_BYTE_SWIZZLE_RD 110,2758 -#define CLIP_LEFT_RIGHT 111,2838 -#define CLIP_LOWY_HIGHY 112,2870 -#define NOPCMD 113,2902 -#define FASTFILLCMD 114,2926 -#define SWAPBUFFCMD 115,2954 -#define FBIINIT4 116,2982 -# define FAST_PCI_READS 117,3028 -# define SLOW_PCI_READS 118,3076 -# define LFB_READ_AHEAD 119,3121 -#define BACKPORCH 120,3155 -#define VIDEODIMENSIONS 121,3181 -#define FBIINIT0 122,3213 -# define EN_VGA_PASSTHROUGH 123,3265 -# define FBI_RESET 124,3303 -# define FIFO_RESET 125,3333 -#define FBIINIT1 126,3364 -# define VIDEO_MASK 127,3417 -# define FAST_PCI_WRITES 128,3488 -# define SLOW_PCI_WRITES 129,3530 -# define EN_LFB_READ 130,3576 -# define TILES_IN_X_SHIFT 131,3608 -# define VIDEO_RESET 132,3639 -# define EN_BLANKING 133,3671 -# define EN_DATA_OE 134,3704 -# define EN_BLANK_OE 135,3736 -# define EN_HVSYNC_OE 136,3769 -# define EN_DCLK_OE 137,3803 -# define SEL_INPUT_VCLK_2X 138,3835 -# define SEL_INPUT_VCLK_SLAVE 139,3881 -# define SEL_SOURCE_VCLK_SLAVE 140,3922 -# define SEL_SOURCE_VCLK_2X_DIV2 141,3976 -# define SEL_SOURCE_VCLK_2X_SEL 142,4023 -# define EN_24BPP 143,4070 -# define TILES_IN_X_MSB_SHIFT 144,4100 -# define VCLK_2X_SEL_DEL_SHIFT 145,4146 -# define VCLK_DEL_SHIFT 146,4215 -#define FBIINIT2 147,4266 -# define EN_FAST_RAS_READ 148,4312 -# define EN_DRAM_OE 149,4348 -# define EN_FAST_RD_AHEAD_WR 150,4379 -# define VIDEO_OFFSET_SHIFT 151,4418 -# define SWAP_DACVSYNC 152,4484 -# define SWAP_DACDATA0 153,4513 -# define SWAP_FIFO_STALL 154,4549 -# define EN_RD_AHEAD_FIFO 155,4586 -# define EN_DRAM_REFRESH 156,4623 -# define DRAM_REFRESH_16 157,4659 -#define DAC_READ 158,4717 -#define FBIINIT3 159,4764 -# define DISABLE_TEXTURE 160,4809 -# define Y_SWAP_ORIGIN_SHIFT 161,4844 -#define HSYNC 162,4912 -#define VSYNC 163,4935 -#define DAC_DATA 164,4958 -# define DAC_READ_CMD 165,4983 -#define FBIINIT5 166,5044 -# define FBIINIT5_MASK 167,5088 -# define HDOUBLESCAN 168,5150 -# define VDOUBLESCAN 169,5183 -# define HSYNC_HIGH 170,5216 -# define VSYNC_HIGH 171,5249 -# define INTERLACE 172,5282 -#define FBIINIT6 173,5313 -# define TILES_IN_X_LSB_SHIFT 174,5357 -#define FBIINIT7 175,5403 -#define BLTSRCBASEADDR 177,5448 -#define BLTDSTBASEADDR 178,5512 -#define BLTXYSTRIDES 179,5581 -#define BLTSRCCHROMARANGE 180,5654 -#define BLTDSTCHROMARANGE 181,5724 -#define BLTCLIPX 182,5799 -#define BLTCLIPY 183,5859 -#define BLTSRCXY 184,5919 -#define BLTDSTXY 185,5988 -#define BLTSIZE 186,6062 -#define BLTROP 187,6117 -# define BLTROP_COPY 188,6172 -# define BLTROP_INVERT 189,6205 -# define BLTROP_XOR 190,6240 -#define BLTCOLOR 191,6272 -#define BLTCOMMAND 192,6343 -# define BLT_SCR2SCR_BITBLT 193,6410 -# define BLT_CPU2SCR_BITBLT 194,6474 -# define BLT_RECFILL_BITBLT 195,6535 -# define BLT_16BPP_FMT 196,6597 -#define BLTDATA 197,6652 -# define LAUNCH_BITBLT 198,6721 -#define DACREG_WMA 201,6832 -#define DACREG_LUT 202,6887 -#define DACREG_RMR 203,6930 -#define DACREG_RMA 204,6972 -#define DACREG_ADDR_I 206,7077 -#define DACREG_DATA_I 207,7111 -#define DACREG_RMR_I 208,7145 -#define DACREG_CR0_I 209,7172 -# define DACREG_CR0_EN_INDEXED 210,7199 -# define DACREG_CR0_8BIT 211,7266 -# define DACREG_CR0_PWDOWN 212,7330 -# define DACREG_CR0_16BPP 213,7387 -# define DACREG_CR0_24BPP 214,7435 -#define DACREG_CR1_I 215,7483 -#define DACREG_CC_I 216,7510 -# define DACREG_CC_CLKA 217,7536 -# define DACREG_CC_CLKA_C 218,7600 -# define DACREG_CC_CLKB 219,7659 -# define DACREG_CC_CLKB_D 220,7723 -#define DACREG_AC0_I 221,7777 -#define DACREG_AC1_I 222,7825 -#define DACREG_BD0_I 223,7852 -#define DACREG_BD1_I 224,7900 -#define DACREG_MIR_TI 227,7959 -#define DACREG_DIR_TI 228,7987 -#define DACREG_MIR_ATT 229,8015 -#define DACREG_DIR_ATT 230,8044 -#define DACREG_ICS_PLLWMA 232,8106 -#define DACREG_ICS_PLLDATA 233,8166 -#define DACREG_ICS_CMD 234,8224 -# define DACREG_ICS_CMD_16BPP 235,8267 -# define DACREG_ICS_CMD_24BPP 236,8342 -# define DACREG_ICS_CMD_PWDOWN 237,8417 -#define DACREG_ICS_PLLRMA 238,8476 -#define DACREG_ICS_PLL_CLK0_1_INI 246,8753 -#define DACREG_ICS_PLL_CLK0_7_INI 247,8831 -#define DACREG_ICS_PLL_CLK1_B_INI 248,8879 -#define DACREG_ICS_PLL_CTRL 249,8927 -# define DACREG_ICS_CLK0 250,8960 -# define DACREG_ICS_CLK0_0 251,8995 -# define DACREG_ICS_CLK1_A 252,9027 -#define FBIINIT0_DEFAULT 255,9104 -#define FBIINIT1_DEFAULT 257,9149 -#define FBIINIT2_DEFAULT 267,9324 -#define FBIINIT3_DEFAULT 278,9509 -#define FBIINIT4_DEFAULT 281,9559 -#define FBIINIT6_DEFAULT 292,9929 - VID_CLOCK=302,10034 - GFX_CLOCK=303,10048 -#define DAC_FREF 307,10081 -#define VCO_MAX 308,10135 -struct pll_timing pll_timing314,10187 -struct dac_switch dac_switch320,10262 -struct sst_spec sst_spec327,10483 -struct sstfb_par sstfb_par333,10638 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/aty128.h,12123 -#define REG_RAGE128_H10,247 -#define CLOCK_CNTL_INDEX 12,270 -#define CLOCK_CNTL_DATA 13,304 -#define BIOS_0_SCRATCH 14,338 -#define BUS_CNTL 15,371 -#define BUS_CNTL1 16,398 -#define GEN_INT_CNTL 17,426 -#define CRTC_GEN_CNTL 18,457 -#define CRTC_EXT_CNTL 19,489 -#define DAC_CNTL 20,521 -#define I2C_CNTL_1 21,548 -#define PALETTE_INDEX 22,577 -#define PALETTE_DATA 23,609 -#define CONFIG_CNTL 24,640 -#define GEN_RESET_CNTL 25,670 -#define CONFIG_MEMSIZE 26,703 -#define MEM_CNTL 27,736 -#define MEM_POWER_MISC 28,763 -#define AGP_BASE 29,796 -#define AGP_CNTL 30,823 -#define AGP_APER_OFFSET 31,850 -#define PCI_GART_PAGE 32,884 -#define PC_NGUI_MODE 33,916 -#define PC_NGUI_CTLSTAT 34,947 -#define MPP_TB_CONFIG 35,981 -#define MPP_GP_CONFIG 36,1013 -#define VIPH_CONTROL 37,1045 -#define CRTC_H_TOTAL_DISP 38,1076 -#define CRTC_H_SYNC_STRT_WID 39,1111 -#define CRTC_V_TOTAL_DISP 40,1149 -#define CRTC_V_SYNC_STRT_WID 41,1184 -#define CRTC_VLINE_CRNT_VLINE 42,1222 -#define CRTC_CRNT_FRAME 43,1261 -#define CRTC_GUI_TRIG_VLINE 44,1295 -#define CRTC_OFFSET 45,1332 -#define CRTC_OFFSET_CNTL 46,1362 -#define CRTC_PITCH 47,1396 -#define OVR_CLR 48,1425 -#define OVR_WID_LEFT_RIGHT 49,1452 -#define OVR_WID_TOP_BOTTOM 50,1488 -#define LVDS_GEN_CNTL 51,1524 -#define DDA_CONFIG 52,1556 -#define DDA_ON_OFF 53,1585 -#define VGA_DDA_CONFIG 54,1614 -#define VGA_DDA_ON_OFF 55,1647 -#define CRTC2_H_TOTAL_DISP 56,1680 -#define CRTC2_H_SYNC_STRT_WID 57,1716 -#define CRTC2_V_TOTAL_DISP 58,1755 -#define CRTC2_V_SYNC_STRT_WID 59,1791 -#define CRTC2_VLINE_CRNT_VLINE 60,1830 -#define CRTC2_CRNT_FRAME 61,1870 -#define CRTC2_GUI_TRIG_VLINE 62,1904 -#define CRTC2_OFFSET 63,1942 -#define CRTC2_OFFSET_CNTL 64,1973 -#define CRTC2_PITCH 65,2008 -#define DDA2_CONFIG 66,2038 -#define DDA2_ON_OFF 67,2068 -#define CRTC2_GEN_CNTL 68,2098 -#define CRTC2_STATUS 69,2131 -#define OV0_SCALE_CNTL 70,2162 -#define SUBPIC_CNTL 71,2195 -#define PM4_BUFFER_OFFSET 72,2225 -#define PM4_BUFFER_CNTL 73,2260 -#define PM4_BUFFER_WM_CNTL 74,2294 -#define PM4_BUFFER_DL_RPTR_ADDR 75,2330 -#define PM4_BUFFER_DL_RPTR 76,2371 -#define PM4_BUFFER_DL_WPTR 77,2407 -#define PM4_VC_FPU_SETUP 78,2443 -#define PM4_FPU_CNTL 79,2477 -#define PM4_VC_FORMAT 80,2508 -#define PM4_VC_CNTL 81,2540 -#define PM4_VC_I01 82,2570 -#define PM4_VC_VLOFF 83,2599 -#define PM4_VC_VLSIZE 84,2630 -#define PM4_IW_INDOFF 85,2662 -#define PM4_IW_INDSIZE 86,2694 -#define PM4_FPU_FPX0 87,2727 -#define PM4_FPU_FPY0 88,2758 -#define PM4_FPU_FPX1 89,2789 -#define PM4_FPU_FPY1 90,2820 -#define PM4_FPU_FPX2 91,2851 -#define PM4_FPU_FPY2 92,2882 -#define PM4_FPU_FPY3 93,2913 -#define PM4_FPU_FPY4 94,2944 -#define PM4_FPU_FPY5 95,2975 -#define PM4_FPU_FPY6 96,3006 -#define PM4_FPU_FPR 97,3037 -#define PM4_FPU_FPG 98,3067 -#define PM4_FPU_FPB 99,3097 -#define PM4_FPU_FPA 100,3127 -#define PM4_FPU_INTXY0 101,3157 -#define PM4_FPU_INTXY1 102,3190 -#define PM4_FPU_INTXY2 103,3223 -#define PM4_FPU_INTARGB 104,3256 -#define PM4_FPU_FPTWICEAREA 105,3290 -#define PM4_FPU_DMAJOR01 106,3327 -#define PM4_FPU_DMAJOR12 107,3361 -#define PM4_FPU_DMAJOR02 108,3395 -#define PM4_FPU_STAT 109,3429 -#define PM4_STAT 110,3460 -#define PM4_TEST_CNTL 111,3487 -#define PM4_MICROCODE_ADDR 112,3519 -#define PM4_MICROCODE_RADDR 113,3555 -#define PM4_MICROCODE_DATAH 114,3592 -#define PM4_MICROCODE_DATAL 115,3629 -#define PM4_CMDFIFO_ADDR 116,3666 -#define PM4_CMDFIFO_DATAH 117,3700 -#define PM4_CMDFIFO_DATAL 118,3735 -#define PM4_BUFFER_ADDR 119,3770 -#define PM4_BUFFER_DATAH 120,3804 -#define PM4_BUFFER_DATAL 121,3838 -#define PM4_MICRO_CNTL 122,3872 -#define CAP0_TRIG_CNTL 123,3905 -#define CAP1_TRIG_CNTL 124,3938 -#define PM4_FIFO_DATA_EVEN 130,4292 -#define PM4_FIFO_DATA_ODD 131,4328 -#define DST_OFFSET 133,4364 -#define DST_PITCH 134,4393 -#define DST_WIDTH 135,4421 -#define DST_HEIGHT 136,4449 -#define SRC_X 137,4478 -#define SRC_Y 138,4503 -#define DST_X 139,4528 -#define DST_Y 140,4553 -#define SRC_PITCH_OFFSET 141,4578 -#define DST_PITCH_OFFSET 142,4612 -#define SRC_Y_X 143,4646 -#define DST_Y_X 144,4673 -#define DST_HEIGHT_WIDTH 145,4700 -#define DP_GUI_MASTER_CNTL 146,4734 -#define BRUSH_SCALE 147,4770 -#define BRUSH_Y_X 148,4800 -#define DP_BRUSH_BKGD_CLR 149,4828 -#define DP_BRUSH_FRGD_CLR 150,4863 -#define DST_WIDTH_X 151,4898 -#define DST_HEIGHT_WIDTH_8 152,4928 -#define SRC_X_Y 153,4964 -#define DST_X_Y 154,4991 -#define DST_WIDTH_HEIGHT 155,5018 -#define DST_WIDTH_X_INCY 156,5052 -#define DST_HEIGHT_Y 157,5086 -#define DST_X_SUB 158,5117 -#define DST_Y_SUB 159,5145 -#define SRC_OFFSET 160,5173 -#define SRC_PITCH 161,5202 -#define DST_HEIGHT_WIDTH_BW 162,5230 -#define CLR_CMP_CNTL 163,5267 -#define CLR_CMP_CLR_SRC 164,5298 -#define CLR_CMP_CLR_DST 165,5332 -#define CLR_CMP_MASK 166,5366 -#define DP_SRC_FRGD_CLR 167,5397 -#define DP_SRC_BKGD_CLR 168,5431 -#define DST_BRES_ERR 169,5465 -#define DST_BRES_INC 170,5496 -#define DST_BRES_DEC 171,5527 -#define DST_BRES_LNTH 172,5558 -#define DST_BRES_LNTH_SUB 173,5590 -#define SC_LEFT 174,5625 -#define SC_RIGHT 175,5652 -#define SC_TOP 176,5679 -#define SC_BOTTOM 177,5705 -#define SRC_SC_RIGHT 178,5733 -#define SRC_SC_BOTTOM 179,5764 -#define GUI_DEBUG0 180,5796 -#define GUI_DEBUG1 181,5825 -#define GUI_TIMEOUT 182,5854 -#define GUI_TIMEOUT0 183,5884 -#define GUI_TIMEOUT1 184,5915 -#define GUI_PROBE 185,5946 -#define DP_CNTL 186,5974 -#define DP_DATATYPE 187,6001 -#define DP_MIX 188,6031 -#define DP_WRITE_MASK 189,6057 -#define DP_CNTL_XDIR_YDIR_YMAJOR 190,6089 -#define DEFAULT_OFFSET 191,6130 -#define DEFAULT_PITCH 192,6163 -#define DEFAULT_SC_BOTTOM_RIGHT 193,6195 -#define SC_TOP_LEFT 194,6236 -#define SC_BOTTOM_RIGHT 195,6266 -#define SRC_SC_BOTTOM_RIGHT 196,6300 -#define WAIT_UNTIL 197,6337 -#define CACHE_CNTL 198,6366 -#define GUI_STAT 199,6395 -#define PC_GUI_MODE 200,6422 -#define PC_GUI_CTLSTAT 201,6452 -#define PC_DEBUG_MODE 202,6485 -#define BRES_DST_ERR_DEC 203,6517 -#define TRAIL_BRES_T12_ERR_DEC 204,6551 -#define TRAIL_BRES_T12_INC 205,6591 -#define DP_T12_CNTL 206,6627 -#define DST_BRES_T1_LNTH 207,6657 -#define DST_BRES_T2_LNTH 208,6691 -#define SCALE_SRC_HEIGHT_WIDTH 209,6725 -#define SCALE_OFFSET_0 210,6765 -#define SCALE_PITCH 211,6798 -#define SCALE_X_INC 212,6828 -#define SCALE_Y_INC 213,6858 -#define SCALE_HACC 214,6888 -#define SCALE_VACC 215,6917 -#define SCALE_DST_X_Y 216,6946 -#define SCALE_DST_HEIGHT_WIDTH 217,6978 -#define SCALE_3D_CNTL 218,7018 -#define SCALE_3D_DATATYPE 219,7050 -#define SETUP_CNTL 220,7085 -#define SOLID_COLOR 221,7114 -#define WINDOW_XY_OFFSET 222,7144 -#define DRAW_LINE_POINT 223,7178 -#define SETUP_CNTL_PM4 224,7212 -#define DST_PITCH_OFFSET_C 225,7245 -#define DP_GUI_MASTER_CNTL_C 226,7281 -#define SC_TOP_LEFT_C 227,7319 -#define SC_BOTTOM_RIGHT_C 228,7351 -#define CLR_CMP_MASK_3D 230,7387 -#define MISC_3D_STATE_CNTL_REG 231,7421 -#define MC_SRC1_CNTL 232,7461 -#define TEX_CNTL 233,7492 -#define GUI_ACTIVE 236,7536 -#define ENGINE_IDLE 237,7569 -#define PLL_WR_EN 239,7597 -#define CLK_PIN_CNTL 241,7630 -#define PPLL_CNTL 242,7661 -#define PPLL_REF_DIV 243,7689 -#define PPLL_DIV_0 244,7720 -#define PPLL_DIV_1 245,7749 -#define PPLL_DIV_2 246,7778 -#define PPLL_DIV_3 247,7807 -#define VCLK_ECP_CNTL 248,7836 -#define HTOTAL_CNTL 249,7868 -#define X_MPLL_REF_FB_DIV 250,7898 -#define XPLL_CNTL 251,7933 -#define XDLL_CNTL 252,7961 -#define XCLK_CNTL 253,7989 -#define MPLL_CNTL 254,8017 -#define MCLK_CNTL 255,8045 -#define AGP_PLL_CNTL 256,8073 -#define FCP_CNTL 257,8104 -#define PLL_TEST_CNTL 258,8131 -#define P2PLL_CNTL 259,8163 -#define P2PLL_REF_DIV 260,8192 -#define P2PLL_DIV_0 261,8224 -#define POWER_MANAGEMENT 262,8254 -#define PPLL_RESET 264,8289 -#define PPLL_ATOMIC_UPDATE_EN 265,8316 -#define PPLL_VGA_ATOMIC_UPDATE_EN 266,8356 -#define PPLL_REF_DIV_MASK 267,8399 -#define PPLL_FB3_DIV_MASK 268,8433 -#define PPLL_POST3_DIV_MASK 269,8467 -#define PPLL_ATOMIC_UPDATE_R 270,8505 -#define PPLL_ATOMIC_UPDATE_W 271,8543 -#define MEM_CFG_TYPE_MASK 272,8581 -#define XCLK_SRC_SEL_MASK 273,8613 -#define XPLL_FB_DIV_MASK 274,8645 -#define X_MPLL_REF_DIV_MASK 275,8679 -#define CRTC_CSYNC_EN 278,8757 -#define CRTC2_DBL_SCAN_EN 280,8794 -#define CRTC2_DISPLAY_DIS 281,8833 -#define CRTC2_FIFO_EXTSENSE 282,8872 -#define CRTC2_ICON_EN 283,8913 -#define CRTC2_CUR_EN 284,8949 -#define CRTC2_EN 285,8984 -#define CRTC2_DISP_REQ_EN_B 286,9015 -#define CRTC_PIX_WIDTH_MASK 288,9057 -#define CRTC_PIX_WIDTH_4BPP 289,9098 -#define CRTC_PIX_WIDTH_8BPP 290,9139 -#define CRTC_PIX_WIDTH_15BPP 291,9180 -#define CRTC_PIX_WIDTH_16BPP 292,9222 -#define CRTC_PIX_WIDTH_24BPP 293,9264 -#define CRTC_PIX_WIDTH_32BPP 294,9306 -#define DAC_8BIT_EN 297,9378 -#define DAC_MASK 298,9412 -#define DAC_BLANKING 299,9443 -#define DAC_RANGE_CNTL 300,9478 -#define DAC_CLK_SEL 301,9515 -#define DAC_PALETTE_ACCESS_CNTL 302,9549 -#define DAC_PALETTE2_SNOOP_EN 303,9594 -#define DAC_PDWN 304,9637 -#define CRT_CRTC_ON 307,9689 -#define SOFT_RESET_GUI 310,9759 -#define SOFT_RESET_VCLK 311,9796 -#define SOFT_RESET_PCLK 312,9834 -#define SOFT_RESET_ECP 313,9872 -#define SOFT_RESET_DISPENG_XCLK 314,9909 -#define PC_BUSY_INIT 317,9990 -#define PC_BUSY_GUI 318,10025 -#define PC_BUSY_NGUI 319,10059 -#define PC_BUSY 320,10094 -#define BUS_MASTER_DIS 322,10126 -#define PM4_BUFFER_CNTL_NONPM4 323,10163 -#define DST_8BPP 326,10240 -#define DST_15BPP 327,10271 -#define DST_16BPP 328,10303 -#define DST_24BPP 329,10335 -#define DST_32BPP 330,10367 -#define BRUSH_SOLIDCOLOR 332,10400 -#define GMC_SRC_PITCH_OFFSET_DEFAULT 335,10478 -#define GMC_DST_PITCH_OFFSET_DEFAULT 336,10527 -#define GMC_SRC_CLIP_DEFAULT 337,10576 -#define GMC_DST_CLIP_DEFAULT 338,10618 -#define GMC_BRUSH_SOLIDCOLOR 339,10660 -#define GMC_SRC_DSTCOLOR 340,10702 -#define GMC_BYTE_ORDER_MSB_TO_LSB 341,10740 -#define GMC_DP_SRC_RECT 342,10786 -#define GMC_3D_FCN_EN_CLR 343,10824 -#define GMC_AUX_CLIP_CLEAR 344,10863 -#define GMC_DST_CLR_CMP_FCN_CLEAR 345,10903 -#define GMC_WRITE_MASK_SET 346,10949 -#define GMC_DP_CONVERSION_TEMP_6500 347,10989 -#define ROP3_PATCOPY 350,11084 -#define ROP3_SRCCOPY 351,11119 -#define SRC_DSTCOLOR 353,11155 -#define DST_X_RIGHT_TO_LEFT 356,11219 -#define DST_X_LEFT_TO_RIGHT 357,11260 -#define DST_Y_BOTTOM_TO_TOP 358,11301 -#define DST_Y_TOP_TO_BOTTOM 359,11342 -#define DST_X_MAJOR 360,11383 -#define DST_Y_MAJOR 361,11417 -#define DST_X_TILE 362,11451 -#define DST_Y_TILE 363,11484 -#define DST_LAST_PEL 364,11517 -#define DST_TRAIL_X_RIGHT_TO_LEFT 365,11552 -#define DST_TRAIL_X_LEFT_TO_RIGHT 366,11598 -#define DST_TRAP_FILL_RIGHT_TO_LEFT 367,11644 -#define DST_TRAP_FILL_LEFT_TO_RIGHT 368,11692 -#define DST_BRES_SIGN 369,11740 -#define DST_HOST_BIG_ENDIAN_EN 370,11776 -#define DST_POLYLINE_NONLAST 371,11820 -#define DST_RASTER_STALL 372,11862 -#define DST_POLY_EDGE 373,11900 -#define DP_SRC_RECT 376,11964 -#define DP_SRC_HOST 377,11998 -#define DP_SRC_HOST_BYTEALIGN 378,12032 -#define LVDS_BL_MOD_LEVEL_MASK 381,12106 -#define LVDS_BL_MOD_LEVEL_SHIFT 382,12150 -#define LVDS_BL_MOD_EN 383,12186 -#define LVDS_DIGION 384,12223 -#define LVDS_BLON 385,12257 -#define LVDS_ON 386,12289 -#define LVDS_DISPLAY_DIS 387,12320 -#define LVDS_PANEL_TYPE_2PIX_PER_CLK 388,12358 -#define LVDS_PANEL_24BITS_TFT 389,12407 -#define LVDS_FRAME_MOD_NO 390,12450 -#define LVDS_FRAME_MOD_2_LEVELS 391,12489 -#define LVDS_FRAME_MOD_4_LEVELS 392,12534 -#define LVDS_RST_FM 393,12579 -#define LVDS_EN 394,12613 -#define CRTC2_EN 397,12676 -#define PWR_MGT_ON 400,12741 -#define PWR_MGT_MODE_MASK 401,12774 -#define PWR_MGT_MODE_PIN 402,12813 -#define PWR_MGT_MODE_REGISTER 403,12851 -#define PWR_MGT_MODE_TIMER 404,12894 -#define PWR_MGT_MODE_PCI 405,12934 -#define PWR_MGT_AUTO_PWR_UP_EN 406,12972 -#define PWR_MGT_ACTIVITY_PIN_ON 407,13016 -#define PWR_MGT_STANDBY_POL 408,13061 -#define PWR_MGT_SUSPEND_POL 409,13102 -#define PWR_MGT_SELF_REFRESH 410,13143 -#define PWR_MGT_ACTIVITY_PIN_EN 411,13185 -#define PWR_MGT_KEYBD_SNOOP 412,13230 -#define PWR_MGT_TRISTATE_MEM_EN 413,13271 -#define PWR_MGT_SELW4MS 414,13316 -#define PWR_MGT_SLOWDOWN_MCLK 415,13354 -#define PMI_PMSCR_REG 417,13398 -#define RAGE128_MPP_TB_CONFIG 420,13552 - -/export0/mef/linux-2.6.9-1.11_FC2/include/video/pmag-ba-fb.h,82 -#define PMAG_BA_BT459_OFFSET 17,498 -#define PMAG_BA_ONBOARD_FBMEM_OFFSET 24,662 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/xfrm.h,3149 -#define _NET_XFRM_H2,20 -#define XFRM_ALIGN8(XFRM_ALIGN819,363 -struct xfrm_statexfrm_state85,3199 - XFRM_STATE_VOID,152,4460 - XFRM_STATE_ACQ,153,4478 - XFRM_STATE_VALID,154,4495 - XFRM_STATE_ERROR,155,4514 - XFRM_STATE_EXPIRED,156,4533 - XFRM_STATE_DEAD157,4554 -struct xfrm_policy_afinfo xfrm_policy_afinfo162,4610 -#define XFRM_ACQ_EXPIRES 182,5311 -struct xfrm_state_afinfo xfrm_state_afinfo185,5358 -struct xfrm_typexfrm_type205,6099 -struct xfrm_type_map xfrm_type_map220,6624 -struct xfrm_tmplxfrm_tmpl230,6980 -#define XFRM_MAX_DEPTH 260,7656 -struct xfrm_policyxfrm_policy262,7683 -#define XFRM_KM_TIMEOUT 286,8172 -struct xfrm_mgrxfrm_mgr288,8201 -static inline void xfrm_pol_hold(305,8812 -static inline void xfrm_pol_put(313,9002 -#define XFRM_DST_HSIZE 319,9143 -unsigned __xfrm4_dst_hash(322,9191 -unsigned __xfrm6_dst_hash(331,9345 -unsigned xfrm_dst_hash(340,9514 -unsigned __xfrm4_spi_hash(352,9735 -unsigned __xfrm6_spi_hash(361,9928 -unsigned xfrm_spi_hash(370,10136 -static inline void xfrm_state_put(383,10446 -static inline void xfrm_state_hold(389,10572 -static __inline__ int addr_match(394,10659 -u16 xfrm_flowi_sport(421,11145 -u16 xfrm_flowi_dport(441,11464 -__xfrm4_selector_match(461,11783 -__xfrm6_selector_match(472,12219 -xfrm_selector_match(483,12655 -struct xfrm_dstxfrm_dst506,13388 -struct xfrm_decap_state xfrm_decap_state520,13660 -struct sec_decap_state sec_decap_state525,13734 -struct sec_pathsec_path530,13821 -secpath_get(538,13949 -secpath_put(548,14107 -secpath_reset(557,14294 -__xfrm4_state_addr_cmp(566,14418 -__xfrm6_state_addr_cmp(573,14578 -xfrm_state_addr_cmp(580,14816 -static inline int xfrm_policy_check(595,15180 -static inline int xfrm4_policy_check(605,15519 -static inline int xfrm6_policy_check(610,15658 -static inline int xfrm_route_forward(618,15877 -static inline int xfrm4_route_forward(625,16082 -static inline int xfrm6_route_forward(630,16188 -static inline int xfrm_sk_clone_policy(637,16348 -static inline void xfrm_sk_free_policy(646,16577 -static inline void xfrm_sk_free_policy(660,16907 -static inline int xfrm_sk_clone_policy(661,16966 -static inline int xfrm6_route_forward(662,17036 -static inline int xfrm4_route_forward(663,17111 -static inline int xfrm6_policy_check(664,17185 -static inline int xfrm4_policy_check(668,17287 -static inline int xfrm_policy_check(672,17386 -xfrm_address_t *xfrm_flowi_daddr(679,17533 -xfrm_address_t *xfrm_flowi_saddr(691,17778 -__xfrm4_state_addr_check(703,18027 -__xfrm6_state_addr_check(713,18285 -xfrm_state_addr_check(725,18708 -static inline int xfrm_state_kern(738,19010 -struct xfrm_algo_auth_info xfrm_algo_auth_info746,19147 -struct xfrm_algo_encr_info xfrm_algo_encr_info751,19219 -struct xfrm_algo_comp_info xfrm_algo_comp_info756,19285 -struct xfrm_algo_desc xfrm_algo_desc760,19334 -struct xfrm_tunnel xfrm_tunnel772,19568 -struct xfrm6_tunnel xfrm6_tunnel777,19686 -static inline int xfrm_user_policy(829,22240 -static inline int xfrm4_rcv_encap(834,22365 -static inline int xfrm_dst_lookup(840,22497 -typedef void (icv_update_fn_t)icv_update_fn_t887,24752 -static inline int xfrm_addr_cmp(892,24973 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_s_ev.h,804 -#define LLC_S_EV_H2,19 -#define LLC_SAP_EV_TYPE_SIMPLE 19,614 -#define LLC_SAP_EV_TYPE_CONDITION 20,648 -#define LLC_SAP_EV_TYPE_PRIM 21,684 -#define LLC_SAP_EV_TYPE_PDU 22,716 -#define LLC_SAP_EV_TYPE_ACK_TMR 23,776 -#define LLC_SAP_EV_TYPE_RPT_STATUS 24,811 -#define LLC_SAP_EV_ACTIVATION_REQ 26,849 -#define LLC_SAP_EV_RX_UI 27,886 -#define LLC_SAP_EV_UNITDATA_REQ 28,915 -#define LLC_SAP_EV_XID_REQ 29,951 -#define LLC_SAP_EV_RX_XID_C 30,982 -#define LLC_SAP_EV_RX_XID_R 31,1014 -#define LLC_SAP_EV_TEST_REQ 32,1046 -#define LLC_SAP_EV_RX_TEST_C 33,1078 -#define LLC_SAP_EV_RX_TEST_R 34,1111 -#define LLC_SAP_EV_DEACTIVATION_REQ 35,1144 -struct llc_sap_state_ev llc_sap_state_ev37,1184 -static __inline__ struct llc_sap_state_ev *llc_sap_ev(47,1332 -typedef int (*llc_sap_ev_t)llc_sap_ev_t54,1473 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/atmclip.h,237 -#define _ATMCLIP_H7,126 -#define CLIP_VCC(CLIP_VCC18,333 -#define NEIGH2ENTRY(NEIGH2ENTRY19,396 -struct clip_vcc clip_vcc22,472 -struct atmarp_entry atmarp_entry38,1100 -#define PRIV(PRIV47,1344 -struct clip_priv clip_priv50,1404 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/addrconf.h,1099 -#define _ADDRCONF_H2,20 -#define RETRANS_TIMER 4,41 -#define MAX_RTR_SOLICITATIONS 6,67 -#define RTR_SOLICITATION_INTERVAL 7,100 -#define MIN_VALID_LIFETIME 9,142 -#define TEMP_VALID_LIFETIME 11,194 -#define TEMP_PREFERRED_LIFETIME 12,233 -#define REGEN_MAX_RETRY 13,274 -#define MAX_DESYNC_FACTOR 14,304 -#define ADDR_CHECK_FREQUENCY 16,338 -#define IPV6_MAX_ADDRESSES 18,378 -struct prefix_info prefix_info20,410 -#define IN6_ADDR_HSIZE 50,906 -__in6_dev_get(125,3957 -in6_dev_get(133,4107 -in6_dev_put(147,4394 -#define __in6_dev_put(__in6_dev_put153,4508 -#define in6_dev_hold(in6_dev_hold154,4565 -static inline void in6_ifa_put(159,4689 -#define __in6_ifa_put(__in6_ifa_put165,4824 -#define in6_ifa_hold(in6_ifa_hold166,4878 -static __inline__ u8 ipv6_addr_hash(174,5025 -static inline void addrconf_addr_solict_mult(194,5459 -static inline void ipv6_addr_all_nodes(204,5735 -static inline void ipv6_addr_all_routers(211,5899 -static inline int ipv6_addr_is_multicast(218,6065 -static inline int ipv6_addr_is_ll_all_nodes(223,6233 -static inline int ipv6_addr_is_ll_all_routers(231,6465 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ipcomp.h,98 -#define _NET_IPCOMP_H2,22 -#define IPCOMP_SCRATCH_SIZE 4,45 -struct ipcomp_data ipcomp_data6,84 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_sap.h,23 -#define LLC_SAP_H2,18 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip6_fib.h,750 -#define _IP6_FIB_H14,380 -struct fib6_nodefib6_node27,569 -struct rt6keyrt6key48,832 -struct rt6_infort6_info54,887 -#define rt6i_dev 63,1003 -#define rt6i_nexthop 64,1032 -#define rt6i_expires 65,1071 -struct fib6_walker_tfib6_walker_t81,1321 -static inline void fib6_walker_link(95,1616 -static inline void fib6_walker_unlink(105,1858 -struct rt6_statistics rt6_statistics114,2074 -#define RTN_TL_ROOT 123,2316 -#define RTN_ROOT 124,2343 -#define RTN_RTINFO 125,2390 -#define RTPRI_FIREWALL 132,2496 -#define RTPRI_FLOW 133,2557 -#define RTPRI_KERN_CTL 134,2614 -#define RTPRI_USER_MIN 136,2670 -#define RTPRI_USER_MAX 137,2726 -#define RTPRI_KERN_DFLT 139,2784 -#define MAX_FLOW_BACKTRACE 141,2843 -typedef void (*f_pnode)f_pnode144,2875 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_c_ev.h,4291 -#define LLC_C_EV_H2,19 -#define LLC_CONN_EV_TYPE_SIMPLE 19,635 -#define LLC_CONN_EV_TYPE_CONDITION 20,671 -#define LLC_CONN_EV_TYPE_PRIM 21,709 -#define LLC_CONN_EV_TYPE_PDU 22,743 -#define LLC_CONN_EV_TYPE_ACK_TMR 23,803 -#define LLC_CONN_EV_TYPE_P_TMR 24,839 -#define LLC_CONN_EV_TYPE_REJ_TMR 25,874 -#define LLC_CONN_EV_TYPE_BUSY_TMR 26,910 -#define LLC_CONN_EV_TYPE_RPT_STATUS 27,947 -#define LLC_CONN_EV_TYPE_SENDACK_TMR 28,986 -#define NBR_CONN_EV 30,1027 -#define LLC_CONN_EV_CONN_REQ 33,1129 -#define LLC_CONN_EV_CONN_RESP 34,1164 -#define LLC_CONN_EV_DATA_REQ 35,1200 -#define LLC_CONN_EV_DISC_REQ 36,1235 -#define LLC_CONN_EV_RESET_REQ 37,1270 -#define LLC_CONN_EV_RESET_RESP 38,1306 -#define LLC_CONN_EV_LOCAL_BUSY_DETECTED 39,1343 -#define LLC_CONN_EV_LOCAL_BUSY_CLEARED 40,1388 -#define LLC_CONN_EV_RX_BAD_PDU 41,1432 -#define LLC_CONN_EV_RX_DISC_CMD_Pbit_SET_X 42,1469 -#define LLC_CONN_EV_RX_DM_RSP_Fbit_SET_X 43,1516 -#define LLC_CONN_EV_RX_FRMR_RSP_Fbit_SET_X 44,1561 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_X 45,1608 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_X_UNEXPD_Ns 46,1653 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_X_INVAL_Ns 47,1706 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_X 48,1758 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_UNEXPD_Ns 49,1803 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_X_INVAL_Ns 50,1856 -#define LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_X 51,1908 -#define LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_X 52,1954 -#define LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_X 53,2000 -#define LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_X 54,2046 -#define LLC_CONN_EV_RX_RR_CMD_Pbit_SET_X 55,2092 -#define LLC_CONN_EV_RX_RR_RSP_Fbit_SET_X 56,2137 -#define LLC_CONN_EV_RX_SABME_CMD_Pbit_SET_X 57,2182 -#define LLC_CONN_EV_RX_UA_RSP_Fbit_SET_X 58,2230 -#define LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_X 59,2275 -#define LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_X 60,2321 -#define LLC_CONN_EV_RX_XXX_YYY 61,2367 -#define LLC_CONN_EV_RX_ZZZ_CMD_Pbit_SET_X_INVAL_Nr 62,2404 -#define LLC_CONN_EV_RX_ZZZ_RSP_Fbit_SET_X_INVAL_Nr 63,2458 -#define LLC_CONN_EV_P_TMR_EXP 64,2512 -#define LLC_CONN_EV_ACK_TMR_EXP 65,2548 -#define LLC_CONN_EV_REJ_TMR_EXP 66,2586 -#define LLC_CONN_EV_BUSY_TMR_EXP 67,2624 -#define LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_1 68,2662 -#define LLC_CONN_EV_RX_XXX_CMD_Pbit_SET_0 69,2708 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_0_UNEXPD_Ns 70,2754 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_0_UNEXPD_Ns 71,2807 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_1_UNEXPD_Ns 72,2860 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_1_UNEXPD_Ns 73,2913 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_0 74,2966 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_0 75,3011 -#define LLC_CONN_EV_RX_I_CMD_Pbit_SET_1 76,3056 -#define LLC_CONN_EV_RX_RR_CMD_Pbit_SET_0 77,3101 -#define LLC_CONN_EV_RX_RR_RSP_Fbit_SET_0 78,3146 -#define LLC_CONN_EV_RX_RR_RSP_Fbit_SET_1 79,3191 -#define LLC_CONN_EV_RX_RR_CMD_Pbit_SET_1 80,3236 -#define LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_0 81,3281 -#define LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_0 82,3327 -#define LLC_CONN_EV_RX_RNR_RSP_Fbit_SET_1 83,3373 -#define LLC_CONN_EV_RX_RNR_CMD_Pbit_SET_1 84,3419 -#define LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_0 85,3465 -#define LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_0 86,3511 -#define LLC_CONN_EV_RX_REJ_CMD_Pbit_SET_1 87,3557 -#define LLC_CONN_EV_RX_I_RSP_Fbit_SET_1 88,3603 -#define LLC_CONN_EV_RX_REJ_RSP_Fbit_SET_1 89,3648 -#define LLC_CONN_EV_RX_XXX_RSP_Fbit_SET_1 90,3694 -#define LLC_CONN_EV_TX_BUFF_FULL 91,3740 -#define LLC_CONN_EV_INIT_P_F_CYCLE 93,3779 -#define LLC_CONN_EV_QFY_DATA_FLAG_EQ_1 100,4051 -#define LLC_CONN_EV_QFY_DATA_FLAG_EQ_0 101,4094 -#define LLC_CONN_EV_QFY_DATA_FLAG_EQ_2 102,4137 -#define LLC_CONN_EV_QFY_P_FLAG_EQ_1 103,4180 -#define LLC_CONN_EV_QFY_P_FLAG_EQ_0 104,4220 -#define LLC_CONN_EV_QFY_P_FLAG_EQ_Fbit 105,4260 -#define LLC_CONN_EV_QFY_REMOTE_BUSY_EQ_0 106,4303 -#define LLC_CONN_EV_QFY_RETRY_CNT_LT_N2 107,4347 -#define LLC_CONN_EV_QFY_RETRY_CNT_GTE_N2 108,4391 -#define LLC_CONN_EV_QFY_S_FLAG_EQ_1 109,4435 -#define LLC_CONN_EV_QFY_S_FLAG_EQ_0 110,4475 -#define LLC_CONN_EV_QFY_INIT_P_F_CYCLE 111,4515 -struct llc_conn_state_ev llc_conn_state_ev113,4559 -static __inline__ struct llc_conn_state_ev *llc_conn_ev(123,4677 -typedef int (*llc_conn_ev_t)llc_conn_ev_t128,4804 -typedef int (*llc_conn_ev_qfyr_t)llc_conn_ev_qfyr_t129,4872 -static __inline__ int llc_conn_space(276,12323 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dn_fib.h,1337 -#define _NET_DN_FIB_H2,22 -struct dn_kern_rtadn_kern_rta7,162 -struct dn_fib_res dn_fib_res24,643 -struct dn_fib_nh dn_fib_nh33,808 -struct dn_fib_info dn_fib_info43,970 -#define dn_fib_mtu 54,1239 -#define dn_fib_window 55,1283 -#define dn_fib_rtt 56,1332 -#define dn_fib_advmss 57,1375 -#define dn_fib_dev 61,1487 -#define DN_FIB_RES_RESET(DN_FIB_RES_RESET65,1529 -#define DN_FIB_RES_NH(DN_FIB_RES_NH66,1578 -#define DN_FIB_RES_PREFSRC(DN_FIB_RES_PREFSRC68,1639 -#define DN_FIB_RES_GW(DN_FIB_RES_GW69,1726 -#define DN_FIB_RES_DEV(DN_FIB_RES_DEV70,1780 -#define DN_FIB_RES_OIF(DN_FIB_RES_OIF71,1836 -} dn_fib_key_t;dn_fib_key_t75,1922 -} dn_fib_hash_t;dn_fib_hash_t79,1968 -} dn_fib_idx_t;dn_fib_idx_t83,2015 -struct dn_fib_node dn_fib_node85,2032 -#define DN_FIB_INFO(DN_FIB_INFO88,2113 -struct dn_fib_table dn_fib_table96,2222 -static inline void dn_fib_info_put(169,4847 -static inline void dn_fib_res_put(175,4979 -#define dn_fib_init(dn_fib_init187,5191 -#define dn_fib_cleanup(dn_fib_cleanup188,5230 -#define dn_fib_lookup(dn_fib_lookup190,5272 -#define dn_fib_info_put(dn_fib_info_put191,5312 -#define dn_fib_select_multipath(dn_fib_select_multipath192,5356 -#define dn_fib_rules_policy(dn_fib_rules_policy193,5413 -#define dn_fib_res_put(dn_fib_res_put194,5462 -static inline u16 dnet_make_mask(198,5542 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/arp.h,50 -#define _ARP_H3,42 -#define HAVE_ARP_CREATE8,112 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/scm.h,255 -#define __LINUX_NET_SCM_H2,26 -#define SCM_MAX_FD 10,187 -struct scm_fp_listscm_fp_list12,220 -struct scm_cookiescm_cookie18,288 -static __inline__ void scm_destroy(31,804 -static __inline__ int scm_send(37,911 -static __inline__ void scm_recv(49,1229 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlmp_event.h,976 -#define IRLMP_EVENT_H28,1117 - LAP_STANDBY,39,1338 - LAP_U_CONNECT,40,1388 - LAP_ACTIVE,41,1444 -} IRLMP_STATE;IRLMP_STATE42,1501 - LSAP_DISCONNECTED,46,1569 - LSAP_CONNECT,47,1621 - LSAP_CONNECT_PEND,48,1683 - LSAP_DATA_TRANSFER_READY,49,1750 - LSAP_SETUP,50,1821 - LSAP_SETUP_PEND,51,1887 -} LSAP_STATE;LSAP_STATE52,1952 - LM_CONNECT_REQUEST,56,2001 - LM_CONNECT_CONFIRM,57,2023 - LM_CONNECT_RESPONSE,58,2045 - LM_CONNECT_INDICATION,59,2067 - LM_DISCONNECT_INDICATION,61,2096 - LM_DISCONNECT_REQUEST,62,2123 - LM_DATA_REQUEST,64,2148 - LM_UDATA_REQUEST,65,2167 - LM_DATA_INDICATION,66,2186 - LM_UDATA_INDICATION,67,2208 - LM_WATCHDOG_TIMEOUT,69,2231 - LM_LAP_CONNECT_REQUEST,72,2274 - LM_LAP_CONNECT_INDICATION,73,2299 - LM_LAP_CONNECT_CONFIRM,74,2329 - LM_LAP_DISCONNECT_INDICATION,75,2355 - LM_LAP_DISCONNECT_REQUEST,76,2388 - LM_LAP_DISCOVERY_REQUEST,77,2416 - LM_LAP_DISCOVERY_CONFIRM,78,2443 - LM_LAP_IDLE_TIMEOUT,79,2471 -} IRLMP_EVENT;IRLMP_EVENT80,2493 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irias_object.h,323 -#define LM_IAS_OBJECT_H26,1013 -#define IAS_MISSING 32,1125 -#define IAS_INTEGER 33,1147 -#define IAS_OCT_SEQ 34,1169 -#define IAS_STRING 35,1191 -#define IAS_KERNEL_ATTR 38,1268 -#define IAS_USER_ATTR 39,1294 -struct ias_object ias_object44,1344 -struct ias_value ias_value56,1518 -struct ias_attrib ias_attrib73,1833 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlap_frame.h,834 -#define IRLAP_FRAME_H34,1434 -#define INVALID 45,1640 -#define SNRM_CMD 48,1694 -#define DISC_CMD 49,1748 -#define XID_CMD 50,1788 -#define TEST_CMD 51,1849 -#define RNRM_RSP 54,1911 -#define UA_RSP 55,1969 -#define FRMR_RSP 56,2025 -#define DM_RSP 57,2067 -#define RD_RSP 58,2112 -#define XID_RSP 59,2163 -#define TEST_RSP 60,2224 -#define RR 63,2287 -#define REJ 64,2330 -#define RNR 65,2366 -#define SREJ 66,2413 -#define I_FRAME 69,2482 -#define UI_FRAME 70,2530 -#define CMD_FRAME 72,2583 -#define RSP_FRAME 73,2606 -#define PF_BIT 75,2630 -struct xid_frame xid_frame77,2675 -} IRDA_PACK;86,2954 -struct test_frame test_frame88,2968 -} IRDA_PACK;93,3155 -struct ua_frame ua_frame95,3169 -} IRDA_PACK;101,3298 -struct i_frame i_frame103,3313 -} IRDA_PACK;106,3358 -struct snrm_frame snrm_frame108,3372 -} IRDA_PACK;114,3465 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlan_eth.h,28 -#define IRLAN_ETH_H26,1006 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irqueue.h,489 -#define IRDA_QUEUE_H34,1304 -#define NAME_SIZE 36,1326 -#define HB_NOLOCK 42,1453 -#define HB_LOCK 43,1510 -#define HASHBIN_SIZE 48,1600 -#define HASHBIN_MASK 49,1625 -#define IRDA_ALIGN 52,1673 -#define Q_NULL 55,1725 -typedef void (*FREE_FUNC)FREE_FUNC57,1763 -struct irda_queue irda_queue59,1802 -typedef struct irda_queue irda_queue_t;irda_queue_t66,1965 -typedef struct hashbin_t hashbin_t68,2006 -} hashbin_t;hashbin_t77,2239 -#define HASHBIN_GET_SIZE(HASHBIN_GET_SIZE94,3065 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlan_common.h,1644 -#define IRLAN_H27,1046 -#define IRLAN_MTU 38,1237 -#define IRLAN_TIMEOUT 39,1267 -#define CMD_GET_PROVIDER_INFO 42,1343 -#define CMD_GET_MEDIA_CHAR 43,1377 -#define CMD_OPEN_DATA_CHANNEL 44,1411 -#define CMD_CLOSE_DATA_CHAN 45,1445 -#define CMD_RECONNECT_DATA_CHAN 46,1479 -#define CMD_FILTER_OPERATION 47,1513 -#define RSP_SUCCESS 50,1569 -#define RSP_INSUFFICIENT_RESOURCES 51,1607 -#define RSP_INVALID_COMMAND_FORMAT 52,1645 -#define RSP_COMMAND_NOT_SUPPORTED 53,1683 -#define RSP_PARAM_NOT_SUPPORTED 54,1721 -#define RSP_VALUE_NOT_SUPPORTED 55,1759 -#define RSP_NOT_OPEN 56,1797 -#define RSP_AUTHENTICATION_REQUIRED 57,1835 -#define RSP_INVALID_PASSWORD 58,1873 -#define RSP_PROTOCOL_ERROR 59,1911 -#define RSP_ASYNCHRONOUS_ERROR 60,1949 -#define MEDIA_802_3 63,2006 -#define MEDIA_802_5 64,2028 -#define DATA_CHAN 67,2075 -#define FILTER_TYPE 68,2097 -#define FILTER_MODE 69,2119 -#define IRLAN_DIRECTED 72,2161 -#define IRLAN_FUNCTIONAL 73,2191 -#define IRLAN_GROUP 74,2221 -#define IRLAN_MAC_FRAME 75,2251 -#define IRLAN_MULTICAST 76,2281 -#define IRLAN_BROADCAST 77,2311 -#define IRLAN_IPX_SOCKET 78,2341 -#define ALL 81,2391 -#define FILTER 82,2409 -#define NONE 83,2427 -#define GET 86,2470 -#define CLEAR 87,2488 -#define ADD 88,2506 -#define REMOVE 89,2524 -#define DYNAMIC 90,2542 -#define ACCESS_DIRECT 93,2580 -#define ACCESS_PEER 94,2605 -#define ACCESS_HOSTED 95,2630 -#define IRLAN_BYTE 97,2656 -#define IRLAN_SHORT 98,2679 -#define IRLAN_ARRAY 99,2702 -#define IRLAN_MAX_HEADER 101,2726 -struct irlan_client_cb irlan_client_cb106,2815 -struct irlan_provider_cb irlan_provider_cb137,3302 -struct irlan_cb irlan_cb162,3778 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_param.h,1936 -#define IRCOMM_PARAMS_H32,1363 -#define IRCOMM_SERVICE_TYPE 37,1467 -#define IRCOMM_PORT_TYPE 38,1504 -#define IRCOMM_PORT_NAME 39,1567 -#define IRCOMM_DATA_RATE 42,1675 -#define IRCOMM_DATA_FORMAT 43,1712 -#define IRCOMM_FLOW_CONTROL 44,1749 -#define IRCOMM_XON_XOFF 45,1786 -#define IRCOMM_ENQ_ACK 46,1823 -#define IRCOMM_LINE_STATUS 47,1860 -#define IRCOMM_BREAK 48,1897 -#define IRCOMM_DTE 51,1963 -#define IRCOMM_DCE 52,2000 -#define IRCOMM_POLL 53,2037 -#define IRCOMM_3_WIRE_RAW 56,2104 -#define IRCOMM_3_WIRE 57,2141 -#define IRCOMM_9_WIRE 58,2178 -#define IRCOMM_CENTRONICS 59,2215 -#define IRCOMM_SERIAL 62,2279 -#define IRCOMM_PARALLEL 63,2316 -#define IRCOMM_WSIZE_5 66,2382 -#define IRCOMM_WSIZE_6 67,2419 -#define IRCOMM_WSIZE_7 68,2456 -#define IRCOMM_WSIZE_8 69,2493 -#define IRCOMM_1_STOP_BIT 71,2531 -#define IRCOMM_2_STOP_BIT 72,2568 -#define IRCOMM_PARITY_DISABLE 74,2630 -#define IRCOMM_PARITY_ENABLE 75,2667 -#define IRCOMM_PARITY_ODD 77,2705 -#define IRCOMM_PARITY_EVEN 78,2742 -#define IRCOMM_PARITY_MARK 79,2779 -#define IRCOMM_PARITY_SPACE 80,2816 -#define IRCOMM_XON_XOFF_IN 83,2873 -#define IRCOMM_XON_XOFF_OUT 84,2910 -#define IRCOMM_RTS_CTS_IN 85,2947 -#define IRCOMM_RTS_CTS_OUT 86,2984 -#define IRCOMM_DSR_DTR_IN 87,3021 -#define IRCOMM_DSR_DTR_OUT 88,3058 -#define IRCOMM_ENQ_ACK_IN 89,3095 -#define IRCOMM_ENQ_ACK_OUT 90,3132 -#define IRCOMM_OVERRUN_ERROR 93,3188 -#define IRCOMM_PARITY_ERROR 94,3225 -#define IRCOMM_FRAMING_ERROR 95,3262 -#define IRCOMM_DELTA_DTR 98,3350 -#define IRCOMM_DELTA_RTS 99,3387 -#define IRCOMM_DTR 100,3424 -#define IRCOMM_RTS 101,3461 -#define IRCOMM_DELTA_CTS 104,3555 -#define IRCOMM_DELTA_DSR 105,3625 -#define IRCOMM_DELTA_RI 106,3696 -#define IRCOMM_DELTA_CD 107,3767 -#define IRCOMM_CTS 108,3838 -#define IRCOMM_DSR 109,3904 -#define IRCOMM_RI 110,3971 -#define IRCOMM_CD 111,4038 -#define IRCOMM_DCE_DELTA_ANY 112,4105 -struct ircomm_params ircomm_params117,4169 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_lmp.h,29 -#define IRCOMM_LMP_H32,1313 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irda.h,1141 -#define NET_IRDA_H27,1107 -typedef __u32 magic_t;magic_t35,1312 -#define TRUE 38,1349 -#define FALSE 42,1387 -#define SMALL 47,1489 -#define IRDA_MIN(IRDA_MIN51,1582 -# define IRDA_ALIGN 55,1658 -# define IRDA_PACK 58,1729 -#define IRDA_DEBUG_LEVEL 67,1902 -#define IRDA_DEBUG(IRDA_DEBUG69,1930 -#define ASSERT(ASSERT70,2013 -#define IRDA_DEBUG(IRDA_DEBUG76,2184 -#define ASSERT(ASSERT77,2215 -#define WARNING(WARNING82,2320 -#define MESSAGE(MESSAGE83,2371 -#define ERROR(ERROR84,2419 -#define IRTTY_MAGIC 91,2582 -#define LAP_MAGIC 92,2616 -#define LMP_MAGIC 93,2650 -#define LMP_LSAP_MAGIC 94,2684 -#define LMP_LAP_MAGIC 95,2719 -#define IRDA_DEVICE_MAGIC 96,2753 -#define IAS_MAGIC 97,2788 -#define TTP_MAGIC 98,2821 -#define TTP_TSAP_MAGIC 99,2857 -#define IROBEX_MAGIC 100,2891 -#define HB_MAGIC 101,2927 -#define IRLAN_MAGIC 102,2962 -#define IAS_OBJECT_MAGIC 103,2995 -#define IAS_ATTRIB_MAGIC 104,3030 -#define IRDA_TASK_MAGIC 105,3065 -#define IAS_DEVICE_ID 107,3101 -#define IAS_PNP_ID 108,3181 -#define IAS_OBEX_ID 109,3210 -#define IAS_IRLAN_ID 110,3240 -#define IAS_IRCOMM_ID 111,3270 -#define IAS_IRLPT_ID 112,3299 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_ttp.h,29 -#define IRCOMM_TTP_H32,1313 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_tty.h,411 -#define IRCOMM_TTY_H32,1318 -#define IRCOMM_TTY_PORTS 43,1572 -#define IRCOMM_TTY_MAGIC 44,1600 -#define IRCOMM_TTY_MAJOR 45,1632 -#define IRCOMM_TTY_MINOR 46,1661 -#define IRCOMM_TTY_HDR_UNINITIALISED 51,1888 -#define IRCOMM_TTY_DATA_UNINITIALISED 53,1998 -#define ASYNC_B_INITIALIZED 56,2140 -#define ASYNC_B_NORMAL_ACTIVE 57,2205 -#define ASYNC_B_CLOSING 58,2268 -struct ircomm_tty_cb ircomm_tty_cb63,2360 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irda_device.h,1342 -#define IRDA_DEVICE_H40,1663 -#define IFF_SIR 59,2199 -#define IFF_MIR 60,2249 -#define IFF_FIR 61,2299 -#define IFF_VFIR 62,2349 -#define IFF_PIO 63,2407 -#define IFF_DMA 64,2469 -#define IFF_SHM 65,2529 -#define IFF_DONGLE 66,2604 -#define IFF_AIR 67,2673 -#define IO_XMIT 69,2748 -#define IO_RECV 70,2769 - IRDA_IRLAP,73,2806 - IRDA_RAW,74,2857 - SHARP_ASK,75,2886 - TV_REMOTE,76,2898 -} INFRARED_MODE;INFRARED_MODE77,2955 - IRDA_TASK_INIT,80,2988 - IRDA_TASK_DONE,81,3060 - IRDA_TASK_WAIT,82,3124 - IRDA_TASK_WAIT1,83,3141 - IRDA_TASK_WAIT2,84,3159 - IRDA_TASK_WAIT3,85,3177 - IRDA_TASK_CHILD_INIT,86,3195 - IRDA_TASK_CHILD_WAIT,87,3249 - IRDA_TASK_CHILD_DONE 88,3312 -} IRDA_TASK_STATE;IRDA_TASK_STATE89,3365 -typedef int (*IRDA_TASK_CALLBACK)IRDA_TASK_CALLBACK92,3403 -struct irda_task irda_task94,3464 -} dongle_t;dongle_t123,4382 -struct dongle_reg dongle_reg126,4426 -struct irda_skb_cb irda_skb_cb141,4838 -} chipio_t;chipio_t171,6368 -} iobuff_t;iobuff_t186,6852 -#define IRDA_SKB_MAX_MTU 195,7242 -#define IRDA_SIR_MAX_FRAME 198,7389 -#define IRDA_RX_COPY_THRESHOLD 206,7817 -static inline int irda_device_txqueue_empty(225,8499 -static inline __u16 irda_get_mtt(257,9718 -static inline __u32 irda_get_next_speed(270,10073 -static inline __u16 irda_get_xbofs(283,10439 -static inline __u16 irda_get_next_xbofs(296,10795 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlap.h,883 -#define IRLAP_H28,1109 -#define CONFIG_IRDA_DYNAMIC_WINDOW 42,1517 -#define LAP_RELIABLE 44,1555 -#define LAP_UNRELIABLE 45,1580 -#define LAP_ADDR_HEADER 47,1606 -#define LAP_CTRL_HEADER 48,1660 -#define LAP_MAX_HEADER 51,1755 -#define BROADCAST 53,1815 -#define CBROADCAST 54,1876 -#define XID_FORMAT 55,1941 -#define LAP_WINDOW_SIZE 58,2040 -#define LAP_HIGH_THRESHOLD 66,2483 -#define LAP_MAX_QUEUE 72,2780 -#define NR_EXPECTED 84,3417 -#define NR_UNEXPECTED 85,3443 -#define NR_INVALID 86,3469 -#define NS_EXPECTED 88,3496 -#define NS_UNEXPECTED 89,3522 -#define NS_INVALID 90,3548 -struct irlap_info irlap_info95,3641 -struct irlap_cb irlap_cb116,4140 -#define IRLAP_GET_HEADER_SIZE(IRLAP_GET_HEADER_SIZE263,9131 -#define IRLAP_GET_TX_QUEUE_LEN(IRLAP_GET_TX_QUEUE_LEN264,9184 -static inline int irlap_is_primary(268,9324 -static inline void irlap_clear_disconnect(287,9619 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_tty_attach.h,864 -#define IRCOMM_TTY_ATTACH_H32,1327 - IRCOMM_TTY_IDLE,37,1405 - IRCOMM_TTY_SEARCH,38,1430 - IRCOMM_TTY_QUERY_PARAMETERS,39,1450 - IRCOMM_TTY_QUERY_LSAP_SEL,40,1487 - IRCOMM_TTY_SETUP,41,1515 - IRCOMM_TTY_READY,42,1534 -} IRCOMM_TTY_STATE;IRCOMM_TTY_STATE43,1560 - IRCOMM_TTY_ATTACH_CABLE,47,1620 - IRCOMM_TTY_DETACH_CABLE,48,1646 - IRCOMM_TTY_DATA_REQUEST,49,1672 - IRCOMM_TTY_DATA_INDICATION,50,1698 - IRCOMM_TTY_DISCOVERY_REQUEST,51,1727 - IRCOMM_TTY_DISCOVERY_INDICATION,52,1758 - IRCOMM_TTY_CONNECT_CONFIRM,53,1792 - IRCOMM_TTY_CONNECT_INDICATION,54,1821 - IRCOMM_TTY_DISCONNECT_REQUEST,55,1853 - IRCOMM_TTY_DISCONNECT_INDICATION,56,1885 - IRCOMM_TTY_WD_TIMER_EXPIRED,57,1920 - IRCOMM_TTY_GOT_PARAMETERS,58,1950 - IRCOMM_TTY_GOT_LSAPSEL,59,1978 -} IRCOMM_TTY_EVENT;IRCOMM_TTY_EVENT60,2003 -struct ircomm_tty_info ircomm_tty_info63,2085 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/iriap.h,600 -#define IRIAP_H27,1051 -#define IAP_LST 37,1293 -#define IAP_ACK 38,1314 -#define IAS_SERVER 40,1336 -#define IAS_CLIENT 41,1357 -#define GET_INFO_BASE 44,1400 -#define GET_OBJECTS 45,1432 -#define GET_VALUE 46,1464 -#define GET_VALUE_BY_CLASS 47,1496 -#define GET_OBJECT_INFO 48,1528 -#define GET_ATTRIB_NAMES 49,1560 -#define IAS_SUCCESS 51,1593 -#define IAS_CLASS_UNKNOWN 52,1622 -#define IAS_ATTRIB_UNKNOWN 53,1651 -#define IAS_DISCONNECT 54,1680 -typedef void (*CONFIRM_CALLBACK)CONFIRM_CALLBACK56,1711 -struct iriap_cb iriap_cb59,1815 -static inline void iriap_start_watchdog_timer(109,3067 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlan_filter.h,31 -#define IRLAN_FILTER_H26,1007 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/wrapper.h,270 -#define WRAPPER_H27,1050 -#define BOF 35,1200 -#define XBOF 36,1243 -#define EOF 37,1261 -#define CE 38,1298 -#define STA 40,1338 -#define STO 41,1372 -#define IRDA_TRANS 43,1405 - OUTSIDE_FRAME,47,1536 - BEGIN_FRAME,48,1553 - LINK_ESCAPE,49,1568 - INSIDE_FRAME50,1583 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlan_client.h,31 -#define IRLAN_CLIENT_H26,1040 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlmp_frame.h,209 -#define IRMLP_FRAME_H27,1031 -#define CONNECT_CMD 35,1166 -#define CONNECT_CNF 36,1194 -#define DISCONNECT 37,1222 -#define ACCESSMODE_CMD 38,1250 -#define ACCESSMODE_CNF 39,1278 -#define CONTROL_BIT 41,1307 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irttp.h,927 -#define IRTTP_H28,1122 -#define TTP_MAX_CONNECTIONS 39,1376 -#define TTP_HEADER 40,1426 -#define TTP_MAX_HEADER 41,1459 -#define TTP_SAR_HEADER 42,1520 -#define TTP_PARAMETERS 43,1553 -#define TTP_MORE 44,1589 -#define TTP_TX_MAX_QUEUE 48,1713 -#define TTP_TX_LOW_THRESHOLD 52,1930 -#define TTP_TX_HIGH_THRESHOLD 55,2088 -#define TTP_RX_MIN_CREDIT 65,2612 -#define TTP_RX_DEFAULT_CREDIT 78,3444 -#define TTP_RX_MAX_CREDIT 84,3769 -#define DEFAULT_INITIAL_CREDIT 87,3858 -#define P_NORMAL 90,3958 -#define P_HIGH 91,3980 -#define TTP_SAR_DISABLE 93,4003 -#define TTP_SAR_UNBOUND 94,4029 -#define TTP_MAX_SDU_SIZE 97,4082 -struct tsap_cb tsap_cb103,4212 -struct irttp_cb irttp_cb147,5630 -static __inline __u32 irttp_get_saddr(175,6668 -static __inline __u32 irttp_get_daddr(180,6770 -static __inline __u32 irttp_get_max_seg_size(185,6872 -static inline void irttp_listen(195,7240 -static inline int irttp_is_primary(203,7431 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/parameters.h,704 -#define IRDA_PARAMS_H35,1481 - PV_INTEGER,42,1677 - PV_INT_8_BITS,43,1728 - PV_INT_16_BITS,44,1780 - PV_STRING,45,1833 - PV_INT_32_BITS,46,1878 - PV_OCT_SEQ,47,1931 - PV_NO_VALUE 48,1970 -} PV_TYPE;PV_TYPE49,2028 -#define PV_BIG_ENDIAN 52,2066 -#define PV_LITTLE_ENDIAN 53,2097 -#define PV_MASK 54,2127 -#define PV_PUT 56,2190 -#define PV_GET 57,2207 -} irda_pv_t;irda_pv_t63,2277 -} irda_param_t;irda_param_t69,2343 -typedef int (*PI_HANDLER)PI_HANDLER71,2360 -typedef int (*PV_HANDLER)PV_HANDLER72,2429 -} pi_minor_info_t;pi_minor_info_t78,2668 -} pi_major_info_t;pi_major_info_t83,2754 -} pi_param_info_t;pi_param_info_t90,2902 -#define irda_param_insert_byte(irda_param_insert_byte101,3287 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irmod.h,911 -#define IRMOD_H27,1097 - STATUS_OK,31,1159 - STATUS_ABORTED,32,1171 - STATUS_NO_ACTIVITY,33,1188 - STATUS_NOISY,34,1209 - STATUS_REMOTE,35,1224 -} LINK_STATUS;LINK_STATUS36,1240 - LOCK_NO_CHANGE,39,1271 - LOCK_LOCKED,40,1288 - LOCK_UNLOCKED,41,1302 -} LOCK_STATUS;LOCK_STATUS42,1318 -typedef enum { FLOW_STOP,44,1334 -typedef enum { FLOW_STOP, FLOW_START 44,1334 -typedef enum { FLOW_STOP, FLOW_START } LOCAL_FLOW;LOCAL_FLOW44,1334 - LM_USER_REQUEST 52,1582 - LM_LAP_DISCONNECT,53,1624 - LM_CONNECT_FAILURE,54,1681 - LM_LAP_RESET,55,1747 - LM_INIT_DISCONNECT,56,1788 - LM_LSAP_NOTCONN,57,1854 - LM_NON_RESP_CLIENT,58,1918 - LM_NO_AVAIL_CLIENT,59,1976 - LM_CONN_HALF_OPEN,60,2032 - LM_BAD_SOURCE_ADDR,61,2085 -} LM_REASON;LM_REASON62,2148 -#define LM_UNKNOWN 63,2161 -} notify_t;notify_t87,3214 -#define NOTIFY_MAX_NAME 89,3227 -#define irda_lock(irda_lock97,3506 -#define irda_unlock(irda_unlock98,3572 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/iriap_event.h,666 -#define IRIAP_FSM_H26,1017 - S_DISCONNECT,34,1158 - S_CONNECTING,35,1173 - S_CALL,36,1188 - S_MAKE_CALL,39,1212 - S_CALLING,40,1226 - S_OUTSTANDING,41,1238 - S_REPLYING,42,1254 - S_WAIT_FOR_CALL,43,1267 - S_WAIT_ACTIVE,44,1285 - R_DISCONNECT,47,1316 - R_CALL,48,1331 - R_WAITING,51,1359 - R_WAIT_ACTIVE,52,1371 - R_RECEIVING,53,1387 - R_EXECUTE,54,1401 - R_RETURNING,55,1413 -} IRIAP_STATE;IRIAP_STATE56,1427 - IAP_CALL_REQUEST,59,1458 - IAP_CALL_REQUEST_GVBC,60,1477 - IAP_CALL_RESPONSE,61,1501 - IAP_RECV_F_LST,62,1521 - IAP_LM_DISCONNECT_INDICATION,63,1538 - IAP_LM_CONNECT_INDICATION,64,1569 - IAP_LM_CONNECT_CONFIRM,65,1597 -} IRIAP_EVENT;IRIAP_EVENT66,1622 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_core.h,215 -#define IRCOMM_CORE_H32,1315 -#define IRCOMM_MAGIC 38,1431 -#define IRCOMM_HEADER_SIZE 39,1463 -} call_t;call_t54,1986 -struct ircomm_cb ircomm_cb56,1997 -#define ircomm_is_connected(ircomm_is_connected106,3881 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/af_irda.h,95 -#define AF_IRDA_H27,1086 -struct irda_sock irda_sock38,1442 -#define irda_sk(irda_sk80,2766 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlan_provider.h,31 -#define IRLAN_SERVER_H26,1047 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlmp.h,1157 -#define IRLMP_H28,1122 -#define LSAP_MASK 43,1451 -#define LSAP_IAS 44,1478 -#define LSAP_ANY 45,1505 -#define LSAP_MAX 46,1532 -#define LSAP_CONNLESS 47,1588 -#define DEV_ADDR_ANY 49,1665 -#define LMP_HEADER 51,1699 -#define LMP_CONTROL_HEADER 52,1762 -#define LMP_PID_HEADER 53,1792 -#define LMP_MAX_HEADER 54,1845 -#define LM_MAX_CONNECTIONS 56,1910 -#define LM_IDLE_TIMEOUT 58,1942 - S_PNP 61,2015 - S_PDA,62,2027 - S_COMPUTER,63,2035 - S_PRINTER,64,2048 - S_MODEM,65,2060 - S_FAX,66,2070 - S_LAN,67,2078 - S_TELEPHONY,68,2086 - S_COMM,69,2100 - S_OBEX,70,2109 - S_ANY,71,2118 - S_END,72,2126 -} SERVICE;SERVICE73,2134 -typedef void (*DISCOVERY_CALLBACK1)DISCOVERY_CALLBACK176,2176 -typedef void (*DISCOVERY_CALLBACK2)DISCOVERY_CALLBACK278,2280 -} irlmp_service_t;irlmp_service_t84,2457 -} irlmp_client_t;irlmp_client_t94,2751 -struct lsap_cb lsap_cb99,2828 -} CACHE_ENTRY;CACHE_ENTRY135,3856 -struct lap_cb lap_cb140,3928 -struct irlmp_cb irlmp_cb170,4797 -static inline __u32 irlmp_get_saddr(252,7756 -static inline __u32 irlmp_get_daddr(257,7877 -static inline int irlmp_lap_tx_queue_full(271,8347 -static inline void irlmp_listen(288,8868 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/ircomm_event.h,849 -#define IRCOMM_EVENT_H32,1317 - IRCOMM_IDLE,37,1385 - IRCOMM_WAITI,38,1406 - IRCOMM_WAITR,39,1428 - IRCOMM_CONN,40,1450 -} IRCOMM_STATE;IRCOMM_STATE41,1471 - IRCOMM_CONNECT_REQUEST,45,1523 - IRCOMM_CONNECT_RESPONSE,46,1555 - IRCOMM_TTP_CONNECT_INDICATION,47,1588 - IRCOMM_LMP_CONNECT_INDICATION,48,1627 - IRCOMM_TTP_CONNECT_CONFIRM,49,1659 - IRCOMM_LMP_CONNECT_CONFIRM,50,1695 - IRCOMM_LMP_DISCONNECT_INDICATION,52,1725 - IRCOMM_TTP_DISCONNECT_INDICATION,53,1767 - IRCOMM_DISCONNECT_REQUEST,54,1802 - IRCOMM_TTP_DATA_INDICATION,56,1838 - IRCOMM_LMP_DATA_INDICATION,57,1874 - IRCOMM_DATA_REQUEST,58,1903 - IRCOMM_CONTROL_REQUEST,59,1932 - IRCOMM_CONTROL_INDICATION,60,1964 -} IRCOMM_EVENT;IRCOMM_EVENT61,1999 -struct ircomm_info ircomm_info66,2081 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlap_event.h,1606 -#define IRLAP_EVENT_H35,1430 - LAP_NDM,45,1610 - LAP_QUERY,46,1659 - LAP_REPLY,47,1671 - LAP_CONN,48,1683 - LAP_SETUP,49,1726 - LAP_OFFLINE,50,1772 - LAP_XMIT_P,51,1818 - LAP_PCLOSE,52,1831 - LAP_NRM_P,53,1844 - LAP_RESET_WAIT,54,1900 - LAP_RESET,55,1917 - LAP_NRM_S,56,1929 - LAP_XMIT_S,57,1987 - LAP_SCLOSE,58,2000 - LAP_RESET_CHECK,59,2013 -} IRLAP_STATE;IRLAP_STATE60,2031 - DISCOVERY_REQUEST,65,2104 - CONNECT_REQUEST,66,2124 - CONNECT_RESPONSE,67,2142 - DISCONNECT_REQUEST,68,2161 - DATA_REQUEST,69,2182 - RESET_REQUEST,70,2197 - RESET_RESPONSE,71,2213 - SEND_I_CMD,74,2250 - SEND_UI_FRAME,75,2263 - RECV_DISCOVERY_XID_CMD,78,2302 - RECV_DISCOVERY_XID_RSP,79,2327 - RECV_SNRM_CMD,80,2352 - RECV_TEST_CMD,81,2368 - RECV_TEST_RSP,82,2384 - RECV_UA_RSP,83,2400 - RECV_DM_RSP,84,2414 - RECV_RD_RSP,85,2428 - RECV_I_CMD,86,2442 - RECV_I_RSP,87,2455 - RECV_UI_FRAME,88,2468 - RECV_FRMR_RSP,89,2484 - RECV_RR_CMD,90,2500 - RECV_RR_RSP,91,2514 - RECV_RNR_CMD,92,2528 - RECV_RNR_RSP,93,2543 - RECV_REJ_CMD,94,2558 - RECV_REJ_RSP,95,2573 - RECV_SREJ_CMD,96,2588 - RECV_SREJ_RSP,97,2604 - RECV_DISC_CMD,98,2620 - SLOT_TIMER_EXPIRED,101,2657 - QUERY_TIMER_EXPIRED,102,2678 - FINAL_TIMER_EXPIRED,103,2700 - POLL_TIMER_EXPIRED,104,2722 - DISCOVERY_TIMER_EXPIRED,105,2743 - WD_TIMER_EXPIRED,106,2769 - BACKOFF_TIMER_EXPIRED,107,2788 - MEDIA_BUSY_TIMER_EXPIRED,108,2812 -} IRLAP_EVENT;IRLAP_EVENT109,2839 - LAP_DISC_INDICATION=115,2948 - LAP_NO_RESPONSE,116,3018 - LAP_RESET_INDICATION,117,3085 - LAP_FOUND_NONE,118,3153 - LAP_MEDIA_BUSY,119,3210 - LAP_PRIMARY_CONFLICT,120,3227 -} LAP_REASON;LAP_REASON121,3250 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/irlan_event.h,893 -#define IRLAN_EVENT_H26,1024 - IRLAN_IDLE,34,1151 - IRLAN_QUERY,35,1164 - IRLAN_CONN,36,1178 - IRLAN_INFO,37,1192 - IRLAN_MEDIA,38,1205 - IRLAN_OPEN,39,1219 - IRLAN_WAIT,40,1232 - IRLAN_ARB,41,1245 - IRLAN_DATA,42,1258 - IRLAN_CLOSE,43,1271 - IRLAN_SYNC44,1285 -} IRLAN_STATE;IRLAN_STATE45,1297 - IRLAN_DISCOVERY_INDICATION,48,1328 - IRLAN_IAS_PROVIDER_AVAIL,49,1357 - IRLAN_IAS_PROVIDER_NOT_AVAIL,50,1384 - IRLAN_LAP_DISCONNECT,51,1415 - IRLAN_LMP_DISCONNECT,52,1438 - IRLAN_CONNECT_COMPLETE,53,1461 - IRLAN_DATA_INDICATION,54,1486 - IRLAN_DATA_CONNECT_INDICATION,55,1510 - IRLAN_RETRY_CONNECT,56,1542 - IRLAN_CONNECT_INDICATION,58,1565 - IRLAN_GET_INFO_CMD,59,1592 - IRLAN_GET_MEDIA_CMD,60,1613 - IRLAN_OPEN_DATA_CMD,61,1635 - IRLAN_FILTER_CONFIG_CMD,62,1657 - IRLAN_CHECK_CON_ARB,64,1684 - IRLAN_PROVIDER_SIGNAL,65,1706 - IRLAN_WATCHDOG_TIMEOUT,67,1731 -} IRLAN_EVENT;IRLAN_EVENT68,1756 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/discovery.h,511 -#define DISCOVERY_H33,1374 -#define DISCOVERY_EXPIRE_TIMEOUT 41,1548 -#define DISCOVERY_DEFAULT_SLOTS 42,1613 -} __u16_host_order;__u16_host_order58,2224 -#define u16ho(u16ho61,2287 - DISCOVERY_LOG,65,2371 - DISCOVERY_ACTIVE,66,2422 - DISCOVERY_PASSIVE,67,2485 - EXPIRY_TIMEOUT,68,2546 -} DISCOVERY_MODE;DISCOVERY_MODE69,2599 -#define NICKNAME_MAX_LEN 71,2618 -typedef struct irda_device_info discinfo_t;discinfo_t74,2694 -typedef struct discovery_t discovery_t79,2843 -} discovery_t;discovery_t92,3316 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/qos.h,746 -#define IRDA_QOS_H32,1337 -#define PI_BAUD_RATE 39,1444 -#define PI_MAX_TURN_TIME 40,1474 -#define PI_DATA_SIZE 41,1504 -#define PI_WINDOW_SIZE 42,1534 -#define PI_ADD_BOFS 43,1564 -#define PI_MIN_TURN_TIME 44,1594 -#define PI_LINK_DISC 45,1624 -#define IR_115200_MAX 47,1655 -#define IR_2400 50,1713 -#define IR_9600 51,1738 -#define IR_19200 52,1763 -#define IR_38400 53,1788 -#define IR_57600 54,1813 -#define IR_115200 55,1838 -#define IR_576000 56,1863 -#define IR_1152000 57,1888 -#define IR_4000000 60,1945 -#define IR_16000000 61,1970 -} qos_value_t;qos_value_t67,2121 -struct qos_info qos_info69,2137 -#define irlap_min_turn_time_in_bytes(irlap_min_turn_time_in_bytes97,2924 -#define irlap_xbofs_in_usec(irlap_xbofs_in_usec100,3027 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/timer.h,377 -#define TIMER_H28,1084 -#define POLL_TIMEOUT 45,1387 -#define FINAL_TIMEOUT 46,1463 -#define WD_TIMEOUT 52,1663 -#define MEDIABUSY_TIMEOUT 54,1709 -#define SMALLBUSY_TIMEOUT 55,1769 -#define SLOT_TIMEOUT 62,2081 -#define QUERY_TIMEOUT 68,2283 -#define WATCHDOG_TIMEOUT 70,2331 -typedef void (*TIMER_CALLBACK)TIMER_CALLBACK72,2391 -static inline void irda_start_timer(74,2432 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/irda/crc.h,158 -#define IRDA_CRC_H15,471 -#define INIT_FCS 20,546 -#define GOOD_FCS 21,597 -#define irda_fcs(irda_fcs24,710 -#define irda_calc_crc16(irda_calc_crc1627,808 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_c_st.h,684 -#define LLC_C_ST_H2,19 -#define LLC_CONN_OUT_OF_SVC 16,563 -#define LLC_CONN_STATE_ADM 18,623 -#define LLC_CONN_STATE_SETUP 19,680 -#define LLC_CONN_STATE_NORMAL 20,738 -#define LLC_CONN_STATE_BUSY 21,794 -#define LLC_CONN_STATE_REJ 22,848 -#define LLC_CONN_STATE_AWAIT 23,901 -#define LLC_CONN_STATE_AWAIT_BUSY 24,956 -#define LLC_CONN_STATE_AWAIT_REJ 25,1015 -#define LLC_CONN_STATE_D_CONN 26,1073 -#define LLC_CONN_STATE_RESET 27,1132 -#define LLC_CONN_STATE_ERROR 28,1190 -#define LLC_CONN_STATE_TEMP 29,1248 -#define NBR_CONN_STATES 31,1306 -#define NO_STATE_CHANGE 32,1361 -struct llc_conn_state_trans llc_conn_state_trans35,1431 -struct llc_conn_state llc_conn_state42,1576 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ah.h,106 -#define _NET_AH_H2,18 -#define MAX_AH_AUTH_LEN 7,124 -struct ah_dataah_data9,152 -ah_hmac_digest(24,402 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/compat.h,144 -#define NET_COMPAT_H2,21 -struct compat_msghdr compat_msghdr10,125 -struct compat_cmsghdr compat_cmsghdr20,394 -#define compat_msghdr 27,533 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ipip.h,138 -#define __NET_IPIP_H 2,21 -#define IPTUNNEL_ERR_TIMEO 7,119 -struct ip_tunnelip_tunnel9,155 -#define IPTUNNEL_XMIT(IPTUNNEL_XMIT28,673 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/checksum.h,271 -#define _CHECKSUM_H20,725 -unsigned int csum_and_copy_from_user 30,930 -static __inline__ unsigned int csum_and_copy_to_user44,1245 -static inline unsigned int csum_add(60,1592 -static inline unsigned int csum_sub(66,1722 -csum_block_add(72,1863 -csum_block_sub(80,2062 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/rawv6.h,58 -#define _NET_RAWV6_H2,21 -#define RAWV6_HTABLE_SIZE 6,62 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dn_route.h,1003 -#define _NET_DN_ROUTE_H2,24 -#define DN_RT_F_PID 25,1166 -#define DN_RT_F_PF 26,1239 -#define DN_RT_F_VER 27,1312 -#define DN_RT_F_IE 28,1385 -#define DN_RT_F_RTS 29,1458 -#define DN_RT_F_RQR 30,1531 -#define DN_RT_PKT_MSK 33,1645 -#define DN_RT_PKT_SHORT 35,1705 -#define DN_RT_PKT_LONG 36,1761 -#define DN_RT_PKT_CNTL 39,1859 -#define DN_RT_CNTL_MSK 41,1955 -#define DN_RT_PKT_INIT 42,2020 -#define DN_RT_PKT_VERI 43,2085 -#define DN_RT_PKT_HELO 44,2150 -#define DN_RT_PKT_L1RT 45,2215 -#define DN_RT_PKT_L2RT 46,2280 -#define DN_RT_PKT_ERTH 47,2345 -#define DN_RT_PKT_EEDH 48,2410 -#define DN_RT_INFO_TYPE 51,2521 -#define DN_RT_INFO_L1RT 52,2586 -#define DN_RT_INFO_L2RT 53,2651 -#define DN_RT_INFO_ENDN 54,2716 -#define DN_RT_INFO_VERI 55,2781 -#define DN_RT_INFO_RJCT 56,2846 -#define DN_RT_INFO_VFLD 57,2911 -#define DN_RT_INFO_NOML 58,2976 -#define DN_RT_INFO_BLKR 59,3041 -struct dn_route dn_route68,3420 -static inline void dn_rt_send(93,3841 -static inline void dn_rt_finish_output(98,3919 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sock.h,5477 -#define _SOCK_H41,1661 -#define SOCK_DEBUG(SOCK_DEBUG67,2247 -#define SOCK_DEBUG(SOCK_DEBUG70,2362 -} socket_lock_t;socket_lock_t82,2737 -#define sock_lock_init(sock_lock_init84,2755 -struct sock_common sock_common105,3491 -struct sock sock182,7189 -#define sk_family 188,7380 -#define sk_state 189,7422 -#define sk_reuse 190,7462 -#define sk_bound_dev_if 191,7502 -#define sk_node 192,7556 -#define sk_bind_node 193,7595 -#define sk_refcnt 194,7643 -static inline struct sock *__sk_head(274,9937 -static inline struct sock *sk_head(279,10060 -static inline struct sock *sk_next(284,10177 -static inline int sk_unhashed(290,10323 -static inline int sk_hashed(295,10413 -static __inline__ void sk_node_init(300,10498 -static __inline__ void __sk_del_node(305,10585 -static __inline__ int __sk_del_node_init(310,10672 -static inline void sock_hold(326,11048 -static inline void __sock_put(334,11264 -static __inline__ int sk_del_node_init(339,11345 -static __inline__ void __sk_add_node(351,11565 -static __inline__ void sk_add_node(356,11686 -static __inline__ void __sk_del_bind_node(362,11810 -static __inline__ void sk_add_bind_node(367,11907 -#define sk_for_each(sk_for_each373,12041 -#define sk_for_each_from(sk_for_each_from375,12130 -#define sk_for_each_continue(sk_for_each_continue378,12268 -#define sk_for_each_safe(sk_for_each_safe381,12414 -#define sk_for_each_bound(sk_for_each_bound383,12523 -enum sock_flags sock_flags387,12641 - SOCK_DEAD,388,12659 - SOCK_DONE,389,12671 - SOCK_URGINLINE,390,12683 - SOCK_KEEPOPEN,391,12700 - SOCK_LINGER,392,12716 - SOCK_DESTROY,393,12730 - SOCK_BROADCAST,394,12745 - SOCK_TIMESTAMP,395,12762 -static inline void sock_set_flag(398,12783 -static inline void sock_reset_flag(403,12893 -static inline int sock_flag(408,13007 -static inline void sk_acceptq_removed(413,13118 -static inline void sk_acceptq_added(418,13201 -static inline int sk_acceptq_is_full(423,13282 -static inline int sk_stream_min_wspace(431,13466 -static inline int sk_stream_wspace(436,13559 -static inline int sk_stream_memory_free(443,13713 -static inline void sk_stream_set_owner_r(450,13870 -static inline void sk_stream_free_skb(458,14093 -#define sk_add_backlog(sk_add_backlog467,14350 -#define sk_wait_event(sk_wait_event478,14666 -struct proto proto502,15472 -static inline void sk_alloc_slab_error(572,17648 -static __inline__ void sk_set_owner(577,17784 -static __inline__ void sock_prot_inc_use(595,18433 -static __inline__ void sock_prot_dec_use(600,18541 -#define SOCK_DESTROY_TIME 606,18672 -#define PROT_SOCK 609,18771 -#define SHUTDOWN_MASK 611,18795 -#define RCV_SHUTDOWN 612,18819 -#define SEND_SHUTDOWN 613,18842 -#define SOCK_SNDBUF_LOCK 615,18867 -#define SOCK_RCVBUF_LOCK 616,18894 -#define SOCK_BINDADDR_LOCK 617,18921 -#define SOCK_BINDPORT_LOCK 618,18950 -struct sock_iocb sock_iocb621,19045 -static inline struct sock_iocb *kiocb_to_siocb(634,19269 -static inline struct kiocb *siocb_to_kiocb(639,19384 -struct socket_alloc socket_alloc644,19473 -static inline struct socket *SOCKET_I(649,19547 -static inline struct inode *SOCK_INODE(654,19681 -#define SK_STREAM_MEM_QUANTUM 662,19946 -static inline int sk_stream_pages(664,19994 -static inline void sk_stream_mem_reclaim(669,20109 -static inline void sk_stream_writequeue_purge(675,20255 -static inline int sk_stream_rmem_schedule(684,20465 -#define sock_owned_by_user(sock_owned_by_user703,21191 -#define bh_lock_sock(bh_lock_sock709,21412 -#define bh_unlock_sock(bh_unlock_sock710,21475 -static inline int sk_filter(817,25645 -static inline void sk_filter_release(855,26307 -static inline void sk_filter_charge(865,26521 -static inline void sock_put(897,28127 -static inline void sock_orphan(910,28563 -static inline void sock_graft(919,28773 -__sk_dst_get(932,29126 -sk_dst_get(938,29220 -__sk_dst_set(951,29424 -sk_dst_set(961,29607 -__sk_dst_reset(969,29770 -sk_dst_reset(979,29933 -__sk_dst_check(987,30086 -sk_dst_check(1000,30340 -static inline void sk_charge_skb(1012,30550 -static inline int skb_copy_to_page(1018,30706 -static inline void skb_set_owner_w(1050,31607 -static inline void skb_set_owner_r(1058,31795 -static inline int sock_queue_rcv_skb(1070,32139 -static inline int sock_queue_err_skb(1110,33086 -static inline int sock_error(1129,33596 -static inline unsigned long sock_wspace(1135,33694 -static inline void sk_wake_async(1147,33915 -#define SOCK_MIN_SNDBUF 1153,34084 -#define SOCK_MIN_RCVBUF 1154,34113 -static inline void sk_stream_moderate_sndbuf(1156,34142 -static inline struct sk_buff *sk_stream_alloc_pskb(1164,34376 -static inline struct sk_buff *sk_stream_alloc_skb(1184,34885 -static inline struct page *sk_stream_alloc_page(1190,35032 -#define sk_stream_for_retrans_queue(sk_stream_for_retrans_queue1204,35366 -static inline int sock_writeable(1213,35662 -static inline int gfp_any(1218,35787 -static inline long sock_rcvtimeo(1223,35872 -static inline long sock_sndtimeo(1228,35985 -static inline int sock_rcvlowat(1233,36098 -static inline int sock_intr_errno(1241,36338 -sock_recv_timestamp(1247,36475 -static inline void sk_eat_skb(1269,37159 -static inline void net_timestamp(1278,37380 -#define NETDEBUG(NETDEBUG1295,37681 -#define LIMIT_NETDEBUG(LIMIT_NETDEBUG1296,37718 -#define NETDEBUG(NETDEBUG1298,37765 -#define LIMIT_NETDEBUG(LIMIT_NETDEBUG1299,37805 -#define SOCK_SLEEP_PRE(SOCK_SLEEP_PRE1315,38191 -#define SOCK_SLEEP_POST(SOCK_SLEEP_POST1321,38401 -static inline void sock_valbool_flag(1326,38534 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_s_ac.h,394 -#define LLC_S_AC_H2,19 -#define SAP_ACT_UNITDATA_IND 15,525 -#define SAP_ACT_SEND_UI 16,556 -#define SAP_ACT_SEND_XID_C 17,583 -#define SAP_ACT_SEND_XID_R 18,612 -#define SAP_ACT_SEND_TEST_C 19,641 -#define SAP_ACT_SEND_TEST_R 20,671 -#define SAP_ACT_REPORT_STATUS 21,701 -#define SAP_ACT_XID_IND 22,733 -#define SAP_ACT_TEST_IND 23,760 -typedef int (*llc_sap_action_t)llc_sap_action_t26,835 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_c_ac.h,3432 -#define LLC_C_AC_H2,19 -#define LLC_CONN_AC_CLR_REMOTE_BUSY 19,635 -#define LLC_CONN_AC_CONN_IND 20,676 -#define LLC_CONN_AC_CONN_CONFIRM 21,711 -#define LLC_CONN_AC_DATA_IND 22,749 -#define LLC_CONN_AC_DISC_IND 23,784 -#define LLC_CONN_AC_RESET_IND 24,819 -#define LLC_CONN_AC_RESET_CONFIRM 25,855 -#define LLC_CONN_AC_REPORT_STATUS 26,894 -#define LLC_CONN_AC_CLR_REMOTE_BUSY_IF_Fb_EQ_1 27,933 -#define LLC_CONN_AC_STOP_REJ_TMR_IF_DATA_FLAG_EQ_2 28,984 -#define LLC_CONN_AC_SEND_DISC_CMD_Pb_SET_X 29,1038 -#define LLC_CONN_AC_SEND_DM_RSP_Fb_SET_Pb 30,1085 -#define LLC_CONN_AC_SEND_DM_RSP_Fb_SET_1 31,1131 -#define LLC_CONN_AC_SEND_DM_RSP_Fb_SET_F_FLAG 32,1176 -#define LLC_CONN_AC_SEND_FRMR_RSP_Fb_SET_X 33,1226 -#define LLC_CONN_AC_RESEND_FRMR_RSP_Fb_SET_0 34,1273 -#define LLC_CONN_AC_RESEND_FRMR_RSP_Fb_SET_Pb 35,1322 -#define LLC_CONN_AC_SEND_I_CMD_Pb_SET_1 36,1372 -#define LLC_CONN_AC_RESEND_I_CMD_Pb_SET_1 37,1417 -#define LLC_CONN_AC_RESEND_I_CMD_Pb_SET_1_OR_SEND_RR 38,1463 -#define LLC_CONN_AC_SEND_I_XXX_Xb_SET_0 39,1519 -#define LLC_CONN_AC_RESEND_I_XXX_Xb_SET_0 40,1564 -#define LLC_CONN_AC_RESEND_I_XXX_Xb_SET_0_OR_SEND_RR 41,1610 -#define LLC_CONN_AC_RESEND_I_RSP_Fb_SET_1 42,1666 -#define LLC_CONN_AC_SEND_REJ_CMD_Pb_SET_1 43,1712 -#define LLC_CONN_AC_SEND_REJ_RSP_Fb_SET_1 44,1758 -#define LLC_CONN_AC_SEND_REJ_XXX_Xb_SET_0 45,1804 -#define LLC_CONN_AC_SEND_RNR_CMD_Pb_SET_1 46,1850 -#define LLC_CONN_AC_SEND_RNR_RSP_Fb_SET_1 47,1896 -#define LLC_CONN_AC_SEND_RNR_XXX_Xb_SET_0 48,1942 -#define LLC_CONN_AC_SET_REMOTE_BUSY 49,1988 -#define LLC_CONN_AC_OPTIONAL_SEND_RNR_XXX_Xb_SET_0 50,2029 -#define LLC_CONN_AC_SEND_RR_CMD_Pb_SET_1 51,2083 -#define LLC_CONN_AC_SEND_ACK_CMD_Pb_SET_1 52,2128 -#define LLC_CONN_AC_SEND_RR_RSP_Fb_SET_1 53,2174 -#define LLC_CONN_AC_SEND_ACK_RSP_Fb_SET_1 54,2219 -#define LLC_CONN_AC_SEND_RR_XXX_Xb_SET_0 55,2265 -#define LLC_CONN_AC_SEND_ACK_XXX_Xb_SET_0 56,2310 -#define LLC_CONN_AC_SEND_SABME_CMD_Pb_SET_X 57,2356 -#define LLC_CONN_AC_SEND_UA_RSP_Fb_SET_Pb 58,2404 -#define LLC_CONN_AC_SEND_UA_RSP_Fb_SET_F_FLAG 59,2450 -#define LLC_CONN_AC_S_FLAG_SET_0 60,2500 -#define LLC_CONN_AC_S_FLAG_SET_1 61,2538 -#define LLC_CONN_AC_START_P_TMR 62,2576 -#define LLC_CONN_AC_START_ACK_TMR 63,2614 -#define LLC_CONN_AC_START_REJ_TMR 64,2653 -#define LLC_CONN_AC_START_ACK_TMR_IF_NOT_RUNNING 65,2692 -#define LLC_CONN_AC_STOP_ACK_TMR 66,2744 -#define LLC_CONN_AC_STOP_P_TMR 67,2782 -#define LLC_CONN_AC_STOP_REJ_TMR 68,2819 -#define LLC_CONN_AC_STOP_ALL_TMRS 69,2857 -#define LLC_CONN_AC_STOP_OTHER_TMRS 70,2896 -#define LLC_CONN_AC_UPDATE_Nr_RECEIVED 71,2937 -#define LLC_CONN_AC_UPDATE_P_FLAG 72,2981 -#define LLC_CONN_AC_DATA_FLAG_SET_2 73,3020 -#define LLC_CONN_AC_DATA_FLAG_SET_0 74,3061 -#define LLC_CONN_AC_DATA_FLAG_SET_1 75,3102 -#define LLC_CONN_AC_DATA_FLAG_SET_1_IF_DATA_FLAG_EQ_0 76,3143 -#define LLC_CONN_AC_P_FLAG_SET_0 77,3200 -#define LLC_CONN_AC_P_FLAG_SET_P 78,3238 -#define LLC_CONN_AC_REMOTE_BUSY_SET_0 79,3276 -#define LLC_CONN_AC_RETRY_CNT_SET_0 80,3319 -#define LLC_CONN_AC_RETRY_CNT_INC_BY_1 81,3360 -#define LLC_CONN_AC_Vr_SET_0 82,3404 -#define LLC_CONN_AC_Vr_INC_BY_1 83,3439 -#define LLC_CONN_AC_Vs_SET_0 84,3477 -#define LLC_CONN_AC_Vs_SET_Nr 85,3512 -#define LLC_CONN_AC_F_FLAG_SET_P 86,3548 -#define LLC_CONN_AC_STOP_SENDACK_TMR 87,3586 -#define LLC_CONN_AC_START_SENDACK_TMR_IF_NOT_RUNNING 88,3628 -typedef int (*llc_conn_action_t)llc_conn_action_t90,3685 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/psnap.h,26 -#define _NET_PSNAP_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/neighbour.h,1667 -#define _NET_NEIGHBOUR_H2,25 -#define NTF_PROXY 25,460 -#define NTF_ROUTER 26,501 -#define NUD_INCOMPLETE 32,566 -#define NUD_REACHABLE 33,594 -#define NUD_STALE 34,621 -#define NUD_DELAY 35,644 -#define NUD_PROBE 36,667 -#define NUD_FAILED 37,690 -#define NUD_NOARP 40,734 -#define NUD_PERMANENT 41,757 -#define NUD_NONE 42,784 -#define NUD_IN_TIMER 60,1190 -#define NUD_VALID 61,1262 -#define NUD_CONNECTED 62,1350 -struct neigh_parmsneigh_parms66,1432 -struct neigh_statisticsneigh_statistics96,1908 -#define NEIGH_CACHE_STAT_INC(NEIGH_CACHE_STAT_INC114,2550 -struct neighbourneighbour117,2656 -struct neigh_opsneigh_ops142,3228 -struct pneigh_entrypneigh_entry154,3585 -struct neigh_tableneigh_table166,3720 -#define NEIGH_UPDATE_F_OVERRIDE 205,4755 -#define NEIGH_UPDATE_F_WEAK_OVERRIDE 206,4800 -#define NEIGH_UPDATE_F_OVERRIDE_ISROUTER 207,4849 -#define NEIGH_UPDATE_F_ISROUTER 208,4901 -#define NEIGH_UPDATE_F_ADMIN 209,4946 -struct neigh_seq_state neigh_seq_state255,7393 -#define NEIGH_SEQ_NEIGH_ONLY 261,7582 -#define NEIGH_SEQ_IS_PNEIGH 262,7622 -#define NEIGH_SEQ_SKIP_NOARP 263,7661 -static inline void __neigh_parms_put(276,8181 -static inline void neigh_parms_put(281,8279 -static inline struct neigh_parms *neigh_parms_clone(287,8418 -static inline void neigh_release(297,8578 -static inline struct neighbour * neigh_clone(303,8707 -#define neigh_hold(neigh_hold310,8839 -static inline void neigh_confirm(312,8887 -static inline int neigh_is_connected(318,8992 -static inline int neigh_is_valid(323,9099 -static inline int neigh_event_send(328,9198 -__neigh_lookup(337,9455 -__neigh_lookup_errno(349,9736 -#define LOCALLY_ENQUEUED 360,9944 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/inet_ecn.h,777 -#define _INET_ECN_H_2,21 - INET_ECN_NOT_ECT 8,98 - INET_ECN_ECT_1 9,121 - INET_ECN_ECT_0 10,142 - INET_ECN_CE 11,163 - INET_ECN_MASK 12,181 -static inline int INET_ECN_is_ce(15,205 -static inline int INET_ECN_is_not_ect(20,307 -static inline int INET_ECN_is_capable(25,419 -static inline __u8 INET_ECN_encapsulate(30,512 -#define INET_ECN_xmit(INET_ECN_xmit38,706 -#define INET_ECN_dontxmit(INET_ECN_dontxmit39,785 -#define IP6_ECN_flow_init(IP6_ECN_flow_init42,872 -#define IP6_ECN_flow_xmit(IP6_ECN_flow_xmit46,978 -static inline void IP_ECN_set_ce(51,1144 -static inline void IP_ECN_clear(77,1696 -static inline void ipv4_copy_dscp(82,1781 -static inline void IP6_ECN_set_ce(90,1983 -static inline void IP6_ECN_clear(97,2143 -static inline void ipv6_copy_dscp(102,2246 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/af_unix.h,662 -#define __LINUX_NET_AFUNIX_H2,29 -#define UNIX_HASH_SIZE 7,177 -static inline struct sock *first_unix_socket(14,339 -static inline struct sock *next_unix_socket(23,549 -#define forall_unix_sockets(forall_unix_sockets37,898 -struct unix_address unix_address40,1005 -struct unix_skb_parms unix_skb_parms47,1105 -#define UNIXCB(UNIXCB52,1224 -#define UNIXCREDS(UNIXCREDS53,1285 -#define unix_state_rlock(unix_state_rlock55,1332 -#define unix_state_runlock(unix_state_runlock56,1389 -#define unix_state_wlock(unix_state_wlock57,1450 -#define unix_state_wunlock(unix_state_wunlock58,1508 -struct unix_sock unix_sock62,1614 -#define unix_sk(unix_sk76,2054 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip_vs.h,5947 -#define _IP_VS_H7,104 -#define IP_VS_VERSION_CODE 11,169 -#define NVERSION(NVERSION12,205 -#define IP_VS_SVC_F_PERSISTENT 20,346 -#define IP_VS_SVC_F_HASHED 21,407 -#define IP_VS_DEST_F_AVAILABLE 26,502 -#define IP_VS_DEST_F_OVERLOAD 27,567 -#define IP_VS_STATE_NONE 32,672 -#define IP_VS_STATE_MASTER 33,729 -#define IP_VS_STATE_BACKUP 34,788 -#define IP_VS_BASE_CTL 39,883 -#define IP_VS_SO_SET_NONE 41,933 -#define IP_VS_SO_SET_INSERT 42,991 -#define IP_VS_SO_SET_ADD 43,1038 -#define IP_VS_SO_SET_EDIT 44,1082 -#define IP_VS_SO_SET_DEL 45,1127 -#define IP_VS_SO_SET_FLUSH 46,1171 -#define IP_VS_SO_SET_LIST 47,1217 -#define IP_VS_SO_SET_ADDDEST 48,1262 -#define IP_VS_SO_SET_DELDEST 49,1310 -#define IP_VS_SO_SET_EDITDEST 50,1358 -#define IP_VS_SO_SET_TIMEOUT 51,1407 -#define IP_VS_SO_SET_STARTDAEMON 52,1456 -#define IP_VS_SO_SET_STOPDAEMON 53,1509 -#define IP_VS_SO_SET_RESTORE 54,1561 -#define IP_VS_SO_SET_SAVE 55,1613 -#define IP_VS_SO_SET_ZERO 56,1665 -#define IP_VS_SO_SET_MAX 57,1711 -#define IP_VS_SO_GET_VERSION 59,1755 -#define IP_VS_SO_GET_INFO 60,1799 -#define IP_VS_SO_GET_SERVICES 61,1844 -#define IP_VS_SO_GET_SERVICE 62,1893 -#define IP_VS_SO_GET_DESTS 63,1941 -#define IP_VS_SO_GET_DEST 64,1987 -#define IP_VS_SO_GET_TIMEOUT 65,2051 -#define IP_VS_SO_GET_DAEMON 66,2099 -#define IP_VS_SO_GET_MAX 67,2146 -#define IP_VS_CONN_F_FWD_MASK 73,2230 -#define IP_VS_CONN_F_MASQ 74,2299 -#define IP_VS_CONN_F_LOCALNODE 75,2356 -#define IP_VS_CONN_F_TUNNEL 76,2412 -#define IP_VS_CONN_F_DROUTE 77,2464 -#define IP_VS_CONN_F_BYPASS 78,2521 -#define IP_VS_CONN_F_SYNC 79,2576 -#define IP_VS_CONN_F_HASHED 80,2638 -#define IP_VS_CONN_F_NOOUTPUT 81,2693 -#define IP_VS_CONN_F_INACTIVE 82,2755 -#define IP_VS_CONN_F_OUT_SEQ 83,2815 -#define IP_VS_CONN_F_IN_SEQ 84,2884 -#define IP_VS_CONN_F_SEQ_MASK 85,2951 -#define IP_VS_CONN_F_NO_CPORT 86,3016 -#define NFC_IPVS_PROPERTY 89,3146 -#define IP_VS_SCHEDNAME_MAXLEN 91,3181 -#define IP_VS_IFNAME_MAXLEN 92,3215 -struct ip_vs_service_user ip_vs_service_user99,3365 -struct ip_vs_dest_user ip_vs_dest_user114,3787 -struct ip_vs_stats_userip_vs_stats_user132,4188 -struct ip_vs_getinfo ip_vs_getinfo149,4810 -struct ip_vs_service_entry ip_vs_service_entry162,5050 -struct ip_vs_dest_entry ip_vs_dest_entry183,5580 -struct ip_vs_get_dests ip_vs_get_dests202,6105 -struct ip_vs_get_services ip_vs_get_services218,6475 -struct ip_vs_timeout_user ip_vs_timeout_user228,6679 -struct ip_vs_daemon_user ip_vs_daemon_user236,6818 -#define IP_VS_DBG(IP_VS_DBG265,7638 -#define IP_VS_DBG_RL(IP_VS_DBG_RL270,7793 -#define IP_VS_DBG_PKT(IP_VS_DBG_PKT275,7930 -#define IP_VS_DBG_RL_PKT(IP_VS_DBG_RL_PKT280,8099 -#define IP_VS_DBG(IP_VS_DBG287,8327 -#define IP_VS_DBG_RL(IP_VS_DBG_RL288,8377 -#define IP_VS_DBG_PKT(IP_VS_DBG_PKT289,8423 -#define IP_VS_DBG_RL_PKT(IP_VS_DBG_RL_PKT290,8488 -#define IP_VS_BUG(IP_VS_BUG293,8563 -#define IP_VS_ERR(IP_VS_ERR294,8589 -#define IP_VS_INFO(IP_VS_INFO295,8645 -#define IP_VS_WARNING(IP_VS_WARNING296,8703 -#define IP_VS_ERR_RL(IP_VS_ERR_RL298,8770 -#define EnterFunction(EnterFunction305,8932 -#define LeaveFunction(LeaveFunction311,9146 -#define EnterFunction(EnterFunction318,9489 -#define LeaveFunction(LeaveFunction319,9536 -#define IP_VS_WAIT_WHILE(IP_VS_WAIT_WHILE322,9591 -#define FTPPORT 328,9720 -#define FTPDATA 329,9758 -#define NET_IPV4_VS 334,9867 - NET_IPV4_VS_DEBUG_LEVEL=337,9911 - NET_IPV4_VS_AMEMTHRESH=338,9939 - NET_IPV4_VS_AMDROPRATE=339,9966 - NET_IPV4_VS_DROP_ENTRY=340,9993 - NET_IPV4_VS_DROP_PACKET=341,10020 - NET_IPV4_VS_SECURE_TCP=342,10048 - NET_IPV4_VS_TO_ES=343,10075 - NET_IPV4_VS_TO_SS=344,10097 - NET_IPV4_VS_TO_SR=345,10119 - NET_IPV4_VS_TO_FW=346,10141 - NET_IPV4_VS_TO_TW=347,10164 - NET_IPV4_VS_TO_CL=348,10187 - NET_IPV4_VS_TO_CW=349,10210 - NET_IPV4_VS_TO_LA=350,10233 - NET_IPV4_VS_TO_LI=351,10256 - NET_IPV4_VS_TO_SA=352,10279 - NET_IPV4_VS_TO_UDP=353,10302 - NET_IPV4_VS_TO_ICMP=354,10326 - NET_IPV4_VS_LBLC_EXPIRE=355,10351 - NET_IPV4_VS_LBLCR_EXPIRE=356,10380 - NET_IPV4_VS_CACHE_BYPASS=357,10410 - NET_IPV4_VS_EXPIRE_NODEST_CONN=358,10440 - NET_IPV4_VS_SYNC_THRESHOLD=359,10476 - NET_IPV4_VS_NAT_ICMP_SEND=360,10508 - NET_IPV4_VS_LAST361,10539 - IP_VS_TCP_S_NONE 368,10600 - IP_VS_TCP_S_ESTABLISHED,369,10623 - IP_VS_TCP_S_SYN_SENT,370,10649 - IP_VS_TCP_S_SYN_RECV,371,10672 - IP_VS_TCP_S_FIN_WAIT,372,10695 - IP_VS_TCP_S_TIME_WAIT,373,10718 - IP_VS_TCP_S_CLOSE,374,10742 - IP_VS_TCP_S_CLOSE_WAIT,375,10762 - IP_VS_TCP_S_LAST_ACK,376,10787 - IP_VS_TCP_S_LISTEN,377,10810 - IP_VS_TCP_S_SYNACK,378,10831 - IP_VS_TCP_S_LAST379,10852 - IP_VS_UDP_S_NORMAL,386,10908 - IP_VS_UDP_S_LAST,387,10929 - IP_VS_ICMP_S_NORMAL,394,10987 - IP_VS_ICMP_S_LAST,395,11009 -struct ip_vs_seq ip_vs_seq403,11164 -struct ip_vs_statsip_vs_stats414,11409 -struct ip_vs_protocol ip_vs_protocol434,12081 -struct ip_vs_conn ip_vs_conn499,13873 -struct ip_vs_service ip_vs_service548,15887 -struct ip_vs_dest ip_vs_dest578,17037 -struct ip_vs_scheduler ip_vs_scheduler615,18293 -struct ip_vs_appip_vs_app637,18972 -#define IP_VS_INIT_HASH_TABLE(IP_VS_INIT_HASH_TABLE706,21162 -#define IP_VS_APP_TYPE_UNSPEC 708,21245 -#define IP_VS_APP_TYPE_FTP 709,21277 -#define CONFIG_IP_VS_TAB_BITS 720,21456 -#define IP_VS_CONN_TAB_BITS 724,21591 -#define IP_VS_CONN_TAB_BITS 727,21659 -#define IP_VS_CONN_TAB_BITS 730,21759 -#define IP_VS_CONN_TAB_SIZE 732,21816 -#define IP_VS_CONN_TAB_MASK 733,21875 - IP_VS_DIR_INPUT 736,21941 - IP_VS_DIR_OUTPUT,737,21963 - IP_VS_DIR_INPUT_ONLY,738,21982 - IP_VS_DIR_LAST,739,22005 -static inline void __ip_vs_conn_put(748,22313 -static inline void ip_vs_control_del(770,23107 -ip_vs_control_add(798,23914 -#define IP_VS_APP_MAX_PORTS 822,24535 -static inline void ip_vs_service_put(889,27168 -static __inline__ int ip_vs_todrop(949,29200 -#define IP_VS_FWD_METHOD(IP_VS_FWD_METHOD960,29444 -extern __inline__ char ip_vs_fwd_tag(962,29511 -static inline u16 ip_vs_check_diff(989,30152 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/iw_handler.h,1054 -#define _IW_HANDLER_H11,240 -#define IW_HANDLER_VERSION 209,9623 -#define IW_WIRELESS_SPY232,10184 -#define IW_WIRELESS_THRSPY233,10208 -#define EIWCOMMIT 237,10354 -#define IW_REQUEST_FLAG_NONE 240,10433 -#define IW_HEADER_TYPE_NULL 243,10556 -#define IW_HEADER_TYPE_CHAR 244,10606 -#define IW_HEADER_TYPE_UINT 245,10658 -#define IW_HEADER_TYPE_FREQ 246,10700 -#define IW_HEADER_TYPE_ADDR 247,10751 -#define IW_HEADER_TYPE_POINT 248,10803 -#define IW_HEADER_TYPE_PARAM 249,10856 -#define IW_HEADER_TYPE_QUAL 250,10909 -#define IW_DESCR_FLAG_NONE 255,11099 -#define IW_DESCR_FLAG_DUMP 257,11173 -#define IW_DESCR_FLAG_EVENT 258,11242 -#define IW_DESCR_FLAG_RESTRICT 259,11308 -#define IW_DESCR_FLAG_WAIT 262,11456 -struct iw_request_infoiw_request_info283,12282 -typedef int (*iw_handler)iw_handler293,12522 -struct iw_handler_defiw_handler_def302,12898 -struct iw_ioctl_descriptioniw_ioctl_description352,14482 -struct iw_spy_dataiw_spy_data375,15264 -iwe_stream_add_event(452,17812 -iwe_stream_add_point(472,18372 -iwe_stream_add_value(495,19131 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/tcp.h,12299 -#define _TCP_H19,666 -#define TCP_DEBUG 21,682 -#define FASTRETRANS_DEBUG 22,702 -struct tcp_ehash_bucket tcp_ehash_bucket46,1364 -#define TCP_LHTABLE_SIZE 52,1549 -struct tcp_bind_bucket tcp_bind_bucket85,3241 -#define tb_for_each(tb_for_each92,3371 -struct tcp_bind_hashbucket tcp_bind_hashbucket94,3451 -static inline struct tcp_bind_bucket *__tb_head(99,3529 -static inline struct tcp_bind_bucket *tb_head(104,3686 -extern struct tcp_hashinfo tcp_hashinfo109,3831 -} tcp_hashinfo;144,5029 -#define tcp_ehash 146,5046 -#define tcp_bhash 147,5091 -#define tcp_ehash_size 148,5136 -#define tcp_bhash_size 149,5191 -#define tcp_listening_hash 150,5246 -#define tcp_lhash_lock 151,5309 -#define tcp_lhash_users 152,5364 -#define tcp_lhash_wait 153,5421 -#define tcp_portalloc_lock 154,5476 -static __inline__ int tcp_bhashfn(165,5944 -#define TCP_ADDRCMP_ALIGN_BYTES 174,6161 -#define TCP_ADDRCMP_ALIGN_BYTES 176,6201 -struct tcp_tw_bucket tcp_tw_bucket183,6437 -#define tw_family 189,6628 -#define tw_state 190,6670 -#define tw_reuse 191,6710 -#define tw_bound_dev_if 192,6750 -#define tw_node 193,6804 -#define tw_bind_node 194,6843 -#define tw_refcnt 195,6891 -static __inline__ void tw_add_node(224,7668 -static __inline__ void tw_add_bind_node(230,7803 -static inline int tw_dead_hashed(236,7946 -static __inline__ void tw_dead_node_init(241,8051 -static __inline__ void __tw_del_dead_node(246,8156 -static __inline__ int tw_del_dead_node(252,8287 -#define tw_for_each(tw_for_each261,8436 -#define tw_for_each_inmate(tw_for_each_inmate264,8522 -#define tw_for_each_inmate_safe(tw_for_each_inmate_safe267,8621 -#define tcptw_sk(tcptw_sk270,8742 -static inline u32 tcp_v4_rcv_saddr(272,8799 -static inline struct in6_addr *__tcp_v6_rcv_saddr(279,9021 -static inline struct in6_addr *tcp_v6_rcv_saddr(285,9208 -#define tcptw_sk_ipv6only(tcptw_sk_ipv6only290,9351 -static inline int tcp_v6_ipv6only(292,9417 -# define __tcp_v6_rcv_saddr(__tcp_v6_rcv_saddr298,9578 -# define tcp_v6_rcv_saddr(tcp_v6_rcv_saddr299,9617 -# define tcptw_sk_ipv6only(tcptw_sk_ipv6only300,9655 -# define tcp_v6_ipv6only(tcp_v6_ipv6only301,9690 -static inline void tcp_tw_put(306,9775 -#define TCP_COMBINED_PORTS(TCP_COMBINED_PORTS325,10313 -#define TCP_COMBINED_PORTS(TCP_COMBINED_PORTS328,10433 -#define TCP_V4_ADDR_COOKIE(TCP_V4_ADDR_COOKIE334,10579 -#define TCP_V4_ADDR_COOKIE(TCP_V4_ADDR_COOKIE337,10723 -#define TCP_IPV4_MATCH(TCP_IPV4_MATCH340,10865 -#define TCP_IPV4_TW_MATCH(TCP_IPV4_TW_MATCH344,11130 -#define TCP_V4_ADDR_COOKIE(TCP_V4_ADDR_COOKIE349,11432 -#define TCP_IPV4_MATCH(TCP_IPV4_MATCH350,11485 -#define TCP_IPV4_TW_MATCH(TCP_IPV4_TW_MATCH355,11783 -#define TCP_IPV6_MATCH(TCP_IPV6_MATCH362,12122 -static __inline__ int tcp_lhashfn(370,12536 -static __inline__ int tcp_sk_listen_hashfn(375,12633 -#define MAX_TCP_HEADER 380,12737 -#define MAX_TCP_WINDOW 386,12897 -#define TCP_MIN_MSS 389,12984 -#define TCP_MIN_RCVMSS 392,13033 -#define TCP_FASTRETRANS_THRESH 395,13139 -#define TCP_MAX_REORDERING 398,13199 -#define TCP_MAX_QUICKACKS 401,13299 -#define TCP_URG_VALID 404,13352 -#define TCP_URG_NOTYET 405,13381 -#define TCP_URG_READ 406,13411 -#define TCP_RETR1 408,13440 -#define TCP_RETR2 415,13658 -#define TCP_SYN_RETRIES 422,13843 -#define TCP_SYNACK_RETRIES 425,13961 -#define TCP_ORPHAN_RETRIES 429,14083 -#define TCP_TIMEWAIT_LEN 434,14199 -#define TCP_FIN_TIMEOUT 436,14308 -#define TCP_DELACK_MAX 443,14549 -#define TCP_DELACK_MIN 445,14655 -#define TCP_ATO_MIN 446,14748 -#define TCP_DELACK_MIN 448,14794 -#define TCP_ATO_MIN 449,14820 -#define TCP_RTO_MAX 451,14850 -#define TCP_RTO_MIN 452,14891 -#define TCP_TIMEOUT_INIT 453,14930 -#define TCP_RESOURCE_PROBE_INTERVAL 455,15008 -#define TCP_KEEPALIVE_TIME 459,15170 -#define TCP_KEEPALIVE_PROBES 460,15225 -#define TCP_KEEPALIVE_INTVL 461,15289 -#define MAX_TCP_KEEPIDLE 463,15326 -#define MAX_TCP_KEEPINTVL 464,15357 -#define MAX_TCP_KEEPCNT 465,15389 -#define MAX_TCP_SYNCNT 466,15418 -#define TCP_SYNQ_INTERVAL 468,15447 -#define TCP_SYNQ_HSIZE 469,15509 -#define TCP_PAWS_24DAYS 471,15570 -#define TCP_PAWS_MSL 472,15614 -#define TCP_PAWS_WINDOW 478,15854 -#define TCP_TW_RECYCLE_SLOTS_LOG 483,15997 -#define TCP_TW_RECYCLE_SLOTS 484,16032 -# define TCP_TW_RECYCLE_TICK 493,16302 -# define TCP_TW_RECYCLE_TICK 495,16377 -# define TCP_TW_RECYCLE_TICK 497,16453 -# define TCP_TW_RECYCLE_TICK 499,16529 -# define TCP_TW_RECYCLE_TICK 501,16605 -# define TCP_TW_RECYCLE_TICK 503,16682 -# define TCP_TW_RECYCLE_TICK 505,16760 -# define TCP_TW_RECYCLE_TICK 507,16827 -#define BICTCP_1_OVER_BETA 510,16896 -#define BICTCP_MAX_INCREMENT 514,16998 -#define BICTCP_FUNC_OF_MIN_INCR 519,17130 -#define BICTCP_B 524,17261 -#define TCPOPT_NOP 533,17379 -#define TCPOPT_EOL 534,17415 -#define TCPOPT_MSS 535,17458 -#define TCPOPT_WINDOW 536,17511 -#define TCPOPT_SACK_PERM 537,17557 -#define TCPOPT_SACK 538,17618 -#define TCPOPT_TIMESTAMP 539,17675 -#define TCPOLEN_MSS 545,17771 -#define TCPOLEN_WINDOW 546,17804 -#define TCPOLEN_SACK_PERM 547,17837 -#define TCPOLEN_TIMESTAMP 548,17870 -#define TCPOLEN_TSTAMP_ALIGNED 551,17952 -#define TCPOLEN_WSCALE_ALIGNED 552,17987 -#define TCPOLEN_SACKPERM_ALIGNED 553,18021 -#define TCPOLEN_SACK_BASE 554,18056 -#define TCPOLEN_SACK_BASE_ALIGNED 555,18085 -#define TCPOLEN_SACK_PERBLOCK 556,18121 -#define TCP_TIME_RETRANS 558,18155 -#define TCP_TIME_DACK 559,18205 -#define TCP_TIME_PROBE0 560,18254 -#define TCP_TIME_KEEPOPEN 561,18311 -#define TCP_NAGLE_OFF 564,18389 -#define TCP_NAGLE_CORK 565,18445 -#define TCP_NAGLE_PUSH 566,18498 -struct or_calltable or_calltable620,20256 -struct tcp_v4_open_req tcp_v4_open_req628,20539 -struct tcp_v6_open_req tcp_v6_open_req635,20688 -struct open_request open_request644,20851 -#define tcp_openreq_alloc(tcp_openreq_alloc677,21652 -#define tcp_openreq_fastfree(tcp_openreq_fastfree678,21731 -static inline void tcp_openreq_free(680,21807 -#define TCP_INET_FAMILY(TCP_INET_FAMILY687,21988 -#define TCP_INET_FAMILY(TCP_INET_FAMILY689,22042 -struct tcp_func tcp_func697,22185 -static inline int before(744,23239 -static inline int after(749,23332 -static inline int between(756,23440 -#define TCP_INC_STATS(TCP_INC_STATS765,23626 -#define TCP_INC_STATS_BH(TCP_INC_STATS_BH766,23694 -#define TCP_INC_STATS_USER(TCP_INC_STATS_USER767,23768 -#define TCP_DEC_STATS(TCP_DEC_STATS768,23846 -#define TCP_ADD_STATS_BH(TCP_ADD_STATS_BH769,23914 -#define TCP_ADD_STATS_USER(TCP_ADD_STATS_USER770,23997 -enum tcp_ack_state_ttcp_ack_state_t805,25116 - TCP_ACK_SCHED 807,25139 - TCP_ACK_TIMER 808,25159 - TCP_ACK_PUSHED=809,25179 -static inline void tcp_schedule_ack(812,25202 -static inline int tcp_ack_scheduled(817,25298 -static __inline__ void tcp_dec_quickack_mode(822,25398 -static __inline__ void tcp_delack_init(832,25650 -static inline void tcp_clear_options(837,25753 -enum tcp_tw_statustcp_tw_status842,25883 - TCP_TW_SUCCESS 844,25904 - TCP_TW_RST 845,25925 - TCP_TW_ACK 846,25942 - TCP_TW_SYN 847,25959 -typedef int (*sk_read_actor_t)sk_read_actor_t976,30289 -static inline void tcp_clear_xmit_timer(981,30487 -static inline void tcp_reset_xmit_timer(1012,31002 -static inline void tcp_initialize_rcv_mss(1050,32051 -static __inline__ void __tcp_fast_path_on(1062,32334 -static __inline__ void tcp_fast_path_on(1069,32519 -static inline void tcp_fast_path_check(1074,32638 -static __inline__ u32 tcp_receive_window(1087,33052 -#define tcp_time_stamp 1108,33730 -struct tcp_skb_cb tcp_skb_cb1117,34120 -#define TCPCB_FLAG_FIN 1132,34569 -#define TCPCB_FLAG_SYN 1133,34598 -#define TCPCB_FLAG_RST 1134,34627 -#define TCPCB_FLAG_PSH 1135,34656 -#define TCPCB_FLAG_ACK 1136,34685 -#define TCPCB_FLAG_URG 1137,34714 -#define TCPCB_FLAG_ECE 1138,34743 -#define TCPCB_FLAG_CWR 1139,34772 -#define TCPCB_SACKED_ACKED 1142,34851 -#define TCPCB_SACKED_RETRANS 1143,34915 -#define TCPCB_LOST 1144,34974 -#define TCPCB_TAGBITS 1145,35019 -#define TCPCB_EVER_RETRANS 1147,35069 -#define TCPCB_RETRANS 1148,35132 -#define TCPCB_URG 1150,35198 -#define TCPCB_AT_TAIL 1152,35258 -#define TCP_SKB_CB(TCP_SKB_CB1158,35392 -static inline int tcp_skb_pcount(1165,35605 -static inline int tcp_skb_mss(1171,35745 -static inline void tcp_inc_pcount(1176,35836 -static inline void tcp_inc_pcount_explicit(1181,35953 -static inline void tcp_dec_pcount_explicit(1186,36051 -static inline void tcp_dec_pcount(1191,36149 -static inline void tcp_dec_pcount_approx(1196,36266 -static inline __u32 tcp_get_pcount(1206,36465 -static inline void tcp_set_pcount(1211,36546 -static inline void tcp_packets_out_inc(1216,36636 -static inline void tcp_packets_out_dec(1226,36903 -static __inline__ unsigned int tcp_packets_in_flight(1245,37599 -#define tcp_is_vegas(tcp_is_vegas1255,37859 -#define tcp_is_westwood(tcp_is_westwood1256,37918 -#define tcp_is_bic(tcp_is_bic1257,37983 -static inline __u32 tcp_recalc_ssthresh(1269,38285 -#define tcp_vegas_disable(tcp_vegas_disable1289,38825 -static inline void tcp_vegas_enable(1291,38898 -#define tcp_vegas_enabled(tcp_vegas_enabled1321,39852 -static inline void tcp_set_ca_state(1325,39963 -static inline __u32 tcp_current_ssthresh(1340,40339 -static inline void tcp_sync_left_out(1350,40583 -static inline void tcp_cwnd_validate(1367,41114 -static inline void __tcp_enter_cwr(1386,41701 -static inline void tcp_enter_cwr(1398,42015 -static __inline__ __u32 tcp_max_burst(1412,42359 -static __inline__ int tcp_minshall_check(1417,42433 -static __inline__ void tcp_minshall_update(1423,42577 -tcp_nagle_check(1439,43125 -static __inline__ int tcp_snd_test(1454,43599 -static __inline__ void tcp_check_probe_timer(1495,44937 -static __inline__ int tcp_skb_is_last(1501,45134 -static __inline__ void __tcp_push_pending_frames(1510,45433 -static __inline__ void tcp_push_pending_frames(1527,45842 -static __inline__ int tcp_may_send_now(1533,46016 -static __inline__ void tcp_init_wl(1542,46270 -static __inline__ void tcp_update_wl(1547,46368 -static __inline__ u16 tcp_v4_check(1558,46560 -static __inline__ int __tcp_checksum_complete(1565,46766 -static __inline__ int tcp_checksum_complete(1570,46916 -static __inline__ void tcp_prequeue_init(1578,47139 -static __inline__ int tcp_prequeue(1594,47675 -static char *statename[1626,48468 -static __inline__ void tcp_set_state(1633,48646 -static __inline__ void tcp_done(1667,49462 -static __inline__ void tcp_sack_reset(1680,49700 -static __inline__ void tcp_build_and_update_options(1687,49819 -static inline void tcp_syn_build_options(1722,50885 -static inline int tcp_win_from_space(1760,52540 -static inline int tcp_space(1768,52784 -static inline int tcp_full_space(1774,52924 -static inline void tcp_acceptq_queue(1779,53029 -struct tcp_listen_opttcp_listen_opt1796,53379 -tcp_synq_removed(1807,53598 -static inline void tcp_synq_added(1817,53823 -static inline int tcp_synq_len(1826,54031 -static inline int tcp_synq_young(1831,54122 -static inline int tcp_synq_is_full(1836,54221 -static inline void tcp_synq_unlink(1841,54344 -static inline void tcp_synq_drop(1849,54560 -static __inline__ void tcp_openreq_init(1857,54771 -static inline void tcp_listen_lock(1883,55497 -static inline void tcp_listen_unlock(1891,55689 -static inline int keepalive_intvl_when(1897,55809 -static inline int keepalive_time_when(1902,55933 -static inline int tcp_fin_time(1907,56054 -static inline int tcp_paws_check(1917,56285 -static inline void tcp_v4_setup_caps(1941,57183 -#define TCP_CHECK_TIMER(TCP_CHECK_TIMER1950,57433 -static inline int tcp_use_frto(1952,57479 -static inline void tcp_mib_init(1965,57856 -enum tcp_seq_states tcp_seq_states1975,58135 - TCP_SEQ_STATE_LISTENING,1976,58157 - TCP_SEQ_STATE_OPENREQ,1977,58183 - TCP_SEQ_STATE_ESTABLISHED,1978,58207 - TCP_SEQ_STATE_TIME_WAIT,1979,58235 -struct tcp_seq_afinfo tcp_seq_afinfo1982,58265 -struct tcp_iter_state tcp_iter_state1990,58439 -#define TCP_WESTWOOD_INIT_RTT 2003,58781 -#define TCP_WESTWOOD_RTT_MIN 2004,58861 -static inline void tcp_westwood_update_rtt(2006,58922 -static inline void tcp_westwood_fast_bw(2015,59207 -static inline void tcp_westwood_slow_bw(2021,59380 -static inline __u32 __tcp_westwood_bw_rttmin(2027,59553 -static inline __u32 tcp_westwood_bw_rttmin(2034,59741 -static inline int tcp_westwood_ssthresh(2039,59879 -static inline int tcp_westwood_cwnd(2052,60116 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip6_route.h,321 -#define _NET_IP6_ROUTE_H2,25 -#define IP6_RT_PRIO_FW 4,51 -#define IP6_RT_PRIO_USER 5,78 -#define IP6_RT_PRIO_ADDRCONF 6,108 -#define IP6_RT_PRIO_KERN 7,141 -#define IP6_RT_FLOW_MASK 8,170 -struct pol_chain pol_chain19,361 -static inline void ip6_dst_store(120,3311 -static inline int ipv6_unicast_destination(133,3688 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dst.h,940 -#define _NET_DST_H9,151 -#define RT_CACHE_DEBUG 23,429 -#define DST_GC_MIN 25,456 -#define DST_GC_INC 26,483 -#define DST_GC_MAX 27,509 -struct dst_entrydst_entry38,905 -#define DST_HOST 47,1103 -#define DST_NOXFRM 48,1123 -#define DST_NOPOLICY 49,1145 -#define DST_NOHASH 50,1169 -struct dst_opsdst_ops83,1810 -dst_metric(106,2395 -dst_path_metric(112,2496 -dst_pmtu(118,2608 -dst_metric_locked(127,2772 -static inline void dst_hold(132,2880 -struct dst_entry * dst_clone(138,2980 -void dst_release(146,3105 -static inline struct dst_entry *dst_pop(158,3355 -static inline void dst_free(170,3666 -static inline void dst_rcu_free(182,3864 -static inline void dst_confirm(188,4013 -static inline void dst_negative_advice(194,4115 -static inline void dst_link_failure(201,4301 -static inline void dst_set_expires(208,4478 -static inline int dst_output(220,4770 -static inline int dst_input(235,5025 -static inline int xfrm_lookup(254,5360 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/structs.h,3231 -#define __sctp_structs_h__55,2176 -union sctp_addr sctp_addr70,2828 -struct sctp_bind_bucket sctp_bind_bucket98,3380 -struct sctp_bind_hashbucket sctp_bind_hashbucket106,3551 -struct sctp_hashbucket sctp_hashbucket112,3678 -extern struct sctp_globals sctp_globals119,3822 -} sctp_globals;199,5993 -#define sctp_rto_initial 201,6010 -#define sctp_rto_min 202,6063 -#define sctp_rto_max 203,6109 -#define sctp_rto_alpha 204,6155 -#define sctp_rto_beta 205,6205 -#define sctp_max_burst 206,6253 -#define sctp_valid_cookie_life 207,6303 -#define sctp_cookie_preserve_enable 208,6368 -#define sctp_max_retrans_association 209,6442 -#define sctp_max_retrans_path 210,6518 -#define sctp_max_retrans_init 211,6581 -#define sctp_hb_interval 212,6644 -#define sctp_max_instreams 213,6697 -#define sctp_max_outstreams 214,6754 -#define sctp_address_families 215,6813 -#define sctp_ep_hashsize 216,6876 -#define sctp_ep_hashtable 217,6929 -#define sctp_assoc_hashsize 218,6984 -#define sctp_assoc_hashtable 219,7043 -#define sctp_port_hashsize 220,7104 -#define sctp_port_rover 221,7161 -#define sctp_port_alloc_lock 222,7213 -#define sctp_port_hashtable 223,7274 -#define sctp_local_addr_list 224,7333 -#define sctp_local_addr_lock 225,7394 -#define sctp_addip_enable 226,7455 -#define sctp_prsctp_enable 227,7510 - SCTP_SOCKET_UDP 231,7625 - SCTP_SOCKET_UDP_HIGH_BANDWIDTH,232,7647 - SCTP_SOCKET_TCP233,7680 -} sctp_socket_type_t;sctp_socket_type_t234,7697 -struct sctp_opt sctp_opt237,7755 -struct sctp_cookie sctp_cookie285,8872 -struct sctp_signed_cookie sctp_signed_cookie338,10286 -union sctp_addr_param sctp_addr_param347,10525 -union sctp_params sctp_params355,10732 -typedef struct sctp_sender_hb_info sctp_sender_hb_info374,11384 -} __attribute__((packed)packed378,11502 -struct sctp_stream sctp_stream394,12083 -struct sctp_ssnmap sctp_ssnmap399,12140 -static inline __u16 sctp_ssn_peek(411,12522 -static inline __u16 sctp_ssn_next(417,12674 -static inline void sctp_ssn_skip(423,12818 -struct sctp_af sctp_af433,13057 -struct sctp_pf sctp_pf498,15148 -struct sctp_datamsg sctp_datamsg518,15915 -struct sctp_chunk sctp_chunk555,17209 -struct sctp_sockaddr_entry sctp_sockaddr_entry666,21155 -typedef struct sctp_chunk *(sctp_packet_phandler_t)sctp_packet_phandler_t671,21232 -struct sctp_packet sctp_packet676,21399 -static inline int sctp_packet_empty(719,22749 -struct sctp_transport sctp_transport744,23710 -struct sctp_inq sctp_inq942,29847 -struct sctp_outq sctp_outq986,31332 -static inline void sctp_outq_cork(1043,32996 -struct sctp_bind_addr sctp_bind_addr1049,33149 - SCTP_EP_TYPE_SOCKET,1097,34827 - SCTP_EP_TYPE_ASSOCIATION,1098,34849 -} sctp_endpoint_type_t;sctp_endpoint_type_t1099,34876 -struct sctp_ep_common sctp_ep_common1117,35594 -struct sctp_endpoint sctp_endpoint1172,37479 -static inline struct sctp_endpoint *sctp_ep(1209,38680 -struct sctp_association sctp_association1262,40804 - SCTP_ASSOC_EYECATCHER 1669,54171 - SCTP_ASSOC_EYECATCHER = 0xa550c123,1669,54171 -static inline struct sctp_association *sctp_assoc(1673,54260 -typedef struct sctp_cmsgs sctp_cmsgs1736,56979 -} sctp_cmsgs_t;sctp_cmsgs_t1739,57066 -} sctp_dbg_objcnt_entry_t;sctp_dbg_objcnt_entry_t1745,57178 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/constants.h,6294 -#define __sctp_constants_h__48,1904 -enum { SCTP_MAX_STREAM 56,2141 -enum { SCTP_MAX_STREAM = 0xffff 56,2141 -enum { SCTP_DEFAULT_OUTSTREAMS 57,2176 -enum { SCTP_DEFAULT_INSTREAMS 58,2215 -enum { SCTP_DEFAULT_INSTREAMS = SCTP_MAX_STREAM 58,2215 -#define SCTP_CID_BASE_MAX 63,2386 -#define SCTP_CID_MAX 64,2440 -#define SCTP_NUM_BASE_CHUNK_TYPES 66,2484 -#define SCTP_NUM_CHUNK_TYPES 67,2542 -#define SCTP_NUM_ADDIP_CHUNK_TYPES 69,2604 -#define SCTP_NUM_PRSCTP_CHUNK_TYPES 71,2642 - SCTP_EVENT_T_CHUNK 76,2747 - SCTP_EVENT_T_TIMEOUT,77,2772 - SCTP_EVENT_T_OTHER,78,2795 - SCTP_EVENT_T_PRIMITIVE79,2816 -} sctp_event_t;sctp_event_t81,2841 -#define SCTP_EVENT_T_MAX 83,2858 -#define SCTP_EVENT_T_NUM 84,2906 - SCTP_EVENT_TIMEOUT_NONE 91,3091 - SCTP_EVENT_TIMEOUT_T1_COOKIE,92,3121 - SCTP_EVENT_TIMEOUT_T1_INIT,93,3152 - SCTP_EVENT_TIMEOUT_T2_SHUTDOWN,94,3181 - SCTP_EVENT_TIMEOUT_T3_RTX,95,3214 - SCTP_EVENT_TIMEOUT_T4_RTO,96,3242 - SCTP_EVENT_TIMEOUT_T5_SHUTDOWN_GUARD,97,3270 - SCTP_EVENT_TIMEOUT_HEARTBEAT,98,3309 - SCTP_EVENT_TIMEOUT_SACK,99,3340 - SCTP_EVENT_TIMEOUT_AUTOCLOSE,100,3366 -} sctp_event_timeout_t;sctp_event_timeout_t101,3397 -#define SCTP_EVENT_TIMEOUT_MAX 103,3422 -#define SCTP_NUM_TIMEOUT_TYPES 104,3483 - SCTP_EVENT_NO_PENDING_TSN 107,3560 -} sctp_event_other_t;sctp_event_other_t108,3592 -#define SCTP_EVENT_OTHER_MAX 110,3615 -#define SCTP_NUM_OTHER_TYPES 111,3671 - SCTP_PRIMITIVE_ASSOCIATE 115,3794 - SCTP_PRIMITIVE_SHUTDOWN,116,3825 - SCTP_PRIMITIVE_ABORT,117,3851 - SCTP_PRIMITIVE_SEND,118,3874 - SCTP_PRIMITIVE_REQUESTHEARTBEAT,119,3896 - SCTP_PRIMITIVE_ASCONF,120,3930 -} sctp_event_primitive_t;sctp_event_primitive_t121,3954 -#define SCTP_EVENT_PRIMITIVE_MAX 123,3981 -#define SCTP_NUM_PRIMITIVE_TYPES 124,4036 -} sctp_subtype_t;sctp_subtype_t137,4400 -#define SCTP_SUBTYPE_CONSTRUCTOR(SCTP_SUBTYPE_CONSTRUCTOR139,4419 -SCTP_SUBTYPE_CONSTRUCTOR(144,4604 -#define sctp_chunk_is_control(sctp_chunk_is_control150,4855 -#define sctp_chunk_is_data(sctp_chunk_is_data151,4926 -#define SCTP_DATA_SNDSIZE(SCTP_DATA_SNDSIZE154,5048 -#define SCTP_MAX_ERROR_CAUSE 162,5294 -#define SCTP_NUM_ERROR_CAUSE 163,5347 - SCTP_IERROR_NO_ERROR 168,5424 - SCTP_IERROR_BASE 169,5459 - SCTP_IERROR_NO_COOKIE,170,5486 - SCTP_IERROR_BAD_SIG,171,5510 - SCTP_IERROR_STALE_COOKIE,172,5532 - SCTP_IERROR_NOMEM,173,5559 - SCTP_IERROR_MALFORMED,174,5579 - SCTP_IERROR_BAD_TAG,175,5603 - SCTP_IERROR_BIG_GAP,176,5625 - SCTP_IERROR_DUP_TSN,177,5647 - SCTP_IERROR_HIGH_TSN,178,5669 - SCTP_IERROR_IGNORE_TSN,179,5692 - SCTP_IERROR_NO_DATA,180,5717 - SCTP_IERROR_BAD_STREAM,181,5739 -} sctp_ierror_t;sctp_ierror_t183,5765 - SCTP_STATE_EMPTY 190,5853 - SCTP_STATE_CLOSED 191,5877 - SCTP_STATE_COOKIE_WAIT 192,5902 - SCTP_STATE_COOKIE_ECHOED 193,5932 - SCTP_STATE_ESTABLISHED 194,5963 - SCTP_STATE_SHUTDOWN_PENDING 195,5993 - SCTP_STATE_SHUTDOWN_SENT 196,6027 - SCTP_STATE_SHUTDOWN_RECEIVED 197,6058 - SCTP_STATE_SHUTDOWN_ACK_SENT 198,6093 -} sctp_state_t;sctp_state_t200,6129 -#define SCTP_STATE_MAX 202,6146 -#define SCTP_STATE_NUM_STATES 203,6200 - SCTP_SS_CLOSED 222,7238 - SCTP_SS_CLOSED = TCP_CLOSE,222,7238 - SCTP_SS_LISTENING 223,7275 - SCTP_SS_LISTENING = TCP_LISTEN,223,7275 - SCTP_SS_ESTABLISHING 224,7313 - SCTP_SS_ESTABLISHING = TCP_SYN_SENT,224,7313 - SCTP_SS_ESTABLISHED 225,7353 - SCTP_SS_ESTABLISHED = TCP_ESTABLISHED,225,7353 - SCTP_SS_DISCONNECTING 226,7396 - SCTP_SS_DISCONNECTING = TCP_CLOSING,226,7396 -} sctp_sock_state_t;sctp_sock_state_t227,7435 -enum { SCTP_MAX_CHUNK_LEN 239,7972 -enum { SCTP_MAX_CHUNK_LEN = ((1<<16) - sizeof(239,7972 -enum { SCTP_MAX_CHUNK_LEN = ((1<<16) - sizeof(__u32)239,7972 -enum { SCTP_ARBITRARY_COOKIE_ECHO_LEN 244,8149 -#define SCTP_TSN_MAP_SIZE 256,8659 -#define SCTP_TSN_MAX_GAP 257,8690 -enum { SCTP_MIN_PMTU 264,8953 -enum { SCTP_MAX_DUP_TSNS 265,8983 -enum { SCTP_MAX_GABS 266,9016 - SCTP_COUNTER_INIT_ERROR,269,9061 -} sctp_counter_t;sctp_counter_t270,9087 -#define SCTP_NUMBER_COUNTERS 273,9156 -#define SCTP_DEFAULT_TIMEOUT_T1_COOKIE 278,9266 -#define SCTP_DEFAULT_TIMEOUT_T1_INIT 281,9349 -#define SCTP_DEFAULT_TIMEOUT_T2_SHUTDOWN 284,9430 -#define SCTP_DEFAULT_TIMEOUT_HEARTBEAT 287,9514 -#define SCTP_DEFAULT_TIMEOUT_SACK 290,9603 -#define SCTP_DEFAULT_TIMEOUT_SACK_MAX 291,9657 -#define SCTP_RTO_INITIAL 299,9923 -#define SCTP_RTO_MIN 300,9957 -#define SCTP_RTO_MAX 301,9988 -#define SCTP_RTO_ALPHA 303,10021 -#define SCTP_RTO_BETA 304,10099 -#define SCTP_MAX_BURST 307,10249 -#define SCTP_CLOCK_GRANULARITY 309,10276 -#define SCTP_DEF_MAX_INIT 311,10324 -#define SCTP_DEF_MAX_SEND 312,10352 -#define SCTP_DEFAULT_COOKIE_LIFE_SEC 314,10382 -#define SCTP_DEFAULT_COOKIE_LIFE_USEC 315,10436 -#define SCTP_DEFAULT_MINWINDOW 317,10497 -#define SCTP_DEFAULT_MAXWINDOW 318,10565 -#define SCTP_DEFAULT_MAXSEGMENT 319,10626 -#define SCTP_DEFAULT_MINSEGMENT 322,10780 -#define SCTP_HOW_MANY_SECRETS 323,10850 -#define SCTP_HOW_LONG_COOKIE_LIVE 324,10913 -#define SCTP_SECRET_SIZE 327,11019 -#define SCTP_SIGNATURE_SIZE 329,11087 -#define SCTP_COOKIE_MULTIPLE 331,11159 -#define SCTP_COOKIE_HMAC_ALG 336,11309 -#define SCTP_COOKIE_HMAC_ALG 338,11382 -#define SCTP_COOKIE_HMAC_ALG 340,11424 - SCTP_XMIT_OK,347,11616 - SCTP_XMIT_PMTU_FULL,348,11631 - SCTP_XMIT_RWND_FULL,349,11653 - SCTP_XMIT_NAGLE_DELAY,350,11675 -} sctp_xmit_t;sctp_xmit_t351,11699 - SCTP_TRANSPORT_UP,355,11789 - SCTP_TRANSPORT_DOWN,356,11809 -} sctp_transport_cmd_t;sctp_transport_cmd_t357,11831 - SCTP_SCOPE_GLOBAL,367,12226 - SCTP_SCOPE_PRIVATE,368,12275 - SCTP_SCOPE_LINK,369,12326 - SCTP_SCOPE_LOOPBACK,370,12375 - SCTP_SCOPE_UNUSABLE,371,12426 -} sctp_scope_t;sctp_scope_t372,12479 -#define IS_IPV4_UNUSABLE_ADDRESS(IS_IPV4_UNUSABLE_ADDRESS380,12740 -#define IS_IPV4_LINK_ADDRESS(IS_IPV4_LINK_ADDRESS392,13163 -#define IS_IPV4_PRIVATE_ADDRESS(IS_IPV4_PRIVATE_ADDRESS403,13547 -#define SCTP_ADDR6_ALLOWED 412,13883 -#define SCTP_ADDR4_PEERSUPP 414,13981 -#define SCTP_ADDR6_PEERSUPP 416,14069 - SCTP_RTXR_T3_RTX,421,14202 - SCTP_RTXR_FAST_RTX,422,14221 - SCTP_RTXR_PMTUD,423,14242 -} sctp_retransmit_reason_t;sctp_retransmit_reason_t424,14260 - SCTP_LOWER_CWND_T3_RTX,428,14333 - SCTP_LOWER_CWND_FAST_RTX,429,14358 - SCTP_LOWER_CWND_ECNE,430,14385 - SCTP_LOWER_CWND_INACTIVE,431,14408 -} sctp_lower_cwnd_t;sctp_lower_cwnd_t432,14435 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/tsnmap.h,576 -#define __sctp_tsnmap_h__48,1841 -struct sctp_tsnmap sctp_tsnmap58,2299 -struct sctp_tsnmap_iter sctp_tsnmap_iter119,4040 -#define sctp_tsnmap_storage_size(sctp_tsnmap_storage_size132,4406 -static inline __u32 sctp_tsnmap_get_ctsn(153,5114 -static inline __u32 sctp_tsnmap_get_max_tsn_seen(159,5274 -static inline __u16 sctp_tsnmap_num_dups(165,5428 -static inline __u32 *sctp_tsnmap_get_dups(171,5589 -static inline struct sctp_gap_ack_block *sctp_tsnmap_get_gabs(184,5965 -static inline int sctp_tsnmap_has_gap(190,6114 -static inline void sctp_tsnmap_mark_dup(201,6373 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/sctp.h,4331 -#define __net_sctp_h__50,1921 -#define SCTP_DEBUG 99,3034 -#define SCTP_DEBUG 101,3061 -#define SCTP_PROTOSW_FLAG 106,3170 -#define SCTP_PROTOSW_FLAG 108,3218 -#define SCTP_STATIC 116,3395 -#define sctp_spin_lock_irqsave(sctp_spin_lock_irqsave195,5893 -#define sctp_spin_unlock_irqrestore(sctp_spin_unlock_irqrestore196,5968 -#define sctp_local_bh_disable(sctp_local_bh_disable198,6063 -#define sctp_local_bh_enable(sctp_local_bh_enable199,6114 -#define sctp_spin_lock(sctp_spin_lock200,6164 -#define sctp_spin_unlock(sctp_spin_unlock201,6212 -#define sctp_write_lock(sctp_write_lock202,6262 -#define sctp_write_unlock(sctp_write_unlock203,6311 -#define sctp_read_lock(sctp_read_lock204,6362 -#define sctp_read_unlock(sctp_read_unlock205,6410 -#define sctp_lock_sock(sctp_lock_sock208,6487 -#define sctp_release_sock(sctp_release_sock209,6534 -#define sctp_bh_lock_sock(sctp_bh_lock_sock210,6584 -#define sctp_bh_unlock_sock(sctp_bh_unlock_sock211,6634 -#define SCTP_SOCK_SLEEP_PRE(SCTP_SOCK_SLEEP_PRE212,6686 -#define SCTP_SOCK_SLEEP_POST(SCTP_SOCK_SLEEP_POST213,6738 -#define SCTP_INC_STATS(SCTP_INC_STATS217,6880 -#define SCTP_INC_STATS_BH(SCTP_INC_STATS_BH218,6954 -#define SCTP_INC_STATS_USER(SCTP_INC_STATS_USER219,7031 -#define SCTP_DEC_STATS(SCTP_DEC_STATS220,7110 -#define SCTP_DEBUG_PRINTK(SCTP_DEBUG_PRINTK228,7288 -#define SCTP_ENABLE_DEBUG 230,7388 -#define SCTP_DISABLE_DEBUG 231,7439 -#define SCTP_ASSERT(SCTP_ASSERT233,7492 -#define SCTP_DEBUG_PRINTK(SCTP_DEBUG_PRINTK242,7705 -#define SCTP_ENABLE_DEBUG243,7744 -#define SCTP_DISABLE_DEBUG244,7770 -#define SCTP_ASSERT(SCTP_ASSERT245,7797 -#define SCTP_DBG_OBJCNT_INC(SCTP_DBG_OBJCNT_INC267,8431 -#define SCTP_DBG_OBJCNT_DEC(SCTP_DBG_OBJCNT_DEC269,8504 -#define SCTP_DBG_OBJCNT(SCTP_DBG_OBJCNT271,8577 -#define SCTP_DBG_OBJCNT_ENTRY(SCTP_DBG_OBJCNT_ENTRY277,8746 -#define SCTP_DBG_OBJCNT_INC(SCTP_DBG_OBJCNT_INC285,8911 -#define SCTP_DBG_OBJCNT_DEC(SCTP_DBG_OBJCNT_DEC286,8945 -static inline void sctp_dbg_objcnt_init(288,8980 -static inline void sctp_dbg_objcnt_exit(289,9038 -static inline void sctp_sysctl_register(297,9236 -static inline void sctp_sysctl_unregister(298,9294 -static inline int sctp_sysctl_jiffies_ms(299,9354 -#define SCTP_SAT_LEN(SCTP_SAT_LEN307,9636 -static inline int sctp_v6_init(318,9976 -static inline void sctp_v6_exit(319,10027 -#define sctp_crypto_alloc_tfm 325,10201 -#define sctp_crypto_free_tfm 326,10248 -#define sctp_crypto_hmac 327,10293 -#define sctp_crypto_alloc_tfm(sctp_crypto_alloc_tfm329,10336 -#define sctp_crypto_free_tfm(sctp_crypto_free_tfm330,10377 -#define sctp_crypto_hmac(sctp_crypto_hmac331,10412 -static inline sctp_assoc_t sctp_assoc2id(336,10493 -#define sctp_skb_for_each(sctp_skb_for_each346,10769 -static inline void sctp_skb_list_tail(353,10987 -static inline struct list_head *sctp_list_dequeue(378,11585 -static inline int sctp_list_single_entry(392,11902 -static inline size_t get_user_iov_size(398,12105 -static inline __s32 sctp_jitter(411,12361 -static inline int sctp_frag_point(432,12766 -#define sctp_walk_params(sctp_walk_params452,13304 -#define _sctp_walk_params(_sctp_walk_params455,13439 -#define sctp_walk_errors(sctp_walk_errors461,13705 -#define _sctp_walk_errors(_sctp_walk_errors464,13814 -#define sctp_walk_fwdtsn(sctp_walk_fwdtsn473,14188 -#define _sctp_walk_fwdtsn(_sctp_walk_fwdtsn476,14331 -#define WORD_ROUND(WORD_ROUND482,14579 -#define t_new(t_new485,14651 -#define tv_lt(tv_lt488,14745 -#define TIMEVAL_ADD(TIMEVAL_ADD492,14866 -static inline int ipver2af(518,15546 -static inline int param_type2af(531,15765 -static inline int sctp_sanity_check(544,15998 -static inline int sctp_phashfn(555,16337 -static inline int sctp_ep_hashfn(561,16491 -static inline int sctp_assoc_hashfn(567,16648 -static inline int sctp_vtag_hashfn(578,16959 -struct sctp_sock sctp_sock586,17189 -struct sctp6_sock sctp6_sock596,17446 -#define sctp_sk(sctp_sk605,17618 -#define sctp_opt2sk(sctp_opt2sk606,17676 -#define sctp_style(sctp_style609,17784 -int static inline __sctp_style(610,17856 -#define sctp_state(sctp_state616,18017 -int static inline __sctp_state(617,18092 -#define sctp_sstate(sctp_sstate624,18260 -int static inline __sctp_sstate(625,18330 -static inline void sctp_v6_map_v4(631,18496 -static inline void sctp_v4_map_v6(639,18737 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/command.h,2188 -#define __net_sctp_command_h__40,1483 - SCTP_CMD_NOP 47,1594 - SCTP_CMD_NEW_ASOC,48,1631 - SCTP_CMD_DELETE_TCB,49,1686 - SCTP_CMD_NEW_STATE,50,1746 - SCTP_CMD_REPORT_TSN,51,1793 - SCTP_CMD_GEN_SACK,52,1851 - SCTP_CMD_PROCESS_SACK,53,1908 - SCTP_CMD_GEN_INIT_ACK,54,1964 - SCTP_CMD_PEER_INIT,55,2023 - SCTP_CMD_GEN_COOKIE_ECHO,56,2081 - SCTP_CMD_CHUNK_ULP,57,2144 - SCTP_CMD_EVENT_ULP,58,2207 - SCTP_CMD_REPLY,59,2276 - SCTP_CMD_SEND_PKT,60,2327 - SCTP_CMD_RETRAN,61,2386 - SCTP_CMD_ECN_CE,62,2448 - SCTP_CMD_ECN_ECNE,63,2507 - SCTP_CMD_ECN_CWR,64,2561 - SCTP_CMD_TIMER_START,65,2614 - SCTP_CMD_TIMER_RESTART,66,2659 - SCTP_CMD_TIMER_STOP,67,2707 - SCTP_CMD_COUNTER_RESET,68,2749 - SCTP_CMD_COUNTER_INC,69,2797 - SCTP_CMD_INIT_RESTART,70,2849 - SCTP_CMD_INIT_FAILED,71,2912 - SCTP_CMD_REPORT_DUP,72,2977 - SCTP_CMD_STRIKE,73,3030 - SCTP_CMD_TRANSMIT,74,3090 - SCTP_CMD_HB_TIMERS_START,75,3144 - SCTP_CMD_HB_TIMER_UPDATE,76,3208 - SCTP_CMD_HB_TIMERS_STOP,77,3272 - SCTP_CMD_TRANSPORT_RESET,78,3336 - SCTP_CMD_TRANSPORT_ON,79,3405 - SCTP_CMD_REPORT_ERROR,80,3471 - SCTP_CMD_REPORT_BAD_TAG,81,3539 - SCTP_CMD_PROCESS_CTSN,82,3603 - SCTP_CMD_ASSOC_FAILED,83,3661 - SCTP_CMD_DISCARD_PACKET,84,3720 - SCTP_CMD_GEN_SHUTDOWN,85,3778 - SCTP_CMD_UPDATE_ASSOC,86,3837 - SCTP_CMD_PURGE_OUTQUEUE,87,3901 - SCTP_CMD_SETUP_T2,88,3968 - SCTP_CMD_RTO_PENDING,89,4036 - SCTP_CMD_PART_DELIVER,90,4095 - SCTP_CMD_RENEGE,91,4164 - SCTP_CMD_SETUP_T4,92,4227 - SCTP_CMD_PROCESS_OPERR,93,4287 - SCTP_CMD_REPORT_FWDTSN,94,4343 - SCTP_CMD_PROCESS_FWDTSN,95,4406 - SCTP_CMD_CLEAR_INIT_TAG,96,4479 - SCTP_CMD_DEL_NON_PRIMARY,97,4546 - SCTP_CMD_T3_RTX_TIMERS_STOP,98,4616 - SCTP_CMD_FORCE_PRIM_RETRAN,99,4680 - SCTP_CMD_LAST100,4751 -} sctp_verb_t;sctp_verb_t101,4766 -#define SCTP_CMD_MAX 103,4782 -#define SCTP_CMD_NUM_VERBS 104,4824 -#define SCTP_MAX_NUM_COMMANDS 111,5130 -} sctp_arg_t;sctp_arg_t131,5556 -static inline sctp_arg_t SCTP_NULL(144,6066 -static inline sctp_arg_t SCTP_NOFORCE(148,6165 -static inline sctp_arg_t SCTP_FORCE(152,6264 -#define SCTP_ARG_CONSTRUCTOR(SCTP_ARG_CONSTRUCTOR157,6362 -SCTP_ARG_CONSTRUCTOR(162,6521 -} sctp_cmd_t;sctp_cmd_t183,7437 -} sctp_cmd_seq_t;sctp_cmd_seq_t189,7548 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/ulpqueue.h,72 -#define __sctp_ulpqueue_h__48,1887 -struct sctp_ulpq sctp_ulpq51,1985 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/sm.h,4449 -#define __sctp_sm_h__58,2082 - SCTP_DISPOSITION_DISCARD,64,2171 - SCTP_DISPOSITION_CONSUME,65,2229 - SCTP_DISPOSITION_NOMEM,66,2296 - SCTP_DISPOSITION_DELETE_TCB,67,2361 - SCTP_DISPOSITION_ABORT,68,2422 - SCTP_DISPOSITION_VIOLATION,69,2483 - SCTP_DISPOSITION_NOT_IMPL,70,2545 - SCTP_DISPOSITION_ERROR,71,2612 - SCTP_DISPOSITION_BUG,72,2676 -} sctp_disposition_t;sctp_disposition_t73,2723 -} sctp_sm_command_t;sctp_sm_command_t78,2787 -typedef sctp_disposition_t sctp_disposition_t80,2809 -typedef void (sctp_timer_event_t)sctp_timer_event_t85,3019 -} sctp_sm_table_entry_t;sctp_sm_table_entry_t89,3128 -sctp_state_fn_t sctp_sf_not_impl;96,3301 -sctp_state_fn_t sctp_sf_bug;97,3335 -sctp_state_fn_t sctp_sf_timer_ignore;100,3415 -sctp_state_fn_t sctp_sf_do_9_1_abort;103,3498 -sctp_state_fn_t sctp_sf_cookie_wait_abort;104,3536 -sctp_state_fn_t sctp_sf_cookie_echoed_abort;105,3579 -sctp_state_fn_t sctp_sf_shutdown_pending_abort;106,3624 -sctp_state_fn_t sctp_sf_shutdown_sent_abort;107,3672 -sctp_state_fn_t sctp_sf_shutdown_ack_sent_abort;108,3717 -sctp_state_fn_t sctp_sf_do_5_1B_init;109,3766 -sctp_state_fn_t sctp_sf_do_5_1C_ack;110,3804 -sctp_state_fn_t sctp_sf_do_5_1D_ce;111,3841 -sctp_state_fn_t sctp_sf_do_5_1E_ca;112,3877 -sctp_state_fn_t sctp_sf_do_4_C;113,3913 -sctp_state_fn_t sctp_sf_eat_data_6_2;114,3945 -sctp_state_fn_t sctp_sf_eat_data_fast_4_4;115,3983 -sctp_state_fn_t sctp_sf_eat_sack_6_2;116,4026 -sctp_state_fn_t sctp_sf_tabort_8_4_8;117,4064 -sctp_state_fn_t sctp_sf_operr_notify;118,4102 -sctp_state_fn_t sctp_sf_t1_timer_expire;119,4140 -sctp_state_fn_t sctp_sf_t2_timer_expire;120,4181 -sctp_state_fn_t sctp_sf_t4_timer_expire;121,4222 -sctp_state_fn_t sctp_sf_t5_timer_expire;122,4263 -sctp_state_fn_t sctp_sf_sendbeat_8_3;123,4304 -sctp_state_fn_t sctp_sf_beat_8_3;124,4342 -sctp_state_fn_t sctp_sf_backbeat_8_3;125,4376 -sctp_state_fn_t sctp_sf_do_9_2_final;126,4414 -sctp_state_fn_t sctp_sf_do_9_2_shutdown;127,4452 -sctp_state_fn_t sctp_sf_do_ecn_cwr;128,4493 -sctp_state_fn_t sctp_sf_do_ecne;129,4529 -sctp_state_fn_t sctp_sf_ootb;130,4562 -sctp_state_fn_t sctp_sf_shut_8_4_5;131,4592 -sctp_state_fn_t sctp_sf_pdiscard;132,4628 -sctp_state_fn_t sctp_sf_violation;133,4662 -sctp_state_fn_t sctp_sf_discard_chunk;134,4697 -sctp_state_fn_t sctp_sf_do_5_2_1_siminit;135,4736 -sctp_state_fn_t sctp_sf_do_5_2_2_dupinit;136,4778 -sctp_state_fn_t sctp_sf_do_5_2_4_dupcook;137,4820 -sctp_state_fn_t sctp_sf_unk_chunk;138,4862 -sctp_state_fn_t sctp_sf_do_8_5_1_E_sa;139,4897 -sctp_state_fn_t sctp_sf_cookie_echoed_err;140,4936 -sctp_state_fn_t sctp_sf_do_5_2_6_stale;141,4979 -sctp_state_fn_t sctp_sf_do_asconf;142,5019 -sctp_state_fn_t sctp_sf_do_asconf_ack;143,5054 -sctp_state_fn_t sctp_sf_do_9_2_reshutack;144,5093 -sctp_state_fn_t sctp_sf_eat_fwd_tsn;145,5135 -sctp_state_fn_t sctp_sf_eat_fwd_tsn_fast;146,5172 -sctp_state_fn_t sctp_sf_do_prm_asoc;149,5270 -sctp_state_fn_t sctp_sf_do_prm_send;150,5307 -sctp_state_fn_t sctp_sf_do_9_2_prm_shutdown;151,5344 -sctp_state_fn_t sctp_sf_cookie_wait_prm_shutdown;152,5389 -sctp_state_fn_t sctp_sf_cookie_echoed_prm_shutdown;153,5439 -sctp_state_fn_t sctp_sf_do_9_1_prm_abort;154,5491 -sctp_state_fn_t sctp_sf_cookie_wait_prm_abort;155,5533 -sctp_state_fn_t sctp_sf_cookie_echoed_prm_abort;156,5580 -sctp_state_fn_t sctp_sf_shutdown_pending_prm_abort;157,5629 -sctp_state_fn_t sctp_sf_shutdown_sent_prm_abort;158,5681 -sctp_state_fn_t sctp_sf_shutdown_ack_sent_prm_abort;159,5730 -sctp_state_fn_t sctp_sf_error_closed;160,5783 -sctp_state_fn_t sctp_sf_error_shutdown;161,5821 -sctp_state_fn_t sctp_sf_ignore_primitive;162,5861 -sctp_state_fn_t sctp_sf_do_prm_requestheartbeat;163,5903 -sctp_state_fn_t sctp_sf_do_prm_asconf;164,5952 -sctp_state_fn_t sctp_sf_do_9_2_start_shutdown;167,6043 -sctp_state_fn_t sctp_sf_do_9_2_shutdown_ack;168,6090 -sctp_state_fn_t sctp_sf_ignore_other;169,6135 -sctp_state_fn_t sctp_sf_do_6_3_3_rtx;172,6227 -sctp_state_fn_t sctp_sf_do_6_2_sack;173,6265 -sctp_state_fn_t sctp_sf_autoclose_timer_expire;174,6302 -static inline __u16 sctp_data_size(347,13649 - TSN_SIGN_BIT 387,14623 -static inline int TSN_lt(390,14651 -static inline int TSN_lte(395,14737 - SSN_SIGN_BIT 411,15092 -static inline int SSN_lt(414,15120 -static inline int SSN_lte(419,15206 - ADDIP_SERIAL_SIGN_BIT 430,15473 -static inline int ADDIP_SERIAL_gte(433,15510 -static inline void sctp_add_cmd_sf(440,15702 -sctp_vtag_verify(448,15931 -sctp_vtag_verify_either(467,16591 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/ulpevent.h,302 -#define __sctp_ulpevent_h__50,1938 -struct sctp_ulpevent sctp_ulpevent56,2168 -static inline struct sk_buff *sctp_event2skb(69,2384 -static inline struct sctp_ulpevent *sctp_skb2event(75,2570 -static inline int sctp_ulpevent_type_enabled(133,4219 -static inline int sctp_ulpevent_is_enabled(141,4461 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/sctp/user.h,4504 -#define __net_sctp_user_h__53,2142 -typedef void * sctp_assoc_t;sctp_assoc_t58,2223 -enum sctp_optname sctp_optname63,2369 - SCTP_RTOINFO,64,2389 -#define SCTP_RTOINFO 65,2404 - SCTP_ASSOCINFO,66,2438 -#define SCTP_ASSOCINFO 67,2455 - SCTP_INITMSG,68,2493 -#define SCTP_INITMSG 69,2508 - SCTP_NODELAY,70,2542 -#define SCTP_NODELAY 71,2588 - SCTP_AUTOCLOSE,72,2622 -#define SCTP_AUTOCLOSE 73,2639 - SCTP_SET_PEER_PRIMARY_ADDR,74,2677 -#define SCTP_SET_PEER_PRIMARY_ADDR 75,2707 - SCTP_PRIMARY_ADDR,76,2769 -#define SCTP_PRIMARY_ADDR 77,2789 - SCTP_ADAPTION_LAYER,78,2833 -#define SCTP_ADAPTION_LAYER 79,2861 - SCTP_DISABLE_FRAGMENTS,80,2909 -#define SCTP_DISABLE_FRAGMENTS 81,2934 - SCTP_PEER_ADDR_PARAMS,82,2988 -#define SCTP_PEER_ADDR_PARAMS 83,3012 - SCTP_DEFAULT_SEND_PARAM,84,3064 -#define SCTP_DEFAULT_SEND_PARAM 85,3090 - SCTP_EVENTS,86,3146 -#define SCTP_EVENTS 87,3160 - SCTP_I_WANT_MAPPED_V4_ADDR,88,3192 -#define SCTP_I_WANT_MAPPED_V4_ADDR 89,3261 - SCTP_MAXSEG,90,3323 -#define SCTP_MAXSEG 91,3370 - SCTP_STATUS,92,3403 -#define SCTP_STATUS 93,3417 - SCTP_GET_PEER_ADDR_INFO,94,3449 -#define SCTP_GET_PEER_ADDR_INFO 95,3475 - SCTP_SOCKOPT_BINDX_ADD 100,3650 -#define SCTP_SOCKOPT_BINDX_ADD 101,3723 - SCTP_SOCKOPT_BINDX_REM,102,3777 -#define SCTP_SOCKOPT_BINDX_REM 103,3847 - SCTP_SOCKOPT_PEELOFF,104,3901 -#define SCTP_SOCKOPT_PEELOFF 105,3953 - SCTP_GET_PEER_ADDRS_NUM,106,4003 -#define SCTP_GET_PEER_ADDRS_NUM 107,4065 - SCTP_GET_PEER_ADDRS,108,4121 -#define SCTP_GET_PEER_ADDRS 109,4173 - SCTP_GET_LOCAL_ADDRS_NUM,110,4221 -#define SCTP_GET_LOCAL_ADDRS_NUM 111,4285 - SCTP_GET_LOCAL_ADDRS,112,4343 -#define SCTP_GET_LOCAL_ADDRS 113,4397 -struct sctp_initmsg sctp_initmsg129,4896 -struct sctp_sndrcvinfo sctp_sndrcvinfo148,5423 -enum sctp_sinfo_flags sctp_sinfo_flags167,5810 - MSG_UNORDERED 168,5834 - MSG_ADDR_OVER 169,5893 - MSG_ABORT=170,5954 -} sctp_cmsg_data_t;sctp_cmsg_data_t179,6159 -typedef enum sctp_cmsg_type sctp_cmsg_type182,6209 - SCTP_INIT,183,6239 - SCTP_SNDRCV,184,6302 -} sctp_cmsg_t;sctp_cmsg_t185,6373 -struct sctp_assoc_change sctp_assoc_change197,6672 -enum sctp_sac_state sctp_sac_state217,7188 - SCTP_COMM_UP,218,7210 - SCTP_COMM_LOST,219,7225 - SCTP_RESTART,220,7242 - SCTP_SHUTDOWN_COMP,221,7257 - SCTP_CANT_STR_ASSOC,222,7278 -struct sctp_paddr_change sctp_paddr_change232,7513 -enum sctp_spc_state sctp_spc_state248,7872 - SCTP_ADDR_AVAILABLE,249,7894 - SCTP_ADDR_UNREACHABLE,250,7916 - SCTP_ADDR_REMOVED,251,7940 - SCTP_ADDR_ADDED,252,7960 - SCTP_ADDR_MADE_PRIM,253,7978 -struct sctp_remote_error sctp_remote_error267,8437 -struct sctp_send_failed sctp_send_failed283,8714 -enum sctp_ssf_flags sctp_ssf_flags305,9331 - SCTP_DATA_UNSENT,306,9353 - SCTP_DATA_SENT,307,9372 -struct sctp_shutdown_event sctp_shutdown_event316,9567 -struct sctp_adaption_event sctp_adaption_event330,9903 -struct sctp_pdapi_event sctp_pdapi_event345,10229 -enum { SCTP_PARTIAL_DELIVERY_ABORTED=353,10374 -struct sctp_event_subscribe sctp_event_subscribe359,10507 -union sctp_notification sctp_notification377,10916 -enum sctp_sn_type sctp_sn_type397,11495 - SCTP_SN_TYPE_BASE 398,11515 - SCTP_ASSOC_CHANGE,399,11549 - SCTP_PEER_ADDR_CHANGE,400,11569 - SCTP_SEND_FAILED,401,11593 - SCTP_REMOTE_ERROR,402,11612 - SCTP_SHUTDOWN_EVENT,403,11632 - SCTP_PARTIAL_DELIVERY_EVENT,404,11654 - SCTP_ADAPTION_INDICATION,405,11684 -typedef enum sctp_sn_error sctp_sn_error415,11984 - SCTP_FAILED_THRESHOLD,416,12013 - SCTP_RECEIVED_SACK,417,12037 - SCTP_HEARTBEAT_SUCCESS,418,12058 - SCTP_RESPONSE_TO_USER_REQ,419,12083 - SCTP_INTERNAL_ERROR,420,12111 - SCTP_SHUTDOWN_GUARD_EXPIRES,421,12133 - SCTP_PEER_FAULTY,422,12163 -} sctp_sn_error_t;sctp_sn_error_t423,12182 -struct sctp_rtoinfo sctp_rtoinfo432,12467 -struct sctp_assocparams sctp_assocparams445,12738 -struct sctp_setpeerprim sctp_setpeerprim462,13251 -struct sctp_prim sctp_prim475,13664 -struct sctp_setadaption sctp_setadaption486,13969 -struct sctp_paddrparams sctp_paddrparams500,14478 -struct sctp_paddrinfo sctp_paddrinfo516,14959 -enum sctp_spinfo_state sctp_spinfo_state527,15199 - SCTP_INACTIVE,528,15224 - SCTP_ACTIVE,529,15240 -struct sctp_status sctp_status541,15633 -struct sctp_getaddrs sctp_getaddrs559,16149 -enum sctp_msg_flags sctp_msg_flags567,16400 - MSG_NOTIFICATION 568,16422 - MSG_NOTIFICATION = 0x8000,568,16422 -#define MSG_NOTIFICATION 569,16450 -#define SCTP_BINDX_ADD_ADDR 578,16640 -#define SCTP_BINDX_REM_ADDR 579,16673 -} sctp_peeloff_arg_t;sctp_peeloff_arg_t587,16863 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_pdu.h,4627 -#define LLC_PDU_H2,18 -#define LLC_PDU_LEN_I 19,586 -#define LLC_PDU_LEN_S 20,649 -#define LLC_PDU_LEN_U 21,673 -#define LLC_GLOBAL_SAP 23,761 -#define LLC_NULL_SAP 24,789 -#define LLC_MGMT_INDIV 25,847 -#define LLC_MGMT_GRP 26,909 -#define LLC_RDE_SAP 27,969 -#define LLC_ISO_RESERVED_SAP 30,1037 -#define LLC_SAP_GROUP_DSAP 31,1071 -#define LLC_SAP_RESP_SSAP 32,1103 -#define LLC_PDU_GROUP_DSAP_MASK 35,1187 -#define LLC_PDU_IS_GROUP_DSAP(LLC_PDU_IS_GROUP_DSAP36,1227 -#define LLC_PDU_IS_INDIV_DSAP(LLC_PDU_IS_INDIV_DSAP38,1318 -#define LLC_PDU_CMD_RSP_MASK 42,1462 -#define LLC_PDU_CMD 43,1496 -#define LLC_PDU_RSP 44,1519 -#define LLC_PDU_IS_CMD(LLC_PDU_IS_CMD45,1542 -#define LLC_PDU_IS_RSP(LLC_PDU_IS_RSP46,1609 -#define LLC_PDU_TYPE_I_MASK 49,1749 -#define LLC_PDU_TYPE_S_MASK 50,1812 -#define LLC_PDU_TYPE_U_MASK 51,1848 -#define LLC_PDU_TYPE_MASK 52,1910 -#define LLC_PDU_TYPE_I 54,1947 -#define LLC_PDU_TYPE_S 55,1988 -#define LLC_PDU_TYPE_U 56,2034 -#define LLC_PDU_TYPE_IS_I(LLC_PDU_TYPE_IS_I58,2081 -#define LLC_PDU_TYPE_IS_U(LLC_PDU_TYPE_IS_U61,2165 -#define LLC_PDU_TYPE_IS_S(LLC_PDU_TYPE_IS_S64,2266 -#define LLC_U_PF_BIT_MASK 68,2406 -#define LLC_U_PF_IS_1(LLC_U_PF_IS_169,2461 -#define LLC_U_PF_IS_0(LLC_U_PF_IS_070,2536 -#define LLC_U_PDU_CMD_MASK 72,2615 -#define LLC_U_PDU_CMD(LLC_U_PDU_CMD73,2670 -#define LLC_U_PDU_RSP(LLC_U_PDU_RSP74,2736 -#define LLC_1_PDU_CMD_UI 76,2803 -#define LLC_1_PDU_CMD_XID 77,2862 -#define LLC_1_PDU_CMD_TEST 78,2898 -#define LLC_2_PDU_CMD_SABME 80,2935 -#define LLC_2_PDU_CMD_DISC 81,2994 -#define LLC_2_PDU_RSP_UA 82,3030 -#define LLC_2_PDU_RSP_DM 83,3066 -#define LLC_2_PDU_RSP_FRMR 84,3102 -#define LLC_XID_FMT_ID 91,3240 -#define LLC_XID_CLASS_ZEROS_MASK 94,3344 -#define LLC_XID_CLASS_MASK 95,3408 -#define LLC_XID_NULL_CLASS_1 97,3475 -#define LLC_XID_NULL_CLASS_2 98,3540 -#define LLC_XID_NULL_CLASS_3 99,3574 -#define LLC_XID_NULL_CLASS_4 100,3608 -#define LLC_XID_NNULL_TYPE_1 102,3643 -#define LLC_XID_NNULL_TYPE_2 103,3712 -#define LLC_XID_NNULL_TYPE_3 104,3746 -#define LLC_XID_NNULL_TYPE_1_2 105,3780 -#define LLC_XID_NNULL_TYPE_1_3 106,3816 -#define LLC_XID_NNULL_TYPE_2_3 107,3852 -#define LLC_XID_NNULL_ALL 108,3888 -#define LLC_XID_RW_MASK 111,3958 -#define LLC_XID_MIN_RW 113,4022 -#define LLC_2_SEQ_NBR_MODULO 117,4111 -#define LLC_I_GET_NS(LLC_I_GET_NS120,4203 -#define LLC_I_GET_NR(LLC_I_GET_NR121,4265 -#define LLC_I_PF_BIT_MASK 123,4328 -#define LLC_I_PF_IS_0(LLC_I_PF_IS_0125,4365 -#define LLC_I_PF_IS_1(LLC_I_PF_IS_1126,4443 -#define LLC_S_PDU_CMD_MASK 130,4567 -#define LLC_S_PDU_CMD(LLC_S_PDU_CMD131,4603 -#define LLC_S_PDU_RSP(LLC_S_PDU_RSP132,4669 -#define LLC_2_PDU_CMD_RR 134,4736 -#define LLC_2_PDU_RSP_RR 135,4791 -#define LLC_2_PDU_CMD_REJ 136,4846 -#define LLC_2_PDU_RSP_REJ 137,4903 -#define LLC_2_PDU_CMD_RNR 138,4960 -#define LLC_2_PDU_RSP_RNR 139,5019 -#define LLC_S_PF_BIT_MASK 141,5079 -#define LLC_S_PF_IS_0(LLC_S_PF_IS_0142,5115 -#define LLC_S_PF_IS_1(LLC_S_PF_IS_1143,5193 -#define PDU_SUPV_GET_Nr(PDU_SUPV_GET_Nr145,5269 -#define PDU_GET_NEXT_Vr(PDU_GET_NEXT_Vr146,5328 -#define FRMR_INFO_LENGTH 150,5428 -#define FRMR_INFO_SET_REJ_CNTRL(FRMR_INFO_SET_REJ_CNTRL156,5634 -#define FRMR_INFO_SET_Vs(FRMR_INFO_SET_Vs167,6030 -#define FRMR_INFO_SET_Vr(FRMR_INFO_SET_Vr168,6100 -#define FRMR_INFO_SET_C_R_BIT(FRMR_INFO_SET_C_R_BIT174,6295 -#define FRMR_INFO_SET_INVALID_PDU_CTRL_IND(FRMR_INFO_SET_INVALID_PDU_CTRL_IND181,6543 -#define FRMR_INFO_SET_INVALID_PDU_INFO_IND(FRMR_INFO_SET_INVALID_PDU_INFO_IND184,6674 -#define FRMR_INFO_SET_PDU_INFO_2LONG_IND(FRMR_INFO_SET_PDU_INFO_2LONG_IND187,6806 -#define FRMR_INFO_SET_PDU_INVALID_Nr_IND(FRMR_INFO_SET_PDU_INVALID_Nr_IND190,6936 -#define FRMR_INFO_SET_PDU_INVALID_Ns_IND(FRMR_INFO_SET_PDU_INVALID_Ns_IND193,7066 -struct llc_pdu_sn llc_pdu_sn197,7251 -static inline struct llc_pdu_sn *llc_pdu_sn_hdr(204,7319 -struct llc_pdu_un llc_pdu_un210,7484 -static inline struct llc_pdu_un *llc_pdu_un_hdr(216,7540 -static inline void *llc_set_pdu_hdr(221,7656 -static inline void llc_pdu_header_init(236,8063 -static inline void llc_pdu_decode_sa(253,8604 -static inline void llc_pdu_decode_da(268,9122 -static inline void llc_pdu_decode_ssap(284,9647 -static inline void llc_pdu_decode_dsap(297,10058 -static inline void llc_pdu_init_as_ui_cmd(308,10353 -static inline void llc_pdu_init_as_test_cmd(322,10654 -static inline void llc_pdu_init_as_test_rsp(338,11067 -struct llc_xid_info llc_xid_info357,11627 -static inline void llc_pdu_init_as_xid_cmd(370,11997 -static inline void llc_pdu_init_as_xid_rsp(394,12766 -struct llc_frmr_info llc_frmr_info412,13301 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dn.h,1228 -#define _NET_DN_H2,18 -typedef unsigned short dn_address;dn_address7,87 -#define dn_ntohs(dn_ntohs9,123 -#define dn_htons(dn_htons10,176 -struct dn_scp dn_scp12,230 -#define DN_O 15,346 -#define DN_CR 16,413 -#define DN_DR 17,480 -#define DN_DRC 18,547 -#define DN_CC 19,614 -#define DN_CI 20,681 -#define DN_NR 21,748 -#define DN_NC 22,815 -#define DN_CD 23,882 -#define DN_RJ 24,949 -#define DN_RUN 25,1016 -#define DN_DI 26,1083 -#define DN_DIC 27,1150 -#define DN_DN 28,1217 -#define DN_CL 29,1284 -#define DN_CN 30,1351 -#define DN_SEND 44,1917 -#define DN_DONTSEND 45,1943 -#define DN_NOCHANGE 46,1969 -#define NSP_MIN_WINDOW 95,3705 -#define NSP_MAX_WINDOW 96,3730 -#define NSP_INITIAL_SRTT 99,3816 -#define NSP_INITIAL_RTTVAR 101,3871 -#define NSP_MAXRXTSHIFT 103,3932 -#define DN_SK(DN_SK136,4635 -#define DN_SKB_CB(DN_SKB_CB156,5440 -struct dn_skb_cb dn_skb_cb157,5495 -static inline dn_address dn_eth2dn(174,5840 -static inline dn_address dn_saddr2dn(179,5944 -static inline void dn_dn2eth(184,6057 -static inline void dn_sk_ports_copy(194,6298 -#define DN_MENUVER_ACC 207,6737 -#define DN_MENUVER_USR 208,6765 -#define DN_MENUVER_PRX 209,6793 -#define DN_MENUVER_UIC 210,6821 -#define DN_ASCBUF_LEN 214,6978 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/rose.h,2061 -#define _ROSE_H 8,98 -#define ROSE_ADDR_LEN 11,140 -#define ROSE_MIN_LEN 13,167 -#define ROSE_GFI 15,193 -#define ROSE_Q_BIT 16,217 -#define ROSE_D_BIT 17,243 -#define ROSE_M_BIT 18,269 -#define ROSE_CALL_REQUEST 20,296 -#define ROSE_CALL_ACCEPTED 21,328 -#define ROSE_CLEAR_REQUEST 22,361 -#define ROSE_CLEAR_CONFIRMATION 23,394 -#define ROSE_DATA 24,432 -#define ROSE_INTERRUPT 25,457 -#define ROSE_INTERRUPT_CONFIRMATION 26,487 -#define ROSE_RR 27,528 -#define ROSE_RNR 28,552 -#define ROSE_REJ 29,576 -#define ROSE_RESET_REQUEST 30,600 -#define ROSE_RESET_CONFIRMATION 31,633 -#define ROSE_REGISTRATION_REQUEST 32,671 -#define ROSE_REGISTRATION_CONFIRMATION 33,710 -#define ROSE_RESTART_REQUEST 34,754 -#define ROSE_RESTART_CONFIRMATION 35,789 -#define ROSE_DIAGNOSTIC 36,828 -#define ROSE_ILLEGAL 37,859 - ROSE_STATE_0,42,931 - ROSE_STATE_1,43,960 - ROSE_STATE_2,44,1006 - ROSE_STATE_3,45,1057 - ROSE_STATE_4,46,1094 - ROSE_STATE_5 47,1145 -#define ROSE_DEFAULT_T0 50,1196 -#define ROSE_DEFAULT_T1 51,1261 -#define ROSE_DEFAULT_T2 52,1326 -#define ROSE_DEFAULT_T3 53,1391 -#define ROSE_DEFAULT_HB 54,1456 -#define ROSE_DEFAULT_IDLE 55,1520 -#define ROSE_DEFAULT_ROUTING 56,1594 -#define ROSE_DEFAULT_FAIL_TIMEOUT 57,1654 -#define ROSE_DEFAULT_MAXVC 58,1739 -#define ROSE_DEFAULT_WINDOW_SIZE 59,1813 -#define ROSE_MODULUS 61,1876 -#define ROSE_MAX_PACKET_SIZE 62,1902 -#define ROSE_COND_ACK_PENDING 64,1964 -#define ROSE_COND_PEER_RX_BUSY 65,2000 -#define ROSE_COND_OWN_RX_BUSY 66,2037 -#define FAC_NATIONAL 68,2074 -#define FAC_CCITT 69,2102 -#define FAC_NATIONAL_RAND 71,2128 -#define FAC_NATIONAL_FLAGS 72,2160 -#define FAC_NATIONAL_DEST_DIGI 73,2193 -#define FAC_NATIONAL_SRC_DIGI 74,2230 -#define FAC_NATIONAL_FAIL_CALL 75,2266 -#define FAC_NATIONAL_FAIL_ADD 76,2303 -#define FAC_NATIONAL_DIGIS 77,2339 -#define FAC_CCITT_DEST_NSAP 79,2374 -#define FAC_CCITT_SRC_NSAP 80,2408 -struct rose_neigh rose_neigh82,2442 -struct rose_node rose_node99,2791 -struct rose_route rose_route108,2961 -} rose_cb;rose_cb139,3898 -#define rose_sk(rose_sk141,3910 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/inetpeer.h,135 -#define _NET_INETPEER_H10,214 -struct inet_peerinet_peer18,368 -void inet_initpeers(32,746 -static inline __u16 inet_getid(56,1530 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/if_inet6.h,1071 -#define _NET_IF_INET6_H16,432 -#define IF_RA_OTHERCONF 23,530 -#define IF_RA_MANAGED 24,559 -#define IF_RA_RCVD 25,586 -#define IF_RS_SENT 26,610 -#define IF_PREFIX_ONLINK 29,654 -#define IF_PREFIX_AUTOCONF 30,684 -struct inet6_ifaddr inet6_ifaddr34,736 -struct ip6_sf_socklistip6_sf_socklist68,1406 -#define IP6_SFLSIZE(IP6_SFLSIZE75,1513 -#define IP6_SFBLOCK 78,1613 -struct ipv6_mc_socklistipv6_mc_socklist80,1670 -struct ip6_sf_listip6_sf_list89,1859 -#define MAF_TIMER_RUNNING 99,2160 -#define MAF_LAST_REPORTER 100,2191 -#define MAF_LOADED 101,2222 -#define MAF_NOREPORT 102,2247 -#define MAF_GSQUERY 103,2274 -struct ifmcaddr6ifmcaddr6105,2301 -struct ipv6_ac_socklistipv6_ac_socklist126,2748 -struct ifacaddr6ifacaddr6133,2862 -#define IFA_HOST 146,3118 -#define IFA_LINK 147,3154 -#define IFA_SITE 148,3191 -#define IFA_GLOBAL 149,3228 -struct ipv6_devstat ipv6_devstat151,3256 -struct inet6_dev inet6_dev156,3368 -static inline void ipv6_eth_mc_map(197,4293 -static inline void ipv6_tr_mc_map(211,4634 -static inline void ipv6_arcnet_mc_map(265,5929 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/syncppp.h,818 -#define _SYNCPPP_H_ 21,574 -struct slcp slcp24,615 -struct sipcp sipcp31,847 -struct sppp sppp36,971 -struct ppp_deviceppp_device54,1572 -static inline struct sppp *sppp_of(60,1692 -#define PP_KEEPALIVE 67,1847 -#define PP_CISCO 68,1908 -#define PP_TIMO 69,1980 -#define PP_DEBUG 70,2044 -#define PPP_MTU 72,2067 -#define LCP_STATE_CLOSED 74,2126 -#define LCP_STATE_ACK_RCVD 75,2206 -#define LCP_STATE_ACK_SENT 76,2281 -#define LCP_STATE_OPENED 77,2352 -#define IPCP_STATE_CLOSED 79,2417 -#define IPCP_STATE_ACK_RCVD 80,2498 -#define IPCP_STATE_ACK_SENT 81,2574 -#define IPCP_STATE_OPENED 82,2646 -#define SPPP_LINK_DOWN 84,2712 -#define SPPP_LINK_UP 85,2769 -#define SPPPIOCCISCO 99,3315 -#define SPPPIOCPPP 100,3353 -#define SPPPIOCDEBUG 101,3391 -#define SPPPIOCSFLAGS 102,3431 -#define SPPPIOCGFLAGS 103,3472 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dn_neigh.h,148 -#define _NET_DN_NEIGH_H2,24 -struct dn_neigh dn_neigh8,136 -#define DN_NDFLAG_R1 12,229 -#define DN_NDFLAG_R2 13,281 -#define DN_NDFLAG_P3 14,333 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/flow.h,647 -#define _NET_FLOW_H8,60 -struct flowi flowi13,129 -#define fld_dst 39,487 -#define fld_src 40,520 -#define fld_fwmark 41,553 -#define fld_scope 42,589 -#define fl6_dst 43,623 -#define fl6_src 44,657 -#define fl6_flowlabel 45,691 -#define fl4_dst 46,734 -#define fl4_src 47,768 -#define fl4_fwmark 48,802 -#define fl4_tos 49,839 -#define fl4_scope 50,871 -#define fl_ip_sport 75,1248 -#define fl_ip_dport 76,1286 -#define fl_icmp_type 77,1324 -#define fl_icmp_code 78,1362 -#define fl_ipsec_spi 79,1400 -#define FLOW_DIR_IN 82,1481 -#define FLOW_DIR_OUT 83,1503 -#define FLOW_DIR_FWD 84,1526 -typedef void (*flow_resolve_t)flow_resolve_t86,1550 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/tc_act/tc_gact.h,59 -#define __NET_TC_GACT_H2,24 -struct tcf_gacttcf_gact6,77 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip6_tunnel.h,216 -#define _NET_IP6_TUNNEL_H6,42 -#define IP6_TNL_F_CAP_XMIT 13,186 -#define IP6_TNL_F_CAP_RCV 15,256 -#define IP6_TNL_MAX 17,291 -struct ip6_tnl ip6_tnl21,335 -struct ipv6_tlv_tnl_enc_lim ipv6_tlv_tnl_enc_lim34,835 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/udp.h,439 -#define _UDP_H23,787 -#define UDP_HTABLE_SIZE 32,945 -static inline int udp_lport_inuse(43,1258 -#define UDP_CSUM_NOXMIT 55,1526 -#define UDP_CSUM_NORCV 58,1587 -#define UDP_CSUM_DEFAULT 61,1668 -#define UDP_INC_STATS(UDP_INC_STATS76,2089 -#define UDP_INC_STATS_BH(UDP_INC_STATS_BH77,2157 -#define UDP_INC_STATS_USER(UDP_INC_STATS_USER78,2231 -struct udp_seq_afinfo udp_seq_afinfo81,2322 -struct udp_iter_state udp_iter_state89,2497 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/pkt_cls.h,257 -#define __NET_PKT_CLS_H2,24 -struct tcf_resulttcf_result12,161 -struct tcf_prototcf_proto18,222 -struct tcf_walkertcf_walker34,515 -struct tcf_proto_opstcf_proto_ops44,662 -static inline int tc_classify(70,1498 -static inline void tcf_destroy(110,2453 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/x25.h,2465 -#define _X25_H 11,226 -#define X25_ADDR_LEN 14,266 -#define X25_MAX_L2_LEN 16,293 -#define X25_STD_MIN_LEN 18,338 -#define X25_EXT_MIN_LEN 19,366 -#define X25_GFI_SEQ_MASK 21,395 -#define X25_GFI_STDSEQ 22,426 -#define X25_GFI_EXTSEQ 23,456 -#define X25_Q_BIT 25,487 -#define X25_D_BIT 26,512 -#define X25_STD_M_BIT 27,537 -#define X25_EXT_M_BIT 28,566 -#define X25_CALL_REQUEST 30,596 -#define X25_CALL_ACCEPTED 31,627 -#define X25_CLEAR_REQUEST 32,659 -#define X25_CLEAR_CONFIRMATION 33,691 -#define X25_DATA 34,728 -#define X25_INTERRUPT 35,752 -#define X25_INTERRUPT_CONFIRMATION 36,781 -#define X25_RR 37,821 -#define X25_RNR 38,844 -#define X25_REJ 39,868 -#define X25_RESET_REQUEST 40,892 -#define X25_RESET_CONFIRMATION 41,924 -#define X25_REGISTRATION_REQUEST 42,961 -#define X25_REGISTRATION_CONFIRMATION 43,999 -#define X25_RESTART_REQUEST 44,1042 -#define X25_RESTART_CONFIRMATION 45,1076 -#define X25_DIAGNOSTIC 46,1114 -#define X25_ILLEGAL 47,1144 -#define X25_COND_ACK_PENDING 51,1224 -#define X25_COND_OWN_RX_BUSY 52,1258 -#define X25_COND_PEER_RX_BUSY 53,1292 - X25_STATE_0,57,1370 - X25_STATE_1,58,1397 - X25_STATE_2,59,1441 - X25_STATE_3,60,1490 - X25_STATE_4 61,1525 - X25_LINK_STATE_0,65,1584 - X25_LINK_STATE_1,66,1603 - X25_LINK_STATE_2,67,1622 - X25_LINK_STATE_368,1641 -#define X25_DEFAULT_T20 71,1663 -#define X25_DEFAULT_T21 72,1724 -#define X25_DEFAULT_T22 73,1785 -#define X25_DEFAULT_T23 74,1846 -#define X25_DEFAULT_T2 75,1907 -#define X25_DEFAULT_WINDOW_SIZE 77,1977 -#define X25_DEFAULT_PACKET_SIZE 78,2039 -#define X25_DEFAULT_THROUGHPUT 79,2108 -#define X25_DEFAULT_REVERSE 80,2171 -#define X25_SMODULUS 82,2238 -#define X25_EMODULUS 83,2263 -#define X25_FAC_CLASS_MASK 89,2328 -#define X25_FAC_CLASS_A 91,2361 -#define X25_FAC_CLASS_B 92,2391 -#define X25_FAC_CLASS_C 93,2421 -#define X25_FAC_CLASS_D 94,2451 -#define X25_FAC_REVERSE 96,2482 -#define X25_FAC_THROUGHPUT 97,2512 -#define X25_FAC_PACKET_SIZE 98,2544 -#define X25_FAC_WINDOW_SIZE 99,2577 -#define X25_MAX_FAC_LEN 101,2611 -#define X25_MAX_CUD_LEN 102,2662 -struct x25_route x25_route112,2911 -struct x25_neigh x25_neigh120,3059 -struct x25_opt x25_opt132,3310 -#define x25_sk(x25_sk152,3965 -static __inline__ void x25_neigh_hold(204,6524 -static __inline__ void x25_neigh_put(209,6615 -static __inline__ void x25_route_hold(227,7174 -static __inline__ void x25_route_put(232,7265 -struct x25_skb_cb x25_skb_cb261,8379 -#define X25_SKB_CB(X25_SKB_CB264,8419 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip_fib.h,1191 -#define _NET_IP_FIB_H17,599 -struct kern_rta kern_rta26,816 -struct fib_nh fib_nh44,1138 -struct fib_info fib_info65,1518 -#define fib_mtu 76,1770 -#define fib_window 77,1810 -#define fib_rtt 78,1856 -#define fib_advmss 79,1896 -#define fib_dev 85,2043 -struct fib_result fib_result93,2140 -#define FIB_RES_NH(FIB_RES_NH107,2374 -#define FIB_RES_RESET(FIB_RES_RESET108,2432 -#define FIB_RES_NH(FIB_RES_NH112,2518 -#define FIB_RES_RESET(FIB_RES_RESET113,2565 -#define FIB_RES_PREFSRC(FIB_RES_PREFSRC117,2633 -#define FIB_RES_GW(FIB_RES_GW118,2715 -#define FIB_RES_DEV(FIB_RES_DEV119,2765 -#define FIB_RES_OIF(FIB_RES_OIF120,2816 -struct fib_table fib_table122,2868 -static inline struct fib_table *fib_get_table(146,3742 -static inline struct fib_table *fib_new_table(153,3884 -static inline int fib_lookup(158,3970 -static inline void fib_select_default(166,4219 -#define ip_fib_local_table 173,4487 -#define ip_fib_main_table 174,4543 -static inline struct fib_table *fib_get_table(181,4821 -static inline struct fib_table *fib_new_table(189,4941 -static inline void fib_combine_itag(236,6837 -static inline void fib_info_put(254,7223 -static inline void fib_res_put(260,7346 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/tux.h,3776 -#define _NET_TUX_H2,19 -#define __KERNEL_SYSCALLS__12,239 -#define CONFIG_TUX_NUMTHREADS 47,1072 -#define NR_IO_THREADS 50,1144 -#define CONFIG_TUX_NUMSOCKETS 53,1221 -#define TUX_DEBUG 64,1472 -# define TUX_BUG(TUX_BUG66,1528 -# define TUX_DPRINTK 68,1554 -# define TDprintk(TDprintk69,1577 -# define Dprintk(Dprintk70,1705 -# define TUX_DPRINTK 72,1786 -# define Dprintk(Dprintk73,1809 -# define TDprintk(TDprintk74,1849 -# define TUX_BUG(TUX_BUG76,1917 -# define INC_STAT(INC_STAT80,1967 -# define DEC_STAT(DEC_STAT81,2005 -# define ADD_STAT(ADD_STAT82,2043 -# define SUB_STAT(SUB_STAT83,2083 -# define INC_STAT(INC_STAT85,2129 -# define DEC_STAT(DEC_STAT86,2183 -# define ADD_STAT(ADD_STAT87,2237 -# define SUB_STAT(SUB_STAT88,2295 -# define DEBUG_DEL_LIST(DEBUG_DEL_LIST93,2381 -#define LOG_LEN 96,2451 -typedef struct tux_req_struct tux_req_t;tux_req_t99,2507 -typedef struct tux_threadinfo threadinfo_t;threadinfo_t100,2548 -typedef struct tcapi_template_s tcapi_template_s104,2643 -} tcapi_template_t;tcapi_template_t110,2802 -typedef struct mimetype_s mimetype_s112,2823 -} mimetype_t;mimetype_t123,3021 -typedef struct tux_attribute_s tux_attribute_s125,3036 -} tux_attribute_t;tux_attribute_t128,3114 -#define MAX_TUX_ATOMS 130,3134 -typedef void (atom_func_t)atom_func_t132,3159 -typedef struct tux_proto_stux_proto_s134,3219 -} tux_proto_t;tux_proto_t147,3743 -typedef struct tux_socket_s tux_socket_s149,3759 -} tux_socket_t;tux_socket_t154,3881 -typedef struct abuf_s abuf_s159,3979 -} abuf_t;abuf_t167,4142 -struct linux_dirent64 linux_dirent64169,4153 -struct getdents_callback64 getdents_callback64177,4277 -#define TUX_MAGIC 184,4407 -#define MAX_TUX_ATOMS 186,4437 -struct tux_req_structtux_req_struct188,4462 -#define MAX_USERNAME_LEN 264,5831 -#define MAX_OBJECTNAME_LEN 284,6220 -#define MAX_HOST_LEN 372,7802 -# define SET_TIMESTAMP(SET_TIMESTAMP430,9174 -# define SET_TIMESTAMP(SET_TIMESTAMP432,9238 -typedef struct iothread_siothread_s443,9520 -} iothread_t;iothread_t453,9767 -typedef struct tux_listen_stux_listen_s455,9782 -} tux_listen_t;tux_listen_t460,9877 -struct tux_threadinfotux_threadinfo462,9894 -typedef enum special_mimetypes special_mimetypes497,10599 - NORMAL_MIME_TYPE,498,10632 - MIME_TYPE_REDIRECT,499,10651 - MIME_TYPE_CGI,500,10672 - MIME_TYPE_MODULE,501,10688 -} special_mimetypes_t;special_mimetypes_t502,10707 -extern inline void url_hist_hit 506,10758 -extern inline void url_hist_miss 514,10918 -# define check_req_list 524,11160 -# define check_req_list(check_req_list526,11207 -#define url_hist_hit(url_hist_hit529,11267 -#define url_hist_miss(url_hist_miss530,11311 -typedef enum virtual_server virtual_server565,12558 - TUX_VHOST_NONE,566,12588 - TUX_VHOST_HOST,567,12605 - TUX_VHOST_IP,568,12622 - TUX_VHOST_IP_HOST,569,12637 -} virtual_server_t;virtual_server_t570,12657 -#define send_async_message(send_async_message594,13788 -typedef struct exec_param_s exec_param_s628,15502 -} exec_param_t;exec_param_t633,15600 -extern inline void log_request 645,16003 -#define connection_too_fast(connection_too_fast653,16148 -#define D(D677,17035 -#define add_keepalive_timer(add_keepalive_timer682,17181 -#define del_keepalive_timer(del_keepalive_timer690,17433 -#define req_err(req_err741,19092 -#define enough_wspace(enough_wspace743,19215 -#define clear_keepalive(clear_keepalive744,19292 -#define switch_docroot(switch_docroot756,19813 -#define TUX_ERROR_REDIRECT 769,20551 -#define TUX_ERROR_UNUSED 770,20584 -#define TUX_ERROR_CONN_CLOSE 771,20617 -#define TUX_ERROR_CONN_TIMEOUT 772,20650 -static inline void put_data_sock 776,20731 -#define socket_input(socket_input782,20831 -#define tux_kmalloc(tux_kmalloc786,20965 -#define tux_close(tux_close800,21326 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/pkt_sched.h,2720 -#define __NET_PKT_SCHED_H2,26 -struct qdisc_walkerqdisc_walker16,301 -struct Qdisc_class_opsQdisc_class_ops24,430 -struct Qdisc_opsQdisc_ops48,1306 -struct QdiscQdisc72,1909 -#define TCQ_F_BUILTIN 77,2051 -#define TCQ_F_THROTTLED 78,2075 -#define TCQ_F_INGRES 79,2101 -#define QDISC_ALIGN 100,2579 -#define QDISC_ALIGN_CONST 101,2603 -static inline void *qdisc_priv(103,2648 -struct qdisc_rate_tableqdisc_rate_table109,2797 -#define sch_tree_lock(sch_tree_lock120,3025 -#define sch_tree_unlock(sch_tree_unlock121,3076 -#define tcf_tree_lock(tcf_tree_lock122,3131 -#define tcf_tree_unlock(tcf_tree_unlock123,3187 -#define cls_set_class(cls_set_class125,3248 -__cls_set_class(127,3338 -typedef struct timeval psched_time_t;psched_time_t171,4543 -typedef long psched_tdiff_t;psched_tdiff_t172,4581 -#define PSCHED_GET_TIME(PSCHED_GET_TIME174,4612 -#define PSCHED_US2JIFFIE(PSCHED_US2JIFFIE175,4669 -#define PSCHED_JIFFIE2US(PSCHED_JIFFIE2US176,4741 -typedef u64 psched_time_t;psched_time_t180,4843 -typedef long psched_tdiff_t;psched_tdiff_t181,4870 -#define PSCHED_JSCALE 186,4947 -#define PSCHED_JSCALE 188,4999 -#define PSCHED_JSCALE 190,5052 -#define PSCHED_JSCALE 192,5105 -#define PSCHED_JSCALE 194,5146 -#define PSCHED_GET_TIME(PSCHED_GET_TIME197,5179 -#define PSCHED_US2JIFFIE(PSCHED_US2JIFFIE198,5256 -#define PSCHED_JIFFIE2US(PSCHED_JIFFIE2US199,5336 -#define PSCHED_GET_TIME(PSCHED_GET_TIME210,5636 -#define PSCHED_US2JIFFIE(PSCHED_US2JIFFIE222,6023 -#define PSCHED_JIFFIE2US(PSCHED_JIFFIE2US223,6109 -#define PSCHED_TDIFF(PSCHED_TDIFF230,6295 -psched_tod_diff(248,6683 -#define PSCHED_TDIFF_SAFE(PSCHED_TDIFF_SAFE260,6902 -#define PSCHED_TLESS(PSCHED_TLESS276,7287 -#define PSCHED_TADD2(PSCHED_TADD2280,7429 -#define PSCHED_TADD(PSCHED_TADD288,7667 -#define PSCHED_SET_PASTPERFECT(PSCHED_SET_PASTPERFECT299,7933 -#define PSCHED_IS_PASTPERFECT(PSCHED_IS_PASTPERFECT300,7984 -#define PSCHED_AUDIT_TDIFF(PSCHED_AUDIT_TDIFF302,8036 -#define PSCHED_TDIFF(PSCHED_TDIFF306,8153 -#define PSCHED_TDIFF_SAFE(PSCHED_TDIFF_SAFE307,8206 -#define PSCHED_TLESS(PSCHED_TLESS311,8293 -#define PSCHED_TADD2(PSCHED_TADD2312,8340 -#define PSCHED_TADD(PSCHED_TADD313,8408 -#define PSCHED_SET_PASTPERFECT(PSCHED_SET_PASTPERFECT314,8457 -#define PSCHED_IS_PASTPERFECT(PSCHED_IS_PASTPERFECT315,8501 -#define PSCHED_AUDIT_TDIFF(PSCHED_AUDIT_TDIFF316,8545 -struct tcf_policetcf_police320,8623 -#define ACT_P_CREATED 346,9023 -#define ACT_P_DELETED 347,9047 -#define tca_gen(tca_gen348,9071 -struct tc_actiontc_action361,9288 -#define TCA_CAP_NONE 370,9453 -struct tc_action_opstc_action_ops371,9476 -static inline int tcf_police_release(410,11687 -static inline unsigned psched_mtu(458,13168 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ipconfig.h,106 -#define IC_PROTO 35,1018 -#define IC_BOOTP 36,1062 -#define IC_RARP 37,1119 -#define IC_USE_DHCP 38,1154 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/gen_stats.h,64 -#define __NET_GEN_STATS_H2,26 -struct gnet_dumpgnet_dump9,167 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/route.h,548 -#define _ROUTE_H25,917 -#define RTO_ONLINK 41,1252 -#define RTO_CONN 43,1277 -#define RT_CONN_FLAGS(RT_CONN_FLAGS47,1405 -struct rtablertable50,1499 -struct ip_rt_acctip_rt_acct78,1990 -struct rt_cache_stat rt_cache_stat86,2086 -#define RT_CACHE_STAT_INC(RT_CACHE_STAT_INC107,2704 -static inline void ip_rt_put(131,3885 -#define IPTOS_RT_MASK 137,3975 -static inline char rt_tos2priority(141,4050 -static inline int ip_route_connect(146,4138 -static inline int ip_route_newports(172,4770 -static inline struct inet_peer *rt_get_peer(191,5218 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/tux_u.h,3063 -#define _NET_TUX_U_H2,21 -#define TUX_MAJOR_VERSION 17,423 -#define TUX_MINOR_VERSION 18,452 -#define TUX_PATCHLEVEL_VERSION 19,481 -#define __KERNEL_SYSCALLS__21,516 -typedef enum http_versions http_versions23,545 - HTTP_1_0,24,574 - HTTP_1_125,592 -} http_version_t;http_version_t26,609 -typedef enum http_methods http_methods31,669 - METHOD_NONE,32,697 - METHOD_GET,33,718 - METHOD_HEAD,34,738 - METHOD_POST,35,759 - METHOD_PUT,36,780 - NR_METHODS37,800 -} http_method_t;http_method_t38,812 -enum user_req user_req40,830 - TUX_ACTION_STARTUP 41,846 - TUX_ACTION_SHUTDOWN 42,871 - TUX_ACTION_STARTTHREAD 43,897 - TUX_ACTION_STOPTHREAD 44,926 - TUX_ACTION_EVENTLOOP 45,954 - TUX_ACTION_GET_OBJECT 46,981 - TUX_ACTION_SEND_OBJECT 47,1009 - TUX_ACTION_READ_OBJECT 48,1038 - TUX_ACTION_FINISH_REQ 49,1067 - TUX_ACTION_FINISH_CLOSE_REQ 50,1095 - TUX_ACTION_REGISTER_MODULE 51,1130 - TUX_ACTION_UNREGISTER_MODULE 52,1164 - TUX_ACTION_CURRENT_DATE 53,1200 - TUX_ACTION_REGISTER_MIMETYPE 54,1231 - TUX_ACTION_READ_HEADERS 55,1267 - TUX_ACTION_POSTPONE_REQ 56,1298 - TUX_ACTION_CONTINUE_REQ 57,1329 - TUX_ACTION_REDIRECT_REQ 58,1360 - TUX_ACTION_READ_POST_DATA 59,1391 - TUX_ACTION_SEND_BUFFER 60,1424 - TUX_ACTION_WATCH_PROXY_SOCKET 61,1454 - TUX_ACTION_WAIT_PROXY_SOCKET 62,1491 - TUX_ACTION_QUERY_VERSION 63,1527 - MAX_TUX_ACTION64,1559 -enum tux_ret tux_ret67,1579 - TUX_ERROR 68,1594 - TUX_RETURN_USERSPACE_REQUEST 69,1611 - TUX_RETURN_EXIT 70,1646 - TUX_RETURN_SIGNAL 71,1668 - TUX_CONTINUE_EVENTLOOP 72,1692 -#define MAX_URI_LEN 75,1725 -#define MAX_COOKIE_LEN 76,1749 -#define MAX_FIELD_LEN 77,1776 -#define DATE_LEN 78,1801 -typedef struct user_req_s user_req_s80,1822 -} user_req_t;user_req_t120,2636 -typedef enum ftp_commands ftp_commands122,2651 - FTP_COMM_NONE,123,2679 - FTP_COMM_USER,124,2702 - FTP_COMM_PASS,125,2725 - FTP_COMM_ACCT,126,2748 - FTP_COMM_CWD,127,2771 - FTP_COMM_CDUP,128,2793 - FTP_COMM_SMNT,129,2816 - FTP_COMM_QUIT,130,2839 - FTP_COMM_REIN,131,2862 - FTP_COMM_PORT,132,2885 - FTP_COMM_PASV,133,2908 - FTP_COMM_TYPE,134,2931 - FTP_COMM_STRU,135,2954 - FTP_COMM_MODE,136,2977 - FTP_COMM_RETR,137,3000 - FTP_COMM_SIZE,138,3023 - FTP_COMM_MDTM,139,3046 - FTP_COMM_STOR,140,3069 - FTP_COMM_STOU,141,3092 - FTP_COMM_APPE,142,3115 - FTP_COMM_ALLO,143,3138 - FTP_COMM_REST,144,3161 - FTP_COMM_RNFR,145,3184 - FTP_COMM_RNTO,146,3207 - FTP_COMM_ABOR,147,3230 - FTP_COMM_DELE,148,3253 - FTP_COMM_RMD,149,3276 - FTP_COMM_MKD,150,3298 - FTP_COMM_PWD,151,3320 - FTP_COMM_LIST,152,3342 - FTP_COMM_NLST,153,3365 - FTP_COMM_SITE,154,3388 - FTP_COMM_SYST,155,3411 - FTP_COMM_STAT,156,3434 - FTP_COMM_HELP,157,3457 - FTP_COMM_NOOP,158,3480 - FTP_COMM_FEAT,159,3503 - FTP_COMM_CLNT,160,3526 -} ftp_command_t;ftp_command_t161,3549 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ax25.h,3464 -#define _AX25_H 7,96 -#define AX25_T1CLAMPLO 16,266 -#define AX25_T1CLAMPHI 17,294 -#define AX25_BPQ_HEADER_LEN 19,331 -#define AX25_KISS_HEADER_LEN 20,363 -#define AX25_HEADER_LEN 22,396 -#define AX25_ADDR_LEN 23,425 -#define AX25_DIGI_HEADER_LEN 24,451 -#define AX25_MAX_HEADER_LEN 25,514 -#define AX25_P_ROSE 28,610 -#define AX25_P_IP 29,637 -#define AX25_P_ARP 30,662 -#define AX25_P_TEXT 31,688 -#define AX25_P_NETROM 32,716 -#define AX25_P_SEGMENT 33,746 -#define AX25_SEG_REM 36,812 -#define AX25_SEG_FIRST 37,840 -#define AX25_CBIT 39,871 -#define AX25_EBIT 40,923 -#define AX25_HBIT 41,981 -#define AX25_SSSID_SPARE 43,1035 -#define AX25_ESSID_SPARE 44,1111 -#define AX25_DAMA_FLAG 45,1187 -#define AX25_COND_ACK_PENDING 47,1265 -#define AX25_COND_REJECT 48,1301 -#define AX25_COND_PEER_RX_BUSY 49,1332 -#define AX25_COND_OWN_RX_BUSY 50,1369 -#define AX25_COND_DAMA_MODE 51,1405 -#define AX25_I 60,1576 -#define AX25_S 61,1623 -#define AX25_RR 62,1670 -#define AX25_RNR 63,1714 -#define AX25_REJ 64,1762 -#define AX25_U 65,1798 -#define AX25_SABM 66,1844 -#define AX25_SABME 67,1905 -#define AX25_DISC 68,1976 -#define AX25_DM 69,2017 -#define AX25_UA 70,2064 -#define AX25_FRMR 71,2116 -#define AX25_UI 72,2159 -#define AX25_XID 73,2211 -#define AX25_TEST 74,2261 -#define AX25_PF 76,2297 -#define AX25_EPF 77,2360 -#define AX25_ILLEGAL 79,2424 -#define AX25_POLLOFF 81,2494 -#define AX25_POLLON 82,2518 -#define AX25_COMMAND 85,2562 -#define AX25_RESPONSE 86,2586 - AX25_STATE_0,91,2656 - AX25_STATE_1,92,2671 - AX25_STATE_2,93,2686 - AX25_STATE_3,94,2701 - AX25_STATE_495,2716 -#define AX25_MODULUS 98,2734 -#define AX25_EMODULUS 99,2789 - AX25_PROTO_STD_SIMPLEX,102,2854 - AX25_PROTO_STD_DUPLEX,103,2879 - AX25_PROTO_DAMA_SLAVE,104,2903 - AX25_PROTO_DAMA_MASTER105,2927 - AX25_VALUES_IPDEFMODE,109,2962 - AX25_VALUES_AXDEFMODE,110,3002 - AX25_VALUES_BACKOFF,111,3060 - AX25_VALUES_CONMODE,112,3118 - AX25_VALUES_WINDOW,113,3202 - AX25_VALUES_EWINDOW,114,3268 - AX25_VALUES_T1,115,3335 - AX25_VALUES_T2,116,3384 - AX25_VALUES_T3,117,3433 - AX25_VALUES_IDLE,118,3482 - AX25_VALUES_N2,119,3533 - AX25_VALUES_PACLEN,120,3574 - AX25_VALUES_PROTOCOL,121,3611 - AX25_VALUES_DS_TIMEOUT,122,3675 - AX25_MAX_VALUES 123,3725 -#define AX25_DEF_IPDEFMODE 126,3798 -#define AX25_DEF_AXDEFMODE 127,3844 -#define AX25_DEF_BACKOFF 128,3888 -#define AX25_DEF_CONMODE 129,3938 -#define AX25_DEF_WINDOW 130,3996 -#define AX25_DEF_EWINDOW 131,4040 -#define AX25_DEF_T1 132,4097 -#define AX25_DEF_T2 133,4142 -#define AX25_DEF_T3 134,4186 -#define AX25_DEF_N2 135,4233 -#define AX25_DEF_IDLE 136,4271 -#define AX25_DEF_PACLEN 137,4325 -#define AX25_DEF_PROTOCOL 138,4373 -#define AX25_DEF_DS_TIMEOUT 139,4443 -typedef struct ax25_uid_assoc ax25_uid_assoc141,4516 -} ax25_uid_assoc;ax25_uid_assoc145,4613 -} ax25_digi;ax25_digi152,4772 -typedef struct ax25_route ax25_route154,4786 -} ax25_route;ax25_route162,4972 -} ax25_dama_info;ax25_dama_info168,5139 -typedef struct ax25_dev ax25_dev172,5177 -} ax25_dev;ax25_dev181,5445 -typedef struct ax25_cb ax25_cb183,5458 -} ax25_cb;ax25_cb204,6152 -#define ax25_sk(ax25_sk206,6164 -#define ax25_for_each(ax25_for_each208,6220 -#define ax25_cb_hold(ax25_cb_hold211,6318 -static __inline__ void ax25_cb_put(214,6385 -static inline ax25_dev *ax25_dev_ax25dev(252,7872 -static inline void ax25_put_route(323,10932 -static inline void ax25_register_sysctl(383,13146 -static inline void ax25_unregister_sysctl(384,13196 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/snmp.h,1444 -#define _SNMP_H22,658 -struct snmp_mib snmp_mib35,895 -#define SNMP_MIB_ITEM(SNMP_MIB_ITEM40,942 -#define SNMP_MIB_SENTINEL 45,1028 -#define __SNMP_MIB_ALIGN__ 69,1876 -#define IPSTATS_MIB_MAX 72,1940 -struct ipstats_mib ipstats_mib73,1982 -} __SNMP_MIB_ALIGN__;75,2041 -#define ICMP_MIB_DUMMY 78,2075 -#define ICMP_MIB_MAX 79,2113 -struct icmp_mib icmp_mib81,2156 -} __SNMP_MIB_ALIGN__;83,2209 -#define ICMP6_MIB_MAX 86,2256 -struct icmpv6_mib icmpv6_mib87,2294 -} __SNMP_MIB_ALIGN__;89,2350 -#define TCP_MIB_MAX 92,2383 -struct tcp_mib tcp_mib93,2417 -} __SNMP_MIB_ALIGN__;95,2468 -#define UDP_MIB_MAX 98,2501 -struct udp_mib udp_mib99,2535 -} __SNMP_MIB_ALIGN__;101,2586 -#define SCTP_MIB_MAX 104,2620 -struct sctp_mib sctp_mib105,2656 -} __SNMP_MIB_ALIGN__;107,2709 -#define LINUX_MIB_MAX 110,2744 -struct linux_mib linux_mib111,2782 -#define DEFINE_SNMP_STAT(DEFINE_SNMP_STAT122,3114 -#define DECLARE_SNMP_STAT(DECLARE_SNMP_STAT124,3180 -#define SNMP_STAT_BHPTR(SNMP_STAT_BHPTR127,3255 -#define SNMP_STAT_USRPTR(SNMP_STAT_USRPTR128,3295 -#define SNMP_INC_STATS_BH(SNMP_INC_STATS_BH130,3337 -#define SNMP_INC_STATS_OFFSET_BH(SNMP_INC_STATS_OFFSET_BH132,3436 -#define SNMP_INC_STATS_USER(SNMP_INC_STATS_USER134,3560 -#define SNMP_INC_STATS(SNMP_INC_STATS136,3660 -#define SNMP_DEC_STATS(SNMP_DEC_STATS138,3768 -#define SNMP_ADD_STATS_BH(SNMP_ADD_STATS_BH140,3876 -#define SNMP_ADD_STATS_USER(SNMP_ADD_STATS_USER142,3991 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_s_st.h,156 -#define LLC_S_ST_H2,19 -#define LLC_NR_SAP_STATES 15,498 -struct llc_sap_state_trans llc_sap_state_trans19,618 -struct llc_sap_state llc_sap_state25,721 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/netrom.h,1725 -#define _NETROM_H 8,102 -#define NR_NETWORK_LEN 12,172 -#define NR_TRANSPORT_LEN 13,200 -#define NR_PROTO_IP 15,229 -#define NR_PROTOEXT 17,257 -#define NR_CONNREQ 18,284 -#define NR_CONNACK 19,310 -#define NR_DISCREQ 20,336 -#define NR_DISCACK 21,362 -#define NR_INFO 22,388 -#define NR_INFOACK 23,412 -#define NR_CHOKE_FLAG 25,439 -#define NR_NAK_FLAG 26,468 -#define NR_MORE_FLAG 27,495 - NR_STATE_0,31,566 - NR_STATE_1,32,579 - NR_STATE_2,33,592 - NR_STATE_334,605 -#define NR_COND_ACK_PENDING 37,621 -#define NR_COND_REJECT 38,655 -#define NR_COND_PEER_RX_BUSY 39,685 -#define NR_COND_OWN_RX_BUSY 40,720 -#define NR_DEFAULT_T1 42,755 -#define NR_DEFAULT_T2 43,829 -#define NR_DEFAULT_N2 44,901 -#define NR_DEFAULT_T4 45,956 -#define NR_DEFAULT_IDLE 46,1022 -#define NR_DEFAULT_WINDOW 47,1095 -#define NR_DEFAULT_OBS 48,1155 -#define NR_DEFAULT_QUAL 49,1220 -#define NR_DEFAULT_TTL 50,1287 -#define NR_DEFAULT_ROUTING 51,1348 -#define NR_DEFAULT_FAILS 52,1406 -#define NR_MODULUS 54,1471 -#define NR_MAX_WINDOW_SIZE 55,1497 -#define NR_MAX_PACKET_SIZE 56,1568 -} nr_cb;nr_cb76,2235 -#define nr_sk(nr_sk78,2245 -struct nr_neigh nr_neigh80,2297 -struct nr_route nr_route94,2582 -struct nr_node nr_node100,2687 -#define nr_node_hold(nr_node_hold115,3101 -static __inline__ void nr_node_put(118,3174 -#define nr_neigh_hold(nr_neigh_hold125,3308 -static __inline__ void nr_neigh_put(128,3384 -static __inline__ void nr_node_lock(139,3663 -static __inline__ void nr_node_unlock(145,3789 -#define nr_neigh_for_each(nr_neigh_for_each151,3918 -#define nr_neigh_for_each_safe(nr_neigh_for_each_safe154,4029 -#define nr_node_for_each(nr_node_for_each157,4164 -#define nr_node_for_each_safe(nr_node_for_each_safe160,4271 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/lapb.h,1348 -#define _LAPB_H 2,16 -#define LAPB_HEADER_LEN 5,58 -#define LAPB_ACK_PENDING_CONDITION 7,125 -#define LAPB_REJECT_CONDITION 8,165 -#define LAPB_PEER_RX_BUSY_CONDITION 9,201 -#define LAPB_I 12,273 -#define LAPB_S 13,319 -#define LAPB_U 14,365 -#define LAPB_RR 16,411 -#define LAPB_RNR 17,454 -#define LAPB_REJ 18,501 -#define LAPB_SABM 20,537 -#define LAPB_SABME 21,597 -#define LAPB_DISC 22,667 -#define LAPB_DM 23,707 -#define LAPB_UA 24,753 -#define LAPB_FRMR 25,804 -#define LAPB_ILLEGAL 27,847 -#define LAPB_SPF 29,916 -#define LAPB_EPF 30,977 -#define LAPB_FRMR_W 32,1039 -#define LAPB_FRMR_X 33,1092 -#define LAPB_FRMR_Y 34,1140 -#define LAPB_FRMR_Z 35,1189 -#define LAPB_POLLOFF 37,1236 -#define LAPB_POLLON 38,1259 -#define LAPB_COMMAND 41,1299 -#define LAPB_RESPONSE 42,1322 -#define LAPB_ADDR_A 44,1347 -#define LAPB_ADDR_B 45,1372 -#define LAPB_ADDR_C 46,1397 -#define LAPB_ADDR_D 47,1422 - LAPB_STATE_0,51,1490 - LAPB_STATE_1,52,1531 - LAPB_STATE_2,53,1578 - LAPB_STATE_3,54,1628 - LAPB_STATE_4 55,1670 -#define LAPB_DEFAULT_MODE 58,1714 -#define LAPB_DEFAULT_WINDOW 59,1779 -#define LAPB_DEFAULT_T1 60,1826 -#define LAPB_DEFAULT_T2 61,1876 -#define LAPB_DEFAULT_N2 62,1926 -#define LAPB_SMODULUS 64,1972 -#define LAPB_EMODULUS 65,1996 -struct lapb_frame lapb_frame70,2070 -struct lapb_cb lapb_cb81,2372 -#define LAPB_DEBUG 150,4821 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ipx.h,984 -#define _NET_INET_IPX_H_2,25 -struct ipx_address ipx_address17,351 -#define ipx_broadcast_node 23,435 -#define ipx_this_node 24,489 -#define IPX_MAX_PPROP_HOPS 26,537 -struct ipxhdr ipxhdr28,567 -#define IPX_NO_CHECKSUM 30,631 -#define IPX_TYPE_UNKNOWN 34,746 -#define IPX_TYPE_RIP 35,776 -#define IPX_TYPE_SAP 36,823 -#define IPX_TYPE_SPX 37,870 -#define IPX_TYPE_NCP 38,916 -#define IPX_TYPE_PPROP 39,979 -static __inline__ struct ipxhdr *ipx_hdr(44,1161 -struct ipx_interface ipx_interface49,1265 -struct ipx_route ipx_route73,1792 -struct ipx_cb ipx_cb83,2030 -struct ipx_opt ipx_opt93,2155 -#define ipx_sk(ipx_sk108,2517 -#define IPX_SKB_CB(IPX_SKB_CB109,2578 -#define IPX_MIN_EPHEMERAL_SOCKET 111,2648 -#define IPX_MAX_EPHEMERAL_SOCKET 112,2688 -static __inline__ void ipxitf_hold(129,3166 -static __inline__ void ipxitf_put(136,3322 -static __inline__ void __ipxitf_put(144,3515 -static __inline__ void ipxrtr_hold(150,3654 -static __inline__ void ipxrtr_put(155,3750 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dn_nsp.h,1691 -#define _NET_DN_NSP_H2,22 -#define NSP_REASON_OK 42,2041 -#define NSP_REASON_NR 43,2081 -#define NSP_REASON_UN 44,2125 -#define NSP_REASON_SD 45,2179 -#define NSP_REASON_ID 46,2229 -#define NSP_REASON_ER 47,2289 -#define NSP_REASON_OB 48,2345 -#define NSP_REASON_US 49,2392 -#define NSP_REASON_TP 50,2441 -#define NSP_REASON_EA 51,2490 -#define NSP_REASON_IF 52,2551 -#define NSP_REASON_LS 53,2607 -#define NSP_REASON_LL 54,2658 -#define NSP_REASON_LE 55,2723 -#define NSP_REASON_UR 56,2792 -#define NSP_REASON_UA 57,2862 -#define NSP_REASON_TM 58,2920 -#define NSP_REASON_NU 59,2983 -#define NSP_REASON_NL 60,3031 -#define NSP_REASON_DC 61,3078 -#define NSP_REASON_IO 62,3128 -#define NSP_DISCINIT 64,3186 -#define NSP_DISCCONF 65,3212 -struct nsp_data_seg_msgnsp_data_seg_msg73,3432 -struct nsp_data_opt_msgnsp_data_opt_msg80,3636 -struct nsp_data_opt_msg1nsp_data_opt_msg187,3840 -struct nsp_data_ack_msgnsp_data_ack_msg95,4063 -struct nsp_conn_ack_msgnsp_conn_ack_msg104,4362 -struct nsp_conn_init_msgnsp_conn_init_msg112,4569 -#define NSP_CI 115,4655 -#define NSP_RCI 116,4718 -#define NSP_FC_NONE 120,4969 -#define NSP_FC_SRC 121,5034 -#define NSP_FC_SCMC 122,5099 -#define NSP_FC_MASK 123,5164 -struct nsp_disconn_init_msgnsp_disconn_init_msg129,5401 -struct srcobj_fmtsrcobj_fmt139,5691 -static __inline__ int dn_before(153,6190 -static __inline__ int dn_after(162,6372 -static __inline__ int dn_equal(170,6552 -static __inline__ int dn_before_or_equal(175,6676 -static __inline__ void seq_add(180,6821 -static __inline__ int seq_next(186,6947 -static __inline__ int sendack(194,7092 -static __inline__ int dn_congested(202,7225 -#define DN_MAX_NSP_DATA_HEADER 207,7353 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/pkt_act.h,521 -#define __NET_PKT_ACT_H2,24 -#define tca_st(tca_st27,612 -#define PRIV(PRIV28,653 -#define DPRINTK(DPRINTK31,721 -#define DPRINTK(DPRINTK33,792 -#define D2PRINTK(D2PRINTK37,849 -#define D2PRINTK(D2PRINTK39,921 -tcf_hash(43,989 -tcf_hash_destroy(52,1133 -tcf_hash_release(73,1519 -tcf_dump_walker(90,1770 -tcf_del_walker(137,2648 -tcf_generic_walker(168,3286 -tcf_hash_lookup(182,3659 -tcf_hash_new_index(196,3887 -tcf_hash_search(208,4035 -tcf_hash_check(221,4249 -tcf_hash_create(237,4588 -tcf_hash_init(274,5321 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc.h,345 -#define LLC_H2,14 -struct llc_addr llc_addr24,653 -#define LLC_SAP_STATE_INACTIVE 29,729 -#define LLC_SAP_STATE_ACTIVE 30,762 -struct llc_sap llc_sap43,1110 -#define LLC_DEST_INVALID 58,1423 -#define LLC_DEST_SAP 59,1490 -#define LLC_DEST_CONN 60,1553 -#define llc_proc_init(llc_proc_init96,2731 -#define llc_proc_exit(llc_proc_exit97,2759 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip.h,1221 -#define _IP_H23,763 -struct inet_skb_parminet_skb_parm39,1067 -#define IPSKB_MASQUERADED 44,1166 -#define IPSKB_TRANSLATED 45,1194 -#define IPSKB_FORWARDED 46,1221 -#define IPSKB_XFRM_TUNNEL_SIZE 47,1248 -struct ipcm_cookieipcm_cookie50,1285 -#define IPCB(IPCB57,1360 -struct ip_ra_chainip_ra_chain59,1416 -#define IP_CE 70,1610 -#define IP_DF 71,1659 -#define IP_MF 72,1711 -#define IP_OFFSET 73,1763 -#define IP_FRAG_TIME 75,1819 -static inline void ip_tr_mc_map(123,3661 -struct ip_reply_arg ip_reply_arg133,3803 -struct ipv4_configipv4_config145,4124 -#define IP_INC_STATS(IP_INC_STATS154,4297 -#define IP_INC_STATS_BH(IP_INC_STATS_BH155,4363 -#define IP_INC_STATS_USER(IP_INC_STATS_USER156,4435 -#define NET_INC_STATS(NET_INC_STATS158,4564 -#define NET_INC_STATS_BH(NET_INC_STATS_BH159,4632 -#define NET_INC_STATS_USER(NET_INC_STATS_USER160,4706 -#define NET_ADD_STATS_BH(NET_ADD_STATS_BH161,4784 -#define NET_ADD_STATS_USER(NET_ADD_STATS_USER162,4869 -int ip_decrease_ttl(171,5208 -int ip_dont_fragment(180,5375 -static inline void ip_select_ident(189,5675 -static inline void ip_select_ident_more(203,6141 -static inline void ip_eth_mc_map(219,6533 -static __inline__ void inet_reset_saddr(236,6820 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/p8022.h,26 -#define _NET_P8022_H2,21 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/protocol.h,338 -#define _PROTOCOL_H25,815 -#define MAX_INET_PROTOS 33,974 -struct net_protocol net_protocol37,1075 -struct inet6_protocol inet6_protocol44,1271 -#define INET6_PROTO_NOPOLICY 55,1550 -#define INET6_PROTO_FINAL 56,1583 -struct inet_protosw inet_protosw60,1689 -#define INET_PROTOSW_REUSE 77,2258 -#define INET_PROTOSW_PERMANENT 78,2335 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/icmp.h,312 -#define _ICMP_H19,669 -struct icmp_err icmp_err30,856 -#define ICMP_INC_STATS(ICMP_INC_STATS37,1008 -#define ICMP_INC_STATS_BH(ICMP_INC_STATS_BH38,1078 -#define ICMP_INC_STATS_USER(ICMP_INC_STATS_USER39,1153 -struct raw_opt raw_opt49,1562 -struct raw_sock raw_sock56,1698 -#define raw4_sk(raw4_sk65,1879 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/slhc_vj.h,681 -#define _SLHC_H2,16 -#define SL_TYPE_IP 88,3561 -#define SL_TYPE_UNCOMPRESSED_TCP 89,3585 -#define SL_TYPE_COMPRESSED_TCP 90,3623 -#define SL_TYPE_ERROR 91,3659 -#define NEW_C 94,3734 -#define NEW_I 95,3798 -#define NEW_S 96,3817 -#define NEW_A 97,3836 -#define NEW_W 98,3855 -#define NEW_U 99,3874 -#define SPECIAL_I 102,3939 -#define SPECIAL_D 103,4011 -#define SPECIALS_MASK 104,4081 -#define TCP_PUSH_BIT 106,4130 -typedef __u8 byte_t;byte_t119,4445 -typedef __u32 int32;int32120,4466 -struct cstate cstate128,4771 -#define NULLSLSTATE 137,5048 -struct slcompress slcompress142,5170 -#define SLF_TOSS 154,5591 -#define NULLSLCOMPR 171,6277 -#define __ARGS(__ARGS173,6321 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/raw.h,56 -#define _RAW_H18,626 -#define RAWV4_HTABLE_SIZE 30,927 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/tcp_ecn.h,513 -#define _NET_TCP_ECN_H_ 2,24 -#define TCP_HP_BITS 6,78 -#define TCP_ECN_OK 8,135 -#define TCP_ECN_QUEUE_CWR 9,157 -#define TCP_ECN_DEMAND_CWR 10,185 -TCP_ECN_queue_cwr(13,238 -TCP_ECN_send_synack(23,398 -TCP_ECN_send_syn(31,610 -TCP_ECN_make_synack(42,913 -TCP_ECN_send(49,1039 -TCP_ECN_accept_cwr(72,1663 -TCP_ECN_withdraw_cwr(79,1812 -TCP_ECN_check_ce(85,1920 -TCP_ECN_rcv_synack(99,2361 -TCP_ECN_rcv_syn(106,2537 -TCP_ECN_rcv_ecn_echo(113,2710 -TCP_ECN_openreq_child(121,2877 -TCP_ECN_create_request(127,3020 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/bluetooth/l2cap.h,2665 -#define __L2CAP_H26,1143 -#define L2CAP_DEFAULT_MTU 29,1183 -#define L2CAP_DEFAULT_FLUSH_TO 30,1213 -#define L2CAP_CONN_TIMEOUT 32,1252 -struct sockaddr_l2 sockaddr_l235,1317 -#define L2CAP_OPTIONS 42,1432 -struct l2cap_options l2cap_options43,1459 -#define L2CAP_CONNINFO 49,1529 -struct l2cap_conninfo l2cap_conninfo50,1558 -#define L2CAP_LM 54,1605 -#define L2CAP_LM_MASTER 55,1627 -#define L2CAP_LM_AUTH 56,1659 -#define L2CAP_LM_ENCRYPT 57,1689 -#define L2CAP_LM_TRUSTED 58,1721 -#define L2CAP_QOS 60,1754 -struct l2cap_qos l2cap_qos61,1777 -#define L2CAP_SERV_NO_TRAFFIC 70,1929 -#define L2CAP_SERV_BEST_EFFORT 71,1964 -#define L2CAP_SERV_GUARANTEED 72,2000 -#define L2CAP_COMMAND_REJ 75,2062 -#define L2CAP_CONN_REQ 76,2093 -#define L2CAP_CONN_RSP 77,2124 -#define L2CAP_CONF_REQ 78,2155 -#define L2CAP_CONF_RSP 79,2186 -#define L2CAP_DISCONN_REQ 80,2217 -#define L2CAP_DISCONN_RSP 81,2248 -#define L2CAP_ECHO_REQ 82,2279 -#define L2CAP_ECHO_RSP 83,2310 -#define L2CAP_INFO_REQ 84,2341 -#define L2CAP_INFO_RSP 85,2372 -struct l2cap_hdr l2cap_hdr88,2427 -#define L2CAP_HDR_SIZE 92,2508 -struct l2cap_cmd_hdr l2cap_cmd_hdr94,2535 -#define L2CAP_CMD_HDR_SIZE 99,2640 -struct l2cap_cmd_rej l2cap_cmd_rej101,2670 -struct l2cap_conn_req l2cap_conn_req105,2742 -struct l2cap_conn_rsp l2cap_conn_rsp110,2830 -#define L2CAP_CR_SUCCESS 118,2980 -#define L2CAP_CR_PEND 119,3015 -#define L2CAP_CR_BAD_PSM 120,3050 -#define L2CAP_CR_SEC_BLOCK 121,3085 -#define L2CAP_CR_NO_MEM 122,3120 -#define L2CAP_CS_NO_INFO 125,3177 -#define L2CAP_CS_AUTHEN_PEND 126,3214 -#define L2CAP_CS_AUTHOR_PEND 127,3251 -struct l2cap_conf_req l2cap_conf_req129,3289 -struct l2cap_conf_rsp l2cap_conf_rsp135,3400 -#define L2CAP_CONF_SUCCESS 142,3531 -#define L2CAP_CONF_UNACCEPT 143,3563 -struct l2cap_conf_opt l2cap_conf_opt145,3597 -#define L2CAP_CONF_OPT_SIZE 150,3704 -#define L2CAP_CONF_MTU 152,3735 -#define L2CAP_CONF_FLUSH_TO 153,3764 -#define L2CAP_CONF_QOS 154,3797 -#define L2CAP_CONF_MAX_SIZE 156,3827 -struct l2cap_disconn_req l2cap_disconn_req158,3859 -struct l2cap_disconn_rsp l2cap_disconn_rsp163,3951 -struct l2cap_info_req l2cap_info_req168,4043 -struct l2cap_info_rsp l2cap_info_rsp173,4137 -#define L2CAP_IT_CL_MTU 180,4268 -#define L2CAP_IT_FEAT_MASK 181,4303 -#define L2CAP_IR_SUCCESS 184,4357 -#define L2CAP_IR_NOTSUPP 185,4392 -struct l2cap_chan_list l2cap_chan_list188,4464 -struct l2cap_conn l2cap_conn194,4541 -#define l2cap_pi(l2cap_pi213,4823 -struct l2cap_pinfo l2cap_pinfo215,4887 -#define L2CAP_CONF_REQ_SENT 239,5182 -#define L2CAP_CONF_INPUT_DONE 240,5218 -#define L2CAP_CONF_OUTPUT_DONE 241,5254 -#define L2CAP_CONF_MAX_RETRIES 242,5290 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/bluetooth/rfcomm.h,4161 -#define __RFCOMM_H25,1166 -#define RFCOMM_PSM 27,1186 -#define RFCOMM_CONN_TIMEOUT 29,1208 -#define RFCOMM_DISC_TIMEOUT 30,1246 -#define RFCOMM_DEFAULT_MTU 32,1285 -#define RFCOMM_DEFAULT_CREDITS 33,1316 -#define RFCOMM_MAX_L2CAP_MTU 35,1350 -#define RFCOMM_MAX_CREDITS 36,1384 -#define RFCOMM_SKB_HEAD_RESERVE 38,1415 -#define RFCOMM_SKB_TAIL_RESERVE 39,1449 -#define RFCOMM_SKB_RESERVE 40,1483 -#define RFCOMM_SABM 42,1564 -#define RFCOMM_DISC 43,1589 -#define RFCOMM_UA 44,1614 -#define RFCOMM_DM 45,1637 -#define RFCOMM_UIH 46,1660 -#define RFCOMM_TEST 48,1685 -#define RFCOMM_FCON 49,1710 -#define RFCOMM_FCOFF 50,1735 -#define RFCOMM_MSC 51,1761 -#define RFCOMM_RPN 52,1785 -#define RFCOMM_RLS 53,1809 -#define RFCOMM_PN 54,1833 -#define RFCOMM_NSC 55,1856 -#define RFCOMM_V24_FC 57,1881 -#define RFCOMM_V24_RTC 58,1908 -#define RFCOMM_V24_RTR 59,1936 -#define RFCOMM_V24_IC 60,1964 -#define RFCOMM_V24_DV 61,1991 -#define RFCOMM_RPN_BR_2400 63,2019 -#define RFCOMM_RPN_BR_4800 64,2050 -#define RFCOMM_RPN_BR_7200 65,2081 -#define RFCOMM_RPN_BR_9600 66,2112 -#define RFCOMM_RPN_BR_19200 67,2143 -#define RFCOMM_RPN_BR_38400 68,2175 -#define RFCOMM_RPN_BR_57600 69,2207 -#define RFCOMM_RPN_BR_115200 70,2239 -#define RFCOMM_RPN_BR_230400 71,2272 -#define RFCOMM_RPN_DATA_5 73,2306 -#define RFCOMM_RPN_DATA_6 74,2336 -#define RFCOMM_RPN_DATA_7 75,2366 -#define RFCOMM_RPN_DATA_8 76,2396 -#define RFCOMM_RPN_STOP_1 78,2427 -#define RFCOMM_RPN_STOP_15 79,2455 -#define RFCOMM_RPN_PARITY_NONE 81,2485 -#define RFCOMM_RPN_PARITY_ODD 82,2520 -#define RFCOMM_RPN_PARITY_EVEN 83,2554 -#define RFCOMM_RPN_PARITY_MARK 84,2589 -#define RFCOMM_RPN_PARITY_SPACE 85,2624 -#define RFCOMM_RPN_FLOW_NONE 87,2661 -#define RFCOMM_RPN_XON_CHAR 89,2696 -#define RFCOMM_RPN_XOFF_CHAR 90,2729 -#define RFCOMM_RPN_PM_BITRATE 92,2764 -#define RFCOMM_RPN_PM_DATA 93,2802 -#define RFCOMM_RPN_PM_STOP 94,2837 -#define RFCOMM_RPN_PM_PARITY 95,2872 -#define RFCOMM_RPN_PM_PARITY_TYPE 96,2909 -#define RFCOMM_RPN_PM_XON 97,2950 -#define RFCOMM_RPN_PM_XOFF 98,2984 -#define RFCOMM_RPN_PM_FLOW 99,3019 -#define RFCOMM_RPN_PM_ALL 101,3055 -struct rfcomm_hdr rfcomm_hdr103,3090 -struct rfcomm_cmd rfcomm_cmd109,3201 -struct rfcomm_mcc rfcomm_mcc116,3288 -struct rfcomm_pn rfcomm_pn121,3356 -struct rfcomm_rpn rfcomm_rpn131,3504 -struct rfcomm_rls rfcomm_rls141,3663 -struct rfcomm_msc rfcomm_msc146,3736 -struct rfcomm_session rfcomm_session153,3854 -struct rfcomm_dlc rfcomm_dlc168,4117 -#define RFCOMM_RX_THROTTLED 197,4791 -#define RFCOMM_TX_THROTTLED 198,4821 -#define RFCOMM_MSC_PENDING 199,4851 -#define RFCOMM_TIMED_OUT 200,4881 -#define RFCOMM_SCHED_STATE 203,4946 -#define RFCOMM_SCHED_RX 204,4976 -#define RFCOMM_SCHED_TX 205,5006 -#define RFCOMM_SCHED_TIMEO 206,5036 -#define RFCOMM_SCHED_WAKEUP 207,5066 -#define RFCOMM_MSCEX_TX 210,5123 -#define RFCOMM_MSCEX_RX 211,5153 -#define RFCOMM_MSCEX_OK 212,5183 -#define RFCOMM_CFC_UNKNOWN 215,5265 -#define RFCOMM_CFC_DISABLED 216,5296 -#define RFCOMM_CFC_ENABLED 217,5326 -static inline void rfcomm_schedule(222,5452 -#define rfcomm_lock(rfcomm_lock232,5684 -#define rfcomm_unlock(rfcomm_unlock233,5725 -#define rfcomm_dlc_lock(rfcomm_dlc_lock244,6243 -#define rfcomm_dlc_unlock(rfcomm_dlc_unlock245,6294 -static inline void rfcomm_dlc_hold(247,6348 -static inline void rfcomm_dlc_put(252,6435 -static inline void rfcomm_dlc_throttle(261,6693 -static inline void rfcomm_dlc_unthrottle(267,6843 -static inline void rfcomm_session_hold(281,7469 -static inline void rfcomm_session_put(286,7564 -struct sockaddr_rc sockaddr_rc296,7790 -#define rfcomm_pi(rfcomm_pi302,7888 -struct rfcomm_pinfo rfcomm_pinfo304,7954 -#define RFCOMM_MAX_DEV 315,8206 -#define RFCOMMCREATEDEV 317,8235 -#define RFCOMMRELEASEDEV 318,8280 -#define RFCOMMGETDEVLIST 319,8325 -#define RFCOMMGETDEVINFO 320,8370 -#define RFCOMMSTEALDLC 321,8415 -#define RFCOMM_REUSE_DLC 323,8460 -#define RFCOMM_RELEASE_ONHUP 324,8492 -#define RFCOMM_HANGUP_NOW 325,8524 -#define RFCOMM_TTY_ATTACHED 326,8556 -struct rfcomm_dev_req rfcomm_dev_req328,8589 -struct rfcomm_dev_info rfcomm_dev_info337,8703 -struct rfcomm_dev_list_req rfcomm_dev_list_req346,8829 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/bluetooth/sco.h,583 -#define __SCO_H26,1141 -#define SCO_DEFAULT_MTU 29,1177 -#define SCO_DEFAULT_FLUSH_TO 30,1206 -#define SCO_CONN_TIMEOUT 32,1243 -#define SCO_DISCONN_TIMEOUT 33,1278 -#define SCO_CONN_IDLE_TIMEOUT 34,1315 -struct sockaddr_sco sockaddr_sco37,1381 -#define SCO_OPTIONS 43,1484 -struct sco_options sco_options44,1510 -#define SCO_CONNINFO 48,1547 -struct sco_conninfo sco_conninfo49,1574 -struct sco_conn sco_conn54,1651 -#define sco_conn_lock(sco_conn_lock66,1794 -#define sco_conn_unlock(sco_conn_unlock67,1840 -#define sco_pi(sco_pi70,1925 -struct sco_pinfo sco_pinfo72,1985 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/bluetooth/hci_core.h,2723 -#define __HCI_CORE_H26,1146 -#define HCI_PROTO_L2CAP 32,1253 -#define HCI_PROTO_SCO 33,1279 -#define HCI_INIT_TIMEOUT 35,1304 -struct inquiry_entry inquiry_entry41,1411 -struct inquiry_cache inquiry_cache47,1515 -struct hci_conn_hash hci_conn_hash53,1612 -struct hci_dev hci_dev59,1710 -struct hci_conn hci_conn133,3156 -#define INQUIRY_CACHE_AGE_MAX 166,3687 -#define INQUIRY_ENTRY_AGE_MAX 167,3743 -#define inquiry_cache_lock(inquiry_cache_lock169,3800 -#define inquiry_cache_unlock(inquiry_cache_unlock170,3851 -#define inquiry_cache_lock_bh(inquiry_cache_lock_bh171,3906 -#define inquiry_cache_unlock_bh(inquiry_cache_unlock_bh172,3962 -static inline void inquiry_cache_init(174,4023 -static inline int inquiry_cache_empty(181,4177 -static inline long inquiry_cache_age(187,4314 -static inline long inquiry_entry_age(193,4455 - HCI_CONN_AUTH_PEND,203,4764 - HCI_CONN_ENCRYPT_PEND204,4785 -static inline void hci_conn_hash_init(207,4812 -static inline void hci_conn_hash_add(215,4989 -static inline void hci_conn_hash_del(222,5160 -static inline struct hci_conn *hci_conn_hash_lookup_handle(229,5321 -static inline struct hci_conn *hci_conn_hash_lookup_ba(244,5647 -static inline void hci_conn_set_timer(271,6496 -static inline void hci_conn_del_timer(276,6630 -static inline void hci_conn_hold(281,6722 -static inline void hci_conn_put(287,6838 -static inline void hci_sched_cmd(300,7178 -static inline void hci_sched_rx(305,7274 -static inline void hci_sched_tx(310,7368 -static inline void __hci_dev_put(316,7492 -static inline void hci_dev_put(322,7605 -static inline struct hci_dev *__hci_dev_hold(328,7703 -static inline struct hci_dev *hci_dev_hold(334,7808 -#define hci_dev_lock(hci_dev_lock341,7948 -#define hci_dev_unlock(hci_dev_unlock342,7993 -#define hci_dev_lock_bh(hci_dev_lock_bh343,8041 -#define hci_dev_unlock_bh(hci_dev_unlock_bh344,8091 -static inline int hci_recv_frame(369,9002 -#define SET_HCIDEV_DEV(SET_HCIDEV_DEV393,9538 -#define lmp_rswitch_capable(lmp_rswitch_capable396,9642 -#define lmp_encrypt_capable(lmp_encrypt_capable397,9708 -struct hci_proto hci_proto400,9807 -static inline int hci_proto_connect_ind(416,10352 -static inline void hci_proto_connect_cfm(432,10729 -static inline void hci_proto_disconn_ind(445,11033 -static inline void hci_proto_auth_cfm(458,11337 -static inline void hci_proto_encrypt_cfm(471,11626 -#define hci_pi(hci_pi501,12635 -struct hci_pinfo hci_pinfo502,12692 -#define HCI_SFLT_MAX_OGF 509,12824 -struct hci_sec_filter hci_sec_filter511,12853 -#define HCI_REQ_DONE 518,12994 -#define HCI_REQ_PEND 519,13019 -#define HCI_REQ_CANCELED 520,13044 -#define hci_req_lock(hci_req_lock522,13073 -#define hci_req_unlock(hci_req_unlock523,13117 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/bluetooth/hci.h,10653 -#define __HCI_H26,1141 -#define HCI_MAX_ACL_SIZE 28,1158 -#define HCI_MAX_SCO_SIZE 29,1188 -#define HCI_MAX_EVENT_SIZE 30,1217 -#define HCI_MAX_FRAME_SIZE 31,1248 -#define HCI_DEV_REG 34,1320 -#define HCI_DEV_UNREG 35,1344 -#define HCI_DEV_UP 36,1370 -#define HCI_DEV_DOWN 37,1393 -#define HCI_DEV_SUSPEND 38,1418 -#define HCI_DEV_RESUME 39,1446 -#define HCI_NOTIFY_CONN_ADD 42,1498 -#define HCI_NOTIFY_CONN_DEL 43,1529 -#define HCI_NOTIFY_VOICE_SETTING 44,1560 -#define HCI_VHCI 47,1619 -#define HCI_USB 48,1638 -#define HCI_PCCARD 49,1657 -#define HCI_UART 50,1678 -#define HCI_RS232 51,1697 -#define HCI_PCI 52,1717 - HCI_QUIRK_RESET_ON_INIT56,1768 - HCI_UP,61,1827 - HCI_INIT,62,1836 - HCI_RUNNING,63,1847 - HCI_PSCAN,65,1862 - HCI_ISCAN,66,1874 - HCI_AUTH,67,1886 - HCI_ENCRYPT,68,1897 - HCI_INQUIRY,69,1911 - HCI_RAW71,1926 -#define HCIDEVUP 75,1963 -#define HCIDEVDOWN 76,2000 -#define HCIDEVRESET 77,2039 -#define HCIDEVRESTAT 78,2079 -#define HCIGETDEVLIST 80,2121 -#define HCIGETDEVINFO 81,2163 -#define HCIGETCONNLIST 82,2205 -#define HCIGETCONNINFO 83,2248 -#define HCISETRAW 85,2292 -#define HCISETSCAN 86,2330 -#define HCISETAUTH 87,2369 -#define HCISETENCRYPT 88,2408 -#define HCISETPTYPE 89,2450 -#define HCISETLINKPOL 90,2490 -#define HCISETLINKMODE 91,2532 -#define HCISETACLMTU 92,2575 -#define HCISETSCOMTU 93,2616 -#define HCISETRAWVND 94,2657 -#define HCIINQUIRY 96,2699 -#define HCI_CONN_TIMEOUT 99,2758 -#define HCI_DISCONN_TIMEOUT 100,2793 -#define HCI_CONN_IDLE_TIMEOUT 101,2830 -#define HCI_COMMAND_PKT 104,2894 -#define HCI_ACLDATA_PKT 105,2924 -#define HCI_SCODATA_PKT 106,2954 -#define HCI_EVENT_PKT 107,2984 -#define HCI_UNKNOWN_PKT 108,3012 -#define HCI_DM1 111,3066 -#define HCI_DM3 112,3090 -#define HCI_DM5 113,3114 -#define HCI_DH1 114,3138 -#define HCI_DH3 115,3162 -#define HCI_DH5 116,3186 -#define HCI_HV1 118,3211 -#define HCI_HV2 119,3235 -#define HCI_HV3 120,3259 -#define SCO_PTYPE_MASK 122,3284 -#define ACL_PTYPE_MASK 123,3337 -#define ACL_CONT 126,3395 -#define ACL_START 127,3418 -#define ACL_ACTIVE_BCAST 128,3442 -#define ACL_PICO_BCAST 129,3472 -#define SCO_LINK 132,3523 -#define ACL_LINK 133,3545 -#define LMP_3SLOT 136,3587 -#define LMP_5SLOT 137,3610 -#define LMP_ENCRYPT 138,3633 -#define LMP_SOFFSET 139,3658 -#define LMP_TACCURACY 140,3683 -#define LMP_RSWITCH 141,3710 -#define LMP_HOLD 142,3735 -#define LMP_SNIF 143,3757 -#define LMP_PARK 145,3780 -#define LMP_RSSI 146,3802 -#define LMP_QUALITY 147,3824 -#define LMP_SCO 148,3849 -#define LMP_HV2 149,3871 -#define LMP_HV3 150,3893 -#define LMP_ULAW 151,3915 -#define LMP_ALAW 152,3937 -#define LMP_CVSD 154,3960 -#define LMP_PSCHEME 155,3982 -#define LMP_PCONTROL 156,4007 -#define HCI_LP_RSWITCH 159,4054 -#define HCI_LP_HOLD 160,4084 -#define HCI_LP_SNIFF 161,4111 -#define HCI_LP_PARK 162,4139 -#define HCI_LM_ACCEPT 165,4183 -#define HCI_LM_MASTER 166,4212 -#define HCI_LM_AUTH 167,4241 -#define HCI_LM_ENCRYPT 168,4268 -#define HCI_LM_TRUSTED 169,4298 -#define OGF_INFO_PARAM 175,4415 -#define OCF_READ_LOCAL_VERSION 177,4444 -struct hci_rp_read_loc_version hci_rp_read_loc_version178,4482 -#define OCF_READ_LOCAL_FEATURES 187,4665 -struct hci_rp_read_loc_features hci_rp_read_loc_features188,4704 -#define OCF_READ_BUFFER_SIZE 193,4800 -struct hci_rp_read_buffer_size hci_rp_read_buffer_size194,4836 -#define OCF_READ_BD_ADDR 202,5000 -struct hci_rp_read_bd_addr hci_rp_read_bd_addr203,5032 -#define OGF_HOST_CTL 209,5161 -#define OCF_RESET 210,5187 -#define OCF_READ_AUTH_ENABLE 211,5213 -#define OCF_WRITE_AUTH_ENABLE 212,5249 - #define AUTH_DISABLED 213,5286 - #define AUTH_ENABLED 214,5315 -#define OCF_READ_ENCRYPT_MODE 216,5344 -#define OCF_WRITE_ENCRYPT_MODE 217,5381 - #define ENCRYPT_DISABLED 218,5419 - #define ENCRYPT_P2P 219,5450 - #define ENCRYPT_BOTH 220,5477 -#define OCF_WRITE_CA_TIMEOUT 222,5506 -#define OCF_WRITE_PG_TIMEOUT 223,5545 -#define OCF_WRITE_SCAN_ENABLE 225,5584 - #define SCAN_DISABLED 226,5622 - #define SCAN_INQUIRY 227,5651 - #define SCAN_PAGE 228,5679 -#define OCF_SET_EVENT_FLT 230,5705 -struct hci_cp_set_event_flt hci_cp_set_event_flt231,5738 -#define HCI_FLT_CLEAR_ALL 238,5881 -#define HCI_FLT_INQ_RESULT 239,5912 -#define HCI_FLT_CONN_SETUP 240,5944 -#define HCI_CONN_SETUP_ALLOW_ALL 243,6010 -#define HCI_CONN_SETUP_ALLOW_CLASS 244,6048 -#define HCI_CONN_SETUP_ALLOW_BDADDR 245,6088 -#define HCI_CONN_SETUP_AUTO_OFF 248,6158 -#define HCI_CONN_SETUP_AUTO_ON 249,6195 -#define OCF_READ_CLASS_OF_DEV 251,6232 -struct hci_rp_read_dev_class hci_rp_read_dev_class252,6269 -#define OCF_WRITE_CLASS_OF_DEV 257,6371 -struct hci_cp_write_dev_class hci_cp_write_dev_class258,6409 -#define OCF_READ_VOICE_SETTING 262,6494 -struct hci_rp_read_voice_setting hci_rp_read_voice_setting263,6532 -#define OCF_WRITE_VOICE_SETTING 268,6632 -struct hci_cp_write_voice_setting hci_cp_write_voice_setting269,6671 -#define OCF_HOST_BUFFER_SIZE 273,6758 -struct hci_cp_host_buffer_size hci_cp_host_buffer_size274,6794 -#define OGF_LINK_CTL 282,6959 -#define OCF_CREATE_CONN 283,6986 -struct hci_cp_create_conn hci_cp_create_conn284,7018 -#define OCF_ACCEPT_CONN_REQ 293,7208 -struct hci_cp_accept_conn_req hci_cp_accept_conn_req294,7243 -#define OCF_REJECT_CONN_REQ 299,7338 -struct hci_cp_reject_conn_req hci_cp_reject_conn_req300,7373 -#define OCF_DISCONNECT 305,7470 -struct hci_cp_disconnect hci_cp_disconnect306,7500 -#define OCF_ADD_SCO 311,7592 -struct hci_cp_add_sco hci_cp_add_sco312,7619 -#define OCF_INQUIRY 317,7710 -struct hci_cp_inquiry hci_cp_inquiry318,7738 -#define OCF_INQUIRY_CANCEL 324,7846 -#define OCF_LINK_KEY_REPLY 326,7881 -#define OCF_LINK_KEY_NEG_REPLY 327,7915 -struct hci_cp_link_key_reply hci_cp_link_key_reply328,7953 -#define OCF_PIN_CODE_REPLY 333,8055 -#define OCF_PIN_CODE_NEG_REPLY 334,8089 -struct hci_cp_pin_code_reply hci_cp_pin_code_reply335,8127 -#define OCF_CHANGE_CONN_PTYPE 341,8248 -struct hci_cp_change_conn_ptype hci_cp_change_conn_ptype342,8285 -#define OCF_AUTH_REQUESTED 347,8386 -struct hci_cp_auth_requested hci_cp_auth_requested348,8420 -#define OCF_SET_CONN_ENCRYPT 352,8498 -struct hci_cp_set_conn_encrypt hci_cp_set_conn_encrypt353,8534 -#define OCF_READ_REMOTE_FEATURES 358,8633 -struct hci_cp_read_rmt_features hci_cp_read_rmt_features359,8673 -#define OCF_READ_REMOTE_VERSION 363,8754 -struct hci_cp_read_rmt_version hci_cp_read_rmt_version364,8793 -#define OGF_LINK_POLICY 369,8891 -#define OCF_ROLE_DISCOVERY 370,8924 -struct hci_cp_role_discovery hci_cp_role_discovery371,8958 -struct hci_rp_role_discovery hci_rp_role_discovery374,9035 -#define OCF_READ_LINK_POLICY 380,9147 -struct hci_cp_read_link_policy hci_cp_read_link_policy381,9183 -struct hci_rp_read_link_policy hci_rp_read_link_policy384,9262 -#define OCF_SWITCH_ROLE 390,9378 -struct hci_cp_switch_role hci_cp_switch_role391,9409 -#define OCF_WRITE_LINK_POLICY 396,9500 -struct hci_cp_write_link_policy hci_cp_write_link_policy397,9537 -struct hci_rp_write_link_policy hci_rp_write_link_policy401,9635 -#define OGF_STATUS_PARAM 407,9754 -#define OGF_TESTING_CMD 410,9808 -#define OGF_VENDOR_CMD 413,9870 -#define HCI_EV_INQUIRY_COMPLETE 416,9927 -#define HCI_EV_INQUIRY_RESULT 418,9965 -struct inquiry_info inquiry_info419,10000 -#define HCI_EV_INQUIRY_RESULT_WITH_RSSI 428,10194 -struct inquiry_info_with_rssi inquiry_info_with_rssi429,10239 -#define HCI_EV_CONN_COMPLETE 438,10437 -struct hci_ev_conn_complete hci_ev_conn_complete439,10472 -#define HCI_EV_CONN_REQUEST 447,10627 -struct hci_ev_conn_request hci_ev_conn_request448,10660 -#define HCI_EV_DISCONN_COMPLETE 454,10781 -struct hci_ev_disconn_complete hci_ev_disconn_complete455,10818 -#define HCI_EV_AUTH_COMPLETE 461,10934 -struct hci_ev_auth_complete hci_ev_auth_complete462,10968 -#define HCI_EV_ENCRYPT_CHANGE 467,11063 -struct hci_ev_encrypt_change hci_ev_encrypt_change468,11098 -#define HCI_EV_QOS_SETUP_COMPLETE 474,11213 -struct hci_qos hci_qos475,11252 -struct hci_ev_qos_setup_complete hci_ev_qos_setup_complete482,11415 -#define HCI_EV_CMD_COMPLETE 488,11538 -struct hci_ev_cmd_complete hci_ev_cmd_complete489,11572 -#define HCI_EV_CMD_STATUS 494,11664 -struct hci_ev_cmd_status hci_ev_cmd_status495,11696 -#define HCI_EV_NUM_COMP_PKTS 501,11804 -struct hci_ev_num_comp_pkts hci_ev_num_comp_pkts502,11838 -#define HCI_EV_ROLE_CHANGE 507,11945 -struct hci_ev_role_change hci_ev_role_change508,11977 -#define HCI_EV_PIN_CODE_REQ 514,12086 -struct hci_ev_pin_code_req hci_ev_pin_code_req515,12119 -#define HCI_EV_LINK_KEY_REQ 519,12195 -struct hci_ev_link_key_req hci_ev_link_key_req520,12228 -#define HCI_EV_LINK_KEY_NOTIFY 524,12304 -struct hci_ev_link_key_notify hci_ev_link_key_notify525,12340 -#define HCI_EV_RMT_FEATURES 531,12457 -struct hci_ev_rmt_features hci_ev_rmt_features532,12490 -#define HCI_EV_RMT_VERSION 538,12607 -struct hci_ev_rmt_version hci_ev_rmt_version539,12639 -#define HCI_EV_STACK_INTERNAL 548,12848 -struct hci_ev_stack_internal hci_ev_stack_internal549,12883 -#define HCI_EV_SI_DEVICE 554,12978 -struct hci_ev_si_device hci_ev_si_device555,13010 -#define HCI_EV_SI_SECURITY 560,13100 -struct hci_ev_si_security hci_ev_si_security561,13132 -#define HCI_COMMAND_HDR_SIZE 569,13301 -#define HCI_EVENT_HDR_SIZE 570,13332 -#define HCI_ACL_HDR_SIZE 571,13363 -#define HCI_SCO_HDR_SIZE 572,13394 -struct hci_command_hdr hci_command_hdr574,13426 -struct hci_event_hdr hci_event_hdr579,13526 -struct hci_acl_hdr hci_acl_hdr584,13603 -struct hci_sco_hdr hci_sco_hdr589,13713 -#define hci_opcode_pack(hci_opcode_pack595,13825 -#define hci_opcode_ogf(hci_opcode_ogf596,13895 -#define hci_opcode_ocf(hci_opcode_ocf597,13934 -#define hci_handle_pack(hci_handle_pack600,14016 -#define hci_handle(hci_handle601,14078 -#define hci_flags(hci_flags602,14114 -#define HCI_DATA_DIR 607,14197 -#define HCI_FILTER 608,14220 -#define HCI_TIME_STAMP 609,14241 -#define HCI_CMSG_DIR 612,14284 -#define HCI_CMSG_TSTAMP 613,14312 -struct sockaddr_hci sockaddr_hci615,14344 -#define HCI_DEV_NONE 619,14422 -struct hci_filter hci_filter621,14451 -struct hci_ufilter hci_ufilter627,14548 -#define HCI_FLT_TYPE_BITS 633,14634 -#define HCI_FLT_EVENT_BITS 634,14663 -#define HCI_FLT_OGF_BITS 635,14693 -#define HCI_FLT_OCF_BITS 636,14721 -struct hci_dev_stats hci_dev_stats639,14797 -struct hci_dev_info hci_dev_info652,14976 -struct hci_conn_info hci_conn_info675,15253 -struct hci_dev_req hci_dev_req684,15375 -struct hci_dev_list_req hci_dev_list_req689,15431 -struct hci_conn_list_req hci_conn_list_req694,15539 -struct hci_conn_info_req hci_conn_info_req700,15640 -struct hci_inquiry_req hci_inquiry_req706,15743 -#define IREQ_CACHE_FLUSH 713,15846 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/bluetooth/bluetooth.h,1416 -#define __BLUETOOTH_H26,1147 -#define AF_BLUETOOTH 35,1312 -#define PF_BLUETOOTH 36,1336 -#define BT_SKB_RESERVE 40,1416 -#define BTPROTO_L2CAP 42,1442 -#define BTPROTO_HCI 43,1466 -#define BTPROTO_SCO 44,1488 -#define BTPROTO_RFCOMM 45,1510 -#define BTPROTO_BNEP 46,1535 -#define BTPROTO_CMTP 47,1558 -#define BTPROTO_HIDP 48,1581 -#define BTPROTO_AVDTP 49,1604 -#define SOL_HCI 51,1629 -#define SOL_L2CAP 52,1648 -#define SOL_SCO 53,1668 -#define SOL_RFCOMM 54,1688 -#define BT_INFO(BT_INFO56,1711 -#define BT_DBG(BT_DBG57,1790 -#define BT_ERR(BT_ERR58,1877 -#define BT_DMP(BT_DMP61,1986 -#define BT_DMP(BT_DMP63,2049 - BT_CONNECTED 70,2160 - BT_OPEN,71,2233 - BT_BOUND,72,2243 - BT_LISTEN,73,2254 - BT_CONNECT,74,2266 - BT_CONNECT2,75,2279 - BT_CONFIG,76,2293 - BT_DISCONN,77,2305 - BT_CLOSED78,2318 -#define htobs(htobs82,2362 -#define htobl(htobl83,2396 -#define btohs(btohs84,2430 -#define btohl(btohl85,2464 -} __attribute__((packed)packed90,2545 -#define BDADDR_ANY 92,2582 -#define BDADDR_LOCAL 93,2638 -static inline int bacmp(96,2741 -static inline void bacpy(100,2843 -#define bt_sk(bt_sk111,3089 -struct bt_sock bt_sock113,3136 -struct bt_sock_list bt_sock_list121,3260 -struct bt_skb_cb bt_skb_cb139,4056 -#define bt_cb(bt_cb142,4093 -static inline struct sk_buff *bt_skb_alloc(144,4146 -static inline struct sk_buff *bt_skb_send_alloc(155,4378 -static inline int skb_frags_no(168,4669 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/datalink.h,78 -#define _NET_INET_DATALINK_H_2,30 -struct datalink_proto datalink_proto4,61 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ipv6.h,2453 -#define _NET_IPV6_H16,436 -#define SIN6_LEN_RFC2133 24,576 -#define IPV6_MAXPLEN 26,605 -#define NEXTHDR_HOP 32,677 -#define NEXTHDR_TCP 33,732 -#define NEXTHDR_UDP 34,774 -#define NEXTHDR_IPV6 35,817 -#define NEXTHDR_ROUTING 36,861 -#define NEXTHDR_FRAGMENT 37,911 -#define NEXTHDR_ESP 38,978 -#define NEXTHDR_AUTH 39,1040 -#define NEXTHDR_ICMP 40,1094 -#define NEXTHDR_NONE 41,1140 -#define NEXTHDR_DEST 42,1186 -#define NEXTHDR_MAX 44,1246 -#define IPV6_DEFAULT_HOPLIMIT 48,1274 -#define IPV6_DEFAULT_MCASTHOPS 49,1309 -#define IPV6_ADDR_ANY 62,1481 -#define IPV6_ADDR_UNICAST 64,1513 -#define IPV6_ADDR_MULTICAST 65,1554 -#define IPV6_ADDR_LOOPBACK 67,1596 -#define IPV6_ADDR_LINKLOCAL 68,1631 -#define IPV6_ADDR_SITELOCAL 69,1667 -#define IPV6_ADDR_COMPATv4 71,1704 -#define IPV6_ADDR_SCOPE_MASK 73,1740 -#define IPV6_ADDR_MAPPED 75,1778 -#define IPV6_ADDR_RESERVED 76,1811 -#define IPV6_ADDR_MC_SCOPE(IPV6_ADDR_MC_SCOPE82,1916 -#define __IPV6_ADDR_SCOPE_INVALID 84,1992 -#define IPV6_ADDR_SCOPE_NODELOCAL 86,2036 -#define IPV6_ADDR_SCOPE_LINKLOCAL 87,2075 -#define IPV6_ADDR_SCOPE_SITELOCAL 88,2114 -#define IPV6_ADDR_SCOPE_ORGLOCAL 89,2153 -#define IPV6_ADDR_SCOPE_GLOBAL 90,2191 -struct frag_hdr frag_hdr96,2261 -#define IP6_MF 103,2383 -#define IP6_INC_STATS(IP6_INC_STATS115,2596 -#define IP6_INC_STATS_BH(IP6_INC_STATS_BH116,2665 -#define IP6_INC_STATS_USER(IP6_INC_STATS_USER117,2740 -#define ICMP6_INC_STATS(ICMP6_INC_STATS119,2876 -#define ICMP6_INC_STATS_BH(ICMP6_INC_STATS_BH125,3094 -#define ICMP6_INC_STATS_USER(ICMP6_INC_STATS_USER131,3322 -#define ICMP6_INC_STATS_OFFSET_BH(ICMP6_INC_STATS_OFFSET_BH137,3554 -#define UDP6_INC_STATS(UDP6_INC_STATS145,3925 -#define UDP6_INC_STATS_BH(UDP6_INC_STATS_BH146,3993 -#define UDP6_INC_STATS_USER(UDP6_INC_STATS_USER147,4066 -struct ip6_ra_chainip6_ra_chain155,4379 -struct ipv6_txoptionsipv6_txoptions171,4676 -struct ip6_flowlabelip6_flowlabel190,5115 -#define IPV6_FLOWINFO_MASK 204,5356 -#define IPV6_FLOWLABEL_MASK 205,5412 -struct ipv6_fl_socklistipv6_fl_socklist207,5470 -static inline void fl6_sock_release(222,6009 -#define IPV6_FRAG_TIMEOUT 241,6495 -typedef int (*inet_getfrag_t)inet_getfrag_t247,6593 -static inline int ipv6_addr_scope(255,6787 -static inline int ipv6_addr_cmp(260,6908 -static inline void ipv6_addr_copy(265,7078 -static inline void ipv6_addr_prefix(270,7231 -static inline void ipv6_addr_set(288,7630 -static inline int ipv6_addr_any(299,7861 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ip6_checksum.h,93 -#define _CHECKSUM_IPV6_H27,801 -static __inline__ unsigned short int csum_ipv6_magic(37,977 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dn_dev.h,702 -#define _NET_DN_DEV_H2,22 -struct dn_ifaddr dn_ifaddr7,62 -#define DN_DEV_S_RU 17,299 -#define DN_DEV_S_CR 18,353 -#define DN_DEV_S_DS 19,407 -#define DN_DEV_S_RI 20,461 -#define DN_DEV_S_RV 21,515 -#define DN_DEV_S_RC 22,569 -#define DN_DEV_S_OF 23,623 -#define DN_DEV_S_HA 24,677 -struct dn_dev_parms dn_dev_parms66,2230 -#define DN_DEV_BCAST 69,2376 -#define DN_DEV_UCAST 70,2400 -#define DN_DEV_MPOINT 71,2424 -struct dn_dev dn_dev86,3075 -struct dn_short_packetdn_short_packet100,3499 -struct dn_long_packetdn_long_packet108,3781 -struct endnode_hello_messageendnode_hello_message125,4593 -struct rtnode_hello_messagertnode_hello_message141,5401 -static inline int dn_dev_islocal(177,6757 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/inet_common.h,28 -#define _INET_COMMON_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/dsfield.h,212 -#define __NET_DSFIELD_H7,163 -static inline __u8 ipv4_get_dsfield(15,288 -static inline __u8 ipv6_get_dsfield(21,367 -static inline void ipv4_change_dsfield(27,470 -static inline void ipv6_change_dsfield(43,835 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/transp_v6.h,58 -#define _TRANSP_V6_H2,21 -#define LOOPBACK4_IPV6 42,894 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/esp.h,110 -#define _NET_ESP_H2,19 -#define ESP_NUM_FAST_SG 7,91 -struct esp_dataesp_data9,119 -esp_hmac_digest(46,1281 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_if.h,1294 -#define LLC_IF_H2,17 -#define LLC_DATAUNIT_PRIM 21,658 -#define LLC_CONN_PRIM 22,686 -#define LLC_DATA_PRIM 23,711 -#define LLC_DISC_PRIM 24,736 -#define LLC_RESET_PRIM 25,761 -#define LLC_FLOWCONTROL_PRIM 26,787 -#define LLC_DISABLE_PRIM 27,851 -#define LLC_XID_PRIM 28,878 -#define LLC_TEST_PRIM 29,902 -#define LLC_SAP_ACTIVATION 30,927 -#define LLC_SAP_DEACTIVATION 31,961 -#define LLC_NBR_PRIMITIVES 33,996 -#define LLC_IND 35,1031 -#define LLC_CONFIRM 36,1051 -#define LLC_PRIM_TYPE_REQ 39,1096 -#define LLC_PRIM_TYPE_IND 40,1124 -#define LLC_PRIM_TYPE_RESP 41,1152 -#define LLC_PRIM_TYPE_CONFIRM 42,1181 -#define LLC_RESET_REASON_REMOTE 45,1262 -#define LLC_RESET_REASON_LOCAL 46,1296 -#define LLC_DISC_REASON_RX_DM_RSP_PDU 49,1355 -#define LLC_DISC_REASON_RX_DISC_CMD_PDU 50,1395 -#define LLC_DISC_REASON_ACK_TMR_EXP 51,1437 -#define LLC_STATUS_CONN 54,1498 -#define LLC_STATUS_DISC 55,1563 -#define LLC_STATUS_FAILED 56,1628 -#define LLC_STATUS_IMPOSSIBLE 57,1694 -#define LLC_STATUS_RECEIVED 58,1748 -#define LLC_STATUS_REMOTE_BUSY 59,1794 -#define LLC_STATUS_REFUSE 60,1843 -#define LLC_STATUS_CONFLICT 61,1887 -#define LLC_STATUS_RESET_DONE 62,1939 -static __inline__ int llc_mac_null(73,2290 -static __inline__ int llc_addrany(78,2392 -static __inline__ int llc_mac_match(92,2814 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/ndisc.h,739 -#define _NDISC_H2,17 -#define NDISC_ROUTER_SOLICITATION 8,90 -#define NDISC_ROUTER_ADVERTISEMENT 9,128 -#define NDISC_NEIGHBOUR_SOLICITATION 10,167 -#define NDISC_NEIGHBOUR_ADVERTISEMENT 11,208 -#define NDISC_REDIRECT 12,250 -#define ND_OPT_SOURCE_LL_ADDR 18,305 -#define ND_OPT_TARGET_LL_ADDR 19,338 -#define ND_OPT_PREFIX_INFO 20,371 -#define ND_OPT_REDIRECT_HDR 21,401 -#define ND_OPT_MTU 22,432 -#define MAX_RTR_SOLICITATION_DELAY 24,456 -#define ND_REACHABLE_TIME 26,495 -#define ND_RETRANS_TIMER 27,530 -#define ND_MIN_RANDOM_FACTOR 29,560 -#define ND_MAX_RANDOM_FACTOR 30,596 -struct nd_msg nd_msg42,820 -struct ra_msg ra_msg48,918 -struct nd_opt_hdr nd_opt_hdr54,1019 -static inline struct neighbour * ndisc_get_neigh(113,2470 - -/export0/mef/linux-2.6.9-1.11_FC2/include/net/llc_conn.h,391 -#define LLC_CONN_H2,19 -#define LLC_EVENT 18,577 -#define LLC_PACKET 19,612 -#define LLC_P_TIME 21,648 -#define LLC_ACK_TIME 22,683 -#define LLC_REJ_TIME 23,718 -#define LLC_BUSY_TIME 24,753 -struct llc_timer llc_timer26,789 -struct llc_opt llc_opt31,878 -#define llc_sk(llc_sk78,2642 -static __inline__ void llc_set_backlog_type(80,2704 -static __inline__ char llc_backlog_type(85,2823 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/ds.h,1876 -#define _LINUX_DS_H31,1404 -typedef struct tuple_parse_t tuple_parse_t36,1483 -} tuple_parse_t;tuple_parse_t40,1583 -typedef struct win_info_t win_info_t42,1601 -} win_info_t;win_info_t46,1699 -typedef struct bind_info_t bind_info_t48,1718 -} bind_info_t;bind_info_t55,1902 -typedef struct mtd_info_t mtd_info_t57,1918 -} mtd_info_t;mtd_info_t61,2018 -typedef union ds_ioctl_arg_t ds_ioctl_arg_t63,2033 -} ds_ioctl_arg_t;ds_ioctl_arg_t78,2423 -#define DS_GET_CARD_SERVICES_INFO 80,2442 -#define DS_ADJUST_RESOURCE_INFO 81,2502 -#define DS_GET_CONFIGURATION_INFO 82,2559 -#define DS_GET_FIRST_TUPLE 83,2622 -#define DS_GET_NEXT_TUPLE 84,2673 -#define DS_GET_TUPLE_DATA 85,2723 -#define DS_PARSE_TUPLE 86,2779 -#define DS_RESET_CARD 87,2833 -#define DS_GET_STATUS 88,2871 -#define DS_ACCESS_CONFIGURATION_REGISTER 89,2922 -#define DS_VALIDATE_CIS 90,2990 -#define DS_SUSPEND_CARD 91,3042 -#define DS_RESUME_CARD 92,3083 -#define DS_EJECT_CARD 93,3123 -#define DS_INSERT_CARD 94,3162 -#define DS_GET_FIRST_REGION 95,3202 -#define DS_GET_NEXT_REGION 96,3261 -#define DS_REPLACE_CIS 97,3319 -#define DS_GET_FIRST_WINDOW 98,3370 -#define DS_GET_NEXT_WINDOW 99,3426 -#define DS_GET_MEM_PAGE 100,3481 -#define DS_BIND_REQUEST 102,3535 -#define DS_GET_DEVICE_INFO 103,3589 -#define DS_GET_NEXT_DEVICE 104,3646 -#define DS_UNBIND_REQUEST 105,3703 -#define DS_BIND_MTD 106,3758 -typedef struct dev_node_t dev_node_t111,3853 -} dev_node_t;dev_node_t115,3971 -typedef struct dev_link_t dev_link_t117,3986 -} dev_link_t;dev_link_t128,4251 -#define DEV_PRESENT 131,4295 -#define DEV_CONFIG 132,4321 -#define DEV_STALE_CONFIG 133,4346 -#define DEV_STALE_LINK 134,4399 -#define DEV_CONFIG_PENDING 135,4452 -#define DEV_RELEASE_PENDING 136,4484 -#define DEV_SUSPEND 137,4517 -#define DEV_BUSY 138,4543 -#define DEV_OK(DEV_OK140,4567 -struct pcmcia_driver pcmcia_driver146,4696 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/cs.h,10585 -#define _LINUX_CS_H31,1404 -typedef struct conf_reg_t conf_reg_t34,1463 -} conf_reg_t;conf_reg_t39,1565 -#define CS_READ 42,1594 -#define CS_WRITE 43,1613 -typedef struct adjust_t adjust_t46,1662 - struct memory memory51,1760 - struct io io55,1824 - struct irq irq60,1916 -} adjust_t;adjust_t64,1970 -#define REMOVE_MANAGED_RESOURCE 67,2002 -#define ADD_MANAGED_RESOURCE 68,2037 -#define GET_FIRST_MANAGED_RESOURCE 69,2069 -#define GET_NEXT_MANAGED_RESOURCE 70,2106 -#define RES_MEMORY_RANGE 72,2163 -#define RES_IO_RANGE 73,2191 -#define RES_IRQ 74,2216 -#define RES_IRQ_TYPE 76,2259 -#define RES_IRQ_TYPE_EXCLUSIVE 77,2287 -#define RES_IRQ_TYPE_TIME 78,2321 -#define RES_IRQ_TYPE_DYNAMIC 79,2350 -#define RES_IRQ_CSC 80,2382 -#define RES_SHARED 81,2409 -#define RES_RESERVED 82,2435 -#define RES_ALLOCATED 83,2463 -#define RES_REMOVED 84,2492 -typedef struct servinfo_t servinfo_t86,2520 -} servinfo_t;servinfo_t92,2651 -typedef struct event_callback_args_t event_callback_args_t94,2666 -} event_callback_args_t;event_callback_args_t101,2835 -typedef struct config_info_t config_info_t104,2892 -} config_info_t;config_info_t122,3337 -#define CV_OPTION_VALUE 125,3382 -#define CV_STATUS_VALUE 126,3412 -#define CV_PIN_REPLACEMENT 127,3442 -#define CV_COPY_VALUE 128,3474 -#define CV_EXT_STATUS 129,3502 -typedef struct client_req_t client_req_t132,3561 -} client_req_t;client_req_t135,3634 -#define CLIENT_THIS_SOCKET 137,3651 -typedef struct client_reg_t client_reg_t140,3709 -} client_reg_t;client_reg_t148,3960 -typedef struct modconf_t modconf_t151,4003 -} modconf_t;modconf_t154,4079 -#define CONF_IRQ_CHANGE_VALID 157,4134 -#define CONF_VCC_CHANGE_VALID 158,4170 -#define CONF_VPP1_CHANGE_VALID 159,4206 -#define CONF_VPP2_CHANGE_VALID 160,4243 -typedef struct config_req_t config_req_t163,4312 -} config_req_t;config_req_t171,4516 -#define CONF_ENABLE_IRQ 174,4575 -#define CONF_ENABLE_DMA 175,4605 -#define CONF_ENABLE_SPKR 176,4635 -#define CONF_VALID_CLIENT 177,4665 -#define INT_MEMORY 180,4718 -#define INT_MEMORY_AND_IO 181,4743 -#define INT_CARDBUS 182,4774 -#define INT_ZOOMED_VIDEO 183,4800 -typedef struct io_req_t io_req_t186,4865 -} io_req_t;io_req_t194,5056 -#define IO_SHARED 197,5114 -#define IO_FIRST_SHARED 198,5138 -#define IO_FORCE_ALIAS_ACCESS 199,5168 -#define IO_DATA_PATH_WIDTH 200,5203 -#define IO_DATA_PATH_WIDTH_8 201,5235 -#define IO_DATA_PATH_WIDTH_16 202,5269 -#define IO_DATA_PATH_WIDTH_AUTO 203,5304 -typedef struct irq_req_t irq_req_t206,5378 -} irq_req_t;irq_req_t212,5519 -#define IRQ_TYPE 215,5580 -#define IRQ_TYPE_EXCLUSIVE 216,5604 -#define IRQ_TYPE_TIME 217,5637 -#define IRQ_TYPE_DYNAMIC_SHARING 218,5666 -#define IRQ_FORCED_PULSE 219,5704 -#define IRQ_FIRST_SHARED 220,5735 -#define IRQ_HANDLE_PRESENT 221,5766 -#define IRQ_PULSE_ALLOCATED 222,5799 -#define IRQ_MASK 225,5864 -#define IRQ_NMI_ID 226,5887 -#define IRQ_IOCK_ID 227,5912 -#define IRQ_BERR_ID 228,5938 -#define IRQ_VEND_ID 229,5964 -#define IRQ_INFO2_VALID 230,5990 -#define IRQ_LEVEL_ID 231,6020 -#define IRQ_PULSE_ID 232,6047 -#define IRQ_SHARE_ID 233,6074 -typedef struct eventmask_t eventmask_t235,6102 -} eventmask_t;eventmask_t238,6174 -#define CONF_EVENT_MASK_VALID 240,6190 -#define PRESENT_OPTION 243,6264 -#define PRESENT_STATUS 244,6294 -#define PRESENT_PIN_REPLACE 245,6324 -#define PRESENT_COPY 246,6358 -#define PRESENT_EXT_STATUS 247,6386 -#define PRESENT_IOBASE_0 248,6419 -#define PRESENT_IOBASE_1 249,6450 -#define PRESENT_IOBASE_2 250,6481 -#define PRESENT_IOBASE_3 251,6512 -#define PRESENT_IOSIZE 252,6543 -typedef struct memreq_t memreq_t255,6607 -} memreq_t;memreq_t258,6672 -typedef struct modwin_t modwin_t261,6708 -} modwin_t;modwin_t264,6779 -typedef struct win_req_t win_req_t267,6816 -} win_req_t;win_req_t272,6921 -#define WIN_ADDR_SPACE 275,6970 -#define WIN_ADDR_SPACE_MEM 276,7001 -#define WIN_ADDR_SPACE_IO 277,7035 -#define WIN_MEMORY_TYPE 278,7068 -#define WIN_MEMORY_TYPE_CM 279,7100 -#define WIN_MEMORY_TYPE_AM 280,7134 -#define WIN_ENABLE 281,7168 -#define WIN_DATA_WIDTH 282,7195 -#define WIN_DATA_WIDTH_8 283,7226 -#define WIN_DATA_WIDTH_16 284,7258 -#define WIN_DATA_WIDTH_32 285,7291 -#define WIN_PAGED 286,7324 -#define WIN_SHARED 287,7350 -#define WIN_FIRST_SHARED 288,7377 -#define WIN_USE_WAIT 289,7409 -#define WIN_STRICT_ALIGN 290,7438 -#define WIN_MAP_BELOW_1MB 291,7470 -#define WIN_PREFETCH 292,7503 -#define WIN_CACHEABLE 293,7532 -#define WIN_BAR_MASK 294,7562 -#define WIN_BAR_SHIFT 295,7591 -#define INFO_MASTER_CLIENT 298,7654 -#define INFO_IO_CLIENT 299,7686 -#define INFO_MTD_CLIENT 300,7715 -#define INFO_MEM_CLIENT 301,7745 -#define MAX_NUM_CLIENTS 302,7775 -#define INFO_CARD_SHARE 304,7803 -#define INFO_CARD_EXCL 305,7833 -typedef struct cs_status_t cs_status_t307,7863 -} cs_status_t;cs_status_t311,7962 -typedef struct error_info_t error_info_t313,7978 -} error_info_t;error_info_t316,8041 -typedef struct bind_req_t bind_req_t319,8109 -} bind_req_t;bind_req_t323,8218 -#define BIND_FN_ALL 326,8269 -typedef struct mtd_bind_t mtd_bind_t328,8295 -} mtd_bind_t;mtd_bind_t333,8427 -#define CS_EVENT_PRI_LOW 336,8455 -#define CS_EVENT_PRI_HIGH 337,8483 -#define CS_EVENT_WRITE_PROTECT 339,8513 -#define CS_EVENT_CARD_LOCK 340,8554 -#define CS_EVENT_CARD_INSERTION 341,8591 -#define CS_EVENT_CARD_REMOVAL 342,8633 -#define CS_EVENT_BATTERY_DEAD 343,8673 -#define CS_EVENT_BATTERY_LOW 344,8713 -#define CS_EVENT_READY_CHANGE 345,8752 -#define CS_EVENT_CARD_DETECT 346,8792 -#define CS_EVENT_RESET_REQUEST 347,8831 -#define CS_EVENT_RESET_PHYSICAL 348,8872 -#define CS_EVENT_CARD_RESET 349,8914 -#define CS_EVENT_REGISTRATION_COMPLETE 350,8952 -#define CS_EVENT_RESET_COMPLETE 351,9000 -#define CS_EVENT_PM_SUSPEND 352,9042 -#define CS_EVENT_PM_RESUME 353,9080 -#define CS_EVENT_INSERTION_REQUEST 354,9117 -#define CS_EVENT_EJECTION_REQUEST 355,9161 -#define CS_EVENT_MTD_REQUEST 356,9204 -#define CS_EVENT_ERASE_COMPLETE 357,9243 -#define CS_EVENT_REQUEST_ATTENTION 358,9285 -#define CS_EVENT_CB_DETECT 359,9329 -#define CS_EVENT_3VCARD 360,9366 -#define CS_EVENT_XVCARD 361,9401 -#define CS_SUCCESS 364,9456 -#define CS_BAD_ADAPTER 365,9481 -#define CS_BAD_ATTRIBUTE 366,9510 -#define CS_BAD_BASE 367,9540 -#define CS_BAD_EDC 368,9566 -#define CS_BAD_IRQ 369,9591 -#define CS_BAD_OFFSET 370,9616 -#define CS_BAD_PAGE 371,9644 -#define CS_READ_FAILURE 372,9670 -#define CS_BAD_SIZE 373,9700 -#define CS_BAD_SOCKET 374,9726 -#define CS_BAD_TYPE 375,9754 -#define CS_BAD_VCC 376,9780 -#define CS_BAD_VPP 377,9805 -#define CS_BAD_WINDOW 378,9830 -#define CS_WRITE_FAILURE 379,9858 -#define CS_NO_CARD 380,9888 -#define CS_UNSUPPORTED_FUNCTION 381,9913 -#define CS_UNSUPPORTED_MODE 382,9950 -#define CS_BAD_SPEED 383,9983 -#define CS_BUSY 384,10010 -#define CS_GENERAL_FAILURE 385,10033 -#define CS_WRITE_PROTECTED 386,10065 -#define CS_BAD_ARG_LENGTH 387,10097 -#define CS_BAD_ARGS 388,10128 -#define CS_CONFIGURATION_LOCKED 389,10154 -#define CS_IN_USE 390,10191 -#define CS_NO_MORE_ITEMS 391,10215 -#define CS_OUT_OF_RESOURCE 392,10245 -#define CS_BAD_HANDLE 393,10277 -#define CS_BAD_TUPLE 395,10306 -enum service service403,10400 - AccessConfigurationRegister,404,10415 - AccessConfigurationRegister, AddSocketServices,404,10415 - AdjustResourceInfo,405,10467 - AdjustResourceInfo, CheckEraseQueue,405,10467 - AdjustResourceInfo, CheckEraseQueue, CloseMemory,405,10467 - AdjustResourceInfo, CheckEraseQueue, CloseMemory, CopyMemory,405,10467 - DeregisterClient,406,10533 - DeregisterClient, DeregisterEraseQueue,406,10533 - DeregisterClient, DeregisterEraseQueue, GetCardServicesInfo,406,10533 - GetClientInfo,407,10598 - GetClientInfo, GetConfigurationInfo,407,10598 - GetClientInfo, GetConfigurationInfo, GetEventMask,407,10598 - GetFirstClient,408,10653 - GetFirstClient, GetFirstPartion,408,10653 - GetFirstClient, GetFirstPartion, GetFirstRegion,408,10653 - GetFirstClient, GetFirstPartion, GetFirstRegion, GetFirstTuple,408,10653 - GetNextClient,409,10721 - GetNextClient, GetNextPartition,409,10721 - GetNextClient, GetNextPartition, GetNextRegion,409,10721 - GetNextClient, GetNextPartition, GetNextRegion, GetNextTuple,409,10721 - GetStatus,410,10787 - GetStatus, GetTupleData,410,10787 - GetStatus, GetTupleData, MapLogSocket,410,10787 - GetStatus, GetTupleData, MapLogSocket, MapLogWindow,410,10787 - GetStatus, GetTupleData, MapLogSocket, MapLogWindow, MapMemPage,410,10787 - MapPhySocket,411,10856 - MapPhySocket, MapPhyWindow,411,10856 - MapPhySocket, MapPhyWindow, ModifyConfiguration,411,10856 - MapPhySocket, MapPhyWindow, ModifyConfiguration, ModifyWindow,411,10856 - OpenMemory,412,10923 - OpenMemory, ParseTuple,412,10923 - OpenMemory, ParseTuple, ReadMemory,412,10923 - OpenMemory, ParseTuple, ReadMemory, RegisterClient,412,10923 - RegisterEraseQueue,413,10979 - RegisterEraseQueue, RegisterMTD,413,10979 - RegisterEraseQueue, RegisterMTD, RegisterTimer,413,10979 - ReleaseConfiguration,414,11031 - ReleaseConfiguration, ReleaseExclusive,414,11031 - ReleaseConfiguration, ReleaseExclusive, ReleaseIO,414,11031 - ReleaseConfiguration, ReleaseExclusive, ReleaseIO, ReleaseIRQ,414,11031 - ReleaseSocketMask,415,11098 - ReleaseSocketMask, ReleaseWindow,415,11098 - ReleaseSocketMask, ReleaseWindow, ReplaceSocketServices,415,11098 - RequestConfiguration,416,11159 - RequestConfiguration, RequestExclusive,416,11159 - RequestConfiguration, RequestExclusive, RequestIO,416,11159 - RequestConfiguration, RequestExclusive, RequestIO, RequestIRQ,416,11159 - RequestSocketMask,417,11226 - RequestSocketMask, RequestWindow,417,11226 - RequestSocketMask, RequestWindow, ResetCard,417,11226 - RequestSocketMask, RequestWindow, ResetCard, ReturnSSEntry,417,11226 - SetEventMask,418,11290 - SetEventMask, SetRegion,418,11290 - SetEventMask, SetRegion, ValidateCIS,418,11290 - SetEventMask, SetRegion, ValidateCIS, VendorSpecific,418,11290 - WriteMemory,419,11348 - WriteMemory, BindDevice,419,11348 - WriteMemory, BindDevice, BindMTD,419,11348 - WriteMemory, BindDevice, BindMTD, ReportError,419,11348 - SuspendCard,420,11399 - SuspendCard, ResumeCard,420,11399 - SuspendCard, ResumeCard, EjectCard,420,11399 - SuspendCard, ResumeCard, EjectCard, InsertCard,420,11399 - SuspendCard, ResumeCard, EjectCard, InsertCard, ReplaceCIS,420,11399 - GetFirstWindow,421,11463 - GetFirstWindow, GetNextWindow,421,11463 - GetFirstWindow, GetNextWindow, GetMemPage421,11463 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/ss.h,1902 -#define _LINUX_SS_H31,1404 -#define SS_WRPROT 39,1586 -#define SS_CARDLOCK 40,1611 -#define SS_EJECTION 41,1638 -#define SS_INSERTION 42,1665 -#define SS_BATDEAD 43,1693 -#define SS_BATWARN 44,1719 -#define SS_READY 45,1745 -#define SS_DETECT 46,1769 -#define SS_POWERON 47,1794 -#define SS_GPI 48,1820 -#define SS_STSCHG 49,1843 -#define SS_CARDBUS 50,1868 -#define SS_3VCARD 51,1894 -#define SS_XVCARD 52,1919 -#define SS_PENDING 53,1944 -#define SS_ZVCARD 54,1970 -#define SS_CAP_PAGE_REGS 57,2029 -#define SS_CAP_VIRTUAL_BUS 58,2061 -#define SS_CAP_MEM_ALIGN 59,2095 -#define SS_CAP_STATIC_MAP 60,2127 -#define SS_CAP_PCCARD 61,2160 -#define SS_CAP_CARDBUS 62,2190 -typedef struct socket_state_t socket_state_t65,2253 -} socket_state_t;socket_state_t70,2362 -#define SS_PWR_AUTO 75,2450 -#define SS_IOCARD 76,2477 -#define SS_RESET 77,2502 -#define SS_DMA_MODE 78,2526 -#define SS_SPKR_ENA 79,2553 -#define SS_OUTPUT_ENA 80,2580 -#define MAP_ACTIVE 83,2654 -#define MAP_16BIT 84,2678 -#define MAP_AUTOSZ 85,2701 -#define MAP_0WS 86,2725 -#define MAP_WRPROT 87,2747 -#define MAP_ATTRIB 88,2771 -#define MAP_USE_WAIT 89,2795 -#define MAP_PREFETCH 90,2821 -#define MAP_IOSPACE 93,2887 -typedef struct pccard_io_map pccard_io_map95,2913 -} pccard_io_map;pccard_io_map100,3023 -typedef struct pccard_mem_map pccard_mem_map102,3041 -} pccard_mem_map;pccard_mem_map109,3199 -typedef struct cb_bridge_map cb_bridge_map111,3218 -} cb_bridge_map;cb_bridge_map115,3306 -struct pccard_operations pccard_operations122,3376 -typedef struct erase_busy_t erase_busy_t138,4042 -} erase_busy_t;erase_busy_t143,4186 -typedef struct io_window_t io_window_t145,4203 -} io_window_t;io_window_t150,4334 -#define WINDOW_MAGIC 152,4350 -typedef struct window_t window_t153,4378 -} window_t;window_t159,4518 -#define MAX_IO_WIN 162,4577 -#define MAX_WIN 165,4649 -struct pcmcia_socket pcmcia_socket170,4703 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/version.h,55 -#define CS_RELEASE 3,56 -#define CS_RELEASE_CODE 4,84 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/cistpl.h,12274 -#define _LINUX_CISTPL_H31,1412 -#define CISTPL_NULL 33,1437 -#define CISTPL_DEVICE 34,1463 -#define CISTPL_LONGLINK_CB 35,1491 -#define CISTPL_INDIRECT 36,1523 -#define CISTPL_CONFIG_CB 37,1553 -#define CISTPL_CFTABLE_ENTRY_CB 38,1583 -#define CISTPL_LONGLINK_MFC 39,1620 -#define CISTPL_BAR 40,1653 -#define CISTPL_PWR_MGMNT 41,1678 -#define CISTPL_EXTDEVICE 42,1708 -#define CISTPL_CHECKSUM 43,1738 -#define CISTPL_LONGLINK_A 44,1768 -#define CISTPL_LONGLINK_C 45,1799 -#define CISTPL_LINKTARGET 46,1830 -#define CISTPL_NO_LINK 47,1861 -#define CISTPL_VERS_1 48,1890 -#define CISTPL_ALTSTR 49,1918 -#define CISTPL_DEVICE_A 50,1946 -#define CISTPL_JEDEC_C 51,1976 -#define CISTPL_JEDEC_A 52,2005 -#define CISTPL_CONFIG 53,2034 -#define CISTPL_CFTABLE_ENTRY 54,2062 -#define CISTPL_DEVICE_OC 55,2096 -#define CISTPL_DEVICE_OA 56,2126 -#define CISTPL_DEVICE_GEO 57,2156 -#define CISTPL_DEVICE_GEO_A 58,2187 -#define CISTPL_MANFID 59,2220 -#define CISTPL_FUNCID 60,2248 -#define CISTPL_FUNCE 61,2276 -#define CISTPL_SWIL 62,2303 -#define CISTPL_END 63,2329 -#define CISTPL_VERS_2 65,2375 -#define CISTPL_FORMAT 66,2403 -#define CISTPL_GEOMETRY 67,2431 -#define CISTPL_BYTEORDER 68,2461 -#define CISTPL_DATE 69,2491 -#define CISTPL_BATTERY 70,2517 -#define CISTPL_FORMAT_A 71,2546 -#define CISTPL_ORG 73,2597 -#define CISTPL_SPCL 74,2622 -typedef struct cistpl_longlink_t cistpl_longlink_t76,2649 -} cistpl_longlink_t;cistpl_longlink_t78,2700 -typedef struct cistpl_checksum_t cistpl_checksum_t80,2722 -} cistpl_checksum_t;cistpl_checksum_t84,2808 -#define CISTPL_MAX_FUNCTIONS 86,2830 -#define CISTPL_MFC_ATTR 87,2861 -#define CISTPL_MFC_COMMON 88,2891 -typedef struct cistpl_longlink_mfc_t cistpl_longlink_mfc_t90,2923 -} cistpl_longlink_mfc_t;cistpl_longlink_mfc_t96,3051 -#define CISTPL_MAX_ALTSTR_STRINGS 98,3077 -typedef struct cistpl_altstr_t cistpl_altstr_t100,3114 -} cistpl_altstr_t;cistpl_altstr_t104,3224 -#define CISTPL_DTYPE_NULL 106,3244 -#define CISTPL_DTYPE_ROM 107,3275 -#define CISTPL_DTYPE_OTPROM 108,3305 -#define CISTPL_DTYPE_EPROM 109,3338 -#define CISTPL_DTYPE_EEPROM 110,3370 -#define CISTPL_DTYPE_FLASH 111,3403 -#define CISTPL_DTYPE_SRAM 112,3435 -#define CISTPL_DTYPE_DRAM 113,3466 -#define CISTPL_DTYPE_FUNCSPEC 114,3497 -#define CISTPL_DTYPE_EXTEND 115,3532 -#define CISTPL_MAX_DEVICES 117,3566 -typedef struct cistpl_device_t cistpl_device_t119,3596 -} cistpl_device_t;cistpl_device_t127,3744 -#define CISTPL_DEVICE_MWAIT 129,3764 -#define CISTPL_DEVICE_3VCC 130,3797 -typedef struct cistpl_device_o_t cistpl_device_o_t132,3830 -} cistpl_device_o_t;cistpl_device_o_t135,3912 -#define CISTPL_VERS_1_MAX_PROD_STRINGS 137,3934 -typedef struct cistpl_vers_1_t cistpl_vers_1_t139,3976 -} cistpl_vers_1_t;cistpl_vers_1_t145,4127 -typedef struct cistpl_jedec_t cistpl_jedec_t147,4147 -} cistpl_jedec_t;cistpl_jedec_t153,4265 -typedef struct cistpl_manfid_t cistpl_manfid_t155,4284 -} cistpl_manfid_t;cistpl_manfid_t158,4353 -#define CISTPL_FUNCID_MULTI 160,4373 -#define CISTPL_FUNCID_MEMORY 161,4406 -#define CISTPL_FUNCID_SERIAL 162,4440 -#define CISTPL_FUNCID_PARALLEL 163,4474 -#define CISTPL_FUNCID_FIXED 164,4510 -#define CISTPL_FUNCID_VIDEO 165,4543 -#define CISTPL_FUNCID_NETWORK 166,4576 -#define CISTPL_FUNCID_AIMS 167,4611 -#define CISTPL_FUNCID_SCSI 168,4643 -#define CISTPL_SYSINIT_POST 170,4676 -#define CISTPL_SYSINIT_ROM 171,4709 -typedef struct cistpl_funcid_t cistpl_funcid_t173,4742 -} cistpl_funcid_t;cistpl_funcid_t176,4812 -typedef struct cistpl_funce_t cistpl_funce_t178,4832 -} cistpl_funce_t;cistpl_funce_t181,4901 -#define CISTPL_FUNCE_SERIAL_IF 189,5105 -#define CISTPL_FUNCE_SERIAL_CAP 190,5142 -#define CISTPL_FUNCE_SERIAL_SERV_DATA 191,5180 -#define CISTPL_FUNCE_SERIAL_SERV_FAX 192,5223 -#define CISTPL_FUNCE_SERIAL_SERV_VOICE 193,5265 -#define CISTPL_FUNCE_SERIAL_CAP_DATA 194,5309 -#define CISTPL_FUNCE_SERIAL_CAP_FAX 195,5351 -#define CISTPL_FUNCE_SERIAL_CAP_VOICE 196,5392 -#define CISTPL_FUNCE_SERIAL_IF_DATA 197,5435 -#define CISTPL_FUNCE_SERIAL_IF_FAX 198,5476 -#define CISTPL_FUNCE_SERIAL_IF_VOICE 199,5516 -#define CISTPL_SERIAL_UART_8250 202,5585 -#define CISTPL_SERIAL_UART_16450 203,5623 -#define CISTPL_SERIAL_UART_16550 204,5661 -#define CISTPL_SERIAL_UART_8251 205,5699 -#define CISTPL_SERIAL_UART_8530 206,5737 -#define CISTPL_SERIAL_UART_85230 207,5775 -#define CISTPL_SERIAL_UART_SPACE 210,5838 -#define CISTPL_SERIAL_UART_MARK 211,5876 -#define CISTPL_SERIAL_UART_ODD 212,5914 -#define CISTPL_SERIAL_UART_EVEN 213,5951 -#define CISTPL_SERIAL_UART_5BIT 214,5989 -#define CISTPL_SERIAL_UART_6BIT 215,6027 -#define CISTPL_SERIAL_UART_7BIT 216,6065 -#define CISTPL_SERIAL_UART_8BIT 217,6103 -#define CISTPL_SERIAL_UART_1STOP 218,6141 -#define CISTPL_SERIAL_UART_MSTOP 219,6179 -#define CISTPL_SERIAL_UART_2STOP 220,6217 -typedef struct cistpl_serial_t cistpl_serial_t222,6256 -} cistpl_serial_t;cistpl_serial_t226,6357 -typedef struct cistpl_modem_cap_t cistpl_modem_cap_t228,6377 -} cistpl_modem_cap_t;cistpl_modem_cap_t233,6541 -#define CISTPL_SERIAL_MOD_103 235,6564 -#define CISTPL_SERIAL_MOD_V21 236,6600 -#define CISTPL_SERIAL_MOD_V23 237,6636 -#define CISTPL_SERIAL_MOD_V22 238,6672 -#define CISTPL_SERIAL_MOD_212A 239,6708 -#define CISTPL_SERIAL_MOD_V22BIS 240,6745 -#define CISTPL_SERIAL_MOD_V26 241,6783 -#define CISTPL_SERIAL_MOD_V26BIS 242,6819 -#define CISTPL_SERIAL_MOD_V27BIS 243,6857 -#define CISTPL_SERIAL_MOD_V29 244,6895 -#define CISTPL_SERIAL_MOD_V32 245,6931 -#define CISTPL_SERIAL_MOD_V32BIS 246,6967 -#define CISTPL_SERIAL_MOD_V34 247,7005 -#define CISTPL_SERIAL_ERR_MNP2_4 249,7042 -#define CISTPL_SERIAL_ERR_V42_LAPM 250,7080 -#define CISTPL_SERIAL_CMPR_V42BIS 252,7121 -#define CISTPL_SERIAL_CMPR_MNP5 253,7160 -#define CISTPL_SERIAL_CMD_AT1 255,7199 -#define CISTPL_SERIAL_CMD_AT2 256,7235 -#define CISTPL_SERIAL_CMD_AT3 257,7271 -#define CISTPL_SERIAL_CMD_MNP_AT 258,7307 -#define CISTPL_SERIAL_CMD_V25BIS 259,7345 -#define CISTPL_SERIAL_CMD_V25A 260,7383 -#define CISTPL_SERIAL_CMD_DMCL 261,7420 -typedef struct cistpl_data_serv_t cistpl_data_serv_t263,7458 -} cistpl_data_serv_t;cistpl_data_serv_t275,7756 -typedef struct cistpl_fax_serv_t cistpl_fax_serv_t277,7779 -} cistpl_fax_serv_t;cistpl_fax_serv_t285,7975 -typedef struct cistpl_voice_serv_t cistpl_voice_serv_t287,7997 -} cistpl_voice_serv_t;cistpl_voice_serv_t290,8080 -#define CISTPL_FUNCE_LAN_TECH 298,8287 -#define CISTPL_FUNCE_LAN_SPEED 299,8323 -#define CISTPL_FUNCE_LAN_MEDIA 300,8360 -#define CISTPL_FUNCE_LAN_NODE_ID 301,8397 -#define CISTPL_FUNCE_LAN_CONNECTOR 302,8435 -#define CISTPL_LAN_TECH_ARCNET 305,8499 -#define CISTPL_LAN_TECH_ETHERNET 306,8536 -#define CISTPL_LAN_TECH_TOKENRING 307,8574 -#define CISTPL_LAN_TECH_LOCALTALK 308,8613 -#define CISTPL_LAN_TECH_FDDI 309,8652 -#define CISTPL_LAN_TECH_ATM 310,8687 -#define CISTPL_LAN_TECH_WIRELESS 311,8721 -typedef struct cistpl_lan_tech_t cistpl_lan_tech_t313,8760 -} cistpl_lan_tech_t;cistpl_lan_tech_t315,8812 -typedef struct cistpl_lan_speed_t cistpl_lan_speed_t317,8834 -} cistpl_lan_speed_t;cistpl_lan_speed_t319,8887 -#define CISTPL_LAN_MEDIA_UTP 322,8938 -#define CISTPL_LAN_MEDIA_STP 323,8973 -#define CISTPL_LAN_MEDIA_THIN_COAX 324,9008 -#define CISTPL_LAN_MEDIA_THICK_COAX 325,9048 -#define CISTPL_LAN_MEDIA_FIBER 326,9089 -#define CISTPL_LAN_MEDIA_900MHZ 327,9126 -#define CISTPL_LAN_MEDIA_2GHZ 328,9164 -#define CISTPL_LAN_MEDIA_5GHZ 329,9200 -#define CISTPL_LAN_MEDIA_DIFF_IR 330,9236 -#define CISTPL_LAN_MEDIA_PTP_IR 331,9274 -typedef struct cistpl_lan_media_t cistpl_lan_media_t333,9313 -} cistpl_lan_media_t;cistpl_lan_media_t335,9367 -typedef struct cistpl_lan_node_id_t cistpl_lan_node_id_t337,9390 -} cistpl_lan_node_id_t;cistpl_lan_node_id_t340,9462 -typedef struct cistpl_lan_connector_t cistpl_lan_connector_t342,9487 -} cistpl_lan_connector_t;cistpl_lan_connector_t344,9544 -#define CISTPL_IDE_INTERFACE 352,9754 -typedef struct cistpl_ide_interface_t cistpl_ide_interface_t354,9790 -} cistpl_ide_interface_t;cistpl_ide_interface_t356,9852 -#define CISTPL_IDE_SILICON 359,9904 -#define CISTPL_IDE_UNIQUE 360,9937 -#define CISTPL_IDE_DUAL 361,9969 -#define CISTPL_IDE_HAS_SLEEP 364,10027 -#define CISTPL_IDE_HAS_STANDBY 365,10062 -#define CISTPL_IDE_HAS_IDLE 366,10099 -#define CISTPL_IDE_LOW_POWER 367,10133 -#define CISTPL_IDE_REG_INHIBIT 368,10168 -#define CISTPL_IDE_HAS_INDEX 369,10205 -#define CISTPL_IDE_IOIS16 370,10240 -typedef struct cistpl_ide_feature_t cistpl_ide_feature_t372,10273 -} cistpl_ide_feature_t;cistpl_ide_feature_t375,10353 -#define CISTPL_FUNCE_IDE_IFACE 377,10378 -#define CISTPL_FUNCE_IDE_MASTER 378,10415 -#define CISTPL_FUNCE_IDE_SLAVE 379,10453 -#define CISTPL_BAR_SPACE 387,10672 -#define CISTPL_BAR_SPACE_IO 388,10702 -#define CISTPL_BAR_PREFETCH 389,10735 -#define CISTPL_BAR_CACHEABLE 390,10768 -#define CISTPL_BAR_1MEG_MAP 391,10802 -typedef struct cistpl_bar_t cistpl_bar_t393,10836 -} cistpl_bar_t;cistpl_bar_t396,10899 -typedef struct cistpl_config_t cistpl_config_t398,10916 -} cistpl_config_t;cistpl_config_t403,11028 -#define CISTPL_POWER_VNOM 406,11116 -#define CISTPL_POWER_VMIN 407,11144 -#define CISTPL_POWER_VMAX 408,11172 -#define CISTPL_POWER_ISTATIC 409,11200 -#define CISTPL_POWER_IAVG 410,11231 -#define CISTPL_POWER_IPEAK 411,11259 -#define CISTPL_POWER_IDOWN 412,11288 -#define CISTPL_POWER_HIGHZ_OK 414,11318 -#define CISTPL_POWER_HIGHZ_REQ 415,11353 -typedef struct cistpl_power_t cistpl_power_t417,11390 -} cistpl_power_t;cistpl_power_t421,11480 -typedef struct cistpl_timing_t cistpl_timing_t423,11499 -} cistpl_timing_t;cistpl_timing_t427,11616 -#define CISTPL_IO_LINES_MASK 429,11636 -#define CISTPL_IO_8BIT 430,11670 -#define CISTPL_IO_16BIT 431,11699 -#define CISTPL_IO_RANGE 432,11729 -#define CISTPL_IO_MAX_WIN 434,11760 -typedef struct cistpl_io_t cistpl_io_t436,11790 -} cistpl_io_t;cistpl_io_t443,11922 -typedef struct cistpl_irq_t cistpl_irq_t445,11938 -} cistpl_irq_t;cistpl_irq_t448,12008 -#define CISTPL_MEM_MAX_WIN 450,12025 -typedef struct cistpl_mem_t cistpl_mem_t452,12055 -} cistpl_mem_t;cistpl_mem_t460,12212 -#define CISTPL_CFTABLE_DEFAULT 462,12229 -#define CISTPL_CFTABLE_BVDS 463,12268 -#define CISTPL_CFTABLE_WP 464,12304 -#define CISTPL_CFTABLE_RDYBSY 465,12338 -#define CISTPL_CFTABLE_MWAIT 466,12376 -#define CISTPL_CFTABLE_AUDIO 467,12413 -#define CISTPL_CFTABLE_READONLY 468,12450 -#define CISTPL_CFTABLE_PWRDOWN 469,12490 -typedef struct cistpl_cftable_entry_t cistpl_cftable_entry_t471,12530 -} cistpl_cftable_entry_t;cistpl_cftable_entry_t481,12784 -#define CISTPL_CFTABLE_MASTER 483,12811 -#define CISTPL_CFTABLE_INVALIDATE 484,12851 -#define CISTPL_CFTABLE_VGA_PALETTE 485,12894 -#define CISTPL_CFTABLE_PARITY 486,12938 -#define CISTPL_CFTABLE_WAIT 487,12978 -#define CISTPL_CFTABLE_SERR 488,13016 -#define CISTPL_CFTABLE_FAST_BACK 489,13054 -#define CISTPL_CFTABLE_BINARY_AUDIO 490,13096 -#define CISTPL_CFTABLE_PWM_AUDIO 491,13141 -typedef struct cistpl_cftable_entry_cb_t cistpl_cftable_entry_cb_t493,13184 -} cistpl_cftable_entry_cb_t;cistpl_cftable_entry_cb_t501,13378 -typedef struct cistpl_device_geo_t cistpl_device_geo_t503,13408 -} cistpl_device_geo_t;cistpl_device_geo_t513,13627 -typedef struct cistpl_vers_2_t cistpl_vers_2_t515,13651 -} cistpl_vers_2_t;cistpl_vers_2_t523,13828 -typedef struct cistpl_org_t cistpl_org_t525,13848 -} cistpl_org_t;cistpl_org_t528,13918 -#define CISTPL_ORG_FS 530,13935 -#define CISTPL_ORG_APPSPEC 531,13963 -#define CISTPL_ORG_XIP 532,13995 -typedef struct cistpl_format_t cistpl_format_t534,14025 -} cistpl_format_t;cistpl_format_t539,14127 -#define CISTPL_FORMAT_DISK 541,14147 -#define CISTPL_FORMAT_MEM 542,14179 -#define CISTPL_EDC_NONE 544,14211 -#define CISTPL_EDC_CKSUM 545,14241 -#define CISTPL_EDC_CRC 546,14271 -#define CISTPL_EDC_PCC 547,14300 -typedef union cisparse_t cisparse_t549,14330 -} cisparse_t;cisparse_t568,14925 -typedef struct tuple_t tuple_t570,14940 -} tuple_t;tuple_t582,15293 -#define RETURN_FIRST_TUPLE 585,15335 -#define TUPLE_RETURN_LINK 588,15401 -#define TUPLE_RETURN_COMMON 589,15432 -typedef struct cisinfo_t cisinfo_t592,15488 -} cisinfo_t;cisinfo_t594,15533 -#define CISTPL_MAX_CIS_SIZE 596,15547 -typedef struct cisdump_t cisdump_t599,15603 -} cisdump_t;cisdump_t602,15689 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/mem_op.h,348 -#define _LINUX_MEM_OP_H31,1412 -#define copy_from_pc 45,1791 -#define copy_to_pc 46,1826 -static inline void copy_pc_to_user(48,1858 -static inline void copy_user_to_pc(60,2150 -static inline void copy_from_pc(79,2516 -static inline void copy_to_pc(95,2819 -static inline void copy_pc_to_user(109,3113 -static inline void copy_user_to_pc(123,3424 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/memory.h,173 -#define _LINUX_MEMORY_H31,1411 -typedef struct erase_info_t erase_info_t33,1436 -} erase_info_t;erase_info_t36,1502 -#define MEMGETINFO 38,1519 -#define MEMERASE 39,1567 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/bulkmem.h,2872 -#define _LINUX_BULKMEM_H34,1494 -typedef struct region_info_t region_info_t37,1563 -} region_info_t;region_info_t46,1793 -#define REGION_TYPE 48,1811 -#define REGION_TYPE_CM 49,1839 -#define REGION_TYPE_AM 50,1870 -#define REGION_PREFETCH 51,1901 -#define REGION_CACHEABLE 52,1933 -#define REGION_BAR_MASK 53,1965 -#define REGION_BAR_SHIFT 54,1997 -typedef struct open_mem_t open_mem_t57,2047 -} open_mem_t;open_mem_t60,2117 -#define MEMORY_TYPE 63,2164 -#define MEMORY_TYPE_CM 64,2192 -#define MEMORY_TYPE_AM 65,2223 -#define MEMORY_EXCLUSIVE 66,2254 -#define MEMORY_PREFETCH 67,2286 -#define MEMORY_CACHEABLE 68,2318 -#define MEMORY_BAR_MASK 69,2350 -#define MEMORY_BAR_SHIFT 70,2382 -typedef struct eraseq_entry_t eraseq_entry_t72,2411 -} eraseq_entry_t;eraseq_entry_t78,2547 -typedef struct eraseq_hdr_t eraseq_hdr_t80,2566 -} eraseq_hdr_t;eraseq_hdr_t83,2658 -#define ERASE_QUEUED 85,2675 -#define ERASE_IN_PROGRESS(ERASE_IN_PROGRESS86,2702 -#define ERASE_IDLE 87,2759 -#define ERASE_PASSED 88,2784 -#define ERASE_FAILED 89,2811 -#define ERASE_MISSING 91,2839 -#define ERASE_MEDIA_WRPROT 92,2867 -#define ERASE_NOT_ERASABLE 93,2899 -#define ERASE_BAD_OFFSET 94,2931 -#define ERASE_BAD_TECH 95,2961 -#define ERASE_BAD_SOCKET 96,2990 -#define ERASE_BAD_VCC 97,3020 -#define ERASE_BAD_VPP 98,3048 -#define ERASE_BAD_SIZE 99,3076 -typedef struct copy_op_t copy_op_t102,3127 -} copy_op_t;copy_op_t107,3243 -typedef struct mem_op_t mem_op_t110,3294 -} mem_op_t;mem_op_t114,3377 -#define MEM_OP_BUFFER 116,3390 -#define MEM_OP_BUFFER_USER 117,3418 -#define MEM_OP_BUFFER_KERNEL 118,3450 -#define MEM_OP_DISABLE_ERASE 119,3484 -#define MEM_OP_VERIFY 120,3518 -typedef struct mtd_reg_t mtd_reg_t123,3569 -} mtd_reg_t;mtd_reg_t127,3656 -typedef struct mtd_request_t mtd_request_t133,3711 -} mtd_request_t;mtd_request_t141,3896 -#define MTD_REQ_ACTION 144,3943 -#define MTD_REQ_ERASE 145,3973 -#define MTD_REQ_READ 146,4002 -#define MTD_REQ_WRITE 147,4030 -#define MTD_REQ_COPY 148,4059 -#define MTD_REQ_NOERASE 149,4087 -#define MTD_REQ_VERIFY 150,4118 -#define MTD_REQ_READY 151,4148 -#define MTD_REQ_TIMEOUT 152,4177 -#define MTD_REQ_LAST 153,4208 -#define MTD_REQ_FIRST 154,4236 -#define MTD_REQ_KERNEL 155,4265 -#define MTD_WAITREQ 158,4315 -#define MTD_WAITTIMER 159,4340 -#define MTD_WAITRDY 160,4367 -#define MTD_WAITPOWER 161,4392 -typedef struct mtd_mod_win_t mtd_mod_win_t168,4495 -} mtd_mod_win_t;mtd_mod_win_t172,4593 -typedef struct mtd_vpp_req_t mtd_vpp_req_t175,4631 -} mtd_vpp_req_t;mtd_vpp_req_t177,4685 -typedef struct mtd_rdy_req_t mtd_rdy_req_t180,4724 -} mtd_rdy_req_t;mtd_rdy_req_t182,4771 -enum mtd_helper mtd_helper184,4789 - MTDRequestWindow,185,4807 - MTDRequestWindow, MTDModifyWindow,185,4807 - MTDRequestWindow, MTDModifyWindow, MTDReleaseWindow,185,4807 - MTDSetVpp,186,4864 - MTDSetVpp, MTDRDYMask186,4864 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/ciscode.h,2675 -#define _LINUX_CISCODE_H31,1414 -#define MANFID_3COM 35,1481 -#define PRODID_3COM_3CXEM556 36,1510 -#define PRODID_3COM_3CCFEM556 37,1547 -#define PRODID_3COM_3C562 38,1585 -#define MANFID_ACCTON 40,1620 -#define PRODID_ACCTON_EN2226 41,1651 -#define MANFID_ADAPTEC 43,1689 -#define PRODID_ADAPTEC_SCSI 44,1721 -#define MANFID_ATT 46,1758 -#define PRODID_ATT_KIT 47,1786 -#define MANFID_CONTEC 49,1819 -#define MANFID_FUJITSU 51,1851 -#define PRODID_FUJITSU_MBH10302 52,1883 -#define PRODID_FUJITSU_MBH10304 53,1923 -#define PRODID_FUJITSU_LA501 54,1963 -#define MANFID_IBM 56,2001 -#define PRODID_IBM_HOME_AND_AWAY 57,2029 -#define MANFID_INTEL 59,2070 -#define PRODID_INTEL_DUAL_RS232 60,2100 -#define PRODID_INTEL_2PLUS 61,2140 -#define MANFID_KME 63,2176 -#define PRODID_KME_KXLC005_A 64,2204 -#define PRODID_KME_KXLC005_B 65,2241 -#define MANFID_LINKSYS 67,2279 -#define PRODID_LINKSYS_PCMLM28 68,2311 -#define PRODID_LINKSYS_3400 69,2350 -#define MANFID_MEGAHERTZ 71,2387 -#define PRODID_MEGAHERTZ_VARIOUS 72,2420 -#define PRODID_MEGAHERTZ_EM3288 73,2460 -#define MANFID_MACNICA 75,2501 -#define MANFID_MOTOROLA 77,2534 -#define PRODID_MOTOROLA_MARINER 78,2567 -#define MANFID_NATINST 80,2608 -#define PRODID_NATINST_QUAD_RS232 81,2640 -#define MANFID_NEW_MEDIA 83,2682 -#define MANFID_NOKIA 85,2716 -#define PRODID_NOKIA_CARDPHONE 86,2746 -#define MANFID_OLICOM 88,2786 -#define PRODID_OLICOM_OC2231 89,2817 -#define PRODID_OLICOM_OC2232 90,2854 -#define MANFID_OMEGA 92,2892 -#define PRODID_OMEGA_QSP_100 93,2922 -#define MANFID_OSITECH 95,2960 -#define PRODID_OSITECH_JACK_144 96,2992 -#define PRODID_OSITECH_JACK_288 97,3032 -#define PRODID_OSITECH_JACK_336 98,3072 -#define PRODID_OSITECH_SEVEN 99,3112 -#define MANFID_OXSEMI 101,3150 -#define MANFID_PIONEER 103,3182 -#define MANFID_PSION 105,3215 -#define PRODID_PSION_NET100 106,3245 -#define MANFID_QUATECH 108,3282 -#define PRODID_QUATECH_SPP100 109,3314 -#define PRODID_QUATECH_DUAL_RS232 110,3352 -#define PRODID_QUATECH_DUAL_RS232_D1 111,3393 -#define PRODID_QUATECH_DUAL_RS232_D2 112,3437 -#define PRODID_QUATECH_QUAD_RS232 113,3481 -#define PRODID_QUATECH_DUAL_RS422 114,3522 -#define PRODID_QUATECH_QUAD_RS422 115,3563 -#define MANFID_SMC 117,3605 -#define PRODID_SMC_ETHER 118,3633 -#define MANFID_SOCKET 120,3667 -#define PRODID_SOCKET_DUAL_RS232 121,3698 -#define PRODID_SOCKET_EIO 122,3738 -#define PRODID_SOCKET_LPE 123,3772 -#define PRODID_SOCKET_LPE_CF 124,3806 -#define MANFID_SUNDISK 126,3844 -#define MANFID_TDK 128,3877 -#define PRODID_TDK_CF010 129,3905 -#define PRODID_TDK_GN3410 130,3938 -#define MANFID_TOSHIBA 132,3973 -#define MANFID_UNGERMANN 134,4006 -#define MANFID_XIRCOM 136,4039 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/cisreg.h,1897 -#define _LINUX_CISREG_H31,1412 -#define CISREG_COR 36,1489 -#define CISREG_CCSR 37,1514 -#define CISREG_PRR 38,1540 -#define CISREG_SCR 39,1565 -#define CISREG_ESR 40,1590 -#define CISREG_IOBASE_0 41,1615 -#define CISREG_IOBASE_1 42,1645 -#define CISREG_IOBASE_2 43,1675 -#define CISREG_IOBASE_3 44,1705 -#define CISREG_IOSIZE 45,1735 -#define COR_CONFIG_MASK 50,1804 -#define COR_MFC_CONFIG_MASK 51,1834 -#define COR_FUNC_ENA 52,1867 -#define COR_ADDR_DECODE 53,1894 -#define COR_IREQ_ENA 54,1924 -#define COR_LEVEL_REQ 55,1951 -#define COR_SOFT_RESET 56,1979 -#define CCSR_INTR_ACK 61,2058 -#define CCSR_INTR_PENDING 62,2086 -#define CCSR_POWER_DOWN 63,2117 -#define CCSR_AUDIO_ENA 64,2147 -#define CCSR_IOIS8 65,2176 -#define CCSR_SIGCHG_ENA 66,2201 -#define CCSR_CHANGED 67,2231 -#define PRR_WP_STATUS 72,2294 -#define PRR_READY_STATUS 73,2322 -#define PRR_BVD2_STATUS 74,2352 -#define PRR_BVD1_STATUS 75,2382 -#define PRR_WP_EVENT 76,2412 -#define PRR_READY_EVENT 77,2439 -#define PRR_BVD2_EVENT 78,2469 -#define PRR_BVD1_EVENT 79,2498 -#define SCR_SOCKET_NUM 84,2563 -#define SCR_COPY_NUM 85,2592 -#define ESR_REQ_ATTN_ENA 90,2655 -#define ESR_REQ_ATTN 91,2685 -#define CBFN_EVENT 96,2757 -#define CBFN_MASK 97,2782 -#define CBFN_STATE 98,2806 -#define CBFN_FORCE 99,2831 -#define CBFN_WP 104,2917 -#define CBFN_READY 105,2942 -#define CBFN_BVD2 106,2969 -#define CBFN_BVD1 107,2995 -#define CBFN_GWAKE 108,3021 -#define CBFN_INTR 109,3048 -#define FEMR_BAM_ENA 114,3132 -#define FEMR_PWM_ENA 115,3161 -#define FEMR_WKUP_MASK 116,3190 -#define CISREG_ICTRL0 122,3326 -#define CISREG_ICTRL1 123,3378 -#define CISREG_IADDR0 124,3406 -#define CISREG_IADDR1 125,3458 -#define CISREG_IADDR2 126,3486 -#define CISREG_IADDR3 127,3514 -#define CISREG_IDATA0 128,3542 -#define CISREG_IDATA1 129,3591 -#define ICTRL0_COMMON 131,3620 -#define ICTRL0_AUTOINC 132,3648 -#define ICTRL0_BYTEGRAN 133,3677 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/cs_types.h,623 -#define _LINUX_CS_TYPES_H31,1416 -typedef u_int ioaddr_t;ioaddr_t40,1565 -typedef u_short ioaddr_t;ioaddr_t42,1597 -typedef u_short socket_t;socket_t45,1631 -typedef u_int event_t;event_t46,1657 -typedef u_char cisdata_t;cisdata_t47,1680 -typedef u_short page_t;page_t48,1706 -typedef struct client_t *client_handle_t;client_handle_t51,1748 -typedef struct window_t *window_handle_t;window_handle_t54,1808 -typedef struct region_t *memory_handle_t;memory_handle_t57,1868 -typedef struct eraseq_t *eraseq_handle_t;eraseq_handle_t60,1928 -#define DEV_NAME_LEN 63,1992 -typedef char dev_info_t[dev_info_t66,2024 - -/export0/mef/linux-2.6.9-1.11_FC2/include/pcmcia/ftl.h,567 -#define _LINUX_FTL_H31,1405 -typedef struct erase_unit_header_t erase_unit_header_t33,1427 -} erase_unit_header_t;erase_unit_header_t53,1932 -#define HIDDEN_AREA 56,1991 -#define REVERSE_POLARITY 57,2017 -#define DOUBLE_BAI 58,2047 -#define BLOCK_FREE(BLOCK_FREE62,2125 -#define BLOCK_DELETED(BLOCK_DELETED63,2168 -#define BLOCK_TYPE(BLOCK_TYPE65,2230 -#define BLOCK_ADDRESS(BLOCK_ADDRESS66,2266 -#define BLOCK_NUMBER(BLOCK_NUMBER67,2305 -#define BLOCK_CONTROL 68,2341 -#define BLOCK_DATA 69,2369 -#define BLOCK_REPLACEMENT 70,2394 -#define BLOCK_BAD 71,2425 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/audiochip.h,406 -#define AUDIOCHIP_H2,20 -#define AUDC_SET_RADIO 7,161 -#define AUDC_SET_INPUT 9,241 -#define AUDIO_TUNER 12,308 -#define AUDIO_RADIO 13,340 -#define AUDIO_EXTERN 14,372 -#define AUDIO_INTERN 15,404 -#define AUDIO_OFF 16,436 -#define AUDIO_ON 17,469 -#define AUDIO_EXTERN_1 18,501 -#define AUDIO_EXTERN_2 19,541 -#define AUDIO_MUTE 20,573 -#define AUDIO_UNMUTE 21,605 -#define AUDC_CONFIG_PINNACLE 33,1096 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/ir-common.h,206 -#define IR_TYPE_RC5 26,935 -#define IR_TYPE_OTHER 27,961 -#define IR_KEYTAB_TYPE 29,988 -#define IR_KEYTAB_SIZE 30,1015 -#define IR_KEYCODE(IR_KEYCODE32,1096 -struct ir_input_state ir_input_state35,1196 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/saa6752hs.h,523 -#define _SAA6752HS_H22,852 -enum mpeg_bitrate_mode mpeg_bitrate_mode24,874 - MPEG_BITRATE_MODE_VBR 25,899 - MPEG_BITRATE_MODE_CBR 26,950 - MPEG_BITRATE_MODE_MAX28,1002 -enum mpeg_audio_bitrate mpeg_audio_bitrate31,1029 - MPEG_AUDIO_BITRATE_256 32,1055 - MPEG_AUDIO_BITRATE_384 33,1103 - MPEG_AUDIO_BITRATE_MAX35,1156 -#define MPEG_VIDEO_TARGET_BITRATE_MAX 38,1184 -#define MPEG_VIDEO_MAX_BITRATE_MAX 39,1228 -#define MPEG_TOTAL_BITRATE_MAX 40,1269 -struct mpeg_params mpeg_params42,1311 -#define MPEG_SETPARAMS 50,1533 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/video-buf.h,486 -#define UNSET 21,814 -struct videobuf_dmabuf videobuf_dmabuf61,2079 -struct videobuf_mapping videobuf_mapping120,4100 -enum videobuf_state videobuf_state128,4237 - STATE_NEEDS_INIT 129,4259 - STATE_PREPARED 130,4282 - STATE_QUEUED 131,4305 - STATE_ACTIVE 132,4328 - STATE_DONE 133,4351 - STATE_ERROR 134,4374 - STATE_IDLE 135,4397 -struct videobuf_buffer videobuf_buffer138,4424 -struct videobuf_queue_ops videobuf_queue_ops167,5327 -struct videobuf_queue videobuf_queue176,5672 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/ovcamchip.h,1131 -#define __LINUX_OVCAMCHIP_H15,542 - #define I2C_DRIVERID_OVCAMCHIP 22,706 - #define I2C_HW_SMBUS_OV511 25,779 - #define I2C_HW_SMBUS_OV518 28,846 - #define I2C_HW_SMBUS_OVFX2 31,913 - OVCAMCHIP_CID_CONT,40,1097 - OVCAMCHIP_CID_BRIGHT,41,1134 - OVCAMCHIP_CID_SAT,42,1175 - OVCAMCHIP_CID_HUE,43,1213 - OVCAMCHIP_CID_EXP,44,1244 - OVCAMCHIP_CID_FREQ,45,1280 - OVCAMCHIP_CID_BANDFILT,46,1324 - OVCAMCHIP_CID_AUTOBRIGHT,47,1371 - OVCAMCHIP_CID_AUTOEXP,48,1420 - OVCAMCHIP_CID_BACKLIGHT,49,1465 - OVCAMCHIP_CID_MIRROR,50,1521 -#define NUM_CC_TYPES 54,1592 - CC_UNKNOWN,56,1622 - CC_OV76BE,57,1635 - CC_OV7610,58,1647 - CC_OV7620,59,1659 - CC_OV7620AE,60,1671 - CC_OV6620,61,1685 - CC_OV6630,62,1697 - CC_OV6630AE,63,1709 - CC_OV6630AF,64,1723 -#define OV7xx0_SID 71,1862 -#define OV6xx0_SID 72,1895 -struct ovcamchip_control ovcamchip_control78,2050 -struct ovcamchip_window ovcamchip_window83,2106 -#define OVCAMCHIP_CMD_Q_SUBTYPE 96,2347 -#define OVCAMCHIP_CMD_INITIALIZE 97,2407 -#define OVCAMCHIP_CMD_S_CTRL 99,2542 -#define OVCAMCHIP_CMD_G_CTRL 100,2623 -#define OVCAMCHIP_CMD_S_MODE 101,2704 -#define OVCAMCHIP_MAX_CMD 102,2784 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/tuner.h,2806 -#define _TUNER_H23,912 -#define TUNER_TEMIC_PAL 27,947 -#define TUNER_PHILIPS_PAL_I 28,1015 -#define TUNER_PHILIPS_NTSC 29,1045 -#define TUNER_PHILIPS_SECAM 30,1075 -#define TUNER_ABSENT 31,1148 -#define TUNER_PHILIPS_PAL 32,1178 -#define TUNER_TEMIC_NTSC 33,1208 -#define TUNER_TEMIC_PAL_I 34,1283 -#define TUNER_TEMIC_4036FY5_NTSC 35,1358 -#define TUNER_ALPS_TSBH1_NTSC 36,1433 -#define TUNER_ALPS_TSBE1_PAL 37,1467 -#define TUNER_ALPS_TSBB5_PAL_I 38,1500 -#define TUNER_ALPS_TSBE5_PAL 39,1535 -#define TUNER_ALPS_TSBC5_PAL 40,1568 -#define TUNER_TEMIC_4006FH5_PAL 41,1601 -#define TUNER_ALPS_TSHC6_NTSC 42,1679 -#define TUNER_TEMIC_PAL_DK 43,1713 -#define TUNER_PHILIPS_NTSC_M 44,1780 -#define TUNER_TEMIC_4066FY5_PAL_I 45,1812 -#define TUNER_TEMIC_4006FN5_MULTI_PAL 46,1887 -#define TUNER_TEMIC_4009FR5_PAL 47,1986 -#define TUNER_TEMIC_4039FR5_NTSC 48,2072 -#define TUNER_TEMIC_4046FM5 49,2158 -#define TUNER_PHILIPS_PAL_DK 50,2282 -#define TUNER_PHILIPS_FQ1216ME 51,2315 -#define TUNER_LG_PAL_I_FM 52,2400 -#define TUNER_LG_PAL_I 53,2429 -#define TUNER_LG_NTSC_FM 54,2456 -#define TUNER_LG_PAL_FM 55,2484 -#define TUNER_LG_PAL 56,2512 -#define TUNER_TEMIC_4009FN5_MULTI_PAL_FM 57,2537 -#define TUNER_SHARP_2U5JF5540_NTSC 58,2637 -#define TUNER_Samsung_PAL_TCPM9091PD27 59,2676 -#define TUNER_MT2032 60,2718 -#define TUNER_TEMIC_4106FH5 61,2742 -#define TUNER_TEMIC_4012FY5 62,2804 -#define TUNER_TEMIC_4136FY5 63,2865 -#define TUNER_LG_PAL_NEW_TAPC 64,2926 -#define TUNER_PHILIPS_FM1216ME_MK3 65,2961 -#define TUNER_LG_NTSC_NEW_TAPC 66,3000 -#define TUNER_HITACHI_NTSC 67,3036 -#define TUNER_PHILIPS_PAL_MK 68,3072 -#define TUNER_PHILIPS_ATSC 69,3108 -#define TUNER_PHILIPS_FM1236_MK3 70,3144 -#define TUNER_PHILIPS_4IN1 71,3180 -#define TUNER_MICROTUNE_4049FM5 72,3251 -#define TUNER_LG_NTSC_TAPE 73,3287 -#define TUNER_TNF_8831BGFF 74,3323 -#define NOTUNER 76,3360 -#define PAL 77,3378 -#define PAL_I 78,3409 -#define NTSC 79,3427 -#define SECAM 80,3445 -#define ATSC 81,3463 -#define NoTuner 83,3482 -#define Philips 84,3500 -#define TEMIC 85,3518 -#define Sony 86,3536 -#define Alps 87,3554 -#define LGINNOTEK 88,3572 -#define SHARP 89,3592 -#define Samsung 90,3610 -#define Microtune 91,3628 -#define HITACHI 92,3648 -#define Panasonic 93,3666 -#define TUNER_SET_TYPE 95,3688 -#define TUNER_SET_TVFREQ 96,3765 -# define TUNER_SET_RADIOFREQ 98,3860 -# define TUNER_SET_MODE 99,3937 -#define TDA9887_SET_CONFIG 102,4022 -# define TDA9887_PRESENT 104,4098 -# define TDA9887_PORT1 105,4142 -# define TDA9887_PORT2 106,4186 -# define TDA9887_QSS 107,4230 -# define TDA9887_INTERCARRIER 108,4274 -# define TDA9887_DEEMPHASIS_MASK 110,4339 -# define TDA9887_DEEMPHASIS_NONE 111,4384 -# define TDA9887_DEEMPHASIS_50 112,4429 -# define TDA9887_DEEMPHASIS_75 113,4474 -# define TDA9887_AUTOMUTE 114,4519 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/id.h,383 -# define I2C_DRIVERID_TVMIXER 5,119 -# define I2C_DRIVERID_TVAUDIO 8,204 -# define I2C_DRIVERID_DPL3518 13,302 -# define I2C_DRIVERID_TDA9873 16,387 -# define I2C_DRIVERID_TDA9875 19,472 -# define I2C_DRIVERID_PIC16C54_PV951 22,566 -# define I2C_DRIVERID_TDA7432 25,660 -# define I2C_DRIVERID_TDA9874 28,747 -# define I2C_DRIVERID_SAA6752HS 31,836 -# define I2C_ALGO_SAA7134 36,938 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/saa7146.h,7689 -#define __SAA7146__2,20 -#define SAA7146_VERSION_CODE 23,829 -#define saa7146_write(saa7146_write25,881 -#define saa7146_read(saa7146_read26,950 - #define DEBUG_VARIABLE 33,1281 -#define DEBUG_PROLOG 37,1375 -#define INFO(INFO38,1459 -#define DEBUG_PROLOG 40,1540 -#define INFO(INFO41,1623 -#define ERR(ERR44,1705 -#define DEB_S(DEB_S46,1749 -#define DEB_D(DEB_D47,1855 -#define DEB_EE(DEB_EE48,1968 -#define DEB_I2C(DEB_I2C49,2086 -#define DEB_VBI(DEB_VBI50,2189 -#define DEB_INT(DEB_INT51,2292 -#define DEB_CAP(DEB_CAP52,2401 -#define IER_DISABLE(IER_DISABLE54,2509 -#define IER_ENABLE(IER_ENABLE56,2589 -struct saa7146_pgtable saa7146_pgtable64,2759 -struct saa7146_pci_extension_data saa7146_pci_extension_data74,3026 -#define MAKE_EXTENSION_PCI(MAKE_EXTENSION_PCI79,3149 -struct saa7146_extensionsaa7146_extension88,3414 -#define SAA7146_USE_I2C_IRQ 91,3483 -#define SAA7146_I2C_SHORT_DELAY 92,3515 -struct saa7146_dmasaa7146_dma110,4068 -struct saa7146_devsaa7146_dev116,4134 -#define SAA7146_I2C_MEM 174,6290 -#define SAA7146_RPS_MEM 175,6330 -#define SAA7146_I2C_TIMEOUT 178,6396 -#define SAA7146_I2C_RETRIES 179,6458 -#define SAA7146_I2C_DELAY 180,6543 -#define ME1 183,6644 -#define PV1 184,6672 -#define SAA7146_GPIO_INPUT 187,6720 -#define SAA7146_GPIO_IRQHI 188,6752 -#define SAA7146_GPIO_IRQLO 189,6784 -#define SAA7146_GPIO_IRQHL 190,6816 -#define SAA7146_GPIO_OUTLO 191,6848 -#define SAA7146_GPIO_OUTHI 192,6880 -#define DEBINOSWAP 195,6932 -#define CMD_NOP 198,7021 -#define CMD_CLR_EVENT 199,7069 -#define CMD_SET_EVENT 200,7121 -#define CMD_PAUSE 201,7178 -#define CMD_CHECK_LATE 202,7220 -#define CMD_UPLOAD 203,7272 -#define CMD_STOP 204,7316 -#define CMD_INTERRUPT 205,7356 -#define CMD_JUMP 206,7406 -#define CMD_WR_REG 207,7446 -#define CMD_RD_REG 208,7505 -#define CMD_WR_REG_MASK 209,7564 -#define CMD_OAN 211,7632 -#define CMD_INV 212,7657 -#define CMD_SIG4 213,7682 -#define CMD_SIG3 214,7707 -#define CMD_SIG2 215,7732 -#define CMD_SIG1 216,7757 -#define CMD_SIG0 217,7782 -#define CMD_O_FID_B 218,7807 -#define CMD_E_FID_B 219,7835 -#define CMD_O_FID_A 220,7863 -#define CMD_E_FID_A 221,7891 -#define EVT_HS 224,7990 -#define EVT_VBI_B 225,8059 -#define RPS_OAN 226,8110 -#define RPS_INV 227,8177 -#define GPIO3_MSK 228,8240 -#define MASK_00 231,8326 -#define MASK_01 232,8385 -#define MASK_02 233,8444 -#define MASK_03 234,8503 -#define MASK_04 235,8562 -#define MASK_05 236,8621 -#define MASK_06 237,8680 -#define MASK_07 238,8739 -#define MASK_08 239,8798 -#define MASK_09 240,8857 -#define MASK_10 241,8916 -#define MASK_11 242,8976 -#define MASK_12 243,9036 -#define MASK_13 244,9096 -#define MASK_14 245,9156 -#define MASK_15 246,9216 -#define MASK_16 247,9276 -#define MASK_17 248,9336 -#define MASK_18 249,9396 -#define MASK_19 250,9456 -#define MASK_20 251,9516 -#define MASK_21 252,9576 -#define MASK_22 253,9636 -#define MASK_23 254,9696 -#define MASK_24 255,9756 -#define MASK_25 256,9816 -#define MASK_26 257,9876 -#define MASK_27 258,9936 -#define MASK_28 259,9996 -#define MASK_29 260,10056 -#define MASK_30 261,10116 -#define MASK_31 262,10176 -#define MASK_B0 264,10237 -#define MASK_B1 265,10297 -#define MASK_B2 266,10357 -#define MASK_B3 267,10417 -#define MASK_W0 269,10478 -#define MASK_W1 270,10538 -#define MASK_PA 272,10599 -#define MASK_PR 273,10669 -#define MASK_ER 274,10740 -#define MASK_NONE 276,10814 -#define BASE_ODD1 279,10884 -#define BASE_EVEN1 280,10945 -#define PROT_ADDR1 281,10976 -#define PITCH1 282,11007 -#define BASE_PAGE1 283,11038 -#define NUM_LINE_BYTE1 284,11098 -#define BASE_ODD2 286,11130 -#define BASE_EVEN2 287,11190 -#define PROT_ADDR2 288,11221 -#define PITCH2 289,11252 -#define BASE_PAGE2 290,11283 -#define NUM_LINE_BYTE2 291,11343 -#define BASE_ODD3 293,11375 -#define BASE_EVEN3 294,11435 -#define PROT_ADDR3 295,11466 -#define PITCH3 296,11497 -#define BASE_PAGE3 297,11537 -#define NUM_LINE_BYTE3 298,11597 -#define PCI_BT_V1 300,11629 -#define PCI_BT_V2 301,11680 -#define PCI_BT_V3 302,11731 -#define PCI_BT_DEBI 303,11782 -#define PCI_BT_A 304,11825 -#define DD1_INIT 306,11870 -#define DD1_STREAM_B 308,11939 -#define DD1_STREAM_A 309,12010 -#define BRS_CTRL 311,12082 -#define HPS_CTRL 312,12141 -#define HPS_V_SCALE 313,12200 -#define HPS_V_GAIN 314,12257 -#define HPS_H_PRESCALE 315,12321 -#define HPS_H_SCALE 316,12385 -#define BCS_CTRL 317,12444 -#define CHROMA_KEY_RANGE 318,12494 -#define CLIP_FORMAT_CTRL 319,12525 -#define DEBI_CONFIG 321,12595 -#define DEBI_COMMAND 322,12626 -#define DEBI_PAGE 323,12657 -#define DEBI_AD 324,12688 -#define I2C_TRANSFER 326,12721 -#define I2C_STATUS 327,12753 -#define BASE_A1_IN 329,12786 -#define PROT_A1_IN 330,12841 -#define PAGE_A1_IN 331,12872 -#define BASE_A1_OUT 333,12906 -#define PROT_A1_OUT 334,12963 -#define PAGE_A1_OUT 335,12994 -#define BASE_A2_IN 337,13026 -#define PROT_A2_IN 338,13082 -#define PAGE_A2_IN 339,13113 -#define BASE_A2_OUT 341,13145 -#define PROT_A2_OUT 342,13202 -#define PAGE_A2_OUT 343,13233 -#define RPS_PAGE0 345,13265 -#define RPS_PAGE1 346,13328 -#define RPS_THRESH0 348,13392 -#define RPS_THRESH1 349,13455 -#define RPS_TOV0 351,13519 -#define RPS_TOV1 352,13580 -#define IER 354,13642 -#define GPIO_CTRL 356,13707 -#define EC1SSR 358,13764 -#define EC2SSR 359,13832 -#define ECT1R 360,13900 -#define ECT2R 361,13965 -#define ACON1 363,14031 -#define ACON2 364,14062 -#define MC1 366,14094 -#define MC2 367,14157 -#define RPS_ADDR0 369,14222 -#define RPS_ADDR1 370,14289 -#define ISR 372,14357 -#define PSR 373,14483 -#define SSR 374,14546 -#define EC1R 376,14612 -#define EC2R 377,14680 -#define PCI_VDP1 379,14758 -#define PCI_VDP2 380,14825 -#define PCI_VDP3 381,14892 -#define PCI_ADP1 382,14959 -#define PCI_ADP2 383,15031 -#define PCI_ADP3 384,15102 -#define PCI_ADP4 385,15174 -#define PCI_DMA_DDP 386,15245 -#define LEVEL_REP 388,15302 -#define A_TIME_SLOT1 389,15335 -#define A_TIME_SLOT2 390,15390 -#define SPCI_PPEF 393,15462 -#define SPCI_PABO 394,15521 -#define SPCI_PPED 395,15605 -#define SPCI_RPS_I1 396,15684 -#define SPCI_RPS_I0 397,15751 -#define SPCI_RPS_LATE1 398,15818 -#define SPCI_RPS_LATE0 399,15879 -#define SPCI_RPS_E1 400,15940 -#define SPCI_RPS_E0 401,16004 -#define SPCI_RPS_TO1 402,16068 -#define SPCI_RPS_TO0 403,16129 -#define SPCI_UPLD 404,16190 -#define SPCI_DEBI_S 405,16246 -#define SPCI_DEBI_E 406,16300 -#define SPCI_IIC_S 407,16353 -#define SPCI_IIC_E 408,16406 -#define SPCI_A2_IN 409,16458 -#define SPCI_A2_OUT 410,16537 -#define SPCI_A1_IN 411,16617 -#define SPCI_A1_OUT 412,16696 -#define SPCI_AFOU 413,16776 -#define SPCI_V_PE 414,16847 -#define SPCI_VFOU 415,16914 -#define SPCI_FIDA 416,16985 -#define SPCI_FIDB 417,17049 -#define SPCI_PIN3 418,17113 -#define SPCI_PIN2 419,17166 -#define SPCI_PIN1 420,17219 -#define SPCI_PIN0 421,17272 -#define SPCI_ECS 422,17325 -#define SPCI_EC3S 423,17392 -#define SPCI_EC0S 424,17450 -#define SAA7146_I2C_ABORT 427,17519 -#define SAA7146_I2C_SPERR 428,17552 -#define SAA7146_I2C_APERR 429,17585 -#define SAA7146_I2C_DTERR 430,17618 -#define SAA7146_I2C_DRERR 431,17651 -#define SAA7146_I2C_AL 432,17684 -#define SAA7146_I2C_ERR 433,17715 -#define SAA7146_I2C_BUSY 434,17747 -#define SAA7146_I2C_START 436,17780 -#define SAA7146_I2C_CONT 437,17812 -#define SAA7146_I2C_STOP 438,17843 -#define SAA7146_I2C_NOP 439,17874 -#define SAA7146_I2C_BUS_BIT_RATE_6400 441,17906 -#define SAA7146_I2C_BUS_BIT_RATE_3200 442,17952 -#define SAA7146_I2C_BUS_BIT_RATE_480 443,17998 -#define SAA7146_I2C_BUS_BIT_RATE_320 444,18043 -#define SAA7146_I2C_BUS_BIT_RATE_240 445,18088 -#define SAA7146_I2C_BUS_BIT_RATE_120 446,18133 -#define SAA7146_I2C_BUS_BIT_RATE_80 447,18178 -#define SAA7146_I2C_BUS_BIT_RATE_60 448,18222 - -/export0/mef/linux-2.6.9-1.11_FC2/include/media/saa7146_vv.h,2077 -#define __SAA7146_VV__2,23 -#define MAX_SAA7146_CAPTURE_BUFFERS 9,134 -#define BUFFER_TIMEOUT 10,189 -#define WRITE_RPS0(WRITE_RPS012,243 -#define WRITE_RPS1(WRITE_RPS116,340 -struct saa7146_video_dma saa7146_video_dma20,437 -#define FORMAT_BYTE_SWAP 29,563 -#define FORMAT_IS_PLANAR 30,592 -struct saa7146_format saa7146_format32,622 -struct saa7146_standardsaa7146_standard40,718 -struct saa7146_buf saa7146_buf56,1123 -struct saa7146_dmaqueue saa7146_dmaqueue70,1432 -struct saa7146_overlay saa7146_overlay77,1568 -struct saa7146_fh saa7146_fh85,1710 -#define STATUS_OVERLAY 105,2154 -#define STATUS_CAPTURE 106,2182 -struct saa7146_vvsaa7146_vv108,2211 -#define SAA7146_EXCLUSIVE 152,3335 -#define SAA7146_BEFORE 153,3365 -#define SAA7146_AFTER 154,3393 -struct saa7146_extension_ioctlssaa7146_extension_ioctls156,3421 -#define SAA7146_USE_PORT_B_FOR_VBI 163,3504 -struct saa7146_ext_vvsaa7146_ext_vv165,3603 -struct saa7146_use_ops saa7146_use_ops182,4038 -#define RESOURCE_DMA1_HPS 225,6156 -#define RESOURCE_DMA2_CLP 226,6186 -#define RESOURCE_DMA3_BRS 227,6216 -#define SAA7146_HPS_SOURCE_PORT_A 230,6275 -#define SAA7146_HPS_SOURCE_PORT_B 231,6314 -#define SAA7146_HPS_SOURCE_YPB_CPA 232,6353 -#define SAA7146_HPS_SOURCE_YPA_CPB 233,6393 -#define SAA7146_HPS_SYNC_PORT_A 236,6452 -#define SAA7146_HPS_SYNC_PORT_B 237,6490 -#define SAA7146_CLIPPING_MEM 240,6553 -#define SAA7146_CLIPPING_RECT 243,6648 -#define SAA7146_CLIPPING_RECT_INVERTED 244,6683 -#define SAA7146_CLIPPING_MASK 245,6726 -#define SAA7146_CLIPPING_MASK_INVERTED 246,6761 -#define RGB08_COMPOSED 249,6862 -#define RGB15_COMPOSED 251,7034 -#define RGB16_COMPOSED 252,7064 -#define RGB24_COMPOSED 253,7094 -#define RGB32_COMPOSED 254,7124 -#define Y8 256,7155 -#define YUV411_COMPOSED 257,7175 -#define YUV422_COMPOSED 258,7207 -#define YUV411_DECOMPOSED 260,7326 -#define YUV422_DECOMPOSED 261,7359 -#define YUV420_DECOMPOSED 262,7392 -#define IS_PLANAR(IS_PLANAR264,7426 -#define SAA7146_NO_SWAP 267,7480 -#define SAA7146_TWO_BYTE_SWAP 268,7511 -#define SAA7146_FOUR_BYTE_SWAP 269,7548 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_devinfo.h,689 -#define _SCSI_SCSI_DEVINFO_H2,29 -#define BLIST_NOLUN 6,119 -#define BLIST_FORCELUN 7,172 -#define BLIST_BORKEN 9,280 -#define BLIST_KEY 10,345 -#define BLIST_SINGLELUN 11,408 -#define BLIST_NOTQ 12,473 -#define BLIST_SPARSELUN 13,534 -#define BLIST_MAX5LUN 14,601 -#define BLIST_ISROM 15,652 -#define BLIST_LARGELUN 16,717 -#define BLIST_INQUIRY_36 17,784 -#define BLIST_INQUIRY_58 18,854 -#define BLIST_NOSTARTONADD 19,924 -#define BLIST_MS_SKIP_PAGE_08 20,997 -#define BLIST_MS_SKIP_PAGE_3F 21,1065 -#define BLIST_USE_10_BYTE_MS 22,1133 -#define BLIST_MS_192_BYTES_FOR_3F 23,1207 -#define BLIST_REPORTLUN2 24,1286 -#define BLIST_NOREPORTLUN 26,1406 -#define BLIST_NOT_LOCKABLE 27,1487 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi.h,6991 -#define _SCSI_SCSI_H9,230 -#define SCSI_MAX_PHYS_SEGMENTS 17,389 -#define COMMAND_SIZE(COMMAND_SIZE25,521 -#define MAX_SCSI_DEVICE_CODE 31,619 -#define TEST_UNIT_READY 38,747 -#define REZERO_UNIT 39,782 -#define REQUEST_SENSE 40,817 -#define FORMAT_UNIT 41,852 -#define READ_BLOCK_LIMITS 42,887 -#define REASSIGN_BLOCKS 43,922 -#define READ_6 44,957 -#define WRITE_6 45,992 -#define SEEK_6 46,1027 -#define READ_REVERSE 47,1062 -#define WRITE_FILEMARKS 48,1097 -#define SPACE 49,1132 -#define INQUIRY 50,1167 -#define RECOVER_BUFFERED_DATA 51,1202 -#define MODE_SELECT 52,1237 -#define RESERVE 53,1272 -#define RELEASE 54,1307 -#define COPY 55,1342 -#define ERASE 56,1377 -#define MODE_SENSE 57,1412 -#define START_STOP 58,1447 -#define RECEIVE_DIAGNOSTIC 59,1482 -#define SEND_DIAGNOSTIC 60,1517 -#define ALLOW_MEDIUM_REMOVAL 61,1552 -#define SET_WINDOW 63,1588 -#define READ_CAPACITY 64,1623 -#define READ_10 65,1658 -#define WRITE_10 66,1693 -#define SEEK_10 67,1728 -#define WRITE_VERIFY 68,1763 -#define VERIFY 69,1798 -#define SEARCH_HIGH 70,1833 -#define SEARCH_EQUAL 71,1868 -#define SEARCH_LOW 72,1903 -#define SET_LIMITS 73,1938 -#define PRE_FETCH 74,1973 -#define READ_POSITION 75,2008 -#define SYNCHRONIZE_CACHE 76,2043 -#define LOCK_UNLOCK_CACHE 77,2078 -#define READ_DEFECT_DATA 78,2113 -#define MEDIUM_SCAN 79,2148 -#define COMPARE 80,2183 -#define COPY_VERIFY 81,2218 -#define WRITE_BUFFER 82,2253 -#define READ_BUFFER 83,2288 -#define UPDATE_BLOCK 84,2323 -#define READ_LONG 85,2358 -#define WRITE_LONG 86,2393 -#define CHANGE_DEFINITION 87,2428 -#define WRITE_SAME 88,2463 -#define READ_TOC 89,2498 -#define LOG_SELECT 90,2533 -#define LOG_SENSE 91,2568 -#define MODE_SELECT_10 92,2603 -#define RESERVE_10 93,2638 -#define RELEASE_10 94,2673 -#define MODE_SENSE_10 95,2708 -#define PERSISTENT_RESERVE_IN 96,2743 -#define PERSISTENT_RESERVE_OUT 97,2778 -#define REPORT_LUNS 98,2814 -#define MOVE_MEDIUM 99,2849 -#define READ_12 100,2884 -#define WRITE_12 101,2919 -#define WRITE_VERIFY_12 102,2954 -#define SEARCH_HIGH_12 103,2989 -#define SEARCH_EQUAL_12 104,3024 -#define SEARCH_LOW_12 105,3059 -#define READ_ELEMENT_STATUS 106,3094 -#define SEND_VOLUME_TAG 107,3129 -#define WRITE_LONG_2 108,3164 -#define READ_16 109,3199 -#define WRITE_16 110,3234 -#define VERIFY_16 111,3269 -#define SERVICE_ACTION_IN 112,3298 -#define SAI_READ_CAPACITY_16 114,3368 -#define SAM_STAT_GOOD 121,3540 -#define SAM_STAT_CHECK_CONDITION 122,3578 -#define SAM_STAT_CONDITION_MET 123,3616 -#define SAM_STAT_BUSY 124,3654 -#define SAM_STAT_INTERMEDIATE 125,3692 -#define SAM_STAT_INTERMEDIATE_CONDITION_MET 126,3730 -#define SAM_STAT_RESERVATION_CONFLICT 127,3779 -#define SAM_STAT_COMMAND_TERMINATED 128,3822 -#define SAM_STAT_TASK_SET_FULL 129,3887 -#define SAM_STAT_ACA_ACTIVE 130,3925 -#define SAM_STAT_TASK_ABORTED 131,3963 -static inline int scsi_status_is_good(141,4263 -#define GOOD 163,4947 -#define CHECK_CONDITION 164,4981 -#define CONDITION_GOOD 165,5015 -#define BUSY 166,5049 -#define INTERMEDIATE_GOOD 167,5083 -#define INTERMEDIATE_C_GOOD 168,5117 -#define RESERVATION_CONFLICT 169,5151 -#define COMMAND_TERMINATED 170,5185 -#define QUEUE_FULL 171,5219 -#define STATUS_MASK 173,5254 -#define NO_SENSE 179,5312 -#define RECOVERED_ERROR 180,5345 -#define NOT_READY 181,5378 -#define MEDIUM_ERROR 182,5411 -#define HARDWARE_ERROR 183,5444 -#define ILLEGAL_REQUEST 184,5477 -#define UNIT_ATTENTION 185,5510 -#define DATA_PROTECT 186,5543 -#define BLANK_CHECK 187,5576 -#define COPY_ABORTED 188,5609 -#define ABORTED_COMMAND 189,5642 -#define VOLUME_OVERFLOW 190,5675 -#define MISCOMPARE 191,5708 -#define TYPE_DISK 198,5768 -#define TYPE_TAPE 199,5801 -#define TYPE_PRINTER 200,5834 -#define TYPE_PROCESSOR 201,5867 -#define TYPE_WORM 202,5930 -#define TYPE_ROM 203,6001 -#define TYPE_SCANNER 204,6034 -#define TYPE_MOD 205,6067 -#define TYPE_MEDIUM_CHANGER 207,6167 -#define TYPE_COMM 208,6200 -#define TYPE_ENCLOSURE 209,6264 -#define TYPE_RAID 210,6332 -#define TYPE_NO_LUN 211,6365 -struct ccs_modesel_head ccs_modesel_head217,6476 -struct scsi_lun scsi_lun235,6987 -#define COMMAND_COMPLETE 243,7054 -#define EXTENDED_MESSAGE 244,7087 -#define EXTENDED_MODIFY_DATA_POINTER 245,7120 -#define EXTENDED_SDTR 246,7169 -#define EXTENDED_EXTENDED_IDENTIFY 247,7218 -#define EXTENDED_WDTR 248,7288 -#define SAVE_POINTERS 249,7337 -#define RESTORE_POINTERS 250,7370 -#define DISCONNECT 251,7403 -#define INITIATOR_ERROR 252,7436 -#define ABORT 253,7469 -#define MESSAGE_REJECT 254,7502 -#define NOP 255,7535 -#define MSG_PARITY_ERROR 256,7568 -#define LINKED_CMD_COMPLETE 257,7601 -#define LINKED_FLG_CMD_COMPLETE 258,7634 -#define BUS_DEVICE_RESET 259,7671 -#define INITIATE_RECOVERY 261,7705 -#define RELEASE_RECOVERY 262,7768 -#define SIMPLE_QUEUE_TAG 264,7832 -#define HEAD_OF_QUEUE_TAG 265,7865 -#define ORDERED_QUEUE_TAG 266,7898 -#define DID_OK 272,7959 -#define DID_NO_CONNECT 273,8034 -#define DID_BUS_BUSY 274,8109 -#define DID_TIME_OUT 275,8184 -#define DID_BAD_TARGET 276,8259 -#define DID_ABORT 277,8334 -#define DID_PARITY 278,8409 -#define DID_ERROR 279,8484 -#define DID_RESET 280,8559 -#define DID_BAD_INTR 281,8634 -#define DID_PASSTHROUGH 282,8709 -#define DID_SOFT_ERROR 283,8784 -#define DID_IMM_RETRY 284,8859 -#define DRIVER_OK 285,8934 -#define DRIVER_BUSY 291,9085 -#define DRIVER_SOFT 292,9118 -#define DRIVER_MEDIA 293,9151 -#define DRIVER_ERROR 294,9184 -#define DRIVER_INVALID 296,9218 -#define DRIVER_TIMEOUT 297,9251 -#define DRIVER_HARD 298,9284 -#define DRIVER_SENSE 299,9317 -#define SUGGEST_RETRY 301,9348 -#define SUGGEST_ABORT 302,9381 -#define SUGGEST_REMAP 303,9414 -#define SUGGEST_DIE 304,9447 -#define SUGGEST_SENSE 305,9480 -#define SUGGEST_IS_OK 306,9513 -#define DRIVER_MASK 308,9547 -#define SUGGEST_MASK 309,9580 -#define NEEDS_RETRY 315,9649 -#define SUCCESS 316,9680 -#define FAILED 317,9711 -#define QUEUED 318,9742 -#define SOFT_ERROR 319,9773 -#define ADD_TO_MLQUEUE 320,9804 -#define TIMEOUT_ERROR 321,9835 -#define SCSI_MLQUEUE_HOST_BUSY 326,9907 -#define SCSI_MLQUEUE_DEVICE_BUSY 327,9947 -#define SCSI_MLQUEUE_EH_RETRY 328,9987 -#define status_byte(status_byte340,10327 -#define msg_byte(msg_byte341,10380 -#define host_byte(host_byte342,10433 -#define driver_byte(driver_byte343,10487 -#define suggestion(suggestion344,10541 -#define sense_class(sense_class346,10607 -#define sense_error(sense_error347,10658 -#define sense_valid(sense_valid348,10702 -#define IDENTIFY_BASE 351,10750 -#define IDENTIFY(IDENTIFY352,10783 -#define SCSI_UNKNOWN 363,11190 -#define SCSI_1 364,11216 -#define SCSI_1_CCS 365,11242 -#define SCSI_2 366,11268 -#define SCSI_3 367,11294 -#define SCSI_SPC_2 368,11337 -#define SCSI_SPC_3 369,11363 -#define SCSI_INQ_PQ_CON 374,11426 -#define SCSI_INQ_PQ_NOT_CON 375,11463 -#define SCSI_INQ_PQ_NOT_CAP 376,11500 -#define SCSI_IOCTL_GET_IDLUN 386,11766 -#define SCSI_IOCTL_PROBE_HOST 391,11928 -#define SCSI_IOCTL_GET_BUS_NUMBER 394,12016 -#define SCSI_IOCTL_GET_PCI 397,12108 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_device.h,1186 -#define _SCSI_SCSI_DEVICE_H2,28 -enum scsi_device_state scsi_device_state19,401 - SDEV_CREATED 20,426 - SDEV_RUNNING,22,537 - SDEV_CANCEL,24,614 - SDEV_DEL,26,705 - SDEV_QUIESCE,28,766 - SDEV_OFFLINE,31,906 - SDEV_BLOCK,33,986 -struct scsi_device scsi_device38,1127 -#define SCSI_DEFAULT_DEVICE_BLOCKED 116,4827 -#define to_scsi_device(to_scsi_device128,5106 -#define class_to_sdev(class_to_sdev130,5184 -#define transport_class_to_sdev(transport_class_to_sdev132,5263 -struct scsi_target scsi_target140,5588 -#define to_scsi_target(to_scsi_target151,5969 -static inline struct scsi_target *scsi_target(152,6036 -#define transport_class_to_starget(transport_class_to_starget156,6162 -#define scsi_add_device(scsi_add_device161,6378 -#define shost_for_each_device(shost_for_each_device186,7347 -#define __shost_for_each_device(__shost_for_each_device204,8051 -static inline int scsi_device_online(224,9009 -static inline int scsi_device_sync(230,9168 -static inline int scsi_device_wide(234,9253 -static inline int scsi_device_dt(238,9338 -static inline int scsi_device_dt_only(242,9420 -static inline int scsi_device_ius(248,9573 -static inline int scsi_device_qas(254,9712 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_cmnd.h,523 -#define _SCSI_SCSI_CMND_H2,26 -struct scsi_pointer scsi_pointer15,241 -struct scsi_cmnd scsi_cmnd30,599 -#define MAX_COMMAND_SIZE 79,2338 -#define SCSI_SENSE_BUFFERSIZE 115,3690 -#define SCSI_STATE_TIMEOUT 148,4854 -#define SCSI_STATE_FINISHED 149,4896 -#define SCSI_STATE_FAILED 150,4938 -#define SCSI_STATE_QUEUED 151,4980 -#define SCSI_STATE_UNUSED 152,5022 -#define SCSI_STATE_DISCONNECTING 153,5064 -#define SCSI_STATE_INITIALIZING 154,5106 -#define SCSI_STATE_BHQUEUE 155,5148 -#define SCSI_STATE_MLQUEUE 156,5190 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_transport.h,95 -#define SCSI_TRANSPORT_H21,866 -struct scsi_transport_template scsi_transport_template23,892 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_transport_fc.h,615 -#define SCSI_TRANSPORT_FC_H21,900 -struct fc_starget_attrs fc_starget_attrs27,989 -#define fc_starget_port_id(fc_starget_port_id35,1203 -#define fc_starget_node_name(fc_starget_node_name37,1295 -#define fc_starget_port_name(fc_starget_port_name39,1391 -#define fc_starget_dev_loss_tmo(fc_starget_dev_loss_tmo41,1487 -#define fc_starget_dev_loss_work(fc_starget_dev_loss_work43,1589 -struct fc_host_attrs fc_host_attrs46,1694 -#define fc_host_link_down_tmo(fc_host_link_down_tmo51,1818 -#define fc_host_link_down_work(fc_host_link_down_work53,1913 -struct fc_function_template fc_function_template58,2088 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_eh.h,138 -#define _SCSI_SCSI_EH_H2,24 -#define SCSI_TRY_RESET_DEVICE 18,487 -#define SCSI_TRY_RESET_BUS 19,519 -#define SCSI_TRY_RESET_HOST 20,548 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_ioctl.h,697 -#define _SCSI_IOCTL_H 2,22 -#define SCSI_IOCTL_SEND_COMMAND 4,46 -#define SCSI_IOCTL_TEST_UNIT_READY 5,80 -#define SCSI_IOCTL_BENCHMARK_COMMAND 6,117 -#define SCSI_IOCTL_SYNC 7,156 -#define SCSI_IOCTL_START_UNIT 8,221 -#define SCSI_IOCTL_STOP_UNIT 9,253 -#define SCSI_IOCTL_DOORLOCK 12,372 -#define SCSI_IOCTL_DOORUNLOCK 13,439 -#define SCSI_REMOVAL_PREVENT 15,507 -#define SCSI_REMOVAL_ALLOW 16,538 -typedef struct scsi_ioctl_command scsi_ioctl_command26,657 -} Scsi_Ioctl_Command;Scsi_Ioctl_Command30,760 -typedef struct scsi_idlun scsi_idlun32,783 -} Scsi_Idlun;Scsi_Idlun35,849 -typedef struct scsi_fctargaddress scsi_fctargaddress38,904 -} Scsi_FCTargAddress;Scsi_FCTargAddress41,1011 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_request.h,121 -#define _SCSI_SCSI_REQUEST_H2,29 -struct scsi_request scsi_request19,504 -struct scsi_mode_data scsi_mode_data58,2059 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_tcq.h,345 -#define _SCSI_SCSI_TCQ_H2,25 -#define MSG_SIMPLE_TAG 9,137 -#define MSG_HEAD_TAG 10,165 -#define MSG_ORDERED_TAG 11,191 -#define SCSI_NO_TAG 13,221 -static inline void scsi_activate_tcq(26,564 -static inline void scsi_deactivate_tcq(39,954 -static inline int scsi_populate_tag_msg(56,1516 -static inline struct scsi_cmnd *scsi_find_tag(80,2066 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_transport_spi.h,1149 -#define SCSI_TRANSPORT_SPI_H21,908 -struct spi_transport_attrs spi_transport_attrs27,998 -enum spi_signal_type spi_signal_type52,2158 - SPI_SIGNAL_UNKNOWN 53,2181 - SPI_SIGNAL_SE,54,2206 - SPI_SIGNAL_LVD,55,2222 - SPI_SIGNAL_HVD,56,2239 -struct spi_host_attrs spi_host_attrs59,2260 -#define spi_period(spi_period64,2347 -#define spi_offset(spi_offset65,2430 -#define spi_width(spi_width66,2513 -#define spi_iu(spi_iu67,2594 -#define spi_dt(spi_dt68,2669 -#define spi_qas(spi_qas69,2744 -#define spi_wr_flow(spi_wr_flow70,2821 -#define spi_rd_strm(spi_rd_strm71,2906 -#define spi_rti(spi_rti72,2991 -#define spi_pcomp_en(spi_pcomp_en73,3068 -#define spi_initial_dv(spi_initial_dv74,3155 -#define spi_support_sync(spi_support_sync76,3247 -#define spi_support_wide(spi_support_wide77,3342 -#define spi_support_dt(spi_support_dt78,3437 -#define spi_support_dt_only(spi_support_dt_only79,3528 -#define spi_support_ius(spi_support_ius80,3629 -#define spi_support_qas(spi_support_qas81,3722 -#define spi_flags(spi_flags83,3816 -#define spi_signalling(spi_signalling84,3897 -struct spi_function_template spi_function_template89,4059 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/sg.h,2776 -#define _SCSI_GENERIC_H2,24 -typedef struct sg_iovec sg_iovec94,3932 -} sg_iovec_t;sg_iovec_t98,4195 -typedef struct sg_io_hdrsg_io_hdr101,4211 -} sg_io_hdr_t;sg_io_hdr_t126,5833 -#define SG_INTERFACE_ID_ORIG 128,5880 -#define SG_DXFER_NONE 131,5993 -#define SG_DXFER_TO_DEV 132,6067 -#define SG_DXFER_FROM_DEV 133,6131 -#define SG_DXFER_TO_FROM_DEV 134,6194 -#define SG_DXFER_UNKNOWN 138,6409 -#define SG_FLAG_DIRECT_IO 141,6523 -#define SG_FLAG_UNUSED_LUN_INHIBIT 142,6584 -#define SG_FLAG_MMAP_IO 144,6703 -#define SG_FLAG_NO_DXFER 145,6766 -#define SG_INFO_OK_MASK 149,6936 -#define SG_INFO_OK 150,6964 -#define SG_INFO_CHECK 151,7036 -#define SG_INFO_DIRECT_IO_MASK 153,7103 -#define SG_INFO_INDIRECT_IO 154,7138 -#define SG_INFO_DIRECT_IO 155,7218 -#define SG_INFO_MIXED_IO 156,7290 -typedef struct sg_scsi_id sg_scsi_id159,7360 -} sg_scsi_id_t;sg_scsi_id_t168,7861 -typedef struct sg_req_info sg_req_info170,7906 -} sg_req_info_t;sg_req_info_t180,8567 -#define SG_EMULATED_HOST 187,8840 -#define SG_SET_TRANSFORM 191,9038 -#define SG_GET_TRANSFORM 193,9178 -#define SG_SET_RESERVED_SIZE 195,9211 -#define SG_GET_RESERVED_SIZE 196,9289 -#define SG_GET_SCSI_ID 199,9441 -#define SG_SET_FORCE_LOW_DMA 203,9669 -#define SG_GET_LOW_DMA 204,9747 -#define SG_SET_FORCE_PACK_ID 210,10120 -#define SG_GET_PACK_ID 211,10156 -#define SG_GET_NUM_WAITING 213,10232 -#define SG_GET_SG_TABLESIZE 216,10382 -#define SG_GET_VERSION_NUM 218,10459 -#define SG_SCSI_RESET 221,10610 -#define SG_SCSI_RESET_NOTHING 223,10705 -#define SG_SCSI_RESET_DEVICE 224,10738 -#define SG_SCSI_RESET_BUS 225,10770 -#define SG_SCSI_RESET_HOST 226,10799 -#define SG_IO 229,10898 -#define SG_GET_REQUEST_TABLE 231,10973 -#define SG_SET_KEEP_ORPHAN 234,11119 -#define SG_GET_KEEP_ORPHAN 235,11197 -#define SG_GET_ACCESS_COUNT 238,11295 -#define SG_SCATTER_SZ 241,11334 -#define SG_DEFAULT_RETRIES 249,11834 -#define SG_DEF_FORCE_LOW_DMA 252,11929 -#define SG_DEF_FORCE_PACK_ID 253,12002 -#define SG_DEF_KEEP_ORPHAN 254,12033 -#define SG_DEF_RESERVED_SIZE 255,12062 -#define SG_MAX_QUEUE 258,12197 -#define SG_BIG_BUFF 260,12222 -typedef struct sg_io_hdr Sg_io_hdr;Sg_io_hdr263,12361 -typedef struct sg_io_vec Sg_io_vec;Sg_io_vec264,12397 -typedef struct sg_scsi_id Sg_scsi_id;Sg_scsi_id265,12433 -typedef struct sg_req_info Sg_req_info;Sg_req_info266,12471 -#define SG_MAX_SENSE 273,12745 -struct sg_headersg_header275,12823 -#define SG_SET_TIMEOUT 298,13960 -#define SG_GET_TIMEOUT 299,14026 -#define SG_GET_COMMAND_Q 304,14310 -#define SG_SET_COMMAND_Q 305,14383 -#define SG_SET_DEBUG 309,14600 -#define SG_NEXT_CMD_LEN 311,14658 -#define SG_DEFAULT_TIMEOUT_USER 317,14877 -#define SG_DEFAULT_TIMEOUT 319,14962 -#define SG_DEF_COMMAND_Q 322,15044 -#define SG_DEF_UNDERRUN_FLAG 324,15147 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_dbg.h,30 -#define _SCSI_SCSI_DBG_H2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsicam.h,25 -#define SCSICAM_H14,334 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_driver.h,248 -#define _SCSI_SCSI_DRIVER_H2,28 -struct scsi_driver scsi_driver10,119 -#define to_scsi_driver(to_scsi_driver18,324 -#define scsi_unregister_driver(scsi_unregister_driver22,461 -#define scsi_unregister_interface(scsi_unregister_interface26,587 - -/export0/mef/linux-2.6.9-1.11_FC2/include/scsi/scsi_host.h,861 -#define _SCSI_SCSI_HOST_H2,26 -#define SG_NONE 26,658 -#define SG_ALL 27,676 -#define DISABLE_CLUSTERING 30,698 -#define ENABLE_CLUSTERING 31,727 -enum scsi_eh_timer_return scsi_eh_timer_return33,756 - EH_NOT_HANDLED,34,784 - EH_HANDLED,35,801 - EH_RESET_TIMER,36,814 -struct scsi_host_template scsi_host_template40,836 -#define SCSI_DEFAULT_MAX_SECTORS 297,10066 -#define SCSI_DEFAULT_HOST_BLOCKED 353,11740 - SHOST_ADD,379,12291 - SHOST_DEL,380,12303 - SHOST_CANCEL,381,12315 - SHOST_RECOVERY,382,12330 -struct Scsi_Host Scsi_Host385,12351 -#define dev_to_shost(dev_to_shost528,16835 -#define class_to_shost(class_to_shost530,16912 -#define transport_class_to_shost(transport_class_to_shost532,16992 -static inline void scsi_assign_lock(546,17583 -static inline void scsi_set_device(551,17693 -static inline struct device *scsi_get_device(557,17855 - -/export0/mef/linux-2.6.9-1.11_FC2/include/mtd/inftl-user.h,544 -#define __MTD_INFTL_USER_H__9,151 -#define OSAK_VERSION 11,181 -#define PERCENTUSED 12,209 -#define SECTORSIZE 14,233 -struct inftl_bci inftl_bci18,290 -struct inftl_unithead1 inftl_unithead124,392 -struct inftl_unithead2 inftl_unithead233,567 -struct inftl_unittail inftl_unittail42,742 -union inftl_uci inftl_uci48,859 -struct inftl_oob inftl_oob54,961 -struct INFTLPartition INFTLPartition62,1052 -struct INFTLMediaHeader INFTLMediaHeader72,1229 -#define INFTL_BINARY 85,1543 -#define INFTL_BDTL 86,1575 -#define INFTL_LAST 87,1605 - -/export0/mef/linux-2.6.9-1.11_FC2/include/mtd/nftl-user.h,600 -#define __MTD_NFTL_USER_H__9,148 -struct nftl_bci nftl_bci13,210 -struct nftl_uci0 nftl_uci021,348 -struct nftl_uci1 nftl_uci128,497 -struct nftl_uci2 nftl_uci234,607 -union nftl_uci nftl_uci40,727 -struct nftl_oob nftl_oob46,811 -struct NFTLMediaHeader NFTLMediaHeader53,897 -#define MAX_ERASE_ZONES 61,1079 -#define ERASE_MARK 63,1117 -#define SECTOR_FREE 64,1143 -#define SECTOR_USED 65,1168 -#define SECTOR_IGNORE 66,1193 -#define SECTOR_DELETED 67,1220 -#define FOLD_MARK_IN_PROGRESS 69,1249 -#define ZONE_GOOD 71,1287 -#define ZONE_BAD_ORIGINAL 72,1310 -#define ZONE_BAD_MARKED 73,1338 - -/export0/mef/linux-2.6.9-1.11_FC2/include/mtd/jffs2-user.h,327 -#define __JFFS2_USER_H__8,143 -#define t16(t1624,437 -#define t32(t3225,527 -#define cpu_to_je16(cpu_to_je1627,618 -#define cpu_to_je32(cpu_to_je3228,662 -#define cpu_to_jemode(cpu_to_jemode29,706 -#define je16_to_cpu(je16_to_cpu31,752 -#define je32_to_cpu(je32_to_cpu32,790 -#define jemode_to_cpu(jemode_to_cpu33,828 - -/export0/mef/linux-2.6.9-1.11_FC2/include/mtd/mtd-user.h,287 -#define __MTD_USER_H__8,137 -typedef struct mtd_info_user mtd_info_t;mtd_info_t15,262 -typedef struct erase_info_user erase_info_t;erase_info_t16,303 -typedef struct region_info_user region_info_t;region_info_t17,348 -typedef struct nand_oobinfo nand_oobinfo_t;nand_oobinfo_t18,395 - -/export0/mef/linux-2.6.9-1.11_FC2/include/mtd/mtd-abi.h,1449 -#define __MTD_ABI_H__8,169 -struct erase_info_user erase_info_user10,192 -struct mtd_oob_buf mtd_oob_buf15,256 -#define MTD_ABSENT 21,344 -#define MTD_RAM 22,366 -#define MTD_ROM 23,386 -#define MTD_NORFLASH 24,406 -#define MTD_NANDFLASH 25,430 -#define MTD_PEROM 26,455 -#define MTD_OTHER 27,476 -#define MTD_UNKNOWN 28,498 -#define MTD_CLEAR_BITS 30,523 -#define MTD_SET_BITS 31,586 -#define MTD_ERASEABLE 32,635 -#define MTD_WRITEB_WRITEABLE 33,691 -#define MTD_VOLATILE 34,753 -#define MTD_XIP 35,799 -#define MTD_OOB 36,849 -#define MTD_ECC 37,903 -#define MTD_CAP_ROM 40,1015 -#define MTD_CAP_RAM 41,1038 -#define MTD_CAP_NORFLASH 42,1110 -#define MTD_CAP_NANDFLASH 43,1173 -#define MTD_WRITEABLE 44,1244 -#define MTD_ECC_NONE 48,1344 -#define MTD_ECC_RS_DiskOnChip 49,1399 -#define MTD_ECC_SW 50,1462 -#define MTD_NANDECC_OFF 53,1550 -#define MTD_NANDECC_PLACE 54,1613 -#define MTD_NANDECC_AUTOPLACE 55,1706 -#define MTD_NANDECC_PLACEONLY 56,1774 -struct mtd_info_user mtd_info_user58,1885 -struct region_info_user region_info_user69,2162 -#define MEMGETINFO 77,2412 -#define MEMERASE 78,2479 -#define MEMWRITEOOB 79,2548 -#define MEMREADOOB 80,2614 -#define MEMLOCK 81,2680 -#define MEMUNLOCK 82,2749 -#define MEMGETREGIONCOUNT 83,2818 -#define MEMGETREGIONINFO 84,2862 -#define MEMSETOOBSEL 85,2926 -#define MEMGETOOBSEL 86,2982 -#define MEMGETBADBLOCK 87,3039 -#define MEMSETBADBLOCK 88,3085 -struct nand_oobinfo nand_oobinfo90,3132 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/snd_wavefront.h,1259 -#define __SOUND_SND_WAVEFRONT_H__2,34 -typedef struct _snd_wavefront_midi snd_wavefront_midi_t;snd_wavefront_midi_t16,327 -typedef struct _snd_wavefront_card snd_wavefront_card_t;snd_wavefront_card_t17,384 -typedef struct _snd_wavefront snd_wavefront_t;snd_wavefront_t18,441 -typedef enum { internal_mpu 20,489 -typedef enum { internal_mpu = 0, external_mpu 20,489 -typedef enum { internal_mpu = 0, external_mpu = 1 } snd_wavefront_mpu_id;snd_wavefront_mpu_id20,489 -struct _snd_wavefront_midi _snd_wavefront_midi22,564 -#define OUTPUT_READY 36,1222 -#define INPUT_AVAIL 37,1248 -#define MPU_ACK 38,1273 -#define UART_MODE_ON 39,1295 -struct _snd_wavefront _snd_wavefront49,1710 -#define mpu_data_port 54,1917 -#define mpu_command_port 55,1948 -#define mpu_status_port 56,2004 -#define data_port 57,2059 -#define status_port 58,2094 -#define control_port 59,2149 -#define block_port 60,2206 -#define last_block_port 61,2264 -#define fx_status 69,2579 -#define fx_op 70,2613 -#define fx_lcr 71,2647 -#define fx_dsp_addr 72,2681 -#define fx_dsp_page 73,2716 -#define fx_dsp_lsb 74,2752 -#define fx_dsp_msb 75,2788 -#define fx_mod_addr 76,2824 -#define fx_mod_data 77,2859 -struct _snd_wavefront_card _snd_wavefront_card99,3902 -#define LOGNAME 140,5446 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_kernel.h,4890 -#define __SOUND_SEQ_KERNEL_H2,29 -typedef sndrv_seq_tick_time_t snd_seq_tick_time_t;snd_seq_tick_time_t27,975 -typedef sndrv_seq_position_t snd_seq_position_t;snd_seq_position_t28,1026 -typedef sndrv_seq_frequency_t snd_seq_frequency_t;snd_seq_frequency_t29,1075 -typedef sndrv_seq_instr_cluster_t snd_seq_instr_cluster_t;snd_seq_instr_cluster_t30,1126 -typedef enum sndrv_seq_client_type snd_seq_client_type_t;snd_seq_client_type_t31,1185 -typedef enum sndrv_seq_stop_mode snd_seq_stop_mode_t;snd_seq_stop_mode_t32,1243 -typedef struct sndrv_seq_port_info snd_seq_port_info_t;snd_seq_port_info_t33,1297 -typedef struct sndrv_seq_port_subscribe snd_seq_port_subscribe_t;snd_seq_port_subscribe_t34,1353 -typedef struct sndrv_seq_event snd_seq_event_t;snd_seq_event_t35,1419 -typedef struct sndrv_seq_addr snd_seq_addr_t;snd_seq_addr_t36,1467 -typedef struct sndrv_seq_ev_volume snd_seq_ev_volume_t;snd_seq_ev_volume_t37,1513 -typedef struct sndrv_seq_ev_loop snd_seq_ev_loop_t;snd_seq_ev_loop_t38,1569 -typedef struct sndrv_seq_remove_events snd_seq_remove_events_t;snd_seq_remove_events_t39,1621 -typedef struct sndrv_seq_query_subs snd_seq_query_subs_t;snd_seq_query_subs_t40,1685 -typedef struct sndrv_seq_real_time snd_seq_real_time_t;snd_seq_real_time_t41,1743 -typedef struct sndrv_seq_system_info snd_seq_system_info_t;snd_seq_system_info_t42,1799 -typedef struct sndrv_seq_client_info snd_seq_client_info_t;snd_seq_client_info_t43,1859 -typedef struct sndrv_seq_queue_info snd_seq_queue_info_t;snd_seq_queue_info_t44,1919 -typedef struct sndrv_seq_queue_status snd_seq_queue_status_t;snd_seq_queue_status_t45,1977 -typedef struct sndrv_seq_queue_tempo snd_seq_queue_tempo_t;snd_seq_queue_tempo_t46,2039 -typedef struct sndrv_seq_queue_owner snd_seq_queue_owner_t;snd_seq_queue_owner_t47,2099 -typedef struct sndrv_seq_queue_timer snd_seq_queue_timer_t;snd_seq_queue_timer_t48,2159 -typedef struct sndrv_seq_queue_client snd_seq_queue_client_t;snd_seq_queue_client_t49,2219 -typedef struct sndrv_seq_client_pool snd_seq_client_pool_t;snd_seq_client_pool_t50,2281 -typedef struct sndrv_seq_instr snd_seq_instr_t;snd_seq_instr_t51,2341 -typedef struct sndrv_seq_instr_data snd_seq_instr_data_t;snd_seq_instr_data_t52,2389 -typedef struct sndrv_seq_instr_header snd_seq_instr_header_t;snd_seq_instr_header_t53,2447 -typedef union sndrv_seq_timestamp snd_seq_timestamp_t;snd_seq_timestamp_t54,2509 -#define snd_seq_event_bounce_ext_data 56,2565 -#define snd_seq_ev_is_result_type 57,2636 -#define snd_seq_ev_is_channel_type 58,2703 -#define snd_seq_ev_is_note_type 59,2771 -#define snd_seq_ev_is_control_type 60,2837 -#define snd_seq_ev_is_queue_type 61,2905 -#define snd_seq_ev_is_message_type 62,2971 -#define snd_seq_ev_is_sample_type 63,3039 -#define snd_seq_ev_is_user_type 64,3106 -#define snd_seq_ev_is_fixed_type 65,3172 -#define snd_seq_ev_is_instr_type 66,3238 -#define snd_seq_ev_is_variable_type 67,3304 -#define snd_seq_ev_is_reserved 68,3373 -#define snd_seq_ev_is_direct 69,3438 -#define snd_seq_ev_is_prior 70,3501 -#define snd_seq_ev_length_type 71,3563 -#define snd_seq_ev_is_fixed 72,3628 -#define snd_seq_ev_is_variable 73,3690 -#define snd_seq_ev_is_varusr 74,3755 -#define snd_seq_ev_timestamp_type 75,3818 -#define snd_seq_ev_is_tick 76,3885 -#define snd_seq_ev_is_real 77,3946 -#define snd_seq_ev_timemode_type 78,4007 -#define snd_seq_ev_is_abstime 79,4073 -#define snd_seq_ev_is_reltime 80,4137 -#define snd_seq_queue_sync_port 81,4201 -#define snd_seq_queue_owner 82,4267 -#define SNDRV_SEQ_MAX_DEQUEUE 85,4392 -#define SNDRV_SEQ_MAX_QUEUES 88,4458 -#define SNDRV_SEQ_MAX_CLIENTS 91,4530 -#define SNDRV_SEQ_MAX_PORTS 94,4604 -#define SNDRV_SEQ_MAX_EVENTS 97,4681 -#define SNDRV_SEQ_DEFAULT_CHUNK_EVENTS 100,4764 -#define SNDRV_SEQ_DEFAULT_EVENTS 103,4853 -#define SNDRV_SEQ_MAX_CLIENT_EVENTS 106,4959 -#define SNDRV_SEQ_DEFAULT_CLIENT_EVENTS 109,5073 -#define SNDRV_SEQ_MAX_HOPS 112,5149 -#define SNDRV_SEQ_MAX_EVENT_LEN 115,5210 -typedef struct _snd_seq_user_client user_client_t;user_client_t123,5378 -typedef struct _snd_seq_kernel_client kernel_client_t;kernel_client_t124,5429 -typedef struct _snd_seq_client client_t;client_t125,5484 -typedef struct _snd_seq_queue queue_t;queue_t126,5525 -} snd_seq_client_callback_t;snd_seq_client_callback_t135,5694 -typedef int (snd_seq_kernel_port_open_t)snd_seq_kernel_port_open_t138,5757 -typedef int (snd_seq_kernel_port_close_t)snd_seq_kernel_port_close_t139,5851 -typedef int (snd_seq_kernel_port_input_t)snd_seq_kernel_port_input_t140,5946 -typedef void (snd_seq_kernel_port_private_free_t)snd_seq_kernel_port_private_free_t141,6063 -} snd_seq_port_callback_t;snd_seq_port_callback_t154,6545 -#define SNDRV_SEQ_EXT_MASK 163,7047 -#define SNDRV_SEQ_EXT_USRPTR 164,7085 -#define SNDRV_SEQ_EXT_CHAINED 165,7125 -typedef int (*snd_seq_dump_func_t)snd_seq_dump_func_t167,7167 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/asound.h,29481 -#define __SOUND_ASOUND_H24,966 -#define SNDRV_LITTLE_ENDIAN37,1202 -#define SNDRV_BIG_ENDIAN40,1256 -#define SNDRV_LITTLE_ENDIAN50,1414 -#define SNDRV_BIG_ENDIAN52,1477 -#define SNDRV_PROTOCOL_VERSION(SNDRV_PROTOCOL_VERSION70,1692 -#define SNDRV_PROTOCOL_MAJOR(SNDRV_PROTOCOL_MAJOR71,1787 -#define SNDRV_PROTOCOL_MINOR(SNDRV_PROTOCOL_MINOR72,1850 -#define SNDRV_PROTOCOL_MICRO(SNDRV_PROTOCOL_MICRO73,1910 -#define SNDRV_PROTOCOL_INCOMPATIBLE(SNDRV_PROTOCOL_INCOMPATIBLE74,1965 -struct sndrv_aes_iec958 sndrv_aes_iec95885,2598 -#define SNDRV_HWDEP_VERSION 98,3241 -enum sndrv_hwdep_iface sndrv_hwdep_iface100,3303 - SNDRV_HWDEP_IFACE_OPL2 101,3328 - SNDRV_HWDEP_IFACE_OPL3,102,3357 - SNDRV_HWDEP_IFACE_OPL4,103,3382 - SNDRV_HWDEP_IFACE_SB16CSP,104,3407 - SNDRV_HWDEP_IFACE_EMU10K1,105,3467 - SNDRV_HWDEP_IFACE_YSS225,106,3534 - SNDRV_HWDEP_IFACE_ICS2115,107,3587 - SNDRV_HWDEP_IFACE_SSCAPE,108,3637 - SNDRV_HWDEP_IFACE_VX,109,3710 - SNDRV_HWDEP_IFACE_MIXART,110,3758 - SNDRV_HWDEP_IFACE_USX2Y,111,3813 - SNDRV_HWDEP_IFACE_EMUX_WAVETABLE,112,3877 - SNDRV_HWDEP_IFACE_LAST 115,3980 - SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_EMUX_WAVETABLE,115,3980 -struct sndrv_hwdep_info sndrv_hwdep_info118,4044 -struct sndrv_hwdep_dsp_status sndrv_hwdep_dsp_status128,4382 -struct sndrv_hwdep_dsp_image sndrv_hwdep_dsp_image137,4795 - SNDRV_HWDEP_IOCTL_PVERSION 146,5093 - SNDRV_HWDEP_IOCTL_PVERSION = _IOR 146,5093 - SNDRV_HWDEP_IOCTL_PVERSION = _IOR ('H', 0x00,146,5093 - SNDRV_HWDEP_IOCTL_INFO 147,5146 - SNDRV_HWDEP_IOCTL_INFO = _IOR 147,5146 - SNDRV_HWDEP_IOCTL_INFO = _IOR ('H', 0x01,147,5146 - SNDRV_HWDEP_IOCTL_INFO = _IOR ('H', 0x01, struct sndrv_hwdep_info)147,5146 - SNDRV_HWDEP_IOCTL_DSP_STATUS 148,5215 - SNDRV_HWDEP_IOCTL_DSP_STATUS = _IOR(148,5215 - SNDRV_HWDEP_IOCTL_DSP_STATUS = _IOR('H', 0x02,148,5215 - SNDRV_HWDEP_IOCTL_DSP_STATUS = _IOR('H', 0x02, struct sndrv_hwdep_dsp_status)148,5215 - SNDRV_HWDEP_IOCTL_DSP_LOAD 149,5295 - SNDRV_HWDEP_IOCTL_DSP_LOAD = _IOW(149,5295 - SNDRV_HWDEP_IOCTL_DSP_LOAD = _IOW('H', 0x03,149,5295 - SNDRV_HWDEP_IOCTL_DSP_LOAD = _IOW('H', 0x03, struct sndrv_hwdep_dsp_image)149,5295 -#define SNDRV_PCM_VERSION 158,5774 -typedef unsigned long sndrv_pcm_uframes_t;sndrv_pcm_uframes_t160,5834 -typedef long sndrv_pcm_sframes_t;sndrv_pcm_sframes_t161,5877 -enum sndrv_pcm_class sndrv_pcm_class163,5912 - SNDRV_PCM_CLASS_GENERIC 164,5935 - SNDRV_PCM_CLASS_MULTI,165,6002 - SNDRV_PCM_CLASS_MODEM,166,6053 - SNDRV_PCM_CLASS_DIGITIZER,167,6105 - SNDRV_PCM_CLASS_LAST 169,6200 - SNDRV_PCM_CLASS_LAST = SNDRV_PCM_CLASS_DIGITIZER,169,6200 -enum sndrv_pcm_subclass sndrv_pcm_subclass172,6255 - SNDRV_PCM_SUBCLASS_GENERIC_MIX 173,6281 - SNDRV_PCM_SUBCLASS_MULTI_MIX,174,6369 - SNDRV_PCM_SUBCLASS_LAST 176,6494 - SNDRV_PCM_SUBCLASS_LAST = SNDRV_PCM_SUBCLASS_MULTI_MIX,176,6494 -enum sndrv_pcm_stream sndrv_pcm_stream179,6555 - SNDRV_PCM_STREAM_PLAYBACK 180,6579 - SNDRV_PCM_STREAM_CAPTURE,181,6611 - SNDRV_PCM_STREAM_LAST 182,6638 - SNDRV_PCM_STREAM_LAST = SNDRV_PCM_STREAM_CAPTURE,182,6638 -enum sndrv_pcm_access sndrv_pcm_access185,6693 - SNDRV_PCM_ACCESS_MMAP_INTERLEAVED 186,6717 - SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED,187,6780 - SNDRV_PCM_ACCESS_MMAP_COMPLEX,188,6846 - SNDRV_PCM_ACCESS_RW_INTERLEAVED,189,6898 - SNDRV_PCM_ACCESS_RW_NONINTERLEAVED,190,6951 - SNDRV_PCM_ACCESS_LAST 191,7007 - SNDRV_PCM_ACCESS_LAST = SNDRV_PCM_ACCESS_RW_NONINTERLEAVED,191,7007 -enum sndrv_pcm_format sndrv_pcm_format194,7072 - SNDRV_PCM_FORMAT_S8 195,7096 - SNDRV_PCM_FORMAT_U8,196,7122 - SNDRV_PCM_FORMAT_S16_LE,197,7144 - SNDRV_PCM_FORMAT_S16_BE,198,7170 - SNDRV_PCM_FORMAT_U16_LE,199,7196 - SNDRV_PCM_FORMAT_U16_BE,200,7222 - SNDRV_PCM_FORMAT_S24_LE,201,7248 - SNDRV_PCM_FORMAT_S24_BE,202,7296 - SNDRV_PCM_FORMAT_U24_LE,203,7344 - SNDRV_PCM_FORMAT_U24_BE,204,7392 - SNDRV_PCM_FORMAT_S32_LE,205,7440 - SNDRV_PCM_FORMAT_S32_BE,206,7466 - SNDRV_PCM_FORMAT_U32_LE,207,7492 - SNDRV_PCM_FORMAT_U32_BE,208,7518 - SNDRV_PCM_FORMAT_FLOAT_LE,209,7544 - SNDRV_PCM_FORMAT_FLOAT_BE,210,7627 - SNDRV_PCM_FORMAT_FLOAT64_LE,211,7710 - SNDRV_PCM_FORMAT_FLOAT64_BE,212,7795 - SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE,213,7880 - SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE,214,7956 - SNDRV_PCM_FORMAT_MU_LAW,215,8029 - SNDRV_PCM_FORMAT_A_LAW,216,8055 - SNDRV_PCM_FORMAT_IMA_ADPCM,217,8080 - SNDRV_PCM_FORMAT_MPEG,218,8109 - SNDRV_PCM_FORMAT_GSM,219,8133 - SNDRV_PCM_FORMAT_SPECIAL 220,8156 - SNDRV_PCM_FORMAT_S24_3LE 221,8188 - SNDRV_PCM_FORMAT_S24_3BE,222,8241 - SNDRV_PCM_FORMAT_U24_3LE,223,8289 - SNDRV_PCM_FORMAT_U24_3BE,224,8337 - SNDRV_PCM_FORMAT_S20_3LE,225,8385 - SNDRV_PCM_FORMAT_S20_3BE,226,8433 - SNDRV_PCM_FORMAT_U20_3LE,227,8481 - SNDRV_PCM_FORMAT_U20_3BE,228,8529 - SNDRV_PCM_FORMAT_S18_3LE,229,8577 - SNDRV_PCM_FORMAT_S18_3BE,230,8625 - SNDRV_PCM_FORMAT_U18_3LE,231,8673 - SNDRV_PCM_FORMAT_U18_3BE,232,8721 - SNDRV_PCM_FORMAT_LAST 233,8769 - SNDRV_PCM_FORMAT_LAST = SNDRV_PCM_FORMAT_U18_3BE,233,8769 - SNDRV_PCM_FORMAT_S16 236,8848 - SNDRV_PCM_FORMAT_S16 = SNDRV_PCM_FORMAT_S16_LE,236,8848 - SNDRV_PCM_FORMAT_U16 237,8897 - SNDRV_PCM_FORMAT_U16 = SNDRV_PCM_FORMAT_U16_LE,237,8897 - SNDRV_PCM_FORMAT_S24 238,8946 - SNDRV_PCM_FORMAT_S24 = SNDRV_PCM_FORMAT_S24_LE,238,8946 - SNDRV_PCM_FORMAT_U24 239,8995 - SNDRV_PCM_FORMAT_U24 = SNDRV_PCM_FORMAT_U24_LE,239,8995 - SNDRV_PCM_FORMAT_S32 240,9044 - SNDRV_PCM_FORMAT_S32 = SNDRV_PCM_FORMAT_S32_LE,240,9044 - SNDRV_PCM_FORMAT_U32 241,9093 - SNDRV_PCM_FORMAT_U32 = SNDRV_PCM_FORMAT_U32_LE,241,9093 - SNDRV_PCM_FORMAT_FLOAT 242,9142 - SNDRV_PCM_FORMAT_FLOAT = SNDRV_PCM_FORMAT_FLOAT_LE,242,9142 - SNDRV_PCM_FORMAT_FLOAT64 243,9195 - SNDRV_PCM_FORMAT_FLOAT64 = SNDRV_PCM_FORMAT_FLOAT64_LE,243,9195 - SNDRV_PCM_FORMAT_IEC958_SUBFRAME 244,9252 - SNDRV_PCM_FORMAT_IEC958_SUBFRAME = SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE,244,9252 - SNDRV_PCM_FORMAT_S16 247,9356 - SNDRV_PCM_FORMAT_S16 = SNDRV_PCM_FORMAT_S16_BE,247,9356 - SNDRV_PCM_FORMAT_U16 248,9405 - SNDRV_PCM_FORMAT_U16 = SNDRV_PCM_FORMAT_U16_BE,248,9405 - SNDRV_PCM_FORMAT_S24 249,9454 - SNDRV_PCM_FORMAT_S24 = SNDRV_PCM_FORMAT_S24_BE,249,9454 - SNDRV_PCM_FORMAT_U24 250,9503 - SNDRV_PCM_FORMAT_U24 = SNDRV_PCM_FORMAT_U24_BE,250,9503 - SNDRV_PCM_FORMAT_S32 251,9552 - SNDRV_PCM_FORMAT_S32 = SNDRV_PCM_FORMAT_S32_BE,251,9552 - SNDRV_PCM_FORMAT_U32 252,9601 - SNDRV_PCM_FORMAT_U32 = SNDRV_PCM_FORMAT_U32_BE,252,9601 - SNDRV_PCM_FORMAT_FLOAT 253,9650 - SNDRV_PCM_FORMAT_FLOAT = SNDRV_PCM_FORMAT_FLOAT_BE,253,9650 - SNDRV_PCM_FORMAT_FLOAT64 254,9703 - SNDRV_PCM_FORMAT_FLOAT64 = SNDRV_PCM_FORMAT_FLOAT64_BE,254,9703 - SNDRV_PCM_FORMAT_IEC958_SUBFRAME 255,9760 - SNDRV_PCM_FORMAT_IEC958_SUBFRAME = SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE,255,9760 -enum sndrv_pcm_subformat sndrv_pcm_subformat259,9844 - SNDRV_PCM_SUBFORMAT_STD 260,9871 - SNDRV_PCM_SUBFORMAT_LAST 261,9901 - SNDRV_PCM_SUBFORMAT_LAST = SNDRV_PCM_SUBFORMAT_STD,261,9901 -#define SNDRV_PCM_INFO_MMAP 264,9958 -#define SNDRV_PCM_INFO_MMAP_VALID 265,10027 -#define SNDRV_PCM_INFO_DOUBLE 266,10116 -#define SNDRV_PCM_INFO_BATCH 267,10207 -#define SNDRV_PCM_INFO_INTERLEAVED 268,10271 -#define SNDRV_PCM_INFO_NONINTERLEAVED 269,10348 -#define SNDRV_PCM_INFO_COMPLEX 270,10432 -#define SNDRV_PCM_INFO_BLOCK_TRANSFER 271,10520 -#define SNDRV_PCM_INFO_OVERRANGE 272,10610 -#define SNDRV_PCM_INFO_RESUME 273,10712 -#define SNDRV_PCM_INFO_PAUSE 274,10806 -#define SNDRV_PCM_INFO_HALF_DUPLEX 275,10878 -#define SNDRV_PCM_INFO_JOINT_DUPLEX 276,10947 -#define SNDRV_PCM_INFO_SYNC_START 277,11052 -enum sndrv_pcm_state sndrv_pcm_state279,11137 - SNDRV_PCM_STATE_OPEN 280,11160 - SNDRV_PCM_STATE_SETUP,281,11208 - SNDRV_PCM_STATE_PREPARED,282,11258 - SNDRV_PCM_STATE_RUNNING,283,11316 - SNDRV_PCM_STATE_XRUN,284,11366 - SNDRV_PCM_STATE_DRAINING,285,11419 - SNDRV_PCM_STATE_PAUSED,286,11471 - SNDRV_PCM_STATE_SUSPENDED,287,11520 - SNDRV_PCM_STATE_DISCONNECTED,288,11576 - SNDRV_PCM_STATE_LAST 289,11638 - SNDRV_PCM_STATE_LAST = SNDRV_PCM_STATE_DISCONNECTED,289,11638 - SNDRV_PCM_MMAP_OFFSET_DATA 293,11703 - SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000,293,11703 - SNDRV_PCM_MMAP_OFFSET_STATUS 294,11745 - SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000,294,11745 - SNDRV_PCM_MMAP_OFFSET_CONTROL 295,11789 - SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000,295,11789 -union sndrv_pcm_sync_id sndrv_pcm_sync_id298,11838 -struct sndrv_pcm_info sndrv_pcm_info304,11939 -enum sndrv_pcm_hw_param sndrv_pcm_hw_param320,12657 - SNDRV_PCM_HW_PARAM_ACCESS 321,12683 - SNDRV_PCM_HW_PARAM_FIRST_MASK 322,12733 - SNDRV_PCM_HW_PARAM_FIRST_MASK = SNDRV_PCM_HW_PARAM_ACCESS,322,12733 - SNDRV_PCM_HW_PARAM_FORMAT,323,12793 - SNDRV_PCM_HW_PARAM_SUBFORMAT,324,12834 - SNDRV_PCM_HW_PARAM_LAST_MASK 325,12881 - SNDRV_PCM_HW_PARAM_LAST_MASK = SNDRV_PCM_HW_PARAM_SUBFORMAT,325,12881 - SNDRV_PCM_HW_PARAM_SAMPLE_BITS 327,12944 - SNDRV_PCM_HW_PARAM_FIRST_INTERVAL 328,13003 - SNDRV_PCM_HW_PARAM_FIRST_INTERVAL = SNDRV_PCM_HW_PARAM_SAMPLE_BITS,328,13003 - SNDRV_PCM_HW_PARAM_FRAME_BITS,329,13072 - SNDRV_PCM_HW_PARAM_CHANNELS,330,13125 - SNDRV_PCM_HW_PARAM_RATE,331,13170 - SNDRV_PCM_HW_PARAM_PERIOD_TIME,332,13214 - SNDRV_PCM_HW_PARAM_PERIOD_SIZE,334,13302 - SNDRV_PCM_HW_PARAM_PERIOD_BYTES,335,13374 - SNDRV_PCM_HW_PARAM_PERIODS,336,13446 - SNDRV_PCM_HW_PARAM_BUFFER_TIME,337,13510 - SNDRV_PCM_HW_PARAM_BUFFER_SIZE,338,13581 - SNDRV_PCM_HW_PARAM_BUFFER_BYTES,339,13645 - SNDRV_PCM_HW_PARAM_TICK_TIME,340,13709 - SNDRV_PCM_HW_PARAM_LAST_INTERVAL 341,13773 - SNDRV_PCM_HW_PARAM_LAST_INTERVAL = SNDRV_PCM_HW_PARAM_TICK_TIME341,13773 -#define SNDRV_PCM_HW_PARAMS_RUNTIME 344,13842 -struct sndrv_interval sndrv_interval346,13887 -#define SNDRV_MASK_MAX 354,14016 -struct sndrv_mask sndrv_mask356,14044 -struct sndrv_pcm_hw_params sndrv_pcm_hw_params360,14109 -enum sndrv_pcm_tstamp sndrv_pcm_tstamp378,14924 - SNDRV_PCM_TSTAMP_NONE 379,14948 - SNDRV_PCM_TSTAMP_MMAP,380,14976 - SNDRV_PCM_TSTAMP_LAST 381,15000 - SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_MMAP,381,15000 -struct sndrv_pcm_sw_params sndrv_pcm_sw_params384,15052 -struct sndrv_pcm_channel_info sndrv_pcm_channel_info398,15787 -struct sndrv_pcm_status sndrv_pcm_status405,15992 -struct sndrv_pcm_mmap_status sndrv_pcm_mmap_status419,16722 -struct sndrv_pcm_mmap_control sndrv_pcm_mmap_control427,17049 -#define SNDRV_PCM_SYNC_PTR_HWSYNC 432,17226 -#define SNDRV_PCM_SYNC_PTR_APPL 433,17288 -#define SNDRV_PCM_SYNC_PTR_AVAIL_MIN 434,17368 -struct sndrv_pcm_sync_ptr sndrv_pcm_sync_ptr436,17445 -struct sndrv_xferi sndrv_xferi448,17668 -struct sndrv_xfern sndrv_xfern454,17770 - SNDRV_PCM_IOCTL_PVERSION 461,17889 - SNDRV_PCM_IOCTL_PVERSION = _IOR(461,17889 - SNDRV_PCM_IOCTL_PVERSION = _IOR('A', 0x00,461,17889 - SNDRV_PCM_IOCTL_INFO 462,17939 - SNDRV_PCM_IOCTL_INFO = _IOR(462,17939 - SNDRV_PCM_IOCTL_INFO = _IOR('A', 0x01,462,17939 - SNDRV_PCM_IOCTL_INFO = _IOR('A', 0x01, struct sndrv_pcm_info)462,17939 - SNDRV_PCM_IOCTL_TSTAMP 463,18003 - SNDRV_PCM_IOCTL_TSTAMP = _IOW(463,18003 - SNDRV_PCM_IOCTL_TSTAMP = _IOW('A', 0x02,463,18003 - SNDRV_PCM_IOCTL_HW_REFINE 464,18051 - SNDRV_PCM_IOCTL_HW_REFINE = _IOWR(464,18051 - SNDRV_PCM_IOCTL_HW_REFINE = _IOWR('A', 0x10,464,18051 - SNDRV_PCM_IOCTL_HW_REFINE = _IOWR('A', 0x10, struct sndrv_pcm_hw_params)464,18051 - SNDRV_PCM_IOCTL_HW_PARAMS 465,18126 - SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR(465,18126 - SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR('A', 0x11,465,18126 - SNDRV_PCM_IOCTL_HW_PARAMS = _IOWR('A', 0x11, struct sndrv_pcm_hw_params)465,18126 - SNDRV_PCM_IOCTL_HW_FREE 466,18201 - SNDRV_PCM_IOCTL_HW_FREE = _IO(466,18201 - SNDRV_PCM_IOCTL_HW_FREE = _IO('A', 0x12)466,18201 - SNDRV_PCM_IOCTL_SW_PARAMS 467,18244 - SNDRV_PCM_IOCTL_SW_PARAMS = _IOWR(467,18244 - SNDRV_PCM_IOCTL_SW_PARAMS = _IOWR('A', 0x13,467,18244 - SNDRV_PCM_IOCTL_SW_PARAMS = _IOWR('A', 0x13, struct sndrv_pcm_sw_params)467,18244 - SNDRV_PCM_IOCTL_STATUS 468,18319 - SNDRV_PCM_IOCTL_STATUS = _IOR(468,18319 - SNDRV_PCM_IOCTL_STATUS = _IOR('A', 0x20,468,18319 - SNDRV_PCM_IOCTL_STATUS = _IOR('A', 0x20, struct sndrv_pcm_status)468,18319 - SNDRV_PCM_IOCTL_DELAY 469,18387 - SNDRV_PCM_IOCTL_DELAY = _IOR(469,18387 - SNDRV_PCM_IOCTL_DELAY = _IOR('A', 0x21,469,18387 - SNDRV_PCM_IOCTL_DELAY = _IOR('A', 0x21, sndrv_pcm_sframes_t)469,18387 - SNDRV_PCM_IOCTL_HWSYNC 470,18450 - SNDRV_PCM_IOCTL_HWSYNC = _IO(470,18450 - SNDRV_PCM_IOCTL_HWSYNC = _IO('A', 0x22)470,18450 - SNDRV_PCM_IOCTL_SYNC_PTR 471,18492 - SNDRV_PCM_IOCTL_SYNC_PTR = _IOWR(471,18492 - SNDRV_PCM_IOCTL_SYNC_PTR = _IOWR('A', 0x23,471,18492 - SNDRV_PCM_IOCTL_SYNC_PTR = _IOWR('A', 0x23, struct sndrv_pcm_sync_ptr)471,18492 - SNDRV_PCM_IOCTL_CHANNEL_INFO 472,18565 - SNDRV_PCM_IOCTL_CHANNEL_INFO = _IOR(472,18565 - SNDRV_PCM_IOCTL_CHANNEL_INFO = _IOR('A', 0x32,472,18565 - SNDRV_PCM_IOCTL_CHANNEL_INFO = _IOR('A', 0x32, struct sndrv_pcm_channel_info)472,18565 - SNDRV_PCM_IOCTL_PREPARE 473,18645 - SNDRV_PCM_IOCTL_PREPARE = _IO(473,18645 - SNDRV_PCM_IOCTL_PREPARE = _IO('A', 0x40)473,18645 - SNDRV_PCM_IOCTL_RESET 474,18688 - SNDRV_PCM_IOCTL_RESET = _IO(474,18688 - SNDRV_PCM_IOCTL_RESET = _IO('A', 0x41)474,18688 - SNDRV_PCM_IOCTL_START 475,18729 - SNDRV_PCM_IOCTL_START = _IO(475,18729 - SNDRV_PCM_IOCTL_START = _IO('A', 0x42)475,18729 - SNDRV_PCM_IOCTL_DROP 476,18770 - SNDRV_PCM_IOCTL_DROP = _IO(476,18770 - SNDRV_PCM_IOCTL_DROP = _IO('A', 0x43)476,18770 - SNDRV_PCM_IOCTL_DRAIN 477,18810 - SNDRV_PCM_IOCTL_DRAIN = _IO(477,18810 - SNDRV_PCM_IOCTL_DRAIN = _IO('A', 0x44)477,18810 - SNDRV_PCM_IOCTL_PAUSE 478,18851 - SNDRV_PCM_IOCTL_PAUSE = _IOW(478,18851 - SNDRV_PCM_IOCTL_PAUSE = _IOW('A', 0x45,478,18851 - SNDRV_PCM_IOCTL_REWIND 479,18898 - SNDRV_PCM_IOCTL_REWIND = _IOW(479,18898 - SNDRV_PCM_IOCTL_REWIND = _IOW('A', 0x46,479,18898 - SNDRV_PCM_IOCTL_REWIND = _IOW('A', 0x46, sndrv_pcm_uframes_t)479,18898 - SNDRV_PCM_IOCTL_RESUME 480,18962 - SNDRV_PCM_IOCTL_RESUME = _IO(480,18962 - SNDRV_PCM_IOCTL_RESUME = _IO('A', 0x47)480,18962 - SNDRV_PCM_IOCTL_XRUN 481,19004 - SNDRV_PCM_IOCTL_XRUN = _IO(481,19004 - SNDRV_PCM_IOCTL_XRUN = _IO('A', 0x48)481,19004 - SNDRV_PCM_IOCTL_FORWARD 482,19044 - SNDRV_PCM_IOCTL_FORWARD = _IOW(482,19044 - SNDRV_PCM_IOCTL_FORWARD = _IOW('A', 0x49,482,19044 - SNDRV_PCM_IOCTL_FORWARD = _IOW('A', 0x49, sndrv_pcm_uframes_t)482,19044 - SNDRV_PCM_IOCTL_WRITEI_FRAMES 483,19109 - SNDRV_PCM_IOCTL_WRITEI_FRAMES = _IOW(483,19109 - SNDRV_PCM_IOCTL_WRITEI_FRAMES = _IOW('A', 0x50,483,19109 - SNDRV_PCM_IOCTL_WRITEI_FRAMES = _IOW('A', 0x50, struct sndrv_xferi)483,19109 - SNDRV_PCM_IOCTL_READI_FRAMES 484,19179 - SNDRV_PCM_IOCTL_READI_FRAMES = _IOR(484,19179 - SNDRV_PCM_IOCTL_READI_FRAMES = _IOR('A', 0x51,484,19179 - SNDRV_PCM_IOCTL_READI_FRAMES = _IOR('A', 0x51, struct sndrv_xferi)484,19179 - SNDRV_PCM_IOCTL_WRITEN_FRAMES 485,19248 - SNDRV_PCM_IOCTL_WRITEN_FRAMES = _IOW(485,19248 - SNDRV_PCM_IOCTL_WRITEN_FRAMES = _IOW('A', 0x52,485,19248 - SNDRV_PCM_IOCTL_WRITEN_FRAMES = _IOW('A', 0x52, struct sndrv_xfern)485,19248 - SNDRV_PCM_IOCTL_READN_FRAMES 486,19318 - SNDRV_PCM_IOCTL_READN_FRAMES = _IOR(486,19318 - SNDRV_PCM_IOCTL_READN_FRAMES = _IOR('A', 0x53,486,19318 - SNDRV_PCM_IOCTL_READN_FRAMES = _IOR('A', 0x53, struct sndrv_xfern)486,19318 - SNDRV_PCM_IOCTL_LINK 487,19387 - SNDRV_PCM_IOCTL_LINK = _IOW(487,19387 - SNDRV_PCM_IOCTL_LINK = _IOW('A', 0x60,487,19387 - SNDRV_PCM_IOCTL_UNLINK 488,19433 - SNDRV_PCM_IOCTL_UNLINK = _IO(488,19433 - SNDRV_PCM_IOCTL_UNLINK = _IO('A', 0x61)488,19433 -#define SNDRV_PCM_IOCTL_REWIND 492,19527 -#define SNDRV_RAWMIDI_VERSION 504,20026 -enum sndrv_rawmidi_stream sndrv_rawmidi_stream506,20090 - SNDRV_RAWMIDI_STREAM_OUTPUT 507,20118 - SNDRV_RAWMIDI_STREAM_INPUT,508,20152 - SNDRV_RAWMIDI_STREAM_LAST 509,20181 - SNDRV_RAWMIDI_STREAM_LAST = SNDRV_RAWMIDI_STREAM_INPUT,509,20181 -#define SNDRV_RAWMIDI_INFO_OUTPUT 512,20242 -#define SNDRV_RAWMIDI_INFO_INPUT 513,20288 -#define SNDRV_RAWMIDI_INFO_DUPLEX 514,20333 -struct sndrv_rawmidi_info sndrv_rawmidi_info516,20380 -struct sndrv_rawmidi_params sndrv_rawmidi_params530,20968 -struct sndrv_rawmidi_status sndrv_rawmidi_status538,21286 - SNDRV_RAWMIDI_IOCTL_PVERSION 547,21572 - SNDRV_RAWMIDI_IOCTL_PVERSION = _IOR(547,21572 - SNDRV_RAWMIDI_IOCTL_PVERSION = _IOR('W', 0x00,547,21572 - SNDRV_RAWMIDI_IOCTL_INFO 548,21626 - SNDRV_RAWMIDI_IOCTL_INFO = _IOR(548,21626 - SNDRV_RAWMIDI_IOCTL_INFO = _IOR('W', 0x01,548,21626 - SNDRV_RAWMIDI_IOCTL_INFO = _IOR('W', 0x01, struct sndrv_rawmidi_info)548,21626 - SNDRV_RAWMIDI_IOCTL_PARAMS 549,21698 - SNDRV_RAWMIDI_IOCTL_PARAMS = _IOWR(549,21698 - SNDRV_RAWMIDI_IOCTL_PARAMS = _IOWR('W', 0x10,549,21698 - SNDRV_RAWMIDI_IOCTL_PARAMS = _IOWR('W', 0x10, struct sndrv_rawmidi_params)549,21698 - SNDRV_RAWMIDI_IOCTL_STATUS 550,21775 - SNDRV_RAWMIDI_IOCTL_STATUS = _IOWR(550,21775 - SNDRV_RAWMIDI_IOCTL_STATUS = _IOWR('W', 0x20,550,21775 - SNDRV_RAWMIDI_IOCTL_STATUS = _IOWR('W', 0x20, struct sndrv_rawmidi_status)550,21775 - SNDRV_RAWMIDI_IOCTL_DROP 551,21852 - SNDRV_RAWMIDI_IOCTL_DROP = _IOW(551,21852 - SNDRV_RAWMIDI_IOCTL_DROP = _IOW('W', 0x30,551,21852 - SNDRV_RAWMIDI_IOCTL_DRAIN 552,21902 - SNDRV_RAWMIDI_IOCTL_DRAIN = _IOW(552,21902 - SNDRV_RAWMIDI_IOCTL_DRAIN = _IOW('W', 0x31,552,21902 -#define SNDRV_TIMER_VERSION 559,22000 -enum sndrv_timer_class sndrv_timer_class561,22062 - SNDRV_TIMER_CLASS_NONE 562,22087 - SNDRV_TIMER_CLASS_SLAVE 563,22117 - SNDRV_TIMER_CLASS_GLOBAL,564,22147 - SNDRV_TIMER_CLASS_CARD,565,22174 - SNDRV_TIMER_CLASS_PCM,566,22199 - SNDRV_TIMER_CLASS_LAST 567,22223 - SNDRV_TIMER_CLASS_LAST = SNDRV_TIMER_CLASS_PCM,567,22223 -enum sndrv_timer_slave_class sndrv_timer_slave_class571,22302 - SNDRV_TIMER_SCLASS_NONE 572,22333 - SNDRV_TIMER_SCLASS_APPLICATION,573,22363 - SNDRV_TIMER_SCLASS_SEQUENCER,574,22396 - SNDRV_TIMER_SCLASS_OSS_SEQUENCER,575,22440 - SNDRV_TIMER_SCLASS_LAST 576,22487 - SNDRV_TIMER_SCLASS_LAST = SNDRV_TIMER_SCLASS_OSS_SEQUENCER,576,22487 -#define SNDRV_TIMER_GLOBAL_SYSTEM 580,22588 -#define SNDRV_TIMER_GLOBAL_RTC 581,22624 -#define SNDRV_TIMER_FLG_SLAVE 584,22676 -struct sndrv_timer_id sndrv_timer_id586,22742 -struct sndrv_timer_ginfo sndrv_timer_ginfo594,22888 -struct sndrv_timer_gparams sndrv_timer_gparams608,23496 -struct sndrv_timer_gstatus sndrv_timer_gstatus615,23797 -struct sndrv_timer_select sndrv_timer_select623,24171 -struct sndrv_timer_info sndrv_timer_info628,24297 -#define SNDRV_TIMER_PSFLG_AUTO 638,24676 -#define SNDRV_TIMER_PSFLG_EXCLUSIVE 639,24752 -#define SNDRV_TIMER_PSFLG_EARLY_EVENT 640,24850 -struct sndrv_timer_params sndrv_timer_params642,24938 -struct sndrv_timer_status sndrv_timer_status651,25330 - SNDRV_TIMER_IOCTL_PVERSION 661,25691 - SNDRV_TIMER_IOCTL_PVERSION = _IOR(661,25691 - SNDRV_TIMER_IOCTL_PVERSION = _IOR('T', 0x00,661,25691 - SNDRV_TIMER_IOCTL_NEXT_DEVICE 662,25743 - SNDRV_TIMER_IOCTL_NEXT_DEVICE = _IOWR(662,25743 - SNDRV_TIMER_IOCTL_NEXT_DEVICE = _IOWR('T', 0x01,662,25743 - SNDRV_TIMER_IOCTL_NEXT_DEVICE = _IOWR('T', 0x01, struct sndrv_timer_id)662,25743 - SNDRV_TIMER_IOCTL_TREAD 663,25817 - SNDRV_TIMER_IOCTL_TREAD = _IOW(663,25817 - SNDRV_TIMER_IOCTL_TREAD = _IOW('T', 0x02,663,25817 - SNDRV_TIMER_IOCTL_GINFO 664,25866 - SNDRV_TIMER_IOCTL_GINFO = _IOWR(664,25866 - SNDRV_TIMER_IOCTL_GINFO = _IOWR('T', 0x03,664,25866 - SNDRV_TIMER_IOCTL_GINFO = _IOWR('T', 0x03, struct sndrv_timer_ginfo)664,25866 - SNDRV_TIMER_IOCTL_GPARAMS 665,25937 - SNDRV_TIMER_IOCTL_GPARAMS = _IOW(665,25937 - SNDRV_TIMER_IOCTL_GPARAMS = _IOW('T', 0x04,665,25937 - SNDRV_TIMER_IOCTL_GPARAMS = _IOW('T', 0x04, struct sndrv_timer_gparams)665,25937 - SNDRV_TIMER_IOCTL_GSTATUS 666,26011 - SNDRV_TIMER_IOCTL_GSTATUS = _IOWR(666,26011 - SNDRV_TIMER_IOCTL_GSTATUS = _IOWR('T', 0x05,666,26011 - SNDRV_TIMER_IOCTL_GSTATUS = _IOWR('T', 0x05, struct sndrv_timer_gstatus)666,26011 - SNDRV_TIMER_IOCTL_SELECT 667,26086 - SNDRV_TIMER_IOCTL_SELECT = _IOW(667,26086 - SNDRV_TIMER_IOCTL_SELECT = _IOW('T', 0x10,667,26086 - SNDRV_TIMER_IOCTL_SELECT = _IOW('T', 0x10, struct sndrv_timer_select)667,26086 - SNDRV_TIMER_IOCTL_INFO 668,26158 - SNDRV_TIMER_IOCTL_INFO = _IOR(668,26158 - SNDRV_TIMER_IOCTL_INFO = _IOR('T', 0x11,668,26158 - SNDRV_TIMER_IOCTL_INFO = _IOR('T', 0x11, struct sndrv_timer_info)668,26158 - SNDRV_TIMER_IOCTL_PARAMS 669,26226 - SNDRV_TIMER_IOCTL_PARAMS = _IOW(669,26226 - SNDRV_TIMER_IOCTL_PARAMS = _IOW('T', 0x12,669,26226 - SNDRV_TIMER_IOCTL_PARAMS = _IOW('T', 0x12, struct sndrv_timer_params)669,26226 - SNDRV_TIMER_IOCTL_STATUS 670,26298 - SNDRV_TIMER_IOCTL_STATUS = _IOR(670,26298 - SNDRV_TIMER_IOCTL_STATUS = _IOR('T', 0x14,670,26298 - SNDRV_TIMER_IOCTL_STATUS = _IOR('T', 0x14, struct sndrv_timer_status)670,26298 - SNDRV_TIMER_IOCTL_START 671,26370 - SNDRV_TIMER_IOCTL_START = _IO(671,26370 - SNDRV_TIMER_IOCTL_START = _IO('T', 0x20)671,26370 - SNDRV_TIMER_IOCTL_STOP 672,26413 - SNDRV_TIMER_IOCTL_STOP = _IO(672,26413 - SNDRV_TIMER_IOCTL_STOP = _IO('T', 0x21)672,26413 - SNDRV_TIMER_IOCTL_CONTINUE 673,26455 - SNDRV_TIMER_IOCTL_CONTINUE = _IO(673,26455 - SNDRV_TIMER_IOCTL_CONTINUE = _IO('T', 0x22)673,26455 - SNDRV_TIMER_IOCTL_PAUSE 674,26501 - SNDRV_TIMER_IOCTL_PAUSE = _IO(674,26501 - SNDRV_TIMER_IOCTL_PAUSE = _IO('T', 0x23)674,26501 -struct sndrv_timer_read sndrv_timer_read677,26548 -enum sndrv_timer_event sndrv_timer_event682,26625 - SNDRV_TIMER_EVENT_RESOLUTION 683,26650 - SNDRV_TIMER_EVENT_TICK,684,26714 - SNDRV_TIMER_EVENT_START,685,26759 - SNDRV_TIMER_EVENT_STOP,686,26815 - SNDRV_TIMER_EVENT_CONTINUE,687,26856 - SNDRV_TIMER_EVENT_PAUSE,688,26915 - SNDRV_TIMER_EVENT_EARLY,689,26956 - SNDRV_TIMER_EVENT_MSTART 691,27063 - SNDRV_TIMER_EVENT_MSTART = SNDRV_TIMER_EVENT_START 691,27063 - SNDRV_TIMER_EVENT_MSTOP 692,27121 - SNDRV_TIMER_EVENT_MSTOP = SNDRV_TIMER_EVENT_STOP 692,27121 - SNDRV_TIMER_EVENT_MCONTINUE 693,27177 - SNDRV_TIMER_EVENT_MCONTINUE = SNDRV_TIMER_EVENT_CONTINUE 693,27177 - SNDRV_TIMER_EVENT_MPAUSE 694,27241 - SNDRV_TIMER_EVENT_MPAUSE = SNDRV_TIMER_EVENT_PAUSE 694,27241 -struct sndrv_timer_tread sndrv_timer_tread697,27303 -#define SNDRV_CTL_VERSION 709,27801 -struct sndrv_ctl_card_info sndrv_ctl_card_info711,27861 -enum sndrv_ctl_elem_type sndrv_ctl_elem_type724,28509 - SNDRV_CTL_ELEM_TYPE_NONE 725,28536 - SNDRV_CTL_ELEM_TYPE_BOOLEAN,726,28582 - SNDRV_CTL_ELEM_TYPE_INTEGER,727,28632 - SNDRV_CTL_ELEM_TYPE_ENUMERATED,728,28682 - SNDRV_CTL_ELEM_TYPE_BYTES,729,28738 - SNDRV_CTL_ELEM_TYPE_IEC958,730,28784 - SNDRV_CTL_ELEM_TYPE_INTEGER64,731,28842 - SNDRV_CTL_ELEM_TYPE_LAST 732,28901 - SNDRV_CTL_ELEM_TYPE_LAST = SNDRV_CTL_ELEM_TYPE_INTEGER64,732,28901 -enum sndrv_ctl_elem_iface sndrv_ctl_elem_iface735,28964 - SNDRV_CTL_ELEM_IFACE_CARD 736,28992 - SNDRV_CTL_ELEM_IFACE_HWDEP,737,29046 - SNDRV_CTL_ELEM_IFACE_MIXER,738,29108 - SNDRV_CTL_ELEM_IFACE_PCM,739,29165 - SNDRV_CTL_ELEM_IFACE_RAWMIDI,740,29210 - SNDRV_CTL_ELEM_IFACE_TIMER,741,29263 - SNDRV_CTL_ELEM_IFACE_SEQUENCER,742,29312 - SNDRV_CTL_ELEM_IFACE_LAST 743,29369 - SNDRV_CTL_ELEM_IFACE_LAST = SNDRV_CTL_ELEM_IFACE_SEQUENCER,743,29369 -#define SNDRV_CTL_ELEM_ACCESS_READ 746,29434 -#define SNDRV_CTL_ELEM_ACCESS_WRITE 747,29477 -#define SNDRV_CTL_ELEM_ACCESS_READWRITE 748,29521 -#define SNDRV_CTL_ELEM_ACCESS_VOLATILE 749,29619 -#define SNDRV_CTL_ELEM_ACCESS_TIMESTAMP 750,29724 -#define SNDRV_CTL_ELEM_ACCESS_INACTIVE 751,29803 -#define SNDRV_CTL_ELEM_ACCESS_LOCK 752,29906 -#define SNDRV_CTL_ELEM_ACCESS_OWNER 753,29966 -#define SNDRV_CTL_ELEM_ACCESS_USER 754,30034 -#define SNDRV_CTL_ELEM_ACCESS_DINDIRECT 755,30103 -#define SNDRV_CTL_ELEM_ACCESS_INDIRECT 756,30218 -#define SNDRV_CTL_POWER_D0 759,30408 -#define SNDRV_CTL_POWER_D1 760,30457 -#define SNDRV_CTL_POWER_D2 761,30509 -#define SNDRV_CTL_POWER_D3 762,30561 -#define SNDRV_CTL_POWER_D3hot 763,30606 -#define SNDRV_CTL_POWER_D3cold 764,30687 -struct sndrv_ctl_elem_id sndrv_ctl_elem_id766,30773 -struct sndrv_ctl_elem_list sndrv_ctl_elem_list775,31139 -struct sndrv_ctl_elem_info sndrv_ctl_elem_info784,31477 -struct sndrv_ctl_elem_value sndrv_ctl_elem_value815,32470 - SNDRV_CTL_IOCTL_PVERSION 842,33106 - SNDRV_CTL_IOCTL_PVERSION = _IOR(842,33106 - SNDRV_CTL_IOCTL_PVERSION = _IOR('U', 0x00,842,33106 - SNDRV_CTL_IOCTL_CARD_INFO 843,33156 - SNDRV_CTL_IOCTL_CARD_INFO = _IOR(843,33156 - SNDRV_CTL_IOCTL_CARD_INFO = _IOR('U', 0x01,843,33156 - SNDRV_CTL_IOCTL_CARD_INFO = _IOR('U', 0x01, struct sndrv_ctl_card_info)843,33156 - SNDRV_CTL_IOCTL_ELEM_LIST 844,33230 - SNDRV_CTL_IOCTL_ELEM_LIST = _IOWR(844,33230 - SNDRV_CTL_IOCTL_ELEM_LIST = _IOWR('U', 0x10,844,33230 - SNDRV_CTL_IOCTL_ELEM_LIST = _IOWR('U', 0x10, struct sndrv_ctl_elem_list)844,33230 - SNDRV_CTL_IOCTL_ELEM_INFO 845,33305 - SNDRV_CTL_IOCTL_ELEM_INFO = _IOWR(845,33305 - SNDRV_CTL_IOCTL_ELEM_INFO = _IOWR('U', 0x11,845,33305 - SNDRV_CTL_IOCTL_ELEM_INFO = _IOWR('U', 0x11, struct sndrv_ctl_elem_info)845,33305 - SNDRV_CTL_IOCTL_ELEM_READ 846,33380 - SNDRV_CTL_IOCTL_ELEM_READ = _IOWR(846,33380 - SNDRV_CTL_IOCTL_ELEM_READ = _IOWR('U', 0x12,846,33380 - SNDRV_CTL_IOCTL_ELEM_READ = _IOWR('U', 0x12, struct sndrv_ctl_elem_value)846,33380 - SNDRV_CTL_IOCTL_ELEM_WRITE 847,33456 - SNDRV_CTL_IOCTL_ELEM_WRITE = _IOWR(847,33456 - SNDRV_CTL_IOCTL_ELEM_WRITE = _IOWR('U', 0x13,847,33456 - SNDRV_CTL_IOCTL_ELEM_WRITE = _IOWR('U', 0x13, struct sndrv_ctl_elem_value)847,33456 - SNDRV_CTL_IOCTL_ELEM_LOCK 848,33533 - SNDRV_CTL_IOCTL_ELEM_LOCK = _IOW(848,33533 - SNDRV_CTL_IOCTL_ELEM_LOCK = _IOW('U', 0x14,848,33533 - SNDRV_CTL_IOCTL_ELEM_LOCK = _IOW('U', 0x14, struct sndrv_ctl_elem_id)848,33533 - SNDRV_CTL_IOCTL_ELEM_UNLOCK 849,33605 - SNDRV_CTL_IOCTL_ELEM_UNLOCK = _IOW(849,33605 - SNDRV_CTL_IOCTL_ELEM_UNLOCK = _IOW('U', 0x15,849,33605 - SNDRV_CTL_IOCTL_ELEM_UNLOCK = _IOW('U', 0x15, struct sndrv_ctl_elem_id)849,33605 - SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS 850,33679 - SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS = _IOWR(850,33679 - SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS = _IOWR('U', 0x16,850,33679 - SNDRV_CTL_IOCTL_ELEM_ADD 851,33738 - SNDRV_CTL_IOCTL_ELEM_ADD = _IOWR(851,33738 - SNDRV_CTL_IOCTL_ELEM_ADD = _IOWR('U', 0x17,851,33738 - SNDRV_CTL_IOCTL_ELEM_ADD = _IOWR('U', 0x17, struct sndrv_ctl_elem_info)851,33738 - SNDRV_CTL_IOCTL_ELEM_REPLACE 852,33812 - SNDRV_CTL_IOCTL_ELEM_REPLACE = _IOWR(852,33812 - SNDRV_CTL_IOCTL_ELEM_REPLACE = _IOWR('U', 0x18,852,33812 - SNDRV_CTL_IOCTL_ELEM_REPLACE = _IOWR('U', 0x18, struct sndrv_ctl_elem_info)852,33812 - SNDRV_CTL_IOCTL_ELEM_REMOVE 853,33890 - SNDRV_CTL_IOCTL_ELEM_REMOVE = _IOWR(853,33890 - SNDRV_CTL_IOCTL_ELEM_REMOVE = _IOWR('U', 0x19,853,33890 - SNDRV_CTL_IOCTL_ELEM_REMOVE = _IOWR('U', 0x19, struct sndrv_ctl_elem_id)853,33890 - SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE 854,33965 - SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE = _IOWR(854,33965 - SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE = _IOWR('U', 0x20,854,33965 - SNDRV_CTL_IOCTL_HWDEP_INFO 855,34025 - SNDRV_CTL_IOCTL_HWDEP_INFO = _IOR(855,34025 - SNDRV_CTL_IOCTL_HWDEP_INFO = _IOR('U', 0x21,855,34025 - SNDRV_CTL_IOCTL_HWDEP_INFO = _IOR('U', 0x21, struct sndrv_hwdep_info)855,34025 - SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE 856,34097 - SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE = _IOR(856,34097 - SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE = _IOR('U', 0x30,856,34097 - SNDRV_CTL_IOCTL_PCM_INFO 857,34154 - SNDRV_CTL_IOCTL_PCM_INFO = _IOWR(857,34154 - SNDRV_CTL_IOCTL_PCM_INFO = _IOWR('U', 0x31,857,34154 - SNDRV_CTL_IOCTL_PCM_INFO = _IOWR('U', 0x31, struct sndrv_pcm_info)857,34154 - SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE 858,34223 - SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE = _IOW(858,34223 - SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE = _IOW('U', 0x32,858,34223 - SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE 859,34285 - SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE = _IOWR(859,34285 - SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE = _IOWR('U', 0x40,859,34285 - SNDRV_CTL_IOCTL_RAWMIDI_INFO 860,34347 - SNDRV_CTL_IOCTL_RAWMIDI_INFO = _IOWR(860,34347 - SNDRV_CTL_IOCTL_RAWMIDI_INFO = _IOWR('U', 0x41,860,34347 - SNDRV_CTL_IOCTL_RAWMIDI_INFO = _IOWR('U', 0x41, struct sndrv_rawmidi_info)860,34347 - SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE 861,34424 - SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE = _IOW(861,34424 - SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE = _IOW('U', 0x42,861,34424 - SNDRV_CTL_IOCTL_POWER 862,34490 - SNDRV_CTL_IOCTL_POWER = _IOWR(862,34490 - SNDRV_CTL_IOCTL_POWER = _IOWR('U', 0xd0,862,34490 - SNDRV_CTL_IOCTL_POWER_STATE 863,34538 - SNDRV_CTL_IOCTL_POWER_STATE = _IOR(863,34538 - SNDRV_CTL_IOCTL_POWER_STATE = _IOR('U', 0xd1,863,34538 -enum sndrv_ctl_event_type sndrv_ctl_event_type870,34623 - SNDRV_CTL_EVENT_ELEM 871,34651 - SNDRV_CTL_EVENT_LAST 872,34678 - SNDRV_CTL_EVENT_LAST = SNDRV_CTL_EVENT_ELEM,872,34678 -#define SNDRV_CTL_EVENT_MASK_VALUE 875,34728 -#define SNDRV_CTL_EVENT_MASK_INFO 876,34802 -#define SNDRV_CTL_EVENT_MASK_ADD 877,34874 -#define SNDRV_CTL_EVENT_MASK_REMOVE 878,34938 -struct sndrv_ctl_event sndrv_ctl_event880,35007 -#define SNDRV_CTL_NAME_NONE 895,35273 -#define SNDRV_CTL_NAME_PLAYBACK 896,35307 -#define SNDRV_CTL_NAME_CAPTURE 897,35354 -#define SNDRV_CTL_NAME_IEC958_NONE 899,35400 -#define SNDRV_CTL_NAME_IEC958_SWITCH 900,35440 -#define SNDRV_CTL_NAME_IEC958_VOLUME 901,35488 -#define SNDRV_CTL_NAME_IEC958_DEFAULT 902,35536 -#define SNDRV_CTL_NAME_IEC958_MASK 903,35586 -#define SNDRV_CTL_NAME_IEC958_CON_MASK 904,35630 -#define SNDRV_CTL_NAME_IEC958_PRO_MASK 905,35682 -#define SNDRV_CTL_NAME_IEC958_PCM_STREAM 906,35734 -#define SNDRV_CTL_NAME_IEC958(SNDRV_CTL_NAME_IEC958907,35789 -struct sndrv_xferv sndrv_xferv913,35923 - SNDRV_IOCTL_READV 919,36006 - SNDRV_IOCTL_READV = _IOW(919,36006 - SNDRV_IOCTL_READV = _IOW('K', 0x00,919,36006 - SNDRV_IOCTL_READV = _IOW('K', 0x00, struct sndrv_xferv)919,36006 - SNDRV_IOCTL_WRITEV 920,36064 - SNDRV_IOCTL_WRITEV = _IOW(920,36064 - SNDRV_IOCTL_WRITEV = _IOW('K', 0x01,920,36064 - SNDRV_IOCTL_WRITEV = _IOW('K', 0x01, struct sndrv_xferv)920,36064 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/wavefront_fx.h,36 -#define __SOUND_WAVEFRONT_FX_H2,31 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/util_mem.h,403 -#define __SOUND_UTIL_MEM_H2,27 -typedef struct snd_util_memblk snd_util_memblk_t;snd_util_memblk_t23,925 -typedef struct snd_util_memhdr snd_util_memhdr_t;snd_util_memhdr_t24,975 -typedef unsigned int snd_util_unit_t;snd_util_unit_t25,1025 -struct snd_util_memblk snd_util_memblk30,1087 -#define snd_util_memblk_argptr(snd_util_memblk_argptr36,1259 -struct snd_util_memhdr snd_util_memhdr41,1386 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/sb.h,5970 -#define __SOUND_SB_H2,21 -enum sb_hw_type sb_hw_type30,974 - SB_HW_AUTO,31,992 - SB_HW_10,32,1005 - SB_HW_20,33,1016 - SB_HW_201,34,1027 - SB_HW_PRO,35,1039 - SB_HW_16,36,1051 - SB_HW_16CSP,37,1062 - SB_HW_ALS100,38,1102 - SB_HW_ALS4000,39,1149 - SB_HW_DT019X,40,1198 -#define SB_OPEN_PCM 43,1269 -#define SB_OPEN_MIDI_INPUT 44,1296 -#define SB_OPEN_MIDI_OUTPUT 45,1329 -#define SB_OPEN_MIDI_INPUT_TRIGGER 46,1363 -#define SB_OPEN_MIDI_OUTPUT_TRIGGER 47,1403 -#define SB_MODE_HALT 49,1445 -#define SB_MODE_PLAYBACK_8 50,1472 -#define SB_MODE_PLAYBACK_16 51,1504 -#define SB_MODE_PLAYBACK 52,1537 -#define SB_MODE_CAPTURE_8 53,1605 -#define SB_MODE_CAPTURE_16 54,1636 -#define SB_MODE_CAPTURE 55,1668 -#define SB_RATE_LOCK_PLAYBACK 57,1735 -#define SB_RATE_LOCK_CAPTURE 58,1770 -#define SB_RATE_LOCK 59,1804 -#define SB_MPU_INPUT 61,1874 -struct _snd_sb _snd_sb63,1899 -typedef struct _snd_sb sb_t;sb_t112,3349 -#define SBP(SBP116,3396 -#define SBP1(SBP1117,3446 -#define s_b_SB_RESET 119,3492 -#define s_b_SB_READ 120,3518 -#define s_b_SB_WRITE 121,3543 -#define s_b_SB_COMMAND 122,3569 -#define s_b_SB_STATUS 123,3597 -#define s_b_SB_DATA_AVAIL 124,3624 -#define s_b_SB_DATA_AVAIL_16 125,3654 -#define s_b_SB_MIXER_ADDR 126,3688 -#define s_b_SB_MIXER_DATA 127,3718 -#define s_b_SB_OPL3_LEFT 128,3748 -#define s_b_SB_OPL3_RIGHT 129,3777 -#define s_b_SB_OPL3_BOTH 130,3807 -#define SB_DSP_OUTPUT 132,3837 -#define SB_DSP_INPUT 133,3865 -#define SB_DSP_BLOCK_SIZE 134,3892 -#define SB_DSP_HI_OUTPUT 135,3923 -#define SB_DSP_HI_INPUT 136,3953 -#define SB_DSP_LO_OUTPUT_AUTO 137,3983 -#define SB_DSP_LO_INPUT_AUTO 138,4018 -#define SB_DSP_HI_OUTPUT_AUTO 139,4052 -#define SB_DSP_HI_INPUT_AUTO 140,4087 -#define SB_DSP_IMMED_INT 141,4121 -#define SB_DSP_GET_VERSION 142,4151 -#define SB_DSP_SPEAKER_ON 143,4183 -#define SB_DSP_SPEAKER_OFF 144,4214 -#define SB_DSP_DMA8_OFF 145,4246 -#define SB_DSP_DMA8_ON 146,4276 -#define SB_DSP_DMA8_EXIT 147,4305 -#define SB_DSP_DMA16_OFF 148,4335 -#define SB_DSP_DMA16_ON 149,4365 -#define SB_DSP_DMA16_EXIT 150,4395 -#define SB_DSP_SAMPLE_RATE 151,4426 -#define SB_DSP_SAMPLE_RATE_OUT 152,4458 -#define SB_DSP_SAMPLE_RATE_IN 153,4494 -#define SB_DSP_MONO_8BIT 154,4529 -#define SB_DSP_MONO_16BIT 155,4559 -#define SB_DSP_STEREO_8BIT 156,4590 -#define SB_DSP_STEREO_16BIT 157,4622 -#define SB_DSP_MIDI_INPUT_IRQ 159,4656 -#define SB_DSP_MIDI_UART_IRQ 160,4691 -#define SB_DSP_MIDI_OUTPUT 161,4725 -#define SB_DSP4_OUT8_AI 163,4758 -#define SB_DSP4_IN8_AI 164,4788 -#define SB_DSP4_OUT16_AI 165,4817 -#define SB_DSP4_IN16_AI 166,4847 -#define SB_DSP4_MODE_UNS_MONO 167,4877 -#define SB_DSP4_MODE_SIGN_MONO 168,4912 -#define SB_DSP4_MODE_UNS_STEREO 169,4948 -#define SB_DSP4_MODE_SIGN_STEREO 170,4985 -#define SB_DSP4_OUTPUT 172,5024 -#define SB_DSP4_INPUT_LEFT 173,5053 -#define SB_DSP4_INPUT_RIGHT 174,5085 -#define SB_DSP20_MASTER_DEV 177,5152 -#define SB_DSP20_PCM_DEV 178,5185 -#define SB_DSP20_CD_DEV 179,5215 -#define SB_DSP20_FM_DEV 180,5245 -#define SB_DSP_MASTER_DEV 183,5309 -#define SB_DSP_PCM_DEV 184,5340 -#define SB_DSP_LINE_DEV 185,5369 -#define SB_DSP_CD_DEV 186,5399 -#define SB_DSP_FM_DEV 187,5427 -#define SB_DSP_MIC_DEV 188,5455 -#define SB_DSP_CAPTURE_SOURCE 189,5484 -#define SB_DSP_CAPTURE_FILT 190,5519 -#define SB_DSP_PLAYBACK_FILT 191,5552 -#define SB_DSP_STEREO_SW 192,5586 -#define SB_DSP_MIXS_MIC0 194,5617 -#define SB_DSP_MIXS_CD 195,5665 -#define SB_DSP_MIXS_MIC 196,5694 -#define SB_DSP_MIXS_LINE 197,5724 -#define SB_DSP4_MASTER_DEV 200,5811 -#define SB_DSP4_BASS_DEV 201,5843 -#define SB_DSP4_TREBLE_DEV 202,5873 -#define SB_DSP4_SYNTH_DEV 203,5905 -#define SB_DSP4_PCM_DEV 204,5936 -#define SB_DSP4_SPEAKER_DEV 205,5966 -#define SB_DSP4_LINE_DEV 206,5999 -#define SB_DSP4_MIC_DEV 207,6029 -#define SB_DSP4_OUTPUT_SW 208,6059 -#define SB_DSP4_CD_DEV 209,6090 -#define SB_DSP4_IGAIN_DEV 210,6119 -#define SB_DSP4_OGAIN_DEV 211,6150 -#define SB_DSP4_MIC_AGC 212,6181 -#define SB_DSP4_IRQSETUP 215,6255 -#define SB_DSP4_DMASETUP 216,6285 -#define SB_DSP4_IRQSTATUS 217,6315 -#define SB_DSP4_MPUSETUP 218,6346 -#define SB_DSP4_3DSE 220,6377 -#define SB_DT019X_MASTER_DEV 223,6449 -#define SB_DT019X_PCM_DEV 224,6483 -#define SB_DT019X_SYNTH_DEV 225,6514 -#define SB_DT019X_CD_DEV 226,6547 -#define SB_DT019X_MIC_DEV 227,6577 -#define SB_DT019X_SPKR_DEV 228,6608 -#define SB_DT019X_LINE_DEV 229,6640 -#define SB_DT019X_OUTPUT_SW2 230,6672 -#define SB_DT019X_CAPTURE_SW 231,6706 -#define SB_DT019X_CAP_CD 233,6741 -#define SB_DT019X_CAP_MIC 234,6771 -#define SB_DT019X_CAP_LINE 235,6802 -#define SB_DT019X_CAP_SYNTH 236,6834 -#define SB_DT019X_CAP_MAIN 237,6867 -#define SB_ALS4000_MONO_IO_CTRL 239,6900 -#define SB_ALS4000_MIC_IN_GAIN 240,6937 -#define SB_ALS4000_FMDAC 241,6973 -#define SB_ALS4000_3D_SND_FX 242,7003 -#define SB_ALS4000_3D_TIME_DELAY 243,7037 -#define SB_ALS4000_3D_AUTO_MUTE 244,7075 -#define SB_ALS4000_QSOUND 245,7112 -#define SB_IRQSETUP_IRQ9 248,7169 -#define SB_IRQSETUP_IRQ5 249,7199 -#define SB_IRQSETUP_IRQ7 250,7229 -#define SB_IRQSETUP_IRQ10 251,7259 -#define SB_IRQTYPE_8BIT 254,7307 -#define SB_IRQTYPE_16BIT 255,7337 -#define SB_IRQTYPE_MPUIN 256,7367 -#define SB_DMASETUP_DMA0 259,7423 -#define SB_DMASETUP_DMA1 260,7453 -#define SB_DMASETUP_DMA3 261,7483 -#define SB_DMASETUP_DMA5 262,7513 -#define SB_DMASETUP_DMA6 263,7543 -#define SB_DMASETUP_DMA7 264,7573 -static inline void snd_sb_ack_8bit(270,7615 -static inline void snd_sb_ack_16bit(275,7696 - SB_MIX_SINGLE,321,9405 - SB_MIX_DOUBLE,322,9421 - SB_MIX_INPUT_SW,323,9437 - SB_MIX_CAPTURE_PRO,324,9455 - SB_MIX_CAPTURE_DT019X325,9476 -#define SB_MIXVAL_DOUBLE(SB_MIXVAL_DOUBLE328,9503 -#define SB_MIXVAL_SINGLE(SB_MIXVAL_SINGLE330,9682 -#define SB_MIXVAL_INPUT_SW(SB_MIXVAL_INPUT_SW332,9772 -struct sbmix_elem sbmix_elem338,10033 -#define SB_SINGLE(SB_SINGLE344,10117 -#define SB_DOUBLE(SB_DOUBLE349,10265 -#define SB16_INPUT_SW(SB16_INPUT_SW354,10481 -static inline int snd_sbmixer_add_ctl_elem(359,10675 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/opl4.h,70 -#define __SOUND_OPL4_H2,23 -typedef struct opl4 opl4_t;opl4_t25,899 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/rawmidi.h,1450 -#define __SOUND_RAWMIDI_H2,26 -typedef enum sndrv_rawmidi_stream snd_rawmidi_stream_t;snd_rawmidi_stream_t38,1140 -typedef struct sndrv_rawmidi_info snd_rawmidi_info_t;snd_rawmidi_info_t39,1196 -typedef struct sndrv_rawmidi_params snd_rawmidi_params_t;snd_rawmidi_params_t40,1250 -typedef struct sndrv_rawmidi_status snd_rawmidi_status_t;snd_rawmidi_status_t41,1308 -#define SNDRV_RAWMIDI_DEVICES 43,1367 -#define SNDRV_RAWMIDI_LFLG_OUTPUT 45,1401 -#define SNDRV_RAWMIDI_LFLG_INPUT 46,1442 -#define SNDRV_RAWMIDI_LFLG_OPEN 47,1482 -#define SNDRV_RAWMIDI_LFLG_APPEND 48,1522 -#define SNDRV_RAWMIDI_LFLG_NOOPENLOCK 49,1563 -typedef struct _snd_rawmidi_runtime snd_rawmidi_runtime_t;snd_rawmidi_runtime_t51,1609 -typedef struct _snd_rawmidi_substream snd_rawmidi_substream_t;snd_rawmidi_substream_t52,1668 -typedef struct _snd_rawmidi_str snd_rawmidi_str_t;snd_rawmidi_str_t53,1731 -typedef struct _snd_rawmidi_ops _snd_rawmidi_ops55,1783 -} snd_rawmidi_ops_t;snd_rawmidi_ops_t60,2040 -typedef struct _snd_rawmidi_global_ops _snd_rawmidi_global_ops62,2062 -} snd_rawmidi_global_ops_t;snd_rawmidi_global_ops_t65,2197 -struct _snd_rawmidi_runtime _snd_rawmidi_runtime67,2226 -struct _snd_rawmidi_substream _snd_rawmidi_substream89,2997 -typedef struct _snd_rawmidi_file _snd_rawmidi_file106,3544 -} snd_rawmidi_file_t;snd_rawmidi_file_t110,3669 -struct _snd_rawmidi_str _snd_rawmidi_str112,3692 -struct _snd_rawmidi _snd_rawmidi118,3815 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/emu10k1.h,26006 -#define __SOUND_EMU10K1_H2,26 -#define PCI_VENDOR_ID_CREATIVE 38,1197 -#define PCI_DEVICE_ID_CREATIVE_EMU10K1 41,1282 -#define EMUPAGESIZE 46,1392 -#define MAXREQVOICES 47,1421 -#define MAXPAGES 48,1447 -#define RESERVED 49,1476 -#define NUM_MIDI 50,1502 -#define NUM_G 51,1529 -#define NUM_FXSENDS 52,1592 -#define EMU10K1_DMA_MASK 54,1619 -#define AUDIGY_DMA_MASK 55,1669 -#define TMEMSIZE 57,1720 -#define TMEMSIZEREG 58,1753 -#define IP_TO_CP(IP_TO_CP60,1780 -#define PTR 68,2222 -#define PTR_CHANNELNUM_MASK 71,2394 -#define PTR_ADDRESS_MASK 75,2634 -#define A_PTR_ADDRESS_MASK 76,2694 -#define DATA 78,2733 -#define IPR 80,2797 -#define IPR_A_MIDITRANSBUFEMPTY2 85,3054 -#define IPR_A_MIDIRECVBUFEMPTY2 86,3137 -#define IPR_SAMPLERATETRACKER 88,3219 -#define IPR_FXDSP 89,3305 -#define IPR_FORCEINT 90,3368 -#define IPR_PCIERROR 91,3438 -#define IPR_VOLINCR 92,3494 -#define IPR_VOLDECR 93,3565 -#define IPR_MUTE 94,3636 -#define IPR_MICBUFFULL 95,3694 -#define IPR_MICBUFHALFFULL 96,3760 -#define IPR_ADCBUFFULL 97,3834 -#define IPR_ADCBUFHALFFULL 98,3894 -#define IPR_EFXBUFFULL 99,3962 -#define IPR_EFXBUFHALFFULL 100,4026 -#define IPR_GPSPDIFSTATUSCHANGE 101,4097 -#define IPR_CDROMSTATUSCHANGE 102,4177 -#define IPR_INTERVALTIMER 103,4255 -#define IPR_MIDITRANSBUFEMPTY 104,4329 -#define IPR_MIDIRECVBUFEMPTY 105,4409 -#define IPR_CHANNELLOOP 106,4487 -#define IPR_CHANNELNUMBERMASK 107,4573 -#define INTE 113,4869 -#define INTE_VIRTUALSB_MASK 114,4924 -#define INTE_VIRTUALSB_220 115,5007 -#define INTE_VIRTUALSB_240 116,5091 -#define INTE_VIRTUALSB_260 117,5170 -#define INTE_VIRTUALSB_280 118,5249 -#define INTE_VIRTUALMPU_MASK 119,5328 -#define INTE_VIRTUALMPU_300 120,5405 -#define INTE_VIRTUALMPU_310 121,5490 -#define INTE_VIRTUALMPU_320 122,5570 -#define INTE_VIRTUALMPU_330 123,5650 -#define INTE_MASTERDMAENABLE 124,5730 -#define INTE_SLAVEDMAENABLE 125,5813 -#define INTE_MASTERPICENABLE 126,5894 -#define INTE_SLAVEPICENABLE 127,5977 -#define INTE_VSBENABLE 128,6058 -#define INTE_ADLIBENABLE 129,6129 -#define INTE_MPUENABLE 130,6209 -#define INTE_FORCEINT 131,6272 -#define INTE_MRHANDENABLE 133,6341 -#define INTE_A_MIDITXENABLE2 140,6694 -#define INTE_A_MIDIRXENABLE2 141,6785 -#define INTE_SAMPLERATETRACKER 144,6877 -#define INTE_FXDSPENABLE 146,7020 -#define INTE_PCIERRORENABLE 147,7089 -#define INTE_VOLINCRENABLE 148,7167 -#define INTE_VOLDECRENABLE 149,7253 -#define INTE_MUTEENABLE 150,7339 -#define INTE_MICBUFENABLE 151,7412 -#define INTE_ADCBUFENABLE 152,7492 -#define INTE_EFXBUFENABLE 153,7566 -#define INTE_GPSPDIFENABLE 154,7643 -#define INTE_CDSPDIFENABLE 155,7721 -#define INTE_INTERVALTIMERENB 156,7799 -#define INTE_MIDITXENABLE 157,7880 -#define INTE_MIDIRXENABLE 158,7968 -#define WC 160,8056 -#define WC_SAMPLECOUNTER_MASK 161,8104 -#define WC_SAMPLECOUNTER 162,8187 -#define WC_CURRENTCHANNEL 163,8223 -#define HCFG 167,8401 -#define HCFG_LEGACYFUNC_MASK 172,8676 -#define HCFG_LEGACYFUNC_MPU 173,8748 -#define HCFG_LEGACYFUNC_SB 174,8809 -#define HCFG_LEGACYFUNC_AD 175,8867 -#define HCFG_LEGACYFUNC_MPIC 176,8925 -#define HCFG_LEGACYFUNC_MDMA 177,8987 -#define HCFG_LEGACYFUNC_SPCI 178,9049 -#define HCFG_LEGACYFUNC_SDMA 179,9111 -#define HCFG_IOCAPTUREADDR 180,9173 -#define HCFG_LEGACYWRITE 181,9257 -#define HCFG_LEGACYWORD 182,9323 -#define HCFG_LEGACYINT 183,9388 -#define HCFG_CODECFORMAT_MASK 186,9572 -#define HCFG_CODECFORMAT_AC97 187,9636 -#define HCFG_CODECFORMAT_I2S 188,9720 -#define HCFG_GPINPUT0 189,9810 -#define HCFG_GPINPUT1 190,9869 -#define HCFG_GPOUTPUT_MASK 191,9928 -#define HCFG_GPOUT0 192,10010 -#define HCFG_GPOUT1 193,10085 -#define HCFG_GPOUT2 194,10145 -#define HCFG_JOYENABLE 195,10205 -#define HCFG_PHASETRACKENABLE 196,10282 -#define HCFG_AC3ENABLE_MASK 199,10465 -#define HCFG_AC3ENABLE_ZVIDEO 200,10552 -#define HCFG_AC3ENABLE_CDSPDIF 201,10632 -#define HCFG_AC3ENABLE_GPSPDIF 202,10714 -#define HCFG_AUTOMUTE 203,10813 -#define HCFG_LOCKSOUNDCACHE 207,11039 -#define HCFG_LOCKTANKCACHE_MASK 209,11186 -#define HCFG_LOCKTANKCACHE 211,11336 -#define HCFG_MUTEBUTTONENABLE 212,11374 -#define HCFG_AUDIOENABLE 218,11725 -#define MUDATA 224,11952 -#define MUCMD 226,12020 -#define MUCMD_RESET 227,12086 -#define MUCMD_ENTERUARTMODE 228,12136 -#define MUSTAT 231,12253 -#define MUSTAT_IRDYN 232,12321 -#define MUSTAT_ORDYN 233,12386 -#define A_IOCFG 235,12461 -#define A_GPINPUT_MASK 236,12522 -#define A_GPOUTPUT_MASK 237,12553 -#define A_IOCFG_GPOUT0 238,12585 -#define A_IOCFG_GPOUT1 239,12639 -#define A_IOCFG_GPOUT2 240,12680 -#define TIMER 242,12722 -#define TIMER_RATE_MASK 246,12945 -#define TIMER_RATE 248,13079 -#define AC97DATA 250,13111 -#define AC97ADDRESS 252,13183 -#define AC97ADDRESS_READY 253,13259 -#define AC97ADDRESS_ADDRESS 254,13340 -#define JOYSTICK1 260,13678 -#define JOYSTICK2 261,13740 -#define JOYSTICK3 262,13802 -#define JOYSTICK4 263,13864 -#define JOYSTICK5 264,13926 -#define JOYSTICK6 265,13988 -#define JOYSTICK7 266,14050 -#define JOYSTICK8 267,14112 -#define JOYSTICK_BUTTONS 271,14310 -#define JOYSTICK_COMPARATOR 272,14371 -#define CPF 279,14744 -#define CPF_CURRENTPITCH_MASK 280,14808 -#define CPF_CURRENTPITCH 281,14908 -#define CPF_STEREO_MASK 282,14944 -#define CPF_STOP_MASK 283,15034 -#define CPF_FRACADDRESS_MASK 284,15106 -#define PTRX 286,15202 -#define PTRX_PITCHTARGET_MASK 287,15273 -#define PTRX_PITCHTARGET 288,15356 -#define PTRX_FXSENDAMOUNT_A_MASK 289,15392 -#define PTRX_FXSENDAMOUNT_A 290,15495 -#define PTRX_FXSENDAMOUNT_B_MASK 291,15534 -#define PTRX_FXSENDAMOUNT_B 292,15637 -#define CVCF 294,15677 -#define CVCF_CURRENTVOL_MASK 295,15747 -#define CVCF_CURRENTVOL 296,15837 -#define CVCF_CURRENTFILTER_MASK 297,15873 -#define CVCF_CURRENTFILTER 298,15975 -#define VTFT 300,16014 -#define VTFT_VOLUMETARGET_MASK 301,16089 -#define VTFT_VOLUMETARGET 302,16174 -#define VTFT_FILTERTARGET_MASK 303,16211 -#define VTFT_FILTERTARGET 304,16302 -#define Z1 306,16340 -#define Z2 308,16399 -#define PSST 310,16458 -#define PSST_FXSENDAMOUNT_C_MASK 311,16531 -#define PSST_FXSENDAMOUNT_C 313,16635 -#define PSST_LOOPSTARTADDR_MASK 315,16675 -#define PSST_LOOPSTARTADDR 316,16769 -#define DSL 318,16808 -#define DSL_FXSENDAMOUNT_D_MASK 319,16880 -#define DSL_FXSENDAMOUNT_D 321,16983 -#define DSL_LOOPENDADDR_MASK 323,17022 -#define DSL_LOOPENDADDR 324,17111 -#define CCCA 326,17148 -#define CCCA_RESONANCE 327,17228 -#define CCCA_INTERPROMMASK 328,17307 -#define CCCA_INTERPROM_0 334,17676 -#define CCCA_INTERPROM_1 335,17748 -#define CCCA_INTERPROM_2 336,17820 -#define CCCA_INTERPROM_3 337,17892 -#define CCCA_INTERPROM_4 338,17964 -#define CCCA_INTERPROM_5 339,18036 -#define CCCA_INTERPROM_6 340,18108 -#define CCCA_INTERPROM_7 341,18180 -#define CCCA_8BITSELECT 342,18252 -#define CCCA_CURRADDR_MASK 343,18347 -#define CCCA_CURRADDR 344,18432 -#define CCR 346,18467 -#define CCR_CACHEINVALIDSIZE 347,18519 -#define CCR_CACHEINVALIDSIZE_MASK 348,18559 -#define CCR_CACHELOOPFLAG 349,18663 -#define CCR_INTERLEAVEDSAMPLES 350,18745 -#define CCR_WORDSIZEDSAMPLES 351,18844 -#define CCR_READADDRESS 352,18940 -#define CCR_READADDRESS_MASK 353,18976 -#define CCR_LOOPINVALSIZE 354,19074 -#define CCR_LOOPFLAG 356,19227 -#define CCR_CACHELOOPADDRHI 357,19316 -#define CLP 359,19414 -#define CLP_CACHELOOPADDR 361,19547 -#define FXRT 363,19638 -#define FXRT_CHANNELA 366,19794 -#define FXRT_CHANNELB 367,19887 -#define FXRT_CHANNELC 368,19980 -#define FXRT_CHANNELD 369,20073 -#define MAPA 371,20167 -#define MAPB 373,20212 -#define MAP_PTE_MASK 375,20257 -#define MAP_PTI_MASK 376,20339 -#define ENVVOL 378,20432 -#define ENVVOL_MASK 379,20489 -#define ATKHLDV 382,20629 -#define ATKHLDV_PHASE0 383,20701 -#define ATKHLDV_HOLDTIME_MASK 384,20768 -#define ATKHLDV_ATTACKTIME_MASK 385,20857 -#define DCYSUSV 388,21002 -#define DCYSUSV_PHASE1_MASK 389,21076 -#define DCYSUSV_SUSTAINLEVEL_MASK 390,21169 -#define DCYSUSV_CHANNELENABLE_MASK 391,21260 -#define DCYSUSV_DECAYTIME_MASK 394,21458 -#define LFOVAL1 397,21608 -#define LFOVAL_MASK 398,21663 -#define ENVVAL 401,21793 -#define ENVVAL_MASK 402,21854 -#define ATKHLDM 405,21990 -#define ATKHLDM_PHASE0 406,22066 -#define ATKHLDM_HOLDTIME 407,22133 -#define ATKHLDM_ATTACKTIME 408,22215 -#define DCYSUSM 411,22354 -#define DCYSUSM_PHASE1_MASK 412,22431 -#define DCYSUSM_SUSTAINLEVEL_MASK 413,22524 -#define DCYSUSM_DECAYTIME_MASK 414,22615 -#define LFOVAL2 417,22754 -#define LFOVAL2_MASK 418,22809 -#define IP 421,22939 -#define IP_MASK 422,22990 -#define IP_UNITY 424,23118 -#define IFATN 426,23176 -#define IFATN_FILTERCUTOFF_MASK 427,23251 -#define IFATN_FILTERCUTOFF 430,23456 -#define IFATN_ATTENUATION_MASK 431,23494 -#define IFATN_ATTENUATION 432,23581 -#define PEFE 435,23620 -#define PEFE_PITCHAMOUNT_MASK 436,23698 -#define PEFE_PITCHAMOUNT 438,23834 -#define PEFE_FILTERAMOUNT_MASK 439,23870 -#define PEFE_FILTERAMOUNT 441,24008 -#define FMMOD 442,24045 -#define FMMOD_MODVIBRATO 443,24118 -#define FMMOD_MOFILTER 445,24251 -#define TREMFRQ 449,24386 -#define TREMFRQ_DEPTH 450,24469 -#define TREMFRQ_FREQUENCY 453,24586 -#define FM2FRQ2 455,24698 -#define FM2FRQ2_DEPTH 456,24778 -#define FM2FRQ2_FREQUENCY 458,24906 -#define TEMPENV 461,25024 -#define TEMPENV_MASK 462,25083 -#define CD0 466,25247 -#define CD1 467,25298 -#define CD2 468,25349 -#define CD3 469,25400 -#define CD4 470,25451 -#define CD5 471,25502 -#define CD6 472,25553 -#define CD7 473,25604 -#define CD8 474,25655 -#define CD9 475,25706 -#define CDA 476,25757 -#define CDB 477,25808 -#define CDC 478,25859 -#define CDD 479,25910 -#define CDE 480,25961 -#define CDF 481,26012 -#define PTB 483,26064 -#define PTB_MASK 484,26118 -#define TCB 486,26204 -#define TCB_MASK 487,26262 -#define ADCCR 489,26348 -#define ADCCR_RCHANENABLE 490,26417 -#define ADCCR_LCHANENABLE 491,26513 -#define A_ADCCR_RCHANENABLE 494,26726 -#define A_ADCCR_LCHANENABLE 495,26765 -#define A_ADCCR_SAMPLERATE_MASK 497,26805 -#define ADCCR_SAMPLERATE_MASK 498,26901 -#define ADCCR_SAMPLERATE_48 499,26984 -#define ADCCR_SAMPLERATE_44 500,27051 -#define ADCCR_SAMPLERATE_32 501,27120 -#define ADCCR_SAMPLERATE_24 502,27187 -#define ADCCR_SAMPLERATE_22 503,27254 -#define ADCCR_SAMPLERATE_16 504,27324 -#define ADCCR_SAMPLERATE_11 505,27391 -#define ADCCR_SAMPLERATE_8 506,27461 -#define A_ADCCR_SAMPLERATE_12 507,27526 -#define A_ADCCR_SAMPLERATE_11 508,27595 -#define A_ADCCR_SAMPLERATE_8 509,27667 -#define FXWC 511,27735 -#define FXWC_DEFAULTROUTE_C 514,27917 -#define FXWC_DEFAULTROUTE_B 515,27977 -#define FXWC_DEFAULTROUTE_A 516,28038 -#define FXWC_DEFAULTROUTE_D 517,28078 -#define FXWC_ADCLEFT 518,28118 -#define FXWC_CDROMSPDIFLEFT 519,28158 -#define FXWC_ADCRIGHT 520,28198 -#define FXWC_CDROMSPDIFRIGHT 521,28238 -#define FXWC_MIC 522,28278 -#define FXWC_ZOOMLEFT 523,28318 -#define FXWC_ZOOMRIGHT 524,28358 -#define FXWC_SPDIFLEFT 525,28398 -#define FXWC_SPDIFRIGHT 526,28456 -#define TCBS 528,28515 -#define TCBS_MASK 529,28576 -#define TCBS_BUFFSIZE_16K 530,28644 -#define TCBS_BUFFSIZE_32K 531,28681 -#define TCBS_BUFFSIZE_64K 532,28718 -#define TCBS_BUFFSIZE_128K 533,28755 -#define TCBS_BUFFSIZE_256K 534,28793 -#define TCBS_BUFFSIZE_512K 535,28831 -#define TCBS_BUFFSIZE_1024K 536,28869 -#define TCBS_BUFFSIZE_2048K 537,28908 -#define MICBA 539,28948 -#define MICBA_MASK 540,29017 -#define ADCBA 542,29079 -#define ADCBA_MASK 543,29138 -#define FXBA 545,29200 -#define FXBA_MASK 546,29245 -#define MICBS 548,29306 -#define ADCBS 550,29369 -#define FXBS 552,29426 -#define ADCBS_BUFSIZE_NONE 555,29569 -#define ADCBS_BUFSIZE_384 556,29607 -#define ADCBS_BUFSIZE_448 557,29644 -#define ADCBS_BUFSIZE_512 558,29681 -#define ADCBS_BUFSIZE_640 559,29718 -#define ADCBS_BUFSIZE_768 560,29755 -#define ADCBS_BUFSIZE_896 561,29792 -#define ADCBS_BUFSIZE_1024 562,29829 -#define ADCBS_BUFSIZE_1280 563,29867 -#define ADCBS_BUFSIZE_1536 564,29905 -#define ADCBS_BUFSIZE_1792 565,29943 -#define ADCBS_BUFSIZE_2048 566,29981 -#define ADCBS_BUFSIZE_2560 567,30019 -#define ADCBS_BUFSIZE_3072 568,30057 -#define ADCBS_BUFSIZE_3584 569,30095 -#define ADCBS_BUFSIZE_4096 570,30133 -#define ADCBS_BUFSIZE_5120 571,30171 -#define ADCBS_BUFSIZE_6144 572,30209 -#define ADCBS_BUFSIZE_7168 573,30247 -#define ADCBS_BUFSIZE_8192 574,30285 -#define ADCBS_BUFSIZE_10240 575,30323 -#define ADCBS_BUFSIZE_12288 576,30362 -#define ADCBS_BUFSIZE_14366 577,30401 -#define ADCBS_BUFSIZE_16384 578,30440 -#define ADCBS_BUFSIZE_20480 579,30479 -#define ADCBS_BUFSIZE_24576 580,30518 -#define ADCBS_BUFSIZE_28672 581,30557 -#define ADCBS_BUFSIZE_32768 582,30596 -#define ADCBS_BUFSIZE_40960 583,30635 -#define ADCBS_BUFSIZE_49152 584,30674 -#define ADCBS_BUFSIZE_57344 585,30713 -#define ADCBS_BUFSIZE_65536 586,30752 -#define CDCS 589,30793 -#define GPSCS 591,30860 -#define DBG 593,30934 -#define REG53 595,31010 -#define A_DBG 597,31088 -#define A_DBG_SINGLE_STEP 598,31110 -#define A_DBG_ZC 599,31179 -#define A_DBG_STEP_ADDR 600,31233 -#define A_DBG_SATURATION_OCCURED 601,31270 -#define A_DBG_SATURATION_ADDR 602,31314 -#define SPCS0 604,31357 -#define SPCS1 606,31425 -#define SPCS2 608,31493 -#define SPCS_CLKACCYMASK 610,31561 -#define SPCS_CLKACCY_1000PPM 611,31621 -#define SPCS_CLKACCY_50PPM 612,31692 -#define SPCS_CLKACCY_VARIABLE 613,31760 -#define SPCS_SAMPLERATEMASK 614,31828 -#define SPCS_SAMPLERATE_44 615,31889 -#define SPCS_SAMPLERATE_48 616,31956 -#define SPCS_SAMPLERATE_32 617,32021 -#define SPCS_CHANNELNUMMASK 618,32086 -#define SPCS_CHANNELNUM_UNSPEC 619,32149 -#define SPCS_CHANNELNUM_LEFT 620,32226 -#define SPCS_CHANNELNUM_RIGHT 621,32289 -#define SPCS_SOURCENUMMASK 622,32353 -#define SPCS_SOURCENUM_UNSPEC 623,32414 -#define SPCS_GENERATIONSTATUS 624,32489 -#define SPCS_CATEGORYCODEMASK 625,32573 -#define SPCS_MODEMASK 626,32654 -#define SPCS_EMPHASISMASK 627,32720 -#define SPCS_EMPHASIS_NONE 628,32776 -#define SPCS_EMPHASIS_50_15 629,32836 -#define SPCS_COPYRIGHT 630,32905 -#define SPCS_NOTAUDIODATA 631,32987 -#define SPCS_PROFESSIONAL 632,33064 -#define CLIEL 635,33244 -#define CLIEH 637,33316 -#define CLIPL 639,33389 -#define CLIPH 641,33462 -#define SOLEL 643,33536 -#define SOLEH 645,33599 -#define SPBYPASS 647,33663 -#define SPBYPASS_SPDIF0_MASK 648,33722 -#define SPBYPASS_SPDIF1_MASK 649,33791 -#define SPBYPASS_FORMAT 651,33930 -#define AC97SLOT 653,34020 -#define AC97SLOT_REAR_RIGHT 654,34095 -#define AC97SLOT_REAR_LEFT 655,34145 -#define AC97SLOT_CNTR 656,34195 -#define AC97SLOT_LFE 657,34254 -#define CDSRCS 659,34310 -#define GPSRCS 661,34385 -#define ZVSRCS 663,34460 -#define SRCS_SPDIFLOCKED 668,34699 -#define SRCS_RATELOCKED 669,34764 -#define SRCS_ESTSAMPLERATE 670,34828 -#define SRCS_SPDIFRATE_44 673,35000 -#define SRCS_SPDIFRATE_48 674,35037 -#define SRCS_SPDIFRATE_96 675,35074 -#define MICIDX 677,35112 -#define MICIDX_MASK 678,35211 -#define MICIDX_IDX 679,35310 -#define ADCIDX 681,35342 -#define ADCIDX_MASK 682,35408 -#define ADCIDX_IDX 683,35468 -#define A_ADCIDX 685,35500 -#define A_ADCIDX_IDX 686,35523 -#define A_MICIDX 688,35557 -#define A_MICIDX_IDX 689,35580 -#define FXIDX 691,35614 -#define FXIDX_MASK 692,35678 -#define FXIDX_IDX 693,35732 -#define A_MUDATA1 696,35827 -#define A_MUCMD1 697,35851 -#define A_MUSTAT1 698,35874 -#define A_MUDATA2 701,35957 -#define A_MUCMD2 702,35981 -#define A_MUSTAT2 703,36004 -#define A_FXWC1 708,36228 -#define A_FXWC2 709,36313 -#define A_SPDIF_SAMPLERATE 711,36389 -#define A_SPDIF_48000 712,36465 -#define A_SPDIF_44100 713,36499 -#define A_SPDIF_96000 714,36533 -#define A_FXRT2 716,36568 -#define A_FXRT_CHANNELE 717,36591 -#define A_FXRT_CHANNELF 718,36686 -#define A_FXRT_CHANNELG 719,36781 -#define A_FXRT_CHANNELH 720,36876 -#define A_SENDAMOUNTS 722,36972 -#define A_FXSENDAMOUNT_E_MASK 723,37000 -#define A_FXSENDAMOUNT_F_MASK 724,37041 -#define A_FXSENDAMOUNT_G_MASK 725,37082 -#define A_FXSENDAMOUNT_H_MASK 726,37123 -#define A_FXRT1 729,37239 -#define A_FXRT_CHANNELA 730,37262 -#define A_FXRT_CHANNELB 731,37298 -#define A_FXRT_CHANNELC 732,37334 -#define A_FXRT_CHANNELD 733,37370 -#define FXGPREGBASE 737,37489 -#define A_FXGPREGBASE 738,37564 -#define TANKMEMDATAREGBASE 743,37871 -#define TANKMEMDATAREG_MASK 744,37949 -#define TANKMEMADDRREGBASE 747,38125 -#define TANKMEMADDRREG_ADDR_MASK 748,38201 -#define TANKMEMADDRREG_CLEAR 749,38279 -#define TANKMEMADDRREG_ALIGN 750,38346 -#define TANKMEMADDRREG_WRITE 751,38436 -#define TANKMEMADDRREG_READ 752,38506 -#define MICROCODEBASE 754,38576 -#define LOWORD_OPX_MASK 758,38809 -#define LOWORD_OPY_MASK 759,38875 -#define HIWORD_OPCODE_MASK 760,38941 -#define HIWORD_RESULT_MASK 761,39007 -#define HIWORD_OPA_MASK 762,39073 -#define A_MICROCODEBASE 766,39200 -#define A_LOWORD_OPY_MASK 767,39231 -#define A_LOWORD_OPX_MASK 768,39268 -#define A_HIWORD_OPCODE_MASK 769,39305 -#define A_HIWORD_RESULT_MASK 770,39345 -#define A_HIWORD_OPA_MASK 771,39385 -typedef struct _snd_emu10k1 emu10k1_t;emu10k1_t776,39483 -typedef struct _snd_emu10k1_voice emu10k1_voice_t;emu10k1_voice_t777,39522 -typedef struct _snd_emu10k1_pcm emu10k1_pcm_t;emu10k1_pcm_t778,39573 - EMU10K1_PCM,781,39636 - EMU10K1_SYNTH,782,39650 - EMU10K1_MIDI783,39666 -} emu10k1_voice_type_t;emu10k1_voice_type_t784,39680 -struct _snd_emu10k1_voice _snd_emu10k1_voice786,39705 - PLAYBACK_EMUVOICE,799,39921 - CAPTURE_AC97ADC,800,39941 - CAPTURE_AC97MIC,801,39959 - CAPTURE_EFX802,39977 -} snd_emu10k1_pcm_type_t;snd_emu10k1_pcm_type_t803,39990 -struct _snd_emu10k1_pcm _snd_emu10k1_pcm805,40017 -} emu10k1_pcm_mixer_t;emu10k1_pcm_mixer_t832,40970 -#define snd_emu10k1_compose_send_routing(snd_emu10k1_compose_send_routing834,40994 -#define snd_emu10k1_compose_audigy_fxrt1(snd_emu10k1_compose_audigy_fxrt1837,41119 -#define snd_emu10k1_compose_audigy_fxrt2(snd_emu10k1_compose_audigy_fxrt2840,41301 -typedef struct snd_emu10k1_memblk snd_emu10k1_memblk843,41483 -} emu10k1_memblk_t;emu10k1_memblk_t850,41705 -#define snd_emu10k1_memblk_offset(snd_emu10k1_memblk_offset852,41726 -#define EMU10K1_MAX_TRAM_BLOCKS_PER_CODE 854,41843 -} snd_emu10k1_fx8010_ctl_t;snd_emu10k1_fx8010_ctl_t866,42281 -typedef void (snd_fx8010_irq_handler_t)snd_fx8010_irq_handler_t868,42310 -typedef struct _snd_emu10k1_fx8010_irq _snd_emu10k1_fx8010_irq870,42388 -} snd_emu10k1_fx8010_irq_t;snd_emu10k1_fx8010_irq_t875,42553 -} snd_emu10k1_fx8010_pcm_t;snd_emu10k1_fx8010_pcm_t895,43585 -} snd_emu10k1_fx8010_t;snd_emu10k1_fx8010_t913,44318 -#define emu10k1_gpr_ctl(emu10k1_gpr_ctl915,44343 -} emu10k1_midi_t;emu10k1_midi_t930,44784 -struct _snd_emu10k1 _snd_emu10k1932,44803 -static inline unsigned int snd_emu10k1_wc(1042,48971 -#define EMU10K1_CARD_CREATIVE 1083,50735 -#define EMU10K1_CARD_EMUAPS 1084,50778 -#define EMU10K1_FX8010_PCM_COUNT 1086,50820 -#define iMAC0 1089,50879 -#define iMAC1 1090,50942 -#define iMAC2 1091,51005 -#define iMAC3 1092,51068 -#define iMACINT0 1093,51131 -#define iMACINT1 1094,51189 -#define iACC3 1095,51256 -#define iMACMV 1096,51312 -#define iANDXOR 1097,51366 -#define iTSTNEG 1098,51410 -#define iLIMITGE 1099,51460 -#define iLIMITLT 1100,51509 -#define iLOG 1101,51557 -#define iEXP 1102,51642 -#define iINTERP 1103,51727 -#define iSKIP 1104,51797 -#define FXBUS(FXBUS1107,51876 -#define EXTIN(EXTIN1108,51928 -#define EXTOUT(EXTOUT1109,51980 -#define C_00000000 1110,52033 -#define C_00000001 1111,52057 -#define C_00000002 1112,52081 -#define C_00000003 1113,52105 -#define C_00000004 1114,52129 -#define C_00000008 1115,52153 -#define C_00000010 1116,52177 -#define C_00000020 1117,52201 -#define C_00000100 1118,52225 -#define C_00010000 1119,52249 -#define C_00080000 1120,52273 -#define C_10000000 1121,52297 -#define C_20000000 1122,52321 -#define C_40000000 1123,52345 -#define C_80000000 1124,52369 -#define C_7fffffff 1125,52393 -#define C_ffffffff 1126,52417 -#define C_fffffffe 1127,52441 -#define C_c0000000 1128,52465 -#define C_4f1bbcdc 1129,52489 -#define C_5a7ef9db 1130,52513 -#define C_00100000 1131,52537 -#define GPR_ACCU 1132,52571 -#define GPR_COND 1133,52619 -#define GPR_NOISE0 1134,52672 -#define GPR_NOISE1 1135,52716 -#define GPR_IRQ 1136,52760 -#define GPR_DBAC 1137,52802 -#define GPR(GPR1138,52863 -#define ITRAM_DATA(ITRAM_DATA1139,52932 -#define ETRAM_DATA(ETRAM_DATA1140,53010 -#define ITRAM_ADDR(ITRAM_ADDR1141,53088 -#define ETRAM_ADDR(ETRAM_ADDR1142,53166 -#define A_FXBUS(A_FXBUS1144,53245 -#define A_EXTIN(A_EXTIN1145,53300 -#define A_EXTOUT(A_EXTOUT1146,53355 -#define A_GPR(A_GPR1147,53411 -#define CC_REG_NORMALIZED 1150,53474 -#define CC_REG_BORROW 1151,53511 -#define CC_REG_MINUS 1152,53544 -#define CC_REG_ZERO 1153,53576 -#define CC_REG_SATURATE 1154,53607 -#define CC_REG_NONZERO 1155,53642 -#define FXBUS_PCM_LEFT 1158,53692 -#define FXBUS_PCM_RIGHT 1159,53721 -#define FXBUS_PCM_LEFT_REAR 1160,53751 -#define FXBUS_PCM_RIGHT_REAR 1161,53784 -#define FXBUS_MIDI_LEFT 1162,53818 -#define FXBUS_MIDI_RIGHT 1163,53848 -#define FXBUS_PCM_CENTER 1164,53878 -#define FXBUS_PCM_LFE 1165,53908 -#define FXBUS_PCM_LEFT_FRONT 1166,53936 -#define FXBUS_PCM_RIGHT_FRONT 1167,53970 -#define FXBUS_MIDI_REVERB 1168,54005 -#define FXBUS_MIDI_CHORUS 1169,54036 -#define FXBUS_PCM_LEFT_SIDE 1170,54067 -#define FXBUS_PCM_RIGHT_SIDE 1171,54100 -#define FXBUS_PT_LEFT 1172,54134 -#define FXBUS_PT_RIGHT 1173,54162 -#define EXTIN_AC97_L 1176,54205 -#define EXTIN_AC97_R 1177,54269 -#define EXTIN_SPDIF_CD_L 1178,54334 -#define EXTIN_SPDIF_CD_R 1179,54408 -#define EXTIN_ZOOM_L 1180,54483 -#define EXTIN_ZOOM_R 1181,54540 -#define EXTIN_TOSLINK_L 1182,54598 -#define EXTIN_TOSLINK_R 1183,54671 -#define EXTIN_LINE1_L 1184,54745 -#define EXTIN_LINE1_R 1185,54811 -#define EXTIN_COAX_SPDIF_L 1186,54878 -#define EXTIN_COAX_SPDIF_R 1187,54950 -#define EXTIN_LINE2_L 1188,55023 -#define EXTIN_LINE2_R 1189,55089 -#define EXTOUT_AC97_L 1192,55171 -#define EXTOUT_AC97_R 1193,55237 -#define EXTOUT_TOSLINK_L 1194,55304 -#define EXTOUT_TOSLINK_R 1195,55377 -#define EXTOUT_AC97_CENTER 1196,55451 -#define EXTOUT_AC97_LFE 1197,55510 -#define EXTOUT_HEADPHONE_L 1198,55566 -#define EXTOUT_HEADPHONE_R 1199,55633 -#define EXTOUT_REAR_L 1200,55701 -#define EXTOUT_REAR_R 1201,55757 -#define EXTOUT_ADC_CAP_L 1202,55814 -#define EXTOUT_ADC_CAP_R 1203,55878 -#define EXTOUT_MIC_CAP 1204,55943 -#define EXTOUT_AC97_REAR_L 1205,55999 -#define EXTOUT_AC97_REAR_R 1206,56070 -#define EXTOUT_ACENTER 1207,56142 -#define EXTOUT_ALFE 1208,56193 -#define A_EXTIN_AC97_L 1211,56259 -#define A_EXTIN_AC97_R 1212,56323 -#define A_EXTIN_SPDIF_CD_L 1213,56388 -#define A_EXTIN_SPDIF_CD_R 1214,56442 -#define A_EXTIN_OPT_SPDIF_L 1215,56496 -#define A_EXTIN_OPT_SPDIF_R 1216,56576 -#define A_EXTIN_LINE2_L 1217,56658 -#define A_EXTIN_LINE2_R 1218,56725 -#define A_EXTIN_ADC_L 1219,56793 -#define A_EXTIN_ADC_R 1220,56849 -#define A_EXTIN_AUX2_L 1221,56906 -#define A_EXTIN_AUX2_R 1222,56966 -#define A_EXTOUT_FRONT_L 1225,57050 -#define A_EXTOUT_FRONT_R 1226,57105 -#define A_EXTOUT_CENTER 1227,57161 -#define A_EXTOUT_LFE 1228,57218 -#define A_EXTOUT_HEADPHONE_L 1229,57269 -#define A_EXTOUT_HEADPHONE_R 1230,57337 -#define A_EXTOUT_REAR_L 1231,57406 -#define A_EXTOUT_REAR_R 1232,57460 -#define A_EXTOUT_AFRONT_L 1233,57515 -#define A_EXTOUT_AFRONT_R 1234,57570 -#define A_EXTOUT_ACENTER 1235,57626 -#define A_EXTOUT_ALFE 1236,57676 -#define A_EXTOUT_ASIDE_L 1237,57721 -#define A_EXTOUT_ASIDE_R 1238,57789 -#define A_EXTOUT_AREAR_L 1239,57857 -#define A_EXTOUT_AREAR_R 1240,57910 -#define A_EXTOUT_AC97_L 1241,57964 -#define A_EXTOUT_AC97_R 1242,58018 -#define A_EXTOUT_ADC_CAP_L 1243,58065 -#define A_EXTOUT_ADC_CAP_R 1244,58127 -#define A_EXTOUT_MIC_CAP 1245,58190 -#define A_C_00000000 1248,58269 -#define A_C_00000001 1249,58295 -#define A_C_00000002 1250,58321 -#define A_C_00000003 1251,58347 -#define A_C_00000004 1252,58373 -#define A_C_00000008 1253,58399 -#define A_C_00000010 1254,58425 -#define A_C_00000020 1255,58451 -#define A_C_00000100 1256,58477 -#define A_C_00010000 1257,58503 -#define A_C_00000800 1258,58529 -#define A_C_10000000 1259,58555 -#define A_C_20000000 1260,58581 -#define A_C_40000000 1261,58607 -#define A_C_80000000 1262,58633 -#define A_C_7fffffff 1263,58659 -#define A_C_ffffffff 1264,58685 -#define A_C_fffffffe 1265,58711 -#define A_C_c0000000 1266,58737 -#define A_C_4f1bbcdc 1267,58763 -#define A_C_5a7ef9db 1268,58789 -#define A_C_00100000 1269,58815 -#define A_GPR_ACCU 1270,58841 -#define A_GPR_COND 1271,58891 -#define EMU10K1_DBG_ZC 1276,59024 -#define EMU10K1_DBG_SATURATION_OCCURED 1277,59084 -#define EMU10K1_DBG_SATURATION_ADDR 1278,59159 -#define EMU10K1_DBG_SINGLE_STEP 1279,59231 -#define EMU10K1_DBG_STEP 1280,59298 -#define EMU10K1_DBG_CONDITION_CODE 1281,59359 -#define EMU10K1_DBG_SINGLE_STEP_ADDR 1282,59426 -#define TANKMEMADDRREG_ADDR_MASK 1286,59551 -#define TANKMEMADDRREG_CLEAR 1287,59629 -#define TANKMEMADDRREG_ALIGN 1288,59697 -#define TANKMEMADDRREG_WRITE 1289,59788 -#define TANKMEMADDRREG_READ 1290,59859 -} emu10k1_fx8010_info_t;emu10k1_fx8010_info_t1301,60322 -#define EMU10K1_GPR_TRANSLATION_NONE 1303,60348 -#define EMU10K1_GPR_TRANSLATION_TABLE100 1304,60388 -#define EMU10K1_GPR_TRANSLATION_BASS 1305,60431 -#define EMU10K1_GPR_TRANSLATION_TREBLE 1306,60471 -#define EMU10K1_GPR_TRANSLATION_ONOFF 1307,60513 -} emu10k1_fx8010_control_gpr_t;emu10k1_fx8010_control_gpr_t1318,60970 -} emu10k1_fx8010_code_t;emu10k1_fx8010_code_t1342,62113 -} emu10k1_fx8010_tram_t;emu10k1_fx8010_tram_t1349,62357 -} emu10k1_fx8010_pcm_t;emu10k1_fx8010_pcm_t1366,63411 -#define SNDRV_EMU10K1_IOCTL_INFO 1368,63436 -#define SNDRV_EMU10K1_IOCTL_CODE_POKE 1369,63509 -#define SNDRV_EMU10K1_IOCTL_CODE_PEEK 1370,63587 -#define SNDRV_EMU10K1_IOCTL_TRAM_SETUP 1371,63665 -#define SNDRV_EMU10K1_IOCTL_TRAM_POKE 1372,63726 -#define SNDRV_EMU10K1_IOCTL_TRAM_PEEK 1373,63804 -#define SNDRV_EMU10K1_IOCTL_PCM_POKE 1374,63882 -#define SNDRV_EMU10K1_IOCTL_PCM_PEEK 1375,63958 -#define SNDRV_EMU10K1_IOCTL_STOP 1376,64034 -#define SNDRV_EMU10K1_IOCTL_CONTINUE 1377,64084 -#define SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER 1378,64138 -#define SNDRV_EMU10K1_IOCTL_SINGLE_STEP 1379,64200 -#define SNDRV_EMU10K1_IOCTL_DBG_READ 1380,64262 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/yss225.h,30 -#define __SOUND_YSS225_H2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs46xx_dsp_spos.h,2131 -#define __CS46XX_DSP_SPOS_H__23,909 -#define SYMBOL_CONSTANT 28,1010 -#define SYMBOL_SAMPLE 29,1039 -#define SYMBOL_PARAMETER 30,1068 -#define SYMBOL_CODE 31,1097 -#define SEGTYPE_SP_PROGRAM 33,1127 -#define SEGTYPE_SP_PARAMETER 34,1178 -#define SEGTYPE_SP_SAMPLE 35,1229 -#define SEGTYPE_SP_COEFFICIENT 36,1280 -#define DSP_SPOS_UU 38,1332 -#define DSP_SPOS_DC 39,1384 -#define DSP_SPOS_DC_DC 40,1440 -#define DSP_SPOS_UUUU 41,1496 -#define DSP_SPOS_UUHI 42,1548 -#define DSP_SPOS_UULO 43,1582 -#define DSP_SPOS_DCDC 44,1616 -#define DSP_SPOS_DCDCHI 45,1672 -#define DSP_SPOS_DCDCLO 46,1706 -#define DSP_MAX_TASK_NAME 48,1741 -#define DSP_MAX_SYMBOL_NAME 49,1772 -#define DSP_MAX_SCB_NAME 50,1804 -#define DSP_MAX_SCB_DESC 51,1835 -#define DSP_MAX_TASK_DESC 52,1867 -#define DSP_MAX_PCM_CHANNELS 54,1899 -#define DSP_MAX_SRC_NR 55,1931 -#define DSP_PCM_MAIN_CHANNEL 57,1964 -#define DSP_PCM_REAR_CHANNEL 58,2002 -#define DSP_PCM_CENTER_LFE_CHANNEL 59,2040 -#define DSP_PCM_S71_CHANNEL 60,2078 -#define DSP_IEC958_CHANNEL 61,2135 -#define DSP_SPDIF_STATUS_OUTPUT_ENABLED 63,2174 -#define DSP_SPDIF_STATUS_PLAYBACK_OPEN 64,2222 -#define DSP_SPDIF_STATUS_HW_ENABLED 65,2270 -#define DSP_SPDIF_STATUS_INPUT_CTRL_ENABLED 66,2318 -typedef struct _symbol_entry_t _symbol_entry_t70,2395 -} symbol_entry_t;symbol_entry_t78,2581 -typedef struct _symbol_desc_t _symbol_desc_t80,2600 -} symbol_desc_t;symbol_desc_t87,2730 -typedef struct _segment_desc_t _segment_desc_t90,2749 -} segment_desc_t;segment_desc_t95,2838 -typedef struct _dsp_module_desc_t _dsp_module_desc_t97,2857 -} dsp_module_desc_t;dsp_module_desc_t107,3078 -typedef struct _dsp_scb_descriptor_t _dsp_scb_descriptor_t109,3100 -} dsp_scb_descriptor_t;dsp_scb_descriptor_t126,3481 -typedef struct _dsp_task_descriptor_t _dsp_task_descriptor_t128,3506 -} dsp_task_descriptor_t;dsp_task_descriptor_t133,3619 -typedef struct _pcm_channel_descriptor_t _pcm_channel_descriptor_t135,3645 -} pcm_channel_descriptor_t;pcm_channel_descriptor_t146,3895 -typedef struct _dsp_spos_instance_t _dsp_spos_instance_t148,3924 -} dsp_spos_instance_t;dsp_spos_instance_t231,6156 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/hwdep.h,496 -#define __SOUND_HWDEP_H2,24 -typedef enum sndrv_hwdep_iface snd_hwdep_iface_t;snd_hwdep_iface_t28,934 -typedef struct sndrv_hwdep_info snd_hwdep_info_t;snd_hwdep_info_t29,984 -typedef struct sndrv_hwdep_dsp_status snd_hwdep_dsp_status_t;snd_hwdep_dsp_status_t30,1034 -typedef struct sndrv_hwdep_dsp_image snd_hwdep_dsp_image_t;snd_hwdep_dsp_image_t31,1096 -typedef struct _snd_hwdep_ops _snd_hwdep_ops33,1157 -} snd_hwdep_ops_t;snd_hwdep_ops_t44,1947 -struct _snd_hwdep _snd_hwdep46,1967 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_midi_emul.h,2943 -#define __SOUND_SEQ_MIDI_EMUL_H2,32 -typedef struct snd_midi_channel snd_midi_channel32,1139 -} snd_midi_channel_t;snd_midi_channel_t56,2032 -typedef struct snd_midi_channel_set snd_midi_channel_set67,2504 -} snd_midi_channel_set_t;snd_midi_channel_set_t80,2929 -typedef struct snd_seq_midi_op snd_seq_midi_op82,2956 -} snd_midi_op_t;snd_midi_op_t90,3647 -#define MIDI_CTL_PITCHBEND 97,3811 -#define MIDI_CTL_AFTERTOUCH 98,3843 -#define MIDI_CTL_CHAN_PRESSURE 99,3876 -#define gm_bank_select 106,4127 -#define gm_modulation 107,4162 -#define gm_breath 108,4196 -#define gm_foot_pedal 109,4226 -#define gm_portamento_time 110,4260 -#define gm_data_entry 111,4298 -#define gm_volume 112,4332 -#define gm_balance 113,4362 -#define gm_pan 114,4393 -#define gm_expression 115,4422 -#define gm_effect_control1 116,4457 -#define gm_effect_control2 117,4496 -#define gm_slider1 118,4535 -#define gm_slider2 119,4567 -#define gm_slider3 120,4599 -#define gm_slider4 121,4631 -#define gm_bank_select_lsb 123,4664 -#define gm_modulation_wheel_lsb 124,4703 -#define gm_breath_lsb 125,4747 -#define gm_foot_pedal_lsb 126,4782 -#define gm_portamento_time_lsb 127,4820 -#define gm_data_entry_lsb 128,4863 -#define gm_volume_lsb 129,4901 -#define gm_balance_lsb 130,4936 -#define gm_pan_lsb 131,4972 -#define gm_expression_lsb 132,5004 -#define gm_effect_control1_lsb 133,5042 -#define gm_effect_control2_lsb 134,5085 -#define gm_sustain 136,5129 -#define gm_hold 137,5176 -#define gm_portamento 138,5205 -#define gm_sustenuto 139,5257 -#define SNDRV_GM_BANK_SELECT(SNDRV_GM_BANK_SELECT146,5501 -#define SNDRV_GM_MODULATION_WHEEL(SNDRV_GM_MODULATION_WHEEL147,5579 -#define SNDRV_GM_BREATH(SNDRV_GM_BREATH148,5661 -#define SNDRV_GM_FOOT_PEDAL(SNDRV_GM_FOOT_PEDAL149,5734 -#define SNDRV_GM_PORTAMENTO_TIME(SNDRV_GM_PORTAMENTO_TIME150,5811 -#define SNDRV_GM_DATA_ENTRY(SNDRV_GM_DATA_ENTRY151,5892 -#define SNDRV_GM_VOLUME(SNDRV_GM_VOLUME152,5969 -#define SNDRV_GM_BALANCE(SNDRV_GM_BALANCE153,6042 -#define SNDRV_GM_PAN(SNDRV_GM_PAN154,6116 -#define SNDRV_GM_EXPRESSION(SNDRV_GM_EXPRESSION155,6188 -#define SNDRV_MIDI_MODE_NONE 159,6284 -#define SNDRV_MIDI_MODE_GM 160,6334 -#define SNDRV_MIDI_MODE_GS 161,6363 -#define SNDRV_MIDI_MODE_XG 162,6392 -#define SNDRV_MIDI_MODE_MT32 163,6421 -#define SNDRV_MIDI_NOTE_OFF 166,6475 -#define SNDRV_MIDI_NOTE_ON 167,6509 -#define SNDRV_MIDI_NOTE_RELEASED 168,6542 -#define SNDRV_MIDI_NOTE_SUSTENUTO 169,6581 -#define SNDRV_MIDI_PARAM_TYPE_REGISTERED 171,6623 -#define SNDRV_MIDI_PARAM_TYPE_NONREGISTERED 172,6667 - SNDRV_MIDI_SYSEX_NOT_PARSED 176,6744 - SNDRV_MIDI_SYSEX_GM_ON,177,6778 - SNDRV_MIDI_SYSEX_GS_ON,178,6804 - SNDRV_MIDI_SYSEX_GS_RESET,179,6830 - SNDRV_MIDI_SYSEX_GS_CHORUS_MODE,180,6859 - SNDRV_MIDI_SYSEX_GS_REVERB_MODE,181,6893 - SNDRV_MIDI_SYSEX_GS_MASTER_VOLUME,182,6927 - SNDRV_MIDI_SYSEX_GS_PROGRAM,183,6963 - SNDRV_MIDI_SYSEX_GS_DRUM_CHANNEL,184,6993 - SNDRV_MIDI_SYSEX_XG_ON,185,7028 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/emu8000_reg.h,4765 -#define __SOUND_EMU8000_REG_H2,30 -#define EMU8000_DATA0(EMU8000_DATA029,989 -#define EMU8000_DATA1(EMU8000_DATA130,1030 -#define EMU8000_DATA2(EMU8000_DATA231,1071 -#define EMU8000_DATA3(EMU8000_DATA332,1114 -#define EMU8000_PTR(EMU8000_PTR33,1155 -#define EMU8000_CMD(EMU8000_CMD38,1253 -#define EMU8000_CPF_READ(EMU8000_CPF_READ44,1423 -#define EMU8000_PTRX_READ(EMU8000_PTRX_READ46,1533 -#define EMU8000_CVCF_READ(EMU8000_CVCF_READ48,1644 -#define EMU8000_VTFT_READ(EMU8000_VTFT_READ50,1755 -#define EMU8000_PSST_READ(EMU8000_PSST_READ52,1866 -#define EMU8000_CSL_READ(EMU8000_CSL_READ54,1977 -#define EMU8000_CCCA_READ(EMU8000_CCCA_READ56,2087 -#define EMU8000_HWCF4_READ(EMU8000_HWCF4_READ58,2198 -#define EMU8000_HWCF5_READ(EMU8000_HWCF5_READ60,2299 -#define EMU8000_HWCF6_READ(EMU8000_HWCF6_READ62,2401 -#define EMU8000_SMALR_READ(EMU8000_SMALR_READ64,2503 -#define EMU8000_SMARR_READ(EMU8000_SMARR_READ66,2605 -#define EMU8000_SMALW_READ(EMU8000_SMALW_READ68,2707 -#define EMU8000_SMARW_READ(EMU8000_SMARW_READ70,2809 -#define EMU8000_SMLD_READ(EMU8000_SMLD_READ72,2911 -#define EMU8000_SMRD_READ(EMU8000_SMRD_READ74,3009 -#define EMU8000_WC_READ(EMU8000_WC_READ76,3107 -#define EMU8000_HWCF1_READ(EMU8000_HWCF1_READ78,3203 -#define EMU8000_HWCF2_READ(EMU8000_HWCF2_READ80,3302 -#define EMU8000_HWCF3_READ(EMU8000_HWCF3_READ82,3401 -#define EMU8000_INIT1_READ(EMU8000_INIT1_READ84,3500 -#define EMU8000_INIT2_READ(EMU8000_INIT2_READ86,3609 -#define EMU8000_INIT3_READ(EMU8000_INIT3_READ88,3718 -#define EMU8000_INIT4_READ(EMU8000_INIT4_READ90,3827 -#define EMU8000_ENVVOL_READ(EMU8000_ENVVOL_READ92,3936 -#define EMU8000_DCYSUSV_READ(EMU8000_DCYSUSV_READ94,4046 -#define EMU8000_ENVVAL_READ(EMU8000_ENVVAL_READ96,4157 -#define EMU8000_DCYSUS_READ(EMU8000_DCYSUS_READ98,4267 -#define EMU8000_ATKHLDV_READ(EMU8000_ATKHLDV_READ100,4377 -#define EMU8000_LFO1VAL_READ(EMU8000_LFO1VAL_READ102,4488 -#define EMU8000_ATKHLD_READ(EMU8000_ATKHLD_READ104,4599 -#define EMU8000_LFO2VAL_READ(EMU8000_LFO2VAL_READ106,4709 -#define EMU8000_IP_READ(EMU8000_IP_READ108,4820 -#define EMU8000_IFATN_READ(EMU8000_IFATN_READ110,4926 -#define EMU8000_PEFE_READ(EMU8000_PEFE_READ112,5035 -#define EMU8000_FMMOD_READ(EMU8000_FMMOD_READ114,5143 -#define EMU8000_TREMFRQ_READ(EMU8000_TREMFRQ_READ116,5252 -#define EMU8000_FM2FRQ2_READ(EMU8000_FM2FRQ2_READ118,5363 -#define EMU8000_CPF_WRITE(EMU8000_CPF_WRITE122,5476 -#define EMU8000_PTRX_WRITE(EMU8000_PTRX_WRITE124,5599 -#define EMU8000_CVCF_WRITE(EMU8000_CVCF_WRITE126,5723 -#define EMU8000_VTFT_WRITE(EMU8000_VTFT_WRITE128,5847 -#define EMU8000_PSST_WRITE(EMU8000_PSST_WRITE130,5971 -#define EMU8000_CSL_WRITE(EMU8000_CSL_WRITE132,6095 -#define EMU8000_CCCA_WRITE(EMU8000_CCCA_WRITE134,6218 -#define EMU8000_HWCF4_WRITE(EMU8000_HWCF4_WRITE136,6342 -#define EMU8000_HWCF5_WRITE(EMU8000_HWCF5_WRITE138,6456 -#define EMU8000_HWCF6_WRITE(EMU8000_HWCF6_WRITE140,6571 -#define EMU8000_HWCF7_WRITE(EMU8000_HWCF7_WRITE143,6724 -#define EMU8000_SMALR_WRITE(EMU8000_SMALR_WRITE145,6839 -#define EMU8000_SMARR_WRITE(EMU8000_SMARR_WRITE147,6954 -#define EMU8000_SMALW_WRITE(EMU8000_SMALW_WRITE149,7069 -#define EMU8000_SMARW_WRITE(EMU8000_SMARW_WRITE151,7184 -#define EMU8000_SMLD_WRITE(EMU8000_SMLD_WRITE153,7299 -#define EMU8000_SMRD_WRITE(EMU8000_SMRD_WRITE155,7410 -#define EMU8000_WC_WRITE(EMU8000_WC_WRITE157,7521 -#define EMU8000_HWCF1_WRITE(EMU8000_HWCF1_WRITE159,7630 -#define EMU8000_HWCF2_WRITE(EMU8000_HWCF2_WRITE161,7742 -#define EMU8000_HWCF3_WRITE(EMU8000_HWCF3_WRITE163,7854 -#define EMU8000_INIT1_WRITE(EMU8000_INIT1_WRITE165,7966 -#define EMU8000_INIT2_WRITE(EMU8000_INIT2_WRITE167,8088 -#define EMU8000_INIT3_WRITE(EMU8000_INIT3_WRITE169,8210 -#define EMU8000_INIT4_WRITE(EMU8000_INIT4_WRITE171,8332 -#define EMU8000_ENVVOL_WRITE(EMU8000_ENVVOL_WRITE173,8454 -#define EMU8000_DCYSUSV_WRITE(EMU8000_DCYSUSV_WRITE175,8577 -#define EMU8000_ENVVAL_WRITE(EMU8000_ENVVAL_WRITE177,8701 -#define EMU8000_DCYSUS_WRITE(EMU8000_DCYSUS_WRITE179,8824 -#define EMU8000_ATKHLDV_WRITE(EMU8000_ATKHLDV_WRITE181,8947 -#define EMU8000_LFO1VAL_WRITE(EMU8000_LFO1VAL_WRITE183,9071 -#define EMU8000_ATKHLD_WRITE(EMU8000_ATKHLD_WRITE185,9195 -#define EMU8000_LFO2VAL_WRITE(EMU8000_LFO2VAL_WRITE187,9318 -#define EMU8000_IP_WRITE(EMU8000_IP_WRITE189,9442 -#define EMU8000_IFATN_WRITE(EMU8000_IFATN_WRITE191,9561 -#define EMU8000_PEFE_WRITE(EMU8000_PEFE_WRITE193,9683 -#define EMU8000_FMMOD_WRITE(EMU8000_FMMOD_WRITE195,9804 -#define EMU8000_TREMFRQ_WRITE(EMU8000_TREMFRQ_WRITE197,9926 -#define EMU8000_FM2FRQ2_WRITE(EMU8000_FM2FRQ2_WRITE199,10050 -#define EMU8000_0080_WRITE(EMU8000_0080_WRITE202,10175 -#define EMU8000_00A0_WRITE(EMU8000_00A0_WRITE204,10299 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/emux_legacy.h,3047 -#define __SOUND_EMUX_LEGACY_H2,30 -#define _EMUX_OSS_DEBUG_MODE 31,1005 -#define _EMUX_OSS_REVERB_MODE 32,1040 -#define _EMUX_OSS_CHORUS_MODE 33,1076 -#define _EMUX_OSS_REMOVE_LAST_SAMPLES 34,1112 -#define _EMUX_OSS_INITIALIZE_CHIP 35,1155 -#define _EMUX_OSS_SEND_EFFECT 36,1194 -#define _EMUX_OSS_TERMINATE_CHANNEL 37,1230 -#define _EMUX_OSS_TERMINATE_ALL 38,1271 -#define _EMUX_OSS_INITIAL_VOLUME 39,1309 -#define _EMUX_OSS_INITIAL_ATTEN 40,1347 -#define _EMUX_OSS_RESET_CHANNEL 41,1404 -#define _EMUX_OSS_CHANNEL_MODE 42,1442 -#define _EMUX_OSS_DRUM_CHANNELS 43,1479 -#define _EMUX_OSS_MISC_MODE 44,1517 -#define _EMUX_OSS_RELEASE_ALL 45,1551 -#define _EMUX_OSS_NOTEOFF_ALL 46,1587 -#define _EMUX_OSS_CHN_PRESSURE 47,1623 -#define _EMUX_OSS_EQUALIZER 48,1660 -#define _EMUX_OSS_MODE_FLAG 50,1695 -#define _EMUX_OSS_COOKED_FLAG 51,1729 -#define _EMUX_OSS_MODE_VALUE_MASK 52,1785 -/* 0*/ EMUX_MD_EXCLUSIVE_OFF,59,1865 -/* 1*/ EMUX_MD_EXCLUSIVE_ON,60,1910 -/* 2*/ EMUX_MD_VERSION,61,1954 -/* 3*/ EMUX_MD_EXCLUSIVE_SOUND,62,1995 -/* 4*/ EMUX_MD_REALTIME_PAN,63,2068 -/* 5*/ EMUX_MD_GUS_BANK,64,2143 -/* 6*/ EMUX_MD_KEEP_EFFECT,65,2214 -/* 7*/ EMUX_MD_ZERO_ATTEN,66,2285 -/* 8*/ EMUX_MD_CHN_PRIOR,67,2357 -/* 9*/ EMUX_MD_MOD_SENSE,68,2437 -/*10*/ EMUX_MD_DEF_PRESET,69,2508 -/*11*/ EMUX_MD_DEF_BANK,70,2580 -/*12*/ EMUX_MD_DEF_DRUM,71,2648 -/*13*/ EMUX_MD_TOGGLE_DRUM_BANK,72,2719 -/*14*/ EMUX_MD_NEW_VOLUME_CALC,73,2799 -/*15*/ EMUX_MD_CHORUS_MODE,74,2874 -/*16*/ EMUX_MD_REVERB_MODE,75,2937 -/*17*/ EMUX_MD_BASS_LEVEL,76,3000 -/*18*/ EMUX_MD_TREBLE_LEVEL,77,3061 -/*19*/ EMUX_MD_DEBUG_MODE,78,3126 -/*20*/ EMUX_MD_PAN_EXCHANGE,79,3188 - EMUX_MD_END,80,3263 -/* 0*/ EMUX_FX_ENV1_DELAY,90,3355 -/* 1*/ EMUX_FX_ENV1_ATTACK,91,3401 -/* 2*/ EMUX_FX_ENV1_HOLD,92,3451 -/* 3*/ EMUX_FX_ENV1_DECAY,93,3499 -/* 4*/ EMUX_FX_ENV1_RELEASE,94,3548 -/* 5*/ EMUX_FX_ENV1_SUSTAIN,95,3599 -/* 6*/ EMUX_FX_ENV1_PITCH,96,3650 -/* 7*/ EMUX_FX_ENV1_CUTOFF,97,3697 -/* 8*/ EMUX_FX_ENV2_DELAY,100,3779 -/* 9*/ EMUX_FX_ENV2_ATTACK,101,3825 -/*10*/ EMUX_FX_ENV2_HOLD,102,3876 -/*11*/ EMUX_FX_ENV2_DECAY,103,3925 -/*12*/ EMUX_FX_ENV2_RELEASE,104,3975 -/*13*/ EMUX_FX_ENV2_SUSTAIN,105,4027 -/*14*/ EMUX_FX_LFO1_DELAY,108,4123 -/*15*/ EMUX_FX_LFO1_FREQ,109,4170 -/*16*/ EMUX_FX_LFO1_VOLUME,110,4219 -/*17*/ EMUX_FX_LFO1_PITCH,111,4270 -/*18*/ EMUX_FX_LFO1_CUTOFF,112,4318 -/*19*/ EMUX_FX_LFO2_DELAY,115,4400 -/*20*/ EMUX_FX_LFO2_FREQ,116,4447 -/*21*/ EMUX_FX_LFO2_PITCH,117,4496 -/*22*/ EMUX_FX_INIT_PITCH,120,4585 -/*23*/ EMUX_FX_CHORUS,121,4638 -/*24*/ EMUX_FX_REVERB,122,4702 -/*25*/ EMUX_FX_CUTOFF,123,4766 -/*26*/ EMUX_FX_FILTERQ,124,4811 -/*27*/ EMUX_FX_SAMPLE_START,127,4892 -/*28*/ EMUX_FX_LOOP_START,128,4941 -/*29*/ EMUX_FX_LOOP_END,129,4988 -/*30*/ EMUX_FX_COARSE_SAMPLE_START,130,5033 -/*31*/ EMUX_FX_COARSE_LOOP_START,131,5100 -/*32*/ EMUX_FX_COARSE_LOOP_END,132,5165 -/*33*/ EMUX_FX_ATTEN,133,5229 - EMUX_FX_END,135,5274 -#define EMUX_NUM_EFFECTS 138,5315 -#define EMUX_FX_FLAG_OFF 141,5379 -#define EMUX_FX_FLAG_SET 142,5406 -#define EMUX_FX_FLAG_ADD 143,5433 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs46xx_dsp_scb_types.h,4145 -#define __CS46XX_DSP_SCB_TYPES_H__28,1075 -#define ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC34,1202 -#define ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC36,1281 -typedef struct _basic_dma_req_t _basic_dma_req_t44,1466 -} basic_dma_req_t;basic_dma_req_t56,2118 -typedef struct _scatter_gather_ext_t _scatter_gather_ext_t58,2138 -} scatter_gather_ext_t;scatter_gather_ext_t72,2912 -typedef struct _volume_control_t _volume_control_t74,2937 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC75,2972 -} volume_control_t;volume_control_t83,3176 -typedef struct _generic_scb_t _generic_scb_t86,3259 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC113,4322 -} generic_scb_t;generic_scb_t183,6970 -typedef struct _spos_control_block_t _spos_control_block_t186,6989 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC197,7436 -} spos_control_block_t;spos_control_block_t276,9562 -typedef struct _mix2_ostream_spb_t_mix2_ostream_spb_t279,9633 -} mix2_ostream_spb_t;mix2_ostream_spb_t293,10021 -typedef struct _timing_master_scb_t _timing_master_scb_t296,10082 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC300,10253 -} timing_master_scb_t;timing_master_scb_t361,11805 -typedef struct _codec_output_scb_t _codec_output_scb_t364,11866 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC368,12036 -} codec_output_scb_t;codec_output_scb_t425,13550 -typedef struct _codec_input_scb_t _codec_input_scb_t428,13609 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC432,13778 -} codec_input_scb_t;codec_input_scb_t482,15319 -typedef struct _pcm_serial_input_scb_t _pcm_serial_input_scb_t485,15342 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC489,15516 -} pcm_serial_input_scb_t;pcm_serial_input_scb_t517,16212 -typedef struct _src_task_scb_t _src_task_scb_t519,16239 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC520,16272 -} src_task_scb_t;src_task_scb_t575,17123 -typedef struct _decimate_by_pow2_scb_t _decimate_by_pow2_scb_t577,17142 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC581,17333 -} decimate_by_pow2_scb_t;decimate_by_pow2_scb_t652,18980 -typedef struct _vari_decimate_scb_t _vari_decimate_scb_t654,19007 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC655,19045 -} vari_decimate_scb_t;vari_decimate_scb_t715,20504 -typedef struct _mix2_ostream_scb_t _mix2_ostream_scb_t719,20575 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC723,20745 -} mix2_ostream_scb_t;mix2_ostream_scb_t761,21550 -typedef struct _mix_only_scb_t _mix_only_scb_t765,21606 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC769,21772 -} mix_only_scb_t;mix_only_scb_t784,22092 -typedef struct _async_codec_input_scb_t _async_codec_input_scb_t787,22158 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC804,22495 -} async_codec_input_scb_t;async_codec_input_scb_t840,23068 -typedef struct _spdifiscb_t _spdifiscb_t844,23145 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC845,23175 -} spdifiscb_t;spdifiscb_t898,23841 -typedef struct _spdifoscb_t _spdifoscb_t902,23907 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC914,24123 -} spdifoscb_t;spdifoscb_t944,24529 -typedef struct _asynch_fg_rx_scb_t _asynch_fg_rx_scb_t948,24547 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC949,24584 -} asynch_fg_rx_scb_t;asynch_fg_rx_scb_t996,25170 -typedef struct _asynch_fg_tx_scb_t _asynch_fg_tx_scb_t1000,25195 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC1001,25232 -} asynch_fg_tx_scb_t;asynch_fg_tx_scb_t1055,25893 -typedef struct _output_snoop_scb_t _output_snoop_scb_t1058,25917 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC1062,26087 -} output_snoop_scb_t;output_snoop_scb_t1086,26535 -typedef struct _spio_write_scb_t _spio_write_scb_t1088,26558 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC1089,26593 -} spio_write_scb_t;spio_write_scb_t1125,26981 -typedef struct _magic_snoop_task_t _magic_snoop_task_t1127,27002 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC1143,27154 -} magic_snoop_task_t;magic_snoop_task_t1159,27365 -typedef struct _filter_scb_t _filter_scb_t1162,27389 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC1163,27420 -} filter_scb_t;filter_scb_t1215,28488 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ak4531_codec.h,924 -#define __SOUND_AK4531_CODEC_H2,31 -#define AK4531_LMASTER 40,1230 -#define AK4531_RMASTER 41,1284 -#define AK4531_LVOICE 42,1339 -#define AK4531_RVOICE 43,1394 -#define AK4531_LFM 44,1450 -#define AK4531_RFM 45,1500 -#define AK4531_LCD 46,1551 -#define AK4531_RCD 47,1601 -#define AK4531_LLINE 48,1652 -#define AK4531_RLINE 49,1704 -#define AK4531_LAUXA 50,1757 -#define AK4531_RAUXA 51,1809 -#define AK4531_MONO1 52,1862 -#define AK4531_MONO2 53,1915 -#define AK4531_MIC 54,1969 -#define AK4531_MONO_OUT 55,2015 -#define AK4531_OUT_SW1 56,2066 -#define AK4531_OUT_SW2 57,2123 -#define AK4531_LIN_SW1 58,2180 -#define AK4531_RIN_SW1 59,2241 -#define AK4531_LIN_SW2 60,2303 -#define AK4531_RIN_SW2 61,2364 -#define AK4531_RESET 62,2426 -#define AK4531_CLOCK 63,2480 -#define AK4531_AD_IN 64,2528 -#define AK4531_MIC_GAIN 65,2579 -typedef struct _snd_ak4531 ak4531_t;ak4531_t67,2634 -struct _snd_ak4531 _snd_ak453169,2672 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ymfpci.h,6471 -#define __SOUND_YMFPCI_H2,25 -#define PCI_VENDOR_ID_YAMAHA 32,1046 -#define PCI_DEVICE_ID_YAMAHA_724 35,1133 -#define PCI_DEVICE_ID_YAMAHA_724F 38,1214 -#define PCI_DEVICE_ID_YAMAHA_740 41,1295 -#define PCI_DEVICE_ID_YAMAHA_740C 44,1376 -#define PCI_DEVICE_ID_YAMAHA_744 47,1457 -#define PCI_DEVICE_ID_YAMAHA_754 50,1537 -#define YMFREG(YMFREG57,1614 -#define YDSXGR_INTFLAG 59,1670 -#define YDSXGR_ACTIVITY 60,1702 -#define YDSXGR_GLOBALCTRL 61,1735 -#define YDSXGR_ZVCTRL 62,1769 -#define YDSXGR_TIMERCTRL 63,1800 -#define YDSXGR_TIMERCOUNT 64,1833 -#define YDSXGR_SPDIFOUTCTRL 65,1867 -#define YDSXGR_SPDIFOUTSTATUS 66,1903 -#define YDSXGR_EEPROMCTRL 67,1941 -#define YDSXGR_SPDIFINCTRL 68,1975 -#define YDSXGR_SPDIFINSTATUS 69,2010 -#define YDSXGR_DSPPROGRAMDL 70,2047 -#define YDSXGR_DLCNTRL 71,2083 -#define YDSXGR_GPIOININTFLAG 72,2115 -#define YDSXGR_GPIOININTENABLE 73,2152 -#define YDSXGR_GPIOINSTATUS 74,2191 -#define YDSXGR_GPIOOUTCTRL 75,2227 -#define YDSXGR_GPIOFUNCENABLE 76,2262 -#define YDSXGR_GPIOTYPECONFIG 77,2300 -#define YDSXGR_AC97CMDDATA 78,2338 -#define YDSXGR_AC97CMDADR 79,2373 -#define YDSXGR_PRISTATUSDATA 80,2407 -#define YDSXGR_PRISTATUSADR 81,2444 -#define YDSXGR_SECSTATUSDATA 82,2480 -#define YDSXGR_SECSTATUSADR 83,2517 -#define YDSXGR_SECCONFIG 84,2553 -#define YDSXGR_LEGACYOUTVOL 85,2586 -#define YDSXGR_LEGACYOUTVOLL 86,2622 -#define YDSXGR_LEGACYOUTVOLR 87,2659 -#define YDSXGR_NATIVEDACOUTVOL 88,2696 -#define YDSXGR_NATIVEDACOUTVOLL 89,2735 -#define YDSXGR_NATIVEDACOUTVOLR 90,2775 -#define YDSXGR_ZVOUTVOL 91,2815 -#define YDSXGR_ZVOUTVOLL 92,2848 -#define YDSXGR_ZVOUTVOLR 93,2881 -#define YDSXGR_SECADCOUTVOL 94,2914 -#define YDSXGR_SECADCOUTVOLL 95,2950 -#define YDSXGR_SECADCOUTVOLR 96,2987 -#define YDSXGR_PRIADCOUTVOL 97,3024 -#define YDSXGR_PRIADCOUTVOLL 98,3060 -#define YDSXGR_PRIADCOUTVOLR 99,3097 -#define YDSXGR_LEGACYLOOPVOL 100,3134 -#define YDSXGR_LEGACYLOOPVOLL 101,3171 -#define YDSXGR_LEGACYLOOPVOLR 102,3209 -#define YDSXGR_NATIVEDACLOOPVOL 103,3247 -#define YDSXGR_NATIVEDACLOOPVOLL 104,3287 -#define YDSXGR_NATIVEDACLOOPVOLR 105,3327 -#define YDSXGR_ZVLOOPVOL 106,3367 -#define YDSXGR_ZVLOOPVOLL 107,3400 -#define YDSXGR_ZVLOOPVOLR 108,3434 -#define YDSXGR_SECADCLOOPVOL 109,3468 -#define YDSXGR_SECADCLOOPVOLL 110,3505 -#define YDSXGR_SECADCLOOPVOLR 111,3543 -#define YDSXGR_PRIADCLOOPVOL 112,3581 -#define YDSXGR_PRIADCLOOPVOLL 113,3618 -#define YDSXGR_PRIADCLOOPVOLR 114,3656 -#define YDSXGR_NATIVEADCINVOL 115,3694 -#define YDSXGR_NATIVEADCINVOLL 116,3732 -#define YDSXGR_NATIVEADCINVOLR 117,3771 -#define YDSXGR_NATIVEDACINVOL 118,3810 -#define YDSXGR_NATIVEDACINVOLL 119,3848 -#define YDSXGR_NATIVEDACINVOLR 120,3887 -#define YDSXGR_BUF441OUTVOL 121,3926 -#define YDSXGR_BUF441OUTVOLL 122,3962 -#define YDSXGR_BUF441OUTVOLR 123,3999 -#define YDSXGR_BUF441LOOPVOL 124,4036 -#define YDSXGR_BUF441LOOPVOLL 125,4073 -#define YDSXGR_BUF441LOOPVOLR 126,4111 -#define YDSXGR_SPDIFOUTVOL 127,4149 -#define YDSXGR_SPDIFOUTVOLL 128,4184 -#define YDSXGR_SPDIFOUTVOLR 129,4220 -#define YDSXGR_SPDIFLOOPVOL 130,4256 -#define YDSXGR_SPDIFLOOPVOLL 131,4292 -#define YDSXGR_SPDIFLOOPVOLR 132,4329 -#define YDSXGR_ADCSLOTSR 133,4366 -#define YDSXGR_RECSLOTSR 134,4399 -#define YDSXGR_ADCFORMAT 135,4432 -#define YDSXGR_RECFORMAT 136,4465 -#define YDSXGR_P44SLOTSR 137,4498 -#define YDSXGR_STATUS 138,4531 -#define YDSXGR_CTRLSELECT 139,4562 -#define YDSXGR_MODE 140,4596 -#define YDSXGR_SAMPLECOUNT 141,4625 -#define YDSXGR_NUMOFSAMPLES 142,4660 -#define YDSXGR_CONFIG 143,4696 -#define YDSXGR_PLAYCTRLSIZE 144,4727 -#define YDSXGR_RECCTRLSIZE 145,4763 -#define YDSXGR_EFFCTRLSIZE 146,4798 -#define YDSXGR_WORKSIZE 147,4833 -#define YDSXGR_MAPOFREC 148,4866 -#define YDSXGR_MAPOFEFFECT 149,4899 -#define YDSXGR_PLAYCTRLBASE 150,4934 -#define YDSXGR_RECCTRLBASE 151,4970 -#define YDSXGR_EFFCTRLBASE 152,5005 -#define YDSXGR_WORKBASE 153,5040 -#define YDSXGR_DSPINSTRAM 154,5073 -#define YDSXGR_CTRLINSTRAM 155,5107 -#define YDSXG_AC97READCMD 157,5143 -#define YDSXG_AC97WRITECMD 158,5177 -#define PCIR_DSXG_LEGACY 160,5213 -#define PCIR_DSXG_ELEGACY 161,5244 -#define PCIR_DSXG_CTRL 162,5276 -#define PCIR_DSXG_PWRCTRL1 163,5306 -#define PCIR_DSXG_PWRCTRL2 164,5339 -#define PCIR_DSXG_FMBASE 165,5372 -#define PCIR_DSXG_SBBASE 166,5403 -#define PCIR_DSXG_MPU401BASE 167,5434 -#define PCIR_DSXG_JOYBASE 168,5469 -#define YDSXG_DSPLENGTH 170,5502 -#define YDSXG_CTRLLENGTH 171,5535 -#define YDSXG_DEFAULT_WORK_SIZE 173,5569 -#define YDSXG_PLAYBACK_VOICES 175,5610 -#define YDSXG_CAPTURE_VOICES 176,5644 -#define YDSXG_EFFECT_VOICES 177,5676 -#define YMFPCI_LEGACY_SBEN 179,5708 -#define YMFPCI_LEGACY_FMEN 180,5770 -#define YMFPCI_LEGACY_JPEN 181,5824 -#define YMFPCI_LEGACY_MEN 182,5882 -#define YMFPCI_LEGACY_MIEN 183,5937 -#define YMFPCI_LEGACY_IOBITS 184,5997 -#define YMFPCI_LEGACY_SDMA 185,6077 -#define YMFPCI_LEGACY_SBIRQ 186,6133 -#define YMFPCI_LEGACY_MPUIRQ 187,6190 -#define YMFPCI_LEGACY_SIEN 188,6250 -#define YMFPCI_LEGACY_LAD 189,6308 -#define YMFPCI_LEGACY2_FMIO 191,6372 -#define YMFPCI_LEGACY2_SBIO 192,6442 -#define YMFPCI_LEGACY2_MPUIO 193,6510 -#define YMFPCI_LEGACY2_JSIO 194,6583 -#define YMFPCI_LEGACY2_MAIM 195,6657 -#define YMFPCI_LEGACY2_SMOD 196,6721 -#define YMFPCI_LEGACY2_SBVER 197,6777 -#define YMFPCI_LEGACY2_IMOD 198,6840 -typedef struct _snd_ymfpci_playback_bank _snd_ymfpci_playback_bank205,6979 -} snd_ymfpci_playback_bank_t;snd_ymfpci_playback_bank_t236,7622 -typedef struct _snd_ymfpci_capture_bank _snd_ymfpci_capture_bank238,7653 -} snd_ymfpci_capture_bank_t;snd_ymfpci_capture_bank_t243,7834 -typedef struct _snd_ymfpci_effect_bank _snd_ymfpci_effect_bank245,7864 -} snd_ymfpci_effect_bank_t;snd_ymfpci_effect_bank_t250,8021 -typedef struct _snd_ymfpci_voice ymfpci_voice_t;ymfpci_voice_t252,8050 -typedef struct _snd_ymfpci_pcm ymfpci_pcm_t;ymfpci_pcm_t253,8099 -typedef struct _snd_ymfpci ymfpci_t;ymfpci_t254,8144 - YMFPCI_PCM,257,8197 - YMFPCI_SYNTH,258,8210 - YMFPCI_MIDI259,8225 -} ymfpci_voice_type_t;ymfpci_voice_type_t260,8238 -struct _snd_ymfpci_voice _snd_ymfpci_voice262,8262 - PLAYBACK_VOICE,276,8531 - CAPTURE_REC,277,8548 - CAPTURE_AC97,278,8562 - EFFECT_DRY_LEFT,279,8577 - EFFECT_DRY_RIGHT,280,8595 - EFFECT_EFF1,281,8614 - EFFECT_EFF2,282,8628 - EFFECT_EFF3283,8642 -} snd_ymfpci_pcm_type_t;snd_ymfpci_pcm_type_t284,8655 -struct _snd_ymfpci_pcm _snd_ymfpci_pcm286,8681 -struct _snd_ymfpci _snd_ymfpci302,9083 -#define SUPPORT_JOYSTICK396,11784 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/asoundef.h,7527 -#define __SOUND_ASOUNDEF_H2,27 -#define IEC958_AES0_PROFESSIONAL 32,1318 -#define IEC958_AES0_NONAUDIO 33,1395 -#define IEC958_AES0_PRO_EMPHASIS 34,1463 -#define IEC958_AES0_PRO_EMPHASIS_NOTID 35,1525 -#define IEC958_AES0_PRO_EMPHASIS_NONE 36,1600 -#define IEC958_AES0_PRO_EMPHASIS_5015 37,1665 -#define IEC958_AES0_PRO_EMPHASIS_CCITT 38,1733 -#define IEC958_AES0_PRO_FREQ_UNLOCKED 39,1805 -#define IEC958_AES0_PRO_FS 40,1906 -#define IEC958_AES0_PRO_FS_NOTID 41,1971 -#define IEC958_AES0_PRO_FS_44100 42,2034 -#define IEC958_AES0_PRO_FS_48000 43,2088 -#define IEC958_AES0_PRO_FS_32000 44,2140 -#define IEC958_AES0_CON_NOT_COPYRIGHT 45,2192 -#define IEC958_AES0_CON_EMPHASIS 46,2276 -#define IEC958_AES0_CON_EMPHASIS_NONE 47,2338 -#define IEC958_AES0_CON_EMPHASIS_5015 48,2403 -#define IEC958_AES0_CON_MODE 49,2471 -#define IEC958_AES1_PRO_MODE 50,2526 -#define IEC958_AES1_PRO_MODE_NOTID 51,2590 -#define IEC958_AES1_PRO_MODE_STEREOPHONIC 52,2652 -#define IEC958_AES1_PRO_MODE_SINGLE 53,2735 -#define IEC958_AES1_PRO_MODE_TWO 54,2799 -#define IEC958_AES1_PRO_MODE_PRIMARY 55,2858 -#define IEC958_AES1_PRO_MODE_BYTE3 56,2927 -#define IEC958_AES1_PRO_USERBITS 57,2993 -#define IEC958_AES1_PRO_USERBITS_NOTID 58,3057 -#define IEC958_AES1_PRO_USERBITS_192 59,3123 -#define IEC958_AES1_PRO_USERBITS_UDEF 60,3191 -#define IEC958_AES1_CON_CATEGORY 61,3268 -#define IEC958_AES1_CON_GENERAL 62,3306 -#define IEC958_AES1_CON_EXPERIMENTAL 63,3344 -#define IEC958_AES1_CON_SOLIDMEM_MASK 64,3386 -#define IEC958_AES1_CON_SOLIDMEM_ID 65,3429 -#define IEC958_AES1_CON_BROADCAST1_MASK 66,3470 -#define IEC958_AES1_CON_BROADCAST1_ID 67,3515 -#define IEC958_AES1_CON_DIGDIGCONV_MASK 68,3558 -#define IEC958_AES1_CON_DIGDIGCONV_ID 69,3603 -#define IEC958_AES1_CON_ADC_COPYRIGHT_MASK 70,3646 -#define IEC958_AES1_CON_ADC_COPYRIGHT_ID 71,3694 -#define IEC958_AES1_CON_ADC_MASK 72,3740 -#define IEC958_AES1_CON_ADC_ID 73,3778 -#define IEC958_AES1_CON_BROADCAST2_MASK 74,3815 -#define IEC958_AES1_CON_BROADCAST2_ID 75,3860 -#define IEC958_AES1_CON_LASEROPT_MASK 76,3903 -#define IEC958_AES1_CON_LASEROPT_ID 77,3946 -#define IEC958_AES1_CON_MUSICAL_MASK 78,3987 -#define IEC958_AES1_CON_MUSICAL_ID 79,4029 -#define IEC958_AES1_CON_MAGNETIC_MASK 80,4069 -#define IEC958_AES1_CON_MAGNETIC_ID 81,4112 -#define IEC958_AES1_CON_IEC908_CD 82,4153 -#define IEC958_AES1_CON_NON_IEC908_CD 83,4222 -#define IEC958_AES1_CON_PCM_CODER 84,4295 -#define IEC958_AES1_CON_SAMPLER 85,4366 -#define IEC958_AES1_CON_MIXER 86,4436 -#define IEC958_AES1_CON_RATE_CONVERTER 87,4504 -#define IEC958_AES1_CON_SYNTHESIZER 88,4580 -#define IEC958_AES1_CON_MICROPHONE 89,4650 -#define IEC958_AES1_CON_DAT 90,4719 -#define IEC958_AES1_CON_VCR 91,4783 -#define IEC958_AES1_CON_ORIGINAL 92,4847 -#define IEC958_AES2_PRO_SBITS 93,4932 -#define IEC958_AES2_PRO_SBITS_20 94,4995 -#define IEC958_AES2_PRO_SBITS_24 95,5063 -#define IEC958_AES2_PRO_SBITS_UDEF 96,5129 -#define IEC958_AES2_PRO_WORDLEN 97,5202 -#define IEC958_AES2_PRO_WORDLEN_NOTID 98,5274 -#define IEC958_AES2_PRO_WORDLEN_22_18 99,5339 -#define IEC958_AES2_PRO_WORDLEN_23_19 100,5407 -#define IEC958_AES2_PRO_WORDLEN_24_20 101,5475 -#define IEC958_AES2_PRO_WORDLEN_20_16 102,5543 -#define IEC958_AES2_CON_SOURCE 103,5611 -#define IEC958_AES2_CON_SOURCE_UNSPEC 104,5678 -#define IEC958_AES2_CON_CHANNEL 105,5741 -#define IEC958_AES2_CON_CHANNEL_UNSPEC 106,5810 -#define IEC958_AES3_CON_FS 107,5874 -#define IEC958_AES3_CON_FS_44100 108,5940 -#define IEC958_AES3_CON_FS_48000 109,5994 -#define IEC958_AES3_CON_FS_32000 110,6046 -#define IEC958_AES3_CON_CLOCK 111,6098 -#define IEC958_AES3_CON_CLOCK_1000PPM 112,6164 -#define IEC958_AES3_CON_CLOCK_50PPM 113,6224 -#define IEC958_AES3_CON_CLOCK_VARIABLE 114,6280 -#define MIDI_CHANNELS 122,6745 -#define MIDI_GM_DRUM_CHANNEL 123,6772 -#define MIDI_CMD_NOTE_OFF 129,6836 -#define MIDI_CMD_NOTE_ON 130,6868 -#define MIDI_CMD_NOTE_PRESSURE 131,6899 -#define MIDI_CMD_CONTROL 132,6936 -#define MIDI_CMD_PGM_CHANGE 133,6967 -#define MIDI_CMD_CHANNEL_PRESSURE 134,7001 -#define MIDI_CMD_BENDER 135,7040 -#define MIDI_CMD_COMMON_SYSEX 137,7072 -#define MIDI_CMD_COMMON_MTC_QUARTER 138,7108 -#define MIDI_CMD_COMMON_SONG_POS 139,7149 -#define MIDI_CMD_COMMON_SONG_SELECT 140,7187 -#define MIDI_CMD_COMMON_TUNE_REQUEST 141,7228 -#define MIDI_CMD_COMMON_SYSEX_END 142,7270 -#define MIDI_CMD_COMMON_CLOCK 143,7309 -#define MIDI_CMD_COMMON_START 144,7345 -#define MIDI_CMD_COMMON_CONTINUE 145,7381 -#define MIDI_CMD_COMMON_STOP 146,7419 -#define MIDI_CMD_COMMON_SENSING 147,7454 -#define MIDI_CMD_COMMON_RESET 148,7492 -#define MIDI_CTL_MSB_BANK 154,7558 -#define MIDI_CTL_MSB_MODWHEEL 155,7590 -#define MIDI_CTL_MSB_BREATH 156,7634 -#define MIDI_CTL_MSB_FOOT 157,7678 -#define MIDI_CTL_MSB_PORTAMENTO_TIME 158,7722 -#define MIDI_CTL_MSB_DATA_ENTRY 159,7765 -#define MIDI_CTL_MSB_MAIN_VOLUME 160,7803 -#define MIDI_CTL_MSB_BALANCE 161,7847 -#define MIDI_CTL_MSB_PAN 162,7891 -#define MIDI_CTL_MSB_EXPRESSION 163,7935 -#define MIDI_CTL_MSB_EFFECT1 164,7979 -#define MIDI_CTL_MSB_EFFECT2 165,8014 -#define MIDI_CTL_MSB_GENERAL_PURPOSE1 166,8049 -#define MIDI_CTL_MSB_GENERAL_PURPOSE2 167,8093 -#define MIDI_CTL_MSB_GENERAL_PURPOSE3 168,8137 -#define MIDI_CTL_MSB_GENERAL_PURPOSE4 169,8181 -#define MIDI_CTL_LSB_BANK 170,8225 -#define MIDI_CTL_LSB_MODWHEEL 171,8257 -#define MIDI_CTL_LSB_BREATH 172,8300 -#define MIDI_CTL_LSB_FOOT 173,8344 -#define MIDI_CTL_LSB_PORTAMENTO_TIME 174,8388 -#define MIDI_CTL_LSB_DATA_ENTRY 175,8431 -#define MIDI_CTL_LSB_MAIN_VOLUME 176,8469 -#define MIDI_CTL_LSB_BALANCE 177,8513 -#define MIDI_CTL_LSB_PAN 178,8557 -#define MIDI_CTL_LSB_EXPRESSION 179,8601 -#define MIDI_CTL_LSB_EFFECT1 180,8645 -#define MIDI_CTL_LSB_EFFECT2 181,8680 -#define MIDI_CTL_LSB_GENERAL_PURPOSE1 182,8715 -#define MIDI_CTL_LSB_GENERAL_PURPOSE2 183,8759 -#define MIDI_CTL_LSB_GENERAL_PURPOSE3 184,8803 -#define MIDI_CTL_LSB_GENERAL_PURPOSE4 185,8847 -#define MIDI_CTL_SUSTAIN 186,8891 -#define MIDI_CTL_PORTAMENTO 187,8935 -#define MIDI_CTL_SUSTENUTO 188,8979 -#define MIDI_CTL_SOFT_PEDAL 189,9023 -#define MIDI_CTL_LEGATO_FOOTSWITCH 190,9067 -#define MIDI_CTL_HOLD2 191,9107 -#define MIDI_CTL_SC1_SOUND_VARIATION 192,9151 -#define MIDI_CTL_SC2_TIMBRE 193,9193 -#define MIDI_CTL_SC3_RELEASE_TIME 194,9227 -#define MIDI_CTL_SC4_ATTACK_TIME 195,9266 -#define MIDI_CTL_SC5_BRIGHTNESS 196,9304 -#define MIDI_CTL_SC6 197,9342 -#define MIDI_CTL_SC7 198,9370 -#define MIDI_CTL_SC8 199,9398 -#define MIDI_CTL_SC9 200,9426 -#define MIDI_CTL_SC10 201,9454 -#define MIDI_CTL_GENERAL_PURPOSE5 202,9483 -#define MIDI_CTL_GENERAL_PURPOSE6 203,9527 -#define MIDI_CTL_GENERAL_PURPOSE7 204,9571 -#define MIDI_CTL_GENERAL_PURPOSE8 205,9615 -#define MIDI_CTL_PORTAMENTO_CONTROL 206,9659 -#define MIDI_CTL_E1_REVERB_DEPTH 207,9700 -#define MIDI_CTL_E2_TREMOLO_DEPTH 208,9738 -#define MIDI_CTL_E3_CHORUS_DEPTH 209,9777 -#define MIDI_CTL_E4_DETUNE_DEPTH 210,9815 -#define MIDI_CTL_E5_PHASER_DEPTH 211,9853 -#define MIDI_CTL_DATA_INCREMENT 212,9891 -#define MIDI_CTL_DATA_DECREMENT 213,9935 -#define MIDI_CTL_NONREG_PARM_NUM_LSB 214,9979 -#define MIDI_CTL_NONREG_PARM_NUM_MSB 215,10023 -#define MIDI_CTL_REGIST_PARM_NUM_LSB 216,10067 -#define MIDI_CTL_REGIST_PARM_NUM_MSB 217,10111 -#define MIDI_CTL_ALL_SOUNDS_OFF 218,10153 -#define MIDI_CTL_RESET_CONTROLLERS 219,10191 -#define MIDI_CTL_LOCAL_CONTROL_SWITCH 220,10231 -#define MIDI_CTL_ALL_NOTES_OFF 221,10274 -#define MIDI_CTL_OMNI_OFF 222,10311 -#define MIDI_CTL_OMNI_ON 223,10343 -#define MIDI_CTL_MONO1 224,10374 -#define MIDI_CTL_MONO2 225,10404 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ak4117.h,3835 -#define __SOUND_AK4117_H2,25 -#define AK4117_REG_PWRDN 25,892 -#define AK4117_REG_CLOCK 26,939 -#define AK4117_REG_IO 27,989 -#define AK4117_REG_INT0_MASK 28,1044 -#define AK4117_REG_INT1_MASK 29,1100 -#define AK4117_REG_RCS0 30,1156 -#define AK4117_REG_RCS1 31,1210 -#define AK4117_REG_RCS2 32,1264 -#define AK4117_REG_RXCSB0 33,1318 -#define AK4117_REG_RXCSB1 34,1380 -#define AK4117_REG_RXCSB2 35,1442 -#define AK4117_REG_RXCSB3 36,1504 -#define AK4117_REG_RXCSB4 37,1566 -#define AK4117_REG_Pc0 38,1628 -#define AK4117_REG_Pc1 39,1688 -#define AK4117_REG_Pd0 40,1748 -#define AK4117_REG_Pd1 41,1808 -#define AK4117_REG_QSUB_ADDR 42,1868 -#define AK4117_REG_QSUB_TRACK 43,1936 -#define AK4117_REG_QSUB_INDEX 44,1993 -#define AK4117_REG_QSUB_MINUTE 45,2050 -#define AK4117_REG_QSUB_SECOND 46,2109 -#define AK4117_REG_QSUB_FRAME 47,2168 -#define AK4117_REG_QSUB_ZERO 48,2225 -#define AK4117_REG_QSUB_ABSMIN 49,2280 -#define AK4117_REG_QSUB_ABSSEC 50,2348 -#define AK4117_REG_QSUB_ABSFRM 51,2416 -#define AK4117_REG_RXCSB_SIZE 54,2496 -#define AK4117_REG_QSUB_SIZE 55,2568 -#define AK4117_EXCT 58,2676 -#define AK4117_XTL1 59,2750 -#define AK4117_XTL0 60,2840 -#define AK4117_XTL_11_2896M 61,2938 -#define AK4117_XTL_12_288M 62,2970 -#define AK4117_XTL_24_576M 63,3009 -#define AK4117_XTL_EXT 64,3048 -#define AK4117_PWN 65,3098 -#define AK4117_RST 66,3168 -#define AK4117_LP 69,3298 -#define AK4117_PKCS1 70,3388 -#define AK4117_PKCS0 71,3473 -#define AK4117_PKCS_512fs 72,3502 -#define AK4117_PKCS_256fs 73,3532 -#define AK4117_PKCS_128fs 74,3571 -#define AK4117_DIV 75,3610 -#define AK4117_XCKS1 76,3695 -#define AK4117_XCKS0 77,3767 -#define AK4117_XCKS_128fs 78,3796 -#define AK4117_XCKS_256fs 79,3826 -#define AK4117_XCKS_512fs 80,3865 -#define AK4117_XCKS_1024fs 81,3904 -#define AK4117_CM1 82,3959 -#define AK4117_CM0 83,4019 -#define AK4117_CM_PLL 84,4046 -#define AK4117_CM_XTAL 85,4109 -#define AK4117_CM_PLL_XTAL 86,4178 -#define AK4117_CM_MONITOR 87,4267 -#define AK4117_IPS 90,4398 -#define AK4117_UOUTE 91,4476 -#define AK4117_CS12 92,4564 -#define AK4117_EFH2 93,4648 -#define AK4117_EFH1 94,4709 -#define AK4117_EFH_512LRCLK 95,4737 -#define AK4117_EFH_1024LRCLK 96,4769 -#define AK4117_EFH_2048LRCLK 97,4812 -#define AK4117_EFH_4096LRCLK 98,4855 -#define AK4117_DIF2 99,4910 -#define AK4117_DIF1 100,4970 -#define AK4117_DIF0 101,4998 -#define AK4117_DIF_16R 102,5026 -#define AK4117_DIF_18R 103,5093 -#define AK4117_DIF_20R 104,5169 -#define AK4117_DIF_24R 105,5245 -#define AK4117_DIF_24L 106,5331 -#define AK4117_DIF_24I2S 107,5406 -#define AK4117_MULK 110,5520 -#define AK4117_MPAR 111,5581 -#define AK4117_MAUTO 112,5639 -#define AK4117_MV 113,5699 -#define AK4117_MAUD 114,5753 -#define AK4117_MSTC 115,5814 -#define AK4117_MCIT 116,5872 -#define AK4117_MQIT 117,5931 -#define AK4117_UNLCK 120,6013 -#define AK4117_PAR 121,6086 -#define AK4117_AUTO 122,6181 -#define AK4117_V 123,6279 -#define AK4117_AUDION 124,6347 -#define AK4117_STC 125,6426 -#define AK4117_CINT 126,6528 -#define AK4117_QINT 127,6621 -#define AK4117_DTSCD 130,6733 -#define AK4117_NPCM 131,6826 -#define AK4117_PEM 132,6916 -#define AK4117_FS3 133,6986 -#define AK4117_FS2 134,7048 -#define AK4117_FS1 135,7075 -#define AK4117_FS0 136,7102 -#define AK4117_FS_44100HZ 137,7129 -#define AK4117_FS_48000HZ 138,7159 -#define AK4117_FS_32000HZ 139,7198 -#define AK4117_FS_88200HZ 140,7248 -#define AK4117_FS_96000HZ 141,7287 -#define AK4117_FS_176400HZ 142,7337 -#define AK4117_FS_192000HZ 143,7388 -#define AK4117_CCRC 146,7473 -#define AK4117_QCRC 147,7555 -#define AK4117_CHECK_NO_STAT 150,7684 -#define AK4117_CHECK_NO_RATE 151,7740 -#define AK4117_CONTROLS 153,7797 -typedef void (ak4117_write_t)ak4117_write_t155,7826 -typedef unsigned char char156,7917 -typedef struct ak4117 ak4117_t;ak4117_t158,7997 -struct ak4117 ak4117160,8030 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/core.h,5496 -#define __SOUND_CORE_H2,23 -typedef struct timespec snd_timestamp_t;snd_timestamp_t31,1124 -typedef struct sndrv_interval snd_interval_t;snd_interval_t32,1165 -typedef enum sndrv_card_type snd_card_type;snd_card_type33,1211 -typedef struct sndrv_xferi snd_xferi_t;snd_xferi_t34,1255 -typedef struct sndrv_xfern snd_xfern_t;snd_xfern_t35,1295 -typedef struct sndrv_xferv snd_xferv_t;snd_xferv_t36,1335 -#define SNDRV_DEV_TYPE_RANGE_SIZE 48,1519 - SNDRV_DEV_TOPLEVEL 51,1577 - SNDRV_DEV_TOPLEVEL = (0*SNDRV_DEV_TYPE_RANGE_SIZE)51,1577 - SNDRV_DEV_LOWLEVEL_PRE,52,1631 - SNDRV_DEV_LOWLEVEL_NORMAL 53,1656 - SNDRV_DEV_LOWLEVEL_NORMAL = (1*SNDRV_DEV_TYPE_RANGE_SIZE)53,1656 - SNDRV_DEV_PCM,54,1716 - SNDRV_DEV_RAWMIDI,55,1732 - SNDRV_DEV_TIMER,56,1752 - SNDRV_DEV_SEQUENCER,57,1770 - SNDRV_DEV_HWDEP,58,1792 - SNDRV_DEV_INFO,59,1810 - SNDRV_DEV_LOWLEVEL 60,1827 - SNDRV_DEV_LOWLEVEL = (2*SNDRV_DEV_TYPE_RANGE_SIZE)60,1827 -} snd_device_type_t;snd_device_type_t61,1880 - SNDRV_DEV_BUILD,64,1917 - SNDRV_DEV_REGISTERED,65,1935 - SNDRV_DEV_DISCONNECTED66,1958 -} snd_device_state_t;snd_device_state_t67,1982 - SNDRV_DEV_CMD_PRE 70,2020 - SNDRV_DEV_CMD_NORMAL 71,2044 - SNDRV_DEV_CMD_POST 72,2071 -} snd_device_cmd_t;snd_device_cmd_t73,2095 -typedef struct _snd_card snd_card_t;snd_card_t75,2116 -typedef struct _snd_device snd_device_t;snd_device_t76,2153 -typedef int (snd_dev_free_t)snd_dev_free_t78,2195 -typedef int (snd_dev_register_t)snd_dev_register_t79,2247 -typedef int (snd_dev_disconnect_t)snd_dev_disconnect_t80,2303 -typedef int (snd_dev_unregister_t)snd_dev_unregister_t81,2361 -} snd_device_ops_t;snd_device_ops_t88,2577 -struct _snd_device _snd_device90,2598 -#define snd_device(snd_device99,2919 -typedef struct snd_info_entry snd_info_entry_t;snd_info_entry_t103,3000 -typedef struct _snd_pcm snd_pcm_t;snd_pcm_t104,3048 -typedef struct _snd_pcm_str snd_pcm_str_t;snd_pcm_str_t105,3083 -typedef struct _snd_pcm_substream snd_pcm_substream_t;snd_pcm_substream_t106,3126 -typedef struct _snd_mixer snd_kmixer_t;snd_kmixer_t107,3181 -typedef struct _snd_rawmidi snd_rawmidi_t;snd_rawmidi_t108,3221 -typedef struct _snd_ctl_file snd_ctl_file_t;snd_ctl_file_t109,3264 -typedef struct _snd_kcontrol snd_kcontrol_t;snd_kcontrol_t110,3309 -typedef struct _snd_timer snd_timer_t;snd_timer_t111,3354 -typedef struct _snd_timer_instance snd_timer_instance_t;snd_timer_instance_t112,3393 -typedef struct _snd_hwdep snd_hwdep_t;snd_hwdep_t113,3450 -typedef struct _snd_oss_mixer snd_mixer_oss_t;snd_mixer_oss_t115,3563 -struct snd_monitor_file snd_monitor_file120,3671 -struct _snd_card _snd_card129,3839 -static inline void snd_power_lock(182,5836 -static inline void snd_power_unlock(187,5919 -static inline unsigned int snd_power_get_state(194,6086 -static inline void snd_power_change_state(199,6183 -#define snd_card_set_isa_pm_callback(snd_card_set_isa_pm_callback212,6688 -#define SND_PCI_PM_CALLBACKS 218,6975 -#define snd_power_lock(snd_power_lock223,7091 -#define snd_power_unlock(snd_power_unlock224,7152 -static inline int snd_power_wait(225,7215 -#define snd_power_get_state(snd_power_get_state226,7319 -#define snd_power_change_state(snd_power_change_state227,7372 -#define snd_card_set_pm_callback(snd_card_set_pm_callback228,7447 -#define snd_card_set_dev_pm_callback(snd_card_set_dev_pm_callback229,7506 -#define snd_card_set_isa_pm_callback(snd_card_set_isa_pm_callback230,7569 -#define SND_PCI_PM_CALLBACKS232,7650 -struct _snd_minor _snd_minor238,7710 -typedef struct _snd_minor snd_minor_t;snd_minor_t247,8036 -#define snd_minor_info_oss_init(snd_minor_info_oss_init273,8737 -#define snd_minor_info_oss_done(snd_minor_info_oss_done274,8779 -#define snd_oss_init_module(snd_oss_init_module275,8821 -#define kmalloc(kmalloc290,9258 -#define kcalloc(kcalloc291,9319 -#define kfree(kfree292,9386 -#define vmalloc(vmalloc293,9427 -#define vfree(vfree294,9474 -#define kmalloc_nocheck(kmalloc_nocheck295,9515 -#define vmalloc_nocheck(vmalloc_nocheck296,9585 -#define kfree_nocheck(kfree_nocheck297,9641 -#define vfree_nocheck(vfree_nocheck298,9691 -#define snd_memory_init(snd_memory_init300,9747 -#define snd_memory_done(snd_memory_done301,9781 -#define snd_memory_info_init(snd_memory_info_init302,9815 -#define snd_memory_info_done(snd_memory_info_done303,9854 -#define kmalloc_nocheck(kmalloc_nocheck304,9893 -#define vmalloc_nocheck(vmalloc_nocheck305,9951 -#define kfree_nocheck(kfree_nocheck306,9995 -#define vfree_nocheck(vfree_nocheck307,10033 -#define SND_MIXER_OSS_NOTIFY_REGISTER 320,10522 -#define SND_MIXER_OSS_NOTIFY_DISCONNECT 321,10562 -#define SND_MIXER_OSS_NOTIFY_FREE 322,10604 -#define snd_card_set_dev(snd_card_set_dev339,11255 -#define DMA_MODE_NO_ENABLE 355,11813 -void snd_verbose_printk(365,12176 -#define snd_printk(snd_printk383,12734 -#define snd_printk(snd_printk386,12828 -#define __ASTRING__(__ASTRING__392,12917 -#define snd_printd(snd_printd402,13157 -#define snd_printd(snd_printd405,13251 -#define snd_assert(snd_assert418,13627 -#define snd_runtime_check(snd_runtime_check434,14182 -#define snd_printd(snd_printd443,14413 -#define snd_assert(snd_assert444,14460 -#define snd_runtime_check(snd_runtime_check445,14507 -#define snd_printdd(snd_printdd457,14839 -#define snd_printdd(snd_printdd459,14909 -#define snd_BUG(snd_BUG462,14968 -static inline void snd_timestamp_zero(476,15274 -static inline int snd_timestamp_null(482,15385 -#define SNDRV_OSS_VERSION 487,15505 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/vx_core.h,6881 -#define __SOUND_VX_COMMON_H24,892 -typedef struct snd_vx_core vx_core_t;vx_core_t30,999 -typedef struct vx_pipe vx_pipe_t;vx_pipe_t31,1037 -#define VX_DRIVER_VERSION 33,1072 -#define SIZE_MAX_CMD 37,1127 -#define SIZE_MAX_STATUS 38,1156 -struct vx_rmh vx_rmh40,1186 -typedef u64 pcx_time_t;pcx_time_t48,1421 -#define VX_MAX_PIPES 50,1446 -#define VX_MAX_PERIODS 51,1470 -#define VX_MAX_CODECS 52,1496 -struct vx_ibl_info vx_ibl_info54,1521 -struct vx_pipe vx_pipe61,1729 -struct snd_vx_ops snd_vx_ops87,2646 -struct snd_vx_hardware snd_vx_hardware114,3728 -#define SND_VX_HWDEP_ID 126,3955 - VX_TYPE_BOARD,131,4037 - VX_TYPE_V2,132,4074 - VX_TYPE_MIC,133,4107 - VX_TYPE_VXPOCKET,135,4159 - VX_TYPE_VXP440,136,4196 - VX_TYPE_NUMS137,4233 - VX_STAT_XILINX_LOADED 142,4276 - VX_STAT_DEVICE_INIT 143,4340 - VX_STAT_CHIP_INIT 144,4402 - VX_STAT_IN_SUSPEND 145,4455 - VX_STAT_IS_STALE 146,4511 -#define VX_ANALOG_OUT_LEVEL_MAX 150,4621 -struct snd_vx_core snd_vx_core152,4660 -inline static int vx_test_and_ack(231,6904 -inline static void vx_validate_irq(237,7052 -inline static unsigned char snd_vx_inb(243,7207 -inline static unsigned int snd_vx_inl(249,7351 -inline static void snd_vx_outb(255,7496 -inline static void snd_vx_outl(261,7649 -#define vx_inb(vx_inb267,7803 -#define vx_outb(vx_outb268,7855 -#define vx_inl(vx_inl269,7917 -#define vx_outl(vx_outl270,7969 -static inline void vx_reset_dsp(274,8079 -#define vx_check_isr(vx_check_isr293,8692 -#define vx_wait_isr_bit(vx_wait_isr_bit294,8785 -#define vx_wait_for_rx_full(vx_wait_for_rx_full295,8853 -inline static void vx_pseudo_dma_write(301,8954 -inline static void vx_pseudo_dma_read(308,9176 -#define VX_ERR_MASK 320,9490 -#define vx_get_error(vx_get_error321,9520 -#define vx_has_new_dsp(vx_has_new_dsp352,10271 -#define vx_is_pcmcia(vx_is_pcmcia353,10332 - VX_AUDIO_SRC_DIGITAL,357,10427 - VX_AUDIO_SRC_LINE,358,10450 - VX_AUDIO_SRC_MIC359,10470 - INTERNAL_QUARTZ,364,10518 - UER_SYNC365,10536 - VX_CLOCK_MODE_AUTO,370,10574 - VX_CLOCK_MODE_INTERNAL,371,10639 - VX_CLOCK_MODE_EXTERNAL 372,10695 - VX_UER_MODE_CONSUMER,377,10775 - VX_UER_MODE_PROFESSIONAL,378,10798 - VX_UER_MODE_NOT_PRESENT,379,10825 - VX_ICR,384,10885 - VX_CVR,385,10894 - VX_ISR,386,10903 - VX_IVR,387,10912 - VX_RXH,388,10921 - VX_TXH 389,10930 - VX_TXH = VX_RXH,389,10930 - VX_RXM,390,10948 - VX_TXM 391,10957 - VX_TXM = VX_RXM,391,10957 - VX_RXL,392,10975 - VX_TXL 393,10984 - VX_TXL = VX_RXL,393,10984 - VX_DMA,394,11002 - VX_CDSP,395,11011 - VX_RFREQ,396,11021 - VX_RUER_V2,397,11032 - VX_GAIN,398,11045 - VX_DATA 399,11055 - VX_DATA = VX_GAIN,399,11055 - VX_MEMIRQ,400,11075 - VX_ACQ,401,11087 - VX_BIT0,402,11096 - VX_BIT1,403,11106 - VX_MIC0,404,11116 - VX_MIC1,405,11126 - VX_MIC2,406,11136 - VX_MIC3,407,11146 - VX_PLX0,408,11156 - VX_PLX1,409,11166 - VX_PLX2,410,11176 - VX_LOFREQ,412,11187 - VX_HIFREQ,413,11222 - VX_CSUER,414,11260 - VX_RUER,415,11295 - VX_REG_MAX,417,11334 - VX_RESET_DMA 420,11376 - VX_RESET_DMA = VX_ISR,420,11376 - VX_CFG 421,11400 - VX_CFG = VX_RFREQ,421,11400 - VX_STATUS 422,11420 - VX_STATUS = VX_MEMIRQ,422,11420 - VX_SELMIC 423,11444 - VX_SELMIC = VX_MIC0,423,11444 - VX_COMPOT 424,11466 - VX_COMPOT = VX_MIC1,424,11466 - VX_SCOMPR 425,11488 - VX_SCOMPR = VX_MIC2,425,11488 - VX_GLIMIT 426,11510 - VX_GLIMIT = VX_MIC3,426,11510 - VX_INTCSR 427,11532 - VX_INTCSR = VX_PLX0,427,11532 - VX_CNTRL 428,11554 - VX_CNTRL = VX_PLX1,428,11554 - VX_GPIOC 429,11575 - VX_GPIOC = VX_PLX2,429,11575 - VX_MICRO 432,11631 - VX_MICRO = VX_MEMIRQ,432,11631 - VX_CODEC2 433,11654 - VX_CODEC2 = VX_MEMIRQ,433,11654 - VX_DIALOG 434,11678 - VX_DIALOG = VX_ACQ,434,11678 - RMH_SSIZE_FIXED 440,11733 - RMH_SSIZE_ARG 441,11805 - RMH_SSIZE_MASK 442,11865 -#define ICR_HF1 447,11954 -#define ICR_HF0 448,11976 -#define ICR_TREQ 449,11998 -#define ICR_RREQ 450,12084 -#define CVR_HC 453,12198 -#define ISR_HF3 456,12248 -#define ISR_HF2 457,12270 -#define ISR_CHK 458,12292 -#define ISR_ERR 459,12314 -#define ISR_TX_READY 460,12336 -#define ISR_TX_EMPTY 461,12362 -#define ISR_RX_FULL 462,12388 -#define VX_DATA_CODEC_MASK 465,12463 -#define VX_DATA_XICOR_MASK 466,12495 -#define VX_SUER_FREQ_MASK 469,12601 -#define VX_SUER_FREQ_32KHz_MASK 470,12633 -#define VX_SUER_FREQ_44KHz_MASK 471,12671 -#define VX_SUER_FREQ_48KHz_MASK 472,12709 -#define VX_SUER_DATA_PRESENT_MASK 473,12747 -#define VX_SUER_CLOCK_PRESENT_MASK 474,12786 -#define VX_CUER_HH_BITC_SEL_MASK 476,12827 -#define VX_CUER_MH_BITC_SEL_MASK 477,12865 -#define VX_CUER_ML_BITC_SEL_MASK 478,12903 -#define VX_CUER_LL_BITC_SEL_MASK 479,12941 -#define XX_UER_CBITS_OFFSET_MASK 481,12980 -#define VX_AUDIO_INFO_REAL_TIME 485,13046 -#define VX_AUDIO_INFO_OFFLINE 486,13122 -#define VX_AUDIO_INFO_MPEG1 487,13194 -#define VX_AUDIO_INFO_MPEG2 488,13229 -#define VX_AUDIO_INFO_LINEAR_8 489,13264 -#define VX_AUDIO_INFO_LINEAR_16 490,13302 -#define VX_AUDIO_INFO_LINEAR_24 491,13341 -#define VXP_IRQ_OFFSET 494,13416 -#define IRQ_MESS_WRITE_END 496,13527 -#define IRQ_MESS_WRITE_NEXT 497,13568 -#define IRQ_MESS_READ_NEXT 498,13609 -#define IRQ_MESS_READ_END 499,13650 -#define IRQ_MESSAGE 500,13691 -#define IRQ_RESET_CHK 501,13732 -#define IRQ_CONNECT_STREAM_NEXT 502,13773 -#define IRQ_CONNECT_STREAM_END 503,13814 -#define IRQ_PAUSE_START_CONNECT 504,13855 -#define IRQ_END_CONNECTION 505,13896 -#define ASYNC_EVENTS_PENDING 508,13994 -#define HBUFFER_EVENTS_PENDING 509,14043 -#define NOTIF_EVENTS_PENDING 510,14117 -#define TIME_CODE_EVENT_PENDING 511,14166 -#define FREQUENCY_CHANGE_EVENT_PENDING 512,14215 -#define END_OF_BUFFER_EVENTS_PENDING 513,14264 -#define FATAL_DSP_ERROR 514,14313 -#define HEADER_FMT_BASE 517,14399 -#define HEADER_FMT_MONO 518,14436 -#define HEADER_FMT_INTEL 519,14473 -#define HEADER_FMT_16BITS 520,14510 -#define HEADER_FMT_24BITS 521,14548 -#define HEADER_FMT_UPTO11 522,14586 -#define HEADER_FMT_UPTO32 523,14663 -#define XX_CODEC_SELECTOR 526,14789 -#define XX_CODEC_ADC_CONTROL_REGISTER 528,14855 -#define XX_CODEC_DAC_CONTROL_REGISTER 529,14900 -#define XX_CODEC_LEVEL_LEFT_REGISTER 530,14945 -#define XX_CODEC_LEVEL_RIGHT_REGISTER 531,14990 -#define XX_CODEC_PORT_MODE_REGISTER 532,15035 -#define XX_CODEC_STATUS_REPORT_REGISTER 533,15080 -#define XX_CODEC_CLOCK_CONTROL_REGISTER 534,15125 -#define CVAL_M110DB 539,15208 -#define CVAL_M99DB 540,15248 -#define CVAL_M21DB 541,15274 -#define CVAL_M18DB 542,15300 -#define CVAL_M10DB 543,15326 -#define CVAL_0DB 544,15352 -#define CVAL_18DB 545,15376 -#define CVAL_MAX 546,15413 -#define AUDIO_IO_HAS_MUTE_LEVEL 548,15438 -#define AUDIO_IO_HAS_MUTE_MONITORING_1 549,15481 -#define AUDIO_IO_HAS_MUTE_MONITORING_2 550,15530 -#define VALID_AUDIO_IO_DIGITAL_LEVEL 551,15579 -#define VALID_AUDIO_IO_MONITORING_LEVEL 552,15622 -#define VALID_AUDIO_IO_MUTE_LEVEL 553,15668 -#define VALID_AUDIO_IO_MUTE_MONITORING_1 554,15708 -#define VALID_AUDIO_IO_MUTE_MONITORING_2 555,15754 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/opl3.h,3191 -#define __SOUND_OPL3_H2,23 -#define OPL3_REG_TEST 71,2418 -#define OPL3_ENABLE_WAVE_SELECT 72,2447 -#define OPL3_REG_TIMER1 74,2487 -#define OPL3_REG_TIMER2 75,2518 -#define OPL3_REG_TIMER_CONTROL 76,2549 -#define OPL3_IRQ_RESET 77,2602 -#define OPL3_TIMER1_MASK 78,2633 -#define OPL3_TIMER2_MASK 79,2666 -#define OPL3_TIMER1_START 80,2699 -#define OPL3_TIMER2_START 81,2733 -#define OPL3_REG_CONNECTION_SELECT 83,2768 -#define OPL3_LEFT_4OP_0 84,2825 -#define OPL3_LEFT_4OP_1 85,2857 -#define OPL3_LEFT_4OP_2 86,2889 -#define OPL3_RIGHT_4OP_0 87,2921 -#define OPL3_RIGHT_4OP_1 88,2954 -#define OPL3_RIGHT_4OP_2 89,2987 -#define OPL3_REG_MODE 91,3021 -#define OPL3_OPL3_ENABLE 92,3067 -#define OPL3_OPL4_ENABLE 93,3116 -#define OPL3_REG_KBD_SPLIT 95,3166 -#define OPL3_COMPOSITE_SINE_WAVE_MODE 96,3215 -#define OPL3_KEYBOARD_SPLIT 97,3288 -#define OPL3_REG_PERCUSSION 99,3325 -#define OPL3_TREMOLO_DEPTH 100,3380 -#define OPL3_VIBRATO_DEPTH 101,3415 -#define OPL3_PERCUSSION_ENABLE 102,3450 -#define OPL3_BASSDRUM_ON 103,3488 -#define OPL3_SNAREDRUM_ON 104,3521 -#define OPL3_TOMTOM_ON 105,3555 -#define OPL3_CYMBAL_ON 106,3586 -#define OPL3_HIHAT_ON 107,3617 -#define OPL3_REG_AM_VIB 115,3839 -#define OPL3_TREMOLO_ON 116,3870 -#define OPL3_VIBRATO_ON 117,3902 -#define OPL3_SUSTAIN_ON 118,3934 -#define OPL3_KSR 119,3966 -#define OPL3_MULTIPLE_MASK 120,4015 -#define OPL3_REG_KSL_LEVEL 125,4124 -#define OPL3_KSL_MASK 126,4157 -#define OPL3_TOTAL_LEVEL_MASK 127,4216 -#define OPL3_REG_ATTACK_DECAY 132,4333 -#define OPL3_ATTACK_MASK 133,4369 -#define OPL3_DECAY_MASK 134,4402 -#define OPL3_REG_SUSTAIN_RELEASE 139,4489 -#define OPL3_SUSTAIN_MASK 140,4527 -#define OPL3_RELEASE_MASK 141,4561 -#define OPL3_REG_WAVE_SELECT 146,4633 -#define OPL3_WAVE_SELECT_MASK 147,4668 -#define OPL3_REG_FNUM_LOW 155,4872 -#define OPL3_REG_KEYON_BLOCK 160,4978 -#define OPL3_KEYON_BIT 161,5013 -#define OPL3_BLOCKNUM_MASK 162,5044 -#define OPL3_FNUM_HIGH_MASK 163,5079 -#define OPL3_REG_FEEDBACK_CONNECTION 177,5563 -#define OPL3_FEEDBACK_MASK 178,5605 -#define OPL3_CONNECTION_BIT 179,5679 -#define OPL3_STEREO_BITS 214,7155 -#define OPL3_VOICE_TO_LEFT 215,7205 -#define OPL3_VOICE_TO_RIGHT 216,7242 -#define OPL3_LEFT 222,7290 -#define OPL3_RIGHT 223,7316 -#define OPL3_HW_AUTO 225,7344 -#define OPL3_HW_OPL2 226,7373 -#define OPL3_HW_OPL3 227,7402 -#define OPL3_HW_OPL3_SV 228,7431 -#define OPL3_HW_OPL3_CS 229,7483 -#define OPL3_HW_OPL3_FM801 230,7536 -#define OPL3_HW_OPL3_CS4281 231,7582 -#define OPL3_HW_OPL3_PC98 232,7630 -#define OPL3_HW_OPL4 233,7676 -#define OPL3_HW_OPL4_ML 234,7726 -#define OPL3_HW_MASK 235,7778 -#define MAX_OPL2_VOICES 237,7808 -#define MAX_OPL3_VOICES 238,7835 -typedef struct snd_opl3 opl3_t;opl3_t240,7864 -typedef struct snd_opl3_voice snd_opl3_voice245,7956 -#define SNDRV_OPL3_ST_OFF 247,8015 -#define SNDRV_OPL3_ST_ON_2OP 248,8062 -#define SNDRV_OPL3_ST_ON_4OP 249,8122 -#define SNDRV_OPL3_ST_NOT_AVAIL 250,8182 -} snd_opl3_voice_t;snd_opl3_voice_t261,8564 -struct snd_opl3 snd_opl3263,8585 -#define SNDRV_OPL3_MODE_SYNTH 284,9343 -#define SNDRV_OPL3_MODE_SEQ 285,9420 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/mpu401.h,1262 -#define __SOUND_MPU401_H2,25 -#define MPU401_HW_MPU401 28,955 -#define MPU401_HW_SB 29,1003 -#define MPU401_HW_ES1688 30,1060 -#define MPU401_HW_OPL3SA2 31,1125 -#define MPU401_HW_SONICVIBES 32,1176 -#define MPU401_HW_CS4232 33,1228 -#define MPU401_HW_ES18XX 34,1269 -#define MPU401_HW_FM801 35,1334 -#define MPU401_HW_TRID4DWAVE 36,1385 -#define MPU401_HW_AZT2320 37,1438 -#define MPU401_HW_ALS100 38,1489 -#define MPU401_HW_ICE1712 39,1544 -#define MPU401_HW_VIA686A 40,1587 -#define MPU401_HW_YMFPCI 41,1635 -#define MPU401_HW_CMIPCI 42,1684 -#define MPU401_HW_ALS4000 43,1739 -#define MPU401_HW_INTEL8X0 44,1796 -#define MPU401_HW_PC98II 45,1849 -#define MPU401_HW_AUREAL 46,1898 -#define MPU401_MODE_BIT_INPUT 48,1948 -#define MPU401_MODE_BIT_OUTPUT 49,1981 -#define MPU401_MODE_BIT_INPUT_TRIGGER 50,2015 -#define MPU401_MODE_BIT_OUTPUT_TRIGGER 51,2055 -#define MPU401_MODE_INPUT 53,2097 -#define MPU401_MODE_OUTPUT 54,2151 -#define MPU401_MODE_INPUT_TRIGGER 55,2207 -#define MPU401_MODE_OUTPUT_TRIGGER 56,2276 -#define MPU401_MODE_INPUT_TIMER 58,2348 -#define MPU401_MODE_OUTPUT_TIMER 59,2388 -typedef struct _snd_mpu401 mpu401_t;mpu401_t61,2429 -struct _snd_mpu401 _snd_mpu40163,2467 -#define MPU401C(MPU401C100,3405 -#define MPU401D(MPU401D101,3439 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs46xx.h,35388 -#define __SOUND_CS46XX_H2,25 -#define PCI_VENDOR_ID_CIRRUS 33,1077 -#define PCI_DEVICE_ID_CIRRUS_4610 36,1165 -#define PCI_DEVICE_ID_CIRRUS_4612 39,1253 -#define PCI_DEVICE_ID_CIRRUS_4615 42,1341 -#define BA0_HISR 53,1550 -#define BA0_HSR0 54,1581 -#define BA0_HICR 55,1640 -#define BA0_DMSR 56,1699 -#define BA0_HSAR 57,1758 -#define BA0_HDAR 58,1817 -#define BA0_HDMR 59,1876 -#define BA0_HDCR 60,1935 -#define BA0_PFMC 61,1994 -#define BA0_PFCV1 62,2053 -#define BA0_PFCV2 63,2112 -#define BA0_PCICFG00 64,2171 -#define BA0_PCICFG04 65,2230 -#define BA0_PCICFG08 66,2289 -#define BA0_PCICFG0C 67,2348 -#define BA0_PCICFG10 68,2407 -#define BA0_PCICFG14 69,2466 -#define BA0_PCICFG18 70,2525 -#define BA0_PCICFG1C 71,2584 -#define BA0_PCICFG20 72,2643 -#define BA0_PCICFG24 73,2702 -#define BA0_PCICFG28 74,2761 -#define BA0_PCICFG2C 75,2820 -#define BA0_PCICFG30 76,2879 -#define BA0_PCICFG34 77,2938 -#define BA0_PCICFG38 78,2997 -#define BA0_PCICFG3C 79,3056 -#define BA0_CLKCR1 80,3115 -#define BA0_CLKCR2 81,3174 -#define BA0_PLLM 82,3233 -#define BA0_PLLCC 83,3292 -#define BA0_FRR 84,3351 -#define BA0_CFL1 85,3411 -#define BA0_CFL2 86,3470 -#define BA0_SERMC1 87,3529 -#define BA0_SERMC2 88,3588 -#define BA0_SERC1 89,3647 -#define BA0_SERC2 90,3706 -#define BA0_SERC3 91,3765 -#define BA0_SERC4 92,3824 -#define BA0_SERC5 93,3883 -#define BA0_SERBSP 94,3942 -#define BA0_SERBST 95,4001 -#define BA0_SERBCM 96,4060 -#define BA0_SERBAD 97,4119 -#define BA0_SERBCF 98,4178 -#define BA0_SERBWP 99,4237 -#define BA0_SERBRP 100,4296 -#define BA0_ASER_FADDR 102,4373 -#define BA0_ACCTL 104,4439 -#define BA0_ACSTS 105,4498 -#define BA0_ACOSV 106,4557 -#define BA0_ACCAD 107,4616 -#define BA0_ACCDA 108,4675 -#define BA0_ACISV 109,4734 -#define BA0_ACSAD 110,4793 -#define BA0_ACSDA 111,4852 -#define BA0_JSPT 112,4911 -#define BA0_JSCTL 113,4970 -#define BA0_JSC1 114,5029 -#define BA0_JSC2 115,5088 -#define BA0_MIDCR 116,5147 -#define BA0_MIDSR 117,5206 -#define BA0_MIDWP 118,5265 -#define BA0_MIDRP 119,5324 -#define BA0_JSIO 120,5383 -#define BA0_ASER_MASTER 122,5460 -#define BA0_CFGI 124,5526 -#define BA0_SSVID 125,5585 -#define BA0_GPIOR 126,5644 -#define BA0_EGPIODR 128,5721 -#define BA0_EGPIOPTR 129,5780 -#define BA0_EGPIOTR 130,5839 -#define BA0_EGPIOWR 131,5898 -#define BA0_EGPIOSR 132,5957 -#define BA0_SERC6 133,6016 -#define BA0_SERC7 134,6075 -#define BA0_SERACC 135,6134 -#define BA0_ACCTL2 136,6193 -#define BA0_ACSTS2 137,6252 -#define BA0_ACOSV2 138,6311 -#define BA0_ACCAD2 139,6370 -#define BA0_ACCDA2 140,6429 -#define BA0_ACISV2 141,6488 -#define BA0_ACSAD2 142,6547 -#define BA0_ACSDA2 143,6606 -#define BA0_IOTAC0 144,6665 -#define BA0_IOTAC1 145,6724 -#define BA0_IOTAC2 146,6783 -#define BA0_IOTAC3 147,6842 -#define BA0_IOTAC4 148,6901 -#define BA0_IOTAC5 149,6960 -#define BA0_IOTAC6 150,7019 -#define BA0_IOTAC7 151,7078 -#define BA0_IOTAC8 152,7137 -#define BA0_IOTAC9 153,7196 -#define BA0_IOTAC10 154,7255 -#define BA0_IOTAC11 155,7314 -#define BA0_IOTFR0 156,7373 -#define BA0_IOTFR1 157,7432 -#define BA0_IOTFR2 158,7491 -#define BA0_IOTFR3 159,7550 -#define BA0_IOTFR4 160,7609 -#define BA0_IOTFR5 161,7668 -#define BA0_IOTFR6 162,7727 -#define BA0_IOTFR7 163,7786 -#define BA0_IOTFIFO 164,7845 -#define BA0_IOTRRD 165,7904 -#define BA0_IOTFP 166,7963 -#define BA0_IOTCR 167,8022 -#define BA0_DPCID 168,8081 -#define BA0_DPCIA 169,8140 -#define BA0_DPCIC 170,8199 -#define BA0_PCPCIR 171,8258 -#define BA0_PCPCIG 172,8317 -#define BA0_PCPCIEN 173,8376 -#define BA0_EPCIPMC 174,8435 -#define BA1_SP_DMEM0 181,8639 -#define BA1_SP_DMEM1 182,8698 -#define BA1_SP_PMEM 183,8757 -#define BA1_SP_REG 184,8816 -#define BA1_SPCR 185,8849 -#define BA1_DREG 186,8908 -#define BA1_DSRWP 187,8967 -#define BA1_TWPR 188,9026 -#define BA1_SPWR 189,9085 -#define BA1_SPIR 190,9144 -#define BA1_FGR1 191,9203 -#define BA1_SPCS 192,9262 -#define BA1_SDSR 193,9321 -#define BA1_FRMT 194,9380 -#define BA1_FRCC 195,9439 -#define BA1_FRSC 196,9498 -#define BA1_OMNI_MEM 197,9557 -#define HISR_VC_MASK 204,9712 -#define HISR_VC0 205,9771 -#define HISR_VC1 206,9830 -#define HISR_VC2 207,9889 -#define HISR_VC3 208,9948 -#define HISR_VC4 209,10007 -#define HISR_VC5 210,10066 -#define HISR_VC6 211,10125 -#define HISR_VC7 212,10184 -#define HISR_VC8 213,10243 -#define HISR_VC9 214,10302 -#define HISR_VC10 215,10361 -#define HISR_VC11 216,10420 -#define HISR_VC12 217,10479 -#define HISR_VC13 218,10538 -#define HISR_VC14 219,10597 -#define HISR_VC15 220,10656 -#define HISR_INT0 221,10715 -#define HISR_INT1 222,10774 -#define HISR_DMAI 223,10833 -#define HISR_FROVR 224,10892 -#define HISR_MIDI 225,10951 -#define HISR_RESERVED 227,11027 -#define HISR_SBINT 229,11092 -#define HISR_RESERVED 230,11151 -#define HISR_H0P 232,11217 -#define HISR_INTENA 233,11276 -#define HSR0_VC_MASK 238,11418 -#define HSR0_VC16 239,11477 -#define HSR0_VC17 240,11536 -#define HSR0_VC18 241,11595 -#define HSR0_VC19 242,11654 -#define HSR0_VC20 243,11713 -#define HSR0_VC21 244,11772 -#define HSR0_VC22 245,11831 -#define HSR0_VC23 246,11890 -#define HSR0_VC24 247,11949 -#define HSR0_VC25 248,12008 -#define HSR0_VC26 249,12067 -#define HSR0_VC27 250,12126 -#define HSR0_VC28 251,12185 -#define HSR0_VC29 252,12244 -#define HSR0_VC30 253,12303 -#define HSR0_VC31 254,12362 -#define HSR0_VC32 255,12421 -#define HSR0_VC33 256,12480 -#define HSR0_VC34 257,12539 -#define HSR0_VC35 258,12598 -#define HSR0_VC36 259,12657 -#define HSR0_VC37 260,12716 -#define HSR0_VC38 261,12775 -#define HSR0_VC39 262,12834 -#define HSR0_VC40 263,12893 -#define HSR0_VC41 264,12952 -#define HSR0_VC42 265,13011 -#define HSR0_VC43 266,13070 -#define HSR0_VC44 267,13129 -#define HSR0_VC45 268,13188 -#define HSR0_VC46 269,13247 -#define HSR0_VC47 270,13306 -#define HICR_IEV 276,13461 -#define HICR_CHGM 277,13520 -#define DMSR_HP 282,13659 -#define DMSR_HR 283,13718 -#define DMSR_SP 284,13777 -#define DMSR_SR 285,13836 -#define HSAR_HOST_ADDR_MASK 291,13992 -#define HSAR_DSP_ADDR_MASK 292,14051 -#define HSAR_MEMID_MASK 293,14110 -#define HSAR_MEMID_SP_DMEM0 294,14169 -#define HSAR_MEMID_SP_DMEM1 295,14228 -#define HSAR_MEMID_SP_PMEM 296,14287 -#define HSAR_MEMID_SP_DEBUG 297,14346 -#define HSAR_MEMID_OMNI_MEM 298,14405 -#define HSAR_END 299,14464 -#define HSAR_ERR 300,14523 -#define HDAR_HOST_ADDR_MASK 306,14684 -#define HDAR_DSP_ADDR_MASK 307,14743 -#define HDAR_MEMID_MASK 308,14802 -#define HDAR_MEMID_SP_DMEM0 309,14861 -#define HDAR_MEMID_SP_DMEM1 310,14920 -#define HDAR_MEMID_SP_PMEM 311,14979 -#define HDAR_MEMID_SP_DEBUG 312,15038 -#define HDAR_MEMID_OMNI_MEM 313,15097 -#define HDAR_END 314,15156 -#define HDAR_ERR 315,15215 -#define HDMR_AC_MASK 320,15360 -#define HDMR_AC_8_16 321,15419 -#define HDMR_AC_M_S 322,15478 -#define HDMR_AC_B_L 323,15537 -#define HDMR_AC_S_U 324,15596 -#define HDCR_COUNT_MASK 329,15741 -#define HDCR_DONE 330,15800 -#define HDCR_OPT 331,15859 -#define HDCR_WBD 332,15918 -#define HDCR_WBS 333,15977 -#define HDCR_DMS_MASK 334,16036 -#define HDCR_DMS_LINEAR 335,16095 -#define HDCR_DMS_16_DWORDS 336,16154 -#define HDCR_DMS_32_DWORDS 337,16213 -#define HDCR_DMS_64_DWORDS 338,16272 -#define HDCR_DMS_128_DWORDS 339,16331 -#define HDCR_DMS_256_DWORDS 340,16390 -#define HDCR_DMS_512_DWORDS 341,16449 -#define HDCR_DMS_1024_DWORDS 342,16508 -#define HDCR_DH 343,16567 -#define HDCR_SMS_MASK 344,16626 -#define HDCR_SMS_LINEAR 345,16685 -#define HDCR_SMS_16_DWORDS 346,16744 -#define HDCR_SMS_32_DWORDS 347,16803 -#define HDCR_SMS_64_DWORDS 348,16862 -#define HDCR_SMS_128_DWORDS 349,16921 -#define HDCR_SMS_256_DWORDS 350,16980 -#define HDCR_SMS_512_DWORDS 351,17039 -#define HDCR_SMS_1024_DWORDS 352,17098 -#define HDCR_SH 353,17157 -#define HDCR_COUNT_SHIFT 354,17216 -#define PFMC_C1SS_MASK 360,17367 -#define PFMC_C1EV 361,17426 -#define PFMC_C1RS 362,17485 -#define PFMC_C2SS_MASK 363,17544 -#define PFMC_C2EV 364,17603 -#define PFMC_C2RS 365,17662 -#define PFMC_C1SS_SHIFT 366,17721 -#define PFMC_C2SS_SHIFT 367,17771 -#define PFMC_BUS_GRANT 368,17822 -#define PFMC_GRANT_AFTER_REQ 369,17872 -#define PFMC_TRANSACTION 370,17922 -#define PFMC_DWORD_TRANSFER 371,17972 -#define PFMC_SLAVE_READ 372,18022 -#define PFMC_SLAVE_WRITE 373,18072 -#define PFMC_PREEMPTION 374,18122 -#define PFMC_DISCONNECT_RETRY 375,18172 -#define PFMC_INTERRUPT 376,18222 -#define PFMC_BUS_OWNERSHIP 377,18272 -#define PFMC_TRANSACTION_LAG 378,18322 -#define PFMC_PCI_CLOCK 379,18373 -#define PFMC_SERIAL_CLOCK 380,18424 -#define PFMC_SP_CLOCK 381,18475 -#define PFCV1_PC1V_MASK 387,18627 -#define PFCV1_PC1V_SHIFT 388,18686 -#define PFCV2_PC2V_MASK 394,18837 -#define PFCV2_PC2V_SHIFT 395,18896 -#define CLKCR1_OSCS 400,19031 -#define CLKCR1_OSCP 401,19090 -#define CLKCR1_PLLSS_MASK 402,19149 -#define CLKCR1_PLLSS_SERIAL 403,19208 -#define CLKCR1_PLLSS_CRYSTAL 404,19267 -#define CLKCR1_PLLSS_PCI 405,19326 -#define CLKCR1_PLLSS_RESERVED 406,19385 -#define CLKCR1_PLLP 407,19444 -#define CLKCR1_SWCE 408,19503 -#define CLKCR1_PLLOS 409,19562 -#define CLKCR2_PDIVS_MASK 414,19706 -#define CLKCR2_PDIVS_1 415,19765 -#define CLKCR2_PDIVS_2 416,19824 -#define CLKCR2_PDIVS_4 417,19883 -#define CLKCR2_PDIVS_7 418,19942 -#define CLKCR2_PDIVS_8 419,20001 -#define CLKCR2_PDIVS_16 420,20060 -#define PLLM_MASK 425,20203 -#define PLLM_SHIFT 426,20262 -#define PLLCC_CDR_MASK 432,20411 -#define PLLCC_CDR_240_350_MHZ 434,20488 -#define PLLCC_CDR_184_265_MHZ 435,20547 -#define PLLCC_CDR_144_205_MHZ 436,20606 -#define PLLCC_CDR_111_160_MHZ 437,20665 -#define PLLCC_CDR_87_123_MHZ 438,20724 -#define PLLCC_CDR_67_96_MHZ 439,20783 -#define PLLCC_CDR_52_74_MHZ 440,20842 -#define PLLCC_CDR_45_58_MHZ 441,20901 -#define PLLCC_CDR_271_398_MHZ 444,20985 -#define PLLCC_CDR_227_330_MHZ 445,21044 -#define PLLCC_CDR_167_239_MHZ 446,21103 -#define PLLCC_CDR_150_215_MHZ 447,21162 -#define PLLCC_CDR_107_154_MHZ 448,21221 -#define PLLCC_CDR_98_140_MHZ 449,21280 -#define PLLCC_CDR_73_104_MHZ 450,21339 -#define PLLCC_CDR_63_90_MHZ 451,21398 -#define PLLCC_LPF_MASK 453,21464 -#define PLLCC_LPF_23850_60000_KHZ 455,21541 -#define PLLCC_LPF_7960_26290_KHZ 456,21600 -#define PLLCC_LPF_4160_10980_KHZ 457,21659 -#define PLLCC_LPF_1740_4580_KHZ 458,21718 -#define PLLCC_LPF_724_1910_KHZ 459,21777 -#define PLLCC_LPF_317_798_KHZ 460,21836 -#define PLLCC_LPF_25580_64530_KHZ 463,21920 -#define PLLCC_LPF_14360_37270_KHZ 464,21979 -#define PLLCC_LPF_6100_16020_KHZ 465,22038 -#define PLLCC_LPF_2540_6690_KHZ 466,22097 -#define PLLCC_LPF_1050_2780_KHZ 467,22156 -#define PLLCC_LPF_450_1160_KHZ 468,22215 -#define FRR_FAB_MASK 474,22368 -#define FRR_MASK_MASK 475,22427 -#define FRR_CFOP_MASK 477,22503 -#define FRR_CFOP_MASK 479,22568 -#define FRR_CFOP_NOT_DVD 481,22634 -#define FRR_CFOP_A3D 482,22693 -#define FRR_CFOP_128_PIN 483,22752 -#define FRR_CFOP_CS4280 485,22829 -#define FRR_FAB_SHIFT 487,22895 -#define FRR_MASK_SHIFT 488,22945 -#define FRR_CFOP_SHIFT 489,22995 -#define CFL1_CLOCK_SOURCE_MASK 495,23139 -#define CFL1_CLOCK_SOURCE_CS423X 496,23198 -#define CFL1_CLOCK_SOURCE_AC97 497,23257 -#define CFL1_CLOCK_SOURCE_CRYSTAL 498,23316 -#define CFL1_CLOCK_SOURCE_DUAL_AC97 499,23375 -#define CFL1_VALID_DATA_MASK 500,23434 -#define CFL2_VALID_DATA_MASK 506,23587 -#define SERMC1_MSPE 512,23748 -#define SERMC1_PTC_MASK 513,23807 -#define SERMC1_PTC_CS423X 514,23866 -#define SERMC1_PTC_AC97 515,23925 -#define SERMC1_PTC_DAC 516,23984 -#define SERMC1_PLB 517,24043 -#define SERMC1_XLB 518,24102 -#define SERMC2_LROE 524,24263 -#define SERMC2_MCOE 525,24322 -#define SERMC2_MCDIV 526,24381 -#define SERC1_SO1EN 532,24541 -#define SERC1_SO1F_MASK 533,24600 -#define SERC1_SO1F_CS423X 534,24659 -#define SERC1_SO1F_AC97 535,24718 -#define SERC1_SO1F_DAC 536,24777 -#define SERC1_SO1F_SPDIF 537,24836 -#define SERC2_SI1EN 543,24996 -#define SERC2_SI1F_MASK 544,25055 -#define SERC2_SI1F_CS423X 545,25114 -#define SERC2_SI1F_AC97 546,25173 -#define SERC2_SI1F_ADC 547,25232 -#define SERC2_SI1F_SPDIF 548,25291 -#define SERC3_SO2EN 554,25451 -#define SERC3_SO2F_MASK 555,25510 -#define SERC3_SO2F_DAC 556,25569 -#define SERC3_SO2F_SPDIF 557,25628 -#define SERC4_SO3EN 563,25788 -#define SERC4_SO3F_MASK 564,25847 -#define SERC4_SO3F_DAC 565,25906 -#define SERC4_SO3F_SPDIF 566,25965 -#define SERC5_SI2EN 572,26125 -#define SERC5_SI2F_MASK 573,26184 -#define SERC5_SI2F_ADC 574,26243 -#define SERC5_SI2F_SPDIF 575,26302 -#define SERBSP_FSP_MASK 581,26470 -#define SERBSP_FSP_SHIFT 582,26529 -#define SERBST_RRDY 588,26680 -#define SERBST_WBSY 589,26739 -#define SERBCM_RDC 595,26900 -#define SERBCM_WRC 596,26959 -#define SERBAD_FAD_MASK 603,27137 -#define SERBAD_FAD_MASK 605,27202 -#define SERBAD_FAD_SHIFT 607,27268 -#define SERBCF_HBP 613,27426 -#define SERBWP_FWD_MASK 619,27590 -#define SERBWP_FWD_SHIFT 620,27649 -#define SERBRP_FRD_MASK 626,27803 -#define SERBRP_FRD_SHIFT 627,27862 -#define ASER_FADDR_A1_MASK 633,28018 -#define ASER_FADDR_EN1 634,28077 -#define ASER_FADDR_A2_MASK 635,28136 -#define ASER_FADDR_EN2 636,28195 -#define ASER_FADDR_A1_SHIFT 637,28254 -#define ASER_FADDR_A2_SHIFT 638,28304 -#define ACCTL_RSTN 644,28444 -#define ACCTL_ESYN 645,28503 -#define ACCTL_VFRM 646,28562 -#define ACCTL_DCV 647,28621 -#define ACCTL_CRW 648,28680 -#define ACCTL_ASYN 649,28739 -#define ACCTL_TC 651,28816 -#define ACSTS_CRDY 657,28963 -#define ACSTS_VSTS 658,29022 -#define ACSTS_WKUP 660,29099 -#define ACOSV_SLV3 667,29261 -#define ACOSV_SLV4 668,29320 -#define ACOSV_SLV5 669,29379 -#define ACOSV_SLV6 670,29438 -#define ACOSV_SLV7 671,29497 -#define ACOSV_SLV8 672,29556 -#define ACOSV_SLV9 673,29615 -#define ACOSV_SLV10 674,29674 -#define ACOSV_SLV11 675,29733 -#define ACOSV_SLV12 676,29792 -#define ACCAD_CI_MASK 682,29945 -#define ACCAD_CI_SHIFT 683,30004 -#define ACCDA_CD_MASK 688,30141 -#define ACCDA_CD_SHIFT 689,30200 -#define ACISV_ISV3 695,30345 -#define ACISV_ISV4 696,30404 -#define ACISV_ISV5 697,30463 -#define ACISV_ISV6 698,30522 -#define ACISV_ISV7 699,30581 -#define ACISV_ISV8 700,30640 -#define ACISV_ISV9 701,30699 -#define ACISV_ISV10 702,30758 -#define ACISV_ISV11 703,30817 -#define ACISV_ISV12 704,30876 -#define ACSAD_SI_MASK 710,31028 -#define ACSAD_SI_SHIFT 711,31087 -#define ACSDA_SD_MASK 716,31223 -#define ACSDA_SD_SHIFT 717,31282 -#define JSPT_CAX 723,31427 -#define JSPT_CAY 724,31486 -#define JSPT_CBX 725,31545 -#define JSPT_CBY 726,31604 -#define JSPT_BA1 727,31663 -#define JSPT_BA2 728,31722 -#define JSPT_BB1 729,31781 -#define JSPT_BB2 730,31840 -#define JSCTL_SP_MASK 735,31985 -#define JSCTL_SP_SLOW 736,32044 -#define JSCTL_SP_MEDIUM_SLOW 737,32103 -#define JSCTL_SP_MEDIUM_FAST 738,32162 -#define JSCTL_SP_FAST 739,32221 -#define JSCTL_ARE 740,32280 -#define JSC1_Y1V_MASK 746,32448 -#define JSC1_X1V_MASK 747,32507 -#define JSC1_Y1V_SHIFT 748,32566 -#define JSC1_X1V_SHIFT 749,32616 -#define JSC2_Y2V_MASK 755,32776 -#define JSC2_X2V_MASK 756,32835 -#define JSC2_Y2V_SHIFT 757,32894 -#define JSC2_X2V_SHIFT 758,32944 -#define MIDCR_TXE 763,33077 -#define MIDCR_RXE 764,33163 -#define MIDCR_RIE 765,33246 -#define MIDCR_TIE 766,33336 -#define MIDCR_MLB 767,33426 -#define MIDCR_MRST 768,33513 -#define MIDSR_TBF 773,33676 -#define MIDSR_RBE 774,33758 -#define MIDWP_MWD_MASK 779,33926 -#define MIDWP_MWD_SHIFT 780,33985 -#define MIDRP_MRD_MASK 785,34119 -#define MIDRP_MRD_SHIFT 786,34178 -#define JSIO_DAX 791,34311 -#define JSIO_DAY 792,34370 -#define JSIO_DBX 793,34429 -#define JSIO_DBY 794,34488 -#define JSIO_AXOE 795,34547 -#define JSIO_AYOE 796,34606 -#define JSIO_BXOE 797,34665 -#define JSIO_BYOE 798,34724 -#define ASER_MASTER_ME 805,34911 -#define CFGI_CLK 812,35074 -#define CFGI_DOUT 813,35133 -#define CFGI_DIN_EEN 814,35192 -#define CFGI_EELD 815,35251 -#define SSVID_VID_MASK 821,35410 -#define SSVID_SID_MASK 822,35469 -#define SSVID_VID_SHIFT 823,35528 -#define SSVID_SID_SHIFT 824,35578 -#define GPIOR_VOLDN 829,35717 -#define GPIOR_VOLUP 830,35776 -#define GPIOR_SI2D 831,35835 -#define GPIOR_SI2OE 832,35894 -#define EGPIODR_GPOE0 839,36072 -#define EGPIODR_GPOE1 840,36131 -#define EGPIODR_GPOE2 841,36190 -#define EGPIODR_GPOE3 842,36249 -#define EGPIODR_GPOE4 843,36308 -#define EGPIODR_GPOE5 844,36367 -#define EGPIODR_GPOE6 845,36426 -#define EGPIODR_GPOE7 846,36485 -#define EGPIODR_GPOE8 847,36544 -#define EGPIOPTR_GPPT0 855,36734 -#define EGPIOPTR_GPPT1 856,36793 -#define EGPIOPTR_GPPT2 857,36852 -#define EGPIOPTR_GPPT3 858,36911 -#define EGPIOPTR_GPPT4 859,36970 -#define EGPIOPTR_GPPT5 860,37029 -#define EGPIOPTR_GPPT6 861,37088 -#define EGPIOPTR_GPPT7 862,37147 -#define EGPIOPTR_GPPT8 863,37206 -#define EGPIOTR_GPS0 871,37388 -#define EGPIOTR_GPS1 872,37447 -#define EGPIOTR_GPS2 873,37506 -#define EGPIOTR_GPS3 874,37565 -#define EGPIOTR_GPS4 875,37624 -#define EGPIOTR_GPS5 876,37683 -#define EGPIOTR_GPS6 877,37742 -#define EGPIOTR_GPS7 878,37801 -#define EGPIOTR_GPS8 879,37860 -#define EGPIOWR_GPW0 887,38043 -#define EGPIOWR_GPW1 888,38102 -#define EGPIOWR_GPW2 889,38161 -#define EGPIOWR_GPW3 890,38220 -#define EGPIOWR_GPW4 891,38279 -#define EGPIOWR_GPW5 892,38338 -#define EGPIOWR_GPW6 893,38397 -#define EGPIOWR_GPW7 894,38456 -#define EGPIOWR_GPW8 895,38515 -#define EGPIOSR_GPS0 903,38697 -#define EGPIOSR_GPS1 904,38756 -#define EGPIOSR_GPS2 905,38815 -#define EGPIOSR_GPS3 906,38874 -#define EGPIOSR_GPS4 907,38933 -#define EGPIOSR_GPS5 908,38992 -#define EGPIOSR_GPS6 909,39051 -#define EGPIOSR_GPS7 910,39110 -#define EGPIOSR_GPS8 911,39169 -#define SERC6_ASDO2EN 919,39354 -#define SERC7_ASDI2EN 927,39539 -#define SERC7_POSILB 928,39598 -#define SERC7_SIPOLB 929,39657 -#define SERC7_SOSILB 930,39716 -#define SERC7_SISOLB 931,39775 -#define SERACC_CHIP_TYPE_MASK 939,39966 -#define SERACC_CHIP_TYPE_1_03 940,40024 -#define SERACC_CHIP_TYPE_2_0 941,40082 -#define SERACC_TWO_CODECS 942,40140 -#define SERACC_MDM 943,40198 -#define SERACC_HSP 944,40256 -#define SERACC_ODT 945,40314 -#define ACCTL2_RSTN 952,40499 -#define ACCTL2_ESYN 953,40558 -#define ACCTL2_VFRM 954,40617 -#define ACCTL2_DCV 955,40676 -#define ACCTL2_CRW 956,40735 -#define ACCTL2_ASYN 957,40794 -#define ACSTS2_CRDY 964,40961 -#define ACSTS2_VSTS 965,41020 -#define ACOSV2_SLV3 973,41202 -#define ACOSV2_SLV4 974,41261 -#define ACOSV2_SLV5 975,41320 -#define ACOSV2_SLV6 976,41379 -#define ACOSV2_SLV7 977,41438 -#define ACOSV2_SLV8 978,41497 -#define ACOSV2_SLV9 979,41556 -#define ACOSV2_SLV10 980,41615 -#define ACOSV2_SLV11 981,41674 -#define ACOSV2_SLV12 982,41733 -#define ACCAD2_CI_MASK 990,41913 -#define ACCAD2_CI_SHIFT 991,41972 -#define ACCDA2_CD_MASK 999,42140 -#define ACCDA2_CD_SHIFT 1000,42199 -#define ACISV2_ISV3 1008,42373 -#define ACISV2_ISV4 1009,42432 -#define ACISV2_ISV5 1010,42491 -#define ACISV2_ISV6 1011,42550 -#define ACISV2_ISV7 1012,42609 -#define ACISV2_ISV8 1013,42668 -#define ACISV2_ISV9 1014,42727 -#define ACISV2_ISV10 1015,42786 -#define ACISV2_ISV11 1016,42845 -#define ACISV2_ISV12 1017,42904 -#define ACSAD2_SI_MASK 1025,43083 -#define ACSAD2_SI_SHIFT 1026,43142 -#define ACSDA2_SD_MASK 1033,43305 -#define ACSDA2_SD_SHIFT 1034,43364 -#define IOTAC_SA_MASK 1042,43551 -#define IOTAC_MSK_MASK 1043,43610 -#define IOTAC_IODC_MASK 1044,43669 -#define IOTAC_IODC_16_BIT 1045,43728 -#define IOTAC_IODC_10_BIT 1046,43787 -#define IOTAC_IODC_12_BIT 1047,43846 -#define IOTAC_WSPI 1048,43905 -#define IOTAC_RSPI 1049,43964 -#define IOTAC_WSE 1050,44023 -#define IOTAC_WE 1051,44082 -#define IOTAC_RE 1052,44141 -#define IOTAC_SA_SHIFT 1053,44200 -#define IOTAC_MSK_SHIFT 1054,44250 -#define IOTFR_D_MASK 1062,44427 -#define IOTFR_A_MASK 1063,44486 -#define IOTFR_R_MASK 1064,44545 -#define IOTFR_ALL 1065,44604 -#define IOTFR_VL 1066,44663 -#define IOTFR_D_SHIFT 1067,44722 -#define IOTFR_A_SHIFT 1068,44772 -#define IOTFR_R_SHIFT 1069,44823 -#define IOTFIFO_BA_MASK 1076,44982 -#define IOTFIFO_S_MASK 1077,45041 -#define IOTFIFO_OF 1078,45100 -#define IOTFIFO_SPIOF 1079,45159 -#define IOTFIFO_BA_SHIFT 1080,45218 -#define IOTFIFO_S_SHIFT 1081,45268 -#define IOTRRD_D_MASK 1089,45442 -#define IOTRRD_RDV 1090,45501 -#define IOTRRD_D_SHIFT 1091,45560 -#define IOTFP_CA_MASK 1099,45730 -#define IOTFP_PA_MASK 1100,45789 -#define IOTFP_CA_SHIFT 1101,45848 -#define IOTFP_PA_SHIFT 1102,45898 -#define IOTCR_ITD 1109,46060 -#define IOTCR_HRV 1110,46119 -#define IOTCR_SRV 1111,46178 -#define IOTCR_DTI 1112,46237 -#define IOTCR_DFI 1113,46296 -#define IOTCR_DDP 1114,46355 -#define IOTCR_JTE 1115,46414 -#define IOTCR_PPE 1116,46473 -#define DPCID_D_MASK 1123,46642 -#define DPCID_D_SHIFT 1124,46701 -#define DPCIA_A_MASK 1131,46864 -#define DPCIA_A_SHIFT 1132,46923 -#define DPCIC_C_MASK 1139,47086 -#define DPCIC_C_IOREAD 1140,47145 -#define DPCIC_C_IOWRITE 1141,47204 -#define DPCIC_BE_MASK 1142,47263 -#define PCPCIR_RDC_MASK 1149,47431 -#define PCPCIR_C_MASK 1150,47490 -#define PCPCIR_REQ 1151,47549 -#define PCPCIR_RDC_SHIFT 1152,47608 -#define PCPCIR_C_SHIFT 1153,47658 -#define PCPCIG_GDC_MASK 1160,47817 -#define PCPCIG_VL 1161,47876 -#define PCPCIG_GDC_SHIFT 1162,47935 -#define PCPCIEN_EN 1170,48104 -#define EPCIPMC_GWU 1178,48299 -#define EPCIPMC_FSPC 1179,48358 -#define SPCR_RUN 1185,48505 -#define SPCR_STPFR 1186,48564 -#define SPCR_RUNFR 1187,48623 -#define SPCR_TICK 1188,48682 -#define SPCR_DRQEN 1189,48741 -#define SPCR_RSTSP 1190,48800 -#define SPCR_OREN 1191,48859 -#define SPCR_PCIINT 1193,48936 -#define SPCR_OINTD 1194,48995 -#define SPCR_CRE 1195,49054 -#define DREG_REGID_MASK 1201,49201 -#define DREG_DEBUG 1202,49260 -#define DREG_RGBK_MASK 1203,49319 -#define DREG_TRAP 1204,49378 -#define DREG_TRAPX 1207,49485 -#define DREG_REGID_SHIFT 1210,49558 -#define DREG_RGBK_SHIFT 1211,49608 -#define DREG_RGBK_REGID_MASK 1212,49658 -#define DREG_REGID_R0 1213,49717 -#define DREG_REGID_R1 1214,49776 -#define DREG_REGID_R2 1215,49835 -#define DREG_REGID_R3 1216,49894 -#define DREG_REGID_R4 1217,49953 -#define DREG_REGID_R5 1218,50012 -#define DREG_REGID_R6 1219,50071 -#define DREG_REGID_R7 1220,50130 -#define DREG_REGID_R8 1221,50189 -#define DREG_REGID_R9 1222,50248 -#define DREG_REGID_RA 1223,50307 -#define DREG_REGID_RB 1224,50366 -#define DREG_REGID_RC 1225,50425 -#define DREG_REGID_RD 1226,50484 -#define DREG_REGID_RE 1227,50543 -#define DREG_REGID_RF 1228,50602 -#define DREG_REGID_RA_BUS_LOW 1229,50661 -#define DREG_REGID_RA_BUS_HIGH 1230,50720 -#define DREG_REGID_YBUS_LOW 1231,50779 -#define DREG_REGID_YBUS_HIGH 1232,50838 -#define DREG_REGID_TRAP_0 1233,50897 -#define DREG_REGID_TRAP_1 1234,50956 -#define DREG_REGID_TRAP_2 1235,51015 -#define DREG_REGID_TRAP_3 1236,51074 -#define DREG_REGID_TRAP_4 1237,51133 -#define DREG_REGID_TRAP_5 1238,51192 -#define DREG_REGID_TRAP_6 1239,51251 -#define DREG_REGID_TRAP_7 1240,51310 -#define DREG_REGID_INDIRECT_ADDRESS 1241,51369 -#define DREG_REGID_TOP_OF_STACK 1242,51428 -#define DREG_REGID_TRAP_8 1245,51535 -#define DREG_REGID_TRAP_9 1246,51594 -#define DREG_REGID_TRAP_10 1247,51653 -#define DREG_REGID_TRAP_11 1248,51712 -#define DREG_REGID_TRAP_12 1249,51771 -#define DREG_REGID_TRAP_13 1250,51830 -#define DREG_REGID_TRAP_14 1251,51889 -#define DREG_REGID_TRAP_15 1252,51948 -#define DREG_REGID_TRAP_16 1253,52007 -#define DREG_REGID_TRAP_17 1254,52066 -#define DREG_REGID_TRAP_18 1255,52125 -#define DREG_REGID_TRAP_19 1256,52184 -#define DREG_REGID_TRAP_20 1257,52243 -#define DREG_REGID_TRAP_21 1258,52302 -#define DREG_REGID_TRAP_22 1259,52361 -#define DREG_REGID_TRAP_23 1260,52420 -#define DREG_REGID_RSA0_LOW 1263,52493 -#define DREG_REGID_RSA0_HIGH 1264,52552 -#define DREG_REGID_RSA1_LOW 1265,52611 -#define DREG_REGID_RSA1_HIGH 1266,52670 -#define DREG_REGID_RSA2 1267,52729 -#define DREG_REGID_RSA3 1268,52788 -#define DREG_REGID_RSI0_LOW 1269,52847 -#define DREG_REGID_RSI0_HIGH 1270,52906 -#define DREG_REGID_RSI1 1271,52965 -#define DREG_REGID_RSI2 1272,53024 -#define DREG_REGID_SAGUSTATUS 1273,53083 -#define DREG_REGID_RSCONFIG01_LOW 1274,53142 -#define DREG_REGID_RSCONFIG01_HIGH 1275,53201 -#define DREG_REGID_RSCONFIG23_LOW 1276,53260 -#define DREG_REGID_RSCONFIG23_HIGH 1277,53319 -#define DREG_REGID_RSDMA01E 1278,53378 -#define DREG_REGID_RSDMA23E 1279,53437 -#define DREG_REGID_RSD0_LOW 1280,53496 -#define DREG_REGID_RSD0_HIGH 1281,53555 -#define DREG_REGID_RSD1_LOW 1282,53614 -#define DREG_REGID_RSD1_HIGH 1283,53673 -#define DREG_REGID_RSD2_LOW 1284,53732 -#define DREG_REGID_RSD2_HIGH 1285,53791 -#define DREG_REGID_RSD3_LOW 1286,53850 -#define DREG_REGID_RSD3_HIGH 1287,53909 -#define DREG_REGID_SRAR_HIGH 1288,53968 -#define DREG_REGID_SRAR_LOW 1289,54027 -#define DREG_REGID_DMA_STATE 1290,54086 -#define DREG_REGID_CURRENT_DMA_STREAM 1291,54145 -#define DREG_REGID_NEXT_DMA_STREAM 1292,54204 -#define DREG_REGID_CPU_STATUS 1293,54263 -#define DREG_REGID_MAC_MODE 1294,54322 -#define DREG_REGID_STACK_AND_REPEAT 1295,54381 -#define DREG_REGID_INDEX0 1296,54440 -#define DREG_REGID_INDEX1 1297,54499 -#define DREG_REGID_DMA_STATE_0_3 1298,54558 -#define DREG_REGID_DMA_STATE_4_7 1299,54617 -#define DREG_REGID_DMA_STATE_8_11 1300,54676 -#define DREG_REGID_DMA_STATE_12_15 1301,54735 -#define DREG_REGID_DMA_STATE_16_19 1302,54794 -#define DREG_REGID_DMA_STATE_20_23 1303,54853 -#define DREG_REGID_DMA_STATE_24_27 1304,54912 -#define DREG_REGID_DMA_STATE_28_31 1305,54971 -#define DREG_REGID_DMA_STATE_32_35 1306,55030 -#define DREG_REGID_DMA_STATE_36_39 1307,55089 -#define DREG_REGID_DMA_STATE_40_43 1308,55148 -#define DREG_REGID_DMA_STATE_44_47 1309,55207 -#define DREG_REGID_DMA_STATE_48_51 1310,55266 -#define DREG_REGID_DMA_STATE_52_55 1311,55325 -#define DREG_REGID_DMA_STATE_56_59 1312,55384 -#define DREG_REGID_DMA_STATE_60_63 1313,55443 -#define DREG_REGID_DMA_STATE_64_67 1314,55502 -#define DREG_REGID_DMA_STATE_68_71 1315,55561 -#define DREG_REGID_DMA_STATE_72_75 1316,55620 -#define DREG_REGID_DMA_STATE_76_79 1317,55679 -#define DREG_REGID_DMA_STATE_80_83 1318,55738 -#define DREG_REGID_DMA_STATE_84_87 1319,55797 -#define DREG_REGID_DMA_STATE_88_91 1320,55856 -#define DREG_REGID_DMA_STATE_92_95 1321,55915 -#define DREG_REGID_TRAP_SELECT 1322,55974 -#define DREG_REGID_TRAP_WRITE_0 1323,56033 -#define DREG_REGID_TRAP_WRITE_1 1324,56092 -#define DREG_REGID_TRAP_WRITE_2 1325,56151 -#define DREG_REGID_TRAP_WRITE_3 1326,56210 -#define DREG_REGID_TRAP_WRITE_4 1327,56269 -#define DREG_REGID_TRAP_WRITE_5 1328,56328 -#define DREG_REGID_TRAP_WRITE_6 1329,56387 -#define DREG_REGID_TRAP_WRITE_7 1330,56446 -#define DREG_REGID_TRAP_WRITE_8 1333,56553 -#define DREG_REGID_TRAP_WRITE_9 1334,56612 -#define DREG_REGID_TRAP_WRITE_10 1335,56671 -#define DREG_REGID_TRAP_WRITE_11 1336,56730 -#define DREG_REGID_TRAP_WRITE_12 1337,56789 -#define DREG_REGID_TRAP_WRITE_13 1338,56848 -#define DREG_REGID_TRAP_WRITE_14 1339,56907 -#define DREG_REGID_TRAP_WRITE_15 1340,56966 -#define DREG_REGID_TRAP_WRITE_16 1341,57025 -#define DREG_REGID_TRAP_WRITE_17 1342,57084 -#define DREG_REGID_TRAP_WRITE_18 1343,57143 -#define DREG_REGID_TRAP_WRITE_19 1344,57202 -#define DREG_REGID_TRAP_WRITE_20 1345,57261 -#define DREG_REGID_TRAP_WRITE_21 1346,57320 -#define DREG_REGID_TRAP_WRITE_22 1347,57379 -#define DREG_REGID_TRAP_WRITE_23 1348,57438 -#define DREG_REGID_MAC0_ACC0_LOW 1351,57511 -#define DREG_REGID_MAC0_ACC1_LOW 1352,57570 -#define DREG_REGID_MAC0_ACC2_LOW 1353,57629 -#define DREG_REGID_MAC0_ACC3_LOW 1354,57688 -#define DREG_REGID_MAC1_ACC0_LOW 1355,57747 -#define DREG_REGID_MAC1_ACC1_LOW 1356,57806 -#define DREG_REGID_MAC1_ACC2_LOW 1357,57865 -#define DREG_REGID_MAC1_ACC3_LOW 1358,57924 -#define DREG_REGID_MAC0_ACC0_MID 1359,57983 -#define DREG_REGID_MAC0_ACC1_MID 1360,58042 -#define DREG_REGID_MAC0_ACC2_MID 1361,58101 -#define DREG_REGID_MAC0_ACC3_MID 1362,58160 -#define DREG_REGID_MAC1_ACC0_MID 1363,58219 -#define DREG_REGID_MAC1_ACC1_MID 1364,58278 -#define DREG_REGID_MAC1_ACC2_MID 1365,58337 -#define DREG_REGID_MAC1_ACC3_MID 1366,58396 -#define DREG_REGID_MAC0_ACC0_HIGH 1367,58455 -#define DREG_REGID_MAC0_ACC1_HIGH 1368,58514 -#define DREG_REGID_MAC0_ACC2_HIGH 1369,58573 -#define DREG_REGID_MAC0_ACC3_HIGH 1370,58632 -#define DREG_REGID_MAC1_ACC0_HIGH 1371,58691 -#define DREG_REGID_MAC1_ACC1_HIGH 1372,58750 -#define DREG_REGID_MAC1_ACC2_HIGH 1373,58809 -#define DREG_REGID_MAC1_ACC3_HIGH 1374,58868 -#define DREG_REGID_RSHOUT_LOW 1375,58927 -#define DREG_REGID_RSHOUT_MID 1376,58986 -#define DREG_REGID_RSHOUT_HIGH 1377,59045 -#define DSRWP_DSR_MASK 1382,59190 -#define DSRWP_DSR_BG_RQ 1383,59249 -#define DSRWP_DSR_PRIORITY_MASK 1384,59308 -#define DSRWP_DSR_PRIORITY_0 1385,59367 -#define DSRWP_DSR_PRIORITY_1 1386,59426 -#define DSRWP_DSR_PRIORITY_2 1387,59485 -#define DSRWP_DSR_PRIORITY_3 1388,59544 -#define DSRWP_DSR_RQ_PENDING 1389,59603 -#define TWPR_TW_MASK 1394,59747 -#define TWPR_TW_SHIFT 1395,59806 -#define SPWR_STKP_MASK 1401,59949 -#define SPWR_STKP_SHIFT 1402,60008 -#define SPIR_FRI 1407,60140 -#define SPIR_DOI 1408,60199 -#define SPIR_GPI2 1409,60258 -#define SPIR_GPI3 1410,60317 -#define SPIR_IP0 1411,60376 -#define SPIR_IP1 1412,60435 -#define SPIR_IP2 1413,60494 -#define SPIR_IP3 1414,60553 -#define FGR1_F1S_MASK 1419,60700 -#define FGR1_F1S_SHIFT 1420,60759 -#define SPCS_FRI 1425,60894 -#define SPCS_DOI 1426,60953 -#define SPCS_GPI2 1427,61012 -#define SPCS_GPI3 1428,61071 -#define SPCS_IP0 1429,61130 -#define SPCS_IP1 1430,61189 -#define SPCS_IP2 1431,61248 -#define SPCS_IP3 1432,61307 -#define SPCS_SPRUN 1433,61366 -#define SPCS_SLEEP 1434,61425 -#define SPCS_FG 1435,61484 -#define SPCS_ORUN 1436,61543 -#define SPCS_IRQ 1437,61602 -#define SPCS_FGN_MASK 1438,61661 -#define SPCS_FGN_SHIFT 1439,61720 -#define SDSR_DCS_MASK 1445,61868 -#define SDSR_DCS_SHIFT 1446,61927 -#define SDSR_DCS_NONE 1447,61977 -#define FRMT_FTV_MASK 1452,62117 -#define FRMT_FTV_SHIFT 1453,62176 -#define FRCC_FCC_MASK 1459,62325 -#define FRCC_FCC_SHIFT 1460,62384 -#define FRSC_FCS_MASK 1466,62530 -#define FRSC_FCS_SHIFT 1467,62589 -#define DMA_SG_NEXT_ENTRY_MASK 1473,62736 -#define DMA_SG_SAMPLE_END_MASK 1474,62795 -#define DMA_SG_SAMPLE_END_FLAG 1475,62854 -#define DMA_SG_LOOP_END_FLAG 1476,62913 -#define DMA_SG_SIGNAL_END_FLAG 1477,62972 -#define DMA_SG_SIGNAL_PAGE_FLAG 1478,63031 -#define DMA_SG_NEXT_ENTRY_SHIFT 1479,63090 -#define DMA_SG_SAMPLE_END_SHIFT 1480,63140 -#define DMA_RQ_CONTROL1 1486,63296 -#define DMA_RQ_CONTROL2 1487,63355 -#define DMA_RQ_SOURCE_ADDR 1488,63414 -#define DMA_RQ_DESTINATION_ADDR 1489,63473 -#define DMA_RQ_NEXT_PAGE_ADDR 1490,63532 -#define DMA_RQ_NEXT_PAGE_SGDESC 1491,63591 -#define DMA_RQ_LOOP_START_ADDR 1492,63650 -#define DMA_RQ_POST_LOOP_ADDR 1493,63709 -#define DMA_RQ_PAGE_MAP_ADDR 1494,63768 -#define DMA_RQ_C1_COUNT_MASK 1500,63947 -#define DMA_RQ_C1_DESTINATION_SCATTER 1501,64006 -#define DMA_RQ_C1_SOURCE_GATHER 1502,64065 -#define DMA_RQ_C1_DONE_FLAG 1503,64124 -#define DMA_RQ_C1_OPTIMIZE_STATE 1504,64183 -#define DMA_RQ_C1_SAMPLE_END_STATE_MASK 1505,64242 -#define DMA_RQ_C1_FULL_PAGE 1506,64301 -#define DMA_RQ_C1_BEFORE_SAMPLE_END 1507,64360 -#define DMA_RQ_C1_PAGE_MAP_ERROR 1508,64419 -#define DMA_RQ_C1_AT_SAMPLE_END 1509,64478 -#define DMA_RQ_C1_LOOP_END_STATE_MASK 1510,64537 -#define DMA_RQ_C1_NOT_LOOP_END 1511,64596 -#define DMA_RQ_C1_BEFORE_LOOP_END 1512,64655 -#define DMA_RQ_C1_2PAGE_LOOP_BEGIN 1513,64714 -#define DMA_RQ_C1_LOOP_BEGIN 1514,64773 -#define DMA_RQ_C1_PAGE_MAP_MASK 1515,64832 -#define DMA_RQ_C1_PM_NONE_PENDING 1516,64891 -#define DMA_RQ_C1_PM_NEXT_PENDING 1517,64950 -#define DMA_RQ_C1_PM_RESERVED 1518,65009 -#define DMA_RQ_C1_PM_LOOP_NEXT_PENDING 1519,65068 -#define DMA_RQ_C1_WRITEBACK_DEST_FLAG 1520,65127 -#define DMA_RQ_C1_WRITEBACK_SRC_FLAG 1521,65186 -#define DMA_RQ_C1_DEST_SIZE_MASK 1522,65245 -#define DMA_RQ_C1_DEST_LINEAR 1523,65304 -#define DMA_RQ_C1_DEST_MOD16 1524,65363 -#define DMA_RQ_C1_DEST_MOD32 1525,65422 -#define DMA_RQ_C1_DEST_MOD64 1526,65481 -#define DMA_RQ_C1_DEST_MOD128 1527,65540 -#define DMA_RQ_C1_DEST_MOD256 1528,65599 -#define DMA_RQ_C1_DEST_MOD512 1529,65658 -#define DMA_RQ_C1_DEST_MOD1024 1530,65717 -#define DMA_RQ_C1_DEST_ON_HOST 1531,65776 -#define DMA_RQ_C1_SOURCE_SIZE_MASK 1532,65835 -#define DMA_RQ_C1_SOURCE_LINEAR 1533,65894 -#define DMA_RQ_C1_SOURCE_MOD16 1534,65953 -#define DMA_RQ_C1_SOURCE_MOD32 1535,66012 -#define DMA_RQ_C1_SOURCE_MOD64 1536,66071 -#define DMA_RQ_C1_SOURCE_MOD128 1537,66130 -#define DMA_RQ_C1_SOURCE_MOD256 1538,66189 -#define DMA_RQ_C1_SOURCE_MOD512 1539,66248 -#define DMA_RQ_C1_SOURCE_MOD1024 1540,66307 -#define DMA_RQ_C1_SOURCE_ON_HOST 1541,66366 -#define DMA_RQ_C1_COUNT_SHIFT 1542,66425 -#define DMA_RQ_C2_VIRTUAL_CHANNEL_MASK 1548,66596 -#define DMA_RQ_C2_VIRTUAL_SIGNAL_MASK 1549,66655 -#define DMA_RQ_C2_NO_VIRTUAL_SIGNAL 1550,66714 -#define DMA_RQ_C2_SIGNAL_EVERY_DMA 1551,66773 -#define DMA_RQ_C2_SIGNAL_SOURCE_PINGPONG 1552,66832 -#define DMA_RQ_C2_SIGNAL_DEST_PINGPONG 1553,66891 -#define DMA_RQ_C2_AUDIO_CONVERT_MASK 1554,66950 -#define DMA_RQ_C2_AC_NONE 1555,67009 -#define DMA_RQ_C2_AC_8_TO_16_BIT 1556,67068 -#define DMA_RQ_C2_AC_MONO_TO_STEREO 1557,67127 -#define DMA_RQ_C2_AC_ENDIAN_CONVERT 1558,67186 -#define DMA_RQ_C2_AC_SIGNED_CONVERT 1559,67245 -#define DMA_RQ_C2_LOOP_END_MASK 1560,67304 -#define DMA_RQ_C2_LOOP_MASK 1561,67363 -#define DMA_RQ_C2_NO_LOOP 1562,67422 -#define DMA_RQ_C2_ONE_PAGE_LOOP 1563,67481 -#define DMA_RQ_C2_TWO_PAGE_LOOP 1564,67540 -#define DMA_RQ_C2_MULTI_PAGE_LOOP 1565,67599 -#define DMA_RQ_C2_SIGNAL_LOOP_BACK 1566,67658 -#define DMA_RQ_C2_SIGNAL_POST_BEGIN_PAGE 1567,67717 -#define DMA_RQ_C2_VIRTUAL_CHANNEL_SHIFT 1568,67776 -#define DMA_RQ_C2_LOOP_END_SHIFT 1569,67826 -#define DMA_RQ_SD_ADDRESS_MASK 1575,68007 -#define DMA_RQ_SD_MEMORY_ID_MASK 1576,68066 -#define DMA_RQ_SD_SP_PARAM_ADDR 1577,68125 -#define DMA_RQ_SD_SP_SAMPLE_ADDR 1578,68184 -#define DMA_RQ_SD_SP_PROGRAM_ADDR 1579,68243 -#define DMA_RQ_SD_SP_DEBUG_ADDR 1580,68302 -#define DMA_RQ_SD_OMNIMEM_ADDR 1581,68361 -#define DMA_RQ_SD_END_FLAG 1582,68420 -#define DMA_RQ_SD_ERROR_FLAG 1583,68479 -#define DMA_RQ_SD_ADDRESS_SHIFT 1584,68538 -#define DMA_RQ_PMA_LOOP_THIRD_PAGE_ENTRY_MASK 1590,68711 -#define DMA_RQ_PMA_PAGE_TABLE_MASK 1591,68770 -#define DMA_RQ_PMA_LOOP_THIRD_PAGE_ENTRY_SHIFT 1592,68829 -#define DMA_RQ_PMA_PAGE_TABLE_SHIFT 1593,68879 -#define BA1_VARIDEC_BUF_1 1595,68931 -#define BA1_PDTC 1597,68970 -#define BA1_PFIE 1598,69052 -#define BA1_PBA 1599,69138 -#define BA1_PVOL 1600,69209 -#define BA1_PSRC 1601,69276 -#define BA1_PCTL 1602,69359 -#define BA1_PPI 1603,69427 -#define BA1_CCTL 1605,69504 -#define BA1_CIE 1606,69575 -#define BA1_CBA 1607,69655 -#define BA1_CSRC 1608,69729 -#define BA1_CCI 1609,69815 -#define BA1_CD 1610,69900 -#define BA1_CPI 1611,69969 -#define BA1_CVOL 1612,70048 -#define BA1_CFG1 1614,70119 -#define BA1_CFG2 1615,70196 -#define BA1_CCST 1616,70273 -#define BA1_CSPB 1617,70345 -#define CS46XX_MODE_OUTPUT 1623,70428 -#define CS46XX_MODE_INPUT 1624,70489 -#define SAVE_REG_MAX 1630,70559 -#define POWER_DOWN_ALL 1631,70597 -#define MAX_NR_AC97 1634,70702 -#define CS46XX_PRIMARY_CODEC_INDEX 1635,70739 -#define CS46XX_SECONDARY_CODEC_INDEX 1636,70785 -#define CS46XX_SECONDARY_CODEC_OFFSET 1637,70825 -#define CS46XX_DSP_CAPTURE_CHANNEL 1638,70869 -#define CS46XX_DSP_CAPTURE_CHANNEL 1641,70930 -#define CS46XX_MIXER_SPDIF_INPUT_ELEMENT 1644,70989 -#define CS46XX_MIXER_SPDIF_OUTPUT_ELEMENT 1645,71035 -typedef struct _snd_cs46xx cs46xx_t;cs46xx_t1647,71082 -typedef struct _snd_cs46xx_pcm_t _snd_cs46xx_pcm_t1649,71120 -} cs46xx_pcm_t;cs46xx_pcm_t1660,71437 -} snd_cs46xx_region_t;snd_cs46xx_region_t1668,71584 -struct _snd_cs46xx _snd_cs46xx1670,71608 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ad1848.h,2875 -#define __SOUND_AD1848_H2,25 -#define AD1848P(AD1848P30,965 -#define c_d_c_AD1848REGSEL 32,1031 -#define c_d_c_AD1848REG 33,1060 -#define c_d_c_AD1848STATUS 34,1087 -#define c_d_c_AD1848PIO 35,1116 -#define AD1848_LEFT_INPUT 39,1167 -#define AD1848_RIGHT_INPUT 40,1223 -#define AD1848_AUX1_LEFT_INPUT 41,1281 -#define AD1848_AUX1_RIGHT_INPUT 42,1347 -#define AD1848_AUX2_LEFT_INPUT 43,1415 -#define AD1848_AUX2_RIGHT_INPUT 44,1481 -#define AD1848_LEFT_OUTPUT 45,1549 -#define AD1848_RIGHT_OUTPUT 46,1616 -#define AD1848_DATA_FORMAT 47,1685 -#define AD1848_IFACE_CTRL 48,1779 -#define AD1848_PIN_CTRL 49,1849 -#define AD1848_TEST_INIT 50,1897 -#define AD1848_MISC_INFO 51,1957 -#define AD1848_LOOPBACK 52,2020 -#define AD1848_DATA_UPR_CNT 53,2073 -#define AD1848_DATA_LWR_CNT 54,2146 -#define AD1848_INIT 58,2289 -#define AD1848_MCE 59,2343 -#define AD1848_TRD 60,2393 -#define AD1848_GLOBALIRQ 64,2514 -#define AD1848_ENABLE_MIC_GAIN 68,2639 -#define AD1848_MIXS_LINE1 70,2676 -#define AD1848_MIXS_AUX1 71,2707 -#define AD1848_MIXS_LINE2 72,2737 -#define AD1848_MIXS_ALL 73,2768 -#define AD1848_LINEAR_8 77,2876 -#define AD1848_ALAW_8 78,2932 -#define AD1848_ULAW_8 79,2988 -#define AD1848_LINEAR_16 80,3044 -#define AD1848_STEREO 81,3124 -#define AD1848_XTAL1 83,3210 -#define AD1848_XTAL2 84,3258 -#define AD1848_CAPTURE_PIO 88,3378 -#define AD1848_PLAYBACK_PIO 89,3435 -#define AD1848_CALIB_MODE 90,3494 -#define AD1848_AUTOCALIB 91,3553 -#define AD1848_SINGLE_DMA 92,3604 -#define AD1848_CAPTURE_ENABLE 93,3664 -#define AD1848_PLAYBACK_ENABLE 94,3720 -#define AD1848_IRQ_ENABLE 98,3841 -#define AD1848_XCTL1 99,3889 -#define AD1848_XCTL0 100,3942 -#define AD1848_CALIB_IN_PROGRESS 104,4061 -#define AD1848_DMA_REQUEST 105,4132 -#define AD1848_MODE_NONE 109,4225 -#define AD1848_MODE_PLAY 110,4257 -#define AD1848_MODE_CAPTURE 111,4289 -#define AD1848_MODE_TIMER 112,4324 -#define AD1848_MODE_OPEN 113,4357 -#define AD1848_MODE_RUNNING 114,4439 -#define AD1848_HW_DETECT 118,4509 -#define AD1848_HW_AD1847 119,4577 -#define AD1848_HW_AD1848 120,4627 -#define AD1848_HW_CS4248 121,4677 -#define AD1848_HW_CMI8330 122,4727 -#define AD1848_HW_THINKPAD 123,4779 -#define AD1848_THINKPAD_CTL_PORT1 126,4875 -#define AD1848_THINKPAD_CTL_PORT2 127,4917 -#define AD1848_THINKPAD_CS4248_ENABLE_BIT 128,4959 -struct _snd_ad1848 _snd_ad1848130,5007 -typedef struct _snd_ad1848 ad1848_t;ad1848_t155,5782 -enum { AD1848_MIX_SINGLE,177,6578 -enum { AD1848_MIX_SINGLE, AD1848_MIX_DOUBLE,177,6578 -enum { AD1848_MIX_SINGLE, AD1848_MIX_DOUBLE, AD1848_MIX_CAPTURE 177,6578 -#define AD1848_MIXVAL_SINGLE(AD1848_MIXVAL_SINGLE179,6646 -#define AD1848_MIXVAL_DOUBLE(AD1848_MIXVAL_DOUBLE181,6765 -struct ad1848_mix_elem ad1848_mix_elem187,7098 -#define AD1848_SINGLE(AD1848_SINGLE194,7199 -#define AD1848_DOUBLE(AD1848_DOUBLE200,7404 -static inline int snd_ad1848_add_ctl_elem(206,7677 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/soundfont.h,877 -#define __SOUND_SOUNDFONT_H2,28 -#define SF_MAX_INSTRUMENTS 28,986 -#define SF_MAX_PRESETS 29,1049 -#define SF_IS_DRUM_BANK(SF_IS_DRUM_BANK30,1116 -typedef struct snd_sf_zone snd_sf_zone32,1157 -} snd_sf_zone_t;snd_sf_zone_t45,1720 -typedef struct snd_sf_sample snd_sf_sample47,1738 -} snd_sf_sample_t;snd_sf_sample_t52,1894 -typedef struct snd_soundfont snd_soundfont57,1985 -} snd_soundfont_t;snd_soundfont_t65,2341 -typedef int (*snd_sf_sample_new_t)snd_sf_sample_new_t70,2406 -typedef int (*snd_sf_sample_free_t)snd_sf_sample_free_t72,2550 -typedef void (*snd_sf_sample_reset_t)snd_sf_sample_reset_t74,2660 -typedef struct snd_sf_callback snd_sf_callback76,2715 -} snd_sf_callback_t;snd_sf_callback_t81,2874 -typedef struct snd_sf_list snd_sf_list86,2926 -} snd_sf_list_t;snd_sf_list_t102,3607 -#define snd_sf_calc_parm_delay(snd_sf_calc_parm_delay126,4555 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ainstr_iw.h,3439 -#define __SOUND_AINSTR_IW_H25,918 -#define IWFFFF_SHARE_FILE 36,1061 -#define IWFFFF_WAVE_16BIT 42,1116 -#define IWFFFF_WAVE_UNSIGNED 43,1169 -#define IWFFFF_WAVE_INVERT 44,1227 -#define IWFFFF_WAVE_BACKWARD 45,1291 -#define IWFFFF_WAVE_LOOP 46,1391 -#define IWFFFF_WAVE_BIDIR 47,1441 -#define IWFFFF_WAVE_ULAW 48,1501 -#define IWFFFF_WAVE_RAM 49,1562 -#define IWFFFF_WAVE_ROM 50,1661 -#define IWFFFF_WAVE_STEREO 51,1716 -typedef struct iwffff_wave iwffff_wave57,1807 -} iwffff_wave_t;iwffff_wave_t79,2881 -#define IWFFFF_LFO_SHAPE_TRIANGLE 85,2917 -#define IWFFFF_LFO_SHAPE_POSTRIANGLE 86,2953 -typedef struct iwffff_lfo iwffff_lfo88,2993 -} iwffff_lfo_t;iwffff_lfo_t94,3291 -#define IWFFFF_ENV_FLAG_RETRIGGER 96,3308 -#define IWFFFF_ENV_MODE_ONE_SHOT 98,3373 -#define IWFFFF_ENV_MODE_SUSTAIN 99,3435 -#define IWFFFF_ENV_MODE_NO_SUSTAIN 100,3496 -#define IWFFFF_ENV_INDEX_VELOCITY 102,3563 -#define IWFFFF_ENV_INDEX_FREQUENCY 103,3627 -typedef struct iwffff_env_point iwffff_env_point105,3694 -} iwffff_env_point_t;iwffff_env_point_t108,3774 -typedef struct iwffff_env_record iwffff_env_record110,3797 -} iwffff_env_record_t;iwffff_env_record_t121,4126 -typedef struct iwffff_env iwffff_env123,4150 -} iwffff_env_t;iwffff_env_t129,4302 -#define IWFFFF_LAYER_FLAG_RETRIGGER 131,4319 -#define IWFFFF_LAYER_VELOCITY_TIME 133,4379 -#define IWFFFF_LAYER_VELOCITY_RATE 134,4448 -#define IWFFFF_LAYER_EVENT_KUP 136,4518 -#define IWFFFF_LAYER_EVENT_KDOWN 137,4584 -#define IWFFFF_LAYER_EVENT_RETRIG 138,4653 -#define IWFFFF_LAYER_EVENT_LEGATO 139,4724 -typedef struct iwffff_layer iwffff_layer141,4793 -} iwffff_layer_t;iwffff_layer_t160,5638 -#define IWFFFF_EXCLUDE_NONE 166,5680 -#define IWFFFF_EXCLUDE_SINGLE 167,5744 -#define IWFFFF_EXCLUDE_MULTIPLE 168,5843 -#define IWFFFF_LAYER_NONE 170,5950 -#define IWFFFF_LAYER_ON 171,6002 -#define IWFFFF_LAYER_VELOCITY 172,6049 -#define IWFFFF_LAYER_FREQUENCY 173,6113 -#define IWFFFF_EFFECT_NONE 175,6180 -#define IWFFFF_EFFECT_REVERB 176,6210 -#define IWFFFF_EFFECT_CHORUS 177,6242 -#define IWFFFF_EFFECT_ECHO 178,6274 -} iwffff_instrument_t;iwffff_instrument_t191,6643 -#define IWFFFF_STRU_WAVE 209,7056 -#define IWFFFF_STRU_ENV_RECP 210,7129 -#define IWFFFF_STRU_ENV_RECV 211,7206 -#define IWFFFF_STRU_LAYER 212,7283 -#define IWFFFF_STRU_INSTR 213,7358 -typedef struct iwffff_xwave iwffff_xwave219,7468 -} iwffff_xwave_t;iwffff_xwave_t237,8307 -typedef struct iwffff_xlfo iwffff_xlfo243,8344 -} iwffff_xlfo_t;iwffff_xlfo_t249,8609 -typedef struct iwffff_xenv_point iwffff_xenv_point251,8627 -} iwffff_xenv_point_t;iwffff_xenv_point_t254,8690 -typedef struct iwffff_xenv_record iwffff_xenv_record256,8714 -} iwffff_xenv_record_t;iwffff_xenv_record_t267,8964 -typedef struct iwffff_xenv iwffff_xenv269,8989 -} iwffff_xenv_t;iwffff_xenv_t274,9071 -typedef struct iwffff_xlayer iwffff_xlayer276,9089 -} iwffff_xlayer_t;iwffff_xlayer_t293,9811 -typedef struct iwffff_xinstrument iwffff_xinstrument299,9854 -} iwffff_xinstrument_t;iwffff_xinstrument_t310,10125 -#define IWFFFF_ROM_HDR_SIZE 317,10219 -} iwffff_rom_header_t;iwffff_rom_header_t331,10507 -#define IWFFFF_INFO_LFO_VIBRATO 337,10559 -#define IWFFFF_INFO_LFO_VIBRATO_SHAPE 338,10599 -#define IWFFFF_INFO_LFO_TREMOLO 339,10644 -#define IWFFFF_INFO_LFO_TREMOLO_SHAPE 340,10684 -typedef struct iwffff_info iwffff_info342,10730 -} iwffff_info_t;iwffff_info_t348,11035 -} snd_iwffff_ops_t;snd_iwffff_ops_t367,11634 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/mixer_oss.h,848 -#define __SOUND_MIXER_OSS_H2,28 -typedef struct _snd_oss_mixer_slot snd_mixer_oss_slot_t;snd_mixer_oss_slot_t27,954 -typedef struct _snd_oss_file snd_mixer_oss_file_t;snd_mixer_oss_file_t28,1011 -typedef int (*snd_mixer_oss_get_volume_t)snd_mixer_oss_get_volume_t30,1063 -typedef int (*snd_mixer_oss_put_volume_t)snd_mixer_oss_put_volume_t31,1186 -typedef int (*snd_mixer_oss_get_recsrc_t)snd_mixer_oss_get_recsrc_t32,1307 -typedef int (*snd_mixer_oss_put_recsrc_t)snd_mixer_oss_put_recsrc_t33,1420 -typedef int (*snd_mixer_oss_get_recsrce_t)snd_mixer_oss_get_recsrce_t34,1532 -typedef int (*snd_mixer_oss_put_recsrce_t)snd_mixer_oss_put_recsrce_t35,1634 -#define SNDRV_OSS_MAX_MIXERS 37,1736 -struct _snd_oss_mixer_slot _snd_oss_mixer_slot39,1769 -struct _snd_oss_mixer _snd_oss_mixer52,2109 -struct _snd_oss_file _snd_oss_file69,2587 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/version.h,63 -#define CONFIG_SND_VERSION 2,51 -#define CONFIG_SND_DATE 3,86 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs4231.h,5292 -#define __SOUND_CS4231_H2,25 -#define SBUS_SUPPORT30,996 -#define EBUS_SUPPORT35,1098 -#define LEGACY_SUPPORT41,1225 -#define CS4231P(CS4231P46,1272 -#define c_d_c_CS4231REGSEL 48,1311 -#define c_d_c_CS4231REG 49,1340 -#define c_d_c_CS4231STATUS 50,1367 -#define c_d_c_CS4231PIO 51,1396 -#define CS4231_LEFT_INPUT 55,1447 -#define CS4231_RIGHT_INPUT 56,1503 -#define CS4231_AUX1_LEFT_INPUT 57,1561 -#define CS4231_AUX1_RIGHT_INPUT 58,1627 -#define CS4231_AUX2_LEFT_INPUT 59,1695 -#define CS4231_AUX2_RIGHT_INPUT 60,1761 -#define CS4231_LEFT_OUTPUT 61,1829 -#define CS4231_RIGHT_OUTPUT 62,1896 -#define CS4231_PLAYBK_FORMAT 63,1965 -#define CS4231_IFACE_CTRL 64,2053 -#define CS4231_PIN_CTRL 65,2123 -#define CS4231_TEST_INIT 66,2171 -#define CS4231_MISC_INFO 67,2231 -#define CS4231_LOOPBACK 68,2294 -#define CS4231_PLY_UPR_CNT 69,2347 -#define CS4231_PLY_LWR_CNT 70,2411 -#define CS4231_ALT_FEATURE_1 71,2475 -#define AD1845_AF1_MIC_LEFT 72,2543 -#define CS4231_ALT_FEATURE_2 73,2614 -#define AD1845_AF2_MIC_RIGHT 74,2682 -#define CS4231_LEFT_LINE_IN 75,2755 -#define CS4231_RIGHT_LINE_IN 76,2818 -#define CS4231_TIMER_LOW 77,2883 -#define CS4231_TIMER_HIGH 78,2934 -#define CS4231_LEFT_MIC_INPUT 79,2987 -#define AD1845_UPR_FREQ_SEL 80,3077 -#define CS4231_RIGHT_MIC_INPUT 81,3147 -#define AD1845_LWR_FREQ_SEL 82,3239 -#define CS4236_EXT_REG 83,3309 -#define CS4231_IRQ_STATUS 84,3369 -#define CS4231_LINE_LEFT_OUTPUT 85,3426 -#define CS4231_VERSION 86,3520 -#define CS4231_MONO_CTRL 87,3582 -#define CS4231_LINE_RIGHT_OUTPUT 88,3644 -#define AD1845_PWR_DOWN 89,3740 -#define CS4235_LEFT_MASTER 90,3795 -#define CS4231_REC_FORMAT 91,3860 -#define CS4231_PLY_VAR_FREQ 92,3943 -#define AD1845_CLOCK 93,4010 -#define CS4235_RIGHT_MASTER 94,4085 -#define CS4231_REC_UPR_CNT 95,4152 -#define CS4231_REC_LWR_CNT 96,4209 -#define CS4231_INIT 100,4336 -#define CS4231_MCE 101,4390 -#define CS4231_TRD 102,4440 -#define CS4231_GLOBALIRQ 106,4561 -#define CS4231_PLAYBACK_IRQ 110,4652 -#define CS4231_RECORD_IRQ 111,4685 -#define CS4231_TIMER_IRQ 112,4716 -#define CS4231_ALL_IRQS 113,4746 -#define CS4231_REC_UNDERRUN 114,4776 -#define CS4231_REC_OVERRUN 115,4809 -#define CS4231_PLY_OVERRUN 116,4841 -#define CS4231_PLY_UNDERRUN 117,4873 -#define CS4231_ENABLE_MIC_GAIN 121,4981 -#define CS4231_MIXS_LINE 123,5018 -#define CS4231_MIXS_AUX1 124,5048 -#define CS4231_MIXS_MIC 125,5078 -#define CS4231_MIXS_ALL 126,5108 -#define CS4231_LINEAR_8 130,5216 -#define CS4231_ALAW_8 131,5272 -#define CS4231_ULAW_8 132,5328 -#define CS4231_LINEAR_16 133,5384 -#define CS4231_LINEAR_16_BIG 134,5464 -#define CS4231_ADPCM_16 135,5545 -#define CS4231_STEREO 136,5594 -#define CS4231_XTAL1 138,5680 -#define CS4231_XTAL2 139,5728 -#define CS4231_RECORD_PIO 143,5848 -#define CS4231_PLAYBACK_PIO 144,5903 -#define CS4231_CALIB_MODE 145,5962 -#define CS4231_AUTOCALIB 146,6021 -#define CS4231_SINGLE_DMA 147,6072 -#define CS4231_RECORD_ENABLE 148,6132 -#define CS4231_PLAYBACK_ENABLE 149,6186 -#define CS4231_IRQ_ENABLE 153,6307 -#define CS4231_XCTL1 154,6355 -#define CS4231_XCTL0 155,6408 -#define CS4231_CALIB_IN_PROGRESS 159,6527 -#define CS4231_DMA_REQUEST 160,6598 -#define CS4231_MODE2 164,6725 -#define CS4231_IW_MODE3 165,6765 -#define CS4231_4236_MODE3 166,6834 -#define CS4231_DACZ 170,6978 -#define CS4231_TIMER_ENABLE 171,7033 -#define CS4231_OLB 172,7091 -#define CS4236_REG(CS4236_REG176,7192 -#define CS4236_I23VAL(CS4236_I23VAL177,7269 -#define CS4236_LEFT_LINE 179,7346 -#define CS4236_RIGHT_LINE 180,7409 -#define CS4236_LEFT_MIC 181,7474 -#define CS4236_RIGHT_MIC 182,7526 -#define CS4236_LEFT_MIX_CTRL 183,7579 -#define CS4236_RIGHT_MIX_CTRL 184,7658 -#define CS4236_LEFT_FM 185,7725 -#define CS4236_RIGHT_FM 186,7775 -#define CS4236_LEFT_DSP 187,7827 -#define CS4236_RIGHT_DSP 188,7891 -#define CS4236_RIGHT_LOOPBACK 189,7956 -#define CS4236_DAC_MUTE 190,8027 -#define CS4236_ADC_RATE 191,8088 -#define CS4236_DAC_RATE 192,8158 -#define CS4236_LEFT_MASTER 193,8228 -#define CS4236_RIGHT_MASTER 194,8299 -#define CS4236_LEFT_WAVE 195,8372 -#define CS4236_RIGHT_WAVE 196,8442 -#define CS4236_VERSION 197,8514 -#define CS4231_MODE_NONE 201,8600 -#define CS4231_MODE_PLAY 202,8632 -#define CS4231_MODE_RECORD 203,8664 -#define CS4231_MODE_TIMER 204,8698 -#define CS4231_MODE_OPEN 205,8731 -#define CS4231_HW_DETECT 209,8847 -#define CS4231_HW_DETECT3 210,8922 -#define CS4231_HW_TYPE_MASK 211,8974 -#define CS4231_HW_CS4231_MASK 212,9025 -#define CS4231_HW_CS4231 213,9083 -#define CS4231_HW_CS4231A 214,9140 -#define CS4231_HW_AD1845 215,9198 -#define CS4231_HW_CS4232_MASK 216,9248 -#define CS4231_HW_CS4232 217,9326 -#define CS4231_HW_CS4232A 218,9378 -#define CS4231_HW_CS4236 219,9431 -#define CS4231_HW_CS4236B_MASK 220,9476 -#define CS4231_HW_CS4235 221,9562 -#define CS4231_HW_CS4236B 222,9647 -#define CS4231_HW_CS4237B 223,9700 -#define CS4231_HW_CS4238B 224,9762 -#define CS4231_HW_CS4239 225,9821 -#define CS4231_HW_INTERWAVE 227,9935 -#define CS4231_HW_OPL3SA2 228,9995 -#define CS4231_HWSHARE_IRQ 231,10087 -#define CS4231_HWSHARE_DMA1 232,10121 -#define CS4231_HWSHARE_DMA2 233,10156 -typedef struct _snd_cs4231 cs4231_t;cs4231_t235,10192 -struct _snd_cs4231 _snd_cs4231237,10230 -#define CS4231_SINGLE(CS4231_SINGLE347,13754 -#define CS4231_DOUBLE(CS4231_DOUBLE357,14323 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/wavefront.h,9548 -#define __SOUND_WAVEFRONT_H__2,30 - You will not be able to compile this file correctly without gcc,26,975 - of 22 bytes,28,1124 - the case on the original platform, MS-DOS). If this is not done,29,1196 - The method used to do this here 31,1333 -#define NUM_MIDIKEYS 53,2098 -#define NUM_MIDICHANNELS 57,2176 -typedef short s16;s1669,2621 -typedef unsigned short u16;u1670,2640 -typedef int s32;s3271,2668 -typedef unsigned int u32;u3272,2685 -typedef char s8;s873,2711 -typedef unsigned char u8;u874,2728 -typedef s16 INT16;INT1675,2754 -typedef u16 UINT16;UINT1676,2773 -typedef s32 INT32;INT3277,2793 -typedef u32 UINT32;UINT3278,2812 -typedef s8 CHAR8;CHAR879,2832 -typedef u8 UCHAR8;UCHAR880,2850 -#define WFC_DEBUG_DRIVER 88,3018 -#define WFC_FX_IOCTL 89,3060 -#define WFC_PATCH_STATUS 90,3102 -#define WFC_PROGRAM_STATUS 91,3144 -#define WFC_SAMPLE_STATUS 92,3186 -#define WFC_DISABLE_INTERRUPTS 93,3228 -#define WFC_ENABLE_INTERRUPTS 94,3270 -#define WFC_INTERRUPT_STATUS 95,3312 -#define WFC_ROMSAMPLES_RDONLY 96,3354 -#define WFC_IDENTIFY_SLOT_TYPE 97,3396 -#define WFC_DOWNLOAD_SAMPLE 102,3472 -#define WFC_DOWNLOAD_BLOCK 103,3506 -#define WFC_DOWNLOAD_MULTISAMPLE 104,3539 -#define WFC_DOWNLOAD_SAMPLE_ALIAS 105,3577 -#define WFC_DELETE_SAMPLE 106,3616 -#define WFC_REPORT_FREE_MEMORY 107,3648 -#define WFC_DOWNLOAD_PATCH 108,3685 -#define WFC_DOWNLOAD_PROGRAM 109,3718 -#define WFC_SET_SYNTHVOL 110,3753 -#define WFC_SET_NVOICES 111,3784 -#define WFC_DOWNLOAD_DRUM 112,3815 -#define WFC_GET_SYNTHVOL 113,3847 -#define WFC_GET_NVOICES 114,3878 -#define WFC_DISABLE_CHANNEL 115,3909 -#define WFC_ENABLE_CHANNEL 116,3943 -#define WFC_MISYNTH_OFF 117,3976 -#define WFC_MISYNTH_ON 118,4007 -#define WFC_FIRMWARE_VERSION 119,4037 -#define WFC_GET_NSAMPLES 120,4072 -#define WFC_DISABLE_DRUM_PROGRAM 121,4103 -#define WFC_UPLOAD_PATCH 122,4141 -#define WFC_UPLOAD_PROGRAM 123,4172 -#define WFC_SET_TUNING 124,4205 -#define WFC_GET_TUNING 125,4235 -#define WFC_VMIDI_ON 126,4265 -#define WFC_VMIDI_OFF 127,4293 -#define WFC_MIDI_STATUS 128,4322 -#define WFC_GET_CHANNEL_STATUS 129,4353 -#define WFC_DOWNLOAD_SAMPLE_HEADER 130,4390 -#define WFC_UPLOAD_SAMPLE_HEADER 131,4430 -#define WFC_UPLOAD_MULTISAMPLE 132,4468 -#define WFC_UPLOAD_SAMPLE_ALIAS 133,4505 -#define WFC_IDENTIFY_SAMPLE_TYPE 134,4543 -#define WFC_DOWNLOAD_EDRUM_PROGRAM 135,4581 -#define WFC_UPLOAD_EDRUM_PROGRAM 136,4621 -#define WFC_SET_EDRUM_CHANNEL 137,4659 -#define WFC_INSTOUT_LEVELS 138,4695 -#define WFC_PEAKOUT_LEVELS 139,4728 -#define WFC_REPORT_CHANNEL_PROGRAMS 140,4761 -#define WFC_HARDWARE_VERSION 141,4802 -#define WFC_UPLOAD_SAMPLE_PARAMS 142,4837 -#define WFC_DOWNLOAD_OS 143,4875 -#define WFC_NOOP 144,4906 -#define WF_MAX_SAMPLE 146,4952 -#define WF_MAX_PATCH 147,4980 -#define WF_MAX_PROGRAM 148,5008 -#define WF_SECTION_MAX 150,5037 -#define WF_PROGRAM_BYTES 156,5231 -#define WF_PATCH_BYTES 157,5259 -#define WF_SAMPLE_BYTES 158,5286 -#define WF_SAMPLE_HDR_BYTES 159,5313 -#define WF_ALIAS_BYTES 160,5344 -#define WF_DRUM_BYTES 161,5370 -#define WF_MSAMPLE_BYTES 162,5394 -#define WF_ACK 164,5450 -#define WF_DMA_ACK 165,5474 -#define WF_MIDI_VIRTUAL_ENABLED 169,5537 -#define WF_MIDI_VIRTUAL_IS_EXTERNAL 170,5573 -#define WF_MIDI_IN_TO_SYNTH_DISABLED 171,5613 -#define WF_SYNTH_SLOT 175,5734 -#define WF_INTERNAL_MIDI_SLOT 176,5766 -#define WF_EXTERNAL_MIDI_SLOT 177,5798 -#define WF_EXTERNAL_SWITCH 185,6114 -#define WF_INTERNAL_SWITCH 186,6147 -#define WF_DEBUG_CMD 190,6204 -#define WF_DEBUG_DATA 191,6229 -#define WF_DEBUG_LOAD_PATCH 192,6255 -#define WF_DEBUG_IO 193,6287 -#define WF_WAVEPATCH_VERSION 197,6347 -#define WF_MAX_COMMENT 198,6423 -#define WF_NUM_LAYERS 199,6484 -#define WF_NAME_LENGTH 200,6519 -#define WF_SOURCE_LENGTH 201,6555 -#define BankFileID 203,6593 -#define DrumkitFileID 204,6623 -#define ProgramFileID 205,6656 -struct wf_envelopewf_envelope207,6690 -typedef struct wf_envelope wavefront_envelope;wavefront_envelope242,7207 -struct wf_lfowf_lfo244,7255 -typedef struct wf_lfo wavefront_lfo;wavefront_lfo265,7549 -struct wf_patchwf_patch267,7587 -typedef struct wf_patch wavefront_patch;wavefront_patch320,8480 -struct wf_layerwf_layer322,8522 -typedef struct wf_layer wavefront_layer;wavefront_layer337,8723 -struct wf_programwf_program339,8765 -typedef struct wf_program wavefront_program;wavefront_program343,8830 -struct wf_sample_offsetwf_sample_offset345,8876 -typedef struct wf_sample_offset wavefront_sample_offset;wavefront_sample_offset351,8963 -#define WF_ST_SAMPLE 355,9061 -#define WF_ST_MULTISAMPLE 356,9089 -#define WF_ST_ALIAS 357,9117 -#define WF_ST_EMPTY 358,9145 -#define WF_ST_DRUM 362,9190 -#define WF_ST_PROGRAM 363,9218 -#define WF_ST_PATCH 364,9246 -#define WF_ST_SAMPLEHDR 365,9274 -#define WF_ST_MASK 367,9303 -#define WF_SLOT_USED 373,9430 -#define WF_SLOT_FILLED 374,9507 -#define WF_SLOT_ROM 375,9538 -#define WF_SLOT_MASK 377,9570 -#define WF_CH_MONO 381,9627 -#define WF_CH_LEFT 382,9649 -#define WF_CH_RIGHT 383,9671 -#define LINEAR_16BIT 387,9716 -#define WHITE_NOISE 388,9739 -#define LINEAR_8BIT 389,9762 -#define MULAW_8BIT 390,9785 -#define WF_SAMPLE_IS_8BIT(WF_SAMPLE_IS_8BIT392,9809 -#define WF_SET_CHANNEL(WF_SET_CHANNEL428,11032 -#define WF_GET_CHANNEL(WF_GET_CHANNEL433,11164 -typedef struct wf_sample wf_sample436,11262 -} wavefront_sample;wavefront_sample449,11651 -typedef struct wf_multisample wf_multisample451,11672 -} wavefront_multisample;wavefront_multisample454,11803 -typedef struct wf_alias wf_alias456,11829 -} wavefront_alias;wavefront_alias484,13036 -typedef struct wf_drum wf_drum486,13056 -} wavefront_drum;wavefront_drum496,13255 -typedef struct wf_drumkit wf_drumkit498,13274 -} wavefront_drumkit;wavefront_drumkit500,13341 -typedef struct wf_channel_programs wf_channel_programs502,13363 -} wavefront_channel_programs;wavefront_channel_programs504,13434 -#define WF_CHANNEL_STATUS(WF_CHANNEL_STATUS510,13596 -typedef union wf_any wf_any512,13661 -} wavefront_any;wavefront_any519,13832 -typedef struct wf_patch_info wf_patch_info528,14167 -#define WAVEFRONT_FIND_FREE_SAMPLE_SLOT 538,14523 -} wavefront_patch_info;wavefront_patch_info561,15269 -#define WF_MAX_READ 568,15457 -#define WF_MAX_WRITE 569,15507 -typedef struct wavefront_control wavefront_control577,15752 -} wavefront_control;wavefront_control582,16044 -#define WFCTL_WFCMD 584,16066 -#define WFCTL_LOAD_SPP 585,16093 -#define WF_MOD_LFO1 589,16144 -#define WF_MOD_LFO2 590,16171 -#define WF_MOD_ENV1 591,16198 -#define WF_MOD_ENV2 592,16225 -#define WF_MOD_KEYBOARD 593,16252 -#define WF_MOD_LOGKEY 594,16279 -#define WF_MOD_VELOCITY 595,16306 -#define WF_MOD_LOGVEL 596,16333 -#define WF_MOD_RANDOM 597,16360 -#define WF_MOD_PRESSURE 598,16387 -#define WF_MOD_MOD_WHEEL 599,16414 -#define WF_MOD_1 600,16442 -#define WF_MOD_BREATH 601,16485 -#define WF_MOD_2 602,16513 -#define WF_MOD_FOOT 603,16552 -#define WF_MOD_4 604,16580 -#define WF_MOD_VOLUME 605,16617 -#define WF_MOD_7 606,16645 -#define WF_MOD_PAN 607,16684 -#define WF_MOD_10 608,16712 -#define WF_MOD_EXPR 609,16748 -#define WF_MOD_11 610,16776 -typedef struct wf_fx_info wf_fx_info614,16841 -} wavefront_fx_info;wavefront_fx_info617,16974 -#define WFFX_SETOUTGAIN 626,17305 -#define WFFX_SETSTEREOOUTGAIN 627,17340 -#define WFFX_SETREVERBIN1GAIN 628,17373 -#define WFFX_SETREVERBIN2GAIN 629,17406 -#define WFFX_SETREVERBIN3GAIN 630,17439 -#define WFFX_SETCHORUSINPORT 631,17472 -#define WFFX_SETREVERBIN1PORT 632,17504 -#define WFFX_SETREVERBIN2PORT 633,17537 -#define WFFX_SETREVERBIN3PORT 634,17570 -#define WFFX_SETEFFECTPORT 635,17603 -#define WFFX_SETAUXPORT 636,17633 -#define WFFX_SETREVERBTYPE 637,17669 -#define WFFX_SETREVERBDELAY 638,17700 -#define WFFX_SETCHORUSLFO 639,17732 -#define WFFX_SETCHORUSPMD 640,17762 -#define WFFX_SETCHORUSAMD 641,17792 -#define WFFX_SETEFFECT 642,17822 -#define WFFX_SETBASEALL 643,17857 -#define WFFX_SETREVERBALL 644,17893 -#define WFFX_SETCHORUSALL 645,17923 -#define WFFX_SETREVERBDEF 646,17953 -#define WFFX_SETCHORUSDEF 647,17983 -#define WFFX_DELAYSETINGAIN 648,18013 -#define WFFX_DELAYSETFBGAIN 649,18045 -#define WFFX_DELAYSETFBLPF 650,18084 -#define WFFX_DELAYSETGAIN 651,18115 -#define WFFX_DELAYSETTIME 652,18145 -#define WFFX_DELAYSETFBTIME 653,18175 -#define WFFX_DELAYSETALL 654,18207 -#define WFFX_DELAYSETDEF 655,18236 -#define WFFX_SDELAYSETINGAIN 656,18265 -#define WFFX_SDELAYSETFBGAIN 657,18298 -#define WFFX_SDELAYSETFBLPF 658,18331 -#define WFFX_SDELAYSETGAIN 659,18363 -#define WFFX_SDELAYSETTIME 660,18394 -#define WFFX_SDELAYSETFBTIME 661,18425 -#define WFFX_SDELAYSETALL 662,18458 -#define WFFX_SDELAYSETDEF 663,18488 -#define WFFX_DEQSETINGAIN 664,18518 -#define WFFX_DEQSETFILTER 665,18548 -#define WFFX_DEQSETALL 666,18578 -#define WFFX_DEQSETDEF 667,18613 -#define WFFX_MUTE 668,18648 -#define WFFX_FLANGESETBALANCE 669,18678 -#define WFFX_FLANGESETDELAY 670,18720 -#define WFFX_FLANGESETDWFFX_TH 671,18752 -#define WFFX_FLANGESETFBGAIN 672,18787 -#define WFFX_FLANGESETINGAIN 673,18820 -#define WFFX_FLANGESETLFO 674,18853 -#define WFFX_FLANGESETALL 675,18883 -#define WFFX_FLANGESETDEF 676,18913 -#define WFFX_PITCHSETSHIFT 677,18943 -#define WFFX_PITCHSETBALANCE 678,18974 -#define WFFX_PITCHSETALL 679,19007 -#define WFFX_PITCHSETDEF 680,19036 -#define WFFX_SRSSETINGAIN 681,19065 -#define WFFX_SRSSETSPACE 682,19095 -#define WFFX_SRSSETCENTER 683,19124 -#define WFFX_SRSSETGAIN 684,19154 -#define WFFX_SRSSETMODE 685,19190 -#define WFFX_SRSSETDEF 686,19226 -#define WFFX_MEMSET 693,19465 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/uda1341.h,2073 -#define UDA1341_ALSA_NAME 20,571 -#define AUDIO_RATE_DEFAULT 25,660 -#define UDA1341_L3ADDR 30,741 -#define UDA1341_DATA0 31,767 -#define UDA1341_DATA1 32,816 -#define UDA1341_STATUS 33,865 -enum uda1341_onoff uda1341_onoff35,916 - OFF=36,937 - ON,37,945 -const char *onoff_names[40,954 -enum uda1341_format uda1341_format45,1003 - I2S=46,1025 - LSB16,47,1033 - LSB18,48,1041 - LSB20,49,1049 - MSB,50,1057 - LSB16MSB,51,1063 - LSB18MSB,52,1074 - LSB20MSB,53,1085 -const char *format_names[56,1108 -enum uda1341_fs uda1341_fs67,1294 - F512=68,1312 - F384,69,1321 - F256,70,1328 - Funused,71,1335 -const char *fs_names[74,1349 -enum uda1341_peak uda1341_peak81,1437 - BEFORE=82,1457 - AFTER,83,1468 -const char *peak_names[86,1480 -enum uda1341_filter uda1341_filter91,1534 - FLAT=92,1556 - MIN,93,1565 - MIN2,94,1571 - MAX,95,1578 -const char *filter_names[98,1588 -const char*bass_values[105,1656 -enum uda1341_mixer uda1341_mixer116,2308 - DOUBLE,117,2329 - LINE,118,2338 - MIC,119,2345 - MIXER,120,2351 -const char *mixer_names[123,2363 -enum uda1341_deemp uda1341_deemp130,2502 - NONE,131,2523 - D32,132,2530 - D44,133,2536 - D48,134,2542 -const char *deemp_names[137,2552 -const char *mic_sens_value[144,2638 -const unsigned short AGC_atime[148,2748 -const unsigned short AGC_dtime[152,2822 -const char *AGC_level[156,2904 -const char *ig_small_value[160,2972 -const char *peak_value[177,3767 -enum uda1341_config uda1341_config189,4604 - CMD_READ_REG 190,4626 - CMD_RESET,191,4645 - CMD_FS,192,4657 - CMD_FORMAT,193,4666 - CMD_OGAIN,194,4679 - CMD_IGAIN,195,4691 - CMD_DAC,196,4703 - CMD_ADC,197,4713 - CMD_VOLUME,198,4723 - CMD_BASS,199,4736 - CMD_TREBBLE,200,4747 - CMD_PEAK,201,4761 - CMD_DEEMP,202,4772 - CMD_MUTE,203,4784 - CMD_FILTER,204,4803 - CMD_CH1,205,4816 - CMD_CH2,206,4826 - CMD_MIC,207,4836 - CMD_MIXER,208,4853 - CMD_AGC,209,4865 - CMD_IG,210,4875 - CMD_AGC_TIME,211,4884 - CMD_AGC_LEVEL,212,4899 - CMD_SUSPEND,214,4932 - CMD_RESUME,215,4946 - CMD_LAST,217,4966 -enum write_through write_through220,4981 - REGS_ONLY=222,5089 - FLUSH,224,5165 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/asequencer.h,15309 -#define __SOUND_ASEQUENCER_H23,957 -#define SNDRV_SEQ_VERSION 32,1098 -#define SNDRV_SEQ_EVENT_SYSTEM 41,1271 -#define SNDRV_SEQ_EVENT_RESULT 42,1305 -#define SNDRV_SEQ_EVENT_NOTE 47,1421 -#define SNDRV_SEQ_EVENT_NOTEON 48,1453 -#define SNDRV_SEQ_EVENT_NOTEOFF 49,1487 -#define SNDRV_SEQ_EVENT_KEYPRESS 50,1522 -#define SNDRV_SEQ_EVENT_CONTROLLER 55,1643 -#define SNDRV_SEQ_EVENT_PGMCHANGE 56,1681 -#define SNDRV_SEQ_EVENT_CHANPRESS 57,1718 -#define SNDRV_SEQ_EVENT_PITCHBEND 58,1755 -#define SNDRV_SEQ_EVENT_CONTROL14 59,1819 -#define SNDRV_SEQ_EVENT_NONREGPARAM 60,1888 -#define SNDRV_SEQ_EVENT_REGPARAM 61,1979 -#define SNDRV_SEQ_EVENT_SONGPOS 66,2140 -#define SNDRV_SEQ_EVENT_SONGSEL 67,2228 -#define SNDRV_SEQ_EVENT_QFRAME 68,2302 -#define SNDRV_SEQ_EVENT_TIMESIGN 69,2372 -#define SNDRV_SEQ_EVENT_KEYSIGN 70,2439 -#define SNDRV_SEQ_EVENT_START 75,2588 -#define SNDRV_SEQ_EVENT_CONTINUE 76,2657 -#define SNDRV_SEQ_EVENT_STOP 77,2731 -#define SNDRV_SEQ_EVENT_SETPOS_TICK 78,2799 -#define SNDRV_SEQ_EVENT_SETPOS_TIME 79,2868 -#define SNDRV_SEQ_EVENT_TEMPO 80,2941 -#define SNDRV_SEQ_EVENT_CLOCK 81,2999 -#define SNDRV_SEQ_EVENT_TICK 82,3068 -#define SNDRV_SEQ_EVENT_QUEUE_SKEW 83,3135 -#define SNDRV_SEQ_EVENT_TUNE_REQUEST 88,3238 -#define SNDRV_SEQ_EVENT_RESET 89,3297 -#define SNDRV_SEQ_EVENT_SENSING 90,3361 -#define SNDRV_SEQ_EVENT_ECHO 95,3500 -#define SNDRV_SEQ_EVENT_OSS 96,3550 -#define SNDRV_SEQ_EVENT_CLIENT_START 101,3700 -#define SNDRV_SEQ_EVENT_CLIENT_EXIT 102,3771 -#define SNDRV_SEQ_EVENT_CLIENT_CHANGE 103,3843 -#define SNDRV_SEQ_EVENT_PORT_START 104,3921 -#define SNDRV_SEQ_EVENT_PORT_EXIT 105,3986 -#define SNDRV_SEQ_EVENT_PORT_CHANGE 106,4058 -#define SNDRV_SEQ_EVENT_PORT_SUBSCRIBED 111,4206 -#define SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED 112,4271 -#define SNDRV_SEQ_EVENT_SAMPLE 117,4421 -#define SNDRV_SEQ_EVENT_SAMPLE_CLUSTER 118,4476 -#define SNDRV_SEQ_EVENT_SAMPLE_START 119,4546 -#define SNDRV_SEQ_EVENT_SAMPLE_STOP 120,4604 -#define SNDRV_SEQ_EVENT_SAMPLE_FREQ 121,4660 -#define SNDRV_SEQ_EVENT_SAMPLE_VOLUME 122,4724 -#define SNDRV_SEQ_EVENT_SAMPLE_LOOP 123,4790 -#define SNDRV_SEQ_EVENT_SAMPLE_POSITION 124,4847 -#define SNDRV_SEQ_EVENT_SAMPLE_PRIVATE1 125,4912 -#define SNDRV_SEQ_EVENT_USR0 130,5068 -#define SNDRV_SEQ_EVENT_USR1 131,5101 -#define SNDRV_SEQ_EVENT_USR2 132,5134 -#define SNDRV_SEQ_EVENT_USR3 133,5167 -#define SNDRV_SEQ_EVENT_USR4 134,5200 -#define SNDRV_SEQ_EVENT_USR5 135,5233 -#define SNDRV_SEQ_EVENT_USR6 136,5266 -#define SNDRV_SEQ_EVENT_USR7 137,5299 -#define SNDRV_SEQ_EVENT_USR8 138,5332 -#define SNDRV_SEQ_EVENT_USR9 139,5365 -#define SNDRV_SEQ_EVENT_INSTR_BEGIN 144,5485 -#define SNDRV_SEQ_EVENT_INSTR_END 145,5562 -#define SNDRV_SEQ_EVENT_INSTR_INFO 146,5635 -#define SNDRV_SEQ_EVENT_INSTR_INFO_RESULT 147,5706 -#define SNDRV_SEQ_EVENT_INSTR_FINFO 148,5765 -#define SNDRV_SEQ_EVENT_INSTR_FINFO_RESULT 149,5827 -#define SNDRV_SEQ_EVENT_INSTR_RESET 150,5896 -#define SNDRV_SEQ_EVENT_INSTR_STATUS 151,5966 -#define SNDRV_SEQ_EVENT_INSTR_STATUS_RESULT 152,6041 -#define SNDRV_SEQ_EVENT_INSTR_PUT 153,6102 -#define SNDRV_SEQ_EVENT_INSTR_GET 154,6169 -#define SNDRV_SEQ_EVENT_INSTR_GET_RESULT 155,6238 -#define SNDRV_SEQ_EVENT_INSTR_FREE 156,6296 -#define SNDRV_SEQ_EVENT_INSTR_LIST 157,6360 -#define SNDRV_SEQ_EVENT_INSTR_LIST_RESULT 158,6421 -#define SNDRV_SEQ_EVENT_INSTR_CLUSTER 159,6480 -#define SNDRV_SEQ_EVENT_INSTR_CLUSTER_GET 160,6547 -#define SNDRV_SEQ_EVENT_INSTR_CLUSTER_RESULT 161,6622 -#define SNDRV_SEQ_EVENT_INSTR_CHANGE 162,6684 -#define SNDRV_SEQ_EVENT_SYSEX 169,6900 -#define SNDRV_SEQ_EVENT_BOUNCE 170,6981 -#define SNDRV_SEQ_EVENT_USR_VAR0 172,7059 -#define SNDRV_SEQ_EVENT_USR_VAR1 173,7096 -#define SNDRV_SEQ_EVENT_USR_VAR2 174,7133 -#define SNDRV_SEQ_EVENT_USR_VAR3 175,7170 -#define SNDRV_SEQ_EVENT_USR_VAR4 176,7207 -#define SNDRV_SEQ_EVENT_KERNEL_ERROR 179,7314 -#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 180,7355 -#define SNDRV_SEQ_EVENT_NONE 187,7503 -typedef unsigned char sndrv_seq_event_type_t;sndrv_seq_event_type_t190,7539 -struct sndrv_seq_addr sndrv_seq_addr193,7607 -struct sndrv_seq_connect sndrv_seq_connect199,7840 -#define SNDRV_SEQ_ADDRESS_UNKNOWN 205,7932 -#define SNDRV_SEQ_ADDRESS_SUBSCRIBERS 206,7991 -#define SNDRV_SEQ_ADDRESS_BROADCAST 207,8074 -#define SNDRV_SEQ_QUEUE_DIRECT 208,8168 -#define SNDRV_SEQ_TIME_STAMP_TICK 211,8281 -#define SNDRV_SEQ_TIME_STAMP_REAL 212,8353 -#define SNDRV_SEQ_TIME_STAMP_MASK 213,8423 -#define SNDRV_SEQ_TIME_MODE_ABS 215,8465 -#define SNDRV_SEQ_TIME_MODE_REL 216,8530 -#define SNDRV_SEQ_TIME_MODE_MASK 217,8601 -#define SNDRV_SEQ_EVENT_LENGTH_FIXED 219,8642 -#define SNDRV_SEQ_EVENT_LENGTH_VARIABLE 220,8709 -#define SNDRV_SEQ_EVENT_LENGTH_VARUSR 221,8782 -#define SNDRV_SEQ_EVENT_LENGTH_MASK 222,8873 -#define SNDRV_SEQ_PRIORITY_NORMAL 224,8917 -#define SNDRV_SEQ_PRIORITY_HIGH 225,8980 -#define SNDRV_SEQ_PRIORITY_MASK 226,9066 -struct sndrv_seq_ev_note sndrv_seq_ev_note230,9126 -struct sndrv_seq_ev_ctrl sndrv_seq_ev_ctrl239,9377 -struct sndrv_seq_ev_raw8 sndrv_seq_ev_raw8247,9563 -struct sndrv_seq_ev_raw32 sndrv_seq_ev_raw32252,9676 -struct sndrv_seq_ev_ext sndrv_seq_ev_ext257,9775 -typedef unsigned int sndrv_seq_instr_cluster_t;sndrv_seq_instr_cluster_t263,9955 -struct sndrv_seq_instr sndrv_seq_instr266,10026 -struct sndrv_seq_ev_sample sndrv_seq_ev_sample274,10242 -struct sndrv_seq_ev_cluster sndrv_seq_ev_cluster281,10359 -typedef unsigned int sndrv_seq_position_t;sndrv_seq_position_t286,10452 -enum sndrv_seq_stop_mode sndrv_seq_stop_mode289,10562 - SAMPLE_STOP_IMMEDIATELY 290,10589 - SAMPLE_STOP_VENVELOPE 291,10655 - SAMPLE_STOP_LOOP 292,10712 -typedef int sndrv_seq_frequency_t;sndrv_seq_frequency_t296,10800 -struct sndrv_seq_ev_volume sndrv_seq_ev_volume299,10945 -struct sndrv_seq_ev_loop sndrv_seq_ev_loop307,11227 -struct sndrv_seq_ev_sample_control sndrv_seq_ev_sample_control312,11366 -struct sndrv_seq_ev_instr_begin sndrv_seq_ev_instr_begin330,11805 -struct sndrv_seq_result sndrv_seq_result334,11904 -struct sndrv_seq_real_time sndrv_seq_real_time340,11988 -typedef unsigned int sndrv_seq_tick_time_t;sndrv_seq_tick_time_t345,12098 -union sndrv_seq_timestamp sndrv_seq_timestamp347,12160 -struct sndrv_seq_queue_skew sndrv_seq_queue_skew352,12255 -struct sndrv_seq_ev_queue_control sndrv_seq_ev_queue_control358,12357 -struct sndrv_seq_ev_quote sndrv_seq_ev_quote372,12774 -struct sndrv_seq_event sndrv_seq_event380,13004 -struct sndrv_seq_event_bounce sndrv_seq_event_bounce413,13909 -#define sndrv_seq_event_bounce_ext_data(sndrv_seq_event_bounce_ext_data419,14021 -#define sndrv_seq_ev_is_result_type(sndrv_seq_ev_is_result_type425,14192 -#define sndrv_seq_ev_is_channel_type(sndrv_seq_ev_is_channel_type427,14285 -#define sndrv_seq_ev_is_note_type(sndrv_seq_ev_is_note_type429,14386 -#define sndrv_seq_ev_is_control_type(sndrv_seq_ev_is_control_type431,14489 -#define sndrv_seq_ev_is_queue_type(sndrv_seq_ev_is_queue_type433,14602 -#define sndrv_seq_ev_is_message_type(sndrv_seq_ev_is_message_type435,14708 -#define sndrv_seq_ev_is_sample_type(sndrv_seq_ev_is_sample_type437,14809 -#define sndrv_seq_ev_is_user_type(sndrv_seq_ev_is_user_type439,14915 -#define sndrv_seq_ev_is_fixed_type(sndrv_seq_ev_is_fixed_type441,15023 -#define sndrv_seq_ev_is_instr_type(sndrv_seq_ev_is_instr_type443,15120 -#define sndrv_seq_ev_is_variable_type(sndrv_seq_ev_is_variable_type445,15237 -#define sndrv_seq_ev_is_reserved(sndrv_seq_ev_is_reserved447,15345 -#define sndrv_seq_ev_is_direct(sndrv_seq_ev_is_direct450,15434 -#define sndrv_seq_ev_is_prior(sndrv_seq_ev_is_prior456,15567 -#define sndrv_seq_ev_length_type(sndrv_seq_ev_length_type459,15696 -#define sndrv_seq_ev_is_fixed(sndrv_seq_ev_is_fixed460,15777 -#define sndrv_seq_ev_is_variable(sndrv_seq_ev_is_variable461,15875 -#define sndrv_seq_ev_is_varusr(sndrv_seq_ev_is_varusr462,15978 -#define sndrv_seq_ev_timestamp_type(sndrv_seq_ev_timestamp_type465,16100 -#define sndrv_seq_ev_is_tick(sndrv_seq_ev_is_tick466,16182 -#define sndrv_seq_ev_is_real(sndrv_seq_ev_is_real467,16279 -#define sndrv_seq_ev_timemode_type(sndrv_seq_ev_timemode_type470,16398 -#define sndrv_seq_ev_is_abstime(sndrv_seq_ev_is_abstime471,16478 -#define sndrv_seq_ev_is_reltime(sndrv_seq_ev_is_reltime472,16574 -#define sndrv_seq_queue_sync_port(sndrv_seq_queue_sync_port475,16693 -struct sndrv_seq_system_info sndrv_seq_system_info478,16768 -struct sndrv_seq_running_info sndrv_seq_running_info490,17119 -#define SNDRV_SEQ_CLIENT_SYSTEM 500,17390 -#define SNDRV_SEQ_CLIENT_DUMMY 501,17425 -#define SNDRV_SEQ_CLIENT_OSS 502,17478 -enum sndrv_seq_client_type sndrv_seq_client_type506,17562 - NO_CLIENT 507,17591 - USER_CLIENT 508,17613 - KERNEL_CLIENT 509,17635 -#define SNDRV_SEQ_FILTER_BROADCAST 513,17710 -#define SNDRV_SEQ_FILTER_MULTICAST 514,17784 -#define SNDRV_SEQ_FILTER_BOUNCE 515,17858 -#define SNDRV_SEQ_FILTER_USE_EVENT 516,17933 -struct sndrv_seq_client_info sndrv_seq_client_info518,18000 -struct sndrv_seq_client_pool sndrv_seq_client_pool532,18493 -#define SNDRV_SEQ_REMOVE_INPUT 545,18888 -#define SNDRV_SEQ_REMOVE_OUTPUT 546,18952 -#define SNDRV_SEQ_REMOVE_DEST 547,19018 -#define SNDRV_SEQ_REMOVE_DEST_CHANNEL 548,19100 -#define SNDRV_SEQ_REMOVE_TIME_BEFORE 549,19171 -#define SNDRV_SEQ_REMOVE_TIME_AFTER 550,19245 -#define SNDRV_SEQ_REMOVE_TIME_TICK 551,19320 -#define SNDRV_SEQ_REMOVE_EVENT_TYPE 552,19385 -#define SNDRV_SEQ_REMOVE_IGNORE_OFF 553,19457 -#define SNDRV_SEQ_REMOVE_TAG_MATCH 554,19531 -struct sndrv_seq_remove_events sndrv_seq_remove_events556,19615 -#define SNDRV_SEQ_PORT_SYSTEM_TIMER 574,20097 -#define SNDRV_SEQ_PORT_SYSTEM_ANNOUNCE 575,20135 -#define SNDRV_SEQ_PORT_CAP_READ 578,20212 -#define SNDRV_SEQ_PORT_CAP_WRITE 579,20282 -#define SNDRV_SEQ_PORT_CAP_SYNC_READ 581,20351 -#define SNDRV_SEQ_PORT_CAP_SYNC_WRITE 582,20395 -#define SNDRV_SEQ_PORT_CAP_DUPLEX 584,20441 -#define SNDRV_SEQ_PORT_CAP_SUBS_READ 586,20483 -#define SNDRV_SEQ_PORT_CAP_SUBS_WRITE 587,20557 -#define SNDRV_SEQ_PORT_CAP_NO_EXPORT 588,20633 -#define SNDRV_SEQ_PORT_TYPE_SPECIFIC 591,20721 -#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC 592,20789 -#define SNDRV_SEQ_PORT_TYPE_MIDI_GM 593,20863 -#define SNDRV_SEQ_PORT_TYPE_MIDI_GS 594,20943 -#define SNDRV_SEQ_PORT_TYPE_MIDI_XG 595,21013 -#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 596,21083 -#define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 597,21158 -#define SNDRV_SEQ_PORT_TYPE_SYNTH 600,21266 -#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE 601,21367 -#define SNDRV_SEQ_PORT_TYPE_SAMPLE 602,21465 -#define SNDRV_SEQ_PORT_TYPE_APPLICATION 604,21577 -#define SNDRV_SEQ_PORT_FLG_GIVEN_PORT 607,21694 -#define SNDRV_SEQ_PORT_FLG_TIMESTAMP 608,21739 -#define SNDRV_SEQ_PORT_FLG_TIME_REAL 609,21783 -struct sndrv_seq_port_info sndrv_seq_port_info611,21828 -#define SNDRV_SEQ_QUEUE_FLG_SYNC 632,22554 -struct sndrv_seq_queue_info sndrv_seq_queue_info635,22638 -struct sndrv_seq_queue_status sndrv_seq_queue_status651,23087 -struct sndrv_seq_queue_tempo sndrv_seq_queue_tempo663,23437 -#define SNDRV_SEQ_TIMER_ALSA 674,23772 -#define SNDRV_SEQ_TIMER_MIDI_CLOCK 675,23821 -#define SNDRV_SEQ_TIMER_MIDI_TICK 676,23889 -struct sndrv_seq_queue_timer sndrv_seq_queue_timer679,23984 -struct sndrv_seq_queue_client sndrv_seq_queue_client692,24277 -#define SNDRV_SEQ_PORT_SUBS_EXCLUSIVE 702,24547 -#define SNDRV_SEQ_PORT_SUBS_TIMESTAMP 703,24619 -#define SNDRV_SEQ_PORT_SUBS_TIME_REAL 704,24664 -struct sndrv_seq_port_subscribe sndrv_seq_port_subscribe706,24710 -#define SNDRV_SEQ_QUERY_SUBS_READ 717,25123 -#define SNDRV_SEQ_QUERY_SUBS_WRITE 718,25159 -struct sndrv_seq_query_subs sndrv_seq_query_subs720,25197 -#define SNDRV_SEQ_INSTR_ATYPE_DATA 738,25675 -#define SNDRV_SEQ_INSTR_ATYPE_ALIAS 739,25734 -#define SNDRV_SEQ_INSTR_ID_DLS1 742,25831 -#define SNDRV_SEQ_INSTR_ID_DLS2 743,25871 -#define SNDRV_SEQ_INSTR_ID_SIMPLE 744,25911 -#define SNDRV_SEQ_INSTR_ID_SOUNDFONT 745,25959 -#define SNDRV_SEQ_INSTR_ID_GUS_PATCH 746,26008 -#define SNDRV_SEQ_INSTR_ID_INTERWAVE 747,26057 -#define SNDRV_SEQ_INSTR_ID_OPL2_3 748,26111 -#define SNDRV_SEQ_INSTR_ID_OPL4 749,26157 -#define SNDRV_SEQ_INSTR_TYPE0_DLS1 752,26221 -#define SNDRV_SEQ_INSTR_TYPE0_DLS2 753,26281 -#define SNDRV_SEQ_INSTR_TYPE1_SIMPLE 754,26341 -#define SNDRV_SEQ_INSTR_TYPE1_SOUNDFONT 755,26403 -#define SNDRV_SEQ_INSTR_TYPE1_GUS_PATCH 756,26470 -#define SNDRV_SEQ_INSTR_TYPE1_INTERWAVE 757,26547 -#define SNDRV_SEQ_INSTR_TYPE2_OPL2_3 758,26615 -#define SNDRV_SEQ_INSTR_TYPE2_OPL4 759,26682 -#define SNDRV_SEQ_INSTR_PUT_CMD_CREATE 762,26762 -#define SNDRV_SEQ_INSTR_PUT_CMD_REPLACE 763,26803 -#define SNDRV_SEQ_INSTR_PUT_CMD_MODIFY 764,26845 -#define SNDRV_SEQ_INSTR_PUT_CMD_ADD 765,26886 -#define SNDRV_SEQ_INSTR_PUT_CMD_REMOVE 766,26924 -#define SNDRV_SEQ_INSTR_GET_CMD_FULL 769,26985 -#define SNDRV_SEQ_INSTR_GET_CMD_PARTIAL 770,27024 -#define SNDRV_SEQ_INSTR_QUERY_FOLLOW_ALIAS 773,27085 -#define SNDRV_SEQ_INSTR_FREE_CMD_ALL 776,27156 -#define SNDRV_SEQ_INSTR_FREE_CMD_PRIVATE 777,27196 -#define SNDRV_SEQ_INSTR_FREE_CMD_CLUSTER 778,27239 -#define SNDRV_SEQ_INSTR_FREE_CMD_SINGLE 779,27282 -typedef unsigned int sndrv_seq_instr_size_t;sndrv_seq_instr_size_t782,27348 -struct sndrv_seq_instr_info sndrv_seq_instr_info786,27412 -struct sndrv_seq_instr_status sndrv_seq_instr_status798,27796 -struct sndrv_seq_instr_format_info sndrv_seq_instr_format_info807,28040 -struct sndrv_seq_instr_format_info_result sndrv_seq_instr_format_info_result812,28215 -struct sndrv_seq_instr_data sndrv_seq_instr_data819,28436 -struct sndrv_seq_instr_header sndrv_seq_instr_header831,28761 -struct sndrv_seq_instr_cluster_set sndrv_seq_instr_cluster_set846,29269 -struct sndrv_seq_instr_cluster_get sndrv_seq_instr_cluster_get855,29519 -#define SNDRV_SEQ_IOCTL_PVERSION 866,29771 -#define SNDRV_SEQ_IOCTL_CLIENT_ID 867,29826 -#define SNDRV_SEQ_IOCTL_SYSTEM_INFO 868,29882 -#define SNDRV_SEQ_IOCTL_RUNNING_MODE 869,29965 -#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO 871,30051 -#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO 872,30138 -#define SNDRV_SEQ_IOCTL_CREATE_PORT 874,30226 -#define SNDRV_SEQ_IOCTL_DELETE_PORT 875,30307 -#define SNDRV_SEQ_IOCTL_GET_PORT_INFO 876,30388 -#define SNDRV_SEQ_IOCTL_SET_PORT_INFO 877,30471 -#define SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT 879,30555 -#define SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT 880,30644 -#define SNDRV_SEQ_IOCTL_CREATE_QUEUE 882,30736 -#define SNDRV_SEQ_IOCTL_DELETE_QUEUE 883,30819 -#define SNDRV_SEQ_IOCTL_GET_QUEUE_INFO 884,30902 -#define SNDRV_SEQ_IOCTL_SET_QUEUE_INFO 885,30987 -#define SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE 886,31072 -#define SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS 887,31158 -#define SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO 888,31247 -#define SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO 889,31334 -#define SNDRV_SEQ_IOCTL_GET_QUEUE_OWNER 890,31421 -#define SNDRV_SEQ_IOCTL_SET_QUEUE_OWNER 891,31508 -#define SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER 892,31595 -#define SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER 893,31682 -#define SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT 898,31949 -#define SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT 899,32038 -#define SNDRV_SEQ_IOCTL_GET_CLIENT_POOL 900,32127 -#define SNDRV_SEQ_IOCTL_SET_CLIENT_POOL 901,32214 -#define SNDRV_SEQ_IOCTL_REMOVE_EVENTS 902,32301 -#define SNDRV_SEQ_IOCTL_QUERY_SUBS 903,32388 -#define SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION 904,32469 -#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT 905,32560 -#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT 906,32649 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/sscape_ioctl.h,236 -#define SSCAPE_IOCTL_H2,23 -struct sscape_bootblocksscape_bootblock5,48 -#define SSCAPE_MICROCODE_SIZE 11,125 -struct sscape_microcodesscape_microcode13,163 -#define SND_SSCAPE_LOAD_BOOTB 18,223 -#define SND_SSCAPE_LOAD_MCODE 19,295 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_midi_event.h,198 -#define __SOUND_SEQ_MIDI_EVENT_H2,33 -#define MAX_MIDI_EVENT_BUF 27,994 -typedef struct snd_midi_event_t snd_midi_event_t;snd_midi_event_t29,1026 -struct snd_midi_event_t snd_midi_event_t32,1095 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/initval.h,1068 -#define __SOUND_INITVAL_H2,26 -#define SNDRV_AUTO_PORT 24,892 -#define SNDRV_AUTO_IRQ 25,919 -#define SNDRV_AUTO_DMA 26,950 -#define SNDRV_AUTO_DMA_SIZE 27,981 -#define SNDRV_DEFAULT_IDX1 29,1023 -#define SNDRV_DEFAULT_STR1 30,1055 -#define SNDRV_DEFAULT_ENABLE1 31,1087 -#define SNDRV_DEFAULT_PORT1 32,1119 -#define SNDRV_DEFAULT_IRQ1 33,1163 -#define SNDRV_DEFAULT_DMA1 34,1205 -#define SNDRV_DEFAULT_DMA_SIZE1 35,1247 -#define SNDRV_DEFAULT_PTR1 36,1299 -#define SNDRV_DEFAULT_IDX 38,1346 -#define SNDRV_DEFAULT_STR 39,1405 -#define SNDRV_DEFAULT_ENABLE 40,1466 -#define SNDRV_DEFAULT_ENABLE_PNP 41,1530 -#define SNDRV_DEFAULT_ENABLE_ISAPNP 43,1613 -#define SNDRV_DEFAULT_ENABLE_ISAPNP 45,1680 -#define SNDRV_DEFAULT_PORT 47,1744 -#define SNDRV_DEFAULT_IRQ 48,1817 -#define SNDRV_DEFAULT_DMA 49,1888 -#define SNDRV_DEFAULT_DMA_SIZE 50,1959 -#define SNDRV_DEFAULT_PTR 51,2040 -static int snd_legacy_auto_probe(54,2116 -static irqreturn_t snd_legacy_empty_irq_handler(70,2436 -static int snd_legacy_find_free_irq(75,2555 -static int snd_legacy_find_free_dma(90,2902 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/soundmem.h,55 -struct SNDRV_STRU_BANK_INFO SNDRV_STRU_BANK_INFO5,38 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/trident.h,9264 -#define __SOUND_TRIDENT_H2,26 -#define PCI_VENDOR_ID_TRIDENT 37,1154 -#define PCI_DEVICE_ID_TRIDENT_4DWAVE_DX 40,1240 -#define PCI_DEVICE_ID_TRIDENT_4DWAVE_NX 43,1335 -#define PCI_VENDOR_ID_SI 47,1415 -#define PCI_DEVICE_ID_SI_7018 50,1485 -#define TRIDENT_DEVICE_ID_DX 53,1531 -#define TRIDENT_DEVICE_ID_NX 54,1623 -#define TRIDENT_DEVICE_ID_SI7018 55,1715 -#define SNDRV_SEQ_DEV_ID_TRIDENT 57,1796 -#define SNDRV_TRIDENT_VOICE_TYPE_PCM 59,1848 -#define SNDRV_TRIDENT_VOICE_TYPE_SYNTH 60,1888 -#define SNDRV_TRIDENT_VOICE_TYPE_MIDI 61,1930 -#define SNDRV_TRIDENT_VFLG_RUNNING 63,1972 -#define SNDRV_TRIDENT_PAGE_SIZE 66,2041 -#define SNDRV_TRIDENT_PAGE_SHIFT 67,2080 -#define SNDRV_TRIDENT_PAGE_MASK 68,2118 -#define SNDRV_TRIDENT_MAX_PAGES 69,2186 -#define TRID_REG(TRID_REG75,2254 -#define ID_4DWAVE_DX 77,2308 -#define ID_4DWAVE_NX 78,2343 -#define T4D_BANK_A 82,2403 -#define T4D_BANK_B 83,2424 -#define T4D_NUM_BANKS 84,2445 -enum global_control_bits global_control_bits90,2522 - CHANNEL_IDX 91,2549 - CHANNEL_IDX = 0x0000003f,91,2549 - OVERRUN_IE 92,2576 - OVERRUN_IE = 0x00000400,92,2576 - UNDERRUN_IE 93,2642 - UNDERRUN_IE = 0x00000800,93,2642 - ENDLP_IE 94,2711 - ENDLP_IE = 0x00001000,94,2711 - MIDLP_IE 95,2773 - MIDLP_IE = 0x00002000,95,2773 - ETOG_IE 96,2835 - ETOG_IE = 0x00004000,96,2835 - EDROP_IE 97,2901 - EDROP_IE = 0x00008000,97,2901 - BANK_B_EN 98,2963 - BANK_B_EN = 0x00010000,98,2963 - PCMIN_B_MIX 99,3027 - PCMIN_B_MIX = 0x00020000,99,3027 - I2S_OUT_ASSIGN 100,3088 - I2S_OUT_ASSIGN = 0x00040000,100,3088 - SPDIF_OUT_ASSIGN=101,3159 - SPDIF_OUT_ASSIGN= 0x00080000,101,3159 - MAIN_OUT_ASSIGN 102,3231 - MAIN_OUT_ASSIGN = 0x00100000,102,3231 -enum miscint_bits miscint_bits105,3311 - PB_UNDERRUN_IRQ 106,3331 - PB_UNDERRUN_IRQ = 0x00000001,106,3331 - PB_UNDERRUN_IRQ = 0x00000001, REC_OVERRUN_IRQ 106,3331 - PB_UNDERRUN_IRQ = 0x00000001, REC_OVERRUN_IRQ = 0x00000002,106,3331 - SB_IRQ 107,3392 - SB_IRQ = 0x00000004,107,3392 - SB_IRQ = 0x00000004, MPU401_IRQ 107,3392 - SB_IRQ = 0x00000004, MPU401_IRQ = 0x00000008,107,3392 - OPL3_IRQ 108,3445 - OPL3_IRQ = 0x00000010,108,3445 - OPL3_IRQ = 0x00000010, ADDRESS_IRQ 108,3445 - OPL3_IRQ = 0x00000010, ADDRESS_IRQ = 0x00000020,108,3445 - ENVELOPE_IRQ 109,3506 - ENVELOPE_IRQ = 0x00000040,109,3506 - ENVELOPE_IRQ = 0x00000040, PB_UNDERRUN 109,3506 - ENVELOPE_IRQ = 0x00000040, PB_UNDERRUN = 0x00000100,109,3506 - REC_OVERRUN 110,3567 - REC_OVERRUN = 0x00000200,110,3567 - REC_OVERRUN = 0x00000200, MIXER_UNDERFLOW 110,3567 - REC_OVERRUN = 0x00000200, MIXER_UNDERFLOW = 0x00000400,110,3567 - MIXER_OVERFLOW 111,3624 - MIXER_OVERFLOW = 0x00000800,111,3624 - MIXER_OVERFLOW = 0x00000800, NX_SB_IRQ_DISABLE 111,3624 - MIXER_OVERFLOW = 0x00000800, NX_SB_IRQ_DISABLE = 0x00001000,111,3624 - ST_TARGET_REACHED 112,3687 - ST_TARGET_REACHED = 0x00008000,112,3687 - PB_24K_MODE 113,3727 - PB_24K_MODE = 0x00010000,113,3727 - PB_24K_MODE = 0x00010000, ST_IRQ_EN 113,3727 - PB_24K_MODE = 0x00010000, ST_IRQ_EN = 0x00800000,113,3727 - ACGPIO_IRQ 114,3788 - ACGPIO_IRQ = 0x01000000114,3788 -#define LEGACY_DMAR0 118,3856 -#define LEGACY_DMAR4 119,3906 -#define LEGACY_DMAR6 120,3956 -#define LEGACY_DMAR11 121,4008 -#define LEGACY_DMAR15 122,4058 -#define T4D_START_A 124,4109 -#define T4D_STOP_A 125,4140 -#define T4D_DLY_A 126,4170 -#define T4D_SIGN_CSO_A 127,4199 -#define T4D_CSPF_A 128,4233 -#define T4D_CSPF_B 129,4263 -#define T4D_CEBC_A 130,4293 -#define T4D_AINT_A 131,4323 -#define T4D_AINTEN_A 132,4353 -#define T4D_LFO_GC_CIR 133,4385 -#define T4D_MUSICVOL_WAVEVOL 134,4427 -#define T4D_SBDELTA_DELTA_R 135,4469 -#define T4D_MISCINT 136,4511 -#define T4D_START_B 137,4553 -#define T4D_STOP_B 138,4595 -#define T4D_SBBL_SBCL 139,4637 -#define T4D_SBCTRL_SBE2R_SBDD 140,4679 -#define T4D_STIMER 141,4721 -#define T4D_AINT_B 142,4751 -#define T4D_AINTEN_B 143,4793 -#define T4D_RCI 144,4835 -#define T4D_MPU401_BASE 147,4897 -#define T4D_MPUR0 148,4938 -#define T4D_MPUR1 149,4979 -#define T4D_MPUR2 150,5020 -#define T4D_MPUR3 151,5061 -#define NX_SPCTRL_SPCSO 154,5126 -#define NX_SPLBA 155,5167 -#define NX_SPESO 156,5208 -#define NX_SPCSTATUS 157,5249 -#define GAMEPORT_GCR 160,5306 -#define GAMEPORT_MODE_ADC 161,5347 -#define GAMEPORT_LEGACY 162,5388 -#define GAMEPORT_AXES 163,5429 -#define NX_TLBC 166,5499 -#define CH_START 170,5566 -#define CH_DX_CSO_ALPHA_FMS 172,5594 -#define CH_DX_ESO_DELTA 173,5635 -#define CH_DX_FMC_RVOL_CVOL 174,5676 -#define CH_NX_DELTA_CSO 176,5718 -#define CH_NX_DELTA_ESO 177,5759 -#define CH_NX_ALPHA_FMS_FMC_RVOL_CVOL 178,5800 -#define CH_LBA 180,5844 -#define CH_GVSEL_PAN_VOL_CTRL_EC 181,5885 -#define CH_EBUF1 182,5926 -#define CH_EBUF2 183,5967 -#define DX_ACR0_AC97_W 187,6032 -#define DX_ACR1_AC97_R 188,6073 -#define DX_ACR2_AC97_COM_STAT 189,6114 -#define NX_ACR0_AC97_COM_STAT 191,6156 -#define NX_ACR1_AC97_W 192,6197 -#define NX_ACR2_AC97_R_PRIMARY 193,6238 -#define NX_ACR3_AC97_R_SECONDARY 194,6279 -#define SI_AC97_WRITE 196,6321 -#define SI_AC97_READ 197,6353 -#define SI_SERIAL_INTF_CTRL 198,6384 -#define SI_AC97_GPIO 199,6421 -#define SI_ASR0 200,6452 -#define SI_SPDIF_CS 201,6479 -#define SI_GPIO 202,6509 -enum trident_nx_ac97_bits trident_nx_ac97_bits204,6537 - NX_AC97_BUSY_WRITE 206,6579 - NX_AC97_BUSY_WRITE = 0x0800,206,6579 - NX_AC97_BUSY_READ 207,6610 - NX_AC97_BUSY_READ = 0x0800,207,6610 - NX_AC97_BUSY_DATA 208,6639 - NX_AC97_BUSY_DATA = 0x0400,208,6639 - NX_AC97_WRITE_SECONDARY 209,6669 - NX_AC97_WRITE_SECONDARY = 0x0100,209,6669 - NX_AC97_SECONDARY_READY 211,6716 - NX_AC97_SECONDARY_READY = 0x0040,211,6716 - NX_AC97_SECONDARY_RECORD 212,6751 - NX_AC97_SECONDARY_RECORD = 0x0020,212,6751 - NX_AC97_SURROUND_OUTPUT 213,6787 - NX_AC97_SURROUND_OUTPUT = 0x0010,213,6787 - NX_AC97_PRIMARY_READY 214,6822 - NX_AC97_PRIMARY_READY = 0x0008,214,6822 - NX_AC97_PRIMARY_RECORD 215,6855 - NX_AC97_PRIMARY_RECORD = 0x0004,215,6855 - NX_AC97_PCM_OUTPUT 216,6889 - NX_AC97_PCM_OUTPUT = 0x0002,216,6889 - NX_AC97_WARM_RESET 217,6919 - NX_AC97_WARM_RESET = 0x0001217,6919 -enum trident_dx_ac97_bits trident_dx_ac97_bits220,6952 - DX_AC97_BUSY_WRITE 221,6980 - DX_AC97_BUSY_WRITE = 0x8000,221,6980 - DX_AC97_BUSY_READ 222,7010 - DX_AC97_BUSY_READ = 0x8000,222,7010 - DX_AC97_READY 223,7039 - DX_AC97_READY = 0x0010,223,7039 - DX_AC97_RECORD 224,7065 - DX_AC97_RECORD = 0x0008,224,7065 - DX_AC97_PLAYBACK 225,7092 - DX_AC97_PLAYBACK = 0x0002225,7092 -enum sis7018_ac97_bits sis7018_ac97_bits228,7123 - SI_AC97_BUSY_WRITE 229,7148 - SI_AC97_BUSY_WRITE = 0x00008000,229,7148 - SI_AC97_AUDIO_BUSY 230,7182 - SI_AC97_AUDIO_BUSY = 0x00004000,230,7182 - SI_AC97_MODEM_BUSY 231,7216 - SI_AC97_MODEM_BUSY = 0x00002000,231,7216 - SI_AC97_BUSY_READ 232,7250 - SI_AC97_BUSY_READ = 0x00008000,232,7250 - SI_AC97_SECONDARY 233,7283 - SI_AC97_SECONDARY = 0x00000080,233,7283 -enum serial_intf_ctrl_bits serial_intf_ctrl_bits236,7320 - WARM_RESET 237,7349 - WARM_RESET = 0x00000001,237,7349 - COLD_RESET 238,7375 - COLD_RESET = 0x00000002,238,7375 - I2S_CLOCK 239,7401 - I2S_CLOCK = 0x00000004,239,7401 - PCM_SEC_AC97 240,7426 - PCM_SEC_AC97 = 0x00000008,240,7426 - AC97_DBL_RATE 241,7454 - AC97_DBL_RATE = 0x00000010,241,7454 - SPDIF_EN 242,7483 - SPDIF_EN = 0x00000020,242,7483 - I2S_OUTPUT_EN 243,7507 - I2S_OUTPUT_EN = 0x00000040,243,7507 - I2S_INPUT_EN 244,7536 - I2S_INPUT_EN = 0x00000080,244,7536 - PCMIN 245,7564 - PCMIN = 0x00000100,245,7564 - LINE1IN 246,7586 - LINE1IN = 0x00000200,246,7586 - MICIN 247,7610 - MICIN = 0x00000400,247,7610 - LINE2IN 248,7632 - LINE2IN = 0x00000800,248,7632 - HEAD_SET_IN 249,7656 - HEAD_SET_IN = 0x00001000,249,7656 - GPIOIN 250,7683 - GPIOIN = 0x00002000,250,7683 - SECONDARY_ID 253,7798 - SECONDARY_ID = 0x00004000,253,7798 - PCMOUT 254,7826 - PCMOUT = 0x00010000,254,7826 - SURROUT 255,7849 - SURROUT = 0x00020000,255,7849 - CENTEROUT 256,7873 - CENTEROUT = 0x00040000,256,7873 - LFEOUT 257,7898 - LFEOUT = 0x00080000,257,7898 - LINE1OUT 258,7921 - LINE1OUT = 0x00100000,258,7921 - LINE2OUT 259,7945 - LINE2OUT = 0x00200000,259,7945 - GPIOOUT 260,7969 - GPIOOUT = 0x00400000,260,7969 - SI_AC97_PRIMARY_READY 261,7993 - SI_AC97_PRIMARY_READY = 0x01000000,261,7993 - SI_AC97_SECONDARY_READY 262,8030 - SI_AC97_SECONDARY_READY = 0x02000000,262,8030 - SI_AC97_POWERDOWN 263,8069 - SI_AC97_POWERDOWN = 0x04000000,263,8069 -#define T4D_DEFAULT_PCM_VOL 268,8257 -#define T4D_DEFAULT_PCM_PAN 269,8302 -#define T4D_DEFAULT_PCM_RVOL 270,8346 -#define T4D_DEFAULT_PCM_CVOL 271,8393 -typedef struct _snd_trident trident_t;trident_t273,8441 -typedef struct _snd_trident_voice snd_trident_voice_t;snd_trident_voice_t274,8480 -typedef struct _snd_trident_pcm_mixer snd_trident_pcm_mixer_t;snd_trident_pcm_mixer_t275,8535 -} snd_trident_sample_ops_t;snd_trident_sample_ops_t285,9272 -} snd_trident_port_t;snd_trident_port_t294,9515 -typedef struct snd_trident_memblk_arg snd_trident_memblk_arg296,9538 -} snd_trident_memblk_arg_t;snd_trident_memblk_arg_t298,9608 -} snd_trident_tlb_t;snd_trident_tlb_t307,9980 -struct _snd_trident_voice _snd_trident_voice309,10002 -struct _snd_4dwave _snd_4dwave370,11695 -struct _snd_trident_pcm_mixer _snd_trident_pcm_mixer384,12053 -struct _snd_trident _snd_trident393,12319 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/sb16_csp.h,1902 -#define __SOUND_SB16_CSP_H2,27 -#define SNDRV_SB_CSP_MODE_NONE 27,965 -#define SNDRV_SB_CSP_MODE_DSP_READ 28,1002 -#define SNDRV_SB_CSP_MODE_DSP_WRITE 29,1064 -#define SNDRV_SB_CSP_MODE_QSOUND 30,1123 -#define SNDRV_SB_CSP_LOAD_FROMUSER 33,1197 -#define SNDRV_SB_CSP_LOAD_INITBLOCK 34,1237 -#define SNDRV_SB_CSP_SAMPLE_8BIT 37,1302 -#define SNDRV_SB_CSP_SAMPLE_16BIT 38,1341 -#define SNDRV_SB_CSP_MONO 41,1401 -#define SNDRV_SB_CSP_STEREO 42,1434 -#define SNDRV_SB_CSP_RATE_8000 45,1485 -#define SNDRV_SB_CSP_RATE_11025 46,1522 -#define SNDRV_SB_CSP_RATE_22050 47,1560 -#define SNDRV_SB_CSP_RATE_44100 48,1598 -#define SNDRV_SB_CSP_RATE_ALL 49,1636 -#define SNDRV_SB_CSP_ST_IDLE 52,1697 -#define SNDRV_SB_CSP_ST_LOADED 53,1732 -#define SNDRV_SB_CSP_ST_RUNNING 54,1769 -#define SNDRV_SB_CSP_ST_PAUSED 55,1807 -#define SNDRV_SB_CSP_ST_AUTO 56,1844 -#define SNDRV_SB_CSP_ST_QSOUND 57,1879 -#define SNDRV_SB_CSP_QSOUND_MAX_RIGHT 60,1964 -#define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE 63,2047 -typedef struct snd_sb_csp_mc_header snd_sb_csp_mc_header66,2123 -} snd_sb_csp_mc_header_t;snd_sb_csp_mc_header_t69,2258 -typedef struct snd_sb_csp_microcode snd_sb_csp_microcode72,2314 -} snd_sb_csp_microcode_t;snd_sb_csp_microcode_t75,2441 -typedef struct snd_sb_csp_start snd_sb_csp_start78,2517 -} snd_sb_csp_start_t;snd_sb_csp_start_t81,2644 -typedef struct snd_sb_csp_info snd_sb_csp_info84,2689 -} snd_sb_csp_info_t;snd_sb_csp_info_t96,3290 -#define SNDRV_SB_CSP_IOCTL_INFO 100,3359 -#define SNDRV_SB_CSP_IOCTL_LOAD_CODE 102,3455 -#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE 104,3564 -#define SNDRV_SB_CSP_IOCTL_START 106,3634 -#define SNDRV_SB_CSP_IOCTL_STOP 108,3719 -#define SNDRV_SB_CSP_IOCTL_PAUSE 110,3800 -#define SNDRV_SB_CSP_IOCTL_RESTART 112,3884 -typedef struct snd_sb_csp snd_sb_csp_t;snd_sb_csp_t118,3989 -} snd_sb_csp_ops_t;snd_sb_csp_ops_t130,4374 -struct snd_sb_csp snd_sb_csp135,4422 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/tea6330t.h,65 -#define __SOUND_TEA6330T_H2,27 -} tea6330t_t;tea6330t_t37,1179 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ainstr_gf1.h,1194 -#define __SOUND_AINSTR_GF1_H25,920 -#define GF1_SHARE_FILE 36,1064 -#define GF1_WAVE_16BIT 42,1117 -#define GF1_WAVE_UNSIGNED 43,1168 -#define GF1_WAVE_INVERT 44,1223 -#define GF1_WAVE_BACKWARD 45,1285 -#define GF1_WAVE_LOOP 46,1382 -#define GF1_WAVE_BIDIR 47,1430 -#define GF1_WAVE_STEREO 48,1488 -#define GF1_WAVE_ULAW 49,1539 -typedef struct gf1_wave gf1_wave55,1633 -} gf1_wave_t;gf1_wave_t91,3055 -#define IWFFFF_EXCLUDE_NONE 97,3093 -#define IWFFFF_EXCLUDE_SINGLE 98,3157 -#define IWFFFF_EXCLUDE_MULTIPLE 99,3256 -#define IWFFFF_EFFECT_NONE 101,3363 -#define IWFFFF_EFFECT_REVERB 102,3393 -#define IWFFFF_EFFECT_CHORUS 103,3425 -#define IWFFFF_EFFECT_ECHO 104,3457 -} gf1_instrument_t;gf1_instrument_t116,3796 -#define GF1_STRU_WAVE 131,4029 -#define GF1_STRU_INSTR 132,4100 -typedef struct gf1_xwave gf1_xwave138,4207 -} gf1_xwave_t;gf1_xwave_t168,5237 -typedef struct gf1_xinstrument gf1_xinstrument174,5276 -} gf1_xinstrument_t;gf1_xinstrument_t184,5525 -#define GF1_INFO_ENVELOPE 190,5575 -#define GF1_INFO_TREMOLO 191,5609 -#define GF1_INFO_VIBRATO 192,5642 -typedef struct gf1_info gf1_info194,5676 -} gf1_info_t;gf1_info_t200,5941 -} snd_gf1_ops_t;snd_gf1_ops_t219,6522 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_device.h,531 -#define __SOUND_SEQ_DEVICE_H2,29 -typedef struct snd_seq_device snd_seq_device_t;snd_seq_device_t24,899 -typedef struct snd_seq_dev_ops snd_seq_dev_ops_t;snd_seq_dev_ops_t25,947 -#define ID_LEN 31,1039 -#define SNDRV_SEQ_DEVICE_FREE 34,1076 -#define SNDRV_SEQ_DEVICE_REGISTERED 35,1109 -struct snd_seq_device snd_seq_device37,1148 -struct snd_seq_dev_ops snd_seq_dev_ops65,1993 -#define SNDRV_SEQ_DEVICE_ARGPTR(SNDRV_SEQ_DEVICE_ARGPTR78,2409 -#define SNDRV_SEQ_DEV_ID_MIDISYNTH 84,2540 -#define SNDRV_SEQ_DEV_ID_OPL3 85,2586 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_virmidi.h,453 -#define __SOUND_SEQ_VIRMIDI_H2,30 -typedef struct _snd_virmidi_dev snd_virmidi_dev_t;snd_virmidi_dev_t28,1014 -typedef struct _snd_virmidi _snd_virmidi36,1287 -} snd_virmidi_t;snd_virmidi_t46,1511 -#define SNDRV_VIRMIDI_SUBSCRIBE 48,1529 -#define SNDRV_VIRMIDI_USE 49,1569 -struct _snd_virmidi_dev _snd_virmidi_dev56,1755 -#define SNDRV_VIRMIDI_SEQ_NONE 77,2556 -#define SNDRV_VIRMIDI_SEQ_ATTACH 78,2590 -#define SNDRV_VIRMIDI_SEQ_DISPATCH 79,2625 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/emu10k1_synth.h,242 -#define __EMU10K1_SYNTH_H2,26 -#define SNDRV_SEQ_DEV_ID_EMU10K1_SYNTH 27,968 -typedef struct snd_emu10k1_synth_arg snd_emu10k1_synth_arg30,1062 -} snd_emu10k1_synth_arg_t;snd_emu10k1_synth_arg_t35,1299 -#define EMU10K1_MAX_MEMSIZE 37,1327 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/pcm_params.h,1706 -#define __SOUND_PCM_PARAMS_H2,29 -#define INLINE 39,1679 -#define assert(assert40,1708 -#define SNDRV_MASK_BITS 42,1737 -#define SNDRV_MASK_SIZE 43,1796 -#define MASK_OFS(MASK_OFS44,1843 -#define MASK_BIT(MASK_BIT45,1874 -INLINE unsigned int ld2(47,1914 -INLINE size_t snd_mask_sizeof(72,2379 -INLINE void snd_mask_none(77,2448 -INLINE void snd_mask_any(82,2530 -INLINE int snd_mask_empty(87,2636 -INLINE unsigned int snd_mask_min(96,2783 -INLINE unsigned int snd_mask_max(107,3006 -INLINE void snd_mask_set(118,3230 -INLINE void snd_mask_reset(124,3374 -INLINE void snd_mask_set_range(130,3521 -INLINE void snd_mask_reset_range(138,3746 -INLINE void snd_mask_leave(146,3974 -INLINE void snd_mask_intersect(155,4194 -INLINE int snd_mask_eq(162,4347 -INLINE void snd_mask_copy(167,4484 -INLINE int snd_mask_test(172,4567 -INLINE int snd_mask_single(178,4723 -INLINE int snd_mask_refine(194,5002 -INLINE int snd_mask_refine_first(205,5259 -INLINE int snd_mask_refine_last(214,5441 -INLINE int snd_mask_refine_min(223,5622 -INLINE int snd_mask_refine_max(234,5867 -INLINE int snd_mask_refine_set(245,6126 -INLINE int snd_mask_value(256,6369 -INLINE void snd_interval_any(262,6484 -INLINE void snd_interval_none(272,6636 -INLINE int snd_interval_checkempty(277,6705 -INLINE int snd_interval_empty(283,6851 -INLINE int snd_interval_single(288,6929 -INLINE int snd_interval_value(295,7094 -INLINE int snd_interval_min(301,7203 -INLINE int snd_interval_max(307,7310 -INLINE int snd_interval_test(317,7466 -INLINE void snd_interval_copy(323,7656 -INLINE int snd_interval_setinteger(328,7745 -INLINE int snd_interval_eq(338,7930 -static inline unsigned int add(348,8198 -static inline unsigned int sub(355,8324 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ak4xxx-adda.h,690 -#define __SOUND_AK4XXX_ADDA_H2,30 -#define AK4XXX_MAX_CHIPS 27,987 -typedef struct snd_akm4xxx akm4xxx_t;akm4xxx_t30,1022 -struct snd_ak4xxx_ops snd_ak4xxx_ops32,1061 -#define AK4XXX_IMAGE_SIZE 40,1378 -struct snd_akm4xxx snd_akm4xxx42,1444 - SND_AK4524,53,2003 - SND_AK4524, SND_AK4528,53,2003 - SND_AK4524, SND_AK4528, SND_AK4529,53,2003 - SND_AK4524, SND_AK4528, SND_AK4529, SND_AK4355,53,2003 - SND_AK4524, SND_AK4528, SND_AK4529, SND_AK4355, SND_AK438153,2003 -#define snd_akm4xxx_get(snd_akm4xxx_get63,2328 -#define snd_akm4xxx_set(snd_akm4xxx_set64,2399 -#define snd_akm4xxx_get_ipga(snd_akm4xxx_get_ipga65,2484 -#define snd_akm4xxx_set_ipga(snd_akm4xxx_set_ipga66,2557 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/pcm_oss.h,805 -#define __SOUND_PCM_OSS_H2,26 -typedef struct _snd_pcm_plugin snd_pcm_plugin_t;snd_pcm_plugin_t25,916 -typedef struct _snd_pcm_oss_setup snd_pcm_oss_setup_t;snd_pcm_oss_setup_t26,965 -struct _snd_pcm_oss_setup _snd_pcm_oss_setup28,1021 -typedef struct _snd_pcm_oss_runtime _snd_pcm_oss_runtime41,1268 -} snd_pcm_oss_runtime_t;snd_pcm_oss_runtime_t64,2240 -typedef struct _snd_pcm_oss_file _snd_pcm_oss_file66,2266 -} snd_pcm_oss_file_t;snd_pcm_oss_file_t68,2335 -typedef struct _snd_pcm_oss_substream _snd_pcm_oss_substream70,2358 -} snd_pcm_oss_substream_t;snd_pcm_oss_substream_t74,2509 -typedef struct _snd_pcm_oss_stream _snd_pcm_oss_stream76,2537 -} snd_pcm_oss_stream_t;snd_pcm_oss_stream_t80,2694 -typedef struct _snd_pcm_oss _snd_pcm_oss82,2719 -} snd_pcm_oss_t;snd_pcm_oss_t85,2783 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ainstr_fm.h,481 -#define __SOUND_AINSTR_FM_H25,908 -#define FM_SHARE_FILE 36,1051 -typedef struct fm_operator fm_operator42,1100 -} fm_operator_t;fm_operator_t48,1267 -#define FM_PATCH_OPL2 54,1308 -#define FM_PATCH_OPL3 55,1373 -} fm_instrument_t;fm_instrument_t71,1802 -#define FM_STRU_INSTR 85,1991 -typedef struct fm_xoperator fm_xoperator91,2085 -} fm_xoperator_t;fm_xoperator_t97,2208 -typedef struct fm_xinstrument fm_xinstrument103,2250 -} fm_xinstrument_t;fm_xinstrument_t119,2601 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs8403.h,451 -#define __SOUND_CS8403_H2,25 -#define SND_CS8403_DECL 29,1010 -#define SND_CS8403_DECODE 32,1074 -#define SND_CS8403_ENCODE 35,1162 -SND_CS8403_DECL void SND_CS8403_DECODE(39,1226 -SND_CS8403_DECL unsigned char SND_CS8403_ENCODE(82,2987 -#define SND_CS8404_DECL 159,5327 -#define SND_CS8404_DECODE 162,5391 -#define SND_CS8404_ENCODE 165,5479 -SND_CS8404_DECL void SND_CS8404_DECODE(169,5543 -SND_CS8404_DECL unsigned char SND_CS8404_ENCODE(208,7067 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/tea575x-tuner.h,180 -#define __SOUND_TEA575X_TUNER_H2,32 -typedef struct snd_tea575x tea575x_t;tea575x_t27,965 -struct snd_tea575x_ops snd_tea575x_ops29,1004 -struct snd_tea575x snd_tea575x34,1122 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/sfnt_info.h,3526 -#define __SOUND_SFNT_INFO_H2,28 -#define SNDRV_OSS_PATCHKEY(SNDRV_OSS_PATCHKEY32,987 -#define SNDRV_OSS_PATCHKEY(SNDRV_OSS_PATCHKEY34,1036 -typedef struct soundfont_patch_info_t soundfont_patch_info_t38,1129 -#define SNDRV_OSS_SOUNDFONT_PATCH 40,1215 -#define SNDRV_SFNT_LOAD_INFO 48,1511 -#define SNDRV_SFNT_LOAD_DATA 49,1563 -#define SNDRV_SFNT_OPEN_PATCH 50,1617 -#define SNDRV_SFNT_CLOSE_PATCH 51,1669 -#define SNDRV_SFNT_REPLACE_DATA 53,1734 -#define SNDRV_SFNT_MAP_PRESET 54,1808 -#define SNDRV_SFNT_PROBE_DATA 56,1881 -#define SNDRV_SFNT_REMOVE_INFO 57,1934 -} soundfont_patch_info_t;soundfont_patch_info_t62,2091 -#define SNDRV_SFNT_PATCH_NAME_LEN 69,2141 -typedef struct soundfont_open_parm_t soundfont_open_parm_t71,2179 -#define SNDRV_SFNT_PAT_TYPE_MISC 73,2259 -#define SNDRV_SFNT_PAT_TYPE_GUS 74,2294 -#define SNDRV_SFNT_PAT_TYPE_MAP 75,2328 -#define SNDRV_SFNT_PAT_LOCKED 76,2362 -#define SNDRV_SFNT_PAT_SHARED 77,2421 -} soundfont_open_parm_t;soundfont_open_parm_t81,2537 -typedef struct soundfont_voice_parm_t soundfont_voice_parm_t89,2669 -} soundfont_voice_parm_t;soundfont_voice_parm_t111,3974 -typedef struct soundfont_voice_info_t soundfont_voice_info_t115,4040 -#define SNDRV_SFNT_MODE_ROMSOUND 122,4374 -#define SNDRV_SFNT_MODE_STEREO 123,4415 -#define SNDRV_SFNT_MODE_LOOPING 124,4449 -#define SNDRV_SFNT_MODE_NORELEASE 125,4484 -#define SNDRV_SFNT_MODE_INIT_PARM 126,4536 -} soundfont_voice_info_t;soundfont_voice_info_t140,5226 -typedef struct soundfont_voice_rec_hdr_t soundfont_voice_rec_hdr_t144,5292 -#define SNDRV_SFNT_WR_APPEND 149,5516 -#define SNDRV_SFNT_WR_EXCLUSIVE 150,5568 -#define SNDRV_SFNT_WR_REPLACE 151,5632 -} soundfont_voice_rec_hdr_t;soundfont_voice_rec_hdr_t152,5697 -typedef struct soundfont_sample_info_t soundfont_sample_info_t160,5804 -#define SNDRV_SFNT_SAMPLE_8BITS 168,6151 -#define SNDRV_SFNT_SAMPLE_UNSIGNED 169,6211 -#define SNDRV_SFNT_SAMPLE_NO_BLANK 170,6276 -#define SNDRV_SFNT_SAMPLE_SINGLESHOT 171,6345 -#define SNDRV_SFNT_SAMPLE_BIDIR_LOOP 172,6411 -#define SNDRV_SFNT_SAMPLE_STEREO_LEFT 173,6479 -#define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 174,6544 -#define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 175,6611 -} soundfont_sample_info_t;soundfont_sample_info_t177,6740 -typedef struct soundfont_voice_map_t soundfont_voice_map_t184,6812 -} soundfont_voice_map_t;soundfont_voice_map_t187,6951 -#define SNDRV_EMUX_HWDEP_NAME 194,7006 -#define SNDRV_EMUX_VERSION 196,7054 -struct sndrv_emux_misc_mode sndrv_emux_misc_mode198,7121 - SNDRV_EMUX_IOCTL_VERSION 206,7239 - SNDRV_EMUX_IOCTL_VERSION = _IOR(206,7239 - SNDRV_EMUX_IOCTL_VERSION = _IOR('H', 0x80,206,7239 - SNDRV_EMUX_IOCTL_LOAD_PATCH 207,7298 - SNDRV_EMUX_IOCTL_LOAD_PATCH = _IOWR(207,7298 - SNDRV_EMUX_IOCTL_LOAD_PATCH = _IOWR('H', 0x81,207,7298 - SNDRV_EMUX_IOCTL_LOAD_PATCH = _IOWR('H', 0x81, soundfont_patch_info_t)207,7298 - SNDRV_EMUX_IOCTL_RESET_SAMPLES 208,7371 - SNDRV_EMUX_IOCTL_RESET_SAMPLES = _IO(208,7371 - SNDRV_EMUX_IOCTL_RESET_SAMPLES = _IO('H', 0x82)208,7371 - SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES 209,7421 - SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES = _IO(209,7421 - SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES = _IO('H', 0x83)209,7421 - SNDRV_EMUX_IOCTL_MEM_AVAIL 210,7477 - SNDRV_EMUX_IOCTL_MEM_AVAIL = _IOW(210,7477 - SNDRV_EMUX_IOCTL_MEM_AVAIL = _IOW('H', 0x84,210,7477 - SNDRV_EMUX_IOCTL_MISC_MODE 211,7529 - SNDRV_EMUX_IOCTL_MISC_MODE = _IOWR(211,7529 - SNDRV_EMUX_IOCTL_MISC_MODE = _IOWR('H', 0x84,211,7529 - SNDRV_EMUX_IOCTL_MISC_MODE = _IOWR('H', 0x84, struct sndrv_emux_misc_mode)211,7529 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ac97_codec.h,11565 -#define __SOUND_AC97_CODEC_H2,29 -#define AC97_RESET 36,1138 -#define AC97_MASTER 37,1175 -#define AC97_HEADPHONE 38,1221 -#define AC97_MASTER_MONO 39,1284 -#define AC97_MASTER_TONE 40,1350 -#define AC97_PC_BEEP 41,1425 -#define AC97_PHONE 42,1483 -#define AC97_MIC 43,1538 -#define AC97_LINE 44,1578 -#define AC97_CD 45,1623 -#define AC97_VIDEO 46,1662 -#define AC97_AUX 47,1717 -#define AC97_PCM 48,1768 -#define AC97_REC_SEL 49,1808 -#define AC97_REC_GAIN 50,1855 -#define AC97_REC_GAIN_MIC 51,1901 -#define AC97_GENERAL_PURPOSE 52,1965 -#define AC97_3D_CONTROL 53,2032 -#define AC97_INT_PAGING 54,2090 -#define AC97_POWERDOWN 55,2163 -#define AC97_EXTENDED_ID 57,2276 -#define AC97_EXTENDED_STATUS 58,2330 -#define AC97_PCM_FRONT_DAC_RATE 59,2404 -#define AC97_PCM_SURR_DAC_RATE 60,2466 -#define AC97_PCM_LFE_DAC_RATE 61,2530 -#define AC97_PCM_LR_ADC_RATE 62,2588 -#define AC97_PCM_MIC_ADC_RATE 63,2644 -#define AC97_CENTER_LFE_MASTER 64,2702 -#define AC97_SURROUND_MASTER 65,2771 -#define AC97_SPDIF 66,2841 -#define AC97_EXTENDED_MID 68,2917 -#define AC97_EXTENDED_MSTATUS 69,2972 -#define AC97_LINE1_RATE 70,3047 -#define AC97_LINE2_RATE 71,3102 -#define AC97_HANDSET_RATE 72,3157 -#define AC97_LINE1_LEVEL 73,3215 -#define AC97_LINE2_LEVEL 74,3271 -#define AC97_HANDSET_LEVEL 75,3327 -#define AC97_GPIO_CFG 76,3387 -#define AC97_GPIO_POLARITY 77,3440 -#define AC97_GPIO_STICKY 78,3523 -#define AC97_GPIO_WAKEUP 79,3592 -#define AC97_GPIO_STATUS 80,3665 -#define AC97_MISC_AFE 81,3726 -#define AC97_VENDOR_ID1 83,3843 -#define AC97_VENDOR_ID2 84,3890 -#define AC97_CODEC_CLASS_REV 86,4006 -#define AC97_PCI_SVID 87,4067 -#define AC97_PCI_SID 88,4125 -#define AC97_FUNC_SELECT 89,4175 -#define AC97_FUNC_INFO 90,4227 -#define AC97_SENSE_INFO 91,4283 -#define AC97_SLOT_TAG 94,4356 -#define AC97_SLOT_CMD_ADDR 95,4381 -#define AC97_SLOT_CMD_DATA 96,4410 -#define AC97_SLOT_PCM_LEFT 97,4439 -#define AC97_SLOT_PCM_RIGHT 98,4468 -#define AC97_SLOT_MODEM_LINE1 99,4498 -#define AC97_SLOT_PCM_CENTER 100,4530 -#define AC97_SLOT_MIC 101,4561 -#define AC97_SLOT_SPDIF_LEFT1 102,4598 -#define AC97_SLOT_PCM_SLEFT 103,4630 -#define AC97_SLOT_PCM_LEFT_0 104,4680 -#define AC97_SLOT_SPDIF_LEFT 105,4739 -#define AC97_SLOT_PCM_SRIGHT 106,4770 -#define AC97_SLOT_PCM_RIGHT_0 107,4822 -#define AC97_SLOT_SPDIF_RIGHT 108,4882 -#define AC97_SLOT_LFE 109,4914 -#define AC97_SLOT_SPDIF_RIGHT1 110,4939 -#define AC97_SLOT_MODEM_LINE2 111,4972 -#define AC97_SLOT_PCM_LEFT_1 112,5005 -#define AC97_SLOT_SPDIF_LEFT2 113,5065 -#define AC97_SLOT_HANDSET 114,5098 -#define AC97_SLOT_PCM_RIGHT_1 115,5140 -#define AC97_SLOT_SPDIF_RIGHT2 116,5201 -#define AC97_SLOT_MODEM_GPIO 117,5235 -#define AC97_SLOT_PCM_CENTER_1 118,5284 -#define AC97_BC_DEDICATED_MIC 121,5389 -#define AC97_BC_RESERVED1 122,5461 -#define AC97_BC_BASS_TREBLE 123,5540 -#define AC97_BC_SIM_STEREO 124,5603 -#define AC97_BC_HEADPHONE 125,5660 -#define AC97_BC_LOUDNESS 126,5721 -#define AC97_BC_16BIT_DAC 127,5789 -#define AC97_BC_18BIT_DAC 128,5850 -#define AC97_BC_20BIT_DAC 129,5911 -#define AC97_BC_DAC_MASK 130,5972 -#define AC97_BC_16BIT_ADC 131,6004 -#define AC97_BC_18BIT_ADC 132,6065 -#define AC97_BC_20BIT_ADC 133,6126 -#define AC97_BC_ADC_MASK 134,6187 -#define AC97_EI_VRA 137,6256 -#define AC97_EI_DRA 138,6318 -#define AC97_EI_SPDIF 139,6374 -#define AC97_EI_VRM 140,6431 -#define AC97_EI_DACS_SLOT_MASK 141,6501 -#define AC97_EI_DACS_SLOT_SHIFT 142,6566 -#define AC97_EI_CDAC 143,6600 -#define AC97_EI_SDAC 144,6660 -#define AC97_EI_LDAC 145,6723 -#define AC97_EI_AMAP 146,6780 -#define AC97_EI_REV_MASK 147,6869 -#define AC97_EI_REV_22 148,6927 -#define AC97_EI_REV_23 149,6983 -#define AC97_EI_REV_SHIFT 150,7039 -#define AC97_EI_ADDR_MASK 151,7068 -#define AC97_EI_ADDR_SHIFT 152,7135 -#define AC97_EA_VRA 155,7218 -#define AC97_EA_DRA 156,7281 -#define AC97_EA_SPDIF 157,7344 -#define AC97_EA_VRM 158,7402 -#define AC97_EA_SPSA_SLOT_MASK 159,7473 -#define AC97_EA_SPSA_SLOT_SHIFT 160,7547 -#define AC97_EA_SPSA_3_4 161,7581 -#define AC97_EA_SPSA_7_8 162,7642 -#define AC97_EA_SPSA_6_9 163,7703 -#define AC97_EA_SPSA_10_11 164,7764 -#define AC97_EA_CDAC 165,7829 -#define AC97_EA_SDAC 166,7900 -#define AC97_EA_LDAC 167,7975 -#define AC97_EA_MDAC 168,8043 -#define AC97_EA_SPCV 169,8107 -#define AC97_EA_PRI 170,8181 -#define AC97_EA_PRJ 171,8244 -#define AC97_EA_PRK 172,8310 -#define AC97_EA_PRL 173,8370 -#define AC97_SC_PRO 176,8460 -#define AC97_SC_NAUDIO 177,8514 -#define AC97_SC_COPY 178,8568 -#define AC97_SC_PRE 179,8620 -#define AC97_SC_CC_MASK 180,8673 -#define AC97_SC_CC_SHIFT 181,8730 -#define AC97_SC_L 182,8757 -#define AC97_SC_SPSR_MASK 183,8813 -#define AC97_SC_SPSR_SHIFT 184,8876 -#define AC97_SC_SPSR_44K 185,8906 -#define AC97_SC_SPSR_48K 186,8968 -#define AC97_SC_SPSR_32K 187,9028 -#define AC97_SC_DRS 188,9088 -#define AC97_SC_V 189,9141 -#define AC97_PAGE_MASK 192,9241 -#define AC97_PAGE_VENDOR 193,9292 -#define AC97_PAGE_1 194,9351 -#define AC97_INT_ENABLE 195,9412 -#define AC97_INT_SENSE 196,9467 -#define AC97_INT_CAUSE_SENSE 197,9516 -#define AC97_INT_CAUSE_GPIO 198,9585 -#define AC97_INT_STATUS 199,9649 -#define AC97_MEI_LINE1 202,9741 -#define AC97_MEI_LINE2 203,9792 -#define AC97_MEI_HANDSET 204,9843 -#define AC97_MEI_CID1 205,9897 -#define AC97_MEI_CID2 206,9973 -#define AC97_MEI_ADDR_MASK 207,10049 -#define AC97_MEI_ADDR_SHIFT 208,10117 -#define AC97_MEA_GPIO 211,10201 -#define AC97_MEA_MREF 212,10256 -#define AC97_MEA_ADC1 213,10325 -#define AC97_MEA_DAC1 214,10383 -#define AC97_MEA_ADC2 215,10441 -#define AC97_MEA_DAC2 216,10499 -#define AC97_MEA_HADC 217,10557 -#define AC97_MEA_HDAC 218,10615 -#define AC97_MEA_PRA 219,10673 -#define AC97_MEA_PRB 220,10731 -#define AC97_MEA_PRC 221,10775 -#define AC97_MEA_PRD 222,10833 -#define AC97_MEA_PRE 223,10891 -#define AC97_MEA_PRF 224,10949 -#define AC97_MEA_PRG 225,11007 -#define AC97_MEA_PRH 226,11065 -#define AC97_GPIO_LINE1_OH 229,11156 -#define AC97_GPIO_LINE1_RI 230,11217 -#define AC97_GPIO_LINE1_CID 231,11281 -#define AC97_GPIO_LINE1_LCS 232,11355 -#define AC97_GPIO_LINE1_PULSE 233,11426 -#define AC97_GPIO_LINE1_HL1R 234,11501 -#define AC97_GPIO_LINE1_HOHD 235,11590 -#define AC97_GPIO_LINE12_AC 236,11677 -#define AC97_GPIO_LINE12_DC 237,11758 -#define AC97_GPIO_LINE12_RS 238,11839 -#define AC97_GPIO_LINE2_OH 239,11920 -#define AC97_GPIO_LINE2_RI 240,11981 -#define AC97_GPIO_LINE2_CID 241,12045 -#define AC97_GPIO_LINE2_LCS 242,12119 -#define AC97_GPIO_LINE2_PULSE 243,12190 -#define AC97_GPIO_LINE2_HL1R 244,12265 -#define AC97_SIGMATEL_OUTSEL 247,12381 -#define AC97_SIGMATEL_INSEL 248,12445 -#define AC97_SIGMATEL_IOMISC 249,12507 -#define AC97_SIGMATEL_ANALOG 250,12556 -#define AC97_SIGMATEL_DAC2INVERT 251,12611 -#define AC97_SIGMATEL_BIAS1 252,12649 -#define AC97_SIGMATEL_BIAS2 253,12682 -#define AC97_SIGMATEL_VARIOUS 254,12715 -#define AC97_SIGMATEL_MULTICHN 255,12765 -#define AC97_SIGMATEL_CIC1 256,12833 -#define AC97_SIGMATEL_CIC2 257,12865 -#define AC97_AD_TEST 260,12930 -#define AC97_AD_CODEC_CFG 261,12977 -#define AC97_AD_JACK_SPDIF 262,13034 -#define AC97_AD_SERIAL_CFG 263,13092 -#define AC97_AD_MISC 264,13151 -#define AC97_CSR_ACMODE 267,13233 -#define AC97_CSR_MISC_CRYSTAL 268,13286 -#define AC97_CSR_SPDIF 269,13348 -#define AC97_CSR_SERIAL 270,13399 -#define AC97_CSR_SPECF_ADDR 271,13455 -#define AC97_CSR_SPECF_DATA 272,13518 -#define AC97_CSR_BDI_STATUS 273,13578 -#define AC97_CXR_AUDIO_MISC 276,13655 -#define AC97_CXR_SPDIFEN 277,13688 -#define AC97_CXR_COPYRGT 278,13720 -#define AC97_CXR_SPDIF_MASK 279,13752 -#define AC97_CXR_SPDIF_PCM 280,13787 -#define AC97_CXR_SPDIF_AC3 281,13818 -#define AC97_ALC650_SPDIF_INPUT_STATUS1 284,13871 -#define AC97_ALC650_PRO 286,13956 -#define AC97_ALC650_NAUDIO 287,14026 -#define AC97_ALC650_COPY 288,14093 -#define AC97_ALC650_PRE 289,14160 -#define AC97_ALC650_PRE_SHIFT 290,14229 -#define AC97_ALC650_MODE 291,14267 -#define AC97_ALC650_MODE_SHIFT 292,14336 -#define AC97_ALC650_CC_MASK 293,14374 -#define AC97_ALC650_CC_SHIFT 294,14443 -#define AC97_ALC650_L 295,14481 -#define AC97_ALC650_SPDIF_INPUT_STATUS2 297,14556 -#define AC97_ALC650_SOUCE_MASK 299,14641 -#define AC97_ALC650_CHANNEL_MASK 300,14705 -#define AC97_ALC650_CHANNEL_SHIFT 301,14770 -#define AC97_ALC650_SPSR_MASK 302,14809 -#define AC97_ALC650_SPSR_SHIFT 303,14883 -#define AC97_ALC650_SPSR_44K 304,14921 -#define AC97_ALC650_SPSR_48K 305,14995 -#define AC97_ALC650_SPSR_32K 306,15067 -#define AC97_ALC650_CLOCK_ACCURACY 307,15139 -#define AC97_ALC650_CLOCK_SHIFT 308,15204 -#define AC97_ALC650_CLOCK_LOCK 309,15243 -#define AC97_ALC650_V 310,15313 -#define AC97_ALC650_SURR_DAC_VOL 312,15380 -#define AC97_ALC650_LFE_DAC_VOL 313,15418 -#define AC97_ALC650_UNKNOWN1 314,15456 -#define AC97_ALC650_MULTICH 315,15491 -#define AC97_ALC650_UNKNOWN2 316,15525 -#define AC97_ALC650_REVISION 317,15560 -#define AC97_ALC650_UNKNOWN3 318,15595 -#define AC97_ALC650_UNKNOWN4 319,15630 -#define AC97_ALC650_MISC 320,15665 -#define AC97_ALC650_GPIO_SETUP 321,15696 -#define AC97_ALC650_GPIO_STATUS 322,15733 -#define AC97_ALC650_CLOCK 323,15771 -#define AC97_YMF753_DIT_CTRL2 326,15835 -#define AC97_YMF753_3D_MODE_SEL 327,15890 -#define AC97_CM9738_VENDOR_CTRL 330,15974 -#define AC97_CM9739_MULTI_CHAN 331,16011 -#define AC97_CM9739_SPDIF_IN_STATUS 332,16047 -#define AC97_CM9739_SPDIF_CTRL 333,16100 -#define AC97_WM97XX_FMIXER_VOL 336,16162 -#define AC97_WM9704_RMIXER_VOL 337,16199 -#define AC97_WM9704_TEST 338,16236 -#define AC97_WM9704_RPCM_VOL 339,16273 -#define AC97_WM9711_OUT3VOL 340,16310 -#define AC97_SCAP_AUDIO 344,16367 -#define AC97_SCAP_MODEM 345,16420 -#define AC97_SCAP_SURROUND_DAC 346,16473 -#define AC97_SCAP_CENTER_LFE_DAC 347,16547 -#define AC97_SCAP_SKIP_AUDIO 348,16625 -#define AC97_SCAP_SKIP_MODEM 349,16692 -#define AC97_SCAP_INDEP_SDIN 350,16759 -#define AC97_HAS_PC_BEEP 353,16837 -#define AC97_AD_MULTI 354,16898 -#define AC97_CS_SPDIF 355,16964 -#define AC97_CX_SPDIF 356,17030 -#define AC97_STEREO_MUTES 357,17093 -#define AC97_RATES_FRONT_DAC 360,17174 -#define AC97_RATES_SURR_DAC 361,17205 -#define AC97_RATES_LFE_DAC 362,17235 -#define AC97_RATES_ADC 363,17264 -#define AC97_RATES_MIC_ADC 364,17290 -#define AC97_RATES_SPDIF 365,17319 - AC97_SHARED_TYPE_NONE,369,17379 - AC97_SHARED_TYPE_ICH,370,17403 - AC97_SHARED_TYPE_ATIIXP,371,17426 - AC97_SHARED_TYPES372,17452 -typedef struct _snd_ac97_bus ac97_bus_t;ac97_bus_t379,17486 -typedef struct _snd_ac97_bus_ops ac97_bus_ops_t;ac97_bus_ops_t380,17527 -typedef struct _snd_ac97_template ac97_template_t;ac97_template_t381,17576 -typedef struct _snd_ac97 ac97_t;ac97_t382,17627 -enum ac97_pcm_cfg ac97_pcm_cfg384,17661 - AC97_PCM_CFG_FRONT 385,17681 - AC97_PCM_CFG_REAR 386,17706 - AC97_PCM_CFG_LFE 387,17753 - AC97_PCM_CFG_40 388,17797 - AC97_PCM_CFG_51 389,17839 - AC97_PCM_CFG_SPDIF 390,17894 -struct ac97_pcm ac97_pcm394,17944 -struct snd_ac97_build_ops snd_ac97_build_ops411,18672 -struct _snd_ac97_bus_ops _snd_ac97_bus_ops418,18853 -struct _snd_ac97_bus _snd_ac97_bus426,19106 -struct _snd_ac97_template _snd_ac97_template446,19819 -struct _snd_ac97 _snd_ac97457,20270 -static inline int ac97_is_audio(497,21878 -static inline int ac97_is_modem(501,21970 -static inline int ac97_is_rev22(505,22062 -static inline int ac97_can_amap(509,22174 -static inline int ac97_can_spdif(513,22269 - AC97_TUNE_DEFAULT 534,23150 - AC97_TUNE_NONE 535,23229 - AC97_TUNE_HP_ONLY,536,23276 - AC97_TUNE_SWAP_HP,537,23351 - AC97_TUNE_SWAP_SURROUND,538,23412 - AC97_TUNE_AD_SHARING,539,23478 - AC97_TUNE_ALC_JACK,540,23553 -struct ac97_quirk ac97_quirk543,23619 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs46xx_dsp_task_types.h,1525 -#define __CS46XX_DSP_TASK_TYPES_H__28,1076 -#define HFG_FIRST_EXECUTE_MODE 54,2450 -#define HFG_FIRST_EXECUTE_MODE_BIT 55,2491 -#define HFG_CONTEXT_SWITCH_MODE 56,2530 -#define HFG_CONTEXT_SWITCH_MODE_BIT 57,2572 -#define MAX_FG_STACK_SIZE 59,2613 -#define MAX_MG_STACK_SIZE 60,2686 -#define MAX_BG_STACK_SIZE 61,2716 -#define MAX_HFG_STACK_SIZE 62,2745 -#define SLEEP_ACTIVE_INCREMENT 64,2775 -#define STANDARD_ACTIVE_INCREMENT 66,2924 -#define SUSPEND_ACTIVE_INCREMENT 67,3001 -#define HOSTFLAGS_DISABLE_BG_SLEEP 70,3197 -typedef struct _hf_save_area_t _hf_save_area_t74,3424 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC79,3503 -} hf_save_area_t;hf_save_area_t99,3853 -typedef struct _tree_link_t _tree_link_t103,3904 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC104,3934 -} tree_link_t;tree_link_t117,4208 -typedef struct _task_tree_data_t _task_tree_data_t120,4225 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC121,4260 -} task_tree_data_t;task_tree_data_t158,5262 -typedef struct _interval_timer_data_t_interval_timer_data_t162,5285 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC165,5391 -} interval_timer_data_t;interval_timer_data_t175,5623 -typedef struct _task_tree_context_block_t _task_tree_context_block_t180,5790 - ___DSP_DUAL_16BIT_ALLOC(___DSP_DUAL_16BIT_ALLOC184,6055 -} task_tree_context_block_t;task_tree_context_block_t241,7107 -typedef struct _task_tree_control_block_t _task_tree_control_block_t244,7162 -} task_tree_control_block_t;task_tree_control_block_t250,7356 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/i2c.h,670 -#define __SOUND_I2C_H2,22 -typedef struct _snd_i2c_device snd_i2c_device_t;snd_i2c_device_t24,799 -typedef struct _snd_i2c_bus snd_i2c_bus_t;snd_i2c_bus_t25,848 -#define SND_I2C_DEVICE_ADDRTEN 27,892 -struct _snd_i2c_device _snd_i2c_device29,956 -#define snd_i2c_device(snd_i2c_device40,1294 -typedef struct _snd_i2c_bit_ops _snd_i2c_bit_ops42,1359 -} snd_i2c_bit_ops_t;snd_i2c_bit_ops_t49,1758 -typedef struct _snd_i2c_ops _snd_i2c_ops51,1780 -} snd_i2c_ops_t;snd_i2c_ops_t55,2026 -struct _snd_i2c_bus _snd_i2c_bus57,2044 -#define snd_i2c_slave_bus(snd_i2c_slave_bus79,2635 -static inline void snd_i2c_lock(85,2971 -static inline void snd_i2c_unlock(91,3111 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_oss_legacy.h,72 -#define __SOUND_SEQ_OSS_LEGACY_H2,33 -#define SAMPLE_TYPE_AWE32 27,948 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/emu8000.h,727 -#define __SOUND_EMU8000_H2,26 -#define EMU8000_MAX_DRAM 30,1015 -#define EMU8000_DRAM_OFFSET 31,1093 -#define EMU8000_CHANNELS 32,1162 -#define EMU8000_DRAM_VOICES 33,1226 -#define EMU8000_RAM_READ 36,1338 -#define EMU8000_RAM_WRITE 37,1367 -#define EMU8000_RAM_CLOSE 38,1396 -#define EMU8000_RAM_MODE_MASK 39,1425 -#define EMU8000_RAM_RIGHT 40,1460 - EMU8000_CONTROL_BASS 43,1529 - EMU8000_CONTROL_TREBLE,44,1556 - EMU8000_CONTROL_CHORUS_MODE,45,1581 - EMU8000_CONTROL_REVERB_MODE,46,1611 - EMU8000_CONTROL_FM_CHORUS_DEPTH,47,1641 - EMU8000_CONTROL_FM_REVERB_DEPTH,48,1675 - EMU8000_NUM_CONTROLS,49,1709 -typedef struct snd_emu8000 snd_emu800059,1997 -} emu8000_t;emu8000_t94,2895 -#define SNDRV_SEQ_DEV_ID_EMU8000 97,2935 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/minors.h,2297 -#define __SOUND_MINORS_H2,25 -#define SNDRV_MINOR_DEVICES 24,820 -#define SNDRV_MINOR_CARD(SNDRV_MINOR_CARD25,852 -#define SNDRV_MINOR_DEVICE(SNDRV_MINOR_DEVICE26,900 -#define SNDRV_MINOR(SNDRV_MINOR27,953 -#define SNDRV_MINOR_CONTROL 29,1010 -#define SNDRV_MINOR_SEQUENCER 30,1053 -#define SNDRV_MINOR_TIMER 31,1086 -#define SNDRV_MINOR_HWDEP 32,1120 -#define SNDRV_MINOR_HWDEPS 33,1161 -#define SNDRV_MINOR_RAWMIDI 34,1191 -#define SNDRV_MINOR_RAWMIDIS 35,1235 -#define SNDRV_MINOR_PCM_PLAYBACK 36,1267 -#define SNDRV_MINOR_PCM_CAPTURE 37,1317 -#define SNDRV_MINOR_PCMS 38,1367 -#define SNDRV_DEVICE_TYPE_CONTROL 40,1396 -#define SNDRV_DEVICE_TYPE_HWDEP 41,1450 -#define SNDRV_DEVICE_TYPE_MIXER 42,1501 -#define SNDRV_DEVICE_TYPE_RAWMIDI 43,1552 -#define SNDRV_DEVICE_TYPE_PCM_PLAYBACK 44,1606 -#define SNDRV_DEVICE_TYPE_PCM_PLOOP 45,1670 -#define SNDRV_DEVICE_TYPE_PCM_CAPTURE 46,1728 -#define SNDRV_DEVICE_TYPE_PCM_CLOOP 47,1790 -#define SNDRV_DEVICE_TYPE_SEQUENCER 48,1848 -#define SNDRV_DEVICE_TYPE_TIMER 49,1906 -#define SNDRV_MINOR_OSS_DEVICES 53,1985 -#define SNDRV_MINOR_OSS_CARD(SNDRV_MINOR_OSS_CARD54,2021 -#define SNDRV_MINOR_OSS_DEVICE(SNDRV_MINOR_OSS_DEVICE55,2072 -#define SNDRV_MINOR_OSS(SNDRV_MINOR_OSS56,2129 -#define SNDRV_MINOR_OSS_MIXER 58,2189 -#define SNDRV_MINOR_OSS_SEQUENCER 59,2261 -#define SNDRV_MINOR_OSS_MIDI 60,2340 -#define SNDRV_MINOR_OSS_PCM 61,2441 -#define SNDRV_MINOR_OSS_PCM_8 62,2484 -#define SNDRV_MINOR_OSS_AUDIO 63,2565 -#define SNDRV_MINOR_OSS_PCM_16 64,2637 -#define SNDRV_MINOR_OSS_SNDSTAT 65,2722 -#define SNDRV_MINOR_OSS_RESERVED7 66,2805 -#define SNDRV_MINOR_OSS_MUSIC 67,2871 -#define SNDRV_MINOR_OSS_DMMIDI 68,2943 -#define SNDRV_MINOR_OSS_DMFM 69,3044 -#define SNDRV_MINOR_OSS_MIXER1 70,3142 -#define SNDRV_MINOR_OSS_PCM1 71,3199 -#define SNDRV_MINOR_OSS_MIDI1 72,3261 -#define SNDRV_MINOR_OSS_DMMIDI1 73,3324 -#define SNDRV_MINOR_OSS_RESERVED15 74,3391 -#define SNDRV_OSS_DEVICE_TYPE_MIXER 76,3460 -#define SNDRV_OSS_DEVICE_TYPE_SEQUENCER 77,3498 -#define SNDRV_OSS_DEVICE_TYPE_PCM 78,3540 -#define SNDRV_OSS_DEVICE_TYPE_MIDI 79,3576 -#define SNDRV_OSS_DEVICE_TYPE_DMFM 80,3613 -#define SNDRV_OSS_DEVICE_TYPE_SNDSTAT 81,3650 -#define SNDRV_OSS_DEVICE_TYPE_MUSIC 82,3690 -#define MODULE_ALIAS_SNDRV_MINOR(MODULE_ALIAS_SNDRV_MINOR84,3729 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ad1816a.h,3903 -#define __SOUND_AD1816A_H2,26 -#define AD1816A_REG(AD1816A_REG27,969 -#define AD1816A_CHIP_STATUS 29,1012 -#define AD1816A_INDIR_ADDR 30,1046 -#define AD1816A_INTERRUPT_STATUS 31,1079 -#define AD1816A_INDIR_DATA_LOW 32,1117 -#define AD1816A_INDIR_DATA_HIGH 33,1154 -#define AD1816A_PIO_DEBUG 34,1192 -#define AD1816A_PIO_STATUS 35,1224 -#define AD1816A_PIO_DATA 36,1257 -#define AD1816A_RESERVED_7 37,1288 -#define AD1816A_PLAYBACK_CONFIG 38,1321 -#define AD1816A_CAPTURE_CONFIG 39,1359 -#define AD1816A_RESERVED_10 40,1396 -#define AD1816A_RESERVED_11 41,1430 -#define AD1816A_JOYSTICK_RAW_DATA 42,1464 -#define AD1816A_JOYSTICK_CTRL 43,1503 -#define AD1816A_JOY_POS_DATA_LOW 44,1539 -#define AD1816A_JOY_POS_DATA_HIGH 45,1577 -#define AD1816A_LOW_BYTE_TMP 47,1617 -#define AD1816A_INTERRUPT_ENABLE 48,1652 -#define AD1816A_EXTERNAL_CTRL 49,1690 -#define AD1816A_PLAYBACK_SAMPLE_RATE 50,1726 -#define AD1816A_CAPTURE_SAMPLE_RATE 51,1768 -#define AD1816A_VOICE_ATT 52,1809 -#define AD1816A_FM_ATT 53,1841 -#define AD1816A_I2S_1_ATT 54,1871 -#define AD1816A_I2S_0_ATT 55,1903 -#define AD1816A_PLAYBACK_BASE_COUNT 56,1935 -#define AD1816A_PLAYBACK_CURR_COUNT 57,1976 -#define AD1816A_CAPTURE_BASE_COUNT 58,2017 -#define AD1816A_CAPTURE_CURR_COUNT 59,2057 -#define AD1816A_TIMER_BASE_COUNT 60,2097 -#define AD1816A_TIMER_CURR_COUNT 61,2135 -#define AD1816A_MASTER_ATT 62,2173 -#define AD1816A_CD_GAIN_ATT 63,2206 -#define AD1816A_SYNTH_GAIN_ATT 64,2240 -#define AD1816A_VID_GAIN_ATT 65,2277 -#define AD1816A_LINE_GAIN_ATT 66,2312 -#define AD1816A_MIC_GAIN_ATT 67,2348 -#define AD1816A_PHONE_IN_GAIN_ATT 68,2383 -#define AD1816A_ADC_SOURCE_SEL 69,2422 -#define AD1816A_ADC_PGA 70,2459 -#define AD1816A_CHIP_CONFIG 71,2490 -#define AD1816A_DSP_CONFIG 72,2524 -#define AD1816A_FM_SAMPLE_RATE 73,2557 -#define AD1816A_I2S_1_SAMPLE_RATE 74,2594 -#define AD1816A_I2S_0_SAMPLE_RATE 75,2633 -#define AD1816A_RESERVED_37 76,2672 -#define AD1816A_PROGRAM_CLOCK_RATE 77,2706 -#define AD1816A_3D_PHAT_CTRL 78,2746 -#define AD1816A_PHONE_OUT_ATT 79,2781 -#define AD1816A_RESERVED_40 80,2817 -#define AD1816A_HW_VOL_BUT 81,2851 -#define AD1816A_DSP_MAILBOX_0 82,2884 -#define AD1816A_DSP_MAILBOX_1 83,2920 -#define AD1816A_POWERDOWN_CTRL 84,2956 -#define AD1816A_TIMER_CTRL 85,2993 -#define AD1816A_VERSION_ID 86,3026 -#define AD1816A_RESERVED_46 87,3059 -#define AD1816A_READY 89,3094 -#define AD1816A_PLAYBACK_IRQ_PENDING 91,3124 -#define AD1816A_CAPTURE_IRQ_PENDING 92,3166 -#define AD1816A_TIMER_IRQ_PENDING 93,3207 -#define AD1816A_PLAYBACK_ENABLE 95,3247 -#define AD1816A_PLAYBACK_PIO 96,3285 -#define AD1816A_CAPTURE_ENABLE 97,3320 -#define AD1816A_CAPTURE_PIO 98,3357 -#define AD1816A_FMT_LINEAR_8 100,3392 -#define AD1816A_FMT_ULAW_8 101,3427 -#define AD1816A_FMT_LINEAR_16_LIT 102,3460 -#define AD1816A_FMT_ALAW_8 103,3499 -#define AD1816A_FMT_LINEAR_16_BIG 104,3532 -#define AD1816A_FMT_ALL 105,3571 -#define AD1816A_FMT_STEREO 106,3602 -#define AD1816A_PLAYBACK_IRQ_ENABLE 108,3636 -#define AD1816A_CAPTURE_IRQ_ENABLE 109,3679 -#define AD1816A_TIMER_IRQ_ENABLE 110,3721 -#define AD1816A_TIMER_ENABLE 111,3761 -#define AD1816A_SRC_LINE 113,3799 -#define AD1816A_SRC_OUT 114,3830 -#define AD1816A_SRC_CD 115,3861 -#define AD1816A_SRC_SYNTH 116,3891 -#define AD1816A_SRC_VIDEO 117,3923 -#define AD1816A_SRC_MIC 118,3955 -#define AD1816A_SRC_MONO 119,3986 -#define AD1816A_SRC_PHONE_IN 120,4017 -#define AD1816A_SRC_MASK 121,4052 -#define AD1816A_CAPTURE_NOT_EQUAL 123,4084 -#define AD1816A_WSS_ENABLE 124,4125 -typedef struct _snd_ad1816a ad1816a_t;ad1816a_t126,4161 -struct _snd_ad1816a _snd_ad1816a128,4201 -#define AD1816A_HW_AUTO 154,4598 -#define AD1816A_HW_AD1816A 155,4625 -#define AD1816A_HW_AD1815 156,4654 -#define AD1816A_HW_AD18MAX10 157,4682 -#define AD1816A_MODE_PLAYBACK 159,4714 -#define AD1816A_MODE_CAPTURE 160,4749 -#define AD1816A_MODE_TIMER 161,4783 -#define AD1816A_MODE_OPEN 162,4815 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/driver.h,92 -#define __SOUND_DRIVER_H2,25 -#define SNDRV_CARDS 31,979 -#define CONFIG_SND_MAJOR 34,1125 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/cs8427.h,4335 -#define __SOUND_CS8427_H2,25 -#define CS8427_BASE_ADDR 27,917 -#define CS8427_REG_AUTOINC 29,971 -#define CS8427_REG_CONTROL1 30,1030 -#define CS8427_REG_CONTROL2 31,1063 -#define CS8427_REG_DATAFLOW 32,1096 -#define CS8427_REG_CLOCKSOURCE 33,1129 -#define CS8427_REG_SERIALINPUT 34,1165 -#define CS8427_REG_SERIALOUTPUT 35,1201 -#define CS8427_REG_INT1STATUS 36,1238 -#define CS8427_REG_INT2STATUS 37,1273 -#define CS8427_REG_INT1MASK 38,1308 -#define CS8427_REG_INT1MODEMSB 39,1341 -#define CS8427_REG_INT1MODELSB 40,1377 -#define CS8427_REG_INT2MASK 41,1413 -#define CS8427_REG_INT2MODEMSB 42,1446 -#define CS8427_REG_INT2MODELSB 43,1482 -#define CS8427_REG_RECVCSDATA 44,1518 -#define CS8427_REG_RECVERRORS 45,1553 -#define CS8427_REG_RECVERRMASK 46,1588 -#define CS8427_REG_CSDATABUF 47,1624 -#define CS8427_REG_UDATABUF 48,1658 -#define CS8427_REG_QSUBCODE 49,1691 -#define CS8427_REG_OMCKRMCKRATIO 50,1751 -#define CS8427_REG_CORU_DATABUF 51,1789 -#define CS8427_REG_ID_AND_VER 52,1852 -#define CS8427_SWCLK 55,1919 -#define CS8427_VSET 56,2000 -#define CS8427_MUTESAO 57,2075 -#define CS8427_MUTEAES 58,2185 -#define CS8427_INTMASK 59,2293 -#define CS8427_INTACTHIGH 60,2362 -#define CS8427_INTACTLOW 61,2413 -#define CS8427_INTOPENDRAIN 62,2462 -#define CS8427_TCBLDIR 63,2526 -#define CS8427_HOLDMASK 66,2639 -#define CS8427_HOLDLASTSAMPLE 67,2713 -#define CS8427_HOLDZERO 68,2783 -#define CS8427_HOLDNOCHANGE 69,2871 -#define CS8427_RMCKF 70,2952 -#define CS8427_MMR 71,3012 -#define CS8427_MMT 72,3091 -#define CS8427_MMTCS 73,3173 -#define CS8427_MMTLR 74,3253 -#define CS8427_TXOFF 77,3352 -#define CS8427_AESBP 78,3447 -#define CS8427_TXDMASK 79,3541 -#define CS8427_TXDSERIAL 80,3612 -#define CS8427_TXAES3DRECEIVER 81,3680 -#define CS8427_SPDMASK 82,3744 -#define CS8427_SPDSERIAL 83,3823 -#define CS8427_SPDAES3RECEIVER 84,3891 -#define CS8427_RUN 87,3985 -#define CS8427_CLKMASK 88,4046 -#define CS8427_CLK256 89,4103 -#define CS8427_CLK384 90,4147 -#define CS8427_CLK512 91,4191 -#define CS8427_OUTC 92,4235 -#define CS8427_INC 93,4323 -#define CS8427_RXDMASK 94,4431 -#define CS8427_RXDILRCK 95,4502 -#define CS8427_RXDAES3INPUT 96,4563 -#define CS8427_EXTCLOCKRESET 97,4628 -#define CS8427_EXTCLOCK 98,4715 -#define CS8427_SIMS 101,4809 -#define CS8427_SISF 102,4870 -#define CS8427_SIRESMASK 103,4940 -#define CS8427_SIRES24 104,5035 -#define CS8427_SIRES20 105,5085 -#define CS8427_SIRES16 106,5135 -#define CS8427_SIJUST 107,5185 -#define CS8427_SIDEL 108,5307 -#define CS8427_SISPOL 109,5460 -#define CS8427_SILRPOL 110,5569 -#define CS8427_SOMS 113,5740 -#define CS8427_SOSF 114,5801 -#define CS8427_SORESMASK 115,5871 -#define CS8427_SORES24 116,5964 -#define CS8427_SORES20 117,6014 -#define CS8427_SORES16 118,6064 -#define CS8427_SORESDIRECT 119,6114 -#define CS8427_SOJUST 120,6191 -#define CS8427_SODEL 121,6314 -#define CS8427_SOSPOL 122,6468 -#define CS8427_SOLRPOL 123,6578 -#define CS8427_TSLIP 126,6749 -#define CS8427_OSLIP 127,6828 -#define CS8427_DETC 128,6908 -#define CS8427_EFTC 129,6977 -#define CS8427_RERR 130,7046 -#define CS8427_DETU 133,7139 -#define CS8427_EFTU 134,7208 -#define CS8427_QCH 135,7277 -#define CS8427_INTMODERISINGMSB 141,7572 -#define CS8427_INTMODERESINGLSB 142,7606 -#define CS8427_INTMODEFALLINGMSB 143,7640 -#define CS8427_INTMODEFALLINGLSB 144,7675 -#define CS8427_INTMODELEVELMSB 145,7710 -#define CS8427_INTMODELEVELLSB 146,7743 -#define CS8427_AUXMASK 149,7805 -#define CS8427_AUXSHIFT 150,7870 -#define CS8427_PRO 151,7897 -#define CS8427_AUDIO 152,7968 -#define CS8427_COPY 153,8044 -#define CS8427_ORIG 154,8129 -#define CS8427_QCRC 158,8308 -#define CS8427_CCRC 159,8377 -#define CS8427_UNLOCK 160,8462 -#define CS8427_V 161,8518 -#define CS8427_CONF 162,8564 -#define CS8427_BIP 163,8613 -#define CS8427_PAR 164,8665 -#define CS8427_BSEL 167,8739 -#define CS8427_CBMR 168,8797 -#define CS8427_DETCI 169,8893 -#define CS8427_EFTCI 170,8995 -#define CS8427_CAM 171,9097 -#define CS8427_CHS 172,9202 -#define CS8427_UD 175,9311 -#define CS8427_UBMMASK 176,9394 -#define CS8427_UBMZEROS 177,9472 -#define CS8427_UBMBLOCK 178,9534 -#define CS8427_DETUI 179,9583 -#define CS8427_EFTUI 180,9684 -#define CS8427_IDMASK 183,9814 -#define CS8427_IDSHIFT 184,9845 -#define CS8427_VERMASK 185,9871 -#define CS8427_VERSHIFT 186,9903 -#define CS8427_VER8427A 187,9930 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/gus.h,6653 -#define __SOUND_GUS_H2,22 -#define SNDRV_SEQ_DEV_ID_GUS 35,1107 -#define GUSP(GUSP39,1167 -#define SNDRV_g_u_s_MIDICTRL 41,1227 -#define SNDRV_g_u_s_MIDISTAT 42,1271 -#define SNDRV_g_u_s_MIDIDATA 43,1315 -#define SNDRV_g_u_s_GF1PAGE 45,1360 -#define SNDRV_g_u_s_GF1REGSEL 46,1403 -#define SNDRV_g_u_s_GF1DATALOW 47,1448 -#define SNDRV_g_u_s_GF1DATAHIGH 48,1494 -#define SNDRV_g_u_s_IRQSTAT 49,1541 -#define SNDRV_g_u_s_TIMERCNTRL 50,1584 -#define SNDRV_g_u_s_TIMERDATA 51,1630 -#define SNDRV_g_u_s_DRAM 52,1675 -#define SNDRV_g_u_s_MIXCNTRLREG 53,1716 -#define SNDRV_g_u_s_IRQDMACNTRLREG 54,1763 -#define SNDRV_g_u_s_REGCNTRLS 55,1812 -#define SNDRV_g_u_s_BOARDVERSION 56,1857 -#define SNDRV_g_u_s_MIXCNTRLPORT 57,1905 -#define SNDRV_g_u_s_IVER 58,1953 -#define SNDRV_g_u_s_MIXDATAPORT 59,1994 -#define SNDRV_g_u_s_MAXCNTRLPORT 60,2041 -#define SNDRV_GF1_GB_ACTIVE_VOICES 65,2134 -#define SNDRV_GF1_GB_VOICES_IRQ 66,2175 -#define SNDRV_GF1_GB_GLOBAL_MODE 67,2214 -#define SNDRV_GF1_GW_LFO_BASE 68,2254 -#define SNDRV_GF1_GB_VOICES_IRQ_READ 69,2291 -#define SNDRV_GF1_GB_DRAM_DMA_CONTROL 70,2334 -#define SNDRV_GF1_GW_DRAM_DMA_LOW 71,2378 -#define SNDRV_GF1_GW_DRAM_IO_LOW 72,2419 -#define SNDRV_GF1_GB_DRAM_IO_HIGH 73,2459 -#define SNDRV_GF1_GB_SOUND_BLASTER_CONTROL 74,2500 -#define SNDRV_GF1_GB_ADLIB_TIMER_1 75,2548 -#define SNDRV_GF1_GB_ADLIB_TIMER_2 76,2589 -#define SNDRV_GF1_GB_RECORD_RATE 77,2630 -#define SNDRV_GF1_GB_REC_DMA_CONTROL 78,2670 -#define SNDRV_GF1_GB_JOYSTICK_DAC_LEVEL 79,2713 -#define SNDRV_GF1_GB_RESET 80,2759 -#define SNDRV_GF1_GB_DRAM_DMA_HIGH 81,2793 -#define SNDRV_GF1_GW_DRAM_IO16 82,2834 -#define SNDRV_GF1_GW_MEMORY_CONFIG 83,2872 -#define SNDRV_GF1_GB_MEMORY_CONTROL 84,2913 -#define SNDRV_GF1_GW_FIFO_RECORD_BASE_ADDR 85,2955 -#define SNDRV_GF1_GW_FIFO_PLAY_BASE_ADDR 86,3003 -#define SNDRV_GF1_GW_FIFO_SIZE 87,3050 -#define SNDRV_GF1_GW_INTERLEAVE 88,3088 -#define SNDRV_GF1_GB_COMPATIBILITY 89,3127 -#define SNDRV_GF1_GB_DECODE_CONTROL 90,3168 -#define SNDRV_GF1_GB_VERSION_NUMBER 91,3210 -#define SNDRV_GF1_GB_MPU401_CONTROL_A 92,3252 -#define SNDRV_GF1_GB_MPU401_CONTROL_B 93,3296 -#define SNDRV_GF1_GB_EMULATION_IRQ 94,3340 -#define SNDRV_GF1_VB_ADDRESS_CONTROL 96,3412 -#define SNDRV_GF1_VW_FREQUENCY 97,3455 -#define SNDRV_GF1_VW_START_HIGH 98,3493 -#define SNDRV_GF1_VW_START_LOW 99,3532 -#define SNDRV_GF1_VA_START 100,3570 -#define SNDRV_GF1_VW_END_HIGH 101,3623 -#define SNDRV_GF1_VW_END_LOW 102,3660 -#define SNDRV_GF1_VA_END 103,3696 -#define SNDRV_GF1_VB_VOLUME_RATE 104,3746 -#define SNDRV_GF1_VB_VOLUME_START 105,3786 -#define SNDRV_GF1_VB_VOLUME_END 106,3827 -#define SNDRV_GF1_VW_VOLUME 107,3866 -#define SNDRV_GF1_VW_CURRENT_HIGH 108,3901 -#define SNDRV_GF1_VW_CURRENT_LOW 109,3942 -#define SNDRV_GF1_VA_CURRENT 110,3982 -#define SNDRV_GF1_VB_PAN 111,4039 -#define SNDRV_GF1_VW_OFFSET_RIGHT 112,4072 -#define SNDRV_GF1_VB_VOLUME_CONTROL 113,4113 -#define SNDRV_GF1_VB_UPPER_ADDRESS 114,4155 -#define SNDRV_GF1_VW_EFFECT_HIGH 115,4196 -#define SNDRV_GF1_VW_EFFECT_LOW 116,4236 -#define SNDRV_GF1_VA_EFFECT 117,4275 -#define SNDRV_GF1_VW_OFFSET_LEFT 118,4330 -#define SNDRV_GF1_VB_ACCUMULATOR 119,4370 -#define SNDRV_GF1_VB_MODE 120,4410 -#define SNDRV_GF1_VW_EFFECT_VOLUME 121,4444 -#define SNDRV_GF1_VB_FREQUENCY_LFO 122,4485 -#define SNDRV_GF1_VB_VOLUME_LFO 123,4526 -#define SNDRV_GF1_VW_OFFSET_RIGHT_FINAL 124,4565 -#define SNDRV_GF1_VW_OFFSET_LEFT_FINAL 125,4611 -#define SNDRV_GF1_VW_EFFECT_VOLUME_FINAL 126,4656 -#define SNDRV_ICS_MIC_DEV 130,4725 -#define SNDRV_ICS_LINE_DEV 131,4754 -#define SNDRV_ICS_CD_DEV 132,4783 -#define SNDRV_ICS_GF1_DEV 133,4811 -#define SNDRV_ICS_NONE_DEV 134,4840 -#define SNDRV_ICS_MASTER_DEV 135,4869 -#define SNDRV_LFO_TREMOLO 139,4912 -#define SNDRV_LFO_VIBRATO 140,4941 -#define SNDRV_GF1_DMA_UNSIGNED 144,4983 -#define SNDRV_GF1_DMA_16BIT 145,5019 -#define SNDRV_GF1_DMA_IRQ 146,5052 -#define SNDRV_GF1_DMA_WIDTH16 147,5084 -#define SNDRV_GF1_DMA_READ 148,5119 -#define SNDRV_GF1_DMA_ENABLE 149,5178 -#define SNDRV_GF1_ATTEN(SNDRV_GF1_ATTEN153,5232 -#define SNDRV_GF1_MIN_VOLUME 154,5284 -#define SNDRV_GF1_MAX_VOLUME 155,5318 -#define SNDRV_GF1_MIN_OFFSET 156,5352 -#define SNDRV_GF1_MAX_OFFSET 157,5407 -#define SNDRV_GF1_MAX_TDEPTH 158,5440 -#define SNDRV_GF1_MEM_BLOCK_16BIT 162,5507 -#define SNDRV_GF1_MEM_OWNER_DRIVER 164,5550 -#define SNDRV_GF1_MEM_OWNER_WAVE_SIMPLE 165,5592 -#define SNDRV_GF1_MEM_OWNER_WAVE_GF1 166,5639 -#define SNDRV_GF1_MEM_OWNER_WAVE_IWFFFF 167,5683 -#define SNDRV_GF1_HANDLER_MIDI_OUT 171,5771 -#define SNDRV_GF1_HANDLER_MIDI_IN 172,5817 -#define SNDRV_GF1_HANDLER_TIMER1 173,5863 -#define SNDRV_GF1_HANDLER_TIMER2 174,5908 -#define SNDRV_GF1_HANDLER_VOICE 175,5953 -#define SNDRV_GF1_HANDLER_DMA_WRITE 176,5997 -#define SNDRV_GF1_HANDLER_DMA_READ 177,6044 -#define SNDRV_GF1_HANDLER_ALL 178,6090 -#define SNDRV_GF1_DMA_TRIGGER 182,6191 -typedef struct _snd_gus_card snd_gus_card_t;snd_gus_card_t187,6258 -typedef struct _snd_gf1_bank_info _snd_gf1_bank_info191,6334 -} snd_gf1_bank_info_t;snd_gf1_bank_info_t194,6413 -typedef struct _snd_gf1_mem_block _snd_gf1_mem_block196,6437 -} snd_gf1_mem_block_t;snd_gf1_mem_block_t206,6798 -typedef struct _snd_gf1_mem _snd_gf1_mem208,6822 -} snd_gf1_mem_t;snd_gf1_mem_t214,7008 -typedef struct snd_gf1_dma_block snd_gf1_dma_block216,7026 -} snd_gf1_dma_block_t;snd_gf1_dma_block_t225,7404 -} snd_gus_port_t;snd_gus_port_t234,7643 -typedef struct _snd_gus_voice snd_gus_voice_t;snd_gus_voice_t236,7662 -} snd_gus_sample_ops_t;snd_gus_sample_ops_t246,8390 -#define SNDRV_GF1_VOICE_TYPE_PCM 248,8415 -#define SNDRV_GF1_VOICE_TYPE_SYNTH 249,8451 -#define SNDRV_GF1_VOICE_TYPE_MIDI 250,8489 -#define SNDRV_GF1_VFLG_RUNNING 252,8527 -#define SNDRV_GF1_VFLG_EFFECT_TIMER1 253,8566 -#define SNDRV_GF1_VFLG_PAN 254,8610 - VENV_BEFORE,257,8661 - VENV_ATTACK,258,8675 - VENV_SUSTAIN,259,8689 - VENV_RELEASE,260,8704 - VENV_DONE,261,8719 - VENV_VOLUME262,8731 -} snd_gus_volume_state_t;snd_gus_volume_state_t263,8744 -struct _snd_gus_voice _snd_gus_voice265,8771 -struct _snd_gf1 _snd_gf1315,9960 -struct _snd_gus_card _snd_gus_card428,13052 -static inline void snd_gf1_select_voice(477,14701 -static inline void snd_gf1_uart_cmd(489,15021 -static inline unsigned char snd_gf1_uart_stat(494,15152 -static inline void snd_gf1_uart_put(499,15259 -static inline unsigned char snd_gf1_uart_get(504,15370 -extern inline unsigned char snd_gf1_read8(515,15765 -extern inline unsigned short snd_gf1_read16(521,16060 -extern inline unsigned char snd_gf1_i_read8(538,17339 -extern inline unsigned short snd_gf1_i_read16(543,17551 -struct _SND_IW_LFO_PROGRAM _SND_IW_LFO_PROGRAM555,18070 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/memalloc.h,787 -#define __SOUND_MEMALLOC_H25,915 -struct snd_dma_device snd_dma_device32,988 -#define snd_dma_pci_data(snd_dma_pci_data38,1122 -#define snd_dma_isa_data(snd_dma_isa_data39,1166 -#define snd_dma_sbus_data(snd_dma_sbus_data40,1198 -#define snd_dma_continuous_data(snd_dma_continuous_data41,1256 -#define SNDRV_DMA_TYPE_UNKNOWN 48,1361 -#define SNDRV_DMA_TYPE_CONTINUOUS 49,1413 -#define SNDRV_DMA_TYPE_DEV 50,1480 -#define SNDRV_DMA_TYPE_DEV_SG 51,1542 -#define SNDRV_DMA_TYPE_SBUS 52,1606 -struct snd_dma_buffer snd_dma_buffer57,1697 -struct snd_sg_page snd_sg_page68,2007 -struct snd_sg_buf snd_sg_buf73,2062 -static inline unsigned int snd_sgbuf_aligned_pages(85,2390 -static inline dma_addr_t snd_sgbuf_get_addr(93,2571 -#define snd_dma_pci_buf_id(snd_dma_pci_buf_id108,3097 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_oss.h,928 -#define __SOUND_SEQ_OSS_H2,26 -typedef struct snd_seq_oss_arg_t snd_seq_oss_arg_t;snd_seq_oss_arg_t30,928 -typedef struct snd_seq_oss_callback_t snd_seq_oss_callback_t;snd_seq_oss_callback_t31,980 -struct snd_seq_oss_arg_t snd_seq_oss_arg_t36,1099 -struct snd_seq_oss_callback_t snd_seq_oss_callback_t56,1636 -#define SNDRV_SEQ_OSS_FILE_ACMODE 67,2077 -#define SNDRV_SEQ_OSS_FILE_READ 68,2114 -#define SNDRV_SEQ_OSS_FILE_WRITE 69,2149 -#define SNDRV_SEQ_OSS_FILE_NONBLOCK 70,2185 -#define SNDRV_SEQ_OSS_MODE_SYNTH 73,2245 -#define SNDRV_SEQ_OSS_MODE_MUSIC 74,2281 -#define SNDRV_SEQ_OSS_PROCESS_EVENTS 77,2344 -#define SNDRV_SEQ_OSS_PASS_EVENTS 78,2432 -#define SNDRV_SEQ_OSS_PROCESS_KEYPRESS 79,2503 -#define SNDRV_SEQ_OSS_CTRLRATE 82,2630 -#define SNDRV_SEQ_OSS_MAX_QLEN 85,2729 -typedef struct snd_seq_oss_reg snd_seq_oss_reg91,2818 -} snd_seq_oss_reg_t;snd_seq_oss_reg_t97,2941 -#define SNDRV_SEQ_DEV_ID_OSS 100,2979 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/ainstr_simple.h,889 -#define __SOUND_AINSTR_SIMPLE_H25,927 -#define SIMPLE_SHARE_FILE 36,1074 -#define SIMPLE_WAVE_16BIT 42,1129 -#define SIMPLE_WAVE_UNSIGNED 43,1182 -#define SIMPLE_WAVE_INVERT 44,1240 -#define SIMPLE_WAVE_BACKWARD 45,1304 -#define SIMPLE_WAVE_LOOP 46,1404 -#define SIMPLE_WAVE_BIDIR 47,1454 -#define SIMPLE_WAVE_STEREO 48,1514 -#define SIMPLE_WAVE_ULAW 49,1567 -#define SIMPLE_EFFECT_NONE 55,1660 -#define SIMPLE_EFFECT_REVERB 56,1690 -#define SIMPLE_EFFECT_CHORUS 57,1722 -#define SIMPLE_EFFECT_ECHO 58,1754 -typedef struct simple_instrument_info simple_instrument_info64,1813 -} simple_instrument_info_t;simple_instrument_info_t69,2091 -} simple_instrument_t;simple_instrument_t95,3028 -#define SIMPLE_STRU_INSTR 109,3229 -typedef struct simple_xinstrument simple_xinstrument115,3327 -} simple_xinstrument_t;simple_xinstrument_t131,3962 -} snd_simple_ops_t;snd_simple_ops_t150,4600 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/timer.h,2077 -#define __SOUND_TIMER_H2,24 -typedef enum sndrv_timer_class snd_timer_class_t;snd_timer_class_t29,985 -typedef enum sndrv_timer_slave_class snd_timer_slave_class_t;snd_timer_slave_class_t30,1035 -typedef enum sndrv_timer_global snd_timer_global_t;snd_timer_global_t31,1097 -typedef struct sndrv_timer_id snd_timer_id_t;snd_timer_id_t32,1149 -typedef struct sndrv_timer_ginfo snd_timer_ginfo_t;snd_timer_ginfo_t33,1195 -typedef struct sndrv_timer_gparams snd_timer_gparams_t;snd_timer_gparams_t34,1247 -typedef struct sndrv_timer_gstatus snd_timer_gstatus_t;snd_timer_gstatus_t35,1303 -typedef struct sndrv_timer_select snd_timer_select_t;snd_timer_select_t36,1359 -typedef struct sndrv_timer_info snd_timer_info_t;snd_timer_info_t37,1413 -typedef struct sndrv_timer_params snd_timer_params_t;snd_timer_params_t38,1463 -typedef struct sndrv_timer_status snd_timer_status_t;snd_timer_status_t39,1517 -typedef struct sndrv_timer_read snd_timer_read_t;snd_timer_read_t40,1571 -typedef struct sndrv_timer_tread snd_timer_tread_t;snd_timer_tread_t41,1621 -#define snd_timer_chip(snd_timer_chip43,1674 -#define SNDRV_TIMER_DEVICES 45,1729 -#define SNDRV_TIMER_DEV_FLG_PCM 47,1761 -#define SNDRV_TIMER_HW_AUTO 49,1805 -#define SNDRV_TIMER_HW_STOP 50,1876 -#define SNDRV_TIMER_HW_SLAVE 51,1944 -#define SNDRV_TIMER_HW_FIRST 52,2029 -#define SNDRV_TIMER_HW_TASKLET 53,2104 -#define SNDRV_TIMER_IFLG_SLAVE 55,2182 -#define SNDRV_TIMER_IFLG_RUNNING 56,2226 -#define SNDRV_TIMER_IFLG_START 57,2271 -#define SNDRV_TIMER_IFLG_AUTO 58,2315 -#define SNDRV_TIMER_IFLG_FAST 59,2377 -#define SNDRV_TIMER_IFLG_CALLBACK 60,2461 -#define SNDRV_TIMER_IFLG_EXCLUSIVE 61,2537 -#define SNDRV_TIMER_IFLG_EARLY_EVENT 62,2625 -#define SNDRV_TIMER_FLG_CHANGE 64,2716 -#define SNDRV_TIMER_FLG_RESCHED 65,2758 -typedef void (*snd_timer_callback_t)snd_timer_callback_t67,2824 -typedef void (*snd_timer_ccallback_t)snd_timer_ccallback_t68,2941 -struct _snd_timer_hardware _snd_timer_hardware71,3106 -struct _snd_timer _snd_timer88,3895 -struct _snd_timer_instance _snd_timer_instance110,4484 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/emux_synth.h,1539 -#define __SOUND_EMUX_SYNTH_H2,29 -#define SNDRV_EMUX_USE_RAW_EFFECT37,1138 -typedef struct snd_emux_effect_table snd_emux_effect_table_t;snd_emux_effect_table_t43,1193 -typedef struct snd_emux_port snd_emux_port_t;snd_emux_port_t44,1255 -typedef struct snd_emux_voice snd_emux_voice_t;snd_emux_voice_t45,1301 -typedef struct snd_emux snd_emux_t;snd_emux_t46,1349 -typedef struct snd_emux_operators snd_emux_operators52,1407 -} snd_emux_operators_t;snd_emux_operators_t71,2406 -#define SNDRV_EMUX_MAX_PORTS 77,2458 -#define SNDRV_EMUX_MAX_VOICES 78,2522 -#define SNDRV_EMUX_MAX_MULTI_VOICES 79,2578 -#define SNDRV_EMUX_ACCEPT_ROM 86,2696 -struct snd_emux snd_emux91,2760 -struct snd_emux_port snd_emux_port140,4323 -#define SNDRV_EMUX_PORT_MODE_MIDI 158,4743 -#define SNDRV_EMUX_PORT_MODE_OSS_SYNTH 159,4803 -#define SNDRV_EMUX_PORT_MODE_OSS_MIDI 160,4865 -struct snd_emux_voice snd_emux_voice165,5000 -#define SNDRV_EMUX_ST_OFF 169,5093 -#define SNDRV_EMUX_ST_ON 170,5157 -#define SNDRV_EMUX_ST_RELEASED 171,5202 -#define SNDRV_EMUX_ST_SUSTAINED 172,5278 -#define SNDRV_EMUX_ST_STANDBY 173,5355 -#define SNDRV_EMUX_ST_PENDING 174,5439 -#define SNDRV_EMUX_ST_LOCKED 175,5522 -#define SNDRV_EMUX_UPDATE_VOLUME 208,6528 -#define SNDRV_EMUX_UPDATE_PITCH 209,6569 -#define SNDRV_EMUX_UPDATE_PAN 210,6609 -#define SNDRV_EMUX_UPDATE_FMMOD 211,6647 -#define SNDRV_EMUX_UPDATE_TREMFREQ 212,6687 -#define SNDRV_EMUX_UPDATE_FM2FRQ2 213,6729 -#define SNDRV_EMUX_UPDATE_Q 214,6771 -struct snd_emux_effect_table snd_emux_effect_table221,6865 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/hdsp.h,1244 -#define __SOUND_HDSP_H2,23 -#define HDSP_MATRIX_MIXER_SIZE 22,843 - Digiface,25,895 - Multiface,26,906 - H9652,27,918 - H9632,28,926 - Undefined,29,934 -} HDSP_IO_Type;HDSP_IO_Type30,946 -typedef struct _snd_hdsp_peak_rms hdsp_peak_rms_t;hdsp_peak_rms_t32,963 -struct _snd_hdsp_peak_rms _snd_hdsp_peak_rms34,1015 -#define SNDRV_HDSP_IOCTL_GET_PEAK_RMS 44,1296 -typedef struct _snd_hdsp_config_info hdsp_config_info_t;hdsp_config_info_t46,1368 -struct _snd_hdsp_config_info _snd_hdsp_config_info48,1426 -#define SNDRV_HDSP_IOCTL_GET_CONFIG_INFO 74,2175 -typedef struct _snd_hdsp_firmware hdsp_firmware_t;hdsp_firmware_t76,2253 -struct _snd_hdsp_firmware _snd_hdsp_firmware78,2305 -#define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE 82,2398 -typedef struct _snd_hdsp_version hdsp_version_t;hdsp_version_t84,2473 -struct _snd_hdsp_version _snd_hdsp_version86,2523 -#define SNDRV_HDSP_IOCTL_GET_VERSION 91,2607 -typedef struct _snd_hdsp_mixer hdsp_mixer_t;hdsp_mixer_t93,2677 -struct _snd_hdsp_mixer _snd_hdsp_mixer95,2723 -#define SNDRV_HDSP_IOCTL_GET_MIXER 99,2800 -typedef struct _snd_hdsp_9632_aeb hdsp_9632_aeb_t;hdsp_9632_aeb_t101,2866 -struct _snd_hdsp_9632_aeb _snd_hdsp_9632_aeb103,2918 -#define SNDRV_HDSP_IOCTL_GET_9632_AEB 108,2972 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/pcm-indirect.h,394 -#define __SOUND_PCM_INDIRECT_H23,918 -typedef struct sndrv_pcm_indirect sndrv_pcm_indirect27,974 -} snd_pcm_indirect_t;snd_pcm_indirect_t38,1674 -typedef void (*snd_pcm_indirect_copy_t)snd_pcm_indirect_copy_t40,1697 -snd_pcm_indirect_playback_transfer(47,1886 -snd_pcm_indirect_playback_pointer(92,3248 -snd_pcm_indirect_capture_transfer(113,3778 -snd_pcm_indirect_capture_pointer(157,5077 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/es1688.h,1706 -#define __SOUND_ES1688_H2,25 -#define ES1688_HW_AUTO 29,956 -#define ES1688_HW_688 30,987 -#define ES1688_HW_1688 31,1017 -struct _snd_es1688 _snd_es168833,1049 -typedef struct _snd_es1688 es1688_t;es1688_t56,1653 -#define ES1688P(ES1688P60,1708 -#define e_s_s_ESS1688RESET 62,1770 -#define e_s_s_ESS1688READ 63,1801 -#define e_s_s_ESS1688WRITE 64,1831 -#define e_s_s_ESS1688COMMAND 65,1862 -#define e_s_s_ESS1688STATUS 66,1895 -#define e_s_s_ESS1688DATA_AVAIL 67,1927 -#define e_s_s_ESS1688DATA_AVAIL_16 68,1963 -#define e_s_s_ESS1688MIXER_ADDR 69,2002 -#define e_s_s_ESS1688MIXER_DATA 70,2038 -#define e_s_s_ESS1688OPL3_LEFT 71,2074 -#define e_s_s_ESS1688OPL3_RIGHT 72,2109 -#define e_s_s_ESS1688OPL3_BOTH 73,2145 -#define e_s_s_ESS1688ENABLE0 74,2180 -#define e_s_s_ESS1688ENABLE1 75,2213 -#define e_s_s_ESS1688ENABLE2 76,2246 -#define e_s_s_ESS1688INIT1 77,2279 -#define ES1688_DSP_CMD_DMAOFF 79,2311 -#define ES1688_DSP_CMD_SPKON 80,2346 -#define ES1688_DSP_CMD_SPKOFF 81,2380 -#define ES1688_DSP_CMD_DMAON 82,2415 -#define ES1688_PCM_DEV 84,2450 -#define ES1688_MIC_DEV 85,2479 -#define ES1688_REC_DEV 86,2508 -#define ES1688_MASTER_DEV 87,2537 -#define ES1688_FM_DEV 88,2568 -#define ES1688_CD_DEV 89,2596 -#define ES1688_AUX_DEV 90,2624 -#define ES1688_SPEAKER_DEV 91,2653 -#define ES1688_LINE_DEV 92,2685 -#define ES1688_RECLEV_DEV 93,2715 -#define ES1688_MIXS_MASK 95,2747 -#define ES1688_MIXS_MIC 96,2777 -#define ES1688_MIXS_MIC_MASTER 97,2807 -#define ES1688_MIXS_CD 98,2843 -#define ES1688_MIXS_AOUT 99,2872 -#define ES1688_MIXS_MIC1 100,2902 -#define ES1688_MIXS_REC_MIX 101,2932 -#define ES1688_MIXS_LINE 102,2965 -#define ES1688_MIXS_MASTER 103,2995 -#define ES1688_MIXS_MUTE 104,3027 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/control.h,1939 -#define __SOUND_CONTROL_H2,26 -typedef struct sndrv_aes_iec958 snd_aes_iec958_t;snd_aes_iec958_t27,922 -typedef struct sndrv_ctl_card_info snd_ctl_card_info_t;snd_ctl_card_info_t28,972 -typedef enum sndrv_ctl_elem_type snd_ctl_elem_type_t;snd_ctl_elem_type_t29,1028 -typedef enum sndrv_ctl_elem_iface snd_ctl_elem_iface_t;snd_ctl_elem_iface_t30,1082 -typedef struct sndrv_ctl_elem_id snd_ctl_elem_id_t;snd_ctl_elem_id_t31,1138 -typedef struct sndrv_ctl_elem_list snd_ctl_elem_list_t;snd_ctl_elem_list_t32,1190 -typedef struct sndrv_ctl_elem_info snd_ctl_elem_info_t;snd_ctl_elem_info_t33,1246 -typedef struct sndrv_ctl_elem_value snd_ctl_elem_value_t;snd_ctl_elem_value_t34,1302 -typedef enum sndrv_ctl_event_type snd_ctl_event_type_t;snd_ctl_event_type_t35,1360 -typedef struct sndrv_ctl_event snd_ctl_event_t;snd_ctl_event_t36,1416 -#define snd_kcontrol_chip(snd_kcontrol_chip38,1465 -typedef int (snd_kcontrol_info_t)snd_kcontrol_info_t40,1529 -typedef int (snd_kcontrol_get_t)snd_kcontrol_get_t41,1621 -typedef int (snd_kcontrol_put_t)snd_kcontrol_put_t42,1716 -typedef struct _snd_kcontrol_new _snd_kcontrol_new44,1812 -} snd_kcontrol_new_t;snd_kcontrol_new_t56,2308 -typedef struct _snd_kcontrol_volatile _snd_kcontrol_volatile58,2331 -} snd_kcontrol_volatile_t;snd_kcontrol_volatile_t62,2468 -struct _snd_kcontrol _snd_kcontrol64,2496 -#define snd_kcontrol(snd_kcontrol77,2877 -typedef struct _snd_kctl_event _snd_kctl_event79,2938 -} snd_kctl_event_t;snd_kctl_event_t83,3059 -#define snd_kctl_event(snd_kctl_event85,3080 -struct _snd_ctl_file _snd_ctl_file87,3145 -#define snd_ctl_file(snd_ctl_file100,3514 -typedef int (*snd_kctl_ioctl_func_t)snd_kctl_ioctl_func_t102,3575 -static inline unsigned int snd_ctl_get_ioffnum(125,4727 -static inline unsigned int snd_ctl_get_ioffidx(130,4860 -static inline unsigned int snd_ctl_get_ioff(135,4993 -static inline snd_ctl_elem_id_t *snd_ctl_build_ioff(144,5198 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/asound_fm.h,1130 -#define __SOUND_ASOUND_FM_H2,28 -#define SNDRV_DM_FM_MODE_OPL2 29,1041 -#define SNDRV_DM_FM_MODE_OPL3 30,1076 -typedef struct snd_dm_fm_info snd_dm_fm_info32,1112 -} snd_dm_fm_info_t;snd_dm_fm_info_t35,1261 -typedef struct snd_dm_fm_voice snd_dm_fm_voice41,1348 -} snd_dm_fm_voice_t;snd_dm_fm_voice_t63,2307 -typedef struct snd_dm_fm_note snd_dm_fm_note70,2434 -} snd_dm_fm_note_t;snd_dm_fm_note_t75,2684 -typedef struct snd_dm_fm_params snd_dm_fm_params81,2791 -} snd_dm_fm_params_t;snd_dm_fm_params_t93,3208 -#define SNDRV_DM_FM_IOCTL_INFO 99,3266 -#define SNDRV_DM_FM_IOCTL_RESET 100,3332 -#define SNDRV_DM_FM_IOCTL_PLAY_NOTE 101,3381 -#define SNDRV_DM_FM_IOCTL_SET_VOICE 102,3451 -#define SNDRV_DM_FM_IOCTL_SET_PARAMS 103,3522 -#define SNDRV_DM_FM_IOCTL_SET_MODE 104,3595 -#define SNDRV_DM_FM_IOCTL_SET_CONNECTION 106,3671 -#define SNDRV_DM_FM_OSS_IOCTL_RESET 108,3734 -#define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 109,3776 -#define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 110,3822 -#define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 111,3868 -#define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 112,3914 -#define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 113,3959 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/seq_instr.h,658 -#define __SOUND_SEQ_INSTR_H2,28 -typedef struct _snd_seq_kcluster _snd_seq_kcluster27,966 -} snd_seq_kcluster_t;snd_seq_kcluster_t32,1099 -#define KINSTR_DATA(KINSTR_DATA35,1159 -typedef struct snd_seq_kinstr_ops snd_seq_kinstr_ops_t;snd_seq_kinstr_ops_t37,1242 -typedef struct _snd_seq_kinstr _snd_seq_kinstr40,1326 -} snd_seq_kinstr_t;snd_seq_kinstr_t49,1609 -#define SNDRV_SEQ_INSTR_HASH_SIZE 51,1630 -#define SNDRV_SEQ_INSTR_FLG_DIRECT 54,1692 -} snd_seq_kinstr_list_t;snd_seq_kinstr_list_t71,2186 -#define SNDRV_SEQ_INSTR_NOTIFY_REMOVE 73,2212 -#define SNDRV_SEQ_INSTR_NOTIFY_CHANGE 74,2252 -struct snd_seq_kinstr_ops snd_seq_kinstr_ops76,2293 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/pcm.h,10154 -#define __SOUND_PCM_H2,22 -typedef sndrv_pcm_uframes_t snd_pcm_uframes_t;snd_pcm_uframes_t31,1055 -typedef sndrv_pcm_sframes_t snd_pcm_sframes_t;snd_pcm_sframes_t32,1102 -typedef enum sndrv_pcm_class snd_pcm_class_t;snd_pcm_class_t33,1149 -typedef enum sndrv_pcm_subclass snd_pcm_subclass_t;snd_pcm_subclass_t34,1195 -typedef enum sndrv_pcm_stream snd_pcm_stream_t;snd_pcm_stream_t35,1247 -typedef enum sndrv_pcm_access snd_pcm_access_t;snd_pcm_access_t36,1295 -typedef enum sndrv_pcm_format snd_pcm_format_t;snd_pcm_format_t37,1343 -typedef enum sndrv_pcm_subformat snd_pcm_subformat_t;snd_pcm_subformat_t38,1391 -typedef enum sndrv_pcm_state snd_pcm_state_t;snd_pcm_state_t39,1445 -typedef union sndrv_pcm_sync_id snd_pcm_sync_id_t;snd_pcm_sync_id_t40,1491 -typedef struct sndrv_pcm_info snd_pcm_info_t;snd_pcm_info_t41,1542 -typedef enum sndrv_pcm_hw_param snd_pcm_hw_param_t;snd_pcm_hw_param_t42,1588 -typedef struct sndrv_pcm_hw_params snd_pcm_hw_params_t;snd_pcm_hw_params_t43,1640 -typedef enum sndrv_pcm_start snd_pcm_start_t;snd_pcm_start_t44,1696 -typedef enum sndrv_pcm_xrun snd_pcm_xrun_t;snd_pcm_xrun_t45,1742 -typedef enum sndrv_pcm_tstamp snd_pcm_tstamp_t;snd_pcm_tstamp_t46,1786 -typedef struct sndrv_pcm_sw_params snd_pcm_sw_params_t;snd_pcm_sw_params_t47,1834 -typedef struct sndrv_pcm_channel_info snd_pcm_channel_info_t;snd_pcm_channel_info_t48,1890 -typedef struct sndrv_pcm_status snd_pcm_status_t;snd_pcm_status_t49,1952 -typedef struct sndrv_pcm_mmap_status snd_pcm_mmap_status_t;snd_pcm_mmap_status_t50,2002 -typedef struct sndrv_pcm_mmap_control snd_pcm_mmap_control_t;snd_pcm_mmap_control_t51,2062 -typedef struct sndrv_mask snd_mask_t;snd_mask_t52,2124 -typedef struct snd_sg_buf snd_pcm_sgbuf_t;snd_pcm_sgbuf_t53,2162 -#define snd_pcm_substream_chip(snd_pcm_substream_chip55,2206 -#define snd_pcm_chip(snd_pcm_chip56,2276 -typedef struct _snd_pcm_file snd_pcm_file_t;snd_pcm_file_t58,2325 -typedef struct _snd_pcm_runtime snd_pcm_runtime_t;snd_pcm_runtime_t59,2370 -typedef struct _snd_pcm_hardware _snd_pcm_hardware69,2561 -} snd_pcm_hardware_t;snd_pcm_hardware_t83,3189 -typedef struct _snd_pcm_ops _snd_pcm_ops85,3212 -} snd_pcm_ops_t;snd_pcm_ops_t102,4170 -#define SNDRV_PCM_DEVICES 108,4199 -#define SNDRV_PCM_IOCTL1_FALSE 110,4229 -#define SNDRV_PCM_IOCTL1_TRUE 111,4273 -#define SNDRV_PCM_IOCTL1_RESET 113,4317 -#define SNDRV_PCM_IOCTL1_INFO 114,4351 -#define SNDRV_PCM_IOCTL1_CHANNEL_INFO 115,4384 -#define SNDRV_PCM_IOCTL1_GSTATE 116,4424 -#define SNDRV_PCM_TRIGGER_STOP 118,4460 -#define SNDRV_PCM_TRIGGER_START 119,4494 -#define SNDRV_PCM_TRIGGER_PAUSE_PUSH 120,4529 -#define SNDRV_PCM_TRIGGER_PAUSE_RELEASE 121,4568 -#define SNDRV_PCM_TRIGGER_SUSPEND 122,4610 -#define SNDRV_PCM_TRIGGER_RESUME 123,4646 -#define SNDRV_PCM_POS_XRUN 125,4682 -#define SNDRV_PCM_RATE_5512 128,4813 -#define SNDRV_PCM_RATE_8000 129,4863 -#define SNDRV_PCM_RATE_11025 130,4913 -#define SNDRV_PCM_RATE_16000 131,4965 -#define SNDRV_PCM_RATE_22050 132,5017 -#define SNDRV_PCM_RATE_32000 133,5069 -#define SNDRV_PCM_RATE_44100 134,5121 -#define SNDRV_PCM_RATE_48000 135,5173 -#define SNDRV_PCM_RATE_64000 136,5225 -#define SNDRV_PCM_RATE_88200 137,5277 -#define SNDRV_PCM_RATE_96000 138,5329 -#define SNDRV_PCM_RATE_176400 139,5382 -#define SNDRV_PCM_RATE_192000 140,5437 -#define SNDRV_PCM_RATE_CONTINUOUS 142,5493 -#define SNDRV_PCM_RATE_KNOT 143,5559 -#define SNDRV_PCM_RATE_8000_44100 145,5638 -#define SNDRV_PCM_RATE_8000_48000 148,5815 -#define SNDRV_PCM_RATE_8000_96000 149,5898 -#define SNDRV_PCM_RATE_8000_192000 151,6031 -#define SNDRV_PCM_FMTBIT_S8 153,6146 -#define SNDRV_PCM_FMTBIT_U8 154,6205 -#define SNDRV_PCM_FMTBIT_S16_LE 155,6264 -#define SNDRV_PCM_FMTBIT_S16_BE 156,6331 -#define SNDRV_PCM_FMTBIT_U16_LE 157,6398 -#define SNDRV_PCM_FMTBIT_U16_BE 158,6465 -#define SNDRV_PCM_FMTBIT_S24_LE 159,6532 -#define SNDRV_PCM_FMTBIT_S24_BE 160,6599 -#define SNDRV_PCM_FMTBIT_U24_LE 161,6666 -#define SNDRV_PCM_FMTBIT_U24_BE 162,6733 -#define SNDRV_PCM_FMTBIT_S32_LE 163,6800 -#define SNDRV_PCM_FMTBIT_S32_BE 164,6867 -#define SNDRV_PCM_FMTBIT_U32_LE 165,6934 -#define SNDRV_PCM_FMTBIT_U32_BE 166,7001 -#define SNDRV_PCM_FMTBIT_FLOAT_LE 167,7068 -#define SNDRV_PCM_FMTBIT_FLOAT_BE 168,7138 -#define SNDRV_PCM_FMTBIT_FLOAT64_LE 169,7208 -#define SNDRV_PCM_FMTBIT_FLOAT64_BE 170,7282 -#define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE 171,7356 -#define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_BE 172,7446 -#define SNDRV_PCM_FMTBIT_MU_LAW 173,7536 -#define SNDRV_PCM_FMTBIT_A_LAW 174,7603 -#define SNDRV_PCM_FMTBIT_IMA_ADPCM 175,7668 -#define SNDRV_PCM_FMTBIT_MPEG 176,7740 -#define SNDRV_PCM_FMTBIT_GSM 177,7803 -#define SNDRV_PCM_FMTBIT_SPECIAL 178,7864 -#define SNDRV_PCM_FMTBIT_S24_3LE 179,7932 -#define SNDRV_PCM_FMTBIT_U24_3LE 180,8000 -#define SNDRV_PCM_FMTBIT_S24_3BE 181,8068 -#define SNDRV_PCM_FMTBIT_U24_3BE 182,8136 -#define SNDRV_PCM_FMTBIT_S20_3LE 183,8204 -#define SNDRV_PCM_FMTBIT_U20_3LE 184,8272 -#define SNDRV_PCM_FMTBIT_S20_3BE 185,8340 -#define SNDRV_PCM_FMTBIT_U20_3BE 186,8408 -#define SNDRV_PCM_FMTBIT_S18_3LE 187,8476 -#define SNDRV_PCM_FMTBIT_U18_3LE 188,8544 -#define SNDRV_PCM_FMTBIT_S18_3BE 189,8612 -#define SNDRV_PCM_FMTBIT_U18_3BE 190,8680 -#define SNDRV_PCM_FMTBIT_S16 193,8776 -#define SNDRV_PCM_FMTBIT_U16 194,8830 -#define SNDRV_PCM_FMTBIT_S24 195,8884 -#define SNDRV_PCM_FMTBIT_U24 196,8938 -#define SNDRV_PCM_FMTBIT_S32 197,8992 -#define SNDRV_PCM_FMTBIT_U32 198,9046 -#define SNDRV_PCM_FMTBIT_FLOAT 199,9100 -#define SNDRV_PCM_FMTBIT_FLOAT64 200,9158 -#define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME 201,9219 -#define SNDRV_PCM_FMTBIT_S16 204,9327 -#define SNDRV_PCM_FMTBIT_U16 205,9381 -#define SNDRV_PCM_FMTBIT_S24 206,9435 -#define SNDRV_PCM_FMTBIT_U24 207,9489 -#define SNDRV_PCM_FMTBIT_S32 208,9543 -#define SNDRV_PCM_FMTBIT_U32 209,9597 -#define SNDRV_PCM_FMTBIT_FLOAT 210,9651 -#define SNDRV_PCM_FMTBIT_FLOAT64 211,9709 -#define SNDRV_PCM_FMTBIT_IEC958_SUBFRAME 212,9770 -struct _snd_pcm_file _snd_pcm_file215,9855 -typedef struct _snd_pcm_hw_rule snd_pcm_hw_rule_t;snd_pcm_hw_rule_t220,9946 -typedef int (*snd_pcm_hw_rule_func_t)snd_pcm_hw_rule_func_t222,9998 -struct _snd_pcm_hw_rule _snd_pcm_hw_rule225,10102 -typedef struct _snd_pcm_hw_constraints _snd_pcm_hw_constraints233,10222 -} snd_pcm_hw_constraints_t;snd_pcm_hw_constraints_t241,10539 -static inline snd_mask_t *constrs_mask(243,10568 -static inline snd_interval_t *constrs_interval(249,10744 -} ratnum_t;ratnum_t258,11010 -} ratden_t;ratden_t263,11101 -} snd_pcm_hw_constraint_ratnums_t;snd_pcm_hw_constraint_ratnums_t268,11160 -} snd_pcm_hw_constraint_ratdens_t;snd_pcm_hw_constraint_ratdens_t273,11242 -} snd_pcm_hw_constraint_list_t;snd_pcm_hw_constraint_list_t279,11357 -struct _snd_pcm_runtime _snd_pcm_runtime281,11390 -typedef struct _snd_pcm_group _snd_pcm_group364,14202 -} snd_pcm_group_t;snd_pcm_group_t367,14312 -struct _snd_pcm_substream _snd_pcm_substream369,14332 -#define SUBSTREAM_BUSY(SUBSTREAM_BUSY411,15807 -#define SUBSTREAM_BUSY(SUBSTREAM_BUSY413,15910 -struct _snd_pcm_str _snd_pcm_str417,15981 -struct _snd_pcm _snd_pcm438,16569 -typedef struct _snd_pcm_notify _snd_pcm_notify456,17010 -} snd_pcm_notify_t;snd_pcm_notify_t461,17185 -static inline void div64_32(507,19019 -static inline void div64_32(515,19148 -static inline void divl(532,19520 -static inline void div64_32(561,19963 -static inline int snd_pcm_stream_linked(583,20344 -static inline void snd_pcm_stream_lock(588,20473 -static inline void snd_pcm_stream_unlock(594,20624 -static inline void snd_pcm_stream_lock_irq(600,20781 -static inline void snd_pcm_stream_unlock_irq(606,20940 -#define snd_pcm_stream_lock_irqsave(snd_pcm_stream_lock_irqsave612,21105 -#define snd_pcm_stream_unlock_irqrestore(snd_pcm_stream_unlock_irqrestore618,21277 -#define snd_pcm_group_for_each(snd_pcm_group_for_each624,21461 -#define snd_pcm_group_substream_entry(snd_pcm_group_substream_entry627,21562 -static inline int snd_pcm_running(630,21657 -static inline ssize_t bytes_to_samples(637,21922 -static inline snd_pcm_sframes_t bytes_to_frames(642,22049 -static inline ssize_t samples_to_bytes(647,22184 -static inline ssize_t frames_to_bytes(652,22311 -static inline int frame_aligned(657,22446 -static inline size_t snd_pcm_lib_buffer_bytes(662,22568 -static inline size_t snd_pcm_lib_period_bytes(668,22757 -static inline snd_pcm_uframes_t snd_pcm_playback_avail(677,22989 -static inline snd_pcm_uframes_t snd_pcm_capture_avail(690,23373 -static inline snd_pcm_sframes_t snd_pcm_playback_hw_avail(698,23602 -static inline snd_pcm_sframes_t snd_pcm_capture_hw_avail(703,23757 -static inline void snd_pcm_trigger_done(708,23910 -static inline int hw_is_mask(714,24068 -static inline int hw_is_interval(720,24198 -static inline snd_mask_t *hw_param_mask(726,24340 -static inline snd_interval_t *hw_param_interval(732,24508 -static inline const snd_mask_t *hw_param_mask_c(738,24693 -static inline const snd_interval_t *hw_param_interval_c(744,24894 -#define params_access(params_access750,25112 -#define params_format(params_format751,25197 -#define params_subformat(params_subformat752,25282 -#define params_channels(params_channels753,25373 -#define params_rate(params_rate754,25457 -#define params_period_size(params_period_size755,25533 -#define params_period_bytes(params_period_bytes756,25623 -#define params_periods(params_periods757,25749 -#define params_buffer_size(params_buffer_size758,25831 -#define params_buffer_bytes(params_buffer_bytes759,25921 -#define params_tick_time(params_tick_time760,26013 -static inline void snd_pcm_set_runtime_buffer(897,32799 -#define snd_pcm_substream_sgbuf(snd_pcm_substream_sgbuf937,33994 -#define snd_pcm_sgbuf_pages(snd_pcm_sgbuf_pages938,34088 -#define snd_pcm_sgbuf_get_addr(snd_pcm_sgbuf_get_addr939,34152 -static inline void snd_pcm_mmap_data_open(943,34398 -static inline void snd_pcm_mmap_data_close(949,34600 -#define SNDRV_PCM_INFO_MMAP_IOMEM 957,34905 -#define SNDRV_PCM_INFO_MMAP_IOMEM 960,35054 -#define snd_pcm_lib_mmap_iomem 961,35090 -static inline void snd_pcm_limit_isa_dma_size(964,35134 -#define SNDRV_PCM_DEFAULT_CON_SPDIF 973,35266 - -/export0/mef/linux-2.6.9-1.11_FC2/include/sound/info.h,1850 -#define __SOUND_INFO_H2,23 -struct snd_info_buffer snd_info_buffer28,940 -typedef struct snd_info_buffer snd_info_buffer_t;snd_info_buffer_t37,1212 -#define SNDRV_INFO_CONTENT_TEXT 39,1263 -#define SNDRV_INFO_CONTENT_DATA 40,1298 -struct snd_info_entry_text snd_info_entry_text44,1358 -struct snd_info_entry_ops snd_info_entry_ops51,1583 -struct snd_info_entry snd_info_entry73,2662 -#define snd_info_minor_register(snd_info_minor_register98,3280 -#define snd_info_minor_unregister(snd_info_minor_unregister99,3324 -#define snd_oss_root 109,3512 -int snd_iprintf(112,3546 -#define snd_seq_root 155,5102 -#define snd_oss_root 156,5128 -static inline int snd_iprintf(158,5155 -static inline int snd_info_init(159,5242 -static inline int snd_info_done(160,5294 -static inline int snd_info_get_line(162,5347 -static inline char *snd_info_get_str(163,5446 -static inline snd_info_entry_t *snd_info_create_module_entry(164,5532 -static inline snd_info_entry_t *snd_info_create_card_entry(165,5679 -static inline void snd_info_free_entry(166,5819 -static inline int snd_info_card_create(168,5891 -static inline int snd_info_card_register(169,5963 -static inline int snd_info_card_free(170,6037 -static inline int snd_info_register(171,6107 -static inline int snd_info_unregister(172,6183 -static inline struct proc_dir_entry *snd_create_proc_entry(174,6262 -static inline void snd_remove_proc_entry(175,6400 -#define snd_card_proc_new(snd_card_proc_new178,6512 -#define snd_info_set_text_ops(snd_info_set_text_ops179,6580 -#define SNDRV_OSS_INFO_DEV_AUDIO 189,6747 -#define SNDRV_OSS_INFO_DEV_SYNTH 190,6782 -#define SNDRV_OSS_INFO_DEV_MIDI 191,6817 -#define SNDRV_OSS_INFO_DEV_TIMERS 192,6852 -#define SNDRV_OSS_INFO_DEV_MIXERS 193,6888 -#define SNDRV_OSS_INFO_DEV_COUNT 195,6925 -#define snd_oss_info_unregister(snd_oss_info_unregister198,7027 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/op-8.h,371 -#define __MATH_EMU_OP_8_H__25,1222 -#define _FP_FRAC_DECL_8(_FP_FRAC_DECL_829,1360 -#define _FP_FRAC_HIGH_8(_FP_FRAC_HIGH_830,1407 -#define _FP_FRAC_LOW_8(_FP_FRAC_LOW_831,1445 -#define _FP_FRAC_WORD_8(_FP_FRAC_WORD_832,1482 -#define _FP_FRAC_SLL_8(_FP_FRAC_SLL_834,1523 -#define _FP_FRAC_SRL_8(_FP_FRAC_SRL_854,2136 -#define _FP_FRAC_SRS_8(_FP_FRAC_SRS_880,2966 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/soft-fp.h,1699 -#define __MATH_EMU_SOFT_FP_H__25,1149 -#define _FP_WORKBITS 34,1324 -#define _FP_WORK_LSB 35,1348 -#define _FP_WORK_ROUND 36,1391 -#define _FP_WORK_GUARD 37,1436 -#define _FP_WORK_STICKY 38,1481 -# define FP_RND_NEAREST 41,1551 -# define FP_RND_ZERO 42,1578 -# define FP_RND_PINF 43,1602 -# define FP_RND_MINF 44,1626 -# define FP_ROUNDMODE 46,1671 -#define FP_EX_INVALID 52,1792 -#define FP_EX_OVERFLOW 55,1847 -#define FP_EX_UNDERFLOW 58,1904 -#define FP_EX_DIVZERO 61,1959 -#define FP_EX_INEXACT 64,2013 -#define FP_EX_DENORM 67,2066 -#define FP_DECL_EX 71,2117 -#define FP_DECL_EX 75,2185 -#define FP_INIT_ROUNDMODE 79,2253 -#define FP_HANDLE_EXCEPTIONS 83,2332 -#define FP_DENORM_ZERO 88,2480 -#define FP_INHIBIT_RESULTS 97,2704 -#define FP_SET_EXCEPTION(FP_SET_EXCEPTION100,2741 -#define FP_UNSET_EXCEPTION(FP_UNSET_EXCEPTION103,2793 -#define FP_CLEAR_EXCEPTIONS 106,2846 -#define _FP_ROUND_NEAREST(_FP_ROUND_NEAREST109,2891 -#define _FP_ROUND_ZERO(_FP_ROUND_ZERO115,3059 -#define _FP_ROUND_PINF(_FP_ROUND_PINF117,3093 -#define _FP_ROUND_MINF(_FP_ROUND_MINF123,3249 -#define _FP_ROUND(_FP_ROUND129,3404 -#define FP_CLS_NORMAL 150,3869 -#define FP_CLS_ZERO 151,3894 -#define FP_CLS_INF 152,3917 -#define FP_CLS_NAN 153,3939 -#define _FP_CLS_COMBINE(_FP_CLS_COMBINE155,3962 -#define UWtype 164,4197 -#define W_TYPE_SIZE 165,4224 -typedef int SItype __attribute__(__attribute__167,4261 -typedef int DItype __attribute__(__attribute__168,4307 -typedef unsigned int USItype __attribute__(__attribute__169,4353 -typedef unsigned int UDItype __attribute__(__attribute__170,4409 -typedef unsigned int UHWtype __attribute__(__attribute__172,4491 -typedef USItype UHWtype;UHWtype174,4575 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/double.h,2574 -#define __MATH_EMU_DOUBLE_H__26,1192 -#define _FP_FRACTBITS_D 33,1348 -#define _FP_FRACTBITS_D 35,1401 -#define _FP_FRACBITS_D 38,1450 -#define _FP_FRACXBITS_D 39,1477 -#define _FP_WFRACBITS_D 40,1537 -#define _FP_WFRACXBITS_D 41,1594 -#define _FP_EXPBITS_D 42,1655 -#define _FP_EXPBIAS_D 43,1681 -#define _FP_EXPMAX_D 44,1709 -#define _FP_QNANBIT_D 46,1737 -#define _FP_IMPLBIT_D 48,1819 -#define _FP_OVERFLOW_D 50,1901 -union _FP_UNION_D_FP_UNION_D55,2008 -#define FP_DECL_D(FP_DECL_D73,2489 -#define FP_UNPACK_RAW_D(FP_UNPACK_RAW_D74,2525 -#define FP_UNPACK_RAW_DP(FP_UNPACK_RAW_DP75,2582 -#define FP_PACK_RAW_D(FP_PACK_RAW_D76,2642 -#define FP_PACK_RAW_DP(FP_PACK_RAW_DP77,2695 -#define FP_UNPACK_D(FP_UNPACK_D83,2823 -#define FP_UNPACK_DP(FP_UNPACK_DP89,2950 -#define FP_PACK_D(FP_PACK_D95,3079 -#define FP_PACK_DP(FP_PACK_DP101,3201 -#define FP_ISSIGNAN_D(FP_ISSIGNAN_D108,3359 -#define FP_NEG_D(FP_NEG_D109,3405 -#define FP_ADD_D(FP_ADD_D110,3446 -#define FP_SUB_D(FP_SUB_D111,3491 -#define FP_MUL_D(FP_MUL_D112,3536 -#define FP_DIV_D(FP_DIV_D113,3581 -#define FP_SQRT_D(FP_SQRT_D114,3626 -#define _FP_SQRT_MEAT_D(_FP_SQRT_MEAT_D115,3669 -#define FP_CMP_D(FP_CMP_D117,3732 -#define FP_CMP_EQ_D(FP_CMP_EQ_D118,3781 -#define FP_TO_INT_D(FP_TO_INT_D120,3831 -#define FP_TO_INT_ROUND_D(FP_TO_INT_ROUND_D121,3892 -#define FP_FROM_INT_D(FP_FROM_INT_D122,3965 -#define _FP_FRAC_HIGH_D(_FP_FRAC_HIGH_D124,4027 -#define _FP_FRAC_HIGH_RAW_D(_FP_FRAC_HIGH_RAW_D125,4073 -union _FP_UNION_D_FP_UNION_D129,4131 -#define FP_DECL_D(FP_DECL_D145,4504 -#define FP_UNPACK_RAW_D(FP_UNPACK_RAW_D146,4540 -#define FP_UNPACK_RAW_DP(FP_UNPACK_RAW_DP147,4597 -#define FP_PACK_RAW_D(FP_PACK_RAW_D148,4657 -#define FP_PACK_RAW_DP(FP_PACK_RAW_DP149,4710 -#define FP_UNPACK_D(FP_UNPACK_D155,4838 -#define FP_UNPACK_DP(FP_UNPACK_DP161,4965 -#define FP_PACK_D(FP_PACK_D167,5094 -#define FP_PACK_DP(FP_PACK_DP173,5216 -#define FP_ISSIGNAN_D(FP_ISSIGNAN_D180,5374 -#define FP_NEG_D(FP_NEG_D181,5420 -#define FP_ADD_D(FP_ADD_D182,5461 -#define FP_SUB_D(FP_SUB_D183,5506 -#define FP_MUL_D(FP_MUL_D184,5551 -#define FP_DIV_D(FP_DIV_D185,5596 -#define FP_SQRT_D(FP_SQRT_D186,5641 -#define _FP_SQRT_MEAT_D(_FP_SQRT_MEAT_D187,5684 -#define FP_CMP_D(FP_CMP_D192,5844 -#define FP_CMP_EQ_D(FP_CMP_EQ_D193,5893 -#define FP_TO_INT_D(FP_TO_INT_D195,5943 -#define FP_TO_INT_ROUND_D(FP_TO_INT_ROUND_D196,6004 -#define FP_FROM_INT_D(FP_FROM_INT_D197,6077 -#define _FP_FRAC_HIGH_D(_FP_FRAC_HIGH_D199,6139 -#define _FP_FRAC_HIGH_RAW_D(_FP_FRAC_HIGH_RAW_D200,6185 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/op-common.h,875 -#define __MATH_EMU_OP_COMMON_H__25,1170 -#define _FP_DECL(_FP_DECL27,1204 -#define _FP_UNPACK_CANONICAL(_FP_UNPACK_CANONICAL36,1443 -#define _FP_PACK_CANONICAL(_FP_PACK_CANONICAL89,3016 -#define _FP_ISSIGNAN(_FP_ISSIGNAN197,5931 -#define _FP_ADD_INTERNAL(_FP_ADD_INTERNAL217,6283 -#define _FP_ADD(_FP_ADD355,11040 -#define _FP_SUB(_FP_SUB356,11112 -#define _FP_NEG(_FP_NEG368,11458 -#define _FP_MUL(_FP_MUL381,11702 -#define _FP_DIV(_FP_DIV444,13568 -#define _FP_CMP(_FP_CMP508,15501 -#define _FP_CMP_EQ(_FP_CMP_EQ548,16634 -#define _FP_SQRT(_FP_SQRT568,17204 -#define _FP_TO_INT(_FP_TO_INT634,19519 -#define _FP_TO_INT_ROUND(_FP_TO_INT_ROUND703,21511 -#define _FP_FROM_INT(_FP_FROM_INT764,23291 -#define FP_CONV(FP_CONV797,24306 -#define __FP_CLZ(__FP_CLZ814,24699 -#define __FP_CLZ(__FP_CLZ829,25144 -#define _FP_DIV_HELP_imm(_FP_DIV_HELP_imm848,25694 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/op-1.h,1984 -#define __MATH_EMU_OP_1_H__26,1206 -#define _FP_FRAC_DECL_1(_FP_FRAC_DECL_128,1238 -#define _FP_FRAC_COPY_1(_FP_FRAC_COPY_129,1284 -#define _FP_FRAC_SET_1(_FP_FRAC_SET_130,1329 -#define _FP_FRAC_HIGH_1(_FP_FRAC_HIGH_131,1369 -#define _FP_FRAC_LOW_1(_FP_FRAC_LOW_132,1404 -#define _FP_FRAC_WORD_1(_FP_FRAC_WORD_133,1438 -#define _FP_FRAC_ADDI_1(_FP_FRAC_ADDI_135,1476 -#define _FP_FRAC_SLL_1(_FP_FRAC_SLL_136,1518 -#define _FP_FRAC_SRL_1(_FP_FRAC_SRL_143,1693 -#define _FP_FRAC_SRS_1(_FP_FRAC_SRS_146,1772 -#define __FP_FRAC_SRS_1(__FP_FRAC_SRS_148,1834 -#define _FP_FRAC_ADD_1(_FP_FRAC_ADD_152,1990 -#define _FP_FRAC_SUB_1(_FP_FRAC_SUB_153,2044 -#define _FP_FRAC_DEC_1(_FP_FRAC_DEC_154,2098 -#define _FP_FRAC_CLZ_1(_FP_FRAC_CLZ_155,2143 -#define _FP_FRAC_NEGP_1(_FP_FRAC_NEGP_158,2209 -#define _FP_FRAC_ZEROP_1(_FP_FRAC_ZEROP_159,2261 -#define _FP_FRAC_OVERP_1(_FP_FRAC_OVERP_160,2302 -#define _FP_FRAC_CLEAR_OVERP_1(_FP_FRAC_CLEAR_OVERP_161,2361 -#define _FP_FRAC_EQ_1(_FP_FRAC_EQ_162,2428 -#define _FP_FRAC_GE_1(_FP_FRAC_GE_163,2473 -#define _FP_FRAC_GT_1(_FP_FRAC_GT_164,2518 -#define _FP_ZEROFRAC_1 66,2563 -#define _FP_MINFRAC_1 67,2589 -#define _FP_MAXFRAC_1 68,2614 -#define _FP_UNPACK_RAW_1(_FP_UNPACK_RAW_175,2752 -#define _FP_UNPACK_RAW_1_P(_FP_UNPACK_RAW_1_P84,2988 -#define _FP_PACK_RAW_1(_FP_PACK_RAW_198,3310 -#define _FP_PACK_RAW_1_P(_FP_PACK_RAW_1_P109,3569 -#define _FP_MUL_MEAT_1_imm(_FP_MUL_MEAT_1_imm127,3983 -#define _FP_MUL_MEAT_1_wide(_FP_MUL_MEAT_1_wide138,4403 -#define _FP_MUL_MEAT_1_hard(_FP_MUL_MEAT_1_hard151,4896 -#define _FP_DIV_MEAT_1_imm(_FP_DIV_MEAT_1_imm189,6216 -#define _FP_DIV_MEAT_1_udiv_norm(_FP_DIV_MEAT_1_udiv_norm204,6792 -#define _FP_DIV_MEAT_1_udiv(_FP_DIV_MEAT_1_udiv228,7469 -#define _FP_SQRT_MEAT_1(_FP_SQRT_MEAT_1253,8111 -#define _FP_FRAC_ASSEMBLE_1(_FP_FRAC_ASSEMBLE_1280,8769 -#define _FP_FRAC_DISASSEMBLE_1(_FP_FRAC_DISASSEMBLE_1281,8822 -#define _FP_FRAC_CONV_1_1(_FP_FRAC_CONV_1_1288,8928 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/extended.h,2589 -#define __MATH_EMU_EXTENDED_H__24,1052 -#define _FP_FRACTBITS_E 31,1210 -#define _FP_FRACTBITS_E 33,1268 -#define _FP_FRACBITS_E 36,1321 -#define _FP_FRACXBITS_E 37,1348 -#define _FP_WFRACBITS_E 38,1408 -#define _FP_WFRACXBITS_E 39,1465 -#define _FP_EXPBITS_E 40,1526 -#define _FP_EXPBIAS_E 41,1552 -#define _FP_EXPMAX_E 42,1581 -#define _FP_QNANBIT_E 44,1610 -#define _FP_IMPLBIT_E 46,1692 -#define _FP_OVERFLOW_E 48,1774 -union _FP_UNION_E_FP_UNION_E53,1883 -#define FP_DECL_E(FP_DECL_E75,2467 -#define FP_UNPACK_RAW_E(FP_UNPACK_RAW_E77,2504 -#define FP_UNPACK_RAW_EP(FP_UNPACK_RAW_EP94,2994 -#define FP_PACK_RAW_E(FP_PACK_RAW_E112,3509 -#define FP_PACK_RAW_EP(FP_PACK_RAW_EP126,3883 -#define FP_UNPACK_E(FP_UNPACK_E142,4301 -#define FP_UNPACK_EP(FP_UNPACK_EP148,4425 -#define FP_PACK_E(FP_PACK_E154,4552 -#define FP_PACK_EP(FP_PACK_EP160,4671 -#define FP_ISSIGNAN_E(FP_ISSIGNAN_E166,4792 -#define FP_NEG_E(FP_NEG_E167,4837 -#define FP_ADD_E(FP_ADD_E168,4877 -#define FP_SUB_E(FP_SUB_E169,4921 -#define FP_MUL_E(FP_MUL_E170,4965 -#define FP_DIV_E(FP_DIV_E171,5009 -#define FP_SQRT_E(FP_SQRT_E172,5053 -#define _FP_SQRT_MEAT_E(_FP_SQRT_MEAT_E185,5531 -#define FP_CMP_E(FP_CMP_E229,6709 -#define FP_CMP_EQ_E(FP_CMP_EQ_E230,6758 -#define FP_TO_INT_E(FP_TO_INT_E232,6808 -#define FP_TO_INT_ROUND_E(FP_TO_INT_ROUND_E233,6869 -#define FP_FROM_INT_E(FP_FROM_INT_E234,6942 -#define _FP_FRAC_HIGH_E(_FP_FRAC_HIGH_E236,7004 -#define _FP_FRAC_HIGH_RAW_E(_FP_FRAC_HIGH_RAW_E237,7042 -union _FP_UNION_E_FP_UNION_E240,7124 -#define FP_DECL_E(FP_DECL_E257,7534 -#define FP_UNPACK_RAW_E(FP_UNPACK_RAW_E259,7571 -#define FP_UNPACK_RAW_EP(FP_UNPACK_RAW_EP274,7987 -#define FP_PACK_RAW_E(FP_PACK_RAW_E290,8431 -#define FP_PACK_RAW_EP(FP_PACK_RAW_EP303,8771 -#define FP_UNPACK_E(FP_UNPACK_E319,9163 -#define FP_UNPACK_EP(FP_UNPACK_EP325,9287 -#define FP_PACK_E(FP_PACK_E331,9413 -#define FP_PACK_EP(FP_PACK_EP337,9532 -#define FP_ISSIGNAN_E(FP_ISSIGNAN_E343,9653 -#define FP_NEG_E(FP_NEG_E344,9698 -#define FP_ADD_E(FP_ADD_E345,9738 -#define FP_SUB_E(FP_SUB_E346,9782 -#define FP_MUL_E(FP_MUL_E347,9826 -#define FP_DIV_E(FP_DIV_E348,9870 -#define FP_SQRT_E(FP_SQRT_E349,9914 -#define _FP_SQRT_MEAT_E(_FP_SQRT_MEAT_E359,10236 -#define FP_CMP_E(FP_CMP_E384,10914 -#define FP_CMP_EQ_E(FP_CMP_EQ_E385,10963 -#define FP_TO_INT_E(FP_TO_INT_E387,11013 -#define FP_TO_INT_ROUND_E(FP_TO_INT_ROUND_E388,11074 -#define FP_FROM_INT_E(FP_FROM_INT_E389,11147 -#define _FP_FRAC_HIGH_E(_FP_FRAC_HIGH_E391,11209 -#define _FP_FRAC_HIGH_RAW_E(_FP_FRAC_HIGH_RAW_E392,11245 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/op-4.h,2396 -#define __MATH_EMU_OP_4_H__26,1204 -#define _FP_FRAC_DECL_4(_FP_FRAC_DECL_428,1233 -#define _FP_FRAC_COPY_4(_FP_FRAC_COPY_429,1280 -#define _FP_FRAC_SET_4(_FP_FRAC_SET_432,1405 -#define _FP_FRAC_HIGH_4(_FP_FRAC_HIGH_433,1455 -#define _FP_FRAC_LOW_4(_FP_FRAC_LOW_434,1493 -#define _FP_FRAC_WORD_4(_FP_FRAC_WORD_435,1530 -#define _FP_FRAC_SLL_4(_FP_FRAC_SLL_437,1571 -#define _FP_FRAC_SRL_4(_FP_FRAC_SRL_458,2214 -#define _FP_FRAC_SRS_4(_FP_FRAC_SRS_484,3044 -#define _FP_FRAC_ADD_4(_FP_FRAC_ADD_4111,3973 -#define _FP_FRAC_SUB_4(_FP_FRAC_SUB_4116,4163 -#define _FP_FRAC_DEC_4(_FP_FRAC_DEC_4121,4353 -#define _FP_FRAC_ADDI_4(_FP_FRAC_ADDI_4125,4494 -#define _FP_ZEROFRAC_4 128,4593 -#define _FP_MINFRAC_4 129,4625 -#define _FP_MAXFRAC_4 130,4657 -#define _FP_FRAC_ZEROP_4(_FP_FRAC_ZEROP_4132,4755 -#define _FP_FRAC_NEGP_4(_FP_FRAC_NEGP_4133,4838 -#define _FP_FRAC_OVERP_4(_FP_FRAC_OVERP_4134,4898 -#define _FP_FRAC_CLEAR_OVERP_4(_FP_FRAC_CLEAR_OVERP_4135,4974 -#define _FP_FRAC_EQ_4(_FP_FRAC_EQ_4137,5059 -#define _FP_FRAC_GT_4(_FP_FRAC_GT_4141,5193 -#define _FP_FRAC_GE_4(_FP_FRAC_GE_4150,5445 -#define _FP_FRAC_CLZ_4(_FP_FRAC_CLZ_4160,5699 -#define _FP_UNPACK_RAW_4(_FP_UNPACK_RAW_4184,6130 -#define _FP_UNPACK_RAW_4_P(_FP_UNPACK_RAW_4_P195,6476 -#define _FP_PACK_RAW_4(_FP_PACK_RAW_4208,6864 -#define _FP_PACK_RAW_4_P(_FP_PACK_RAW_4_P220,7226 -#define _FP_MUL_MEAT_4_wide(_FP_MUL_MEAT_4_wide239,7724 -#define _FP_MUL_MEAT_4_gmp(_FP_MUL_MEAT_4_gmp323,12264 -#define umul_ppppmnnn(umul_ppppmnnn341,12917 -#define _FP_DIV_MEAT_4_udiv(_FP_DIV_MEAT_4_udiv355,13268 -#define _FP_SQRT_MEAT_4(_FP_SQRT_MEAT_4429,16039 -#define __FP_FRAC_SET_4(__FP_FRAC_SET_4512,18330 -#define __FP_FRAC_ADD_3(__FP_FRAC_ADD_3516,18463 -#define __FP_FRAC_ADD_4(__FP_FRAC_ADD_4530,18790 -#define __FP_FRAC_SUB_3(__FP_FRAC_SUB_3548,19231 -#define __FP_FRAC_SUB_4(__FP_FRAC_SUB_4562,19558 -#define __FP_FRAC_DEC_3(__FP_FRAC_DEC_3580,19999 -#define __FP_FRAC_DEC_4(__FP_FRAC_DEC_4589,20247 -#define __FP_FRAC_ADDI_4(__FP_FRAC_ADDI_4598,20518 -#define _FP_FRAC_CONV_1_4(_FP_FRAC_CONV_1_4615,21128 -#define _FP_FRAC_CONV_2_4(_FP_FRAC_CONV_2_4625,21472 -#define _FP_FRAC_ASSEMBLE_4(_FP_FRAC_ASSEMBLE_4640,22030 -#define _FP_FRAC_DISASSEMBLE_4(_FP_FRAC_DISASSEMBLE_4669,22975 -#define _FP_FRAC_CONV_4_1(_FP_FRAC_CONV_4_1677,23306 -#define _FP_FRAC_CONV_4_2(_FP_FRAC_CONV_4_2684,23535 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/single.h,1425 -#define __MATH_EMU_SINGLE_H__26,1193 -#define _FP_FRACBITS_S 32,1324 -#define _FP_FRACXBITS_S 33,1351 -#define _FP_WFRACBITS_S 34,1411 -#define _FP_WFRACXBITS_S 35,1468 -#define _FP_EXPBITS_S 36,1529 -#define _FP_EXPBIAS_S 37,1554 -#define _FP_EXPMAX_S 38,1581 -#define _FP_QNANBIT_S 39,1607 -#define _FP_IMPLBIT_S 40,1668 -#define _FP_OVERFLOW_S 41,1729 -union _FP_UNION_S_FP_UNION_S46,1898 -#define FP_DECL_S(FP_DECL_S62,2260 -#define FP_UNPACK_RAW_S(FP_UNPACK_RAW_S63,2296 -#define FP_UNPACK_RAW_SP(FP_UNPACK_RAW_SP64,2353 -#define FP_PACK_RAW_S(FP_PACK_RAW_S65,2413 -#define FP_PACK_RAW_SP(FP_PACK_RAW_SP66,2466 -#define FP_UNPACK_S(FP_UNPACK_S72,2594 -#define FP_UNPACK_SP(FP_UNPACK_SP78,2721 -#define FP_PACK_S(FP_PACK_S84,2850 -#define FP_PACK_SP(FP_PACK_SP90,2972 -#define FP_ISSIGNAN_S(FP_ISSIGNAN_S97,3130 -#define FP_NEG_S(FP_NEG_S98,3176 -#define FP_ADD_S(FP_ADD_S99,3217 -#define FP_SUB_S(FP_SUB_S100,3262 -#define FP_MUL_S(FP_MUL_S101,3307 -#define FP_DIV_S(FP_DIV_S102,3352 -#define FP_SQRT_S(FP_SQRT_S103,3397 -#define _FP_SQRT_MEAT_S(_FP_SQRT_MEAT_S104,3440 -#define FP_CMP_S(FP_CMP_S106,3503 -#define FP_CMP_EQ_S(FP_CMP_EQ_S107,3552 -#define FP_TO_INT_S(FP_TO_INT_S109,3602 -#define FP_TO_INT_ROUND_S(FP_TO_INT_ROUND_S110,3663 -#define FP_FROM_INT_S(FP_FROM_INT_S111,3736 -#define _FP_FRAC_HIGH_S(_FP_FRAC_HIGH_S113,3798 -#define _FP_FRAC_HIGH_RAW_S(_FP_FRAC_HIGH_RAW_S114,3844 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/op-2.h,2490 -#define __MATH_EMU_OP_2_H__26,1203 -#define _FP_FRAC_DECL_2(_FP_FRAC_DECL_228,1232 -#define _FP_FRAC_COPY_2(_FP_FRAC_COPY_229,1285 -#define _FP_FRAC_SET_2(_FP_FRAC_SET_230,1349 -#define _FP_FRAC_HIGH_2(_FP_FRAC_HIGH_231,1399 -#define _FP_FRAC_LOW_2(_FP_FRAC_LOW_232,1435 -#define _FP_FRAC_WORD_2(_FP_FRAC_WORD_233,1470 -#define _FP_FRAC_SLL_2(_FP_FRAC_SLL_235,1511 -#define _FP_FRAC_SRL_2(_FP_FRAC_SRL_257,2084 -#define _FP_FRAC_SRS_2(_FP_FRAC_SRS_272,2473 -#define _FP_FRAC_ADDI_2(_FP_FRAC_ADDI_290,3018 -#define _FP_FRAC_ADD_2(_FP_FRAC_ADD_293,3088 -#define _FP_FRAC_SUB_2(_FP_FRAC_SUB_296,3187 -#define _FP_FRAC_DEC_2(_FP_FRAC_DEC_299,3286 -#define _FP_FRAC_CLZ_2(_FP_FRAC_CLZ_2102,3367 -#define _FP_FRAC_NEGP_2(_FP_FRAC_NEGP_2114,3582 -#define _FP_FRAC_ZEROP_2(_FP_FRAC_ZEROP_2115,3635 -#define _FP_FRAC_OVERP_2(_FP_FRAC_OVERP_2116,3688 -#define _FP_FRAC_CLEAR_OVERP_2(_FP_FRAC_CLEAR_OVERP_2117,3763 -#define _FP_FRAC_EQ_2(_FP_FRAC_EQ_2118,3846 -#define _FP_FRAC_GT_2(_FP_FRAC_GT_2119,3913 -#define _FP_FRAC_GE_2(_FP_FRAC_GE_2121,4004 -#define _FP_ZEROFRAC_2 124,4097 -#define _FP_MINFRAC_2 125,4126 -#define _FP_MAXFRAC_2 126,4154 -#define __FP_FRAC_SET_2(__FP_FRAC_SET_2132,4237 -#define __FP_CLZ_2(__FP_CLZ_2134,4298 -#define __FP_FRAC_ADDI_2(__FP_FRAC_ADDI_2148,4520 -#define __FP_FRAC_ADD_2(__FP_FRAC_ADD_2152,4615 -#define __FP_FRAC_SUB_2(__FP_FRAC_SUB_2156,4737 -#define __FP_FRAC_DEC_2(__FP_FRAC_DEC_2160,4859 -#define __FP_FRAC_ADDI_2(__FP_FRAC_ADDI_2170,5027 -#define __FP_FRAC_ADD_2 172,5119 -#define __FP_FRAC_SUB_2 174,5179 -#define __FP_FRAC_DEC_2(__FP_FRAC_DEC_2176,5239 -#define _FP_UNPACK_RAW_2(_FP_UNPACK_RAW_2185,5419 -#define _FP_UNPACK_RAW_2_P(_FP_UNPACK_RAW_2_P195,5687 -#define _FP_PACK_RAW_2(_FP_PACK_RAW_2211,6042 -#define _FP_PACK_RAW_2_P(_FP_PACK_RAW_2_P223,6331 -#define _FP_MUL_MEAT_2_wide(_FP_MUL_MEAT_2_wide241,6743 -#define _FP_MUL_MEAT_2_wide_3mul(_FP_MUL_MEAT_2_wide_3mul271,8106 -#define _FP_MUL_MEAT_2_gmp(_FP_MUL_MEAT_2_gmp311,9801 -#define _FP_MUL_MEAT_2_120_240_double(_FP_MUL_MEAT_2_120_240_double337,10887 -#define _FP_DIV_MEAT_2_udiv(_FP_DIV_MEAT_2_udiv428,14727 -#define _FP_DIV_MEAT_2_gmp(_FP_DIV_MEAT_2_gmp496,16830 -#define _FP_SQRT_MEAT_2(_FP_SQRT_MEAT_2529,17893 -#define _FP_FRAC_ASSEMBLE_2(_FP_FRAC_ASSEMBLE_2574,18977 -#define _FP_FRAC_DISASSEMBLE_2(_FP_FRAC_DISASSEMBLE_2586,19219 -#define _FP_FRAC_CONV_1_2(_FP_FRAC_CONV_1_2596,19443 -#define _FP_FRAC_CONV_2_1(_FP_FRAC_CONV_2_1606,19781 - -/export0/mef/linux-2.6.9-1.11_FC2/include/math-emu/quad.h,2571 -#define __MATH_EMU_QUAD_H__26,1187 -#define _FP_FRACTBITS_Q 33,1339 -#define _FP_FRACTBITS_Q 35,1397 -#define _FP_FRACBITS_Q 38,1450 -#define _FP_FRACXBITS_Q 39,1478 -#define _FP_WFRACBITS_Q 40,1538 -#define _FP_WFRACXBITS_Q 41,1595 -#define _FP_EXPBITS_Q 42,1656 -#define _FP_EXPBIAS_Q 43,1682 -#define _FP_EXPMAX_Q 44,1711 -#define _FP_QNANBIT_Q 46,1740 -#define _FP_IMPLBIT_Q 48,1822 -#define _FP_OVERFLOW_Q 50,1904 -union _FP_UNION_Q_FP_UNION_Q55,2013 -#define FP_DECL_Q(FP_DECL_Q79,2745 -#define FP_UNPACK_RAW_Q(FP_UNPACK_RAW_Q80,2781 -#define FP_UNPACK_RAW_QP(FP_UNPACK_RAW_QP81,2838 -#define FP_PACK_RAW_Q(FP_PACK_RAW_Q82,2898 -#define FP_PACK_RAW_QP(FP_PACK_RAW_QP83,2951 -#define FP_UNPACK_Q(FP_UNPACK_Q89,3079 -#define FP_UNPACK_QP(FP_UNPACK_QP95,3206 -#define FP_PACK_Q(FP_PACK_Q101,3335 -#define FP_PACK_QP(FP_PACK_QP107,3457 -#define FP_ISSIGNAN_Q(FP_ISSIGNAN_Q114,3615 -#define FP_NEG_Q(FP_NEG_Q115,3661 -#define FP_ADD_Q(FP_ADD_Q116,3702 -#define FP_SUB_Q(FP_SUB_Q117,3747 -#define FP_MUL_Q(FP_MUL_Q118,3792 -#define FP_DIV_Q(FP_DIV_Q119,3837 -#define FP_SQRT_Q(FP_SQRT_Q120,3882 -#define _FP_SQRT_MEAT_Q(_FP_SQRT_MEAT_Q121,3925 -#define FP_CMP_Q(FP_CMP_Q123,3988 -#define FP_CMP_EQ_Q(FP_CMP_EQ_Q124,4037 -#define FP_TO_INT_Q(FP_TO_INT_Q126,4087 -#define FP_TO_INT_ROUND_Q(FP_TO_INT_ROUND_Q127,4148 -#define FP_FROM_INT_Q(FP_FROM_INT_Q128,4221 -#define _FP_FRAC_HIGH_Q(_FP_FRAC_HIGH_Q130,4283 -#define _FP_FRAC_HIGH_RAW_Q(_FP_FRAC_HIGH_RAW_Q131,4329 -union _FP_UNION_Q_FP_UNION_Q134,4419 -#define FP_DECL_Q(FP_DECL_Q152,4926 -#define FP_UNPACK_RAW_Q(FP_UNPACK_RAW_Q153,4962 -#define FP_UNPACK_RAW_QP(FP_UNPACK_RAW_QP154,5019 -#define FP_PACK_RAW_Q(FP_PACK_RAW_Q155,5079 -#define FP_PACK_RAW_QP(FP_PACK_RAW_QP156,5132 -#define FP_UNPACK_Q(FP_UNPACK_Q162,5260 -#define FP_UNPACK_QP(FP_UNPACK_QP168,5387 -#define FP_PACK_Q(FP_PACK_Q174,5516 -#define FP_PACK_QP(FP_PACK_QP180,5638 -#define FP_ISSIGNAN_Q(FP_ISSIGNAN_Q187,5796 -#define FP_NEG_Q(FP_NEG_Q188,5842 -#define FP_ADD_Q(FP_ADD_Q189,5883 -#define FP_SUB_Q(FP_SUB_Q190,5928 -#define FP_MUL_Q(FP_MUL_Q191,5973 -#define FP_DIV_Q(FP_DIV_Q192,6018 -#define FP_SQRT_Q(FP_SQRT_Q193,6063 -#define _FP_SQRT_MEAT_Q(_FP_SQRT_MEAT_Q194,6106 -#define FP_CMP_Q(FP_CMP_Q196,6169 -#define FP_CMP_EQ_Q(FP_CMP_EQ_Q197,6218 -#define FP_TO_INT_Q(FP_TO_INT_Q199,6268 -#define FP_TO_INT_ROUND_Q(FP_TO_INT_ROUND_Q200,6329 -#define FP_FROM_INT_Q(FP_FROM_INT_Q201,6402 -#define _FP_FRAC_HIGH_Q(_FP_FRAC_HIGH_Q203,6464 -#define _FP_FRAC_HIGH_RAW_Q(_FP_FRAC_HIGH_RAW_Q204,6510 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/krxiod.h,37 -#define _LINUX_RXRPC_KRXIOD_H13,448 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/call.h,1376 -#define _LINUX_RXRPC_CALL_H13,424 -#define RXRPC_CALL_ACK_WINDOW_SIZE 20,555 -enum rxrpc_app_cstate rxrpc_app_cstate30,1043 - RXRPC_CSTATE_COMPLETE 31,1067 - RXRPC_CSTATE_ERROR,32,1121 - RXRPC_CSTATE_SRVR_RCV_OPID,33,1182 - RXRPC_CSTATE_SRVR_RCV_ARGS,34,1250 - RXRPC_CSTATE_SRVR_GOT_ARGS,35,1320 - RXRPC_CSTATE_SRVR_SND_REPLY,36,1400 - RXRPC_CSTATE_SRVR_RCV_FINAL_ACK,37,1470 - RXRPC_CSTATE_CLNT_SND_ARGS,38,1539 - RXRPC_CSTATE_CLNT_RCV_REPLY,39,1607 - RXRPC_CSTATE_CLNT_GOT_REPLY,40,1679 -enum rxrpc_app_estate rxrpc_app_estate45,1830 - RXRPC_ESTATE_NO_ERROR 46,1854 - RXRPC_ESTATE_LOCAL_ABORT,47,1898 - RXRPC_ESTATE_PEER_ABORT,48,1969 - RXRPC_ESTATE_LOCAL_ERROR,49,2027 - RXRPC_ESTATE_REMOTE_ERROR,50,2086 -struct rxrpc_callrxrpc_call61,2472 -#define RXRPC_CALL_ACKS_TIMO 74,3037 -#define RXRPC_CALL_ACKR_TIMO 75,3104 -#define RXRPC_CALL_RCV_TIMO 76,3171 -#define RXRPC_CALL_RCV_PKT 77,3236 -#define RXRPC_APP_MARK_EOF 138,6475 -#define RXRPC_CALL_SCRATCH_SIZE 144,6646 -#define rxrpc_call_reset_scratch(rxrpc_call_reset_scratch146,6719 -#define rxrpc_call_alloc_scratch(rxrpc_call_alloc_scratch149,6822 -#define rxrpc_call_alloc_scratch_s(rxrpc_call_alloc_scratch_s162,7243 -#define rxrpc_call_is_ack_pending(rxrpc_call_is_ack_pending176,7697 -static inline void rxrpc_get_call(188,8115 -#define RXRPC_CALL_READ_BLOCK 201,8496 -#define RXRPC_CALL_READ_ALL 202,8580 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/connection.h,138 -#define _LINUX_RXRPC_CONNECTION_H13,442 -struct rxrpc_connectionrxrpc_connection27,889 -static inline void rxrpc_get_connection(68,2598 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/krxsecd.h,38 -#define _LINUX_RXRPC_KRXSECD_H13,455 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/message.h,413 -#define _LINUX_RXRPC_MESSAGE_H13,434 -struct rxrpc_messagerxrpc_message21,601 -#define RXRPC_MSG_PREPARED 29,851 -#define RXRPC_MSG_SENT 30,880 -#define RXRPC_MSG_ACKED 31,906 -#define RXRPC_MSG_DONE 32,960 -#define RXRPC_MSG_RECEIVED 33,1039 -#define RXRPC_MSG_ERROR 34,1068 -#define RXRPC_MSG_MAX_IOCS 46,1492 -#define rxrpc_get_message(rxrpc_get_message51,1654 -static inline void rxrpc_put_message(54,1785 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/types.h,534 -#define _LINUX_RXRPC_TYPES_H13,420 -typedef uint32_t rxrpc_seq_t;rxrpc_seq_t22,600 -typedef uint32_t rxrpc_serial_t;rxrpc_serial_t23,663 -typedef __be32 rxrpc_seq_net_t;rxrpc_seq_net_t24,727 -typedef __be32 rxrpc_serial_net_t;rxrpc_serial_net_t25,804 -typedef struct rxrpc_timer rxrpc_timer_t;rxrpc_timer_t34,1035 -typedef void (*rxrpc_call_attn_func_t)rxrpc_call_attn_func_t37,1102 -typedef void (*rxrpc_call_error_func_t)rxrpc_call_error_func_t38,1167 -typedef void (*rxrpc_call_aemap_func_t)rxrpc_call_aemap_func_t39,1233 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/peer.h,197 -#define _LINUX_RXRPC_PEER_H13,442 -struct rxrpc_peer_opsrxrpc_peer_ops19,549 -struct rxrpc_peerrxrpc_peer37,1126 -#define RXRPC_RTT_CACHE_SIZE 61,2253 -static inline void rxrpc_get_peer(73,2653 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/transport.h,286 -#define _LINUX_RXRPC_TRANSPORT_H13,443 -typedef int (*rxrpc_newcall_fnx_t)rxrpc_newcall_fnx_t21,605 -struct rxrpc_operationrxrpc_operation30,913 -struct rxrpc_servicerxrpc_service42,1235 -struct rxrpc_transportrxrpc_transport61,2007 -static inline void rxrpc_get_transport(84,3045 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/packet.h,1633 -#define _LINUX_RXRPC_PACKET_H13,446 -#define RXRPC_IPUDP_SIZE 17,503 -#define RXRPC_MAX_PACKET_DATA_SIZE 19,569 -#define RXRPC_LOCAL_PACKET_SIZE 20,658 -#define RXRPC_REMOTE_PACKET_SIZE 21,713 -struct rxrpc_headerrxrpc_header28,949 -#define RXRPC_MAXCALLS 33,1064 -#define RXRPC_CHANNELMASK 34,1124 -#define RXRPC_CIDMASK 35,1195 -#define RXRPC_CIDSHIFT 36,1268 -#define RXRPC_PROCESS_MAXCALLS 39,1395 -#define RXRPC_PACKET_TYPE_DATA 45,1649 -#define RXRPC_PACKET_TYPE_ACK 46,1694 -#define RXRPC_PACKET_TYPE_BUSY 47,1737 -#define RXRPC_PACKET_TYPE_ABORT 48,1789 -#define RXRPC_PACKET_TYPE_ACKALL 49,1852 -#define RXRPC_PACKET_TYPE_CHALLENGE 50,1929 -#define RXRPC_PACKET_TYPE_RESPONSE 51,2016 -#define RXRPC_PACKET_TYPE_DEBUG 52,2101 -#define RXRPC_N_PACKET_TYPES 53,2161 -#define RXRPC_CLIENT_INITIATED 56,2274 -#define RXRPC_REQUEST_ACK 57,2358 -#define RXRPC_LAST_PACKET 58,2440 -#define RXRPC_MORE_PACKETS 59,2523 -#define RXRPC_JUMBO_PACKET 60,2583 -#define RXRPC_SLOW_START_OK 61,2652 -#define __rxrpc_header_off(__rxrpc_header_off70,2960 -struct rxrpc_jumbo_headerrxrpc_jumbo_header84,3361 -#define RXRPC_JUMBO_DATALEN 91,3536 -struct rxrpc_ackpacketrxrpc_ackpacket98,3801 -#define RXRPC_ACK_REQUESTED 108,4241 -#define RXRPC_ACK_DUPLICATE 109,4306 -#define RXRPC_ACK_OUT_OF_SEQUENCE 110,4369 -#define RXRPC_ACK_EXCEEDS_WINDOW 111,4443 -#define RXRPC_ACK_NOSPACE 112,4525 -#define RXRPC_ACK_PING 113,4605 -#define RXRPC_ACK_PING_RESPONSE 114,4653 -#define RXRPC_ACK_DELAY 115,4721 -#define RXRPC_ACK_IDLE 116,4794 -#define RXRPC_MAXACKS 119,4904 -#define RXRPC_ACK_TYPE_NACK 122,4973 -#define RXRPC_ACK_TYPE_ACK 123,5004 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/krxtimod.h,168 -#define _LINUX_RXRPC_KRXTIMOD_H13,438 -struct rxrpc_timer_ops rxrpc_timer_ops17,497 -struct rxrpc_timerrxrpc_timer26,752 -static inline void rxrpc_timer_init(33,942 - -/export0/mef/linux-2.6.9-1.11_FC2/include/rxrpc/rxrpc.h,150 -#define _LINUX_RXRPC_RXRPC_H13,425 -#define rxrpc_ktrace 25,627 -#define rxrpc_kdebug 26,650 -#define rxrpc_kproto 27,673 -#define rxrpc_knet 28,696 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pgtable-2level-defs.h,180 -#define _I386_PGTABLE_2LEVEL_DEFS_H2,36 -#define PGDIR_SHIFT 8,129 -#define PTRS_PER_PGD 9,152 -#define PMD_SHIFT 15,269 -#define PTRS_PER_PMD 16,290 -#define PTRS_PER_PTE 18,314 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/thread_info.h,1426 -#define _ASM_THREAD_INFO_H8,216 -struct thread_info thread_info27,668 -#define PREEMPT_ACTIVE 55,1418 -#define THREAD_SIZE 56,1452 -#define STACK_WARN 58,1491 -#define INIT_THREAD_INFO(INIT_THREAD_INFO66,1722 -#define init_thread_info 79,1983 -#define init_stack 80,2040 -static inline struct thread_info *current_thread_info(84,2142 -static inline unsigned long current_stack_pointer(92,2360 -#define alloc_thread_info(alloc_thread_info101,2562 -#define alloc_thread_info(alloc_thread_info111,2773 -#define free_thread_info(free_thread_info114,2845 -#define get_thread_info(get_thread_info115,2888 -#define put_thread_info(put_thread_info116,2944 -#define GET_THREAD_INFO(GET_THREAD_INFO121,3084 -#define GET_THREAD_INFO_WITH_ESP(GET_THREAD_INFO_WITH_ESP126,3208 -#define TIF_SYSCALL_TRACE 137,3469 -#define TIF_NOTIFY_RESUME 138,3524 -#define TIF_SIGPENDING 139,3592 -#define TIF_NEED_RESCHED 140,3639 -#define TIF_SINGLESTEP 141,3695 -#define TIF_IRET 142,3769 -#define TIF_SYSCALL_AUDIT 143,3812 -#define TIF_POLLING_NRFLAG 144,3870 -#define _TIF_SYSCALL_TRACE 146,3955 -#define _TIF_NOTIFY_RESUME 147,4005 -#define _TIF_SIGPENDING 148,4055 -#define _TIF_NEED_RESCHED 149,4100 -#define _TIF_SINGLESTEP 150,4148 -#define _TIF_IRET 151,4193 -#define _TIF_SYSCALL_AUDIT 152,4226 -#define _TIF_POLLING_NRFLAG 153,4276 -#define _TIF_WORK_MASK 156,4376 -#define _TIF_ALLWORK_MASK 158,4475 -#define TS_USEDFPU 167,4750 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pgtable-2level.h,1196 -#define _I386_PGTABLE_2LEVEL_H2,31 -#define pte_ERROR(pte_ERROR4,63 -#define pmd_ERROR(pmd_ERROR6,154 -#define pgd_ERROR(pgd_ERROR8,244 -static inline int pgd_none(16,506 -static inline int pgd_bad(17,559 -static inline int pgd_present(18,611 -#define pgd_clear(pgd_clear19,666 -#define set_pte(set_pte26,871 -#define set_pte_atomic(set_pte_atomic27,924 -#define set_pmd(set_pmd32,1120 -#define set_pgd(set_pgd33,1173 -#define pgd_page(pgd_page35,1227 -static inline pmd_t * pmd_offset(38,1301 -#define ptep_get_and_clear(ptep_get_and_clear42,1397 -#define pte_same(pte_same43,1459 -#define pte_page(pte_page44,1512 -#define pte_none(pte_none45,1557 -#define pte_pfn(pte_pfn46,1593 -#define pfn_pte(pfn_pte47,1660 -#define pfn_pmd(pfn_pmd48,1735 -static inline int pte_exec(53,1865 -static inline int pte_exec_kernel(61,1982 -#define PTE_FILE_MAX_BITS 70,2131 -#define pte_to_pgoff(pte_to_pgoff72,2161 -#define pgoff_to_pte(pgoff_to_pte75,2255 -#define __swp_type(__swp_type79,2394 -#define __swp_offset(__swp_offset80,2442 -#define __swp_entry(__swp_entry81,2483 -#define __pte_to_swp_entry(__pte_to_swp_entry82,2569 -#define __swp_entry_to_pte(__swp_entry_to_pte83,2636 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/numaq.h,201 -#define NUMAQ_H27,922 -#define SYS_CFG_DATA_PRIV_ADDR 36,1086 -struct eachquadmem eachquadmem44,1372 -struct sys_cfg_data sys_cfg_data126,4534 -static inline unsigned long *get_zholes_size(158,5870 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/crash.h,93 -#define _ASM_I386_CRASH_H2,26 -map_virtual(34,997 -static inline void unmap_virtual(68,1671 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/poll.h,353 -#define __i386_POLL_H2,22 -#define POLLIN 5,80 -#define POLLPRI 6,103 -#define POLLOUT 7,127 -#define POLLERR 8,151 -#define POLLHUP 9,175 -#define POLLNVAL 10,199 -#define POLLRDNORM 13,288 -#define POLLRDBAND 14,314 -#define POLLWRNORM 15,340 -#define POLLWRBAND 16,366 -#define POLLMSG 17,392 -#define POLLREMOVE 18,416 -struct pollfd pollfd20,443 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mmzone.h,1350 -#define _ASM_MMZONE_H_7,87 - #define get_memcfg_numa 20,323 - #define get_zholes_size(get_zholes_size21,369 -#define NODE_DATA(NODE_DATA25,467 -#define MAX_NR_PAGES 36,823 -#define MAX_ELEMENTS 37,853 -#define PAGES_PER_ELEMENT 38,878 -static inline int pfn_to_nid(42,960 -static inline struct pglist_data *pfn_to_pgdat(51,1112 -#define reserve_bootmem(reserve_bootmem60,1293 -#define alloc_bootmem(alloc_bootmem62,1383 -#define alloc_bootmem_low(alloc_bootmem_low64,1491 -#define alloc_bootmem_pages(alloc_bootmem_pages66,1583 -#define alloc_bootmem_low_pages(alloc_bootmem_low_pages68,1691 -#define alloc_bootmem_node(alloc_bootmem_node70,1783 -#define alloc_bootmem_pages_node(alloc_bootmem_pages_node72,1904 -#define alloc_bootmem_low_pages_node(alloc_bootmem_low_pages_node74,2025 -#define node_localnr(node_localnr77,2131 -#define kvaddr_to_nid(kvaddr_to_nid86,2358 -#define node_mem_map(node_mem_map88,2426 -#define node_start_pfn(node_start_pfn89,2483 -#define node_end_pfn(node_end_pfn90,2544 -#define local_mapnr(local_mapnr96,2696 -#define kern_addr_valid(kern_addr_valid103,2876 -#define pfn_to_page(pfn_to_page105,2912 -#define page_to_pfn(page_to_pfn112,3089 -#define pmd_page(pmd_page119,3301 -#define pfn_valid(pfn_valid122,3444 -static inline int pfn_valid(124,3506 -static inline void get_memcfg_numa(140,3814 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ipcbuf.h,67 -#define __i386_IPCBUF_H__2,26 -struct ipc64_permipc64_perm14,307 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/math_emu.h,55 -#define _I386_MATH_EMU_H2,25 -struct info info13,379 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/semaphore.h,643 -#define _I386_SEMAPHORE_H2,26 -struct semaphore semaphore44,1632 -#define __SEMAPHORE_INITIALIZER(__SEMAPHORE_INITIALIZER51,1713 -#define __MUTEX_INITIALIZER(__MUTEX_INITIALIZER58,1884 -#define __DECLARE_SEMAPHORE_GENERIC(__DECLARE_SEMAPHORE_GENERIC61,1954 -#define DECLARE_MUTEX(DECLARE_MUTEX64,2066 -#define DECLARE_MUTEX_LOCKED(DECLARE_MUTEX_LOCKED65,2130 -static inline void sema_init 67,2202 -static inline void init_MUTEX 80,2558 -static inline void init_MUTEX_LOCKED 85,2637 -static inline void down(105,3439 -static inline int down_interruptible(126,3892 -static inline int down_trylock(151,4412 -static inline void up(177,5032 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/cache.h,130 -#define __ARCH_I386_CACHE_H5,63 -#define L1_CACHE_SHIFT 10,144 -#define L1_CACHE_BYTES 11,195 -#define L1_CACHE_SHIFT_MAX 13,241 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/termios.h,1270 -#define _I386_TERMIOS_H2,24 -struct winsize winsize7,100 -#define NCC 14,223 -struct termio termio15,237 -#define TIOCM_LE 25,571 -#define TIOCM_DTR 26,594 -#define TIOCM_RTS 27,618 -#define TIOCM_ST 28,642 -#define TIOCM_SR 29,665 -#define TIOCM_CTS 30,688 -#define TIOCM_CAR 31,712 -#define TIOCM_RNG 32,736 -#define TIOCM_DSR 33,760 -#define TIOCM_CD 34,784 -#define TIOCM_RI 35,811 -#define TIOCM_OUT1 36,838 -#define TIOCM_OUT2 37,864 -#define TIOCM_LOOP 38,890 -#define N_TTY 43,1011 -#define N_SLIP 44,1028 -#define N_MOUSE 45,1046 -#define N_PPP 46,1065 -#define N_STRIP 47,1082 -#define N_AX25 48,1101 -#define N_X25 49,1119 -#define N_6PACK 50,1153 -#define N_MASC 51,1172 -#define N_R3964 52,1239 -#define N_PROFIBUS_FDL 53,1298 -#define N_IRDA 54,1368 -#define N_SMSBLOCK 55,1433 -#define N_HDLC 56,1527 -#define N_SYNC_PPP 57,1569 -#define N_HCI 58,1613 -#define INIT_C_CC 69,1866 -#define SET_LOW_TERMIOS_BITS(SET_LOW_TERMIOS_BITS74,2010 -#define user_termio_to_kernel_termios(user_termio_to_kernel_termios80,2170 -#define kernel_termios_to_user_termio(kernel_termios_to_user_termio92,2561 -#define user_termios_to_kernel_termios(user_termios_to_kernel_termios102,2946 -#define kernel_termios_to_user_termios(kernel_termios_to_user_termios103,3036 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/sections.h,30 -#define _I386_SECTIONS_H2,25 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-voyager/irq_vectors.h,972 -#define _ASM_IRQ_VECTORS_H13,254 -#define FIRST_EXTERNAL_VECTOR 19,360 -#define SYSCALL_VECTOR 21,396 -#define VIC_CPI_LEVEL0 28,528 -#define VIC_CPI_LEVEL1 29,555 -#define VIC_TIMER_CPI 31,606 -#define VIC_INVALIDATE_CPI 32,632 -#define VIC_RESCHEDULE_CPI 33,662 -#define VIC_ENABLE_IRQ_CPI 34,692 -#define VIC_CALL_FUNCTION_CPI 35,722 -#define QIC_CPI_OFFSET 39,863 -#define QIC_TIMER_CPI 40,890 -#define QIC_INVALIDATE_CPI 41,947 -#define QIC_RESCHEDULE_CPI 42,1013 -#define QIC_ENABLE_IRQ_CPI 43,1079 -#define QIC_CALL_FUNCTION_CPI 44,1145 -#define VIC_START_FAKE_CPI 46,1218 -#define VIC_END_FAKE_CPI 47,1260 -#define VIC_SYS_INT 50,1340 -#define VIC_CMN_INT 51,1364 -#define VIC_CPU_BOOT_CPI 55,1535 -#define VIC_CPU_BOOT_ERRATA_CPI 56,1576 -#define NR_VECTORS 58,1631 -#define NR_IRQS 59,1654 -#define NR_IRQ_VECTORS 60,1674 -#define FPU_IRQ 62,1706 -#define FIRST_VM86_IRQ 64,1729 -#define LAST_VM86_IRQ 65,1755 -#define invalid_vm86_irq(invalid_vm86_irq66,1781 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-voyager/do_timer.h,93 -static inline void do_timer_interrupt_hook(4,72 -static inline int do_timer_overflow(11,192 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-voyager/setup_arch_pre.h,58 -#define VOYAGER_BIOS_INFO 2,25 -#define ARCH_SETUP 9,230 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-voyager/setup_arch_post.h,58 -static char * __init machine_specific_memory_setup(6,152 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-voyager/entry_arch.h,24 -BUILD_INTERRUPT(16,399 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/io.h,2490 -#define _ASM_IO_H2,18 -#define IO_SPACE_LIMIT 41,1315 -#define XQUAD_PORTIO_BASE 43,1346 -#define XQUAD_PORTIO_QUAD 44,1383 -static inline unsigned long virt_to_phys(65,1961 -static inline void * phys_to_virt(83,2474 -#define page_to_phys(page_to_phys91,2611 -static inline void __iomem * ioremap(107,3209 -#define isa_virt_to_bus 126,3852 -#define isa_page_to_bus 127,3889 -#define isa_bus_to_virt 128,3926 -#define virt_to_bus 136,4140 -#define bus_to_virt 137,4173 -static inline unsigned char readb(146,4441 -static inline unsigned short readw(150,4564 -static inline unsigned int readl(154,4689 -#define readb_relaxed(readb_relaxed158,4810 -#define readw_relaxed(readw_relaxed159,4850 -#define readl_relaxed(readl_relaxed160,4890 -#define __raw_readb 161,4930 -#define __raw_readw 162,4956 -#define __raw_readl 163,4982 -static inline void writeb(165,5009 -static inline void writew(169,5132 -static inline void writel(173,5257 -#define __raw_writeb 177,5378 -#define __raw_writew 178,5406 -#define __raw_writel 179,5434 -static inline void memset_io(181,5463 -static inline void memcpy_fromio(185,5599 -static inline void memcpy_toio(189,5731 -#define __ISA_IO_base 202,6251 -#define isa_readb(isa_readb204,6306 -#define isa_readw(isa_readw205,6354 -#define isa_readl(isa_readl206,6402 -#define isa_writeb(isa_writeb207,6450 -#define isa_writew(isa_writew208,6504 -#define isa_writel(isa_writel209,6558 -#define isa_memset_io(isa_memset_io210,6612 -#define isa_memcpy_fromio(isa_memcpy_fromio211,6681 -#define isa_memcpy_toio(isa_memcpy_toio212,6757 -#define eth_io_copy_and_sum(eth_io_copy_and_sum219,6898 -#define isa_eth_io_copy_and_sum(isa_eth_io_copy_and_sum220,6986 -static inline int check_signature(233,7396 -static inline int isa_check_signature(263,8023 -static inline void flush_write_buffers(289,8528 -#define dma_cache_inv(dma_cache_inv294,8641 -#define dma_cache_wback(dma_cache_wback295,8700 -#define dma_cache_wback_inv(dma_cache_wback_inv296,8761 -#define dma_cache_inv(dma_cache_inv302,8854 -#define dma_cache_wback(dma_cache_wback303,8908 -#define dma_cache_wback_inv(dma_cache_wback_inv304,8964 -#define flush_write_buffers(flush_write_buffers305,9023 -#define __SLOW_DOWN_IO 312,9113 -#define __SLOW_DOWN_IO 314,9166 -static inline void slow_down_io(317,9216 -#define XQUAD_PORT_ADDR(XQUAD_PORT_ADDR328,9473 -#define __BUILDIO(__BUILDIO329,9558 -#define __BUILDIO(__BUILDIO349,10172 -#define BUILDIO(BUILDIO359,10400 -BUILDIO(394,11650 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/apicdef.h,3741 -#define __ASM_APICDEF_H2,24 -#define APIC_DEFAULT_PHYS_BASE 11,211 -#define APIC_ID 13,256 -#define APIC_LVR 14,279 -#define APIC_LVR_MASK 15,302 -#define GET_APIC_VERSION(GET_APIC_VERSION16,336 -#define GET_APIC_MAXLVT(GET_APIC_MAXLVT17,377 -#define APIC_INTEGRATED(APIC_INTEGRATED18,423 -#define APIC_TASKPRI 19,463 -#define APIC_TPRI_MASK 20,490 -#define APIC_ARBPRI 21,521 -#define APIC_ARBPRI_MASK 22,547 -#define APIC_PROCPRI 23,579 -#define APIC_EOI 24,606 -#define APIC_EIO_ACK 25,629 -#define APIC_RRR 26,695 -#define APIC_LDR 27,718 -#define APIC_LDR_MASK 28,741 -#define GET_APIC_LOGICAL_ID(GET_APIC_LOGICAL_ID29,777 -#define SET_APIC_LOGICAL_ID(SET_APIC_LOGICAL_ID30,827 -#define APIC_ALL_CPUS 31,872 -#define APIC_DFR 32,902 -#define APIC_DFR_CLUSTER 33,925 -#define APIC_DFR_FLAT 34,966 -#define APIC_SPIV 35,1005 -#define APIC_SPIV_FOCUS_DISABLED 36,1029 -#define APIC_SPIV_APIC_ENABLED 37,1071 -#define APIC_ISR 38,1112 -#define APIC_TMR 39,1136 -#define APIC_IRR 40,1160 -#define APIC_ESR 41,1184 -#define APIC_ESR_SEND_CS 42,1208 -#define APIC_ESR_RECV_CS 43,1243 -#define APIC_ESR_SEND_ACC 44,1278 -#define APIC_ESR_RECV_ACC 45,1314 -#define APIC_ESR_SENDILL 46,1350 -#define APIC_ESR_RECVILL 47,1385 -#define APIC_ESR_ILLREGA 48,1420 -#define APIC_ICR 49,1455 -#define APIC_DEST_SELF 50,1479 -#define APIC_DEST_ALLINC 51,1513 -#define APIC_DEST_ALLBUT 52,1548 -#define APIC_ICR_RR_MASK 53,1583 -#define APIC_ICR_RR_INVALID 54,1618 -#define APIC_ICR_RR_INPROG 55,1656 -#define APIC_ICR_RR_VALID 56,1693 -#define APIC_INT_LEVELTRIG 57,1729 -#define APIC_INT_ASSERT 58,1766 -#define APIC_ICR_BUSY 59,1801 -#define APIC_DEST_LOGICAL 60,1834 -#define APIC_DM_FIXED 61,1870 -#define APIC_DM_LOWEST 62,1903 -#define APIC_DM_SMI 63,1937 -#define APIC_DM_REMRD 64,1968 -#define APIC_DM_NMI 65,2001 -#define APIC_DM_INIT 66,2032 -#define APIC_DM_STARTUP 67,2064 -#define APIC_DM_EXTINT 68,2099 -#define APIC_VECTOR_MASK 69,2133 -#define APIC_ICR2 70,2168 -#define GET_APIC_DEST_FIELD(GET_APIC_DEST_FIELD71,2193 -#define SET_APIC_DEST_FIELD(SET_APIC_DEST_FIELD72,2243 -#define APIC_LVTT 73,2286 -#define APIC_LVTTHMR 74,2311 -#define APIC_LVTPC 75,2339 -#define APIC_LVT0 76,2365 -#define APIC_LVT_TIMER_BASE_MASK 77,2390 -#define GET_APIC_TIMER_BASE(GET_APIC_TIMER_BASE78,2435 -#define SET_APIC_TIMER_BASE(SET_APIC_TIMER_BASE79,2485 -#define APIC_TIMER_BASE_CLKIN 80,2531 -#define APIC_TIMER_BASE_TMBASE 81,2568 -#define APIC_TIMER_BASE_DIV 82,2606 -#define APIC_LVT_TIMER_PERIODIC 83,2641 -#define APIC_LVT_MASKED 84,2684 -#define APIC_LVT_LEVEL_TRIGGER 85,2720 -#define APIC_LVT_REMOTE_IRR 86,2762 -#define APIC_INPUT_POLARITY 87,2801 -#define APIC_SEND_PENDING 88,2840 -#define APIC_MODE_MASK 89,2877 -#define GET_APIC_DELIVERY_MODE(GET_APIC_DELIVERY_MODE90,2910 -#define SET_APIC_DELIVERY_MODE(SET_APIC_DELIVERY_MODE91,2961 -#define APIC_MODE_FIXED 92,3023 -#define APIC_MODE_NMI 93,3055 -#define APIC_MODE_EXINT 94,3085 -#define APIC_LVT1 95,3117 -#define APIC_LVTERR 96,3142 -#define APIC_TMICT 97,3169 -#define APIC_TMCCT 98,3195 -#define APIC_TDCR 99,3221 -#define APIC_TDR_DIV_TMBASE 100,3246 -#define APIC_TDR_DIV_1 101,3283 -#define APIC_TDR_DIV_2 102,3313 -#define APIC_TDR_DIV_4 103,3343 -#define APIC_TDR_DIV_8 104,3373 -#define APIC_TDR_DIV_16 105,3403 -#define APIC_TDR_DIV_32 106,3434 -#define APIC_TDR_DIV_64 107,3465 -#define APIC_TDR_DIV_128 108,3496 -#define APIC_BASE 110,3528 - #define MAX_IO_APICS 113,3595 - #define MAX_IO_APICS 115,3626 -#define u32 124,3945 -#define lapic 126,3971 -struct local_apic local_apic128,4028 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mmx.h,24 -#define _ASM_MMX_H2,19 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/bugs.h,376 -static int __init no_halt(29,604 -static int __init mca_pentium(37,717 -static int __init no_387(45,833 -static double __initdata x 54,970 -static double __initdata y 55,1010 -static void __init check_fpu(68,1373 -static void __init check_hlt(114,2508 -static void __init check_popad(130,2844 -static void __init check_config(162,3983 -static void __init check_bugs(200,5233 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/bios_ebda.h,79 -#define _MACH_BIOS_EBDA_H2,26 -static inline unsigned int get_bios_ebda(8,144 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_apic.h,1118 -#define __ASM_MACH_APIC_H2,26 -#define APIC_DFR_VALUE 7,101 -static inline cpumask_t target_cpus(9,141 -#define TARGET_CPUS 17,271 -#define NO_BALANCE_IRQ 19,308 -#define esr_disable 20,335 -#define NO_IOAPIC_CHECK 22,360 -#define INT_DELIVERY_MODE 24,389 -#define INT_DEST_MODE 25,431 -static inline unsigned long check_apicid_used(27,506 -static inline unsigned long check_apicid_present(32,629 -static inline void init_apic_ldr(44,957 -static inline physid_mask_t ioapic_phys_id_map(54,1204 -static inline void clustered_apic_check(59,1298 -static inline int multi_timer_check(65,1433 -static inline int apicid_to_node(70,1504 -static inline int cpu_to_logical_apicid(76,1621 -static inline int cpu_present_to_apicid(81,1693 -static inline physid_mask_t apicid_to_cpu_present(89,1838 -static inline int mpc_apic_id(94,1954 -static inline void setup_portio_remap(105,2283 -static inline int check_phys_apicid_present(109,2332 -static inline int apic_id_registered(114,2481 -static inline unsigned int cpu_mask_to_apicid(119,2606 -static inline void enable_apic_mode(124,2707 -static inline u32 phys_pkg_id(128,2754 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/apm.h,253 -#define _ASM_APM_H9,185 -# define APM_DO_ZERO_SEGS 12,226 -# define APM_DO_POP_SEGS 20,422 -# define APM_DO_ZERO_SEGS24,493 -# define APM_DO_POP_SEGS25,519 -static inline void apm_bios_call_asm(28,552 -static inline u8 apm_bios_call_simple_asm(50,1121 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/irq_vectors.h,629 -#define _ASM_IRQ_VECTORS_H23,566 -#define FIRST_EXTERNAL_VECTOR 29,672 -#define SYSCALL_VECTOR 31,708 -#define SPURIOUS_APIC_VECTOR 46,1137 -#define ERROR_APIC_VECTOR 47,1171 -#define INVALIDATE_TLB_VECTOR 48,1202 -#define RESCHEDULE_VECTOR 49,1237 -#define CALL_FUNCTION_VECTOR 50,1268 -#define THERMAL_APIC_VECTOR 52,1303 -#define LOCAL_TIMER_VECTOR 58,1501 -#define FIRST_DEVICE_VECTOR 65,1710 -#define FIRST_SYSTEM_VECTOR 66,1743 -#define TIMER_IRQ 68,1777 -#define NR_VECTORS 85,2337 -#define FPU_IRQ 89,2394 -#define FIRST_VM86_IRQ 91,2416 -#define LAST_VM86_IRQ 92,2442 -#define invalid_vm86_irq(invalid_vm86_irq93,2468 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_time.h,182 -#define _MACH_TIME_H8,191 -#define USEC_AFTER 14,351 -#define USEC_BEFORE 15,377 -static inline int mach_set_rtc_mmss(27,885 -static inline unsigned long mach_get_cmos_time(82,2766 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/smpboot_hooks.h,221 -static inline void smpboot_clear_io_apic_irqs(4,109 -static inline void smpboot_setup_warm_reset_vector(9,185 -static inline void smpboot_restore_warm_reset_vector(20,495 -static inline void smpboot_setup_io_apic(36,803 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_timer.h,150 -#define _MACH_TIMER_H16,616 -#define CALIBRATE_LATCH 18,639 -static inline void mach_prepare_counter(20,676 -static inline void mach_countup(39,1259 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_traps.h,162 -#define _MACH_TRAPS_H8,190 -static inline void clear_mem_error(10,213 -static inline unsigned char get_nmi_reason(16,326 -static inline void reassert_nmi(21,399 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/irq_vectors_limits.h,233 -#define _ASM_IRQ_VECTORS_LIMITS_H2,34 -#define NR_IRQS 5,91 -#define NR_IRQ_VECTORS 6,127 -#define NR_IRQS 9,190 -# define NR_IRQ_VECTORS 11,237 -# define NR_IRQ_VECTORS 13,276 -#define NR_IRQS 16,329 -#define NR_IRQ_VECTORS 17,348 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/pci-functions.h,541 -#define PCIBIOS_PCI_FUNCTION_ID 6,77 -#define PCIBIOS_PCI_BIOS_PRESENT 7,117 -#define PCIBIOS_FIND_PCI_DEVICE 8,158 -#define PCIBIOS_FIND_PCI_CLASS_CODE 9,198 -#define PCIBIOS_GENERATE_SPECIAL_CYCLE 10,241 -#define PCIBIOS_READ_CONFIG_BYTE 11,287 -#define PCIBIOS_READ_CONFIG_WORD 12,327 -#define PCIBIOS_READ_CONFIG_DWORD 13,367 -#define PCIBIOS_WRITE_CONFIG_BYTE 14,408 -#define PCIBIOS_WRITE_CONFIG_WORD 15,449 -#define PCIBIOS_WRITE_CONFIG_DWORD 16,490 -#define PCIBIOS_GET_ROUTING_OPTIONS 17,532 -#define PCIBIOS_SET_PCI_HW_INT 18,575 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/do_timer.h,130 -static inline void do_timer_interrupt_hook(16,468 -#define BUGGY_NEPTUN_TIMER35,976 -static inline int do_timer_overflow(46,1372 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/setup_arch_pre.h,24 -#define ARCH_SETUP5,78 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_mpparse.h,205 -#define __ASM_MACH_MPPARSE_H2,29 -static inline void mpc_oem_bus_info(4,59 -static inline void mpc_oem_pci_bus(10,238 -static inline int mps_oem_check(15,353 -static inline int acpi_madt_oem_check(22,499 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/setup_arch_post.h,58 -static char * __init machine_specific_memory_setup(9,206 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_mpspec.h,91 -#define __ASM_MACH_MPSPEC_H2,28 -#define MAX_IRQ_SOURCES 4,57 -#define MAX_MP_BUSSES 6,86 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_reboot.h,103 -#define _MACH_REBOOT_H8,190 -static inline void kb_wait(10,214 -static inline void mach_reboot(19,335 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_ipi.h,157 -#define __ASM_MACH_IPI_H2,25 -static inline void send_IPI_mask(7,169 -static inline void send_IPI_allbutself(12,273 -static inline void send_IPI_all(25,580 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/io_ports.h,453 -#define _MACH_IO_PORTS_H8,183 -#define PIT_MODE 11,236 -#define PIT_CH0 12,259 -#define PIT_CH2 13,282 -#define PIC_MASTER_CMD 16,333 -#define PIC_MASTER_IMR 17,362 -#define PIC_MASTER_ISR 18,391 -#define PIC_MASTER_POLL 19,430 -#define PIC_MASTER_OCW3 20,470 -#define PIC_SLAVE_CMD 21,510 -#define PIC_SLAVE_IMR 22,538 -#define PIC_CASCADE_IR 25,598 -#define MASTER_ICW4_DEFAULT 26,624 -#define SLAVE_ICW4_DEFAULT 27,657 -#define PIC_ICW4_AEOI 28,689 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_apicdef.h,144 -#define __ASM_MACH_APICDEF_H2,29 -#define APIC_ID_MASK 4,59 -static inline unsigned get_apic_id(6,93 -#define GET_APIC_ID(GET_APIC_ID11,178 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/mach_wakecpu.h,476 -#define __ASM_MACH_WAKECPU_H2,29 -#define WAKE_SECONDARY_VIA_INIT9,168 -#define TRAMPOLINE_LOW 11,201 -#define TRAMPOLINE_HIGH 12,244 -#define boot_cpu_apicid 14,289 -static inline void wait_for_init_deassert(16,339 -static inline void smp_callin_clear_local_apic(23,520 -static inline void store_NMI_vector(27,578 -static inline void restore_NMI_vector(31,662 - #define inquire_remote_apic(inquire_remote_apic36,763 - #define inquire_remote_apic(inquire_remote_apic38,836 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-default/entry_arch.h,24 -BUILD_INTERRUPT(13,402 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/rtc.h,25 -#define _I386_RTC_H2,20 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/msi.h,188 -#define ASM_MSI_H7,117 -#define LAST_DEVICE_VECTOR 12,182 -#define MSI_DEST_MODE 13,214 -#define MSI_TARGET_CPU_SHIFT 14,255 -#define MSI_TARGET_CPU 17,307 -#define MSI_TARGET_CPU 19,364 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/arch_hooks.h,31 -#define _ASM_ARCH_HOOKS_H2,26 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/system.h,2388 -#define __ASM_SYSTEM_H2,23 -#define switch_to(switch_to15,406 -#define _set_base(_set_base33,1043 -#define _set_limit(_set_limit45,1337 -#define set_base(set_base58,1648 -#define set_limit(set_limit59,1714 -static inline unsigned long _get_base(61,1793 -#define get_base(get_base75,2062 -#define loadsegment(loadsegment81,2208 -#define savesegment(savesegment101,2627 -#define clts(clts107,2768 -#define read_cr0(read_cr0108,2813 -#define write_cr0(write_cr0115,2935 -#define read_cr4(read_cr4118,2996 -#define write_cr4(write_cr4125,3118 -#define stts(stts127,3178 -#define wbinvd(wbinvd131,3245 -static inline unsigned long get_limit(134,3312 -#define nop(nop142,3477 -#define xchg(xchg144,3521 -#define tas(tas146,3612 -struct __xchg_dummy __xchg_dummy148,3646 -#define __xg(__xg149,3693 -static inline void __set_64bit 166,4367 -static inline void __set_64bit_constant 182,4680 -#define ll_low(ll_low187,4856 -#define ll_high(ll_high188,4901 -static inline void __set_64bit_var 190,4948 -#define set_64bit(set_64bit196,5093 -#define _set_64bit(_set_64bit201,5227 -static inline unsigned long __xchg(211,5650 -#define __HAVE_ARCH_CMPXCHG 243,6341 -static inline unsigned long __cmpxchg(246,6379 -#define cmpxchg(cmpxchg273,7057 -struct alt_instr alt_instr278,7206 -#define alternative(alternative300,7867 -#define alternative_input(alternative_input324,8880 -#define mb(mb362,10280 -#define rmb(rmb363,10359 -#define read_barrier_depends(read_barrier_depends417,12175 -#define wmb(wmb422,12361 -#define wmb(wmb424,12446 -#define smp_mb(smp_mb428,12525 -#define smp_rmb(smp_rmb429,12547 -#define smp_wmb(smp_wmb430,12571 -#define smp_read_barrier_depends(smp_read_barrier_depends431,12595 -#define set_mb(set_mb432,12653 -#define smp_mb(smp_mb434,12722 -#define smp_rmb(smp_rmb435,12749 -#define smp_wmb(smp_wmb436,12777 -#define smp_read_barrier_depends(smp_read_barrier_depends437,12805 -#define set_mb(set_mb438,12856 -#define set_wmb(set_wmb441,12932 -#define local_save_flags(local_save_flags444,13024 -#define local_irq_restore(local_irq_restore445,13164 -#define local_irq_disable(local_irq_disable446,13322 -#define local_irq_enable(local_irq_enable447,13392 -#define safe_halt(safe_halt449,13533 -#define irqs_disabled(irqs_disabled451,13601 -#define local_irq_save(local_irq_save459,13742 -#define HAVE_DISABLE_HLT464,13912 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/fcntl.h,1378 -#define _I386_FCNTL_H2,22 -#define O_ACCMODE 6,156 -#define O_RDONLY 7,182 -#define O_WRONLY 8,207 -#define O_RDWR 9,232 -#define O_CREAT 10,256 -#define O_EXCL 11,297 -#define O_NOCTTY 12,337 -#define O_TRUNC 13,378 -#define O_APPEND 14,419 -#define O_NONBLOCK 15,444 -#define O_NDELAY 16,471 -#define O_SYNC 17,499 -#define FASYNC 18,523 -#define O_DIRECT 19,582 -#define O_LARGEFILE 20,637 -#define O_DIRECTORY 21,665 -#define O_NOFOLLOW 22,719 -#define O_NOATIME 23,771 -#define O_ATOMICLOOKUP 24,798 -#define F_DUPFD 26,859 -#define F_GETFD 27,888 -#define F_SETFD 28,931 -#define F_GETFL 29,980 -#define F_SETFL 30,1023 -#define F_GETLK 31,1066 -#define F_SETLK 32,1085 -#define F_SETLKW 33,1104 -#define F_SETOWN 35,1124 -#define F_GETOWN 36,1163 -#define F_SETSIG 37,1202 -#define F_GETSIG 38,1242 -#define F_GETLK64 40,1283 -#define F_SETLK64 41,1334 -#define F_SETLKW64 42,1355 -#define FD_CLOEXEC 45,1402 -#define F_RDLCK 48,1506 -#define F_WRLCK 49,1525 -#define F_UNLCK 50,1544 -#define F_EXLCK 53,1609 -#define F_SHLCK 54,1639 -#define F_INPROGRESS 57,1687 -#define LOCK_SH 60,1785 -#define LOCK_EX 61,1822 -#define LOCK_NB 62,1862 -#define LOCK_UN 64,1941 -#define LOCK_MAND 66,1979 -#define LOCK_READ 67,2032 -#define LOCK_WRITE 68,2103 -#define LOCK_RW 69,2177 -struct flock flock71,2250 -struct flock64 flock6479,2345 -#define F_LINUX_SPECIFIC_BASE 87,2447 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/spinlock.h,1253 -#define __ASM_SPINLOCK_H2,25 -asmlinkage int printk(10,176 -} spinlock_t;spinlock_t22,436 -#define SPINLOCK_MAGIC 24,451 -#define SPINLOCK_MAGIC_INIT 27,515 -#define SPINLOCK_MAGIC_INIT 29,566 -#define SPIN_LOCK_UNLOCKED 32,608 -#define spin_lock_init(spin_lock_init34,675 -#define spin_is_locked(spin_is_locked43,925 -#define spin_unlock_wait(spin_unlock_wait44,996 -#define spin_lock_string 46,1068 -#define spin_lock_string_flags 57,1233 -#define spin_unlock_string 81,1679 -static inline void _raw_spin_unlock(86,1760 -#define spin_unlock_string 99,1982 -static inline void _raw_spin_unlock(104,2096 -static inline int _raw_spin_trylock(118,2337 -static inline void _raw_spin_lock(128,2530 -static inline void _raw_spin_lock_flags 141,2813 -} rwlock_t;rwlock_t169,3567 -#define RWLOCK_MAGIC 171,3580 -#define RWLOCK_MAGIC_INIT 174,3642 -#define RWLOCK_MAGIC_INIT 176,3689 -#define RW_LOCK_UNLOCKED 179,3729 -#define rwlock_init(rwlock_init181,3801 -#define rwlock_is_locked(rwlock_is_locked183,3866 -static inline void _raw_read_lock(196,4265 -static inline void _raw_write_lock(204,4436 -#define _raw_read_unlock(_raw_read_unlock212,4610 -#define _raw_write_unlock(_raw_write_unlock213,4703 -static inline int _raw_write_trylock(215,4818 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/segment.h,867 -#define _ASM_SEGMENT_H2,23 -#define GDT_ENTRY_TLS_ENTRIES 48,1013 -#define GDT_ENTRY_TLS_MIN 49,1045 -#define GDT_ENTRY_TLS_MAX 50,1073 -#define TLS_SIZE 52,1149 -#define GDT_ENTRY_DEFAULT_USER_CS 54,1195 -#define __USER_CS 55,1232 -#define GDT_ENTRY_DEFAULT_USER_DS 57,1287 -#define __USER_DS 58,1324 -#define GDT_ENTRY_KERNEL_BASE 60,1379 -#define GDT_ENTRY_KERNEL_CS 62,1413 -#define __KERNEL_CS 63,1470 -#define GDT_ENTRY_KERNEL_DS 65,1517 -#define __KERNEL_DS 66,1574 -#define GDT_ENTRY_TSS 68,1621 -#define GDT_ENTRY_LDT 69,1673 -#define GDT_ENTRY_PNPBIOS_BASE 71,1726 -#define GDT_ENTRY_APMBIOS_BASE 72,1786 -#define GDT_ENTRY_DOUBLEFAULT_TSS 74,1848 -#define GDT_ENTRIES 79,1919 -#define GDT_SIZE 81,1943 -#define GDT_ENTRY_BOOT_CS 85,2032 -#define __BOOT_CS 86,2061 -#define GDT_ENTRY_BOOT_DS 88,2104 -#define __BOOT_DS 89,2155 -#define IDT_ENTRIES 96,2347 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/xor.h,1434 -#define LD(LD21,660 -#define ST(ST22,722 -#define XO1(XO123,784 -#define XO2(XO224,846 -#define XO3(XO325,908 -#define XO4(XO426,970 -xor_pII_mmx_2(31,1068 -#define BLOCK(BLOCK39,1238 -xor_pII_mmx_3(74,1788 -#define BLOCK(BLOCK83,1984 -xor_pII_mmx_4(123,2645 -#define BLOCK(BLOCK132,2860 -xor_pII_mmx_5(178,3635 -#define BLOCK(BLOCK195,4238 -xor_p5_mmx_2(258,5413 -xor_p5_mmx_3(305,6710 -xor_p5_mmx_4(362,8368 -xor_p5_mmx_5(428,10370 -static struct xor_block_template xor_block_pII_mmx 515,13283 -static struct xor_block_template xor_block_p5_mmx 523,13458 -#define XMMS_SAVE 536,13767 -#define XMMS_RESTORE 550,14104 -#define ALIGN16 564,14442 -#define OFFS(OFFS566,14488 -#define PF_OFFS(PF_OFFS567,14517 -#define PF0(PF0568,14552 -#define LD(LD569,14605 -#define ST(ST570,14669 -#define PF1(PF1571,14733 -#define PF2(PF2572,14786 -#define PF3(PF3573,14839 -#define PF4(PF4574,14892 -#define PF5(PF5575,14945 -#define XO1(XO1576,14998 -#define XO2(XO2577,15061 -#define XO3(XO3578,15124 -#define XO4(XO4579,15187 -#define XO5(XO5580,15250 -xor_sse_2(584,15327 -#define BLOCK(BLOCK594,15538 -xor_sse_3(637,16235 -#define BLOCK(BLOCK648,16468 -xor_sse_4(698,17321 -#define BLOCK(BLOCK709,17573 -xor_sse_5(766,18585 -#define BLOCK(BLOCK785,19225 -static struct xor_block_template xor_block_pIII_sse 853,20583 -#define XOR_TRY_TEMPLATES 865,20875 -#define XOR_SELECT_TEMPLATE(XOR_SELECT_TEMPLATE882,21497 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/shmbuf.h,100 -#define _I386_SHMBUF_H2,23 -struct shmid64_ds shmid64_ds14,317 -struct shminfo64 shminfo6430,894 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pgalloc.h,469 -#define _I386_PGALLOC_H2,24 -#define pmd_populate_kernel(pmd_populate_kernel11,221 -static inline void pmd_populate(14,313 -static inline void pte_free_kernel(30,781 -static inline void pte_free(35,865 -#define __pte_free_tlb(__pte_free_tlb41,936 -#define pmd_alloc_one(pmd_alloc_one49,1189 -#define pmd_free(pmd_free50,1249 -#define __pmd_free_tlb(__pmd_free_tlb51,1288 -#define pgd_populate(pgd_populate52,1336 -#define check_pgt_cache(check_pgt_cache54,1378 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/checksum.h,599 -#define _I386_CHECKSUM_H2,25 -unsigned int csum_partial_copy_nocheck 39,1157 -unsigned int csum_partial_copy_from_user(46,1341 -static inline unsigned short ip_fast_csum(61,1779 -static inline unsigned int csum_fold(97,2611 -static inline unsigned long csum_tcpudp_nofold(108,2812 -static inline unsigned short int csum_tcpudp_magic(128,3305 -static inline unsigned short ip_compute_csum(142,3654 -#define _HAVE_ARCH_IPV6_CSUM147,3786 -static __inline__ unsigned short int csum_ipv6_magic(148,3815 -#define HAVE_CSUM_COPY_USER176,4439 -static __inline__ unsigned int csum_and_copy_to_user(177,4467 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/io_apic.h,2345 -#define __ASM_IO_APIC_H2,24 -static inline int use_pci_vector(17,284 -static inline void disable_edge_ioapic_vector(18,335 -static inline void mask_and_ack_level_ioapic_vector(19,406 -static inline void end_edge_ioapic_vector 20,483 -#define startup_level_ioapic 21,551 -#define shutdown_level_ioapic 22,608 -#define enable_level_ioapic 23,658 -#define disable_level_ioapic 24,708 -#define mask_and_ack_level_ioapic 25,757 -#define end_level_ioapic 26,824 -#define set_ioapic_affinity 27,873 -#define startup_edge_ioapic 29,929 -#define shutdown_edge_ioapic 30,985 -#define enable_edge_ioapic 31,1042 -#define disable_edge_ioapic 32,1092 -#define ack_edge_ioapic 33,1148 -#define end_edge_ioapic 34,1196 -static inline int use_pci_vector(36,1250 -static inline void disable_edge_ioapic_irq(37,1301 -static inline void mask_and_ack_level_ioapic_irq(38,1366 -static inline void end_edge_ioapic_irq 39,1437 -#define startup_level_ioapic 40,1499 -#define shutdown_level_ioapic 41,1553 -#define enable_level_ioapic 42,1600 -#define disable_level_ioapic 43,1647 -#define mask_and_ack_level_ioapic 44,1693 -#define end_level_ioapic 45,1757 -#define set_ioapic_affinity 46,1803 -#define startup_edge_ioapic 48,1856 -#define shutdown_edge_ioapic 49,1909 -#define enable_edge_ioapic 50,1963 -#define disable_edge_ioapic 51,2010 -#define ack_edge_ioapic 52,2063 -#define end_edge_ioapic 53,2108 -#define APIC_MISMATCH_DEBUG56,2161 -#define IO_APIC_BASE(IO_APIC_BASE58,2190 -union IO_APIC_reg_00 IO_APIC_reg_0065,2371 - } __attribute__ __attribute__73,2511 -union IO_APIC_reg_01 IO_APIC_reg_0176,2549 - } __attribute__ __attribute__84,2689 -union IO_APIC_reg_02 IO_APIC_reg_0287,2727 - } __attribute__ __attribute__93,2838 -union IO_APIC_reg_03 IO_APIC_reg_0396,2876 - } __attribute__ __attribute__101,2962 -enum ioapic_irq_destination_types ioapic_irq_destination_types110,3125 - dest_Fixed 111,3161 - dest_LowestPrio 112,3178 - dest_SMI 113,3200 - dest__reserved_1 114,3215 - dest_NMI 115,3238 - dest_INIT 116,3253 - dest__reserved_2 117,3269 - dest_ExtINT 118,3292 -struct IO_APIC_route_entry IO_APIC_route_entry121,3313 -static inline unsigned int io_apic_read(165,4263 -static inline void io_apic_write(171,4406 -static inline void io_apic_modify(184,4768 -#define io_apic_assign_pci_irqs 198,5111 -#define io_apic_assign_pci_irqs 208,5529 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/hardirq.h,411 -#define __ASM_HARDIRQ_H2,24 -} ____cacheline_aligned irq_cpustat_t;irq_cpustat_t13,307 -#define PREEMPT_BITS 32,877 -#define SOFTIRQ_BITS 33,900 -#define HARDIRQ_BITS 34,923 -#define PREEMPT_SHIFT 36,947 -#define SOFTIRQ_SHIFT 37,971 -#define HARDIRQ_SHIFT 38,1024 -#define nmi_enter(nmi_enter49,1294 -#define nmi_exit(nmi_exit50,1329 -#define irq_enter(irq_enter52,1386 -#define irq_exit(irq_exit53,1443 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/cpu.h,107 -#define _ASM_I386_CPU_H_2,25 -struct i386_cpu i386_cpu10,152 -static inline int arch_register_cpu(16,237 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/div64.h,132 -#define __I386_DIV642,21 -#define do_div(do_div16,375 -#define div_long_long_rem(div_long_long_rem36,935 -div_ll_X_l_rem(39,1010 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/namei.h,73 -#define __I386_NAMEI_H8,150 -#define __emul_prefix(__emul_prefix15,314 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/vga.h,146 -#define _LINUX_ASM_VGA_H_8,100 -#define VGA_MAP_MEM(VGA_MAP_MEM15,249 -#define vga_readb(vga_readb17,304 -#define vga_writeb(vga_writeb18,332 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/param.h,241 -#define _ASMi386_PARAM_H2,25 -# define HZ 5,69 -# define USER_HZ 6,126 -# define CLOCKS_PER_SEC 7,193 -#define HZ 11,266 -#define EXEC_PAGESIZE 14,289 -#define NOGROUP 17,333 -#define MAXHOSTNAMELEN 20,363 -#define COMMAND_LINE_SIZE 21,418 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/hpet.h,1076 -#define _I386_HPET_H3,22 -#define HPET_MMAP_SIZE 40,792 -#define HPET_ID 42,821 -#define HPET_PERIOD 43,844 -#define HPET_CFG 44,870 -#define HPET_STATUS 45,893 -#define HPET_COUNTER 46,919 -#define HPET_T0_CFG 47,946 -#define HPET_T0_CMP 48,972 -#define HPET_T0_ROUTE 49,998 -#define HPET_T1_CFG 50,1026 -#define HPET_T1_CMP 51,1052 -#define HPET_T1_ROUTE 52,1078 -#define HPET_T2_CFG 53,1106 -#define HPET_T2_CMP 54,1132 -#define HPET_T2_ROUTE 55,1158 -#define HPET_ID_LEGSUP 57,1187 -#define HPET_ID_NUMBER 58,1221 -#define HPET_ID_REV 59,1255 -#define HPET_ID_NUMBER_SHIFT 60,1286 -#define HPET_CFG_ENABLE 62,1318 -#define HPET_CFG_LEGACY 63,1348 -#define HPET_LEGACY_8254 64,1378 -#define HPET_LEGACY_RTC 65,1405 -#define HPET_TN_ENABLE 67,1433 -#define HPET_TN_PERIODIC 68,1463 -#define HPET_TN_PERIODIC_CAP 69,1494 -#define HPET_TN_SETVAL 70,1529 -#define HPET_TN_32BIT 71,1559 -#define ASM_MUL64_REG(ASM_MUL64_REG74,1638 -#define ASM_DIV64_REG(ASM_DIV64_REG79,1808 -#define KERNEL_TICK_USEC 84,1998 -#define HPET_MAX_PERIOD 86,2124 -#define HPET_MIN_PERIOD 91,2310 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mca_dma.h,1078 -#define MCA_DMA_H2,18 -#define MCA_DMA_REG_FN 25,746 -#define MCA_DMA_REG_EXE 26,775 -#define MCA_DMA_FN_SET_IO 32,858 -#define MCA_DMA_FN_SET_ADDR 33,895 -#define MCA_DMA_FN_GET_ADDR 34,932 -#define MCA_DMA_FN_SET_COUNT 35,969 -#define MCA_DMA_FN_GET_COUNT 36,1006 -#define MCA_DMA_FN_GET_STATUS 37,1043 -#define MCA_DMA_FN_SET_MODE 38,1080 -#define MCA_DMA_FN_SET_ARBUS 39,1117 -#define MCA_DMA_FN_MASK 40,1154 -#define MCA_DMA_FN_RESET_MASK 41,1191 -#define MCA_DMA_FN_MASTER_CLEAR 42,1228 -#define MCA_DMA_MODE_XFER 51,1449 -#define MCA_DMA_MODE_READ 52,1504 -#define MCA_DMA_MODE_WRITE 53,1556 -#define MCA_DMA_MODE_IO 54,1620 -#define MCA_DMA_MODE_16 55,1680 -static __inline__ void mca_enable_dma(66,1894 -static __inline__ void mca_disable_dma(79,2172 -static __inline__ void mca_set_dma_addr(93,2483 -static __inline__ unsigned int mca_get_dma_addr(109,2935 -static __inline__ void mca_set_dma_count(130,3427 -static __inline__ unsigned int mca_get_dma_residue(147,3899 -static __inline__ void mca_set_dma_io(167,4358 -static __inline__ void mca_set_dma_mode(196,5042 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/unistd.h,10476 -#define _ASM_I386_UNISTD_H_2,28 -#define __NR_restart_syscall 8,112 -#define __NR_exit 9,148 -#define __NR_fork 10,171 -#define __NR_read 11,194 -#define __NR_write 12,217 -#define __NR_open 13,241 -#define __NR_close 14,264 -#define __NR_waitpid 15,288 -#define __NR_creat 16,314 -#define __NR_link 17,338 -#define __NR_unlink 18,361 -#define __NR_execve 19,386 -#define __NR_chdir 20,411 -#define __NR_time 21,435 -#define __NR_mknod 22,458 -#define __NR_chmod 23,482 -#define __NR_lchown 24,506 -#define __NR_break 25,531 -#define __NR_oldstat 26,555 -#define __NR_lseek 27,581 -#define __NR_getpid 28,605 -#define __NR_mount 29,630 -#define __NR_umount 30,654 -#define __NR_setuid 31,679 -#define __NR_getuid 32,704 -#define __NR_stime 33,729 -#define __NR_ptrace 34,753 -#define __NR_alarm 35,778 -#define __NR_oldfstat 36,802 -#define __NR_pause 37,829 -#define __NR_utime 38,853 -#define __NR_stty 39,877 -#define __NR_gtty 40,900 -#define __NR_access 41,923 -#define __NR_nice 42,948 -#define __NR_ftime 43,971 -#define __NR_sync 44,995 -#define __NR_kill 45,1018 -#define __NR_rename 46,1041 -#define __NR_mkdir 47,1066 -#define __NR_rmdir 48,1090 -#define __NR_dup 49,1114 -#define __NR_pipe 50,1136 -#define __NR_times 51,1159 -#define __NR_prof 52,1183 -#define __NR_brk 53,1206 -#define __NR_setgid 54,1228 -#define __NR_getgid 55,1253 -#define __NR_signal 56,1278 -#define __NR_geteuid 57,1303 -#define __NR_getegid 58,1329 -#define __NR_acct 59,1355 -#define __NR_umount2 60,1378 -#define __NR_lock 61,1404 -#define __NR_ioctl 62,1427 -#define __NR_fcntl 63,1451 -#define __NR_mpx 64,1475 -#define __NR_setpgid 65,1497 -#define __NR_ulimit 66,1523 -#define __NR_oldolduname 67,1548 -#define __NR_umask 68,1577 -#define __NR_chroot 69,1601 -#define __NR_ustat 70,1626 -#define __NR_dup2 71,1650 -#define __NR_getppid 72,1673 -#define __NR_getpgrp 73,1699 -#define __NR_setsid 74,1725 -#define __NR_sigaction 75,1750 -#define __NR_sgetmask 76,1778 -#define __NR_ssetmask 77,1805 -#define __NR_setreuid 78,1832 -#define __NR_setregid 79,1859 -#define __NR_sigsuspend 80,1886 -#define __NR_sigpending 81,1915 -#define __NR_sethostname 82,1944 -#define __NR_setrlimit 83,1973 -#define __NR_getrlimit 84,2001 -#define __NR_getrusage 85,2071 -#define __NR_gettimeofday 86,2099 -#define __NR_settimeofday 87,2129 -#define __NR_getgroups 88,2159 -#define __NR_setgroups 89,2187 -#define __NR_select 90,2215 -#define __NR_symlink 91,2240 -#define __NR_oldlstat 92,2266 -#define __NR_readlink 93,2293 -#define __NR_uselib 94,2320 -#define __NR_swapon 95,2345 -#define __NR_reboot 96,2370 -#define __NR_readdir 97,2395 -#define __NR_mmap 98,2421 -#define __NR_munmap 99,2444 -#define __NR_truncate 100,2469 -#define __NR_ftruncate 101,2496 -#define __NR_fchmod 102,2524 -#define __NR_fchown 103,2549 -#define __NR_getpriority 104,2574 -#define __NR_setpriority 105,2603 -#define __NR_profil 106,2632 -#define __NR_statfs 107,2657 -#define __NR_fstatfs 108,2682 -#define __NR_ioperm 109,2708 -#define __NR_socketcall 110,2733 -#define __NR_syslog 111,2762 -#define __NR_setitimer 112,2787 -#define __NR_getitimer 113,2815 -#define __NR_stat 114,2843 -#define __NR_lstat 115,2866 -#define __NR_fstat 116,2890 -#define __NR_olduname 117,2914 -#define __NR_iopl 118,2941 -#define __NR_vhangup 119,2964 -#define __NR_idle 120,2990 -#define __NR_vm86old 121,3013 -#define __NR_wait4 122,3039 -#define __NR_swapoff 123,3063 -#define __NR_sysinfo 124,3089 -#define __NR_ipc 125,3115 -#define __NR_fsync 126,3137 -#define __NR_sigreturn 127,3161 -#define __NR_clone 128,3189 -#define __NR_setdomainname 129,3213 -#define __NR_uname 130,3244 -#define __NR_modify_ldt 131,3268 -#define __NR_adjtimex 132,3297 -#define __NR_mprotect 133,3324 -#define __NR_sigprocmask 134,3351 -#define __NR_create_module 135,3380 -#define __NR_init_module 136,3411 -#define __NR_delete_module 137,3440 -#define __NR_get_kernel_syms 138,3471 -#define __NR_quotactl 139,3504 -#define __NR_getpgid 140,3531 -#define __NR_fchdir 141,3557 -#define __NR_bdflush 142,3582 -#define __NR_sysfs 143,3608 -#define __NR_personality 144,3632 -#define __NR_afs_syscall 145,3661 -#define __NR_setfsuid 146,3727 -#define __NR_setfsgid 147,3754 -#define __NR__llseek 148,3781 -#define __NR_getdents 149,3807 -#define __NR__newselect 150,3834 -#define __NR_flock 151,3863 -#define __NR_msync 152,3887 -#define __NR_readv 153,3911 -#define __NR_writev 154,3935 -#define __NR_getsid 155,3960 -#define __NR_fdatasync 156,3985 -#define __NR__sysctl 157,4013 -#define __NR_mlock 158,4039 -#define __NR_munlock 159,4063 -#define __NR_mlockall 160,4089 -#define __NR_munlockall 161,4116 -#define __NR_sched_setparam 162,4145 -#define __NR_sched_getparam 163,4178 -#define __NR_sched_setscheduler 164,4211 -#define __NR_sched_getscheduler 165,4248 -#define __NR_sched_yield 166,4285 -#define __NR_sched_get_priority_max 167,4315 -#define __NR_sched_get_priority_min 168,4355 -#define __NR_sched_rr_get_interval 169,4395 -#define __NR_nanosleep 170,4434 -#define __NR_mremap 171,4462 -#define __NR_setresuid 172,4487 -#define __NR_getresuid 173,4515 -#define __NR_vm86 174,4543 -#define __NR_query_module 175,4566 -#define __NR_poll 176,4596 -#define __NR_nfsservctl 177,4619 -#define __NR_setresgid 178,4648 -#define __NR_getresgid 179,4676 -#define __NR_prctl 180,4704 -#define __NR_rt_sigreturn 181,4740 -#define __NR_rt_sigaction 182,4770 -#define __NR_rt_sigprocmask 183,4800 -#define __NR_rt_sigpending 184,4832 -#define __NR_rt_sigtimedwait 185,4863 -#define __NR_rt_sigqueueinfo 186,4896 -#define __NR_rt_sigsuspend 187,4929 -#define __NR_pread64 188,4960 -#define __NR_pwrite64 189,4986 -#define __NR_chown 190,5013 -#define __NR_getcwd 191,5037 -#define __NR_capget 192,5062 -#define __NR_capset 193,5087 -#define __NR_sigaltstack 194,5112 -#define __NR_sendfile 195,5141 -#define __NR_getpmsg 196,5168 -#define __NR_putpmsg 197,5234 -#define __NR_vfork 198,5300 -#define __NR_ugetrlimit 199,5324 -#define __NR_mmap2 200,5383 -#define __NR_truncate64 201,5407 -#define __NR_ftruncate64 202,5436 -#define __NR_stat64 203,5465 -#define __NR_lstat64 204,5490 -#define __NR_fstat64 205,5516 -#define __NR_lchown32 206,5542 -#define __NR_getuid32 207,5569 -#define __NR_getgid32 208,5596 -#define __NR_geteuid32 209,5623 -#define __NR_getegid32 210,5651 -#define __NR_setreuid32 211,5679 -#define __NR_setregid32 212,5708 -#define __NR_getgroups32 213,5737 -#define __NR_setgroups32 214,5766 -#define __NR_fchown32 215,5795 -#define __NR_setresuid32 216,5822 -#define __NR_getresuid32 217,5851 -#define __NR_setresgid32 218,5880 -#define __NR_getresgid32 219,5909 -#define __NR_chown32 220,5938 -#define __NR_setuid32 221,5964 -#define __NR_setgid32 222,5991 -#define __NR_setfsuid32 223,6018 -#define __NR_setfsgid32 224,6047 -#define __NR_pivot_root 225,6076 -#define __NR_mincore 226,6105 -#define __NR_madvise 227,6131 -#define __NR_madvise1 228,6157 -#define __NR_getdents64 229,6224 -#define __NR_fcntl64 230,6253 -#define __NR_gettid 232,6299 -#define __NR_readahead 233,6324 -#define __NR_setxattr 234,6352 -#define __NR_lsetxattr 235,6379 -#define __NR_fsetxattr 236,6407 -#define __NR_getxattr 237,6435 -#define __NR_lgetxattr 238,6462 -#define __NR_fgetxattr 239,6490 -#define __NR_listxattr 240,6518 -#define __NR_llistxattr 241,6546 -#define __NR_flistxattr 242,6575 -#define __NR_removexattr 243,6604 -#define __NR_lremovexattr 244,6633 -#define __NR_fremovexattr 245,6663 -#define __NR_tkill 246,6693 -#define __NR_sendfile64 247,6717 -#define __NR_futex 248,6746 -#define __NR_sched_setaffinity 249,6770 -#define __NR_sched_getaffinity 250,6805 -#define __NR_set_thread_area 251,6840 -#define __NR_get_thread_area 252,6873 -#define __NR_io_setup 253,6906 -#define __NR_io_destroy 254,6933 -#define __NR_io_getevents 255,6962 -#define __NR_io_submit 256,6992 -#define __NR_io_cancel 257,7020 -#define __NR_fadvise64 258,7048 -#define __NR_exit_group 260,7077 -#define __NR_lookup_dcookie 261,7106 -#define __NR_epoll_create 262,7138 -#define __NR_epoll_ctl 263,7168 -#define __NR_epoll_wait 264,7196 -#define __NR_remap_file_pages 265,7225 -#define __NR_set_tid_address 266,7259 -#define __NR_timer_create 267,7292 -#define __NR_timer_settime 268,7322 -#define __NR_timer_gettime 269,7371 -#define __NR_timer_getoverrun 270,7420 -#define __NR_timer_delete 271,7472 -#define __NR_clock_settime 272,7520 -#define __NR_clock_gettime 273,7569 -#define __NR_clock_getres 274,7618 -#define __NR_clock_nanosleep 275,7666 -#define __NR_statfs64 276,7717 -#define __NR_fstatfs64 277,7744 -#define __NR_tgkill 278,7772 -#define __NR_utimes 279,7797 -#define __NR_fadvise64_64 280,7822 -#define __NR_vserver 281,7852 -#define __NR_mbind 282,7878 -#define __NR_get_mempolicy 283,7902 -#define __NR_set_mempolicy 284,7933 -#define __NR_mq_open 285,7964 -#define __NR_mq_unlink 286,7991 -#define __NR_mq_timedsend 287,8032 -#define __NR_mq_timedreceive 288,8075 -#define __NR_mq_notify 289,8121 -#define __NR_mq_getsetattr 290,8162 -#define __NR_sys_kexec_load 291,8206 -#define __NR_waitid 292,8238 -#define NR_syscalls 294,8264 -#define __syscall_return(__syscall_return299,8411 -# define __syscall_return(__syscall_return309,8594 -#define _syscall0(_syscall0313,8728 -#define _syscall1(_syscall1323,8905 -#define _syscall2(_syscall2333,9118 -#define _syscall3(_syscall3343,9372 -#define _syscall4(_syscall4354,9674 -#define _syscall5(_syscall5365,10021 -#define _syscall6(_syscall6377,10411 -#define __ARCH_WANT_IPC_PARSE_VERSION391,10926 -#define __ARCH_WANT_OLD_READDIR392,10964 -#define __ARCH_WANT_OLD_STAT393,10996 -#define __ARCH_WANT_STAT64394,11025 -#define __ARCH_WANT_SYS_ALARM395,11052 -#define __ARCH_WANT_SYS_GETHOSTNAME396,11082 -#define __ARCH_WANT_SYS_PAUSE397,11118 -#define __ARCH_WANT_SYS_SGETMASK398,11148 -#define __ARCH_WANT_SYS_SIGNAL399,11181 -#define __ARCH_WANT_SYS_TIME400,11212 -#define __ARCH_WANT_SYS_UTIME401,11241 -#define __ARCH_WANT_SYS_WAITPID402,11271 -#define __ARCH_WANT_SYS_SOCKETCALL403,11303 -#define __ARCH_WANT_SYS_FADVISE64404,11338 -#define __ARCH_WANT_SYS_GETPGRP405,11372 -#define __ARCH_WANT_SYS_LLSEEK406,11404 -#define __ARCH_WANT_SYS_NICE407,11435 -#define __ARCH_WANT_SYS_OLD_GETRLIMIT408,11464 -#define __ARCH_WANT_SYS_OLDUMOUNT409,11502 -#define __ARCH_WANT_SYS_SIGPENDING410,11536 -#define __ARCH_WANT_SYS_SIGPROCMASK411,11571 -#define __ARCH_WANT_SYS_RT_SIGACTION412,11607 -static inline _syscall3(434,12317 -#define cond_syscall(cond_syscall462,13356 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/bug.h,102 -#define _I386_BUG_H2,20 -#define BUG(BUG13,289 -#define BUG(BUG19,430 -#define HAVE_ARCH_BUG22,482 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/kprobes.h,329 -#define _ASM_KPROBES_H2,23 -typedef u8 kprobe_opcode_t;kprobe_opcode_t32,1104 -#define BREAKPOINT_INSTRUCTION 33,1132 -#define MAX_INSN_SIZE 34,1168 -#define MAX_STACK_SIZE 35,1193 -#define MIN_STACK_SIZE(MIN_STACK_SIZE36,1219 -static inline void restore_interrupts(44,1574 -static inline int kprobe_exceptions_notify(54,1848 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-numaq/mach_apic.h,1211 -#define __ASM_MACH_APIC_H2,26 -#define APIC_DFR_VALUE 7,100 -static inline cpumask_t target_cpus(9,143 -#define TARGET_CPUS 14,212 -#define NO_BALANCE_IRQ 16,249 -#define esr_disable 17,276 -#define NO_IOAPIC_CHECK 19,301 -#define INT_DELIVERY_MODE 21,330 -#define INT_DEST_MODE 22,372 -#define check_apicid_used(check_apicid_used24,440 -#define check_apicid_present(check_apicid_present25,511 -#define apicid_cluster(apicid_cluster26,585 -static inline int apic_id_registered(28,633 -static inline void init_apic_ldr(33,692 -static inline void clustered_apic_check(38,775 -static inline int multi_timer_check(48,1035 -static inline physid_mask_t ioapic_phys_id_map(53,1126 -static inline int cpu_to_logical_apicid(61,1370 -static inline int cpu_present_to_apicid(73,1696 -static inline int generate_logical_apicid(81,1857 -static inline int apicid_to_node(86,1991 -static inline physid_mask_t apicid_to_cpu_present(91,2079 -static inline int mpc_apic_id(99,2284 -static inline void setup_portio_remap(113,2766 -static inline int check_phys_apicid_present(124,3107 -static inline void enable_apic_mode(129,3199 -static inline unsigned int cpu_mask_to_apicid(137,3380 -static inline u32 phys_pkg_id(143,3546 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-numaq/mach_mpparse.h,166 -#define __ASM_MACH_MPPARSE_H2,29 -static inline void mpc_oem_bus_info(4,59 -static inline void mpc_oem_pci_bus(15,412 -static inline void acpi_madt_oem_check(25,696 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-numaq/mach_mpspec.h,91 -#define __ASM_MACH_MPSPEC_H2,28 -#define MAX_IRQ_SOURCES 4,57 -#define MAX_MP_BUSSES 6,86 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-numaq/mach_ipi.h,157 -#define __ASM_MACH_IPI_H2,25 -static inline void send_IPI_mask(6,111 -static inline void send_IPI_allbutself(11,216 -static inline void send_IPI_all(20,400 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-numaq/mach_apicdef.h,150 -#define __ASM_MACH_APICDEF_H2,29 -#define APIC_ID_MASK 5,60 -static inline unsigned get_apic_id(7,92 -#define GET_APIC_ID(GET_APIC_ID12,183 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-numaq/mach_wakecpu.h,416 -#define __ASM_MACH_WAKECPU_H2,29 -#define WAKE_SECONDARY_VIA_NMI6,131 -#define TRAMPOLINE_LOW 8,163 -#define TRAMPOLINE_HIGH 9,204 -#define boot_cpu_apicid 11,247 -static inline void wait_for_init_deassert(14,365 -static inline void smp_callin_clear_local_apic(22,569 -static inline void store_NMI_vector(27,648 -static inline void restore_NMI_vector(34,877 -#define inquire_remote_apic(inquire_remote_apic41,1110 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/linkage.h,215 -#define __ASM_LINKAGE_H2,24 -#define asmlinkage 4,49 -#define FASTCALL(FASTCALL5,111 -#define fastcall 6,161 -# define prevent_tail_call(prevent_tail_call9,229 -#define __ALIGN 13,338 -#define __ALIGN_STR 14,369 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/mach_apic.h,995 -#define __ASM_MACH_APIC_H2,26 -#define APIC_DFR_VALUE 7,101 -#define no_balance_irq 9,141 -#define esr_disable 10,168 -#define NO_IOAPIC_CHECK 12,193 -#define INT_DELIVERY_MODE 14,222 -#define INT_DEST_MODE 15,264 - #define TARGET_CPUS 18,357 - #define TARGET_CPUS 20,399 -#define check_apicid_used(check_apicid_used23,446 -#define check_apicid_present(check_apicid_present24,517 -static inline int apic_id_registered(26,593 -static inline void init_apic_ldr(38,934 -static inline void summit_check(48,1181 -static inline void clustered_apic_check(52,1247 -static inline int cpu_to_logical_apicid(57,1346 -static inline int cpu_present_to_apicid(62,1418 -static inline physid_mask_t apicid_to_cpu_present(70,1562 -#define WAKE_SECONDARY_VIA_INIT75,1668 -static inline void setup_portio_remap(77,1701 -static inline void enable_apic_mode(81,1750 -static inline int check_phys_apicid_present(85,1797 -static inline unsigned int cpu_mask_to_apicid(90,1946 -static inline u32 phys_pkg_id(95,2047 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/lithium.h,615 -#define __I386_SGI_LITHIUM_H2,29 -#define LI_PCI_A_PHYS 10,142 -#define LI_PCI_B_PHYS 11,196 -#define LI_PCIA_VADDR 14,291 -#define LI_PCIB_VADDR 15,342 -#define LI_PCI_BUSNUM 18,441 -#define LI_PCI_INTEN 19,499 -#define LI_INTA_0 22,554 -#define LI_INTA_1 23,579 -#define LI_INTA_2 24,604 -#define LI_INTA_3 25,629 -#define LI_INTA_4 26,654 -#define LI_INTB 27,679 -#define LI_INTC 28,703 -#define LI_INTD 29,727 -extern __inline void li_pcia_write16(32,789 -extern __inline unsigned short li_pcia_read16(37,922 -extern __inline void li_pcib_write16(42,1052 -extern __inline unsigned short li_pcib_read16(47,1185 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/irq_vectors.h,676 -#define _ASM_IRQ_VECTORS_H2,27 -#define FIRST_EXTERNAL_VECTOR 8,133 -#define SYSCALL_VECTOR 10,169 -#define SPURIOUS_APIC_VECTOR 25,598 -#define ERROR_APIC_VECTOR 26,632 -#define INVALIDATE_TLB_VECTOR 27,663 -#define RESCHEDULE_VECTOR 28,698 -#define CALL_FUNCTION_VECTOR 29,729 -#define THERMAL_APIC_VECTOR 31,764 -#define LOCAL_TIMER_VECTOR 37,962 -#define FIRST_DEVICE_VECTOR 44,1171 -#define FIRST_SYSTEM_VECTOR 45,1204 -#define TIMER_IRQ 47,1238 -#define NR_VECTORS 52,1285 -#define NR_IRQS 53,1308 -#define NR_IRQ_VECTORS 54,1328 -#define FPU_IRQ 56,1360 -#define FIRST_VM86_IRQ 58,1382 -#define LAST_VM86_IRQ 59,1408 -#define invalid_vm86_irq(invalid_vm86_irq60,1434 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/smpboot_hooks.h,220 -static inline void smpboot_setup_warm_reset_vector(1,0 -static inline void smpboot_clear_io_apic_irqs(14,355 -static inline void smpboot_restore_warm_reset_vector(18,412 -static inline void smpboot_setup_io_apic(22,476 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/do_timer.h,93 -static inline void do_timer_interrupt_hook(6,92 -static inline int do_timer_overflow(25,626 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/setup_arch_pre.h,24 -#define ARCH_SETUP5,76 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/setup_arch_post.h,191 -#define MB 6,152 -unsigned long sgivwfb_mem_phys;8,178 -unsigned long sgivwfb_mem_size;9,210 -long long mem_size __initdata 11,243 -static char * __init machine_specific_memory_setup(13,279 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/piix4.h,1536 -#define __I386_SGI_PIIX_H2,26 -#define PIIX_PM_START 8,105 -#define SIO_GPIO_START 10,136 -#define SIO_PM_START 12,168 -#define PMBASE 14,198 -#define GPIREG0 15,229 -#define GPIREG(GPIREG16,261 -#define GPIBIT(GPIBIT17,298 -#define PIIX_GPI_BD_ID1 19,333 -#define PIIX_GPI_BD_ID2 20,361 -#define PIIX_GPI_BD_ID3 21,389 -#define PIIX_GPI_BD_ID4 22,417 -#define PIIX_GPI_BD_REG 23,445 -#define PIIX_GPI_BD_MASK 24,494 -#define PIIX_GPI_BD_SHIFT 29,643 -#define SIO_INDEX 31,692 -#define SIO_DATA 32,716 -#define SIO_DEV_SEL 34,740 -#define SIO_DEV_ENB 35,765 -#define SIO_DEV_MSB 36,791 -#define SIO_DEV_LSB 37,817 -#define SIO_GP_DEV 39,844 -#define SIO_GP_BASE 41,869 -#define SIO_GP_MSB 42,905 -#define SIO_GP_LSB 43,942 -#define SIO_GP_DATA1 45,982 -#define SIO_PM_DEV 47,1021 -#define SIO_PM_BASE 49,1046 -#define SIO_PM_MSB 50,1080 -#define SIO_PM_LSB 51,1117 -#define SIO_PM_INDEX 52,1156 -#define SIO_PM_DATA 53,1194 -#define SIO_PM_FER2 55,1232 -#define SIO_PM_GP_EN 57,1258 -#define SPECIAL_DEV 65,1389 -#define SPECIAL_REG 66,1415 -#define PIIX_SPECIAL_STOP 74,1652 -#define PIIX4_RESET_PORT 76,1691 -#define PIIX4_RESET_VAL 77,1722 -#define PMSTS_PORT 79,1752 -#define PMEN_PORT 80,1799 -#define PMCNTRL_PORT 81,1845 -#define PM_SUSPEND_ENABLE 83,1896 -#define PM_STS_RSM 89,2052 -#define PM_STS_PWRBTNOR 90,2097 -#define PM_STS_RTC 91,2155 -#define PM_STS_PWRBTN 92,2197 -#define PM_STS_GBL 93,2252 -#define PM_STS_BM 94,2296 -#define PM_STS_TMROF 95,2343 -#define PIIX_GPIREG0 100,2433 -#define PIIX_GPI_STPCLK 105,2512 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/mach_apicdef.h,159 -#define __ASM_MACH_APICDEF_H2,29 -#define APIC_ID_MASK 4,59 -static inline unsigned get_apic_id(6,110 -#define GET_APIC_ID(GET_APIC_ID10,199 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/cobalt.h,1727 -#define __I386_SGI_COBALT_H2,28 -#define CO_CPU_NUM_PHYS 10,136 -#define CO_CPU_TAB_PHYS 11,167 -#define CO_CPU_MAX 13,214 -#define CO_CPU_PHYS 15,236 -#define CO_APIC_PHYS 16,268 -#define CO_CPU_VADDR 19,342 -#define CO_APIC_VADDR 20,390 -#define CO_CPU_REV 23,512 -#define CO_CPU_CTRL 24,537 -#define CO_CPU_STAT 25,563 -#define CO_CPU_TIMEVAL 26,589 -#define CO_CTRL_TIMERUN 29,642 -#define CO_CTRL_TIMEMASK 30,693 -#define CO_STAT_TIMEINTR 33,770 -#define CO_TIME_HZ 36,868 -#define CO_APIC_HI(CO_APIC_HI39,996 -#define CO_APIC_LO(CO_APIC_LO40,1038 -#define CO_APIC_ID 41,1074 -#define CO_APIC_ENABLE 44,1124 -#define CO_APIC_MASK 47,1182 -#define CO_APIC_LEVEL 48,1233 -#define CO_APIC_IDE0 54,1407 -#define CO_APIC_IDE1 55,1431 -#define CO_APIC_8259 57,1475 -#define CO_APIC_PCIA_BASE0 60,1592 -#define CO_APIC_PCIA_BASE123 61,1654 -#define CO_APIC_PIIX4_USB 63,1719 -#define CO_APIC_PCIB_BASE0 66,1824 -#define CO_APIC_PCIB_BASE123 67,1888 -#define CO_APIC_VIDOUT0 69,1954 -#define CO_APIC_VIDOUT1 70,1982 -#define CO_APIC_VIDIN0 71,2010 -#define CO_APIC_VIDIN1 72,2037 -#define CO_APIC_LI_AUDIO 74,2065 -#define CO_APIC_AS 76,2094 -#define CO_APIC_RE 77,2117 -#define CO_APIC_CPU 79,2141 -#define CO_APIC_NMI 80,2198 -#define CO_APIC_LAST 81,2222 -#define CO_IRQ_APIC0 88,2471 -#define IS_CO_APIC(IS_CO_APIC89,2523 -#define CO_IRQ(CO_IRQ90,2571 -#define CO_APIC(CO_APIC91,2638 -#define CO_IRQ_IDE0 92,2704 -#define CO_IRQ_IDE1 93,2751 -#define CO_IRQ_8259 94,2807 -extern __inline void co_cpu_write(97,2878 -extern __inline unsigned long co_cpu_read(102,3005 -extern __inline void co_apic_write(107,3153 -extern __inline unsigned long co_apic_read(112,3307 -#define VISWS_320 120,3470 -#define VISWS_540 121,3490 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-visws/entry_arch.h,23 -BUILD_INTERRUPT(7,194 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/resource.h,494 -#define _I386_RESOURCE_H2,25 -#define RLIMIT_CPU 8,78 -#define RLIMIT_FSIZE 9,121 -#define RLIMIT_DATA 10,168 -#define RLIMIT_STACK 11,211 -#define RLIMIT_CORE 12,256 -#define RLIMIT_RSS 13,304 -#define RLIMIT_NPROC 14,354 -#define RLIMIT_NOFILE 15,408 -#define RLIMIT_MEMLOCK 16,464 -#define RLIMIT_AS 17,531 -#define RLIMIT_LOCKS 18,578 -#define RLIMIT_SIGPENDING 19,633 -#define RLIMIT_MSGQUEUE 20,699 -#define RLIM_NLIMITS 22,765 -#define RLIM_INFINITY 29,878 -#define INIT_RLIMITS 33,927 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pgtable-3level-defs.h,180 -#define _I386_PGTABLE_3LEVEL_DEFS_H2,36 -#define PGDIR_SHIFT 7,148 -#define PTRS_PER_PGD 8,171 -#define PMD_SHIFT 14,284 -#define PTRS_PER_PMD 15,305 -#define PTRS_PER_PTE 20,374 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/local.h,962 -#define _ARCH_I386_LOCAL_H2,27 -} local_t;local_t9,132 -#define LOCAL_INIT(LOCAL_INIT11,144 -#define local_read(local_read13,175 -#define local_set(local_set14,212 -static __inline__ void local_inc(16,259 -static __inline__ void local_dec(24,387 -static __inline__ void local_add(32,515 -static __inline__ void local_sub(40,673 -#define __local_inc(__local_inc49,891 -#define __local_dec(__local_dec50,928 -#define __local_add(__local_add51,965 -#define __local_sub(__local_sub52,1009 -#define cpu_local_read(cpu_local_read58,1229 -#define cpu_local_set(cpu_local_set59,1285 -#define cpu_local_inc(cpu_local_inc60,1347 -#define cpu_local_dec(cpu_local_dec61,1401 -#define cpu_local_add(cpu_local_add62,1455 -#define cpu_local_sub(cpu_local_sub63,1517 -#define __cpu_local_inc(__cpu_local_inc65,1580 -#define __cpu_local_dec(__cpu_local_dec66,1624 -#define __cpu_local_add(__cpu_local_add67,1668 -#define __cpu_local_sub(__cpu_local_sub68,1722 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/boot.h,215 -#define _LINUX_BOOT_H2,22 -#define DEF_INITSEG 5,112 -#define DEF_SYSSEG 6,139 -#define DEF_SETUPSEG 7,165 -#define DEF_SYSSIZE 8,193 -#define NORMAL_VGA 11,259 -#define EXTENDED_VGA 12,303 -#define ASK_VGA 13,349 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ioctl.h,1048 -#define _ASMI386_IOCTL_H7,135 -#define _IOC_NRBITS 27,1010 -#define _IOC_TYPEBITS 28,1032 -#define _IOC_SIZEBITS 29,1056 -#define _IOC_DIRBITS 30,1081 -#define _IOC_NRMASK 32,1105 -#define _IOC_TYPEMASK 33,1148 -#define _IOC_SIZEMASK 34,1195 -#define _IOC_DIRMASK 35,1242 -#define _IOC_NRSHIFT 37,1288 -#define _IOC_TYPESHIFT 38,1311 -#define _IOC_SIZESHIFT 39,1361 -#define _IOC_DIRSHIFT 40,1415 -#define _IOC_NONE 45,1495 -#define _IOC_WRITE 46,1516 -#define _IOC_READ 47,1538 -#define _IOC(_IOC49,1560 -#define _IOC_TYPECHECK(_IOC_TYPECHECK57,1835 -#define _IO(_IO63,2016 -#define _IOR(_IOR64,2068 -#define _IOW(_IOW65,2146 -#define _IOWR(_IOWR66,2225 -#define _IOR_BAD(_IOR_BAD67,2315 -#define _IOW_BAD(_IOW_BAD68,2387 -#define _IOWR_BAD(_IOWR_BAD69,2460 -#define _IOC_DIR(_IOC_DIR72,2582 -#define _IOC_TYPE(_IOC_TYPE73,2645 -#define _IOC_NR(_IOC_NR74,2711 -#define _IOC_SIZE(_IOC_SIZE75,2771 -#define IOC_IN 79,2883 -#define IOC_OUT 80,2929 -#define IOC_INOUT 81,2975 -#define IOCSIZE_MASK 82,3035 -#define IOCSIZE_SHIFT 83,3090 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/voyager.h,7061 -#define VDEBUG(VDEBUG11,213 -#define VDEBUG(VDEBUG13,246 -#define VOYAGER_LEVEL5_AND_ABOVE 19,456 -#define VOYAGER_LEVEL4 20,496 -#define VOYAGER_DINO 23,552 -#define VOYAGER_MC_SETUP 26,623 -#define VOYAGER_CAT_CONFIG_PORT 29,655 -# define VOYAGER_CAT_DESELECT 30,694 -#define VOYAGER_SSPB_RELOCATION_PORT 31,730 -#define VOYAGER_CAT_IRCYC 35,849 -#define VOYAGER_CAT_DRCYC 37,914 -#define VOYAGER_CAT_RUN 39,975 -#define VOYAGER_CAT_END 41,1027 -#define VOYAGER_CAT_HOLD 43,1084 -#define VOYAGER_CAT_STEP 45,1153 -#define VOYAGER_CAT_CLEMSON 47,1229 -#define VOYAGER_CAT_HEADER 50,1302 -#define VOYAGER_MIN_MODULE 53,1394 -#define VOYAGER_MAX_MODULE 54,1428 -#define VOYAGER_ASIC_ID_REG 57,1500 -#define VOYAGER_ASIC_TYPE_REG 58,1535 -#define VOYAGER_AUTO_INC_REG 60,1643 -# define VOYAGER_AUTO_INC 61,1679 -# define VOYAGER_NO_AUTO_INC 62,1712 -#define VOYAGER_SUBADDRDATA 63,1747 -#define VOYAGER_SCANPATH 64,1782 -# define VOYAGER_CONNECT_ASIC 65,1814 -# define VOYAGER_DISCONNECT_ASIC 66,1850 -#define VOYAGER_SUBADDRLO 67,1889 -#define VOYAGER_SUBADDRHI 68,1922 -#define VOYAGER_SUBMODSELECT 69,1955 -#define VOYAGER_SUBMODPRESENT 70,1991 -#define VOYAGER_SUBADDR_LO 72,2029 -#define VOYAGER_SUBADDR_HI 73,2063 -#define VOYAGER_MAX_SCAN_PATH 76,2167 -#define VOYAGER_MAX_REG_SIZE 78,2257 -#define VOYAGER_MAX_MODULES 81,2353 -#define VOYAGER_MAX_ASICS_PER_MODULE 83,2427 -#define VOYAGER_CAT_ID 86,2526 -#define VOYAGER_PSI 87,2554 -#define VOYAGER_READ_CONFIG 90,2634 -#define VOYAGER_WRITE_CONFIG 91,2668 -#define VOYAGER_BYPASS 92,2703 -typedef struct voyager_asic voyager_asic94,2735 -} voyager_asic_t;voyager_asic_t105,3202 -typedef struct voyager_module voyager_module107,3221 -} voyager_module_t;voyager_module_t118,3815 -typedef struct voyager_eeprom_hdr voyager_eeprom_hdr120,3836 -} voyager_eprom_hdr_t;voyager_eprom_hdr_t147,5389 -#define VOYAGER_EPROM_SIZE_OFFSET 151,5415 -#define VOYAGER_XSUM_END_OFFSET 152,5501 -typedef struct voyager_sp_table voyager_sp_table157,5684 -} voyager_sp_table_t;voyager_sp_table_t162,5900 -typedef struct voyager_jtag_table voyager_jtag_table164,5923 -} voyager_jtt_t;voyager_jtt_t170,6167 -typedef struct voyager_asic_data_table voyager_asic_data_table172,6185 -} voyager_at_t;voyager_at_t181,6572 -#define VOYAGER_WCBIC0 188,6790 -#define VOYAGER_WCBIC1 189,6851 -#define VOYAGER_WCBIC2 190,6912 -#define VOYAGER_WCBIC3 191,6973 -#define VOYAGER_WCBIC4 192,7034 -#define VOYAGER_WCBIC5 193,7095 -#define VOYAGER_WCBIC6 194,7156 -#define VOYAGER_WCBIC7 195,7217 -#define VOYAGER_WCBIC_TOM_L 199,7310 -#define VOYAGER_WCBIC_TOM_H 200,7342 -#define VOYAGER_VMC1 204,7472 -#define VOYAGER_VMC2 205,7499 -#define VOYAGER_VMC3 206,7526 -#define VOYAGER_VMC4 207,7553 -#define VOYAGER_VMC_MEMORY_SETUP 210,7597 -# define VMC_Interleaving 211,7634 -# define VMC_4Way 212,7666 -# define VMC_EvenCacheLines 213,7691 -# define VMC_HighLine 214,7724 -# define VMC_Start0_Enable 215,7752 -# define VMC_Start1_Enable 216,7784 -# define VMC_Vremap 217,7816 -#define VOYAGER_VMC_BANK_DENSITY 218,7842 -# define VMC_BANK_EMPTY 219,7879 -# define VMC_BANK_4MB 220,7906 -# define VMC_BANK_16MB 221,7931 -# define VMC_BANK_64MB 222,7957 -# define VMC_BANK0_MASK 223,7983 -# define VMC_BANK1_MASK 224,8013 -# define VMC_BANK2_MASK 225,8043 -# define VMC_BANK3_MASK 226,8073 -#define VOYAGER_MMC_ASIC_ID 229,8167 -#define VOYAGER_MMC_MEMORY0_MODULE 231,8271 -#define VOYAGER_MMC_MEMORY1_MODULE 232,8311 -#define VOYAGER_MMA_ASIC_ID 234,8399 -#define VOYAGER_QUAD_BASEBOARD 237,8477 -#define VOYAGER_QUAD_QDATA0 240,8554 -#define VOYAGER_QUAD_QDATA1 241,8585 -#define VOYAGER_QUAD_QABC 242,8616 -#define VOYAGER_PROCESSOR_PRESENT_MASK 245,8682 -#define VOYAGER_MEMORY_CLICKMAP 246,8727 -#define VOYAGER_DUMP_LOCATION 247,8766 -#define VOYAGER_SUS_IN_CONTROL_PORT 251,8892 -# define VOYAGER_IN_CONTROL_FLAG 252,8934 -#define VOYAGER_PSI_STATUS_REG 255,8999 -# define PSI_DC_FAIL 256,9036 -# define PSI_MON 257,9063 -# define PSI_FAULT 258,9087 -# define PSI_ALARM 259,9112 -# define PSI_CURRENT 260,9137 -# define PSI_DVM 261,9164 -# define PSI_PSCFAULT 262,9188 -# define PSI_STAT_CHG 263,9216 -#define VOYAGER_PSI_SUPPLY_REG 265,9245 -# define PSI_FAIL_DC 267,9296 -# define PSI_FAIL_AC 268,9323 -# define PSI_MON_INT 269,9350 -# define PSI_SWITCH_OFF 270,9377 -# define PSI_HX_OFF 271,9407 -# define PSI_SECURITY 272,9433 -# define PSI_CMOS_BATT_LOW 273,9461 -# define PSI_CMOS_BATT_FAIL 274,9493 -# define PSI_CLR_SWITCH_OFF 276,9539 -# define PSI_CLR_HX_OFF 277,9572 -# define PSI_CLR_CMOS_BATT_FAIL 278,9602 -#define VOYAGER_PSI_MASK 280,9640 -# define PSI_MASK_MASK 281,9673 -#define VOYAGER_PSI_AC_FAIL_REG 283,9703 -#define AC_FAIL_STAT_CHANGE 284,9743 -#define VOYAGER_PSI_GENERAL_REG 286,9778 -# define PSI_SWITCH_ON 288,9830 -# define PSI_SWITCH_ENABLED 289,9859 -# define PSI_ALARM_ENABLED 290,9892 -# define PSI_SECURE_ENABLED 291,9924 -# define PSI_COLD_RESET 292,9957 -# define PSI_COLD_START 293,9987 -# define PSI_POWER_DOWN 295,10030 -# define PSI_SWITCH_DISABLE 296,10060 -# define PSI_SWITCH_ENABLE 297,10093 -# define PSI_CLEAR 298,10125 -# define PSI_ALARM_DISABLE 299,10150 -# define PSI_ALARM_ENABLE 300,10182 -# define PSI_CLEAR_COLD_RESET 301,10214 -# define PSI_SET_COLD_RESET 302,10249 -# define PSI_CLEAR_COLD_START 303,10282 -# define PSI_SET_COLD_START 304,10317 -struct voyager_bios_info voyager_bios_info308,10353 -#define NUMBER_OF_MC_BUSSES 322,10649 -#define SLOTS_PER_MC_BUS 323,10679 -#define MAX_CPUS 324,10706 -#define MAX_PROCESSOR_BOARDS 325,10770 -#define MAX_CACHE_LEVELS 326,10831 -#define MAX_SHARED_CPUS 327,10892 -#define NUMBER_OF_POS_REGS 328,10957 -} MC_SlotInformation_t;MC_SlotInformation_t333,11105 -struct QuadDescription QuadDescription335,11130 -struct ProcBoardInfo ProcBoardInfo345,11563 -struct CacheDescription CacheDescription352,11805 -struct CPU_Description CPU_Description364,12213 -struct CPU_Info CPU_Info371,12465 -} Voyager_KernelSUS_Mbox_t;Voyager_KernelSUS_Mbox_t399,13918 -struct voyager_qic_cpi voyager_qic_cpi402,14021 -struct voyager_status voyager_status413,14270 -struct voyager_psi_regs voyager_psi_regs419,14370 -struct voyager_psi_subregs voyager_psi_subregs438,14640 -struct voyager_psi voyager_psi449,14786 -struct voyager_SUS voyager_SUS454,14879 -#define VOYAGER_DUMP_BUTTON_NMI 455,14900 -#define VOYAGER_SUS_VALID 456,14937 -#define VOYAGER_SYSINT_COMPLETE 457,14968 -#define VOYAGER_NO_COMMAND 459,15021 -#define VOYAGER_IGNORE_DUMP 460,15053 -#define VOYAGER_DO_DUMP 461,15086 -#define VOYAGER_SYSINT_HANDSHAKE 462,15116 -#define VOYAGER_DO_MEM_DUMP 463,15153 -#define VOYAGER_SYSINT_WAS_RECOVERED 464,15186 -#define VOYAGER_MAILBOX_VERSION 466,15246 -#define VOYAGER_OS_HAS_SYSINT 469,15325 -#define VOYAGER_OS_IN_PROGRESS 470,15360 -#define VOYAGER_UPDATING_WDPERIOD 471,15396 -#define VOYAGER_SUS_BOOTING 473,15455 -#define VOYAGER_SUS_IN_PROGRESS 474,15488 -#define VOYAGER_PSI_READ 517,17032 -#define VOYAGER_PSI_WRITE 518,17059 -#define VOYAGER_PSI_SUBREAD 519,17087 -#define VOYAGER_PSI_SUBWRITE 520,17117 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/debugreg.h,817 -#define _I386_DEBUGREG_H2,25 -#define DR_FIRSTADDR 7,193 -#define DR_LASTADDR 8,254 -#define DR_STATUS 10,316 -#define DR_CONTROL 11,378 -#define DR_TRAP0 17,643 -#define DR_TRAP1 18,677 -#define DR_TRAP2 19,711 -#define DR_TRAP3 20,745 -#define DR_STEP 22,780 -#define DR_SWITCH 23,824 -#define DR_CONTROL_SHIFT 31,1192 -#define DR_CONTROL_SIZE 32,1262 -#define DR_RW_EXECUTE 34,1325 -#define DR_RW_WRITE 35,1402 -#define DR_RW_READ 36,1428 -#define DR_LEN_1 38,1454 -#define DR_LEN_2 39,1519 -#define DR_LEN_4 40,1542 -#define DR_LOCAL_ENABLE_SHIFT 49,1960 -#define DR_GLOBAL_ENABLE_SHIFT 50,2037 -#define DR_ENABLE_SIZE 51,2115 -#define DR_LOCAL_ENABLE_MASK 53,2184 -#define DR_GLOBAL_ENABLE_MASK 54,2258 -#define DR_CONTROL_RESERVED 60,2551 -#define DR_LOCAL_SLOWDOWN 61,2612 -#define DR_GLOBAL_SLOWDOWN 62,2678 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/kexec.h,199 -#define _I386_KEXEC_H2,22 -#define KEXEC_SOURCE_MEMORY_LIMIT 17,458 -#define KEXEC_DESTINATION_MEMORY_LIMIT 19,559 -#define KEXEC_CONTROL_MEMORY_LIMIT 21,666 -#define KEXEC_CONTROL_CODE_SIZE 23,712 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/module.h,1155 -#define _ASM_I386_MODULE_H2,27 -struct mod_arch_specificmod_arch_specific5,75 -#define MODULES_ARE_ELF329,106 -#define Elf_Shdr 10,132 -#define Elf_Sym 11,160 -#define Elf_Ehdr 12,186 -#define Elf_Rel 13,214 -#define Elf_Rela 14,240 -#define ELF_R_TYPE(ELF_R_TYPE15,268 -#define ELF_R_SYM(ELF_R_SYM16,306 -#define MODULE_PROC_FAMILY 19,362 -#define MODULE_PROC_FAMILY 21,422 -#define MODULE_PROC_FAMILY 23,482 -#define MODULE_PROC_FAMILY 25,545 -#define MODULE_PROC_FAMILY 27,611 -#define MODULE_PROC_FAMILY 29,674 -#define MODULE_PROC_FAMILY 31,740 -#define MODULE_PROC_FAMILY 33,813 -#define MODULE_PROC_FAMILY 35,885 -#define MODULE_PROC_FAMILY 37,955 -#define MODULE_PROC_FAMILY 39,1019 -#define MODULE_PROC_FAMILY 41,1077 -#define MODULE_PROC_FAMILY 43,1135 -#define MODULE_PROC_FAMILY 45,1198 -#define MODULE_PROC_FAMILY 47,1262 -#define MODULE_PROC_FAMILY 49,1331 -#define MODULE_PROC_FAMILY 51,1402 -#define MODULE_PROC_FAMILY 53,1473 -#define MODULE_PROC_FAMILY 55,1544 -#define MODULE_PROC_FAMILY 57,1613 -#define MODULE_REGPARM 63,1719 -#define MODULE_REGPARM 65,1759 -#define MODULE_STACKSIZE 68,1793 -#define MODULE_ARCH_VERMAGIC 70,1831 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/irq.h,177 -#define _ASM_IRQ_H2,19 -static __inline__ int irq_canonicalize(19,383 -#define ARCH_HAS_NMI_WATCHDOG 31,736 -union irq_ctx irq_ctx37,876 -#define __ARCH_HAS_DO_SOFTIRQ47,1110 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/fixmap.h,1707 -#define _ASM_FIXMAP_H14,367 -#define __FIXADDR_TOP 23,543 -enum fixed_addresses fixed_addresses53,1503 - FIX_HOLE,54,1526 - FIX_VSYSCALL,55,1537 - FIX_APIC_BASE,57,1581 - FIX_IO_APIC_BASE_0,60,1681 - FIX_IO_APIC_BASE_END 61,1702 - FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 61,1702 - FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-61,1702 - FIX_CO_CPU,64,1799 - FIX_CO_APIC,65,1831 - FIX_LI_PCIA,66,1882 - FIX_LI_PCIB,67,1923 - FIX_F00F_IDT,70,1998 - FIX_CYCLONE_TIMER,73,2082 - FIX_KMAP_BEGIN,76,2159 - FIX_KMAP_END 77,2227 - FIX_KMAP_END = FIX_KMAP_BEGIN+77,2227 - FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*77,2227 - FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)77,2227 - FIX_ACPI_BEGIN,80,2313 - FIX_ACPI_END 81,2330 - FIX_ACPI_END = FIX_ACPI_BEGIN 81,2330 - FIX_ACPI_END = FIX_ACPI_BEGIN + FIX_ACPI_PAGES 81,2330 - FIX_PCIE_MCFG,84,2417 - __end_of_permanent_fixed_addresses,86,2440 -#define NR_FIX_BTMAPS 88,2550 - FIX_BTMAP_END 89,2575 - FIX_BTMAP_END = __end_of_permanent_fixed_addresses,89,2575 - FIX_BTMAP_BEGIN 90,2628 - FIX_BTMAP_BEGIN = FIX_BTMAP_END 90,2628 - FIX_BTMAP_BEGIN = FIX_BTMAP_END + NR_FIX_BTMAPS 90,2628 - FIX_WP_TEST,91,2682 - __end_of_fixed_addresses92,2696 -#define set_fixmap(set_fixmap98,2821 -#define set_fixmap_nocache(set_fixmap_nocache103,2956 -#define clear_fixmap(clear_fixmap106,3044 -#define FIXADDR_TOP 109,3109 -#define __FIXADDR_SIZE 111,3161 -#define FIXADDR_START 112,3235 -#define __fix_to_virt(__fix_to_virt114,3289 -#define __virt_to_fix(__virt_to_fix115,3350 -#define FIXADDR_USER_START 121,3543 -#define FIXADDR_USER_END 122,3600 -static __always_inline unsigned long fix_to_virt(132,3920 -static inline unsigned long virt_to_fix(149,4430 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-generic/mach_apic.h,838 -#define __ASM_MACH_APIC_H2,26 -#define esr_disable 6,79 -#define NO_BALANCE_IRQ 7,122 -#define NO_IOAPIC_CHECK 8,171 -#define INT_DELIVERY_MODE 9,222 -#define INT_DEST_MODE 10,277 -#define APIC_DEST_LOGICAL 12,349 -#define TARGET_CPUS 13,411 -#define apic_id_registered 14,458 -#define init_apic_ldr 15,515 -#define ioapic_phys_id_map 16,562 -#define clustered_apic_check 17,619 -#define multi_timer_check 18,681 -#define apicid_to_node 19,736 -#define cpu_to_logical_apicid 20,785 -#define cpu_present_to_apicid 21,849 -#define apicid_to_cpu_present 22,912 -#define mpc_apic_id 23,975 -#define setup_portio_remap 24,1019 -#define check_apicid_present 25,1076 -#define check_phys_apicid_present 26,1137 -#define check_apicid_used 27,1208 -#define cpu_mask_to_apicid 28,1263 -#define enable_apic_mode 29,1320 -#define phys_pkg_id 30,1373 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-generic/irq_vectors_limits.h,94 -#define _ASM_IRQ_VECTORS_LIMITS_H2,34 -#define NR_IRQS 11,315 -#define NR_IRQ_VECTORS 12,335 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-generic/mach_mpparse.h,92 -#define _MACH_MPPARSE_H 2,24 -#define mpc_oem_bus_info 6,77 -#define mpc_oem_pci_bus 7,130 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-generic/mach_mpspec.h,92 -#define __ASM_MACH_MPSPEC_H2,28 -#define MAX_IRQ_SOURCES 4,57 -#define MAX_MP_BUSSES 8,229 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-generic/mach_ipi.h,117 -#define _MACH_IPI_H 2,20 -#define send_IPI_mask 6,69 -#define send_IPI_allbutself 7,116 -#define send_IPI_all 8,175 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-generic/mach_apicdef.h,93 -#define _GENAPIC_MACH_APICDEF_H 2,32 -#define GET_APIC_ID 7,117 -#define APIC_ID_MASK 8,160 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mtrr.h,954 -#define _LINUX_MTRR_H24,1025 -#define MTRR_IOCTL_BASE 29,1100 -struct mtrr_sentrymtrr_sentry31,1129 -struct mtrr_gentrymtrr_gentry38,1306 -#define MTRRIOC_ADD_ENTRY 47,1571 -#define MTRRIOC_SET_ENTRY 48,1650 -#define MTRRIOC_DEL_ENTRY 49,1729 -#define MTRRIOC_GET_ENTRY 50,1808 -#define MTRRIOC_KILL_ENTRY 51,1887 -#define MTRRIOC_ADD_PAGE_ENTRY 52,1966 -#define MTRRIOC_SET_PAGE_ENTRY 53,2045 -#define MTRRIOC_DEL_PAGE_ENTRY 54,2124 -#define MTRRIOC_GET_PAGE_ENTRY 55,2203 -#define MTRRIOC_KILL_PAGE_ENTRY 56,2282 -#define MTRR_TYPE_UNCACHABLE 59,2397 -#define MTRR_TYPE_WRCOMB 60,2428 -#define MTRR_TYPE_WRTHROUGH 63,2525 -#define MTRR_TYPE_WRPROT 64,2556 -#define MTRR_TYPE_WRBACK 65,2587 -#define MTRR_NUM_TYPES 66,2618 -static __inline__ int mtrr_add 80,3180 -static __inline__ int mtrr_add_page 85,3315 -static __inline__ int mtrr_del 90,3455 -static __inline__ int mtrr_del_page 95,3564 -static __inline__ void mtrr_centaur_report_mcr(101,3679 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/scatterlist.h,188 -#define _I386_SCATTERLIST_H2,28 -struct scatterlist scatterlist4,57 -#define sg_dma_address(sg_dma_address16,404 -#define sg_dma_len(sg_dma_len17,451 -#define ISA_DMA_THRESHOLD 19,491 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/sockios.h,187 -#define __ARCH_I386_SOCKIOS__2,30 -#define FIOSETOWN 5,99 -#define SIOCSPGRP 6,125 -#define FIOGETOWN 7,150 -#define SIOCGPGRP 8,175 -#define SIOCATMARK 9,200 -#define SIOCGSTAMP 10,226 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/genapic.h,132 -#define _ASM_GENAPIC_H 2,23 -struct genapic genapic20,421 -#define APICFUNC(APICFUNC73,2217 -#define APIC_INIT(APIC_INIT75,2245 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/rwsem.h,909 -#define _I386_RWSEM_H33,1368 -struct rw_semaphore rw_semaphore54,1966 -#define RWSEM_UNLOCKED_VALUE 56,2009 -#define RWSEM_ACTIVE_BIAS 57,2050 -#define RWSEM_ACTIVE_MASK 58,2088 -#define RWSEM_WAITING_BIAS 59,2126 -#define RWSEM_ACTIVE_READ_BIAS 60,2168 -#define RWSEM_ACTIVE_WRITE_BIAS 61,2218 -#define __RWSEM_DEBUG_INIT 73,2427 -#define __RWSEM_DEBUG_INIT 75,2469 -#define __RWSEM_INITIALIZER(__RWSEM_INITIALIZER78,2510 -#define DECLARE_RWSEM(DECLARE_RWSEM82,2648 -static inline void init_rwsem(85,2733 -static inline void __down_read(98,2965 -static inline int __down_read_trylock(123,3635 -static inline void __down_write(146,4159 -static inline int __down_write_trylock(173,4913 -static inline void __up_read(186,5172 -static inline void __up_write(212,5895 -static inline void __downgrade_write(238,6662 -static inline void rwsem_atomic_add(263,7350 -static inline int rwsem_atomic_update(274,7583 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/string.h,1754 -#define _I386_STRING_H_2,24 -#define __HAVE_ARCH_STRCPY30,1000 -static inline char * strcpy(31,1027 -#define __HAVE_ARCH_STRNCPY44,1277 -static inline char * strncpy(45,1305 -#define __HAVE_ARCH_STRCAT63,1657 -static inline char * strcat(64,1684 -#define __HAVE_ARCH_STRNCAT80,2018 -static inline char * strncat(81,2046 -#define __HAVE_ARCH_STRCMP103,2486 -static inline int strcmp(104,2513 -#define __HAVE_ARCH_STRNCMP124,2879 -static inline int strncmp(125,2907 -#define __HAVE_ARCH_STRCHR147,3351 -static inline char * strchr(148,3378 -#define __HAVE_ARCH_STRRCHR166,3706 -static inline char * strrchr(167,3734 -#define __HAVE_ARCH_STRLEN185,4069 -static inline size_t strlen(186,4096 -static inline void * __memcpy(199,4326 -static inline void * __constant_memcpy(221,4783 -#define COMMON(COMMON226,4920 -#define __HAVE_ARCH_MEMCPY246,5320 -static inline void * __constant_memcpy3d(256,5458 -static __inline__ void *__memcpy3d(263,5641 -#define memcpy(memcpy270,5807 -#define memcpy(memcpy281,5957 -#define __HAVE_ARCH_MEMMOVE288,6081 -#define memcmp 291,6165 -#define __HAVE_ARCH_MEMCHR293,6198 -static inline void * memchr(294,6225 -static inline void * __memset_generic(310,6517 -#define __constant_count_memset(__constant_count_memset323,6787 -static inline void * __constant_c_memset(330,7038 -#define __HAVE_ARCH_STRNLEN349,7453 -static inline size_t strnlen(350,7481 -#define __HAVE_ARCH_STRSTR370,7838 -static inline void * __constant_c_and_count_memset(378,8061 -#define COMMON(COMMON397,8473 -#define __constant_c_x_memset(__constant_c_x_memset417,8856 -#define __memset(__memset422,9026 -#define __HAVE_ARCH_MEMSET427,9174 -#define memset(memset428,9201 -#define __HAVE_ARCH_MEMSCAN436,9439 -static inline void * memscan(437,9467 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-bigsmp/mach_apic.h,1426 -#define __ASM_MACH_APIC_H2,26 -#define SEQUENTIAL_APICID5,74 -#define xapic_phys_to_log_apicid(xapic_phys_to_log_apicid7,125 -#define xapic_phys_to_log_apicid(xapic_phys_to_log_apicid10,256 -#define NO_BALANCE_IRQ 14,369 -#define esr_disable 15,396 -#define NO_IOAPIC_CHECK 17,421 -static inline int apic_id_registered(19,450 -#define APIC_DFR_VALUE 24,511 -static inline cpumask_t target_cpus(26,603 -#define TARGET_CPUS 37,854 -#define INT_DELIVERY_MODE 39,891 -#define INT_DEST_MODE 40,928 -static inline unsigned long check_apicid_used(42,1003 -static inline unsigned long check_apicid_present(48,1171 -#define apicid_cluster(apicid_cluster53,1246 -static inline unsigned long calculate_ldr(55,1294 -static inline void init_apic_ldr(69,1712 -static inline void clustered_apic_check(79,1930 -static inline int multi_timer_check(85,2065 -static inline int apicid_to_node(90,2136 -static inline int cpu_present_to_apicid(97,2235 -static inline physid_mask_t apicid_to_cpu_present(105,2384 -static inline int cpu_to_logical_apicid(112,2582 -static inline int mpc_apic_id(119,2737 -static inline physid_mask_t ioapic_phys_id_map(130,3087 -#define WAKE_SECONDARY_VIA_INIT136,3263 -static inline void setup_portio_remap(138,3296 -static inline void enable_apic_mode(142,3345 -static inline int check_phys_apicid_present(146,3392 -static inline unsigned int cpu_mask_to_apicid(152,3556 -static inline u32 phys_pkg_id(162,3732 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-bigsmp/mach_mpspec.h,91 -#define __ASM_MACH_MPSPEC_H2,28 -#define MAX_IRQ_SOURCES 4,57 -#define MAX_MP_BUSSES 6,86 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-bigsmp/mach_ipi.h,157 -#define __ASM_MACH_IPI_H2,25 -static inline void send_IPI_mask(6,109 -static inline void send_IPI_allbutself(11,214 -static inline void send_IPI_all(20,398 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-bigsmp/mach_apicdef.h,144 -#define __ASM_MACH_APICDEF_H2,29 -#define APIC_ID_MASK 4,59 -static inline unsigned get_apic_id(6,94 -#define GET_APIC_ID(GET_APIC_ID11,180 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/vm86.h,1314 -#define _LINUX_VM86_H2,22 -#define TF_MASK 15,369 -#define IF_MASK 16,397 -#define IOPL_MASK 17,425 -#define NT_MASK 18,454 -#define VM_MASK 19,482 -#define AC_MASK 20,510 -#define VIF_MASK 21,538 -#define VIP_MASK 22,595 -#define ID_MASK 23,655 -#define BIOSSEG 25,684 -#define CPU_086 27,710 -#define CPU_186 28,729 -#define CPU_286 29,748 -#define CPU_386 30,767 -#define CPU_486 31,786 -#define CPU_586 32,805 -#define VM86_TYPE(VM86_TYPE37,878 -#define VM86_ARG(VM86_ARG38,922 -#define VM86_SIGNAL 40,964 -#define VM86_UNKNOWN 41,1013 -#define VM86_INTx 42,1089 -#define VM86_STI 43,1148 -#define VM86_PICRETURN 48,1287 -#define VM86_TRAP 49,1352 -#define VM86_PLUS_INSTALL_CHECK 54,1464 -#define VM86_ENTER 55,1498 -#define VM86_ENTER_NO_BYPASS 56,1520 -#define VM86_REQUEST_IRQ 57,1551 -#define VM86_FREE_IRQ 58,1578 -#define VM86_GET_IRQ_BITS 59,1603 -#define VM86_GET_AND_RESET_IRQ 60,1631 -struct vm86_regs vm86_regs68,1858 -struct revectored_struct revectored_struct98,2356 -struct vm86_struct vm86_struct102,2429 -#define VM86_SCREEN_BITMAP 114,2663 -struct vm86plus_info_struct vm86plus_info_struct116,2698 -struct vm86plus_struct vm86plus_struct125,3034 -struct kernel_vm86_regs kernel_vm86_regs145,3731 -struct kernel_vm86_struct kernel_vm86_struct173,4202 -#define VM86_TSS_ESP0 183,4691 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/nmi.h,75 -#define ASM_NMI_H5,58 -typedef int (*nmi_callback_t)nmi_callback_t11,119 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/uaccess.h,1514 -#define __i386_UACCESS_H2,25 -#define VERIFY_READ 14,255 -#define VERIFY_WRITE 15,277 -#define MAKE_MM_SEG(MAKE_MM_SEG25,568 -#define KERNEL_DS 28,618 -#define USER_DS 29,662 -#define get_ds(get_ds31,705 -#define get_fs(get_fs32,734 -#define set_fs(set_fs33,787 -#define segment_eq(segment_eq35,848 -extern struct movsl_mask movsl_mask41,1004 -} ____cacheline_aligned_in_smp movsl_mask;43,1042 -#define __addr_ok(__addr_ok46,1093 -#define __range_ok(__range_ok57,1479 -#define access_ok(access_ok84,2550 -static inline int verify_area(103,3137 -struct exception_table_entryexception_table_entry122,3838 -#define __get_user_x(__get_user_x148,4720 -#define get_user(get_user172,5550 -#define put_user(put_user203,6584 -#define __get_user(__get_user227,7406 -#define __put_user(__put_user250,8150 -#define __put_user_nocheck(__put_user_nocheck253,8246 -#define __put_user_check(__put_user_check261,8403 -#define __put_user_u64(__put_user_u64271,8704 -#define __put_user_size(__put_user_size290,9176 -#define __put_user_size(__put_user_size305,9656 -struct __large_struct __large_struct315,9905 -#define __m(__m316,9956 -#define __put_user_asm(__put_user_asm323,10165 -#define __get_user_nocheck(__get_user_nocheck339,10602 -#define __get_user_size(__get_user_size349,10846 -#define __get_user_asm(__get_user_asm361,11254 -__copy_to_user_inatomic(405,12753 -__copy_to_user(426,13253 -__copy_from_user_inatomic(450,14050 -__copy_from_user(471,14500 -#define strlen_user(strlen_user499,15456 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/elf.h,1829 -#define __ASMi386_ELF_H2,24 -#define R_386_NONE 16,258 -#define R_386_32 17,279 -#define R_386_PC32 18,298 -#define R_386_GOT32 19,319 -#define R_386_PLT32 20,341 -#define R_386_COPY 21,363 -#define R_386_GLOB_DAT 22,384 -#define R_386_JMP_SLOT 23,409 -#define R_386_RELATIVE 24,434 -#define R_386_GOTOFF 25,459 -#define R_386_GOTPC 26,482 -#define R_386_NUM 27,505 -typedef unsigned long elf_greg_t;elf_greg_t29,527 -#define ELF_NGREG 31,562 -typedef elf_greg_t elf_gregset_t[elf_gregset_t32,636 -typedef struct user_i387_struct elf_fpregset_t;elf_fpregset_t34,682 -typedef struct user_fxsr_struct elf_fpxregset_t;elf_fpxregset_t35,730 -#define elf_check_arch(elf_check_arch40,865 -#define ELF_CLASS 46,1016 -#define ELF_DATA 47,1045 -#define ELF_ARCH 48,1074 -#define ELF_PLAT_INIT(ELF_PLAT_INIT60,1570 -#define USE_ELF_CORE_DUMP66,1727 -#define ELF_EXEC_PAGESIZE 67,1753 -#define ELF_ET_DYN_BASE 74,2093 -#define ELF_CORE_COPY_REGS(ELF_CORE_COPY_REGS79,2256 -#define ELF_HWCAP 102,3008 -#define ELF_PLATFORM 111,3349 -#define AT_SYSINFO 117,3520 -#define AT_SYSINFO_EHDR 118,3543 -#define SET_PERSONALITY(SET_PERSONALITY121,3590 -#define elf_read_implies_exec(elf_read_implies_exec127,3785 -#define ELF_CORE_COPY_TASK_REGS(ELF_CORE_COPY_TASK_REGS133,4082 -#define ELF_CORE_COPY_FPREGS(ELF_CORE_COPY_FPREGS134,4159 -#define ELF_CORE_COPY_XFPREGS(ELF_CORE_COPY_XFPREGS135,4236 -#define VSYSCALL_BASE 138,4357 -#define VSYSCALL_EHDR 139,4422 -#define VSYSCALL_OFFSET 140,4484 -#define VSYSCALL_ENTRY 141,4545 -#define __VSYSCALL_BASE 144,4641 -#define __VSYSCALL_EHDR 145,4695 -#define ARCH_DLINFO 147,4762 -#define ELF_CORE_EXTRA_PHDRS 163,5398 -#define ELF_CORE_WRITE_EXTRA_PHDRS 164,5455 -#define ELF_CORE_WRITE_EXTRA_DATA 186,6306 -#define __HAVE_ARCH_RANDOMIZE_BRK201,6812 -#define __HAVE_ARCH_VSYSCALL204,6897 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ldt.h,245 -#define _LINUX_LDT_H7,107 -#define LDT_ENTRIES 10,176 -#define LDT_ENTRY_SIZE 12,235 -struct user_desc user_desc15,282 -#define MODIFY_LDT_CONTENTS_DATA 27,563 -#define MODIFY_LDT_CONTENTS_STACK 28,598 -#define MODIFY_LDT_CONTENTS_CODE 29,634 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/serial.h,627 -#define BASE_BAUD 14,323 -#define STD_COM_FLAGS 18,463 -#define STD_COM4_FLAGS 19,542 -#define STD_COM_FLAGS 21,610 -#define STD_COM4_FLAGS 22,672 -#define FOURPORT_FLAGS 26,755 -#define ACCENT_FLAGS 27,793 -#define BOCA_FLAGS 28,816 -#define HUB6_FLAGS 29,837 -#define MCA_COM_FLAGS 32,866 -#define C_P(C_P48,1521 -#define STD_SERIAL_PORT_DEFNS 50,1573 -#define EXTRA_SERIAL_PORT_DEFNS 59,1920 -#define EXTRA_SERIAL_PORT_DEFNS89,3575 -#define HUB6_SERIAL_PORT_DFNS 96,3802 -#define HUB6_SERIAL_PORT_DFNS110,4643 -#define MCA_SERIAL_PORT_DFNS 114,4699 -#define MCA_SERIAL_PORT_DFNS122,5018 -#define SERIAL_PORT_DFNS 125,5055 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/delay.h,87 -#define _I386_DELAY_H2,22 -#define udelay(udelay18,398 -#define ndelay(ndelay22,530 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/processor.h,5770 -#define __ASM_I386_PROCESSOR_H8,111 -struct desc_struct desc_struct27,523 -#define desc_empty(desc_empty31,568 -#define desc_equal(desc_equal34,625 -#define current_text_addr(current_text_addr40,828 -struct cpuinfo_x86 cpuinfo_x8648,1092 -#define X86_VENDOR_INTEL 70,1767 -#define X86_VENDOR_CYRIX 71,1794 -#define X86_VENDOR_AMD 72,1821 -#define X86_VENDOR_UMC 73,1846 -#define X86_VENDOR_NEXGEN 74,1871 -#define X86_VENDOR_CENTAUR 75,1899 -#define X86_VENDOR_RISE 76,1928 -#define X86_VENDOR_TRANSMETA 77,1954 -#define X86_VENDOR_NSC 78,1985 -#define X86_VENDOR_NUM 79,2010 -#define X86_VENDOR_UNKNOWN 80,2035 -#define current_cpu_data 93,2326 -#define cpu_data 95,2386 -#define current_cpu_data 96,2420 -#define X86_EFLAGS_CF 109,2711 -#define X86_EFLAGS_PF 110,2761 -#define X86_EFLAGS_AF 111,2812 -#define X86_EFLAGS_ZF 112,2872 -#define X86_EFLAGS_SF 113,2921 -#define X86_EFLAGS_TF 114,2970 -#define X86_EFLAGS_IF 115,3019 -#define X86_EFLAGS_DF 116,3073 -#define X86_EFLAGS_OF 117,3127 -#define X86_EFLAGS_IOPL 118,3180 -#define X86_EFLAGS_NT 119,3231 -#define X86_EFLAGS_RF 120,3282 -#define X86_EFLAGS_VM 121,3333 -#define X86_EFLAGS_AC 122,3385 -#define X86_EFLAGS_VIF 123,3440 -#define X86_EFLAGS_VIP 124,3503 -#define X86_EFLAGS_ID 125,3569 -static inline void cpuid(130,3663 -static inline unsigned int cpuid_eax(143,3891 -static inline unsigned int cpuid_ebx(153,4050 -static inline unsigned int cpuid_ecx(163,4221 -static inline unsigned int cpuid_edx(173,4392 -#define load_cr3(load_cr3184,4563 -#define X86_CR4_VME 191,4678 -#define X86_CR4_PVI 192,4735 -#define X86_CR4_TSD 193,4800 -#define X86_CR4_DE 194,4862 -#define X86_CR4_PSE 195,4923 -#define X86_CR4_PAE 196,4985 -#define X86_CR4_MCE 197,5054 -#define X86_CR4_PGE 198,5109 -#define X86_CR4_PCE 199,5163 -#define X86_CR4_OSFXSR 200,5234 -#define X86_CR4_OSXMMEXCPT 201,5304 -static inline void set_in_cr4 211,5592 -static inline void clear_in_cr4 221,5780 -#define CX86_PCR0 235,6034 -#define CX86_GCR 236,6057 -#define CX86_CCR0 237,6080 -#define CX86_CCR1 238,6103 -#define CX86_CCR2 239,6126 -#define CX86_CCR3 240,6149 -#define CX86_CCR4 241,6172 -#define CX86_CCR5 242,6195 -#define CX86_CCR6 243,6218 -#define CX86_CCR7 244,6241 -#define CX86_PCR1 245,6264 -#define CX86_DIR0 246,6287 -#define CX86_DIR1 247,6310 -#define CX86_ARR_BASE 248,6333 -#define CX86_RCR_BASE 249,6360 -#define getCx86(getCx86255,6449 -#define setCx86(setCx86257,6507 -static inline void __monitor(267,6699 -static inline void __mwait(276,6902 -#define TASK_SIZE 294,7361 -#define TASK_UNMAPPED_BASE 299,7490 -#define __HAVE_ARCH_ALIGN_STACK301,7542 -#define HAVE_ARCH_PICK_MMAP_LAYOUT304,7632 -#define IO_BITMAP_BITS 309,7697 -#define IO_BITMAP_BYTES 310,7727 -#define IO_BITMAP_LONGS 311,7770 -#define IO_BITMAP_OFFSET 312,7825 -#define INVALID_IO_BITMAP_OFFSET 313,7888 -#define INVALID_IO_BITMAP_OFFSET_LAZY 314,7928 -struct i387_fsave_struct i387_fsave_struct316,7974 -struct i387_fxsave_struct i387_fxsave_struct328,8195 -struct i387_soft_struct i387_soft_struct344,8568 -union i387_union i387_union358,8849 -} mm_segment_t;mm_segment_t366,9008 -struct tss_struct tss_struct370,9048 -#define ARCH_MIN_TASKALIGN 416,10332 -struct thread_struct thread_struct418,10363 -#define INIT_THREAD 444,11113 -#define INIT_TSS 456,11474 -static inline void load_esp0(465,11743 -#define start_thread(start_thread475,12078 -#define THREAD_SIZE_LONGS 507,13070 -#define KSTK_TOP(KSTK_TOP508,13137 -#define task_pt_regs(task_pt_regs514,13433 -#define KSTK_EIP(KSTK_EIP521,13802 -#define KSTK_ESP(KSTK_ESP522,13851 -struct microcode_header microcode_header525,13902 -struct microcode microcode538,14149 -typedef struct microcode microcode_t;microcode_t543,14225 -typedef struct microcode_header microcode_header_t;microcode_header_t544,14263 -struct extended_signature extended_signature547,14376 -struct extended_sigtable extended_sigtable553,14466 -#define MICROCODE_IOCFREE 560,14680 -static inline void rep_nop(563,14788 -#define cpu_relax(cpu_relax568,14873 -#define GENERIC_NOP1 571,14936 -#define GENERIC_NOP2 572,14972 -#define GENERIC_NOP3 573,15017 -#define GENERIC_NOP4 574,15070 -#define GENERIC_NOP5 575,15128 -#define GENERIC_NOP6 576,15182 -#define GENERIC_NOP7 577,15243 -#define GENERIC_NOP8 578,15309 -#define K8_NOP1 581,15376 -#define K8_NOP2 582,15405 -#define K8_NOP3 583,15442 -#define K8_NOP4 584,15484 -#define K8_NOP5 585,15531 -#define K8_NOP6 586,15564 -#define K8_NOP7 587,15596 -#define K8_NOP8 588,15628 -#define K7_NOP1 592,15721 -#define K7_NOP2 593,15751 -#define K7_NOP3 594,15788 -#define K7_NOP4 595,15829 -#define K7_NOP5 596,15875 -#define K7_NOP6 597,15908 -#define K7_NOP7 598,15952 -#define K7_NOP8 599,16008 -#define ASM_NOP1 602,16067 -#define ASM_NOP2 603,16092 -#define ASM_NOP3 604,16117 -#define ASM_NOP4 605,16142 -#define ASM_NOP5 606,16167 -#define ASM_NOP6 607,16192 -#define ASM_NOP7 608,16217 -#define ASM_NOP8 609,16242 -#define ASM_NOP1 611,16293 -#define ASM_NOP2 612,16318 -#define ASM_NOP3 613,16343 -#define ASM_NOP4 614,16368 -#define ASM_NOP5 615,16393 -#define ASM_NOP6 616,16418 -#define ASM_NOP7 617,16443 -#define ASM_NOP8 618,16468 -#define ASM_NOP1 620,16499 -#define ASM_NOP2 621,16529 -#define ASM_NOP3 622,16559 -#define ASM_NOP4 623,16589 -#define ASM_NOP5 624,16619 -#define ASM_NOP6 625,16649 -#define ASM_NOP7 626,16679 -#define ASM_NOP8 627,16709 -#define ASM_NOP_MAX 630,16747 -#define ARCH_HAS_PREFETCH637,17033 -extern inline void prefetch(638,17059 -#define ARCH_HAS_PREFETCH646,17198 -#define ARCH_HAS_PREFETCHW647,17224 -#define ARCH_HAS_SPINLOCK_PREFETCH648,17251 -extern inline void prefetchw(652,17429 -#define spin_lock_prefetch(spin_lock_prefetch659,17568 -#define cache_line_size(cache_line_size663,17675 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/tlbflush.h,961 -#define _I386_TLBFLUSH_H2,25 -#define __flush_tlb(__flush_tlb8,127 -#define __flush_tlb_global(__flush_tlb_global23,515 -# define __flush_tlb_all(__flush_tlb_all40,994 -#define cpu_has_invlpg 48,1151 -#define __flush_tlb_single(__flush_tlb_single50,1199 -# define __flush_tlb_one(__flush_tlb_one54,1318 -# define __flush_tlb_one(__flush_tlb_one56,1380 -#define flush_tlb(flush_tlb82,2159 -#define flush_tlb_all(flush_tlb_all83,2193 -#define local_flush_tlb(local_flush_tlb84,2235 -static inline void flush_tlb_mm(86,2276 -static inline void flush_tlb_page(92,2383 -static inline void flush_tlb_range(99,2535 -#define local_flush_tlb(local_flush_tlb110,2729 -#define flush_tlb(flush_tlb118,2963 -static inline void flush_tlb_range(120,3009 -#define TLBSTATE_OK 125,3145 -#define TLBSTATE_LAZY 126,3167 -struct tlb_statetlb_state128,3192 -#define flush_tlb_kernel_range(flush_tlb_kernel_range139,3360 -static inline void flush_tlb_pgtables(141,3420 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/apic.h,824 -#define __ASM_APIC_H2,21 -#define Dprintk(Dprintk10,165 -#define APIC_QUIET 15,215 -#define APIC_VERBOSE 16,238 -#define APIC_DEBUG 17,261 -#define apic_printk(apic_printk27,528 -static __inline void apic_write(39,717 -static __inline void apic_write_atomic(44,841 -static __inline unsigned long apic_read(49,974 -static __inline__ void apic_wait_icr_idle(54,1092 -# define FORCE_READ_AROUND_WRITE 62,1265 -# define apic_read_around(apic_read_around63,1300 -# define apic_write_around(apic_write_around64,1329 -# define FORCE_READ_AROUND_WRITE 66,1387 -# define apic_read_around(apic_read_around67,1422 -# define apic_write_around(apic_write_around68,1464 -static inline void ack_APIC_irq(71,1531 -#define NMI_NONE 114,2941 -#define NMI_IO_APIC 115,2960 -#define NMI_LOCAL_APIC 116,2982 -#define NMI_INVALID 117,3007 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/page.h,2092 -#define _I386_PAGE_H2,21 -#define PAGE_SHIFT 5,85 -#define PAGE_SIZE 6,107 -#define PAGE_MASK 7,145 -#define LARGE_PAGE_MASK 9,181 -#define LARGE_PAGE_SIZE 10,228 -#define clear_page(clear_page21,390 -#define copy_page(copy_page22,446 -#define clear_page(clear_page31,603 -#define copy_page(copy_page32,665 -#define clear_user_page(clear_user_page36,749 -#define copy_user_page(copy_user_page37,807 -typedef struct { unsigned long pte_low, pte_high; } pte_t;pte_t45,1023 -typedef struct { unsigned long long pmd; } pmd_t;pmd_t46,1082 -typedef struct { unsigned long long pgd; } pgd_t;pgd_t47,1132 -typedef struct { unsigned long long pgprot; } pgprot_t;pgprot_t48,1182 -#define pte_val(pte_val49,1238 -#define HPAGE_SHIFT 50,1314 -#define nx_enabled 52,1343 -typedef struct { unsigned long pte_low; } pte_t;pte_t53,1364 -typedef struct { unsigned long pmd; } pmd_t;pmd_t54,1413 -typedef struct { unsigned long pgd; } pgd_t;pgd_t55,1458 -typedef struct { unsigned long pgprot; } pgprot_t;pgprot_t56,1503 -#define boot_pte_t 57,1554 -#define pte_val(pte_val58,1620 -#define HPAGE_SHIFT 59,1653 -#define PTE_MASK 61,1683 -#define HPAGE_SIZE 64,1738 -#define HPAGE_MASK 65,1780 -#define HUGETLB_PAGE_ORDER 66,1819 -#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA67,1873 -#define pmd_val(pmd_val71,1922 -#define pgd_val(pgd_val72,1951 -#define pgprot_val(pgprot_val73,1980 -#define __pte(__pte75,2016 -#define __pmd(__pmd76,2052 -#define __pgd(__pgd77,2088 -#define __pgprot(__pgprot78,2124 -#define PAGE_ALIGN(PAGE_ALIGN83,2250 -static __inline__ int get_order(107,2969 -#define __PAGE_OFFSET 127,3288 -#define __PAGE_OFFSET 129,3330 -#define PAGE_OFFSET 133,3377 -#define VMALLOC_RESERVE 134,3429 -#define MAXMEM 135,3489 -#define __pa(__pa136,3541 -#define __va(__va137,3592 -#define pfn_to_kaddr(pfn_to_kaddr138,3653 -#define pfn_to_page(pfn_to_page140,3738 -#define page_to_pfn(page_to_pfn141,3781 -#define pfn_valid(pfn_valid142,3843 -#define virt_to_page(virt_to_page144,3921 -#define virt_addr_valid(virt_addr_valid146,3989 -#define VM_DATA_DEFAULT_FLAGS 148,4058 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mmu_context.h,193 -#define __I386_SCHED_H2,23 -static inline void enter_lazy_tlb(17,327 -static inline void switch_mm(26,580 -#define deactivate_mm(deactivate_mm66,1585 -#define activate_mm(activate_mm69,1665 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/dma-mapping.h,745 -#define _ASM_I386_DMA_MAPPING_H2,32 -#define dma_alloc_noncoherent(dma_alloc_noncoherent10,161 -#define dma_free_noncoherent(dma_free_noncoherent11,234 -dma_map_single(20,529 -dma_unmap_single(29,738 -dma_map_sg(36,902 -dma_map_page(54,1241 -dma_unmap_page(62,1462 -dma_unmap_sg(70,1634 -dma_sync_single_for_cpu(77,1804 -dma_sync_single_for_device(83,1946 -dma_sync_single_range_for_cpu(90,2115 -dma_sync_single_range_for_device(97,2300 -dma_sync_sg_for_cpu(105,2504 -dma_sync_sg_for_device(111,2645 -dma_mapping_error(118,2812 -dma_supported(124,2885 -dma_set_mask(138,3213 -dma_get_cache_alignment(149,3380 -#define dma_is_consistent(dma_is_consistent156,3546 -dma_cache_sync(159,3599 -#define ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY165,3712 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/posix_types.h,1811 -#define __ARCH_I386_POSIX_TYPES_H2,34 -typedef unsigned long __kernel_ino_t;__kernel_ino_t10,247 -typedef unsigned short __kernel_mode_t;__kernel_mode_t11,285 -typedef unsigned short __kernel_nlink_t;__kernel_nlink_t12,325 -typedef long __kernel_off_t;__kernel_off_t13,366 -typedef int __kernel_pid_t;__kernel_pid_t14,396 -typedef unsigned short __kernel_ipc_pid_t;__kernel_ipc_pid_t15,425 -typedef unsigned short __kernel_uid_t;__kernel_uid_t16,468 -typedef unsigned short __kernel_gid_t;__kernel_gid_t17,507 -typedef unsigned int __kernel_size_t;__kernel_size_t18,546 -typedef int __kernel_ssize_t;__kernel_ssize_t19,584 -typedef int __kernel_ptrdiff_t;__kernel_ptrdiff_t20,615 -typedef long __kernel_time_t;__kernel_time_t21,648 -typedef long __kernel_suseconds_t;__kernel_suseconds_t22,679 -typedef long __kernel_clock_t;__kernel_clock_t23,715 -typedef int __kernel_timer_t;__kernel_timer_t24,747 -typedef int __kernel_clockid_t;__kernel_clockid_t25,778 -typedef int __kernel_daddr_t;__kernel_daddr_t26,811 -typedef char * __kernel_caddr_t;__kernel_caddr_t27,842 -typedef unsigned short __kernel_uid16_t;__kernel_uid16_t28,876 -typedef unsigned short __kernel_gid16_t;__kernel_gid16_t29,917 -typedef unsigned int __kernel_uid32_t;__kernel_uid32_t30,958 -typedef unsigned int __kernel_gid32_t;__kernel_gid32_t31,997 -typedef unsigned short __kernel_old_uid_t;__kernel_old_uid_t33,1037 -typedef unsigned short __kernel_old_gid_t;__kernel_old_gid_t34,1080 -typedef unsigned short __kernel_old_dev_t;__kernel_old_dev_t35,1123 -typedef long long __kernel_loff_t;__kernel_loff_t38,1183 -} __kernel_fsid_t;__kernel_fsid_t47,1430 -#define __FD_SET(__FD_SET52,1533 -#define __FD_CLR(__FD_CLR57,1677 -#define __FD_ISSET(__FD_ISSET62,1823 -#define __FD_ZERO(__FD_ZERO70,2066 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/termbits.h,3534 -#define __ARCH_I386_TERMBITS_H__2,33 -typedef unsigned char cc_t;cc_t6,99 -typedef unsigned int speed_t;speed_t7,127 -typedef unsigned int tcflag_t;tcflag_t8,157 -#define NCCS 10,189 -struct termios termios11,205 -#define VINTR 21,505 -#define VQUIT 22,521 -#define VERASE 23,537 -#define VKILL 24,554 -#define VEOF 25,570 -#define VTIME 26,585 -#define VMIN 27,601 -#define VSWTC 28,616 -#define VSTART 29,632 -#define VSTOP 30,649 -#define VSUSP 31,665 -#define VEOL 32,682 -#define VREPRINT 33,698 -#define VDISCARD 34,718 -#define VWERASE 35,738 -#define VLNEXT 36,757 -#define VEOL2 37,775 -#define IGNBRK 40,812 -#define BRKINT 41,835 -#define IGNPAR 42,858 -#define PARMRK 43,881 -#define INPCK 44,904 -#define ISTRIP 45,926 -#define INLCR 46,949 -#define IGNCR 47,971 -#define ICRNL 48,993 -#define IUCLC 49,1015 -#define IXON 50,1037 -#define IXANY 51,1058 -#define IXOFF 52,1080 -#define IMAXBEL 53,1102 -#define IUTF8 54,1126 -#define OPOST 57,1168 -#define OLCUC 58,1190 -#define ONLCR 59,1212 -#define OCRNL 60,1234 -#define ONOCR 61,1256 -#define ONLRET 62,1278 -#define OFILL 63,1301 -#define OFDEL 64,1323 -#define NLDLY 65,1345 -#define NL0 66,1367 -#define NL1 67,1389 -#define CRDLY 68,1411 -#define CR0 69,1433 -#define CR1 70,1455 -#define CR2 71,1477 -#define CR3 72,1499 -#define TABDLY 73,1521 -#define TAB0 74,1544 -#define TAB1 75,1567 -#define TAB2 76,1590 -#define TAB3 77,1613 -#define XTABS 78,1636 -#define BSDLY 79,1660 -#define BS0 80,1682 -#define BS1 81,1704 -#define VTDLY 82,1726 -#define VT0 83,1748 -#define VT1 84,1770 -#define FFDLY 85,1792 -#define FF0 86,1814 -#define FF1 87,1836 -#define CBAUD 90,1885 -#define B0 91,1907 -#define B50 92,1942 -#define B75 93,1963 -#define B110 94,1984 -#define B134 95,2006 -#define B150 96,2028 -#define B200 97,2050 -#define B300 98,2072 -#define B600 99,2094 -#define B1200 100,2116 -#define B1800 101,2139 -#define B2400 102,2162 -#define B4800 103,2185 -#define B9600 104,2208 -#define B19200 105,2231 -#define B38400 106,2255 -#define EXTA 107,2279 -#define EXTB 108,2299 -#define CSIZE 109,2319 -#define CS5 110,2341 -#define CS6 111,2363 -#define CS7 112,2385 -#define CS8 113,2407 -#define CSTOPB 114,2429 -#define CREAD 115,2452 -#define PARENB 116,2474 -#define PARODD 117,2497 -#define HUPCL 118,2520 -#define CLOCAL 119,2542 -#define CBAUDEX 120,2565 -#define B57600 121,2589 -#define B115200 122,2615 -#define B230400 123,2641 -#define B460800 124,2667 -#define B500000 125,2693 -#define B576000 126,2719 -#define B921600 127,2745 -#define B1000000 128,2771 -#define B1152000 129,2797 -#define B1500000 130,2823 -#define B2000000 131,2849 -#define B2500000 132,2875 -#define B3000000 133,2901 -#define B3500000 134,2927 -#define B4000000 135,2953 -#define CIBAUD 136,2979 -#define CMSPAR 137,3042 -#define CRTSCTS 138,3108 -#define ISIG 141,3179 -#define ICANON 142,3200 -#define XCASE 143,3223 -#define ECHO 144,3245 -#define ECHOE 145,3266 -#define ECHOK 146,3288 -#define ECHONL 147,3310 -#define NOFLSH 148,3333 -#define TOSTOP 149,3356 -#define ECHOCTL 150,3379 -#define ECHOPRT 151,3403 -#define ECHOKE 152,3427 -#define FLUSHO 153,3450 -#define PENDIN 154,3473 -#define IEXTEN 155,3496 -#define TCOOFF 158,3556 -#define TCOON 159,3574 -#define TCIOFF 160,3591 -#define TCION 161,3609 -#define TCIFLUSH 164,3664 -#define TCOFLUSH 165,3683 -#define TCIOFLUSH 166,3702 -#define TCSANOW 169,3750 -#define TCSADRAIN 170,3769 -#define TCSAFLUSH 171,3789 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/i387.h,324 -#define __ASM_I386_I387_H12,224 -#define kernel_fpu_end(kernel_fpu_end29,637 -static inline void __save_init_fpu(34,758 -#define __unlazy_fpu(__unlazy_fpu46,1065 -#define __clear_fpu(__clear_fpu51,1187 -static inline void save_init_fpu(64,1474 -#define unlazy_fpu(unlazy_fpu72,1610 -#define clear_fpu(clear_fpu78,1721 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/8253pit.h,54 -#define _8253PIT_H6,68 -#define PIT_TICK_RATE 10,112 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/agp.h,122 -#define AGP_H 2,14 -#define flush_agp_mappings(flush_agp_mappings17,500 -#define flush_agp_cache(flush_agp_cache22,735 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mc146818rtc.h,195 -#define _ASM_MC146818RTC_H5,91 -#define RTC_PORT(RTC_PORT10,157 -#define RTC_ALWAYS_BCD 11,190 -#define CMOS_READ(CMOS_READ18,406 -#define CMOS_WRITE(CMOS_WRITE22,490 -#define RTC_IRQ 27,588 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/percpu.h,34 -#define __ARCH_I386_PERCPU__2,29 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/i8259.h,124 -#define __ASM_I8259_H__2,24 -#define __byte(__byte6,87 -#define cached_master_mask 7,139 -#define cached_slave_mask 8,195 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mca.h,569 -#define _ASM_MCA_H5,97 -#define MCA_MAX_SLOT_NR 10,257 -#define MAX_MCA_BUSSES 14,387 -#define MCA_PRIMARY_BUS 16,413 -#define MCA_SECONDARY_BUS 17,440 -#define MCA_INTEGSCSI 20,534 -#define MCA_INTEGVIDEO 21,574 -#define MCA_MOTHERBOARD 22,617 -#define MCA_DUMMY_POS_START 25,710 -#define MCA_INTEGSCSI_POS 26,746 -#define MCA_INTEGVIDEO_POS 27,796 -#define MCA_MOTHERBOARD_POS 28,847 -#define MCA_MOTHERBOARD_SETUP_REG 32,921 -#define MCA_ADAPTER_SETUP_REG 33,960 -#define MCA_POS_REG(MCA_POS_REG34,996 -#define MCA_ENABLED 36,1034 -#define MCA_NUMADAPTERS 41,1182 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/floppy.h,1802 -#define __ASM_I386_FLOPPY_H11,288 -#define _CROSS_64KB(_CROSS_64KB24,647 -#define CROSS_64KB(CROSS_64KB27,760 -#define SW 30,823 -#define CSW 31,864 -#define fd_inb(fd_inb34,914 -#define fd_outb(fd_outb35,949 -#define fd_request_dma(fd_request_dma37,998 -#define fd_free_dma(fd_free_dma38,1068 -#define fd_enable_irq(fd_enable_irq39,1126 -#define fd_disable_irq(fd_disable_irq40,1181 -#define fd_free_irq(fd_free_irq41,1237 -#define fd_get_dma_residue(fd_get_dma_residue42,1287 -#define fd_dma_mem_alloc(fd_dma_mem_alloc43,1351 -#define fd_dma_setup(fd_dma_setup44,1406 -#define FLOPPY_CAN_FALLBACK_ON_NODMA46,1486 -static int virtual_dma_count;48,1524 -static int virtual_dma_residue;49,1554 -static char *virtual_dma_addr;50,1586 -static int virtual_dma_mode;51,1617 -static int doing_pdma;52,1646 -static irqreturn_t floppy_hardint(54,1670 -#define NO_FLOPPY_ASSEMBLER59,1803 -static void fd_disable_dma(153,3659 -static int vdma_request_dma(162,3839 -static void vdma_nop(167,3927 -static int vdma_get_dma_residue(172,3974 -static int fd_request_irq(178,4081 -static unsigned long dma_mem_alloc(190,4356 -static unsigned long vdma_mem_alloc(196,4470 -#define nodma_mem_alloc(nodma_mem_alloc202,4571 -static void _fd_dma_mem_free(204,4623 -#define fd_dma_mem_free(fd_dma_mem_free212,4820 -static void _fd_chose_dma_mode(214,4888 -#define fd_chose_dma_mode(fd_chose_dma_mode228,5235 -static int vdma_dma_setup(231,5306 -static int hard_dma_setup(242,5565 -struct fd_routine_l fd_routine_l260,6014 -} fd_routine[266,6313 -static int FDC1 284,6521 -static int FDC2 285,6546 -#define FLOPPY0_TYPE 292,6758 -#define FLOPPY1_TYPE 301,6981 -#define N_FDC 310,7198 -#define N_DRIVE 311,7214 -#define FLOPPY_MOTOR_MASK 313,7233 -#define AUTO_DMA315,7265 -#define EXTRA_FLOPPY_PARAMS317,7283 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ipc.h,394 -#define __i386_IPC_H__2,23 -struct ipc_kludge ipc_kludge9,159 -#define SEMOP 14,226 -#define SEMGET 15,244 -#define SEMCTL 16,263 -#define SEMTIMEDOP 17,282 -#define MSGSND 18,304 -#define MSGRCV 19,323 -#define MSGGET 20,342 -#define MSGCTL 21,361 -#define SHMAT 22,380 -#define SHMDT 23,398 -#define SHMGET 24,416 -#define SHMCTL 25,435 -#define DIPC 28,512 -#define IPCCALL(IPCCALL30,540 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ide.h,441 -#define __ASMi386_IDE_H12,194 -#define MAX_HWIFS 20,313 -#define MAX_HWIFS 22,341 -#define IDE_ARCH_OBSOLETE_DEFAULTS26,377 -static __inline__ int ide_default_irq(28,413 -static __inline__ unsigned long ide_default_io_base(42,669 -#define IDE_ARCH_OBSOLETE_INIT56,926 -#define ide_default_io_ctl(ide_default_io_ctl57,957 -#define ide_init_default_irq(ide_init_default_irq60,1052 -#define ide_init_default_irq(ide_init_default_irq62,1097 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/setup.h,1253 -#define _i386_SETUP_H7,115 -#define PFN_UP(PFN_UP9,138 -#define PFN_DOWN(PFN_DOWN10,192 -#define PFN_PHYS(PFN_PHYS11,232 -#define MAXMEM_PFN 16,344 -#define MAX_NONPAE_PFN 17,380 -#define PARAM_SIZE 19,414 -#define COMMAND_LINE_SIZE 20,438 -#define OLD_CL_MAGIC_ADDR 22,469 -#define OLD_CL_MAGIC 23,503 -#define OLD_CL_BASE_ADDR 24,532 -#define OLD_CL_OFFSET 25,565 -#define NEW_CL_POINTER 26,596 -#define PARAM 34,787 -#define SCREEN_INFO 35,815 -#define EXT_MEM_K 36,871 -#define ALT_MEM_K 37,921 -#define E820_MAP_NR 38,974 -#define E820_MAP 39,1020 -#define APM_BIOS_INFO 40,1079 -#define IST_INFO 41,1142 -#define DRIVE_INFO 42,1197 -#define SYS_DESC_TABLE 43,1261 -#define EFI_SYSTAB 44,1331 -#define EFI_MEMDESC_SIZE 45,1409 -#define EFI_MEMDESC_VERSION 46,1471 -#define EFI_MEMMAP 47,1536 -#define EFI_MEMMAP_SIZE 48,1613 -#define MOUNT_ROOT_RDONLY 49,1674 -#define RAMDISK_FLAGS 50,1736 -#define VIDEO_MODE 51,1794 -#define ORIG_ROOT_DEV 52,1849 -#define AUX_DEVICE_INFO 53,1907 -#define LOADER_TYPE 54,1966 -#define KERNEL_START 55,2021 -#define INITRD_START 56,2077 -#define INITRD_SIZE 57,2133 -#define EDID_INFO 58,2188 -#define EDD_NR 59,2246 -#define EDD_MBR_SIG_NR 60,2300 -#define EDD_MBR_SIGNATURE 61,2371 -#define EDD_BUF 62,2440 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mpspec.h,1001 -#define __ASM_MPSPEC_H2,23 -#define PHYSID_ARRAY_SIZE 39,1331 -struct physid_maskphysid_mask41,1383 -typedef struct physid_mask physid_mask_t;physid_mask_t46,1448 -#define physid_set(physid_set48,1491 -#define physid_clear(physid_clear49,1553 -#define physid_isset(physid_isset50,1618 -#define physid_test_and_set(physid_test_and_set51,1682 -#define physids_and(physids_and53,1761 -#define physids_or(physids_or54,1859 -#define physids_clear(physids_clear55,1955 -#define physids_complement(physids_complement56,2019 -#define physids_empty(physids_empty57,2109 -#define physids_equal(physids_equal58,2174 -#define physids_weight(physids_weight59,2259 -#define physids_shift_right(physids_shift_right60,2326 -#define physids_shift_left(physids_shift_left61,2417 -#define physids_coerce(physids_coerce62,2506 -#define physids_promote(physids_promote64,2553 -#define physid_mask_of_physid(physid_mask_of_physid71,2731 -#define PHYSID_MASK_ALL 78,2916 -#define PHYSID_MASK_NONE 79,2982 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mmu.h,62 -#define __i386_MMU_H2,21 -} mm_context_t;mm_context_t21,418 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/rwlock.h,458 -#define _ASM_I386_RWLOCK_H18,538 -#define RW_LOCK_BIAS 20,566 -#define RW_LOCK_BIAS_STR 21,600 -#define __build_read_lock_ptr(__build_read_lock_ptr23,639 -#define __build_read_lock_const(__build_read_lock_const30,823 -#define __build_read_lock(__build_read_lock40,1108 -#define __build_write_lock_ptr(__build_write_lock_ptr47,1312 -#define __build_write_lock_const(__build_write_lock_const54,1513 -#define __build_write_lock(__build_write_lock64,1815 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/siginfo.h,29 -#define _I386_SIGINFO_H2,24 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/byteorder.h,299 -#define _I386_BYTEORDER_H2,26 -static __inline__ __attribute_const__ __u32 ___arch__swab32(14,207 -static __inline__ __attribute_const__ __u64 ___arch__swab64(28,531 -#define __arch__swab64(__arch__swab6450,1107 -#define __arch__swab32(__arch__swab3251,1152 -#define __BYTEORDER_HAS_U64__53,1198 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/kdebug.h,384 -#define _I386_KDEBUG_H 2,23 -struct die_args die_args12,201 -enum die_val die_val28,588 - DIE_OOPS 29,603 - DIE_INT3,30,618 - DIE_DEBUG,31,629 - DIE_PANIC,32,641 - DIE_NMI,33,653 - DIE_DIE,34,663 - DIE_NMIWATCHDOG,35,673 - DIE_KERNELDEBUG,36,691 - DIE_TRAP,37,709 - DIE_GPF,38,720 - DIE_CALL,39,730 - DIE_NMI_IPI,40,741 - DIE_PAGE_FAULT,41,755 -static inline int notify_die(44,776 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/tlb.h,205 -#define _I386_TLB_H2,20 -#define tlb_start_vma(tlb_start_vma8,113 -#define tlb_end_vma(tlb_end_vma9,162 -#define __tlb_remove_tlb_entry(__tlb_remove_tlb_entry10,209 -#define tlb_flush(tlb_flush16,342 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/types.h,1016 -#define _I386_TYPES_H2,22 -typedef unsigned short umode_t;umode_t6,67 -typedef __signed__ char __s8;__s813,219 -typedef unsigned char __u8;__u814,249 -typedef __signed__ short __s16;__s1616,278 -typedef unsigned short __u16;__u1617,310 -typedef __signed__ int __s32;__s3219,341 -typedef unsigned int __u32;__u3220,371 -typedef __signed__ long long __s64;__s6423,451 -typedef unsigned long long __u64;__u6424,487 -#define BITS_PER_LONG 34,654 -typedef signed char s8;s840,729 -typedef unsigned char u8;u841,753 -typedef signed short s16;s1643,780 -typedef unsigned short u16;u1644,806 -typedef signed int s32;s3246,835 -typedef unsigned int u32;u3247,859 -typedef signed long long s64;s6449,886 -typedef unsigned long long u64;u6450,916 -typedef u64 dma_addr_t;dma_addr_t55,1033 -typedef u32 dma_addr_t;dma_addr_t57,1063 -typedef u64 dma64_addr_t;dma64_addr_t59,1094 -typedef u64 sector_t;sector_t62,1139 -#define HAVE_SECTOR_T63,1161 -typedef unsigned short kmem_bufctl_t;kmem_bufctl_t66,1191 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mpspec_def.h,2007 -#define __ASM_MPSPEC_DEF_H2,27 -#define SMP_MAGIC_IDENT 14,251 -#define MAX_MPC_ENTRY 16,311 -#define MAX_APICS 17,338 -struct intel_mp_floatingintel_mp_floating19,366 -struct mp_config_tablemp_config_table33,941 -#define MPC_SIGNATURE 36,990 -#define MP_PROCESSOR 51,1396 -#define MP_BUS 52,1419 -#define MP_IOAPIC 53,1437 -#define MP_INTSRC 54,1457 -#define MP_LINTSRC 55,1477 -#define MP_TRANSLATION 56,1498 -struct mpc_config_processormpc_config_processor58,1579 -#define CPU_ENABLED 64,1760 -#define CPU_BOOTPROCESSOR 65,1812 -#define CPU_STEPPING_MASK 67,1899 -#define CPU_MODEL_MASK 68,1930 -#define CPU_FAMILY_MASK 69,1958 -struct mpc_config_busmpc_config_bus74,2082 -#define BUSTYPE_EISA 82,2267 -#define BUSTYPE_ISA 83,2295 -#define BUSTYPE_INTERN 84,2321 -#define BUSTYPE_MCA 85,2372 -#define BUSTYPE_VL 86,2398 -#define BUSTYPE_PCI 87,2439 -#define BUSTYPE_PCMCIA 88,2465 -#define BUSTYPE_CBUS 89,2497 -#define BUSTYPE_CBUSII 90,2525 -#define BUSTYPE_FUTURE 91,2557 -#define BUSTYPE_MBI 92,2589 -#define BUSTYPE_MBII 93,2615 -#define BUSTYPE_MPI 94,2643 -#define BUSTYPE_MPSA 95,2669 -#define BUSTYPE_NUBUS 96,2697 -#define BUSTYPE_TC 97,2727 -#define BUSTYPE_VME 98,2751 -#define BUSTYPE_XPRESS 99,2777 -#define BUSTYPE_NEC98 100,2809 -struct mpc_config_ioapicmpc_config_ioapic102,2840 -#define MPC_APIC_USABLE 108,2973 -struct mpc_config_intsrcmpc_config_intsrc112,3036 -enum mp_irq_source_types mp_irq_source_types123,3261 - mp_INT 124,3288 - mp_NMI 125,3301 - mp_SMI 126,3314 - mp_ExtINT 127,3327 -#define MP_IRQDIR_DEFAULT 130,3346 -#define MP_IRQDIR_HIGH 131,3374 -#define MP_IRQDIR_LOW 132,3400 -struct mpc_config_lintsrcmpc_config_lintsrc135,3427 -#define MP_APIC_ALL 143,3626 -struct mp_config_oemtablemp_config_oemtable147,3688 -#define MPC_OEM_SIGNATURE 150,3740 -struct mpc_config_translationmpc_config_translation157,3894 -enum mp_bustype mp_bustype180,4406 - MP_BUS_ISA 181,4424 - MP_BUS_EISA,182,4441 - MP_BUS_PCI,183,4455 - MP_BUS_MCA,184,4468 - MP_BUS_NEC98185,4481 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/e820.h,304 -#define __E820_HEADER13,435 -#define E820MAP 15,458 -#define E820MAX 16,495 -#define E820NR 17,550 -#define E820_RAM 19,600 -#define E820_RESERVED 20,619 -#define E820_ACPI 21,643 -#define E820_NVS 22,715 -#define HIGH_MEMORY 24,735 -struct e820map e820map28,790 - struct e820entry e820entry30,823 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/msr.h,6360 -#define __ASM_MSR_H2,20 -#define rdmsr(rdmsr10,258 -#define wrmsr(wrmsr15,374 -#define rdmsrl(rdmsrl20,506 -static inline void wrmsrl 27,644 -#define rdtsc(rdtsc35,808 -#define rdtscl(rdtscl38,896 -#define rdtscll(rdtscll41,977 -#define write_tsc(write_tsc44,1049 -#define rdpmc(rdpmc46,1103 -#define MSR_IA32_P5_MC_ADDR 53,1302 -#define MSR_IA32_P5_MC_TYPE 54,1333 -#define MSR_IA32_PLATFORM_ID 55,1364 -#define MSR_IA32_EBL_CR_POWERON 56,1399 -#define MSR_IA32_APICBASE 58,1438 -#define MSR_IA32_APICBASE_BSP 59,1470 -#define MSR_IA32_APICBASE_ENABLE 60,1508 -#define MSR_IA32_APICBASE_BASE 61,1549 -#define MSR_IA32_UCODE_WRITE 63,1596 -#define MSR_IA32_UCODE_REV 64,1631 -#define MSR_P6_PERFCTR0 66,1665 -#define MSR_P6_PERFCTR1 67,1695 -#define MSR_IA32_BBL_CR_CTL 69,1726 -#define MSR_IA32_SYSENTER_CS 71,1762 -#define MSR_IA32_SYSENTER_ESP 72,1798 -#define MSR_IA32_SYSENTER_EIP 73,1835 -#define MSR_IA32_MCG_CAP 75,1873 -#define MSR_IA32_MCG_STATUS 76,1905 -#define MSR_IA32_MCG_CTL 77,1940 -#define MSR_IA32_MCG_EAX 80,1997 -#define MSR_IA32_MCG_EBX 81,2029 -#define MSR_IA32_MCG_ECX 82,2061 -#define MSR_IA32_MCG_EDX 83,2093 -#define MSR_IA32_MCG_ESI 84,2125 -#define MSR_IA32_MCG_EDI 85,2157 -#define MSR_IA32_MCG_EBP 86,2189 -#define MSR_IA32_MCG_ESP 87,2221 -#define MSR_IA32_MCG_EFLAGS 88,2253 -#define MSR_IA32_MCG_EIP 89,2288 -#define MSR_IA32_MCG_RESERVED 90,2320 -#define MSR_P6_EVNTSEL0 92,2358 -#define MSR_P6_EVNTSEL1 93,2390 -#define MSR_IA32_PERF_STATUS 95,2423 -#define MSR_IA32_PERF_CTL 96,2459 -#define MSR_IA32_THERM_CONTROL 98,2493 -#define MSR_IA32_THERM_INTERRUPT 99,2531 -#define MSR_IA32_THERM_STATUS 100,2570 -#define MSR_IA32_MISC_ENABLE 101,2607 -#define MSR_IA32_DEBUGCTLMSR 103,2644 -#define MSR_IA32_LASTBRANCHFROMIP 104,2680 -#define MSR_IA32_LASTBRANCHTOIP 105,2720 -#define MSR_IA32_LASTINTFROMIP 106,2759 -#define MSR_IA32_LASTINTTOIP 107,2797 -#define MSR_IA32_MC0_CTL 109,2834 -#define MSR_IA32_MC0_STATUS 110,2866 -#define MSR_IA32_MC0_ADDR 111,2901 -#define MSR_IA32_MC0_MISC 112,2934 -#define MSR_P4_BPU_PERFCTR0 115,3010 -#define MSR_P4_BPU_PERFCTR1 116,3046 -#define MSR_P4_BPU_PERFCTR2 117,3082 -#define MSR_P4_BPU_PERFCTR3 118,3118 -#define MSR_P4_MS_PERFCTR0 119,3154 -#define MSR_P4_MS_PERFCTR1 120,3189 -#define MSR_P4_MS_PERFCTR2 121,3224 -#define MSR_P4_MS_PERFCTR3 122,3259 -#define MSR_P4_FLAME_PERFCTR0 123,3294 -#define MSR_P4_FLAME_PERFCTR1 124,3332 -#define MSR_P4_FLAME_PERFCTR2 125,3370 -#define MSR_P4_FLAME_PERFCTR3 126,3408 -#define MSR_P4_IQ_PERFCTR0 127,3446 -#define MSR_P4_IQ_PERFCTR1 128,3481 -#define MSR_P4_IQ_PERFCTR2 129,3516 -#define MSR_P4_IQ_PERFCTR3 130,3551 -#define MSR_P4_IQ_PERFCTR4 131,3586 -#define MSR_P4_IQ_PERFCTR5 132,3621 -#define MSR_P4_BPU_CCCR0 133,3656 -#define MSR_P4_BPU_CCCR1 134,3689 -#define MSR_P4_BPU_CCCR2 135,3722 -#define MSR_P4_BPU_CCCR3 136,3755 -#define MSR_P4_MS_CCCR0 137,3788 -#define MSR_P4_MS_CCCR1 138,3820 -#define MSR_P4_MS_CCCR2 139,3852 -#define MSR_P4_MS_CCCR3 140,3884 -#define MSR_P4_FLAME_CCCR0 141,3916 -#define MSR_P4_FLAME_CCCR1 142,3951 -#define MSR_P4_FLAME_CCCR2 143,3986 -#define MSR_P4_FLAME_CCCR3 144,4021 -#define MSR_P4_IQ_CCCR0 145,4056 -#define MSR_P4_IQ_CCCR1 146,4088 -#define MSR_P4_IQ_CCCR2 147,4120 -#define MSR_P4_IQ_CCCR3 148,4152 -#define MSR_P4_IQ_CCCR4 149,4184 -#define MSR_P4_IQ_CCCR5 150,4216 -#define MSR_P4_ALF_ESCR0 151,4248 -#define MSR_P4_ALF_ESCR1 152,4281 -#define MSR_P4_BPU_ESCR0 153,4314 -#define MSR_P4_BPU_ESCR1 154,4347 -#define MSR_P4_BSU_ESCR0 155,4380 -#define MSR_P4_BSU_ESCR1 156,4413 -#define MSR_P4_CRU_ESCR0 157,4446 -#define MSR_P4_CRU_ESCR1 158,4479 -#define MSR_P4_CRU_ESCR2 159,4512 -#define MSR_P4_CRU_ESCR3 160,4545 -#define MSR_P4_CRU_ESCR4 161,4578 -#define MSR_P4_CRU_ESCR5 162,4611 -#define MSR_P4_DAC_ESCR0 163,4644 -#define MSR_P4_DAC_ESCR1 164,4677 -#define MSR_P4_FIRM_ESCR0 165,4710 -#define MSR_P4_FIRM_ESCR1 166,4744 -#define MSR_P4_FLAME_ESCR0 167,4778 -#define MSR_P4_FLAME_ESCR1 168,4813 -#define MSR_P4_FSB_ESCR0 169,4848 -#define MSR_P4_FSB_ESCR1 170,4881 -#define MSR_P4_IQ_ESCR0 171,4914 -#define MSR_P4_IQ_ESCR1 172,4946 -#define MSR_P4_IS_ESCR0 173,4978 -#define MSR_P4_IS_ESCR1 174,5010 -#define MSR_P4_ITLB_ESCR0 175,5042 -#define MSR_P4_ITLB_ESCR1 176,5076 -#define MSR_P4_IX_ESCR0 177,5110 -#define MSR_P4_IX_ESCR1 178,5142 -#define MSR_P4_MOB_ESCR0 179,5174 -#define MSR_P4_MOB_ESCR1 180,5207 -#define MSR_P4_MS_ESCR0 181,5240 -#define MSR_P4_MS_ESCR1 182,5272 -#define MSR_P4_PMH_ESCR0 183,5304 -#define MSR_P4_PMH_ESCR1 184,5337 -#define MSR_P4_RAT_ESCR0 185,5370 -#define MSR_P4_RAT_ESCR1 186,5403 -#define MSR_P4_SAAT_ESCR0 187,5436 -#define MSR_P4_SAAT_ESCR1 188,5470 -#define MSR_P4_SSU_ESCR0 189,5504 -#define MSR_P4_SSU_ESCR1 190,5537 -#define MSR_P4_TBPU_ESCR0 191,5608 -#define MSR_P4_TBPU_ESCR1 192,5642 -#define MSR_P4_TC_ESCR0 193,5676 -#define MSR_P4_TC_ESCR1 194,5708 -#define MSR_P4_U2L_ESCR0 195,5740 -#define MSR_P4_U2L_ESCR1 196,5773 -#define MSR_K6_EFER 199,5830 -#define MSR_K6_STAR 200,5863 -#define MSR_K6_WHCR 201,5896 -#define MSR_K6_UWCCR 202,5929 -#define MSR_K6_EPMR 203,5963 -#define MSR_K6_PSOR 204,5996 -#define MSR_K6_PFIR 205,6029 -#define MSR_K7_EVNTSEL0 207,6063 -#define MSR_K7_EVNTSEL1 208,6100 -#define MSR_K7_EVNTSEL2 209,6137 -#define MSR_K7_EVNTSEL3 210,6174 -#define MSR_K7_PERFCTR0 211,6211 -#define MSR_K7_PERFCTR1 212,6248 -#define MSR_K7_PERFCTR2 213,6285 -#define MSR_K7_PERFCTR3 214,6322 -#define MSR_K7_HWCR 215,6359 -#define MSR_K7_CLK_CTL 216,6392 -#define MSR_K7_FID_VID_CTL 217,6428 -#define MSR_K7_FID_VID_STATUS 218,6467 -#define MSR_EFER 221,6542 -#define _EFER_NX 226,6621 -#define EFER_NX 227,6643 -#define MSR_IDT_FCR1 230,6715 -#define MSR_IDT_FCR2 231,6744 -#define MSR_IDT_FCR3 232,6773 -#define MSR_IDT_FCR4 233,6802 -#define MSR_IDT_MCR0 235,6832 -#define MSR_IDT_MCR1 236,6861 -#define MSR_IDT_MCR2 237,6890 -#define MSR_IDT_MCR3 238,6919 -#define MSR_IDT_MCR4 239,6948 -#define MSR_IDT_MCR5 240,6977 -#define MSR_IDT_MCR6 241,7006 -#define MSR_IDT_MCR7 242,7035 -#define MSR_IDT_MCR_CTRL 243,7064 -#define MSR_VIA_FCR 246,7125 -#define MSR_VIA_LONGHAUL 247,7154 -#define MSR_VIA_RNG 248,7187 -#define MSR_VIA_BCR2 249,7216 -#define MSR_TMTA_LONGRUN_CTRL 252,7276 -#define MSR_TMTA_LONGRUN_FLAGS 253,7318 -#define MSR_TMTA_LRTI_READOUT 254,7361 -#define MSR_TMTA_LRTI_VOLT_MHZ 255,7403 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ist.h,57 -#define _ASM_IST_H2,19 -struct ist_info ist_info22,658 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/statfs.h,28 -#define _I386_STATFS_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/dma.h,2176 -#define _ASM_DMA_H9,275 -#define dma_outb 18,475 -#define dma_outb 20,505 -#define dma_inb 23,535 -#define MAX_DMA_CHANNELS 73,2697 -#define MAX_DMA_ADDRESS 76,2806 -#define IO_DMA1_BASE 79,2887 -#define IO_DMA2_BASE 80,2950 -#define DMA1_CMD_REG 83,3055 -#define DMA1_STAT_REG 84,3109 -#define DMA1_REQ_REG 85,3163 -#define DMA1_MASK_REG 86,3230 -#define DMA1_MODE_REG 87,3288 -#define DMA1_CLEAR_FF_REG 88,3340 -#define DMA1_TEMP_REG 89,3405 -#define DMA1_RESET_REG 90,3474 -#define DMA1_CLR_MASK_REG 91,3526 -#define DMA1_MASK_ALL_REG 92,3583 -#define DMA2_CMD_REG 94,3652 -#define DMA2_STAT_REG 95,3706 -#define DMA2_REQ_REG 96,3760 -#define DMA2_MASK_REG 97,3827 -#define DMA2_MODE_REG 98,3885 -#define DMA2_CLEAR_FF_REG 99,3937 -#define DMA2_TEMP_REG 100,4002 -#define DMA2_RESET_REG 101,4071 -#define DMA2_CLR_MASK_REG 102,4123 -#define DMA2_MASK_ALL_REG 103,4180 -#define DMA_ADDR_0 105,4249 -#define DMA_ADDR_1 106,4317 -#define DMA_ADDR_2 107,4354 -#define DMA_ADDR_3 108,4391 -#define DMA_ADDR_4 109,4428 -#define DMA_ADDR_5 110,4465 -#define DMA_ADDR_6 111,4502 -#define DMA_ADDR_7 112,4539 -#define DMA_CNT_0 114,4577 -#define DMA_CNT_1 115,4643 -#define DMA_CNT_2 116,4680 -#define DMA_CNT_3 117,4717 -#define DMA_CNT_4 118,4754 -#define DMA_CNT_5 119,4791 -#define DMA_CNT_6 120,4828 -#define DMA_CNT_7 121,4865 -#define DMA_PAGE_0 123,4903 -#define DMA_PAGE_1 124,4968 -#define DMA_PAGE_2 125,5005 -#define DMA_PAGE_3 126,5042 -#define DMA_PAGE_5 127,5079 -#define DMA_PAGE_6 128,5116 -#define DMA_PAGE_7 129,5153 -#define DMA_MODE_READ 131,5191 -#define DMA_MODE_WRITE 132,5275 -#define DMA_MODE_CASCADE 133,5360 -#define DMA_AUTOINIT 135,5436 -static __inline__ unsigned long claim_dma_lock(140,5499 -static __inline__ void release_dma_lock(147,5637 -static __inline__ void enable_dma(153,5795 -static __inline__ void disable_dma(161,5949 -static __inline__ void clear_dma_ff(176,6410 -static __inline__ void set_dma_mode(185,6612 -static __inline__ void set_dma_page(198,7030 -static __inline__ void set_dma_addr(229,7617 -static __inline__ void set_dma_count(250,8384 -static __inline__ int get_dma_residue(271,9150 -#define isa_dma_bridge_buggy 295,9771 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pgtable-3level.h,1304 -#define _I386_PGTABLE_3LEVEL_H2,31 -#define pte_ERROR(pte_ERROR11,218 -#define pmd_ERROR(pmd_ERROR13,338 -#define pgd_ERROR(pgd_ERROR15,439 -static inline int pgd_none(18,541 -static inline int pgd_bad(19,594 -static inline int pgd_present(20,646 -static inline int pte_x(25,735 -static inline int pte_exec(33,878 -static inline int pte_exec_kernel(40,1021 -static inline void set_pte(51,1386 -#define __HAVE_ARCH_SET_PTE_ATOMIC57,1515 -#define set_pte_atomic(set_pte_atomic58,1550 -#define set_pmd(set_pmd60,1650 -#define set_pgd(set_pgd62,1743 -static inline void pgd_clear 71,2050 -#define pgd_page(pgd_page73,2098 -#define pmd_offset(pmd_offset77,2225 -static inline pte_t ptep_get_and_clear(80,2314 -static inline int pte_same(92,2557 -#define pte_page(pte_page97,2667 -static inline int pte_none(99,2712 -static inline unsigned long pte_pfn(104,2794 -static inline pte_t pfn_pte(112,2972 -static inline pmd_t pfn_pmd(124,3297 -#define pte_to_pgoff(pte_to_pgoff134,3594 -#define pgoff_to_pte(pgoff_to_pte135,3637 -#define PTE_FILE_MAX_BITS 136,3695 -#define __swp_type(__swp_type139,3769 -#define __swp_offset(__swp_offset140,3812 -#define __swp_entry(__swp_entry141,3853 -#define __pte_to_swp_entry(__pte_to_swp_entry142,3927 -#define __swp_entry_to_pte(__swp_entry_to_pte143,3994 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/srat.h,28 -#define _ASM_SRAT_H_28,982 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ptrace.h,860 -#define _I386_PTRACE_H2,23 -#define EBX 4,47 -#define ECX 5,61 -#define EDX 6,75 -#define ESI 7,89 -#define EDI 8,103 -#define EBP 9,117 -#define EAX 10,131 -#define DS 11,145 -#define ES 12,158 -#define FS 13,171 -#define GS 14,184 -#define ORIG_EAX 15,198 -#define EIP 16,218 -#define CS 17,233 -#define EFL 18,248 -#define UESP 19,263 -#define SS 20,279 -#define FRAME_SIZE 21,295 -struct pt_regs pt_regs26,417 -#define PTRACE_GETREGS 45,687 -#define PTRACE_SETREGS 46,724 -#define PTRACE_GETFPREGS 47,761 -#define PTRACE_SETFPREGS 48,798 -#define PTRACE_GETFPXREGS 49,835 -#define PTRACE_SETFPXREGS 50,872 -#define PTRACE_OLDSETOPTIONS 52,910 -#define PTRACE_GET_THREAD_AREA 54,951 -#define PTRACE_SET_THREAD_AREA 55,988 -#define user_mode(user_mode58,1044 -#define instruction_pointer(instruction_pointer59,1118 -#define profile_pc(profile_pc63,1284 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/sigcontext.h,229 -#define _ASMi386_SIGCONTEXT_H2,30 -struct _fpreg _fpreg20,611 -struct _fpxreg _fpxreg25,689 -struct _xmmreg _xmmreg31,796 -struct _fpstate _fpstate35,844 -#define X86_FXSR_MAGIC 57,1408 -struct sigcontext sigcontext59,1440 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/acpi.h,1499 -#define _ASM_ACPI_H27,1068 -#define COMPILER_DEPENDENT_INT64 33,1156 -#define COMPILER_DEPENDENT_UINT64 34,1201 -#define ACPI_SYSTEM_XFACE44,1547 -#define ACPI_EXTERNAL_XFACE45,1573 -#define ACPI_INTERNAL_XFACE46,1601 -#define ACPI_INTERNAL_VAR_XFACE47,1629 -#define ACPI_ASM_MACROS51,1680 -#define BREAKPOINT352,1704 -#define ACPI_DISABLE_IRQS(ACPI_DISABLE_IRQS53,1724 -#define ACPI_ENABLE_IRQS(ACPI_ENABLE_IRQS54,1772 -#define ACPI_FLUSH_CPU_CACHE(ACPI_FLUSH_CPU_CACHE55,1819 -__acpi_acquire_global_lock 59,1879 -__acpi_release_global_lock 71,2146 -#define ACPI_ACQUIRE_GLOBAL_LOCK(ACPI_ACQUIRE_GLOBAL_LOCK82,2355 -#define ACPI_RELEASE_GLOBAL_LOCK(ACPI_RELEASE_GLOBAL_LOCK85,2465 -#define ACPI_DIV_64_BY_32(ACPI_DIV_64_BY_3291,2608 -#define ACPI_SHIFT_RIGHT_64(ACPI_SHIFT_RIGHT_6498,2791 -#define ACPI_PDC_EST_CAPABILITY_SMP 107,3048 -#define ACPI_PDC_EST_CAPABILITY_MSR 108,3088 -#define ACPI_PDC_EST_CAPABILITY_SMP 113,3198 -#define ACPI_PDC_EST_CAPABILITY_MSR 114,3239 -static inline void disable_acpi(124,3475 -#define FIX_ACPI_PAGES 133,3667 -static inline void disable_ioapic_setup(142,3900 -static inline int ioapic_setup_disabled(147,3975 -static inline void disable_ioapic_setup(153,4059 -# define acpi_lapic 159,4147 -# define acpi_ioapic 160,4170 -static inline void acpi_noirq_set(165,4226 -static inline void acpi_disable_pci(166,4286 -static inline void acpi_noirq_set(173,4427 -static inline void acpi_disable_pci(174,4471 -static inline int acpi_irq_balance_set(175,4517 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/cacheflush.h,788 -#define _I386_CACHEFLUSH_H2,27 -#define flush_cache_all(flush_cache_all8,168 -#define flush_cache_mm(flush_cache_mm9,213 -#define flush_cache_range(flush_cache_range10,259 -#define flush_cache_page(flush_cache_page11,319 -#define flush_dcache_page(flush_dcache_page12,375 -#define flush_dcache_mmap_lock(flush_dcache_mmap_lock13,426 -#define flush_dcache_mmap_unlock(flush_dcache_mmap_unlock14,484 -#define flush_icache_range(flush_icache_range15,543 -#define flush_icache_page(flush_icache_page16,600 -#define flush_icache_user_range(flush_icache_user_range17,652 -#define flush_cache_vmap(flush_cache_vmap18,717 -#define flush_cache_vunmap(flush_cache_vunmap19,772 -#define copy_to_user_page(copy_to_user_page21,830 -#define copy_from_user_page(copy_from_user_page23,914 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/a.out.h,182 -#define __I386_A_OUT_H__2,25 -struct execexec4,51 -#define N_TRSIZE(N_TRSIZE16,574 -#define N_DRSIZE(N_DRSIZE17,609 -#define N_SYMSIZE(N_SYMSIZE18,644 -#define STACK_TOP 22,698 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/stat.h,203 -#define _I386_STAT_H2,21 -struct __old_kernel_stat __old_kernel_stat4,43 -struct stat stat18,349 -struct stat64 stat6442,957 -#define STAT64_HAS_BROKEN_ST_INO 46,1028 -#define STAT_HAVE_NSEC 76,1620 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/suspend.h,234 -arch_prepare_suspend(10,190 -struct saved_context saved_context18,310 -#define loaddebug(loaddebug34,622 -static inline void acpi_save_register_state(47,1032 -#define acpi_restore_register_state(acpi_restore_register_state57,1396 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/socket.h,984 -#define _ASM_SOCKET_H2,22 -#define SOL_SOCKET 7,95 -#define SO_DEBUG 9,117 -#define SO_REUSEADDR 10,136 -#define SO_TYPE 11,159 -#define SO_ERROR 12,178 -#define SO_DONTROUTE 13,197 -#define SO_BROADCAST 14,220 -#define SO_SNDBUF 15,243 -#define SO_RCVBUF 16,263 -#define SO_KEEPALIVE 17,283 -#define SO_OOBINLINE 18,306 -#define SO_NO_CHECK 19,330 -#define SO_PRIORITY 20,353 -#define SO_LINGER 21,376 -#define SO_BSDCOMPAT 22,397 -#define SO_PASSCRED 24,459 -#define SO_PEERCRED 25,482 -#define SO_RCVLOWAT 26,505 -#define SO_SNDLOWAT 27,528 -#define SO_RCVTIMEO 28,551 -#define SO_SNDTIMEO 29,574 -#define SO_SECURITY_AUTHENTICATION 32,667 -#define SO_SECURITY_ENCRYPTION_TRANSPORT 33,706 -#define SO_SECURITY_ENCRYPTION_NETWORK 34,750 -#define SO_BINDTODEVICE 36,794 -#define SO_ATTACH_FILTER 39,845 -#define SO_DETACH_FILTER 40,880 -#define SO_PEERNAME 42,916 -#define SO_TIMESTAMP 43,940 -#define SCM_TIMESTAMP 44,965 -#define SO_ACCEPTCONN 46,1002 -#define SO_PEERSEC 48,1029 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/vic.h,1216 -static const int VIC_CPI_Registers[11,375 -#define VIC_PROC_WHO_AM_I 15,485 -# define QUAD_IDENTIFIER 16,519 -# define EIGHT_SLOT_IDENTIFIER 17,550 -#define QIC_EXTENDED_PROCESSOR_SELECT 18,587 -#define VIC_CPI_BASE_REGISTER 19,632 -#define VIC_PROCESSOR_ID 20,670 -# define VIC_CPU_MASQUERADE_ENABLE 21,703 -#define VIC_CLAIM_REGISTER_0 23,743 -#define VIC_CLAIM_REGISTER_1 24,780 -#define VIC_REDIRECT_REGISTER_0 25,817 -#define VIC_REDIRECT_REGISTER_1 26,857 -#define VIC_PRIORITY_REGISTER 27,897 -#define VIC_PRIMARY_MC_BASE 29,936 -#define VIC_SECONDARY_MC_BASE 30,972 -#define QIC_PROCESSOR_ID 32,1011 -# define QIC_CPUID_ENABLE 33,1044 -#define QIC_VIC_CPI_BASE_REGISTER 35,1076 -#define QIC_CPI_BASE_REGISTER 36,1117 -#define QIC_MASK_REGISTER0 38,1156 -# define QIC_PERF_TIMER 40,1238 -# define QIC_LPE 41,1268 -# define QIC_SYS_INT 42,1292 -# define QIC_CMN_INT 43,1319 -# define QIC_DEFAULT_MASK0 45,1404 -#define QIC_MASK_REGISTER1 46,1468 -# define QIC_BOOT_CPI_MASK 47,1503 -# define QIC_CPI_ENABLE 49,1568 -#define QIC_INTERRUPT_CLEAR0 51,1599 -#define QIC_INTERRUPT_CLEAR1 52,1636 -#define VIC_DEFAULT_CPI_BASE 55,1719 -#define QIC_DEFAULT_CPI_BASE 57,1803 -#define VIC_BOOT_INTERRUPT_MASK 59,1839 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/parport.h,94 -#define _ASM_I386_PARPORT_H 10,229 -static int __devinit parport_pc_find_nonpci_ports 13,335 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/sembuf.h,65 -#define _I386_SEMBUF_H2,23 -struct semid64_ds semid64_ds14,317 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ioctls.h,1883 -#define __ARCH_I386_IOCTLS_H__2,31 -#define TCGETS 8,160 -#define TCSETS 9,183 -#define TCSETSW 10,254 -#define TCSETSF 11,278 -#define TCGETA 12,302 -#define TCSETA 13,325 -#define TCSETAW 14,348 -#define TCSETAF 15,372 -#define TCSBRK 16,396 -#define TCXONC 17,419 -#define TCFLSH 18,442 -#define TIOCEXCL 19,465 -#define TIOCNXCL 20,489 -#define TIOCSCTTY 21,513 -#define TIOCGPGRP 22,538 -#define TIOCSPGRP 23,563 -#define TIOCOUTQ 24,588 -#define TIOCSTI 25,612 -#define TIOCGWINSZ 26,636 -#define TIOCSWINSZ 27,662 -#define TIOCMGET 28,688 -#define TIOCMBIS 29,712 -#define TIOCMBIC 30,736 -#define TIOCMSET 31,760 -#define TIOCGSOFTCAR 32,784 -#define TIOCSSOFTCAR 33,812 -#define FIONREAD 34,840 -#define TIOCINQ 35,864 -#define TIOCLINUX 36,890 -#define TIOCCONS 37,915 -#define TIOCGSERIAL 38,939 -#define TIOCSSERIAL 39,966 -#define TIOCPKT 40,993 -#define FIONBIO 41,1017 -#define TIOCNOTTY 42,1041 -#define TIOCSETD 43,1066 -#define TIOCGETD 44,1090 -#define TCSBRKP 45,1114 -#define TIOCSBRK 47,1241 -#define TIOCCBRK 48,1290 -#define TIOCGSID 49,1339 -#define TIOCGPTN 50,1398 -#define TIOCSPTLCK 51,1485 -#define FIONCLEX 53,1548 -#define FIOCLEX 54,1572 -#define FIOASYNC 55,1596 -#define TIOCSERCONFIG 56,1620 -#define TIOCSERGWILD 57,1649 -#define TIOCSERSWILD 58,1677 -#define TIOCGLCKTRMIOS 59,1705 -#define TIOCSLCKTRMIOS 60,1735 -#define TIOCSERGSTRUCT 61,1765 -#define TIOCSERGETLSR 62,1820 -#define TIOCSERGETMULTI 63,1882 -#define TIOCSERSETMULTI 64,1941 -#define TIOCMIWAIT 66,2000 -#define TIOCGICOUNT 67,2074 -#define TIOCGHAYESESP 68,2148 -#define TIOCSHAYESESP 69,2214 -#define FIOQSIZE 70,2280 -#define TIOCPKT_DATA 73,2332 -#define TIOCPKT_FLUSHREAD 74,2357 -#define TIOCPKT_FLUSHWRITE 75,2386 -#define TIOCPKT_STOP 76,2416 -#define TIOCPKT_START 77,2441 -#define TIOCPKT_NOSTOP 78,2467 -#define TIOCPKT_DOSTOP 79,2494 -#define TIOCSER_TEMT 81,2522 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/signal.h,2745 -#define _ASMi386_SIGNAL_H2,26 -#define _NSIG 16,350 -#define _NSIG_BPW 17,368 -#define _NSIG_WORDS 18,389 -typedef unsigned long old_sigset_t;old_sigset_t20,430 -} sigset_t;sigset_t24,541 -#define NSIG 29,631 -typedef unsigned long sigset_t;sigset_t30,648 -#define SIGHUP 34,706 -#define SIGINT 35,725 -#define SIGQUIT 36,744 -#define SIGILL 37,764 -#define SIGTRAP 38,783 -#define SIGABRT 39,803 -#define SIGIOT 40,823 -#define SIGBUS 41,842 -#define SIGFPE 42,861 -#define SIGKILL 43,880 -#define SIGUSR1 44,900 -#define SIGSEGV 45,920 -#define SIGUSR2 46,940 -#define SIGPIPE 47,960 -#define SIGALRM 48,980 -#define SIGTERM 49,1000 -#define SIGSTKFLT 50,1020 -#define SIGCHLD 51,1041 -#define SIGCONT 52,1061 -#define SIGSTOP 53,1081 -#define SIGTSTP 54,1101 -#define SIGTTIN 55,1121 -#define SIGTTOU 56,1141 -#define SIGURG 57,1161 -#define SIGXCPU 58,1180 -#define SIGXFSZ 59,1200 -#define SIGVTALRM 60,1220 -#define SIGPROF 61,1241 -#define SIGWINCH 62,1261 -#define SIGIO 63,1281 -#define SIGPOLL 64,1299 -#define SIGPWR 68,1348 -#define SIGSYS 69,1367 -#define SIGUNUSED 70,1386 -#define SIGRTMIN 73,1471 -#define SIGRTMAX 74,1491 -#define SA_NOCLDSTOP 90,2141 -#define SA_NOCLDWAIT 91,2174 -#define SA_SIGINFO 92,2207 -#define SA_ONSTACK 93,2238 -#define SA_RESTART 94,2269 -#define SA_NODEFER 95,2300 -#define SA_RESETHAND 96,2331 -#define SA_NOMASK 98,2365 -#define SA_ONESHOT 99,2394 -#define SA_INTERRUPT 100,2426 -#define SA_RESTORER 102,2482 -#define SS_ONSTACK 107,2546 -#define SS_DISABLE 108,2567 -#define MINSIGSTKSZ 110,2589 -#define SIGSTKSZ 111,2614 -#define SA_PROBE 122,2883 -#define SA_SAMPLE_RANDOM 123,2912 -#define SA_SHIRQ 124,2948 -#define SIG_BLOCK 127,2985 -#define SIG_UNBLOCK 128,3041 -#define SIG_SETMASK 129,3099 -typedef void __signalfn_t(__signalfn_t132,3196 -typedef __signalfn_t __user *__sighandler_t;__sighandler_t133,3228 -typedef void __restorefn_t(__restorefn_t135,3274 -typedef __restorefn_t __user *__sigrestore_t;__sigrestore_t136,3308 -#define SIG_DFL 138,3355 -#define SIG_IGN 139,3421 -#define SIG_ERR 140,3477 -struct old_sigaction old_sigaction143,3564 -struct sigaction sigaction150,3696 -struct k_sigaction k_sigaction157,3855 -struct sigaction sigaction163,3978 -#define sa_handler 173,4177 -#define sa_sigaction 174,4211 -typedef struct sigaltstack sigaltstack178,4275 -} stack_t;stack_t182,4357 -#define __HAVE_ARCH_SIG_BITOPS187,4416 -static __inline__ void sigaddset(189,4448 -static __inline__ void sigdelset(194,4572 -static __inline__ int __const_sigismember(199,4696 -static __inline__ int __gen_sigismember(205,4861 -#define sigismember(sigismember213,5038 -static __inline__ int sigfindinword(218,5178 -#define ptrace_signal_deliver(ptrace_signal_deliver226,5398 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/numnodes.h,88 -#define _ASM_MAX_NUMNODES_H2,28 -#define NODES_SHIFT 9,128 -#define NODES_SHIFT 14,202 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pci.h,937 -#define __i386_PCI_H2,21 -#define pcibios_assign_all_busses(pcibios_assign_all_busses16,405 -#define pcibios_scan_all_fns(pcibios_scan_all_fns18,450 -#define PCIBIOS_MIN_IO 21,524 -#define PCIBIOS_MIN_MEM 22,555 -#define PCIBIOS_MIN_CARDBUS_IO 24,597 -#define PCI_DMA_BUS_IS_PHYS 50,1318 -#define DECLARE_PCI_UNMAP_ADDR(DECLARE_PCI_UNMAP_ADDR53,1396 -#define DECLARE_PCI_UNMAP_LEN(DECLARE_PCI_UNMAP_LEN54,1438 -#define pci_unmap_addr(pci_unmap_addr55,1478 -#define pci_unmap_addr_set(pci_unmap_addr_set56,1522 -#define pci_unmap_len(pci_unmap_len57,1587 -#define pci_unmap_len_set(pci_unmap_len_set58,1629 -#define pci_dac_dma_supported(pci_dac_dma_supported61,1720 -pci_dac_page_to_dma(64,1797 -pci_dac_dma_to_page(71,1999 -pci_dac_dma_to_offset(77,2142 -pci_dac_dma_sync_single_for_cpu(83,2266 -pci_dac_dma_sync_single_for_device(88,2394 -#define HAVE_PCI_MMAP93,2530 -static inline void pcibios_add_platform_entries(98,2696 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/ucontext.h,64 -#define _ASMi386_UCONTEXT_H2,28 -struct ucontext ucontext4,57 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mman.h,899 -#define __I386_MMAN_H__2,24 -#define PROT_READ 4,49 -#define PROT_WRITE 5,95 -#define PROT_EXEC 6,145 -#define PROT_SEM 7,195 -#define PROT_NONE 8,255 -#define PROT_GROWSDOWN 9,309 -#define PROT_GROWSUP 10,404 -#define MAP_SHARED 12,494 -#define MAP_PRIVATE 13,539 -#define MAP_TYPE 14,591 -#define MAP_FIXED 15,645 -#define MAP_ANONYMOUS 16,698 -#define MAP_GROWSDOWN 18,750 -#define MAP_DENYWRITE 19,805 -#define MAP_EXECUTABLE 20,849 -#define MAP_LOCKED 21,911 -#define MAP_NORESERVE 22,961 -#define MAP_POPULATE 23,1026 -#define MAP_NONBLOCK 24,1092 -#define MS_ASYNC 26,1148 -#define MS_INVALIDATE 27,1201 -#define MS_SYNC 28,1254 -#define MCL_CURRENT 30,1305 -#define MCL_FUTURE 31,1360 -#define MADV_NORMAL 33,1414 -#define MADV_RANDOM 34,1470 -#define MADV_SEQUENTIAL 35,1526 -#define MADV_WILLNEED 36,1585 -#define MADV_DONTNEED 37,1634 -#define MAP_ANON 40,1714 -#define MAP_FILE 41,1745 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/current.h,107 -#define _I386_CURRENT_H2,24 -static inline struct task_struct * get_current(8,102 -#define current 13,198 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/kmap_types.h,594 -#define _ASM_KMAP_TYPES_H2,26 -# define D(D7,108 -# define D(D9,145 -enum km_type km_type12,167 -D(13,182 -D(0) KM_BOUNCE_READ,13,182 -D(14,203 -D(1) KM_SKB_SUNRPC_DATA,14,203 -D(15,228 -D(2) KM_SKB_DATA_SOFTIRQ,15,228 -D(16,254 -D(3) KM_USER0,16,254 -D(17,269 -D(4) KM_USER1,17,269 -D(18,284 -D(5) KM_BIO_SRC_IRQ,18,284 -D(19,305 -D(6) KM_BIO_DST_IRQ,19,305 -D(20,326 -D(7) KM_PTE0,20,326 -D(21,340 -D(8) KM_PTE1,21,340 -D(22,354 -D(9) KM_IRQ0,22,354 -D(23,368 -D(10) KM_IRQ1,23,368 -D(24,383 -D(11) KM_SOFTIRQ0,24,383 -D(25,402 -D(12) KM_SOFTIRQ1,25,402 -D(26,421 -D(13) KM_TYPE_NR26,421 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/atomic.h,1230 -#define __ARCH_I386_ATOMIC__2,29 -#define LOCK 14,254 -#define LOCK 16,283 -typedef struct { volatile int counter; } atomic_t;atomic_t24,498 -#define ATOMIC_INIT(ATOMIC_INIT26,550 -#define atomic_read(atomic_read34,702 -#define atomic_set(atomic_set43,887 -static __inline__ void atomic_add(52,1084 -static __inline__ void atomic_sub(67,1397 -static __inline__ int atomic_sub_and_test(84,1810 -static __inline__ void atomic_inc(101,2155 -static __inline__ void atomic_dec(115,2411 -static __inline__ int atomic_dec_and_test(131,2741 -static __inline__ int atomic_inc_and_test(150,3149 -static __inline__ int atomic_add_negative(170,3614 -static __inline__ int atomic_add_return(188,3995 -static __inline__ int atomic_sub_return(213,4461 -#define atomic_inc_return(atomic_inc_return218,4559 -#define atomic_dec_return(atomic_dec_return219,4614 -#define atomic_clear_mask(atomic_clear_mask222,4726 -#define atomic_set_mask(atomic_set_mask226,4850 -#define smp_mb__before_atomic_dec(smp_mb__before_atomic_dec231,5025 -#define smp_mb__after_atomic_dec(smp_mb__after_atomic_dec232,5071 -#define smp_mb__before_atomic_inc(smp_mb__before_atomic_inc233,5116 -#define smp_mb__after_atomic_inc(smp_mb__after_atomic_inc234,5162 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/hw_irq.h,283 -#define _ASM_HW_IRQ_H2,22 -#define IO_APIC_VECTOR(IO_APIC_VECTOR29,621 -#define AUTO_ASSIGN 30,667 -#define platform_legacy_irq(platform_legacy_irq45,1100 -#define IO_APIC_IRQ(IO_APIC_IRQ69,1794 -static inline void hw_resend_irq(72,1893 -static inline void hw_resend_irq(78,2038 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/timer.h,93 -#define _ASMi386_TIMER_H2,25 -struct timer_opts{timer_opts18,622 -#define TICK_SIZE 27,829 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/unaligned.h,121 -#define __I386_UNALIGNED_H2,27 -#define get_unaligned(get_unaligned22,677 -#define put_unaligned(put_unaligned35,1124 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/pgtable.h,5356 -#define _I386_PGTABLE_H2,24 -#define ZERO_PAGE(ZERO_PAGE32,775 -#define PMD_SIZE 57,1546 -#define PMD_MASK 58,1582 -#define PGDIR_SIZE 59,1615 -#define PGDIR_MASK 60,1655 -#define USER_PTRS_PER_PGD 62,1693 -#define FIRST_USER_PGD_NR 63,1742 -#define USER_PGD_PTRS 65,1771 -#define KERNEL_PGD_PTRS 66,1822 -#define TWOLEVEL_PGDIR_SHIFT 68,1876 -#define BOOT_USER_PGD_PTRS 69,1908 -#define BOOT_KERNEL_PGD_PTRS 70,1975 -#define VMALLOC_OFFSET 79,2420 -#define VMALLOC_START 80,2457 -# define VMALLOC_END 83,2604 -# define VMALLOC_END 85,2656 -#define _PAGE_BIT_PRESENT 95,3007 -#define _PAGE_BIT_RW 96,3035 -#define _PAGE_BIT_USER 97,3059 -#define _PAGE_BIT_PWT 98,3085 -#define _PAGE_BIT_PCD 99,3110 -#define _PAGE_BIT_ACCESSED 100,3135 -#define _PAGE_BIT_DIRTY 101,3164 -#define _PAGE_BIT_PSE 102,3191 -#define _PAGE_BIT_GLOBAL 103,3265 -#define _PAGE_BIT_UNUSED1 104,3321 -#define _PAGE_BIT_UNUSED2 105,3380 -#define _PAGE_BIT_UNUSED3 106,3409 -#define _PAGE_BIT_NX 107,3438 -#define _PAGE_PRESENT 109,3464 -#define _PAGE_RW 110,3492 -#define _PAGE_USER 111,3515 -#define _PAGE_PWT 112,3540 -#define _PAGE_PCD 113,3564 -#define _PAGE_ACCESSED 114,3588 -#define _PAGE_DIRTY 115,3617 -#define _PAGE_PSE 116,3643 -#define _PAGE_GLOBAL 117,3716 -#define _PAGE_UNUSED1 118,3772 -#define _PAGE_UNUSED2 119,3831 -#define _PAGE_UNUSED3 120,3859 -#define _PAGE_FILE 122,3888 -#define _PAGE_PROTNONE 123,3944 -#define _PAGE_NX 125,4016 -#define _PAGE_NX 127,4060 -#define _PAGE_TABLE 130,4087 -#define _KERNPG_TABLE 131,4178 -#define _PAGE_CHG_MASK 132,4258 -#define PAGE_NONE 134,4324 -#define PAGE_SHARED 136,4387 -#define PAGE_SHARED_EXEC 139,4476 -#define PAGE_COPY_NOEXEC 141,4569 -#define PAGE_COPY_EXEC 143,4662 -#define PAGE_COPY 145,4742 -#define PAGE_READONLY 147,4780 -#define PAGE_READONLY_EXEC 149,4870 -#define _PAGE_KERNEL 152,4955 -#define _PAGE_KERNEL_EXEC 154,5048 -#define __PAGE_KERNEL_RO 158,5197 -#define __PAGE_KERNEL_NOCACHE 159,5251 -#define __PAGE_KERNEL_LARGE 160,5310 -#define __PAGE_KERNEL_LARGE_EXEC 161,5367 -#define PAGE_KERNEL 163,5434 -#define PAGE_KERNEL_RO 164,5479 -#define PAGE_KERNEL_EXEC 165,5530 -#define PAGE_KERNEL_NOCACHE 166,5584 -#define PAGE_KERNEL_LARGE 167,5644 -#define PAGE_KERNEL_LARGE_EXEC 168,5700 -#define __P000 175,5949 -#define __P001 176,5974 -#define __P010 177,6003 -#define __P011 178,6028 -#define __P100 179,6053 -#define __P101 180,6087 -#define __P110 181,6121 -#define __P111 182,6151 -#define __S000 184,6182 -#define __S001 185,6207 -#define __S010 186,6236 -#define __S011 187,6263 -#define __S100 188,6290 -#define __S101 189,6324 -#define __S110 190,6358 -#define __S111 191,6390 -#define pte_present(pte_present203,6725 -#define pte_clear(pte_clear204,6797 -#define pmd_none(pmd_none206,6860 -#define pmd_present(pmd_present207,6894 -#define pmd_clear(pmd_clear208,6946 -#define pmd_bad(pmd_bad209,7008 -#define pages_to_mb(pages_to_mb212,7090 -static inline int pte_user(218,7231 -static inline int pte_read(219,7309 -static inline int pte_dirty(220,7387 -static inline int pte_young(221,7467 -static inline int pte_write(222,7550 -static inline int pte_file(227,7693 -static inline pte_t pte_rdprotect(229,7772 -static inline pte_t pte_exprotect(230,7863 -static inline pte_t pte_mkclean(231,7954 -static inline pte_t pte_mkold(232,8044 -static inline pte_t pte_wrprotect(233,8135 -static inline pte_t pte_mkread(234,8224 -static inline pte_t pte_mkexec(235,8311 -static inline pte_t pte_mkdirty(236,8398 -static inline pte_t pte_mkyoung(237,8487 -static inline pte_t pte_mkwrite(238,8579 -static inline int ptep_test_and_clear_dirty(246,8768 -static inline int ptep_test_and_clear_young(253,8927 -static inline void ptep_set_wrprotect(260,9089 -static inline void ptep_mkdirty(261,9186 -#define pgprot_noncached(pgprot_noncached267,9406 -#define mk_pte(mk_pte275,9687 -#define mk_pte_huge(mk_pte_huge276,9753 -static inline pte_t pte_modify(278,9828 -#define page_pte(page_pte294,10237 -#define pmd_page_kernel(pmd_page_kernel296,10294 -#define pmd_page(pmd_page300,10403 -#define pmd_large(pmd_large303,10502 -#define pgd_index(pgd_index312,10797 -#define pgd_offset(pgd_offset318,10992 -#define pgd_offset_k(pgd_offset_k324,11146 -#define pmd_index(pmd_index332,11401 -#define pte_index(pte_index341,11673 -#define pte_offset_kernel(pte_offset_kernel343,11753 - static inline int set_kernel_exec(363,12504 -#define pte_offset_map(pte_offset_map367,12621 -#define pte_offset_map_nested(pte_offset_map_nested369,12731 -#define pte_unmap(pte_unmap371,12848 -#define pte_unmap_nested(pte_unmap_nested372,12899 -#define pte_offset_map(pte_offset_map374,12963 -#define pte_offset_map_nested(pte_offset_map_nested376,13066 -#define pte_unmap(pte_unmap377,13139 -#define pte_unmap_nested(pte_unmap_nested378,13179 -#define update_mmu_cache(update_mmu_cache391,13615 -#define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS392,13674 -#define ptep_set_access_flags(ptep_set_access_flags393,13717 -#define kern_addr_valid(kern_addr_valid404,14011 -#define io_remap_page_range 407,14080 -#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG409,14126 -#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY410,14172 -#define __HAVE_ARCH_PTEP_GET_AND_CLEAR411,14218 -#define __HAVE_ARCH_PTEP_SET_WRPROTECT412,14257 -#define __HAVE_ARCH_PTEP_MKDIRTY413,14296 -#define __HAVE_ARCH_PTE_SAME414,14329 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/user.h,327 -#define _I386_USER_H2,21 -struct user_i387_struct user_i387_struct44,2159 -struct user_fxsr_struct user_fxsr_struct55,2330 -struct user_regs_struct user_regs_struct77,2872 -struct user{user90,3315 -#define NBPG 116,4721 -#define UPAGES 117,4744 -#define HOST_TEXT_START_ADDR 118,4761 -#define HOST_STACK_END_ADDR 119,4805 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-es7000/mach_apic.h,1523 -#define __ASM_MACH_APIC_H2,26 -#define xapic_phys_to_log_apicid(xapic_phys_to_log_apicid6,83 -#define esr_disable 7,144 -static inline int apic_id_registered(9,169 -static inline cpumask_t target_cpus(14,238 -#define TARGET_CPUS 22,405 -#define APIC_DFR_VALUE 25,483 -#define INT_DELIVERY_MODE 26,526 -#define INT_DEST_MODE 27,570 -#define NO_BALANCE_IRQ 28,646 -#define WAKE_SECONDARY_VIA_MIP30,707 -#define APIC_DFR_VALUE 32,744 -#define INT_DELIVERY_MODE 33,784 -#define INT_DEST_MODE 34,823 -#define NO_BALANCE_IRQ 35,889 -#define APIC_DEST_LOGICAL 37,944 -#define WAKE_SECONDARY_VIA_INIT38,974 -#define NO_IOAPIC_CHECK 41,1014 -static inline unsigned long check_apicid_used(43,1043 -static inline unsigned long check_apicid_present(47,1140 -#define apicid_cluster(apicid_cluster52,1253 -static inline unsigned long calculate_ldr(54,1301 -static inline void init_apic_ldr(68,1664 -static inline void enable_apic_mode(79,1902 -static inline void clustered_apic_check(86,2014 -static inline int multi_timer_check(94,2305 -static inline int apicid_to_node(99,2376 -static inline int cpu_present_to_apicid(105,2446 -static inline physid_mask_t apicid_to_cpu_present(115,2651 -static inline int cpu_to_logical_apicid(126,2902 -static inline int mpc_apic_id(133,3056 -static inline physid_mask_t ioapic_phys_id_map(143,3393 -static inline void setup_portio_remap(150,3569 -static inline int check_phys_apicid_present(155,3664 -static inline unsigned int cpu_mask_to_apicid(161,3812 -static inline u32 phys_pkg_id(202,4783 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-es7000/mach_mpparse.h,205 -#define __ASM_MACH_MPPARSE_H2,29 -static inline void mpc_oem_bus_info(4,59 -static inline void mpc_oem_pci_bus(10,236 -static inline int mps_oem_check(18,490 -static inline int acpi_madt_oem_check(31,857 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-es7000/mach_mpspec.h,91 -#define __ASM_MACH_MPSPEC_H2,28 -#define MAX_IRQ_SOURCES 4,57 -#define MAX_MP_BUSSES 6,86 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-es7000/mach_ipi.h,157 -#define __ASM_MACH_IPI_H2,25 -static inline void send_IPI_mask(6,109 -static inline void send_IPI_allbutself(11,214 -static inline void send_IPI_all(19,397 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-es7000/mach_apicdef.h,144 -#define __ASM_MACH_APICDEF_H2,29 -#define APIC_ID_MASK 4,59 -static inline unsigned get_apic_id(6,94 -#define GET_APIC_ID(GET_APIC_ID11,180 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-es7000/mach_wakecpu.h,547 -#define __ASM_MACH_WAKECPU_H2,29 -#define WAKE_SECONDARY_VIA_MIP10,204 -#define WAKE_SECONDARY_VIA_INIT12,241 -wakeup_secondary_cpu(18,386 -#define TRAMPOLINE_LOW 26,558 -#define TRAMPOLINE_HIGH 27,601 -#define boot_cpu_apicid 29,646 -static inline void wait_for_init_deassert(31,696 -static inline void smp_callin_clear_local_apic(40,915 -static inline void store_NMI_vector(44,973 -static inline void restore_NMI_vector(48,1057 - #define inquire_remote_apic(inquire_remote_apic53,1158 - #define inquire_remote_apic(inquire_remote_apic55,1231 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/smp.h,339 -#define __ASM_SMP_H2,20 -#define BAD_APICID 26,465 -#define MAX_APICID 45,925 -#define smp_processor_id(smp_processor_id53,1173 -#define cpu_possible_map 56,1264 -static inline int num_booting_cpus(59,1383 -static inline int hard_smp_processor_id(73,1688 -static __inline int logical_smp_processor_id(80,1878 -#define NO_PROC_ID 89,2110 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/timex.h,255 -#define _ASMi386_TIMEX_H7,111 -# define CLOCK_TICK_RATE 13,214 -# define CLOCK_TICK_RATE 15,294 -#define CLOCK_TICK_FACTOR 18,356 -#define FINETUNE 19,434 -typedef unsigned long long cycles_t;cycles_t37,1166 -static inline cycles_t get_cycles 41,1238 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/hdreg.h,0 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/highmem.h,302 -#define _ASM_HIGHMEM_H19,537 -#define PKMAP_BASE 44,1097 -#define PKMAP_BASE 46,1137 -#define LAST_PKMAP 49,1200 -#define LAST_PKMAP 51,1229 -#define LAST_PKMAP_MASK 53,1260 -#define PKMAP_NR(PKMAP_NR54,1299 -#define PKMAP_ADDR(PKMAP_ADDR55,1357 -#define flush_cache_kmaps(flush_cache_kmaps66,1746 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/errno.h,27 -#define _I386_ERRNO_H2,22 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/shmparam.h,54 -#define _ASMI386_SHMPARAM_H2,28 -#define SHMLBA 4,57 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/bitops.h,1985 -#define _I386_BITOPS_H2,23 -#define LOCK_PREFIX 20,436 -#define LOCK_PREFIX 22,472 -#define ADDR 25,503 -static inline void set_bit(42,1108 -static inline void __set_bit(59,1562 -static inline void clear_bit(77,2084 -static inline void __clear_bit(85,2237 -#define smp_mb__before_clear_bit(smp_mb__before_clear_bit92,2379 -#define smp_mb__after_clear_bit(smp_mb__after_clear_bit93,2424 -static inline void __change_bit(104,2784 -static inline void change_bit(122,3271 -static inline int test_and_set_bit(139,3692 -static inline int __test_and_set_bit(159,4237 -static inline int test_and_clear_bit(179,4711 -static inline int __test_and_clear_bit(199,5264 -static inline int __test_and_change_bit(211,5510 -static inline int test_and_change_bit(230,5950 -static inline int constant_test_bit(250,6425 -static inline int variable_test_bit(255,6563 -#define test_bit(test_bit266,6773 -static inline int find_first_zero_bit(281,7172 -static inline int find_first_bit(321,8295 -static inline unsigned long ffz(355,9215 -static inline unsigned long __ffs(369,9484 -#define fls(fls381,9646 -static inline int sched_find_first_bit(391,9923 -static inline int ffs(412,10403 -#define hweight32(hweight32430,10716 -#define hweight16(hweight16431,10758 -#define hweight8(hweight8432,10800 -#define ext2_set_bit(ext2_set_bit438,10885 -#define ext2_set_bit_atomic(ext2_set_bit_atomic440,10964 -#define ext2_clear_bit(ext2_clear_bit442,11060 -#define ext2_clear_bit_atomic(ext2_clear_bit_atomic444,11144 -#define ext2_test_bit(ext2_test_bit446,11246 -#define ext2_find_first_zero_bit(ext2_find_first_zero_bit447,11319 -#define ext2_find_next_zero_bit(ext2_find_next_zero_bit449,11415 -#define minix_test_and_set_bit(minix_test_and_set_bit453,11570 -#define minix_set_bit(minix_set_bit454,11645 -#define minix_test_and_clear_bit(minix_test_and_clear_bit455,11702 -#define minix_test_bit(minix_test_bit456,11781 -#define minix_find_first_zero_bit(minix_find_first_zero_bit457,11838 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/cpufeature.h,2906 -#define __ASM_I386_CPUFEATURE_H8,91 -#define NCAPINTS 12,151 -#define X86_FEATURE_FPU 15,295 -#define X86_FEATURE_VME 16,348 -#define X86_FEATURE_DE 17,413 -#define X86_FEATURE_PSE 18,474 -#define X86_FEATURE_TSC 19,536 -#define X86_FEATURE_MSR 20,596 -#define X86_FEATURE_PAE 21,676 -#define X86_FEATURE_MCE 22,745 -#define X86_FEATURE_CX8 23,813 -#define X86_FEATURE_APIC 24,875 -#define X86_FEATURE_SEP 25,929 -#define X86_FEATURE_MTRR 26,987 -#define X86_FEATURE_PGE 27,1056 -#define X86_FEATURE_MCA 28,1116 -#define X86_FEATURE_CMOV 29,1184 -#define X86_FEATURE_PAT 30,1281 -#define X86_FEATURE_PSE36 31,1343 -#define X86_FEATURE_PN 32,1397 -#define X86_FEATURE_CLFLSH 33,1461 -#define X86_FEATURE_DTES 34,1537 -#define X86_FEATURE_ACPI 35,1596 -#define X86_FEATURE_MMX 36,1650 -#define X86_FEATURE_FXSR 37,1713 -#define X86_FEATURE_XMM 39,1871 -#define X86_FEATURE_XMM2 40,1938 -#define X86_FEATURE_SELFSNOOP 41,2007 -#define X86_FEATURE_HT 42,2068 -#define X86_FEATURE_ACC 43,2124 -#define X86_FEATURE_IA64 44,2189 -#define X86_FEATURE_SYSCALL 48,2378 -#define X86_FEATURE_MP 49,2437 -#define X86_FEATURE_NX 50,2489 -#define X86_FEATURE_MMXEXT 51,2545 -#define X86_FEATURE_LM 52,2607 -#define X86_FEATURE_3DNOWEXT 53,2666 -#define X86_FEATURE_3DNOW 54,2733 -#define X86_FEATURE_RECOVERY 57,2852 -#define X86_FEATURE_LONGRUN 58,2918 -#define X86_FEATURE_LRTI 59,2984 -#define X86_FEATURE_CXMMX 63,3178 -#define X86_FEATURE_K6_MTRR 64,3241 -#define X86_FEATURE_CYRIX_ARR 65,3310 -#define X86_FEATURE_CENTAUR_MCR 66,3377 -#define X86_FEATURE_K8 68,3486 -#define X86_FEATURE_K7 69,3544 -#define X86_FEATURE_P3 70,3591 -#define X86_FEATURE_P4 71,3634 -#define X86_FEATURE_XMM3 74,3749 -#define X86_FEATURE_MWAIT 75,3818 -#define X86_FEATURE_DSCPL 76,3882 -#define X86_FEATURE_EST 77,3950 -#define X86_FEATURE_TM2 78,4010 -#define X86_FEATURE_CID 79,4069 -#define X86_FEATURE_XTPR 80,4121 -#define X86_FEATURE_XSTORE 83,4268 -#define X86_FEATURE_XSTORE_EN 84,4344 -#define X86_FEATURE_XCRYPT 85,4409 -#define X86_FEATURE_XCRYPT_EN 86,4480 -#define cpu_has(cpu_has89,4550 -#define boot_cpu_has(boot_cpu_has90,4610 -#define cpu_has_fpu 92,4681 -#define cpu_has_vme 93,4732 -#define cpu_has_de 94,4783 -#define cpu_has_pse 95,4832 -#define cpu_has_tsc 96,4883 -#define cpu_has_pae 97,4934 -#define cpu_has_pge 98,4985 -#define cpu_has_apic 99,5036 -#define cpu_has_sep 100,5089 -#define cpu_has_mtrr 101,5140 -#define cpu_has_mmx 102,5193 -#define cpu_has_fxsr 103,5244 -#define cpu_has_xmm 104,5297 -#define cpu_has_xmm2 105,5348 -#define cpu_has_xmm3 106,5401 -#define cpu_has_ht 107,5454 -#define cpu_has_mp 108,5503 -#define cpu_has_nx 109,5552 -#define cpu_has_k6_mtrr 110,5601 -#define cpu_has_cyrix_arr 111,5660 -#define cpu_has_centaur_mcr 112,5722 -#define cpu_has_xstore 113,5788 -#define cpu_has_xstore_enabled 114,5845 -#define cpu_has_xcrypt 115,5912 -#define cpu_has_xcrypt_enabled 116,5969 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/node.h,110 -#define _ASM_I386_NODE_H_2,26 -struct i386_node i386_node9,158 -static inline int arch_register_node(14,252 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-summit/mach_apic.h,1285 -#define __ASM_MACH_APIC_H2,26 -#define esr_disable 7,101 -#define NO_BALANCE_IRQ 8,125 -#define NO_IOAPIC_CHECK 10,153 -#define XAPIC_DEST_CPUS_SHIFT 14,332 -#define XAPIC_DEST_CPUS_MASK 15,364 -#define XAPIC_DEST_CLUSTER_MASK 16,429 -#define APIC_DFR_VALUE 18,510 -static inline cpumask_t target_cpus(20,553 -#define TARGET_CPUS 28,808 -#define INT_DELIVERY_MODE 30,845 -#define INT_DEST_MODE 31,889 -static inline unsigned long check_apicid_used(33,964 -static inline unsigned long check_apicid_present(39,1133 -#define apicid_cluster(apicid_cluster44,1208 -static inline void init_apic_ldr(49,1341 -static inline int multi_timer_check(73,2099 -static inline int apic_id_registered(78,2170 -static inline void clustered_apic_check(83,2229 -static inline int apicid_to_node(89,2361 -static inline int cpu_to_logical_apicid(95,2532 -static inline int cpu_present_to_apicid(102,2680 -static inline physid_mask_t ioapic_phys_id_map(110,2829 -static inline physid_mask_t apicid_to_cpu_present(116,3007 -static inline int mpc_apic_id(121,3108 -static inline void setup_portio_remap(132,3437 -static inline int check_phys_apicid_present(136,3486 -static inline void enable_apic_mode(141,3576 -static inline unsigned int cpu_mask_to_apicid(145,3623 -static inline u32 phys_pkg_id(184,4692 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-summit/irq_vectors_limits.h,94 -#define _ASM_IRQ_VECTORS_LIMITS_H2,34 -#define NR_IRQS 11,315 -#define NR_IRQ_VECTORS 12,335 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-summit/mach_mpparse.h,622 -#define __ASM_MACH_MPPARSE_H2,29 -#define setup_summit(setup_summit11,176 -static inline void mpc_oem_bus_info(14,210 -static inline void mpc_oem_pci_bus(20,387 -static inline int mps_oem_check(25,502 -static inline int acpi_madt_oem_check(40,891 -struct rio_table_hdr rio_table_hdr52,1180 -struct scal_detail scal_detail59,1563 -struct rio_detail rio_detail71,2359 - CompatTwister 103,4664 - AltTwister 104,4727 - CompatCyclone 105,4790 - AltCyclone 106,4853 - CompatWPEG 107,4916 - AltWPEG 108,4979 - LookOutAWPEG 109,5042 - LookOutBWPEG 110,5105 -} node_type;node_type111,5168 -static inline int is_WPEG(113,5182 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-summit/mach_mpspec.h,92 -#define __ASM_MACH_MPSPEC_H2,28 -#define MAX_IRQ_SOURCES 4,57 -#define MAX_MP_BUSSES 7,154 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-summit/mach_ipi.h,157 -#define __ASM_MACH_IPI_H2,25 -static inline void send_IPI_mask(6,109 -static inline void send_IPI_allbutself(11,214 -static inline void send_IPI_all(20,398 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/mach-summit/mach_apicdef.h,144 -#define __ASM_MACH_APICDEF_H2,29 -#define APIC_ID_MASK 4,59 -static inline unsigned get_apic_id(6,94 -#define GET_APIC_ID(GET_APIC_ID11,180 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/msgbuf.h,65 -#define _I386_MSGBUF_H2,23 -struct msqid64_ds msqid64_ds14,317 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/topology.h,341 -#define _ASM_I386_TOPOLOGY_H28,976 -static inline int cpu_to_node(41,1257 -#define parent_node(parent_node48,1455 -static inline cpumask_t node_to_cpumask(51,1537 -static inline int node_to_first_cpu(57,1681 -static inline cpumask_t pcibus_to_cpumask(64,1861 -#define node_distance(node_distance70,1994 -#define NODE_BALANCE_RATE 73,2086 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-i386/desc.h,730 -#define __ARCH_DESC_H2,22 -struct Xgt_desc_struct Xgt_desc_struct18,333 -#define load_TR_desc(load_TR_desc26,544 -#define load_LDT_desc(load_LDT_desc27,623 -#define _set_tssldt_desc(_set_tssldt_desc36,904 -static inline void __set_tss_desc(47,1221 -#define set_tss_desc(set_tss_desc53,1438 -static inline void set_ldt_desc(55,1511 -#define LDT_entry_a(LDT_entry_a60,1695 -#define LDT_entry_b(LDT_entry_b63,1796 -#define LDT_empty(LDT_empty75,2160 -static inline void load_TLS(89,2481 -#define C(C91,2554 -static inline void clear_LDT(96,2667 -static inline void load_LDT_nolock(108,2855 -static inline void load_LDT(122,3100 -static inline void set_user_cs(129,3212 -#define load_user_cs_desc(load_user_cs_desc136,3399 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/sections.h,38 -#define _ASM_GENERIC_SECTIONS_H_2,33 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/rtc.h,506 -#define __ASM_RTC_H__13,199 -#define RTC_PIE 21,319 -#define RTC_AIE 22,373 -#define RTC_UIE 23,424 -#define RTC_BATT_BAD 26,515 -#define RTC_SQWE 27,560 -#define RTC_DM_BINARY 28,615 -#define RTC_24H 29,686 -#define RTC_DST_EN 30,755 -static inline unsigned char rtc_is_updating(35,886 -static inline unsigned int get_rtc_time(45,1078 -static inline int set_rtc_time(115,3085 -static inline unsigned int get_rtc_ss(195,4900 -static inline int get_rtc_pll(203,5007 -static inline int set_rtc_pll(207,5084 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/xor.h,655 -xor_8regs_2(19,581 -xor_8regs_3(38,909 -xor_8regs_4(59,1336 -xor_8regs_5(81,1857 -xor_32regs_2(104,2472 -xor_32regs_3(140,3157 -xor_32regs_4(186,3997 -xor_32regs_5(241,4987 -xor_8regs_p_2(305,6127 -xor_8regs_p_3(331,6576 -xor_8regs_p_4(361,7157 -xor_8regs_p_5(395,7866 -xor_32regs_p_2(432,8702 -xor_32regs_p_3(477,9510 -xor_32regs_p_4(534,10506 -xor_32regs_p_5(602,11685 -static struct xor_block_template xor_block_8regs 680,13035 -static struct xor_block_template xor_block_32regs 688,13198 -static struct xor_block_template xor_block_8regs_p 696,13367 -static struct xor_block_template xor_block_32regs_p 704,13549 -#define XOR_TRY_TEMPLATES 712,13737 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/div64.h,96 -#define _ASM_GENERIC_DIV64_H2,29 -# define do_div(do_div25,535 -# define do_div(do_div40,910 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/bug.h,151 -#define _ASM_GENERIC_BUG_H2,27 -#define BUG(BUG8,132 -#define PAGE_BUG(PAGE_BUG15,275 -#define BUG_ON(BUG_ON22,406 -#define WARN_ON(WARN_ON26,519 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/local.h,1463 -#define _ASM_GENERIC_LOCAL_H2,29 -} local_t;local_t19,459 -#define LOCAL_INIT(LOCAL_INIT21,471 -#define local_read(local_read23,513 -#define local_set(local_set24,573 -#define local_inc(local_inc25,622 -#define local_dec(local_dec26,663 -#define local_add(local_add27,704 -#define local_sub(local_sub28,753 -#define __local_inc(__local_inc32,938 -#define __local_dec(__local_dec33,996 -#define __local_add(__local_add34,1054 -#define __local_sub(__local_sub35,1115 -} local_t;local_t45,1407 -#define _LOCAL_VAR(_LOCAL_VAR47,1419 -#define LOCAL_INIT(LOCAL_INIT49,1480 -static inline unsigned long local_read(51,1521 -static inline void local_set(56,1614 -static inline void local_inc(62,1715 -static inline void local_dec(69,1818 -static inline void local_add(76,1921 -static inline void local_sub(83,2044 -#define __local_inc(__local_inc92,2302 -#define __local_dec(__local_dec93,2340 -#define __local_add(__local_add94,2378 -#define __local_sub(__local_sub95,2422 -#define cpu_local_read(cpu_local_read103,2701 -#define cpu_local_set(cpu_local_set104,2757 -#define cpu_local_inc(cpu_local_inc105,2819 -#define cpu_local_dec(cpu_local_dec106,2873 -#define cpu_local_add(cpu_local_add107,2927 -#define cpu_local_sub(cpu_local_sub108,2989 -#define __cpu_local_inc(__cpu_local_inc113,3190 -#define __cpu_local_dec(__cpu_local_dec114,3248 -#define __cpu_local_add(__cpu_local_add115,3306 -#define __cpu_local_sub(__cpu_local_sub116,3372 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/uaccess.h,152 -#define _ASM_GENERIC_UACCESS_H_2,32 -#define __get_user_unaligned(__get_user_unaligned8,197 -#define __put_user_unaligned(__put_user_unaligned20,506 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/vmlinux.lds.h,178 -#define LOAD_OFFSET 2,20 -#define VMLINUX_SYMBOL(VMLINUX_SYMBOL6,73 -#define RODATA 9,117 -#define SECURITY_INIT 69,2127 -#define SCHED_TEXT 76,2333 -#define LOCK_TEXT 81,2471 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/dma-mapping.h,1159 -#define _ASM_GENERIC_DMA_MAPPING_H8,207 -dma_supported(21,472 -dma_set_mask(29,626 -dma_alloc_coherent(37,789 -dma_free_coherent(46,1006 -dma_map_single(55,1236 -dma_unmap_single(64,1477 -dma_map_page(73,1721 -dma_unmap_page(83,1991 -dma_map_sg(92,2235 -dma_unmap_sg(101,2465 -dma_sync_single_for_cpu(110,2704 -dma_sync_single_for_device(120,2972 -dma_sync_sg_for_cpu(130,3252 -dma_sync_sg_for_device(139,3501 -dma_mapping_error(148,3758 -dma_supported(157,3869 -dma_set_mask(163,3947 -dma_alloc_coherent(170,4039 -dma_free_coherent(178,4176 -dma_map_single(185,4310 -dma_unmap_single(193,4460 -dma_map_page(200,4607 -dma_unmap_page(209,4784 -dma_map_sg(216,4930 -dma_unmap_sg(224,5078 -dma_sync_single_for_cpu(231,5224 -dma_sync_single_for_device(238,5374 -dma_sync_sg_for_cpu(245,5530 -dma_sync_sg_for_device(252,5679 -dma_error(259,5833 -#define dma_alloc_noncoherent(dma_alloc_noncoherent268,5940 -#define dma_free_noncoherent(dma_free_noncoherent269,6013 -#define dma_is_consistent(dma_is_consistent270,6084 -dma_get_cache_alignment(273,6136 -dma_sync_single_range_for_cpu(281,6328 -dma_sync_single_range_for_device(290,6639 -dma_cache_sync(299,6948 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/percpu.h,537 -#define _ASM_GENERIC_PERCPU_H_2,31 -#define __GENERIC_PER_CPU5,91 -#define DEFINE_PER_CPU(DEFINE_PER_CPU11,238 -#define per_cpu(per_cpu15,426 -#define __get_cpu_var(__get_cpu_var16,506 -#define percpu_modcopy(percpu_modcopy19,607 -#define DEFINE_PER_CPU(DEFINE_PER_CPU29,870 -#define per_cpu(per_cpu32,945 -#define __get_cpu_var(__get_cpu_var33,1005 -#define DECLARE_PER_CPU(DECLARE_PER_CPU37,1068 -#define EXPORT_PER_CPU_SYMBOL(EXPORT_PER_CPU_SYMBOL39,1145 -#define EXPORT_PER_CPU_SYMBOL_GPL(EXPORT_PER_CPU_SYMBOL_GPL40,1210 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/siginfo.h,3192 -#define _ASM_GENERIC_SIGINFO_H2,31 -typedef union sigval sigval8,145 -} sigval_t;sigval_t11,209 -#define __ARCH_SI_PREAMBLE_SIZE 18,364 -#define SI_MAX_SIZE 21,422 -#define SI_PAD_SIZE 23,466 -#define __ARCH_SI_UID_T 27,574 -#define __ARCH_SI_BAND_T 36,829 -typedef struct siginfo siginfo41,896 -} siginfo_t;siginfo_t94,2061 -#define si_pid 101,2130 -#define si_uid 102,2167 -#define si_tid 103,2204 -#define si_overrun 104,2242 -#define si_sys_private 105,2287 -#define si_status 106,2341 -#define si_utime 107,2386 -#define si_stime 108,2429 -#define si_value 109,2472 -#define si_int 110,2511 -#define si_ptr 111,2559 -#define si_addr 112,2607 -#define si_trapno 114,2674 -#define si_band 116,2727 -#define si_fd 117,2769 -#define __SI_MASK 120,2826 -#define __SI_KILL 121,2856 -#define __SI_TIMER 122,2884 -#define __SI_POLL 123,2913 -#define __SI_FAULT 124,2941 -#define __SI_CHLD 125,2970 -#define __SI_RT 126,2998 -#define __SI_MESGQ 127,3025 -#define __SI_CODE(__SI_CODE128,3054 -#define __SI_KILL 130,3106 -#define __SI_TIMER 131,3126 -#define __SI_POLL 132,3147 -#define __SI_FAULT 133,3167 -#define __SI_CHLD 134,3188 -#define __SI_RT 135,3208 -#define __SI_MESGQ 136,3227 -#define __SI_CODE(__SI_CODE137,3248 -#define SI_USER 144,3374 -#define SI_KERNEL 145,3429 -#define SI_QUEUE 146,3493 -#define SI_TIMER 147,3537 -#define SI_MESGQ 148,3610 -#define SI_ASYNCIO 149,3694 -#define SI_SIGIO 150,3746 -#define SI_TKILL 151,3794 -#define SI_DETHREAD 152,3847 -#define SI_FROMUSER(SI_FROMUSER154,3922 -#define SI_FROMKERNEL(SI_FROMKERNEL155,3973 -#define ILL_ILLOPC 161,4079 -#define ILL_ILLOPN 162,4134 -#define ILL_ILLADR 163,4190 -#define ILL_ILLTRP 164,4254 -#define ILL_PRVOPC 165,4307 -#define ILL_PRVREG 166,4365 -#define ILL_COPROC 167,4425 -#define ILL_BADSTK 168,4483 -#define NSIGILL 169,4544 -#define FPE_INTDIV 174,4590 -#define FPE_INTOVF 175,4653 -#define FPE_FLTDIV 176,4710 -#define FPE_FLTOVF 177,4780 -#define FPE_FLTUND 178,4844 -#define FPE_FLTRES 179,4909 -#define FPE_FLTINV 180,4979 -#define FPE_FLTSUB 181,5052 -#define NSIGFPE 182,5115 -#define SEGV_MAPERR 187,5162 -#define SEGV_ACCERR 188,5232 -#define NSIGSEGV 189,5311 -#define BUS_ADRALN 194,5357 -#define BUS_ADRERR 195,5423 -#define BUS_OBJERR 196,5493 -#define NSIGBUS 197,5564 -#define TRAP_BRKPT 202,5611 -#define TRAP_TRACE 203,5670 -#define NSIGTRAP 204,5729 -#define CLD_EXITED 209,5776 -#define CLD_KILLED 210,5832 -#define CLD_DUMPED 211,5888 -#define CLD_TRAPPED 212,5955 -#define CLD_STOPPED 213,6020 -#define CLD_CONTINUED 214,6078 -#define NSIGCHLD 215,6148 -#define POLL_IN 220,6195 -#define POLL_OUT 221,6253 -#define POLL_MSG 222,6315 -#define POLL_ERR 223,6376 -#define POLL_PRI 224,6423 -#define POLL_HUP 225,6490 -#define NSIGPOLL 226,6547 -#define SIGEV_SIGNAL 238,6876 -#define SIGEV_NONE 239,6923 -#define SIGEV_THREAD 240,6982 -#define SIGEV_THREAD_ID 241,7039 -#define SIGEV_MAX_SIZE 243,7090 -#define SIGEV_PAD_SIZE 245,7139 -typedef struct sigevent sigevent250,7235 -} sigevent_t;sigevent_t263,7497 -#define sigev_notify_function 267,7520 -#define sigev_notify_attributes 268,7584 -#define sigev_notify_thread_id 269,7651 -static inline void copy_siginfo(280,7845 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/tlb.h,570 -#define _ASM_GENERIC__TLB_H14,447 - #define FREE_PTE_NR 26,685 - #define tlb_fast_mode(tlb_fast_mode27,711 - #define FREE_PTE_NR 29,765 - #define tlb_fast_mode(tlb_fast_mode30,789 -struct mmu_gather mmu_gather38,1085 -tlb_gather_mmu(54,1602 -tlb_flush_mmu(70,1931 -tlb_finish_mmu(87,2369 -tlb_is_full_mm(103,2717 -static inline void tlb_remove_page(113,2984 -#define tlb_remove_tlb_entry(tlb_remove_tlb_entry132,3556 -#define pte_free_tlb(pte_free_tlb138,3712 -#define pmd_free_tlb(pmd_free_tlb144,3839 -#define tlb_migrate_finish(tlb_migrate_finish150,3966 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/errno-base.h,814 -#define _ASM_GENERIC_ERRNO_BASE_H2,34 -#define EPERM 4,69 -#define ENOENT 5,117 -#define ESRCH 6,168 -#define EINTR 7,208 -#define EIO 8,256 -#define ENXIO 9,288 -#define E2BIG 10,338 -#define ENOEXEC 11,385 -#define EBADF 12,429 -#define ECHILD 13,469 -#define EAGAIN 14,513 -#define ENOMEM 15,548 -#define EACCES 16,587 -#define EFAULT 17,630 -#define ENOTBLK 18,667 -#define EBUSY 19,715 -#define EEXIST 20,763 -#define EXDEV 21,800 -#define ENODEV 22,842 -#define ENOTDIR 23,882 -#define EISDIR 24,924 -#define EINVAL 25,964 -#define ENFILE 26,1006 -#define EMFILE 27,1051 -#define ENOTTY 28,1096 -#define ETXTBSY 29,1138 -#define EFBIG 30,1179 -#define ENOSPC 31,1218 -#define ESPIPE 32,1267 -#define EROFS 33,1305 -#define EMLINK 34,1351 -#define EPIPE 35,1391 -#define EDOM 36,1427 -#define ERANGE 37,1486 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/pci-dma-compat.h,442 -#define _ASM_GENERIC_PCI_DMA_COMPAT_H5,179 -pci_dma_supported(13,394 -pci_alloc_consistent(19,536 -pci_free_consistent(26,742 -pci_map_single(33,951 -pci_unmap_single(39,1159 -pci_map_page(46,1388 -pci_unmap_page(53,1637 -pci_map_sg(60,1866 -pci_unmap_sg(67,2081 -pci_dma_sync_single_for_cpu(74,2295 -pci_dma_sync_single_for_device(81,2543 -pci_dma_sync_sg_for_cpu(88,2797 -pci_dma_sync_sg_for_device(95,3027 -pci_dma_mapping_error(102,3262 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/statfs.h,184 -#define _GENERIC_STATFS_H2,26 -typedef __kernel_fsid_t fsid_t;fsid_t6,109 -struct statfs statfs9,149 -struct statfs64 statfs6423,361 -struct compat_statfs64 compat_statfs6437,575 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/iomap.h,28 -#define __GENERIC_IO_H2,23 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/pci.h,123 -#define _ASM_GENERIC_PCI_H7,108 -pcibios_resource_to_bus(18,419 -#define pcibios_scan_all_fns(pcibios_scan_all_fns25,580 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/ide_iops.h,284 -#define __ide_insw 3,49 -#define __ide_insl 4,73 -#define __ide_outsw 5,97 -#define __ide_outsl 6,123 -static __inline__ void __ide_mm_insw(8,150 -static __inline__ void __ide_mm_insl(16,300 -static __inline__ void __ide_mm_outsw(24,450 -static __inline__ void __ide_mm_outsl(32,601 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/unaligned.h,127 -#define _ASM_GENERIC_UNALIGNED_H_2,34 -#define get_unaligned(get_unaligned12,227 -#define put_unaligned(put_unaligned15,337 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/pgtable.h,836 -#define _ASM_GENERIC_PGTABLE_H2,31 -#define ptep_establish(ptep_establish17,453 -#define ptep_establish(ptep_establish23,655 -#define ptep_set_access_flags(ptep_set_access_flags38,1142 -static inline int ptep_test_and_clear_young(46,1380 -#define ptep_clear_flush_young(ptep_clear_flush_young57,1589 -static inline int ptep_test_and_clear_dirty(67,1852 -#define ptep_clear_flush_dirty(ptep_clear_flush_dirty78,2063 -static inline pte_t ptep_get_and_clear(88,2319 -#define ptep_clear_flush(ptep_clear_flush97,2471 -static inline void ptep_set_wrprotect(106,2693 -static inline void ptep_mkdirty(114,2853 -#define pte_same(pte_same122,3001 -#define page_test_and_clear_dirty(page_test_and_clear_dirty126,3104 -#define page_test_and_clear_young(page_test_and_clear_young130,3202 -#define pgd_offset_gate(pgd_offset_gate134,3290 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/hdreg.h,88 -#define __ASM_GENERIC_HDREG_H4,88 -typedef unsigned long ide_ioreg_t;ide_ioreg_t6,119 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/errno.h,2344 -#define _ASM_GENERIC_ERRNO_H2,29 -#define EDEADLK 6,96 -#define ENAMETOOLONG 7,152 -#define ENOLCK 8,201 -#define ENOSYS 9,252 -#define ENOTEMPTY 10,302 -#define ELOOP 11,349 -#define EWOULDBLOCK 12,409 -#define ENOMSG 13,464 -#define EIDRM 14,516 -#define ECHRNG 15,559 -#define EL2NSYNC 16,612 -#define EL3HLT 17,663 -#define EL3RST 18,703 -#define ELNRNG 19,742 -#define EUNATCH 20,792 -#define ENOCSI 21,847 -#define EL2HLT 22,899 -#define EBADE 23,939 -#define EBADR 24,980 -#define EXFULL 25,1031 -#define ENOANO 26,1070 -#define EBADRQC 27,1104 -#define EBADSLT 28,1151 -#define EDEADLOCK 30,1191 -#define EBFONT 32,1218 -#define ENOSTR 33,1264 -#define ENODATA 34,1309 -#define ETIME 35,1353 -#define ENOSR 36,1391 -#define ENONET 37,1440 -#define ENOPKG 38,1495 -#define EREMOTE 39,1542 -#define ENOLINK 40,1585 -#define EADV 41,1633 -#define ESRMNT 42,1672 -#define ECOMM 43,1711 -#define EPROTO 44,1763 -#define EMULTIHOP 45,1803 -#define EDOTDOT 46,1849 -#define EBADMSG 47,1894 -#define EOVERFLOW 48,1939 -#define ENOTUNIQ 49,2004 -#define EBADFD 50,2057 -#define EREMCHG 51,2111 -#define ELIBACC 52,2160 -#define ELIBBAD 53,2225 -#define ELIBSCN 54,2288 -#define ELIBMAX 55,2346 -#define ELIBEXEC 56,2420 -#define EILSEQ 57,2484 -#define ERESTART 58,2531 -#define ESTRPIPE 59,2601 -#define EUSERS 60,2646 -#define ENOTSOCK 61,2686 -#define EDESTADDRREQ 62,2743 -#define EMSGSIZE 63,2802 -#define EPROTOTYPE 64,2845 -#define ENOPROTOOPT 65,2904 -#define EPROTONOSUPPORT 66,2956 -#define ESOCKTNOSUPPORT 67,3012 -#define EOPNOTSUPP 68,3071 -#define EPFNOSUPPORT 69,3145 -#define EAFNOSUPPORT 70,3205 -#define EADDRINUSE 71,3276 -#define EADDRNOTAVAIL 72,3327 -#define ENETDOWN 73,3390 -#define ENETUNREACH 74,3433 -#define ENETRESET 75,3486 -#define ECONNABORTED 76,3558 -#define ECONNRESET 77,3622 -#define ENOBUFS 78,3676 -#define EISCONN 79,3729 -#define ENOTCONN 80,3796 -#define ESHUTDOWN 81,3859 -#define ETOOMANYREFS 82,3933 -#define ETIMEDOUT 83,3999 -#define ECONNREFUSED 84,4048 -#define EHOSTDOWN 85,4098 -#define EHOSTUNREACH 86,4139 -#define EALREADY 87,4187 -#define EINPROGRESS 88,4244 -#define ESTALE 89,4300 -#define EUCLEAN 90,4348 -#define ENOTNAM 91,4400 -#define ENAVAIL 92,4455 -#define EISNAM 93,4512 -#define EREMOTEIO 94,4559 -#define EDQUOT 95,4604 -#define ENOMEDIUM 97,4646 -#define EMEDIUMTYPE 98,4690 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/dma-mapping-broken.h,92 -#define _ASM_GENERIC_DMA_MAPPING_H2,35 -dma_alloc_coherent(8,147 -dma_free_coherent(16,281 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/bitops.h,313 -#define _ASM_GENERIC_BITOPS_H_2,31 -extern __inline__ int set_bit(19,688 -extern __inline__ int clear_bit(32,886 -extern __inline__ int test_bit(45,1088 -#define fls(fls58,1282 -#define ffs(ffs68,1508 -#define hweight32(hweight3275,1636 -#define hweight16(hweight1676,1678 -#define hweight8(hweight877,1720 - -/export0/mef/linux-2.6.9-1.11_FC2/include/asm-generic/topology.h,311 -#define _ASM_GENERIC_TOPOLOGY_H28,982 -#define cpu_to_node(cpu_to_node33,1190 -#define parent_node(parent_node36,1246 -#define node_to_cpumask(node_to_cpumask39,1307 -#define node_to_first_cpu(node_to_first_cpu42,1387 -#define pcibus_to_cpumask(pcibus_to_cpumask45,1456 -#define NODE_BALANCE_RATE 50,1580 diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index d770bb867..67ac95088 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig @@ -32,6 +32,10 @@ config GENERIC_ISA_DMA bool default y +config GENERIC_IOMAP + bool + default n + source "init/Kconfig" @@ -462,11 +466,6 @@ config ALPHA_SRM If unsure, say N. -config EARLY_PRINTK - bool - depends on ALPHA_GENERIC || ALPHA_SRM - default y - config EISA bool depends on ALPHA_GENERIC || ALPHA_JENSEN || ALPHA_ALCOR || ALPHA_MIKASA || ALPHA_SABLE || ALPHA_LYNX || ALPHA_NORITAKE || ALPHA_RAWHIDE @@ -593,104 +592,7 @@ source "fs/Kconfig" source "arch/alpha/oprofile/Kconfig" -menu "Kernel hacking" - -config ALPHA_LEGACY_START_ADDRESS - bool "Legacy kernel start address" - depends on ALPHA_GENERIC - default n - ---help--- - The 2.4 kernel changed the kernel start address from 0x310000 - to 0x810000 to make room for the Wildfire's larger SRM console. - Recent consoles on Titan and Marvel machines also require the - extra room. - - If you're using aboot 0.7 or later, the bootloader will examine the - ELF headers to determine where to transfer control. Unfortunately, - most older bootloaders -- APB or MILO -- hardcoded the kernel start - address rather than examining the ELF headers, and the result is a - hard lockup. - - Say Y if you have a broken bootloader. Say N if you do not, or if - you wish to run on Wildfire, Titan, or Marvel. - -config ALPHA_LEGACY_START_ADDRESS - bool - depends on !ALPHA_GENERIC && !ALPHA_TITAN && !ALPHA_MARVEL && !ALPHA_WILDFIRE - default y - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config MATHEMU - tristate "Kernel FP software completion" if DEBUG_KERNEL && !SMP - default y if !DEBUG_KERNEL || SMP - help - This option is required for IEEE compliant floating point arithmetic - on the Alpha. The only time you would ever not say Y is to say M in - order to debug the code. Say Y unless you know what you are doing. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_RWLOCK - bool "Read-write spinlock debugging" - depends on DEBUG_KERNEL - help - If you say Y here then read-write lock processing will count how many - times it has tried to get the lock and issue an error message after - too many attempts. If you suspect a rwlock problem or a kernel - hacker asks for this option then say Y. Otherwise say N. - -config DEBUG_SEMAPHORE - bool "Semaphore debugging" - depends on DEBUG_KERNEL - help - If you say Y here then semaphore processing will issue lots of - verbose debugging messages. If you suspect a semaphore problem or a - kernel hacker asks for this option then say Y. Otherwise say N. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -endmenu +source "arch/alpha/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/alpha/Makefile b/arch/alpha/Makefile index 0337f5f0d..c21132e4f 100644 --- a/arch/alpha/Makefile +++ b/arch/alpha/Makefile @@ -11,7 +11,7 @@ NM := $(NM) -B LDFLAGS_vmlinux := -static -N #-relax -CHECK := $(CHECK) -D__alpha__=1 +CHECKFLAGS += -D__alpha__ cflags-y := -pipe -mno-fp-regs -ffixed-8 # Determine if we can use the BWX instructions with GAS. @@ -22,15 +22,11 @@ $(error The assembler '$(AS)' does not support the BWX instruction) endif # Determine if GCC understands the -mcpu= option. -have_mcpu := $(shell if $(CC) -mcpu=ev5 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi) - -have_mcpu_pca56 := $(shell if $(CC) -mcpu=pca56 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi) - -have_mcpu_ev6 := $(shell if $(CC) -mcpu=ev6 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi) - -have_mcpu_ev67 := $(shell if $(CC) -mcpu=ev67 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi) - -have_msmall_data := $(shell if $(CC) -msmall-data -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi) +have_mcpu := $(call cc-option-yn, -mcpu=ev5) +have_mcpu_pca56 := $(call cc-option-yn, -mcpu=pca56) +have_mcpu_ev6 := $(call cc-option-yn, -mcpu=ev6) +have_mcpu_ev67 := $(call cc-option-yn, -mcpu=ev67) +have_msmall_data := $(call cc-option-yn, -msmall-data) cflags-$(have_msmall_data) += -msmall-data diff --git a/arch/alpha/defconfig b/arch/alpha/defconfig index da929a2ae..6ac8d4a7d 100644 --- a/arch/alpha/defconfig +++ b/arch/alpha/defconfig @@ -1,38 +1,48 @@ # # Automatically generated make config: don't edit +# Linux kernel version: 2.6.9-rc2 +# Sat Sep 25 15:38:35 2004 # CONFIG_ALPHA=y CONFIG_64BIT=y CONFIG_MMU=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_ISA_DMA=y +# CONFIG_GENERIC_IOMAP is not set # # Code maturity level options # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y -CONFIG_STANDALONE=y CONFIG_BROKEN_ON_SMP=y # # General setup # +CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set CONFIG_LOG_BUF_SHIFT=14 # CONFIG_HOTPLUG is not set # CONFIG_IKCONFIG is not set # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -84,7 +94,6 @@ CONFIG_PCI=y CONFIG_PCI_DOMAINS=y CONFIG_ALPHA_CORE_AGP=y CONFIG_ALPHA_BROKEN_IRQ_MASK=y -CONFIG_EARLY_PRINTK=y CONFIG_EISA=y # CONFIG_SMP is not set # CONFIG_DISCONTIGMEM is not set @@ -108,6 +117,8 @@ CONFIG_BINFMT_ELF=y # # Generic Driver Options # +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_DEBUG_DRIVER is not set # @@ -130,7 +141,6 @@ CONFIG_PNP=y # Protocols # CONFIG_ISAPNP=y -# CONFIG_PNPBIOS is not set # # Block devices @@ -144,7 +154,7 @@ CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_LOOP=m # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_CARMEL is not set +# CONFIG_BLK_DEV_SX8 is not set # CONFIG_BLK_DEV_RAM is not set # @@ -157,9 +167,9 @@ CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # +# CONFIG_BLK_DEV_IDE_SATA is not set CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y -# CONFIG_IDEDISK_STROKE is not set CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set @@ -181,7 +191,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set -CONFIG_BLK_DEV_ADMA=y # CONFIG_BLK_DEV_AEC62XX is not set CONFIG_BLK_DEV_ALI15X3=y # CONFIG_WDC_ALI15X3 is not set @@ -203,6 +212,7 @@ CONFIG_BLK_DEV_CY82C693=y # CONFIG_BLK_DEV_SLC90E66 is not set # CONFIG_BLK_DEV_TRM290 is not set # CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE_ARM is not set # CONFIG_IDE_CHIPSETS is not set CONFIG_BLK_DEV_IDEDMA=y # CONFIG_IDEDMA_IVB is not set @@ -229,7 +239,6 @@ CONFIG_BLK_DEV_SR_VENDOR=y # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # # CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_REPORT_LUNS is not set # CONFIG_SCSI_CONSTANTS is not set # CONFIG_SCSI_LOGGING is not set @@ -243,6 +252,7 @@ CONFIG_BLK_DEV_SR_VENDOR=y # SCSI low-level drivers # # CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_7000FASST is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AHA1542 is not set @@ -252,18 +262,16 @@ CONFIG_SCSI_AIC7XXX=m CONFIG_AIC7XXX_CMDS_PER_DEVICE=253 CONFIG_AIC7XXX_RESET_DELAY_MS=5000 # CONFIG_AIC7XXX_PROBE_EISA_VL is not set -# CONFIG_AIC7XXX_BUILD_FIRMWARE is not set # CONFIG_AIC7XXX_DEBUG_ENABLE is not set CONFIG_AIC7XXX_DEBUG_MASK=0 CONFIG_AIC7XXX_REG_PRETTY_PRINT=y # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set -# CONFIG_SCSI_MEGARAID is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set # CONFIG_SCSI_SATA is not set # CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA is not set @@ -276,6 +284,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_NCR53C406A is not set # CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_PSI240I is not set # CONFIG_SCSI_QLOGIC_FAS is not set @@ -320,6 +329,7 @@ CONFIG_SCSI_QLA2XXX=y # # I2O device support # +# CONFIG_I2O is not set # # Networking support @@ -342,19 +352,17 @@ CONFIG_IP_MULTICAST=y # CONFIG_NET_IPGRE is not set # CONFIG_IP_MROUTE is not set # CONFIG_ARPD is not set -CONFIG_INET_ECN=y # CONFIG_SYN_COOKIES is not set CONFIG_INET_AH=m CONFIG_INET_ESP=m # CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set # # IP: Virtual Server Configuration # # CONFIG_IP_VS is not set # CONFIG_IPV6 is not set -# CONFIG_DECNET is not set -# CONFIG_BRIDGE is not set CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set @@ -362,6 +370,8 @@ CONFIG_NETFILTER=y # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=m +# CONFIG_IP_NF_CT_ACCT is not set +# CONFIG_IP_NF_CT_PROTO_SCTP is not set CONFIG_IP_NF_FTP=m CONFIG_IP_NF_IRC=m # CONFIG_IP_NF_TFTP is not set @@ -386,8 +396,15 @@ CONFIG_IP_NF_IPTABLES=m # CONFIG_IP_NF_MATCH_STATE is not set # CONFIG_IP_NF_MATCH_CONNTRACK is not set # CONFIG_IP_NF_MATCH_OWNER is not set +# CONFIG_IP_NF_MATCH_ADDRTYPE is not set +# CONFIG_IP_NF_MATCH_REALM is not set +# CONFIG_IP_NF_MATCH_SCTP is not set +# CONFIG_IP_NF_MATCH_COMMENT is not set CONFIG_IP_NF_FILTER=m # CONFIG_IP_NF_TARGET_REJECT is not set +# CONFIG_IP_NF_TARGET_LOG is not set +# CONFIG_IP_NF_TARGET_ULOG is not set +# CONFIG_IP_NF_TARGET_TCPMSS is not set CONFIG_IP_NF_NAT=m CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -399,9 +416,7 @@ CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_NAT_IRC=m CONFIG_IP_NF_NAT_FTP=m # CONFIG_IP_NF_MANGLE is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_ULOG is not set -# CONFIG_IP_NF_TARGET_TCPMSS is not set +# CONFIG_IP_NF_RAW is not set # CONFIG_IP_NF_ARPTABLES is not set CONFIG_IP_NF_COMPAT_IPCHAINS=y CONFIG_XFRM=y @@ -410,10 +425,11 @@ CONFIG_XFRM_USER=m # # SCTP Configuration (EXPERIMENTAL) # -CONFIG_IPV6_SCTP__=y # CONFIG_IP_SCTP is not set # CONFIG_ATM is not set +# CONFIG_BRIDGE is not set CONFIG_VLAN_8021Q=m +# CONFIG_DECNET is not set # CONFIG_LLC2 is not set # CONFIG_IPX is not set # CONFIG_ATALK is not set @@ -428,17 +444,18 @@ CONFIG_VLAN_8021Q=m # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +# CONFIG_NET_CLS_ROUTE is not set # # Network testing # # CONFIG_NET_PKTGEN is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set CONFIG_NETDEVICES=y - -# -# ARCnet devices -# -# CONFIG_ARCNET is not set CONFIG_DUMMY=m # CONFIG_BONDING is not set # CONFIG_EQUALIZER is not set @@ -446,6 +463,11 @@ CONFIG_DUMMY=m # CONFIG_ETHERTAP is not set # CONFIG_NET_SB1000 is not set +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + # # Ethernet (10 or 100Mbit) # @@ -506,6 +528,7 @@ CONFIG_NET_PCI=y # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set # CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set # CONFIG_NET_POCKET is not set # @@ -518,7 +541,6 @@ CONFIG_NET_PCI=y # CONFIG_HAMACHI is not set CONFIG_YELLOWFIN=y # CONFIG_R8169 is not set -# CONFIG_SIS190 is not set # CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set @@ -526,45 +548,29 @@ CONFIG_YELLOWFIN=y # Ethernet (10000 Mbit) # # CONFIG_IXGB is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set - -# -# Wireless LAN (non-hamradio) -# -# CONFIG_NET_RADIO is not set +# CONFIG_S2IO is not set # # Token Ring devices # # CONFIG_TR is not set -# CONFIG_NET_FC is not set -# CONFIG_SHAPER is not set -# CONFIG_NETCONSOLE is not set - -# -# Wan interfaces -# -# CONFIG_WAN is not set # -# Amateur Radio support -# -# CONFIG_HAMRADIO is not set - -# -# IrDA (infrared) support +# Wireless LAN (non-hamradio) # -# CONFIG_IRDA is not set +# CONFIG_NET_RADIO is not set # -# Bluetooth support +# Wan interfaces # -# CONFIG_BT is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_WAN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_NET_FC is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set # # ISDN subsystem @@ -603,6 +609,7 @@ CONFIG_SERIO_I8042=y CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PCIPS2 is not set +# CONFIG_SERIO_RAW is not set # # Input Device Drivers @@ -648,7 +655,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_QIC02_TAPE is not set # # IPMI @@ -677,6 +683,11 @@ CONFIG_RTC=y # # CONFIG_I2C is not set +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + # # Misc devices # @@ -728,6 +739,7 @@ CONFIG_EXT2_FS=y CONFIG_REISERFS_FS=m # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_REISERFS_FS_XATTR is not set # CONFIG_JFS_FS is not set # CONFIG_XFS_FS is not set # CONFIG_MINIX_FS is not set @@ -750,6 +762,8 @@ CONFIG_ISO9660_FS=y CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # CONFIG_NTFS_FS is not set # @@ -757,6 +771,7 @@ CONFIG_VFAT_FS=y # CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y +CONFIG_SYSFS=y # CONFIG_DEVFS_FS is not set # CONFIG_DEVPTS_FS_XATTR is not set CONFIG_TMPFS=y @@ -796,11 +811,11 @@ CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=m CONFIG_SUNRPC=m # CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set -# CONFIG_INTERMEZZO_FS is not set # CONFIG_AFS_FS is not set # @@ -838,6 +853,7 @@ CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set # CONFIG_NLS_ISO8859_1 is not set # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set @@ -861,15 +877,16 @@ CONFIG_NLS_CODEPAGE_437=y # # Kernel hacking # -CONFIG_ALPHA_LEGACY_START_ADDRESS=y CONFIG_DEBUG_KERNEL=y -CONFIG_MATHEMU=y -# CONFIG_DEBUG_SLAB is not set CONFIG_MAGIC_SYSRQ=y +# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SPINLOCK is not set +CONFIG_DEBUG_INFO=y +CONFIG_EARLY_PRINTK=y # CONFIG_DEBUG_RWLOCK is not set # CONFIG_DEBUG_SEMAPHORE is not set -CONFIG_DEBUG_INFO=y +CONFIG_ALPHA_LEGACY_START_ADDRESS=y +CONFIG_MATHEMU=y # # Security options @@ -887,6 +904,7 @@ CONFIG_CRYPTO_MD5=m CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WHIRLPOOL is not set CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -894,11 +912,17 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_DEFLATE is not set +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_TEST is not set # # Library routines # +# CONFIG_CRC_CCITT is not set CONFIG_CRC32=y +# CONFIG_LIBCRC32C is not set diff --git a/arch/alpha/kernel/core_cia.c b/arch/alpha/kernel/core_cia.c index f5245ab2f..fd5630643 100644 --- a/arch/alpha/kernel/core_cia.c +++ b/arch/alpha/kernel/core_cia.c @@ -282,7 +282,7 @@ void cia_pci_tbi_try2(struct pci_controller *hose, dma_addr_t start, dma_addr_t end) { - unsigned long bus_addr; + void __iomem *bus_addr; int ctrl; /* Put the chip into PCI loopback mode. */ @@ -351,7 +351,7 @@ verify_tb_operation(void) struct pci_iommu_arena *arena = pci_isa_hose->sg_isa; int ctrl, addr0, tag0, pte0, data0; int temp, use_tbia_try2 = 0; - unsigned long bus_addr; + void __iomem *bus_addr; /* pyxis -- tbia is broken */ if (pci_isa_hose->dense_io_base) diff --git a/arch/alpha/kernel/core_irongate.c b/arch/alpha/kernel/core_irongate.c index 50b7dd3d5..138d497d1 100644 --- a/arch/alpha/kernel/core_irongate.c +++ b/arch/alpha/kernel/core_irongate.c @@ -310,7 +310,7 @@ irongate_init_arch(void) #define GET_GATT_OFF(addr) ((addr & 0x003ff000) >> 12) #define GET_GATT(addr) (gatt_pages[GET_PAGE_DIR_IDX(addr)]) -unsigned long +void __iomem * irongate_ioremap(unsigned long addr, unsigned long size) { struct vm_struct *area; @@ -320,7 +320,7 @@ irongate_ioremap(unsigned long addr, unsigned long size) unsigned long gart_bus_addr; if (!alpha_agpgart_size) - return addr + IRONGATE_MEM; + return (void __iomem *)(addr + IRONGATE_MEM); gart_bus_addr = (unsigned long)IRONGATE0->bar0 & PCI_BASE_ADDRESS_MEM_MASK; @@ -339,7 +339,7 @@ irongate_ioremap(unsigned long addr, unsigned long size) /* * Not found - assume legacy ioremap */ - return addr + IRONGATE_MEM; + return (void __iomem *)(addr + IRONGATE_MEM); } while(0); mmio_regs = (u32 *)(((unsigned long)IRONGATE0->bar1 & @@ -353,7 +353,7 @@ irongate_ioremap(unsigned long addr, unsigned long size) if (addr & ~PAGE_MASK) { printk("AGP ioremap failed... addr not page aligned (0x%lx)\n", addr); - return addr + IRONGATE_MEM; + return (void __iomem *)(addr + IRONGATE_MEM); } last = addr + size - 1; size = PAGE_ALIGN(last) - addr; @@ -378,7 +378,7 @@ irongate_ioremap(unsigned long addr, unsigned long size) * Map it */ area = get_vm_area(size, VM_IOREMAP); - if (!area) return (unsigned long)NULL; + if (!area) return NULL; for(baddr = addr, vaddr = (unsigned long)area->addr; baddr <= last; @@ -391,7 +391,7 @@ irongate_ioremap(unsigned long addr, unsigned long size) pte, PAGE_SIZE, 0)) { printk("AGP ioremap: FAILED to map...\n"); vfree(area->addr); - return (unsigned long)NULL; + return NULL; } } @@ -402,13 +402,15 @@ irongate_ioremap(unsigned long addr, unsigned long size) printk("irongate_ioremap(0x%lx, 0x%lx) returning 0x%lx\n", addr, size, vaddr); #endif - return vaddr; + return (void __iomem *)vaddr; } void -irongate_iounmap(unsigned long addr) +irongate_iounmap(volatile void __iomem *xaddr) { + unsigned long addr = (unsigned long) xaddr; if (((long)addr >> 41) == -2) return; /* kseg map, nothing to do */ - if (addr) return vfree((void *)(PAGE_MASK & addr)); + if (addr) + return vfree((void *)(PAGE_MASK & addr)); } diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c index 9bde638e8..bb4fe0498 100644 --- a/arch/alpha/kernel/core_marvel.c +++ b/arch/alpha/kernel/core_marvel.c @@ -610,11 +610,84 @@ marvel_pci_tbi(struct pci_controller *hose, dma_addr_t start, dma_addr_t end) csrs->POx_SG_TBIA.csr; } + + +/* + * RTC Support + */ +struct marvel_rtc_access_info { + unsigned long function; + unsigned long index; + unsigned long data; +}; + +static void +__marvel_access_rtc(void *info) +{ + struct marvel_rtc_access_info *rtc_access = info; + + register unsigned long __r0 __asm__("$0"); + register unsigned long __r16 __asm__("$16") = rtc_access->function; + register unsigned long __r17 __asm__("$17") = rtc_access->index; + register unsigned long __r18 __asm__("$18") = rtc_access->data; + + __asm__ __volatile__( + "call_pal %4 # cserve rtc" + : "=r"(__r16), "=r"(__r17), "=r"(__r18), "=r"(__r0) + : "i"(PAL_cserve), "0"(__r16), "1"(__r17), "2"(__r18) + : "$1", "$22", "$23", "$24", "$25"); + + rtc_access->data = __r0; +} + +static u8 +__marvel_rtc_io(u8 b, unsigned long addr, int write) +{ + static u8 index = 0; + + struct marvel_rtc_access_info rtc_access; + u8 ret = 0; + + switch(addr) { + case 0x70: /* RTC_PORT(0) */ + if (write) index = b; + ret = index; + break; + + case 0x71: /* RTC_PORT(1) */ + rtc_access.index = index; + rtc_access.data = BCD_TO_BIN(b); + rtc_access.function = 0x48 + !write; /* GET/PUT_TOY */ + +#ifdef CONFIG_SMP + if (smp_processor_id() != boot_cpuid) + smp_call_function_on_cpu(__marvel_access_rtc, + &rtc_access, 1, 1, + cpumask_of_cpu(boot_cpuid)); + else + __marvel_access_rtc(&rtc_access); +#else + __marvel_access_rtc(&rtc_access); +#endif + ret = BIN_TO_BCD(rtc_access.data); + break; + + default: + printk(KERN_WARNING "Illegal RTC port %lx\n", addr); + break; + } + + return ret; +} + /* * IO map support. */ -unsigned long + +#define __marvel_is_mem_vga(a) (((a) >= 0xa0000) && ((a) <= 0xc0000)) + +void __iomem * marvel_ioremap(unsigned long addr, unsigned long size) { struct pci_controller *hose; @@ -633,8 +706,6 @@ marvel_ioremap(unsigned long addr, unsigned long size) } #endif - if (!marvel_is_ioaddr(addr)) return 0UL; - /* * Find the hose. */ @@ -643,7 +714,7 @@ marvel_ioremap(unsigned long addr, unsigned long size) break; } if (!hose) - return 0UL; + return NULL; /* * We have the hose - calculate the bus limits. @@ -655,15 +726,17 @@ marvel_ioremap(unsigned long addr, unsigned long size) * Is it direct-mapped? */ if ((baddr >= __direct_map_base) && - ((baddr + size - 1) < __direct_map_base + __direct_map_size)) - return IDENT_ADDR | (baddr - __direct_map_base); + ((baddr + size - 1) < __direct_map_base + __direct_map_size)) { + addr = IDENT_ADDR | (baddr - __direct_map_base); + return (void __iomem *) addr; + } /* * Check the scatter-gather arena. */ if (hose->sg_pci && baddr >= (unsigned long)hose->sg_pci->dma_base && - last < (unsigned long)hose->sg_pci->dma_base + hose->sg_pci->size){ + last < (unsigned long)hose->sg_pci->dma_base + hose->sg_pci->size) { /* * Adjust the limits (mappings must be page aligned) @@ -677,7 +750,9 @@ marvel_ioremap(unsigned long addr, unsigned long size) * Map it. */ area = get_vm_area(size, VM_IOREMAP); - if (!area) return (unsigned long)NULL; + if (!area) + return NULL; + ptes = hose->sg_pci->ptes; for (vaddr = (unsigned long)area->addr; baddr <= last; @@ -686,7 +761,7 @@ marvel_ioremap(unsigned long addr, unsigned long size) if (!(pfn & 1)) { printk("ioremap failed... pte not valid...\n"); vfree(area->addr); - return 0UL; + return NULL; } pfn >>= 1; /* make it a true pfn */ @@ -695,7 +770,7 @@ marvel_ioremap(unsigned long addr, unsigned long size) PAGE_SIZE, 0)) { printk("FAILED to map...\n"); vfree(area->addr); - return 0UL; + return NULL; } } @@ -703,101 +778,81 @@ marvel_ioremap(unsigned long addr, unsigned long size) vaddr = (unsigned long)area->addr + (addr & ~PAGE_MASK); - return vaddr; + return (void __iomem *) vaddr; } - /* - * Not found - assume legacy ioremap. - */ - return addr; + return NULL; } void -marvel_iounmap(unsigned long addr) +marvel_iounmap(volatile void __iomem *xaddr) { - if (((long)addr >> 41) == -2) - return; /* kseg map, nothing to do */ - if (addr) + unsigned long addr = (unsigned long) xaddr; + if (addr >= VMALLOC_START) vfree((void *)(PAGE_MASK & addr)); } -#ifndef CONFIG_ALPHA_GENERIC -EXPORT_SYMBOL(marvel_ioremap); -EXPORT_SYMBOL(marvel_iounmap); -#endif - - -/* - * RTC Support - */ -struct marvel_rtc_access_info { - unsigned long function; - unsigned long index; - unsigned long data; -}; - -static void -__marvel_access_rtc(void *info) +int +marvel_is_mmio(const volatile void __iomem *xaddr) { - struct marvel_rtc_access_info *rtc_access = info; - - register unsigned long __r0 __asm__("$0"); - register unsigned long __r16 __asm__("$16") = rtc_access->function; - register unsigned long __r17 __asm__("$17") = rtc_access->index; - register unsigned long __r18 __asm__("$18") = rtc_access->data; - - __asm__ __volatile__( - "call_pal %4 # cserve rtc" - : "=r"(__r16), "=r"(__r17), "=r"(__r18), "=r"(__r0) - : "i"(PAL_cserve), "0"(__r16), "1"(__r17), "2"(__r18) - : "$1", "$22", "$23", "$24", "$25"); + unsigned long addr = (unsigned long) xaddr; - rtc_access->data = __r0; + if (addr >= VMALLOC_START) + return 1; + else + return (addr & 0xFF000000UL) == 0; } -u8 -__marvel_rtc_io(int write, u8 b, unsigned long addr) -{ - struct marvel_rtc_access_info rtc_access = {0, }; - static u8 index = 0; - u8 ret = 0; - - switch(addr) { - case 0x70: /* RTC_PORT(0) */ - if (write) index = b; - ret = index; - break; +#define __marvel_is_port_vga(a) \ + (((a) >= 0x3b0) && ((a) < 0x3e0) && ((a) != 0x3b3) && ((a) != 0x3d3)) +#define __marvel_is_port_kbd(a) (((a) == 0x60) || ((a) == 0x64)) +#define __marvel_is_port_rtc(a) (((a) == 0x70) || ((a) == 0x71)) - case 0x71: /* RTC_PORT(1) */ - rtc_access.index = index; - rtc_access.data = BCD_TO_BIN(b); - rtc_access.function = 0x49; /* GET_TOY */ - if (write) rtc_access.function = 0x48; /* PUT_TOY */ - -#ifdef CONFIG_SMP - if (smp_processor_id() != boot_cpuid) - smp_call_function_on_cpu(__marvel_access_rtc, - &rtc_access, - 1, /* retry */ - 1, /* wait */ - 1UL << boot_cpuid); - else - __marvel_access_rtc(&rtc_access); -#else - __marvel_access_rtc(&rtc_access); +void __iomem *marvel_ioportmap (unsigned long addr) +{ + if (__marvel_is_port_rtc (addr) || __marvel_is_port_kbd(addr)) + ; +#ifdef CONFIG_VGA_HOSE + else if (__marvel_is_port_vga (addr) && pci_vga_hose) + addr += pci_vga_hose->io_space->start; #endif - ret = BIN_TO_BCD(rtc_access.data); - - break; + else + return NULL; + return (void __iomem *)addr; +} - default: - printk(KERN_WARNING "Illegal RTC port %lx\n", addr); - break; - } +unsigned int +marvel_ioread8(void __iomem *xaddr) +{ + unsigned long addr = (unsigned long) xaddr; + if (__marvel_is_port_kbd(addr)) + return 0; + else if (__marvel_is_port_rtc(addr)) + return __marvel_rtc_io(0, addr, 0); + else + return __kernel_ldbu(*(vucp)addr); +} - return ret; +void +marvel_iowrite8(u8 b, void __iomem *xaddr) +{ + unsigned long addr = (unsigned long) xaddr; + if (__marvel_is_port_kbd(addr)) + return; + else if (__marvel_is_port_rtc(addr)) + __marvel_rtc_io(b, addr, 1); + else + __kernel_stb(b, *(vucp)addr); } +#ifndef CONFIG_ALPHA_GENERIC +EXPORT_SYMBOL(marvel_ioremap); +EXPORT_SYMBOL(marvel_iounmap); +EXPORT_SYMBOL(marvel_is_mmio); +EXPORT_SYMBOL(marvel_ioportmap); +EXPORT_SYMBOL(marvel_ioread8); +EXPORT_SYMBOL(marvel_iowrite8); +#endif /* * NUMA Support diff --git a/arch/alpha/kernel/core_titan.c b/arch/alpha/kernel/core_titan.c index 3ddec9a87..3662fef7d 100644 --- a/arch/alpha/kernel/core_titan.c +++ b/arch/alpha/kernel/core_titan.c @@ -461,7 +461,8 @@ titan_kill_arch(int mode) /* * IO map support. */ -unsigned long + +void __iomem * titan_ioremap(unsigned long addr, unsigned long size) { int h = (addr & TITAN_HOSE_MASK) >> TITAN_HOSE_SHIFT; @@ -487,15 +488,19 @@ titan_ioremap(unsigned long addr, unsigned long size) * Find the hose. */ for (hose = hose_head; hose; hose = hose->next) - if (hose->index == h) break; - if (!hose) return (unsigned long)NULL; + if (hose->index == h) + break; + if (!hose) + return NULL; /* * Is it direct-mapped? */ if ((baddr >= __direct_map_base) && - ((baddr + size - 1) < __direct_map_base + __direct_map_size)) - return addr - __direct_map_base + TITAN_MEM_BIAS; + ((baddr + size - 1) < __direct_map_base + __direct_map_size)) { + vaddr = addr - __direct_map_base + TITAN_MEM_BIAS; + return (void __iomem *) vaddr; + } /* * Check the scatter-gather arena. @@ -516,7 +521,9 @@ titan_ioremap(unsigned long addr, unsigned long size) * Map it */ area = get_vm_area(size, VM_IOREMAP); - if (!area) return (unsigned long)NULL; + if (!area) + return NULL; + ptes = hose->sg_pci->ptes; for (vaddr = (unsigned long)area->addr; baddr <= last; @@ -525,7 +532,7 @@ titan_ioremap(unsigned long addr, unsigned long size) if (!(pfn & 1)) { printk("ioremap failed... pte not valid...\n"); vfree(area->addr); - return (unsigned long)NULL; + return NULL; } pfn >>= 1; /* make it a true pfn */ @@ -534,35 +541,42 @@ titan_ioremap(unsigned long addr, unsigned long size) PAGE_SIZE, 0)) { printk("FAILED to map...\n"); vfree(area->addr); - return (unsigned long)NULL; + return NULL; } } flush_tlb_all(); vaddr = (unsigned long)area->addr + (addr & ~PAGE_MASK); - return vaddr; + return (void __iomem *) vaddr; } - /* - * Not found - assume legacy ioremap. - */ - return addr + TITAN_MEM_BIAS; - + return NULL; } void -titan_iounmap(unsigned long addr) +titan_iounmap(volatile void __iomem *xaddr) { - if (((long)addr >> 41) == -2) - return; /* kseg map, nothing to do */ - if (addr) + unsigned long addr = (unsigned long) xaddr; + if (addr >= VMALLOC_START) vfree((void *)(PAGE_MASK & addr)); } +int +titan_is_mmio(const volatile void __iomem *xaddr) +{ + unsigned long addr = (unsigned long) xaddr; + + if (addr >= VMALLOC_START) + return 1; + else + return (addr & 0x100000000UL) == 0; +} + #ifndef CONFIG_ALPHA_GENERIC EXPORT_SYMBOL(titan_ioremap); EXPORT_SYMBOL(titan_iounmap); +EXPORT_SYMBOL(titan_is_mmio); #endif /* diff --git a/arch/alpha/kernel/err_titan.c b/arch/alpha/kernel/err_titan.c index 897ea1a15..7e6720d45 100644 --- a/arch/alpha/kernel/err_titan.c +++ b/arch/alpha/kernel/err_titan.c @@ -177,7 +177,7 @@ titan_parse_p_perror(int which, int port, u64 perror, int print) #define TITAN__PCHIP_PERROR__CMD__S (52) #define TITAN__PCHIP_PERROR__CMD__M (0x0f) #define TITAN__PCHIP_PERROR__ADDR__S (14) -#define TITAN__PCHIP_PERROR__ADDR__M (0x1ffffffff) +#define TITAN__PCHIP_PERROR__ADDR__M (0x1fffffffful) if (!(perror & TITAN__PCHIP_PERROR__ERRMASK)) return MCHK_DISPOSITION_UNKNOWN_ERROR; diff --git a/arch/alpha/kernel/irq.c b/arch/alpha/kernel/irq.c index ee987528a..199435fb9 100644 --- a/arch/alpha/kernel/irq.c +++ b/arch/alpha/kernel/irq.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -83,6 +84,7 @@ handle_IRQ_event(unsigned int irq, struct pt_regs *regs, struct irqaction *action) { int status = 1; /* Force the "do bottom halves" bit */ + int ret; do { if (!(action->flags & SA_INTERRUPT)) @@ -90,8 +92,9 @@ handle_IRQ_event(unsigned int irq, struct pt_regs *regs, else local_irq_disable(); - status |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -288,31 +291,6 @@ irq_affinity_write_proc(struct file *file, const char __user *buffer, return full_count; } -static int -prof_cpu_mask_read_proc(char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int -prof_cpu_mask_write_proc(struct file *file, const char __user *buffer, - unsigned long count, void *data) -{ - unsigned long full_count = count, err; - cpumask_t new_value, *mask = (cpumask_t *)data; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} #endif /* CONFIG_SMP */ #define MAX_NAMELEN 10 @@ -350,14 +328,9 @@ register_irq_proc (unsigned int irq) #endif } -unsigned long prof_cpu_mask = ~0UL; - void init_irq_proc (void) { -#ifdef CONFIG_SMP - struct proc_dir_entry *entry; -#endif int i; /* create /proc/irq */ @@ -365,12 +338,7 @@ init_irq_proc (void) #ifdef CONFIG_SMP /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); #endif /* diff --git a/arch/alpha/kernel/machvec_impl.h b/arch/alpha/kernel/machvec_impl.h index 348597bdb..4959b7a3e 100644 --- a/arch/alpha/kernel/machvec_impl.h +++ b/arch/alpha/kernel/machvec_impl.h @@ -44,56 +44,60 @@ #define DO_DEFAULT_RTC rtc_port: 0x70 #define DO_EV4_MMU \ - max_asn: EV4_MAX_ASN, \ - mv_switch_mm: ev4_switch_mm, \ - mv_activate_mm: ev4_activate_mm, \ - mv_flush_tlb_current: ev4_flush_tlb_current, \ - mv_flush_tlb_current_page: ev4_flush_tlb_current_page + .max_asn = EV4_MAX_ASN, \ + .mv_switch_mm = ev4_switch_mm, \ + .mv_activate_mm = ev4_activate_mm, \ + .mv_flush_tlb_current = ev4_flush_tlb_current, \ + .mv_flush_tlb_current_page = ev4_flush_tlb_current_page #define DO_EV5_MMU \ - max_asn: EV5_MAX_ASN, \ - mv_switch_mm: ev5_switch_mm, \ - mv_activate_mm: ev5_activate_mm, \ - mv_flush_tlb_current: ev5_flush_tlb_current, \ - mv_flush_tlb_current_page: ev5_flush_tlb_current_page + .max_asn = EV5_MAX_ASN, \ + .mv_switch_mm = ev5_switch_mm, \ + .mv_activate_mm = ev5_activate_mm, \ + .mv_flush_tlb_current = ev5_flush_tlb_current, \ + .mv_flush_tlb_current_page = ev5_flush_tlb_current_page #define DO_EV6_MMU \ - max_asn: EV6_MAX_ASN, \ - mv_switch_mm: ev5_switch_mm, \ - mv_activate_mm: ev5_activate_mm, \ - mv_flush_tlb_current: ev5_flush_tlb_current, \ - mv_flush_tlb_current_page: ev5_flush_tlb_current_page + .max_asn = EV6_MAX_ASN, \ + .mv_switch_mm = ev5_switch_mm, \ + .mv_activate_mm = ev5_activate_mm, \ + .mv_flush_tlb_current = ev5_flush_tlb_current, \ + .mv_flush_tlb_current_page = ev5_flush_tlb_current_page #define DO_EV7_MMU \ - max_asn: EV6_MAX_ASN, \ - mv_switch_mm: ev5_switch_mm, \ - mv_activate_mm: ev5_activate_mm, \ - mv_flush_tlb_current: ev5_flush_tlb_current, \ - mv_flush_tlb_current_page: ev5_flush_tlb_current_page + .max_asn = EV6_MAX_ASN, \ + .mv_switch_mm = ev5_switch_mm, \ + .mv_activate_mm = ev5_activate_mm, \ + .mv_flush_tlb_current = ev5_flush_tlb_current, \ + .mv_flush_tlb_current_page = ev5_flush_tlb_current_page #define IO_LITE(UP,low) \ - hae_register: (unsigned long *) CAT(UP,_HAE_ADDRESS), \ - iack_sc: CAT(UP,_IACK_SC), \ - mv_inb: CAT(low,_inb), \ - mv_inw: CAT(low,_inw), \ - mv_inl: CAT(low,_inl), \ - mv_outb: CAT(low,_outb), \ - mv_outw: CAT(low,_outw), \ - mv_outl: CAT(low,_outl), \ - mv_readb: CAT(low,_readb), \ - mv_readw: CAT(low,_readw), \ - mv_readl: CAT(low,_readl), \ - mv_readq: CAT(low,_readq), \ - mv_writeb: CAT(low,_writeb), \ - mv_writew: CAT(low,_writew), \ - mv_writel: CAT(low,_writel), \ - mv_writeq: CAT(low,_writeq), \ - mv_ioremap: CAT(low,_ioremap), \ - mv_iounmap: CAT(low,_iounmap) \ + .hae_register = (unsigned long *) CAT(UP,_HAE_ADDRESS), \ + .iack_sc = CAT(UP,_IACK_SC), \ + .mv_ioread8 = CAT(low,_ioread8), \ + .mv_ioread16 = CAT(low,_ioread16), \ + .mv_ioread32 = CAT(low,_ioread32), \ + .mv_iowrite8 = CAT(low,_iowrite8), \ + .mv_iowrite16 = CAT(low,_iowrite16), \ + .mv_iowrite32 = CAT(low,_iowrite32), \ + .mv_readb = CAT(low,_readb), \ + .mv_readw = CAT(low,_readw), \ + .mv_readl = CAT(low,_readl), \ + .mv_readq = CAT(low,_readq), \ + .mv_writeb = CAT(low,_writeb), \ + .mv_writew = CAT(low,_writew), \ + .mv_writel = CAT(low,_writel), \ + .mv_writeq = CAT(low,_writeq), \ + .mv_ioportmap = CAT(low,_ioportmap), \ + .mv_ioremap = CAT(low,_ioremap), \ + .mv_iounmap = CAT(low,_iounmap), \ + .mv_is_ioaddr = CAT(low,_is_ioaddr), \ + .mv_is_mmio = CAT(low,_is_mmio) \ #define IO(UP,low) \ IO_LITE(UP,low), \ - pci_ops: &CAT(low,_pci_ops) + .pci_ops = &CAT(low,_pci_ops), \ + .mv_pci_tbi = CAT(low,_pci_tbi) #define DO_APECS_IO IO(APECS,apecs) #define DO_CIA_IO IO(CIA,cia) @@ -108,23 +112,8 @@ #define DO_WILDFIRE_IO IO(WILDFIRE,wildfire) #define DO_PYXIS_IO IO_LITE(CIA,cia_bwx), \ - pci_ops: &CAT(cia,_pci_ops) - -#define BUS(which) \ - mv_is_ioaddr: CAT(which,_is_ioaddr), \ - mv_pci_tbi: CAT(which,_pci_tbi) - -#define DO_APECS_BUS BUS(apecs) -#define DO_CIA_BUS BUS(cia) -#define DO_IRONGATE_BUS BUS(irongate) -#define DO_LCA_BUS BUS(lca) -#define DO_MARVEL_BUS BUS(marvel) -#define DO_MCPCIA_BUS BUS(mcpcia) -#define DO_POLARIS_BUS BUS(polaris) -#define DO_T2_BUS BUS(t2) -#define DO_TSUNAMI_BUS BUS(tsunami) -#define DO_TITAN_BUS BUS(titan) -#define DO_WILDFIRE_BUS BUS(wildfire) + .pci_ops = &cia_pci_ops, \ + .mv_pci_tbi = cia_pci_tbi /* * In a GENERIC kernel, we have lots of these vectors floating about, diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 4761ed9a4..dcad8d31d 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -91,8 +91,8 @@ osf_set_program_attributes(unsigned long text_start, unsigned long text_len, * braindamage (it can't really handle filesystems where the directory * offset differences aren't the same as "d_reclen"). */ -#define NAME_OFFSET(de) ((int) ((de)->d_name - (char __user *) (de))) -#define ROUND_UP(x) (((x)+3) & ~3) +#define NAME_OFFSET offsetof (struct osf_dirent, d_name) +#define ROUND_UP(x) (((x)+3) & ~3) struct osf_dirent { unsigned int d_ino; @@ -114,7 +114,7 @@ osf_filldir(void *__buf, const char *name, int namlen, loff_t offset, { struct osf_dirent __user *dirent; struct osf_dirent_callback *buf = (struct osf_dirent_callback *) __buf; - unsigned int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 1); + unsigned int reclen = ROUND_UP(NAME_OFFSET + namlen + 1); buf->error = -EINVAL; /* only used if we fail */ if (reclen > buf->count) @@ -723,7 +723,8 @@ osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, { switch (op) { case SSI_IEEE_FP_CONTROL: { - unsigned long swcr, fpcr, fex; + unsigned long swcr, fpcr; + unsigned int *state; /* * Alpha Architecture Handbook 4.7.7.3: @@ -732,22 +733,42 @@ osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, * set in the trap shadow of a software-complete insn. */ - /* Update softare trap enable bits. */ if (get_user(swcr, (unsigned long __user *)buffer)) return -EFAULT; - current_thread_info()->ieee_state - = ((current_thread_info()->ieee_state & ~IEEE_SW_MASK) - | (swcr & IEEE_SW_MASK)); + state = ¤t_thread_info()->ieee_state; + + /* Update softare trap enable bits. */ + *state = (*state & ~IEEE_SW_MASK) | (swcr & IEEE_SW_MASK); + + /* Update the real fpcr. */ + fpcr = rdfpcr() & FPCR_DYN_MASK; + fpcr |= ieee_swcr_to_fpcr(swcr); + wrfpcr(fpcr); + + return 0; + } + + case SSI_IEEE_RAISE_EXCEPTION: { + unsigned long exc, swcr, fpcr, fex; + unsigned int *state; + + if (get_user(exc, (unsigned long __user *)buffer)) + return -EFAULT; + state = ¤t_thread_info()->ieee_state; + exc &= IEEE_STATUS_MASK; + + /* Update softare trap enable bits. */ + swcr = (*state & IEEE_SW_MASK) | exc; + *state |= exc; /* Update the real fpcr. */ fpcr = rdfpcr(); - fpcr &= FPCR_DYN_MASK; fpcr |= ieee_swcr_to_fpcr(swcr); wrfpcr(fpcr); - /* If any exceptions are now unmasked, send a signal. */ - fex = ((swcr & IEEE_STATUS_MASK) - >> IEEE_STATUS_TO_EXCSUM_SHIFT) & swcr; + /* If any exceptions set by this call, and are unmasked, + send a signal. Old exceptions are not signaled. */ + fex = (exc >> IEEE_STATUS_TO_EXCSUM_SHIFT) & swcr; if (fex) { siginfo_t info; int si_code = 0; @@ -765,7 +786,6 @@ osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, info.si_addr = NULL; /* FIXME */ send_sig_info(SIGFPE, &info, current); } - return 0; } @@ -969,7 +989,7 @@ osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, fd_set_bits fds; char *bits; size_t size; - unsigned long timeout; + long timeout; int ret; timeout = MAX_SCHEDULE_TIMEOUT; @@ -1033,9 +1053,10 @@ osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, ret = 0; } - set_fd_set(n, inp->fds_bits, fds.res_in); - set_fd_set(n, outp->fds_bits, fds.res_out); - set_fd_set(n, exp->fds_bits, fds.res_ex); + if (set_fd_set(n, inp->fds_bits, fds.res_in) || + set_fd_set(n, outp->fds_bits, fds.res_out) || + set_fd_set(n, exp->fds_bits, fds.res_ex)) + ret = -EFAULT; out: kfree(bits); @@ -1079,64 +1100,57 @@ osf_getrusage(int who, struct rusage32 __user *ru) r.ru_majflt = current->maj_flt; break; case RUSAGE_CHILDREN: - jiffies_to_timeval32(current->cutime, &r.ru_utime); - jiffies_to_timeval32(current->cstime, &r.ru_stime); - r.ru_minflt = current->cmin_flt; - r.ru_majflt = current->cmaj_flt; - break; - default: - jiffies_to_timeval32(current->utime + current->cutime, - &r.ru_utime); - jiffies_to_timeval32(current->stime + current->cstime, - &r.ru_stime); - r.ru_minflt = current->min_flt + current->cmin_flt; - r.ru_majflt = current->maj_flt + current->cmaj_flt; + jiffies_to_timeval32(current->signal->cutime, &r.ru_utime); + jiffies_to_timeval32(current->signal->cstime, &r.ru_stime); + r.ru_minflt = current->signal->cmin_flt; + r.ru_majflt = current->signal->cmaj_flt; break; } return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0; } -asmlinkage int -osf_wait4(pid_t pid, int __user *ustatus, int options, struct rusage32 __user *ur) +asmlinkage long +osf_wait4(pid_t pid, int __user *ustatus, int options, + struct rusage32 __user *ur) { - if (!ur) { + struct rusage r; + long ret, err; + mm_segment_t old_fs; + + if (!ur) return sys_wait4(pid, ustatus, options, NULL); - } else { - struct rusage r; - int ret, status; - mm_segment_t old_fs = get_fs(); + + old_fs = get_fs(); - set_fs (KERNEL_DS); - ret = sys_wait4(pid, &status, options, &r); - set_fs (old_fs); + set_fs (KERNEL_DS); + ret = sys_wait4(pid, ustatus, options, (struct rusage __user *) &r); + set_fs (old_fs); - if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur))) - return -EFAULT; - __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec); - __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec); - __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec); - __put_user(r.ru_stime.tv_usec, &ur->ru_stime.tv_usec); - __put_user(r.ru_maxrss, &ur->ru_maxrss); - __put_user(r.ru_ixrss, &ur->ru_ixrss); - __put_user(r.ru_idrss, &ur->ru_idrss); - __put_user(r.ru_isrss, &ur->ru_isrss); - __put_user(r.ru_minflt, &ur->ru_minflt); - __put_user(r.ru_majflt, &ur->ru_majflt); - __put_user(r.ru_nswap, &ur->ru_nswap); - __put_user(r.ru_inblock, &ur->ru_inblock); - __put_user(r.ru_oublock, &ur->ru_oublock); - __put_user(r.ru_msgsnd, &ur->ru_msgsnd); - __put_user(r.ru_msgrcv, &ur->ru_msgrcv); - __put_user(r.ru_nsignals, &ur->ru_nsignals); - __put_user(r.ru_nvcsw, &ur->ru_nvcsw); - if (__put_user(r.ru_nivcsw, &ur->ru_nivcsw)) - return -EFAULT; + if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur))) + return -EFAULT; - if (ustatus && put_user(status, ustatus)) - return -EFAULT; - return ret; - } + err = 0; + err |= __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec); + err |= __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec); + err |= __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec); + err |= __put_user(r.ru_stime.tv_usec, &ur->ru_stime.tv_usec); + err |= __put_user(r.ru_maxrss, &ur->ru_maxrss); + err |= __put_user(r.ru_ixrss, &ur->ru_ixrss); + err |= __put_user(r.ru_idrss, &ur->ru_idrss); + err |= __put_user(r.ru_isrss, &ur->ru_isrss); + err |= __put_user(r.ru_minflt, &ur->ru_minflt); + err |= __put_user(r.ru_majflt, &ur->ru_majflt); + err |= __put_user(r.ru_nswap, &ur->ru_nswap); + err |= __put_user(r.ru_inblock, &ur->ru_inblock); + err |= __put_user(r.ru_oublock, &ur->ru_oublock); + err |= __put_user(r.ru_msgsnd, &ur->ru_msgsnd); + err |= __put_user(r.ru_msgrcv, &ur->ru_msgrcv); + err |= __put_user(r.ru_nsignals, &ur->ru_nsignals); + err |= __put_user(r.ru_nvcsw, &ur->ru_nvcsw); + err |= __put_user(r.ru_nivcsw, &ur->ru_nivcsw); + + return err ? err : ret; } /* diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index 6fd854655..4933f3ce5 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c @@ -246,8 +246,7 @@ alpha_clone(unsigned long clone_flags, unsigned long usp, if (!usp) usp = rdusp(); - return do_fork(clone_flags & ~CLONE_IDLETASK, usp, regs, 0, - parent_tid, child_tid); + return do_fork(clone_flags, usp, regs, 0, parent_tid, child_tid); } int diff --git a/arch/alpha/kernel/ptrace.c b/arch/alpha/kernel/ptrace.c index 5d9aae6be..379617048 100644 --- a/arch/alpha/kernel/ptrace.c +++ b/arch/alpha/kernel/ptrace.c @@ -91,15 +91,15 @@ static int regoff[] = { PT_REG( pc) }; -static long zero; +static unsigned long zero; /* * Get address of register REGNO in task TASK. */ -static long * +static unsigned long * get_reg_addr(struct task_struct * task, unsigned long regno) { - long *addr; + unsigned long *addr; if (regno == 30) { addr = &task->thread_info->pcb.usp; @@ -109,7 +109,7 @@ get_reg_addr(struct task_struct * task, unsigned long regno) zero = 0; addr = &zero; } else { - addr = (long *)((long)task->thread_info + regoff[regno]); + addr = (void *)task->thread_info + regoff[regno]; } return addr; } @@ -117,7 +117,7 @@ get_reg_addr(struct task_struct * task, unsigned long regno) /* * Get contents of register REGNO in task TASK. */ -static long +static unsigned long get_reg(struct task_struct * task, unsigned long regno) { /* Special hack for fpcr -- combine hardware and software bits. */ @@ -135,7 +135,7 @@ get_reg(struct task_struct * task, unsigned long regno) * Write contents of register REGNO in task TASK. */ static int -put_reg(struct task_struct *task, unsigned long regno, long data) +put_reg(struct task_struct *task, unsigned long regno, unsigned long data) { if (regno == 63) { task->thread_info->ieee_state @@ -168,11 +168,11 @@ int ptrace_set_bpt(struct task_struct * child) { int displ, i, res, reg_b, nsaved = 0; - u32 insn, op_code; + unsigned int insn, op_code; unsigned long pc; pc = get_reg(child, REG_PC); - res = read_int(child, pc, &insn); + res = read_int(child, pc, (int *) &insn); if (res < 0) return res; @@ -203,7 +203,8 @@ ptrace_set_bpt(struct task_struct * child) /* install breakpoints: */ for (i = 0; i < nsaved; ++i) { - res = read_int(child, child->thread_info->bpt_addr[i], &insn); + res = read_int(child, child->thread_info->bpt_addr[i], + (int *) &insn); if (res < 0) return res; child->thread_info->bpt_insn[i] = insn; @@ -356,7 +357,7 @@ do_sys_ptrace(long request, long pid, long addr, long data, */ case PTRACE_KILL: ret = 0; - if (child->state == TASK_ZOMBIE) + if (child->exit_state == EXIT_ZOMBIE) break; child->exit_code = SIGKILL; /* make sure single-step breakpoint is gone. */ diff --git a/arch/alpha/kernel/signal.c b/arch/alpha/kernel/signal.c index dd1d9195c..94ff1b330 100644 --- a/arch/alpha/kernel/signal.c +++ b/arch/alpha/kernel/signal.c @@ -145,7 +145,7 @@ sys_rt_sigaction(int sig, const struct sigaction __user *act, * Atomically swap in the new signal mask, and wait for a signal. */ asmlinkage int -do_sigsuspend(old_sigset_t mask, struct pt_regs *reg, struct switch_stack *sw) +do_sigsuspend(old_sigset_t mask, struct pt_regs *regs, struct switch_stack *sw) { sigset_t oldset; @@ -156,17 +156,22 @@ do_sigsuspend(old_sigset_t mask, struct pt_regs *reg, struct switch_stack *sw) recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + /* Indicate EINTR on return from any possible signal handler, + which will not come back through here, but via sigreturn. */ + regs->r0 = EINTR; + regs->r19 = 1; + while (1) { current->state = TASK_INTERRUPTIBLE; schedule(); - if (do_signal(&oldset, reg, sw, 0, 0)) + if (do_signal(&oldset, regs, sw, 0, 0)) return -EINTR; } } asmlinkage int do_rt_sigsuspend(sigset_t __user *uset, size_t sigsetsize, - struct pt_regs *reg, struct switch_stack *sw) + struct pt_regs *regs, struct switch_stack *sw) { sigset_t oldset, set; @@ -183,10 +188,15 @@ do_rt_sigsuspend(sigset_t __user *uset, size_t sigsetsize, recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + /* Indicate EINTR on return from any possible signal handler, + which will not come back through here, but via sigreturn. */ + regs->r0 = EINTR; + regs->r19 = 1; + while (1) { current->state = TASK_INTERRUPTIBLE; schedule(); - if (do_signal(&oldset, reg, sw, 0, 0)) + if (do_signal(&oldset, regs, sw, 0, 0)) return -EINTR; } } @@ -218,6 +228,12 @@ struct rt_sigframe unsigned int retcode[3]; }; +/* If this changes, userland unwinders that Know Things about our signal + frame will break. Do not undertake lightly. It also implies an ABI + change wrt the size of siginfo_t, which may cause some pain. */ +extern char compile_time_assert + [offsetof(struct rt_sigframe, uc.uc_mcontext) == 176 ? 1 : -1]; + #define INSN_MOV_R30_R16 0x47fe0410 #define INSN_LDI_R0 0x201f0000 #define INSN_CALLSYS 0x00000083 @@ -469,9 +485,7 @@ setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static void @@ -533,9 +547,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } @@ -608,21 +620,20 @@ do_signal(sigset_t *oldset, struct pt_regs * regs, struct switch_stack * sw, siginfo_t info; int signr; unsigned long single_stepping = ptrace_cancel_bpt(current); + struct k_sigaction ka; if (!oldset) oldset = ¤t->blocked; /* This lets the debugger run, ... */ - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); /* ... so re-check the single stepping. */ single_stepping |= ptrace_cancel_bpt(current); if (signr > 0) { /* Whee! Actually deliver the signal. */ - struct k_sigaction *ka = ¤t->sighand->action[signr-1]; - - if (r0) syscall_restart(r0, r19, regs, ka); - handle_signal(signr, ka, &info, oldset, regs, sw); + if (r0) syscall_restart(r0, r19, regs, &ka); + handle_signal(signr, &ka, &info, oldset, regs, sw); if (single_stepping) ptrace_set_bpt(current); /* re-set bpt */ return 1; diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 3a4c9d6e2..6d4d09c43 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -35,7 +36,6 @@ #include #include #include -#include #include #include @@ -411,15 +411,6 @@ secondary_cpu_start(int cpuid, struct task_struct *idle) return 0; } -static struct task_struct * __init -fork_by_hand(void) -{ - /* Don't care about the contents of regs since we'll never - reschedule the forked task. */ - struct pt_regs regs; - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); -} - /* * Bring one cpu online. */ @@ -435,15 +426,10 @@ smp_boot_one_cpu(int cpuid) the other task-y sort of data structures set up like we wish. We can't use kernel_thread since we must avoid rescheduling the child. */ - idle = fork_by_hand(); + idle = fork_idle(cpuid); if (IS_ERR(idle)) panic("failed fork for CPU %d", cpuid); - wake_up_forked_process(idle); - - init_idle(idle, cpuid); - unhash_process(idle); - DBGS(("smp_boot_one_cpu: CPU %d state 0x%lx flags 0x%lx\n", cpuid, idle->state, idle->flags)); @@ -613,8 +599,7 @@ smp_percpu_timer_interrupt(struct pt_regs *regs) struct cpuinfo_alpha *data = &cpu_data[cpu]; /* Record kernel PC. */ - if (!user) - alpha_do_profile(regs->pc); + profile_tick(CPU_PROFILING, regs); if (!--data->prof_counter) { /* We need to make like a normal interrupt -- otherwise diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c index 119501849..10973586f 100644 --- a/arch/alpha/kernel/sys_dp264.c +++ b/arch/alpha/kernel/sys_dp264.c @@ -71,10 +71,10 @@ tsunami_update_irq_hw(unsigned long mask) dim1 = &cchip->dim1.csr; dim2 = &cchip->dim2.csr; dim3 = &cchip->dim3.csr; - if (cpu_possible(0)) dim0 = &dummy; - if (cpu_possible(1)) dim1 = &dummy; - if (cpu_possible(2)) dim2 = &dummy; - if (cpu_possible(3)) dim3 = &dummy; + if (!cpu_possible(0)) dim0 = &dummy; + if (!cpu_possible(1)) dim1 = &dummy; + if (!cpu_possible(2)) dim2 = &dummy; + if (!cpu_possible(3)) dim3 = &dummy; *dim0 = mask0; *dim1 = mask1; @@ -569,7 +569,6 @@ struct alpha_machine_vector dp264_mv __initmv = { DO_EV6_MMU, DO_DEFAULT_RTC, DO_TSUNAMI_IO, - DO_TSUNAMI_BUS, .machine_check = tsunami_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, @@ -594,7 +593,6 @@ struct alpha_machine_vector monet_mv __initmv = { DO_EV6_MMU, DO_DEFAULT_RTC, DO_TSUNAMI_IO, - DO_TSUNAMI_BUS, .machine_check = tsunami_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, @@ -618,7 +616,6 @@ struct alpha_machine_vector webbrick_mv __initmv = { DO_EV6_MMU, DO_DEFAULT_RTC, DO_TSUNAMI_IO, - DO_TSUNAMI_BUS, .machine_check = tsunami_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, @@ -642,7 +639,6 @@ struct alpha_machine_vector clipper_mv __initmv = { DO_EV6_MMU, DO_DEFAULT_RTC, DO_TSUNAMI_IO, - DO_TSUNAMI_BUS, .machine_check = tsunami_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, @@ -671,7 +667,6 @@ struct alpha_machine_vector shark_mv __initmv = { DO_EV6_MMU, DO_DEFAULT_RTC, DO_TSUNAMI_IO, - DO_TSUNAMI_BUS, .machine_check = tsunami_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, diff --git a/arch/alpha/kernel/sys_eiger.c b/arch/alpha/kernel/sys_eiger.c index c6cbf4780..f98be3e85 100644 --- a/arch/alpha/kernel/sys_eiger.c +++ b/arch/alpha/kernel/sys_eiger.c @@ -222,7 +222,6 @@ struct alpha_machine_vector eiger_mv __initmv = { DO_EV6_MMU, DO_DEFAULT_RTC, DO_TSUNAMI_IO, - DO_TSUNAMI_BUS, .machine_check = tsunami_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, diff --git a/arch/alpha/kernel/sys_ruffian.c b/arch/alpha/kernel/sys_ruffian.c index ccabcb1e3..78c30decf 100644 --- a/arch/alpha/kernel/sys_ruffian.c +++ b/arch/alpha/kernel/sys_ruffian.c @@ -220,7 +220,6 @@ struct alpha_machine_vector ruffian_mv __initmv = { DO_EV5_MMU, DO_DEFAULT_RTC, DO_PYXIS_IO, - DO_CIA_BUS, .machine_check = cia_machine_check, .max_isa_dma_address = ALPHA_RUFFIAN_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, diff --git a/arch/alpha/kernel/sys_sx164.c b/arch/alpha/kernel/sys_sx164.c index d8f771a98..3ee73b68e 100644 --- a/arch/alpha/kernel/sys_sx164.c +++ b/arch/alpha/kernel/sys_sx164.c @@ -158,7 +158,6 @@ struct alpha_machine_vector sx164_mv __initmv = { DO_EV5_MMU, DO_DEFAULT_RTC, DO_PYXIS_IO, - DO_CIA_BUS, .machine_check = cia_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, diff --git a/arch/alpha/kernel/sys_takara.c b/arch/alpha/kernel/sys_takara.c index 126c433a6..7955bdfc2 100644 --- a/arch/alpha/kernel/sys_takara.c +++ b/arch/alpha/kernel/sys_takara.c @@ -277,7 +277,6 @@ struct alpha_machine_vector takara_mv __initmv = { DO_EV5_MMU, DO_DEFAULT_RTC, DO_CIA_IO, - DO_CIA_BUS, .machine_check = cia_machine_check, .max_isa_dma_address = ALPHA_MAX_ISA_DMA_ADDRESS, .min_io_address = DEFAULT_IO_BASE, diff --git a/arch/alpha/kernel/systbls.S b/arch/alpha/kernel/systbls.S index 57052d8a3..b1eaa9c78 100644 --- a/arch/alpha/kernel/systbls.S +++ b/arch/alpha/kernel/systbls.S @@ -465,6 +465,7 @@ sys_call_table: .quad sys_mq_timedreceive /* 435 */ .quad sys_mq_notify .quad sys_mq_getsetattr + .quad sys_waitid .size sys_call_table, . - sys_call_table .type sys_call_table, @object diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c index 711124368..5ff439b04 100644 --- a/arch/alpha/kernel/time.c +++ b/arch/alpha/kernel/time.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -118,8 +119,7 @@ irqreturn_t timer_interrupt(int irq, void *dev, struct pt_regs * regs) #ifndef CONFIG_SMP /* Not SMP, do kernel PC profiling here. */ - if (!user_mode(regs)) - alpha_do_profile(regs->pc); + profile_tick(CPU_PROFILING, regs); #endif write_seqlock(&xtime_lock); @@ -366,7 +366,7 @@ time_init(void) BCD_TO_BIN(year); } - /* PC-like is standard; used for year < 20 || year >= 70 */ + /* PC-like is standard; used for year >= 70 */ epoch = 1900; if (year < 20) epoch = 2000; diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c index 2248735b8..fd7bd17cc 100644 --- a/arch/alpha/kernel/traps.c +++ b/arch/alpha/kernel/traps.c @@ -65,6 +65,8 @@ dik_show_regs(struct pt_regs *regs, unsigned long *r9_15) { printk("pc = [<%016lx>] ra = [<%016lx>] ps = %04lx %s\n", regs->pc, regs->r26, regs->ps, print_tainted()); + print_symbol("pc is at %s\n", regs->pc); + print_symbol("ra is at %s\n", regs->r26 ); printk("v0 = %016lx t0 = %016lx t1 = %016lx\n", regs->r0, regs->r1, regs->r2); printk("t2 = %016lx t3 = %016lx t4 = %016lx\n", @@ -109,7 +111,7 @@ dik_show_code(unsigned int *pc) printk("Code:"); for (i = -6; i < 2; i++) { unsigned int insn; - if (__get_user(insn, pc+i)) + if (__get_user(insn, (unsigned int __user *)pc + i)) break; printk("%c%08x%c", i ? ' ' : '<', insn, i ? ' ' : '>'); } diff --git a/arch/alpha/lib/csum_partial_copy.c b/arch/alpha/lib/csum_partial_copy.c index 3e0da493b..4af102219 100644 --- a/arch/alpha/lib/csum_partial_copy.c +++ b/arch/alpha/lib/csum_partial_copy.c @@ -193,7 +193,8 @@ csum_partial_cfu_dest_aligned(const unsigned long __user *src, * This is slightly less fun than the above.. */ static inline unsigned long -csum_partial_cfu_src_aligned(const unsigned long *src, unsigned long *dst, +csum_partial_cfu_src_aligned(const unsigned long __user *src, + unsigned long *dst, unsigned long doff, long len, unsigned long checksum, unsigned long partial_dest, @@ -372,7 +373,7 @@ unsigned int csum_partial_copy_from_user(const char __user *src, char *dst, int len, unsigned int sum, int *errp) { - if (!access_ok(src, len, VERIFY_READ)) { + if (!access_ok(VERIFY_READ, src, len)) { *errp = -EFAULT; memset(dst, 0, len); return sum; diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index a0b969ddf..64ace5a9c 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -98,7 +98,7 @@ do_page_fault(unsigned long address, unsigned long mmcsr, by ignoring such an instruction. */ if (cause == 0) { unsigned int insn; - __get_user(insn, (unsigned int *)regs->pc); + __get_user(insn, (unsigned int __user *)regs->pc); if ((insn >> 21 & 0x1f) == 0x1f && /* ldq ldl ldt lds ldg ldf ldwu ldbu */ (1ul << (insn >> 26) & 0x30f00001400ul)) { diff --git a/arch/alpha/mm/numa.c b/arch/alpha/mm/numa.c index 31a3f6343..a839578e9 100644 --- a/arch/alpha/mm/numa.c +++ b/arch/alpha/mm/numa.c @@ -313,7 +313,7 @@ void __init paging_init(void) zones_size[ZONE_DMA] = dma_local_pfn; zones_size[ZONE_NORMAL] = (end_pfn - start_pfn) - dma_local_pfn; } - free_area_init_node(nid, NODE_DATA(nid), NULL, zones_size, start_pfn, NULL); + free_area_init_node(nid, NODE_DATA(nid), zones_size, start_pfn, NULL); } /* Initialize the kernel's ZERO_PGE. */ diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e4435a443..096ea1dd3 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -63,8 +63,11 @@ config GENERIC_BUST_SPINLOCK config GENERIC_ISA_DMA bool -source "init/Kconfig" +config GENERIC_IOMAP + bool + default y +source "init/Kconfig" menu "System Type" @@ -108,6 +111,9 @@ config ARCH_IOP3XX config ARCH_IXP4XX bool "IXP4xx-based" +config ARCH_IXP2000 + bool "IXP2400/2800-based" + config ARCH_L7200 bool "LinkUp-L7200" help @@ -158,6 +164,14 @@ config ARCH_VERSATILE_PB help This enables support for ARM Ltd Versatile PB board. +config ARCH_IMX + bool "IMX" + +config ARCH_H720X + bool "Hynix-HMS720x-based" + help + This enables support for systems based on the Hynix HMS720x + endchoice source "arch/arm/mach-clps711x/Kconfig" @@ -172,6 +186,8 @@ source "arch/arm/mach-iop3xx/Kconfig" source "arch/arm/mach-ixp4xx/Kconfig" +source "arch/arm/mach-ixp2000/Kconfig" + source "arch/arm/mach-pxa/Kconfig" source "arch/arm/mach-sa1100/Kconfig" @@ -182,6 +198,10 @@ source "arch/arm/mach-s3c2410/Kconfig" source "arch/arm/mach-lh7a40x/Kconfig" +source "arch/arm/mach-imx/Kconfig" + +source "arch/arm/mach-h720x/Kconfig" + # Definitions to make life easier config ARCH_ACORN bool @@ -247,7 +267,6 @@ config XSCALE_PMU endmenu - menu "General setup" # Select various configuration options depending on the machine type @@ -264,7 +283,7 @@ config DISCONTIGMEM # Now handle the bus types config PCI bool "PCI support" if ARCH_INTEGRATOR_AP - default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX + default y if ARCH_SHARK || FOOTBRIDGE_HOST || ARCH_IOP3XX || ARCH_IXP4XX || ARCH_IXP2000 help Find out whether you have a PCI motherboard. PCI is the name of a bus system, i.e. the way the CPU talks to the other stuff inside @@ -294,7 +313,7 @@ config ARM_AMBA config ISA bool - depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 + depends on FOOTBRIDGE_HOST || ARCH_SHARK || ARCH_CLPS7500 || ARCH_EBSA110 || ARCH_CDB89712 || ARCH_EDB7211 || ARCH_SA1100 || ARCH_MX1ADS default y help Find out whether you have ISA slots on your motherboard. ISA is the @@ -399,7 +418,7 @@ config FPE_NWFPE config FPE_NWFPE_XP bool "Support extended precision" - depends on FPE_NWFPE + depends on FPE_NWFPE && !CPU_BIG_ENDIAN help Say Y to include 80-bit support in the kernel floating-point emulator. Otherwise, only 32 and 64-bit support is compiled in. @@ -425,6 +444,7 @@ config FPE_FASTFPE config VFP bool "VFP-format floating point maths" + depends on CPU_V6 || CPU_ARM926T help Say Y to include VFP support code in the kernel. This is needed if your hardware includes a VFP unit. @@ -552,7 +572,7 @@ config CMDLINE config LEDS bool "Timer and CPU usage LEDs" - depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB + depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB || ARCH_IMX help If you say Y here, the LEDs on your machine will be used to provide useful information about your current system status. @@ -565,8 +585,8 @@ config LEDS system, but the driver will do nothing. config LEDS_TIMER - bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || MACH_MAINSTONE || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB) - depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB + bool "Timer LED" if LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || MACH_MAINSTONE || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB || ARCH_IMX) + depends on ARCH_NETWINDER || ARCH_EBSA110 || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_CDB89712 || ARCH_P720T || ARCH_OMAP || ARCH_VERSATILE_PB || ARCH_IMX default y if ARCH_EBSA110 help If you say Y here, one of the system LEDs (the green one on the @@ -581,7 +601,7 @@ config LEDS_TIMER config LEDS_CPU bool "CPU usage LED" - depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB) + depends on LEDS && (ARCH_NETWINDER || ARCH_EBSA285 || ARCH_SHARK || ARCH_CO285 || ARCH_SA1100 || ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_PXA_IDP || ARCH_INTEGRATOR || ARCH_P720T || ARCH_VERSATILE_PB || ARCH_IMX) help If you say Y here, the red LED will be used to give a good real time indication of CPU usage, by lighting whenever the idle task @@ -661,165 +681,9 @@ source "drivers/misc/Kconfig" source "drivers/usb/Kconfig" +source "drivers/mmc/Kconfig" -menu "Kernel hacking" - -# RMK wants arm kernels compiled with frame pointers so hardwire this to y. -# If you know what you are doing and are willing to live without stack -# traces, you can get a slightly smaller kernel by setting this option to -# n, but then RMK will have to kill you ;). -config FRAME_POINTER - bool - default y - help - If you say N here, the resulting kernel will be slightly smaller and - faster. However, when a problem occurs with the kernel, the - information that is reported is severely limited. Most people - should say Y here. - -config DEBUG_USER - bool "Verbose user fault messages" - help - When a user program crashes due to an exception, the kernel can - print a brief message explaining what the problem was. This is - sometimes helpful for debugging but serves no purpose on a - production system. Most people should say N here. - - In addition, you need to pass user_debug=N on the kernel command - line to enable this feature. N consists of the sum of: - - 1 - undefined instruction events - 2 - system calls - 4 - invalid data aborts - 8 - SIGSEGV faults - 16 - SIGBUS faults - -config DEBUG_INFO - bool "Include GDB debugging information in kernel binary" - help - Say Y here to include source-level debugging information in the - `vmlinux' binary image. This is handy if you want to use gdb or - addr2line to debug the kernel. It has no impact on the in-memory - footprint of the running kernel but it can increase the amount of - time and disk space needed for compilation of the kernel. If in - doubt say N. - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_WAITQ - bool "Wait queue debugging" - depends on DEBUG_KERNEL - -config DEBUG_BUGVERBOSE - bool "Verbose BUG() reporting (adds 70K)" - depends on DEBUG_KERNEL - help - Say Y here to make BUG() panics output the file name and line number - of the BUG call as well as the EIP and oops trace. This aids - debugging but costs about 70-100K of memory. - -config DEBUG_ERRORS - bool "Verbose kernel error messages" - depends on DEBUG_KERNEL - help - This option controls verbose debugging information which can be - printed when the kernel detects an internal error. This debugging - information is useful to kernel hackers when tracking down problems, - but mostly meaningless to other people. It's safe to say Y unless - you are concerned with the code size or don't want to see these - messages. - -# These options are only for real kernel hackers who want to get their hands dirty. -config DEBUG_LL - bool "Kernel low-level debugging functions" - depends on DEBUG_KERNEL - help - Say Y here to include definitions of printascii, printchar, printhex - in the kernel. This is helpful if you are debugging code that - executes before the console is initialized. - -config DEBUG_ICEDCC - bool "Kernel low-level debugging via EmbeddedICE DCC channel" - depends on DEBUG_LL - help - Say Y here if you want the debug print routines to direct their - output to the EmbeddedICE macrocell's DCC channel using - co-processor 14. This is known to work on the ARM9 style ICE - channel. - - It does include a timeout to ensure that the system does not - totally freeze when there is nothing connected to read. - -config DEBUG_DC21285_PORT - bool "Kernel low-level debugging messages via footbridge serial port" - depends on DEBUG_LL && FOOTBRIDGE - help - Say Y here if you want the debug print routines to direct their - output to the serial port in the DC21285 (Footbridge). Saying N - will cause the debug messages to appear on the first 16550 - serial port. - -config DEBUG_CLPS711X_UART2 - bool "Kernel low-level debugging messages via UART2" - depends on DEBUG_LL && ARCH_CLPS711X - help - Say Y here if you want the debug print routines to direct their - output to the second serial port on these devices. Saying N will - cause the debug messages to appear on the first serial port. - -config DEBUG_S3C2410_PORT - depends on DEBUG_LL && ARCH_S3C2410 - bool "Kernel low-level debugging messages via S3C2410 UART" - help - Say Y here if you want debug print routines to go to one of the - S3C2410 internal UARTs. The chosen UART must have been configured - before it is used. - -config DEBUG_S3C2410_UART - depends on DEBUG_LL && ARCH_S3C2410 - int "S3C2410 UART to use for low-level debug" - default "0" - help - Choice for UART for kernel low-level using S3C2410 UARTS, - should be between zero and two. The port must have been - initalised by the boot-loader before use. - -endmenu +source "arch/arm/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -828,4 +692,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/arm/Makefile b/arch/arm/Makefile index 8b34b0d8a..a4878a0ae 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -8,8 +8,7 @@ # Copyright (C) 1995-2001 by Russell King LDFLAGS_vmlinux :=-p --no-undefined -X -LDFLAGS_BLOB :=--format binary -AFLAGS_vmlinux.lds.o = -DTEXTADDR=$(TEXTADDR) -DDATAADDR=$(DATAADDR) +CPPFLAGS_vmlinux.lds = -DTEXTADDR=$(TEXTADDR) -DDATAADDR=$(DATAADDR) OBJCOPYFLAGS :=-O binary -R .note -R .comment -S GZFLAGS :=-9 #CFLAGS +=-pipe @@ -36,8 +35,8 @@ comma = , # Note that GCC does not numerically define an architecture version # macro, but instead defines a whole series of macros which makes # testing for a specific architecture or later rather impossible. -arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call check_gcc,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6) -arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call check_gcc,-march=armv5te,-march=armv4) +arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6) +arch-$(CONFIG_CPU_32v5) :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4) arch-$(CONFIG_CPU_32v4) :=-D__LINUX_ARM_ARCH__=4 -march=armv4 arch-$(CONFIG_CPU_32v3) :=-D__LINUX_ARM_ARCH__=3 -march=armv3 @@ -51,14 +50,14 @@ tune-$(CONFIG_CPU_ARM925T) :=-mtune=arm9tdmi tune-$(CONFIG_CPU_ARM926T) :=-mtune=arm9tdmi tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110 tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100 -tune-$(CONFIG_CPU_XSCALE) :=$(call check_gcc,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale +tune-$(CONFIG_CPU_XSCALE) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale tune-$(CONFIG_CPU_V6) :=-mtune=strongarm # Need -Uarm for gcc < 3.x -CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Wa,-mno-fpu -Uarm -AFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float -Wa,-mno-fpu +CFLAGS +=-mapcs-32 $(arch-y) $(tune-y) $(call cc-option,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm +AFLAGS +=-mapcs-32 $(arch-y) $(tune-y) -msoft-float -CHECK := $(CHECK) -D__arm__=1 +CHECKFLAGS += -D__arm__ #Default value DATAADDR := . @@ -90,10 +89,13 @@ textaddr-$(CONFIG_ARCH_CLPS711X) := 0xc0028000 textaddr-$(CONFIG_ARCH_FORTUNET) := 0xc0008000 machine-$(CONFIG_ARCH_IOP3XX) := iop3xx machine-$(CONFIG_ARCH_IXP4XX) := ixp4xx + machine-$(CONFIG_ARCH_IXP2000) := ixp2000 machine-$(CONFIG_ARCH_OMAP) := omap machine-$(CONFIG_ARCH_S3C2410) := s3c2410 machine-$(CONFIG_ARCH_LH7A40X) := lh7a40x machine-$(CONFIG_ARCH_VERSATILE_PB) := versatile + machine-$(CONFIG_ARCH_IMX) := imx + machine-$(CONFIG_ARCH_H720X) := h720x ifeq ($(CONFIG_ARCH_EBSA110),y) # This is what happens if you forget the IOCS16 line. diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile index c247afdd7..cfb4a252a 100644 --- a/arch/arm/boot/Makefile +++ b/arch/arm/boot/Makefile @@ -47,10 +47,19 @@ endif params_phys-$(CONFIG_ARCH_SA1100) := 0xc0000100 initrd_phys-$(CONFIG_ARCH_SA1100) := 0xc0800000 zreladdr-$(CONFIG_ARCH_PXA) := 0xa0008000 + zreladdr-$(CONFIG_ARCH_MX1ADS) := 0x08008000 zreladdr-$(CONFIG_ARCH_IOP3XX) := 0xa0008000 params_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0000100 +initrd_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0800000 +ifeq ($(CONFIG_ARCH_IOP331),y) + zreladdr-$(CONFIG_ARCH_IOP3XX) := 0x00008000 +params_phys-$(CONFIG_ARCH_IOP3XX) := 0x00000100 +initrd_phys-$(CONFIG_ARCH_IOP3XX) := 0x00800000 +endif zreladdr-$(CONFIG_ARCH_IXP4XX) := 0x00008000 params-phys-$(CONFIG_ARCH_IXP4XX) := 0x00000100 + zreladdr-$(CONFIG_ARCH_IXP2000) := 0x00008000 +params-phys-$(CONFIG_ARCH_IXP2000) := 0x00000100 zreladdr-$(CONFIG_ARCH_OMAP) := 0x10008000 params_phys-$(CONFIG_ARCH_OMAP) := 0x10000100 initrd_phys-$(CONFIG_ARCH_OMAP) := 0x10800000 @@ -62,6 +71,7 @@ params_phys-$(CONFIG_ARCH_S3C2410) := 0x30000100 zreladdr-$(CONFIG_ARCH_VERSATILE_PB) := 0x00008000 params_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00000100 initrd_phys-$(CONFIG_ARCH_VERSATILE_PB) := 0x00800000 + zreladdr-$(CONFIG_ARCH_H720X) := 0x40008000 ZRELADDR := $(zreladdr-y) PARAMS_PHYS := $(params_phys-y) diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile index 951fbf6e8..e9e0c68a3 100644 --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile @@ -8,11 +8,13 @@ HEAD = head.o OBJS = misc.o FONTC = drivers/video/console/font_acorn_8x8.c +FONT = $(addprefix ../../../../drivers/video/console/, font_acorn_8x8.o) + # # Architecture dependencies # ifeq ($(CONFIG_ARCH_ACORN),y) -OBJS += ll_char_wr.o font.o +OBJS += ll_char_wr.o $(FONT) endif ifeq ($(CONFIG_ARCH_SHARK),y) @@ -51,6 +53,10 @@ ifeq ($(CONFIG_DEBUG_ICEDCC),y) OBJS += ice-dcc.o endif +ifeq ($(CONFIG_CPU_BIG_ENDIAN),y) +OBJS += big-endian.o +endif + # # We now have a PIC decompressor implementation. Decompressors running # from RAM should not define ZTEXTADDR. Decompressors running directly @@ -66,7 +72,7 @@ endif SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/ -targets := vmlinux vmlinux.lds piggy.gz piggy.o font.o \ +targets := vmlinux vmlinux.lds piggy.gz piggy.o $(FONT) \ head.o misc.o $(OBJS) EXTRA_CFLAGS := -fpic EXTRA_AFLAGS := @@ -98,8 +104,7 @@ $(obj)/piggy.gz: $(obj)/../Image FORCE $(obj)/piggy.o: $(obj)/piggy.gz FORCE -CFLAGS_font.o := -Dstatic= -$(obj)/font.o: $(FONTC) +CFLAGS_font_acorn_8x8.o := -Dstatic= $(obj)/vmlinux.lds: $(obj)/vmlinux.lds.in arch/arm/boot/Makefile .config @sed "$(SEDFLAGS)" < $< > $@ diff --git a/arch/arm/boot/compressed/head-xscale.S b/arch/arm/boot/compressed/head-xscale.S index f9194499e..637e63773 100644 --- a/arch/arm/boot/compressed/head-xscale.S +++ b/arch/arm/boot/compressed/head-xscale.S @@ -35,11 +35,19 @@ __XScale_start: mcr p15, 0, r0, c1, c0, 0 #ifdef CONFIG_ARCH_IQ80321 - orr pc, pc, #PHYS_OFFSET @ jump to physical memory if we are not there. - nop mov r7, #MACH_TYPE_IQ80321 #endif +#ifdef CONFIG_ARCH_IQ31244 + mov r7, #(MACH_TYPE_IQ31244 & 0xff) + orr r7, r7, #(MACH_TYPE_IQ31244 & 0xff00) +#endif + +#ifdef CONFIG_ARCH_IQ80331 + mov r7, #(MACH_TYPE_IQ80331 & 0xff) + orr r7, r7, #(MACH_TYPE_IQ80331 & 0xff00) +#endif + #ifdef CONFIG_ARCH_LUBBOCK mov r7, #MACH_TYPE_LUBBOCK #endif @@ -48,22 +56,3 @@ __XScale_start: mov r7, #MACH_TYPE_COTULLA_IDP #endif -#ifdef CONFIG_ARCH_IQ80310 - /* - * Crank the CPU up to 733MHz - */ - mov r1, #9 - mcr p14, 0, r1, c6, c0, 0 - - /* - * Disable ECC error notification - * At some point, we should add an ECC handler to Linux - */ - mov r1, #0x1500 - mov r0, #0x4 - str r0, [r1, #0x34] - - mov r7, #MACH_TYPE_IQ80310 -#endif - - diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S index b47032c2d..f560cbf35 100644 --- a/arch/arm/boot/compressed/head.S +++ b/arch/arm/boot/compressed/head.S @@ -79,6 +79,14 @@ .endm .macro writeb, rb str \rb, [r3, #0] +#elif defined(CONFIG_ARCH_IXP2000) + .macro loadsp, rb + mov \rb, #0xc0000000 + orr \rb, \rb, #0x00030000 + .endm + .macro writeb, rb + str \rb, [r3, #0] + .endm #elif defined(CONFIG_ARCH_LH7A40X) .macro loadsp, rb ldr \rb, =0x80000700 @ UART2 UARTBASE @@ -100,6 +108,15 @@ .macro writeb, rb strb \rb, [r3] .endm +#elif defined(CONFIG_ARCH_IOP331) + .macro loadsp, rb + mov \rb, #0xff000000 + orr \rb, \rb, #0x00ff0000 + orr \rb, \rb, #0x0000f700 @ location of the UART + .endm + .macro writeb, rb + str \rb, [r3, #0] + .endm #else #error no serial architecture defined #endif @@ -332,6 +349,14 @@ LC0: .word LC0 @ r1 LC1: .word reloc_end - reloc_start .size LC0, . - LC0 +#ifdef CONFIG_ARCH_RPC + .globl params +params: ldr r0, =params_phys + mov pc, lr + .ltorg + .align +#endif + /* * Turn on the cache. We need to setup some page tables so that we * can have both the I and D caches on. @@ -568,6 +593,12 @@ proc_types: b __armv4_cache_off b __armv4_cache_flush + .word 0x00070000 @ ARMv6 + .word 0x000f0000 + b __armv4_cache_on + b __armv4_cache_off + b __armv6_cache_flush + .word 0 @ unrecognised type .word 0 mov pc, lr @@ -627,6 +658,14 @@ cache_clean_flush: mov r3, #16 b call_cache_fn +__armv6_cache_flush: + mov r1, #0 + mcr p15, 0, r1, c7, c14, 0 @ clean+invalidate D + mcr p15, 0, r1, c7, c5, 0 @ invalidate I+BTB + mcr p15, 0, r1, c7, c15, 0 @ clean+invalidate unified + mcr p15, 0, r1, c7, c10, 4 @ drain WB + mov pc, lr + __armv4_cache_flush: mov r2, #64*1024 @ default: 32K dcache size (*2) mov r11, #32 @ default: 32 byte line size diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index c3a87663b..5797b1b10 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c @@ -121,9 +121,9 @@ alloc_safe_buffer(struct dmabounce_device_info *device_info, void *ptr, DO_STATS ( device_info->total_allocs++ ); buf = kmalloc(sizeof(struct safe_buffer), GFP_ATOMIC); - if (buf == 0) { + if (buf == NULL) { dev_warn(dev, "%s: kmalloc failed\n", __func__); - return 0; + return NULL; } if (size <= device_info->small_buffer_size) { @@ -137,16 +137,16 @@ alloc_safe_buffer(struct dmabounce_device_info *device_info, void *ptr, DO_STATS ( device_info->lbp_allocs++ ); } else { - pool = 0; + pool = NULL; safe = dma_alloc_coherent(dev, size, &safe_dma_addr, GFP_ATOMIC); } - if (safe == 0) { + if (safe == NULL) { dev_warn(device_info->dev, "%s: could not alloc dma memory (size=%d)\n", __func__, size); kfree(buf); - return 0; + return NULL; } #ifdef STATS @@ -216,27 +216,33 @@ static inline dma_addr_t map_single(struct device *dev, void *ptr, size_t size, enum dma_data_direction dir) { - dma_addr_t dma_addr; struct dmabounce_device_info *device_info = find_dmabounce_dev(dev); + dma_addr_t dma_addr; + int needs_bounce = 0; if (device_info) DO_STATS ( device_info->map_op_count++ ); + dma_addr = virt_to_dma(dev, ptr); + if (dev->dma_mask) { + unsigned long mask = *dev->dma_mask; unsigned long limit; - limit = (*dev->dma_mask + 1) & ~(*dev->dma_mask); - if (limit && (size > limit)) { - dev_err(dev, "DMA mapping too big " - "(requested %#x mask %#Lx)\n", - size, *dev->dma_mask); + limit = (mask + 1) & ~mask; + if (limit && size > limit) { + dev_err(dev, "DMA mapping too big (requested %#x " + "mask %#Lx)\n", size, *dev->dma_mask); return ~0; } - } - dma_addr = virt_to_dma(dev, ptr); + /* + * Figure out if we need to bounce from the DMA mask. + */ + needs_bounce = (dma_addr | (dma_addr + size - 1)) & ~mask; + } - if (device_info && dma_needs_bounce(dev, dma_addr, size)) { + if (device_info && (needs_bounce || dma_needs_bounce(dev, dma_addr, size))) { struct safe_buffer *buf; buf = alloc_safe_buffer(device_info, ptr, size, dir); diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c index 18ba42e69..acc7d1af7 100644 --- a/arch/arm/common/sa1111.c +++ b/arch/arm/common/sa1111.c @@ -35,6 +35,10 @@ #include +#ifdef CONFIG_ARCH_PXA +#include +#endif + extern void __init sa1110_mb_enable(void); /* @@ -761,9 +765,6 @@ static void __sa1111_remove(struct sa1111 *sachip) */ int dma_needs_bounce(struct device *dev, dma_addr_t addr, size_t size) { - unsigned int physaddr = SA1111_DMA_ADDR((unsigned int)addr); - u32 dma_mask = *dev->dma_mask; - /* * Section 4.6 of the "Intel StrongARM SA-1111 Development Module * User's Guide" mentions that jumpers R51 and R52 control the @@ -771,14 +772,8 @@ int dma_needs_bounce(struct device *dev, dma_addr_t addr, size_t size) * SDRAM bank 1 on Neponset). The default configuration selects * Assabet, so any address in bank 1 is necessarily invalid. */ - if ((machine_is_assabet() || machine_is_pfs168()) && - (addr >= 0xc8000000 || (addr + size) >= 0xc8000000)) - return 1; - - /* - * Check to see if either the start or end are illegal. - */ - return ((addr & ~dma_mask)) || ((addr + size - 1) & ~dma_mask); + return ((machine_is_assabet() || machine_is_pfs168()) && + (addr >= 0xc8000000 || (addr + size) >= 0xc8000000)); } struct sa1111_save_data { diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile index 1a85e39d7..936dee40e 100644 --- a/arch/arm/kernel/Makefile +++ b/arch/arm/kernel/Makefile @@ -19,6 +19,9 @@ obj-$(CONFIG_ARTHUR) += arthur.o obj-$(CONFIG_ISA_DMA) += dma-isa.o obj-$(CONFIG_PCI) += bios32.o +obj-$(CONFIG_IWMMXT) += iwmmxt.o +AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt + ifneq ($(CONFIG_ARCH_EBSA110),y) obj-y += io.o endif @@ -26,7 +29,7 @@ endif head-y := head.o obj-$(CONFIG_DEBUG_LL) += debug.o -extra-y := $(head-y) init_task.o vmlinux.lds.s +extra-y := $(head-y) init_task.o vmlinux.lds # Spell out some dependencies that aren't automatically figured out $(obj)/entry-armv.o: $(obj)/entry-header.S include/asm-arm/constants.h diff --git a/arch/arm/kernel/armksyms.c b/arch/arm/kernel/armksyms.c index 43f0c6694..ae9203853 100644 --- a/arch/arm/kernel/armksyms.c +++ b/arch/arm/kernel/armksyms.c @@ -57,7 +57,7 @@ EXPORT_SYMBOL_ALIAS(kern_fp_enter,fp_enter); EXPORT_SYMBOL_ALIAS(fp_printk,printk); EXPORT_SYMBOL_ALIAS(fp_send_sig,send_sig); -EXPORT_SYMBOL_NOVERS(__backtrace); +EXPORT_SYMBOL(__backtrace); /* platform dependent support */ EXPORT_SYMBOL(udelay); @@ -69,43 +69,44 @@ EXPORT_SYMBOL(__csum_ipv6_magic); /* io */ #ifndef __raw_readsb -EXPORT_SYMBOL_NOVERS(__raw_readsb); +EXPORT_SYMBOL(__raw_readsb); #endif #ifndef __raw_readsw -EXPORT_SYMBOL_NOVERS(__raw_readsw); +EXPORT_SYMBOL(__raw_readsw); #endif #ifndef __raw_readsl -EXPORT_SYMBOL_NOVERS(__raw_readsl); +EXPORT_SYMBOL(__raw_readsl); #endif #ifndef __raw_writesb -EXPORT_SYMBOL_NOVERS(__raw_writesb); +EXPORT_SYMBOL(__raw_writesb); #endif #ifndef __raw_writesw -EXPORT_SYMBOL_NOVERS(__raw_writesw); +EXPORT_SYMBOL(__raw_writesw); #endif #ifndef __raw_writesl -EXPORT_SYMBOL_NOVERS(__raw_writesl); +EXPORT_SYMBOL(__raw_writesl); #endif /* string / mem functions */ -EXPORT_SYMBOL_NOVERS(strcpy); -EXPORT_SYMBOL_NOVERS(strncpy); -EXPORT_SYMBOL_NOVERS(strcat); -EXPORT_SYMBOL_NOVERS(strncat); -EXPORT_SYMBOL_NOVERS(strcmp); -EXPORT_SYMBOL_NOVERS(strncmp); -EXPORT_SYMBOL_NOVERS(strchr); -EXPORT_SYMBOL_NOVERS(strlen); -EXPORT_SYMBOL_NOVERS(strnlen); -EXPORT_SYMBOL_NOVERS(strpbrk); -EXPORT_SYMBOL_NOVERS(strrchr); -EXPORT_SYMBOL_NOVERS(strstr); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(memmove); -EXPORT_SYMBOL_NOVERS(memcmp); -EXPORT_SYMBOL_NOVERS(memscan); -EXPORT_SYMBOL_NOVERS(__memzero); +EXPORT_SYMBOL(strcpy); +EXPORT_SYMBOL(strncpy); +EXPORT_SYMBOL(strcat); +EXPORT_SYMBOL(strncat); +EXPORT_SYMBOL(strcmp); +EXPORT_SYMBOL(strncmp); +EXPORT_SYMBOL(strchr); +EXPORT_SYMBOL(strlen); +EXPORT_SYMBOL(strnlen); +EXPORT_SYMBOL(strpbrk); +EXPORT_SYMBOL(strrchr); +EXPORT_SYMBOL(strstr); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(memmove); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(memscan); +EXPORT_SYMBOL(memchr); +EXPORT_SYMBOL(__memzero); /* user mem (segment) */ EXPORT_SYMBOL(__arch_copy_from_user); @@ -114,30 +115,30 @@ EXPORT_SYMBOL(__arch_clear_user); EXPORT_SYMBOL(__arch_strnlen_user); EXPORT_SYMBOL(__arch_strncpy_from_user); -EXPORT_SYMBOL_NOVERS(__get_user_1); -EXPORT_SYMBOL_NOVERS(__get_user_2); -EXPORT_SYMBOL_NOVERS(__get_user_4); -EXPORT_SYMBOL_NOVERS(__get_user_8); +EXPORT_SYMBOL(__get_user_1); +EXPORT_SYMBOL(__get_user_2); +EXPORT_SYMBOL(__get_user_4); +EXPORT_SYMBOL(__get_user_8); -EXPORT_SYMBOL_NOVERS(__put_user_1); -EXPORT_SYMBOL_NOVERS(__put_user_2); -EXPORT_SYMBOL_NOVERS(__put_user_4); -EXPORT_SYMBOL_NOVERS(__put_user_8); +EXPORT_SYMBOL(__put_user_1); +EXPORT_SYMBOL(__put_user_2); +EXPORT_SYMBOL(__put_user_4); +EXPORT_SYMBOL(__put_user_8); /* gcc lib functions */ -EXPORT_SYMBOL_NOVERS(__ashldi3); -EXPORT_SYMBOL_NOVERS(__ashrdi3); -EXPORT_SYMBOL_NOVERS(__divsi3); -EXPORT_SYMBOL_NOVERS(__lshrdi3); -EXPORT_SYMBOL_NOVERS(__modsi3); -EXPORT_SYMBOL_NOVERS(__muldi3); -EXPORT_SYMBOL_NOVERS(__ucmpdi2); -EXPORT_SYMBOL_NOVERS(__udivdi3); -EXPORT_SYMBOL_NOVERS(__umoddi3); -EXPORT_SYMBOL_NOVERS(__udivmoddi4); -EXPORT_SYMBOL_NOVERS(__udivsi3); -EXPORT_SYMBOL_NOVERS(__umodsi3); -EXPORT_SYMBOL_NOVERS(__do_div64); +EXPORT_SYMBOL(__ashldi3); +EXPORT_SYMBOL(__ashrdi3); +EXPORT_SYMBOL(__divsi3); +EXPORT_SYMBOL(__lshrdi3); +EXPORT_SYMBOL(__modsi3); +EXPORT_SYMBOL(__muldi3); +EXPORT_SYMBOL(__ucmpdi2); +EXPORT_SYMBOL(__udivdi3); +EXPORT_SYMBOL(__umoddi3); +EXPORT_SYMBOL(__udivmoddi4); +EXPORT_SYMBOL(__udivsi3); +EXPORT_SYMBOL(__umodsi3); +EXPORT_SYMBOL(__do_div64); /* bitops */ EXPORT_SYMBOL(_set_bit_le); diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c index c54132421..3f22b6356 100644 --- a/arch/arm/kernel/asm-offsets.c +++ b/arch/arm/kernel/asm-offsets.c @@ -13,6 +13,7 @@ #include #include #include +#include /* * Make sure that the compiler and target are compatible. @@ -48,10 +49,23 @@ int main(void) { DEFINE(TSK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); BLANK(); + DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); + DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); + DEFINE(TI_ADDR_LIMIT, offsetof(struct thread_info, addr_limit)); + DEFINE(TI_TASK, offsetof(struct thread_info, task)); + DEFINE(TI_EXEC_DOMAIN, offsetof(struct thread_info, exec_domain)); + DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); + DEFINE(TI_CPU_DOMAIN, offsetof(struct thread_info, cpu_domain)); + DEFINE(TI_CPU_SAVE, offsetof(struct thread_info, cpu_context)); + DEFINE(TI_USED_CP, offsetof(struct thread_info, used_cp)); + DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate)); + DEFINE(TI_VFPSTATE, offsetof(struct thread_info, vfpstate)); + DEFINE(TI_IWMMXT_STATE, (offsetof(struct thread_info, fpstate)+4)&~7); + BLANK(); #if __LINUX_ARM_ARCH__ >= 6 DEFINE(MM_CONTEXT_ID, offsetof(struct mm_struct, context.id)); -#endif BLANK(); +#endif DEFINE(VMA_VM_MM, offsetof(struct vm_area_struct, vm_mm)); DEFINE(VMA_VM_FLAGS, offsetof(struct vm_area_struct, vm_flags)); BLANK(); diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 927711c48..ab2985877 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c @@ -17,6 +17,7 @@ #include static int debug_pci; +static int use_firmware; /* * We can't use pci_find_device() here since we are @@ -128,12 +129,14 @@ static void __devinit pci_fixup_83c553(struct pci_dev *dev) pci_write_config_word(dev, 0x44, 0xb000); outb(0x08, 0x4d1); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_83C553, pci_fixup_83c553); static void __devinit pci_fixup_unassign(struct pci_dev *dev) { dev->resource[0].end -= dev->resource[0].start; dev->resource[0].start = 0; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F, pci_fixup_unassign); /* * Prevent the PCI layer from seeing the resources allocated to this device @@ -154,6 +157,7 @@ static void __devinit pci_fixup_dec21285(struct pci_dev *dev) } } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_dec21285); /* * Same as above. The PrPMC800 carrier board for the PrPMC1100 @@ -178,6 +182,7 @@ static void __devinit pci_fixup_prpmc1100(struct pci_dev *dev) } } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IXP4XX, pci_fixup_prpmc1100); /* * PCI IDE controllers use non-standard I/O port decoding, respect it. @@ -198,6 +203,7 @@ static void __devinit pci_fixup_ide_bases(struct pci_dev *dev) } } } +DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases); /* * Put the DEC21142 to sleep @@ -206,6 +212,7 @@ static void __devinit pci_fixup_dec21142(struct pci_dev *dev) { pci_write_config_dword(dev, 0x40, 0x80000000); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, pci_fixup_dec21142); /* * The CY82C693 needs some rather major fixups to ensure that it does @@ -271,38 +278,7 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev) pci_write_config_byte(dev, 0x45, 0x03); } } - -struct pci_fixup pcibios_fixups[] = { - { - PCI_FIXUP_HEADER, - PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, - pci_fixup_cy82c693 - }, { - PCI_FIXUP_HEADER, - PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, - pci_fixup_dec21142 - }, { - PCI_FIXUP_HEADER, - PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, - pci_fixup_dec21285 - }, { - PCI_FIXUP_HEADER, - PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_83C553, - pci_fixup_83c553 - }, { - PCI_FIXUP_HEADER, - PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F, - pci_fixup_unassign - }, { - PCI_FIXUP_HEADER, - PCI_ANY_ID, PCI_ANY_ID, - pci_fixup_ide_bases - }, { - PCI_FIXUP_HEADER, - PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IXP4XX, - pci_fixup_prpmc1100 - }, { 0 } -}; +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693); void __devinit pcibios_update_irq(struct pci_dev *dev, int irq) { @@ -596,15 +572,17 @@ void __init pci_common_init(struct hw_pci *hw) list_for_each_entry(sys, &hw->buses, node) { struct pci_bus *bus = sys->bus; - /* - * Size the bridge windows. - */ - pci_bus_size_bridges(bus); + if (!use_firmware) { + /* + * Size the bridge windows. + */ + pci_bus_size_bridges(bus); - /* - * Assign resources. - */ - pci_bus_assign_resources(bus); + /* + * Assign resources. + */ + pci_bus_assign_resources(bus); + } /* * Tell drivers about devices found. @@ -618,6 +596,9 @@ char * __init pcibios_setup(char *str) if (!strcmp(str, "debug")) { debug_pci = 1; return NULL; + } else if (!strcmp(str, "firmware")) { + use_firmware = 1; + return NULL; } return str; } diff --git a/arch/arm/kernel/debug.S b/arch/arm/kernel/debug.S index 822dbde5a..7b4e9721f 100644 --- a/arch/arm/kernel/debug.S +++ b/arch/arm/kernel/debug.S @@ -411,10 +411,16 @@ .macro addruart,rx mov \rx, #0xfe000000 @ physical -#ifdef CONFIG_ARCH_IQ80310 - orr \rx, \rx, #0x00810000 @ location of the UART -#elif defined(CONFIG_ARCH_IQ80321) +#if defined(CONFIG_ARCH_IQ80321) || defined(CONFIG_ARCH_IQ31244) orr \rx, \rx, #0x00800000 @ location of the UART +#elif defined(CONFIG_ARCH_IOP331) + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 @ MMU enabled? + moveq \rx, #0x000fe000 @ Physical Base + movne \rx, #0 + orr \rx, \rx, #0xfe000000 + orr \rx, \rx, #0x00f00000 @ Virtual Base + orr \rx, \rx, #0x00001700 @ location of the UART #else #error Unknown IOP3XX implementation #endif @@ -432,7 +438,7 @@ .endm .macro waituart,rd,rx -#ifndef CONFIG_ARCH_IQ80321 +#if !defined(CONFIG_ARCH_IQ80321) || !defined(CONFIG_ARCH_IQ31244) || !defined(CONFIG_ARCH_IQ80331) 1001: ldrb \rd, [\rx, #0x6] tst \rd, #0x10 beq 1001b @@ -464,6 +470,36 @@ .macro busyuart,rd,rx .endm +#elif defined(CONFIG_ARCH_IXP2000) + + .macro addruart,rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 @ MMU enabled? + moveq \rx, #0xc0000000 @ Physical base + movne \rx, #0xfe000000 @ virtual base + orrne \rx, \rx, #0x00f00000 + orr \rx, \rx, #0x00030000 +#ifdef __ARMEB__ + orr \rx, \rx, #0x00000003 +#endif + .endm + + .macro senduart,rd,rx + strb \rd, [\rx] + .endm + + .macro busyuart,rd,rx +1002: ldrb \rd, [\rx, #0x14] + tst \rd, #0x20 + beq 1002b + .endm + + .macro waituart,rd,rx + nop + nop + nop + .endm + #elif defined(CONFIG_ARCH_OMAP) .macro addruart,rx @@ -615,6 +651,60 @@ tst \rd, #1 << 3 @ UARTFLGUBUSY - 1 when busy bne 1001b .endm + +#elif defined(CONFIG_ARCH_IMX) + + .macro addruart,rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 @ MMU enabled? + moveq \rx, #0x00000000 @ physical + movne \rx, #0xe0000000 @ virtual + orr \rx, \rx, #0x00200000 + orr \rx, \rx, #0x00006000 @ UART1 offset + .endm + + .macro senduart,rd,rx + str \rd, [\rx, #0x40] @ TXDATA + .endm + + .macro waituart,rd,rx + .endm + + .macro busyuart,rd,rx +1002: ldr \rd, [\rx, #0x98] @ SR2 + tst \rd, #1 << 3 @ TXDC + beq 1002b @ wait until transmit done + .endm + +#elif defined(CONFIG_ARCH_H720X) + + .equ io_virt, IO_BASE + .equ io_phys, IO_START + + .macro addruart,rx + mrc p15, 0, \rx, c1, c0 + tst \rx, #1 @ MMU enabled? + moveq \rx, #io_phys @ physical base address + movne \rx, #io_virt @ virtual address + add \rx, \rx, #0x00020000 @ UART1 + .endm + + .macro senduart,rd,rx + str \rd, [\rx, #0x0] @ UARTDR + + .endm + + .macro waituart,rd,rx +1001: ldr \rd, [\rx, #0x18] @ UARTFLG + tst \rd, #1 << 5 @ UARTFLGUTXFF - 1 when full + bne 1001b + .endm + + .macro busyuart,rd,rx +1001: ldr \rd, [\rx, #0x18] @ UARTFLG + tst \rd, #1 << 3 @ UARTFLGUBUSY - 1 when busy + bne 1001b + .endm #else #error Unknown architecture #endif diff --git a/arch/arm/kernel/ecard.c b/arch/arm/kernel/ecard.c index d3dafbf4f..67ac4ec53 100644 --- a/arch/arm/kernel/ecard.c +++ b/arch/arm/kernel/ecard.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -53,18 +54,14 @@ #define HAVE_EXPMASK #endif -enum req { - req_readbytes, - req_reset -}; - struct ecard_request { - enum req req; + void (*fn)(struct ecard_request *); ecard_t *ec; unsigned int address; unsigned int length; unsigned int use_loader; void *buffer; + struct completion *complete; }; struct expcard_blacklist { @@ -129,15 +126,14 @@ slot_to_ecard(unsigned int slot) #define POD_INT_ADDR(x) ((volatile unsigned char *)\ ((BUS_ADDR((x)) - IO_BASE) + IO_START)) -static inline void ecard_task_reset(struct ecard_request *req) +static void ecard_task_reset(struct ecard_request *req) { struct expansion_card *ec = req->ec; if (ec->loader) ecard_loader_reset(POD_INT_ADDR(ec->podaddr), ec->loader); } -static void -ecard_task_readbytes(struct ecard_request *req) +static void ecard_task_readbytes(struct ecard_request *req) { unsigned char *buf = (unsigned char *)req->buffer; volatile unsigned char *base_addr = @@ -206,26 +202,9 @@ ecard_task_readbytes(struct ecard_request *req) } -static void ecard_do_request(struct ecard_request *req) -{ - switch (req->req) { - case req_readbytes: - ecard_task_readbytes(req); - break; - - case req_reset: - ecard_task_reset(req); - break; - } -} - -#include - -static pid_t ecard_pid; -static wait_queue_head_t ecard_wait; +static DECLARE_WAIT_QUEUE_HEAD(ecard_wait); static struct ecard_request *ecard_req; - -static DECLARE_COMPLETION(ecard_completion); +static DECLARE_MUTEX(ecard_sem); /* * Set up the expansion card daemon's page tables. @@ -282,8 +261,6 @@ static int ecard_init_mm(void) static int ecard_task(void * unused) { - struct task_struct *tsk = current; - daemonize("kecardd"); /* @@ -298,17 +275,13 @@ ecard_task(void * unused) while (1) { struct ecard_request *req; - do { - req = xchg(&ecard_req, NULL); - - if (req == NULL) { - sigemptyset(&tsk->pending.signal); - interruptible_sleep_on(&ecard_wait); - } - } while (req == NULL); + wait_event_interruptible(ecard_wait, ecard_req != NULL); - ecard_do_request(req); - complete(&ecard_completion); + req = xchg(&ecard_req, NULL); + if (req != NULL) { + req->fn(req); + complete(req->complete); + } } } @@ -318,25 +291,21 @@ ecard_task(void * unused) * FIXME: The test here is not sufficient to detect if the * kcardd is running. */ -static void -ecard_call(struct ecard_request *req) +static void ecard_call(struct ecard_request *req) { - /* - * Make sure we have a context that is able to sleep. - */ - if (current == &init_task || in_interrupt()) - BUG(); + DECLARE_COMPLETION(completion); - if (ecard_pid <= 0) - ecard_pid = kernel_thread(ecard_task, NULL, CLONE_KERNEL); + req->complete = &completion; + down(&ecard_sem); ecard_req = req; wake_up(&ecard_wait); /* * Now wait for kecardd to run. */ - wait_for_completion(&ecard_completion); + wait_for_completion(&completion); + up(&ecard_sem); } /* ======================= Mid-level card control ===================== */ @@ -346,7 +315,7 @@ ecard_readbytes(void *addr, ecard_t *ec, int off, int len, int useld) { struct ecard_request req; - req.req = req_readbytes; + req.fn = ecard_task_readbytes; req.ec = ec; req.address = off; req.length = len; @@ -1066,9 +1035,14 @@ nomem: */ static int __init ecard_init(void) { - int slot, irqhw; + int slot, irqhw, ret; - init_waitqueue_head(&ecard_wait); + ret = kernel_thread(ecard_task, NULL, CLONE_KERNEL); + if (ret < 0) { + printk(KERN_ERR "Ecard: unable to create kernel thread: %d\n", + ret); + return ret; + } printk("Probing expansion cards\n"); @@ -1151,7 +1125,7 @@ static void ecard_drv_shutdown(struct device *dev) if (drv->shutdown) drv->shutdown(ec); ecard_release(ec); - req.req = req_reset; + req.fn = ecard_task_reset; req.ec = ec; ecard_call(&req); } diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 7fe5c2d39..5639f1b61 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S @@ -562,40 +562,6 @@ ENTRY(soft_irq_mask) .macro irq_prio_table .endm -#elif defined(CONFIG_ARCH_IOP310) - - .macro disable_fiq - .endm - - .macro get_irqnr_and_base, irqnr, irqstat, base, tmp - mrc p13, 0, \irqstat, c4, c0, 0 @ get INTSRC - mrc p13, 0, \base, c0, c0, 0 @ get INTCTL - - tst \irqstat, #(1<<29) @ if INTSRC_BI - tstne \base, #(1<<3) @ and INTCTL_BM - movne \irqnr, #IRQ_XS80200_BCU - bne 1001f - - tst \irqstat, #(1<<28) @ if INTSRC_PI - tstne \base, #(1<<2) @ and INTCTL_PM - movne \irqnr, #IRQ_XS80200_PMU - bne 1001f - - tst \irqstat, #(1<<31) @ if INTSRC_FI - tstne \base, #(1<<0) @ and INTCTL_FM - movne \irqnr, #IRQ_XS80200_EXTFIQ - bne 1001f - - tst \irqstat, #(1<<30) @ if INTSRC_II - tstne \base, #(1<<1) @ and INTCTL_IM - movne \irqnr, #IRQ_XS80200_EXTIRQ - -1001: - .endm - - .macro irq_prio_table - .endm - #elif defined(CONFIG_ARCH_IOP321) .macro disable_fiq .endm @@ -618,6 +584,39 @@ ENTRY(soft_irq_mask) .macro irq_prio_table .endm +#elif defined(CONFIG_ARCH_IOP331) + .macro disable_fiq + .endm + + /* + * Note: only deal with normal interrupts, not FIQ + */ + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + mov \irqnr, #0 + mrc p6, 0, \irqstat, c4, c0, 0 @ Read IINTSRC0 + cmp \irqstat, #0 + bne 1002f + mrc p6, 0, \irqstat, c5, c0, 0 @ Read IINTSRC1 + cmp \irqstat, #0 + beq 1001f + clz \irqnr, \irqstat +/* + * mov \base, #31 + * subs \irqnr,\base,\irqnr + */ + rsbs \irqnr,\irqnr,#31 @ recommend by RMK + add \irqnr,\irqnr,#IRQ_IOP331_XINT8 + b 1001f +1002: clz \irqnr, \irqstat + mov \base, #31 + subs \irqnr,\base,\irqnr + add \irqnr,\irqnr,#IRQ_IOP331_DMA0_EOT +1001: + .endm + + .macro irq_prio_table + .endm + #elif defined(CONFIG_ARCH_PXA) .macro disable_fiq @@ -645,6 +644,60 @@ ENTRY(soft_irq_mask) .macro irq_prio_table .endm +#elif defined(CONFIG_ARCH_IXP2000) + + .macro disable_fiq + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + + mov \irqnr, #0x0 @clear out irqnr as default + mov \base, #0xfe000000 + orr \base, \base, #0x00ff0000 + orr \base, \base, #0x0000a000 + orr \base, \base, #0x08 + ldr \irqstat, [\base] @ get interrupts + mov \tmp, #IXP2000_VALID_IRQ_MASK & 0xff000000 + orr \tmp, \tmp, #IXP2000_VALID_IRQ_MASK & 0x00ff0000 + orr \tmp, \tmp, #IXP2000_VALID_IRQ_MASK & 0x0000ff00 + orr \tmp, \tmp, #IXP2000_VALID_IRQ_MASK & 0x000000ff + and \irqstat, \irqstat, \tmp + + cmp \irqstat, #0 + beq 1001f + + clz \irqnr, \irqstat + mov \base, #31 + subs \irqnr, \base, \irqnr + + /* + * We handle PCIA and PCIB here so we don't have an + * extra layer of code just to check these two bits. + */ + cmp \irqnr, #IRQ_IXP2000_PCI + bne 1001f + + mov \base, #0xfe000000 + orr \base, \base, #0x00fd0000 + orr \base, \base, #0x0000e100 + orr \base, \base, #0x00000058 + ldr \irqstat, [\base] + + mov \tmp, #(1<<26) + tst \irqstat, \tmp + movne \irqnr, #IRQ_IXP2000_PCIA + bne 1001f + + mov \tmp, #(1<<27) + tst \irqstat, \tmp + movne \irqnr, #IRQ_IXP2000_PCIB + +1001: + .endm + + .macro irq_prio_table + .endm + #elif defined (CONFIG_ARCH_IXP4XX) .macro disable_fiq @@ -884,6 +937,82 @@ ENTRY(soft_irq_mask) .macro irq_prio_table .endm +#elif defined(CONFIG_ARCH_IMX) + + .macro disable_fiq + .endm +#define AITC_NIVECSR 0x40 + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp + ldr \irqstat, =IO_ADDRESS(IMX_AITC_BASE) + @ Load offset & priority of the highest priority + @ interrupt pending. + ldr \irqnr, [\irqstat, #AITC_NIVECSR] + @ Shift off the priority leaving the offset or + @ "interrupt number" + mov \irqnr, \irqnr, lsr #16 + ldr \irqstat, =1 @ dummy compare + ldr \base, =0xFFFF // invalid interrupt + cmp \irqnr, \base + bne 1001f + ldr \irqstat, =0 +1001: + tst \irqstat, #1 @ to make the condition code = TRUE + .endm + + .macro irq_prio_table + .endm + +#elif defined(CONFIG_ARCH_H720X) + + .macro disable_fiq + .endm + + .macro get_irqnr_and_base, irqnr, irqstat, base, tmp +#if defined (CONFIG_CPU_H7201) || defined (CONFIG_CPU_H7202) + @ we could use the id register on H7202, but this is not + @ properly updated when we come back from asm_do_irq + @ without a previous return from interrupt + @ (see loops below in irq_svc, irq_usr) + @ We see unmasked pending ints only, as the masked pending ints + @ are not visible here + + mov \base, #0xf0000000 @ base register + orr \base, \base, #0x24000 @ irqbase + ldr \irqstat, [\base, #0x04] @ get interrupt status +#if defined (CONFIG_CPU_H7201) + ldr \tmp, =0x001fffff +#else + mvn \tmp, #0xc0000000 +#endif + and \irqstat, \irqstat, \tmp @ mask out unused ints + mov \irqnr, #0 + + mov \tmp, #0xff00 + orr \tmp, \tmp, #0xff + tst \irqstat, \tmp + addeq \irqnr, \irqnr, #16 + moveq \irqstat, \irqstat, lsr #16 + tst \irqstat, #255 + addeq \irqnr, \irqnr, #8 + moveq \irqstat, \irqstat, lsr #8 + tst \irqstat, #15 + addeq \irqnr, \irqnr, #4 + moveq \irqstat, \irqstat, lsr #4 + tst \irqstat, #3 + addeq \irqnr, \irqnr, #2 + moveq \irqstat, \irqstat, lsr #2 + tst \irqstat, #1 + addeq \irqnr, \irqnr, #1 + moveq \irqstat, \irqstat, lsr #1 + tst \irqstat, #1 @ bit 0 should be set + .endm + + .macro irq_prio_table + .endm + +#else +#error hynix processor selection missmatch +#endif #else #error Unknown architecture #endif @@ -1174,7 +1303,7 @@ __und_usr: sub sp, sp, #S_FRAME_SIZE @ Allocate frame size in one go * r0 - instruction opcode. * r10 - this threads thread_info structure. */ -call_fpe: enable_irq r10 @ Enable interrupts +call_fpe: tst r0, #0x08000000 @ only CDP/CPRT/LDC/STC have bit 27 #if defined(CONFIG_CPU_ARM610) || defined(CONFIG_CPU_ARM710) and r8, r0, #0x0f000000 @ mask out op-code bits @@ -1186,6 +1315,14 @@ call_fpe: enable_irq r10 @ Enable interrupts mov r7, #1 add r6, r10, #TI_USED_CP strb r7, [r6, r8, lsr #8] @ set appropriate used_cp[] +#ifdef CONFIG_IWMMXT + @ Test if we need to give access to iWMMXt coprocessors + ldr r5, [r10, #TI_FLAGS] + rsbs r7, r8, #(1 << 8) @ CP 0 or 1 only + movcss r7, r5, lsr #(TIF_USING_IWMMXT + 1) + bcs iwmmxt_task_enable +#endif + enable_irq r7 add pc, pc, r8, lsr #6 mov r0, r0 @@ -1264,7 +1401,11 @@ ENTRY(ret_from_exception) ENTRY(__switch_to) add ip, r1, #TI_CPU_SAVE ldr r3, [r2, #TI_CPU_DOMAIN]! - stmia ip, {r4 - sl, fp, sp, lr} @ Store most regs on stack + stmia ip!, {r4 - sl, fp, sp, lr} @ Store most regs on stack +#if defined(CONFIG_CPU_XSCALE) && !defined(CONFIG_IWMMXT) + mra r4, r5, acc0 + stmia ip, {r4, r5} +#endif mcr p15, 0, r3, c3, c0, 0 @ Set domain register #ifdef CONFIG_VFP @ Always disable VFP so we can lazily save/restore the old @@ -1272,6 +1413,13 @@ ENTRY(__switch_to) VFPFMRX r4, FPEXC bic r4, r4, #FPEXC_ENABLE VFPFMXR FPEXC, r4 +#endif +#if defined(CONFIG_IWMMXT) + bl iwmmxt_task_switch +#elif defined(CONFIG_CPU_XSCALE) + add r4, r2, #40 @ cpu_context_save->extra + ldmib r4, {r4, r5} + mar acc0, r4, r5 #endif ldmib r2, {r4 - sl, fp, sp, pc} @ Load all regs saved previously diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 68636bd7c..9c6501295 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -46,6 +46,7 @@ */ #define MAX_IRQ_CNT 100000 +static int noirqdebug; static volatile unsigned long irq_err_count; static spinlock_t irq_controller_lock = SPIN_LOCK_UNLOCKED; static LIST_HEAD(irq_pending); @@ -235,7 +236,7 @@ report_bad_irq(unsigned int irq, struct pt_regs *regs, struct irqdesc *desc, int static int count = 100; struct irqaction *action; - if (!count) + if (!count || noirqdebug) return; count--; @@ -261,7 +262,7 @@ static int __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs) { unsigned int status; - int retval = 0; + int ret, retval = 0; spin_unlock(&irq_controller_lock); @@ -270,8 +271,10 @@ __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs) status = 0; do { - status |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); @@ -861,3 +864,11 @@ void __init init_IRQ(void) init_arch_irq(); init_dma(); } + +static int __init noirqdebug_setup(char *str) +{ + noirqdebug = 1; + return 1; +} + +__setup("noirqdebug", noirqdebug_setup); diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 56498dbf7..1301b0378 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -313,6 +313,9 @@ void flush_thread(void) memset(thread->used_cp, 0, sizeof(thread->used_cp)); memset(&tsk->thread.debug, 0, sizeof(struct debug_info)); +#if defined(CONFIG_IWMMXT) + iwmmxt_task_release(thread); +#endif fp_init(&thread->fpstate); #if defined(CONFIG_VFP) vfp_flush_thread(&thread->vfpstate); @@ -324,6 +327,9 @@ void release_thread(struct task_struct *dead_task) #if defined(CONFIG_VFP) vfp_release_thread(&dead_task->thread_info->vfpstate); #endif +#if defined(CONFIG_IWMMXT) + iwmmxt_task_release(dead_task->thread_info); +#endif } asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index d99255a8b..ddb9322f3 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c @@ -677,7 +677,7 @@ static int do_ptrace(int request, struct task_struct *child, long addr, long dat /* make sure single-step breakpoint is gone. */ child->ptrace &= ~PT_SINGLESTEP; ptrace_cancel_bpt(child); - if (child->state != TASK_ZOMBIE) { + if (child->exit_state != EXIT_ZOMBIE) { child->exit_code = SIGKILL; wake_up_process(child); } @@ -794,11 +794,8 @@ asmlinkage void syscall_trace(int why, struct pt_regs *regs) /* the 0x80 provides a way for the tracing parent to distinguish between a syscall stop and SIGTRAP delivery */ - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/arm/kernel/semaphore.c b/arch/arm/kernel/semaphore.c index 9ce72332e..c232d3777 100644 --- a/arch/arm/kernel/semaphore.c +++ b/arch/arm/kernel/semaphore.c @@ -214,7 +214,7 @@ __up_wakeup: \n\ ldmfd sp!, {r0 - r3, pc} \n\ "); -EXPORT_SYMBOL_NOVERS(__down_failed); -EXPORT_SYMBOL_NOVERS(__down_interruptible_failed); -EXPORT_SYMBOL_NOVERS(__down_trylock_failed); -EXPORT_SYMBOL_NOVERS(__up_wakeup); +EXPORT_SYMBOL(__down_failed); +EXPORT_SYMBOL(__down_interruptible_failed); +EXPORT_SYMBOL(__down_trylock_failed); +EXPORT_SYMBOL(__up_wakeup); diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 835010c55..550cb831a 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -57,7 +57,6 @@ extern unsigned int mem_fclk_21285; extern void paging_init(struct meminfo *, struct machine_desc *desc); extern void convert_to_tag_list(struct tag *tags); extern void squash_mem_tags(struct tag *tag); -extern void bootmem_init(struct meminfo *); extern void reboot_setup(char *str); extern int root_mountflags; extern int _stext, _text, _etext, _edata, _end; @@ -720,7 +719,6 @@ void __init setup_arch(char **cmdline_p) memcpy(saved_command_line, from, COMMAND_LINE_SIZE); saved_command_line[COMMAND_LINE_SIZE-1] = '\0'; parse_cmdline(cmdline_p, from); - bootmem_init(&meminfo); paging_init(&meminfo, mdesc); request_standard_resources(&meminfo, mdesc); @@ -758,6 +756,7 @@ static const char *hwcap_str[] = { "fpa", "vfp", "edsp", + "java", NULL }; diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index d214e8d49..d433d4784 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -145,6 +145,100 @@ struct rt_sigframe unsigned long retcode; }; +#ifdef CONFIG_IWMMXT + +/* iwmmxt_area is 0x98 bytes long, preceeded by 8 bytes of signature */ +#define IWMMXT_STORAGE_SIZE (0x98 + 8) +#define IWMMXT_MAGIC0 0x12ef842a +#define IWMMXT_MAGIC1 0x1c07ca71 + +static int page_present(struct mm_struct *mm, unsigned long addr, int wr) +{ + pgd_t *pgd = pgd_offset(mm, addr); + if (pgd_present(*pgd)) { + pmd_t *pmd = pmd_offset(pgd, addr); + if (pmd_present(*pmd)) { + pte_t *pte = pte_offset_map(pmd, addr); + return (pte_present(*pte) && (!wr || pte_write(*pte))); + } + } + return 0; +} + +static int +preserve_iwmmxt_context(void *iwmmxt_save_area) +{ + int err = 0; + + /* the iWMMXt context must be 64 bit aligned */ + long *iwmmxt_storage = (long *)(((long)iwmmxt_save_area + 4) & ~7); + +again: + __put_user_error(IWMMXT_MAGIC0, iwmmxt_storage+0, err); + __put_user_error(IWMMXT_MAGIC1, iwmmxt_storage+1, err); + /* + * iwmmxt_task_copy() doesn't check user permissions. + * Let's do a dummy write on the upper boundary to ensure + * access to user mem is OK all way up. + */ + __put_user_error(0, iwmmxt_storage+IWMMXT_STORAGE_SIZE/4-1, err); + if (!err) { + /* Let's make sure the user mapping won't disappear under us */ + struct mm_struct *mm = current->mm; + unsigned long addr = (unsigned long)iwmmxt_storage; + spin_lock(&mm->page_table_lock); + if ( !page_present(mm, addr, 1) || + !page_present(mm, addr+IWMMXT_STORAGE_SIZE-1, 1) ) { + /* our user area has gone before grabbing the lock */ + spin_unlock(&mm->page_table_lock); + goto again; + } + iwmmxt_task_copy(current_thread_info(), iwmmxt_storage+2); + spin_unlock(&mm->page_table_lock); + return 0; + } + return err; +} + +static int +restore_iwmmxt_context(void *iwmmxt_save_area) +{ + int err = 0; + long *iwmmxt_storage, magic0, magic1, dummy; + + /* the iWMMXt context is 64 bit aligned */ + iwmmxt_storage = (long *)(((long)iwmmxt_save_area + 4) & ~7); + + /* + * Validate iWMMXt context signature. + * Also, iwmmxt_task_restore() doesn't check user permissions. + * Let's do a dummy write on the upper boundary to ensure + * access to user mem is OK all way up. + */ +again: + __get_user_error(magic0, iwmmxt_storage+0, err); + __get_user_error(magic1, iwmmxt_storage+1, err); + if (!err && magic0 == IWMMXT_MAGIC0 && magic1 == IWMMXT_MAGIC1 && + !__get_user(dummy, iwmmxt_storage+IWMMXT_STORAGE_SIZE/4-1)) { + /* Let's make sure the user mapping won't disappear under us */ + struct mm_struct *mm = current->mm; + unsigned long addr = (unsigned long)iwmmxt_storage; + spin_lock(&mm->page_table_lock); + if ( !page_present(mm, addr, 0) || + !page_present(mm, addr+IWMMXT_STORAGE_SIZE-1, 0) ) { + /* our user area has gone before grabbing the lock */ + spin_unlock(&mm->page_table_lock); + goto again; + } + iwmmxt_task_restore(current_thread_info(), iwmmxt_storage+2); + spin_unlock(&mm->page_table_lock); + return 0; + } + return -1; +} + +#endif + static int restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc) { @@ -208,6 +302,11 @@ asmlinkage int sys_sigreturn(struct pt_regs *regs) if (restore_sigcontext(regs, &frame->sc)) goto badframe; +#ifdef CONFIG_IWMMXT + if (test_thread_flag(TIF_USING_IWMMXT) && restore_iwmmxt_context(frame+1)) + goto badframe; +#endif + /* Send SIGTRAP if we're single-stepping */ if (current->ptrace & PT_SINGLESTEP) { ptrace_cancel_bpt(current); @@ -256,6 +355,11 @@ asmlinkage int sys_rt_sigreturn(struct pt_regs *regs) if (do_sigaltstack(&frame->uc.uc_stack, NULL, regs->ARM_sp) == -EFAULT) goto badframe; +#ifdef CONFIG_IWMMXT + if (test_thread_flag(TIF_USING_IWMMXT) && restore_iwmmxt_context(frame+1)) + goto badframe; +#endif + /* Send SIGTRAP if we're single-stepping */ if (current->ptrace & PT_SINGLESTEP) { ptrace_cancel_bpt(current); @@ -305,6 +409,12 @@ static inline void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, int framesize) { unsigned long sp = regs->ARM_sp; + void __user *frame; + +#ifdef CONFIG_IWMMXT + if (test_thread_flag(TIF_USING_IWMMXT)) + framesize = (framesize + 4 + IWMMXT_STORAGE_SIZE) & ~7; +#endif /* * This is the X/Open sanctioned signal stack switching. @@ -315,7 +425,15 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, int framesize) /* * ATPCS B01 mandates 8-byte alignment */ - return (void __user *)((sp - framesize) & ~7); + frame = (void __user *)((sp - framesize) & ~7); + + /* + * Check that we can actually write to the signal frame. + */ + if (!access_ok(VERIFY_WRITE, frame, framesize)) + frame = NULL; + + return frame; } static int @@ -384,7 +502,7 @@ setup_frame(int usig, struct k_sigaction *ka, sigset_t *set, struct pt_regs *reg struct sigframe __user *frame = get_sigframe(ka, regs, sizeof(*frame)); int err = 0; - if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) + if (!frame) return 1; err |= setup_sigcontext(&frame->sc, /*&frame->fpstate,*/ regs, set->sig[0]); @@ -394,6 +512,11 @@ setup_frame(int usig, struct k_sigaction *ka, sigset_t *set, struct pt_regs *reg sizeof(frame->extramask)); } +#ifdef CONFIG_IWMMXT + if (test_thread_flag(TIF_USING_IWMMXT)) + err |= preserve_iwmmxt_context(frame+1); +#endif + if (err == 0) err = setup_return(regs, ka, &frame->retcode, frame, usig); @@ -408,7 +531,7 @@ setup_rt_frame(int usig, struct k_sigaction *ka, siginfo_t *info, stack_t stack; int err = 0; - if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) + if (!frame) return 1; __put_user_error(&frame->info, &frame->pinfo, err); @@ -428,6 +551,11 @@ setup_rt_frame(int usig, struct k_sigaction *ka, siginfo_t *info, regs, set->sig[0]); err |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set)); +#ifdef CONFIG_IWMMXT + if (test_thread_flag(TIF_USING_IWMMXT)) + err |= preserve_iwmmxt_context(frame+1); +#endif + if (err == 0) err = setup_return(regs, ka, &frame->retcode, frame, usig); @@ -454,12 +582,12 @@ static inline void restart_syscall(struct pt_regs *regs) * OK, we're invoking a handler */ static void -handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, +handle_signal(unsigned long sig, struct k_sigaction *ka, + siginfo_t *info, sigset_t *oldset, struct pt_regs * regs, int syscall) { struct thread_info *thread = current_thread_info(); struct task_struct *tsk = current; - struct k_sigaction *ka = &tsk->sighand->action[sig-1]; int usig = sig; int ret; @@ -514,15 +642,10 @@ handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, spin_unlock_irq(&tsk->sighand->siglock); } - if (ret == 0) { - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; + if (ret == 0) return; - } - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, tsk); + force_sigsegv(sig, tsk); } /* @@ -536,6 +659,7 @@ handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, */ static int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall) { + struct k_sigaction ka; siginfo_t info; int signr; @@ -556,9 +680,9 @@ static int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall) if (current->ptrace & PT_SINGLESTEP) ptrace_cancel_bpt(current); - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - handle_signal(signr, &info, oldset, regs, syscall); + handle_signal(signr, &ka, &info, oldset, regs, syscall); if (current->ptrace & PT_SINGLESTEP) ptrace_set_bpt(current); return 1; diff --git a/arch/arm/kernel/sys_arm.c b/arch/arm/kernel/sys_arm.c index fb26b3bf9..7cbd18e95 100644 --- a/arch/arm/kernel/sys_arm.c +++ b/arch/arm/kernel/sys_arm.c @@ -217,11 +217,8 @@ asmlinkage int sys_ipc(uint call, int first, int second, int third, return ret; return put_user(raddr, (ulong __user *)third); } - case 1: /* iBCS2 emulator entry point */ - if (!segment_eq(get_fs(), get_ds())) - return -EINVAL; - return do_shmat(first, (char __user *) ptr, - second, (ulong __user *) third); + case 1: /* Of course, we don't support iBCS2! */ + return -EINVAL; } case SHMDT: return sys_shmdt ((char __user *)ptr); @@ -257,7 +254,7 @@ asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp, struct if (!newsp) newsp = regs->ARM_sp; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0, NULL, NULL); + return do_fork(clone_flags, newsp, regs, 0, NULL, NULL); } asmlinkage int sys_vfork(struct pt_regs *regs) diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c index efcb44a9e..3043e6de7 100644 --- a/arch/arm/kernel/time.c +++ b/arch/arm/kernel/time.c @@ -33,7 +33,7 @@ #include #include #include - +#include #include u64 jiffies_64 = INITIAL_JIFFIES; @@ -52,6 +52,20 @@ EXPORT_SYMBOL(rtc_lock); /* change this if you have some constant time drift */ #define USECS_PER_JIFFY (1000000/HZ) +#ifdef CONFIG_SMP +unsigned long profile_pc(struct pt_regs *regs) +{ + unsigned long fp, pc = instruction_pointer(regs); + + if (in_lock_functions(pc)) { + fp = thread_saved_fp(current); + pc = pc_pointer(((unsigned long *)fp)[-1]); + } + + return pc; +} +EXPORT_SYMBOL(profile_pc); +#endif /* * hook for setting the RTC's idea of the current time. @@ -79,31 +93,6 @@ unsigned long long __attribute__((weak)) sched_clock(void) return (unsigned long long)jiffies * (1000000000 / HZ); } -/* - * Handle kernel profile stuff... - */ -static inline void do_profile(struct pt_regs *regs) -{ - - profile_hook(regs); - - if (!user_mode(regs) && - prof_buffer && - current->pid) { - unsigned long pc = instruction_pointer(regs); - extern int _stext; - - pc -= (unsigned long)&_stext; - - pc >>= prof_shift; - - if (pc >= prof_len) - pc = prof_len - 1; - - prof_buffer[pc] += 1; - } -} - static unsigned long next_rtc_update; /* @@ -315,9 +304,42 @@ int do_settimeofday(struct timespec *tv) EXPORT_SYMBOL(do_settimeofday); +/** + * save_time_delta - Save the offset between system time and RTC time + * @delta: pointer to timespec to store delta + * @rtc: pointer to timespec for current RTC time + * + * Return a delta between the system time and the RTC time, such + * that system time can be restored later with restore_time_delta() + */ +void save_time_delta(struct timespec *delta, struct timespec *rtc) +{ + set_normalized_timespec(delta, + xtime.tv_sec - rtc->tv_sec, + xtime.tv_nsec - rtc->tv_nsec); +} +EXPORT_SYMBOL(save_time_delta); + +/** + * restore_time_delta - Restore the current system time + * @delta: delta returned by save_time_delta() + * @rtc: pointer to timespec for current RTC time + */ +void restore_time_delta(struct timespec *delta, struct timespec *rtc) +{ + struct timespec ts; + + set_normalized_timespec(&ts, + delta->tv_sec + rtc->tv_sec, + delta->tv_nsec + rtc->tv_nsec); + + do_settimeofday(&ts); +} +EXPORT_SYMBOL(restore_time_delta); + void timer_tick(struct pt_regs *regs) { - do_profile(regs); + profile_tick(CPU_PROFILING, regs); do_leds(); do_set_rtc(); do_timer(regs); diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index e5c7f285b..d0f983705 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -381,7 +381,7 @@ do_cache_op(unsigned long start, unsigned long end, int flags) { struct vm_area_struct *vma; - if (end < start) + if (end < start || flags) return; vma = find_vma(current->active_mm, start); @@ -391,7 +391,7 @@ do_cache_op(unsigned long start, unsigned long end, int flags) if (end > vma->vm_end) end = vma->vm_end; - flush_cache_range(vma, start, end); + flush_cache_user_range(vma, start, end); } } @@ -562,7 +562,7 @@ asmlinkage void __div0(void) printk("Division by zero in kernel.\n"); dump_stack(); } -EXPORT_SYMBOL_NOVERS(__div0); +EXPORT_SYMBOL(__div0); void abort(void) { diff --git a/arch/arm/mach-integrator/cpu.c b/arch/arm/mach-integrator/cpu.c index e2a07deda..71c58bff3 100644 --- a/arch/arm/mach-integrator/cpu.c +++ b/arch/arm/mach-integrator/cpu.c @@ -79,7 +79,7 @@ static int integrator_set_target(struct cpufreq_policy *policy, unsigned int target_freq, unsigned int relation) { - unsigned long cpus_allowed; + cpumask_t cpus_allowed; int cpu = policy->cpu; struct icst525_vco vco; struct cpufreq_freqs freqs; @@ -94,7 +94,7 @@ static int integrator_set_target(struct cpufreq_policy *policy, * Bind to the specified CPU. When this call returns, * we should be running on the right CPU. */ - set_cpus_allowed(current, 1 << cpu); + set_cpus_allowed(current, cpumask_of_cpu(cpu)); BUG_ON(cpu != smp_processor_id()); /* get current setting */ @@ -154,14 +154,14 @@ static int integrator_set_target(struct cpufreq_policy *policy, static unsigned int integrator_get(unsigned int cpu) { - unsigned long cpus_allowed; + cpumask_t cpus_allowed; unsigned int current_freq; u_int cm_osc; struct icst525_vco vco; cpus_allowed = current->cpus_allowed; - set_cpus_allowed(current, 1 << cpu); + set_cpus_allowed(current, cpumask_of_cpu(cpu)); BUG_ON(cpu != smp_processor_id()); /* detect memory etc. */ diff --git a/arch/arm/mach-integrator/impd1.c b/arch/arm/mach-integrator/impd1.c index e776e8a8d..0859557e7 100644 --- a/arch/arm/mach-integrator/impd1.c +++ b/arch/arm/mach-integrator/impd1.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -87,10 +88,198 @@ void impd1_tweak_control(struct device *dev, u32 mask, u32 val) EXPORT_SYMBOL(impd1_tweak_control); +/* + * CLCD support + */ +#define PANEL PROSPECTOR + +#define LTM10C209 1 +#define PROSPECTOR 2 +#define SVGA 3 +#define VGA 4 + +#if PANEL == VGA +#define PANELTYPE vga +static struct clcd_panel vga = { + .mode = { + .name = "VGA", + .refresh = 60, + .xres = 640, + .yres = 480, + .pixclock = 39721, + .left_margin = 40, + .right_margin = 24, + .upper_margin = 32, + .lower_margin = 11, + .hsync_len = 96, + .vsync_len = 2, + .sync = 0, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD | TIM2_IPC, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .connector = IMPD1_CTRL_DISP_VGA, + .bpp = 16, + .grayscale = 0, +}; + +#elif PANEL == SVGA +#define PANELTYPE svga +static struct clcd_panel svga = { + .mode = { + .name = "SVGA", + .refresh = 0, + .xres = 800, + .yres = 600, + .pixclock = 27778, + .left_margin = 20, + .right_margin = 20, + .upper_margin = 5, + .lower_margin = 5, + .hsync_len = 164, + .vsync_len = 62, + .sync = 0, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .connector = IMPD1_CTRL_DISP_VGA, + .bpp = 16, + .grayscale = 0, +}; + +#elif PANEL == PROSPECTOR +#define PANELTYPE prospector +static struct clcd_panel prospector = { + .mode = { + .name = "PROSPECTOR", + .refresh = 0, + .xres = 640, + .yres = 480, + .pixclock = 40000, + .left_margin = 33, + .right_margin = 64, + .upper_margin = 36, + .lower_margin = 7, + .hsync_len = 64, + .vsync_len = 25, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .fixedtimings = 1, + .connector = IMPD1_CTRL_DISP_LCD, + .bpp = 16, + .grayscale = 0, +}; + +#elif PANEL == LTM10C209 +#define PANELTYPE ltm10c209 +/* + * Untested. + */ +static struct clcd_panel ltm10c209 = { + .mode = { + .name = "LTM10C209", + .refresh = 0, + .xres = 640, + .yres = 480, + .pixclock = 40000, + .left_margin = 20, + .right_margin = 20, + .upper_margin = 19, + .lower_margin = 19, + .hsync_len = 20, + .vsync_len = 10, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .fixedtimings = 1, + .connector = IMPD1_CTRL_DISP_LCD, + .bpp = 16, + .grayscale = 0, +}; +#endif + +/* + * Disable all display connectors on the interface module. + */ +static void impd1fb_clcd_disable(struct clcd_fb *fb) +{ + impd1_tweak_control(fb->dev->dev.parent, IMPD1_CTRL_DISP_MASK, 0); +} + +/* + * Enable the relevant connector on the interface module. + */ +static void impd1fb_clcd_enable(struct clcd_fb *fb) +{ + impd1_tweak_control(fb->dev->dev.parent, IMPD1_CTRL_DISP_MASK, + fb->panel->connector | IMPD1_CTRL_DISP_ENABLE); +} + +static int impd1fb_clcd_setup(struct clcd_fb *fb) +{ + unsigned long framebase = fb->dev->res.start + 0x01000000; + unsigned long framesize = SZ_1M; + int ret = 0; + + fb->panel = &PANELTYPE; + + if (!request_mem_region(framebase, framesize, "clcd framebuffer")) { + printk(KERN_ERR "IM-PD1: unable to reserve framebuffer\n"); + return -EBUSY; + } + + fb->fb.screen_base = ioremap(framebase, framesize); + if (!fb->fb.screen_base) { + printk(KERN_ERR "IM-PD1: unable to map framebuffer\n"); + ret = -ENOMEM; + goto free_buffer; + } + + fb->fb.fix.smem_start = framebase; + fb->fb.fix.smem_len = framesize; + + return 0; + + free_buffer: + release_mem_region(framebase, framesize); + return ret; +} + +static void impd1fb_clcd_remove(struct clcd_fb *fb) +{ + iounmap(fb->fb.screen_base); + release_mem_region(fb->fb.fix.smem_start, fb->fb.fix.smem_len); +} + +static struct clcd_board impd1_clcd_data = { + .name = "IM-PD/1", + .check = clcdfb_check, + .decode = clcdfb_decode, + .disable = impd1fb_clcd_disable, + .enable = impd1fb_clcd_enable, + .setup = impd1fb_clcd_setup, + .remove = impd1fb_clcd_remove, +}; + struct impd1_device { unsigned long offset; unsigned int irq[2]; unsigned int id; + void *platform_data; }; static struct impd1_device impd1_devs[] = { @@ -133,6 +322,7 @@ static struct impd1_device impd1_devs[] = { .offset = 0x01000000, .irq = { 11 }, .id = 0x00041110, + .platform_data = &impd1_clcd_data, } }; @@ -202,6 +392,7 @@ static int impd1_probe(struct lm_device *dev) d->irq[0] = dev->irq; d->irq[1] = dev->irq; d->periphid = idev->id; + d->dev.platform_data = idev->platform_data; ret = amba_device_register(d, &dev->resource); if (ret) { diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index e56fcb1ea..0f5fc7861 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -23,8 +24,10 @@ #include #include #include +#include #include +#include #include #include @@ -382,10 +385,83 @@ static struct amba_device aaci_device = { .periphid = 0, }; + +/* + * CLCD support + */ +static struct clcd_panel vga = { + .mode = { + .name = "VGA", + .refresh = 60, + .xres = 640, + .yres = 480, + .pixclock = 39721, + .left_margin = 40, + .right_margin = 24, + .upper_margin = 32, + .lower_margin = 11, + .hsync_len = 96, + .vsync_len = 2, + .sync = 0, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD | TIM2_IPC, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .bpp = 16, + .grayscale = 0, +}; + +/* + * Ensure VGA is selected. + */ +static void cp_clcd_enable(struct clcd_fb *fb) +{ + cm_control(CM_CTRL_LCDMUXSEL_MASK, CM_CTRL_LCDMUXSEL_VGA); +} + +static unsigned long framesize = SZ_1M; + +static int cp_clcd_setup(struct clcd_fb *fb) +{ + dma_addr_t dma; + + fb->panel = &vga; + + fb->fb.screen_base = dma_alloc_writecombine(&fb->dev->dev, framesize, + &dma, GFP_KERNEL); + if (!fb->fb.screen_base) { + printk(KERN_ERR "CLCD: unable to map framebuffer\n"); + return -ENOMEM; + } + + fb->fb.fix.smem_start = dma; + fb->fb.fix.smem_len = framesize; + + return 0; +} + +static void cp_clcd_remove(struct clcd_fb *fb) +{ + dma_free_writecombine(&fb->dev->dev, fb->fb.fix.smem_len, + fb->fb.screen_base, fb->fb.fix.smem_start); +} + +static struct clcd_board clcd_data = { + .name = "Integrator/CP", + .check = clcdfb_check, + .decode = clcdfb_decode, + .enable = cp_clcd_enable, + .setup = cp_clcd_setup, + .remove = cp_clcd_remove, +}; + static struct amba_device clcd_device = { .dev = { .bus_id = "mb:c0", .coherent_dma_mask = ~0, + .platform_data = &clcd_data, }, .res = { .start = INTCP_PA_CLCD_BASE, diff --git a/arch/arm/mach-iop3xx/arch.c b/arch/arm/mach-iop3xx/arch.c index 3df5e454c..3aca6671f 100644 --- a/arch/arm/mach-iop3xx/arch.c +++ b/arch/arm/mach-iop3xx/arch.c @@ -21,56 +21,30 @@ #include #include -#ifdef CONFIG_ARCH_IQ80310 -extern void iq80310_map_io(void); -extern void iq80310_init_irq(void); +#ifdef CONFIG_ARCH_IQ80331 +extern void iq80331_map_io(void); +extern void iop331_init_irq(void); +extern void iop331_init_time(void); #endif -#ifdef CONFIG_ARCH_IQ80321 -extern void iq80321_map_io(void); -extern void iop321_init_irq(void); -extern void iop321_init_time(void); -#endif - -#ifdef CONFIG_ARCH_IQ80310 -static void __init -fixup_iq80310(struct machine_desc *desc, struct tag *tags, - char **cmdline, struct meminfo *mi) -{ - system_rev = (*(volatile unsigned int*)0xfe830000) & 0x0f; - - if (system_rev) - system_rev = 0xF; -} -#endif - -#ifdef CONFIG_ARCH_IQ80321 +#ifdef CONFIG_ARCH_IQ80331 static void __init -fixup_iop321(struct machine_desc *desc, struct param_struct *params, +fixup_iop331(struct machine_desc *desc, struct tag *tags, char **cmdline, struct meminfo *mi) { } #endif -#ifdef CONFIG_ARCH_IQ80310 -MACHINE_START(IQ80310, "Cyclone IQ80310") - MAINTAINER("MontaVista Software Inc.") - BOOT_MEM(0xa0000000, 0xfe000000, 0xfe000000) - FIXUP(fixup_iq80310) - MAPIO(iq80310_map_io) - INITIRQ(iq80310_init_irq) +#if defined(CONFIG_ARCH_IQ80331) +MACHINE_START(IQ80331, "Intel IQ80331") + MAINTAINER("Intel Corp.") + BOOT_MEM(PHYS_OFFSET, 0xfff01000, 0xfffff000) // virtual, physical +// BOOT_MEM(PHYS_OFFSET, IQ80331_UART0_VIRT, IQ80331_UART0_PHYS) + MAPIO(iq80331_map_io) + INITIRQ(iop331_init_irq) + INITTIME(iop331_init_time) + BOOT_PARAMS(0x0100) MACHINE_END - -#elif defined(CONFIG_ARCH_IQ80321) -MACHINE_START(IQ80321, "Intel IQ80321") - MAINTAINER("MontaVista Software, Inc.") - BOOT_MEM(PHYS_OFFSET, IQ80321_UART1, 0xfe800000) - FIXUP(fixup_iop321) - MAPIO(iq80321_map_io) - INITIRQ(iop321_init_irq) - INITTIME(iop321_init_time) -MACHINE_END - #else -#error No machine descriptor defined for this IOP310 implementation +#error No machine descriptor defined for this IOP3xx implementation #endif diff --git a/arch/arm/mach-iop3xx/iop321-time.c b/arch/arm/mach-iop3xx/iop321-time.c index be36c7069..b2135e18e 100644 --- a/arch/arm/mach-iop3xx/iop321-time.c +++ b/arch/arm/mach-iop3xx/iop321-time.c @@ -5,7 +5,7 @@ * * Author: Deepak Saxena * - * Copyright 2002 MontaVista Software Inc. + * Copyright 2002-2003 MontaVista Software Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -23,17 +23,25 @@ #include #include #include - +#include #include #include +#define IOP321_TIME_SYNC 0 + +static unsigned long iop321_latch; + +static inline unsigned long get_elapsed(void) +{ + return iop321_latch - *IOP321_TU_TCR0; +} + static unsigned long iop321_gettimeoffset(void) { unsigned long elapsed, usec; + u32 tisr1, tisr2; /* - * FIXME: Implement what is described in this comment. - * * If an interrupt was pending before we read the timer, * we've already wrapped. Factor this into the time. * If an interrupt was pending after we read the timer, @@ -42,12 +50,19 @@ static unsigned long iop321_gettimeoffset(void) * be sure its value is after the wrap. */ - elapsed = *IOP321_TU_TCR0; + asm volatile("mrc p6, 0, %0, c6, c1, 0" : "=r" (tisr1)); + elapsed = get_elapsed(); + asm volatile("mrc p6, 0, %0, c6, c1, 0" : "=r" (tisr2)); + + if(tisr1 & 1) + elapsed += iop321_latch; + else if (tisr2 & 1) + elapsed = iop321_latch + get_elapsed(); /* * Now convert them to usec. */ - usec = (unsigned long)((LATCH - elapsed) * (tick_nsec / 1000)) / LATCH; + usec = (unsigned long)(elapsed * (tick_nsec / 1000)) / iop321_latch; return usec; } @@ -56,6 +71,10 @@ static irqreturn_t iop321_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { u32 tisr; +#ifdef IOP321_TIME_SYNC + u32 passed; +#define TM_THRESH (iop321_latch*2) +#endif asm volatile("mrc p6, 0, %0, c6, c1, 0" : "=r" (tisr)); @@ -63,7 +82,24 @@ iop321_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) asm volatile("mcr p6, 0, %0, c6, c1, 0" : : "r" (tisr)); - timer_tick(regs); +#ifdef IOP321_TIME_SYNC + passed = 0xffffffff - *IOP321_TU_TCR1; + + do + { + do_timer(regs); + if(passed < TM_THRESH) + break; + if(passed > iop321_latch) + passed -= iop321_latch; + else + passed = 0; + } while(1); + + asm volatile("mcr p6, 0, %0, c3, c1, 0" : : "r" (0xffffffff)); +#else + do_timer(regs); +#endif return IRQ_HANDLED; } @@ -79,17 +115,27 @@ extern int setup_arm_irq(int, struct irqaction*); void __init iop321_init_time(void) { u32 timer_ctl; - u32 latch = LATCH; + iop321_latch = (CLOCK_TICK_RATE + HZ / 2) / HZ; gettimeoffset = iop321_gettimeoffset; setup_irq(IRQ_IOP321_TIMER0, &iop321_timer_irq); timer_ctl = IOP321_TMR_EN | IOP321_TMR_PRIVILEGED | IOP321_TMR_RELOAD | IOP321_TMR_RATIO_1_1; - asm volatile("mcr p6, 0, %0, c4, c1, 0" : : "r" (LATCH)); + asm volatile("mcr p6, 0, %0, c4, c1, 0" : : "r" (iop321_latch)); asm volatile("mcr p6, 0, %0, c0, c1, 0" : : "r" (timer_ctl)); + +#ifdef IOP321_TIME_SYNC + /* Setup second timer */ + /* setup counter */ + timer_ctl = IOP321_TMR_EN | IOP321_TMR_PRIVILEGED | + IOP321_TMR_RATIO_1_1; + asm volatile("mcr p6, 0, %0, c3, c1, 0" : : "r" (0xffffffff)); + /* setup control */ + asm volatile("mcr p6, 0, %0, c1, c1, 0" : : "r" (timer_ctl)); +#endif } diff --git a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c index 9e0bf6c18..bd82bebce 100644 --- a/arch/arm/mach-lh7a40x/arch-lpd7a40x.c +++ b/arch/arm/mach-lh7a40x/arch-lpd7a40x.c @@ -45,7 +45,6 @@ static struct platform_device smc91x_device = { .resource = smc91x_resources, }; -#if 0 static struct resource lh7a40x_usbclient_resources[] = { [0] = { .start = USB_PHYS, @@ -53,8 +52,8 @@ static struct resource lh7a40x_usbclient_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = IRQ_USB, - .end = IRQ_USB, + .start = IRQ_USBINTR, + .end = IRQ_USBINTR, .flags = IORESOURCE_IRQ, }, }; @@ -62,7 +61,7 @@ static struct resource lh7a40x_usbclient_resources[] = { static u64 lh7a40x_usbclient_dma_mask = 0xffffffffUL; static struct platform_device lh7a40x_usbclient_device = { - .name = "lh7a40x-udc", + .name = "lh7a40x_udc", .id = 0, .dev = { .dma_mask = &lh7a40x_usbclient_dma_mask, @@ -71,7 +70,6 @@ static struct platform_device lh7a40x_usbclient_device = { .num_resources = ARRAY_SIZE (lh7a40x_usbclient_resources), .resource = lh7a40x_usbclient_resources, }; -#endif #if defined (CONFIG_ARCH_LH7A404) @@ -105,8 +103,7 @@ static struct platform_device lh7a404_usbhost_device = { static struct platform_device *lpd7a40x_devs[] __initdata = { &smc91x_device, -/* &lh7a40x_usbclient_device, */ - + &lh7a40x_usbclient_device, #if defined (CONFIG_ARCH_LH7A404) &lh7a404_usbhost_device, #endif diff --git a/arch/arm/mach-omap/Makefile b/arch/arm/mach-omap/Makefile index 5fcb1e5c7..b483092dd 100644 --- a/arch/arm/mach-omap/Makefile +++ b/arch/arm/mach-omap/Makefile @@ -3,25 +3,29 @@ # # Common support -obj-y := common.o irq.o dma.o clocks.o mux.o bus.o gpio.o time.o +obj-y := common.o time.o irq.o dma.o clocks.o mux.o gpio.o mcbsp.o obj-m := obj-n := obj- := led-y := leds.o # Specific board support +obj-$(CONFIG_MACH_OMAP_H2) += board-h2.o obj-$(CONFIG_MACH_OMAP_INNOVATOR) += board-innovator.o obj-$(CONFIG_MACH_OMAP_GENERIC) += board-generic.o obj-$(CONFIG_MACH_OMAP_PERSEUS2) += board-perseus2.o obj-$(CONFIG_MACH_OMAP_OSK) += board-osk.o +obj-$(CONFIG_MACH_OMAP_H3) += board-h3.o -# OCPI interconnect support for 1610 and 5912 +# OCPI interconnect support for 1710, 1610 and 5912 +obj-$(CONFIG_ARCH_OMAP1710) += ocpi.o obj-$(CONFIG_ARCH_OMAP1610) += ocpi.o obj-$(CONFIG_ARCH_OMAP5912) += ocpi.o # LEDs support +led-$(CONFIG_MACH_OMAP_H2) += leds-h2p2-debug.o led-$(CONFIG_MACH_OMAP_INNOVATOR) += leds-innovator.o -led-$(CONFIG_MACH_OMAP_PERSEUS2) += leds-perseus2.o +led-$(CONFIG_MACH_OMAP_PERSEUS2) += leds-h2p2-debug.o obj-$(CONFIG_LEDS) += $(led-y) # Power Management diff --git a/arch/arm/mach-omap/board-generic.c b/arch/arm/mach-omap/board-generic.c index 447046b24..03da924c7 100644 --- a/arch/arm/mach-omap/board-generic.c +++ b/arch/arm/mach-omap/board-generic.c @@ -25,9 +25,13 @@ #include #include #include +#include +#include #include "common.h" +extern void __init omap_init_time(void); + static void __init omap_generic_init_irq(void) { omap_init_irq(); @@ -36,17 +40,49 @@ static void __init omap_generic_init_irq(void) /* * Muxes the serial ports on */ +#ifdef CONFIG_ARCH_OMAP1510 static void __init omap_early_serial_init(void) { +#ifdef CONFIG_OMAP_LL_DEBUG_UART1 omap_cfg_reg(UART1_TX); omap_cfg_reg(UART1_RTS); +#endif +#ifdef CONFIG_OMAP_LL_DEBUG_UART2 omap_cfg_reg(UART2_TX); omap_cfg_reg(UART2_RTS); +#endif +#ifdef CONFIG_OMAP_LL_DEBUG_UART1 omap_cfg_reg(UART3_TX); omap_cfg_reg(UART3_RX); +#endif } +#endif + +/* assume no Mini-AB port */ + +#ifdef CONFIG_ARCH_OMAP1510 +static struct omap_usb_config generic1510_usb_config __initdata = { + .register_host = 1, + .register_dev = 1, + .hmc_mode = 16, + .pins[0] = 3, +}; +#endif + +#ifdef CONFIG_ARCH_OMAP1610 +static struct omap_usb_config generic1610_usb_config __initdata = { + .register_host = 1, + .register_dev = 1, + .hmc_mode = 16, + .pins[0] = 6, +}; +#endif + +static struct omap_board_config_kernel generic_config[] = { + { OMAP_TAG_USB, NULL }, +}; static void __init omap_generic_init(void) { @@ -55,9 +91,19 @@ static void __init omap_generic_init(void) * You have to mux them off in device drivers later on * if not needed. */ +#ifdef CONFIG_ARCH_OMAP1510 if (cpu_is_omap1510()) { omap_early_serial_init(); + generic_config[0].data = &generic1510_usb_config; } +#endif +#ifdef CONFIG_ARCH_OMAP1610 + if (!cpu_is_omap1510()) { + generic_config[0].data = &generic1610_usb_config; + } +#endif + omap_board_config = generic_config; + omap_board_config_size = ARRAY_SIZE(generic_config); } static void __init omap_generic_map_io(void) @@ -65,18 +111,12 @@ static void __init omap_generic_map_io(void) omap_map_io(); } -static void __init omap_generic_init_time(void) -{ - omap_init_time(); -} - -MACHINE_START(OMAP_GENERIC, "Generic OMAP-1510/1610/1710") +MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710") MAINTAINER("Tony Lindgren ") BOOT_MEM(0x10000000, 0xfff00000, 0xfef00000) BOOT_PARAMS(0x10000100) MAPIO(omap_generic_map_io) INITIRQ(omap_generic_init_irq) INIT_MACHINE(omap_generic_init) - INITTIME(omap_generic_init_time) + INITTIME(omap_init_time) MACHINE_END - diff --git a/arch/arm/mach-omap/board-innovator.c b/arch/arm/mach-omap/board-innovator.c index 6ef4d8dcf..8fd97e7af 100644 --- a/arch/arm/mach-omap/board-innovator.c +++ b/arch/arm/mach-omap/board-innovator.c @@ -29,9 +29,12 @@ #include #include #include +#include #include "common.h" +extern void __init omap_init_time(void); + #ifdef CONFIG_ARCH_OMAP1510 extern int omap_gpio_init(void); @@ -49,8 +52,8 @@ static struct resource innovator1510_smc91x_resources[] = { .flags = IORESOURCE_MEM, }, [1] = { - .start = INT_ETHER, - .end = INT_ETHER, + .start = OMAP1510_INT_ETHER, + .end = OMAP1510_INT_ETHER, .flags = IORESOURCE_IRQ, }, }; @@ -108,11 +111,43 @@ void innovator_init_irq(void) #ifdef CONFIG_ARCH_OMAP1510 if (cpu_is_omap1510()) { omap_gpio_init(); - fpga_init_irq(); + omap1510_fpga_init_irq(); } #endif } +#ifdef CONFIG_ARCH_OMAP1510 +static struct omap_usb_config innovator1510_usb_config __initdata = { + /* has usb host and device, but no Mini-AB port */ + .register_host = 1, + .register_dev = 1, + /* Assume bad Innovator wiring; Use internal host only with custom cable */ + .hmc_mode = 16, + .pins[0] = 2, +}; +#endif + +#ifdef CONFIG_ARCH_OMAP1610 +static struct omap_usb_config h2_usb_config __initdata = { + /* usb1 has a Mini-AB port and external isp1301 transceiver */ + .otg = 2, + +#ifdef CONFIG_USB_GADGET_OMAP + .hmc_mode = 19, // 0:host(off) 1:dev|otg 2:disabled + // .hmc_mode = 21, // 0:host(off) 1:dev(loopback) 2:host(loopback) +#elif defined(CONFIG_USB_OHCI_HCD) || defined(CONFIG_USB_OHCI_HCD_MODULE) + /* NONSTANDARD CABLE NEEDED (B-to-Mini-B) */ + .hmc_mode = 20, // 1:dev|otg(off) 1:host 2:disabled +#endif + + .pins[1] = 3, +}; +#endif + +static struct omap_board_config_kernel innovator_config[] = { + { OMAP_TAG_USB, NULL }, +}; + static void __init innovator_init(void) { #ifdef CONFIG_ARCH_OMAP1510 @@ -121,10 +156,21 @@ static void __init innovator_init(void) } #endif #ifdef CONFIG_ARCH_OMAP1610 - if (cpu_is_omap1610()) { + if (!cpu_is_omap1510()) { platform_add_devices(innovator1610_devices, ARRAY_SIZE(innovator1610_devices)); } #endif + +#ifdef CONFIG_ARCH_OMAP1510 + if (cpu_is_omap1510()) + innovator_config[0].data = &innovator1510_usb_config; +#endif +#ifdef CONFIG_ARCH_OMAP1610 + if (cpu_is_omap1610()) + innovator_config[0].data = &h2_usb_config; +#endif + omap_board_config = innovator_config; + omap_board_config_size = ARRAY_SIZE(innovator_config); } static void __init innovator_map_io(void) @@ -144,7 +190,7 @@ static void __init innovator_map_io(void) } #endif #ifdef CONFIG_ARCH_OMAP1610 - if (cpu_is_omap1610()) { + if (!cpu_is_omap1510()) { iotable_init(innovator1610_io_desc, ARRAY_SIZE(innovator1610_io_desc)); } #endif @@ -156,6 +202,6 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator") BOOT_PARAMS(0x10000100) MAPIO(innovator_map_io) INITIRQ(innovator_init_irq) - INITTIME(omap_init_time) INIT_MACHINE(innovator_init) + INITTIME(omap_init_time) MACHINE_END diff --git a/arch/arm/mach-omap/board-osk.c b/arch/arm/mach-omap/board-osk.c index 16ecd6be5..85d9a0ac3 100644 --- a/arch/arm/mach-omap/board-osk.c +++ b/arch/arm/mach-omap/board-osk.c @@ -41,6 +41,8 @@ #include "common.h" +extern void __init omap_init_time(void); + static struct map_desc osk5912_io_desc[] __initdata = { { OMAP_OSK_ETHR_BASE, OMAP_OSK_ETHR_START, OMAP_OSK_ETHR_SIZE,MT_DEVICE }, { OMAP_OSK_NOR_FLASH_BASE, OMAP_OSK_NOR_FLASH_START, OMAP_OSK_NOR_FLASH_SIZE, @@ -94,6 +96,6 @@ MACHINE_START(OMAP_OSK, "TI-OSK") BOOT_PARAMS(0x10000100) MAPIO(osk_map_io) INITIRQ(osk_init_irq) - INITTIME(omap_init_time) INIT_MACHINE(osk_init) + INITTIME(omap_init_time) MACHINE_END diff --git a/arch/arm/mach-omap/board-perseus2.c b/arch/arm/mach-omap/board-perseus2.c index 8015d10fc..95833f3b9 100644 --- a/arch/arm/mach-omap/board-perseus2.c +++ b/arch/arm/mach-omap/board-perseus2.c @@ -23,9 +23,12 @@ #include #include #include +#include #include "common.h" +extern void __init omap_init_time(void); + void omap_perseus2_init_irq(void) { omap_init_irq(); @@ -33,14 +36,14 @@ void omap_perseus2_init_irq(void) static struct resource smc91x_resources[] = { [0] = { - .start = OMAP730_FPGA_ETHR_START, /* Physical */ - .end = OMAP730_FPGA_ETHR_START + SZ_4K, + .start = H2P2_DBG_FPGA_ETHR_START, /* Physical */ + .end = H2P2_DBG_FPGA_ETHR_START + SZ_4K, .flags = IORESOURCE_MEM, }, [1] = { - .start = 0, + .start = INT_730_MPU_EXT_NIRQ, .end = 0, - .flags = INT_ETHER, + .flags = IORESOURCE_IRQ, }, }; @@ -62,7 +65,7 @@ static void __init omap_perseus2_init(void) /* Only FPGA needs to be mapped here. All others are done with ioremap */ static struct map_desc omap_perseus2_io_desc[] __initdata = { - {OMAP730_FPGA_BASE, OMAP730_FPGA_START, OMAP730_FPGA_SIZE, + {H2P2_DBG_FPGA_BASE, H2P2_DBG_FPGA_START, H2P2_DBG_FPGA_SIZE, MT_DEVICE}, }; @@ -111,6 +114,6 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2") BOOT_PARAMS(0x10000100) MAPIO(omap_perseus2_map_io) INITIRQ(omap_perseus2_init_irq) - INITTIME(omap_init_time) INIT_MACHINE(omap_perseus2_init) + INITTIME(omap_init_time) MACHINE_END diff --git a/arch/arm/mach-omap/common.h b/arch/arm/mach-omap/common.h index 96dcb3c53..1cc559dd2 100644 --- a/arch/arm/mach-omap/common.h +++ b/arch/arm/mach-omap/common.h @@ -28,7 +28,6 @@ #define __ARCH_ARM_MACH_OMAP_COMMON_H extern void omap_map_io(void); -extern void omap_init_time(void); #endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */ diff --git a/arch/arm/mach-omap/dma.c b/arch/arm/mach-omap/dma.c index 385b4d1cc..cfb23d894 100644 --- a/arch/arm/mach-omap/dma.c +++ b/arch/arm/mach-omap/dma.c @@ -118,7 +118,7 @@ void omap_set_dma_constant_fill(int lch, u32 color) u16 w; #ifdef CONFIG_DEBUG_KERNEL - if (omap_dma_in_1510_mode) { + if (omap_dma_in_1510_mode()) { printk(KERN_ERR "OMAP DMA constant fill not available in 1510 mode."); BUG(); return; @@ -141,7 +141,7 @@ void omap_set_dma_transparent_copy(int lch, u32 color) u16 w; #ifdef CONFIG_DEBUG_KERNEL - if (omap_dma_in_1510_mode) { + if (omap_dma_in_1510_mode()) { printk(KERN_ERR "OMAP DMA transparent copy not available in 1510 mode."); BUG(); } @@ -266,46 +266,78 @@ void omap_set_dma_dest_burst_mode(int lch, int burst_mode) omap_writew(w, OMAP_DMA_CSDP(lch)); } -void omap_start_dma(int lch) +static inline void init_intr(int lch) { u16 w; - if (!omap_dma_in_1510_mode()) { - int next_lch; - - next_lch = dma_chan[lch].next_lch; - - /* Enable the queue, if needed so. */ - if (next_lch != -1) { - /* Clear the STOP_LNK bits */ - w = omap_readw(OMAP_DMA_CLNK_CTRL(lch)); - w &= ~(1 << 14); - omap_writew(w, OMAP_DMA_CLNK_CTRL(lch)); - w = omap_readw(OMAP_DMA_CLNK_CTRL(next_lch)); - w &= ~(1 << 14); - omap_writew(w, OMAP_DMA_CLNK_CTRL(next_lch)); - - /* And set the ENABLE_LNK bits */ - omap_writew(next_lch | (1 << 15), - OMAP_DMA_CLNK_CTRL(lch)); - /* The loop case */ - if (dma_chan[next_lch].next_lch == lch) - omap_writew(lch | (1 << 15), - OMAP_DMA_CLNK_CTRL(next_lch)); - - /* Read CSR to make sure it's cleared. */ - w = omap_readw(OMAP_DMA_CSR(next_lch)); - /* Enable some nice interrupts. */ - omap_writew(dma_chan[next_lch].enabled_irqs, - OMAP_DMA_CICR(next_lch)); - dma_chan[next_lch].flags |= OMAP_DMA_ACTIVE; - } - } - /* Read CSR to make sure it's cleared. */ w = omap_readw(OMAP_DMA_CSR(lch)); /* Enable some nice interrupts. */ omap_writew(dma_chan[lch].enabled_irqs, OMAP_DMA_CICR(lch)); + dma_chan[lch].flags |= OMAP_DMA_ACTIVE; +} + +static inline void enable_lnk(int lch) +{ + u16 w; + + /* Clear the STOP_LNK bits */ + w = omap_readw(OMAP_DMA_CLNK_CTRL(lch)); + w &= ~(1 << 14); + omap_writew(w, OMAP_DMA_CLNK_CTRL(lch)); + + /* And set the ENABLE_LNK bits */ + if (dma_chan[lch].next_lch != -1) + omap_writew(dma_chan[lch].next_lch | (1 << 15), + OMAP_DMA_CLNK_CTRL(lch)); +} + +static inline void disable_lnk(int lch) +{ + u16 w; + + /* Disable interrupts */ + omap_writew(0, OMAP_DMA_CICR(lch)); + + /* Set the STOP_LNK bit */ + w = omap_readw(OMAP_DMA_CLNK_CTRL(lch)); + w |= (1 << 14); + w = omap_writew(w, OMAP_DMA_CLNK_CTRL(lch)); + + dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; +} + +void omap_start_dma(int lch) +{ + u16 w; + + if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { + int next_lch, cur_lch; + char dma_chan_link_map[OMAP_LOGICAL_DMA_CH_COUNT]; + + dma_chan_link_map[lch] = 1; + /* Set the link register of the first channel */ + enable_lnk(lch); + + memset(dma_chan_link_map, 0, sizeof(dma_chan_link_map)); + cur_lch = dma_chan[lch].next_lch; + do { + next_lch = dma_chan[cur_lch].next_lch; + + /* The loop case: we've been here already */ + if (dma_chan_link_map[cur_lch]) + break; + /* Mark the current channel */ + dma_chan_link_map[cur_lch] = 1; + + enable_lnk(cur_lch); + init_intr(cur_lch); + + cur_lch = next_lch; + } while (next_lch != -1); + } + + init_intr(lch); w = omap_readw(OMAP_DMA_CCR(lch)); w |= OMAP_DMA_CCR_EN; @@ -316,37 +348,34 @@ void omap_start_dma(int lch) void omap_stop_dma(int lch) { u16 w; - int next_lch; - /* Disable all interrupts on the channel */ - omap_writew(0, OMAP_DMA_CICR(lch)); + if (!omap_dma_in_1510_mode() && dma_chan[lch].next_lch != -1) { + int next_lch, cur_lch = lch; + char dma_chan_link_map[OMAP_LOGICAL_DMA_CH_COUNT]; - if (omap_dma_in_1510_mode()) { - w = omap_readw(OMAP_DMA_CCR(lch)); - w &= ~OMAP_DMA_CCR_EN; - omap_writew(w, OMAP_DMA_CCR(lch)); - dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; - return; - } + memset(dma_chan_link_map, 0, sizeof(dma_chan_link_map)); + do { + /* The loop case: we've been here already */ + if (dma_chan_link_map[cur_lch]) + break; + /* Mark the current channel */ + dma_chan_link_map[cur_lch] = 1; - next_lch = dma_chan[lch].next_lch; + disable_lnk(cur_lch); - /* - * According to thw HW spec, enabling the STOP_LNK bit - * resets the CCR_EN bit at the same time. - */ - w = omap_readw(OMAP_DMA_CLNK_CTRL(lch)); - w |= (1 << 14); - w = omap_writew(w, OMAP_DMA_CLNK_CTRL(lch)); - dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; + next_lch = dma_chan[cur_lch].next_lch; + cur_lch = next_lch; + } while (next_lch != -1); - if (next_lch != -1) { - omap_writew(0, OMAP_DMA_CICR(next_lch)); - w = omap_readw(OMAP_DMA_CLNK_CTRL(next_lch)); - w |= (1 << 14); - w = omap_writew(w, OMAP_DMA_CLNK_CTRL(next_lch)); - dma_chan[next_lch].flags &= ~OMAP_DMA_ACTIVE; + return; } + /* Disable all interrupts on the channel */ + omap_writew(0, OMAP_DMA_CICR(lch)); + + w = omap_readw(OMAP_DMA_CCR(lch)); + w &= ~OMAP_DMA_CCR_EN; + omap_writew(w, OMAP_DMA_CCR(lch)); + dma_chan[lch].flags &= ~OMAP_DMA_ACTIVE; } void omap_enable_dma_irq(int lch, u16 bits) @@ -445,7 +474,7 @@ int omap_request_dma(int dev_id, const char *dev_name, chan->data = data; chan->enabled_irqs = OMAP_DMA_TOUT_IRQ | OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ; - if (cpu_is_omap1610() || cpu_is_omap5912()) { + if (cpu_is_omap1610() || cpu_is_omap5912() || cpu_is_omap730() || cpu_is_omap1710()) { /* If the sync device is set, configure it dynamically. */ if (dev_id != 0) { set_gdma_dev(free_ch + 1, dev_id); @@ -533,7 +562,6 @@ void omap_dma_unlink_lch (int lch_head, int lch_queue) } dma_chan[lch_head].next_lch = -1; - dma_chan[lch_queue].next_lch = -1; } @@ -713,7 +741,7 @@ static int __init omap_init_dma(void) printk(KERN_INFO "DMA support for OMAP1510 initialized\n"); dma_chan_count = 9; enable_1510_mode = 1; - } else if (cpu_is_omap1610() || cpu_is_omap5912()) { + } else if (cpu_is_omap1610() || cpu_is_omap5912() || cpu_is_omap730() || cpu_is_omap1710()) { printk(KERN_INFO "OMAP DMA hardware version %d\n", omap_readw(OMAP_DMA_HW_ID)); printk(KERN_INFO "DMA capabilities: %08x:%08x:%04x:%04x:%04x\n", @@ -771,6 +799,8 @@ EXPORT_SYMBOL(omap_request_dma); EXPORT_SYMBOL(omap_free_dma); EXPORT_SYMBOL(omap_start_dma); EXPORT_SYMBOL(omap_stop_dma); +EXPORT_SYMBOL(omap_enable_dma_irq); +EXPORT_SYMBOL(omap_disable_dma_irq); EXPORT_SYMBOL(omap_set_dma_transfer_params); EXPORT_SYMBOL(omap_set_dma_constant_fill); diff --git a/arch/arm/mach-omap/gpio.c b/arch/arm/mach-omap/gpio.c index 2f052a959..206bee968 100644 --- a/arch/arm/mach-omap/gpio.c +++ b/arch/arm/mach-omap/gpio.c @@ -94,7 +94,7 @@ struct gpio_bank { #define METHOD_GPIO_1610 2 #define METHOD_GPIO_730 3 -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) static struct gpio_bank gpio_bank_1610[5] = { { OMAP_MPUIO_BASE, INT_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO}, { OMAP1610_GPIO1_BASE, INT_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_1610 }, @@ -113,7 +113,7 @@ static struct gpio_bank gpio_bank_1510[2] = { #ifdef CONFIG_ARCH_OMAP730 static struct gpio_bank gpio_bank_730[7] = { - { OMAP_MPUIO_BASE, INT_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, + { OMAP_MPUIO_BASE, INT_730_MPUIO, IH_MPUIO_BASE, METHOD_MPUIO }, { OMAP730_GPIO1_BASE, INT_GPIO_BANK1, IH_GPIO_BASE, METHOD_GPIO_730 }, { OMAP730_GPIO2_BASE, INT_730_GPIO_BANK2, IH_GPIO_BASE + 32, METHOD_GPIO_730 }, { OMAP730_GPIO3_BASE, INT_730_GPIO_BANK3, IH_GPIO_BASE + 64, METHOD_GPIO_730 }, @@ -135,8 +135,8 @@ static inline struct gpio_bank *get_gpio_bank(int gpio) return &gpio_bank[1]; } #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) - if (cpu_is_omap1610() || cpu_is_omap5912()) { +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) + if (cpu_is_omap1610() || cpu_is_omap1710() || cpu_is_omap5912()) { if (OMAP_GPIO_IS_MPUIO(gpio)) return &gpio_bank[0]; return &gpio_bank[1 + (gpio >> 4)]; @@ -172,8 +172,8 @@ static inline int gpio_valid(int gpio) if (cpu_is_omap1510() && gpio < 16) return 0; #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) - if ((cpu_is_omap1610() || cpu_is_omap5912()) && gpio < 64) +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) + if ((cpu_is_omap1610() || cpu_is_omap1710() || cpu_is_omap5912()) && gpio < 64) return 0; #endif #ifdef CONFIG_ARCH_OMAP730 @@ -554,7 +554,7 @@ static void gpio_irq_handler(unsigned int irq, struct irqdesc *desc, if (bank->method == METHOD_GPIO_1510) isr_reg = bank->base + OMAP1510_GPIO_INT_STATUS; #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) if (bank->method == METHOD_GPIO_1610) isr_reg = bank->base + OMAP1610_GPIO_IRQSTATUS1; #endif @@ -588,7 +588,7 @@ static void gpio_ack_irq(unsigned int irq) if (bank->method == METHOD_GPIO_1510) __raw_writew(1 << (gpio & 0x0f), bank->base + OMAP1510_GPIO_INT_STATUS); #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) if (bank->method == METHOD_GPIO_1610) __raw_writew(1 << (gpio & 0x0f), bank->base + OMAP1610_GPIO_IRQSTATUS1); #endif @@ -629,7 +629,7 @@ static void mpuio_mask_irq(unsigned int irq) unsigned int gpio = OMAP_MPUIO(irq - IH_MPUIO_BASE); struct gpio_bank *bank = get_gpio_bank(gpio); - _set_gpio_irqenable(bank, gpio, 0); + _set_gpio_irqenable(bank, get_gpio_index(gpio), 0); } static void mpuio_unmask_irq(unsigned int irq) @@ -637,7 +637,7 @@ static void mpuio_unmask_irq(unsigned int irq) unsigned int gpio = OMAP_MPUIO(irq - IH_MPUIO_BASE); struct gpio_bank *bank = get_gpio_bank(gpio); - _set_gpio_irqenable(bank, gpio, 1); + _set_gpio_irqenable(bank, get_gpio_index(gpio), 1); } static struct irqchip gpio_irq_chip = { @@ -668,8 +668,8 @@ static int __init _omap_gpio_init(void) gpio_bank = gpio_bank_1510; } #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) - if (cpu_is_omap1610() || cpu_is_omap5912()) { +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) + if (cpu_is_omap1610() || cpu_is_omap1710() || cpu_is_omap5912()) { int rev; gpio_bank_count = 5; @@ -702,7 +702,7 @@ static int __init _omap_gpio_init(void) __raw_writew(0x0000, bank->base + OMAP1510_GPIO_INT_STATUS); } #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP1710) || defined(CONFIG_ARCH_OMAP5912) if (bank->method == METHOD_GPIO_1610) { __raw_writew(0x0000, bank->base + OMAP1610_GPIO_IRQENABLE1); __raw_writew(0xffff, bank->base + OMAP1610_GPIO_IRQSTATUS1); @@ -731,7 +731,7 @@ static int __init _omap_gpio_init(void) /* Enable system clock for GPIO module. * The CAM_CLK_CTRL *is* really the right place. */ - if (cpu_is_omap1610()) + if (cpu_is_omap1610() || cpu_is_omap1710()) omap_writel(omap_readl(ULPD_CAM_CLK_CTRL) | 0x04, ULPD_CAM_CLK_CTRL); return 0; diff --git a/arch/arm/mach-omap/irq.c b/arch/arm/mach-omap/irq.c index 18da117f6..3eec2986b 100644 --- a/arch/arm/mach-omap/irq.c +++ b/arch/arm/mach-omap/irq.c @@ -140,7 +140,9 @@ static struct omap_irq_bank omap1510_irq_banks[] = { }; #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) \ + || defined(CONFIG_ARCH_OMAP1710) + static struct omap_irq_bank omap1610_irq_banks[] = { { .base_reg = OMAP_IH1_BASE, .trigger_map = 0xb3fefe8f }, { .base_reg = OMAP_IH2_BASE, .trigger_map = 0xfffff7ff }, @@ -171,8 +173,9 @@ void __init omap_init_irq(void) irq_bank_count = ARRAY_SIZE(omap1510_irq_banks); } #endif -#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) - if (cpu_is_omap1610() || cpu_is_omap5912()) { +#if defined(CONFIG_ARCH_OMAP1610) || defined(CONFIG_ARCH_OMAP5912) \ + || defined(CONFIG_ARCH_OMAP1710) + if (cpu_is_omap1610() || cpu_is_omap5912() || cpu_is_omap1710()) { irq_banks = omap1610_irq_banks; irq_bank_count = ARRAY_SIZE(omap1610_irq_banks); } @@ -190,6 +193,11 @@ void __init omap_init_irq(void) irq_bank_writel(0x03, 0, IRQ_CONTROL_REG_OFFSET); irq_bank_writel(0x03, 1, IRQ_CONTROL_REG_OFFSET); + /* Enable interrupts in global mask */ + if (cpu_is_omap730()) { + irq_bank_writel(0x0, 0, IRQ_GMR_REG_OFFSET); + } + /* Install the interrupt handlers for each bank */ for (i = 0; i < irq_bank_count; i++) { for (j = i * 32; j < (i + 1) * 32; j++) { @@ -205,5 +213,9 @@ void __init omap_init_irq(void) } /* Unmask level 2 handler */ - omap_unmask_irq(INT_IH2_IRQ); + if (cpu_is_omap730()) { + omap_unmask_irq(INT_730_IH2_IRQ); + } else { + omap_unmask_irq(INT_IH2_IRQ); + } } diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index d394f6957..bb28824d8 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig @@ -12,7 +12,7 @@ config ARCH_LUBBOCK config MACH_MAINSTONE bool "Intel HCDDBBVA0 Development Platform" select PXA27x - #select IWMMXT + select IWMMXT config ARCH_PXA_IDP bool "Accelent Xscale IDP" @@ -32,4 +32,9 @@ config PXA27x help Select code specific to PXA27x variants +config IWMMXT + bool + help + Enable support for iWMMXt + endif diff --git a/arch/arm/mach-pxa/dma.c b/arch/arm/mach-pxa/dma.c index 3096fa7c5..458112b21 100644 --- a/arch/arm/mach-pxa/dma.c +++ b/arch/arm/mach-pxa/dma.c @@ -23,6 +23,7 @@ #include #include +#include static struct dma_channel { char *name; diff --git a/arch/arm/mach-pxa/generic.c b/arch/arm/mach-pxa/generic.c index 80f3535e0..3f4755f70 100644 --- a/arch/arm/mach-pxa/generic.c +++ b/arch/arm/mach-pxa/generic.c @@ -30,8 +30,10 @@ #include #include +#include #include #include +#include #include "generic.h" @@ -128,6 +130,12 @@ static struct platform_device pxamci_device = { .resource = pxamci_resources, }; +void __init pxa_set_mci_info(struct pxamci_platform_data *info) +{ + pxamci_device.dev.platform_data = info; +} +EXPORT_SYMBOL(pxa_set_mci_info); + static struct pxa2xx_udc_mach_info pxa_udc_info; diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index db53cd571..6f8b4873e 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c @@ -27,6 +27,7 @@ #include #include +#include #include #include "generic.h" @@ -100,7 +101,7 @@ static void __init idp_map_io(void) pxa_map_io(); iotable_init(idp_io_desc, ARRAY_SIZE(idp_io_desc)); - set_irq_type(IRQ_TO_GPIO_2_80(TOUCH_PANEL_IRQ), TOUCH_PANEL_IRQ_EDGE); + set_irq_type(TOUCH_PANEL_IRQ, TOUCH_PANEL_IRQ_EDGE); // serial ports 2 & 3 pxa_gpio_mode(GPIO42_BTRXD_MD); diff --git a/arch/arm/mach-pxa/leds-lubbock.c b/arch/arm/mach-pxa/leds-lubbock.c index 0e083b34e..05cf56059 100644 --- a/arch/arm/mach-pxa/leds-lubbock.c +++ b/arch/arm/mach-pxa/leds-lubbock.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include "leds.h" diff --git a/arch/arm/mach-pxa/lubbock.c b/arch/arm/mach-pxa/lubbock.c index 28c9677a9..a09d4c11b 100644 --- a/arch/arm/mach-pxa/lubbock.c +++ b/arch/arm/mach-pxa/lubbock.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include diff --git a/arch/arm/mach-pxa/pm.c b/arch/arm/mach-pxa/pm.c index 245e25b08..5e84864a8 100644 --- a/arch/arm/mach-pxa/pm.c +++ b/arch/arm/mach-pxa/pm.c @@ -19,7 +19,9 @@ #include #include #include +#include #include +#include /* @@ -45,7 +47,7 @@ extern void pxa_cpu_resume(void); */ enum { SLEEP_SAVE_START = 0, - SLEEP_SAVE_OSCR, SLEEP_SAVE_OIER, + SLEEP_SAVE_OIER, SLEEP_SAVE_OSMR0, SLEEP_SAVE_OSMR1, SLEEP_SAVE_OSMR2, SLEEP_SAVE_OSMR3, SLEEP_SAVE_GPLR0, SLEEP_SAVE_GPLR1, SLEEP_SAVE_GPLR2, @@ -68,17 +70,18 @@ static int pxa_pm_enter(u32 state) { unsigned long sleep_save[SLEEP_SAVE_SIZE]; unsigned long checksum = 0; - unsigned long delta; + struct timespec delta, rtc; int i; if (state != PM_SUSPEND_MEM) return -EINVAL; /* preserve current time */ - delta = xtime.tv_sec - RCNR; + rtc.tv_sec = RCNR; + rtc.tv_nsec = 0; + save_time_delta(&delta, &rtc); /* save vital registers */ - SAVE(OSCR); SAVE(OSMR0); SAVE(OSMR1); SAVE(OSMR2); @@ -149,9 +152,11 @@ static int pxa_pm_enter(u32 state) RESTORE(OSMR1); RESTORE(OSMR2); RESTORE(OSMR3); - RESTORE(OSCR); RESTORE(OIER); + /* OSMR0 is the system timer: make sure OSCR is sufficiently behind */ + OSCR = OSMR0 - LATCH; + RESTORE(CKEN); ICLR = 0; @@ -159,7 +164,8 @@ static int pxa_pm_enter(u32 state) RESTORE(ICMR); /* restore current time */ - xtime.tv_sec = RCNR + delta; + rtc.tv_sec = RCNR; + restore_time_delta(&delta, &rtc); #ifdef DEBUG printk(KERN_DEBUG "*** made it back from resume\n"); diff --git a/arch/arm/mach-s3c2410/Kconfig b/arch/arm/mach-s3c2410/Kconfig index 40e78bc44..ee42fe2c2 100644 --- a/arch/arm/mach-s3c2410/Kconfig +++ b/arch/arm/mach-s3c2410/Kconfig @@ -1,9 +1,10 @@ if ARCH_S3C2410 -menu "S3C2410 Implementations" +menu "S3C24XX Implementations" config ARCH_BAST bool "Simtec Electronics BAST (EB2410ITX)" + select CPU_S3C2410 help Say Y here if you are using the Simtec Electronics EB2410ITX development board (also known as BAST) @@ -12,18 +13,22 @@ config ARCH_BAST config ARCH_H1940 bool "IPAQ H1940" + select CPU_S3C2410 help Say Y here if you are using the HP IPAQ H1940 + . config ARCH_SMDK2410 bool "SMDK2410/A9M2410" + select CPU_S3C2410 help Say Y here if you are using the SMDK2410 or the derived module A9M2410 config MACH_VR1000 bool "Thorcom VR1000" + select CPU_S3C2410 help Say Y here if you are using the Thorcom VR1000 board. @@ -32,4 +37,39 @@ config MACH_VR1000 endmenu +config CPU_S3C2410 + bool + depends on ARCH_S3C2410 + help + Support for S3C2410 and S3C2410A family from the S3C24XX line + of Samsung Mobile CPUs. + +config CPU_S3C2440 + bool + depends on ARCH_S3C2410 + help + Support for S3C2440 Samsung Mobile CPU based systems. + +comment "S3C2410 Setup" + +config S3C2410_DMA + bool "S3C2410 DMA support" + depends on ARCH_S3C2410 + help + S3C2410 DMA support. This is needed for drivers like sound which + use the S3C2410's DMA system to move data to and from the + peripheral blocks. + +config S3C2410_DMA_DEBUG + bool "S3C2410 DMA support debug" + depends on ARCH_S3C2410 && S3C2410_DMA + help + Enable debugging output for the DMA code. This option sends info + to the kernel log, at priority KERN_DEBUG. + + Note, it is easy to create and fill the log buffer in a small + amount of time, as well as using an significant percantage of + the CPU time doing so. + + endif diff --git a/arch/arm/mach-s3c2410/Makefile b/arch/arm/mach-s3c2410/Makefile index 476c6ca78..5d6d80e91 100644 --- a/arch/arm/mach-s3c2410/Makefile +++ b/arch/arm/mach-s3c2410/Makefile @@ -1,19 +1,28 @@ + # # Makefile for the linux kernel. # # Object file lists. -obj-y := s3c2410.o irq.o time.o gpio.o +obj-y := cpu.o irq.o time.o gpio.o clock.o devs.o obj-m := obj-n := obj- := -obj-$(CONFIG_ARCH_BAST) += mach-bast.o -obj-$(CONFIG_MACH_H1940) += mach-h1940.o -obj-$(CONFIG_ARCH_H1940) += mach-h1940.o -obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o -obj-$(CONFIG_MACH_VR1000) += mach-vr1000.o +# S3C2410 support files + +obj-$(CONFIG_CPU_S3C2410) += s3c2410.o +obj-$(CONFIG_S3C2410_DMA) += dma.o + +# S3C2440 support + +obj-$(CONFIG_CPU_S3C2440) += s3c2440.o s3c2440-dsc.o + +# machine specific support + +obj-$(CONFIG_ARCH_BAST) += mach-bast.o usb-simtec.o +obj-$(CONFIG_ARCH_H1940) += mach-h1940.o +obj-$(CONFIG_ARCH_SMDK2410) += mach-smdk2410.o +obj-$(CONFIG_MACH_VR1000) += mach-vr1000.o usb-simtec.o -#obj-$(CONFIG_PCI) +=$(pci-y) -#obj-$(CONFIG_LEDS) +=$(leds-y) diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 2268ab3c7..f75266907 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c @@ -1,6 +1,6 @@ /* linux/arch/arm/mach-s3c2410/mach-bast.c * - * Copyright (c) 2003 Simtec Electronics + * Copyright (c) 2003,2004 Simtec Electronics * Ben Dooks * * http://www.simtec.co.uk/products/EB2410ITX/ @@ -10,6 +10,9 @@ * published by the Free Software Foundation. * * Modifications: + * 14-Sep-2004 BJD USB power control + * 20-Aug-2004 BJD Added s3c2410_board struct + * 18-Aug-2004 BJD Added platform devices from default set * 16-May-2003 BJD Created initial version * 16-Aug-2003 BJD Fixed header files and copyright, added URL * 05-Sep-2003 BJD Moved to v2.6 kernel @@ -23,6 +26,7 @@ #include #include #include +#include #include #include @@ -39,6 +43,9 @@ #include #include "s3c2410.h" +#include "devs.h" +#include "cpu.h" +#include "usb-simtec.h" /* macros for virtual address mods for the io space entries */ #define VA_C5(item) ((item) + BAST_VAM_CS5) @@ -154,6 +161,7 @@ static struct s3c2410_uartcfg bast_uartcfgs[] = { [1] = { .hwport = 1, .flags = 0, + .clock = &bast_serial_clock, .ucon = UCON, .ulcon = ULCON, @@ -170,19 +178,51 @@ static struct s3c2410_uartcfg bast_uartcfgs[] = { } }; +/* NOR Flash on BAST board */ + +static struct resource bast_nor_resource[] = { + [0] = { + .start = S3C2410_CS1 + 0x4000000, + .end = S3C2410_CS1 + 0x4000000 + (32*1024*1024) - 1, + .flags = IORESOURCE_MEM, + } +}; + +static struct platform_device bast_device_nor = { + .name = "bast-nor", + .id = -1, + .num_resources = ARRAY_SIZE(bast_nor_resource), + .resource = bast_nor_resource, +}; + +/* Standard BAST devices */ + +static struct platform_device *bast_devices[] __initdata = { + &s3c_device_usb, + &s3c_device_lcd, + &s3c_device_wdt, + &s3c_device_i2c, + &s3c_device_iis, + &s3c_device_rtc, + &bast_device_nor +}; + +static struct s3c2410_board bast_board __initdata = { + .devices = bast_devices, + .devices_count = ARRAY_SIZE(bast_devices) +}; void __init bast_map_io(void) { - s3c2410_map_io(bast_iodesc, ARRAY_SIZE(bast_iodesc)); - s3c2410_uartcfgs = bast_uartcfgs; + s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc)); + s3c2410_init_uarts(bast_uartcfgs, ARRAY_SIZE(bast_uartcfgs)); + s3c2410_set_board(&bast_board); + usb_simtec_init(); } void __init bast_init_irq(void) { - //llprintk("bast_init_irq:\n"); - s3c2410_init_irq(); - } void __init bast_init_time(void) diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index 0a9ba135b..397c546b7 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c @@ -1,6 +1,6 @@ -/* linux/arch/arm/mach-s3c2410/mach-ipaq.c +/* linux/arch/arm/mach-s3c2410/mach-h1940.c * - * Copyright (c) 2003 Simtec Electronics + * Copyright (c) 2003,2004 Simtec Electronics * Ben Dooks * * http://www.handhelds.org/projects/h1940.html @@ -16,6 +16,8 @@ * 06-Jan-2003 BJD Updates for * 18-Jan-2003 BJD Added serial port configuration * 17-Feb-2003 BJD Copied to mach-ipaq.c + * 21-Aug-2004 BJD Added struct s3c2410_board + * 04-Sep-2004 BJD Changed uart init, renamed ipaq_ -> h1940_ */ #include @@ -39,8 +41,10 @@ #include #include "s3c2410.h" +#include "devs.h" +#include "cpu.h" -static struct map_desc ipaq_iodesc[] __initdata = { +static struct map_desc h1940_iodesc[] __initdata = { /* nothing here yet */ }; @@ -48,7 +52,7 @@ static struct map_desc ipaq_iodesc[] __initdata = { #define ULCON S3C2410_LCON_CS8 | S3C2410_LCON_PNONE | S3C2410_LCON_STOPB #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE -static struct s3c2410_uartcfg ipaq_uartcfgs[] = { +static struct s3c2410_uartcfg h1940_uartcfgs[] = { [0] = { .hwport = 0, .flags = 0, @@ -77,21 +81,35 @@ static struct s3c2410_uartcfg ipaq_uartcfgs[] = { }; -void __init ipaq_map_io(void) + + +static struct platform_device *h1940_devices[] __initdata = { + &s3c_device_usb, + &s3c_device_lcd, + &s3c_device_wdt, + &s3c_device_i2c, + &s3c_device_iis, +}; + +static struct s3c2410_board h1940_board __initdata = { + .devices = h1940_devices, + .devices_count = ARRAY_SIZE(h1940_devices) +}; + +void __init h1940_map_io(void) { - s3c2410_map_io(ipaq_iodesc, ARRAY_SIZE(ipaq_iodesc)); - s3c2410_uartcfgs = ipaq_uartcfgs; + s3c24xx_init_io(h1940_iodesc, ARRAY_SIZE(h1940_iodesc)); + s3c2410_init_uarts(h1940_uartcfgs, ARRAY_SIZE(h1940_uartcfgs)); + s3c2410_set_board(&h1940_board); } -void __init ipaq_init_irq(void) +void __init h1940_init_irq(void) { - //llprintk("ipaq_init_irq:\n"); - s3c2410_init_irq(); } -void __init ipaq_init_time(void) +void __init h1940_init_time(void) { s3c2410_init_time(); } @@ -100,7 +118,7 @@ MACHINE_START(H1940, "IPAQ-H1940") MAINTAINER("Ben Dooks ") BOOT_MEM(S3C2410_SDRAM_PA, S3C2410_PA_UART, S3C2410_VA_UART) BOOT_PARAMS(S3C2410_SDRAM_PA + 0x100) - MAPIO(ipaq_map_io) - INITIRQ(ipaq_init_irq) - INITTIME(ipaq_init_time) + MAPIO(h1940_map_io) + INITIRQ(h1940_init_irq) + INITTIME(h1940_init_time) MACHINE_END diff --git a/arch/arm/mach-s3c2410/mach-vr1000.c b/arch/arm/mach-s3c2410/mach-vr1000.c index aae341c69..4a07a40cc 100644 --- a/arch/arm/mach-s3c2410/mach-vr1000.c +++ b/arch/arm/mach-s3c2410/mach-vr1000.c @@ -11,13 +11,10 @@ * published by the Free Software Foundation. * * Modifications: + * 14-Sep-2004 BJD USB Power control + * 04-Sep-2004 BJD Added new uart init, and io init + * 21-Aug-2004 BJD Added struct s3c2410_board * 06-Aug-2004 BJD Fixed call to time initialisation - * 12-Jul-2004 BJD Renamed machine - * 16-May-2003 BJD Created initial version - * 16-Aug-2003 BJD Fixed header files and copyright, added URL - * 05-Sep-2003 BJD Moved to v2.6 kernel - * 06-Jan-2003 BJD Updates for - * 18-Jan-2003 BJD Added serial port configuration * 05-Apr-2004 BJD Copied to make mach-vr1000.c */ @@ -44,6 +41,9 @@ #include #include "s3c2410.h" +#include "devs.h" +#include "cpu.h" +#include "usb-simtec.h" /* macros for virtual address mods for the io space entries */ #define VA_C5(item) ((item) + BAST_VAM_CS5) @@ -143,19 +143,31 @@ static struct s3c2410_uartcfg vr1000_uartcfgs[] = { } }; +static struct platform_device *vr1000_devices[] __initdata = { + &s3c_device_usb, + &s3c_device_lcd, + &s3c_device_wdt, + &s3c_device_i2c, + &s3c_device_iis, +}; + +static struct s3c2410_board vr1000_board __initdata = { + .devices = vr1000_devices, + .devices_count = ARRAY_SIZE(vr1000_devices) +}; + void __init vr1000_map_io(void) { - s3c2410_map_io(vr1000_iodesc, ARRAY_SIZE(vr1000_iodesc)); - s3c2410_uartcfgs = vr1000_uartcfgs; + s3c24xx_init_io(vr1000_iodesc, ARRAY_SIZE(vr1000_iodesc)); + s3c2410_init_uarts(vr1000_uartcfgs, ARRAY_SIZE(vr1000_uartcfgs)); + s3c2410_set_board(&vr1000_board); + usb_simtec_init(); } void __init vr1000_init_irq(void) { - //llprintk("vr1000init_irq:\n"); - s3c2410_init_irq(); - } void __init vr1000_init_time(void) diff --git a/arch/arm/mach-s3c2410/s3c2410.c b/arch/arm/mach-s3c2410/s3c2410.c index bfd843cef..7709e8dde 100644 --- a/arch/arm/mach-s3c2410/s3c2410.c +++ b/arch/arm/mach-s3c2410/s3c2410.c @@ -1,6 +1,6 @@ /* linux/arch/arm/mach-s3c2410/s3c2410.c * - * Copyright (c) 2003 Simtec Electronics + * Copyright (c) 2003,2004 Simtec Electronics * Ben Dooks * * http://www.simtec.co.uk/products/EB2410ITX/ @@ -13,7 +13,8 @@ * 16-May-2003 BJD Created initial version * 16-Aug-2003 BJD Fixed header files and copyright, added URL * 05-Sep-2003 BJD Moved to kernel v2.6 - * 18-Jan-2003 BJD Added serial port configuration + * 18-Jan-2004 BJD Added serial port configuration + * 21-Aug-2004 BJD Added new struct s3c2410_board handler */ #include @@ -35,6 +36,9 @@ #include #include +#include "s3c2410.h" +#include "cpu.h" + int s3c2410_clock_tick_rate = 12*1000*1000; /* current timers at 12MHz */ /* serial port setup */ @@ -47,33 +51,14 @@ unsigned long s3c2410_fclk; unsigned long s3c2410_hclk; unsigned long s3c2410_pclk; -#ifndef MHZ -#define MHZ (1000*1000) -#endif - -#define print_mhz(m) ((m) / MHZ), ((m / 1000) % 1000) - -#define IODESC_ENT(x) { S3C2410_VA_##x, S3C2410_PA_##x, S3C2410_SZ_##x, MT_DEVICE } - static struct map_desc s3c2410_iodesc[] __initdata = { - IODESC_ENT(IRQ), - IODESC_ENT(MEMCTRL), - IODESC_ENT(USBHOST), - IODESC_ENT(DMA), - IODESC_ENT(CLKPWR), - IODESC_ENT(LCD), - IODESC_ENT(NAND), - IODESC_ENT(UART), - IODESC_ENT(TIMER), - IODESC_ENT(USBDEV), - IODESC_ENT(WATCHDOG), - IODESC_ENT(IIC), - IODESC_ENT(IIS), - IODESC_ENT(GPIO), - IODESC_ENT(RTC), - IODESC_ENT(ADC), - IODESC_ENT(SPI), - IODESC_ENT(SDI) + IODESC_ENT(USBHOST), + IODESC_ENT(CLKPWR), + IODESC_ENT(LCD), + IODESC_ENT(UART), + IODESC_ENT(TIMER), + IODESC_ENT(ADC), + IODESC_ENT(WATCHDOG) }; static struct resource s3c_uart0_resource[] = { @@ -146,14 +131,16 @@ static struct platform_device *uart_devices[] __initdata = { &s3c_uart2 }; -void __init s3c2410_map_io(struct map_desc *mach_desc, int size) +void __init s3c2410_map_io(struct map_desc *mach_desc, int mach_size) { unsigned long tmp; /* register our io-tables */ iotable_init(s3c2410_iodesc, ARRAY_SIZE(s3c2410_iodesc)); - iotable_init(mach_desc, size); + iotable_init(mach_desc, mach_size); + + printk("machine_initted %p,%d\n", mach_desc, mach_size); /* now we've got our machine bits initialised, work out what * clocks we've got */ @@ -175,16 +162,41 @@ void __init s3c2410_map_io(struct map_desc *mach_desc, int size) print_mhz(s3c2410_pclk)); } +static struct s3c2410_board *board; + +void s3c2410_set_board(struct s3c2410_board *b) +{ + board = b; +} + +void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no) +{ + s3c2410_uartcfgs = cfg; +} -static int __init s3c2410_init(void) +int __init s3c2410_init(void) { int ret; printk("S3C2410: Initialising architecture\n"); ret = platform_add_devices(uart_devices, ARRAY_SIZE(uart_devices)); + if (ret) + return ret; + + if (board != NULL) { + if (board->devices != NULL) { + ret = platform_add_devices(board->devices, + board->devices_count); + + if (ret) { + printk(KERN_ERR "s3c2410: failed to add board devices (%d)\n", ret); + } + } + + /* not adding board devices may not be fatal */ + ret = 0; + } return ret; } - -arch_initcall(s3c2410_init); diff --git a/arch/arm/mach-s3c2410/s3c2410.h b/arch/arm/mach-s3c2410/s3c2410.h index 862a7c86d..09742c9bc 100644 --- a/arch/arm/mach-s3c2410/s3c2410.h +++ b/arch/arm/mach-s3c2410/s3c2410.h @@ -1,4 +1,19 @@ - +/* arch/arm/mach-s3c2410/s3c2410.h + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * Header file for s3c2410 machine directory + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Modifications: + * 18-Aug-2004 BJD Created initial version + * 20-Aug-2004 BJD Added s3c2410_board struct + * 04-Sep-2004 BJD Added s3c2410_init_uarts() call +*/ extern void s3c2410_map_io(struct map_desc *, int count); @@ -6,3 +21,18 @@ extern void s3c2410_init_irq(void); extern void s3c2410_init_time(void); +/* the board structure is used at first initialsation time + * to get info such as the devices to register for this + * board. This is done because platfrom_add_devices() cannot + * be called from the map_io entry. + * +*/ + +struct s3c2410_board { + struct platform_device **devices; + unsigned int devices_count; +}; + +extern void s3c2410_set_board(struct s3c2410_board *board); + +extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no); diff --git a/arch/arm/mach-sa1100/cpu-sa1100.c b/arch/arm/mach-sa1100/cpu-sa1100.c index be5dd86f4..6435b2e48 100644 --- a/arch/arm/mach-sa1100/cpu-sa1100.c +++ b/arch/arm/mach-sa1100/cpu-sa1100.c @@ -230,9 +230,7 @@ static int __init sa1100_cpu_init(struct cpufreq_policy *policy) } static struct cpufreq_driver sa1100_driver = { - .flags = CPUFREQ_STICKY | - CPUFREQ_PANIC_OUTOFSYNC | - CPUFREQ_PANIC_RESUME_OUTOFSYNC, + .flags = CPUFREQ_STICKY, .verify = sa11x0_verify_speed, .target = sa1100_target, .get = sa11x0_getspeed, diff --git a/arch/arm/mach-sa1100/cpu-sa1110.c b/arch/arm/mach-sa1100/cpu-sa1110.c index 62a4dbcce..8d2a89a2e 100644 --- a/arch/arm/mach-sa1100/cpu-sa1110.c +++ b/arch/arm/mach-sa1100/cpu-sa1110.c @@ -329,9 +329,7 @@ static int __init sa1110_cpu_init(struct cpufreq_policy *policy) } static struct cpufreq_driver sa1110_driver = { - .flags = CPUFREQ_STICKY | - CPUFREQ_PANIC_OUTOFSYNC | - CPUFREQ_PANIC_RESUME_OUTOFSYNC, + .flags = CPUFREQ_STICKY, .verify = sa11x0_verify_speed, .target = sa1110_target, .get = sa11x0_getspeed, diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 285ca9abb..239d9897d 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -31,6 +32,7 @@ #include #include #include +#include #include #include @@ -325,6 +327,213 @@ static struct mmc_platform_data mmc1_plat_data = { }; #endif +/* + * CLCD support. + */ +#define SYS_CLCD_MODE_MASK (3 << 0) +#define SYS_CLCD_MODE_5551 (0 << 0) +#define SYS_CLCD_MODE_565 (1 << 0) +#define SYS_CLCD_MODE_888 (2 << 0) +#define SYS_CLCD_MODE_LT (3 << 0) +#define SYS_CLCD_NLCDIOON (1 << 2) +#define SYS_CLCD_VDDPOSSWITCH (1 << 3) +#define SYS_CLCD_PWR3V5SWITCH (1 << 4) +#define SYS_CLCD_ID_MASK (0x1f << 8) +#define SYS_CLCD_ID_SANYO_3_8 (0x00 << 8) +#define SYS_CLCD_ID_UNKNOWN_8_4 (0x01 << 8) +#define SYS_CLCD_ID_EPSON_2_2 (0x02 << 8) +#define SYS_CLCD_ID_VGA (0x1f << 8) + +static struct clcd_panel vga = { + .mode = { + .name = "VGA", + .refresh = 60, + .xres = 640, + .yres = 480, + .pixclock = 39721, + .left_margin = 40, + .right_margin = 24, + .upper_margin = 32, + .lower_margin = 11, + .hsync_len = 96, + .vsync_len = 2, + .sync = 0, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD | TIM2_IPC, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .bpp = 16, +}; + +static struct clcd_panel sanyo_3_8_in = { + .mode = { + .name = "Sanyo QVGA", + .refresh = 116, + .xres = 320, + .yres = 240, + .pixclock = 100000, + .left_margin = 6, + .right_margin = 6, + .upper_margin = 5, + .lower_margin = 5, + .hsync_len = 6, + .vsync_len = 6, + .sync = 0, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .bpp = 16, +}; + +static struct clcd_panel epson_2_2_in = { + .mode = { + .name = "Epson QCIF", + .refresh = 390, + .xres = 176, + .yres = 220, + .pixclock = 62500, + .left_margin = 3, + .right_margin = 2, + .upper_margin = 1, + .lower_margin = 0, + .hsync_len = 3, + .vsync_len = 2, + .sync = 0, + .vmode = FB_VMODE_NONINTERLACED, + }, + .width = -1, + .height = -1, + .tim2 = TIM2_BCD | TIM2_IPC, + .cntl = CNTL_LCDTFT | CNTL_LCDVCOMP(1), + .bpp = 16, +}; + +/* + * Detect which LCD panel is connected, and return the appropriate + * clcd_panel structure. Note: we do not have any information on + * the required timings for the 8.4in panel, so we presently assume + * VGA timings. + */ +static struct clcd_panel *versatile_clcd_panel(void) +{ + unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET; + struct clcd_panel *panel = &vga; + u32 val; + + val = readl(sys_clcd) & SYS_CLCD_ID_MASK; + if (val == SYS_CLCD_ID_SANYO_3_8) + panel = &sanyo_3_8_in; + else if (val == SYS_CLCD_ID_EPSON_2_2) + panel = &epson_2_2_in; + else if (val == SYS_CLCD_ID_VGA) + panel = &vga; + else { + printk(KERN_ERR "CLCD: unknown LCD panel ID 0x%08x, using VGA\n", + val); + } + + return &vga; +} + +/* + * Disable all display connectors on the interface module. + */ +static void versatile_clcd_disable(struct clcd_fb *fb) +{ + unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET; + u32 val; + + val = readl(sys_clcd); + val &= ~SYS_CLCD_NLCDIOON | SYS_CLCD_PWR3V5SWITCH; + writel(val, sys_clcd); +} + +/* + * Enable the relevant connector on the interface module. + */ +static void versatile_clcd_enable(struct clcd_fb *fb) +{ + unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET; + u32 val; + + val = readl(sys_clcd); + val &= ~SYS_CLCD_MODE_MASK; + + switch (fb->fb.var.green.length) { + case 5: +#if 0 + /* + * For some undocumented reason, we need to select 565 mode + * even when using 555 with VGA. Maybe this is only true + * for the VGA output and needs to be done for LCD panels? + * I can't get an explaination from the people who should + * know. + */ + val |= SYS_CLCD_MODE_5551; + break; +#endif + case 6: + val |= SYS_CLCD_MODE_565; + break; + case 8: + val |= SYS_CLCD_MODE_888; + break; + } + + /* + * Set the MUX + */ + writel(val, sys_clcd); + + /* + * And now enable the PSUs + */ + val |= SYS_CLCD_NLCDIOON | SYS_CLCD_PWR3V5SWITCH; + writel(val, sys_clcd); +} + +static unsigned long framesize = SZ_1M; + +static int versatile_clcd_setup(struct clcd_fb *fb) +{ + dma_addr_t dma; + + fb->panel = versatile_clcd_panel(); + + fb->fb.screen_base = dma_alloc_writecombine(&fb->dev->dev, framesize, + &dma, GFP_KERNEL); + if (!fb->fb.screen_base) { + printk(KERN_ERR "CLCD: unable to map framebuffer\n"); + return -ENOMEM; + } + + fb->fb.fix.smem_start = dma; + fb->fb.fix.smem_len = framesize; + + return 0; +} + +static void versatile_clcd_remove(struct clcd_fb *fb) +{ + dma_free_writecombine(&fb->dev->dev, fb->fb.fix.smem_len, + fb->fb.screen_base, fb->fb.fix.smem_start); +} + +static struct clcd_board clcd_plat_data = { + .name = "Versatile PB", + .check = clcdfb_check, + .decode = clcdfb_decode, + .disable = versatile_clcd_disable, + .enable = versatile_clcd_enable, + .setup = versatile_clcd_setup, + .remove = versatile_clcd_remove, +}; + #define AMBA_DEVICE(name,busid,base,plat) \ static struct amba_device name##_device = { \ .dev = { \ @@ -417,7 +626,7 @@ AMBA_DEVICE(mmc1, "fpga:0b", MMCI1, &mmc1_plat_data); /* DevChip Primecells */ AMBA_DEVICE(smc, "dev:00", SMC, NULL); AMBA_DEVICE(mpmc, "dev:10", MPMC, NULL); -AMBA_DEVICE(clcd, "dev:20", CLCD, NULL); +AMBA_DEVICE(clcd, "dev:20", CLCD, &clcd_plat_data); AMBA_DEVICE(dmac, "dev:30", DMAC, NULL); AMBA_DEVICE(sctl, "dev:e0", SCTL, NULL); AMBA_DEVICE(wdog, "dev:e1", WATCHDOG, NULL); diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index 545a548b1..f0a878204 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -43,7 +43,7 @@ config CPU_ARM710 # ARM720T config CPU_ARM720T bool "Support ARM720T processor" if !ARCH_CLPS711X && !ARCH_L7200 && !ARCH_CDB89712 && ARCH_INTEGRATOR - default y if ARCH_CLPS711X || ARCH_L7200 || ARCH_CDB89712 + default y if ARCH_CLPS711X || ARCH_L7200 || ARCH_CDB89712 || ARCH_H720X select CPU_32v4 select CPU_ABRT_LV4T select CPU_CACHE_V4 @@ -59,7 +59,7 @@ config CPU_ARM720T # ARM920T config CPU_ARM920T bool "Support ARM920T processor" if !ARCH_S3C2410 - depends on ARCH_INTEGRATOR || ARCH_S3C2410 + depends on ARCH_INTEGRATOR || ARCH_S3C2410 || ARCH_IMX default y if ARCH_S3C2410 select CPU_32v4 select CPU_ABRT_EV4T @@ -220,7 +220,7 @@ config CPU_SA1100 # XScale config CPU_XSCALE bool - depends on ARCH_IOP3XX || ARCH_PXA || ARCH_IXP4XX + depends on ARCH_IOP3XX || ARCH_PXA || ARCH_IXP4XX || ARCH_IXP2000 default y select CPU_32v5 select CPU_ABRT_EV5T diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S index 336aa0e40..85c10a71e 100644 --- a/arch/arm/mm/cache-v6.S +++ b/arch/arm/mm/cache-v6.S @@ -75,6 +75,22 @@ ENTRY(v6_flush_user_cache_range) * - the Icache does not read data from the write buffer */ ENTRY(v6_coherent_kern_range) + /* FALLTHROUGH */ + +/* + * v6_coherent_user_range(start,end) + * + * Ensure that the I and D caches are coherent within specified + * region. This is typically used when code has been written to + * a memory region, and will be executed. + * + * - start - virtual start address of region + * - end - virtual end address of region + * + * It is assumed that: + * - the Icache does not read data from the write buffer + */ +ENTRY(v6_coherent_user_range) bic r0, r0, #CACHE_LINE_SIZE - 1 1: #ifdef HARVARD_CACHE @@ -203,6 +219,7 @@ ENTRY(v6_cache_fns) .long v6_flush_user_cache_all .long v6_flush_user_cache_range .long v6_coherent_kern_range + .long v6_coherent_user_range .long v6_flush_kern_dcache_page .long v6_dma_inv_range .long v6_dma_clean_range diff --git a/arch/arm/mm/consistent.c b/arch/arm/mm/consistent.c index f9b8fe2c7..57b0be2ab 100644 --- a/arch/arm/mm/consistent.c +++ b/arch/arm/mm/consistent.c @@ -138,7 +138,7 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, int gfp, struct page *page; struct vm_region *c; unsigned long order; - u64 mask = 0x00ffffff, limit; /* ISA default */ + u64 mask = ISA_DMA_THRESHOLD, limit; if (!consistent_pte) { printk(KERN_ERR "%s: not initialised\n", __func__); @@ -148,19 +148,34 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, int gfp, if (dev) { mask = dev->coherent_dma_mask; + + /* + * Sanity check the DMA mask - it must be non-zero, and + * must be able to be satisfied by a DMA allocation. + */ if (mask == 0) { dev_warn(dev, "coherent DMA mask is unset\n"); - return NULL; + goto no_page; + } + + if ((~mask) & ISA_DMA_THRESHOLD) { + dev_warn(dev, "coherent DMA mask %#llx is smaller " + "than system GFP_DMA mask %#llx\n", + mask, (unsigned long long)ISA_DMA_THRESHOLD); + goto no_page; } } + /* + * Sanity check the allocation size. + */ size = PAGE_ALIGN(size); limit = (mask + 1) & ~mask; - if ((limit && size >= limit) || size >= (CONSISTENT_END - CONSISTENT_BASE)) { - printk(KERN_WARNING "coherent allocation too big (requested %#x mask %#Lx)\n", - size, mask); - *handle = ~0; - return NULL; + if ((limit && size >= limit) || + size >= (CONSISTENT_END - CONSISTENT_BASE)) { + printk(KERN_WARNING "coherent allocation too big " + "(requested %#x mask %#llx)\n", size, mask); + goto no_page; } order = get_order(size); @@ -221,6 +236,7 @@ __dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, int gfp, if (page) __free_pages(page, order); no_page: + *handle = ~0; return NULL; } diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c index d03940c1b..5f0a79094 100644 --- a/arch/arm/mm/fault-armv.c +++ b/arch/arm/mm/fault-armv.c @@ -76,59 +76,12 @@ no_pmd: return 0; } -static void __flush_dcache_page(struct page *page) -{ - struct address_space *mapping = page_mapping(page); - struct mm_struct *mm = current->active_mm; - struct vm_area_struct *mpnt = NULL; - struct prio_tree_iter iter; - unsigned long offset; - pgoff_t pgoff; - - __cpuc_flush_dcache_page(page_address(page)); - - if (!mapping) - return; - - /* - * With a VIVT cache, we need to also write back - * and invalidate any user data. - */ - pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); - - flush_dcache_mmap_lock(mapping); - while ((mpnt = vma_prio_tree_next(mpnt, &mapping->i_mmap, - &iter, pgoff, pgoff)) != NULL) { - /* - * If this VMA is not in our MM, we can ignore it. - */ - if (mpnt->vm_mm != mm) - continue; - if (!(mpnt->vm_flags & VM_MAYSHARE)) - continue; - offset = (pgoff - mpnt->vm_pgoff) << PAGE_SHIFT; - flush_cache_page(mpnt, mpnt->vm_start + offset); - } - flush_dcache_mmap_unlock(mapping); -} - -void flush_dcache_page(struct page *page) -{ - struct address_space *mapping = page_mapping(page); - - if (mapping && !mapping_mapped(mapping)) - set_bit(PG_dcache_dirty, &page->flags); - else - __flush_dcache_page(page); -} -EXPORT_SYMBOL(flush_dcache_page); - static void make_coherent(struct vm_area_struct *vma, unsigned long addr, struct page *page, int dirty) { struct address_space *mapping = page_mapping(page); struct mm_struct *mm = vma->vm_mm; - struct vm_area_struct *mpnt = NULL; + struct vm_area_struct *mpnt; struct prio_tree_iter iter; unsigned long offset; pgoff_t pgoff; @@ -145,8 +98,7 @@ make_coherent(struct vm_area_struct *vma, unsigned long addr, struct page *page, * cache coherency. */ flush_dcache_mmap_lock(mapping); - while ((mpnt = vma_prio_tree_next(mpnt, &mapping->i_mmap, - &iter, pgoff, pgoff)) != NULL) { + vma_prio_tree_foreach(mpnt, &iter, &mapping->i_mmap, pgoff, pgoff) { /* * If this VMA is not in our MM, we can ignore it. * Note that we intentionally mask out the VMA @@ -190,10 +142,21 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long addr, pte_t pte) if (page_mapping(page)) { int dirty = test_and_clear_bit(PG_dcache_dirty, &page->flags); - if (dirty) + if (dirty) { + /* + * This is our first userspace mapping of this page. + * Ensure that the physical page is coherent with + * the kernel mapping. + * + * FIXME: only need to do this on VIVT and aliasing + * VIPT cache architectures. We can do that + * by choosing whether to set this bit... + */ __cpuc_flush_dcache_page(page_address(page)); + } - make_coherent(vma, addr, page, dirty); + if (cache_is_vivt()) + make_coherent(vma, addr, page, dirty); } } diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 060fea2e1..d7b4441ac 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -344,7 +345,7 @@ static inline void free_bootmem_node_bank(int node, struct meminfo *mi) * Initialise the bootmem allocator for all nodes. This is called * early during the architecture specific initialisation. */ -void __init bootmem_init(struct meminfo *mi) +static void __init bootmem_init(struct meminfo *mi) { struct node_info node_info[MAX_NUMNODES], *np = node_info; unsigned int bootmap_pages, bootmap_pfn, map_pg; @@ -412,9 +413,7 @@ void __init bootmem_init(struct meminfo *mi) } #endif - if (map_pg != bootmap_pfn + bootmap_pages) - BUG(); - + BUG_ON(map_pg != bootmap_pfn + bootmap_pages); } /* @@ -426,6 +425,8 @@ void __init paging_init(struct meminfo *mi, struct machine_desc *mdesc) void *zero_page; int node; + bootmem_init(mi); + memcpy(&meminfo, mi, sizeof(meminfo)); /* @@ -495,7 +496,7 @@ void __init paging_init(struct meminfo *mi, struct machine_desc *mdesc) */ arch_adjust_zones(node, zone_size, zhole_size); - free_area_init_node(node, pgdat, NULL, zone_size, + free_area_init_node(node, pgdat, zone_size, bdata->node_boot_start >> PAGE_SHIFT, zhole_size); } @@ -590,7 +591,7 @@ void __init mem_init(void) * anywhere without overcommit, so turn * it on by default. */ - sysctl_overcommit_memory = 1; + sysctl_overcommit_memory = OVERCOMMIT_ALWAYS; } } diff --git a/arch/arm/mm/proc-xscale.S b/arch/arm/mm/proc-xscale.S index 2652d141f..2be02f7f5 100644 --- a/arch/arm/mm/proc-xscale.S +++ b/arch/arm/mm/proc-xscale.S @@ -241,6 +241,22 @@ ENTRY(xscale_flush_user_cache_range) * it also trashes the mini I-cache used by JTAG debuggers. */ ENTRY(xscale_coherent_kern_range) + /* FALLTHROUGH */ + +/* + * coherent_user_range(start, end) + * + * Ensure coherency between the Icache and the Dcache in the + * region described by start. If you have non-snooping + * Harvard caches, you need to implement this function. + * + * - start - virtual start address + * - end - virtual end address + * + * Note: single I-cache line invalidation isn't used here since + * it also trashes the mini I-cache used by JTAG debuggers. + */ +ENTRY(xscale_coherent_user_range) bic r0, r0, #CACHELINESIZE - 1 1: mcr p15, 0, r0, c7, c10, 1 @ clean D entry add r0, r0, #CACHELINESIZE @@ -341,6 +357,7 @@ ENTRY(xscale_cache_fns) .long xscale_flush_user_cache_all .long xscale_flush_user_cache_range .long xscale_coherent_kern_range + .long xscale_coherent_user_range .long xscale_flush_kern_dcache_page .long xscale_dma_inv_range .long xscale_dma_clean_range @@ -585,7 +602,12 @@ __xscale_setup: mcr p15, 0, r4, c2, c0, 0 @ load page table pointer mov r0, #0x1f @ Domains 0, 1 = client mcr p15, 0, r0, c3, c0, 0 @ load domain access register - mov r0, #1 @ Allow access to CP0 and CP13 +#ifdef CONFIG_IWMMXT + mov r0, #0 @ initially disallow access to CP0/CP1 +#else + mov r0, #1 @ Allow access to CP0 +#endif + orr r0, r0, #1 << 6 @ cp6 for IOP3xx and Bulverde orr r0, r0, #1 << 13 @ Its undefined whether this mcr p15, 0, r0, c15, c1, 0 @ affects USR or SVC modes mrc p15, 0, r0, c1, c0, 0 @ get control register @@ -632,10 +654,15 @@ cpu_80200_name: .asciz "XScale-80200" .size cpu_80200_name, . - cpu_80200_name - .type cpu_80321_name, #object -cpu_80321_name: - .asciz "XScale-IOP80321" - .size cpu_80321_name, . - cpu_80321_name + .type cpu_8032x_name, #object +cpu_8032x_name: + .asciz "XScale-IOP8032x Family" + .size cpu_8032x_name, . - cpu_8032x_name + + .type cpu_8033x_name, #object +cpu_8033x_name: + .asciz "XScale-IOP8033x Family" + .size cpu_8033x_name, . - cpu_8033x_name .type cpu_pxa250_name, #object cpu_pxa250_name: @@ -652,6 +679,16 @@ cpu_ixp42x_name: .asciz "XScale-IXP42x Family" .size cpu_ixp42x_name, . - cpu_ixp42x_name + .type cpu_ixp2400_name, #object +cpu_ixp2400_name: + .asciz "XScale-IXP2400" + .size cpu_ixp2400_name, . - cpu_ixp2400_name + + .type cpu_ixp2800_name, #object +cpu_ixp2800_name: + .asciz "XScale-IXP2800" + .size cpu_ixp2800_name, . - cpu_ixp2800_name + .type cpu_pxa255_name, #object cpu_pxa255_name: .asciz "XScale-PXA255" @@ -682,21 +719,37 @@ __80200_proc_info: .long xscale_cache_fns .size __80200_proc_info, . - __80200_proc_info - .type __80321_proc_info,#object -__80321_proc_info: + .type __8032x_proc_info,#object +__8032x_proc_info: .long 0x69052420 - .long 0xfffff7e0 + .long 0xfffff5e0 @ mask should accomodate IOP80219 also + .long 0x00000c0e + b __xscale_setup + .long cpu_arch_name + .long cpu_elf_name + .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP + .long cpu_8032x_name + .long xscale_processor_functions + .long v4wbi_tlb_fns + .long xscale_mc_user_fns + .long xscale_cache_fns + .size __8032x_proc_info, . - __8032x_proc_info + + .type __8033x_proc_info,#object +__8033x_proc_info: + .long 0x69054090 + .long 0xffffffb0 .long 0x00000c0e b __xscale_setup .long cpu_arch_name .long cpu_elf_name .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP - .long cpu_80321_name + .long cpu_8033x_name .long xscale_processor_functions .long v4wbi_tlb_fns .long xscale_mc_user_fns .long xscale_cache_fns - .size __80321_proc_info, . - __80321_proc_info + .size __8033x_proc_info, . - __8033x_proc_info .type __pxa250_proc_info,#object __pxa250_proc_info: @@ -730,6 +783,38 @@ __pxa210_proc_info: .long xscale_cache_fns .size __pxa210_proc_info, . - __pxa210_proc_info + .type __ixp2400_proc_info, #object +__ixp2400_proc_info: + .long 0x69054190 + .long 0xfffffff0 + .long 0x00000c0e + b __xscale_setup + .long cpu_arch_name + .long cpu_elf_name + .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP + .long cpu_ixp2400_name + .long xscale_processor_functions + .long v4wbi_tlb_fns + .long xscale_mc_user_fns + .long xscale_cache_fns + .size __ixp2400_proc_info, . - __ixp2400_proc_info + + .type __ixp2800_proc_info, #object +__ixp2800_proc_info: + .long 0x690541a0 + .long 0xfffffff0 + .long 0x00000c0e + b __xscale_setup + .long cpu_arch_name + .long cpu_elf_name + .long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP + .long cpu_ixp2800_name + .long xscale_processor_functions + .long v4wbi_tlb_fns + .long xscale_mc_user_fns + .long xscale_cache_fns + .size __ixp2800_proc_info, . - __ixp2800_proc_info + .type __ixp42x_proc_info, #object __ixp42x_proc_info: .long 0x690541c0 diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index d2ce22372..4df5b0f30 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -6,7 +6,7 @@ # To add an entry into this database, please see Documentation/arm/README, # or contact rmk@arm.linux.org.uk # -# Last update: Fri Jul 2 11:58:36 2004 +# Last update: Thu Sep 30 15:23:21 2004 # # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number # @@ -519,7 +519,7 @@ scb9328 MACH_SCB9328 SCB9328 508 omap_h3 MACH_OMAP_H3 OMAP_H3 509 omap_h4 MACH_OMAP_H4 OMAP_H4 510 n10 MACH_N10 N10 511 -montajade MACH_MONTAJADE MONTAJADE 512 +montejade MACH_MONTAJADE MONTAJADE 512 sg560 MACH_SG560 SG560 513 dp1000 MACH_DP1000 DP1000 514 omap_osk MACH_OMAP_OSK OMAP_OSK 515 @@ -559,3 +559,59 @@ lpc2294 MACH_LPC2294 LPC2294 548 switchgrass MACH_SWITCHGRASS SWITCHGRASS 549 ens_cmu MACH_ENS_CMU ENS_CMU 550 mm6_sdb MACH_MM6_SDB MM6_SDB 551 +saturn MACH_SATURN SATURN 552 +argonplusevb MACH_ARGONPLUSEVB ARGONPLUSEVB 553 +scma11evb MACH_SCMA11EVB SCMA11EVB 554 +smdk2800 MACH_SMDK2800 SMDK2800 555 +mtwilson MACH_MTWILSON MTWILSON 556 +ziti MACH_ZITI ZITI 557 +grandfather MACH_GRANDFATHER GRANDFATHER 558 +tengine MACH_TENGINE TENGINE 559 +s3c2460 MACH_S3C2460 S3C2460 560 +pdm MACH_PDM PDM 561 +h4700 MACH_H4700 H4700 562 +h6300 MACH_H6300 H6300 563 +rz1700 MACH_RZ1700 RZ1700 564 +a716 MACH_A716 A716 565 +estk2440a MACH_ESTK2440A ESTK2440A 566 +atwixp425 MACH_ATWIXP425 ATWIXP425 567 +csb336 MACH_CSB336 CSB336 568 +rirm2 MACH_RIRM2 RIRM2 569 +cx23518 MACH_CX23518 CX23518 570 +cx2351x MACH_CX2351X CX2351X 571 +computime MACH_COMPUTIME COMPUTIME 572 +izarus MACH_IZARUS IZARUS 573 +pxa_rts MACH_RTS RTS 574 +se5100 MACH_SE5100 SE5100 575 +s3c2510 MACH_S3C2510 S3C2510 576 +csb437tl MACH_CSB437TL CSB437TL 577 +slauson MACH_SLAUSON SLAUSON 578 +pearlriver MACH_PEARLRIVER PEARLRIVER 579 +tdc_p210 MACH_TDC_P210 TDC_P210 580 +sg580 MACH_SG580 SG580 581 +wrsbcarm7 MACH_WRSBCARM7 WRSBCARM7 582 +ipd MACH_IPD IPD 583 +pxa_dnp2110 MACH_PXA_DNP2110 PXA_DNP2110 584 +xaeniax MACH_XAENIAX XAENIAX 585 +somn4250 MACH_SOMN4250 SOMN4250 586 +pleb2 MACH_PLEB2 PLEB2 587 +cwl MACH_CWL CWL 588 +gd MACH_GD GD 589 +chaffee MACH_CHAFFEE CHAFFEE 590 +rms101 MACH_RMS101 RMS101 591 +rx3715 MACH_RX3715 RX3715 592 +swift MACH_SWIFT SWIFT 593 +roverp7 MACH_ROVERP7 ROVERP7 594 +pr818s MACH_PR818S PR818S 595 +trxpro MACH_TRXPRO TRXPRO 596 +nslu2 MACH_NSLU2 NSLU2 597 +e400 MACH_E400 E400 598 +trab MACH_TRAB TRAB 599 +cmc_pu2 MACH_CMC_PU2 CMC_PU2 600 +fulcrum MACH_FULCRUM FULCRUM 601 +netgate42x MACH_NETGATE42X NETGATE42X 602 +str710 MACH_STR710 STR710 603 +ixdpg425 MACH_IXDPG425 IXDPG425 604 +tomtomgo MACH_TOMTOMGO TOMTOMGO 605 +versatile_ab MACH_VERSATILE_AB VERSATILE_AB 606 +edb9307 MACH_EDB9307 EDB9307 607 diff --git a/arch/arm26/Kconfig b/arch/arm26/Kconfig index b40758b9f..500780d9d 100644 --- a/arch/arm26/Kconfig +++ b/arch/arm26/Kconfig @@ -62,7 +62,7 @@ config ARCH_ARC bool "Archimedes" help Say Y to support the Acorn Archimedes. - + The Acorn Archimedes was an personal computer based on an 8MHz ARM2 processor, released in 1987. It supported up to 16MB of RAM in later models and floppy, harddisc, ethernet etc. @@ -71,7 +71,7 @@ config ARCH_A5K bool "A5000" help Say Y here to to support the Acorn A5000. - + Linux can support the internal IDE disk and CD-ROM interface, serial and parallel port, and the floppy drive. Note that on some A5000s the floppy is @@ -214,118 +214,7 @@ source "drivers/misc/Kconfig" source "drivers/usb/Kconfig" -menu "Kernel hacking" - -# RMK wants arm kernels compiled with frame pointers so hardwire this to y. -# If you know what you are doing and are willing to live without stack -# traces, you can get a slightly smaller kernel by setting this option to -# n, but then RMK will have to kill you ;). -config FRAME_POINTER - bool - default y - help - If you say N here, the resulting kernel will be slightly smaller and - faster. However, when a problem occurs with the kernel, the - information that is reported is severely limited. Most people - should say Y here. - -config DEBUG_USER - bool "Verbose user fault messages" - help - When a user program crashes due to an exception, the kernel can - print a brief message explaining what the problem was. This is - sometimes helpful for debugging but serves no purpose on a - production system. Most people should say N here. - -config DEBUG_INFO - bool "Include GDB debugging information in kernel binary" - help - Say Y here to include source-level debugging information in the - `vmlinux' binary image. This is handy if you want to use gdb or - addr2line to debug the kernel. It has no impact on the in-memory - footprint of the running kernel but it can increase the amount of - time and disk space needed for compilation of the kernel. If in - doubt say N. - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_WAITQ - bool "Wait queue debugging" - depends on DEBUG_KERNEL - -config DEBUG_BUGVERBOSE - bool "Verbose BUG() reporting (adds 70K)" - depends on DEBUG_KERNEL - help - Say Y here to make BUG() panics output the file name and line number - of the BUG call as well as the EIP and oops trace. This aids - debugging but costs about 70-100K of memory. - -config DEBUG_ERRORS - bool "Verbose kernel error messages" - depends on DEBUG_KERNEL - help - This option controls verbose debugging information which can be - printed when the kernel detects an internal error. This debugging - information is useful to kernel hackers when tracking down problems, - but mostly meaningless to other people. It's safe to say Y unless - you are concerned with the code size or don't want to see these - messages. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -# These options are only for real kernel hackers who want to get their hands dirty. -config DEBUG_LL - bool "Kernel low-level debugging functions" - depends on DEBUG_KERNEL - help - Say Y here to include definitions of printascii, printchar, printhex - in the kernel. This is helpful if you are debugging code that - executes before the console is initialized. - -endmenu +source "arch/arm26/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/arm26/kernel/irq.c b/arch/arm26/kernel/irq.c index 7869d1b22..be2ebeaa8 100644 --- a/arch/arm26/kernel/irq.c +++ b/arch/arm26/kernel/irq.c @@ -187,6 +187,7 @@ static void __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs) { unsigned int status; + int ret; spin_unlock(&irq_controller_lock); if (!(action->flags & SA_INTERRUPT)) @@ -194,8 +195,9 @@ __do_irq(unsigned int irq, struct irqaction *action, struct pt_regs *regs) status = 0; do { - status |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; action = action->next; } while (action); diff --git a/arch/arm26/kernel/ptrace.c b/arch/arm26/kernel/ptrace.c index 78cd8931d..b2aea03ac 100644 --- a/arch/arm26/kernel/ptrace.c +++ b/arch/arm26/kernel/ptrace.c @@ -614,7 +614,7 @@ static int do_ptrace(int request, struct task_struct *child, long addr, long dat /* make sure single-step breakpoint is gone. */ child->ptrace &= ~PT_SINGLESTEP; ptrace_cancel_bpt(child); - if (child->state != TASK_ZOMBIE) { + if (child->exit_state != EXIT_ZOMBIE) { child->exit_code = SIGKILL; wake_up_process(child); } @@ -731,11 +731,8 @@ asmlinkage void syscall_trace(int why, struct pt_regs *regs) /* the 0x80 provides a way for the tracing parent to distinguish between a syscall stop and SIGTRAP delivery */ - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/arm26/mm/init.c b/arch/arm26/mm/init.c index ad41cebe2..17f7dc3e9 100644 --- a/arch/arm26/mm/init.c +++ b/arch/arm26/mm/init.c @@ -305,8 +305,8 @@ void __init paging_init(struct meminfo *mi) (bdata->node_boot_start >> PAGE_SHIFT); if (!zone_size[0]) BUG(); - - free_area_init_node(0, pgdat, 0, zone_size, + pgdat->node_mem_map = NULL; + free_area_init_node(0, pgdat, zone_size, bdata->node_boot_start >> PAGE_SHIFT, zhole_size); mem_map = NODE_DATA(0)->node_mem_map; @@ -376,7 +376,7 @@ void __init mem_init(void) * Turn on overcommit on tiny machines */ if (PAGE_SIZE >= 16384 && num_physpages <= 128) { - sysctl_overcommit_memory = 1; + sysctl_overcommit_memory = OVERCOMMIT_ALWAYS; printk("Turning on overcommit\n"); } } diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig index 93d52b712..a8e4c25c7 100644 --- a/arch/cris/Kconfig +++ b/arch/cris/Kconfig @@ -20,8 +20,11 @@ config RWSEM_GENERIC_SPINLOCK config RWSEM_XCHGADD_ALGORITHM bool -source "init/Kconfig" +config CRIS + bool + default y +source "init/Kconfig" menu "General setup" @@ -51,7 +54,7 @@ config ETRAX_FAST_TIMER bool "Enable ETRAX fast timer API" help This options enables the API to a fast timer implementation using - timer1 to get sub jiffie resolution timers (primarily one-shot + timer1 to get sub jiffie resolution timers (primarily one-shot timers). This is needed if CONFIG_ETRAX_SERIAL_FAST_TIMER is enabled. @@ -69,7 +72,6 @@ config PREEMPT endmenu - menu "Hardware setup" choice @@ -96,7 +98,7 @@ endchoice config ETRAX_ARCH_V10 bool default y if ETRAX100LX || ETRAX100LX_V2 - default n if !(ETRAX100LX || ETRAX100LX_V2) + default n if !(ETRAX100LX || ETRAX100LX_V2) config ETRAX_DRAM_SIZE int "DRAM size (dec, in MB)" @@ -165,50 +167,7 @@ source "sound/Kconfig" source "drivers/usb/Kconfig" - -menu "Kernel hacking" - -#bool 'Debug kmalloc/kfree' CONFIG_DEBUG_MALLOC -config PROFILE - bool "Kernel profiling support" - -config PROFILE_SHIFT - int "Profile shift count" - depends on PROFILE - default "2" - -config ETRAX_KGDB - bool "Use kernel GDB debugger" - ---help--- - The CRIS version of gdb can be used to remotely debug a running - Linux kernel via the serial debug port. Provided you have gdb-cris - installed, run gdb-cris vmlinux, then type - - (gdb) set remotebaud 115200 <- kgdb uses 115200 as default - (gdb) target remote /dev/ttyS0 <- maybe you use another port - - This should connect you to your booted kernel (or boot it now if you - didn't before). The kernel halts when it boots, waiting for gdb if - this option is turned on! - - -config DEBUG_INFO - bool "Compile the kernel with debug info" - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config FRAME_POINTER - bool "Compile the kernel with frame pointers" - help - If you say Y here the resulting kernel image will be slightly larger - and slower, but it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame pointers. - -endmenu +source "arch/cris/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -217,4 +176,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/cris/Makefile b/arch/cris/Makefile index 30585a70c..0c6944c7c 100644 --- a/arch/cris/Makefile +++ b/arch/cris/Makefile @@ -24,12 +24,10 @@ SARCH := endif LD = $(CROSS_COMPILE)ld -mcrislinux -LDFLAGS_BLOB := --format binary --oformat elf32-cris \ - -T arch/cris/$(SARCH)/output_arch.ld OBJCOPYFLAGS := -O binary -R .note -R .comment -S -AFLAGS_vmlinux.lds.o = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) +CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) AFLAGS += -mlinux CFLAGS := $(CFLAGS) -mlinux -march=$(arch-y) -pipe @@ -39,7 +37,7 @@ CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS)) -g CFLAGS += -fno-omit-frame-pointer endif -HEAD := arch/$(ARCH)/$(SARCH)/kernel/head.o +head-y := arch/$(ARCH)/$(SARCH)/kernel/head.o LIBGCC = $(shell $(CC) $(CFLAGS) -print-file-name=libgcc.a) diff --git a/arch/cris/arch-v10/kernel/debugport.c b/arch/cris/arch-v10/kernel/debugport.c index d80269f6f..d8f20d79f 100644 --- a/arch/cris/arch-v10/kernel/debugport.c +++ b/arch/cris/arch-v10/kernel/debugport.c @@ -259,7 +259,7 @@ static struct console sercons = { void __init init_etrax_debug(void) { -#if CONFIG_ETRAX_DEBUG_PORT_NULL +#ifdef CONFIG_ETRAX_DEBUG_PORT_NULL return; #endif diff --git a/arch/cris/arch-v10/kernel/process.c b/arch/cris/arch-v10/kernel/process.c index 8aba42472..d0993bf72 100644 --- a/arch/cris/arch-v10/kernel/process.c +++ b/arch/cris/arch-v10/kernel/process.c @@ -180,7 +180,7 @@ asmlinkage int sys_clone(unsigned long newusp, unsigned long flags, { if (!newusp) newusp = rdusp(); - return do_fork(flags & ~CLONE_IDLETASK, newusp, regs, 0, parent_tid, child_tid); + return do_fork(flags, newusp, regs, 0, parent_tid, child_tid); } /* vfork is a system call in i386 because of register-pressure - maybe diff --git a/arch/cris/arch-v10/kernel/ptrace.c b/arch/cris/arch-v10/kernel/ptrace.c index 39dcc3c72..55fd63122 100644 --- a/arch/cris/arch-v10/kernel/ptrace.c +++ b/arch/cris/arch-v10/kernel/ptrace.c @@ -85,17 +85,8 @@ sys_ptrace(long request, long pid, long addr, long data) goto out_tsk; } - ret = -ESRCH; - - if (!(child->ptrace & PT_PTRACED)) - goto out_tsk; - - if (child->state != TASK_STOPPED) { - if (request != PTRACE_KILL) - goto out_tsk; - } - - if (child->parent != current) + ret = ptrace_check_attach(child, request == PTRACE_KILL); + if (ret < 0) goto out_tsk; switch (request) { @@ -185,7 +176,7 @@ sys_ptrace(long request, long pid, long addr, long data) case PTRACE_KILL: ret = 0; - if (child->state == TASK_ZOMBIE) + if (child->exit_state == EXIT_ZOMBIE) break; child->exit_code = SIGKILL; diff --git a/arch/cris/arch-v10/kernel/signal.c b/arch/cris/arch-v10/kernel/signal.c index 8db985e29..19f93fe42 100644 --- a/arch/cris/arch-v10/kernel/signal.c +++ b/arch/cris/arch-v10/kernel/signal.c @@ -409,9 +409,7 @@ static void setup_frame(int sig, struct k_sigaction *ka, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, @@ -475,9 +473,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } /* diff --git a/arch/cris/kernel/Makefile b/arch/cris/kernel/Makefile index 7c071a765..1546a0e74 100644 --- a/arch/cris/kernel/Makefile +++ b/arch/cris/kernel/Makefile @@ -3,7 +3,7 @@ # Makefile for the linux kernel. # -extra-y := vmlinux.lds.s +extra-y := vmlinux.lds obj-y := process.o traps.o irq.o ptrace.o setup.o \ time.o sys_cris.o semaphore.o diff --git a/arch/cris/kernel/irq.c b/arch/cris/kernel/irq.c index 94d702790..bb8d2e4e7 100644 --- a/arch/cris/kernel/irq.c +++ b/arch/cris/kernel/irq.c @@ -125,7 +125,7 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs) { struct irqaction *action; int do_random, cpu; - int retval = 0; + int ret, retval = 0; cpu = smp_processor_id(); irq_enter(); @@ -137,8 +137,10 @@ asmlinkage void do_IRQ(int irq, struct pt_regs * regs) local_irq_enable(); do_random = 0; do { - do_random |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + do_random |= action->flags; + retval |= ret; action = action->next; } while (action); diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 47356589a..d0b845ac0 100644 --- a/arch/h8300/Kconfig +++ b/arch/h8300/Kconfig @@ -176,82 +176,12 @@ source "drivers/serial/Kconfig" source "drivers/i2c/Kconfig" source "drivers/usb/Kconfig" - + endmenu source "fs/Kconfig" -menu "Kernel hacking" - -config FULLDEBUG - bool "Full Symbolic/Source Debugging support" - help - Enable debugging symbols on kernel build. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - help - Enables console device to interprent special characters as - commands to dump state information. - -config HIGHPROFILE - bool "Use fast second timer for profiling" - help - Use a fast secondary clock to produce profiling information. - -config NO_KERNEL_MSG - bool "Suppress Kernel BUG Messages" - help - Do not output any debug BUG messages within the kernel. - -config GDB_MAGICPRINT - bool "Message Output for GDB MagicPrint service" - depends on (H8300H_SIM || H8S_SIM) - help - kernel messages output useing MagicPrint service from GDB - -config SYSCALL_PRINT - bool "SystemCall trace print" - help - outout history of systemcall - -config GDB_DEBUG - bool "Use gdb stub" - depends on (!H8300H_SIM && !H8S_SIM) - help - gdb stub exception support - -config CONFIG_SH_STANDARD_BIOS - bool "Use gdb protocol serial console" - depends on (!H8300H_SIM && !H8S_SIM) - help - serial console output using GDB protocol. - Require eCos/RedBoot - -config DEFAULT_CMDLINE - bool "Use buildin commandline" - default n - help - buildin kernel commandline enabled. - -config KERNEL_COMMAND - string "Buildin commmand string" - depends on DEFAULT_CMDLINE - help - buildin kernel commandline strings. - -config BLKDEV_RESERVE - bool "BLKDEV Reserved Memory" - default n - help - Reserved BLKDEV area. - -config CONFIG_BLKDEV_RESERVE_ADDRESS - hex 'start address' - depends on BLKDEV_RESERVE - help - BLKDEV start address. -endmenu +source "arch/h8300/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -260,4 +190,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/h8300/kernel/Makefile b/arch/h8300/kernel/Makefile index 1f4ef89b5..71b6131e9 100644 --- a/arch/h8300/kernel/Makefile +++ b/arch/h8300/kernel/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := vmlinux.lds.s +extra-y := vmlinux.lds obj-y := process.o traps.o ptrace.o ints.o \ sys_h8300.o time.o semaphore.o signal.o \ diff --git a/arch/h8300/kernel/h8300_ksyms.c b/arch/h8300/kernel/h8300_ksyms.c index ca8578fed..5a6302331 100644 --- a/arch/h8300/kernel/h8300_ksyms.c +++ b/arch/h8300/kernel/h8300_ksyms.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include @@ -50,13 +49,13 @@ EXPORT_SYMBOL(csum_partial_copy); explicitly (the C compiler generates them). Fortunately, their interface isn't gonna change any time soon now, so it's OK to leave it out of version control. */ -//EXPORT_SYMBOL_NOVERS(__ashrdi3); -//EXPORT_SYMBOL_NOVERS(__lshrdi3); -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(memcmp); -EXPORT_SYMBOL_NOVERS(memscan); -EXPORT_SYMBOL_NOVERS(memmove); +//EXPORT_SYMBOL(__ashrdi3); +//EXPORT_SYMBOL(__lshrdi3); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(memscan); +EXPORT_SYMBOL(memmove); EXPORT_SYMBOL(get_wchan); @@ -85,29 +84,29 @@ extern void __umoddi3(void); extern void __umodsi3(void); /* gcc lib functions */ -EXPORT_SYMBOL_NOVERS(__gcc_bcmp); -EXPORT_SYMBOL_NOVERS(__ashldi3); -EXPORT_SYMBOL_NOVERS(__ashrdi3); -EXPORT_SYMBOL_NOVERS(__cmpdi2); -EXPORT_SYMBOL_NOVERS(__divdi3); -EXPORT_SYMBOL_NOVERS(__divsi3); -EXPORT_SYMBOL_NOVERS(__lshrdi3); -EXPORT_SYMBOL_NOVERS(__moddi3); -EXPORT_SYMBOL_NOVERS(__modsi3); -EXPORT_SYMBOL_NOVERS(__muldi3); -EXPORT_SYMBOL_NOVERS(__mulsi3); -EXPORT_SYMBOL_NOVERS(__negdi2); -EXPORT_SYMBOL_NOVERS(__ucmpdi2); -EXPORT_SYMBOL_NOVERS(__udivdi3); -EXPORT_SYMBOL_NOVERS(__udivmoddi4); -EXPORT_SYMBOL_NOVERS(__udivsi3); -EXPORT_SYMBOL_NOVERS(__umoddi3); -EXPORT_SYMBOL_NOVERS(__umodsi3); +EXPORT_SYMBOL(__gcc_bcmp); +EXPORT_SYMBOL(__ashldi3); +EXPORT_SYMBOL(__ashrdi3); +EXPORT_SYMBOL(__cmpdi2); +EXPORT_SYMBOL(__divdi3); +EXPORT_SYMBOL(__divsi3); +EXPORT_SYMBOL(__lshrdi3); +EXPORT_SYMBOL(__moddi3); +EXPORT_SYMBOL(__modsi3); +EXPORT_SYMBOL(__muldi3); +EXPORT_SYMBOL(__mulsi3); +EXPORT_SYMBOL(__negdi2); +EXPORT_SYMBOL(__ucmpdi2); +EXPORT_SYMBOL(__udivdi3); +EXPORT_SYMBOL(__udivmoddi4); +EXPORT_SYMBOL(__udivsi3); +EXPORT_SYMBOL(__umoddi3); +EXPORT_SYMBOL(__umodsi3); #ifdef MAGIC_ROM_PTR -EXPORT_SYMBOL_NOVERS(is_in_rom); +EXPORT_SYMBOL(is_in_rom); #endif -EXPORT_SYMBOL_NOVERS(h8300_reserved_gpio); -EXPORT_SYMBOL_NOVERS(h8300_free_gpio); -EXPORT_SYMBOL_NOVERS(h8300_set_gpio_dir); +EXPORT_SYMBOL(h8300_reserved_gpio); +EXPORT_SYMBOL(h8300_free_gpio); +EXPORT_SYMBOL(h8300_set_gpio_dir); diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c index d7c058d64..134aec1c6 100644 --- a/arch/h8300/kernel/process.c +++ b/arch/h8300/kernel/process.c @@ -189,7 +189,7 @@ asmlinkage int h8300_clone(struct pt_regs *regs) newsp = regs->er2; if (!newsp) newsp = rdusp(); - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0, NULL, NULL); + return do_fork(clone_flags, newsp, regs, 0, NULL, NULL); } diff --git a/arch/h8300/kernel/ptrace.c b/arch/h8300/kernel/ptrace.c index 51777001a..7e5cce33b 100644 --- a/arch/h8300/kernel/ptrace.c +++ b/arch/h8300/kernel/ptrace.c @@ -91,13 +91,6 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) ret = ptrace_attach(child); goto out_tsk; } - ret = -ESRCH; - if (!(child->ptrace & PT_PTRACED)) - goto out_tsk; - if (child->state != TASK_STOPPED) { - if (request != PTRACE_KILL) - goto out_tsk; - } ret = ptrace_check_attach(child, request == PTRACE_KILL); if (ret < 0) goto out_tsk; @@ -116,7 +109,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) /* read the word at location addr in the USER area. */ case PTRACE_PEEKUSR: { - unsigned long tmp; + unsigned long tmp = 0; if ((addr & 3) || addr < 0 || addr >= sizeof(struct user)) { ret = -EIO; @@ -201,7 +194,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) case PTRACE_KILL: { ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; h8300_disable_trace(child); @@ -272,10 +265,8 @@ asmlinkage void syscall_trace(void) return; if (!(current->ptrace & PT_PTRACED)) return; - current->exit_code = SIGTRAP; - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/h8300/kernel/signal.c b/arch/h8300/kernel/signal.c index 17c83890c..5fd383a6a 100644 --- a/arch/h8300/kernel/signal.c +++ b/arch/h8300/kernel/signal.c @@ -391,9 +391,7 @@ static void setup_frame (int sig, struct k_sigaction *ka, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static void setup_rt_frame (int sig, struct k_sigaction *ka, siginfo_t *info, @@ -443,9 +441,7 @@ static void setup_rt_frame (int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static inline void diff --git a/arch/h8300/kernel/vmlinux.lds.S b/arch/h8300/kernel/vmlinux.lds.S index 7a6009cf2..427f1891c 100644 --- a/arch/h8300/kernel/vmlinux.lds.S +++ b/arch/h8300/kernel/vmlinux.lds.S @@ -150,9 +150,6 @@ SECTIONS *(.init.setup) . = ALIGN(0x4) ; ___setup_end = .; - ___start___param = .; - *(__param) - ___stop___param = .; ___initcall_start = .; *(.initcall1.init) *(.initcall2.init) diff --git a/arch/h8300/platform/h8300h/generic/timer.c b/arch/h8300/platform/h8300h/generic/timer.c index ffc0349b7..6590f89e5 100644 --- a/arch/h8300/platform/h8300h/generic/timer.c +++ b/arch/h8300/platform/h8300h/generic/timer.c @@ -32,7 +32,7 @@ #define H8300_TIMER_FREQ CONFIG_CPU_CLOCK*1000/8192 /* Timer input freq. */ -int platform_timer_setup(irqreturn_t (*timer_int)(int, void *, struct pt_regs *)) +void __init platform_timer_setup(irqreturn_t (*timer_int)(int, void *, struct pt_regs *)) { /* setup 8bit timer ch2 */ ctrl_outb(H8300_TIMER_FREQ / HZ, TCORA2); /* set interval */ @@ -69,7 +69,7 @@ void platform_timer_eoi(void) #define H8300_TIMER_FREQ CONFIG_CPU_CLOCK*1000/8 /* Timer input freq. */ -int platform_timer_setup(irqreturn_t (*timer_int)(int, void *, struct pt_regs *)) +void __init platform_timer_setup(irqreturn_t (*timer_int)(int, void *, struct pt_regs *)) { *(unsigned short *)GRA= H8300_TIMER_FREQ / HZ; /* set interval */ *(unsigned short *)TCNT=0; /* clear counter */ diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 3a3ba7fec..01e2cf529 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@ -29,8 +29,11 @@ config GENERIC_ISA_DMA bool default y -source "init/Kconfig" +config GENERIC_IOMAP + bool + default y +source "init/Kconfig" menu "Processor type and features" @@ -55,20 +58,20 @@ config X86_ELAN config X86_VOYAGER bool "Voyager (NCR)" help - Voyager is a MCA based 32 way capable SMP architecture proprietary - to NCR Corp. Machine classes 345x/35xx/4100/51xx are voyager based. - + Voyager is an MCA-based 32-way capable SMP architecture proprietary + to NCR Corp. Machine classes 345x/35xx/4100/51xx are Voyager-based. + *** WARNING *** - + If you do not specifically know you have a Voyager based machine, - say N here otherwise the kernel you build will not be bootable. + say N here, otherwise the kernel you build will not be bootable. config X86_NUMAQ bool "NUMAQ (IBM/Sequent)" select DISCONTIGMEM select NUMA help - This option is used for getting Linux to run on a (IBM/Sequent) NUMA + This option is used for getting Linux to run on a (IBM/Sequent) NUMA multiquad box. This changes the way that processors are bootstrapped, and uses Clustered Logical APIC addressing mode instead of Flat Logical. You will need a new lynxer.elf file to flash your firmware with - send @@ -115,8 +118,8 @@ config X86_ES7000 depends on SMP help Support for Unisys ES7000 systems. Say 'Y' here if this kernel is - supposed to run on an IA32-based Unisys ES7000 system. - Only choose this option if you have such a system, otherwise you + supposed to run on an IA32-based Unisys ES7000 system. + Only choose this option if you have such a system, otherwise you should say N here. endchoice @@ -196,7 +199,7 @@ config M586 bool "586/K5/5x86/6x86/6x86MX" help Select this for an 586 or 686 series processor such as the AMD K5, - the Intel 5x86 or 6x86, or the Intel 6x86MX. This choice does not + the Cyrix 5x86, 6x86 and 6x86MX. This choice does not assume the RDTSC (Read Time Stamp Counter) instruction. config M586TSC @@ -322,7 +325,7 @@ config MVIAC3_2 endchoice config X86_GENERIC - bool "Generic x86 support" + bool "Generic x86 support" help Instead of just including optimizations for the selected x86 variant (e.g. PII, Crusoe or Athlon), include some more @@ -424,54 +427,6 @@ config X86_OOSTORE depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR default y -config X86_4G - bool "4 GB kernel-space and 4 GB user-space virtual memory support" - help - This option is only useful for systems that have more than 1 GB - of RAM. - - The default kernel VM layout leaves 1 GB of virtual memory for - kernel-space mappings, and 3 GB of VM for user-space applications. - This option ups both the kernel-space VM and the user-space VM to - 4 GB. - - The cost of this option is additional TLB flushes done at - system-entry points that transition from user-mode into kernel-mode. - I.e. system calls and page faults, and IRQs that interrupt user-mode - code. There's also additional overhead to kernel operations that copy - memory to/from user-space. The overhead from this is hard to tell and - depends on the workload - it can be anything from no visible overhead - to 20-30% overhead. A good rule of thumb is to count with a runtime - overhead of 20%. - - The upside is the much increased kernel-space VM, which more than - quadruples the maximum amount of RAM supported. Kernels compiled with - this option boot on 64GB of RAM and still have more than 3.1 GB of - 'lowmem' left. Another bonus is that highmem IO bouncing decreases, - if used with drivers that still use bounce-buffers. - - There's also a 33% increase in user-space VM size - database - applications might see a boost from this. - - But the cost of the TLB flushes and the runtime overhead has to be - weighed against the bonuses offered by the larger VM spaces. The - dividing line depends on the actual workload - there might be 4 GB - systems that benefit from this option. Systems with less than 4 GB - of RAM will rarely see a benefit from this option - but it's not - out of question, the exact circumstances have to be considered. - -config X86_SWITCH_PAGETABLES - def_bool X86_4G - -config X86_4G_VM_LAYOUT - def_bool X86_4G - -config X86_UACCESS_INDIRECT - def_bool X86_4G - -config X86_HIGH_ENTRY - def_bool X86_4G - config HPET_TIMER bool "HPET Timer Support" help @@ -772,6 +727,46 @@ config HIGHMEM64G endchoice +choice + prompt "Memory Split User Space" + default SPLIT_3GB + help + A different Userspace/Kernel split allows you to + utilize up to alsmost 3GB of RAM without the requirement + for HIGHMEM. It also increases the available lowmem. + +config SPLIT_3GB + bool "3.0GB/1.0GB Kernel (Default)" + help + This is the default split of 3GB userspace to 1GB kernel + space, which will result in about 860MB of lowmem. + +config SPLIT_25GB + bool "2.5GB/1.5GB Kernel" + help + This split provides 2.5GB userspace and 1.5GB kernel + space, which will result in about 1370MB of lowmem. + +config SPLIT_2GB + bool "2.0GB/2.0GB Kernel" + help + This split provides 2GB userspace and 2GB kernel + space, which will result in about 1880MB of lowmem. + +config SPLIT_15GB + bool "1.5GB/2.5GB Kernel" + help + This split provides 1.5GB userspace and 2.5GB kernel + space, which will result in about 2390MB of lowmem. + +config SPLIT_1GB + bool "1.0GB/3.0GB Kernel" + help + This split provides 1GB userspace and 3GB kernel + space, which will result in about 2900MB of lowmem. + +endchoice + config HIGHMEM bool depends on HIGHMEM64G || HIGHMEM4G @@ -926,57 +921,6 @@ config REGPARM generate incorrect output with certain kernel constructs when -mregparm=3 is used. -config IRQSTACKS - bool "Use separate IRQ stacks" - help - If you say Y here the kernel will use a separate IRQ stack on each - cpu to handle interrupts. - -config STACK_SIZE_SHIFT - int "Kernel stack size (12 => 4KB, 13 => 8KB, 14 => 16KB)" - range 12 14 - default 12 if IRQSTACKS - default 13 - help - Select kernel stack size. 4KB stacks are best as they let - the system scale further. Use 8KB stacks if you have an - experimental kernel where a stack overlow with a 4KB stack - might occur. Use 16KB stacks if you want to safely support - Windows device drivers using either Linuxant or ndiswrapper. - -config STACK_WARN - int "Print stack trace when stack grows beyond specified bytes" - default 4096 if IRQSTACKS - default 4096 - help - The kernel will print a stack trace when the current stack exceeds - the specified size. - -config X86_STACK_CHECK - bool "Check for stack overflows" - default n - help - Say Y here to have the kernel attempt to detect when the per-task - kernel stack overflows. - - Some older versions of gcc don't handle the -p option correctly. - Kernprof is affected by the same problem, which is described here: - http://oss.sgi.com/projects/kernprof/faq.html#Q9 - - Basically, if you get oopses in __free_pages_ok during boot when - you have this turned on, you need to fix gcc. The Redhat 2.96 - version and gcc-3.x seem to work. - - If not debugging a stack overflow problem, say N - -config STACK_PANIC - int "Panic when stack approaches with specified bytes of the stack limit" - depends on X86_STACK_CHECK - default 512 if IRQSTACKS - default 512 - help - Panic if the stack grows to within specified byte range. - config KEXEC bool "kexec system call (EXPERIMENTAL)" depends on EXPERIMENTAL @@ -1156,7 +1100,6 @@ source "arch/i386/kernel/cpu/cpufreq/Kconfig" endmenu - menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" config X86_VISWS_APIC @@ -1234,7 +1177,7 @@ config PCI_DIRECT config PCI_MMCONFIG bool - depends on PCI && (PCI_GOMMCONFIG || PCI_GOANY) + depends on PCI && (PCI_GOMMCONFIG || (PCI_GOANY && ACPI)) select ACPI_BOOT default y @@ -1287,7 +1230,7 @@ config SCx200 tristate "NatSemi SCx200 support" depends on !X86_VOYAGER help - This provides basic support for the National Semiconductor SCx200 + This provides basic support for the National Semiconductor SCx200 processor. Right now this is just a driver for the GPIO pins. If you don't know what to do here, say N. @@ -1301,7 +1244,6 @@ source "drivers/pci/hotplug/Kconfig" endmenu - menu "Executable file formats" source "fs/Kconfig.binfmt" @@ -1314,173 +1256,7 @@ source "fs/Kconfig" source "arch/i386/oprofile/Kconfig" - -menu "Kernel hacking" - -config CRASH_DUMP - tristate "Crash dump support (EXPERIMENTAL)" - depends on EXPERIMENTAL - default n - ---help--- - Say Y here to enable saving an image of system memory when a panic - or other error occurs. Dumps can also be forced with the SysRq+d - key if MAGIC_SYSRQ is enabled. - -config CRASH_DUMP_BLOCKDEV - tristate "Crash dump block device driver" - depends on CRASH_DUMP - help - Say Y to allow saving crash dumps directly to a disk device. - -config CRASH_DUMP_NETDEV - tristate "Crash dump network device driver" - depends on CRASH_DUMP - help - Say Y to allow saving crash dumps over a network device. - -config CRASH_DUMP_MEMDEV - bool "Crash dump staged memory driver" - depends on CRASH_DUMP - help - Say Y to allow intermediate saving crash dumps in spare - memory pages which would then be written out to disk - later. - -config CRASH_DUMP_SOFTBOOT - bool "Save crash dump across a soft reboot" - depends on CRASH_DUMP_MEMDEV - help - Say Y to allow a crash dump to be preserved in memory - pages across a soft reboot and written out to disk - thereafter. For this to work, CRASH_DUMP must be - configured as part of the kernel (not as a module). - -config CRASH_DUMP_COMPRESS_RLE - tristate "Crash dump RLE compression" - depends on CRASH_DUMP - help - Say Y to allow saving dumps with Run Length Encoding compression. - -config CRASH_DUMP_COMPRESS_GZIP - tristate "Crash dump GZIP compression" - select ZLIB_INFLATE - select ZLIB_DEFLATE - depends on CRASH_DUMP - help - Say Y to allow saving dumps with Gnu Zip compression. - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config EARLY_PRINTK - bool "Early printk" if EMBEDDED - default y - help - Write kernel log output directly into the VGA buffer or to a serial - port. - - This is useful for kernel debugging when your machine crashes very - early before the console code is initialized. For normal operation - it is not recommended because it looks ugly and doesn't cooperate - with klogd/syslogd or the X server. You should normally N here, - unless you want to debug such a crash. - -config DEBUG_STACKOVERFLOW - bool "Check for stack overflows" - depends on DEBUG_KERNEL - -config DEBUG_STACK_USAGE - bool "Stack utilization instrumentation" - depends on DEBUG_KERNEL - help - Enables the display of the minimum amount of free stack which each - task has ever had available in the sysrq-T and sysrq-P debug output. - - This option will slow down process creation somewhat. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_PAGEALLOC - bool "Page alloc debugging" - depends on DEBUG_KERNEL - help - Unmap pages from the kernel linear mapping after free_pages(). - This results in a large slowdown, but helps to find certain types - of memory corruptions. - -config DEBUG_HIGHMEM - bool "Highmem debugging" - depends on DEBUG_KERNEL && HIGHMEM - help - This options enables addition error checking for high memory systems. - Disable for production systems. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - -config FRAME_POINTER - bool "Compile the kernel with frame pointers" - help - If you say Y here the resulting kernel image will be slightly larger - and slower, but it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame pointers. - -config X86_FIND_SMP_CONFIG - bool - depends on X86_LOCAL_APIC || X86_VOYAGER - default y - -config X86_MPPARSE - bool - depends on X86_LOCAL_APIC && !X86_VISWS - default y - -endmenu +source "arch/i386/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/i386/Kconfig.debug b/arch/i386/Kconfig.debug index cf069b721..9e84881c3 100644 --- a/arch/i386/Kconfig.debug +++ b/arch/i386/Kconfig.debug @@ -2,6 +2,58 @@ menu "Kernel hacking" source "lib/Kconfig.debug" +config CRASH_DUMP + tristate "Crash dump support (EXPERIMENTAL)" + depends on EXPERIMENTAL + default n + ---help--- + Say Y here to enable saving an image of system memory when a panic + or other error occurs. Dumps can also be forced with the SysRq+d + key if MAGIC_SYSRQ is enabled. + +config CRASH_DUMP_BLOCKDEV + tristate "Crash dump block device driver" + depends on CRASH_DUMP + help + Say Y to allow saving crash dumps directly to a disk device. + +config CRASH_DUMP_NETDEV + tristate "Crash dump network device driver" + depends on CRASH_DUMP + help + Say Y to allow saving crash dumps over a network device. + +config CRASH_DUMP_MEMDEV + bool "Crash dump staged memory driver" + depends on CRASH_DUMP + help + Say Y to allow intermediate saving crash dumps in spare + memory pages which would then be written out to disk + later. + +config CRASH_DUMP_SOFTBOOT + bool "Save crash dump across a soft reboot" + depends on CRASH_DUMP_MEMDEV + help + Say Y to allow a crash dump to be preserved in memory + pages across a soft reboot and written out to disk + thereafter. For this to work, CRASH_DUMP must be + configured as part of the kernel (not as a module). + +config CRASH_DUMP_COMPRESS_RLE + tristate "Crash dump RLE compression" + depends on CRASH_DUMP + help + Say Y to allow saving dumps with Run Length Encoding compression. + +config CRASH_DUMP_COMPRESS_GZIP + tristate "Crash dump GZIP compression" + select ZLIB_INFLATE + select ZLIB_DEFLATE + depends on CRASH_DUMP + help + Say Y to allow saving dumps with Gnu Zip compression. + config EARLY_PRINTK bool "Early printk" if EMBEDDED default y @@ -15,9 +67,28 @@ config EARLY_PRINTK with klogd/syslogd or the X server. You should normally N here, unless you want to debug such a crash. -config DEBUG_STACKOVERFLOW - bool "Check for stack overflows" - depends on DEBUG_KERNEL +config X86_FIND_SMP_CONFIG + bool + depends on X86_LOCAL_APIC || X86_VOYAGER + default y + +config X86_MPPARSE + bool + depends on X86_LOCAL_APIC && !X86_VISWS + default y + +config EARLY_PRINTK + bool "Early printk" if EMBEDDED + default y + help + Write kernel log output directly into the VGA buffer or to a serial + port. + + This is useful for kernel debugging when your machine crashes very + early before the console code is initialized. For normal operation + it is not recommended because it looks ugly and doesn't cooperate + with klogd/syslogd or the X server. You should normally N here, + unless you want to debug such a crash. config KPROBES bool "Kprobes" @@ -29,6 +100,18 @@ config KPROBES for kernel debugging, non-intrusive instrumentation and testing. If in doubt, say "N". +config DEBUG_PAGEALLOC + bool "Page alloc debugging" + depends on DEBUG_KERNEL + help + Unmap pages from the kernel linear mapping after free_pages(). + This results in a large slowdown, but helps to find certain types + of memory corruptions. + +config DEBUG_STACKOVERFLOW + bool "Check for stack overflows" + depends on DEBUG_KERNEL + config DEBUG_STACK_USAGE bool "Stack utilization instrumentation" depends on DEBUG_KERNEL @@ -38,6 +121,57 @@ config DEBUG_STACK_USAGE This option will slow down process creation somewhat. +config IRQSTACKS + bool "Use separate IRQ stacks" + help + This option subsumes the IRQ stack implementation of the orig. 4KSTACK + support. You must use this if you select 4KB stacks! + +config STACK_SIZE_SHIFT + int "Kernel stack size (12 => 4KB, 13 => 8KB, 14 => 16KB)" + range 12 14 + default 12 if IRQSTACKS + default 13 + help + Select kernel stack size. 4KB stacks are best as they let + the system scale further. Use 8KB stacks if you have an + experimental kernel where a stack overlow with a 4KB stack + might occur. Use 16KB stacks if you want to safely support + Windows device drivers using either Linuxant or ndiswrapper. + +config STACK_WARN + int "Print stack trace when stack grows beyond specified bytes" + default 4096 if IRQSTACKS + default 4096 + help + The kernel will print a stack trace when the current stack exceeds + the specified size. + +config X86_STACK_CHECK + bool "Check for stack overflows" + default n + help + Say Y here to have the kernel attempt to detect when the per-task + kernel stack overflows. + + Some older versions of gcc don't handle the -p option correctly. + Kernprof is affected by the same problem, which is described here: + http://oss.sgi.com/projects/kernprof/faq.html#Q9 + + Basically, if you get oopses in __free_pages_ok during boot when + you have this turned on, you need to fix gcc. The Redhat 2.96 + version and gcc-3.x seem to work. + + If not debugging a stack overflow problem, say N + +config STACK_PANIC + int "Panic when stack approaches with specified bytes of the stack limit" + depends on X86_STACK_CHECK + default 512 if IRQSTACKS + default 512 + help + Panic if the stack grows to within specified byte range. + config DEBUG_PAGEALLOC bool "Page alloc debugging" depends on DEBUG_KERNEL @@ -46,15 +180,6 @@ config DEBUG_PAGEALLOC This results in a large slowdown, but helps to find certain types of memory corruptions. -config 4KSTACKS - bool "Use 4Kb for kernel stacks instead of 8Kb" - help - If you say Y here the kernel will use a 4Kb stacksize for the - kernel stack attached to each process/thread. This facilitates - running more threads on a system and also reduces the pressure - on the VM subsystem for higher order allocations. This option - will also use IRQ stacks to compensate for the reduced stackspace. - config SCHEDSTATS bool "Collect scheduler statistics" depends on DEBUG_KERNEL && PROC_FS diff --git a/arch/i386/Kconfig.debug~ b/arch/i386/Kconfig.debug~ deleted file mode 100644 index a4bd1523e..000000000 --- a/arch/i386/Kconfig.debug~ +++ /dev/null @@ -1,71 +0,0 @@ -menu "Kernel hacking" - -source "lib/Kconfig.debug" - -config EARLY_PRINTK - bool "Early printk" if EMBEDDED - default y - help - Write kernel log output directly into the VGA buffer or to a serial - port. - - This is useful for kernel debugging when your machine crashes very - early before the console code is initialized. For normal operation - it is not recommended because it looks ugly and doesn't cooperate - with klogd/syslogd or the X server. You should normally N here, - unless you want to debug such a crash. - -config DEBUG_STACKOVERFLOW - bool "Check for stack overflows" - depends on DEBUG_KERNEL - -config KPROBES - bool "Kprobes" - depends on DEBUG_KERNEL - help - Kprobes allows you to trap at almost any kernel address and - execute a callback function. register_kprobe() establishes - a probepoint and specifies the callback. Kprobes is useful - for kernel debugging, non-intrusive instrumentation and testing. - If in doubt, say "N". - -config DEBUG_STACK_USAGE - bool "Stack utilization instrumentation" - depends on DEBUG_KERNEL - help - Enables the display of the minimum amount of free stack which each - task has ever had available in the sysrq-T and sysrq-P debug output. - - This option will slow down process creation somewhat. - -config DEBUG_PAGEALLOC - bool "Page alloc debugging" - depends on DEBUG_KERNEL - help - Unmap pages from the kernel linear mapping after free_pages(). - This results in a large slowdown, but helps to find certain types - of memory corruptions. - -config SCHEDSTATS - bool "Collect scheduler statistics" - depends on DEBUG_KERNEL && PROC_FS - help - If you say Y here, additional code will be inserted into the - scheduler and related routines to collect statistics about - scheduler behavior and provide them in /proc/schedstat. These - stats may be useful for both tuning and debugging the scheduler - If you aren't debugging the scheduler or trying to tune a specific - application, you can say N to avoid the very slight overhead - this adds. - -config X86_FIND_SMP_CONFIG - bool - depends on X86_LOCAL_APIC || X86_VOYAGER - default y - -config X86_MPPARSE - bool - depends on X86_LOCAL_APIC && !X86_VISWS - default y - -endmenu diff --git a/arch/i386/Makefile b/arch/i386/Makefile index acecbae0f..4c7b1e74a 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile @@ -18,48 +18,47 @@ LDFLAGS := -m elf_i386 OBJCOPYFLAGS := -O binary -R .note -R .comment -S LDFLAGS_vmlinux := -CHECK := $(CHECK) -D__i386__=1 +CHECKFLAGS += -D__i386__ CFLAGS += -pipe -msoft-float -m32 -fno-builtin-sprintf -fno-builtin-log2 -fno-builtin-puts # prevent gcc from keeping the stack 16 byte aligned -CFLAGS += $(call check_gcc,-mpreferred-stack-boundary=2,) - -align := $(subst -functions=0,,$(call check_gcc,-falign-functions=0,-malign-functions=0)) +CFLAGS += $(call cc-option,-mpreferred-stack-boundary=2) +align := $(subst -functions=0,,$(call cc-option,-falign-functions=0,-malign-functions=0)) cflags-$(CONFIG_M386) += -march=i386 cflags-$(CONFIG_M486) += -march=i486 cflags-$(CONFIG_M586) += -march=i586 cflags-$(CONFIG_M586TSC) += -march=i586 -cflags-$(CONFIG_M586MMX) += $(call check_gcc,-march=pentium-mmx,-march=i586) +cflags-$(CONFIG_M586MMX) += $(call cc-option,-march=pentium-mmx,-march=i586) cflags-$(CONFIG_M686) += -march=i686 -cflags-$(CONFIG_MPENTIUMII) += $(call check_gcc,-march=pentium2,-march=i686) -cflags-$(CONFIG_MPENTIUMIII) += $(call check_gcc,-march=pentium3,-march=i686) -cflags-$(CONFIG_MPENTIUMM) += $(call check_gcc,-march=pentium3,-march=i686) -cflags-$(CONFIG_MPENTIUM4) += $(call check_gcc,-march=pentium4,-march=i686) +cflags-$(CONFIG_MPENTIUMII) += $(call cc-option,-march=pentium2,-march=i686) +cflags-$(CONFIG_MPENTIUMIII) += $(call cc-option,-march=pentium3,-march=i686) +cflags-$(CONFIG_MPENTIUMM) += $(call cc-option,-march=pentium3,-march=i686) +cflags-$(CONFIG_MPENTIUM4) += $(call cc-option,-march=pentium4,-march=i686) cflags-$(CONFIG_MK6) += -march=k6 # Please note, that patches that add -march=athlon-xp and friends are pointless. # They make zero difference whatsosever to performance at this time. -cflags-$(CONFIG_MK7) += $(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4) -cflags-$(CONFIG_MK8) += $(call check_gcc,-march=k8,$(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4)) +cflags-$(CONFIG_MK7) += $(call cc-option,-march=athlon,-march=i686 $(align)-functions=4) +cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8,$(call cc-option,-march=athlon,-march=i686 $(align)-functions=4)) cflags-$(CONFIG_MCRUSOE) += -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 -cflags-$(CONFIG_MWINCHIPC6) += $(call check_gcc,-march=winchip-c6,-march=i586) -cflags-$(CONFIG_MWINCHIP2) += $(call check_gcc,-march=winchip2,-march=i586) -cflags-$(CONFIG_MWINCHIP3D) += $(call check_gcc,-march=winchip2,-march=i586) -cflags-$(CONFIG_MCYRIXIII) += $(call check_gcc,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 -cflags-$(CONFIG_MVIAC3_2) += $(call check_gcc,-march=c3-2,-march=i686) +cflags-$(CONFIG_MWINCHIPC6) += $(call cc-option,-march=winchip-c6,-march=i586) +cflags-$(CONFIG_MWINCHIP2) += $(call cc-option,-march=winchip2,-march=i586) +cflags-$(CONFIG_MWINCHIP3D) += $(call cc-option,-march=winchip2,-march=i586) +cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 +cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686) # AMD Elan support cflags-$(CONFIG_X86_ELAN) += -march=i486 # -mregparm=3 works ok on gcc-3.0 and later # -GCC_VERSION := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC)) +GCC_VERSION := $(call cc-version) cflags-$(CONFIG_REGPARM) += $(shell if [ $(GCC_VERSION) -ge 0300 ] ; then echo "-mregparm=3"; fi ;) # Disable unit-at-a-time mode, it makes gcc use a lot more stack # due to the lack of sharing of stacklots. -CFLAGS += $(call check_gcc,-fno-unit-at-a-time,) +CFLAGS += $(call cc-option,-fno-unit-at-a-time) CFLAGS += $(cflags-y) diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile index feb561e9a..dce0275dd 100644 --- a/arch/i386/boot/Makefile +++ b/arch/i386/boot/Makefile @@ -29,9 +29,9 @@ targets := vmlinux.bin bootsect bootsect.o setup setup.o \ zImage bzImage subdir- := compressed -host-progs := tools/build +hostprogs-y := tools/build -HOSTCFLAGS_build.o := -Iinclude +HOSTCFLAGS_build.o := $(LINUXINCLUDE) # --------------------------------------------------------------------------- diff --git a/arch/i386/boot/edd.S b/arch/i386/boot/edd.S index 889790693..e74958fa1 100644 --- a/arch/i386/boot/edd.S +++ b/arch/i386/boot/edd.S @@ -1,5 +1,6 @@ /* * BIOS Enhanced Disk Drive support + * Copyright (C) 2002, 2003, 2004 Dell, Inc. * by Matt Domsch October 2002 * conformant to T13 Committee www.t13.org * projects 1572D, 1484D, 1386D, 1226DT @@ -7,14 +8,52 @@ * and Andrew Wilks September 2003, June 2004 * legacy CHS retreival by Patrick J. LoPresti * March 2004 + * Command line option parsing, Matt Domsch, November 2004 */ #include +#include #if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE) + movb $0, (EDD_MBR_SIG_NR_BUF) # zero value at EDD_MBR_SIG_NR_BUF + movb $0, (EDDNR) # zero value at EDDNR + +# Check the command line for two options: +# edd=of disables EDD completely (edd=off) +# edd=sk skips the MBR test (edd=skipmbr) + pushl %esi + cmpl $0, %cs:cmd_line_ptr + jz done_cl + movl %cs:(cmd_line_ptr), %esi +# ds:esi has the pointer to the command line now + movl $(COMMAND_LINE_SIZE-6), %ecx +# loop through kernel command line one byte at a time +cl_loop: + cmpl $EDD_CL_EQUALS, (%si) + jz found_edd_equals + incl %esi + loop cl_loop + jmp done_cl +found_edd_equals: +# only looking at first two characters after equals + addl $4, %esi + cmpw $EDD_CL_OFF, (%si) # edd=of + jz do_edd_off + cmpw $EDD_CL_SKIP, (%si) # edd=sk + jz do_edd_skipmbr + jmp done_cl +do_edd_skipmbr: + popl %esi + jmp edd_start +do_edd_off: + popl %esi + jmp edd_done +done_cl: + popl %esi + + # Read the first sector of each BIOS disk device and store the 4-byte signature edd_mbr_sig_start: - movb $0, (EDD_MBR_SIG_NR_BUF) # zero value at EDD_MBR_SIG_NR_BUF movb $0x80, %dl # from device 80 movw $EDD_MBR_SIG_BUF, %bx # store buffer ptr in bx edd_mbr_sig_read: @@ -76,7 +115,6 @@ edd_start: # result buffer for fn48 movw $EDDBUF+EDDEXTSIZE, %si # in ds:si, fn41 results # kept just before that - movb $0, (EDDNR) # zero value at EDDNR movb $0x80, %dl # BIOS device 0x80 edd_check_ext: diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S index 5dfd82f17..5623e821f 100644 --- a/arch/i386/boot/setup.S +++ b/arch/i386/boot/setup.S @@ -156,7 +156,7 @@ cmd_line_ptr: .long 0 # (Header version 0x0202 or later) # can be located anywhere in # low memory 0x10000 or higher. -ramdisk_max: .long (__MAXMEM-1) & 0x7fffffff +ramdisk_max: .long (-__PAGE_OFFSET-(512 << 20)-1) & 0x7fffffff # (Header version 0x0203 or later) # The highest safe address for # the contents of an initrd diff --git a/arch/i386/boot/video.S b/arch/i386/boot/video.S index f81130fae..2f275235d 100644 --- a/arch/i386/boot/video.S +++ b/arch/i386/boot/video.S @@ -236,6 +236,41 @@ mopar_gr: xorl %eax, %eax movw 18(%di), %ax movl %eax, %fs:(PARAM_LFB_SIZE) + +# switching the DAC to 8-bit is for <= 8 bpp only + movw %fs:(PARAM_LFB_DEPTH), %ax + cmpw $8, %ax + jg dac_done + +# get DAC switching capability + xorl %eax, %eax + movb 10(%di), %al + testb $1, %al + jz dac_set + +# attempt to switch DAC to 8-bit + movw $0x4f08, %ax + movw $0x0800, %bx + int $0x10 + cmpw $0x004f, %ax + jne dac_set + movb %bh, dac_size # store actual DAC size + +dac_set: +# set color size to DAC size + movb dac_size, %al + movb %al, %fs:(PARAM_LFB_COLORS+0) + movb %al, %fs:(PARAM_LFB_COLORS+2) + movb %al, %fs:(PARAM_LFB_COLORS+4) + movb %al, %fs:(PARAM_LFB_COLORS+6) + +# set color offsets to 0 + movb $0, %fs:(PARAM_LFB_COLORS+1) + movb $0, %fs:(PARAM_LFB_COLORS+3) + movb $0, %fs:(PARAM_LFB_COLORS+5) + movb $0, %fs:(PARAM_LFB_COLORS+7) + +dac_done: # get protected mode interface informations movw $0x4f0a, %ax xorw %bx, %bx @@ -1905,7 +1940,7 @@ store_edid: movl $0x13131313, %eax # memset block with 0x13 movw $32, %cx - movw $0x440, %di + movw $0x140, %di cld rep stosl @@ -1914,7 +1949,7 @@ store_edid: movw $0x01, %bx movw $0x00, %cx movw $0x01, %dx - movw $0x440, %di + movw $0x140, %di int $0x10 popw %di # restore all registers @@ -1933,6 +1968,7 @@ scanning: .byte 0 # Performing mode scan do_restore: .byte 0 # Screen contents altered during mode change svga_prefix: .byte VIDEO_FIRST_BIOS>>8 # Default prefix for BIOS modes graphic_mode: .byte 0 # Graphic mode with a linear frame buffer +dac_size: .byte 6 # DAC bit depth # Status messages keymsg: .ascii "Press to see video modes available, " diff --git a/arch/i386/kernel/Makefile b/arch/i386/kernel/Makefile index ab1ef80d1..41fe596ed 100644 --- a/arch/i386/kernel/Makefile +++ b/arch/i386/kernel/Makefile @@ -2,12 +2,12 @@ # Makefile for the linux kernel. # -extra-y := head.o init_task.o vmlinux.lds.s +extra-y := head.o init_task.o vmlinux.lds obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o vm86.o \ ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_i386.o \ pci-dma.o i386_ksyms.o i387.o dmi_scan.o bootflag.o \ - doublefault.o entry_trampoline.o + doublefault.o obj-y += cpu/ obj-y += timers/ @@ -26,6 +26,7 @@ obj-$(CONFIG_X86_IO_APIC) += io_apic.o obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o obj-$(CONFIG_X86_NUMAQ) += numaq.o obj-$(CONFIG_X86_SUMMIT_NUMA) += summit.o +obj-$(CONFIG_KPROBES) += kprobes.o obj-$(CONFIG_MODULES) += module.o obj-y += sysenter.o vsyscall.o obj-$(CONFIG_ACPI_SRAT) += srat.o @@ -42,12 +43,15 @@ obj-$(CONFIG_SCx200) += scx200.o # Note: kbuild does not track this dependency due to usage of .incbin $(obj)/vsyscall.o: $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so targets += $(foreach F,int80 sysenter,vsyscall-$F.o vsyscall-$F.so) +targets += vsyscall.lds # The DSO images are built using a special linker script. quiet_cmd_syscall = SYSCALL $@ cmd_syscall = $(CC) -nostdlib $(SYSCFLAGS_$(@F)) \ -Wl,-T,$(filter-out FORCE,$^) -o $@ +export CPPFLAGS_vsyscall.lds += -P -C -U$(ARCH) + vsyscall-flags = -m32 -shared -s -Wl,-soname=linux-gate.so.1 SYSCFLAGS_vsyscall-sysenter.so = $(vsyscall-flags) SYSCFLAGS_vsyscall-int80.so = $(vsyscall-flags) diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index a85d8f707..8a0536250 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c @@ -71,6 +71,7 @@ int acpi_ht __initdata = 1; /* enable HT */ int acpi_lapic; int acpi_ioapic; int acpi_strict; +EXPORT_SYMBOL(acpi_strict); acpi_interrupt_flags acpi_sci_flags __initdata; int acpi_sci_override_gsi __initdata; @@ -84,6 +85,11 @@ static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; #warning ACPI uses CMPXCHG, i486 and later hardware #endif +#define MAX_MADT_ENTRIES 256 +u8 x86_acpiid_to_apicid[MAX_MADT_ENTRIES] = + { [0 ... MAX_MADT_ENTRIES-1] = 0xff }; +EXPORT_SYMBOL(x86_acpiid_to_apicid); + /* -------------------------------------------------------------------------- Boot-time Configuration -------------------------------------------------------------------------- */ @@ -225,6 +231,8 @@ acpi_parse_lapic ( if (processor->flags.enabled == 0) return 0; + x86_acpiid_to_apicid[processor->acpi_id] = processor->id; + mp_register_lapic ( processor->id, /* APIC ID */ processor->flags.enabled); /* Enabled? */ @@ -484,7 +492,7 @@ acpi_scan_rsdp ( * RSDP signature. */ for (offset = 0; offset < length; offset += 16) { - if (strncmp((char *) __va(start + offset), "RSD PTR ", sig_len)) + if (strncmp((char *) (start + offset), "RSD PTR ", sig_len)) continue; return (start + offset); } @@ -822,9 +830,15 @@ acpi_boot_init (void) */ error = acpi_blacklisted(); if (error) { - printk(KERN_WARNING PREFIX "BIOS listed in blacklist, disabling ACPI support\n"); - disable_acpi(); - return error; + extern int acpi_force; + + if (acpi_force) { + printk(KERN_WARNING PREFIX "acpi=force override\n"); + } else { + printk(KERN_WARNING PREFIX "Disabling ACPI support\n"); + disable_acpi(); + return error; + } } /* diff --git a/arch/i386/kernel/acpi/sleep.c b/arch/i386/kernel/acpi/sleep.c index 629f7b852..2a12d12e3 100644 --- a/arch/i386/kernel/acpi/sleep.c +++ b/arch/i386/kernel/acpi/sleep.c @@ -19,29 +19,13 @@ extern void zap_low_mappings(void); extern unsigned long FASTCALL(acpi_copy_wakeup_routine(unsigned long)); -static void map_low(pgd_t *pgd_base, unsigned long start, unsigned long end) +static void init_low_mapping(pgd_t *pgd, int pgd_limit) { - unsigned long vaddr; - pmd_t *pmd; - pgd_t *pgd; - int i, j; - - pgd = pgd_base; - - for (i = 0; i < PTRS_PER_PGD; pgd++, i++) { - vaddr = i*PGDIR_SIZE; - if (end && (vaddr >= end)) - break; - pmd = pmd_offset(pgd, 0); - for (j = 0; j < PTRS_PER_PMD; pmd++, j++) { - vaddr = i*PGDIR_SIZE + j*PMD_SIZE; - if (end && (vaddr >= end)) - break; - if (vaddr < start) - continue; - set_pmd(pmd, __pmd(_KERNPG_TABLE + _PAGE_PSE + - vaddr - start)); - } + int pgd_ofs = 0; + + while ((pgd_ofs < pgd_limit) && (pgd_ofs + USER_PTRS_PER_PGD < PTRS_PER_PGD)) { + set_pgd(pgd, *(pgd+USER_PTRS_PER_PGD)); + pgd_ofs++, pgd++; } } @@ -55,9 +39,7 @@ int acpi_save_state_mem (void) { if (!acpi_wakeup_address) return 1; - if (!cpu_has_pse) - return 1; - map_low(swapper_pg_dir, 0, LOW_MAPPINGS_SIZE); + init_low_mapping(swapper_pg_dir, USER_PTRS_PER_PGD); memcpy((void *) acpi_wakeup_address, &wakeup_start, &wakeup_end - &wakeup_start); acpi_copy_wakeup_routine(acpi_wakeup_address); @@ -95,10 +77,7 @@ void __init acpi_reserve_bootmem(void) printk(KERN_ERR "ACPI: Wakeup code way too big, S3 disabled.\n"); return; } -#ifdef CONFIG_X86_PAE - printk(KERN_ERR "ACPI: S3 and PAE do not like each other for now, S3 disabled.\n"); - return; -#endif + acpi_wakeup_address = (unsigned long)alloc_bootmem_low(PAGE_SIZE); if (!acpi_wakeup_address) printk(KERN_ERR "ACPI: Cannot allocate lowmem, S3 disabled.\n"); diff --git a/arch/i386/kernel/acpi/wakeup.S b/arch/i386/kernel/acpi/wakeup.S index c43349a31..2c5de1d7f 100644 --- a/arch/i386/kernel/acpi/wakeup.S +++ b/arch/i386/kernel/acpi/wakeup.S @@ -67,13 +67,6 @@ wakeup_code: movw $0x0e00 + 'i', %fs:(0x12) # need a gdt - #use the gdt copied in this low mem - lea temp_gdt_table - wakeup_code, %eax - xor %ebx, %ebx - movw %ds, %bx - shll $4, %ebx - addl %ebx, %eax - movl %eax, real_save_gdt + 2 - wakeup_code lgdt real_save_gdt - wakeup_code movl real_save_cr0 - wakeup_code, %eax @@ -96,7 +89,6 @@ real_save_cr4: .long 0 real_magic: .long 0 video_mode: .long 0 video_flags: .long 0 -temp_gdt_table: .fill GDT_ENTRIES, 8, 0 bogus_real_magic: movw $0x0e00 + 'B', %fs:(0x12) @@ -239,13 +231,6 @@ ENTRY(acpi_copy_wakeup_routine) movl %edx, real_save_cr0 - wakeup_start (%eax) sgdt real_save_gdt - wakeup_start (%eax) - # gdt wont be addressable from real mode in 4g4g split - # copying it to the lower mem - xor %ecx, %ecx - movw saved_gdt, %cx - movl saved_gdt + 2, %esi - lea temp_gdt_table - wakeup_start (%eax), %edi - rep movsb movl saved_videomode, %edx movl %edx, video_mode - wakeup_start (%eax) movl acpi_video_flags, %edx diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index eb4d41628..61db30b7e 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c @@ -39,6 +39,12 @@ #include "io_ports.h" +/* + * Debug level + */ +int apic_verbosity; + + static void apic_pm_activate(void); void __init apic_intr_init(void) @@ -85,7 +91,7 @@ int get_physical_broadcast(void) unsigned int lvr, version; lvr = apic_read(APIC_LVR); version = GET_APIC_VERSION(lvr); - if (version >= 0x14) + if (!APIC_INTEGRATED(version) || version >= 0x14) return 0xff; else return 0xf; @@ -173,7 +179,8 @@ void __init connect_bsp_APIC(void) * PIC mode, enable APIC mode in the IMCR, i.e. * connect BSP's local APIC to INT and NMI lines. */ - printk("leaving PIC mode, enabling APIC mode.\n"); + apic_printk(APIC_VERBOSE, "leaving PIC mode, " + "enabling APIC mode.\n"); outb(0x70, 0x22); outb(0x01, 0x23); } @@ -189,7 +196,8 @@ void disconnect_bsp_APIC(void) * interrupts, including IPIs, won't work beyond * this point! The only exception are INIT IPIs. */ - printk("disabling APIC mode, entering PIC mode.\n"); + apic_printk(APIC_VERBOSE, "disabling APIC mode, " + "entering PIC mode.\n"); outb(0x70, 0x22); outb(0x00, 0x23); } @@ -260,10 +268,10 @@ int __init verify_local_APIC(void) * The version register is read-only in a real APIC. */ reg0 = apic_read(APIC_LVR); - Dprintk("Getting VERSION: %x\n", reg0); + apic_printk(APIC_DEBUG, "Getting VERSION: %x\n", reg0); apic_write(APIC_LVR, reg0 ^ APIC_LVR_MASK); reg1 = apic_read(APIC_LVR); - Dprintk("Getting VERSION: %x\n", reg1); + apic_printk(APIC_DEBUG, "Getting VERSION: %x\n", reg1); /* * The two version reads above should print the same @@ -287,7 +295,7 @@ int __init verify_local_APIC(void) * The ID register is read/write in a real APIC. */ reg0 = apic_read(APIC_ID); - Dprintk("Getting ID: %x\n", reg0); + apic_printk(APIC_DEBUG, "Getting ID: %x\n", reg0); /* * The next two are just to see if we have sane values. @@ -295,9 +303,9 @@ int __init verify_local_APIC(void) * compatibility mode, but most boxes are anymore. */ reg0 = apic_read(APIC_LVT0); - Dprintk("Getting LVT0: %x\n", reg0); + apic_printk(APIC_DEBUG, "Getting LVT0: %x\n", reg0); reg1 = apic_read(APIC_LVT1); - Dprintk("Getting LVT1: %x\n", reg1); + apic_printk(APIC_DEBUG, "Getting LVT1: %x\n", reg1); return 1; } @@ -309,7 +317,7 @@ void __init sync_Arb_IDs(void) */ apic_wait_icr_idle(); - Dprintk("Synchronizing Arb IDs.\n"); + apic_printk(APIC_DEBUG, "Synchronizing Arb IDs.\n"); apic_write_around(APIC_ICR, APIC_DEST_ALLINC | APIC_INT_LEVELTRIG | APIC_DM_INIT); } @@ -365,7 +373,7 @@ void __init init_bsp_APIC(void) void __init setup_local_APIC (void) { - unsigned long value, ver, maxlvt; + unsigned long oldvalue, value, ver, maxlvt; /* Pound the ESR really hard over the head with a big hammer - mbligh */ if (esr_disable) { @@ -457,10 +465,12 @@ void __init setup_local_APIC (void) value = apic_read(APIC_LVT0) & APIC_LVT_MASKED; if (!smp_processor_id() && (pic_mode || !value)) { value = APIC_DM_EXTINT; - printk("enabled ExtINT on CPU#%d\n", smp_processor_id()); + apic_printk(APIC_VERBOSE, "enabled ExtINT on CPU#%d\n", + smp_processor_id()); } else { value = APIC_DM_EXTINT | APIC_LVT_MASKED; - printk("masked ExtINT on CPU#%d\n", smp_processor_id()); + apic_printk(APIC_VERBOSE, "masked ExtINT on CPU#%d\n", + smp_processor_id()); } apic_write_around(APIC_LVT0, value); @@ -479,8 +489,7 @@ void __init setup_local_APIC (void) maxlvt = get_maxlvt(); if (maxlvt > 3) /* Due to the Pentium erratum 3AP. */ apic_write(APIC_ESR, 0); - value = apic_read(APIC_ESR); - printk("ESR value before enabling vector: %08lx\n", value); + oldvalue = apic_read(APIC_ESR); value = ERROR_APIC_VECTOR; // enables sending errors apic_write_around(APIC_LVTERR, value); @@ -490,7 +499,10 @@ void __init setup_local_APIC (void) if (maxlvt > 3) apic_write(APIC_ESR, 0); value = apic_read(APIC_ESR); - printk("ESR value after enabling vector: %08lx\n", value); + if (value != oldvalue) + apic_printk(APIC_VERBOSE, "ESR value before enabling " + "vector: 0x%08lx after: 0x%08lx\n", + oldvalue, value); } else { if (esr_disable) /* @@ -665,6 +677,21 @@ static int __init lapic_enable(char *str) } __setup("lapic", lapic_enable); +static int __init apic_set_verbosity(char *str) +{ + if (strcmp("debug", str) == 0) + apic_verbosity = APIC_DEBUG; + else if (strcmp("verbose", str) == 0) + apic_verbosity = APIC_VERBOSE; + else + printk(KERN_WARNING "APIC Verbosity level %s not recognised" + " use apic=verbose or apic=debug", str); + + return 0; +} + +__setup("apic=", apic_set_verbosity); + static int __init detect_init_APIC (void) { u32 h, l, features; @@ -694,6 +721,12 @@ static int __init detect_init_APIC (void) } if (!cpu_has_apic) { + /* + * Over-ride BIOS and try to enable LAPIC + * only if "lapic" specified + */ + if (enable_local_apic != 1) + goto no_apic; /* * Some BIOSes disable the local APIC in the * APIC_BASE MSR. This can only be done in @@ -701,7 +734,8 @@ static int __init detect_init_APIC (void) */ rdmsr(MSR_IA32_APICBASE, l, h); if (!(l & MSR_IA32_APICBASE_ENABLE)) { - printk("Local APIC disabled by BIOS -- reenabling.\n"); + apic_printk(APIC_VERBOSE, "Local APIC disabled " + "by BIOS -- reenabling.\n"); l &= ~MSR_IA32_APICBASE_BASE; l |= MSR_IA32_APICBASE_ENABLE | APIC_DEFAULT_PHYS_BASE; wrmsr(MSR_IA32_APICBASE, l, h); @@ -728,7 +762,7 @@ static int __init detect_init_APIC (void) if (nmi_watchdog != NMI_NONE) nmi_watchdog = NMI_LOCAL_APIC; - printk("Found and enabled local APIC!\n"); + apic_printk(APIC_VERBOSE, "Found and enabled local APIC!\n"); apic_pm_activate(); @@ -755,7 +789,8 @@ void __init init_apic_mappings(void) apic_phys = mp_lapic_addr; set_fixmap_nocache(FIX_APIC_BASE, apic_phys); - Dprintk("mapped APIC to %08lx (%08lx)\n", APIC_BASE, apic_phys); + apic_printk(APIC_DEBUG, "mapped APIC to %08lx (%08lx)\n", APIC_BASE, + apic_phys); /* * Fetch the APIC ID of the BSP in case we have a @@ -785,7 +820,8 @@ fake_ioapic_page: ioapic_phys = __pa(ioapic_phys); } set_fixmap_nocache(idx, ioapic_phys); - Dprintk("mapped IOAPIC to %08lx (%08lx)\n", + apic_printk(APIC_DEBUG, "mapped IOAPIC to " + "%08lx (%08lx)\n", __fix_to_virt(idx), ioapic_phys); idx++; } @@ -924,7 +960,7 @@ int __init calibrate_APIC_clock(void) int i; const int LOOPS = HZ/10; - printk("calibrating APIC timer ...\n"); + apic_printk(APIC_VERBOSE, "calibrating APIC timer ...\n"); /* * Put whatever arbitrary (but long enough) timeout @@ -969,11 +1005,13 @@ int __init calibrate_APIC_clock(void) result = (tt1-tt2)*APIC_DIVISOR/LOOPS; if (cpu_has_tsc) - printk("..... CPU clock speed is %ld.%04ld MHz.\n", + apic_printk(APIC_VERBOSE, "..... CPU clock speed is " + "%ld.%04ld MHz.\n", ((long)(t2-t1)/LOOPS)/(1000000/HZ), ((long)(t2-t1)/LOOPS)%(1000000/HZ)); - printk("..... host bus clock speed is %ld.%04ld MHz.\n", + apic_printk(APIC_VERBOSE, "..... host bus clock speed is " + "%ld.%04ld MHz.\n", result/(1000000/HZ), result%(1000000/HZ)); @@ -984,7 +1022,7 @@ static unsigned int calibration_result; void __init setup_boot_APIC_clock(void) { - printk("Using local APIC timer interrupts.\n"); + apic_printk(APIC_VERBOSE, "Using local APIC timer interrupts.\n"); using_apic_timer = 1; local_irq_disable(); @@ -1069,8 +1107,7 @@ inline void smp_local_timer_interrupt(struct pt_regs * regs) { int cpu = smp_processor_id(); - x86_do_profile(regs); - + profile_tick(CPU_PROFILING, regs); if (--per_cpu(prof_counter, cpu) <= 0) { /* * The multiplier may have changed since the last time we got @@ -1189,7 +1226,7 @@ asmlinkage void smp_error_interrupt(void) 6: Received illegal vector 7: Illegal register address */ - printk (KERN_INFO "APIC error on CPU%d: %02lx(%02lx)\n", + printk (KERN_DEBUG "APIC error on CPU%d: %02lx(%02lx)\n", smp_processor_id(), v , v1); irq_exit(); } diff --git a/arch/i386/kernel/apm.c b/arch/i386/kernel/apm.c index 3b1ef4bcb..d9a80ba23 100644 --- a/arch/i386/kernel/apm.c +++ b/arch/i386/kernel/apm.c @@ -601,8 +601,8 @@ static u8 apm_bios_call(u32 func, u32 ebx_in, u32 ecx_in, cpus = apm_save_cpus(); cpu = get_cpu(); - save_desc_40 = cpu_gdt_table[cpu][0x40 / 8]; - cpu_gdt_table[cpu][0x40 / 8] = bad_bios_desc; + save_desc_40 = per_cpu(cpu_gdt_table, cpu)[0x40 / 8]; + per_cpu(cpu_gdt_table, cpu)[0x40 / 8] = bad_bios_desc; local_save_flags(flags); APM_DO_CLI; @@ -610,7 +610,7 @@ static u8 apm_bios_call(u32 func, u32 ebx_in, u32 ecx_in, apm_bios_call_asm(func, ebx_in, ecx_in, eax, ebx, ecx, edx, esi); APM_DO_RESTORE_SEGS; local_irq_restore(flags); - cpu_gdt_table[cpu][0x40 / 8] = save_desc_40; + per_cpu(cpu_gdt_table, cpu)[0x40 / 8] = save_desc_40; put_cpu(); apm_restore_cpus(cpus); @@ -644,8 +644,8 @@ static u8 apm_bios_call_simple(u32 func, u32 ebx_in, u32 ecx_in, u32 *eax) cpus = apm_save_cpus(); cpu = get_cpu(); - save_desc_40 = cpu_gdt_table[cpu][0x40 / 8]; - cpu_gdt_table[cpu][0x40 / 8] = bad_bios_desc; + save_desc_40 = per_cpu(cpu_gdt_table, cpu)[0x40 / 8]; + per_cpu(cpu_gdt_table, cpu)[0x40 / 8] = bad_bios_desc; local_save_flags(flags); APM_DO_CLI; @@ -653,7 +653,7 @@ static u8 apm_bios_call_simple(u32 func, u32 ebx_in, u32 ecx_in, u32 *eax) error = apm_bios_call_simple_asm(func, ebx_in, ecx_in, eax); APM_DO_RESTORE_SEGS; local_irq_restore(flags); - cpu_gdt_table[smp_processor_id()][0x40 / 8] = save_desc_40; + __get_cpu_var(cpu_gdt_table)[0x40 / 8] = save_desc_40; put_cpu(); apm_restore_cpus(cpus); return error; @@ -2271,10 +2271,12 @@ static int __init apm_init(void) } if ((num_online_cpus() > 1) && !power_off && !smp) { printk(KERN_NOTICE "apm: disabled - APM is not SMP safe.\n"); + apm_info.disabled = 1; return -ENODEV; } if (PM_IS_ACTIVE()) { printk(KERN_NOTICE "apm: overridden by ACPI.\n"); + apm_info.disabled = 1; return -ENODEV; } pm_active = 1; @@ -2292,35 +2294,35 @@ static int __init apm_init(void) apm_bios_entry.segment = APM_CS; for (i = 0; i < NR_CPUS; i++) { - set_base(cpu_gdt_table[i][APM_CS >> 3], + set_base(per_cpu(cpu_gdt_table, i)[APM_CS >> 3], __va((unsigned long)apm_info.bios.cseg << 4)); - set_base(cpu_gdt_table[i][APM_CS_16 >> 3], + set_base(per_cpu(cpu_gdt_table, i)[APM_CS_16 >> 3], __va((unsigned long)apm_info.bios.cseg_16 << 4)); - set_base(cpu_gdt_table[i][APM_DS >> 3], + set_base(per_cpu(cpu_gdt_table, i)[APM_DS >> 3], __va((unsigned long)apm_info.bios.dseg << 4)); #ifndef APM_RELAX_SEGMENTS if (apm_info.bios.version == 0x100) { #endif /* For ASUS motherboard, Award BIOS rev 110 (and others?) */ - _set_limit((char *)&cpu_gdt_table[i][APM_CS >> 3], 64 * 1024 - 1); + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 - 1); /* For some unknown machine. */ - _set_limit((char *)&cpu_gdt_table[i][APM_CS_16 >> 3], 64 * 1024 - 1); + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS_16 >> 3], 64 * 1024 - 1); /* For the DEC Hinote Ultra CT475 (and others?) */ - _set_limit((char *)&cpu_gdt_table[i][APM_DS >> 3], 64 * 1024 - 1); + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_DS >> 3], 64 * 1024 - 1); #ifndef APM_RELAX_SEGMENTS } else { - _set_limit((char *)&cpu_gdt_table[i][APM_CS >> 3], + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], (apm_info.bios.cseg_len - 1) & 0xffff); - _set_limit((char *)&cpu_gdt_table[i][APM_CS_16 >> 3], + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS_16 >> 3], (apm_info.bios.cseg_16_len - 1) & 0xffff); - _set_limit((char *)&cpu_gdt_table[i][APM_DS >> 3], + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_DS >> 3], (apm_info.bios.dseg_len - 1) & 0xffff); /* workaround for broken BIOSes */ if (apm_info.bios.cseg_len <= apm_info.bios.offset) - _set_limit((char *)&cpu_gdt_table[i][APM_CS >> 3], 64 * 1024 -1); + _set_limit((char *)&per_cpu(cpu_gdt_table, i)[APM_CS >> 3], 64 * 1024 -1); if (apm_info.bios.dseg_len <= 0x40) { /* 0x40 * 4kB == 64kB */ /* for the BIOS that assumes granularity = 1 */ - cpu_gdt_table[i][APM_DS >> 3].b |= 0x800000; + per_cpu(cpu_gdt_table, i)[APM_DS >> 3].b |= 0x800000; printk(KERN_NOTICE "apm: we set the granularity of dseg.\n"); } } @@ -2360,8 +2362,15 @@ static void __exit apm_exit(void) { int error; - if (set_pm_idle) + if (set_pm_idle) { pm_idle = original_pm_idle; + /* + * We are about to unload the current idle thread pm callback + * (pm_idle), Wait for all processors to update cached/local + * copies of pm_idle before proceeding. + */ + synchronize_kernel(); + } if (((apm_info.bios.flags & APM_BIOS_DISENGAGED) == 0) && (apm_info.connection_version > 0x0100)) { error = apm_engage_power_management(APM_DEVICE_ALL, 0); diff --git a/arch/i386/kernel/asm-offsets.c b/arch/i386/kernel/asm-offsets.c index b03f579a6..5b99b583b 100644 --- a/arch/i386/kernel/asm-offsets.c +++ b/arch/i386/kernel/asm-offsets.c @@ -62,21 +62,6 @@ void foo(void) DEFINE(TSS_sysenter_esp0, offsetof(struct tss_struct, esp0) - sizeof(struct tss_struct)); - DEFINE(TI_task, offsetof (struct thread_info, task)); - DEFINE(TI_exec_domain, offsetof (struct thread_info, exec_domain)); - DEFINE(TI_flags, offsetof (struct thread_info, flags)); - DEFINE(TI_preempt_count, offsetof (struct thread_info, preempt_count)); - DEFINE(TI_addr_limit, offsetof (struct thread_info, addr_limit)); - DEFINE(TI_sysenter_return, - offsetof (struct thread_info, sysenter_return)); - DEFINE(TI_real_stack, offsetof (struct thread_info, real_stack)); - DEFINE(TI_virtual_stack, offsetof (struct thread_info, virtual_stack)); - DEFINE(TI_user_pgd, offsetof (struct thread_info, user_pgd)); - - DEFINE(FIX_ENTRY_TRAMPOLINE_0_addr, - __fix_to_virt(FIX_ENTRY_TRAMPOLINE_0)); - DEFINE(FIX_VSYSCALL_addr, __fix_to_virt(FIX_VSYSCALL)); DEFINE(PAGE_SIZE_asm, PAGE_SIZE); - DEFINE(task_thread_db7, - offsetof (struct task_struct, thread.debugreg[7])); + DEFINE(VSYSCALL_BASE, __fix_to_virt(FIX_VSYSCALL)); } diff --git a/arch/i386/kernel/cpu/Makefile b/arch/i386/kernel/cpu/Makefile index bcc15802e..010aecfff 100644 --- a/arch/i386/kernel/cpu/Makefile +++ b/arch/i386/kernel/cpu/Makefile @@ -8,7 +8,7 @@ obj-y += amd.o obj-y += cyrix.o obj-y += centaur.o obj-y += transmeta.o -obj-y += intel.o +obj-y += intel.o intel_cacheinfo.o obj-y += rise.o obj-y += nexgen.o obj-y += umc.o diff --git a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c index 4f304738d..2923e9517 100644 --- a/arch/i386/kernel/cpu/common.c +++ b/arch/i386/kernel/cpu/common.c @@ -2,6 +2,8 @@ #include #include #include +#include +#include #include #include #include @@ -11,6 +13,9 @@ #include "cpu.h" +DEFINE_PER_CPU(struct desc_struct, cpu_gdt_table[GDT_ENTRIES]); +EXPORT_PER_CPU_SYMBOL(cpu_gdt_table); + static int cachesize_override __initdata = -1; static int disable_x86_fxsr __initdata = 0; static int disable_x86_serial_nr __initdata = 1; @@ -380,7 +385,9 @@ void __init identify_cpu(struct cpuinfo_x86 *c) clear_bit(X86_FEATURE_PSE, c->x86_capability); /* hack: disable SEP for non-NX cpus; SEP breaks Execshield. */ + #ifdef CONFIG_HIGHMEM64G if (!test_bit(X86_FEATURE_NX, c->x86_capability)) + #endif clear_bit(X86_FEATURE_SEP, c->x86_capability); /* If the model name is still unset, do table lookup. */ @@ -505,7 +512,7 @@ void __init early_cpu_init(void) void __init cpu_init (void) { int cpu = smp_processor_id(); - struct tss_struct * t = init_tss + cpu; + struct tss_struct * t = &per_cpu(init_tss, cpu); struct thread_struct *thread = ¤t->thread; if (test_and_set_bit(cpu, &cpu_initialized)) { @@ -527,15 +534,17 @@ void __init cpu_init (void) * Initialize the per-CPU GDT with the boot GDT, * and set up the GDT descriptor: */ - if (cpu) { - memcpy(cpu_gdt_table[cpu], cpu_gdt_table[0], GDT_SIZE); - cpu_gdt_descr[cpu].size = GDT_SIZE - 1; - cpu_gdt_descr[cpu].address = (unsigned long)cpu_gdt_table[cpu]; - } + memcpy(&per_cpu(cpu_gdt_table, cpu), cpu_gdt_table, + GDT_SIZE); + cpu_gdt_descr[cpu].size = GDT_SIZE - 1; + cpu_gdt_descr[cpu].address = + (unsigned long)&per_cpu(cpu_gdt_table, cpu); + /* * Set up the per-thread TLS descriptor cache: */ - memcpy(thread->tls_array, cpu_gdt_table[cpu], GDT_ENTRY_TLS_ENTRIES * 8); + memcpy(thread->tls_array, &per_cpu(cpu_gdt_table, cpu), + GDT_ENTRY_TLS_ENTRIES * 8); __asm__ __volatile__("lgdt %0" : : "m" (cpu_gdt_descr[cpu])); __asm__ __volatile__("lidt %0" : : "m" (idt_descr)); @@ -556,17 +565,11 @@ void __init cpu_init (void) load_esp0(t, thread); set_tss_desc(cpu,t); - cpu_gdt_table[cpu][GDT_ENTRY_TSS].b &= 0xfffffdff; load_TR_desc(); - if (cpu) - load_LDT(&init_mm.context); + load_LDT(&init_mm.context); /* Set up doublefault TSS pointer in the GDT */ __set_tss_desc(cpu, GDT_ENTRY_DOUBLEFAULT_TSS, &doublefault_tss); - cpu_gdt_table[cpu][GDT_ENTRY_DOUBLEFAULT_TSS].b &= 0xfffffdff; - - if (cpu) - trap_init_virtual_GDT(); /* Clear %fs and %gs. */ asm volatile ("xorl %eax, %eax; movl %eax, %fs; movl %eax, %gs"); diff --git a/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c b/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c index fefaf45a0..1f855c54c 100644 --- a/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c +++ b/arch/i386/kernel/cpu/cpufreq/gx-suspmod.c @@ -297,6 +297,7 @@ static void gx_set_cpuspeed(unsigned int khz) case PCI_DEVICE_ID_CYRIX_5520: case PCI_DEVICE_ID_CYRIX_5510: suscfg = gx_params->pci_suscfg | SUSMOD; + break; default: local_irq_restore(flags); dprintk("fatal: try to set unknown chipset.\n"); diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c index 57c0377b4..e243f0fdd 100644 --- a/arch/i386/kernel/cpu/cpufreq/longhaul.c +++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c @@ -5,14 +5,19 @@ * Licensed under the terms of the GNU GPL License version 2. * Based upon datasheets & sample CPUs kindly provided by VIA. * - * VIA have currently 2 different versions of Longhaul. + * VIA have currently 3 different versions of Longhaul. * Version 1 (Longhaul) uses the BCR2 MSR at 0x1147. - * It is present only in Samuel 1, Samuel 2 and Ezra. - * Version 2 (Powersaver) uses the POWERSAVER MSR at 0x110a. - * It is present in Ezra-T, Nehemiah and above. - * In addition to scaling multiplier, it can also scale voltage. - * There is provision for scaling FSB too, but this doesn't work - * too well in practice. + * It is present only in Samuel 1 (C5A), Samuel 2 (C5B) stepping 0. + * Version 2 of longhaul is the same as v1, but adds voltage scaling. + * Present in Samuel 2 (steppings 1-7 only) (C5B), and Ezra (C5C) + * voltage scaling support has currently been disabled in this driver + * until we have code that gets it right. + * Version 3 of longhaul got renamed to Powersaver and redesigned + * to use the POWERSAVER MSR at 0x110a. + * It is present in Ezra-T (C5M), Nehemiah (C5X) and above. + * It's pretty much the same feature wise to longhaul v2, though + * there is provision for scaling FSB too, but this doesn't work + * too well in practice so we don't even try to use this. * * BIG FAT DISCLAIMER: Work in progress code. Possibly *dangerous* */ @@ -33,6 +38,17 @@ #define PFX "longhaul: " +#define TYPE_LONGHAUL_V1 1 +#define TYPE_LONGHAUL_V2 2 +#define TYPE_POWERSAVER 3 + +#define CPU_SAMUEL 1 +#define CPU_SAMUEL2 2 +#define CPU_EZRA 3 +#define CPU_EZRA_T 4 +#define CPU_NEHEMIAH 5 + +static int cpu_model; static unsigned int numscales=16, numvscales; static unsigned int fsb; static int minvid, maxvid; @@ -68,9 +84,23 @@ static int voltage_table[32]; static unsigned int highest_speed, lowest_speed; /* kHz */ static int longhaul_version; static struct cpufreq_frequency_table *longhaul_table; +static char speedbuffer[8]; + +static char *print_speed(int speed) +{ + if (speed > 1000) { + if (speed%1000 == 0) + sprintf (speedbuffer, "%dGHz", speed/1000); + else + sprintf (speedbuffer, "%d.%dGHz", speed/1000, (speed%1000)/100); + } else + sprintf (speedbuffer, "%dMHz", speed); + + return speedbuffer; +} -static unsigned int calc_speed(int mult, int fsb) +static unsigned int calc_speed(int mult) { int khz; khz = (mult/10)*fsb; @@ -87,7 +117,7 @@ static int longhaul_get_cpu_mult(void) rdmsr (MSR_IA32_EBL_CR_POWERON, lo, hi); invalue = (lo & (1<<22|1<<23|1<<24|1<<25)) >>22; - if (longhaul_version==2 || longhaul_version==3) { + if (longhaul_version==TYPE_LONGHAUL_V2 || longhaul_version==TYPE_POWERSAVER) { if (lo & (1<<27)) invalue+=16; } @@ -95,11 +125,45 @@ static int longhaul_get_cpu_mult(void) } +static void do_powersaver(union msr_longhaul *longhaul, + unsigned int clock_ratio_index) +{ + int version; + + switch (cpu_model) { + case CPU_EZRA_T: + version = 3; + break; + case CPU_NEHEMIAH: + version = 0xf; + break; + default: + return; + } + + rdmsrl(MSR_VIA_LONGHAUL, longhaul->val); + longhaul->bits.SoftBusRatio = clock_ratio_index & 0xf; + longhaul->bits.SoftBusRatio4 = (clock_ratio_index & 0x10) >> 4; + longhaul->bits.EnableSoftBusRatio = 1; + longhaul->bits.RevisionKey = 0; + local_irq_disable(); + wrmsrl(MSR_VIA_LONGHAUL, longhaul->val); + local_irq_enable(); + __hlt(); + + rdmsrl(MSR_VIA_LONGHAUL, longhaul->val); + longhaul->bits.EnableSoftBusRatio = 0; + longhaul->bits.RevisionKey = version; + local_irq_disable(); + wrmsrl(MSR_VIA_LONGHAUL, longhaul->val); + local_irq_enable(); +} + /** * longhaul_set_cpu_frequency() * @clock_ratio_index : bitpattern of the new multiplier. * - * Sets a new clock ratio, and -if applicable- a new Front Side Bus + * Sets a new clock ratio. */ static void longhaul_setstate(unsigned int clock_ratio_index) @@ -108,79 +172,71 @@ static void longhaul_setstate(unsigned int clock_ratio_index) struct cpufreq_freqs freqs; union msr_longhaul longhaul; union msr_bcr2 bcr2; + static unsigned int old_ratio=-1; + + if (old_ratio == clock_ratio_index) + return; + old_ratio = clock_ratio_index; mult = clock_ratio[clock_ratio_index]; if (mult == -1) return; - speed = calc_speed (mult, fsb); + speed = calc_speed(mult); if ((speed > highest_speed) || (speed < lowest_speed)) return; - freqs.old = calc_speed (longhaul_get_cpu_mult(), fsb); + freqs.old = calc_speed(longhaul_get_cpu_mult()); freqs.new = speed; freqs.cpu = 0; /* longhaul.c is UP only driver */ cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); - dprintk (KERN_INFO PFX "FSB:%d Mult:%d.%dx\n", fsb, mult/10, mult%10); + dprintk (KERN_INFO PFX "Setting to FSB:%dMHz Mult:%d.%dx (%s)\n", + fsb, mult/10, mult%10, print_speed(speed/1000)); switch (longhaul_version) { - case 1: + + /* + * Longhaul v1. (Samuel[C5A] and Samuel2 stepping 0[C5B]) + * Software controlled multipliers only. + * + * *NB* Until we get voltage scaling working v1 & v2 are the same code. + * Longhaul v2 appears in Samuel2 Steppings 1->7 [C5b] and Ezra [C5C] + */ + case TYPE_LONGHAUL_V1: + case TYPE_LONGHAUL_V2: rdmsrl (MSR_VIA_BCR2, bcr2.val); /* Enable software clock multiplier */ bcr2.bits.ESOFTBF = 1; bcr2.bits.CLOCKMUL = clock_ratio_index; + local_irq_disable(); wrmsrl (MSR_VIA_BCR2, bcr2.val); + local_irq_enable(); __hlt(); /* Disable software clock multiplier */ rdmsrl (MSR_VIA_BCR2, bcr2.val); bcr2.bits.ESOFTBF = 0; + local_irq_disable(); wrmsrl (MSR_VIA_BCR2, bcr2.val); + local_irq_enable(); break; /* - * Powersaver. (Ezra-T [C5M], Nehemiah [C5N]) + * Longhaul v3 (aka Powersaver). (Ezra-T [C5M] & Nehemiah [C5N]) * We can scale voltage with this too, but that's currently * disabled until we come up with a decent 'match freq to voltage' * algorithm. - * We also need to do the voltage/freq setting in order depending - * on the direction of scaling (like we do in powernow-k7.c) - * Ezra-T was alleged to do FSB scaling too, but it never worked in practice. + * When we add voltage scaling, we will also need to do the + * voltage/freq setting in order depending on the direction + * of scaling (like we do in powernow-k7.c) + * Nehemiah can do FSB scaling too, but this has never been proven + * to work in practice. */ - case 2: - rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - longhaul.bits.SoftBusRatio = clock_ratio_index & 0xf; - longhaul.bits.SoftBusRatio4 = (clock_ratio_index & 0x10) >> 4; - longhaul.bits.EnableSoftBusRatio = 1; - /* We must program the revision key only with values we - * know about, not blindly copy it from 0:3 */ - longhaul.bits.RevisionKey = 3; /* SoftVID & SoftBSEL */ - wrmsrl(MSR_VIA_LONGHAUL, longhaul.val); - __hlt(); - - rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - longhaul.bits.EnableSoftBusRatio = 0; - longhaul.bits.RevisionKey = 3; - wrmsrl (MSR_VIA_LONGHAUL, longhaul.val); - break; - case 3: - rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - longhaul.bits.SoftBusRatio = clock_ratio_index & 0xf; - longhaul.bits.SoftBusRatio4 = (clock_ratio_index & 0x10) >> 4; - longhaul.bits.EnableSoftBusRatio = 1; - - longhaul.bits.RevisionKey = 0x0; - - wrmsrl(MSR_VIA_LONGHAUL, longhaul.val); - __hlt(); - - rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - longhaul.bits.EnableSoftBusRatio = 0; - longhaul.bits.RevisionKey = 0xf; - wrmsrl (MSR_VIA_LONGHAUL, longhaul.val); + case TYPE_POWERSAVER: + do_powersaver(&longhaul, clock_ratio_index); break; } @@ -230,7 +286,6 @@ static int guess_fsb(void) static int __init longhaul_get_ranges(void) { - struct cpuinfo_x86 *c = cpu_data; unsigned long invalue; unsigned int multipliers[32]= { 50,30,40,100,55,35,45,95,90,70,80,60,120,75,85,65, @@ -242,58 +297,66 @@ static int __init longhaul_get_ranges(void) unsigned int eblcr_fsb_table_v2[] = { 133, 100, -1, 66 }; switch (longhaul_version) { - case 1: + case TYPE_LONGHAUL_V1: + case TYPE_LONGHAUL_V2: /* Ugh, Longhaul v1 didn't have the min/max MSRs. Assume min=3.0x & max = whatever we booted at. */ minmult = 30; maxmult = longhaul_get_cpu_mult(); rdmsr (MSR_IA32_EBL_CR_POWERON, lo, hi); invalue = (lo & (1<<18|1<<19)) >>18; - if (c->x86_model==6) + if (cpu_model==CPU_SAMUEL || cpu_model==CPU_SAMUEL2) fsb = eblcr_fsb_table_v1[invalue]; else fsb = guess_fsb(); break; - case 2: - rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - - invalue = longhaul.bits.MaxMHzBR; - if (longhaul.bits.MaxMHzBR4) - invalue += 16; - maxmult=multipliers[invalue]; - - invalue = longhaul.bits.MinMHzBR; - if (longhaul.bits.MinMHzBR4 == 1) - minmult = 30; - else - minmult = multipliers[invalue]; - - fsb = eblcr_fsb_table_v2[longhaul.bits.MaxMHzFSB]; - break; + case TYPE_POWERSAVER: + /* Ezra-T */ + if (cpu_model==CPU_EZRA_T) { + rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); + invalue = longhaul.bits.MaxMHzBR; + if (longhaul.bits.MaxMHzBR4) + invalue += 16; + maxmult=multipliers[invalue]; + + invalue = longhaul.bits.MinMHzBR; + if (longhaul.bits.MinMHzBR4 == 1) + minmult = 30; + else + minmult = multipliers[invalue]; + fsb = eblcr_fsb_table_v2[longhaul.bits.MaxMHzFSB]; + break; + } - case 3: - rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); - - /* - * TODO: This code works, but raises a lot of questions. - * - Some Nehemiah's seem to have broken Min/MaxMHzBR's. - * We get around this by using a hardcoded multiplier of 5.0x - * for the minimimum speed, and the speed we booted up at for the max. - * This is done in longhaul_get_cpu_mult() by reading the EBLCR register. - * - According to some VIA documentation EBLCR is only - * in pre-Nehemiah C3s. How this still works is a mystery. - * We're possibly using something undocumented and unsupported, - * But it works, so we don't grumble. - */ - minmult=50; - maxmult=longhaul_get_cpu_mult(); - - fsb = eblcr_fsb_table_v2[longhaul.bits.MaxMHzFSB]; - break; + /* Nehemiah */ + if (cpu_model==CPU_NEHEMIAH) { + rdmsrl (MSR_VIA_LONGHAUL, longhaul.val); + + /* + * TODO: This code works, but raises a lot of questions. + * - Some Nehemiah's seem to have broken Min/MaxMHzBR's. + * We get around this by using a hardcoded multiplier of 4.0x + * for the minimimum speed, and the speed we booted up at for the max. + * This is done in longhaul_get_cpu_mult() by reading the EBLCR register. + * - According to some VIA documentation EBLCR is only + * in pre-Nehemiah C3s. How this still works is a mystery. + * We're possibly using something undocumented and unsupported, + * But it works, so we don't grumble. + */ + minmult=40; + maxmult=longhaul_get_cpu_mult(); + + /* Starting with the 1.2GHz parts, theres a 200MHz bus. */ + if ((cpu_khz/1000) > 1200) + fsb = 200; + else + fsb = eblcr_fsb_table_v2[longhaul.bits.MaxMHzFSB]; + break; + } } - dprintk (KERN_INFO PFX "MinMult=%d.%dx MaxMult=%d.%dx\n", + dprintk (KERN_INFO PFX "MinMult:%d.%dx MaxMult:%d.%dx\n", minmult/10, minmult%10, maxmult/10, maxmult%10); if (fsb == -1) { @@ -301,10 +364,11 @@ static int __init longhaul_get_ranges(void) return -EINVAL; } - highest_speed = calc_speed (maxmult, fsb); - lowest_speed = calc_speed (minmult,fsb); - dprintk (KERN_INFO PFX "FSB: %dMHz Lowestspeed=%dMHz Highestspeed=%dMHz\n", - fsb, lowest_speed/1000, highest_speed/1000); + highest_speed = calc_speed(maxmult); + lowest_speed = calc_speed(minmult); + dprintk (KERN_INFO PFX "FSB:%dMHz ", fsb); + dprintk ("Lowest speed:%s ", print_speed(lowest_speed/1000)); + dprintk ("Highest speed:%s\n", print_speed(highest_speed/1000)); if (lowest_speed == highest_speed) { printk (KERN_INFO PFX "highestspeed == lowest, aborting.\n"); @@ -327,7 +391,7 @@ static int __init longhaul_get_ranges(void) continue; if (ratio > maxmult || ratio < minmult) continue; - longhaul_table[k].frequency = calc_speed (ratio, fsb); + longhaul_table[k].frequency = calc_speed(ratio); longhaul_table[k].index = j; k++; } @@ -403,8 +467,7 @@ static int longhaul_verify(struct cpufreq_policy *policy) static int longhaul_target(struct cpufreq_policy *policy, - unsigned int target_freq, - unsigned int relation) + unsigned int target_freq, unsigned int relation) { unsigned int table_index = 0; unsigned int new_clock_ratio = 0; @@ -419,13 +482,15 @@ static int longhaul_target(struct cpufreq_policy *policy, return 0; } + static unsigned int longhaul_get(unsigned int cpu) { if (cpu) return 0; - return (calc_speed (longhaul_get_cpu_mult(), fsb)); + return calc_speed(longhaul_get_cpu_mult()); } + static int __init longhaul_cpu_init(struct cpufreq_policy *policy) { struct cpuinfo_x86 *c = cpu_data; @@ -434,26 +499,31 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy) switch (c->x86_model) { case 6: + cpu_model = CPU_SAMUEL; cpuname = "C3 'Samuel' [C5A]"; - longhaul_version=1; + longhaul_version = TYPE_LONGHAUL_V1; memcpy (clock_ratio, samuel1_clock_ratio, sizeof(samuel1_clock_ratio)); memcpy (eblcr_table, samuel1_eblcr, sizeof(samuel1_eblcr)); break; - case 7: /* C5B / C5C */ - longhaul_version=1; + case 7: + longhaul_version = TYPE_LONGHAUL_V1; switch (c->x86_mask) { case 0: + cpu_model = CPU_SAMUEL2; cpuname = "C3 'Samuel 2' [C5B]"; /* Note, this is not a typo, early Samuel2's had Samuel1 ratios. */ memcpy (clock_ratio, samuel1_clock_ratio, sizeof(samuel1_clock_ratio)); memcpy (eblcr_table, samuel2_eblcr, sizeof(samuel2_eblcr)); break; case 1 ... 15: - if (c->x86_mask < 8) + if (c->x86_mask < 8) { + cpu_model = CPU_SAMUEL2; cpuname = "C3 'Samuel 2' [C5B]"; - else + } else { + cpu_model = CPU_EZRA; cpuname = "C3 'Ezra' [C5C]"; + } memcpy (clock_ratio, ezra_clock_ratio, sizeof(ezra_clock_ratio)); memcpy (eblcr_table, ezra_eblcr, sizeof(ezra_eblcr)); break; @@ -461,15 +531,17 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy) break; case 8: + cpu_model = CPU_EZRA_T; cpuname = "C3 'Ezra-T' [C5M]"; - longhaul_version=2; + longhaul_version = TYPE_POWERSAVER; numscales=32; memcpy (clock_ratio, ezrat_clock_ratio, sizeof(ezrat_clock_ratio)); memcpy (eblcr_table, ezrat_eblcr, sizeof(ezrat_eblcr)); break; case 9: - longhaul_version=3; + cpu_model = CPU_NEHEMIAH; + longhaul_version = TYPE_POWERSAVER; numscales=32; switch (c->x86_mask) { case 0 ... 1: @@ -495,19 +567,28 @@ static int __init longhaul_cpu_init(struct cpufreq_policy *policy) break; } - printk (KERN_INFO PFX "VIA %s CPU detected. Longhaul v%d supported.\n", - cpuname, longhaul_version); + printk (KERN_INFO PFX "VIA %s CPU detected. ", cpuname); + switch (longhaul_version) { + case TYPE_LONGHAUL_V1: + case TYPE_LONGHAUL_V2: + printk ("Longhaul v%d supported.\n", longhaul_version); + break; + case TYPE_POWERSAVER: + printk ("Powersaver supported.\n"); + break; + }; ret = longhaul_get_ranges(); if (ret != 0) return ret; - if ((longhaul_version==2) && (dont_scale_voltage==0)) + if ((longhaul_version==TYPE_LONGHAUL_V2 || longhaul_version==TYPE_POWERSAVER) && + (dont_scale_voltage==0)) longhaul_setup_voltagescaling(); policy->governor = CPUFREQ_DEFAULT_GOVERNOR; policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; - policy->cur = calc_speed (longhaul_get_cpu_mult(), fsb); + policy->cur = calc_speed(longhaul_get_cpu_mult()); ret = cpufreq_frequency_table_cpuinfo(policy, longhaul_table); if (ret) @@ -540,6 +621,7 @@ static struct cpufreq_driver longhaul_driver = { .attr = longhaul_attr, }; + static int __init longhaul_init(void) { struct cpuinfo_x86 *c = cpu_data; @@ -557,16 +639,17 @@ static int __init longhaul_init(void) return -ENODEV; } + static void __exit longhaul_exit(void) { int i=0; - unsigned int new_clock_ratio; - - while (clock_ratio[i] != maxmult) - i++; - new_clock_ratio = longhaul_table[i].index & 0xFF; - longhaul_setstate(new_clock_ratio); + for (i=0; i < numscales; i++) { + if (clock_ratio[i] == maxmult) { + longhaul_setstate(i); + break; + } + } cpufreq_unregister_driver(&longhaul_driver); kfree(longhaul_table); diff --git a/arch/i386/kernel/cpu/cpufreq/longrun.c b/arch/i386/kernel/cpu/cpufreq/longrun.c index c04c99bba..ab3cfc3cd 100644 --- a/arch/i386/kernel/cpu/cpufreq/longrun.c +++ b/arch/i386/kernel/cpu/cpufreq/longrun.c @@ -7,7 +7,7 @@ */ #include -#include +#include #include #include #include @@ -19,7 +19,7 @@ static struct cpufreq_driver longrun_driver; /** - * longrun_{low,high}_freq is needed for the conversion of cpufreq kHz + * longrun_{low,high}_freq is needed for the conversion of cpufreq kHz * values into per cent values. In TMTA microcode, the following is valid: * performance_pctg = (current_freq - low_freq)/(high_freq - low_freq) */ @@ -42,18 +42,18 @@ static void __init longrun_get_policy(struct cpufreq_policy *policy) policy->policy = CPUFREQ_POLICY_PERFORMANCE; else policy->policy = CPUFREQ_POLICY_POWERSAVE; - + rdmsr(MSR_TMTA_LONGRUN_CTRL, msr_lo, msr_hi); msr_lo &= 0x0000007F; msr_hi &= 0x0000007F; - + if ( longrun_high_freq <= longrun_low_freq ) { /* Assume degenerate Longrun table */ policy->min = policy->max = longrun_high_freq; } else { - policy->min = longrun_low_freq + msr_lo * + policy->min = longrun_low_freq + msr_lo * ((longrun_high_freq - longrun_low_freq) / 100); - policy->max = longrun_low_freq + msr_hi * + policy->max = longrun_low_freq + msr_hi * ((longrun_high_freq - longrun_low_freq) / 100); } policy->cpu = 0; @@ -79,9 +79,9 @@ static int longrun_set_policy(struct cpufreq_policy *policy) /* Assume degenerate Longrun table */ pctg_lo = pctg_hi = 100; } else { - pctg_lo = (policy->min - longrun_low_freq) / + pctg_lo = (policy->min - longrun_low_freq) / ((longrun_high_freq - longrun_low_freq) / 100); - pctg_hi = (policy->max - longrun_low_freq) / + pctg_hi = (policy->max - longrun_low_freq) / ((longrun_high_freq - longrun_low_freq) / 100); } @@ -118,7 +118,7 @@ static int longrun_set_policy(struct cpufreq_policy *policy) * longrun_verify_poliy - verifies a new CPUFreq policy * @policy: the policy to verify * - * Validates a new CPUFreq policy. This function has to be called with + * Validates a new CPUFreq policy. This function has to be called with * cpufreq_driver locked. */ static int longrun_verify_policy(struct cpufreq_policy *policy) @@ -127,8 +127,8 @@ static int longrun_verify_policy(struct cpufreq_policy *policy) return -EINVAL; policy->cpu = 0; - cpufreq_verify_within_limits(policy, - policy->cpuinfo.min_freq, + cpufreq_verify_within_limits(policy, + policy->cpuinfo.min_freq, policy->cpuinfo.max_freq); if ((policy->policy != CPUFREQ_POLICY_POWERSAVE) && @@ -160,7 +160,7 @@ static unsigned int longrun_get(unsigned int cpu) * TMTA rules: * performance_pctg = (target_freq - low_freq)/(high_freq - low_freq) */ -static unsigned int __init longrun_determine_freqs(unsigned int *low_freq, +static unsigned int __init longrun_determine_freqs(unsigned int *low_freq, unsigned int *high_freq) { u32 msr_lo, msr_hi; @@ -174,9 +174,9 @@ static unsigned int __init longrun_determine_freqs(unsigned int *low_freq, if (cpu_has(c, X86_FEATURE_LRTI)) { /* if the LongRun Table Interface is present, the - * detection is a bit easier: + * detection is a bit easier: * For minimum frequency, read out the maximum - * level (msr_hi), write that into "currently + * level (msr_hi), write that into "currently * selected level", and read out the frequency. * For maximum frequency, read out level zero. */ @@ -223,7 +223,7 @@ static unsigned int __init longrun_determine_freqs(unsigned int *low_freq, cpuid(0x80860007, &eax, &ebx, &ecx, &edx); /* restore values */ - wrmsr(MSR_TMTA_LONGRUN_CTRL, save_lo, save_hi); + wrmsr(MSR_TMTA_LONGRUN_CTRL, save_lo, save_hi); } /* performance_pctg = (current_freq - low_freq)/(high_freq - low_freq) @@ -237,7 +237,7 @@ static unsigned int __init longrun_determine_freqs(unsigned int *low_freq, if ((ecx > 95) || (ecx == 0) || (eax < ebx)) return -EIO; - edx = (eax - ebx) / (100 - ecx); + edx = (eax - ebx) / (100 - ecx); *low_freq = edx * 1000; /* back to kHz */ if (*low_freq > *high_freq) @@ -249,7 +249,7 @@ static unsigned int __init longrun_determine_freqs(unsigned int *low_freq, static int __init longrun_cpu_init(struct cpufreq_policy *policy) { - int result = 0; + int result = 0; /* capability check */ if (policy->cpu != 0) @@ -265,15 +265,15 @@ static int __init longrun_cpu_init(struct cpufreq_policy *policy) policy->cpuinfo.max_freq = longrun_high_freq; policy->cpuinfo.transition_latency = CPUFREQ_ETERNAL; longrun_get_policy(policy); - + return 0; } static struct cpufreq_driver longrun_driver = { .flags = CPUFREQ_CONST_LOOPS, - .verify = longrun_verify_policy, - .setpolicy = longrun_set_policy, + .verify = longrun_verify_policy, + .setpolicy = longrun_set_policy, .get = longrun_get, .init = longrun_cpu_init, .name = "longrun", @@ -290,7 +290,7 @@ static int __init longrun_init(void) { struct cpuinfo_x86 *c = cpu_data; - if (c->x86_vendor != X86_VENDOR_TRANSMETA || + if (c->x86_vendor != X86_VENDOR_TRANSMETA || !cpu_has(c, X86_FEATURE_LONGRUN)) return -ENODEV; diff --git a/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c b/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c index fa01a95bb..ef1394964 100644 --- a/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c +++ b/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c @@ -184,7 +184,7 @@ static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c) "The speedstep_centrino module offers voltage scaling" " in addition of frequency scaling. You should use " "that instead of p4-clockmod, if possible.\n"); - /* on P-4s, the TSC runs with constant frequency independent wether + /* on P-4s, the TSC runs with constant frequency independent whether * throttling is active or not. */ p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS; return speedstep_get_processor_frequency(SPEEDSTEP_PROCESSOR_PM); @@ -195,7 +195,7 @@ static unsigned int cpufreq_p4_get_frequency(struct cpuinfo_x86 *c) return 0; } - /* on P-4s, the TSC runs with constant frequency independent wether + /* on P-4s, the TSC runs with constant frequency independent whether * throttling is active or not. */ p4clockmod_driver.flags |= CPUFREQ_CONST_LOOPS; diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k7.c b/arch/i386/kernel/cpu/cpufreq/powernow-k7.c index 18d30ab9a..c7e3aa60d 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k7.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k7.c @@ -6,8 +6,6 @@ * Licensed under the terms of the GNU GPL License version 2. * Based upon datasheets & sample CPUs kindly provided by AMD. * - * BIG FAT DISCLAIMER: Work in progress code. Possibly *dangerous* - * * Errata 5: Processor may fail to execute a FID/VID change in presence of interrupt. * - We cli/sti on stepping A0 CPUs around the FID/VID transition. * Errata 15: Processors with half frequency multipliers may hang upon wakeup from disconnect. @@ -29,21 +27,13 @@ #include #include -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K7_ACPI #include #include #endif #include "powernow-k7.h" -#define DEBUG - -#ifdef DEBUG -#define dprintk(msg...) printk(msg) -#else -#define dprintk(msg...) do { } while(0) -#endif - #define PFX "powernow: " @@ -64,7 +54,7 @@ struct pst_s { u8 numpstates; }; -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K7_ACPI union powernow_acpi_control_t { struct { unsigned long fid:5, @@ -97,6 +87,7 @@ static int fid_codes[32] = { */ static int acpi_force; +static int debug; static struct cpufreq_frequency_table *powernow_table; @@ -109,6 +100,21 @@ static unsigned int fsb; static unsigned int latency; static char have_a0; +static void dprintk(const char *fmt, ...) +{ + char s[256]; + va_list args; + + if (debug==0) + return; + + va_start(args,fmt); + vsprintf(s, fmt, args); + printk(s); + va_end(args); +} + + static int check_fsb(unsigned int fsbspeed) { int delta; @@ -190,13 +196,13 @@ static int get_ranges (unsigned char *pst) speed = powernow_table[j].frequency; if ((fid_codes[fid] % 10)==5) { -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K7_ACPI if (have_a0 == 1) powernow_table[j].frequency = CPUFREQ_ENTRY_INVALID; #endif } - dprintk (KERN_INFO PFX " FID: 0x%x (%d.%dx [%dMHz])\t", fid, + dprintk (KERN_INFO PFX " FID: 0x%x (%d.%dx [%dMHz]) ", fid, fid_codes[fid] / 10, fid_codes[fid] % 10, speed/1000); if (speed < minimum_speed) @@ -285,7 +291,7 @@ static void change_speed (unsigned int index) change_VID(vid); change_FID(fid); } - + if (have_a0 == 1) local_irq_enable(); @@ -294,7 +300,7 @@ static void change_speed (unsigned int index) } -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K7_ACPI struct acpi_processor_performance *acpi_processor_perf; @@ -377,7 +383,7 @@ static int powernow_acpi_init(void) powernow_table[i].frequency = CPUFREQ_ENTRY_INVALID; } - dprintk (KERN_INFO PFX " FID: 0x%x (%d.%dx [%dMHz])\t", fid, + dprintk (KERN_INFO PFX " FID: 0x%x (%d.%dx [%dMHz]) ", fid, fid_codes[fid] / 10, fid_codes[fid] % 10, speed/1000); dprintk ("VID: 0x%x (%d.%03dV)\n", vid, mobile_vid_table[vid]/1000, mobile_vid_table[vid]%1000); @@ -467,9 +473,9 @@ static int powernow_decode_bios (int maxfid, int startvid) (maxfid==pst->maxfid) && (startvid==pst->startvid)) { dprintk (KERN_INFO PFX "PST:%d (@%p)\n", i, pst); - dprintk (KERN_INFO PFX " cpuid: 0x%x\t", pst->cpuid); - dprintk ("fsb: %d\t", pst->fsbspeed); - dprintk ("maxFID: 0x%x\t", pst->maxfid); + dprintk (KERN_INFO PFX " cpuid: 0x%x ", pst->cpuid); + dprintk ("fsb: %d ", pst->fsbspeed); + dprintk ("maxFID: 0x%x ", pst->maxfid); dprintk ("startvid: 0x%x\n", pst->startvid); ret = get_ranges ((char *) pst + sizeof (struct pst_s)); @@ -591,14 +597,14 @@ static int __init powernow_cpu_init (struct cpufreq_policy *policy) rdmsrl (MSR_K7_FID_VID_STATUS, fidvidstatus.val); /* A K7 with powernow technology is set to max frequency by BIOS */ - fsb = (10 * cpu_khz) / fid_codes[fidvidstatus.bits.CFID]; + fsb = (10 * cpu_khz) / fid_codes[fidvidstatus.bits.MFID]; if (!fsb) { printk(KERN_WARNING PFX "can not determine bus frequency\n"); return -EINVAL; } dprintk(KERN_INFO PFX "FSB: %3d.%03d MHz\n", fsb/1000, fsb%1000); - if (dmi_check_system(powernow_dmi_table) || acpi_force) { + if (dmi_check_system(powernow_dmi_table) || acpi_force) { printk (KERN_INFO PFX "PSB/PST known to be broken. Trying ACPI instead\n"); result = powernow_acpi_init(); } else { @@ -628,7 +634,7 @@ static int __init powernow_cpu_init (struct cpufreq_policy *policy) policy->governor = CPUFREQ_DEFAULT_GOVERNOR; - policy->cpuinfo.transition_latency = 20 * latency / fsb; + policy->cpuinfo.transition_latency = cpufreq_scale(2000000UL, fsb, latency); policy->cur = powernow_get(0); @@ -648,14 +654,14 @@ static struct freq_attr* powernow_table_attr[] = { }; static struct cpufreq_driver powernow_driver = { - .verify = powernow_verify, - .target = powernow_target, - .get = powernow_get, - .init = powernow_cpu_init, - .exit = powernow_cpu_exit, - .name = "powernow-k7", - .owner = THIS_MODULE, - .attr = powernow_table_attr, + .verify = powernow_verify, + .target = powernow_target, + .get = powernow_get, + .init = powernow_cpu_init, + .exit = powernow_cpu_exit, + .name = "powernow-k7", + .owner = THIS_MODULE, + .attr = powernow_table_attr, }; static int __init powernow_init (void) @@ -668,7 +674,7 @@ static int __init powernow_init (void) static void __exit powernow_exit (void) { -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K7_ACPI if (acpi_processor_perf) { acpi_processor_unregister_performance(acpi_processor_perf, 0); kfree(acpi_processor_perf); @@ -679,8 +685,10 @@ static void __exit powernow_exit (void) kfree(powernow_table); } +module_param(debug, int, 0444); +MODULE_PARM_DESC(debug, "enable debug output."); module_param(acpi_force, int, 0444); -MODULE_PARM_DESC(acpi_force, "Force ACPI to be used"); +MODULE_PARM_DESC(acpi_force, "Force ACPI to be used."); MODULE_AUTHOR ("Dave Jones "); MODULE_DESCRIPTION ("Powernow driver for AMD K7 processors."); diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c index 20d875da8..e52390d12 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.c +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.c @@ -32,7 +32,7 @@ #include #include -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K8_ACPI #include #include #endif @@ -664,7 +664,7 @@ static int find_psb_table(struct powernow_k8_data *data) return -ENODEV; } -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K8_ACPI static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data, unsigned int index) { if (!data->acpi_data.state_count) @@ -948,13 +948,13 @@ static int __init powernowk8_cpu_init(struct cpufreq_policy *pol) * an UP version, and is deprecated by AMD. */ - if (pol->cpu != 0) { - printk(KERN_ERR PFX "init not cpu 0\n"); + if ((num_online_cpus() != 1) || (num_possible_cpus() != 1)) { + printk(KERN_INFO PFX "MP systems not supported by PSB BIOS structure\n"); kfree(data); return -ENODEV; } - if ((num_online_cpus() != 1) || (num_possible_cpus() != 1)) { - printk(KERN_INFO PFX "MP systems not supported by PSB BIOS structure\n"); + if (pol->cpu != 0) { + printk(KERN_ERR PFX "init not cpu 0\n"); kfree(data); return -ENODEV; } @@ -1024,7 +1024,7 @@ err_out: return -ENODEV; } -static int powernowk8_cpu_exit (struct cpufreq_policy *pol) +static int __devexit powernowk8_cpu_exit (struct cpufreq_policy *pol) { struct powernow_k8_data *data = powernow_data[pol->cpu]; @@ -1105,7 +1105,7 @@ static int __init powernowk8_init(void) } /* driver entry point for term */ -static void powernowk8_exit(void) +static void __exit powernowk8_exit(void) { dprintk(KERN_INFO PFX "exit\n"); diff --git a/arch/i386/kernel/cpu/cpufreq/powernow-k8.h b/arch/i386/kernel/cpu/cpufreq/powernow-k8.h index 500f28d27..a95db64a9 100644 --- a/arch/i386/kernel/cpu/cpufreq/powernow-k8.h +++ b/arch/i386/kernel/cpu/cpufreq/powernow-k8.h @@ -29,7 +29,7 @@ struct powernow_k8_data { * frequency is in kHz */ struct cpufreq_frequency_table *powernow_table; -#if defined(CONFIG_ACPI_PROCESSOR) || defined(CONFIG_ACPI_PROCESSOR_MODULE) +#ifdef CONFIG_X86_POWERNOW_K8_ACPI /* the acpi table needs to be kept. it's only available if ACPI was * used to determine valid frequency/vid/fid states */ struct acpi_processor_performance acpi_data; diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c index ea9173812..56aafbde6 100644 --- a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c @@ -10,7 +10,7 @@ * Copyright (C) 2003 Jeremy Fitzhardinge * * WARNING WARNING WARNING - * + * * This driver manipulates the PERF_CTL MSR, which is only somewhat * documented. While it seems to work on my laptop, it has not been * tested anywhere else, and it may not work for you, do strange @@ -23,6 +23,11 @@ #include #include +#ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI +#include +#include +#endif + #include #include #include @@ -41,24 +46,24 @@ struct cpu_id { __u8 x86; /* CPU family */ - __u8 x86_vendor; /* CPU vendor */ __u8 x86_model; /* model */ __u8 x86_mask; /* stepping */ }; -static const struct cpu_id cpu_id_banias = { - .x86_vendor = X86_VENDOR_INTEL, - .x86 = 6, - .x86_model = 9, - .x86_mask = 5, +enum { + CPU_BANIAS, + CPU_DOTHAN_A1, + CPU_DOTHAN_A2, + CPU_DOTHAN_B0, }; -static const struct cpu_id cpu_id_dothan_a1 = { - .x86_vendor = X86_VENDOR_INTEL, - .x86 = 6, - .x86_model = 13, - .x86_mask = 1, +static const struct cpu_id cpu_ids[] = { + [CPU_BANIAS] = { 6, 9, 5 }, + [CPU_DOTHAN_A1] = { 6, 13, 1 }, + [CPU_DOTHAN_A2] = { 6, 13, 2 }, + [CPU_DOTHAN_B0] = { 6, 13, 6 }, }; +#define N_IDS (sizeof(cpu_ids)/sizeof(cpu_ids[0])) struct cpu_model { @@ -68,10 +73,11 @@ struct cpu_model struct cpufreq_frequency_table *op_points; /* clock/voltage pairs */ }; -static int centrino_verify_cpu_id(struct cpuinfo_x86 *c, const struct cpu_id *x); +static int centrino_verify_cpu_id(const struct cpuinfo_x86 *c, const struct cpu_id *x); /* Operating points for current CPU */ static struct cpu_model *centrino_model; +static int centrino_cpu; #ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE @@ -84,7 +90,7 @@ static struct cpu_model *centrino_model; .index = (((mhz)/100) << 8) | ((mv - 700) / 16) \ } -/* +/* * These voltage tables were derived from the Intel Pentium M * datasheet, document 25261202.pdf, Table 5. I have verified they * are consistent with my IBM ThinkPad X31, which has a 1.3GHz Pentium @@ -103,9 +109,9 @@ static struct cpufreq_frequency_table banias_900[] = /* Ultra Low Voltage Intel Pentium M processor 1000MHz (Banias) */ static struct cpufreq_frequency_table banias_1000[] = { - OP(600, 844), - OP(800, 972), - OP(900, 988), + OP(600, 844), + OP(800, 972), + OP(900, 988), OP(1000, 1004), { .frequency = CPUFREQ_TABLE_END } }; @@ -135,7 +141,7 @@ static struct cpufreq_frequency_table banias_1200[] = }; /* Intel Pentium M processor 1.30GHz (Banias) */ -static struct cpufreq_frequency_table banias_1300[] = +static struct cpufreq_frequency_table banias_1300[] = { OP( 600, 956), OP( 800, 1260), @@ -146,7 +152,7 @@ static struct cpufreq_frequency_table banias_1300[] = }; /* Intel Pentium M processor 1.40GHz (Banias) */ -static struct cpufreq_frequency_table banias_1400[] = +static struct cpufreq_frequency_table banias_1400[] = { OP( 600, 956), OP( 800, 1180), @@ -157,7 +163,7 @@ static struct cpufreq_frequency_table banias_1400[] = }; /* Intel Pentium M processor 1.50GHz (Banias) */ -static struct cpufreq_frequency_table banias_1500[] = +static struct cpufreq_frequency_table banias_1500[] = { OP( 600, 956), OP( 800, 1116), @@ -169,7 +175,7 @@ static struct cpufreq_frequency_table banias_1500[] = }; /* Intel Pentium M processor 1.60GHz (Banias) */ -static struct cpufreq_frequency_table banias_1600[] = +static struct cpufreq_frequency_table banias_1600[] = { OP( 600, 956), OP( 800, 1036), @@ -199,13 +205,13 @@ static struct cpufreq_frequency_table banias_1700[] = .max_freq = (max)*1000, \ .op_points = banias_##max, \ } -#define BANIAS(max) _BANIAS(&cpu_id_banias, max, #max) +#define BANIAS(max) _BANIAS(&cpu_ids[CPU_BANIAS], max, #max) /* CPU models, their operating frequency range, and freq/voltage operating points */ -static struct cpu_model models[] = +static struct cpu_model models[] = { - _BANIAS(&cpu_id_banias, 900, " 900"), + _BANIAS(&cpu_ids[CPU_BANIAS], 900, " 900"), BANIAS(1000), BANIAS(1100), BANIAS(1200), @@ -214,6 +220,12 @@ static struct cpu_model models[] = BANIAS(1500), BANIAS(1600), BANIAS(1700), + + /* NULL model_name is a wildcard */ + { &cpu_ids[CPU_DOTHAN_A1], NULL, 0, NULL }, + { &cpu_ids[CPU_DOTHAN_A2], NULL, 0, NULL }, + { &cpu_ids[CPU_DOTHAN_B0], NULL, 0, NULL }, + { NULL, } }; #undef _BANIAS @@ -224,19 +236,30 @@ static int centrino_cpu_init_table(struct cpufreq_policy *policy) struct cpuinfo_x86 *cpu = &cpu_data[policy->cpu]; struct cpu_model *model; - for(model = models; model->model_name != NULL; model++) - if ((strcmp(cpu->x86_model_id, model->model_name) == 0) && - (!centrino_verify_cpu_id(cpu, model->cpu_id))) + for(model = models; model->cpu_id != NULL; model++) + if (centrino_verify_cpu_id(cpu, model->cpu_id) && + (model->model_name == NULL || + strcmp(cpu->x86_model_id, model->model_name) == 0)) break; - if (model->model_name == NULL) { + + if (model->cpu_id == NULL) { + /* No match at all */ printk(KERN_INFO PFX "no support for CPU model \"%s\": " "send /proc/cpuinfo to " MAINTAINER "\n", cpu->x86_model_id); return -ENOENT; } + if (model->op_points == NULL) { + /* Matched a non-match */ + printk(KERN_INFO PFX "no table support for CPU model \"%s\": \n", + cpu->x86_model_id); + printk(KERN_INFO PFX "try compiling with CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI enabled\n"); + return -ENOENT; + } + centrino_model = model; - + printk(KERN_INFO PFX "found \"%s\": max frequency: %dkHz\n", model->model_name, model->max_freq); @@ -247,31 +270,54 @@ static int centrino_cpu_init_table(struct cpufreq_policy *policy) static inline int centrino_cpu_init_table(struct cpufreq_policy *policy) { return -ENODEV; } #endif /* CONFIG_X86_SPEEDSTEP_CENTRINO_TABLE */ -static int centrino_verify_cpu_id(struct cpuinfo_x86 *c, const struct cpu_id *x) +static int centrino_verify_cpu_id(const struct cpuinfo_x86 *c, const struct cpu_id *x) { if ((c->x86 == x->x86) && - (c->x86_vendor == x->x86_vendor) && (c->x86_model == x->x86_model) && (c->x86_mask == x->x86_mask)) - return 0; - return -ENODEV; + return 1; + return 0; } -/* Extract clock in kHz from PERF_CTL value */ +/* To be called only after centrino_model is initialized */ static unsigned extract_clock(unsigned msr) { - msr = (msr >> 8) & 0xff; - return msr * 100000; + int i; + + /* + * Extract clock in kHz from PERF_CTL value + * for centrino, as some DSDTs are buggy. + * Ideally, this can be done using the acpi_data structure. + */ + if (centrino_cpu) { + msr = (msr >> 8) & 0xff; + return msr * 100000; + } + + if ((!centrino_model) || (!centrino_model->op_points)) + return 0; + + msr &= 0xffff; + for (i=0;centrino_model->op_points[i].frequency != CPUFREQ_TABLE_END; i++) { + if (msr == centrino_model->op_points[i].index) + return centrino_model->op_points[i].frequency; + } + return 0; } /* Return the current CPU frequency in kHz */ static unsigned int get_cur_freq(unsigned int cpu) { unsigned l, h; - if (cpu) + cpumask_t saved_mask; + + saved_mask = current->cpus_allowed; + set_cpus_allowed(current, cpumask_of_cpu(cpu)); + if (smp_processor_id() != cpu) return 0; rdmsr(MSR_IA32_PERF_STATUS, l, h); + set_cpus_allowed(current, saved_mask); return extract_clock(l); } @@ -280,13 +326,8 @@ static unsigned int get_cur_freq(unsigned int cpu) static struct acpi_processor_performance p; -#include -#include - -#define ACPI_PDC_CAPABILITY_ENHANCED_SPEEDSTEP 0x1 - /* - * centrino_cpu_init_acpi - register with ACPI P-States library + * centrino_cpu_init_acpi - register with ACPI P-States library * * Register with the ACPI P-States library (part of drivers/acpi/processor.c) * in order to determine correct frequency and voltage pairings by reading @@ -296,7 +337,7 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) { union acpi_object arg0 = {ACPI_TYPE_BUFFER}; u32 arg0_buf[3]; - struct acpi_object_list arg_list = {1, &arg0}; + struct acpi_object_list arg_list = {1, &arg0}; unsigned long cur_freq; int result = 0, i; @@ -305,12 +346,12 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) arg0.buffer.pointer = (u8 *) arg0_buf; arg0_buf[0] = ACPI_PDC_REVISION_ID; arg0_buf[1] = 1; - arg0_buf[2] = ACPI_PDC_CAPABILITY_ENHANCED_SPEEDSTEP; + arg0_buf[2] = ACPI_PDC_EST_CAPABILITY_SMP | ACPI_PDC_EST_CAPABILITY_MSR; p.pdc = &arg_list; /* register with ACPI core */ - if (acpi_processor_register_performance(&p, 0)) + if (acpi_processor_register_performance(&p, policy->cpu)) return -EIO; /* verify the acpi_data */ @@ -318,7 +359,7 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) printk(KERN_DEBUG "No P-States\n"); result = -ENODEV; goto err_unreg; - } + } if ((p.control_register.space_id != ACPI_ADR_SPACE_FIXED_HARDWARE) || (p.status_register.space_id != ACPI_ADR_SPACE_FIXED_HARDWARE)) { @@ -340,11 +381,10 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) goto err_unreg; } - if (extract_clock(p.states[i].control) != - (p.states[i].core_frequency * 1000)) { - printk(KERN_DEBUG "Invalid encoded frequency\n"); - result = -EINVAL; - goto err_unreg; + if (p.states[i].core_frequency > p.states[0].core_frequency) { + printk(KERN_DEBUG "P%u has larger frequency than P0, skipping\n", i); + p.states[i].core_frequency = 0; + continue; } } @@ -357,29 +397,43 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy) centrino_model->model_name=NULL; centrino_model->max_freq = p.states[0].core_frequency * 1000; - centrino_model->op_points = kmalloc(sizeof(struct cpufreq_frequency_table) * + centrino_model->op_points = kmalloc(sizeof(struct cpufreq_frequency_table) * (p.state_count + 1), GFP_KERNEL); if (!centrino_model->op_points) { result = -ENOMEM; goto err_kfree; } - cur_freq = get_cur_freq(0); - for (i=0; iop_points[i].index = p.states[i].control; centrino_model->op_points[i].frequency = p.states[i].core_frequency * 1000; + } + centrino_model->op_points[p.state_count].frequency = CPUFREQ_TABLE_END; + + cur_freq = get_cur_freq(policy->cpu); + + for (i=0; iop_points[i].index) != + (centrino_model->op_points[i].frequency)) { + printk(KERN_DEBUG "Invalid encoded frequency\n"); + result = -EINVAL; + goto err_kfree_all; + } + if (cur_freq == centrino_model->op_points[i].frequency) p.state = i; + if (!p.states[i].core_frequency) + centrino_model->op_points[i].frequency = CPUFREQ_ENTRY_INVALID; } - centrino_model->op_points[p.state_count].frequency = CPUFREQ_TABLE_END; return 0; + err_kfree_all: + kfree(centrino_model->op_points); err_kfree: kfree(centrino_model); err_unreg: - acpi_processor_unregister_performance(&p, 0); + acpi_processor_unregister_performance(&p, policy->cpu); return (result); } #else @@ -392,21 +446,30 @@ static int centrino_cpu_init(struct cpufreq_policy *policy) unsigned freq; unsigned l, h; int ret; + int i; - if (policy->cpu != 0) + /* Only Intel makes Enhanced Speedstep-capable CPUs */ + if (cpu->x86_vendor != X86_VENDOR_INTEL || !cpu_has(cpu, X86_FEATURE_EST)) return -ENODEV; - if (!cpu_has(cpu, X86_FEATURE_EST)) - return -ENODEV; + for (i = 0; i < N_IDS; i++) + if (centrino_verify_cpu_id(cpu, &cpu_ids[i])) + break; - if ((centrino_verify_cpu_id(cpu, &cpu_id_banias)) && - (centrino_verify_cpu_id(cpu, &cpu_id_dothan_a1))) { - printk(KERN_INFO PFX "found unsupported CPU with Enhanced SpeedStep: " - "send /proc/cpuinfo to " MAINTAINER "\n"); - return -ENODEV; - } + if (i != N_IDS) + centrino_cpu = 1; if (centrino_cpu_init_acpi(policy)) { + if (policy->cpu != 0) + return -ENODEV; + + if (!centrino_cpu) { + printk(KERN_INFO PFX "found unsupported CPU with " + "Enhanced SpeedStep: send /proc/cpuinfo to " + MAINTAINER "\n"); + return -ENODEV; + } + if (centrino_cpu_init_table(policy)) { return -ENODEV; } @@ -415,11 +478,11 @@ static int centrino_cpu_init(struct cpufreq_policy *policy) /* Check to see if Enhanced SpeedStep is enabled, and try to enable it if not. */ rdmsr(MSR_IA32_MISC_ENABLE, l, h); - + if (!(l & (1<<16))) { l |= (1<<16); wrmsr(MSR_IA32_MISC_ENABLE, l, h); - + /* check to see if it stuck */ rdmsr(MSR_IA32_MISC_ENABLE, l, h); if (!(l & (1<<16))) { @@ -428,7 +491,7 @@ static int centrino_cpu_init(struct cpufreq_policy *policy) } } - freq = get_cur_freq(0); + freq = get_cur_freq(policy->cpu); policy->governor = CPUFREQ_DEFAULT_GOVERNOR; policy->cpuinfo.transition_latency = 10000; /* 10uS transition latency */ @@ -436,7 +499,7 @@ static int centrino_cpu_init(struct cpufreq_policy *policy) dprintk(KERN_INFO PFX "centrino_cpu_init: policy=%d cur=%dkHz\n", policy->policy, policy->cur); - + ret = cpufreq_frequency_table_cpuinfo(policy, centrino_model->op_points); if (ret) return (ret); @@ -455,7 +518,7 @@ static int centrino_cpu_exit(struct cpufreq_policy *policy) #ifdef CONFIG_X86_SPEEDSTEP_CENTRINO_ACPI if (!centrino_model->model_name) { - acpi_processor_unregister_performance(&p, 0); + acpi_processor_unregister_performance(&p, policy->cpu); kfree(centrino_model->op_points); kfree(centrino_model); } @@ -493,19 +556,35 @@ static int centrino_target (struct cpufreq_policy *policy, unsigned int newstate = 0; unsigned int msr, oldmsr, h; struct cpufreq_freqs freqs; + cpumask_t saved_mask; + int retval; if (centrino_model == NULL) return -ENODEV; + /* + * Support for SMP systems. + * Make sure we are running on the CPU that wants to change frequency + */ + saved_mask = current->cpus_allowed; + set_cpus_allowed(current, cpumask_of_cpu(policy->cpu)); + if (smp_processor_id() != policy->cpu) { + return(-EAGAIN); + } + if (cpufreq_frequency_table_target(policy, centrino_model->op_points, target_freq, - relation, &newstate)) - return -EINVAL; + relation, &newstate)) { + retval = -EINVAL; + goto migrate_end; + } msr = centrino_model->op_points[newstate].index; rdmsr(MSR_IA32_PERF_CTL, oldmsr, h); - if (msr == (oldmsr & 0xffff)) - return 0; + if (msr == (oldmsr & 0xffff)) { + retval = 0; + goto migrate_end; + } /* Hm, old frequency can either be the last value we put in PERF_CTL, or whatever it is now. The trouble is that TM2 @@ -514,31 +593,34 @@ static int centrino_target (struct cpufreq_policy *policy, tell us something happened, but it may leave the things on the notifier chain confused; we therefore stick to using the last programmed speed rather than the current speed for - "old". + "old". TODO: work out how the TCC interrupts work, and try to catch the CPU changing things under us. */ - freqs.cpu = 0; + freqs.cpu = policy->cpu; freqs.old = extract_clock(oldmsr); freqs.new = extract_clock(msr); - + dprintk(KERN_INFO PFX "target=%dkHz old=%d new=%d msr=%04x\n", target_freq, freqs.old, freqs.new, msr); - cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); + cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); /* all but 16 LSB are "reserved", so treat them with care */ oldmsr &= ~0xffff; msr &= 0xffff; oldmsr |= msr; - + wrmsr(MSR_IA32_PERF_CTL, oldmsr, h); cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); - return 0; + retval = 0; +migrate_end: + set_cpus_allowed(current, saved_mask); + return (retval); } static struct freq_attr* centrino_attr[] = { @@ -547,12 +629,12 @@ static struct freq_attr* centrino_attr[] = { }; static struct cpufreq_driver centrino_driver = { - .name = "centrino", /* should be speedstep-centrino, + .name = "centrino", /* should be speedstep-centrino, but there's a 16 char limit */ .init = centrino_cpu_init, .exit = centrino_cpu_exit, - .verify = centrino_verify, - .target = centrino_target, + .verify = centrino_verify, + .target = centrino_target, .get = get_cur_freq, .attr = centrino_attr, .owner = THIS_MODULE, diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c b/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c index 93b70f0dc..5f94c4fa2 100644 --- a/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-ich.c @@ -7,7 +7,7 @@ * for chipsets ICH2-M and ICH3-M. * * Many thanks to Ducrot Bruno for finding and fixing the last - * "missing link" for ICH2-M/ICH3-M support, and to Thomas Winkler + * "missing link" for ICH2-M/ICH3-M support, and to Thomas Winkler * for extensive testing. * * BIG FAT DISCLAIMER: Work in progress code. Possibly *dangerous* @@ -19,7 +19,7 @@ *********************************************************************/ #include -#include +#include #include #include #include @@ -29,24 +29,24 @@ /* speedstep_chipset: - * It is necessary to know which chipset is used. As accesses to - * this device occur at various places in this module, we need a + * It is necessary to know which chipset is used. As accesses to + * this device occur at various places in this module, we need a * static struct pci_dev * pointing to that device. */ -static struct pci_dev *speedstep_chipset_dev; +static struct pci_dev *speedstep_chipset_dev; /* speedstep_processor */ -static unsigned int speedstep_processor = 0; +static unsigned int speedstep_processor = 0; -/* +/* * There are only two frequency states for each processor. Values * are in kHz for the time being. */ static struct cpufreq_frequency_table speedstep_freqs[] = { - {SPEEDSTEP_HIGH, 0}, + {SPEEDSTEP_HIGH, 0}, {SPEEDSTEP_LOW, 0}, {0, CPUFREQ_TABLE_END}, }; @@ -68,22 +68,21 @@ static struct cpufreq_frequency_table speedstep_freqs[] = { * speedstep_set_state - set the SpeedStep state * @state: new processor frequency state (SPEEDSTEP_LOW or SPEEDSTEP_HIGH) * - * Tries to change the SpeedStep state. + * Tries to change the SpeedStep state. */ static void speedstep_set_state (unsigned int state) { - u32 pmbase; - u8 pm2_blk; - u8 value; - unsigned long flags; + u32 pmbase; + u8 pm2_blk; + u8 value; + unsigned long flags; if (!speedstep_chipset_dev || (state > 0x1)) return; /* get PMBASE */ pci_read_config_dword(speedstep_chipset_dev, 0x40, &pmbase); - if (!(pmbase & 0x01)) - { + if (!(pmbase & 0x01)) { printk(KERN_ERR "cpufreq: could not find speedstep register\n"); return; } @@ -146,18 +145,16 @@ static void speedstep_set_state (unsigned int state) */ static int speedstep_activate (void) { - u16 value = 0; + u16 value = 0; if (!speedstep_chipset_dev) return -EINVAL; - pci_read_config_word(speedstep_chipset_dev, - 0x00A0, &value); + pci_read_config_word(speedstep_chipset_dev, 0x00A0, &value); if (!(value & 0x08)) { value |= 0x08; dprintk(KERN_DEBUG "cpufreq: activating SpeedStep (TM) registers\n"); - pci_write_config_word(speedstep_chipset_dev, - 0x00A0, value); + pci_write_config_word(speedstep_chipset_dev, 0x00A0, value); } return 0; @@ -167,15 +164,15 @@ static int speedstep_activate (void) /** * speedstep_detect_chipset - detect the Southbridge which contains SpeedStep logic * - * Detects ICH2-M, ICH3-M and ICH4-M so far. The pci_dev points to - * the LPC bridge / PM module which contains all power-management + * Detects ICH2-M, ICH3-M and ICH4-M so far. The pci_dev points to + * the LPC bridge / PM module which contains all power-management * functions. Returns the SPEEDSTEP_CHIPSET_-number for the detected * chipset, or zero on failure. */ static unsigned int speedstep_detect_chipset (void) { speedstep_chipset_dev = pci_find_subsys(PCI_VENDOR_ID_INTEL, - PCI_DEVICE_ID_INTEL_82801DB_12, + PCI_DEVICE_ID_INTEL_82801DB_12, PCI_ANY_ID, PCI_ANY_ID, NULL); @@ -183,7 +180,7 @@ static unsigned int speedstep_detect_chipset (void) return 4; /* 4-M */ speedstep_chipset_dev = pci_find_subsys(PCI_VENDOR_ID_INTEL, - PCI_DEVICE_ID_INTEL_82801CA_12, + PCI_DEVICE_ID_INTEL_82801CA_12, PCI_ANY_ID, PCI_ANY_ID, NULL); @@ -198,11 +195,11 @@ static unsigned int speedstep_detect_chipset (void) NULL); if (speedstep_chipset_dev) { /* speedstep.c causes lockups on Dell Inspirons 8000 and - * 8100 which use a pretty old revision of the 82815 + * 8100 which use a pretty old revision of the 82815 * host brige. Abort on these systems. */ - static struct pci_dev *hostbridge; - u8 rev = 0; + static struct pci_dev *hostbridge; + u8 rev = 0; hostbridge = pci_find_subsys(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82815_MC, @@ -212,7 +209,7 @@ static unsigned int speedstep_detect_chipset (void) if (!hostbridge) return 2; /* 2-M */ - + pci_read_config_byte(hostbridge, PCI_REVISION_ID, &rev); if (rev < 5) { dprintk(KERN_INFO "cpufreq: hostbridge does not support speedstep\n"); @@ -226,6 +223,23 @@ static unsigned int speedstep_detect_chipset (void) return 0; } +static unsigned int speedstep_get(unsigned int cpu) +{ + unsigned int speed; + cpumask_t cpus_allowed,affected_cpu_map; + + /* only run on CPU to be set, or on its sibling */ + cpus_allowed = current->cpus_allowed; +#ifdef CONFIG_SMP + affected_cpu_map = cpu_sibling_map[cpu]; +#else + affected_cpu_map = cpumask_of_cpu(cpu); +#endif + set_cpus_allowed(current, affected_cpu_map); + speed=speedstep_get_processor_frequency(speedstep_processor); + set_cpus_allowed(current, cpus_allowed); + return speed; +} /** * speedstep_target - set a new CPUFreq policy @@ -239,7 +253,7 @@ static int speedstep_target (struct cpufreq_policy *policy, unsigned int target_freq, unsigned int relation) { - unsigned int newstate = 0; + unsigned int newstate = 0; struct cpufreq_freqs freqs; cpumask_t cpus_allowed, affected_cpu_map; int i; @@ -247,14 +261,14 @@ static int speedstep_target (struct cpufreq_policy *policy, if (cpufreq_frequency_table_target(policy, &speedstep_freqs[0], target_freq, relation, &newstate)) return -EINVAL; + freqs.old = speedstep_get(policy->cpu); + freqs.new = speedstep_freqs[newstate].frequency; + freqs.cpu = policy->cpu; + /* no transition necessary */ if (freqs.old == freqs.new) return 0; - freqs.old = speedstep_get_processor_frequency(speedstep_processor); - freqs.new = speedstep_freqs[newstate].frequency; - freqs.cpu = policy->cpu; - cpus_allowed = current->cpus_allowed; /* only run on CPU to be set, or on its sibling */ @@ -301,9 +315,9 @@ static int speedstep_verify (struct cpufreq_policy *policy) static int speedstep_cpu_init(struct cpufreq_policy *policy) { - int result = 0; - unsigned int speed; - cpumask_t cpus_allowed,affected_cpu_map; + int result = 0; + unsigned int speed; + cpumask_t cpus_allowed,affected_cpu_map; /* capability check */ @@ -324,18 +338,16 @@ static int speedstep_cpu_init(struct cpufreq_policy *policy) &speedstep_freqs[SPEEDSTEP_LOW].frequency, &speedstep_freqs[SPEEDSTEP_HIGH].frequency, &speedstep_set_state); - if (result) { - set_cpus_allowed(current, cpus_allowed); + set_cpus_allowed(current, cpus_allowed); + if (result) return result; - } /* get current speed setting */ - speed = speedstep_get_processor_frequency(speedstep_processor); - set_cpus_allowed(current, cpus_allowed); + speed = speedstep_get(policy->cpu); if (!speed) return -EIO; - dprintk(KERN_INFO "cpufreq: currently at %s speed setting - %i MHz\n", + dprintk(KERN_INFO "cpufreq: currently at %s speed setting - %i MHz\n", (speed == speedstep_freqs[SPEEDSTEP_LOW].frequency) ? "low" : "high", (speed / 1000)); @@ -360,11 +372,6 @@ static int speedstep_cpu_exit(struct cpufreq_policy *policy) return 0; } -static unsigned int speedstep_get(unsigned int cpu) -{ - return speedstep_get_processor_frequency(speedstep_processor); -} - static struct freq_attr* speedstep_attr[] = { &cpufreq_freq_attr_scaling_available_freqs, NULL, @@ -372,14 +379,14 @@ static struct freq_attr* speedstep_attr[] = { static struct cpufreq_driver speedstep_driver = { - .name = "speedstep-ich", - .verify = speedstep_verify, - .target = speedstep_target, - .init = speedstep_cpu_init, - .exit = speedstep_cpu_exit, - .get = speedstep_get, - .owner = THIS_MODULE, - .attr = speedstep_attr, + .name = "speedstep-ich", + .verify = speedstep_verify, + .target = speedstep_target, + .init = speedstep_cpu_init, + .exit = speedstep_cpu_exit, + .get = speedstep_get, + .owner = THIS_MODULE, + .attr = speedstep_attr, }; diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c b/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c index 6aa31cd5a..5d176b19a 100644 --- a/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c +++ b/arch/i386/kernel/cpu/cpufreq/speedstep-smi.c @@ -115,6 +115,11 @@ static int speedstep_smi_get_freqs (unsigned int *low, unsigned int *high) : "=a" (result), "=b" (high_mhz), "=c" (low_mhz), "=d" (state), "=D" (edi) : "a" (command), "b" (function), "c" (state), "d" (smi_port), "S" (0) ); + + /* abort if results are obviously incorrect... */ + if ((high_mhz + low_mhz) < 600) + return -EINVAL; + *high = high_mhz * 1000; *low = low_mhz * 1000; @@ -180,7 +185,7 @@ static void speedstep_set_state (unsigned int state) local_irq_restore(flags); if (new_state == state) { - dprintk(KERN_INFO "cpufreq: change to %u MHz succeeded after %u tries with result %u\n", (freqs.new / 1000), retry, result); + dprintk(KERN_INFO "cpufreq: change to %u MHz succeeded after %u tries with result %u\n", (speedstep_freqs[new_state].frequency / 1000), retry, result); } else { printk(KERN_ERR "cpufreq: change failed with new_state %u and result %u\n", new_state, result); } diff --git a/arch/i386/kernel/cpu/intel.c b/arch/i386/kernel/cpu/intel.c index f78243fea..eb145ed88 100644 --- a/arch/i386/kernel/cpu/intel.c +++ b/arch/i386/kernel/cpu/intel.c @@ -10,7 +10,6 @@ #include #include #include -#include #include "cpu.h" @@ -20,6 +19,8 @@ #include #endif +extern int trap_init_f00f_bug(void); + #ifdef CONFIG_X86_INTEL_USERCOPY /* * Alignment at which movsl is preferred for bulk memory copies. @@ -55,59 +56,6 @@ int __init ppro_with_ram_bug(void) return 0; } -#define LVL_1_INST 1 -#define LVL_1_DATA 2 -#define LVL_2 3 -#define LVL_3 4 -#define LVL_TRACE 5 - -struct _cache_table -{ - unsigned char descriptor; - char cache_type; - short size; -}; - -/* all the cache descriptor types we care about (no TLB or trace cache entries) */ -static struct _cache_table cache_table[] __initdata = -{ - { 0x06, LVL_1_INST, 8 }, - { 0x08, LVL_1_INST, 16 }, - { 0x0a, LVL_1_DATA, 8 }, - { 0x0c, LVL_1_DATA, 16 }, - { 0x22, LVL_3, 512 }, - { 0x23, LVL_3, 1024 }, - { 0x25, LVL_3, 2048 }, - { 0x29, LVL_3, 4096 }, - { 0x2c, LVL_1_DATA, 32 }, - { 0x30, LVL_1_INST, 32 }, - { 0x39, LVL_2, 128 }, - { 0x3b, LVL_2, 128 }, - { 0x3c, LVL_2, 256 }, - { 0x41, LVL_2, 128 }, - { 0x42, LVL_2, 256 }, - { 0x43, LVL_2, 512 }, - { 0x44, LVL_2, 1024 }, - { 0x45, LVL_2, 2048 }, - { 0x60, LVL_1_DATA, 16 }, - { 0x66, LVL_1_DATA, 8 }, - { 0x67, LVL_1_DATA, 16 }, - { 0x68, LVL_1_DATA, 32 }, - { 0x70, LVL_TRACE, 12 }, - { 0x71, LVL_TRACE, 16 }, - { 0x72, LVL_TRACE, 32 }, - { 0x79, LVL_2, 128 }, - { 0x7a, LVL_2, 256 }, - { 0x7b, LVL_2, 512 }, - { 0x7c, LVL_2, 1024 }, - { 0x82, LVL_2, 256 }, - { 0x83, LVL_2, 512 }, - { 0x84, LVL_2, 1024 }, - { 0x85, LVL_2, 2048 }, - { 0x86, LVL_2, 512 }, - { 0x87, LVL_2, 1024 }, - { 0x00, 0, 0} -}; /* * P4 Xeon errata 037 workaround. @@ -131,8 +79,8 @@ static void __init Intel_errata_workarounds(struct cpuinfo_x86 *c) static void __init init_intel(struct cpuinfo_x86 *c) { + unsigned int l2 = 0; char *p = NULL; - unsigned int trace = 0, l1i = 0, l1d = 0, l2 = 0, l3 = 0; /* Cache sizes */ #ifdef CONFIG_X86_F00F_BUG /* @@ -146,7 +94,7 @@ static void __init init_intel(struct cpuinfo_x86 *c) c->f00f_bug = 1; if ( !f00f_workaround_enabled ) { - trap_init_virtual_IDT(); + trap_init_f00f_bug(); printk(KERN_NOTICE "Intel Pentium with F0 0F bug - workaround enabled.\n"); f00f_workaround_enabled = 1; } @@ -154,79 +102,7 @@ static void __init init_intel(struct cpuinfo_x86 *c) #endif select_idle_routine(c); - if (c->cpuid_level > 1) { - /* supports eax=2 call */ - int i, j, n; - int regs[4]; - unsigned char *dp = (unsigned char *)regs; - - /* Number of times to iterate */ - n = cpuid_eax(2) & 0xFF; - - for ( i = 0 ; i < n ; i++ ) { - cpuid(2, ®s[0], ®s[1], ®s[2], ®s[3]); - - /* If bit 31 is set, this is an unknown format */ - for ( j = 0 ; j < 3 ; j++ ) { - if ( regs[j] < 0 ) regs[j] = 0; - } - - /* Byte 0 is level count, not a descriptor */ - for ( j = 1 ; j < 16 ; j++ ) { - unsigned char des = dp[j]; - unsigned char k = 0; - - /* look up this descriptor in the table */ - while (cache_table[k].descriptor != 0) - { - if (cache_table[k].descriptor == des) { - switch (cache_table[k].cache_type) { - case LVL_1_INST: - l1i += cache_table[k].size; - break; - case LVL_1_DATA: - l1d += cache_table[k].size; - break; - case LVL_2: - l2 += cache_table[k].size; - break; - case LVL_3: - l3 += cache_table[k].size; - break; - case LVL_TRACE: - trace += cache_table[k].size; - break; - } - - break; - } - - k++; - } - } - } - - if ( trace ) - printk (KERN_INFO "CPU: Trace cache: %dK uops", trace); - else if ( l1i ) - printk (KERN_INFO "CPU: L1 I cache: %dK", l1i); - if ( l1d ) - printk(", L1 D cache: %dK\n", l1d); - else - printk("\n"); - if ( l2 ) - printk(KERN_INFO "CPU: L2 cache: %dK\n", l2); - if ( l3 ) - printk(KERN_INFO "CPU: L3 cache: %dK\n", l3); - - /* - * This assumes the L3 cache is shared; it typically lives in - * the northbridge. The L1 caches are included by the L2 - * cache, and so should not be included for the purpose of - * SMP switching weights. - */ - c->x86_cache_size = l2 ? l2 : (l1i+l1d); - } + l2 = init_intel_cacheinfo(c); /* SEP CPUID bug: Pentium Pro reports SEP but doesn't have it until model 3 mask 3 */ if ((c->x86<<8 | c->x86_model<<4 | c->x86_mask) < 0x633) diff --git a/arch/i386/kernel/cpu/mcheck/k7.c b/arch/i386/kernel/cpu/mcheck/k7.c index 304bf420f..dcf9f068a 100644 --- a/arch/i386/kernel/cpu/mcheck/k7.c +++ b/arch/i386/kernel/cpu/mcheck/k7.c @@ -54,6 +54,7 @@ static asmlinkage void k7_machine_check(struct pt_regs * regs, long error_code) wrmsr (MSR_IA32_MC0_STATUS+i*4, 0UL, 0UL); /* Serialize */ wmb(); + add_taint(TAINT_MACHINE_CHECK); } } diff --git a/arch/i386/kernel/cpu/mcheck/non-fatal.c b/arch/i386/kernel/cpu/mcheck/non-fatal.c index a1664bb15..7864ddfcc 100644 --- a/arch/i386/kernel/cpu/mcheck/non-fatal.c +++ b/arch/i386/kernel/cpu/mcheck/non-fatal.c @@ -48,6 +48,7 @@ static void mce_checkregs (void *info) /* Serialize */ wmb(); + add_taint(TAINT_MACHINE_CHECK); } } } diff --git a/arch/i386/kernel/cpu/mcheck/p4.c b/arch/i386/kernel/cpu/mcheck/p4.c index b31fc006f..51175846d 100644 --- a/arch/i386/kernel/cpu/mcheck/p4.c +++ b/arch/i386/kernel/cpu/mcheck/p4.c @@ -40,6 +40,7 @@ static void unexpected_thermal_interrupt(struct pt_regs *regs) { printk(KERN_ERR "CPU%d: Unexpected LVT TMR interrupt!\n", smp_processor_id()); + add_taint(TAINT_MACHINE_CHECK); } /* P4/Xeon Thermal transition interrupt handler */ @@ -60,6 +61,7 @@ static void intel_thermal_interrupt(struct pt_regs *regs) printk(KERN_EMERG "CPU%d: Temperature above threshold\n", cpu); printk(KERN_EMERG "CPU%d: Running in modulated clock mode\n", cpu); + add_taint(TAINT_MACHINE_CHECK); } else { printk(KERN_INFO "CPU%d: Temperature/speed normal\n", cpu); } @@ -222,6 +224,7 @@ static asmlinkage void intel_machine_check(struct pt_regs * regs, long error_cod wrmsr(msr, 0UL, 0UL); /* Serialize */ wmb(); + add_taint(TAINT_MACHINE_CHECK); } } mcgstl &= ~(1<<2); diff --git a/arch/i386/kernel/cpu/mcheck/p5.c b/arch/i386/kernel/cpu/mcheck/p5.c index c92cd661c..e62b1f888 100644 --- a/arch/i386/kernel/cpu/mcheck/p5.c +++ b/arch/i386/kernel/cpu/mcheck/p5.c @@ -25,6 +25,7 @@ static asmlinkage void pentium_machine_check(struct pt_regs * regs, long error_c printk(KERN_EMERG "CPU#%d: Machine Check Exception: 0x%8X (type 0x%8X).\n", smp_processor_id(), loaddr, lotype); if(lotype&(1<<5)) printk(KERN_EMERG "CPU#%d: Possible thermal failure (CPU on fire ?).\n", smp_processor_id()); + add_taint(TAINT_MACHINE_CHECK); } /* Set up machine check reporting for processors with Intel style MCE */ diff --git a/arch/i386/kernel/cpu/mcheck/p6.c b/arch/i386/kernel/cpu/mcheck/p6.c index d63e9578c..c8778643b 100644 --- a/arch/i386/kernel/cpu/mcheck/p6.c +++ b/arch/i386/kernel/cpu/mcheck/p6.c @@ -72,6 +72,7 @@ static asmlinkage void intel_machine_check(struct pt_regs * regs, long error_cod wrmsr (msr, 0UL, 0UL); /* Serialize */ wmb(); + add_taint(TAINT_MACHINE_CHECK); } } mcgstl &= ~(1<<2); diff --git a/arch/i386/kernel/cpu/mcheck/winchip.c b/arch/i386/kernel/cpu/mcheck/winchip.c index ddb579da4..64090175f 100644 --- a/arch/i386/kernel/cpu/mcheck/winchip.c +++ b/arch/i386/kernel/cpu/mcheck/winchip.c @@ -19,6 +19,7 @@ static asmlinkage void winchip_machine_check(struct pt_regs * regs, long error_code) { printk(KERN_EMERG "CPU0: Machine Check Exception.\n"); + add_taint(TAINT_MACHINE_CHECK); } /* Set up machine check reporting on the Winchip C6 series */ diff --git a/arch/i386/kernel/cpu/proc.c b/arch/i386/kernel/cpu/proc.c index 423429491..e0ca160ab 100644 --- a/arch/i386/kernel/cpu/proc.c +++ b/arch/i386/kernel/cpu/proc.c @@ -44,8 +44,8 @@ static int show_cpuinfo(struct seq_file *m, void *v) NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* Intel-defined (#2) */ - "pni", NULL, NULL, "monitor", "ds_cpl", NULL, NULL, "tm2", - "est", NULL, "cid", NULL, NULL, NULL, NULL, NULL, + "pni", NULL, NULL, "monitor", "ds_cpl", NULL, NULL, "est", + "tm2", NULL, "cid", NULL, NULL, NULL, "xtpr", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -88,7 +88,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) if (c->x86_cache_size >= 0) seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size); #ifdef CONFIG_X86_HT - if (cpu_has_ht) { + if (smp_num_siblings > 1) { extern int phys_proc_id[NR_CPUS]; seq_printf(m, "physical id\t: %d\n", phys_proc_id[n]); seq_printf(m, "siblings\t: %d\n", smp_num_siblings); diff --git a/arch/i386/kernel/dmi_scan.c b/arch/i386/kernel/dmi_scan.c index d2d2610f2..d4f4a5aff 100644 --- a/arch/i386/kernel/dmi_scan.c +++ b/arch/i386/kernel/dmi_scan.c @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include #include @@ -162,27 +162,6 @@ static void __init dmi_save_ident(struct dmi_header *dm, int slot, int string) #define NO_MATCH { DMI_NONE, NULL} #define MATCH DMI_MATCH -/* - * Some machines, usually laptops, can't handle an enabled local APIC. - * The symptoms include hangs or reboots when suspending or resuming, - * attaching or detaching the power cord, or entering BIOS setup screens - * through magic key sequences. - */ -static int __init local_apic_kills_bios(struct dmi_blacklist *d) -{ -#ifdef CONFIG_X86_LOCAL_APIC - extern int enable_local_apic; - if (enable_local_apic == 0) { - enable_local_apic = -1; - printk(KERN_WARNING "%s with broken BIOS detected. " - "Refusing to enable the local APIC.\n", - d->ident); - } -#endif - return 0; -} - - /* * Toshiba keyboard likes to repeat keys when they are not repeated. */ @@ -284,32 +263,6 @@ static __init int disable_acpi_pci(struct dmi_blacklist *d) static __initdata struct dmi_blacklist dmi_blacklist[]={ - /* Machines which have problems handling enabled local APICs */ - - { local_apic_kills_bios, "Dell Inspiron", { - MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), - MATCH(DMI_PRODUCT_NAME, "Inspiron"), - NO_MATCH, NO_MATCH - } }, - - { local_apic_kills_bios, "Dell Latitude", { - MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"), - MATCH(DMI_PRODUCT_NAME, "Latitude"), - NO_MATCH, NO_MATCH - } }, - - { local_apic_kills_bios, "IBM Thinkpad T20", { - MATCH(DMI_BOARD_VENDOR, "IBM"), - MATCH(DMI_BOARD_NAME, "264741U"), - NO_MATCH, NO_MATCH - } }, - - { local_apic_kills_bios, "ASUS L3C", { - MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), - MATCH(DMI_BOARD_NAME, "P4_L3C"), - NO_MATCH, NO_MATCH - } }, - { broken_toshiba_keyboard, "Toshiba Satellite 4030cdt", { /* Keyboard generates spurious repeats */ MATCH(DMI_PRODUCT_NAME, "S4030CDT/4.3"), NO_MATCH, NO_MATCH, NO_MATCH @@ -490,41 +443,6 @@ static __initdata struct dmi_blacklist dmi_blacklist[]={ { NULL, } }; - - -/* - * Walk the blacklist table running matching functions until someone - * returns 1 or we hit the end. - */ - - -static __init void dmi_check_blacklist(void) -{ -#ifdef CONFIG_ACPI_BOOT -#define ACPI_BLACKLIST_CUTOFF_YEAR 2001 - - if (dmi_ident[DMI_BIOS_DATE]) { - char *s = strrchr(dmi_ident[DMI_BIOS_DATE], '/'); - if (s) { - int year, disable = 0; - s++; - year = simple_strtoul(s,NULL,0); - if (year >= 1000) - disable = year < ACPI_BLACKLIST_CUTOFF_YEAR; - else if (year < 1 || (year > 90 && year <= 99)) - disable = 1; - if (disable && !acpi_force) { - printk(KERN_NOTICE "ACPI disabled because your bios is from %s and too old\n", s); - printk(KERN_NOTICE "You can enable it with acpi=force\n"); - disable_acpi(); - } - } - } -#endif - dmi_check_system(dmi_blacklist); -} - - /* * Process a DMI table entry. Right now all we care about are the BIOS @@ -582,7 +500,7 @@ void __init dmi_scan_machine(void) { int err = dmi_iterate(dmi_decode); if(err == 0) - dmi_check_blacklist(); + dmi_check_system(dmi_blacklist); else printk(KERN_INFO "DMI not present.\n"); } diff --git a/arch/i386/kernel/doublefault.c b/arch/i386/kernel/doublefault.c index 3304416c6..789af3e9f 100644 --- a/arch/i386/kernel/doublefault.c +++ b/arch/i386/kernel/doublefault.c @@ -8,13 +8,12 @@ #include #include #include -#include #define DOUBLEFAULT_STACKSIZE (1024) static unsigned long doublefault_stack[DOUBLEFAULT_STACKSIZE]; #define STACK_START (unsigned long)(doublefault_stack+DOUBLEFAULT_STACKSIZE) -#define ptr_ok(x) (((x) > __PAGE_OFFSET && (x) < (__PAGE_OFFSET + 0x01000000)) || ((x) >= FIXADDR_START)) +#define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + 0x1000000) static void doublefault_fn(void) { @@ -40,8 +39,8 @@ static void doublefault_fn(void) printk("eax = %08lx, ebx = %08lx, ecx = %08lx, edx = %08lx\n", t->eax, t->ebx, t->ecx, t->edx); - printk("esi = %08lx, edi = %08lx, ebp = %08lx\n", - t->esi, t->edi, t->ebp); + printk("esi = %08lx, edi = %08lx\n", + t->esi, t->edi); } } diff --git a/arch/i386/kernel/entry.S b/arch/i386/kernel/entry.S index dfbade1b9..b52697129 100644 --- a/arch/i386/kernel/entry.S +++ b/arch/i386/kernel/entry.S @@ -43,10 +43,8 @@ #include #include #include -#include #include #include -#include #include #include #include "irq_vectors.h" @@ -83,102 +81,7 @@ VM_MASK = 0x00020000 #define resume_kernel restore_all #endif -#ifdef CONFIG_X86_HIGH_ENTRY - -#ifdef CONFIG_X86_SWITCH_PAGETABLES - -#if defined(CONFIG_PREEMPT) && defined(CONFIG_SMP) -/* - * If task is preempted in __SWITCH_KERNELSPACE, and moved to another cpu, - * __switch_to repoints %esp to the appropriate virtual stack; but %ebp is - * left stale, so we must check whether to repeat the real stack calculation. - */ -#define repeat_if_esp_changed \ - xorl %esp, %ebp; \ - testl $-THREAD_SIZE, %ebp; \ - jnz 0b -#else -#define repeat_if_esp_changed -#endif - -/* clobbers ebx, edx and ebp */ - -#define __SWITCH_KERNELSPACE \ - cmpl $0xff000000, %esp; \ - jb 1f; \ - \ - /* \ - * switch pagetables and load the real stack, \ - * keep the stack offset: \ - */ \ - \ - movl $swapper_pg_dir-__PAGE_OFFSET, %edx; \ - \ - /* GET_THREAD_INFO(%ebp) intermixed */ \ -0: \ - movl %esp, %ebp; \ - movl %esp, %ebx; \ - andl $(-THREAD_SIZE), %ebp; \ - andl $(THREAD_SIZE-1), %ebx; \ - orl TI_real_stack(%ebp), %ebx; \ - repeat_if_esp_changed; \ - \ - movl %edx, %cr3; \ - movl %ebx, %esp; \ -1: - -#endif - - -#define __SWITCH_USERSPACE \ - /* interrupted any of the user return paths? */ \ - \ - movl EIP(%esp), %eax; \ - \ - cmpl $int80_ret_start_marker, %eax; \ - jb 33f; /* nope - continue with sysexit check */\ - cmpl $int80_ret_end_marker, %eax; \ - jb 22f; /* yes - switch to virtual stack */ \ -33: \ - cmpl $sysexit_ret_start_marker, %eax; \ - jb 44f; /* nope - continue with user check */ \ - cmpl $sysexit_ret_end_marker, %eax; \ - jb 22f; /* yes - switch to virtual stack */ \ - /* return to userspace? */ \ -44: \ - movl EFLAGS(%esp),%ecx; \ - movb CS(%esp),%cl; \ - testl $(VM_MASK | 3),%ecx; \ - jz 2f; \ -22: \ - /* \ - * switch to the virtual stack, then switch to \ - * the userspace pagetables. \ - */ \ - \ - GET_THREAD_INFO(%ebp); \ - movl TI_virtual_stack(%ebp), %edx; \ - movl TI_user_pgd(%ebp), %ecx; \ - \ - movl %esp, %ebx; \ - andl $(THREAD_SIZE-1), %ebx; \ - orl %ebx, %edx; \ -int80_ret_start_marker: \ - movl %edx, %esp; \ - movl %ecx, %cr3; \ - \ - __RESTORE_ALL; \ -int80_ret_end_marker: \ -2: - -#else /* !CONFIG_X86_HIGH_ENTRY */ - -#define __SWITCH_KERNELSPACE -#define __SWITCH_USERSPACE - -#endif - -#define __SAVE_ALL \ +#define SAVE_ALL \ cld; \ pushl %es; \ pushl %ds; \ @@ -193,7 +96,7 @@ int80_ret_end_marker: \ movl %edx, %ds; \ movl %edx, %es; -#define __RESTORE_INT_REGS \ +#define RESTORE_INT_REGS \ popl %ebx; \ popl %ecx; \ popl %edx; \ @@ -202,28 +105,29 @@ int80_ret_end_marker: \ popl %ebp; \ popl %eax -#define __RESTORE_REGS \ - __RESTORE_INT_REGS; \ -111: popl %ds; \ -222: popl %es; \ +#define RESTORE_REGS \ + RESTORE_INT_REGS; \ +1: popl %ds; \ +2: popl %es; \ .section .fixup,"ax"; \ -444: movl $0,(%esp); \ - jmp 111b; \ -555: movl $0,(%esp); \ - jmp 222b; \ +3: movl $0,(%esp); \ + jmp 1b; \ +4: movl $0,(%esp); \ + jmp 2b; \ .previous; \ .section __ex_table,"a";\ .align 4; \ - .long 111b,444b;\ - .long 222b,555b;\ + .long 1b,3b; \ + .long 2b,4b; \ .previous -#define __RESTORE_ALL \ - __RESTORE_REGS \ + +#define RESTORE_ALL \ + RESTORE_REGS \ addl $4, %esp; \ -333: iret; \ +1: iret; \ .section .fixup,"ax"; \ -666: sti; \ +2: sti; \ movl $(__USER_DS), %edx; \ movl %edx, %ds; \ movl %edx, %es; \ @@ -232,18 +136,10 @@ int80_ret_end_marker: \ .previous; \ .section __ex_table,"a";\ .align 4; \ - .long 333b,666b;\ + .long 1b,2b; \ .previous -#define SAVE_ALL \ - __SAVE_ALL; \ - __SWITCH_KERNELSPACE; -#define RESTORE_ALL \ - __SWITCH_USERSPACE; \ - __RESTORE_ALL; - -.section .entry.text,"ax" ENTRY(lcall7) pushfl # We get a different stack layout with call @@ -348,62 +244,50 @@ sysenter_past_esp: * pushed above, and the word being pushed now: */ pushl (TI_sysenter_return-THREAD_SIZE+4*4)(%esp) - /* - * No six-argument syscall is ever used with sysenter. - */ +/* + * Load the potential sixth argument from user stack. + * Careful about security. + */ + cmpl $__PAGE_OFFSET-3,%ebp + jae syscall_fault +1: movl (%ebp),%ebp +.section __ex_table,"a" + .align 4 + .long 1b,syscall_fault +.previous + pushl %eax SAVE_ALL GET_THREAD_INFO(%ebp) - cmpl $(nr_syscalls), %eax - jae syscall_badsys testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),TI_flags(%ebp) jnz syscall_trace_entry + cmpl $(nr_syscalls), %eax + jae syscall_badsys call *sys_call_table(,%eax,4) movl %eax,EAX(%esp) cli movl TI_flags(%ebp), %ecx testw $_TIF_ALLWORK_MASK, %cx jne syscall_exit_work - -#ifdef CONFIG_X86_SWITCH_PAGETABLES - - GET_THREAD_INFO(%ebp) - movl TI_virtual_stack(%ebp), %edx - movl TI_user_pgd(%ebp), %ecx - movl %esp, %ebx - andl $(THREAD_SIZE-1), %ebx - orl %ebx, %edx -sysexit_ret_start_marker: - movl %edx, %esp - movl %ecx, %cr3 - /* - * only ebx is not restored by the userspace sysenter vsyscall - * code, it assumes it to be callee-saved. - */ - movl EBX(%esp), %ebx -#endif - /* if something modifies registers it must also disable sysexit */ movl EIP(%esp), %edx movl OLDESP(%esp), %ecx + xorl %ebp,%ebp sti sysexit -#ifdef CONFIG_X86_SWITCH_PAGETABLES -sysexit_ret_end_marker: - nop -#endif + # system call handler stub ENTRY(system_call) pushl %eax # save orig_eax SAVE_ALL GET_THREAD_INFO(%ebp) - cmpl $(nr_syscalls), %eax - jae syscall_badsys # system call tracing in operation testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),TI_flags(%ebp) jnz syscall_trace_entry + cmpl $(nr_syscalls), %eax + jae syscall_badsys syscall_call: call *sys_call_table(,%eax,4) movl %eax,EAX(%esp) # store the return value @@ -442,22 +326,6 @@ work_notifysig: # deal with pending signals and # vm86-space xorl %edx, %edx call do_notify_resume - -#if CONFIG_X86_HIGH_ENTRY - /* - * Reload db7 if necessary: - */ - movl TI_flags(%ebp), %ecx - testb $_TIF_DB7, %cl - jnz work_db7 - - jmp restore_all - -work_db7: - movl TI_task(%ebp), %edx; - movl task_thread_db7(%edx), %edx; - movl %edx, %db7; -#endif jmp restore_all ALIGN @@ -485,7 +353,7 @@ syscall_trace_entry: # perform syscall exit tracing ALIGN syscall_exit_work: - testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT), %cl + testb $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SINGLESTEP), %cl jz work_pending sti # could let do_syscall_trace() call # schedule() instead @@ -494,6 +362,14 @@ syscall_exit_work: call do_syscall_trace jmp resume_userspace + ALIGN +syscall_fault: + pushl %eax # save orig_eax + SAVE_ALL + GET_THREAD_INFO(%ebp) + movl $-EFAULT,EAX(%esp) + jmp resume_userspace + ALIGN syscall_badsys: movl $-ENOSYS,EAX(%esp) @@ -505,7 +381,7 @@ syscall_badsys: */ .data ENTRY(interrupt) -.previous +.text vector=0 ENTRY(irq_entries_start) @@ -515,7 +391,7 @@ ENTRY(irq_entries_start) jmp common_interrupt .data .long 1b -.previous +.text vector=vector+1 .endr @@ -556,17 +432,12 @@ error_code: movl ES(%esp), %edi # get the function address movl %eax, ORIG_EAX(%esp) movl %ecx, ES(%esp) + movl %esp, %edx pushl %esi # push the error code + pushl %edx # push the pt_regs pointer movl $(__USER_DS), %edx movl %edx, %ds movl %edx, %es - -/* clobbers edx, ebx and ebp */ - __SWITCH_KERNELSPACE - - leal 4(%esp), %edx # prepare pt_regs - pushl %edx # push pt_regs - call *%edi addl $8, %esp jmp ret_from_exception @@ -623,9 +494,16 @@ ENTRY(debug) jne debug_stack_correct FIX_STACK(12, debug_stack_correct, debug_esp_fix_insn) debug_stack_correct: - pushl $0 - pushl $do_debug - jmp error_code + pushl $-1 # mark this as an int + SAVE_ALL + movl %esp,%edx + pushl $0 + pushl %edx + call do_debug + addl $8,%esp + testl %eax,%eax + jnz restore_all + jmp ret_from_exception /* * NMI is doubly nasty. It can happen _while_ we're handling @@ -657,7 +535,7 @@ nmi_stack_correct: pushl %edx call do_nmi addl $8, %esp - jmp restore_all + RESTORE_ALL nmi_stack_fixup: FIX_STACK(12,nmi_stack_correct, 1) @@ -674,9 +552,16 @@ nmi_debug_stack_fixup: jmp nmi_stack_correct ENTRY(int3) + pushl $-1 # mark this as an int + SAVE_ALL + movl %esp,%edx pushl $0 - pushl $do_int3 - jmp error_code + pushl %edx + call do_int3 + addl $8,%esp + testl %eax,%eax + jnz restore_all + jmp ret_from_exception ENTRY(overflow) pushl $0 @@ -734,8 +619,6 @@ ENTRY(spurious_interrupt_bug) pushl $do_spurious_interrupt_bug jmp error_code -.previous - .data ENTRY(sys_call_table) .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ @@ -1030,8 +913,13 @@ ENTRY(sys_call_table) .long sys_mq_notify .long sys_mq_getsetattr .long sys_kexec_load - .long sys_ioprio_set - .long sys_ioprio_get /* 285 */ + .long sys_waitid +#ifdef USE_IOPRIO_SYSCALLS + .long sys_ioprio_set /* 285 */ + .long sys_ioprio_get +#else +#warning MEF not includig sys_ioprio_{set,get} syscalls +#endif syscall_table_size=(.-sys_call_table) diff --git a/arch/i386/kernel/head.S b/arch/i386/kernel/head.S index 69bad9bd0..95fe2fdf4 100644 --- a/arch/i386/kernel/head.S +++ b/arch/i386/kernel/head.S @@ -521,6 +521,3 @@ ENTRY(cpu_gdt_table) .quad 0x0000000000000000 /* 0xf0 - unused */ .quad 0x0000000000000000 /* 0xf8 - GDT entry 31: double-fault TSS */ -#ifdef CONFIG_SMP - .fill (NR_CPUS-1)*GDT_ENTRIES,8,0 /* other CPU's GDT */ -#endif diff --git a/arch/i386/kernel/i386_ksyms.c b/arch/i386/kernel/i386_ksyms.c index 584982c3e..a7f192362 100644 --- a/arch/i386/kernel/i386_ksyms.c +++ b/arch/i386/kernel/i386_ksyms.c @@ -24,7 +24,6 @@ #include #include #include -#include #include #include #include @@ -33,7 +32,7 @@ #include #include #include -#include +#include extern void dump_thread(struct pt_regs *, struct user *); extern spinlock_t rtc_lock; @@ -73,7 +72,6 @@ EXPORT_SYMBOL(xquad_portio); #endif EXPORT_SYMBOL(dump_thread); EXPORT_SYMBOL(dump_fpu); -EXPORT_SYMBOL(dump_extended_fpu); EXPORT_SYMBOL_GPL(kernel_fpu_begin); EXPORT_SYMBOL(__ioremap); EXPORT_SYMBOL(ioremap_nocache); @@ -89,35 +87,32 @@ EXPORT_SYMBOL(get_cmos_time); EXPORT_SYMBOL(cpu_khz); EXPORT_SYMBOL(apm_info); -EXPORT_SYMBOL_NOVERS(__down_failed); -EXPORT_SYMBOL_NOVERS(__down_failed_interruptible); -EXPORT_SYMBOL_NOVERS(__down_failed_trylock); -EXPORT_SYMBOL_NOVERS(__up_wakeup); +EXPORT_SYMBOL(__down_failed); +EXPORT_SYMBOL(__down_failed_interruptible); +EXPORT_SYMBOL(__down_failed_trylock); +EXPORT_SYMBOL(__up_wakeup); /* Networking helper routines. */ +EXPORT_SYMBOL(csum_partial_copy_generic); /* Delay loops */ EXPORT_SYMBOL(__ndelay); EXPORT_SYMBOL(__udelay); EXPORT_SYMBOL(__delay); EXPORT_SYMBOL(__const_udelay); -EXPORT_SYMBOL_NOVERS(__get_user_1); -EXPORT_SYMBOL_NOVERS(__get_user_2); -EXPORT_SYMBOL_NOVERS(__get_user_4); +EXPORT_SYMBOL(__get_user_1); +EXPORT_SYMBOL(__get_user_2); +EXPORT_SYMBOL(__get_user_4); EXPORT_SYMBOL(strpbrk); EXPORT_SYMBOL(strstr); -#if !defined(CONFIG_X86_UACCESS_INDIRECT) EXPORT_SYMBOL(strncpy_from_user); -EXPORT_SYMBOL(__direct_strncpy_from_user); +EXPORT_SYMBOL(__strncpy_from_user); EXPORT_SYMBOL(clear_user); EXPORT_SYMBOL(__clear_user); EXPORT_SYMBOL(__copy_from_user_ll); EXPORT_SYMBOL(__copy_to_user_ll); EXPORT_SYMBOL(strnlen_user); -#else /* CONFIG_X86_UACCESS_INDIRECT */ -EXPORT_SYMBOL(direct_csum_partial_copy_generic); -#endif EXPORT_SYMBOL(dma_alloc_coherent); EXPORT_SYMBOL(dma_free_coherent); @@ -147,8 +142,8 @@ EXPORT_SYMBOL(cpu_sibling_map); EXPORT_SYMBOL(cpu_data); EXPORT_SYMBOL(cpu_online_map); EXPORT_SYMBOL(cpu_callout_map); -EXPORT_SYMBOL_NOVERS(__write_lock_failed); -EXPORT_SYMBOL_NOVERS(__read_lock_failed); +EXPORT_SYMBOL(__write_lock_failed); +EXPORT_SYMBOL(__read_lock_failed); /* Global SMP stuff */ EXPORT_SYMBOL(synchronize_irq); @@ -180,8 +175,9 @@ EXPORT_SYMBOL_GPL(unset_nmi_callback); #undef memcmp extern int memcmp(const void *,const void *,__kernel_size_t); -EXPORT_SYMBOL_NOVERS(memcmp); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(register_die_notifier); #ifdef CONFIG_HAVE_DEC_LOCK EXPORT_SYMBOL(atomic_dec_and_lock); #endif @@ -208,8 +204,6 @@ EXPORT_SYMBOL(ist_info); EXPORT_SYMBOL(csum_partial); -EXPORT_SYMBOL_GPL(empty_zero_page); - #ifdef CONFIG_CRASH_DUMP_MODULE #ifdef CONFIG_SMP extern irq_desc_t irq_desc[NR_IRQS]; diff --git a/arch/i386/kernel/i387.c b/arch/i386/kernel/i387.c index cc5628f08..073366a48 100644 --- a/arch/i386/kernel/i387.c +++ b/arch/i386/kernel/i387.c @@ -227,7 +227,6 @@ void set_fpu_twd( struct task_struct *tsk, unsigned short twd ) static int convert_fxsr_to_user( struct _fpstate __user *buf, struct i387_fxsave_struct *fxsave ) { - struct _fpreg tmp[8]; /* 80 bytes scratch area */ unsigned long env[7]; struct _fpreg __user *to; struct _fpxreg *from; @@ -244,25 +243,23 @@ static int convert_fxsr_to_user( struct _fpstate __user *buf, if ( __copy_to_user( buf, env, 7 * sizeof(unsigned long) ) ) return 1; - to = tmp; + to = &buf->_st[0]; from = (struct _fpxreg *) &fxsave->st_space[0]; for ( i = 0 ; i < 8 ; i++, to++, from++ ) { unsigned long __user *t = (unsigned long __user *)to; unsigned long *f = (unsigned long *)from; - *t = *f; - *(t + 1) = *(f+1); - to->exponent = from->exponent; + if (__put_user(*f, t) || + __put_user(*(f + 1), t + 1) || + __put_user(from->exponent, &to->exponent)) + return 1; } - if (copy_to_user(buf->_st, tmp, sizeof(struct _fpreg [8]))) - return 1; return 0; } static int convert_fxsr_from_user( struct i387_fxsave_struct *fxsave, struct _fpstate __user *buf ) { - struct _fpreg tmp[8]; /* 80 bytes scratch area */ unsigned long env[7]; struct _fpxreg *to; struct _fpreg __user *from; @@ -270,8 +267,6 @@ static int convert_fxsr_from_user( struct i387_fxsave_struct *fxsave, if ( __copy_from_user( env, buf, 7 * sizeof(long) ) ) return 1; - if (copy_from_user(tmp, buf->_st, sizeof(struct _fpreg [8]))) - return 1; fxsave->cwd = (unsigned short)(env[0] & 0xffff); fxsave->swd = (unsigned short)(env[1] & 0xffff); @@ -283,14 +278,15 @@ static int convert_fxsr_from_user( struct i387_fxsave_struct *fxsave, fxsave->fos = env[6]; to = (struct _fpxreg *) &fxsave->st_space[0]; - from = tmp; + from = &buf->_st[0]; for ( i = 0 ; i < 8 ; i++, to++, from++ ) { unsigned long *t = (unsigned long *)to; unsigned long __user *f = (unsigned long __user *)from; - *t = *f; - *(t + 1) = *(f + 1); - to->exponent = from->exponent; + if (__get_user(*t, f) || + __get_user(*(t + 1), f + 1) || + __get_user(to->exponent, &from->exponent)) + return 1; } return 0; } @@ -523,21 +519,6 @@ int dump_fpu( struct pt_regs *regs, struct user_i387_struct *fpu ) return fpvalid; } -int dump_extended_fpu( struct pt_regs *regs, struct user_fxsr_struct *fpu ) -{ - int fpvalid; - struct task_struct *tsk = current; - - fpvalid = tsk->used_math && cpu_has_fxsr; - if ( fpvalid ) { - unlazy_fpu( tsk ); - memcpy( fpu, &tsk->thread.i387.fxsave, - sizeof(struct user_fxsr_struct) ); - } - - return fpvalid; -} - int dump_task_fpu(struct task_struct *tsk, struct user_i387_struct *fpu) { int fpvalid = tsk->used_math; diff --git a/arch/i386/kernel/i8259.c b/arch/i386/kernel/i8259.c index 7141d27ec..c24b0caa7 100644 --- a/arch/i386/kernel/i8259.c +++ b/arch/i386/kernel/i8259.c @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include @@ -12,10 +11,12 @@ #include #include +#include #include #include #include #include +#include #include #include #include @@ -225,7 +226,7 @@ spurious_8259A_irq: * lets ACK and report it. [once per IRQ] */ if (!(spurious_irq_mask & irqmask)) { - printk("spurious 8259A interrupt: IRQ%d.\n", irq); + printk(KERN_DEBUG "spurious 8259A interrupt: IRQ%d.\n", irq); spurious_irq_mask |= irqmask; } atomic_inc(&irq_err_count); @@ -238,27 +239,52 @@ spurious_8259A_irq: } } +static char irq_trigger[2]; +/** + * ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ + */ +static void restore_ELCR(char *trigger) +{ + outb(trigger[0], 0x4d0); + outb(trigger[1], 0x4d1); +} + +static void save_ELCR(char *trigger) +{ + /* IRQ 0,1,2,8,13 are marked as reserved */ + trigger[0] = inb(0x4d0) & 0xF8; + trigger[1] = inb(0x4d1) & 0xDE; +} + static int i8259A_resume(struct sys_device *dev) { init_8259A(0); + restore_ELCR(irq_trigger); + return 0; +} + +static int i8259A_suspend(struct sys_device *dev, u32 state) +{ + save_ELCR(irq_trigger); return 0; } static int i8259A_shutdown(struct sys_device *dev) { - /* Put the i8259A into a quiescent state that - * the kernel initialization code can get it - * out of. - */ - outb(0xff, 0x21); /* mask all of 8259A-1 */ - outb(0xff, 0xA1); /* mask all of 8259A-1 */ - return 0; + /* Put the i8259A into a quiescent state that + * the kernel initialization code can get it + * out of. + */ + outb(0xff, 0x21); /* mask all of 8259A-1 */ + outb(0xff, 0xA1); /* mask all of 8259A-1 */ + return 0; } static struct sysdev_class i8259_sysdev_class = { set_kset_name("i8259"), + .suspend = i8259A_suspend, .resume = i8259A_resume, - .shutdown = i8259A_shutdown, + .shutdown = i8259A_shutdown, }; static struct sys_device device_i8259A = { @@ -374,46 +400,6 @@ void __init init_ISA_irqs (void) } } -static void setup_timer(void) -{ - extern spinlock_t i8253_lock; - unsigned long flags; - - spin_lock_irqsave(&i8253_lock, flags); - outb_p(0x34,PIT_MODE); /* binary, mode 2, LSB/MSB, ch 0 */ - udelay(10); - outb_p(LATCH & 0xff , PIT_CH0); /* LSB */ - udelay(10); - outb(LATCH >> 8 , PIT_CH0); /* MSB */ - spin_unlock_irqrestore(&i8253_lock, flags); -} - -static int timer_resume(struct sys_device *dev) -{ - setup_timer(); - return 0; -} - -static struct sysdev_class timer_sysclass = { - set_kset_name("timer"), - .resume = timer_resume, -}; - -static struct sys_device device_timer = { - .id = 0, - .cls = &timer_sysclass, -}; - -static int __init init_timer_sysfs(void) -{ - int error = sysdev_class_register(&timer_sysclass); - if (!error) - error = sysdev_register(&device_timer); - return error; -} - -device_initcall(init_timer_sysfs); - void __init init_IRQ(void) { int i; @@ -443,7 +429,7 @@ void __init init_IRQ(void) * Set the clock to HZ Hz, we already have a valid * vector now: */ - setup_timer(); + setup_pit_timer(); /* * External FPU? Set up irq13 if so, for diff --git a/arch/i386/kernel/init_task.c b/arch/i386/kernel/init_task.c index 30cfd4085..9caa8e8db 100644 --- a/arch/i386/kernel/init_task.c +++ b/arch/i386/kernel/init_task.c @@ -27,14 +27,7 @@ EXPORT_SYMBOL(init_mm); */ union thread_union init_thread_union __attribute__((__section__(".data.init_task"))) = - { INIT_THREAD_INFO(init_task, init_thread_union) }; - -#ifdef CONFIG_X86_STACK_CHECK -union thread_union stack_overflow_stack - __attribute__((__section__(".data.init_task"))) = - { INIT_THREAD_INFO(init_task, stack_overflow_stack) }; -#endif - + { INIT_THREAD_INFO(init_task) }; /* * Initial task structure. @@ -47,10 +40,7 @@ EXPORT_SYMBOL(init_task); /* * per-CPU TSS segments. Threads are completely 'soft' on Linux, - * no more per-task TSS's. The TSS size is kept cacheline-aligned - * so they are allowed to end up in the .data.cacheline_aligned - * section. Since TSS's are completely CPU-local, we want them - * on exact cacheline boundaries, to eliminate cacheline ping-pong. + * no more per-task TSS's. */ -struct tss_struct init_tss[NR_CPUS] __attribute__((__section__(".data.tss"))) = { [0 ... NR_CPUS-1] = INIT_TSS }; +DEFINE_PER_CPU(struct tss_struct, init_tss) ____cacheline_maxaligned_in_smp = INIT_TSS; diff --git a/arch/i386/kernel/io_apic.c b/arch/i386/kernel/io_apic.c index f600e6799..4f75b190a 100644 --- a/arch/i386/kernel/io_apic.c +++ b/arch/i386/kernel/io_apic.c @@ -32,6 +32,7 @@ #include #include +#include #include #include #include @@ -85,7 +86,7 @@ int vector_irq[NR_VECTORS] = { [0 ... NR_VECTORS - 1] = -1}; * shared ISA-space IRQs, so we have to support them. We are super * fast in the common case, and fast for shared ISA-space IRQs. */ -static void __init add_pin_to_irq(unsigned int irq, int apic, int pin) +static void add_pin_to_irq(unsigned int irq, int apic, int pin) { static int first_free_entry = NR_IRQS; struct irq_pin_list *entry = irq_2_pin + irq; @@ -635,7 +636,7 @@ failed: return 0; } -static int __init irqbalance_disable(char *str) +int __init irqbalance_disable(char *str) { irqbalance_disabled = 1; return 0; @@ -652,7 +653,7 @@ static inline void move_irq(int irq) } } -__initcall(balanced_irq_init); +late_initcall(balanced_irq_init); #else /* !CONFIG_IRQBALANCE */ static inline void move_irq(int irq) { } @@ -705,13 +706,15 @@ static int __init ioapic_pirq_setup(char *str) pirq_entries[i] = -1; pirqs_enabled = 1; - printk(KERN_INFO "PIRQ redirection, working around broken MP-BIOS.\n"); + apic_printk(APIC_VERBOSE, KERN_INFO + "PIRQ redirection, working around broken MP-BIOS.\n"); max = MAX_PIRQS; if (ints[0] < MAX_PIRQS) max = ints[0]; for (i = 0; i < max; i++) { - printk(KERN_DEBUG "... PIRQ%d -> IRQ %d\n", i, ints[i+1]); + apic_printk(APIC_VERBOSE, KERN_DEBUG + "... PIRQ%d -> IRQ %d\n", i, ints[i+1]); /* * PIRQs are mapped upside down, usually. */ @@ -725,7 +728,7 @@ __setup("pirq=", ioapic_pirq_setup); /* * Find the IRQ entry number of a certain pin. */ -static int __init find_irq_entry(int apic, int pin, int type) +static int find_irq_entry(int apic, int pin, int type) { int i; @@ -742,7 +745,7 @@ static int __init find_irq_entry(int apic, int pin, int type) /* * Find the pin to which IRQ[irq] (ISA) is connected */ -static int __init find_isa_irq_pin(int irq, int type) +static int find_isa_irq_pin(int irq, int type) { int i; @@ -772,8 +775,8 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin) { int apic, i, best_guess = -1; - Dprintk("querying PCI -> IRQ mapping bus:%d, slot:%d, pin:%d.\n", - bus, slot, pin); + apic_printk(APIC_DEBUG, "querying PCI -> IRQ mapping bus:%d, " + "slot:%d, pin:%d.\n", bus, slot, pin); if (mp_bus_id_to_pci_bus[bus] == -1) { printk(KERN_WARNING "PCI BIOS passed nonexistent PCI bus %d!\n", bus); return -1; @@ -835,13 +838,14 @@ void __init setup_ioapic_dest(void) /* * EISA Edge/Level control register, ELCR */ -static int __init EISA_ELCR(unsigned int irq) +static int EISA_ELCR(unsigned int irq) { if (irq < 16) { unsigned int port = 0x4d0 + (irq >> 3); return (inb(port) >> (irq & 7)) & 1; } - printk(KERN_INFO "Broken MPtable reports ISA irq %d\n", irq); + apic_printk(APIC_VERBOSE, KERN_INFO + "Broken MPtable reports ISA irq %d\n", irq); return 0; } @@ -951,7 +955,7 @@ static int __init MPBIOS_polarity(int idx) return polarity; } -static int __init MPBIOS_trigger(int idx) +static int MPBIOS_trigger(int idx) { int bus = mp_irqs[idx].mpc_srcbus; int trigger; @@ -1083,10 +1087,12 @@ static int pin_2_irq(int idx, int apic, int pin) if ((pin >= 16) && (pin <= 23)) { if (pirq_entries[pin-16] != -1) { if (!pirq_entries[pin-16]) { - printk(KERN_DEBUG "disabling PIRQ%d\n", pin-16); + apic_printk(APIC_VERBOSE, KERN_DEBUG + "disabling PIRQ%d\n", pin-16); } else { irq = pirq_entries[pin-16]; - printk(KERN_DEBUG "using PIRQ%d -> IRQ %d\n", + apic_printk(APIC_VERBOSE, KERN_DEBUG + "using PIRQ%d -> IRQ %d\n", pin-16, irq); } } @@ -1114,11 +1120,7 @@ static inline int IO_APIC_irq_trigger(int irq) /* irq_vectors is indexed by the sum of all RTEs in all I/O APICs. */ u8 irq_vector[NR_IRQ_VECTORS] = { FIRST_DEVICE_VECTOR , 0 }; -#ifdef CONFIG_PCI_MSI int assign_irq_vector(int irq) -#else -int __init assign_irq_vector(int irq) -#endif { static int current_vector = FIRST_DEVICE_VECTOR, offset = 0; @@ -1176,7 +1178,7 @@ void __init setup_IO_APIC_irqs(void) int apic, pin, idx, irq, first_notcon = 1, vector; unsigned long flags; - printk(KERN_DEBUG "init IO_APIC IRQs\n"); + apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n"); for (apic = 0; apic < nr_ioapics; apic++) { for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) { @@ -1195,10 +1197,14 @@ void __init setup_IO_APIC_irqs(void) idx = find_irq_entry(apic,pin,mp_INT); if (idx == -1) { if (first_notcon) { - printk(KERN_DEBUG " IO-APIC (apicid-pin) %d-%d", mp_ioapics[apic].mpc_apicid, pin); + apic_printk(APIC_VERBOSE, KERN_DEBUG + " IO-APIC (apicid-pin) %d-%d", + mp_ioapics[apic].mpc_apicid, + pin); first_notcon = 0; } else - printk(", %d-%d", mp_ioapics[apic].mpc_apicid, pin); + apic_printk(APIC_VERBOSE, ", %d-%d", + mp_ioapics[apic].mpc_apicid, pin); continue; } @@ -1239,7 +1245,7 @@ void __init setup_IO_APIC_irqs(void) } if (!first_notcon) - printk(" not connected.\n"); + apic_printk(APIC_VERBOSE, " not connected.\n"); } /* @@ -1299,6 +1305,9 @@ void __init print_IO_APIC(void) union IO_APIC_reg_03 reg_03; unsigned long flags; + if (apic_verbosity == APIC_QUIET) + return; + printk(KERN_DEBUG "number of MP IRQ sources: %d.\n", mp_irq_entries); for (i = 0; i < nr_ioapics; i++) printk(KERN_DEBUG "number of IO-APIC #%d registers: %d.\n", @@ -1441,6 +1450,9 @@ static void print_APIC_bitfield (int base) unsigned int v; int i, j; + if (apic_verbosity == APIC_QUIET) + return; + printk(KERN_DEBUG "0123456789abcdef0123456789abcdef\n" KERN_DEBUG); for (i = 0; i < 8; i++) { v = apic_read(base + i*0x10); @@ -1458,6 +1470,9 @@ void /*__init*/ print_local_APIC(void * dummy) { unsigned int v, ver, maxlvt; + if (apic_verbosity == APIC_QUIET) + return; + printk("\n" KERN_DEBUG "printing local APIC contents on CPU#%d/%d:\n", smp_processor_id(), hard_smp_processor_id()); v = apic_read(APIC_ID); @@ -1545,6 +1560,9 @@ void /*__init*/ print_PIC(void) unsigned int v; unsigned long flags; + if (apic_verbosity == APIC_QUIET) + return; + printk(KERN_DEBUG "\nprinting PIC contents\n"); spin_lock_irqsave(&i8259A_lock, flags); @@ -1711,7 +1729,9 @@ static void __init setup_ioapic_ids_from_mpc(void) } else { physid_mask_t tmp; tmp = apicid_to_cpu_present(mp_ioapics[apic].mpc_apicid); - printk("Setting %d in the phys_id_present_map\n", mp_ioapics[apic].mpc_apicid); + apic_printk(APIC_VERBOSE, "Setting %d in the " + "phys_id_present_map\n", + mp_ioapics[apic].mpc_apicid); physids_or(phys_id_present_map, phys_id_present_map, tmp); } @@ -1730,8 +1750,9 @@ static void __init setup_ioapic_ids_from_mpc(void) * Read the right value from the MPC table and * write it into the ID register. */ - printk(KERN_INFO "...changing IO-APIC physical APIC ID to %d ...", - mp_ioapics[apic].mpc_apicid); + apic_printk(APIC_VERBOSE, KERN_INFO + "...changing IO-APIC physical APIC ID to %d ...", + mp_ioapics[apic].mpc_apicid); reg_00.bits.ID = mp_ioapics[apic].mpc_apicid; spin_lock_irqsave(&ioapic_lock, flags); @@ -1747,7 +1768,7 @@ static void __init setup_ioapic_ids_from_mpc(void) if (reg_00.bits.ID != mp_ioapics[apic].mpc_apicid) printk("could not set ID!\n"); else - printk(" ok.\n"); + apic_printk(APIC_VERBOSE, " ok.\n"); } } #else @@ -2062,11 +2083,11 @@ static void setup_nmi (void) * is from Maciej W. Rozycki - so we do not have to EOI from * the NMI handler or the timer interrupt. */ - printk(KERN_INFO "activating NMI Watchdog ..."); + apic_printk(APIC_VERBOSE, KERN_INFO "activating NMI Watchdog ..."); on_each_cpu(enable_NMI_through_LVT0, NULL, 1, 1); - printk(" done.\n"); + apic_printk(APIC_VERBOSE, " done.\n"); } /* @@ -2243,7 +2264,8 @@ static inline void check_timer(void) return; } printk(" failed :(.\n"); - panic("IO-APIC + timer doesn't work! Try using the 'noapic' kernel parameter\n"); + panic("IO-APIC + timer doesn't work! Boot with apic=debug and send a " + "report. Then try booting with the 'noapic' option"); } /* @@ -2293,6 +2315,98 @@ static int __init io_apic_bug_finalize(void) late_initcall(io_apic_bug_finalize); +struct sysfs_ioapic_data { + struct sys_device dev; + struct IO_APIC_route_entry entry[0]; +}; +static struct sysfs_ioapic_data * mp_ioapic_data[MAX_IO_APICS]; + +static int ioapic_suspend(struct sys_device *dev, u32 state) +{ + struct IO_APIC_route_entry *entry; + struct sysfs_ioapic_data *data; + unsigned long flags; + int i; + + data = container_of(dev, struct sysfs_ioapic_data, dev); + entry = data->entry; + spin_lock_irqsave(&ioapic_lock, flags); + for (i = 0; i < nr_ioapic_registers[dev->id]; i ++, entry ++ ) { + *(((int *)entry) + 1) = io_apic_read(dev->id, 0x11 + 2 * i); + *(((int *)entry) + 0) = io_apic_read(dev->id, 0x10 + 2 * i); + } + spin_unlock_irqrestore(&ioapic_lock, flags); + + return 0; +} + +static int ioapic_resume(struct sys_device *dev) +{ + struct IO_APIC_route_entry *entry; + struct sysfs_ioapic_data *data; + unsigned long flags; + union IO_APIC_reg_00 reg_00; + int i; + + data = container_of(dev, struct sysfs_ioapic_data, dev); + entry = data->entry; + + spin_lock_irqsave(&ioapic_lock, flags); + reg_00.raw = io_apic_read(dev->id, 0); + if (reg_00.bits.ID != mp_ioapics[dev->id].mpc_apicid) { + reg_00.bits.ID = mp_ioapics[dev->id].mpc_apicid; + io_apic_write(dev->id, 0, reg_00.raw); + } + for (i = 0; i < nr_ioapic_registers[dev->id]; i ++, entry ++ ) { + io_apic_write(dev->id, 0x11+2*i, *(((int *)entry)+1)); + io_apic_write(dev->id, 0x10+2*i, *(((int *)entry)+0)); + } + spin_unlock_irqrestore(&ioapic_lock, flags); + + return 0; +} + +static struct sysdev_class ioapic_sysdev_class = { + set_kset_name("ioapic"), + .suspend = ioapic_suspend, + .resume = ioapic_resume, +}; + +static int __init ioapic_init_sysfs(void) +{ + struct sys_device * dev; + int i, size, error = 0; + + error = sysdev_class_register(&ioapic_sysdev_class); + if (error) + return error; + + for (i = 0; i < nr_ioapics; i++ ) { + size = sizeof(struct sys_device) + nr_ioapic_registers[i] + * sizeof(struct IO_APIC_route_entry); + mp_ioapic_data[i] = kmalloc(size, GFP_KERNEL); + if (!mp_ioapic_data[i]) { + printk(KERN_ERR "Can't suspend/resume IOAPIC %d\n", i); + continue; + } + memset(mp_ioapic_data[i], 0, size); + dev = &mp_ioapic_data[i]->dev; + dev->id = i; + dev->cls = &ioapic_sysdev_class; + error = sysdev_register(dev); + if (error) { + kfree(mp_ioapic_data[i]); + mp_ioapic_data[i] = NULL; + printk(KERN_ERR "Can't suspend/resume IOAPIC %d\n", i); + continue; + } + } + + return 0; +} + +device_initcall(ioapic_init_sysfs); + /* -------------------------------------------------------------------------- ACPI-based IOAPIC Configuration -------------------------------------------------------------------------- */ @@ -2365,7 +2479,8 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id) panic("IOAPIC[%d]: Unable change apic_id!\n", ioapic); } - printk(KERN_INFO "IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id); + apic_printk(APIC_VERBOSE, KERN_INFO + "IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id); return apic_id; } @@ -2431,19 +2546,12 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a entry.vector = assign_irq_vector(irq); - Dprintk(KERN_DEBUG "IOAPIC[%d]: Set PCI routing entry (%d-%d -> 0x%x -> " - "IRQ %d Mode:%i Active:%i)\n", ioapic, - mp_ioapics[ioapic].mpc_apicid, pin, entry.vector, irq, edge_level, active_high_low); - - if (use_pci_vector() && !platform_legacy_irq(irq)) - irq = IO_APIC_VECTOR(irq); - if (edge_level) { - irq_desc[irq].handler = &ioapic_level_type; - } else { - irq_desc[irq].handler = &ioapic_edge_type; - } + apic_printk(APIC_DEBUG, KERN_DEBUG "IOAPIC[%d]: Set PCI routing entry " + "(%d-%d -> 0x%x -> IRQ %d Mode:%i Active:%i)\n", ioapic, + mp_ioapics[ioapic].mpc_apicid, pin, entry.vector, irq, + edge_level, active_high_low); - set_intr_gate(entry.vector, interrupt[irq]); + ioapic_register_intr(irq, entry.vector, edge_level); if (!ioapic && (irq < 16)) disable_8259A_irq(irq); diff --git a/arch/i386/kernel/irq.c b/arch/i386/kernel/irq.c index 1c8bedaeb..8e764bd00 100644 --- a/arch/i386/kernel/irq.c +++ b/arch/i386/kernel/irq.c @@ -220,14 +220,19 @@ asmlinkage int handle_IRQ_event(unsigned int irq, struct pt_regs *regs, struct irqaction *action) { int status = 1; /* Force the "do bottom halves" bit */ - int retval = 0; + int ret, retval = 0; + + if (!(action->flags & SA_INTERRUPT)) + local_irq_enable(); if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -271,15 +276,106 @@ static void report_bad_irq(int irq, irq_desc_t *desc, irqreturn_t action_ret) static int noirqdebug; -static int __init noirqdebug_setup(char *str) +int __init noirqdebug_setup(char *str) { noirqdebug = 1; - printk("IRQ lockup detection disabled\n"); + printk(KERN_INFO "IRQ lockup detection disabled\n"); return 1; } __setup("noirqdebug", noirqdebug_setup); +static int irqfixup; + +static int __init irqfixup_setup(char *str) +{ + irqfixup = 1; + printk(KERN_WARNING "Misrouted IRQ fixup support enabled.\n"); + printk(KERN_WARNING "This may impact system performance.\n"); + return 1; +} + +__setup("irqfixup", irqfixup_setup); + +static int __init irqpoll_setup(char *str) +{ + irqfixup = 2; + printk(KERN_WARNING "Misrouted IRQ fixup and polling support enabled.\n"); + printk(KERN_WARNING "This may significantly impact system performance.\n"); + return 1; +} + +__setup("irqpoll", irqpoll_setup); + +/* + * Recovery handler for misrouted interrupts + */ + +static asmlinkage int misrouted_irq(int irq, struct pt_regs *regs) +{ + int i; + irq_desc_t *desc; + int ok = 0; + int work = 0; /* Did we do work for a real IRQ */ + for(i = 1; i < NR_IRQS; i++) + { + struct irqaction *action; + if(i == irq) /* Already tried */ + continue; + desc = &irq_desc[i]; + spin_lock(&desc->lock); + action = desc->action; + /* Already running on another processor */ + if(desc->status & IRQ_INPROGRESS) + { + /* Already running: If it is shared get the other + CPU to go looking for our mystery interrupt too */ + if(desc->action && (desc->action->flags & SA_SHIRQ)) + desc->status |= IRQ_PENDING; + spin_unlock(&desc->lock); + continue; + } + /* Honour the normal IRQ locking */ + desc->status |= IRQ_INPROGRESS; + spin_unlock(&desc->lock); + while(action) + { + /* Only shared IRQ handlers are safe to call */ + if(action->flags & SA_SHIRQ) + { + if(action->handler(i, action->dev_id, regs) == IRQ_HANDLED) + ok = 1; + } + action = action->next; + } + local_irq_disable(); + /* Now clean up the flags */ + spin_lock(&desc->lock); + action = desc->action; + + /* While we were looking for a fixup someone queued a real + IRQ clashing with our walk */ + + while((desc->status & IRQ_PENDING) && action) + { + /* Perform real IRQ processing for the IRQ we deferred */ + work = 1; + spin_unlock(&desc->lock); + handle_IRQ_event(i, regs, action); + spin_lock(&desc->lock); + desc->status &= ~IRQ_PENDING; + } + desc->status &= ~IRQ_INPROGRESS; + /* If we did actual work for the real IRQ line we must + let the IRQ controller clean up too */ + if(work) + desc->handler->end(i); + spin_unlock(&desc->lock); + } + /* So the caller can adjust the irq error counts */ + return ok; +} + /* * If 99,900 of the previous 100,000 interrupts have not been handled then * assume that the IRQ is stuck in some manner. Drop a diagnostic and try to @@ -290,13 +386,61 @@ __setup("noirqdebug", noirqdebug_setup); * * Called under desc->lock */ -static void note_interrupt(int irq, irq_desc_t *desc, irqreturn_t action_ret) +static void note_interrupt(int irq, irq_desc_t *desc, irqreturn_t action_ret, struct pt_regs *regs) { if (action_ret != IRQ_HANDLED) { desc->irqs_unhandled++; if (action_ret != IRQ_NONE) report_bad_irq(irq, desc, action_ret); } + if(unlikely(irqfixup)) /* Don't punish working computers */ + { + if((irqfixup == 2 && irq == 0) || action_ret == IRQ_NONE) + { + int ok; + u32 *isp; + union irq_ctx * curctx; + union irq_ctx * irqctx; + + curctx = (union irq_ctx *) current_thread_info(); + irqctx = hardirq_ctx[smp_processor_id()]; + + spin_unlock(&desc->lock); + + /* + * this is where we switch to the IRQ stack. However, if we are already using + * the IRQ stack (because we interrupted a hardirq handler) we can't do that + * and just have to keep using the current stack (which is the irq stack already + * after all) + */ + + if (curctx == irqctx) + ok = misrouted_irq(irq, regs); + else { + /* build the stack frame on the IRQ stack */ + isp = (u32*) ((char*)irqctx + sizeof(*irqctx)); + irqctx->tinfo.task = curctx->tinfo.task; + irqctx->tinfo.previous_esp = current_stack_pointer(); + + *--isp = (u32) regs; + *--isp = (u32) irq; + + asm volatile( + " xchgl %%ebx,%%esp \n" + " call misrouted_irq \n" + " xchgl %%ebx,%%esp \n" + : "=a"(ok) + : "b"(isp) + : "memory", "cc", "edx", "ecx" + ); + } + spin_lock(&desc->lock); + if (curctx != irqctx) + irqctx->tinfo.task = NULL; + if(action_ret == IRQ_NONE) + desc->irqs_unhandled -= ok; + } + } desc->irq_count++; if (desc->irq_count < 100000) @@ -488,7 +632,6 @@ asmlinkage unsigned int do_IRQ(struct pt_regs regs) * useful for irq hardware that does not mask cleanly in an * SMP environment. */ - for (;;) { irqreturn_t action_ret; u32 *isp; @@ -515,8 +658,6 @@ asmlinkage unsigned int do_IRQ(struct pt_regs regs) /* build the stack frame on the IRQ stack */ isp = (u32*) ((char*)irqctx + sizeof(*irqctx)); irqctx->tinfo.task = curctx->tinfo.task; - irqctx->tinfo.real_stack = curctx->tinfo.real_stack; - irqctx->tinfo.virtual_stack = curctx->tinfo.virtual_stack; irqctx->tinfo.previous_esp = current_stack_pointer(); *--isp = (u32) action; @@ -536,7 +677,7 @@ asmlinkage unsigned int do_IRQ(struct pt_regs regs) } spin_lock(&desc->lock); if (!noirqdebug) - note_interrupt(irq, desc, action_ret); + note_interrupt(irq, desc, action_ret, ®s); if (curctx != irqctx) irqctx->tinfo.task = NULL; if (likely(!(desc->status & IRQ_PENDING))) @@ -981,13 +1122,15 @@ static int irq_affinity_read_proc(char *page, char **start, off_t off, return len; } +int no_irq_affinity; + static int irq_affinity_write_proc(struct file *file, const char __user *buffer, unsigned long count, void *data) { int irq = (long)data, full_count = count, err; cpumask_t new_value, tmp; - if (!irq_desc[irq].handler->set_affinity) + if (!irq_desc[irq].handler->set_affinity || no_irq_affinity) return -EIO; err = cpumask_parse(buffer, count, new_value); @@ -1011,32 +1154,6 @@ static int irq_affinity_write_proc(struct file *file, const char __user *buffer, } #endif - -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, const char __user *buffer, - unsigned long count, void *data) -{ - cpumask_t *mask = (cpumask_t *)data; - unsigned long full_count = count, err; - cpumask_t new_value; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} - #define MAX_NAMELEN 10 static void register_irq_proc (unsigned int irq) @@ -1072,27 +1189,13 @@ static void register_irq_proc (unsigned int irq) #endif } -unsigned long prof_cpu_mask = -1; - void init_irq_proc (void) { - struct proc_dir_entry *entry; int i; /* create /proc/irq */ root_irq_dir = proc_mkdir("irq", NULL); - - /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - if (!entry) - return; - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; - + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. */ @@ -1159,8 +1262,6 @@ asmlinkage void do_softirq(void) curctx = current_thread_info(); irqctx = softirq_ctx[smp_processor_id()]; irqctx->tinfo.task = curctx->task; - irqctx->tinfo.real_stack = curctx->real_stack; - irqctx->tinfo.virtual_stack = curctx->virtual_stack; irqctx->tinfo.previous_esp = current_stack_pointer(); /* build the stack frame on the softirq stack */ diff --git a/arch/i386/kernel/ldt.c b/arch/i386/kernel/ldt.c index fa9637236..bb50afbee 100644 --- a/arch/i386/kernel/ldt.c +++ b/arch/i386/kernel/ldt.c @@ -2,7 +2,7 @@ * linux/kernel/ldt.c * * Copyright (C) 1992 Krishna Balasubramanian and Linus Torvalds - * Copyright (C) 1999, 2003 Ingo Molnar + * Copyright (C) 1999 Ingo Molnar */ #include @@ -18,8 +18,6 @@ #include #include #include -#include -#include #ifdef CONFIG_SMP /* avoids "defined but not used" warnig */ static void flush_ldt(void *null) @@ -31,31 +29,34 @@ static void flush_ldt(void *null) static int alloc_ldt(mm_context_t *pc, int mincount, int reload) { - int oldsize, newsize, i; + void *oldldt; + void *newldt; + int oldsize; if (mincount <= pc->size) return 0; - /* - * LDT got larger - reallocate if necessary. - */ oldsize = pc->size; mincount = (mincount+511)&(~511); - newsize = mincount*LDT_ENTRY_SIZE; - for (i = 0; i < newsize; i += PAGE_SIZE) { - int nr = i/PAGE_SIZE; - BUG_ON(i >= 64*1024); - if (!pc->ldt_pages[nr]) { - pc->ldt_pages[nr] = alloc_page(GFP_HIGHUSER); - if (!pc->ldt_pages[nr]) - return -ENOMEM; - clear_highpage(pc->ldt_pages[nr]); - } - } + if (mincount*LDT_ENTRY_SIZE > PAGE_SIZE) + newldt = vmalloc(mincount*LDT_ENTRY_SIZE); + else + newldt = kmalloc(mincount*LDT_ENTRY_SIZE, GFP_KERNEL); + + if (!newldt) + return -ENOMEM; + + if (oldsize) + memcpy(newldt, pc->ldt, oldsize*LDT_ENTRY_SIZE); + oldldt = pc->ldt; + memset(newldt+oldsize*LDT_ENTRY_SIZE, 0, (mincount-oldsize)*LDT_ENTRY_SIZE); + pc->ldt = newldt; + wmb(); pc->size = mincount; + wmb(); + if (reload) { #ifdef CONFIG_SMP cpumask_t mask; - preempt_disable(); load_LDT(pc); mask = cpumask_of_cpu(smp_processor_id()); @@ -66,20 +67,21 @@ static int alloc_ldt(mm_context_t *pc, int mincount, int reload) load_LDT(pc); #endif } + if (oldsize) { + if (oldsize*LDT_ENTRY_SIZE > PAGE_SIZE) + vfree(oldldt); + else + kfree(oldldt); + } return 0; } static inline int copy_ldt(mm_context_t *new, mm_context_t *old) { - int i, err, size = old->size, nr_pages = (size*LDT_ENTRY_SIZE + PAGE_SIZE-1)/PAGE_SIZE; - - err = alloc_ldt(new, size, 0); - if (err < 0) { - new->size = 0; + int err = alloc_ldt(new, old->size, 0); + if (err < 0) return err; - } - for (i = 0; i < nr_pages; i++) - copy_user_highpage(new->ldt_pages[i], old->ldt_pages[i], 0); + memcpy(new->ldt, old->ldt, old->size*LDT_ENTRY_SIZE); return 0; } @@ -94,7 +96,6 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm) init_MUTEX(&mm->context.sem); mm->context.size = 0; - memset(mm->context.ldt_pages, 0, sizeof(struct page *) * MAX_LDT_PAGES); old_mm = current->mm; if (old_mm && old_mm->context.size > 0) { down(&old_mm->context.sem); @@ -106,21 +107,23 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm) /* * No need to lock the MM as we are the last user - * Do not touch the ldt register, we are already - * in the next thread. */ void destroy_context(struct mm_struct *mm) { - int i, nr_pages = (mm->context.size*LDT_ENTRY_SIZE + PAGE_SIZE-1) / PAGE_SIZE; - - for (i = 0; i < nr_pages; i++) - __free_page(mm->context.ldt_pages[i]); - mm->context.size = 0; + if (mm->context.size) { + if (mm == current->active_mm) + clear_LDT(); + if (mm->context.size*LDT_ENTRY_SIZE > PAGE_SIZE) + vfree(mm->context.ldt); + else + kfree(mm->context.ldt); + mm->context.size = 0; + } } static int read_ldt(void __user * ptr, unsigned long bytecount) { - int err, i; + int err; unsigned long size; struct mm_struct * mm = current->mm; @@ -135,33 +138,21 @@ static int read_ldt(void __user * ptr, unsigned long bytecount) size = bytecount; err = 0; - /* - * This is necessary just in case we got here straight from a - * context-switch where the ptes were set but no tlb flush - * was done yet. We rather avoid doing a TLB flush in the - * context-switch path and do it here instead. - */ - __flush_tlb_global(); - - for (i = 0; i < size; i += PAGE_SIZE) { - int nr = i / PAGE_SIZE, bytes; - char *kaddr = kmap(mm->context.ldt_pages[nr]); - - bytes = size - i; - if (bytes > PAGE_SIZE) - bytes = PAGE_SIZE; - if (copy_to_user(ptr + i, kaddr, bytes)) - err = -EFAULT; - kunmap(mm->context.ldt_pages[nr]); - } + if (copy_to_user(ptr, mm->context.ldt, size)) + err = -EFAULT; up(&mm->context.sem); if (err < 0) - return err; + goto error_return; if (size != bytecount) { /* zero-fill the rest */ - clear_user(ptr+size, bytecount-size); + if (clear_user(ptr+size, bytecount-size) != 0) { + err = -EFAULT; + goto error_return; + } } return bytecount; +error_return: + return err; } static int read_default_ldt(void __user * ptr, unsigned long bytecount) @@ -172,7 +163,7 @@ static int read_default_ldt(void __user * ptr, unsigned long bytecount) err = 0; address = &default_ldt[0]; - size = 5*LDT_ENTRY_SIZE; + size = 5*sizeof(struct desc_struct); if (size > bytecount) size = bytecount; @@ -214,15 +205,7 @@ static int write_ldt(void __user * ptr, unsigned long bytecount, int oldmode) goto out_unlock; } - /* - * No rescheduling allowed from this point to the install. - * - * We do a TLB flush for the same reason as in the read_ldt() path. - */ - preempt_disable(); - __flush_tlb_global(); - lp = (__u32 *) ((ldt_info.entry_number << 3) + - (char *) __kmap_atomic_vaddr(KM_LDT_PAGE0)); + lp = (__u32 *) ((ldt_info.entry_number << 3) + (char *) mm->context.ldt); /* Allow LDTs to be cleared by the user. */ if (ldt_info.base_addr == 0 && ldt_info.limit == 0) { @@ -243,7 +226,6 @@ install: *lp = entry_1; *(lp+1) = entry_2; error = 0; - preempt_enable(); out_unlock: up(&mm->context.sem); @@ -271,26 +253,3 @@ asmlinkage int sys_modify_ldt(int func, void __user *ptr, unsigned long bytecoun } return ret; } - -/* - * load one particular LDT into the current CPU - */ -void load_LDT_nolock(mm_context_t *pc, int cpu) -{ - struct page **pages = pc->ldt_pages; - int count = pc->size; - int nr_pages, i; - - if (likely(!count)) { - pages = &default_ldt_page; - count = 5; - } - nr_pages = (count*LDT_ENTRY_SIZE + PAGE_SIZE-1) / PAGE_SIZE; - - for (i = 0; i < nr_pages; i++) { - __kunmap_atomic_type(KM_LDT_PAGE0 - i); - __kmap_atomic(pages[i], KM_LDT_PAGE0 - i); - } - set_ldt_desc(cpu, (void *)__kmap_atomic_vaddr(KM_LDT_PAGE0), count); - load_LDT_desc(); -} diff --git a/arch/i386/kernel/microcode.c b/arch/i386/kernel/microcode.c index c51ae3c0f..2a4e47f21 100644 --- a/arch/i386/kernel/microcode.c +++ b/arch/i386/kernel/microcode.c @@ -485,6 +485,7 @@ static struct file_operations microcode_fops = { static struct miscdevice microcode_dev = { .minor = MICROCODE_MINOR, .name = "microcode", + .devfs_name = "cpu/microcode", .fops = µcode_fops, }; diff --git a/arch/i386/kernel/mpparse.c b/arch/i386/kernel/mpparse.c index a1c13fb59..41cb82604 100644 --- a/arch/i386/kernel/mpparse.c +++ b/arch/i386/kernel/mpparse.c @@ -690,7 +690,7 @@ void __init get_smp_config (void) * Read the physical hardware table. Anything here will * override the defaults. */ - if (!smp_read_mpc((void *)phys_to_virt(mpf->mpf_physptr))) { + if (!smp_read_mpc((void *)mpf->mpf_physptr)) { smp_found_config = 0; printk(KERN_ERR "BIOS bug, MP table errors detected!...\n"); printk(KERN_ERR "... disabling SMP support. (tell your hw vendor)\n"); diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c index 7a2cdb557..8e32c5120 100644 --- a/arch/i386/kernel/nmi.c +++ b/arch/i386/kernel/nmi.c @@ -26,13 +26,17 @@ #include #include #include +#include #include #include #include #include +#include "mach_traps.h" + unsigned int nmi_watchdog = NMI_NONE; +extern int unknown_nmi_panic; static unsigned int nmi_hz = HZ; static unsigned int nmi_perfctr_msr; /* the MSR to reset in NMI handler */ static unsigned int nmi_p4_cccr_val; @@ -377,7 +381,13 @@ static int setup_p4_watchdog(void) clear_msr_range(0x3F1, 2); /* MSR 0x3F0 seems to have a default value of 0xFC00, but current docs doesn't fully define it, so leave it alone for now. */ - clear_msr_range(0x3A0, 31); + if (boot_cpu_data.x86_model >= 0x3) { + /* MSR_P4_IQ_ESCR0/1 (0x3ba/0x3bb) removed */ + clear_msr_range(0x3A0, 26); + clear_msr_range(0x3BC, 3); + } else { + clear_msr_range(0x3A0, 31); + } clear_msr_range(0x3C0, 6); clear_msr_range(0x3C8, 6); clear_msr_range(0x3E0, 2); @@ -427,8 +437,6 @@ void setup_apic_nmi_watchdog (void) nmi_active = 1; } -static spinlock_t nmi_print_lock = SPIN_LOCK_UNLOCKED; - /* * the best way to detect whether a CPU has a 'hard lockup' problem * is to check it's local APIC timer IRQ counts. If they are not @@ -460,6 +468,8 @@ void touch_nmi_watchdog (void) alert_counter[i] = 0; } +extern void die_nmi(struct pt_regs *, const char *msg); + void nmi_watchdog_tick (struct pt_regs * regs) { @@ -478,22 +488,8 @@ void nmi_watchdog_tick (struct pt_regs * regs) * wait a few IRQs (5 seconds) before doing the oops ... */ alert_counter[cpu]++; - if (alert_counter[cpu] == 60*nmi_hz) { - spin_lock(&nmi_print_lock); - /* - * We are in trouble anyway, lets at least try - * to get a message out. - */ - bust_spinlocks(1); - printk("NMI Watchdog detected LOCKUP on CPU%d, eip %08lx, registers:\n", cpu, regs->eip); - show_registers(regs); - dump("NMI Watchdog detected LOCKUP", regs); - printk("console shuts up ...\n"); - console_silent(); - spin_unlock(&nmi_print_lock); - bust_spinlocks(0); - do_exit(SIGSEGV); - } + if (alert_counter[cpu] == 30*nmi_hz) + die_nmi(regs, "NMI Watchdog detected LOCKUP"); } else { last_irq_sums[cpu] = sum; alert_counter[cpu] = 0; @@ -520,10 +516,52 @@ void nmi_watchdog_tick (struct pt_regs * regs) } } +#ifdef CONFIG_SYSCTL + +static int unknown_nmi_panic_callback(struct pt_regs *regs, int cpu) +{ + unsigned char reason = get_nmi_reason(); + char buf[64]; + + if (!(reason & 0xc0)) { + sprintf(buf, "NMI received for unknown reason %02x\n", reason); + die_nmi(regs, buf); + } + return 0; +} + +/* + * proc handler for /proc/sys/kernel/unknown_nmi_panic + */ +int proc_unknown_nmi_panic(ctl_table *table, int write, struct file *file, + void __user *buffer, size_t *length, loff_t *ppos) +{ + int old_state; + + old_state = unknown_nmi_panic; + proc_dointvec(table, write, file, buffer, length, ppos); + if (!!old_state == !!unknown_nmi_panic) + return 0; + + if (unknown_nmi_panic) { + if (reserve_lapic_nmi() < 0) { + unknown_nmi_panic = 0; + return -EBUSY; + } else { + set_nmi_callback(unknown_nmi_panic_callback); + } + } else { + release_lapic_nmi(); + unset_nmi_callback(); + } + return 0; +} + +#endif + EXPORT_SYMBOL(nmi_active); EXPORT_SYMBOL(nmi_watchdog); EXPORT_SYMBOL(reserve_lapic_nmi); EXPORT_SYMBOL(release_lapic_nmi); EXPORT_SYMBOL(disable_timer_nmi_watchdog); EXPORT_SYMBOL(enable_timer_nmi_watchdog); -EXPORT_SYMBOL_GPL(touch_nmi_watchdog); diff --git a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c index e8a01f2b5..6c00d694a 100644 --- a/arch/i386/kernel/process.c +++ b/arch/i386/kernel/process.c @@ -48,7 +48,6 @@ #include #include #include -#include #ifdef CONFIG_MATH_EMULATION #include #endif @@ -145,13 +144,21 @@ void cpu_idle (void) /* endless idle loop with no priority at all */ while (1) { while (!need_resched()) { - void (*idle)(void) = pm_idle; + void (*idle)(void); + /* + * Mark this as an RCU critical section so that + * synchronize_kernel() in the unload path waits + * for our completion. + */ + rcu_read_lock(); + idle = pm_idle; if (!idle) idle = default_idle; irq_stat[smp_processor_id()].idle_timestamp = jiffies; idle(); + rcu_read_unlock(); } schedule(); } @@ -186,18 +193,13 @@ void __init select_idle_routine(const struct cpuinfo_x86 *c) printk("monitor/mwait feature present.\n"); /* * Skip, if setup has overridden idle. - * Also, take care of system with asymmetric CPUs. - * Use, mwait_idle only if all cpus support it. - * If not, we fallback to default_idle() + * One CPU supports mwait => All CPUs supports mwait */ if (!pm_idle) { printk("using mwait in idle threads.\n"); pm_idle = mwait_idle; } - return; } - pm_idle = default_idle; - return; } static int __init idle_setup (char *str) @@ -221,7 +223,6 @@ __setup("idle=", idle_setup); void stack_overflow(void) { - extern unsigned long stack_overflowed; unsigned long esp = current_stack_pointer(); int panicing = ((esp&(THREAD_SIZE-1)) <= STACK_PANIC); @@ -278,8 +279,6 @@ void show_regs(struct pt_regs * regs) show_trace(NULL, ®s->esp); } -EXPORT_SYMBOL_GPL(show_regs); - /* * This gets run with %ebx containing the * function to call, and %edx containing @@ -325,13 +324,22 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) void exit_thread(void) { struct task_struct *tsk = current; + struct thread_struct *t = &tsk->thread; /* The process may have allocated an io port bitmap... nuke it. */ - if (unlikely(NULL != tsk->thread.io_bitmap_ptr)) { + if (unlikely(NULL != t->io_bitmap_ptr)) { int cpu = get_cpu(); - struct tss_struct *tss = init_tss + cpu; - kfree(tsk->thread.io_bitmap_ptr); - tsk->thread.io_bitmap_ptr = NULL; + struct tss_struct *tss = &per_cpu(init_tss, cpu); + + kfree(t->io_bitmap_ptr); + t->io_bitmap_ptr = NULL; + /* + * Careful, clear this in the TSS too: + */ + memset(tss->io_bitmap, 0xff, tss->io_bitmap_max); + t->io_bitmap_max = 0; + tss->io_bitmap_owner = NULL; + tss->io_bitmap_max = 0; tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; put_cpu(); } @@ -342,9 +350,6 @@ void flush_thread(void) struct task_struct *tsk = current; memset(tsk->thread.debugreg, 0, sizeof(unsigned long)*8); -#ifdef CONFIG_X86_HIGH_ENTRY - clear_thread_flag(TIF_DB7); -#endif memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); /* * Forget coprocessor state.. @@ -358,8 +363,9 @@ void release_thread(struct task_struct *dead_task) if (dead_task->mm) { // temporary debugging check if (dead_task->mm->context.size) { - printk("WARNING: dead process %8s still has LDT? <%d>\n", + printk("WARNING: dead process %8s still has LDT? <%p/%d>\n", dead_task->comm, + dead_task->mm->context.ldt, dead_task->mm->context.size); BUG(); } @@ -383,7 +389,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, { struct pt_regs * childregs; struct task_struct *tsk; - int err, i; + int err; childregs = ((struct pt_regs *) (THREAD_SIZE + (unsigned long) p->thread_info)) - 1; *childregs = *regs; @@ -394,18 +400,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, p->thread.esp = (unsigned long) childregs; p->thread.esp0 = (unsigned long) (childregs+1); - /* - * get the two stack pages, for the virtual stack. - * - * IMPORTANT: this code relies on the fact that the task - * structure is an THREAD_SIZE aligned piece of physical memory. - */ - for (i = 0; i < ARRAY_SIZE(p->thread.stack_page); i++) - p->thread.stack_page[i] = - virt_to_page((unsigned long)p->thread_info + (i*PAGE_SIZE)); - p->thread.eip = (unsigned long) ret_from_fork; - p->thread_info->real_stack = p->thread_info; savesegment(fs,p->thread.fs); savesegment(gs,p->thread.gs); @@ -413,8 +408,10 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, tsk = current; if (unlikely(NULL != tsk->thread.io_bitmap_ptr)) { p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL); - if (!p->thread.io_bitmap_ptr) + if (!p->thread.io_bitmap_ptr) { + p->thread.io_bitmap_max = 0; return -ENOMEM; + } memcpy(p->thread.io_bitmap_ptr, tsk->thread.io_bitmap_ptr, IO_BITMAP_BYTES); } @@ -445,8 +442,10 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long esp, err = 0; out: - if (err && p->thread.io_bitmap_ptr) + if (err && p->thread.io_bitmap_ptr) { kfree(p->thread.io_bitmap_ptr); + p->thread.io_bitmap_max = 0; + } return err; } @@ -511,6 +510,37 @@ int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs) return 1; } +static inline void +handle_io_bitmap(struct thread_struct *next, struct tss_struct *tss) +{ + if (!next->io_bitmap_ptr) { + /* + * Disable the bitmap via an invalid offset. We still cache + * the previous bitmap owner and the IO bitmap contents: + */ + tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; + return; + } + if (likely(next == tss->io_bitmap_owner)) { + /* + * Previous owner of the bitmap (hence the bitmap content) + * matches the next task, we dont have to do anything but + * to set a valid offset in the TSS: + */ + tss->io_bitmap_base = IO_BITMAP_OFFSET; + return; + } + /* + * Lazy TSS's I/O bitmap copy. We set an invalid offset here + * and we let the task to get a GPF in case an I/O instruction + * is performed. The handler of the GPF will verify that the + * faulting task has a valid I/O bitmap and, it true, does the + * real copy and restart the instruction. This will save us + * redundant copies when the currently switched task does not + * perform any I/O during its timeslice. + */ + tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET_LAZY; +} /* * This special macro can be used to load a debugging register */ @@ -551,7 +581,7 @@ struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct tas struct thread_struct *prev = &prev_p->thread, *next = &next_p->thread; int cpu = smp_processor_id(); - struct tss_struct *tss = init_tss + cpu; + struct tss_struct *tss = &per_cpu(init_tss, cpu); /* never put a printk in __switch_to... printk() calls wake_up*() indirectly */ @@ -559,42 +589,10 @@ struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct tas if (next_p->mm) load_user_cs_desc(cpu, next_p->mm); -#ifdef CONFIG_X86_HIGH_ENTRY -{ - int i; - /* - * Set the ptes of the virtual stack. (NOTE: a one-page TLB flush is - * needed because otherwise NMIs could interrupt the - * user-return code with a virtual stack and stale TLBs.) - */ - for (i = 0; i < ARRAY_SIZE(next->stack_page); i++) { - __kunmap_atomic_type(KM_VSTACK_TOP-i); - __kmap_atomic(next->stack_page[i], KM_VSTACK_TOP-i); - } - /* - * NOTE: here we rely on the task being the stack as well - */ - next_p->thread_info->virtual_stack = - (void *)__kmap_atomic_vaddr(KM_VSTACK_TOP); -} -#if defined(CONFIG_PREEMPT) && defined(CONFIG_SMP) - /* - * If next was preempted on entry from userspace to kernel, - * and now it's on a different cpu, we need to adjust %esp. - * This assumes that entry.S does not copy %esp while on the - * virtual stack (with interrupts enabled): which is so, - * except within __SWITCH_KERNELSPACE itself. - */ - if (unlikely(next->esp >= TASK_SIZE)) { - next->esp &= THREAD_SIZE - 1; - next->esp |= (unsigned long) next_p->thread_info->virtual_stack; - } -#endif -#endif /* * Reload esp0, LDT and the page table pointer: */ - load_virtual_esp0(tss, next_p); + load_esp0(tss, next); /* * Load the per-thread Thread-Local Storage descriptor. @@ -629,28 +627,9 @@ struct task_struct fastcall * __switch_to(struct task_struct *prev_p, struct tas loaddebug(next, 7); } - if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr)) { - if (next->io_bitmap_ptr) { - /* - * 4 cachelines copy ... not good, but not that - * bad either. Anyone got something better? - * This only affects processes which use ioperm(). - * [Putting the TSSs into 4k-tlb mapped regions - * and playing VM tricks to switch the IO bitmap - * is not really acceptable.] - */ - memcpy(tss->io_bitmap, next->io_bitmap_ptr, - IO_BITMAP_BYTES); - tss->io_bitmap_base = IO_BITMAP_OFFSET; - } else - /* - * a bitmap offset pointing outside of the TSS limit - * causes a nicely controllable SIGSEGV if a process - * tries to use a port IO instruction. The first - * sys_ioperm() call sets up the bitmap properly. - */ - tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; - } + if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr)) + handle_io_bitmap(next, tss); + return prev_p; } @@ -671,7 +650,7 @@ asmlinkage int sys_clone(struct pt_regs regs) child_tidptr = (int __user *)regs.edi; if (!newsp) newsp = regs.esp; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, parent_tidptr, child_tidptr); + return do_fork(clone_flags, newsp, ®s, 0, parent_tidptr, child_tidptr); } /* diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c index 6f3a62694..cf34977a6 100644 --- a/arch/i386/kernel/ptrace.c +++ b/arch/i386/kernel/ptrace.c @@ -147,6 +147,7 @@ void ptrace_disable(struct task_struct *child) { long tmp; + clear_tsk_thread_flag(child, TIF_SINGLESTEP); tmp = get_stack_long(child, EFL_OFFSET) & ~TRAP_FLAG; put_stack_long(child, EFL_OFFSET, tmp); } @@ -372,6 +373,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) else { clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); } + clear_tsk_thread_flag(child, TIF_SINGLESTEP); child->exit_code = data; /* make sure the single step bit is not set. */ tmp = get_stack_long(child, EFL_OFFSET) & ~TRAP_FLAG; @@ -390,9 +392,10 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) long tmp; ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; + clear_tsk_thread_flag(child, TIF_SINGLESTEP); /* make sure the single step bit is not set. */ tmp = get_stack_long(child, EFL_OFFSET) & ~TRAP_FLAG; put_stack_long(child, EFL_OFFSET, tmp); @@ -413,6 +416,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) } tmp = get_stack_long(child, EFL_OFFSET) | TRAP_FLAG; put_stack_long(child, EFL_OFFSET, tmp); + set_tsk_thread_flag(child, TIF_SINGLESTEP); child->exit_code = data; /* give it a chance to run. */ wake_up_process(child); @@ -537,14 +541,15 @@ void do_syscall_trace(struct pt_regs *regs, int entryexit) audit_syscall_exit(current, regs->eax); } - if (!test_thread_flag(TIF_SYSCALL_TRACE)) + if (!test_thread_flag(TIF_SYSCALL_TRACE) && + !test_thread_flag(TIF_SINGLESTEP)) return; if (!(current->ptrace & PT_PTRACED)) return; /* the 0x80 provides a way for the tracing parent to distinguish between a syscall stop and SIGTRAP delivery */ - ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0)); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) && + !test_thread_flag(TIF_SINGLESTEP) ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do diff --git a/arch/i386/kernel/reboot.c b/arch/i386/kernel/reboot.c index 85e89f94b..d3f517181 100644 --- a/arch/i386/kernel/reboot.c +++ b/arch/i386/kernel/reboot.c @@ -45,7 +45,6 @@ static int __init reboot_setup(char *str) break; #ifdef CONFIG_SMP case 's': /* "smp" reboot by executing reset on BSP or other CPU*/ - reboot_smp = 1; if (is_digit(*(str+1))) { reboot_cpu = (int) (*(str+1) - '0'); if (is_digit(*(str+2))) @@ -208,11 +207,12 @@ void machine_real_restart(unsigned char *code, int length) CMOS_WRITE(0x00, 0x8f); spin_unlock_irqrestore(&rtc_lock, flags); - /* - * Remap the first 16 MB of RAM (which includes the kernel image) - * at virtual address zero: - */ - setup_identity_mappings(swapper_pg_dir, 0, LOW_MAPPINGS_SIZE); + /* Remap the kernel at virtual address zero, as well as offset zero + from the kernel segment. This assumes the kernel segment starts at + virtual address PAGE_OFFSET. */ + + memcpy (swapper_pg_dir, swapper_pg_dir + USER_PGD_PTRS, + sizeof (swapper_pg_dir [0]) * KERNEL_PGD_PTRS); /* * Use `swapper_pg_dir' as our page directory. @@ -272,31 +272,31 @@ void machine_real_restart(unsigned char *code, int length) void machine_shutdown(void) { #ifdef CONFIG_SMP - int reboot_cpu_id; + int reboot_cpu_id; - /* The boot cpu is always logical cpu 0 */ - reboot_cpu_id = 0; + /* The boot cpu is always logical cpu 0 */ + reboot_cpu_id = 0; - /* See if there has been given a command line override */ + /* See if there has been given a command line override */ if ((reboot_cpu_id != -1) && (reboot_cpu < NR_CPUS) && - cpu_isset(reboot_cpu, cpu_online_map)) { - reboot_cpu_id = reboot_cpu; + cpu_isset(reboot_cpu, cpu_online_map)) { + reboot_cpu_id = reboot_cpu; } /* Make certain the cpu I'm rebooting on is online */ - if (!cpu_isset(reboot_cpu_id, cpu_online_map)) { - reboot_cpu_id = smp_processor_id(); + if (!cpu_isset(reboot_cpu_id, cpu_online_map)) { + reboot_cpu_id = smp_processor_id(); } - /* Make certain I only run on the appropriate processor */ - set_cpus_allowed(current, cpumask_of_cpu(reboot_cpu_id)); + /* Make certain I only run on the appropriate processor */ + set_cpus_allowed(current, cpumask_of_cpu(reboot_cpu_id)); - /* O.K. Now that I'm on the appropriate processor, stop - * all of the others, and disable their local APICs. + /* O.K. Now that I'm on the appropriate processor, stop + * all of the others, and disable their local APICs. */ - if (!netdump_mode) smp_send_stop(); + #elif defined(CONFIG_X86_LOCAL_APIC) if (cpu_has_apic) { local_irq_disable(); @@ -311,7 +311,7 @@ void machine_shutdown(void) void machine_restart(char * __unused) { - machine_shutdown(); + machine_shutdown(); if (!reboot_thru_bios) { if (efi_enabled) { diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index c0675d559..6910009bc 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c @@ -49,6 +49,7 @@ #include #include #include "setup_arch_pre.h" +#include /* This value is set up by the early boot code to point to the value immediately after the boot time page tables. It contains a *physical* @@ -218,9 +219,14 @@ static struct resource standard_io_resources[] = { { .end = 0x0021, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { - .name = "timer", + .name = "timer0", .start = 0x0040, - .end = 0x005f, + .end = 0x0043, + .flags = IORESOURCE_BUSY | IORESOURCE_IO +}, { + .name = "timer1", + .start = 0x0050, + .end = 0x0053, .flags = IORESOURCE_BUSY | IORESOURCE_IO }, { .name = "keyboard", @@ -814,6 +820,14 @@ static void __init parse_cmdline_early (char ** cmdline_p) if (c == ' ' && !memcmp(from, "crashdump=", 10)) crashdump_addr = memparse(from+10, &from); + /* + * vmalloc=size forces the vmalloc area to be exactly 'size' + * bytes. This can be used to increase (or decrease) the + * vmalloc area - the default is 128m. + */ + if (c == ' ' && !memcmp(from, "vmalloc=", 8)) + __VMALLOC_RESERVE = memparse(from+8, &from); + c = *(from++); if (!c) break; @@ -996,6 +1010,17 @@ static void __init register_bootmem_low_pages(unsigned long max_low_pfn) } } +/* + * workaround for Dell systems that neglect to reserve EBDA + */ +static void __init reserve_ebda_region(void) +{ + unsigned int addr; + addr = get_bios_ebda(); + if (addr) + reserve_bootmem(addr, PAGE_SIZE); +} + static unsigned long __init setup_memory(void) { unsigned long bootmap_size, start_pfn, max_low_pfn; @@ -1042,6 +1067,9 @@ static unsigned long __init setup_memory(void) */ reserve_bootmem(0, PAGE_SIZE); + /* reserve EBDA region, it's a 4K region */ + reserve_ebda_region(); + /* could be an AMD 768MPX chipset. Reserve a page before VGA to prevent PCI prefetch into it (errata #56). Usually the page is reserved anyways, unless you have no PS/2 mouse plugged in. */ @@ -1344,7 +1372,12 @@ void __init setup_arch(char **cmdline_p) /* * NOTE: before this point _nobody_ is allowed to allocate - * any memory using the bootmem allocator. + * any memory using the bootmem allocator. Although the + * alloctor is now initialised only the first 8Mb of the kernel + * virtual address space has been mapped. All allocations before + * paging_init() has completed must use the alloc_bootmem_low_pages() + * variant (which allocates DMA'able memory) and care must be taken + * not to exceed the 8Mb limit. */ #ifdef CONFIG_SMP @@ -1352,6 +1385,10 @@ void __init setup_arch(char **cmdline_p) #endif paging_init(); + /* + * NOTE: at this point the bootmem allocator is fully available. + */ + #ifdef CONFIG_EARLY_PRINTK { char *s = strstr(*cmdline_p, "earlyprintk="); diff --git a/arch/i386/kernel/signal.c b/arch/i386/kernel/signal.c index 7cebb6832..6d0411a94 100644 --- a/arch/i386/kernel/signal.c +++ b/arch/i386/kernel/signal.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -132,29 +133,28 @@ sys_sigaltstack(unsigned long ebx) */ static int -restore_sigcontext(struct pt_regs *regs, - struct sigcontext __user *__sc, int *peax) +restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax) { - struct sigcontext scratch; /* 88 bytes of scratch area */ + unsigned int err = 0; /* Always make any pending restarted system calls return -EINTR */ current_thread_info()->restart_block.fn = do_no_restart_syscall; - if (copy_from_user(&scratch, __sc, sizeof(scratch))) - return -EFAULT; - -#define COPY(x) regs->x = scratch.x +#define COPY(x) err |= __get_user(regs->x, &sc->x) #define COPY_SEG(seg) \ - { unsigned short tmp = scratch.seg; \ + { unsigned short tmp; \ + err |= __get_user(tmp, &sc->seg); \ regs->x##seg = tmp; } #define COPY_SEG_STRICT(seg) \ - { unsigned short tmp = scratch.seg; \ + { unsigned short tmp; \ + err |= __get_user(tmp, &sc->seg); \ regs->x##seg = tmp|3; } #define GET_SEG(seg) \ - { unsigned short tmp = scratch.seg; \ + { unsigned short tmp; \ + err |= __get_user(tmp, &sc->seg); \ loadsegment(seg,tmp); } #define FIX_EFLAGS (X86_EFLAGS_AC | X86_EFLAGS_OF | X86_EFLAGS_DF | \ @@ -177,23 +177,27 @@ restore_sigcontext(struct pt_regs *regs, COPY_SEG_STRICT(ss); { - unsigned int tmpflags = scratch.eflags; + unsigned int tmpflags; + err |= __get_user(tmpflags, &sc->eflags); regs->eflags = (regs->eflags & ~FIX_EFLAGS) | (tmpflags & FIX_EFLAGS); regs->orig_eax = -1; /* disable syscall checks */ } { - struct _fpstate * buf = scratch.fpstate; + struct _fpstate __user * buf; + err |= __get_user(buf, &sc->fpstate); if (buf) { if (verify_area(VERIFY_READ, buf, sizeof(*buf))) - return -EFAULT; - if (restore_i387(buf)) - return -EFAULT; + goto badframe; + err |= restore_i387(buf); } } - *peax = scratch.eax; - return 0; + err |= __get_user(*peax, &sc->eax); + return err; + +badframe: + return 1; } asmlinkage int sys_sigreturn(unsigned long __unused) @@ -262,47 +266,51 @@ badframe: */ static int -setup_sigcontext(struct sigcontext __user *__sc, struct _fpstate __user *fpstate, +setup_sigcontext(struct sigcontext __user *sc, struct _fpstate __user *fpstate, struct pt_regs *regs, unsigned long mask) { - struct sigcontext sc; /* 88 bytes of scratch area */ - int tmp; + int tmp, err = 0; + unsigned long eflags; tmp = 0; __asm__("movl %%gs,%0" : "=r"(tmp): "0"(tmp)); - *(unsigned int *)&sc.gs = tmp; + err |= __put_user(tmp, (unsigned int __user *)&sc->gs); __asm__("movl %%fs,%0" : "=r"(tmp): "0"(tmp)); - *(unsigned int *)&sc.fs = tmp; - *(unsigned int *)&sc.es = regs->xes; - *(unsigned int *)&sc.ds = regs->xds; - sc.edi = regs->edi; - sc.esi = regs->esi; - sc.ebp = regs->ebp; - sc.esp = regs->esp; - sc.ebx = regs->ebx; - sc.edx = regs->edx; - sc.ecx = regs->ecx; - sc.eax = regs->eax; - sc.trapno = current->thread.trap_no; - sc.err = current->thread.error_code; - sc.eip = regs->eip; - *(unsigned int *)&sc.cs = regs->xcs; - sc.eflags = regs->eflags; - sc.esp_at_signal = regs->esp; - *(unsigned int *)&sc.ss = regs->xss; + err |= __put_user(tmp, (unsigned int __user *)&sc->fs); + + err |= __put_user(regs->xes, (unsigned int __user *)&sc->es); + err |= __put_user(regs->xds, (unsigned int __user *)&sc->ds); + err |= __put_user(regs->edi, &sc->edi); + err |= __put_user(regs->esi, &sc->esi); + err |= __put_user(regs->ebp, &sc->ebp); + err |= __put_user(regs->esp, &sc->esp); + err |= __put_user(regs->ebx, &sc->ebx); + err |= __put_user(regs->edx, &sc->edx); + err |= __put_user(regs->ecx, &sc->ecx); + err |= __put_user(regs->eax, &sc->eax); + err |= __put_user(current->thread.trap_no, &sc->trapno); + err |= __put_user(current->thread.error_code, &sc->err); + err |= __put_user(regs->eip, &sc->eip); + err |= __put_user(regs->xcs, (unsigned int __user *)&sc->cs); + eflags = regs->eflags; + if (current->ptrace & PT_PTRACED) { + eflags &= ~TF_MASK; + } + err |= __put_user(eflags, &sc->eflags); + err |= __put_user(regs->esp, &sc->esp_at_signal); + err |= __put_user(regs->xss, (unsigned int __user *)&sc->ss); tmp = save_i387(fpstate); if (tmp < 0) - return 1; - sc.fpstate = tmp ? fpstate : NULL; + err = 1; + else + err |= __put_user(tmp ? fpstate : NULL, &sc->fpstate); /* non-iBCS2 extensions.. */ - sc.oldmask = mask; - sc.cr2 = current->thread.cr2; + err |= __put_user(mask, &sc->oldmask); + err |= __put_user(current->thread.cr2, &sc->cr2); - if (copy_to_user(__sc, &sc, sizeof(sc))) - return 1; - return 0; + return err; } /* @@ -343,18 +351,20 @@ static void setup_frame(int sig, struct k_sigaction *ka, void __user *restorer; struct sigframe __user *frame; int err = 0; + int usig; frame = get_sigframe(ka, regs, sizeof(*frame)); if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; - err |= __put_user((current_thread_info()->exec_domain - && current_thread_info()->exec_domain->signal_invmap - && sig < 32 - ? current_thread_info()->exec_domain->signal_invmap[sig] - : sig), - &frame->sig); + usig = current_thread_info()->exec_domain + && current_thread_info()->exec_domain->signal_invmap + && sig < 32 + ? current_thread_info()->exec_domain->signal_invmap[sig] + : sig; + + err |= __put_user(usig, &frame->sig); if (err) goto give_sigsegv; @@ -393,13 +403,22 @@ static void setup_frame(int sig, struct k_sigaction *ka, /* Set up registers for signal handler */ regs->esp = (unsigned long) frame; regs->eip = (unsigned long) ka->sa.sa_handler; + regs->eax = (unsigned long) sig; + regs->edx = (unsigned long) 0; + regs->ecx = (unsigned long) 0; set_fs(USER_DS); regs->xds = __USER_DS; regs->xes = __USER_DS; regs->xss = __USER_DS; regs->xcs = __USER_CS; - regs->eflags &= ~TF_MASK; + if (regs->eflags & TF_MASK) { + if (current->ptrace & PT_PTRACED) { + ptrace_notify(SIGTRAP); + } else { + regs->eflags &= ~TF_MASK; + } + } #if DEBUG_SIG printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n", @@ -409,9 +428,7 @@ static void setup_frame(int sig, struct k_sigaction *ka, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, @@ -420,18 +437,20 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, void __user *restorer; struct rt_sigframe __user *frame; int err = 0; + int usig; frame = get_sigframe(ka, regs, sizeof(*frame)); if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) goto give_sigsegv; - err |= __put_user((current_thread_info()->exec_domain - && current_thread_info()->exec_domain->signal_invmap - && sig < 32 - ? current_thread_info()->exec_domain->signal_invmap[sig] - : sig), - &frame->sig); + usig = current_thread_info()->exec_domain + && current_thread_info()->exec_domain->signal_invmap + && sig < 32 + ? current_thread_info()->exec_domain->signal_invmap[sig] + : sig; + + err |= __put_user(usig, &frame->sig); err |= __put_user(&frame->info, &frame->pinfo); err |= __put_user(&frame->uc, &frame->puc); err |= copy_siginfo_to_user(&frame->info, info); @@ -441,7 +460,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, /* Create the ucontext. */ err |= __put_user(0, &frame->uc.uc_flags); err |= __put_user(0, &frame->uc.uc_link); - err |= __put_user(current->sas_ss_sp, (unsigned long *)&frame->uc.uc_stack.ss_sp); + err |= __put_user(current->sas_ss_sp, &frame->uc.uc_stack.ss_sp); err |= __put_user(sas_ss_flags(regs->esp), &frame->uc.uc_stack.ss_flags); err |= __put_user(current->sas_ss_size, &frame->uc.uc_stack.ss_size); @@ -475,13 +494,22 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, /* Set up registers for signal handler */ regs->esp = (unsigned long) frame; regs->eip = (unsigned long) ka->sa.sa_handler; + regs->eax = (unsigned long) usig; + regs->edx = (unsigned long) &frame->info; + regs->ecx = (unsigned long) &frame->uc; set_fs(USER_DS); regs->xds = __USER_DS; regs->xes = __USER_DS; regs->xss = __USER_DS; regs->xcs = __USER_CS; - regs->eflags &= ~TF_MASK; + if (regs->eflags & TF_MASK) { + if (current->ptrace & PT_PTRACED) { + ptrace_notify(SIGTRAP); + } else { + regs->eflags &= ~TF_MASK; + } + } #if DEBUG_SIG printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n", @@ -491,9 +519,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } /* @@ -501,11 +527,9 @@ give_sigsegv: */ static void -handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, - struct pt_regs * regs) +handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, + sigset_t *oldset, struct pt_regs * regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - /* Are we from a system call? */ if (regs->orig_eax >= 0) { /* If so, check system call restarting.. */ @@ -533,9 +557,6 @@ handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, else setup_frame(sig, ka, oldset, regs); - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; - if (!(ka->sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -554,6 +575,7 @@ int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset) { siginfo_t info; int signr; + struct k_sigaction ka; /* * We want the common case to go fast, which @@ -572,17 +594,19 @@ int fastcall do_signal(struct pt_regs *regs, sigset_t *oldset) if (!oldset) oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { /* Reenable any watchpoints before delivering the * signal to user space. The processor register will * have been cleared if the watchpoint triggered * inside the kernel. */ - __asm__("movl %0,%%db7" : : "r" (current->thread.debugreg[7])); + if (unlikely(current->thread.debugreg[7])) { + __asm__("movl %0,%%db7" : : "r" (current->thread.debugreg[7])); + } /* Whee! Actually deliver the signal. */ - handle_signal(signr, &info, oldset, regs); + handle_signal(signr, &info, &ka, oldset, regs); return 1; } diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c index 2772f1852..5c4f1784b 100644 --- a/arch/i386/kernel/smp.c +++ b/arch/i386/kernel/smp.c @@ -23,7 +23,6 @@ #include #include -#include #include /* @@ -105,7 +104,7 @@ * about nothing of note with C stepping upwards. */ -struct tlb_state cpu_tlbstate[NR_CPUS] __cacheline_aligned = {[0 ... NR_CPUS-1] = { &init_mm, 0, }}; +DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate) ____cacheline_aligned = { &init_mm, 0, }; /* * the following functions deal with sending IPIs between CPUs. @@ -123,7 +122,7 @@ static inline int __prepare_ICR2 (unsigned int mask) return SET_APIC_DEST_FIELD(mask); } -inline void __send_IPI_shortcut(unsigned int shortcut, int vector) +void __send_IPI_shortcut(unsigned int shortcut, int vector) { /* * Subtle. In the case of the 'never do double writes' workaround @@ -165,7 +164,7 @@ void fastcall send_IPI_self(int vector) /* * This is only used on smaller machines. */ -inline void send_IPI_mask_bitmask(cpumask_t cpumask, int vector) +void send_IPI_mask_bitmask(cpumask_t cpumask, int vector) { unsigned long mask = cpus_addr(cpumask)[0]; unsigned long cfg; @@ -244,6 +243,8 @@ inline void send_IPI_mask_sequence(cpumask_t mask, int vector) local_irq_restore(flags); } +#include /* must come after the send_IPI functions above for inlining */ + /* * Smarter SMP flushing macros. * c/o Linus Torvalds. @@ -269,9 +270,9 @@ static spinlock_t tlbstate_lock = SPIN_LOCK_UNLOCKED; */ static inline void leave_mm (unsigned long cpu) { - if (cpu_tlbstate[cpu].state == TLBSTATE_OK) + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) BUG(); - cpu_clear(cpu, cpu_tlbstate[cpu].active_mm->cpu_vm_mask); + cpu_clear(cpu, per_cpu(cpu_tlbstate, cpu).active_mm->cpu_vm_mask); load_cr3(swapper_pg_dir); } @@ -338,14 +339,12 @@ asmlinkage void smp_invalidate_interrupt (void) * BUG(); */ - if (flush_mm == cpu_tlbstate[cpu].active_mm) { - if (cpu_tlbstate[cpu].state == TLBSTATE_OK) { -#ifndef CONFIG_X86_SWITCH_PAGETABLES + if (flush_mm == per_cpu(cpu_tlbstate, cpu).active_mm) { + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) { if (flush_va == FLUSH_ALL) local_flush_tlb(); else __flush_tlb_one(flush_va); -#endif } else leave_mm(cpu); } @@ -411,6 +410,21 @@ static void flush_tlb_others(cpumask_t cpumask, struct mm_struct *mm, spin_unlock(&tlbstate_lock); } +void flush_tlb_current_task(void) +{ + struct mm_struct *mm = current->mm; + cpumask_t cpu_mask; + + preempt_disable(); + cpu_mask = mm->cpu_vm_mask; + cpu_clear(smp_processor_id(), cpu_mask); + + local_flush_tlb(); + if (!cpus_empty(cpu_mask)) + flush_tlb_others(cpu_mask, mm, FLUSH_ALL); + preempt_enable(); +} + void flush_tlb_mm (struct mm_struct * mm) { cpumask_t cpu_mask; @@ -442,10 +456,7 @@ void flush_tlb_page(struct vm_area_struct * vma, unsigned long va) if (current->active_mm == mm) { if(current->mm) -#ifndef CONFIG_X86_SWITCH_PAGETABLES - __flush_tlb_one(va) -#endif - ; + __flush_tlb_one(va); else leave_mm(smp_processor_id()); } @@ -461,7 +472,7 @@ static void do_flush_tlb_all(void* info) unsigned long cpu = smp_processor_id(); __flush_tlb_all(); - if (cpu_tlbstate[cpu].state == TLBSTATE_LAZY) + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_LAZY) leave_mm(cpu); } @@ -513,10 +524,7 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic, * The function to run. This must be fast and non-blocking. * An arbitrary pointer to pass to the function. * currently unused. - * If 1, wait (atomically) until function has completed on other CPUs. - * If 0, wait for the IPI to be received by other CPUs, but do not wait - * for the completion of the function on each CPU. - * If -1, do not wait for other CPUs to receive IPI. + * If true, wait (atomically) until function has completed on other CPUs. * [RETURNS] 0 on success, else a negative status code. Does not return until * remote CPUs are nearly ready to execute <> or are or have executed. * @@ -531,14 +539,13 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic, return 0; /* Can deadlock when called with interrupts disabled */ - /* Only if we are waiting for other CPU to ack */ - WARN_ON(irqs_disabled() && wait >= 0); + WARN_ON(irqs_disabled()); data.func = func; data.info = info; atomic_set(&data.started, 0); - data.wait = wait > 0 ? wait : 0; - if (wait > 0) + data.wait = wait; + if (wait) atomic_set(&data.finished, 0); spin_lock(&call_lock); @@ -549,11 +556,10 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic, send_IPI_allbutself(CALL_FUNCTION_VECTOR); /* Wait for response */ - if (wait >= 0) - while (atomic_read(&data.started) != cpus) - barrier(); + while (atomic_read(&data.started) != cpus) + barrier(); - if (wait > 0) + if (wait) while (atomic_read(&data.finished) != cpus) barrier(); spin_unlock(&call_lock); diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 1a9b08190..016a07067 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c @@ -17,7 +17,7 @@ * Fixes * Felix Koop : NR_CPUS used properly * Jose Renau : Handle single CPU case. - * Alan Cox : By repeated request 8) - Total BogoMIP report. + * Alan Cox : By repeated request 8) - Total BogoMIPS report. * Greg Wright : Fix for kernel stacks panic. * Erich Boleyn : MP v1.4 and additional changes. * Matthias Sattler : Changes for 2.1 kernel map. @@ -72,6 +72,10 @@ static cpumask_t smp_commenced_mask; /* Per CPU bogomips and other parameters */ struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned; +u8 x86_cpu_to_apicid[NR_CPUS] = + { [0 ... NR_CPUS-1] = 0xff }; +EXPORT_SYMBOL(x86_cpu_to_apicid); + /* Set when the idlers are all forked */ int smp_threads_ready; @@ -187,34 +191,6 @@ static unsigned long long tsc_values[NR_CPUS]; #define NR_LOOPS 5 -/* - * accurate 64-bit/32-bit division, expanded to 32-bit divisions and 64-bit - * multiplication. Not terribly optimized but we need it at boot time only - * anyway. - * - * result == a / b - * == (a1 + a2*(2^32)) / b - * == a1/b + a2*(2^32/b) - * == a1/b + a2*((2^32-1)/b) + a2/b + (a2*((2^32-1) % b))/b - * ^---- (this multiplication can overflow) - */ - -static unsigned long long __init div64 (unsigned long long a, unsigned long b0) -{ - unsigned int a1, a2; - unsigned long long res; - - a1 = ((unsigned int*)&a)[0]; - a2 = ((unsigned int*)&a)[1]; - - res = a1/b0 + - (unsigned long long)a2 * (unsigned long long)(0xffffffff/b0) + - a2 / b0 + - (a2 * (0xffffffff % b0)) / b0; - - return res; -} - static void __init synchronize_tsc_bp (void) { int i; @@ -224,7 +200,7 @@ static void __init synchronize_tsc_bp (void) unsigned long one_usec; int buggy = 0; - printk("checking TSC synchronization across %u CPUs: ", num_booting_cpus()); + printk(KERN_INFO "checking TSC synchronization across %u CPUs: ", num_booting_cpus()); /* convert from kcyc/sec to cyc/usec */ one_usec = cpu_khz / 1000; @@ -279,7 +255,8 @@ static void __init synchronize_tsc_bp (void) sum += t0; } } - avg = div64(sum, num_booting_cpus()); + avg = sum; + do_div(avg, num_booting_cpus()); sum = 0; for (i = 0; i < NR_CPUS; i++) { @@ -297,18 +274,18 @@ static void __init synchronize_tsc_bp (void) buggy = 1; printk("\n"); } - realdelta = div64(delta, one_usec); + realdelta = delta; + do_div(realdelta, one_usec); if (tsc_values[i] < avg) realdelta = -realdelta; - printk("BIOS BUG: CPU#%d improperly initialized, has %ld usecs TSC skew! FIXED.\n", i, realdelta); + printk(KERN_INFO "CPU#%d had %ld usecs TSC skew, fixed it up.\n", i, realdelta); } sum += delta; } if (!buggy) printk("passed.\n"); - ; } static void __init synchronize_tsc_ap (void) @@ -492,16 +469,6 @@ extern struct { unsigned short ss; } stack_start; -static struct task_struct * __init fork_by_hand(void) -{ - struct pt_regs regs; - /* - * don't care about the eip and regs settings since - * we'll never reschedule the forked task. - */ - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); -} - #ifdef CONFIG_NUMA /* which logical CPUs are on which nodes */ @@ -797,21 +764,10 @@ static int __init do_boot_cpu(int apicid) * We can't use kernel_thread since we must avoid to * reschedule the child. */ - idle = fork_by_hand(); + idle = fork_idle(cpu); if (IS_ERR(idle)) panic("failed fork for CPU %d", cpu); - wake_up_forked_process(idle); - - /* - * We remove it from the pidhash and the runqueue - * once we got the process: - */ - init_idle(idle, cpu); - idle->thread.eip = (unsigned long) start_secondary; - - unhash_process(idle); - /* start_eip had better be page-aligned! */ start_eip = setup_trampoline(); @@ -875,6 +831,7 @@ static int __init do_boot_cpu(int apicid) inquire_remote_apic(apicid); } } + x86_cpu_to_apicid[cpu] = apicid; if (boot_error) { /* Try to put things back the way they were before ... */ unmap_cpu_to_logical_apicid(cpu); @@ -957,6 +914,7 @@ static void __init smp_boot_cpus(unsigned int max_cpus) boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID)); boot_cpu_logical_apicid = logical_smp_processor_id(); + x86_cpu_to_apicid[0] = boot_cpu_physical_apicid; current_thread_info()->cpu = 0; smp_tune_scheduling(); @@ -1132,213 +1090,6 @@ static void __init smp_boot_cpus(unsigned int max_cpus) synchronize_tsc_bp(); } -#ifdef CONFIG_SCHED_SMT -#ifdef CONFIG_NUMA -static struct sched_group sched_group_cpus[NR_CPUS]; -static struct sched_group sched_group_phys[NR_CPUS]; -static struct sched_group sched_group_nodes[MAX_NUMNODES]; -static DEFINE_PER_CPU(struct sched_domain, cpu_domains); -static DEFINE_PER_CPU(struct sched_domain, phys_domains); -static DEFINE_PER_CPU(struct sched_domain, node_domains); -__init void arch_init_sched_domains(void) -{ - int i; - struct sched_group *first = NULL, *last = NULL; - - /* Set up domains */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - struct sched_domain *phys_domain = &per_cpu(phys_domains, i); - struct sched_domain *node_domain = &per_cpu(node_domains, i); - int node = cpu_to_node(i); - cpumask_t nodemask = node_to_cpumask(node); - - *cpu_domain = SD_SIBLING_INIT; - cpu_domain->span = cpu_sibling_map[i]; - cpu_domain->parent = phys_domain; - cpu_domain->groups = &sched_group_cpus[i]; - - *phys_domain = SD_CPU_INIT; - phys_domain->span = nodemask; - phys_domain->parent = node_domain; - phys_domain->groups = &sched_group_phys[first_cpu(cpu_domain->span)]; - - *node_domain = SD_NODE_INIT; - node_domain->span = cpu_possible_map; - node_domain->groups = &sched_group_nodes[cpu_to_node(i)]; - } - - /* Set up CPU (sibling) groups */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - int j; - first = last = NULL; - - if (i != first_cpu(cpu_domain->span)) - continue; - - for_each_cpu_mask(j, cpu_domain->span) { - struct sched_group *cpu = &sched_group_cpus[j]; - - cpu->cpumask = CPU_MASK_NONE; - cpu_set(j, cpu->cpumask); - cpu->cpu_power = SCHED_LOAD_SCALE; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - } - - for (i = 0; i < MAX_NUMNODES; i++) { - int j; - cpumask_t nodemask; - struct sched_group *node = &sched_group_nodes[i]; - cpumask_t node_cpumask = node_to_cpumask(i); - - cpus_and(nodemask, node_cpumask, cpu_possible_map); - - if (cpus_empty(nodemask)) - continue; - - first = last = NULL; - /* Set up physical groups */ - for_each_cpu_mask(j, nodemask) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, j); - struct sched_group *cpu = &sched_group_phys[j]; - - if (j != first_cpu(cpu_domain->span)) - continue; - - cpu->cpumask = cpu_domain->span; - /* - * Make each extra sibling increase power by 10% of - * the basic CPU. This is very arbitrary. - */ - cpu->cpu_power = SCHED_LOAD_SCALE + SCHED_LOAD_SCALE*(cpus_weight(cpu->cpumask)-1) / 10; - node->cpu_power += cpu->cpu_power; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - } - - /* Set up nodes */ - first = last = NULL; - for (i = 0; i < MAX_NUMNODES; i++) { - struct sched_group *cpu = &sched_group_nodes[i]; - cpumask_t nodemask; - cpumask_t node_cpumask = node_to_cpumask(i); - - cpus_and(nodemask, node_cpumask, cpu_possible_map); - - if (cpus_empty(nodemask)) - continue; - - cpu->cpumask = nodemask; - /* ->cpu_power already setup */ - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - - mb(); - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - cpu_attach_domain(cpu_domain, i); - } -} -#else /* !CONFIG_NUMA */ -static struct sched_group sched_group_cpus[NR_CPUS]; -static struct sched_group sched_group_phys[NR_CPUS]; -static DEFINE_PER_CPU(struct sched_domain, cpu_domains); -static DEFINE_PER_CPU(struct sched_domain, phys_domains); -__init void arch_init_sched_domains(void) -{ - int i; - struct sched_group *first = NULL, *last = NULL; - - /* Set up domains */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - struct sched_domain *phys_domain = &per_cpu(phys_domains, i); - - *cpu_domain = SD_SIBLING_INIT; - cpu_domain->span = cpu_sibling_map[i]; - cpu_domain->parent = phys_domain; - cpu_domain->groups = &sched_group_cpus[i]; - - *phys_domain = SD_CPU_INIT; - phys_domain->span = cpu_possible_map; - phys_domain->groups = &sched_group_phys[first_cpu(cpu_domain->span)]; - } - - /* Set up CPU (sibling) groups */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - int j; - first = last = NULL; - - if (i != first_cpu(cpu_domain->span)) - continue; - - for_each_cpu_mask(j, cpu_domain->span) { - struct sched_group *cpu = &sched_group_cpus[j]; - - cpus_clear(cpu->cpumask); - cpu_set(j, cpu->cpumask); - cpu->cpu_power = SCHED_LOAD_SCALE; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - } - - first = last = NULL; - /* Set up physical groups */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - struct sched_group *cpu = &sched_group_phys[i]; - - if (i != first_cpu(cpu_domain->span)) - continue; - - cpu->cpumask = cpu_domain->span; - /* See SMT+NUMA setup for comment */ - cpu->cpu_power = SCHED_LOAD_SCALE + SCHED_LOAD_SCALE*(cpus_weight(cpu->cpumask)-1) / 10; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - - mb(); - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - cpu_attach_domain(cpu_domain, i); - } -} -#endif /* CONFIG_NUMA */ -#endif /* CONFIG_SCHED_SMT */ - /* These are wrappers to interface to the new boot process. Someone who understands all this stuff should rewrite it properly. --RR 15/Jul/02 */ void __init smp_prepare_cpus(unsigned int max_cpus) diff --git a/arch/i386/kernel/sysenter.c b/arch/i386/kernel/sysenter.c index f9363570e..edc7aa978 100644 --- a/arch/i386/kernel/sysenter.c +++ b/arch/i386/kernel/sysenter.c @@ -19,18 +19,13 @@ #include #include #include -#include extern asmlinkage void sysenter_entry(void); void enable_sep_cpu(void *info) { int cpu = get_cpu(); -#ifdef CONFIG_X86_HIGH_ENTRY - struct tss_struct *tss = (struct tss_struct *) __fix_to_virt(FIX_TSS_0) + cpu; -#else - struct tss_struct *tss = init_tss + cpu; -#endif + struct tss_struct *tss = &per_cpu(init_tss, cpu); tss->ss1 = __KERNEL_CS; tss->esp1 = sizeof(struct tss_struct) + (unsigned long) tss; @@ -51,19 +46,19 @@ struct page *sysenter_page; static int __init sysenter_setup(void) { - unsigned long page = get_zeroed_page(GFP_ATOMIC); + void *page = (void *)get_zeroed_page(GFP_ATOMIC); __set_fixmap(FIX_VSYSCALL, __pa(page), PAGE_KERNEL_RO); sysenter_page = virt_to_page(page); if (!boot_cpu_has(X86_FEATURE_SEP)) { - memcpy((void *) page, + memcpy(page, &vsyscall_int80_start, &vsyscall_int80_end - &vsyscall_int80_start); return 0; } - memcpy((void *) page, + memcpy(page, &vsyscall_sysenter_start, &vsyscall_sysenter_end - &vsyscall_sysenter_start); diff --git a/arch/i386/kernel/time_hpet.c b/arch/i386/kernel/time_hpet.c index 0ec677d9e..52fc52661 100644 --- a/arch/i386/kernel/time_hpet.c +++ b/arch/i386/kernel/time_hpet.c @@ -29,7 +29,7 @@ unsigned long hpet_address; /* hpet memory map physical address */ static int use_hpet; /* can be used for runtime check of hpet */ static int boot_hpet_disable; /* boottime override for HPET timer */ -static unsigned long hpet_virt_address; /* hpet kernel virtual address */ +static void __iomem * hpet_virt_address; /* hpet kernel virtual address */ #define FSEC_TO_USEC (1000000000UL) @@ -76,8 +76,7 @@ int __init hpet_enable(void) if (!hpet_address) { return -1; } - hpet_virt_address = (unsigned long) ioremap_nocache(hpet_address, - HPET_MMAP_SIZE); + hpet_virt_address = ioremap_nocache(hpet_address, HPET_MMAP_SIZE); /* * Read the period, compute tick and quotient. */ @@ -162,11 +161,11 @@ int __init hpet_enable(void) hd.hd_irq[0] = HPET_LEGACY_8254; hd.hd_irq[1] = HPET_LEGACY_RTC; if (ntimer > 2) { - struct hpet *hpet; - struct hpet_timer *timer; + struct hpet __iomem *hpet; + struct hpet_timer __iomem *timer; int i; - hpet = (struct hpet *) hpet_virt_address; + hpet = hpet_virt_address; for (i = 2, timer = &hpet->hpet_timers[2]; i < ntimer; timer++, i++) diff --git a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c index a1e3f6f96..34e9b8eba 100644 --- a/arch/i386/kernel/timers/timer_tsc.c +++ b/arch/i386/kernel/timers/timer_tsc.c @@ -265,7 +265,8 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, { struct cpufreq_freqs *freq = data; - write_seqlock_irq(&xtime_lock); + if (val != CPUFREQ_RESUMECHANGE) + write_seqlock_irq(&xtime_lock); if (!ref_freq) { ref_freq = freq->old; loops_per_jiffy_ref = cpu_data[freq->cpu].loops_per_jiffy; @@ -291,7 +292,9 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, } #endif } - write_sequnlock_irq(&xtime_lock); + + if (val != CPUFREQ_RESUMECHANGE) + write_sequnlock_irq(&xtime_lock); return 0; } diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 6e9ed08c8..4c16d9fed 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c @@ -27,6 +27,7 @@ #include #include #include +#include #ifdef CONFIG_EISA #include @@ -49,14 +50,19 @@ #include #include +#include #include #include #include "mach_traps.h" -struct desc_struct default_ldt[] __attribute__((__section__(".data.default_ldt"))) = { { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 } }; -struct page *default_ldt_page; +asmlinkage int system_call(void); +asmlinkage void lcall7(void); +asmlinkage void lcall27(void); + +struct desc_struct default_ldt[] = { { 0, 0 }, { 0, 0 }, { 0, 0 }, + { 0, 0 }, { 0, 0 } }; /* Do we ignore FPU interrupts ? */ char ignore_fpu_irq = 0; @@ -89,37 +95,40 @@ asmlinkage void spurious_interrupt_bug(void); asmlinkage void machine_check(void); static int kstack_depth_to_print = 24; +struct notifier_block *i386die_chain; +static spinlock_t die_notifier_lock = SPIN_LOCK_UNLOCKED; -static int valid_stack_ptr(struct task_struct *task, void *p) +int register_die_notifier(struct notifier_block *nb) { - if (p <= (void *)task->thread_info) - return 0; - if (kstack_end(p)) - return 0; - return 1; + int err = 0; + unsigned long flags; + spin_lock_irqsave(&die_notifier_lock, flags); + err = notifier_chain_register(&i386die_chain, nb); + spin_unlock_irqrestore(&die_notifier_lock, flags); + return err; } -#ifdef CONFIG_FRAME_POINTER -static void print_context_stack(struct task_struct *task, unsigned long *stack, - unsigned long ebp) +static inline int valid_stack_ptr(struct thread_info *tinfo, void *p) +{ + return p > (void *)tinfo && + p < (void *)tinfo + THREAD_SIZE - 3; +} + +static inline unsigned long print_context_stack(struct thread_info *tinfo, + unsigned long *stack, unsigned long ebp) { unsigned long addr; - while (valid_stack_ptr(task, (void *)ebp)) { +#ifdef CONFIG_FRAME_POINTER + while (valid_stack_ptr(tinfo, (void *)ebp)) { addr = *(unsigned long *)(ebp + 4); printk(" [<%08lx>] ", addr); print_symbol("%s", addr); printk("\n"); ebp = *(unsigned long *)ebp; } -} #else -static void print_context_stack(struct task_struct *task, unsigned long *stack, - unsigned long ebp) -{ - unsigned long addr; - - while (!kstack_end(stack)) { + while (valid_stack_ptr(tinfo, stack)) { addr = *stack++; if (__kernel_text_address(addr)) { printk(" [<%08lx>]", addr); @@ -127,8 +136,9 @@ static void print_context_stack(struct task_struct *task, unsigned long *stack, printk("\n"); } } -} #endif + return ebp; +} void show_trace(struct task_struct *task, unsigned long * stack) { @@ -137,11 +147,6 @@ void show_trace(struct task_struct *task, unsigned long * stack) if (!task) task = current; - if (!valid_stack_ptr(task, stack)) { - printk("Stack pointer is garbage, not printing trace\n"); - return; - } - if (task == current) { /* Grab ebp right from our regs */ asm ("movl %%ebp, %0" : "=r" (ebp) : ); @@ -154,7 +159,7 @@ void show_trace(struct task_struct *task, unsigned long * stack) struct thread_info *context; context = (struct thread_info *) ((unsigned long)stack & (~(THREAD_SIZE - 1))); - print_context_stack(task, stack, ebp); + ebp = print_context_stack(context, stack, ebp); stack = (unsigned long*)context->previous_esp; if (!stack) break; @@ -213,7 +218,7 @@ void show_registers(struct pt_regs *regs) ss = regs->xss & 0xffff; } print_modules(); - printk("CPU: %d\nEIP: %04x:[<%08lx>] %s\nEFLAGS: %08lx" + printk("CPU: %d\nEIP: %04x:[<%08lx>] %s VLI\nEFLAGS: %08lx" " (%s) \n", smp_processor_id(), 0xffff & regs->xcs, regs->eip, print_tainted(), regs->eflags, UTS_RELEASE); @@ -231,25 +236,25 @@ void show_registers(struct pt_regs *regs) * time of the fault.. */ if (in_kernel) { + u8 *eip; printk("\nStack: "); show_stack(NULL, (unsigned long*)esp); printk("Code: "); - if(regs->eip < PAGE_OFFSET) - goto bad; - - for(i=0;i<20;i++) - { - unsigned char c = 0; - if ((user_mode(regs) && get_user(c, &((unsigned char*)regs->eip)[i])) || - (!user_mode(regs) && __direct_get_user(c, &((unsigned char*)regs->eip)[i]))) { - -bad: + + eip = (u8 *)regs->eip - 43; + for (i = 0; i < 64; i++, eip++) { + unsigned char c; + + if (eip < (u8 *)PAGE_OFFSET || __get_user(c, eip)) { printk(" Bad EIP value."); break; } - printk("%02x ", c); + if (eip == (u8 *)regs->eip) + printk("<%02x> ", c); + else + printk("%02x ", c); } } printk("\n"); @@ -268,14 +273,16 @@ static void handle_BUG(struct pt_regs *regs) eip = regs->eip; - if (__direct_get_user(ud2, (unsigned short *)eip)) + if (eip < PAGE_OFFSET) + goto no_bug; + if (__get_user(ud2, (unsigned short *)eip)) goto no_bug; if (ud2 != 0x0b0f) goto no_bug; - if (__direct_get_user(line, (unsigned short *)(eip + 2))) + if (__get_user(line, (unsigned short *)(eip + 2))) goto bug; - if (__direct_get_user(file, (char **)(eip + 4)) || - __direct_get_user(c, file)) + if (__get_user(file, (char **)(eip + 4)) || + (unsigned long)file < PAGE_OFFSET || __get_user(c, file)) file = ""; printk("------------[ cut here ]------------\n"); @@ -289,52 +296,63 @@ bug: printk("Kernel BUG\n"); } -spinlock_t die_lock = SPIN_LOCK_UNLOCKED; -static int die_owner = -1; - void die(const char * str, struct pt_regs * regs, long err) { + static struct { + spinlock_t lock; + u32 lock_owner; + int lock_owner_depth; + } die = { + .lock = SPIN_LOCK_UNLOCKED, + .lock_owner = -1, + .lock_owner_depth = 0 + }; static int die_counter; - int nl = 0; - - console_verbose(); - local_irq_disable(); - if (!spin_trylock(&die_lock)) { - if (smp_processor_id() != die_owner) - spin_lock(&die_lock); - /* allow recursive die to fall through */ + + if (die.lock_owner != smp_processor_id()) { + console_verbose(); + spin_lock_irq(&die.lock); + die.lock_owner = smp_processor_id(); + die.lock_owner_depth = 0; + bust_spinlocks(1); } - die_owner = smp_processor_id(); - bust_spinlocks(1); - handle_BUG(regs); - printk(KERN_ALERT "%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); + + if (++die.lock_owner_depth < 3) { + int nl = 0; + handle_BUG(regs); + printk(KERN_ALERT "%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); #ifdef CONFIG_PREEMPT - printk("PREEMPT "); - nl = 1; + printk("PREEMPT "); + nl = 1; #endif #ifdef CONFIG_SMP - printk("SMP "); - nl = 1; + printk("SMP "); + nl = 1; #endif #ifdef CONFIG_DEBUG_PAGEALLOC - printk("DEBUG_PAGEALLOC"); - nl = 1; + printk("DEBUG_PAGEALLOC"); + nl = 1; #endif - if (nl) - printk("\n"); - show_registers(regs); - if (netdump_func) - netdump_func(regs); - dump((char *)str, regs); + if (nl) + printk("\n"); + notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); + show_registers(regs); +#warning MEF netdump_func not part of 2.6.9-1.11-FC2; taking out call for now +#if 0 + if (netdump_func) + netdump_func(regs); +#endif + dump((char *)str, regs); + } else + printk(KERN_ERR "Recursive die() failure, output suppressed\n"); + bust_spinlocks(0); - die_owner = -1; - spin_unlock_irq(&die_lock); + die.lock_owner = -1; + spin_unlock_irq(&die.lock); if (in_interrupt()) panic("Fatal exception in interrupt"); if (panic_on_oops) { - if (netdump_func) - netdump_func = NULL; printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(5 * HZ); @@ -397,6 +415,9 @@ static inline void do_trap(int trapnr, int signr, char *str, int vm86, #define DO_ERROR(trapnr, signr, str, name) \ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ { \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ + return; \ do_trap(trapnr, signr, str, 0, regs, error_code, NULL); \ } @@ -408,12 +429,18 @@ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ info.si_errno = 0; \ info.si_code = sicode; \ info.si_addr = (void __user *)siaddr; \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ + return; \ do_trap(trapnr, signr, str, 0, regs, error_code, &info); \ } #define DO_VM86_ERROR(trapnr, signr, str, name) \ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ { \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ + return; \ do_trap(trapnr, signr, str, 1, regs, error_code, NULL); \ } @@ -425,11 +452,16 @@ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ info.si_errno = 0; \ info.si_code = sicode; \ info.si_addr = (void __user *)siaddr; \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ + return; \ do_trap(trapnr, signr, str, 1, regs, error_code, &info); \ } DO_VM86_ERROR_INFO( 0, SIGFPE, "divide error", divide_error, FPE_INTDIV, regs->eip) +#ifndef CONFIG_KPROBES DO_VM86_ERROR( 3, SIGTRAP, "int3", int3) +#endif DO_VM86_ERROR( 4, SIGSEGV, "overflow", overflow) DO_VM86_ERROR( 5, SIGSEGV, "bounds", bounds) DO_ERROR_INFO( 6, SIGILL, "invalid operand", invalid_op, ILL_ILLOPN, regs->eip) @@ -437,7 +469,7 @@ DO_ERROR( 9, SIGFPE, "coprocessor segment overrun", coprocessor_segment_overrun DO_ERROR(10, SIGSEGV, "invalid TSS", invalid_TSS) DO_ERROR(11, SIGBUS, "segment not present", segment_not_present) DO_ERROR(12, SIGBUS, "stack segment", stack_segment) -DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, get_cr2()) +DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, 0) /* * the original non-exec stack patch was written by @@ -445,9 +477,36 @@ DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, get_cr */ asmlinkage void do_general_protection(struct pt_regs * regs, long error_code) { - if (regs->eflags & X86_EFLAGS_IF) - local_irq_enable(); - + int cpu = get_cpu(); + struct tss_struct *tss = &per_cpu(init_tss, cpu); + struct thread_struct *thread = ¤t->thread; + + /* + * Perform the lazy TSS's I/O bitmap copy. If the TSS has an + * invalid offset set (the LAZY one) and the faulting thread has + * a valid I/O bitmap pointer, we copy the I/O bitmap in the TSS + * and we set the offset field correctly. Then we let the CPU to + * restart the faulting instruction. + */ + if (tss->io_bitmap_base == INVALID_IO_BITMAP_OFFSET_LAZY && + thread->io_bitmap_ptr) { + memcpy(tss->io_bitmap, thread->io_bitmap_ptr, + thread->io_bitmap_max); + /* + * If the previously set map was extending to higher ports + * than the current one, pad extra space with 0xff (no access). + */ + if (thread->io_bitmap_max < tss->io_bitmap_max) + memset((char *) tss->io_bitmap + + thread->io_bitmap_max, 0xff, + tss->io_bitmap_max - thread->io_bitmap_max); + tss->io_bitmap_max = thread->io_bitmap_max; + tss->io_bitmap_base = IO_BITMAP_OFFSET; + put_cpu(); + return; + } + put_cpu(); + if (regs->eflags & VM_MASK) goto gp_in_vm86; @@ -473,7 +532,7 @@ asmlinkage void do_general_protection(struct pt_regs * regs, long error_code) set_user_cs(¤t->mm->context.user_cs, limit); desc1 = ¤t->mm->context.user_cs; - desc2 = cpu_gdt_table[cpu] + GDT_ENTRY_DEFAULT_USER_CS; + desc2 = per_cpu(cpu_gdt_table, cpu) + GDT_ENTRY_DEFAULT_USER_CS; /* * The CS was not in sync - reload it and retry the @@ -505,15 +564,19 @@ gp_in_vm86: return; gp_in_kernel: - if (!fixup_exception(regs)) + if (!fixup_exception(regs)) { + if (notify_die(DIE_GPF, "general protection fault", regs, + error_code, 13, SIGSEGV) == NOTIFY_STOP); + return; die("general protection fault", regs, error_code); + } } static void mem_parity_error(unsigned char reason, struct pt_regs * regs) { printk("Uhhuh. NMI received. Dazed and confused, but trying to continue\n"); printk("You probably have a hardware problem with your RAM chips\n"); - panic("Halting\n"); + /* Clear and disable the memory parity error line. */ clear_mem_error(reason); } @@ -550,11 +613,35 @@ static void unknown_nmi_error(unsigned char reason, struct pt_regs * regs) printk("Do you have a strange power saving mode enabled?\n"); } +static spinlock_t nmi_print_lock = SPIN_LOCK_UNLOCKED; + +void die_nmi (struct pt_regs *regs, const char *msg) +{ + spin_lock(&nmi_print_lock); + /* + * We are in trouble anyway, lets at least try + * to get a message out. + */ + bust_spinlocks(1); + printk(msg); + printk(" on CPU%d, eip %08lx, registers:\n", + smp_processor_id(), regs->eip); + show_registers(regs); + printk("console shuts up ...\n"); + console_silent(); + spin_unlock(&nmi_print_lock); + bust_spinlocks(0); + do_exit(SIGSEGV); +} + static void default_do_nmi(struct pt_regs * regs) { unsigned char reason = get_nmi_reason(); if (!(reason & 0xc0)) { + if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 0, SIGINT) + == NOTIFY_STOP) + return; #ifdef CONFIG_X86_LOCAL_APIC /* * Ok, so this is none of the documented NMI sources, @@ -568,6 +655,8 @@ static void default_do_nmi(struct pt_regs * regs) unknown_nmi_error(reason, regs); return; } + if (notify_die(DIE_NMI, "nmi", regs, reason, 0, SIGINT) == NOTIFY_STOP) + return; if (reason & 0x80) mem_parity_error(reason, regs); if (reason & 0x40) @@ -611,6 +700,20 @@ void unset_nmi_callback(void) nmi_callback = dummy_nmi_callback; } +#ifdef CONFIG_KPROBES +asmlinkage int do_int3(struct pt_regs *regs, long error_code) +{ + if (notify_die(DIE_INT3, "int3", regs, error_code, 3, SIGTRAP) + == NOTIFY_STOP) + return 1; + /* This is an interrupt gate, because kprobes wants interrupts + disabled. Normal trap handlers don't. */ + restore_interrupts(regs); + do_trap(3, SIGTRAP, "int3", 1, regs, error_code, NULL); + return 0; +} +#endif + /* * Our handling of the processor debug registers is non-trivial. * We do not clear them on entry and exit from the kernel. Therefore @@ -641,22 +744,17 @@ asmlinkage void do_debug(struct pt_regs * regs, long error_code) __asm__ __volatile__("movl %%db6,%0" : "=r" (condition)); + if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code, + SIGTRAP) == NOTIFY_STOP) + return; /* It's safe to allow irq's after DR6 has been saved */ if (regs->eflags & X86_EFLAGS_IF) local_irq_enable(); - /* - * Mask out spurious debug traps due to lazy DR7 setting or - * due to 4G/4G kernel mode: - */ + /* Mask out spurious debug traps due to lazy DR7 setting */ if (condition & (DR_TRAP0|DR_TRAP1|DR_TRAP2|DR_TRAP3)) { if (!tsk->thread.debugreg[7]) goto clear_dr7; - if (!user_mode(regs)) { - // restore upon return-to-userspace: - set_thread_flag(TIF_DB7); - goto clear_dr7; - } } if (regs->eflags & VM_MASK) @@ -898,53 +996,19 @@ asmlinkage void math_emulate(long arg) #endif /* CONFIG_MATH_EMULATION */ -void __init trap_init_virtual_IDT(void) +#ifdef CONFIG_X86_F00F_BUG +void __init trap_init_f00f_bug(void) { + __set_fixmap(FIX_F00F_IDT, __pa(&idt_table), PAGE_KERNEL_RO); + /* - * "idt" is magic - it overlaps the idt_descr - * variable so that updating idt will automatically - * update the idt descriptor.. + * Update the IDT descriptor and reload the IDT so that + * it uses the read-only mapped virtual address. */ - __set_fixmap(FIX_IDT, __pa(&idt_table), PAGE_KERNEL_RO); - idt_descr.address = __fix_to_virt(FIX_IDT); - + idt_descr.address = fix_to_virt(FIX_F00F_IDT); __asm__ __volatile__("lidt %0" : : "m" (idt_descr)); } - -void __init trap_init_virtual_GDT(void) -{ - int cpu = smp_processor_id(); - struct Xgt_desc_struct *gdt_desc = cpu_gdt_descr + cpu; - struct Xgt_desc_struct tmp_desc = {0, 0}; - struct tss_struct * t; - - __asm__ __volatile__("sgdt %0": "=m" (tmp_desc): :"memory"); - -#ifdef CONFIG_X86_HIGH_ENTRY - if (!cpu) { - __set_fixmap(FIX_GDT_0, __pa(cpu_gdt_table), PAGE_KERNEL); - __set_fixmap(FIX_GDT_1, __pa(cpu_gdt_table) + PAGE_SIZE, PAGE_KERNEL); - __set_fixmap(FIX_TSS_0, __pa(init_tss), PAGE_KERNEL); - __set_fixmap(FIX_TSS_1, __pa(init_tss) + 1*PAGE_SIZE, PAGE_KERNEL); - __set_fixmap(FIX_TSS_2, __pa(init_tss) + 2*PAGE_SIZE, PAGE_KERNEL); - __set_fixmap(FIX_TSS_3, __pa(init_tss) + 3*PAGE_SIZE, PAGE_KERNEL); - } - - gdt_desc->address = __fix_to_virt(FIX_GDT_0) + sizeof(cpu_gdt_table[0]) * cpu; -#else - gdt_desc->address = (unsigned long)cpu_gdt_table[cpu]; #endif - __asm__ __volatile__("lgdt %0": "=m" (*gdt_desc)); - -#ifdef CONFIG_X86_HIGH_ENTRY - t = (struct tss_struct *) __fix_to_virt(FIX_TSS_0) + cpu; -#else - t = init_tss + cpu; -#endif - set_tss_desc(cpu, t); - cpu_gdt_table[cpu][GDT_ENTRY_TSS].b &= 0xfffffdff; - load_TR_desc(); -} #define _set_gate(gate_addr,type,dpl,addr,seg) \ do { \ @@ -971,17 +1035,25 @@ void set_intr_gate(unsigned int n, void *addr) _set_gate(idt_table+n,14,0,addr,__KERNEL_CS); } -void __init set_trap_gate(unsigned int n, void *addr) +/* + * This routine sets up an interrupt gate at directory privilege level 3. + */ +static inline void set_system_intr_gate(unsigned int n, void *addr) +{ + _set_gate(idt_table+n, 14, 3, addr, __KERNEL_CS); +} + +static void __init set_trap_gate(unsigned int n, void *addr) { _set_gate(idt_table+n,15,0,addr,__KERNEL_CS); } -void __init set_system_gate(unsigned int n, void *addr) +static void __init set_system_gate(unsigned int n, void *addr) { _set_gate(idt_table+n,15,3,addr,__KERNEL_CS); } -void __init set_call_gate(void *a, void *addr) +static void __init set_call_gate(void *a, void *addr) { _set_gate(a,12,3,addr,__KERNEL_CS); } @@ -1003,12 +1075,11 @@ void __init trap_init(void) #ifdef CONFIG_X86_LOCAL_APIC init_apic_mappings(); #endif - init_entry_mappings(); set_trap_gate(0,÷_error); set_intr_gate(1,&debug); set_intr_gate(2,&nmi); - set_system_gate(3,&int3); /* int3-5 can be called from all */ + set_system_intr_gate(3, &int3); /* int3-5 can be called from all */ set_system_gate(4,&overflow); set_system_gate(5,&bounds); set_trap_gate(6,&invalid_op); diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index 4b64f6b7d..483e9b2e4 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c @@ -121,10 +121,10 @@ struct pt_regs * fastcall save_v86_state(struct kernel_vm86_regs * regs) do_exit(SIGSEGV); } - tss = init_tss + get_cpu(); + tss = &per_cpu(init_tss, get_cpu()); current->thread.esp0 = current->thread.saved_esp0; current->thread.sysenter_cs = __KERNEL_CS; - load_virtual_esp0(tss, current); + load_esp0(tss, ¤t->thread); current->thread.saved_esp0 = 0; put_cpu(); @@ -303,11 +303,11 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk asm volatile("movl %%fs,%0":"=m" (tsk->thread.saved_fs)); asm volatile("movl %%gs,%0":"=m" (tsk->thread.saved_gs)); - tss = init_tss + get_cpu(); + tss = &per_cpu(init_tss, get_cpu()); tsk->thread.esp0 = (unsigned long) &info->VM86_TSS_ESP0; if (cpu_has_sep) tsk->thread.sysenter_cs = 0; - load_virtual_esp0(tss, tsk); + load_esp0(tss, &tsk->thread); put_cpu(); tsk->thread.screen_bitmap = info->screen_bitmap; diff --git a/arch/i386/kernel/vmlinux.lds.S b/arch/i386/kernel/vmlinux.lds.S index c83850859..e0512cc8b 100644 --- a/arch/i386/kernel/vmlinux.lds.S +++ b/arch/i386/kernel/vmlinux.lds.S @@ -4,10 +4,7 @@ #include #include - -#include #include -#include OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) @@ -21,23 +18,11 @@ SECTIONS .text : { *(.text) SCHED_TEXT + LOCK_TEXT *(.fixup) *(.gnu.warning) } = 0x9090 -#ifdef CONFIG_X86_4G - . = ALIGN(PAGE_SIZE_asm); - __entry_tramp_start = .; - . = FIX_ENTRY_TRAMPOLINE_0_addr; - __start___entry_text = .; - .entry.text : AT (__entry_tramp_start) { *(.entry.text) } - __entry_tramp_end = __entry_tramp_start + SIZEOF(.entry.text); - . = __entry_tramp_end; - . = ALIGN(PAGE_SIZE_asm); -#else - .entry.text : { *(.entry.text) } -#endif - _etext = .; /* End of text section */ . = ALIGN(16); /* Exception table */ @@ -53,12 +38,15 @@ SECTIONS CONSTRUCTORS } - . = ALIGN(PAGE_SIZE_asm); + . = ALIGN(4096); __nosave_begin = .; .data_nosave : { *(.data.nosave) } - . = ALIGN(PAGE_SIZE_asm); + . = ALIGN(4096); __nosave_end = .; + . = ALIGN(4096); + .data.page_aligned : { *(.data.idt) } + . = ALIGN(32); .data.cacheline_aligned : { *(.data.cacheline_aligned) } @@ -68,7 +56,7 @@ SECTIONS .data.init_task : { *(.data.init_task) } /* will be freed after init */ - . = ALIGN(PAGE_SIZE_asm); /* Init code and data */ + . = ALIGN(4096); /* Init code and data */ __init_begin = .; .init.text : { _sinittext = .; @@ -80,9 +68,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) @@ -107,7 +92,7 @@ SECTIONS from .altinstructions and .eh_frame */ .exit.text : { *(.exit.text) } .exit.data : { *(.exit.data) } - . = ALIGN(PAGE_SIZE_asm); + . = ALIGN(4096); __initramfs_start = .; .init.ramfs : { *(.init.ramfs) } __initramfs_end = .; @@ -115,22 +100,10 @@ SECTIONS __per_cpu_start = .; .data.percpu : { *(.data.percpu) } __per_cpu_end = .; - . = ALIGN(PAGE_SIZE_asm); + . = ALIGN(4096); __init_end = .; /* freed after init ends here */ - - . = ALIGN(PAGE_SIZE_asm); - .data.page_aligned_tss : { *(.data.tss) } - - . = ALIGN(PAGE_SIZE_asm); - .data.page_aligned_default_ldt : { *(.data.default_ldt) } - - . = ALIGN(PAGE_SIZE_asm); - .data.page_aligned_idt : { *(.data.idt) } - - . = ALIGN(PAGE_SIZE_asm); - .data.page_aligned_gdt : { *(.data.gdt) } - + __bss_start = .; /* BSS */ .bss : { *(.bss.page_aligned) @@ -158,6 +131,4 @@ SECTIONS .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } - - } diff --git a/arch/i386/kernel/vsyscall-sysenter.S b/arch/i386/kernel/vsyscall-sysenter.S index cb421be0f..b8ef91513 100644 --- a/arch/i386/kernel/vsyscall-sysenter.S +++ b/arch/i386/kernel/vsyscall-sysenter.S @@ -12,11 +12,6 @@ .type __kernel_vsyscall,@function __kernel_vsyscall: .LSTART_vsyscall: - cmpl $192, %eax - jne 1f - int $0x80 - ret -1: push %ecx .Lpush_ecx: push %edx diff --git a/arch/i386/kernel/vsyscall.lds b/arch/i386/kernel/vsyscall.lds deleted file mode 100644 index 484e45148..000000000 --- a/arch/i386/kernel/vsyscall.lds +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Linker script for vsyscall DSO. The vsyscall page is an ELF shared - * object with only one read-only segment (that fits in one page). - * This script controls its layout. - */ - -SECTIONS -{ - . = SIZEOF_HEADERS; - - .hash : { *(.hash) } :text - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } - .gnu.version : { *(.gnu.version) } - .gnu.version_d : { *(.gnu.version_d) } - .gnu.version_r : { *(.gnu.version_r) } - - /* This linker script is used both with -r and with -shared. - For the layouts to match, we need to skip more than enough - space for the dynamic symbol table et al. If this amount - is insufficient, ld -shared will barf. Just increase it here. */ - . = 0x400; - - .text : { *(.text) } :text =0x90909090 - - .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr - .eh_frame : { KEEP (*(.eh_frame)) } :text - .dynamic : { *(.dynamic) } :text :dynamic - .useless : { - *(.got.plt) *(.got) - *(.data .data.* .gnu.linkonce.d.*) - *(.dynbss) - *(.bss .bss.* .gnu.linkonce.b.*) - } :text -} - -/* - * We must supply the ELF program headers explicitly to get just one - * PT_LOAD segment, and set the flags explicitly to make segments read-only. - */ -PHDRS -{ - text PT_LOAD FILEHDR PHDRS FLAGS(5); /* PF_R|PF_X */ - dynamic PT_DYNAMIC FLAGS(4); /* PF_R */ - eh_frame_hdr 0x6474e550; /* PT_GNU_EH_FRAME, but ld doesn't match the name */ -} - -/* - * This controls what symbols we export from the DSO. - */ -VERSION -{ - LINUX_2.5 { - global: - __kernel_vsyscall; - __kernel_sigreturn; - __kernel_rt_sigreturn; - - local: *; - }; -} - -/* The ELF entry point can be used to set the AT_SYSINFO value. */ -ENTRY(__kernel_vsyscall); diff --git a/arch/i386/lib/checksum.S b/arch/i386/lib/checksum.S index 638b3bfbe..94c7867dd 100644 --- a/arch/i386/lib/checksum.S +++ b/arch/i386/lib/checksum.S @@ -280,14 +280,14 @@ unsigned int csum_partial_copy_generic (const char *src, char *dst, .previous .align 4 -.globl direct_csum_partial_copy_generic +.globl csum_partial_copy_generic #ifndef CONFIG_X86_USE_PPRO_CHECKSUM #define ARGBASE 16 #define FP 12 -direct_csum_partial_copy_generic: +csum_partial_copy_generic: subl $4,%esp pushl %edi pushl %esi @@ -422,7 +422,7 @@ DST( movb %cl, (%edi) ) #define ARGBASE 12 -direct_csum_partial_copy_generic: +csum_partial_copy_generic: pushl %ebx pushl %edi pushl %esi diff --git a/arch/i386/lib/getuser.S b/arch/i386/lib/getuser.S index 1985ca1e0..62d7f178a 100644 --- a/arch/i386/lib/getuser.S +++ b/arch/i386/lib/getuser.S @@ -9,7 +9,6 @@ * return value. */ #include -#include /* diff --git a/arch/i386/lib/memcpy.c b/arch/i386/lib/memcpy.c index ad16efa52..891b2359d 100644 --- a/arch/i386/lib/memcpy.c +++ b/arch/i386/lib/memcpy.c @@ -13,13 +13,13 @@ void *memcpy(void *to, const void *from, size_t n) return __memcpy(to, from, n); #endif } -EXPORT_SYMBOL_NOVERS(memcpy); +EXPORT_SYMBOL(memcpy); void *memset(void *s, int c, size_t count) { return __memset(s, c, count); } -EXPORT_SYMBOL_NOVERS(memset); +EXPORT_SYMBOL(memset); void *memmove(void *dest, const void *src, size_t n) { @@ -41,4 +41,4 @@ void *memmove(void *dest, const void *src, size_t n) } return dest; } -EXPORT_SYMBOL_NOVERS(memmove); +EXPORT_SYMBOL(memmove); diff --git a/arch/i386/lib/usercopy.c b/arch/i386/lib/usercopy.c index 6072db068..3347c47b0 100644 --- a/arch/i386/lib/usercopy.c +++ b/arch/i386/lib/usercopy.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -77,7 +78,7 @@ do { \ * and returns @count. */ long -__direct_strncpy_from_user(char *dst, const char __user *src, long count) +__strncpy_from_user(char *dst, const char __user *src, long count) { long res; __do_strncpy_from_user(dst, src, count, res); @@ -103,7 +104,7 @@ __direct_strncpy_from_user(char *dst, const char __user *src, long count) * and returns @count. */ long -direct_strncpy_from_user(char *dst, const char __user *src, long count) +strncpy_from_user(char *dst, const char __user *src, long count) { long res = -EFAULT; if (access_ok(VERIFY_READ, src, 1)) @@ -149,7 +150,7 @@ do { \ * On success, this will be zero. */ unsigned long -direct_clear_user(void __user *to, unsigned long n) +clear_user(void __user *to, unsigned long n) { might_sleep(); if (access_ok(VERIFY_WRITE, to, n)) @@ -169,7 +170,7 @@ direct_clear_user(void __user *to, unsigned long n) * On success, this will be zero. */ unsigned long -__direct_clear_user(void __user *to, unsigned long n) +__clear_user(void __user *to, unsigned long n) { __do_clear_user(to, n); return n; @@ -186,7 +187,7 @@ __direct_clear_user(void __user *to, unsigned long n) * On exception, returns 0. * If the string is too long, returns a value greater than @n. */ -long direct_strnlen_user(const char __user *s, long n) +long strnlen_user(const char __user *s, long n) { unsigned long mask = -__addr_ok(s); unsigned long res, tmp; @@ -569,7 +570,8 @@ survive: return n; } -unsigned long __copy_from_user_ll(void *to, const void __user *from, unsigned long n) +unsigned long +__copy_from_user_ll(void *to, const void __user *from, unsigned long n) { if (movsl_is_ok(to, from, n)) __copy_user_zeroing(to, from, n); @@ -578,3 +580,53 @@ unsigned long __copy_from_user_ll(void *to, const void __user *from, unsigned lo return n; } +/** + * copy_to_user: - Copy a block of data into user space. + * @to: Destination address, in user space. + * @from: Source address, in kernel space. + * @n: Number of bytes to copy. + * + * Context: User context only. This function may sleep. + * + * Copy data from kernel space to user space. + * + * Returns number of bytes that could not be copied. + * On success, this will be zero. + */ +unsigned long +copy_to_user(void __user *to, const void *from, unsigned long n) +{ + might_sleep(); + if (access_ok(VERIFY_WRITE, to, n)) + n = __copy_to_user(to, from, n); + return n; +} +EXPORT_SYMBOL(copy_to_user); + +/** + * copy_from_user: - Copy a block of data from user space. + * @to: Destination address, in kernel space. + * @from: Source address, in user space. + * @n: Number of bytes to copy. + * + * Context: User context only. This function may sleep. + * + * Copy data from user space to kernel space. + * + * Returns number of bytes that could not be copied. + * On success, this will be zero. + * + * If some data could not be copied, this function will pad the copied + * data to the requested size using zero bytes. + */ +unsigned long +copy_from_user(void *to, const void __user *from, unsigned long n) +{ + might_sleep(); + if (access_ok(VERIFY_READ, from, n)) + n = __copy_from_user(to, from, n); + else + memset(to, 0, n); + return n; +} +EXPORT_SYMBOL(copy_from_user); diff --git a/arch/i386/mach-es7000/es7000.h b/arch/i386/mach-es7000/es7000.h index 1cb878fc5..1ff0caeb8 100644 --- a/arch/i386/mach-es7000/es7000.h +++ b/arch/i386/mach-es7000/es7000.h @@ -29,7 +29,7 @@ #define MIP_BUSY 1 #define MIP_SPIN 0xf0000 -#define MIP_VALID 0x0100000000000000 +#define MIP_VALID 0x0100000000000000ULL #define MIP_PORT(VALUE) ((VALUE >> 32) & 0xffff) #define MIP_RD_LO(VALUE) (VALUE & 0xffffffff) @@ -104,6 +104,13 @@ struct mip_reg { #define MIP_SW_APIC 0x1020b #define MIP_FUNC(VALUE) (VALUE & 0xff) +#if defined(CONFIG_X86_IO_APIC) && (defined(CONFIG_ACPI_INTERPRETER) || defined(CONFIG_ACPI_BOOT)) +#define IOAPIC_GSI_BOUND(ioapic) ((ioapic+1) * (nr_ioapic_registers[ioapic]-1)) +#define MAX_GSI_MAPSIZE 32 +#endif + +extern unsigned long io_apic_irqs; + extern int parse_unisys_oem (char *oemptr, int oem_entries); extern int find_unisys_acpi_oem_table(unsigned long *oem_addr, int *length); extern int es7000_start_cpu(int cpu, unsigned long eip); diff --git a/arch/i386/mach-generic/bigsmp.c b/arch/i386/mach-generic/bigsmp.c index a22da860a..25883b44f 100644 --- a/arch/i386/mach-generic/bigsmp.c +++ b/arch/i386/mach-generic/bigsmp.c @@ -21,14 +21,14 @@ static int dmi_bigsmp; /* can be set by dmi scanners */ -static __init int hp_ht_bigsmp(struct dmi_system_id *d) -{ +static __init int hp_ht_bigsmp(struct dmi_system_id *d) +{ #ifdef CONFIG_X86_GENERICARCH printk(KERN_NOTICE "%s detected: force use of apic=bigsmp\n", d->ident); dmi_bigsmp = 1; #endif return 0; -} +} static struct dmi_system_id __initdata bigsmp_dmi_table[] = { @@ -41,7 +41,7 @@ static struct dmi_system_id __initdata bigsmp_dmi_table[] = { DMI_MATCH(DMI_BIOS_VENDOR, "HP"), DMI_MATCH(DMI_BIOS_VERSION, "P47-"), }}, - { } + { } }; diff --git a/arch/i386/mach-voyager/voyager_smp.c b/arch/i386/mach-voyager/voyager_smp.c index 90c918f11..7cb7e8046 100644 --- a/arch/i386/mach-voyager/voyager_smp.c +++ b/arch/i386/mach-voyager/voyager_smp.c @@ -35,7 +35,7 @@ int reboot_smp = 0; /* TLB state -- visible externally, indexed physically */ -struct tlb_state cpu_tlbstate[NR_CPUS] __cacheline_aligned = {[0 ... NR_CPUS-1] = { &init_mm, 0 }}; +DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate) ____cacheline_aligned = { &init_mm, 0 }; /* CPU IRQ affinity -- set to all ones initially */ static unsigned long cpu_irq_affinity[NR_CPUS] __cacheline_aligned = { [0 ... NR_CPUS-1] = ~0UL }; @@ -523,15 +523,6 @@ start_secondary(void *unused) return cpu_idle(); } -static struct task_struct * __init -fork_by_hand(void) -{ - struct pt_regs regs; - /* don't care about the eip and regs settings since we'll - * never reschedule the forked task. */ - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); -} - /* Routine to kick start the given CPU and wait for it to report ready * (or timeout in startup). When this routine returns, the requested @@ -587,16 +578,10 @@ do_boot_cpu(__u8 cpu) hijack_source.idt.Segment = (start_phys_address >> 4) & 0xFFFF; cpucount++; - idle = fork_by_hand(); + idle = fork_idle(cpu); if(IS_ERR(idle)) panic("failed fork for CPU%d", cpu); - - wake_up_forked_process(idle); - - init_idle(idle, cpu); - idle->thread.eip = (unsigned long) start_secondary; - unhash_process(idle); /* init_tasks (in sched.c) is indexed logically */ stack_start.esp = (void *) idle->thread.esp; @@ -860,9 +845,9 @@ static spinlock_t tlbstate_lock = SPIN_LOCK_UNLOCKED; static inline void leave_mm (unsigned long cpu) { - if (cpu_tlbstate[cpu].state == TLBSTATE_OK) + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) BUG(); - cpu_clear(cpu, cpu_tlbstate[cpu].active_mm->cpu_vm_mask); + cpu_clear(cpu, per_cpu(cpu_tlbstate, cpu).active_mm->cpu_vm_mask); load_cr3(swapper_pg_dir); } @@ -883,8 +868,8 @@ smp_invalidate_interrupt(void) smp_processor_id())); */ - if (flush_mm == cpu_tlbstate[cpu].active_mm) { - if (cpu_tlbstate[cpu].state == TLBSTATE_OK) { + if (flush_mm == per_cpu(cpu_tlbstate, cpu).active_mm) { + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) { if (flush_va == FLUSH_ALL) local_flush_tlb(); else @@ -1218,7 +1203,7 @@ do_flush_tlb_all(void* info) unsigned long cpu = smp_processor_id(); __flush_tlb_all(); - if (cpu_tlbstate[cpu].state == TLBSTATE_LAZY) + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_LAZY) leave_mm(cpu); } @@ -1302,8 +1287,7 @@ smp_local_timer_interrupt(struct pt_regs * regs) int cpu = smp_processor_id(); long weight; - x86_do_profile(regs); - + profile_tick(CPU_PROFILING, regs); if (--per_cpu(prof_counter, cpu) <= 0) { /* * The multiplier may have changed since the last time we got diff --git a/arch/i386/math-emu/fpu_proto.h b/arch/i386/math-emu/fpu_proto.h index a8618dfd6..a9fe07c9b 100644 --- a/arch/i386/math-emu/fpu_proto.h +++ b/arch/i386/math-emu/fpu_proto.h @@ -69,7 +69,6 @@ extern int isNaN(FPU_REG const *ptr); extern void FPU_pop(void); extern int FPU_empty_i(int stnr); extern int FPU_stackoverflow(FPU_REG **st_new_ptr); -extern void FPU_sync_tags(void); extern void FPU_copy_to_regi(FPU_REG const *r, u_char tag, int stnr); extern void FPU_copy_to_reg1(FPU_REG const *r, u_char tag); extern void FPU_copy_to_reg0(FPU_REG const *r, u_char tag); diff --git a/arch/i386/math-emu/fpu_system.h b/arch/i386/math-emu/fpu_system.h index 7ff3286fa..2ddfe120b 100644 --- a/arch/i386/math-emu/fpu_system.h +++ b/arch/i386/math-emu/fpu_system.h @@ -15,7 +15,6 @@ #include #include #include -#include /* This sets the pointer FPU_info to point to the argument part of the stack frame of math_emulate() */ @@ -23,7 +22,7 @@ /* s is always from a cpu register, and the cpu does bounds checking * during register load --> no further bounds checks needed */ -#define LDT_DESCRIPTOR(s) (((struct desc_struct *)__kmap_atomic_vaddr(KM_LDT_PAGE0))[(s) >> 3]) +#define LDT_DESCRIPTOR(s) (((struct desc_struct *)current->mm->context.ldt)[(s) >> 3]) #define SEG_D_SIZE(x) ((x).b & (3 << 21)) #define SEG_G_BIT(x) ((x).b & (1 << 23)) #define SEG_GRANULARITY(x) (((x).b & (1 << 23)) ? 4096 : 1) diff --git a/arch/i386/mm/discontig.c b/arch/i386/mm/discontig.c index 569e08e5b..efdcb0da9 100644 --- a/arch/i386/mm/discontig.c +++ b/arch/i386/mm/discontig.c @@ -31,6 +31,7 @@ #include #include #include +#include struct pglist_data *node_data[MAX_NUMNODES]; bootmem_data_t node0_bdata; @@ -219,6 +220,17 @@ static unsigned long calculate_numa_remap_pages(void) return reserve_pages; } +/* + * workaround for Dell systems that neglect to reserve EBDA + */ +static void __init reserve_ebda_region_node(void) +{ + unsigned int addr; + addr = get_bios_ebda(); + if (addr) + reserve_bootmem_node(NODE_DATA(0), addr, PAGE_SIZE); +} + unsigned long __init setup_memory(void) { int nid; @@ -318,6 +330,9 @@ unsigned long __init setup_memory(void) */ reserve_bootmem_node(NODE_DATA(0), PAGE_SIZE, PAGE_SIZE); + /* reserve EBDA region, it's a 4K region */ + reserve_ebda_region_node(); + #ifdef CONFIG_ACPI_SLEEP /* * Reserve low memory region for sleep support. @@ -402,15 +417,15 @@ void __init zone_sizes_init(void) * remapped KVA area - mbligh */ if (!nid) - free_area_init_node(nid, NODE_DATA(nid), 0, - zones_size, start, zholes_size); + free_area_init_node(nid, NODE_DATA(nid), + zones_size, start, zholes_size); else { unsigned long lmem_map; lmem_map = (unsigned long)node_remap_start_vaddr[nid]; lmem_map += sizeof(pg_data_t) + PAGE_SIZE - 1; lmem_map &= PAGE_MASK; - free_area_init_node(nid, NODE_DATA(nid), - (struct page *)lmem_map, zones_size, + NODE_DATA(nid)->node_mem_map = (struct page *)lmem_map; + free_area_init_node(nid, NODE_DATA(nid), zones_size, start, zholes_size); } } diff --git a/arch/i386/mm/fault.c b/arch/i386/mm/fault.c index 60206e1aa..e92938476 100644 --- a/arch/i386/mm/fault.c +++ b/arch/i386/mm/fault.c @@ -24,9 +24,8 @@ #include #include -#include #include -#include +#include extern void die(const char *,struct pt_regs *,long); @@ -104,20 +103,11 @@ static inline unsigned long get_segment_eip(struct pt_regs *regs, if (seg & (1<<2)) { /* Must lock the LDT while reading it. */ down(¤t->mm->context.sem); -#if 1 - /* horrible hack for 4/4 disabled kernels. - I'm not quite sure what the TLB flush is good for, - it's mindlessly copied from the read_ldt code */ - __flush_tlb_global(); - desc = kmap(current->mm->context.ldt_pages[(seg&~7)/PAGE_SIZE]); - desc = (void *)desc + ((seg & ~7) % PAGE_SIZE); -#else desc = current->mm->context.ldt; desc = (void *)desc + (seg & ~7); -#endif } else { /* Must disable preemption while reading the GDT. */ - desc = (u32 *)&cpu_gdt_table[get_cpu()]; + desc = (u32 *)&per_cpu(cpu_gdt_table, get_cpu()); desc = (void *)desc + (seg & ~7); } @@ -127,9 +117,6 @@ static inline unsigned long get_segment_eip(struct pt_regs *regs, (desc[1] & 0xff000000); if (seg & (1<<2)) { -#if 1 - kunmap((void *)((unsigned long)desc & PAGE_MASK)); -#endif up(¤t->mm->context.sem); } else put_cpu(); @@ -239,6 +226,9 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) /* get the address */ __asm__("movl %%cr2,%0":"=r" (address)); + if (notify_die(DIE_PAGE_FAULT, "page fault", regs, error_code, 14, + SIGSEGV) == NOTIFY_STOP) + return; /* It's safe to allow irq's after cr2 has been saved */ if (regs->eflags & (X86_EFLAGS_IF|VM_MASK)) local_irq_enable(); @@ -260,17 +250,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) * (error_code & 4) == 0, and that the fault was not a * protection error (error_code & 1) == 0. */ -#ifdef CONFIG_X86_4G - /* - * On 4/4 all kernels faults are either bugs, vmalloc or prefetch - */ - /* If it's vm86 fall through */ - if (unlikely(!(regs->eflags & VM_MASK) && ((regs->xcs & 3) == 0))) { - if (error_code & 3) - goto bad_area_nosemaphore; - goto vmalloc_fault; - } -#else if (unlikely(address >= TASK_SIZE)) { if (!(error_code & 5)) goto vmalloc_fault; @@ -280,7 +259,6 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) */ goto bad_area_nosemaphore; } -#endif mm = tsk->mm; @@ -538,12 +516,13 @@ vmalloc_fault: * an interrupt in the middle of a task switch.. */ int index = pgd_index(address); + unsigned long pgd_paddr; pgd_t *pgd, *pgd_k; pmd_t *pmd, *pmd_k; pte_t *pte_k; - asm("movl %%cr3,%0":"=r" (pgd)); - pgd = index + (pgd_t *)__va(pgd); + asm("movl %%cr3,%0":"=r" (pgd_paddr)); + pgd = index + (pgd_t *)__va(pgd_paddr); pgd_k = init_mm.pgd + index; if (!pgd_present(*pgd_k)) diff --git a/arch/i386/mm/highmem.c b/arch/i386/mm/highmem.c index 83972da8e..581753285 100644 --- a/arch/i386/mm/highmem.c +++ b/arch/i386/mm/highmem.c @@ -41,47 +41,12 @@ void *kmap_atomic(struct page *page, enum km_type type) if (!pte_none(*(kmap_pte-idx))) BUG(); #endif - /* - * If the page is not a normal RAM page, then map it - * uncached to be on the safe side - it could be device - * memory that must not be prefetched: - */ - if (PageReserved(page)) - set_pte(kmap_pte-idx, mk_pte(page, kmap_prot_nocache)); - else - set_pte(kmap_pte-idx, mk_pte(page, kmap_prot)); + set_pte(kmap_pte-idx, mk_pte(page, kmap_prot)); __flush_tlb_one(vaddr); return (void*) vaddr; } -/* - * page frame number based kmaps - useful for PCI mappings. - * NOTE: we map the page with the dont-cache flag. - */ -void *kmap_atomic_nocache_pfn(unsigned long pfn, enum km_type type) -{ - enum fixed_addresses idx; - unsigned long vaddr; - - /* even !CONFIG_PREEMPT needs this, for in_atomic in do_page_fault */ - inc_preempt_count(); - if (pfn < highstart_pfn) - return pfn_to_kaddr(pfn); - - idx = type + KM_TYPE_NR*smp_processor_id(); - vaddr = __fix_to_virt(FIX_KMAP_BEGIN + idx); -#ifdef CONFIG_DEBUG_HIGHMEM - if (!pte_none(*(kmap_pte-idx))) - BUG(); -#endif - set_pte(kmap_pte-idx, pfn_pte(pfn, kmap_prot_nocache)); - __flush_tlb_one(vaddr); - - return (void*) vaddr; -} - - void kunmap_atomic(void *kvaddr, enum km_type type) { #ifdef CONFIG_DEBUG_HIGHMEM diff --git a/arch/i386/mm/hugetlbpage.c b/arch/i386/mm/hugetlbpage.c index a0eab6715..f0ac3f840 100644 --- a/arch/i386/mm/hugetlbpage.c +++ b/arch/i386/mm/hugetlbpage.c @@ -284,3 +284,143 @@ out: spin_unlock(&mm->page_table_lock); return ret; } + +/* x86_64 also uses this file */ + +#ifdef HAVE_ARCH_HUGETLB_UNMAPPED_AREA +static unsigned long hugetlb_get_unmapped_area_bottomup(struct file *file, + unsigned long addr, unsigned long len, + unsigned long pgoff, unsigned long flags) +{ + struct mm_struct *mm = current->mm; + struct vm_area_struct *vma; + unsigned long start_addr; + + start_addr = mm->free_area_cache; + +full_search: + addr = ALIGN(start_addr, HPAGE_SIZE); + + for (vma = find_vma(mm, addr); ; vma = vma->vm_next) { + /* At this point: (!vma || addr < vma->vm_end). */ + if (TASK_SIZE - len < addr) { + /* + * Start a new search - just in case we missed + * some holes. + */ + if (start_addr != TASK_UNMAPPED_BASE) { + start_addr = TASK_UNMAPPED_BASE; + goto full_search; + } + return -ENOMEM; + } + if (!vma || addr + len <= vma->vm_start) { + mm->free_area_cache = addr + len; + return addr; + } + addr = ALIGN(vma->vm_end, HPAGE_SIZE); + } +} + +static unsigned long hugetlb_get_unmapped_area_topdown(struct file *file, + unsigned long addr0, unsigned long len, + unsigned long pgoff, unsigned long flags) +{ + struct mm_struct *mm = current->mm; + struct vm_area_struct *vma, *prev_vma; + unsigned long base = mm->mmap_base, addr = addr0; + int first_time = 1; + + /* don't allow allocations above current base */ + if (mm->free_area_cache > base) + mm->free_area_cache = base; + +try_again: + /* make sure it can fit in the remaining address space */ + if (mm->free_area_cache < len) + goto fail; + + /* either no address requested or cant fit in requested address hole */ + addr = (mm->free_area_cache - len) & HPAGE_MASK; + do { + /* + * Lookup failure means no vma is above this address, + * i.e. return with success: + */ + if (!(vma = find_vma_prev(mm, addr, &prev_vma))) + return addr; + + /* + * new region fits between prev_vma->vm_end and + * vma->vm_start, use it: + */ + if (addr + len <= vma->vm_start && + (!prev_vma || (addr >= prev_vma->vm_end))) + /* remember the address as a hint for next time */ + return (mm->free_area_cache = addr); + else + /* pull free_area_cache down to the first hole */ + if (mm->free_area_cache == vma->vm_end) + mm->free_area_cache = vma->vm_start; + + /* try just below the current vma->vm_start */ + addr = (vma->vm_start - len) & HPAGE_MASK; + } while (len <= vma->vm_start); + +fail: + /* + * if hint left us with no space for the requested + * mapping then try again: + */ + if (first_time) { + mm->free_area_cache = base; + first_time = 0; + goto try_again; + } + /* + * A failed mmap() very likely causes application failure, + * so fall back to the bottom-up function here. This scenario + * can happen with large stack limits and large mmap() + * allocations. + */ + mm->free_area_cache = TASK_UNMAPPED_BASE; + addr = hugetlb_get_unmapped_area_bottomup(file, addr0, + len, pgoff, flags); + + /* + * Restore the topdown base: + */ + mm->free_area_cache = base; + + return addr; +} + +unsigned long +hugetlb_get_unmapped_area(struct file *file, unsigned long addr, + unsigned long len, unsigned long pgoff, unsigned long flags) +{ + struct mm_struct *mm = current->mm; + struct vm_area_struct *vma; + + if (len & ~HPAGE_MASK) + return -EINVAL; + if (len > TASK_SIZE) + return -ENOMEM; + + if (addr) { + addr = ALIGN(addr, HPAGE_SIZE); + vma = find_vma(mm, addr); + if (TASK_SIZE - len >= addr && + (!vma || addr + len <= vma->vm_start)) + return addr; + } + if (mm->get_unmapped_area == arch_get_unmapped_area) + return hugetlb_get_unmapped_area_bottomup(file, addr, len, + pgoff, flags); + else + return hugetlb_get_unmapped_area_topdown(file, addr, len, + pgoff, flags); +} + +#endif /*HAVE_ARCH_HUGETLB_UNMAPPED_AREA*/ + diff --git a/arch/i386/mm/init.c b/arch/i386/mm/init.c index a008d43c0..bf2ee83b1 100644 --- a/arch/i386/mm/init.c +++ b/arch/i386/mm/init.c @@ -39,12 +39,144 @@ #include #include #include -#include + +unsigned int __VMALLOC_RESERVE = 128 << 20; DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); unsigned long highstart_pfn, highend_pfn; -static int do_test_wp_bit(void); +static int noinline do_test_wp_bit(void); + +/* + * Creates a middle page table and puts a pointer to it in the + * given global directory entry. This only returns the gd entry + * in non-PAE compilation mode, since the middle layer is folded. + */ +static pmd_t * __init one_md_table_init(pgd_t *pgd) +{ + pmd_t *pmd_table; + +#ifdef CONFIG_X86_PAE + pmd_table = (pmd_t *) alloc_bootmem_low_pages(PAGE_SIZE); + set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT)); + if (pmd_table != pmd_offset(pgd, 0)) + BUG(); +#else + pmd_table = pmd_offset(pgd, 0); +#endif + + return pmd_table; +} + +/* + * Create a page table and place a pointer to it in a middle page + * directory entry. + */ +static pte_t * __init one_page_table_init(pmd_t *pmd) +{ + if (pmd_none(*pmd)) { + pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); + set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE)); + if (page_table != pte_offset_kernel(pmd, 0)) + BUG(); + + return page_table; + } + + return pte_offset_kernel(pmd, 0); +} + +/* + * This function initializes a certain range of kernel virtual memory + * with new bootmem page tables, everywhere page tables are missing in + * the given range. + */ + +/* + * NOTE: The pagetables are allocated contiguous on the physical space + * so we can cache the place of the first one and move around without + * checking the pgd every time. + */ +static void __init page_table_range_init (unsigned long start, unsigned long end, pgd_t *pgd_base) +{ + pgd_t *pgd; + pmd_t *pmd; + int pgd_idx, pmd_idx; + unsigned long vaddr; + + vaddr = start; + pgd_idx = pgd_index(vaddr); + pmd_idx = pmd_index(vaddr); + pgd = pgd_base + pgd_idx; + + for ( ; (pgd_idx < PTRS_PER_PGD) && (vaddr != end); pgd++, pgd_idx++) { + if (pgd_none(*pgd)) + one_md_table_init(pgd); + + pmd = pmd_offset(pgd, vaddr); + for (; (pmd_idx < PTRS_PER_PMD) && (vaddr != end); pmd++, pmd_idx++) { + if (pmd_none(*pmd)) + one_page_table_init(pmd); + + vaddr += PMD_SIZE; + } + pmd_idx = 0; + } +} + +static inline int is_kernel_text(unsigned long addr) +{ + if (addr >= (unsigned long)_stext && addr <= (unsigned long)__init_end) + return 1; + return 0; +} + +/* + * This maps the physical memory to kernel virtual address space, a total + * of max_low_pfn pages, by creating page tables starting from address + * PAGE_OFFSET. + */ +static void __init kernel_physical_mapping_init(pgd_t *pgd_base) +{ + unsigned long pfn; + pgd_t *pgd; + pmd_t *pmd; + pte_t *pte; + int pgd_idx, pmd_idx, pte_ofs; + + pgd_idx = pgd_index(PAGE_OFFSET); + pgd = pgd_base + pgd_idx; + pfn = 0; + + for (; pgd_idx < PTRS_PER_PGD; pgd++, pgd_idx++) { + pmd = one_md_table_init(pgd); + if (pfn >= max_low_pfn) + continue; + for (pmd_idx = 0; pmd_idx < PTRS_PER_PMD && pfn < max_low_pfn; pmd++, pmd_idx++) { + unsigned int address = pfn * PAGE_SIZE + PAGE_OFFSET; + + /* Map with big pages if possible, otherwise create normal page tables. */ + if (cpu_has_pse) { + unsigned int address2 = (pfn + PTRS_PER_PTE - 1) * PAGE_SIZE + PAGE_OFFSET + PAGE_SIZE-1; + + if (is_kernel_text(address) || is_kernel_text(address2)) + set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE_EXEC)); + else + set_pmd(pmd, pfn_pmd(pfn, PAGE_KERNEL_LARGE)); + pfn += PTRS_PER_PTE; + } else { + pte = one_page_table_init(pmd); + + for (pte_ofs = 0; pte_ofs < PTRS_PER_PTE && pfn < max_low_pfn; pte++, pfn++, pte_ofs++) { + if (is_kernel_text(address)) + set_pte(pte, pfn_pte(pfn, PAGE_KERNEL_EXEC)); + else + set_pte(pte, pfn_pte(pfn, PAGE_KERNEL)); + } + } + } + } +} static inline int page_kills_ppro(unsigned long pagenr) { @@ -112,16 +244,20 @@ int pfn_is_ram(unsigned long pfn) */ int devmem_is_allowed(unsigned long pagenr) { - if (pagenr <= 256) - return 1; - if (!page_is_ram(pagenr)) - return 1; - return 0; + if (pagenr <= 256) + return 1; + if (!page_is_ram(pagenr)) + return 1; + return 0; } +EXPORT_SYMBOL_GPL(page_is_ram); +#ifdef CONFIG_HIGHMEM pte_t *kmap_pte; +pgprot_t kmap_prot; +EXPORT_SYMBOL(kmap_prot); EXPORT_SYMBOL(kmap_pte); #define kmap_get_fixmap_pte(vaddr) \ @@ -129,7 +265,29 @@ EXPORT_SYMBOL(kmap_pte); void __init kmap_init(void) { - kmap_pte = kmap_get_fixmap_pte(__fix_to_virt(FIX_KMAP_BEGIN)); + unsigned long kmap_vstart; + + /* cache the first kmap pte */ + kmap_vstart = __fix_to_virt(FIX_KMAP_BEGIN); + kmap_pte = kmap_get_fixmap_pte(kmap_vstart); + + kmap_prot = PAGE_KERNEL; +} + +void __init permanent_kmaps_init(pgd_t *pgd_base) +{ + pgd_t *pgd; + pmd_t *pmd; + pte_t *pte; + unsigned long vaddr; + + vaddr = PKMAP_BASE; + page_table_range_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); + + pgd = swapper_pg_dir + pgd_index(vaddr); + pmd = pmd_offset(pgd, vaddr); + pte = pte_offset_kernel(pmd, vaddr); + pkmap_page_table = pte; } void __init one_highpage_init(struct page *page, int pfn, int bad_ppro) @@ -144,10 +302,6 @@ void __init one_highpage_init(struct page *page, int pfn, int bad_ppro) SetPageReserved(page); } -EXPORT_SYMBOL_GPL(page_is_ram); - -#ifdef CONFIG_HIGHMEM - #ifndef CONFIG_DISCONTIGMEM void __init set_highmem_pages_init(int bad_ppro) { @@ -159,9 +313,12 @@ void __init set_highmem_pages_init(int bad_ppro) #else extern void set_highmem_pages_init(int); #endif /* !CONFIG_DISCONTIGMEM */ + #else -# define set_highmem_pages_init(bad_ppro) do { } while (0) -#endif +#define kmap_init() do { } while (0) +#define permanent_kmaps_init(pgd_base) do { } while (0) +#define set_highmem_pages_init(bad_ppro) do { } while (0) +#endif /* CONFIG_HIGHMEM */ unsigned long long __PAGE_KERNEL = _PAGE_KERNEL; unsigned long long __PAGE_KERNEL_EXEC = _PAGE_KERNEL_EXEC; @@ -172,125 +329,31 @@ unsigned long long __PAGE_KERNEL_EXEC = _PAGE_KERNEL_EXEC; extern void __init remap_numa_kva(void); #endif -static __init void prepare_pagetables(pgd_t *pgd_base, unsigned long address) -{ - pgd_t *pgd; - pmd_t *pmd; - pte_t *pte; - - pgd = pgd_base + pgd_index(address); - pmd = pmd_offset(pgd, address); - if (!pmd_present(*pmd)) { - pte = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); - set_pmd(pmd, __pmd(_PAGE_TABLE + __pa(pte))); - } -} - -static void __init fixrange_init (unsigned long start, unsigned long end, pgd_t *pgd_base) -{ - unsigned long vaddr; - - for (vaddr = start; vaddr != end; vaddr += PAGE_SIZE) - prepare_pagetables(pgd_base, vaddr); -} - -void setup_identity_mappings(pgd_t *pgd_base, unsigned long start, unsigned long end) +static void __init pagetable_init (void) { unsigned long vaddr; - pgd_t *pgd; - int i, j, k; - pmd_t *pmd; - pte_t *pte, *pte_base; - - pgd = pgd_base; - - for (i = 0; i < PTRS_PER_PGD; pgd++, i++) { - vaddr = i*PGDIR_SIZE; - if (end && (vaddr >= end)) - break; - pmd = pmd_offset(pgd, 0); - for (j = 0; j < PTRS_PER_PMD; pmd++, j++) { - vaddr = i*PGDIR_SIZE + j*PMD_SIZE; - if (end && (vaddr >= end)) - break; - if (vaddr < start) - continue; - if (cpu_has_pse) { - unsigned long __pe; - - set_in_cr4(X86_CR4_PSE); - boot_cpu_data.wp_works_ok = 1; - __pe = _KERNPG_TABLE + _PAGE_PSE + vaddr - start; - /* Make it "global" too if supported */ - if (cpu_has_pge) { - set_in_cr4(X86_CR4_PGE); -#if !defined(CONFIG_X86_SWITCH_PAGETABLES) - __pe += _PAGE_GLOBAL; - __PAGE_KERNEL |= _PAGE_GLOBAL; -#endif - } - set_pmd(pmd, __pmd(__pe)); - continue; - } - if (!pmd_present(*pmd)) - pte_base = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); - else - pte_base = pte_offset_kernel(pmd, 0); - pte = pte_base; - for (k = 0; k < PTRS_PER_PTE; pte++, k++) { - vaddr = i*PGDIR_SIZE + j*PMD_SIZE + k*PAGE_SIZE; - if (end && (vaddr >= end)) - break; - if (vaddr < start) - continue; - *pte = mk_pte_phys(vaddr-start, PAGE_KERNEL); - } - set_pmd(pmd, __pmd(_KERNPG_TABLE + __pa(pte_base))); - } - } -} + pgd_t *pgd_base = swapper_pg_dir; -static void __init pagetable_init (void) -{ - unsigned long vaddr, end; - pgd_t *pgd_base; #ifdef CONFIG_X86_PAE int i; + /* Init entries of the first-level page table to the zero page */ + for (i = 0; i < PTRS_PER_PGD; i++) + set_pgd(pgd_base + i, __pgd(__pa(empty_zero_page) | _PAGE_PRESENT)); #endif - /* - * This can be zero as well - no problem, in that case we exit - * the loops anyway due to the PTRS_PER_* conditions. - */ - end = (unsigned long)__va(max_low_pfn*PAGE_SIZE); + /* Enable PSE if available */ + if (cpu_has_pse) { + set_in_cr4(X86_CR4_PSE); + } - pgd_base = swapper_pg_dir; -#ifdef CONFIG_X86_PAE - /* - * It causes too many problems if there's no proper pmd set up - * for all 4 entries of the PGD - so we allocate all of them. - * PAE systems will not miss this extra 4-8K anyway ... - */ - for (i = 0; i < PTRS_PER_PGD; i++) { - pmd_t *pmd = (pmd_t *) alloc_bootmem_low_pages(PAGE_SIZE); - set_pgd(pgd_base + i, __pgd(__pa(pmd) + 0x1)); + /* Enable PGE if available */ + if (cpu_has_pge) { + set_in_cr4(X86_CR4_PGE); + __PAGE_KERNEL |= _PAGE_GLOBAL; + __PAGE_KERNEL_EXEC |= _PAGE_GLOBAL; } -#endif - /* - * Set up lowmem-sized identity mappings at PAGE_OFFSET: - */ - setup_identity_mappings(pgd_base, PAGE_OFFSET, end); - /* - * Add flat-mode identity-mappings - SMP needs it when - * starting up on an AP from real-mode. (In the non-PAE - * case we already have these mappings through head.S.) - * All user-space mappings are explicitly cleared after - * SMP startup. - */ -#if defined(CONFIG_SMP) && defined(CONFIG_X86_PAE) - setup_identity_mappings(pgd_base, 0, 16*1024*1024); -#endif + kernel_physical_mapping_init(pgd_base); remap_numa_kva(); /* @@ -298,64 +361,59 @@ static void __init pagetable_init (void) * created - mappings will be set by set_fixmap(): */ vaddr = __fix_to_virt(__end_of_fixed_addresses - 1) & PMD_MASK; - fixrange_init(vaddr, 0, pgd_base); - -#ifdef CONFIG_HIGHMEM - { - pgd_t *pgd; - pmd_t *pmd; - pte_t *pte; + page_table_range_init(vaddr, 0, pgd_base); - /* - * Permanent kmaps: - */ - vaddr = PKMAP_BASE; - fixrange_init(vaddr, vaddr + PAGE_SIZE*LAST_PKMAP, pgd_base); + permanent_kmaps_init(pgd_base); - pgd = swapper_pg_dir + pgd_index(vaddr); - pmd = pmd_offset(pgd, vaddr); - pte = pte_offset_kernel(pmd, vaddr); - pkmap_page_table = pte; - } +#ifdef CONFIG_X86_PAE + /* + * Add low memory identity-mappings - SMP needs it when + * starting up on an AP from real-mode. In the non-PAE + * case we already have these mappings through head.S. + * All user-space mappings are explicitly cleared after + * SMP startup. + */ + pgd_base[0] = pgd_base[USER_PTRS_PER_PGD]; #endif } +#if defined(CONFIG_PM_DISK) || defined(CONFIG_SOFTWARE_SUSPEND) /* - * Clear kernel pagetables in a PMD_SIZE-aligned range. + * Swap suspend & friends need this for resume because things like the intel-agp + * driver might have split up a kernel 4MB mapping. */ -static void clear_mappings(pgd_t *pgd_base, unsigned long start, unsigned long end) +char __nosavedata swsusp_pg_dir[PAGE_SIZE] + __attribute__ ((aligned (PAGE_SIZE))); + +static inline void save_pg_dir(void) +{ + memcpy(swsusp_pg_dir, swapper_pg_dir, PAGE_SIZE); +} +#else +static inline void save_pg_dir(void) { - unsigned long vaddr; - pgd_t *pgd; - pmd_t *pmd; - int i, j; - - pgd = pgd_base; - - for (i = 0; i < PTRS_PER_PGD; pgd++, i++) { - vaddr = i*PGDIR_SIZE; - if (end && (vaddr >= end)) - break; - pmd = pmd_offset(pgd, 0); - for (j = 0; j < PTRS_PER_PMD; pmd++, j++) { - vaddr = i*PGDIR_SIZE + j*PMD_SIZE; - if (end && (vaddr >= end)) - break; - if (vaddr < start) - continue; - pmd_clear(pmd); - } - } - flush_tlb_all(); } +#endif -void zap_low_mappings(void) +void zap_low_mappings (void) { - printk("zapping low mappings.\n"); + int i; + + save_pg_dir(); + /* * Zap initial low-memory mappings. + * + * Note that "pgd_clear()" doesn't do it for + * us, because pgd_clear() is a no-op on i386. */ - clear_mappings(swapper_pg_dir, 0, 16*1024*1024); + for (i = 0; i < USER_PTRS_PER_PGD; i++) +#ifdef CONFIG_X86_PAE + set_pgd(swapper_pg_dir+i, __pgd(1 + __pa(empty_zero_page))); +#else + set_pgd(swapper_pg_dir+i, __pgd(0)); +#endif + flush_tlb_all(); } #ifndef CONFIG_DISCONTIGMEM @@ -427,6 +485,7 @@ static void __init set_nx(void) } } } + /* * Enables/disables executability of a given kernel page and * returns the previous setting. @@ -484,15 +543,7 @@ void __init paging_init(void) set_in_cr4(X86_CR4_PAE); #endif __flush_tlb_all(); - /* - * Subtle. SMP is doing it's boot stuff late (because it has to - * fork idle threads) - but it also needs low mappings for the - * protected-mode entry to work. We zap these entries only after - * the WP-bit has been tested. - */ -#ifndef CONFIG_SMP - zap_low_mappings(); -#endif + kmap_init(); zone_sizes_init(); } @@ -611,18 +662,22 @@ void __init mem_init(void) if (boot_cpu_data.wp_works_ok < 0) test_wp_bit(); - entry_trampoline_setup(); - default_ldt_page = virt_to_page(default_ldt); - load_LDT(&init_mm.context); + /* + * Subtle. SMP is doing it's boot stuff late (because it has to + * fork idle threads) - but it also needs low mappings for the + * protected-mode entry to work. We zap these entries only after + * the WP-bit has been tested. + */ +#ifndef CONFIG_SMP + zap_low_mappings(); +#endif } -kmem_cache_t *pgd_cache, *pmd_cache, *kpmd_cache; +kmem_cache_t *pgd_cache; +kmem_cache_t *pmd_cache; void __init pgtable_cache_init(void) { - void (*ctor)(void *, kmem_cache_t *, unsigned long); - void (*dtor)(void *, kmem_cache_t *, unsigned long); - if (PTRS_PER_PMD > 1) { pmd_cache = kmem_cache_create("pmd", PTRS_PER_PMD*sizeof(pmd_t), @@ -632,36 +687,13 @@ void __init pgtable_cache_init(void) NULL); if (!pmd_cache) panic("pgtable_cache_init(): cannot create pmd cache"); - - if (TASK_SIZE > PAGE_OFFSET) { - kpmd_cache = kmem_cache_create("kpmd", - PTRS_PER_PMD*sizeof(pmd_t), - PTRS_PER_PMD*sizeof(pmd_t), - 0, - kpmd_ctor, - NULL); - if (!kpmd_cache) - panic("pgtable_cache_init(): " - "cannot create kpmd cache"); - } } - - if (PTRS_PER_PMD == 1 || TASK_SIZE <= PAGE_OFFSET) - ctor = pgd_ctor; - else - ctor = NULL; - - if (PTRS_PER_PMD == 1 && TASK_SIZE <= PAGE_OFFSET) - dtor = pgd_dtor; - else - dtor = NULL; - pgd_cache = kmem_cache_create("pgd", PTRS_PER_PGD*sizeof(pgd_t), PTRS_PER_PGD*sizeof(pgd_t), 0, - ctor, - dtor); + pgd_ctor, + PTRS_PER_PMD == 1 ? pgd_dtor : NULL); if (!pgd_cache) panic("pgtable_cache_init(): Cannot create pgd cache"); } diff --git a/arch/i386/mm/ioremap.c b/arch/i386/mm/ioremap.c index 7b11be028..aee0bb1f4 100644 --- a/arch/i386/mm/ioremap.c +++ b/arch/i386/mm/ioremap.c @@ -110,9 +110,9 @@ static int remap_area_pages(unsigned long address, unsigned long phys_addr, * have to convert them into an offset in a page-aligned mapping, but the * caller shouldn't need to know that small detail. */ -void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) +void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) { - void * addr; + void __iomem * addr; struct vm_struct * area; unsigned long offset, last_addr; @@ -125,7 +125,7 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag * Don't remap the low PCI/ISA area, it's always mapped.. */ if (phys_addr >= 0xA0000 && last_addr < 0x100000) - return phys_to_virt(phys_addr); + return (void __iomem *) phys_to_virt(phys_addr); /* * Don't allow anybody to remap normal RAM that we're using.. @@ -156,12 +156,12 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag if (!area) return NULL; area->phys_addr = phys_addr; - addr = area->addr; + addr = (void __iomem *) area->addr; if (remap_area_pages((unsigned long) addr, phys_addr, size, flags)) { - vunmap(addr); + vunmap((void __force *) addr); return NULL; } - return (void *) (offset + (char *)addr); + return (void __iomem *) (offset + (char __iomem *)addr); } @@ -187,10 +187,10 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag * Must be freed with iounmap. */ -void *ioremap_nocache (unsigned long phys_addr, unsigned long size) +void __iomem *ioremap_nocache (unsigned long phys_addr, unsigned long size) { unsigned long last_addr; - void *p = __ioremap(phys_addr, size, _PAGE_PCD); + void __iomem *p = __ioremap(phys_addr, size, _PAGE_PCD); if (!p) return p; @@ -221,12 +221,12 @@ void *ioremap_nocache (unsigned long phys_addr, unsigned long size) return p; } -void iounmap(void *addr) +void iounmap(volatile void __iomem *addr) { struct vm_struct *p; - if (addr <= high_memory) + if ((void __force *) addr <= high_memory) return; - p = remove_vm_area((void *) (PAGE_MASK & (unsigned long) addr)); + p = remove_vm_area((void *) (PAGE_MASK & (unsigned long __force) addr)); if (!p) { printk("__iounmap: bad address %p\n", addr); return; diff --git a/arch/i386/mm/pageattr.c b/arch/i386/mm/pageattr.c index f7d47e09e..4cfc30349 100644 --- a/arch/i386/mm/pageattr.c +++ b/arch/i386/mm/pageattr.c @@ -67,21 +67,22 @@ static void flush_kernel_map(void *dummy) static void set_pmd_pte(pte_t *kpte, unsigned long address, pte_t pte) { + struct page *page; + unsigned long flags; + set_pte_atomic(kpte, pte); /* change init_mm */ -#ifndef CONFIG_X86_PAE - { - struct list_head *l; - if (TASK_SIZE > PAGE_OFFSET) - return; - spin_lock(&mmlist_lock); - list_for_each(l, &init_mm.mmlist) { - struct mm_struct *mm = list_entry(l, struct mm_struct, mmlist); - pmd_t *pmd = pmd_offset(pgd_offset(mm, address), address); - set_pte_atomic((pte_t *)pmd, pte); - } - spin_unlock(&mmlist_lock); + if (PTRS_PER_PMD > 1) + return; + + spin_lock_irqsave(&pgd_lock, flags); + for (page = pgd_list; page; page = (struct page *)page->index) { + pgd_t *pgd; + pmd_t *pmd; + pgd = (pgd_t *)page_address(page) + pgd_index(address); + pmd = pmd_offset(pgd, address); + set_pte_atomic((pte_t *)pmd, pte); } -#endif + spin_unlock_irqrestore(&pgd_lock, flags); } /* @@ -113,7 +114,7 @@ __change_page_attr(struct page *page, pgprot_t prot) kpte = lookup_address(address); if (!kpte) return -EINVAL; - kpte_page = virt_to_page(((unsigned long)kpte) & PAGE_MASK); + kpte_page = virt_to_page(kpte); if (pgprot_val(prot) != pgprot_val(PAGE_KERNEL)) { if ((pte_val(*kpte) & _PAGE_PSE) == 0) { pte_t old = *kpte; diff --git a/arch/i386/mm/pgtable.c b/arch/i386/mm/pgtable.c index 58066fb20..137d18db7 100644 --- a/arch/i386/mm/pgtable.c +++ b/arch/i386/mm/pgtable.c @@ -13,7 +13,6 @@ #include #include #include -#include #include #include @@ -22,7 +21,6 @@ #include #include #include -#include void show_mem(void) { @@ -57,8 +55,6 @@ void show_mem(void) printk("%d pages swap cached\n",cached); } -EXPORT_SYMBOL_GPL(show_mem); - /* * Associate a virtual page frame with a given physical page frame * and protection flags for that frame. @@ -161,20 +157,11 @@ void pmd_ctor(void *pmd, kmem_cache_t *cache, unsigned long flags) memset(pmd, 0, PTRS_PER_PMD*sizeof(pmd_t)); } -void kpmd_ctor(void *__pmd, kmem_cache_t *cache, unsigned long flags) -{ - pmd_t *kpmd, *pmd; - kpmd = pmd_offset(&swapper_pg_dir[PTRS_PER_PGD-1], - (PTRS_PER_PMD - NR_SHARED_PMDS)*PMD_SIZE); - pmd = (pmd_t *)__pmd + (PTRS_PER_PMD - NR_SHARED_PMDS); - - memset(__pmd, 0, (PTRS_PER_PMD - NR_SHARED_PMDS)*sizeof(pmd_t)); - memcpy(pmd, kpmd, NR_SHARED_PMDS*sizeof(pmd_t)); -} - /* - * List of all pgd's needed so it can invalidate entries in both cached - * and uncached pgd's. This is essentially codepath-based locking + * List of all pgd's needed for non-PAE so it can invalidate entries + * in both cached and uncached pgd's; not needed for PAE since the + * kernel pmd is shared. If PAE were not to share the pmd a similar + * tactic would be needed. This is essentially codepath-based locking * against pageattr.c; it is the unique case in which a valid change * of kernel pagetables can't be lazily synchronized by vmalloc faults. * vmalloc faults work because attached pagetables are never freed. @@ -182,12 +169,6 @@ void kpmd_ctor(void *__pmd, kmem_cache_t *cache, unsigned long flags) * checks at dup_mmap(), exec(), and other mmlist addition points * could be used. The locking scheme was chosen on the basis of * manfred's recommendations and having no core impact whatsoever. - * - * Lexicon for #ifdefless conditions to config options: - * (a) PTRS_PER_PMD == 1 means non-PAE. - * (b) PTRS_PER_PMD > 1 means PAE. - * (c) TASK_SIZE > PAGE_OFFSET means 4:4. - * (d) TASK_SIZE <= PAGE_OFFSET means non-4:4. * -- wli */ spinlock_t pgd_lock = SPIN_LOCK_UNLOCKED; @@ -213,38 +194,26 @@ static inline void pgd_list_del(pgd_t *pgd) next->private = (unsigned long)pprev; } -void pgd_ctor(void *__pgd, kmem_cache_t *cache, unsigned long unused) +void pgd_ctor(void *pgd, kmem_cache_t *cache, unsigned long unused) { - pgd_t *pgd = __pgd; unsigned long flags; - if (PTRS_PER_PMD == 1) { - if (TASK_SIZE <= PAGE_OFFSET) - spin_lock_irqsave(&pgd_lock, flags); - else - memcpy(&pgd[PTRS_PER_PGD - NR_SHARED_PMDS], - &swapper_pg_dir[PTRS_PER_PGD - NR_SHARED_PMDS], - NR_SHARED_PMDS*sizeof(pgd_t)); - } + if (PTRS_PER_PMD == 1) + spin_lock_irqsave(&pgd_lock, flags); - if (TASK_SIZE <= PAGE_OFFSET) - memcpy(&pgd[USER_PTRS_PER_PGD], - &swapper_pg_dir[USER_PTRS_PER_PGD], - (PTRS_PER_PGD - USER_PTRS_PER_PGD)*sizeof(pgd_t)); + memcpy((pgd_t *)pgd + USER_PTRS_PER_PGD, + swapper_pg_dir + USER_PTRS_PER_PGD, + (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t)); if (PTRS_PER_PMD > 1) return; - if (TASK_SIZE > PAGE_OFFSET) - memset(pgd, 0, (PTRS_PER_PGD - NR_SHARED_PMDS)*sizeof(pgd_t)); - else { - pgd_list_add(pgd); - spin_unlock_irqrestore(&pgd_lock, flags); - memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t)); - } + pgd_list_add(pgd); + spin_unlock_irqrestore(&pgd_lock, flags); + memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t)); } -/* Never called when PTRS_PER_PMD > 1 || TASK_SIZE > PAGE_OFFSET */ +/* never called when PTRS_PER_PMD > 1 */ void pgd_dtor(void *pgd, kmem_cache_t *cache, unsigned long unused) { unsigned long flags; /* can be called from interrupt context */ @@ -262,31 +231,15 @@ pgd_t *pgd_alloc(struct mm_struct *mm) if (PTRS_PER_PMD == 1 || !pgd) return pgd; - /* - * In the 4G userspace case alias the top 16 MB virtual - * memory range into the user mappings as well (these - * include the trampoline and CPU data structures). - */ for (i = 0; i < USER_PTRS_PER_PGD; ++i) { - pmd_t *pmd; - - if (TASK_SIZE > PAGE_OFFSET && i == USER_PTRS_PER_PGD - 1) - pmd = kmem_cache_alloc(kpmd_cache, GFP_KERNEL); - else - pmd = kmem_cache_alloc(pmd_cache, GFP_KERNEL); - + pmd_t *pmd = kmem_cache_alloc(pmd_cache, GFP_KERNEL); if (!pmd) goto out_oom; set_pgd(&pgd[i], __pgd(1 + __pa((u64)((u32)pmd)))); } - return pgd; + out_oom: - /* - * we don't have to handle the kpmd_cache here, since it's the - * last allocation, and has either nothing to free or when it - * succeeds the whole operation succeeds. - */ for (i--; i >= 0; i--) kmem_cache_free(pmd_cache, (void *)__va(pgd_val(pgd[i])-1)); kmem_cache_free(pgd_cache, pgd); @@ -297,26 +250,10 @@ void pgd_free(pgd_t *pgd) { int i; - /* in the non-PAE case, clear_page_tables() clears user pgd entries */ - if (PTRS_PER_PMD == 1) - goto out_free; - /* in the PAE case user pgd entries are overwritten before usage */ - for (i = 0; i < USER_PTRS_PER_PGD; ++i) { - pmd_t *pmd = __va(pgd_val(pgd[i]) - 1); - - /* - * only userspace pmd's are cleared for us - * by mm/memory.c; it's a slab cache invariant - * that we must separate the kernel pmd slab - * all times, else we'll have bad pmd's. - */ - if (TASK_SIZE > PAGE_OFFSET && i == USER_PTRS_PER_PGD - 1) - kmem_cache_free(kpmd_cache, pmd); - else - kmem_cache_free(pmd_cache, pmd); - } -out_free: + if (PTRS_PER_PMD > 1) + for (i = 0; i < USER_PTRS_PER_PGD; ++i) + kmem_cache_free(pmd_cache, (void *)__va(pgd_val(pgd[i])-1)); + /* in the non-PAE case, clear_page_tables() clears user pgd entries */ kmem_cache_free(pgd_cache, pgd); } - diff --git a/arch/i386/oprofile/op_model_p4.c b/arch/i386/oprofile/op_model_p4.c index e92eaed25..1b3626df5 100644 --- a/arch/i386/oprofile/op_model_p4.c +++ b/arch/i386/oprofile/op_model_p4.c @@ -419,9 +419,28 @@ static void p4_fill_in_addresses(struct op_msrs * const msrs) msrs->controls[i].addr = addr; } - /* 43 ESCR registers in three discontiguous group */ + /* 43 ESCR registers in three or four discontiguous group */ for (addr = MSR_P4_BSU_ESCR0 + stag; - addr <= MSR_P4_SSU_ESCR0; ++i, addr += addr_increment()) { + addr < MSR_P4_IQ_ESCR0; ++i, addr += addr_increment()) { + msrs->controls[i].addr = addr; + } + + /* no IQ_ESCR0/1 on some models, we save a seconde time BSU_ESCR0/1 + * to avoid special case in nmi_{save|restore}_registers() */ + if (boot_cpu_data.x86_model >= 0x3) { + for (addr = MSR_P4_BSU_ESCR0 + stag; + addr <= MSR_P4_BSU_ESCR1; ++i, addr += addr_increment()) { + msrs->controls[i].addr = addr; + } + } else { + for (addr = MSR_P4_IQ_ESCR0 + stag; + addr <= MSR_P4_IQ_ESCR1; ++i, addr += addr_increment()) { + msrs->controls[i].addr = addr; + } + } + + for (addr = MSR_P4_RAT_ESCR0 + stag; + addr <= MSR_P4_SSU_ESCR0; ++i, addr += addr_increment()) { msrs->controls[i].addr = addr; } @@ -553,7 +572,18 @@ static void p4_setup_ctrs(struct op_msrs const * const msrs) /* clear all escrs (including those outside our concern) */ for (addr = MSR_P4_BSU_ESCR0 + stag; - addr <= MSR_P4_SSU_ESCR0; addr += addr_increment()) { + addr < MSR_P4_IQ_ESCR0; addr += addr_increment()) { + wrmsr(addr, 0, 0); + } + + /* On older models clear also MSR_P4_IQ_ESCR0/1 */ + if (boot_cpu_data.x86_model < 0x3) { + wrmsr(MSR_P4_IQ_ESCR0, 0, 0); + wrmsr(MSR_P4_IQ_ESCR1, 0, 0); + } + + for (addr = MSR_P4_RAT_ESCR0 + stag; + addr <= MSR_P4_SSU_ESCR0; ++i, addr += addr_increment()) { wrmsr(addr, 0, 0); } @@ -578,7 +608,7 @@ static void p4_setup_ctrs(struct op_msrs const * const msrs) /* setup all counters */ for (i = 0 ; i < num_counters ; ++i) { - if (counter_config[i].event) { + if (counter_config[i].enabled) { reset_value[i] = counter_config[i].count; pmc_setup_one_p4_counter(i); CTR_WRITE(counter_config[i].count, VIRT_CTR(stag, i)); @@ -595,7 +625,7 @@ static int p4_check_ctrs(unsigned int const cpu, { unsigned long ctr, low, high, stag, real; int i; - unsigned long eip = instruction_pointer(regs); + unsigned long eip = profile_pc(regs); int is_kernel = !user_mode(regs); stag = get_stagger(); diff --git a/arch/i386/pci/fixup.c b/arch/i386/pci/fixup.c index a8b1954ae..8e2b2d48a 100644 --- a/arch/i386/pci/fixup.c +++ b/arch/i386/pci/fixup.c @@ -29,6 +29,7 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d) } pcibios_last_bus = -1; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82451NX, pci_fixup_i450nx); static void __devinit pci_fixup_i450gx(struct pci_dev *d) { @@ -42,6 +43,7 @@ static void __devinit pci_fixup_i450gx(struct pci_dev *d) pci_scan_bus(busno, &pci_root_ops, NULL); pcibios_last_bus = -1; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454GX, pci_fixup_i450gx); static void __devinit pci_fixup_umc_ide(struct pci_dev *d) { @@ -55,6 +57,7 @@ static void __devinit pci_fixup_umc_ide(struct pci_dev *d) for(i=0; i<4; i++) d->resource[i].flags |= PCI_BASE_ADDRESS_SPACE_IO; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8886BF, pci_fixup_umc_ide); static void __devinit pci_fixup_ncr53c810(struct pci_dev *d) { @@ -67,6 +70,7 @@ static void __devinit pci_fixup_ncr53c810(struct pci_dev *d) d->class = PCI_CLASS_STORAGE_SCSI << 8; } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, pci_fixup_ncr53c810); static void __devinit pci_fixup_ide_bases(struct pci_dev *d) { @@ -86,6 +90,7 @@ static void __devinit pci_fixup_ide_bases(struct pci_dev *d) } } } +DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases); static void __devinit pci_fixup_ide_trash(struct pci_dev *d) { @@ -108,6 +113,10 @@ static void __devinit pci_fixup_ide_trash(struct pci_dev *d) for(i=0; i<4; i++) d->resource[i].start = d->resource[i].end = d->resource[i].flags = 0; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5513, pci_fixup_ide_trash); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_10, pci_fixup_ide_trash); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_11, pci_fixup_ide_trash); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_9, pci_fixup_ide_trash); static void __devinit pci_fixup_latency(struct pci_dev *d) { @@ -118,6 +127,8 @@ static void __devinit pci_fixup_latency(struct pci_dev *d) DBG("PCI: Setting max latency to 32\n"); pcibios_max_latency = 32; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, pci_fixup_latency); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5598, pci_fixup_latency); static void __devinit pci_fixup_piix4_acpi(struct pci_dev *d) { @@ -126,6 +137,7 @@ static void __devinit pci_fixup_piix4_acpi(struct pci_dev *d) */ d->irq = 9; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, pci_fixup_piix4_acpi); /* * Addresses issues with problems in the memory write queue timer in @@ -179,6 +191,10 @@ static void __devinit pci_fixup_via_northbridge_bug(struct pci_dev *d) pci_write_config_byte(d, where, v); } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, pci_fixup_via_northbridge_bug); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8622, pci_fixup_via_northbridge_bug); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, pci_fixup_via_northbridge_bug); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8367_0, pci_fixup_via_northbridge_bug); /* * For some reasons Intel decided that certain parts of their @@ -195,6 +211,7 @@ static void __devinit pci_fixup_transparent_bridge(struct pci_dev *dev) (dev->device & 0xff00) == 0x2400) dev->transparent = 1; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, pci_fixup_transparent_bridge); /* * Fixup for C1 Halt Disconnect problem on nForce2 systems. @@ -236,115 +253,96 @@ static void __init pci_fixup_nforce2(struct pci_dev *dev) pci_write_config_dword(dev, 0x6c, fixed_val); } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2, pci_fixup_nforce2); -struct pci_fixup pcibios_fixups[] = { - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_DEVICE_ID_INTEL_82451NX, - .hook = pci_fixup_i450nx - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_DEVICE_ID_INTEL_82454GX, - .hook = pci_fixup_i450gx - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_UMC, - .device = PCI_DEVICE_ID_UMC_UM8886BF, - .hook = pci_fixup_umc_ide - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_SI, - .device = PCI_DEVICE_ID_SI_5513, - .hook = pci_fixup_ide_trash - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_ANY_ID, - .device = PCI_ANY_ID, - .hook = pci_fixup_ide_bases - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_SI, - .device = PCI_DEVICE_ID_SI_5597, - .hook = pci_fixup_latency - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_SI, - .device = PCI_DEVICE_ID_SI_5598, - .hook = pci_fixup_latency - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_DEVICE_ID_INTEL_82371AB_3, - .hook = pci_fixup_piix4_acpi - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_DEVICE_ID_INTEL_82801CA_10, - .hook = pci_fixup_ide_trash - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_DEVICE_ID_INTEL_82801CA_11, - .hook = pci_fixup_ide_trash - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_DEVICE_ID_INTEL_82801DB_9, - .hook = pci_fixup_ide_trash - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_VIA, - .device = PCI_DEVICE_ID_VIA_8363_0, - .hook = pci_fixup_via_northbridge_bug - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_VIA, - .device = PCI_DEVICE_ID_VIA_8622, - .hook = pci_fixup_via_northbridge_bug - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_VIA, - .device = PCI_DEVICE_ID_VIA_8361, - .hook = pci_fixup_via_northbridge_bug - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_VIA, - .device = PCI_DEVICE_ID_VIA_8367_0, - .hook = pci_fixup_via_northbridge_bug - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_NCR, - .device = PCI_DEVICE_ID_NCR_53C810, - .hook = pci_fixup_ncr53c810 - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_INTEL, - .device = PCI_ANY_ID, - .hook = pci_fixup_transparent_bridge - }, - { - .pass = PCI_FIXUP_HEADER, - .vendor = PCI_VENDOR_ID_NVIDIA, - .device = PCI_DEVICE_ID_NVIDIA_NFORCE2, - .hook = pci_fixup_nforce2 - }, - { .pass = 0 } +/* Max PCI Express root ports */ +#define MAX_PCIEROOT 6 +static int quirk_aspm_offset[MAX_PCIEROOT << 3]; + +#define GET_INDEX(a, b) (((a - PCI_DEVICE_ID_INTEL_MCH_PA) << 3) + b) + +static int quirk_pcie_aspm_read(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 *value) +{ + return raw_pci_ops->read(0, bus->number, devfn, where, size, value); +} + +/* + * Replace the original pci bus ops for write with a new one that will filter + * the request to insure ASPM cannot be enabled. + */ +static int quirk_pcie_aspm_write(struct pci_bus *bus, unsigned int devfn, int where, int size, u32 value) +{ + u8 offset; + + offset = quirk_aspm_offset[GET_INDEX(bus->self->device, devfn)]; + + if ((offset) && (where == offset)) + value = value & 0xfffffffc; + + return raw_pci_ops->write(0, bus->number, devfn, where, size, value); +} + +struct pci_ops quirk_pcie_aspm_ops = { + .read = quirk_pcie_aspm_read, + .write = quirk_pcie_aspm_write, }; + +/* + * Prevents PCI Express ASPM (Active State Power Management) being enabled. + * + * Save the register offset, where the ASPM control bits are located, + * for each PCI Express device that is in the device list of + * the root port in an array for fast indexing. Replace the bus ops + * with the modified one. + */ +void pcie_rootport_aspm_quirk(struct pci_dev *pdev) +{ + int cap_base, i; + struct pci_bus *pbus; + struct pci_dev *dev; + + if ((pbus = pdev->subordinate) == NULL) + return; + + /* + * Check if the DID of pdev matches one of the six root ports. This + * check is needed in the case this function is called directly by the + * hot-plug driver. + */ + if ((pdev->device < PCI_DEVICE_ID_INTEL_MCH_PA) || + (pdev->device > PCI_DEVICE_ID_INTEL_MCH_PC1)) + return; + + if (list_empty(&pbus->devices)) { + /* + * If no device is attached to the root port at power-up or + * after hot-remove, the pbus->devices is empty and this code + * will set the offsets to zero and the bus ops to parent's bus + * ops, which is unmodified. + */ + for (i= GET_INDEX(pdev->device, 0); i <= GET_INDEX(pdev->device, 7); ++i) + quirk_aspm_offset[i] = 0; + + pbus->ops = pbus->parent->ops; + } else { + /* + * If devices are attached to the root port at power-up or + * after hot-add, the code loops through the device list of + * each root port to save the register offsets and replace the + * bus ops. + */ + list_for_each_entry(dev, &pbus->devices, bus_list) { + /* There are 0 to 8 devices attached to this bus */ + cap_base = pci_find_capability(dev, PCI_CAP_ID_EXP); + quirk_aspm_offset[GET_INDEX(pdev->device, dev->devfn)]= cap_base + 0x10; + } + pbus->ops = &quirk_pcie_aspm_ops; + } +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PA, pcie_rootport_aspm_quirk ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PA1, pcie_rootport_aspm_quirk ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PB, pcie_rootport_aspm_quirk ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PB1, pcie_rootport_aspm_quirk ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PC, pcie_rootport_aspm_quirk ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PC1, pcie_rootport_aspm_quirk ); + diff --git a/arch/i386/pci/mmconfig.c b/arch/i386/pci/mmconfig.c index f42c45305..27174fe64 100644 --- a/arch/i386/pci/mmconfig.c +++ b/arch/i386/pci/mmconfig.c @@ -30,7 +30,7 @@ static inline void pci_exp_set_dev_base(int bus, int devfn) u32 dev_base = pci_mmcfg_base_addr | (bus << 20) | (devfn << 12); if (dev_base != mmcfg_last_accessed_device) { mmcfg_last_accessed_device = dev_base; - set_fixmap(FIX_PCIE_MCFG, dev_base); + set_fixmap_nocache(FIX_PCIE_MCFG, dev_base); } } @@ -85,9 +85,6 @@ static int pci_mmcfg_write(int seg, int bus, int devfn, int reg, int len, u32 va break; } - /* Dummy read to flush PCI write */ - readl(mmcfg_virt_addr); - spin_unlock_irqrestore(&pci_config_lock, flags); return 0; diff --git a/arch/i386/power/cpu.c b/arch/i386/power/cpu.c index 28ea6059f..53542e3a9 100644 --- a/arch/i386/power/cpu.c +++ b/arch/i386/power/cpu.c @@ -83,8 +83,10 @@ do_fpu_end(void) static void fix_processor_context(void) { int cpu = smp_processor_id(); + struct tss_struct * t = &per_cpu(init_tss, cpu); - cpu_gdt_table[cpu][GDT_ENTRY_TSS].b &= 0xfffffdff; + set_tss_desc(cpu,t); /* This just modifies memory; should not be necessary. But... This is necessary, because 386 hardware has concept of busy TSS or some similar stupidity. */ + per_cpu(cpu_gdt_table, cpu)[GDT_ENTRY_TSS].b &= 0xfffffdff; load_TR_desc(); /* This does ltr */ load_LDT(¤t->active_mm->context); /* This does lldt */ diff --git a/arch/i386/power/swsusp.S b/arch/i386/power/swsusp.S index 8e4a7baca..6e6335f89 100644 --- a/arch/i386/power/swsusp.S +++ b/arch/i386/power/swsusp.S @@ -15,83 +15,47 @@ .text -ENTRY(do_magic) - pushl %ebx - cmpl $0,8(%esp) - jne resume - call do_magic_suspend_1 - call save_processor_state +ENTRY(swsusp_arch_suspend) movl %esp, saved_context_esp - movl %eax, saved_context_eax movl %ebx, saved_context_ebx - movl %ecx, saved_context_ecx - movl %edx, saved_context_edx movl %ebp, saved_context_ebp movl %esi, saved_context_esi movl %edi, saved_context_edi pushfl ; popl saved_context_eflags - call do_magic_suspend_2 - popl %ebx + call swsusp_save ret -resume: +ENTRY(swsusp_arch_resume) movl $swsusp_pg_dir-__PAGE_OFFSET,%ecx movl %ecx,%cr3 - call do_magic_resume_1 - movl $0,loop - cmpl $0,nr_copy_pages - je copy_done -copy_loop: - movl $0,loop2 + movl pagedir_nosave, %ebx + xorl %eax, %eax + xorl %edx, %edx .p2align 4,,7 -copy_one_page: - movl pagedir_nosave,%ecx - movl loop,%eax - movl loop2,%edx - sall $4,%eax - movl 4(%ecx,%eax),%ebx - movl (%ecx,%eax),%eax - movb (%edx,%eax),%al - movb %al,(%edx,%ebx) - movl loop2,%eax - leal 1(%eax),%edx - movl %edx,loop2 - movl %edx,%eax - cmpl $4095,%eax - jbe copy_one_page - movl loop,%eax - leal 1(%eax),%edx - movl %edx,loop - movl %edx,%eax - cmpl nr_copy_pages,%eax - jb copy_loop +copy_loop: + movl 4(%ebx,%edx),%edi + movl (%ebx,%edx),%esi + + movl $1024, %ecx + rep + movsl -copy_done: - movl $__USER_DS,%eax + incl %eax + addl $16, %edx + cmpl nr_copy_pages,%eax + jb copy_loop + .p2align 4,,7 - movw %ax, %ds - movw %ax, %es movl saved_context_esp, %esp movl saved_context_ebp, %ebp - movl saved_context_eax, %eax movl saved_context_ebx, %ebx - movl saved_context_ecx, %ecx - movl saved_context_edx, %edx movl saved_context_esi, %esi movl saved_context_edi, %edi - call restore_processor_state + pushl saved_context_eflags ; popfl - call do_magic_resume_2 - popl %ebx + call swsusp_restore ret - - .section .data.nosave -loop: - .quad 0 -loop2: - .quad 0 - .previous diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 7eef15fbd..00c6c2b32 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -38,6 +38,10 @@ config EFI bool default y +config GENERIC_IOMAP + bool + default y + choice prompt "System type" default IA64_GENERIC @@ -69,6 +73,12 @@ config IA64_HP_ZX1 config IA64_SGI_SN2 bool "SGI-SN2" + help + Selecting this option will optimize the kernel for use on sn2 based + systems, but the resulting kernel binary will not run on other + types of ia64 systems. If you have an SGI Altix system, it's safe + to select this option. If in doubt, select ia64 generic support + instead. config IA64_HP_SIM bool "Ski-simulator" @@ -267,6 +277,9 @@ config COMPAT depends on IA32_SUPPORT default y +config IA64_MCA_RECOVERY + tristate "MCA recovery from errors other than TLB." + config PERFMON bool "Performance monitor support" help @@ -369,119 +382,7 @@ source "arch/ia64/hp/sim/Kconfig" source "arch/ia64/oprofile/Kconfig" -menu "Kernel hacking" - -choice - prompt "Physical memory granularity" - default IA64_GRANULE_64MB - -config IA64_GRANULE_16MB - bool "16MB" - help - IA-64 identity-mapped regions use a large page size called "granules". - - Select "16MB" for a small granule size. - Select "64MB" for a large granule size. This is the current default. - -config IA64_GRANULE_64MB - bool "64MB" - depends on !(IA64_GENERIC || IA64_HP_ZX1 || IA64_SGI_SN2) - -endchoice - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config IA64_PRINT_HAZARDS - bool "Print possible IA-64 dependency violations to console" - depends on DEBUG_KERNEL - help - Selecting this option prints more information for Illegal Dependency - Faults, that is, for Read-after-Write (RAW), Write-after-Write (WAW), - or Write-after-Read (WAR) violations. This option is ignored if you - are compiling for an Itanium A step processor - (CONFIG_ITANIUM_ASTEP_SPECIFIC). If you're unsure, select Y. - -config DISABLE_VHPT - bool "Disable VHPT" - depends on DEBUG_KERNEL - help - The Virtual Hash Page Table (VHPT) enhances virtual address - translation performance. Normally you want the VHPT active but you - can select this option to disable the VHPT for debugging. If you're - unsure, answer N. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - -config IA64_DEBUG_CMPXCHG - bool "Turn on compare-and-exchange bug checking (slow!)" - depends on DEBUG_KERNEL - help - Selecting this option turns on bug checking for the IA-64 - compare-and-exchange instructions. This is slow! Itaniums - from step B3 or later don't have this problem. If you're unsure, - select N. - -config IA64_DEBUG_IRQ - bool "Turn on irq debug checks (slow!)" - depends on DEBUG_KERNEL - help - Selecting this option turns on bug checking for the IA-64 irq_save - and restore instructions. It's useful for tracking down spinlock - problems, but slow! If you're unsure, select N. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config SYSVIPC_COMPAT - bool - depends on COMPAT && SYSVIPC - default y -endmenu +source "arch/ia64/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile index d8b6b60e6..ee3e96d76 100644 --- a/arch/ia64/Makefile +++ b/arch/ia64/Makefile @@ -13,6 +13,8 @@ READELF := $(CROSS_COMPILE)readelf export AWK +CHECKFLAGS += -m64 -D__ia64=1 -D__ia64__=1 -D_LP64 -D__LP64__ + OBJCOPYFLAGS := --strip-all LDFLAGS_vmlinux := -static LDFLAGS_MODULE += -T $(srctree)/arch/ia64/module.lds @@ -20,14 +22,12 @@ AFLAGS_KERNEL := -mconstant-gp EXTRA := cflags-y := -pipe $(EXTRA) -ffixed-r13 -mfixed-range=f12-f15,f32-f127 \ - -falign-functions=32 -frename-registers + -falign-functions=32 -frename-registers -fno-optimize-sibling-calls CFLAGS_KERNEL := -mconstant-gp -GCC_VERSION=$(shell $(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f1 -d'.') -GCC_MINOR_VERSION=$(shell $(CC) -v 2>&1 | fgrep 'gcc version' | cut -f3 -d' ' | cut -f2 -d'.') - -GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas $(CC) $(OBJDUMP)) -CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags $(CC) $(OBJDUMP) $(READELF)) +GCC_VERSION := $(call cc-version) +GAS_STATUS = $(shell $(srctree)/arch/ia64/scripts/check-gas "$(CC)" "$(OBJDUMP)") +CPPFLAGS += $(shell $(srctree)/arch/ia64/scripts/toolchain-flags "$(CC)" "$(OBJDUMP)" "$(READELF)") ifeq ($(GAS_STATUS),buggy) $(error Sorry, you need a newer version of the assember, one that is built from \ @@ -37,16 +37,14 @@ $(error Sorry, you need a newer version of the assember, one that is built from ftp://ftp.hpl.hp.com/pub/linux-ia64/gas-030124.tar.gz) endif -ifeq ($(GCC_VERSION),2) +ifneq ($(shell if [ $(GCC_VERSION) -lt 0300 ] ; then echo "bad"; fi ;),) $(error Sorry, your compiler is too old. GCC v2.96 is known to generate bad code.) endif -ifeq ($(GCC_VERSION),3) - ifeq ($(GCC_MINOR_VERSION),4) +ifeq ($(GCC_VERSION),0304) # Workaround Itanium 1 bugs in gcc 3.4. # cflags-$(CONFIG_ITANIUM) += -mtune=merced cflags-$(CONFIG_MCKINLEY) += -mtune=mckinley - endif endif cflags-$(CONFIG_ITANIUM_BSTEP_SPECIFIC) += -mb-step diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig index 2797cb4eb..80b53c925 100644 --- a/arch/ia64/configs/sn2_defconfig +++ b/arch/ia64/configs/sn2_defconfig @@ -1,5 +1,7 @@ # # Automatically generated make config: don't edit +# Linux kernel version: 2.6.9-rc2 +# Fri Sep 24 08:59:00 2004 # # @@ -7,11 +9,11 @@ # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y -CONFIG_STANDALONE=y # # General setup # +CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y @@ -32,6 +34,8 @@ CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -53,6 +57,7 @@ CONFIG_MMU=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_TIME_INTERPOLATION=y CONFIG_EFI=y +CONFIG_GENERIC_IOMAP=y # CONFIG_IA64_GENERIC is not set # CONFIG_IA64_DIG is not set # CONFIG_IA64_HP_ZX1 is not set @@ -75,7 +80,7 @@ CONFIG_FORCE_MAX_ZONEORDER=18 CONFIG_SMP=y CONFIG_NR_CPUS=512 # CONFIG_HOTPLUG_CPU is not set -# CONFIG_PREEMPT is not set +CONFIG_PREEMPT=y CONFIG_HAVE_DEC_LOCK=y CONFIG_IA32_SUPPORT=y CONFIG_COMPAT=y @@ -115,7 +120,7 @@ CONFIG_ACPI_SYSTEM=y # CONFIG_PCI=y CONFIG_PCI_DOMAINS=y -# CONFIG_PCI_USE_VECTOR is not set +# CONFIG_PCI_MSI is not set CONFIG_PCI_LEGACY_PROC=y CONFIG_PCI_NAMES=y @@ -142,6 +147,7 @@ CONFIG_HOTPLUG_PCI_SGI=y # # Generic Driver Options # +CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=m # CONFIG_DEBUG_DRIVER is not set @@ -171,6 +177,7 @@ CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_NBD=m # CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y @@ -185,7 +192,8 @@ CONFIG_BLK_DEV_IDE=y # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_IDE_SATA is not set -# CONFIG_BLK_DEV_IDEDISK is not set +CONFIG_BLK_DEV_IDEDISK=y +# CONFIG_IDEDISK_MULTI_MODE is not set CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set @@ -206,7 +214,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDEDMA_ONLYDISK is not set -CONFIG_BLK_DEV_ADMA=y # CONFIG_BLK_DEV_AEC62XX is not set # CONFIG_BLK_DEV_ALI15X3 is not set # CONFIG_BLK_DEV_AMD74XX is not set @@ -273,7 +280,8 @@ CONFIG_SCSI_FC_ATTRS=y # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_MEGARAID is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set CONFIG_SCSI_SATA=y # CONFIG_SCSI_SATA_SVW is not set # CONFIG_SCSI_ATA_PIIX is not set @@ -316,6 +324,7 @@ CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y +# CONFIG_MD_RAID10 is not set CONFIG_MD_RAID5=y # CONFIG_MD_RAID6 is not set CONFIG_MD_MULTIPATH=y @@ -329,8 +338,7 @@ CONFIG_DM_ZERO=m # Fusion MPT device support # CONFIG_FUSION=y -CONFIG_FUSION_MAX_SGE=40 -CONFIG_FUSION_ISENSE=m +CONFIG_FUSION_MAX_SGE=128 CONFIG_FUSION_CTL=m # @@ -368,11 +376,13 @@ CONFIG_SYN_COOKIES=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set CONFIG_IPV6=m # CONFIG_IPV6_PRIVACY is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set +# CONFIG_INET6_TUNNEL is not set # CONFIG_IPV6_TUNNEL is not set # CONFIG_NETFILTER is not set @@ -527,6 +537,7 @@ CONFIG_SERIAL_NONSTANDARD=y # CONFIG_SYNCLINKMP is not set # CONFIG_N_HDLC is not set # CONFIG_STALDRV is not set +CONFIG_SGI_SNSC=y # # Serial drivers @@ -537,11 +548,11 @@ CONFIG_SERIAL_NONSTANDARD=y # Non-8250 serial port support # CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_SGI_L1_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_QIC02_TAPE is not set # # IPMI @@ -566,6 +577,7 @@ CONFIG_EFI_RTC=y CONFIG_RAW_DRIVER=m # CONFIG_HPET is not set CONFIG_MAX_RAW_DEVS=256 +CONFIG_MMTIMER=y # # I2C support @@ -600,7 +612,6 @@ CONFIG_MAX_RAW_DEVS=256 # Console display driver support # # CONFIG_VGA_CONSOLE is not set -# CONFIG_MDA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y # @@ -620,6 +631,7 @@ CONFIG_USB=m # CONFIG_USB_DEVICEFS is not set # CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set # # USB Host Controller Drivers @@ -716,7 +728,7 @@ CONFIG_USB_HIDINPUT=y # # File systems # -CONFIG_EXT2_FS=m +CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y @@ -791,7 +803,6 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set @@ -816,10 +827,12 @@ CONFIG_EXPORTFS=m CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_RPCSEC_GSS_KRB5=m +# CONFIG_RPCSEC_GSS_SPKM3 is not set CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_XATTR is not set # CONFIG_CIFS_POSIX is not set # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set @@ -906,18 +919,18 @@ CONFIG_ZLIB_DEFLATE=m # # Kernel hacking # -CONFIG_IA64_GRANULE_16MB=y -# CONFIG_IA64_GRANULE_64MB is not set CONFIG_DEBUG_KERNEL=y -# CONFIG_IA64_PRINT_HAZARDS is not set -# CONFIG_DISABLE_VHPT is not set CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set +CONFIG_DEBUG_INFO=y +CONFIG_IA64_GRANULE_16MB=y +# CONFIG_IA64_GRANULE_64MB is not set +# CONFIG_IA64_PRINT_HAZARDS is not set +# CONFIG_DISABLE_VHPT is not set # CONFIG_IA64_DEBUG_CMPXCHG is not set # CONFIG_IA64_DEBUG_IRQ is not set -CONFIG_DEBUG_INFO=y CONFIG_SYSVIPC_COMPAT=y # @@ -936,6 +949,7 @@ CONFIG_CRYPTO_MD5=m CONFIG_CRYPTO_SHA1=m # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WHIRLPOOL is not set CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set @@ -945,6 +959,7 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_CAST6 is not set # CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set CONFIG_CRYPTO_DEFLATE=m # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set diff --git a/arch/ia64/hp/common/sba_iommu.c b/arch/ia64/hp/common/sba_iommu.c index e50c446e0..6bd41f025 100644 --- a/arch/ia64/hp/common/sba_iommu.c +++ b/arch/ia64/hp/common/sba_iommu.c @@ -478,7 +478,7 @@ sba_search_bitmap(struct ioc *ioc, unsigned long bits_wanted) * purges IOTLB entries in power-of-two sizes, so we also * allocate IOVA space in power-of-two sizes. */ - bits_wanted = 1UL << get_iovp_order(bits_wanted << PAGE_SHIFT); + bits_wanted = 1UL << get_iovp_order(bits_wanted << iovp_shift); if (likely(bits_wanted == 1)) { unsigned int bitshiftcnt; @@ -687,7 +687,7 @@ sba_free_range(struct ioc *ioc, dma_addr_t iova, size_t size) unsigned long m; /* Round up to power-of-two size: see AR2305 note above */ - bits_not_wanted = 1UL << get_iovp_order(bits_not_wanted << PAGE_SHIFT); + bits_not_wanted = 1UL << get_iovp_order(bits_not_wanted << iovp_shift); for (; bits_not_wanted > 0 ; res_ptr++) { if (unlikely(bits_not_wanted > BITS_PER_LONG)) { diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c index 299c15315..c862af611 100644 --- a/arch/ia64/ia32/binfmt_elf32.c +++ b/arch/ia64/ia32/binfmt_elf32.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include @@ -49,6 +48,7 @@ static void elf32_set_personality (void); extern struct page *ia32_shared_page[]; extern unsigned long *ia32_gdt; +extern struct page *ia32_gate_page; struct page * ia32_install_shared_page (struct vm_area_struct *vma, unsigned long address, int *type) @@ -60,10 +60,25 @@ ia32_install_shared_page (struct vm_area_struct *vma, unsigned long address, int return pg; } +struct page * +ia32_install_gate_page (struct vm_area_struct *vma, unsigned long address, int *type) +{ + struct page *pg = ia32_gate_page; + get_page(pg); + if (type) + *type = VM_FAULT_MINOR; + return pg; +} + + static struct vm_operations_struct ia32_shared_page_vm_ops = { .nopage = ia32_install_shared_page }; +static struct vm_operations_struct ia32_gate_page_vm_ops = { + .nopage = ia32_install_gate_page +}; + void ia64_elf32_init (struct pt_regs *regs) { @@ -84,6 +99,60 @@ ia64_elf32_init (struct pt_regs *regs) vma->vm_flags = VM_READ|VM_MAYREAD|VM_RESERVED; vma->vm_ops = &ia32_shared_page_vm_ops; down_write(¤t->mm->mmap_sem); + { + if (insert_vm_struct(current->mm, vma)) { + kmem_cache_free(vm_area_cachep, vma); + up_write(¤t->mm->mmap_sem); + return; + } + } + up_write(¤t->mm->mmap_sem); + } + + /* + * When user stack is not executable, push sigreturn code to stack makes + * segmentation fault raised when returning to kernel. So now sigreturn + * code is locked in specific gate page, which is pointed by pretcode + * when setup_frame_ia32 + */ + vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL); + if (vma) { + memset(vma, 0, sizeof(*vma)); + vma->vm_mm = current->mm; + vma->vm_start = IA32_GATE_OFFSET; + vma->vm_end = vma->vm_start + PAGE_SIZE; + vma->vm_page_prot = PAGE_COPY_EXEC; + vma->vm_flags = VM_READ | VM_MAYREAD | VM_EXEC + | VM_MAYEXEC | VM_RESERVED; + vma->vm_ops = &ia32_gate_page_vm_ops; + down_write(¤t->mm->mmap_sem); + { + if (insert_vm_struct(current->mm, vma)) { + kmem_cache_free(vm_area_cachep, vma); + up_write(¤t->mm->mmap_sem); + return; + } + } + up_write(¤t->mm->mmap_sem); + } + + /* + * When user stack is not executable, push sigreturn code to stack makes + * segmentation fault raised when returning to kernel. So now sigreturn + * code is locked in specific gate page, which is pointed by pretcode + * when setup_frame_ia32 + */ + vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL); + if (vma) { + memset(vma, 0, sizeof(*vma)); + vma->vm_mm = current->mm; + vma->vm_start = IA32_GATE_OFFSET; + vma->vm_end = vma->vm_start + PAGE_SIZE; + vma->vm_page_prot = PAGE_COPY_EXEC; + vma->vm_flags = VM_READ | VM_MAYREAD | VM_EXEC + | VM_MAYEXEC | VM_RESERVED; + vma->vm_ops = &ia32_gate_page_vm_ops; + down_write(¤t->mm->mmap_sem); { insert_vm_struct(current->mm, vma); } @@ -104,7 +173,11 @@ ia64_elf32_init (struct pt_regs *regs) vma->vm_flags = VM_READ|VM_WRITE|VM_MAYREAD|VM_MAYWRITE; down_write(¤t->mm->mmap_sem); { - insert_vm_struct(current->mm, vma); + if (insert_vm_struct(current->mm, vma)) { + kmem_cache_free(vm_area_cachep, vma); + up_write(¤t->mm->mmap_sem); + return; + } } up_write(¤t->mm->mmap_sem); } @@ -152,7 +225,7 @@ ia32_setup_arg_pages (struct linux_binprm *bprm, int executable_stack) unsigned long stack_base, grow; struct vm_area_struct *mpnt; struct mm_struct *mm = current->mm; - int i; + int i, ret; stack_base = IA32_STACK_TOP - MAX_ARG_PAGES*PAGE_SIZE; mm->arg_start = bprm->p + stack_base; @@ -189,10 +262,14 @@ ia32_setup_arg_pages (struct linux_binprm *bprm, int executable_stack) mpnt->vm_flags = VM_STACK_FLAGS; mpnt->vm_page_prot = (mpnt->vm_flags & VM_EXEC)? PAGE_COPY_EXEC: PAGE_COPY; - insert_vm_struct(current->mm, mpnt); - // current->mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; - vx_vmpages_sub(current->mm, current->mm->total_vm - - ((mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT)); + if ((ret = insert_vm_struct(current->mm, mpnt))) { + up_write(¤t->mm->mmap_sem); + kmem_cache_free(vm_area_cachep, mpnt); + return ret; + } + // current->mm->stack_vm = current->mm->total_vm = vma_pages(mpnt); + vx_vmpages_sub(current->mm, current->mm->total_vm - vma_pages(mpnt)); + current->mm->stack_vm = current->mm->total_vm; } for (i = 0 ; i < MAX_ARG_PAGES ; i++) { diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S index fa3ac962a..4a6319c6d 100644 --- a/arch/ia64/ia32/ia32_entry.S +++ b/arch/ia64/ia32/ia32_entry.S @@ -41,7 +41,7 @@ ENTRY(ia32_clone) zxt4 out1=in1 // newsp mov out3=16 // stacksize (compensates for 16-byte scratch area) adds out2=IA64_SWITCH_STACK_SIZE+16,sp // out2 = ®s - dep out0=0,in0,CLONE_IDLETASK_BIT,1 // out0 = clone_flags & ~CLONE_IDLETASK + mov out0=in0 // out0 = clone_flags zxt4 out4=in2 // out4 = parent_tidptr zxt4 out5=in4 // out5 = child_tidptr br.call.sptk.many rp=do_fork @@ -311,7 +311,7 @@ ia32_syscall_table: data8 sys_ni_syscall /* old profil syscall holder */ data8 compat_sys_statfs data8 compat_sys_fstatfs /* 100 */ - data8 sys32_ioperm + data8 sys_ni_syscall /* ioperm */ data8 compat_sys_socketcall data8 sys_syslog data8 compat_sys_setitimer @@ -320,7 +320,7 @@ ia32_syscall_table: data8 compat_sys_newlstat data8 compat_sys_newfstat data8 sys_ni_syscall - data8 sys32_iopl /* 110 */ + data8 sys_ni_syscall /* iopl */ /* 110 */ data8 sys_vhangup data8 sys_ni_syscall /* used to be sys_idle */ data8 sys_ni_syscall @@ -493,6 +493,8 @@ ia32_syscall_table: data8 compat_sys_mq_timedreceive /* 280 */ data8 compat_sys_mq_notify data8 compat_sys_mq_getsetattr + data8 sys_ni_syscall /* reserved for kexec */ + data8 sys32_waitid // guard against failures to increase IA32_NR_syscalls .org ia32_syscall_table + 8*IA32_NR_syscalls diff --git a/arch/ia64/ia32/ia32_signal.c b/arch/ia64/ia32/ia32_signal.c index 793ec3f76..7f2fc2704 100644 --- a/arch/ia64/ia32/ia32_signal.c +++ b/arch/ia64/ia32/ia32_signal.c @@ -66,7 +66,7 @@ struct rt_sigframe_ia32 }; int -copy_siginfo_from_user32 (siginfo_t *to, siginfo_t32 *from) +copy_siginfo_from_user32 (siginfo_t *to, siginfo_t32 __user *from) { unsigned long tmp; int err; @@ -78,10 +78,10 @@ copy_siginfo_from_user32 (siginfo_t *to, siginfo_t32 *from) err |= __get_user(to->si_errno, &from->si_errno); err |= __get_user(to->si_code, &from->si_code); - if (from->si_code < 0) + if (to->si_code < 0) err |= __copy_from_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE); else { - switch (from->si_code >> 16) { + switch (to->si_code >> 16) { case __SI_CHLD >> 16: err |= __get_user(to->si_utime, &from->si_utime); err |= __get_user(to->si_stime, &from->si_stime); @@ -92,7 +92,7 @@ copy_siginfo_from_user32 (siginfo_t *to, siginfo_t32 *from) break; case __SI_FAULT >> 16: err |= __get_user(tmp, &from->si_addr); - to->si_addr = (void *) tmp; + to->si_addr = (void __user *) tmp; break; case __SI_POLL >> 16: err |= __get_user(to->si_band, &from->si_band); @@ -110,7 +110,7 @@ copy_siginfo_from_user32 (siginfo_t *to, siginfo_t32 *from) } int -copy_siginfo_to_user32 (siginfo_t32 *to, siginfo_t *from) +copy_siginfo_to_user32 (siginfo_t32 __user *to, siginfo_t *from) { unsigned int addr; int err; @@ -141,7 +141,8 @@ copy_siginfo_to_user32 (siginfo_t32 *to, siginfo_t *from) err |= __put_user(from->si_uid, &to->si_uid); break; case __SI_FAULT >> 16: - err |= __put_user((long)from->si_addr, &to->si_addr); + /* avoid type-checking warnings by copying _pad[0] in lieu of si_addr... */ + err |= __put_user(from->_sifields._pad[0], &to->si_addr); break; case __SI_POLL >> 16: err |= __put_user(from->si_band, &to->si_band); @@ -202,7 +203,7 @@ copy_siginfo_to_user32 (siginfo_t32 *to, siginfo_t *from) */ static int -save_ia32_fpstate_live (struct _fpstate_ia32 *save) +save_ia32_fpstate_live (struct _fpstate_ia32 __user *save) { struct task_struct *tsk = current; struct pt_regs *ptp; @@ -310,7 +311,7 @@ save_ia32_fpstate_live (struct _fpstate_ia32 *save) } static int -restore_ia32_fpstate_live (struct _fpstate_ia32 *save) +restore_ia32_fpstate_live (struct _fpstate_ia32 __user *save) { struct task_struct *tsk = current; struct pt_regs *ptp; @@ -339,37 +340,37 @@ restore_ia32_fpstate_live (struct _fpstate_ia32 *save) fir = ia64_getreg(_IA64_REG_AR_FIR); fdr = ia64_getreg(_IA64_REG_AR_FDR); - __get_user(mxcsr, (unsigned int *)&save->mxcsr); + __get_user(mxcsr, (unsigned int __user *)&save->mxcsr); /* setting bits 0..5 8..12 with cw and 39..47 from mxcsr */ - __get_user(lo, (unsigned int *)&save->cw); + __get_user(lo, (unsigned int __user *)&save->cw); num64 = mxcsr & 0xff10; num64 = (num64 << 32) | (lo & 0x1f3f); - fcr = (fcr & (~0xff1000001f3f)) | num64; + fcr = (fcr & (~0xff1000001f3fUL)) | num64; /* setting bits 0..31 with sw and tag and 32..37 from mxcsr */ - __get_user(lo, (unsigned int *)&save->sw); + __get_user(lo, (unsigned int __user *)&save->sw); /* set bits 15,7 (fsw.b, fsw.es) to reflect the current error status */ if ( !(lo & 0x7f) ) lo &= (~0x8080); - __get_user(hi, (unsigned int *)&save->tag); + __get_user(hi, (unsigned int __user *)&save->tag); num64 = mxcsr & 0x3f; num64 = (num64 << 16) | (hi & 0xffff); num64 = (num64 << 16) | (lo & 0xffff); - fsr = (fsr & (~0x3fffffffff)) | num64; + fsr = (fsr & (~0x3fffffffffUL)) | num64; /* setting bits 0..47 with cssel and ipoff */ - __get_user(lo, (unsigned int *)&save->ipoff); - __get_user(hi, (unsigned int *)&save->cssel); + __get_user(lo, (unsigned int __user *)&save->ipoff); + __get_user(hi, (unsigned int __user *)&save->cssel); num64 = hi & 0xffff; num64 = (num64 << 32) | lo; - fir = (fir & (~0xffffffffffff)) | num64; + fir = (fir & (~0xffffffffffffUL)) | num64; /* setting bits 0..47 with datasel and dataoff */ - __get_user(lo, (unsigned int *)&save->dataoff); - __get_user(hi, (unsigned int *)&save->datasel); + __get_user(lo, (unsigned int __user *)&save->dataoff); + __get_user(hi, (unsigned int __user *)&save->datasel); num64 = hi & 0xffff; num64 = (num64 << 32) | lo; - fdr = (fdr & (~0xffffffffffff)) | num64; + fdr = (fdr & (~0xffffffffffffUL)) | num64; ia64_setreg(_IA64_REG_AR_FSR, fsr); ia64_setreg(_IA64_REG_AR_FCR, fcr); @@ -452,8 +453,8 @@ sigact_set_handler (struct k_sigaction *sa, unsigned int handler, unsigned int r sa->sa.sa_handler = (__sighandler_t) (((unsigned long) restorer << 32) | handler); } -asmlinkage long -ia32_rt_sigsuspend (compat_sigset_t *uset, unsigned int sigsetsize, struct sigscratch *scr) +long +__ia32_rt_sigsuspend (compat_sigset_t *sset, unsigned int sigsetsize, struct sigscratch *scr) { extern long ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall); sigset_t oldset, set; @@ -461,10 +462,7 @@ ia32_rt_sigsuspend (compat_sigset_t *uset, unsigned int sigsetsize, struct sigsc scr->scratch_unat = 0; /* avoid leaking kernel bits to user level */ memset(&set, 0, sizeof(&set)); - if (sigsetsize > sizeof(sigset_t)) - return -EINVAL; - - if (copy_from_user(&set.sig, &uset->sig, sigsetsize)) + if (memcpy(&set.sig, &sset->sig, sigsetsize)) return -EFAULT; sigdelsetmask(&set, ~_BLOCKABLE); @@ -491,10 +489,24 @@ ia32_rt_sigsuspend (compat_sigset_t *uset, unsigned int sigsetsize, struct sigsc } } +asmlinkage long +ia32_rt_sigsuspend (compat_sigset_t __user *uset, unsigned int sigsetsize, struct sigscratch *scr) +{ + compat_sigset_t set; + + if (sigsetsize > sizeof(compat_sigset_t)) + return -EINVAL; + + if (copy_from_user(&set.sig, &uset->sig, sigsetsize)) + return -EFAULT; + + return __ia32_rt_sigsuspend(&set, sigsetsize, scr); +} + asmlinkage long ia32_sigsuspend (unsigned int mask, struct sigscratch *scr) { - return ia32_rt_sigsuspend((compat_sigset_t *)&mask, sizeof(mask), scr); + return __ia32_rt_sigsuspend((compat_sigset_t *) &mask, sizeof(mask), scr); } asmlinkage long @@ -512,8 +524,8 @@ sys32_signal (int sig, unsigned int handler) } asmlinkage long -sys32_rt_sigaction (int sig, struct sigaction32 *act, - struct sigaction32 *oact, unsigned int sigsetsize) +sys32_rt_sigaction (int sig, struct sigaction32 __user *act, + struct sigaction32 __user *oact, unsigned int sigsetsize) { struct k_sigaction new_ka, old_ka; unsigned int handler, restorer; @@ -547,7 +559,8 @@ sys32_rt_sigaction (int sig, struct sigaction32 *act, asmlinkage long -sys32_rt_sigprocmask (int how, compat_sigset_t *set, compat_sigset_t *oset, unsigned int sigsetsize) +sys32_rt_sigprocmask (int how, compat_sigset_t __user *set, compat_sigset_t __user *oset, + unsigned int sigsetsize) { mm_segment_t old_fs = get_fs(); sigset_t s; @@ -562,7 +575,9 @@ sys32_rt_sigprocmask (int how, compat_sigset_t *set, compat_sigset_t *oset, unsi return -EFAULT; } set_fs(KERNEL_DS); - ret = sys_rt_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL, sizeof(s)); + ret = sys_rt_sigprocmask(how, + set ? (sigset_t __user *) &s : NULL, + oset ? (sigset_t __user *) &s : NULL, sizeof(s)); set_fs(old_fs); if (ret) return ret; @@ -574,10 +589,9 @@ sys32_rt_sigprocmask (int how, compat_sigset_t *set, compat_sigset_t *oset, unsi } asmlinkage long -sys32_rt_sigtimedwait (compat_sigset_t *uthese, siginfo_t32 *uinfo, - struct compat_timespec *uts, unsigned int sigsetsize) +sys32_rt_sigtimedwait (compat_sigset_t __user *uthese, siginfo_t32 __user *uinfo, + struct compat_timespec __user *uts, unsigned int sigsetsize) { - extern int copy_siginfo_to_user32 (siginfo_t32 *, siginfo_t *); mm_segment_t old_fs = get_fs(); struct timespec t; siginfo_t info; @@ -589,8 +603,10 @@ sys32_rt_sigtimedwait (compat_sigset_t *uthese, siginfo_t32 *uinfo, if (uts && get_compat_timespec(&t, uts)) return -EFAULT; set_fs(KERNEL_DS); - ret = sys_rt_sigtimedwait(&s, uinfo ? &info : NULL, uts ? &t : NULL, - sigsetsize); + ret = sys_rt_sigtimedwait((sigset_t __user *) &s, + uinfo ? (siginfo_t __user *) &info : NULL, + uts ? (struct timespec __user *) &t : NULL, + sigsetsize); set_fs(old_fs); if (ret >= 0 && uinfo) { if (copy_siginfo_to_user32(uinfo, &info)) @@ -600,7 +616,7 @@ sys32_rt_sigtimedwait (compat_sigset_t *uthese, siginfo_t32 *uinfo, } asmlinkage long -sys32_rt_sigqueueinfo (int pid, int sig, siginfo_t32 *uinfo) +sys32_rt_sigqueueinfo (int pid, int sig, siginfo_t32 __user *uinfo) { mm_segment_t old_fs = get_fs(); siginfo_t info; @@ -609,13 +625,13 @@ sys32_rt_sigqueueinfo (int pid, int sig, siginfo_t32 *uinfo) if (copy_siginfo_from_user32(&info, uinfo)) return -EFAULT; set_fs(KERNEL_DS); - ret = sys_rt_sigqueueinfo(pid, sig, &info); + ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *) &info); set_fs(old_fs); return ret; } asmlinkage long -sys32_sigaction (int sig, struct old_sigaction32 *act, struct old_sigaction32 *oact) +sys32_sigaction (int sig, struct old_sigaction32 __user *act, struct old_sigaction32 __user *oact) { struct k_sigaction new_ka, old_ka; unsigned int handler, restorer; @@ -648,7 +664,7 @@ sys32_sigaction (int sig, struct old_sigaction32 *act, struct old_sigaction32 *o } static int -setup_sigcontext_ia32 (struct sigcontext_ia32 *sc, struct _fpstate_ia32 *fpstate, +setup_sigcontext_ia32 (struct sigcontext_ia32 __user *sc, struct _fpstate_ia32 __user *fpstate, struct pt_regs *regs, unsigned long mask) { int err = 0; @@ -657,10 +673,10 @@ setup_sigcontext_ia32 (struct sigcontext_ia32 *sc, struct _fpstate_ia32 *fpstate if (!access_ok(VERIFY_WRITE, sc, sizeof(*sc))) return -EFAULT; - err |= __put_user((regs->r16 >> 32) & 0xffff, (unsigned int *)&sc->fs); - err |= __put_user((regs->r16 >> 48) & 0xffff, (unsigned int *)&sc->gs); - err |= __put_user((regs->r16 >> 16) & 0xffff, (unsigned int *)&sc->es); - err |= __put_user(regs->r16 & 0xffff, (unsigned int *)&sc->ds); + err |= __put_user((regs->r16 >> 32) & 0xffff, (unsigned int __user *)&sc->fs); + err |= __put_user((regs->r16 >> 48) & 0xffff, (unsigned int __user *)&sc->gs); + err |= __put_user((regs->r16 >> 16) & 0xffff, (unsigned int __user *)&sc->es); + err |= __put_user(regs->r16 & 0xffff, (unsigned int __user *)&sc->ds); err |= __put_user(regs->r15, &sc->edi); err |= __put_user(regs->r14, &sc->esi); err |= __put_user(regs->r13, &sc->ebp); @@ -674,14 +690,14 @@ setup_sigcontext_ia32 (struct sigcontext_ia32 *sc, struct _fpstate_ia32 *fpstate err |= __put_user(current->tss.error_code, &sc->err); #endif err |= __put_user(regs->cr_iip, &sc->eip); - err |= __put_user(regs->r17 & 0xffff, (unsigned int *)&sc->cs); + err |= __put_user(regs->r17 & 0xffff, (unsigned int __user *)&sc->cs); /* * `eflags' is in an ar register for this context */ flag = ia64_getreg(_IA64_REG_AR_EFLAG); err |= __put_user((unsigned int)flag, &sc->eflags); err |= __put_user(regs->r12, &sc->esp_at_signal); - err |= __put_user((regs->r17 >> 16) & 0xffff, (unsigned int *)&sc->ss); + err |= __put_user((regs->r17 >> 16) & 0xffff, (unsigned int __user *)&sc->ss); if ( save_ia32_fpstate_live(fpstate) < 0 ) err = -EFAULT; @@ -705,7 +721,7 @@ setup_sigcontext_ia32 (struct sigcontext_ia32 *sc, struct _fpstate_ia32 *fpstate } static int -restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 *sc, int *peax) +restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 __user *sc, int *peax) { unsigned int err = 0; @@ -775,10 +791,10 @@ restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 *sc, int * } { - struct _fpstate_ia32 *buf = NULL; + struct _fpstate_ia32 __user *buf = NULL; u32 fpstate_ptr; err |= get_user(fpstate_ptr, &(sc->fpstate)); - buf = (struct _fpstate_ia32 *)(u64)fpstate_ptr; + buf = compat_ptr(fpstate_ptr); if (buf) { err |= restore_ia32_fpstate_live(buf); } @@ -808,7 +824,7 @@ restore_sigcontext_ia32 (struct pt_regs *regs, struct sigcontext_ia32 *sc, int * /* * Determine which stack to use.. */ -static inline void * +static inline void __user * get_sigframe (struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) { unsigned long esp; @@ -823,14 +839,14 @@ get_sigframe (struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) } /* Legacy stack switching not supported */ - return (void *)((esp - frame_size) & -8ul); + return (void __user *)((esp - frame_size) & -8ul); } static int setup_frame_ia32 (int sig, struct k_sigaction *ka, sigset_t *set, struct pt_regs * regs) { struct exec_domain *ed = current_thread_info()->exec_domain; - struct sigframe_ia32 *frame; + struct sigframe_ia32 __user *frame; int err = 0; frame = get_sigframe(ka, regs, sizeof(*frame)); @@ -853,14 +869,19 @@ setup_frame_ia32 (int sig, struct k_sigaction *ka, sigset_t *set, struct pt_regs unsigned int restorer = IA32_SA_RESTORER(ka); err |= __put_user(restorer, &frame->pretcode); } else { - err |= __put_user((long)frame->retcode, &frame->pretcode); - /* This is popl %eax ; movl $,%eax ; int $0x80 */ - err |= __put_user(0xb858, (short *)(frame->retcode+0)); - err |= __put_user(__IA32_NR_sigreturn & 0xffff, (short *)(frame->retcode+2)); - err |= __put_user(__IA32_NR_sigreturn >> 16, (short *)(frame->retcode+4)); - err |= __put_user(0x80cd, (short *)(frame->retcode+6)); + /* Pointing to restorer in ia32 gate page */ + err |= __put_user(IA32_GATE_OFFSET, &frame->pretcode); } + /* This is popl %eax ; movl $,%eax ; int $0x80 + * and there for historical reasons only. + * See arch/i386/kernel/signal.c + */ + + err |= __put_user(0xb858, (short __user *)(frame->retcode+0)); + err |= __put_user(__IA32_NR_sigreturn, (int __user *)(frame->retcode+2)); + err |= __put_user(0x80cd, (short __user *)(frame->retcode+6)); + if (err) goto give_sigsegv; @@ -882,9 +903,7 @@ setup_frame_ia32 (int sig, struct k_sigaction *ka, sigset_t *set, struct pt_regs return 1; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); return 0; } @@ -893,7 +912,8 @@ setup_rt_frame_ia32 (int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, struct pt_regs * regs) { struct exec_domain *ed = current_thread_info()->exec_domain; - struct rt_sigframe_ia32 *frame; + compat_uptr_t pinfo, puc; + struct rt_sigframe_ia32 __user *frame; int err = 0; frame = get_sigframe(ka, regs, sizeof(*frame)); @@ -903,8 +923,11 @@ setup_rt_frame_ia32 (int sig, struct k_sigaction *ka, siginfo_t *info, err |= __put_user((ed && ed->signal_invmap && sig < 32 ? ed->signal_invmap[sig] : sig), &frame->sig); - err |= __put_user((long)&frame->info, &frame->pinfo); - err |= __put_user((long)&frame->uc, &frame->puc); + + pinfo = (long __user) &frame->info; + puc = (long __user) &frame->uc; + err |= __put_user(pinfo, &frame->pinfo); + err |= __put_user(puc, &frame->puc); err |= copy_siginfo_to_user32(&frame->info, info); /* Create the ucontext. */ @@ -924,13 +947,19 @@ setup_rt_frame_ia32 (int sig, struct k_sigaction *ka, siginfo_t *info, unsigned int restorer = IA32_SA_RESTORER(ka); err |= __put_user(restorer, &frame->pretcode); } else { - err |= __put_user((long)frame->retcode, &frame->pretcode); - /* This is movl $,%eax ; int $0x80 */ - err |= __put_user(0xb8, (char *)(frame->retcode+0)); - err |= __put_user(__IA32_NR_rt_sigreturn, (int *)(frame->retcode+1)); - err |= __put_user(0x80cd, (short *)(frame->retcode+5)); + /* Pointing to rt_restorer in ia32 gate page */ + err |= __put_user(IA32_GATE_OFFSET + 8, &frame->pretcode); } + /* This is movl $,%eax ; int $0x80 + * and there for historical reasons only. + * See arch/i386/kernel/signal.c + */ + + err |= __put_user(0xb8, (char __user *)(frame->retcode+0)); + err |= __put_user(__IA32_NR_rt_sigreturn, (int __user *)(frame->retcode+1)); + err |= __put_user(0x80cd, (short __user *)(frame->retcode+5)); + if (err) goto give_sigsegv; @@ -952,9 +981,7 @@ setup_rt_frame_ia32 (int sig, struct k_sigaction *ka, siginfo_t *info, return 1; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); return 0; } @@ -975,7 +1002,7 @@ sys32_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int { struct pt_regs *regs = (struct pt_regs *) &stack; unsigned long esp = (unsigned int) regs->r12; - struct sigframe_ia32 *frame = (struct sigframe_ia32 *)(esp - 8); + struct sigframe_ia32 __user *frame = (struct sigframe_ia32 __user *)(esp - 8); sigset_t set; int eax; @@ -989,7 +1016,7 @@ sys32_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int sigdelsetmask(&set, ~_BLOCKABLE); spin_lock_irq(¤t->sighand->siglock); - current->blocked = (sigset_t) set; + current->blocked = set; recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); @@ -1008,9 +1035,8 @@ sys32_rt_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, { struct pt_regs *regs = (struct pt_regs *) &stack; unsigned long esp = (unsigned int) regs->r12; - struct rt_sigframe_ia32 *frame = (struct rt_sigframe_ia32 *)(esp - 4); + struct rt_sigframe_ia32 __user *frame = (struct rt_sigframe_ia32 __user *)(esp - 4); sigset_t set; - stack_t st; int eax; if (verify_area(VERIFY_READ, frame, sizeof(*frame))) @@ -1027,11 +1053,9 @@ sys32_rt_sigreturn (int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, if (restore_sigcontext_ia32(regs, &frame->uc.uc_mcontext, &eax)) goto badframe; - if (__copy_from_user(&st, &frame->uc.uc_stack, sizeof(st))) - goto badframe; /* It is more difficult to avoid calling this function than to call it and ignore errors. */ - do_sigaltstack(&st, NULL, esp); + do_sigaltstack((stack_t __user *) &frame->uc.uc_stack, NULL, esp); return eax; diff --git a/arch/ia64/ia32/ia32_support.c b/arch/ia64/ia32/ia32_support.c index 4b43f1753..4f630043b 100644 --- a/arch/ia64/ia32/ia32_support.c +++ b/arch/ia64/ia32/ia32_support.c @@ -33,6 +33,7 @@ struct exec_domain ia32_exec_domain; struct page *ia32_shared_page[NR_CPUS]; unsigned long *ia32_boot_gdt; unsigned long *cpu_gdt_table[NR_CPUS]; +struct page *ia32_gate_page; static unsigned long load_desc (u16 selector) @@ -75,7 +76,7 @@ ia32_clone_tls (struct task_struct *child, struct pt_regs *childregs) struct ia32_user_desc info; int idx; - if (copy_from_user(&info, (void *)(childregs->r14 & 0xffffffff), sizeof(info))) + if (copy_from_user(&info, (void __user *)(childregs->r14 & 0xffffffff), sizeof(info))) return -EFAULT; if (LDT_empty(&info)) return -EINVAL; @@ -145,6 +146,9 @@ ia32_gdt_init (void) int cpu = smp_processor_id(); ia32_shared_page[cpu] = alloc_page(GFP_KERNEL); + if (!ia32_shared_page[cpu]) + panic("failed to allocate ia32_shared_page[%d]\n", cpu); + cpu_gdt_table[cpu] = page_address(ia32_shared_page[cpu]); /* Copy from the boot cpu's GDT */ @@ -155,23 +159,26 @@ ia32_gdt_init (void) /* * Setup IA32 GDT and TSS */ -void +static void ia32_boot_gdt_init (void) { unsigned long ldt_size; ia32_shared_page[0] = alloc_page(GFP_KERNEL); + if (!ia32_shared_page[0]) + panic("failed to allocate ia32_shared_page[0]\n"); + ia32_boot_gdt = page_address(ia32_shared_page[0]); cpu_gdt_table[0] = ia32_boot_gdt; /* CS descriptor in IA-32 (scrambled) format */ ia32_boot_gdt[__USER_CS >> 3] - = IA32_SEG_DESCRIPTOR(0, (IA32_PAGE_OFFSET-1) >> IA32_PAGE_SHIFT, + = IA32_SEG_DESCRIPTOR(0, (IA32_GATE_END-1) >> IA32_PAGE_SHIFT, 0xb, 1, 3, 1, 1, 1, 1); /* DS descriptor in IA-32 (scrambled) format */ ia32_boot_gdt[__USER_DS >> 3] - = IA32_SEG_DESCRIPTOR(0, (IA32_PAGE_OFFSET-1) >> IA32_PAGE_SHIFT, + = IA32_SEG_DESCRIPTOR(0, (IA32_GATE_END-1) >> IA32_PAGE_SHIFT, 0x3, 1, 3, 1, 1, 1, 1); ldt_size = PAGE_ALIGN(IA32_LDT_ENTRIES*IA32_LDT_ENTRY_SIZE); @@ -181,6 +188,27 @@ ia32_boot_gdt_init (void) 0x2, 0, 3, 1, 1, 1, 0); } +static void +ia32_gate_page_init(void) +{ + unsigned long *sr; + + ia32_gate_page = alloc_page(GFP_KERNEL); + sr = page_address(ia32_gate_page); + /* This is popl %eax ; movl $,%eax ; int $0x80 */ + *sr++ = 0xb858 | (__IA32_NR_sigreturn << 16) | (0x80cdUL << 48); + + /* This is movl $,%eax ; int $0x80 */ + *sr = 0xb8 | (__IA32_NR_rt_sigreturn << 8) | (0x80cdUL << 40); +} + +void +ia32_mem_init(void) +{ + ia32_boot_gdt_init(); + ia32_gate_page_init(); +} + /* * Handle bad IA32 interrupt via syscall */ @@ -195,7 +223,7 @@ ia32_bad_interrupt (unsigned long int_num, struct pt_regs *regs) siginfo.si_errno = int_num; /* XXX is it OK to abuse si_errno like this? */ siginfo.si_flags = 0; siginfo.si_isr = 0; - siginfo.si_addr = 0; + siginfo.si_addr = NULL; siginfo.si_imm = 0; siginfo.si_code = TRAP_BRKPT; force_sig_info(SIGTRAP, &siginfo, current); diff --git a/arch/ia64/ia32/ia32priv.h b/arch/ia64/ia32/ia32priv.h index ba875e0bb..59c500b23 100644 --- a/arch/ia64/ia32/ia32priv.h +++ b/arch/ia64/ia32/ia32priv.h @@ -168,6 +168,9 @@ struct ia32_user_fxsr_struct { #define IA32_SA_HANDLER(ka) ((unsigned long) (ka)->sa.sa_handler & 0xffffffff) #define IA32_SA_RESTORER(ka) ((unsigned long) (ka)->sa.sa_handler >> 32) +#define __IA32_NR_sigreturn 119 +#define __IA32_NR_rt_sigreturn 173 + struct sigaction32 { unsigned int sa_handler; /* Really a pointer, but need to deal with 32 bits */ unsigned int sa_flags; @@ -324,14 +327,16 @@ struct old_linux32_dirent { #define IA32_PAGE_OFFSET 0xc0000000 #define IA32_STACK_TOP IA32_PAGE_OFFSET +#define IA32_GATE_OFFSET IA32_PAGE_OFFSET +#define IA32_GATE_END IA32_PAGE_OFFSET + PAGE_SIZE /* * The system segments (GDT, TSS, LDT) have to be mapped below 4GB so the IA-32 engine can * access them. */ -#define IA32_GDT_OFFSET (IA32_PAGE_OFFSET) -#define IA32_TSS_OFFSET (IA32_PAGE_OFFSET + PAGE_SIZE) -#define IA32_LDT_OFFSET (IA32_PAGE_OFFSET + 2*PAGE_SIZE) +#define IA32_GDT_OFFSET (IA32_PAGE_OFFSET + PAGE_SIZE) +#define IA32_TSS_OFFSET (IA32_PAGE_OFFSET + 2*PAGE_SIZE) +#define IA32_LDT_OFFSET (IA32_PAGE_OFFSET + 3*PAGE_SIZE) #define ELF_EXEC_PAGESIZE IA32_PAGE_SIZE @@ -356,7 +361,7 @@ void ia64_elf32_init(struct pt_regs *regs); /* This macro yields a string that ld.so will use to load implementation specific libraries for optimization. Not terribly relevant until we have real hardware to play with... */ -#define ELF_PLATFORM 0 +#define ELF_PLATFORM NULL #ifdef __KERNEL__ # define SET_PERSONALITY(EX,IBCS2) \ @@ -434,7 +439,7 @@ void ia64_elf32_init(struct pt_regs *regs); | ((((sd) >> IA32_SEG_DB) & 0x1) << SEG_DB) \ | ((((sd) >> IA32_SEG_G) & 0x1) << SEG_G)) -#define IA32_IOBASE 0x2000000000000000 /* Virtual address for I/O space */ +#define IA32_IOBASE 0x2000000000000000UL /* Virtual address for I/O space */ #define IA32_CR0 0x80000001 /* Enable PG and PE bits */ #define IA32_CR4 0x600 /* MMXEX and FXSR on */ @@ -551,8 +556,8 @@ struct user_regs_struct32 { }; /* Prototypes for use in elfcore32.h */ -extern int save_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct *save); -extern int save_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *save); +extern int save_ia32_fpstate (struct task_struct *, struct ia32_user_i387_struct __user *); +extern int save_ia32_fpxstate (struct task_struct *, struct ia32_user_fxsr_struct __user *); #endif /* !CONFIG_IA32_SUPPORT */ diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c index a97402c01..1b653dadb 100644 --- a/arch/ia64/ia32/sys_ia32.c +++ b/arch/ia64/ia32/sys_ia32.c @@ -70,10 +70,7 @@ # define DBG(fmt...) #endif -#define A(__x) ((unsigned long)(__x)) -#define AA(__x) ((unsigned long)(__x)) #define ROUND_UP(x,a) ((__typeof__(x))(((unsigned long)(x) + ((a) - 1)) & ~((a) - 1))) -#define NAME_OFFSET(de) ((int) ((de)->d_name - (char *) (de))) #define OFFSET4K(a) ((a) & 0xfff) #define PAGE_START(addr) ((addr) & PAGE_MASK) @@ -82,9 +79,6 @@ #define high2lowuid(uid) ((uid) > 65535 ? 65534 : (uid)) #define high2lowgid(gid) ((gid) > 65535 ? 65534 : (gid)) -extern unsigned long arch_get_unmapped_area (struct file *, unsigned long, unsigned long, - unsigned long, unsigned long); - /* * Anything that modifies or inspects ia32 user virtual memory must hold this semaphore * while doing so. @@ -93,7 +87,8 @@ extern unsigned long arch_get_unmapped_area (struct file *, unsigned long, unsig static DECLARE_MUTEX(ia32_mmap_sem); asmlinkage long -sys32_execve (char *name, compat_uptr_t __user *argv, compat_uptr_t __user *envp, struct pt_regs *regs) +sys32_execve (char __user *name, compat_uptr_t __user *argv, compat_uptr_t __user *envp, + struct pt_regs *regs) { long error; char *filename; @@ -128,7 +123,7 @@ sys32_execve (char *name, compat_uptr_t __user *argv, compat_uptr_t __user *envp return error; } -int cp_compat_stat(struct kstat *stat, struct compat_stat *ubuf) +int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf) { int err; @@ -199,7 +194,7 @@ mmap_subpage (struct file *file, unsigned long start, unsigned long end, int pro /* Optimize the case where the old mmap and the new mmap are both anonymous */ if ((old_prot & PROT_WRITE) && (flags & MAP_ANONYMOUS) && !vma->vm_file) { - if (clear_user((void *) start, end - start)) { + if (clear_user((void __user *) start, end - start)) { ret = -EFAULT; goto out; } @@ -211,11 +206,11 @@ mmap_subpage (struct file *file, unsigned long start, unsigned long end, int pro return -ENOMEM; if (old_prot) - copy_from_user(page, (void *) PAGE_START(start), PAGE_SIZE); + copy_from_user(page, (void __user *) PAGE_START(start), PAGE_SIZE); down_write(¤t->mm->mmap_sem); { - ret = do_mmap(0, PAGE_START(start), PAGE_SIZE, prot | PROT_WRITE, + ret = do_mmap(NULL, PAGE_START(start), PAGE_SIZE, prot | PROT_WRITE, flags | MAP_FIXED | MAP_ANONYMOUS, 0); } up_write(¤t->mm->mmap_sem); @@ -226,9 +221,10 @@ mmap_subpage (struct file *file, unsigned long start, unsigned long end, int pro if (old_prot) { /* copy back the old page contents. */ if (offset_in_page(start)) - copy_to_user((void *) PAGE_START(start), page, offset_in_page(start)); + copy_to_user((void __user *) PAGE_START(start), page, + offset_in_page(start)); if (offset_in_page(end)) - copy_to_user((void *) end, page + offset_in_page(end), + copy_to_user((void __user *) end, page + offset_in_page(end), PAGE_SIZE - offset_in_page(end)); } @@ -236,7 +232,7 @@ mmap_subpage (struct file *file, unsigned long start, unsigned long end, int pro /* read the file contents */ inode = file->f_dentry->d_inode; if (!inode->i_fop || !file->f_op->read - || ((*file->f_op->read)(file, (char *) start, end - start, &off) < 0)) + || ((*file->f_op->read)(file, (char __user *) start, end - start, &off) < 0)) { ret = -EINVAL; goto out; @@ -266,9 +262,9 @@ ia32_init_pp_list(void) if ((p = kmalloc(sizeof(*p), GFP_KERNEL)) == NULL) return p; - p->pp_head = 0; + p->pp_head = NULL; p->ppl_rb = RB_ROOT; - p->pp_hint = 0; + p->pp_hint = NULL; atomic_set(&p->pp_count, 1); return p; } @@ -825,7 +821,7 @@ emulate_mmap (struct file *file, unsigned long start, unsigned long len, int pro if (!(flags & MAP_ANONYMOUS) && is_congruent) ret = do_mmap(file, pstart, pend - pstart, prot, flags | MAP_FIXED, poff); else - ret = do_mmap(0, pstart, pend - pstart, + ret = do_mmap(NULL, pstart, pend - pstart, prot | ((flags & MAP_ANONYMOUS) ? 0 : PROT_WRITE), flags | MAP_FIXED | MAP_ANONYMOUS, 0); } @@ -838,7 +834,8 @@ emulate_mmap (struct file *file, unsigned long start, unsigned long len, int pro /* read the file contents */ inode = file->f_dentry->d_inode; if (!inode->i_fop || !file->f_op->read - || ((*file->f_op->read)(file, (char *) pstart, pend - pstart, &poff) < 0)) + || ((*file->f_op->read)(file, (char __user *) pstart, pend - pstart, &poff) + < 0)) { sys_munmap(pstart, pend - pstart); return -EINVAL; @@ -927,7 +924,7 @@ struct mmap_arg_struct { }; asmlinkage long -sys32_mmap (struct mmap_arg_struct *arg) +sys32_mmap (struct mmap_arg_struct __user *arg) { struct mmap_arg_struct a; struct file *file = NULL; @@ -1140,7 +1137,7 @@ sys32_mremap (unsigned int addr, unsigned int old_len, unsigned int new_len, } asmlinkage long -sys32_pipe (int *fd) +sys32_pipe (int __user *fd) { int retval; int fds[2]; @@ -1155,14 +1152,14 @@ sys32_pipe (int *fd) } static inline long -get_tv32 (struct timeval *o, struct compat_timeval *i) +get_tv32 (struct timeval *o, struct compat_timeval __user *i) { return (!access_ok(VERIFY_READ, i, sizeof(*i)) || (__get_user(o->tv_sec, &i->tv_sec) | __get_user(o->tv_usec, &i->tv_usec))); } static inline long -put_tv32 (struct compat_timeval *o, struct timeval *i) +put_tv32 (struct compat_timeval __user *o, struct timeval *i) { return (!access_ok(VERIFY_WRITE, o, sizeof(*o)) || (__put_user(i->tv_sec, &o->tv_sec) | __put_user(i->tv_usec, &o->tv_usec))); @@ -1192,7 +1189,7 @@ sys32_alarm (unsigned int seconds) extern struct timezone sys_tz; asmlinkage long -sys32_gettimeofday (struct compat_timeval *tv, struct timezone *tz) +sys32_gettimeofday (struct compat_timeval __user *tv, struct timezone __user *tz) { if (tv) { struct timeval ktv; @@ -1208,7 +1205,7 @@ sys32_gettimeofday (struct compat_timeval *tv, struct timezone *tz) } asmlinkage long -sys32_settimeofday (struct compat_timeval *tv, struct timezone *tz) +sys32_settimeofday (struct compat_timeval __user *tv, struct timezone __user *tz) { struct timeval ktv; struct timespec kts; @@ -1229,14 +1226,14 @@ sys32_settimeofday (struct compat_timeval *tv, struct timezone *tz) } struct getdents32_callback { - struct compat_dirent * current_dir; - struct compat_dirent * previous; + struct compat_dirent __user *current_dir; + struct compat_dirent __user *previous; int count; int error; }; struct readdir32_callback { - struct old_linux32_dirent * dirent; + struct old_linux32_dirent __user * dirent; int count; }; @@ -1244,9 +1241,9 @@ static int filldir32 (void *__buf, const char *name, int namlen, loff_t offset, ino_t ino, unsigned int d_type) { - struct compat_dirent * dirent; + struct compat_dirent __user * dirent; struct getdents32_callback * buf = (struct getdents32_callback *) __buf; - int reclen = ROUND_UP(NAME_OFFSET(dirent) + namlen + 1, 4); + int reclen = ROUND_UP(offsetof(struct compat_dirent, d_name) + namlen + 1, 4); buf->error = -EINVAL; /* only used if we fail.. */ if (reclen > buf->count) @@ -1263,17 +1260,17 @@ filldir32 (void *__buf, const char *name, int namlen, loff_t offset, ino_t ino, || copy_to_user(dirent->d_name, name, namlen) || put_user(0, dirent->d_name + namlen)) return -EFAULT; - dirent = (struct compat_dirent *) ((char *) dirent + reclen); + dirent = (struct compat_dirent __user *) ((char __user *) dirent + reclen); buf->current_dir = dirent; buf->count -= reclen; return 0; } asmlinkage long -sys32_getdents (unsigned int fd, struct compat_dirent *dirent, unsigned int count) +sys32_getdents (unsigned int fd, struct compat_dirent __user *dirent, unsigned int count) { struct file * file; - struct compat_dirent * lastdirent; + struct compat_dirent __user * lastdirent; struct getdents32_callback buf; int error; @@ -1310,7 +1307,7 @@ fillonedir32 (void * __buf, const char * name, int namlen, loff_t offset, ino_t unsigned int d_type) { struct readdir32_callback * buf = (struct readdir32_callback *) __buf; - struct old_linux32_dirent * dirent; + struct old_linux32_dirent __user * dirent; if (buf->count) return -EINVAL; @@ -1326,7 +1323,7 @@ fillonedir32 (void * __buf, const char * name, int namlen, loff_t offset, ino_t } asmlinkage long -sys32_readdir (unsigned int fd, void *dirent, unsigned int count) +sys32_readdir (unsigned int fd, void __user *dirent, unsigned int count) { int error; struct file * file; @@ -1357,7 +1354,7 @@ struct sel_arg_struct { }; asmlinkage long -sys32_old_select (struct sel_arg_struct *arg) +sys32_old_select (struct sel_arg_struct __user *arg) { struct sel_arg_struct a; @@ -1434,7 +1431,7 @@ sys32_ipc(u32 call, int first, int second, int third, u32 ptr, u32 fifth) * so we have to implement this system call here. */ asmlinkage long -sys32_time (int *tloc) +sys32_time (int __user *tloc) { int i; struct timeval tv; @@ -1564,8 +1561,8 @@ putreg (struct task_struct *child, int regno, unsigned int value) } static void -put_fpreg (int regno, struct _fpreg_ia32 *reg, struct pt_regs *ptp, struct switch_stack *swp, - int tos) +put_fpreg (int regno, struct _fpreg_ia32 __user *reg, struct pt_regs *ptp, + struct switch_stack *swp, int tos) { struct _fpreg_ia32 *f; char buf[32]; @@ -1597,8 +1594,8 @@ put_fpreg (int regno, struct _fpreg_ia32 *reg, struct pt_regs *ptp, struct switc } static void -get_fpreg (int regno, struct _fpreg_ia32 *reg, struct pt_regs *ptp, struct switch_stack *swp, - int tos) +get_fpreg (int regno, struct _fpreg_ia32 __user *reg, struct pt_regs *ptp, + struct switch_stack *swp, int tos) { if ((regno += tos) >= 8) @@ -1627,7 +1624,7 @@ get_fpreg (int regno, struct _fpreg_ia32 *reg, struct pt_regs *ptp, struct switc } int -save_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct *save) +save_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct __user *save) { struct switch_stack *swp; struct pt_regs *ptp; @@ -1656,7 +1653,7 @@ save_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct *save) } static int -restore_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct *save) +restore_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct __user *save) { struct switch_stack *swp; struct pt_regs *ptp; @@ -1666,15 +1663,15 @@ restore_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct *sav if (!access_ok(VERIFY_READ, save, sizeof(*save))) return(-EFAULT); - __get_user(num32, (unsigned int *)&save->cwd); + __get_user(num32, (unsigned int __user *)&save->cwd); tsk->thread.fcr = (tsk->thread.fcr & (~0x1f3f)) | (num32 & 0x1f3f); - __get_user(fsrlo, (unsigned int *)&save->swd); - __get_user(fsrhi, (unsigned int *)&save->twd); + __get_user(fsrlo, (unsigned int __user *)&save->swd); + __get_user(fsrhi, (unsigned int __user *)&save->twd); num32 = (fsrhi << 16) | fsrlo; tsk->thread.fsr = (tsk->thread.fsr & (~0xffffffff)) | num32; - __get_user(num32, (unsigned int *)&save->fip); + __get_user(num32, (unsigned int __user *)&save->fip); tsk->thread.fir = (tsk->thread.fir & (~0xffffffff)) | num32; - __get_user(num32, (unsigned int *)&save->foo); + __get_user(num32, (unsigned int __user *)&save->foo); tsk->thread.fdr = (tsk->thread.fdr & (~0xffffffff)) | num32; /* @@ -1689,7 +1686,7 @@ restore_ia32_fpstate (struct task_struct *tsk, struct ia32_user_i387_struct *sav } int -save_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *save) +save_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct __user *save) { struct switch_stack *swp; struct pt_regs *ptp; @@ -1715,7 +1712,7 @@ save_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *save) ptp = ia64_task_regs(tsk); tos = (tsk->thread.fsr >> 11) & 7; for (i = 0; i < 8; i++) - put_fpreg(i, (struct _fpreg_ia32 *)&save->st_space[4*i], ptp, swp, tos); + put_fpreg(i, (struct _fpreg_ia32 __user *)&save->st_space[4*i], ptp, swp, tos); mxcsr = ((tsk->thread.fcr>>32) & 0xff80) | ((tsk->thread.fsr>>32) & 0x3f); __put_user(mxcsr & 0xffff, &save->mxcsr); @@ -1728,7 +1725,7 @@ save_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *save) } static int -restore_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *save) +restore_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct __user *save) { struct switch_stack *swp; struct pt_regs *ptp; @@ -1741,15 +1738,15 @@ restore_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *sa if (!access_ok(VERIFY_READ, save, sizeof(*save))) return(-EFAULT); - __get_user(num32, (unsigned int *)&save->cwd); + __get_user(num32, (unsigned int __user *)&save->cwd); tsk->thread.fcr = (tsk->thread.fcr & (~0x1f3f)) | (num32 & 0x1f3f); - __get_user(fsrlo, (unsigned int *)&save->swd); - __get_user(fsrhi, (unsigned int *)&save->twd); + __get_user(fsrlo, (unsigned int __user *)&save->swd); + __get_user(fsrhi, (unsigned int __user *)&save->twd); num32 = (fsrhi << 16) | fsrlo; tsk->thread.fsr = (tsk->thread.fsr & (~0xffffffff)) | num32; - __get_user(num32, (unsigned int *)&save->fip); + __get_user(num32, (unsigned int __user *)&save->fip); tsk->thread.fir = (tsk->thread.fir & (~0xffffffff)) | num32; - __get_user(num32, (unsigned int *)&save->foo); + __get_user(num32, (unsigned int __user *)&save->foo); tsk->thread.fdr = (tsk->thread.fdr & (~0xffffffff)) | num32; /* @@ -1759,13 +1756,13 @@ restore_ia32_fpxstate (struct task_struct *tsk, struct ia32_user_fxsr_struct *sa ptp = ia64_task_regs(tsk); tos = (tsk->thread.fsr >> 11) & 7; for (i = 0; i < 8; i++) - get_fpreg(i, (struct _fpreg_ia32 *)&save->st_space[4*i], ptp, swp, tos); + get_fpreg(i, (struct _fpreg_ia32 __user *)&save->st_space[4*i], ptp, swp, tos); - __get_user(mxcsr, (unsigned int *)&save->mxcsr); + __get_user(mxcsr, (unsigned int __user *)&save->mxcsr); num64 = mxcsr & 0xff10; - tsk->thread.fcr = (tsk->thread.fcr & (~0xff1000000000)) | (num64<<32); + tsk->thread.fcr = (tsk->thread.fcr & (~0xff1000000000UL)) | (num64<<32); num64 = mxcsr & 0x3f; - tsk->thread.fsr = (tsk->thread.fsr & (~0x3f00000000)) | (num64<<32); + tsk->thread.fsr = (tsk->thread.fsr & (~0x3f00000000UL)) | (num64<<32); for (i = 0; i < 8; i++) { copy_from_user(num128, &save->xmm_space[0] + 4*i, sizeof(struct _xmmreg_ia32)); @@ -1823,7 +1820,7 @@ sys32_ptrace (int request, pid_t pid, unsigned int addr, unsigned int data, case PTRACE_PEEKDATA: /* read word at location addr */ ret = ia32_peek(regs, child, addr, &value); if (ret == 0) - ret = put_user(value, (unsigned int *) A(data)); + ret = put_user(value, (unsigned int __user *) compat_ptr(data)); else ret = -EIO; goto out_tsk; @@ -1839,7 +1836,7 @@ sys32_ptrace (int request, pid_t pid, unsigned int addr, unsigned int data, break; tmp = getreg(child, addr); - if (!put_user(tmp, (unsigned int *) A(data))) + if (!put_user(tmp, (unsigned int __user *) compat_ptr(data))) ret = 0; break; @@ -1853,24 +1850,24 @@ sys32_ptrace (int request, pid_t pid, unsigned int addr, unsigned int data, break; case IA32_PTRACE_GETREGS: - if (!access_ok(VERIFY_WRITE, (int *) A(data), 17*sizeof(int))) { + if (!access_ok(VERIFY_WRITE, compat_ptr(data), 17*sizeof(int))) { ret = -EIO; break; } for (i = 0; i < (int) (17*sizeof(int)); i += sizeof(int) ) { - put_user(getreg(child, i), (unsigned int *) A(data)); + put_user(getreg(child, i), (unsigned int __user *) compat_ptr(data)); data += sizeof(int); } ret = 0; break; case IA32_PTRACE_SETREGS: - if (!access_ok(VERIFY_READ, (int *) A(data), 17*sizeof(int))) { + if (!access_ok(VERIFY_READ, compat_ptr(data), 17*sizeof(int))) { ret = -EIO; break; } for (i = 0; i < (int) (17*sizeof(int)); i += sizeof(int) ) { - get_user(tmp, (unsigned int *) A(data)); + get_user(tmp, (unsigned int __user *) compat_ptr(data)); putreg(child, i, tmp); data += sizeof(int); } @@ -1878,19 +1875,23 @@ sys32_ptrace (int request, pid_t pid, unsigned int addr, unsigned int data, break; case IA32_PTRACE_GETFPREGS: - ret = save_ia32_fpstate(child, (struct ia32_user_i387_struct *) A(data)); + ret = save_ia32_fpstate(child, (struct ia32_user_i387_struct __user *) + compat_ptr(data)); break; case IA32_PTRACE_GETFPXREGS: - ret = save_ia32_fpxstate(child, (struct ia32_user_fxsr_struct *) A(data)); + ret = save_ia32_fpxstate(child, (struct ia32_user_fxsr_struct __user *) + compat_ptr(data)); break; case IA32_PTRACE_SETFPREGS: - ret = restore_ia32_fpstate(child, (struct ia32_user_i387_struct *) A(data)); + ret = restore_ia32_fpstate(child, (struct ia32_user_i387_struct __user *) + compat_ptr(data)); break; case IA32_PTRACE_SETFPXREGS: - ret = restore_ia32_fpxstate(child, (struct ia32_user_fxsr_struct *) A(data)); + ret = restore_ia32_fpxstate(child, (struct ia32_user_fxsr_struct __user *) + compat_ptr(data)); break; case PTRACE_SYSCALL: /* continue, stop after next syscall */ @@ -1913,73 +1914,6 @@ sys32_ptrace (int request, pid_t pid, unsigned int addr, unsigned int data, return ret; } -/* - * The IA64 maps 4 I/O ports for each 4K page - */ -#define IOLEN ((65536 / 4) * 4096) - -asmlinkage long -sys32_iopl (int level) -{ - extern unsigned long ia64_iobase; - int fd; - struct file * file; - unsigned int old; - unsigned long addr; - mm_segment_t old_fs = get_fs (); - - if (level != 3) - return(-EINVAL); - /* Trying to gain more privileges? */ - old = ia64_getreg(_IA64_REG_AR_EFLAG); - if ((unsigned int) level > ((old >> 12) & 3)) { - if (!capable(CAP_SYS_RAWIO)) - return -EPERM; - } - set_fs(KERNEL_DS); - fd = sys_open("/dev/mem", O_SYNC | O_RDWR, 0); - set_fs(old_fs); - if (fd < 0) - return fd; - file = fget(fd); - if (file == NULL) { - sys_close(fd); - return(-EFAULT); - } - - down_write(¤t->mm->mmap_sem); - addr = do_mmap_pgoff(file, IA32_IOBASE, - IOLEN, PROT_READ|PROT_WRITE, MAP_SHARED, - (ia64_iobase & ~PAGE_OFFSET) >> PAGE_SHIFT); - up_write(¤t->mm->mmap_sem); - - if (addr >= 0) { - old = (old & ~0x3000) | (level << 12); - ia64_setreg(_IA64_REG_AR_EFLAG, old); - } - - fput(file); - sys_close(fd); - return 0; -} - -asmlinkage long -sys32_ioperm (unsigned int from, unsigned int num, int on) -{ - - /* - * Since IA64 doesn't have permission bits we'd have to go to - * a lot of trouble to simulate them in software. There's - * no point, only trusted programs can make this call so we'll - * just turn it into an iopl call and let the process have - * access to all I/O ports. - * - * XXX proper ioperm() support should be emulated by - * manipulating the page protections... - */ - return sys32_iopl(3); -} - typedef struct { unsigned int ss_sp; unsigned int ss_flags; @@ -1987,7 +1921,7 @@ typedef struct { } ia32_stack_t; asmlinkage long -sys32_sigaltstack (ia32_stack_t *uss32, ia32_stack_t *uoss32, +sys32_sigaltstack (ia32_stack_t __user *uss32, ia32_stack_t __user *uoss32, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long stack) { struct pt_regs *pt = (struct pt_regs *) &stack; @@ -1999,9 +1933,9 @@ sys32_sigaltstack (ia32_stack_t *uss32, ia32_stack_t *uoss32, if (uss32) { if (copy_from_user(&buf32, uss32, sizeof(ia32_stack_t))) return -EFAULT; - uss.ss_sp = (void *) (long) buf32.ss_sp; + uss.ss_sp = (void __user *) (long) buf32.ss_sp; uss.ss_flags = buf32.ss_flags; - /* MINSIGSTKSZ is different for ia32 vs ia64. We lie here to pass the + /* MINSIGSTKSZ is different for ia32 vs ia64. We lie here to pass the check and set it to the user requested value later */ if ((buf32.ss_flags != SS_DISABLE) && (buf32.ss_size < MINSIGSTKSZ_IA32)) { ret = -ENOMEM; @@ -2010,14 +1944,15 @@ sys32_sigaltstack (ia32_stack_t *uss32, ia32_stack_t *uoss32, uss.ss_size = MINSIGSTKSZ; } set_fs(KERNEL_DS); - ret = do_sigaltstack(uss32 ? &uss : NULL, &uoss, pt->r12); - current->sas_ss_size = buf32.ss_size; + ret = do_sigaltstack(uss32 ? (stack_t __user *) &uss : NULL, + (stack_t __user *) &uoss, pt->r12); + current->sas_ss_size = buf32.ss_size; set_fs(old_fs); out: if (ret < 0) return(ret); if (uoss32) { - buf32.ss_sp = (long) uoss.ss_sp; + buf32.ss_sp = (long __user) uoss.ss_sp; buf32.ss_flags = uoss.ss_flags; buf32.ss_size = uoss.ss_size; if (copy_to_user(uoss32, &buf32, sizeof(ia32_stack_t))) @@ -2056,14 +1991,14 @@ struct sysctl32 { }; asmlinkage long -sys32_sysctl (struct sysctl32 *args) +sys32_sysctl (struct sysctl32 __user *args) { #ifdef CONFIG_SYSCTL struct sysctl32 a32; mm_segment_t old_fs = get_fs (); - void *oldvalp, *newvalp; + void __user *oldvalp, *newvalp; size_t oldlen; - int *namep; + int __user *namep; long ret; if (copy_from_user(&a32, args, sizeof(a32))) @@ -2076,11 +2011,11 @@ sys32_sysctl (struct sysctl32 *args) * addresses, we KNOW that access_ok() will always succeed, so this is an * expensive NOP, but so what... */ - namep = (int *) A(a32.name); - oldvalp = (void *) A(a32.oldval); - newvalp = (void *) A(a32.newval); + namep = (int __user *) compat_ptr(a32.name); + oldvalp = compat_ptr(a32.oldval); + newvalp = compat_ptr(a32.newval); - if ((oldvalp && get_user(oldlen, (int *) A(a32.oldlenp))) + if ((oldvalp && get_user(oldlen, (int __user *) compat_ptr(a32.oldlenp))) || !access_ok(VERIFY_WRITE, namep, 0) || !access_ok(VERIFY_WRITE, oldvalp, 0) || !access_ok(VERIFY_WRITE, newvalp, 0)) @@ -2088,11 +2023,12 @@ sys32_sysctl (struct sysctl32 *args) set_fs(KERNEL_DS); lock_kernel(); - ret = do_sysctl(namep, a32.nlen, oldvalp, &oldlen, newvalp, (size_t) a32.newlen); + ret = do_sysctl(namep, a32.nlen, oldvalp, (size_t __user *) &oldlen, + newvalp, (size_t) a32.newlen); unlock_kernel(); set_fs(old_fs); - if (oldvalp && put_user (oldlen, (int *) A(a32.oldlenp))) + if (oldvalp && put_user (oldlen, (int __user *) compat_ptr(a32.oldlenp))) return -EFAULT; return ret; @@ -2102,7 +2038,7 @@ sys32_sysctl (struct sysctl32 *args) } asmlinkage long -sys32_newuname (struct new_utsname *name) +sys32_newuname (struct new_utsname __user *name) { int ret = sys_newuname(name); @@ -2113,14 +2049,14 @@ sys32_newuname (struct new_utsname *name) } asmlinkage long -sys32_getresuid16 (u16 *ruid, u16 *euid, u16 *suid) +sys32_getresuid16 (u16 __user *ruid, u16 __user *euid, u16 __user *suid) { uid_t a, b, c; int ret; mm_segment_t old_fs = get_fs(); set_fs(KERNEL_DS); - ret = sys_getresuid(&a, &b, &c); + ret = sys_getresuid((uid_t __user *) &a, (uid_t __user *) &b, (uid_t __user *) &c); set_fs(old_fs); if (put_user(a, ruid) || put_user(b, euid) || put_user(c, suid)) @@ -2129,14 +2065,14 @@ sys32_getresuid16 (u16 *ruid, u16 *euid, u16 *suid) } asmlinkage long -sys32_getresgid16 (u16 *rgid, u16 *egid, u16 *sgid) +sys32_getresgid16 (u16 __user *rgid, u16 __user *egid, u16 __user *sgid) { gid_t a, b, c; int ret; mm_segment_t old_fs = get_fs(); set_fs(KERNEL_DS); - ret = sys_getresgid(&a, &b, &c); + ret = sys_getresgid((gid_t __user *) &a, (gid_t __user *) &b, (gid_t __user *) &c); set_fs(old_fs); if (ret) @@ -2153,7 +2089,7 @@ sys32_lseek (unsigned int fd, int offset, unsigned int whence) } static int -groups16_to_user(short *grouplist, struct group_info *group_info) +groups16_to_user(short __user *grouplist, struct group_info *group_info) { int i; short group; @@ -2168,7 +2104,7 @@ groups16_to_user(short *grouplist, struct group_info *group_info) } static int -groups16_from_user(struct group_info *group_info, short *grouplist) +groups16_from_user(struct group_info *group_info, short __user *grouplist) { int i; short group; @@ -2183,7 +2119,7 @@ groups16_from_user(struct group_info *group_info, short *grouplist) } asmlinkage long -sys32_getgroups16 (int gidsetsize, short *grouplist) +sys32_getgroups16 (int gidsetsize, short __user *grouplist) { int i; @@ -2208,7 +2144,7 @@ out: } asmlinkage long -sys32_setgroups16 (int gidsetsize, short *grouplist) +sys32_setgroups16 (int gidsetsize, short __user *grouplist) { struct group_info *group_info; int retval; @@ -2236,7 +2172,7 @@ sys32_setgroups16 (int gidsetsize, short *grouplist) asmlinkage long sys32_truncate64 (unsigned int path, unsigned int len_lo, unsigned int len_hi) { - return sys_truncate((const char *) A(path), ((unsigned long) len_hi << 32) | len_lo); + return sys_truncate(compat_ptr(path), ((unsigned long) len_hi << 32) | len_lo); } asmlinkage long @@ -2246,7 +2182,7 @@ sys32_ftruncate64 (int fd, unsigned int len_lo, unsigned int len_hi) } static int -putstat64 (struct stat64 *ubuf, struct kstat *kbuf) +putstat64 (struct stat64 __user *ubuf, struct kstat *kbuf) { int err; u64 hdev; @@ -2255,8 +2191,8 @@ putstat64 (struct stat64 *ubuf, struct kstat *kbuf) return -EFAULT; hdev = huge_encode_dev(kbuf->dev); - err = __put_user(hdev, (u32*)&ubuf->st_dev); - err |= __put_user(hdev >> 32, ((u32*)&ubuf->st_dev) + 1); + err = __put_user(hdev, (u32 __user*)&ubuf->st_dev); + err |= __put_user(hdev >> 32, ((u32 __user*)&ubuf->st_dev) + 1); err |= __put_user(kbuf->ino, &ubuf->__st_ino); err |= __put_user(kbuf->ino, &ubuf->st_ino_lo); err |= __put_user(kbuf->ino >> 32, &ubuf->st_ino_hi); @@ -2265,8 +2201,8 @@ putstat64 (struct stat64 *ubuf, struct kstat *kbuf) err |= __put_user(kbuf->uid, &ubuf->st_uid); err |= __put_user(kbuf->gid, &ubuf->st_gid); hdev = huge_encode_dev(kbuf->rdev); - err = __put_user(hdev, (u32*)&ubuf->st_rdev); - err |= __put_user(hdev >> 32, ((u32*)&ubuf->st_rdev) + 1); + err = __put_user(hdev, (u32 __user*)&ubuf->st_rdev); + err |= __put_user(hdev >> 32, ((u32 __user*)&ubuf->st_rdev) + 1); err |= __put_user(kbuf->size, &ubuf->st_size_lo); err |= __put_user((kbuf->size >> 32), &ubuf->st_size_hi); err |= __put_user(kbuf->atime.tv_sec, &ubuf->st_atime); @@ -2281,7 +2217,7 @@ putstat64 (struct stat64 *ubuf, struct kstat *kbuf) } asmlinkage long -sys32_stat64 (char *filename, struct stat64 *statbuf) +sys32_stat64 (char __user *filename, struct stat64 __user *statbuf) { struct kstat s; long ret = vfs_stat(filename, &s); @@ -2291,7 +2227,7 @@ sys32_stat64 (char *filename, struct stat64 *statbuf) } asmlinkage long -sys32_lstat64 (char *filename, struct stat64 *statbuf) +sys32_lstat64 (char __user *filename, struct stat64 __user *statbuf) { struct kstat s; long ret = vfs_lstat(filename, &s); @@ -2301,7 +2237,7 @@ sys32_lstat64 (char *filename, struct stat64 *statbuf) } asmlinkage long -sys32_fstat64 (unsigned int fd, struct stat64 *statbuf) +sys32_fstat64 (unsigned int fd, struct stat64 __user *statbuf) { struct kstat s; long ret = vfs_fstat(fd, &s); @@ -2328,7 +2264,7 @@ struct sysinfo32 { }; asmlinkage long -sys32_sysinfo (struct sysinfo32 *info) +sys32_sysinfo (struct sysinfo32 __user *info) { struct sysinfo s; long ret, err; @@ -2336,7 +2272,7 @@ sys32_sysinfo (struct sysinfo32 *info) mm_segment_t old_fs = get_fs(); set_fs(KERNEL_DS); - ret = sys_sysinfo(&s); + ret = sys_sysinfo((struct sysinfo __user *) &s); set_fs(old_fs); /* Check to see if any memory value is too large for 32-bit and * scale down if needed. @@ -2379,14 +2315,14 @@ sys32_sysinfo (struct sysinfo32 *info) } asmlinkage long -sys32_sched_rr_get_interval (pid_t pid, struct compat_timespec *interval) +sys32_sched_rr_get_interval (pid_t pid, struct compat_timespec __user *interval) { mm_segment_t old_fs = get_fs(); struct timespec t; long ret; set_fs(KERNEL_DS); - ret = sys_sched_rr_get_interval(pid, &t); + ret = sys_sched_rr_get_interval(pid, (struct timespec __user *) &t); set_fs(old_fs); if (put_compat_timespec(&t, interval)) return -EFAULT; @@ -2394,19 +2330,19 @@ sys32_sched_rr_get_interval (pid_t pid, struct compat_timespec *interval) } asmlinkage long -sys32_pread (unsigned int fd, void *buf, unsigned int count, u32 pos_lo, u32 pos_hi) +sys32_pread (unsigned int fd, void __user *buf, unsigned int count, u32 pos_lo, u32 pos_hi) { return sys_pread64(fd, buf, count, ((unsigned long) pos_hi << 32) | pos_lo); } asmlinkage long -sys32_pwrite (unsigned int fd, void *buf, unsigned int count, u32 pos_lo, u32 pos_hi) +sys32_pwrite (unsigned int fd, void __user *buf, unsigned int count, u32 pos_lo, u32 pos_hi) { return sys_pwrite64(fd, buf, count, ((unsigned long) pos_hi << 32) | pos_lo); } asmlinkage long -sys32_sendfile (int out_fd, int in_fd, int *offset, unsigned int count) +sys32_sendfile (int out_fd, int in_fd, int __user *offset, unsigned int count) { mm_segment_t old_fs = get_fs(); long ret; @@ -2416,7 +2352,7 @@ sys32_sendfile (int out_fd, int in_fd, int *offset, unsigned int count) return -EFAULT; set_fs(KERNEL_DS); - ret = sys_sendfile(out_fd, in_fd, offset ? &of : NULL, count); + ret = sys_sendfile(out_fd, in_fd, offset ? (off_t __user *) &of : NULL, count); set_fs(old_fs); if (!ret && offset && put_user(of, offset)) @@ -2447,7 +2383,7 @@ sys32_brk (unsigned int brk) obrk = mm->brk; ret = sys_brk(brk); if (ret < obrk) - clear_user((void *) ret, PAGE_ALIGN(ret) - ret); + clear_user(compat_ptr(ret), PAGE_ALIGN(ret) - ret); return ret; } @@ -2455,7 +2391,7 @@ sys32_brk (unsigned int brk) * Exactly like fs/open.c:sys_open(), except that it doesn't set the O_LARGEFILE flag. */ asmlinkage long -sys32_open (const char * filename, int flags, int mode) +sys32_open (const char __user * filename, int flags, int mode) { char * tmp; int fd, error; @@ -2487,10 +2423,10 @@ struct epoll_event32 { u32 events; u32 data[2]; -}; +}; asmlinkage long -sys32_epoll_ctl(int epfd, int op, int fd, struct epoll_event32 *event) +sys32_epoll_ctl(int epfd, int op, int fd, struct epoll_event32 __user *event) { mm_segment_t old_fs = get_fs(); struct epoll_event event64; @@ -2508,14 +2444,14 @@ sys32_epoll_ctl(int epfd, int op, int fd, struct epoll_event32 *event) event64.data |= (u64)data_halfword << 32; set_fs(KERNEL_DS); - error = sys_epoll_ctl(epfd, op, fd, &event64); + error = sys_epoll_ctl(epfd, op, fd, (struct epoll_event __user *) &event64); set_fs(old_fs); return error; } asmlinkage long -sys32_epoll_wait(int epfd, struct epoll_event32 *events, int maxevents, +sys32_epoll_wait(int epfd, struct epoll_event32 __user * events, int maxevents, int timeout) { struct epoll_event *events64 = NULL; @@ -2533,8 +2469,8 @@ sys32_epoll_wait(int epfd, struct epoll_event32 *events, int maxevents, maxevents * sizeof(struct epoll_event32)))) return error; - /* - * Allocate space for the intermediate copy. If the space needed + /* + * Allocate space for the intermediate copy. If the space needed * is large enough to cause kmalloc to fail, then try again with * __get_free_pages. */ @@ -2543,14 +2479,15 @@ sys32_epoll_wait(int epfd, struct epoll_event32 *events, int maxevents, if (events64 == NULL) { events64 = (struct epoll_event *) __get_free_pages(GFP_KERNEL, get_order(size)); - if (events64 == NULL) + if (events64 == NULL) return -ENOMEM; do_free_pages = 1; } /* Do the system call */ set_fs(KERNEL_DS); /* copy_to/from_user should work on kernel mem*/ - numevents = sys_epoll_wait(epfd, events64, maxevents, timeout); + numevents = sys_epoll_wait(epfd, (struct epoll_event __user *) events64, + maxevents, timeout); set_fs(old_fs); /* Don't modify userspace memory if we're returning an error */ @@ -2593,7 +2530,7 @@ get_free_idx (void) * Set a given TLS descriptor: */ asmlinkage int -sys32_set_thread_area (struct ia32_user_desc *u_info) +sys32_set_thread_area (struct ia32_user_desc __user *u_info) { struct thread_struct *t = ¤t->thread; struct ia32_user_desc info; @@ -2654,7 +2591,7 @@ sys32_set_thread_area (struct ia32_user_desc *u_info) #define GET_USEABLE(desc) (((desc)->b >> 20) & 1) asmlinkage int -sys32_get_thread_area (struct ia32_user_desc *u_info) +sys32_get_thread_area (struct ia32_user_desc __user *u_info) { struct ia32_user_desc info; struct desc_struct *desc; @@ -2682,12 +2619,8 @@ sys32_get_thread_area (struct ia32_user_desc *u_info) return 0; } -extern asmlinkage long -sys_timer_create(clockid_t which_clock, struct sigevent *timer_event_spec, - timer_t * created_timer_id); - asmlinkage long -sys32_timer_create(u32 clock, struct sigevent32 *se32, timer_t *timer_id) +sys32_timer_create(u32 clock, struct sigevent32 __user *se32, timer_t __user *timer_id) { struct sigevent se; mm_segment_t oldfs; @@ -2710,7 +2643,7 @@ sys32_timer_create(u32 clock, struct sigevent32 *se32, timer_t *timer_id) oldfs = get_fs(); set_fs(KERNEL_DS); - err = sys_timer_create(clock, &se, &t); + err = sys_timer_create(clock, (struct sigevent __user *) &se, (timer_t __user *) &t); set_fs(oldfs); if (!err) @@ -2728,6 +2661,32 @@ long sys32_fadvise64_64(int fd, __u32 offset_low, __u32 offset_high, advice); } +asmlinkage long sys32_waitid(int which, compat_pid_t pid, + siginfo_t32 __user *uinfo, int options, + struct compat_rusage __user *uru) +{ + siginfo_t info; + struct rusage ru; + long ret; + mm_segment_t old_fs = get_fs(); + + info.si_signo = 0; + set_fs (KERNEL_DS); + ret = sys_waitid(which, pid, (siginfo_t __user *) &info, options, + uru ? &ru : NULL); + set_fs (old_fs); + + if (ret < 0 || info.si_signo == 0) + return ret; + + if (uru && (ret = put_compat_rusage(&ru, uru))) + return ret; + + BUG_ON(info.si_code & __SI_MASK); + info.si_code |= __SI_CHLD; + return copy_siginfo_to_user32(uinfo, &info); +} + #ifdef NOTYET /* UNTESTED FOR IA64 FROM HERE DOWN */ asmlinkage long sys32_setreuid(compat_uid_t ruid, compat_uid_t euid) diff --git a/arch/ia64/kernel/Makefile b/arch/ia64/kernel/Makefile index 7d1e2f3d4..265ae83da 100644 --- a/arch/ia64/kernel/Makefile +++ b/arch/ia64/kernel/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head.o init_task.o vmlinux.lds.s +extra-y := head.o init_task.o vmlinux.lds obj-y := acpi.o entry.o efi.o efi_stub.o gate-data.o fsys.o ia64_ksyms.o irq.o irq_ia64.o \ irq_lsapic.o ivt.o machvec.o pal.o patch.o process.o perfmon.o ptrace.o sal.o \ @@ -17,29 +17,31 @@ obj-$(CONFIG_MODULES) += module.o obj-$(CONFIG_SMP) += smp.o smpboot.o obj-$(CONFIG_PERFMON) += perfmon_default_smpl.o obj-$(CONFIG_IA64_CYCLONE) += cyclone.o +obj-$(CONFIG_IA64_MCA_RECOVERY) += mca_recovery.o +mca_recovery-y += mca_drv.o mca_drv_asm.o # The gate DSO image is built using a special linker script. targets += gate.so gate-syms.o -extra-y += gate.so gate-syms.o gate.lds.s gate.o +extra-y += gate.so gate-syms.o gate.lds gate.o # fp_emulate() expects f2-f5,f16-f31 to contain the user-level state. CFLAGS_traps.o += -mfixed-range=f2-f5,f16-f31 -AFLAGS_gate.lds.o += -P -C -U$(ARCH) +CPPFLAGS_gate.lds := -P -C -U$(ARCH) quiet_cmd_gate = GATE $@ cmd_gate = $(CC) -nostdlib $(GATECFLAGS_$(@F)) -Wl,-T,$(filter-out FORCE,$^) -o $@ GATECFLAGS_gate.so = -shared -s -Wl,-soname=linux-gate.so.1 -$(obj)/gate.so: $(obj)/gate.lds.s $(obj)/gate.o FORCE +$(obj)/gate.so: $(obj)/gate.lds $(obj)/gate.o FORCE $(call if_changed,gate) $(obj)/built-in.o: $(obj)/gate-syms.o $(obj)/built-in.o: ld_flags += -R $(obj)/gate-syms.o GATECFLAGS_gate-syms.o = -r -$(obj)/gate-syms.o: $(src)/gate.lds.s $(obj)/gate.o FORCE +$(obj)/gate-syms.o: $(obj)/gate.lds $(obj)/gate.o FORCE $(call if_changed,gate) # gate-data.o contains the gate DSO image as data in section .data.gate. diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index cf61f3e2a..6e012ba55 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c @@ -61,10 +61,16 @@ void (*pm_idle) (void); EXPORT_SYMBOL(pm_idle); void (*pm_power_off) (void); +EXPORT_SYMBOL(pm_power_off); unsigned char acpi_kbd_controller_present = 1; unsigned char acpi_legacy_devices; +#define MAX_SAPICS 256 +u16 ia64_acpiid_to_sapicid[MAX_SAPICS] = + { [0 ... MAX_SAPICS - 1] = -1 }; +EXPORT_SYMBOL(ia64_acpiid_to_sapicid); + const char * acpi_get_sysname (void) { @@ -172,8 +178,8 @@ acpi_parse_lapic_addr_ovr ( return -EINVAL; if (lapic->address) { - iounmap((void *) ipi_base_addr); - ipi_base_addr = (unsigned long) ioremap(lapic->address, 0); + iounmap(ipi_base_addr); + ipi_base_addr = ioremap(lapic->address, 0); } return 0; } @@ -193,6 +199,7 @@ acpi_parse_lsapic (acpi_table_entry_header *header, const unsigned long end) #ifdef CONFIG_SMP smp_boot_data.cpu_phys_id[available_cpus] = (lsapic->id << 8) | lsapic->eid; #endif + ia64_acpiid_to_sapicid[lsapic->acpi_id] = (lsapic->id << 8) | lsapic->eid; ++available_cpus; } @@ -329,9 +336,9 @@ acpi_parse_madt (unsigned long phys_addr, unsigned long size) /* Get base address of IPI Message Block */ if (acpi_madt->lapic_address) - ipi_base_addr = (unsigned long) ioremap(acpi_madt->lapic_address, 0); + ipi_base_addr = ioremap(acpi_madt->lapic_address, 0); - printk(KERN_INFO PREFIX "Local APIC address 0x%lx\n", ipi_base_addr); + printk(KERN_INFO PREFIX "Local APIC address %p\n", ipi_base_addr); acpi_madt_oem_check(acpi_madt->header.oem_id, acpi_madt->header.oem_table_id); @@ -430,8 +437,9 @@ acpi_numa_arch_fixup (void) { int i, j, node_from, node_to; - /* If there's no SRAT, fix the phys_id */ + /* If there's no SRAT, fix the phys_id and mark node 0 online */ if (srat_num_cpus == 0) { + node_set_online(0); node_cpuid[0].phys_id = hard_smp_processor_id(); return; } @@ -643,4 +651,71 @@ acpi_gsi_to_irq (u32 gsi, unsigned int *irq) return 0; } +#ifdef CONFIG_NUMA +acpi_status __init +acpi_map_iosapic (acpi_handle handle, u32 depth, void *context, void **ret) +{ + struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL}; + union acpi_object *obj; + struct acpi_table_iosapic *iosapic; + unsigned int gsi_base; + int node; + + /* Only care about objects w/ a method that returns the MADT */ + if (ACPI_FAILURE(acpi_evaluate_object(handle, "_MAT", NULL, &buffer))) + return AE_OK; + + if (!buffer.length || !buffer.pointer) + return AE_OK; + + obj = buffer.pointer; + if (obj->type != ACPI_TYPE_BUFFER || + obj->buffer.length < sizeof(*iosapic)) { + acpi_os_free(buffer.pointer); + return AE_OK; + } + + iosapic = (struct acpi_table_iosapic *)obj->buffer.pointer; + + if (iosapic->header.type != ACPI_MADT_IOSAPIC) { + acpi_os_free(buffer.pointer); + return AE_OK; + } + + gsi_base = iosapic->global_irq_base; + + acpi_os_free(buffer.pointer); + buffer.length = ACPI_ALLOCATE_BUFFER; + buffer.pointer = NULL; + + /* + * OK, it's an IOSAPIC MADT entry, look for a _PXM method to tell + * us which node to associate this with. + */ + if (ACPI_FAILURE(acpi_evaluate_object(handle, "_PXM", NULL, &buffer))) + return AE_OK; + + if (!buffer.length || !buffer.pointer) + return AE_OK; + + obj = buffer.pointer; + + if (obj->type != ACPI_TYPE_INTEGER || + obj->integer.value >= MAX_PXM_DOMAINS) { + acpi_os_free(buffer.pointer); + return AE_OK; + } + + node = pxm_to_nid_map[obj->integer.value]; + acpi_os_free(buffer.pointer); + + if (node >= MAX_NUMNODES || !node_online(node) || + cpus_empty(node_to_cpumask(node))) + return AE_OK; + + /* We know a gsi to node mapping! */ + map_iosapic_to_node(gsi_base, node); + return AE_OK; +} +#endif /* CONFIG_NUMA */ #endif /* CONFIG_ACPI_BOOT */ diff --git a/arch/ia64/kernel/asm-offsets.c b/arch/ia64/kernel/asm-offsets.c index b1ab994b2..e0a50bf62 100644 --- a/arch/ia64/kernel/asm-offsets.c +++ b/arch/ia64/kernel/asm-offsets.c @@ -217,6 +217,7 @@ void foo(void) DEFINE(IA64_TIME_INTERPOLATOR_LAST_CYCLE_OFFSET, offsetof (struct time_interpolator, last_cycle)); DEFINE(IA64_TIME_INTERPOLATOR_LAST_COUNTER_OFFSET, offsetof (struct time_interpolator, last_counter)); DEFINE(IA64_TIME_INTERPOLATOR_JITTER_OFFSET, offsetof (struct time_interpolator, jitter)); + DEFINE(IA64_TIME_INTERPOLATOR_MASK_OFFSET, offsetof (struct time_interpolator, mask)); DEFINE(IA64_TIME_SOURCE_CPU, TIME_SOURCE_CPU); DEFINE(IA64_TIME_SOURCE_MMIO64, TIME_SOURCE_MMIO64); DEFINE(IA64_TIME_SOURCE_MMIO32, TIME_SOURCE_MMIO32); diff --git a/arch/ia64/kernel/cyclone.c b/arch/ia64/kernel/cyclone.c index f8261d3a9..768c7e469 100644 --- a/arch/ia64/kernel/cyclone.c +++ b/arch/ia64/kernel/cyclone.c @@ -19,10 +19,11 @@ void __init cyclone_setup(void) struct time_interpolator cyclone_interpolator = { - .source = TIME_SOURCE_MMIO32, - .shift = 32, + .source = TIME_SOURCE_MMIO64, + .shift = 16, .frequency = CYCLONE_TIMER_FREQ, .drift = -100, + .mask = (1LL << 40) - 1 }; int __init init_cyclone_clock(void) diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c index e1e7d91c9..7b23f4dfa 100644 --- a/arch/ia64/kernel/efi.c +++ b/arch/ia64/kernel/efi.c @@ -48,7 +48,7 @@ static efi_status_t \ prefix##_get_time (efi_time_t *tm, efi_time_cap_t *tc) \ { \ struct ia64_fpreg fr[6]; \ - efi_time_cap_t *atc = 0; \ + efi_time_cap_t *atc = NULL; \ efi_status_t ret; \ \ if (tc) \ @@ -91,7 +91,7 @@ static efi_status_t \ prefix##_set_wakeup_time (efi_bool_t enabled, efi_time_t *tm) \ { \ struct ia64_fpreg fr[6]; \ - efi_time_t *atm = 0; \ + efi_time_t *atm = NULL; \ efi_status_t ret; \ \ if (tm) \ @@ -109,7 +109,7 @@ prefix##_get_variable (efi_char16_t *name, efi_guid_t *vendor, u32 *attr, \ unsigned long *data_size, void *data) \ { \ struct ia64_fpreg fr[6]; \ - u32 *aattr = 0; \ + u32 *aattr = NULL; \ efi_status_t ret; \ \ if (attr) \ @@ -172,7 +172,7 @@ prefix##_reset_system (int reset_type, efi_status_t status, \ unsigned long data_size, efi_char16_t *data) \ { \ struct ia64_fpreg fr[6]; \ - efi_char16_t *adata = 0; \ + efi_char16_t *adata = NULL; \ \ if (data) \ adata = adjust_arg(data); \ @@ -214,7 +214,7 @@ efi_gettimeofday (struct timespec *ts) efi_time_t tm; memset(ts, 0, sizeof(ts)); - if ((*efi.get_time)(&tm, 0) != EFI_SUCCESS) + if ((*efi.get_time)(&tm, NULL) != EFI_SUCCESS) return; ts->tv_sec = mktime(tm.year, tm.month, tm.day, tm.hour, tm.minute, tm.second); @@ -357,8 +357,10 @@ efi_memmap_walk (efi_freemem_callback_t callback, void *arg) if (total_mem >= mem_limit) continue; total_mem += (md->num_pages << EFI_PAGE_SHIFT); - if (total_mem > mem_limit) + if (total_mem > mem_limit) { md->num_pages -= ((total_mem - mem_limit) >> EFI_PAGE_SHIFT); + max_addr = md->phys_addr + (md->num_pages << EFI_PAGE_SHIFT); + } if (md->num_pages == 0) continue; diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index 6c0fc63f6..a2c2554cf 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S @@ -128,7 +128,7 @@ GLOBAL_ENTRY(sys_clone2) (p6) st8 [r2]=in5 // store TLS in r16 for copy_thread() mov out5=in4 // child_tidptr: valid only w/CLONE_CHILD_SETTID or CLONE_CHILD_CLEARTID adds out2=IA64_SWITCH_STACK_SIZE+16,sp // out2 = ®s - dep out0=0,in0,CLONE_IDLETASK_BIT,1 // out0 = clone_flags & ~CLONE_IDLETASK + mov out0=in0 // out0 = clone_flags br.call.sptk.many rp=do_fork .ret1: .restore sp adds sp=IA64_SWITCH_STACK_SIZE,sp // pop the switch stack @@ -157,7 +157,7 @@ GLOBAL_ENTRY(sys_clone) (p6) st8 [r2]=in4 // store TLS in r13 (tp) mov out5=in3 // child_tidptr: valid only w/CLONE_CHILD_SETTID or CLONE_CHILD_CLEARTID adds out2=IA64_SWITCH_STACK_SIZE+16,sp // out2 = ®s - dep out0=0,in0,CLONE_IDLETASK_BIT,1 // out0 = clone_flags & ~CLONE_IDLETASK + mov out0=in0 // out0 = clone_flags br.call.sptk.many rp=do_fork .ret2: .restore sp adds sp=IA64_SWITCH_STACK_SIZE,sp // pop the switch stack diff --git a/arch/ia64/kernel/fsys.S b/arch/ia64/kernel/fsys.S index 0f8e5b5fd..b48f5c3af 100644 --- a/arch/ia64/kernel/fsys.S +++ b/arch/ia64/kernel/fsys.S @@ -8,6 +8,8 @@ * 18-Feb-03 louisk Implement fsys_gettimeofday(). * 28-Feb-03 davidm Fixed several bugs in fsys_gettimeofday(). Tuned it some more, * probably broke it along the way... ;-) + * 13-Jul-04 clameter Implement fsys_clock_gettime and revise fsys_gettimeofday to make + * it capable of using memory based clocks without falling back to C code. */ #include @@ -144,195 +146,208 @@ ENTRY(fsys_set_tid_address) END(fsys_set_tid_address) /* - * Note 1: This routine uses floating-point registers, but only with registers that - * operate on integers. Because of that, we don't need to set ar.fpsr to the - * kernel default value. - * - * Note 2: For now, we will assume that all CPUs run at the same clock-frequency. - * If that wasn't the case, we would have to disable preemption (e.g., - * by disabling interrupts) between reading the ITC and reading - * local_cpu_data->nsec_per_cyc. - * - * Note 3: On platforms where the ITC-drift bit is set in the SAL feature vector, - * we ought to either skip the ITC-based interpolation or run an ntp-like - * daemon to keep the ITCs from drifting too far apart. + * Ensure that the time interpolator structure is compatible with the asm code */ +#if IA64_TIME_INTERPOLATOR_SOURCE_OFFSET !=0 || IA64_TIME_INTERPOLATOR_SHIFT_OFFSET != 2 \ + || IA64_TIME_INTERPOLATOR_JITTER_OFFSET != 3 || IA64_TIME_INTERPOLATOR_NSEC_OFFSET != 4 +#error fsys_gettimeofday incompatible with changes to struct time_interpolator +#endif +#define CLOCK_REALTIME 0 +#define CLOCK_MONOTONIC 1 +#define CLOCK_DIVIDE_BY_1000 0x4000 +#define CLOCK_ADD_MONOTONIC 0x8000 ENTRY(fsys_gettimeofday) .prologue .altrp b6 .body - add r9=TI_FLAGS+IA64_TASK_SIZE,r16 - addl r3=THIS_CPU(cpu_info),r0 - -#ifdef CONFIG_SMP - movl r10=__per_cpu_offset - movl r2=sal_platform_features - ;; - - ld8 r2=[r2] - movl r19=xtime // xtime is a timespec struct - - ld8 r10=[r10] // r10 <- __per_cpu_offset[0] - addl r21=THIS_CPU(cpu_info),r0 - ;; - add r10=r21, r10 // r10 <- &cpu_data(time_keeper_id) - tbit.nz p8,p0 = r2, IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT_BIT -(p8) br.spnt.many fsys_fallback_syscall -#else - ;; - mov r10=r3 - movl r19=xtime // xtime is a timespec struct -#endif - ld4 r9=[r9] - movl r17=xtime_lock - ;; - - // r32, r33 should contain the 2 args of gettimeofday - adds r21=IA64_CPUINFO_ITM_NEXT_OFFSET, r10 - mov r2=-1 - tnat.nz p6,p7=r32 // guard against NaT args - ;; - - adds r10=IA64_CPUINFO_ITM_DELTA_OFFSET, r10 -(p7) tnat.nz p6,p0=r33 -(p6) br.cond.spnt.few .fail_einval - - adds r8=IA64_CPUINFO_NSEC_PER_CYC_OFFSET, r3 - movl r24=2361183241434822607 // for division hack (only for / 1000) - ;; - - ldf8 f7=[r10] // f7 now contains itm_delta - setf.sig f11=r2 - adds r10=8, r32 - - adds r20=IA64_TIMESPEC_TV_NSEC_OFFSET, r19 // r20 = &xtime->tv_nsec - movl r26=jiffies - - setf.sig f9=r24 // f9 is used for division hack - movl r27=wall_jiffies - - and r9=TIF_ALLWORK_MASK,r9 - movl r25=last_nsec_offset - ;; - - /* - * Verify that we have permission to write to struct timeval. Note: - * Another thread might unmap the mapping before we actually get - * to store the result. That's OK as long as the stores are also - * protect by EX(). - */ -EX(.fail_efault, probe.w.fault r32, 3) // this must come _after_ NaT-check -EX(.fail_efault, probe.w.fault r10, 3) // this must come _after_ NaT-check - nop 0 - - ldf8 f10=[r8] // f10 <- local_cpu_data->nsec_per_cyc value - cmp.ne p8, p0=0, r9 -(p8) br.spnt.many fsys_fallback_syscall - ;; -.retry: // *** seq = read_seqbegin(&xtime_lock); *** - ld4.acq r23=[r17] // since &xtime_lock == &xtime_lock->sequence - ld8 r14=[r25] // r14 (old) = last_nsec_offset - - ld8 r28=[r26] // r28 = jiffies - ld8 r29=[r27] // r29 = wall_jiffies - ;; - - ldf8 f8=[r21] // f8 now contains itm_next - mov.m r31=ar.itc // put time stamp into r31 (ITC) == now - sub r28=r29, r28, 1 // r28 now contains "-(lost + 1)" - ;; - - ld8 r2=[r19] // r2 = sec = xtime.tv_sec - ld8 r29=[r20] // r29 = nsec = xtime.tv_nsec - tbit.nz p9, p10=r23, 0 // p9 <- is_odd(r23), p10 <- is_even(r23) - - setf.sig f6=r28 // f6 <- -(lost + 1) (6 cyc) - ;; - + mov r31 = r32 + tnat.nz p6,p0 = r33 // guard against NaT argument +(p6) br.cond.spnt.few .fail_einval + mov r30 = CLOCK_DIVIDE_BY_1000 + ;; +.gettime: + // Register map + // Incoming r31 = pointer to address where to place result + // r30 = flags determining how time is processed + // r2,r3 = temp r4-r7 preserved + // r8 = result nanoseconds + // r9 = result seconds + // r10 = temporary storage for clock difference + // r11 = preserved: saved ar.pfs + // r12 = preserved: memory stack + // r13 = preserved: thread pointer + // r14 = address of mask / mask + // r15 = preserved: system call number + // r16 = preserved: current task pointer + // r17 = wall to monotonic use + // r18 = time_interpolator->offset + // r19 = address of wall_to_monotonic + // r20 = pointer to struct time_interpolator / pointer to time_interpolator->address + // r21 = shift factor + // r22 = address of time interpolator->last_counter + // r23 = address of time_interpolator->last_cycle + // r24 = adress of time_interpolator->offset + // r25 = last_cycle value + // r26 = last_counter value + // r27 = pointer to xtime + // r28 = sequence number at the beginning of critcal section + // r29 = address of seqlock + // r30 = time processing flags / memory address + // r31 = pointer to result + // Predicates + // p6,p7 short term use + // p8 = timesource ar.itc + // p9 = timesource mmio64 + // p10 = timesource mmio32 + // p11 = timesource not to be handled by asm code + // p12 = memory time source ( = p9 | p10) + // p13 = do cmpxchg with time_interpolator_last_cycle + // p14 = Divide by 1000 + // p15 = Add monotonic + // + // Note that instructions are optimized for McKinley. McKinley can process two + // bundles simultaneously and therefore we continuously try to feed the CPU + // two bundles and then a stop. + tnat.nz p6,p0 = r31 // branch deferred since it does not fit into bundle structure + mov pr = r30,0xc000 // Set predicates according to function + add r2 = TI_FLAGS+IA64_TASK_SIZE,r16 + movl r20 = time_interpolator + ;; + ld8 r20 = [r20] // get pointer to time_interpolator structure + movl r29 = xtime_lock + ld4 r2 = [r2] // process work pending flags + movl r27 = xtime + ;; // only one bundle here + ld8 r21 = [r20] // first quad with control information + and r2 = TIF_ALLWORK_MASK,r2 +(p6) br.cond.spnt.few .fail_einval // deferred branch + ;; + add r10 = IA64_TIME_INTERPOLATOR_ADDRESS_OFFSET,r20 + extr r3 = r21,32,32 // time_interpolator->nsec_per_cyc + extr r8 = r21,0,16 // time_interpolator->source + cmp.ne p6, p0 = 0, r2 // Fallback if work is scheduled +(p6) br.cond.spnt.many fsys_fallback_syscall + ;; + cmp.eq p8,p12 = 0,r8 // Check for cpu timer + cmp.eq p9,p0 = 1,r8 // MMIO64 ? + extr r2 = r21,24,8 // time_interpolator->jitter + cmp.eq p10,p0 = 2,r8 // MMIO32 ? + cmp.ltu p11,p0 = 2,r8 // function or other clock +(p11) br.cond.spnt.many fsys_fallback_syscall + ;; + setf.sig f7 = r3 // Setup for scaling of counter +(p15) movl r19 = wall_to_monotonic +(p12) ld8 r30 = [r10] + cmp.ne p13,p0 = r2,r0 // need jitter compensation? + extr r21 = r21,16,8 // shift factor + ;; +.time_redo: + .pred.rel.mutex p8,p9,p10 + ld4.acq r28 = [r29] // xtime_lock.sequence. Must come first for locking purposes +(p8) mov r2 = ar.itc // CPU_TIMER. 36 clocks latency!!! + add r22 = IA64_TIME_INTERPOLATOR_LAST_COUNTER_OFFSET,r20 +(p9) ld8 r2 = [r30] // readq(ti->address). Could also have latency issues.. +(p10) ld4 r2 = [r30] // readw(ti->address) +(p13) add r23 = IA64_TIME_INTERPOLATOR_LAST_CYCLE_OFFSET,r20 + ;; // could be removed by moving the last add upward + ld8 r26 = [r22] // time_interpolator->last_counter +(p13) ld8 r25 = [r23] // time interpolator->last_cycle + add r24 = IA64_TIME_INTERPOLATOR_OFFSET_OFFSET,r20 +(p15) ld8 r17 = [r19],IA64_TIMESPEC_TV_NSEC_OFFSET + ld8 r9 = [r27],IA64_TIMESPEC_TV_NSEC_OFFSET + add r14 = IA64_TIME_INTERPOLATOR_MASK_OFFSET, r20 + ;; + ld8 r18 = [r24] // time_interpolator->offset + ld8 r8 = [r27],-IA64_TIMESPEC_TV_NSEC_OFFSET // xtime.tv_nsec +(p13) sub r3 = r25,r2 // Diff needed before comparison (thanks davidm) + ;; + ld8 r14 = [r14] // time_interpolator->mask +(p13) cmp.gt.unc p6,p7 = r3,r0 // check if it is less than last. p6,p7 cleared + sub r10 = r2,r26 // current_counter - last_counter + ;; +(p6) sub r10 = r25,r26 // time we got was less than last_cycle +(p7) mov ar.ccv = r25 // more than last_cycle. Prep for cmpxchg + ;; + and r10 = r10,r14 // Apply mask + ;; + setf.sig f8 = r10 + nop.i 123 + ;; +(p7) cmpxchg8.rel r3 = [r23],r2,ar.ccv +EX(.fail_efault, probe.w.fault r31, 3) // This takes 5 cycles and we have spare time + xmpy.l f8 = f8,f7 // nsec_per_cyc*(counter-last_counter) +(p15) add r9 = r9,r17 // Add wall to monotonic.secs to result secs + ;; +(p15) ld8 r17 = [r19],-IA64_TIMESPEC_TV_NSEC_OFFSET +(p7) cmp.ne p7,p0 = r25,r3 // if cmpxchg not successful redo + // simulate tbit.nz.or p7,p0 = r28,0 + and r28 = ~1,r28 // Make sequence even to force retry if odd + getf.sig r2 = f8 mf - xma.l f8=f6, f7, f8 // f8 (last_tick) <- -(lost + 1)*itm_delta + itm_next (5 cyc) - nop 0 - - setf.sig f12=r31 // f12 <- ITC (6 cyc) - // *** if (unlikely(read_seqretry(&xtime_lock, seq))) continue; *** - ld4 r24=[r17] // r24 = xtime_lock->sequence (re-read) - nop 0 - ;; - - xma.l f8=f11, f8, f12 // f8 (elapsed_cycles) <- (-1*last_tick + now) = (now - last_tick) - nop 0 - ;; - - getf.sig r18=f8 // r18 <- (now - last_tick) - xmpy.l f8=f8, f10 // f8 <- elapsed_cycles*nsec_per_cyc (5 cyc) - add r3=r29, r14 // r3 = (nsec + old) - ;; - - cmp.lt p7, p8=r18, r0 // if now < last_tick, set p7 = 1, p8 = 0 - getf.sig r18=f8 // r18 = elapsed_cycles*nsec_per_cyc (6 cyc) - nop 0 - ;; - -(p10) cmp.ne p9, p0=r23, r24 // if xtime_lock->sequence != seq, set p9 - shr.u r18=r18, IA64_NSEC_PER_CYC_SHIFT // r18 <- offset -(p9) br.spnt.many .retry - ;; - - mov ar.ccv=r14 // ar.ccv = old (1 cyc) - cmp.leu p7, p8=r18, r14 // if (offset <= old), set p7 = 1, p8 = 0 - ;; - -(p8) cmpxchg8.rel r24=[r25], r18, ar.ccv // compare-and-exchange (atomic!) -(p8) add r3=r29, r18 // r3 = (nsec + offset) - ;; - shr.u r3=r3, 3 // initiate dividing r3 by 1000 - ;; - setf.sig f8=r3 // (6 cyc) - mov r10=1000000 // r10 = 1000000 - ;; -(p8) cmp.ne.unc p9, p0=r24, r14 - xmpy.hu f6=f8, f9 // (5 cyc) -(p9) br.spnt.many .retry - ;; - - getf.sig r3=f6 // (6 cyc) - ;; - shr.u r3=r3, 4 // end of division, r3 is divided by 1000 (=usec) - ;; - -1: cmp.geu p7, p0=r3, r10 // while (usec >= 1000000) - ;; -(p7) sub r3=r3, r10 // usec -= 1000000 -(p7) adds r2=1, r2 // ++sec -(p7) br.spnt.many 1b - - // finally: r2 = sec, r3 = usec -EX(.fail_efault, st8 [r32]=r2) - adds r9=8, r32 - mov r8=r0 // success - ;; -EX(.fail_efault, st8 [r9]=r3) // store them in the timeval struct - mov r10=0 + add r8 = r8,r18 // Add time interpolator offset + ;; + ld4 r10 = [r29] // xtime_lock.sequence +(p15) add r8 = r8, r17 // Add monotonic.nsecs to nsecs + shr.u r2 = r2,r21 + ;; // overloaded 3 bundles! + // End critical section. + add r8 = r8,r2 // Add xtime.nsecs + cmp4.ne.or p7,p0 = r28,r10 +(p7) br.cond.dpnt.few .time_redo // sequence number changed ? + // Now r8=tv->tv_nsec and r9=tv->tv_sec + mov r10 = r0 + movl r2 = 1000000000 + add r23 = IA64_TIMESPEC_TV_NSEC_OFFSET, r31 +(p14) movl r3 = 2361183241434822607 // Prep for / 1000 hack + ;; +.time_normalize: + mov r21 = r8 + cmp.ge p6,p0 = r8,r2 +(p14) shr.u r20 = r8, 3 // We can repeat this if necessary just wasting some time + ;; +(p14) setf.sig f8 = r20 +(p6) sub r8 = r8,r2 +(p6) add r9 = 1,r9 // two nops before the branch. +(p14) setf.sig f7 = r3 // Chances for repeats are 1 in 10000 for gettod +(p6) br.cond.dpnt.few .time_normalize + ;; + // Divided by 8 though shift. Now divide by 125 + // The compiler was able to do that with a multiply + // and a shift and we do the same +EX(.fail_efault, probe.w.fault r23, 3) // This also costs 5 cycles +(p14) xmpy.hu f8 = f8, f7 // xmpy has 5 cycles latency so use it... + ;; + mov r8 = r0 +(p14) getf.sig r2 = f8 + ;; +(p14) shr.u r21 = r2, 4 + ;; +EX(.fail_efault, st8 [r31] = r9) +EX(.fail_efault, st8 [r23] = r21) FSYS_RETURN - /* - * Note: We are NOT clearing the scratch registers here. Since the only things - * in those registers are time-related variables and some addresses (which - * can be obtained from System.map), none of this should be security-sensitive - * and we should be fine. - */ - .fail_einval: - mov r8=EINVAL // r8 = EINVAL - mov r10=-1 // r10 = -1 + mov r8 = EINVAL + mov r10 = -1 FSYS_RETURN - .fail_efault: - mov r8=EFAULT // r8 = EFAULT - mov r10=-1 // r10 = -1 + mov r8 = EFAULT + mov r10 = -1 FSYS_RETURN END(fsys_gettimeofday) +ENTRY(fsys_clock_gettime) + .prologue + .altrp b6 + .body + cmp4.ltu p6, p0 = CLOCK_MONOTONIC, r32 + // Fallback if this is not CLOCK_REALTIME or CLOCK_MONOTONIC +(p6) br.spnt.few fsys_fallback_syscall + mov r31 = r33 + shl r30 = r32,15 + br.many .gettime +END(fsys_clock_gettime) + /* * long fsys_rt_sigprocmask (int how, sigset_t *set, sigset_t *oset, size_t sigsetsize). */ @@ -838,7 +853,7 @@ fsyscall_table: data8 0 // timer_getoverrun data8 0 // timer_delete data8 0 // clock_settime - data8 0 // clock_gettime + data8 fsys_clock_gettime // clock_gettime data8 0 // clock_getres // 1255 data8 0 // clock_nanosleep data8 0 // fstatfs64 diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index 032defb0f..0e821d0c3 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S @@ -781,8 +781,7 @@ GLOBAL_ENTRY(ia64_switch_mode_virt) // going to virtual // - for code addresses, set upper bits of addr to KERNEL_START - // - for stack addresses, set upper 3 bits to 0xe.... Dont change any of the - // lower bits since we want it to stay identity mapped + // - for stack addresses, copy from input argument movl r18=KERNEL_START dep r3=0,r3,KERNEL_TR_PAGE_SHIFT,64-KERNEL_TR_PAGE_SHIFT dep r14=0,r14,KERNEL_TR_PAGE_SHIFT,64-KERNEL_TR_PAGE_SHIFT diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c index 4fc74cc17..f72d0b41e 100644 --- a/arch/ia64/kernel/ia64_ksyms.c +++ b/arch/ia64/kernel/ia64_ksyms.c @@ -61,8 +61,8 @@ EXPORT_SYMBOL(__strnlen_user); #define __KERNEL_SYSCALLS__ #include EXPORT_SYMBOL(__ia64_syscall); -EXPORT_SYMBOL(execve); -EXPORT_SYMBOL(clone); +EXPORT_SYMBOL_GPL(sys_execve); +EXPORT_SYMBOL_GPL(clone); /* from arch/ia64/lib */ extern void __divsi3(void); @@ -107,7 +107,7 @@ EXPORT_SYMBOL(ia64_save_scratch_fpregs); EXPORT_SYMBOL(unw_init_running); #include -EXPORT_SYMBOL(efi_mem_type); +EXPORT_SYMBOL_GPL(efi_mem_type); #ifdef ASM_SUPPORTED # ifdef CONFIG_SMP diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c index f032ea1b3..c5b15ddaf 100644 --- a/arch/ia64/kernel/iosapic.c +++ b/arch/ia64/kernel/iosapic.c @@ -104,7 +104,7 @@ static spinlock_t iosapic_lock = SPIN_LOCK_UNLOCKED; /* These tables map IA-64 vectors to the IOSAPIC pin that generates this vector. */ static struct iosapic_intr_info { - char *addr; /* base address of IOSAPIC */ + char __iomem *addr; /* base address of IOSAPIC */ u32 low32; /* current value of low word of Redirection table entry */ unsigned int gsi_base; /* first GSI assigned to this IOSAPIC */ char rte_index; /* IOSAPIC RTE index (-1 => not an IOSAPIC interrupt) */ @@ -114,9 +114,12 @@ static struct iosapic_intr_info { } iosapic_intr_info[IA64_NUM_VECTORS]; static struct iosapic { - char *addr; /* base address of IOSAPIC */ + char __iomem *addr; /* base address of IOSAPIC */ unsigned int gsi_base; /* first GSI assigned to this IOSAPIC */ unsigned short num_rte; /* number of RTE in this IOSAPIC */ +#ifdef CONFIG_NUMA + unsigned short node; /* numa node association via pxm */ +#endif } iosapic_lists[NR_IOSAPICS]; static int num_iosapic; @@ -176,7 +179,7 @@ set_rte (unsigned int vector, unsigned int dest, int mask) { unsigned long pol, trigger, dmode, flags; u32 low32, high32; - char *addr; + char __iomem *addr; int rte_index; char redir; @@ -234,7 +237,7 @@ static void mask_irq (unsigned int irq) { unsigned long flags; - char *addr; + char __iomem *addr; u32 low32; int rte_index; ia64_vector vec = irq_to_vector(irq); @@ -258,7 +261,7 @@ static void unmask_irq (unsigned int irq) { unsigned long flags; - char *addr; + char __iomem *addr; u32 low32; int rte_index; ia64_vector vec = irq_to_vector(irq); @@ -284,7 +287,7 @@ iosapic_set_affinity (unsigned int irq, cpumask_t mask) unsigned long flags; u32 high32, low32; int dest, rte_index; - char *addr; + char __iomem *addr; int redir = (irq & IA64_IRQ_REDIRECTED) ? 1 : 0; ia64_vector vec; @@ -409,7 +412,7 @@ struct hw_interrupt_type irq_type_iosapic_edge = { }; unsigned int -iosapic_version (char *addr) +iosapic_version (char __iomem *addr) { /* * IOSAPIC Version Register return 32 bit structure like: @@ -454,7 +457,7 @@ register_intr (unsigned int gsi, int vector, unsigned char delivery, int rte_index; int index; unsigned long gsi_base; - char *iosapic_address; + void __iomem *iosapic_address; index = find_iosapic(gsi); if (index < 0) { @@ -488,7 +491,7 @@ register_intr (unsigned int gsi, int vector, unsigned char delivery, } static unsigned int -get_target_cpu (void) +get_target_cpu (unsigned int gsi, int vector) { #ifdef CONFIG_SMP static int cpu = -1; @@ -507,6 +510,39 @@ get_target_cpu (void) if (!cpu_online(smp_processor_id())) return hard_smp_processor_id(); +#ifdef CONFIG_NUMA + { + int num_cpus, cpu_index, iosapic_index, numa_cpu, i = 0; + cpumask_t cpu_mask; + + iosapic_index = find_iosapic(gsi); + if (iosapic_index < 0 || + iosapic_lists[iosapic_index].node == MAX_NUMNODES) + goto skip_numa_setup; + + cpu_mask = node_to_cpumask(iosapic_lists[iosapic_index].node); + + for_each_cpu_mask(numa_cpu, cpu_mask) { + if (!cpu_online(numa_cpu)) + cpu_clear(numa_cpu, cpu_mask); + } + + num_cpus = cpus_weight(cpu_mask); + + if (!num_cpus) + goto skip_numa_setup; + + /* Use vector assigment to distribute across cpus in node */ + cpu_index = vector % num_cpus; + + for (numa_cpu = first_cpu(cpu_mask) ; i < cpu_index ; i++) + numa_cpu = next_cpu(numa_cpu, cpu_mask); + + if (numa_cpu != NR_CPUS) + return cpu_physical_id(numa_cpu); + } +skip_numa_setup: +#endif /* * Otherwise, round-robin interrupt vectors across all the * processors. (It'd be nice if we could be smarter in the @@ -550,7 +586,7 @@ iosapic_register_intr (unsigned int gsi, } vector = assign_irq_vector(AUTO_ASSIGN); - dest = get_target_cpu(); + dest = get_target_cpu(gsi, vector); register_intr(gsi, vector, IOSAPIC_LOWEST_PRIORITY, polarity, trigger); } @@ -665,7 +701,7 @@ iosapic_init (unsigned long phys_addr, unsigned int gsi_base) { int num_rte; unsigned int isa_irq, ver; - char *addr; + char __iomem *addr; addr = ioremap(phys_addr, 0); ver = iosapic_version(addr); @@ -680,6 +716,9 @@ iosapic_init (unsigned long phys_addr, unsigned int gsi_base) iosapic_lists[num_iosapic].addr = addr; iosapic_lists[num_iosapic].gsi_base = gsi_base; iosapic_lists[num_iosapic].num_rte = num_rte; +#ifdef CONFIG_NUMA + iosapic_lists[num_iosapic].node = MAX_NUMNODES; +#endif num_iosapic++; if ((gsi_base == 0) && pcat_compat) { @@ -692,3 +731,20 @@ iosapic_init (unsigned long phys_addr, unsigned int gsi_base) iosapic_override_isa_irq(isa_irq, isa_irq, IOSAPIC_POL_HIGH, IOSAPIC_EDGE); } } + +#ifdef CONFIG_NUMA +void __init +map_iosapic_to_node(unsigned int gsi_base, int node) +{ + int index; + + index = find_iosapic(gsi_base); + if (index < 0) { + printk(KERN_WARNING "%s: No IOSAPIC for GSI %u\n", + __FUNCTION__, gsi_base); + return; + } + iosapic_lists[index].node = node; + return; +} +#endif diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index 9ec161c63..f779d97a4 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c @@ -84,11 +84,13 @@ irq_desc_t _irq_desc[NR_IRQS] __cacheline_aligned = { } }; +#ifdef CONFIG_SMP /* * This is updated when the user sets irq affinity via /proc */ cpumask_t __cacheline_aligned pending_irq_cpumask[NR_IRQS]; static unsigned long pending_irq_redir[BITS_TO_LONGS(NR_IRQS)]; +#endif #ifdef CONFIG_IA64_GENERIC irq_desc_t * __ia64_irq_desc (unsigned int irq) @@ -255,14 +257,16 @@ int handle_IRQ_event(unsigned int irq, struct pt_regs *regs, struct irqaction *action) { int status = 1; /* Force the "do bottom halves" bit */ - int retval = 0; + int ret, retval = 0; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -962,7 +966,7 @@ static int irq_affinity_read_proc (char *page, char **start, off_t off, return len; } -static int irq_affinity_write_proc (struct file *file, const char *buffer, +static int irq_affinity_write_proc (struct file *file, const char __user *buffer, unsigned long count, void *data) { unsigned int irq = (unsigned long) data; @@ -1137,31 +1141,6 @@ void fixup_irqs(void) } #endif -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, const char *buffer, - unsigned long count, void *data) -{ - cpumask_t *mask = (cpumask_t *)data; - unsigned long full_count = count, err; - cpumask_t new_value; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} - #define MAX_NAMELEN 10 static void register_irq_proc (unsigned int irq) @@ -1196,26 +1175,15 @@ static void register_irq_proc (unsigned int irq) #endif } -cpumask_t prof_cpu_mask = CPU_MASK_ALL; - void init_irq_proc (void) { - struct proc_dir_entry *entry; int i; /* create /proc/irq */ - root_irq_dir = proc_mkdir("irq", 0); + root_irq_dir = proc_mkdir("irq", NULL); /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - if (!entry) - return; - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index e853159b8..335d827ce 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c @@ -47,7 +47,8 @@ #define IRQ_DEBUG 0 /* default base addr of IPI table */ -unsigned long ipi_base_addr = (__IA64_UNCACHED_OFFSET | IA64_IPI_DEFAULT_BASE_ADDR); +void __iomem *ipi_base_addr = ((void __iomem *) + (__IA64_UNCACHED_OFFSET | IA64_IPI_DEFAULT_BASE_ADDR)); /* * Legacy IRQ to IA-64 vector translation table. @@ -254,7 +255,7 @@ init_IRQ (void) void ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect) { - unsigned long ipi_addr; + void __iomem *ipi_addr; unsigned long ipi_data; unsigned long phys_cpu_id; @@ -269,7 +270,7 @@ ia64_send_ipi (int cpu, int vector, int delivery_mode, int redirect) */ ipi_data = (delivery_mode << 8) | (vector & 0xff); - ipi_addr = ipi_base_addr | (phys_cpu_id << 4) | ((redirect & 1) << 3); + ipi_addr = ipi_base_addr + ((phys_cpu_id << 4) | ((redirect & 1) << 3)); writeq(ipi_data, ipi_addr); } diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 9c5104cc5..aa76ea054 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c @@ -82,11 +82,6 @@ # define IA64_MCA_DEBUG(fmt...) #endif -typedef struct ia64_fptr { - unsigned long fp; - unsigned long gp; -} ia64_fptr_t; - /* Used by mca_asm.S */ ia64_mca_sal_to_os_state_t ia64_sal_to_os_handoff_state; ia64_mca_os_to_sal_state_t ia64_os_to_sal_handoff_state; @@ -831,6 +826,31 @@ ia64_return_to_sal_check(int recover) } +/* Function pointer for extra MCA recovery */ +int (*ia64_mca_ucmc_extension) + (void*,ia64_mca_sal_to_os_state_t*,ia64_mca_os_to_sal_state_t*) + = NULL; + +int +ia64_reg_MCA_extension(void *fn) +{ + if (ia64_mca_ucmc_extension) + return 1; + + ia64_mca_ucmc_extension = fn; + return 0; +} + +void +ia64_unreg_MCA_extension(void) +{ + if (ia64_mca_ucmc_extension) + ia64_mca_ucmc_extension = NULL; +} + +EXPORT_SYMBOL(ia64_reg_MCA_extension); +EXPORT_SYMBOL(ia64_unreg_MCA_extension); + /* * ia64_mca_ucmc_handler * @@ -852,11 +872,20 @@ ia64_mca_ucmc_handler(void) { pal_processor_state_info_t *psp = (pal_processor_state_info_t *) &ia64_sal_to_os_handoff_state.proc_state_param; - int recover = psp->tc && !(psp->cc || psp->bc || psp->rc || psp->uc); + int recover; /* Get the MCA error record and log it */ ia64_mca_log_sal_error_record(SAL_INFO_TYPE_MCA); + /* TLB error is only exist in this SAL error record */ + recover = (psp->tc && !(psp->cc || psp->bc || psp->rc || psp->uc)) + /* other error recovery */ + || (ia64_mca_ucmc_extension + && ia64_mca_ucmc_extension( + IA64_LOG_CURR_BUFFER(SAL_INFO_TYPE_MCA), + &ia64_sal_to_os_handoff_state, + &ia64_os_to_sal_handoff_state)); + /* * Wakeup all the processors which are spinning in the rendezvous * loop. diff --git a/arch/ia64/kernel/module.c b/arch/ia64/kernel/module.c index 2ee61a213..febc091c2 100644 --- a/arch/ia64/kernel/module.c +++ b/arch/ia64/kernel/module.c @@ -195,10 +195,10 @@ apply_imm22 (struct module *mod, struct insn *insn, uint64_t val) printk(KERN_ERR "%s: value %li out of IMM22 range\n", mod->name, (int64_t)val); return 0; } - ia64_patch((u64) insn, 0x01fffcfe000, ( ((val & 0x200000) << 15) /* bit 21 -> 36 */ - | ((val & 0x1f0000) << 6) /* bit 16 -> 22 */ - | ((val & 0x00ff80) << 20) /* bit 7 -> 27 */ - | ((val & 0x00007f) << 13) /* bit 0 -> 13 */)); + ia64_patch((u64) insn, 0x01fffcfe000UL, ( ((val & 0x200000UL) << 15) /* bit 21 -> 36 */ + | ((val & 0x1f0000UL) << 6) /* bit 16 -> 22 */ + | ((val & 0x00ff80UL) << 20) /* bit 7 -> 27 */ + | ((val & 0x00007fUL) << 13) /* bit 0 -> 13 */)); return 1; } @@ -209,8 +209,8 @@ apply_imm21b (struct module *mod, struct insn *insn, uint64_t val) printk(KERN_ERR "%s: value %li out of IMM21b range\n", mod->name, (int64_t)val); return 0; } - ia64_patch((u64) insn, 0x11ffffe000, ( ((val & 0x100000) << 16) /* bit 20 -> 36 */ - | ((val & 0x0fffff) << 13) /* bit 0 -> 13 */)); + ia64_patch((u64) insn, 0x11ffffe000UL, ( ((val & 0x100000UL) << 16) /* bit 20 -> 36 */ + | ((val & 0x0fffffUL) << 13) /* bit 0 -> 13 */)); return 1; } @@ -253,9 +253,9 @@ plt_target (struct plt_entry *plt) long off; b0 = b[0]; b1 = b[1]; - off = ( ((b1 & 0x00fffff000000000) >> 36) /* imm20b -> bit 0 */ - | ((b0 >> 48) << 20) | ((b1 & 0x7fffff) << 36) /* imm39 -> bit 20 */ - | ((b1 & 0x0800000000000000) << 0)); /* i -> bit 59 */ + off = ( ((b1 & 0x00fffff000000000UL) >> 36) /* imm20b -> bit 0 */ + | ((b0 >> 48) << 20) | ((b1 & 0x7fffffUL) << 36) /* imm39 -> bit 20 */ + | ((b1 & 0x0800000000000000UL) << 0)); /* i -> bit 59 */ return (long) plt->bundle[1] + 16*off; } @@ -739,7 +739,7 @@ do_reloc (struct module *mod, uint8_t r_type, Elf64_Sym *sym, uint64_t addend, if (gp_addressable(mod, val)) { /* turn "ld8" into "mov": */ DEBUGP("%s: patching ld8 at %p to mov\n", __FUNCTION__, location); - ia64_patch((u64) location, 0x1fff80fe000, 0x10000000000); + ia64_patch((u64) location, 0x1fff80fe000UL, 0x10000000000UL); } return 0; diff --git a/arch/ia64/kernel/palinfo.c b/arch/ia64/kernel/palinfo.c index 3cbe961ed..25e7c8344 100644 --- a/arch/ia64/kernel/palinfo.c +++ b/arch/ia64/kernel/palinfo.c @@ -446,7 +446,7 @@ register_info(char *page) "RSE stacked physical registers : %ld\n" "RSE load/store hints : %ld (%s)\n", phys_stacked, hints.ph_data, - hints.ph_data < RSE_HINTS_COUNT ? rse_hints[hints.ph_data]: "(\?\?)"); + hints.ph_data < RSE_HINTS_COUNT ? rse_hints[hints.ph_data]: "(??)"); if (ia64_pal_debug_info(&iregs, &dregs)) return 0; @@ -479,7 +479,7 @@ static const char *proc_features[]={ "Enable CMCI promotion", "Enable MCA to BINIT promotion", "Enable MCA promotion", - "Enable BEER promotion" + "Enable BERR promotion" }; diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 2f71b39ea..b467622bc 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c @@ -38,6 +38,8 @@ #include #include #include +#include +#include #include #include @@ -1513,7 +1515,7 @@ exit_pfm_fs(void) } static ssize_t -pfm_read(struct file *filp, char *buf, size_t size, loff_t *ppos) +pfm_read(struct file *filp, char __user *buf, size_t size, loff_t *ppos) { pfm_context_t *ctx; pfm_msg_t *msg; @@ -1606,7 +1608,7 @@ abort: } static ssize_t -pfm_write(struct file *file, const char *ubuf, +pfm_write(struct file *file, const char __user *ubuf, size_t size, loff_t *ppos) { DPRINT(("pfm_write called\n")); @@ -1678,7 +1680,6 @@ static int pfm_fasync(int fd, struct file *filp, int on) { pfm_context_t *ctx; - unsigned long flags; int ret; if (PFM_IS_FILE(filp) == 0) { @@ -1691,19 +1692,21 @@ pfm_fasync(int fd, struct file *filp, int on) printk(KERN_ERR "perfmon: pfm_fasync NULL ctx [%d]\n", current->pid); return -EBADF; } - - - PROTECT_CTX(ctx, flags); - + /* + * we cannot mask interrupts during this call because this may + * may go to sleep if memory is not readily avalaible. + * + * We are protected from the conetxt disappearing by the get_fd()/put_fd() + * done in caller. Serialization of this function is ensured by caller. + */ ret = pfm_do_fasync(fd, filp, ctx, on); + DPRINT(("pfm_fasync called on ctx_fd=%d on=%d async_queue=%p ret=%d\n", fd, on, ctx->ctx_async_queue, ret)); - UNPROTECT_CTX(ctx, flags); - return ret; } @@ -2227,6 +2230,15 @@ out: static void pfm_free_fd(int fd, struct file *file) { + struct files_struct *files = current->files; + + /* + * there ie no fd_uninstall(), so we do it here + */ + spin_lock(&files->file_lock); + files->fd[fd] = NULL; + spin_unlock(&files->file_lock); + if (file) put_filp(file); put_unused_fd(fd); } @@ -2277,7 +2289,7 @@ pfm_smpl_buffer_alloc(struct task_struct *task, pfm_context_t *ctx, unsigned lon * if ((mm->total_vm << PAGE_SHIFT) + len> task->rlim[RLIMIT_AS].rlim_cur) * return -ENOMEM; */ - if (size > task->rlim[RLIMIT_MEMLOCK].rlim_cur) return -EAGAIN; + if (size > task->rlim[RLIMIT_MEMLOCK].rlim_cur) return -ENOMEM; /* * We do the easy to undo allocations first. @@ -2353,7 +2365,7 @@ pfm_smpl_buffer_alloc(struct task_struct *task, pfm_context_t *ctx, unsigned lon // mm->total_vm += size >> PAGE_SHIFT; vx_vmpages_add(mm, size >> PAGE_SHIFT); - + vm_stat_account(vma); up_write(&task->mm->mmap_sem); /* @@ -2583,7 +2595,7 @@ pfm_task_incompatible(pfm_context_t *ctx, struct task_struct *task) return -EINVAL; } - if (task->state == TASK_ZOMBIE) { + if (task->exit_state == EXIT_ZOMBIE) { DPRINT(("cannot attach to zombie task [%d]\n", task->pid)); return -EBUSY; } @@ -2593,7 +2605,7 @@ pfm_task_incompatible(pfm_context_t *ctx, struct task_struct *task) */ if (task == current) return 0; - if (task->state != TASK_STOPPED) { + if ((task->state != TASK_STOPPED) && (task->state != TASK_TRACED)) { DPRINT(("cannot attach to non-stopped task [%d] state=%ld\n", task->pid, task->state)); return -EBUSY; } @@ -2660,8 +2672,10 @@ pfm_context_create(pfm_context_t *ctx, void *arg, int count, struct pt_regs *reg ctx = pfm_context_alloc(); if (!ctx) goto error; - req->ctx_fd = ctx->ctx_fd = pfm_alloc_fd(&filp); - if (req->ctx_fd < 0) goto error_file; + ret = pfm_alloc_fd(&filp); + if (ret < 0) goto error_file; + + req->ctx_fd = ctx->ctx_fd = ret; /* * attach context to file @@ -3986,7 +4000,10 @@ pfm_stop(pfm_context_t *ctx, void *arg, int count, struct pt_regs *regs) state = ctx->ctx_state; is_system = ctx->ctx_fl_system; - if (state != PFM_CTX_LOADED && state != PFM_CTX_MASKED) return -EINVAL; + /* + * context must be attached to issue the stop command (includes LOADED,MASKED,ZOMBIE) + */ + if (state == PFM_CTX_UNLOADED) return -EINVAL; /* * In system wide and when the context is loaded, access can only happen @@ -4742,7 +4759,7 @@ recheck: * the task must be stopped. */ if (PFM_CMD_STOPPED(cmd)) { - if (task->state != TASK_STOPPED) { + if ((task->state != TASK_STOPPED) && (task->state != TASK_TRACED)) { DPRINT(("[%d] task not in stopped state\n", task->pid)); return -EBUSY; } @@ -4783,7 +4800,7 @@ recheck: * system-call entry point (must return long) */ asmlinkage long -sys_perfmonctl (int fd, int cmd, void *arg, int count, long arg5, long arg6, long arg7, +sys_perfmonctl (int fd, int cmd, void __user *arg, int count, long arg5, long arg6, long arg7, long arg8, long stack) { struct pt_regs *regs = (struct pt_regs *)&stack; @@ -6313,15 +6330,15 @@ pfm_flush_pmds(struct task_struct *task, pfm_context_t *ctx) */ is_self = ctx->ctx_task == task ? 1 : 0; -#ifdef CONFIG_SMP - if (task == current) { -#else /* - * in UP, the state can still be in the registers + * can access PMU is task is the owner of the PMU state on the current CPU + * or if we are running on the CPU bound to the context in system-wide mode + * (that is not necessarily the task the context is attached to in this mode). + * In system-wide we always have can_access_pmu true because a task running on an + * invalid processor is flagged earlier in the call stack (see pfm_stop). */ - if (task == current || GET_PMU_OWNER() == task) { -#endif - can_access_pmu = 1; + can_access_pmu = (GET_PMU_OWNER() == task) || (ctx->ctx_fl_system && ctx->ctx_cpu == smp_processor_id()); + if (can_access_pmu) { /* * Mark the PMU as not owned * This will cause the interrupt handler to do nothing in case an overflow @@ -6331,6 +6348,7 @@ pfm_flush_pmds(struct task_struct *task, pfm_context_t *ctx) * on. */ SET_PMU_OWNER(NULL, NULL); + DPRINT(("releasing ownership\n")); /* * read current overflow status: diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c index 842c95b8a..56ffa1a5d 100644 --- a/arch/ia64/kernel/process.c +++ b/arch/ia64/kernel/process.c @@ -74,12 +74,12 @@ void show_stack (struct task_struct *task, unsigned long *sp) { if (!task) - unw_init_running(ia64_do_show_stack, 0); + unw_init_running(ia64_do_show_stack, NULL); else { struct unw_frame_info info; unw_init_from_blocked_task(&info, task); - ia64_do_show_stack(&info, 0); + ia64_do_show_stack(&info, NULL); } } @@ -138,7 +138,7 @@ show_regs (struct pt_regs *regs) ndirty = (regs->loadrs >> 19); bsp = ia64_rse_skip_regs((unsigned long *) regs->ar_bspstore, ndirty); for (i = 0; i < sof; ++i) { - get_user(val, ia64_rse_skip_regs(bsp, i)); + get_user(val, (unsigned long __user *) ia64_rse_skip_regs(bsp, i)); printk("r%-3u:%c%016lx%s", 32 + i, is_nat ? '*' : ' ', val, ((i == sof - 1) || (i % 3) == 2) ? "\n" : " "); } @@ -228,18 +228,26 @@ cpu_idle (void *unused) /* endless idle loop with no priority at all */ while (1) { - void (*idle)(void) = pm_idle; - if (!idle) - idle = default_idle; - #ifdef CONFIG_SMP if (!need_resched()) min_xtp(); #endif while (!need_resched()) { + void (*idle)(void); + if (mark_idle) (*mark_idle)(1); + /* + * Mark this as an RCU critical section so that + * synchronize_kernel() in the unload path waits + * for our completion. + */ + rcu_read_lock(); + idle = pm_idle; + if (!idle) + idle = default_idle; (*idle)(); + rcu_read_unlock(); } if (mark_idle) @@ -602,16 +610,18 @@ dump_fpu (struct pt_regs *pt, elf_fpregset_t dst) } asmlinkage long -sys_execve (char *filename, char **argv, char **envp, struct pt_regs *regs) +sys_execve (char __user *filename, char __user * __user *argv, char __user * __user *envp, + struct pt_regs *regs) { + char *fname; int error; - filename = getname(filename); - error = PTR_ERR(filename); - if (IS_ERR(filename)) + fname = getname(filename); + error = PTR_ERR(fname); + if (IS_ERR(fname)) goto out; - error = do_execve(filename, argv, envp, regs); - putname(filename); + error = do_execve(fname, argv, envp, regs); + putname(fname); out: return error; } @@ -743,7 +753,7 @@ cpu_halt (void) void machine_restart (char *restart_cmd) { - (*efi.reset_system)(EFI_RESET_WARM, 0, 0, 0); + (*efi.reset_system)(EFI_RESET_WARM, 0, 0, NULL); } EXPORT_SYMBOL(machine_restart); diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c index 4ca33dfb8..4c630da10 100644 --- a/arch/ia64/kernel/ptrace.c +++ b/arch/ia64/kernel/ptrace.c @@ -152,7 +152,7 @@ ia64_increment_ip (struct pt_regs *regs) ri = 0; regs->cr_iip += 16; } else if (ri == 2) { - get_user(w0, (char *) regs->cr_iip + 0); + get_user(w0, (char __user *) regs->cr_iip + 0); if (((w0 >> 1) & 0xf) == IA64_MLX_TEMPLATE) { /* * rfi'ing to slot 2 of an MLX bundle causes @@ -174,7 +174,7 @@ ia64_decrement_ip (struct pt_regs *regs) if (ia64_psr(regs)->ri == 0) { regs->cr_iip -= 16; ri = 2; - get_user(w0, (char *) regs->cr_iip + 0); + get_user(w0, (char __user *) regs->cr_iip + 0); if (((w0 >> 1) & 0xf) == IA64_MLX_TEMPLATE) { /* * rfi'ing to slot 2 of an MLX bundle causes @@ -833,7 +833,7 @@ access_uarea (struct task_struct *child, unsigned long addr, unsigned long *data case PT_CFM: urbs_end = ia64_get_user_rbs_end(child, pt, &cfm); if (write_access) { - if (((cfm ^ *data) & 0x3fffffffffU) != 0) { + if (((cfm ^ *data) & 0x3fffffffffUL) != 0) { if (ia64_sync_user_rbs(child, sw, pt->ar_bspstore, urbs_end) < 0) return -1; @@ -997,12 +997,14 @@ access_uarea (struct task_struct *child, unsigned long addr, unsigned long *data } static long -ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) +ptrace_getregs (struct task_struct *child, struct pt_all_user_regs __user *ppr) { + unsigned long psr, ec, lc, rnat, bsp, cfm, nat_bits, val; + struct unw_frame_info info; + struct ia64_fpreg fpval; struct switch_stack *sw; struct pt_regs *pt; long ret, retval; - struct unw_frame_info info; char nat = 0; int i; @@ -1023,12 +1025,21 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) return -EIO; } + if (access_uarea(child, PT_CR_IPSR, &psr, 0) < 0 + || access_uarea(child, PT_AR_EC, &ec, 0) < 0 + || access_uarea(child, PT_AR_LC, &lc, 0) < 0 + || access_uarea(child, PT_AR_RNAT, &rnat, 0) < 0 + || access_uarea(child, PT_AR_BSP, &bsp, 0) < 0 + || access_uarea(child, PT_CFM, &cfm, 0) + || access_uarea(child, PT_NAT_BITS, &nat_bits, 0)) + return -EIO; + retval = 0; /* control regs */ retval |= __put_user(pt->cr_iip, &ppr->cr_iip); - retval |= access_uarea(child, PT_CR_IPSR, &ppr->cr_ipsr, 0); + retval |= __put_user(psr, &ppr->cr_ipsr); /* app regs */ @@ -1039,11 +1050,11 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) retval |= __put_user(pt->ar_ccv, &ppr->ar[PT_AUR_CCV]); retval |= __put_user(pt->ar_fpsr, &ppr->ar[PT_AUR_FPSR]); - retval |= access_uarea(child, PT_AR_EC, &ppr->ar[PT_AUR_EC], 0); - retval |= access_uarea(child, PT_AR_LC, &ppr->ar[PT_AUR_LC], 0); - retval |= access_uarea(child, PT_AR_RNAT, &ppr->ar[PT_AUR_RNAT], 0); - retval |= access_uarea(child, PT_AR_BSP, &ppr->ar[PT_AUR_BSP], 0); - retval |= access_uarea(child, PT_CFM, &ppr->cfm, 0); + retval |= __put_user(ec, &ppr->ar[PT_AUR_EC]); + retval |= __put_user(lc, &ppr->ar[PT_AUR_LC]); + retval |= __put_user(rnat, &ppr->ar[PT_AUR_RNAT]); + retval |= __put_user(bsp, &ppr->ar[PT_AUR_BSP]); + retval |= __put_user(cfm, &ppr->cfm); /* gr1-gr3 */ @@ -1053,7 +1064,9 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* gr4-gr7 */ for (i = 4; i < 8; i++) { - retval |= unw_access_gr(&info, i, &ppr->gr[i], &nat, 0); + if (unw_access_gr(&info, i, &val, &nat, 0) < 0) + return -EIO; + retval |= __put_user(val, &ppr->gr[i]); } /* gr8-gr11 */ @@ -1077,7 +1090,9 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* b1-b5 */ for (i = 1; i < 6; i++) { - retval |= unw_access_br(&info, i, &ppr->br[i], 0); + if (unw_access_br(&info, i, &val, 0) < 0) + return -EIO; + __put_user(val, &ppr->br[i]); } /* b6-b7 */ @@ -1088,8 +1103,9 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* fr2-fr5 */ for (i = 2; i < 6; i++) { - retval |= access_fr(&info, i, 0, (unsigned long *) &ppr->fr[i], 0); - retval |= access_fr(&info, i, 1, (unsigned long *) &ppr->fr[i] + 1, 0); + if (unw_get_fr(&info, i, &fpval) < 0) + return -EIO; + retval |= __copy_to_user(&ppr->fr[i], &fpval, sizeof (fpval)); } /* fr6-fr11 */ @@ -1103,8 +1119,9 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* fr16-fr31 */ for (i = 16; i < 32; i++) { - retval |= access_fr(&info, i, 0, (unsigned long *) &ppr->fr[i], 0); - retval |= access_fr(&info, i, 1, (unsigned long *) &ppr->fr[i] + 1, 0); + if (unw_get_fr(&info, i, &fpval) < 0) + return -EIO; + retval |= __copy_to_user(&ppr->fr[i], &fpval, sizeof (fpval)); } /* fph */ @@ -1118,22 +1135,25 @@ ptrace_getregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* nat bits */ - retval |= access_uarea(child, PT_NAT_BITS, &ppr->nat, 0); + retval |= __put_user(nat_bits, &ppr->nat); ret = retval ? -EIO : 0; return ret; } static long -ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) +ptrace_setregs (struct task_struct *child, struct pt_all_user_regs __user *ppr) { + unsigned long psr, ec, lc, rnat, bsp, cfm, nat_bits, val = 0; + struct unw_frame_info info; struct switch_stack *sw; + struct ia64_fpreg fpval; struct pt_regs *pt; long ret, retval; - struct unw_frame_info info; - char nat = 0; int i; + memset(&fpval, 0, sizeof(fpval)); + retval = verify_area(VERIFY_READ, ppr, sizeof(struct pt_all_user_regs)); if (retval != 0) { return -EIO; @@ -1156,7 +1176,7 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* control regs */ retval |= __get_user(pt->cr_iip, &ppr->cr_iip); - retval |= access_uarea(child, PT_CR_IPSR, &ppr->cr_ipsr, 1); + retval |= __get_user(psr, &ppr->cr_ipsr); /* app regs */ @@ -1167,11 +1187,11 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) retval |= __get_user(pt->ar_ccv, &ppr->ar[PT_AUR_CCV]); retval |= __get_user(pt->ar_fpsr, &ppr->ar[PT_AUR_FPSR]); - retval |= access_uarea(child, PT_AR_EC, &ppr->ar[PT_AUR_EC], 1); - retval |= access_uarea(child, PT_AR_LC, &ppr->ar[PT_AUR_LC], 1); - retval |= access_uarea(child, PT_AR_RNAT, &ppr->ar[PT_AUR_RNAT], 1); - retval |= access_uarea(child, PT_AR_BSP, &ppr->ar[PT_AUR_BSP], 1); - retval |= access_uarea(child, PT_CFM, &ppr->cfm, 1); + retval |= __get_user(ec, &ppr->ar[PT_AUR_EC]); + retval |= __get_user(lc, &ppr->ar[PT_AUR_LC]); + retval |= __get_user(rnat, &ppr->ar[PT_AUR_RNAT]); + retval |= __get_user(bsp, &ppr->ar[PT_AUR_BSP]); + retval |= __get_user(cfm, &ppr->cfm); /* gr1-gr3 */ @@ -1181,11 +1201,9 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* gr4-gr7 */ for (i = 4; i < 8; i++) { - long ret = unw_get_gr(&info, i, &ppr->gr[i], &nat); - if (ret < 0) { - return ret; - } - retval |= unw_access_gr(&info, i, &ppr->gr[i], &nat, 1); + retval |= __get_user(val, &ppr->gr[i]); + if (unw_set_gr(&info, i, val, 0) < 0) /* NaT bit will be set via PT_NAT_BITS */ + return -EIO; } /* gr8-gr11 */ @@ -1209,7 +1227,8 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* b1-b5 */ for (i = 1; i < 6; i++) { - retval |= unw_access_br(&info, i, &ppr->br[i], 1); + retval |= __get_user(val, &ppr->br[i]); + unw_set_br(&info, i, val); } /* b6-b7 */ @@ -1220,8 +1239,9 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* fr2-fr5 */ for (i = 2; i < 6; i++) { - retval |= access_fr(&info, i, 0, (unsigned long *) &ppr->fr[i], 1); - retval |= access_fr(&info, i, 1, (unsigned long *) &ppr->fr[i] + 1, 1); + retval |= __copy_from_user(&fpval, &ppr->fr[i], sizeof(fpval)); + if (unw_set_fr(&info, i, fpval) < 0) + return -EIO; } /* fr6-fr11 */ @@ -1235,8 +1255,9 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* fr16-fr31 */ for (i = 16; i < 32; i++) { - retval |= access_fr(&info, i, 0, (unsigned long *) &ppr->fr[i], 1); - retval |= access_fr(&info, i, 1, (unsigned long *) &ppr->fr[i] + 1, 1); + retval |= __copy_from_user(&fpval, &ppr->fr[i], sizeof(fpval)); + if (unw_set_fr(&info, i, fpval) < 0) + return -EIO; } /* fph */ @@ -1250,7 +1271,15 @@ ptrace_setregs (struct task_struct *child, struct pt_all_user_regs *ppr) /* nat bits */ - retval |= access_uarea(child, PT_NAT_BITS, &ppr->nat, 1); + retval |= __get_user(nat_bits, &ppr->nat); + + retval |= access_uarea(child, PT_CR_IPSR, &psr, 1); + retval |= access_uarea(child, PT_AR_EC, &ec, 1); + retval |= access_uarea(child, PT_AR_LC, &lc, 1); + retval |= access_uarea(child, PT_AR_RNAT, &rnat, 1); + retval |= access_uarea(child, PT_AR_BSP, &bsp, 1); + retval |= access_uarea(child, PT_CFM, &cfm, 1); + retval |= access_uarea(child, PT_NAT_BITS, &nat_bits, 1); ret = retval ? -EIO : 0; return ret; @@ -1396,7 +1425,7 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data, * sigkill. Perhaps it should be put in the status * that it wants to exit. */ - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ goto out_tsk; child->exit_code = SIGKILL; @@ -1432,11 +1461,11 @@ sys_ptrace (long request, pid_t pid, unsigned long addr, unsigned long data, goto out_tsk; case PTRACE_GETREGS: - ret = ptrace_getregs(child, (struct pt_all_user_regs*) data); + ret = ptrace_getregs(child, (struct pt_all_user_regs __user *) data); goto out_tsk; case PTRACE_SETREGS: - ret = ptrace_setregs(child, (struct pt_all_user_regs*) data); + ret = ptrace_setregs(child, (struct pt_all_user_regs __user *) data); goto out_tsk; default: diff --git a/arch/ia64/kernel/sal.c b/arch/ia64/kernel/sal.c index dcbc07ec3..3ec0d2d22 100644 --- a/arch/ia64/kernel/sal.c +++ b/arch/ia64/kernel/sal.c @@ -10,6 +10,7 @@ #include #include +#include #include #include @@ -262,3 +263,40 @@ ia64_sal_init (struct ia64_sal_systab *systab) p += SAL_DESC_SIZE(*p); } } + +int +ia64_sal_oemcall(struct ia64_sal_retval *isrvp, u64 oemfunc, u64 arg1, + u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6, u64 arg7) +{ + if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX) + return -1; + SAL_CALL(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + return 0; +} +EXPORT_SYMBOL(ia64_sal_oemcall); + +int +ia64_sal_oemcall_nolock(struct ia64_sal_retval *isrvp, u64 oemfunc, u64 arg1, + u64 arg2, u64 arg3, u64 arg4, u64 arg5, u64 arg6, + u64 arg7) +{ + if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX) + return -1; + SAL_CALL_NOLOCK(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6, + arg7); + return 0; +} +EXPORT_SYMBOL(ia64_sal_oemcall_nolock); + +int +ia64_sal_oemcall_reentrant(struct ia64_sal_retval *isrvp, u64 oemfunc, + u64 arg1, u64 arg2, u64 arg3, u64 arg4, u64 arg5, + u64 arg6, u64 arg7) +{ + if (oemfunc < IA64_SAL_OEMFUNC_MIN || oemfunc > IA64_SAL_OEMFUNC_MAX) + return -1; + SAL_CALL_REENTRANT(*isrvp, oemfunc, arg1, arg2, arg3, arg4, arg5, arg6, + arg7); + return 0; +} +EXPORT_SYMBOL(ia64_sal_oemcall_reentrant); diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index 8aff39de1..da88d284e 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c @@ -680,7 +680,7 @@ cpu_init (void) break; } - if (ia64_pal_rse_info(&num_phys_stacked, 0) != 0) { + if (ia64_pal_rse_info(&num_phys_stacked, NULL) != 0) { printk(KERN_WARNING "cpu_init: PAL RSE info failed; assuming 96 physical " "stacked regs\n"); num_phys_stacked = 96; diff --git a/arch/ia64/kernel/signal.c b/arch/ia64/kernel/signal.c index 5a609295a..135cb55b1 100644 --- a/arch/ia64/kernel/signal.c +++ b/arch/ia64/kernel/signal.c @@ -1,7 +1,7 @@ /* * Architecture-specific signal handling support. * - * Copyright (C) 1999-2003 Hewlett-Packard Co + * Copyright (C) 1999-2004 Hewlett-Packard Co * David Mosberger-Tang * * Derived from i386 and Alpha versions. @@ -43,7 +43,7 @@ #endif long -ia64_rt_sigsuspend (sigset_t *uset, size_t sigsetsize, struct sigscratch *scr) +ia64_rt_sigsuspend (sigset_t __user *uset, size_t sigsetsize, struct sigscratch *scr) { sigset_t oldset, set; @@ -84,7 +84,7 @@ ia64_rt_sigsuspend (sigset_t *uset, size_t sigsetsize, struct sigscratch *scr) } asmlinkage long -sys_sigaltstack (const stack_t *uss, stack_t *uoss, long arg2, long arg3, long arg4, +sys_sigaltstack (const stack_t __user *uss, stack_t __user *uoss, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long stack) { struct pt_regs *pt = (struct pt_regs *) &stack; @@ -93,7 +93,7 @@ sys_sigaltstack (const stack_t *uss, stack_t *uoss, long arg2, long arg3, long a } static long -restore_sigcontext (struct sigcontext *sc, struct sigscratch *scr) +restore_sigcontext (struct sigcontext __user *sc, struct sigscratch *scr) { unsigned long ip, flags, nat, um, cfm; long err; @@ -155,7 +155,7 @@ restore_sigcontext (struct sigcontext *sc, struct sigscratch *scr) } int -copy_siginfo_to_user (siginfo_t *to, siginfo_t *from) +copy_siginfo_to_user (siginfo_t __user *to, siginfo_t *from) { if (!access_ok(VERIFY_WRITE, to, sizeof(siginfo_t))) return -EFAULT; @@ -211,12 +211,12 @@ long ia64_rt_sigreturn (struct sigscratch *scr) { extern char ia64_strace_leave_kernel, ia64_leave_kernel; - struct sigcontext *sc; + struct sigcontext __user *sc; struct siginfo si; sigset_t set; long retval; - sc = &((struct sigframe *) (scr->pt.r12 + 16))->sc; + sc = &((struct sigframe __user *) (scr->pt.r12 + 16))->sc; /* * When we return to the previously executing context, r8 and r10 have already @@ -260,7 +260,7 @@ ia64_rt_sigreturn (struct sigscratch *scr) * It is more difficult to avoid calling this function than to * call it and ignore errors. */ - do_sigaltstack(&sc->sc_stack, 0, scr->pt.r12); + do_sigaltstack(&sc->sc_stack, NULL, scr->pt.r12); return retval; give_sigsegv: @@ -281,7 +281,7 @@ ia64_rt_sigreturn (struct sigscratch *scr) * trampoline starts. Everything else is done at the user-level. */ static long -setup_sigcontext (struct sigcontext *sc, sigset_t *mask, struct sigscratch *scr) +setup_sigcontext (struct sigcontext __user *sc, sigset_t *mask, struct sigscratch *scr) { unsigned long flags = 0, ifs, cfm, nat; long err; @@ -335,7 +335,7 @@ setup_sigcontext (struct sigcontext *sc, sigset_t *mask, struct sigscratch *scr) err |= __put_user(scr->pt.ar_ccv, &sc->sc_ar_ccv); /* ar.ccv */ err |= __put_user(scr->pt.b7, &sc->sc_br[7]); /* b7 */ err |= __put_user(scr->pt.r14, &sc->sc_gr[14]); /* r14 */ - err |= __copy_to_user(&scr->pt.ar_csd, &sc->sc_ar25, 2*8); /* ar.csd & ar.ssd */ + err |= __copy_to_user(&sc->sc_ar25, &scr->pt.ar_csd, 2*8); /* ar.csd & ar.ssd */ err |= __copy_to_user(&sc->sc_gr[2], &scr->pt.r2, 2*8); /* r2-r3 */ err |= __copy_to_user(&sc->sc_gr[16], &scr->pt.r16, 16*8); /* r16-r31 */ } @@ -351,21 +351,50 @@ rbs_on_sig_stack (unsigned long bsp) return (bsp - current->sas_ss_sp < current->sas_ss_size); } +static long +force_sigsegv_info (int sig, void __user *addr) +{ + unsigned long flags; + struct siginfo si; + + if (sig == SIGSEGV) { + /* + * Acquiring siglock around the sa_handler-update is almost + * certainly overkill, but this isn't a + * performance-critical path and I'd rather play it safe + * here than having to debug a nasty race if and when + * something changes in kernel/signal.c that would make it + * no longer safe to modify sa_handler without holding the + * lock. + */ + spin_lock_irqsave(¤t->sighand->siglock, flags); + current->sighand->action[sig - 1].sa.sa_handler = SIG_DFL; + spin_unlock_irqrestore(¤t->sighand->siglock, flags); + } + si.si_signo = SIGSEGV; + si.si_errno = 0; + si.si_code = SI_KERNEL; + si.si_pid = current->pid; + si.si_uid = current->uid; + si.si_addr = addr; + force_sig_info(SIGSEGV, &si, current); + return 0; +} + static long setup_frame (int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, struct sigscratch *scr) { extern char __kernel_sigtramp[]; unsigned long tramp_addr, new_rbs = 0; - struct sigframe *frame; - struct siginfo si; + struct sigframe __user *frame; long err; - frame = (void *) scr->pt.r12; + frame = (void __user *) scr->pt.r12; tramp_addr = (unsigned long) __kernel_sigtramp; if ((ka->sa.sa_flags & SA_ONSTACK) && sas_ss_flags((unsigned long) frame) == 0) { - frame = (void *) ((current->sas_ss_sp + current->sas_ss_size) - & ~(STACK_ALIGN - 1)); + frame = (void __user *) ((current->sas_ss_sp + current->sas_ss_size) + & ~(STACK_ALIGN - 1)); /* * We need to check for the register stack being on the signal stack * separately, because it's switched separately (memory stack is switched @@ -374,10 +403,10 @@ setup_frame (int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, if (!rbs_on_sig_stack(scr->pt.ar_bspstore)) new_rbs = (current->sas_ss_sp + sizeof(long) - 1) & ~(sizeof(long) - 1); } - frame = (void *) frame - ((sizeof(*frame) + STACK_ALIGN - 1) & ~(STACK_ALIGN - 1)); + frame = (void __user *) frame - ((sizeof(*frame) + STACK_ALIGN - 1) & ~(STACK_ALIGN - 1)); if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) - goto give_sigsegv; + return force_sigsegv_info(sig, frame); err = __put_user(sig, &frame->arg0); err |= __put_user(&frame->info, &frame->arg1); @@ -393,8 +422,8 @@ setup_frame (int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, err |= __put_user(sas_ss_flags(scr->pt.r12), &frame->sc.sc_stack.ss_flags); err |= setup_sigcontext(&frame->sc, set, scr); - if (err) - goto give_sigsegv; + if (unlikely(err)) + return force_sigsegv_info(sig, frame); scr->pt.r12 = (unsigned long) frame - 16; /* new stack pointer */ scr->pt.ar_fpsr = FPSR_DEFAULT; /* reset fpsr for signal handler */ @@ -422,18 +451,6 @@ setup_frame (int sig, struct k_sigaction *ka, siginfo_t *info, sigset_t *set, current->comm, current->pid, sig, scr->pt.r12, frame->sc.sc_ip, frame->handler); #endif return 1; - - give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - si.si_signo = SIGSEGV; - si.si_errno = 0; - si.si_code = SI_KERNEL; - si.si_pid = current->pid; - si.si_uid = current->uid; - si.si_addr = frame; - force_sig_info(SIGSEGV, &si, current); - return 0; } static long @@ -449,9 +466,6 @@ handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigse if (!setup_frame(sig, ka, info, oldset, scr)) return 0; - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; - if (!(ka->sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); { @@ -471,7 +485,7 @@ handle_signal (unsigned long sig, struct k_sigaction *ka, siginfo_t *info, sigse long ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall) { - struct k_sigaction *ka; + struct k_sigaction ka; siginfo_t info; long restart = in_syscall; long errno = scr->pt.r8; @@ -493,7 +507,7 @@ ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall) * need to push through a forced SIGSEGV. */ while (1) { - int signr = get_signal_to_deliver(&info, &scr->pt, NULL); + int signr = get_signal_to_deliver(&info, &ka, &scr->pt, NULL); /* * get_signal_to_deliver() may have run a debugger (via notify_parent()) @@ -520,8 +534,6 @@ ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall) if (signr <= 0) break; - ka = ¤t->sighand->action[signr - 1]; - if (unlikely(restart)) { switch (errno) { case ERESTART_RESTARTBLOCK: @@ -531,7 +543,7 @@ ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall) break; case ERESTARTSYS: - if ((ka->sa.sa_flags & SA_RESTART) == 0) { + if ((ka.sa.sa_flags & SA_RESTART) == 0) { scr->pt.r8 = ERR_CODE(EINTR); /* note: scr->pt.r10 is already -1 */ break; @@ -550,7 +562,7 @@ ia64_do_signal (sigset_t *oldset, struct sigscratch *scr, long in_syscall) * Whee! Actually deliver the signal. If the delivery failed, we need to * continue to iterate in this loop so we can deliver the SIGSEGV... */ - if (handle_signal(signr, ka, &info, oldset, scr)) + if (handle_signal(signr, &ka, &info, oldset, scr)) return 1; } diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c index 99f008853..14134f2e3 100644 --- a/arch/ia64/kernel/smp.c +++ b/arch/ia64/kernel/smp.c @@ -225,7 +225,7 @@ smp_send_reschedule (int cpu) void smp_flush_tlb_all (void) { - on_each_cpu((void (*)(void *))local_flush_tlb_all, 0, 1, 1); + on_each_cpu((void (*)(void *))local_flush_tlb_all, NULL, 1, 1); } EXPORT_SYMBOL(smp_flush_tlb_all); diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c index 9a0f79233..f0dd8c3dc 100644 --- a/arch/ia64/kernel/smpboot.c +++ b/arch/ia64/kernel/smpboot.c @@ -356,19 +356,15 @@ start_secondary (void *unused) return cpu_idle(); } -static struct task_struct * __devinit -fork_by_hand (void) +struct pt_regs * __devinit idle_regs(struct pt_regs *regs) { - /* - * Don't care about the IP and regs settings since we'll never reschedule the - * forked task. - */ - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, 0, 0, NULL, NULL); + return NULL; } struct create_idle { struct task_struct *idle; struct completion done; + int cpu; }; void @@ -376,7 +372,7 @@ do_fork_idle(void *_c_idle) { struct create_idle *c_idle = _c_idle; - c_idle->idle = fork_by_hand(); + c_idle->idle = fork_idle(c_idle->cpu); complete(&c_idle->done); } @@ -384,10 +380,11 @@ static int __devinit do_boot_cpu (int sapicid, int cpu) { int timeout; - struct create_idle c_idle; + struct create_idle c_idle = { + .cpu = cpu, + .done = COMPLETION_INITIALIZER(c_idle.done), + }; DECLARE_WORK(work, do_fork_idle, &c_idle); - - init_completion(&c_idle.done); /* * We can't use kernel_thread since we must avoid to reschedule the child. */ @@ -400,16 +397,6 @@ do_boot_cpu (int sapicid, int cpu) if (IS_ERR(c_idle.idle)) panic("failed fork for CPU %d", cpu); - wake_up_forked_process(c_idle.idle); - - /* - * We remove it from the pidhash and the runqueue - * once we got the process: - */ - init_idle(c_idle.idle, cpu); - - unhash_process(c_idle.idle); - task_for_booting_cpu = c_idle.idle; Dprintk("Sending wakeup vector %lu to AP 0x%x/0x%x.\n", ap_wakeup_vector, cpu, sapicid); @@ -719,3 +706,4 @@ init_smp_config(void) printk(KERN_ERR "SMP: Can't set SAL AP Boot Rendezvous: %s\n", ia64_sal_strerror(sal_ret)); } + diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index e33bcb661..bd34fe9fc 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c @@ -45,193 +45,12 @@ EXPORT_SYMBOL(last_cli_ip); #endif -static void -itc_reset (void) -{ -} - -/* - * Adjust for the fact that xtime has been advanced by delta_nsec (may be negative and/or - * larger than NSEC_PER_SEC. - */ -static void -itc_update (long delta_nsec) -{ -} - -/* - * Return the number of nano-seconds that elapsed since the last - * update to jiffy. It is quite possible that the timer interrupt - * will interrupt this and result in a race for any of jiffies, - * wall_jiffies or itm_next. Thus, the xtime_lock must be at least - * read synchronised when calling this routine (see do_gettimeofday() - * below for an example). - */ -unsigned long -itc_get_offset (void) -{ - unsigned long elapsed_cycles, lost = jiffies - wall_jiffies; - unsigned long now = ia64_get_itc(), last_tick; - - last_tick = (cpu_data(TIME_KEEPER_ID)->itm_next - - (lost + 1)*cpu_data(TIME_KEEPER_ID)->itm_delta); - - elapsed_cycles = now - last_tick; - return (elapsed_cycles*local_cpu_data->nsec_per_cyc) >> IA64_NSEC_PER_CYC_SHIFT; -} - static struct time_interpolator itc_interpolator = { - .get_offset = itc_get_offset, - .update = itc_update, - .reset = itc_reset + .shift = 16, + .mask = 0xffffffffffffffffLL, + .source = TIME_SOURCE_CPU }; -int -do_settimeofday (struct timespec *tv) -{ - time_t wtm_sec, sec = tv->tv_sec; - long wtm_nsec, nsec = tv->tv_nsec; - - if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) - return -EINVAL; - - write_seqlock_irq(&xtime_lock); - { - /* - * This is revolting. We need to set "xtime" correctly. However, the value - * in this location is the value at the most recent update of wall time. - * Discover what correction gettimeofday would have done, and then undo - * it! - */ - nsec -= time_interpolator_get_offset(); - - wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec); - wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec); - - set_normalized_timespec(&xtime, sec, nsec); - set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec); - - time_adjust = 0; /* stop active adjtime() */ - time_status |= STA_UNSYNC; - time_maxerror = NTP_PHASE_LIMIT; - time_esterror = NTP_PHASE_LIMIT; - time_interpolator_reset(); - } - write_sequnlock_irq(&xtime_lock); - clock_was_set(); - return 0; -} - -EXPORT_SYMBOL(do_settimeofday); - -void -do_gettimeofday (struct timeval *tv) -{ - unsigned long seq, nsec, usec, sec, old, offset; - - while (1) { - seq = read_seqbegin(&xtime_lock); - { - old = last_nsec_offset; - offset = time_interpolator_get_offset(); - sec = xtime.tv_sec; - nsec = xtime.tv_nsec; - } - if (unlikely(read_seqretry(&xtime_lock, seq))) - continue; - /* - * Ensure that for any pair of causally ordered gettimeofday() calls, time - * never goes backwards (even when ITC on different CPUs are not perfectly - * synchronized). (A pair of concurrent calls to gettimeofday() is by - * definition non-causal and hence it makes no sense to talk about - * time-continuity for such calls.) - * - * Doing this in a lock-free and race-free manner is tricky. Here is why - * it works (most of the time): read_seqretry() just succeeded, which - * implies we calculated a consistent (valid) value for "offset". If the - * cmpxchg() below succeeds, we further know that last_nsec_offset still - * has the same value as at the beginning of the loop, so there was - * presumably no timer-tick or other updates to last_nsec_offset in the - * meantime. This isn't 100% true though: there _is_ a possibility of a - * timer-tick occurring right right after read_seqretry() and then getting - * zero or more other readers which will set last_nsec_offset to the same - * value as the one we read at the beginning of the loop. If this - * happens, we'll end up returning a slightly newer time than we ought to - * (the jump forward is at most "offset" nano-seconds). There is no - * danger of causing time to go backwards, though, so we are safe in that - * sense. We could make the probability of this unlucky case occurring - * arbitrarily small by encoding a version number in last_nsec_offset, but - * even without versioning, the probability of this unlucky case should be - * so small that we won't worry about it. - */ - if (offset <= old) { - offset = old; - break; - } else if (likely(cmpxchg(&last_nsec_offset, old, offset) == old)) - break; - - /* someone else beat us to updating last_nsec_offset; try again */ - } - - usec = (nsec + offset) / 1000; - - while (unlikely(usec >= USEC_PER_SEC)) { - usec -= USEC_PER_SEC; - ++sec; - } - - tv->tv_sec = sec; - tv->tv_usec = usec; -} - -EXPORT_SYMBOL(do_gettimeofday); - -/* - * The profiling function is SMP safe. (nothing can mess - * around with "current", and the profiling counters are - * updated with atomic operations). This is especially - * useful with a profiling multiplier != 1 - */ -static inline void -ia64_do_profile (struct pt_regs * regs) -{ - unsigned long ip, slot; - extern cpumask_t prof_cpu_mask; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; - - ip = instruction_pointer(regs); - /* Conserve space in histogram by encoding slot bits in address - * bits 2 and 3 rather than bits 0 and 1. - */ - slot = ip & 3; - ip = (ip & ~3UL) + 4*slot; - - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!cpu_isset(smp_processor_id(), prof_cpu_mask)) - return; - - ip -= (unsigned long) &_stext; - ip >>= prof_shift; - /* - * Don't ignore out-of-bounds IP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (ip > prof_len-1) - ip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[ip]); -} - static irqreturn_t timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) { @@ -249,7 +68,7 @@ timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) printk(KERN_ERR "Oops: timer tick before it's due (itc=%lx,itm=%lx)\n", ia64_get_itc(), new_itm); - ia64_do_profile(regs); + profile_tick(CPU_PROFILING, regs); while (1) { #ifdef CONFIG_SMP @@ -323,6 +142,18 @@ ia64_cpu_local_tick (void) ia64_set_itm(local_cpu_data->itm_next); } +static int nojitter; + +static int __init nojitter_setup(char *str) +{ + nojitter = 1; + printk("Jitter checking for ITC timers disabled\n"); + return 1; +} + +__setup("nojitter", nojitter_setup); + + void __devinit ia64_init_itm (void) { @@ -340,7 +171,7 @@ ia64_init_itm (void) if (status != 0) { printk(KERN_ERR "SAL_FREQ_BASE_PLATFORM failed: %s\n", ia64_sal_strerror(status)); } else { - status = ia64_pal_freq_ratios(&proc_ratio, 0, &itc_ratio); + status = ia64_pal_freq_ratios(&proc_ratio, NULL, &itc_ratio); if (status != 0) printk(KERN_ERR "PAL_FREQ_RATIOS failed with status=%ld\n", status); } @@ -371,7 +202,7 @@ ia64_init_itm (void) itc_drift = -1; local_cpu_data->itm_delta = (itc_freq + HZ/2) / HZ; - printk(KERN_INFO "CPU %d: base freq=%lu.%03luMHz, ITC ratio=%lu/%lu, " + printk(KERN_DEBUG "CPU %d: base freq=%lu.%03luMHz, ITC ratio=%lu/%lu, " "ITC freq=%lu.%03luMHz+/-%ldppm\n", smp_processor_id(), platform_base_freq / 1000000, (platform_base_freq / 1000) % 1000, itc_ratio.num, itc_ratio.den, itc_freq / 1000000, (itc_freq / 1000) % 1000, @@ -386,6 +217,19 @@ ia64_init_itm (void) if (!(sal_platform_features & IA64_SAL_PLATFORM_FEATURE_ITC_DRIFT)) { itc_interpolator.frequency = local_cpu_data->itc_freq; itc_interpolator.drift = itc_drift; +#ifdef CONFIG_SMP + /* On IA64 in an SMP configuration ITCs are never accurately synchronized. + * Jitter compensation requires a cmpxchg which may limit + * the scalability of the syscalls for retrieving time. + * The ITC synchronization is usually successful to within a few + * ITC ticks but this is not a sure thing. If you need to improve + * timer performance in SMP situations then boot the kernel with the + * "nojitter" option. However, doing so may result in time fluctuating (maybe + * even going backward) if the ITC offsets between the individual CPUs + * are too large. + */ + if (!nojitter) itc_interpolator.jitter = 1; +#endif register_time_interpolator(&itc_interpolator); } diff --git a/arch/ia64/kernel/traps.c b/arch/ia64/kernel/traps.c index e0a9fcdac..3dd9b1dc7 100644 --- a/arch/ia64/kernel/traps.c +++ b/arch/ia64/kernel/traps.c @@ -14,9 +14,9 @@ #include #include /* For unblank_screen() */ #include /* for EXPORT_SYMBOL */ +#include #include -#include #include #include #include @@ -92,13 +92,6 @@ die (const char *str, struct pt_regs *regs, long err) } else printk(KERN_ERR "Recursive die() failure, output suppressed\n"); - if (netdump_func) - netdump_func(regs); - if (panic_on_oops) { - if (netdump_func) - netdump_func = NULL; - panic("Fatal exception"); - } bust_spinlocks(0); die.lock_owner = -1; spin_unlock_irq(&die.lock); @@ -119,7 +112,7 @@ ia64_bad_break (unsigned long break_num, struct pt_regs *regs) int sig, code; /* SIGILL, SIGFPE, SIGSEGV, and SIGBUS want these field initialized: */ - siginfo.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); siginfo.si_imm = break_num; siginfo.si_flags = 0; /* clear __ISR_VALID */ siginfo.si_isr = 0; @@ -289,7 +282,7 @@ handle_fpu_swa (int fp_fault, struct pt_regs *regs, unsigned long isr) fault_ip = regs->cr_iip; if (!fp_fault && (ia64_psr(regs)->ri == 0)) fault_ip -= 16; - if (copy_from_user(bundle, (void *) fault_ip, sizeof(bundle))) + if (copy_from_user(bundle, (void __user *) fault_ip, sizeof(bundle))) return -1; if (jiffies - last_time > 5*HZ) @@ -319,7 +312,7 @@ handle_fpu_swa (int fp_fault, struct pt_regs *regs, unsigned long isr) siginfo.si_signo = SIGFPE; siginfo.si_errno = 0; siginfo.si_code = __SI_FAULT; /* default code */ - siginfo.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); if (isr & 0x11) { siginfo.si_code = FPE_FLTINV; } else if (isr & 0x22) { @@ -343,7 +336,7 @@ handle_fpu_swa (int fp_fault, struct pt_regs *regs, unsigned long isr) siginfo.si_signo = SIGFPE; siginfo.si_errno = 0; siginfo.si_code = __SI_FAULT; /* default code */ - siginfo.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); if (isr & 0x880) { siginfo.si_code = FPE_FLTOVF; } else if (isr & 0x1100) { @@ -390,7 +383,7 @@ ia64_illegal_op_fault (unsigned long ec, unsigned long arg1, unsigned long arg2, memset(&si, 0, sizeof(si)); si.si_signo = SIGILL; si.si_code = ILL_ILLOPC; - si.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + si.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); force_sig_info(SIGILL, &si, current); rv.fkt = 0; return rv; @@ -452,18 +445,18 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa, case 26: /* NaT Consumption */ if (user_mode(regs)) { - void *addr; + void __user *addr; if (((isr >> 4) & 0xf) == 2) { /* NaT page consumption */ sig = SIGSEGV; code = SEGV_ACCERR; - addr = (void *) ifa; + addr = (void __user *) ifa; } else { /* register NaT consumption */ sig = SIGILL; code = ILL_ILLOPN; - addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); } siginfo.si_signo = sig; siginfo.si_code = code; @@ -484,7 +477,7 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa, siginfo.si_signo = SIGILL; siginfo.si_code = ILL_ILLOPN; siginfo.si_errno = 0; - siginfo.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); siginfo.si_imm = vector; siginfo.si_flags = __ISR_VALID; siginfo.si_isr = isr; @@ -531,7 +524,7 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa, } siginfo.si_signo = SIGTRAP; siginfo.si_errno = 0; - siginfo.si_addr = (void *) ifa; + siginfo.si_addr = (void __user *) ifa; siginfo.si_imm = 0; siginfo.si_flags = __ISR_VALID; siginfo.si_isr = isr; @@ -545,7 +538,7 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa, siginfo.si_signo = SIGFPE; siginfo.si_errno = 0; siginfo.si_code = FPE_FLTINV; - siginfo.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); siginfo.si_flags = __ISR_VALID; siginfo.si_isr = isr; siginfo.si_imm = 0; @@ -572,7 +565,8 @@ ia64_fault (unsigned long vector, unsigned long isr, unsigned long ifa, siginfo.si_flags = 0; siginfo.si_isr = 0; siginfo.si_imm = 0; - siginfo.si_addr = (void *) (regs->cr_iip + ia64_psr(regs)->ri); + siginfo.si_addr = (void __user *) + (regs->cr_iip + ia64_psr(regs)->ri); force_sig_info(SIGILL, &siginfo, current); return; } diff --git a/arch/ia64/kernel/unwind.c b/arch/ia64/kernel/unwind.c index 769d880df..69e095abe 100644 --- a/arch/ia64/kernel/unwind.c +++ b/arch/ia64/kernel/unwind.c @@ -47,7 +47,6 @@ #include "entry.h" #include "unwind_i.h" -#define MIN(a,b) ((a) < (b) ? (a) : (b)) #define p5 5 #define UNW_LOG_CACHE_SIZE 7 /* each unw_script is ~256 bytes in size */ @@ -447,7 +446,7 @@ EXPORT_SYMBOL(unw_access_br); int unw_access_fr (struct unw_frame_info *info, int regnum, struct ia64_fpreg *val, int write) { - struct ia64_fpreg *addr = 0; + struct ia64_fpreg *addr = NULL; struct pt_regs *pt; if ((unsigned) (regnum - 2) >= 126) { @@ -843,7 +842,7 @@ desc_prologue (int body, unw_word rlen, unsigned char mask, unsigned char grsave } sr->gr_save_loc = grsave; sr->any_spills = 0; - sr->imask = 0; + sr->imask = NULL; sr->spill_offset = 0x10; /* default to psp+16 */ } } @@ -963,13 +962,13 @@ static inline void desc_mem_stack_f (unw_word t, unw_word size, struct unw_state_record *sr) { set_reg(sr->curr.reg + UNW_REG_PSP, UNW_WHERE_NONE, - sr->region_start + MIN((int)t, sr->region_len - 1), 16*size); + sr->region_start + min_t(int, t, sr->region_len - 1), 16*size); } static inline void desc_mem_stack_v (unw_word t, struct unw_state_record *sr) { - sr->curr.reg[UNW_REG_PSP].when = sr->region_start + MIN((int)t, sr->region_len - 1); + sr->curr.reg[UNW_REG_PSP].when = sr->region_start + min_t(int, t, sr->region_len - 1); } static inline void @@ -1005,7 +1004,7 @@ desc_reg_when (unsigned char regnum, unw_word t, struct unw_state_record *sr) if (reg->where == UNW_WHERE_NONE) reg->where = UNW_WHERE_GR_SAVE; - reg->when = sr->region_start + MIN((int)t, sr->region_len - 1); + reg->when = sr->region_start + min_t(int, t, sr->region_len - 1); } static inline void @@ -1073,7 +1072,7 @@ desc_label_state (unw_word label, struct unw_state_record *sr) static inline int desc_is_active (unsigned char qp, unw_word t, struct unw_state_record *sr) { - if (sr->when_target <= sr->region_start + MIN((int)t, sr->region_len - 1)) + if (sr->when_target <= sr->region_start + min_t(int, t, sr->region_len - 1)) return 0; if (qp > 0) { if ((sr->pr_val & (1UL << qp)) == 0) @@ -1114,7 +1113,7 @@ desc_spill_reg_p (unsigned char qp, unw_word t, unsigned char abreg, unsigned ch r = sr->curr.reg + decode_abreg(abreg, 0); r->where = where; - r->when = sr->region_start + MIN((int)t, sr->region_len - 1); + r->when = sr->region_start + min_t(int, t, sr->region_len - 1); r->val = (ytreg & 0x7f); } @@ -1129,7 +1128,7 @@ desc_spill_psprel_p (unsigned char qp, unw_word t, unsigned char abreg, unw_word r = sr->curr.reg + decode_abreg(abreg, 1); r->where = UNW_WHERE_PSPREL; - r->when = sr->region_start + MIN((int)t, sr->region_len - 1); + r->when = sr->region_start + min_t(int, t, sr->region_len - 1); r->val = 0x10 - 4*pspoff; } @@ -1144,7 +1143,7 @@ desc_spill_sprel_p (unsigned char qp, unw_word t, unsigned char abreg, unw_word r = sr->curr.reg + decode_abreg(abreg, 1); r->where = UNW_WHERE_SPREL; - r->when = sr->region_start + MIN((int)t, sr->region_len - 1); + r->when = sr->region_start + min_t(int, t, sr->region_len - 1); r->val = 4*spoff; } @@ -1206,7 +1205,7 @@ desc_spill_sprel_p (unsigned char qp, unw_word t, unsigned char abreg, unw_word static inline unw_hash_index_t hash (unsigned long ip) { -# define hashmagic 0x9e3779b97f4a7c16 /* based on (sqrt(5)/2-1)*2^64 */ +# define hashmagic 0x9e3779b97f4a7c16UL /* based on (sqrt(5)/2-1)*2^64 */ return (ip >> 4)*hashmagic >> (64 - UNW_LOG_HASH_SIZE); #undef hashmagic @@ -1231,7 +1230,7 @@ script_lookup (struct unw_frame_info *info) unsigned long ip, pr; if (UNW_DEBUG_ON(0)) - return 0; /* Always regenerate scripts in debug mode */ + return NULL; /* Always regenerate scripts in debug mode */ STAT(++unw.stat.cache.lookups); @@ -1245,7 +1244,7 @@ script_lookup (struct unw_frame_info *info) index = unw.hash[hash(ip)]; if (index >= UNW_CACHE_SIZE) - return 0; + return NULL; script = unw.cache + index; while (1) { @@ -1256,7 +1255,7 @@ script_lookup (struct unw_frame_info *info) return script; } if (script->coll_chain >= UNW_HASH_SIZE) - return 0; + return NULL; script = unw.cache + script->coll_chain; STAT(++unw.stat.cache.collision_chain_traversals); } @@ -1306,7 +1305,7 @@ script_new (unsigned long ip) if (script->ip) { index = hash(script->ip); tmp = unw.cache + unw.hash[index]; - prev = 0; + prev = NULL; while (1) { if (tmp == script) { if (prev) @@ -1511,7 +1510,7 @@ compile_reg (struct unw_state_record *sr, int i, struct unw_script *script) static inline const struct unw_table_entry * lookup (struct unw_table *table, unsigned long rel_ip) { - const struct unw_table_entry *e = 0; + const struct unw_table_entry *e = NULL; unsigned long lo, hi, mid; /* do a binary search for right entry: */ @@ -1537,8 +1536,8 @@ lookup (struct unw_table *table, unsigned long rel_ip) static inline struct unw_script * build_script (struct unw_frame_info *info) { - const struct unw_table_entry *e = 0; - struct unw_script *script = 0; + const struct unw_table_entry *e = NULL; + struct unw_script *script = NULL; struct unw_labeled_state *ls, *next; unsigned long ip = info->ip; struct unw_state_record sr; @@ -1563,7 +1562,7 @@ build_script (struct unw_frame_info *info) if (!script) { UNW_DPRINT(0, "unwind.%s: failed to create unwind script\n", __FUNCTION__); STAT(unw.stat.script.build_time += ia64_get_itc() - start); - return 0; + return NULL; } unw.cache[info->prev_script].hint = script - unw.cache; @@ -1836,7 +1835,7 @@ find_save_locs (struct unw_frame_info *info) /* don't let obviously bad addresses pollute the cache */ /* FIXME: should really be level 0 but it occurs too often. KAO */ UNW_DPRINT(1, "unwind.%s: rejecting bad ip=0x%lx\n", __FUNCTION__, info->ip); - info->rp_loc = 0; + info->rp_loc = NULL; return -1; } @@ -2093,12 +2092,12 @@ unw_add_unwind_table (const char *name, unsigned long segment_base, unsigned lon if (end - start <= 0) { UNW_DPRINT(0, "unwind.%s: ignoring attempt to insert empty unwind table\n", __FUNCTION__); - return 0; + return NULL; } table = kmalloc(sizeof(*table), GFP_USER); if (!table) - return 0; + return NULL; init_unwind_table(table, name, segment_base, gp, table_start, table_end); @@ -2300,7 +2299,7 @@ unw_init (void) * EFAULT BUF points outside your accessible address space. */ asmlinkage long -sys_getunwind (void *buf, size_t buf_size) +sys_getunwind (void __user *buf, size_t buf_size) { if (buf && buf_size >= unw.gate_table_size) if (copy_to_user(buf, unw.gate_table, unw.gate_table_size) != 0) diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c index c0f8f4a3e..0f905a637 100644 --- a/arch/ia64/mm/contig.c +++ b/arch/ia64/mm/contig.c @@ -116,19 +116,19 @@ find_bootmap_location (unsigned long start, unsigned long end, void *arg) range_start = max(start, free_start); range_end = min(end, rsvd_region[i].start & PAGE_MASK); + free_start = PAGE_ALIGN(rsvd_region[i].end); + if (range_end <= range_start) continue; /* skip over empty range */ - if (range_end - range_start >= needed) { + if (range_end - range_start >= needed) { bootmap_start = __pa(range_start); - return 1; /* done */ + return -1; /* done */ } /* nothing more available in this segment */ if (range_end == end) return 0; - - free_start = PAGE_ALIGN(rsvd_region[i].end); } return 0; } @@ -267,9 +267,8 @@ paging_init (void) efi_memmap_walk(find_largest_hole, (u64 *)&max_gap); if (max_gap < LARGE_GAP) { vmem_map = (struct page *) 0; - free_area_init_node(0, &contig_page_data, NULL, zones_size, 0, + free_area_init_node(0, &contig_page_data, zones_size, 0, zholes_size); - mem_map = contig_page_data.node_mem_map; } else { unsigned long map_size; @@ -278,12 +277,12 @@ paging_init (void) map_size = PAGE_ALIGN(max_low_pfn * sizeof(struct page)); vmalloc_end -= map_size; vmem_map = (struct page *) vmalloc_end; - efi_memmap_walk(create_mem_map_page_table, 0); + efi_memmap_walk(create_mem_map_page_table, NULL); - free_area_init_node(0, &contig_page_data, vmem_map, zones_size, + mem_map = contig_page_data.node_mem_map = vmem_map; + free_area_init_node(0, &contig_page_data, zones_size, 0, zholes_size); - mem_map = contig_page_data.node_mem_map; printk("Virtual mem_map starts at 0x%p\n", mem_map); } #else /* !CONFIG_VIRTUAL_MEM_MAP */ diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index 23a9490fc..eb464cbb9 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c @@ -53,11 +53,12 @@ static struct early_node_data mem_data[NR_NODES] __initdata; static void __init reassign_cpu_only_nodes(void) { struct node_memblk_s *p; - int i, j, k, nnode, nid, cpu, cpunid; + int i, j, k, nnode, nid, cpu, cpunid, pxm; u8 cslit, slit; static DECLARE_BITMAP(nodes_with_mem, NR_NODES) __initdata; static u8 numa_slit_fix[MAX_NUMNODES * MAX_NUMNODES] __initdata; static int node_flip[NR_NODES] __initdata; + static int old_nid_map[NR_CPUS] __initdata; for (nnode = 0, p = &node_memblk[0]; p < &node_memblk[num_node_memblks]; p++) if (!test_bit(p->nid, (void *) nodes_with_mem)) { @@ -104,9 +105,14 @@ static void __init reassign_cpu_only_nodes(void) for (cpu = 0; cpu < NR_CPUS; cpu++) if (node_cpuid[cpu].nid == i) { - /* For nodes not being reassigned just fix the cpu's nid. */ + /* + * For nodes not being reassigned just + * fix the cpu's nid and reverse pxm map + */ if (cpunid < numnodes) { - node_cpuid[cpu].nid = cpunid; + pxm = nid_to_pxm_map[i]; + pxm_to_nid_map[pxm] = + node_cpuid[cpu].nid = cpunid; continue; } @@ -126,6 +132,8 @@ static void __init reassign_cpu_only_nodes(void) } } + /* save old nid map so we can update the pxm */ + old_nid_map[cpu] = node_cpuid[cpu].nid; node_cpuid[cpu].nid = k; } } @@ -134,14 +142,19 @@ static void __init reassign_cpu_only_nodes(void) * Fixup temporary nid values for CPU-only nodes. */ for (cpu = 0; cpu < NR_CPUS; cpu++) - if (node_cpuid[cpu].nid == (numnodes + numnodes)) - node_cpuid[cpu].nid = nnode - 1; - else - for (i = 0; i < nnode; i++) - if (node_flip[i] == (node_cpuid[cpu].nid - numnodes)) { - node_cpuid[cpu].nid = i; - break; - } + if (node_cpuid[cpu].nid == (numnodes + numnodes)) { + pxm = nid_to_pxm_map[old_nid_map[cpu]]; + pxm_to_nid_map[pxm] = node_cpuid[cpu].nid = nnode - 1; + } else { + for (i = 0; i < nnode; i++) { + if (node_flip[i] != (node_cpuid[cpu].nid - numnodes)) + continue; + + pxm = nid_to_pxm_map[old_nid_map[cpu]]; + pxm_to_nid_map[pxm] = node_cpuid[cpu].nid = i; + break; + } + } /* * Fix numa_slit by compressing from larger @@ -492,14 +505,17 @@ void *per_cpu_init(void) */ void show_mem(void) { - int i, reserved = 0; - int shared = 0, cached = 0; + int i, total_reserved = 0; + int total_shared = 0, total_cached = 0; + unsigned long total_present = 0; pg_data_t *pgdat; printk("Mem-info:\n"); show_free_areas(); printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); for_each_pgdat(pgdat) { + unsigned long present = pgdat->node_present_pages; + int shared = 0, cached = 0, reserved = 0; printk("Node ID: %d\n", pgdat->node_id); for(i = 0; i < pgdat->node_spanned_pages; i++) { if (!ia64_pfn_valid(pgdat->node_start_pfn+i)) @@ -511,11 +527,19 @@ void show_mem(void) else if (page_count(pgdat->node_mem_map+i)) shared += page_count(pgdat->node_mem_map+i)-1; } - printk("\t%ld pages of RAM\n", pgdat->node_present_pages); + total_present += present; + total_reserved += reserved; + total_cached += cached; + total_shared += shared; + printk("\t%ld pages of RAM\n", present); printk("\t%d reserved pages\n", reserved); printk("\t%d pages shared\n", shared); printk("\t%d pages swap cached\n", cached); } + printk("%ld pages of RAM\n", total_present); + printk("%d reserved pages\n", total_reserved); + printk("%d pages shared\n", total_shared); + printk("%d pages swap cached\n", total_cached); printk("Total of %ld pages in page table cache\n", pgtable_cache_size); printk("%d free buffer pages\n", nr_free_buffer_pages()); } @@ -607,12 +631,10 @@ void paging_init(void) unsigned long max_dma; unsigned long zones_size[MAX_NR_ZONES]; unsigned long zholes_size[MAX_NR_ZONES]; - unsigned long max_gap, pfn_offset = 0; + unsigned long pfn_offset = 0; int node; max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT; - max_gap = 0; - efi_memmap_walk(find_largest_hole, &max_gap); /* so min() will work in count_node_pages */ for (node = 0; node < numnodes; node++) @@ -664,8 +686,8 @@ void paging_init(void) pfn_offset = mem_data[node].min_pfn; - free_area_init_node(node, NODE_DATA(node), - vmem_map + pfn_offset, zones_size, + NODE_DATA(node)->node_mem_map = vmem_map + pfn_offset; + free_area_init_node(node, NODE_DATA(node), zones_size, pfn_offset, zholes_size); } diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 8e63f14ac..fa71877fe 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c @@ -9,12 +9,12 @@ #include #include #include +#include #include #include #include #include -#include extern void die (char *, struct pt_regs *, long); @@ -44,9 +44,11 @@ expand_backing_store (struct vm_area_struct *vma, unsigned long address) vma->vm_end += PAGE_SIZE; // vma->vm_mm->total_vm += grow; vx_vmpages_add(vma->vm_mm, grow); - if (vma->vm_flags & VM_LOCKED) + if (vma->vm_flags & VM_LOCKED) { // vma->vm_mm->locked_vm += grow; vx_vmlocked_add(vma->vm_mm, grow); + } + __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); return 0; } @@ -203,7 +205,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re si.si_signo = signal; si.si_errno = 0; si.si_code = code; - si.si_addr = (void *) address; + si.si_addr = (void __user *) address; si.si_isr = isr; si.si_flags = __ISR_VALID; force_sig_info(signal, &si, current); diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index 90fecb3a4..0442ce7be 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c @@ -67,9 +67,9 @@ check_pgt_cache (void) if (pgtable_cache_size > (u64) high) { do { if (pgd_quicklist) - free_page((unsigned long)pgd_alloc_one_fast(0)); + free_page((unsigned long)pgd_alloc_one_fast(NULL)); if (pmd_quicklist) - free_page((unsigned long)pmd_alloc_one_fast(0, 0)); + free_page((unsigned long)pmd_alloc_one_fast(NULL, 0)); } while (pgtable_cache_size > (u64) low); } preempt_enable(); @@ -131,7 +131,13 @@ ia64_init_addr_space (void) vma->vm_end = vma->vm_start + PAGE_SIZE; vma->vm_page_prot = protection_map[VM_DATA_DEFAULT_FLAGS & 0x7]; vma->vm_flags = VM_DATA_DEFAULT_FLAGS | VM_GROWSUP; - insert_vm_struct(current->mm, vma); + down_write(¤t->mm->mmap_sem); + if (insert_vm_struct(current->mm, vma)) { + up_write(¤t->mm->mmap_sem); + kmem_cache_free(vm_area_cachep, vma); + return; + } + up_write(¤t->mm->mmap_sem); } /* map NaT-page at address zero to speed up speculative dereferencing of NULL: */ @@ -143,7 +149,13 @@ ia64_init_addr_space (void) vma->vm_end = PAGE_SIZE; vma->vm_page_prot = __pgprot(pgprot_val(PAGE_READONLY) | _PAGE_MA_NAT); vma->vm_flags = VM_READ | VM_MAYREAD | VM_IO | VM_RESERVED; - insert_vm_struct(current->mm, vma); + down_write(¤t->mm->mmap_sem); + if (insert_vm_struct(current->mm, vma)) { + up_write(¤t->mm->mmap_sem); + kmem_cache_free(vm_area_cachep, vma); + return; + } + up_write(¤t->mm->mmap_sem); } } } @@ -436,20 +448,22 @@ virtual_memmap_init (u64 start, u64 end, void *arg) / sizeof(struct page)); if (map_start < map_end) - memmap_init_zone(map_start, (unsigned long) (map_end - map_start), + memmap_init_zone((unsigned long)(map_end - map_start), args->nid, args->zone, page_to_pfn(map_start)); return 0; } void -memmap_init (struct page *start, unsigned long size, int nid, - unsigned long zone, unsigned long start_pfn) +memmap_init (unsigned long size, int nid, unsigned long zone, + unsigned long start_pfn) { if (!vmem_map) - memmap_init_zone(start, size, nid, zone, start_pfn); + memmap_init_zone(size, nid, zone, start_pfn); else { + struct page *start; struct memmap_init_callback_data args; + start = pfn_to_page(start_pfn); args.start = start; args.end = start + size; args.nid = nid; @@ -465,9 +479,9 @@ ia64_pfn_valid (unsigned long pfn) char byte; struct page *pg = pfn_to_page(pfn); - return (__get_user(byte, (char *) pg) == 0) + return (__get_user(byte, (char __user *) pg) == 0) && ((((u64)pg & PAGE_MASK) == (((u64)(pg + 1) - 1) & PAGE_MASK)) - || (__get_user(byte, (char *) (pg + 1) - 1) == 0)); + || (__get_user(byte, (char __user *) (pg + 1) - 1) == 0)); } EXPORT_SYMBOL(ia64_pfn_valid); @@ -592,6 +606,6 @@ mem_init (void) setup_gate(); #ifdef CONFIG_IA32_SUPPORT - ia32_boot_gdt_init(); + ia32_mem_init(); #endif } diff --git a/arch/ia64/mm/tlb.c b/arch/ia64/mm/tlb.c index dc15aa01c..0c5cb3c61 100644 --- a/arch/ia64/mm/tlb.c +++ b/arch/ia64/mm/tlb.c @@ -176,7 +176,7 @@ ia64_tlb_init (void) if ((status = ia64_pal_vm_page_size(&tr_pgbits, &purge.mask)) != 0) { printk(KERN_ERR "PAL_VM_PAGE_SIZE failed with status=%ld;" "defaulting to architected purge page-sizes.\n", status); - purge.mask = 0x115557000; + purge.mask = 0x115557000UL; } purge.max_bits = ia64_fls(purge.mask); diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 82204f1bd..9a5f1baf4 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c @@ -46,8 +46,6 @@ #define DBG(x...) #endif -struct pci_fixup pcibios_fixups[1]; - /* * Low-level SAL-based PCI configuration access functions. Note that SAL * calls are already serialized (via sal_lock), so we don't need another @@ -126,7 +124,7 @@ pci_write (struct pci_bus *bus, unsigned int devfn, int where, int size, u32 val devfn, where, size, value); } -static struct pci_ops pci_root_ops = { +struct pci_ops pci_root_ops = { .read = pci_read, .write = pci_write, }; @@ -138,6 +136,11 @@ pci_acpi_init (void) printk(KERN_INFO "PCI: Using ACPI for IRQ routing\n"); +#ifdef CONFIG_NUMA +extern acpi_status acpi_map_iosapic (acpi_handle, u32, void*, void**); + + acpi_get_devices(NULL, acpi_map_iosapic, NULL, NULL); +#endif /* * PCI IRQ routing is set up by pci_enable_device(), but we * also do it here in case there are still broken drivers that @@ -332,7 +335,7 @@ pcibios_fixup_device_resources (struct pci_dev *dev, struct pci_bus *bus) struct pci_window *window; int i, j; int limit = (dev->hdr_type == PCI_HEADER_TYPE_NORMAL) ? \ - PCI_ROM_RESOURCE : PCI_NUM_RESOURCES; + PCI_BRIDGE_RESOURCES : PCI_NUM_RESOURCES; for (i = 0; i < limit; i++) { if (!dev->resource[i].start) diff --git a/arch/ia64/sn/Makefile b/arch/ia64/sn/Makefile index d28f1a0ca..a269f6d84 100644 --- a/arch/ia64/sn/Makefile +++ b/arch/ia64/sn/Makefile @@ -4,9 +4,11 @@ # License. See the file "COPYING" in the main directory of this archive # for more details. # -# Copyright (C) 2003 Silicon Graphics, Inc. All Rights Reserved. +# Copyright (C) 2004 Silicon Graphics, Inc. All Rights Reserved. # # Makefile for the sn ia64 subplatform # -obj-y += kernel/ io/ +CPPFLAGS += -I$(srctree)/arch/ia64/sn/include + +obj-y += kernel/ pci/ diff --git a/arch/ia64/sn/kernel/Makefile b/arch/ia64/sn/kernel/Makefile index 1e610ac2b..6c7f4d9e8 100644 --- a/arch/ia64/sn/kernel/Makefile +++ b/arch/ia64/sn/kernel/Makefile @@ -7,5 +7,6 @@ # Copyright (C) 1999,2001-2003 Silicon Graphics, Inc. All Rights Reserved. # -obj-y += probe.o setup.o bte.o irq.o mca.o idle.o sn2/ +obj-y += setup.o bte.o bte_error.o irq.o mca.o idle.o \ + huberror.o io_init.o iomv.o klconflib.o sn2/ obj-$(CONFIG_IA64_GENERIC) += machvec.o diff --git a/arch/ia64/sn/kernel/bte.c b/arch/ia64/sn/kernel/bte.c index e040fc3c4..a9954bba1 100644 --- a/arch/ia64/sn/kernel/bte.c +++ b/arch/ia64/sn/kernel/bte.c @@ -8,14 +8,14 @@ #include #include -#include #include #include #include #include #include -#include +#include "shubio.h" #include +#include #include #include @@ -30,8 +30,7 @@ /* two interfaces on two btes */ #define MAX_INTERFACES_TO_TRY 4 -static struct bteinfo_s * -bte_if_on_node(nasid_t nasid, int interface) +static struct bteinfo_s *bte_if_on_node(nasid_t nasid, int interface) { nodepda_t *tmp_nodepda; @@ -40,13 +39,11 @@ bte_if_on_node(nasid_t nasid, int interface) } - /************************************************************************ * Block Transfer Engine copy related functions. * ***********************************************************************/ - /* * bte_copy(src, dest, len, mode, notification) * @@ -66,17 +63,17 @@ bte_if_on_node(nasid_t nasid, int interface) * NOTE: This function requires src, dest, and len to * be cacheline aligned. */ -bte_result_t -bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) +bte_result_t bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) { u64 transfer_size; u64 transfer_stat; struct bteinfo_s *bte; bte_result_t bte_status; unsigned long irq_flags; + unsigned long itc_end = 0; struct bteinfo_s *btes_to_try[MAX_INTERFACES_TO_TRY]; int bte_if_index; - + int bte_pri, bte_sec; BTE_PRINTK(("bte_copy(0x%lx, 0x%lx, 0x%lx, 0x%lx, 0x%p)\n", src, dest, len, mode, notification)); @@ -85,34 +82,44 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) return BTE_SUCCESS; } - ASSERT(!((len & L1_CACHE_MASK) || - (src & L1_CACHE_MASK) || (dest & L1_CACHE_MASK))); - ASSERT(len < ((BTE_LEN_MASK + 1) << L1_CACHE_SHIFT)); + BUG_ON((len & L1_CACHE_MASK) || + (src & L1_CACHE_MASK) || (dest & L1_CACHE_MASK)); + BUG_ON(!(len < ((BTE_LEN_MASK + 1) << L1_CACHE_SHIFT))); + + /* CPU 0 (per node) tries bte0 first, CPU 1 try bte1 first */ + if (cpuid_to_subnode(smp_processor_id()) == 0) { + bte_pri = 0; + bte_sec = 1; + } else { + bte_pri = 1; + bte_sec = 0; + } if (mode & BTE_USE_DEST) { /* try remote then local */ - btes_to_try[0] = bte_if_on_node(NASID_GET(dest), 0); - btes_to_try[1] = bte_if_on_node(NASID_GET(dest), 1); + btes_to_try[0] = bte_if_on_node(NASID_GET(dest), bte_pri); + btes_to_try[1] = bte_if_on_node(NASID_GET(dest), bte_sec); if (mode & BTE_USE_ANY) { - btes_to_try[2] = bte_if_on_node(get_nasid(), 0); - btes_to_try[3] = bte_if_on_node(get_nasid(), 1); + btes_to_try[2] = bte_if_on_node(get_nasid(), bte_pri); + btes_to_try[3] = bte_if_on_node(get_nasid(), bte_sec); } else { btes_to_try[2] = NULL; btes_to_try[3] = NULL; } } else { /* try local then remote */ - btes_to_try[0] = bte_if_on_node(get_nasid(), 0); - btes_to_try[1] = bte_if_on_node(get_nasid(), 1); + btes_to_try[0] = bte_if_on_node(get_nasid(), bte_pri); + btes_to_try[1] = bte_if_on_node(get_nasid(), bte_sec); if (mode & BTE_USE_ANY) { - btes_to_try[2] = bte_if_on_node(NASID_GET(dest), 0); - btes_to_try[3] = bte_if_on_node(NASID_GET(dest), 1); + btes_to_try[2] = bte_if_on_node(NASID_GET(dest), bte_pri); + btes_to_try[3] = bte_if_on_node(NASID_GET(dest), bte_sec); } else { btes_to_try[2] = NULL; btes_to_try[3] = NULL; } } +retry_bteop: do { local_irq_save(irq_flags); @@ -127,16 +134,16 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) } if (spin_trylock(&bte->spinlock)) { - if ((*bte->most_rcnt_na & BTE_ACTIVE) || + if (!(*bte->most_rcnt_na & BTE_WORD_AVAILABLE) || (BTE_LNSTAT_LOAD(bte) & BTE_ACTIVE)) { /* Got the lock but BTE still busy */ spin_unlock(&bte->spinlock); - bte = NULL; } else { /* we got the lock and it's not busy */ break; } } + bte = NULL; } if (bte != NULL) { @@ -150,7 +157,6 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) } } while (1); - if (notification == NULL) { /* User does not want to be notified. */ bte->most_rcnt_na = &bte->notify; @@ -162,7 +168,7 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) transfer_size = ((len >> L1_CACHE_SHIFT) & BTE_LEN_MASK); /* Initialize the notification to a known value. */ - *bte->most_rcnt_na = -1L; + *bte->most_rcnt_na = BTE_WORD_BUSY; /* Set the status reg busy bit and transfer length */ BTE_PRINTKV(("IBLS = 0x%lx\n", IBLS_BUSY | transfer_size)); @@ -175,42 +181,53 @@ bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) BTE_DEST_STORE(bte, TO_PHYS(dest)); /* Set the notification register */ - BTE_PRINTKV(("IBNA = 0x%lx)\n", + BTE_PRINTKV(("IBNA = 0x%lx)\n", TO_PHYS(ia64_tpa((unsigned long)bte->most_rcnt_na)))); - BTE_NOTIF_STORE(bte, TO_PHYS(ia64_tpa((unsigned long)bte->most_rcnt_na))); - + BTE_NOTIF_STORE(bte, + TO_PHYS(ia64_tpa((unsigned long)bte->most_rcnt_na))); /* Initiate the transfer */ BTE_PRINTK(("IBCT = 0x%lx)\n", BTE_VALID_MODE(mode))); BTE_CTRL_STORE(bte, BTE_VALID_MODE(mode)); - spin_unlock_irqrestore(&bte->spinlock, irq_flags); + itc_end = ia64_get_itc() + (40000000 * local_cpu_data->cyc_per_usec); + spin_unlock_irqrestore(&bte->spinlock, irq_flags); if (notification != NULL) { return BTE_SUCCESS; } - while ((transfer_stat = *bte->most_rcnt_na) == -1UL) { + while ((transfer_stat = *bte->most_rcnt_na) == BTE_WORD_BUSY) { + if (ia64_get_itc() > itc_end) { + BTE_PRINTK(("BTE timeout nasid 0x%x bte%d IBLS = 0x%lx na 0x%lx\n", + NASID_GET(bte->bte_base_addr), bte->bte_num, + BTE_LNSTAT_LOAD(bte), *bte->most_rcnt_na) ); + bte->bte_error_count++; + bte->bh_error = IBLS_ERROR; + bte_error_handler((unsigned long)NODEPDA(bte->bte_cnode)); + *bte->most_rcnt_na = BTE_WORD_AVAILABLE; + goto retry_bteop; + } } - BTE_PRINTKV((" Delay Done. IBLS = 0x%lx, most_rcnt_na = 0x%lx\n", - BTE_LNSTAT_LOAD(bte), *bte->most_rcnt_na)); + BTE_LNSTAT_LOAD(bte), *bte->most_rcnt_na)); if (transfer_stat & IBLS_ERROR) { bte_status = transfer_stat & ~IBLS_ERROR; - *bte->most_rcnt_na = 0L; } else { bte_status = BTE_SUCCESS; } + *bte->most_rcnt_na = BTE_WORD_AVAILABLE; + BTE_PRINTK(("Returning status is 0x%lx and most_rcnt_na is 0x%lx\n", - BTE_LNSTAT_LOAD(bte), *bte->most_rcnt_na)); + BTE_LNSTAT_LOAD(bte), *bte->most_rcnt_na)); return bte_status; } -EXPORT_SYMBOL(bte_copy); +EXPORT_SYMBOL(bte_copy); /* * bte_unaligned_copy(src, dest, len, mode) @@ -228,8 +245,7 @@ EXPORT_SYMBOL(bte_copy); * NOTE: If the source, dest, and len are all cache line aligned, * then it would be _FAR_ preferrable to use bte_copy instead. */ -bte_result_t -bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) +bte_result_t bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) { int destFirstCacheOffset; u64 headBteSource; @@ -254,7 +270,7 @@ bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) if (bteBlock_unaligned == NULL) { return BTEFAIL_NOTAVAIL; } - bteBlock = (char *) L1_CACHE_ALIGN((u64) bteBlock_unaligned); + bteBlock = (char *)L1_CACHE_ALIGN((u64) bteBlock_unaligned); headBcopySrcOffset = src & L1_CACHE_MASK; destFirstCacheOffset = dest & L1_CACHE_MASK; @@ -302,15 +318,13 @@ bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) } if (len > headBcopyLen) { - footBcopyLen = - (len - headBcopyLen) & L1_CACHE_MASK; + footBcopyLen = (len - headBcopyLen) & L1_CACHE_MASK; footBteLen = L1_CACHE_BYTES; footBteSource = src + len - footBcopyLen; footBcopyDest = dest + len - footBcopyLen; - if (footBcopyDest == - (headBcopyDest + headBcopyLen)) { + if (footBcopyDest == (headBcopyDest + headBcopyLen)) { /* * We have two contigous bcopy * blocks. Merge them. @@ -326,9 +340,8 @@ bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) return rv; } - memcpy(__va(footBcopyDest), - (char *) bteBlock, footBcopyLen); + (char *)bteBlock, footBcopyLen); } } else { footBcopyLen = 0; @@ -350,7 +363,6 @@ bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) } } else { - /* * The transfer is not symetric, we will * allocate a buffer large enough for all the @@ -361,8 +373,7 @@ bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) /* Add the leader from source */ headBteLen = len + (src & L1_CACHE_MASK); /* Add the trailing bytes from footer. */ - headBteLen += - L1_CACHE_BYTES - (headBteLen & L1_CACHE_MASK); + headBteLen += L1_CACHE_BYTES - (headBteLen & L1_CACHE_MASK); headBteSource = src & ~L1_CACHE_MASK; headBcopySrcOffset = src & L1_CACHE_MASK; headBcopyDest = dest; @@ -371,40 +382,37 @@ bte_unaligned_copy(u64 src, u64 dest, u64 len, u64 mode) if (headBcopyLen > 0) { rv = bte_copy(headBteSource, - ia64_tpa((unsigned long)bteBlock), headBteLen, mode, NULL); + ia64_tpa((unsigned long)bteBlock), headBteLen, + mode, NULL); if (rv != BTE_SUCCESS) { kfree(bteBlock_unaligned); return rv; } - memcpy(__va(headBcopyDest), ((char *) bteBlock + - headBcopySrcOffset), - headBcopyLen); + memcpy(__va(headBcopyDest), ((char *)bteBlock + + headBcopySrcOffset), headBcopyLen); } kfree(bteBlock_unaligned); return BTE_SUCCESS; } -EXPORT_SYMBOL(bte_unaligned_copy); +EXPORT_SYMBOL(bte_unaligned_copy); /************************************************************************ * Block Transfer Engine initialization functions. * ***********************************************************************/ - /* * bte_init_node(nodepda, cnode) * * Initialize the nodepda structure with BTE base addresses and * spinlocks. */ -void -bte_init_node(nodepda_t * mynodepda, cnodeid_t cnode) +void bte_init_node(nodepda_t * mynodepda, cnodeid_t cnode) { int i; - /* * Indicate that all the block transfer engines on this node * are available. @@ -418,12 +426,13 @@ bte_init_node(nodepda_t * mynodepda, cnodeid_t cnode) spin_lock_init(&mynodepda->bte_recovery_lock); init_timer(&mynodepda->bte_recovery_timer); mynodepda->bte_recovery_timer.function = bte_error_handler; - mynodepda->bte_recovery_timer.data = (unsigned long) mynodepda; + mynodepda->bte_recovery_timer.data = (unsigned long)mynodepda; for (i = 0; i < BTES_PER_NODE; i++) { - (u64) mynodepda->bte_if[i].bte_base_addr = - REMOTE_HUB_ADDR(cnodeid_to_nasid(cnode), - (i == 0 ? IIO_IBLS0 : IIO_IBLS1)); + /* Which link status register should we use? */ + unsigned long link_status = (i == 0 ? IIO_IBLS0 : IIO_IBLS1); + mynodepda->bte_if[i].bte_base_addr = (u64 *) + REMOTE_HUB_ADDR(cnodeid_to_nasid(cnode), link_status); /* * Initialize the notification and spinlock @@ -431,7 +440,7 @@ bte_init_node(nodepda_t * mynodepda, cnodeid_t cnode) */ mynodepda->bte_if[i].most_rcnt_na = &(mynodepda->bte_if[i].notify); - mynodepda->bte_if[i].notify = 0L; + mynodepda->bte_if[i].notify = BTE_WORD_AVAILABLE; spin_lock_init(&mynodepda->bte_if[i].spinlock); mynodepda->bte_if[i].bte_cnode = cnode; diff --git a/arch/ia64/sn/kernel/idle.c b/arch/ia64/sn/kernel/idle.c index 65e6e3f77..49d178f02 100644 --- a/arch/ia64/sn/kernel/idle.c +++ b/arch/ia64/sn/kernel/idle.c @@ -3,14 +3,13 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 2001-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (c) 2001-2004 Silicon Graphics, Inc. All rights reserved. */ -#include #include -#include -void snidle(int state) { +void snidle(int state) +{ if (state) { if (pda->idle_flag == 0) { /* @@ -19,11 +18,6 @@ void snidle(int state) { set_led_bits(0, LED_CPU_ACTIVITY); } -#ifdef CONFIG_IA64_SGI_SN_SIM - if (IS_RUNNING_ON_SIMULATOR()) - SIMULATOR_SLEEP(); -#endif - pda->idle_flag = 1; } else { /* diff --git a/arch/ia64/sn/kernel/irq.c b/arch/ia64/sn/kernel/irq.c index 6bcf70ea1..1e262c032 100644 --- a/arch/ia64/sn/kernel/irq.c +++ b/arch/ia64/sn/kernel/irq.c @@ -5,97 +5,83 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. */ -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include -#include #include -#include -#include -#include -#include -#include +#include "xtalk/xwidgetdev.h" +#include "pci/pcibus_provider_defs.h" +#include "pci/pcidev.h" +#include "pci/pcibr_provider.h" +#include +#include static void force_interrupt(int irq); -extern void pcibr_force_interrupt(pcibr_intr_t intr); -extern int sn_force_interrupt_flag; -struct irq_desc * sn_irq_desc(unsigned int irq); -extern cpumask_t __cacheline_aligned pending_irq_cpumask[NR_IRQS]; - -struct sn_intr_list_t { - struct sn_intr_list_t *next; - pcibr_intr_t intr; -}; +static void register_intr_pda(struct sn_irq_info *sn_irq_info); +static void unregister_intr_pda(struct sn_irq_info *sn_irq_info); -static struct sn_intr_list_t *sn_intr_list[NR_IRQS]; +extern int sn_force_interrupt_flag; +extern int sn_ioif_inited; +struct sn_irq_info **sn_irq; +static inline uint64_t sn_intr_alloc(nasid_t local_nasid, int local_widget, + u64 sn_irq_info, + int req_irq, nasid_t req_nasid, + int req_slice) +{ + struct ia64_sal_retval ret_stuff; + ret_stuff.status = 0; + ret_stuff.v0 = 0; + + SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_IOIF_INTERRUPT, + (u64) SAL_INTR_ALLOC, (u64) local_nasid, + (u64) local_widget, (u64) sn_irq_info, (u64) req_irq, + (u64) req_nasid, (u64) req_slice); + return ret_stuff.status; +} -static unsigned int -sn_startup_irq(unsigned int irq) +static inline void sn_intr_free(nasid_t local_nasid, int local_widget, + struct sn_irq_info *sn_irq_info) { - return(0); + struct ia64_sal_retval ret_stuff; + ret_stuff.status = 0; + ret_stuff.v0 = 0; + + SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_IOIF_INTERRUPT, + (u64) SAL_INTR_FREE, (u64) local_nasid, + (u64) local_widget, (u64) sn_irq_info->irq_irq, + (u64) sn_irq_info->irq_cookie, 0, 0); } -static void -sn_shutdown_irq(unsigned int irq) +static unsigned int sn_startup_irq(unsigned int irq) { + return 0; } -static void -sn_disable_irq(unsigned int irq) +static void sn_shutdown_irq(unsigned int irq) { } -static void -sn_enable_irq(unsigned int irq) +static void sn_disable_irq(unsigned int irq) { } -static inline void sn_move_irq(int irq) +static void sn_enable_irq(unsigned int irq) { - /* note - we hold desc->lock */ - cpumask_t tmp; - irq_desc_t *desc = irq_descp(irq); - - if (!cpus_empty(pending_irq_cpumask[irq])) { - cpus_and(tmp, pending_irq_cpumask[irq], cpu_online_map); - if (unlikely(!cpus_empty(tmp))) { - desc->handler->set_affinity(irq, pending_irq_cpumask[irq]); - } - cpus_clear(pending_irq_cpumask[irq]); - } } -static void -sn_ack_irq(unsigned int irq) +static void sn_ack_irq(unsigned int irq) { - unsigned long event_occurred, mask = 0; + uint64_t event_occurred, mask = 0; int nasid; irq = irq & 0xff; - nasid = smp_physical_node_id(); - event_occurred = HUB_L( (unsigned long *)GLOBAL_MMR_ADDR(nasid,SH_EVENT_OCCURRED) ); + nasid = get_nasid(); + event_occurred = + HUB_L((uint64_t *) GLOBAL_MMR_ADDR(nasid, SH_EVENT_OCCURRED)); if (event_occurred & SH_EVENT_OCCURRED_UART_INT_MASK) { mask |= (1 << SH_EVENT_OCCURRED_UART_INT_SHFT); } @@ -108,63 +94,102 @@ sn_ack_irq(unsigned int irq) if (event_occurred & SH_EVENT_OCCURRED_II_INT1_MASK) { mask |= (1 << SH_EVENT_OCCURRED_II_INT1_SHFT); } - HUB_S((unsigned long *)GLOBAL_MMR_ADDR(nasid, SH_EVENT_OCCURRED_ALIAS), mask ); + HUB_S((uint64_t *) GLOBAL_MMR_ADDR(nasid, SH_EVENT_OCCURRED_ALIAS), + mask); __set_bit(irq, (volatile void *)pda->sn_in_service_ivecs); - sn_move_irq(irq); + + move_irq(irq); } -static void -sn_end_irq(unsigned int irq) +static void sn_end_irq(unsigned int irq) { int nasid; int ivec; - unsigned long event_occurred; - irq_desc_t *desc = sn_irq_desc(irq); - unsigned int status = desc->status; + uint64_t event_occurred; ivec = irq & 0xff; if (ivec == SGI_UART_VECTOR) { - nasid = smp_physical_node_id(); - event_occurred = HUB_L( (unsigned long *)GLOBAL_MMR_ADDR(nasid,SH_EVENT_OCCURRED) ); - // If the UART bit is set here, we may have received an interrupt from the - // UART that the driver missed. To make sure, we IPI ourselves to force us - // to look again. + nasid = get_nasid(); + event_occurred = HUB_L((uint64_t *) GLOBAL_MMR_ADDR + (nasid, SH_EVENT_OCCURRED)); + /* If the UART bit is set here, we may have received an + * interrupt from the UART that the driver missed. To + * make sure, we IPI ourselves to force us to look again. + */ if (event_occurred & SH_EVENT_OCCURRED_UART_INT_MASK) { - platform_send_ipi(smp_processor_id(), SGI_UART_VECTOR, IA64_IPI_DM_INT, 0); + platform_send_ipi(smp_processor_id(), SGI_UART_VECTOR, + IA64_IPI_DM_INT, 0); } } __clear_bit(ivec, (volatile void *)pda->sn_in_service_ivecs); if (sn_force_interrupt_flag) - if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS))) - force_interrupt(irq); + force_interrupt(irq); } -static void -sn_set_affinity_irq(unsigned int irq, cpumask_t mask) +static void sn_set_affinity_irq(unsigned int irq, cpumask_t mask) { -#ifdef CONFIG_SMP - int redir = 0; - int cpu; - struct sn_intr_list_t *p = sn_intr_list[irq]; - pcibr_intr_t intr; - extern void sn_shub_redirect_intr(pcibr_intr_t intr, unsigned long cpu); - extern void sn_tio_redirect_intr(pcibr_intr_t intr, unsigned long cpu); - - if (p == NULL) - return; - - intr = p->intr; - - if (intr == NULL) - return; - - cpu = first_cpu(mask); - sn_shub_redirect_intr(intr, cpu); - irq = irq & 0xff; /* strip off redirect bit, if someone stuck it on. */ - (void) set_irq_affinity_info(irq, cpu_physical_id(intr->bi_cpu), redir); -#endif /* CONFIG_SMP */ -} + struct sn_irq_info *sn_irq_info = sn_irq[irq]; + struct sn_irq_info *tmp_sn_irq_info; + int cpuid, cpuphys; + nasid_t t_nasid; /* nasid to target */ + int t_slice; /* slice to target */ + + /* allocate a temp sn_irq_info struct to get new target info */ + tmp_sn_irq_info = kmalloc(sizeof(*tmp_sn_irq_info), GFP_KERNEL); + if (!tmp_sn_irq_info) + return; + + cpuid = first_cpu(mask); + cpuphys = cpu_physical_id(cpuid); + t_nasid = cpuid_to_nasid(cpuid); + t_slice = cpuid_to_slice(cpuid); + + while (sn_irq_info) { + int status; + int local_widget; + uint64_t bridge = (uint64_t) sn_irq_info->irq_bridge; + nasid_t local_nasid = NASID_GET(bridge); + + if (!bridge) + break; /* irq is not a device interrupt */ + + if (local_nasid & 1) + local_widget = TIO_SWIN_WIDGETNUM(bridge); + else + local_widget = SWIN_WIDGETNUM(bridge); + + /* Free the old PROM sn_irq_info structure */ + sn_intr_free(local_nasid, local_widget, sn_irq_info); + + /* allocate a new PROM sn_irq_info struct */ + status = sn_intr_alloc(local_nasid, local_widget, + __pa(tmp_sn_irq_info), irq, t_nasid, + t_slice); + + if (status == 0) { + /* Update kernels sn_irq_info with new target info */ + unregister_intr_pda(sn_irq_info); + sn_irq_info->irq_cpuid = cpuid; + sn_irq_info->irq_nasid = t_nasid; + sn_irq_info->irq_slice = t_slice; + sn_irq_info->irq_xtalkaddr = + tmp_sn_irq_info->irq_xtalkaddr; + sn_irq_info->irq_cookie = tmp_sn_irq_info->irq_cookie; + register_intr_pda(sn_irq_info); + + if (IS_PCI_BRIDGE_ASIC(sn_irq_info->irq_bridge_type)) { + pcibr_change_devices_irq(sn_irq_info); + } + sn_irq_info = sn_irq_info->irq_next; + + set_irq_affinity_info((irq & 0xff), cpuphys, 0); + } else { + break; /* snp_affinity failed the intr_alloc */ + } + } + kfree(tmp_sn_irq_info); +} struct hw_interrupt_type irq_type_sn = { "SN hub", @@ -172,208 +197,243 @@ struct hw_interrupt_type irq_type_sn = { sn_shutdown_irq, sn_enable_irq, sn_disable_irq, - sn_ack_irq, + sn_ack_irq, sn_end_irq, sn_set_affinity_irq }; - -struct irq_desc * -sn_irq_desc(unsigned int irq) +struct irq_desc *sn_irq_desc(unsigned int irq) { - - irq = SN_IVEC_FROM_IRQ(irq); - - return(_irq_desc + irq); + return (_irq_desc + irq); } -u8 -sn_irq_to_vector(unsigned int irq) +u8 sn_irq_to_vector(unsigned int irq) { - return(irq); + return irq; } -unsigned int -sn_local_vector_to_irq(u8 vector) +unsigned int sn_local_vector_to_irq(u8 vector) { return (CPU_VECTOR_TO_IRQ(smp_processor_id(), vector)); } -void -sn_irq_init (void) +void sn_irq_init(void) { int i; irq_desc_t *base_desc = _irq_desc; - for (i=0; ibi_cpu; + int irq = sn_irq_info->irq_irq; + int cpu = sn_irq_info->irq_cpuid; if (pdacpu(cpu)->sn_last_irq < irq) { pdacpu(cpu)->sn_last_irq = irq; } - if (pdacpu(cpu)->sn_first_irq == 0 || pdacpu(cpu)->sn_first_irq > irq) pdacpu(cpu)->sn_first_irq = irq; - if (!p) panic("Could not allocate memory for sn_intr_list_t\n"); - if ((list = sn_intr_list[irq])) { - while (list->next) list = list->next; - list->next = p; - p->next = NULL; - p->intr = intr; - } else { - sn_intr_list[irq] = p; - p->next = NULL; - p->intr = intr; + + if (pdacpu(cpu)->sn_first_irq == 0 || pdacpu(cpu)->sn_first_irq > irq) { + pdacpu(cpu)->sn_first_irq = irq; } } -void -unregister_pcibr_intr(int irq, pcibr_intr_t intr) +static void unregister_intr_pda(struct sn_irq_info *sn_irq_info) { - - struct sn_intr_list_t **prev, *curr; - int cpu = intr->bi_cpu; - int i; - - if (sn_intr_list[irq] == NULL) - return; - - prev = &sn_intr_list[irq]; - curr = sn_intr_list[irq]; - while (curr) { - if (curr->intr == intr) { - *prev = curr->next; - break; + int irq = sn_irq_info->irq_irq; + int cpu = sn_irq_info->irq_cpuid; + struct sn_irq_info *tmp_irq_info; + int i, foundmatch; + + if (pdacpu(cpu)->sn_last_irq == irq) { + foundmatch = 0; + for (i = pdacpu(cpu)->sn_last_irq - 1; i; i--) { + tmp_irq_info = sn_irq[i]; + while (tmp_irq_info) { + if (tmp_irq_info->irq_cpuid == cpu) { + foundmatch++; + break; + } + tmp_irq_info = tmp_irq_info->irq_next; + } + if (foundmatch) { + break; + } } - prev = &curr->next; - curr = curr->next; + pdacpu(cpu)->sn_last_irq = i; } - if (curr) - kfree(curr); - - if (!sn_intr_list[irq]) { - if (pdacpu(cpu)->sn_last_irq == irq) { - for (i = pdacpu(cpu)->sn_last_irq - 1; i; i--) - if (sn_intr_list[i]) + if (pdacpu(cpu)->sn_first_irq == irq) { + foundmatch = 0; + for (i = pdacpu(cpu)->sn_first_irq + 1; i < NR_IRQS; i++) { + tmp_irq_info = sn_irq[i]; + while (tmp_irq_info) { + if (tmp_irq_info->irq_cpuid == cpu) { + foundmatch++; break; - pdacpu(cpu)->sn_last_irq = i; + } + tmp_irq_info = tmp_irq_info->irq_next; + } + if (foundmatch) { + break; + } } + pdacpu(cpu)->sn_first_irq = ((i == NR_IRQS) ? 0 : i); + } +} - if (pdacpu(cpu)->sn_first_irq == irq) { - pdacpu(cpu)->sn_first_irq = 0; - for (i = pdacpu(cpu)->sn_first_irq + 1; i < NR_IRQS; i++) - if (sn_intr_list[i]) - pdacpu(cpu)->sn_first_irq = i; - } +struct sn_irq_info *sn_irq_alloc(nasid_t local_nasid, int local_widget, int irq, + nasid_t nasid, int slice) +{ + struct sn_irq_info *sn_irq_info; + int status; + + sn_irq_info = kmalloc(sizeof(*sn_irq_info), GFP_KERNEL); + if (sn_irq_info == NULL) + return NULL; + + memset(sn_irq_info, 0x0, sizeof(*sn_irq_info)); + + status = + sn_intr_alloc(local_nasid, local_widget, __pa(sn_irq_info), irq, + nasid, slice); + + if (status) { + kfree(sn_irq_info); + return NULL; + } else { + return sn_irq_info; } +} + +void sn_irq_free(struct sn_irq_info *sn_irq_info) +{ + uint64_t bridge = (uint64_t) sn_irq_info->irq_bridge; + nasid_t local_nasid = NASID_GET(bridge); + int local_widget; + if (local_nasid & 1) /* tio check */ + local_widget = TIO_SWIN_WIDGETNUM(bridge); + else + local_widget = SWIN_WIDGETNUM(bridge); + + sn_intr_free(local_nasid, local_widget, sn_irq_info); + + kfree(sn_irq_info); } -void -force_polled_int(void) +void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info) { - int i; - struct sn_intr_list_t *p; + nasid_t nasid = sn_irq_info->irq_nasid; + int slice = sn_irq_info->irq_slice; + int cpu = nasid_slice_to_cpuid(nasid, slice); - for (i=0; iintr){ - pcibr_force_interrupt(p->intr); - } - p = p->next; - } - } + sn_irq_info->irq_cpuid = cpu; + sn_irq_info->irq_pciioinfo = SN_PCIDEV_INFO(pci_dev); + + /* link it into the sn_irq[irq] list */ + sn_irq_info->irq_next = sn_irq[sn_irq_info->irq_irq]; + sn_irq[sn_irq_info->irq_irq] = sn_irq_info; + + (void)register_intr_pda(sn_irq_info); } -static void -force_interrupt(int irq) +static void force_interrupt(int irq) { - struct sn_intr_list_t *p = sn_intr_list[irq]; + struct sn_irq_info *sn_irq_info; - while (p) { - if (p->intr) { - pcibr_force_interrupt(p->intr); + if (!sn_ioif_inited) + return; + sn_irq_info = sn_irq[irq]; + while (sn_irq_info) { + if (IS_PCI_BRIDGE_ASIC(sn_irq_info->irq_bridge_type) && + (sn_irq_info->irq_bridge != NULL)) { + pcibr_force_interrupt(sn_irq_info); } - p = p->next; + sn_irq_info = sn_irq_info->irq_next; } } /* -Check for lost interrupts. If the PIC int_status reg. says that -an interrupt has been sent, but not handled, and the interrupt -is not pending in either the cpu irr regs or in the soft irr regs, -and the interrupt is not in service, then the interrupt may have -been lost. Force an interrupt on that pin. It is possible that -the interrupt is in flight, so we may generate a spurious interrupt, -but we should never miss a real lost interrupt. -*/ - -static void -sn_check_intr(int irq, pcibr_intr_t intr) + * Check for lost interrupts. If the PIC int_status reg. says that + * an interrupt has been sent, but not handled, and the interrupt + * is not pending in either the cpu irr regs or in the soft irr regs, + * and the interrupt is not in service, then the interrupt may have + * been lost. Force an interrupt on that pin. It is possible that + * the interrupt is in flight, so we may generate a spurious interrupt, + * but we should never miss a real lost interrupt. + */ +static void sn_check_intr(int irq, struct sn_irq_info *sn_irq_info) { - unsigned long regval; + uint64_t regval; int irr_reg_num; int irr_bit; - unsigned long irr_reg; + uint64_t irr_reg; + struct pcidev_info *pcidev_info; + struct pcibus_info *pcibus_info; + + pcidev_info = (struct pcidev_info *)sn_irq_info->irq_pciioinfo; + if (!pcidev_info) + return; + pcibus_info = + (struct pcibus_info *)pcidev_info->pdi_host_pcidev_info-> + pdi_pcibus_info; + regval = pcireg_intr_status_get(pcibus_info); - regval = pcireg_intr_status_get(intr->bi_soft); irr_reg_num = irq_to_vector(irq) / 64; irr_bit = irq_to_vector(irq) % 64; switch (irr_reg_num) { - case 0: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR0); - break; - case 1: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR1); - break; - case 2: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR2); - break; - case 3: - irr_reg = ia64_getreg(_IA64_REG_CR_IRR3); - break; + case 0: + irr_reg = ia64_getreg(_IA64_REG_CR_IRR0); + break; + case 1: + irr_reg = ia64_getreg(_IA64_REG_CR_IRR1); + break; + case 2: + irr_reg = ia64_getreg(_IA64_REG_CR_IRR2); + break; + case 3: + irr_reg = ia64_getreg(_IA64_REG_CR_IRR3); + break; } - if (!test_bit(irr_bit, &irr_reg) ) { - if (!test_bit(irq, pda->sn_soft_irr) ) { - if (!test_bit(irq, pda->sn_in_service_ivecs) ) { + if (!test_bit(irr_bit, &irr_reg)) { + if (!test_bit(irq, pda->sn_soft_irr)) { + if (!test_bit(irq, pda->sn_in_service_ivecs)) { regval &= 0xff; - if (intr->bi_ibits & regval & intr->bi_last_intr) { - regval &= ~(intr->bi_ibits & regval); - pcibr_force_interrupt(intr); + if (sn_irq_info->irq_int_bit & regval & + sn_irq_info->irq_last_intr) { + regval &= + ~(sn_irq_info-> + irq_int_bit & regval); + pcibr_force_interrupt(sn_irq_info); } } } } - intr->bi_last_intr = regval; + sn_irq_info->irq_last_intr = regval; } -void -sn_lb_int_war_check(void) +void sn_lb_int_war_check(void) { int i; - if (pda->sn_first_irq == 0) return; - for (i=pda->sn_first_irq; - i <= pda->sn_last_irq; i++) { - struct sn_intr_list_t *p = sn_intr_list[i]; - if (p == NULL) { - continue; - } - while (p) { - sn_check_intr(i, p->intr); - p = p->next; + if (!sn_ioif_inited || pda->sn_first_irq == 0) + return; + for (i = pda->sn_first_irq; i <= pda->sn_last_irq; i++) { + struct sn_irq_info *sn_irq_info = sn_irq[i]; + while (sn_irq_info) { + /* Only call for PCI bridges that are fully initialized. */ + if (IS_PCI_BRIDGE_ASIC(sn_irq_info->irq_bridge_type) && + (sn_irq_info->irq_bridge != NULL)) { + sn_check_intr(i, sn_irq_info); } + sn_irq_info = sn_irq_info->irq_next; + } } } diff --git a/arch/ia64/sn/kernel/mca.c b/arch/ia64/sn/kernel/mca.c index 3b313e0a3..857774bb2 100644 --- a/arch/ia64/sn/kernel/mca.c +++ b/arch/ia64/sn/kernel/mca.c @@ -10,13 +10,10 @@ #include #include #include -#include #include #include #include - - /* * Interval for calling SAL to poll for errors that do NOT cause error * interrupts. SAL will raise a CPEI if any errors are present that @@ -24,7 +21,6 @@ */ #define CPEI_INTERVAL (5*HZ) - struct timer_list sn_cpei_timer; void sn_init_cpei_timer(void); @@ -42,8 +38,7 @@ static u64 *sn_oemdata_size, sn_oemdata_bufsize; * info for platform errors. buf is appended to sn_oemdata, resizing as * required. */ -static int -print_hook(const char *fmt, ...) +static int print_hook(const char *fmt, ...) { char buf[400]; int len; @@ -55,7 +50,8 @@ print_hook(const char *fmt, ...) while (*sn_oemdata_size + len + 1 > sn_oemdata_bufsize) { u8 *newbuf = vmalloc(sn_oemdata_bufsize += 1000); if (!newbuf) { - printk(KERN_ERR "%s: unable to extend sn_oemdata\n", __FUNCTION__); + printk(KERN_ERR "%s: unable to extend sn_oemdata\n", + __FUNCTION__); return 0; } memcpy(newbuf, *sn_oemdata, *sn_oemdata_size); @@ -67,9 +63,7 @@ print_hook(const char *fmt, ...) return 0; } - -static void -sn_cpei_handler(int irq, void *devid, struct pt_regs *regs) +static void sn_cpei_handler(int irq, void *devid, struct pt_regs *regs) { /* * this function's sole purpose is to call SAL when we receive @@ -82,16 +76,13 @@ sn_cpei_handler(int irq, void *devid, struct pt_regs *regs) ia64_sn_plat_cpei_handler(); } - -static void -sn_cpei_timer_handler(unsigned long dummy) +static void sn_cpei_timer_handler(unsigned long dummy) { sn_cpei_handler(-1, NULL, NULL); mod_timer(&sn_cpei_timer, jiffies + CPEI_INTERVAL); } -void -sn_init_cpei_timer(void) +void sn_init_cpei_timer(void) { init_timer(&sn_cpei_timer); sn_cpei_timer.expires = jiffies + CPEI_INTERVAL; @@ -100,16 +91,14 @@ sn_init_cpei_timer(void) } static int -sn_platform_plat_specific_err_print(const u8 *sect_header, u8 **oemdata, u64 *oemdata_size) +sn_platform_plat_specific_err_print(const u8 * sect_header, u8 ** oemdata, + u64 * oemdata_size) { - sal_log_plat_specific_err_info_t *psei = (sal_log_plat_specific_err_info_t *)sect_header; - if (!psei->valid.oem_data) - return 0; down(&sn_oemdata_mutex); sn_oemdata = oemdata; sn_oemdata_size = oemdata_size; sn_oemdata_bufsize = 0; - ia64_sn_plat_specific_err_print(print_hook, (char *)psei); + ia64_sn_plat_specific_err_print(print_hook, (char *)sect_header); up(&sn_oemdata_mutex); return 0; } @@ -120,13 +109,21 @@ sn_platform_plat_specific_err_print(const u8 *sect_header, u8 **oemdata, u64 *oe int sn_salinfo_platform_oemdata(const u8 *sect_header, u8 **oemdata, u64 *oemdata_size) { efi_guid_t guid = *(efi_guid_t *)sect_header; + int valid = 0; *oemdata_size = 0; vfree(*oemdata); *oemdata = NULL; - if (efi_guidcmp(guid, SAL_PLAT_SPECIFIC_ERR_SECT_GUID) == 0 || - efi_guidcmp(guid, SAL_PLAT_MEM_DEV_ERR_SECT_GUID) == 0) + if (efi_guidcmp(guid, SAL_PLAT_SPECIFIC_ERR_SECT_GUID) == 0) { + sal_log_plat_specific_err_info_t *psei = (sal_log_plat_specific_err_info_t *)sect_header; + valid = psei->valid.oem_data; + } else if (efi_guidcmp(guid, SAL_PLAT_MEM_DEV_ERR_SECT_GUID) == 0) { + sal_log_mem_dev_err_info_t *mdei = (sal_log_mem_dev_err_info_t *)sect_header; + valid = mdei->valid.oem_data; + } + if (valid) return sn_platform_plat_specific_err_print(sect_header, oemdata, oemdata_size); - return 0; + else + return 0; } static int __init sn_salinfo_init(void) diff --git a/arch/ia64/sn/kernel/setup.c b/arch/ia64/sn/kernel/setup.c index d3830e338..c92b4b443 100644 --- a/arch/ia64/sn/kernel/setup.c +++ b/arch/ia64/sn/kernel/setup.c @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1999,2001-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1999,2001-2004 Silicon Graphics, Inc. All rights reserved. */ #include @@ -34,63 +34,59 @@ #include #include #include -#include -#include #include #include #include #include #include -#include #include +#include "shub.h" #include #include +#include #include #include -#include +#include +#include "xtalk/xwidgetdev.h" +#include "xtalk/hubdev.h" +#include + DEFINE_PER_CPU(struct pda_s, pda_percpu); -#define MAX_PHYS_MEMORY (1UL << 49) /* 1 TB */ +#define MAX_PHYS_MEMORY (1UL << 49) /* 1 TB */ + +lboard_t *root_lboard[MAX_COMPACT_NODES]; + +extern void bte_init_node(nodepda_t *, cnodeid_t); -extern void bte_init_node (nodepda_t *, cnodeid_t); extern void sn_timer_init(void); extern unsigned long last_time_offset; -extern void init_platform_hubinfo(nodepda_t **nodepdaindr); -extern void (*ia64_mark_idle)(int); +extern void (*ia64_mark_idle) (int); extern void snidle(int); extern unsigned char acpi_kbd_controller_present; +unsigned long sn_rtc_cycles_per_second; -unsigned long sn_rtc_cycles_per_second; +EXPORT_SYMBOL(sn_rtc_cycles_per_second); partid_t sn_partid = -1; +EXPORT_SYMBOL(sn_partid); char sn_system_serial_number_string[128]; +EXPORT_SYMBOL(sn_system_serial_number_string); u64 sn_partition_serial_number; +EXPORT_SYMBOL(sn_partition_serial_number); short physical_node_map[MAX_PHYSNODE_ID]; EXPORT_SYMBOL(physical_node_map); -int numionodes; -/* - * This is the address of the RRegs in the HSpace of the global - * master. It is used by a hack in serial.c (serial_[in|out], - * printk.c (early_printk), and kdb_io.c to put console output on that - * node's Bedrock UART. It is initialized here to 0, so that - * early_printk won't try to access the UART before - * master_node_bedrock_address is properly calculated. - */ -u64 master_node_bedrock_address; +int numionodes; static void sn_init_pdas(char **); static void scan_for_ionodes(void); - -static nodepda_t *nodepdaindr[MAX_COMPACT_NODES]; - -irqpda_t *irqpdaindr; - +static nodepda_t *nodepdaindr[MAX_COMPACT_NODES]; /* * The format of "screen_info" is strange, and due to early i386-setup @@ -98,14 +94,14 @@ irqpda_t *irqpdaindr; * VGA color display. */ struct screen_info sn_screen_info = { - .orig_x = 0, - .orig_y = 0, - .orig_video_mode = 3, - .orig_video_cols = 80, - .orig_video_ega_bx = 3, - .orig_video_lines = 25, - .orig_video_isVGA = 1, - .orig_video_points = 16 + .orig_x = 0, + .orig_y = 0, + .orig_video_mode = 3, + .orig_video_cols = 80, + .orig_video_ega_bx = 3, + .orig_video_lines = 25, + .orig_video_isVGA = 1, + .orig_video_points = 16 }; /* @@ -117,11 +113,24 @@ struct screen_info sn_screen_info = { * is sufficient (the IDE driver will autodetect the drive geometry). */ #ifdef CONFIG_IA64_GENERIC -extern char drive_info[4*16]; +extern char drive_info[4 * 16]; #else -char drive_info[4*16]; +char drive_info[4 * 16]; #endif +/* + * Get nasid of current cpu early in boot before nodepda is initialized + */ +static int +boot_get_nasid(void) +{ + int nasid; + + if (ia64_sn_get_sapic_info(get_sapicid(), &nasid, NULL, NULL)) + BUG(); + return nasid; +} + /* * This routine can only be used during init, since * smp_boot_data is an init data structure. @@ -131,8 +140,7 @@ char drive_info[4*16]; * may not be initialized yet. */ -static int __init -pxm_to_nasid(int pxm) +static int __init pxm_to_nasid(int pxm) { int i; int nid; @@ -145,6 +153,7 @@ pxm_to_nasid(int pxm) } return -1; } + /** * early_sn_setup - early setup routine for SN platforms * @@ -152,16 +161,15 @@ pxm_to_nasid(int pxm) * for bringup. See start_kernel() in init/main.c. */ -void __init -early_sn_setup(void) +void __init early_sn_setup(void) { - void ia64_sal_handler_init (void *entry_point, void *gpval); - efi_system_table_t *efi_systab; - efi_config_table_t *config_tables; - struct ia64_sal_systab *sal_systab; - struct ia64_sal_desc_entry_point *ep; - char *p; - int i; + void ia64_sal_handler_init(void *entry_point, void *gpval); + efi_system_table_t *efi_systab; + efi_config_table_t *config_tables; + struct ia64_sal_systab *sal_systab; + struct ia64_sal_desc_entry_point *ep; + char *p; + int i; /* * Parse enough of the SAL tables to locate the SAL entry point. Since, console @@ -170,81 +178,57 @@ early_sn_setup(void) * This code duplicates some of the ACPI table parsing that is in efi.c & sal.c. * Any changes to those file may have to be made hereas well. */ - efi_systab = (efi_system_table_t*)__va(ia64_boot_param->efi_systab); + efi_systab = (efi_system_table_t *) __va(ia64_boot_param->efi_systab); config_tables = __va(efi_systab->tables); for (i = 0; i < efi_systab->nr_tables; i++) { - if (efi_guidcmp(config_tables[i].guid, SAL_SYSTEM_TABLE_GUID) == 0) { + if (efi_guidcmp(config_tables[i].guid, SAL_SYSTEM_TABLE_GUID) == + 0) { sal_systab = __va(config_tables[i].table); - p = (char*)(sal_systab+1); + p = (char *)(sal_systab + 1); for (i = 0; i < sal_systab->entry_count; i++) { if (*p == SAL_DESC_ENTRY_POINT) { - ep = (struct ia64_sal_desc_entry_point *) p; - ia64_sal_handler_init(__va(ep->sal_proc), __va(ep->gp)); + ep = (struct ia64_sal_desc_entry_point + *)p; + ia64_sal_handler_init(__va + (ep->sal_proc), + __va(ep->gp)); break; } p += SAL_DESC_SIZE(*p); } } } - - if ( IS_RUNNING_ON_SIMULATOR() ) { - master_node_bedrock_address = (u64)REMOTE_HUB(get_nasid(), SH_JUNK_BUS_UART0); - printk(KERN_DEBUG "early_sn_setup: setting master_node_bedrock_address to 0x%lx\n", master_node_bedrock_address); - } } extern int platform_intr_list[]; extern nasid_t master_nasid; static int shub_1_1_found __initdata; - /* * sn_check_for_wars * * Set flag for enabling shub specific wars */ -static inline int __init -is_shub_1_1(int nasid) +static inline int __init is_shub_1_1(int nasid) { unsigned long id; - int rev; + int rev; id = REMOTE_HUB_L(nasid, SH_SHUB_ID); - rev = (id & SH_SHUB_ID_REVISION_MASK) >> SH_SHUB_ID_REVISION_SHFT; + rev = (id & SH_SHUB_ID_REVISION_MASK) >> SH_SHUB_ID_REVISION_SHFT; return rev <= 2; } -static void __init -sn_check_for_wars(void) +static void __init sn_check_for_wars(void) { - int cnode; + int cnode; - for (cnode=0; cnode< numnodes; cnode++) + for (cnode = 0; cnode < numnodes; cnode++) if (is_shub_1_1(cnodeid_to_nasid(cnode))) shub_1_1_found = 1; } -/** - * sn_set_error_handling_features - Tell the SN prom how to handle certain - * error types. - */ -static void __init -sn_set_error_handling_features(void) -{ - u64 ret; - u64 sn_ehf_bits[7]; /* see ia64_sn_set_error_handling_features */ - memset(sn_ehf_bits, 0, sizeof(sn_ehf_bits)); -#define EHF(x) __set_bit(SN_SAL_EHF_ ## x, sn_ehf_bits) - EHF(MCA_SLV_TO_OS_INIT_SLV); - EHF(NO_RZ_TLBC); - // Uncomment once Jesse's code goes in - EHF(NO_RZ_IO_READ); -#undef EHF - ret = ia64_sn_set_error_handling_features(sn_ehf_bits); - if (ret) - printk(KERN_ERR "%s: failed, return code %ld\n", __FUNCTION__, ret); -} - /** * sn_setup - SN platform setup routine * @cmdline_p: kernel command line @@ -253,15 +237,12 @@ sn_set_error_handling_features(void) * the RTC frequency (via a SAL call), initializing secondary CPUs, and * setting up per-node data areas. The console is also initialized here. */ -void __init -sn_setup(char **cmdline_p) +void __init sn_setup(char **cmdline_p) { long status, ticks_per_sec, drift; int pxm; int major = sn_sal_rev_major(), minor = sn_sal_rev_minor(); - extern nasid_t snia_get_master_baseio_nasid(void); extern void sn_cpu_init(void); - extern nasid_t snia_get_console_nasid(void); /* * If the generic code has enabled vga console support - lets @@ -276,17 +257,17 @@ sn_setup(char **cmdline_p) conswitchp = &dummy_con; #else conswitchp = NULL; -#endif /* CONFIG_DUMMY_CONSOLE */ +#endif /* CONFIG_DUMMY_CONSOLE */ } -#endif /* def(CONFIG_VT) && def(CONFIG_VGA_CONSOLE) */ +#endif /* def(CONFIG_VT) && def(CONFIG_VGA_CONSOLE) */ MAX_DMA_ADDRESS = PAGE_OFFSET + MAX_PHYS_MEMORY; memset(physical_node_map, -1, sizeof(physical_node_map)); - for (pxm=0; pxmcnodeid_to_nasid_table, -1, sizeof(pda->cnodeid_to_nasid_table)); - for (cnode=0; cnodecnodeid_to_nasid_table[cnode] = pxm_to_nasid(nid_to_pxm_map[cnode]); + memset(pda->cnodeid_to_nasid_table, -1, + sizeof(pda->cnodeid_to_nasid_table)); + for (cnode = 0; cnode < numnodes; cnode++) + pda->cnodeid_to_nasid_table[cnode] = + pxm_to_nasid(nid_to_pxm_map[cnode]); numionodes = numnodes; scan_for_ionodes(); - /* - * Allocate & initalize the nodepda for each node. - */ - for (cnode=0; cnode < numnodes; cnode++) { - nodepdaindr[cnode] = alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t)); + /* + * Allocate & initalize the nodepda for each node. + */ + for (cnode = 0; cnode < numnodes; cnode++) { + nodepdaindr[cnode] = + alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t)); memset(nodepdaindr[cnode], 0, sizeof(nodepda_t)); - } + memset(nodepdaindr[cnode]->phys_cpuid, -1, + sizeof(nodepdaindr[cnode]->phys_cpuid)); + } /* - * Now copy the array of nodepda pointers to each nodepda. + * Allocate & initialize nodepda for TIOs. For now, put them on node 0. */ - for (cnode=0; cnode < numionodes; cnode++) - memcpy(nodepdaindr[cnode]->pernode_pdaindr, nodepdaindr, sizeof(nodepdaindr)); + for (cnode = numnodes; cnode < numionodes; cnode++) { + nodepdaindr[cnode] = + alloc_bootmem_node(NODE_DATA(0), sizeof(nodepda_t)); + memset(nodepdaindr[cnode], 0, sizeof(nodepda_t)); + } + /* + * Now copy the array of nodepda pointers to each nodepda. + */ + for (cnode = 0; cnode < numionodes; cnode++) + memcpy(nodepdaindr[cnode]->pernode_pdaindr, nodepdaindr, + sizeof(nodepdaindr)); /* * Set up IO related platform-dependent nodepda fields. @@ -409,8 +386,15 @@ sn_init_pdas(char **cmdline_p) * in nodepda. */ for (cnode = 0; cnode < numnodes; cnode++) { - init_platform_nodepda(nodepdaindr[cnode], cnode); - bte_init_node (nodepdaindr[cnode], cnode); + bte_init_node(nodepdaindr[cnode], cnode); + } + + /* + * Initialize the per node hubdev. This includes IO Nodes and + * headless/memless nodes. + */ + for (cnode = 0; cnode < numionodes; cnode++) { + hubdev_init_node(nodepdaindr[cnode], cnode); } } @@ -423,15 +407,16 @@ sn_init_pdas(char **cmdline_p) * Also sets up a few fields in the nodepda. Also known as * platform_cpu_init() by the ia64 machvec code. */ -void __init -sn_cpu_init(void) +void __init sn_cpu_init(void) { - int cpuid; - int cpuphyid; - int nasid; - int slice; - int cnode; - static int wars_have_been_checked; + int cpuid; + int cpuphyid; + int nasid; + int subnode; + int slice; + int cnode; + int i; + static int wars_have_been_checked; /* * The boot cpu makes this call again after platform initialization is @@ -441,22 +426,34 @@ sn_cpu_init(void) return; cpuid = smp_processor_id(); - cpuphyid = ((ia64_getreg(_IA64_REG_CR_LID) >> 16) & 0xffff); - nasid = cpu_physical_id_to_nasid(cpuphyid); + cpuphyid = get_sapicid(); + + if (ia64_sn_get_sapic_info(cpuphyid, &nasid, &subnode, &slice)) + BUG(); + + for (i=0; i < NR_NODES; i++) { + if (nodepdaindr[i]) { + nodepdaindr[i]->phys_cpuid[cpuid].nasid = nasid; + nodepdaindr[i]->phys_cpuid[cpuid].slice = slice; + nodepdaindr[i]->phys_cpuid[cpuid].subnode = subnode; + } + } + cnode = nasid_to_cnodeid(nasid); - slice = cpu_physical_id_to_slice(cpuphyid); memset(pda, 0, sizeof(pda)); pda->p_nodepda = nodepdaindr[cnode]; - pda->led_address = (typeof(pda->led_address)) (LED0 + (slice<led_address = + (typeof(pda->led_address)) (LED0 + (slice << LED_CPU_SHIFT)); pda->led_state = LED_ALWAYS_SET; - pda->hb_count = HZ/2; + pda->hb_count = HZ / 2; pda->hb_state = 0; pda->idle_flag = 0; - if (cpuid != 0){ - memcpy(pda->cnodeid_to_nasid_table, pdacpu(0)->cnodeid_to_nasid_table, - sizeof(pda->cnodeid_to_nasid_table)); + if (cpuid != 0) { + memcpy(pda->cnodeid_to_nasid_table, + pdacpu(0)->cnodeid_to_nasid_table, + sizeof(pda->cnodeid_to_nasid_table)); } /* @@ -470,30 +467,27 @@ sn_cpu_init(void) wars_have_been_checked = 1; } pda->shub_1_1_found = shub_1_1_found; - /* * We must use different memory allocators for first cpu (bootmem * allocator) than for the other cpus (regular allocator). */ - if (cpuid == 0) - irqpdaindr = alloc_bootmem_node(NODE_DATA(cpuid_to_cnodeid(cpuid)),sizeof(irqpda_t)); - - memset(irqpdaindr, 0, sizeof(irqpda_t)); - irqpdaindr->irq_flags[SGI_PCIBR_ERROR] = SN2_IRQ_SHARED; - irqpdaindr->irq_flags[SGI_PCIBR_ERROR] |= SN2_IRQ_RESERVED; - irqpdaindr->irq_flags[SGI_II_ERROR] = SN2_IRQ_SHARED; - irqpdaindr->irq_flags[SGI_II_ERROR] |= SN2_IRQ_RESERVED; - pda->pio_write_status_addr = (volatile unsigned long *) - LOCAL_MMR_ADDR((slice < 2 ? SH_PIO_WRITE_STATUS_0 : SH_PIO_WRITE_STATUS_1 ) ); + LOCAL_MMR_ADDR((slice < + 2 ? SH_PIO_WRITE_STATUS_0 : SH_PIO_WRITE_STATUS_1)); pda->mem_write_status_addr = (volatile u64 *) - LOCAL_MMR_ADDR((slice < 2 ? SH_MEMORY_WRITE_STATUS_0 : SH_MEMORY_WRITE_STATUS_1 ) ); + LOCAL_MMR_ADDR((slice < + 2 ? SH_MEMORY_WRITE_STATUS_0 : + SH_MEMORY_WRITE_STATUS_1)); if (local_node_data->active_cpu_count++ == 0) { - int buddy_nasid; - buddy_nasid = cnodeid_to_nasid(numa_node_id() == numnodes-1 ? 0 : numa_node_id()+ 1); - pda->pio_shub_war_cam_addr = (volatile unsigned long*)GLOBAL_MMR_ADDR(nasid, SH_PI_CAM_CONTROL); + int buddy_nasid; + buddy_nasid = + cnodeid_to_nasid(numa_node_id() == + numnodes - 1 ? 0 : numa_node_id() + 1); + pda->pio_shub_war_cam_addr = + (volatile unsigned long *)GLOBAL_MMR_ADDR(nasid, + SH_PI_CAM_CONTROL); } } @@ -502,48 +496,53 @@ sn_cpu_init(void) * physical_node_map and the pda and increment numionodes. */ -static void __init -scan_for_ionodes(void) +static void __init scan_for_ionodes(void) { int nasid = 0; lboard_t *brd; /* Setup ionodes with memory */ - for (nasid = 0; nasid < MAX_PHYSNODE_ID; nasid +=2) { + for (nasid = 0; nasid < MAX_PHYSNODE_ID; nasid += 2) { u64 klgraph_header; cnodeid_t cnodeid; - if (physical_node_map[nasid] == -1) + if (physical_node_map[nasid] == -1) continue; klgraph_header = cnodeid = -1; klgraph_header = ia64_sn_get_klconfig_addr(nasid); if (klgraph_header <= 0) { - if ( IS_RUNNING_ON_SIMULATOR() ) + if (IS_RUNNING_ON_SIMULATOR()) continue; - BUG(); /* All nodes must have klconfig tables! */ + BUG(); /* All nodes must have klconfig tables! */ } cnodeid = nasid_to_cnodeid(nasid); root_lboard[cnodeid] = (lboard_t *) - NODE_OFFSET_TO_LBOARD( (nasid), - ((kl_config_hdr_t *)(klgraph_header))-> - ch_board_info); + NODE_OFFSET_TO_LBOARD((nasid), + ((kl_config_hdr_t + *) (klgraph_header))-> + ch_board_info); } /* Scan headless/memless IO Nodes. */ - for (nasid = 0; nasid < MAX_PHYSNODE_ID; nasid +=2) { + for (nasid = 0; nasid < MAX_PHYSNODE_ID; nasid += 2) { /* if there's no nasid, don't try to read the klconfig on the node */ - if (physical_node_map[nasid] == -1) continue; - brd = find_lboard_any((lboard_t *)root_lboard[nasid_to_cnodeid(nasid)], KLTYPE_SNIA); + if (physical_node_map[nasid] == -1) + continue; + brd = find_lboard_any((lboard_t *) + root_lboard[nasid_to_cnodeid(nasid)], + KLTYPE_SNIA); if (brd) { - brd = KLCF_NEXT_ANY(brd); /* Skip this node's lboard */ + brd = KLCF_NEXT_ANY(brd); /* Skip this node's lboard */ if (!brd) continue; } brd = find_lboard_any(brd, KLTYPE_SNIA); + while (brd) { - pda->cnodeid_to_nasid_table[numionodes] = brd->brd_nasid; + pda->cnodeid_to_nasid_table[numionodes] = + brd->brd_nasid; physical_node_map[brd->brd_nasid] = numionodes; root_lboard[numionodes] = brd; numionodes++; @@ -554,4 +553,39 @@ scan_for_ionodes(void) brd = find_lboard_any(brd, KLTYPE_SNIA); } } + + /* Scan for TIO nodes. */ + for (nasid = 0; nasid < MAX_PHYSNODE_ID; nasid += 2) { + /* if there's no nasid, don't try to read the klconfig on the node */ + if (physical_node_map[nasid] == -1) + continue; + brd = find_lboard_any((lboard_t *) + root_lboard[nasid_to_cnodeid(nasid)], + KLTYPE_TIO); + while (brd) { + pda->cnodeid_to_nasid_table[numionodes] = + brd->brd_nasid; + physical_node_map[brd->brd_nasid] = numionodes; + root_lboard[numionodes] = brd; + numionodes++; + brd = KLCF_NEXT_ANY(brd); + if (!brd) + break; + + brd = find_lboard_any(brd, KLTYPE_TIO); + } + } + +} + +int +nasid_slice_to_cpuid(int nasid, int slice) +{ + long cpu; + + for (cpu=0; cpu < NR_CPUS; cpu++) + if (nodepda->phys_cpuid[cpu].nasid == nasid && nodepda->phys_cpuid[cpu].slice == slice) + return cpu; + + return -1; } diff --git a/arch/ia64/sn/kernel/sn2/io.c b/arch/ia64/sn/kernel/sn2/io.c index 37b4190b7..a12c0586d 100644 --- a/arch/ia64/sn/kernel/sn2/io.c +++ b/arch/ia64/sn/kernel/sn2/io.c @@ -9,7 +9,7 @@ * we wrap the inlines from asm/ia64/sn/sn2/io.h here. */ -#include +#include #ifdef CONFIG_IA64_GENERIC @@ -28,88 +28,74 @@ #undef __sn_readl_relaxed #undef __sn_readq_relaxed -unsigned int -__sn_inb (unsigned long port) +unsigned int __sn_inb(unsigned long port) { return ___sn_inb(port); } -unsigned int -__sn_inw (unsigned long port) +unsigned int __sn_inw(unsigned long port) { return ___sn_inw(port); } -unsigned int -__sn_inl (unsigned long port) +unsigned int __sn_inl(unsigned long port) { return ___sn_inl(port); } -void -__sn_outb (unsigned char val, unsigned long port) +void __sn_outb(unsigned char val, unsigned long port) { ___sn_outb(val, port); } -void -__sn_outw (unsigned short val, unsigned long port) +void __sn_outw(unsigned short val, unsigned long port) { ___sn_outw(val, port); } -void -__sn_outl (unsigned int val, unsigned long port) +void __sn_outl(unsigned int val, unsigned long port) { ___sn_outl(val, port); } -unsigned char -__sn_readb (void *addr) +unsigned char __sn_readb(void __iomem *addr) { - return ___sn_readb (addr); + return ___sn_readb(addr); } -unsigned short -__sn_readw (void *addr) +unsigned short __sn_readw(void __iomem *addr) { - return ___sn_readw (addr); + return ___sn_readw(addr); } -unsigned int -__sn_readl (void *addr) +unsigned int __sn_readl(void __iomem *addr) { - return ___sn_readl (addr); + return ___sn_readl(addr); } -unsigned long -__sn_readq (void *addr) +unsigned long __sn_readq(void __iomem *addr) { - return ___sn_readq (addr); + return ___sn_readq(addr); } -unsigned char -__sn_readb_relaxed (void *addr) +unsigned char __sn_readb_relaxed(void __iomem *addr) { - return ___sn_readb_relaxed (addr); + return ___sn_readb_relaxed(addr); } -unsigned short -__sn_readw_relaxed (void *addr) +unsigned short __sn_readw_relaxed(void __iomem *addr) { - return ___sn_readw_relaxed (addr); + return ___sn_readw_relaxed(addr); } -unsigned int -__sn_readl_relaxed (void *addr) +unsigned int __sn_readl_relaxed(void __iomem *addr) { - return ___sn_readl_relaxed (addr); + return ___sn_readl_relaxed(addr); } -unsigned long -__sn_readq_relaxed (void *addr) +unsigned long __sn_readq_relaxed(void __iomem *addr) { - return ___sn_readq_relaxed (addr); + return ___sn_readq_relaxed(addr); } #endif diff --git a/arch/ia64/sn/kernel/sn2/prominfo_proc.c b/arch/ia64/sn/kernel/sn2/prominfo_proc.c index bcc938b28..fd569e702 100644 --- a/arch/ia64/sn/kernel/sn2/prominfo_proc.c +++ b/arch/ia64/sn/kernel/sn2/prominfo_proc.c @@ -3,10 +3,10 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1999,2001-2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (C) 1999,2001-2004 Silicon Graphics, Inc. All Rights Reserved. * * Module to export the system's Firmware Interface Tables, including - * PROM revision numbers, in /proc + * PROM revision numbers and banners, in /proc */ #include #include @@ -14,41 +14,14 @@ #include #include #include -#include -#include - -/* to lookup nasids */ +#include #include +#include MODULE_DESCRIPTION("PROM version reporting for /proc"); MODULE_AUTHOR("Chad Talbott"); MODULE_LICENSE("GPL"); -#undef DEBUG_PROMINFO - -#define TRACE_PROMINFO - -#if defined(DEBUG_PROMINFO) -# define DPRINTK(x...) printk(KERN_DEBUG x) -#else -# define DPRINTK(x...) -#endif - -#if defined(TRACE_PROMINFO) && defined(DEBUG_PROMINFO) -# if defined(__GNUC__) -# define TRACE() printk(KERN_DEBUG "%s:%d:%s\n", \ - __FILE__, __LINE__, __FUNCTION__) -# else -# define TRACE() printk(KERN_DEBUG "%s:%d\n", __LINE__, __FILE__) -# endif -#else -# define TRACE() -#endif - -/* Sub-regions determined by bits in Node Offset */ -#define LB_PROM_SPACE 0x0000000700000000ul /* Local LB PROM */ - -#define FIT_SIGNATURE 0x2020205f5449465ful /* Standard Intel FIT entry types */ #define FIT_ENTRY_FIT_HEADER 0x00 /* FIT header entry */ #define FIT_ENTRY_PAL_B 0x01 /* PAL_B entry */ @@ -81,37 +54,30 @@ MODULE_LICENSE("GPL"); #define FIT_TYPE(q) \ ((unsigned) ((q) >> FIT_TYPE_SHIFT) & FIT_TYPE_MASK) -#define FIT_ENTRY(type, maj, min, size) \ - ((((unsigned long)(maj) & FIT_MAJOR_MASK) << FIT_MAJOR_SHIFT) | \ - (((unsigned long)(min) & FIT_MINOR_MASK) << FIT_MINOR_SHIFT) | \ - (((unsigned long)(type) & FIT_TYPE_MASK) << FIT_TYPE_SHIFT) | \ - (size)) - struct fit_type_map_t { - unsigned char type; - const char *name; + unsigned char type; + const char *name; }; static const struct fit_type_map_t fit_entry_types[] = { - { FIT_ENTRY_FIT_HEADER, "FIT Header" }, - { FIT_ENTRY_PAL_A_GEN, "Generic PAL_A" }, - { FIT_ENTRY_PAL_A_PROC, "Processor-specific PAL_A" }, - { FIT_ENTRY_PAL_A, "PAL_A" }, - { FIT_ENTRY_PAL_B, "PAL_B" }, - { FIT_ENTRY_SAL_A, "SAL_A" }, - { FIT_ENTRY_SAL_B, "SAL_B" }, - { FIT_ENTRY_SALRUNTIME, "SAL runtime" }, - { FIT_ENTRY_EFI, "EFI" }, - { FIT_ENTRY_VMLINUX, "Embedded Linux" }, - { FIT_ENTRY_FPSWA, "Embedded FPSWA" }, - { FIT_ENTRY_UNUSED, "Unused" }, - { 0xff, "Error" }, + {FIT_ENTRY_FIT_HEADER, "FIT Header"}, + {FIT_ENTRY_PAL_A_GEN, "Generic PAL_A"}, + {FIT_ENTRY_PAL_A_PROC, "Processor-specific PAL_A"}, + {FIT_ENTRY_PAL_A, "PAL_A"}, + {FIT_ENTRY_PAL_B, "PAL_B"}, + {FIT_ENTRY_SAL_A, "SAL_A"}, + {FIT_ENTRY_SAL_B, "SAL_B"}, + {FIT_ENTRY_SALRUNTIME, "SAL runtime"}, + {FIT_ENTRY_EFI, "EFI"}, + {FIT_ENTRY_VMLINUX, "Embedded Linux"}, + {FIT_ENTRY_FPSWA, "Embedded FPSWA"}, + {FIT_ENTRY_UNUSED, "Unused"}, + {0xff, "Error"}, }; -static const char * -fit_type_name(unsigned char type) +static const char *fit_type_name(unsigned char type) { - struct fit_type_map_t const*mapp; + struct fit_type_map_t const *mapp; for (mapp = fit_entry_types; mapp->type != 0xff; mapp++) if (type == mapp->type) @@ -125,32 +91,34 @@ fit_type_name(unsigned char type) return "Unknown type"; } -/* These two routines read the FIT table directly from the FLASH PROM - * on a specific node. The PROM can only be accessed using aligned 64 - * bit reads, so we do that and then shift and mask the result to get - * at each field. - */ static int -dump_fit_entry(char *page, unsigned long *fentry) +get_fit_entry(unsigned long nasid, int index, unsigned long *fentry, + char *banner, int banlen) { - unsigned long q1, q2; - unsigned type; + return ia64_sn_get_fit_compt(nasid, index, fentry, banner, banlen); +} - TRACE(); - q1 = readq(fentry); - q2 = readq(fentry + 1); - type = FIT_TYPE(q2); +/* + * These two routines display the FIT table for each node. + */ +static int dump_fit_entry(char *page, unsigned long *fentry) +{ + unsigned type; + + type = FIT_TYPE(fentry[1]); return sprintf(page, "%02x %-25s %x.%02x %016lx %u\n", type, fit_type_name(type), - FIT_MAJOR(q2), FIT_MINOR(q2), - q1, + FIT_MAJOR(fentry[1]), FIT_MINOR(fentry[1]), + fentry[0], /* mult by sixteen to get size in bytes */ - (unsigned)q2 * 16); + (unsigned)(fentry[1] & 0xffffff) * 16); } -/* We assume that the fit table will be small enough that we can print + +/* + * We assume that the fit table will be small enough that we can print * the whole thing into one page. (This is true for our default 16kB * pages -- each entry is about 60 chars wide when printed.) I read * somewhere that the maximum size of the FIT is 128 entries, so we're @@ -158,55 +126,47 @@ dump_fit_entry(char *page, unsigned long *fentry) * anyway). */ static int -dump_fit(char *page, unsigned long *fit) +dump_fit(char *page, unsigned long nasid) { - unsigned long qw; - int nentries; - int fentry; + unsigned long fentry[2]; + int index; char *p; - TRACE(); - - DPRINTK("dumping fit from %p\n", (void *)fit); - - qw = readq(fit); - DPRINTK("FIT signature: %016lx (%.8s)\n", qw, (char *)&qw); - if (qw != FIT_SIGNATURE) - printk(KERN_WARNING "Unrecognized FIT signature"); - - qw = readq(fit + 1); - nentries = (unsigned)qw; - DPRINTK("number of fit entries: %u\n", nentries); - /* check that we won't overflow the page -- see comment above */ - BUG_ON(nentries * 60 > PAGE_SIZE); - p = page; - for (fentry = 0; fentry < nentries; fentry++) - /* each FIT entry is two 64 bit words */ - p += dump_fit_entry(p, fit + 2 * fentry); + for (index=0;;index++) { + BUG_ON(index * 60 > PAGE_SIZE); + if (get_fit_entry(nasid, index, fentry, NULL, 0)) + break; + p += dump_fit_entry(p, fentry); + } return p - page; } static int -dump_version(char *page, unsigned long *fit) +dump_version(char *page, unsigned long nasid) { - int nentries; - int fentry; - unsigned long qw; + unsigned long fentry[2]; + char banner[128]; + int index; + int len; + + for (index = 0; ; index++) { + if (get_fit_entry(nasid, index, fentry, banner, + sizeof(banner))) + return 0; + if (FIT_TYPE(fentry[1]) == FIT_ENTRY_SAL_A) + break; + } - TRACE(); + len = sprintf(page, "%x.%02x\n", FIT_MAJOR(fentry[1]), + FIT_MINOR(fentry[1])); + page += len; - nentries = (unsigned)readq(fit + 1); - BUG_ON(nentries * 60 > PAGE_SIZE); + if (banner[0]) + len += snprintf(page, PAGE_SIZE-len, "%s\n", banner); - for (fentry = 0; fentry < nentries; fentry++) { - qw = readq(fit + 2 * fentry + 1); - if (FIT_TYPE(qw) == FIT_ENTRY_SAL_A) - return sprintf(page, "%x.%02x\n", - FIT_MAJOR(qw), FIT_MINOR(qw)); - } - return 0; + return len; } /* same as in proc_misc.c */ @@ -214,11 +174,14 @@ static int proc_calc_metrics(char *page, char **start, off_t off, int count, int *eof, int len) { - if (len <= off+count) *eof = 1; + if (len <= off + count) + *eof = 1; *start = page + off; len -= off; - if (len>count) len = count; - if (len<0) len = 0; + if (len > count) + len = count; + if (len < 0) + len = 0; return len; } @@ -228,8 +191,8 @@ read_version_entry(char *page, char **start, off_t off, int count, int *eof, { int len = 0; - /* data holds the pointer to this node's FIT */ - len = dump_version(page, (unsigned long *)data); + /* data holds the NASID of the node */ + len = dump_version(page, (unsigned long)data); len = proc_calc_metrics(page, start, off, count, eof, len); return len; } @@ -240,56 +203,13 @@ read_fit_entry(char *page, char **start, off_t off, int count, int *eof, { int len = 0; - /* data holds the pointer to this node's FIT */ - len = dump_fit(page, (unsigned long *)data); + /* data holds the NASID of the node */ + len = dump_fit(page, (unsigned long)data); len = proc_calc_metrics(page, start, off, count, eof, len); return len; } -/* this is a fake FIT that's used on the medusa simulator which - * doesn't usually run a complete PROM. - */ -#ifdef CONFIG_IA64_SGI_SN_SIM -static unsigned long fakefit[] = { - /* this is all we need to satisfy the code below */ - FIT_SIGNATURE, - FIT_ENTRY(FIT_ENTRY_FIT_HEADER, 0x02, 0x60, 2), - /* dump something arbitrary for - * /proc/sgi_prominfo/nodeX/version */ - 0xbadbeef00fa3ef17ul, - FIT_ENTRY(FIT_ENTRY_SAL_A, 0, 0x99, 0x100) -}; -#endif - -static unsigned long * -lookup_fit(int nasid) -{ - unsigned long *fitp; - unsigned long fit_paddr; - unsigned long *fit_vaddr; - -#ifdef CONFIG_IA64_SGI_SN_SIM - if (IS_RUNNING_ON_SIMULATOR()) - return fakefit; -#endif - - fitp = (void *)GLOBAL_MMR_ADDR(nasid, LB_PROM_SPACE - 32); - DPRINTK("pointer to fit at %p\n", (void *)fitp); - fit_paddr = readq(fitp); - DPRINTK("fit pointer contains %lx\n", fit_paddr); - /* snag just the node-relative offset */ - fit_paddr &= ~0ul >> (63-35); - /* the pointer to the FIT is relative to IA-64 compatibility - * space. However, the PROM is mapped at a different offset - * in MMR space (both local and global) - */ - fit_paddr += 0x700000000; - fit_vaddr = (void *)GLOBAL_MMR_ADDR(nasid, fit_paddr); - DPRINTK("fit at %p\n", (void *)fit_vaddr); - return fit_vaddr; -} - /* module entry points */ int __init prominfo_init(void); void __exit prominfo_exit(void); @@ -302,23 +222,17 @@ static struct proc_dir_entry *sgi_prominfo_entry; #define NODE_NAME_LEN 11 -int __init -prominfo_init(void) +int __init prominfo_init(void) { struct proc_dir_entry **entp; struct proc_dir_entry *p; cnodeid_t cnodeid; - nasid_t nasid; + unsigned long nasid; char name[NODE_NAME_LEN]; if (!ia64_platform_is("sn2")) return 0; - TRACE(); - - DPRINTK("running on cpu %d\n", smp_processor_id()); - DPRINTK("numnodes %d\n", numnodes); - proc_entries = kmalloc(numnodes * sizeof(struct proc_dir_entry *), GFP_KERNEL); @@ -332,12 +246,12 @@ prominfo_init(void) nasid = cnodeid_to_nasid(cnodeid); p = create_proc_read_entry( "fit", 0, *entp, read_fit_entry, - lookup_fit(nasid)); + (void *)nasid); if (p) p->owner = THIS_MODULE; p = create_proc_read_entry( "version", 0, *entp, read_version_entry, - lookup_fit(nasid)); + (void *)nasid); if (p) p->owner = THIS_MODULE; } @@ -345,18 +259,14 @@ prominfo_init(void) return 0; } -void __exit -prominfo_exit(void) +void __exit prominfo_exit(void) { struct proc_dir_entry **entp; unsigned cnodeid; char name[NODE_NAME_LEN]; - TRACE(); - for (cnodeid = 0, entp = proc_entries; - cnodeid < numnodes; - cnodeid++, entp++) { + cnodeid < numnodes; cnodeid++, entp++) { remove_proc_entry("fit", *entp); remove_proc_entry("version", *entp); sprintf(name, "node%d", cnodeid); diff --git a/arch/ia64/sn/kernel/sn2/ptc_deadlock.S b/arch/ia64/sn/kernel/sn2/ptc_deadlock.S index 4bd638dc0..9cb2d7906 100644 --- a/arch/ia64/sn/kernel/sn2/ptc_deadlock.S +++ b/arch/ia64/sn/kernel/sn2/ptc_deadlock.S @@ -3,10 +3,10 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ -#include +#include #define ZEROVAL 0x3f // "zero" value for outstanding PIO requests #define DEADLOCKBIT SH_PIO_WRITE_STATUS_0_WRITE_DEADLOCK_SHFT diff --git a/arch/ia64/sn/kernel/sn2/sn2_smp.c b/arch/ia64/sn/kernel/sn2/sn2_smp.c index 3ee7c10af..0d425f7a8 100644 --- a/arch/ia64/sn/kernel/sn2/sn2_smp.c +++ b/arch/ia64/sn/kernel/sn2/sn2_smp.c @@ -18,10 +18,10 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -29,46 +29,41 @@ #include #include #include -#include #include #include #include +#include #include -#include +#include #include #include void sn2_ptc_deadlock_recovery(unsigned long data0, unsigned long data1); - static spinlock_t sn2_global_ptc_lock __cacheline_aligned = SPIN_LOCK_UNLOCKED; static unsigned long sn2_ptc_deadlock_count; - -static inline unsigned long -wait_piowc(void) +static inline unsigned long wait_piowc(void) { volatile unsigned long *piows; - unsigned long ws; + unsigned long ws; piows = pda->pio_write_status_addr; do { ia64_mfa(); - } while (((ws = *piows) & SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT_MASK) != - SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT_MASK); + } while (((ws = + *piows) & SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT_MASK) != + SH_PIO_WRITE_STATUS_0_PENDING_WRITE_COUNT_MASK); return ws; } - -void -sn_tlb_migrate_finish(struct mm_struct *mm) +void sn_tlb_migrate_finish(struct mm_struct *mm) { if (mm == current->mm) flush_tlb_mm(mm); } - /** * sn2_global_tlb_purge - globally purge translation cache of virtual address range * @start: start of virtual address range @@ -90,13 +85,14 @@ sn_tlb_migrate_finish(struct mm_struct *mm) */ void -sn2_global_tlb_purge (unsigned long start, unsigned long end, unsigned long nbits) +sn2_global_tlb_purge(unsigned long start, unsigned long end, + unsigned long nbits) { - int i, cnode, mynasid, cpu, lcpu=0, nasid, flushed=0; - volatile unsigned long *ptc0, *ptc1; - unsigned long flags=0, data0, data1; - struct mm_struct *mm=current->active_mm; - short nasids[NR_NODES], nix; + int i, cnode, mynasid, cpu, lcpu = 0, nasid, flushed = 0; + volatile unsigned long *ptc0, *ptc1; + unsigned long flags = 0, data0, data1; + struct mm_struct *mm = current->active_mm; + short nasids[NR_NODES], nix; DECLARE_BITMAP(nodes_flushed, NR_NODES); bitmap_zero(nodes_flushed, NR_NODES); @@ -114,7 +110,7 @@ sn2_global_tlb_purge (unsigned long start, unsigned long end, unsigned long nbit if (likely(i == 1 && lcpu == smp_processor_id())) { do { - ia64_ptcl(start, nbits<<2); + ia64_ptcl(start, nbits << 2); start += (1UL << nbits); } while (start < end); ia64_srlz_i(); @@ -128,42 +124,42 @@ sn2_global_tlb_purge (unsigned long start, unsigned long end, unsigned long nbit return; } - nix = 0; - for (cnode=find_first_bit(&nodes_flushed, NR_NODES); cnode < NR_NODES; - cnode=find_next_bit(&nodes_flushed, NR_NODES, ++cnode)) + for (cnode = find_first_bit(&nodes_flushed, NR_NODES); cnode < NR_NODES; + cnode = find_next_bit(&nodes_flushed, NR_NODES, ++cnode)) nasids[nix++] = cnodeid_to_nasid(cnode); + data0 = (1UL << SH_PTC_0_A_SHFT) | + (nbits << SH_PTC_0_PS_SHFT) | + ((ia64_get_rr(start) >> 8) << SH_PTC_0_RID_SHFT) | + (1UL << SH_PTC_0_START_SHFT); - data0 = (1UL<>8)<pio_write_status_addr; + ptc0 = (long *)GLOBAL_MMR_PHYS_ADDR(0, SH_PTC_0); + ptc1 = (long *)GLOBAL_MMR_PHYS_ADDR(0, SH_PTC_1); + piows = (long *)pda->pio_write_status_addr; mycnode = numa_node_id(); @@ -210,6 +206,7 @@ sn2_ptc_deadlock_recovery(unsigned long data0, unsigned long data1) /** * sn_send_IPI_phys - send an IPI to a Nasid and slice + * @nasid: nasid to receive the interrupt (may be outside partition) * @physid: physical cpuid to receive the interrupt. * @vector: command to send * @delivery_mode: delivery mechanism @@ -224,34 +221,31 @@ sn2_ptc_deadlock_recovery(unsigned long data0, unsigned long data1) * %IA64_IPI_DM_NMI - pend an NMI * %IA64_IPI_DM_INIT - pend an INIT interrupt */ -void -sn_send_IPI_phys(long physid, int vector, int delivery_mode) +void sn_send_IPI_phys(int nasid, long physid, int vector, int delivery_mode) { - long nasid, slice, val; - unsigned long flags=0; - volatile long *p; - - nasid = cpu_physical_id_to_nasid(physid); - slice = cpu_physical_id_to_slice(physid); + long val; + unsigned long flags = 0; + volatile long *p; - p = (long*)GLOBAL_MMR_PHYS_ADDR(nasid, SH_IPI_INT); - val = (1UL< #include -#include #include static int partition_id_show(struct seq_file *s, void *p) @@ -63,9 +62,14 @@ static int sn_force_interrupt_show(struct seq_file *s, void *p) } static ssize_t sn_force_interrupt_write_proc(struct file *file, - const __user char *buffer, size_t count, loff_t *data) + const char __user *buffer, size_t count, loff_t *data) { - sn_force_interrupt_flag = (*buffer == '0') ? 0 : 1; + char val; + + if (copy_from_user(&val, buffer, 1)) + return -EFAULT; + + sn_force_interrupt_flag = (val == '0') ? 0 : 1; return count; } @@ -76,7 +80,8 @@ static int sn_force_interrupt_open(struct inode *inode, struct file *file) static int coherence_id_show(struct seq_file *s, void *p) { - seq_printf(s, "%d\n", cpuid_to_coherence_id(smp_processor_id())); + seq_printf(s, "%d\n", partition_coherence_id()); + return 0; } @@ -117,7 +122,7 @@ void register_sn_procfs(void) struct proc_dir_entry *e; BUG_ON(sgi_proc_dir != NULL); - if (!(sgi_proc_dir = proc_mkdir("sgi_sn", 0))) + if (!(sgi_proc_dir = proc_mkdir("sgi_sn", NULL))) return; sn_procfs_create_entry("partition_id", sgi_proc_dir, diff --git a/arch/ia64/sn/kernel/sn2/timer.c b/arch/ia64/sn/kernel/sn2/timer.c index 85f7d215a..d785b9a4c 100644 --- a/arch/ia64/sn/kernel/sn2/timer.c +++ b/arch/ia64/sn/kernel/sn2/timer.c @@ -15,21 +15,22 @@ #include #include +#include "shub.h" #include +#include #include - extern unsigned long sn_rtc_cycles_per_second; +static struct time_interpolator sn2_interpolator = { + .drift = -1, + .shift = 10, + .mask = (1LL << 55) - 1, + .source = TIME_SOURCE_MMIO64, + .addr = RTC_COUNTER_ADDR +}; -static struct time_interpolator sn2_interpolator; - -void __init -sn_timer_init(void) +void __init sn_timer_init(void) { sn2_interpolator.frequency = sn_rtc_cycles_per_second; - sn2_interpolator.drift = -1; /* unknown */ - sn2_interpolator.shift = 10; /* RTC is 54 bits maximum shift is 10 */ - sn2_interpolator.addr = RTC_COUNTER_ADDR; - sn2_interpolator.source = TIME_SOURCE_MMIO64; register_time_interpolator(&sn2_interpolator); } diff --git a/arch/ia64/sn/kernel/sn2/timer_interrupt.c b/arch/ia64/sn/kernel/sn2/timer_interrupt.c index dd2c28413..a432b9345 100644 --- a/arch/ia64/sn/kernel/sn2/timer_interrupt.c +++ b/arch/ia64/sn/kernel/sn2/timer_interrupt.c @@ -34,26 +34,27 @@ #include #include +#include "shub.h" #include extern void sn_lb_int_war_check(void); -extern irqreturn_t timer_interrupt (int irq, void *dev_id, struct pt_regs *regs); +extern irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs); #define SN_LB_INT_WAR_INTERVAL 100 -void -sn_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) +void sn_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { /* LED blinking */ if (!pda->hb_count--) { - pda->hb_count = HZ/2; - set_led_bits(pda->hb_state ^= LED_CPU_HEARTBEAT, LED_CPU_HEARTBEAT); + pda->hb_count = HZ / 2; + set_led_bits(pda->hb_state ^= + LED_CPU_HEARTBEAT, LED_CPU_HEARTBEAT); } if (enable_shub_wars_1_1()) { /* Bugfix code for SHUB 1.1 */ - if (pda->pio_shub_war_cam_addr) - *pda->pio_shub_war_cam_addr = 0x8000000000000010UL; + if (pda->pio_shub_war_cam_addr) + *pda->pio_shub_war_cam_addr = 0x8000000000000010UL; } if (pda->sn_lb_int_war_ticks == 0) sn_lb_int_war_check(); diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 35ea6886f..fc2c3d0cb 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -21,12 +21,10 @@ config RWSEM_GENERIC_SPINLOCK config RWSEM_XCHGADD_ALGORITHM bool - mainmenu "Linux/68k Kernel Configuration" source "init/Kconfig" - menu "Platform dependent setup" config EISA @@ -355,7 +353,6 @@ config 060_WRITETHROUGH endmenu - menu "General setup" source "fs/Kconfig.binfmt" @@ -447,7 +444,6 @@ endmenu source "drivers/Kconfig" - menu "Character devices" config ATARI_MFPSER @@ -652,43 +648,7 @@ endmenu source "fs/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - -config DEBUG_BUGVERBOSE - bool "Verbose BUG() reporting" - depends on DEBUG_KERNEL - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -endmenu +source "arch/m68k/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -697,4 +657,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile index bc79771e8..59c25bc9d 100644 --- a/arch/m68k/Makefile +++ b/arch/m68k/Makefile @@ -28,7 +28,7 @@ ifdef CONFIG_SUN3 LDFLAGS_vmlinux = -N endif -CHECK := $(CHECK) -D__mc68000__=1 -I$(shell $(CC) -print-file-name=include) +CHECKFLAGS += -D__mc68000__ -I$(shell $(CC) -print-file-name=include) # without -fno-strength-reduce the 53c7xx.c driver fails ;-( CFLAGS += -pipe -fno-strength-reduce -ffixed-a2 diff --git a/arch/m68k/kernel/bios32.c b/arch/m68k/kernel/bios32.c index be2f7e616..738531ca2 100644 --- a/arch/m68k/kernel/bios32.c +++ b/arch/m68k/kernel/bios32.c @@ -77,11 +77,6 @@ static int disable_pci_burst; /* If set do not allow PCI bursts. */ static unsigned int io_base; static unsigned int mem_base; -struct pci_fixup pcibios_fixups[] = -{ - { 0 } -}; - /* * static void disable_dev(struct pci_dev *dev) * diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index b426ab55a..93b043e2a 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c @@ -232,7 +232,7 @@ asmlinkage int m68k_clone(struct pt_regs *regs) child_tidptr = (int *)regs->d4; if (!newsp) newsp = rdusp(); - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0, + return do_fork(clone_flags, newsp, regs, 0, parent_tidptr, child_tidptr); } diff --git a/arch/m68k/kernel/ptrace.c b/arch/m68k/kernel/ptrace.c index 0f0b28d34..1e143b467 100644 --- a/arch/m68k/kernel/ptrace.c +++ b/arch/m68k/kernel/ptrace.c @@ -279,7 +279,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) long tmp; ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ @@ -381,11 +381,8 @@ asmlinkage void syscall_trace(void) if (!current->thread.work.delayed_trace && !current->thread.work.syscall_trace) return; - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/m68k/kernel/signal.c b/arch/m68k/kernel/signal.c index c37c4dbb8..4a319bdef 100644 --- a/arch/m68k/kernel/signal.c +++ b/arch/m68k/kernel/signal.c @@ -842,9 +842,7 @@ adjust_stack: return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); goto adjust_stack; } @@ -925,9 +923,7 @@ adjust_stack: return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); goto adjust_stack; } diff --git a/arch/m68k/kernel/vmlinux-std.lds b/arch/m68k/kernel/vmlinux-std.lds index b0a5cd53d..42aeea9fc 100644 --- a/arch/m68k/kernel/vmlinux-std.lds +++ b/arch/m68k/kernel/vmlinux-std.lds @@ -51,9 +51,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) diff --git a/arch/m68k/kernel/vmlinux-sun3.lds b/arch/m68k/kernel/vmlinux-sun3.lds index 12931b324..7a18ed062 100644 --- a/arch/m68k/kernel/vmlinux-sun3.lds +++ b/arch/m68k/kernel/vmlinux-sun3.lds @@ -45,9 +45,6 @@ __init_begin = .; __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c index 541897351..1215b5bea 100644 --- a/arch/m68k/q40/q40ints.c +++ b/arch/m68k/q40/q40ints.c @@ -19,12 +19,12 @@ #include #include #include +#include #include #include #include #include -#include #include #include diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index b8f71e760..90cd4079b 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig @@ -5,6 +5,10 @@ mainmenu "uClinux/68k (w/o MMU) Kernel Configuration" +config M68KNOMMU + bool + default y + config MMU bool default n @@ -25,7 +29,6 @@ config RWSEM_XCHGADD_ALGORITHM bool default n - source "init/Kconfig" menu "Processor type and features" @@ -388,7 +391,7 @@ config LARGE_ALLOCS a lot of RAM, and you need to able to allocate very large contiguous chunks. If unsure, say N. -choice +choice prompt "RAM size" default AUTO @@ -421,7 +424,7 @@ config RAM32MB endchoice -choice +choice prompt "RAM bus width" default RAMAUTOBIT @@ -472,7 +475,6 @@ endchoice endmenu - menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)" config PCI @@ -511,60 +513,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -menu "Kernel hacking" - -config FULLDEBUG - bool "Full Symbolic/Source Debugging support" - help - Enable debuging symbols on kernel build. - -config FRAME_POINTER - bool "Compile the kernel with frame pointers" - help - If you say Y here the resulting kernel image will be slightly larger - and slower, but it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame pointers. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - help - Enables console device to interpret special characters as - commands to dump state information. - -config HIGHPROFILE - bool "Use fast second timer for profiling" - depends on COLDFIRE - help - Use a fast secondary clock to produce profiling information. - -config BOOTPARAM - bool 'Compiled-in Kernel Boot Parameter' - -config BOOTPARAM_STRING - string 'Kernel Boot Parameter' - default 'console=ttyS0,19200' - depends on BOOTPARAM - -config DUMPTOFLASH - bool "Panic/Dump to FLASH" - depends on COLDFIRE - help - Dump any panic of trap output into a flash memory segment - for later analysis. - -config NO_KERNEL_MSG - bool "Suppress Kernel BUG Messages" - help - Do not output any debug BUG messages within the kernel. - -config BDM_DISABLE - bool "Disable BDM signals" - depends on (EXPERIMENTAL && COLDFIRE) - help - Disable the ColdFire CPU's BDM signals. - -endmenu +source "arch/m68knommu/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -573,4 +522,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/m68knommu/kernel/comempci.c b/arch/m68knommu/kernel/comempci.c index ce5dafa69..8670938f1 100644 --- a/arch/m68knommu/kernel/comempci.c +++ b/arch/m68knommu/kernel/comempci.c @@ -351,8 +351,6 @@ char *pcibios_setup(char *option) } /*****************************************************************************/ -struct pci_fixup pcibios_fixups[] = { { 0 } }; - void pcibios_fixup_bus(struct pci_bus *b) { } diff --git a/arch/m68knommu/kernel/m68k_ksyms.c b/arch/m68knommu/kernel/m68k_ksyms.c index 33e084146..e93a5ad56 100644 --- a/arch/m68knommu/kernel/m68k_ksyms.c +++ b/arch/m68knommu/kernel/m68k_ksyms.c @@ -16,7 +16,6 @@ #include #include #include -#include #include extern void dump_thread(struct pt_regs *, struct user *); @@ -50,16 +49,16 @@ EXPORT_SYMBOL(csum_partial_copy); explicitly (the C compiler generates them). Fortunately, their interface isn't gonna change any time soon now, so it's OK to leave it out of version control. */ -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(memcmp); -EXPORT_SYMBOL_NOVERS(memscan); -EXPORT_SYMBOL_NOVERS(memmove); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(memscan); +EXPORT_SYMBOL(memmove); -EXPORT_SYMBOL_NOVERS(__down_failed); -EXPORT_SYMBOL_NOVERS(__down_failed_interruptible); -EXPORT_SYMBOL_NOVERS(__down_failed_trylock); -EXPORT_SYMBOL_NOVERS(__up_wakeup); +EXPORT_SYMBOL(__down_failed); +EXPORT_SYMBOL(__down_failed_interruptible); +EXPORT_SYMBOL(__down_failed_trylock); +EXPORT_SYMBOL(__up_wakeup); EXPORT_SYMBOL(get_wchan); @@ -79,27 +78,27 @@ extern void __udivsi3(void); extern void __umodsi3(void); /* gcc lib functions */ -EXPORT_SYMBOL_NOVERS(__ashldi3); -EXPORT_SYMBOL_NOVERS(__ashrdi3); -EXPORT_SYMBOL_NOVERS(__divsi3); -EXPORT_SYMBOL_NOVERS(__lshrdi3); -EXPORT_SYMBOL_NOVERS(__modsi3); -EXPORT_SYMBOL_NOVERS(__muldi3); -EXPORT_SYMBOL_NOVERS(__mulsi3); -EXPORT_SYMBOL_NOVERS(__udivsi3); -EXPORT_SYMBOL_NOVERS(__umodsi3); +EXPORT_SYMBOL(__ashldi3); +EXPORT_SYMBOL(__ashrdi3); +EXPORT_SYMBOL(__divsi3); +EXPORT_SYMBOL(__lshrdi3); +EXPORT_SYMBOL(__modsi3); +EXPORT_SYMBOL(__muldi3); +EXPORT_SYMBOL(__mulsi3); +EXPORT_SYMBOL(__udivsi3); +EXPORT_SYMBOL(__umodsi3); -EXPORT_SYMBOL_NOVERS(is_in_rom); +EXPORT_SYMBOL(is_in_rom); #ifdef CONFIG_COLDFIRE extern unsigned int *dma_device_address; extern unsigned long dma_base_addr, _ramend; -EXPORT_SYMBOL_NOVERS(dma_base_addr); -EXPORT_SYMBOL_NOVERS(dma_device_address); -EXPORT_SYMBOL_NOVERS(_ramend); +EXPORT_SYMBOL(dma_base_addr); +EXPORT_SYMBOL(dma_device_address); +EXPORT_SYMBOL(_ramend); extern asmlinkage void trap(void); extern void *_ramvec; -EXPORT_SYMBOL_NOVERS(trap); -EXPORT_SYMBOL_NOVERS(_ramvec); +EXPORT_SYMBOL(trap); +EXPORT_SYMBOL(_ramvec); #endif /* CONFIG_COLDFIRE */ diff --git a/arch/m68knommu/kernel/process.c b/arch/m68knommu/kernel/process.c index 581eef2b7..b0901d817 100644 --- a/arch/m68knommu/kernel/process.c +++ b/arch/m68knommu/kernel/process.c @@ -188,7 +188,7 @@ asmlinkage int m68k_clone(struct pt_regs *regs) newsp = regs->d2; if (!newsp) newsp = rdusp(); - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, regs, 0, NULL, NULL); + return do_fork(clone_flags, newsp, regs, 0, NULL, NULL); } int copy_thread(int nr, unsigned long clone_flags, diff --git a/arch/m68knommu/kernel/ptrace.c b/arch/m68knommu/kernel/ptrace.c index 0c57f873a..6eee84346 100644 --- a/arch/m68knommu/kernel/ptrace.c +++ b/arch/m68knommu/kernel/ptrace.c @@ -135,13 +135,6 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) ret = ptrace_attach(child); goto out_tsk; } - ret = -ESRCH; - if (!(child->ptrace & PT_PTRACED)) - goto out_tsk; - if (child->state != TASK_STOPPED) { - if (request != PTRACE_KILL) - goto out_tsk; - } ret = ptrace_check_attach(child, request == PTRACE_KILL); if (ret < 0) goto out_tsk; @@ -273,7 +266,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) long tmp; ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ @@ -378,10 +371,8 @@ asmlinkage void syscall_trace(void) return; if (!(current->ptrace & PT_PTRACED)) return; - current->exit_code = SIGTRAP; - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 6c1c24b69..03562f510 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -381,7 +381,7 @@ config DDB5476 evaluation board. Features : kernel debugging, serial terminal, NFS root fs, on-board - ether port USB, AC97, PCI, PCI VGA card & framebuffer console, + ether port USB, AC97, PCI, PCI VGA card & framebuffer console, IDE controller, PS2 keyboard, PS2 mouse, etc. config DDB5477 @@ -400,7 +400,7 @@ config DDB5477_BUS_FREQUENCY int "bus frequency (in kHZ, 0 for auto-detect)" depends on DDB5477 default 0 - + config NEC_OSPREY bool "Support for NEC Osprey board" select DMA_NONCOHERENT @@ -513,15 +513,15 @@ config SOC_AU1550 endchoice -choice +choice prompt "AMD/Alchemy Au1x00 board support" depends on SOC_AU1X00 help These are evaluation boards built by AMD/Alchemy to showcase their Au1X00 Internet Edge Processors. The SOC design - is based on the MIPS32 architecture running at 266/400/500MHz - with many integrated peripherals. Further information can be - found at their website, . Say Y here if you + is based on the MIPS32 architecture running at 266/400/500MHz + with many integrated peripherals. Further information can be + found at their website, . Say Y here if you wish to build a kernel for this platform. config MIPS_PB1000 @@ -1091,7 +1091,6 @@ config TANBAC_TB0219 endmenu - menu "CPU selection" choice @@ -1194,7 +1193,7 @@ config PAGE_SIZE_4KB This option select the standard 4kB Linux page size. On some R3000-family processors this is the only available page size. Using 4kB page size will minimize memory consumption and is therefore - recommended for low memory systems. + recommended for low memory systems. config PAGE_SIZE_8KB bool "8kB" @@ -1382,21 +1381,6 @@ config PREEMPT This allows applications to run more reliably even when the system is under load. -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - config RTC_DS1742 bool "DS1742 BRAM/RTC support" depends on TOSHIBA_JMR3927 || TOSHIBA_RBTX4927 @@ -1562,7 +1546,7 @@ config EMBEDDED_RAMDISK_IMAGE default "ramdisk.gz" help This is the filename of the ramdisk image to be built into the - kernel. Relative pathnames are relative to arch/mips/ramdisk/. + kernel. Relative pathnames are relative to arch/mips/ramdisk/. The ramdisk image is not part of the kernel distribution; you must provide one yourself. @@ -1572,119 +1556,7 @@ source "drivers/Kconfig" source "fs/Kconfig" -menu "Kernel hacking" - -config CROSSCOMPILE - bool "Are you using a crosscompiler" - help - Say Y here if you are compiling the kernel on a different - architecture than the one it is intended to run on. - -config CMDLINE - string "Default kernel command string" - default "" - help - On some platforms, there is currently no way for the boot loader to - pass arguments to the kernel. For these platforms, you can supply - some command-line options at build time by entering them here. In - other cases you can specify kernel args so that you don't have - to set them up in board prom initialization routines. - -config DEBUG_KERNEL - bool "Kernel debugging" - -config DEBUG_STACK_USAGE - bool "Enable stack utilization instrumentation" - depends on DEBUG_KERNEL - help - Enables the display of the minimum amount of free stack which each - task has ever had available in the sysrq-T and sysrq-P debug output. - - This option will slow down process creation somewhat. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config KGDB - bool "Remote GDB kernel debugging" - depends on DEBUG_KERNEL - select DEBUG_INFO - help - If you say Y here, it will be possible to remotely debug the MIPS - kernel using gdb. This enlarges your kernel image disk size by - several megabytes and requires a machine with more than 16 MB, - better 32 MB RAM to avoid excessive linking time. This is only - useful for kernel hackers. If unsure, say N. - -config GDB_CONSOLE - bool "Console output to GDB" - depends on KGDB - help - If you are using GDB for remote debugging over a serial port and - would like kernel messages to be formatted into GDB $O packets so - that GDB prints them as program output, say 'Y'. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config SB1XXX_CORELIS - bool "Corelis Debugger" - depends on SIBYTE_SB1xxx_SOC - select DEBUG_INFO - help - Select compile flags that produce code that can be processed by the - Corelis mksym utility and UDB Emulator. - -config RUNTIME_DEBUG - bool "Enable run-time debugging" - depends on DEBUG_KERNEL - help - If you say Y here, some debugging macros will do run-time checking. - If you say N here, those macros will mostly turn to no-ops. See - include/asm-mips/debug.h for debuging macros. - If unsure, say N. - - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config MIPS_UNCACHED - bool "Run uncached" - depends on DEBUG_KERNEL && !SMP && !SGI_IP27 - help - If you say Y here there kernel will disable all CPU caches. This will - reduce the system's performance dramatically but can help finding - otherwise hard to track bugs. It can also useful if you're doing - hardware debugging with a logic analyzer and need to see all traffic - on the bus. - -config DEBUG_HIGHMEM - bool "Highmem debugging" - depends on DEBUG_KERNEL && HIGHMEM - -endmenu +source "arch/mips/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 371558708..5025c01b9 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile @@ -56,14 +56,12 @@ endif # cflags-y := -I $(TOPDIR)/include/asm/gcc cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -cflags-y += $(call check_gcc, -finline-limit=100000,) +cflags-y += $(call cc-option, -finline-limit=100000) LDFLAGS_vmlinux += -G 0 -static -n MODFLAGS += -mlong-calls cflags-$(CONFIG_SB1XXX_CORELIS) += -mno-sched-prolog -fno-omit-frame-pointer -check_warning = $(shell if $(CC) $(1) -c -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi) - # # Use: $(call set_gccflags,,,,,) # @@ -162,7 +160,7 @@ cflags-$(CONFIG_CPU_R5432) += \ cflags-$(CONFIG_CPU_NEVADA) += \ $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \ -Wa,--trap -# $(call check_gcc,-mmad,) +# $(call cc-option,-mmad) cflags-$(CONFIG_CPU_RM7000) += \ $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \ @@ -643,7 +641,7 @@ endif # none has been choosen above. # -AFLAGS_vmlinux.lds.o := \ +CPPFLAGS_vmlinux.lds := \ -D"LOADADDR=$(load-y)" \ -D"JIFFIES=$(JIFFIES)" \ -imacros $(srctree)/include/asm-$(ARCH)/sn/mapped_kernel.h diff --git a/arch/mips/baget/irq.c b/arch/mips/baget/irq.c index d2067c037..3dcc16efd 100644 --- a/arch/mips/baget/irq.c +++ b/arch/mips/baget/irq.c @@ -180,7 +180,7 @@ skip: static void do_IRQ(int irq, struct pt_regs * regs) { struct irqaction *action; - int do_random, cpu; + int ret, do_random, cpu; cpu = smp_processor_id(); irq_enter(); @@ -194,8 +194,9 @@ static void do_IRQ(int irq, struct pt_regs * regs) action = *(irq + irq_action); do_random = 0; do { - do_random |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + do_random |= action->flags; action = action->next; } while (action); if (do_random & SA_SAMPLE_RANDOM) diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig index b6f70da71..141dc6da4 100644 --- a/arch/mips/configs/jaguar-atx_defconfig +++ b/arch/mips/configs/jaguar-atx_defconfig @@ -306,10 +306,10 @@ CONFIG_EEPRO100=y # CONFIG_R8169 is not set # CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set -CONFIG_MV64340_ETH=y -CONFIG_MV64340_ETH_0=y -CONFIG_MV64340_ETH_1=y -CONFIG_MV64340_ETH_2=y +CONFIG_MV643XX_ETH=y +CONFIG_MV643XX_ETH_0=y +CONFIG_MV643XX_ETH_1=y +CONFIG_MV643XX_ETH_2=y # # Ethernet (10000 Mbit) diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index 3eafe9ae7..c7eb418e3 100644 --- a/arch/mips/configs/ocelot_c_defconfig +++ b/arch/mips/configs/ocelot_c_defconfig @@ -303,7 +303,7 @@ CONFIG_NET_ETHERNET=y # CONFIG_R8169 is not set # CONFIG_SK98LIN is not set # CONFIG_TIGON3 is not set -# CONFIG_MV64340_ETH is not set +# CONFIG_MV643XX_ETH is not set # # Ethernet (10000 Mbit) diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index d942862ad..9933eede8 100644 --- a/arch/mips/configs/tb0226_defconfig +++ b/arch/mips/configs/tb0226_defconfig @@ -272,7 +272,6 @@ CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_NAT=y CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_TOS=y CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_PNP=y # CONFIG_IP_PNP_DHCP is not set diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig index cd08e3c03..5be7f568f 100644 --- a/arch/mips/configs/tb0229_defconfig +++ b/arch/mips/configs/tb0229_defconfig @@ -229,7 +229,6 @@ CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_NAT=y CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_TOS=y CONFIG_IP_ROUTE_VERBOSE=y CONFIG_IP_PNP=y # CONFIG_IP_PNP_DHCP is not set diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile index 3fd457737..86783790d 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile @@ -2,7 +2,7 @@ # Makefile for the Linux/MIPS kernel. # -extra-y := head.o init_task.o vmlinux.lds.s +extra-y := head.o init_task.o vmlinux.lds obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \ ptrace.o reset.o semaphore.o setup.o signal.o syscall.o \ diff --git a/arch/mips/kernel/irixsig.c b/arch/mips/kernel/irixsig.c index b15f3b0de..15ae6af5a 100644 --- a/arch/mips/kernel/irixsig.c +++ b/arch/mips/kernel/irixsig.c @@ -121,9 +121,7 @@ static void setup_irix_frame(struct k_sigaction *ka, struct pt_regs *regs, return; segv_and_exit: - if (signr == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(signr, current); } static void inline diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 13acf876b..7c1dae720 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c @@ -144,14 +144,16 @@ inline void synchronize_irq(unsigned int irq) int handle_IRQ_event(unsigned int irq, struct pt_regs * regs, struct irqaction * action) { int status = 1; /* Force the "do bottom halves" bit */ - int retval = 0; + int ret, retval = 0; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -872,30 +874,6 @@ static int irq_affinity_write_proc (struct file *file, const char *buffer, #endif -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, const char *buffer, - unsigned long count, void *data) -{ - cpumask_t *mask = (cpumask_t *)data, new_value; - unsigned long full_count = count, err; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} - #define MAX_NAMELEN 10 static void register_irq_proc (unsigned int irq) @@ -931,26 +909,15 @@ static void register_irq_proc (unsigned int irq) #endif } -unsigned long prof_cpu_mask = -1; - void init_irq_proc (void) { - struct proc_dir_entry *entry; int i; /* create /proc/irq */ root_irq_dir = proc_mkdir("irq", 0); /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - if (!entry) - return; - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c index 2b2265ada..169393cc9 100644 --- a/arch/mips/kernel/mips_ksyms.c +++ b/arch/mips/kernel/mips_ksyms.c @@ -26,36 +26,36 @@ extern long __strnlen_user_asm(const char *s); /* * String functions */ -EXPORT_SYMBOL_NOVERS(memchr); -EXPORT_SYMBOL_NOVERS(memcmp); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(memmove); -EXPORT_SYMBOL_NOVERS(strcat); -EXPORT_SYMBOL_NOVERS(strchr); +EXPORT_SYMBOL(memchr); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(memmove); +EXPORT_SYMBOL(strcat); +EXPORT_SYMBOL(strchr); #ifdef CONFIG_MIPS64 -EXPORT_SYMBOL_NOVERS(strncmp); +EXPORT_SYMBOL(strncmp); #endif -EXPORT_SYMBOL_NOVERS(strlen); -EXPORT_SYMBOL_NOVERS(strpbrk); -EXPORT_SYMBOL_NOVERS(strncat); -EXPORT_SYMBOL_NOVERS(strnlen); -EXPORT_SYMBOL_NOVERS(strrchr); -EXPORT_SYMBOL_NOVERS(strstr); +EXPORT_SYMBOL(strlen); +EXPORT_SYMBOL(strpbrk); +EXPORT_SYMBOL(strncat); +EXPORT_SYMBOL(strnlen); +EXPORT_SYMBOL(strrchr); +EXPORT_SYMBOL(strstr); EXPORT_SYMBOL(kernel_thread); /* * Userspace access stuff. */ -EXPORT_SYMBOL_NOVERS(__copy_user); -EXPORT_SYMBOL_NOVERS(__bzero); -EXPORT_SYMBOL_NOVERS(__strncpy_from_user_nocheck_asm); -EXPORT_SYMBOL_NOVERS(__strncpy_from_user_asm); -EXPORT_SYMBOL_NOVERS(__strlen_user_nocheck_asm); -EXPORT_SYMBOL_NOVERS(__strlen_user_asm); -EXPORT_SYMBOL_NOVERS(__strnlen_user_nocheck_asm); -EXPORT_SYMBOL_NOVERS(__strnlen_user_asm); +EXPORT_SYMBOL(__copy_user); +EXPORT_SYMBOL(__bzero); +EXPORT_SYMBOL(__strncpy_from_user_nocheck_asm); +EXPORT_SYMBOL(__strncpy_from_user_asm); +EXPORT_SYMBOL(__strlen_user_nocheck_asm); +EXPORT_SYMBOL(__strlen_user_asm); +EXPORT_SYMBOL(__strnlen_user_nocheck_asm); +EXPORT_SYMBOL(__strnlen_user_asm); EXPORT_SYMBOL(csum_partial); diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c index db86febff..0dfa28d01 100644 --- a/arch/mips/kernel/ptrace.c +++ b/arch/mips/kernel/ptrace.c @@ -279,7 +279,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) */ case PTRACE_KILL: ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; wake_up_process(child); diff --git a/arch/mips/kernel/ptrace32.c b/arch/mips/kernel/ptrace32.c index df7a51cce..799919d9b 100644 --- a/arch/mips/kernel/ptrace32.c +++ b/arch/mips/kernel/ptrace32.c @@ -262,7 +262,7 @@ asmlinkage int sys32_ptrace(int request, int pid, int addr, int data) */ case PTRACE_KILL: ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; wake_up_process(child); diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c index a820be85e..325705fcc 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c @@ -406,9 +406,7 @@ static void inline setup_frame(struct k_sigaction * ka, struct pt_regs *regs, return; give_sigsegv: - if (signr == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(signr, current); } #endif @@ -475,19 +473,15 @@ static void inline setup_rt_frame(struct k_sigaction * ka, struct pt_regs *regs, return; give_sigsegv: - if (signr == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(signr, current); } extern void setup_rt_frame_n32(struct k_sigaction * ka, struct pt_regs *regs, int signr, sigset_t *set, siginfo_t *info); static inline void handle_signal(unsigned long sig, siginfo_t *info, - sigset_t *oldset, struct pt_regs *regs) + struct k_sigaction *ka, sigset_t *oldset, struct pt_regs *regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - switch(regs->regs[0]) { case ERESTART_RESTARTBLOCK: case ERESTARTNOHAND: @@ -539,6 +533,7 @@ extern int do_irix_signal(sigset_t *oldset, struct pt_regs *regs); asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs) { + struct k_sigaction ka; siginfo_t info; int signr; @@ -564,9 +559,9 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs *regs) if (!oldset) oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - handle_signal(signr, &info, oldset, regs); + handle_signal(signr, &info, &ka, oldset, regs); return 1; } diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c index 407beff81..a449a5651 100644 --- a/arch/mips/kernel/signal32.c +++ b/arch/mips/kernel/signal32.c @@ -574,9 +574,7 @@ static inline void setup_frame(struct k_sigaction * ka, struct pt_regs *regs, return; give_sigsegv: - if (signr == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(signr, current); } static inline void setup_rt_frame(struct k_sigaction * ka, @@ -647,9 +645,7 @@ static inline void setup_rt_frame(struct k_sigaction * ka, return; give_sigsegv: - if (signr == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(signr, current); } static inline void handle_signal(unsigned long sig, siginfo_t *info, diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c index d262fbdc9..d2f8b8cf6 100644 --- a/arch/mips/kernel/signal_n32.c +++ b/arch/mips/kernel/signal_n32.c @@ -208,7 +208,5 @@ void setup_rt_frame_n32(struct k_sigaction * ka, return; give_sigsegv: - if (signr == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(signr, current); } diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 1f917fe93..6d1c473f6 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c @@ -35,7 +35,6 @@ #include #include #include -#include #include #include @@ -254,16 +253,6 @@ void __devinit smp_prepare_boot_cpu(void) cpu_set(0, cpu_callin_map); } -static struct task_struct * __init fork_by_hand(void) -{ - struct pt_regs regs; - /* - * don't care about the eip and regs settings since - * we'll never reschedule the forked task. - */ - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); -} - /* * Startup the CPU with this logical number */ @@ -275,20 +264,10 @@ static int __init do_boot_cpu(int cpu) * The following code is purely to make sure * Linux can schedule processes on this slave. */ - idle = fork_by_hand(); + idle = fork_idle(cpu); if (IS_ERR(idle)) panic("failed fork for CPU %d\n", cpu); - wake_up_forked_process(idle); - - /* - * We remove it from the pidhash and the runqueue once we've - * got the process: - */ - init_idle(idle, cpu); - - unhash_process(idle); - prom_boot_secondary(cpu, idle); /* XXXKW timeout */ diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 8cc462dc3..bdd7fbbf1 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c @@ -181,7 +181,7 @@ static_unused int _sys_clone(nabi_no_regargs struct pt_regs regs) newsp = regs.regs[29]; parent_tidptr = (int *) regs.regs[6]; child_tidptr = (int *) regs.regs[7]; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, + return do_fork(clone_flags, newsp, ®s, 0, parent_tidptr, child_tidptr); } @@ -266,7 +266,7 @@ asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3) strncpy(vx_new_uts(nodename), nodename, len); nodename[__NEW_UTS_LEN] = '\0'; strlcpy(vx_new_uts(nodename), nodename, - sizeof(vx_new_uts(nodename))); + sizeof(vx_new_uts(nodename))); up_write(&uts_sem); return 0; } diff --git a/arch/mips/kernel/sysirix.c b/arch/mips/kernel/sysirix.c index e82b61fbe..15272d8c1 100644 --- a/arch/mips/kernel/sysirix.c +++ b/arch/mips/kernel/sysirix.c @@ -812,8 +812,8 @@ asmlinkage int irix_times(struct tms * tbuf) return err; err |= __put_user(current->utime, &tbuf->tms_utime); err |= __put_user(current->stime, &tbuf->tms_stime); - err |= __put_user(current->cutime, &tbuf->tms_cutime); - err |= __put_user(current->cstime, &tbuf->tms_cstime); + err |= __put_user(current->signal->cutime, &tbuf->tms_cutime); + err |= __put_user(current->signal->cstime, &tbuf->tms_cstime); } return err; diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 0199485a4..915e5539e 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c @@ -29,7 +29,6 @@ #include #include #include -#include #include #include @@ -417,23 +416,8 @@ static long last_rtc_update; */ void local_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - if (!user_mode(regs)) { - if (prof_buffer && current->pid) { - unsigned long pc = regs->cp0_epc; - - pc -= (unsigned long) _stext; - pc >>= prof_shift; - /* - * Dont ignore out-of-bounds pc values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (pc > prof_len - 1) - pc = prof_len - 1; - atomic_inc((atomic_t *)&prof_buffer[pc]); - } - } - + if (current->pid) + profile_tick(CPU_PROFILING, regs); #ifdef CONFIG_SMP /* in UP mode, update_process_times() is invoked by do_timer() */ update_process_times(user_mode(regs)); diff --git a/arch/mips/momentum/jaguar_atx/prom.c b/arch/mips/momentum/jaguar_atx/prom.c index df52d2adf..fa5982ac0 100644 --- a/arch/mips/momentum/jaguar_atx/prom.c +++ b/arch/mips/momentum/jaguar_atx/prom.c @@ -40,7 +40,7 @@ const char *get_system_type(void) return "Momentum Jaguar-ATX"; } -#ifdef CONFIG_MV64340_ETH +#ifdef CONFIG_MV643XX_ETH extern unsigned char prom_mac_addr_base[6]; static void burn_clocks(void) @@ -230,7 +230,7 @@ void __init prom_init(void) mips_machgroup = MACH_GROUP_MOMENCO; mips_machtype = MACH_MOMENCO_JAGUAR_ATX; -#ifdef CONFIG_MV64340_ETH +#ifdef CONFIG_MV643XX_ETH /* get the base MAC address for on-board ethernet ports */ get_mac(prom_mac_addr_base); #endif diff --git a/arch/mips/momentum/ocelot_c/prom.c b/arch/mips/momentum/ocelot_c/prom.c index 762112965..49ac302d8 100644 --- a/arch/mips/momentum/ocelot_c/prom.c +++ b/arch/mips/momentum/ocelot_c/prom.c @@ -32,7 +32,7 @@ struct callvectors* debug_vectors; extern unsigned long marvell_base; extern unsigned long cpu_clock; -#ifdef CONFIG_MV64340_ETH +#ifdef CONFIG_MV643XX_ETH extern unsigned char prom_mac_addr_base[6]; #endif @@ -45,7 +45,7 @@ const char *get_system_type(void) #endif } -#ifdef CONFIG_MV64340_ETH +#ifdef CONFIG_MV643XX_ETH static void burn_clocks(void) { int i; @@ -227,7 +227,7 @@ void __init prom_init(void) mips_machgroup = MACH_GROUP_MOMENCO; mips_machtype = MACH_MOMENCO_OCELOT_C; -#ifdef CONFIG_MV64340_ETH +#ifdef CONFIG_MV643XX_ETH /* get the base MAC address for on-board ethernet ports */ get_mac(prom_mac_addr_base); #endif diff --git a/arch/mips/pci/fixup-au1000.c b/arch/mips/pci/fixup-au1000.c index 7bbe12336..2d42f9aa9 100644 --- a/arch/mips/pci/fixup-au1000.c +++ b/arch/mips/pci/fixup-au1000.c @@ -102,7 +102,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) { return irq_tab_alchemy[slot][pin]; } - -struct pci_fixup pcibios_fixups[] __initdata = { -{ 0 } -}; diff --git a/arch/mips/pci/fixup-capcella.c b/arch/mips/pci/fixup-capcella.c index 9a0d68ed6..458270a02 100644 --- a/arch/mips/pci/fixup-capcella.c +++ b/arch/mips/pci/fixup-capcella.c @@ -42,7 +42,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) { return irq_tab_capcella[slot][pin]; } - -struct pci_fixup pcibios_fixups[] __initdata = { - { .pass = 0, }, -}; diff --git a/arch/mips/pci/fixup-tb0226.c b/arch/mips/pci/fixup-tb0226.c index 50e639e04..6643462f7 100644 --- a/arch/mips/pci/fixup-tb0226.c +++ b/arch/mips/pci/fixup-tb0226.c @@ -77,7 +77,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) return irq; } - -struct pci_fixup pcibios_fixups[] __initdata = { - { .pass = 0, }, -}; diff --git a/arch/mips/pci/fixup-yosemite.c b/arch/mips/pci/fixup-yosemite.c index 92e40b091..e39ba2c54 100644 --- a/arch/mips/pci/fixup-yosemite.c +++ b/arch/mips/pci/fixup-yosemite.c @@ -33,7 +33,3 @@ int __init pcibios_map_irq(struct pci_dev *dev, u8 slot, u8 pin) return 3; /* Everything goes to one irq bit */ } - -struct pci_fixup pcibios_fixups[] = { - {0} -}; diff --git a/arch/mips/vr41xx/common/giu.c b/arch/mips/vr41xx/common/giu.c index bd2978fd5..fa93b0331 100644 --- a/arch/mips/vr41xx/common/giu.c +++ b/arch/mips/vr41xx/common/giu.c @@ -63,6 +63,12 @@ static uint32_t giu_base; +static struct irqaction giu_cascade = { + .handler = no_action, + .mask = CPU_MASK_NONE, + .name = "cascade", +}; + #define read_giuint(offset) readw(giu_base + (offset)) #define write_giuint(val, offset) writew((val), giu_base + (offset)) @@ -303,7 +309,6 @@ struct vr41xx_giuint_cascade { }; static struct vr41xx_giuint_cascade giuint_cascade[GIUINT_NR_IRQS]; -static struct irqaction giu_cascade = {no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL}; static int no_irq_number(int irq) { diff --git a/arch/mips/vr41xx/common/icu.c b/arch/mips/vr41xx/common/icu.c index 4fd195bc9..19ccb3b56 100644 --- a/arch/mips/vr41xx/common/icu.c +++ b/arch/mips/vr41xx/common/icu.c @@ -51,6 +51,12 @@ extern void giuint_irq_dispatch(struct pt_regs *regs); static uint32_t icu1_base; static uint32_t icu2_base; +static struct irqaction icu_cascade = { + .handler = no_action, + .mask = CPU_MASK_NONE, + .name = "cascade", +}; + static unsigned char sysint1_assign[16] = { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; static unsigned char sysint2_assign[16] = { @@ -159,218 +165,268 @@ void vr41xx_enable_piuint(uint16_t mask) { irq_desc_t *desc = irq_desc + PIU_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MPIUINTREG); - val |= mask; - write_icu1(val, MPIUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4111 || + current_cpu_data.cputype == CPU_VR4121) { + spin_lock_irqsave(&desc->lock, flags); + set_icu1(MPIUINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_piuint); + void vr41xx_disable_piuint(uint16_t mask) { irq_desc_t *desc = irq_desc + PIU_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MPIUINTREG); - val &= ~mask; - write_icu1(val, MPIUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4111 || + current_cpu_data.cputype == CPU_VR4121) { + spin_lock_irqsave(&desc->lock, flags); + clear_icu1(MPIUINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_piuint); + void vr41xx_enable_aiuint(uint16_t mask) { irq_desc_t *desc = irq_desc + AIU_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MAIUINTREG); - val |= mask; - write_icu1(val, MAIUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4111 || + current_cpu_data.cputype == CPU_VR4121) { + spin_lock_irqsave(&desc->lock, flags); + set_icu1(MAIUINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_aiuint); + void vr41xx_disable_aiuint(uint16_t mask) { irq_desc_t *desc = irq_desc + AIU_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MAIUINTREG); - val &= ~mask; - write_icu1(val, MAIUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4111 || + current_cpu_data.cputype == CPU_VR4121) { + spin_lock_irqsave(&desc->lock, flags); + clear_icu1(MAIUINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_aiuint); + void vr41xx_enable_kiuint(uint16_t mask) { irq_desc_t *desc = irq_desc + KIU_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MKIUINTREG); - val |= mask; - write_icu1(val, MKIUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4111 || + current_cpu_data.cputype == CPU_VR4121) { + spin_lock_irqsave(&desc->lock, flags); + set_icu1(MKIUINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_kiuint); + void vr41xx_disable_kiuint(uint16_t mask) { irq_desc_t *desc = irq_desc + KIU_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MKIUINTREG); - val &= ~mask; - write_icu1(val, MKIUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4111 || + current_cpu_data.cputype == CPU_VR4121) { + spin_lock_irqsave(&desc->lock, flags); + clear_icu1(MKIUINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_kiuint); + void vr41xx_enable_dsiuint(uint16_t mask) { irq_desc_t *desc = irq_desc + DSIU_IRQ; unsigned long flags; - uint16_t val; spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MDSIUINTREG); - val |= mask; - write_icu1(val, MDSIUINTREG); + set_icu1(MDSIUINTREG, mask); spin_unlock_irqrestore(&desc->lock, flags); } +EXPORT_SYMBOL(vr41xx_enable_dsiuint); + void vr41xx_disable_dsiuint(uint16_t mask) { irq_desc_t *desc = irq_desc + DSIU_IRQ; unsigned long flags; - uint16_t val; spin_lock_irqsave(&desc->lock, flags); - val = read_icu1(MDSIUINTREG); - val &= ~mask; - write_icu1(val, MDSIUINTREG); + clear_icu1(MDSIUINTREG, mask); spin_unlock_irqrestore(&desc->lock, flags); } +EXPORT_SYMBOL(vr41xx_disable_dsiuint); + void vr41xx_enable_firint(uint16_t mask) { irq_desc_t *desc = irq_desc + FIR_IRQ; unsigned long flags; - uint16_t val; spin_lock_irqsave(&desc->lock, flags); - val = read_icu2(MFIRINTREG); - val |= mask; - write_icu2(val, MFIRINTREG); + set_icu2(MFIRINTREG, mask); spin_unlock_irqrestore(&desc->lock, flags); } +EXPORT_SYMBOL(vr41xx_enable_firint); + void vr41xx_disable_firint(uint16_t mask) { irq_desc_t *desc = irq_desc + FIR_IRQ; unsigned long flags; - uint16_t val; spin_lock_irqsave(&desc->lock, flags); - val = read_icu2(MFIRINTREG); - val &= ~mask; - write_icu2(val, MFIRINTREG); + clear_icu2(MFIRINTREG, mask); spin_unlock_irqrestore(&desc->lock, flags); } +EXPORT_SYMBOL(vr41xx_disable_firint); + void vr41xx_enable_pciint(void) { irq_desc_t *desc = irq_desc + PCI_IRQ; unsigned long flags; - spin_lock_irqsave(&desc->lock, flags); - write_icu2(PCIINT0, MPCIINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + write_icu2(PCIINT0, MPCIINTREG); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_pciint); + void vr41xx_disable_pciint(void) { irq_desc_t *desc = irq_desc + PCI_IRQ; unsigned long flags; - spin_lock_irqsave(&desc->lock, flags); - write_icu2(0, MPCIINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + write_icu2(0, MPCIINTREG); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_pciint); + void vr41xx_enable_scuint(void) { irq_desc_t *desc = irq_desc + SCU_IRQ; unsigned long flags; - spin_lock_irqsave(&desc->lock, flags); - write_icu2(SCUINT0, MSCUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + write_icu2(SCUINT0, MSCUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_scuint); + void vr41xx_disable_scuint(void) { irq_desc_t *desc = irq_desc + SCU_IRQ; unsigned long flags; - spin_lock_irqsave(&desc->lock, flags); - write_icu2(0, MSCUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + write_icu2(0, MSCUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_scuint); + void vr41xx_enable_csiint(uint16_t mask) { irq_desc_t *desc = irq_desc + CSI_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu2(MCSIINTREG); - val |= mask; - write_icu2(val, MCSIINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + set_icu2(MCSIINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_csiint); + void vr41xx_disable_csiint(uint16_t mask) { irq_desc_t *desc = irq_desc + CSI_IRQ; unsigned long flags; - uint16_t val; - spin_lock_irqsave(&desc->lock, flags); - val = read_icu2(MCSIINTREG); - val &= ~mask; - write_icu2(val, MCSIINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + clear_icu2(MCSIINTREG, mask); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_csiint); + void vr41xx_enable_bcuint(void) { irq_desc_t *desc = irq_desc + BCU_IRQ; unsigned long flags; - spin_lock_irqsave(&desc->lock, flags); - write_icu2(BCUINTR, MBCUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + write_icu2(BCUINTR, MBCUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_enable_bcuint); + void vr41xx_disable_bcuint(void) { irq_desc_t *desc = irq_desc + BCU_IRQ; unsigned long flags; - spin_lock_irqsave(&desc->lock, flags); - write_icu2(0, MBCUINTREG); - spin_unlock_irqrestore(&desc->lock, flags); + if (current_cpu_data.cputype == CPU_VR4122 || + current_cpu_data.cputype == CPU_VR4131 || + current_cpu_data.cputype == CPU_VR4133) { + spin_lock_irqsave(&desc->lock, flags); + write_icu2(0, MBCUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); + } } +EXPORT_SYMBOL(vr41xx_disable_bcuint); + /*=======================================================================*/ static unsigned int startup_sysint1_irq(unsigned int irq) @@ -674,8 +730,6 @@ early_initcall(vr41xx_icu_init); /*=======================================================================*/ -static struct irqaction icu_cascade = {no_action, 0, 0, "cascade", NULL, NULL}; - static inline void init_vr41xx_icu_irq(void) { int i; diff --git a/arch/mips/vr41xx/common/serial.c b/arch/mips/vr41xx/common/serial.c index cc445eeff..939ac827e 100644 --- a/arch/mips/vr41xx/common/serial.c +++ b/arch/mips/vr41xx/common/serial.c @@ -115,7 +115,7 @@ void __init vr41xx_siu_init(void) port.line = vr41xx_serial_ports; port.uartclk = SIU_BASE_BAUD * 16; port.irq = SIU_IRQ; - port.flags = UPF_RESOURCES | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; + port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; switch (current_cpu_data.cputype) { case CPU_VR4111: case CPU_VR4121: @@ -160,7 +160,7 @@ void __init vr41xx_dsiu_init(void) port.line = vr41xx_serial_ports; port.uartclk = DSIU_BASE_BAUD * 16; port.irq = DSIU_IRQ; - port.flags = UPF_RESOURCES | UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; + port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST; port.mapbase = DSIU_BASE; port.regshift = 0; port.iotype = UPIO_MEM; diff --git a/arch/mips/vr41xx/common/vrc4173.c b/arch/mips/vr41xx/common/vrc4173.c index 3b006358c..0bbad1e8c 100644 --- a/arch/mips/vr41xx/common/vrc4173.c +++ b/arch/mips/vr41xx/common/vrc4173.c @@ -316,6 +316,96 @@ static inline void vrc4173_giu_init(void) spin_lock_init(&vrc4173_giu_lock); } +void vrc4173_enable_piuint(uint16_t mask) +{ + irq_desc_t *desc = irq_desc + VRC4173_PIU_IRQ; + unsigned long flags; + uint16_t val; + + spin_lock_irqsave(&desc->lock, flags); + val = vrc4173_inw(VRC4173_MPIUINTREG); + val |= mask; + vrc4173_outw(val, VRC4173_MPIUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); +} + +EXPORT_SYMBOL(vrc4173_eanble_piuint); + +void vrc4173_disable_piuint(uint16_t mask) +{ + irq_desc_t *desc = irq_desc + VRC4173_PIU_IRQ; + unsigned long flags; + uint16_t val; + + spin_lock_irqsave(&desc->lock, flags); + val = vrc4173_inw(VRC4173_MPIUINTREG); + val &= ~mask; + vrc4173_outw(val, VRC4173_MPIUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); +} + +EXPORT_SYMBOL(vrc4173_disable_piuint); + +void vrc4173_enable_aiuint(uint16_t mask) +{ + irq_desc_t *desc = irq_desc + VRC4173_AIU_IRQ; + unsigned long flags; + uint16_t val; + + spin_lock_irqsave(&desc->lock, flags); + val = vrc4173_inw(VRC4173_MAIUINTREG); + val |= mask; + vrc4173_outw(val, VRC4173_MAIUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); +} + +EXPORT_SYMBOL(vrc4173_enable_aiuint); + +void vrc4173_disable_aiuint(uint16_t mask) +{ + irq_desc_t *desc = irq_desc + VRC4173_AIU_IRQ; + unsigned long flags; + uint16_t val; + + spin_lock_irqsave(&desc->lock, flags); + val = vrc4173_inw(VRC4173_MAIUINTREG); + val &= ~mask; + vrc4173_outw(val, VRC4173_MAIUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); +} + +EXPORT_SYMBOL(vrc4173_disable_aiuint); + +void vrc4173_enable_kiuint(uint16_t mask) +{ + irq_desc_t *desc = irq_desc + VRC4173_KIU_IRQ; + unsigned long flags; + uint16_t val; + + spin_lock_irqsave(&desc->lock, flags); + val = vrc4173_inw(VRC4173_MKIUINTREG); + val |= mask; + vrc4173_outw(val, VRC4173_MKIUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); +} + +EXPORT_SYMBOL(vrc4173_enable_kiuint); + +void vrc4173_disable_kiuint(uint16_t mask) +{ + irq_desc_t *desc = irq_desc + VRC4173_KIU_IRQ; + unsigned long flags; + uint16_t val; + + spin_lock_irqsave(&desc->lock, flags); + val = vrc4173_inw(VRC4173_MKIUINTREG); + val &= ~mask; + vrc4173_outw(val, VRC4173_MKIUINTREG); + spin_unlock_irqrestore(&desc->lock, flags); +} + +EXPORT_SYMBOL(vrc4173_disable_kiuint); + static void enable_vrc4173_irq(unsigned int irq) { uint16_t val; diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 1c018a72a..093e8046f 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -106,7 +106,7 @@ config PARISC64 depends on PA8X00 help Enable this if you want to support 64bit kernel on PA-RISC platform. - + At the moment, only people willing to use more than 2GB of RAM, or having a 64bit-only capable PA-RISC machine should say Y here. @@ -188,72 +188,7 @@ source "fs/Kconfig" source "arch/parisc/oprofile/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_RWLOCK - bool "Read-write spinlock debugging" - depends on DEBUG_KERNEL && SMP - help - If you say Y here then read-write lock processing will count how many - times it has tried to get the lock and issue an error message after - too many attempts. If you suspect a rwlock problem or a kernel - hacker asks for this option then say Y. Otherwise say N. - -config FRAME_POINTER - bool "Compile the kernel with frame pointers" - help - If you say Y here the resulting kernel image will be slightly larger - and slower, but it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame pointers. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -endmenu +source "arch/parisc/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -262,4 +197,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/parisc/kernel/Makefile b/arch/parisc/kernel/Makefile index b032c6b79..adffb0504 100644 --- a/arch/parisc/kernel/Makefile +++ b/arch/parisc/kernel/Makefile @@ -4,7 +4,7 @@ head-y := head.o head-$(CONFIG_PARISC64) := head64.o -extra-y := init_task.o $(head-y) vmlinux.lds.s +extra-y := init_task.o $(head-y) vmlinux.lds AFLAGS_entry.o := -traditional AFLAGS_pacache.o := -traditional diff --git a/arch/parisc/kernel/asm-offsets.c b/arch/parisc/kernel/asm-offsets.c index 64d49cb2d..cf8a8583f 100644 --- a/arch/parisc/kernel/asm-offsets.c +++ b/arch/parisc/kernel/asm-offsets.c @@ -32,11 +32,11 @@ #include #include #include -#include +#include +#include #include #include -#include #include #define DEFINE(sym, val) \ diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c index eadc88c5a..0703ab036 100644 --- a/arch/parisc/kernel/cache.c +++ b/arch/parisc/kernel/cache.c @@ -245,7 +245,7 @@ void disable_sr_hashing(void) void flush_dcache_page(struct page *page) { struct address_space *mapping = page_mapping(page); - struct vm_area_struct *mpnt = NULL; + struct vm_area_struct *mpnt; struct prio_tree_iter iter; unsigned long offset; unsigned long addr; @@ -272,8 +272,7 @@ void flush_dcache_page(struct page *page) * to flush one address here for them all to become coherent */ flush_dcache_mmap_lock(mapping); - while ((mpnt = vma_prio_tree_next(mpnt, &mapping->i_mmap, - &iter, pgoff, pgoff)) != NULL) { + vma_prio_tree_foreach(mpnt, &iter, &mapping->i_mmap, pgoff, pgoff) { offset = (pgoff - mpnt->vm_pgoff) << PAGE_SHIFT; addr = mpnt->vm_start + offset; diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c index 6b65bf468..4abd43910 100644 --- a/arch/parisc/kernel/hardware.c +++ b/arch/parisc/kernel/hardware.c @@ -7,7 +7,7 @@ * Reference Specification", March 7, 1999, version 0.96. This * is available at http://parisc-linux.org/documentation/ * - * Copyright 1999 by Alex deVries + * Copyright 1999 by Alex deVries * and copyright 1999 The Puffin Group Inc. * * This program is free software; you can redistribute it and/or modify diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c index dd938ef77..d7365b958 100644 --- a/arch/parisc/kernel/process.c +++ b/arch/parisc/kernel/process.c @@ -262,7 +262,7 @@ sys_clone(unsigned long clone_flags, unsigned long usp, if(usp == 0) usp = regs->gr[30]; - return do_fork(clone_flags & ~CLONE_IDLETASK, usp, regs, 0, user_tid, NULL); + return do_fork(clone_flags, usp, regs, 0, user_tid, NULL); } int diff --git a/arch/parisc/kernel/ptrace.c b/arch/parisc/kernel/ptrace.c index d45980cb5..111d66aa8 100644 --- a/arch/parisc/kernel/ptrace.c +++ b/arch/parisc/kernel/ptrace.c @@ -306,7 +306,7 @@ long sys_ptrace(long request, pid_t pid, long addr, long data) * that it wants to exit. */ DBG(("sys_ptrace(KILL)\n")); - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ goto out_tsk; child->exit_code = SIGKILL; goto out_wake_notrap; @@ -407,11 +407,8 @@ void syscall_trace(void) return; if (!(current->ptrace & PT_PTRACED)) return; - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/parisc/kernel/smp.c b/arch/parisc/kernel/smp.c index 0f1daa584..9def95a43 100644 --- a/arch/parisc/kernel/smp.c +++ b/arch/parisc/kernel/smp.c @@ -485,24 +485,6 @@ void __init smp_callin(void) panic("smp_callin() AAAAaaaaahhhh....\n"); } -/* - * Create the idle task for a new Slave CPU. DO NOT use kernel_thread() - * because that could end up calling schedule(). If it did, the new idle - * task could get scheduled before we had a chance to remove it from the - * run-queue... - */ -static struct task_struct *fork_by_hand(void) -{ - struct pt_regs regs; - - /* - * don't care about the regs settings since - * we'll never reschedule the forked task. - */ - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); -} - - /* * Bring one cpu online. */ @@ -521,13 +503,10 @@ int __init smp_boot_one_cpu(int cpuid) * Sheesh . . . */ - idle = fork_by_hand(); + idle = fork_idle(cpuid); if (IS_ERR(idle)) panic("SMP: fork failed for CPU:%d", cpuid); - wake_up_forked_process(idle); - init_idle(idle, cpuid); - unhash_process(idle); idle->thread_info->cpu = cpuid; /* Let _start know what logical CPU we're booting diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index 7da318ed0..e011bc856 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S @@ -52,6 +52,7 @@ SECTIONS .text ALIGN(16) : { *(.text) SCHED_TEXT + LOCK_TEXT *(.text.do_softirq) *(.text.sys_exit) *(.text.do_sigaltstack) @@ -130,9 +131,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index 871d7df27..065da5807 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c @@ -804,7 +804,7 @@ void __init paging_init(void) ZONE_DMA zone. */ zones_size[ZONE_DMA] = pmem_ranges[i].pages; - free_area_init_node(i,NODE_DATA(i),NULL,zones_size, + free_area_init_node(i, NODE_DATA(i), zones_size, pmem_ranges[i].start_pfn, 0); #ifdef CONFIG_DISCONTIGMEM diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c index d56a031e6..41ca12432 100644 --- a/arch/ppc/8260_io/fcc_enet.c +++ b/arch/ppc/8260_io/fcc_enet.c @@ -1986,9 +1986,9 @@ fcc_restart(struct net_device *dev, int duplex) fccp = fcp->fccp; if (duplex) - fccp->fcc_fpsmr |= FCC_PSMR_FDE; + fccp->fcc_fpsmr |= FCC_PSMR_FDE | FCC_PSMR_LPB; else - fccp->fcc_fpsmr &= ~FCC_PSMR_FDE; + fccp->fcc_fpsmr &= ~(FCC_PSMR_FDE | FCC_PSMR_LPB); /* Enable transmit/receive */ fccp->fcc_gfmr |= FCC_GFMR_ENR | FCC_GFMR_ENT; diff --git a/arch/ppc/8xx_io/uart.c b/arch/ppc/8xx_io/uart.c index 171e5e900..34a463a94 100644 --- a/arch/ppc/8xx_io/uart.c +++ b/arch/ppc/8xx_io/uart.c @@ -2592,7 +2592,7 @@ static int __init rs_8xx_init(void) state->icount.rx = state->icount.tx = 0; state->icount.frame = state->icount.parity = 0; state->icount.overrun = state->icount.brk = 0; - printk(KERN_INFO "ttyS%02d at 0x%04x is a %s\n", + printk(KERN_INFO "ttyS%d at 0x%04x is a %s\n", i, (unsigned int)(state->port), (state->smc_scc_num & NUM_IS_SCC) ? "SCC" : "SMC"); #ifdef CONFIG_SERIAL_CONSOLE diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig index 051832b2e..f4621dd6d 100644 --- a/arch/ppc/Kconfig +++ b/arch/ppc/Kconfig @@ -49,7 +49,7 @@ config 6xx There are four types of PowerPC chips supported. The more common types (601, 603, 604, 740, 750, 7400), the Motorola embedded versions (821, 823, 850, 855, 860, 52xx, 8260), the IBM embedded - versions (403 and 405) and the high end 64 bit Power processors + versions (403 and 405) and the high end 64 bit Power processors (POWER 3, POWER4, and IBM 970 also known as G5) Unless you are building a kernel for one of the embedded processor systems, 64 bit IBM RS/6000 or an Apple G5, choose 6xx. @@ -243,6 +243,26 @@ config NOT_COHERENT_CACHE depends on 4xx || 8xx default y +config KEXEC + bool "kexec system call (EXPERIMENTAL)" + depends on EXPERIMENTAL + help + kexec is a system call that implements the ability to shutdown your + current kernel, and to start another kernel. It is like a reboot + but it is indepedent of the system firmware. And like a reboot + you can start any kernel with it, not just Linux. + + The name comes from the similiarity to the exec system call. + + It is an ongoing process to be certain the hardware in a machine + is properly shutdown, so do not be surprised if this code does not + initially work for you. It may help to enable device hotplugging + support. As of this writing the exact hardware interface is + strongly in flux, so no good recommendation can be made. + + In the GameCube implementation, kexec allows you to load and + run DOL files, including kernel and homebrew DOLs. + endmenu menu "Platform options" @@ -626,7 +646,7 @@ config EMBEDDEDBOOT bool depends on 8xx || 8260 default y - + config PPC_MPC52xx bool @@ -685,7 +705,8 @@ config PPC_OF config PPC_GEN550 bool - depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || PRPMC750 || K2 || PRPMC800 + depends on SANDPOINT || MCPN765 || SPRUCE || PPLUS || PCORE || \ + PRPMC750 || K2 || PRPMC800 || LOPEC default y config FORCE @@ -811,10 +832,6 @@ config PREEMPT config HIGHMEM bool "High memory support" -config KERNEL_ELF - bool - default y - source "fs/Kconfig.binfmt" config PROC_DEVICETREE @@ -832,10 +849,11 @@ config PREP_RESIDUAL Some PReP systems have residual data passed to the kernel by the firmware. This allows detection of memory size, devices present and other useful pieces of information. Sometimes this information is - not present or incorrect. + not present or incorrect, in which case it could lead to the machine + behaving incorrectly. If this happens, either disable PREP_RESIDUAL + or pass the 'noresidual' option to the kernel. - Unless you expect to boot on a PReP system, there is no need to - select Y. + If you are running a PReP system, say Y here, otherwise say N. config PROC_PREPRESIDUAL bool "Support for reading of PReP Residual Data in /proc" @@ -1043,13 +1061,13 @@ config PCI_8260 bool depends on PCI && 8260 && !8272 default y - + config 8260_PCI9 bool " Enable workaround for MPC826x erratum PCI 9" depends on PCI_8260 default y -choice +choice prompt " IDMA channel for PCI 9 workaround" depends on 8260_PCI9 @@ -1228,128 +1246,7 @@ source "lib/Kconfig" source "arch/ppc/oprofile/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and to CONFIG_SMP to include code to check for missing - spinlock initialization and some other common spinlock errors. - -config DEBUG_HIGHMEM - bool "Highmem debugging" - depends on DEBUG_KERNEL && HIGHMEM - help - This options enables additional error checking for high memory - systems. Disable for production systems. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - depends on DEBUG_KERNEL - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - -config KGDB - bool "Include kgdb kernel debugger" - depends on DEBUG_KERNEL && (BROKEN || PPC_GEN550 || 4xx) - select DEBUG_INFO - help - Include in-kernel hooks for kgdb, the Linux kernel source level - debugger. See for more information. - Unless you are intending to debug the kernel, say N here. - -choice - prompt "Serial Port" - depends on KGDB - default KGDB_TTYS1 - -config KGDB_TTYS0 - bool "ttyS0" - -config KGDB_TTYS1 - bool "ttyS1" - -config KGDB_TTYS2 - bool "ttyS2" - -config KGDB_TTYS3 - bool "ttyS3" - -endchoice - -config KGDB_CONSOLE - bool "Enable serial console thru kgdb port" - depends on KGDB && 8xx || CPM2 - help - If you enable this, all serial console messages will be sent - over the gdb stub. - If unsure, say N. - -config XMON - bool "Include xmon kernel debugger" - depends on DEBUG_KERNEL - help - Include in-kernel hooks for the xmon kernel monitor/debugger. - Unless you are intending to debug the kernel, say N here. - -config BDI_SWITCH - bool "Include BDI-2000 user context switcher" - depends on DEBUG_KERNEL - help - Include in-kernel support for the Abatron BDI2000 debugger. - Unless you are intending to debug the kernel with one of these - machines, say N here. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use some sort of debugger to - debug the kernel. - If you don't debug the kernel, you can say N. - -config BOOTX_TEXT - bool "Support for early boot text console (BootX or OpenFirmware only)" - depends PPC_OF - help - Say Y here to see progress messages from the boot firmware in text - mode. Requires either BootX or Open Firmware. - -config SERIAL_TEXT_DEBUG - bool "Support for early boot texts over serial port" - depends on 4xx || GT64260 || LOPEC || PPLUS || PRPMC800 || PPC_GEN550 || PPC_MPC52xx - -config PPC_OCP - bool - depends on IBM_OCP || FSL_OCP - default y - -endmenu +source "arch/ppc/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/ppc/Makefile b/arch/ppc/Makefile index 6cf440552..25f65ba13 100644 --- a/arch/ppc/Makefile +++ b/arch/ppc/Makefile @@ -13,7 +13,7 @@ # This must match PAGE_OFFSET in include/asm-ppc/page.h. KERNELLOAD := $(CONFIG_KERNEL_START) -HAS_BIARCH := $(shell if $(CC) -m32 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi;) +HAS_BIARCH := $(call cc-option-yn, -m32) ifeq ($(HAS_BIARCH),y) AS := $(AS) -a32 LD := $(LD) -m elf32ppc @@ -24,10 +24,10 @@ LDFLAGS_vmlinux := -Ttext $(KERNELLOAD) -Bstatic CPPFLAGS += -Iarch/$(ARCH) AFLAGS += -Iarch/$(ARCH) CFLAGS += -Iarch/$(ARCH) -msoft-float -pipe \ - -ffixed-r2 -Wno-uninitialized -mmultiple + -ffixed-r2 -mmultiple CPP = $(CC) -E $(CFLAGS) -CHECK := $(CHECK) -D__powerpc__=1 +CHECKFLAGS += -D__powerpc__ ifndef CONFIG_E500 CFLAGS += -mstring @@ -70,7 +70,7 @@ BOOT_TARGETS = zImage zImage.initrd znetboot znetboot.initrd vmlinux.sm all: zImage -AFLAGS_vmlinux.lds.o := -Upowerpc +CPPFLAGS_vmlinux.lds := -Upowerpc # All the instructions talk about "make bzImage". bzImage: zImage @@ -105,16 +105,15 @@ arch/$(ARCH)/kernel/asm-offsets.s: include/asm include/linux/version.h \ include/asm-$(ARCH)/offsets.h: arch/$(ARCH)/kernel/asm-offsets.s $(call filechk,gen-asm-offsets) -ifdef CONFIG_6xx -# Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later -NEW_AS := $(shell echo dssall | $(AS) -many -o /dev/null >/dev/null 2>&1 ; echo $$?) -GOODVER := 2.12.1 -else -NEW_AS := 0 -endif +# Use the file '.tmp_gas_check' for binutils tests, as gas won't output +# to stdout and these checks are run even on install targets. +TOUT := .tmp_gas_check +# Ensure this is binutils 2.12.1 (or 2.12.90.0.7) or later for altivec +# instructions. +AS_ALTIVEC := $(shell echo dssall | $(AS) -many -o $(TOUT) >/dev/null 2>&1 ; echo $$?) # gcc-3.4 and binutils-2.14 are a fatal combination. -GCC_VERSION := $(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-version.sh $(CC)) -BAD_GCC_AS := $(shell echo mftb 5 | $(AS) -mppc -many -o /dev/null >/dev/null 2>&1 && echo 0 || echo 1) +GCC_VERSION := $(call cc-version) +BAD_GCC_AS := $(shell echo mftb 5 | $(AS) -mppc -many -o $(TOUT) >/dev/null 2>&1 && echo 0 || echo 1) checkbin: ifeq ($(GCC_VERSION)$(BAD_GCC_AS),03041) @@ -123,13 +122,16 @@ ifeq ($(GCC_VERSION)$(BAD_GCC_AS),03041) @echo '*** Please upgrade your binutils or downgrade your gcc' @false endif -ifneq ($(NEW_AS),0) +ifneq ($(AS_ALTIVEC),0) + echo $(AS_ALTIVEC) @echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build ' @echo 'correctly with old versions of binutils.' - @echo '*** Please upgrade your binutils to ${GOODVER} or newer' + @echo '*** Please upgrade your binutils to 2.12.1 or newer' @false endif @true CLEAN_FILES += include/asm-$(ARCH)/offsets.h \ - arch/$(ARCH)/kernel/asm-offsets.s + arch/$(ARCH)/kernel/asm-offsets.s \ + $(TOUT) + diff --git a/arch/ppc/boot/Makefile b/arch/ppc/boot/Makefile index 8c1d7eb8b..995f89bb0 100644 --- a/arch/ppc/boot/Makefile +++ b/arch/ppc/boot/Makefile @@ -23,12 +23,12 @@ subdir-$(CONFIG_PPC_OF) += of1275 # for cleaning subdir- += simple openfirmware -host-progs := $(addprefix utils/, addnote mknote hack-coff mkprep mkbugboot mktree) +hostprogs-y := $(addprefix utils/, addnote mknote hack-coff mkprep mkbugboot mktree) .PHONY: $(BOOT_TARGETS) $(bootdir-y) $(BOOT_TARGETS): $(bootdir-y) $(bootdir-y): $(addprefix $(obj)/,$(subdir-y)) \ - $(addprefix $(obj)/,$(host-progs)) + $(addprefix $(obj)/,$(hostprogs-y)) $(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS) diff --git a/arch/ppc/boot/common/misc-common.c b/arch/ppc/boot/common/misc-common.c index 868fa81b7..7acd03b31 100644 --- a/arch/ppc/boot/common/misc-common.c +++ b/arch/ppc/boot/common/misc-common.c @@ -17,7 +17,7 @@ #include /* for va_ bits */ #include #include -#include "zlib.h" +#include #include "nonstdio.h" /* If we're on a PReP, assume we have a keyboard controller @@ -202,11 +202,10 @@ void error(char *x) while(1); /* Halt */ } -void *zalloc(void *x, unsigned items, unsigned size) +static void *zalloc(unsigned size) { void *p = avail_ram; - size *= items; size = (size + 7) & -8; avail_ram += size; if (avail_ram > end_avail) { @@ -216,18 +215,12 @@ void *zalloc(void *x, unsigned items, unsigned size) return p; } -void zfree(void *x, void *addr, unsigned nb) -{ -} - #define HEAD_CRC 2 #define EXTRA_FIELD 4 #define ORIG_NAME 8 #define COMMENT 0x10 #define RESERVED 0xe0 -#define DEFLATED 8 - void gunzip(void *dst, int dstlen, unsigned char *src, int *lenp) { z_stream s; @@ -236,7 +229,7 @@ void gunzip(void *dst, int dstlen, unsigned char *src, int *lenp) /* skip header */ i = 10; flags = src[3]; - if (src[2] != DEFLATED || (flags & RESERVED) != 0) { + if (src[2] != Z_DEFLATED || (flags & RESERVED) != 0) { puts("bad gzipped data\n"); exit(); } @@ -255,24 +248,24 @@ void gunzip(void *dst, int dstlen, unsigned char *src, int *lenp) exit(); } - s.zalloc = zalloc; - s.zfree = zfree; - r = inflateInit2(&s, -MAX_WBITS); + /* Initialize ourself. */ + s.workspace = zalloc(zlib_inflate_workspacesize()); + r = zlib_inflateInit2(&s, -MAX_WBITS); if (r != Z_OK) { - puts("inflateInit2 returned "); puthex(r); puts("\n"); + puts("zlib_inflateInit2 returned "); puthex(r); puts("\n"); exit(); } s.next_in = src + i; s.avail_in = *lenp - i; s.next_out = dst; s.avail_out = dstlen; - r = inflate(&s, Z_FINISH); + r = zlib_inflate(&s, Z_FINISH); if (r != Z_OK && r != Z_STREAM_END) { puts("inflate returned "); puthex(r); puts("\n"); exit(); } *lenp = s.next_out - (unsigned char *) dst; - inflateEnd(&s); + zlib_inflateEnd(&s); } void @@ -526,6 +519,11 @@ _dump_buf(unsigned char *p, int s) * on others it's an offset from a given location. -- Tom */ +void ISA_init(unsigned long base) +{ + ISA_io = (unsigned char *)base; +} + void outb(int port, unsigned char val) { diff --git a/arch/ppc/boot/simple/Makefile b/arch/ppc/boot/simple/Makefile index e31b7e499..895b55750 100644 --- a/arch/ppc/boot/simple/Makefile +++ b/arch/ppc/boot/simple/Makefile @@ -64,6 +64,7 @@ zimageinitrd-$(CONFIG_EBONY) := zImage.initrd-TREE zimageinitrd-$(CONFIG_OCOTEA) := zImage.initrd-TREE end-$(CONFIG_OCOTEA) := ocotea entrypoint-$(CONFIG_OCOTEA) := 0x01000000 + extra.o-$(CONFIG_OCOTEA) := pibs.o extra.o-$(CONFIG_EV64260) := direct.o misc-ev64260.o end-$(CONFIG_EV64260) := ev64260 @@ -73,7 +74,7 @@ zimageinitrd-$(CONFIG_OCOTEA) := zImage.initrd-TREE zimageinitrd-$(CONFIG_GEMINI) := zImage.initrd-STRIPELF end-$(CONFIG_GEMINI) := gemini - extra.o-$(CONFIG_K2) := legacy.o + extra.o-$(CONFIG_K2) := prepmap.o end-$(CONFIG_K2) := k2 cacheflag-$(CONFIG_K2) := -include $(clear_L2_L3) @@ -89,7 +90,7 @@ zimageinitrd-$(motorola) := zImage.initrd-PPLUS end-$(motorola) := pplus # Overrides previous assingment - extra.o-$(CONFIG_PPLUS) := legacy.o + extra.o-$(CONFIG_PPLUS) := prepmap.o extra.o-$(CONFIG_LOPEC) := mpc10x_memory.o zimage-$(pcore) := zImage-STRIPELF @@ -100,7 +101,7 @@ zimageinitrd-$(pcore) := zImage.initrd-STRIPELF zimage-$(CONFIG_PPC_PREP) := zImage-PPLUS zimageinitrd-$(CONFIG_PPC_PREP) := zImage.initrd-PPLUS - extra.o-$(CONFIG_PPC_PREP) := legacy.o + extra.o-$(CONFIG_PPC_PREP) := prepmap.o misc-$(CONFIG_PPC_PREP) += misc-prep.o mpc10x_memory.o end-$(CONFIG_PPC_PREP) := prep diff --git a/arch/ppc/boot/simple/misc.c b/arch/ppc/boot/simple/misc.c index f09af4f28..1b2ae8d77 100644 --- a/arch/ppc/boot/simple/misc.c +++ b/arch/ppc/boot/simple/misc.c @@ -29,7 +29,6 @@ #include #include "nonstdio.h" -#include "zlib.h" /* Default cmdline */ #ifdef CONFIG_CMDLINE @@ -49,7 +48,9 @@ * Val Henson has requested that Gemini doesn't wait for the * user to edit the cmdline or not. */ -#if (defined(CONFIG_SERIAL_8250_CONSOLE) || defined(CONFIG_VGA_CONSOLE)) \ +#if (defined(CONFIG_SERIAL_8250_CONSOLE) \ + || defined(CONFIG_VGA_CONSOLE) \ + || defined(CONFIG_SERIAL_MPC52xx_CONSOLE)) \ && !defined(CONFIG_GEMINI) #define INTERACTIVE_CONSOLE 1 #endif @@ -95,9 +96,8 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum) #endif char *cp; struct bi_record *rec; - unsigned long initrd_loc, TotalMemory = 0; + unsigned long initrd_loc = 0, TotalMemory = 0; - serial_fixups(); #ifdef CONFIG_SERIAL_8250_CONSOLE com_port = serial_init(0, NULL); #endif @@ -221,7 +221,7 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum) puts("\n"); puts("Uncompressing Linux..."); - gunzip(NULL, 0x400000, zimage_start, &zimage_size); + gunzip(0x0, 0x400000, zimage_start, &zimage_size); puts("done.\n"); /* get the bi_rec address */ @@ -268,10 +268,16 @@ decompress_kernel(unsigned long load_addr, int num_words, unsigned long cksum) return rec; } +void __attribute__ ((weak)) +board_isa_init(void) +{ +} + /* Allow decompress_kernel to be hooked into. This is the default. */ void * __attribute__ ((weak)) load_kernel(unsigned long load_addr, int num_words, unsigned long cksum, void *ign1, void *ign2) { + board_isa_init(); return decompress_kernel(load_addr, num_words, cksum); } diff --git a/arch/ppc/kernel/Makefile b/arch/ppc/kernel/Makefile index 2531070a6..3b4de88c7 100644 --- a/arch/ppc/kernel/Makefile +++ b/arch/ppc/kernel/Makefile @@ -9,7 +9,7 @@ extra-$(CONFIG_E500) := head_e500.o extra-$(CONFIG_8xx) := head_8xx.o extra-$(CONFIG_6xx) += idle_6xx.o extra-$(CONFIG_POWER4) += idle_power4.o -extra-y += vmlinux.lds.s +extra-y += vmlinux.lds obj-y := entry.o traps.o irq.o idle.o time.o misc.o \ process.o signal.o ptrace.o align.o \ @@ -24,6 +24,7 @@ obj-$(CONFIG_KGDB) += ppc-stub.o obj-$(CONFIG_SMP) += smp.o smp-tbsync.o obj-$(CONFIG_TAU) += temp.o obj-$(CONFIG_ALTIVEC) += vecemu.o vector.o +obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o ifdef CONFIG_MATH_EMULATION obj-$(CONFIG_8xx) += softemu8xx.o diff --git a/arch/ppc/kernel/align.c b/arch/ppc/kernel/align.c index 39f51985e..c7d99f033 100644 --- a/arch/ppc/kernel/align.c +++ b/arch/ppc/kernel/align.c @@ -37,6 +37,7 @@ struct aligninfo { #define U 0x10 /* update index register */ #define M 0x20 /* multiple load/store */ #define S 0x40 /* single-precision fp, or byte-swap value */ +#define SX 0x40 /* byte count in XER */ #define HARD 0x80 /* string, stwcx. */ #define DCBZ 0x5f /* 8xx/82xx dcbz faults when cache not enabled */ @@ -88,10 +89,10 @@ static struct aligninfo aligninfo[128] = { INVALID, /* 01 0 0101: lwax */ INVALID, /* 01 0 0110 */ INVALID, /* 01 0 0111 */ - { 0, LD+HARD }, /* 01 0 1000: lswx */ - { 0, LD+HARD }, /* 01 0 1001: lswi */ - { 0, ST+HARD }, /* 01 0 1010: stswx */ - { 0, ST+HARD }, /* 01 0 1011: stswi */ + { 4, LD+M+HARD+SX }, /* 01 0 1000: lswx */ + { 4, LD+M+HARD }, /* 01 0 1001: lswi */ + { 4, ST+M+HARD+SX }, /* 01 0 1010: stswx */ + { 4, ST+M+HARD }, /* 01 0 1011: stswi */ INVALID, /* 01 0 1100 */ INVALID, /* 01 0 1101 */ INVALID, /* 01 0 1110 */ @@ -189,7 +190,9 @@ fix_alignment(struct pt_regs *regs) #endif int i, t; int reg, areg; + int offset, nb0; unsigned char __user *addr; + unsigned char *rptr; union { long l; float f; @@ -206,7 +209,8 @@ fix_alignment(struct pt_regs *regs) * an alignment fault. -- paulus */ - instr = *((unsigned int *)regs->nip); + if (__get_user(instr, (unsigned int __user *) regs->nip)) + return 0; opcode = OPCD(instr); reg = RS(instr); areg = RA(instr); @@ -230,7 +234,7 @@ fix_alignment(struct pt_regs *regs) nb = aligninfo[instr].len; if (nb == 0) { - long *p; + long __user *p; int i; if (instr != DCBZ) @@ -242,13 +246,19 @@ fix_alignment(struct pt_regs *regs) * case when we are running with the cache disabled * for debugging. */ - p = (long *) (regs->dar & -L1_CACHE_BYTES); + p = (long __user *) (regs->dar & -L1_CACHE_BYTES); + if (user_mode(regs) + && verify_area(VERIFY_WRITE, p, L1_CACHE_BYTES)) + return -EFAULT; for (i = 0; i < L1_CACHE_BYTES / sizeof(long); ++i) - p[i] = 0; + if (__put_user(0, p+i)) + return -EFAULT; return 1; } flags = aligninfo[instr].flags; + if ((flags & (LD|ST)) == 0) + return 0; /* For the 4xx-family & Book-E processors, the 'dar' field of the * pt_regs structure is overloaded and is really from the DEAR. @@ -256,6 +266,66 @@ fix_alignment(struct pt_regs *regs) addr = (unsigned char __user *)regs->dar; + if (flags & M) { + /* lmw, stmw, lswi/x, stswi/x */ + nb0 = 0; + if (flags & HARD) { + if (flags & SX) { + nb = regs->xer & 127; + if (nb == 0) + return 1; + } else { + if (__get_user(instr, + (unsigned int __user *)regs->nip)) + return 0; + nb = (instr >> 11) & 0x1f; + if (nb == 0) + nb = 32; + } + if (nb + reg * 4 > 128) { + nb0 = nb + reg * 4 - 128; + nb = 128 - reg * 4; + } + } else { + /* lwm, stmw */ + nb = (32 - reg) * 4; + } + rptr = (unsigned char *) ®s->gpr[reg]; + if (flags & LD) { + for (i = 0; i < nb; ++i) + if (__get_user(rptr[i], addr+i)) + return -EFAULT; + if (nb0 > 0) { + rptr = (unsigned char *) ®s->gpr[0]; + addr += nb; + for (i = 0; i < nb0; ++i) + if (__get_user(rptr[i], addr+i)) + return -EFAULT; + } + for (; (i & 3) != 0; ++i) + rptr[i] = 0; + } else { + for (i = 0; i < nb; ++i) + if (__put_user(rptr[i], addr+i)) + return -EFAULT; + if (nb0 > 0) { + rptr = (unsigned char *) ®s->gpr[0]; + addr += nb; + for (i = 0; i < nb0; ++i) + if (__put_user(rptr[i], addr+i)) + return -EFAULT; + } + } + return 1; + } + + offset = 0; + if (nb < 4) { + /* read/write the least significant bits */ + data.l = 0; + offset = 4 - nb; + } + /* Verify the address of the operand */ if (user_mode(regs)) { if (verify_area((flags & ST? VERIFY_WRITE: VERIFY_READ), addr, nb)) @@ -268,45 +338,26 @@ fix_alignment(struct pt_regs *regs) giveup_fpu(current); preempt_enable(); } - if (flags & M) - return 0; /* too hard for now */ - /* If we read the operand, copy it in */ + /* If we read the operand, copy it in, else get register values */ if (flags & LD) { - if (nb == 2) { - data.v[0] = data.v[1] = 0; - if (__get_user(data.v[2], addr) - || __get_user(data.v[3], addr+1)) + for (i = 0; i < nb; ++i) + if (__get_user(data.v[offset+i], addr+i)) return -EFAULT; - } else { - for (i = 0; i < nb; ++i) - if (__get_user(data.v[i], addr+i)) - return -EFAULT; - } + } else if (flags & F) { + data.d = current->thread.fpr[reg]; + } else { + data.l = regs->gpr[reg]; } switch (flags & ~U) { - case LD+SE: + case LD+SE: /* sign extend */ if (data.v[2] >= 0x80) data.v[0] = data.v[1] = -1; - /* fall through */ - case LD: - regs->gpr[reg] = data.l; - break; - case LD+S: - if (nb == 2) { - SWAP(data.v[2], data.v[3]); - } else { - SWAP(data.v[0], data.v[3]); - SWAP(data.v[1], data.v[2]); - } - regs->gpr[reg] = data.l; - break; - case ST: - data.l = regs->gpr[reg]; break; + + case LD+S: /* byte-swap */ case ST+S: - data.l = regs->gpr[reg]; if (nb == 2) { SWAP(data.v[2], data.v[3]); } else { @@ -314,50 +365,34 @@ fix_alignment(struct pt_regs *regs) SWAP(data.v[1], data.v[2]); } break; - case LD+F: - current->thread.fpr[reg] = data.d; - break; - case ST+F: - data.d = current->thread.fpr[reg]; - break; - /* these require some floating point conversions... */ - /* we'd like to use the assignment, but we have to compile - * the kernel with -msoft-float so it doesn't use the - * fp regs for copying 8-byte objects. */ + + /* Single-precision FP load and store require conversions... */ case LD+F+S: preempt_disable(); enable_kernel_fp(); - cvt_fd(&data.f, ¤t->thread.fpr[reg], ¤t->thread.fpscr); - /* current->thread.fpr[reg] = data.f; */ + cvt_fd(&data.f, &data.d, ¤t->thread.fpscr); preempt_enable(); break; case ST+F+S: preempt_disable(); enable_kernel_fp(); - cvt_df(¤t->thread.fpr[reg], &data.f, ¤t->thread.fpscr); - /* data.f = current->thread.fpr[reg]; */ + cvt_df(&data.d, &data.f, ¤t->thread.fpscr); preempt_enable(); break; - default: - printk("align: can't handle flags=%x\n", flags); - return 0; } if (flags & ST) { - if (nb == 2) { - if (__put_user(data.v[2], addr) - || __put_user(data.v[3], addr+1)) + for (i = 0; i < nb; ++i) + if (__put_user(data.v[offset+i], addr+i)) return -EFAULT; - } else { - for (i = 0; i < nb; ++i) - if (__put_user(data.v[i], addr+i)) - return -EFAULT; - } + } else if (flags & F) { + current->thread.fpr[reg] = data.d; + } else { + regs->gpr[reg] = data.l; } - if (flags & U) { + if (flags & U) regs->gpr[areg] = regs->dar; - } return 1; } diff --git a/arch/ppc/kernel/asm-offsets.c b/arch/ppc/kernel/asm-offsets.c index 1999a42d8..946ea9922 100644 --- a/arch/ppc/kernel/asm-offsets.c +++ b/arch/ppc/kernel/asm-offsets.c @@ -129,6 +129,13 @@ main(void) DEFINE(CPU_SPEC_FEATURES, offsetof(struct cpu_spec, cpu_features)); DEFINE(CPU_SPEC_SETUP, offsetof(struct cpu_spec, cpu_setup)); + DEFINE(TI_TASK, offsetof(struct thread_info, task)); + DEFINE(TI_EXECDOMAIN, offsetof(struct thread_info, exec_domain)); + DEFINE(TI_FLAGS, offsetof(struct thread_info, flags)); + DEFINE(TI_LOCAL_FLAGS, offsetof(struct thread_info, local_flags)); + DEFINE(TI_CPU, offsetof(struct thread_info, cpu)); + DEFINE(TI_PREEMPT, offsetof(struct thread_info, preempt_count)); + DEFINE(NUM_USER_SEGMENTS, TASK_SIZE>>28); return 0; } diff --git a/arch/ppc/kernel/cputable.c b/arch/ppc/kernel/cputable.c index b60fa998b..605afa6c6 100644 --- a/arch/ppc/kernel/cputable.c +++ b/arch/ppc/kernel/cputable.c @@ -55,7 +55,7 @@ extern void __setup_cpu_generic(unsigned long offset, int cpu_nr, struct cpu_spe #endif /* We need to mark all pages as being coherent if we're SMP or we - * have a 754x and an MPC107 host bridge. + * have a 74[45]x and an MPC107 host bridge. */ #if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) #define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT @@ -63,6 +63,17 @@ extern void __setup_cpu_generic(unsigned long offset, int cpu_nr, struct cpu_spe #define CPU_FTR_COMMON 0 #endif +/* The powersave features NAP & DOZE seems to confuse BDI when + debugging. So if a BDI is used, disable theses + */ +#ifndef CONFIG_BDI_SWITCH +#define CPU_FTR_MAYBE_CAN_DOZE CPU_FTR_CAN_DOZE +#define CPU_FTR_MAYBE_CAN_NAP CPU_FTR_CAN_NAP +#else +#define CPU_FTR_MAYBE_CAN_DOZE 0 +#define CPU_FTR_MAYBE_CAN_NAP 0 +#endif + struct cpu_spec cpu_specs[] = { #if CLASSIC_PPC { /* 601 */ @@ -76,8 +87,8 @@ struct cpu_spec cpu_specs[] = { { /* 603 */ 0xffff0000, 0x00030000, "603", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_603 @@ -85,8 +96,8 @@ struct cpu_spec cpu_specs[] = { { /* 603e */ 0xffff0000, 0x00060000, "603e", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_603 @@ -94,8 +105,8 @@ struct cpu_spec cpu_specs[] = { { /* 603ev */ 0xffff0000, 0x00070000, "603ev", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_603 @@ -139,8 +150,8 @@ struct cpu_spec cpu_specs[] = { { /* 740/750 (0x4202, don't support TAU ?) */ 0xffffffff, 0x00084202, "740/750", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_750 @@ -148,8 +159,8 @@ struct cpu_spec cpu_specs[] = { { /* 745/755 */ 0xfffff000, 0x00083000, "745/755", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_750 @@ -157,8 +168,8 @@ struct cpu_spec cpu_specs[] = { { /* 750CX (80100 and 8010x?) */ 0xfffffff0, 0x00080100, "750CX", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_750cx @@ -166,8 +177,8 @@ struct cpu_spec cpu_specs[] = { { /* 750CX (82201 and 82202) */ 0xfffffff0, 0x00082200, "750CX", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_750cx @@ -175,8 +186,8 @@ struct cpu_spec cpu_specs[] = { { /* 750CXe (82214) */ 0xfffffff0, 0x00082210, "750CXe", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_750cx @@ -184,8 +195,8 @@ struct cpu_spec cpu_specs[] = { { /* 750FX rev 1.x */ 0xffffff00, 0x70000100, "750FX", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_DUAL_PLL_750FX | CPU_FTR_NO_DPM, COMMON_PPC, 32, 32, @@ -194,8 +205,8 @@ struct cpu_spec cpu_specs[] = { { /* 750FX rev 2.0 must disable HID0[DPM] */ 0xffffffff, 0x70000200, "750FX", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_NO_DPM, COMMON_PPC, 32, 32, @@ -204,8 +215,8 @@ struct cpu_spec cpu_specs[] = { { /* 750FX (All revs except 2.0) */ 0xffff0000, 0x70000000, "750FX", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_DUAL_PLL_750FX | CPU_FTR_HAS_HIGH_BATS, COMMON_PPC, 32, 32, @@ -213,8 +224,8 @@ struct cpu_spec cpu_specs[] = { }, { /* 750GX */ 0xffff0000, 0x70020000, "750GX", - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_DUAL_PLL_750FX | CPU_FTR_HAS_HIGH_BATS, COMMON_PPC, 32, 32, @@ -223,8 +234,8 @@ struct cpu_spec cpu_specs[] = { { /* 740/750 (L2CR bit need fixup for 740) */ 0xffff0000, 0x00080000, "740/750", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_CAN_NAP, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_HPTE_TABLE | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC, 32, 32, __setup_cpu_750 @@ -232,9 +243,9 @@ struct cpu_spec cpu_specs[] = { { /* 7400 rev 1.1 ? (no TAU) */ 0xffffffff, 0x000c1101, "7400 (1.1)", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_HPTE_TABLE | - CPU_FTR_CAN_NAP, + CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP, 32, 32, __setup_cpu_7400 @@ -242,9 +253,9 @@ struct cpu_spec cpu_specs[] = { { /* 7400 */ 0xffff0000, 0x000c0000, "7400", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_ALTIVEC_COMP | CPU_FTR_HPTE_TABLE | - CPU_FTR_CAN_NAP, + CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP, 32, 32, __setup_cpu_7400 @@ -252,9 +263,9 @@ struct cpu_spec cpu_specs[] = { { /* 7410 */ 0xffff0000, 0x800c0000, "7410", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | CPU_FTR_L2CR | CPU_FTR_TAU | CPU_FTR_ALTIVEC_COMP | CPU_FTR_HPTE_TABLE | - CPU_FTR_CAN_NAP, + CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC | PPC_FEATURE_ALTIVEC_COMP, 32, 32, __setup_cpu_7410 @@ -272,7 +283,7 @@ struct cpu_spec cpu_specs[] = { { /* 7450 2.1 */ 0xffffffff, 0x80000201, "7450", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_L3_DISABLE_NAP | CPU_FTR_NEED_COHERENT, @@ -283,7 +294,7 @@ struct cpu_spec cpu_specs[] = { { /* 7450 2.3 and newer */ 0xffff0000, 0x80000000, "7450", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_NEED_COHERENT, @@ -305,7 +316,7 @@ struct cpu_spec cpu_specs[] = { { /* 7455 rev 2.0 */ 0xffffffff, 0x80010200, "7455", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_L3_DISABLE_NAP | CPU_FTR_NEED_COHERENT | CPU_FTR_HAS_HIGH_BATS, @@ -316,7 +327,7 @@ struct cpu_spec cpu_specs[] = { { /* 7455 others */ 0xffff0000, 0x80010000, "7455", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT, @@ -327,7 +338,7 @@ struct cpu_spec cpu_specs[] = { { /* 7447/7457 Rev 1.0 */ 0xffffffff, 0x80020100, "7447/7457", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_NO_BTIC, @@ -338,7 +349,7 @@ struct cpu_spec cpu_specs[] = { { /* 7447/7457 Rev 1.1 */ 0xffffffff, 0x80020101, "7447/7457", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT | CPU_FTR_NO_BTIC, @@ -349,7 +360,7 @@ struct cpu_spec cpu_specs[] = { { /* 7447/7457 Rev 1.2 and later */ 0xffff0000, 0x80020000, "7447/7457", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_L3CR | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT, @@ -360,7 +371,7 @@ struct cpu_spec cpu_specs[] = { { /* 7447A */ 0xffff0000, 0x80030000, "7447A", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_CAN_NAP | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_L2CR | CPU_FTR_ALTIVEC_COMP | CPU_FTR_HPTE_TABLE | CPU_FTR_SPEC7450 | CPU_FTR_NAP_DISABLE_L2_PR | CPU_FTR_HAS_HIGH_BATS | CPU_FTR_NEED_COHERENT, @@ -371,15 +382,15 @@ struct cpu_spec cpu_specs[] = { { /* 82xx (8240, 8245, 8260 are all 603e cores) */ 0x7fff0000, 0x00810000, "82xx", CPU_FTR_COMMON | - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB, COMMON_PPC, 32, 32, __setup_cpu_603 }, { /* All G2_LE (603e core, plus some) have the same pvr */ 0x7fff0000, 0x00820000, "G2_LE", - CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_CAN_DOZE | CPU_FTR_USE_TB | - CPU_FTR_CAN_NAP | CPU_FTR_HAS_HIGH_BATS, + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | CPU_FTR_USE_TB | + CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS, COMMON_PPC, 32, 32, __setup_cpu_603 @@ -440,7 +451,16 @@ struct cpu_spec cpu_specs[] = { 0xffff0000, 0x00390000, "PPC970", CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | - CPU_FTR_ALTIVEC_COMP | CPU_FTR_CAN_NAP, + CPU_FTR_ALTIVEC_COMP | CPU_FTR_MAYBE_CAN_NAP, + COMMON_PPC | PPC_FEATURE_64 | PPC_FEATURE_ALTIVEC_COMP, + 128, 128, + __setup_cpu_ppc970 + }, + { /* PPC970FX */ + 0xffff0000, 0x003c0000, "PPC970FX", + CPU_FTR_COMMON | + CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE | + CPU_FTR_ALTIVEC_COMP | CPU_FTR_MAYBE_CAN_NAP, COMMON_PPC | PPC_FEATURE_64 | PPC_FEATURE_ALTIVEC_COMP, 128, 128, __setup_cpu_ppc970 @@ -449,7 +469,8 @@ struct cpu_spec cpu_specs[] = { #ifdef CONFIG_8xx { /* 8xx */ 0xffff0000, 0x00500000, "8xx", - /* CPU_FTR_CAN_DOZE is possible, if the 8xx code is there.... */ + /* CPU_FTR_MAYBE_CAN_DOZE is possible, + * if the 8xx code is there.... */ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU, 16, 16, @@ -590,7 +611,7 @@ struct cpu_spec cpu_specs[] = { #ifdef CONFIG_E500 { /* e500 */ 0xffff0000, 0x80200000, "e500", - /* xxx - galak: add CPU_FTR_CAN_DOZE */ + /* xxx - galak: add CPU_FTR_MAYBE_CAN_DOZE */ CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB, PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU, 32, 32, diff --git a/arch/ppc/kernel/entry.S b/arch/ppc/kernel/entry.S index 4963b79c7..91318c15c 100644 --- a/arch/ppc/kernel/entry.S +++ b/arch/ppc/kernel/entry.S @@ -206,7 +206,7 @@ _GLOBAL(DoSyscall) andi. r11,r11,_TIF_SYSCALL_TRACE bne- syscall_dotrace syscall_dotrace_cont: - cmpli 0,r0,NR_syscalls + cmplwi 0,r0,NR_syscalls lis r10,sys_call_table@h ori r10,r10,sys_call_table@l slwi r0,r0,2 @@ -222,7 +222,7 @@ ret_from_syscall: #endif mr r6,r3 li r11,-_LAST_ERRNO - cmpl 0,r3,r11 + cmplw 0,r3,r11 rlwinm r12,r1,0,0,18 /* current_thread_info() */ blt+ 30f lwz r11,TI_LOCAL_FLAGS(r12) diff --git a/arch/ppc/kernel/head.S b/arch/ppc/kernel/head.S index 121978c19..8c3bb090f 100644 --- a/arch/ppc/kernel/head.S +++ b/arch/ppc/kernel/head.S @@ -800,7 +800,7 @@ load_up_fpu: tophys(r6,0) /* get __pa constant */ addis r3,r6,last_task_used_math@ha lwz r4,last_task_used_math@l(r3) - cmpi 0,r4,0 + cmpwi 0,r4,0 beq 1f add r4,r4,r6 addi r4,r4,THREAD /* want last_task_used_math->thread */ @@ -927,7 +927,7 @@ load_up_altivec: tophys(r6,0) addis r3,r6,last_task_used_altivec@ha lwz r4,last_task_used_altivec@l(r3) - cmpi 0,r4,0 + cmpwi 0,r4,0 beq 1f add r4,r4,r6 addi r4,r4,THREAD /* want THREAD of last_task_used_altivec */ @@ -992,11 +992,11 @@ giveup_altivec: SYNC MTMSRD(r5) /* enable use of AltiVec now */ isync - cmpi 0,r3,0 + cmpwi 0,r3,0 beqlr- /* if no previous owner, done */ addi r3,r3,THREAD /* want THREAD of task */ lwz r5,PT_REGS(r3) - cmpi 0,r5,0 + cmpwi 0,r5,0 SAVE_32VR(0, r4, r3) mfvscr vr0 li r4,THREAD_VSCR @@ -1030,11 +1030,11 @@ giveup_fpu: MTMSRD(r5) /* enable use of fpu now */ SYNC_601 isync - cmpi 0,r3,0 + cmpwi 0,r3,0 beqlr- /* if no previous owner, done */ addi r3,r3,THREAD /* want THREAD of task */ lwz r5,PT_REGS(r3) - cmpi 0,r5,0 + cmpwi 0,r5,0 SAVE_32FPRS(0, r3) mffs fr0 stfd fr0,THREAD_FPSCR-4(r3) @@ -1512,7 +1512,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_HIGH_BATS) flush_tlbs: lis r10, 0x40 1: addic. r10, r10, -0x1000 - tlbie r10 + tlbie r10,0 blt 1b sync blr @@ -1539,7 +1539,7 @@ initial_bats: #ifndef CONFIG_PPC64BRIDGE mfspr r9,PVR rlwinm r9,r9,16,16,31 /* r9 = 1 for 601, 4 for 604 */ - cmpi 0,r9,1 + cmpwi 0,r9,1 bne 4f ori r11,r11,4 /* set up BAT registers for 601 */ li r8,0x7f /* valid, block length = 8MB */ @@ -1591,7 +1591,7 @@ setup_disp_bat: lwz r8,4(r8) mfspr r9,PVR rlwinm r9,r9,16,16,31 /* r9 = 1 for 601, 4 for 604 */ - cmpi 0,r9,1 + cmpwi 0,r9,1 beq 1f mtspr DBAT3L,r8 mtspr DBAT3U,r11 diff --git a/arch/ppc/kernel/head_44x.S b/arch/ppc/kernel/head_44x.S index f883dc239..73fd71105 100644 --- a/arch/ppc/kernel/head_44x.S +++ b/arch/ppc/kernel/head_44x.S @@ -41,16 +41,9 @@ #include #include #include +#include "head_booke.h" -/* - * Macros - */ -#define SET_IVOR(vector_number, vector_label) \ - li r26,vector_label@l; \ - mtspr SPRN_IVOR##vector_number,r26; \ - sync - /* As with the other PowerPC ports, it is expected that when code * execution begins here, the following registers contain valid, yet * optional, information: @@ -302,234 +295,6 @@ skpinv: addi r4,r4,1 /* Increment */ * We align on a 32 byte cache line boundary for good measure. */ -#define NORMAL_EXCEPTION_PROLOG \ - mtspr SPRN_SPRG0,r10; /* save two registers to work with */\ - mtspr SPRN_SPRG1,r11; \ - mtspr SPRN_SPRG4W,r1; \ - mfcr r10; /* save CR in r10 for now */\ - mfspr r11,SPRN_SRR1; /* check whether user or kernel */\ - andi. r11,r11,MSR_PR; \ - beq 1f; \ - mfspr r1,SPRG3; /* if from user, start at top of */\ - lwz r1,THREAD_INFO-THREAD(r1); /* this thread's kernel stack */\ - addi r1,r1,THREAD_SIZE; \ -1: subi r1,r1,INT_FRAME_SIZE; /* Allocate an exception frame */\ - tophys(r11,r1); \ - stw r10,_CCR(r11); /* save various registers */\ - stw r12,GPR12(r11); \ - stw r9,GPR9(r11); \ - mfspr r10,SPRG0; \ - stw r10,GPR10(r11); \ - mfspr r12,SPRG1; \ - stw r12,GPR11(r11); \ - mflr r10; \ - stw r10,_LINK(r11); \ - mfspr r10,SPRG4R; \ - mfspr r12,SRR0; \ - stw r10,GPR1(r11); \ - mfspr r9,SRR1; \ - stw r10,0(r11); \ - rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\ - stw r0,GPR0(r11); \ - SAVE_4GPRS(3, r11); \ - SAVE_2GPRS(7, r11) - -/* - * Exception prolog for critical exceptions. This is a little different - * from the normal exception prolog above since a critical exception - * can potentially occur at any point during normal exception processing. - * Thus we cannot use the same SPRG registers as the normal prolog above. - * Instead we use a couple of words of memory at low physical addresses. - * This is OK since we don't support SMP on these processors. For Book E - * processors, we also have a reserved register (SPRG2) that is only used - * in critical exceptions so we can free up a GPR to use as the base for - * indirect access to the critical exception save area. This is necessary - * since the MMU is always on and the save area is offset from KERNELBASE. - */ -#define CRITICAL_EXCEPTION_PROLOG \ - mtspr SPRG2,r8; /* SPRG2 only used in criticals */ \ - lis r8,crit_save@ha; \ - stw r10,crit_r10@l(r8); \ - stw r11,crit_r11@l(r8); \ - mfspr r10,SPRG0; \ - stw r10,crit_sprg0@l(r8); \ - mfspr r10,SPRG1; \ - stw r10,crit_sprg1@l(r8); \ - mfspr r10,SPRG4R; \ - stw r10,crit_sprg4@l(r8); \ - mfspr r10,SPRG5R; \ - stw r10,crit_sprg5@l(r8); \ - mfspr r10,SPRG7R; \ - stw r10,crit_sprg7@l(r8); \ - mfspr r10,SPRN_PID; \ - stw r10,crit_pid@l(r8); \ - mfspr r10,SRR0; \ - stw r10,crit_srr0@l(r8); \ - mfspr r10,SRR1; \ - stw r10,crit_srr1@l(r8); \ - mfspr r8,SPRG2; /* SPRG2 only used in criticals */ \ - mfcr r10; /* save CR in r10 for now */\ - mfspr r11,SPRN_CSRR1; /* check whether user or kernel */\ - andi. r11,r11,MSR_PR; \ - lis r11,critical_stack_top@h; \ - ori r11,r11,critical_stack_top@l; \ - beq 1f; \ - /* COMING FROM USER MODE */ \ - mfspr r11,SPRG3; /* if from user, start at top of */\ - lwz r11,THREAD_INFO-THREAD(r11); /* this thread's kernel stack */\ - addi r11,r11,THREAD_SIZE; \ -1: subi r11,r11,INT_FRAME_SIZE; /* Allocate an exception frame */\ - stw r10,_CCR(r11); /* save various registers */\ - stw r12,GPR12(r11); \ - stw r9,GPR9(r11); \ - mflr r10; \ - stw r10,_LINK(r11); \ - mfspr r12,SPRN_DEAR; /* save DEAR and ESR in the frame */\ - stw r12,_DEAR(r11); /* since they may have had stuff */\ - mfspr r9,SPRN_ESR; /* in them at the point where the */\ - stw r9,_ESR(r11); /* exception was taken */\ - mfspr r12,CSRR0; \ - stw r1,GPR1(r11); \ - mfspr r9,CSRR1; \ - stw r1,0(r11); \ - tovirt(r1,r11); \ - rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\ - stw r0,GPR0(r11); \ - SAVE_4GPRS(3, r11); \ - SAVE_2GPRS(7, r11) - -/* - * Exception prolog for machine check exceptions. This is similar to - * the critical exception prolog, except that machine check exceptions - * have their own save area. For Book E processors, we also have a - * reserved register (SPRG6) that is only used in machine check exceptions - * so we can free up a GPR to use as the base for indirect access to the - * machine check exception save area. This is necessary since the MMU - * is always on and the save area is offset from KERNELBASE. - */ -#define MCHECK_EXCEPTION_PROLOG \ - mtspr SPRG6W,r8; /* SPRG6 used in machine checks */ \ - lis r8,mcheck_save@ha; \ - stw r10,mcheck_r10@l(r8); \ - stw r11,mcheck_r11@l(r8); \ - mfspr r10,SPRG0; \ - stw r10,mcheck_sprg0@l(r8); \ - mfspr r10,SPRG1; \ - stw r10,mcheck_sprg1@l(r8); \ - mfspr r10,SPRG4R; \ - stw r10,mcheck_sprg4@l(r8); \ - mfspr r10,SPRG5R; \ - stw r10,mcheck_sprg5@l(r8); \ - mfspr r10,SPRG7R; \ - stw r10,mcheck_sprg7@l(r8); \ - mfspr r10,SPRN_PID; \ - stw r10,mcheck_pid@l(r8); \ - mfspr r10,SRR0; \ - stw r10,mcheck_srr0@l(r8); \ - mfspr r10,SRR1; \ - stw r10,mcheck_srr1@l(r8); \ - mfspr r10,CSRR0; \ - stw r10,mcheck_csrr0@l(r8); \ - mfspr r10,CSRR1; \ - stw r10,mcheck_csrr1@l(r8); \ - mfspr r8,SPRG6R; /* SPRG6 used in machine checks */ \ - mfcr r10; /* save CR in r10 for now */\ - mfspr r11,SPRN_MCSRR1; /* check whether user or kernel */\ - andi. r11,r11,MSR_PR; \ - lis r11,mcheck_stack_top@h; \ - ori r11,r11,mcheck_stack_top@l; \ - beq 1f; \ - /* COMING FROM USER MODE */ \ - mfspr r11,SPRG3; /* if from user, start at top of */\ - lwz r11,THREAD_INFO-THREAD(r11); /* this thread's kernel stack */\ - addi r11,r11,THREAD_SIZE; \ -1: subi r11,r11,INT_FRAME_SIZE; /* Allocate an exception frame */\ - stw r10,_CCR(r11); /* save various registers */\ - stw r12,GPR12(r11); \ - stw r9,GPR9(r11); \ - mflr r10; \ - stw r10,_LINK(r11); \ - mfspr r12,SPRN_DEAR; /* save DEAR and ESR in the frame */\ - stw r12,_DEAR(r11); /* since they may have had stuff */\ - mfspr r9,SPRN_ESR; /* in them at the point where the */\ - stw r9,_ESR(r11); /* exception was taken */\ - mfspr r12,MCSRR0; \ - stw r1,GPR1(r11); \ - mfspr r9,MCSRR1; \ - stw r1,0(r11); \ - tovirt(r1,r11); \ - rlwinm r9,r9,0,14,12; /* clear MSR_WE (necessary?) */\ - stw r0,GPR0(r11); \ - SAVE_4GPRS(3, r11); \ - SAVE_2GPRS(7, r11) - -/* - * Exception vectors. - */ -#define START_EXCEPTION(label) \ - .align 5; \ -label: - -#define FINISH_EXCEPTION(func) \ - bl transfer_to_handler_full; \ - .long func; \ - .long ret_from_except_full - -#define EXCEPTION(n, label, hdlr, xfer) \ - START_EXCEPTION(label); \ - NORMAL_EXCEPTION_PROLOG; \ - addi r3,r1,STACK_FRAME_OVERHEAD; \ - xfer(n, hdlr) - -#define CRITICAL_EXCEPTION(n, label, hdlr) \ - START_EXCEPTION(label); \ - CRITICAL_EXCEPTION_PROLOG; \ - addi r3,r1,STACK_FRAME_OVERHEAD; \ - EXC_XFER_TEMPLATE(hdlr, n+2, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), \ - NOCOPY, transfer_to_handler_full, \ - ret_from_except_full) - -#define MCHECK_EXCEPTION(n, label, hdlr) \ - START_EXCEPTION(label); \ - MCHECK_EXCEPTION_PROLOG; \ - lis r4,MCSR_MCS@h; \ - mtspr SPRN_MCSR,r4; \ - mfspr r5,SPRN_ESR; \ - stw r5,_ESR(r11); \ - addi r3,r1,STACK_FRAME_OVERHEAD; \ - EXC_XFER_TEMPLATE(hdlr, n+2, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), \ - NOCOPY, mcheck_transfer_to_handler, \ - ret_from_mcheck_exc) - -#define EXC_XFER_TEMPLATE(hdlr, trap, msr, copyee, tfer, ret) \ - li r10,trap; \ - stw r10,TRAP(r11); \ - lis r10,msr@h; \ - ori r10,r10,msr@l; \ - copyee(r10, r9); \ - bl tfer; \ - .long hdlr; \ - .long ret - -#define COPY_EE(d, s) rlwimi d,s,0,16,16 -#define NOCOPY(d, s) - -#define EXC_XFER_STD(n, hdlr) \ - EXC_XFER_TEMPLATE(hdlr, n, MSR_KERNEL, NOCOPY, transfer_to_handler_full, \ - ret_from_except_full) - -#define EXC_XFER_LITE(n, hdlr) \ - EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \ - ret_from_except) - -#define EXC_XFER_EE(n, hdlr) \ - EXC_XFER_TEMPLATE(hdlr, n, MSR_KERNEL, COPY_EE, transfer_to_handler_full, \ - ret_from_except_full) - -#define EXC_XFER_EE_LITE(n, hdlr) \ - EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, COPY_EE, transfer_to_handler, \ - ret_from_except) - interrupt_base: /* Critical Input Interrupt */ CRITICAL_EXCEPTION(0x0100, CriticalInput, UnknownException) diff --git a/arch/ppc/kernel/irq.c b/arch/ppc/kernel/irq.c index 2ac2e4b55..d4612e986 100644 --- a/arch/ppc/kernel/irq.c +++ b/arch/ppc/kernel/irq.c @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -414,13 +415,15 @@ static inline void handle_irq_event(int irq, struct pt_regs *regs, struct irqaction *action) { int status = 0; + int ret; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -620,32 +623,6 @@ static int irq_affinity_write_proc (struct file *file, const char __user *buffer return full_count; } -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, const char __user *buffer, - unsigned long count, void *data) -{ - int err; - int full_count = count; - cpumask_t *mask = (cpumask_t *)data; - cpumask_t new_value; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} - #define MAX_NAMELEN 10 static void register_irq_proc (unsigned int irq) @@ -673,23 +650,14 @@ static void register_irq_proc (unsigned int irq) smp_affinity_entry[irq] = entry; } -unsigned long prof_cpu_mask = -1; - void init_irq_proc (void) { - struct proc_dir_entry *entry; int i; /* create /proc/irq */ root_irq_dir = proc_mkdir("irq", NULL); - /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. diff --git a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S index 81a72414a..677761164 100644 --- a/arch/ppc/kernel/misc.S +++ b/arch/ppc/kernel/misc.S @@ -214,7 +214,7 @@ _GLOBAL(low_choose_750fx_pll) mtmsr r0 /* If switching to PLL1, disable HID0:BTIC */ - cmpli cr0,r3,0 + cmplwi cr0,r3,0 beq 1f mfspr r5,HID0 rlwinm r5,r5,0,27,25 @@ -239,7 +239,7 @@ _GLOBAL(low_choose_750fx_pll) stw r4,nap_save_hid1@l(r6) /* If switching to PLL0, enable HID0:BTIC */ - cmpli cr0,r3,0 + cmplwi cr0,r3,0 bne 1f mfspr r5,HID0 ori r5,r5,HID0_BTIC @@ -470,7 +470,7 @@ _GLOBAL(_tlbia) ori r9,r9,mmu_hash_lock@l tophys(r9,r9) 10: lwarx r7,0,r9 - cmpi 0,r7,0 + cmpwi 0,r7,0 bne- 10b stwcx. r8,0,r9 bne- 10b @@ -551,7 +551,7 @@ _GLOBAL(_tlbie) ori r9,r9,mmu_hash_lock@l tophys(r9,r9) 10: lwarx r7,0,r9 - cmpi 0,r7,0 + cmpwi 0,r7,0 bne- 10b stwcx. r8,0,r9 bne- 10b @@ -565,7 +565,7 @@ _GLOBAL(_tlbie) SYNC_601 isync #else /* CONFIG_SMP */ - tlbie r3 + tlbie r3,0 sync #endif /* CONFIG_SMP */ #endif /* ! CONFIG_40x */ @@ -599,7 +599,7 @@ _GLOBAL(flush_instruction_cache) #else mfspr r3,PVR rlwinm r3,r3,16,16,31 - cmpi 0,r3,1 + cmpwi 0,r3,1 beqlr /* for 601, do nothing */ /* 603/604 processor - use invalidate-all bit in HID0 */ mfspr r3,HID0 @@ -617,10 +617,9 @@ _GLOBAL(flush_instruction_cache) * flush_icache_range(unsigned long start, unsigned long stop) */ _GLOBAL(flush_icache_range) - mfspr r5,PVR - rlwinm r5,r5,16,16,31 - cmpi 0,r5,1 - beqlr /* for 601, do nothing */ +BEGIN_FTR_SECTION + blr /* for 601, do nothing */ +END_FTR_SECTION_IFSET(PPC_FEATURE_UNIFIED_CACHE) li r5,L1_CACHE_LINE_SIZE-1 andc r3,r3,r5 subf r4,r3,r4 @@ -735,10 +734,9 @@ _GLOBAL(flush_dcache_all) * void __flush_dcache_icache(void *page) */ _GLOBAL(__flush_dcache_icache) - mfspr r5,PVR - rlwinm r5,r5,16,16,31 - cmpi 0,r5,1 - beqlr /* for 601, do nothing */ +BEGIN_FTR_SECTION + blr /* for 601, do nothing */ +END_FTR_SECTION_IFSET(PPC_FEATURE_UNIFIED_CACHE) rlwinm r3,r3,0,0,19 /* Get page base address */ li r4,4096/L1_CACHE_LINE_SIZE /* Number of lines in a page */ mtctr r4 @@ -764,10 +762,9 @@ _GLOBAL(__flush_dcache_icache) * void __flush_dcache_icache_phys(unsigned long physaddr) */ _GLOBAL(__flush_dcache_icache_phys) - mfspr r5,PVR - rlwinm r5,r5,16,16,31 - cmpi 0,r5,1 - beqlr /* for 601, do nothing */ +BEGIN_FTR_SECTION + blr /* for 601, do nothing */ +END_FTR_SECTION_IFSET(PPC_FEATURE_UNIFIED_CACHE) mfmsr r10 rlwinm r0,r10,0,28,26 /* clear DR */ mtmsr r0 @@ -1144,7 +1141,7 @@ _GLOBAL(kernel_thread) li r4,0 /* new sp (unused) */ li r0,__NR_clone sc - cmpi 0,r3,0 /* parent or child? */ + cmpwi 0,r3,0 /* parent or child? */ bne 1f /* return if parent */ li r0,0 /* make top-level stack frame */ stwu r0,-16(r1) @@ -1449,6 +1446,10 @@ _GLOBAL(sys_call_table) .long sys_mq_timedreceive /* 265 */ .long sys_mq_notify .long sys_mq_getsetattr - .long sys_ni_syscall /* 268 reserved for sys_kexec_load */ + .long sys_kexec_load /* 268 reserved for sys_kexec_load */ +#ifdef USE_IOPRIO_SYSCALLS .long sys_ioprio_set .long sys_ioprio_get +#else +#warning MEF not including sys_ioprio_{set,get} syscalls +#endif diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c index 2d3e630a7..965a874a4 100644 --- a/arch/ppc/kernel/ppc_ksyms.c +++ b/arch/ppc/kernel/ppc_ksyms.c @@ -352,3 +352,7 @@ EXPORT_SYMBOL(cur_cpu_spec); extern unsigned long agp_special_page; EXPORT_SYMBOL(agp_special_page); #endif +#if defined(CONFIG_40x) || defined(CONFIG_BOOKE) +EXPORT_SYMBOL(__mtdcr); +EXPORT_SYMBOL(__mfdcr); +#endif diff --git a/arch/ppc/kernel/process.c b/arch/ppc/kernel/process.c index 2ea505381..d9ab6a7de 100644 --- a/arch/ppc/kernel/process.c +++ b/arch/ppc/kernel/process.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -44,7 +45,6 @@ #include #include #include -#include extern unsigned long _get_SP(void); @@ -555,8 +555,7 @@ int sys_clone(unsigned long clone_flags, unsigned long usp, CHECK_FULL_REGS(regs); if (usp == 0) usp = regs->gpr[1]; /* stack pointer for child */ - return do_fork(clone_flags & ~CLONE_IDLETASK, usp, regs, 0, - parent_tidp, child_tidp); + return do_fork(clone_flags, usp, regs, 0, parent_tidp, child_tidp); } int sys_fork(int p1, int p2, int p3, int p4, int p5, int p6, @@ -662,7 +661,7 @@ void show_stack(struct task_struct *tsk, unsigned long *stack) ++count; sp = *(unsigned long *)sp; } -#if !CONFIG_KALLSYMS +#ifndef CONFIG_KALLSYMS if (count > 0) printk("\n"); #endif diff --git a/arch/ppc/kernel/ptrace.c b/arch/ppc/kernel/ptrace.c index c24367432..19e81ab76 100644 --- a/arch/ppc/kernel/ptrace.c +++ b/arch/ppc/kernel/ptrace.c @@ -379,7 +379,7 @@ int sys_ptrace(long request, long pid, long addr, long data) */ case PTRACE_KILL: { ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ diff --git a/arch/ppc/kernel/setup.c b/arch/ppc/kernel/setup.c index 376f7369c..57b70aec7 100644 --- a/arch/ppc/kernel/setup.c +++ b/arch/ppc/kernel/setup.c @@ -418,7 +418,6 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5, * are used for initrd_start and initrd_size, * otherwise they contain 0xdeadbeef. */ - cmd_line[0] = 0; if (r3 >= 0x4000 && r3 < 0x800000 && r4 == 0) { strlcpy(cmd_line, (char *)r3 + KERNELBASE, sizeof(cmd_line)); @@ -484,6 +483,9 @@ static int __init set_preferred_console(void) char *name; int offset; + if (of_stdout_device == NULL) + return -ENODEV; + /* The user has requested a console so this is already set up. */ if (strstr(saved_command_line, "console=")) return -EBUSY; @@ -744,6 +746,10 @@ void __init setup_arch(char **cmdline_p) if ( ppc_md.progress ) ppc_md.progress("ocp: exit", 0x3eab); #endif +#ifdef CONFIG_DUMMY_CONSOLE + conswitchp = &dummy_con; +#endif + ppc_md.setup_arch(); if ( ppc_md.progress ) ppc_md.progress("arch: exit", 0x3eab); diff --git a/arch/ppc/kernel/signal.c b/arch/ppc/kernel/signal.c index 20b6446c0..260716af5 100644 --- a/arch/ppc/kernel/signal.c +++ b/arch/ppc/kernel/signal.c @@ -270,7 +270,7 @@ save_user_regs(struct pt_regs *regs, struct mcontext __user *frame, int sigret) static int restore_user_regs(struct pt_regs *regs, struct mcontext __user *sr, int sig) { - unsigned long save_r2; + unsigned long save_r2 = 0; #if defined(CONFIG_ALTIVEC) || defined(CONFIG_SPE) unsigned long msr; #endif @@ -404,9 +404,7 @@ badframe: printk("badframe in handle_rt_signal, regs=%p frame=%p newsp=%lx\n", regs, frame, newsp); #endif - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static int do_setcontext(struct ucontext __user *ucp, struct pt_regs *regs, int sig) @@ -556,9 +554,7 @@ badframe: printk("badframe in handle_signal, regs=%p frame=%p newsp=%lx\n", regs, frame, newsp); #endif - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } /* @@ -604,7 +600,7 @@ badframe: int do_signal(sigset_t *oldset, struct pt_regs *regs) { siginfo_t info; - struct k_sigaction *ka; + struct k_sigaction ka; unsigned long frame, newsp; int signr, ret; @@ -613,9 +609,7 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) newsp = frame = 0; - signr = get_signal_to_deliver(&info, regs, NULL); - - ka = (signr == 0)? NULL: ¤t->sighand->action[signr-1]; + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (TRAP(regs) == 0x0C00 /* System Call! */ && regs->ccr & 0x10000000 /* error signalled */ @@ -626,7 +620,7 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) if (signr > 0 && (ret == ERESTARTNOHAND || ret == ERESTART_RESTARTBLOCK || (ret == ERESTARTSYS - && !(ka->sa.sa_flags & SA_RESTART)))) { + && !(ka.sa.sa_flags & SA_RESTART)))) { /* make the system call return an EINTR error */ regs->result = -EINTR; regs->gpr[3] = EINTR; @@ -645,7 +639,7 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) if (signr == 0) return 0; /* no signals delivered */ - if ((ka->sa.sa_flags & SA_ONSTACK) && current->sas_ss_size + if ((ka.sa.sa_flags & SA_ONSTACK) && current->sas_ss_size && !on_sig_stack(regs->gpr[1])) newsp = current->sas_ss_sp + current->sas_ss_size; else @@ -653,17 +647,14 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) newsp &= ~0xfUL; /* Whee! Actually deliver the signal. */ - if (ka->sa.sa_flags & SA_SIGINFO) - handle_rt_signal(signr, ka, &info, oldset, regs, newsp); + if (ka.sa.sa_flags & SA_SIGINFO) + handle_rt_signal(signr, &ka, &info, oldset, regs, newsp); else - handle_signal(signr, ka, &info, oldset, regs, newsp); - - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; + handle_signal(signr, &ka, &info, oldset, regs, newsp); - if (!(ka->sa.sa_flags & SA_NODEFER)) { + if (!(ka.sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); - sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); + sigorsets(¤t->blocked,¤t->blocked,&ka.sa.sa_mask); sigaddset(¤t->blocked, signr); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); diff --git a/arch/ppc/kernel/smp.c b/arch/ppc/kernel/smp.c index c28fbf398..dae491743 100644 --- a/arch/ppc/kernel/smp.c +++ b/arch/ppc/kernel/smp.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include #include @@ -364,22 +363,15 @@ int __devinit start_secondary(void *unused) int __cpu_up(unsigned int cpu) { - struct pt_regs regs; struct task_struct *p; char buf[32]; int c; /* create a process for the processor */ /* only regs.msr is actually used, and 0 is OK for it */ - memset(®s, 0, sizeof(struct pt_regs)); - p = copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); + p = fork_idle(cpu); if (IS_ERR(p)) panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); - wake_up_forked_process(p); - - init_idle(p, cpu); - unhash_process(p); - secondary_ti = p->thread_info; p->thread_info->cpu = cpu; diff --git a/arch/ppc/kernel/time.c b/arch/ppc/kernel/time.c index cfeff0479..60e7ef5ad 100644 --- a/arch/ppc/kernel/time.c +++ b/arch/ppc/kernel/time.c @@ -108,41 +108,18 @@ static inline int tb_delta(unsigned *jiffy_stamp) { return delta; } -extern char _stext; - -static inline void ppc_do_profile (struct pt_regs *regs) +#ifdef CONFIG_SMP +unsigned long profile_pc(struct pt_regs *regs) { - unsigned long nip; - extern unsigned long prof_cpu_mask; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; + unsigned long pc = instruction_pointer(regs); - nip = instruction_pointer(regs); + if (in_lock_functions(pc)) + return regs->link; - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!((1<>= prof_shift; - /* - * Don't ignore out-of-bounds EIP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (nip > prof_len-1) - nip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[nip]); + return pc; } +EXPORT_SYMBOL(profile_pc); +#endif /* * timer_interrupt - gets called when the decrementer overflows, @@ -161,10 +138,10 @@ void timer_interrupt(struct pt_regs * regs) irq_enter(); - while ((next_dec = tb_ticks_per_jiffy - tb_delta(&jiffy_stamp)) < 0) { + while ((next_dec = tb_ticks_per_jiffy - tb_delta(&jiffy_stamp)) <= 0) { jiffy_stamp += tb_ticks_per_jiffy; - ppc_do_profile(regs); + profile_tick(CPU_PROFILING, regs); if (smp_processor_id()) continue; diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index 544ea9fb5..7870bb680 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c @@ -357,7 +357,7 @@ void RunModeException(struct pt_regs *regs) /* Illegal instruction emulation support. Originally written to * provide the PVR to user applications using the mfspr rd, PVR. - * Return non-zero if we can't emulate, or EFAULT if the associated + * Return non-zero if we can't emulate, or -EFAULT if the associated * memory access caused an access fault. Return zero on success. * * There are a couple of ways to do this, either "decode" the instruction @@ -368,16 +368,19 @@ void RunModeException(struct pt_regs *regs) #define INST_MFSPR_PVR 0x7c1f42a6 #define INST_MFSPR_PVR_MASK 0xfc1fffff +#define INST_DCBA 0x7c0005ec +#define INST_DCBA_MASK 0x7c0007fe + +#define INST_MCRXR 0x7c000400 +#define INST_MCRXR_MASK 0x7c0007fe + static int emulate_instruction(struct pt_regs *regs) { u32 instword; u32 rd; - int retval; - - retval = -EINVAL; if (!user_mode(regs)) - return retval; + return -EINVAL; CHECK_FULL_REGS(regs); if (get_user(instword, (u32 __user *)(regs->nip))) @@ -388,10 +391,24 @@ static int emulate_instruction(struct pt_regs *regs) if ((instword & INST_MFSPR_PVR_MASK) == INST_MFSPR_PVR) { rd = (instword >> 21) & 0x1f; regs->gpr[rd] = mfspr(PVR); - retval = 0; - regs->nip += 4; + return 0; } - return retval; + + /* Emulating the dcba insn is just a no-op. */ + if ((instword & INST_DCBA_MASK) == INST_DCBA) + return 0; + + /* Emulate the mcrxr insn. */ + if ((instword & INST_MCRXR_MASK) == INST_MCRXR) { + int shift = (instword >> 21) & 0x1c; + unsigned long msk = 0xf0000000UL >> shift; + + regs->ccr = (regs->ccr & ~msk) | ((regs->xer >> shift) & msk); + regs->xer &= ~0xf0000000UL; + return 0; + } + + return -EINVAL; } /* @@ -528,17 +545,23 @@ void ProgramCheckException(struct pt_regs *regs) return; } - if (reason & REASON_PRIVILEGED) { - /* Try to emulate it if we should. */ - if (emulate_instruction(regs) == 0) { + /* Try to emulate it if we should. */ + if (reason & (REASON_ILLEGAL | REASON_PRIVILEGED)) { + switch (emulate_instruction(regs)) { + case 0: + regs->nip += 4; emulate_single_step(regs); return; + case -EFAULT: + _exception(SIGSEGV, regs, SEGV_MAPERR, regs->nip); + return; } - _exception(SIGILL, regs, ILL_PRVOPC, regs->nip); - return; } - _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); + if (reason & REASON_PRIVILEGED) + _exception(SIGILL, regs, ILL_PRVOPC, regs->nip); + else + _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); } void SingleStepException(struct pt_regs *regs) diff --git a/arch/ppc/kernel/vmlinux.lds.S b/arch/ppc/kernel/vmlinux.lds.S index 342848fe5..5d2cbc780 100644 --- a/arch/ppc/kernel/vmlinux.lds.S +++ b/arch/ppc/kernel/vmlinux.lds.S @@ -32,6 +32,7 @@ SECTIONS { *(.text) SCHED_TEXT + LOCK_TEXT *(.fixup) *(.got1) __got2_start = .; @@ -102,9 +103,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) diff --git a/arch/ppc/mm/hashtable.S b/arch/ppc/mm/hashtable.S index e3c7d94fc..6408e28d0 100644 --- a/arch/ppc/mm/hashtable.S +++ b/arch/ppc/mm/hashtable.S @@ -375,7 +375,7 @@ _GLOBAL(hash_page_patch_A) */ andi. r6,r6,_PAGE_HASHPTE beq+ 10f /* no PTE: go look for an empty slot */ - tlbie r4 + tlbie r4,0 addis r4,r7,htab_hash_searches@ha lwz r6,htab_hash_searches@l(r4) @@ -616,7 +616,7 @@ _GLOBAL(flush_hash_patch_B) 3: li r0,0 STPTE r0,0(r12) /* invalidate entry */ 4: sync - tlbie r4 /* in hw tlb too */ + tlbie r4,0 /* in hw tlb too */ sync 8: ble cr1,9f /* if all ptes checked */ diff --git a/arch/ppc/mm/init.c b/arch/ppc/mm/init.c index ec0058c47..734aa35d8 100644 --- a/arch/ppc/mm/init.c +++ b/arch/ppc/mm/init.c @@ -104,6 +104,7 @@ extern unsigned long sysmap_size; * -- Cort */ int __map_without_bats; +int __map_without_ltlbs; /* max amount of RAM to use */ unsigned long __max_memory; @@ -204,6 +205,10 @@ void MMU_setup(void) __map_without_bats = 1; } + if (strstr(cmd_line, "noltlbs")) { + __map_without_ltlbs = 1; + } + /* Look for mem= option on command line */ if (strstr(cmd_line, "mem=")) { char *p, *q; diff --git a/arch/ppc/mm/pgtable.c b/arch/ppc/mm/pgtable.c index c16d4cce4..30482852c 100644 --- a/arch/ppc/mm/pgtable.c +++ b/arch/ppc/mm/pgtable.c @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -271,6 +272,18 @@ void iounmap(void *addr) vunmap((void *) (PAGE_MASK & (unsigned long)addr)); } +void __iomem *ioport_map(unsigned long port, unsigned int len) +{ + return (void __iomem *) (port + _IO_BASE); +} + +void ioport_unmap(void __iomem *addr) +{ + /* Nothing to do */ +} +EXPORT_SYMBOL(ioport_map); +EXPORT_SYMBOL(ioport_unmap); + int map_page(unsigned long va, phys_addr_t pa, int flags) { diff --git a/arch/ppc/platforms/4xx/ebony.c b/arch/ppc/platforms/4xx/ebony.c index 6c9bde473..118d8520e 100644 --- a/arch/ppc/platforms/4xx/ebony.c +++ b/arch/ppc/platforms/4xx/ebony.c @@ -4,9 +4,11 @@ * Ebony board specific routines * * Matt Porter - * * Copyright 2002 MontaVista Software Inc. * + * Eugene Surovegin or + * Copyright (c) 2003, 2004 Zultys Technologies + * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your @@ -118,7 +120,7 @@ static u_char ebony_IRQ_initsenses[] __initdata = { (IRQ_SENSE_LEVEL | IRQ_POLARITY_POSITIVE), /* 63: EMAC 1 WOL */ }; -extern void abort(void); +static struct ibm44x_clocks clocks __initdata; static void __init ebony_calibrate_decr(void) @@ -143,18 +145,7 @@ ebony_calibrate_decr(void) break; } - tb_ticks_per_jiffy = freq / HZ; - tb_to_us = mulhwu_scale_factor(freq, 1000000); - - /* Set the time base to zero */ - mtspr(SPRN_TBWL, 0); - mtspr(SPRN_TBWU, 0); - - /* Clear any pending timer interrupts */ - mtspr(SPRN_TSR, TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS); - - /* Enable decrementer interrupt */ - mtspr(SPRN_TCR, TCR_DIE); + ibm44x_calibrate_decr(freq); } static int @@ -283,7 +274,7 @@ ebony_early_serial_map(void) memset(&port, 0, sizeof(port)); port.membase = ioremap64(PPC440GP_UART0_ADDR, 8); port.irq = 0; - port.uartclk = BASE_BAUD * 16; + port.uartclk = clocks.uart0; port.regshift = 0; port.iotype = SERIAL_IO_MEM; port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST; @@ -306,7 +297,6 @@ static void __init ebony_setup_arch(void) { unsigned char * vpd_base; - struct ibm44x_clocks clocks; struct ocp_def *def; struct ocp_func_emac_data *emacdata; @@ -361,10 +351,6 @@ ebony_setup_arch(void) ROOT_DEV = Root_HDA1; #endif -#ifdef CONFIG_VT - conswitchp = &dummy_con; -#endif - ebony_early_serial_map(); ibm4xxPIC_InitSenses = ebony_IRQ_initsenses; @@ -374,152 +360,17 @@ ebony_setup_arch(void) printk("IBM Ebony port (MontaVista Software, Inc. (source@mvista.com))\n"); } -static void -ebony_restart(char *cmd) -{ - local_irq_disable(); - abort(); -} - -static void -ebony_power_off(void) -{ - local_irq_disable(); - for(;;); -} - -static void -ebony_halt(void) -{ - local_irq_disable(); - for(;;); -} - -/* - * Read the 440GP memory controller to get size of system memory. - */ -static unsigned long __init -ebony_find_end_of_memory(void) -{ - u32 i, bank_config; - u32 mem_size = 0; - - for (i=0; i<4; i++) - { - switch (i) - { - case 0: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B0CR); - break; - case 1: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B1CR); - break; - case 2: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B2CR); - break; - case 3: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B3CR); - break; - } - - bank_config = mfdcr(DCRN_SDRAM0_CFGDATA); - - if (!(bank_config & SDRAM_CONFIG_BANK_ENABLE)) - continue; - switch (SDRAM_CONFIG_BANK_SIZE(bank_config)) - { - case SDRAM_CONFIG_SIZE_8M: - mem_size += PPC44x_MEM_SIZE_8M; - break; - case SDRAM_CONFIG_SIZE_16M: - mem_size += PPC44x_MEM_SIZE_16M; - break; - case SDRAM_CONFIG_SIZE_32M: - mem_size += PPC44x_MEM_SIZE_32M; - break; - case SDRAM_CONFIG_SIZE_64M: - mem_size += PPC44x_MEM_SIZE_64M; - break; - case SDRAM_CONFIG_SIZE_128M: - mem_size += PPC44x_MEM_SIZE_128M; - break; - case SDRAM_CONFIG_SIZE_256M: - mem_size += PPC44x_MEM_SIZE_256M; - break; - case SDRAM_CONFIG_SIZE_512M: - mem_size += PPC44x_MEM_SIZE_512M; - break; - } - } - return mem_size; -} - -static void __init -ebony_init_irq(void) -{ - int i; - - ppc4xx_pic_init(); - - for (i = 0; i < NR_IRQS; i++) - irq_desc[i].handler = ppc4xx_pic; -} - -#ifdef CONFIG_SERIAL_TEXT_DEBUG -#include -#include -#include - -static struct serial_state rs_table[RS_TABLE_SIZE] = { - SERIAL_PORT_DFNS /* Defined in */ -}; - -static void -ebony_progress(char *s, unsigned short hex) -{ - volatile char c; - volatile unsigned long com_port; - u16 shift; - - com_port = (unsigned long)rs_table[0].iomem_base; - shift = rs_table[0].iomem_reg_shift; - - while ((c = *s++) != 0) { - while ((*((volatile unsigned char *)com_port + - (UART_LSR << shift)) & UART_LSR_THRE) == 0) - ; - *(volatile unsigned char *)com_port = c; - - } - - /* Send LF/CR to pretty up output */ - while ((*((volatile unsigned char *)com_port + - (UART_LSR << shift)) & UART_LSR_THRE) == 0) - ; - *(volatile unsigned char *)com_port = '\r'; - while ((*((volatile unsigned char *)com_port + - (UART_LSR << shift)) & UART_LSR_THRE) == 0) - ; - *(volatile unsigned char *)com_port = '\n'; -} -#endif /* CONFIG_SERIAL_TEXT_DEBUG */ - void __init platform_init(unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7) { parse_bootinfo((struct bi_record *) (r3 + KERNELBASE)); + ibm44x_platform_init(); + ppc_md.setup_arch = ebony_setup_arch; ppc_md.show_cpuinfo = ebony_show_cpuinfo; - ppc_md.init_IRQ = ebony_init_irq; ppc_md.get_irq = NULL; /* Set in ppc4xx_pic_init() */ - ppc_md.find_end_of_memory = ebony_find_end_of_memory; - - ppc_md.restart = ebony_restart; - ppc_md.power_off = ebony_power_off; - ppc_md.halt = ebony_halt; - ppc_md.calibrate_decr = ebony_calibrate_decr; ppc_md.time_init = todc_time_init; ppc_md.set_rtc_time = todc_set_rtc_time; @@ -528,9 +379,6 @@ void __init platform_init(unsigned long r3, unsigned long r4, ppc_md.nvram_read_val = todc_direct_read_val; ppc_md.nvram_write_val = todc_direct_write_val; -#ifdef CONFIG_SERIAL_TEXT_DEBUG - ppc_md.progress = ebony_progress; -#endif /* CONFIG_SERIAL_TEXT_DEBUG */ #ifdef CONFIG_KGDB ppc_md.early_serial_map = ebony_early_serial_map; #endif diff --git a/arch/ppc/platforms/4xx/ebony.h b/arch/ppc/platforms/4xx/ebony.h index c4352e6bb..f90ddf309 100755 --- a/arch/ppc/platforms/4xx/ebony.h +++ b/arch/ppc/platforms/4xx/ebony.h @@ -40,21 +40,21 @@ #define EBONY_RTC_SIZE 0x2000 /* Flash */ -#define EBONY_FPGA_ADDR 0x0000000148300000 +#define EBONY_FPGA_ADDR 0x0000000148300000ULL #define EBONY_BOOT_SMALL_FLASH(x) (x & 0x20) #define EBONY_ONBRD_FLASH_EN(x) (x & 0x02) #define EBONY_FLASH_SEL(x) (x & 0x01) -#define EBONY_SMALL_FLASH_LOW1 0x00000001ff800000 -#define EBONY_SMALL_FLASH_LOW2 0x00000001ff880000 -#define EBONY_SMALL_FLASH_HIGH1 0x00000001fff00000 -#define EBONY_SMALL_FLASH_HIGH2 0x00000001fff80000 +#define EBONY_SMALL_FLASH_LOW1 0x00000001ff800000ULL +#define EBONY_SMALL_FLASH_LOW2 0x00000001ff880000ULL +#define EBONY_SMALL_FLASH_HIGH1 0x00000001fff00000ULL +#define EBONY_SMALL_FLASH_HIGH2 0x00000001fff80000ULL #define EBONY_SMALL_FLASH_SIZE 0x80000 -#define EBONY_LARGE_FLASH_LOW 0x00000001ff800000 -#define EBONY_LARGE_FLASH_HIGH 0x00000001ffc00000 +#define EBONY_LARGE_FLASH_LOW 0x00000001ff800000ULL +#define EBONY_LARGE_FLASH_HIGH 0x00000001ffc00000ULL #define EBONY_LARGE_FLASH_SIZE 0x400000 -#define EBONY_SMALL_FLASH_BASE 0x00000001fff80000 -#define EBONY_LARGE_FLASH_BASE 0x00000001ff800000 +#define EBONY_SMALL_FLASH_BASE 0x00000001fff80000ULL +#define EBONY_LARGE_FLASH_BASE 0x00000001ff800000ULL /* * Serial port defines diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c index 6376890e3..c981f70aa 100644 --- a/arch/ppc/platforms/4xx/ocotea.c +++ b/arch/ppc/platforms/4xx/ocotea.c @@ -47,6 +47,7 @@ #include #include #include +#include #include @@ -57,27 +58,21 @@ */ #include "../../../../drivers/net/ibm_emac/ibm_emac_phy.h" -extern void abort(void); +bd_t __res; + +static struct ibm44x_clocks clocks __initdata; static void __init ocotea_calibrate_decr(void) { unsigned int freq; - freq = OCOTEA_SYSCLK; - - tb_ticks_per_jiffy = freq / HZ; - tb_to_us = mulhwu_scale_factor(freq, 1000000); - - /* Set the time base to zero */ - mtspr(SPRN_TBWL, 0); - mtspr(SPRN_TBWU, 0); - - /* Clear any pending timer interrupts */ - mtspr(SPRN_TSR, TSR_ENW | TSR_WIS | TSR_DIS | TSR_FIS); + if (mfspr(SPRN_CCR1) & CCR1_TCS) + freq = OCOTEA_TMR_CLK; + else + freq = clocks.cpu; - /* Enable decrementer interrupt */ - mtspr(SPRN_TCR, TCR_DIE); + ibm44x_calibrate_decr(freq); } static int @@ -88,6 +83,7 @@ ocotea_show_cpuinfo(struct seq_file *m) return 0; } + static inline int ocotea_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) { @@ -107,6 +103,46 @@ ocotea_map_irq(struct pci_dev *dev, unsigned char idsel, unsigned char pin) return PCI_IRQ_TABLE_LOOKUP; } +static void __init ocotea_set_emacdata(void) +{ + struct ocp_def *def; + struct ocp_func_emac_data *emacdata; + int i; + + /* + * Note: Current rev. board only operates in Group 4a + * mode, so we always set EMAC0-1 for SMII and EMAC2-3 + * for RGMII (though these could run in RTBI just the same). + * + * The FPGA reg 3 information isn't even suitable for + * determining the phy_mode, so if the board becomes + * usable in !4a, it will be necessary to parse an environment + * variable from the firmware or similar to properly configure + * the phy_map/phy_mode. + */ + /* Set phy_map, phy_mode, and mac_addr for each EMAC */ + for (i=0; i<4; i++) { + def = ocp_get_one_device(OCP_VENDOR_IBM, OCP_FUNC_EMAC, i); + emacdata = def->additions; + if (i < 2) { + emacdata->phy_map = 0x00000001; /* Skip 0x00 */ + emacdata->phy_mode = PHY_MODE_SMII; + } + else { + emacdata->phy_map = 0x0000ffff; /* Skip 0x00-0x0f */ + emacdata->phy_mode = PHY_MODE_RGMII; + } + if (i == 0) + memcpy(emacdata->mac_addr, __res.bi_enetaddr, 6); + else if (i == 1) + memcpy(emacdata->mac_addr, __res.bi_enet1addr, 6); + else if (i == 2) + memcpy(emacdata->mac_addr, __res.bi_enet2addr, 6); + else if (i == 3) + memcpy(emacdata->mac_addr, __res.bi_enet3addr, 6); + } +} + #define PCIX_READW(offset) \ (readw((u32)pcix_reg_base+offset)) @@ -209,7 +245,7 @@ ocotea_setup_hose(void) TODC_ALLOC(); static void __init -ocotea_early_serial_map(const struct ibm44x_clocks *clks) +ocotea_early_serial_map(void) { struct uart_port port; @@ -217,7 +253,7 @@ ocotea_early_serial_map(const struct ibm44x_clocks *clks) memset(&port, 0, sizeof(port)); port.membase = ioremap64(PPC440GX_UART0_ADDR, 8); port.irq = UART0_INT; - port.uartclk = clks->uart0; + port.uartclk = clocks.uart0; port.regshift = 0; port.iotype = SERIAL_IO_MEM; port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST; @@ -229,7 +265,7 @@ ocotea_early_serial_map(const struct ibm44x_clocks *clks) port.membase = ioremap64(PPC440GX_UART1_ADDR, 8); port.irq = UART1_INT; - port.uartclk = clks->uart1; + port.uartclk = clocks.uart1; port.line = 1; if (early_serial_setup(&port) != 0) { @@ -240,41 +276,7 @@ ocotea_early_serial_map(const struct ibm44x_clocks *clks) static void __init ocotea_setup_arch(void) { - unsigned char *addr; - unsigned long long mac64; - struct ocp_def *def; - struct ocp_func_emac_data *emacdata; - int i; - struct ibm44x_clocks clocks; - - /* - * Note: Current rev. board only operates in Group 4a - * mode, so we always set EMAC0-1 for SMII and EMAC2-3 - * for RGMII (though these could run in RTBI just the same). - * - * The FPGA reg 3 information isn't even suitable for - * determining the phy_mode, so if the board becomes - * usable in !4a, it will be necessary to parse an environment - * variable from the firmware or similar to properly configure - * the phy_map/phy_mode. - */ - /* Set phy_map, phy_mode, and mac_addr for each EMAC */ - addr = ioremap64(OCOTEA_MAC_BASE, OCOTEA_MAC_SIZE); - for (i=0; i<4; i++) { - mac64 = simple_strtoull(addr+OCOTEA_MAC_OFFSET*i, 0, 16); - def = ocp_get_one_device(OCP_VENDOR_IBM, OCP_FUNC_EMAC, i); - emacdata = def->additions; - if (i < 2) { - emacdata->phy_map = 0x00000001; /* Skip 0x00 */ - emacdata->phy_mode = PHY_MODE_SMII; - } - else { - emacdata->phy_map = 0x0000ffff; /* Skip 0x00-0x0f */ - emacdata->phy_mode = PHY_MODE_RGMII; - } - memcpy(emacdata->mac_addr, (char *)&mac64+2, 6); - } - iounmap(addr); + ocotea_set_emacdata(); ibm440gx_tah_enable(); @@ -319,173 +321,33 @@ ocotea_setup_arch(void) ROOT_DEV = Root_HDA1; #endif -#ifdef CONFIG_DUMMY_CONSOLE - conswitchp = &dummy_con; -#endif - - ocotea_early_serial_map(&clocks); + ocotea_early_serial_map(); /* Identify the system */ printk("IBM Ocotea port (MontaVista Software, Inc. )\n"); } -static void -ocotea_restart(char *cmd) -{ - local_irq_disable(); - abort(); -} - -static void -ocotea_power_off(void) -{ - local_irq_disable(); - for(;;); -} - -static void -ocotea_halt(void) -{ - local_irq_disable(); - for(;;); -} - -/* - * Read the 440GX memory controller to get size of system memory. - */ -static unsigned long __init -ocotea_find_end_of_memory(void) -{ - u32 i, bank_config; - u32 mem_size = 0; - - for (i=0; i<4; i++) - { - switch (i) - { - case 0: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B0CR); - break; - case 1: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B1CR); - break; - case 2: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B2CR); - break; - case 3: - mtdcr(DCRN_SDRAM0_CFGADDR, SDRAM0_B3CR); - break; - } - - bank_config = mfdcr(DCRN_SDRAM0_CFGDATA); - - if (!(bank_config & SDRAM_CONFIG_BANK_ENABLE)) - continue; - switch (SDRAM_CONFIG_BANK_SIZE(bank_config)) - { - case SDRAM_CONFIG_SIZE_8M: - mem_size += PPC44x_MEM_SIZE_8M; - break; - case SDRAM_CONFIG_SIZE_16M: - mem_size += PPC44x_MEM_SIZE_16M; - break; - case SDRAM_CONFIG_SIZE_32M: - mem_size += PPC44x_MEM_SIZE_32M; - break; - case SDRAM_CONFIG_SIZE_64M: - mem_size += PPC44x_MEM_SIZE_64M; - break; - case SDRAM_CONFIG_SIZE_128M: - mem_size += PPC44x_MEM_SIZE_128M; - break; - case SDRAM_CONFIG_SIZE_256M: - mem_size += PPC44x_MEM_SIZE_256M; - break; - case SDRAM_CONFIG_SIZE_512M: - mem_size += PPC44x_MEM_SIZE_512M; - break; - } - } - return mem_size; -} - -static void __init -ocotea_init_irq(void) -{ - int i; - - ppc4xx_pic_init(); - - for (i = 0; i < NR_IRQS; i++) - irq_desc[i].handler = ppc4xx_pic; -} - -#ifdef CONFIG_SERIAL_TEXT_DEBUG -#include -#include -#include -struct serial_state rs_table[RS_TABLE_SIZE] = { - SERIAL_PORT_DFNS /* Defined in */ -}; - -static void -ocotea_progress(char *s, unsigned short hex) -{ - volatile char c; - volatile unsigned long com_port; - u16 shift; - - com_port = (unsigned long)rs_table[0].iomem_base; - shift = rs_table[0].iomem_reg_shift; - - while ((c = *s++) != 0) { - while ((*((volatile unsigned char *)com_port + - (UART_LSR << shift)) & UART_LSR_THRE) == 0) - ; - *(volatile unsigned char *)com_port = c; - - } - - /* Send LF/CR to pretty up output */ - while ((*((volatile unsigned char *)com_port + - (UART_LSR << shift)) & UART_LSR_THRE) == 0) - ; - *(volatile unsigned char *)com_port = '\r'; - while ((*((volatile unsigned char *)com_port + - (UART_LSR << shift)) & UART_LSR_THRE) == 0) - ; - *(volatile unsigned char *)com_port = '\n'; -} -#endif /* CONFIG_SERIAL_TEXT_DEBUG */ - -#if 0 -static void __init -ocotea_map_io(void) -{ - io_block_mapping(0xe0000000, 0x0000000140000000, - 0x00001000, _PAGE_IO); -} -#endif - void __init platform_init(unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7) { - parse_bootinfo((struct bi_record *) (r3 + KERNELBASE)); + parse_bootinfo(find_bootinfo()); + + /* + * If we were passed in a board information, copy it into the + * residual data area. + */ + if (r3) + __res = *(bd_t *)(r3 + KERNELBASE); /* Disable L2-Cache due to hardware issues */ ibm440gx_l2c_disable(); + ibm44x_platform_init(); + ppc_md.setup_arch = ocotea_setup_arch; ppc_md.show_cpuinfo = ocotea_show_cpuinfo; - ppc_md.init_IRQ = ocotea_init_irq; ppc_md.get_irq = NULL; /* Set in ppc4xx_pic_init() */ - ppc_md.find_end_of_memory = ocotea_find_end_of_memory; - - ppc_md.restart = ocotea_restart; - ppc_md.power_off = ocotea_power_off; - ppc_md.halt = ocotea_halt; - ppc_md.calibrate_decr = ocotea_calibrate_decr; ppc_md.time_init = todc_time_init; ppc_md.set_rtc_time = todc_set_rtc_time; @@ -494,9 +356,6 @@ void __init platform_init(unsigned long r3, unsigned long r4, ppc_md.nvram_read_val = todc_direct_read_val; ppc_md.nvram_write_val = todc_direct_write_val; -#ifdef CONFIG_SERIAL_TEXT_DEBUG - ppc_md.progress = ocotea_progress; -#endif /* CONFIG_SERIAL_TEXT_DEBUG */ #ifdef CONFIG_KGDB ppc_md.early_serial_map = ocotea_early_serial_map; #endif diff --git a/arch/ppc/platforms/4xx/ocotea.h b/arch/ppc/platforms/4xx/ocotea.h index 17fe8dada..90cd0afa1 100644 --- a/arch/ppc/platforms/4xx/ocotea.h +++ b/arch/ppc/platforms/4xx/ocotea.h @@ -24,13 +24,14 @@ /* F/W TLB mapping used in bootloader glue to reset EMAC */ #define PPC44x_EMAC0_MR0 0xE0000800 -/* Location of MAC addresses in firmware */ -#define OCOTEA_MAC_BASE (OCOTEA_SMALL_FLASH_HIGH+0xb0500) -#define OCOTEA_MAC_SIZE 0x200 -#define OCOTEA_MAC_OFFSET 0x100 - -/* Default clock rate */ -#define OCOTEA_SYSCLK 25000000 +/* Location of MAC addresses in PIBS image */ +#define OCOTEA_PIBS_FLASH 0xfff00000 +#define OCOTEA_PIBS_MAC_BASE (OCOTEA_PIBS_FLASH+0xb0500) +#define OCOTEA_PIBS_MAC_SIZE 0x200 +#define OCOTEA_PIBS_MAC_OFFSET 0x100 + +/* External timer clock frequency */ +#define OCOTEA_TMR_CLK 25000000 /* RTC/NVRAM location */ #define OCOTEA_RTC_ADDR 0x0000000148000000ULL diff --git a/arch/ppc/platforms/Makefile b/arch/ppc/platforms/Makefile index c59d4871d..c393f58e5 100644 --- a/arch/ppc/platforms/Makefile +++ b/arch/ppc/platforms/Makefile @@ -21,23 +21,21 @@ endif obj-$(CONFIG_PMAC_BACKLIGHT) += pmac_backlight.o obj-$(CONFIG_PREP_RESIDUAL) += residual.o obj-$(CONFIG_ADIR) += adir_setup.o adir_pic.o adir_pci.o -obj-$(CONFIG_EST8260) += est8260_setup.o -obj-$(CONFIG_PQ2ADS) += pq2ads_setup.o +obj-$(CONFIG_PQ2ADS) += pq2ads.o obj-$(CONFIG_TQM8260) += tqm8260_setup.o obj-$(CONFIG_EV64260) += ev64260_setup.o obj-$(CONFIG_GEMINI) += gemini_pci.o gemini_setup.o gemini_prom.o obj-$(CONFIG_K2) += k2.o -obj-$(CONFIG_LOPEC) += lopec_setup.o lopec_pci.o +obj-$(CONFIG_LOPEC) += lopec.o obj-$(CONFIG_MCPN765) += mcpn765.o obj-$(CONFIG_MENF1) += menf1_setup.o menf1_pci.o -obj-$(CONFIG_MVME5100) += mvme5100_setup.o mvme5100_pci.o +obj-$(CONFIG_MVME5100) += mvme5100.o obj-$(CONFIG_PAL4) += pal4_setup.o pal4_pci.o obj-$(CONFIG_PCORE) += pcore.o obj-$(CONFIG_POWERPMC250) += powerpmc250.o obj-$(CONFIG_PPLUS) += pplus.o obj-$(CONFIG_PRPMC750) += prpmc750.o obj-$(CONFIG_PRPMC800) += prpmc800.o -obj-$(CONFIG_RPX8260) += rpx8260.o obj-$(CONFIG_SANDPOINT) += sandpoint.o obj-$(CONFIG_SBC82xx) += sbc82xx.o obj-$(CONFIG_SPRUCE) += spruce.o diff --git a/arch/ppc/platforms/est8260.h b/arch/ppc/platforms/est8260.h index bc51f072a..adba68ecf 100644 --- a/arch/ppc/platforms/est8260.h +++ b/arch/ppc/platforms/est8260.h @@ -10,6 +10,9 @@ #define BOOTROM_RESTART_ADDR ((uint)0xff000104) +/* For our show_cpuinfo hooks. */ +#define CPUINFO_VENDOR "EST Corporation" +#define CPUINFO_MACHINE "SBC8260 PowerPC" /* A Board Information structure that is given to a program when * prom starts it up. diff --git a/arch/ppc/platforms/pmac_cpufreq.c b/arch/ppc/platforms/pmac_cpufreq.c index 5b2221a14..b51b37d16 100644 --- a/arch/ppc/platforms/pmac_cpufreq.c +++ b/arch/ppc/platforms/pmac_cpufreq.c @@ -24,10 +24,10 @@ #include #include #include +#include #include #include #include -#include #include #include #include @@ -301,7 +301,6 @@ static int __pmac pmu_set_cpu_speed(int low_speed) static int __pmac do_set_cpu_speed(int speed_mode) { struct cpufreq_freqs freqs; - int rc; freqs.old = cur_freq; freqs.new = (speed_mode == PMAC_CPU_HIGH_SPEED) ? hi_freq : low_freq; @@ -315,7 +314,7 @@ static int __pmac do_set_cpu_speed(int speed_mode) cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); cur_freq = (speed_mode == PMAC_CPU_HIGH_SPEED) ? hi_freq : low_freq; - return rc; + return 0; } static int __pmac pmac_cpufreq_verify(struct cpufreq_policy *policy) @@ -498,7 +497,7 @@ static int __pmac pmac_cpufreq_init_7447A(struct device_node *cpunode) * - Titanium PowerBook 800 (PMU based, 667Mhz & 800Mhz) * - Titanium PowerBook 400 (PMU based, 300Mhz & 400Mhz) * - Titanium PowerBook 500 (PMU based, 300Mhz & 500Mhz) - * - iBook2 500 (PMU based, 400Mhz & 500Mhz) + * - iBook2 500/600 (PMU based, 400Mhz & 500/600Mhz) * - iBook2 700 (CPU based, 400Mhz & 700Mhz, support low voltage) * - Recent MacRISC3 laptops * - iBook G4s and PowerBook G4s with 7447A CPUs @@ -533,11 +532,8 @@ static int __init pmac_cpufreq_setup(void) machine_is_compatible("PowerBook3,5") || machine_is_compatible("MacRISC3")) { pmac_cpufreq_init_MacRISC3(cpunode); - /* Else check for iBook2 500 */ + /* Else check for iBook2 500/600 */ } else if (machine_is_compatible("PowerBook4,1")) { - /* We only know about 500Mhz model */ - if (cur_freq < 450000 || cur_freq > 550000) - goto out; hi_freq = cur_freq; low_freq = 400000; set_speed_proc = pmu_set_cpu_speed; diff --git a/arch/ppc/platforms/pmac_feature.c b/arch/ppc/platforms/pmac_feature.c index 35714de24..24b221450 100644 --- a/arch/ppc/platforms/pmac_feature.c +++ b/arch/ppc/platforms/pmac_feature.c @@ -2665,7 +2665,7 @@ set_initial_features(void) struct device_node *p = of_get_parent(ui2c); if (p && !strcmp(p->name, "uni-n")) break; - ui2c = of_find_node_by_type(np, "i2c"); + ui2c = of_find_node_by_type(ui2c, "i2c"); } if (ui2c == NULL) break; diff --git a/arch/ppc/platforms/pmac_setup.c b/arch/ppc/platforms/pmac_setup.c index b05cee1f7..79fc29514 100644 --- a/arch/ppc/platforms/pmac_setup.c +++ b/arch/ppc/platforms/pmac_setup.c @@ -318,9 +318,6 @@ pmac_setup_arch(void) #ifdef CONFIG_NVRAM pmac_nvram_init(); #endif -#ifdef CONFIG_DUMMY_CONSOLE - conswitchp = &dummy_con; -#endif #ifdef CONFIG_BLK_DEV_INITRD if (initrd_start) ROOT_DEV = Root_RAM0; diff --git a/arch/ppc/platforms/pmac_sleep.S b/arch/ppc/platforms/pmac_sleep.S index 76bf8cc34..0bce2b472 100644 --- a/arch/ppc/platforms/pmac_sleep.S +++ b/arch/ppc/platforms/pmac_sleep.S @@ -339,7 +339,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_HIGH_BATS) /* Flush all TLBs */ lis r4,0x1000 1: addic. r4,r4,-0x1000 - tlbie r4 + tlbie r4, 0 blt 1b sync diff --git a/arch/ppc/platforms/pplus.c b/arch/ppc/platforms/pplus.c index 673641ff4..7922346f1 100644 --- a/arch/ppc/platforms/pplus.c +++ b/arch/ppc/platforms/pplus.c @@ -583,8 +583,6 @@ static void __init pplus_setup_arch(void) vgacon_remap_base = (unsigned long)ioremap(PPLUS_ISA_MEM_BASE, 0x08000000); conswitchp = &vga_con; -#elif defined(CONFIG_DUMMY_CONSOLE) - conswitchp = &dummy_con; #endif #ifdef CONFIG_PPCBUG_NVRAM /* Read in NVRAM data */ diff --git a/arch/ppc/platforms/prep_setup.c b/arch/ppc/platforms/prep_setup.c index 99acd5170..8051df176 100644 --- a/arch/ppc/platforms/prep_setup.c +++ b/arch/ppc/platforms/prep_setup.c @@ -79,6 +79,7 @@ extern void prep_find_bridges(void); int _prep_type; +extern void prep_residual_setup_pci(char *irq_edge_mask_lo, char *irq_edge_mask_hi); extern void prep_sandalfoot_setup_pci(char *irq_edge_mask_lo, char *irq_edge_mask_hi); extern void prep_thinkpad_setup_pci(char *irq_edge_mask_lo, char *irq_edge_mask_hi); extern void prep_carolina_setup_pci(char *irq_edge_mask_lo, char *irq_edge_mask_hi); @@ -193,9 +194,8 @@ prep_ibm_cpuinfo(struct seq_file *m) seq_printf(m, "bad"); seq_printf(m, "\n"); -#ifdef CONFIG_PREP_RESIDUAL /* print info about SIMMs */ - if (res->ResidualLength != 0) { + if (have_residual_data) { int i; seq_printf(m, "simms\t\t: "); for (i = 0; (res->ActualNumMemories) && (i < MAX_MEMS); i++) { @@ -207,7 +207,13 @@ prep_ibm_cpuinfo(struct seq_file *m) } seq_printf(m, "\n"); } -#endif +} + +static int __prep +prep_gen_cpuinfo(struct seq_file *m) +{ + prep_ibm_cpuinfo(m); + return 0; } static int __prep @@ -431,9 +437,8 @@ prep_mot_cpuinfo(struct seq_file *m) } no_l2: -#ifdef CONFIG_PREP_RESIDUAL /* print info about SIMMs */ - if (res->ResidualLength != 0) { + if (have_residual_data) { int i; seq_printf(m, "simms\t\t: "); for (i = 0; (res->ActualNumMemories) && (i < MAX_MEMS); i++) { @@ -445,17 +450,10 @@ no_l2: } seq_printf(m, "\n"); } -#endif return 0; } -static void __prep -prep_tiger1_progress(char *msg, unsigned short code) -{ - outw(code, PREP_IBM_DISP); -} - static void __prep prep_restart(char *cmd) { @@ -561,14 +559,12 @@ prep_show_percpuinfo(struct seq_file *m, int i) { /* PREP's without residual data will give incorrect values here */ seq_printf(m, "clock\t\t: "); -#ifdef CONFIG_PREP_RESIDUAL - if (res->ResidualLength) + if (have_residual_data) seq_printf(m, "%ldMHz\n", (res->VitalProductData.ProcessorHz > 1024) ? res->VitalProductData.ProcessorHz / 1000000 : res->VitalProductData.ProcessorHz); else -#endif /* CONFIG_PREP_RESIDUAL */ seq_printf(m, "???\n"); return 0; @@ -598,9 +594,10 @@ static void __init prep_init_sound(void) * Get the needed resource informations from residual data. * */ -#ifdef CONFIG_PREP_RESIDUAL - audiodevice = residual_find_device(~0, NULL, MultimediaController, - AudioController, -1, 0); + if (have_residual_data) + audiodevice = residual_find_device(~0, NULL, + MultimediaController, AudioController, -1, 0); + if (audiodevice != NULL) { PnP_TAG_PACKET *pkt; @@ -613,7 +610,6 @@ static void __init prep_init_sound(void) if (pkt != NULL) ppc_cs4232_dma2 = masktoint(pkt->S5_Pack.DMAMask); } -#endif /* * These are the PReP specs' defaults for the cs4231. We use these @@ -649,13 +645,14 @@ static void __init prep_init_sound(void) static void __init prep_init_vesa(void) { -#if defined(CONFIG_PREP_RESIDUAL) && \ - (defined(CONFIG_FB_VGA16) || defined(CONFIG_FB_VGA_16_MODULE) || \ +#if (defined(CONFIG_FB_VGA16) || defined(CONFIG_FB_VGA_16_MODULE) || \ defined(CONFIG_FB_VESA)) - PPC_DEVICE *vgadev; + PPC_DEVICE *vgadev = NULL; + + if (have_residual_data) + vgadev = residual_find_device(~0, NULL, DisplayController, + SVGAController, -1, 0); - vgadev = residual_find_device(~0, NULL, DisplayController, SVGAController, - -1, 0); if (vgadev != NULL) { PnP_TAG_PACKET *pkt; @@ -680,7 +677,112 @@ prep_init_vesa(void) } } } -#endif /* CONFIG_PREP_RESIDUAL */ +#endif +} + +/* + * Set DBAT 2 to access 0x80000000 so early progress messages will work + */ +static __inline__ void +prep_set_bat(void) +{ + /* wait for all outstanding memory access to complete */ + mb(); + + /* setup DBATs */ + mtspr(DBAT2U, 0x80001ffe); + mtspr(DBAT2L, 0x8000002a); + + /* wait for updates */ + mb(); +} + +/* + * IBM 3-digit status LED + */ +static unsigned int ibm_statusled_base __prepdata; + +static void __prep +ibm_statusled_progress(char *s, unsigned short hex); + +static int __prep +ibm_statusled_panic(struct notifier_block *dummy1, unsigned long dummy2, + void * dummy3) +{ + ibm_statusled_progress(NULL, 0x505); /* SOS */ + return NOTIFY_DONE; +} + +static struct notifier_block ibm_statusled_block __prepdata = { + ibm_statusled_panic, + NULL, + INT_MAX /* try to do it first */ +}; + +static void __prep +ibm_statusled_progress(char *s, unsigned short hex) +{ + static int notifier_installed; + /* + * Progress uses 4 digits and we have only 3. So, we map 0xffff to + * 0xfff for display switch off. Out of range values are mapped to + * 0xeff, as I'm told 0xf00 and above are reserved for hardware codes. + * Install the panic notifier when the display is first switched off. + */ + if (hex == 0xffff) { + hex = 0xfff; + if (!notifier_installed) { + ++notifier_installed; + notifier_chain_register(&panic_notifier_list, + &ibm_statusled_block); + } + } + else + if (hex > 0xfff) + hex = 0xeff; + + mb(); + outw(hex, ibm_statusled_base); +} + +static void __init +ibm_statusled_init(void) +{ + /* + * The IBM 3-digit LED display is specified in the residual data + * as an operator panel device, type "System Status LED". Find + * that device and determine its address. We validate all the + * other parameters on the off-chance another, similar device + * exists. + */ + if (have_residual_data) { + PPC_DEVICE *led; + PnP_TAG_PACKET *pkt; + + led = residual_find_device(~0, NULL, SystemPeripheral, + OperatorPanel, SystemStatusLED, 0); + if (!led) + return; + + pkt = PnP_find_packet((unsigned char *) + &res->DevicePnPHeap[led->AllocatedOffset], S8_Packet, 0); + if (!pkt) + return; + + if (pkt->S8_Pack.IOInfo != ISAAddr16bit) + return; + if (*(unsigned short *)pkt->S8_Pack.RangeMin != + *(unsigned short *)pkt->S8_Pack.RangeMax) + return; + if (pkt->S8_Pack.IOAlign != 2) + return; + if (pkt->S8_Pack.IONum != 2) + return; + + ibm_statusled_base = ld_le16((unsigned short *) + (pkt->S8_Pack.RangeMin)); + ppc_md.progress = ibm_statusled_progress; + } } static void __init @@ -706,7 +808,7 @@ prep_setup_arch(void) { case _PREP_IBM: reg = inb(PREP_IBM_PLANAR); - printk(KERN_INFO "IBM planar ID: %08x", reg); + printk(KERN_INFO "IBM planar ID: %02x", reg); switch (reg) { case PREP_IBM_SANDALFOOT: prep_gen_enable_l2(); @@ -721,7 +823,16 @@ prep_setup_arch(void) ppc_md.show_cpuinfo = prep_thinkpad_cpuinfo; break; default: - printk(" -- unknown! Assuming Carolina"); + if (have_residual_data) { + prep_gen_enable_l2(); + setup_ibm_pci = prep_residual_setup_pci; + ppc_md.power_off = prep_halt; + ppc_md.show_cpuinfo = prep_gen_cpuinfo; + break; + } + else + printk(" - unknown! Assuming Carolina"); + /* fall through */ case PREP_IBM_CAROLINA_IDE_0: case PREP_IBM_CAROLINA_IDE_1: case PREP_IBM_CAROLINA_IDE_2: @@ -745,7 +856,6 @@ prep_setup_arch(void) setup_ibm_pci = prep_tiger1_setup_pci; ppc_md.power_off = prep_sig750_poweroff; ppc_md.show_cpuinfo = prep_tiger1_cpuinfo; - ppc_md.progress = prep_tiger1_progress; break; } printk("\n"); @@ -808,8 +918,6 @@ prep_setup_arch(void) /* vgacon.c needs to know where we mapped IO memory in io_block_mapping() */ vgacon_remap_base = 0xf0000000; conswitchp = &vga_con; -#elif defined(CONFIG_DUMMY_CONSOLE) - conswitchp = &dummy_con; #endif } @@ -821,18 +929,19 @@ prep_setup_arch(void) static void __init prep_calibrate_decr(void) { -#ifdef CONFIG_PREP_RESIDUAL - unsigned long freq, divisor = 4; - - if ( res->VitalProductData.ProcessorBusHz ) { - freq = res->VitalProductData.ProcessorBusHz; - printk("time_init: decrementer frequency = %lu.%.6lu MHz\n", - (freq/divisor)/1000000, - (freq/divisor)%1000000); - tb_to_us = mulhwu_scale_factor(freq/divisor, 1000000); - tb_ticks_per_jiffy = freq / HZ / divisor; - } else -#endif + if (have_residual_data) { + unsigned long freq, divisor = 4; + + if ( res->VitalProductData.ProcessorBusHz ) { + freq = res->VitalProductData.ProcessorBusHz; + printk("time_init: decrementer frequency = %lu.%.6lu MHz\n", + (freq/divisor)/1000000, + (freq/divisor)%1000000); + tb_to_us = mulhwu_scale_factor(freq/divisor, 1000000); + tb_ticks_per_jiffy = freq / HZ / divisor; + } + } + else todc_calibrate_decr(); } @@ -863,6 +972,12 @@ prep_init_IRQ(void) } for ( i = 0 ; i < NUM_8259_INTERRUPTS ; i++ ) irq_desc[i].handler = &i8259_pic; + + if (have_residual_data) { + i8259_init(residual_isapic_addr()); + return; + } + /* If we have a Raven PCI bridge or a Hawk PCI bridge / Memory * controller, we poll (as they have a different int-ack address). */ early_read_config_dword(NULL, 0, 0, PCI_VENDOR_ID, &pci_viddid); @@ -1000,18 +1115,27 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5, DMA_MODE_WRITE = 0x48; /* figure out what kind of prep workstation we are */ -#ifdef CONFIG_PREP_RESIDUAL - if ( res->ResidualLength != 0 ) { + if (have_residual_data) { if ( !strncmp(res->VitalProductData.PrintableModel,"IBM",3) ) _prep_type = _PREP_IBM; else _prep_type = _PREP_Motorola; - } else /* assume motorola if no residual (netboot?) */ -#endif - { + } + else { + /* assume motorola if no residual (netboot?) */ _prep_type = _PREP_Motorola; } +#ifdef CONFIG_PREP_PRESIDUAL + /* Switch off all residual data processing if the user requests it */ + if (strstr(cmd_line, "noresidual") != NULL) + res = NULL; +#endif + + /* Initialise progress early to get maximum benefit */ + prep_set_bat(); + ibm_statusled_init(); + ppc_md.setup_arch = prep_setup_arch; ppc_md.show_percpuinfo = prep_show_percpuinfo; ppc_md.show_cpuinfo = NULL; /* set in prep_setup_arch() */ diff --git a/arch/ppc/platforms/sandpoint.c b/arch/ppc/platforms/sandpoint.c index fdcbcf240..d9307a261 100644 --- a/arch/ppc/platforms/sandpoint.c +++ b/arch/ppc/platforms/sandpoint.c @@ -303,10 +303,6 @@ sandpoint_setup_arch(void) /* Lookup PCI host bridges */ sandpoint_find_bridges(); -#ifdef CONFIG_DUMMY_CONSOLE - conswitchp = &dummy_con; -#endif - printk(KERN_INFO "Motorola SPS Sandpoint Test Platform\n"); printk(KERN_INFO "Port by MontaVista Software, Inc. (source@mvista.com)\n"); diff --git a/arch/ppc/platforms/sbc82xx.c b/arch/ppc/platforms/sbc82xx.c index 28a77dba3..3a404a88c 100644 --- a/arch/ppc/platforms/sbc82xx.c +++ b/arch/ppc/platforms/sbc82xx.c @@ -16,10 +16,11 @@ */ #include -#include #include #include #include +#include +#include #include #include @@ -28,39 +29,12 @@ #include #include -static void (*callback_setup_arch)(void); static void (*callback_init_IRQ)(void); extern unsigned char __res[sizeof(bd_t)]; -extern void m8260_init(unsigned long r3, unsigned long r4, - unsigned long r5, unsigned long r6, unsigned long r7); - extern void (*late_time_init)(void); -static int -sbc82xx_show_cpuinfo(struct seq_file *m) -{ - bd_t *binfo = (bd_t *)__res; - - seq_printf(m, "vendor\t\t: Wind River\n" - "machine\t\t: SBC PowerQUICC II\n" - "\n" - "mem size\t\t: 0x%08lx\n" - "console baud\t\t: %ld\n" - "\n", - binfo->bi_memsize, - binfo->bi_baudrate); - return 0; -} - -static void __init -sbc82xx_setup_arch(void) -{ - printk("SBC PowerQUICC II Port\n"); - callback_setup_arch(); -} - #ifdef CONFIG_GEN_RTC TODC_ALLOC(); @@ -236,26 +210,36 @@ static int sbc82xx_pci_map_irq(struct pci_dev *dev, unsigned char idsel, return PCI_IRQ_TABLE_LOOKUP; } +static void __devinit quirk_sbc8260_cardbus(struct pci_dev *pdev) +{ + uint32_t ctrl; + + if (pdev->bus->number != 0 || pdev->devfn != PCI_DEVFN(17, 0)) + return; + + printk(KERN_INFO "Setting up CardBus controller\n"); + + /* Set P2CCLK bit in System Control Register */ + pci_read_config_dword(pdev, 0x80, &ctrl); + ctrl |= (1<<27); + pci_write_config_dword(pdev, 0x80, ctrl); + /* Set MFUNC up for PCI IRQ routing via INTA and INTB, and LEDs. */ + pci_write_config_dword(pdev, 0x8c, 0x00c01d22); + +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1420, quirk_sbc8260_cardbus); void __init -platform_init(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) +m82xx_board_init(void) { - /* Generic 8260 platform initialization */ - m8260_init(r3, r4, r5, r6, r7); - /* u-boot may be using one of the FCC Ethernet devices. Use the MAC address to the SCC. */ __res[offsetof(bd_t, bi_enetaddr[5])] &= ~3; /* Anything special for this platform */ - ppc_md.show_cpuinfo = sbc82xx_show_cpuinfo; - - callback_setup_arch = ppc_md.setup_arch; callback_init_IRQ = ppc_md.init_IRQ; - ppc_md.setup_arch = sbc82xx_setup_arch; ppc_md.init_IRQ = sbc82xx_init_IRQ; ppc_md.pci_map_irq = sbc82xx_pci_map_irq; #ifdef CONFIG_GEN_RTC diff --git a/arch/ppc/platforms/sbc82xx.h b/arch/ppc/platforms/sbc82xx.h index adafd49be..e4042d499 100644 --- a/arch/ppc/platforms/sbc82xx.h +++ b/arch/ppc/platforms/sbc82xx.h @@ -18,6 +18,10 @@ #define SBC82xx_MACADDR_NVRAM_FCC2 0x220000d5 /* JP7A */ #define SBC82xx_MACADDR_NVRAM_FCC3 0x220000db /* JP7B */ +/* For our show_cpuinfo hooks. */ +#define CPUINFO_VENDOR "Wind River" +#define CPUINFO_MACHINE "SBC PowerQUICC II" + #define BOOTROM_RESTART_ADDR ((uint)0x40000104) #define SBC82xx_PC_IRQA (NR_SIU_INTS+0) diff --git a/arch/ppc/platforms/tqm8260.h b/arch/ppc/platforms/tqm8260.h index 3366cbded..c7a78a646 100644 --- a/arch/ppc/platforms/tqm8260.h +++ b/arch/ppc/platforms/tqm8260.h @@ -14,6 +14,10 @@ #define CPM_MAP_ADDR ((uint)0xFFF00000) #define PHY_INTERRUPT 25 +/* For our show_cpuinfo hooks. */ +#define CPUINFO_VENDOR "IN2 Systems" +#define CPUINFO_MACHINE "TQM8260 PowerPC" + #define BOOTROM_RESTART_ADDR ((uint)0x40000104) #endif /* __TQM8260_PLATFORM */ diff --git a/arch/ppc/platforms/tqm8260_setup.c b/arch/ppc/platforms/tqm8260_setup.c index 1241ed5d4..a8880bfc0 100644 --- a/arch/ppc/platforms/tqm8260_setup.c +++ b/arch/ppc/platforms/tqm8260_setup.c @@ -14,33 +14,12 @@ * option) any later version. */ -#include -#include +#include #include #include #include -static void (*callback_setup_arch)(void); - -extern unsigned char __res[sizeof(bd_t)]; - -extern void m8260_init(unsigned long r3, unsigned long r4, - unsigned long r5, unsigned long r6, unsigned long r7); - -static int -tqm8260_show_cpuinfo(struct seq_file *m) -{ - bd_t *binfo = (bd_t *)__res; - - seq_printf(m, "vendor\t\t: IN2 Systems\n" - "machine\t\t: TQM8260 PowerPC\n" - "mem size\t\t: 0x%08x\n" - "\n", - binfo->bi_memsize); - return 0; -} - static int tqm8260_set_rtc_time(unsigned long time) { @@ -56,24 +35,10 @@ tqm8260_get_rtc_time(void) return ((cpm2_map_t *)CPM_MAP_ADDR)->im_sit.sit_tmcnt; } -static void __init -tqm8260_setup_arch(void) -{ - printk("IN2 Systems TQM8260 port\n"); - callback_setup_arch(); -} - void __init -platform_init(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) +m82xx_board_init(void) { - /* Generic 8260 platform initialization */ - m8260_init(r3, r4, r5, r6, r7); - /* Anything special for this platform */ - ppc_md.show_cpuinfo = tqm8260_show_cpuinfo; ppc_md.set_rtc_time = tqm8260_set_rtc_time; ppc_md.get_rtc_time = tqm8260_get_rtc_time; - - callback_setup_arch = ppc_md.setup_arch; - ppc_md.setup_arch = tqm8260_setup_arch; +} diff --git a/arch/ppc/syslib/Makefile b/arch/ppc/syslib/Makefile index 4de92f498..fe15101b2 100644 --- a/arch/ppc/syslib/Makefile +++ b/arch/ppc/syslib/Makefile @@ -5,6 +5,8 @@ CFLAGS_prom_init.o += -fPIC CFLAGS_btext.o += -fPIC +wdt-mpc8xx-$(CONFIG_8xx_WDT) += m8xx_wdt.o + obj-$(CONFIG_PPCBUG_NVRAM) += prep_nvram.o obj-$(CONFIG_PPC_OCP) += ocp.o obj-$(CONFIG_IBM_OCP) += ibm_ocp.o @@ -22,7 +24,7 @@ obj-$(CONFIG_KGDB) += ppc4xx_kgdb.o obj-$(CONFIG_PCI) += indirect_pci.o pci_auto.o ppc405_pci.o endif endif -obj-$(CONFIG_8xx) += m8xx_setup.o ppc8xx_pic.o +obj-$(CONFIG_8xx) += m8xx_setup.o ppc8xx_pic.o $(wdt-mpc8xx-y) ifeq ($(CONFIG_8xx),y) obj-$(CONFIG_PCI) += qspan_pci.o i8259.o endif diff --git a/arch/ppc/syslib/m8260_setup.c b/arch/ppc/syslib/m8260_setup.c index 24e1494c1..bfa66a235 100644 --- a/arch/ppc/syslib/m8260_setup.c +++ b/arch/ppc/syslib/m8260_setup.c @@ -1,5 +1,5 @@ /* - * arch/ppc/kernel/setup.c + * arch/ppc/syslib/m8260_setup.c * * Copyright (C) 1995 Linus Torvalds * Adapted from 'alpha' version by Gary Thomas @@ -8,36 +8,20 @@ * Further modified for generic 8xx and 8260 by Dan. */ -/* - * bootup setup stuff.. - */ - #include -#include #include #include #include #include -#include -#include #include -#include -#include -#include -#include -#include -#include #include #include -#include -#include #include +#include #include -#include #include #include -#include #include #include #include @@ -46,10 +30,6 @@ #include "cpm2_pic.h" -static int m8260_set_rtc_time(unsigned long time); -static unsigned long m8260_get_rtc_time(void); -static void m8260_calibrate_decr(void); - unsigned char __res[sizeof(bd_t)]; extern void cpm2_reset(void); @@ -59,8 +39,10 @@ extern void idma_pci9_init(void); static void __init m8260_setup_arch(void) { - /* Reset the Communication Processor Module. - */ + /* Print out Vendor and Machine info. */ + printk(KERN_INFO "%s %s port\n", CPUINFO_VENDOR, CPUINFO_MACHINE); + + /* Reset the Communication Processor Module. */ cpm2_reset(); #ifdef CONFIG_8260_PCI9 /* Initialise IDMA for PCI erratum workaround */ @@ -69,6 +51,10 @@ m8260_setup_arch(void) #ifdef CONFIG_PCI_8260 m8260_find_bridges(); #endif +#ifdef CONFIG_BLK_DEV_INITRD + if (initrd_start) + ROOT_DEV = Root_RAM0; +#endif } /* The decrementer counts at the system (internal) clock frequency @@ -77,7 +63,7 @@ m8260_setup_arch(void) static void __init m8260_calibrate_decr(void) { - bd_t *binfo = (bd_t *)__res; + bd_t *binfo = (bd_t *)__res; int freq, divisor; freq = binfo->bi_busfreq; @@ -145,18 +131,22 @@ m8260_power_off(void) } static int -m8260_show_percpuinfo(struct seq_file *m, int i) +m8260_show_cpuinfo(struct seq_file *m) { - bd_t *bp; - - bp = (bd_t *)__res; - - seq_printf(m, "core clock\t: %ld MHz\n" - "CPM clock\t: %ld MHz\n" - "bus clock\t: %ld MHz\n", - bp->bi_intfreq / 1000000, - bp->bi_cpmfreq / 1000000, - bp->bi_busfreq / 1000000); + bd_t *bp = (bd_t *)__res; + + seq_printf(m, "vendor\t\t: %s\n" + "machine\t\t: %s\n" + "\n" + "mem size\t\t: 0x%08x\n" + "console baud\t\t: %d\n" + "\n" + "core clock\t: %u MHz\n" + "CPM clock\t: %u MHz\n" + "bus clock\t: %u MHz\n", + CPUINFO_VENDOR, CPUINFO_MACHINE, bp->bi_memsize, + bp->bi_baudrate, bp->bi_intfreq / 1000000, + bp->bi_cpmfreq / 1000000, bp->bi_busfreq / 1000000); return 0; } @@ -170,7 +160,6 @@ static void __init m8260_init_IRQ(void) { int i; - void cpm_interrupt_init(void); for ( i = 0 ; i < NR_SIU_INTS ; i++ ) irq_desc[i].handler = &cpm2_pic; @@ -190,10 +179,7 @@ m8260_init_IRQ(void) static unsigned long __init m8260_find_end_of_memory(void) { - bd_t *binfo; - extern unsigned char __res[]; - - binfo = (bd_t *)__res; + bd_t *binfo = (bd_t *)__res; return binfo->bi_memsize; } @@ -216,6 +202,12 @@ m8260_map_io(void) io_block_mapping(IO_VIRT_ADDR, IO_PHYS_ADDR, 0x10000000, _PAGE_IO); } +/* Place-holder for board-specific init */ +void __attribute__ ((weak)) __init +m82xx_board_init(void) +{ +} + /* Inputs: * r3 - Optional pointer to a board information structure. * r4 - Optional pointer to the physical starting address of the init RAM @@ -228,7 +220,7 @@ m8260_map_io(void) * command-line parameters. */ void __init -m8260_init(unsigned long r3, unsigned long r4, unsigned long r5, +platform_init(unsigned long r3, unsigned long r4, unsigned long r5, unsigned long r6, unsigned long r7) { parse_bootinfo(find_bootinfo()); @@ -249,18 +241,18 @@ m8260_init(unsigned long r3, unsigned long r4, unsigned long r5, strcpy(cmd_line, (char *)(r6+KERNELBASE)); } + /* Call back for board-specific settings. */ + m82xx_board_init(); + ppc_md.setup_arch = m8260_setup_arch; - ppc_md.show_percpuinfo = m8260_show_percpuinfo; - ppc_md.irq_canonicalize = NULL; + ppc_md.show_cpuinfo = m8260_show_cpuinfo; ppc_md.init_IRQ = m8260_init_IRQ; ppc_md.get_irq = cpm2_get_irq; - ppc_md.init = NULL; ppc_md.restart = m8260_restart; ppc_md.power_off = m8260_power_off; ppc_md.halt = m8260_halt; - ppc_md.time_init = NULL; ppc_md.set_rtc_time = m8260_set_rtc_time; ppc_md.get_rtc_time = m8260_get_rtc_time; ppc_md.calibrate_decr = m8260_calibrate_decr; diff --git a/arch/ppc/syslib/m8xx_setup.c b/arch/ppc/syslib/m8xx_setup.c index 5ccf07149..0dc7889a8 100644 --- a/arch/ppc/syslib/m8xx_setup.c +++ b/arch/ppc/syslib/m8xx_setup.c @@ -60,6 +60,11 @@ extern unsigned long find_available_memory(void); extern void m8xx_cpm_reset(uint); extern void rpxfb_alloc_pages(void); +void __attribute__ ((weak)) +board_init(void) +{ +} + void __init m8xx_setup_arch(void) { @@ -102,6 +107,7 @@ m8xx_setup_arch(void) } #endif #endif + board_init(); } void diff --git a/arch/ppc/syslib/open_pic.c b/arch/ppc/syslib/open_pic.c index a19f8c2d9..133797ab3 100644 --- a/arch/ppc/syslib/open_pic.c +++ b/arch/ppc/syslib/open_pic.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -24,7 +25,6 @@ #include #include #include -#include #include "open_pic_defs.h" @@ -412,7 +412,7 @@ void __init openpic_init(int offset) /* Initialize the spurious interrupt */ if (ppc_md.progress) ppc_md.progress("openpic: spurious",0x3bd); - openpic_set_spurious(OPENPIC_VEC_SPURIOUS+offset); + openpic_set_spurious(OPENPIC_VEC_SPURIOUS); openpic_disable_8259_pass_through(); #ifdef CONFIG_EPIC_SERIAL_MODE openpic_eicr_set_clk(7); /* Slowest value until we know better */ @@ -865,7 +865,7 @@ openpic_get_irq(struct pt_regs *regs) irq = cirq; openpic_eoi(); } - } else if (irq == OPENPIC_VEC_SPURIOUS + open_pic_irq_offset) + } else if (irq == OPENPIC_VEC_SPURIOUS) irq = -1; return irq; } @@ -988,9 +988,9 @@ int openpic_resume(struct sys_device *sysdev) /* OpenPIC sometimes seem to need some time to be fully back up... */ do { - openpic_set_spurious(OPENPIC_VEC_SPURIOUS+open_pic_irq_offset); + openpic_set_spurious(OPENPIC_VEC_SPURIOUS); } while(openpic_readfield(&OpenPIC->Global.Spurious_Vector, OPENPIC_VECTOR_MASK) - != (OPENPIC_VEC_SPURIOUS + open_pic_irq_offset)); + != OPENPIC_VEC_SPURIOUS); openpic_disable_8259_pass_through(); diff --git a/arch/ppc/syslib/ppc4xx_pic.c b/arch/ppc/syslib/ppc4xx_pic.c index e6da0a20d..2dc63a58c 100644 --- a/arch/ppc/syslib/ppc4xx_pic.c +++ b/arch/ppc/syslib/ppc4xx_pic.c @@ -256,7 +256,7 @@ static void ppc4xx_uic_end(unsigned int irq) { int bit, word; - unsigned int tr_bits; + unsigned int tr_bits = 0; bit = irq & 0x1f; word = irq >> 5; diff --git a/arch/ppc/syslib/prom_init.c b/arch/ppc/syslib/prom_init.c index c9701d5ba..ac4c8b158 100644 --- a/arch/ppc/syslib/prom_init.c +++ b/arch/ppc/syslib/prom_init.c @@ -115,11 +115,11 @@ prom_entry prom __initdata; ihandle prom_chosen __initdata; ihandle prom_stdout __initdata; -char *prom_display_paths[FB_MAX] __initdata; -phandle prom_display_nodes[FB_MAX] __initdata; -unsigned int prom_num_displays __initdata; -char *of_stdout_device __initdata; +static char *prom_display_paths[FB_MAX] __initdata; +static phandle prom_display_nodes[FB_MAX] __initdata; +static unsigned int prom_num_displays __initdata; static ihandle prom_disp_node __initdata; +char *of_stdout_device __initdata; unsigned int rtas_data; /* physical pointer */ unsigned int rtas_entry; /* physical pointer */ @@ -403,6 +403,7 @@ check_display(unsigned long mem) for (j=0; j2G of RAM)" - depends on PPC_PMAC - depends on EXPERIMENTAL +config U3_DART + bool + depends on PPC_MULTIPLATFORM default n - help - Enabling DART makes it possible to boot a PowerMac G5 with more - than 2GB of memory. Note that the code is very new and untested - at this time, so it has to be considered experimental. Enabling - this might result in data loss. config PPC_PMAC64 bool @@ -163,7 +164,7 @@ config SMP config IRQ_ALL_CPUS bool "Distribute interrupts on all CPUs by default" - depends on SMP && PPC_PSERIES + depends on SMP && PPC_MULTIPLATFORM help This option gives the kernel permission to distribute IRQs across multiple CPUs. Saying N here will route all IRQs to the first @@ -214,7 +215,7 @@ config MSCHUNKS config PPC_RTAS bool "Proc interface to RTAS" - depends on !PPC_ISERIES + depends on PPC_PSERIES config RTAS_FLASH tristate "Firmware flash interface" @@ -226,8 +227,9 @@ config SCANLOG config LPARCFG tristate "LPAR Configuration Data" + depends on PPC_PSERIES || PPC_ISERIES help - Provide system capacity information via human readable + Provide system capacity information via human readable = pairs through a /proc/ppc64/lparcfg interface. endmenu @@ -272,7 +274,7 @@ source "drivers/pci/Kconfig" config HOTPLUG_CPU bool "Support for hot-pluggable CPUs" - depends on SMP && HOTPLUG && EXPERIMENTAL + depends on SMP && HOTPLUG && EXPERIMENTAL && PPC_PSERIES ---help--- Say Y here to be able to turn CPUs off and on. @@ -343,98 +345,7 @@ config VIOPATH source "arch/ppc64/oprofile/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_STACKOVERFLOW - bool "Check for stack overflows" - depends on DEBUG_KERNEL - -config DEBUG_STACK_USAGE - bool "Stack utilization instrumentation" - depends on DEBUG_KERNEL - help - Enables the display of the minimum amount of free stack which each - task has ever had available in the sysrq-T and sysrq-P debug output. - - This option will slow down process creation somewhat. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUGGER - bool "Enable debugger hooks" - depends on DEBUG_KERNEL - help - Include in-kernel hooks for kernel debuggers. Unless you are - intending to debug the kernel, say N here. - -config XMON - bool "Include xmon kernel debugger" - depends on DEBUGGER - help - Include in-kernel hooks for the xmon kernel monitor/debugger. - Unless you are intending to debug the kernel, say N here. - -config XMON_DEFAULT - bool "Enable xmon by default" - depends on XMON - -config PPCDBG - bool "Include PPCDBG realtime debugging" - depends on DEBUG_KERNEL - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config IRQSTACKS - bool "Use separate kernel stacks when processing interrupts" - help - If you say Y here the kernel will use separate kernel stacks - for handling hard and soft interrupts. This can help avoid - overflowing the process kernel stacks. - -config SPINLINE - bool "Inline spinlock code at each call site" - depends on SMP && !PPC_SPLPAR && !PPC_ISERIES - help - Say Y if you want to have the code for acquiring spinlocks - and rwlocks inlined at each call site. This makes the kernel - somewhat bigger, but can be useful when profiling the kernel. - - If in doubt, say N. - -endmenu +source "arch/ppc64/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -443,4 +354,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/ppc64/Makefile b/arch/ppc64/Makefile index 5381ba1c2..1b9b9367f 100644 --- a/arch/ppc64/Makefile +++ b/arch/ppc64/Makefile @@ -15,29 +15,36 @@ KERNELLOAD := 0xc000000000000000 -HAS_BIARCH := $(shell if $(CC) -m64 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi;) +HAS_BIARCH := $(call cc-option-yn, -m64) ifeq ($(HAS_BIARCH),y) AS := $(AS) -a64 LD := $(LD) -m elf64ppc CC := $(CC) -m64 endif -CHECK := $(CHECK) -m64 -D__powerpc__=1 +new_nm := $(shell if $(NM) --help 2>&1 | grep -- '--synthetic' > /dev/null; then echo y; else echo n; fi) + +ifeq ($(new_nm),y) +NM := $(NM) --synthetic +endif + +CHECKFLAGS += -m64 -D__powerpc__ LDFLAGS := -m elf64ppc LDFLAGS_vmlinux := -Bstatic -e $(KERNELLOAD) -Ttext $(KERNELLOAD) -CFLAGS += -msoft-float -pipe -Wno-uninitialized -mminimal-toc \ - -mtraceback=none +CFLAGS += -msoft-float -pipe -mminimal-toc -mtraceback=none + +CFLAGS += $(call cc-option,-mcall-aixdesc) ifeq ($(CONFIG_POWER4_ONLY),y) - CFLAGS += $(call check_gcc,-mcpu=power4,) + CFLAGS += $(call cc-option,-mcpu=power4) else - CFLAGS += $(call check_gcc,-mtune=power4,) + CFLAGS += $(call cc-option,-mtune=power4) endif # Enable unit-at-a-time mode when possible. It shrinks the # kernel considerably. -CFLAGS += $(call check_gcc,-funit-at-a-time,) +CFLAGS += $(call cc-option,-fno-unit-at-a-time) head-y := arch/ppc64/kernel/head.o @@ -51,7 +58,7 @@ boot := arch/ppc64/boot bzImage: vmlinux cp vmlinux arch/ppc64/boot/bzImage -boottarget-$(CONFIG_PPC_PSERIES) := zImage zImage.initrd +boottarget-$(CONFIG_PPC_PSERIES) := zImage zImage.initrd zImage.stub boottarget-$(CONFIG_PPC_ISERIES) := vmlinux.sminitrd vmlinux.initrd vmlinux.sm $(boottarget-y): vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ diff --git a/arch/ppc64/boot/Makefile b/arch/ppc64/boot/Makefile index 8f99c9dbc..d499e2ae1 100644 --- a/arch/ppc64/boot/Makefile +++ b/arch/ppc64/boot/Makefile @@ -23,14 +23,23 @@ CROSS32_COMPILE ?= #CROSS32_COMPILE = /usr/local/ppc/bin/powerpc-linux- -BOOTCC := $(CROSS32_COMPILE)gcc +HAS_BIARCH := $(shell if gcc -m32 -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo y; else echo n; fi;) +ifeq ($(HAS_BIARCH),y) +BOOTCC := gcc -m32 +BOOTLD := ld -m elf32ppclinux +BOOTAS := as -32 +BOOTOBJCOPY := objcopy --target elf32-powerpc +else +BOOTCC = $(CROSS32_COMPILE)gcc +BOOTLD = $(CROSS32_COMPILE)ld +BOOTAS = $(CROSS32_COMPILE)as +BOOTOBJCOPY = $(CROSS32_COMPILE)objcopy +endif + HOSTCC := gcc BOOTCFLAGS := $(HOSTCFLAGS) $(LINUXINCLUDE) -fno-builtin -BOOTAS := $(CROSS32_COMPILE)as BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -BOOTLD := $(CROSS32_COMPILE)ld BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(srctree)/$(src)/zImage.lds -BOOTOBJCOPY := $(CROSS32_COMPILE)objcopy OBJCOPYFLAGS := contents,alloc,load,readonly,data src-boot := crt0.S string.S prom.c main.c zlib.c imagesize.c div64.S @@ -104,6 +113,9 @@ $(obj)/zImage: obj-boot += $(call obj-sec, $(required)) $(obj)/zImage: $(call obj-sec, $(required)) $(obj-boot) $(obj)/addnote FORCE $(call if_changed,addnote) +$(obj)/zImage.stub: $(obj-boot) FORCE + $(BOOTLD) -r $(BOOTLFLAGS) -o $@ $(obj-boot) + $(obj)/zImage.initrd: obj-boot += $(call obj-sec, $(required) $(initrd)) $(obj)/zImage.initrd: $(call obj-sec, $(required) $(initrd)) $(obj-boot) $(obj)/addnote FORCE $(call if_changed,addnote) diff --git a/arch/ppc64/boot/main.c b/arch/ppc64/boot/main.c index 6cf78020a..3a62e59ed 100644 --- a/arch/ppc64/boot/main.c +++ b/arch/ppc64/boot/main.c @@ -8,6 +8,7 @@ * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ +#define __KERNGLUE__ #include "ppc32-types.h" #include "zlib.h" #include diff --git a/arch/ppc64/boot/zImage.lds b/arch/ppc64/boot/zImage.lds index 941ade38f..8fe5e7071 100644 --- a/arch/ppc64/boot/zImage.lds +++ b/arch/ppc64/boot/zImage.lds @@ -1,4 +1,4 @@ -OUTPUT_ARCH(powerpc) +OUTPUT_ARCH(powerpc:common) SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib); /* Do we need any of these for elf? __DYNAMIC = 0; */ diff --git a/arch/ppc64/configs/iSeries_defconfig b/arch/ppc64/configs/iSeries_defconfig index 63ec73f75..84ae55bcc 100644 --- a/arch/ppc64/configs/iSeries_defconfig +++ b/arch/ppc64/configs/iSeries_defconfig @@ -16,17 +16,17 @@ CONFIG_FORCE_MAX_ZONEORDER=13 # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y -CONFIG_STANDALONE=y # # General setup # CONFIG_SWAP=y CONFIG_SYSVIPC=y -# CONFIG_POSIX_MQUEUE is not set +CONFIG_POSIX_MQUEUE=y # CONFIG_BSD_PROCESS_ACCT is not set CONFIG_SYSCTL=y -# CONFIG_AUDIT is not set +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_HOTPLUG=y CONFIG_IKCONFIG=y @@ -34,6 +34,7 @@ CONFIG_IKCONFIG_PROC=y # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_IOSCHED_NOOP=y @@ -41,6 +42,8 @@ CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -62,10 +65,11 @@ CONFIG_PPC_ISERIES=y CONFIG_PPC=y CONFIG_PPC64=y # CONFIG_POWER4_ONLY is not set -# CONFIG_IOMMU_VMERGE is not set +CONFIG_IOMMU_VMERGE=y CONFIG_SMP=y CONFIG_NR_CPUS=32 # CONFIG_SCHED_SMT is not set +# CONFIG_PREEMPT is not set CONFIG_MSCHUNKS=y CONFIG_LPARCFG=y @@ -97,6 +101,8 @@ CONFIG_PCI_NAMES=y # # Generic Driver Options # +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=m # CONFIG_DEBUG_DRIVER is not set @@ -125,7 +131,7 @@ CONFIG_FW_LOADER=m CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set CONFIG_BLK_DEV_NBD=m -# CONFIG_BLK_DEV_CARMEL is not set +# CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y @@ -168,22 +174,23 @@ CONFIG_SCSI_FC_ATTRS=y # SCSI low-level drivers # # CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_MEGARAID is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set # CONFIG_SCSI_SATA is not set # CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GDTH is not set # CONFIG_SCSI_IPS is not set +CONFIG_SCSI_IBMVSCSI=m # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_IPR is not set @@ -209,11 +216,15 @@ CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y +CONFIG_MD_RAID10=m CONFIG_MD_RAID5=y -CONFIG_MD_RAID6=y -# CONFIG_MD_MULTIPATH is not set +CONFIG_MD_RAID6=m +CONFIG_MD_MULTIPATH=m CONFIG_BLK_DEV_DM=y CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_MIRROR=m +CONFIG_DM_ZERO=m # # Fusion MPT device support @@ -259,6 +270,7 @@ CONFIG_SYN_COOKIES=y CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m +CONFIG_INET_TUNNEL=y # # IP: Virtual Server Configuration @@ -324,7 +336,13 @@ CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m CONFIG_IP_NF_COMPAT_IPCHAINS=m CONFIG_IP_NF_COMPAT_IPFWADM=m -# CONFIG_IP_NF_RAW is not set +CONFIG_IP_NF_TARGET_NOTRACK=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_MATCH_REALM=m +# CONFIG_IP_NF_CT_ACCT is not set +CONFIG_IP_NF_MATCH_SCTP=m +CONFIG_IP_NF_CT_PROTO_SCTP=m CONFIG_XFRM=y CONFIG_XFRM_USER=m @@ -351,6 +369,7 @@ CONFIG_LLC=y # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +CONFIG_NET_CLS_ROUTE=y # # Network testing @@ -379,7 +398,6 @@ CONFIG_TUN=m # CONFIG_NET_ETHERNET=y CONFIG_MII=y -# CONFIG_OAKNET is not set # CONFIG_HAPPYMEAL is not set # CONFIG_SUNGEM is not set # CONFIG_NET_VENDOR_3COM is not set @@ -408,18 +426,32 @@ CONFIG_E100=y # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set # CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set # -# Gigabit Ethernet (1000/10000 Mbit) +# Ethernet (1000 Mbit) # -# CONFIG_NET_GIGE is not set +# CONFIG_ACENIC is not set +# CONFIG_DL2K is not set +# CONFIG_E1000 is not set +# CONFIG_NS83820 is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_R8169 is not set +# CONFIG_SK98LIN is not set +# CONFIG_TIGON3 is not set + +# +# Ethernet (10000 Mbit) +# +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set # # Token Ring devices # CONFIG_TR=y CONFIG_IBMOL=y -# CONFIG_IBMLS is not set # CONFIG_3C359 is not set # CONFIG_TMS380TR is not set @@ -508,10 +540,11 @@ CONFIG_SERIO_SERPORT=y # # Non-8250 serial port support # +CONFIG_SERIAL_CORE=m +CONFIG_SERIAL_ICOM=m CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_QIC02_TAPE is not set # # IPMI @@ -541,6 +574,11 @@ CONFIG_MAX_RAW_DEVS=256 # # CONFIG_I2C is not set +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + # # Misc devices # @@ -592,8 +630,10 @@ CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set -# CONFIG_REISERFS_FS_XATTR is not set -CONFIG_JFS_FS=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +# CONFIG_REISERFS_FS_SECURITY is not set +CONFIG_JFS_FS=m CONFIG_JFS_POSIX_ACL=y # CONFIG_JFS_DEBUG is not set # CONFIG_JFS_STATISTICS is not set @@ -616,6 +656,7 @@ CONFIG_ISO9660_FS=y # CONFIG_JOLIET is not set # CONFIG_ZISOFS is not set CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -623,6 +664,8 @@ CONFIG_UDF_FS=m CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" # CONFIG_NTFS_FS is not set # @@ -663,19 +706,22 @@ CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V4=y # CONFIG_NFS_DIRECTIO is not set -CONFIG_NFSD=y +CONFIG_NFSD=m CONFIG_NFSD_V3=y CONFIG_NFSD_V4=y CONFIG_NFSD_TCP=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y -CONFIG_EXPORTFS=y +CONFIG_EXPORTFS=m CONFIG_SUNRPC=y CONFIG_SUNRPC_GSS=y CONFIG_RPCSEC_GSS_KRB5=y +CONFIG_RPCSEC_GSS_SPKM3=m # CONFIG_SMB_FS is not set CONFIG_CIFS=m # CONFIG_CIFS_STATS is not set +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set @@ -691,7 +737,7 @@ CONFIG_MSDOS_PARTITION=y # CONFIG_NLS=y CONFIG_NLS_DEFAULT="iso8859-1" -# CONFIG_NLS_CODEPAGE_437 is not set +CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set # CONFIG_NLS_CODEPAGE_850 is not set @@ -714,7 +760,8 @@ CONFIG_NLS_DEFAULT="iso8859-1" # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_CODEPAGE_1250 is not set # CONFIG_NLS_CODEPAGE_1251 is not set -# CONFIG_NLS_ISO8859_1 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set @@ -748,14 +795,16 @@ CONFIG_OPROFILE=y # Kernel hacking # CONFIG_DEBUG_KERNEL=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_DEBUG_SLAB is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_INFO is not set CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACK_USAGE=y -# CONFIG_DEBUG_SLAB is not set -CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUGGER is not set # CONFIG_PPCDBG is not set -# CONFIG_DEBUG_INFO is not set # CONFIG_IRQSTACKS is not set +# CONFIG_SCHEDSTATS is not set # # Security options @@ -773,6 +822,7 @@ CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=m CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WHIRLPOOL=m CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_TWOFISH=m @@ -780,16 +830,19 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_AES=m CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m CONFIG_CRYPTO_DEFLATE=m -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m CONFIG_CRYPTO_TEST=m # # Library routines # +CONFIG_CRC_CCITT=m CONFIG_CRC32=y -# CONFIG_LIBCRC32C is not set +CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=m diff --git a/arch/ppc64/kernel/ItLpQueue.c b/arch/ppc64/kernel/ItLpQueue.c index 6f21bde21..c923a8157 100644 --- a/arch/ppc64/kernel/ItLpQueue.c +++ b/arch/ppc64/kernel/ItLpQueue.c @@ -25,7 +25,7 @@ static __inline__ int set_inUse( struct ItLpQueue * lpQueue ) __asm__ __volatile__("\n\ 1: lwarx %0,0,%2 \n\ - cmpi 0,%0,0 \n\ + cmpwi 0,%0,0 \n\ li %0,0 \n\ bne- 2f \n\ addi %0,%0,1 \n\ diff --git a/arch/ppc64/kernel/Makefile b/arch/ppc64/kernel/Makefile index c5dd7e13b..020b64fac 100644 --- a/arch/ppc64/kernel/Makefile +++ b/arch/ppc64/kernel/Makefile @@ -3,11 +3,11 @@ # EXTRA_CFLAGS += -mno-minimal-toc -extra-y := head.o vmlinux.lds.s +extra-y := head.o vmlinux.lds obj-y := setup.o entry.o traps.o irq.o idle.o dma.o \ time.o process.o signal.o syscalls.o misc.o ptrace.o \ - align.o semaphore.o bitops.o stab.o pacaData.o \ + align.o semaphore.o bitops.o pacaData.o \ udbg.o binfmt_elf32.o sys_ppc32.o ioctl32.o \ ptrace32.o signal32.o rtc.o init_task.o \ lmb.o cputable.o cpu_setup_power4.o idle_power4.o \ @@ -17,9 +17,9 @@ obj-$(CONFIG_PPC_OF) += of_device.o pci-obj-$(CONFIG_PPC_ISERIES) += iSeries_pci.o iSeries_pci_reset.o \ iSeries_IoMmTable.o -pci-obj-$(CONFIG_PPC_PSERIES) += pci_dn.o pci_dma_direct.o +pci-obj-$(CONFIG_PPC_MULTIPLATFORM) += pci_dn.o pci_dma_direct.o -obj-$(CONFIG_PCI) += pci.o pci_iommu.o $(pci-obj-y) +obj-$(CONFIG_PCI) += pci.o pci_iommu.o iomap.o $(pci-obj-y) obj-$(CONFIG_PPC_ISERIES) += iSeries_irq.o \ iSeries_VpdInfo.o XmPciLpEvent.o \ @@ -28,10 +28,11 @@ obj-$(CONFIG_PPC_ISERIES) += iSeries_irq.o \ mf.o HvLpEvent.o iSeries_proc.o iSeries_htab.o \ iSeries_iommu.o +obj-$(CONFIG_PPC_MULTIPLATFORM) += nvram.o open_pic.o i8259.o prom_init.o prom.o + obj-$(CONFIG_PPC_PSERIES) += pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o \ - eeh.o nvram.o pSeries_nvram.o rtasd.o ras.o \ - open_pic.o xics.o pSeries_htab.o rtas.o \ - chrp_setup.o i8259.o prom.o pSeries_iommu.o + eeh.o pSeries_nvram.o rtasd.o ras.o \ + xics.o rtas.o pSeries_setup.o pSeries_iommu.o obj-$(CONFIG_PROC_FS) += proc_ppc64.o obj-$(CONFIG_RTAS_FLASH) += rtas_flash.o @@ -48,7 +49,7 @@ obj-$(CONFIG_HVCS) += hvcserver.o obj-$(CONFIG_PPC_PMAC) += pmac_setup.o pmac_feature.o pmac_pci.o \ pmac_time.o pmac_nvram.o pmac_low_i2c.o \ open_pic_u3.o -obj-$(CONFIG_PMAC_DART) += pmac_iommu.o +obj-$(CONFIG_U3_DART) += u3_iommu.o ifdef CONFIG_SMP obj-$(CONFIG_PPC_PMAC) += pmac_smp.o smp-tbsync.o diff --git a/arch/ppc64/kernel/asm-offsets.c b/arch/ppc64/kernel/asm-offsets.c index f19f76379..618592161 100644 --- a/arch/ppc64/kernel/asm-offsets.c +++ b/arch/ppc64/kernel/asm-offsets.c @@ -22,18 +22,17 @@ #include #include #include +#include #include #include #include #include -#include #include #include #include #include #include -#include #include #include @@ -58,6 +57,7 @@ int main(void) DEFINE(THREAD_FPR0, offsetof(struct thread_struct, fpr[0])); DEFINE(THREAD_FPSCR, offsetof(struct thread_struct, fpscr)); DEFINE(KSP, offsetof(struct thread_struct, ksp)); + DEFINE(KSP_VSID, offsetof(struct thread_struct, ksp_vsid)); #ifdef CONFIG_ALTIVEC DEFINE(THREAD_VR0, offsetof(struct thread_struct, vr[0])); @@ -93,16 +93,10 @@ int main(void) DEFINE(PACASLBCACHE, offsetof(struct paca_struct, slb_cache)); DEFINE(PACASLBCACHEPTR, offsetof(struct paca_struct, slb_cache_ptr)); DEFINE(PACACONTEXTID, offsetof(struct paca_struct, context.id)); - DEFINE(PACASLBR3, offsetof(struct paca_struct, slb_r3)); #ifdef CONFIG_HUGETLB_PAGE DEFINE(PACAHTLBSEGS, offsetof(struct paca_struct, context.htlb_segs)); #endif /* CONFIG_HUGETLB_PAGE */ DEFINE(PACADEFAULTDECR, offsetof(struct paca_struct, default_decr)); - DEFINE(PACAPROFENABLED, offsetof(struct paca_struct, prof_enabled)); - DEFINE(PACAPROFLEN, offsetof(struct paca_struct, prof_len)); - DEFINE(PACAPROFSHIFT, offsetof(struct paca_struct, prof_shift)); - DEFINE(PACAPROFBUFFER, offsetof(struct paca_struct, prof_buffer)); - DEFINE(PACAPROFSTEXT, offsetof(struct paca_struct, prof_stext)); DEFINE(PACA_EXGEN, offsetof(struct paca_struct, exgen)); DEFINE(PACA_EXMC, offsetof(struct paca_struct, exmc)); DEFINE(PACA_EXSLB, offsetof(struct paca_struct, exslb)); @@ -113,15 +107,10 @@ int main(void) DEFINE(LPPACASRR1, offsetof(struct ItLpPaca, xSavedSrr1)); DEFINE(LPPACAANYINT, offsetof(struct ItLpPaca, xIntDword.xAnyInt)); DEFINE(LPPACADECRINT, offsetof(struct ItLpPaca, xIntDword.xFields.xDecrInt)); - DEFINE(LPQCUREVENTPTR, offsetof(struct ItLpQueue, xSlicCurEventPtr)); - DEFINE(LPQOVERFLOW, offsetof(struct ItLpQueue, xPlicOverflowIntPending)); - DEFINE(LPEVENTFLAGS, offsetof(struct HvLpEvent, xFlags)); - DEFINE(PROMENTRY, offsetof(struct prom_t, entry)); /* RTAS */ DEFINE(RTASBASE, offsetof(struct rtas_t, base)); DEFINE(RTASENTRY, offsetof(struct rtas_t, entry)); - DEFINE(RTASSIZE, offsetof(struct rtas_t, size)); /* Interrupt register frame */ DEFINE(STACK_FRAME_OVERHEAD, STACK_FRAME_OVERHEAD); @@ -148,10 +137,6 @@ int main(void) DEFINE(GPR11, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[11])); DEFINE(GPR12, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[12])); DEFINE(GPR13, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[13])); - DEFINE(GPR20, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[20])); - DEFINE(GPR21, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[21])); - DEFINE(GPR22, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[22])); - DEFINE(GPR23, STACK_FRAME_OVERHEAD+offsetof(struct pt_regs, gpr[23])); /* * Note: these symbols include _ because they overlap with special * register names diff --git a/arch/ppc64/kernel/eeh.c b/arch/ppc64/kernel/eeh.c index 5fdcce2db..1d74ebab4 100644 --- a/arch/ppc64/kernel/eeh.c +++ b/arch/ppc64/kernel/eeh.c @@ -45,12 +45,10 @@ static int ibm_set_eeh_option; static int ibm_set_slot_reset; static int ibm_read_slot_reset_state; +static int ibm_read_slot_reset_state2; static int ibm_slot_error_detail; static int eeh_subsystem_enabled; -#define EEH_MAX_OPTS 4096 -static char *eeh_opts; -static int eeh_opts_last; /* Buffer for reporting slot-error-detail rtas calls */ static unsigned char slot_errbuf[RTAS_ERROR_LOG_MAX]; @@ -62,10 +60,6 @@ static DEFINE_PER_CPU(unsigned long, total_mmio_ffs); static DEFINE_PER_CPU(unsigned long, false_positives); static DEFINE_PER_CPU(unsigned long, ignored_failures); -static int eeh_check_opts_config(struct device_node *dn, int class_code, - int vendor_id, int device_id, - int default_state); - /** * The pci address cache subsystem. This subsystem places * PCI device address resources into a red-black tree, sorted @@ -209,6 +203,7 @@ static void __pci_addr_cache_insert_device(struct pci_dev *dev) { struct device_node *dn; int i; + int inserted = 0; dn = pci_device_to_OF_node(dev); if (!dn) { @@ -242,7 +237,12 @@ static void __pci_addr_cache_insert_device(struct pci_dev *dev) if (start == 0 || ~start == 0 || end == 0 || ~end == 0) continue; pci_addr_cache_insert(dev, start, end, flags); + inserted = 1; } + + /* If there was nothing to add, the cache has no reference... */ + if (!inserted) + pci_dev_put(dev); } /** @@ -265,6 +265,7 @@ void pci_addr_cache_insert_device(struct pci_dev *dev) static inline void __pci_addr_cache_remove_device(struct pci_dev *dev) { struct rb_node *n; + int removed = 0; restart: n = rb_first(&pci_io_addr_cache_root.rb_root); @@ -274,6 +275,7 @@ restart: if (piar->pcidev == dev) { rb_erase(n, &pci_io_addr_cache_root.rb_root); + removed = 1; kfree(piar); goto restart; } @@ -281,7 +283,8 @@ restart: } /* The cache no longer holds its reference to this device... */ - pci_dev_put(dev); + if (removed) + pci_dev_put(dev); } /** @@ -333,78 +336,58 @@ void __init pci_addr_cache_build(void) /** * eeh_token_to_phys - convert EEH address token to phys address - * @token i/o token, should be address in the form 0xA.... - * - * Converts EEH address tokens into physical addresses. Note that - * ths routine does *not* convert I/O BAR addresses (which start - * with 0xE...) to phys addresses! + * @token i/o token, should be address in the form 0xE.... */ -static unsigned long eeh_token_to_phys(unsigned long token) +static inline unsigned long eeh_token_to_phys(unsigned long token) { pte_t *ptep; - unsigned long pa, vaddr; + unsigned long pa; - if (REGION_ID(token) == EEH_REGION_ID) - vaddr = IO_TOKEN_TO_ADDR(token); - else + ptep = find_linux_pte(ioremap_mm.pgd, token); + if (!ptep) return token; - - ptep = find_linux_pte(ioremap_mm.pgd, vaddr); pa = pte_pfn(*ptep) << PAGE_SHIFT; - return pa | (vaddr & (PAGE_SIZE-1)); + return pa | (token & (PAGE_SIZE-1)); } /** - * eeh_check_failure - check if all 1's data is due to EEH slot freeze - * @token i/o token, should be address in the form 0xA.... - * @val value, should be all 1's (XXX why do we need this arg??) + * eeh_dn_check_failure - check if all 1's data is due to EEH slot freeze + * @dn device node + * @dev pci device, if known * - * Check for an eeh failure at the given token address. - * The given value has been read and it should be 1's (0xff, 0xffff or - * 0xffffffff). + * Check for an EEH failure for the given device node. Call this + * routine if the result of a read was all 0xff's and you want to + * find out if this is due to an EEH slot freeze event. This routine + * will query firmware for the EEH status. * - * Probe to determine if an error actually occurred. If not return val. - * Otherwise panic. + * Returns 0 if there has not been an EEH error; otherwise returns + * an error code. * - * Note this routine might be called in an interrupt context ... + * It is safe to call this routine in an interrupt context. */ -unsigned long eeh_check_failure(void *token, unsigned long val) +int eeh_dn_check_failure(struct device_node *dn, struct pci_dev *dev) { - unsigned long addr; - struct pci_dev *dev; - struct device_node *dn; int ret; - int rets[2]; + int rets[3]; unsigned long flags; __get_cpu_var(total_mmio_ffs)++; if (!eeh_subsystem_enabled) - return val; + return 0; - /* Finding the phys addr + pci device; this is pretty quick. */ - addr = eeh_token_to_phys((unsigned long)token); - dev = pci_get_device_by_addr(addr); - if (!dev) - return val; - - dn = pci_device_to_OF_node(dev); - if (!dn) { - pci_dev_put(dev); - return val; - } + if (!dn) + return 0; /* Access to IO BARs might get this far and still not want checking. */ if (!(dn->eeh_mode & EEH_MODE_SUPPORTED) || dn->eeh_mode & EEH_MODE_NOCHECK) { - pci_dev_put(dev); - return val; + return 0; } if (!dn->eeh_config_addr) { - pci_dev_put(dev); - return val; + return 0; } /* @@ -414,11 +397,9 @@ unsigned long eeh_check_failure(void *token, unsigned long val) * function zero of a multi-function device. * In any case they must share a common PHB. */ - ret = rtas_call(ibm_read_slot_reset_state, 3, 3, rets, - dn->eeh_config_addr, BUID_HI(dn->phb->buid), - BUID_LO(dn->phb->buid)); + ret = read_slot_reset_state(dn, rets); - if (ret == 0 && rets[1] == 1 && rets[0] >= 2) { + if (ret == 0 && rets[1] == 1 && (rets[0] == 2 || rets[0] == 4)) { int log_event; spin_lock_irqsave(&slot_errbuf_lock, flags); @@ -430,7 +411,7 @@ unsigned long eeh_check_failure(void *token, unsigned long val) BUID_LO(dn->phb->buid), NULL, 0, virt_to_phys(slot_errbuf), eeh_error_buf_size, - 2 /* Permanent Error */); + 1 /* Temporary Error */); if (log_event == 0) log_error(slot_errbuf, ERR_TYPE_RTAS_LOG, @@ -438,6 +419,10 @@ unsigned long eeh_check_failure(void *token, unsigned long val) spin_unlock_irqrestore(&slot_errbuf_lock, flags); + printk(KERN_INFO "EEH: MMIO failure (%d) on device: %s %s\n", + rets[0], dn->name, dn->full_name); + WARN_ON(1); + /* * XXX We should create a separate sysctl for this. * @@ -446,26 +431,80 @@ unsigned long eeh_check_failure(void *token, unsigned long val) * can use it here. */ if (panic_on_oops) { - panic("EEH: MMIO failure (%d) on device:%s %s\n", - rets[0], pci_name(dev), pci_pretty_name(dev)); + panic("EEH: MMIO failure (%d) on device: %s %s\n", + rets[0], dn->name, dn->full_name); } else { __get_cpu_var(ignored_failures)++; - printk(KERN_INFO "EEH: MMIO failure (%d) on device:%s %s\n", - rets[0], pci_name(dev), pci_pretty_name(dev)); } } else { __get_cpu_var(false_positives)++; } + return 0; +} + +EXPORT_SYMBOL(eeh_dn_check_failure); + +/** + * read_slot_reset_state - get the current state of a slot for a + * given device node. + * + * @dn device node for the slot to check + * @rets array to return results in + */ +static int read_slot_reset_state(struct device_node *dn, unsigned long rets[]) +{ + int token, outputs; + + if (ibm_read_slot_reset_state2 != RTAS_UNKNOWN_SERVICE) { + token = ibm_read_slot_reset_state2; + outputs = 4; + } else { + token = ibm_read_slot_reset_state; + outputs = 3; + } + + return rtas_call(token, 3, outputs, rets, dn->eeh_config_addr, + BUID_HI(dn->phb->buid), BUID_LO(dn->phb->buid)); +} + +/** + * eeh_check_failure - check if all 1's data is due to EEH slot freeze + * @token i/o token, should be address in the form 0xA.... + * @val value, should be all 1's (XXX why do we need this arg??) + * + * Check for an eeh failure at the given token address. + * Check for an EEH failure at the given token address. Call this + * routine if the result of a read was all 0xff's and you want to + * find out if this is due to an EEH slot freeze event. This routine + * will query firmware for the EEH status. + * + * Note this routine is safe to call in an interrupt context. + */ +unsigned long eeh_check_failure(const volatile void __iomem *token, unsigned long val) +{ + unsigned long addr; + struct pci_dev *dev; + struct device_node *dn; + + /* Finding the phys addr + pci device; this is pretty quick. */ + addr = eeh_token_to_phys((unsigned long __force) token); + dev = pci_get_device_by_addr(addr); + if (!dev) + return val; + + dn = pci_device_to_OF_node(dev); + eeh_dn_check_failure (dn, dev); + pci_dev_put(dev); return val; } + EXPORT_SYMBOL(eeh_check_failure); struct eeh_early_enable_info { unsigned int buid_hi; unsigned int buid_lo; - int force_off; }; /* Enable eeh for the given device node. */ @@ -507,18 +546,8 @@ static void *early_enable_eeh(struct device_node *dn, void *data) if ((*class_code >> 16) == PCI_BASE_CLASS_DISPLAY) enable = 0; - if (!eeh_check_opts_config(dn, *class_code, *vendor_id, *device_id, - enable)) { - if (enable) { - printk(KERN_WARNING "EEH: %s user requested to run " - "without EEH checking.\n", dn->full_name); - enable = 0; - } - } - - if (!enable || info->force_off) { + if (!enable) dn->eeh_mode |= EEH_MODE_NOCHECK; - } /* Ok... see if this device supports EEH. Some do, some don't, * and the only way to find out is to check each and every one. */ @@ -572,19 +601,17 @@ void __init eeh_init(void) { struct device_node *phb, *np; struct eeh_early_enable_info info; - char *eeh_force_off = strstr(saved_command_line, "eeh-force-off"); init_pci_config_tokens(); np = of_find_node_by_path("/rtas"); - if (np == NULL) { - printk(KERN_WARNING "EEH: RTAS not found !\n"); + if (np == NULL) return; - } ibm_set_eeh_option = rtas_token("ibm,set-eeh-option"); ibm_set_slot_reset = rtas_token("ibm,set-slot-reset"); ibm_read_slot_reset_state = rtas_token("ibm,read-slot-reset-state"); + ibm_read_slot_reset_state2 = rtas_token("ibm,read-slot-reset-state2"); ibm_slot_error_detail = rtas_token("ibm,slot-error-detail"); if (ibm_set_eeh_option == RTAS_UNKNOWN_SERVICE) @@ -600,13 +627,6 @@ void __init eeh_init(void) eeh_error_buf_size = RTAS_ERROR_LOG_MAX; } - info.force_off = 0; - if (eeh_force_off) { - printk(KERN_WARNING "EEH: WARNING: PCI Enhanced I/O Error " - "Handling is user disabled\n"); - info.force_off = 1; - } - /* Enable EEH for all adapters. Note that eeh requires buid's */ for (phb = of_find_node_by_name(NULL, "pci"); phb; phb = of_find_node_by_name(phb, "pci")) { @@ -621,11 +641,10 @@ void __init eeh_init(void) traverse_pci_devices(phb, early_enable_eeh, &info); } - if (eeh_subsystem_enabled) { + if (eeh_subsystem_enabled) printk(KERN_INFO "EEH: PCI Enhanced I/O Error Handling Enabled\n"); - } else { - printk(KERN_WARNING "EEH: disabled PCI Enhanced I/O Error Handling\n"); - } + else + printk(KERN_WARNING "EEH: No capable adapters found\n"); } /** @@ -701,39 +720,6 @@ void eeh_remove_device(struct pci_dev *dev) } EXPORT_SYMBOL(eeh_remove_device); -/* - * If EEH is implemented, find the PCI device using given phys addr - * and check to see if eeh failure checking is disabled. - * Remap the addr (trivially) to the EEH region if EEH checking enabled. - * For addresses not known to PCI the vaddr is simply returned unchanged. - */ -void *eeh_ioremap(unsigned long addr, void *vaddr) -{ - struct pci_dev *dev; - struct device_node *dn; - - if (!eeh_subsystem_enabled) - return vaddr; - - dev = pci_get_device_by_addr(addr); - if (!dev) - return vaddr; - - dn = pci_device_to_OF_node(dev); - if (!dn) { - pci_dev_put(dev); - return vaddr; - } - - if (dn->eeh_mode & EEH_MODE_NOCHECK) { - pci_dev_put(dev); - return vaddr; - } - - pci_dev_put(dev); - return (void *)IO_ADDR_TO_TOKEN(vaddr); -} - static int proc_eeh_show(struct seq_file *m, void *v) { unsigned int cpu; @@ -784,129 +770,3 @@ static int __init eeh_init_proc(void) return 0; } __initcall(eeh_init_proc); - -/* - * Test if "dev" should be configured on or off. - * This processes the options literally from left to right. - * This lets the user specify stupid combinations of options, - * but at least the result should be very predictable. - */ -static int eeh_check_opts_config(struct device_node *dn, - int class_code, int vendor_id, int device_id, - int default_state) -{ - char devname[32], classname[32]; - char *strs[8], *s; - int nstrs, i; - int ret = default_state; - - /* Build list of strings to match */ - nstrs = 0; - s = (char *)get_property(dn, "ibm,loc-code", NULL); - if (s) - strs[nstrs++] = s; - sprintf(devname, "dev%04x:%04x", vendor_id, device_id); - strs[nstrs++] = devname; - sprintf(classname, "class%04x", class_code); - strs[nstrs++] = classname; - strs[nstrs++] = ""; /* yes, this matches the empty string */ - - /* - * Now see if any string matches the eeh_opts list. - * The eeh_opts list entries start with + or -. - */ - for (s = eeh_opts; s && (s < (eeh_opts + eeh_opts_last)); - s += strlen(s)+1) { - for (i = 0; i < nstrs; i++) { - if (strcasecmp(strs[i], s+1) == 0) { - ret = (strs[i][0] == '+') ? 1 : 0; - } - } - } - return ret; -} - -/* - * Handle kernel eeh-on & eeh-off cmd line options for eeh. - * - * We support: - * eeh-off=loc1,loc2,loc3... - * - * and this option can be repeated so - * eeh-off=loc1,loc2 eeh-off=loc3 - * is the same as eeh-off=loc1,loc2,loc3 - * - * loc is an IBM location code that can be found in a manual or - * via openfirmware (or the Hardware Management Console). - * - * We also support these additional "loc" values: - * - * dev#:# vendor:device id in hex (e.g. dev1022:2000) - * class# class id in hex (e.g. class0200) - * - * If no location code is specified all devices are assumed - * so eeh-off means eeh by default is off. - */ - -/* - * This is implemented as a null separated list of strings. - * Each string looks like this: "+X" or "-X" - * where X is a loc code, vendor:device, class (as shown above) - * or empty which is used to indicate all. - * - * We interpret this option string list so that it will literally - * behave left-to-right even if some combinations don't make sense. - */ -static int __init eeh_parm(char *str, int state) -{ - char *s, *cur, *curend; - - if (!eeh_opts) { - eeh_opts = alloc_bootmem(EEH_MAX_OPTS); - eeh_opts[eeh_opts_last++] = '+'; /* default */ - eeh_opts[eeh_opts_last++] = '\0'; - } - if (*str == '\0') { - eeh_opts[eeh_opts_last++] = state ? '+' : '-'; - eeh_opts[eeh_opts_last++] = '\0'; - return 1; - } - if (*str == '=') - str++; - for (s = str; s && *s != '\0'; s = curend) { - cur = s; - /* ignore empties. Don't treat as "all-on" or "all-off" */ - while (*cur == ',') - cur++; - curend = strchr(cur, ','); - if (!curend) - curend = cur + strlen(cur); - if (*cur) { - int curlen = curend-cur; - if (eeh_opts_last + curlen > EEH_MAX_OPTS-2) { - printk(KERN_WARNING "EEH: sorry...too many " - "eeh cmd line options\n"); - return 1; - } - eeh_opts[eeh_opts_last++] = state ? '+' : '-'; - strncpy(eeh_opts+eeh_opts_last, cur, curlen); - eeh_opts_last += curlen; - eeh_opts[eeh_opts_last++] = '\0'; - } - } - - return 1; -} - -static int __init eehoff_parm(char *str) -{ - return eeh_parm(str, 0); -} - -static int __init eehon_parm(char *str) -{ - return eeh_parm(str, 1); -} - -__setup("eeh-off", eehoff_parm); -__setup("eeh-on", eehon_parm); diff --git a/arch/ppc64/kernel/entry.S b/arch/ppc64/kernel/entry.S index 2d48d24e7..bea7ea849 100644 --- a/arch/ppc64/kernel/entry.S +++ b/arch/ppc64/kernel/entry.S @@ -122,7 +122,7 @@ SystemCall_common: andi. r11,r10,_TIF_SYSCALL_T_OR_A bne- syscall_dotrace syscall_dotrace_cont: - cmpli 0,r0,NR_syscalls + cmpldi 0,r0,NR_syscalls bge- syscall_enosys system_call: /* label this so stack traces look sane */ @@ -162,7 +162,7 @@ syscall_error_cont: /* check for syscall tracing or audit */ ld r9,TI_FLAGS(r12) - andi. r0,r9,_TIF_SYSCALL_T_OR_A + andi. r0,r9,(_TIF_SYSCALL_T_OR_A|_TIF_SINGLESTEP) bne- syscall_exit_trace syscall_exit_trace_cont: @@ -204,7 +204,7 @@ syscall_enosys: syscall_error: lbz r11,TI_SC_NOERR(r12) - cmpi 0,r11,0 + cmpwi 0,r11,0 bne- syscall_error_cont neg r3,r3 oris r5,r5,0x1000 /* Set SO bit in CR */ @@ -265,16 +265,21 @@ _GLOBAL(save_nvgprs) _GLOBAL(ppc32_sigsuspend) bl .save_nvgprs bl .sys32_sigsuspend - b syscall_exit + b 70f _GLOBAL(ppc64_rt_sigsuspend) bl .save_nvgprs bl .sys_rt_sigsuspend - b syscall_exit + b 70f _GLOBAL(ppc32_rt_sigsuspend) bl .save_nvgprs bl .sys32_rt_sigsuspend + /* If sigsuspend() returns zero, we are going into a signal handler */ +70: cmpdi 0,r3,0 + beq .ret_from_except + /* If it returned -EINTR, we need to return via syscall_exit to set + the SO bit in cr0 and potentially stop for ptrace. */ b syscall_exit _GLOBAL(ppc_fork) @@ -317,7 +322,7 @@ _GLOBAL(ppc64_rt_sigreturn) blt syscall_exit clrrdi r4,r1,THREAD_SHIFT ld r4,TI_FLAGS(r4) - andi. r4,r4,_TIF_SYSCALL_T_OR_A + andi. r4,r4,(_TIF_SYSCALL_T_OR_A|_TIF_SINGLESTEP) beq+ 81f bl .do_syscall_trace_leave 81: b .ret_from_except @@ -393,9 +398,17 @@ BEGIN_FTR_SECTION cmpd cr1,r6,r9 /* or is new ESID the same as current ESID? */ cror eq,4*cr1+eq,eq beq 2f /* if yes, don't slbie it */ - oris r6,r6,0x0800 /* set C (class) bit */ - slbie r6 - slbie r6 /* Workaround POWER5 < DD2.1 issue */ + oris r0,r6,0x0800 /* set C (class) bit */ + + /* Bolt in the new stack SLB entry */ + ld r7,KSP_VSID(r4) /* Get new stack's VSID */ + oris r6,r6,(SLB_ESID_V)@h + ori r6,r6,(SLB_NUM_BOLTED-1)@l + slbie r0 + slbie r0 /* Workaround POWER5 < DD2.1 issue */ + slbmte r7,r6 + isync + 2: END_FTR_SECTION_IFSET(CPU_FTR_SLB) clrrdi r7,r8,THREAD_SHIFT /* base of new stack */ @@ -489,6 +502,7 @@ restore: li r3,0 stb r3,PACAPROCENABLED(r13) /* ensure we are soft-disabled */ + ori r10,r10,MSR_EE mtmsrd r10 /* hard-enable again */ addi r3,r1,STACK_FRAME_OVERHEAD bl .do_IRQ @@ -566,6 +580,7 @@ do_work: li r0,1 stb r0,PACAPROCENABLED(r13) #endif + ori r10,r10,MSR_EE mtmsrd r10,1 /* reenable interrupts */ bl .schedule mfmsr r10 @@ -583,6 +598,7 @@ do_work: user_work: #endif /* Enable interrupts */ + ori r10,r10,MSR_EE mtmsrd r10,1 andi. r0,r4,_TIF_NEED_RESCHED @@ -738,6 +754,10 @@ _STATIC(rtas_restore_regs) mtlr r0 blr /* return to caller */ +#endif /* CONFIG_PPC_PSERIES */ + +#ifdef CONFIG_PPC_MULTIPLATFORM + _GLOBAL(enter_prom) mflr r0 std r0,16(r1) @@ -769,11 +789,8 @@ _GLOBAL(enter_prom) std r11,_MSR(r1) /* Get the PROM entrypoint */ - bl .reloc_offset - LOADADDR(r12,prom) - sub r12,r12,r3 - ld r12,PROMENTRY(r12) - mtlr r12 + ld r0,GPR4(r1) + mtlr r0 /* Switch MSR to 32 bits mode */ @@ -826,4 +843,4 @@ _GLOBAL(enter_prom) mtlr r0 blr -#endif /* defined(CONFIG_PPC_PSERIES) */ +#endif /* CONFIG_PPC_MULTIPLATFORM */ diff --git a/arch/ppc64/kernel/head.S b/arch/ppc64/kernel/head.S index a5d67f599..90be51ae4 100644 --- a/arch/ppc64/kernel/head.S +++ b/arch/ppc64/kernel/head.S @@ -83,13 +83,14 @@ .text .globl _stext _stext: -#ifdef CONFIG_PPC_PSERIES -_STATIC(__start) +#ifdef CONFIG_PPC_MULTIPLATFORM +_GLOBAL(__start) /* NOP this out unconditionally */ BEGIN_FTR_SECTION - b .__start_initialization_pSeries + b .__start_initialization_multiplatform END_FTR_SECTION(0, 1) -#endif +#endif /* CONFIG_PPC_MULTIPLATFORM */ + /* Catch branch to 0 in real mode */ trap #ifdef CONFIG_PPC_ISERIES @@ -117,7 +118,8 @@ embedded_sysmap_start: .globl embedded_sysmap_end embedded_sysmap_end: .llong 0 -#else + +#else /* CONFIG_PPC_ISERIES */ /* Secondary processors spin on this value until it goes to 1. */ .globl __secondary_hold_spinloop @@ -199,6 +201,7 @@ exception_marker: #define EX_R12 24 #define EX_R13 32 #define EX_SRR0 40 +#define EX_R3 40 /* SLB miss saves R3, but not SRR0 */ #define EX_DAR 48 #define EX_LR 48 /* SLB miss saves LR, but not DAR */ #define EX_DSISR 56 @@ -322,36 +325,11 @@ label##_Iseries: \ HMT_MEDIUM; \ mtspr SPRG1,r13; /* save r13 */ \ EXCEPTION_PROLOG_ISERIES_1(PACA_EXGEN); \ - lbz r10,PACAPROFENABLED(r13); \ - cmpwi r10,0; \ - bne- label##_Iseries_profile; \ -label##_Iseries_prof_ret: \ lbz r10,PACAPROCENABLED(r13); \ cmpwi 0,r10,0; \ beq- label##_Iseries_masked; \ EXCEPTION_PROLOG_ISERIES_2; \ b label##_common; \ -label##_Iseries_profile: \ - ld r12,PACALPPACA+LPPACASRR1(r13); \ - andi. r12,r12,MSR_PR; /* Test if in kernel */ \ - bne label##_Iseries_prof_ret; \ - ld r11,PACALPPACA+LPPACASRR0(r13); \ - ld r12,PACAPROFSTEXT(r13); /* _stext */ \ - subf r11,r12,r11; /* offset into kernel */ \ - lwz r12,PACAPROFSHIFT(r13); \ - srd r11,r11,r12; \ - lwz r12,PACAPROFLEN(r13); /* profile table length - 1 */ \ - cmpd r11,r12; /* off end? */ \ - ble 1f; \ - mr r11,r12; /* force into last entry */ \ -1: sldi r11,r11,2; /* convert to offset */ \ - ld r12,PACAPROFBUFFER(r13);/* profile buffer */ \ - add r12,r12,r11; \ -2: lwarx r11,0,r12; /* atomically increment */ \ - addi r11,r11,1; \ - stwcx. r11,0,r12; \ - bne- 2b; \ - b label##_Iseries_prof_ret #ifdef DO_SOFT_DISABLE #define DISABLE_INTS \ @@ -446,21 +424,13 @@ DataAccessSLB_Pseries: std r10,PACA_EXSLB+EX_R10(r13) std r11,PACA_EXSLB+EX_R11(r13) std r12,PACA_EXSLB+EX_R12(r13) - std r3,PACASLBR3(r13) + std r3,PACA_EXSLB+EX_R3(r13) mfspr r9,SPRG1 std r9,PACA_EXSLB+EX_R13(r13) mfcr r9 - clrrdi r12,r13,32 /* get high part of &label */ - mfmsr r10 - mfspr r11,SRR0 /* save SRR0 */ - ori r12,r12,(.do_slb_miss)@l - ori r10,r10,MSR_IR|MSR_DR /* DON'T set RI for SLB miss */ - mtspr SRR0,r12 mfspr r12,SRR1 /* and SRR1 */ - mtspr SRR1,r10 mfspr r3,DAR - rfid - b . /* prevent speculative execution */ + b .do_slb_miss /* Rel. branch works in real mode */ STD_EXCEPTION_PSERIES(0x400, InstructionAccess) @@ -474,21 +444,13 @@ InstructionAccessSLB_Pseries: std r10,PACA_EXSLB+EX_R10(r13) std r11,PACA_EXSLB+EX_R11(r13) std r12,PACA_EXSLB+EX_R12(r13) - std r3,PACASLBR3(r13) + std r3,PACA_EXSLB+EX_R3(r13) mfspr r9,SPRG1 std r9,PACA_EXSLB+EX_R13(r13) mfcr r9 - clrrdi r12,r13,32 /* get high part of &label */ - mfmsr r10 - mfspr r11,SRR0 /* save SRR0 */ - ori r12,r12,(.do_slb_miss)@l - ori r10,r10,MSR_IR|MSR_DR /* DON'T set RI for SLB miss */ - mtspr SRR0,r12 mfspr r12,SRR1 /* and SRR1 */ - mtspr SRR1,r10 - mr r3,r11 /* SRR0 is faulting address */ - rfid - b . /* prevent speculative execution */ + mfspr r3,SRR0 /* SRR0 is faulting address */ + b .do_slb_miss /* Rel. branch works in real mode */ STD_EXCEPTION_PSERIES(0x500, HardwareInterrupt) STD_EXCEPTION_PSERIES(0x600, Alignment) @@ -580,7 +542,7 @@ __end_systemcfg: * VSID generation algorithm. See include/asm/mmu_context.h. */ - .llong 1 /* # ESIDs to be mapped by hypervisor */ + .llong 2 /* # ESIDs to be mapped by hypervisor */ .llong 1 /* # memory ranges to be mapped by hypervisor */ .llong STAB0_PAGE /* Page # of segment table within load area */ .llong 0 /* Reserved */ @@ -588,11 +550,15 @@ __end_systemcfg: .llong 0 /* Reserved */ .llong 0 /* Reserved */ .llong 0 /* Reserved */ - .llong 0x0c00000000 /* ESID to map (Kernel at EA = 0xC000000000000000) */ - .llong 0x06a99b4b14 /* VSID to map (Kernel at VA = 0x6a99b4b140000000) */ + .llong (KERNELBASE>>SID_SHIFT) + .llong 0x408f92c94 /* KERNELBASE VSID */ + /* We have to list the bolted VMALLOC segment here, too, so that it + * will be restored on shared processor switch */ + .llong (VMALLOCBASE>>SID_SHIFT) + .llong 0xf09b89af5 /* VMALLOCBASE VSID */ .llong 8192 /* # pages to map (32 MB) */ .llong 0 /* Offset from start of loadarea to start of map */ - .llong 0x0006a99b4b140000 /* VPN of first page to map */ + .llong 0x408f92c940000 /* VPN of first page to map */ . = 0x6100 @@ -630,8 +596,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB) DataAccessSLB_Iseries: mtspr SPRG1,r13 /* save r13 */ EXCEPTION_PROLOG_ISERIES_1(PACA_EXSLB) - std r3,PACASLBR3(r13) - ld r11,PACALPPACA+LPPACASRR0(r13) + std r3,PACA_EXSLB+EX_R3(r13) ld r12,PACALPPACA+LPPACASRR1(r13) mfspr r3,DAR b .do_slb_miss @@ -642,10 +607,9 @@ DataAccessSLB_Iseries: InstructionAccessSLB_Iseries: mtspr SPRG1,r13 /* save r13 */ EXCEPTION_PROLOG_ISERIES_1(PACA_EXSLB) - std r3,PACASLBR3(r13) - ld r11,PACALPPACA+LPPACASRR0(r13) + std r3,PACA_EXSLB+EX_R3(r13) ld r12,PACALPPACA+LPPACASRR1(r13) - mr r3,r11 + ld r3,PACALPPACA+LPPACASRR0(r13) b .do_slb_miss MASKABLE_EXCEPTION_ISERIES(0x500, HardwareInterrupt) @@ -1033,6 +997,9 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB) * interrupts if necessary. */ beq .ret_from_except_lite + /* For a hash failure, we don't bother re-enabling interrupts */ + ble- 12f + /* * hash_page couldn't handle it, set soft interrupt enable back * to what it was before the trap. Note that .local_irq_restore @@ -1043,6 +1010,8 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB) b 11f #else beq fast_exception_return /* Return from exception on success */ + ble- 12f /* Failure return from hash_page */ + /* fall through */ #endif @@ -1062,6 +1031,15 @@ _GLOBAL(handle_page_fault) bl .bad_page_fault b .ret_from_except +/* We have a page fault that hash_page could handle but HV refused + * the PTE insertion + */ +12: bl .save_nvgprs + addi r3,r1,STACK_FRAME_OVERHEAD + lwz r4,_DAR(r1) + bl .low_hash_fault + b .ret_from_except + /* here we have a segment miss */ _GLOBAL(do_ste_alloc) bl .ste_allocate /* try to insert stab entry */ @@ -1088,18 +1066,9 @@ _GLOBAL(do_stab_bolted) rldimi r10,r11,7,52 /* r10 = first ste of the group */ /* Calculate VSID */ - /* (((ea >> 28) & 0x1fff) << 15) | (ea >> 60) */ - rldic r11,r11,15,36 - ori r11,r11,0xc - - /* VSID_RANDOMIZER */ - li r9,9 - sldi r9,r9,32 - oris r9,r9,58231 - ori r9,r9,39831 - - mulld r9,r11,r9 - rldic r9,r9,12,16 /* r9 = vsid << 12 */ + /* This is a kernel address, so protovsid = ESID */ + ASM_VSID_SCRAMBLE(r11, r9) + rldic r9,r11,12,16 /* r9 = vsid << 12 */ /* Search the primary group for a free entry */ 1: ld r11,0(r10) /* Test valid bit of the current ste */ @@ -1176,7 +1145,6 @@ _GLOBAL(do_slb_miss) mflr r10 stw r9,PACA_EXSLB+EX_CCR(r13) /* save CR in exc. frame */ - std r11,PACA_EXSLB+EX_SRR0(r13) /* save SRR0 in exc. frame */ std r10,PACA_EXSLB+EX_LR(r13) /* save LR */ bl .slb_allocate /* handle it */ @@ -1184,9 +1152,11 @@ _GLOBAL(do_slb_miss) /* All done -- return from exception. */ ld r10,PACA_EXSLB+EX_LR(r13) - ld r3,PACASLBR3(r13) + ld r3,PACA_EXSLB+EX_R3(r13) lwz r9,PACA_EXSLB+EX_CCR(r13) /* get saved CR */ - ld r11,PACA_EXSLB+EX_SRR0(r13) /* get saved SRR0 */ +#ifdef CONFIG_PPC_ISERIES + ld r11,PACALPPACA+LPPACASRR0(r13) /* get SRR0 value */ +#endif /* CONFIG_PPC_ISERIES */ mtlr r10 @@ -1199,8 +1169,10 @@ _GLOBAL(do_slb_miss) mtcrf 0x01,r9 /* slb_allocate uses cr0 and cr7 */ .machine pop +#ifdef CONFIG_PPC_ISERIES mtspr SRR0,r11 mtspr SRR1,r12 +#endif /* CONFIG_PPC_ISERIES */ ld r9,PACA_EXSLB+EX_R9(r13) ld r10,PACA_EXSLB+EX_R10(r13) ld r11,PACA_EXSLB+EX_R11(r13) @@ -1253,12 +1225,10 @@ _GLOBAL(pseries_secondary_smp_init) #endif b 1b /* Loop until told to go */ #ifdef CONFIG_PPC_ISERIES -_GLOBAL(__start_initialization_iSeries) +_STATIC(__start_initialization_iSeries) /* Clear out the BSS */ LOADADDR(r11,__bss_stop) - LOADADDR(r8,__bss_start) - sub r11,r11,r8 /* bss size */ addi r11,r11,7 /* round up to an even double word */ rldicl. r11,r11,61,3 /* shift right by 3 */ @@ -1295,32 +1265,73 @@ _GLOBAL(__start_initialization_iSeries) ld r6,PACA(r4) /* Get the base paca pointer */ ld r4,PACASTABVIRT(r6) - bl .iSeries_fixup_klimit + bl .iSeries_early_setup /* relocation is on at this point */ b .start_here_common -#endif +#endif /* CONFIG_PPC_ISERIES */ -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM -_STATIC(mmu_off) +_STATIC(__mmu_off) mfmsr r3 andi. r0,r3,MSR_IR|MSR_DR beqlr andc r3,r3,r0 - mtspr SRR0,r4 - mtspr SRR1,r3 + mtspr SPRN_SRR0,r4 + mtspr SPRN_SRR1,r3 sync rfid b . /* prevent speculative execution */ -_GLOBAL(__start_initialization_pSeries) - mr r31,r3 /* save parameters */ + + +/* + * Here is our main kernel entry point. We support currently 2 kind of entries + * depending on the value of r5. + * + * r5 != NULL -> OF entry, we go to prom_init, "legacy" parameter content + * in r3...r7 + * + * r5 == NULL -> kexec style entry. r3 is a physical pointer to the + * DT block, r4 is a physical pointer to the kernel itself + * + */ +_GLOBAL(__start_initialization_multiplatform) + /* + * Are we booted from a PROM Of-type client-interface ? + */ + cmpldi cr0,r5,0 + bne .__boot_from_prom /* yes -> prom */ + + /* Save parameters */ + mr r31,r3 + mr r30,r4 + + /* Make sure we are running in 64 bits mode */ + bl .enable_64b_mode + + /* Setup some critical 970 SPRs before switching MMU off */ + bl .__970_cpu_preinit + + /* cpu # */ + li r24,0 + + /* Switch off MMU if not already */ + LOADADDR(r4, .__after_prom_start - KERNELBASE) + add r4,r4,r30 + bl .__mmu_off + b .__after_prom_start + +_STATIC(__boot_from_prom) + /* Save parameters */ + mr r31,r3 mr r30,r4 mr r29,r5 mr r28,r6 mr r27,r7 + /* Make sure we are running in 64 bits mode */ bl .enable_64b_mode /* put a relocation offset into r3 */ @@ -1333,7 +1344,7 @@ _GLOBAL(__start_initialization_pSeries) /* Relocate the TOC from a virt addr to a real addr */ sub r2,r2,r3 - /* Save parameters */ + /* Restore parameters */ mr r3,r31 mr r4,r30 mr r5,r29 @@ -1342,17 +1353,8 @@ _GLOBAL(__start_initialization_pSeries) /* Do all of the interaction with OF client interface */ bl .prom_init - mr r23,r3 /* Save phys address we are running at */ - - /* Setup some critical 970 SPRs before switching MMU off */ - bl .__970_cpu_preinit - - li r24,0 /* cpu # */ - - /* Switch off MMU if not already */ - LOADADDR(r4, .__after_prom_start - KERNELBASE) - add r4,r4,r23 - bl .mmu_off + /* We never return */ + trap /* * At this point, r3 contains the physical address we are running at, @@ -1378,7 +1380,7 @@ _STATIC(__after_prom_start) li r3,0 /* target addr */ - // XXX FIXME: Use phys returned by OF (r23) + // XXX FIXME: Use phys returned by OF (r30) sub r4,r27,r26 /* source addr */ /* current address of _start */ /* i.e. where we are running */ @@ -1403,8 +1405,9 @@ _STATIC(__after_prom_start) ld r5,0(r5) /* get the value of klimit */ sub r5,r5,r27 bl .copy_and_flush /* copy the rest */ - b .start_here_pSeries -#endif + b .start_here_multiplatform + +#endif /* CONFIG_PPC_MULTIPLATFORM */ /* * Copy routine used to copy the kernel to start at physical address 0 @@ -1609,6 +1612,7 @@ _STATIC(load_up_altivec) li r10,THREAD_VSCR stw r4,THREAD_USED_VR(r5) lvx vr0,r10,r5 + mtvscr vr0 REST_32VRS(0,r4,r5) #ifndef CONFIG_SMP /* Update last_task_used_math to 'current' */ @@ -1823,15 +1827,33 @@ _GLOBAL(enable_64b_mode) isync blr -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM /* * This is where the main kernel code starts. */ -_STATIC(start_here_pSeries) +_STATIC(start_here_multiplatform) /* get a new offset, now that the kernel has moved. */ bl .reloc_offset mr r26,r3 + /* Clear out the BSS. It may have been done in prom_init, + * already but that's irrelevant since prom_init will soon + * be detached from the kernel completely. Besides, we need + * to clear it now for kexec-style entry. + */ + LOADADDR(r11,__bss_stop) + LOADADDR(r8,__bss_start) + sub r11,r11,r8 /* bss size */ + addi r11,r11,7 /* round up to an even double word */ + rldicl. r11,r11,61,3 /* shift right by 3 */ + beq 4f + addi r8,r8,-8 + li r0,0 + mtctr r11 /* zero this many doublewords */ +3: stdu r0,8(r8) + bdnz 3b +4: + mfmsr r6 ori r6,r6,MSR_RI mtmsrd r6 /* RI on */ @@ -1904,8 +1926,11 @@ _STATIC(start_here_pSeries) mr r5,r26 bl .identify_cpu - /* Get the pointer to the segment table which is used by */ - /* stab_initialize */ + /* Setup a valid physical PACA pointer in SPRG3 for early_setup + * note that boot_cpuid can always be 0 nowadays since there is + * nowhere it can be initialized differently before we reach this + * code + */ LOADADDR(r27, boot_cpuid) sub r27,r27,r26 lwz r27,0(r27) @@ -1914,12 +1939,18 @@ _STATIC(start_here_pSeries) mulli r13,r27,PACA_SIZE /* Calculate vaddr of right paca */ add r13,r13,r24 /* for this processor. */ sub r13,r13,r26 /* convert to physical addr */ - mtspr SPRG3,r13 /* PPPBBB: Temp... -Peter */ - ld r3,PACASTABREAL(r13) - ori r4,r3,1 /* turn on valid bit */ + /* Do very early kernel initializations, including initial hash table, + * stab and slb setup before we turn on relocation. */ + + /* Restore parameters passed from prom_init/kexec */ + mr r3,r31 + bl .early_setup + /* set the ASR */ + ld r3,PACASTABREAL(r13) + ori r4,r3,1 /* turn on valid bit */ li r3,SYSTEMCFG_PHYS_ADDR /* r3 = ptr to systemcfg */ lwz r3,PLATFORM(r3) /* r3 = platform flags */ cmpldi r3,PLATFORM_PSERIES_LPAR @@ -1938,13 +1969,7 @@ _STATIC(start_here_pSeries) 98: /* !(rpa hypervisor) || !(star) */ mtasr r4 /* set the stab location */ 99: - mfspr r6,SPRG3 - ld r3,PACASTABREAL(r6) /* restore r3 for stab_initialize */ - - /* Initialize an initial memory mapping and turn on relocation. */ - bl .stab_initialize - bl .htab_initialize - + /* Set SDR1 (hash table pointer) */ li r3,SYSTEMCFG_PHYS_ADDR /* r3 = ptr to systemcfg */ lwz r3,PLATFORM(r3) /* r3 = platform flags */ /* Test if bit 0 is set (LPAR bit) */ @@ -1961,7 +1986,7 @@ _STATIC(start_here_pSeries) mtspr SRR1,r4 rfid b . /* prevent speculative execution */ -#endif /* CONFIG_PPC_PSERIES */ +#endif /* CONFIG_PPC_MULTIPLATFORM */ /* This is where all platforms converge execution */ _STATIC(start_here_common) @@ -2009,13 +2034,6 @@ _STATIC(start_here_common) ld r2,PACATOC(r13) std r1,PACAKSAVE(r13) - /* Restore the parms passed in from the bootloader. */ - mr r3,r31 - mr r4,r30 - mr r5,r29 - mr r6,r28 - mr r7,r27 - bl .setup_system /* Load up the kernel context */ diff --git a/arch/ppc64/kernel/iSeries_pci.c b/arch/ppc64/kernel/iSeries_pci.c index d3715a153..7aa56dfe2 100644 --- a/arch/ppc64/kernel/iSeries_pci.c +++ b/arch/ppc64/kernel/iSeries_pci.c @@ -55,6 +55,7 @@ extern int panic_timeout; extern unsigned long iSeries_Base_Io_Memory; extern struct iommu_table *tceTables[256]; +extern unsigned long io_page_mask; extern void iSeries_MmIoTest(void); @@ -196,6 +197,7 @@ void iSeries_pcibios_init(void) PPCDBG(PPCDBG_BUSWALK, "iSeries_pcibios_init Entry.\n"); iSeries_IoMmTable_Initialize(); find_and_init_phbs(); + io_page_mask = -1; /* pci_assign_all_busses = 0; SFRXXX*/ PPCDBG(PPCDBG_BUSWALK, "iSeries_pcibios_init Exit.\n"); } diff --git a/arch/ppc64/kernel/iSeries_setup.c b/arch/ppc64/kernel/iSeries_setup.c index e12b50f8c..9b59f5165 100644 --- a/arch/ppc64/kernel/iSeries_setup.c +++ b/arch/ppc64/kernel/iSeries_setup.c @@ -16,6 +16,8 @@ * 2 of the License, or (at your option) any later version. */ +#undef DEBUG + #include #include #include @@ -36,6 +38,7 @@ #include #include #include +#include #include #include "iSeries_setup.h" @@ -53,18 +56,21 @@ #include #include +extern void hvlog(char *fmt, ...); + +#ifdef DEBUG +#define DBG(fmt...) hvlog(fmt) +#else +#define DBG(fmt...) +#endif + /* Function Prototypes */ -extern void abort(void); extern void ppcdbg_initialize(void); -extern void iSeries_pcibios_init(void); extern void tce_init_iSeries(void); static void build_iSeries_Memory_Map(void); static void setup_iSeries_cache_sizes(void); static void iSeries_bolt_kernel(unsigned long saddr, unsigned long eaddr); -extern void build_valid_hpte(unsigned long vsid, unsigned long ea, unsigned long pa, - pte_t *ptep, unsigned hpteflags, unsigned bolted); -static void iSeries_setup_dprofile(void); extern void iSeries_setup_arch(void); extern void iSeries_pci_final_fixup(void); @@ -77,16 +83,8 @@ static unsigned long tbFreqHz; static unsigned long tbFreqMhz; static unsigned long tbFreqMhzHundreths; -unsigned long dprof_shift; -unsigned long dprof_len; -unsigned int *dprof_buffer; - int piranha_simulator; -int boot_cpuid; - -extern char _end[]; - extern int rd_size; /* Defined in drivers/block/rd.c */ extern unsigned long klimit; extern unsigned long embedded_sysmap_start; @@ -285,8 +283,28 @@ unsigned long iSeries_process_mainstore_vpd(struct MemoryBlock *mb_array, return mem_blocks; } -void __init iSeries_init_early(void) +static void __init iSeries_parse_cmdline(void) +{ + char *p, *q; + + /* copy the command line parameter from the primary VSP */ + HvCallEvent_dmaToSp(cmd_line, 2 * 64* 1024, 256, + HvLpDma_Direction_RemoteToLocal); + + p = cmd_line; + q = cmd_line + 255; + while(p < q) { + if (!*p || *p == '\n') + break; + ++p; + } + *p = 0; +} + +/*static*/ void __init iSeries_init_early(void) { + DBG(" -> iSeries_init_early()\n"); + ppcdbg_initialize(); #if defined(CONFIG_BLK_DEV_INITRD) @@ -310,25 +328,20 @@ void __init iSeries_init_early(void) iSeries_recal_tb = get_tb(); iSeries_recal_titan = HvCallXm_loadTod(); - ppc_md.setup_arch = iSeries_setup_arch; - ppc_md.get_cpuinfo = iSeries_get_cpuinfo; - ppc_md.init_IRQ = iSeries_init_IRQ; - ppc_md.get_irq = iSeries_get_irq; - ppc_md.init = NULL; - - ppc_md.pcibios_fixup = iSeries_pci_final_fixup; - - ppc_md.restart = iSeries_restart; - ppc_md.power_off = iSeries_power_off; - ppc_md.halt = iSeries_halt; - - ppc_md.get_boot_time = iSeries_get_boot_time; - ppc_md.set_rtc_time = iSeries_set_rtc_time; - ppc_md.get_rtc_time = iSeries_get_rtc_time; - ppc_md.calibrate_decr = iSeries_calibrate_decr; - ppc_md.progress = iSeries_progress; + /* + * Cache sizes must be initialized before hpte_init_iSeries is called + * as the later need them for flush_icache_range() + */ + setup_iSeries_cache_sizes(); + /* + * Initialize the hash table management pointers + */ hpte_init_iSeries(); + + /* + * Initialize the DMA/TCE management + */ tce_init_iSeries(); /* @@ -336,63 +349,36 @@ void __init iSeries_init_early(void) * AS/400 absolute addresses */ build_iSeries_Memory_Map(); - setup_iSeries_cache_sizes(); + /* Initialize machine-dependency vectors */ #ifdef CONFIG_SMP smp_init_iSeries(); #endif if (itLpNaca.xPirEnvironMode == 0) piranha_simulator = 1; -} - -void __init iSeries_init(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) -{ - char *p, *q; /* Associate Lp Event Queue 0 with processor 0 */ HvCallEvent_setLpEventQueueInterruptProc(0, 0); - /* copy the command line parameter from the primary VSP */ - HvCallEvent_dmaToSp(cmd_line, 2 * 64* 1024, 256, - HvLpDma_Direction_RemoteToLocal); - - p = cmd_line; - q = cmd_line + 255; - while( p < q ) { - if (!*p || *p == '\n') - break; - ++p; - } - *p = 0; - - if (strstr(cmd_line, "dprofile=")) { - for (q = cmd_line; (p = strstr(q, "dprofile=")) != 0; ) { - unsigned long size, new_klimit; - - q = p + 9; - if ((p > cmd_line) && (p[-1] != ' ')) - continue; - dprof_shift = simple_strtoul(q, &q, 0); - dprof_len = (unsigned long)_etext - - (unsigned long)_stext; - dprof_len >>= dprof_shift; - size = ((dprof_len * sizeof(unsigned int)) + - (PAGE_SIZE-1)) & PAGE_MASK; - dprof_buffer = (unsigned int *)((klimit + - (PAGE_SIZE-1)) & PAGE_MASK); - new_klimit = ((unsigned long)dprof_buffer) + size; - lmb_reserve(__pa(klimit), (new_klimit-klimit)); - klimit = new_klimit; - memset(dprof_buffer, 0, size); - } - } - - iSeries_setup_dprofile(); - mf_init(); mf_initialized = 1; mb(); + + /* If we were passed an initrd, set the ROOT_DEV properly if the values + * look sensible. If not, clear initrd reference. + */ +#ifdef CONFIG_BLK_DEV_INITRD + if (initrd_start >= KERNELBASE && initrd_end >= KERNELBASE && + initrd_end > initrd_start) + ROOT_DEV = Root_RAM0; + else + initrd_start = initrd_end = 0; +#endif /* CONFIG_BLK_DEV_INITRD */ + + + iSeries_parse_cmdline(); + + DBG(" <- iSeries_init_early()\n"); } /* @@ -816,7 +802,7 @@ void __init iSeries_progress(char * st, unsigned short code) } } -void iSeries_fixup_klimit(void) +static void __init iSeries_fixup_klimit(void) { /* * Change klimit to take into account any ram disk @@ -837,22 +823,6 @@ void iSeries_fixup_klimit(void) } } -static void iSeries_setup_dprofile(void) -{ - if (dprof_buffer) { - unsigned i; - - for (i = 0; i < NR_CPUS; ++i) { - paca[i].prof_shift = dprof_shift; - paca[i].prof_len = dprof_len - 1; - paca[i].prof_buffer = dprof_buffer; - paca[i].prof_stext = (unsigned *)_stext; - mb(); - paca[i].prof_enabled = 1; - } - } -} - int __init iSeries_src_init(void) { /* clear the progress line */ @@ -861,3 +831,27 @@ int __init iSeries_src_init(void) } late_initcall(iSeries_src_init); + +void __init iSeries_early_setup(void) +{ + iSeries_fixup_klimit(); + + ppc_md.setup_arch = iSeries_setup_arch; + ppc_md.get_cpuinfo = iSeries_get_cpuinfo; + ppc_md.init_IRQ = iSeries_init_IRQ; + ppc_md.get_irq = iSeries_get_irq; + ppc_md.init_early = iSeries_init_early, + + ppc_md.pcibios_fixup = iSeries_pci_final_fixup; + + ppc_md.restart = iSeries_restart; + ppc_md.power_off = iSeries_power_off; + ppc_md.halt = iSeries_halt; + + ppc_md.get_boot_time = iSeries_get_boot_time; + ppc_md.set_rtc_time = iSeries_set_rtc_time; + ppc_md.get_rtc_time = iSeries_get_rtc_time; + ppc_md.calibrate_decr = iSeries_calibrate_decr; + ppc_md.progress = iSeries_progress; +} + diff --git a/arch/ppc64/kernel/idle.c b/arch/ppc64/kernel/idle.c index bc7dbbd2d..62e509d96 100644 --- a/arch/ppc64/kernel/idle.c +++ b/arch/ppc64/kernel/idle.c @@ -16,40 +16,29 @@ */ #include -#include #include #include -#include #include -#include -#include -#include -#include -#include #include +#include +#include -#include -#include #include -#include #include #include -#include #include #include -#include #include #include +#include -extern long cede_processor(void); -extern long poll_pending(void); extern void power4_idle(void); -int (*idle_loop)(void); +static int (*idle_loop)(void); #ifdef CONFIG_PPC_ISERIES -unsigned long maxYieldTime = 0; -unsigned long minYieldTime = 0xffffffffffffffffUL; +static unsigned long maxYieldTime = 0; +static unsigned long minYieldTime = 0xffffffffffffffffUL; static void yield_shared_processor(void) { @@ -80,7 +69,7 @@ static void yield_shared_processor(void) process_iSeries_events(); } -int iSeries_idle(void) +static int iSeries_idle(void) { struct paca_struct *lpaca; long oldval; @@ -91,13 +80,10 @@ int iSeries_idle(void) CTRL = mfspr(CTRLF); CTRL &= ~RUNLATCH; mtspr(CTRLT, CTRL); -#if 0 - init_idle(); -#endif lpaca = get_paca(); - for (;;) { + while (1) { if (lpaca->lppaca.xSharedProc) { if (ItLpQueue_isLpIntPending(lpaca->lpqueue_ptr)) process_iSeries_events(); @@ -125,13 +111,16 @@ int iSeries_idle(void) schedule(); } + return 0; } -#endif -int default_idle(void) +#else + +static int default_idle(void) { long oldval; + unsigned int cpu = smp_processor_id(); while (1) { oldval = test_and_clear_thread_flag(TIF_NEED_RESCHED); @@ -139,9 +128,14 @@ int default_idle(void) if (!oldval) { set_thread_flag(TIF_POLLING_NRFLAG); - while (!need_resched()) { + while (!need_resched() && !cpu_is_offline(cpu)) { barrier(); + /* + * Go into low thread priority and possibly + * low power mode. + */ HMT_low(); + HMT_very_low(); } HMT_medium(); @@ -151,8 +145,7 @@ int default_idle(void) } schedule(); - if (cpu_is_offline(smp_processor_id()) && - system_state == SYSTEM_RUNNING) + if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING) cpu_die(); } @@ -169,12 +162,15 @@ int dedicated_idle(void) struct paca_struct *lpaca = get_paca(), *ppaca; unsigned long start_snooze; unsigned long *smt_snooze_delay = &__get_cpu_var(smt_snooze_delay); + unsigned int cpu = smp_processor_id(); - ppaca = &paca[smp_processor_id() ^ 1]; + ppaca = &paca[cpu ^ 1]; while (1) { - /* Indicate to the HV that we are idle. Now would be - * a good time to find other work to dispatch. */ + /* + * Indicate to the HV that we are idle. Now would be + * a good time to find other work to dispatch. + */ lpaca->lppaca.xIdle = 1; oldval = test_and_clear_thread_flag(TIF_NEED_RESCHED); @@ -182,42 +178,32 @@ int dedicated_idle(void) set_thread_flag(TIF_POLLING_NRFLAG); start_snooze = __get_tb() + *smt_snooze_delay * tb_ticks_per_usec; - while (!need_resched()) { - /* need_resched could be 1 or 0 at this - * point. If it is 0, set it to 0, so - * an IPI/Prod is sent. If it is 1, keep - * it that way & schedule work. + while (!need_resched() && !cpu_is_offline(cpu)) { + /* + * Go into low thread priority and possibly + * low power mode. */ + HMT_low(); + HMT_very_low(); + if (*smt_snooze_delay == 0 || - __get_tb() < start_snooze) { - HMT_low(); /* Low thread priority */ + __get_tb() < start_snooze) continue; - } - HMT_very_low(); /* Low power mode */ + HMT_medium(); - /* If the SMT mode is system controlled & the - * partner thread is doing work, switch into - * ST mode. - */ - if((naca->smt_state == SMT_DYNAMIC) && - (!(ppaca->lppaca.xIdle))) { - /* Indicate we are no longer polling for - * work, and then clear need_resched. If - * need_resched was 1, set it back to 1 - * and schedule work + if (!(ppaca->lppaca.xIdle)) { + local_irq_disable(); + + /* + * We are about to sleep the thread + * and so wont be polling any + * more. */ clear_thread_flag(TIF_POLLING_NRFLAG); - oldval = test_and_clear_thread_flag(TIF_NEED_RESCHED); - if(oldval == 1) { - set_need_resched(); - break; - } - /* DRENG: Go HMT_medium here ? */ - local_irq_disable(); - - /* SMT dynamic mode. Cede will result + /* + * SMT dynamic mode. Cede will result * in this thread going dormant, if the * partner thread is still doing work. * Thread wakes up if partner goes idle, @@ -225,15 +211,21 @@ int dedicated_idle(void) * occurs. Returning from the cede * enables external interrupts. */ - cede_processor(); + if (!need_resched()) + cede_processor(); + else + local_irq_enable(); } else { - /* Give the HV an opportunity at the + /* + * Give the HV an opportunity at the * processor, since we are not doing * any work. */ poll_pending(); } } + + clear_thread_flag(TIF_POLLING_NRFLAG); } else { set_need_resched(); } @@ -241,57 +233,60 @@ int dedicated_idle(void) HMT_medium(); lpaca->lppaca.xIdle = 0; schedule(); - if (cpu_is_offline(smp_processor_id()) && - system_state == SYSTEM_RUNNING) + if (cpu_is_offline(cpu) && system_state == SYSTEM_RUNNING) cpu_die(); } return 0; } -int shared_idle(void) +static int shared_idle(void) { struct paca_struct *lpaca = get_paca(); + unsigned int cpu = smp_processor_id(); while (1) { - if (cpu_is_offline(smp_processor_id()) && - system_state == SYSTEM_RUNNING) - cpu_die(); - - /* Indicate to the HV that we are idle. Now would be - * a good time to find other work to dispatch. */ + /* + * Indicate to the HV that we are idle. Now would be + * a good time to find other work to dispatch. + */ lpaca->lppaca.xIdle = 1; - if (!need_resched()) { - local_irq_disable(); - - /* + while (!need_resched() && !cpu_is_offline(cpu)) { + local_irq_disable(); + + /* * Yield the processor to the hypervisor. We return if * an external interrupt occurs (which are driven prior * to returning here) or if a prod occurs from another - * processor. When returning here, external interrupts + * processor. When returning here, external interrupts * are enabled. + * + * Check need_resched() again with interrupts disabled + * to avoid a race. */ - cede_processor(); + if (!need_resched()) + cede_processor(); + else + local_irq_enable(); } HMT_medium(); lpaca->lppaca.xIdle = 0; schedule(); + if (cpu_is_offline(smp_processor_id()) && + system_state == SYSTEM_RUNNING) + cpu_die(); } return 0; } -#endif -int cpu_idle(void) -{ - idle_loop(); - return 0; -} +#endif /* CONFIG_PPC_PSERIES */ -int native_idle(void) +static int native_idle(void) { while(1) { + /* check CPU type here */ if (!need_resched()) power4_idle(); if (need_resched()) @@ -300,33 +295,80 @@ int native_idle(void) return 0; } +#endif /* CONFIG_PPC_ISERIES */ + +int cpu_idle(void) +{ + idle_loop(); + return 0; +} + +int powersave_nap; + +#ifdef CONFIG_SYSCTL +/* + * Register the sysctl to set/clear powersave_nap. + */ +static ctl_table powersave_nap_ctl_table[]={ + { + .ctl_name = KERN_PPC_POWERSAVE_NAP, + .procname = "powersave-nap", + .data = &powersave_nap, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, + { 0, }, +}; +static ctl_table powersave_nap_sysctl_root[] = { + { 1, "kernel", NULL, 0, 0755, powersave_nap_ctl_table, }, + { 0,}, +}; + +static int __init +register_powersave_nap_sysctl(void) +{ + register_sysctl_table(powersave_nap_sysctl_root, 0); + + return 0; +} +__initcall(register_powersave_nap_sysctl); +#endif + int idle_setup(void) { + /* + * Move that junk to each platform specific file, eventually define + * a pSeries_idle for shared processor stuff + */ #ifdef CONFIG_PPC_ISERIES idle_loop = iSeries_idle; + return 1; #else + idle_loop = default_idle; +#endif +#ifdef CONFIG_PPC_PSERIES if (systemcfg->platform & PLATFORM_PSERIES) { if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR) { if (get_paca()->lppaca.xSharedProc) { - printk("idle = shared_idle\n"); + printk(KERN_INFO "Using shared processor idle loop\n"); idle_loop = shared_idle; } else { - printk("idle = dedicated_idle\n"); + printk(KERN_INFO "Using dedicated idle loop\n"); idle_loop = dedicated_idle; } } else { - printk("idle = default_idle\n"); + printk(KERN_INFO "Using default idle loop\n"); idle_loop = default_idle; } - } else if (systemcfg->platform == PLATFORM_POWERMAC) { - printk("idle = native_idle\n"); + } +#endif /* CONFIG_PPC_PSERIES */ +#ifdef CONFIG_PPC_PMAC + if (systemcfg->platform == PLATFORM_POWERMAC) { + printk(KERN_INFO "Using native/NAP idle loop\n"); idle_loop = native_idle; - } else { - printk("idle_setup: unknown platform, use default_idle\n"); - idle_loop = default_idle; } -#endif +#endif /* CONFIG_PPC_PMAC */ return 1; } - diff --git a/arch/ppc64/kernel/ioctl32.c b/arch/ppc64/kernel/ioctl32.c index 40ba4c17e..94d1a05b7 100644 --- a/arch/ppc64/kernel/ioctl32.c +++ b/arch/ppc64/kernel/ioctl32.c @@ -22,9 +22,7 @@ #define INCLUDES #include "compat_ioctl.c" -#include #include -#include #define CODE #include "compat_ioctl.c" diff --git a/arch/ppc64/kernel/iommu.c b/arch/ppc64/kernel/iommu.c index 5cac0d240..381fb934e 100644 --- a/arch/ppc64/kernel/iommu.c +++ b/arch/ppc64/kernel/iommu.c @@ -59,13 +59,18 @@ static int __init setup_iommu(char *str) __setup("iommu=", setup_iommu); -static unsigned long iommu_range_alloc(struct iommu_table *tbl, unsigned long npages, - unsigned long *handle) +static unsigned long iommu_range_alloc(struct iommu_table *tbl, + unsigned long npages, + unsigned long *handle, + unsigned int align_order) { unsigned long n, end, i, start; unsigned long limit; int largealloc = npages > 15; int pass = 0; + unsigned long align_mask; + + align_mask = 0xffffffffffffffffl >> (64 - align_order); /* This allocator was derived from x86_64's bit string search */ @@ -97,6 +102,10 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, unsigned long np again: n = find_next_zero_bit(tbl->it_map, limit, start); + + /* Align allocation */ + n = (n + align_mask) & ~align_mask; + end = n + npages; if (unlikely(end >= limit)) { @@ -141,14 +150,15 @@ static unsigned long iommu_range_alloc(struct iommu_table *tbl, unsigned long np } static dma_addr_t iommu_alloc(struct iommu_table *tbl, void *page, - unsigned int npages, enum dma_data_direction direction) + unsigned int npages, enum dma_data_direction direction, + unsigned int align_order) { unsigned long entry, flags; dma_addr_t ret = DMA_ERROR_CODE; spin_lock_irqsave(&(tbl->it_lock), flags); - entry = iommu_range_alloc(tbl, npages, NULL); + entry = iommu_range_alloc(tbl, npages, NULL, align_order); if (unlikely(entry == DMA_ERROR_CODE)) { spin_unlock_irqrestore(&(tbl->it_lock), flags); @@ -229,7 +239,7 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl, struct scatterlist *sglist, int nelems, enum dma_data_direction direction) { - dma_addr_t dma_next, dma_addr; + dma_addr_t dma_next = 0, dma_addr; unsigned long flags; struct scatterlist *s, *outs, *segstart; int outcount; @@ -264,7 +274,7 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl, vaddr = (unsigned long)page_address(s->page) + s->offset; npages = PAGE_ALIGN(vaddr + slen) - (vaddr & PAGE_MASK); npages >>= PAGE_SHIFT; - entry = iommu_range_alloc(tbl, npages, &handle); + entry = iommu_range_alloc(tbl, npages, &handle, 0); DBG(" - vaddr: %lx, size: %lx\n", vaddr, slen); @@ -445,7 +455,7 @@ dma_addr_t iommu_map_single(struct iommu_table *tbl, void *vaddr, npages >>= PAGE_SHIFT; if (tbl) { - dma_handle = iommu_alloc(tbl, vaddr, npages, direction); + dma_handle = iommu_alloc(tbl, vaddr, npages, direction, 0); if (dma_handle == DMA_ERROR_CODE) { if (printk_ratelimit()) { printk(KERN_INFO "iommu_alloc failed, " @@ -504,7 +514,7 @@ void *iommu_alloc_consistent(struct iommu_table *tbl, size_t size, memset(ret, 0, size); /* Set up tces to cover the allocated range */ - mapping = iommu_alloc(tbl, ret, npages, DMA_BIDIRECTIONAL); + mapping = iommu_alloc(tbl, ret, npages, DMA_BIDIRECTIONAL, order); if (mapping == DMA_ERROR_CODE) { free_pages((unsigned long)ret, order); ret = NULL; diff --git a/arch/ppc64/kernel/irq.c b/arch/ppc64/kernel/irq.c index 846168746..3ebe47340 100644 --- a/arch/ppc64/kernel/irq.c +++ b/arch/ppc64/kernel/irq.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include @@ -362,14 +363,16 @@ skip: int handle_irq_event(int irq, struct pt_regs *regs, struct irqaction *action) { int status = 0; - int retval = 0; + int ret, retval = 0; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -586,13 +589,13 @@ void do_IRQ(struct pt_regs *regs) irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW - /* Debugging check for stack overflow: is there less than 4KB free? */ + /* Debugging check for stack overflow: is there less than 2KB free? */ { long sp; sp = __get_SP() & (THREAD_SIZE-1); - if (unlikely(sp < (sizeof(struct thread_info) + 4096))) { + if (unlikely(sp < (sizeof(struct thread_info) + 2048))) { printk("do_IRQ: stack overflow: %ld\n", sp - sizeof(struct thread_info)); dump_stack(); @@ -629,13 +632,13 @@ void do_IRQ(struct pt_regs *regs) irq_enter(); #ifdef CONFIG_DEBUG_STACKOVERFLOW - /* Debugging check for stack overflow: is there less than 4KB free? */ + /* Debugging check for stack overflow: is there less than 2KB free? */ { long sp; sp = __get_SP() & (THREAD_SIZE-1); - if (unlikely(sp < (sizeof(struct thread_info) + 4096))) { + if (unlikely(sp < (sizeof(struct thread_info) + 2048))) { printk("do_IRQ: stack overflow: %ld\n", sp - sizeof(struct thread_info)); dump_stack(); @@ -674,6 +677,8 @@ unsigned int probe_irq_mask(unsigned long irqs) return 0; } +EXPORT_SYMBOL(probe_irq_mask); + void __init init_IRQ(void) { static int once = 0; @@ -757,44 +762,6 @@ out: return ret; } -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, const char __user *buffer, - unsigned long count, void *data) -{ - cpumask_t *mask = (cpumask_t *)data; - unsigned long full_count = count, err; - cpumask_t new_value; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - -#ifdef CONFIG_PPC_ISERIES - { - unsigned i; - for (i=0; inlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. @@ -977,7 +933,7 @@ void irq_ctx_init(void) struct thread_info *tp; int i; - for (i = 0; i < NR_CPUS; i++) { + for_each_cpu(i) { memset((void *)softirq_ctx[i], 0, THREAD_SIZE); tp = softirq_ctx[i]; tp->cpu = i; diff --git a/arch/ppc64/kernel/lparcfg.c b/arch/ppc64/kernel/lparcfg.c index d729105e5..4918af148 100644 --- a/arch/ppc64/kernel/lparcfg.c +++ b/arch/ppc64/kernel/lparcfg.c @@ -34,36 +34,64 @@ #include #include -#define MODULE_VERS "1.3" +#define MODULE_VERS "1.5" #define MODULE_NAME "lparcfg" /* #define LPARCFG_DEBUG */ /* find a better place for this function... */ -void log_plpar_hcall_return(unsigned long rc,char * tag) +void log_plpar_hcall_return(unsigned long rc, char *tag) { - if (rc ==0 ) /* success, return */ + if (rc == 0) /* success, return */ return; /* check for null tag ? */ if (rc == H_Hardware) - printk(KERN_INFO "plpar-hcall (%s) failed with hardware fault\n",tag); + printk(KERN_INFO + "plpar-hcall (%s) failed with hardware fault\n", tag); else if (rc == H_Function) - printk(KERN_INFO "plpar-hcall (%s) failed; function not allowed\n",tag); + printk(KERN_INFO + "plpar-hcall (%s) failed; function not allowed\n", tag); else if (rc == H_Authority) - printk(KERN_INFO "plpar-hcall (%s) failed; not authorized to this function\n",tag); + printk(KERN_INFO + "plpar-hcall (%s) failed; not authorized to this function\n", + tag); else if (rc == H_Parameter) - printk(KERN_INFO "plpar-hcall (%s) failed; Bad parameter(s)\n",tag); + printk(KERN_INFO "plpar-hcall (%s) failed; Bad parameter(s)\n", + tag); else - printk(KERN_INFO "plpar-hcall (%s) failed with unexpected rc(0x%lx)\n",tag,rc); + printk(KERN_INFO + "plpar-hcall (%s) failed with unexpected rc(0x%lx)\n", + tag, rc); } - static struct proc_dir_entry *proc_ppc64_lparcfg; #define LPARCFG_BUFF_SIZE 4096 #ifdef CONFIG_PPC_ISERIES +/* + * For iSeries legacy systems, the RPA purr function is available from the + * xEmulatedTimeBase field in the paca. + */ +static unsigned long get_purr(void) +{ + unsigned long sum_purr = 0; + int cpu; + struct paca_struct *lpaca; + + for_each_cpu(cpu) { + lpaca = paca + cpu; + sum_purr += lpaca->lppaca.xEmulatedTimeBase; + +#ifdef PURR_DEBUG + printk(KERN_INFO "get_purr for cpu (%d) has value (%ld) \n", + cpu, lpaca->lppaca.xEmulatedTimeBase); +#endif + } + return sum_purr; +} + #define lparcfg_write NULL /* @@ -75,62 +103,67 @@ static int lparcfg_data(struct seq_file *m, void *v) int shared, entitled_capacity, max_entitled_capacity; int processors, max_processors; struct paca_struct *lpaca = get_paca(); + unsigned long purr = get_purr(); + + seq_printf(m, "%s %s\n", MODULE_NAME, MODULE_VERS); shared = (int)(lpaca->lppaca_ptr->xSharedProc); seq_printf(m, "serial_number=%c%c%c%c%c%c%c\n", - e2a(xItExtVpdPanel.mfgID[2]), - e2a(xItExtVpdPanel.mfgID[3]), - e2a(xItExtVpdPanel.systemSerial[1]), - e2a(xItExtVpdPanel.systemSerial[2]), - e2a(xItExtVpdPanel.systemSerial[3]), - e2a(xItExtVpdPanel.systemSerial[4]), - e2a(xItExtVpdPanel.systemSerial[5])); + e2a(xItExtVpdPanel.mfgID[2]), + e2a(xItExtVpdPanel.mfgID[3]), + e2a(xItExtVpdPanel.systemSerial[1]), + e2a(xItExtVpdPanel.systemSerial[2]), + e2a(xItExtVpdPanel.systemSerial[3]), + e2a(xItExtVpdPanel.systemSerial[4]), + e2a(xItExtVpdPanel.systemSerial[5])); seq_printf(m, "system_type=%c%c%c%c\n", - e2a(xItExtVpdPanel.machineType[0]), - e2a(xItExtVpdPanel.machineType[1]), - e2a(xItExtVpdPanel.machineType[2]), - e2a(xItExtVpdPanel.machineType[3])); + e2a(xItExtVpdPanel.machineType[0]), + e2a(xItExtVpdPanel.machineType[1]), + e2a(xItExtVpdPanel.machineType[2]), + e2a(xItExtVpdPanel.machineType[3])); - lp_index = HvLpConfig_getLpIndex(); + lp_index = HvLpConfig_getLpIndex(); seq_printf(m, "partition_id=%d\n", (int)lp_index); seq_printf(m, "system_active_processors=%d\n", - (int)HvLpConfig_getSystemPhysicalProcessors()); + (int)HvLpConfig_getSystemPhysicalProcessors()); seq_printf(m, "system_potential_processors=%d\n", - (int)HvLpConfig_getSystemPhysicalProcessors()); + (int)HvLpConfig_getSystemPhysicalProcessors()); - processors = (int)HvLpConfig_getPhysicalProcessors(); + processors = (int)HvLpConfig_getPhysicalProcessors(); seq_printf(m, "partition_active_processors=%d\n", processors); - max_processors = (int)HvLpConfig_getMaxPhysicalProcessors(); + max_processors = (int)HvLpConfig_getMaxPhysicalProcessors(); seq_printf(m, "partition_potential_processors=%d\n", max_processors); - if(shared) { - entitled_capacity = HvLpConfig_getSharedProcUnits(); - max_entitled_capacity = HvLpConfig_getMaxSharedProcUnits(); + if (shared) { + entitled_capacity = HvLpConfig_getSharedProcUnits(); + max_entitled_capacity = HvLpConfig_getMaxSharedProcUnits(); } else { - entitled_capacity = processors * 100; - max_entitled_capacity = max_processors * 100; + entitled_capacity = processors * 100; + max_entitled_capacity = max_processors * 100; } seq_printf(m, "partition_entitled_capacity=%d\n", entitled_capacity); seq_printf(m, "partition_max_entitled_capacity=%d\n", - max_entitled_capacity); + max_entitled_capacity); - if(shared) { - pool_id = HvLpConfig_getSharedPoolIndex(); + if (shared) { + pool_id = HvLpConfig_getSharedPoolIndex(); seq_printf(m, "pool=%d\n", (int)pool_id); seq_printf(m, "pool_capacity=%d\n", - (int)(HvLpConfig_getNumProcsInSharedPool(pool_id)*100)); + (int)(HvLpConfig_getNumProcsInSharedPool(pool_id) * + 100)); + seq_printf(m, "purr=%ld\n", purr); } seq_printf(m, "shared_processor_mode=%d\n", shared); return 0; } -#endif /* CONFIG_PPC_ISERIES */ +#endif /* CONFIG_PPC_ISERIES */ #ifdef CONFIG_PPC_PSERIES /* @@ -158,11 +191,13 @@ static int lparcfg_data(struct seq_file *m, void *v) * XXXX - Processors active on platform. */ static unsigned int h_get_ppp(unsigned long *entitled, - unsigned long *unallocated, unsigned long *aggregation, - unsigned long *resource) + unsigned long *unallocated, + unsigned long *aggregation, + unsigned long *resource) { unsigned long rc; - rc = plpar_hcall_4out(H_GET_PPP,0,0,0,0,entitled,unallocated,aggregation,resource); + rc = plpar_hcall_4out(H_GET_PPP, 0, 0, 0, 0, entitled, unallocated, + aggregation, resource); log_plpar_hcall_return(rc, "H_GET_PPP"); @@ -185,7 +220,7 @@ static unsigned long get_purr(void); */ static unsigned long get_purr() { - unsigned long sum_purr=0; + unsigned long sum_purr = 0; return sum_purr; } @@ -202,7 +237,7 @@ static void parse_system_parameter_string(struct seq_file *m) { int call_status; - char * local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); + char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); if (!local_buffer) { printk(KERN_ERR "%s %s kmalloc failure at line %d \n", __FILE__, __FUNCTION__, __LINE__); @@ -219,22 +254,23 @@ static void parse_system_parameter_string(struct seq_file *m) spin_unlock(&rtas_data_buf_lock); if (call_status != 0) { - printk(KERN_INFO "%s %s Error calling get-system-parameter (0x%x)\n", + printk(KERN_INFO + "%s %s Error calling get-system-parameter (0x%x)\n", __FILE__, __FUNCTION__, call_status); } else { int splpar_strlen; int idx, w_idx; - char * workbuffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); + char *workbuffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL); if (!workbuffer) { - printk(KERN_ERR "%s %s kmalloc failure at line %d \n",__FILE__,__FUNCTION__,__LINE__); + printk(KERN_ERR "%s %s kmalloc failure at line %d \n", + __FILE__, __FUNCTION__, __LINE__); return; } - #ifdef LPARCFG_DEBUG printk(KERN_INFO "success calling get-system-parameter \n"); #endif splpar_strlen = local_buffer[0] * 16 + local_buffer[1]; - local_buffer += 2; /* step over strlen value */ + local_buffer += 2; /* step over strlen value */ memset(workbuffer, 0, SPLPAR_MAXLENGTH); w_idx = 0; @@ -253,13 +289,15 @@ static void parse_system_parameter_string(struct seq_file *m) w_idx = 0; } else if (local_buffer[idx] == '=') { /* code here to replace workbuffer contents - with different keyword strings */ - if (0 == strcmp(workbuffer,"MaxEntCap")) { - strcpy(workbuffer, "partition_max_entitled_capacity"); + with different keyword strings */ + if (0 == strcmp(workbuffer, "MaxEntCap")) { + strcpy(workbuffer, + "partition_max_entitled_capacity"); w_idx = strlen(workbuffer); } - if (0 == strcmp(workbuffer,"MaxPlatProcs")) { - strcpy(workbuffer, "system_potential_processors"); + if (0 == strcmp(workbuffer, "MaxPlatProcs")) { + strcpy(workbuffer, + "system_potential_processors"); w_idx = strlen(workbuffer); } } @@ -283,7 +321,7 @@ static int lparcfg_count_active_processors(void) while ((cpus_dn = of_find_node_by_type(cpus_dn, "cpu"))) { #ifdef LPARCFG_DEBUG - printk(KERN_ERR "cpus_dn %p \n",cpus_dn); + printk(KERN_ERR "cpus_dn %p \n", cpus_dn); #endif count++; } @@ -292,7 +330,8 @@ static int lparcfg_count_active_processors(void) static int lparcfg_data(struct seq_file *m, void *v) { - int system_active_processors; + int partition_potential_processors; + int partition_active_processors; struct device_node *rootdn; const char *model = ""; const char *system_id = ""; @@ -305,12 +344,11 @@ static int lparcfg_data(struct seq_file *m, void *v) model = get_property(rootdn, "model", NULL); system_id = get_property(rootdn, "system-id", NULL); lp_index_ptr = (unsigned int *) - get_property(rootdn, "ibm,partition-no", NULL); + get_property(rootdn, "ibm,partition-no", NULL); if (lp_index_ptr) lp_index = *lp_index_ptr; } - seq_printf(m, "%s %s \n", MODULE_NAME, MODULE_VERS); seq_printf(m, "serial_number=%s\n", system_id); @@ -323,11 +361,13 @@ static int lparcfg_data(struct seq_file *m, void *v) lrdrp = (int *)get_property(rtas_node, "ibm,lrdr-capacity", NULL); if (lrdrp == NULL) { - system_active_processors = systemcfg->processorCount; + partition_potential_processors = systemcfg->processorCount; } else { - system_active_processors = *(lrdrp + 4); + partition_potential_processors = *(lrdrp + 4); } + partition_active_processors = lparcfg_count_active_processors(); + if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR) { unsigned long h_entitled, h_unallocated; unsigned long h_aggregation, h_resource; @@ -342,71 +382,69 @@ static int lparcfg_data(struct seq_file *m, void *v) seq_printf(m, "R6=0x%lx\n", h_aggregation); seq_printf(m, "R7=0x%lx\n", h_resource); - h_pic(&pool_idle_time, &pool_procs); - purr = get_purr(); /* this call handles the ibm,get-system-parameter contents */ parse_system_parameter_string(m); - seq_printf(m, "partition_entitled_capacity=%ld\n", - h_entitled); - - seq_printf(m, "pool=%ld\n", - (h_aggregation >> 0*8) & 0xffff); + seq_printf(m, "partition_entitled_capacity=%ld\n", h_entitled); - seq_printf(m, "group=%ld\n", - (h_aggregation >> 2*8) & 0xffff); + seq_printf(m, "group=%ld\n", (h_aggregation >> 2 * 8) & 0xffff); seq_printf(m, "system_active_processors=%ld\n", - (h_resource >> 0*8) & 0xffff); + (h_resource >> 0 * 8) & 0xffff); + + /* pool related entries are apropriate for shared configs */ + if (paca[0].lppaca.xSharedProc) { - seq_printf(m, "pool_capacity=%ld\n", - (h_resource >> 2*8) & 0xffff); + h_pic(&pool_idle_time, &pool_procs); + + seq_printf(m, "pool=%ld\n", + (h_aggregation >> 0 * 8) & 0xffff); + + /* report pool_capacity in percentage */ + seq_printf(m, "pool_capacity=%ld\n", + ((h_resource >> 2 * 8) & 0xffff) * 100); + + seq_printf(m, "pool_idle_time=%ld\n", pool_idle_time); + + seq_printf(m, "pool_num_procs=%ld\n", pool_procs); + } seq_printf(m, "unallocated_capacity_weight=%ld\n", - (h_resource >> 4*8) & 0xFF); + (h_resource >> 4 * 8) & 0xFF); seq_printf(m, "capacity_weight=%ld\n", - (h_resource >> 5*8) & 0xFF); - - seq_printf(m, "capped=%ld\n", - (h_resource >> 6*8) & 0x01); + (h_resource >> 5 * 8) & 0xFF); - seq_printf(m, "unallocated_capacity=%ld\n", - h_unallocated); + seq_printf(m, "capped=%ld\n", (h_resource >> 6 * 8) & 0x01); - seq_printf(m, "pool_idle_time=%ld\n", - pool_idle_time); + seq_printf(m, "unallocated_capacity=%ld\n", h_unallocated); - seq_printf(m, "pool_num_procs=%ld\n", - pool_procs); + seq_printf(m, "purr=%ld\n", purr); - seq_printf(m, "purr=%ld\n", - purr); + } else { /* non SPLPAR case */ - } else /* non SPLPAR case */ { seq_printf(m, "system_active_processors=%d\n", - system_active_processors); + partition_potential_processors); seq_printf(m, "system_potential_processors=%d\n", - system_active_processors); + partition_potential_processors); seq_printf(m, "partition_max_entitled_capacity=%d\n", - 100*system_active_processors); + partition_potential_processors * 100); seq_printf(m, "partition_entitled_capacity=%d\n", - system_active_processors*100); + partition_active_processors * 100); } seq_printf(m, "partition_active_processors=%d\n", - (int) lparcfg_count_active_processors()); + partition_active_processors); seq_printf(m, "partition_potential_processors=%d\n", - system_active_processors); + partition_potential_processors); - seq_printf(m, "shared_processor_mode=%d\n", - paca[0].lppaca.xSharedProc); + seq_printf(m, "shared_processor_mode=%d\n", paca[0].lppaca.xSharedProc); return 0; } @@ -421,14 +459,15 @@ static int lparcfg_data(struct seq_file *m, void *v) * This function should be invoked only on systems with * FW_FEATURE_SPLPAR. */ -static ssize_t lparcfg_write(struct file *file, const char __user *buf, size_t count, loff_t *off) +static ssize_t lparcfg_write(struct file *file, const char __user * buf, + size_t count, loff_t * off) { char *kbuf; char *tmp; u64 new_entitled, *new_entitled_ptr = &new_entitled; u8 new_weight, *new_weight_ptr = &new_weight; - unsigned long current_entitled; /* parameters for h_get_ppp */ + unsigned long current_entitled; /* parameters for h_get_ppp */ unsigned long dummy; unsigned long resource; u8 current_weight; @@ -453,13 +492,13 @@ static ssize_t lparcfg_write(struct file *file, const char __user *buf, size_t c if (!strcmp(kbuf, "partition_entitled_capacity")) { char *endp; - *new_entitled_ptr = (u64)simple_strtoul(tmp, &endp, 10); + *new_entitled_ptr = (u64) simple_strtoul(tmp, &endp, 10); if (endp == tmp) goto out; new_weight_ptr = ¤t_weight; } else if (!strcmp(kbuf, "capacity_weight")) { char *endp; - *new_weight_ptr = (u8)simple_strtoul(tmp, &endp, 10); + *new_weight_ptr = (u8) simple_strtoul(tmp, &endp, 10); if (endp == tmp) goto out; new_entitled_ptr = ¤t_entitled; @@ -473,7 +512,7 @@ static ssize_t lparcfg_write(struct file *file, const char __user *buf, size_t c goto out; } - current_weight = (resource>>5*8)&0xFF; + current_weight = (resource >> 5 * 8) & 0xFF; pr_debug("%s: current_entitled = %lu, current_weight = %lu\n", __FUNCTION__, current_entitled, current_weight); @@ -498,23 +537,23 @@ static ssize_t lparcfg_write(struct file *file, const char __user *buf, size_t c retval = -EIO; } -out: + out: kfree(kbuf); return retval; } -#endif /* CONFIG_PPC_PSERIES */ +#endif /* CONFIG_PPC_PSERIES */ -static int lparcfg_open(struct inode * inode, struct file * file) +static int lparcfg_open(struct inode *inode, struct file *file) { - return single_open(file,lparcfg_data,NULL); + return single_open(file, lparcfg_data, NULL); } struct file_operations lparcfg_fops = { - owner: THIS_MODULE, - read: seq_read, - open: lparcfg_open, - release: single_release, + owner:THIS_MODULE, + read:seq_read, + open:lparcfg_open, + release:single_release, }; int __init lparcfg_init(void) @@ -533,7 +572,8 @@ int __init lparcfg_init(void) ent->proc_fops = &lparcfg_fops; ent->data = kmalloc(LPARCFG_BUFF_SIZE, GFP_KERNEL); if (!ent->data) { - printk(KERN_ERR "Failed to allocate buffer for lparcfg\n"); + printk(KERN_ERR + "Failed to allocate buffer for lparcfg\n"); remove_proc_entry("lparcfg", ent->parent); return -ENOMEM; } @@ -550,7 +590,7 @@ void __exit lparcfg_cleanup(void) { if (proc_ppc64_lparcfg) { if (proc_ppc64_lparcfg->data) { - kfree(proc_ppc64_lparcfg->data); + kfree(proc_ppc64_lparcfg->data); } remove_proc_entry("lparcfg", proc_ppc64_lparcfg->parent); } diff --git a/arch/ppc64/kernel/mf_proc.c b/arch/ppc64/kernel/mf_proc.c index 3ac36a5b9..f98f35569 100644 --- a/arch/ppc64/kernel/mf_proc.c +++ b/arch/ppc64/kernel/mf_proc.c @@ -167,22 +167,29 @@ static int proc_mf_change_cmdline(struct file *file, const char *buffer, return count; } -static int proc_mf_change_vmlinux(struct file *file, const char *buffer, - unsigned long count, void *data) +static ssize_t proc_mf_change_vmlinux(struct file *file, + const char __user *buf, + size_t count, loff_t *ppos) { + struct inode * inode = file->f_dentry->d_inode; + struct proc_dir_entry * dp = PDE(inode); int rc; if (!capable(CAP_SYS_ADMIN)) return -EACCES; - rc = mf_setVmlinuxChunk(buffer, count, file->f_pos, (u64)data); + rc = mf_setVmlinuxChunk(buf, count, *ppos, (u64)dp->data); if (rc < 0) return rc; - file->f_pos += count; + *ppos += count; return count; } +static struct file_operations proc_vmlinux_operations = { + .write = proc_mf_change_vmlinux, +}; + static int __init mf_proc_init(void) { struct proc_dir_entry *mf_proc_root; @@ -218,20 +225,7 @@ static int __init mf_proc_init(void) return 1; ent->nlink = 1; ent->data = (void *)(long)i; -#if 0 - if (i == 3) { - /* - * if we had a 'D' vmlinux entry, it would only - * be readable. - */ - ent->read_proc = proc_mf_dump_vmlinux; - ent->write_proc = NULL; - } else -#endif - { - ent->write_proc = proc_mf_change_vmlinux; - ent->read_proc = NULL; - } + ent->proc_fops = &proc_vmlinux_operations; } ent = create_proc_entry("side", S_IFREG|S_IRUSR|S_IWUSR, mf_proc_root); diff --git a/arch/ppc64/kernel/misc.S b/arch/ppc64/kernel/misc.S index 911126859..cbd3fe6eb 100644 --- a/arch/ppc64/kernel/misc.S +++ b/arch/ppc64/kernel/misc.S @@ -127,6 +127,47 @@ _GLOBAL(call_handle_irq_event) blr #endif /* CONFIG_IRQSTACKS */ + /* + * To be called by C code which needs to do some operations with MMU + * disabled. Note that interrupts have to be disabled by the caller + * prior to calling us. The code called _MUST_ be in the RMO of course + * and part of the linear mapping as we don't attempt to translate the + * stack pointer at all. The function is called with the stack switched + * to this CPU emergency stack + * + * prototype is void *call_with_mmu_off(void *func, void *data); + * + * the called function is expected to be of the form + * + * void *called(void *data); + */ +_GLOBAL(call_with_mmu_off) + mflr r0 /* get link, save it on stackframe */ + std r0,16(r1) + mr r1,r5 /* save old stack ptr */ + ld r1,PACAEMERGSP(r13) /* get emerg. stack */ + subi r1,r1,STACK_FRAME_OVERHEAD + std r0,16(r1) /* save link on emerg. stack */ + std r5,0(r1) /* save old stack ptr in backchain */ + ld r3,0(r3) /* get to real function ptr (assume same TOC) */ + bl 2f /* we need LR to return, continue at label 2 */ + + ld r0,16(r1) /* we return here from the call, get LR and */ + ld r1,0(r1) /* .. old stack ptr */ + mtspr SPRN_SRR0,r0 /* and get back to virtual mode with these */ + mfmsr r4 + ori r4,r4,MSR_IR|MSR_DR + mtspr SPRN_SRR1,r4 + rfid + +2: mtspr SPRN_SRR0,r3 /* coming from above, enter real mode */ + mr r3,r4 /* get parameter */ + mfmsr r0 + ori r0,r0,MSR_IR|MSR_DR + xori r0,r0,MSR_IR|MSR_DR + mtspr SPRN_SRR1,r0 + rfid + /* * Flush instruction cache. */ @@ -454,23 +495,6 @@ _GLOBAL(_outsl_ns) sync blr -_GLOBAL(abs) - cmpi 0,r3,0 - bge 10f - neg r3,r3 -10: blr - -_GLOBAL(_get_PVR) - mfspr r3,PVR - blr - -_GLOBAL(_get_PIR) - mfspr r3,PIR - blr - -_GLOBAL(_get_HID0) - mfspr r3,HID0 - blr _GLOBAL(cvt_fd) lfd 0,0(r5) /* load up fpscr value */ @@ -567,6 +591,69 @@ _GLOBAL(do_cpu_ftr_fixups) isync b 1b +#ifdef CONFIG_PPC_PMAC +/* + * Do an IO access in real mode + */ +_GLOBAL(real_readb) + mfmsr r7 + ori r0,r7,MSR_DR + xori r0,r0,MSR_DR + sync + mtmsrd r0 + sync + isync + mfspr r6,SPRN_HID4 + rldicl r5,r6,32,0 + ori r5,r5,0x100 + rldicl r5,r5,32,0 + sync + mtspr SPRN_HID4,r5 + isync + slbia + isync + lbz r3,0(r3) + sync + mtspr SPRN_HID4,r6 + isync + slbia + isync + mtmsrd r7 + sync + isync + blr + + /* + * Do an IO access in real mode + */ +_GLOBAL(real_writeb) + mfmsr r7 + ori r0,r7,MSR_DR + xori r0,r0,MSR_DR + sync + mtmsrd r0 + sync + isync + mfspr r6,SPRN_HID4 + rldicl r5,r6,32,0 + ori r5,r5,0x100 + rldicl r5,r5,32,0 + sync + mtspr SPRN_HID4,r5 + isync + slbia + isync + stb r3,0(r4) + sync + mtspr SPRN_HID4,r6 + isync + slbia + isync + mtmsrd r7 + sync + isync + blr +#endif /* CONFIG_PPC_PMAC */ /* * Create a kernel thread @@ -583,7 +670,7 @@ _GLOBAL(kernel_thread) li r4,0 /* new sp (unused) */ li r0,__NR_clone sc - cmpi 0,r3,0 /* parent or child? */ + cmpdi 0,r3,0 /* parent or child? */ bne 1f /* return if parent */ li r0,0 stdu r0,-STACK_FRAME_OVERHEAD(r1) @@ -600,7 +687,7 @@ _GLOBAL(kernel_thread) ld r30,-16(r1) blr -#ifdef CONFIG_PPC_ISERIES /* hack hack hack */ +#ifndef CONFIG_PPC_PSERIES /* hack hack hack */ #define ppc_rtas sys_ni_syscall #endif @@ -874,9 +961,9 @@ _GLOBAL(sys_call_table32) .llong .sys_ni_syscall /* 256 reserved for sys_debug_setcontext */ .llong .sys_vserver .llong .sys_ni_syscall /* 258 reserved for new sys_remap_file_pages */ - .llong .sys_ni_syscall /* 259 reserved for new sys_mbind */ - .llong .sys_ni_syscall /* 260 reserved for new sys_get_mempolicy */ - .llong .sys_ni_syscall /* 261 reserved for new sys_set_mempolicy */ + .llong .compat_mbind + .llong .compat_get_mempolicy /* 260 */ + .llong .compat_set_mempolicy .llong .compat_sys_mq_open .llong .sys_mq_unlink .llong .compat_sys_mq_timedsend @@ -1154,9 +1241,9 @@ _GLOBAL(sys_call_table) .llong .sys_ni_syscall /* 256 reserved for sys_debug_setcontext */ .llong .sys_ni_syscall /* 257 reserved for vserver */ .llong .sys_ni_syscall /* 258 reserved for new sys_remap_file_pages */ - .llong .sys_ni_syscall /* 259 reserved for new sys_mbind */ - .llong .sys_ni_syscall /* 260 reserved for new sys_get_mempolicy */ - .llong .sys_ni_syscall /* 261 reserved for new sys_set_mempolicy */ + .llong .sys_mbind + .llong .sys_get_mempolicy /* 260 */ + .llong .sys_set_mempolicy .llong .sys_mq_open .llong .sys_mq_unlink .llong .sys_mq_timedsend diff --git a/arch/ppc64/kernel/open_pic.c b/arch/ppc64/kernel/open_pic.c index f0afedd20..656a493bf 100644 --- a/arch/ppc64/kernel/open_pic.c +++ b/arch/ppc64/kernel/open_pic.c @@ -362,7 +362,6 @@ void __init openpic_init(int main_pic, int offset, unsigned char* chrp_ack, find_ISUs(); /* Initialize timer interrupts */ - ppc64_boot_msg(0x21, "OpenPic Timer"); for (i = 0; i < OPENPIC_NUM_TIMERS; i++) { /* Disabled, Priority 0 */ openpic_inittimer(i, 0, openpic_vec_timer+i); @@ -372,7 +371,6 @@ void __init openpic_init(int main_pic, int offset, unsigned char* chrp_ack, #ifdef CONFIG_SMP /* Initialize IPI interrupts */ - ppc64_boot_msg(0x22, "OpenPic IPI"); openpic_test_broken_IPI(); for (i = 0; i < OPENPIC_NUM_IPI; i++) { /* Disabled, Priority 10..13 */ @@ -384,8 +382,6 @@ void __init openpic_init(int main_pic, int offset, unsigned char* chrp_ack, #endif /* Initialize external interrupts */ - ppc64_boot_msg(0x23, "OpenPic Ext"); - openpic_set_priority(0xf); /* SIOint (8259 cascade) is special */ @@ -420,7 +416,6 @@ void __init openpic_init(int main_pic, int offset, unsigned char* chrp_ack, irq_desc[i].handler = &open_pic; /* Initialize the spurious interrupt */ - ppc64_boot_msg(0x24, "OpenPic Spurious"); openpic_set_spurious(openpic_vec_spurious); openpic_set_priority(0); diff --git a/arch/ppc64/kernel/pSeries_lpar.c b/arch/ppc64/kernel/pSeries_lpar.c index 68eeb7a81..678ef2f75 100644 --- a/arch/ppc64/kernel/pSeries_lpar.c +++ b/arch/ppc64/kernel/pSeries_lpar.c @@ -59,6 +59,74 @@ extern void pSeries_find_serial_port(void); int vtermno; /* virtual terminal# for udbg */ +#define __ALIGNED__ __attribute__((__aligned__(sizeof(long)))) +static void udbg_hvsi_putc(unsigned char c) +{ + /* packet's seqno isn't used anyways */ + uint8_t packet[] __ALIGNED__ = { 0xff, 5, 0, 0, c }; + int rc; + + if (c == '\n') + udbg_hvsi_putc('\r'); + + do { + rc = plpar_put_term_char(vtermno, sizeof(packet), packet); + } while (rc == H_Busy); +} + +static long hvsi_udbg_buf_len; +static uint8_t hvsi_udbg_buf[256]; + +static int udbg_hvsi_getc_poll(void) +{ + unsigned char ch; + int rc, i; + + if (hvsi_udbg_buf_len == 0) { + rc = plpar_get_term_char(vtermno, &hvsi_udbg_buf_len, hvsi_udbg_buf); + if (rc != H_Success || hvsi_udbg_buf[0] != 0xff) { + /* bad read or non-data packet */ + hvsi_udbg_buf_len = 0; + } else { + /* remove the packet header */ + for (i = 4; i < hvsi_udbg_buf_len; i++) + hvsi_udbg_buf[i-4] = hvsi_udbg_buf[i]; + hvsi_udbg_buf_len -= 4; + } + } + + if (hvsi_udbg_buf_len <= 0 || hvsi_udbg_buf_len > 256) { + /* no data ready */ + hvsi_udbg_buf_len = 0; + return -1; + } + + ch = hvsi_udbg_buf[0]; + /* shift remaining data down */ + for (i = 1; i < hvsi_udbg_buf_len; i++) { + hvsi_udbg_buf[i-1] = hvsi_udbg_buf[i]; + } + hvsi_udbg_buf_len--; + + return ch; +} + +static unsigned char udbg_hvsi_getc(void) +{ + int ch; + for (;;) { + ch = udbg_hvsi_getc_poll(); + if (ch == -1) { + /* This shouldn't be needed...but... */ + volatile unsigned long delay; + for (delay=0; delay < 2000000; delay++) + ; + } else { + return ch; + } + } +} + static void udbg_putcLP(unsigned char c) { char buf[16]; @@ -166,11 +234,15 @@ int find_udbg_vterm(void) ppc_md.udbg_getc_poll = udbg_getc_pollLP; found = 1; } - } else { - /* XXX implement udbg_putcLP_vtty for hvterm-protocol1 case */ - printk(KERN_WARNING "%s doesn't speak hvterm1; " - "can't print udbg messages\n", - stdout_node->full_name); + } else if (device_is_compatible(stdout_node, "hvterm-protocol")) { + termno = (u32 *)get_property(stdout_node, "reg", NULL); + if (termno) { + vtermno = termno[0]; + ppc_md.udbg_putc = udbg_hvsi_putc; + ppc_md.udbg_getc = udbg_hvsi_getc; + ppc_md.udbg_getc_poll = udbg_hvsi_getc_poll; + found = 1; + } } } else if (strncmp(name, "serial", 6)) { /* XXX fix ISA serial console */ diff --git a/arch/ppc64/kernel/pSeries_pci.c b/arch/ppc64/kernel/pSeries_pci.c index 92bc868f3..bfbad68f5 100644 --- a/arch/ppc64/kernel/pSeries_pci.c +++ b/arch/ppc64/kernel/pSeries_pci.c @@ -45,12 +45,6 @@ #include "open_pic.h" #include "pci.h" -/* legal IO pages under MAX_ISA_PORT. This is to ensure we don't touch - devices we don't have access to. */ -unsigned long io_page_mask; - -EXPORT_SYMBOL(io_page_mask); - /* RTAS tokens */ static int read_pci_config; static int write_pci_config; @@ -68,7 +62,9 @@ static int rtas_read_config(struct device_node *dn, int where, int size, u32 *va int ret; if (!dn) - return -2; + return PCIBIOS_DEVICE_NOT_FOUND; + if (where & (size - 1)) + return PCIBIOS_BAD_REGISTER_NUMBER; addr = (dn->busno << 16) | (dn->devfn << 8) | where; buid = dn->phb->buid; @@ -79,7 +75,15 @@ static int rtas_read_config(struct device_node *dn, int where, int size, u32 *va ret = rtas_call(read_pci_config, 2, 2, &returnval, addr, size); } *val = returnval; - return ret; + + if (ret) + return PCIBIOS_DEVICE_NOT_FOUND; + + if (returnval == EEH_IO_ERROR_VALUE(size) + && eeh_dn_check_failure (dn, NULL)) + return PCIBIOS_DEVICE_NOT_FOUND; + + return PCIBIOS_SUCCESSFUL; } static int rtas_pci_read_config(struct pci_bus *bus, @@ -106,7 +110,9 @@ static int rtas_write_config(struct device_node *dn, int where, int size, u32 va int ret; if (!dn) - return -2; + return PCIBIOS_DEVICE_NOT_FOUND; + if (where & (size - 1)) + return PCIBIOS_BAD_REGISTER_NUMBER; addr = (dn->busno << 16) | (dn->devfn << 8) | where; buid = dn->phb->buid; @@ -115,7 +121,11 @@ static int rtas_write_config(struct device_node *dn, int where, int size, u32 va } else { ret = rtas_call(write_pci_config, 3, 1, NULL, addr, size, (ulong)val); } - return ret; + + if (ret) + return PCIBIOS_DEVICE_NOT_FOUND; + + return PCIBIOS_SUCCESSFUL; } static int rtas_pci_write_config(struct pci_bus *bus, @@ -141,189 +151,6 @@ struct pci_ops rtas_pci_ops = { rtas_pci_write_config }; -/****************************************************************** - * pci_read_irq_line - * - * Reads the Interrupt Pin to determine if interrupt is use by card. - * If the interrupt is used, then gets the interrupt line from the - * openfirmware and sets it in the pci_dev and pci_config line. - * - ******************************************************************/ -int pci_read_irq_line(struct pci_dev *pci_dev) -{ - u8 intpin; - struct device_node *node; - - pci_read_config_byte(pci_dev, PCI_INTERRUPT_PIN, &intpin); - - if (intpin == 0) { - PPCDBG(PPCDBG_BUSWALK,"\tDevice: %s No Interrupt used by device.\n", pci_name(pci_dev)); - return 0; - } - - node = pci_device_to_OF_node(pci_dev); - if (node == NULL) { - PPCDBG(PPCDBG_BUSWALK,"\tDevice: %s Device Node not found.\n", - pci_name(pci_dev)); - return -1; - } - if (node->n_intrs == 0) { - PPCDBG(PPCDBG_BUSWALK,"\tDevice: %s No Device OF interrupts defined.\n", pci_name(pci_dev)); - return -1; - } - pci_dev->irq = node->intrs[0].line; - - if (s7a_workaround) { - if (pci_dev->irq > 16) - pci_dev->irq -= 3; - } - - pci_write_config_byte(pci_dev, PCI_INTERRUPT_LINE, pci_dev->irq); - - PPCDBG(PPCDBG_BUSWALK,"\tDevice: %s pci_dev->irq = 0x%02X\n", - pci_name(pci_dev), pci_dev->irq); - return 0; -} -EXPORT_SYMBOL(pci_read_irq_line); - -#define ISA_SPACE_MASK 0x1 -#define ISA_SPACE_IO 0x1 - -static void pci_process_ISA_OF_ranges(struct device_node *isa_node, - unsigned long phb_io_base_phys, - void * phb_io_base_virt) -{ - struct isa_range *range; - unsigned long pci_addr; - unsigned int isa_addr; - unsigned int size; - int rlen = 0; - - range = (struct isa_range *) get_property(isa_node, "ranges", &rlen); - if (rlen < sizeof(struct isa_range)) { - printk(KERN_ERR "unexpected isa range size: %s\n", - __FUNCTION__); - return; - } - - /* From "ISA Binding to 1275" - * The ranges property is laid out as an array of elements, - * each of which comprises: - * cells 0 - 1: an ISA address - * cells 2 - 4: a PCI address - * (size depending on dev->n_addr_cells) - * cell 5: the size of the range - */ - if ((range->isa_addr.a_hi && ISA_SPACE_MASK) == ISA_SPACE_IO) { - isa_addr = range->isa_addr.a_lo; - pci_addr = (unsigned long) range->pci_addr.a_mid << 32 | - range->pci_addr.a_lo; - - /* Assume these are both zero */ - if ((pci_addr != 0) || (isa_addr != 0)) { - printk(KERN_ERR "unexpected isa to pci mapping: %s\n", - __FUNCTION__); - return; - } - - size = PAGE_ALIGN(range->size); - - __ioremap_explicit(phb_io_base_phys, - (unsigned long) phb_io_base_virt, - size, _PAGE_NO_CACHE); - } -} - -static void __init pci_process_bridge_OF_ranges(struct pci_controller *hose, - struct device_node *dev, - int primary) -{ - unsigned int *ranges; - unsigned long size; - int rlen = 0; - int memno = 0; - struct resource *res; - int np, na = prom_n_addr_cells(dev); - unsigned long pci_addr, cpu_phys_addr; - struct device_node *isa_dn; - - np = na + 5; - - /* From "PCI Binding to 1275" - * The ranges property is laid out as an array of elements, - * each of which comprises: - * cells 0 - 2: a PCI address - * cells 3 or 3+4: a CPU physical address - * (size depending on dev->n_addr_cells) - * cells 4+5 or 5+6: the size of the range - */ - rlen = 0; - hose->io_base_phys = 0; - ranges = (unsigned int *) get_property(dev, "ranges", &rlen); - while ((rlen -= np * sizeof(unsigned int)) >= 0) { - res = NULL; - pci_addr = (unsigned long)ranges[1] << 32 | ranges[2]; - - cpu_phys_addr = ranges[3]; - if (na == 2) - cpu_phys_addr = cpu_phys_addr << 32 | ranges[4]; - - size = (unsigned long)ranges[na+3] << 32 | ranges[na+4]; - - switch (ranges[0] >> 24) { - case 1: /* I/O space */ - hose->io_base_phys = cpu_phys_addr; - hose->io_base_virt = reserve_phb_iospace(size); - PPCDBG(PPCDBG_PHBINIT, - "phb%d io_base_phys 0x%lx io_base_virt 0x%lx\n", - hose->global_number, hose->io_base_phys, - (unsigned long) hose->io_base_virt); - - if (primary) { - pci_io_base = (unsigned long)hose->io_base_virt; - isa_dn = of_find_node_by_type(NULL, "isa"); - if (isa_dn) { - isa_io_base = pci_io_base; - pci_process_ISA_OF_ranges(isa_dn, - hose->io_base_phys, - hose->io_base_virt); - of_node_put(isa_dn); - /* Allow all IO */ - io_page_mask = -1; - } - } - - res = &hose->io_resource; - res->flags = IORESOURCE_IO; - res->start = pci_addr; - res->start += (unsigned long)hose->io_base_virt - - pci_io_base; - break; - case 2: /* memory space */ - memno = 0; - while (memno < 3 && hose->mem_resources[memno].flags) - ++memno; - - if (memno == 0) - hose->pci_mem_offset = cpu_phys_addr - pci_addr; - if (memno < 3) { - res = &hose->mem_resources[memno]; - res->flags = IORESOURCE_MEM; - res->start = cpu_phys_addr; - } - break; - } - if (res != NULL) { - res->name = dev->full_name; - res->end = res->start + size - 1; - res->parent = NULL; - res->sibling = NULL; - res->child = NULL; - } - ranges += np; - } -} - static void python_countermeasures(unsigned long addr) { void *chip_regs; @@ -363,7 +190,7 @@ void __init init_pci_config_tokens (void) ibm_write_pci_config = rtas_token("ibm,write-pci-config"); } -unsigned long __init get_phb_buid (struct device_node *phb) +unsigned long __devinit get_phb_buid (struct device_node *phb) { int addr_cells; unsigned int *buid_vals; @@ -393,48 +220,85 @@ unsigned long __init get_phb_buid (struct device_node *phb) return buid; } -static struct pci_controller * __init alloc_phb(struct device_node *dev, - unsigned int addr_size_words) +static enum phb_types get_phb_type(struct device_node *dev) { - struct pci_controller *phb; - unsigned int *ui_ptr = NULL, len; - struct reg_property64 reg_struct; - int *bus_range; + enum phb_types type; char *model; - enum phb_types phb_type; - struct property *of_prop; model = (char *)get_property(dev, "model", NULL); if (!model) { - printk(KERN_ERR "alloc_phb: phb has no model property\n"); + printk(KERN_ERR "%s: phb has no model property\n", + __FUNCTION__); model = ""; } + if (strstr(model, "Python")) { + type = phb_type_python; + } else if (strstr(model, "Speedwagon")) { + type = phb_type_speedwagon; + } else if (strstr(model, "Winnipeg")) { + type = phb_type_winnipeg; + } else { + printk(KERN_ERR "%s: unknown PHB %s\n", __FUNCTION__, model); + type = phb_type_unknown; + } + + return type; +} + +int get_phb_reg_prop(struct device_node *dev, unsigned int addr_size_words, + struct reg_property64 *reg) +{ + unsigned int *ui_ptr = NULL, len; + /* Found a PHB, now figure out where his registers are mapped. */ ui_ptr = (unsigned int *) get_property(dev, "reg", &len); if (ui_ptr == NULL) { PPCDBG(PPCDBG_PHBINIT, "\tget reg failed.\n"); - return NULL; + return 1; } if (addr_size_words == 1) { - reg_struct.address = ((struct reg_property32 *)ui_ptr)->address; - reg_struct.size = ((struct reg_property32 *)ui_ptr)->size; + reg->address = ((struct reg_property32 *)ui_ptr)->address; + reg->size = ((struct reg_property32 *)ui_ptr)->size; } else { - reg_struct = *((struct reg_property64 *)ui_ptr); + *reg = *((struct reg_property64 *)ui_ptr); } - if (strstr(model, "Python")) { - phb_type = phb_type_python; - } else if (strstr(model, "Speedwagon")) { - phb_type = phb_type_speedwagon; - } else if (strstr(model, "Winnipeg")) { - phb_type = phb_type_winnipeg; - } else { - printk(KERN_ERR "alloc_phb: unknown PHB %s\n", model); - phb_type = phb_type_unknown; - } + return 0; +} + +int phb_set_bus_ranges(struct device_node *dev, struct pci_controller *phb) +{ + int *bus_range; + unsigned int len; + + bus_range = (int *) get_property(dev, "bus-range", &len); + if (bus_range == NULL || len < 2 * sizeof(int)) { + return 1; + } + + phb->first_busno = bus_range[0]; + phb->last_busno = bus_range[1]; + + return 0; +} + +static struct pci_controller *alloc_phb(struct device_node *dev, + unsigned int addr_size_words) +{ + struct pci_controller *phb; + struct reg_property64 reg_struct; + enum phb_types phb_type; + struct property *of_prop; + int rc; + + phb_type = get_phb_type(dev); + + rc = get_phb_reg_prop(dev, addr_size_words, ®_struct); + if (rc) + return NULL; phb = pci_alloc_pci_controller(phb_type); if (phb == NULL) @@ -443,11 +307,9 @@ static struct pci_controller * __init alloc_phb(struct device_node *dev, if (phb_type == phb_type_python) python_countermeasures(reg_struct.address); - bus_range = (int *) get_property(dev, "bus-range", &len); - if (bus_range == NULL || len < 2 * sizeof(int)) { - kfree(phb); + rc = phb_set_bus_ranges(dev, phb); + if (rc) return NULL; - } of_prop = (struct property *)alloc_bootmem(sizeof(struct property) + sizeof(phb->global_number)); @@ -464,9 +326,6 @@ static struct pci_controller * __init alloc_phb(struct device_node *dev, memcpy(of_prop->value, &phb->global_number, sizeof(phb->global_number)); prom_add_property(dev, of_prop); - phb->first_busno = bus_range[0]; - phb->last_busno = bus_range[1]; - phb->arch_data = dev; phb->ops = &rtas_pci_ops; @@ -475,13 +334,47 @@ static struct pci_controller * __init alloc_phb(struct device_node *dev, return phb; } +static struct pci_controller * __devinit alloc_phb_dynamic(struct device_node *dev, unsigned int addr_size_words) +{ + struct pci_controller *phb; + struct reg_property64 reg_struct; + enum phb_types phb_type; + int rc; + + phb_type = get_phb_type(dev); + + rc = get_phb_reg_prop(dev, addr_size_words, ®_struct); + if (rc) + return NULL; + + phb = pci_alloc_phb_dynamic(phb_type); + if (phb == NULL) + return NULL; + + if (phb_type == phb_type_python) + python_countermeasures(reg_struct.address); + + rc = phb_set_bus_ranges(dev, phb); + if (rc) + return NULL; + + /* TODO: linux,pci-domain? */ + + phb->arch_data = dev; + phb->ops = &rtas_pci_ops; + + phb->buid = get_phb_buid(dev); + + return phb; +} + unsigned long __init find_and_init_phbs(void) { struct device_node *node; struct pci_controller *phb; unsigned int root_size_cells = 0; unsigned int index; - unsigned int *opprop; + unsigned int *opprop = NULL; struct device_node *root = of_find_node_by_path("/"); if (naca->interrupt_controller == IC_OPEN_PIC) { @@ -503,7 +396,8 @@ unsigned long __init find_and_init_phbs(void) if (!phb) continue; - pci_process_bridge_OF_ranges(phb, node, index == 0); + pci_process_bridge_OF_ranges(phb, node); + pci_setup_phb_io(phb, index == 0); if (naca->interrupt_controller == IC_OPEN_PIC) { int addr = root_size_cells * (index + 2) - 1; @@ -519,9 +413,37 @@ unsigned long __init find_and_init_phbs(void) return 0; } -void pcibios_name_device(struct pci_dev *dev) +struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn) { + struct device_node *root = of_find_node_by_path("/"); + unsigned int root_size_cells = 0; + struct pci_controller *phb; + struct pci_bus *bus; + + root_size_cells = prom_n_size_cells(root); + + phb = alloc_phb_dynamic(dn, root_size_cells); + if (!phb) + return NULL; + + pci_process_bridge_OF_ranges(phb, dn); + + pci_setup_phb_io_dynamic(phb); + of_node_put(root); + + pci_devs_phb_init_dynamic(phb); + phb->last_busno = 0xff; + bus = pci_scan_bus(phb->first_busno, phb->ops, phb->arch_data); + phb->bus = bus; + phb->last_busno = bus->subordinate; + + return phb; +} +EXPORT_SYMBOL(init_phb_dynamic); + #if 0 +void pcibios_name_device(struct pci_dev *dev) +{ struct device_node *dn; /* @@ -541,98 +463,9 @@ void pcibios_name_device(struct pci_dev *dev) } } } -#endif } - -void __devinit pcibios_fixup_device_resources(struct pci_dev *dev, - struct pci_bus *bus) -{ - /* Update device resources. */ - struct pci_controller *hose = PCI_GET_PHB_PTR(bus); - int i; - - for (i = 0; i < PCI_NUM_RESOURCES; i++) { - if (dev->resource[i].flags & IORESOURCE_IO) { - unsigned long offset = (unsigned long)hose->io_base_virt - pci_io_base; - unsigned long start, end, mask; - - start = dev->resource[i].start += offset; - end = dev->resource[i].end += offset; - - /* Need to allow IO access to pages that are in the - ISA range */ - if (start < MAX_ISA_PORT) { - if (end > MAX_ISA_PORT) - end = MAX_ISA_PORT; - - start >>= PAGE_SHIFT; - end >>= PAGE_SHIFT; - - /* get the range of pages for the map */ - mask = ((1 << (end+1))-1) ^ ((1 << start)-1); - io_page_mask |= mask; - } - } - else if (dev->resource[i].flags & IORESOURCE_MEM) { - dev->resource[i].start += hose->pci_mem_offset; - dev->resource[i].end += hose->pci_mem_offset; - } - } -} -EXPORT_SYMBOL(pcibios_fixup_device_resources); - -void __devinit pcibios_fixup_bus(struct pci_bus *bus) -{ - struct pci_controller *hose = PCI_GET_PHB_PTR(bus); - struct list_head *ln; - - /* XXX or bus->parent? */ - struct pci_dev *dev = bus->self; - struct resource *res; - int i; - - if (!dev) { - /* Root bus. */ - - hose->bus = bus; - bus->resource[0] = res = &hose->io_resource; - if (!res->flags) - BUG(); /* No I/O resource for this PHB? */ - - if (request_resource(&ioport_resource, res)) - printk(KERN_ERR "Failed to request IO on " - "PCI domain %d\n", pci_domain_nr(bus)); - - - for (i = 0; i < 3; ++i) { - res = &hose->mem_resources[i]; - if (!res->flags && i == 0) - BUG(); /* No memory resource for this PHB? */ - bus->resource[i+1] = res; - if (res->flags && request_resource(&iomem_resource, res)) - printk(KERN_ERR "Failed to request MEM on " - "PCI domain %d\n", - pci_domain_nr(bus)); - } - } else if (pci_probe_only && - (dev->class >> 8) == PCI_CLASS_BRIDGE_PCI) { - /* This is a subordinate bridge */ - - pci_read_bridge_bases(bus); - pcibios_fixup_device_resources(dev, bus); - } - - /* XXX Need to check why Alpha doesnt do this - Anton */ - if (!pci_probe_only) - return; - - for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) { - struct pci_dev *dev = pci_dev_b(ln); - if ((dev->class >> 8) != PCI_CLASS_BRIDGE_PCI) - pcibios_fixup_device_resources(dev, bus); - } -} -EXPORT_SYMBOL(pcibios_fixup_bus); +DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pcibios_name_device); +#endif static void check_s7a(void) { @@ -726,15 +559,86 @@ int remap_bus_range(struct pci_bus *bus) } EXPORT_SYMBOL(remap_bus_range); -static void phbs_fixup_io(void) +static void phbs_remap_io(void) { - struct pci_controller *hose; + struct pci_controller *hose, *tmp; - for (hose=hose_head;hose;hose=hose->next) + list_for_each_entry_safe(hose, tmp, &hose_list, list_node) remap_bus_range(hose->bus); } -extern void chrp_request_regions(void); +static void __init pSeries_request_regions(void) +{ + struct device_node *i8042; + + request_region(0x20,0x20,"pic1"); + request_region(0xa0,0x20,"pic2"); + request_region(0x00,0x20,"dma1"); + request_region(0x40,0x20,"timer"); + request_region(0x80,0x10,"dma page reg"); + request_region(0xc0,0x20,"dma2"); + +#define I8042_DATA_REG 0x60 + + /* + * Some machines have an unterminated i8042 so check the device + * tree and reserve the region if it does not appear. Later on + * the i8042 code will try and reserve this region and fail. + */ + if (!(i8042 = of_find_node_by_type(NULL, "8042"))) + request_region(I8042_DATA_REG, 16, "reserved (no i8042)"); + of_node_put(i8042); +} + +/* RPA-specific bits for removing PHBs */ +int pcibios_remove_root_bus(struct pci_controller *phb) +{ + struct pci_bus *b = phb->bus; + struct resource *res; + int rc, i; + + res = b->resource[0]; + if (!res->flags) { + printk(KERN_ERR "%s: no IO resource for PHB %s\n", __FUNCTION__, + b->name); + return 1; + } + + rc = unmap_bus_range(b); + if (rc) { + printk(KERN_ERR "%s: failed to unmap IO on bus %s\n", + __FUNCTION__, b->name); + return 1; + } + + if (release_resource(res)) { + printk(KERN_ERR "%s: failed to release IO on bus %s\n", + __FUNCTION__, b->name); + return 1; + } + + for (i = 1; i < 3; ++i) { + res = b->resource[i]; + if (!res->flags && i == 0) { + printk(KERN_ERR "%s: no MEM resource for PHB %s\n", + __FUNCTION__, b->name); + return 1; + } + if (res->flags && release_resource(res)) { + printk(KERN_ERR + "%s: failed to release IO %d on bus %s\n", + __FUNCTION__, i, b->name); + return 1; + } + } + + list_del(&phb->list_node); + if (phb->is_dynamic) + kfree(phb); + + return 0; +} +EXPORT_SYMBOL(pcibios_remove_root_bus); void __init pSeries_final_fixup(void) { @@ -742,58 +646,22 @@ void __init pSeries_final_fixup(void) check_s7a(); - while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) + while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { pci_read_irq_line(dev); + if (s7a_workaround) { + if (dev->irq > 16) { + dev->irq -= 3; + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, dev->irq); + } + } + } - phbs_fixup_io(); - chrp_request_regions(); + phbs_remap_io(); + pSeries_request_regions(); pci_fix_bus_sysdata(); - if (!ppc64_iommu_off) - iommu_setup_pSeries(); -} -/*********************************************************************** - * pci_find_hose_for_OF_device - * - * This function finds the PHB that matching device_node in the - * OpenFirmware by scanning all the pci_controllers. - * - ***********************************************************************/ -struct pci_controller* -pci_find_hose_for_OF_device(struct device_node *node) -{ - while (node) { - struct pci_controller *hose; - for (hose=hose_head;hose;hose=hose->next) - if (hose->arch_data == node) - return hose; - node=node->parent; - } - return NULL; -} + if (!of_chosen || !get_property(of_chosen, "linux,iommu-off", NULL)) + iommu_setup_pSeries(); -/* - * ppc64 can have multifunction devices that do not respond to function 0. - * In this case we must scan all functions. - */ -int -pcibios_scan_all_fns(struct pci_bus *bus, int devfn) -{ - struct device_node *busdn, *dn; - - if (bus->self) - busdn = pci_device_to_OF_node(bus->self); - else - busdn = bus->sysdata; /* must be a phb */ - - /* - * Check to see if there is any of the 8 functions are in the - * device tree. If they are then we need to scan all the - * functions of this slot. - */ - for (dn = busdn->child; dn; dn = dn->sibling) - if ((dn->devfn >> 3) == (devfn >> 3)) - return 1; - - return 0; + pci_addr_cache_build(); } diff --git a/arch/ppc64/kernel/pacaData.c b/arch/ppc64/kernel/pacaData.c index 0e4228316..61d7f8e33 100644 --- a/arch/ppc64/kernel/pacaData.c +++ b/arch/ppc64/kernel/pacaData.c @@ -27,13 +27,6 @@ struct systemcfg *systemcfg; * field correctly */ extern unsigned long __toc_start; -/* Stack space used when we detect a bad kernel stack pointer, and - * early in SMP boots before relocation is enabled. - * - * ABI requires stack to be 128-byte aligned - */ -char emergency_stack[PAGE_SIZE * NR_CPUS] __attribute__((aligned(128))); - /* The Paca is an array with one entry per processor. Each contains an * ItLpPaca, which contains the information shared between the * hypervisor and Linux. Each also contains an ItLpRegSave area which @@ -44,18 +37,27 @@ char emergency_stack[PAGE_SIZE * NR_CPUS] __attribute__((aligned(128))); * processors. The processor VPD array needs one entry per physical * processor (not thread). */ -#define PACAINITDATA(number,start,lpq,asrr,asrv) \ -{ \ +#ifdef CONFIG_PPC_ISERIES +#define EXTRA_INITS(number, lpq) \ .lppaca_ptr = &paca[number].lppaca, \ + .lpqueue_ptr = (lpq), /* &xItLpQueue, */ \ .reg_save_ptr = &paca[number].reg_save, \ + .reg_save = { \ + .xDesc = 0xd397d9e2, /* "LpRS" */ \ + .xSize = sizeof(struct ItLpRegSave) \ + }, +#else +#define EXTRA_INITS(number, lpq) +#endif + +#define PACAINITDATA(number,start,lpq,asrr,asrv) \ +{ \ .lock_token = 0x8000, \ .paca_index = (number), /* Paca Index */ \ - .lpqueue_ptr = (lpq), /* &xItLpQueue, */ \ .default_decr = 0x00ff0000, /* Initial Decr */ \ .kernel_toc = (unsigned long)(&__toc_start) + 0x8000UL, \ .stab_real = (asrr), /* Real pointer to segment table */ \ .stab_addr = (asrv), /* Virt pointer to segment table */ \ - .emergency_sp = &emergency_stack[((number)+1) * PAGE_SIZE], \ .cpu_start = (start), /* Processor start */ \ .lppaca = { \ .xDesc = 0xd397d781, /* "LpPa" */ \ @@ -66,13 +68,10 @@ char emergency_stack[PAGE_SIZE * NR_CPUS] __attribute__((aligned(128))); .xEndOfQuantum = 0xfffffffffffffffful, \ .xSLBCount = 64, \ }, \ - .reg_save = { \ - .xDesc = 0xd397d9e2, /* "LpRS" */ \ - .xSize = sizeof(struct ItLpRegSave) \ - }, \ + EXTRA_INITS((number), (lpq)) \ } -struct paca_struct paca[] __page_aligned = { +struct paca_struct paca[] = { #ifdef CONFIG_PPC_ISERIES PACAINITDATA( 0, 1, &xItLpQueue, 0, STAB0_VIRT_ADDR), #else diff --git a/arch/ppc64/kernel/pci.c b/arch/ppc64/kernel/pci.c index 751071af3..41f854444 100644 --- a/arch/ppc64/kernel/pci.c +++ b/arch/ppc64/kernel/pci.c @@ -179,26 +179,11 @@ void pcibios_align_resource(void *data, struct resource *res, res->start = start; } -/* - * Allocate pci_controller(phb) initialized common variables. - */ -struct pci_controller * __init -pci_alloc_pci_controller(enum phb_types controller_type) +static void phb_set_model(struct pci_controller *hose, + enum phb_types controller_type) { - struct pci_controller *hose; char *model; -#ifdef CONFIG_PPC_ISERIES - hose = (struct pci_controller *)kmalloc(sizeof(struct pci_controller), GFP_KERNEL); -#else - hose = (struct pci_controller *)alloc_bootmem(sizeof(struct pci_controller)); -#endif - if(hose == NULL) { - printk(KERN_ERR "PCI: Allocate pci_controller failed.\n"); - return NULL; - } - memset(hose, 0, sizeof(struct pci_controller)); - switch(controller_type) { #ifdef CONFIG_PPC_ISERIES case phb_type_hypervisor: @@ -226,12 +211,63 @@ pci_alloc_pci_controller(enum phb_types controller_type) strcpy(hose->what,model); else memcpy(hose->what,model,7); - hose->type = controller_type; - hose->global_number = global_phb_number++; +} +/* + * Allocate pci_controller(phb) initialized common variables. + */ +struct pci_controller * __init +pci_alloc_pci_controller(enum phb_types controller_type) +{ + struct pci_controller *hose; + +#ifdef CONFIG_PPC_ISERIES + hose = (struct pci_controller *)kmalloc(sizeof(struct pci_controller), + GFP_KERNEL); +#else + hose = (struct pci_controller *)alloc_bootmem(sizeof(struct pci_controller)); +#endif + if (hose == NULL) { + printk(KERN_ERR "PCI: Allocate pci_controller failed.\n"); + return NULL; + } + memset(hose, 0, sizeof(struct pci_controller)); + + phb_set_model(hose, controller_type); + + hose->is_dynamic = 0; + hose->type = controller_type; + hose->global_number = global_phb_number++; + + list_add_tail(&hose->list_node, &hose_list); + + return hose; +} + +/* + * Dymnamically allocate pci_controller(phb), initialize common variables. + */ +struct pci_controller * +pci_alloc_phb_dynamic(enum phb_types controller_type) +{ + struct pci_controller *hose; + + hose = (struct pci_controller *)kmalloc(sizeof(struct pci_controller), + GFP_KERNEL); + if(hose == NULL) { + printk(KERN_ERR "PCI: Allocate pci_controller failed.\n"); + return NULL; + } + memset(hose, 0, sizeof(struct pci_controller)); + + phb_set_model(hose, controller_type); + + hose->is_dynamic = 1; + hose->type = controller_type; + hose->global_number = global_phb_number++; list_add_tail(&hose->list_node, &hose_list); - return hose; + return hose; } static void __init pcibios_claim_one_bus(struct pci_bus *b) @@ -534,7 +570,7 @@ void pcibios_add_platform_entries(struct pci_dev *pdev) #define ISA_SPACE_MASK 0x1 #define ISA_SPACE_IO 0x1 -static void pci_process_ISA_OF_ranges(struct device_node *isa_node, +static void __devinit pci_process_ISA_OF_ranges(struct device_node *isa_node, unsigned long phb_io_base_phys, void * phb_io_base_virt) { @@ -579,8 +615,8 @@ static void pci_process_ISA_OF_ranges(struct device_node *isa_node, } } -void __init pci_process_bridge_OF_ranges(struct pci_controller *hose, - struct device_node *dev, int primary) +void __devinit pci_process_bridge_OF_ranges(struct pci_controller *hose, + struct device_node *dev) { unsigned int *ranges; unsigned long size; @@ -589,7 +625,6 @@ void __init pci_process_bridge_OF_ranges(struct pci_controller *hose, struct resource *res; int np, na = prom_n_addr_cells(dev); unsigned long pci_addr, cpu_phys_addr; - struct device_node *isa_dn; np = na + 5; @@ -617,31 +652,11 @@ void __init pci_process_bridge_OF_ranges(struct pci_controller *hose, switch (ranges[0] >> 24) { case 1: /* I/O space */ hose->io_base_phys = cpu_phys_addr; - hose->io_base_virt = reserve_phb_iospace(size); - PPCDBG(PPCDBG_PHBINIT, - "phb%d io_base_phys 0x%lx io_base_virt 0x%lx\n", - hose->global_number, hose->io_base_phys, - (unsigned long) hose->io_base_virt); - - if (primary) { - pci_io_base = (unsigned long)hose->io_base_virt; - isa_dn = of_find_node_by_type(NULL, "isa"); - if (isa_dn) { - isa_io_base = pci_io_base; - pci_process_ISA_OF_ranges(isa_dn, - hose->io_base_phys, - hose->io_base_virt); - of_node_put(isa_dn); - /* Allow all IO */ - io_page_mask = -1; - } - } + hose->pci_io_size = size; res = &hose->io_resource; res->flags = IORESOURCE_IO; res->start = pci_addr; - res->start += (unsigned long)hose->io_base_virt - - pci_io_base; break; case 2: /* memory space */ memno = 0; @@ -668,6 +683,55 @@ void __init pci_process_bridge_OF_ranges(struct pci_controller *hose, } } +void __init pci_setup_phb_io(struct pci_controller *hose, int primary) +{ + unsigned long size = hose->pci_io_size; + unsigned long io_virt_offset; + struct resource *res; + struct device_node *isa_dn; + + hose->io_base_virt = reserve_phb_iospace(size); + PPCDBG(PPCDBG_PHBINIT, "phb%d io_base_phys 0x%lx io_base_virt 0x%lx\n", + hose->global_number, hose->io_base_phys, + (unsigned long) hose->io_base_virt); + + if (primary) { + pci_io_base = (unsigned long)hose->io_base_virt; + isa_dn = of_find_node_by_type(NULL, "isa"); + if (isa_dn) { + isa_io_base = pci_io_base; + pci_process_ISA_OF_ranges(isa_dn, hose->io_base_phys, + hose->io_base_virt); + of_node_put(isa_dn); + /* Allow all IO */ + io_page_mask = -1; + } + } + + io_virt_offset = (unsigned long)hose->io_base_virt - pci_io_base; + res = &hose->io_resource; + res->start += io_virt_offset; + res->end += io_virt_offset; +} + +void __devinit pci_setup_phb_io_dynamic(struct pci_controller *hose) +{ + unsigned long size = hose->pci_io_size; + unsigned long io_virt_offset; + struct resource *res; + + hose->io_base_virt = __ioremap(hose->io_base_phys, size, + _PAGE_NO_CACHE); + PPCDBG(PPCDBG_PHBINIT, "phb%d io_base_phys 0x%lx io_base_virt 0x%lx\n", + hose->global_number, hose->io_base_phys, + (unsigned long) hose->io_base_virt); + + io_virt_offset = (unsigned long)hose->io_base_virt - pci_io_base; + res = &hose->io_resource; + res->start += io_virt_offset; + res->end += io_virt_offset; +} + /*********************************************************************** * pci_find_hose_for_OF_device * diff --git a/arch/ppc64/kernel/pci.h b/arch/ppc64/kernel/pci.h index 2ca27ccc7..2049bd8b3 100644 --- a/arch/ppc64/kernel/pci.h +++ b/arch/ppc64/kernel/pci.h @@ -15,11 +15,14 @@ extern unsigned long isa_io_base; extern struct pci_controller* pci_alloc_pci_controller(enum phb_types controller_type); +extern struct pci_controller* pci_alloc_phb_dynamic(enum phb_types controller_type); +extern void pci_setup_phb_io(struct pci_controller *hose, int primary); + extern struct pci_controller* pci_find_hose_for_OF_device(struct device_node* node); +extern void pci_setup_phb_io_dynamic(struct pci_controller *hose); -extern struct pci_controller* hose_head; -extern struct pci_controller** hose_tail; +extern struct list_head hose_list; extern int global_phb_number; /******************************************************************* @@ -38,6 +41,7 @@ void *traverse_pci_devices(struct device_node *start, traverse_func pre, void *data); void pci_devs_phb_init(void); +void pci_devs_phb_init_dynamic(struct pci_controller *phb); void pci_fix_bus_sysdata(void); struct device_node *fetch_dev_dn(struct pci_dev *dev); diff --git a/arch/ppc64/kernel/pci_dn.c b/arch/ppc64/kernel/pci_dn.c index 2ef21d7da..7a68c5cb1 100644 --- a/arch/ppc64/kernel/pci_dn.c +++ b/arch/ppc64/kernel/pci_dn.c @@ -42,7 +42,7 @@ * Traverse_func that inits the PCI fields of the device node. * NOTE: this *must* be done before read/write config to the device. */ -static void * __init update_dn_pci_info(struct device_node *dn, void *data) +static void * __devinit update_dn_pci_info(struct device_node *dn, void *data) { struct pci_controller *phb = data; u32 *regs; @@ -139,6 +139,12 @@ static void *traverse_all_pci_devices(traverse_func pre) return NULL; } +void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb) +{ + /* Update dn->phb ptrs for new phb and children devices */ + traverse_pci_devices((struct device_node *)phb->arch_data, + update_dn_pci_info, phb); +} /* * Traversal func that looks for a value. diff --git a/arch/ppc64/kernel/pmac_smp.c b/arch/ppc64/kernel/pmac_smp.c index a67e2a595..fb6ab4014 100644 --- a/arch/ppc64/kernel/pmac_smp.c +++ b/arch/ppc64/kernel/pmac_smp.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include diff --git a/arch/ppc64/kernel/ppc_ksyms.c b/arch/ppc64/kernel/ppc_ksyms.c index 836cf2a43..3732fe048 100644 --- a/arch/ppc64/kernel/ppc_ksyms.c +++ b/arch/ppc64/kernel/ppc_ksyms.c @@ -119,7 +119,6 @@ EXPORT_SYMBOL(start_thread); EXPORT_SYMBOL(kernel_thread); EXPORT_SYMBOL(flush_instruction_cache); -EXPORT_SYMBOL(_get_PVR); EXPORT_SYMBOL(giveup_fpu); #ifdef CONFIG_ALTIVEC EXPORT_SYMBOL(giveup_altivec); @@ -137,7 +136,7 @@ EXPORT_SYMBOL(local_irq_restore); EXPORT_SYMBOL(ppc_md); -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM EXPORT_SYMBOL(find_devices); EXPORT_SYMBOL(find_type_devices); EXPORT_SYMBOL(find_compatible_devices); @@ -148,12 +147,12 @@ EXPORT_SYMBOL(find_all_nodes); EXPORT_SYMBOL(get_property); #endif -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(memmove); -EXPORT_SYMBOL_NOVERS(memscan); -EXPORT_SYMBOL_NOVERS(memcmp); -EXPORT_SYMBOL_NOVERS(memchr); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(memmove); +EXPORT_SYMBOL(memscan); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(memchr); EXPORT_SYMBOL(timer_interrupt); EXPORT_SYMBOL(irq_desc); diff --git a/arch/ppc64/kernel/process.c b/arch/ppc64/kernel/process.c index 5acc56729..821133707 100644 --- a/arch/ppc64/kernel/process.c +++ b/arch/ppc64/kernel/process.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include @@ -47,7 +48,6 @@ #include #include #include -#include #include #include #include @@ -147,7 +147,6 @@ EXPORT_SYMBOL(enable_kernel_altivec); */ void flush_altivec_to_thread(struct task_struct *tsk) { -#ifdef CONFIG_ALTIVEC if (tsk->thread.regs) { preempt_disable(); if (tsk->thread.regs->msr & MSR_VEC) { @@ -158,7 +157,6 @@ void flush_altivec_to_thread(struct task_struct *tsk) } preempt_enable(); } -#endif } int dump_task_altivec(struct pt_regs *regs, elf_vrregset_t *vrregs) @@ -356,6 +354,16 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long usp, kregs = (struct pt_regs *) sp; sp -= STACK_FRAME_OVERHEAD; p->thread.ksp = sp; + if (cur_cpu_spec->cpu_features & CPU_FTR_SLB) { + unsigned long sp_vsid = get_kernel_vsid(sp); + + sp_vsid <<= SLB_VSID_SHIFT; + sp_vsid |= SLB_VSID_KERNEL; + if (cur_cpu_spec->cpu_features & CPU_FTR_16M_PAGE) + sp_vsid |= SLB_VSID_L; + + p->thread.ksp_vsid = sp_vsid; + } /* * The PPC64 ABI makes use of a TOC to contain function @@ -387,11 +395,22 @@ void start_thread(struct pt_regs *regs, unsigned long fdptr, unsigned long sp) /* Check whether the e_entry function descriptor entries * need to be relocated before we can use them. */ - if ( load_addr != 0 ) { + if (load_addr != 0) { entry += load_addr; toc += load_addr; } + /* + * If we exec out of a kernel thread then thread.regs will not be + * set. Do it now. + */ + if (!current->thread.regs) { + unsigned long childregs = (unsigned long)current->thread_info + + THREAD_SIZE; + childregs -= sizeof(struct pt_regs); + current->thread.regs = (struct pt_regs *)childregs; + } + regs->nip = entry; regs->gpr[1] = sp; regs->gpr[2] = toc; @@ -458,7 +477,7 @@ int sys_clone(unsigned long clone_flags, unsigned long p2, unsigned long p3, } } - return do_fork(clone_flags & ~CLONE_IDLETASK, p2, regs, 0, + return do_fork(clone_flags, p2, regs, 0, (int __user *)parent_tidptr, (int __user *)child_tidptr); } diff --git a/arch/ppc64/kernel/prom.c b/arch/ppc64/kernel/prom.c index bdf5e3a47..f121ffbc2 100644 --- a/arch/ppc64/kernel/prom.c +++ b/arch/ppc64/kernel/prom.c @@ -15,7 +15,7 @@ * 2 of the License, or (at your option) any later version. */ -#undef DEBUG_PROM +#undef DEBUG #include #include @@ -54,1806 +54,58 @@ #include #include "open_pic.h" -#ifdef CONFIG_LOGO_LINUX_CLUT224 -#include -extern const struct linux_logo logo_linux_clut224; -#endif - -/* - * Properties whose value is longer than this get excluded from our - * copy of the device tree. This value does need to be big enough to - * ensure that we don't lose things like the interrupt-map property - * on a PCI-PCI bridge. - */ -#define MAX_PROPERTY_LENGTH (1UL * 1024 * 1024) - -/* - * prom_init() is called very early on, before the kernel text - * and data have been mapped to KERNELBASE. At this point the code - * is running at whatever address it has been loaded at, so - * references to extern and static variables must be relocated - * explicitly. The procedure reloc_offset() returns the address - * we're currently running at minus the address we were linked at. - * (Note that strings count as static variables.) - * - * Because OF may have mapped I/O devices into the area starting at - * KERNELBASE, particularly on CHRP machines, we can't safely call - * OF once the kernel has been mapped to KERNELBASE. Therefore all - * OF calls should be done within prom_init(), and prom_init() - * and all routines called within it must be careful to relocate - * references as necessary. - * - * Note that the bss is cleared *after* prom_init runs, so we have - * to make sure that any static or extern variables it accesses - * are put in the data segment. - */ - - -#define PROM_BUG() do { \ - prom_printf("kernel BUG at %s line 0x%x!\n", \ - RELOC(__FILE__), __LINE__); \ - __asm__ __volatile__(".long " BUG_ILLEGAL_INSTR); \ -} while (0) - -#ifdef DEBUG_PROM -#define prom_debug(x...) prom_printf(x) -#else -#define prom_debug(x...) -#endif - - -struct pci_reg_property { - struct pci_address addr; - u32 size_hi; - u32 size_lo; -}; - - -struct isa_reg_property { - u32 space; - u32 address; - u32 size; -}; - -struct pci_intr_map { - struct pci_address addr; - u32 dunno; - phandle int_ctrler; - u32 intr; -}; - - -typedef unsigned long interpret_func(struct device_node *, unsigned long, - int, int, int); - -#ifndef FB_MAX /* avoid pulling in all of the fb stuff */ -#define FB_MAX 8 -#endif - -/* prom structure */ -struct prom_t prom; - -char *prom_display_paths[FB_MAX] __initdata = { NULL, }; -phandle prom_display_nodes[FB_MAX] __initdata; -unsigned int prom_num_displays = 0; -char *of_stdout_device = NULL; - -static int iommu_force_on; -int ppc64_iommu_off; - -extern struct rtas_t rtas; -extern unsigned long klimit; -extern struct lmb lmb; - -#define MAX_PHB (32 * 6) /* 32 drawers * 6 PHBs/drawer */ -struct of_tce_table of_tce_table[MAX_PHB + 1]; - -char *bootpath = NULL; -char *bootdevice = NULL; - -int boot_cpuid = 0; -#define MAX_CPU_THREADS 2 - -struct device_node *allnodes = NULL; -/* use when traversing tree through the allnext, child, sibling, - * or parent members of struct device_node. - */ -static rwlock_t devtree_lock = RW_LOCK_UNLOCKED; - -extern unsigned long reloc_offset(void); - -extern void enter_prom(struct prom_args *args); -extern void copy_and_flush(unsigned long dest, unsigned long src, - unsigned long size, unsigned long offset); - -unsigned long dev_tree_size; -unsigned long _get_PIR(void); - -#ifdef CONFIG_HMT -struct { - unsigned int pir; - unsigned int threadid; -} hmt_thread_data[NR_CPUS]; -#endif /* CONFIG_HMT */ - -char testString[] = "LINUX\n"; - -/* - * This are used in calls to call_prom. The 4th and following - * arguments to call_prom should be 32-bit values. 64 bit values - * are truncated to 32 bits (and fortunately don't get interpreted - * as two arguments). - */ -#define ADDR(x) (u32) ((unsigned long)(x) - offset) - -/* This is the one and *ONLY* place where we actually call open - * firmware from, since we need to make sure we're running in 32b - * mode when we do. We switch back to 64b mode upon return. - */ - -#define PROM_ERROR (-1) - -static int __init call_prom(const char *service, int nargs, int nret, ...) -{ - int i; - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - va_list list; - - _prom->args.service = ADDR(service); - _prom->args.nargs = nargs; - _prom->args.nret = nret; - _prom->args.rets = (prom_arg_t *)&(_prom->args.args[nargs]); - - va_start(list, nret); - for (i=0; i < nargs; i++) - _prom->args.args[i] = va_arg(list, prom_arg_t); - va_end(list); - - for (i=0; i < nret ;i++) - _prom->args.rets[i] = 0; - - enter_prom(&_prom->args); - - return (nret > 0)? _prom->args.rets[0]: 0; -} - - -static void __init prom_print(const char *msg) -{ - const char *p, *q; - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - - if (_prom->stdout == 0) - return; - - for (p = msg; *p != 0; p = q) { - for (q = p; *q != 0 && *q != '\n'; ++q) - ; - if (q > p) - call_prom("write", 3, 1, _prom->stdout, p, q - p); - if (*q == 0) - break; - ++q; - call_prom("write", 3, 1, _prom->stdout, ADDR("\r\n"), 2); - } -} - - -static void __init prom_print_hex(unsigned long val) -{ - unsigned long offset = reloc_offset(); - int i, nibbles = sizeof(val)*2; - char buf[sizeof(val)*2+1]; - struct prom_t *_prom = PTRRELOC(&prom); - - for (i = nibbles-1; i >= 0; i--) { - buf[i] = (val & 0xf) + '0'; - if (buf[i] > '9') - buf[i] += ('a'-'0'-10); - val >>= 4; - } - buf[nibbles] = '\0'; - call_prom("write", 3, 1, _prom->stdout, buf, nibbles); -} - - -static void __init prom_printf(const char *format, ...) -{ - unsigned long offset = reloc_offset(); - const char *p, *q, *s; - va_list args; - unsigned long v; - struct prom_t *_prom = PTRRELOC(&prom); - - va_start(args, format); - for (p = PTRRELOC(format); *p != 0; p = q) { - for (q = p; *q != 0 && *q != '\n' && *q != '%'; ++q) - ; - if (q > p) - call_prom("write", 3, 1, _prom->stdout, p, q - p); - if (*q == 0) - break; - if (*q == '\n') { - ++q; - call_prom("write", 3, 1, _prom->stdout, - ADDR("\r\n"), 2); - continue; - } - ++q; - if (*q == 0) - break; - switch (*q) { - case 's': - ++q; - s = va_arg(args, const char *); - prom_print(s); - break; - case 'x': - ++q; - v = va_arg(args, unsigned long); - prom_print_hex(v); - break; - } - } -} - - -static void __init __attribute__((noreturn)) prom_panic(const char *reason) -{ - unsigned long offset = reloc_offset(); - - prom_print(PTRRELOC(reason)); - /* ToDo: should put up an SRC here */ - call_prom("exit", 0, 0); - - for (;;) /* should never get here */ - ; -} - - -static int __init prom_next_node(phandle *nodep) -{ - phandle node; - - if ((node = *nodep) != 0 - && (*nodep = call_prom("child", 1, 1, node)) != 0) - return 1; - if ((*nodep = call_prom("peer", 1, 1, node)) != 0) - return 1; - for (;;) { - if ((node = call_prom("parent", 1, 1, node)) == 0) - return 0; - if ((*nodep = call_prom("peer", 1, 1, node)) != 0) - return 1; - } -} - -static int __init prom_getprop(phandle node, const char *pname, - void *value, size_t valuelen) -{ - unsigned long offset = reloc_offset(); - - return call_prom("getprop", 4, 1, node, ADDR(pname), - (u32)(unsigned long) value, (u32) valuelen); -} - -static void __init prom_initialize_naca(void) -{ - phandle node; - char type[64]; - unsigned long num_cpus = 0; - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - struct naca_struct *_naca = RELOC(naca); - struct systemcfg *_systemcfg = RELOC(systemcfg); - - /* NOTE: _naca->debug_switch is already initialized. */ - prom_debug("prom_initialize_naca: start...\n"); - - _naca->pftSize = 0; /* ilog2 of htab size. computed below. */ - - for (node = 0; prom_next_node(&node); ) { - type[0] = 0; - prom_getprop(node, "device_type", type, sizeof(type)); - - if (!strcmp(type, RELOC("cpu"))) { - num_cpus += 1; - - /* We're assuming *all* of the CPUs have the same - * d-cache and i-cache sizes... -Peter - */ - if ( num_cpus == 1 ) { - u32 size, lsize; - const char *dc, *ic; - - if (_systemcfg->platform == PLATFORM_POWERMAC){ - dc = "d-cache-block-size"; - ic = "i-cache-block-size"; - } else { - dc = "d-cache-line-size"; - ic = "i-cache-line-size"; - } - - prom_getprop(node, "d-cache-size", - &size, sizeof(size)); - - prom_getprop(node, dc, &lsize, sizeof(lsize)); - - _systemcfg->dCacheL1Size = size; - _systemcfg->dCacheL1LineSize = lsize; - _naca->dCacheL1LogLineSize = __ilog2(lsize); - _naca->dCacheL1LinesPerPage = PAGE_SIZE/lsize; - - prom_getprop(node, "i-cache-size", - &size, sizeof(size)); - - prom_getprop(node, ic, &lsize, sizeof(lsize)); - - _systemcfg->iCacheL1Size = size; - _systemcfg->iCacheL1LineSize = lsize; - _naca->iCacheL1LogLineSize = __ilog2(lsize); - _naca->iCacheL1LinesPerPage = PAGE_SIZE/lsize; - - if (_systemcfg->platform == PLATFORM_PSERIES_LPAR) { - u32 pft_size[2]; - prom_getprop(node, "ibm,pft-size", - &pft_size, sizeof(pft_size)); - /* pft_size[0] is the NUMA CEC cookie */ - _naca->pftSize = pft_size[1]; - } - } - } else if (!strcmp(type, RELOC("serial"))) { - phandle isa, pci; - struct isa_reg_property reg; - union pci_range ranges; - - if (_systemcfg->platform == PLATFORM_POWERMAC) - continue; - type[0] = 0; - prom_getprop(node, "ibm,aix-loc", type, sizeof(type)); - - if (strcmp(type, RELOC("S1"))) - continue; - - prom_getprop(node, "reg", ®, sizeof(reg)); - - isa = call_prom("parent", 1, 1, node); - if (!isa) - PROM_BUG(); - pci = call_prom("parent", 1, 1, isa); - if (!pci) - PROM_BUG(); - - prom_getprop(pci, "ranges", &ranges, sizeof(ranges)); - - if ( _prom->encode_phys_size == 32 ) - _naca->serialPortAddr = ranges.pci32.phys+reg.address; - else { - _naca->serialPortAddr = - ((((unsigned long)ranges.pci64.phys_hi) << 32) | - (ranges.pci64.phys_lo)) + reg.address; - } - } - } - - if (_systemcfg->platform == PLATFORM_POWERMAC) - _naca->interrupt_controller = IC_OPEN_PIC; - else { - _naca->interrupt_controller = IC_INVALID; - for (node = 0; prom_next_node(&node); ) { - type[0] = 0; - prom_getprop(node, "name", type, sizeof(type)); - if (strcmp(type, RELOC("interrupt-controller"))) - continue; - prom_getprop(node, "compatible", type, sizeof(type)); - if (strstr(type, RELOC("open-pic"))) - _naca->interrupt_controller = IC_OPEN_PIC; - else if (strstr(type, RELOC("ppc-xicp"))) - _naca->interrupt_controller = IC_PPC_XIC; - else - prom_printf("prom: failed to recognize" - " interrupt-controller\n"); - break; - } - } - - if (_naca->interrupt_controller == IC_INVALID) { - prom_printf("prom: failed to find interrupt-controller\n"); - PROM_BUG(); - } - - /* We gotta have at least 1 cpu... */ - if ( (_systemcfg->processorCount = num_cpus) < 1 ) - PROM_BUG(); - - _systemcfg->physicalMemorySize = lmb_phys_mem_size(); - - if (_systemcfg->platform == PLATFORM_PSERIES || - _systemcfg->platform == PLATFORM_POWERMAC) { - unsigned long rnd_mem_size, pteg_count; - - /* round mem_size up to next power of 2 */ - rnd_mem_size = 1UL << __ilog2(_systemcfg->physicalMemorySize); - if (rnd_mem_size < _systemcfg->physicalMemorySize) - rnd_mem_size <<= 1; - - /* # pages / 2 */ - pteg_count = (rnd_mem_size >> (12 + 1)); - - _naca->pftSize = __ilog2(pteg_count << 7); - } - - if (_naca->pftSize == 0) { - prom_printf("prom: failed to compute pftSize!\n"); - PROM_BUG(); - } - - /* Add an eye catcher and the systemcfg layout version number */ - strcpy(_systemcfg->eye_catcher, RELOC("SYSTEMCFG:PPC64")); - _systemcfg->version.major = SYSTEMCFG_MAJOR; - _systemcfg->version.minor = SYSTEMCFG_MINOR; - _systemcfg->processor = _get_PVR(); - - prom_debug("systemcfg->processorCount = 0x%x\n", - _systemcfg->processorCount); - prom_debug("systemcfg->physicalMemorySize = 0x%x\n", - _systemcfg->physicalMemorySize); - prom_debug("naca->pftSize = 0x%x\n", - _naca->pftSize); - prom_debug("systemcfg->dCacheL1LineSize = 0x%x\n", - _systemcfg->dCacheL1LineSize); - prom_debug("systemcfg->iCacheL1LineSize = 0x%x\n", - _systemcfg->iCacheL1LineSize); - prom_debug("naca->serialPortAddr = 0x%x\n", - _naca->serialPortAddr); - prom_debug("naca->interrupt_controller = 0x%x\n", - _naca->interrupt_controller); - prom_debug("systemcfg->platform = 0x%x\n", - _systemcfg->platform); - prom_debug("prom_initialize_naca: end...\n"); -} - - -static void __init early_cmdline_parse(void) -{ - unsigned long offset = reloc_offset(); - char *opt; -#ifndef CONFIG_PMAC_DART - struct systemcfg *_systemcfg = RELOC(systemcfg); -#endif - - opt = strstr(RELOC(cmd_line), RELOC("iommu=")); - if (opt) { - prom_printf("opt is:%s\n", opt); - opt += 6; - while (*opt && *opt == ' ') - opt++; - if (!strncmp(opt, RELOC("off"), 3)) - RELOC(ppc64_iommu_off) = 1; - else if (!strncmp(opt, RELOC("force"), 5)) - RELOC(iommu_force_on) = 1; - } - -#ifndef CONFIG_PMAC_DART - if (_systemcfg->platform == PLATFORM_POWERMAC) { - RELOC(ppc64_iommu_off) = 1; - prom_printf("DART disabled on PowerMac !\n"); - } -#endif -} - -#ifdef DEBUG_PROM -void prom_dump_lmb(void) -{ - unsigned long i; - unsigned long offset = reloc_offset(); - struct lmb *_lmb = PTRRELOC(&lmb); - - prom_printf("\nprom_dump_lmb:\n"); - prom_printf(" memory.cnt = 0x%x\n", - _lmb->memory.cnt); - prom_printf(" memory.size = 0x%x\n", - _lmb->memory.size); - for (i=0; i < _lmb->memory.cnt ;i++) { - prom_printf(" memory.region[0x%x].base = 0x%x\n", - i, _lmb->memory.region[i].base); - prom_printf(" .physbase = 0x%x\n", - _lmb->memory.region[i].physbase); - prom_printf(" .size = 0x%x\n", - _lmb->memory.region[i].size); - } - - prom_printf("\n reserved.cnt = 0x%x\n", - _lmb->reserved.cnt); - prom_printf(" reserved.size = 0x%x\n", - _lmb->reserved.size); - for (i=0; i < _lmb->reserved.cnt ;i++) { - prom_printf(" reserved.region[0x%x\n].base = 0x%x\n", - i, _lmb->reserved.region[i].base); - prom_printf(" .physbase = 0x%x\n", - _lmb->reserved.region[i].physbase); - prom_printf(" .size = 0x%x\n", - _lmb->reserved.region[i].size); - } -} -#endif /* DEBUG_PROM */ - -static void __init prom_initialize_lmb(void) -{ - phandle node; - char type[64]; - unsigned long i, offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - struct systemcfg *_systemcfg = RELOC(systemcfg); - union lmb_reg_property reg; - unsigned long lmb_base, lmb_size; - unsigned long num_regs, bytes_per_reg = (_prom->encode_phys_size*2)/8; - - lmb_init(); - - /* XXX Quick HACK. Proper fix is to drop those structures and properly use - * #address-cells. PowerMac has #size-cell set to 1 and #address-cells to 2 - */ - if (_systemcfg->platform == PLATFORM_POWERMAC) - bytes_per_reg = 12; - - for (node = 0; prom_next_node(&node); ) { - type[0] = 0; - prom_getprop(node, "device_type", type, sizeof(type)); - - if (strcmp(type, RELOC("memory"))) - continue; - - num_regs = prom_getprop(node, "reg", ®, sizeof(reg)) - / bytes_per_reg; - - for (i=0; i < num_regs ;i++) { - if (_systemcfg->platform == PLATFORM_POWERMAC) { - lmb_base = ((unsigned long)reg.addrPM[i].address_hi) << 32; - lmb_base |= (unsigned long)reg.addrPM[i].address_lo; - lmb_size = reg.addrPM[i].size; - } else if (_prom->encode_phys_size == 32) { - lmb_base = reg.addr32[i].address; - lmb_size = reg.addr32[i].size; - } else { - lmb_base = reg.addr64[i].address; - lmb_size = reg.addr64[i].size; - } - - /* We limit memory to 2GB if the IOMMU is off */ - if (RELOC(ppc64_iommu_off)) { - if (lmb_base >= 0x80000000UL) - continue; - - if ((lmb_base + lmb_size) > 0x80000000UL) - lmb_size = 0x80000000UL - lmb_base; - } - - if (lmb_add(lmb_base, lmb_size) < 0) - prom_printf("Too many LMB's, discarding this one...\n"); - } - - } - - lmb_analyze(); -#ifdef DEBUG_PROM - prom_dump_lmb(); -#endif /* DEBUG_PROM */ -} - -static void __init -prom_instantiate_rtas(void) -{ - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - struct rtas_t *_rtas = PTRRELOC(&rtas); - struct systemcfg *_systemcfg = RELOC(systemcfg); - ihandle prom_rtas; - u32 getprop_rval; - char hypertas_funcs[4]; - - prom_debug("prom_instantiate_rtas: start...\n"); - - prom_rtas = call_prom("finddevice", 1, 1, ADDR("/rtas")); - if (prom_rtas != (ihandle) -1) { - unsigned long x; - x = prom_getprop(prom_rtas, "ibm,hypertas-functions", - hypertas_funcs, sizeof(hypertas_funcs)); - - if (x != PROM_ERROR) { - prom_printf("Hypertas detected, assuming LPAR !\n"); - _systemcfg->platform = PLATFORM_PSERIES_LPAR; - } - - prom_getprop(prom_rtas, "rtas-size", - &getprop_rval, sizeof(getprop_rval)); - _rtas->size = getprop_rval; - prom_printf("instantiating rtas"); - if (_rtas->size != 0) { - unsigned long rtas_region = RTAS_INSTANTIATE_MAX; - - /* Grab some space within the first RTAS_INSTANTIATE_MAX bytes - * of physical memory (or within the RMO region) because RTAS - * runs in 32-bit mode and relocate off. - */ - if ( _systemcfg->platform == PLATFORM_PSERIES_LPAR ) { - struct lmb *_lmb = PTRRELOC(&lmb); - rtas_region = min(_lmb->rmo_size, RTAS_INSTANTIATE_MAX); - } - - _rtas->base = lmb_alloc_base(_rtas->size, PAGE_SIZE, rtas_region); - - prom_printf(" at 0x%x", _rtas->base); - - prom_rtas = call_prom("open", 1, 1, ADDR("/rtas")); - prom_printf("..."); - - if (call_prom("call-method", 3, 2, - ADDR("instantiate-rtas"), - prom_rtas, - _rtas->base) != PROM_ERROR) { - _rtas->entry = (long)_prom->args.rets[1]; - } - RELOC(rtas_rmo_buf) - = lmb_alloc_base(RTAS_RMOBUF_MAX, PAGE_SIZE, - rtas_region); - } - - if (_rtas->entry <= 0) { - prom_printf(" failed\n"); - } else { - prom_printf(" done\n"); - } - - prom_debug("rtas->base = 0x%x\n", _rtas->base); - prom_debug("rtas->entry = 0x%x\n", _rtas->entry); - prom_debug("rtas->size = 0x%x\n", _rtas->size); - } - prom_debug("prom_instantiate_rtas: end...\n"); -} - - -#ifdef CONFIG_PMAC_DART -static void __init prom_initialize_dart_table(void) -{ - unsigned long offset = reloc_offset(); - extern unsigned long dart_tablebase; - extern unsigned long dart_tablesize; - - /* Only reserve DART space if machine has more than 2GB of RAM - * or if requested with iommu=on on cmdline. - */ - if (lmb_end_of_DRAM() <= 0x80000000ull && !RELOC(iommu_force_on)) - return; - - /* 512 pages (2MB) is max DART tablesize. */ - RELOC(dart_tablesize) = 1UL << 21; - /* 16MB (1 << 24) alignment. We allocate a full 16Mb chuck since we - * will blow up an entire large page anyway in the kernel mapping - */ - RELOC(dart_tablebase) = (unsigned long) - abs_to_virt(lmb_alloc_base(1UL<<24, 1UL<<24, 0x80000000L)); - - prom_printf("Dart at: %x\n", RELOC(dart_tablebase)); -} -#endif /* CONFIG_PMAC_DART */ - -static void __init prom_initialize_tce_table(void) -{ - phandle node; - ihandle phb_node; - unsigned long offset = reloc_offset(); - char compatible[64], path[64], type[64], model[64]; - unsigned long i, table = 0; - unsigned long base, vbase, align; - unsigned int minalign, minsize; - struct of_tce_table *prom_tce_table = RELOC(of_tce_table); - unsigned long tce_entry, *tce_entryp; - - if (RELOC(ppc64_iommu_off)) - return; - - prom_debug("starting prom_initialize_tce_table\n"); - - /* Search all nodes looking for PHBs. */ - for (node = 0; prom_next_node(&node); ) { - if (table == MAX_PHB) { - prom_printf("WARNING: PCI host bridge ignored, " - "need to increase MAX_PHB\n"); - continue; - } - - compatible[0] = 0; - type[0] = 0; - model[0] = 0; - prom_getprop(node, "compatible", - compatible, sizeof(compatible)); - prom_getprop(node, "device_type", type, sizeof(type)); - prom_getprop(node, "model", model, sizeof(model)); - - /* Keep the old logic in tack to avoid regression. */ - if (compatible[0] != 0) { - if ((strstr(compatible, RELOC("python")) == NULL) && - (strstr(compatible, RELOC("Speedwagon")) == NULL) && - (strstr(compatible, RELOC("Winnipeg")) == NULL)) - continue; - } else if (model[0] != 0) { - if ((strstr(model, RELOC("ython")) == NULL) && - (strstr(model, RELOC("peedwagon")) == NULL) && - (strstr(model, RELOC("innipeg")) == NULL)) - continue; - } - - if ((type[0] == 0) || (strstr(type, RELOC("pci")) == NULL)) { - continue; - } - - if (prom_getprop(node, "tce-table-minalign", &minalign, - sizeof(minalign)) == PROM_ERROR) { - minalign = 0; - } - - if (prom_getprop(node, "tce-table-minsize", &minsize, - sizeof(minsize)) == PROM_ERROR) { - minsize = 4UL << 20; - } - - /* - * Even though we read what OF wants, we just set the table - * size to 4 MB. This is enough to map 2GB of PCI DMA space. - * By doing this, we avoid the pitfalls of trying to DMA to - * MMIO space and the DMA alias hole. - * - * On POWER4, firmware sets the TCE region by assuming - * each TCE table is 8MB. Using this memory for anything - * else will impact performance, so we always allocate 8MB. - * Anton - */ - if (__is_processor(PV_POWER4) || __is_processor(PV_POWER4p)) - minsize = 8UL << 20; - else - minsize = 4UL << 20; - - /* Align to the greater of the align or size */ - align = max(minalign, minsize); - - /* Carve out storage for the TCE table. */ - base = lmb_alloc(minsize, align); - - if ( !base ) { - prom_panic("ERROR, cannot find space for TCE table.\n"); - } - - vbase = (unsigned long)abs_to_virt(base); - - /* Save away the TCE table attributes for later use. */ - prom_tce_table[table].node = node; - prom_tce_table[table].base = vbase; - prom_tce_table[table].size = minsize; - - prom_debug("TCE table: 0x%x\n", table); - prom_debug("\tnode = 0x%x\n", node); - prom_debug("\tbase = 0x%x\n", vbase); - prom_debug("\tsize = 0x%x\n", minsize); - - /* Initialize the table to have a one-to-one mapping - * over the allocated size. - */ - tce_entryp = (unsigned long *)base; - for (i = 0; i < (minsize >> 3) ;tce_entryp++, i++) { - tce_entry = (i << PAGE_SHIFT); - tce_entry |= 0x3; - *tce_entryp = tce_entry; - } - - /* It seems OF doesn't null-terminate the path :-( */ - memset(path, 0, sizeof(path)); - /* Call OF to setup the TCE hardware */ - if (call_prom("package-to-path", 3, 1, node, - path, sizeof(path)-1) == PROM_ERROR) { - prom_printf("package-to-path failed\n"); - } else { - prom_printf("opening PHB %s", path); - } - - phb_node = call_prom("open", 1, 1, path); - if ( (long)phb_node <= 0) { - prom_printf("... failed\n"); - } else { - prom_printf("... done\n"); - } - call_prom("call-method", 6, 0, ADDR("set-64-bit-addressing"), - phb_node, -1, minsize, - (u32) base, (u32) (base >> 32)); - call_prom("close", 1, 0, phb_node); - - table++; - } - - /* Flag the first invalid entry */ - prom_tce_table[table].node = 0; - prom_debug("ending prom_initialize_tce_table\n"); -} - -/* - * With CHRP SMP we need to use the OF to start the other - * processors so we can't wait until smp_boot_cpus (the OF is - * trashed by then) so we have to put the processors into - * a holding pattern controlled by the kernel (not OF) before - * we destroy the OF. - * - * This uses a chunk of low memory, puts some holding pattern - * code there and sends the other processors off to there until - * smp_boot_cpus tells them to do something. The holding pattern - * checks that address until its cpu # is there, when it is that - * cpu jumps to __secondary_start(). smp_boot_cpus() takes care - * of setting those values. - * - * We also use physical address 0x4 here to tell when a cpu - * is in its holding pattern code. - * - * Fixup comment... DRENG / PPPBBB - Peter - * - * -- Cort - */ -static void __init prom_hold_cpus(unsigned long mem) -{ - unsigned long i; - unsigned int reg; - phandle node; - unsigned long offset = reloc_offset(); - char type[64], *path; - int cpuid = 0; - unsigned int interrupt_server[MAX_CPU_THREADS]; - unsigned int cpu_threads, hw_cpu_num; - int propsize; - extern void __secondary_hold(void); - extern unsigned long __secondary_hold_spinloop; - extern unsigned long __secondary_hold_acknowledge; - unsigned long *spinloop - = (void *)virt_to_abs(&__secondary_hold_spinloop); - unsigned long *acknowledge - = (void *)virt_to_abs(&__secondary_hold_acknowledge); - unsigned long secondary_hold - = virt_to_abs(*PTRRELOC((unsigned long *)__secondary_hold)); - struct systemcfg *_systemcfg = RELOC(systemcfg); - struct paca_struct *lpaca = PTRRELOC(&paca[0]); - struct prom_t *_prom = PTRRELOC(&prom); -#ifdef CONFIG_SMP - struct naca_struct *_naca = RELOC(naca); -#endif - - /* On pmac, we just fill out the various global bitmasks and - * arrays indicating our CPUs are here, they are actually started - * later on from pmac_smp - */ - if (_systemcfg->platform == PLATFORM_POWERMAC) { - for (node = 0; prom_next_node(&node); ) { - type[0] = 0; - prom_getprop(node, "device_type", type, sizeof(type)); - if (strcmp(type, RELOC("cpu")) != 0) - continue; - reg = -1; - prom_getprop(node, "reg", ®, sizeof(reg)); - lpaca[cpuid].hw_cpu_id = reg; - -#ifdef CONFIG_SMP - cpu_set(cpuid, RELOC(cpu_available_map)); - cpu_set(cpuid, RELOC(cpu_possible_map)); - cpu_set(cpuid, RELOC(cpu_present_at_boot)); - if (reg == 0) - cpu_set(cpuid, RELOC(cpu_online_map)); -#endif /* CONFIG_SMP */ - cpuid++; - } - return; - } - - /* Initially, we must have one active CPU. */ - _systemcfg->processorCount = 1; - - prom_debug("prom_hold_cpus: start...\n"); - prom_debug(" 1) spinloop = 0x%x\n", (unsigned long)spinloop); - prom_debug(" 1) *spinloop = 0x%x\n", *spinloop); - prom_debug(" 1) acknowledge = 0x%x\n", - (unsigned long)acknowledge); - prom_debug(" 1) *acknowledge = 0x%x\n", *acknowledge); - prom_debug(" 1) secondary_hold = 0x%x\n", secondary_hold); - - /* Set the common spinloop variable, so all of the secondary cpus - * will block when they are awakened from their OF spinloop. - * This must occur for both SMP and non SMP kernels, since OF will - * be trashed when we move the kernel. - */ - *spinloop = 0; - -#ifdef CONFIG_HMT - for (i=0; i < NR_CPUS; i++) { - RELOC(hmt_thread_data)[i].pir = 0xdeadbeef; - } -#endif - /* look for cpus */ - for (node = 0; prom_next_node(&node); ) { - type[0] = 0; - prom_getprop(node, "device_type", type, sizeof(type)); - if (strcmp(type, RELOC("cpu")) != 0) - continue; - - /* Skip non-configured cpus. */ - prom_getprop(node, "status", type, sizeof(type)); - if (strcmp(type, RELOC("okay")) != 0) - continue; - - reg = -1; - prom_getprop(node, "reg", ®, sizeof(reg)); - - path = (char *) mem; - memset(path, 0, 256); - if (call_prom("package-to-path", 3, 1, - node, path, 255) == PROM_ERROR) - continue; - - prom_debug("\ncpuid = 0x%x\n", cpuid); - prom_debug("cpu hw idx = 0x%x\n", reg); - lpaca[cpuid].hw_cpu_id = reg; - - /* Init the acknowledge var which will be reset by - * the secondary cpu when it awakens from its OF - * spinloop. - */ - *acknowledge = (unsigned long)-1; - - propsize = prom_getprop(node, "ibm,ppc-interrupt-server#s", - &interrupt_server, - sizeof(interrupt_server)); - if (propsize < 0) { - /* no property. old hardware has no SMT */ - cpu_threads = 1; - interrupt_server[0] = reg; /* fake it with phys id */ - } else { - /* We have a threaded processor */ - cpu_threads = propsize / sizeof(u32); - if (cpu_threads > MAX_CPU_THREADS) { - prom_printf("SMT: too many threads!\n" - "SMT: found %x, max is %x\n", - cpu_threads, MAX_CPU_THREADS); - cpu_threads = 1; /* ToDo: panic? */ - } - } - - hw_cpu_num = interrupt_server[0]; - if (hw_cpu_num != _prom->cpu) { - /* Primary Thread of non-boot cpu */ - prom_printf("%x : starting cpu %s... ", cpuid, path); - call_prom("start-cpu", 3, 0, node, - secondary_hold, cpuid); - - for ( i = 0 ; (i < 100000000) && - (*acknowledge == ((unsigned long)-1)); i++ ) ; - - if (*acknowledge == cpuid) { - prom_printf("... done\n"); - /* We have to get every CPU out of OF, - * even if we never start it. */ - if (cpuid >= NR_CPUS) - goto next; -#ifdef CONFIG_SMP - /* Set the number of active processors. */ - _systemcfg->processorCount++; - cpu_set(cpuid, RELOC(cpu_available_map)); - cpu_set(cpuid, RELOC(cpu_possible_map)); - cpu_set(cpuid, RELOC(cpu_present_at_boot)); -#endif - } else { - prom_printf("... failed: %x\n", *acknowledge); - } - } -#ifdef CONFIG_SMP - else { - prom_printf("%x : booting cpu %s\n", cpuid, path); - cpu_set(cpuid, RELOC(cpu_available_map)); - cpu_set(cpuid, RELOC(cpu_possible_map)); - cpu_set(cpuid, RELOC(cpu_online_map)); - cpu_set(cpuid, RELOC(cpu_present_at_boot)); - } -#endif -next: -#ifdef CONFIG_SMP - /* Init paca for secondary threads. They start later. */ - for (i=1; i < cpu_threads; i++) { - cpuid++; - if (cpuid >= NR_CPUS) - continue; - lpaca[cpuid].hw_cpu_id = interrupt_server[i]; - prom_printf("%x : preparing thread ... ", - interrupt_server[i]); - if (_naca->smt_state) { - cpu_set(cpuid, RELOC(cpu_available_map)); - cpu_set(cpuid, RELOC(cpu_present_at_boot)); - prom_printf("available\n"); - } else { - prom_printf("not available\n"); - } - } -#endif - cpuid++; - } -#ifdef CONFIG_HMT - /* Only enable HMT on processors that provide support. */ - if (__is_processor(PV_PULSAR) || - __is_processor(PV_ICESTAR) || - __is_processor(PV_SSTAR)) { - prom_printf(" starting secondary threads\n"); - - for (i = 0; i < NR_CPUS; i += 2) { - if (!cpu_online(i)) - continue; - - if (i == 0) { - unsigned long pir = _get_PIR(); - if (__is_processor(PV_PULSAR)) { - RELOC(hmt_thread_data)[i].pir = - pir & 0x1f; - } else { - RELOC(hmt_thread_data)[i].pir = - pir & 0x3ff; - } - } -/* cpu_set(i+1, cpu_online_map); */ - cpu_set(i+1, RELOC(cpu_possible_map)); - } - _systemcfg->processorCount *= 2; - } else { - prom_printf("Processor is not HMT capable\n"); - } -#endif - - if (cpuid > NR_CPUS) - prom_printf("WARNING: maximum CPUs (" __stringify(NR_CPUS) - ") exceeded: ignoring extras\n"); - - prom_debug("prom_hold_cpus: end...\n"); -} - -static void __init smt_setup(void) -{ - char *p, *q; - char my_smt_enabled = SMT_DYNAMIC; - ihandle prom_options = 0; - char option[9]; - unsigned long offset = reloc_offset(); - struct naca_struct *_naca = RELOC(naca); - char found = 0; - - if (strstr(RELOC(cmd_line), RELOC("smt-enabled="))) { - for (q = RELOC(cmd_line); (p = strstr(q, RELOC("smt-enabled="))) != 0; ) { - q = p + 12; - if (p > RELOC(cmd_line) && p[-1] != ' ') - continue; - found = 1; - if (q[0] == 'o' && q[1] == 'f' && - q[2] == 'f' && (q[3] == ' ' || q[3] == '\0')) { - my_smt_enabled = SMT_OFF; - } else if (q[0]=='o' && q[1] == 'n' && - (q[2] == ' ' || q[2] == '\0')) { - my_smt_enabled = SMT_ON; - } else { - my_smt_enabled = SMT_DYNAMIC; - } - } - } - if (!found) { - prom_options = call_prom("finddevice", 1, 1, ADDR("/options")); - if (prom_options != (ihandle) -1) { - prom_getprop(prom_options, "ibm,smt-enabled", - option, sizeof(option)); - if (option[0] != 0) { - found = 1; - if (!strcmp(option, RELOC("off"))) - my_smt_enabled = SMT_OFF; - else if (!strcmp(option, RELOC("on"))) - my_smt_enabled = SMT_ON; - else - my_smt_enabled = SMT_DYNAMIC; - } - } - } - - if (!found ) - my_smt_enabled = SMT_DYNAMIC; /* default to on */ - - _naca->smt_state = my_smt_enabled; -} - - -#ifdef CONFIG_BOOTX_TEXT - -/* This function will enable the early boot text when doing OF booting. This - * way, xmon output should work too - */ -static void __init setup_disp_fake_bi(ihandle dp) -{ - int width = 640, height = 480, depth = 8, pitch; - unsigned address; - struct pci_reg_property addrs[8]; - int i, naddrs; - char name[64]; - unsigned long offset = reloc_offset(); - - memset(name, 0, sizeof(name)); - prom_getprop(dp, "name", name, sizeof(name)); - name[sizeof(name)-1] = 0; - prom_printf("Initializing fake screen: %s\n", name); - - prom_getprop(dp, "width", &width, sizeof(width)); - prom_getprop(dp, "height", &height, sizeof(height)); - prom_getprop(dp, "depth", &depth, sizeof(depth)); - pitch = width * ((depth + 7) / 8); - prom_getprop(dp, "linebytes", &pitch, sizeof(pitch)); - if (pitch == 1) - pitch = 0x1000; /* for strange IBM display */ - address = 0; - - prom_printf("width %x height %x depth %x linebytes %x\n", - width, height, depth, depth); - - prom_getprop(dp, "address", &address, sizeof(address)); - if (address == 0) { - /* look for an assigned address with a size of >= 1MB */ - naddrs = prom_getprop(dp, "assigned-addresses", - addrs, sizeof(addrs)); - naddrs /= sizeof(struct pci_reg_property); - for (i = 0; i < naddrs; ++i) { - if (addrs[i].size_lo >= (1 << 20)) { - address = addrs[i].addr.a_lo; - /* use the BE aperture if possible */ - if (addrs[i].size_lo >= (16 << 20)) - address += (8 << 20); - break; - } - } - if (address == 0) { - prom_printf("Failed to get address of frame buffer\n"); - return; - } - } - btext_setup_display(width, height, depth, pitch, address); - prom_printf("Addr of fb: %x\n", address); - RELOC(boot_text_mapped) = 0; -} -#endif /* CONFIG_BOOTX_TEXT */ - -static void __init prom_init_client_services(unsigned long pp) -{ - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - - /* Get a handle to the prom entry point before anything else */ - _prom->entry = pp; - - /* Init default value for phys size */ - _prom->encode_phys_size = 32; - - /* get a handle for the stdout device */ - _prom->chosen = call_prom("finddevice", 1, 1, ADDR("/chosen")); - if ((long)_prom->chosen <= 0) - prom_panic("cannot find chosen"); /* msg won't be printed :( */ - - /* get device tree root */ - _prom->root = call_prom("finddevice", 1, 1, ADDR("/")); - if ((long)_prom->root <= 0) - prom_panic("cannot find device tree root"); /* msg won't be printed :( */ -} - -static void __init prom_init_stdout(void) -{ - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - u32 val; - - if (prom_getprop(_prom->chosen, "stdout", &val, sizeof(val)) <= 0) - prom_panic("cannot find stdout"); - - _prom->stdout = val; -} - -static int __init prom_find_machine_type(void) -{ - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - char compat[256]; - int len, i = 0; - - len = prom_getprop(_prom->root, "compatible", - compat, sizeof(compat)-1); - if (len > 0) { - compat[len] = 0; - while (i < len) { - char *p = &compat[i]; - int sl = strlen(p); - if (sl == 0) - break; - if (strstr(p, RELOC("Power Macintosh")) || - strstr(p, RELOC("MacRISC4"))) - return PLATFORM_POWERMAC; - i += sl + 1; - } - } - /* Default to pSeries */ - return PLATFORM_PSERIES; -} - -static int __init prom_set_color(ihandle ih, int i, int r, int g, int b) -{ - unsigned long offset = reloc_offset(); - - return call_prom("call-method", 6, 1, ADDR("color!"), ih, i, b, g, r); -} - -/* - * If we have a display that we don't know how to drive, - * we will want to try to execute OF's open method for it - * later. However, OF will probably fall over if we do that - * we've taken over the MMU. - * So we check whether we will need to open the display, - * and if so, open it now. - */ -static unsigned long __init check_display(unsigned long mem) -{ - phandle node; - ihandle ih; - int i, j; - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - char type[16], *path; - static unsigned char default_colors[] = { - 0x00, 0x00, 0x00, - 0x00, 0x00, 0xaa, - 0x00, 0xaa, 0x00, - 0x00, 0xaa, 0xaa, - 0xaa, 0x00, 0x00, - 0xaa, 0x00, 0xaa, - 0xaa, 0xaa, 0x00, - 0xaa, 0xaa, 0xaa, - 0x55, 0x55, 0x55, - 0x55, 0x55, 0xff, - 0x55, 0xff, 0x55, - 0x55, 0xff, 0xff, - 0xff, 0x55, 0x55, - 0xff, 0x55, 0xff, - 0xff, 0xff, 0x55, - 0xff, 0xff, 0xff - }; - const unsigned char *clut; - - _prom->disp_node = 0; - - prom_printf("Looking for displays\n"); - if (RELOC(of_stdout_device) != 0) - prom_printf("OF stdout is : %s\n", - PTRRELOC(RELOC(of_stdout_device))); - for (node = 0; prom_next_node(&node); ) { - type[0] = 0; - prom_getprop(node, "device_type", type, sizeof(type)); - if (strcmp(type, RELOC("display")) != 0) - continue; - /* It seems OF doesn't null-terminate the path :-( */ - path = (char *) mem; - memset(path, 0, 256); - - /* - * leave some room at the end of the path for appending extra - * arguments - */ - if (call_prom("package-to-path", 3, 1, node, path, 250) < 0) - continue; - prom_printf("found display : %s\n", path); - - /* - * If this display is the device that OF is using for stdout, - * move it to the front of the list. - */ - mem += strlen(path) + 1; - i = RELOC(prom_num_displays); - RELOC(prom_num_displays) = i + 1; - if (RELOC(of_stdout_device) != 0 && i > 0 - && strcmp(PTRRELOC(RELOC(of_stdout_device)), path) == 0) { - for (; i > 0; --i) { - RELOC(prom_display_paths[i]) - = RELOC(prom_display_paths[i-1]); - RELOC(prom_display_nodes[i]) - = RELOC(prom_display_nodes[i-1]); - } - _prom->disp_node = node; - } - RELOC(prom_display_paths[i]) = PTRUNRELOC(path); - RELOC(prom_display_nodes[i]) = node; - if (_prom->disp_node == 0) - _prom->disp_node = node; - if (RELOC(prom_num_displays) >= FB_MAX) - break; - } - prom_printf("Opening displays...\n"); - for (j = RELOC(prom_num_displays) - 1; j >= 0; j--) { - path = PTRRELOC(RELOC(prom_display_paths[j])); - prom_printf("opening display : %s", path); - ih = call_prom("open", 1, 1, path); - if (ih == (ihandle)0 || ih == (ihandle)-1) { - prom_printf("... failed\n"); - continue; - } - - prom_printf("... done\n"); - - /* Setup a useable color table when the appropriate - * method is available. Should update this to set-colors */ - clut = RELOC(default_colors); - for (i = 0; i < 32; i++, clut += 3) - if (prom_set_color(ih, i, clut[0], clut[1], - clut[2]) != 0) - break; - -#ifdef CONFIG_LOGO_LINUX_CLUT224 - clut = PTRRELOC(RELOC(logo_linux_clut224.clut)); - for (i = 0; i < RELOC(logo_linux_clut224.clutsize); i++, clut += 3) - if (prom_set_color(ih, i + 32, clut[0], clut[1], - clut[2]) != 0) - break; -#endif /* CONFIG_LOGO_LINUX_CLUT224 */ - } - - return DOUBLEWORD_ALIGN(mem); -} - -/* Return (relocated) pointer to this much memory: moves initrd if reqd. */ -static void __init *__make_room(unsigned long *mem_start, unsigned long *mem_end, - unsigned long needed, unsigned long align) -{ - void *ret; - - *mem_start = ALIGN(*mem_start, align); - if (*mem_start + needed > *mem_end) { -#ifdef CONFIG_BLK_DEV_INITRD - unsigned long offset = reloc_offset(); - /* FIXME: Apple OF doesn't map unclaimed mem. If this - * ever happened on G5, we'd need to fix. */ - unsigned long initrd_len; - - if (*mem_end != RELOC(initrd_start)) - prom_panic("No memory for copy_device_tree"); - - prom_printf("Huge device_tree: moving initrd\n"); - /* Move by 4M. */ - initrd_len = RELOC(initrd_end) - RELOC(initrd_start); - *mem_end = RELOC(initrd_start) + 4 * 1024 * 1024; - memmove((void *)*mem_end, (void *)RELOC(initrd_start), - initrd_len); - RELOC(initrd_start) = *mem_end; - RELOC(initrd_end) = RELOC(initrd_start) + initrd_len; -#else - prom_panic("No memory for copy_device_tree"); -#endif - } - - ret = (void *)*mem_start; - *mem_start += needed; - - return ret; -} - -#define make_room(startp, endp, type) \ - __make_room(startp, endp, sizeof(type), __alignof__(type)) - -static void __init -inspect_node(phandle node, struct device_node *dad, - unsigned long *mem_start, unsigned long *mem_end, - struct device_node ***allnextpp) -{ - int l; - phandle child; - struct device_node *np; - struct property *pp, **prev_propp; - char *prev_name, *namep; - unsigned char *valp; - unsigned long offset = reloc_offset(); - phandle ibm_phandle; - - np = make_room(mem_start, mem_end, struct device_node); - memset(np, 0, sizeof(*np)); - - np->node = node; - **allnextpp = PTRUNRELOC(np); - *allnextpp = &np->allnext; - if (dad != 0) { - np->parent = PTRUNRELOC(dad); - /* we temporarily use the `next' field as `last_child'. */ - if (dad->next == 0) - dad->child = PTRUNRELOC(np); - else - dad->next->sibling = PTRUNRELOC(np); - dad->next = np; - } - - /* get and store all properties */ - prev_propp = &np->properties; - prev_name = RELOC(""); - for (;;) { - /* 32 is max len of name including nul. */ - namep = make_room(mem_start, mem_end, char[32]); - if (call_prom("nextprop", 3, 1, node, prev_name, namep) <= 0) { - /* No more nodes: unwind alloc */ - *mem_start = (unsigned long)namep; - break; - } - /* Trim off some if we can */ - *mem_start = DOUBLEWORD_ALIGN((unsigned long)namep - + strlen(namep) + 1); - pp = make_room(mem_start, mem_end, struct property); - pp->name = PTRUNRELOC(namep); - prev_name = namep; - - pp->length = call_prom("getproplen", 2, 1, node, namep); - if (pp->length < 0) - continue; - if (pp->length > MAX_PROPERTY_LENGTH) { - char path[128]; - - prom_printf("WARNING: ignoring large property "); - /* It seems OF doesn't null-terminate the path :-( */ - memset(path, 0, sizeof(path)); - if (call_prom("package-to-path", 3, 1, node, - path, sizeof(path)-1) > 0) - prom_printf("[%s] ", path); - prom_printf("%s length 0x%x\n", namep, pp->length); - continue; - } - valp = __make_room(mem_start, mem_end, pp->length, 1); - pp->value = PTRUNRELOC(valp); - call_prom("getprop", 4, 1, node, namep, valp, pp->length); - *prev_propp = PTRUNRELOC(pp); - prev_propp = &pp->next; - } - - /* Add a "linux,phandle" property. */ - namep = make_room(mem_start, mem_end, char[16]); - strcpy(namep, RELOC("linux,phandle")); - pp = make_room(mem_start, mem_end, struct property); - pp->name = PTRUNRELOC(namep); - pp->length = sizeof(phandle); - valp = make_room(mem_start, mem_end, phandle); - pp->value = PTRUNRELOC(valp); - *(phandle *)valp = node; - *prev_propp = PTRUNRELOC(pp); - pp->next = NULL; - - /* Set np->linux_phandle to the value of the ibm,phandle property - if it exists, otherwise to the phandle for this node. */ - np->linux_phandle = node; - if (prom_getprop(node, "ibm,phandle", - &ibm_phandle, sizeof(ibm_phandle)) > 0) - np->linux_phandle = ibm_phandle; - - /* get the node's full name */ - namep = (char *)*mem_start; - l = call_prom("package-to-path", 3, 1, node, - namep, *mem_end - *mem_start); - if (l >= 0) { - /* Didn't fit? Get more room. */ - if (l+1 > *mem_end - *mem_start) { - namep = __make_room(mem_start, mem_end, l+1, 1); - call_prom("package-to-path", 3, 1, node, namep, l); - } - np->full_name = PTRUNRELOC(namep); - namep[l] = '\0'; - *mem_start = DOUBLEWORD_ALIGN(*mem_start + l + 1); - } - - /* do all our children */ - child = call_prom("child", 1, 1, node); - while (child != (phandle)0) { - inspect_node(child, np, mem_start, mem_end, - allnextpp); - child = call_prom("peer", 1, 1, child); - } -} - -/* - * Make a copy of the device tree from the PROM. - */ -static unsigned long __init -copy_device_tree(unsigned long mem_start) -{ - phandle root; - struct device_node **allnextp; - unsigned long offset = reloc_offset(); - unsigned long mem_end; - - /* We pass mem_end-mem_start to OF: keep it well under 32-bit */ - mem_end = mem_start + 1024*1024*1024; -#ifdef CONFIG_BLK_DEV_INITRD - if (RELOC(initrd_start) && RELOC(initrd_start) > mem_start) - mem_end = RELOC(initrd_start); -#endif /* CONFIG_BLK_DEV_INITRD */ - - root = call_prom("peer", 1, 1, (phandle)0); - if (root == (phandle)0) { - prom_panic("couldn't get device tree root\n"); - } - allnextp = &RELOC(allnodes); - inspect_node(root, NULL, &mem_start, &mem_end, &allnextp); - *allnextp = NULL; - return mem_start; -} - -/* Verify bi_recs are good */ -static struct bi_record * __init prom_bi_rec_verify(struct bi_record *bi_recs) -{ - struct bi_record *first, *last; - - prom_debug("birec_verify: r6=0x%x\n", (unsigned long)bi_recs); - if (bi_recs != NULL) - prom_debug(" tag=0x%x\n", bi_recs->tag); - - if ( bi_recs == NULL || bi_recs->tag != BI_FIRST ) - return NULL; - - last = (struct bi_record *)(long)bi_recs->data[0]; - - prom_debug(" last=0x%x\n", (unsigned long)last); - if (last != NULL) - prom_debug(" last_tag=0x%x\n", last->tag); - - if ( last == NULL || last->tag != BI_LAST ) - return NULL; - - first = (struct bi_record *)(long)last->data[0]; - prom_debug(" first=0x%x\n", (unsigned long)first); - - if ( first == NULL || first != bi_recs ) - return NULL; - - return bi_recs; -} - -static void __init prom_bi_rec_reserve(void) -{ - unsigned long offset = reloc_offset(); - struct prom_t *_prom = PTRRELOC(&prom); - struct bi_record *rec; - - if ( _prom->bi_recs != NULL) { - - for ( rec=_prom->bi_recs; - rec->tag != BI_LAST; - rec=bi_rec_next(rec) ) { - prom_debug("bi: 0x%x\n", rec->tag); - switch (rec->tag) { -#ifdef CONFIG_BLK_DEV_INITRD - case BI_INITRD: - RELOC(initrd_start) = (unsigned long)(rec->data[0]); - RELOC(initrd_end) = RELOC(initrd_start) + rec->data[1]; - break; -#endif /* CONFIG_BLK_DEV_INITRD */ - } - } - /* The next use of this field will be after relocation - * is enabled, so convert this physical address into a - * virtual address. - */ - _prom->bi_recs = PTRUNRELOC(_prom->bi_recs); - } -} - -/* - * We enter here early on, when the Open Firmware prom is still - * handling exceptions and the MMU hash table for us. - */ - -unsigned long __init -prom_init(unsigned long r3, unsigned long r4, unsigned long pp, - unsigned long r6, unsigned long r7) -{ - unsigned long mem; - ihandle prom_cpu; - phandle cpu_pkg; - unsigned long offset = reloc_offset(); - long l; - char *p, *d; - unsigned long phys; - u32 getprop_rval; - struct systemcfg *_systemcfg; - struct paca_struct *lpaca = PTRRELOC(&paca[0]); - struct prom_t *_prom = PTRRELOC(&prom); - - /* First zero the BSS -- use memset, some arches don't have - * caches on yet */ - memset(PTRRELOC(&__bss_start), 0, __bss_stop - __bss_start); - - /* Setup systemcfg and NACA pointers now */ - RELOC(systemcfg) = _systemcfg = (struct systemcfg *)(SYSTEMCFG_VIRT_ADDR - offset); - RELOC(naca) = (struct naca_struct *)(NACA_VIRT_ADDR - offset); - - /* Init interface to Open Firmware and pickup bi-recs */ - prom_init_client_services(pp); - - /* Init prom stdout device */ - prom_init_stdout(); - - prom_debug("klimit=0x%x\n", RELOC(klimit)); - prom_debug("offset=0x%x\n", offset); - prom_debug("->mem=0x%x\n", RELOC(klimit) - offset); - - /* check out if we have bi_recs */ - _prom->bi_recs = prom_bi_rec_verify((struct bi_record *)r6); - if ( _prom->bi_recs != NULL ) { - RELOC(klimit) = PTRUNRELOC((unsigned long)_prom->bi_recs + - _prom->bi_recs->data[1]); - prom_debug("bi_recs=0x%x\n", (unsigned long)_prom->bi_recs); - prom_debug("new mem=0x%x\n", RELOC(klimit) - offset); - } - - /* If we don't have birec's or didn't find them, check for an initrd - * using the "yaboot" way - */ -#ifdef CONFIG_BLK_DEV_INITRD - if ( _prom->bi_recs == NULL && r3 && r4 && r4 != 0xdeadbeef) { - RELOC(initrd_start) = (r3 >= KERNELBASE) ? __pa(r3) : r3; - RELOC(initrd_end) = RELOC(initrd_start) + r4; - RELOC(initrd_below_start_ok) = 1; - } -#endif /* CONFIG_BLK_DEV_INITRD */ - - /* Default machine type. */ - _systemcfg->platform = prom_find_machine_type(); - - /* On pSeries, copy the CPU hold code */ - if (_systemcfg->platform == PLATFORM_PSERIES) - copy_and_flush(0, KERNELBASE - offset, 0x100, 0); - - /* Start storing things at klimit */ - mem = RELOC(klimit) - offset; - - /* Get the full OF pathname of the stdout device */ - p = (char *) mem; - memset(p, 0, 256); - call_prom("instance-to-path", 3, 1, _prom->stdout, p, 255); - RELOC(of_stdout_device) = PTRUNRELOC(p); - mem += strlen(p) + 1; - - getprop_rval = 1; - prom_getprop(_prom->root, "#size-cells", - &getprop_rval, sizeof(getprop_rval)); - _prom->encode_phys_size = (getprop_rval == 1) ? 32 : 64; - - /* Determine which cpu is actually running right _now_ */ - if (prom_getprop(_prom->chosen, "cpu", - &prom_cpu, sizeof(prom_cpu)) <= 0) - prom_panic("cannot find boot cpu"); - - cpu_pkg = call_prom("instance-to-package", 1, 1, prom_cpu); - prom_getprop(cpu_pkg, "reg", &getprop_rval, sizeof(getprop_rval)); - _prom->cpu = getprop_rval; - lpaca[0].hw_cpu_id = _prom->cpu; - - RELOC(boot_cpuid) = 0; - - prom_debug("Booting CPU hw index = 0x%x\n", _prom->cpu); - - /* Get the boot device and translate it to a full OF pathname. */ - p = (char *) mem; - l = prom_getprop(_prom->chosen, "bootpath", p, 1<<20); - if (l > 0) { - p[l] = 0; /* should already be null-terminated */ - RELOC(bootpath) = PTRUNRELOC(p); - mem += l + 1; - d = (char *) mem; - *d = 0; - call_prom("canon", 3, 1, p, d, 1<<20); - RELOC(bootdevice) = PTRUNRELOC(d); - mem = DOUBLEWORD_ALIGN(mem + strlen(d) + 1); - } - - RELOC(cmd_line[0]) = 0; - if ((long)_prom->chosen > 0) { - prom_getprop(_prom->chosen, "bootargs", p, sizeof(cmd_line)); - if (p != NULL && p[0] != 0) - strlcpy(RELOC(cmd_line), p, sizeof(cmd_line)); - } - - early_cmdline_parse(); - - prom_initialize_lmb(); - - prom_bi_rec_reserve(); - - mem = check_display(mem); - - if (_systemcfg->platform != PLATFORM_POWERMAC) - prom_instantiate_rtas(); - - /* Initialize some system info into the Naca early... */ - prom_initialize_naca(); - - smt_setup(); - - /* If we are on an SMP machine, then we *MUST* do the - * following, regardless of whether we have an SMP - * kernel or not. - */ - prom_hold_cpus(mem); - - prom_debug("after basic inits, mem=0x%x\n", mem); -#ifdef CONFIG_BLK_DEV_INITRD - prom_debug("initrd_start=0x%x\n", RELOC(initrd_start)); - prom_debug("initrd_end=0x%x\n", RELOC(initrd_end)); -#endif /* CONFIG_BLK_DEV_INITRD */ - prom_debug("copying OF device tree...\n"); - - mem = copy_device_tree(mem); - - RELOC(klimit) = mem + offset; +#ifdef DEBUG +#define DBG(fmt...) udbg_printf(fmt) +#else +#define DBG(fmt...) +#endif - prom_debug("new klimit is\n"); - prom_debug("klimit=0x%x\n", RELOC(klimit)); - prom_debug(" ->mem=0x%x\n", mem); +struct pci_reg_property { + struct pci_address addr; + u32 size_hi; + u32 size_lo; +}; - lmb_reserve(0, __pa(RELOC(klimit))); +struct isa_reg_property { + u32 space; + u32 address; + u32 size; +}; -#ifdef CONFIG_BLK_DEV_INITRD - if (RELOC(initrd_start)) { - unsigned long initrd_len; - initrd_len = RELOC(initrd_end) - RELOC(initrd_start); - /* Move initrd if it's where we're going to copy kernel. */ - if (RELOC(initrd_start) < __pa(RELOC(klimit))) { - memmove((void *)mem, (void *)RELOC(initrd_start), - initrd_len); - RELOC(initrd_start) = mem; - RELOC(initrd_end) = mem + initrd_len; - } +typedef unsigned long interpret_func(struct device_node *, unsigned long, + int, int, int); - lmb_reserve(RELOC(initrd_start), initrd_len); - } -#endif /* CONFIG_BLK_DEV_INITRD */ +extern struct rtas_t rtas; +extern struct lmb lmb; +extern unsigned long klimit; - if (_systemcfg->platform == PLATFORM_PSERIES) - prom_initialize_tce_table(); +static int __initdata dt_root_addr_cells; +static int __initdata dt_root_size_cells; +static int __initdata iommu_is_off; +int __initdata iommu_force_on; +typedef u32 cell_t; -#ifdef CONFIG_PMAC_DART - if (_systemcfg->platform == PLATFORM_POWERMAC) - prom_initialize_dart_table(); +#if 0 +static struct boot_param_header *initial_boot_params __initdata; +#else +struct boot_param_header *initial_boot_params; #endif -#ifdef CONFIG_BOOTX_TEXT - if (_prom->disp_node) { - prom_printf("Setting up bi display...\n"); - setup_disp_fake_bi(_prom->disp_node); - } -#endif /* CONFIG_BOOTX_TEXT */ - - prom_printf("Calling quiesce ...\n"); - call_prom("quiesce", 0, 0); - phys = KERNELBASE - offset; +static struct device_node *allnodes = NULL; -#ifdef CONFIG_BLK_DEV_INITRD - /* If we had an initrd, we convert its address to virtual */ - if (RELOC(initrd_start)) { - RELOC(initrd_start) = (unsigned long)__va(RELOC(initrd_start)); - RELOC(initrd_end) = (unsigned long)__va(RELOC(initrd_end)); - } -#endif /* CONFIG_BLK_DEV_INITRD */ +/* use when traversing tree through the allnext, child, sibling, + * or parent members of struct device_node. + */ +static rwlock_t devtree_lock = RW_LOCK_UNLOCKED; - prom_printf("returning from prom_init\n"); - return phys; -} +/* export that to outside world */ +struct device_node *of_chosen; /* * Find the device_node with a given phandle. */ -static struct device_node * __devinit -find_phandle(phandle ph) +static struct device_node * find_phandle(phandle ph) { struct device_node *np; @@ -1866,8 +118,7 @@ find_phandle(phandle ph) /* * Find the interrupt parent of a node. */ -static struct device_node * __devinit -intr_parent(struct device_node *p) +static struct device_node * __devinit intr_parent(struct device_node *p) { phandle *parp; @@ -1908,14 +159,14 @@ int __devinit prom_n_intr_cells(struct device_node *np) * Map an interrupt from a device up to the platform interrupt * descriptor. */ -static int __devinit -map_interrupt(unsigned int **irq, struct device_node **ictrler, - struct device_node *np, unsigned int *ints, int nintrc) +static int __devinit map_interrupt(unsigned int **irq, struct device_node **ictrler, + struct device_node *np, unsigned int *ints, + int nintrc) { struct device_node *p, *ipar; unsigned int *imap, *imask, *ip; int i, imaplen, match; - int newintrc, newaddrc; + int newintrc = 0, newaddrc = 0; unsigned int *reg; int naddrc; @@ -2004,9 +255,9 @@ map_interrupt(unsigned int **irq, struct device_node **ictrler, return nintrc; } -static unsigned long __init -finish_node_interrupts(struct device_node *np, unsigned long mem_start, - int measure_only) +static unsigned long __init finish_node_interrupts(struct device_node *np, + unsigned long mem_start, + int measure_only) { unsigned int *ints; int intlen, intrcells, intrcount; @@ -2067,9 +318,10 @@ finish_node_interrupts(struct device_node *np, unsigned long mem_start, return mem_start; } -static unsigned long __init -interpret_pci_props(struct device_node *np, unsigned long mem_start, - int naddrc, int nsizec, int measure_only) +static unsigned long __init interpret_pci_props(struct device_node *np, + unsigned long mem_start, + int naddrc, int nsizec, + int measure_only) { struct address_range *adr; struct pci_reg_property *pci_addrs; @@ -2095,9 +347,10 @@ interpret_pci_props(struct device_node *np, unsigned long mem_start, return mem_start; } -static unsigned long __init -interpret_dbdma_props(struct device_node *np, unsigned long mem_start, - int naddrc, int nsizec, int measure_only) +static unsigned long __init interpret_dbdma_props(struct device_node *np, + unsigned long mem_start, + int naddrc, int nsizec, + int measure_only) { struct reg_property32 *rp; struct address_range *adr; @@ -2135,9 +388,10 @@ interpret_dbdma_props(struct device_node *np, unsigned long mem_start, return mem_start; } -static unsigned long __init -interpret_macio_props(struct device_node *np, unsigned long mem_start, - int naddrc, int nsizec, int measure_only) +static unsigned long __init interpret_macio_props(struct device_node *np, + unsigned long mem_start, + int naddrc, int nsizec, + int measure_only) { struct reg_property32 *rp; struct address_range *adr; @@ -2175,9 +429,10 @@ interpret_macio_props(struct device_node *np, unsigned long mem_start, return mem_start; } -static unsigned long __init -interpret_isa_props(struct device_node *np, unsigned long mem_start, - int naddrc, int nsizec, int measure_only) +static unsigned long __init interpret_isa_props(struct device_node *np, + unsigned long mem_start, + int naddrc, int nsizec, + int measure_only) { struct isa_reg_property *rp; struct address_range *adr; @@ -2203,9 +458,10 @@ interpret_isa_props(struct device_node *np, unsigned long mem_start, return mem_start; } -static unsigned long __init -interpret_root_props(struct device_node *np, unsigned long mem_start, - int naddrc, int nsizec, int measure_only) +static unsigned long __init interpret_root_props(struct device_node *np, + unsigned long mem_start, + int naddrc, int nsizec, + int measure_only) { struct address_range *adr; int i, l; @@ -2233,21 +489,15 @@ interpret_root_props(struct device_node *np, unsigned long mem_start, return mem_start; } -static unsigned long __init -finish_node(struct device_node *np, unsigned long mem_start, - interpret_func *ifunc, int naddrc, int nsizec, int measure_only) +static unsigned long __init finish_node(struct device_node *np, + unsigned long mem_start, + interpret_func *ifunc, + int naddrc, int nsizec, + int measure_only) { struct device_node *child; int *ip; - np->name = get_property(np, "name", NULL); - np->type = get_property(np, "device_type", NULL); - - if (!np->name) - np->name = ""; - if (!np->type) - np->type = ""; - /* get the device addresses and interrupts */ if (ifunc != NULL) mem_start = ifunc(np, mem_start, naddrc, nsizec, measure_only); @@ -2298,24 +548,516 @@ finish_node(struct device_node *np, unsigned long mem_start, /** * finish_device_tree is called once things are running normally * (i.e. with text and data mapped to the address they were linked at). - * It traverses the device tree and fills in the name, type, - * {n_}addrs and {n_}intrs fields of each node. + * It traverses the device tree and fills in some of the additional, + * fields in each node like {n_}addrs and {n_}intrs, the virt interrupt + * mapping is also initialized at this point. */ -void __init -finish_device_tree(void) +void __init finish_device_tree(void) { - unsigned long mem = klimit; + unsigned long mem, size; + + DBG(" -> finish_device_tree\n"); + if (naca->interrupt_controller == IC_INVALID) { + DBG("failed to configure interrupt controller type\n"); + panic("failed to configure interrupt controller type\n"); + } + + /* Initialize virtual IRQ map */ virt_irq_init(); - dev_tree_size = finish_node(allnodes, 0, NULL, 0, 0, 1); - mem = (long)abs_to_virt(lmb_alloc(dev_tree_size, - __alignof__(struct device_node))); - if (finish_node(allnodes, mem, NULL, 0, 0, 0) != mem + dev_tree_size) + /* Finish device-tree (pre-parsing some properties etc...) */ + size = finish_node(allnodes, 0, NULL, 0, 0, 1); + mem = (unsigned long)abs_to_virt(lmb_alloc(size, 128)); + if (finish_node(allnodes, mem, NULL, 0, 0, 0) != mem + size) BUG(); - rtas.dev = of_find_node_by_name(NULL, "rtas"); + + DBG(" <- finish_device_tree\n"); +} + +#ifdef DEBUG +#define printk udbg_printf +#endif + +static inline char *find_flat_dt_string(u32 offset) +{ + return ((char *)initial_boot_params) + initial_boot_params->off_dt_strings + + offset; +} + +/** + * This function is used to scan the flattened device-tree, it is + * used to extract the memory informations at boot before we can + * unflatten the tree + */ +static int __init scan_flat_dt(int (*it)(unsigned long node, + const char *full_path, void *data), + void *data) +{ + unsigned long p = ((unsigned long)initial_boot_params) + + initial_boot_params->off_dt_struct; + int rc = 0; + + do { + u32 tag = *((u32 *)p); + char *pathp; + + p += 4; + if (tag == OF_DT_END_NODE) + continue; + if (tag == OF_DT_END) + break; + if (tag == OF_DT_PROP) { + u32 sz = *((u32 *)p); + p += 8; + p = _ALIGN(p, sz >= 8 ? 8 : 4); + p += sz; + p = _ALIGN(p, 4); + continue; + } + if (tag != OF_DT_BEGIN_NODE) { + printk(KERN_WARNING "Invalid tag %x scanning flattened" + " device tree !\n", tag); + return -EINVAL; + } + pathp = (char *)p; + p = _ALIGN(p + strlen(pathp) + 1, 4); + rc = it(p, pathp, data); + if (rc != 0) + break; + } while(1); + + return rc; +} + +/** + * This function can be used within scan_flattened_dt callback to get + * access to properties + */ +static void* __init get_flat_dt_prop(unsigned long node, const char *name, + unsigned long *size) +{ + unsigned long p = node; + + do { + u32 tag = *((u32 *)p); + u32 sz, noff; + const char *nstr; + + p += 4; + if (tag != OF_DT_PROP) + return NULL; + + sz = *((u32 *)p); + noff = *((u32 *)(p + 4)); + p += 8; + p = _ALIGN(p, sz >= 8 ? 8 : 4); + + nstr = find_flat_dt_string(noff); + if (nstr == NULL) { + printk(KERN_WARNING "Can't find property index name !\n"); + return NULL; + } + if (strcmp(name, nstr) == 0) { + if (size) + *size = sz; + return (void *)p; + } + p += sz; + p = _ALIGN(p, 4); + } while(1); +} + +static void *__init unflatten_dt_alloc(unsigned long *mem, unsigned long size, + unsigned long align) +{ + void *res; + + *mem = _ALIGN(*mem, align); + res = (void *)*mem; + *mem += size; + + return res; +} + +static unsigned long __init unflatten_dt_node(unsigned long mem, + unsigned long *p, + struct device_node *dad, + struct device_node ***allnextpp) +{ + struct device_node *np; + struct property *pp, **prev_pp = NULL; + char *pathp; + u32 tag; + unsigned int l; + + tag = *((u32 *)(*p)); + if (tag != OF_DT_BEGIN_NODE) { + printk("Weird tag at start of node: %x\n", tag); + return mem; + } + *p += 4; + pathp = (char *)*p; + l = strlen(pathp) + 1; + *p = _ALIGN(*p + l, 4); + + np = unflatten_dt_alloc(&mem, sizeof(struct device_node) + l, + __alignof__(struct device_node)); + if (allnextpp) { + memset(np, 0, sizeof(*np)); + np->full_name = ((char*)np) + sizeof(struct device_node); + memcpy(np->full_name, pathp, l); + prev_pp = &np->properties; + **allnextpp = np; + *allnextpp = &np->allnext; + if (dad != NULL) { + np->parent = dad; + /* we temporarily use the `next' field as `last_child'. */ + if (dad->next == 0) + dad->child = np; + else + dad->next->sibling = np; + dad->next = np; + } + } + while(1) { + u32 sz, noff; + char *pname; + + tag = *((u32 *)(*p)); + if (tag != OF_DT_PROP) + break; + *p += 4; + sz = *((u32 *)(*p)); + noff = *((u32 *)((*p) + 4)); + *p = _ALIGN((*p) + 8, sz >= 8 ? 8 : 4); + + pname = find_flat_dt_string(noff); + if (pname == NULL) { + printk("Can't find property name in list !\n"); + break; + } + l = strlen(pname) + 1; + pp = unflatten_dt_alloc(&mem, sizeof(struct property), + __alignof__(struct property)); + if (allnextpp) { + if (strcmp(pname, "linux,phandle") == 0) { + np->node = *((u32 *)*p); + if (np->linux_phandle == 0) + np->linux_phandle = np->node; + } + if (strcmp(pname, "ibm,phandle") == 0) + np->linux_phandle = *((u32 *)*p); + pp->name = pname; + pp->length = sz; + pp->value = (void *)*p; + *prev_pp = pp; + prev_pp = &pp->next; + } + *p = _ALIGN((*p) + sz, 4); + } + if (allnextpp) { + *prev_pp = NULL; + np->name = get_property(np, "name", NULL); + np->type = get_property(np, "device_type", NULL); + + if (!np->name) + np->name = ""; + if (!np->type) + np->type = ""; + } + while (tag == OF_DT_BEGIN_NODE) { + mem = unflatten_dt_node(mem, p, np, allnextpp); + tag = *((u32 *)(*p)); + } + if (tag != OF_DT_END_NODE) { + printk("Weird tag at start of node: %x\n", tag); + return mem; + } + *p += 4; + return mem; +} + + +/** + * unflattens the device-tree passed by the firmware, creating the + * tree of struct device_node. It also fills the "name" and "type" + * pointers of the nodes so the normal device-tree walking functions + * can be used (this used to be done by finish_device_tree) + */ +void __init unflatten_device_tree(void) +{ + unsigned long start, mem, size; + struct device_node **allnextp = &allnodes; + char *p; + int l = 0; + + DBG(" -> unflatten_device_tree()\n"); + + /* First pass, scan for size */ + start = ((unsigned long)initial_boot_params) + + initial_boot_params->off_dt_struct; + size = unflatten_dt_node(0, &start, NULL, NULL); + + DBG(" size is %lx, allocating...\n", size); + + /* Allocate memory for the expanded device tree */ + mem = (unsigned long)abs_to_virt(lmb_alloc(size, + __alignof__(struct device_node))); + DBG(" unflattening...\n", mem); + + /* Second pass, do actual unflattening */ + start = ((unsigned long)initial_boot_params) + + initial_boot_params->off_dt_struct; + unflatten_dt_node(mem, &start, NULL, &allnextp); + if (*((u32 *)start) != OF_DT_END) + printk(KERN_WARNING "Weird tag at end of tree: %x\n", *((u32 *)start)); + *allnextp = NULL; + + /* Get pointer to OF "/chosen" node for use everywhere */ + of_chosen = of_find_node_by_path("/chosen"); + + /* Retreive command line */ + if (of_chosen != NULL) { + p = (char *)get_property(of_chosen, "bootargs", &l); + if (p != NULL && l > 0) + strlcpy(cmd_line, p, min(l, COMMAND_LINE_SIZE)); + } +#ifdef CONFIG_CMDLINE + if (l == 0) /* dbl check */ + strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); +#endif /* CONFIG_CMDLINE */ + + DBG("Command line is: %s\n", cmd_line); + + DBG(" <- unflatten_device_tree()\n"); +} + + +static int __init early_init_dt_scan_cpus(unsigned long node, + const char *full_path, void *data) +{ + char *type = get_flat_dt_prop(node, "device_type", NULL); + + /* We are scanning "cpu" nodes only */ + if (type == NULL || strcmp(type, "cpu") != 0) + return 0; + + /* On LPAR, look for the first ibm,pft-size property for the hash table size + */ + if (systemcfg->platform == PLATFORM_PSERIES_LPAR && naca->pftSize == 0) { + u32 *pft_size; + pft_size = (u32 *)get_flat_dt_prop(node, "ibm,pft-size", NULL); + if (pft_size != NULL) { + /* pft_size[0] is the NUMA CEC cookie */ + naca->pftSize = pft_size[1]; + } + } + + /* Check if it's the boot-cpu, set it's hw index in paca now */ + if (get_flat_dt_prop(node, "linux,boot-cpu", NULL) != NULL) { + u32 *prop = get_flat_dt_prop(node, "reg", NULL); + paca[0].hw_cpu_id = prop == NULL ? 0 : *prop; + } + + return 0; +} + +static int __init early_init_dt_scan_chosen(unsigned long node, + const char *full_path, void *data) +{ + u32 *prop; + + if (strcmp(full_path, "/chosen") != 0) + return 0; + + /* get platform type */ + prop = (u32 *)get_flat_dt_prop(node, "linux,platform", NULL); + if (prop == NULL) + return 0; + systemcfg->platform = *prop; + + /* check if iommu is forced on or off */ + if (get_flat_dt_prop(node, "linux,iommu-off", NULL) != NULL) + iommu_is_off = 1; + if (get_flat_dt_prop(node, "linux,iommu-force-on", NULL) != NULL) + iommu_force_on = 1; + +#ifdef CONFIG_PPC_PSERIES + /* To help early debugging via the front panel, we retreive a minimal + * set of RTAS infos now if available + */ + { + u64 *basep, *entryp; + + basep = (u64*)get_flat_dt_prop(node, "linux,rtas-base", NULL); + entryp = (u64*)get_flat_dt_prop(node, "linux,rtas-entry", NULL); + prop = (u32*)get_flat_dt_prop(node, "linux,rtas-size", NULL); + if (basep && entryp && prop) { + rtas.base = *basep; + rtas.entry = *entryp; + rtas.size = *prop; + } + } +#endif /* CONFIG_PPC_PSERIES */ + + /* break now */ + return 1; +} + +static int __init early_init_dt_scan_root(unsigned long node, + const char *full_path, void *data) +{ + u32 *prop; + + if (strcmp(full_path, "/") != 0) + return 0; + + prop = (u32 *)get_flat_dt_prop(node, "#size-cells", NULL); + dt_root_size_cells = (prop == NULL) ? 1 : *prop; + + prop = (u32 *)get_flat_dt_prop(node, "#address-cells", NULL); + dt_root_addr_cells = (prop == NULL) ? 2 : *prop; + + /* break now */ + return 1; +} + +static unsigned long __init dt_mem_next_cell(int s, cell_t **cellp) +{ + cell_t *p = *cellp; + unsigned long r = 0; + + /* Ignore more than 2 cells */ + while (s > 2) { + p++; + s--; + } + while (s) { + r <<= 32; + r |= *(p++); + s--; + } + + *cellp = p; + return r; +} + + +static int __init early_init_dt_scan_memory(unsigned long node, + const char *full_path, void *data) +{ + char *type = get_flat_dt_prop(node, "device_type", NULL); + cell_t *reg, *endp; + unsigned long l; + + /* We are scanning "memory" nodes only */ + if (type == NULL || strcmp(type, "memory") != 0) + return 0; + + reg = (cell_t *)get_flat_dt_prop(node, "reg", &l); + if (reg == NULL) + return 0; + + endp = reg + (l / sizeof(cell_t)); + + DBG("memory scan node %s ...\n", full_path); + while ((endp - reg) >= (dt_root_addr_cells + dt_root_size_cells)) { + unsigned long base, size; + + base = dt_mem_next_cell(dt_root_addr_cells, ®); + size = dt_mem_next_cell(dt_root_size_cells, ®); + + if (size == 0) + continue; + DBG(" - %lx , %lx\n", base, size); + if (iommu_is_off) { + if (base >= 0x80000000ul) + continue; + if ((base + size) > 0x80000000ul) + size = 0x80000000ul - base; + } + lmb_add(base, size); + } + return 0; +} + +static void __init early_reserve_mem(void) +{ + u64 base, size; + u64 *reserve_map = (u64 *)(((unsigned long)initial_boot_params) + + initial_boot_params->off_mem_rsvmap); + while (1) { + base = *(reserve_map++); + size = *(reserve_map++); + if (size == 0) + break; + DBG("reserving: %lx -> %lx\n", base, size); + lmb_reserve(base, size); + } + +#if 0 + DBG("memory reserved, lmbs :\n"); + lmb_dump_all(); +#endif +} + +void __init early_init_devtree(void *params) +{ + DBG(" -> early_init_devtree()\n"); + + /* Setup flat device-tree pointer */ + initial_boot_params = params; + + /* By default, hash size is not set */ + naca->pftSize = 0; + + /* Retreive various informations from the /chosen node of the + * device-tree, including the platform type, initrd location and + * size, TCE reserve, and more ... + */ + scan_flat_dt(early_init_dt_scan_chosen, NULL); + + /* Scan memory nodes and rebuild LMBs */ + lmb_init(); + scan_flat_dt(early_init_dt_scan_root, NULL); + scan_flat_dt(early_init_dt_scan_memory, NULL); + lmb_analyze(); + systemcfg->physicalMemorySize = lmb_phys_mem_size(); + + DBG("Phys. mem: %lx\n", systemcfg->physicalMemorySize); + + /* Reserve LMB regions used by kernel, initrd, dt, etc... */ + early_reserve_mem(); + + DBG("Scanning CPUs ...\n"); + + /* Retreive hash table size from flattened tree */ + scan_flat_dt(early_init_dt_scan_cpus, NULL); + + /* If hash size wasn't obtained above, we calculate it now based on + * the total RAM size + */ + if (naca->pftSize == 0) { + unsigned long rnd_mem_size, pteg_count; + + /* round mem_size up to next power of 2 */ + rnd_mem_size = 1UL << __ilog2(systemcfg->physicalMemorySize); + if (rnd_mem_size < systemcfg->physicalMemorySize) + rnd_mem_size <<= 1; + + /* # pages / 2 */ + pteg_count = (rnd_mem_size >> (12 + 1)); + + naca->pftSize = __ilog2(pteg_count << 7); + } + + DBG("Hash pftSize: %x\n", (int)naca->pftSize); + DBG(" <- early_init_devtree()\n"); } +#undef printk + int prom_n_addr_cells(struct device_node* np) { @@ -2627,6 +1369,28 @@ struct device_node *of_find_node_by_path(const char *path) } EXPORT_SYMBOL(of_find_node_by_path); +/** + * of_find_node_by_phandle - Find a node given a phandle + * @handle: phandle of the node to find + * + * Returns a node pointer with refcount incremented, use + * of_node_put() on it when done. + */ +struct device_node *of_find_node_by_phandle(phandle handle) +{ + struct device_node *np; + + read_lock(&devtree_lock); + for (np = allnodes; np != 0; np = np->allnext) + if (np->linux_phandle == handle) + break; + if (np) + of_node_get(np); + read_unlock(&devtree_lock); + return np; +} +EXPORT_SYMBOL(of_find_node_by_phandle); + /** * of_find_all_nodes - Get next node in global list * @prev: Previous node or NULL to start iteration @@ -2886,6 +1650,7 @@ static int of_finish_dynamic_node_interrupts(struct device_node *node) return 0; } + /* * Fix up the uninitialized fields in a new device node: * name, type, n_addrs, addrs, n_intrs, intrs, and pci-specific fields @@ -2971,12 +1736,14 @@ static int of_finish_dynamic_node(struct device_node *node) /* fixing up iommu_table */ +#ifdef CONFIG_PPC_PSERIES if (strcmp(node->name, "pci") == 0 && get_property(node, "ibm,dma-window", NULL)) { node->bussubno = node->busno; iommu_devnode_init(node); } else node->iommu_table = parent->iommu_table; +#endif /* CONFIG_PPC_PSERIES */ out: of_node_put(parent); @@ -3163,3 +1930,13 @@ print_properties(struct device_node *np) } } #endif + + + + + + + + + + diff --git a/arch/ppc64/kernel/ptrace.c b/arch/ppc64/kernel/ptrace.c index 9c3d2f55e..7ca1b0974 100644 --- a/arch/ppc64/kernel/ptrace.c +++ b/arch/ppc64/kernel/ptrace.c @@ -184,7 +184,7 @@ int sys_ptrace(long request, long pid, long addr, long data) */ case PTRACE_KILL: { ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ @@ -320,7 +320,8 @@ void do_syscall_trace_leave(void) if (unlikely(current->audit_context)) audit_syscall_exit(current, 0); /* FIXME: pass pt_regs */ - if (test_thread_flag(TIF_SYSCALL_TRACE) + if ((test_thread_flag(TIF_SYSCALL_TRACE) + || test_thread_flag(TIF_SINGLESTEP)) && (current->ptrace & PT_PTRACED)) do_syscall_trace(); } diff --git a/arch/ppc64/kernel/ptrace32.c b/arch/ppc64/kernel/ptrace32.c index e0ab44dc1..ee81b1b77 100644 --- a/arch/ppc64/kernel/ptrace32.c +++ b/arch/ppc64/kernel/ptrace32.c @@ -314,7 +314,7 @@ int sys32_ptrace(long request, long pid, unsigned long addr, unsigned long data) */ case PTRACE_KILL: { ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ diff --git a/arch/ppc64/kernel/ras.c b/arch/ppc64/kernel/ras.c index 595ae6ec2..75ced99c5 100644 --- a/arch/ppc64/kernel/ras.c +++ b/arch/ppc64/kernel/ras.c @@ -161,7 +161,8 @@ ras_epow_interrupt(int irq, void *dev_id, struct pt_regs * regs) RAS_VECTOR_OFFSET, virt_irq_to_real(irq_offset_down(irq)), RTAS_EPOW_WARNING | RTAS_POWERMGM_EVENTS, - critical, __pa(&ras_log_buf), RTAS_ERROR_LOG_MAX); + critical, __pa(&ras_log_buf), + rtas_get_error_log_max()); udbg_printf("EPOW <0x%lx 0x%x 0x%x>\n", *((unsigned long *)&ras_log_buf), status, state); @@ -196,11 +197,12 @@ ras_error_interrupt(int irq, void *dev_id, struct pt_regs * regs) RAS_VECTOR_OFFSET, virt_irq_to_real(irq_offset_down(irq)), RTAS_INTERNAL_ERROR, 1 /*Time Critical */, - __pa(&ras_log_buf), RTAS_ERROR_LOG_MAX); + __pa(&ras_log_buf), + rtas_get_error_log_max()); rtas_elog = (struct rtas_error_log *)ras_log_buf; - if ((status == 0) && (rtas_elog->severity >= SEVERITY_ERROR_SYNC)) + if ((status == 0) && (rtas_elog->severity >= RTAS_SEVERITY_ERROR_SYNC)) fatal = 1; else fatal = 0; diff --git a/arch/ppc64/kernel/rtas-proc.c b/arch/ppc64/kernel/rtas-proc.c index a055759b6..bd75066cc 100644 --- a/arch/ppc64/kernel/rtas-proc.c +++ b/arch/ppc64/kernel/rtas-proc.c @@ -580,7 +580,7 @@ static void ppc_rtas_process_sensor(struct seq_file *m, } break; case THERMAL_SENSOR: - seq_printf(m, "Temp. (°C/°F):\t"); + seq_printf(m, "Temp. (C/F):\t"); temperature = 1; break; case LID_STATUS: diff --git a/arch/ppc64/kernel/rtas.c b/arch/ppc64/kernel/rtas.c index b199fece4..becb652e1 100644 --- a/arch/ppc64/kernel/rtas.c +++ b/arch/ppc64/kernel/rtas.c @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -37,19 +36,22 @@ struct rtas_t rtas = { .lock = SPIN_LOCK_UNLOCKED }; -EXPORT_SYMBOL_GPL(rtas); +EXPORT_SYMBOL(rtas); char rtas_err_buf[RTAS_ERROR_LOG_MAX]; spinlock_t rtas_data_buf_lock = SPIN_LOCK_UNLOCKED; char rtas_data_buf[RTAS_DATA_BUF_SIZE]__page_aligned; +unsigned long rtas_rmo_buf; void -call_rtas_display_status(char c) +call_rtas_display_status(unsigned char c) { struct rtas_args *args = &rtas.args; unsigned long s; + if (!rtas.base) + return; spin_lock_irqsave(&rtas.lock, s); args->token = 10; @@ -63,6 +65,31 @@ call_rtas_display_status(char c) spin_unlock_irqrestore(&rtas.lock, s); } +void +call_rtas_display_status_delay(unsigned char c) +{ + static int pending_newline = 0; /* did last write end with unprinted newline? */ + static int width = 16; + + if (c == '\n') { + while (width-- > 0) + call_rtas_display_status(' '); + width = 16; + udelay(500000); + pending_newline = 1; + } else { + if (pending_newline) { + call_rtas_display_status('\r'); + call_rtas_display_status('\n'); + } + pending_newline = 0; + if (width--) { + call_rtas_display_status(c); + udelay(10000); + } + } +} + int rtas_token(const char *service) { @@ -75,7 +102,6 @@ rtas_token(const char *service) return tokp ? *tokp : RTAS_UNKNOWN_SERVICE; } - /** Return a copy of the detailed error text associated with the * most recent failed call to rtas. Because the error text * might go stale if there are any other intervening rtas calls, @@ -86,28 +112,32 @@ static int __fetch_rtas_last_error(void) { struct rtas_args err_args, save_args; + u32 bufsz; + + bufsz = rtas_token ("rtas-error-log-max"); + if ((bufsz == RTAS_UNKNOWN_SERVICE) || + (bufsz > RTAS_ERROR_LOG_MAX)) { + printk (KERN_WARNING "RTAS: bad log buffer size %d\n", bufsz); + bufsz = RTAS_ERROR_LOG_MAX; + } err_args.token = rtas_token("rtas-last-error"); err_args.nargs = 2; err_args.nret = 1; - err_args.rets = (rtas_arg_t *)&(err_args.args[2]); err_args.args[0] = (rtas_arg_t)__pa(rtas_err_buf); - err_args.args[1] = RTAS_ERROR_LOG_MAX; + err_args.args[1] = bufsz; err_args.args[2] = 0; save_args = rtas.args; rtas.args = err_args; - PPCDBG(PPCDBG_RTAS, "\tentering rtas with 0x%lx\n", - __pa(&err_args)); enter_rtas(__pa(&rtas.args)); - PPCDBG(PPCDBG_RTAS, "\treturned from rtas ...\n"); err_args = rtas.args; rtas.args = save_args; - return err_args.rets[0]; + return err_args.args[2]; } int rtas_call(int token, int nargs, int nret, int *outputs, ...) @@ -167,9 +197,12 @@ int rtas_call(int token, int nargs, int nret, int *outputs, ...) /* Log the error in the unlikely case that there was one. */ if (unlikely(logit)) { - buff_copy = kmalloc(RTAS_ERROR_LOG_MAX, GFP_ATOMIC); - if (buff_copy) { - memcpy(buff_copy, rtas_err_buf, RTAS_ERROR_LOG_MAX); + buff_copy = rtas_err_buf; + if (mem_init_done) { + buff_copy = kmalloc(RTAS_ERROR_LOG_MAX, GFP_ATOMIC); + if (buff_copy) + memcpy(buff_copy, rtas_err_buf, + RTAS_ERROR_LOG_MAX); } } @@ -178,7 +211,8 @@ int rtas_call(int token, int nargs, int nret, int *outputs, ...) if (buff_copy) { log_error(buff_copy, ERR_TYPE_RTAS_LOG, 0); - kfree(buff_copy); + if (mem_init_done) + kfree(buff_copy); } return ret; } @@ -419,7 +453,6 @@ void rtas_os_term(char *str) } while (status == RTAS_BUSY); } -unsigned long rtas_rmo_buf = 0; asmlinkage int ppc_rtas(struct rtas_args __user *uargs) { @@ -510,6 +543,73 @@ void rtas_stop_self(void) } #endif /* CONFIG_HOTPLUG_CPU */ +/* + * Return the firmware-specified size of the error log buffer + * for all rtas calls that require an error buffer argument. + * This includes 'check-exception' and 'rtas-last-error'. + */ +int rtas_get_error_log_max(void) +{ + static int rtas_error_log_max; + if (rtas_error_log_max) + return rtas_error_log_max; + + rtas_error_log_max = rtas_token ("rtas-error-log-max"); + if ((rtas_error_log_max == RTAS_UNKNOWN_SERVICE) || + (rtas_error_log_max > RTAS_ERROR_LOG_MAX)) { + printk (KERN_WARNING "RTAS: bad log buffer size %d\n", rtas_error_log_max); + rtas_error_log_max = RTAS_ERROR_LOG_MAX; + } + return rtas_error_log_max; +} + +/* + * Call early during boot, before mem init or bootmem, to retreive the RTAS + * informations from the device-tree and allocate the RMO buffer for userland + * accesses. + */ +void __init rtas_initialize(void) +{ + /* Get RTAS dev node and fill up our "rtas" structure with infos + * about it. + */ + rtas.dev = of_find_node_by_name(NULL, "rtas"); + if (rtas.dev) { + u64 *basep, *entryp; + u32 *sizep; + + basep = (u64 *)get_property(of_chosen, "linux,rtas-base", NULL); + sizep = (u32 *)get_property(of_chosen, "linux,rtas-size", NULL); + if (basep != NULL && sizep != NULL) { + rtas.base = *basep; + rtas.size = *sizep; + entryp = (u64 *)get_property(of_chosen, "linux,rtas-entry", NULL); + if (entryp == NULL) /* Ugh */ + rtas.entry = rtas.base; + else + rtas.entry = *entryp; + } else + rtas.dev = NULL; + } + /* If RTAS was found, allocate the RMO buffer for it and look for + * the stop-self token if any + */ + if (rtas.dev) { + unsigned long rtas_region = RTAS_INSTANTIATE_MAX; + if (systemcfg->platform == PLATFORM_PSERIES_LPAR) + rtas_region = min(lmb.rmo_size, RTAS_INSTANTIATE_MAX); + + rtas_rmo_buf = lmb_alloc_base(RTAS_RMOBUF_MAX, PAGE_SIZE, + rtas_region); + +#ifdef CONFIG_HOTPLUG_CPU + rtas_stop_self_args.token = rtas_token("stop-self"); +#endif /* CONFIG_HOTPLUG_CPU */ + } + +} + + EXPORT_SYMBOL(rtas_firmware_flash_list); EXPORT_SYMBOL(rtas_token); EXPORT_SYMBOL(rtas_call); @@ -520,3 +620,4 @@ EXPORT_SYMBOL(rtas_get_sensor); EXPORT_SYMBOL(rtas_get_power_level); EXPORT_SYMBOL(rtas_set_power_level); EXPORT_SYMBOL(rtas_set_indicator); +EXPORT_SYMBOL(rtas_get_error_log_max); diff --git a/arch/ppc64/kernel/rtasd.c b/arch/ppc64/kernel/rtasd.c index 7538cea27..c6370a8e3 100644 --- a/arch/ppc64/kernel/rtasd.c +++ b/arch/ppc64/kernel/rtasd.c @@ -46,6 +46,8 @@ static unsigned int rtas_event_scan_rate; static unsigned int rtas_error_log_max; static unsigned int rtas_error_log_buffer_max; +static int full_rtas_msgs = 0; + extern volatile int no_more_logging; volatile int error_log_cnt = 0; @@ -57,6 +59,37 @@ volatile int error_log_cnt = 0; */ static unsigned char logdata[RTAS_ERROR_LOG_MAX]; +static int get_eventscan_parms(void); + +static char *rtas_type[] = { + "Unknown", "Retry", "TCE Error", "Internal Device Failure", + "Timeout", "Data Parity", "Address Parity", "Cache Parity", + "Address Invalid", "ECC Uncorrected", "ECC Corrupted", +}; + +static char *rtas_event_type(int type) +{ + if ((type > 0) && (type < 11)) + return rtas_type[type]; + + switch (type) { + case RTAS_TYPE_EPOW: + return "EPOW"; + case RTAS_TYPE_PLATFORM: + return "Platform Error"; + case RTAS_TYPE_IO: + return "I/O Event"; + case RTAS_TYPE_INFO: + return "Platform Information Event"; + case RTAS_TYPE_DEALLOC: + return "Resource Deallocation Event"; + case RTAS_TYPE_DUMP: + return "Dump Notification Event"; + } + + return rtas_type[0]; +} + /* To see this info, grep RTAS /var/log/messages and each entry * will be collected together with obvious begin/end. * There will be a unique identifier on the begin and end lines. @@ -73,38 +106,48 @@ static unsigned char logdata[RTAS_ERROR_LOG_MAX]; static void printk_log_rtas(char *buf, int len) { - int i,j,n; + int i,j,n = 0; int perline = 16; char buffer[64]; char * str = "RTAS event"; - printk(RTAS_DEBUG "%d -------- %s begin --------\n", error_log_cnt, str); - - /* - * Print perline bytes on each line, each line will start - * with RTAS and a changing number, so syslogd will - * print lines that are otherwise the same. Separate every - * 4 bytes with a space. - */ - for (i=0; i < len; i++) { - j = i % perline; - if (j == 0) { - memset(buffer, 0, sizeof(buffer)); - n = sprintf(buffer, "RTAS %d:", i/perline); + if (full_rtas_msgs) { + printk(RTAS_DEBUG "%d -------- %s begin --------\n", + error_log_cnt, str); + + /* + * Print perline bytes on each line, each line will start + * with RTAS and a changing number, so syslogd will + * print lines that are otherwise the same. Separate every + * 4 bytes with a space. + */ + for (i = 0; i < len; i++) { + j = i % perline; + if (j == 0) { + memset(buffer, 0, sizeof(buffer)); + n = sprintf(buffer, "RTAS %d:", i/perline); + } + + if ((i % 4) == 0) + n += sprintf(buffer+n, " "); + + n += sprintf(buffer+n, "%02x", (unsigned char)buf[i]); + + if (j == (perline-1)) + printk(KERN_DEBUG "%s\n", buffer); } + if ((i % perline) != 0) + printk(KERN_DEBUG "%s\n", buffer); - if ((i % 4) == 0) - n += sprintf(buffer+n, " "); - - n += sprintf(buffer+n, "%02x", (unsigned char)buf[i]); + printk(RTAS_DEBUG "%d -------- %s end ----------\n", + error_log_cnt, str); + } else { + struct rtas_error_log *errlog = (struct rtas_error_log *)buf; - if (j == (perline-1)) - printk(KERN_DEBUG "%s\n", buffer); + printk(RTAS_DEBUG "event: %d, Type: %s, Severity: %d\n", + error_log_cnt, rtas_event_type(errlog->type), + errlog->severity); } - if ((i % perline) != 0) - printk(KERN_DEBUG "%s\n", buffer); - - printk(RTAS_DEBUG "%d -------- %s end ----------\n", error_log_cnt, str); } static int log_rtas_len(char * buf) @@ -121,6 +164,9 @@ static int log_rtas_len(char * buf) len += err->extended_log_length; } + if (rtas_error_log_max == 0) { + get_eventscan_parms(); + } if (len > rtas_error_log_max) len = rtas_error_log_max; @@ -148,7 +194,6 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) int len = 0; DEBUG("logging event\n"); - if (buf == NULL) return; @@ -171,6 +216,14 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) if (!no_more_logging && !(err_type & ERR_FLAG_BOOT)) nvram_write_error_log(buf, len, err_type); + /* + * rtas errors can occur during boot, and we do want to capture + * those somewhere, even if nvram isn't ready (why not?), and even + * if rtasd isn't ready. Put them into the boot log, at least. + */ + if ((err_type & ERR_TYPE_MASK) == ERR_TYPE_RTAS_LOG) + printk_log_rtas(buf, len); + /* Check to see if we need to or have stopped logging */ if (fatal || no_more_logging) { no_more_logging = 1; @@ -181,9 +234,6 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) /* call type specific method for error */ switch (err_type & ERR_TYPE_MASK) { case ERR_TYPE_RTAS_LOG: - /* put into syslog and error_log file */ - printk_log_rtas(buf, len); - offset = rtas_error_log_buffer_max * ((rtas_log_start+rtas_log_size) & LOG_NUMBER_MASK); @@ -291,15 +341,18 @@ static int enable_surveillance(int timeout) { int error; - error = rtas_call(rtas_token("set-indicator"), 3, 1, NULL, - SURVEILLANCE_TOKEN, 0, timeout); + error = rtas_set_indicator(SURVEILLANCE_TOKEN, 0, timeout); - if (error) { - printk(KERN_ERR "rtasd: could not enable surveillance\n"); - return -1; + if (error == 0) + return 0; + + if (error == RTAS_NO_SUCH_INDICATOR) { + printk(KERN_INFO "rtasd: surveillance not supported\n"); + return 0; } - return 0; + printk(KERN_ERR "rtasd: could not update surveillance\n"); + return -1; } static int get_eventscan_parms(void) @@ -318,21 +371,8 @@ static int get_eventscan_parms(void) rtas_event_scan_rate = *ip; DEBUG("rtas-event-scan-rate %d\n", rtas_event_scan_rate); - ip = (int *)get_property(node, "rtas-error-log-max", NULL); - if (ip == NULL) { - printk(KERN_ERR "rtasd: no rtas-error-log-max\n"); - of_node_put(node); - return -1; - } - rtas_error_log_max = *ip; - DEBUG("rtas-error-log-max %d\n", rtas_error_log_max); - - if (rtas_error_log_max > RTAS_ERROR_LOG_MAX) { - printk(KERN_ERR "rtasd: truncated error log from %d to %d bytes\n", rtas_error_log_max, RTAS_ERROR_LOG_MAX); - rtas_error_log_max = RTAS_ERROR_LOG_MAX; - } - /* Make room for the sequence number */ + rtas_error_log_max = rtas_get_error_log_max(); rtas_error_log_buffer_max = rtas_error_log_max + sizeof(int); of_node_put(node); @@ -473,5 +513,15 @@ static int __init surveillance_setup(char *str) return 1; } +static int __init rtasmsgs_setup(char *str) +{ + if (strcmp(str, "on") == 0) + full_rtas_msgs = 1; + else if (strcmp(str, "off") == 0) + full_rtas_msgs = 0; + + return 1; +} __initcall(rtas_init); __setup("surveillance=", surveillance_setup); +__setup("rtasmsgs=", rtasmsgs_setup); diff --git a/arch/ppc64/kernel/rtc.c b/arch/ppc64/kernel/rtc.c index 7bf41f3ca..536a49918 100644 --- a/arch/ppc64/kernel/rtc.c +++ b/arch/ppc64/kernel/rtc.c @@ -34,8 +34,8 @@ #include #include #include +#include -#include #include #include #include diff --git a/arch/ppc64/kernel/setup.c b/arch/ppc64/kernel/setup.c index dc090d425..1951866a7 100644 --- a/arch/ppc64/kernel/setup.c +++ b/arch/ppc64/kernel/setup.c @@ -10,6 +10,8 @@ * 2 of the License, or (at your option) any later version. */ +#undef DEBUG + #include #include #include @@ -27,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -47,60 +50,79 @@ #include #include #include +#include + +#ifdef DEBUG +#define DBG(fmt...) udbg_printf(fmt) +#else +#define DBG(fmt...) +#endif + +/* + * Here are some early debugging facilities. You can enable one + * but your kernel will not boot on anything else if you do so + */ + +/* This one is for use on LPAR machines that support an HVC console + * on vterm 0 + */ +extern void udbg_init_debug_lpar(void); +/* This one is for use on Apple G5 machines + */ +extern void udbg_init_pmac_realmode(void); +/* That's RTAS panel debug */ +extern void call_rtas_display_status_delay(unsigned char c); + +#define EARLY_DEBUG_INIT() do {} while(0) + +#if 0 +#define EARLY_DEBUG_INIT() udbg_init_debug_lpar() +#define EARLY_DEBUG_INIT() udbg_init_pmac_realmode() +#define EARLY_DEBUG_INIT() \ + do { ppc_md.udbg_putc = call_rtas_display_status_delay; } while(0) +#endif -extern unsigned long klimit; /* extern void *stab; */ extern HTAB htab_data; -extern unsigned long loops_per_jiffy; - -int have_of = 1; +extern unsigned long klimit; -extern void chrp_init(unsigned long r3, - unsigned long r4, - unsigned long r5, - unsigned long r6, - unsigned long r7); - -extern void pmac_init(unsigned long r3, - unsigned long r4, - unsigned long r5, - unsigned long r6, - unsigned long r7); - -extern void iSeries_init( void ); -extern void iSeries_init_early( void ); -extern void pSeries_init_early( void ); -extern void pSeriesLP_init_early(void); -extern void pmac_init_early(void); -extern void mm_init_ppc64( void ); -extern void pseries_secondary_smp_init(unsigned long); +extern void mm_init_ppc64(void); extern int idle_setup(void); -extern void vpa_init(int cpu); +extern void stab_initialize(unsigned long stab); +extern void htab_initialize(void); +extern void early_init_devtree(void *flat_dt); +extern void unflatten_device_tree(void); unsigned long decr_overclock = 1; unsigned long decr_overclock_proc0 = 1; unsigned long decr_overclock_set = 0; unsigned long decr_overclock_proc0_set = 0; -int powersave_nap; +int have_of = 1; +int boot_cpuid = 0; +dev_t boot_dev; -unsigned char aux_device_present; +/* + * These are used in binfmt_elf.c to put aux entries on the stack + * for each elf executable being started. + */ +int dcache_bsize; +int icache_bsize; +int ucache_bsize; -void parse_cmd_line(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7); -int parse_bootinfo(void); +/* The main machine-dep calls structure + */ +struct machdep_calls ppc_md; #ifdef CONFIG_MAGIC_SYSRQ unsigned long SYSRQ_KEY; #endif /* CONFIG_MAGIC_SYSRQ */ -struct machdep_calls ppc_md; static int ppc64_panic_event(struct notifier_block *, unsigned long, void *); - static struct notifier_block ppc64_panic_block = { - notifier_call: ppc64_panic_event, - priority: INT_MIN /* may not return; must be done last */ + .notifier_call = ppc64_panic_event, + .priority = INT_MIN /* may not return; must be done last */ }; /* @@ -112,42 +134,32 @@ static struct notifier_block ppc64_panic_block = { * these processors use on existing boards. -- Dan */ struct screen_info screen_info = { - 0, 25, /* orig-x, orig-y */ - 0, /* unused */ - 0, /* orig-video-page */ - 0, /* orig-video-mode */ - 80, /* orig-video-cols */ - 0,0,0, /* ega_ax, ega_bx, ega_cx */ - 25, /* orig-video-lines */ - 1, /* orig-video-isVGA */ - 16 /* orig-video-points */ + .orig_x = 0, + .orig_y = 25, + .orig_video_cols = 80, + .orig_video_lines = 25, + .orig_video_isVGA = 1, + .orig_video_points = 16 }; -/* - * These are used in binfmt_elf.c to put aux entries on the stack - * for each elf executable being started. - */ -int dcache_bsize; -int icache_bsize; -int ucache_bsize; - /* * Initialize the PPCDBG state. Called before relocation has been enabled. */ -void ppcdbg_initialize(void) { - unsigned long offset = reloc_offset(); - struct naca_struct *_naca = RELOC(naca); - - _naca->debug_switch = PPC_DEBUG_DEFAULT; /* | PPCDBG_BUSWALK | PPCDBG_PHBINIT | PPCDBG_MM | PPCDBG_MMINIT | PPCDBG_TCEINIT | PPCDBG_TCE */; +void __init ppcdbg_initialize(void) +{ + naca->debug_switch = PPC_DEBUG_DEFAULT; /* | PPCDBG_BUSWALK | */ + /* PPCDBG_PHBINIT | PPCDBG_MM | PPCDBG_MMINIT | PPCDBG_TCEINIT | PPCDBG_TCE */; } +/* + * Early boot console based on udbg + */ static struct console udbg_console = { .name = "udbg", .write = udbg_console_write, .flags = CON_PRINTBUFFER, .index = -1, }; - static int early_console_initialized; void __init disable_early_printk(void) @@ -158,111 +170,457 @@ void __init disable_early_printk(void) early_console_initialized = 0; } -/* - * Do some initial setup of the system. The parameters are those which - * were passed in from the bootloader. +#if defined(CONFIG_PPC_MULTIPLATFORM) && defined(CONFIG_SMP) + +static int smt_enabled_cmdline; + +/* Look for ibm,smt-enabled OF option */ +static void check_smt_enabled(void) +{ + struct device_node *dn; + char *smt_option; + + /* Allow the command line to overrule the OF option */ + if (smt_enabled_cmdline) + return; + + dn = of_find_node_by_path("/options"); + + if (dn) { + smt_option = (char *)get_property(dn, "ibm,smt-enabled", NULL); + + if (smt_option) { + if (!strcmp(smt_option, "on")) + smt_enabled_at_boot = 1; + else if (!strcmp(smt_option, "off")) + smt_enabled_at_boot = 0; + } + } +} + +/* Look for smt-enabled= cmdline option */ +static int __init early_smt_enabled(char *p) +{ + smt_enabled_cmdline = 1; + + if (!p) + return 0; + + if (!strcmp(p, "on") || !strcmp(p, "1")) + smt_enabled_at_boot = 1; + else if (!strcmp(p, "off") || !strcmp(p, "0")) + smt_enabled_at_boot = 0; + + return 0; +} +early_param("smt-enabled", early_smt_enabled); + +/** + * setup_cpu_maps - initialize the following cpu maps: + * cpu_possible_map + * cpu_present_map + * cpu_sibling_map + * + * Having the possible map set up early allows us to restrict allocations + * of things like irqstacks to num_possible_cpus() rather than NR_CPUS. + * + * We do not initialize the online map here; cpus set their own bits in + * cpu_online_map as they come up. + * + * This function is valid only for Open Firmware systems. finish_device_tree + * must be called before using this. + * + * While we're here, we may as well set the "physical" cpu ids in the paca. */ -void setup_system(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) +static void __init setup_cpu_maps(void) { -#if defined(CONFIG_SMP) && defined(CONFIG_PPC_PSERIES) - int ret, i; -#endif + struct device_node *dn = NULL; + int cpu = 0; + + check_smt_enabled(); + + while ((dn = of_find_node_by_type(dn, "cpu")) && cpu < NR_CPUS) { + u32 *intserv; + int j, len = sizeof(u32), nthreads; + + intserv = (u32 *)get_property(dn, "ibm,ppc-interrupt-server#s", + &len); + if (!intserv) + intserv = (u32 *)get_property(dn, "reg", NULL); + + nthreads = len / sizeof(u32); + + for (j = 0; j < nthreads && cpu < NR_CPUS; j++) { + /* + * Only spin up secondary threads if SMT is enabled. + * We must leave space in the logical map for the + * threads. + */ + if (j == 0 || smt_enabled_at_boot) { + cpu_set(cpu, cpu_present_map); + set_hard_smp_processor_id(cpu, intserv[j]); + } + cpu_set(cpu, cpu_possible_map); + cpu++; + } + } -#ifdef CONFIG_XMON_DEFAULT - xmon_init(); -#endif + /* + * On pSeries LPAR, we need to know how many cpus + * could possibly be added to this partition. + */ + if (systemcfg->platform == PLATFORM_PSERIES_LPAR && + (dn = of_find_node_by_path("/rtas"))) { + int num_addr_cell, num_size_cell, maxcpus; + unsigned int *ireg; + + num_addr_cell = prom_n_addr_cells(dn); + num_size_cell = prom_n_size_cells(dn); + + ireg = (unsigned int *) + get_property(dn, "ibm,lrdr-capacity", NULL); + + if (!ireg) + goto out; + + maxcpus = ireg[num_addr_cell + num_size_cell]; + + /* Double maxcpus for processors which have SMT capability */ + if (cur_cpu_spec->cpu_features & CPU_FTR_SMT) + maxcpus *= 2; + + if (maxcpus > NR_CPUS) { + printk(KERN_WARNING + "Partition configured for %d cpus, " + "operating system maximum is %d.\n", + maxcpus, NR_CPUS); + maxcpus = NR_CPUS; + } else + printk(KERN_INFO "Partition configured for %d cpus.\n", + maxcpus); + + for (cpu = 0; cpu < maxcpus; cpu++) + cpu_set(cpu, cpu_possible_map); + out: + of_node_put(dn); + } + + /* + * Do the sibling map; assume only two threads per processor. + */ + for_each_cpu(cpu) { + cpu_set(cpu, cpu_sibling_map[cpu]); + if (cur_cpu_spec->cpu_features & CPU_FTR_SMT) + cpu_set(cpu ^ 0x1, cpu_sibling_map[cpu]); + } + + systemcfg->processorCount = num_present_cpus(); +} +#endif /* defined(CONFIG_PPC_MULTIPLATFORM) && defined(CONFIG_SMP) */ -#ifdef CONFIG_PPC_ISERIES - /* pSeries systems are identified in prom.c via OF. */ - if ( itLpNaca.xLparInstalled == 1 ) - systemcfg->platform = PLATFORM_ISERIES_LPAR; -#endif - - switch (systemcfg->platform) { -#ifdef CONFIG_PPC_ISERIES - case PLATFORM_ISERIES_LPAR: - iSeries_init_early(); - break; -#endif +#ifdef CONFIG_PPC_MULTIPLATFORM + +extern struct machdep_calls pSeries_md; +extern struct machdep_calls pmac_md; + +/* Ultimately, stuff them in an elf section like initcalls... */ +static struct machdep_calls __initdata *machines[] = { #ifdef CONFIG_PPC_PSERIES - case PLATFORM_PSERIES: - pSeries_init_early(); - parse_bootinfo(); - break; - - case PLATFORM_PSERIES_LPAR: - pSeriesLP_init_early(); - parse_bootinfo(); - break; + &pSeries_md, #endif /* CONFIG_PPC_PSERIES */ #ifdef CONFIG_PPC_PMAC - case PLATFORM_POWERMAC: - pmac_init_early(); - parse_bootinfo(); + &pmac_md, #endif /* CONFIG_PPC_PMAC */ + NULL +}; + +/* + * Early initialization entry point. This is called by head.S + * with MMU translation disabled. We rely on the "feature" of + * the CPU that ignores the top 2 bits of the address in real + * mode so we can access kernel globals normally provided we + * only toy with things in the RMO region. From here, we do + * some early parsing of the device-tree to setup out LMB + * data structures, and allocate & initialize the hash table + * and segment tables so we can start running with translation + * enabled. + * + * It is this function which will call the probe() callback of + * the various platform types and copy the matching one to the + * global ppc_md structure. Your platform can eventually do + * some very early initializations from the probe() routine, but + * this is not recommended, be very careful as, for example, the + * device-tree is not accessible via normal means at this point. + */ + +void __init early_setup(unsigned long dt_ptr) +{ + struct paca_struct *lpaca = get_paca(); + static struct machdep_calls **mach; + + /* + * Enable early debugging if any specified (see top of + * this file) + */ + EARLY_DEBUG_INIT(); + + DBG(" -> early_setup()\n"); + + /* + * Fill the default DBG level in naca (do we want to keep + * that old mecanism around forever ?) + */ + ppcdbg_initialize(); + + /* + * Do early initializations using the flattened device + * tree, like retreiving the physical memory map or + * calculating/retreiving the hash table size + */ + early_init_devtree(__va(dt_ptr)); + + /* + * Iterate all ppc_md structures until we find the proper + * one for the current machine type + */ + DBG("Probing machine type for platform %x...\n", + systemcfg->platform); + + for (mach = machines; *mach; mach++) { + if ((*mach)->probe(systemcfg->platform)) + break; + } + /* What can we do if we didn't find ? */ + if (*mach == NULL) { + DBG("No suitable machine found !\n"); + for (;;); + } + ppc_md = **mach; + + /* our udbg callbacks got overriden by the above, let's put them + * back in. Ultimately, I want those things to be split from the + * main ppc_md + */ + EARLY_DEBUG_INIT(); + + DBG("Found, Initializing memory management...\n"); + + /* + * Initialize stab / SLB management + */ + stab_initialize(lpaca->stab_real); + + /* + * Initialize the MMU Hash table and create the linear mapping + * of memory + */ + htab_initialize(); + + DBG(" <- early_setup()\n"); +} + + +/* + * Initialize some remaining members of the naca and systemcfg structures + * (at least until we get rid of them completely). This is mostly some + * cache informations about the CPU that will be used by cache flush + * routines and/or provided to userland + */ +static void __init initialize_naca(void) +{ + struct device_node *np; + unsigned long num_cpus = 0; + + DBG(" -> initialize_naca()\n"); + + for (np = NULL; (np = of_find_node_by_type(np, "cpu"));) { + num_cpus += 1; + + /* We're assuming *all* of the CPUs have the same + * d-cache and i-cache sizes... -Peter + */ + + if ( num_cpus == 1 ) { + u32 *sizep, *lsizep; + u32 size, lsize; + const char *dc, *ic; + + /* Then read cache informations */ + if (systemcfg->platform == PLATFORM_POWERMAC) { + dc = "d-cache-block-size"; + ic = "i-cache-block-size"; + } else { + dc = "d-cache-line-size"; + ic = "i-cache-line-size"; + } + + size = 0; + lsize = cur_cpu_spec->dcache_bsize; + sizep = (u32 *)get_property(np, "d-cache-size", NULL); + if (sizep != NULL) + size = *sizep; + lsizep = (u32 *) get_property(np, dc, NULL); + if (lsizep != NULL) + lsize = *lsizep; + + if (sizep == 0 || lsizep == 0) + DBG("Argh, can't find dcache properties ! " + "sizep: %p, lsizep: %p\n", sizep, lsizep); + + systemcfg->dCacheL1Size = size; + systemcfg->dCacheL1LineSize = lsize; + naca->dCacheL1LogLineSize = __ilog2(lsize); + naca->dCacheL1LinesPerPage = PAGE_SIZE/(lsize); + + size = 0; + lsize = cur_cpu_spec->icache_bsize; + sizep = (u32 *)get_property(np, "i-cache-size", NULL); + if (sizep != NULL) + size = *sizep; + lsizep = (u32 *)get_property(np, ic, NULL); + if (lsizep != NULL) + lsize = *lsizep; + if (sizep == 0 || lsizep == 0) + DBG("Argh, can't find icache properties ! " + "sizep: %p, lsizep: %p\n", sizep, lsizep); + + systemcfg->iCacheL1Size = size; + systemcfg->iCacheL1LineSize = lsize; + naca->iCacheL1LogLineSize = __ilog2(lsize); + naca->iCacheL1LinesPerPage = PAGE_SIZE/(lsize); + + } + } + + /* Add an eye catcher and the systemcfg layout version number */ + strcpy(systemcfg->eye_catcher, "SYSTEMCFG:PPC64"); + systemcfg->version.major = SYSTEMCFG_MAJOR; + systemcfg->version.minor = SYSTEMCFG_MINOR; + systemcfg->processor = mfspr(SPRN_PVR); + + DBG(" <- initialize_naca()\n"); +} + +static void __init check_for_initrd(void) +{ +#ifdef CONFIG_BLK_DEV_INITRD + u64 *prop; + + DBG(" -> check_for_initrd()\n"); + + prop = (u64 *)get_property(of_chosen, "linux,initrd-start", NULL); + if (prop != NULL) { + initrd_start = (unsigned long)__va(*prop); + prop = (u64 *)get_property(of_chosen, "linux,initrd-end", NULL); + if (prop != NULL) { + initrd_end = (unsigned long)__va(*prop); + initrd_below_start_ok = 1; + } else + initrd_start = 0; } /* If we were passed an initrd, set the ROOT_DEV properly if the values * look sensible. If not, clear initrd reference. */ -#ifdef CONFIG_BLK_DEV_INITRD if (initrd_start >= KERNELBASE && initrd_end >= KERNELBASE && initrd_end > initrd_start) ROOT_DEV = Root_RAM0; else initrd_start = initrd_end = 0; + + if (initrd_start) + printk("Found initrd at 0x%lx:0x%lx\n", initrd_start, initrd_end); + + DBG(" <- check_for_initrd()\n"); #endif /* CONFIG_BLK_DEV_INITRD */ +} -#ifdef CONFIG_BOOTX_TEXT - map_boot_text(); - if (systemcfg->platform == PLATFORM_POWERMAC) { - early_console_initialized = 1; - register_console(&udbg_console); - } -#endif /* CONFIG_BOOTX_TEXT */ +#endif /* CONFIG_PPC_MULTIPLATFORM */ -#ifdef CONFIG_PPC_PSERIES - if (systemcfg->platform & PLATFORM_PSERIES) { - early_console_initialized = 1; - register_console(&udbg_console); - __irq_offset_value = NUM_ISA_INTERRUPTS; - finish_device_tree(); - chrp_init(r3, r4, r5, r6, r7); +/* + * Do some initial setup of the system. The parameters are those which + * were passed in from the bootloader. + */ +void __init setup_system(void) +{ + DBG(" -> setup_system()\n"); -#ifdef CONFIG_SMP - /* Start secondary threads on SMT systems */ - for (i = 0; i < NR_CPUS; i++) { - if (cpu_available(i) && !cpu_possible(i)) { - printk("%16.16x : starting thread\n", i); - rtas_call(rtas_token("start-cpu"), 3, 1, &ret, - get_hard_smp_processor_id(i), - (u32)*((unsigned long *)pseries_secondary_smp_init), - i); - cpu_set(i, cpu_possible_map); - systemcfg->processorCount++; - } - } -#endif /* CONFIG_SMP */ - } +#ifdef CONFIG_PPC_ISERIES + /* pSeries systems are identified in prom.c via OF. */ + if (itLpNaca.xLparInstalled == 1) + systemcfg->platform = PLATFORM_ISERIES_LPAR; + + ppc_md.init_early(); +#else /* CONFIG_PPC_ISERIES */ + + /* + * Unflatten the device-tree passed by prom_init or kexec + */ + unflatten_device_tree(); + + /* + * Fill the naca & systemcfg structures with informations + * retreived from the device-tree. Need to be called before + * finish_device_tree() since the later requires some of the + * informations filled up here to properly parse the interrupt + * tree. + * It also sets up the cache line sizes which allows to call + * routines like flush_icache_range (used by the hash init + * later on). + */ + initialize_naca(); + +#ifdef CONFIG_PPC_PSERIES + /* + * Initialize RTAS if available + */ + rtas_initialize(); #endif /* CONFIG_PPC_PSERIES */ -#ifdef CONFIG_PPC_PMAC - if (systemcfg->platform == PLATFORM_POWERMAC) { - finish_device_tree(); - pmac_init(r3, r4, r5, r6, r7); - } -#endif /* CONFIG_PPC_PMAC */ + /* + * Check if we have an initrd provided via the device-tree + */ + check_for_initrd(); -#if defined(CONFIG_HOTPLUG_CPU) && !defined(CONFIG_PPC_PMAC) - rtas_stop_self_args.token = rtas_token("stop-self"); -#endif /* CONFIG_HOTPLUG_CPU && !CONFIG_PPC_PMAC */ + /* + * Do some platform specific early initializations, that includes + * setting up the hash table pointers. It also sets up some interrupt-mapping + * related options that will be used by finish_device_tree() + */ + ppc_md.init_early(); - /* Finish initializing the hash table (do the dynamic - * patching for the fast-path hashtable.S code) + /* + * "Finish" the device-tree, that is do the actual parsing of + * some of the properties like the interrupt map */ - htab_finish_init(); + finish_device_tree(); + + /* + * Initialize xmon + */ +#ifdef CONFIG_XMON_DEFAULT + xmon_init(); +#endif + /* + * Register early console + */ + early_console_initialized = 1; + register_console(&udbg_console); + +#endif /* !CONFIG_PPC_ISERIES */ + + /* Save unparsed command line copy for /proc/cmdline */ + strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE); + + parse_early_param(); + +#if defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES) + /* + * iSeries has already initialized the cpu maps at this point. + */ + setup_cpu_maps(); +#endif /* defined(CONFIG_SMP) && !defined(CONFIG_PPC_ISERIES) */ printk("Starting Linux PPC64 %s\n", UTS_RELEASE); @@ -282,28 +640,10 @@ void setup_system(unsigned long r3, unsigned long r4, unsigned long r5, mm_init_ppc64(); -#if defined(CONFIG_SMP) && defined(CONFIG_PPC_PSERIES) - if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR) { - vpa_init(boot_cpuid); - } -#endif - - /* Select the correct idle loop for the platform. */ - idle_setup(); - - switch (systemcfg->platform) { -#ifdef CONFIG_PPC_ISERIES - case PLATFORM_ISERIES_LPAR: - iSeries_init(); - break; -#endif - default: - /* The following relies on the device tree being */ - /* fully configured. */ - parse_cmd_line(r3, r4, r5, r6, r7); - } + DBG(" <- setup_system()\n"); } + void machine_restart(char *cmd) { if (ppc_md.nvram_sync) @@ -373,7 +713,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) #ifdef CONFIG_SMP pvr = per_cpu(pvr, cpu_id); #else - pvr = _get_PVR(); + pvr = mfspr(SPRN_PVR); #endif maj = (pvr >> 8) & 0xFF; min = pvr & 0xFF; @@ -425,74 +765,75 @@ struct seq_operations cpuinfo_op = { .show = show_cpuinfo, }; -/* - * Fetch the cmd_line from open firmware. - */ -void parse_cmd_line(unsigned long r3, unsigned long r4, unsigned long r5, - unsigned long r6, unsigned long r7) -{ - cmd_line[0] = 0; +#if 0 /* XXX not currently used */ +unsigned long memory_limit; -#ifdef CONFIG_CMDLINE - strlcpy(cmd_line, CONFIG_CMDLINE, sizeof(cmd_line)); -#endif /* CONFIG_CMDLINE */ +static int __init early_parsemem(char *p) +{ + if (!p) + return 0; -#ifdef CONFIG_PPC_PSERIES - { - struct device_node *chosen; - - chosen = of_find_node_by_name(NULL, "chosen"); - if (chosen != NULL) { - char *p; - p = get_property(chosen, "bootargs", NULL); - if (p != NULL && p[0] != 0) - strlcpy(cmd_line, p, sizeof(cmd_line)); - of_node_put(chosen); - } - } -#endif + memory_limit = memparse(p, &p); - /* Look for mem= option on command line */ - if (strstr(cmd_line, "mem=")) { - char *p, *q; - unsigned long maxmem = 0; - extern unsigned long __max_memory; - - for (q = cmd_line; (p = strstr(q, "mem=")) != 0; ) { - q = p + 4; - if (p > cmd_line && p[-1] != ' ') - continue; - maxmem = simple_strtoul(q, &q, 0); - if (*q == 'k' || *q == 'K') { - maxmem <<= 10; - ++q; - } else if (*q == 'm' || *q == 'M') { - maxmem <<= 20; - ++q; - } - } - __max_memory = maxmem; - } + return 0; } +early_param("mem", early_parsemem); +#endif -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM static int __init set_preferred_console(void) { struct device_node *prom_stdout; char *name; - int offset; + int offset = 0; +#if 0 + phandle *stdout_ph; +#endif + DBG(" -> set_preferred_console()\n"); /* The user has requested a console so this is already set up. */ - if (strstr(saved_command_line, "console=")) + if (strstr(saved_command_line, "console=")) { + DBG(" console was specified !\n"); return -EBUSY; + } - prom_stdout = find_path_device(of_stdout_device); - if (!prom_stdout) + if (!of_chosen) { + DBG(" of_chosen is NULL !\n"); return -ENODEV; + } + /* We are getting a weird phandle from OF ... */ +#if 0 + stdout_ph = (phandle *)get_property(of_chosen, "linux,stdout-package", NULL); + if (stdout_ph == NULL) { + DBG(" no linux,stdout-package !\n"); + return -ENODEV; + } + prom_stdout = of_find_node_by_phandle(*stdout_ph); + if (!prom_stdout) { + DBG(" can't find stdout package for phandle 0x%x !\n", *stdout_ph); + return -ENODEV; + } +#endif + /* ... So use the full path instead */ +#if 1 + name = (char *)get_property(of_chosen, "linux,stdout-path", NULL); + if (name == NULL) { + DBG(" no linux,stdout-path !\n"); + return -ENODEV; + } + prom_stdout = of_find_node_by_path(name); + if (!prom_stdout) { + DBG(" can't find stdout package %s !\n", name); + return -ENODEV; + } +#endif + DBG("stdout is %s\n", prom_stdout->full_name); name = (char *)get_property(prom_stdout, "name", NULL); - if (!name) - return -ENODEV; + if (!name) { + DBG(" stdout package has no name !\n"); + goto not_found; + } if (strcmp(name, "serial") == 0) { int i; @@ -513,76 +854,69 @@ static int __init set_preferred_console(void) break; default: /* We dont recognise the serial port */ - return -ENODEV; + goto not_found; } } - } else if (strcmp(name, "vty") == 0) - /* pSeries LPAR virtual console */ - return add_preferred_console("hvc", 0, NULL); + } +#ifdef CONFIG_PPC_PSERIES + else if (strcmp(name, "vty") == 0) { + u32 *reg = (u32 *)get_property(prom_stdout, "reg", NULL); + char *compat = (char *)get_property(prom_stdout, "compatible", NULL); + + if (reg && compat && (strcmp(compat, "hvterm-protocol") == 0)) { + /* Host Virtual Serial Interface */ + int offset; + switch (reg[0]) { + case 0x30000000: + offset = 0; + break; + case 0x30000001: + offset = 1; + break; + default: + goto not_found; + } + of_node_put(prom_stdout); + DBG("Found hvsi console at offset %d\n", offset); + return add_preferred_console("hvsi", offset, NULL); + } else { + /* pSeries LPAR virtual console */ + of_node_put(prom_stdout); + DBG("Found hvc console\n"); + return add_preferred_console("hvc", 0, NULL); + } + } +#endif /* CONFIG_PPC_PSERIES */ else if (strcmp(name, "ch-a") == 0) offset = 0; else if (strcmp(name, "ch-b") == 0) offset = 1; else - return -ENODEV; + goto not_found; + of_node_put(prom_stdout); + + DBG("Found serial console at ttyS%d\n", offset); return add_preferred_console("ttyS", offset, NULL); + not_found: + DBG("No preferred console found !\n"); + of_node_put(prom_stdout); + return -ENODEV; } console_initcall(set_preferred_console); - -int parse_bootinfo(void) -{ - struct bi_record *rec; - - rec = prom.bi_recs; - - if ( rec == NULL || rec->tag != BI_FIRST ) - return -1; - - for ( ; rec->tag != BI_LAST ; rec = bi_rec_next(rec) ) { - switch (rec->tag) { - case BI_CMD_LINE: - strlcpy(cmd_line, (void *)rec->data, sizeof(cmd_line)); - break; - } - } - - return 0; -} -#endif - -int __init ppc_init(void) -{ - /* clear the progress line */ - ppc_md.progress(" ", 0xffff); - - if (ppc_md.init != NULL) { - ppc_md.init(); - } - return 0; -} - -arch_initcall(ppc_init); - -void __init ppc64_calibrate_delay(void) -{ - loops_per_jiffy = tb_ticks_per_jiffy; - - printk("Calibrating delay loop... %lu.%02lu BogoMips\n", - loops_per_jiffy/(500000/HZ), - loops_per_jiffy/(5000/HZ) % 100); -} - -extern void (*calibrate_delay)(void); +#endif /* CONFIG_PPC_MULTIPLATFORM */ #ifdef CONFIG_IRQSTACKS static void __init irqstack_early_init(void) { - int i; + unsigned int i; - /* interrupt stacks must be under 256MB, we cannot afford to take SLB misses on them */ - for (i = 0; i < NR_CPUS; i++) { + /* + * interrupt stacks must be under 256MB, we cannot afford to take + * SLB misses on them. + */ + for_each_cpu(i) { softirq_ctx[i] = (struct thread_info *)__va(lmb_alloc_base(THREAD_SIZE, THREAD_SIZE, 0x10000000)); hardirq_ctx[i] = (struct thread_info *)__va(lmb_alloc_base(THREAD_SIZE, @@ -593,6 +927,31 @@ static void __init irqstack_early_init(void) #define irqstack_early_init() #endif +/* + * Stack space used when we detect a bad kernel stack pointer, and + * early in SMP boots before relocation is enabled. + */ +static void __init emergency_stack_init(void) +{ + unsigned long limit; + unsigned int i; + + /* + * Emergency stacks must be under 256MB, we cannot afford to take + * SLB misses on them. The ABI also requires them to be 128-byte + * aligned. + * + * Since we use these as temporary stacks during secondary CPU + * bringup, we need to get at them in real mode. This means they + * must also be within the RMO region. + */ + limit = min(0x10000000UL, lmb.rmo_size); + + for_each_cpu(i) + paca[i].emergency_sp = __va(lmb_alloc_base(PAGE_SIZE, 128, + limit)) + PAGE_SIZE; +} + /* * Called into from start_kernel, after lock_kernel has been called. * Initializes bootmem, which is unsed to manage page allocation until @@ -603,17 +962,9 @@ void __init setup_arch(char **cmdline_p) extern int panic_timeout; extern void do_init_bootmem(void); - calibrate_delay = ppc64_calibrate_delay; - ppc64_boot_msg(0x12, "Setup Arch"); -#ifdef CONFIG_XMON - if (strstr(cmd_line, "xmon")) { - /* ensure xmon is enabled */ - xmon_init(); - debugger(0); - } -#endif /* CONFIG_XMON */ + *cmdline_p = cmd_line; /* * Set cache line size based on type of cpu as a default. @@ -634,21 +985,22 @@ void __init setup_arch(char **cmdline_p) init_mm.end_data = (unsigned long) _edata; init_mm.brk = klimit; - /* Save unparsed command line copy for /proc/cmdline */ - strlcpy(saved_command_line, cmd_line, COMMAND_LINE_SIZE); - *cmdline_p = cmd_line; - irqstack_early_init(); + emergency_stack_init(); /* set up the bootmem stuff with available memory */ do_init_bootmem(); + /* Select the correct idle loop for the platform. */ + idle_setup(); + ppc_md.setup_arch(); paging_init(); ppc64_boot_msg(0x15, "Setup Done"); } + /* ToDo: do something useful if ppc_md is not yet setup. */ #define PPC64_LINUX_FUNCTION 0x0f000000 #define PPC64_IPL_MESSAGE 0xc0000000 @@ -753,3 +1105,16 @@ int set_decr_overclock( char * str ) __setup("spread_lpevents=", set_spread_lpevents ); __setup("decr_overclock_proc0=", set_decr_overclock_proc0 ); __setup("decr_overclock=", set_decr_overclock ); + +#ifdef CONFIG_XMON +static int __init early_xmon(char *p) +{ + /* ensure xmon is enabled */ + xmon_init(); + debugger(0); + + return 0; +} +early_param("xmon", early_xmon); +#endif + diff --git a/arch/ppc64/kernel/signal.c b/arch/ppc64/kernel/signal.c index 8323d7355..3d6d7582e 100644 --- a/arch/ppc64/kernel/signal.c +++ b/arch/ppc64/kernel/signal.c @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include #include #include @@ -99,7 +99,7 @@ long sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, int p3, int current->state = TASK_INTERRUPTIBLE; schedule(); if (do_signal(&saveset, regs)) - return regs->gpr[3]; + return 0; } } @@ -127,7 +127,7 @@ static long setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, * v_regs pointer or not */ #ifdef CONFIG_ALTIVEC - elf_vrreg_t __user *v_regs = (elf_vrreg_t __user *)(((unsigned long)sc->vmx_reserve) & ~0xful); + elf_vrreg_t __user *v_regs = (elf_vrreg_t __user *)(((unsigned long)sc->vmx_reserve + 15) & ~0xful); #endif long err = 0; @@ -178,7 +178,7 @@ static long restore_sigcontext(struct pt_regs *regs, sigset_t *set, int sig, elf_vrreg_t __user *v_regs; #endif unsigned long err = 0; - unsigned long save_r13; + unsigned long save_r13 = 0; elf_greg_t *gregs = (elf_greg_t *)regs; int i; @@ -371,7 +371,8 @@ badframe: printk("badframe in sys_rt_sigreturn, regs=%p uc=%p &uc->uc_mcontext=%p\n", regs, uc, &uc->uc_mcontext); #endif - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); + return 0; } static void setup_rt_frame(int signr, struct k_sigaction *ka, siginfo_t *info, @@ -420,7 +421,7 @@ static void setup_rt_frame(int signr, struct k_sigaction *ka, siginfo_t *info, /* Allocate a dummy caller frame for the signal handler. */ newsp = (unsigned long)frame - __SIGNAL_FRAMESIZE; - err |= put_user(0, (unsigned long __user *)newsp); + err |= put_user(regs->gpr[1], (unsigned long __user *)newsp); /* Set up "regs" so we "return" to the signal handler. */ err |= get_user(regs->nip, &funct_desc_ptr->entry); @@ -439,6 +440,9 @@ static void setup_rt_frame(int signr, struct k_sigaction *ka, siginfo_t *info, if (err) goto badframe; + if (test_thread_flag(TIF_SINGLESTEP)) + ptrace_notify(SIGTRAP); + return; badframe: @@ -446,7 +450,7 @@ badframe: printk("badframe in setup_rt_frame, regs=%p frame=%p newsp=%lx\n", regs, frame, newsp); #endif - do_exit(SIGSEGV); + force_sigsegv(signr, current); } @@ -459,17 +463,13 @@ static void handle_signal(unsigned long sig, struct k_sigaction *ka, /* Set up Signal Frame */ setup_rt_frame(sig, ka, info, oldset, regs); - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; - if (!(ka->sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); - sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); + sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask); sigaddset(¤t->blocked,sig); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); } - return; } static inline void syscall_restart(struct pt_regs *regs, struct k_sigaction *ka) @@ -512,6 +512,7 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) { siginfo_t info; int signr; + struct k_sigaction ka; /* * If the current thread is 32 bit - invoke the @@ -523,14 +524,12 @@ int do_signal(sigset_t *oldset, struct pt_regs *regs) if (!oldset) oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - struct k_sigaction *ka = ¤t->sighand->action[signr-1]; - /* Whee! Actually deliver the signal. */ if (TRAP(regs) == 0x0C00) - syscall_restart(regs, ka); - handle_signal(signr, ka, &info, oldset, regs); + syscall_restart(regs, &ka); + handle_signal(signr, &ka, &info, oldset, regs); return 1; } diff --git a/arch/ppc64/kernel/signal32.c b/arch/ppc64/kernel/signal32.c index 106f008af..2af9d8da5 100644 --- a/arch/ppc64/kernel/signal32.c +++ b/arch/ppc64/kernel/signal32.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -189,7 +190,7 @@ static long restore_user_regs(struct pt_regs *regs, elf_greg_t64 *gregs = (elf_greg_t64 *)regs; int i; long err = 0; - unsigned int save_r2; + unsigned int save_r2 = 0; #ifdef CONFIG_ALTIVEC unsigned long msr; #endif @@ -283,7 +284,7 @@ long sys32_sigsuspend(old_sigset_t mask, int p2, int p3, int p4, int p6, int p7, * In the other cases, do_signal32() doesn't touch * R3, so it's still set to -EINTR (see above). */ - return regs->gpr[3]; + return 0; } } @@ -472,10 +473,14 @@ static long copy_siginfo_to_user32(compat_siginfo_t __user *d, siginfo_t *s) &d->si_addr); break; case __SI_POLL >> 16: - case __SI_TIMER >> 16: err |= __put_user(s->si_band, &d->si_band); err |= __put_user(s->si_fd, &d->si_fd); break; + case __SI_TIMER >> 16: + err |= __put_user(s->si_tid, &d->si_tid); + err |= __put_user(s->si_overrun, &d->si_overrun); + err |= __put_user(s->si_int, &d->si_int); + break; case __SI_RT >> 16: /* This is not generated by the kernel as of now. */ case __SI_MESGQ >> 16: err |= __put_user(s->si_int, &d->si_int); @@ -582,7 +587,7 @@ int sys32_rt_sigsuspend(compat_sigset_t __user * unewset, size_t sigsetsize, int * In the other cases, do_signal32() doesn't touch * R3, so it's still set to -EINTR (see above). */ - return regs->gpr[3]; + return 0; } } @@ -692,6 +697,9 @@ static void handle_rt_signal32(unsigned long sig, struct k_sigaction *ka, regs->trap = 0; regs->result = 0; + if (test_thread_flag(TIF_SINGLESTEP)) + ptrace_notify(SIGTRAP); + return; badframe: @@ -699,9 +707,7 @@ badframe: printk("badframe in handle_rt_signal, regs=%p frame=%p newsp=%lx\n", regs, frame, newsp); #endif - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static long do_setcontext32(struct ucontext32 __user *ucp, struct pt_regs *regs, int sig) @@ -857,6 +863,9 @@ static void handle_signal32(unsigned long sig, struct k_sigaction *ka, regs->trap = 0; regs->result = 0; + if (test_thread_flag(TIF_SINGLESTEP)) + ptrace_notify(SIGTRAP); + return; badframe: @@ -864,9 +873,7 @@ badframe: printk("badframe in handle_signal, regs=%p frame=%x newsp=%x\n", regs, frame, *newspp); #endif - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } /* @@ -928,18 +935,16 @@ badframe: int do_signal32(sigset_t *oldset, struct pt_regs *regs) { siginfo_t info; - struct k_sigaction *ka; unsigned int frame, newsp; int signr, ret; + struct k_sigaction ka; if (!oldset) oldset = ¤t->blocked; newsp = frame = 0; - signr = get_signal_to_deliver(&info, regs, NULL); - - ka = (signr == 0)? NULL: ¤t->sighand->action[signr-1]; + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (TRAP(regs) == 0x0C00 /* System Call! */ && regs->ccr & 0x10000000 /* error signalled */ @@ -950,7 +955,7 @@ int do_signal32(sigset_t *oldset, struct pt_regs *regs) if (signr > 0 && (ret == ERESTARTNOHAND || ret == ERESTART_RESTARTBLOCK || (ret == ERESTARTSYS - && !(ka->sa.sa_flags & SA_RESTART)))) { + && !(ka.sa.sa_flags & SA_RESTART)))) { /* make the system call return an EINTR error */ regs->result = -EINTR; regs->gpr[3] = EINTR; @@ -969,7 +974,7 @@ int do_signal32(sigset_t *oldset, struct pt_regs *regs) if (signr == 0) return 0; /* no signals delivered */ - if ((ka->sa.sa_flags & SA_ONSTACK) && current->sas_ss_size + if ((ka.sa.sa_flags & SA_ONSTACK) && current->sas_ss_size && (!on_sig_stack(regs->gpr[1]))) newsp = (current->sas_ss_sp + current->sas_ss_size); else @@ -977,17 +982,15 @@ int do_signal32(sigset_t *oldset, struct pt_regs *regs) newsp &= ~0xfUL; /* Whee! Actually deliver the signal. */ - if (ka->sa.sa_flags & SA_SIGINFO) - handle_rt_signal32(signr, ka, &info, oldset, regs, newsp); + if (ka.sa.sa_flags & SA_SIGINFO) + handle_rt_signal32(signr, &ka, &info, oldset, regs, newsp); else - handle_signal32(signr, ka, &info, oldset, regs, newsp); - - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; + handle_signal32(signr, &ka, &info, oldset, regs, newsp); - if (!(ka->sa.sa_flags & SA_NODEFER)) { + if (!(ka.sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); - sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); + sigorsets(¤t->blocked, ¤t->blocked, + &ka.sa.sa_mask); sigaddset(¤t->blocked, signr); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); diff --git a/arch/ppc64/kernel/smp.c b/arch/ppc64/kernel/smp.c index 5cf39f3e8..75ced7528 100644 --- a/arch/ppc64/kernel/smp.c +++ b/arch/ppc64/kernel/smp.c @@ -15,6 +15,8 @@ * 2 of the License, or (at your option) any later version. */ +#undef DEBUG + #include #include #include @@ -36,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -53,14 +54,20 @@ #include #include #include +#include + +#ifdef DEBUG +#define DBG(fmt...) udbg_printf(fmt) +#else +#define DBG(fmt...) +#endif int smp_threads_ready; unsigned long cache_decay_ticks; cpumask_t cpu_possible_map = CPU_MASK_NONE; cpumask_t cpu_online_map = CPU_MASK_NONE; -cpumask_t cpu_available_map = CPU_MASK_NONE; -cpumask_t cpu_present_at_boot = CPU_MASK_NONE; +cpumask_t cpu_sibling_map[NR_CPUS] = { [0 ... NR_CPUS-1] = CPU_MASK_NONE }; EXPORT_SYMBOL(cpu_online_map); EXPORT_SYMBOL(cpu_possible_map); @@ -76,9 +83,13 @@ void smp_call_function_interrupt(void); extern long register_vpa(unsigned long flags, unsigned long proc, unsigned long vpa); +int smt_enabled_at_boot = 1; + /* Low level assembly function used to backup CPU 0 state */ extern void __save_cpu_setup(void); +extern void pseries_secondary_smp_init(unsigned long); + #ifdef CONFIG_PPC_ISERIES static unsigned long iSeries_smp_message[NR_CPUS]; @@ -124,9 +135,8 @@ static int smp_iSeries_numProcs(void) np = 0; for (i=0; i < NR_CPUS; ++i) { if (paca[i].lppaca.xDynProcStatus < 2) { - cpu_set(i, cpu_available_map); cpu_set(i, cpu_possible_map); - cpu_set(i, cpu_present_at_boot); + cpu_set(i, cpu_present_map); ++np; } } @@ -183,7 +193,7 @@ void __init smp_init_iSeries(void) } #endif -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM void smp_openpic_message_pass(int target, int msg) { /* make sure we're sending something that translates to an IPI */ @@ -224,7 +234,10 @@ static void __devinit smp_openpic_setup_cpu(int cpu) do_openpic_setup_cpu(); } -#ifdef CONFIG_HOTPLUG_CPU +#endif /* CONFIG_PPC_MULTIPLATFORM */ + +#ifdef CONFIG_PPC_PSERIES + /* Get state of physical CPU. * Return codes: * 0 - The processor is in the RTAS stopped state @@ -233,13 +246,15 @@ static void __devinit smp_openpic_setup_cpu(int cpu) * -1 - Hardware Error * -2 - Hardware Busy, Try again later. */ -static int query_cpu_stopped(unsigned int pcpu) +int query_cpu_stopped(unsigned int pcpu) { int cpu_status; int status, qcss_tok; + DBG(" -> query_cpu_stopped(%d)\n", pcpu); qcss_tok = rtas_token("query-cpu-stopped-state"); - BUG_ON(qcss_tok == RTAS_UNKNOWN_SERVICE); + if (qcss_tok == RTAS_UNKNOWN_SERVICE) + return -1; status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu); if (status != 0) { printk(KERN_ERR @@ -247,9 +262,13 @@ static int query_cpu_stopped(unsigned int pcpu) return status; } + DBG(" <- query_cpu_stopped(), status: %d\n", cpu_status); + return cpu_status; } +#ifdef CONFIG_HOTPLUG_CPU + int __cpu_disable(void) { /* FIXME: go put this in a header somewhere */ @@ -272,13 +291,12 @@ void __cpu_die(unsigned int cpu) int cpu_status; unsigned int pcpu = get_hard_smp_processor_id(cpu); - for (tries = 0; tries < 5; tries++) { + for (tries = 0; tries < 25; tries++) { cpu_status = query_cpu_stopped(pcpu); - - if (cpu_status == 0) + if (cpu_status == 0 || cpu_status == -1) break; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + schedule_timeout(HZ/5); } if (cpu_status != 0) { printk("Querying DEAD? cpu %i (%i) shows %i\n", @@ -372,13 +390,13 @@ out: static inline int __devinit smp_startup_cpu(unsigned int lcpu) { int status; - extern void (*pseries_secondary_smp_init)(unsigned int cpu); - unsigned long start_here = __pa(pseries_secondary_smp_init); + unsigned long start_here = __pa((u32)*((unsigned long *) + pseries_secondary_smp_init)); unsigned int pcpu; /* At boot time the cpus are already spinning in hold * loops, so nothing to do. */ - if (system_state == SYSTEM_BOOTING) + if (system_state < SYSTEM_RUNNING) return 1; pcpu = find_physical_cpu_to_start(get_hard_smp_processor_id(lcpu)); @@ -401,56 +419,11 @@ static inline int __devinit smp_startup_cpu(unsigned int lcpu) } return 1; } - -static inline void look_for_more_cpus(void) -{ - int num_addr_cell, num_size_cell, len, i, maxcpus; - struct device_node *np; - unsigned int *ireg; - - /* Find the property which will tell us about how many CPUs - * we're allowed to have. */ - if ((np = find_path_device("/rtas")) == NULL) { - printk(KERN_ERR "Could not find /rtas in device tree!"); - return; - } - num_addr_cell = prom_n_addr_cells(np); - num_size_cell = prom_n_size_cells(np); - - ireg = (unsigned int *)get_property(np, "ibm,lrdr-capacity", &len); - if (ireg == NULL) { - /* FIXME: make sure not marked as lrdr_capable() */ - return; - } - - maxcpus = ireg[num_addr_cell + num_size_cell]; - - /* Double maxcpus for processors which have SMT capability */ - if (cur_cpu_spec->cpu_features & CPU_FTR_SMT) - maxcpus *= 2; - - - if (maxcpus > NR_CPUS) { - printk(KERN_WARNING - "Partition configured for %d cpus, " - "operating system maximum is %d.\n", maxcpus, NR_CPUS); - maxcpus = NR_CPUS; - } else - printk(KERN_INFO "Partition configured for %d cpus.\n", - maxcpus); - - /* Make those cpus (which might appear later) possible too. */ - for (i = 0; i < maxcpus; i++) - cpu_set(i, cpu_possible_map); -} #else /* ... CONFIG_HOTPLUG_CPU */ static inline int __devinit smp_startup_cpu(unsigned int lcpu) { return 1; } -static inline void look_for_more_cpus(void) -{ -} #endif /* CONFIG_HOTPLUG_CPU */ static void smp_pSeries_kick_cpu(int nr) @@ -485,13 +458,13 @@ static void __init smp_space_timers(unsigned int max_cpus) } #ifdef CONFIG_PPC_PSERIES -void vpa_init(int cpu) +static void vpa_init(int cpu) { - unsigned long flags; + unsigned long flags, pcpu = get_hard_smp_processor_id(cpu); /* Register the Virtual Processor Area (VPA) */ flags = 1UL << (63 - 18); - register_vpa(flags, cpu, __pa((unsigned long)&(paca[cpu].lppaca))); + register_vpa(flags, pcpu, __pa((unsigned long)&(paca[cpu].lppaca))); } static inline void smp_xics_do_message(int cpu, int msg) @@ -576,26 +549,47 @@ static struct smp_ops_t pSeries_xics_smp_ops = { /* This is called very early */ void __init smp_init_pSeries(void) { + int ret, i; + + DBG(" -> smp_init_pSeries()\n"); if (naca->interrupt_controller == IC_OPEN_PIC) smp_ops = &pSeries_openpic_smp_ops; else smp_ops = &pSeries_xics_smp_ops; + /* Start secondary threads on SMT systems; primary threads + * are already in the running state. + */ + for_each_present_cpu(i) { + if (query_cpu_stopped(get_hard_smp_processor_id(i)) == 0) { + printk("%16.16x : starting thread\n", i); + DBG("%16.16x : starting thread\n", i); + rtas_call(rtas_token("start-cpu"), 3, 1, &ret, + get_hard_smp_processor_id(i), + __pa((u32)*((unsigned long *) + pseries_secondary_smp_init)), + i); + } + } + + if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR) + vpa_init(boot_cpuid); + /* Non-lpar has additional take/give timebase */ if (systemcfg->platform == PLATFORM_PSERIES) { smp_ops->give_timebase = pSeries_give_timebase; smp_ops->take_timebase = pSeries_take_timebase; } + + + DBG(" <- smp_init_pSeries()\n"); } -#endif +#endif /* CONFIG_PPC_PSERIES */ void smp_local_timer_interrupt(struct pt_regs * regs) { - if (!--(get_paca()->prof_counter)) { - update_process_times(user_mode(regs)); - (get_paca()->prof_counter)=get_paca()->prof_multiplier; - } + update_process_times(user_mode(regs)); } void smp_message_recv(int msg, struct pt_regs *regs) @@ -751,7 +745,7 @@ out: return ret; } -EXPORT_SYMBOL_GPL(smp_call_function); +EXPORT_SYMBOL(smp_call_function); void smp_call_function_interrupt(void) { @@ -796,26 +790,17 @@ DECLARE_PER_CPU(unsigned int, pvr); static void __devinit smp_store_cpu_info(int id) { - per_cpu(pvr, id) = _get_PVR(); + per_cpu(pvr, id) = mfspr(SPRN_PVR); } static void __init smp_create_idle(unsigned int cpu) { - struct pt_regs regs; struct task_struct *p; /* create a process for the processor */ - /* only regs.msr is actually used, and 0 is OK for it */ - memset(®s, 0, sizeof(struct pt_regs)); - p = copy_process(CLONE_VM | CLONE_IDLETASK, - 0, ®s, 0, NULL, NULL); + p = fork_idle(cpu); if (IS_ERR(p)) panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); - - wake_up_forked_process(p); - init_idle(p, cpu); - unhash_process(p); - paca[cpu].__current = p; current_set[cpu] = p->thread_info; } @@ -833,8 +818,6 @@ void __init smp_prepare_cpus(unsigned int max_cpus) /* Fixup boot cpu */ smp_store_cpu_info(boot_cpuid); cpu_callin_map[boot_cpuid] = 1; - paca[boot_cpuid].prof_counter = 1; - paca[boot_cpuid].prof_multiplier = 1; #ifndef CONFIG_PPC_ISERIES paca[boot_cpuid].next_jiffy_update_tb = tb_last_stamp = get_tb(); @@ -845,8 +828,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) * number of msecs off until someone does a settimeofday() */ do_gtod.tb_orig_stamp = tb_last_stamp; - - look_for_more_cpus(); + systemcfg->tb_orig_stamp = tb_last_stamp; #endif max_cpus = smp_ops->probe(); @@ -865,7 +847,6 @@ void __devinit smp_prepare_boot_cpu(void) { BUG_ON(smp_processor_id() != boot_cpuid); - /* cpu_possible is set up in prom.c */ cpu_set(boot_cpuid, cpu_online_map); paca[boot_cpuid].__current = current; @@ -877,11 +858,9 @@ int __devinit __cpu_up(unsigned int cpu) int c; /* At boot, don't bother with non-present cpus -JSCHOPP */ - if (system_state == SYSTEM_BOOTING && !cpu_present_at_boot(cpu)) + if (system_state < SYSTEM_RUNNING && !cpu_present(cpu)) return -ENOENT; - paca[cpu].prof_counter = 1; - paca[cpu].prof_multiplier = 1; paca[cpu].default_decr = tb_ticks_per_jiffy / decr_overclock; if (!(cur_cpu_spec->cpu_features & CPU_FTR_SLB)) { @@ -911,7 +890,7 @@ int __devinit __cpu_up(unsigned int cpu) * use this value that I found through experimentation. * -- Cort */ - if (system_state == SYSTEM_BOOTING) + if (system_state < SYSTEM_RUNNING) for (c = 5000; c && !cpu_callin_map[cpu]; c--) udelay(100); #ifdef CONFIG_HOTPLUG_CPU @@ -1006,219 +985,12 @@ void __init smp_cpus_done(unsigned int max_cpus) smp_threads_ready = 1; set_cpus_allowed(current, old_mask); -} - -#ifdef CONFIG_SCHED_SMT -#ifdef CONFIG_NUMA -static struct sched_group sched_group_cpus[NR_CPUS]; -static struct sched_group sched_group_phys[NR_CPUS]; -static struct sched_group sched_group_nodes[MAX_NUMNODES]; -static DEFINE_PER_CPU(struct sched_domain, cpu_domains); -static DEFINE_PER_CPU(struct sched_domain, phys_domains); -static DEFINE_PER_CPU(struct sched_domain, node_domains); -__init void arch_init_sched_domains(void) -{ - int i; - struct sched_group *first = NULL, *last = NULL; - /* Set up domains */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - struct sched_domain *phys_domain = &per_cpu(phys_domains, i); - struct sched_domain *node_domain = &per_cpu(node_domains, i); - int node = cpu_to_node(i); - cpumask_t nodemask = node_to_cpumask(node); - cpumask_t my_cpumask = cpumask_of_cpu(i); - cpumask_t sibling_cpumask = cpumask_of_cpu(i ^ 0x1); - - *cpu_domain = SD_SIBLING_INIT; - if (cur_cpu_spec->cpu_features & CPU_FTR_SMT) - cpus_or(cpu_domain->span, my_cpumask, sibling_cpumask); - else - cpu_domain->span = my_cpumask; - cpu_domain->parent = phys_domain; - cpu_domain->groups = &sched_group_cpus[i]; - - *phys_domain = SD_CPU_INIT; - phys_domain->span = nodemask; - phys_domain->parent = node_domain; - phys_domain->groups = &sched_group_phys[first_cpu(cpu_domain->span)]; - - *node_domain = SD_NODE_INIT; - node_domain->span = cpu_possible_map; - node_domain->groups = &sched_group_nodes[node]; - } - - /* Set up CPU (sibling) groups */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - int j; - first = last = NULL; - - if (i != first_cpu(cpu_domain->span)) - continue; - - for_each_cpu_mask(j, cpu_domain->span) { - struct sched_group *cpu = &sched_group_cpus[j]; - - cpus_clear(cpu->cpumask); - cpu_set(j, cpu->cpumask); - cpu->cpu_power = SCHED_LOAD_SCALE; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - } - - for (i = 0; i < MAX_NUMNODES; i++) { - int j; - cpumask_t nodemask; - struct sched_group *node = &sched_group_nodes[i]; - cpumask_t node_cpumask = node_to_cpumask(i); - cpus_and(nodemask, node_cpumask, cpu_possible_map); - - if (cpus_empty(nodemask)) - continue; - - first = last = NULL; - /* Set up physical groups */ - for_each_cpu_mask(j, nodemask) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, j); - struct sched_group *cpu = &sched_group_phys[j]; - - if (j != first_cpu(cpu_domain->span)) - continue; - - cpu->cpumask = cpu_domain->span; - /* - * Make each extra sibling increase power by 10% of - * the basic CPU. This is very arbitrary. - */ - cpu->cpu_power = SCHED_LOAD_SCALE + SCHED_LOAD_SCALE*(cpus_weight(cpu->cpumask)-1) / 10; - node->cpu_power += cpu->cpu_power; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - } - - /* Set up nodes */ - first = last = NULL; - for (i = 0; i < MAX_NUMNODES; i++) { - struct sched_group *cpu = &sched_group_nodes[i]; - cpumask_t nodemask; - cpumask_t node_cpumask = node_to_cpumask(i); - cpus_and(nodemask, node_cpumask, cpu_possible_map); - - if (cpus_empty(nodemask)) - continue; - - cpu->cpumask = nodemask; - /* ->cpu_power already setup */ - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - - mb(); - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - cpu_attach_domain(cpu_domain, i); - } -} -#else /* !CONFIG_NUMA */ -static struct sched_group sched_group_cpus[NR_CPUS]; -static struct sched_group sched_group_phys[NR_CPUS]; -static DEFINE_PER_CPU(struct sched_domain, cpu_domains); -static DEFINE_PER_CPU(struct sched_domain, phys_domains); -__init void arch_init_sched_domains(void) -{ - int i; - struct sched_group *first = NULL, *last = NULL; - - /* Set up domains */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - struct sched_domain *phys_domain = &per_cpu(phys_domains, i); - cpumask_t my_cpumask = cpumask_of_cpu(i); - cpumask_t sibling_cpumask = cpumask_of_cpu(i ^ 0x1); - - *cpu_domain = SD_SIBLING_INIT; - if (cur_cpu_spec->cpu_features & CPU_FTR_SMT) - cpus_or(cpu_domain->span, my_cpumask, sibling_cpumask); - else - cpu_domain->span = my_cpumask; - cpu_domain->parent = phys_domain; - cpu_domain->groups = &sched_group_cpus[i]; - - *phys_domain = SD_CPU_INIT; - phys_domain->span = cpu_possible_map; - phys_domain->groups = &sched_group_phys[first_cpu(cpu_domain->span)]; - } - - /* Set up CPU (sibling) groups */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - int j; - first = last = NULL; - - if (i != first_cpu(cpu_domain->span)) - continue; - - for_each_cpu_mask(j, cpu_domain->span) { - struct sched_group *cpu = &sched_group_cpus[j]; - - cpus_clear(cpu->cpumask); - cpu_set(j, cpu->cpumask); - cpu->cpu_power = SCHED_LOAD_SCALE; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - } - - first = last = NULL; - /* Set up physical groups */ - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - struct sched_group *cpu = &sched_group_phys[i]; - - if (i != first_cpu(cpu_domain->span)) - continue; - - cpu->cpumask = cpu_domain->span; - /* See SMT+NUMA setup for comment */ - cpu->cpu_power = SCHED_LOAD_SCALE + SCHED_LOAD_SCALE*(cpus_weight(cpu->cpumask)-1) / 10; - - if (!first) - first = cpu; - if (last) - last->next = cpu; - last = cpu; - } - last->next = first; - - mb(); - for_each_cpu(i) { - struct sched_domain *cpu_domain = &per_cpu(cpu_domains, i); - cpu_attach_domain(cpu_domain, i); - } + /* + * We know at boot the maximum number of cpus we can add to + * a partition and set cpu_possible_map accordingly. cpu_present_map + * needs to match for the hotplug code to allow us to hot add + * any offline cpus. + */ + cpu_present_map = cpu_possible_map; } -#endif /* CONFIG_NUMA */ -#endif /* CONFIG_SCHED_SMT */ diff --git a/arch/ppc64/kernel/sys_ppc32.c b/arch/ppc64/kernel/sys_ppc32.c index 376dc4a06..2ac5c7d01 100644 --- a/arch/ppc64/kernel/sys_ppc32.c +++ b/arch/ppc64/kernel/sys_ppc32.c @@ -73,7 +73,6 @@ #include #include #include -#include #include #include "pci.h" @@ -635,8 +634,24 @@ out: void start_thread32(struct pt_regs* regs, unsigned long nip, unsigned long sp) { set_fs(USER_DS); - memset(regs->gpr, 0, sizeof(regs->gpr)); - memset(®s->ctr, 0, 4 * sizeof(regs->ctr)); + + /* + * If we exec out of a kernel thread then thread.regs will not be + * set. Do it now. + */ + if (!current->thread.regs) { + unsigned long childregs = (unsigned long)current->thread_info + + THREAD_SIZE; + childregs -= sizeof(struct pt_regs); + current->thread.regs = (struct pt_regs *)childregs; + } + + /* + * ELF_PLAT_INIT already clears all registers but it also sets r2. + * So just clear r2 here. + */ + regs->gpr[2] = 0; + regs->nip = nip; regs->gpr[1] = sp; regs->msr = MSR_USER32; @@ -701,7 +716,7 @@ asmlinkage int sys32_pciconfig_read(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf (unsigned long) dfn, (unsigned long) off, (unsigned long) len, - (unsigned char __user *)AA(ubuf)); + compat_ptr(ubuf)); } asmlinkage int sys32_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubuf) @@ -710,7 +725,7 @@ asmlinkage int sys32_pciconfig_write(u32 bus, u32 dfn, u32 off, u32 len, u32 ubu (unsigned long) dfn, (unsigned long) off, (unsigned long) len, - (unsigned char __user *)AA(ubuf)); + compat_ptr(ubuf)); } #define IOBASE_BRIDGE_NUMBER 0 @@ -1096,7 +1111,7 @@ struct __sysctl_args32 { u32 __unused[4]; }; -extern asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args) +asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args) { struct __sysctl_args32 tmp; int error; @@ -1115,19 +1130,20 @@ extern asmlinkage long sys32_sysctl(struct __sysctl_args32 __user *args) glibc's __sysctl uses rw memory for the structure anyway. */ oldlenp = (size_t __user *)addr; - if (get_user(oldlen, (u32 __user *)A(tmp.oldlenp)) || + if (get_user(oldlen, (compat_size_t __user *)compat_ptr(tmp.oldlenp)) || put_user(oldlen, oldlenp)) return -EFAULT; } lock_kernel(); - error = do_sysctl((int __user *)A(tmp.name), tmp.nlen, (void __user *)A(tmp.oldval), - oldlenp, (void __user *)A(tmp.newval), tmp.newlen); + error = do_sysctl(compat_ptr(tmp.name), tmp.nlen, + compat_ptr(tmp.oldval), oldlenp, + compat_ptr(tmp.newval), tmp.newlen); unlock_kernel(); if (oldlenp) { if (!error) { if (get_user(oldlen, oldlenp) || - put_user(oldlen, (u32 __user *)A(tmp.oldlenp))) + put_user(oldlen, (compat_size_t __user *)compat_ptr(tmp.oldlenp))) error = -EFAULT; } copy_to_user(args->__unused, tmp.__unused, sizeof(tmp.__unused)); diff --git a/arch/ppc64/kernel/sysfs.c b/arch/ppc64/kernel/sysfs.c index 33b64c28a..cfc3c0b7b 100644 --- a/arch/ppc64/kernel/sysfs.c +++ b/arch/ppc64/kernel/sysfs.c @@ -97,6 +97,14 @@ __setup("smt-snooze-delay=", setup_smt_snooze_delay); /* PMC stuff */ +#ifdef CONFIG_PPC_ISERIES +void ppc64_enable_pmcs(void) +{ + /* XXX Implement for iseries */ +} +#endif + +#ifdef CONFIG_PPC_MULTIPLATFORM /* * Enabling PMCs will slow partition context switch times so we only do * it the first time we write to the PMCs. @@ -104,18 +112,14 @@ __setup("smt-snooze-delay=", setup_smt_snooze_delay); static DEFINE_PER_CPU(char, pmcs_enabled); -#ifdef CONFIG_PPC_ISERIES -void ppc64_enable_pmcs(void) -{ - /* XXX Implement for iseries */ -} -#else void ppc64_enable_pmcs(void) { unsigned long hid0; +#ifdef CONFIG_PPC_PSERIES unsigned long set, reset; int ret; unsigned int ctrl; +#endif /* CONFIG_PPC_PSERIES */ /* Only need to enable them once */ if (__get_cpu_var(pmcs_enabled)) @@ -124,37 +128,42 @@ void ppc64_enable_pmcs(void) __get_cpu_var(pmcs_enabled) = 1; switch (systemcfg->platform) { - case PLATFORM_PSERIES: - hid0 = mfspr(HID0); - hid0 |= 1UL << (63 - 20); - - /* POWER4 requires the following sequence */ - asm volatile( - "sync\n" - "mtspr %1, %0\n" - "mfspr %0, %1\n" - "mfspr %0, %1\n" - "mfspr %0, %1\n" - "mfspr %0, %1\n" - "mfspr %0, %1\n" - "mfspr %0, %1\n" - "isync" : "=&r" (hid0) : "i" (HID0), "0" (hid0): - "memory"); - break; - - case PLATFORM_PSERIES_LPAR: - set = 1UL << 63; - reset = 0; - ret = plpar_hcall_norets(H_PERFMON, set, reset); - if (ret) - printk(KERN_ERR "H_PERFMON call returned %d", - ret); - break; - - default: - break; + case PLATFORM_PSERIES: + case PLATFORM_POWERMAC: + hid0 = mfspr(HID0); + hid0 |= 1UL << (63 - 20); + + /* POWER4 requires the following sequence */ + asm volatile( + "sync\n" + "mtspr %1, %0\n" + "mfspr %0, %1\n" + "mfspr %0, %1\n" + "mfspr %0, %1\n" + "mfspr %0, %1\n" + "mfspr %0, %1\n" + "mfspr %0, %1\n" + "isync" : "=&r" (hid0) : "i" (HID0), "0" (hid0): + "memory"); + break; + +#ifdef CONFIG_PPC_PSERIES + case PLATFORM_PSERIES_LPAR: + set = 1UL << 63; + reset = 0; + ret = plpar_hcall_norets(H_PERFMON, set, reset); + if (ret) + printk(KERN_ERR "H_PERFMON call on cpu %u " + "returned %d\n", + smp_processor_id(), ret); + break; +#endif /* CONFIG_PPC_PSERIES */ + + default: + break; } +#ifdef CONFIG_PPC_PSERIES /* instruct hypervisor to maintain PMCs */ if (cur_cpu_spec->firmware_features & FW_FEATURE_SPLPAR) { char *ptr = (char *)&paca[smp_processor_id()].lppaca; @@ -170,10 +179,11 @@ void ppc64_enable_pmcs(void) ctrl |= RUNLATCH; mtspr(CTRLT, ctrl); } +#endif /* CONFIG_PPC_PSERIES */ } -#endif +#endif /* CONFIG_PPC_MULTIPLATFORM */ -EXPORT_SYMBOL_GPL(ppc64_enable_pmcs); +EXPORT_SYMBOL(ppc64_enable_pmcs); /* XXX convert to rusty's on_one_cpu */ static unsigned long run_on_cpu(unsigned long cpu, diff --git a/arch/ppc64/kernel/time.c b/arch/ppc64/kernel/time.c index 64844df4a..ef44a3ec4 100644 --- a/arch/ppc64/kernel/time.c +++ b/arch/ppc64/kernel/time.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -83,7 +84,7 @@ static unsigned long first_settimeofday = 1; #define XSEC_PER_SEC (1024*1024) unsigned long tb_ticks_per_jiffy; -unsigned long tb_ticks_per_usec; +unsigned long tb_ticks_per_usec = 100; /* sane default */ unsigned long tb_ticks_per_sec; unsigned long next_xtime_sync_tb; unsigned long xtime_sync_interval; @@ -101,50 +102,12 @@ extern unsigned long wall_jiffies; extern unsigned long lpevent_count; extern int smp_tb_synchronized; +extern struct timezone sys_tz; + void ppc_adjtimex(void); static unsigned adjusting_time = 0; -/* - * The profiling function is SMP safe. (nothing can mess - * around with "current", and the profiling counters are - * updated with atomic operations). This is especially - * useful with a profiling multiplier != 1 - */ -static inline void ppc64_do_profile(struct pt_regs *regs) -{ - unsigned long nip; - extern unsigned long prof_cpu_mask; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; - - nip = instruction_pointer(regs); - - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!((1<>= prof_shift; - /* - * Don't ignore out-of-bounds EIP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (nip > prof_len-1) - nip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[nip]); -} - static __inline__ void timer_check_rtc(void) { /* @@ -195,6 +158,19 @@ static __inline__ void timer_sync_xtime( unsigned long cur_tb ) } } +#ifdef CONFIG_SMP +unsigned long profile_pc(struct pt_regs *regs) +{ + unsigned long pc = instruction_pointer(regs); + + if (in_lock_functions(pc)) + return regs->link; + + return pc; +} +EXPORT_SYMBOL(profile_pc); +#endif + #ifdef CONFIG_PPC_ISERIES /* @@ -233,6 +209,8 @@ static void iSeries_tb_recal(void) do_gtod.tb_ticks_per_sec = tb_ticks_per_sec; tb_to_xs = divres.result_low; do_gtod.varp->tb_to_xs = tb_to_xs; + systemcfg->tb_ticks_per_sec = tb_ticks_per_sec; + systemcfg->tb_to_xs = tb_to_xs; } else { printk( "Titan recalibrate: FAILED (difference > 4 percent)\n" @@ -273,7 +251,7 @@ int timer_interrupt(struct pt_regs * regs) irq_enter(); #ifndef CONFIG_PPC_ISERIES - ppc64_do_profile(regs); + profile_tick(CPU_PROFILING, regs); #endif lpaca->lppaca.xIntDword.xFields.xDecrInt = 0; @@ -281,8 +259,20 @@ int timer_interrupt(struct pt_regs * regs) while (lpaca->next_jiffy_update_tb <= (cur_tb = get_tb())) { #ifdef CONFIG_SMP - smp_local_timer_interrupt(regs); + /* + * We cannot disable the decrementer, so in the period + * between this cpu's being marked offline in cpu_online_map + * and calling stop-self, it is taking timer interrupts. + * Avoid calling into the scheduler rebalancing code if this + * is the case. + */ + if (!cpu_is_offline(cpu)) + smp_local_timer_interrupt(regs); #endif + /* + * No need to check whether cpu is offline here; boot_cpuid + * should have been fixed up by now. + */ if (cpu == boot_cpuid) { write_seqlock(&xtime_lock); tb_last_stamp = lpaca->next_jiffy_update_tb; @@ -408,6 +398,7 @@ int do_settimeofday(struct timespec *tv) new_xsec += new_sec * XSEC_PER_SEC; if ( new_xsec > delta_xsec ) { do_gtod.varp->stamp_xsec = new_xsec - delta_xsec; + systemcfg->stamp_xsec = new_xsec - delta_xsec; } else { /* This is only for the case where the user is setting the time @@ -416,8 +407,13 @@ int do_settimeofday(struct timespec *tv) * the time to Jan 5, 1970 */ do_gtod.varp->stamp_xsec = new_xsec; do_gtod.tb_orig_stamp = tb_last_stamp; + systemcfg->stamp_xsec = new_xsec; + systemcfg->tb_orig_stamp = tb_last_stamp; } + systemcfg->tz_minuteswest = sys_tz.tz_minuteswest; + systemcfg->tz_dsttime = sys_tz.tz_dsttime; + write_sequnlock_irqrestore(&xtime_lock, flags); clock_was_set(); return 0; @@ -520,6 +516,11 @@ void __init time_init(void) do_gtod.tb_ticks_per_sec = tb_ticks_per_sec; do_gtod.varp->tb_to_xs = tb_to_xs; do_gtod.tb_to_us = tb_to_us; + systemcfg->tb_orig_stamp = tb_last_stamp; + systemcfg->tb_update_count = 0; + systemcfg->tb_ticks_per_sec = tb_ticks_per_sec; + systemcfg->stamp_xsec = xtime.tv_sec * XSEC_PER_SEC; + systemcfg->tb_to_xs = tb_to_xs; xtime_sync_interval = tb_ticks_per_sec - (tb_ticks_per_sec/8); next_xtime_sync_tb = tb_last_stamp + xtime_sync_interval; @@ -655,6 +656,22 @@ void ppc_adjtimex(void) do_gtod.varp = temp_varp; do_gtod.var_idx = temp_idx; + /* + * tb_update_count is used to allow the problem state gettimeofday code + * to assure itself that it sees a consistent view of the tb_to_xs and + * stamp_xsec variables. It reads the tb_update_count, then reads + * tb_to_xs and stamp_xsec and then reads tb_update_count again. If + * the two values of tb_update_count match and are even then the + * tb_to_xs and stamp_xsec values are consistent. If not, then it + * loops back and reads them again until this criteria is met. + */ + ++(systemcfg->tb_update_count); + wmb(); + systemcfg->tb_to_xs = new_tb_to_xs; + systemcfg->stamp_xsec = new_stamp_xsec; + wmb(); + ++(systemcfg->tb_update_count); + write_sequnlock_irqrestore( &xtime_lock, flags ); } diff --git a/arch/ppc64/kernel/traps.c b/arch/ppc64/kernel/traps.c index b6770e3b2..90700b414 100644 --- a/arch/ppc64/kernel/traps.c +++ b/arch/ppc64/kernel/traps.c @@ -116,8 +116,6 @@ int die(const char *str, struct pt_regs *regs, long err) if (nl) printk("\n"); show_regs(regs); - if (netdump_func) - netdump_func(regs); bust_spinlocks(0); spin_unlock_irq(&die_lock); @@ -125,8 +123,6 @@ int die(const char *str, struct pt_regs *regs, long err) panic("Fatal exception in interrupt"); if (panic_on_oops) { - if (netdump_func) - netdump_func = NULL; printk(KERN_EMERG "Fatal exception: panic in 5 seconds\n"); set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(5 * HZ); @@ -138,14 +134,20 @@ int die(const char *str, struct pt_regs *regs, long err) } static void -_exception(int signr, siginfo_t *info, struct pt_regs *regs) +_exception(int signr, struct pt_regs *regs, int code, unsigned long addr) { + siginfo_t info; + if (!user_mode(regs)) { if (die("Exception in kernel mode", regs, signr)) return; } - force_sig_info(signr, info, current); + memset(&info, 0, sizeof(info)); + info.si_signo = signr; + info.si_code = code; + info.si_addr = (void __user *) addr; + force_sig_info(signr, &info, current); } #ifdef CONFIG_PPC_PSERIES @@ -217,27 +219,21 @@ SystemResetException(struct pt_regs *regs) */ static int recover_mce(struct pt_regs *regs, struct rtas_error_log err) { - siginfo_t info; - - if (err.disposition == DISP_FULLY_RECOVERED) { + if (err.disposition == RTAS_DISP_FULLY_RECOVERED) { /* Platform corrected itself */ return 1; } else if ((regs->msr & MSR_RI) && user_mode(regs) && - err.severity == SEVERITY_ERROR_SYNC && - err.disposition == DISP_NOT_RECOVERED && - err.target == TARGET_MEMORY && - err.type == TYPE_ECC_UNCORR && + err.severity == RTAS_SEVERITY_ERROR_SYNC && + err.disposition == RTAS_DISP_NOT_RECOVERED && + err.target == RTAS_TARGET_MEMORY && + err.type == RTAS_TYPE_ECC_UNCORR && !(current->pid == 0 || current->pid == 1)) { /* Kill off a user process with an ECC error */ - info.si_signo = SIGBUS; - info.si_errno = 0; - /* XXX something better for ECC error? */ - info.si_code = BUS_ADRERR; - info.si_addr = (void __user *)regs->nip; printk(KERN_ERR "MCE: uncorrectable ecc error for pid %d\n", current->pid); - _exception(SIGBUS, &info, regs); + /* XXX something better for ECC error? */ + _exception(SIGBUS, regs, BUS_ADRERR, regs->nip); return 1; } return 0; @@ -282,35 +278,46 @@ MachineCheckException(struct pt_regs *regs) void UnknownException(struct pt_regs *regs) { - siginfo_t info; - printk("Bad trap at PC: %lx, SR: %lx, vector=%lx\n", regs->nip, regs->msr, regs->trap); - info.si_signo = SIGTRAP; - info.si_errno = 0; - info.si_code = 0; - info.si_addr = NULL; - _exception(SIGTRAP, &info, regs); + _exception(SIGTRAP, regs, 0, 0); } void InstructionBreakpointException(struct pt_regs *regs) { - siginfo_t info; - if (debugger_iabr_match(regs)) return; - info.si_signo = SIGTRAP; - info.si_errno = 0; - info.si_code = TRAP_BRKPT; - info.si_addr = (void __user *)regs->nip; - _exception(SIGTRAP, &info, regs); + _exception(SIGTRAP, regs, TRAP_BRKPT, regs->nip); +} + +void +SingleStepException(struct pt_regs *regs) +{ + regs->msr &= ~MSR_SE; /* Turn off 'trace' bit */ + + if (debugger_sstep(regs)) + return; + + _exception(SIGTRAP, regs, TRAP_TRACE, regs->nip); +} + +/* + * After we have successfully emulated an instruction, we have to + * check if the instruction was being single-stepped, and if so, + * pretend we got a single-step exception. This was pointed out + * by Kumar Gala. -- paulus + */ +static inline void emulate_single_step(struct pt_regs *regs) +{ + if (regs->msr & MSR_SE) + SingleStepException(regs); } static void parse_fpe(struct pt_regs *regs) { - siginfo_t info; + int code = 0; unsigned long fpscr; flush_fp_to_thread(current); @@ -319,31 +326,84 @@ static void parse_fpe(struct pt_regs *regs) /* Invalid operation */ if ((fpscr & FPSCR_VE) && (fpscr & FPSCR_VX)) - info.si_code = FPE_FLTINV; + code = FPE_FLTINV; /* Overflow */ else if ((fpscr & FPSCR_OE) && (fpscr & FPSCR_OX)) - info.si_code = FPE_FLTOVF; + code = FPE_FLTOVF; /* Underflow */ else if ((fpscr & FPSCR_UE) && (fpscr & FPSCR_UX)) - info.si_code = FPE_FLTUND; + code = FPE_FLTUND; /* Divide by zero */ else if ((fpscr & FPSCR_ZE) && (fpscr & FPSCR_ZX)) - info.si_code = FPE_FLTDIV; + code = FPE_FLTDIV; /* Inexact result */ else if ((fpscr & FPSCR_XE) && (fpscr & FPSCR_XX)) - info.si_code = FPE_FLTRES; + code = FPE_FLTRES; + + _exception(SIGFPE, regs, code, regs->nip); +} + +/* + * Illegal instruction emulation support. Return non-zero if we can't + * emulate, or -EFAULT if the associated memory access caused an access + * fault. Return zero on success. + */ + +#define INST_DCBA 0x7c0005ec +#define INST_DCBA_MASK 0x7c0007fe + +#define INST_MCRXR 0x7c000400 +#define INST_MCRXR_MASK 0x7c0007fe + +static int emulate_instruction(struct pt_regs *regs) +{ + unsigned int instword; - else - info.si_code = 0; + if (!user_mode(regs)) + return -EINVAL; - info.si_signo = SIGFPE; - info.si_errno = 0; - info.si_addr = (void __user *)regs->nip; - _exception(SIGFPE, &info, regs); + CHECK_FULL_REGS(regs); + + if (get_user(instword, (unsigned int __user *)(regs->nip))) + return -EFAULT; + + /* Emulating the dcba insn is just a no-op. */ + if ((instword & INST_DCBA_MASK) == INST_DCBA) { + static int warned; + + if (!warned) { + printk(KERN_WARNING + "process %d (%s) uses obsolete 'dcba' insn\n", + current->pid, current->comm); + warned = 1; + } + return 0; + } + + /* Emulate the mcrxr insn. */ + if ((instword & INST_MCRXR_MASK) == INST_MCRXR) { + static int warned; + unsigned int shift; + + if (!warned) { + printk(KERN_WARNING + "process %d (%s) uses obsolete 'mcrxr' insn\n", + current->pid, current->comm); + warned = 1; + } + + shift = (instword >> 21) & 0x1c; + regs->ccr &= ~(0xf0000000 >> shift); + regs->ccr |= (regs->xer & 0xf0000000) >> shift; + regs->xer &= ~0xf0000000; + return 0; + } + + return -EINVAL; } /* @@ -399,20 +459,14 @@ check_bug_trap(struct pt_regs *regs) void ProgramCheckException(struct pt_regs *regs) { - siginfo_t info; - if (regs->msr & 0x100000) { /* IEEE FP exception */ - parse_fpe(regs); + } else if (regs->msr & 0x40000) { /* Privileged instruction */ + _exception(SIGILL, regs, ILL_PRVOPC, regs->nip); - info.si_signo = SIGILL; - info.si_errno = 0; - info.si_code = ILL_PRVOPC; - info.si_addr = (void __user *)regs->nip; - _exception(SIGILL, &info, regs); } else if (regs->msr & 0x20000) { /* trap exception */ @@ -423,19 +477,24 @@ ProgramCheckException(struct pt_regs *regs) regs->nip += 4; return; } - info.si_signo = SIGTRAP; - info.si_errno = 0; - info.si_code = TRAP_BRKPT; - info.si_addr = (void __user *)regs->nip; - _exception(SIGTRAP, &info, regs); + _exception(SIGTRAP, regs, TRAP_BRKPT, regs->nip); + } else { - /* Illegal instruction */ + /* Illegal instruction; try to emulate it. */ + switch (emulate_instruction(regs)) { + case 0: + regs->nip += 4; + emulate_single_step(regs); + break; - info.si_signo = SIGILL; - info.si_errno = 0; - info.si_code = ILL_ILLTRP; - info.si_addr = (void __user *)regs->nip; - _exception(SIGILL, &info, regs); + case -EFAULT: + _exception(SIGSEGV, regs, SEGV_MAPERR, regs->nip); + break; + + default: + _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); + break; + } } } @@ -452,13 +511,7 @@ void AltivecUnavailableException(struct pt_regs *regs) if (user_mode(regs)) { /* A user program has executed an altivec instruction, but this kernel doesn't support altivec. */ - siginfo_t info; - - memset(&info, 0, sizeof(info)); - info.si_signo = SIGILL; - info.si_code = ILL_ILLOPC; - info.si_addr = (void *) regs->nip; - _exception(SIGILL, &info, regs); + _exception(SIGILL, regs, ILL_ILLOPC, regs->nip); return; } #endif @@ -467,41 +520,22 @@ void AltivecUnavailableException(struct pt_regs *regs) die("Unrecoverable VMX/Altivec Unavailable Exception", regs, SIGABRT); } -void -SingleStepException(struct pt_regs *regs) -{ - siginfo_t info; - - regs->msr &= ~MSR_SE; /* Turn off 'trace' bit */ - - if (debugger_sstep(regs)) - return; - - info.si_signo = SIGTRAP; - info.si_errno = 0; - info.si_code = TRAP_TRACE; - info.si_addr = (void __user *)regs->nip; - _exception(SIGTRAP, &info, regs); -} - -/* - * After we have successfully emulated an instruction, we have to - * check if the instruction was being single-stepped, and if so, - * pretend we got a single-step exception. This was pointed out - * by Kumar Gala. -- paulus - */ -static inline void emulate_single_step(struct pt_regs *regs) -{ - if (regs->msr & MSR_SE) - SingleStepException(regs); -} +/* Ensure exceptions are disabled */ +#define MMCR0_PMXE (1UL << (31 - 5)) +#define MMCR0_PMAO (1UL << (31 - 24)) static void dummy_perf(struct pt_regs *regs) { + unsigned int mmcr0 = mfspr(SPRN_MMCR0); + + mmcr0 &= ~(MMCR0_PMXE|MMCR0_PMAO); + mtspr(SPRN_MMCR0, mmcr0); } void (*perf_irq)(struct pt_regs *) = dummy_perf; +EXPORT_SYMBOL(perf_irq); + void PerformanceMonitorException(struct pt_regs *regs) { @@ -512,7 +546,6 @@ void AlignmentException(struct pt_regs *regs) { int fixed; - siginfo_t info; fixed = fix_alignment(regs); @@ -525,11 +558,7 @@ AlignmentException(struct pt_regs *regs) /* Operand address was bad */ if (fixed == -EFAULT) { if (user_mode(regs)) { - info.si_signo = SIGSEGV; - info.si_errno = 0; - info.si_code = SEGV_MAPERR; - info.si_addr = (void __user *)regs->dar; - force_sig_info(SIGSEGV, &info, current); + _exception(SIGSEGV, regs, SEGV_MAPERR, regs->dar); } else { /* Search exception table */ bad_page_fault(regs, regs->dar, SIGSEGV); @@ -538,11 +567,7 @@ AlignmentException(struct pt_regs *regs) return; } - info.si_signo = SIGBUS; - info.si_errno = 0; - info.si_code = BUS_ADRALN; - info.si_addr = (void __user *)regs->nip; - _exception(SIGBUS, &info, regs); + _exception(SIGBUS, regs, BUS_ADRALN, regs->nip); } #ifdef CONFIG_ALTIVEC diff --git a/arch/ppc64/kernel/udbg.c b/arch/ppc64/kernel/udbg.c index da2179154..2f0470dbd 100644 --- a/arch/ppc64/kernel/udbg.c +++ b/arch/ppc64/kernel/udbg.c @@ -84,23 +84,38 @@ static unsigned char scc_inittab[] = { void udbg_init_scc(struct device_node *np) { + u32 *reg; unsigned long addr; int i, x; if (np == NULL) np = of_find_node_by_name(NULL, "escc"); - if (np == NULL) + if (np == NULL || np->parent == NULL) + return; + + udbg_printf("found SCC...\n"); + /* Get address within mac-io ASIC */ + reg = (u32 *)get_property(np, "reg", NULL); + if (reg == NULL) + return; + addr = reg[0]; + udbg_printf("local addr: %lx\n", addr); + /* Get address of mac-io PCI itself */ + reg = (u32 *)get_property(np->parent, "assigned-addresses", NULL); + if (reg == NULL) return; - - /* Lock-enable the SCC channel */ - pmac_call_feature(PMAC_FTR_SCC_ENABLE, np, PMAC_SCC_ASYNC | PMAC_SCC_FLAG_XMON, 1); + addr += reg[2]; + udbg_printf("final addr: %lx\n", addr); /* Setup for 57600 8N1 */ - addr = np->addrs[0].address + 0x20; + addr += 0x20; sccc = (volatile u8 *) ioremap(addr & PAGE_MASK, PAGE_SIZE) ; sccc += addr & ~PAGE_MASK; sccd = sccc + 0x10; + udbg_printf("ioremap result sccc: %p\n", sccc); + mb(); + for (i = 20000; i != 0; --i) x = *sccc; eieio(); *sccc = 9; eieio(); /* reset A or B side */ @@ -119,6 +134,30 @@ void udbg_init_scc(struct device_node *np) #endif /* CONFIG_PPC_PMAC */ +#if CONFIG_PPC_PMAC +extern u8 real_readb(volatile u8 *addr); +extern void real_writeb(u8 data, volatile u8 *addr); + +static void udbg_real_putc(unsigned char c) +{ + while ((real_readb(sccc) & SCC_TXRDY) == 0) + ; + real_writeb(c, sccd); + if (c == '\n') + udbg_real_putc('\r'); +} + +void udbg_init_pmac_realmode(void) +{ + sccc = (volatile u8 *)0x80013020ul; + sccd = (volatile u8 *)0x80013030ul; + + ppc_md.udbg_putc = udbg_real_putc; + ppc_md.udbg_getc = NULL; + ppc_md.udbg_getc_poll = NULL; +} +#endif /* CONFIG_PPC_PMAC */ + void udbg_putc(unsigned char c) { if (udbg_comport) { @@ -191,9 +230,12 @@ void udbg_puts(const char *s) while ((c = *s++) != '\0') ppc_md.udbg_putc(c); } - } else { + } +#if 0 + else { printk("%s", s); } +#endif } int udbg_write(const char *s, int n) @@ -218,7 +260,7 @@ int udbg_read(char *buf, int buflen) char c, *p = buf; int i; - if (!ppc_md.udbg_putc) + if (!ppc_md.udbg_getc) return 0; for (i = 0; i < buflen; ++i) { diff --git a/arch/ppc64/kernel/vio.c b/arch/ppc64/kernel/vio.c index a5fd6e772..48c4b0a0a 100644 --- a/arch/ppc64/kernel/vio.c +++ b/arch/ppc64/kernel/vio.c @@ -225,6 +225,10 @@ static void probe_bus_iseries(void) struct vio_dev *viodev; int i; + /* there is only one of each of these */ + vio_register_device_iseries("viocons", 0); + vio_register_device_iseries("vscsi", 0); + vlan_map = HvLpConfig_getVirtualLanIndexMap(); for (i = 0; i < HVMAXARCHITECTEDVIRTUALLANS; i++) { if ((vlan_map & (0x8000 >> i)) == 0) diff --git a/arch/ppc64/kernel/viopath.c b/arch/ppc64/kernel/viopath.c index 7b6c257f4..66a810239 100644 --- a/arch/ppc64/kernel/viopath.c +++ b/arch/ppc64/kernel/viopath.c @@ -38,8 +38,8 @@ #include #include #include +#include -#include #include #include #include diff --git a/arch/ppc64/kernel/xics.c b/arch/ppc64/kernel/xics.c index c9f950c2c..ae15d2215 100644 --- a/arch/ppc64/kernel/xics.c +++ b/arch/ppc64/kernel/xics.c @@ -536,7 +536,7 @@ nextnode: #ifdef CONFIG_SMP for_each_cpu(i) { /* FIXME: Do this dynamically! --RR */ - if (!cpu_present_at_boot(i)) + if (!cpu_present(i)) continue; xics_per_cpu[i] = __ioremap((ulong)inodes[get_hard_smp_processor_id(i)].addr, (ulong)inodes[get_hard_smp_processor_id(i)].size, diff --git a/arch/ppc64/mm/Makefile b/arch/ppc64/mm/Makefile index 691b25e43..ac522d57b 100644 --- a/arch/ppc64/mm/Makefile +++ b/arch/ppc64/mm/Makefile @@ -4,6 +4,8 @@ EXTRA_CFLAGS += -mno-minimal-toc -obj-y := fault.o init.o imalloc.o hash_utils.o hash_low.o tlb.o slb_low.o slb.o mmap.o +obj-y := fault.o init.o imalloc.o hash_utils.o hash_low.o tlb.o \ + slb_low.o slb.o stab.o mmap.o obj-$(CONFIG_DISCONTIGMEM) += numa.o obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o +obj-$(CONFIG_PPC_MULTIPLATFORM) += hash_native.o diff --git a/arch/ppc64/mm/hash_utils.c b/arch/ppc64/mm/hash_utils.c index f40565840..3a8a61380 100644 --- a/arch/ppc64/mm/hash_utils.c +++ b/arch/ppc64/mm/hash_utils.c @@ -18,6 +18,8 @@ * 2 of the License, or (at your option) any later version. */ +#undef DEBUG + #include #include #include @@ -28,6 +30,7 @@ #include #include #include +#include #include #include @@ -50,6 +53,12 @@ #include #include +#ifdef DEBUG +#define DBG(fmt...) udbg_printf(fmt) +#else +#define DBG(fmt...) +#endif + /* * Note: pte --> Linux PTE * HPTE --> PowerPC Hashed Page Table Entry @@ -62,9 +71,9 @@ * */ -#ifdef CONFIG_PMAC_DART +#ifdef CONFIG_U3_DART extern unsigned long dart_tablebase; -#endif /* CONFIG_PMAC_DART */ +#endif /* CONFIG_U3_DART */ HTAB htab_data = {NULL, 0, 0, 0, 0}; @@ -80,7 +89,7 @@ static inline void loop_forever(void) ; } -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM static inline void create_pte_mapping(unsigned long start, unsigned long end, unsigned long mode, int large) { @@ -99,7 +108,7 @@ static inline void create_pte_mapping(unsigned long start, unsigned long end, int ret; if (large) - vpn = va >> LARGE_PAGE_SHIFT; + vpn = va >> HPAGE_SHIFT; else vpn = va >> PAGE_SHIFT; @@ -107,12 +116,14 @@ static inline void create_pte_mapping(unsigned long start, unsigned long end, hpteg = ((hash & htab_data.htab_hash_mask)*HPTES_PER_GROUP); - if (systemcfg->platform == PLATFORM_PSERIES_LPAR) +#ifdef CONFIG_PPC_PSERIES + if (systemcfg->platform & PLATFORM_LPAR) ret = pSeries_lpar_hpte_insert(hpteg, va, virt_to_abs(addr) >> PAGE_SHIFT, 0, mode, 1, large); else - ret = pSeries_hpte_insert(hpteg, va, +#endif /* CONFIG_PPC_PSERIES */ + ret = native_hpte_insert(hpteg, va, virt_to_abs(addr) >> PAGE_SHIFT, 0, mode, 1, large); @@ -130,6 +141,8 @@ void __init htab_initialize(void) unsigned long mode_rw; int i, use_largepages = 0; + DBG(" -> htab_initialize()\n"); + /* * Calculate the required size of the htab. We want the number of * PTEGs to equal one half the number of real pages. @@ -146,12 +159,19 @@ void __init htab_initialize(void) htab_data.htab_num_ptegs = pteg_count; htab_data.htab_hash_mask = pteg_count - 1; - if (systemcfg->platform == PLATFORM_PSERIES || - systemcfg->platform == PLATFORM_POWERMAC) { + if (systemcfg->platform & PLATFORM_LPAR) { + /* Using a hypervisor which owns the htab */ + htab_data.htab = NULL; + _SDR1 = 0; + } else { /* Find storage for the HPT. Must be contiguous in * the absolute address space. */ table = lmb_alloc(htab_size_bytes, htab_size_bytes); + + DBG("Hash table allocated at %lx, size: %lx\n", table, + htab_size_bytes); + if ( !table ) { ppc64_terminate_msg(0x20, "hpt space"); loop_forever(); @@ -163,10 +183,6 @@ void __init htab_initialize(void) /* Initialize the HPT with no entries */ memset((void *)table, 0, htab_size_bytes); - } else { - /* Using a hypervisor which owns the htab */ - htab_data.htab = NULL; - _SDR1 = 0; } mode_rw = _PAGE_ACCESSED | _PAGE_COHERENT | PP_RWXX; @@ -178,14 +194,16 @@ void __init htab_initialize(void) if (cur_cpu_spec->cpu_features & CPU_FTR_16M_PAGE) use_largepages = 1; - /* add all physical memory to the bootmem map */ + /* create bolted the linear mapping in the hash table */ for (i=0; i < lmb.memory.cnt; i++) { unsigned long base, size; base = lmb.memory.region[i].physbase + KERNELBASE; size = lmb.memory.region[i].size; -#ifdef CONFIG_PMAC_DART + DBG("creating mapping for region: %lx : %lx\n", base, size); + +#ifdef CONFIG_U3_DART /* Do not map the DART space. Fortunately, it will be aligned * in such a way that it will not cross two lmb regions and will * fit within a single 16Mb page. @@ -193,6 +211,8 @@ void __init htab_initialize(void) * only use 2Mb of that space. We will use more of it later for * AGP GART. We have to use a full 16Mb large page. */ + DBG("DART base: %lx\n", dart_tablebase); + if (dart_tablebase != 0 && dart_tablebase >= base && dart_tablebase < (base + size)) { if (base != dart_tablebase) @@ -203,13 +223,14 @@ void __init htab_initialize(void) mode_rw, use_largepages); continue; } -#endif /* CONFIG_PMAC_DART */ +#endif /* CONFIG_U3_DART */ create_pte_mapping(base, base + size, mode_rw, use_largepages); } + DBG(" <- htab_initialize()\n"); } #undef KB #undef MB -#endif +#endif /* CONFIG_PPC_MULTIPLATFORM */ /* * Called by asm hashtable.S for doing lazy icache flush @@ -236,14 +257,11 @@ unsigned int hash_page_do_lazy_icache(unsigned int pp, pte_t pte, int trap) return pp; } -/* - * Called by asm hashtable.S in case of critical insert failure +/* Result code is: + * 0 - handled + * 1 - normal page fault + * -1 - critical hash insertion error */ -void htab_insert_failure(void) -{ - panic("hash_page: pte_insert failed\n"); -} - int hash_page(unsigned long ea, unsigned long access, unsigned long trap) { void *pgdir; @@ -255,24 +273,24 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap) int local = 0; cpumask_t tmp; - /* Check for invalid addresses. */ - if (!IS_VALID_EA(ea)) - return 1; - switch (REGION_ID(ea)) { case USER_REGION_ID: user_region = 1; mm = current->mm; - if (mm == NULL) + if ((ea > USER_END) || (! mm)) return 1; vsid = get_vsid(mm->context.id, ea); break; case IO_REGION_ID: + if (ea > IMALLOC_END) + return 1; mm = &ioremap_mm; vsid = get_kernel_vsid(ea); break; case VMALLOC_REGION_ID: + if (ea > VMALLOC_END) + return 1; mm = &init_mm; vsid = get_kernel_vsid(ea); break; @@ -334,7 +352,7 @@ void flush_hash_page(unsigned long context, unsigned long ea, pte_t pte, va = (vsid << 28) | (ea & 0x0fffffff); if (large) - vpn = va >> LARGE_PAGE_SHIFT; + vpn = va >> HPAGE_SHIFT; else vpn = va >> PAGE_SHIFT; hash = hpt_hash(vpn, large); @@ -371,6 +389,25 @@ static inline void make_bl(unsigned int *insn_addr, void *func) (unsigned long)insn_addr); } +/* + * low_hash_fault is called when we the low level hash code failed + * to instert a PTE due to an hypervisor error + */ +void low_hash_fault(struct pt_regs *regs, unsigned long address) +{ + if (user_mode(regs)) { + siginfo_t info; + + info.si_signo = SIGBUS; + info.si_errno = 0; + info.si_code = BUS_ADRERR; + info.si_addr = (void *)address; + force_sig_info(SIGBUS, &info, current); + return; + } + bad_page_fault(regs, address, SIGBUS); +} + void __init htab_finish_init(void) { extern unsigned int *htab_call_hpte_insert1; diff --git a/arch/ppc64/mm/hugetlbpage.c b/arch/ppc64/mm/hugetlbpage.c index 403c79bea..7e1a9bf28 100644 --- a/arch/ppc64/mm/hugetlbpage.c +++ b/arch/ppc64/mm/hugetlbpage.c @@ -530,6 +530,108 @@ full_search: return -ENOMEM; } +/* + * This mmap-allocator allocates new areas top-down from below the + * stack's low limit (the base): + * + * Because we have an exclusive hugepage region which lies within the + * normal user address space, we have to take special measures to make + * non-huge mmap()s evade the hugepage reserved regions. + */ +unsigned long +arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, + const unsigned long len, const unsigned long pgoff, + const unsigned long flags) +{ + struct vm_area_struct *vma, *prev_vma; + struct mm_struct *mm = current->mm; + unsigned long base = mm->mmap_base, addr = addr0; + int first_time = 1; + + /* requested length too big for entire address space */ + if (len > TASK_SIZE) + return -ENOMEM; + + /* dont allow allocations above current base */ + if (mm->free_area_cache > base) + mm->free_area_cache = base; + + /* requesting a specific address */ + if (addr) { + addr = PAGE_ALIGN(addr); + vma = find_vma(mm, addr); + if (TASK_SIZE - len >= addr && + (!vma || addr + len <= vma->vm_start) + && !is_hugepage_only_range(addr,len)) + return addr; + } + +try_again: + /* make sure it can fit in the remaining address space */ + if (mm->free_area_cache < len) + goto fail; + + /* either no address requested or cant fit in requested address hole */ + addr = (mm->free_area_cache - len) & PAGE_MASK; + do { +hugepage_recheck: + if (touches_hugepage_low_range(addr, len)) { + addr = (addr & ((~0) << SID_SHIFT)) - len; + goto hugepage_recheck; + } else if (touches_hugepage_high_range(addr, len)) { + addr = TASK_HPAGE_BASE - len; + } + + /* + * Lookup failure means no vma is above this address, + * i.e. return with success: + */ + if (!(vma = find_vma_prev(mm, addr, &prev_vma))) + return addr; + + /* + * new region fits between prev_vma->vm_end and + * vma->vm_start, use it: + */ + if (addr+len <= vma->vm_start && + (!prev_vma || (addr >= prev_vma->vm_end))) + /* remember the address as a hint for next time */ + return (mm->free_area_cache = addr); + else + /* pull free_area_cache down to the first hole */ + if (mm->free_area_cache == vma->vm_end) + mm->free_area_cache = vma->vm_start; + + /* try just below the current vma->vm_start */ + addr = vma->vm_start-len; + } while (len <= vma->vm_start); + +fail: + /* + * if hint left us with no space for the requested + * mapping then try again: + */ + if (first_time) { + mm->free_area_cache = base; + first_time = 0; + goto try_again; + } + /* + * A failed mmap() very likely causes application failure, + * so fall back to the bottom-up function here. This scenario + * can happen with large stack limits and large mmap() + * allocations. + */ + mm->free_area_cache = TASK_UNMAPPED_BASE; + addr = arch_get_unmapped_area(filp, addr0, len, pgoff, flags); + /* + * Restore the topdown base: + */ + mm->free_area_cache = base; + + return addr; +} + static unsigned long htlb_get_low_area(unsigned long len, u16 segmask) { unsigned long addr = 0; @@ -754,7 +856,7 @@ static void flush_hash_hugepage(mm_context_t context, unsigned long ea, vsid = get_vsid(context.id, ea); va = (vsid << 28) | (ea & 0x0fffffff); - vpn = va >> LARGE_PAGE_SHIFT; + vpn = va >> HPAGE_SHIFT; hash = hpt_hash(vpn, 1); if (hugepte_val(pte) & _HUGEPAGE_SECONDARY) hash = ~hash; diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c index 99d923868..e5fd94845 100644 --- a/arch/ppc64/mm/init.c +++ b/arch/ppc64/mm/init.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -62,8 +63,6 @@ #include #include - -struct mmu_context_queue_t mmu_context_queue; int mem_init_done; unsigned long ioremap_bot = IMALLOC_BASE; static unsigned long phbs_io_bot = PHBS_IO_BASE; @@ -85,7 +84,6 @@ unsigned long __max_memory; /* info on what we think the IO hole is */ unsigned long io_hole_start; unsigned long io_hole_size; -unsigned long top_of_ram; void show_mem(void) { @@ -118,18 +116,18 @@ void show_mem(void) #ifdef CONFIG_PPC_ISERIES -void *ioremap(unsigned long addr, unsigned long size) +void __iomem *ioremap(unsigned long addr, unsigned long size) { - return (void *)addr; + return (void __iomem *)addr; } -extern void *__ioremap(unsigned long addr, unsigned long size, +extern void __iomem *__ioremap(unsigned long addr, unsigned long size, unsigned long flags) { - return (void *)addr; + return (void __iomem *)addr; } -void iounmap(void *addr) +void iounmap(volatile void __iomem *addr) { return; } @@ -183,7 +181,7 @@ static void map_io_page(unsigned long ea, unsigned long pa, int flags) } -static void * __ioremap_com(unsigned long addr, unsigned long pa, +static void __iomem * __ioremap_com(unsigned long addr, unsigned long pa, unsigned long ea, unsigned long size, unsigned long flags) { @@ -198,20 +196,17 @@ static void * __ioremap_com(unsigned long addr, unsigned long pa, map_io_page(ea+i, pa+i, flags); } - return (void *) (ea + (addr & ~PAGE_MASK)); + return (void __iomem *) (ea + (addr & ~PAGE_MASK)); } -void * +void __iomem * ioremap(unsigned long addr, unsigned long size) { - void *ret = __ioremap(addr, size, _PAGE_NO_CACHE); - if(mem_init_done) - return eeh_ioremap(addr, ret); /* may remap the addr */ - return ret; + return __ioremap(addr, size, _PAGE_NO_CACHE); } -void * +void __iomem * __ioremap(unsigned long addr, unsigned long size, unsigned long flags) { unsigned long pa, ea; @@ -268,9 +263,10 @@ int __ioremap_explicit(unsigned long pa, unsigned long ea, */ ; } else { - area = im_get_area(ea, size, IM_REGION_UNUSED|IM_REGION_SUBSET); + area = im_get_area(ea, size, + IM_REGION_UNUSED|IM_REGION_SUBSET|IM_REGION_EXISTS); if (area == NULL) { - printk(KERN_ERR "could not obtain imalloc area for ea 0x%lx\n", ea); + /* Expected when PHB-dlpar is in play */ return 1; } if (ea != (unsigned long) area->addr) { @@ -354,19 +350,18 @@ static void unmap_im_area_pmd(pgd_t *dir, unsigned long address, * * XXX what about calls before mem_init_done (ie python_countermeasures()) */ -void iounmap(void *addr) +void iounmap(volatile void __iomem *token) { unsigned long address, start, end, size; struct mm_struct *mm; pgd_t *dir; + void *addr; if (!mem_init_done) { return; } - /* addr could be in EEH or IO region, map it to IO region regardless. - */ - addr = (void *) (IO_TOKEN_TO_ADDR(addr) & PAGE_MASK); + addr = (void *) ((unsigned long __force) token & PAGE_MASK); if ((size = im_free(addr)) == 0) { return; @@ -392,27 +387,55 @@ void iounmap(void *addr) return; } -int iounmap_explicit(void *addr, unsigned long size) +static int iounmap_subset_regions(unsigned long addr, unsigned long size) +{ + struct vm_struct *area; + + /* Check whether subsets of this region exist */ + area = im_get_area(addr, size, IM_REGION_SUPERSET); + if (area == NULL) + return 1; + + while (area) { + iounmap((void __iomem *) area->addr); + area = im_get_area(addr, size, + IM_REGION_SUPERSET); + } + + return 0; +} + +int iounmap_explicit(volatile void __iomem *start, unsigned long size) { struct vm_struct *area; + unsigned long addr; + int rc; - /* addr could be in EEH or IO region, map it to IO region regardless. - */ - addr = (void *) (IO_TOKEN_TO_ADDR(addr) & PAGE_MASK); + addr = (unsigned long __force) start & PAGE_MASK; /* Verify that the region either exists or is a subset of an existing * region. In the latter case, split the parent region to create * the exact region */ - area = im_get_area((unsigned long) addr, size, + area = im_get_area(addr, size, IM_REGION_EXISTS | IM_REGION_SUBSET); if (area == NULL) { - printk(KERN_ERR "%s() cannot unmap nonexistent range 0x%lx\n", - __FUNCTION__, (unsigned long) addr); - return 1; + /* Determine whether subset regions exist. If so, unmap */ + rc = iounmap_subset_regions(addr, size); + if (rc) { + printk(KERN_ERR + "%s() cannot unmap nonexistent range 0x%lx\n", + __FUNCTION__, addr); + return 1; + } + } else { + iounmap((void __iomem *) area->addr); } - + /* + * FIXME! This can't be right: iounmap(area->addr); + * Maybe it should be "iounmap(area);" + */ return 0; } @@ -447,41 +470,81 @@ void free_initrd_mem(unsigned long start, unsigned long end) } #endif +static spinlock_t mmu_context_lock = SPIN_LOCK_UNLOCKED; +static DEFINE_IDR(mmu_context_idr); + +int init_new_context(struct task_struct *tsk, struct mm_struct *mm) +{ + int index; + int err; + +again: + if (!idr_pre_get(&mmu_context_idr, GFP_KERNEL)) + return -ENOMEM; + + spin_lock(&mmu_context_lock); + err = idr_get_new(&mmu_context_idr, NULL, &index); + spin_unlock(&mmu_context_lock); + + if (err == -EAGAIN) + goto again; + else if (err) + return err; + + if (index > MAX_CONTEXT) { + idr_remove(&mmu_context_idr, index); + return -ENOMEM; + } + + mm->context.id = index; + + return 0; +} + +void destroy_context(struct mm_struct *mm) +{ + spin_lock(&mmu_context_lock); + idr_remove(&mmu_context_idr, mm->context.id); + spin_unlock(&mmu_context_lock); + + mm->context.id = NO_CONTEXT; +} + +static int __init mmu_context_init(void) +{ + int index; + + /* Reserve the first (invalid) context*/ + idr_pre_get(&mmu_context_idr, GFP_KERNEL); + idr_get_new(&mmu_context_idr, NULL, &index); + BUG_ON(0 != index); + + return 0; +} +arch_initcall(mmu_context_init); + /* * Do very early mm setup. */ void __init mm_init_ppc64(void) { +#ifndef CONFIG_PPC_ISERIES unsigned long i; +#endif ppc64_boot_msg(0x100, "MM Init"); - /* Reserve all contexts < FIRST_USER_CONTEXT for kernel use. - * The range of contexts [FIRST_USER_CONTEXT, NUM_USER_CONTEXT) - * are stored on a stack/queue for easy allocation and deallocation. - */ - mmu_context_queue.lock = SPIN_LOCK_UNLOCKED; - mmu_context_queue.head = 0; - mmu_context_queue.tail = NUM_USER_CONTEXT-1; - mmu_context_queue.size = NUM_USER_CONTEXT; - for (i = 0; i < NUM_USER_CONTEXT; i++) - mmu_context_queue.elements[i] = i + FIRST_USER_CONTEXT; - /* This is the story of the IO hole... please, keep seated, * unfortunately, we are out of oxygen masks at the moment. * So we need some rough way to tell where your big IO hole * is. On pmac, it's between 2G and 4G, on POWER3, it's around * that area as well, on POWER4 we don't have one, etc... - * We need that to implement something approx. decent for - * page_is_ram() so that /dev/mem doesn't map cacheable IO space - * when XFree resquest some IO regions witout using O_SYNC, we - * also need that as a "hint" when sizing the TCE table on POWER3 + * We need that as a "hint" when sizing the TCE table on POWER3 * So far, the simplest way that seem work well enough for us it * to just assume that the first discontinuity in our physical * RAM layout is the IO hole. That may not be correct in the future * (and isn't on iSeries but then we don't care ;) */ - top_of_ram = lmb_end_of_DRAM(); #ifndef CONFIG_PPC_ISERIES for (i = 1; i < lmb.memory.cnt; i++) { @@ -504,22 +567,32 @@ void __init mm_init_ppc64(void) ppc64_boot_msg(0x100, "MM Init Done"); } - /* * This is called by /dev/mem to know if a given address has to * be mapped non-cacheable or not */ -int page_is_ram(unsigned long physaddr) +int page_is_ram(unsigned long pfn) { -#ifdef CONFIG_PPC_ISERIES - return 1; + int i; + unsigned long paddr = (pfn << PAGE_SHIFT); + + for (i=0; i < lmb.memory.cnt; i++) { + unsigned long base; + +#ifdef CONFIG_MSCHUNKS + base = lmb.memory.region[i].physbase; +#else + base = lmb.memory.region[i].base; #endif - if (physaddr >= top_of_ram) - return 0; - return io_hole_start == 0 || physaddr < io_hole_start || - physaddr >= (io_hole_start + io_hole_size); -} + if ((paddr >= base) && + (paddr < (base + lmb.memory.region[i].size))) { + return 1; + } + } + return 0; +} +EXPORT_SYMBOL(page_is_ram); /* * Initialize the bootmem system and give it all the memory we @@ -573,6 +646,7 @@ void __init paging_init(void) unsigned long zones_size[MAX_NR_ZONES]; unsigned long zholes_size[MAX_NR_ZONES]; unsigned long total_ram = lmb_phys_mem_size(); + unsigned long top_of_ram = lmb_end_of_DRAM(); printk(KERN_INFO "Top of RAM: 0x%lx, Total RAM: 0x%lx\n", top_of_ram, total_ram); @@ -587,7 +661,7 @@ void __init paging_init(void) zones_size[ZONE_DMA] = top_of_ram >> PAGE_SHIFT; zholes_size[ZONE_DMA] = (top_of_ram - total_ram) >> PAGE_SHIFT; - free_area_init_node(0, &contig_page_data, NULL, zones_size, + free_area_init_node(0, &contig_page_data, zones_size, __pa(PAGE_OFFSET) >> PAGE_SHIFT, zholes_size); mem_map = contig_page_data.node_mem_map; } @@ -622,59 +696,65 @@ module_init(setup_kcore); void __init mem_init(void) { -#ifndef CONFIG_DISCONTIGMEM - unsigned long addr; +#ifdef CONFIG_DISCONTIGMEM + int nid; #endif - int codepages = 0; - int datapages = 0; - int initpages = 0; + pg_data_t *pgdat; + unsigned long i; + struct page *page; + unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; num_physpages = max_low_pfn; /* RAM is assumed contiguous */ high_memory = (void *) __va(max_low_pfn * PAGE_SIZE); #ifdef CONFIG_DISCONTIGMEM -{ - int nid; - for (nid = 0; nid < numnodes; nid++) { - if (node_data[nid].node_spanned_pages != 0) { + if (NODE_DATA(nid)->node_spanned_pages != 0) { printk("freeing bootmem node %x\n", nid); totalram_pages += free_all_bootmem_node(NODE_DATA(nid)); } } - - printk("Memory: %luk available (%dk kernel code, %dk data, %dk init) [%08lx,%08lx]\n", - (unsigned long)nr_free_pages()<< (PAGE_SHIFT-10), - codepages<< (PAGE_SHIFT-10), datapages<< (PAGE_SHIFT-10), - initpages<< (PAGE_SHIFT-10), - PAGE_OFFSET, (unsigned long)__va(lmb_end_of_DRAM())); -} #else max_mapnr = num_physpages; - totalram_pages += free_all_bootmem(); +#endif - for (addr = KERNELBASE; addr < (unsigned long)__va(lmb_end_of_DRAM()); - addr += PAGE_SIZE) { - if (!PageReserved(virt_to_page(addr))) - continue; - if (addr < (unsigned long)_etext) - codepages++; - - else if (addr >= (unsigned long)__init_begin - && addr < (unsigned long)__init_end) - initpages++; - else if (addr < klimit) - datapages++; - } +#ifdef CONFIG_PPC_PSERIES + /* Mark the RTAS pages as PG_reserved so userspace can mmap them */ + if (rtas_rmo_buf) { + unsigned long pfn, start_pfn, end_pfn; - printk("Memory: %luk available (%dk kernel code, %dk data, %dk init) [%08lx,%08lx]\n", - (unsigned long)nr_free_pages()<< (PAGE_SHIFT-10), - codepages<< (PAGE_SHIFT-10), datapages<< (PAGE_SHIFT-10), - initpages<< (PAGE_SHIFT-10), - PAGE_OFFSET, (unsigned long)__va(lmb_end_of_DRAM())); + start_pfn = rtas_rmo_buf >> PAGE_SHIFT; + end_pfn = (rtas_rmo_buf + RTAS_RMOBUF_MAX) >> PAGE_SHIFT; + for (pfn = start_pfn; pfn < end_pfn; pfn++) + SetPageReserved(pfn_to_page(pfn)); + } #endif + + for_each_pgdat(pgdat) { + for (i = 0; i < pgdat->node_spanned_pages; i++) { + page = pgdat->node_mem_map + i; + if (PageReserved(page)) + reservedpages++; + } + } + + codesize = (unsigned long)&_etext - (unsigned long)&_stext; + initsize = (unsigned long)&__init_end - (unsigned long)&__init_begin; + datasize = (unsigned long)&_edata - (unsigned long)&__init_end; + bsssize = (unsigned long)&__bss_stop - (unsigned long)&__bss_start; + + printk(KERN_INFO "Memory: %luk/%luk available (%luk kernel code, " + "%luk reserved, %luk data, %luk bss, %luk init)\n", + (unsigned long)nr_free_pages() << (PAGE_SHIFT-10), + num_physpages << (PAGE_SHIFT-10), + codesize >> 10, + reservedpages << (PAGE_SHIFT-10), + datasize >> 10, + bsssize >> 10, + initsize >> 10); + mem_init_done = 1; #ifdef CONFIG_PPC_ISERIES diff --git a/arch/ppc64/mm/numa.c b/arch/ppc64/mm/numa.c index eb3313694..2f01f75cb 100644 --- a/arch/ppc64/mm/numa.c +++ b/arch/ppc64/mm/numa.c @@ -14,15 +14,16 @@ #include #include #include +#include +#include #include #include #include -#if 1 -#define dbg(args...) printk(KERN_INFO args) -#else -#define dbg(args...) -#endif +static int numa_enabled = 1; + +static int numa_debug; +#define dbg(args...) if (numa_debug) { printk(KERN_INFO args); } #ifdef DEBUG_NUMA #define ARRAY_INITIALISER -1 @@ -36,9 +37,19 @@ char *numa_memory_lookup_table; cpumask_t numa_cpumask_lookup_table[MAX_NUMNODES]; int nr_cpus_in_node[MAX_NUMNODES] = { [0 ... (MAX_NUMNODES -1)] = 0}; -struct pglist_data node_data[MAX_NUMNODES]; -bootmem_data_t plat_node_bdata[MAX_NUMNODES]; +struct pglist_data *node_data[MAX_NUMNODES]; +bootmem_data_t __initdata plat_node_bdata[MAX_NUMNODES]; static unsigned long node0_io_hole_size; +static int min_common_depth; + +/* + * We need somewhere to store start/span for each node until we have + * allocated the real node_data structures. + */ +static struct { + unsigned long node_start_pfn; + unsigned long node_spanned_pages; +} init_node_data[MAX_NUMNODES] __initdata; EXPORT_SYMBOL(node_data); EXPORT_SYMBOL(numa_cpu_lookup_table); @@ -48,7 +59,6 @@ EXPORT_SYMBOL(nr_cpus_in_node); static inline void map_cpu_to_node(int cpu, int node) { - dbg("cpu %d maps to domain %d\n", cpu, node); numa_cpu_lookup_table[cpu] = node; if (!(cpu_isset(cpu, numa_cpumask_lookup_table[node]))) { cpu_set(cpu, numa_cpumask_lookup_table[node]); @@ -56,7 +66,24 @@ static inline void map_cpu_to_node(int cpu, int node) } } -static struct device_node * __init find_cpu_node(unsigned int cpu) +#ifdef CONFIG_HOTPLUG_CPU +static void unmap_cpu_from_node(unsigned long cpu) +{ + int node = numa_cpu_lookup_table[cpu]; + + dbg("removing cpu %lu from node %d\n", cpu, node); + + if (cpu_isset(cpu, numa_cpumask_lookup_table[node])) { + cpu_clear(cpu, numa_cpumask_lookup_table[node]); + nr_cpus_in_node[node]--; + } else { + printk(KERN_ERR "WARNING: cpu %lu not found in node %d\n", + cpu, node); + } +} +#endif /* CONFIG_HOTPLUG_CPU */ + +static struct device_node * __devinit find_cpu_node(unsigned int cpu) { unsigned int hw_cpuid = get_hard_smp_processor_id(cpu); struct device_node *cpu_node = NULL; @@ -68,9 +95,11 @@ static struct device_node * __init find_cpu_node(unsigned int cpu) interrupt_server = (unsigned int *)get_property(cpu_node, "ibm,ppc-interrupt-server#s", &len); + len = len / sizeof(u32); + if (interrupt_server && (len > 0)) { while (len--) { - if (interrupt_server[len-1] == hw_cpuid) + if (interrupt_server[len] == hw_cpuid) return cpu_node; } } else { @@ -86,29 +115,24 @@ static struct device_node * __init find_cpu_node(unsigned int cpu) /* must hold reference to node during call */ static int *of_get_associativity(struct device_node *dev) - { - unsigned int *result; - int len; - - result = (unsigned int *)get_property(dev, "ibm,associativity", &len); - - if (len <= 0) - return NULL; - - return result; +{ + return (unsigned int *)get_property(dev, "ibm,associativity", NULL); } -static int of_node_numa_domain(struct device_node *device, int depth) +static int of_node_numa_domain(struct device_node *device) { int numa_domain; unsigned int *tmp; + if (min_common_depth == -1) + return 0; + tmp = of_get_associativity(device); - if (tmp && (tmp[0] >= depth)) { - numa_domain = tmp[depth]; + if (tmp && (tmp[0] >= min_common_depth)) { + numa_domain = tmp[min_common_depth]; } else { - printk(KERN_ERR "WARNING: no NUMA information for " - "%s\n", device->full_name); + dbg("WARNING: no NUMA information for %s\n", + device->full_name); numa_domain = 0; } return numa_domain; @@ -128,7 +152,7 @@ static int of_node_numa_domain(struct device_node *device, int depth) * * - Dave Hansen */ -static int find_min_common_depth(void) +static int __init find_min_common_depth(void) { int depth; unsigned int *ref_points; @@ -137,11 +161,8 @@ static int find_min_common_depth(void) rtas_root = of_find_node_by_path("/rtas"); - if (!rtas_root) { - printk(KERN_ERR "WARNING: %s() could not find rtas root\n", - __FUNCTION__); + if (!rtas_root) return -1; - } /* * this property is 2 32-bit integers, each representing a level of @@ -155,8 +176,8 @@ static int find_min_common_depth(void) if ((len >= 1) && ref_points) { depth = ref_points[1]; } else { - printk(KERN_ERR "WARNING: could not find NUMA " - "associativity reference point\n"); + dbg("WARNING: could not find NUMA " + "associativity reference point\n"); depth = -1; } of_node_put(rtas_root); @@ -178,65 +199,95 @@ static unsigned long read_cell_ul(struct device_node *device, unsigned int **buf return result; } +/* + * Figure out to which domain a cpu belongs and stick it there. + * Return the id of the domain used. + */ +static int numa_setup_cpu(unsigned long lcpu) +{ + int numa_domain = 0; + struct device_node *cpu = find_cpu_node(lcpu); + + if (!cpu) { + WARN_ON(1); + goto out; + } + + numa_domain = of_node_numa_domain(cpu); + + if (numa_domain >= MAX_NUMNODES) { + /* + * POWER4 LPAR uses 0xffff as invalid node, + * dont warn in this case. + */ + if (numa_domain != 0xffff) + printk(KERN_ERR "WARNING: cpu %ld " + "maps to invalid NUMA node %d\n", + lcpu, numa_domain); + numa_domain = 0; + } +out: + node_set_online(numa_domain); + + map_cpu_to_node(lcpu, numa_domain); + + of_node_put(cpu); + + return numa_domain; +} + +static int cpu_numa_callback(struct notifier_block *nfb, + unsigned long action, + void *hcpu) +{ + unsigned long lcpu = (unsigned long)hcpu; + int ret = NOTIFY_DONE; + + switch (action) { + case CPU_UP_PREPARE: + if (min_common_depth == -1 || !numa_enabled) + map_cpu_to_node(lcpu, 0); + else + numa_setup_cpu(lcpu); + ret = NOTIFY_OK; + break; +#ifdef CONFIG_HOTPLUG_CPU + case CPU_DEAD: + case CPU_UP_CANCELED: + unmap_cpu_from_node(lcpu); + break; + ret = NOTIFY_OK; +#endif + } + return ret; +} + static int __init parse_numa_properties(void) { - struct device_node *cpu = NULL; struct device_node *memory = NULL; - int depth; int max_domain = 0; long entries = lmb_end_of_DRAM() >> MEMORY_INCREMENT_SHIFT; unsigned long i; - if (strstr(saved_command_line, "numa=off")) { + if (numa_enabled == 0) { printk(KERN_WARNING "NUMA disabled by user\n"); return -1; } numa_memory_lookup_table = (char *)abs_to_virt(lmb_alloc(entries * sizeof(char), 1)); + memset(numa_memory_lookup_table, 0, entries * sizeof(char)); for (i = 0; i < entries ; i++) numa_memory_lookup_table[i] = ARRAY_INITIALISER; - depth = find_min_common_depth(); - - printk(KERN_INFO "NUMA associativity depth for CPU/Memory: %d\n", depth); - if (depth < 0) - return depth; - - for_each_cpu(i) { - int numa_domain; - - cpu = find_cpu_node(i); - - if (cpu) { - numa_domain = of_node_numa_domain(cpu, depth); - of_node_put(cpu); - - if (numa_domain >= MAX_NUMNODES) { - /* - * POWER4 LPAR uses 0xffff as invalid node, - * dont warn in this case. - */ - if (numa_domain != 0xffff) - printk(KERN_ERR "WARNING: cpu %ld " - "maps to invalid NUMA node %d\n", - i, numa_domain); - numa_domain = 0; - } - } else { - printk(KERN_ERR "WARNING: no NUMA information for " - "cpu %ld\n", i); - numa_domain = 0; - } - - node_set_online(numa_domain); + min_common_depth = find_min_common_depth(); - if (max_domain < numa_domain) - max_domain = numa_domain; + dbg("NUMA associativity depth for CPU/Memory: %d\n", min_common_depth); + if (min_common_depth < 0) + return min_common_depth; - map_cpu_to_node(i, numa_domain); - } + max_domain = numa_setup_cpu(boot_cpuid); memory = NULL; while ((memory = of_find_node_by_type(memory, "memory")) != NULL) { @@ -260,7 +311,7 @@ new_range: start = _ALIGN_DOWN(start, MEMORY_INCREMENT); size = _ALIGN_UP(size, MEMORY_INCREMENT); - numa_domain = of_node_numa_domain(memory, depth); + numa_domain = of_node_numa_domain(memory); if (numa_domain >= MAX_NUMNODES) { if (numa_domain != 0xffff) @@ -281,22 +332,22 @@ new_range: * this simple case and complain if there is a gap in * memory */ - if (node_data[numa_domain].node_spanned_pages) { + if (init_node_data[numa_domain].node_spanned_pages) { unsigned long shouldstart = - node_data[numa_domain].node_start_pfn + - node_data[numa_domain].node_spanned_pages; + init_node_data[numa_domain].node_start_pfn + + init_node_data[numa_domain].node_spanned_pages; if (shouldstart != (start / PAGE_SIZE)) { - printk(KERN_ERR "Hole in node, disabling " - "region start %lx length %lx\n", - start, size); + printk(KERN_ERR "WARNING: Hole in node, " + "disabling region start %lx " + "length %lx\n", start, size); continue; } - node_data[numa_domain].node_spanned_pages += + init_node_data[numa_domain].node_spanned_pages += size / PAGE_SIZE; } else { - node_data[numa_domain].node_start_pfn = + init_node_data[numa_domain].node_start_pfn = start / PAGE_SIZE; - node_data[numa_domain].node_spanned_pages = + init_node_data[numa_domain].node_spanned_pages = size / PAGE_SIZE; } @@ -304,9 +355,6 @@ new_range: numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] = numa_domain; - dbg("memory region %lx to %lx maps to domain %d\n", - start, start+size, numa_domain); - ranges--; if (ranges) goto new_range; @@ -332,17 +380,17 @@ static void __init setup_nonnuma(void) long entries = top_of_ram >> MEMORY_INCREMENT_SHIFT; numa_memory_lookup_table = (char *)abs_to_virt(lmb_alloc(entries * sizeof(char), 1)); + memset(numa_memory_lookup_table, 0, entries * sizeof(char)); for (i = 0; i < entries ; i++) numa_memory_lookup_table[i] = ARRAY_INITIALISER; } - for (i = 0; i < NR_CPUS; i++) - map_cpu_to_node(i, 0); + map_cpu_to_node(boot_cpuid, 0); node_set_online(0); - node_data[0].node_start_pfn = 0; - node_data[0].node_spanned_pages = lmb_end_of_DRAM() / PAGE_SIZE; + init_node_data[0].node_start_pfn = 0; + init_node_data[0].node_spanned_pages = lmb_end_of_DRAM() / PAGE_SIZE; for (i = 0 ; i < top_of_ram; i += MEMORY_INCREMENT) numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] = 0; @@ -350,6 +398,84 @@ static void __init setup_nonnuma(void) node0_io_hole_size = top_of_ram - total_ram; } +static void __init dump_numa_topology(void) +{ + unsigned int node; + unsigned int count; + + if (min_common_depth == -1 || !numa_enabled) + return; + + for (node = 0; node < MAX_NUMNODES; node++) { + unsigned long i; + + if (!node_online(node)) + continue; + + printk(KERN_INFO "Node %d Memory:", node); + + count = 0; + + for (i = 0; i < lmb_end_of_DRAM(); i += MEMORY_INCREMENT) { + if (numa_memory_lookup_table[i >> MEMORY_INCREMENT_SHIFT] == node) { + if (count == 0) + printk(" 0x%lx", i); + ++count; + } else { + if (count > 0) + printk("-0x%lx", i); + count = 0; + } + } + + if (count > 0) + printk("-0x%lx", i); + printk("\n"); + } + return; +} + +/* + * Allocate some memory, satisfying the lmb or bootmem allocator where + * required. nid is the preferred node and end is the physical address of + * the highest address in the node. + * + * Returns the physical address of the memory. + */ +static unsigned long careful_allocation(int nid, unsigned long size, + unsigned long align, unsigned long end) +{ + unsigned long ret = lmb_alloc_base(size, align, end); + + /* retry over all memory */ + if (!ret) + ret = lmb_alloc_base(size, align, lmb_end_of_DRAM()); + + if (!ret) + panic("numa.c: cannot allocate %lu bytes on node %d", + size, nid); + + /* + * If the memory came from a previously allocated node, we must + * retry with the bootmem allocator. + */ + if (pa_to_nid(ret) < nid) { + nid = pa_to_nid(ret); + ret = (unsigned long)__alloc_bootmem_node(NODE_DATA(nid), + size, align, 0); + + if (!ret) + panic("numa.c: cannot allocate %lu bytes on node %d", + size, nid); + + ret = virt_to_abs(ret); + + dbg("alloc_bootmem %lx %lx\n", ret, size); + } + + return ret; +} + void __init do_init_bootmem(void) { int nid; @@ -360,6 +486,12 @@ void __init do_init_bootmem(void) if (parse_numa_properties()) setup_nonnuma(); + else + dump_numa_topology(); + /* + * This must run before the sched domains notifier. + */ + hotcpu_notifier(cpu_numa_callback, 1); for (nid = 0; nid < numnodes; nid++) { unsigned long start_paddr, end_paddr; @@ -367,24 +499,38 @@ void __init do_init_bootmem(void) unsigned long bootmem_paddr; unsigned long bootmap_pages; - if (node_data[nid].node_spanned_pages == 0) - continue; + start_paddr = init_node_data[nid].node_start_pfn * PAGE_SIZE; + end_paddr = start_paddr + (init_node_data[nid].node_spanned_pages * PAGE_SIZE); - start_paddr = node_data[nid].node_start_pfn * PAGE_SIZE; - end_paddr = start_paddr + - (node_data[nid].node_spanned_pages * PAGE_SIZE); + /* Allocate the node structure node local if possible */ + NODE_DATA(nid) = (struct pglist_data *)careful_allocation(nid, + sizeof(struct pglist_data), + SMP_CACHE_BYTES, end_paddr); + NODE_DATA(nid) = abs_to_virt(NODE_DATA(nid)); + memset(NODE_DATA(nid), 0, sizeof(struct pglist_data)); - dbg("node %d\n", nid); - dbg("start_paddr = %lx\n", start_paddr); - dbg("end_paddr = %lx\n", end_paddr); + dbg("node %d\n", nid); + dbg("NODE_DATA() = %p\n", NODE_DATA(nid)); NODE_DATA(nid)->bdata = &plat_node_bdata[nid]; + NODE_DATA(nid)->node_start_pfn = + init_node_data[nid].node_start_pfn; + NODE_DATA(nid)->node_spanned_pages = + init_node_data[nid].node_spanned_pages; + + if (init_node_data[nid].node_spanned_pages == 0) + continue; + + dbg("start_paddr = %lx\n", start_paddr); + dbg("end_paddr = %lx\n", end_paddr); bootmap_pages = bootmem_bootmap_pages((end_paddr - start_paddr) >> PAGE_SHIFT); - dbg("bootmap_pages = %lx\n", bootmap_pages); - bootmem_paddr = lmb_alloc_base(bootmap_pages << PAGE_SHIFT, + bootmem_paddr = careful_allocation(nid, + bootmap_pages << PAGE_SHIFT, PAGE_SIZE, end_paddr); + memset(abs_to_virt(bootmem_paddr), 0, + bootmap_pages << PAGE_SHIFT); dbg("bootmap_paddr = %lx\n", bootmem_paddr); init_bootmem_node(NODE_DATA(nid), bootmem_paddr >> PAGE_SHIFT, @@ -442,7 +588,6 @@ void __init paging_init(void) { unsigned long zones_size[MAX_NR_ZONES]; unsigned long zholes_size[MAX_NR_ZONES]; - struct page *node_mem_map; int nid; memset(zones_size, 0, sizeof(zones_size)); @@ -463,17 +608,22 @@ void __init paging_init(void) dbg("free_area_init node %d %lx %lx (hole: %lx)\n", nid, zones_size[ZONE_DMA], start_pfn, zholes_size[ZONE_DMA]); - /* - * Give this empty node a dummy struct page to avoid - * us from trying to allocate a node local mem_map - * in free_area_init_node (which will fail). - */ - if (!node_data[nid].node_spanned_pages) - node_mem_map = alloc_bootmem(sizeof(struct page)); - else - node_mem_map = NULL; - - free_area_init_node(nid, NODE_DATA(nid), node_mem_map, - zones_size, start_pfn, zholes_size); + free_area_init_node(nid, NODE_DATA(nid), zones_size, + start_pfn, zholes_size); } } + +static int __init early_numa(char *p) +{ + if (!p) + return 0; + + if (strstr(p, "off")) + numa_enabled = 0; + + if (strstr(p, "debug")) + numa_debug = 1; + + return 0; +} +early_param("numa", early_numa); diff --git a/arch/ppc64/mm/tlb.c b/arch/ppc64/mm/tlb.c index 8825e14cb..aa2d76ca4 100644 --- a/arch/ppc64/mm/tlb.c +++ b/arch/ppc64/mm/tlb.c @@ -26,10 +26,10 @@ #include #include #include +#include #include #include #include -#include #include DEFINE_PER_CPU(struct ppc64_tlb_batch, ppc64_tlb_batch); diff --git a/arch/ppc64/oprofile/common.c b/arch/ppc64/oprofile/common.c index 391e9afba..bd0dcd2e8 100644 --- a/arch/ppc64/oprofile/common.c +++ b/arch/ppc64/oprofile/common.c @@ -52,17 +52,10 @@ static int op_ppc64_setup(void) static void op_ppc64_shutdown(void) { - /* - * We need to be sure we have cleared all pending exceptions before - * removing the interrupt handler. For the moment we play it safe and - * leave it in - */ -#if 0 mb(); /* Remove our interrupt handler. We may be removing this module. */ perf_irq = save_perf_irq; -#endif } static void op_ppc64_cpu_start(void *dummy) @@ -90,6 +83,14 @@ static int op_ppc64_create_files(struct super_block *sb, struct dentry *root) { int i; + /* + * There is one mmcr0, mmcr1 and mmcra for setting the events for + * all of the counters. + */ + oprofilefs_create_ulong(sb, root, "mmcr0", &sys.mmcr0); + oprofilefs_create_ulong(sb, root, "mmcr1", &sys.mmcr1); + oprofilefs_create_ulong(sb, root, "mmcra", &sys.mmcra); + for (i = 0; i < model->num_counters; ++i) { struct dentry *dir; char buf[3]; @@ -112,6 +113,10 @@ static int op_ppc64_create_files(struct super_block *sb, struct dentry *root) oprofilefs_create_ulong(sb, root, "enable_kernel", &sys.enable_kernel); oprofilefs_create_ulong(sb, root, "enable_user", &sys.enable_user); + /* Default to tracing both kernel and user */ + sys.enable_kernel = 1; + sys.enable_user = 1; + return 0; } @@ -128,7 +133,7 @@ int __init oprofile_arch_init(struct oprofile_operations **ops) { unsigned int pvr; - pvr = _get_PVR(); + pvr = mfspr(SPRN_PVR); switch (PVR_VER(pvr)) { case PV_630: diff --git a/arch/ppc64/oprofile/op_model_power4.c b/arch/ppc64/oprofile/op_model_power4.c index 8a0e7a867..b2a512cdb 100644 --- a/arch/ppc64/oprofile/op_model_power4.c +++ b/arch/ppc64/oprofile/op_model_power4.c @@ -17,7 +17,7 @@ #include #include -#define dbg(args...) printk(args) +#define dbg(args...) #include "op_impl.h" @@ -27,6 +27,11 @@ static int num_counters; static int oprofile_running; static int mmcra_has_sihv; +/* mmcr values are set in power4_reg_setup, used in power4_cpu_setup */ +static u32 mmcr0_val; +static u64 mmcr1_val; +static u32 mmcra_val; + static void power4_reg_setup(struct op_counter_config *ctr, struct op_system_config *sys, int num_ctrs) @@ -45,18 +50,36 @@ static void power4_reg_setup(struct op_counter_config *ctr, if (cur_cpu_spec->cpu_features & CPU_FTR_MMCRA_SIHV) mmcra_has_sihv = 1; + /* + * The performance counter event settings are given in the mmcr0, + * mmcr1 and mmcra values passed from the user in the + * op_system_config structure (sys variable). + */ + mmcr0_val = sys->mmcr0; + mmcr1_val = sys->mmcr1; + mmcra_val = sys->mmcra; + for (i = 0; i < num_counters; ++i) reset_value[i] = 0x80000000UL - ctr[i].count; - /* XXX setup user and kernel profiling */ + /* setup user and kernel profiling */ + if (sys->enable_kernel) + mmcr0_val &= ~MMCR0_KERNEL_DISABLE; + else + mmcr0_val |= MMCR0_KERNEL_DISABLE; + + if (sys->enable_user) + mmcr0_val &= ~MMCR0_PROBLEM_DISABLE; + else + mmcr0_val |= MMCR0_PROBLEM_DISABLE; } extern void ppc64_enable_pmcs(void); static void power4_cpu_setup(void *unused) { - unsigned int mmcr0 = mfspr(SPRN_MMCR0); - unsigned long mmcra = mfspr(SPRN_MMCRA); + unsigned int mmcr0 = mmcr0_val; + unsigned long mmcra = mmcra_val; ppc64_enable_pmcs(); @@ -68,6 +91,8 @@ static void power4_cpu_setup(void *unused) mmcr0 |= MMCR0_PMC1INTCONTROL|MMCR0_PMCNINTCONTROL; mtspr(SPRN_MMCR0, mmcr0); + mtspr(SPRN_MMCR1, mmcr1_val); + mmcra |= MMCRA_SAMPLE_ENABLE; mtspr(SPRN_MMCRA, mmcra); diff --git a/arch/ppc64/xmon/xmon.c b/arch/ppc64/xmon/xmon.c index d84ac32fa..6ef0b1ec3 100644 --- a/arch/ppc64/xmon/xmon.c +++ b/arch/ppc64/xmon/xmon.c @@ -252,30 +252,28 @@ extern inline void sync(void) static inline void disable_surveillance(void) { -#ifndef CONFIG_PPC_ISERIES +#ifdef CONFIG_PPC_PSERIES /* Since this can't be a module, args should end up below 4GB. */ static struct rtas_args args; - if (systemcfg->platform & PLATFORM_PSERIES) { - /* - * At this point we have got all the cpus we can into - * xmon, so there is hopefully no other cpu calling RTAS - * at the moment, even though we don't take rtas.lock. - * If we did try to take rtas.lock there would be a - * real possibility of deadlock. - */ - args.token = rtas_token("set-indicator"); - if (args.token == RTAS_UNKNOWN_SERVICE) - return; - args.nargs = 3; - args.nret = 1; - args.rets = &args.args[3]; - args.args[0] = SURVEILLANCE_TOKEN; - args.args[1] = 0; - args.args[2] = 0; - enter_rtas(__pa(&args)); - } -#endif + /* + * At this point we have got all the cpus we can into + * xmon, so there is hopefully no other cpu calling RTAS + * at the moment, even though we don't take rtas.lock. + * If we did try to take rtas.lock there would be a + * real possibility of deadlock. + */ + args.token = rtas_token("set-indicator"); + if (args.token == RTAS_UNKNOWN_SERVICE) + return; + args.nargs = 3; + args.nret = 1; + args.rets = &args.args[3]; + args.args[0] = SURVEILLANCE_TOKEN; + args.args[1] = 0; + args.args[2] = 0; + enter_rtas(__pa(&args)); +#endif /* CONFIG_PPC_PSERIES */ } #ifdef CONFIG_SMP @@ -2059,7 +2057,7 @@ ppc_inst_dump(unsigned long adr, long count, int praddr) { int nr, dotted; unsigned long first_adr; - unsigned long inst, last_inst; + unsigned long inst, last_inst = 0; unsigned char val[4]; dotted = 0; diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index d11212073..432c55b05 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig @@ -48,34 +48,6 @@ config ARCH_S390_31 depends on ARCH_S390X = 'n' default y -choice - prompt "Processor type" - default MARCH_G5 - -config MARCH_G5 - bool "S/390 model G5 and G6" - depends on ARCH_S390_31 - help - Select this to build a 31 bit kernel that works - on all S/390 and zSeries machines. - -config MARCH_Z900 - bool "IBM eServer zSeries model z800 and z900" - help - Select this to optimize for zSeries machines. This - will enable some optimizations that are not available - on older 31 bit only CPUs. - -config MARCH_Z990 - bool "IBM eServer zSeries model z890 and z990" - help - Select this enable optimizations for model z890/z990. - This will be slightly faster but does not work on - older machines such as the z900. - -endchoice - - config SMP bool "Symmetric multi-processing support" ---help--- @@ -121,7 +93,7 @@ config MATHEMU depends on MARCH_G5 help This option is required for IEEE compliant floating point arithmetic - on older S/390 machines. Say Y unless you know your machine doesn't + on older S/390 machines. Say Y unless you know your machine doesn't need this. config S390_SUPPORT @@ -150,13 +122,112 @@ config BINFMT_ELF32 This allows you to run 32-bit Linux/ELF binaries on your zSeries in 64 bit mode. Everybody wants this; say Y. +comment "Code generation options" + +choice + prompt "Processor type" + default MARCH_G5 + +config MARCH_G5 + bool "S/390 model G5 and G6" + depends on ARCH_S390_31 + help + Select this to build a 31 bit kernel that works + on all S/390 and zSeries machines. + +config MARCH_Z900 + bool "IBM eServer zSeries model z800 and z900" + help + Select this to optimize for zSeries machines. This + will enable some optimizations that are not available + on older 31 bit only CPUs. + +config MARCH_Z990 + bool "IBM eServer zSeries model z890 and z990" + help + Select this enable optimizations for model z890/z990. + This will be slightly faster but does not work on + older machines such as the z900. + +endchoice + +config PACK_STACK + bool "Pack kernel stack" + help + This option enables the compiler option -mkernel-backchain if it + is available. If the option is available the compiler supports + the new stack layout which dramatically reduces the minimum stack + frame size. With an old compiler a non-leaf function needs a + minimum of 96 bytes on 31 bit and 160 bytes on 64 bit. With + -mkernel-backchain the minimum size drops to 16 byte on 31 bit + and 24 byte on 64 bit. + + Say Y if you are unsure. + +config SMALL_STACK + bool "Use 4kb/8kb for kernel stack instead of 8kb/16kb" + depends on PACK_STACK + help + If you say Y here and the compiler supports the -mkernel-backchain + option the kernel will use a smaller kernel stack size. For 31 bit + the reduced size is 4kb instead of 8kb and for 64 bit it is 8kb + instead of 16kb. This allows to run more thread on a system and + reduces the pressure on the memory management for higher order + page allocations. + + Say N if you are unsure. + + +config CHECK_STACK + bool "Detect kernel stack overflow" + help + This option enables the compiler option -mstack-guard and + -mstack-size if they are available. If the compiler supports them + it will emit additional code to each function prolog to trigger + an illegal operation if the kernel stack is about to overflow. + + Say N if you are unsure. + +config STACK_GUARD + int "Size of the guard area (128-1024)" + range 128 1024 + depends on CHECK_STACK + default "256" + help + This allows you to specify the size of the guard area at the lower + end of the kernel stack. If the kernel stack points into the guard + area on function entry an illegal operation is triggered. The size + needs to be a power of 2. Please keep in mind that the size of an + interrupt frame is 184 bytes for 31 bit and 328 bytes on 64 bit. + The minimum size for the stack guard should be 256 for 31 bit and + 512 for 64 bit. + +config WARN_STACK + bool "Emit compiler warnings for function with broken stack usage" + help + This option enables the compiler options -mwarn-framesize and + -mwarn-dynamicstack. If the compiler supports these options it + will generate warnings for function which either use alloca or + create a stack frame bigger then CONFIG_WARN_STACK_SIZE. + + Say N if you are unsure. + +config WARN_STACK_SIZE + int "Maximum frame size considered safe (128-2048)" + range 128 2048 + depends on WARN_STACK + default "256" + help + This allows you to specify the maximum frame size a function may + have without the compiler complaining about it. + comment "I/O subsystem configuration" config MACHCHK_WARNING bool "Process warning machine checks" help Select this option if you want the machine check handler on IBM S/390 or - zSeries to process warning machine checks (e.g. on power failures). + zSeries to process warning machine checks (e.g. on power failures). If unsure, say "Y". config QDIO @@ -388,60 +459,7 @@ source "fs/Kconfig" source "arch/s390/oprofile/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config KALLSYMS - bool "Load all symbols for debugging/kksymoops" - depends on DEBUG_KERNEL - help - Say Y here to let the kernel print out symbolic crash information and - symbolic stack backtraces. This increases the size of the kernel - somewhat, as all symbols have to be loaded into the kernel image. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - -endmenu +source "arch/s390/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -450,4 +468,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/s390/Makefile b/arch/s390/Makefile index df7c55fc7..9c270bd5e 100644 --- a/arch/s390/Makefile +++ b/arch/s390/Makefile @@ -18,6 +18,7 @@ LDFLAGS := -m elf_s390 CFLAGS += -m31 AFLAGS += -m31 UTS_MACHINE := s390 +STACK_SIZE := 8192 endif ifdef CONFIG_ARCH_S390X @@ -26,16 +27,37 @@ MODFLAGS += -fpic -D__PIC__ CFLAGS += -m64 AFLAGS += -m64 UTS_MACHINE := s390x +STACK_SIZE := 16384 endif -cflags-$(CONFIG_MARCH_G5) += $(call check_gcc,-march=g5,) -cflags-$(CONFIG_MARCH_Z900) += $(call check_gcc,-march=z900,) -cflags-$(CONFIG_MARCH_Z990) += $(call check_gcc,-march=z990,) +cflags-$(CONFIG_MARCH_G5) += $(call cc-option,-march=g5) +cflags-$(CONFIG_MARCH_Z900) += $(call cc-option,-march=z900) +cflags-$(CONFIG_MARCH_Z990) += $(call cc-option,-march=z990) + +ifeq ($(call cc-option-yn,-mkernel-backchain),y) +cflags-$(CONFIG_PACK_STACK) += -mkernel-backchain -D__PACK_STACK +aflags-$(CONFIG_PACK_STACK) += -D__PACK_STACK +cflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK +aflags-$(CONFIG_SMALL_STACK) += -D__SMALL_STACK +ifdef CONFIG_SMALL_STACK +STACK_SIZE := $(shell echo $$(($(STACK_SIZE)/2)) ) +endif +endif + +ifeq ($(call cc-option-yn,-mstack-size=8192 -mstack-guard=128),y) +cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE) +cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD) +endif + +ifeq ($(call cc-option-yn,-mwarn-dynamicstack),y) +cflags-$(CONFIG_WARN_STACK) += -mwarn-dynamicstack +cflags-$(CONFIG_WARN_STACK) += -mwarn-framesize=$(CONFIG_WARN_STACK_SIZE) +endif -CFLAGS += $(cflags-y) -CFLAGS += $(call check_gcc,-finline-limit=10000,) +CFLAGS += -mbackchain $(cflags-y) +CFLAGS += $(call cc-option,-finline-limit=10000) CFLAGS += -pipe -fno-strength-reduce -Wno-sign-compare -CFLAGS += -mbackchain +AFLAGS += $(aflags-y) OBJCOPYFLAGS := -O binary LDFLAGS_vmlinux := -e start diff --git a/arch/s390/defconfig b/arch/s390/defconfig index d4cd42c3e..55def7d33 100644 --- a/arch/s390/defconfig +++ b/arch/s390/defconfig @@ -1,5 +1,7 @@ # # Automatically generated make config: don't edit +# Linux kernel version: 2.6.9-rc3 +# Fri Oct 8 19:17:35 2004 # CONFIG_MMU=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y @@ -15,6 +17,7 @@ CONFIG_CLEAN_COMPILE=y # # General setup # +CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_POSIX_MQUEUE is not set @@ -36,6 +39,8 @@ CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -56,14 +61,22 @@ CONFIG_KMOD=y # CONFIG_ARCH_S390X is not set # CONFIG_64BIT is not set CONFIG_ARCH_S390_31=y -CONFIG_MARCH_G5=y -# CONFIG_MARCH_Z900 is not set -# CONFIG_MARCH_Z990 is not set CONFIG_SMP=y CONFIG_NR_CPUS=32 # CONFIG_HOTPLUG_CPU is not set CONFIG_MATHEMU=y +# +# Code generation options +# +CONFIG_MARCH_G5=y +# CONFIG_MARCH_Z900 is not set +# CONFIG_MARCH_Z990 is not set +CONFIG_PACK_STACK=y +# CONFIG_SMALL_STACK is not set +# CONFIG_CHECK_STACK is not set +# CONFIG_WARN_STACK is not set + # # I/O subsystem configuration # @@ -130,9 +143,7 @@ CONFIG_SCSI_FC_ATTRS=y # # SCSI low-level drivers # -# CONFIG_SCSI_AIC7XXX_OLD is not set # CONFIG_SCSI_SATA is not set -# CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_DEBUG is not set CONFIG_ZFCP=y CONFIG_CCW=y @@ -154,7 +165,7 @@ CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_XPRAM=m # CONFIG_DCSSBLK is not set CONFIG_DASD=y -# CONFIG_DASD_PROFILE is not set +CONFIG_DASD_PROFILE=y CONFIG_DASD_ECKD=y CONFIG_DASD_FBA=y CONFIG_DASD_DIAG=y @@ -168,6 +179,7 @@ CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m +# CONFIG_MD_RAID10 is not set CONFIG_MD_RAID5=m # CONFIG_MD_RAID6 is not set CONFIG_MD_MULTIPATH=m @@ -236,11 +248,13 @@ CONFIG_IP_MULTICAST=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set +# CONFIG_INET6_TUNNEL is not set # CONFIG_IPV6_TUNNEL is not set # CONFIG_NETFILTER is not set CONFIG_XFRM=y @@ -419,7 +433,6 @@ CONFIG_RAMFS=y # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set # CONFIG_CRAMFS is not set # CONFIG_VXFS_FS is not set # CONFIG_HPFS_FS is not set @@ -443,6 +456,7 @@ CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_SUNRPC=y # CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set @@ -486,8 +500,8 @@ CONFIG_MSDOS_PARTITION=y CONFIG_DEBUG_KERNEL=y CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_INFO is not set # # Security options @@ -506,16 +520,18 @@ CONFIG_CRYPTO=y # CONFIG_CRYPTO_SHA1_Z990 is not set # CONFIG_CRYPTO_SHA256 is not set # CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set # CONFIG_CRYPTO_DES is not set # CONFIG_CRYPTO_DES_Z990 is not set # CONFIG_CRYPTO_BLOWFISH is not set # CONFIG_CRYPTO_TWOFISH is not set # CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES_GENERIC is not set +# CONFIG_CRYPTO_AES is not set # CONFIG_CRYPTO_CAST5 is not set # CONFIG_CRYPTO_CAST6 is not set # CONFIG_CRYPTO_TEA is not set # CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set # CONFIG_CRYPTO_DEFLATE is not set # CONFIG_CRYPTO_MICHAEL_MIC is not set # CONFIG_CRYPTO_CRC32C is not set diff --git a/arch/s390/kernel/Makefile b/arch/s390/kernel/Makefile index 892b7e1b0..a19cb59ed 100644 --- a/arch/s390/kernel/Makefile +++ b/arch/s390/kernel/Makefile @@ -6,11 +6,11 @@ EXTRA_AFLAGS := -traditional obj-y := bitmap.o traps.o time.o process.o \ setup.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o \ - semaphore.o s390_ext.o debug.o profile.o + semaphore.o s390_ext.o debug.o profile.o irq.o extra-$(CONFIG_ARCH_S390_31) += head.o extra-$(CONFIG_ARCH_S390X) += head64.o -extra-y += init_task.o vmlinux.lds.s +extra-y += init_task.o vmlinux.lds obj-$(CONFIG_MODULES) += s390_ksyms.o module.o obj-$(CONFIG_SMP) += smp.o diff --git a/arch/s390/kernel/binfmt_elf32.c b/arch/s390/kernel/binfmt_elf32.c index 01c188c70..3c95cfdbc 100644 --- a/arch/s390/kernel/binfmt_elf32.c +++ b/arch/s390/kernel/binfmt_elf32.c @@ -56,6 +56,9 @@ #define ELF_CORE_COPY_REGS(pr_reg, regs) dump_regs32(regs, &pr_reg); +#define ELF_CORE_COPY_TASK_REGS(tsk, regs) dump_task_regs32(tsk, regs) + +#define ELF_CORE_COPY_FPREGS(tsk, fpregs) dump_task_fpu(tsk, fpregs) /* This yields a mask that user programs can use to figure out what instruction set this CPU supports. */ @@ -99,13 +102,37 @@ static inline int dump_regs32(struct pt_regs *ptregs, elf_gregset_t *regs) int i; memcpy(®s->psw.mask, &ptregs->psw.mask, 4); - memcpy(®s->psw.addr, &ptregs->psw.addr, 4); + memcpy(®s->psw.addr, (char *)&ptregs->psw.addr + 4, 4); for (i = 0; i < NUM_GPRS; i++) regs->gprs[i] = ptregs->gprs[i]; + save_access_regs(regs->acrs); regs->orig_gpr2 = ptregs->orig_gpr2; return 1; } +static inline int dump_task_regs32(struct task_struct *tsk, elf_gregset_t *regs) +{ + struct pt_regs *ptregs = __KSTK_PTREGS(tsk); + int i; + + memcpy(®s->psw.mask, &ptregs->psw.mask, 4); + memcpy(®s->psw.addr, (char *)&ptregs->psw.addr + 4, 4); + for (i = 0; i < NUM_GPRS; i++) + regs->gprs[i] = ptregs->gprs[i]; + memcpy(regs->acrs, tsk->thread.acrs, sizeof(regs->acrs)); + regs->orig_gpr2 = ptregs->orig_gpr2; + return 1; +} + +static inline int dump_task_fpu(struct task_struct *tsk, elf_fpregset_t *fpregs) +{ + if (tsk == current) + save_fp_regs((s390_fp_regs *)fpregs); + else + memcpy(fpregs, &tsk->thread.fp_regs, sizeof(elf_fpregset_t)); + return 1; +} + #include #include #include diff --git a/arch/s390/kernel/compat_exec.c b/arch/s390/kernel/compat_exec.c index 3e781bd77..fe27642c3 100644 --- a/arch/s390/kernel/compat_exec.c +++ b/arch/s390/kernel/compat_exec.c @@ -39,7 +39,7 @@ int setup_arg_pages32(struct linux_binprm *bprm, int executable_stack) unsigned long stack_base, grow; struct vm_area_struct *mpnt; struct mm_struct *mm = current->mm; - int i; + int i, ret; stack_base = STACK_TOP - MAX_ARG_PAGES*PAGE_SIZE; mm->arg_start = bprm->p + stack_base; @@ -71,10 +71,14 @@ int setup_arg_pages32(struct linux_binprm *bprm, int executable_stack) /* executable stack setting would be applied here */ mpnt->vm_page_prot = PAGE_COPY; mpnt->vm_flags = VM_STACK_FLAGS; - insert_vm_struct(mm, mpnt); - // mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; - vx_vmpages_sub(mm, mm->total_vm - - ((mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT)); + if ((ret = insert_vm_struct(mm, mpnt))) { + up_write(&mm->mmap_sem); + kmem_cache_free(vm_area_cachep, mpnt); + return ret; + } + // mm->stack_vm = mm->total_vm = vma_pages(mpnt); + vx_vmpages_sub(mm, mm->total_vm - vma_pages(mpnt)); + mm->stack_vm = mm->total_vm; } for (i = 0 ; i < MAX_ARG_PAGES ; i++) { diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 5685c5feb..5c0a63aff 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c @@ -725,8 +725,7 @@ sys32_rt_sigqueueinfo(int pid, int sig, siginfo_t32 __user *uinfo) int ret; mm_segment_t old_fs = get_fs(); - if (copy_from_user (&info, uinfo, 3*sizeof(int)) || - copy_from_user (info._sifields._pad, uinfo->_sifields._pad, SI_PAD_SIZE)) + if (copy_siginfo_from_user32(&info, uinfo)) return -EFAULT; set_fs (KERNEL_DS); ret = sys_rt_sigqueueinfo(pid, sig, &info); @@ -1219,7 +1218,7 @@ asmlinkage long sys32_clone(struct pt_regs regs) child_tidptr = (int *) (regs.gprs[5] & 0x7fffffffUL); if (!newsp) newsp = regs.gprs[15]; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, + return do_fork(clone_flags, newsp, ®s, 0, parent_tidptr, child_tidptr); } diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index e8c8b2fe7..f29bcb856 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c @@ -118,10 +118,10 @@ int copy_siginfo_from_user32(siginfo_t *to, siginfo_t32 __user *from) err |= __get_user(to->si_errno, &from->si_errno); err |= __get_user(to->si_code, &from->si_code); - if (from->si_code < 0) + if (to->si_code < 0) err |= __copy_from_user(&to->_sifields._pad, &from->_sifields._pad, SI_PAD_SIZE); else { - switch (from->si_code >> 16) { + switch (to->si_code >> 16) { case __SI_RT >> 16: /* This is not generated by the kernel as of now. */ case __SI_MESGQ >> 16: err |= __get_user(to->si_int, &from->si_int); @@ -218,14 +218,17 @@ sys32_sigaction(int sig, const struct old_sigaction32 __user *act, struct old_sigaction32 __user *oact) { struct k_sigaction new_ka, old_ka; + unsigned long sa_handler, sa_restorer; int ret; if (act) { compat_old_sigset_t mask; if (verify_area(VERIFY_READ, act, sizeof(*act)) || - __get_user((unsigned long)new_ka.sa.sa_handler, &act->sa_handler) || - __get_user((unsigned long)new_ka.sa.sa_restorer, &act->sa_restorer)) + __get_user(sa_handler, &act->sa_handler) || + __get_user(sa_restorer, &act->sa_restorer)) return -EFAULT; + new_ka.sa.sa_handler = (__sighandler_t) sa_handler; + new_ka.sa.sa_restorer = (void (*)(void)) sa_restorer; __get_user(new_ka.sa.sa_flags, &act->sa_flags); __get_user(mask, &act->sa_mask); siginitset(&new_ka.sa.sa_mask, mask); @@ -234,9 +237,11 @@ sys32_sigaction(int sig, const struct old_sigaction32 __user *act, ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL); if (!ret && oact) { + sa_handler = (unsigned long) old_ka.sa.sa_handler; + sa_restorer = (unsigned long) old_ka.sa.sa_restorer; if (verify_area(VERIFY_WRITE, oact, sizeof(*oact)) || - __put_user((unsigned long)old_ka.sa.sa_handler, &oact->sa_handler) || - __put_user((unsigned long)old_ka.sa.sa_restorer, &oact->sa_restorer)) + __put_user(sa_handler, &oact->sa_handler) || + __put_user(sa_restorer, &oact->sa_restorer)) return -EFAULT; __put_user(old_ka.sa.sa_flags, &oact->sa_flags); __put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask); @@ -253,6 +258,7 @@ sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, struct sigaction32 __user *oact, size_t sigsetsize) { struct k_sigaction new_ka, old_ka; + unsigned long sa_handler; int ret; compat_sigset_t set32; @@ -261,7 +267,7 @@ sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, return -EINVAL; if (act) { - ret = get_user((unsigned long)new_ka.sa.sa_handler, &act->sa_handler); + ret = get_user(sa_handler, &act->sa_handler); ret |= __copy_from_user(&set32, &act->sa_mask, sizeof(compat_sigset_t)); switch (_NSIG_WORDS) { @@ -278,6 +284,7 @@ sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, if (ret) return -EFAULT; + new_ka.sa.sa_handler = (__sighandler_t) sa_handler; } ret = do_sigaction(sig, act ? &new_ka : NULL, oact ? &old_ka : NULL); @@ -311,17 +318,19 @@ sys32_sigaltstack(const stack_t32 __user *uss, stack_t32 __user *uoss, struct pt_regs *regs) { stack_t kss, koss; + unsigned long ss_sp; int ret, err = 0; mm_segment_t old_fs = get_fs(); if (uss) { if (!access_ok(VERIFY_READ, uss, sizeof(*uss))) return -EFAULT; - err |= __get_user((unsigned long) kss.ss_sp, &uss->ss_sp); + err |= __get_user(ss_sp, &uss->ss_sp); err |= __get_user(kss.ss_size, &uss->ss_size); err |= __get_user(kss.ss_flags, &uss->ss_flags); if (err) return -EFAULT; + kss.ss_sp = (void *) ss_sp; } set_fs (KERNEL_DS); @@ -333,7 +342,8 @@ sys32_sigaltstack(const stack_t32 __user *uss, stack_t32 __user *uoss, if (!ret && uoss) { if (!access_ok(VERIFY_WRITE, uoss, sizeof(*uoss))) return -EFAULT; - err |= __put_user((unsigned long) koss.ss_sp, &uoss->ss_sp); + ss_sp = (unsigned long) koss.ss_sp; + err |= __put_user(ss_sp, &uoss->ss_sp); err |= __put_user(koss.ss_size, &uoss->ss_size); err |= __put_user(koss.ss_flags, &uoss->ss_flags); if (err) @@ -552,9 +562,7 @@ static void setup_frame32(int sig, struct k_sigaction *ka, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static void setup_rt_frame32(int sig, struct k_sigaction *ka, siginfo_t *info, @@ -604,9 +612,7 @@ static void setup_rt_frame32(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } /* @@ -614,20 +620,15 @@ give_sigsegv: */ void -handle_signal32(unsigned long sig, siginfo_t *info, sigset_t *oldset, - struct pt_regs * regs) +handle_signal32(unsigned long sig, struct k_sigaction *ka, + siginfo_t *info, sigset_t *oldset, struct pt_regs * regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - /* Set up the stack frame */ if (ka->sa.sa_flags & SA_SIGINFO) setup_rt_frame32(sig, ka, info, oldset, regs); else setup_frame32(sig, ka, oldset, regs); - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; - if (!(ka->sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c index f1e538c9d..8669d6c3e 100644 --- a/arch/s390/kernel/debug.c +++ b/arch/s390/kernel/debug.c @@ -24,7 +24,6 @@ #include -#define MIN(a,b) (((a)<(b))?(a):(b)) #define DEBUG_PROLOG_ENTRY -1 /* typedefs */ @@ -435,7 +434,7 @@ static ssize_t debug_output(struct file *file, /* file descriptor */ while(count < len){ size = debug_format_entry(p_info); - size = MIN((len - count), (size - entry_offset)); + size = min((len - count), (size - entry_offset)); if(size){ if (copy_to_user(user_buf + count, @@ -723,7 +722,7 @@ debug_entry_t *debug_event_common(debug_info_t * id, int level, const void *buf, spin_lock_irqsave(&id->lock, flags); active = get_active_entry(id); memset(DEBUG_DATA(active), 0, id->buf_size); - memcpy(DEBUG_DATA(active), buf, MIN(len, id->buf_size)); + memcpy(DEBUG_DATA(active), buf, min(len, id->buf_size)); debug_finish_entry(id, active, level, 0); spin_unlock_irqrestore(&id->lock, flags); @@ -744,7 +743,7 @@ debug_entry_t *debug_exception_common(debug_info_t * id, int level, spin_lock_irqsave(&id->lock, flags); active = get_active_entry(id); memset(DEBUG_DATA(active), 0, id->buf_size); - memcpy(DEBUG_DATA(active), buf, MIN(len, id->buf_size)); + memcpy(DEBUG_DATA(active), buf, min(len, id->buf_size)); debug_finish_entry(id, active, level, 1); spin_unlock_irqrestore(&id->lock, flags); @@ -789,7 +788,7 @@ debug_entry_t *debug_sprintf_event(debug_info_t* id, curr_event=(debug_sprintf_entry_t *) DEBUG_DATA(active); va_start(ap,string); curr_event->string=string; - for(idx=0;idxbuf_size / sizeof(long))-1));idx++) + for(idx=0;idxbuf_size / sizeof(long))-1);idx++) curr_event->args[idx]=va_arg(ap,long); va_end(ap); debug_finish_entry(id, active, level, 0); @@ -821,7 +820,7 @@ debug_entry_t *debug_sprintf_exception(debug_info_t* id, curr_event=(debug_sprintf_entry_t *)DEBUG_DATA(active); va_start(ap,string); curr_event->string=string; - for(idx=0;idxbuf_size / sizeof(long))-1));idx++) + for(idx=0;idxbuf_size / sizeof(long))-1);idx++) curr_event->args[idx]=va_arg(ap,long); va_end(ap); debug_finish_entry(id, active, level, 1); @@ -1157,7 +1156,7 @@ int debug_sprintf_format_fn(debug_info_t * id, struct debug_view *view, } /* number of arguments used for sprintf (without the format string) */ - num_used_args = MIN(DEBUG_SPRINTF_MAX_ARGS, (num_longs - 1)); + num_used_args = min(DEBUG_SPRINTF_MAX_ARGS, (num_longs - 1)); memset(index,0, DEBUG_SPRINTF_MAX_ARGS * sizeof(int)); diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 1f87bf29c..06312d09c 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S @@ -19,6 +19,7 @@ #include #include #include +#include /* * Stack layout for the system_call stack entry. @@ -52,6 +53,9 @@ _TIF_WORK_SVC = (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \ _TIF_RESTART_SVC | _TIF_SINGLE_STEP ) _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) +STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER +STACK_SIZE = 1 << STACK_SHIFT + #define BASED(name) name-system_call(%r13) /* @@ -86,10 +90,16 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) bnz BASED(1f) 0: l %r14,__LC_ASYNC_STACK # are we already on the async stack ? slr %r14,%r15 - sra %r14,13 + sra %r14,STACK_SHIFT be BASED(2f) 1: l %r15,__LC_ASYNC_STACK .endif +#ifdef CONFIG_CHECK_STACK + b BASED(3f) +2: tml %r15,STACK_SIZE - CONFIG_STACK_GUARD + bz BASED(stack_overflow) +3: +#endif 2: s %r15,BASED(.Lc_spsize) # make room for registers & psw mvc SP_PSW(8,%r15),0(%r12) # move user PSW to stack la %r12,\psworg @@ -99,7 +109,7 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) st %r12,SP_ILC(%r15) mvc SP_R12(16,%r15),\savearea # move %r12-%r15 to stack la %r12,0 - st %r12,0(%r15) # clear back chain + st %r12,__SF_BACKCHAIN(%r15) # clear back chain .endm .macro RESTORE_ALL sync @@ -124,46 +134,22 @@ __switch_to: __switch_to_base: tm __THREAD_per(%r3),0xe8 # new process is using per ? bz __switch_to_noper-__switch_to_base(%r1) # if not we're fine - stctl %c9,%c11,24(%r15) # We are using per stuff - clc __THREAD_per(12,%r3),24(%r15) + stctl %c9,%c11,__SF_EMPTY(%r15) # We are using per stuff + clc __THREAD_per(12,%r3),__SF_EMPTY(%r15) be __switch_to_noper-__switch_to_base(%r1) # we got away w/o bashing TLB's lctl %c9,%c11,__THREAD_per(%r3) # Nope we didn't __switch_to_noper: - stm %r6,%r15,24(%r15) # store __switch_to registers of prev task + stm %r6,%r15,__SF_GPRS(%r15)# store __switch_to registers of prev task st %r15,__THREAD_ksp(%r2) # store kernel stack to prev->tss.ksp l %r15,__THREAD_ksp(%r3) # load kernel stack from next->tss.ksp - lm %r6,%r15,24(%r15) # load __switch_to registers of next task + lm %r6,%r15,__SF_GPRS(%r15)# load __switch_to registers of next task st %r3,__LC_CURRENT # __LC_CURRENT = current task struct l %r3,__THREAD_info(%r3) # load thread_info from task struct st %r3,__LC_THREAD_INFO - ahi %r3,8192 + ahi %r3,STACK_SIZE st %r3,__LC_KERNEL_STACK # __LC_KERNEL_STACK = new kernel stack br %r14 -/* - * do_softirq calling function. We want to run the softirq functions on the - * asynchronous interrupt stack. - */ - .global do_call_softirq -do_call_softirq: - stnsm 24(%r15),0xfc - stm %r12,%r15,28(%r15) - lr %r12,%r15 - basr %r13,0 -do_call_base: - l %r0,__LC_ASYNC_STACK - slr %r0,%r15 - sra %r0,13 - be 0f-do_call_base(%r13) - l %r15,__LC_ASYNC_STACK -0: sl %r15,.Lc_overhead-do_call_base(%r13) - st %r12,0(%r15) # store backchain - l %r1,.Ldo_softirq-do_call_base(%r13) - basr %r14,%r1 - lm %r12,%r15,28(%r12) - ssm 24(%r15) - br %r14 - __critical_start: /* * SVC interrupt handler routine. System calls are synchronous events and @@ -304,9 +290,12 @@ sysc_tracenogo: ret_from_fork: l %r13,__LC_SVC_NEW_PSW+4 l %r9,__LC_THREAD_INFO # load pointer to thread_info struct - l %r1,BASED(.Lschedtail) + tm SP_PSW+1(%r15),0x01 # forking a kernel thread ? + bo BASED(0f) + st %r15,SP_R15(%r15) # store stack pointer for new kthread +0: l %r1,BASED(.Lschedtail) basr %r14,%r1 - stosm 24(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts b BASED(sysc_return) # @@ -457,7 +446,7 @@ pgm_svcper: mvc __THREAD_per+__PER_address(4,%r1),__LC_PER_ADDRESS mvc __THREAD_per+__PER_access_id(1,%r1),__LC_PER_ACCESS_ID oi __TI_flags+3(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP - stosm 24(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts b BASED(sysc_do_svc) /* @@ -493,16 +482,16 @@ io_preempt: l %r1,SP_R15(%r15) s %r1,BASED(.Lc_spsize) mvc SP_PTREGS(__PT_SIZE,%r1),SP_PTREGS(%r15) - xc 0(4,%r1),0(%r1) # clear back chain + xc __SF_BACKCHAIN(4,%r1),__SF_BACKCHAIN(%r1) # clear back chain lr %r15,%r1 io_resume_loop: tm __TI_flags+3(%r9),_TIF_NEED_RESCHED bno BASED(io_leave) mvc __TI_precount(4,%r9),BASED(.Lc_pactive) - stosm 24(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts l %r1,BASED(.Lschedule) basr %r14,%r1 # call schedule - stnsm 24(%r15),0xfc # disable I/O and ext. interrupts + stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts xc __TI_precount(4,%r9),__TI_precount(%r9) b BASED(io_resume_loop) #endif @@ -514,7 +503,7 @@ io_work: l %r1,__LC_KERNEL_STACK s %r1,BASED(.Lc_spsize) mvc SP_PTREGS(__PT_SIZE,%r1),SP_PTREGS(%r15) - xc 0(4,%r1),0(%r1) # clear back chain + xc __SF_BACKCHAIN(4,%r1),__SF_BACKCHAIN(%r1) # clear back chain lr %r15,%r1 # # One of the work bits is on. Find out which one. @@ -532,9 +521,9 @@ io_work_loop: # io_reschedule: l %r1,BASED(.Lschedule) - stosm 24(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts basr %r14,%r1 # call scheduler - stnsm 24(%r15),0xfc # disable I/O and ext. interrupts + stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts tm __TI_flags+3(%r9),_TIF_WORK_INT bz BASED(io_leave) # there is no work to do b BASED(io_work_loop) @@ -543,12 +532,12 @@ io_reschedule: # _TIF_SIGPENDING is set, call do_signal # io_sigpending: - stosm 24(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts la %r2,SP_PTREGS(%r15) # load pt_regs sr %r3,%r3 # clear *oldset l %r1,BASED(.Ldo_signal) basr %r14,%r1 # call do_signal - stnsm 24(%r15),0xfc # disable I/O and ext. interrupts + stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts b BASED(io_leave) # out of here, do NOT recheck /* @@ -589,8 +578,8 @@ restart_int_handler: l %r15,__LC_SAVE_AREA+60 # load ksp lctl %c0,%c15,__LC_CREGS_SAVE_AREA # get new ctl regs lam %a0,%a15,__LC_AREGS_SAVE_AREA - stosm 0(%r15),0x04 # now we can turn dat on - lm %r6,%r15,24(%r15) # load registers from clone + lm %r6,%r15,__SF_GPRS(%r15) # load registers from clone + stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on basr %r14,0 l %r14,restart_addr-.(%r14) br %r14 # branch to start_secondary @@ -611,6 +600,31 @@ restart_crash: restart_go: #endif +#ifdef CONFIG_CHECK_STACK +/* + * The synchronous or the asynchronous stack overflowed. We are dead. + * No need to properly save the registers, we are going to panic anyway. + * Setup a pt_regs so that show_trace can provide a good call trace. + */ +stack_overflow: + l %r15,__LC_PANIC_STACK # change to panic stack + sl %r15,BASED(.Lc_spsize) + mvc SP_PSW(8,%r15),0(%r12) # move user PSW to stack + stm %r0,%r11,SP_R0(%r15) # store gprs %r0-%r11 to kernel stack + la %r1,__LC_SAVE_AREA + ch %r12,BASED(.L0x020) # old psw addr == __LC_SVC_OLD_PSW ? + be BASED(0f) + ch %r12,BASED(.L0x028) # old psw addr == __LC_PGM_OLD_PSW ? + be BASED(0f) + la %r1,__LC_SAVE_AREA+16 +0: mvc SP_R12(16,%r15),0(%r1) # move %r12-%r15 to stack + xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) # clear back chain + l %r1,BASED(1f) # branch to kernel_stack_overflow + la %r2,SP_PTREGS(%r15) # load pt_regs + br %r1 +1: .long kernel_stack_overflow +#endif + cleanup_table_system_call: .long system_call + 0x80000000, sysc_do_svc + 0x80000000 cleanup_table_sysc_return: @@ -695,7 +709,6 @@ cleanup_sysc_leave_lpsw: .Ldo_IRQ: .long do_IRQ .Ldo_extint: .long do_extint .Ldo_signal: .long do_signal -.Ldo_softirq: .long do_softirq .Lhandle_per: .long do_single_step .Ljump_table: .long pgm_check_table .Lschedule: .long schedule diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index 54190092b..10056f2b1 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S @@ -19,6 +19,7 @@ #include #include #include +#include /* * Stack layout for the system_call stack entry. @@ -48,6 +49,9 @@ SP_ILC = STACK_FRAME_OVERHEAD + __PT_ILC SP_TRAP = STACK_FRAME_OVERHEAD + __PT_TRAP SP_SIZE = STACK_FRAME_OVERHEAD + __PT_SIZE +STACK_SHIFT = PAGE_SHIFT + THREAD_ORDER +STACK_SIZE = 1 << STACK_SHIFT + _TIF_WORK_SVC = (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \ _TIF_RESTART_SVC | _TIF_SINGLE_STEP ) _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) @@ -85,10 +89,16 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) jnz 1f 0: lg %r14,__LC_ASYNC_STACK # are we already on the async. stack ? slgr %r14,%r15 - srag %r14,%r14,14 + srag %r14,%r14,STACK_SHIFT jz 2f 1: lg %r15,__LC_ASYNC_STACK # load async stack .endif +#ifdef CONFIG_CHECK_STACK + j 3f +2: tml %r15,STACK_SIZE - CONFIG_STACK_GUARD + jz stack_overflow +3: +#endif 2: aghi %r15,-SP_SIZE # make room for registers & psw mvc SP_PSW(16,%r15),0(%r12) # move user PSW to stack la %r12,\psworg @@ -98,7 +108,7 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) st %r12,SP_ILC(%r15) mvc SP_R12(32,%r15),\savearea # move %r12-%r15 to stack la %r12,0 - stg %r12,0(%r15) + stg %r12,__SF_BACKCHAIN(%r15) .endm .macro RESTORE_ALL sync @@ -121,43 +131,22 @@ _TIF_WORK_INT = (_TIF_SIGPENDING | _TIF_NEED_RESCHED) __switch_to: tm __THREAD_per+4(%r3),0xe8 # is the new process using per ? jz __switch_to_noper # if not we're fine - stctg %c9,%c11,48(%r15) # We are using per stuff - clc __THREAD_per(24,%r3),48(%r15) + stctg %c9,%c11,__SF_EMPTY(%r15)# We are using per stuff + clc __THREAD_per(24,%r3),__SF_EMPTY(%r15) je __switch_to_noper # we got away without bashing TLB's lctlg %c9,%c11,__THREAD_per(%r3) # Nope we didn't __switch_to_noper: - stmg %r6,%r15,48(%r15) # store __switch_to registers of prev task + stmg %r6,%r15,__SF_GPRS(%r15)# store __switch_to registers of prev task stg %r15,__THREAD_ksp(%r2) # store kernel stack to prev->tss.ksp lg %r15,__THREAD_ksp(%r3) # load kernel stack from next->tss.ksp - lmg %r6,%r15,48(%r15) # load __switch_to registers of next task + lmg %r6,%r15,__SF_GPRS(%r15)# load __switch_to registers of next task stg %r3,__LC_CURRENT # __LC_CURRENT = current task struct lg %r3,__THREAD_info(%r3) # load thread_info from task struct stg %r3,__LC_THREAD_INFO - aghi %r3,16384 + aghi %r3,STACK_SIZE stg %r3,__LC_KERNEL_STACK # __LC_KERNEL_STACK = new kernel stack br %r14 -/* - * do_softirq calling function. We want to run the softirq functions on the - * asynchronous interrupt stack. - */ - .global do_call_softirq -do_call_softirq: - stnsm 48(%r15),0xfc - stmg %r12,%r15,56(%r15) - lgr %r12,%r15 - lg %r0,__LC_ASYNC_STACK - slgr %r0,%r15 - srag %r0,%r0,14 - je 0f - lg %r15,__LC_ASYNC_STACK -0: aghi %r15,-STACK_FRAME_OVERHEAD - stg %r12,0(%r15) # store back chain - brasl %r14,do_softirq - lmg %r12,%r15,56(%r12) - ssm 48(%r15) - br %r14 - __critical_start: /* * SVC interrupt handler routine. System calls are synchronous events and @@ -304,7 +293,10 @@ sysc_tracenogo: ret_from_fork: lg %r13,__LC_SVC_NEW_PSW+8 lg %r9,__LC_THREAD_INFO # load pointer to thread_info struct - brasl %r14,schedule_tail + tm SP_PSW+1(%r15),0x01 # forking a kernel thread ? + jo 0f + stg %r15,SP_R15(%r15) # store stack pointer for new kthread +0: brasl %r14,schedule_tail stosm 24(%r15),0x03 # reenable interrupts j sysc_return @@ -504,7 +496,7 @@ pgm_svcper: mvc __THREAD_per+__PER_address(8,%r1),__LC_PER_ADDRESS mvc __THREAD_per+__PER_access_id(1,%r1),__LC_PER_ACCESS_ID oi __TI_flags+7(%r9),_TIF_SINGLE_STEP # set TIF_SINGLE_STEP - stosm 48(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts j sysc_do_svc /* @@ -539,16 +531,16 @@ io_preempt: lg %r1,SP_R15(%r15) aghi %r1,-SP_SIZE mvc SP_PTREGS(__PT_SIZE,%r1),SP_PTREGS(%r15) - xc 0(8,%r1),0(%r1) # clear back chain + xc __SF_BACKCHAIN(8,%r1),__SF_BACKCHAIN(%r1) # clear back chain lgr %r15,%r1 io_resume_loop: tm __TI_flags+7(%r9),_TIF_NEED_RESCHED jno io_leave larl %r1,.Lc_pactive mvc __TI_precount(4,%r9),0(%r1) - stosm 48(%r15),0x03 # reenable interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts brasl %r14,schedule # call schedule - stnsm 48(%r15),0xfc # disable I/O and ext. interrupts + stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts xc __TI_precount(4,%r9),__TI_precount(%r9) j io_resume_loop #endif @@ -560,7 +552,7 @@ io_work: lg %r1,__LC_KERNEL_STACK aghi %r1,-SP_SIZE mvc SP_PTREGS(__PT_SIZE,%r1),SP_PTREGS(%r15) - xc 0(8,%r1),0(%r1) # clear back chain + xc __SF_BACKCHAIN(8,%r1),__SF_BACKCHAIN(%r1) # clear back chain lgr %r15,%r1 # # One of the work bits is on. Find out which one. @@ -577,23 +569,23 @@ io_work_loop: # _TIF_NEED_RESCHED is set, call schedule # io_reschedule: - stosm 48(%r15),0x03 # reenable interrupts - brasl %r14,schedule # call scheduler - stnsm 48(%r15),0xfc # disable I/O and ext. interrupts + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts + brasl %r14,schedule # call scheduler + stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts tm __TI_flags+7(%r9),_TIF_WORK_INT - jz io_leave # there is no work to do + jz io_leave # there is no work to do j io_work_loop # # _TIF_SIGPENDING is set, call do_signal # io_sigpending: - stosm 48(%r15),0x03 # reenable interrupts - la %r2,SP_PTREGS(%r15) # load pt_regs - slgr %r3,%r3 # clear *oldset - brasl %r14,do_signal # call do_signal - stnsm 48(%r15),0xfc # disable I/O and ext. interrupts - j sysc_leave # out of here, do NOT recheck + stosm __SF_EMPTY(%r15),0x03 # reenable interrupts + la %r2,SP_PTREGS(%r15) # load pt_regs + slgr %r3,%r3 # clear *oldset + brasl %r14,do_signal # call do_signal + stnsm __SF_EMPTY(%r15),0xfc # disable I/O and ext. interrupts + j sysc_leave # out of here, do NOT recheck /* * External interrupt handler routine @@ -631,8 +623,8 @@ restart_int_handler: lctlg %c0,%c15,0(%r10) # get new ctl regs lghi %r10,__LC_AREGS_SAVE_AREA lam %a0,%a15,0(%r10) - stosm 0(%r15),0x04 # now we can turn dat on - lmg %r6,%r15,48(%r15) # load registers from clone + lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone + stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on jg start_secondary #else /* @@ -649,6 +641,29 @@ restart_crash: restart_go: #endif +#ifdef CONFIG_CHECK_STACK +/* + * The synchronous or the asynchronous stack overflowed. We are dead. + * No need to properly save the registers, we are going to panic anyway. + * Setup a pt_regs so that show_trace can provide a good call trace. + */ +stack_overflow: + lg %r15,__LC_PANIC_STACK # change to panic stack + aghi %r1,-SP_SIZE + mvc SP_PSW(16,%r15),0(%r12) # move user PSW to stack + stmg %r0,%r11,SP_R0(%r15) # store gprs %r0-%r11 to kernel stack + la %r1,__LC_SAVE_AREA + chi %r12,__LC_SVC_OLD_PSW + je 0f + chi %r12,__LC_PGM_OLD_PSW + je 0f + la %r1,__LC_SAVE_AREA+16 +0: mvc SP_R12(32,%r15),0(%r1) # move %r12-%r15 to stack + xc __SF_BACKCHAIN(8,%r15),__SF_BACKCHAIN(%r15) # clear back chain + la %r2,SP_PTREGS(%r15) # load pt_regs + jg kernel_stack_overflow +#endif + cleanup_table_system_call: .quad system_call, sysc_do_svc cleanup_table_sysc_return: diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index fb295b79f..b804c55bd 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S @@ -31,6 +31,8 @@ #include #include #include +#include +#include #ifndef CONFIG_IPL .org 0 @@ -741,10 +743,10 @@ _stext: basr %r13,0 # get base # l %r15,.Linittu-.LPG2(%r13) mvc __LC_CURRENT(4),__TI_task(%r15) - ahi %r15,8192 # init_task_union + 8192 + ahi %r15,1<<(PAGE_SHIFT+THREAD_ORDER) # init_task_union + THREAD_SIZE st %r15,__LC_KERNEL_STACK # set end of kernel stack ahi %r15,-96 - xc 0(4,%r15),0(%r15) # set backchain to zero + xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) # clear backchain # check control registers stctl %c0,%c15,0(%r15) diff --git a/arch/s390/kernel/head64.S b/arch/s390/kernel/head64.S index e32a8e90f..8366793bc 100644 --- a/arch/s390/kernel/head64.S +++ b/arch/s390/kernel/head64.S @@ -31,6 +31,8 @@ #include #include #include +#include +#include #ifndef CONFIG_IPL .org 0 @@ -741,10 +743,10 @@ _stext: basr %r13,0 # get base larl %r15,init_thread_union lg %r14,__TI_task(%r15) # cache current in lowcore stg %r14,__LC_CURRENT - aghi %r15,16384 # init_task_union + 16384 + aghi %r15,1<<(PAGE_SHIFT+THREAD_ORDER) # init_task_union + THREAD_SIZE stg %r15,__LC_KERNEL_STACK # set end of kernel stack aghi %r15,-160 - xc 0(8,%r15),0(%r15) # set backchain to zero + xc __SF_BACKCHAIN(4,%r15),__SF_BACKCHAIN(%r15) # clear backchain # check control registers stctg %c0,%c15,0(%r15) diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 73cb6baeb..5d56e77c7 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c @@ -58,14 +58,11 @@ asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); */ unsigned long thread_saved_pc(struct task_struct *tsk) { - unsigned long bc; + struct stack_frame *sf; - bc = *((unsigned long *) tsk->thread.ksp); -#ifndef CONFIG_ARCH_S390X - return *((unsigned long *) (bc+56)); -#else - return *((unsigned long *) (bc+112)); -#endif + sf = (struct stack_frame *) tsk->thread.ksp; + sf = (struct stack_frame *) sf->back_chain; + return sf->gprs[8]; } /* @@ -186,41 +183,20 @@ void show_regs(struct pt_regs *regs) extern void kernel_thread_starter(void); -#ifndef CONFIG_ARCH_S390X - __asm__(".align 4\n" "kernel_thread_starter:\n" - " l 15,0(8)\n" - " sr 15,7\n" - " stosm 24(15),3\n" - " lr 2,10\n" + " la 2,0(10)\n" " basr 14,9\n" - " sr 2,2\n" + " la 2,0\n" " br 11\n"); -#else /* CONFIG_ARCH_S390X */ - -__asm__(".align 4\n" - "kernel_thread_starter:\n" - " lg 15,0(8)\n" - " sgr 15,7\n" - " stosm 48(15),3\n" - " lgr 2,10\n" - " basr 14,9\n" - " sgr 2,2\n" - " br 11\n"); - -#endif /* CONFIG_ARCH_S390X */ - int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) { struct pt_regs regs; memset(®s, 0, sizeof(regs)); - regs.psw.mask = PSW_KERNEL_BITS; + regs.psw.mask = PSW_KERNEL_BITS | PSW_MASK_IO | PSW_MASK_EXT; regs.psw.addr = (unsigned long) kernel_thread_starter | PSW_ADDR_AMODE; - regs.gprs[7] = STACK_FRAME_OVERHEAD + sizeof(struct pt_regs); - regs.gprs[8] = __LC_KERNEL_STACK; regs.gprs[9] = (unsigned long) fn; regs.gprs[10] = (unsigned long) arg; regs.gprs[11] = (unsigned long) do_exit; @@ -253,20 +229,13 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long new_stackp, unsigned long unused, struct task_struct * p, struct pt_regs * regs) { - struct stack_frame + struct fake_frame { - unsigned long back_chain; - unsigned long eos; - unsigned long glue1; - unsigned long glue2; - unsigned long scratch[2]; - unsigned long gprs[10]; /* gprs 6 -15 */ - unsigned int fprs[4]; /* fpr 4 and 6 */ - unsigned int empty[4]; + struct stack_frame sf; struct pt_regs childregs; } *frame; - frame = ((struct stack_frame *) + frame = ((struct fake_frame *) (THREAD_SIZE + (unsigned long) p->thread_info)) - 1; p->thread.ksp = (unsigned long) frame; p->set_child_tid = p->clear_child_tid = NULL; @@ -274,13 +243,13 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long new_stackp, frame->childregs = *regs; frame->childregs.gprs[2] = 0; /* child returns 0 on fork. */ frame->childregs.gprs[15] = new_stackp; - frame->back_chain = frame->eos = 0; + frame->sf.back_chain = 0; /* new return point is ret_from_fork */ - frame->gprs[8] = (unsigned long) ret_from_fork; + frame->sf.gprs[8] = (unsigned long) ret_from_fork; /* fake return stack for resume(), don't go back to schedule */ - frame->gprs[9] = (unsigned long) frame; + frame->sf.gprs[9] = (unsigned long) frame; /* Save access registers to new thread structure. */ save_access_regs(&p->thread.acrs[0]); @@ -336,7 +305,7 @@ asmlinkage long sys_clone(struct pt_regs regs) child_tidptr = (int __user *) regs.gprs[5]; if (!newsp) newsp = regs.gprs[15]; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, + return do_fork(clone_flags, newsp, ®s, 0, parent_tidptr, child_tidptr); } @@ -423,30 +392,26 @@ void dump_thread(struct pt_regs * regs, struct user * dump) unsigned long get_wchan(struct task_struct *p) { - unsigned long r14, r15, bc; - unsigned long stack_page; - int count = 0; - if (!p || p == current || p->state == TASK_RUNNING) + struct stack_frame *sf, *low, *high; + unsigned long return_address; + int count; + + if (!p || p == current || p->state == TASK_RUNNING || !p->thread_info) return 0; - stack_page = (unsigned long) p->thread_info; - r15 = p->thread.ksp; - if (!stack_page || r15 < stack_page || - r15 >= THREAD_SIZE - sizeof(unsigned long) + stack_page) + low = (struct stack_frame *) p->thread_info; + high = (struct stack_frame *) + ((unsigned long) p->thread_info + THREAD_SIZE) - 1; + sf = (struct stack_frame *) (p->thread.ksp & PSW_ADDR_INSN); + if (sf <= low || sf > high) return 0; - bc = (*(unsigned long *) r15) & PSW_ADDR_INSN; - do { - if (bc < stack_page || - bc >= THREAD_SIZE - sizeof(unsigned long) + stack_page) + for (count = 0; count < 16; count++) { + sf = (struct stack_frame *) (sf->back_chain & PSW_ADDR_INSN); + if (sf <= low || sf > high) return 0; -#ifndef CONFIG_ARCH_S390X - r14 = (*(unsigned long *) (bc+56)) & PSW_ADDR_INSN; -#else - r14 = *(unsigned long *) (bc+112); -#endif - if (!in_sched_functions(r14)) - return r14; - bc = (*(unsigned long *) bc) & PSW_ADDR_INSN; - } while (count++ < 16); + return_address = sf->gprs[8] & PSW_ADDR_INSN; + if (!in_sched_functions(return_address)) + return return_address; + } return 0; } diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 6e35d53b4..5bb47ca43 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c @@ -626,7 +626,7 @@ do_ptrace(struct task_struct *child, long request, long addr, long data) * perhaps it should be put in the status that it wants to * exit. */ - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ return 0; child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ diff --git a/arch/s390/kernel/s390_ksyms.c b/arch/s390/kernel/s390_ksyms.c index 43afd32f8..1a5ba047e 100644 --- a/arch/s390/kernel/s390_ksyms.c +++ b/arch/s390/kernel/s390_ksyms.c @@ -23,16 +23,18 @@ /* * memory management */ -EXPORT_SYMBOL_NOVERS(_oi_bitmap); -EXPORT_SYMBOL_NOVERS(_ni_bitmap); -EXPORT_SYMBOL_NOVERS(_zb_findmap); -EXPORT_SYMBOL_NOVERS(_sb_findmap); -EXPORT_SYMBOL_NOVERS(__copy_from_user_asm); -EXPORT_SYMBOL_NOVERS(__copy_to_user_asm); -EXPORT_SYMBOL_NOVERS(__clear_user_asm); -EXPORT_SYMBOL_NOVERS(__strncpy_from_user_asm); -EXPORT_SYMBOL_NOVERS(__strnlen_user_asm); +EXPORT_SYMBOL(_oi_bitmap); +EXPORT_SYMBOL(_ni_bitmap); +EXPORT_SYMBOL(_zb_findmap); +EXPORT_SYMBOL(_sb_findmap); +EXPORT_SYMBOL(__copy_from_user_asm); +EXPORT_SYMBOL(__copy_to_user_asm); +EXPORT_SYMBOL(__copy_in_user_asm); +EXPORT_SYMBOL(__clear_user_asm); +EXPORT_SYMBOL(__strncpy_from_user_asm); +EXPORT_SYMBOL(__strnlen_user_asm); EXPORT_SYMBOL(diag10); +EXPORT_SYMBOL(default_storage_key); /* * semaphore ops @@ -60,6 +62,5 @@ EXPORT_SYMBOL(csum_fold); EXPORT_SYMBOL(console_mode); EXPORT_SYMBOL(console_devno); EXPORT_SYMBOL(console_irq); -EXPORT_SYMBOL_NOVERS(do_call_softirq); EXPORT_SYMBOL(sys_wait4); EXPORT_SYMBOL(cpcmd); diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index a50891ce0..1324fc6ce 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c @@ -53,6 +53,7 @@ unsigned int console_devno = -1; unsigned int console_irq = -1; unsigned long memory_size = 0; unsigned long machine_flags = 0; +unsigned int default_storage_key = 0; struct { unsigned long addr, size, type; } memory_chunk[MEMORY_CHUNKS] = { { 0 } }; @@ -503,6 +504,10 @@ void __init setup_arch(char **cmdline_p) lc->kernel_stack = ((unsigned long) &init_thread_union) + THREAD_SIZE; lc->async_stack = (unsigned long) __alloc_bootmem(ASYNC_SIZE, ASYNC_SIZE, 0) + ASYNC_SIZE; +#ifdef CONFIG_CHECK_STACK + lc->panic_stack = (unsigned long) + __alloc_bootmem(PAGE_SIZE, PAGE_SIZE, 0) + PAGE_SIZE; +#endif lc->current_task = (unsigned long) init_thread_union.thread_info.task; lc->thread_info = (unsigned long) &init_thread_union; #ifdef CONFIG_ARCH_S390X @@ -604,49 +609,3 @@ struct seq_operations cpuinfo_op = { .show = show_cpuinfo, }; -/* - * show_interrupts is needed by /proc/interrupts. - */ - -static const char *intrclass_names[] = { - "EXT", - "I/O", -}; - -int show_interrupts(struct seq_file *p, void *v) -{ - int i = *(loff_t *) v, j; - - if (i == 0) { - seq_puts(p, " "); - for (j=0; jsa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, @@ -414,9 +412,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - force_sig(SIGSEGV, current); + force_sigsegv(sig, current); } /* @@ -424,20 +420,15 @@ give_sigsegv: */ static void -handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, - struct pt_regs * regs) +handle_signal(unsigned long sig, struct k_sigaction *ka, + siginfo_t *info, sigset_t *oldset, struct pt_regs * regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - /* Set up the stack frame */ if (ka->sa.sa_flags & SA_SIGINFO) setup_rt_frame(sig, ka, info, oldset, regs); else setup_frame(sig, ka, oldset, regs); - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; - if (!(ka->sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -461,6 +452,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset) unsigned long retval = 0, continue_addr = 0, restart_addr = 0; siginfo_t info; int signr; + struct k_sigaction ka; /* * We want the common case to go fast, which @@ -494,7 +486,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset) /* Get signal to deliver. When running under ptrace, at this point the debugger may change all our registers ... */ - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); /* Depending on the signal settings we may need to revert the decision to restart the system call. */ @@ -513,14 +505,15 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset) #ifdef CONFIG_S390_SUPPORT if (test_thread_flag(TIF_31BIT)) { extern void handle_signal32(unsigned long sig, + struct k_sigaction *ka, siginfo_t *info, sigset_t *oldset, struct pt_regs *regs); - handle_signal32(signr, &info, oldset, regs); + handle_signal32(signr, &ka, &info, oldset, regs); return 1; } #endif - handle_signal(signr, &info, oldset, regs); + handle_signal(signr, &ka, &info, oldset, regs); return 1; } diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index eb8a5161a..b5c09d144 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -562,21 +562,15 @@ int __devinit start_secondary(void *cpuvoid) static void __init smp_create_idle(unsigned int cpu) { - struct pt_regs regs; struct task_struct *p; /* * don't care about the psw and regs settings since we'll never * reschedule the forked task. */ - memset(®s, 0, sizeof(struct pt_regs)); - p = copy_process(CLONE_VM | CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); + p = fork_idle(cpu); if (IS_ERR(p)) panic("failed fork for CPU %u: %li", cpu, PTR_ERR(p)); - - wake_up_forked_process(p); - init_idle(p, cpu); - unhash_process(p); current_set[cpu] = p; } @@ -643,6 +637,7 @@ __cpu_up(unsigned int cpu) { struct task_struct *idle; struct _lowcore *cpu_lowcore; + struct stack_frame *sf; sigp_ccode ccode; int curr_cpu; @@ -666,9 +661,14 @@ __cpu_up(unsigned int cpu) idle = current_set[cpu]; cpu_lowcore = lowcore_ptr[cpu]; - cpu_lowcore->save_area[15] = idle->thread.ksp; cpu_lowcore->kernel_stack = (unsigned long) idle->thread_info + (THREAD_SIZE); + sf = (struct stack_frame *) (cpu_lowcore->kernel_stack + - sizeof(struct pt_regs) + - sizeof(struct stack_frame)); + memset(sf, 0, sizeof(struct stack_frame)); + sf->gprs[9] = (unsigned long) sf; + cpu_lowcore->save_area[15] = (unsigned long) sf; __ctl_store(cpu_lowcore->cregs_save_area[0], 0, 15); __asm__ __volatile__("stam 0,15,0(%0)" : : "a" (&cpu_lowcore->access_regs_save_area) @@ -747,7 +747,7 @@ cpu_die(void) void __init smp_prepare_cpus(unsigned int max_cpus) { - unsigned long async_stack; + unsigned long stack; unsigned int cpu; int i; @@ -767,12 +767,18 @@ void __init smp_prepare_cpus(unsigned int max_cpus) lowcore_ptr[i] = (struct _lowcore *) __get_free_pages(GFP_KERNEL|GFP_DMA, sizeof(void*) == 8 ? 1 : 0); - async_stack = __get_free_pages(GFP_KERNEL,ASYNC_ORDER); - if (lowcore_ptr[i] == NULL || async_stack == 0ULL) + stack = __get_free_pages(GFP_KERNEL,ASYNC_ORDER); + if (lowcore_ptr[i] == NULL || stack == 0ULL) panic("smp_boot_cpus failed to allocate memory\n"); *(lowcore_ptr[i]) = S390_lowcore; - lowcore_ptr[i]->async_stack = async_stack + (ASYNC_SIZE); + lowcore_ptr[i]->async_stack = stack + (ASYNC_SIZE); +#ifdef CONFIG_CHECK_STACK + stack = __get_free_pages(GFP_KERNEL,0); + if (stack == 0ULL) + panic("smp_boot_cpus failed to allocate memory\n"); + lowcore_ptr[i]->panic_stack = stack + (PAGE_SIZE); +#endif } set_prefix((u32)(unsigned long) lowcore_ptr[smp_processor_id()]); diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index 12f46a65a..8f2794216 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c @@ -174,47 +174,7 @@ __calculate_ticks(__u64 elapsed) #ifdef CONFIG_PROFILING -extern char _stext, _etext; - -/* - * The profiling function is SMP safe. (nothing can mess - * around with "current", and the profiling counters are - * updated with atomic operations). This is especially - * useful with a profiling multiplier != 1 - */ -static inline void s390_do_profile(struct pt_regs * regs) -{ - unsigned long eip; - extern cpumask_t prof_cpu_mask; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; - - eip = instruction_pointer(regs); - - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!cpu_isset(smp_processor_id(), prof_cpu_mask)) - return; - - eip -= (unsigned long) &_stext; - eip >>= prof_shift; - /* - * Don't ignore out-of-bounds EIP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (eip > prof_len-1) - eip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[eip]); -} +#define s390_do_profile(regs) profile_tick(CPU_PROFILING, regs) #else #define s390_do_profile(regs) do { ; } while(0) #endif /* CONFIG_PROFILING */ diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c index cbe2ffb8b..06b493d2f 100644 --- a/arch/s390/kernel/traps.c +++ b/arch/s390/kernel/traps.c @@ -67,54 +67,93 @@ extern pgm_check_handler_t do_monitor_call; #define stack_pointer ({ void **sp; asm("la %0,0(15)" : "=&d" (sp)); sp; }) #ifndef CONFIG_ARCH_S390X -#define RET_ADDR 56 #define FOURLONG "%08lx %08lx %08lx %08lx\n" static int kstack_depth_to_print = 12; - #else /* CONFIG_ARCH_S390X */ -#define RET_ADDR 112 #define FOURLONG "%016lx %016lx %016lx %016lx\n" static int kstack_depth_to_print = 20; - #endif /* CONFIG_ARCH_S390X */ -void show_trace(struct task_struct *task, unsigned long * stack) +/* + * For show_trace we have tree different stack to consider: + * - the panic stack which is used if the kernel stack has overflown + * - the asynchronous interrupt stack (cpu related) + * - the synchronous kernel stack (process related) + * The stack trace can start at any of the three stack and can potentially + * touch all of them. The order is: panic stack, async stack, sync stack. + */ +static unsigned long +__show_trace(unsigned long sp, unsigned long low, unsigned long high) { - unsigned long backchain, low_addr, high_addr, ret_addr; + struct stack_frame *sf; + struct pt_regs *regs; - if (!stack) - stack = (task == NULL) ? *stack_pointer : &(task->thread.ksp); + while (1) { + sp = sp & PSW_ADDR_INSN; + if (sp < low || sp > high - sizeof(*sf)) + return sp; + sf = (struct stack_frame *) sp; + printk("([<%016lx>] ", sf->gprs[8] & PSW_ADDR_INSN); + print_symbol("%s)\n", sf->gprs[8] & PSW_ADDR_INSN); + /* Follow the backchain. */ + while (1) { + low = sp; + sp = sf->back_chain & PSW_ADDR_INSN; + if (!sp) + break; + if (sp <= low || sp > high - sizeof(*sf)) + return sp; + sf = (struct stack_frame *) sp; + printk(" [<%016lx>] ", sf->gprs[8] & PSW_ADDR_INSN); + print_symbol("%s\n", sf->gprs[8] & PSW_ADDR_INSN); + } + /* Zero backchain detected, check for interrupt frame. */ + sp = (unsigned long) (sf + 1); + if (sp <= low || sp > high - sizeof(*regs)) + return sp; + regs = (struct pt_regs *) sp; + printk(" [<%016lx>] ", regs->psw.addr & PSW_ADDR_INSN); + print_symbol("%s\n", regs->psw.addr & PSW_ADDR_INSN); + low = sp; + sp = regs->gprs[15]; + } +} + +void show_trace(struct task_struct *task, unsigned long * stack) +{ + register unsigned long __r15 asm ("15"); + unsigned long sp; + sp = (unsigned long) stack; + if (!sp) + sp = task ? task->thread.ksp : __r15; printk("Call Trace:\n"); - low_addr = ((unsigned long) stack) & PSW_ADDR_INSN; - high_addr = (low_addr & (-THREAD_SIZE)) + THREAD_SIZE; - /* Skip the first frame (biased stack) */ - backchain = *((unsigned long *) low_addr) & PSW_ADDR_INSN; - /* Print up to 8 lines */ - while (backchain > low_addr && backchain <= high_addr) { - ret_addr = *((unsigned long *) (backchain+RET_ADDR)) & PSW_ADDR_INSN; - printk(" [<%016lx>] ", ret_addr); - print_symbol("%s\n", ret_addr); - low_addr = backchain; - backchain = *((unsigned long *) backchain) & PSW_ADDR_INSN; - } +#ifdef CONFIG_CHECK_STACK + sp = __show_trace(sp, S390_lowcore.panic_stack - 4096, + S390_lowcore.panic_stack); +#endif + sp = __show_trace(sp, S390_lowcore.async_stack - ASYNC_SIZE, + S390_lowcore.async_stack); + if (task) + __show_trace(sp, (unsigned long) task->thread_info, + (unsigned long) task->thread_info + THREAD_SIZE); + else + __show_trace(sp, S390_lowcore.thread_info, + S390_lowcore.thread_info + THREAD_SIZE); printk("\n"); } void show_stack(struct task_struct *task, unsigned long *sp) { + register unsigned long * __r15 asm ("15"); unsigned long *stack; int i; // debugging aid: "show_stack(NULL);" prints the // back trace for this cpu. - if (!sp) { - if (task) - sp = (unsigned long *) task->thread.ksp; - else - sp = *stack_pointer; - } + if (!sp) + sp = task ? (unsigned long *) task->thread.ksp : __r15; stack = sp; for (i = 0; i < kstack_depth_to_print; i++) { @@ -243,17 +282,12 @@ void die(const char * str, struct pt_regs * regs, long err) bust_spinlocks(1); printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); show_regs(regs); - if (netdump_func) - netdump_func(regs); bust_spinlocks(0); spin_unlock_irq(&die_lock); if (in_interrupt()) panic("Fatal exception in interrupt"); - if (panic_on_oops) { - if (netdump_func) - netdump_func = NULL; + if (panic_on_oops) panic("Fatal exception: panic_on_oops"); - } do_exit(SIGSEGV); } @@ -596,6 +630,26 @@ asmlinkage void data_exception(struct pt_regs * regs, long interruption_code) } } +asmlinkage void space_switch_exception(struct pt_regs * regs, long int_code) +{ + siginfo_t info; + + /* Set user psw back to home space mode. */ + if (regs->psw.mask & PSW_MASK_PSTATE) + regs->psw.mask |= PSW_ASC_HOME; + /* Send SIGILL. */ + info.si_signo = SIGILL; + info.si_errno = 0; + info.si_code = ILL_PRVOPC; + info.si_addr = get_check_address(regs); + do_trap(int_code, SIGILL, "space switch event", regs, &info); +} + +asmlinkage void kernel_stack_overflow(struct pt_regs * regs) +{ + die("Kernel stack overflow", regs, 0); + panic("Corrupt kernel stack, can't continue."); +} /* init is done in lowcore.S and head.S */ @@ -634,7 +688,7 @@ void __init trap_init(void) pgm_check_table[0x3B] = &do_dat_exception; #endif /* CONFIG_ARCH_S390X */ pgm_check_table[0x15] = &operand_exception; - pgm_check_table[0x1C] = &privileged_op; + pgm_check_table[0x1C] = &space_switch_exception; pgm_check_table[0x1D] = &hfp_sqrt_exception; pgm_check_table[0x40] = &do_monitor_call; diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 8b2dda883..d6bd3d429 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c @@ -25,11 +25,11 @@ #include #include #include +#include #include #include #include -#include #ifndef CONFIG_ARCH_S390X #define __FAIL_ADDR_MASK 0x7ffff000 @@ -126,8 +126,8 @@ static inline int check_user_space(struct pt_regs *regs, int error_code) * Send SIGSEGV to task. This is an external routine * to keep the stack usage of do_page_fault small. */ -static void force_sigsegv(struct pt_regs *regs, unsigned long error_code, - int si_code, unsigned long address) +static void do_sigsegv(struct pt_regs *regs, unsigned long error_code, + int si_code, unsigned long address) { struct siginfo si; @@ -282,7 +282,7 @@ bad_area: if (regs->psw.mask & PSW_MASK_PSTATE) { tsk->thread.prot_addr = address; tsk->thread.trap_no = error_code; - force_sigsegv(regs, error_code, si_code, address); + do_sigsegv(regs, error_code, si_code, address); return; } diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 2140eb0ec..65e0fa1ad 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -194,7 +194,7 @@ endchoice choice prompt "Processor subtype" - + config CPU_SUBTYPE_SH7604 bool "SH7604" depends on CPU_SH2 @@ -301,7 +301,7 @@ config MEMORY_START ---help--- Computers built with Hitachi SuperH processors always map the ROM starting at address zero. But the processor - does not specify the range that RAM takes. + does not specify the range that RAM takes. The physical memory (RAM) start address will be automatically set to 08000000, unless you selected one of the following @@ -339,7 +339,7 @@ config MEMORY_SET # If none of the above have set memory start/size, ask the user. config MEMORY_OVERRIDE bool "Override default load address and memory size" - + # XXX: break these out into the board-specific configs below config CF_ENABLER bool "Compact Flash Enabler support" @@ -522,7 +522,7 @@ config SH_STORE_QUEUES help Selecting this option will enable an in-kernel API for manipulating the store queues integrated in the SH-4 processors. - + config SMP bool "Symmetric multi-processing support" ---help--- @@ -711,7 +711,6 @@ source "drivers/pci/hotplug/Kconfig" endmenu - menu "Executable file formats" source "fs/Kconfig.binfmt" @@ -742,157 +741,7 @@ source "fs/Kconfig" source "arch/sh/oprofile/Kconfig" -menu "Kernel hacking" - -config MAGIC_SYSRQ - bool "Magic SysRq key" - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config SH_STANDARD_BIOS - bool "Use LinuxSH standard BIOS" - help - Say Y here if your target has the gdb-sh-stub - package from www.m17n.org (or any conforming standard LinuxSH BIOS) - in FLASH or EPROM. The kernel will use standard BIOS calls during - boot for various housekeeping tasks (including calls to read and - write characters to a system console, get a MAC address from an - on-board Ethernet interface, and shut down the hardware). Note this - does not work with machines with an existing operating system in - mask ROM and no flash (WindowsCE machines fall in this category). - If unsure, say N. - -config EARLY_SCIF_CONSOLE - bool "Use early SCIF console" - depends on CPU_SH4 - -config EARLY_PRINTK - bool "Early printk support" - depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE - help - Say Y here to redirect kernel printk messages to the serial port - used by the SH-IPL bootloader, starting very early in the boot - process and ending when the kernel's serial console is initialised. - This option is only useful porting the kernel to a new machine, - when the kernel may crash or hang before the serial console is - initialised. If unsure, say N. - -config KGDB - bool "Include KGDB kernel debugger" - help - Include in-kernel hooks for kgdb, the Linux kernel source level - debugger. See for more information. - Unless you are intending to debug the kernel, say N here. - -menu "KGDB configuration options" - depends on KGDB - -config MORE_COMPILE_OPTIONS - bool "Add any additional compile options" - help - If you want to add additional CFLAGS to the kernel build, enable this - option and then enter what you would like to add in the next question. - Note however that -g is already appended with the selection of KGDB. - -config COMPILE_OPTIONS - string "Additional compile arguments" - depends on MORE_COMPILE_OPTIONS - -config KGDB_NMI - bool "Enter KGDB on NMI" - default n - -config KGDB_THREAD - bool "Include KGDB thread support" - default y - -config SH_KGDB_CONSOLE - bool "Console messages through GDB" - default n - -config KGDB_SYSRQ - bool "Allow SysRq 'G' to enter KGDB" - default y - -config KGDB_KERNEL_ASSERTS - bool "Include KGDB kernel assertions" - default n - -comment "Serial port setup" - -config KGDB_DEFPORT - int "Port number (ttySCn)" - default "1" - -config KGDB_DEFBAUD - int "Baud rate" - default "115200" - -choice - prompt "Parity" - depends on KGDB - default KGDB_DEFPARITY_N - -config KGDB_DEFPARITY_N - bool "None" - -config KGDB_DEFPARITY_E - bool "Even" - -config KGDB_DEFPARITY_O - bool "Odd" - -endchoice - -choice - prompt "Data bits" - depends on KGDB - default KGDB_DEFBITS_8 - -config KGDB_DEFBITS_8 - bool "8" - -config KGDB_DEFBITS_7 - bool "7" - -endchoice - -endmenu - -config FRAME_POINTER - bool "Compile the kernel with frame pointers" - default y if KGDB - help - If you say Y here the resulting kernel image will be slightly larger - and slower, but it will give very useful debugging information. - If you don't debug the kernel, you can say N, but we may not be able - to solve problems without frame pointers. - -endmenu +source "arch/sh/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -901,4 +750,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 7e0087146..5d2c028d9 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile @@ -31,7 +31,7 @@ cflags-$(CONFIG_CPU_LITTLE_ENDIAN) := -ml cflags-$(CONFIG_CPU_SH2) += -m2 cflags-$(CONFIG_CPU_SH3) += -m3 cflags-$(CONFIG_CPU_SH4) += -m4 \ - $(call check_gcc,-mno-implicit-fp,-m4-nofpu) + $(call cc-option,-mno-implicit-fp,-m4-nofpu) cflags-$(CONFIG_SH_DSP) += -Wa,-dsp cflags-$(CONFIG_SH_KGDB) += -g @@ -122,7 +122,7 @@ drivers-$(CONFIG_OPROFILE) += arch/sh/oprofile/ boot := arch/sh/boot -AFLAGS_vmlinux.lds.o := -traditional +CPPFLAGS_vmlinux.lds := -traditional prepare: target_links diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile index 05ca14dfa..75a6876bf 100644 --- a/arch/sh/boot/compressed/Makefile +++ b/arch/sh/boot/compressed/Makefile @@ -22,7 +22,7 @@ CONFIG_MEMORY_START ?= 0x0c000000 CONFIG_BOOT_LINK_OFFSET ?= 0x00800000 IMAGE_OFFSET := $(shell printf "0x%8x" $$[0x80000000+$(CONFIG_MEMORY_START)+$(CONFIG_BOOT_LINK_OFFSET)]) -LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup -T $(obj)/../../kernel/vmlinux.lds.s +LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup -T $(obj)/../../kernel/vmlinux.lds $(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o FORCE $(call if_changed,ld) diff --git a/arch/sh/drivers/pci/pci-sh7751.c b/arch/sh/drivers/pci/pci-sh7751.c index b2bb72972..1a5a883ad 100644 --- a/arch/sh/drivers/pci/pci-sh7751.c +++ b/arch/sh/drivers/pci/pci-sh7751.c @@ -177,16 +177,9 @@ static void __init pci_fixup_ide_bases(struct pci_dev *d) } } } +DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases); #endif -/* Add future fixups here... */ -struct pci_fixup pcibios_fixups[] = { -#if !defined(CONFIG_SH_HS7751RVOIP) && !defined(CONFIG_SH_RTS7751R2D) - { PCI_FIXUP_HEADER, PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases }, -#endif - { 0 } -}; - /* * Called after each bus is probed, but before its children * are examined. diff --git a/arch/sh/kernel/Makefile b/arch/sh/kernel/Makefile index d36bd9410..8b819698d 100644 --- a/arch/sh/kernel/Makefile +++ b/arch/sh/kernel/Makefile @@ -2,7 +2,7 @@ # Makefile for the Linux/SuperH kernel. # -extra-y := head.o init_task.o vmlinux.lds.s +extra-y := head.o init_task.o vmlinux.lds obj-y := process.o signal.o entry.o traps.o irq.o \ ptrace.o setup.o time.o sys_sh.o semaphore.o \ diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c index d78503dd2..73ec3365d 100644 --- a/arch/sh/kernel/irq.c +++ b/arch/sh/kernel/irq.c @@ -137,14 +137,16 @@ unlock: int handle_IRQ_event(unsigned int irq, struct pt_regs * regs, struct irqaction * action) { int status = 1; /* Force the "do bottom halves" bit */ - int retval = 0; + int ret, retval = 0; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - retval |= action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); diff --git a/arch/sh/kernel/kgdb_stub.c b/arch/sh/kernel/kgdb_stub.c index 42638b92b..6c0370fdf 100644 --- a/arch/sh/kernel/kgdb_stub.c +++ b/arch/sh/kernel/kgdb_stub.c @@ -412,7 +412,7 @@ static struct task_struct *get_thread(int pid) if (pid == PID_MAX) pid = 0; /* First check via PID */ - thread = find_task_by_pid(pid); + thread = find_task_by_real_pid(pid); if (thread) return thread; diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 8ba6dd300..c9a43c8df 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -440,7 +440,7 @@ asmlinkage int sys_clone(unsigned long clone_flags, unsigned long newsp, { if (!newsp) newsp = regs.regs[15]; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, + return do_fork(clone_flags, newsp, ®s, 0, (int __user *)parent_tidptr, (int __user *)child_tidptr); } diff --git a/arch/sh/kernel/ptrace.c b/arch/sh/kernel/ptrace.c index bfdfa7489..ceffa5f31 100644 --- a/arch/sh/kernel/ptrace.c +++ b/arch/sh/kernel/ptrace.c @@ -219,7 +219,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data) */ case PTRACE_KILL: { ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; wake_up_process(child); diff --git a/arch/sh/kernel/sh_ksyms.c b/arch/sh/kernel/sh_ksyms.c index 42868fca4..5e5cdd7f2 100644 --- a/arch/sh/kernel/sh_ksyms.c +++ b/arch/sh/kernel/sh_ksyms.c @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -87,7 +86,7 @@ EXPORT_SYMBOL(__udelay); EXPORT_SYMBOL(__ndelay); EXPORT_SYMBOL(__const_udelay); -#define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL_NOVERS(name) +#define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) /* These symbols are generated by the compiler itself */ DECLARE_EXPORT(__udivsi3); diff --git a/arch/sh/kernel/smp.c b/arch/sh/kernel/smp.c index adb8eae9f..6ff83edf8 100644 --- a/arch/sh/kernel/smp.c +++ b/arch/sh/kernel/smp.c @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -98,19 +97,12 @@ void __devinit smp_prepare_boot_cpu(void) int __cpu_up(unsigned int cpu) { struct task_struct *tsk; - struct pt_regs regs; - memset(®s, 0, sizeof(struct pt_regs)); - tsk = copy_process(CLONE_VM | CLONE_IDLETASK, 0, ®s, 0, 0, 0); + tsk = fork_idle(cpu); if (IS_ERR(tsk)) panic("Failed forking idle task for cpu %d\n", cpu); - wake_up_forked_process(tsk); - - init_idle(tsk, cpu); - unhash_process(tsk); - tsk->thread_info->cpu = cpu; cpu_set(cpu, cpu_online_map); diff --git a/arch/sh/kernel/time.c b/arch/sh/kernel/time.c index 3bcdf4ca4..75ed2b870 100644 --- a/arch/sh/kernel/time.c +++ b/arch/sh/kernel/time.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -250,36 +251,6 @@ EXPORT_SYMBOL(do_settimeofday); /* last time the RTC clock got updated */ static long last_rtc_update; -/* Profiling definitions */ -extern unsigned long prof_cpu_mask; -extern unsigned int * prof_buffer; -extern unsigned long prof_len; -extern unsigned long prof_shift; -extern char _stext; - -static inline void sh_do_profile(unsigned long pc) -{ - /* Don't profile cpu_idle.. */ - if (!prof_buffer || !current->pid) - return; - - if (pc >= 0xa0000000UL && pc < 0xc0000000UL) - pc -= 0x20000000; - - pc -= (unsigned long)&_stext; - pc >>= prof_shift; - - /* - * Don't ignore out-of-bounds PC values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (pc > prof_len - 1) - pc = prof_len - 1; - - atomic_inc((atomic_t *)&prof_buffer[pc]); -} - /* * timer_interrupt() needs to keep up the real-time clock, * as well as call the "do_timer()" routine every clocktick @@ -287,9 +258,7 @@ static inline void sh_do_profile(unsigned long pc) static inline void do_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { do_timer(regs); - - if (!user_mode(regs)) - sh_do_profile(regs->pc); + profile_tick(CPU_PROFILING, regs); #ifdef CONFIG_HEARTBEAT if (sh_mv.mv_heartbeat != NULL) diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S index 923980741..51bdc1cf7 100644 --- a/arch/sh/kernel/vmlinux.lds.S +++ b/arch/sh/kernel/vmlinux.lds.S @@ -23,6 +23,7 @@ SECTIONS .text : { *(.text) SCHED_TEXT + LOCK_TEXT *(.fixup) *(.gnu.warning) } = 0x0009 @@ -75,9 +76,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index 7b49b6976..030008e1f 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c @@ -214,8 +214,8 @@ void __init paging_init(void) */ disable_mmu(); #endif - - free_area_init_node(0, NODE_DATA(0), 0, zones_size, __MEMORY_START >> PAGE_SHIFT, 0); + NODE_DATA(0)->node_mem_map = NULL; + free_area_init_node(0, NODE_DATA(0), zones_size, __MEMORY_START >> PAGE_SHIFT, 0); /* XXX: MRB-remove - this doesn't seem sane, should this be done somewhere else ?*/ mem_map = NODE_DATA(0)->node_mem_map; @@ -225,7 +225,7 @@ void __init paging_init(void) */ zones_size[ZONE_DMA] = __MEMORY_SIZE_2ND >> PAGE_SHIFT; zones_size[ZONE_NORMAL] = 0; - free_area_init_node(1, NODE_DATA(1), 0, zones_size, __MEMORY_START_2ND >> PAGE_SHIFT, 0); + free_area_init_node(1, NODE_DATA(1), zones_size, __MEMORY_START_2ND >> PAGE_SHIFT, 0); #endif } diff --git a/arch/sh/mm/tlb-sh3.c b/arch/sh/mm/tlb-sh3.c index 318d1a529..4bffcf59c 100644 --- a/arch/sh/mm/tlb-sh3.c +++ b/arch/sh/mm/tlb-sh3.c @@ -25,7 +25,6 @@ #include #include #include -#include #include #include diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 02ce6ccd3..d39216dc5 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -23,8 +23,7 @@ config GENERIC_ISA_DMA source "init/Kconfig" - -menu "General setup" +menu "General machine setup" config VT bool @@ -217,8 +216,8 @@ config SUN_PM bool default y help - Enable power management and CPU standby features on supported - SPARC platforms. + Enable power management and CPU standby features on supported + SPARC platforms. config SUN4 bool "Support for SUN4 machines (disables SUN4[CDM] support)" @@ -380,77 +379,7 @@ source "drivers/usb/Kconfig" source "drivers/char/watchdog/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_STACK_USAGE - bool "Enable stack utilization instrumentation" - depends on DEBUG_KERNEL - help - Enables the display of the minimum amount of free stack which each - task has ever had available in the sysrq-T and sysrq-P debug output. - - This option will slow down process creation somewhat. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_HIGHMEM - bool "Highmem debugging" - depends on DEBUG_KERNEL && HIGHMEM - help - This options enables additional error checking for high memory - systems. Disable for production systems. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - depends on DEBUG_KERNEL - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - -config DEBUG_BUGVERBOSE - bool "Verbose BUG() reporting (adds 70K)" - depends on DEBUG_KERNEL - help - Say Y here to make BUG() panics output the file name and line number - of the BUG call as well as the EIP and oops trace. This aids - debugging but costs about 70-100K of memory. - -endmenu +source "arch/sparc/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -459,4 +388,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile index 6a9edfeb4..53395cd20 100644 --- a/arch/sparc/Makefile +++ b/arch/sparc/Makefile @@ -13,7 +13,7 @@ AS := $(AS) -32 LDFLAGS := -m elf32_sparc -CHECK := $(CHECK) -D__sparc__=1 +CHECKFLAGS += -D__sparc__ #CFLAGS := $(CFLAGS) -g -pipe -fcall-used-g5 -fcall-used-g7 CFLAGS := $(CFLAGS) -m32 -pipe -mno-fpu -fcall-used-g5 -fcall-used-g7 diff --git a/arch/sparc/kernel/init_task.c b/arch/sparc/kernel/init_task.c index af81a999f..fc31de66b 100644 --- a/arch/sparc/kernel/init_task.c +++ b/arch/sparc/kernel/init_task.c @@ -23,6 +23,6 @@ EXPORT_SYMBOL(init_task); * in etrap.S which assumes it. */ union thread_union init_thread_union - __attribute__((section (".text,#alloc"))) + __attribute__((section (".text\"\n\t#"))) __attribute__((aligned (THREAD_SIZE))) = { INIT_THREAD_INFO(init_task) }; diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c index cfabf35ee..4e0ed320d 100644 --- a/arch/sparc/kernel/irq.c +++ b/arch/sparc/kernel/irq.c @@ -45,7 +45,6 @@ #include #include #include -#include #include #include diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c index 4ff019336..1dc918135 100644 --- a/arch/sparc/kernel/process.c +++ b/arch/sparc/kernel/process.c @@ -435,8 +435,6 @@ asmlinkage int sparc_do_fork(unsigned long clone_flags, { unsigned long parent_tid_ptr, child_tid_ptr; - clone_flags &= ~CLONE_IDLETASK; - parent_tid_ptr = regs->u_regs[UREG_I2]; child_tid_ptr = regs->u_regs[UREG_I4]; diff --git a/arch/sparc/kernel/ptrace.c b/arch/sparc/kernel/ptrace.c index 949072b1c..0588bf296 100644 --- a/arch/sparc/kernel/ptrace.c +++ b/arch/sparc/kernel/ptrace.c @@ -571,7 +571,7 @@ asmlinkage void do_ptrace(struct pt_regs *regs) * exit. */ case PTRACE_KILL: { - if (child->state == TASK_ZOMBIE) { /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) { /* already dead */ pt_succ_return(regs, 0); goto out_tsk; } @@ -618,12 +618,9 @@ asmlinkage void syscall_trace(void) return; if (!(current->ptrace & PT_PTRACED)) return; - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; current->thread.flags ^= MAGIC_CONSTANT; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/sparc/kernel/setup.c b/arch/sparc/kernel/setup.c index 7bc43b4c0..55352ed85 100644 --- a/arch/sparc/kernel/setup.c +++ b/arch/sparc/kernel/setup.c @@ -44,7 +44,6 @@ #include #include #include -#include #include #include #include diff --git a/arch/sparc/kernel/signal.c b/arch/sparc/kernel/signal.c index 28edf9319..276860da5 100644 --- a/arch/sparc/kernel/signal.c +++ b/arch/sparc/kernel/signal.c @@ -274,7 +274,7 @@ static inline void do_new_sigreturn (struct pt_regs *regs) return; segv_and_exit: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } asmlinkage void do_sigreturn(struct pt_regs *regs) @@ -341,7 +341,7 @@ asmlinkage void do_sigreturn(struct pt_regs *regs) return; segv_and_exit: - send_sig(SIGSEGV, current, 1); + force_sig(SIGSEGV, current); } asmlinkage void do_rt_sigreturn(struct pt_regs *regs) @@ -401,7 +401,7 @@ asmlinkage void do_rt_sigreturn(struct pt_regs *regs) spin_unlock_irq(¤t->sighand->siglock); return; segv: - send_sig(SIGSEGV, current, 1); + force_sig(SIGSEGV, current); } /* Checks if the fp is valid */ @@ -549,7 +549,7 @@ setup_frame(struct sigaction *sa, struct pt_regs *regs, int signr, sigset_t *old sigill_and_return: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signr, current); } @@ -635,6 +635,7 @@ new_setup_frame(struct k_sigaction *ka, struct pt_regs *regs, regs->u_regs[UREG_FP] = (unsigned long) sf; regs->u_regs[UREG_I0] = signo; regs->u_regs[UREG_I1] = (unsigned long) &sf->info; + regs->u_regs[UREG_I2] = (unsigned long) &sf->info; /* 4. signal handler */ regs->pc = (unsigned long) ka->sa.sa_handler; @@ -662,7 +663,7 @@ new_setup_frame(struct k_sigaction *ka, struct pt_regs *regs, sigill_and_return: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signo, current); } static inline void @@ -719,6 +720,7 @@ new_setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, regs->u_regs[UREG_FP] = (unsigned long) sf; regs->u_regs[UREG_I0] = signo; regs->u_regs[UREG_I1] = (unsigned long) &sf->info; + regs->u_regs[UREG_I2] = (unsigned long) &sf->regs; regs->pc = (unsigned long) ka->sa.sa_handler; regs->npc = (regs->pc + 4); @@ -744,7 +746,7 @@ new_setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, sigill: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signo, current); } /* Setup a Solaris stack frame */ @@ -874,7 +876,7 @@ setup_svr4_frame(struct sigaction *sa, unsigned long pc, unsigned long npc, sigill_and_return: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signr, current); } asmlinkage int svr4_getcontext(svr4_ucontext_t __user *uc, struct pt_regs *regs) @@ -887,7 +889,7 @@ asmlinkage int svr4_getcontext(svr4_ucontext_t __user *uc, struct pt_regs *regs) synchronize_user_stack(); if (current_thread_info()->w_saved) - goto sigsegv_and_return; + return -EFAULT; err = clear_user(uc, sizeof(*uc)); if (err) @@ -928,9 +930,6 @@ asmlinkage int svr4_getcontext(svr4_ucontext_t __user *uc, struct pt_regs *regs) * we have already stuffed all of it with sync_user_stack */ return (err ? -EFAULT : 0); - -sigsegv_and_return: - do_exit(SIGSEGV); } /* Set the context for a svr4 application, this is Solaris way to sigreturn */ @@ -1016,7 +1015,7 @@ asmlinkage int svr4_setcontext(svr4_ucontext_t __user *c, struct pt_regs *regs) return (err ? -EFAULT : 0); sigsegv_and_return: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } static inline void @@ -1034,8 +1033,6 @@ handle_signal(unsigned long signr, struct k_sigaction *ka, else setup_frame(&ka->sa, regs, signr, oldset, info); } - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; if (!(ka->sa.sa_flags & SA_NOMASK)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -1075,6 +1072,7 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs * regs, { siginfo_t info; struct sparc_deliver_cookie cookie; + struct k_sigaction ka; int signr; /* @@ -1094,15 +1092,12 @@ asmlinkage int do_signal(sigset_t *oldset, struct pt_regs * regs, if (!oldset) oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, &cookie); + signr = get_signal_to_deliver(&info, &ka, regs, &cookie); if (signr > 0) { - struct k_sigaction *ka; - - ka = ¤t->sighand->action[signr-1]; - if (cookie.restart_syscall) - syscall_restart(cookie.orig_i0, regs, &ka->sa); - handle_signal(signr, ka, &info, oldset, regs, svr4_signal); + syscall_restart(cookie.orig_i0, regs, &ka.sa); + handle_signal(signr, &ka, &info, oldset, + regs, svr4_signal); return 1; } if (cookie.restart_syscall && diff --git a/arch/sparc/kernel/smp.c b/arch/sparc/kernel/smp.c index 46591a15e..f11dd14db 100644 --- a/arch/sparc/kernel/smp.c +++ b/arch/sparc/kernel/smp.c @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c index fdaacfa47..7282bc3ee 100644 --- a/arch/sparc/kernel/sparc_ksyms.c +++ b/arch/sparc/kernel/sparc_ksyms.c @@ -41,7 +41,6 @@ #include #include #include -#include #include #include #include @@ -214,6 +213,10 @@ EXPORT_SYMBOL(pci_dma_sync_single_for_cpu); EXPORT_SYMBOL(pci_dma_sync_single_for_device); EXPORT_SYMBOL(pci_dma_sync_sg_for_cpu); EXPORT_SYMBOL(pci_dma_sync_sg_for_device); +EXPORT_SYMBOL(pci_map_sg); +EXPORT_SYMBOL(pci_unmap_sg); +EXPORT_SYMBOL(pci_map_page); +EXPORT_SYMBOL(pci_unmap_page); /* Actually, ioremap/iounmap are not PCI specific. But it is ok for drivers. */ EXPORT_SYMBOL(ioremap); EXPORT_SYMBOL(iounmap); @@ -298,6 +301,9 @@ EXPORT_SYMBOL(csum_partial); /* Cache flushing. */ EXPORT_SYMBOL(sparc_flush_page_to_ram); +/* For when serial stuff is built as modules. */ +EXPORT_SYMBOL(sun_do_break); + EXPORT_SYMBOL(__ret_efault); EXPORT_SYMBOL(memcmp); diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index f2fc64edc..100433e05 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,6 @@ #include #include #include -#include #include #define IRQ_RESCHEDULE 13 @@ -173,18 +173,9 @@ void __init smp4m_boot_cpus(void) int timeout; /* Cook up an idler for this guy. */ - kernel_thread(start_secondary, NULL, CLONE_IDLETASK); - + p = fork_idle(i); cpucount++; - - p = prev_task(&init_task); - - init_idle(p, i); - current_set[i] = p->thread_info; - - unhash_process(p); - /* See trampoline.S for details... */ entry += ((i-1) * 3); @@ -400,16 +391,13 @@ void smp4m_cross_call_irq(void) ccall_info.processors_out[i] = 1; } -extern void sparc_do_profile(unsigned long pc, unsigned long o7); - void smp4m_percpu_timer_interrupt(struct pt_regs *regs) { int cpu = smp_processor_id(); clear_profile_irq(cpu); - if(!user_mode(regs)) - sparc_do_profile(regs->pc, regs->u_regs[UREG_RETPC]); + profile_tick(CPU_PROFILING, regs); if(!--prof_counter(cpu)) { int user = user_mode(regs); diff --git a/arch/sparc/kernel/systbls.S b/arch/sparc/kernel/systbls.S index 56c8c878d..5af2fc5bc 100644 --- a/arch/sparc/kernel/systbls.S +++ b/arch/sparc/kernel/systbls.S @@ -74,7 +74,7 @@ sys_call_table: /*260*/ .long sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun /*265*/ .long sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy /*270*/ .long sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink -/*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_ni_syscall +/*275*/ .long sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid /*280*/ .long sys_ni_syscall, sys_ni_syscall, sys_ni_syscall #ifdef CONFIG_SUNOS_EMUL diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c index bdec61be6..60507d394 100644 --- a/arch/sparc/kernel/time.c +++ b/arch/sparc/kernel/time.c @@ -79,38 +79,26 @@ struct intersil *intersil_clock; #endif -static spinlock_t ticker_lock = SPIN_LOCK_UNLOCKED; - -/* 32-bit Sparc specific profiling function. */ -void sparc_do_profile(unsigned long pc, unsigned long o7) +unsigned long profile_pc(struct pt_regs *regs) { - if(prof_buffer && current->pid) { - extern int _stext; - extern int __copy_user_begin, __copy_user_end; - extern int __atomic_begin, __atomic_end; - extern int __bzero_begin, __bzero_end; - extern int __bitops_begin, __bitops_end; - - if ((pc >= (unsigned long) &__copy_user_begin && - pc < (unsigned long) &__copy_user_end) || - (pc >= (unsigned long) &__atomic_begin && - pc < (unsigned long) &__atomic_end) || - (pc >= (unsigned long) &__bzero_begin && - pc < (unsigned long) &__bzero_end) || - (pc >= (unsigned long) &__bitops_begin && - pc < (unsigned long) &__bitops_end)) - pc = o7; - - pc -= (unsigned long) &_stext; - pc >>= prof_shift; - - spin_lock(&ticker_lock); - if(pc < prof_len) - prof_buffer[pc]++; - else - prof_buffer[prof_len - 1]++; - spin_unlock(&ticker_lock); - } + extern char __copy_user_begin[], __copy_user_end[]; + extern char __atomic_begin[], __atomic_end[]; + extern char __bzero_begin[], __bzero_end[]; + extern char __bitops_begin[], __bitops_end[]; + + unsigned long pc = regs->pc; + + if (in_lock_functions(pc) || + (pc >= (unsigned long) __copy_user_begin && + pc < (unsigned long) __copy_user_end) || + (pc >= (unsigned long) __atomic_begin && + pc < (unsigned long) __atomic_end) || + (pc >= (unsigned long) __bzero_begin && + pc < (unsigned long) __bzero_end) || + (pc >= (unsigned long) __bitops_begin && + pc < (unsigned long) __bitops_end)) + pc = regs->u_regs[UREG_RETPC]; + return pc; } __volatile__ unsigned int *master_l10_counter; @@ -129,8 +117,7 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs * regs) static long last_rtc_update; #ifndef CONFIG_SMP - if(!user_mode(regs)) - sparc_do_profile(regs->pc, regs->u_regs[UREG_RETPC]); + profile_tick(CPU_PROFILING, regs); #endif /* Protect counter clear so that do_gettimeoffset works */ diff --git a/arch/sparc/mm/sun4c.c b/arch/sparc/mm/sun4c.c index b56b67b45..fd85c7b01 100644 --- a/arch/sparc/mm/sun4c.c +++ b/arch/sparc/mm/sun4c.c @@ -379,7 +379,7 @@ extern unsigned long invalid_segment_patch1, invalid_segment_patch1_ff; extern unsigned long invalid_segment_patch2, invalid_segment_patch2_ff; extern unsigned long invalid_segment_patch1_1ff, invalid_segment_patch2_1ff; extern unsigned long num_context_patch1, num_context_patch1_16; -extern unsigned long num_context_patch2, num_context_patch2_16; +extern unsigned long num_context_patch2_16; extern unsigned long vac_linesize_patch, vac_linesize_patch_32; extern unsigned long vac_hwflush_patch1, vac_hwflush_patch1_on; extern unsigned long vac_hwflush_patch2, vac_hwflush_patch2_on; @@ -2114,7 +2114,7 @@ void __init sun4c_paging_init(void) zones_size[ZONE_HIGHMEM] = npages; zholes_size[ZONE_HIGHMEM] = npages - calc_highpages(); - free_area_init_node(0, &contig_page_data, NULL, zones_size, + free_area_init_node(0, &contig_page_data, zones_size, pfn_base, zholes_size); mem_map = contig_page_data.node_mem_map; } diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index c85f8f25d..0bcd075f2 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig @@ -12,10 +12,13 @@ config MMU bool default y -source "init/Kconfig" +config TIME_INTERPOLATION + bool + default y +source "init/Kconfig" -menu "General setup" +menu "General machine setup" config BBC_I2C tristate "UltraSPARC-III bootbus i2c controller driver" @@ -549,7 +552,6 @@ config UNIX98_PTY_COUNT endmenu - menu "XFree86 DRI support" config DRM @@ -604,109 +606,7 @@ source "drivers/char/watchdog/Kconfig" source "arch/sparc64/oprofile/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_STACK_USAGE - bool "Enable stack utilization instrumentation" - depends on DEBUG_KERNEL - help - Enables the display of the minimum amount of free stack which each - task has ever had available in the sysrq-T and sysrq-P debug output. - - This option will slow down process creation somewhat. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -config DEBUG_SPINLOCK_SLEEP - bool "Sleep-inside-spinlock checking" - depends DEBUG_KERNEL - help - If you say Y here, various routines which may sleep will become very - noisy if they are called with a spinlock held. - -config DEBUG_BUGVERBOSE - bool "Verbose BUG() reporting (adds 70K)" - depends on DEBUG_KERNEL - help - Say Y here to make BUG() panics output the file name and line number - of the BUG call as well as the EIP and oops trace. This aids - debugging but costs about 70-100K of memory. - -config DEBUG_DCFLUSH - bool "D-cache flush debugging" - depends on DEBUG_KERNEL - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config STACK_DEBUG - depends on DEBUG_KERNEL - bool "Stack Overflow Detection Support" - -config DEBUG_BOOTMEM - depends on DEBUG_KERNEL - bool "Debug BOOTMEM initialization" - -# We have a custom atomic_dec_and_lock() implementation but it's not -# compatible with spinlock debugging so we need to fall back on -# the generic version in that case. -config HAVE_DEC_LOCK - bool - depends on SMP && !DEBUG_SPINLOCK - default y - -config MCOUNT - bool - depends on STACK_DEBUG - default y - -config FRAME_POINTER - bool - depends on MCOUNT - default y - -endmenu +source "arch/sparc64/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -715,4 +615,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/sparc64/Makefile b/arch/sparc64/Makefile index d33535f52..4021fedc5 100644 --- a/arch/sparc64/Makefile +++ b/arch/sparc64/Makefile @@ -8,16 +8,16 @@ # Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) # -CHECK := $(CHECK) -D__sparc__=1 -D__sparc_v9__=1 +CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -AFLAGS_vmlinux.lds.o += -Usparc +CPPFLAGS_vmlinux.lds += -Usparc CC := $(shell if $(CC) -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo $(CC); else echo sparc64-linux-gcc; fi ) -NEW_GCC := $(shell if $(CC) -m64 -mcmodel=medlow -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; ) +NEW_GCC := $(call cc-option-yn, -m64 -mcmodel=medlow) NEW_GAS := $(shell if $(LD) -V 2>&1 | grep 'elf64_sparc' > /dev/null; then echo y; else echo n; fi) UNDECLARED_REGS := $(shell if $(CC) -c -x assembler /dev/null -Wa,--help | grep undeclared-regs > /dev/null; then echo y; else echo n; fi; ) -INLINE_LIMIT := $(shell if $(CC) -m64 -finline-limit=100000 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; ) +INLINE_LIMIT := $(call cc-option-yn, -m64 -finline-limit=100000) export NEW_GCC diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig index 7fa2d47a6..1b2f3c2cb 100644 --- a/arch/sparc64/defconfig +++ b/arch/sparc64/defconfig @@ -1,8 +1,11 @@ # # Automatically generated make config: don't edit +# Linux kernel version: 2.6.9-rc3 +# Sun Oct 3 14:28:53 2004 # CONFIG_64BIT=y CONFIG_MMU=y +CONFIG_TIME_INTERPOLATION=y # # Code maturity level options @@ -13,6 +16,7 @@ CONFIG_CLEAN_COMPILE=y # # General setup # +CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y @@ -33,6 +37,8 @@ CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -46,7 +52,7 @@ CONFIG_KMOD=y CONFIG_STOP_MACHINE=y # -# General setup +# General machine setup # CONFIG_BBC_I2C=m CONFIG_VT=y @@ -65,6 +71,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=m CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m # CONFIG_CPU_FREQ_24_API is not set CONFIG_SPARC64=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y @@ -118,6 +125,7 @@ CONFIG_FW_LOADER=m # Graphics support # CONFIG_FB=y +CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_CIRRUS is not set CONFIG_FB_PM2=y # CONFIG_FB_PM2_FIFO_DISCONNECT is not set @@ -153,7 +161,6 @@ CONFIG_FB_FFB=y # # Console display driver support # -# CONFIG_MDA_CONSOLE is not set # CONFIG_PROM_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y @@ -217,6 +224,7 @@ CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_UB=m # CONFIG_BLK_DEV_RAM is not set # @@ -251,7 +259,6 @@ CONFIG_BLK_DEV_IDEDMA_PCI=y # CONFIG_BLK_DEV_IDEDMA_FORCED is not set CONFIG_IDEDMA_PCI_AUTO=y CONFIG_IDEDMA_ONLYDISK=y -CONFIG_BLK_DEV_ADMA=y # CONFIG_BLK_DEV_AEC62XX is not set CONFIG_BLK_DEV_ALI15X3=y # CONFIG_WDC_ALI15X3 is not set @@ -328,7 +335,8 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000 # CONFIG_AIC79XX_DEBUG_ENABLE is not set CONFIG_AIC79XX_DEBUG_MASK=0 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set -# CONFIG_SCSI_MEGARAID is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set CONFIG_SCSI_SATA=y CONFIG_SCSI_SATA_SVW=m CONFIG_SCSI_ATA_PIIX=m @@ -353,9 +361,7 @@ CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set -CONFIG_SCSI_IPR=m -# CONFIG_SCSI_IPR_TRACE is not set -# CONFIG_SCSI_IPR_DUMP is not set +# CONFIG_SCSI_IPR is not set CONFIG_SCSI_QLOGIC_ISP=m CONFIG_SCSI_QLOGIC_FC=y CONFIG_SCSI_QLOGIC_FC_FIRMWARE=y @@ -398,6 +404,7 @@ CONFIG_BLK_DEV_MD=m CONFIG_MD_LINEAR=m CONFIG_MD_RAID0=m CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m CONFIG_MD_RAID5=m CONFIG_MD_RAID6=m CONFIG_MD_MULTIPATH=m @@ -412,7 +419,6 @@ CONFIG_DM_ZERO=m # CONFIG_FUSION=m CONFIG_FUSION_MAX_SGE=40 -CONFIG_FUSION_ISENSE=m CONFIG_FUSION_CTL=m CONFIG_FUSION_LAN=m @@ -475,6 +481,7 @@ CONFIG_SYN_COOKIES=y CONFIG_INET_AH=y CONFIG_INET_ESP=y CONFIG_INET_IPCOMP=y +CONFIG_INET_TUNNEL=y # # IP: Virtual Server Configuration @@ -514,6 +521,7 @@ CONFIG_IPV6_PRIVACY=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m CONFIG_IPV6_TUNNEL=m CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set @@ -523,6 +531,8 @@ CONFIG_BRIDGE_NETFILTER=y # IP: Netfilter Configuration # CONFIG_IP_NF_CONNTRACK=m +CONFIG_IP_NF_CT_ACCT=y +CONFIG_IP_NF_CT_PROTO_SCTP=m CONFIG_IP_NF_FTP=m CONFIG_IP_NF_IRC=m CONFIG_IP_NF_TFTP=m @@ -548,8 +558,15 @@ CONFIG_IP_NF_MATCH_STATE=m CONFIG_IP_NF_MATCH_CONNTRACK=m CONFIG_IP_NF_MATCH_OWNER=m CONFIG_IP_NF_MATCH_PHYSDEV=m +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_MATCH_REALM=m +CONFIG_IP_NF_MATCH_SCTP=m +CONFIG_IP_NF_MATCH_COMMENT=m CONFIG_IP_NF_FILTER=m CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_IP_NF_TARGET_TCPMSS=m CONFIG_IP_NF_NAT=m CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=m @@ -568,18 +585,13 @@ CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_DSCP=m CONFIG_IP_NF_TARGET_MARK=m CONFIG_IP_NF_TARGET_CLASSIFY=m -CONFIG_IP_NF_TARGET_LOG=m -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_IP_NF_TARGET_TCPMSS=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_TARGET_NOTRACK=m CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m CONFIG_IP_NF_COMPAT_IPCHAINS=m CONFIG_IP_NF_COMPAT_IPFWADM=m -CONFIG_IP_NF_TARGET_NOTRACK=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_MATCH_ADDRTYPE=m -CONFIG_IP_NF_MATCH_REALM=m # # IPv6: Netfilter Configuration @@ -599,6 +611,7 @@ CONFIG_IP6_NF_MATCH_IPV6HEADER=m CONFIG_IP6_NF_MATCH_AHESP=m CONFIG_IP6_NF_MATCH_LENGTH=m CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_PHYSDEV=m CONFIG_IP6_NF_FILTER=m CONFIG_IP6_NF_TARGET_LOG=m CONFIG_IP6_NF_MANGLE=m @@ -704,6 +717,8 @@ CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_ACT=y CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y # # Network testing @@ -880,6 +895,7 @@ CONFIG_NS83820=m CONFIG_HAMACHI=m CONFIG_YELLOWFIN=m CONFIG_R8169=m +CONFIG_R8169_NAPI=y CONFIG_SK98LIN=m CONFIG_TIGON3=m @@ -1064,6 +1080,7 @@ CONFIG_SERIO_I8042=y # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_PARKBD is not set CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_RAW=m # # Input Device Drivers @@ -1095,6 +1112,7 @@ CONFIG_I2C_CHARDEV=m # CONFIG_I2C_ALGOBIT=y CONFIG_I2C_ALGOPCF=m +CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support @@ -1119,6 +1137,7 @@ CONFIG_I2C_SIS96X=m CONFIG_I2C_VIA=m CONFIG_I2C_VIAPRO=m CONFIG_I2C_VOODOO3=m +CONFIG_I2C_PCA_ISA=m # # Hardware Sensors Chip support @@ -1140,6 +1159,7 @@ CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83L785TS=m @@ -1262,6 +1282,7 @@ CONFIG_EXPORTFS=m CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_RPCSEC_GSS_SPKM3=m CONFIG_SMB_FS=m # CONFIG_SMB_NLS_DEFAULT is not set CONFIG_CIFS=m @@ -1473,6 +1494,7 @@ CONFIG_SND_VIRMIDI=m CONFIG_SND_AC97_CODEC=m CONFIG_SND_ALI5451=m CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m CONFIG_SND_AU8810=m CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m @@ -1512,6 +1534,7 @@ CONFIG_SND_VX222=m # ALSA USB devices # # CONFIG_SND_USB_AUDIO is not set +CONFIG_SND_USB_USX2Y=m # # ALSA Sparc devices @@ -1531,6 +1554,7 @@ CONFIG_USB=y CONFIG_USB_DEVICEFS=y # CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set # # USB Host Controller Drivers @@ -1596,7 +1620,6 @@ CONFIG_USB_HPUSBSCSI=m # CONFIG_USB_IBMCAM is not set # CONFIG_USB_KONICAWC is not set # CONFIG_USB_OV511 is not set -CONFIG_USB_PWC=m # CONFIG_USB_SE401 is not set CONFIG_USB_SN9C102=m # CONFIG_USB_STV680 is not set @@ -1733,14 +1756,15 @@ CONFIG_OPROFILE=m # Kernel hacking # CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_SLAB is not set CONFIG_MAGIC_SYSRQ=y +# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_DCFLUSH is not set # CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_KPROBES=y +# CONFIG_DEBUG_DCFLUSH is not set # CONFIG_STACK_DEBUG is not set # CONFIG_DEBUG_BOOTMEM is not set CONFIG_HAVE_DEC_LOCK=y @@ -1761,6 +1785,7 @@ CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=m CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_TWOFISH=m diff --git a/arch/sparc64/kernel/auxio.c b/arch/sparc64/kernel/auxio.c index 24ecb1075..11672d2d3 100644 --- a/arch/sparc64/kernel/auxio.c +++ b/arch/sparc64/kernel/auxio.c @@ -17,7 +17,7 @@ #include /* This cannot be static, as it is referenced in entry.S */ -unsigned long auxio_register = 0UL; +void __iomem *auxio_register = 0UL; enum auxio_type { AUXIO_TYPE_NODEV, @@ -30,7 +30,7 @@ static spinlock_t auxio_lock = SPIN_LOCK_UNLOCKED; static void __auxio_sbus_set(u8 bits_on, u8 bits_off) { - if(auxio_register) { + if (auxio_register) { unsigned char regval; unsigned long flags; unsigned char newval; @@ -49,7 +49,7 @@ static void __auxio_sbus_set(u8 bits_on, u8 bits_off) static void __auxio_ebus_set(u8 bits_on, u8 bits_off) { - if(auxio_register) { + if (auxio_register) { unsigned char regval; unsigned long flags; unsigned char newval; @@ -126,7 +126,8 @@ found_sdev: if (sdev) { auxio_devtype = AUXIO_TYPE_SBUS; auxio_register = sbus_ioremap(&sdev->resource[0], 0, - sdev->reg_addrs[0].reg_size, "auxiliaryIO"); + sdev->reg_addrs[0].reg_size, + "auxiliaryIO"); } #ifdef CONFIG_PCI else { @@ -142,7 +143,7 @@ found_sdev: ebus_done: if (edev) { auxio_devtype = AUXIO_TYPE_EBUS; - auxio_register = (unsigned long) + auxio_register = ioremap(edev->resource[0].start, sizeof(u32)); } } diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index 01c8869a7..4a286a800 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S @@ -50,6 +50,7 @@ bootup_user_stack: */ .global root_flags, ram_flags, root_dev .global sparc_ramdisk_image, sparc_ramdisk_size + .global sparc_ramdisk_image64 .ascii "HdrS" .word LINUX_VERSION_CODE @@ -60,7 +61,7 @@ bootup_user_stack: * 0x0202 : Supports kernel params string * 0x0201 : Supports reboot_command */ - .half 0x0300 /* HdrS version */ + .half 0x0301 /* HdrS version */ root_flags: .half 1 @@ -74,6 +75,8 @@ sparc_ramdisk_size: .word 0 .xword reboot_command .xword bootstr_info +sparc_ramdisk_image64: + .xword 0 .word _end /* We must be careful, 32-bit OpenBOOT will get confused if it diff --git a/arch/sparc64/kernel/irq.c b/arch/sparc64/kernel/irq.c index d52b84291..3162b2ed1 100644 --- a/arch/sparc64/kernel/irq.c +++ b/arch/sparc64/kernel/irq.c @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -791,16 +790,24 @@ void handler_irq(int irq, struct pt_regs *regs) #endif if ((flags & IBF_MULTI) == 0) { struct irqaction *ap = bp->irq_info; - ap->handler(__irq(bp), ap->dev_id, regs); - random |= ap->flags & SA_SAMPLE_RANDOM; + int ret; + + ret = ap->handler(__irq(bp), ap->dev_id, regs); + if (ret == IRQ_HANDLED) + random |= ap->flags; } else { void **vector = (void **)bp->irq_info; int ent; for (ent = 0; ent < 4; ent++) { struct irqaction *ap = vector[ent]; if (ap != NULL) { - ap->handler(__irq(bp), ap->dev_id, regs); - random |= ap->flags & SA_SAMPLE_RANDOM; + int ret; + + ret = ap->handler(__irq(bp), + ap->dev_id, + regs); + if (ret == IRQ_HANDLED) + random |= ap->flags; } } } @@ -813,8 +820,9 @@ void handler_irq(int irq, struct pt_regs *regs) } #endif upa_writel(ICLR_IDLE, bp->iclr); + /* Test and add entropy */ - if (random) + if (random & SA_SAMPLE_RANDOM) add_interrupt_randomness(irq); } } else diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 31cc686de..75032d0e2 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c @@ -41,7 +41,6 @@ asmlinkage int sys_pciconfig_write(unsigned long bus, unsigned long dfn, #else /* List of all PCI controllers found in the system. */ -spinlock_t pci_controller_lock = SPIN_LOCK_UNLOCKED; struct pci_controller_info *pci_controller_root = NULL; /* Each PCI controller found gets a unique index. */ @@ -298,12 +297,9 @@ static void __init pci_controller_probe(void) static void __init pci_scan_each_controller_bus(void) { struct pci_controller_info *p; - unsigned long flags; - spin_lock_irqsave(&pci_controller_lock, flags); for (p = pci_controller_root; p; p = p->next) p->scan_bus(p); - spin_unlock_irqrestore(&pci_controller_lock, flags); } /* Reorder the pci_dev chain, so that onboard devices come first @@ -351,10 +347,6 @@ static int __init pcibios_init(void) subsys_initcall(pcibios_init); -struct pci_fixup pcibios_fixups[] = { - { 0 } -}; - void pcibios_fixup_bus(struct pci_bus *pbus) { struct pci_pbm_info *pbm = pbus->sysdata; diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c index dc4d63084..2dacbd780 100644 --- a/arch/sparc64/kernel/pci_psycho.c +++ b/arch/sparc64/kernel/pci_psycho.c @@ -1076,17 +1076,17 @@ static void __init psycho_register_error_handlers(struct pci_controller_info *p) * bits for each PBM. */ tmp = psycho_read(base + PSYCHO_PCIA_CTRL); - tmp |= (PSYCHO_PCICTRL_SBH_ERR | - PSYCHO_PCICTRL_SERR | - PSYCHO_PCICTRL_SBH_INT | + tmp |= (PSYCHO_PCICTRL_SERR | + PSYCHO_PCICTRL_SBH_ERR | PSYCHO_PCICTRL_EEN); + tmp &= ~(PSYCHO_PCICTRL_SBH_INT); psycho_write(base + PSYCHO_PCIA_CTRL, tmp); tmp = psycho_read(base + PSYCHO_PCIB_CTRL); - tmp |= (PSYCHO_PCICTRL_SBH_ERR | - PSYCHO_PCICTRL_SERR | - PSYCHO_PCICTRL_SBH_INT | + tmp |= (PSYCHO_PCICTRL_SERR | + PSYCHO_PCICTRL_SBH_ERR | PSYCHO_PCICTRL_EEN); + tmp &= ~(PSYCHO_PCICTRL_SBH_INT); psycho_write(base + PSYCHO_PCIB_CTRL, tmp); } @@ -1241,6 +1241,14 @@ static void __init psycho_iommu_init(struct pci_controller_info *p) * in pci_iommu.c */ + iommu->dummy_page = __get_free_pages(GFP_KERNEL, 0); + if (!iommu->dummy_page) { + prom_printf("PSYCHO_IOMMU: Error, gfp(dummy_page) failed.\n"); + prom_halt(); + } + memset((void *)iommu->dummy_page, 0, PAGE_SIZE); + iommu->dummy_page_pa = (unsigned long) __pa(iommu->dummy_page); + /* Using assumed page size 8K with 128K entries we need 1MB iommu page * table (128K ioptes * 8 bytes per iopte). This is * page order 7 on UltraSparc. @@ -1254,7 +1262,7 @@ static void __init psycho_iommu_init(struct pci_controller_info *p) iommu->page_table_sz_bits = 17; iommu->page_table_map_base = 0xc0000000; iommu->dma_addr_mask = 0xffffffff; - memset((char *)tsbbase, 0, IO_TSB_SIZE); + pci_iommu_table_init(iommu, IO_TSB_SIZE); /* We start with no consistent mappings. */ iommu->lowest_consistent_map = @@ -1479,22 +1487,18 @@ void __init psycho_init(int node, char *model_name) struct linux_prom64_registers pr_regs[3]; struct pci_controller_info *p; struct pci_iommu *iommu; - unsigned long flags; u32 upa_portid; int is_pbm_a, err; upa_portid = prom_getintdefault(node, "upa-portid", 0xff); - spin_lock_irqsave(&pci_controller_lock, flags); for(p = pci_controller_root; p; p = p->next) { if (p->pbm_A.portid == upa_portid) { - spin_unlock_irqrestore(&pci_controller_lock, flags); is_pbm_a = (p->pbm_A.prom_node == 0); psycho_pbm_init(p, node, is_pbm_a); return; } } - spin_unlock_irqrestore(&pci_controller_lock, flags); p = kmalloc(sizeof(struct pci_controller_info), GFP_ATOMIC); if (!p) { @@ -1510,10 +1514,8 @@ void __init psycho_init(int node, char *model_name) memset(iommu, 0, sizeof(*iommu)); p->pbm_A.iommu = p->pbm_B.iommu = iommu; - spin_lock_irqsave(&pci_controller_lock, flags); p->next = pci_controller_root; pci_controller_root = p; - spin_unlock_irqrestore(&pci_controller_lock, flags); p->pbm_A.portid = upa_portid; p->pbm_B.portid = upa_portid; diff --git a/arch/sparc64/kernel/pci_schizo.c b/arch/sparc64/kernel/pci_schizo.c index be6fa906a..f72da320b 100644 --- a/arch/sparc64/kernel/pci_schizo.c +++ b/arch/sparc64/kernel/pci_schizo.c @@ -1171,7 +1171,7 @@ static void __init tomatillo_register_error_handlers(struct pci_controller_info prom_halt(); } bucket = __bucket(irq); - tmp = readl(bucket->imap); + tmp = upa_readl(bucket->imap); upa_writel(tmp, (pbm->pbm_regs + schizo_imap_offset(SCHIZO_UE_INO) + 4)); @@ -1309,7 +1309,7 @@ static void __init schizo_register_error_handlers(struct pci_controller_info *p) prom_halt(); } bucket = __bucket(irq); - tmp = readl(bucket->imap); + tmp = upa_readl(bucket->imap); upa_writel(tmp, (pbm->pbm_regs + schizo_imap_offset(SCHIZO_UE_INO) + 4)); pbm = pbm_for_ino(p, SCHIZO_CE_INO); @@ -1372,10 +1372,10 @@ static void __init schizo_register_error_handlers(struct pci_controller_info *p) SCHIZO_PCICTRL_RTRY_ERR | SCHIZO_PCICTRL_SBH_ERR | SCHIZO_PCICTRL_SERR | - SCHIZO_PCICTRL_SBH_INT | SCHIZO_PCICTRL_EEN); - err_no_mask = SCHIZO_PCICTRL_DTO_ERR; + err_no_mask = (SCHIZO_PCICTRL_DTO_ERR | + SCHIZO_PCICTRL_SBH_INT); /* Enable PCI Error interrupts and clear error * bits for each PBM. @@ -1766,6 +1766,14 @@ static void schizo_pbm_iommu_init(struct pci_pbm_info *pbm) * in pci_iommu.c */ + iommu->dummy_page = __get_free_pages(GFP_KERNEL, 0); + if (!iommu->dummy_page) { + prom_printf("PSYCHO_IOMMU: Error, gfp(dummy_page) failed.\n"); + prom_halt(); + } + memset((void *)iommu->dummy_page, 0, PAGE_SIZE); + iommu->dummy_page_pa = (unsigned long) __pa(iommu->dummy_page); + /* Using assumed page size 8K with 128K entries we need 1MB iommu page * table (128K ioptes * 8 bytes per iopte). This is * page order 7 on UltraSparc. @@ -1780,7 +1788,7 @@ static void schizo_pbm_iommu_init(struct pci_pbm_info *pbm) iommu->page_table = (iopte_t *)tsbbase; iommu->page_table_map_base = vdma[0]; iommu->dma_addr_mask = dma_mask; - memset((char *)tsbbase, 0, PAGE_SIZE << order); + pci_iommu_table_init(iommu, PAGE_SIZE << order); switch (tsbsize) { case 64: @@ -2073,13 +2081,11 @@ static void __init __schizo_init(int node, char *model_name, int chip_type) { struct pci_controller_info *p; struct pci_iommu *iommu; - unsigned long flags; int is_pbm_a; u32 portid; portid = prom_getintdefault(node, "portid", 0xff); - spin_lock_irqsave(&pci_controller_lock, flags); for(p = pci_controller_root; p; p = p->next) { struct pci_pbm_info *pbm; @@ -2091,13 +2097,11 @@ static void __init __schizo_init(int node, char *model_name, int chip_type) &p->pbm_B); if (portid_compare(pbm->portid, portid, chip_type)) { - spin_unlock_irqrestore(&pci_controller_lock, flags); is_pbm_a = (p->pbm_A.prom_node == 0); schizo_pbm_init(p, node, portid, chip_type); return; } } - spin_unlock_irqrestore(&pci_controller_lock, flags); p = kmalloc(sizeof(struct pci_controller_info), GFP_ATOMIC); if (!p) { @@ -2122,10 +2126,8 @@ static void __init __schizo_init(int node, char *model_name, int chip_type) memset(iommu, 0, sizeof(*iommu)); p->pbm_B.iommu = iommu; - spin_lock_irqsave(&pci_controller_lock, flags); p->next = pci_controller_root; pci_controller_root = p; - spin_unlock_irqrestore(&pci_controller_lock, flags); p->index = pci_num_controllers++; p->pbms_same_domain = 0; diff --git a/arch/sparc64/kernel/power.c b/arch/sparc64/kernel/power.c index 006a562dc..52f14e399 100644 --- a/arch/sparc64/kernel/power.c +++ b/arch/sparc64/kernel/power.c @@ -27,7 +27,7 @@ int scons_pwroff = 1; #ifdef CONFIG_PCI -static unsigned long power_reg = 0UL; +static void __iomem *power_reg; static DECLARE_WAIT_QUEUE_HEAD(powerd_wait); static int button_pressed; @@ -52,7 +52,7 @@ void machine_power_off(void) { if (!serial_console || scons_pwroff) { #ifdef CONFIG_PCI - if (power_reg != 0UL) { + if (power_reg) { /* Both register bits seem to have the * same effect, so until I figure out * what the difference is... @@ -130,8 +130,8 @@ void __init power_init(void) return; found: - power_reg = (unsigned long)ioremap(edev->resource[0].start, 0x4); - printk("power: Control reg at %016lx ... ", power_reg); + power_reg = ioremap(edev->resource[0].start, 0x4); + printk("power: Control reg at %p ... ", power_reg); poweroff_method = machine_halt; /* able to use the standard halt */ if (has_button_interrupt(edev)) { if (kernel_thread(powerd, NULL, CLONE_FS) < 0) { @@ -141,8 +141,7 @@ found: printk("powerd running.\n"); if (request_irq(edev->irqs[0], - power_handler, SA_SHIRQ, "power", - (void *) power_reg) < 0) + power_handler, SA_SHIRQ, "power", NULL) < 0) printk("power: Error, cannot register IRQ handler.\n"); } else { printk("not using powerd.\n"); diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 145ce7c73..f3e3c657e 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c @@ -588,8 +588,6 @@ asmlinkage long sparc_do_fork(unsigned long clone_flags, { int __user *parent_tid_ptr, *child_tid_ptr; - clone_flags &= ~CLONE_IDLETASK; - #ifdef CONFIG_COMPAT if (test_thread_flag(TIF_32BIT)) { parent_tid_ptr = compat_ptr(regs->u_regs[UREG_I2]); diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c index 8e5e09832..11cb11152 100644 --- a/arch/sparc64/kernel/ptrace.c +++ b/arch/sparc64/kernel/ptrace.c @@ -563,7 +563,7 @@ asmlinkage void do_ptrace(struct pt_regs *regs) * exit. */ case PTRACE_KILL: { - if (child->state == TASK_ZOMBIE) { /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) { /* already dead */ pt_succ_return(regs, 0); goto out_tsk; } @@ -631,11 +631,8 @@ asmlinkage void syscall_trace(void) return; if (!(current->ptrace & PT_PTRACED)) return; - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c index 438e373ce..51e762bcd 100644 --- a/arch/sparc64/kernel/setup.c +++ b/arch/sparc64/kernel/setup.c @@ -43,7 +43,6 @@ #include #include #include -#include #include #include #include diff --git a/arch/sparc64/kernel/signal.c b/arch/sparc64/kernel/signal.c index ba3fcb4b2..d81bfab51 100644 --- a/arch/sparc64/kernel/signal.c +++ b/arch/sparc64/kernel/signal.c @@ -84,8 +84,8 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs) regs->tnpc = npc; err |= __get_user(regs->y, &((*grp)[MC_Y])); err |= __get_user(tstate, &((*grp)[MC_TSTATE])); - regs->tstate &= ~(TSTATE_ICC | TSTATE_XCC); - regs->tstate |= (tstate & (TSTATE_ICC | TSTATE_XCC)); + regs->tstate &= ~(TSTATE_ASI | TSTATE_ICC | TSTATE_XCC); + regs->tstate |= (tstate & (TSTATE_ASI | TSTATE_ICC | TSTATE_XCC)); err |= __get_user(regs->u_regs[UREG_G1], (&(*grp)[MC_G1])); err |= __get_user(regs->u_regs[UREG_G2], (&(*grp)[MC_G2])); err |= __get_user(regs->u_regs[UREG_G3], (&(*grp)[MC_G3])); @@ -135,7 +135,7 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs) return; do_sigsegv: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } asmlinkage void sparc64_get_context(struct pt_regs *regs) @@ -226,7 +226,7 @@ asmlinkage void sparc64_get_context(struct pt_regs *regs) return; do_sigsegv: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } struct rt_signal_frame { @@ -408,9 +408,9 @@ void do_rt_sigreturn(struct pt_regs *regs) err |= __get_user(tstate, &sf->regs.tstate); err |= copy_from_user(regs->u_regs, sf->regs.u_regs, sizeof(regs->u_regs)); - /* User can only change condition codes in %tstate. */ - regs->tstate &= ~(TSTATE_ICC | TSTATE_XCC); - regs->tstate |= (tstate & (TSTATE_ICC | TSTATE_XCC)); + /* User can only change condition codes and %asi in %tstate. */ + regs->tstate &= ~(TSTATE_ASI | TSTATE_ICC | TSTATE_XCC); + regs->tstate |= (tstate & (TSTATE_ASI | TSTATE_ICC | TSTATE_XCC)); err |= __get_user(fpu_save, &sf->fpu_save); if (fpu_save) @@ -439,7 +439,7 @@ void do_rt_sigreturn(struct pt_regs *regs) spin_unlock_irq(¤t->sighand->siglock); return; segv: - send_sig(SIGSEGV, current, 1); + force_sig(SIGSEGV, current); } /* Checks if the fp is valid */ @@ -545,6 +545,12 @@ setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, regs->u_regs[UREG_I0] = signo; regs->u_regs[UREG_I1] = (unsigned long) &sf->info; + /* The sigcontext is passed in this way because of how it + * is defined in GLIBC's /usr/include/bits/sigcontext.h + * for sparc64. It includes the 128 bytes of siginfo_t. + */ + regs->u_regs[UREG_I2] = (unsigned long) &sf->info; + /* 5. signal handler */ regs->tpc = (unsigned long) ka->sa.sa_handler; regs->tnpc = (regs->tpc + 4); @@ -559,7 +565,7 @@ setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, sigill: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signo, current); } static inline void handle_signal(unsigned long signr, struct k_sigaction *ka, @@ -568,8 +574,6 @@ static inline void handle_signal(unsigned long signr, struct k_sigaction *ka, { setup_rt_frame(ka, regs, signr, oldset, (ka->sa.sa_flags & SA_SIGINFO) ? info : NULL); - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; if (!(ka->sa.sa_flags & SA_NOMASK)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -609,6 +613,7 @@ static int do_signal(sigset_t *oldset, struct pt_regs * regs, { siginfo_t info; struct signal_deliver_cookie cookie; + struct k_sigaction ka; int signr; cookie.restart_syscall = restart_syscall; @@ -626,15 +631,11 @@ static int do_signal(sigset_t *oldset, struct pt_regs * regs, } #endif - signr = get_signal_to_deliver(&info, regs, &cookie); + signr = get_signal_to_deliver(&info, &ka, regs, &cookie); if (signr > 0) { - struct k_sigaction *ka; - - ka = ¤t->sighand->action[signr-1]; - if (cookie.restart_syscall) - syscall_restart(orig_i0, regs, &ka->sa); - handle_signal(signr, ka, &info, oldset, regs); + syscall_restart(orig_i0, regs, &ka.sa); + handle_signal(signr, &ka, &info, oldset, regs); return 1; } if (cookie.restart_syscall && diff --git a/arch/sparc64/kernel/signal32.c b/arch/sparc64/kernel/signal32.c index a9a5b31a3..63d9cec39 100644 --- a/arch/sparc64/kernel/signal32.c +++ b/arch/sparc64/kernel/signal32.c @@ -59,6 +59,16 @@ struct signal_sframe32 { unsigned int extramask[_COMPAT_NSIG_WORDS - 1]; }; +/* This magic should be in g_upper[0] for all upper parts + * to be valid. + */ +#define SIGINFO_EXTRA_V8PLUS_MAGIC 0x130e269 +typedef struct { + unsigned int g_upper[8]; + unsigned int o_upper[8]; + unsigned int asi; +} siginfo_extra_v8plus_t; + /* * And the new one, intended to be used for Linux applications only * (we have enough in there to work with clone). @@ -76,9 +86,61 @@ struct new_signal_frame32 { __siginfo_fpu_t fpu_state; }; +struct siginfo32 { + int si_signo; + int si_errno; + int si_code; + + union { + int _pad[SI_PAD_SIZE32]; + + /* kill() */ + struct { + compat_pid_t _pid; /* sender's pid */ + unsigned int _uid; /* sender's uid */ + } _kill; + + /* POSIX.1b timers */ + struct { + timer_t _tid; /* timer id */ + int _overrun; /* overrun count */ + sigval_t32 _sigval; /* same as below */ + int _sys_private; /* not to be passed to user */ + } _timer; + + /* POSIX.1b signals */ + struct { + compat_pid_t _pid; /* sender's pid */ + unsigned int _uid; /* sender's uid */ + sigval_t32 _sigval; + } _rt; + + /* SIGCHLD */ + struct { + compat_pid_t _pid; /* which child */ + unsigned int _uid; /* sender's uid */ + int _status; /* exit code */ + compat_clock_t _utime; + compat_clock_t _stime; + } _sigchld; + + /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGEMT */ + struct { + u32 _addr; /* faulting insn/memory ref. */ + int _trapno; + } _sigfault; + + /* SIGPOLL */ + struct { + int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ + int _fd; + } _sigpoll; + } _sifields; +}; + struct rt_signal_frame32 { struct sparc_stackf32 ss; - siginfo_t32 info; + struct siginfo32 info; struct pt_regs32 regs; compat_sigset_t mask; /* __siginfo_fpu32_t * */ u32 fpu_save; @@ -95,11 +157,11 @@ struct rt_signal_frame32 { #define NF_ALIGNEDSZ (((sizeof(struct new_signal_frame32) + 7) & (~7))) #define RT_ALIGNEDSZ (((sizeof(struct rt_signal_frame32) + 7) & (~7))) -int copy_siginfo_to_user32(siginfo_t32 __user *to, siginfo_t *from) +int copy_siginfo_to_user32(struct siginfo32 __user *to, siginfo_t *from) { int err; - if (!access_ok(VERIFY_WRITE, to, sizeof(siginfo_t32))) + if (!access_ok(VERIFY_WRITE, to, sizeof(struct siginfo32))) return -EFAULT; /* If you change siginfo_t structure, please be sure @@ -119,7 +181,7 @@ int copy_siginfo_to_user32(siginfo_t32 __user *to, siginfo_t *from) case __SI_TIMER >> 16: err |= __put_user(from->si_tid, &to->si_tid); err |= __put_user(from->si_overrun, &to->si_overrun); - err |= __put_user((u32)(u64)from->si_ptr, &to->si_ptr); + err |= __put_user(from->si_int, &to->si_int); break; case __SI_CHLD >> 16: err |= __put_user(from->si_utime, &to->si_utime); @@ -145,6 +207,22 @@ int copy_siginfo_to_user32(siginfo_t32 __user *to, siginfo_t *from) return err; } +/* CAUTION: This is just a very minimalist implementation for the + * sake of compat_sys_rt_sigqueueinfo() + */ +int copy_siginfo_to_kernel32(siginfo_t *to, struct siginfo32 __user *from) +{ + if (!access_ok(VERIFY_WRITE, from, sizeof(struct siginfo32))) + return -EFAULT; + + if (copy_from_user(to, from, 3*sizeof(int)) || + copy_from_user(to->_sifields._pad, from->_sifields._pad, + SI_PAD_SIZE)) + return -EFAULT; + + return 0; +} + /* * atomically swap in the new signal mask, and wait for a signal. * This is really tricky on the Sparc, watch out... @@ -299,8 +377,13 @@ void do_new_sigreturn32(struct pt_regs *regs) if ((psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS) { err |= __get_user(i, &sf->v8plus.g_upper[0]); if (i == SIGINFO_EXTRA_V8PLUS_MAGIC) { + unsigned long asi; + for (i = UREG_G1; i <= UREG_I7; i++) err |= __get_user(((u32 *)regs->u_regs)[2*i], &sf->v8plus.g_upper[i]); + err |= __get_user(asi, &sf->v8plus.asi); + regs->tstate &= ~TSTATE_ASI; + regs->tstate |= ((asi & 0xffUL) << 24UL); } } @@ -330,7 +413,7 @@ void do_new_sigreturn32(struct pt_regs *regs) return; segv: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } asmlinkage void do_sigreturn32(struct pt_regs *regs) @@ -400,7 +483,7 @@ asmlinkage void do_sigreturn32(struct pt_regs *regs) return; segv: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } asmlinkage void do_rt_sigreturn32(struct pt_regs *regs) @@ -447,8 +530,13 @@ asmlinkage void do_rt_sigreturn32(struct pt_regs *regs) if ((psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS) { err |= __get_user(i, &sf->v8plus.g_upper[0]); if (i == SIGINFO_EXTRA_V8PLUS_MAGIC) { + unsigned long asi; + for (i = UREG_G1; i <= UREG_I7; i++) err |= __get_user(((u32 *)regs->u_regs)[2*i], &sf->v8plus.g_upper[i]); + err |= __get_user(asi, &sf->v8plus.asi); + regs->tstate &= ~TSTATE_ASI; + regs->tstate |= ((asi & 0xffUL) << 24UL); } } @@ -487,7 +575,7 @@ asmlinkage void do_rt_sigreturn32(struct pt_regs *regs) spin_unlock_irq(¤t->sighand->siglock); return; segv: - do_exit(SIGSEGV); + force_sig(SIGSEGV, current); } /* Checks if the fp is valid */ @@ -648,7 +736,7 @@ setup_frame32(struct sigaction *sa, struct pt_regs *regs, int signr, sigset_t *o return; sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signr, current); } @@ -715,7 +803,10 @@ static void new_setup_frame32(struct k_sigaction *ka, struct pt_regs *regs, err |= __put_user(sizeof(siginfo_extra_v8plus_t), &sf->extra_size); err |= __put_user(SIGINFO_EXTRA_V8PLUS_MAGIC, &sf->v8plus.g_upper[0]); for (i = 1; i < 16; i++) - err |= __put_user(((u32 *)regs->u_regs)[2*i], &sf->v8plus.g_upper[i]); + err |= __put_user(((u32 *)regs->u_regs)[2*i], + &sf->v8plus.g_upper[i]); + err |= __put_user((regs->tstate & TSTATE_ASI) >> 24UL, + &sf->v8plus.asi); if (psr & PSR_EF) { err |= save_fpu_state32(regs, &sf->fpu_state); @@ -749,6 +840,7 @@ static void new_setup_frame32(struct k_sigaction *ka, struct pt_regs *regs, regs->u_regs[UREG_FP] = (unsigned long) sf; regs->u_regs[UREG_I0] = signo; regs->u_regs[UREG_I1] = (unsigned long) &sf->info; + regs->u_regs[UREG_I2] = (unsigned long) &sf->info; /* 4. signal handler */ regs->tpc = (unsigned long) ka->sa.sa_handler; @@ -795,7 +887,7 @@ static void new_setup_frame32(struct k_sigaction *ka, struct pt_regs *regs, sigill: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signo, current); } /* Setup a Solaris stack frame */ @@ -919,7 +1011,7 @@ setup_svr4_frame32(struct sigaction *sa, unsigned long pc, unsigned long npc, return; sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signr, current); } asmlinkage int @@ -1070,7 +1162,7 @@ asmlinkage int svr4_setcontext(svr4_ucontext_t __user *c, struct pt_regs *regs) return -EINTR; sigsegv: - do_exit(SIGSEGV); + return -EFAULT; } static void setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs, @@ -1119,6 +1211,8 @@ static void setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs, for (i = 1; i < 16; i++) err |= __put_user(((u32 *)regs->u_regs)[2*i], &sf->v8plus.g_upper[i]); + err |= __put_user((regs->tstate & TSTATE_ASI) >> 24UL, + &sf->v8plus.asi); if (psr & PSR_EF) { err |= save_fpu_state32(regs, &sf->fpu_state); @@ -1157,6 +1251,7 @@ static void setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs, regs->u_regs[UREG_FP] = (unsigned long) sf; regs->u_regs[UREG_I0] = signr; regs->u_regs[UREG_I1] = (unsigned long) &sf->info; + regs->u_regs[UREG_I2] = (unsigned long) &sf->regs; /* 4. signal handler */ regs->tpc = (unsigned long) ka->sa.sa_handler; @@ -1206,7 +1301,7 @@ static void setup_rt_frame32(struct k_sigaction *ka, struct pt_regs *regs, sigill: do_exit(SIGILL); sigsegv: - do_exit(SIGSEGV); + force_sigsegv(signr, current); } static inline void handle_signal32(unsigned long signr, struct k_sigaction *ka, @@ -1225,8 +1320,6 @@ static inline void handle_signal32(unsigned long signr, struct k_sigaction *ka, else setup_frame32(&ka->sa, regs, signr, oldset, info); } - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; if (!(ka->sa.sa_flags & SA_NOMASK)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -1266,21 +1359,19 @@ int do_signal32(sigset_t *oldset, struct pt_regs * regs, { siginfo_t info; struct signal_deliver_cookie cookie; + struct k_sigaction ka; int signr; int svr4_signal = current->personality == PER_SVR4; cookie.restart_syscall = restart_syscall; cookie.orig_i0 = orig_i0; - signr = get_signal_to_deliver(&info, regs, &cookie); + signr = get_signal_to_deliver(&info, &ka, regs, &cookie); if (signr > 0) { - struct k_sigaction *ka; - - ka = ¤t->sighand->action[signr-1]; - if (cookie.restart_syscall) - syscall_restart32(orig_i0, regs, &ka->sa); - handle_signal32(signr, ka, &info, oldset, regs, svr4_signal); + syscall_restart32(orig_i0, regs, &ka.sa); + handle_signal32(signr, &ka, &info, oldset, + regs, svr4_signal); return 1; } if (cookie.restart_syscall && diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index abc65dc6d..f2bbaafd8 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -31,7 +32,6 @@ #include #include #include -#include #include #include #include @@ -303,14 +303,7 @@ static int __devinit smp_boot_one_cpu(unsigned int cpu) struct task_struct *p; int timeout, ret, cpu_node; - kernel_thread(NULL, NULL, CLONE_IDLETASK); - - p = prev_task(&init_task); - - init_idle(p, cpu); - - unhash_process(p); - + p = fork_idle(cpu); callin_flag = 0; cpu_new_thread = p->thread_info; cpu_set(cpu, cpu_callout_map); @@ -981,8 +974,6 @@ void smp_promstop_others(void) smp_cross_call(&xcall_promstop, 0, 0, 0); } -extern void sparc64_do_profile(struct pt_regs *regs); - #define prof_multiplier(__cpu) cpu_data(__cpu).multiplier #define prof_counter(__cpu) cpu_data(__cpu).counter @@ -1008,7 +999,7 @@ void smp_percpu_timer_interrupt(struct pt_regs *regs) } do { - sparc64_do_profile(regs); + profile_tick(CPU_PROFILING, regs); if (!--prof_counter(cpu)) { irq_enter(); diff --git a/arch/sparc64/kernel/sparc64_ksyms.c b/arch/sparc64/kernel/sparc64_ksyms.c index 5eafadd28..3864b4b6e 100644 --- a/arch/sparc64/kernel/sparc64_ksyms.c +++ b/arch/sparc64/kernel/sparc64_ksyms.c @@ -34,7 +34,6 @@ #include #include #include -#include #include #include #include @@ -74,8 +73,6 @@ extern void *__bzero(void *, size_t); extern void *__memscan_zero(void *, size_t); extern void *__memscan_generic(void *, int, size_t); extern int __memcmp(const void *, const void *, __kernel_size_t); -extern int __strncmp(const char *, const char *, __kernel_size_t); -extern __kernel_size_t __strlen(const char *); extern __kernel_size_t strlen(const char *); extern void linux_sparc_syscall(void); extern void rtrap(void); @@ -144,7 +141,7 @@ EXPORT_SYMBOL(synchronize_irq); #if defined(CONFIG_MCOUNT) extern void _mcount(void); -EXPORT_SYMBOL_NOVERS(_mcount); +EXPORT_SYMBOL(_mcount); #endif /* CPU online map and active count. */ @@ -187,8 +184,6 @@ EXPORT_SYMBOL(atomic_dec_and_lock); EXPORT_SYMBOL(___test_and_set_bit); EXPORT_SYMBOL(___test_and_clear_bit); EXPORT_SYMBOL(___test_and_change_bit); -EXPORT_SYMBOL(___test_and_set_le_bit); -EXPORT_SYMBOL(___test_and_clear_le_bit); /* Bit searching */ EXPORT_SYMBOL(find_next_bit); @@ -295,7 +290,6 @@ EXPORT_SYMBOL(__prom_getchild); EXPORT_SYMBOL(__prom_getsibling); /* sparc library symbols */ -EXPORT_SYMBOL(__strlen); EXPORT_SYMBOL(strlen); EXPORT_SYMBOL(strnlen); EXPORT_SYMBOL(__strlen_user); @@ -334,7 +328,6 @@ EXPORT_SYMBOL(sys_close); #endif /* Special internal versions of library functions. */ -EXPORT_SYMBOL(__memset); EXPORT_SYMBOL(_clear_page); EXPORT_SYMBOL(clear_user_page); EXPORT_SYMBOL(copy_user_page); @@ -342,8 +335,7 @@ EXPORT_SYMBOL(__bzero); EXPORT_SYMBOL(__memscan_zero); EXPORT_SYMBOL(__memscan_generic); EXPORT_SYMBOL(__memcmp); -EXPORT_SYMBOL(__strncmp); -EXPORT_SYMBOL(__memmove); +EXPORT_SYMBOL(__memset); EXPORT_SYMBOL(memchr); EXPORT_SYMBOL(csum_partial); @@ -351,9 +343,12 @@ EXPORT_SYMBOL(csum_partial_copy_sparc64); EXPORT_SYMBOL(ip_fast_csum); /* Moving data to/from/in userspace. */ -EXPORT_SYMBOL(__copy_to_user); -EXPORT_SYMBOL(__copy_from_user); -EXPORT_SYMBOL(__copy_in_user); +EXPORT_SYMBOL(___copy_to_user); +EXPORT_SYMBOL(___copy_from_user); +EXPORT_SYMBOL(___copy_in_user); +EXPORT_SYMBOL(copy_to_user_fixup); +EXPORT_SYMBOL(copy_from_user_fixup); +EXPORT_SYMBOL(copy_in_user_fixup); EXPORT_SYMBOL(__strncpy_from_user); EXPORT_SYMBOL(__bzero_noasi); @@ -367,17 +362,24 @@ EXPORT_SYMBOL(pfn_to_page); /* No version information on this, heavily used in inline asm, * and will always be 'void __ret_efault(void)'. */ -EXPORT_SYMBOL_NOVERS(__ret_efault); +EXPORT_SYMBOL(__ret_efault); /* No version information on these, as gcc produces such symbols. */ -EXPORT_SYMBOL_NOVERS(memcmp); -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(memmove); +EXPORT_SYMBOL(memcmp); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(memmove); +EXPORT_SYMBOL(strncmp); + +/* Delay routines. */ +EXPORT_SYMBOL(__udelay); +EXPORT_SYMBOL(__ndelay); +EXPORT_SYMBOL(__const_udelay); +EXPORT_SYMBOL(__delay); void VISenter(void); /* RAID code needs this */ -EXPORT_SYMBOL_NOVERS(VISenter); +EXPORT_SYMBOL(VISenter); /* for input/keybdev */ EXPORT_SYMBOL(sun_do_break); diff --git a/arch/sparc64/kernel/sys32.S b/arch/sparc64/kernel/sys32.S index 7a5d4f4e5..f978c13f5 100644 --- a/arch/sparc64/kernel/sys32.S +++ b/arch/sparc64/kernel/sys32.S @@ -120,7 +120,7 @@ SIGN1(sys32_setgroups, sys_setgroups, %o0) SIGN2(sys32_setpgid, sys_setpgid, %o0, %o1) SIGN3(sys32_setpriority, sys_setpriority, %o0, %o1, %o2) SIGN1(sys32_ssetmask, sys_ssetmask, %o0) -SIGN2(sys32_syslog, sys_syslog, %o0, %o1) +SIGN2(sys32_syslog, sys_syslog, %o0, %o2) SIGN1(sys32_umask, sys_umask, %o0) SIGN3(sys32_tgkill, sys_tgkill, %o0, %o1, %o2) SIGN1(sys32_sendto, sys_sendto, %o0) diff --git a/arch/sparc64/kernel/sys_sparc32.c b/arch/sparc64/kernel/sys_sparc32.c index 56e277383..b81f15521 100644 --- a/arch/sparc64/kernel/sys_sparc32.c +++ b/arch/sparc64/kernel/sys_sparc32.c @@ -1045,7 +1045,7 @@ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set, } asmlinkage long sys32_rt_sigtimedwait(compat_sigset_t __user *uthese, - siginfo_t32 __user *uinfo, + struct siginfo32 __user *uinfo, struct compat_timespec __user *uts, compat_size_t sigsetsize) { @@ -1130,15 +1130,15 @@ asmlinkage long sys32_rt_sigtimedwait(compat_sigset_t __user *uthese, } asmlinkage long compat_sys_rt_sigqueueinfo(int pid, int sig, - siginfo_t32 __user *uinfo) + struct siginfo32 __user *uinfo) { siginfo_t info; int ret; mm_segment_t old_fs = get_fs(); - if (copy_from_user (&info, uinfo, 3*sizeof(int)) || - copy_from_user (info._sifields._pad, uinfo->_sifields._pad, SI_PAD_SIZE)) + if (copy_siginfo_to_kernel32(&info, uinfo)) return -EFAULT; + set_fs (KERNEL_DS); ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *) &info); set_fs (old_fs); @@ -1736,3 +1736,33 @@ sys32_timer_create(u32 clock, struct sigevent32 __user *se32, return err; } +asmlinkage long compat_sys_waitid(u32 which, u32 pid, + struct siginfo32 __user *uinfo, u32 options, + struct compat_rusage __user *uru) +{ + siginfo_t info; + struct rusage ru; + long ret; + mm_segment_t old_fs = get_fs(); + + memset(&info, 0, sizeof(info)); + + set_fs (KERNEL_DS); + ret = sys_waitid(which, pid, (siginfo_t __user *) &info, + options, + uru ? (struct rusage __user *) &ru : NULL); + set_fs (old_fs); + + if (ret < 0 || info.si_signo == 0) + return ret; + + if (uru) { + ret = put_compat_rusage(&ru, uru); + if (ret) + return ret; + } + + BUG_ON(info.si_code & __SI_MASK); + info.si_code |= __SI_CHLD; + return copy_siginfo_to_user32(uinfo, &info); +} diff --git a/arch/sparc64/kernel/systbls.S b/arch/sparc64/kernel/systbls.S index 4aee27656..1c6807c78 100644 --- a/arch/sparc64/kernel/systbls.S +++ b/arch/sparc64/kernel/systbls.S @@ -75,7 +75,7 @@ sys_call_table32: /*260*/ .word compat_sys_sched_getaffinity, compat_sys_sched_setaffinity, sys32_timer_settime, compat_timer_gettime, sys_timer_getoverrun .word sys_timer_delete, sys32_timer_create, sys_vserver, compat_sys_io_setup, sys_io_destroy /*270*/ .word sys32_io_submit, sys_io_cancel, compat_sys_io_getevents, sys32_mq_open, sys_mq_unlink - .word sys_mq_timedsend, sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, sys_ni_syscall + .word sys_mq_timedsend, sys_mq_timedreceive, compat_sys_mq_notify, compat_sys_mq_getsetattr, compat_sys_waitid /*280*/ .word sys_ni_syscall, sys_ni_syscall, sys_ni_syscall #endif /* CONFIG_COMPAT */ @@ -141,7 +141,7 @@ sys_call_table: /*260*/ .word sys_sched_getaffinity, sys_sched_setaffinity, sys_timer_settime, sys_timer_gettime, sys_timer_getoverrun .word sys_timer_delete, sys_timer_create, sys_vserver, sys_io_setup, sys_io_destroy /*270*/ .word sys_io_submit, sys_io_cancel, sys_io_getevents, sys_mq_open, sys_mq_unlink - .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_ni_syscall + .word sys_mq_timedsend, sys_mq_timedreceive, sys_mq_notify, sys_mq_getsetattr, sys_waitid /*280*/ .word sys_ni_syscall, sys_ni_syscall, sys_ni_syscall #if defined(CONFIG_SUNOS_EMUL) || defined(CONFIG_SOLARIS_EMUL) || \ diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c index f961a0d3b..0374c33d4 100644 --- a/arch/sparc64/kernel/time.c +++ b/arch/sparc64/kernel/time.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -67,6 +68,18 @@ struct sparc64_tick_ops *tick_ops; #define TICK_PRIV_BIT (1UL << 63) +#ifdef CONFIG_SMP +unsigned long profile_pc(struct pt_regs *regs) +{ + unsigned long pc = instruction_pointer(regs); + + if (in_lock_functions(pc)) + return regs->u_regs[UREG_RETPC]; + return pc; +} +EXPORT_SYMBOL(profile_pc); +#endif + static void tick_disable_protection(void) { /* Set things up so user can access tick register for profiling @@ -418,7 +431,6 @@ static struct sparc64_tick_ops hbtick_operations = { unsigned long timer_tick_offset; unsigned long timer_tick_compare; -static unsigned long timer_ticks_per_usec_quotient; static unsigned long timer_ticks_per_nsec_quotient; #define TICK_SIZE (tick_nsec / 1000) @@ -441,28 +453,6 @@ static inline void timer_check_rtc(void) } } -void sparc64_do_profile(struct pt_regs *regs) -{ - unsigned long pc; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; - - pc = regs->tpc; - - pc -= (unsigned long) _stext; - pc >>= prof_shift; - - if(pc >= prof_len) - pc = prof_len - 1; - atomic_inc((atomic_t *)&prof_buffer[pc]); -} - static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs * regs) { unsigned long ticks, pstate; @@ -471,7 +461,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs * regs) do { #ifndef CONFIG_SMP - sparc64_do_profile(regs); + profile_tick(CPU_PROFILING, regs); #endif do_timer(regs); @@ -920,10 +910,10 @@ try_isa_clock: } /* This is gets the master TICK_INT timer going. */ -static unsigned long sparc64_init_timers(irqreturn_t (*cfunc)(int, void *, struct pt_regs *)) +static unsigned long sparc64_init_timers(void) { - unsigned long pstate, clock; - int node, err; + unsigned long clock; + int node; #ifdef CONFIG_SMP extern void smp_tick_init(void); #endif @@ -956,6 +946,14 @@ static unsigned long sparc64_init_timers(irqreturn_t (*cfunc)(int, void *, struc smp_tick_init(); #endif + return clock; +} + +static void sparc64_start_timers(irqreturn_t (*cfunc)(int, void *, struct pt_regs *)) +{ + unsigned long pstate; + int err; + /* Register IRQ handler. */ err = request_irq(build_irq(0, 0, 0UL, 0UL), cfunc, SA_STATIC_ALLOC, "timer", NULL); @@ -981,8 +979,6 @@ static unsigned long sparc64_init_timers(irqreturn_t (*cfunc)(int, void *, struc : "r" (pstate)); local_irq_enable(); - - return clock; } struct freq_table { @@ -1034,18 +1030,28 @@ static int sparc64_cpufreq_notifier(struct notifier_block *nb, unsigned long val static struct notifier_block sparc64_cpufreq_notifier_block = { .notifier_call = sparc64_cpufreq_notifier }; -#endif + +#endif /* CONFIG_CPU_FREQ */ + +static struct time_interpolator sparc64_cpu_interpolator = { + .source = TIME_SOURCE_CPU, + .shift = 16, + .mask = 0xffffffffffffffffLL +}; /* The quotient formula is taken from the IA64 port. */ -#define SPARC64_USEC_PER_CYC_SHIFT 30UL #define SPARC64_NSEC_PER_CYC_SHIFT 30UL void __init time_init(void) { - unsigned long clock = sparc64_init_timers(timer_interrupt); + unsigned long clock = sparc64_init_timers(); - timer_ticks_per_usec_quotient = - (((1000000UL << SPARC64_USEC_PER_CYC_SHIFT) + - (clock / 2)) / clock); + sparc64_cpu_interpolator.frequency = clock; + register_time_interpolator(&sparc64_cpu_interpolator); + + /* Now that the interpolator is registered, it is + * safe to start the timer ticking. + */ + sparc64_start_timers(timer_interrupt); timer_ticks_per_nsec_quotient = (((NSEC_PER_SEC << SPARC64_NSEC_PER_CYC_SHIFT) + @@ -1057,17 +1063,6 @@ void __init time_init(void) #endif } -static __inline__ unsigned long do_gettimeoffset(void) -{ - unsigned long ticks = tick_ops->get_tick(); - - ticks += timer_tick_offset; - ticks -= timer_tick_compare; - - return (ticks * timer_ticks_per_usec_quotient) - >> SPARC64_USEC_PER_CYC_SHIFT; -} - unsigned long long sched_clock(void) { unsigned long ticks = tick_ops->get_tick(); @@ -1076,100 +1071,6 @@ unsigned long long sched_clock(void) >> SPARC64_NSEC_PER_CYC_SHIFT; } -int do_settimeofday(struct timespec *tv) -{ - time_t wtm_sec, sec = tv->tv_sec; - long wtm_nsec, nsec = tv->tv_nsec; - - if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) - return -EINVAL; - - if (this_is_starfire) - return 0; - - write_seqlock_irq(&xtime_lock); - /* - * This is revolting. We need to set "xtime" correctly. However, the - * value in this location is the value at the most recent update of - * wall time. Discover what correction gettimeofday() would have - * made, and then undo it! - */ - nsec -= do_gettimeoffset() * 1000; - nsec -= (jiffies - wall_jiffies) * (NSEC_PER_SEC / HZ); - - wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec); - wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec); - - set_normalized_timespec(&xtime, sec, nsec); - set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec); - - time_adjust = 0; /* stop active adjtime() */ - time_status |= STA_UNSYNC; - time_maxerror = NTP_PHASE_LIMIT; - time_esterror = NTP_PHASE_LIMIT; - write_sequnlock_irq(&xtime_lock); - clock_was_set(); - return 0; -} - -EXPORT_SYMBOL(do_settimeofday); - -/* Ok, my cute asm atomicity trick doesn't work anymore. - * There are just too many variables that need to be protected - * now (both members of xtime, wall_jiffies, et al.) - */ -void do_gettimeofday(struct timeval *tv) -{ - unsigned long seq; - unsigned long usec, sec; - unsigned long max_ntp_tick = tick_usec - tickadj; - - do { - unsigned long lost; - - seq = read_seqbegin(&xtime_lock); - usec = do_gettimeoffset(); - lost = jiffies - wall_jiffies; - - /* - * If time_adjust is negative then NTP is slowing the clock - * so make sure not to go into next possible interval. - * Better to lose some accuracy than have time go backwards.. - */ - if (unlikely(time_adjust < 0)) { - usec = min(usec, max_ntp_tick); - - if (lost) - usec += lost * max_ntp_tick; - } - else if (unlikely(lost)) - usec += lost * tick_usec; - - sec = xtime.tv_sec; - - /* Believe it or not, this divide shows up on - * kernel profiles. The problem is that it is - * both 64-bit and signed. Happily, 32-bits - * of precision is all we really need and in - * doing so gcc ends up emitting a cheap multiply. - * - * XXX Why is tv_nsec 'long' and 'signed' in - * XXX the first place, can it even be negative? - */ - usec += ((unsigned int) xtime.tv_nsec / 1000U); - } while (read_seqretry(&xtime_lock, seq)); - - while (usec >= 1000000) { - usec -= 1000000; - sec++; - } - - tv->tv_sec = sec; - tv->tv_usec = usec; -} - -EXPORT_SYMBOL(do_gettimeofday); - static int set_rtc_mmss(unsigned long nowtime) { int real_seconds, real_minutes, chip_minutes; diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index 473901974..7519f39c5 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c @@ -36,10 +36,24 @@ #include #include #include +#include #ifdef CONFIG_KMOD #include #endif +struct notifier_block *sparc64die_chain; +static spinlock_t die_notifier_lock = SPIN_LOCK_UNLOCKED; + +int register_die_notifier(struct notifier_block *nb) +{ + int err = 0; + unsigned long flags; + spin_lock_irqsave(&die_notifier_lock, flags); + err = notifier_chain_register(&sparc64die_chain, nb); + spin_unlock_irqrestore(&die_notifier_lock, flags); + return err; +} + /* When an irrecoverable trap occurs at tl > 0, the trap entry * code logs the trap state registers at every level in the trap * stack. It is found at (pt_regs + sizeof(pt_regs)) and the layout @@ -71,11 +85,20 @@ static void dump_tl1_traplog(struct tl1_traplog *p) } } -void bad_trap (struct pt_regs *regs, long lvl) +void do_call_debug(struct pt_regs *regs) +{ + notify_die(DIE_CALL, "debug call", regs, 0, 255, SIGINT); +} + +void bad_trap(struct pt_regs *regs, long lvl) { char buffer[32]; siginfo_t info; + if (notify_die(DIE_TRAP, "bad trap", regs, + 0, lvl, SIGTRAP) == NOTIFY_STOP) + return; + if (lvl < 0x100) { sprintf(buffer, "Bad hw trap %lx at tl0\n", lvl); die_if_kernel(buffer, regs); @@ -84,7 +107,7 @@ void bad_trap (struct pt_regs *regs, long lvl) lvl -= 0x100; if (regs->tstate & TSTATE_PRIV) { sprintf(buffer, "Kernel bad sw trap %lx", lvl); - die_if_kernel (buffer, regs); + die_if_kernel(buffer, regs); } if (test_thread_flag(TIF_32BIT)) { regs->tpc &= 0xffffffff; @@ -98,10 +121,14 @@ void bad_trap (struct pt_regs *regs, long lvl) force_sig_info(SIGILL, &info, current); } -void bad_trap_tl1 (struct pt_regs *regs, long lvl) +void bad_trap_tl1(struct pt_regs *regs, long lvl) { char buffer[32]; + if (notify_die(DIE_TRAP_TL1, "bad trap tl1", regs, + 0, lvl, SIGTRAP) == NOTIFY_STOP) + return; + dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); sprintf (buffer, "Bad trap %lx at tl>0", lvl); @@ -121,6 +148,10 @@ void instruction_access_exception(struct pt_regs *regs, { siginfo_t info; + if (notify_die(DIE_TRAP, "instruction access exception", regs, + 0, 0x8, SIGTRAP) == NOTIFY_STOP) + return; + if (regs->tstate & TSTATE_PRIV) { printk("instruction_access_exception: SFSR[%016lx] SFAR[%016lx], going.\n", sfsr, sfar); @@ -141,15 +172,23 @@ void instruction_access_exception(struct pt_regs *regs, void instruction_access_exception_tl1(struct pt_regs *regs, unsigned long sfsr, unsigned long sfar) { + if (notify_die(DIE_TRAP_TL1, "instruction access exception tl1", regs, + 0, 0x8, SIGTRAP) == NOTIFY_STOP) + return; + dump_tl1_traplog((struct tl1_traplog *)(regs + 1)); instruction_access_exception(regs, sfsr, sfar); } -void data_access_exception (struct pt_regs *regs, - unsigned long sfsr, unsigned long sfar) +void data_access_exception(struct pt_regs *regs, + unsigned long sfsr, unsigned long sfar) { siginfo_t info; + if (notify_die(DIE_TRAP, "data access exception", regs, + 0, 0x30, SIGTRAP) == NOTIFY_STOP) + return; + if (regs->tstate & TSTATE_PRIV) { /* Test if this comes from uaccess places. */ unsigned long fixup; @@ -220,6 +259,10 @@ void do_iae(struct pt_regs *regs) spitfire_clean_and_reenable_l1_caches(); + if (notify_die(DIE_TRAP, "instruction access exception", regs, + 0, 0x8, SIGTRAP) == NOTIFY_STOP) + return; + info.si_signo = SIGBUS; info.si_errno = 0; info.si_code = BUS_OBJERR; @@ -230,6 +273,8 @@ void do_iae(struct pt_regs *regs) void do_dae(struct pt_regs *regs) { + siginfo_t info; + #ifdef CONFIG_PCI if (pci_poke_in_progress && pci_poke_cpu == smp_processor_id()) { spitfire_clean_and_reenable_l1_caches(); @@ -244,7 +289,18 @@ void do_dae(struct pt_regs *regs) return; } #endif - do_iae(regs); + spitfire_clean_and_reenable_l1_caches(); + + if (notify_die(DIE_TRAP, "data access exception", regs, + 0, 0x30, SIGTRAP) == NOTIFY_STOP) + return; + + info.si_signo = SIGBUS; + info.si_errno = 0; + info.si_code = BUS_OBJERR; + info.si_addr = (void *)0; + info.si_trapno = 0; + force_sig_info(SIGBUS, &info, current); } static char ecc_syndrome_table[] = { @@ -1638,6 +1694,10 @@ void do_fpe_common(struct pt_regs *regs) void do_fpieee(struct pt_regs *regs) { + if (notify_die(DIE_TRAP, "fpu exception ieee", regs, + 0, 0x24, SIGFPE) == NOTIFY_STOP) + return; + do_fpe_common(regs); } @@ -1648,6 +1708,10 @@ void do_fpother(struct pt_regs *regs) struct fpustate *f = FPUSTATE; int ret = 0; + if (notify_die(DIE_TRAP, "fpu exception other", regs, + 0, 0x25, SIGFPE) == NOTIFY_STOP) + return; + switch ((current_thread_info()->xfsr[0] & 0x1c000)) { case (2 << 14): /* unfinished_FPop */ case (3 << 14): /* unimplemented_FPop */ @@ -1663,6 +1727,10 @@ void do_tof(struct pt_regs *regs) { siginfo_t info; + if (notify_die(DIE_TRAP, "tagged arithmetic overflow", regs, + 0, 0x26, SIGEMT) == NOTIFY_STOP) + return; + if (regs->tstate & TSTATE_PRIV) die_if_kernel("Penguin overflow trap from kernel mode", regs); if (test_thread_flag(TIF_32BIT)) { @@ -1681,6 +1749,10 @@ void do_div0(struct pt_regs *regs) { siginfo_t info; + if (notify_die(DIE_TRAP, "integer division by zero", regs, + 0, 0x28, SIGFPE) == NOTIFY_STOP) + return; + if (regs->tstate & TSTATE_PRIV) die_if_kernel("TL0: Kernel divide by zero.", regs); if (test_thread_flag(TIF_32BIT)) { @@ -1771,6 +1843,37 @@ void dump_stack(void) EXPORT_SYMBOL(dump_stack); +static inline int is_kernel_stack(struct task_struct *task, + struct reg_window *rw) +{ + unsigned long rw_addr = (unsigned long) rw; + unsigned long thread_base, thread_end; + + if (rw_addr < PAGE_OFFSET) { + if (task != &init_task) + return 0; + } + + thread_base = (unsigned long) task->thread_info; + thread_end = thread_base + sizeof(union thread_union); + if (rw_addr >= thread_base && + rw_addr < thread_end && + !(rw_addr & 0x7UL)) + return 1; + + return 0; +} + +static inline struct reg_window *kernel_stack_up(struct reg_window *rw) +{ + unsigned long fp = rw->ins[6]; + + if (!fp) + return NULL; + + return (struct reg_window *) (fp + STACK_BIAS); +} + void die_if_kernel(char *str, struct pt_regs *regs) { static int die_counter; @@ -1786,6 +1889,7 @@ void die_if_kernel(char *str, struct pt_regs *regs) " \\__U_/\n"); printk("%s(%d): %s [#%d]\n", current->comm, current->pid, str, ++die_counter); + notify_die(DIE_OOPS, str, regs, 0, 255, SIGSEGV); __asm__ __volatile__("flushw"); __show_regs(regs); if (regs->tstate & TSTATE_PRIV) { @@ -1795,17 +1899,14 @@ void die_if_kernel(char *str, struct pt_regs *regs) /* Stop the back trace when we hit userland or we * find some badly aligned kernel stack. */ - while (rw && - count++ < 30 && - (((unsigned long) rw) >= PAGE_OFFSET) && - (char *) rw < ((char *) current) - + sizeof (union thread_union) && - !(((unsigned long) rw) & 0x7)) { + while (rw && + count++ < 30&& + is_kernel_stack(current, rw)) { printk("Caller[%016lx]", rw->ins[7]); print_symbol(": %s", rw->ins[7]); printk("\n"); - rw = (struct reg_window *) - (rw->ins[6] + STACK_BIAS); + + rw = kernel_stack_up(rw); } instruction_dump ((unsigned int *) regs->tpc); } else { @@ -1834,6 +1935,10 @@ void do_illegal_instruction(struct pt_regs *regs) u32 insn; siginfo_t info; + if (notify_die(DIE_TRAP, "illegal instruction", regs, + 0, 0x10, SIGILL) == NOTIFY_STOP) + return; + if (tstate & TSTATE_PRIV) die_if_kernel("Kernel illegal instruction", regs); if (test_thread_flag(TIF_32BIT)) @@ -1859,6 +1964,10 @@ void mem_address_unaligned(struct pt_regs *regs, unsigned long sfar, unsigned lo { siginfo_t info; + if (notify_die(DIE_TRAP, "memory address unaligned", regs, + 0, 0x34, SIGSEGV) == NOTIFY_STOP) + return; + if (regs->tstate & TSTATE_PRIV) { extern void kernel_unaligned_trap(struct pt_regs *regs, unsigned int insn, @@ -1881,6 +1990,10 @@ void do_privop(struct pt_regs *regs) { siginfo_t info; + if (notify_die(DIE_TRAP, "privileged operation", regs, + 0, 0x11, SIGILL) == NOTIFY_STOP) + return; + if (test_thread_flag(TIF_32BIT)) { regs->tpc &= 0xffffffff; regs->tnpc &= 0xffffffff; diff --git a/arch/sparc64/lib/Makefile b/arch/sparc64/lib/Makefile index 2da5af9a1..7dd001f52 100644 --- a/arch/sparc64/lib/Makefile +++ b/arch/sparc64/lib/Makefile @@ -7,11 +7,12 @@ EXTRA_CFLAGS := -Werror lib-y := PeeCeeI.o copy_page.o clear_page.o strlen.o strncmp.o \ memscan.o strncpy_from_user.o strlen_user.o memcmp.o checksum.o \ - VIScopy.o VISbzero.o VISmemset.o VIScsum.o VIScsumcopy.o \ - VIScsumcopyusr.o VISsave.o atomic.o rwlock.o bitops.o \ - U3memcpy.o U3copy_from_user.o U3copy_to_user.o \ - U3copy_in_user.o mcount.o ipcsum.o rwsem.o xor.o splock.o \ - find_bit.o + VISbzero.o VISmemset.o VIScsum.o VIScsumcopy.o \ + VIScsumcopyusr.o VISsave.o atomic.o bitops.o \ + U1memcpy.o U1copy_from_user.o U1copy_to_user.o \ + U3memcpy.o U3copy_from_user.o U3copy_to_user.o U3patch.o \ + copy_in_user.o user_fixup.o memmove.o \ + mcount.o ipcsum.o rwsem.o xor.o find_bit.o delay.o iomap.o lib-$(CONFIG_DEBUG_SPINLOCK) += debuglocks.o lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o diff --git a/arch/sparc64/lib/debuglocks.c b/arch/sparc64/lib/debuglocks.c index 9e083e27d..9fb4dedc8 100644 --- a/arch/sparc64/lib/debuglocks.c +++ b/arch/sparc64/lib/debuglocks.c @@ -84,7 +84,7 @@ again: put_cpu(); } -int _spin_trylock(spinlock_t *lock) +int _do_spin_trylock(spinlock_t *lock) { unsigned long val, caller; int cpu = get_cpu(); diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c index 49c3dd29a..63b989f3f 100644 --- a/arch/sparc64/mm/fault.c +++ b/arch/sparc64/mm/fault.c @@ -27,6 +27,7 @@ #include #include #include +#include #define ELEMENTS(arr) (sizeof (arr)/sizeof (arr[0])) @@ -147,6 +148,9 @@ static void unhandled_fault(unsigned long address, struct task_struct *tsk, printk(KERN_ALERT "tsk->{mm,active_mm}->pgd = %016lx\n", (tsk->mm ? (unsigned long) tsk->mm->pgd : (unsigned long) tsk->active_mm->pgd)); + if (notify_die(DIE_GPF, "general protection fault", regs, + 0, 0, SIGSEGV) == NOTIFY_STOP) + return; die_if_kernel("Oops", regs); } @@ -318,8 +322,13 @@ asmlinkage void do_sparc64_fault(struct pt_regs *regs) int si_code, fault_code; unsigned long address; - si_code = SEGV_MAPERR; fault_code = get_thread_fault_code(); + + if (notify_die(DIE_PAGE_FAULT, "page_fault", regs, + fault_code, 0, SIGSEGV) == NOTIFY_STOP) + return; + + si_code = SEGV_MAPERR; address = current_thread_info()->fault_address; if ((fault_code & FAULT_CODE_ITLB) && diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 60308cead..a82492650 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c @@ -68,6 +68,7 @@ unsigned long mmu_context_bmap[CTX_BMAP_SLOTS]; extern char _start[], _end[]; /* Initial ramdisk setup */ +extern unsigned long sparc_ramdisk_image64; extern unsigned int sparc_ramdisk_image; extern unsigned int sparc_ramdisk_size; @@ -1279,10 +1280,12 @@ unsigned long __init bootmem_init(unsigned long *pages_avail) #ifdef CONFIG_BLK_DEV_INITRD /* Now have to check initial ramdisk, so that bootmap does not overwrite it */ - if (sparc_ramdisk_image) { - if (sparc_ramdisk_image >= (unsigned long)_end - 2 * PAGE_SIZE) - sparc_ramdisk_image -= KERNBASE; - initrd_start = sparc_ramdisk_image + phys_base; + if (sparc_ramdisk_image || sparc_ramdisk_image64) { + unsigned long ramdisk_image = sparc_ramdisk_image ? + sparc_ramdisk_image : sparc_ramdisk_image64; + if (ramdisk_image >= (unsigned long)_end - 2 * PAGE_SIZE) + ramdisk_image -= KERNBASE; + initrd_start = ramdisk_image + phys_base; initrd_end = initrd_start + sparc_ramdisk_size; if (initrd_end > end_of_phys_memory) { printk(KERN_CRIT "initrd extends beyond end of memory " @@ -1325,6 +1328,10 @@ unsigned long __init bootmem_init(unsigned long *pages_avail) size = initrd_end - initrd_start; /* Resert the initrd image area. */ +#ifdef CONFIG_DEBUG_BOOTMEM + prom_printf("reserve_bootmem(initrd): base[%llx] size[%lx]\n", + initrd_start, initrd_end); +#endif reserve_bootmem(initrd_start, size); *pages_avail -= PAGE_ALIGN(size) >> PAGE_SHIFT; @@ -1377,7 +1384,7 @@ void __init paging_init(void) if ((real_end > ((unsigned long)KERNBASE + 0x400000))) bigkernel = 1; #ifdef CONFIG_BLK_DEV_INITRD - if (sparc_ramdisk_image) + if (sparc_ramdisk_image || sparc_ramdisk_image64) real_end = (PAGE_ALIGN(real_end) + PAGE_ALIGN(sparc_ramdisk_size)); #endif @@ -1502,7 +1509,7 @@ void __init paging_init(void) zones_size[ZONE_DMA] = npages; zholes_size[ZONE_DMA] = npages - pages_avail; - free_area_init_node(0, &contig_page_data, NULL, zones_size, + free_area_init_node(0, &contig_page_data, zones_size, phys_base >> PAGE_SHIFT, zholes_size); mem_map = contig_page_data.node_mem_map; } diff --git a/arch/um/Kconfig b/arch/um/Kconfig index e47207391..f55cb6b9f 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -34,7 +34,7 @@ config MODE_TT help This option controls whether tracing thread support is compiled into UML. Normally, this should be set to Y. If you intend to - use only skas mode (and the host has the skas patch applied to it), + use only skas mode (and the host has the skas patch applied to it), then it is OK to say N here. config STATIC_LINK @@ -45,7 +45,7 @@ config STATIC_LINK If CONFIG_MODE_TT is disabled, then this option gives you the ability to force a static link of UML. Normally, if only skas mode is built in to UML, it will be linked as a shared binary. This is inconvenient - for use in a chroot jail. So, if you intend to run UML inside a + for use in a chroot jail. So, if you intend to run UML inside a chroot, and you disable CONFIG_MODE_TT, you probably want to say Y here. @@ -99,7 +99,7 @@ config HOSTFS For more information, see . - If you'd like to be able to work with files stored on the host, + If you'd like to be able to work with files stored on the host, say Y or M here; otherwise say N. config HUMFS @@ -136,25 +136,12 @@ config MCONSOLE It is safe to say 'Y' here. -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on MCONSOLE - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in Documentation/sysrq.txt. Don't say Y - unless you really know what this hack does. - config HOST_2G_2G bool "2G/2G host address space split" -config UML_SMP +config SMP bool "Symmetric multi-processing support" + default n help This option enables UML SMP support. UML implements virtual SMP by allowing as many processes to run simultaneously on the host as @@ -163,13 +150,8 @@ config UML_SMP will appear to be running simultaneously. If the host is a multiprocessor, then UML processes may run simultaneously, depending on the host scheduler. - CONFIG_SMP will be set to whatever this option is set to. It is safe to leave this unchanged. -config SMP - bool - default UML_SMP - config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 @@ -184,11 +166,11 @@ config NEST_LEVEL in. Normally, this is zero, meaning that it will run directly on the host. Setting it to one will build a UML that can run inside a UML that is running on the host. Generally, if you intend this UML to run - inside another UML, set CONFIG_NEST_LEVEL to one more than the host + inside another UML, set CONFIG_NEST_LEVEL to one more than the host UML. - Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to - greater than one, then the guest UML should have its CONFIG_NEST_LEVEL + Note that if the hosting UML has its CONFIG_KERNEL_HALF_GIGS set to + greater than one, then the guest UML should have its CONFIG_NEST_LEVEL set to the host's CONFIG_NEST_LEVEL + CONFIG_KERNEL_HALF_GIGS. Only change this if you are running nested UMLs. @@ -203,6 +185,7 @@ config KERNEL_HALF_GIGS config HIGHMEM bool "Highmem support" + depends on BROKEN config PROC_MM bool "/proc/mm support" @@ -223,7 +206,7 @@ config UML_REAL_TIME_CLOCK normally be enabled. The exception would be if you are debugging with UML and spend long times with UML stopped at a breakpoint. In this case, when UML is restarted, it will call the timer enough times to make - up for the time spent at the breakpoint. This could result in a + up for the time spent at the breakpoint. This could result in a noticable lag. If this is a problem, then disable this option. endmenu @@ -255,6 +238,7 @@ source "crypto/Kconfig" source "lib/Kconfig" menu "SCSI support" +depends on BROKEN config SCSI tristate "SCSI support" @@ -271,65 +255,8 @@ endmenu source "drivers/md/Kconfig" -source "drivers/mtd/Kconfig" - - -menu "Kernel hacking" - -config DEBUG_SLAB - bool "Debug memory allocations" - -config DEBUG_SPINLOCK - bool "Debug spinlocks usage" - -config DEBUG_INFO - bool "Enable kernel debugging symbols" - help - When this is enabled, the User-Mode Linux binary will include - debugging symbols. This enlarges the binary by a few megabytes, - but aids in tracking down kernel problems in UML. It is required - if you intend to do any kernel development. - - If you're truly short on disk space or don't expect to report any - bugs back to the UML developers, say N, otherwise say Y. - -config FRAME_POINTER - bool - default y if DEBUG_INFO - -config PT_PROXY - bool "Enable ptrace proxy" - depends on XTERM_CHAN && DEBUG_INFO - help - This option enables a debugging interface which allows gdb to debug - the kernel without needing to actually attach to kernel threads. - If you want to do kernel debugging, say Y here; otherwise say N. - -config GPROF - bool "Enable gprof support" - depends on DEBUG_INFO - help - This allows profiling of a User-Mode Linux kernel with the gprof - utility. - - See for more - details. - - If you're involved in UML kernel development and want to use gprof, - say Y. If you're unsure, say N. - -config GCOV - bool "Enable gcov support" - depends on DEBUG_INFO - help - This option allows developers to retrieve coverage data from a UML - session. - - See for more - details. - - If you're involved in UML kernel development and want to use gcov, - say Y. If you're unsure, say N. - -endmenu +if BROKEN + source "drivers/mtd/Kconfig" +endif +source "arch/um/Kconfig.debug" diff --git a/arch/um/Kconfig_block b/arch/um/Kconfig_block index 46e97fc78..8f2ba090c 100644 --- a/arch/um/Kconfig_block +++ b/arch/um/Kconfig_block @@ -29,19 +29,9 @@ config BLK_DEV_UBD_SYNC wise choice too. In all other cases (for example, if you're just playing around with User-Mode Linux) you can choose N. -# Turn this back on when the driver actually works -# -#config BLK_DEV_COW -# tristate "COW block device" -# help -# This is a layered driver which sits above two other block devices. -# One is read-only, and the other is a read-write layer which stores -# all changes. This provides the illusion that the read-only layer -# can be mounted read-write and changed. - config BLK_DEV_COW_COMMON bool - default BLK_DEV_COW || BLK_DEV_UBD + default BLK_DEV_UBD config BLK_DEV_LOOP tristate "Loopback device support" @@ -64,6 +54,7 @@ config BLK_DEV_INITRD config MMAPPER tristate "Example IO memory driver" + depends on BROKEN help The User-Mode Linux port can provide support for IO Memory emulation with this option. This allows a host file to be diff --git a/arch/um/Kconfig_char b/arch/um/Kconfig_char index 8a6afe659..09f47388c 100644 --- a/arch/um/Kconfig_char +++ b/arch/um/Kconfig_char @@ -72,6 +72,10 @@ config XTERM_CHAN well, since UML's gdb currently requires an xterm. It is safe to say 'Y' here. +config NOCONFIG_CHAN + bool + default !(XTERM_CHAN && TTY_CHAN && PTY_CHAN && PORT_CHAN && FD_CHAN && NULL_CHAN) + config CON_ZERO_CHAN string "Default main console channel initialization" default "fd:0,fd:1" diff --git a/arch/um/Kconfig_net b/arch/um/Kconfig_net index 94c6bf098..1c2f9a70d 100644 --- a/arch/um/Kconfig_net +++ b/arch/um/Kconfig_net @@ -135,7 +135,7 @@ config UML_NET_MCAST config UML_NET_PCAP bool "pcap transport" - depends on UML_NET + depends on UML_NET && BROKEN help The pcap transport makes a pcap packet stream on the host look like an ethernet device inside UML. This is useful for making diff --git a/arch/um/Makefile b/arch/um/Makefile index 803d12eab..37e1cfa25 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile @@ -5,20 +5,13 @@ ARCH_DIR = arch/um OS := $(shell uname -s) +#We require it or things break. +SHELL := /bin/bash -# Recalculate MODLIB to reflect the EXTRAVERSION changes (via KERNELRELEASE) -# The way the toplevel Makefile is written EXTRAVERSION is not supposed -# to be changed outside the toplevel Makefile, but recalculating MODLIB is -# a sufficient workaround until we no longer need architecture dependent -# EXTRAVERSION... -MODLIB := $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE) - -ifeq ($(CONFIG_DEBUG_INFO),y) -CFLAGS := $(subst -fomit-frame-pointer,,$(CFLAGS)) -endif +filechk_gen_header = $< -core-y += $(ARCH_DIR)/kernel/ \ - $(ARCH_DIR)/drivers/ \ +core-y += $(ARCH_DIR)/kernel/ \ + $(ARCH_DIR)/drivers/ \ $(ARCH_DIR)/sys-$(SUBARCH)/ # Have to precede the include because the included Makefiles reference them. @@ -31,13 +24,6 @@ ARCH_SYMLINKS = include/asm-um/arch $(ARCH_DIR)/include/sysdep $(ARCH_DIR)/os \ GEN_HEADERS += $(ARCH_DIR)/include/task.h $(ARCH_DIR)/include/kern_constants.h -# This target adds dependencies to "prepare". They are defined in the included -# Makefiles (see Makefile-i386). - -.PHONY: sys_prepare -sys_prepare: - @: - MAKEFILE-$(CONFIG_MODE_TT) += Makefile-tt MAKEFILE-$(CONFIG_MODE_SKAS) += Makefile-skas @@ -45,13 +31,12 @@ ifneq ($(MAKEFILE-y),) include $(addprefix $(ARCH_DIR)/,$(MAKEFILE-y)) endif +ARCH_INCLUDE := -I$(ARCH_DIR)/include +SYS_DIR := $(ARCH_DIR)/include/sysdep-$(SUBARCH) + include $(ARCH_DIR)/Makefile-$(SUBARCH) include $(ARCH_DIR)/Makefile-os-$(OS) -EXTRAVERSION := $(EXTRAVERSION)-1um - -ARCH_INCLUDE = -I$(ARCH_DIR)/include - # -Derrno=kernel_errno - This turns all kernel references to errno into # kernel_errno to separate them from the libc errno. This allows -fno-common # in CFLAGS. Otherwise, it would cause ld to complain about the two different @@ -61,9 +46,7 @@ CFLAGS += $(CFLAGS-y) -D__arch_um__ -DSUBARCH=\"$(SUBARCH)\" \ -D_LARGEFILE64_SOURCE $(ARCH_INCLUDE) -Derrno=kernel_errno \ -Dsigprocmask=kernel_sigprocmask $(MODE_INCLUDE) -check_gcc = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi) - -CFLAGS += $(call check_gcc,-fno-unit-at-a-time,) +CFLAGS += $(call cc-option,-fno-unit-at-a-time,) LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc @@ -76,25 +59,17 @@ CONFIG_KERNEL_HALF_GIGS ?= 0 SIZE = (($(CONFIG_NEST_LEVEL) + $(CONFIG_KERNEL_HALF_GIGS)) * 0x20000000) ifeq ($(CONFIG_MODE_SKAS), y) -$(SYS_HEADERS) : $(TOPDIR)/$(ARCH_DIR)/include/skas_ptregs.h +$(SYS_HEADERS) : $(ARCH_DIR)/include/skas_ptregs.h endif -include/linux/version.h: arch/$(ARCH)/Makefile - -$(ARCH_DIR)/vmlinux.lds.S : - touch $@ - -prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) - -LDFLAGS_vmlinux = -r - -vmlinux: $(ARCH_DIR)/main.o +prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) \ + $(ARCH_DIR)/kernel/vmlinux.lds.S # These aren't in Makefile-tt because they are needed in the !CONFIG_MODE_TT + # CONFIG_MODE_SKAS + CONFIG_STATIC_LINK case. LINK_TT = -static -LD_SCRIPT_TT := uml.lds.s +LD_SCRIPT_TT := uml.lds.S ifeq ($(CONFIG_STATIC_LINK),y) LINK-y += $(LINK_TT) @@ -119,21 +94,19 @@ ifndef START START = $$(($(TOP_ADDR) - $(SIZE))) endif -AFLAGS_vmlinux.lds.o = $(shell echo -U$(SUBARCH) \ +CPPFLAGS_vmlinux.lds = $(shell echo -U$(SUBARCH) \ -DSTART=$(START) -DELF_ARCH=$(ELF_ARCH) \ -DELF_FORMAT=\"$(ELF_FORMAT)\" $(CPP_MODE_TT) \ -DKERNEL_STACK_SIZE=$(STACK_SIZE)) -export AFLAGS_$(LD_SCRIPT-y:.s=).o = $(AFLAGS_vmlinux.lds.o) -P -C -Uum - -LD_SCRIPT-y := $(ARCH_DIR)/$(LD_SCRIPT-y) - -#$(LD_SCRIPT-y) : $(LD_SCRIPT-y:.s=.S) scripts FORCE -# $(call if_changed_dep,as_s_S) - -linux: vmlinux $(LD_SCRIPT-y) - $(CC) -Wl,-T,$(LD_SCRIPT-y) $(LINK-y) $(LINK_WRAPS) \ - -o linux $(ARCH_DIR)/main.o vmlinux -L/usr/lib -lutil +CFLAGS_vmlinux = $(LINK-y) $(LINK_WRAPS) +define cmd_vmlinux__ + $(CC) $(CFLAGS_vmlinux) -o $@ \ + -Wl,-T,$(vmlinux-lds) $(vmlinux-init) \ + -Wl,--start-group $(vmlinux-main) -Wl,--end-group \ + -L/usr/lib -lutil \ + $(filter-out $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE ,$^) +endef USER_CFLAGS := $(patsubst -I%,,$(CFLAGS)) USER_CFLAGS := $(patsubst -Derrno=kernel_errno,,$(USER_CFLAGS)) @@ -144,79 +117,73 @@ USER_CFLAGS := $(patsubst -D__KERNEL__,,$(USER_CFLAGS)) $(ARCH_INCLUDE) \ # To get a definition of F_SETSIG USER_CFLAGS += -D_GNU_SOURCE -# From main Makefile, these options are set after including the ARCH makefile. -# So copy them here. - -ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE -USER_CFLAGS += -Os -else -USER_CFLAGS += -O2 -endif - -ifndef CONFIG_FRAME_POINTER -USER_CFLAGS += -fomit-frame-pointer -endif - -ifdef CONFIG_DEBUG_INFO -USER_CFLAGS += -g -endif - -CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/uml.lds.s \ - $(ARCH_DIR)/dyn_link.ld.s $(ARCH_DIR)/include/uml-config.h \ - $(GEN_HEADERS) +#When cleaning we don't include .config, so we don't include +#TT or skas makefiles and don't clean skas_ptregs.h. +CLEAN_FILES += linux x.i gmon.out $(ARCH_DIR)/include/uml-config.h \ + $(GEN_HEADERS) $(ARCH_DIR)/include/skas_ptregs.h MRPROPER_FILES += $(SYMLINK_HEADERS) $(ARCH_SYMLINKS) \ - $(addprefix $(ARCH_DIR)/kernel/,$(KERN_SYMLINKS)) - -$(ARCH_DIR)/main.o: $(ARCH_DIR)/main.c sys_prepare - @ echo ' MAIN $@' - @ $(CC) $(USER_CFLAGS) $(EXTRA_CFLAGS) -c -o $@ $< + $(addprefix $(ARCH_DIR)/kernel/,$(KERN_SYMLINKS)) $(ARCH_DIR)/os archmrproper: @: archclean: + $(Q)$(MAKE) $(clean)=$(ARCH_DIR)/util @find . \( -name '*.bb' -o -name '*.bbg' -o -name '*.da' \ -o -name '*.gcov' \) -type f -print | xargs rm -f +#We need to re-preprocess this when the symlink dest changes. +#So we touch it. +$(ARCH_DIR)/kernel/vmlinux.lds.S: FORCE + @echo ' SYMLINK $@' + $(Q)ln -sf $(LD_SCRIPT-y) $@ + $(Q)touch $@ + $(SYMLINK_HEADERS): - cd $(TOPDIR)/$(dir $@) ; \ + @echo ' SYMLINK $@' + $(Q)cd $(TOPDIR)/$(dir $@) ; \ ln -sf $(basename $(notdir $@))-$(SUBARCH)$(suffix $@) $(notdir $@) include/asm-um/arch: - cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(SUBARCH) arch + @echo ' SYMLINK $@' + $(Q)cd $(TOPDIR)/include/asm-um && ln -sf ../asm-$(SUBARCH) arch $(ARCH_DIR)/include/sysdep: - cd $(ARCH_DIR)/include && ln -sf sysdep-$(SUBARCH) sysdep + @echo ' SYMLINK $@' + $(Q)cd $(ARCH_DIR)/include && ln -sf sysdep-$(SUBARCH) sysdep $(ARCH_DIR)/os: - cd $(ARCH_DIR) && ln -sf os-$(OS) os + @echo ' SYMLINK $@' + $(Q)cd $(ARCH_DIR) && ln -sf os-$(OS) os # Generated files define filechk_umlconfig sed 's/ CONFIG/ UML_CONFIG/' endef -$(ARCH_DIR)/include/uml-config.h : $(TOPDIR)/include/linux/autoconf.h +$(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h $(call filechk,umlconfig) -filechk_gen_header = $< +$(ARCH_DIR)/include/task.h: $(ARCH_DIR)/util/mk_task + $(call filechk,gen_header) -$(ARCH_DIR)/include/task.h : $(ARCH_DIR)/util/mk_task +$(ARCH_DIR)/include/kern_constants.h: $(ARCH_DIR)/util/mk_constants $(call filechk,gen_header) -$(ARCH_DIR)/include/kern_constants.h : $(ARCH_DIR)/util/mk_constants +$(ARCH_DIR)/include/skas_ptregs.h: $(ARCH_DIR)/kernel/skas/util/mk_ptregs $(call filechk,gen_header) -$(ARCH_DIR)/util/mk_task $(ARCH_DIR)/util/mk_constants : $(ARCH_DIR)/util \ - sys_prepare FORCE ; +$(ARCH_DIR)/util/mk_task $(ARCH_DIR)/util/mk_constants: $(ARCH_DIR)/util \ + FORCE ; -$(ARCH_DIR)/util: FORCE - $(Q)$(MAKE) $(build)=$@ +$(ARCH_DIR)/kernel/skas/util/mk_ptregs: $(ARCH_DIR)/kernel/skas/util FORCE ; -export SUBARCH USER_CFLAGS OS +$(ARCH_DIR)/util: scripts_basic $(SYS_DIR)/sc.h FORCE + $(Q)$(MAKE) $(build)=$@ -all: linux +$(ARCH_DIR)/kernel/skas/util: scripts_basic FORCE + $(Q)$(MAKE) $(build)=$@ define archhelp echo '* linux - Binary kernel image (./linux)' diff --git a/arch/um/Makefile-i386 b/arch/um/Makefile-i386 index 1b7e1639d..1331646b3 100644 --- a/arch/um/Makefile-i386 +++ b/arch/um/Makefile-i386 @@ -1,7 +1,13 @@ ifeq ($(CONFIG_HOST_2G_2G), y) -TOP_ADDR = 0x80000000 +TOP_ADDR := 0x80000000 else -TOP_ADDR = 0xc0000000 +TOP_ADDR := 0xc0000000 +endif + +ifeq ($(CONFIG_MODE_SKAS),y) + ifneq ($(CONFIG_MODE_TT),y) + START := 0x8048000 + endif endif ifeq ($(CONFIG_MODE_SKAS),y) @@ -16,16 +22,14 @@ ifneq ($(CONFIG_GPROF),y) ARCH_CFLAGS += -DUM_FASTCALL endif -ELF_ARCH = $(SUBARCH) -ELF_FORMAT = elf32-$(SUBARCH) +ELF_ARCH := $(SUBARCH) +ELF_FORMAT := elf32-$(SUBARCH) OBJCOPYFLAGS := -O binary -R .note -R .comment -S -LDFLAGS_BLOB := --format binary --oformat elf32-i386 -SYS_DIR := $(ARCH_DIR)/include/sysdep-i386 SYS_UTIL_DIR := $(ARCH_DIR)/sys-i386/util -SYS_HEADERS = $(SYS_DIR)/sc.h $(SYS_DIR)/thread.h +SYS_HEADERS := $(SYS_DIR)/sc.h $(SYS_DIR)/thread.h sys_prepare: $(SYS_DIR)/sc.h @@ -34,20 +38,18 @@ prepare: $(SYS_HEADERS) filechk_$(SYS_DIR)/sc.h := $(SYS_UTIL_DIR)/mk_sc $(SYS_DIR)/sc.h: $(SYS_UTIL_DIR)/mk_sc - $(call filechk,$@) - -filechk_$(SYS_DIR)/thread.h := $(SYS_UTIL_DIR)/mk_thread + $(call filechk,gen_header) $(SYS_DIR)/thread.h: $(SYS_UTIL_DIR)/mk_thread - $(call filechk,$@) + $(call filechk,gen_header) -$(SYS_UTIL_DIR)/mk_sc: scripts/basic/fixdep include/config/MARKER FORCE ; +$(SYS_UTIL_DIR)/mk_sc: scripts_basic FORCE $(Q)$(MAKE) $(build)=$(SYS_UTIL_DIR) $@ -$(SYS_UTIL_DIR)/mk_thread: $(ARCH_SYMLINKS) $(GEN_HEADERS) sys_prepare FORCE ; +$(SYS_UTIL_DIR)/mk_thread: scripts_basic $(ARCH_SYMLINKS) $(GEN_HEADERS) FORCE $(Q)$(MAKE) $(build)=$(SYS_UTIL_DIR) $@ -$(SYS_UTIL_DIR): include/asm FORCE +$(SYS_UTIL_DIR): scripts_basic include/asm FORCE $(Q)$(MAKE) $(build)=$(SYS_UTIL_DIR) CLEAN_FILES += $(SYS_HEADERS) diff --git a/arch/um/Makefile-skas b/arch/um/Makefile-skas index d114908c9..fb3050ff9 100644 --- a/arch/um/Makefile-skas +++ b/arch/um/Makefile-skas @@ -9,12 +9,9 @@ CFLAGS-$(CONFIG_GCOV) += -fprofile-arcs -ftest-coverage CFLAGS-$(CONFIG_GPROF) += $(PROFILE) LINK-$(CONFIG_GPROF) += $(PROFILE) -MODE_INCLUDE += -I$(TOPDIR)/$(ARCH_DIR)/kernel/skas/include +MODE_INCLUDE += -I$(srctree)/$(ARCH_DIR)/kernel/skas/include LINK_SKAS = -Wl,-rpath,/lib -LD_SCRIPT_SKAS = dyn.lds.s +LD_SCRIPT_SKAS = dyn.lds.S -GEN_HEADERS += $(TOPDIR)/$(ARCH_DIR)/include/skas_ptregs.h - -$(TOPDIR)/$(ARCH_DIR)/include/skas_ptregs.h : - $(Q)$(MAKE) $(build)=$(ARCH_DIR)/kernel/skas $@ +GEN_HEADERS += $(ARCH_DIR)/include/skas_ptregs.h diff --git a/arch/um/defconfig b/arch/um/defconfig index 544f3b07d..494a7bd54 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig @@ -1,5 +1,7 @@ # # Automatically generated make config: don't edit +# Linux kernel version: 2.6.9-rc2-mm1 +# Thu Sep 16 23:44:48 2004 # CONFIG_USERMODE=y CONFIG_MMU=y @@ -19,14 +21,11 @@ CONFIG_HOSTFS=y CONFIG_HUMFS=y CONFIG_HPPFS=y CONFIG_MCONSOLE=y -CONFIG_MAGIC_SYSRQ=y # CONFIG_HOST_2G_2G is not set -# CONFIG_UML_SMP is not set # CONFIG_SMP is not set CONFIG_NEST_LEVEL=0 CONFIG_KERNEL_HALF_GIGS=1 # CONFIG_HIGHMEM is not set -CONFIG_PROC_MM=y CONFIG_KERNEL_STACK_ORDER=2 CONFIG_UML_REAL_TIME_CLOCK=y @@ -35,30 +34,26 @@ CONFIG_UML_REAL_TIME_CLOCK=y # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y -CONFIG_STANDALONE=y CONFIG_BROKEN_ON_SMP=y # # General setup # +CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y # CONFIG_POSIX_MQUEUE is not set CONFIG_BSD_PROCESS_ACCT=y - -# -# Class Based Kernel Resource Management -# -# CONFIG_CKRM is not set # CONFIG_BSD_PROCESS_ACCT_V3 is not set CONFIG_SYSCTL=y # CONFIG_AUDIT is not set CONFIG_LOG_BUF_SHIFT=14 # CONFIG_HOTPLUG is not set +CONFIG_KOBJECT_UEVENT=y # CONFIG_IKCONFIG is not set # CONFIG_EMBEDDED is not set -# CONFIG_DELAY_ACCT is not set CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_FUTEX=y CONFIG_EPOLL=y @@ -67,6 +62,8 @@ CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -76,7 +73,9 @@ CONFIG_IOSCHED_CFQ=y # # Generic Driver Options # +CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_DEBUG_DRIVER is not set # # Character Devices @@ -149,6 +148,7 @@ CONFIG_INET=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set # CONFIG_IPV6 is not set # CONFIG_NETFILTER is not set @@ -180,7 +180,10 @@ CONFIG_INET=y # Network testing # # CONFIG_NET_PKTGEN is not set +# CONFIG_KGDBOE is not set # CONFIG_NETPOLL is not set +# CONFIG_NETPOLL_RX is not set +# CONFIG_NETPOLL_TRAP is not set # CONFIG_NET_POLL_CONTROLLER is not set # CONFIG_HAMRADIO is not set # CONFIG_IRDA is not set @@ -239,6 +242,9 @@ CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XATTR is not set # CONFIG_EXT3_FS is not set # CONFIG_JBD is not set +CONFIG_REISER4_FS=y +CONFIG_REISER4_LARGE_KEY=y +# CONFIG_REISER4_CHECK is not set CONFIG_REISERFS_FS=y # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set @@ -254,6 +260,11 @@ CONFIG_QUOTACTL=y CONFIG_AUTOFS_FS=y CONFIG_AUTOFS4_FS=y +# +# Caches +# +# CONFIG_CACHEFS is not set + # # CD-ROM/DVD Filesystems # @@ -285,7 +296,6 @@ CONFIG_DEVFS_MOUNT=y CONFIG_TMPFS=y # CONFIG_HUGETLB_PAGE is not set CONFIG_RAMFS=y -# CONFIG_RELAYFS_FS is not set # # Miscellaneous filesystems @@ -386,6 +396,7 @@ CONFIG_INOXID_GID24=y # # Security options # +# CONFIG_KEYS is not set # CONFIG_SECURITY is not set # @@ -445,7 +456,6 @@ CONFIG_MTD_CFI_I2=y # CONFIG_MTD_RAM is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set # # Mapping drivers for chip access @@ -475,6 +485,7 @@ CONFIG_MTD_BLKMTD=y # # Kernel hacking # +CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SPINLOCK is not set CONFIG_DEBUG_INFO=y diff --git a/arch/um/drivers/Makefile b/arch/um/drivers/Makefile index ba1aabbd7..127bb4d07 100644 --- a/arch/um/drivers/Makefile +++ b/arch/um/drivers/Makefile @@ -39,7 +39,6 @@ obj-$(CONFIG_PTY_CHAN) += pty.o obj-$(CONFIG_TTY_CHAN) += tty.o obj-$(CONFIG_XTERM_CHAN) += xterm.o xterm_kern.o obj-$(CONFIG_UML_WATCHDOG) += harddog.o -obj-$(CONFIG_BLK_DEV_COW) += cow_kern.o obj-$(CONFIG_BLK_DEV_COW_COMMON) += cow_user.o obj-y += stdio_console.o $(CHAN_OBJS) diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c index 9ffd30050..c3e3b9408 100644 --- a/arch/um/drivers/chan_kern.c +++ b/arch/um/drivers/chan_kern.c @@ -19,6 +19,7 @@ #include "line.h" #include "os.h" +#ifdef CONFIG_NOCONFIG_CHAN static void *not_configged_init(char *str, int device, struct chan_opts *opts) { printk(KERN_ERR "Using a channel type which is configured out of " @@ -87,6 +88,55 @@ static struct chan_ops not_configged_ops = { .free = not_configged_free, .winch = 0, }; +#endif /* CONFIG_NOCONFIG_CHAN */ + +void generic_close(int fd, void *unused) +{ + os_close_file(fd); +} + +int generic_read(int fd, char *c_out, void *unused) +{ + int n; + + n = os_read_file(fd, c_out, sizeof(*c_out)); + + if(n == -EAGAIN) + return(0); + else if(n == 0) + return(-EIO); + return(n); +} + +/* XXX Trivial wrapper around os_write_file */ + +int generic_write(int fd, const char *buf, int n, void *unused) +{ + return(os_write_file(fd, buf, n)); +} + +int generic_window_size(int fd, void *unused, unsigned short *rows_out, + unsigned short *cols_out) +{ + int rows, cols; + int ret; + + ret = os_window_size(fd, &rows, &cols); + if(ret < 0) + return(ret); + + ret = ((*rows_out != rows) || (*cols_out != cols)); + + *rows_out = rows; + *cols_out = cols; + + return(ret); +} + +void generic_free(void *data) +{ + kfree(data); +} void generic_close(int fd, void *unused) { @@ -531,14 +581,14 @@ void chan_interrupt(struct list_head *chans, struct work_struct *task, goto out; } err = chan->ops->read(chan->fd, &c, chan->data); - if(err > 0) + if(err > 0) tty_receive_char(tty, c); } while(err > 0); if(err == 0) reactivate_fd(chan->fd, irq); if(err == -EIO){ if(chan->primary){ - if(tty != NULL) + if(tty != NULL) tty_hangup(tty); line_disable(dev, irq); close_chan(chans); diff --git a/arch/um/drivers/chan_user.c b/arch/um/drivers/chan_user.c index bbc5b4c28..8a5180a77 100644 --- a/arch/um/drivers/chan_user.c +++ b/arch/um/drivers/chan_user.c @@ -21,19 +21,6 @@ #include "choose-mode.h" #include "mode.h" -static void winch_handler(int sig) -{ -} - -struct winch_data { - int pty_fd; - int pipe_fd; - int close_me; -}; - -/* XXX This breaks horribly (by hanging UML) when moved to chan_kern.c - - * needs investigation - */ int generic_console_write(int fd, const char *buf, int n, void *unused) { struct termios save, new; @@ -50,6 +37,16 @@ int generic_console_write(int fd, const char *buf, int n, void *unused) return(err); } +static void winch_handler(int sig) +{ +} + +struct winch_data { + int pty_fd; + int pipe_fd; + int close_me; +}; + static int winch_thread(void *arg) { struct winch_data *data = arg; @@ -141,11 +138,11 @@ void register_winch(int fd, void *device_data) int count; char c = 1; - if(!isatty(fd)) + if(!isatty(fd)) return; pid = tcgetpgrp(fd); - if(!CHOOSE_MODE_PROC(is_tracer_winch, is_skas_winch, pid, fd, + if(!CHOOSE_MODE_PROC(is_tracer_winch, is_skas_winch, pid, fd, device_data) && (pid == -1)){ thread = winch_tramp(fd, device_data, &thread_fd); if(fd != -1){ diff --git a/arch/um/drivers/daemon_user.c b/arch/um/drivers/daemon_user.c index 024972f58..cf15b4a8b 100644 --- a/arch/um/drivers/daemon_user.c +++ b/arch/um/drivers/daemon_user.c @@ -103,7 +103,7 @@ static int connect_to_switch(struct daemon_data *pri) n = os_read_file(pri->control, sun, sizeof(*sun)); if(n != sizeof(*sun)){ - printk("daemon_open : read of data socket failed, err = %d\n", + printk("daemon_open : read of data socket failed, err = %d\n", -n); err = -ENOTCONN; goto out_close; diff --git a/arch/um/drivers/fd.c b/arch/um/drivers/fd.c index 42cba3fe6..1c6daad92 100644 --- a/arch/um/drivers/fd.c +++ b/arch/um/drivers/fd.c @@ -70,7 +70,7 @@ void fd_close(int fd, void *d) if(data->raw && isatty(fd)){ CATCH_EINTR(err = tcsetattr(fd, TCSAFLUSH, &data->tt)); if(err) - printk("Failed to restore terminal state - " + printk("Failed to restore terminal state - " "errno = %d\n", -err); data->raw = 0; } diff --git a/arch/um/drivers/harddog_user.c b/arch/um/drivers/harddog_user.c index 3563d4ac3..d934181b8 100644 --- a/arch/um/drivers/harddog_user.c +++ b/arch/um/drivers/harddog_user.c @@ -123,7 +123,7 @@ int ping_watchdog(int fd) n = os_write_file(fd, &c, sizeof(c)); if(n != sizeof(c)){ printk("ping_watchdog - write failed, err = %d\n", -n); - if(n < 0) + if(n < 0) return(n); return(-EIO); } diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c index 7f965c832..6223a314a 100644 --- a/arch/um/drivers/hostaudio_kern.c +++ b/arch/um/drivers/hostaudio_kern.c @@ -16,11 +16,11 @@ #include "os.h" struct hostaudio_state { - int fd; + int fd; }; struct hostmixer_state { - int fd; + int fd; }; #define HOSTAUDIO_DEV_DSP "/dev/sound/dsp" @@ -189,7 +189,7 @@ static int hostaudio_open(struct inode *inode, struct file *file) #endif state = kmalloc(sizeof(struct hostaudio_state), GFP_KERNEL); - if(state == NULL) + if(state == NULL) return(-ENOMEM); if(file->f_mode & FMODE_READ) r = 1; @@ -217,7 +217,7 @@ static int hostaudio_release(struct inode *inode, struct file *file) os_close_file(state->fd); kfree(state); - return(0); + return(0); } /* /dev/mixer file operations */ @@ -274,7 +274,7 @@ static int hostmixer_release(struct inode *inode, struct file *file) os_close_file(state->fd); kfree(state); - return(0); + return(0); } diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index 80b3e0e23..c6b77fccd 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c @@ -73,9 +73,8 @@ static int buffer_data(struct line *line, const char *buf, int len) else { memcpy(line->tail, buf, end); buf += end; - len -= end; - memcpy(line->buffer, buf, len); - line->tail = line->buffer + len; + memcpy(line->buffer, buf, len - end); + line->tail = line->buffer + len - end; } return(len); @@ -165,7 +164,7 @@ int line_write(struct line *lines, struct tty_struct *tty, int from_user, return(ret); } -static irqreturn_t line_write_interrupt(int irq, void *data, +static irqreturn_t line_write_interrupt(int irq, void *data, struct pt_regs *unused) { struct line *dev = data; @@ -173,14 +172,14 @@ static irqreturn_t line_write_interrupt(int irq, void *data, int err; err = flush_buffer(dev); - if(err == 0) + if(err == 0) return(IRQ_NONE); else if(err < 0){ dev->head = dev->buffer; dev->tail = dev->buffer; } - if(tty == NULL) + if(tty == NULL) return(IRQ_NONE); if(test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags) && @@ -332,7 +331,7 @@ int line_setup(struct line *lines, int num, char *init, int all_allowed) init++; if((n >= 0) && (n >= num)){ printk("line_setup - %d out of range ((0 ... %d) allowed)\n", - n, num); + n, num - 1); return(0); } else if(n >= 0){ @@ -506,7 +505,7 @@ irqreturn_t winch_interrupt(int irq, void *data, struct pt_regs *unused) if(err != -EAGAIN){ printk("winch_interrupt : read failed, " "errno = %d\n", -err); - printk("fd %d is losing SIGWINCH support\n", + printk("fd %d is losing SIGWINCH support\n", winch->tty_fd); return(IRQ_HANDLED); } diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c index 3396ba494..9076c0603 100644 --- a/arch/um/drivers/mconsole_kern.c +++ b/arch/um/drivers/mconsole_kern.c @@ -69,7 +69,7 @@ static void mc_work_proc(void *unused) DECLARE_WORK(mconsole_work, mc_work_proc, NULL); -static irqreturn_t mconsole_interrupt(int irq, void *dev_id, +static irqreturn_t mconsole_interrupt(int irq, void *dev_id, struct pt_regs *regs) { int fd; @@ -78,7 +78,7 @@ static irqreturn_t mconsole_interrupt(int irq, void *dev_id, fd = (int) dev_id; while (mconsole_get_request(fd, &req)){ - if(req.cmd->context == MCONSOLE_INTR) + if(req.cmd->context == MCONSOLE_INTR) (*req.cmd->handler)(&req); else { new = kmalloc(sizeof(*new), GFP_ATOMIC); @@ -90,7 +90,7 @@ static irqreturn_t mconsole_interrupt(int irq, void *dev_id, } } } - if(!list_empty(&mc_requests)) + if(!list_empty(&mc_requests)) schedule_work(&mconsole_work); reactivate_fd(fd, MCONSOLE_IRQ); return(IRQ_HANDLED); @@ -110,7 +110,7 @@ void mconsole_log(struct mc_request *req) { int len; char *ptr = req->request.data; - + ptr += strlen("log "); len = req->len - (ptr - req->request.data); @@ -126,7 +126,7 @@ void mconsole_proc(struct mc_request *req) struct file *file; int n, err; char *ptr = req->request.data, *buf; - + ptr += strlen("proc"); while(isspace(*ptr)) ptr++; @@ -169,14 +169,14 @@ void mconsole_proc(struct mc_request *req) if((file->f_op != NULL) && (file->f_op->read != NULL)){ do { - n = (*file->f_op->read)(file, buf, PAGE_SIZE - 1, + n = (*file->f_op->read)(file, buf, PAGE_SIZE - 1, &file->f_pos); if(n >= 0){ buf[n] = '\0'; mconsole_reply(req, buf, 0, (n > 0)); } else { - mconsole_reply(req, "Read of file failed", + mconsole_reply(req, "Read of file failed", 1, 0); goto out_free; } diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c index 20c473221..c686a39ea 100644 --- a/arch/um/drivers/net_kern.c +++ b/arch/um/drivers/net_kern.c @@ -129,6 +129,13 @@ static int uml_net_open(struct net_device *dev) spin_lock(&opened_lock); list_add(&lp->list, &opened); spin_unlock(&opened_lock); + + /* clear buffer - it can happen that the host side of the interface + * is full when we get here. In this case, new data is never queued, + * SIGIOs never arrive, and the net never works. + */ + while((err = uml_net_rx(dev)) > 0) ; + out: spin_unlock(&lp->lock); return(err); @@ -361,7 +368,7 @@ static int eth_configure(int n, void *init, char *mac, * what it already has. */ save = lp->user[0]; - *lp = ((struct uml_net_private) + *lp = ((struct uml_net_private) { .list = LIST_HEAD_INIT(lp->list), .lock = SPIN_LOCK_UNLOCKED, .dev = dev, diff --git a/arch/um/drivers/net_user.c b/arch/um/drivers/net_user.c index 8753188a5..ef8a1a942 100644 --- a/arch/um/drivers/net_user.c +++ b/arch/um/drivers/net_user.c @@ -84,9 +84,9 @@ int net_read(int fd, void *buf, int len) n = os_read_file(fd, buf, len); - if(n == -EAGAIN) + if(n == -EAGAIN) return(0); - else if(n == 0) + else if(n == 0) return(-ENOTCONN); return(n); } @@ -112,9 +112,9 @@ int net_write(int fd, void *buf, int len) n = os_write_file(fd, buf, len); - if(n == -EAGAIN) + if(n == -EAGAIN) return(0); - else if(n == 0) + else if(n == 0) return(-ENOTCONN); return(n); } @@ -173,10 +173,9 @@ static int change_tramp(char **argv, char *output, int output_len) pe_data.stdout = fds[1]; pid = run_helper(change_pre_exec, &pe_data, argv, NULL); - read_output(fds[0], output, output_len); - os_close_file(fds[0]); os_close_file(fds[1]); - CATCH_EINTR(waitpid(pid, NULL, 0)); + read_output(fds[0], output, output_len); + CATCH_EINTR(err = waitpid(pid, NULL, 0)); return(pid); } diff --git a/arch/um/drivers/port_user.c b/arch/um/drivers/port_user.c index 92a6d4e79..996e817f3 100644 --- a/arch/um/drivers/port_user.c +++ b/arch/um/drivers/port_user.c @@ -48,11 +48,11 @@ void *port_init(char *str, int device, struct chan_opts *opts) } kern_data = port_data(port); - if(kern_data == NULL) + if(kern_data == NULL) return(NULL); data = um_kmalloc(sizeof(*data)); - if(data == NULL) + if(data == NULL) goto err; *data = ((struct port_chan) { .raw = opts->raw, @@ -188,7 +188,7 @@ int port_connection(int fd, int *socket, int *pid_out) return(new); err = os_pipe(socket, 0, 0); - if(err < 0) + if(err < 0) goto out_close; data = ((struct port_pre_exec_data) diff --git a/arch/um/drivers/pty.c b/arch/um/drivers/pty.c index d67417150..c4634b500 100644 --- a/arch/um/drivers/pty.c +++ b/arch/um/drivers/pty.c @@ -98,9 +98,9 @@ int pty_open(int input, int output, int primary, void *d, char **dev_out) char dev[sizeof("/dev/ptyxx\0")] = "/dev/ptyxx"; fd = getmaster(dev); - if(fd < 0) + if(fd < 0) return(-errno); - + if(data->raw){ err = raw(fd); if(err) diff --git a/arch/um/drivers/slirp_user.c b/arch/um/drivers/slirp_user.c index e95fcabbb..c322515c7 100644 --- a/arch/um/drivers/slirp_user.c +++ b/arch/um/drivers/slirp_user.c @@ -48,7 +48,7 @@ static int slirp_tramp(char **argv, int fd) return(pid); } -/* XXX This is just a trivial wrapper around os_pipe */ +/* XXX This is just a trivial wrapper around os_pipe */ static int slirp_datachan(int *mfd, int *sfd) { int fds[2], err; diff --git a/arch/um/drivers/ssl.c b/arch/um/drivers/ssl.c index 4649c4c22..4a3586f0d 100644 --- a/arch/um/drivers/ssl.c +++ b/arch/um/drivers/ssl.c @@ -217,7 +217,7 @@ static struct tty_operations ssl_ops = { */ static int ssl_init_done = 0; -static void ssl_console_write(struct console *c, const char *string, +static void ssl_console_write(struct console *c, const char *string, unsigned len) { struct line *line = &serial_lines[c->index]; @@ -272,8 +272,8 @@ late_initcall(ssl_init); static int ssl_chan_setup(char *str) { - return(line_setup(serial_lines, - sizeof(serial_lines)/sizeof(serial_lines[0]), + return(line_setup(serial_lines, + sizeof(serial_lines)/sizeof(serial_lines[0]), str, 1)); } diff --git a/arch/um/drivers/stdio_console.c b/arch/um/drivers/stdio_console.c index 90fb3a7e1..54e6a57c8 100644 --- a/arch/um/drivers/stdio_console.c +++ b/arch/um/drivers/stdio_console.c @@ -17,8 +17,8 @@ #include "linux/init.h" #include "linux/interrupt.h" #include "linux/slab.h" +#include "linux/hardirq.h" #include "asm/current.h" -#include "asm/hardirq.h" #include "asm/irq.h" #include "stdio_console.h" #include "line.h" @@ -191,8 +191,8 @@ int stdio_init(void) late_initcall(stdio_init); -static void uml_console_write(struct console *console, const char *string, - unsigned len) +static void uml_console_write(struct console *console, const char *string, + unsigned len) { struct line *line = &vts[console->index]; diff --git a/arch/um/drivers/tty.c b/arch/um/drivers/tty.c index 54aadefe2..dd008aa8f 100644 --- a/arch/um/drivers/tty.c +++ b/arch/um/drivers/tty.c @@ -29,8 +29,8 @@ void *tty_chan_init(char *str, int device, struct chan_opts *opts) } str++; - data = um_kmalloc(sizeof(*data)); - if(data == NULL) + data = um_kmalloc(sizeof(*data)); + if(data == NULL) return(NULL); *data = ((struct tty_chan) { .dev = str, .raw = opts->raw }); diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c index bad209bf2..6f1730d74 100644 --- a/arch/um/drivers/ubd_kern.c +++ b/arch/um/drivers/ubd_kern.c @@ -299,7 +299,7 @@ static int ubd_setup_common(char *str, int *index_out) } if(n >= MAX_DEV){ printk(KERN_ERR "ubd_setup : index %d out of range " - "(%d devices)\n", n, MAX_DEV); + "(%d devices, from 0 to %d)\n", n, MAX_DEV, MAX_DEV - 1); return(1); } @@ -396,14 +396,13 @@ int thread_fd = -1; */ int intr_count = 0; -static void ubd_finish(struct request *req, int error) +/* call ubd_finish if you need to serialize */ +static void __ubd_finish(struct request *req, int error) { int nsect; if(error){ - spin_lock(&ubd_io_lock); end_request(req, 0); - spin_unlock(&ubd_io_lock); return; } nsect = req->current_nr_sectors; @@ -412,11 +411,17 @@ static void ubd_finish(struct request *req, int error) req->errors = 0; req->nr_sectors -= nsect; req->current_nr_sectors = 0; - spin_lock(&ubd_io_lock); end_request(req, 1); +} + +static inline void ubd_finish(struct request *req, int error) +{ + spin_lock(&ubd_io_lock); + __ubd_finish(req, error); spin_unlock(&ubd_io_lock); } +/* Called without ubd_io_lock held */ static void ubd_handler(void) { struct io_thread_req req; @@ -435,13 +440,13 @@ static void ubd_handler(void) return; } - if((req.op != UBD_MMAP) && + if((req.op != UBD_MMAP) && ((req.offset != ((__u64) (rq->sector)) << 9) || (req.length != (rq->current_nr_sectors) << 9))) panic("I/O op mismatch"); if(req.map_fd != -1){ - err = physmem_subst_mapping(req.buffer, req.map_fd, + err = physmem_subst_mapping(req.buffer, req.map_fd, req.map_offset, 1); if(err) printk("ubd_handler - physmem_subst_mapping failed, " @@ -749,8 +754,6 @@ int ubd_init(void) return -1; } - elevator_init(ubd_queue, &elevator_noop); - if (fake_major != MAJOR_NR) { char name[sizeof("ubd_nnn\0")]; @@ -770,9 +773,11 @@ int ubd_driver_init(void){ unsigned long stack; int err; + /* Set by CONFIG_BLK_DEV_UBD_SYNC or ubd=sync.*/ if(global_openflags.s){ - printk(KERN_INFO "ubd : Synchronous mode\n"); - return(0); + printk(KERN_INFO "ubd: Synchronous mode\n"); + /* Letting ubd=sync be like using ubd#s= instead of ubd#= is + * enough. So use anyway the io thread. */ } stack = alloc_stack(0, 0); io_pid = start_io_thread(stack + PAGE_SIZE - sizeof(void *), @@ -782,11 +787,12 @@ int ubd_driver_init(void){ printk(KERN_ERR "ubd : Failed to start I/O thread (errno = %d) - " "falling back to synchronous I/O\n", -io_pid); + io_pid = -1; return(0); } err = um_request_irq(UBD_IRQ, thread_fd, IRQ_READ, ubd_intr, SA_INTERRUPT, "ubd", ubd_dev); - if(err != 0) + if(err != 0) printk(KERN_ERR "um_request_irq failed - errno = %d\n", -err); return(err); } @@ -826,8 +832,8 @@ static int ubd_release(struct inode * inode, struct file * file) return(0); } -static void cowify_bitmap(__u64 io_offset, int length, unsigned long *cow_mask, - __u64 *cow_offset, unsigned long *bitmap, +static void cowify_bitmap(__u64 io_offset, int length, unsigned long *cow_mask, + __u64 *cow_offset, unsigned long *bitmap, __u64 bitmap_offset, unsigned long *bitmap_words, __u64 bitmap_len) { @@ -854,7 +860,7 @@ static void cowify_bitmap(__u64 io_offset, int length, unsigned long *cow_mask, * by one word. Thanks to Lynn Kerby for the fix and James McMechan * for the original diagnosis. */ - if(*cow_offset == ((bitmap_len + sizeof(unsigned long) - 1) / + if(*cow_offset == ((bitmap_len + sizeof(unsigned long) - 1) / sizeof(unsigned long) - 1)) (*cow_offset)--; @@ -865,7 +871,7 @@ static void cowify_bitmap(__u64 io_offset, int length, unsigned long *cow_mask, *cow_offset += bitmap_offset; } -static void cowify_req(struct io_thread_req *req, unsigned long *bitmap, +static void cowify_req(struct io_thread_req *req, unsigned long *bitmap, __u64 bitmap_offset, __u64 bitmap_len) { __u64 sector = req->offset >> 9; @@ -882,7 +888,7 @@ static void cowify_req(struct io_thread_req *req, unsigned long *bitmap, } } else cowify_bitmap(req->offset, req->length, &req->sector_mask, - &req->cow_offset, bitmap, bitmap_offset, + &req->cow_offset, bitmap, bitmap_offset, req->bitmap_words, bitmap_len); } @@ -926,8 +932,8 @@ static int mmap_fd(struct request *req, struct ubd *dev, __u64 offset) return(bit ? dev->fd : dev->cow.fd); } -static int prepare_mmap_request(struct ubd *dev, int fd, __u64 offset, - struct request *req, +static int prepare_mmap_request(struct ubd *dev, int fd, __u64 offset, + struct request *req, struct io_thread_req *io_req) { int err; @@ -938,10 +944,10 @@ static int prepare_mmap_request(struct ubd *dev, int fd, __u64 offset, */ dev->map_writes++; if(dev->cow.file != NULL) - cowify_bitmap(io_req->offset, io_req->length, + cowify_bitmap(io_req->offset, io_req->length, &io_req->sector_mask, &io_req->cow_offset, dev->cow.bitmap, dev->cow.bitmap_offset, - io_req->bitmap_words, + io_req->bitmap_words, dev->cow.bitmap_len); } else { @@ -956,7 +962,7 @@ static int prepare_mmap_request(struct ubd *dev, int fd, __u64 offset, err = physmem_subst_mapping(req->buffer, fd, offset, w); if(err){ - printk("physmem_subst_mapping failed, err = %d\n", + printk("physmem_subst_mapping failed, err = %d\n", -err); return(1); } @@ -967,6 +973,7 @@ static int prepare_mmap_request(struct ubd *dev, int fd, __u64 offset, return(0); } +/* Called with ubd_io_lock held */ static int prepare_request(struct request *req, struct io_thread_req *io_req) { struct gendisk *disk = req->rq_disk; @@ -979,9 +986,7 @@ static int prepare_request(struct request *req, struct io_thread_req *io_req) if((rq_data_dir(req) == WRITE) && !dev->openflags.w){ printk("Write attempted on readonly ubd device %s\n", disk->disk_name); - spin_lock(&ubd_io_lock); end_request(req, 0); - spin_unlock(&ubd_io_lock); return(1); } @@ -999,18 +1004,18 @@ static int prepare_request(struct request *req, struct io_thread_req *io_req) fd = mmap_fd(req, dev, io_req->offset); if(fd > 0){ - /* If mmapping is otherwise OK, but the first access to the - * page is a write, then it's not mapped in yet. So we have + /* If mmapping is otherwise OK, but the first access to the + * page is a write, then it's not mapped in yet. So we have * to write the data to disk first, then we can map the disk * page in and continue normally from there. */ - if((rq_data_dir(req) == WRITE) && !is_remapped(req->buffer, dev->fd, io_req->offset + dev->cow.data_offset)){ + if((rq_data_dir(req) == WRITE) && !is_remapped(req->buffer)){ io_req->map_fd = dev->fd; - io_req->map_offset = io_req->offset + + io_req->map_offset = io_req->offset + dev->cow.data_offset; dev->write_maps++; } - else return(prepare_mmap_request(dev, fd, io_req->offset, req, + else return(prepare_mmap_request(dev, fd, io_req->offset, req, io_req)); } @@ -1024,13 +1029,14 @@ static int prepare_request(struct request *req, struct io_thread_req *io_req) io_req->buffer = req->buffer; io_req->sectorsize = 1 << 9; - if(dev->cow.file != NULL) + if(dev->cow.file != NULL) cowify_req(io_req, dev->cow.bitmap, dev->cow.bitmap_offset, dev->cow.bitmap_len); return(0); } +/* Called with ubd_io_lock held */ static void do_ubd_request(request_queue_t *q) { struct io_thread_req io_req; @@ -1038,19 +1044,17 @@ static void do_ubd_request(request_queue_t *q) int err, n; if(thread_fd == -1){ - while(!elv_queue_empty(q)){ - req = elv_next_request(q); + while((req = elv_next_request(q)) != NULL){ err = prepare_request(req, &io_req); if(!err){ do_io(&io_req); - ubd_finish(req, io_req.error); + __ubd_finish(req, io_req.error); } } } else { - if(do_ubd || elv_queue_empty(q)) + if(do_ubd || (req = elv_next_request(q)) == NULL) return; - req = elv_next_request(q); err = prepare_request(req, &io_req); if(!err){ do_ubd = ubd_handler; @@ -1068,7 +1072,6 @@ static int ubd_ioctl(struct inode * inode, struct file * file, { struct hd_geometry *loc = (struct hd_geometry *) arg; struct ubd *dev = inode->i_bdev->bd_disk->private_data; - int err; struct hd_driveid ubd_id = { .cyls = 0, .heads = 128, @@ -1086,32 +1089,6 @@ static int ubd_ioctl(struct inode * inode, struct file * file, g.start = get_start_sect(inode->i_bdev); return(copy_to_user(loc, &g, sizeof(g)) ? -EFAULT : 0); - case HDIO_SET_UNMASKINTR: - if(!capable(CAP_SYS_ADMIN)) return(-EACCES); - if((arg > 1) || (inode->i_bdev->bd_contains != inode->i_bdev)) - return(-EINVAL); - return(0); - - case HDIO_GET_UNMASKINTR: - if(!arg) return(-EINVAL); - err = verify_area(VERIFY_WRITE, (long *) arg, sizeof(long)); - if(err) - return(err); - return(0); - - case HDIO_GET_MULTCOUNT: - if(!arg) return(-EINVAL); - err = verify_area(VERIFY_WRITE, (long *) arg, sizeof(long)); - if(err) - return(err); - return(0); - - case HDIO_SET_MULTCOUNT: - if(!capable(CAP_SYS_ADMIN)) return(-EACCES); - if(inode->i_bdev->bd_contains != inode->i_bdev) - return(-EINVAL); - return(0); - case HDIO_GET_IDENTITY: ubd_id.cyls = dev->size / (128 * 32 * 512); if(copy_to_user((char *) arg, (char *) &ubd_id, @@ -1134,20 +1111,12 @@ static int ubd_ioctl(struct inode * inode, struct file * file, } static int ubd_check_remapped(int fd, unsigned long address, int is_write, - __u64 offset, int is_user) + __u64 offset) { __u64 bitmap_offset; unsigned long new_bitmap[2]; int i, err, n; - /* This can only fix kernelspace faults */ - if(is_user) - return(0); - - /* ubd-mmap is only enabled in skas mode */ - if(CHOOSE_MODE(1, 0)) - return(0); - /* If it's not a write access, we can't do anything about it */ if(!is_write) return(0); @@ -1174,7 +1143,7 @@ static int ubd_check_remapped(int fd, unsigned long address, int is_write, } /* It's a write to a writeable ubd device - it must be COWed - * because, otherwise, the page would have been mapped in + * because, otherwise, the page would have been mapped in * writeable */ @@ -1182,7 +1151,7 @@ static int ubd_check_remapped(int fd, unsigned long address, int is_write, panic("Write fault on writeable non-COW ubd device %d", i); - /* It should also be an access to the backing file since the + /* It should also be an access to the backing file since the * COW pages should be mapped in read-write */ @@ -1190,14 +1159,14 @@ static int ubd_check_remapped(int fd, unsigned long address, int is_write, panic("Write fault on a backing page of ubd " "device %d\n", i); - /* So, we do the write, copying the backing data to the COW - * file... + /* So, we do the write, copying the backing data to the COW + * file... */ err = os_seek_file(dev->fd, offset + dev->cow.data_offset); if(err < 0) panic("Couldn't seek to %lld in COW file of ubd " - "device %d, err = %d", + "device %d, err = %d", offset + dev->cow.data_offset, i, -err); n = os_write_file(dev->fd, (void *) address, PAGE_SIZE); @@ -1207,8 +1176,8 @@ static int ubd_check_remapped(int fd, unsigned long address, int is_write, /* ... updating the COW bitmap... */ - cowify_bitmap(offset, PAGE_SIZE, NULL, &bitmap_offset, - dev->cow.bitmap, dev->cow.bitmap_offset, + cowify_bitmap(offset, PAGE_SIZE, NULL, &bitmap_offset, + dev->cow.bitmap, dev->cow.bitmap_offset, new_bitmap, dev->cow.bitmap_len); err = os_seek_file(dev->fd, bitmap_offset); @@ -1220,11 +1189,11 @@ static int ubd_check_remapped(int fd, unsigned long address, int is_write, if(n != sizeof(new_bitmap)) panic("Couldn't update bitmap of ubd device %d, " "err = %d", i, -n); - + /* Maybe we can map the COW page in, and maybe we can't. If - * it is a pre-V3 COW file, we can't, since the alignment will - * be wrong. If it is a V3 or later COW file which has been - * moved to a system with a larger page size, then maybe we + * it is a pre-V3 COW file, we can't, since the alignment will + * be wrong. If it is a V3 or later COW file which has been + * moved to a system with a larger page size, then maybe we * can't, depending on the exact location of the page. */ @@ -1236,16 +1205,16 @@ static int ubd_check_remapped(int fd, unsigned long address, int is_write, */ if(!physmem_remove_mapping((void *) address)) - panic("Address 0x%lx not remapped by ubd device %d", + panic("Address 0x%lx not remapped by ubd device %d", address, i); if((offset % UBD_MMAP_BLOCK_SIZE) == 0) - physmem_subst_mapping((void *) address, dev->fd, + physmem_subst_mapping((void *) address, dev->fd, offset, 1); else { err = os_seek_file(dev->fd, offset); if(err < 0) panic("Couldn't seek to %lld in COW file of " - "ubd device %d, err = %d", offset, i, + "ubd device %d, err = %d", offset, i, -err); n = os_read_file(dev->fd, (void *) address, PAGE_SIZE); diff --git a/arch/um/drivers/ubd_user.c b/arch/um/drivers/ubd_user.c index 400c2a08d..882d2f7c1 100644 --- a/arch/um/drivers/ubd_user.c +++ b/arch/um/drivers/ubd_user.c @@ -44,9 +44,7 @@ static int same_backing_files(char *from_cmdline, char *from_cow, char *cow) printk("Couldn't stat '%s', err = %d\n", from_cow, -err); return(1); } - if((buf1.ust_major == buf2.ust_major) && - (buf1.ust_minor == buf2.ust_minor) && - (buf1.ust_ino == buf2.ust_ino)) + if((buf1.ust_dev == buf2.ust_dev) && (buf1.ust_ino == buf2.ust_ino)) return(1); printk("Backing file mismatch - \"%s\" requested,\n" @@ -93,11 +91,11 @@ int read_cow_bitmap(int fd, void *buf, int offset, int len) int err; err = os_seek_file(fd, offset); - if(err < 0) + if(err < 0) return(err); err = os_read_file(fd, buf, len); - if(err < 0) + if(err < 0) return(err); return(0); @@ -121,8 +119,8 @@ int open_ubd_file(char *file, struct openflags *openflags, if(!openflags->w || ((errno != EROFS) && (errno != EACCES))) return(-errno); openflags->w = 0; - fd = os_open_file(file, *openflags, mode); - if(fd < 0) + fd = os_open_file(file, *openflags, mode); + if(fd < 0) return(fd); } @@ -131,7 +129,7 @@ int open_ubd_file(char *file, struct openflags *openflags, printk("Failed to lock '%s', err = %d\n", file, -err); goto out_close; } - + if(backing_file_out == NULL) return(fd); err = read_cow_header(file_reader, &fd, &version, &backing_file, &mtime, @@ -162,7 +160,7 @@ int open_ubd_file(char *file, struct openflags *openflags, if(err) goto out_close; } - cow_sizes(version, size, sectorsize, align, *bitmap_offset_out, + cow_sizes(version, size, sectorsize, align, *bitmap_offset_out, bitmap_len_out, data_offset_out); return(fd); @@ -172,7 +170,7 @@ int open_ubd_file(char *file, struct openflags *openflags, } int create_cow_file(char *cow_file, char *backing_file, struct openflags flags, - int sectorsize, int alignment, int *bitmap_offset_out, + int sectorsize, int alignment, int *bitmap_offset_out, unsigned long *bitmap_len_out, int *data_offset_out) { int err, fd; @@ -187,11 +185,10 @@ int create_cow_file(char *cow_file, char *backing_file, struct openflags flags, } err = init_cow_file(fd, cow_file, backing_file, sectorsize, alignment, - bitmap_offset_out, bitmap_len_out, + bitmap_offset_out, bitmap_len_out, data_offset_out); if(!err) return(fd); - os_close_file(fd); out: return(err); @@ -241,8 +238,8 @@ void do_io(struct io_thread_req *req) __u64 off; if(req->op == UBD_MMAP){ - /* Touch the page to force the host to do any necessary IO to - * get it into memory + /* Touch the page to force the host to do any necessary IO to + * get it into memory */ n = *((volatile int *) req->buffer); req->error = update_bitmap(req); @@ -353,6 +350,7 @@ int start_io_thread(unsigned long sp, int *fd_out) NULL); if(pid < 0){ printk("start_io_thread - clone failed : errno = %d\n", errno); + err = -errno; goto out_close; } diff --git a/arch/um/include/mem.h b/arch/um/include/mem.h index 7d3bc63dd..10c46c389 100644 --- a/arch/um/include/mem.h +++ b/arch/um/include/mem.h @@ -10,7 +10,7 @@ extern int phys_mapping(unsigned long phys, __u64 *offset_out); extern int physmem_subst_mapping(void *virt, int fd, __u64 offset, int w); -extern int is_remapped(const void *virt, int fd, __u64 offset); +extern int is_remapped(void *virt); extern int physmem_remove_mapping(void *virt); extern void physmem_forget_descriptor(int fd); diff --git a/arch/um/include/mem_user.h b/arch/um/include/mem_user.h index fe0c298c2..f530ac3f8 100644 --- a/arch/um/include/mem_user.h +++ b/arch/um/include/mem_user.h @@ -54,7 +54,7 @@ extern int init_mem_user(void); extern int create_mem_file(unsigned long len); extern void setup_memory(void *entry); extern unsigned long find_iomem(char *driver, unsigned long *len_out); -extern int init_maps(unsigned long physmem, unsigned long iomem, +extern int init_maps(unsigned long physmem, unsigned long iomem, unsigned long highmem); extern unsigned long get_vm(unsigned long len); extern void setup_physmem(unsigned long start, unsigned long usable, @@ -62,7 +62,7 @@ extern void setup_physmem(unsigned long start, unsigned long usable, extern void add_iomem(char *name, int fd, unsigned long size); extern unsigned long phys_offset(unsigned long phys); extern void unmap_physmem(void); -extern void map_memory(unsigned long virt, unsigned long phys, +extern void map_memory(unsigned long virt, unsigned long phys, unsigned long len, int r, int w, int x); extern int protect_memory(unsigned long addr, unsigned long len, int r, int w, int x, int must_succeed); diff --git a/arch/um/include/os.h b/arch/um/include/os.h index 08a174e9a..8cf2dcf04 100644 --- a/arch/um/include/os.h +++ b/arch/um/include/os.h @@ -29,8 +29,7 @@ * (if they are wrong here, they are wrong there...). */ struct uml_stat { - int ust_major; /* device */ - int ust_minor; + int ust_dev; /* device */ unsigned long long ust_ino; /* inode */ int ust_mode; /* protection */ int ust_nlink; /* number of hard links */ @@ -42,8 +41,6 @@ struct uml_stat { unsigned long ust_atime; /* time of last access */ unsigned long ust_mtime; /* time of last modification */ unsigned long ust_ctime; /* time of last change */ - int ust_rmajor; - int ust_rminor; }; struct openflags { @@ -122,20 +119,9 @@ static inline struct openflags of_cloexec(struct openflags flags) return(flags); } -static inline struct openflags of_direct(struct openflags flags) -{ - flags.d = 1; - return(flags); -} - extern int os_stat_file(const char *file_name, struct uml_stat *buf); -extern int os_lstat_file(const char *file_name, struct uml_stat *ubuf); extern int os_stat_fd(const int fd, struct uml_stat *buf); extern int os_access(const char *file, int mode); -extern int os_set_file_time(const char *file, unsigned long access, - unsigned long mod); -extern int os_set_file_perms(const char *file, int mode); -extern int os_set_file_owner(const char *file, int owner, int group); extern void os_print_error(int error, const char* str); extern int os_get_exec_close(int fd, int *close_on_exec); extern int os_set_exec_close(int fd, int close_on_exec); @@ -163,7 +149,6 @@ extern int os_truncate_fd(int fd, unsigned long long len); extern int os_read_file(int fd, void *buf, int len); extern int os_write_file(int fd, const void *buf, int count); extern int os_file_size(char *file, long long *size_out); -extern int os_fd_size(int fd, long long *size_out); extern int os_file_modtime(char *file, unsigned long *modtime); extern int os_pipe(int *fd, int stream, int close_on_exec); extern int os_set_fd_async(int fd, int owner); @@ -171,12 +156,6 @@ extern int os_clear_fd_async(int fd); extern int os_set_fd_block(int fd, int blocking); extern int os_accept_connection(int fd); extern int os_create_unix_socket(char *file, int len, int close_on_exec); -extern int os_make_symlink(const char *to, const char *from); -extern int os_read_symlink(const char *file, char *buf, int size); -extern int os_link_file(const char *to, const char *from); -extern int os_make_dir(const char *dir, int mode); -extern int os_remove_dir(const char *dir); -extern int os_make_dev(const char *name, int mode, int major, int minor); extern int os_shutdown_socket(int fd, int r, int w); extern void os_close_file(int fd); extern int os_rcv_fd(int fd, int *helper_pid_out); @@ -193,18 +172,12 @@ extern void os_kill_process(int pid, int reap_child); extern void os_usr1_process(int pid); extern int os_getpid(void); -extern int os_map_memory(void *virt, int fd, unsigned long long off, +extern int os_map_memory(void *virt, int fd, unsigned long long off, unsigned long len, int r, int w, int x); extern int os_protect_memory(void *addr, unsigned long len, int r, int w, int x); extern int os_unmap_memory(void *addr, int len); extern void os_flush_stdout(void); -extern int os_stat_filesystem(char *path, long *bsize_out, - long long *blocks_out, long long *bfree_out, - long long *bavail_out, long long *files_out, - long long *ffree_out, void *fsid_out, - int fsid_size, long *namelen_out, - long *spare_out); extern unsigned long long os_usecs(void); #endif diff --git a/arch/um/include/sysdep-i386/checksum.h b/arch/um/include/sysdep-i386/checksum.h index bac91c1b8..bb6b343f1 100644 --- a/arch/um/include/sysdep-i386/checksum.h +++ b/arch/um/include/sysdep-i386/checksum.h @@ -103,7 +103,8 @@ static inline unsigned short ip_fast_csum(unsigned char * iph, are modified, we must also specify them as outputs, or gcc will assume they contain their original values. */ : "=r" (sum), "=r" (iph), "=r" (ihl) - : "1" (iph), "2" (ihl)); + : "1" (iph), "2" (ihl) + : "memory"); return(sum); } diff --git a/arch/um/include/sysdep-i386/syscalls.h b/arch/um/include/sysdep-i386/syscalls.h index 4ab66ae85..47687dcf2 100644 --- a/arch/um/include/sysdep-i386/syscalls.h +++ b/arch/um/include/sysdep-i386/syscalls.h @@ -38,7 +38,7 @@ typedef long syscall_handler_t(struct pt_regs); [ __NR_pivot_root ] = (syscall_handler_t *) sys_pivot_root, \ [ __NR_mincore ] = (syscall_handler_t *) sys_mincore, \ [ __NR_madvise ] = (syscall_handler_t *) sys_madvise, \ - [ 222 ] = (syscall_handler_t *) sys_ni_syscall, + [ 222 ] = (syscall_handler_t *) sys_ni_syscall, /* 222 doesn't yet have a name in include/asm-i386/unistd.h */ diff --git a/arch/um/include/ubd_user.h b/arch/um/include/ubd_user.h index bddccc0e3..9bac59c4c 100644 --- a/arch/um/include/ubd_user.h +++ b/arch/um/include/ubd_user.h @@ -33,7 +33,7 @@ extern int open_ubd_file(char *file, struct openflags *openflags, int *create_cow_out); extern int create_cow_file(char *cow_file, char *backing_file, struct openflags flags, int sectorsize, - int alignment, int *bitmap_offset_out, + int alignment, int *bitmap_offset_out, unsigned long *bitmap_len_out, int *data_offset_out); extern int read_cow_bitmap(int fd, void *buf, int offset, int len); diff --git a/arch/um/include/um_uaccess.h b/arch/um/include/um_uaccess.h index 8b36a5464..c9b3574c6 100644 --- a/arch/um/include/um_uaccess.h +++ b/arch/um/include/um_uaccess.h @@ -44,7 +44,7 @@ static inline int copy_to_user(void *to, const void *from, int n) * least @count bytes long. * @src: Source address, in user space. * @count: Maximum number of bytes to copy, including the trailing NUL. - * + * * Copies a NUL-terminated string from userspace to kernel space. * * On success, returns the length of the string (not including the trailing diff --git a/arch/um/kernel/Makefile b/arch/um/kernel/Makefile index 6cce2669d..9fa9711ec 100644 --- a/arch/um/kernel/Makefile +++ b/arch/um/kernel/Makefile @@ -3,20 +3,16 @@ # Licensed under the GPL # -extra-y := vmlinux.lds.s +extra-y := vmlinux.lds +clean-files := vmlinux.lds.S -# Descend into ../util for make clean. This is here because it doesn't work -# in arch/um/Makefile. - -subdir- = ../util - -obj-y = checksum.o config.o exec_kern.o exitcode.o filehandle.o frame_kern.o \ - frame.o helper.o init_task.o irq.o irq_user.o ksyms.o mem.o \ - mem_user.o physmem.o process.o process_kern.o ptrace.o reboot.o \ - resource.o sigio_user.o sigio_kern.o signal_kern.o signal_user.o \ - smp.o syscall_kern.o syscall_user.o sysrq.o sys_call_table.o \ - tempfile.o time.o time_kern.o tlb.o trap_kern.o trap_user.o \ - uaccess_user.o um_arch.o umid.o user_util.o +obj-y = checksum.o config.o exec_kern.o exitcode.o frame_kern.o frame.o \ + helper.o init_task.o irq.o irq_user.o ksyms.o main.o mem.o mem_user.o \ + physmem.o process.o process_kern.o ptrace.o reboot.o resource.o \ + sigio_user.o sigio_kern.o signal_kern.o signal_user.o smp.o \ + syscall_kern.o syscall_user.o sysrq.o sys_call_table.o tempfile.o \ + time.o time_kern.o tlb.o trap_kern.o trap_user.o uaccess_user.o \ + um_arch.o umid.o user_util.o obj-$(CONFIG_BLK_DEV_INITRD) += initrd_kern.o initrd_user.o obj-$(CONFIG_GPROF) += gprof_syms.o @@ -29,25 +25,17 @@ obj-$(CONFIG_MODE_SKAS) += skas/ user-objs-$(CONFIG_TTY_LOG) += tty_log.o USER_OBJS := $(filter %_user.o,$(obj-y)) $(user-objs-y) config.o helper.o \ - process.o tempfile.o time.o tty_log.o umid.o user_util.o + main.o process.o tempfile.o time.o tty_log.o umid.o user_util.o frame.o USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) -CFLAGS_frame.o := $(patsubst -fomit-frame-pointer,,$(USER_CFLAGS)) - -# This has to be separate because it needs be compiled with frame pointers -# regardless of how the rest of the kernel is built. - -$(obj)/frame.o: $(src)/frame.c - $(CC) $(CFLAGS_$(notdir $@)) -c -o $@ $< +CFLAGS_frame.o := -fno-omit-frame-pointer $(USER_OBJS) : %.o: %.c - $(CC) $(CFLAGS_$(notdir $@)) $(USER_CFLAGS) -c -o $@ $< + $(CC) $(USER_CFLAGS) $(CFLAGS_$(notdir $@)) -c -o $@ $< QUOTE = 'my $$config=`cat $(TOPDIR)/.config`; $$config =~ s/"/\\"/g ; $$config =~ s/\n/\\n"\n"/g ; while() { $$_ =~ s/CONFIG/$$config/; print $$_ }' -$(obj)/config.o : $(obj)/config.c - -quiet_cmd_quote = QUOTE $@ +quiet_cmd_quote = QUOTE $@ cmd_quote = $(PERL) -e $(QUOTE) < $< > $@ targets += config.c diff --git a/arch/um/kernel/frame_kern.c b/arch/um/kernel/frame_kern.c index 24fa89383..809002dad 100644 --- a/arch/um/kernel/frame_kern.c +++ b/arch/um/kernel/frame_kern.c @@ -35,7 +35,7 @@ static int copy_sc_to_user(void *to, void *fp, struct pt_regs *from, { return(CHOOSE_MODE(copy_sc_to_user_tt(to, fp, UPT_SC(&from->regs), arch), - copy_sc_to_user_skas(userspace_pid[0], to, fp, + copy_sc_to_user_skas(userspace_pid[0], to, fp, &from->regs, current->thread.cr2, current->thread.err))); diff --git a/arch/um/kernel/helper.c b/arch/um/kernel/helper.c index 29cceb012..6c7114417 100644 --- a/arch/um/kernel/helper.c +++ b/arch/um/kernel/helper.c @@ -61,7 +61,7 @@ int run_helper(void (*pre_exec)(void *), void *pre_data, char **argv, if((stack_out != NULL) && (*stack_out != 0)) stack = *stack_out; else stack = alloc_stack(0, um_in_interrupt()); - if(stack == 0) + if(stack == 0) return(-ENOMEM); err = os_pipe(fds, 1, 0); @@ -94,7 +94,7 @@ int run_helper(void (*pre_exec)(void *), void *pre_data, char **argv, if(n < 0){ printk("run_helper : read on pipe failed, err = %d\n", -n); err = n; - os_kill_process(pid, 1); + goto out_kill; } else if(n != 0){ CATCH_EINTR(n = waitpid(pid, NULL, 0)); @@ -108,6 +108,15 @@ int run_helper(void (*pre_exec)(void *), void *pre_data, char **argv, if(stack_out == NULL) free_stack(stack, 0); else *stack_out = stack; + return(pid); + + out_kill: + os_kill_process(pid, 1); + out_close: + os_close_file(fds[0]); + os_close_file(fds[1]); + out_free: + free_stack(stack, 0); return(err); } @@ -128,7 +137,7 @@ int run_helper_thread(int (*proc)(void *), void *arg, unsigned int flags, return(-errno); } if(stack_out == NULL){ - pid = waitpid(pid, &status, 0); + CATCH_EINTR(pid = waitpid(pid, &status, 0)); if(pid < 0){ printk("run_helper_thread - wait failed, errno = %d\n", errno); @@ -147,7 +156,7 @@ int helper_wait(int pid, int block) { int ret; - ret = waitpid(pid, NULL, WNOHANG); + CATCH_EINTR(ret = waitpid(pid, NULL, WNOHANG)); if(ret < 0){ printk("helper_wait : waitpid failed, errno = %d\n", errno); return(-errno); diff --git a/arch/um/kernel/initrd_user.c b/arch/um/kernel/initrd_user.c index 265cbab78..57d5b41db 100644 --- a/arch/um/kernel/initrd_user.c +++ b/arch/um/kernel/initrd_user.c @@ -25,7 +25,7 @@ int load_initrd(char *filename, void *buf, int size) } n = os_read_file(fd, buf, size); if(n != size){ - printk("Read of %d bytes from '%s' failed, err = %d\n", size, + printk("Read of %d bytes from '%s' failed, err = %d\n", size, filename, -n); return(-1); } diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index 9b2a68f13..2b8250955 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c @@ -18,9 +18,10 @@ #include "linux/proc_fs.h" #include "linux/init.h" #include "linux/seq_file.h" +#include "linux/profile.h" +#include "linux/hardirq.h" #include "asm/irq.h" #include "asm/hw_irq.h" -#include "asm/hardirq.h" #include "asm/atomic.h" #include "asm/signal.h" #include "asm/system.h" @@ -146,13 +147,16 @@ int handle_IRQ_event(unsigned int irq, struct pt_regs * regs, struct irqaction * action) { int status = 1; /* Force the "do bottom halves" bit */ + int ret, retval = 0; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; + retval |= ret; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -160,7 +164,7 @@ int handle_IRQ_event(unsigned int irq, struct pt_regs * regs, local_irq_disable(); - return status; + return retval; } /* @@ -430,13 +434,15 @@ int um_request_irq(unsigned int irq, int fd, int type, int err; err = request_irq(irq, handler, irqflags, devname, dev_id); - if(err) + if(err) return(err); if(fd != -1) err = activate_fd(irq, fd, type, dev_id); return(err); } +EXPORT_SYMBOL(um_request_irq); +EXPORT_SYMBOL(reactivate_fd); /* this was setup_x86_irq but it seems pretty generic */ int setup_irq(unsigned int irq, struct irqaction * new) @@ -609,30 +615,6 @@ static int irq_affinity_write_proc (struct file *file, const char *buffer, return full_count; } -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, const char *buffer, - unsigned long count, void *data) -{ - cpumask_t *mask = (cpumask_t *)data, new_value; - unsigned long full_count = count, err; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} - #define MAX_NAMELEN 10 static void register_irq_proc (unsigned int irq) @@ -661,24 +643,15 @@ static void register_irq_proc (unsigned int irq) smp_affinity_entry[irq] = entry; } -/* Read and written as a long */ -cpumask_t prof_cpu_mask = CPU_MASK_ALL; - void __init init_irq_proc (void) { - struct proc_dir_entry *entry; int i; /* create /proc/irq */ root_irq_dir = proc_mkdir("irq", 0); /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. diff --git a/arch/um/kernel/ksyms.c b/arch/um/kernel/ksyms.c index cb12aa824..a867e18c6 100644 --- a/arch/um/kernel/ksyms.c +++ b/arch/um/kernel/ksyms.c @@ -60,6 +60,7 @@ EXPORT_SYMBOL(strncpy_from_user_skas); EXPORT_SYMBOL(copy_to_user_skas); EXPORT_SYMBOL(copy_from_user_skas); #endif +EXPORT_SYMBOL(uml_strdup); EXPORT_SYMBOL(os_stat_fd); EXPORT_SYMBOL(os_stat_file); @@ -108,10 +109,10 @@ EXPORT_SYMBOL(sys_wait4); /* required for SMP */ extern void FASTCALL( __write_lock_failed(rwlock_t *rw)); -EXPORT_SYMBOL_NOVERS(__write_lock_failed); +EXPORT_SYMBOL(__write_lock_failed); extern void FASTCALL( __read_lock_failed(rwlock_t *rw)); -EXPORT_SYMBOL_NOVERS(__read_lock_failed); +EXPORT_SYMBOL(__read_lock_failed); #endif diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index d52094744..09add571c 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c @@ -42,7 +42,7 @@ static void map_cb(void *unused) } #ifdef CONFIG_HIGHMEM -static void setup_highmem(unsigned long highmem_start, +static void setup_highmem(unsigned long highmem_start, unsigned long highmem_len) { struct page *page; @@ -212,7 +212,7 @@ struct page *arch_validate(struct page *page, int mask, int order) addr = (unsigned long) page_address(page); for(i = 0; i < (1 << order); i++){ current->thread.fault_addr = (void *) addr; - if(__do_copy_to_user((void *) addr, &zero, + if(__do_copy_to_user((void *) addr, &zero, sizeof(zero), ¤t->thread.fault_addr, ¤t->thread.fault_catcher)){ diff --git a/arch/um/kernel/mem_user.c b/arch/um/kernel/mem_user.c index b6d6a61b4..ec15ba43d 100644 --- a/arch/um/kernel/mem_user.c +++ b/arch/um/kernel/mem_user.c @@ -208,39 +208,6 @@ int protect_memory(unsigned long addr, unsigned long len, int r, int w, int x, return(0); } -#if 0 -/* Debugging facility for dumping stuff out to the host, avoiding the timing - * problems that come with printf and breakpoints. - * Enable in case of emergency. - */ - -int logging = 1; -int logging_fd = -1; - -int logging_line = 0; -char logging_buf[512]; - -void log(char *fmt, ...) -{ - va_list ap; - struct timeval tv; - struct openflags flags; - - if(logging == 0) return; - if(logging_fd < 0){ - flags = of_create(of_trunc(of_rdwr(OPENFLAGS()))); - logging_fd = os_open_file("log", flags, 0644); - } - gettimeofday(&tv, NULL); - sprintf(logging_buf, "%d\t %u.%u ", logging_line++, tv.tv_sec, - tv.tv_usec); - va_start(ap, fmt); - vsprintf(&logging_buf[strlen(logging_buf)], fmt, ap); - va_end(ap); - write(logging_fd, logging_buf, strlen(logging_buf)); -} -#endif - /* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 694a9c9f4..da5f364d7 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "user_util.h" #include "kern_util.h" #include "user.h" @@ -119,12 +120,12 @@ int start_fork_tramp(void *thread_arg, unsigned long temp_stack, /* Start the process and wait for it to kill itself */ new_pid = clone(outer_tramp, (void *) sp, clone_flags, &arg); - if(new_pid < 0) + if(new_pid < 0) return(new_pid); CATCH_EINTR(err = waitpid(new_pid, &status, 0)); - if(err < 0) - panic("Waiting for outer trampoline failed - errno = %d", + if(err < 0) + panic("Waiting for outer trampoline failed - errno = %d", errno); if(!WIFSIGNALED(status) || (WTERMSIG(status) != SIGKILL)) @@ -185,6 +186,66 @@ static void stop_ptraced_child(int pid, void *stack, int exitcode) panic("check_ptrace : munmap failed, errno = %d", errno); } +static int force_sysemu_disabled = 0; + +static int __init nosysemu_cmd_param(char *str, int* add) +{ + force_sysemu_disabled = 1; + return 0; +} + +__uml_setup("nosysemu", nosysemu_cmd_param, + "nosysemu\n" + " Turns off syscall emulation patch for ptrace (SYSEMU) on.\n" + " SYSEMU is a performance-patch introduced by Laurent Vivier. It changes\n" + " behaviour of ptrace() and helps reducing host context switch rate.\n" + " To make it working, you need a kernel patch for your host, too.\n" + " See http://perso.wanadoo.fr/laurent.vivier/UML/ for further information.\n"); + +static void __init check_sysemu(void) +{ + void *stack; + int pid, n, status; + + if (mode_tt) + return; + + printk("Checking syscall emulation patch for ptrace..."); + sysemu_supported = 0; + pid = start_ptraced_child(&stack); + if(ptrace(PTRACE_SYSEMU, pid, 0, 0) >= 0) { + struct user_regs_struct regs; + + CATCH_EINTR(n = waitpid(pid, &status, WUNTRACED)); + if (n < 0) + panic("check_ptrace : wait failed, errno = %d", errno); + if(!WIFSTOPPED(status) || (WSTOPSIG(status) != SIGTRAP)) + panic("check_ptrace : expected SIGTRAP, " + "got status = %d", status); + + if (ptrace(PTRACE_GETREGS, pid, 0, ®s) < 0) + panic("check_ptrace : failed to read child " + "registers, errno = %d", errno); + regs.orig_eax = pid; + if (ptrace(PTRACE_SETREGS, pid, 0, ®s) < 0) + panic("check_ptrace : failed to modify child " + "registers, errno = %d", errno); + + stop_ptraced_child(pid, stack, 0); + + sysemu_supported = 1; + printk("found\n"); + } + else + { + stop_ptraced_child(pid, stack, 1); + sysemu_supported = 0; + printk("missing\n"); + } + + set_using_sysemu(!force_sysemu_disabled); +} + void __init check_ptrace(void) { void *stack; @@ -217,6 +278,7 @@ void __init check_ptrace(void) } stop_ptraced_child(pid, stack, 0); printk("OK\n"); + check_sysemu(); } int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) diff --git a/arch/um/kernel/process_kern.c b/arch/um/kernel/process_kern.c index 8eb2d3b47..40f049752 100644 --- a/arch/um/kernel/process_kern.c +++ b/arch/um/kernel/process_kern.c @@ -18,6 +18,7 @@ #include "linux/capability.h" #include "linux/vmalloc.h" #include "linux/spinlock.h" +#include "linux/vs_cvirt.h" #include "asm/unistd.h" #include "asm/mman.h" #include "asm/segment.h" @@ -104,7 +105,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) current->thread.request.u.thread.proc = fn; current->thread.request.u.thread.arg = arg; - pid = do_fork(CLONE_VM | CLONE_UNTRACED | flags, 0, NULL, 0, NULL, + pid = do_fork(CLONE_VM | CLONE_UNTRACED | flags, 0, NULL, 0, NULL, NULL); if(pid < 0) panic("do_fork failed in kernel_thread, errno = %d", pid); @@ -114,10 +115,11 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) void switch_mm(struct mm_struct *prev, struct mm_struct *next, struct task_struct *tsk) { - unsigned cpu = smp_processor_id(); + int cpu = smp_processor_id(); + if (prev != next) - clear_bit(cpu, &prev->cpu_vm_mask); - set_bit(cpu, &next->cpu_vm_mask); + cpu_clear(cpu, prev->cpu_vm_mask); + cpu_set(cpu, next->cpu_vm_mask); } void set_current(void *t) diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index 5ca4ef098..36b572569 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c @@ -24,11 +24,6 @@ void ptrace_disable(struct task_struct *child) { } -extern long do_mmap2(struct task_struct *task, unsigned long addr, - unsigned long len, unsigned long prot, - unsigned long flags, unsigned long fd, - unsigned long pgoff); - int sys_ptrace(long request, long pid, long addr, long data) { struct task_struct *child; @@ -165,7 +160,7 @@ int sys_ptrace(long request, long pid, long addr, long data) */ case PTRACE_KILL: { ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; wake_up_process(child); @@ -294,7 +289,7 @@ int sys_ptrace(long request, long pid, long addr, long data) } #endif default: - ret = -EIO; + ret = ptrace_request(child, request, addr, data); break; } out_tsk: diff --git a/arch/um/kernel/sigio_kern.c b/arch/um/kernel/sigio_kern.c index 2cb3911ad..fbffae415 100644 --- a/arch/um/kernel/sigio_kern.c +++ b/arch/um/kernel/sigio_kern.c @@ -28,7 +28,7 @@ int write_sigio_irq(int fd) int err; err = um_request_irq(SIGIO_WRITE_IRQ, fd, IRQ_READ, sigio_interrupt, - SA_INTERRUPT | SA_SAMPLE_RANDOM, "write sigio", + SA_INTERRUPT | SA_SAMPLE_RANDOM, "write sigio", NULL); if(err){ printk("write_sigio_irq : um_request_irq failed, err = %d\n", diff --git a/arch/um/kernel/sigio_user.c b/arch/um/kernel/sigio_user.c index 80fe2cd76..82d19b451 100644 --- a/arch/um/kernel/sigio_user.c +++ b/arch/um/kernel/sigio_user.c @@ -262,7 +262,7 @@ static void update_thread(void) os_kill_process(write_sigio_pid, 1); write_sigio_pid = -1; os_close_file(sigio_private[0]); - os_close_file(sigio_private[1]); + os_close_file(sigio_private[1]); os_close_file(write_sigio_fds[0]); os_close_file(write_sigio_fds[1]); sigio_unlock(); @@ -390,7 +390,7 @@ void write_sigio_workaround(void) write_sigio_pid = -1; out_close2: os_close_file(sigio_private[0]); - os_close_file(sigio_private[1]); + os_close_file(sigio_private[1]); out_close1: os_close_file(write_sigio_fds[0]); os_close_file(write_sigio_fds[1]); @@ -407,8 +407,8 @@ int read_sigio_fd(int fd) if(n < 0) { printk("read_sigio_fd - read failed, err = %d\n", -n); return(n); - } - else { + } + else { printk("read_sigio_fd - short read, bytes = %d\n", n); return(-EIO); } diff --git a/arch/um/kernel/signal_kern.c b/arch/um/kernel/signal_kern.c index 5edb07118..23aefcbea 100644 --- a/arch/um/kernel/signal_kern.c +++ b/arch/um/kernel/signal_kern.c @@ -31,17 +31,6 @@ EXPORT_SYMBOL(block_signals); EXPORT_SYMBOL(unblock_signals); -static void force_segv(int sig) -{ - if(sig == SIGSEGV){ - struct k_sigaction *ka; - - ka = ¤t->sighand->action[SIGSEGV - 1]; - ka->sa.sa_handler = SIG_DFL; - } - force_sig(SIGSEGV, current); -} - #define _S(nr) (1<<((nr)-1)) #define _BLOCKABLE (~(_S(SIGKILL) | _S(SIGSTOP))) @@ -124,27 +113,27 @@ static int handle_signal(struct pt_regs *regs, unsigned long signr, return(0); segv: - force_segv(signr); + force_sigsegv(signr, current); return(1); } static int kern_do_signal(struct pt_regs *regs, sigset_t *oldset, int error) { + struct k_sigaction ka_copy; siginfo_t info; - struct k_sigaction *ka; int err, sig; if (!oldset) oldset = ¤t->blocked; - sig = get_signal_to_deliver(&info, regs, NULL); + sig = get_signal_to_deliver(&info, &ka_copy, regs, NULL); if(sig == 0) return(0); /* Whee! Actually deliver the signal. */ - ka = ¤t->sighand->action[sig -1 ]; - err = handle_signal(regs, sig, ka, &info, oldset, error); - if(!err) return(1); + err = handle_signal(regs, sig, &ka_copy, &info, oldset, error); + if(!err) + return(1); /* Did we come from a system call? */ if(PT_REGS_SYSCALL_NR(regs) >= 0){ @@ -271,7 +260,7 @@ static int copy_sc_from_user(struct pt_regs *to, void *from, int ret; ret = CHOOSE_MODE(copy_sc_from_user_tt(UPT_SC(&to->regs), from, arch), - copy_sc_from_user_skas(userspace_pid[0], + copy_sc_from_user_skas(userspace_pid[0], &to->regs, from)); return(ret); } diff --git a/arch/um/kernel/skas/Makefile b/arch/um/kernel/skas/Makefile index 85f946959..37d3f7e97 100644 --- a/arch/um/kernel/skas/Makefile +++ b/arch/um/kernel/skas/Makefile @@ -3,26 +3,14 @@ # Licensed under the GPL # -obj-y = exec_kern.o exec_user.o mem.o mem_user.o mmu.o process.o \ +obj-y := exec_kern.o exec_user.o mem.o mem_user.o mmu.o process.o \ process_kern.o syscall_kern.o syscall_user.o time.o tlb.o trap_user.o \ uaccess.o sys-$(SUBARCH)/ -host-progs := util/mk_ptregs -clean-files := include/skas_ptregs.h +subdir-y := util USER_OBJS = $(filter %_user.o,$(obj-y)) process.o time.o USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) -$(TOPDIR)/arch/um/include/skas_ptregs.h : $(src)/util/mk_ptregs - @echo -n ' Generating $@' - @$< > $@.tmp - @if [ -r $@ ] && cmp -s $@ $@.tmp; then \ - echo ' (unchanged)'; \ - rm -f $@.tmp; \ - else \ - echo ' (updated)'; \ - mv -f $@.tmp $@; \ - fi - $(USER_OBJS) : %.o: %.c $(CC) $(CFLAGS_$(notdir $@)) $(USER_CFLAGS) -c -o $@ $< diff --git a/arch/um/kernel/skas/include/mode.h b/arch/um/kernel/skas/include/mode.h index ca5b84058..d0ce895ef 100644 --- a/arch/um/kernel/skas/include/mode.h +++ b/arch/um/kernel/skas/include/mode.h @@ -14,9 +14,9 @@ extern unsigned long exec_fpx_regs[]; extern int have_fpx_regs; extern void user_time_init_skas(void); -extern int copy_sc_from_user_skas(int pid, union uml_pt_regs *regs, +extern int copy_sc_from_user_skas(int pid, union uml_pt_regs *regs, void *from_ptr); -extern int copy_sc_to_user_skas(int pid, void *to_ptr, void *fp, +extern int copy_sc_to_user_skas(int pid, void *to_ptr, void *fp, union uml_pt_regs *regs, unsigned long fault_addr, int fault_type); extern void sig_handler_common_skas(int sig, void *sc_ptr); diff --git a/arch/um/kernel/skas/include/ptrace-skas.h b/arch/um/kernel/skas/include/ptrace-skas.h index f5c5268cc..be043e8f7 100644 --- a/arch/um/kernel/skas/include/ptrace-skas.h +++ b/arch/um/kernel/skas/include/ptrace-skas.h @@ -10,6 +10,16 @@ #ifdef UML_CONFIG_MODE_SKAS +/* syscall emulation path in ptrace */ + +#ifndef PTRACE_SYSEMU +#define PTRACE_SYSEMU 31 +#endif + +void set_using_sysemu(int value); +int get_using_sysemu(void); +extern int sysemu_supported; + #include "skas_ptregs.h" #define HOST_FRAME_SIZE 17 diff --git a/arch/um/kernel/skas/mem_user.c b/arch/um/kernel/skas/mem_user.c index 190912553..cfcfa0d60 100644 --- a/arch/um/kernel/skas/mem_user.c +++ b/arch/um/kernel/skas/mem_user.c @@ -51,9 +51,9 @@ int unmap(int fd, void *addr, int len) .len = len } } } ); n = os_write_file(fd, &unmap, sizeof(unmap)); if(n != sizeof(unmap)) { - if(n < 0) + if(n < 0) return(n); - else if(n > 0) + else if(n > 0) return(-EIO); } diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c index a1a6b8d90..cb748f85d 100644 --- a/arch/um/kernel/skas/process.c +++ b/arch/um/kernel/skas/process.c @@ -57,7 +57,8 @@ static void handle_segv(int pid) segv(fault.addr, 0, FAULT_WRITE(fault.is_write), 1, NULL); } -static void handle_trap(int pid, union uml_pt_regs *regs) +/*To use the same value of using_sysemu as the caller, ask it that value (in local_using_sysemu)*/ +static void handle_trap(int pid, union uml_pt_regs *regs, int local_using_sysemu) { int err, syscall_nr, status; @@ -68,20 +69,23 @@ static void handle_trap(int pid, union uml_pt_regs *regs) return; } - err = ptrace(PTRACE_POKEUSER, pid, PT_SYSCALL_NR_OFFSET, __NR_getpid); - if(err < 0) - panic("handle_trap - nullifying syscall failed errno = %d\n", - errno); + if (!local_using_sysemu) + { + err = ptrace(PTRACE_POKEUSER, pid, PT_SYSCALL_NR_OFFSET, __NR_getpid); + if(err < 0) + panic("handle_trap - nullifying syscall failed errno = %d\n", + errno); - err = ptrace(PTRACE_SYSCALL, pid, 0, 0); - if(err < 0) - panic("handle_trap - continuing to end of syscall failed, " - "errno = %d\n", errno); + err = ptrace(PTRACE_SYSCALL, pid, 0, 0); + if(err < 0) + panic("handle_trap - continuing to end of syscall failed, " + "errno = %d\n", errno); - CATCH_EINTR(err = waitpid(pid, &status, WUNTRACED)); - if((err < 0) || !WIFSTOPPED(status) || (WSTOPSIG(status) != SIGTRAP)) - panic("handle_trap - failed to wait at end of syscall, " - "errno = %d, status = %d\n", errno, status); + CATCH_EINTR(err = waitpid(pid, &status, WUNTRACED)); + if((err < 0) || !WIFSTOPPED(status) || (WSTOPSIG(status) != SIGTRAP)) + panic("handle_trap - failed to wait at end of syscall, " + "errno = %d, status = %d\n", errno, status); + } handle_syscall(regs); } @@ -136,13 +140,19 @@ void start_userspace(int cpu) void userspace(union uml_pt_regs *regs) { int err, status, op, pid = userspace_pid[0]; + int local_using_sysemu; /*To prevent races if using_sysemu changes under us.*/ restore_registers(regs); - err = ptrace(PTRACE_SYSCALL, pid, 0, 0); + local_using_sysemu = get_using_sysemu(); + + if (local_using_sysemu) + err = ptrace(PTRACE_SYSEMU, pid, 0, 0); + else + err = ptrace(PTRACE_SYSCALL, pid, 0, 0); if(err) - panic("userspace - PTRACE_SYSCALL failed, errno = %d\n", - errno); + panic("userspace - PTRACE_%s failed, errno = %d\n", + local_using_sysemu ? "SYSEMU" : "SYSCALL", errno); while(1){ CATCH_EINTR(err = waitpid(pid, &status, WUNTRACED)); if(err < 0) @@ -158,7 +168,7 @@ void userspace(union uml_pt_regs *regs) handle_segv(pid); break; case SIGTRAP: - handle_trap(pid, regs); + handle_trap(pid, regs, local_using_sysemu); break; case SIGIO: case SIGVTALRM: @@ -177,12 +187,21 @@ void userspace(union uml_pt_regs *regs) restore_registers(regs); - op = singlestepping_skas() ? PTRACE_SINGLESTEP : - PTRACE_SYSCALL; + /*Now we ended the syscall, so re-read local_using_sysemu.*/ + local_using_sysemu = get_using_sysemu(); + + if (local_using_sysemu) + op = singlestepping_skas() ? PTRACE_SINGLESTEP : + PTRACE_SYSEMU; + else + op = singlestepping_skas() ? PTRACE_SINGLESTEP : + PTRACE_SYSCALL; + err = ptrace(op, pid, 0, 0); if(err) - panic("userspace - PTRACE_SYSCALL failed, " - "errno = %d\n", errno); + panic("userspace - PTRACE_%s failed, " + "errno = %d\n", + local_using_sysemu ? "SYSEMU" : "SYSCALL", errno); } } @@ -200,7 +219,7 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, * when the target stack has interrupts enabled, an interrupt may occur * on the source stack. This is bad when starting up a process because * it's not supposed to get timer ticks until it has been scheduled. - * So, we disable interrupts around the sigsetjmp to ensure that + * So, we disable interrupts around the sigsetjmp to ensure that * they can't happen until we get back here where they are safe. */ flags = get_signals(); @@ -222,7 +241,7 @@ void thread_wait(void *sw, void *fb) siglongjmp(*fork_buf, 1); } -static int move_registers(int pid, int int_op, int fp_op, +static int move_registers(int pid, int int_op, int fp_op, union uml_pt_regs *regs, unsigned long *fp_regs) { if(ptrace(int_op, pid, 0, regs->skas.regs) < 0) @@ -246,7 +265,7 @@ void save_registers(union uml_pt_regs *regs) fp_regs = regs->skas.fp; } - err = move_registers(userspace_pid[0], PTRACE_GETREGS, fp_op, regs, + err = move_registers(userspace_pid[0], PTRACE_GETREGS, fp_op, regs, fp_regs); if(err) panic("save_registers - saving registers failed, errno = %d\n", @@ -267,7 +286,7 @@ void restore_registers(union uml_pt_regs *regs) fp_regs = regs->skas.fp; } - err = move_registers(userspace_pid[0], PTRACE_SETREGS, fp_op, regs, + err = move_registers(userspace_pid[0], PTRACE_SETREGS, fp_op, regs, fp_regs); if(err) panic("restore_registers - saving registers failed, " diff --git a/arch/um/kernel/skas/process_kern.c b/arch/um/kernel/skas/process_kern.c index e16309d53..5418f0862 100644 --- a/arch/um/kernel/skas/process_kern.c +++ b/arch/um/kernel/skas/process_kern.c @@ -6,6 +6,12 @@ #include "linux/sched.h" #include "linux/slab.h" #include "linux/ptrace.h" +#include "linux/proc_fs.h" +#include "linux/file.h" +#include "linux/errno.h" +#include "linux/init.h" +#include "asm/uaccess.h" +#include "asm/atomic.h" #include "kern_util.h" #include "time_user.h" #include "signal_user.h" @@ -16,9 +22,63 @@ #include "frame.h" #include "kern.h" #include "mode.h" -#include "filehandle.h" #include "proc_mm.h" +static atomic_t using_sysemu; +int sysemu_supported; + +void set_using_sysemu(int value) +{ + atomic_set(&using_sysemu, sysemu_supported && value); +} + +int get_using_sysemu(void) +{ + return atomic_read(&using_sysemu); +} + +int proc_read_sysemu(char *buf, char **start, off_t offset, int size,int *eof, void *data) +{ + if (snprintf(buf, size, "%d\n", get_using_sysemu()) < size) /*No overflow*/ + *eof = 1; + + return strlen(buf); +} + +int proc_write_sysemu(struct file *file,const char *buf, unsigned long count,void *data) +{ + char tmp[2]; + + if (copy_from_user(tmp, buf, 1)) + return -EFAULT; + + if (tmp[0] == '0' || tmp[0] == '1') + set_using_sysemu(tmp[0] - '0'); + return count; /*We use the first char, but pretend to write everything*/ +} + +int __init make_proc_sysemu(void) +{ + struct proc_dir_entry *ent; + if (mode_tt || !sysemu_supported) + return 0; + + ent = create_proc_entry("sysemu", 0600, &proc_root); + + if (ent == NULL) + { + printk("Failed to register /proc/sysemu\n"); + return(0); + } + + ent->read_proc = proc_read_sysemu; + ent->write_proc = proc_write_sysemu; + + return 0; +} + +late_initcall(make_proc_sysemu); + int singlestepping_skas(void) { int ret = current->ptrace & PT_DTRACE; @@ -99,7 +159,7 @@ void fork_handler(int sig) force_flush_all(); if(current->thread.prev_sched == NULL) panic("blech"); - + schedule_tail(current->thread.prev_sched); current->thread.prev_sched = NULL; @@ -132,7 +192,7 @@ int copy_thread_skas(int nr, unsigned long clone_flags, unsigned long sp, handler = new_thread_handler; } - new_thread(p->thread_info, &p->thread.mode.skas.switch_buf, + new_thread(p->thread_info, &p->thread.mode.skas.switch_buf, &p->thread.mode.skas.fork_buf, handler); return(0); } @@ -142,16 +202,16 @@ int new_mm(int from) struct proc_mm_op copy; int n, fd; - fd = open_file("/proc/mm", of_cloexec(of_write(OPENFLAGS())), 0); + fd = os_open_file("/proc/mm", of_cloexec(of_write(OPENFLAGS())), 0); if(fd < 0) return(fd); if(from != -1){ copy = ((struct proc_mm_op) { .op = MM_COPY_SEGMENTS, - .u = + .u = { .copy_segments = from } } ); n = os_write_file(fd, ©, sizeof(copy)); - if(n != sizeof(copy)) + if(n != sizeof(copy)) printk("new_mm : /proc/mm copy_segments failed, " "err = %d\n", -n); } @@ -200,13 +260,13 @@ int start_uml_skas(void) int external_pid_skas(struct task_struct *task) { -#warning Need to look up userspace_pid by cpu +#warning Need to look up userspace_pid by cpu return(userspace_pid[0]); } int thread_pid_skas(struct task_struct *task) { -#warning Need to look up userspace_pid by cpu +#warning Need to look up userspace_pid by cpu return(userspace_pid[0]); } diff --git a/arch/um/kernel/skas/sys-i386/sigcontext.c b/arch/um/kernel/skas/sys-i386/sigcontext.c index 895d34cf4..b015d1960 100644 --- a/arch/um/kernel/skas/sys-i386/sigcontext.c +++ b/arch/um/kernel/skas/sys-i386/sigcontext.c @@ -55,8 +55,8 @@ int copy_sc_from_user_skas(int pid, union uml_pt_regs *regs, void *from_ptr) return(0); } -int copy_sc_to_user_skas(int pid, void *to_ptr, void *fp, - union uml_pt_regs *regs, unsigned long fault_addr, +int copy_sc_to_user_skas(int pid, void *to_ptr, void *fp, + union uml_pt_regs *regs, unsigned long fault_addr, int fault_type) { struct sigcontext sc, *to = to_ptr; diff --git a/arch/um/kernel/skas/util/Makefile b/arch/um/kernel/skas/util/Makefile index 5ba1d68d6..a26e0c34a 100644 --- a/arch/um/kernel/skas/util/Makefile +++ b/arch/um/kernel/skas/util/Makefile @@ -1,9 +1,2 @@ -all: mk_ptregs - -mk_ptregs : mk_ptregs.o - $(HOSTCC) -o mk_ptregs mk_ptregs.o - -mk_ptregs.o : mk_ptregs.c - $(HOSTCC) -c $< - -clean-files := mk_ptregs *.o *~ +hostprogs-y := mk_ptregs +always := $(hostprogs-y) diff --git a/arch/um/kernel/smp.c b/arch/um/kernel/smp.c index 6ffb4d046..b5e66b291 100644 --- a/arch/um/kernel/smp.c +++ b/arch/um/kernel/smp.c @@ -18,10 +18,10 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); #include "linux/threads.h" #include "linux/interrupt.h" #include "linux/err.h" +#include "linux/hardirq.h" #include "asm/smp.h" #include "asm/processor.h" #include "asm/spinlock.h" -#include "asm/hardirq.h" #include "user_util.h" #include "kern_util.h" #include "kern.h" @@ -29,9 +29,11 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); #include "os.h" /* CPU online map, set by smp_boot_cpus */ -unsigned long cpu_online_map = CPU_MASK_NONE; +cpumask_t cpu_online_map = CPU_MASK_NONE; +cpumask_t cpu_possible_map = CPU_MASK_NONE; EXPORT_SYMBOL(cpu_online_map); +EXPORT_SYMBOL(cpu_possible_map); /* Per CPU bogomips and other parameters * The only piece used here is the ipi pipe, which is set before SMP is @@ -105,9 +107,8 @@ static struct task_struct *idle_thread(int cpu) current->thread.request.u.thread.proc = idle_proc; current->thread.request.u.thread.arg = (void *) cpu; - new_task = copy_process(CLONE_VM | CLONE_IDLETASK, 0, NULL, 0, NULL, - NULL); - if(IS_ERR(new_task)) + new_task = fork_idle(cpu); + if(IS_ERR(new_task)) panic("copy_process failed in idle_thread, error = %ld", PTR_ERR(new_task)); @@ -115,9 +116,9 @@ static struct task_struct *idle_thread(int cpu) { .pid = new_task->thread.mode.tt.extern_pid, .task = new_task } ); idle_threads[cpu] = new_task; - CHOOSE_MODE(os_write_file(new_task->thread.mode.tt.switch_pipe[1], &c, - sizeof(c)), - wake_up_forked_process(new_task); + CHOOSE_MODE(os_write_file(new_task->thread.mode.tt.switch_pipe[1], &c, + sizeof(c)), + ({ panic("skas mode doesn't support SMP"); })); return(new_task); } @@ -126,6 +127,10 @@ void smp_prepare_cpus(unsigned int maxcpus) struct task_struct *idle; unsigned long waittime; int err, cpu, me = smp_processor_id(); + int i; + + for (i = 0; i < ncpus; ++i) + cpu_set(i, cpu_possible_map); cpu_clear(me, cpu_online_map); cpu_set(me, cpu_online_map); @@ -135,7 +140,7 @@ void smp_prepare_cpus(unsigned int maxcpus) if(err < 0) panic("CPU#0 failed to create IPI pipe, errno = %d", -err); - activate_ipi(cpu_data[me].ipi_pipe[0], + activate_ipi(cpu_data[me].ipi_pipe[0], current->thread.mode.tt.extern_pid); for(cpu = 1; cpu < ncpus; cpu++){ @@ -243,7 +248,7 @@ int smp_call_function(void (*_func)(void *info), void *_info, int nonatomic, info = _info; for (i=0;icpu) && + if((i != current_thread->cpu) && cpu_isset(i, cpu_online_map)) os_write_file(cpu_data[i].ipi_pipe[1], "C", 1); diff --git a/arch/um/kernel/sys_call_table.c b/arch/um/kernel/sys_call_table.c index fa0542c82..f1ad68ecc 100644 --- a/arch/um/kernel/sys_call_table.c +++ b/arch/um/kernel/sys_call_table.c @@ -47,12 +47,10 @@ extern syscall_handler_t sys_rt_sigaction; extern syscall_handler_t sys_sigaltstack; extern syscall_handler_t sys_vfork; extern syscall_handler_t sys_mmap2; -extern syscall_handler_t sys_timer_create; extern syscall_handler_t old_mmap_i386; extern syscall_handler_t old_select; extern syscall_handler_t sys_modify_ldt; extern syscall_handler_t sys_rt_sigsuspend; - extern syscall_handler_t sys_vserver; syscall_handler_t *sys_call_table[] = { diff --git a/arch/um/kernel/syscall_kern.c b/arch/um/kernel/syscall_kern.c index cec6e639e..e680043b3 100644 --- a/arch/um/kernel/syscall_kern.c +++ b/arch/um/kernel/syscall_kern.c @@ -46,23 +46,12 @@ long sys_fork(void) return(ret); } -long sys_clone(unsigned long clone_flags, unsigned long newsp, - int *parent_tid, int *child_tid) -{ - long ret; - - current->thread.forking = 1; - ret = do_fork(clone_flags, newsp, NULL, 0, parent_tid, child_tid); - current->thread.forking = 0; - return(ret); -} - long sys_vfork(void) { long ret; current->thread.forking = 1; - ret = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, 0, NULL, 0, NULL, + ret = do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, 0, NULL, 0, NULL, NULL); current->thread.forking = 0; return(ret); diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c index a6e7ff3c5..96691a0df 100644 --- a/arch/um/kernel/time.c +++ b/arch/um/kernel/time.c @@ -18,7 +18,7 @@ #include "time_user.h" #include "kern_constants.h" -/* XXX This really needs to be declared and initialized in a kernel file since +/* XXX This really needs to be declared and initialized in a kernel file since * it's in */ extern struct timespec wall_to_monotonic; @@ -99,7 +99,7 @@ extern int do_posix_clock_monotonic_gettime(struct timespec *tp); void time_init(void) { struct timespec now; - + if(signal(SIGVTALRM, boot_timer_handler) == SIG_ERR) panic("Couldn't set SIGVTALRM handler"); set_interval(ITIMER_VIRTUAL); diff --git a/arch/um/kernel/time_kern.c b/arch/um/kernel/time_kern.c index c36bff0a9..5ce566882 100644 --- a/arch/um/kernel/time_kern.c +++ b/arch/um/kernel/time_kern.c @@ -44,7 +44,9 @@ int timer_irq_inited = 0; static int first_tick; static unsigned long long prev_usecs; +#ifdef CONFIG_UML_REAL_TIME_CLOCK static long long delta; /* Deviation per interval */ +#endif #define MILLION 1000000 @@ -60,7 +62,7 @@ void timer_irq(union uml_pt_regs *regs) } if(first_tick){ -#if defined(CONFIG_UML_REAL_TIME_CLOCK) +#ifdef CONFIG_UML_REAL_TIME_CLOCK /* We've had 1 tick */ unsigned long long usecs = os_usecs(); diff --git a/arch/um/kernel/trap_kern.c b/arch/um/kernel/trap_kern.c index 443b828c8..cba33ef6d 100644 --- a/arch/um/kernel/trap_kern.c +++ b/arch/um/kernel/trap_kern.c @@ -54,8 +54,6 @@ int handle_page_fault(unsigned long address, unsigned long ip, if(is_write && !(vma->vm_flags & VM_WRITE)) goto out; page = address & PAGE_MASK; - if(page == (unsigned long) current_thread + PAGE_SIZE) - panic("Kernel stack overflow"); pgd = pgd_offset(mm, page); pmd = pmd_offset(pgd, page); do { @@ -107,7 +105,7 @@ void register_remapper(struct remapper *info) list_add(&info->list, &physmem_remappers); } -static int check_remapped_addr(unsigned long address, int is_write, int is_user) +static int check_remapped_addr(unsigned long address, int is_write) { struct remapper *remapper; struct list_head *ele; @@ -120,7 +118,7 @@ static int check_remapped_addr(unsigned long address, int is_write, int is_user) list_for_each(ele, &physmem_remappers){ remapper = list_entry(ele, struct remapper, list); - if((*remapper->proc)(fd, address, is_write, offset, is_user)) + if((*remapper->proc)(fd, address, is_write, offset)) return(1); } @@ -138,7 +136,7 @@ unsigned long segv(unsigned long address, unsigned long ip, int is_write, flush_tlb_kernel_vm(); return(0); } - else if(check_remapped_addr(address & PAGE_MASK, is_write, is_user)) + else if(check_remapped_addr(address & PAGE_MASK, is_write)) return(0); else if(current->mm == NULL) panic("Segfault with no mm"); diff --git a/arch/um/kernel/tt/process_kern.c b/arch/um/kernel/tt/process_kern.c index 177cb2461..d547435ee 100644 --- a/arch/um/kernel/tt/process_kern.c +++ b/arch/um/kernel/tt/process_kern.c @@ -28,7 +28,7 @@ void *switch_to_tt(void *prev, void *next, void *last) { - struct task_struct *from, *to; + struct task_struct *from, *to, *prev_sched; unsigned long flags; int err, vtalrm, alrm, prof, cpu; char c; @@ -65,13 +65,25 @@ void *switch_to_tt(void *prev, void *next, void *last) panic("write of switch_pipe failed, err = %d", -err); reading = 1; - if((from->state == TASK_ZOMBIE) || (from->state == TASK_DEAD)) + if((from->exit_state == EXIT_ZOMBIE) || (from->exit_state == EXIT_DEAD)) os_kill_process(os_getpid(), 0); err = os_read_file(from->thread.mode.tt.switch_pipe[0], &c, sizeof(c)); if(err != sizeof(c)) panic("read of switch_pipe failed, errno = %d", -err); + /* If the process that we have just scheduled away from has exited, + * then it needs to be killed here. The reason is that, even though + * it will kill itself when it next runs, that may be too late. Its + * stack will be freed, possibly before then, and if that happens, + * we have a use-after-free situation. So, it gets killed here + * in case it has not already killed itself. + */ + prev_sched = current->thread.prev_sched; + if((prev_sched->exit_state == EXIT_ZOMBIE) || + (prev_sched->exit_state == EXIT_DEAD)) + os_kill_process(prev_sched->thread.mode.tt.extern_pid, 1); + /* This works around a nasty race with 'jail'. If we are switching * between two threads of a threaded app and the incoming process * runs before the outgoing process reaches the read, and it makes @@ -161,7 +173,7 @@ static void new_thread_handler(int sig) local_irq_enable(); if(!run_kernel_thread(fn, arg, ¤t->thread.exec_buf)) do_exit(0); - + /* XXX No set_user_mode here because a newly execed process will * immediately segfault on its non-existent IP, coming straight back * to the signal handler, which will call set_user_mode on its way @@ -172,17 +184,17 @@ static void new_thread_handler(int sig) static int new_thread_proc(void *stack) { /* local_irq_disable is needed to block out signals until this thread is - * properly scheduled. Otherwise, the tracing thread will get mighty - * upset about any signals that arrive before that. + * properly scheduled. Otherwise, the tracing thread will get mighty + * upset about any signals that arrive before that. * This has the complication that it sets the saved signal mask in * the sigcontext to block signals. This gets restored when this * thread (or a descendant, since they get a copy of this sigcontext) * returns to userspace. * So, this is compensated for elsewhere. - * XXX There is still a small window until local_irq_disable() actually - * finishes where signals are possible - shouldn't be a problem in - * practice since SIGIO hasn't been forwarded here yet, and the - * local_irq_disable should finish before a SIGVTALRM has time to be + * XXX There is still a small window until local_irq_disable() actually + * finishes where signals are possible - shouldn't be a problem in + * practice since SIGIO hasn't been forwarded here yet, and the + * local_irq_disable should finish before a SIGVTALRM has time to be * delivered. */ @@ -255,7 +267,7 @@ int copy_thread_tt(int nr, unsigned long clone_flags, unsigned long sp, err = os_pipe(p->thread.mode.tt.switch_pipe, 1, 1); if(err < 0){ printk("copy_thread : pipe failed, err = %d\n", -err); - goto out; + return(err); } stack = alloc_stack(0, 0); @@ -508,7 +520,7 @@ void set_init_pid(int pid) init_task.thread.mode.tt.extern_pid = pid; err = os_pipe(init_task.thread.mode.tt.switch_pipe, 1, 1); if(err) - panic("Can't create switch pipe for init_task, errno = %d", + panic("Can't create switch pipe for init_task, errno = %d", -err); } @@ -534,7 +546,7 @@ int start_uml_tt(void) int pages; pages = (1 << CONFIG_KERNEL_STACK_ORDER); - sp = (void *) ((unsigned long) init_task.thread_info) + + sp = (void *) ((unsigned long) init_task.thread_info) + pages * PAGE_SIZE - sizeof(unsigned long); return(tracer(start_kernel_proc, sp)); } diff --git a/arch/um/kernel/tt/tracer.c b/arch/um/kernel/tt/tracer.c index 1b5477412..deef43bb5 100644 --- a/arch/um/kernel/tt/tracer.c +++ b/arch/um/kernel/tt/tracer.c @@ -330,7 +330,8 @@ int tracer(int (*init_proc)(void *), void *sp) continue; } tracing = 0; - if(do_syscall(task, pid)) sig = SIGUSR2; + if(do_syscall(task, pid)) + sig = SIGUSR2; else clear_singlestep(task); break; case SIGPROF: diff --git a/arch/um/kernel/tty_log.c b/arch/um/kernel/tty_log.c index 148b86a87..9ada656f6 100644 --- a/arch/um/kernel/tty_log.c +++ b/arch/um/kernel/tty_log.c @@ -100,7 +100,7 @@ static int log_chunk(int fd, const char *buf, int len) try -= missed; n = os_write_file(fd, chunk, try); if(n != try) { - if(n < 0) + if(n < 0) return(n); return(-EIO); } @@ -142,7 +142,7 @@ void log_exec(char **argv, void *tty) struct tty_log_buf data; char **ptr,*arg; int len; - + if(tty_log_fd == -1) return; gettimeofday(&tv, NULL); @@ -172,7 +172,7 @@ void log_exec(char **argv, void *tty) } extern void register_tty_logger(int (*opener)(void *, void *), - int (*writer)(int, const char *, int, + int (*writer)(int, const char *, int, void *, int), void (*closer)(int, void *)); diff --git a/arch/um/kernel/um_arch.c b/arch/um/kernel/um_arch.c index 802b7fb53..9146c11e5 100644 --- a/arch/um/kernel/um_arch.c +++ b/arch/um/kernel/um_arch.c @@ -44,7 +44,7 @@ struct cpuinfo_um boot_cpu_data = { .ipi_pipe = { -1, -1 } }; -/* Placeholder to make UML link until the vsyscall stuff is actually +/* Placeholder to make UML link until the vsyscall stuff is actually * implemented */ void *__kernel_vsyscall; @@ -326,7 +326,7 @@ int linux_main(int argc, char **argv) /* Increase physical memory size for exec-shield users so they actually get what they asked for. This should add zero for non-exec shield users */ - + diff = UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end); if(diff > 1024 * 1024){ printf("Adding %ld bytes to physical memory to account for " diff --git a/arch/um/kernel/umid.c b/arch/um/kernel/umid.c index f609e11c0..78c8dc45c 100644 --- a/arch/um/kernel/umid.c +++ b/arch/um/kernel/umid.c @@ -34,7 +34,7 @@ static int umid_inited = 0; static int make_umid(int (*printer)(const char *fmt, ...)); -static int __init set_umid(char *name, int is_random, +static int __init set_umid(char *name, int is_random, int (*printer)(const char *fmt, ...)) { if(umid_inited){ @@ -54,7 +54,6 @@ static int __init set_umid(char *name, int is_random, static int __init set_umid_arg(char *name, int *add) { - *add = 0; return(set_umid(name, 0, printf)); } diff --git a/arch/um/kernel/user_util.c b/arch/um/kernel/user_util.c index 1e7c1f1a8..b2c7c5d2e 100644 --- a/arch/um/kernel/user_util.c +++ b/arch/um/kernel/user_util.c @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include @@ -89,10 +89,10 @@ int wait_for_stop(int pid, int sig, int cont_type, void *relay) errno); } else if(WIFEXITED(status)) - printk("process %d exited with status %d\n", + printk("process %d exited with status %d\n", pid, WEXITSTATUS(status)); else if(WIFSIGNALED(status)) - printk("process %d exited with signal %d\n", + printk("process %d exited with signal %d\n", pid, WTERMSIG(status)); else if((WSTOPSIG(status) == SIGVTALRM) || (WSTOPSIG(status) == SIGALRM) || @@ -109,7 +109,7 @@ int wait_for_stop(int pid, int sig, int cont_type, void *relay) ptrace(cont_type, pid, 0, WSTOPSIG(status)); continue; } - else printk("process %d stopped with signal %d\n", + else printk("process %d stopped with signal %d\n", pid, WSTOPSIG(status)); panic("wait_for_stop failed to wait for %d to stop " "with %d\n", pid, sig); @@ -125,7 +125,7 @@ int raw(int fd) CATCH_EINTR(err = tcgetattr(fd, &tt)); if (err < 0) { - printk("tcgetattr failed, errno = %d\n", errno); + printk("tcgetattr failed, errno = %d\n", errno); return(-errno); } @@ -133,7 +133,7 @@ int raw(int fd) CATCH_EINTR(err = tcsetattr(fd, TCSADRAIN, &tt)); if (err < 0) { - printk("tcsetattr failed, errno = %d\n", errno); + printk("tcsetattr failed, errno = %d\n", errno); return(-errno); } diff --git a/arch/um/os-Linux/Makefile b/arch/um/os-Linux/Makefile index a6665dd42..ff94c8f61 100644 --- a/arch/um/os-Linux/Makefile +++ b/arch/um/os-Linux/Makefile @@ -3,15 +3,9 @@ # Licensed under the GPL # -obj-y = aio.o file.o process.o time.o tty.o user_syms.o drivers/ +obj-y = file.o process.o time.o tty.o user_syms.o drivers/ -USER_OBJS := $(foreach file,aio.o file.o process.o time.o tty.o,$(obj)/$(file)) +USER_OBJS := $(foreach file,file.o process.o time.o tty.o,$(obj)/$(file)) $(USER_OBJS) : %.o: %.c $(CC) $(CFLAGS_$(notdir $@)) $(USER_CFLAGS) -c -o $@ $< - -HAVE_AIO_ABI = $(shell [ -e /usr/include/linux/aio_abi.h ] && \ - echo -DHAVE_AIO_ABI) -HAVE_AIO_LIBC = $(shell objdump -T /lib/libc-*.so | grep io_submit && \ - echo -DHAVE_AIO_LIBC) -CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC) diff --git a/arch/um/os-Linux/drivers/tuntap_user.c b/arch/um/os-Linux/drivers/tuntap_user.c index f40c627ef..4b83c6c3f 100644 --- a/arch/um/os-Linux/drivers/tuntap_user.c +++ b/arch/um/os-Linux/drivers/tuntap_user.c @@ -133,7 +133,7 @@ static int tuntap_open(void *data) int err, fds[2], len, used; err = tap_open_common(pri->dev, pri->gate_addr); - if(err < 0) + if(err < 0) return(err); if(pri->fixed_config){ diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c index bda79c182..fcab38f2d 100644 --- a/arch/um/os-Linux/file.c +++ b/arch/um/os-Linux/file.c @@ -8,9 +8,6 @@ #include #include #include -#include -#include -#include #include #include #include @@ -27,8 +24,7 @@ static void copy_stat(struct uml_stat *dst, struct stat64 *src) { *dst = ((struct uml_stat) { - .ust_major = MAJOR(src->st_dev), /* device */ - .ust_minor = MINOR(src->st_dev), + .ust_dev = src->st_dev, /* device */ .ust_ino = src->st_ino, /* inode */ .ust_mode = src->st_mode, /* protection */ .ust_nlink = src->st_nlink, /* number of hard links */ @@ -40,8 +36,6 @@ static void copy_stat(struct uml_stat *dst, struct stat64 *src) .ust_atime = src->st_atime, /* time of last access */ .ust_mtime = src->st_mtime, /* time of last modification */ .ust_ctime = src->st_ctime, /* time of last change */ - .ust_rmajor = MAJOR(src->st_rdev), - .ust_rminor = MINOR(src->st_rdev), }); } @@ -54,7 +48,7 @@ int os_stat_fd(const int fd, struct uml_stat *ubuf) err = fstat64(fd, &sbuf); } while((err < 0) && (errno == EINTR)) ; - if(err < 0) + if(err < 0) return(-errno); if(ubuf != NULL) @@ -71,24 +65,7 @@ int os_stat_file(const char *file_name, struct uml_stat *ubuf) err = stat64(file_name, &sbuf); } while((err < 0) && (errno == EINTR)) ; - if(err < 0) - return(-errno); - - if(ubuf != NULL) - copy_stat(ubuf, &sbuf); - return(err); -} - -int os_lstat_file(const char *file_name, struct uml_stat *ubuf) -{ - struct stat64 sbuf; - int err; - - do { - err = lstat64(file_name, &sbuf); - } while((err < 0) && (errno == EINTR)) ; - - if(err < 0) + if(err < 0) return(-errno); if(ubuf != NULL) @@ -96,12 +73,12 @@ int os_lstat_file(const char *file_name, struct uml_stat *ubuf) return(err); } -int os_access(const char *file, int mode) +int os_access(const char* file, int mode) { int amode, err; - amode=(mode& OS_ACC_R_OK ? R_OK : 0) | (mode& OS_ACC_W_OK ? W_OK : 0) | - (mode& OS_ACC_X_OK ? X_OK : 0) | (mode& OS_ACC_F_OK ? F_OK : 0) ; + amode=(mode&OS_ACC_R_OK ? R_OK : 0) | (mode&OS_ACC_W_OK ? W_OK : 0) | + (mode&OS_ACC_X_OK ? X_OK : 0) | (mode&OS_ACC_F_OK ? F_OK : 0) ; err = access(file, amode); if(err < 0) @@ -110,41 +87,6 @@ int os_access(const char *file, int mode) return(0); } -int os_set_file_time(const char *file, unsigned long access, unsigned long mod) -{ - struct utimbuf buf = ((struct utimbuf){ .actime = access, - .modtime = mod }); - int err; - - err = utime(file, &buf); - if(err < 0) - return(-errno); - - return(0); -} - -int os_set_file_perms(const char *file, int mode) -{ - int err; - - err = chmod(file, mode); - if(err < 0) - return(-errno); - - return(0); -} - -int os_set_file_owner(const char *file, int owner, int group) -{ - int err; - - err = chown(file, owner, group); - if(err < 0) - return(-errno); - - return(0); -} - void os_print_error(int error, const char* str) { errno = error < 0 ? -error : error; @@ -234,7 +176,7 @@ int os_set_owner(int fd, int pid) return(0); } -/* FIXME? moved wholesale from sigio_user.c to get fcntls out of that file */ +/* FIXME? moved wholesale from sigio_user.c to get fcntls out of that file */ int os_sigio_async(int master, int slave) { int flags; @@ -247,7 +189,7 @@ int os_sigio_async(int master, int slave) if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) || (fcntl(master, F_SETOWN, os_getpid()) < 0)){ - printk("fcntl F_SETFL or F_SETOWN failed, errno = %d\n", + printk("fcntl F_SETFL or F_SETOWN failed, errno = %d\n", errno); return(-errno); } @@ -279,7 +221,7 @@ int os_file_type(char *file) struct uml_stat buf; int err; - err = os_lstat_file(file, &buf); + err = os_stat_file(file, &buf); if(err < 0) return(err); @@ -340,96 +282,6 @@ int os_open_file(char *file, struct openflags flags, int mode) return(fd); } -void *os_open_dir(char *path, int *err_out) -{ - void *dir; - - dir = opendir(path); - *err_out = -errno; - return(dir); -} - -int os_seek_dir(void *stream, unsigned long long pos) -{ - seekdir(stream, pos); - return(0); -} - -int os_read_dir(void *stream, unsigned long long *ino_out, char **name_out) -{ - struct dirent *ent; - - errno = 0; - ent = readdir(stream); - if(ent == NULL){ - if(errno != 0) - return(-errno); - *name_out = NULL; - return(0); - } - - *ino_out = ent->d_ino; - *name_out = ent->d_name; - return(0); -} - -int os_tell_dir(void *stream) -{ - return(telldir(stream)); -} - -int os_close_dir(void *stream) -{ - int err; - - err = closedir(stream); - if(err < 0) - return(-errno); - return(0); -} - -int os_remove_file(const char *file) -{ - int err; - - err = unlink(file); - if(err) - return(-errno); - - return(0); -} - -int os_move_file(const char *from, const char *to) -{ - int err; - - err = rename(from, to); - if(err) - return(-errno); - - return(0); -} - -int os_truncate_fd(int fd, unsigned long long len) -{ - int err; - - err = ftruncate(fd, len); - if(err) - return(-errno); - return(0); -} - -int os_truncate_file(const char *file, unsigned long long len) -{ - int err; - - err = truncate(file, len); - if(err) - return(-errno); - return(0); -} - int os_connect_socket(char *name) { struct sockaddr_un sock; @@ -464,7 +316,7 @@ int os_seek_file(int fd, __u64 offset) return(0); } -static int fault_buffer(void *start, int len, +static int fault_buffer(void *start, int len, int (*copy_proc)(void *addr, void *buf, int len)) { int page = getpagesize(), i; @@ -504,13 +356,13 @@ static int file_io(int fd, void *buf, int len, int os_read_file(int fd, void *buf, int len) { - return(file_io(fd, buf, len, (int (*)(int, void *, int)) read, + return(file_io(fd, buf, len, (int (*)(int, void *, int)) read, copy_from_user_proc)); } int os_write_file(int fd, const void *buf, int len) { - return(file_io(fd, (void *) buf, len, + return(file_io(fd, (void *) buf, len, (int (*)(int, void *, int)) write, copy_to_user_proc)); } @@ -548,19 +400,6 @@ int os_file_size(char *file, long long *size_out) return(0); } -int os_fd_size(int fd, long long *size_out) -{ - struct stat buf; - int err; - - err = fstat(fd, &buf); - if(err) - return(-errno); - - *size_out = buf.st_size; - return(0); -} - int os_file_modtime(char *file, unsigned long *modtime) { struct uml_stat buf; @@ -612,7 +451,7 @@ int os_pipe(int *fds, int stream, int close_on_exec) int err, type = stream ? SOCK_STREAM : SOCK_DGRAM; err = socketpair(AF_UNIX, type, 0, fds); - if(err < 0) + if(err < 0) return(-errno); if(!close_on_exec) @@ -801,72 +640,6 @@ int os_create_unix_socket(char *file, int len, int close_on_exec) return(sock); } -int os_make_symlink(const char *to, const char *from) -{ - int err; - - err = symlink(to, from); - if(err) - return(-errno); - - return(0); -} - -int os_read_symlink(const char *file, char *buf, int size) -{ - int err; - - err = readlink(file, buf, size); - if(err < 0) - return(-errno); - - return(err); -} - -int os_link_file(const char *to, const char *from) -{ - int err; - - err = link(to, from); - if(err) - return(-errno); - - return(0); -} - -int os_make_dir(const char *dir, int mode) -{ - int err; - - err = mkdir(dir, mode); - if(err) - return(-errno); - - return(0); -} - -int os_make_dev(const char *name, int mode, int major, int minor) -{ - int err; - - err = mknod(name, mode, MKDEV(major, minor)); - if(err) - return(-errno); - - return(0); -} - -int os_remove_dir(const char *dir) -{ - int err; - - err = rmdir(dir); - if(err) - return(-errno); - - return(0); -} - void os_flush_stdout(void) { fflush(stdout); @@ -898,38 +671,6 @@ int os_lock_file(int fd, int excl) return(err); } -int os_stat_filesystem(char *path, long *bsize_out, long long *blocks_out, - long long *bfree_out, long long *bavail_out, - long long *files_out, long long *ffree_out, - void *fsid_out, int fsid_size, long *namelen_out, - long *spare_out) -{ - struct statfs64 buf; - int err; - - err = statfs64(path, &buf); - if(err < 0) - return(-errno); - - *bsize_out = buf.f_bsize; - *blocks_out = buf.f_blocks; - *bfree_out = buf.f_bfree; - *bavail_out = buf.f_bavail; - *files_out = buf.f_files; - *ffree_out = buf.f_ffree; - memcpy(fsid_out, &buf.f_fsid, - sizeof(buf.f_fsid) > fsid_size ? fsid_size : - sizeof(buf.f_fsid)); - *namelen_out = buf.f_namelen; - spare_out[0] = buf.f_spare[0]; - spare_out[1] = buf.f_spare[1]; - spare_out[2] = buf.f_spare[2]; - spare_out[3] = buf.f_spare[3]; - spare_out[4] = buf.f_spare[4]; - spare_out[5] = buf.f_spare[5]; - return(0); -} - /* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index ce1b5f15e..ec4617b42 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c @@ -29,13 +29,13 @@ unsigned long os_process_pc(int pid) sprintf(proc_stat, "/proc/%d/stat", pid); fd = os_open_file(proc_stat, of_read(OPENFLAGS()), 0); if(fd < 0){ - printk("os_process_pc - couldn't open '%s', err = %d\n", + printk("os_process_pc - couldn't open '%s', err = %d\n", proc_stat, -fd); return(ARBITRARY_ADDR); } err = os_read_file(fd, buf, sizeof(buf)); if(err < 0){ - printk("os_process_pc - couldn't read '%s', err = %d\n", + printk("os_process_pc - couldn't read '%s', err = %d\n", proc_stat, -err); os_close_file(fd); return(ARBITRARY_ADDR); @@ -75,7 +75,7 @@ int os_process_parent(int pid) parent = FAILURE_PID; n = sscanf(data, "%*d " COMM_SCANF " %*c %d", &parent); - if(n != 1) + if(n != 1) printk("Failed to scan '%s'\n", data); return(parent); @@ -113,7 +113,7 @@ int os_map_memory(void *virt, int fd, unsigned long long off, unsigned long len, prot = (r ? PROT_READ : 0) | (w ? PROT_WRITE : 0) | (x ? PROT_EXEC : 0); - loc = mmap64((void *) virt, len, prot, MAP_SHARED | MAP_FIXED, + loc = mmap64((void *) virt, len, prot, MAP_SHARED | MAP_FIXED, fd, off); if(loc == MAP_FAILED) return(-errno); diff --git a/arch/um/sys-i386/Makefile b/arch/um/sys-i386/Makefile index d489f4b4e..0f65a9259 100644 --- a/arch/um/sys-i386/Makefile +++ b/arch/um/sys-i386/Makefile @@ -8,10 +8,13 @@ USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) SYMLINKS = bitops.c semaphore.c highmem.c module.c -SYMLINKS := $(foreach f,$(SYMLINKS),$(src)/$f) +# this needs to be before the foreach, because clean-files does not accept +# complete paths like $(src)/$f. clean-files := $(SYMLINKS) +SYMLINKS := $(foreach f,$(SYMLINKS),$(src)/$f) + bitops.c-dir = lib semaphore.c-dir = kernel highmem.c-dir = mm diff --git a/arch/um/sys-i386/bugs.c b/arch/um/sys-i386/bugs.c index d5e0ba90a..41b0ab2fe 100644 --- a/arch/um/sys-i386/bugs.c +++ b/arch/um/sys-i386/bugs.c @@ -33,9 +33,9 @@ static char token(int fd, char *buf, int len, char stop) if(n != sizeof(*ptr)){ if(n == 0) return(0); printk("Reading /proc/cpuinfo failed, err = %d\n", -n); - if(n < 0) + if(n < 0) return(n); - else + else return(-EIO); } } while((c != '\n') && (c != stop) && (ptr < end)); @@ -63,7 +63,7 @@ static int find_cpuinfo_line(int fd, char *key, char *scratch, int len) return(0); } - if(!strncmp(scratch, key, strlen(key))) + if(!strncmp(scratch, key, strlen(key))) return(1); do { @@ -175,9 +175,9 @@ void arch_check_bugs(void) "checks\n"); return; } - if(check_cpu_flag("cmov", &have_it)) + if(check_cpu_flag("cmov", &have_it)) host_has_cmov = have_it; - if(check_cpu_flag("xmm", &have_it)) + if(check_cpu_flag("xmm", &have_it)) host_has_xmm = have_it; } diff --git a/arch/um/sys-i386/fault.c b/arch/um/sys-i386/fault.c index a8ddb3856..d0bbcdfdb 100644 --- a/arch/um/sys-i386/fault.c +++ b/arch/um/sys-i386/fault.c @@ -15,7 +15,7 @@ struct exception_table_entry }; const struct exception_table_entry *search_exception_tables(unsigned long add); - + /* Compare this to arch/i386/mm/extable.c:fixup_exception() */ int arch_fixup(unsigned long address, void *sc_ptr) { diff --git a/arch/um/sys-i386/ptrace_user.c b/arch/um/sys-i386/ptrace_user.c index 4c7d37517..b1021e82b 100644 --- a/arch/um/sys-i386/ptrace_user.c +++ b/arch/um/sys-i386/ptrace_user.c @@ -42,7 +42,7 @@ static void write_debugregs(int pid, unsigned long *regs) if(ptrace(PTRACE_POKEUSER, pid, &dummy->u_debugreg[i], regs[i]) < 0) printk("write_debugregs - ptrace failed on " - "register %d, value = 0x%x, errno = %d\n", i, + "register %d, value = 0x%x, errno = %d\n", i, regs[i], errno); } } @@ -55,7 +55,7 @@ static void read_debugregs(int pid, unsigned long *regs) dummy = NULL; nregs = sizeof(dummy->u_debugreg)/sizeof(dummy->u_debugreg[0]); for(i = 0; i < nregs; i++){ - regs[i] = ptrace(PTRACE_PEEKUSER, pid, + regs[i] = ptrace(PTRACE_PEEKUSER, pid, &dummy->u_debugreg[i], 0); } } diff --git a/arch/um/sys-i386/util/Makefile b/arch/um/sys-i386/util/Makefile index d10c36a01..42e743262 100644 --- a/arch/um/sys-i386/util/Makefile +++ b/arch/um/sys-i386/util/Makefile @@ -1,12 +1,10 @@ host-progs := mk_sc mk_thread always := $(host-progs) +hostprogs-y := mk_sc mk_thread +always := $(hostprogs-y) + mk_thread-objs := mk_thread_kern.o mk_thread_user.o HOSTCFLAGS_mk_thread_kern.o := $(CFLAGS) $(CPPFLAGS) HOSTCFLAGS_mk_thread_user.o := $(USER_CFLAGS) - -clean : - $(RM) -f $(build-targets) - -archmrproper : clean diff --git a/arch/um/util/Makefile b/arch/um/util/Makefile index 2fa9136ee..e2ab71209 100644 --- a/arch/um/util/Makefile +++ b/arch/um/util/Makefile @@ -1,11 +1,8 @@ -host-progs := mk_task mk_constants -always := $(host-progs) +hostprogs-y := mk_task mk_constants +always := $(hostprogs-y) mk_task-objs := mk_task_user.o mk_task_kern.o mk_constants-objs := mk_constants_user.o mk_constants_kern.o HOSTCFLAGS_mk_task_kern.o := $(CFLAGS) $(CPPFLAGS) HOSTCFLAGS_mk_constants_kern.o := $(CFLAGS) $(CPPFLAGS) - -clean: - $(RM) -f $(host-progs) diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index 994e4f859..5775f4fa7 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig @@ -68,7 +68,6 @@ menu "Processor type and features" bool "Anna" endchoice - #### V850E processor-specific config # All CPUs currently supported use the v850e architecture @@ -153,7 +152,6 @@ menu "Processor type and features" bool default RTE_MB_A_PCI - #### Some feature-specific configs # Everything except for the GDB simulator uses the same interrupt controller @@ -181,7 +179,6 @@ menu "Processor type and features" bool default !V850E_CACHE && !V850E2_CACHE - #### Misc config config ROM_KERNEL @@ -305,34 +302,7 @@ source "sound/Kconfig" source "drivers/usb/Kconfig" - -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - If you don't debug the kernel, you can say N. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - depends on DEBUG_KERNEL - help - Enables console device to interprent special characters as - commands to dump state information. - -config NO_KERNEL_MSG - bool "Suppress Kernel BUG Messages" - help - Do not output any debug BUG messages within the kernel. - -endmenu +source "arch/v850/Kconfig.debug" source "kernel/vserver/Kconfig" diff --git a/arch/v850/kernel/irq.c b/arch/v850/kernel/irq.c index 89809fb98..336cbf21d 100644 --- a/arch/v850/kernel/irq.c +++ b/arch/v850/kernel/irq.c @@ -141,13 +141,15 @@ skip: int handle_IRQ_event(unsigned int irq, struct pt_regs * regs, struct irqaction * action) { int status = 1; /* Force the "do bottom halves" bit */ + int ret; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) diff --git a/arch/v850/kernel/ptrace.c b/arch/v850/kernel/ptrace.c index 7d2554774..d6aef164b 100644 --- a/arch/v850/kernel/ptrace.c +++ b/arch/v850/kernel/ptrace.c @@ -149,14 +149,8 @@ int sys_ptrace(long request, long pid, long addr, long data) rval = ptrace_attach(child); goto out_tsk; } - rval = -ESRCH; - if (!(child->ptrace & PT_PTRACED)) - goto out_tsk; - if (child->state != TASK_STOPPED) { - if (request != PTRACE_KILL) - goto out_tsk; - } - if (child->parent != current) + ret = ptrace_check_attach(child, request == PTRACE_KILL); + if (ret < 0) goto out_tsk; switch (request) { @@ -240,7 +234,7 @@ int sys_ptrace(long request, long pid, long addr, long data) */ case PTRACE_KILL: rval = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; child->exit_code = SIGKILL; wake_up_process(child); @@ -271,11 +265,8 @@ asmlinkage void syscall_trace(void) return; /* The 0x80 provides a way for the tracing parent to distinguish between a syscall stop and SIGTRAP delivery */ - current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) - ? 0x80 : 0); - current->state = TASK_STOPPED; - notify_parent(current, SIGCHLD); - schedule(); + ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD) + ? 0x80 : 0)); /* * this isn't the same as continuing with a signal, but it will do * for normal use. strace only continues with a signal if the diff --git a/arch/v850/kernel/setup.c b/arch/v850/kernel/setup.c index 8e8bf5ddc..dacc9b331 100644 --- a/arch/v850/kernel/setup.c +++ b/arch/v850/kernel/setup.c @@ -280,8 +280,8 @@ init_mem_alloc (unsigned long ram_start, unsigned long ram_len) #if ((PAGE_OFFSET >> PAGE_SHIFT) & ((1UL << (MAX_ORDER - 1)) - 1)) #error MAX_ORDER is too large for given PAGE_OFFSET (use CONFIG_FORCE_MAX_ZONEORDER to change it) #endif - - free_area_init_node (0, NODE_DATA(0), 0, zones_size, + NODE_DATA(0)->node_mem_map = NULL; + free_area_init_node (0, NODE_DATA(0), zones_size, ADDR_TO_PAGE (PAGE_OFFSET), 0); mem_map = NODE_DATA(0)->node_mem_map; } diff --git a/arch/v850/kernel/time.c b/arch/v850/kernel/time.c index 74067adea..d0266de06 100644 --- a/arch/v850/kernel/time.c +++ b/arch/v850/kernel/time.c @@ -40,24 +40,6 @@ unsigned long long sched_clock(void) return (unsigned long long)jiffies * (1000000000 / HZ); } -static inline void do_profile (unsigned long pc) -{ - if (prof_buffer && current->pid) { - extern int _stext; - pc -= (unsigned long) &_stext; - pc >>= prof_shift; - if (pc < prof_len) - ++prof_buffer[pc]; - else - /* - * Don't ignore out-of-bounds PC values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - ++prof_buffer[prof_len-1]; - } -} - /* * timer_interrupt() needs to keep up the real-time clock, * as well as call the "do_timer()" routine every clocktick @@ -74,10 +56,7 @@ static irqreturn_t timer_interrupt (int irq, void *dummy, struct pt_regs *regs) mach_tick (); do_timer (regs); - - if (! user_mode (regs)) - do_profile (regs->pc); - + profile_tick(CPU_PROFILING, regs); #if 0 /* * If we have an externally synchronized Linux clock, then update diff --git a/arch/v850/kernel/vmlinux.lds.S b/arch/v850/kernel/vmlinux.lds.S index 71669f7a9..bab351c37 100644 --- a/arch/v850/kernel/vmlinux.lds.S +++ b/arch/v850/kernel/vmlinux.lds.S @@ -111,9 +111,6 @@ *(.init.setup) /* 2.5 convention */ \ *(.setup.init) /* 2.4 convention */ \ ___setup_end = . ; \ - ___start___param = . ; \ - *(__param) \ - ___stop___param = . ; \ ___initcall_start = . ; \ *(.initcall.init) \ *(.initcall1.init) \ diff --git a/arch/x86_64/Kconfig b/arch/x86_64/Kconfig index 1c07776ac..08923508e 100644 --- a/arch/x86_64/Kconfig +++ b/arch/x86_64/Kconfig @@ -4,7 +4,7 @@ # # Note: ISA is disabled and will hopefully never be enabled. # If you managed to buy an ISA x86-64 box you'll have to fix all the -# ISA drivers you need yourself. +# ISA drivers you need yourself. # mainmenu "Linux Kernel Configuration" @@ -57,7 +57,7 @@ config EARLY_PRINTK it is not recommended because it looks ugly and doesn't cooperate with klogd/syslogd or the X server. You should normally N here, unless you want to debug such a crash. - + config HPET_TIMER bool default y @@ -78,6 +78,10 @@ config GENERIC_ISA_DMA bool default y +config GENERIC_IOMAP + bool + default y + source "init/Kconfig" @@ -90,14 +94,14 @@ choice config MK8 bool "AMD-Opteron/Athlon64" help - Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs. + Optimize for AMD Opteron/Athlon64/Hammer/K8 CPUs. config MPSC - bool "Intel x86-64" + bool "Intel x86-64" help Optimize for Intel IA32 with 64bit extension CPUs (Prescott/Nocona/Potomac) - + config GENERIC_CPU bool "Generic-x86-64" help @@ -130,8 +134,8 @@ config MICROCODE tristate "/dev/cpu/microcode - Intel CPU microcode support" ---help--- If you say Y here the 'File systems' section, you will be - able to update the microcode on Intel processors. You will - obviously need the actual microcode binary data itself which is + able to update the microcode on Intel processors. You will + obviously need the actual microcode binary data itself which is not shipped with the Linux kernel. For latest news and information on obtaining all the required @@ -165,7 +169,7 @@ config X86_HT bool depends on SMP && !MK8 default y - + config MATH_EMULATION bool @@ -231,13 +235,13 @@ config PREEMPT be preempted even if it is in kernel mode executing a system call. This allows applications to run more reliably even when the system is under load. On contrary it may also break your drivers and add - priority inheritance problems to your system. Don't select it if + priority inheritance problems to your system. Don't select it if you rely on a stable system or have slightly obscure hardware. It's also not very well tested on x86-64 currently. You have been warned. - Say Y here if you are feeling brave and building a kernel for a - desktop, embedded or real-time system. Say N if you are unsure. + Say Y here if you are feeling brave and building a kernel for a + desktop, embedded or real-time system. Say N if you are unsure. config SCHED_SMT bool "SMT (Hyperthreading) scheduler support" @@ -297,7 +301,7 @@ config GART_IOMMU properly with 32-bit PCI devices that do not support DAC (Double Address Cycle). The IOMMU can be turned off at runtime with the iommu=off parameter. Normally the kernel will take the right choice by itself. - If unsure say Y + If unsure, say Y. # need this always enabled with GART_IOMMU for the VIA workaround config SWIOTLB @@ -310,13 +314,18 @@ config DUMMY_IOMMU depends on !GART_IOMMU && !SWIOTLB default y help - Don't use IOMMU code. This will cause problems when you have more than 4GB + Don't use IOMMU code. This will cause problems when you have more than 4GB of memory and any 32-bit devices. Don't turn on unless you know what you are doing. config X86_MCE - bool + bool "Machine check support" if EMBEDDED default y + help + Include a machine check error handler to report hardware errors. + This version will require the mcelog utility to decode some + machine check error logs. See + ftp://ftp.x86-64.org/pub/linux/tools/mcelog endmenu @@ -336,17 +345,27 @@ menu "Bus options (PCI etc.)" config PCI bool "PCI support" -# x86-64 doesn't support PCI BIOS access from long mode so always go direct. +# x86-64 doesn't support PCI BIOS access from long mode so always go direct. config PCI_DIRECT bool depends on PCI default y -config PCI_MMCONFIG - bool "Support mmconfig PCI config space access" +config PCI_MMCONFIG + bool "Support mmconfig PCI config space access" depends on PCI select ACPI_BOOT +config UNORDERED_IO + bool "Unordered IO mapping access" + depends on EXPERIMENTAL + help + Use unordered stores to access IO memory mappings in device drivers. + Still very experimental. When a driver works on IA64/ppc64/pa-risc it should + work with this option, but it makes the drivers behave differently + from i386. Requires that the driver writer used memory barriers + properly. + source "drivers/pci/Kconfig" source "drivers/pcmcia/Kconfig" @@ -388,6 +407,23 @@ config UID16 depends on IA32_EMULATION default y +config KEXEC + bool "kexec system call (EXPERIMENTAL)" + depends on EXPERIMENTAL + help + kexec is a system call that implements the ability to shutdown your + current kernel, and to start another kernel. It is like a reboot + but it is indepedent of the system firmware. And like a reboot + you can start any kernel with it, not just Linux. + + The name comes from the similiarity to the exec system call. + + It is an ongoing process to be certain the hardware in a machine + is properly shutdown, so do not be surprised if this code does not + initially work for you. It may help to enable device hotplugging + support. As of this writing the exact hardware interface is + strongly in flux, so no good recommendation can be made. + endmenu source drivers/Kconfig @@ -398,106 +434,7 @@ source fs/Kconfig source "arch/x86_64/oprofile/Kconfig" -menu "Kernel hacking" - -config DEBUG_KERNEL - bool "Kernel debugging" - help - Say Y here if you are developing drivers or trying to debug and - identify kernel problems. - -config DEBUG_SLAB - bool "Debug memory allocations" - depends on DEBUG_KERNEL - help - Say Y here to have the kernel do limited verification on memory - allocation as well as poisoning memory on free to catch use of freed - memory. - -config MAGIC_SYSRQ - bool "Magic SysRq key" - help - If you say Y here, you will have some control over the system even - if the system crashes for example during kernel debugging (e.g., you - will be able to flush the buffer cache to disk, reboot the system - immediately or dump some status information). This is accomplished - by pressing various keys while holding SysRq (Alt+PrintScreen). It - also works on a serial console (on PC hardware at least), if you - send a BREAK and then within 5 seconds a command keypress. The - keys are documented in . Don't say Y - unless you really know what this hack does. - -config DEBUG_SPINLOCK - bool "Spinlock debugging" - depends on DEBUG_KERNEL - help - Say Y here and build SMP to catch missing spinlock initialization - and certain other kinds of spinlock errors commonly made. This is - best used in conjunction with the NMI watchdog so that spinlock - deadlocks are also debuggable. - -# !SMP for now because the context switch early causes GPF in segment reloading -# and the GS base checking does the wrong thing then, causing a hang. -config CHECKING - bool "Additional run-time checks" - depends on DEBUG_KERNEL && !SMP - help - Enables some internal consistency checks for kernel debugging. - You should normally say N. - -config INIT_DEBUG - bool "Debug __init statements" - depends on DEBUG_KERNEL - help - Fill __init and __initdata at the end of boot. This helps debugging - illegal uses of __init and __initdata after initialization. - -config DEBUG_INFO - bool "Compile the kernel with debug info" - depends on DEBUG_KERNEL - help - If you say Y here the resulting kernel image will include - debugging info resulting in a larger kernel image. - Say Y here only if you plan to use gdb to debug the kernel. - Please note that this option requires new binutils. - If you don't debug the kernel, you can say N. - -config FRAME_POINTER - bool "Compile the kernel with frame pointers" - help - Compile the kernel with frame pointers. This may help for some - debugging with external debuggers. Note the standard oops backtracer - doesn't make use of this and the x86-64 kernel doesn't ensure an consistent - frame pointer through inline assembly (semaphores etc.) - Normally you should say N. - -config IOMMU_DEBUG - depends on GART_IOMMU && DEBUG_KERNEL - bool "Enable IOMMU debugging" - help - Force the IOMMU to on even when you have less than 4GB of - memory and add debugging code. On overflow always panic. And - allow to enable IOMMU leak tracing. Can be disabled at boot - time with iommu=noforce. This will also enable scatter gather - list merging. Currently not recommended for production - code. When you use it make sure you have a big enough - IOMMU/AGP aperture. Most of the options enabled by this can - be set more finegrained using the iommu= command line - options. See Documentation/x86_64/boot-options.txt for more - details. - -config IOMMU_LEAK - bool "IOMMU leak tracing" - depends on DEBUG_KERNEL - depends on IOMMU_DEBUG - help - Add a simple leak tracer to the IOMMU code. This is useful when you - are debugging a buggy device driver that leaks IOMMU mappings. - -#config X86_REMOTE_DEBUG -# bool "kgdb debugging stub" - -endmenu +source "arch/x86_64/Kconfig.debug" source "kernel/vserver/Kconfig" @@ -506,4 +443,3 @@ source "security/Kconfig" source "crypto/Kconfig" source "lib/Kconfig" - diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile index 9b9a504ef..a69f7bcdf 100644 --- a/arch/x86_64/Makefile +++ b/arch/x86_64/Makefile @@ -37,10 +37,10 @@ LDFLAGS := -m elf_x86_64 OBJCOPYFLAGS := -O binary -R .note -R .comment -S LDFLAGS_vmlinux := -e stext -CHECK := $(CHECK) -D__x86_64__=1 +CHECKFLAGS += -D__x86_64__ -m64 -cflags-$(CONFIG_MK8) += $(call check_gcc,-march=k8,) -cflags-$(CONFIG_MPSC) += $(call check_gcc,-march=nocona,) +cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8) +cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona) CFLAGS += $(cflags-y) CFLAGS += -mno-red-zone @@ -54,11 +54,11 @@ ifneq ($(CONFIG_DEBUG_INFO),y) CFLAGS += -fno-asynchronous-unwind-tables # -fweb shrinks the kernel a bit, but the difference is very small # it also messes up debugging, so don't use it for now. -#CFLAGS += $(call check_gcc,-fweb,) +#CFLAGS += $(call cc-option,-fweb) endif # -funit-at-a-time shrinks the kernel .text considerably # unfortunately it makes reading oopses harder. -CFLAGS += $(call check_gcc,-funit-at-a-time,) +CFLAGS += $(call cc-option,-funit-at-a-time) head-y := arch/x86_64/kernel/head.o arch/x86_64/kernel/head64.o arch/x86_64/kernel/init_task.o @@ -77,6 +77,7 @@ boot := arch/x86_64/boot all: bzImage BOOTIMAGE := arch/x86_64/boot/bzImage +KBUILD_IMAGE := $(BOOTIMAGE) bzImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(BOOTIMAGE) diff --git a/arch/x86_64/boot/video.S b/arch/x86_64/boot/video.S index fd0cc734a..0587477c9 100644 --- a/arch/x86_64/boot/video.S +++ b/arch/x86_64/boot/video.S @@ -1936,7 +1936,7 @@ store_edid: movl $0x13131313, %eax # memset block with 0x13 movw $32, %cx - movw $0x440, %di + movw $0x140, %di cld rep stosl @@ -1945,7 +1945,7 @@ store_edid: movw $0x01, %bx movw $0x00, %cx movw $0x01, %dx - movw $0x440, %di + movw $0x140, %di int $0x10 popw %di # restore all registers diff --git a/arch/x86_64/defconfig b/arch/x86_64/defconfig index bf6969fa0..ae2f4bfea 100644 --- a/arch/x86_64/defconfig +++ b/arch/x86_64/defconfig @@ -1,5 +1,7 @@ # # Automatically generated make config: don't edit +# Linux kernel version: 2.6.9-rc1-bk19 +# Sun Sep 12 23:13:23 2004 # CONFIG_X86_64=y CONFIG_64BIT=y @@ -17,11 +19,11 @@ CONFIG_GENERIC_ISA_DMA=y # CONFIG_EXPERIMENTAL=y CONFIG_CLEAN_COMPILE=y -CONFIG_STANDALONE=y # # General setup # +CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y @@ -35,6 +37,7 @@ CONFIG_IKCONFIG_PROC=y # CONFIG_EMBEDDED is not set CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set CONFIG_FUTEX=y CONFIG_EPOLL=y CONFIG_IOSCHED_NOOP=y @@ -42,6 +45,8 @@ CONFIG_IOSCHED_AS=y CONFIG_IOSCHED_DEADLINE=y CONFIG_IOSCHED_CFQ=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +# CONFIG_TINY_SHMEM is not set # # Loadable module support @@ -123,6 +128,8 @@ CONFIG_ACPI_SYSTEM=y CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y +CONFIG_UNORDERED_IO=y +CONFIG_PCI_MSI=y # CONFIG_PCI_LEGACY_PROC is not set # CONFIG_PCI_NAMES is not set @@ -144,6 +151,8 @@ CONFIG_UID16=y # # Generic Driver Options # +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_DEBUG_DRIVER is not set # @@ -171,7 +180,8 @@ CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_CARMEL is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_UB is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_BLK_DEV_INITRD=y @@ -186,10 +196,10 @@ CONFIG_BLK_DEV_IDE=y # # Please see Documentation/ide.txt for help/info on IDE drives # +# CONFIG_BLK_DEV_IDE_SATA is not set # CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y -# CONFIG_IDEDISK_STROKE is not set CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set @@ -273,16 +283,24 @@ CONFIG_BLK_DEV_SD=y # SCSI low-level drivers # CONFIG_BLK_DEV_3W_XXXX_RAID=y +# CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC7XXX_OLD is not set -# CONFIG_SCSI_AIC79XX is not set -# CONFIG_SCSI_ADVANSYS is not set -# CONFIG_SCSI_MEGARAID is not set +CONFIG_SCSI_AIC79XX=y +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +CONFIG_AIC79XX_RESET_DELAY_MS=4000 +# CONFIG_AIC79XX_ENABLE_RD_STRM is not set +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +# CONFIG_AIC79XX_REG_PRETTY_PRINT is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set CONFIG_SCSI_SATA=y # CONFIG_SCSI_SATA_SVW is not set CONFIG_SCSI_ATA_PIIX=y +# CONFIG_SCSI_SATA_NV is not set # CONFIG_SCSI_SATA_PROMISE is not set # CONFIG_SCSI_SATA_SX4 is not set # CONFIG_SCSI_SATA_SIL is not set @@ -290,7 +308,6 @@ CONFIG_SCSI_ATA_PIIX=y CONFIG_SCSI_SATA_VIA=y # CONFIG_SCSI_SATA_VITESSE is not set # CONFIG_SCSI_BUSLOGIC is not set -# CONFIG_SCSI_CPQFCTS is not set # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA_PIO is not set @@ -324,7 +341,6 @@ CONFIG_SCSI_QLA2XXX=y # CONFIG_FUSION=y CONFIG_FUSION_MAX_SGE=40 -# CONFIG_FUSION_ISENSE is not set # CONFIG_FUSION_CTL is not set # @@ -362,11 +378,13 @@ CONFIG_IP_MULTICAST=y # CONFIG_INET_AH is not set # CONFIG_INET_ESP is not set # CONFIG_INET_IPCOMP is not set +# CONFIG_INET_TUNNEL is not set CONFIG_IPV6=y # CONFIG_IPV6_PRIVACY is not set # CONFIG_INET6_AH is not set # CONFIG_INET6_ESP is not set # CONFIG_INET6_IPCOMP is not set +# CONFIG_INET6_TUNNEL is not set # CONFIG_IPV6_TUNNEL is not set # CONFIG_NETFILTER is not set @@ -392,6 +410,7 @@ CONFIG_IPV6=y # QoS and/or fair queueing # # CONFIG_NET_SCHED is not set +# CONFIG_NET_CLS_ROUTE is not set # # Network testing @@ -452,6 +471,7 @@ CONFIG_8139TOO=m # CONFIG_EPIC100 is not set # CONFIG_SUNDANCE is not set # CONFIG_VIA_RHINE is not set +# CONFIG_VIA_VELOCITY is not set # # Ethernet (1000 Mbit) @@ -575,7 +595,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_QIC02_TAPE is not set # # IPMI @@ -602,6 +621,9 @@ CONFIG_AGP_AMD64=y # CONFIG_DRM is not set # CONFIG_MWAVE is not set CONFIG_RAW_DRIVER=y +CONFIG_HPET=y +# CONFIG_HPET_RTC_IRQ is not set +CONFIG_HPET_MMAP=y CONFIG_MAX_RAW_DEVS=256 CONFIG_HANGCHECK_TIMER=y @@ -610,6 +632,11 @@ CONFIG_HANGCHECK_TIMER=y # # CONFIG_I2C is not set +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + # # Misc devices # @@ -635,7 +662,6 @@ CONFIG_HANGCHECK_TIMER=y # Console display driver support # CONFIG_VGA_CONSOLE=y -# CONFIG_MDA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y # @@ -686,6 +712,8 @@ CONFIG_USB=y CONFIG_USB_DEVICEFS=y # CONFIG_USB_BANDWIDTH is not set # CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_SUSPEND is not set +# CONFIG_USB_OTG is not set # # USB Host Controller Drivers @@ -706,6 +734,7 @@ CONFIG_USB_OHCI_HCD=y CONFIG_USB_PRINTER=y CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_RW_DETECT is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set @@ -830,7 +859,8 @@ CONFIG_ISO9660_FS=y # # DOS/FAT/NT Filesystems # -# CONFIG_FAT_FS is not set +# CONFIG_MSDOS_FS is not set +# CONFIG_VFAT_FS is not set # CONFIG_NTFS_FS is not set # @@ -879,6 +909,7 @@ CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_SUNRPC=y # CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set # CONFIG_SMB_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set @@ -906,12 +937,14 @@ CONFIG_OPROFILE=y # Kernel hacking # CONFIG_DEBUG_KERNEL=y -# CONFIG_DEBUG_SLAB is not set CONFIG_MAGIC_SYSRQ=y +# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_INIT_DEBUG is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_INFO is not set # CONFIG_FRAME_POINTER is not set +# CONFIG_INIT_DEBUG is not set +# CONFIG_SCHEDSTATS is not set # CONFIG_IOMMU_DEBUG is not set # @@ -927,5 +960,6 @@ CONFIG_MAGIC_SYSRQ=y # # Library routines # +# CONFIG_CRC_CCITT is not set CONFIG_CRC32=y # CONFIG_LIBCRC32C is not set diff --git a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c index fc1a9b01a..a38575943 100644 --- a/arch/x86_64/ia32/ia32_binfmt.c +++ b/arch/x86_64/ia32/ia32_binfmt.c @@ -301,6 +301,9 @@ MODULE_AUTHOR("Eric Youngdale, Andi Kleen"); #define elf_addr_t __u32 +#undef TASK_SIZE +#define TASK_SIZE 0xffffffff + static void elf32_init(struct pt_regs *); #include "../../../fs/binfmt_elf.c" @@ -330,7 +333,7 @@ int setup_arg_pages(struct linux_binprm *bprm, int executable_stack) unsigned long stack_base, grow; struct vm_area_struct *mpnt; struct mm_struct *mm = current->mm; - int i; + int i, ret; stack_base = IA32_STACK_TOP - MAX_ARG_PAGES * PAGE_SIZE; mm->arg_start = bprm->p + stack_base; @@ -367,10 +370,14 @@ int setup_arg_pages(struct linux_binprm *bprm, int executable_stack) mpnt->vm_flags = vm_stack_flags32; mpnt->vm_page_prot = (mpnt->vm_flags & VM_EXEC) ? PAGE_COPY_EXEC : PAGE_COPY; - insert_vm_struct(mm, mpnt); - // mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; - vx_vmpages_sub(mm, mm->total_vm - - ((mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT)); + if ((ret = insert_vm_struct(mm, mpnt))) { + up_write(&mm->mmap_sem); + kmem_cache_free(vm_area_cachep, mpnt); + return ret; + } + // mm->stack_vm = mm->total_vm = vma_pages(mpnt); + vx_vmpages_sub(mm, mm->total_vm - vma_pages(mpnt)); + mm->stack_vm = mm->total_vm; } for (i = 0 ; i < MAX_ARG_PAGES ; i++) { diff --git a/arch/x86_64/ia32/ia32_ioctl.c b/arch/x86_64/ia32/ia32_ioctl.c index 8c6964245..d259f8a6f 100644 --- a/arch/x86_64/ia32/ia32_ioctl.c +++ b/arch/x86_64/ia32/ia32_ioctl.c @@ -171,23 +171,8 @@ struct ioctl_trans ioctl_start[] = { COMPATIBLE_IOCTL(HDIO_SET_KEEPSETTINGS) COMPATIBLE_IOCTL(HDIO_SCAN_HWIF) COMPATIBLE_IOCTL(BLKRASET) -COMPATIBLE_IOCTL(BLKFRASET) COMPATIBLE_IOCTL(0x4B50) /* KDGHWCLK - not in the kernel, but don't complain */ COMPATIBLE_IOCTL(0x4B51) /* KDSHWCLK - not in the kernel, but don't complain */ -COMPATIBLE_IOCTL(RTC_AIE_ON) -COMPATIBLE_IOCTL(RTC_AIE_OFF) -COMPATIBLE_IOCTL(RTC_UIE_ON) -COMPATIBLE_IOCTL(RTC_UIE_OFF) -COMPATIBLE_IOCTL(RTC_PIE_ON) -COMPATIBLE_IOCTL(RTC_PIE_OFF) -COMPATIBLE_IOCTL(RTC_WIE_ON) -COMPATIBLE_IOCTL(RTC_WIE_OFF) -COMPATIBLE_IOCTL(RTC_ALM_SET) -COMPATIBLE_IOCTL(RTC_ALM_READ) -COMPATIBLE_IOCTL(RTC_RD_TIME) -COMPATIBLE_IOCTL(RTC_SET_TIME) -COMPATIBLE_IOCTL(RTC_WKALM_SET) -COMPATIBLE_IOCTL(RTC_WKALM_RD) COMPATIBLE_IOCTL(FIOQSIZE) /* And these ioctls need translation */ diff --git a/arch/x86_64/ia32/ia32_signal.c b/arch/x86_64/ia32/ia32_signal.c index 5716c8bec..5fb7d173b 100644 --- a/arch/x86_64/ia32/ia32_signal.c +++ b/arch/x86_64/ia32/ia32_signal.c @@ -115,7 +115,8 @@ int ia32_copy_siginfo_from_user(siginfo_t *to, siginfo_t32 __user *from) } asmlinkage long -sys32_sigsuspend(int history0, int history1, old_sigset_t mask, struct pt_regs regs) +sys32_sigsuspend(int history0, int history1, old_sigset_t mask, + struct pt_regs *regs) { sigset_t saveset; @@ -126,11 +127,11 @@ sys32_sigsuspend(int history0, int history1, old_sigset_t mask, struct pt_regs r recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); - regs.rax = -EINTR; + regs->rax = -EINTR; while (1) { current->state = TASK_INTERRUPTIBLE; schedule(); - if (do_signal(®s, &saveset)) + if (do_signal(regs, &saveset)) return -EINTR; } } @@ -138,7 +139,7 @@ sys32_sigsuspend(int history0, int history1, old_sigset_t mask, struct pt_regs r asmlinkage long sys32_sigaltstack(const stack_ia32_t __user *uss_ptr, stack_ia32_t __user *uoss_ptr, - struct pt_regs regs) + struct pt_regs *regs) { stack_t uss,uoss; int ret; @@ -155,7 +156,7 @@ sys32_sigaltstack(const stack_ia32_t __user *uss_ptr, } seg = get_fs(); set_fs(KERNEL_DS); - ret = do_sigaltstack(uss_ptr ? &uss : NULL, &uoss, regs.rsp); + ret = do_sigaltstack(uss_ptr ? &uss : NULL, &uoss, regs->rsp); set_fs(seg); if (ret >= 0 && uoss_ptr) { if (!access_ok(VERIFY_WRITE,uoss_ptr,sizeof(stack_ia32_t)) || @@ -274,9 +275,9 @@ badframe: return 1; } -asmlinkage long sys32_sigreturn(struct pt_regs regs) +asmlinkage long sys32_sigreturn(struct pt_regs *regs) { - struct sigframe __user *frame = (struct sigframe __user *)(regs.rsp-8); + struct sigframe __user *frame = (struct sigframe __user *)(regs->rsp-8); sigset_t set; unsigned int eax; @@ -294,20 +295,23 @@ asmlinkage long sys32_sigreturn(struct pt_regs regs) recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); - if (ia32_restore_sigcontext(®s, &frame->sc, &eax)) + if (ia32_restore_sigcontext(regs, &frame->sc, &eax)) goto badframe; return eax; badframe: - signal_fault(®s, frame, "32bit sigreturn"); + signal_fault(regs, frame, "32bit sigreturn"); return 0; } -asmlinkage long sys32_rt_sigreturn(struct pt_regs regs) +asmlinkage long sys32_rt_sigreturn(struct pt_regs *regs) { - struct rt_sigframe __user *frame = (struct rt_sigframe __user *)(regs.rsp - 4); + struct rt_sigframe __user *frame; sigset_t set; unsigned int eax; + struct pt_regs tregs; + + frame = (struct rt_sigframe __user *)(regs->rsp - 4); if (verify_area(VERIFY_READ, frame, sizeof(*frame))) goto badframe; @@ -320,16 +324,17 @@ asmlinkage long sys32_rt_sigreturn(struct pt_regs regs) recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); - if (ia32_restore_sigcontext(®s, &frame->uc.uc_mcontext, &eax)) + if (ia32_restore_sigcontext(regs, &frame->uc.uc_mcontext, &eax)) goto badframe; - if (sys32_sigaltstack(&frame->uc.uc_stack, NULL, regs) == -EFAULT) + tregs = *regs; + if (sys32_sigaltstack(&frame->uc.uc_stack, NULL, &tregs) == -EFAULT) goto badframe; return eax; badframe: - signal_fault(®s,frame,"32bit rt sigreturn"); + signal_fault(regs,frame,"32bit rt sigreturn"); return 0; } @@ -342,6 +347,7 @@ ia32_setup_sigcontext(struct sigcontext_ia32 __user *sc, struct _fpstate_ia32 __ struct pt_regs *regs, unsigned int mask) { int tmp, err = 0; + u32 eflags; tmp = 0; __asm__("movl %%gs,%0" : "=r"(tmp): "0"(tmp)); @@ -366,7 +372,11 @@ ia32_setup_sigcontext(struct sigcontext_ia32 __user *sc, struct _fpstate_ia32 __ err |= __put_user(current->thread.trap_no, &sc->trapno); err |= __put_user(current->thread.error_code, &sc->err); err |= __put_user((u32)regs->rip, &sc->eip); - err |= __put_user((u32)regs->eflags, &sc->eflags); + eflags = regs->eflags; + if (current->ptrace & PT_PTRACED) { + eflags &= ~TF_MASK; + } + err |= __put_user((u32)eflags, &sc->eflags); err |= __put_user((u32)regs->rsp, &sc->esp_at_signal); tmp = save_i387_ia32(current, fpstate, regs, 0); @@ -484,7 +494,13 @@ void ia32_setup_frame(int sig, struct k_sigaction *ka, regs->ss = __USER32_DS; set_fs(USER_DS); - regs->eflags &= ~TF_MASK; + if (regs->eflags & TF_MASK) { + if (current->ptrace & PT_PTRACED) { + ptrace_notify(SIGTRAP); + } else { + regs->eflags &= ~TF_MASK; + } + } #if DEBUG_SIG printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n", @@ -494,9 +510,7 @@ void ia32_setup_frame(int sig, struct k_sigaction *ka, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - signal_fault(regs,frame,"32bit signal deliver"); + force_sigsegv(sig, current); } void ia32_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, @@ -580,7 +594,13 @@ void ia32_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, regs->ss = __USER32_DS; set_fs(USER_DS); - regs->eflags &= ~TF_MASK; + if (regs->eflags & TF_MASK) { + if (current->ptrace & PT_PTRACED) { + ptrace_notify(SIGTRAP); + } else { + regs->eflags &= ~TF_MASK; + } + } #if DEBUG_SIG printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n", @@ -590,8 +610,6 @@ void ia32_setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - signal_fault(regs, frame, "32bit rt signal setup"); + force_sigsegv(sig, current); } diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S index 805e98057..84b5e0645 100644 --- a/arch/x86_64/ia32/ia32entry.S +++ b/arch/x86_64/ia32/ia32entry.S @@ -270,35 +270,32 @@ quiet_ni_syscall: ret CFI_ENDPROC - .macro PTREGSCALL label, func + .macro PTREGSCALL label, func, arg .globl \label \label: leaq \func(%rip),%rax + leaq -ARGOFFSET+8(%rsp),\arg /* 8 for return address */ jmp ia32_ptregs_common .endm - PTREGSCALL stub32_rt_sigreturn, sys32_rt_sigreturn - PTREGSCALL stub32_sigreturn, sys32_sigreturn - PTREGSCALL stub32_sigaltstack, sys32_sigaltstack - PTREGSCALL stub32_sigsuspend, sys32_sigsuspend - PTREGSCALL stub32_execve, sys32_execve - PTREGSCALL stub32_fork, sys_fork - PTREGSCALL stub32_clone, sys32_clone - PTREGSCALL stub32_vfork, sys_vfork - PTREGSCALL stub32_iopl, sys_iopl - PTREGSCALL stub32_rt_sigsuspend, sys_rt_sigsuspend + PTREGSCALL stub32_rt_sigreturn, sys32_rt_sigreturn, %rdi + PTREGSCALL stub32_sigreturn, sys32_sigreturn, %rdi + PTREGSCALL stub32_sigaltstack, sys32_sigaltstack, %rdx + PTREGSCALL stub32_sigsuspend, sys32_sigsuspend, %rcx + PTREGSCALL stub32_execve, sys32_execve, %rcx + PTREGSCALL stub32_fork, sys_fork, %rdi + PTREGSCALL stub32_clone, sys32_clone, %rdx + PTREGSCALL stub32_vfork, sys_vfork, %rdi + PTREGSCALL stub32_iopl, sys_iopl, %rsi + PTREGSCALL stub32_rt_sigsuspend, sys_rt_sigsuspend, %rdx ENTRY(ia32_ptregs_common) CFI_STARTPROC popq %r11 SAVE_REST - movq %r11, %r15 call *%rax - movq %r15, %r11 RESTORE_REST - leaq ia32_sysret(%rip),%r11 - pushq %r11 - ret + jmp ia32_sysret /* misbalances the return cache */ CFI_ENDPROC .data @@ -332,7 +329,7 @@ ia32_sys_call_table: .quad sys_getuid16 .quad sys_stime /* stime */ /* 25 */ .quad sys32_ptrace /* ptrace */ - .quad sys_alarm /* XXX sign extension??? */ + .quad sys_alarm .quad sys_fstat /* (old)fstat */ .quad sys_pause .quad compat_sys_utime /* 30 */ @@ -350,7 +347,7 @@ ia32_sys_call_table: .quad sys32_pipe .quad compat_sys_times .quad quiet_ni_syscall /* old prof syscall holder */ - .quad sys_brk /* 45 */ + .quad sys32_brk /* 45 */ .quad sys_setgid16 .quad sys_getgid16 .quad sys_signal @@ -396,7 +393,7 @@ ia32_sys_call_table: .quad sys_reboot .quad sys32_oldreaddir .quad sys32_mmap /* 90 */ - .quad sys_munmap + .quad sys32_munmap .quad sys_truncate .quad sys_ftruncate .quad sys_fchmod @@ -468,7 +465,7 @@ ia32_sys_call_table: .quad sys_sched_get_priority_min /* 160 */ .quad sys_sched_rr_get_interval .quad compat_sys_nanosleep - .quad sys_mremap + .quad sys32_mremap .quad sys_setresuid16 .quad sys_getresuid16 /* 165 */ .quad sys32_vm86_warning /* vm86 */ @@ -527,7 +524,15 @@ ia32_sys_call_table: .quad sys_madvise .quad sys_getdents64 /* 220 getdents64 */ .quad compat_sys_fcntl64 - .quad quiet_ni_syscall /* tux */ +#ifdef CONFIG_TUX + .quad __sys_tux +#else +# ifdef CONFIG_TUX_MODULE + .quad sys_tux +# else + .quad quiet_ni_syscall +# endif +#endif .quad quiet_ni_syscall /* security */ .quad sys_gettid .quad sys_readahead /* 225 */ @@ -558,7 +563,7 @@ ia32_sys_call_table: .quad sys_fadvise64 /* 250 */ .quad quiet_ni_syscall /* free_huge_pages */ .quad sys_exit_group - .quad sys_lookup_dcookie + .quad sys32_lookup_dcookie .quad sys_epoll_create .quad sys_epoll_ctl /* 255 */ .quad sys_epoll_wait @@ -589,6 +594,7 @@ ia32_sys_call_table: .quad compat_sys_mq_notify .quad compat_sys_mq_getsetattr .quad quiet_ni_syscall /* reserved for kexec */ + .quad sys32_waitid /* don't forget to change IA32_NR_syscalls */ ia32_syscall_end: .rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8 diff --git a/arch/x86_64/ia32/ptrace32.c b/arch/x86_64/ia32/ptrace32.c index 01202b792..4445da812 100644 --- a/arch/x86_64/ia32/ptrace32.c +++ b/arch/x86_64/ia32/ptrace32.c @@ -249,8 +249,8 @@ asmlinkage long sys32_ptrace(long request, u32 pid, u32 addr, u32 data) case PTRACE_GETFPREGS: case PTRACE_SETFPXREGS: case PTRACE_GETFPXREGS: + case PTRACE_GETEVENTMSG: break; - } child = find_target(request, pid, &ret); @@ -363,6 +363,10 @@ asmlinkage long sys32_ptrace(long request, u32 pid, u32 addr, u32 data) break; } + case PTRACE_GETEVENTMSG: + ret = put_user(child->ptrace_message,(unsigned int __user *)(u64)data); + break; + default: ret = -EINVAL; break; diff --git a/arch/x86_64/ia32/sys_ia32.c b/arch/x86_64/ia32/sys_ia32.c index 2f2e29d6f..bc16ecf05 100644 --- a/arch/x86_64/ia32/sys_ia32.c +++ b/arch/x86_64/ia32/sys_ia32.c @@ -213,12 +213,19 @@ sys32_mmap(struct mmap_arg_struct __user *arg) if (a.offset & ~PAGE_MASK) return -EINVAL; + if (a.flags & MAP_FIXED) { + if (a.len > IA32_PAGE_OFFSET) + return -EINVAL; + if (a.addr > IA32_PAGE_OFFSET - a.len) + return -ENOMEM; + } + if (!(a.flags & MAP_ANONYMOUS)) { file = fget(a.fd); if (!file) return -EBADF; } - + if (a.prot & PROT_READ) a.prot |= vm_force_exec32; @@ -233,14 +240,82 @@ sys32_mmap(struct mmap_arg_struct __user *arg) return retval; } +asmlinkage long +sys32_munmap(unsigned long start, unsigned long len) +{ + if ((start + len) > IA32_PAGE_OFFSET) + return -EINVAL; + return sys_munmap(start, len); +} + asmlinkage long sys32_mprotect(unsigned long start, size_t len, unsigned long prot) { + if ((start + PAGE_ALIGN(len)) >> 32) + return -ENOMEM; if (prot & PROT_READ) prot |= vm_force_exec32; return sys_mprotect(start,len,prot); } +asmlinkage long +sys32_brk(unsigned long brk) +{ + if (brk > IA32_PAGE_OFFSET) + return -EINVAL; + return sys_brk(brk); +} + +extern unsigned long do_mremap(unsigned long addr, + unsigned long old_len, unsigned long new_len, + unsigned long flags, unsigned long new_addr); + +asmlinkage unsigned long sys32_mremap(unsigned long addr, + unsigned long old_len, unsigned long new_len, + unsigned long flags, unsigned long new_addr) +{ + struct vm_area_struct *vma; + unsigned long ret = -EINVAL; + + if (old_len > IA32_PAGE_OFFSET || new_len > IA32_PAGE_OFFSET) + goto out; + if (addr > IA32_PAGE_OFFSET - old_len) + goto out; + down_write(¤t->mm->mmap_sem); + if (flags & MREMAP_FIXED) { + if (new_addr > IA32_PAGE_OFFSET - new_len) + goto out_sem; + } else if (addr > IA32_PAGE_OFFSET - new_len) { + unsigned long map_flags = 0; + struct file *file = NULL; + + ret = -ENOMEM; + if (!(flags & MREMAP_MAYMOVE)) + goto out_sem; + + vma = find_vma(current->mm, addr); + if (vma) { + if (vma->vm_flags & VM_SHARED) + map_flags |= MAP_SHARED; + file = vma->vm_file; + } + + /* MREMAP_FIXED checked above. */ + new_addr = get_unmapped_area(file, addr, new_len, + vma ? vma->vm_pgoff : 0, + map_flags); + ret = new_addr; + if (new_addr & ~PAGE_MASK) + goto out_sem; + flags |= MREMAP_FIXED; + } + ret = do_mremap(addr, old_len, new_len, flags, new_addr); +out_sem: + up_write(¤t->mm->mmap_sem); +out: + return ret; +} + asmlinkage long sys32_pipe(int __user *fd) { @@ -659,11 +734,12 @@ sys32_waitpid(compat_pid_t pid, unsigned int *stat_addr, int options) int sys32_ni_syscall(int call) { struct task_struct *me = current; - static char lastcomm[8]; - if (strcmp(lastcomm, me->comm)) { - printk(KERN_INFO "IA32 syscall %d from %s not implemented\n", call, - current->comm); - strcpy(lastcomm, me->comm); + static char lastcomm[sizeof(me->comm)]; + + if (strncmp(lastcomm, me->comm, sizeof(lastcomm))) { + printk(KERN_INFO "IA32 syscall %d from %s not implemented\n", + call, me->comm); + strncpy(lastcomm, me->comm, sizeof(lastcomm)); } return -ENOSYS; } @@ -1039,6 +1115,14 @@ asmlinkage long sys32_mmap2(unsigned long addr, unsigned long len, struct file * file = NULL; flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); + + if (flags & MAP_FIXED) { + if (len > IA32_PAGE_OFFSET) + return -EINVAL; + if (addr > IA32_PAGE_OFFSET - len) + return -ENOMEM; + } + if (!(flags & MAP_ANONYMOUS)) { file = fget(fd); if (!file) @@ -1128,7 +1212,7 @@ long sys32_ustat(unsigned dev, struct ustat32 __user *u32p) } asmlinkage long sys32_execve(char __user *name, compat_uptr_t __user *argv, - compat_uptr_t __user *envp, struct pt_regs regs) + compat_uptr_t __user *envp, struct pt_regs *regs) { long error; char * filename; @@ -1137,21 +1221,47 @@ asmlinkage long sys32_execve(char __user *name, compat_uptr_t __user *argv, error = PTR_ERR(filename); if (IS_ERR(filename)) return error; - error = compat_do_execve(filename, argv, envp, ®s); + error = compat_do_execve(filename, argv, envp, regs); if (error == 0) current->ptrace &= ~PT_DTRACE; putname(filename); return error; } -asmlinkage long sys32_clone(unsigned int clone_flags, unsigned int newsp, struct pt_regs regs) +asmlinkage long sys32_clone(unsigned int clone_flags, unsigned int newsp, + struct pt_regs *regs) { - void __user *parent_tid = (void __user *)regs.rdx; - void __user *child_tid = (void __user *)regs.rdi; + void __user *parent_tid = (void __user *)regs->rdx; + void __user *child_tid = (void __user *)regs->rdi; if (!newsp) - newsp = regs.rsp; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, - parent_tid, child_tid); + newsp = regs->rsp; + return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid); +} + +asmlinkage long sys32_waitid(int which, compat_pid_t pid, + siginfo_t32 __user *uinfo, int options, + struct compat_rusage __user *uru) +{ + siginfo_t info; + struct rusage ru; + long ret; + mm_segment_t old_fs = get_fs(); + + info.si_signo = 0; + set_fs (KERNEL_DS); + ret = sys_waitid(which, pid, (siginfo_t __user *) &info, options, + uru ? &ru : NULL); + set_fs (old_fs); + + if (ret < 0 || info.si_signo == 0) + return ret; + + if (uru && (ret = put_compat_rusage(&ru, uru))) + return ret; + + BUG_ON(info.si_code & __SI_MASK); + info.si_code |= __SI_CHLD; + return ia32_copy_siginfo_to_user(uinfo, &info); } /* @@ -1265,7 +1375,7 @@ asmlinkage long sys32_open(const char __user * filename, int flags, int mode) if (fd >= 0) { struct file *f = filp_open(tmp, flags, mode); error = PTR_ERR(f); - if (unlikely(IS_ERR(f))) { + if (IS_ERR(f)) { put_unused_fd(fd); fd = error; } else @@ -1319,11 +1429,11 @@ long sys32_fadvise64_64(int fd, __u32 offset_low, __u32 offset_high, long sys32_vm86_warning(void) { struct task_struct *me = current; - static char lastcomm[8]; - if (strcmp(lastcomm, me->comm)) { + static char lastcomm[sizeof(me->comm)]; + if (strncmp(lastcomm, me->comm, sizeof(lastcomm))) { printk(KERN_INFO "%s: vm86 mode not supported on 64 bit kernel\n", me->comm); - strcpy(lastcomm, me->comm); + strncpy(lastcomm, me->comm, sizeof(lastcomm)); } return -ENOSYS; } @@ -1340,6 +1450,12 @@ long sys32_quotactl(void) return -ENOSYS; } +long sys32_lookup_dcookie(u32 addr_low, u32 addr_high, + char __user * buf, size_t len) +{ + return sys_lookup_dcookie(((u64)addr_high << 32) | addr_low, buf, len); +} + cond_syscall(sys32_ipc) static int __init ia32_init (void) diff --git a/arch/x86_64/ia32/syscall32.c b/arch/x86_64/ia32/syscall32.c index 1806bff66..f82aeae6f 100644 --- a/arch/x86_64/ia32/syscall32.c +++ b/arch/x86_64/ia32/syscall32.c @@ -30,16 +30,20 @@ extern int sysctl_vsyscall32; char *syscall32_page; static int use_sysenter __initdata = -1; -/* RED-PEN: This knows too much about high level VM */ -/* Alternative would be to generate a vma with appropriate backing options - and let it be handled by generic VM */ -int map_syscall32(struct mm_struct *mm, unsigned long address) +/* + * Map the 32bit vsyscall page on demand. + * + * RED-PEN: This knows too much about high level VM. + * + * Alternative would be to generate a vma with appropriate backing options + * and let it be handled by generic VM. + */ +int __map_syscall32(struct mm_struct *mm, unsigned long address) { pte_t *pte; pmd_t *pmd; int err = 0; - down_read(&mm->mmap_sem); spin_lock(&mm->page_table_lock); pmd = pmd_alloc(mm, pgd_offset(mm, address), address); if (pmd && (pte = pte_alloc_map(mm, pmd, address)) != NULL) { @@ -54,6 +58,14 @@ int map_syscall32(struct mm_struct *mm, unsigned long address) } else err = -ENOMEM; spin_unlock(&mm->page_table_lock); + return err; +} + +int map_syscall32(struct mm_struct *mm, unsigned long address) +{ + int err; + down_read(&mm->mmap_sem); + err = __map_syscall32(mm, address); up_read(&mm->mmap_sem); return err; } @@ -76,7 +88,8 @@ static int __init init_syscall32(void) __initcall(init_syscall32); -void __init syscall32_cpu_init(void) +/* May not be __init: called during resume */ +void syscall32_cpu_init(void) { if (use_sysenter < 0) use_sysenter = (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL); diff --git a/arch/x86_64/kernel/Makefile b/arch/x86_64/kernel/Makefile index dc6f2695e..9f4f216c2 100644 --- a/arch/x86_64/kernel/Makefile +++ b/arch/x86_64/kernel/Makefile @@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head.o head64.o init_task.o vmlinux.lds.s +extra-y := head.o head64.o init_task.o vmlinux.lds EXTRA_AFLAGS := -traditional obj-y := process.o semaphore.o signal.o entry.o traps.o irq.o \ ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_x86_64.o \ @@ -18,6 +18,7 @@ obj-$(CONFIG_X86_CPUID) += cpuid.o obj-$(CONFIG_SMP) += smp.o smpboot.o trampoline.o obj-$(CONFIG_X86_LOCAL_APIC) += apic.o nmi.o obj-$(CONFIG_X86_IO_APIC) += io_apic.o mpparse.o +obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o obj-$(CONFIG_PM) += suspend.o obj-$(CONFIG_SOFTWARE_SUSPEND) += suspend_asm.o obj-$(CONFIG_CPU_FREQ) += cpufreq/ @@ -25,14 +26,15 @@ obj-$(CONFIG_EARLY_PRINTK) += early_printk.o obj-$(CONFIG_GART_IOMMU) += pci-gart.o aperture.o obj-$(CONFIG_DUMMY_IOMMU) += pci-nommu.o pci-dma.o obj-$(CONFIG_SWIOTLB) += swiotlb.o -obj-$(CONFIG_SCHED_SMT) += domain.o obj-$(CONFIG_MODULES) += module.o obj-y += topology.o +obj-y += intel_cacheinfo.o bootflag-y += ../../i386/kernel/bootflag.o cpuid-$(subst m,y,$(CONFIG_X86_CPUID)) += ../../i386/kernel/cpuid.o topology-y += ../../i386/mach-default/topology.o swiotlb-$(CONFIG_SWIOTLB) += ../../ia64/lib/swiotlb.o microcode-$(subst m,y,$(CONFIG_MICROCODE)) += ../../i386/kernel/microcode.o +intel_cacheinfo-y += ../../i386/kernel/cpu/intel_cacheinfo.o diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c index ddd8aac2a..3ecbf0d5e 100644 --- a/arch/x86_64/kernel/apic.c +++ b/arch/x86_64/kernel/apic.c @@ -144,6 +144,36 @@ void disconnect_bsp_APIC(void) outb(0x70, 0x22); outb(0x00, 0x23); } + else { + /* Go back to Virtual Wire compatibility mode */ + unsigned long value; + + /* For the spurious interrupt use vector F, and enable it */ + value = apic_read(APIC_SPIV); + value &= ~APIC_VECTOR_MASK; + value |= APIC_SPIV_APIC_ENABLED; + value |= 0xf; + apic_write_around(APIC_SPIV, value); + + /* For LVT0 make it edge triggered, active high, external and enabled */ + value = apic_read(APIC_LVT0); + value &= ~(APIC_MODE_MASK | APIC_SEND_PENDING | + APIC_INPUT_POLARITY | APIC_LVT_REMOTE_IRR | + APIC_LVT_LEVEL_TRIGGER | APIC_LVT_MASKED ); + value |= APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING; + value = SET_APIC_DELIVERY_MODE(value, APIC_MODE_EXINT); + apic_write_around(APIC_LVT0, value); + + /* For LVT1 make it edge triggered, active high, nmi and enabled */ + value = apic_read(APIC_LVT1); + value &= ~( + APIC_MODE_MASK | APIC_SEND_PENDING | + APIC_INPUT_POLARITY | APIC_LVT_REMOTE_IRR | + APIC_LVT_LEVEL_TRIGGER | APIC_LVT_MASKED); + value |= APIC_LVT_REMOTE_IRR | APIC_SEND_PENDING; + value = SET_APIC_DELIVERY_MODE(value, APIC_MODE_NMI); + apic_write_around(APIC_LVT1, value); + } } void disable_local_APIC(void) diff --git a/arch/x86_64/kernel/e820.c b/arch/x86_64/kernel/e820.c index 5b65992b8..72f7a7f93 100644 --- a/arch/x86_64/kernel/e820.c +++ b/arch/x86_64/kernel/e820.c @@ -185,8 +185,6 @@ void __init e820_reserve_resources(void) int i; for (i = 0; i < e820.nr_map; i++) { struct resource *res; - if (e820.map[i].addr + e820.map[i].size > 0x100000000ULL) - continue; res = alloc_bootmem_low(sizeof(struct resource)); switch (e820.map[i].type) { case E820_RAM: res->name = "System RAM"; break; diff --git a/arch/x86_64/kernel/i8259.c b/arch/x86_64/kernel/i8259.c index c52b859c9..6a51ed056 100644 --- a/arch/x86_64/kernel/i8259.c +++ b/arch/x86_64/kernel/i8259.c @@ -329,7 +329,7 @@ spurious_8259A_irq: * lets ACK and report it. [once per IRQ] */ if (!(spurious_irq_mask & irqmask)) { - printk("spurious 8259A interrupt: IRQ%d.\n", irq); + printk(KERN_DEBUG "spurious 8259A interrupt: IRQ%d.\n", irq); spurious_irq_mask |= irqmask; } atomic_inc(&irq_err_count); @@ -342,7 +342,7 @@ spurious_8259A_irq: } } -void __init init_8259A(int auto_eoi) +void init_8259A(int auto_eoi) { unsigned long flags; @@ -385,6 +385,71 @@ void __init init_8259A(int auto_eoi) spin_unlock_irqrestore(&i8259A_lock, flags); } +static char irq_trigger[2]; +/** + * ELCR registers (0x4d0, 0x4d1) control edge/level of IRQ + */ +static void restore_ELCR(char *trigger) +{ + outb(trigger[0], 0x4d0); + outb(trigger[1], 0x4d1); +} + +static void save_ELCR(char *trigger) +{ + /* IRQ 0,1,2,8,13 are marked as reserved */ + trigger[0] = inb(0x4d0) & 0xF8; + trigger[1] = inb(0x4d1) & 0xDE; +} + +static int i8259A_resume(struct sys_device *dev) +{ + init_8259A(0); + restore_ELCR(irq_trigger); + return 0; +} + +static int i8259A_suspend(struct sys_device *dev, u32 state) +{ + save_ELCR(irq_trigger); + return 0; +} + + + +static int i8259A_shutdown(struct sys_device *dev) +{ + /* Put the i8259A into a quiescent state that + * the kernel initialization code can get it + * out of. + */ + outb(0xff, 0x21); /* mask all of 8259A-1 */ + outb(0xff, 0xA1); /* mask all of 8259A-1 */ + return 0; +} + +static struct sysdev_class i8259_sysdev_class = { + set_kset_name("i8259"), + .suspend = i8259A_suspend, + .resume = i8259A_resume, + .shutdown = i8259A_shutdown, +}; + +static struct sys_device device_i8259A = { + .id = 0, + .cls = &i8259_sysdev_class, +}; + +static int __init i8259A_init_sysfs(void) +{ + int error = sysdev_class_register(&i8259_sysdev_class); + if (!error) + error = sysdev_register(&device_i8259A); + return error; +} + +device_initcall(i8259A_init_sysfs); + /* * IRQ2 is cascade interrupt to second interrupt controller */ diff --git a/arch/x86_64/kernel/init_task.c b/arch/x86_64/kernel/init_task.c index 33185ca33..8bc4becb8 100644 --- a/arch/x86_64/kernel/init_task.c +++ b/arch/x86_64/kernel/init_task.c @@ -44,8 +44,7 @@ EXPORT_SYMBOL(init_task); * section. Since TSS's are completely CPU-local, we want them * on exact cacheline boundaries, to eliminate cacheline ping-pong. */ -struct tss_struct init_tss[NR_CPUS] __cacheline_aligned; - +DEFINE_PER_CPU(struct tss_struct, init_tss) ____cacheline_maxaligned_in_smp; #define ALIGN_TO_4K __attribute__((section(".data.init_task"))) diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index 6cb45b7eb..93f1ec7bc 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c @@ -30,12 +30,15 @@ #include #include #include +#include #include #include #include #include +#define __apicdebuginit __init + int sis_apic_bug; /* not actually supported, dummy for compile */ #undef APIC_LOCKUP_DEBUG @@ -262,12 +265,14 @@ void __init check_ioapic(void) #endif return; case PCI_VENDOR_ID_NVIDIA: -#ifndef CONFIG_SMP +#ifdef CONFIG_ACPI + /* All timer overrides on Nvidia + seem to be wrong. Skip them. */ + acpi_skip_timer_override = 1; printk(KERN_INFO - "PCI bridge %02x:%02x from %x found. Setting \"noapic\". Overwrite with \"apic\"\n", - num,slot,vendor); - skip_ioapic_setup = 1; + "Nvidia board detected. Ignoring ACPI timer override.\n"); #endif + /* RED-PEN skip them on mptables too? */ return; } @@ -292,13 +297,13 @@ static int __init ioapic_pirq_setup(char *str) pirq_entries[i] = -1; pirqs_enabled = 1; - printk(KERN_INFO "PIRQ redirection, working around broken MP-BIOS.\n"); + apic_printk(APIC_VERBOSE, "PIRQ redirection, working around broken MP-BIOS.\n"); max = MAX_PIRQS; if (ints[0] < MAX_PIRQS) max = ints[0]; for (i = 0; i < max; i++) { - printk(KERN_DEBUG "... PIRQ%d -> IRQ %d\n", i, ints[i+1]); + apic_printk(APIC_VERBOSE, "... PIRQ%d -> IRQ %d\n", i, ints[i+1]); /* * PIRQs are mapped upside down, usually. */ @@ -329,7 +334,7 @@ static int __init find_irq_entry(int apic, int pin, int type) /* * Find the pin to which IRQ[irq] (ISA) is connected */ -static int __init find_isa_irq_pin(int irq, int type) +static int find_isa_irq_pin(int irq, int type) { int i; @@ -357,10 +362,10 @@ int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin) { int apic, i, best_guess = -1; - Dprintk("querying PCI -> IRQ mapping bus:%d, slot:%d, pin:%d.\n", + apic_printk(APIC_DEBUG, "querying PCI -> IRQ mapping bus:%d, slot:%d, pin:%d.\n", bus, slot, pin); if (mp_bus_id_to_pci_bus[bus] == -1) { - printk(KERN_WARNING "PCI BIOS passed nonexistent PCI bus %d!\n", bus); + apic_printk(APIC_VERBOSE, "PCI BIOS passed nonexistent PCI bus %d!\n", bus); return -1; } for (i = 0; i < mp_irq_entries; i++) { @@ -402,7 +407,7 @@ static int __init EISA_ELCR(unsigned int irq) unsigned int port = 0x4d0 + (irq >> 3); return (inb(port) >> (irq & 7)) & 1; } - printk(KERN_INFO "Broken MPtable reports ISA irq %d\n", irq); + apic_printk(APIC_VERBOSE, "Broken MPtable reports ISA irq %d\n", irq); return 0; } @@ -625,10 +630,10 @@ static int pin_2_irq(int idx, int apic, int pin) if ((pin >= 16) && (pin <= 23)) { if (pirq_entries[pin-16] != -1) { if (!pirq_entries[pin-16]) { - printk(KERN_DEBUG "disabling PIRQ%d\n", pin-16); + apic_printk(APIC_VERBOSE, "disabling PIRQ%d\n", pin-16); } else { irq = pirq_entries[pin-16]; - printk(KERN_DEBUG "using PIRQ%d -> IRQ %d\n", + apic_printk(APIC_VERBOSE, "using PIRQ%d -> IRQ %d\n", pin-16, irq); } } @@ -719,7 +724,7 @@ void __init setup_IO_APIC_irqs(void) int apic, pin, idx, irq, first_notcon = 1, vector; unsigned long flags; - printk(KERN_DEBUG "init IO_APIC IRQs\n"); + apic_printk(APIC_VERBOSE, KERN_DEBUG "init IO_APIC IRQs\n"); for (apic = 0; apic < nr_ioapics; apic++) { for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) { @@ -732,15 +737,15 @@ void __init setup_IO_APIC_irqs(void) entry.delivery_mode = dest_LowestPrio; entry.dest_mode = INT_DELIVERY_MODE; entry.mask = 0; /* enable IRQ */ - entry.dest.logical.logical_dest = TARGET_CPUS; + entry.dest.logical.logical_dest = cpu_mask_to_apicid(TARGET_CPUS); idx = find_irq_entry(apic,pin,mp_INT); if (idx == -1) { if (first_notcon) { - printk(KERN_DEBUG " IO-APIC (apicid-pin) %d-%d", mp_ioapics[apic].mpc_apicid, pin); + apic_printk(APIC_VERBOSE, KERN_DEBUG " IO-APIC (apicid-pin) %d-%d", mp_ioapics[apic].mpc_apicid, pin); first_notcon = 0; } else - printk(", %d-%d", mp_ioapics[apic].mpc_apicid, pin); + apic_printk(APIC_VERBOSE, ", %d-%d", mp_ioapics[apic].mpc_apicid, pin); continue; } @@ -750,7 +755,7 @@ void __init setup_IO_APIC_irqs(void) if (irq_trigger(idx)) { entry.trigger = 1; entry.mask = 1; - entry.dest.logical.logical_dest = TARGET_CPUS; + entry.dest.logical.logical_dest = cpu_mask_to_apicid(TARGET_CPUS); } irq = pin_2_irq(idx, apic, pin); @@ -775,7 +780,7 @@ void __init setup_IO_APIC_irqs(void) } if (!first_notcon) - printk(" not connected.\n"); + apic_printk(APIC_VERBOSE," not connected.\n"); } /* @@ -800,7 +805,7 @@ void __init setup_ExtINT_IRQ0_pin(unsigned int pin, int vector) */ entry.dest_mode = INT_DELIVERY_MODE; entry.mask = 0; /* unmask IRQ now */ - entry.dest.logical.logical_dest = TARGET_CPUS; + entry.dest.logical.logical_dest = cpu_mask_to_apicid(TARGET_CPUS); entry.delivery_mode = dest_LowestPrio; entry.polarity = 0; entry.trigger = 0; @@ -825,13 +830,9 @@ void __init setup_ExtINT_IRQ0_pin(unsigned int pin, int vector) void __init UNEXPECTED_IO_APIC(void) { -#if 0 - printk(KERN_WARNING " WARNING: unexpected IO-APIC, please mail\n"); - printk(KERN_WARNING " to linux-smp@vger.kernel.org\n"); -#endif } -void __init print_IO_APIC(void) +void __apicdebuginit print_IO_APIC(void) { int apic, i; union IO_APIC_reg_00 reg_00; @@ -839,7 +840,10 @@ void __init print_IO_APIC(void) union IO_APIC_reg_02 reg_02; unsigned long flags; - printk(KERN_DEBUG "number of MP IRQ sources: %d.\n", mp_irq_entries); + if (apic_verbosity == APIC_QUIET) + return; + + printk(KERN_DEBUG "number of MP IRQ sources: %d.\n", mp_irq_entries); for (i = 0; i < nr_ioapics; i++) printk(KERN_DEBUG "number of IO-APIC #%d registers: %d.\n", mp_ioapics[i].mpc_apicid, nr_ioapic_registers[i]); @@ -955,11 +959,14 @@ void __init print_IO_APIC(void) return; } -static void print_APIC_bitfield (int base) +static __apicdebuginit void print_APIC_bitfield (int base) { unsigned int v; int i, j; + if (apic_verbosity == APIC_QUIET) + return; + printk(KERN_DEBUG "0123456789abcdef0123456789abcdef\n" KERN_DEBUG); for (i = 0; i < 8; i++) { v = apic_read(base + i*0x10); @@ -973,10 +980,13 @@ static void print_APIC_bitfield (int base) } } -void /*__init*/ print_local_APIC(void * dummy) +void __apicdebuginit print_local_APIC(void * dummy) { unsigned int v, ver, maxlvt; + if (apic_verbosity == APIC_QUIET) + return; + printk("\n" KERN_DEBUG "printing local APIC contents on CPU#%d/%d:\n", smp_processor_id(), hard_smp_processor_id()); v = apic_read(APIC_ID); @@ -1058,12 +1068,15 @@ void print_all_local_APICs (void) on_each_cpu(print_local_APIC, NULL, 1, 1); } -void /*__init*/ print_PIC(void) +void __apicdebuginit print_PIC(void) { extern spinlock_t i8259A_lock; unsigned int v; unsigned long flags; + if (apic_verbosity == APIC_QUIET) + return; + printk(KERN_DEBUG "\nprinting PIC contents\n"); spin_lock_irqsave(&i8259A_lock, flags); @@ -1123,11 +1136,43 @@ static void __init enable_IO_APIC(void) */ void disable_IO_APIC(void) { + int pin; /* * Clear the IO-APIC before rebooting: */ clear_IO_APIC(); + /* + * If the i82559 is routed through an IOAPIC + * Put that IOAPIC in virtual wire mode + * so legacy interrups can be delivered. + */ + pin = find_isa_irq_pin(0, mp_ExtINT); + if (pin != -1) { + struct IO_APIC_route_entry entry; + unsigned long flags; + + memset(&entry, 0, sizeof(entry)); + entry.mask = 0; /* Enabled */ + entry.trigger = 0; /* Edge */ + entry.irr = 0; + entry.polarity = 0; /* High */ + entry.delivery_status = 0; + entry.dest_mode = 0; /* Physical */ + entry.delivery_mode = 7; /* ExtInt */ + entry.vector = 0; + entry.dest.physical.physical_dest = 0; + + + /* + * Add it to the IO-APIC irq-routing table: + */ + spin_lock_irqsave(&ioapic_lock, flags); + io_apic_write(0, 0x11+2*pin, *(((int *)&entry)+1)); + io_apic_write(0, 0x10+2*pin, *(((int *)&entry)+0)); + spin_unlock_irqrestore(&ioapic_lock, flags); + } + disconnect_bsp_APIC(); } @@ -1160,9 +1205,9 @@ static void __init setup_ioapic_ids_from_mpc (void) old_id = mp_ioapics[apic].mpc_apicid; if (mp_ioapics[apic].mpc_apicid >= 0xf) { - printk(KERN_ERR "BIOS bug, IO-APIC#%d ID is %d in the MPC table!...\n", + apic_printk(APIC_QUIET,KERN_ERR "BIOS bug, IO-APIC#%d ID is %d in the MPC table!...\n", apic, mp_ioapics[apic].mpc_apicid); - printk(KERN_ERR "... fixing up to %d. (tell your hw vendor)\n", + apic_printk(APIC_QUIET,KERN_ERR "... fixing up to %d. (tell your hw vendor)\n", reg_00.bits.ID); mp_ioapics[apic].mpc_apicid = reg_00.bits.ID; } @@ -1205,7 +1250,7 @@ static void __init setup_ioapic_ids_from_mpc (void) * Read the right value from the MPC table and * write it into the ID register. */ - printk(KERN_INFO "...changing IO-APIC physical APIC ID to %d ...", + apic_printk(APIC_VERBOSE,KERN_INFO "...changing IO-APIC physical APIC ID to %d ...", mp_ioapics[apic].mpc_apicid); reg_00.bits.ID = mp_ioapics[apic].mpc_apicid; @@ -1220,9 +1265,9 @@ static void __init setup_ioapic_ids_from_mpc (void) reg_00.raw = io_apic_read(apic, 0); spin_unlock_irqrestore(&ioapic_lock, flags); if (reg_00.bits.ID != mp_ioapics[apic].mpc_apicid) - panic("could not set ID!\n"); + printk("could not set ID!\n"); else - printk(" ok.\n"); + apic_printk(APIC_VERBOSE," ok.\n"); } } @@ -1671,7 +1716,7 @@ static inline void check_timer(void) pin1 = find_isa_irq_pin(0, mp_INT); pin2 = find_isa_irq_pin(0, mp_ExtINT); - printk(KERN_INFO "..TIMER: vector=0x%02X pin1=%d pin2=%d\n", vector, pin1, pin2); + apic_printk(APIC_VERBOSE,KERN_INFO "..TIMER: vector=0x%02X pin1=%d pin2=%d\n", vector, pin1, pin2); if (pin1 != -1) { /* @@ -1689,12 +1734,12 @@ static inline void check_timer(void) return; } clear_IO_APIC_pin(0, pin1); - printk(KERN_ERR "..MP-BIOS bug: 8254 timer not connected to IO-APIC\n"); + apic_printk(APIC_QUIET,KERN_ERR "..MP-BIOS bug: 8254 timer not connected to IO-APIC\n"); } - printk(KERN_INFO "...trying to set up timer (IRQ0) through the 8259A ... "); + apic_printk(APIC_VERBOSE,KERN_INFO "...trying to set up timer (IRQ0) through the 8259A ... "); if (pin2 != -1) { - printk("\n..... (found pin %d) ...", pin2); + apic_printk(APIC_VERBOSE,"\n..... (found pin %d) ...", pin2); /* * legacy devices should be connected to IO APIC #0 */ @@ -1720,7 +1765,7 @@ static inline void check_timer(void) nmi_watchdog = 0; } - printk(KERN_INFO "...trying to set up timer as Virtual Wire IRQ..."); + apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as Virtual Wire IRQ..."); disable_8259A_irq(0); irq_desc[0].handler = &lapic_irq_type; @@ -1728,13 +1773,13 @@ static inline void check_timer(void) enable_8259A_irq(0); if (timer_irq_works()) { - printk(" works.\n"); + apic_printk(APIC_QUIET, " works.\n"); return; } apic_write_around(APIC_LVT0, APIC_LVT_MASKED | APIC_DM_FIXED | vector); - printk(" failed.\n"); + apic_printk(APIC_VERBOSE," failed.\n"); - printk(KERN_INFO "...trying to set up timer as ExtINT IRQ..."); + apic_printk(APIC_VERBOSE, KERN_INFO "...trying to set up timer as ExtINT IRQ..."); init_8259A(0); make_8259A_irq(0); @@ -1743,10 +1788,10 @@ static inline void check_timer(void) unlock_ExtINT_logic(); if (timer_irq_works()) { - printk(" works.\n"); + apic_printk(APIC_VERBOSE," works.\n"); return; } - printk(" failed :(.\n"); + apic_printk(APIC_VERBOSE," failed :(.\n"); panic("IO-APIC + timer doesn't work! Try using the 'noapic' kernel parameter\n"); } @@ -1768,7 +1813,7 @@ void __init setup_IO_APIC(void) else io_apic_irqs = ~PIC_IRQS; - printk("ENABLING IO-APIC IRQs\n"); + apic_printk(APIC_VERBOSE, "ENABLING IO-APIC IRQs\n"); /* * Set up the IO-APIC IRQ routing table. @@ -1783,6 +1828,98 @@ void __init setup_IO_APIC(void) print_IO_APIC(); } +struct sysfs_ioapic_data { + struct sys_device dev; + struct IO_APIC_route_entry entry[0]; +}; +static struct sysfs_ioapic_data * mp_ioapic_data[MAX_IO_APICS]; + +static int ioapic_suspend(struct sys_device *dev, u32 state) +{ + struct IO_APIC_route_entry *entry; + struct sysfs_ioapic_data *data; + unsigned long flags; + int i; + + data = container_of(dev, struct sysfs_ioapic_data, dev); + entry = data->entry; + spin_lock_irqsave(&ioapic_lock, flags); + for (i = 0; i < nr_ioapic_registers[dev->id]; i ++, entry ++ ) { + *(((int *)entry) + 1) = io_apic_read(dev->id, 0x11 + 2 * i); + *(((int *)entry) + 0) = io_apic_read(dev->id, 0x10 + 2 * i); + } + spin_unlock_irqrestore(&ioapic_lock, flags); + + return 0; +} + +static int ioapic_resume(struct sys_device *dev) +{ + struct IO_APIC_route_entry *entry; + struct sysfs_ioapic_data *data; + unsigned long flags; + union IO_APIC_reg_00 reg_00; + int i; + + data = container_of(dev, struct sysfs_ioapic_data, dev); + entry = data->entry; + + spin_lock_irqsave(&ioapic_lock, flags); + reg_00.raw = io_apic_read(dev->id, 0); + if (reg_00.bits.ID != mp_ioapics[dev->id].mpc_apicid) { + reg_00.bits.ID = mp_ioapics[dev->id].mpc_apicid; + io_apic_write(dev->id, 0, reg_00.raw); + } + for (i = 0; i < nr_ioapic_registers[dev->id]; i ++, entry ++ ) { + io_apic_write(dev->id, 0x11+2*i, *(((int *)entry)+1)); + io_apic_write(dev->id, 0x10+2*i, *(((int *)entry)+0)); + } + spin_unlock_irqrestore(&ioapic_lock, flags); + + return 0; +} + +static struct sysdev_class ioapic_sysdev_class = { + set_kset_name("ioapic"), + .suspend = ioapic_suspend, + .resume = ioapic_resume, +}; + +static int __init ioapic_init_sysfs(void) +{ + struct sys_device * dev; + int i, size, error = 0; + + error = sysdev_class_register(&ioapic_sysdev_class); + if (error) + return error; + + for (i = 0; i < nr_ioapics; i++ ) { + size = sizeof(struct sys_device) + nr_ioapic_registers[i] + * sizeof(struct IO_APIC_route_entry); + mp_ioapic_data[i] = kmalloc(size, GFP_KERNEL); + if (!mp_ioapic_data[i]) { + printk(KERN_ERR "Can't suspend/resume IOAPIC %d\n", i); + continue; + } + memset(mp_ioapic_data[i], 0, size); + dev = &mp_ioapic_data[i]->dev; + dev->id = i; + dev->cls = &ioapic_sysdev_class; + error = sysdev_register(dev); + if (error) { + kfree(mp_ioapic_data[i]); + mp_ioapic_data[i] = NULL; + printk(KERN_ERR "Can't suspend/resume IOAPIC %d\n", i); + continue; + } + } + + return 0; +} + +device_initcall(ioapic_init_sysfs); + /* -------------------------------------------------------------------------- ACPI-based IOAPIC Configuration -------------------------------------------------------------------------- */ @@ -1815,7 +1952,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id) spin_unlock_irqrestore(&ioapic_lock, flags); if (apic_id >= IO_APIC_MAX_ID) { - printk(KERN_WARNING "IOAPIC[%d]: Invalid apic_id %d, trying " + apic_printk(APIC_QUIET, KERN_WARNING "IOAPIC[%d]: Invalid apic_id %d, trying " "%d\n", ioapic, apic_id, reg_00.bits.ID); apic_id = reg_00.bits.ID; } @@ -1834,7 +1971,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id) if (i == IO_APIC_MAX_ID) panic("Max apic_id exceeded!\n"); - printk(KERN_WARNING "IOAPIC[%d]: apic_id %d already used, " + apic_printk(APIC_VERBOSE, KERN_WARNING "IOAPIC[%d]: apic_id %d already used, " "trying %d\n", ioapic, apic_id, i); apic_id = i; @@ -1855,7 +1992,7 @@ int __init io_apic_get_unique_id (int ioapic, int apic_id) panic("IOAPIC[%d]: Unable change apic_id!\n", ioapic); } - printk(KERN_INFO "IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id); + apic_printk(APIC_VERBOSE,KERN_INFO "IOAPIC[%d]: Assigned apic_id %d\n", ioapic, apic_id); return apic_id; } @@ -1893,7 +2030,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a unsigned long flags; if (!IO_APIC_IRQ(irq)) { - printk(KERN_ERR "IOAPIC[%d]: Invalid reference to IRQ 0\n", + apic_printk(APIC_QUIET,KERN_ERR "IOAPIC[%d]: Invalid reference to IRQ 0\n", ioapic); return -EINVAL; } @@ -1908,7 +2045,7 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a entry.delivery_mode = dest_LowestPrio; entry.dest_mode = INT_DELIVERY_MODE; - entry.dest.logical.logical_dest = TARGET_CPUS; + entry.dest.logical.logical_dest = cpu_mask_to_apicid(TARGET_CPUS); entry.trigger = edge_level; entry.polarity = active_high_low; entry.mask = 1; /* Disabled (masked) */ @@ -1921,20 +2058,12 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a entry.vector = assign_irq_vector(irq); - printk(KERN_DEBUG "IOAPIC[%d]: Set PCI routing entry (%d-%d -> 0x%x -> " + apic_printk(APIC_VERBOSE,KERN_DEBUG "IOAPIC[%d]: Set PCI routing entry (%d-%d -> 0x%x -> " "IRQ %d Mode:%i Active:%i)\n", ioapic, mp_ioapics[ioapic].mpc_apicid, pin, entry.vector, irq, edge_level, active_high_low); - if (use_pci_vector() && !platform_legacy_irq(irq)) - irq = IO_APIC_VECTOR(irq); - if (edge_level) { - irq_desc[irq].handler = &ioapic_level_type; - } else { - irq_desc[irq].handler = &ioapic_edge_type; - } - - set_intr_gate(entry.vector, interrupt[irq]); + ioapic_register_intr(irq, entry.vector, edge_level); if (!ioapic && (irq < 16)) disable_8259A_irq(irq); @@ -1966,3 +2095,28 @@ void send_IPI_self(int vector) apic_write_around(APIC_ICR, cfg); } #endif + + +/* + * This function currently is only a helper for the i386 smp boot process where + * we need to reprogram the ioredtbls to cater for the cpus which have come online + * so mask in all cases should simply be TARGET_CPUS + */ +void __init setup_ioapic_dest(void) +{ + int pin, ioapic, irq, irq_entry; + + if (skip_ioapic_setup == 1) + return; + + for (ioapic = 0; ioapic < nr_ioapics; ioapic++) { + for (pin = 0; pin < nr_ioapic_registers[ioapic]; pin++) { + irq_entry = find_irq_entry(ioapic, pin, mp_INT); + if (irq_entry == -1) + continue; + irq = pin_2_irq(irq_entry, ioapic, pin); + set_ioapic_affinity_irq(irq, TARGET_CPUS); + } + + } +} diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c index 189418294..5929b01c1 100644 --- a/arch/x86_64/kernel/irq.c +++ b/arch/x86_64/kernel/irq.c @@ -213,13 +213,15 @@ inline void synchronize_irq(unsigned int irq) int handle_IRQ_event(unsigned int irq, struct pt_regs * regs, struct irqaction * action) { int status = 1; /* Force the "do bottom halves" bit */ + int ret; if (!(action->flags & SA_INTERRUPT)) local_irq_enable(); do { - status |= action->flags; - action->handler(irq, action->dev_id, regs); + ret = action->handler(irq, action->dev_id, regs); + if (ret == IRQ_HANDLED) + status |= action->flags; action = action->next; } while (action); if (status & SA_SAMPLE_RANDOM) @@ -833,6 +835,8 @@ static int irq_affinity_read_proc (char *page, char **start, off_t off, return len; } +int no_irq_affinity; + static int irq_affinity_write_proc (struct file *file, const char __user *buffer, unsigned long count, void *data) @@ -840,7 +844,7 @@ static int irq_affinity_write_proc (struct file *file, int irq = (long) data, full_count = count, err; cpumask_t tmp, new_value; - if (!irq_desc[irq].handler->set_affinity) + if (!irq_desc[irq].handler->set_affinity || no_irq_affinity) return -EIO; err = cpumask_parse(buffer, count, new_value); @@ -862,31 +866,6 @@ static int irq_affinity_write_proc (struct file *file, #endif -static int prof_cpu_mask_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) -{ - int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); - if (count - len < 2) - return -EINVAL; - len += sprintf(page + len, "\n"); - return len; -} - -static int prof_cpu_mask_write_proc (struct file *file, - const char __user *buffer, - unsigned long count, void *data) -{ - unsigned long full_count = count, err; - cpumask_t new_value, *mask = (cpumask_t *)data; - - err = cpumask_parse(buffer, count, new_value); - if (err) - return err; - - *mask = new_value; - return full_count; -} - #define MAX_NAMELEN 10 static void register_irq_proc (unsigned int irq) @@ -922,26 +901,15 @@ static void register_irq_proc (unsigned int irq) #endif } -unsigned long prof_cpu_mask = -1; - void init_irq_proc (void) { - struct proc_dir_entry *entry; int i; /* create /proc/irq */ root_irq_dir = proc_mkdir("irq", NULL); /* create /proc/irq/prof_cpu_mask */ - entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); - - if (!entry) - return; - - entry->nlink = 1; - entry->data = (void *)&prof_cpu_mask; - entry->read_proc = prof_cpu_mask_read_proc; - entry->write_proc = prof_cpu_mask_write_proc; + create_prof_cpu_mask(root_irq_dir); /* * Create entries for all existing IRQs. @@ -949,4 +917,3 @@ void init_irq_proc (void) for (i = 0; i < NR_IRQS; i++) register_irq_proc(i); } - diff --git a/arch/x86_64/kernel/ldt.c b/arch/x86_64/kernel/ldt.c index c7d7dac04..d7e5d0cf4 100644 --- a/arch/x86_64/kernel/ldt.c +++ b/arch/x86_64/kernel/ldt.c @@ -135,6 +135,7 @@ static int read_ldt(void __user * ptr, unsigned long bytecount) return 0; if (bytecount > LDT_ENTRY_SIZE*LDT_ENTRIES) bytecount = LDT_ENTRY_SIZE*LDT_ENTRIES; + down(&mm->context.sem); size = mm->context.size*LDT_ENTRY_SIZE; if (size > bytecount) @@ -145,12 +146,17 @@ static int read_ldt(void __user * ptr, unsigned long bytecount) err = -EFAULT; up(&mm->context.sem); if (err < 0) - return err; + goto error_return; if (size != bytecount) { /* zero-fill the rest */ - clear_user(ptr+size, bytecount-size); + if (clear_user(ptr+size, bytecount-size) != 0) { + err = -EFAULT; + goto error_return; + } } return bytecount; +error_return: + return err; } static int read_default_ldt(void __user * ptr, unsigned long bytecount) diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index 3bb678f1e..c771dc8e3 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c @@ -24,7 +24,8 @@ #define MISC_MCELOG_MINOR 227 #define NR_BANKS 5 -static int mce_disabled __initdata; +static int mce_dont_init; + /* 0: always panic, 1: panic if deadlock possible, 2: try to avoid panic, 3: never panic or exit (for testing only) */ static int tolerant = 1; @@ -48,8 +49,7 @@ static void mce_log(struct mce *mce) mce->finished = 0; smp_wmb(); for (;;) { - entry = mcelog.next; - read_barrier_depends(); + entry = rcu_dereference(mcelog.next); /* When the buffer fills up discard new entries. Assume that the earlier errors are the more interesting. */ if (entry >= MCE_LOG_LEN) { @@ -72,7 +72,8 @@ static void mce_log(struct mce *mce) static void print_mce(struct mce *m) { - printk(KERN_EMERG + printk(KERN_EMERG "\n" + KERN_EMERG "CPU %d: Machine Check Exception: %16Lx Bank %d: %016Lx\n", m->cpu, m->mcgstatus, m->bank, m->status); if (m->rip) { @@ -101,7 +102,7 @@ static void mce_panic(char *msg, struct mce *backup, unsigned long start) if (time_before(tsc, start)) continue; print_mce(&mcelog.entry[i]); - if (mcelog.entry[i].tsc == backup->tsc) + if (backup && mcelog.entry[i].tsc == backup->tsc) backup = NULL; } if (backup) @@ -114,9 +115,8 @@ static void mce_panic(char *msg, struct mce *backup, unsigned long start) static int mce_available(struct cpuinfo_x86 *c) { - return !mce_disabled && - test_bit(X86_FEATURE_MCE, &c->x86_capability) && - test_bit(X86_FEATURE_MCA, &c->x86_capability); + return test_bit(X86_FEATURE_MCE, &c->x86_capability) && + test_bit(X86_FEATURE_MCA, &c->x86_capability); } /* @@ -128,8 +128,9 @@ void do_machine_check(struct pt_regs * regs, long error_code) struct mce m, panicm; int nowayout = (tolerant < 1); int kill_it = 0; - u64 mcestart; + u64 mcestart = 0; int i; + int panicm_found = 0; if (regs) notify_die(DIE_NMI, "machine check", regs, error_code, 255, SIGKILL); @@ -139,17 +140,11 @@ void do_machine_check(struct pt_regs * regs, long error_code) memset(&m, 0, sizeof(struct mce)); m.cpu = hard_smp_processor_id(); rdmsrl(MSR_IA32_MCG_STATUS, m.mcgstatus); - if (!regs && (m.mcgstatus & MCG_STATUS_MCIP)) - return; if (!(m.mcgstatus & MCG_STATUS_RIPV)) kill_it = 1; - if (regs) { - m.rip = regs->rip; - m.cs = regs->cs; - } rdtscll(mcestart); - mb(); + barrier(); for (i = 0; i < banks; i++) { if (!bank[i]) @@ -157,52 +152,64 @@ void do_machine_check(struct pt_regs * regs, long error_code) m.misc = 0; m.addr = 0; + m.bank = i; + m.tsc = 0; rdmsrl(MSR_IA32_MC0_STATUS + i*4, m.status); if ((m.status & MCI_STATUS_VAL) == 0) continue; - /* Should be implied by the banks check above, but - check it anyways */ - if ((m.status & MCI_STATUS_EN) == 0) - continue; - /* Did this bank cause the exception? */ - /* Assume that the bank with uncorrectable errors did it, - and that there is only a single one. */ - if (m.status & MCI_STATUS_UC) { - panicm = m; - } else { - m.rip = 0; - m.cs = 0; + if (m.status & MCI_STATUS_EN) { + /* In theory _OVER could be a nowayout too, but + assume any overflowed errors were no fatal. */ + nowayout |= !!(m.status & MCI_STATUS_PCC); + kill_it |= !!(m.status & MCI_STATUS_UC); } - /* In theory _OVER could be a nowayout too, but - assume any overflowed errors were no fatal. */ - nowayout |= !!(m.status & MCI_STATUS_PCC); - kill_it |= !!(m.status & MCI_STATUS_UC); - m.bank = i; - if (m.status & MCI_STATUS_MISCV) rdmsrl(MSR_IA32_MC0_MISC + i*4, m.misc); if (m.status & MCI_STATUS_ADDRV) rdmsrl(MSR_IA32_MC0_ADDR + i*4, m.addr); - rdtscll(m.tsc); + if (regs && (m.mcgstatus & MCG_STATUS_RIPV)) { + m.rip = regs->rip; + m.cs = regs->cs; + } else { + m.rip = 0; + m.cs = 0; + } + + if (error_code != -1) + rdtscll(m.tsc); wrmsrl(MSR_IA32_MC0_STATUS + i*4, 0); mce_log(&m); + + /* Did this bank cause the exception? */ + /* Assume that the bank with uncorrectable errors did it, + and that there is only a single one. */ + if ((m.status & MCI_STATUS_UC) && (m.status & MCI_STATUS_EN)) { + panicm = m; + panicm_found = 1; + } + + tainted |= TAINT_MACHINE_CHECK; } - wrmsrl(MSR_IA32_MCG_STATUS, 0); /* Never do anything final in the polling timer */ if (!regs) - return; + goto out; + + /* If we didn't find an uncorrectable error, pick + the last one (shouldn't happen, just being safe). */ + if (!panicm_found) + panicm = m; if (nowayout) - mce_panic("Machine check", &m, mcestart); + mce_panic("Machine check", &panicm, mcestart); if (kill_it) { int user_space = 0; if (m.mcgstatus & MCG_STATUS_RIPV) - user_space = m.rip && (m.cs & 3); + user_space = panicm.rip && (panicm.cs & 3); /* When the machine was in user space and the CPU didn't get confused it's normally not necessary to panic, unless you @@ -215,18 +222,15 @@ void do_machine_check(struct pt_regs * regs, long error_code) (unsigned)current->pid <= 1) mce_panic("Uncorrected machine check", &panicm, mcestart); - /* do_exit takes an awful lot of locks and has as slight risk - of deadlocking. If you don't want that don't set tolerant >= 2 */ + /* do_exit takes an awful lot of locks and has as + slight risk of deadlocking. If you don't want that + don't set tolerant >= 2 */ if (tolerant < 3) do_exit(SIGBUS); } -} -static void mce_clear_all(void) -{ - int i; - for (i = 0; i < banks; i++) - wrmsrl(MSR_IA32_MC0_STATUS + i*4, 0); + out: + /* Last thing done in the machine check exception to clear state. */ wrmsrl(MSR_IA32_MCG_STATUS, 0); } @@ -269,22 +273,25 @@ static void mce_init(void *dummy) int i; rdmsrl(MSR_IA32_MCG_CAP, cap); - if (cap & MCG_CTL_P) - wrmsr(MSR_IA32_MCG_CTL, 0xffffffff, 0xffffffff); - banks = cap & 0xff; if (banks > NR_BANKS) { printk(KERN_INFO "MCE: warning: using only %d banks\n", banks); banks = NR_BANKS; } - mce_clear_all(); + /* Log the machine checks left over from the previous reset. + This also clears all registers */ + do_machine_check(NULL, -1); + + set_in_cr4(X86_CR4_MCE); + + if (cap & MCG_CTL_P) + wrmsr(MSR_IA32_MCG_CTL, 0xffffffff, 0xffffffff); + for (i = 0; i < banks; i++) { wrmsrl(MSR_IA32_MC0_CTL+4*i, bank[i]); wrmsrl(MSR_IA32_MC0_STATUS+4*i, 0); } - - set_in_cr4(X86_CR4_MCE); } /* Add per CPU specific workarounds here */ @@ -308,7 +315,9 @@ void __init mcheck_init(struct cpuinfo_x86 *c) mce_cpu_quirks(c); - if (test_and_set_bit(smp_processor_id(), &mce_cpus) || !mce_available(c)) + if (mce_dont_init || + test_and_set_bit(smp_processor_id(), &mce_cpus) || + !mce_available(c)) return; mce_init(NULL); @@ -333,9 +342,8 @@ static ssize_t mce_read(struct file *filp, char __user *ubuf, size_t usize, loff int i, err; down(&mce_read_sem); - next = mcelog.next; - read_barrier_depends(); - + next = rcu_dereference(mcelog.next); + /* Only supports full reads right now */ if (*off != 0 || usize < MCE_LOG_LEN*sizeof(struct mce)) { up(&mce_read_sem); @@ -412,15 +420,16 @@ static struct miscdevice mce_log_device = { static int __init mcheck_disable(char *str) { - mce_disabled = 1; + mce_dont_init = 1; return 0; } -/* mce=off disable machine check */ +/* mce=off disables machine check. Note you can reenable it later + using sysfs */ static int __init mcheck_enable(char *str) { if (!strcmp(str, "off")) - mce_disabled = 1; + mce_dont_init = 1; else printk("mce= argument %s ignored. Please use /sys", str); return 0; @@ -436,7 +445,6 @@ __setup("mce", mcheck_enable); /* On resume clear all MCE state. Don't want to see leftovers from the BIOS. */ static int mce_resume(struct sys_device *dev) { - mce_clear_all(); on_each_cpu(mce_init, NULL, 1, 1); return 0; } @@ -465,7 +473,7 @@ static struct sys_device device_mce = { /* Why are there no generic functions for this? */ #define ACCESSOR(name, var, start) \ static ssize_t show_ ## name(struct sys_device *s, char *buf) { \ - return sprintf(buf, "%lu\n", (unsigned long)var); \ + return sprintf(buf, "%lx\n", (unsigned long)var); \ } \ static ssize_t set_ ## name(struct sys_device *s,const char *buf,size_t siz) { \ char *end; \ @@ -494,7 +502,7 @@ static __init int mce_init_device(void) if (!err) err = sysdev_register(&device_mce); if (!err) { - /* could create per CPU objects, but is not worth it. */ + /* could create per CPU objects, but it is not worth it. */ sysdev_create_file(&device_mce, &attr_bank0ctl); sysdev_create_file(&device_mce, &attr_bank1ctl); sysdev_create_file(&device_mce, &attr_bank2ctl); diff --git a/arch/x86_64/kernel/msr.c b/arch/x86_64/kernel/msr.c index 654e4578d..89ad3e729 100644 --- a/arch/x86_64/kernel/msr.c +++ b/arch/x86_64/kernel/msr.c @@ -46,234 +46,229 @@ static inline int wrmsr_eio(u32 reg, u32 eax, u32 edx) { - int err; - - asm volatile( - "1: wrmsr\n" - "2:\n" - ".section .fixup,\"ax\"\n" - "3: movl %4,%0\n" - " jmp 2b\n" - ".previous\n" - ".section __ex_table,\"a\"\n" - " .align 8\n" - " .quad 1b,3b\n" - ".previous" - : "=&bDS" (err) - : "a" (eax), "d" (edx), "c" (reg), "i" (-EIO), "0" (0)); - - return err; + int err; + + asm volatile ("1: wrmsr\n" + "2:\n" + ".section .fixup,\"ax\"\n" + "3: movl %4,%0\n" + " jmp 2b\n" + ".previous\n" + ".section __ex_table,\"a\"\n" + " .align 8\n" " .quad 1b,3b\n" ".previous":"=&bDS" (err) + :"a"(eax), "d"(edx), "c"(reg), "i"(-EIO), "0"(0)); + + return err; } static inline int rdmsr_eio(u32 reg, u32 *eax, u32 *edx) { - int err; - - asm volatile( - "1: rdmsr\n" - "2:\n" - ".section .fixup,\"ax\"\n" - "3: movl %4,%0\n" - " jmp 2b\n" - ".previous\n" - ".section __ex_table,\"a\"\n" - " .align 8\n" - " .quad 1b,3b\n" - ".previous" - : "=&bDS" (err), "=a" (*eax), "=d" (*edx) - : "c" (reg), "i" (-EIO), "0" (0)); - - return err; + int err; + + asm volatile ("1: rdmsr\n" + "2:\n" + ".section .fixup,\"ax\"\n" + "3: movl %4,%0\n" + " jmp 2b\n" + ".previous\n" + ".section __ex_table,\"a\"\n" + " .align 8\n" + " .quad 1b,3b\n" + ".previous":"=&bDS" (err), "=a"(*eax), "=d"(*edx) + :"c"(reg), "i"(-EIO), "0"(0)); + + return err; } #ifdef CONFIG_SMP struct msr_command { - int cpu; - int err; - u32 reg; - u32 data[2]; + int cpu; + int err; + u32 reg; + u32 data[2]; }; static void msr_smp_wrmsr(void *cmd_block) { - struct msr_command *cmd = (struct msr_command *) cmd_block; - - if ( cmd->cpu == smp_processor_id() ) - cmd->err = wrmsr_eio(cmd->reg, cmd->data[0], cmd->data[1]); + struct msr_command *cmd = (struct msr_command *)cmd_block; + + if (cmd->cpu == smp_processor_id()) + cmd->err = wrmsr_eio(cmd->reg, cmd->data[0], cmd->data[1]); } static void msr_smp_rdmsr(void *cmd_block) { - struct msr_command *cmd = (struct msr_command *) cmd_block; - - if ( cmd->cpu == smp_processor_id() ) - cmd->err = rdmsr_eio(cmd->reg, &cmd->data[0], &cmd->data[1]); + struct msr_command *cmd = (struct msr_command *)cmd_block; + + if (cmd->cpu == smp_processor_id()) + cmd->err = rdmsr_eio(cmd->reg, &cmd->data[0], &cmd->data[1]); } static inline int do_wrmsr(int cpu, u32 reg, u32 eax, u32 edx) { - struct msr_command cmd; - int ret; - - preempt_disable(); - if ( cpu == smp_processor_id() ) { - ret = wrmsr_eio(reg, eax, edx); - } else { - cmd.cpu = cpu; - cmd.reg = reg; - cmd.data[0] = eax; - cmd.data[1] = edx; - - smp_call_function(msr_smp_wrmsr, &cmd, 1, 1); - ret = cmd.err; - } - preempt_enable(); - return ret; + struct msr_command cmd; + int ret; + + preempt_disable(); + if (cpu == smp_processor_id()) { + ret = wrmsr_eio(reg, eax, edx); + } else { + cmd.cpu = cpu; + cmd.reg = reg; + cmd.data[0] = eax; + cmd.data[1] = edx; + + smp_call_function(msr_smp_wrmsr, &cmd, 1, 1); + ret = cmd.err; + } + preempt_enable(); + return ret; } -static inline int do_rdmsr(int cpu, u32 reg, u32 *eax, u32 *edx) +static inline int do_rdmsr(int cpu, u32 reg, u32 * eax, u32 * edx) { - struct msr_command cmd; - int ret; - - preempt_disable(); - if ( cpu == smp_processor_id() ) { - ret = rdmsr_eio(reg, eax, edx); - } else { - cmd.cpu = cpu; - cmd.reg = reg; - - smp_call_function(msr_smp_rdmsr, &cmd, 1, 1); - - *eax = cmd.data[0]; - *edx = cmd.data[1]; - - ret = cmd.err; - } - preempt_enable(); - return ret; + struct msr_command cmd; + int ret; + + preempt_disable(); + if (cpu == smp_processor_id()) { + ret = rdmsr_eio(reg, eax, edx); + } else { + cmd.cpu = cpu; + cmd.reg = reg; + + smp_call_function(msr_smp_rdmsr, &cmd, 1, 1); + + *eax = cmd.data[0]; + *edx = cmd.data[1]; + + ret = cmd.err; + } + preempt_enable(); + return ret; } -#else /* ! CONFIG_SMP */ +#else /* ! CONFIG_SMP */ static inline int do_wrmsr(int cpu, u32 reg, u32 eax, u32 edx) { - return wrmsr_eio(reg, eax, edx); + return wrmsr_eio(reg, eax, edx); } static inline int do_rdmsr(int cpu, u32 reg, u32 *eax, u32 *edx) { - return rdmsr_eio(reg, eax, edx); + return rdmsr_eio(reg, eax, edx); } -#endif /* ! CONFIG_SMP */ +#endif /* ! CONFIG_SMP */ static loff_t msr_seek(struct file *file, loff_t offset, int orig) { - loff_t ret = -EINVAL; - lock_kernel(); - switch (orig) { - case 0: - file->f_pos = offset; - ret = file->f_pos; - break; - case 1: - file->f_pos += offset; - ret = file->f_pos; - } - unlock_kernel(); - return ret; + loff_t ret = -EINVAL; + + lock_kernel(); + switch (orig) { + case 0: + file->f_pos = offset; + ret = file->f_pos; + break; + case 1: + file->f_pos += offset; + ret = file->f_pos; + } + unlock_kernel(); + return ret; } -static ssize_t msr_read(struct file * file, char __user * buf, - size_t count, loff_t *ppos) +static ssize_t msr_read(struct file *file, char __user * buf, + size_t count, loff_t * ppos) { - char __user *tmp = buf; - u32 data[2]; - size_t rv; - u32 reg = *ppos; - int cpu = iminor(file->f_dentry->d_inode); - int err; - - if ( count % 8 ) - return -EINVAL; /* Invalid chunk size */ - - for ( rv = 0 ; count ; count -= 8 ) { - err = do_rdmsr(cpu, reg, &data[0], &data[1]); - if ( err ) - return err; - if ( copy_to_user(tmp,&data,8) ) - return -EFAULT; - tmp += 8; - } - - return tmp - buf; + u32 __user *tmp = (u32 __user *) buf; + u32 data[2]; + size_t rv; + u32 reg = *ppos; + int cpu = iminor(file->f_dentry->d_inode); + int err; + + if (count % 8) + return -EINVAL; /* Invalid chunk size */ + + for (rv = 0; count; count -= 8) { + err = do_rdmsr(cpu, reg, &data[0], &data[1]); + if (err) + return err; + if (copy_to_user(tmp, &data, 8)) + return -EFAULT; + tmp += 2; + } + + return ((char __user *)tmp) - buf; } -static ssize_t msr_write(struct file * file, const char __user * buf, +static ssize_t msr_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) { - const char __user *tmp = buf; - u32 data[2]; - size_t rv; - u32 reg = *ppos; - int cpu = iminor(file->f_dentry->d_inode); - int err; - - if ( count % 8 ) - return -EINVAL; /* Invalid chunk size */ - - for ( rv = 0 ; count ; count -= 8 ) { - if ( copy_from_user(&data,tmp,8) ) - return -EFAULT; - err = do_wrmsr(cpu, reg, data[0], data[1]); - if ( err ) - return err; - tmp += 8; - } - - return tmp - buf; + const u32 __user *tmp = (const u32 __user *)buf; + u32 data[2]; + size_t rv; + u32 reg = *ppos; + int cpu = iminor(file->f_dentry->d_inode); + int err; + + if (count % 8) + return -EINVAL; /* Invalid chunk size */ + + for (rv = 0; count; count -= 8) { + if (copy_from_user(&data, tmp, 8)) + return -EFAULT; + err = do_wrmsr(cpu, reg, data[0], data[1]); + if (err) + return err; + tmp += 2; + } + + return ((char __user *)tmp) - buf; } static int msr_open(struct inode *inode, struct file *file) { - int cpu = iminor(file->f_dentry->d_inode); - struct cpuinfo_x86 *c = &(cpu_data)[cpu]; - - if (cpu >= NR_CPUS || !cpu_online(cpu)) - return -ENXIO; /* No such CPU */ - if ( !cpu_has(c, X86_FEATURE_MSR) ) - return -EIO; /* MSR not supported */ - - return 0; + unsigned int cpu = iminor(file->f_dentry->d_inode); + struct cpuinfo_x86 *c = &(cpu_data)[cpu]; + + if (cpu >= NR_CPUS || !cpu_online(cpu)) + return -ENXIO; /* No such CPU */ + if (!cpu_has(c, X86_FEATURE_MSR)) + return -EIO; /* MSR not supported */ + + return 0; } /* * File operations we support */ static struct file_operations msr_fops = { - .owner = THIS_MODULE, - .llseek = msr_seek, - .read = msr_read, - .write = msr_write, - .open = msr_open, + .owner = THIS_MODULE, + .llseek = msr_seek, + .read = msr_read, + .write = msr_write, + .open = msr_open, }; int __init msr_init(void) { - if (register_chrdev(MSR_MAJOR, "cpu/msr", &msr_fops)) { - printk(KERN_ERR "msr: unable to get major %d for msr\n", - MSR_MAJOR); - return -EBUSY; - } - - return 0; + if (register_chrdev(MSR_MAJOR, "cpu/msr", &msr_fops)) { + printk(KERN_ERR "msr: unable to get major %d for msr\n", + MSR_MAJOR); + return -EBUSY; + } + + return 0; } void __exit msr_exit(void) { - unregister_chrdev(MSR_MAJOR, "cpu/msr"); + unregister_chrdev(MSR_MAJOR, "cpu/msr"); } module_init(msr_init); diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c index 09fde74cb..ca608a2a0 100644 --- a/arch/x86_64/kernel/pci-gart.c +++ b/arch/x86_64/kernel/pci-gart.c @@ -31,12 +31,6 @@ #include #include -#ifdef CONFIG_PREEMPT -#define preempt_atomic() in_atomic() -#else -#define preempt_atomic() 1 -#endif - dma_addr_t bad_dma_address; unsigned long iommu_bus_base; /* GART remapping area (physical) */ @@ -54,7 +48,7 @@ int force_iommu = 1; int panic_on_overflow = 0; int force_iommu = 0; #endif -int iommu_merge = 0; +int iommu_merge = 1; int iommu_sac_force = 0; /* If this is disabled the IOMMU will use an optimized flushing strategy @@ -64,6 +58,10 @@ int iommu_sac_force = 0; also seen with Qlogic at least). */ int iommu_fullflush = 1; +/* This tells the BIO block layer to assume merging. Default to off + because we cannot guarantee merging later. */ +int iommu_bio_merge = 0; + #define MAX_NB 8 /* Allocation bitmap for the remapping area */ @@ -104,8 +102,16 @@ AGPEXTERN __u32 *agp_gatt_table; static unsigned long next_bit; /* protected by iommu_bitmap_lock */ static int need_flush; /* global flush state. set for each gart wrap */ -static dma_addr_t pci_map_area(struct pci_dev *dev, unsigned long phys_mem, - size_t size, int dir); +static dma_addr_t dma_map_area(struct device *dev, unsigned long phys_mem, + size_t size, int dir, int do_panic); + +/* Dummy device used for NULL arguments (normally ISA). Better would + be probably a smaller DMA mask, but this is bug-to-bug compatible to i386. */ +static struct device fallback_dev = { + .bus_id = "fallback device", + .coherent_dma_mask = 0xffffffff, + .dma_mask = &fallback_dev.coherent_dma_mask, +}; static unsigned long alloc_iommu(int size) { @@ -146,25 +152,31 @@ static void free_iommu(unsigned long offset, int size) /* * Use global flush state to avoid races with multiple flushers. */ -static void flush_gart(struct pci_dev *dev) +static void flush_gart(struct device *dev) { unsigned long flags; int flushed = 0; - int i; + int i, max; spin_lock_irqsave(&iommu_bitmap_lock, flags); if (need_flush) { + max = 0; for (i = 0; i < MAX_NB; i++) { - u32 w; if (!northbridges[i]) continue; pci_write_config_dword(northbridges[i], 0x9c, northbridge_flush_word[i] | 1); + flushed++; + max = i; + } + for (i = 0; i <= max; i++) { + u32 w; + if (!northbridges[i]) + continue; /* Make sure the hardware actually executed the flush. */ do { pci_read_config_dword(northbridges[i], 0x9c, &w); } while (w & 1); - flushed++; } if (!flushed) printk("nothing to flush?\n"); @@ -173,31 +185,47 @@ static void flush_gart(struct pci_dev *dev) spin_unlock_irqrestore(&iommu_bitmap_lock, flags); } +/* Allocate DMA memory on node near device */ +noinline +static void *dma_alloc_pages(struct device *dev, unsigned gfp, unsigned order) +{ + struct page *page; + int node; + if (dev->bus == &pci_bus_type) { + cpumask_t mask; + mask = pcibus_to_cpumask(to_pci_dev(dev)->bus->number); + node = cpu_to_node(first_cpu(mask)); + } else + node = numa_node_id(); + page = alloc_pages_node(node, gfp, order); + return page ? page_address(page) : NULL; +} + /* - * Allocate memory for a consistent mapping. + * Allocate memory for a coherent mapping. */ -void *pci_alloc_consistent(struct pci_dev *hwdev, size_t size, - dma_addr_t *dma_handle) +void * +dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle, + unsigned gfp) { void *memory; - int gfp = preempt_atomic() ? GFP_ATOMIC : GFP_KERNEL; unsigned long dma_mask = 0; u64 bus; - if (hwdev) - dma_mask = hwdev->dev.coherent_dma_mask; + if (!dev) + dev = &fallback_dev; + dma_mask = dev->coherent_dma_mask; if (dma_mask == 0) dma_mask = 0xffffffff; /* Kludge to make it bug-to-bug compatible with i386. i386 - uses the normal dma_mask for alloc_consistent. */ - if (hwdev) - dma_mask &= hwdev->dma_mask; + uses the normal dma_mask for alloc_coherent. */ + dma_mask &= *dev->dma_mask; again: - memory = (void *)__get_free_pages(gfp, get_order(size)); + memory = dma_alloc_pages(dev, gfp, get_order(size)); if (memory == NULL) - return NULL; + return NULL; { int high, mmu; @@ -223,28 +251,29 @@ void *pci_alloc_consistent(struct pci_dev *hwdev, size_t size, } } - *dma_handle = pci_map_area(hwdev, bus, size, PCI_DMA_BIDIRECTIONAL); + *dma_handle = dma_map_area(dev, bus, size, PCI_DMA_BIDIRECTIONAL, 0); if (*dma_handle == bad_dma_address) goto error; - flush_gart(hwdev); + flush_gart(dev); return memory; error: if (panic_on_overflow) - panic("pci_alloc_consistent: overflow %lu bytes\n", size); + panic("dma_alloc_coherent: IOMMU overflow by %lu bytes\n", size); free: free_pages((unsigned long)memory, get_order(size)); + /* XXX Could use the swiotlb pool here too */ return NULL; } /* - * Unmap consistent memory. + * Unmap coherent memory. * The caller must ensure that the device has finished accessing the mapping. */ -void pci_free_consistent(struct pci_dev *hwdev, size_t size, +void dma_free_coherent(struct device *dev, size_t size, void *vaddr, dma_addr_t bus) { - pci_unmap_single(hwdev, bus, size, 0); + dma_unmap_single(dev, bus, size, 0); free_pages((unsigned long)vaddr, get_order(size)); } @@ -280,7 +309,7 @@ void dump_leak(void) #define CLEAR_LEAK(x) #endif -static void iommu_full(struct pci_dev *dev, size_t size, int dir) +static void iommu_full(struct device *dev, size_t size, int dir, int do_panic) { /* * Ran out of IOMMU space for this operation. This is very bad. @@ -293,14 +322,14 @@ static void iommu_full(struct pci_dev *dev, size_t size, int dir) */ printk(KERN_ERR - "PCI-DMA: Out of IOMMU space for %lu bytes at device %s[%s]\n", - size, dev ? pci_pretty_name(dev) : "", dev ? dev->slot_name : "?"); + "PCI-DMA: Out of IOMMU space for %lu bytes at device %s\n", + size, dev->bus_id); - if (size > PAGE_SIZE*EMERGENCY_PAGES) { + if (size > PAGE_SIZE*EMERGENCY_PAGES && do_panic) { if (dir == PCI_DMA_FROMDEVICE || dir == PCI_DMA_BIDIRECTIONAL) - panic("PCI-DMA: Memory will be corrupted\n"); + panic("PCI-DMA: Memory would be corrupted\n"); if (dir == PCI_DMA_TODEVICE || dir == PCI_DMA_BIDIRECTIONAL) - panic("PCI-DMA: Random memory will be DMAed\n"); + panic("PCI-DMA: Random memory would be DMAed\n"); } #ifdef CONFIG_IOMMU_LEAK @@ -308,9 +337,9 @@ static void iommu_full(struct pci_dev *dev, size_t size, int dir) #endif } -static inline int need_iommu(struct pci_dev *dev, unsigned long addr, size_t size) +static inline int need_iommu(struct device *dev, unsigned long addr, size_t size) { - u64 mask = dev ? dev->dma_mask : 0xffffffff; + u64 mask = *dev->dma_mask; int high = addr + size >= mask; int mmu = high; if (force_iommu) @@ -323,9 +352,9 @@ static inline int need_iommu(struct pci_dev *dev, unsigned long addr, size_t siz return mmu; } -static inline int nonforced_iommu(struct pci_dev *dev, unsigned long addr, size_t size) +static inline int nonforced_iommu(struct device *dev, unsigned long addr, size_t size) { - u64 mask = dev ? dev->dma_mask : 0xffffffff; + u64 mask = *dev->dma_mask; int high = addr + size >= mask; int mmu = high; if (no_iommu) { @@ -339,8 +368,8 @@ static inline int nonforced_iommu(struct pci_dev *dev, unsigned long addr, size_ /* Map a single continuous physical area into the IOMMU. * Caller needs to check if the iommu is needed and flush. */ -static dma_addr_t pci_map_area(struct pci_dev *dev, unsigned long phys_mem, - size_t size, int dir) +static dma_addr_t dma_map_area(struct device *dev, unsigned long phys_mem, + size_t size, int dir, int do_panic) { unsigned long npages = to_pages(phys_mem, size); unsigned long iommu_page = alloc_iommu(npages); @@ -349,8 +378,8 @@ static dma_addr_t pci_map_area(struct pci_dev *dev, unsigned long phys_mem, if (!nonforced_iommu(dev, phys_mem, size)) return phys_mem; if (panic_on_overflow) - panic("pci_map_area overflow %lu bytes\n", size); - iommu_full(dev, size, dir); + panic("dma_map_area overflow %lu bytes\n", size); + iommu_full(dev, size, dir, do_panic); return bad_dma_address; } @@ -363,44 +392,44 @@ static dma_addr_t pci_map_area(struct pci_dev *dev, unsigned long phys_mem, } /* Map a single area into the IOMMU */ -dma_addr_t pci_map_single(struct pci_dev *dev, void *addr, size_t size, int dir) -{ +dma_addr_t dma_map_single(struct device *dev, void *addr, size_t size, int dir) +{ unsigned long phys_mem, bus; - BUG_ON(dir == PCI_DMA_NONE); + BUG_ON(dir == DMA_NONE); -#ifdef CONFIG_SWIOTLB if (swiotlb) - return swiotlb_map_single(&dev->dev,addr,size,dir); -#endif + return swiotlb_map_single(dev,addr,size,dir); + if (!dev) + dev = &fallback_dev; phys_mem = virt_to_phys(addr); if (!need_iommu(dev, phys_mem, size)) return phys_mem; - bus = pci_map_area(dev, phys_mem, size, dir); + bus = dma_map_area(dev, phys_mem, size, dir, 1); flush_gart(dev); return bus; } -/* Fallback for pci_map_sg in case of overflow */ -static int pci_map_sg_nonforce(struct pci_dev *dev, struct scatterlist *sg, +/* Fallback for dma_map_sg in case of overflow */ +static int dma_map_sg_nonforce(struct device *dev, struct scatterlist *sg, int nents, int dir) { int i; #ifdef CONFIG_IOMMU_DEBUG - printk(KERN_DEBUG "pci_map_sg overflow\n"); + printk(KERN_DEBUG "dma_map_sg overflow\n"); #endif for (i = 0; i < nents; i++ ) { struct scatterlist *s = &sg[i]; unsigned long addr = page_to_phys(s->page) + s->offset; if (nonforced_iommu(dev, addr, s->length)) { - addr = pci_map_area(dev, addr, s->length, dir); + addr = dma_map_area(dev, addr, s->length, dir, 0); if (addr == bad_dma_address) { if (i > 0) - pci_unmap_sg(dev, sg, i, dir); + dma_unmap_sg(dev, sg, i, dir); nents = 0; sg[0].dma_length = 0; break; @@ -414,7 +443,7 @@ static int pci_map_sg_nonforce(struct pci_dev *dev, struct scatterlist *sg, } /* Map multiple scatterlist entries continuous into the first. */ -static int __pci_map_cont(struct scatterlist *sg, int start, int stopat, +static int __dma_map_cont(struct scatterlist *sg, int start, int stopat, struct scatterlist *sout, unsigned long pages) { unsigned long iommu_start = alloc_iommu(pages); @@ -452,7 +481,7 @@ static int __pci_map_cont(struct scatterlist *sg, int start, int stopat, return 0; } -static inline int pci_map_cont(struct scatterlist *sg, int start, int stopat, +static inline int dma_map_cont(struct scatterlist *sg, int start, int stopat, struct scatterlist *sout, unsigned long pages, int need) { @@ -462,14 +491,14 @@ static inline int pci_map_cont(struct scatterlist *sg, int start, int stopat, sout->dma_length = sg[start].length; return 0; } - return __pci_map_cont(sg, start, stopat, sout, pages); + return __dma_map_cont(sg, start, stopat, sout, pages); } /* * DMA map all entries in a scatterlist. * Merge chunks that have page aligned sizes into a continuous mapping. - */ -int pci_map_sg(struct pci_dev *dev, struct scatterlist *sg, int nents, int dir) + */ +int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, int dir) { int i; int out; @@ -477,19 +506,14 @@ int pci_map_sg(struct pci_dev *dev, struct scatterlist *sg, int nents, int dir) unsigned long pages = 0; int need = 0, nextneed; -#ifdef CONFIG_SWIOTLB - if (swiotlb) - return swiotlb_map_sg(&dev->dev,sg,nents,dir); -#endif - - BUG_ON(dir == PCI_DMA_NONE); + BUG_ON(dir == DMA_NONE); if (nents == 0) return 0; -#ifdef CONFIG_SWIOTLB if (swiotlb) - return swiotlb_map_sg(&dev->dev,sg,nents,dir); -#endif + return swiotlb_map_sg(dev,sg,nents,dir); + if (!dev) + dev = &fallback_dev; out = 0; start = 0; @@ -508,19 +532,19 @@ int pci_map_sg(struct pci_dev *dev, struct scatterlist *sg, int nents, int dir) boundary and the new one doesn't have an offset. */ if (!iommu_merge || !nextneed || !need || s->offset || (ps->offset + ps->length) % PAGE_SIZE) { - if (pci_map_cont(sg, start, i, sg+out, pages, + if (dma_map_cont(sg, start, i, sg+out, pages, need) < 0) goto error; out++; pages = 0; start = i; } - } + } need = nextneed; pages += to_pages(s->offset, s->length); } - if (pci_map_cont(sg, start, i, sg+out, pages, need) < 0) + if (dma_map_cont(sg, start, i, sg+out, pages, need) < 0) goto error; out++; flush_gart(dev); @@ -530,34 +554,32 @@ int pci_map_sg(struct pci_dev *dev, struct scatterlist *sg, int nents, int dir) error: flush_gart(NULL); - pci_unmap_sg(dev, sg, nents, dir); + dma_unmap_sg(dev, sg, nents, dir); /* When it was forced try again unforced */ if (force_iommu) - return pci_map_sg_nonforce(dev, sg, nents, dir); + return dma_map_sg_nonforce(dev, sg, nents, dir); if (panic_on_overflow) - panic("pci_map_sg: overflow on %lu pages\n", pages); - iommu_full(dev, pages << PAGE_SHIFT, dir); + panic("dma_map_sg: overflow on %lu pages\n", pages); + iommu_full(dev, pages << PAGE_SHIFT, dir, 0); for (i = 0; i < nents; i++) sg[i].dma_address = bad_dma_address; return 0; } /* - * Free a PCI mapping. + * Free a DMA mapping. */ -void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, +void dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size, int direction) { unsigned long iommu_page; int npages; int i; -#ifdef CONFIG_SWIOTLB if (swiotlb) { - swiotlb_unmap_single(&hwdev->dev,dma_addr,size,direction); + swiotlb_unmap_single(dev,dma_addr,size,direction); return; } -#endif if (dma_addr < iommu_bus_base + EMERGENCY_PAGES*PAGE_SIZE || dma_addr >= iommu_bus_base + iommu_size) @@ -574,22 +596,25 @@ void pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, /* * Wrapper for pci_unmap_single working with scatterlists. */ -void pci_unmap_sg(struct pci_dev *dev, struct scatterlist *sg, int nents, - int dir) +void dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nents, int dir) { int i; + if (swiotlb) { + swiotlb_unmap_sg(dev,sg,nents,dir); + return; + } for (i = 0; i < nents; i++) { struct scatterlist *s = &sg[i]; if (!s->dma_length || !s->length) break; - pci_unmap_single(dev, s->dma_address, s->dma_length, dir); + dma_unmap_single(dev, s->dma_address, s->dma_length, dir); } } -int pci_dma_supported(struct pci_dev *dev, u64 mask) +int dma_supported(struct device *dev, u64 mask) { /* Copied from i386. Doesn't make much sense, because it will - only work for pci_alloc_consistent. + only work for pci_alloc_coherent. The caller just has to use GFP_DMA in this case. */ if (mask < 0x00ffffff) return 0; @@ -605,22 +630,31 @@ int pci_dma_supported(struct pci_dev *dev, u64 mask) Assume all masks <= 40 bits are of this type. Normally this doesn't make any difference, but gives more gentle handling of IOMMU overflow. */ if (iommu_sac_force && (mask >= 0xffffffffffULL)) { - printk(KERN_INFO "%s: Force SAC with mask %Lx\n", dev->slot_name,mask); + printk(KERN_INFO "%s: Force SAC with mask %Lx\n", dev->bus_id,mask); return 0; } return 1; } -EXPORT_SYMBOL(pci_unmap_sg); -EXPORT_SYMBOL(pci_map_sg); -EXPORT_SYMBOL(pci_map_single); -EXPORT_SYMBOL(pci_unmap_single); -EXPORT_SYMBOL(pci_dma_supported); +int dma_get_cache_alignment(void) +{ + return boot_cpu_data.x86_clflush_size; +} + +EXPORT_SYMBOL(dma_unmap_sg); +EXPORT_SYMBOL(dma_map_sg); +EXPORT_SYMBOL(dma_map_single); +EXPORT_SYMBOL(dma_unmap_single); +EXPORT_SYMBOL(dma_supported); EXPORT_SYMBOL(no_iommu); EXPORT_SYMBOL(force_iommu); EXPORT_SYMBOL(bad_dma_address); -EXPORT_SYMBOL(iommu_merge); +EXPORT_SYMBOL(iommu_bio_merge); +EXPORT_SYMBOL(iommu_sac_force); +EXPORT_SYMBOL(dma_get_cache_alignment); +EXPORT_SYMBOL(dma_alloc_coherent); +EXPORT_SYMBOL(dma_free_coherent); static __init unsigned long check_iommu_size(unsigned long aper, u64 aper_size) { @@ -747,7 +781,7 @@ static int __init pci_iommu_init(void) if (swiotlb) { no_iommu = 1; - printk(KERN_INFO "PCI-DMA: Using software bounce buffering for IO (SWIOTLB)\n"); + printk(KERN_INFO "PCI-DMA: Using software bounce buffering for IO (SWIOTLB)\n"); return -1; } @@ -851,7 +885,7 @@ static int __init pci_iommu_init(void) fs_initcall(pci_iommu_init); /* iommu=[size][,noagp][,off][,force][,noforce][,leak][,memaper[=order]][,merge] - [,forcesac][,fullflush][,nomerge] + [,forcesac][,fullflush][,nomerge][,biomerge] size set size of iommu (in bytes) noagp don't initialize the AGP driver and use full aperture. off don't use the IOMMU @@ -859,60 +893,73 @@ fs_initcall(pci_iommu_init); memaper[=order] allocate an own aperture over RAM with size 32MB^order. noforce don't force IOMMU usage. Default. force Force IOMMU. - merge Do SG merging. Implies force (experimental) + merge Do lazy merging. This may improve performance on some block devices. + Implies force (experimental) + biomerge Do merging at the BIO layer. This is more efficient than merge, + but should be only done with very big IOMMUs. Implies merge,force. nomerge Don't do SG merging. forcesac For SAC mode for masks <40bits (experimental) fullflush Flush IOMMU on each allocation (default) nofullflush Don't use IOMMU fullflush allowed overwrite iommu off workarounds for specific chipsets. soft Use software bounce buffering (default for Intel machines) + noaperture Don't touch the aperture for AGP. */ -__init int iommu_setup(char *opt) +__init int iommu_setup(char *p) { int arg; - char *p = opt; - - for (;;) { - if (!memcmp(p,"noagp", 5)) + + while (*p) { + if (!strncmp(p,"noagp",5)) no_agp = 1; - if (!memcmp(p,"off", 3)) + if (!strncmp(p,"off",3)) no_iommu = 1; - if (!memcmp(p,"force", 5)) { + if (!strncmp(p,"force",5)) { force_iommu = 1; iommu_aperture_allowed = 1; } - if (!memcmp(p,"allowed",7)) + if (!strncmp(p,"allowed",7)) iommu_aperture_allowed = 1; - if (!memcmp(p,"noforce", 7)) { + if (!strncmp(p,"noforce",7)) { iommu_merge = 0; force_iommu = 0; } - if (!memcmp(p, "memaper", 7)) { + if (!strncmp(p, "memaper", 7)) { fallback_aper_force = 1; p += 7; - if (*p == '=' && get_option(&p, &arg)) - fallback_aper_order = arg; + if (*p == '=') { + ++p; + if (get_option(&p, &arg)) + fallback_aper_order = arg; + } } - if (!memcmp(p, "panic", 5)) + if (!strncmp(p, "biomerge",8)) { + iommu_bio_merge = 4096; + iommu_merge = 1; + force_iommu = 1; + } + if (!strncmp(p, "panic",5)) panic_on_overflow = 1; - if (!memcmp(p, "nopanic", 7)) + if (!strncmp(p, "nopanic",7)) panic_on_overflow = 0; - if (!memcmp(p, "merge", 5)) { + if (!strncmp(p, "merge",5)) { iommu_merge = 1; force_iommu = 1; } - if (!memcmp(p, "nomerge", 7)) + if (!strncmp(p, "nomerge",7)) iommu_merge = 0; - if (!memcmp(p, "forcesac", 8)) + if (!strncmp(p, "forcesac",8)) iommu_sac_force = 1; - if (!memcmp(p, "fullflush", 9)) + if (!strncmp(p, "fullflush",8)) iommu_fullflush = 1; - if (!memcmp(p, "nofullflush", 11)) + if (!strncmp(p, "nofullflush",11)) iommu_fullflush = 0; - if (!memcmp(p, "soft", 4)) + if (!strncmp(p, "soft",4)) swiotlb = 1; + if (!strncmp(p, "noaperture",10)) + fix_aperture = 0; #ifdef CONFIG_IOMMU_LEAK - if (!memcmp(p,"leak", 4)) { + if (!strncmp(p,"leak",4)) { leak_trace = 1; p += 4; if (*p == '=') ++p; @@ -922,10 +969,9 @@ __init int iommu_setup(char *opt) #endif if (isdigit(*p) && get_option(&p, &arg)) iommu_size = arg; - do { - if (*p == ' ' || *p == 0) - return 0; - } while (*p++ != ','); + p += strcspn(p, ","); + if (*p == ',') + ++p; } return 1; } diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c index f7d3cf3ca..6e835be5f 100644 --- a/arch/x86_64/kernel/process.c +++ b/arch/x86_64/kernel/process.c @@ -130,11 +130,20 @@ void cpu_idle (void) { /* endless idle loop with no priority at all */ while (1) { - void (*idle)(void) = pm_idle; - if (!idle) - idle = default_idle; - while (!need_resched()) + while (!need_resched()) { + void (*idle)(void); + /* + * Mark this as an RCU critical section so that + * synchronize_kernel() in the unload path waits + * for our completion. + */ + rcu_read_lock(); + idle = pm_idle; + if (!idle) + idle = default_idle; idle(); + rcu_read_unlock(); + } schedule(); } } @@ -168,9 +177,7 @@ void __init select_idle_routine(const struct cpuinfo_x86 *c) if (cpu_has(c, X86_FEATURE_MWAIT)) { /* * Skip, if setup has overridden idle. - * Also, take care of system with asymmetric CPUs. - * Use, mwait_idle only if all cpus support it. - * If not, we fallback to default_idle() + * One CPU supports mwait => All CPUs supports mwait */ if (!pm_idle) { if (!printed) { @@ -179,10 +186,7 @@ void __init select_idle_routine(const struct cpuinfo_x86 *c) } pm_idle = mwait_idle; } - return; } - pm_idle = default_idle; - return; } static int __init idle_setup (char *str) @@ -255,11 +259,17 @@ void show_regs(struct pt_regs *regs) void exit_thread(void) { struct task_struct *me = current; + struct thread_struct *t = &me->thread; if (me->thread.io_bitmap_ptr) { - struct tss_struct *tss = init_tss + get_cpu(); - kfree(me->thread.io_bitmap_ptr); - me->thread.io_bitmap_ptr = NULL; - tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; + struct tss_struct *tss = &per_cpu(init_tss, get_cpu()); + + kfree(t->io_bitmap_ptr); + t->io_bitmap_ptr = NULL; + /* + * Careful, clear this in the TSS too: + */ + memset(tss->io_bitmap, 0xff, t->io_bitmap_max); + t->io_bitmap_max = 0; put_cpu(); } } @@ -367,8 +377,10 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long rsp, if (unlikely(me->thread.io_bitmap_ptr != NULL)) { p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL); - if (!p->thread.io_bitmap_ptr) + if (!p->thread.io_bitmap_ptr) { + p->thread.io_bitmap_max = 0; return -ENOMEM; + } memcpy(p->thread.io_bitmap_ptr, me->thread.io_bitmap_ptr, IO_BITMAP_BYTES); } @@ -387,8 +399,10 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long rsp, } err = 0; out: - if (err && p->thread.io_bitmap_ptr) + if (err && p->thread.io_bitmap_ptr) { kfree(p->thread.io_bitmap_ptr); + p->thread.io_bitmap_max = 0; + } return err; } @@ -409,7 +423,7 @@ struct task_struct *__switch_to(struct task_struct *prev_p, struct task_struct * struct thread_struct *prev = &prev_p->thread, *next = &next_p->thread; int cpu = smp_processor_id(); - struct tss_struct *tss = init_tss + cpu; + struct tss_struct *tss = &per_cpu(init_tss, cpu); unlazy_fpu(prev_p); @@ -495,22 +509,18 @@ struct task_struct *__switch_to(struct task_struct *prev_p, struct task_struct * * Handle the IO bitmap */ if (unlikely(prev->io_bitmap_ptr || next->io_bitmap_ptr)) { - if (next->io_bitmap_ptr) { + if (next->io_bitmap_ptr) /* - * 2 cachelines copy ... not good, but not that - * bad either. Anyone got something better? - * This only affects processes which use ioperm(). - */ - memcpy(tss->io_bitmap, next->io_bitmap_ptr, IO_BITMAP_BYTES); - tss->io_bitmap_base = IO_BITMAP_OFFSET; - } else { + * Copy the relevant range of the IO bitmap. + * Normally this is 128 bytes or less: + */ + memcpy(tss->io_bitmap, next->io_bitmap_ptr, + max(prev->io_bitmap_max, next->io_bitmap_max)); + else { /* - * a bitmap offset pointing outside of the TSS limit - * causes a nicely controllable SIGSEGV if a process - * tries to use a port IO instruction. The first - * sys_ioperm() call sets up the bitmap properly. + * Clear any possible leftover bits: */ - tss->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; + memset(tss->io_bitmap, 0xff, prev->io_bitmap_max); } } @@ -546,17 +556,16 @@ void set_personality_64bit(void) clear_thread_flag(TIF_IA32); } -asmlinkage long sys_fork(struct pt_regs regs) +asmlinkage long sys_fork(struct pt_regs *regs) { - return do_fork(SIGCHLD, regs.rsp, ®s, 0, NULL, NULL); + return do_fork(SIGCHLD, regs->rsp, regs, 0, NULL, NULL); } -asmlinkage long sys_clone(unsigned long clone_flags, unsigned long newsp, void __user *parent_tid, void __user *child_tid, struct pt_regs regs) +asmlinkage long sys_clone(unsigned long clone_flags, unsigned long newsp, void __user *parent_tid, void __user *child_tid, struct pt_regs *regs) { if (!newsp) - newsp = regs.rsp; - return do_fork(clone_flags & ~CLONE_IDLETASK, newsp, ®s, 0, - parent_tid, child_tid); + newsp = regs->rsp; + return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid); } /* @@ -569,9 +578,9 @@ asmlinkage long sys_clone(unsigned long clone_flags, unsigned long newsp, void _ * do not have enough call-clobbered registers to hold all * the information you need. */ -asmlinkage long sys_vfork(struct pt_regs regs) +asmlinkage long sys_vfork(struct pt_regs *regs) { - return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs.rsp, ®s, 0, + return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD, regs->rsp, regs, 0, NULL, NULL); } diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c index d07a45b01..54353e5c8 100644 --- a/arch/x86_64/kernel/ptrace.c +++ b/arch/x86_64/kernel/ptrace.c @@ -88,6 +88,7 @@ void ptrace_disable(struct task_struct *child) { long tmp; + clear_tsk_thread_flag(child, TIF_SINGLESTEP); tmp = get_stack_long(child, EFL_OFFSET) & ~TRAP_FLAG; put_stack_long(child, EFL_OFFSET, tmp); } @@ -346,6 +347,7 @@ asmlinkage long sys_ptrace(long request, long pid, unsigned long addr, long data set_tsk_thread_flag(child,TIF_SYSCALL_TRACE); else clear_tsk_thread_flag(child,TIF_SYSCALL_TRACE); + clear_tsk_thread_flag(child, TIF_SINGLESTEP); child->exit_code = data; /* make sure the single step bit is not set. */ tmp = get_stack_long(child, EFL_OFFSET); @@ -395,8 +397,9 @@ asmlinkage long sys_ptrace(long request, long pid, unsigned long addr, long data long tmp; ret = 0; - if (child->state == TASK_ZOMBIE) /* already dead */ + if (child->exit_state == EXIT_ZOMBIE) /* already dead */ break; + clear_tsk_thread_flag(child, TIF_SINGLESTEP); child->exit_code = SIGKILL; /* make sure the single step bit is not set. */ tmp = get_stack_long(child, EFL_OFFSET) & ~TRAP_FLAG; @@ -418,6 +421,7 @@ asmlinkage long sys_ptrace(long request, long pid, unsigned long addr, long data } tmp = get_stack_long(child, EFL_OFFSET) | TRAP_FLAG; put_stack_long(child, EFL_OFFSET, tmp); + set_tsk_thread_flag(child, TIF_SINGLESTEP); child->exit_code = data; /* give it a chance to run. */ wake_up_process(child); @@ -431,30 +435,32 @@ asmlinkage long sys_ptrace(long request, long pid, unsigned long addr, long data break; case PTRACE_GETREGS: { /* Get all gp regs from the child. */ - if (!access_ok(VERIFY_WRITE, (unsigned __user *)data, FRAME_SIZE)) { + if (!access_ok(VERIFY_WRITE, (unsigned __user *)data, + sizeof(struct user_regs_struct))) { ret = -EIO; break; } + ret = 0; for (ui = 0; ui < sizeof(struct user_regs_struct); ui += sizeof(long)) { - __put_user(getreg(child, ui),(unsigned long __user *) data); + ret |= __put_user(getreg(child, ui),(unsigned long __user *) data); data += sizeof(long); } - ret = 0; break; } case PTRACE_SETREGS: { /* Set all gp regs in the child. */ unsigned long tmp; - if (!access_ok(VERIFY_READ, (unsigned __user *)data, FRAME_SIZE)) { + if (!access_ok(VERIFY_READ, (unsigned __user *)data, + sizeof(struct user_regs_struct))) { ret = -EIO; break; } + ret = 0; for (ui = 0; ui < sizeof(struct user_regs_struct); ui += sizeof(long)) { - __get_user(tmp, (unsigned long __user *) data); + ret |= __get_user(tmp, (unsigned long __user *) data); putreg(child, ui, tmp); data += sizeof(long); } - ret = 0; break; } @@ -530,7 +536,8 @@ asmlinkage void syscall_trace_leave(struct pt_regs *regs) if (unlikely(current->audit_context)) audit_syscall_exit(current, regs->rax); - if (test_thread_flag(TIF_SYSCALL_TRACE) + if ((test_thread_flag(TIF_SYSCALL_TRACE) + || test_thread_flag(TIF_SINGLESTEP)) && (current->ptrace & PT_PTRACED)) syscall_trace(regs); } diff --git a/arch/x86_64/kernel/reboot.c b/arch/x86_64/kernel/reboot.c index 3dac33924..92fc7e7cd 100644 --- a/arch/x86_64/kernel/reboot.c +++ b/arch/x86_64/kernel/reboot.c @@ -21,19 +21,22 @@ void (*pm_power_off)(void); static long no_idt[3]; -static enum { - BOOT_BIOS = 'b', - BOOT_TRIPLE = 't', - BOOT_KBD = 'k' -} reboot_type = BOOT_KBD; static int reboot_mode = 0; +enum reboot_types reboot_type = BOOT_KBD; +EXPORT_SYMBOL(reboot_type); +int reboot_override; +EXPORT_SYMBOL(reboot_override); -/* reboot=b[ios] | t[riple] | k[bd] [, [w]arm | [c]old] +void (*machine_reset)(void); +EXPORT_SYMBOL(machine_reset); + +/* reboot=b[ios] | t[riple] | k[bd] [, [w]arm | [c]old] | [a]cpi bios Use the CPU reboot vector for warm reset warm Don't set the cold reboot flag cold Set the cold reboot flag triple Force a triple fault (init) kbd Use the keyboard controller. cold reset (default) + acpi Use the ACPI reset mechanism defined in the FADT */ static int __init reboot_setup(char *str) { @@ -50,7 +53,9 @@ static int __init reboot_setup(char *str) case 't': case 'b': case 'k': + case 'a': reboot_type = *str; + reboot_override = 1; break; } if((str = strchr(str,',')) != NULL) @@ -91,31 +96,6 @@ static void reboot_warm(void) [target] "b" (WARMBOOT_TRAMP)); } -#ifdef CONFIG_SMP -static void smp_halt(void) -{ - int cpuid = safe_smp_processor_id(); - static int first_entry = 1; - - if (first_entry) { - first_entry = 0; - smp_call_function((void *)machine_restart, NULL, 1, 0); - } - - smp_stop_cpu(); - - /* AP calling this. Just halt */ - if (cpuid != boot_cpu_id) { - for (;;) - asm("hlt"); - } - - /* Wait for all other CPUs to have run smp_stop_cpu */ - while (!cpus_empty(cpu_online_map)) - rep_nop(); -} -#endif - static inline void kb_wait(void) { int i; @@ -125,23 +105,45 @@ static inline void kb_wait(void) break; } -void machine_restart(char * __unused) +void machine_shutdown(void) { - int i; - + /* Stop the cpus and apics */ #ifdef CONFIG_SMP - smp_halt(); + int reboot_cpu_id; + + /* The boot cpu is always logical cpu 0 */ + reboot_cpu_id = 0; + + /* Make certain the cpu I'm about to reboot on is online */ + if (!cpu_isset(reboot_cpu_id, cpu_online_map)) { + reboot_cpu_id = smp_processor_id(); + } + + /* Make certain I only run on the appropriate processor */ + set_cpus_allowed(current, cpumask_of_cpu(reboot_cpu_id)); + + /* O.K Now that I'm on the appropriate processor, + * stop all of the others. + */ + smp_send_stop(); #endif local_irq_disable(); - + #ifndef CONFIG_SMP disable_local_APIC(); #endif disable_IO_APIC(); - + local_irq_enable(); +} + +void machine_restart(char * __unused) +{ + int i; + + machine_shutdown(); /* Tell the BIOS if we want cold or warm reboot */ *((unsigned short *)__va(0x472)) = reboot_mode; @@ -149,6 +151,13 @@ void machine_restart(char * __unused) for (;;) { /* Could also try the reset bit in the Hammer NB */ switch (reboot_type) { + case BOOT_ACPI: + if (machine_reset) + (*machine_reset)(); + else + reboot_type = BOOT_KBD; + break; + case BOOT_BIOS: reboot_warm(); diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index c0d3c8dfa..6fffd1277 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c @@ -71,7 +71,7 @@ EXPORT_SYMBOL(acpi_disabled); #ifdef CONFIG_ACPI_BOOT extern int __initdata acpi_ht; extern acpi_interrupt_flags acpi_sci_flags; -/* int __initdata acpi_force = 0; */ +int __initdata acpi_force = 0; #endif /* For PCI or other memory-mapped resources */ @@ -79,8 +79,10 @@ unsigned long pci_mem_start = 0x10000000; unsigned long saved_video_mode; +#ifdef CONFIG_SWIOTLB int swiotlb; EXPORT_SYMBOL(swiotlb); +#endif /* * Setup options @@ -105,7 +107,8 @@ char command_line[COMMAND_LINE_SIZE]; struct resource standard_io_resources[] = { { "dma1", 0x00, 0x1f, IORESOURCE_BUSY | IORESOURCE_IO }, { "pic1", 0x20, 0x21, IORESOURCE_BUSY | IORESOURCE_IO }, - { "timer", 0x40, 0x5f, IORESOURCE_BUSY | IORESOURCE_IO }, + { "timer0", 0x40, 0x43, IORESOURCE_BUSY | IORESOURCE_IO }, + { "timer1", 0x50, 0x53, IORESOURCE_BUSY | IORESOURCE_IO }, { "keyboard", 0x60, 0x6f, IORESOURCE_BUSY | IORESOURCE_IO }, { "dma page reg", 0x80, 0x8f, IORESOURCE_BUSY | IORESOURCE_IO }, { "pic2", 0xa0, 0xa1, IORESOURCE_BUSY | IORESOURCE_IO }, @@ -248,14 +251,14 @@ static __init void parse_cmdline_early (char ** cmdline_p) if (!memcmp(from, "acpi=force", 10)) { /* add later when we do DMI horrors: */ - /* acpi_force = 1; */ + acpi_force = 1; acpi_disabled = 0; } /* acpi=ht just means: do ACPI MADT parsing at bootup, but don't enable the full ACPI interpreter */ if (!memcmp(from, "acpi=ht", 7)) { - /* if (!acpi_force) */ + if (!acpi_force) disable_acpi(); acpi_ht = 1; } @@ -423,6 +426,20 @@ static inline void copy_edd(void) } #endif +#define EBDA_ADDR_POINTER 0x40E +static void __init reserve_ebda_region(void) +{ + unsigned int addr; + /** + * there is a real-mode segmented pointer pointing to the + * 4K EBDA area at 0x40E + */ + addr = *(unsigned short *)phys_to_virt(EBDA_ADDR_POINTER); + addr <<= 4; + if (addr) + reserve_bootmem_generic(addr, PAGE_SIZE); +} + void __init setup_arch(char **cmdline_p) { unsigned long low_mem_size; @@ -487,6 +504,9 @@ void __init setup_arch(char **cmdline_p) */ reserve_bootmem_generic(0, PAGE_SIZE); + /* reserve ebda region */ + reserve_ebda_region(); + #ifdef CONFIG_SMP /* * But first pinch a few for the stack/trampoline stuff @@ -662,6 +682,26 @@ static int __init init_amd(struct cpuinfo_x86 *c) } } display_cacheinfo(c); + + if (c->cpuid_level >= 0x80000008) { + c->x86_num_cores = (cpuid_ecx(0x80000008) & 0xff) + 1; + if (c->x86_num_cores & (c->x86_num_cores - 1)) + c->x86_num_cores = 1; + +#ifdef CONFIG_NUMA + /* On a dual core setup the lower bits of apic id + distingush the cores. Fix up the CPU<->node mappings + here based on that. + Assumes number of cores is a power of two. */ + if (c->x86_num_cores > 1) { + int cpu = c->x86_apicid; + cpu_to_node[cpu] = cpu >> hweight32(c->x86_num_cores - 1); + printk(KERN_INFO "CPU %d -> Node %d\n", + cpu, cpu_to_node[cpu]); + } +#endif + } + return r; } @@ -705,7 +745,7 @@ static void __init detect_ht(struct cpuinfo_x86 *c) } if (index_lsb != index_msb ) index_msb++; - initial_apic_id = ebx >> 24 & 0xff; + initial_apic_id = hard_smp_processor_id(); phys_proc_id[cpu] = initial_apic_id >> index_msb; printk(KERN_INFO "CPU: Physical Processor ID: %d\n", @@ -714,133 +754,12 @@ static void __init detect_ht(struct cpuinfo_x86 *c) #endif } -#define LVL_1_INST 1 -#define LVL_1_DATA 2 -#define LVL_2 3 -#define LVL_3 4 -#define LVL_TRACE 5 - -struct _cache_table -{ - unsigned char descriptor; - char cache_type; - short size; -}; - -/* all the cache descriptor types we care about (no TLB or trace cache entries) */ -static struct _cache_table cache_table[] __initdata = -{ - { 0x06, LVL_1_INST, 8 }, - { 0x08, LVL_1_INST, 16 }, - { 0x0a, LVL_1_DATA, 8 }, - { 0x0c, LVL_1_DATA, 16 }, - { 0x22, LVL_3, 512 }, - { 0x23, LVL_3, 1024 }, - { 0x25, LVL_3, 2048 }, - { 0x29, LVL_3, 4096 }, - { 0x2c, LVL_1_DATA, 32 }, - { 0x30, LVL_1_INST, 32 }, - { 0x39, LVL_2, 128 }, - { 0x3b, LVL_2, 128 }, - { 0x3c, LVL_2, 256 }, - { 0x41, LVL_2, 128 }, - { 0x42, LVL_2, 256 }, - { 0x43, LVL_2, 512 }, - { 0x44, LVL_2, 1024 }, - { 0x45, LVL_2, 2048 }, - { 0x66, LVL_1_DATA, 8 }, - { 0x67, LVL_1_DATA, 16 }, - { 0x68, LVL_1_DATA, 32 }, - { 0x70, LVL_TRACE, 12 }, - { 0x71, LVL_TRACE, 16 }, - { 0x72, LVL_TRACE, 32 }, - { 0x79, LVL_2, 128 }, - { 0x7a, LVL_2, 256 }, - { 0x7b, LVL_2, 512 }, - { 0x7c, LVL_2, 1024 }, - { 0x82, LVL_2, 256 }, - { 0x83, LVL_2, 512 }, - { 0x84, LVL_2, 1024 }, - { 0x85, LVL_2, 2048 }, - { 0x86, LVL_2, 512 }, - { 0x87, LVL_2, 1024 }, - { 0x00, 0, 0} -}; - static void __init init_intel(struct cpuinfo_x86 *c) { /* Cache sizes */ - unsigned int trace = 0, l1i = 0, l1d = 0, l2 = 0, l3 = 0; unsigned n; - if (c->cpuid_level > 1) { - /* supports eax=2 call */ - int i, j, n; - int regs[4]; - unsigned char *dp = (unsigned char *)regs; - - /* Number of times to iterate */ - n = cpuid_eax(2) & 0xFF; - - for ( i = 0 ; i < n ; i++ ) { - cpuid(2, ®s[0], ®s[1], ®s[2], ®s[3]); - - /* If bit 31 is set, this is an unknown format */ - for ( j = 0 ; j < 3 ; j++ ) { - if ( regs[j] < 0 ) regs[j] = 0; - } - - /* Byte 0 is level count, not a descriptor */ - for ( j = 1 ; j < 16 ; j++ ) { - unsigned char des = dp[j]; - unsigned char k = 0; - - /* look up this descriptor in the table */ - while (cache_table[k].descriptor != 0) - { - if (cache_table[k].descriptor == des) { - switch (cache_table[k].cache_type) { - case LVL_1_INST: - l1i += cache_table[k].size; - break; - case LVL_1_DATA: - l1d += cache_table[k].size; - break; - case LVL_2: - l2 += cache_table[k].size; - break; - case LVL_3: - l3 += cache_table[k].size; - break; - case LVL_TRACE: - trace += cache_table[k].size; - break; - } - - break; - } - - k++; - } - } - } - - if (trace) - printk (KERN_INFO "CPU: Trace cache: %dK uops", trace); - else if (l1i) - printk (KERN_INFO "CPU: L1 I cache: %dK", l1i); - if (l1d) - printk(", L1 D cache: %dK\n", l1d); - else - printk("\n"); - if (l2) - printk(KERN_INFO "CPU: L2 cache: %dK\n", l2); - if (l3) - printk(KERN_INFO "CPU: L3 cache: %dK\n", l3); - - c->x86_cache_size = l2 ? l2 : (l1i+l1d); - } - + init_intel_cacheinfo(c); n = cpuid_eax(0x80000000); if (n >= 0x80000008) { unsigned eax = cpuid_eax(0x80000008); @@ -885,6 +804,8 @@ void __init early_identify_cpu(struct cpuinfo_x86 *c) c->x86_model_id[0] = '\0'; /* Unset */ c->x86_clflush_size = 64; c->x86_cache_alignment = c->x86_clflush_size; + c->x86_num_cores = 1; + c->x86_apicid = c == &boot_cpu_data ? 0 : c - cpu_data; memset(&c->x86_capability, 0, sizeof c->x86_capability); /* Get vendor name */ @@ -912,6 +833,7 @@ void __init early_identify_cpu(struct cpuinfo_x86 *c) } if (c->x86_capability[0] & (1<<19)) c->x86_clflush_size = ((misc >> 8) & 0xff) * 8; + c->x86_apicid = misc >> 24; } else { /* Have CPUID level 0 only - unheard of */ c->x86 = 4; @@ -931,8 +853,10 @@ void __init identify_cpu(struct cpuinfo_x86 *c) /* AMD-defined flags: level 0x80000001 */ xlvl = cpuid_eax(0x80000000); if ( (xlvl & 0xffff0000) == 0x80000000 ) { - if ( xlvl >= 0x80000001 ) + if ( xlvl >= 0x80000001 ) { c->x86_capability[1] = cpuid_edx(0x80000001); + c->x86_capability[5] = cpuid_ecx(0x80000001); + } if ( xlvl >= 0x80000004 ) get_model_name(c); /* Default name */ } @@ -1042,8 +966,8 @@ static int show_cpuinfo(struct seq_file *m, void *v) NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* Intel-defined (#2) */ - "pni", NULL, NULL, "monitor", "ds_cpl", NULL, NULL, "tm2", - "est", NULL, "cid", NULL, NULL, "cmpxchg16b", NULL, NULL, + "pni", NULL, NULL, "monitor", "ds_cpl", NULL, NULL, "est", + "tm2", NULL, "cid", NULL, NULL, "cx16", "xtpr", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }; @@ -1086,7 +1010,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size); #ifdef CONFIG_X86_HT - if (cpu_has_ht) { + if (smp_num_siblings > 1) { seq_printf(m, "physical id\t: %d\n", phys_proc_id[c - cpu_data]); seq_printf(m, "siblings\t: %d\n", smp_num_siblings); } @@ -1132,6 +1056,9 @@ static int show_cpuinfo(struct seq_file *m, void *v) } } + if (c->x86_num_cores > 1) + seq_printf(m, "cpu cores\t: %d\n", c->x86_num_cores); + seq_printf(m, "\n\n"); return 0; diff --git a/arch/x86_64/kernel/setup64.c b/arch/x86_64/kernel/setup64.c index 9d3137a55..b83680afe 100644 --- a/arch/x86_64/kernel/setup64.c +++ b/arch/x86_64/kernel/setup64.c @@ -60,12 +60,12 @@ noforce (default) Don't enable by default for heap/stack/data, */ static int __init nonx_setup(char *str) { - if (!strncmp(str, "on",3)) { + if (!strcmp(str, "on")) { __supported_pte_mask |= _PAGE_NX; do_not_nx = 0; vm_data_default_flags &= ~VM_EXEC; vm_stack_flags &= ~VM_EXEC; - } else if (!strncmp(str, "noforce",7) || !strncmp(str,"off",3)) { + } else if (!strcmp(str, "noforce") || !strcmp(str, "off")) { do_not_nx = (str[0] == 'o'); if (do_not_nx) __supported_pte_mask &= ~_PAGE_NX; @@ -91,26 +91,28 @@ Valid options: compat (default) Imply PROT_EXEC for PROT_READ */ - static int __init nonx32_setup(char *str) + static int __init nonx32_setup(char *s) { - char *s; - while ((s = strsep(&str, ",")) != NULL) { - if (!strcmp(s, "all") || !strcmp(s,"on")) { + while (*s) { + if (!strncmp(s, "all", 3) || !strncmp(s,"on",2)) { vm_data_default_flags32 &= ~VM_EXEC; vm_stack_flags32 &= ~VM_EXEC; - } else if (!strcmp(s, "off")) { + } else if (!strncmp(s, "off",3)) { vm_data_default_flags32 |= VM_EXEC; vm_stack_flags32 |= VM_EXEC; - } else if (!strcmp(s, "stack")) { + } else if (!strncmp(s, "stack", 5)) { vm_data_default_flags32 |= VM_EXEC; vm_stack_flags32 &= ~VM_EXEC; - } else if (!strcmp(s, "force")) { + } else if (!strncmp(s, "force",5)) { vm_force_exec32 = 0; - } else if (!strcmp(s, "compat")) { + } else if (!strncmp(s, "compat",5)) { vm_force_exec32 = PROT_EXEC; } - } - return 1; + s += strcspn(s, ","); + if (*s == ',') + ++s; + } + return 1; } __setup("noexec32=", nonx32_setup); @@ -193,7 +195,8 @@ void pda_init(int cpu) char boot_exception_stacks[N_EXCEPTION_STACKS * EXCEPTION_STKSZ] __attribute__((section(".bss.page_aligned"))); -void __init syscall_init(void) +/* May not be marked __init: used by software suspend */ +void syscall_init(void) { /* * LSTAR and STAR live in a bit strange symbiosis. @@ -235,10 +238,11 @@ void __init cpu_init (void) #else int cpu = smp_processor_id(); #endif - struct tss_struct * t = &init_tss[cpu]; + struct tss_struct *t = &per_cpu(init_tss, cpu); unsigned long v; char *estacks = NULL; struct task_struct *me; + int i; /* CPU 0 is initialised in head64.c */ if (cpu != 0) { @@ -302,12 +306,13 @@ void __init cpu_init (void) t->ist[v] = (unsigned long)estacks; } - t->io_bitmap_base = INVALID_IO_BITMAP_OFFSET; + t->io_bitmap_base = offsetof(struct tss_struct, io_bitmap); /* - * This is required because the CPU will access up to + * <= is required because the CPU will access up to * 8 bits beyond the end of the IO permission bitmap. */ - t->io_bitmap[IO_BITMAP_LONGS] = ~0UL; + for (i = 0; i <= IO_BITMAP_LONGS; i++) + t->io_bitmap[i] = ~0UL; atomic_inc(&init_mm.mm_count); me->active_mm = &init_mm; diff --git a/arch/x86_64/kernel/signal.c b/arch/x86_64/kernel/signal.c index f6eb0e337..99bcd7275 100644 --- a/arch/x86_64/kernel/signal.c +++ b/arch/x86_64/kernel/signal.c @@ -40,7 +40,7 @@ void ia32_setup_frame(int sig, struct k_sigaction *ka, sigset_t *set, struct pt_regs * regs); asmlinkage long -sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, struct pt_regs regs) +sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, struct pt_regs *regs) { sigset_t saveset, newset; @@ -59,21 +59,22 @@ sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize, struct pt_regs re spin_unlock_irq(¤t->sighand->siglock); #ifdef DEBUG_SIG printk("rt_sigsuspend savset(%lx) newset(%lx) regs(%p) rip(%lx)\n", - saveset, newset, ®s, regs.rip); + saveset, newset, regs, regs->rip); #endif - regs.rax = -EINTR; + regs->rax = -EINTR; while (1) { current->state = TASK_INTERRUPTIBLE; schedule(); - if (do_signal(®s, &saveset)) + if (do_signal(regs, &saveset)) return -EINTR; } } asmlinkage long -sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, struct pt_regs regs) +sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, + struct pt_regs *regs) { - return do_sigaltstack(uss, uoss, regs.rsp); + return do_sigaltstack(uss, uoss, regs->rsp); } @@ -134,13 +135,13 @@ badframe: return 1; } -asmlinkage long sys_rt_sigreturn(struct pt_regs regs) +asmlinkage long sys_rt_sigreturn(struct pt_regs *regs) { struct rt_sigframe __user *frame; sigset_t set; long eax; - frame = (struct rt_sigframe __user *)(regs.rsp - 8); + frame = (struct rt_sigframe __user *)(regs->rsp - 8); if (verify_area(VERIFY_READ, frame, sizeof(*frame))) { goto badframe; } @@ -154,7 +155,7 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs regs) recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); - if (restore_sigcontext(®s, &frame->uc.uc_mcontext, &eax)) { + if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &eax)) { goto badframe; } @@ -162,13 +163,13 @@ asmlinkage long sys_rt_sigreturn(struct pt_regs regs) printk("%d sigreturn rip:%lx rsp:%lx frame:%p rax:%lx\n",current->pid,regs.rip,regs.rsp,frame,eax); #endif - if (do_sigaltstack(&frame->uc.uc_stack, NULL, regs.rsp) == -EFAULT) + if (do_sigaltstack(&frame->uc.uc_stack, NULL, regs->rsp) == -EFAULT) goto badframe; return eax; badframe: - signal_fault(®s,frame,"sigreturn"); + signal_fault(regs,frame,"sigreturn"); return 0; } @@ -180,6 +181,7 @@ static inline int setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, unsigned long mask, struct task_struct *me) { int err = 0; + unsigned long eflags; err |= __put_user(0, &sc->gs); err |= __put_user(0, &sc->fs); @@ -203,7 +205,11 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs, unsigned lo err |= __put_user(me->thread.trap_no, &sc->trapno); err |= __put_user(me->thread.error_code, &sc->err); err |= __put_user(regs->rip, &sc->rip); - err |= __put_user(regs->eflags, &sc->eflags); + eflags = regs->eflags; + if (current->ptrace & PT_PTRACED) { + eflags &= ~TF_MASK; + } + err |= __put_user(eflags, &sc->eflags); err |= __put_user(mask, &sc->oldmask); err |= __put_user(me->thread.cr2, &sc->cr2); @@ -287,7 +293,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, if (ka->sa.sa_flags & SA_RESTORER) { err |= __put_user(ka->sa.sa_restorer, &frame->pretcode); } else { - printk("%s forgot to set SA_RESTORER for signal %d.\n", me->comm, sig); + /* could use a vstub here */ goto give_sigsegv; } @@ -318,7 +324,13 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, regs->rsp = (unsigned long)frame; set_fs(USER_DS); - regs->eflags &= ~TF_MASK; + if (regs->eflags & TF_MASK) { + if (current->ptrace & PT_PTRACED) { + ptrace_notify(SIGTRAP); + } else { + regs->eflags &= ~TF_MASK; + } + } #ifdef DEBUG_SIG printk("SIG deliver (%s:%d): sp=%p pc=%p ra=%p\n", @@ -328,9 +340,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, return; give_sigsegv: - if (sig == SIGSEGV) - ka->sa.sa_handler = SIG_DFL; - signal_fault(regs,frame,"signal deliver"); + force_sigsegv(sig, current); } /* @@ -338,11 +348,9 @@ give_sigsegv: */ static void -handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, - struct pt_regs * regs) +handle_signal(unsigned long sig, siginfo_t *info, struct k_sigaction *ka, + sigset_t *oldset, struct pt_regs *regs) { - struct k_sigaction *ka = ¤t->sighand->action[sig-1]; - #ifdef DEBUG_SIG printk("handle_signal pid:%d sig:%lu rip:%lx rsp:%lx regs=%p\n", current->pid, sig, regs->rip, regs->rsp, regs); @@ -379,9 +387,6 @@ handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, #endif setup_rt_frame(sig, ka, info, oldset, regs); - if (ka->sa.sa_flags & SA_ONESHOT) - ka->sa.sa_handler = SIG_DFL; - if (!(ka->sa.sa_flags & SA_NODEFER)) { spin_lock_irq(¤t->sighand->siglock); sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); @@ -398,6 +403,7 @@ handle_signal(unsigned long sig, siginfo_t *info, sigset_t *oldset, */ int do_signal(struct pt_regs *regs, sigset_t *oldset) { + struct k_sigaction ka; siginfo_t info; int signr; @@ -419,7 +425,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset) if (!oldset) oldset = ¤t->blocked; - signr = get_signal_to_deliver(&info, regs, NULL); + signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { /* Reenable any watchpoints before delivering the * signal to user space. The processor register will @@ -430,7 +436,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset) asm volatile("movq %0,%%db7" : : "r" (current->thread.debugreg7)); /* Whee! Actually deliver the signal. */ - handle_signal(signr, &info, oldset, regs); + handle_signal(signr, &info, &ka, oldset, regs); return 1; } diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c index 409460ebc..269ef092f 100644 --- a/arch/x86_64/kernel/smp.c +++ b/arch/x86_64/kernel/smp.c @@ -382,30 +382,14 @@ static struct call_data_struct * call_data; * this function sends a 'generic call function' IPI to all other CPUs * in the system. */ - -int smp_call_function (void (*func) (void *info), void *info, int nonatomic, - int wait) -/* - * [SUMMARY] Run a function on all other CPUs. - * The function to run. This must be fast and non-blocking. - * An arbitrary pointer to pass to the function. - * currently unused. - * If true, wait (atomically) until function has completed on other CPUs. - * [RETURNS] 0 on success, else a negative status code. Does not return until - * remote CPUs are nearly ready to execute <> or are or have executed. - * - * You must not call this function with disabled interrupts or from a - * hardware interrupt handler or from a bottom half handler. - */ +static void __smp_call_function (void (*func) (void *info), void *info, + int nonatomic, int wait) { struct call_data_struct data; int cpus = num_online_cpus()-1; if (!cpus) - return 0; - - /* Can deadlock when called with interrupts disabled */ - WARN_ON(irqs_disabled()); + return; data.func = func; data.info = info; @@ -414,7 +398,6 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic, if (wait) atomic_set(&data.finished, 0); - spin_lock(&call_lock); call_data = &data; wmb(); /* Send a message to all other CPUs and wait for them to respond */ @@ -427,8 +410,29 @@ int smp_call_function (void (*func) (void *info), void *info, int nonatomic, if (wait) while (atomic_read(&data.finished) != cpus) barrier(); - spin_unlock(&call_lock); +} +/* + * smp_call_function - run a function on all other CPUs. + * @func: The function to run. This must be fast and non-blocking. + * @info: An arbitrary pointer to pass to the function. + * @nonatomic: currently unused. + * @wait: If true, wait (atomically) until function has completed on other + * CPUs. + * + * Returns 0 on success, else a negative status code. Does not return until + * remote CPUs are nearly ready to execute func or are or have executed. + * + * You must not call this function with disabled interrupts or from a + * hardware interrupt handler or from a bottom half handler. + * Actually there are a few legal cases, like panic. + */ +int smp_call_function (void (*func) (void *info), void *info, int nonatomic, + int wait) +{ + spin_lock(&call_lock); + __smp_call_function(func,info,nonatomic,wait); + spin_unlock(&call_lock); return 0; } @@ -452,7 +456,16 @@ static void smp_really_stop_cpu(void *dummy) void smp_send_stop(void) { - smp_call_function(smp_really_stop_cpu, NULL, 1, 0); + int nolock = 0; + /* Don't deadlock on the call lock in panic */ + if (!spin_trylock(&call_lock)) { + udelay(100); + /* ignore locking because we have paniced anyways */ + nolock = 1; + } + __smp_call_function(smp_really_stop_cpu, NULL, 1, 0); + if (!nolock) + spin_unlock(&call_lock); smp_stop_cpu(); } diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 29f2578bf..dc0f40fea 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -62,6 +63,7 @@ cpumask_t cpu_online_map; /* which logical CPU number maps to which CPU (physical APIC ID) */ volatile char x86_cpu_to_apicid[NR_CPUS]; +EXPORT_SYMBOL(x86_cpu_to_apicid); static cpumask_t cpu_callin_map; cpumask_t cpu_callout_map; @@ -390,16 +392,6 @@ void __init start_secondary(void) extern volatile unsigned long init_rsp; extern void (*initial_code)(void); -static struct task_struct * __init fork_by_hand(void) -{ - struct pt_regs regs; - /* - * don't care about the eip and regs settings since - * we'll never reschedule the forked task. - */ - return copy_process(CLONE_VM|CLONE_IDLETASK, 0, ®s, 0, NULL, NULL); -} - #if APIC_DEBUG static inline void inquire_remote_apic(int apicid) { @@ -573,26 +565,17 @@ static void __init do_boot_cpu (int apicid) * We can't use kernel_thread since we must avoid to * reschedule the child. */ - idle = fork_by_hand(); + idle = fork_idle(cpu); if (IS_ERR(idle)) panic("failed fork for CPU %d", cpu); - wake_up_forked_process(idle); x86_cpu_to_apicid[cpu] = apicid; - /* - * We remove it from the pidhash and the runqueue - * once we got the process: - */ - init_idle(idle,cpu); - - unhash_process(idle); - cpu_pda[cpu].pcurrent = idle; start_rip = setup_trampoline(); init_rsp = idle->thread.rsp; - init_tss[cpu].rsp0 = init_rsp; + per_cpu(init_tss,cpu).rsp0 = init_rsp; initial_code = start_secondary; clear_ti_thread_flag(idle->thread_info, TIF_FORK); @@ -967,6 +950,9 @@ int __devinit __cpu_up(unsigned int cpu) void __init smp_cpus_done(unsigned int max_cpus) { +#ifdef CONFIG_X86_IO_APIC + setup_ioapic_dest(); +#endif zap_low_mappings(); } diff --git a/arch/x86_64/kernel/suspend.c b/arch/x86_64/kernel/suspend.c index 751982df5..ebaa1e37d 100644 --- a/arch/x86_64/kernel/suspend.c +++ b/arch/x86_64/kernel/suspend.c @@ -129,7 +129,7 @@ void restore_processor_state(void) void fix_processor_context(void) { int cpu = smp_processor_id(); - struct tss_struct * t = init_tss + cpu; + struct tss_struct *t = &per_cpu(init_tss, cpu); set_tss_desc(cpu,t); /* This just modifies memory; should not be neccessary. But... This is neccessary, because 386 hardware has concept of busy TSS or some similar stupidity. */ diff --git a/arch/x86_64/kernel/sys_x86_64.c b/arch/x86_64/kernel/sys_x86_64.c index 3feb337d1..7bf93a873 100644 --- a/arch/x86_64/kernel/sys_x86_64.c +++ b/arch/x86_64/kernel/sys_x86_64.c @@ -143,6 +143,94 @@ full_search: } } +unsigned long +arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, + const unsigned long len, const unsigned long pgoff, + const unsigned long flags) +{ + struct vm_area_struct *vma, *prev_vma; + struct mm_struct *mm = current->mm; + unsigned long base = mm->mmap_base, addr = addr0; + int first_time = 1; + unsigned long begin, end; + + find_start_end(flags, &begin, &end); + + /* requested length too big for entire address space */ + if (len > end) + return -ENOMEM; + + /* dont allow allocations above current base */ + if (mm->free_area_cache > base) + mm->free_area_cache = base; + + /* requesting a specific address */ + if (addr) { + addr = PAGE_ALIGN(addr); + vma = find_vma(mm, addr); + if (end - len >= addr && + (!vma || addr + len <= vma->vm_start)) + return addr; + } + +try_again: + /* make sure it can fit in the remaining address space */ + if (mm->free_area_cache < len) + goto fail; + + /* either no address requested or cant fit in requested address hole */ + addr = (mm->free_area_cache - len) & PAGE_MASK; + do { + /* + * Lookup failure means no vma is above this address, + * i.e. return with success: + */ + if (!(vma = find_vma_prev(mm, addr, &prev_vma))) + return addr; + + /* + * new region fits between prev_vma->vm_end and + * vma->vm_start, use it: + */ + if (addr+len <= vma->vm_start && + (!prev_vma || (addr >= prev_vma->vm_end))) + /* remember the address as a hint for next time */ + return (mm->free_area_cache = addr); + else + /* pull free_area_cache down to the first hole */ + if (mm->free_area_cache == vma->vm_end) + mm->free_area_cache = vma->vm_start; + + /* try just below the current vma->vm_start */ + addr = vma->vm_start-len; + } while (len <= vma->vm_start); + +fail: + /* + * if hint left us with no space for the requested + * mapping then try again: + */ + if (first_time) { + mm->free_area_cache = base; + first_time = 0; + goto try_again; + } + /* + * A failed mmap() very likely causes application failure, + * so fall back to the bottom-up function here. This scenario + * can happen with large stack limits and large mmap() + * allocations. + */ + mm->free_area_cache = begin; + addr = arch_get_unmapped_area(filp, addr0, len, pgoff, flags); + /* + * Restore the topdown base: + */ + mm->free_area_cache = base; + + return addr; +} + asmlinkage long sys_uname(struct new_utsname __user * name) { int err; diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index 10c511f50..ee941842d 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c @@ -11,7 +11,6 @@ * Copyright (c) 2002 Vojtech Pavlik * Copyright (c) 2003 Andi Kleen * RTC support code taken from arch/i386/kernel/timers/time_hpet.c - * */ #include @@ -33,6 +32,7 @@ #include #include #include +#include #include #ifdef CONFIG_X86_LOCAL_APIC #include @@ -42,6 +42,10 @@ u64 jiffies_64 = INITIAL_JIFFIES; EXPORT_SYMBOL(jiffies_64); +#ifdef CONFIG_CPU_FREQ +static void cpufreq_delayed_get(void); +#endif + extern int using_apic_timer; spinlock_t rtc_lock = SPIN_LOCK_UNLOCKED; @@ -82,7 +86,7 @@ static inline void rdtscll_sync(unsigned long *tsc) * timer interrupt has happened already, but vxtime.trigger wasn't updated yet. * This is not a problem, because jiffies hasn't updated either. They are bound * together by xtime_lock. - */ + */ static inline unsigned int do_gettimeoffset_tsc(void) { @@ -119,7 +123,7 @@ void do_gettimeofday(struct timeval *tv) usec = xtime.tv_nsec / 1000; /* i386 does some correction here to keep the clock - monotonus even when ntpd is fixing drift. + monotonous even when ntpd is fixing drift. But they didn't work for me, there is a non monotonic clock anyways with ntp. I dropped all corrections now until a real solution can @@ -176,6 +180,28 @@ int do_settimeofday(struct timespec *tv) EXPORT_SYMBOL(do_settimeofday); +unsigned long profile_pc(struct pt_regs *regs) +{ + unsigned long pc = instruction_pointer(regs); + + /* Assume the lock function has either no stack frame or only a single word. + This checks if the address on the stack looks like a kernel text address. + There is a small window for false hits, but in that case the tick + is just accounted to the spinlock function. + Better would be to write these functions in assembler again + and check exactly. */ + if (in_lock_functions(pc)) { + char *v = *(char **)regs->rsp; + if ((v >= _stext && v <= _etext) || + (v >= _sinittext && v <= _einittext) || + (v >= (char *)MODULES_VADDR && v <= (char *)MODULES_END)) + return (unsigned long)v; + return ((unsigned long *)regs->rsp)[1]; + } + return pc; +} +EXPORT_SYMBOL(profile_pc); + /* * In order to set the CMOS clock precisely, set_rtc_mmss has to be called 500 * ms after the second nowtime has started, because when nowtime is written @@ -214,7 +240,7 @@ static void set_rtc_mmss(unsigned long nowtime) * overflow. This avoids messing with unknown time zones but requires your RTC * not to be off by more than 15 minutes. Since we're calling it only when * our clock is externally synchronized using NTP, this shouldn't be a problem. - */ + */ real_seconds = nowtime % 60; real_minutes = nowtime / 60; @@ -293,19 +319,56 @@ unsigned long long monotonic_clock(void) } EXPORT_SYMBOL(monotonic_clock); +static noinline void handle_lost_ticks(int lost, struct pt_regs *regs) +{ + static long lost_count; + static int warned; + + if (report_lost_ticks) { + printk(KERN_WARNING "time.c: Lost %d timer " + "tick(s)! ", lost); + print_symbol("rip %s)\n", regs->rip); + } + + if (lost_count == 100 && !warned) { + printk(KERN_WARNING + "warning: many lost ticks.\n" + KERN_WARNING "Your time source seems to be instable or " + "some driver is hogging interupts\n"); + print_symbol("rip %s\n", regs->rip); + if (vxtime.mode == VXTIME_TSC && vxtime.hpet_address) { + printk(KERN_WARNING "Falling back to HPET\n"); + vxtime.last = hpet_readl(HPET_T0_CMP) - hpet_tick; + vxtime.mode = VXTIME_HPET; + do_gettimeoffset = do_gettimeoffset_hpet; + } + /* else should fall back to PIT, but code missing. */ + warned = 1; + } else + lost_count++; + +#ifdef CONFIG_CPU_FREQ + /* In some cases the CPU can change frequency without us noticing + (like going into thermal throttle) + Give cpufreq a change to catch up. */ + if ((lost_count+1) % 25 == 0) { + cpufreq_delayed_get(); + } +#endif +} static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) { static unsigned long rtc_update = 0; - unsigned long tsc, lost = 0; - int delay, offset = 0; + unsigned long tsc; + int delay, offset = 0, lost = 0; /* * Here we are in the timer irq handler. We have irqs locally disabled (so we * don't need spin_lock_irqsave()) but we don't know if the timer_bh is running * on the other CPU, so we need a lock. We also need to lock the vsyscall * variables, because both do_timer() and us change them -arca+vojtech - */ + */ write_seqlock(&xtime_lock); @@ -354,12 +417,8 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) (((long) offset << 32) / vxtime.tsc_quot) - 1; } - if (lost) { - if (report_lost_ticks) { - printk(KERN_WARNING "time.c: Lost %ld timer " - "tick(s)! ", lost); - print_symbol("rip %s)\n", regs->rip); - } + if (lost > 0) { + handle_lost_ticks(lost, regs); jiffies += lost; } @@ -376,7 +435,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) */ #ifndef CONFIG_X86_LOCAL_APIC - x86_do_profile(regs); + profile_tick(CPU_PROFILING, regs); #else if (!using_apic_timer) smp_local_timer_interrupt(regs); @@ -509,6 +568,38 @@ unsigned long get_cmos_time(void) Should fix up last_tsc too. Currently gettimeofday in the first tick after the change will be slightly wrong. */ +#include + +static unsigned int cpufreq_delayed_issched = 0; +static unsigned int cpufreq_init = 0; +static struct work_struct cpufreq_delayed_get_work; + +static void handle_cpufreq_delayed_get(void *v) +{ + unsigned int cpu; + for_each_online_cpu(cpu) { + cpufreq_get(cpu); + } + cpufreq_delayed_issched = 0; +} + +/* if we notice lost ticks, schedule a call to cpufreq_get() as it tries + * to verify the CPU frequency the timing core thinks the CPU is running + * at is still correct. + */ +static void cpufreq_delayed_get(void) +{ + static int warned; + if (cpufreq_init && !cpufreq_delayed_issched) { + cpufreq_delayed_issched = 1; + if (!warned) { + warned = 1; + printk(KERN_DEBUG "Losing some ticks... checking if CPU frequency changed.\n"); + } + schedule_work(&cpufreq_delayed_get_work); + } +} + static unsigned int ref_freq = 0; static unsigned long loops_per_jiffy_ref = 0; @@ -518,14 +609,18 @@ static int time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, void *data) { struct cpufreq_freqs *freq = data; - unsigned long *lpj; + unsigned long *lpj, dummy; + lpj = &dummy; + if (!(freq->flags & CPUFREQ_CONST_LOOPS)) #ifdef CONFIG_SMP lpj = &cpu_data[freq->cpu].loops_per_jiffy; #else lpj = &boot_cpu_data.loops_per_jiffy; #endif + + if (!ref_freq) { ref_freq = freq->old; loops_per_jiffy_ref = *lpj; @@ -538,7 +633,8 @@ static int time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, cpufreq_scale(loops_per_jiffy_ref, ref_freq, freq->new); cpu_khz = cpufreq_scale(cpu_khz_ref, ref_freq, freq->new); - vxtime.tsc_quot = (1000L << 32) / cpu_khz; + if (!(freq->flags & CPUFREQ_CONST_LOOPS)) + vxtime.tsc_quot = (1000L << 32) / cpu_khz; } set_cyc2ns_scale(cpu_khz_ref / 1000); @@ -549,6 +645,18 @@ static int time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, static struct notifier_block time_cpufreq_notifier_block = { .notifier_call = time_cpufreq_notifier }; + +static int __init cpufreq_tsc(void) +{ + INIT_WORK(&cpufreq_delayed_get_work, handle_cpufreq_delayed_get, NULL); + if (!cpufreq_register_notifier(&time_cpufreq_notifier_block, + CPUFREQ_TRANSITION_NOTIFIER)) + cpufreq_init = 1; + return 0; +} + +core_initcall(cpufreq_tsc); + #endif /* @@ -705,9 +813,9 @@ void __init time_init(void) outl(0x800038a0, 0xcf8); outl(0xff000001, 0xcfc); outl(0x800038a0, 0xcf8); - hpet_address = inl(0xcfc) & 0xfffffffe; + vxtime.hpet_address = inl(0xcfc) & 0xfffffffe; printk(KERN_WARNING "time.c: WARNING: Enabled HPET " - "at %#lx.\n", hpet_address); + "at %#lx.\n", vxtime.hpet_address); } #endif if (nohpet) @@ -725,8 +833,8 @@ void __init time_init(void) cpu_khz = hpet_calibrate_tsc(); timename = "HPET"; } else { - pit_init(); - cpu_khz = pit_calibrate_tsc(); + pit_init(); + cpu_khz = pit_calibrate_tsc(); timename = "PIT"; } @@ -742,11 +850,6 @@ void __init time_init(void) setup_irq(0, &irq0); set_cyc2ns_scale(cpu_khz / 1000); - -#ifdef CONFIG_CPU_FREQ - cpufreq_register_notifier(&time_cpufreq_notifier_block, - CPUFREQ_TRANSITION_NOTIFIER); -#endif } void __init time_init_smp(void) @@ -781,11 +884,12 @@ static int time_suspend(struct sys_device *dev, u32 state) static int time_resume(struct sys_device *dev) { + unsigned long flags; unsigned long sec = get_cmos_time() + clock_cmos_diff; - write_seqlock_irq(&xtime_lock); + write_seqlock_irqsave(&xtime_lock,flags); xtime.tv_sec = sec; xtime.tv_nsec = 0; - write_sequnlock_irq(&xtime_lock); + write_sequnlock_irqrestore(&xtime_lock,flags); return 0; } @@ -1038,6 +1142,8 @@ irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id, struct pt_regs *regs) } #endif + + static int __init nohpet_setup(char *s) { nohpet = 1; diff --git a/arch/x86_64/kernel/traps.c b/arch/x86_64/kernel/traps.c index 5aeee7cef..5db14e9c8 100644 --- a/arch/x86_64/kernel/traps.c +++ b/arch/x86_64/kernel/traps.c @@ -110,9 +110,10 @@ unsigned long *in_exception_stack(int cpu, unsigned long stack) { int k; for (k = 0; k < N_EXCEPTION_STACKS; k++) { - unsigned long end = init_tss[cpu].ist[k] + EXCEPTION_STKSZ; + struct tss_struct *tss = &per_cpu(init_tss, cpu); + unsigned long end = tss->ist[k] + EXCEPTION_STKSZ; - if (stack >= init_tss[cpu].ist[k] && stack <= end) + if (stack >= tss->ist[k] && stack <= end) return (unsigned long *)end; } return NULL; @@ -335,11 +336,8 @@ void oops_end(void) bust_spinlocks(0); spin_unlock(&die_lock); local_irq_enable(); /* make sure back scroll still works */ - if (panic_on_oops) { - if (netdump_func) - netdump_func = NULL; + if (panic_on_oops) panic("Oops"); - } } void __die(const char * str, struct pt_regs * regs, long err) @@ -355,7 +353,7 @@ void __die(const char * str, struct pt_regs * regs, long err) #ifdef CONFIG_DEBUG_PAGEALLOC printk("DEBUG_PAGEALLOC"); #endif - printk("\n"); + printk("\n"); notify_die(DIE_OOPS, (char *)str, regs, err, 255, SIGSEGV); show_registers(regs); /* Executive summary in case the oops scrolled away */ @@ -369,8 +367,6 @@ void die(const char * str, struct pt_regs * regs, long err) oops_begin(); handle_BUG(regs); __die(str, regs, err); - if (netdump_func) - netdump_func(regs); oops_end(); do_exit(SIGSEGV); } @@ -441,7 +437,8 @@ static void do_trap(int trapnr, int signr, char *str, #define DO_ERROR(trapnr, signr, str, name) \ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ { \ - if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) == NOTIFY_BAD) \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ return; \ do_trap(trapnr, signr, str, regs, error_code, NULL); \ } @@ -454,7 +451,8 @@ asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ info.si_errno = 0; \ info.si_code = sicode; \ info.si_addr = (void __user *)siaddr; \ - if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) == NOTIFY_BAD) \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ return; \ do_trap(trapnr, signr, str, regs, error_code, &info); \ } @@ -468,14 +466,15 @@ DO_ERROR( 7, SIGSEGV, "device not available", device_not_available) DO_ERROR( 9, SIGFPE, "coprocessor segment overrun", coprocessor_segment_overrun) DO_ERROR(10, SIGSEGV, "invalid TSS", invalid_TSS) DO_ERROR(11, SIGBUS, "segment not present", segment_not_present) -DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, get_cr2()) +DO_ERROR_INFO(17, SIGBUS, "alignment check", alignment_check, BUS_ADRALN, 0) DO_ERROR(18, SIGSEGV, "reserved", reserved) #define DO_ERROR_STACK(trapnr, signr, str, name) \ asmlinkage void *do_##name(struct pt_regs * regs, long error_code) \ { \ struct pt_regs *pr = ((struct pt_regs *)(current->thread.rsp0))-1; \ - if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) == NOTIFY_BAD) \ + if (notify_die(DIE_TRAP, str, regs, error_code, trapnr, signr) \ + == NOTIFY_STOP) \ return regs; \ if (regs->cs & 3) { \ memcpy(pr, regs, sizeof(struct pt_regs)); \ @@ -518,7 +517,7 @@ asmlinkage void do_general_protection(struct pt_regs * regs, long error_code) tsk->thread.error_code = error_code; tsk->thread.trap_no = 13; force_sig(SIGSEGV, tsk); - return; + return; } /* kernel gp */ @@ -569,7 +568,8 @@ asmlinkage void default_do_nmi(struct pt_regs * regs) unsigned char reason = inb(0x61); if (!(reason & 0xc0)) { - if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 0, SIGINT) == NOTIFY_BAD) + if (notify_die(DIE_NMI_IPI, "nmi_ipi", regs, reason, 0, SIGINT) + == NOTIFY_STOP) return; #ifdef CONFIG_X86_LOCAL_APIC /* @@ -584,7 +584,7 @@ asmlinkage void default_do_nmi(struct pt_regs * regs) unknown_nmi_error(reason, regs); return; } - if (notify_die(DIE_NMI, "nmi", regs, reason, 0, SIGINT) == NOTIFY_BAD) + if (notify_die(DIE_NMI, "nmi", regs, reason, 0, SIGINT) == NOTIFY_STOP) return; if (reason & 0x80) mem_parity_error(reason, regs); @@ -675,27 +675,53 @@ clear_dr7: return regs; clear_TF_reenable: - printk("clear_tf_reenable\n"); set_tsk_thread_flag(tsk, TIF_SINGLESTEP); clear_TF: /* RED-PEN could cause spurious errors */ if (notify_die(DIE_DEBUG, "debug2", regs, condition, 1, SIGTRAP) - != NOTIFY_BAD) + != NOTIFY_STOP) regs->eflags &= ~TF_MASK; return regs; } +static int kernel_math_error(struct pt_regs *regs, char *str) +{ + const struct exception_table_entry *fixup; + fixup = search_exception_tables(regs->rip); + if (fixup) { + regs->rip = fixup->fixup; + return 1; + } + notify_die(DIE_GPF, str, regs, 0, 16, SIGFPE); +#if 0 + /* This should be a die, but warn only for now */ + die(str, regs, 0); +#else + printk(KERN_DEBUG "%s: %s at ", current->comm, str); + printk_address(regs->rip); + printk("\n"); +#endif + return 0; +} + /* * Note that we play around with the 'TS' bit in an attempt to get * the correct behaviour even in the presence of the asynchronous * IRQ13 behaviour */ -void math_error(void __user *rip) +asmlinkage void do_coprocessor_error(struct pt_regs *regs) { + void __user *rip = (void __user *)(regs->rip); struct task_struct * task; siginfo_t info; unsigned short cwd, swd; + + conditional_sti(regs); + if ((regs->cs & 3) == 0 && + kernel_math_error(regs, "kernel x87 math error")) + return; + /* * Save the info for the exception handler and clear the error. */ @@ -745,23 +771,23 @@ void math_error(void __user *rip) force_sig_info(SIGFPE, &info, task); } -asmlinkage void do_coprocessor_error(struct pt_regs * regs) -{ - conditional_sti(regs); - math_error((void __user *)regs->rip); -} - asmlinkage void bad_intr(void) { printk("bad interrupt"); } -static inline void simd_math_error(void __user *rip) +asmlinkage void do_simd_coprocessor_error(struct pt_regs *regs) { + void __user *rip = (void __user *)(regs->rip); struct task_struct * task; siginfo_t info; unsigned short mxcsr; + conditional_sti(regs); + if ((regs->cs & 3) == 0 && + kernel_math_error(regs, "simd math error")) + return; + /* * Save the info for the exception handler and clear the error. */ @@ -804,12 +830,6 @@ static inline void simd_math_error(void __user *rip) force_sig_info(SIGFPE, &info, task); } -asmlinkage void do_simd_coprocessor_error(struct pt_regs * regs) -{ - conditional_sti(regs); - simd_math_error((void __user *)regs->rip); -} - asmlinkage void do_spurious_interrupt_bug(struct pt_regs * regs) { } @@ -880,3 +900,11 @@ static int __init oops_dummy(char *s) return -1; } __setup("oops=", oops_dummy); + +static int __init kstack_setup(char *s) +{ + kstack_depth_to_print = simple_strtoul(s,NULL,0); + return 0; +} +__setup("kstack=", kstack_setup); + diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S index 21383547b..f656f197b 100644 --- a/arch/x86_64/kernel/vmlinux.lds.S +++ b/arch/x86_64/kernel/vmlinux.lds.S @@ -16,6 +16,7 @@ SECTIONS .text : { *(.text) SCHED_TEXT + LOCK_TEXT *(.fixup) *(.gnu.warning) } = 0x9090 @@ -91,9 +92,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) diff --git a/arch/x86_64/kernel/x8664_ksyms.c b/arch/x86_64/kernel/x8664_ksyms.c index 1bfb6ae21..6e3acce42 100644 --- a/arch/x86_64/kernel/x8664_ksyms.c +++ b/arch/x86_64/kernel/x8664_ksyms.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include #include @@ -63,10 +62,10 @@ EXPORT_SYMBOL(pm_idle); EXPORT_SYMBOL(pm_power_off); EXPORT_SYMBOL(get_cmos_time); -EXPORT_SYMBOL_NOVERS(__down_failed); -EXPORT_SYMBOL_NOVERS(__down_failed_interruptible); -EXPORT_SYMBOL_NOVERS(__down_failed_trylock); -EXPORT_SYMBOL_NOVERS(__up_wakeup); +EXPORT_SYMBOL(__down_failed); +EXPORT_SYMBOL(__down_failed_interruptible); +EXPORT_SYMBOL(__down_failed_trylock); +EXPORT_SYMBOL(__up_wakeup); /* Networking helper routines. */ EXPORT_SYMBOL(csum_partial_copy_nocheck); EXPORT_SYMBOL(ip_compute_csum); @@ -76,14 +75,14 @@ EXPORT_SYMBOL(__ndelay); EXPORT_SYMBOL(__delay); EXPORT_SYMBOL(__const_udelay); -EXPORT_SYMBOL_NOVERS(__get_user_1); -EXPORT_SYMBOL_NOVERS(__get_user_2); -EXPORT_SYMBOL_NOVERS(__get_user_4); -EXPORT_SYMBOL_NOVERS(__get_user_8); -EXPORT_SYMBOL_NOVERS(__put_user_1); -EXPORT_SYMBOL_NOVERS(__put_user_2); -EXPORT_SYMBOL_NOVERS(__put_user_4); -EXPORT_SYMBOL_NOVERS(__put_user_8); +EXPORT_SYMBOL(__get_user_1); +EXPORT_SYMBOL(__get_user_2); +EXPORT_SYMBOL(__get_user_4); +EXPORT_SYMBOL(__get_user_8); +EXPORT_SYMBOL(__put_user_1); +EXPORT_SYMBOL(__put_user_2); +EXPORT_SYMBOL(__put_user_4); +EXPORT_SYMBOL(__put_user_8); EXPORT_SYMBOL(strpbrk); EXPORT_SYMBOL(strstr); @@ -108,18 +107,15 @@ EXPORT_SYMBOL(pcibios_penalize_isa_irq); EXPORT_SYMBOL(pci_mem_start); #endif -#ifdef CONFIG_X86_USE_3DNOW -EXPORT_SYMBOL(_mmx_memcpy); -EXPORT_SYMBOL(mmx_clear_page); -EXPORT_SYMBOL(mmx_copy_page); -#endif +EXPORT_SYMBOL(copy_page); +EXPORT_SYMBOL(clear_page); EXPORT_SYMBOL(cpu_pda); #ifdef CONFIG_SMP EXPORT_SYMBOL(cpu_data); EXPORT_SYMBOL(cpu_online_map); -EXPORT_SYMBOL_NOVERS(__write_lock_failed); -EXPORT_SYMBOL_NOVERS(__read_lock_failed); +EXPORT_SYMBOL(__write_lock_failed); +EXPORT_SYMBOL(__read_lock_failed); EXPORT_SYMBOL(synchronize_irq); EXPORT_SYMBOL(smp_call_function); @@ -164,23 +160,35 @@ extern void * __memcpy(void *,const void *,__kernel_size_t); extern char * strcat(char *, const char *); extern int memcmp(const void * cs,const void * ct,size_t count); -EXPORT_SYMBOL_NOVERS(memset); -EXPORT_SYMBOL_NOVERS(strlen); -EXPORT_SYMBOL_NOVERS(memmove); -EXPORT_SYMBOL_NOVERS(strcpy); -EXPORT_SYMBOL_NOVERS(strncmp); -EXPORT_SYMBOL_NOVERS(strncpy); -EXPORT_SYMBOL_NOVERS(strchr); -EXPORT_SYMBOL_NOVERS(strcmp); -EXPORT_SYMBOL_NOVERS(strcat); -EXPORT_SYMBOL_NOVERS(strncat); -EXPORT_SYMBOL_NOVERS(memchr); -EXPORT_SYMBOL_NOVERS(strrchr); -EXPORT_SYMBOL_NOVERS(strnlen); -EXPORT_SYMBOL_NOVERS(memscan); -EXPORT_SYMBOL_NOVERS(memcpy); -EXPORT_SYMBOL_NOVERS(__memcpy); -EXPORT_SYMBOL_NOVERS(memcmp); +EXPORT_SYMBOL(memset); +EXPORT_SYMBOL(strlen); +EXPORT_SYMBOL(memmove); +EXPORT_SYMBOL(strcpy); +EXPORT_SYMBOL(strncmp); +EXPORT_SYMBOL(strncpy); +EXPORT_SYMBOL(strchr); +EXPORT_SYMBOL(strcmp); +EXPORT_SYMBOL(strcat); +EXPORT_SYMBOL(strncat); +EXPORT_SYMBOL(memchr); +EXPORT_SYMBOL(strrchr); +EXPORT_SYMBOL(strnlen); +EXPORT_SYMBOL(memscan); +EXPORT_SYMBOL(memcpy); +EXPORT_SYMBOL(__memcpy); +EXPORT_SYMBOL(memcmp); + +#ifdef CONFIG_RWSEM_XCHGADD_ALGORITHM +/* prototypes are wrong, these are assembly with custom calling functions */ +extern void rwsem_down_read_failed_thunk(void); +extern void rwsem_wake_thunk(void); +extern void rwsem_downgrade_thunk(void); +extern void rwsem_down_write_failed_thunk(void); +EXPORT_SYMBOL(rwsem_down_read_failed_thunk); +EXPORT_SYMBOL(rwsem_wake_thunk); +EXPORT_SYMBOL(rwsem_downgrade_thunk); +EXPORT_SYMBOL(rwsem_down_write_failed_thunk); +#endif EXPORT_SYMBOL(empty_zero_page); @@ -196,7 +204,7 @@ EXPORT_SYMBOL(smp_num_siblings); #endif extern void do_softirq_thunk(void); -EXPORT_SYMBOL_NOVERS(do_softirq_thunk); +EXPORT_SYMBOL(do_softirq_thunk); void out_of_line_bug(void); EXPORT_SYMBOL(out_of_line_bug); @@ -206,10 +214,9 @@ EXPORT_SYMBOL(init_level4_pgt); extern unsigned long __supported_pte_mask; EXPORT_SYMBOL(__supported_pte_mask); -EXPORT_SYMBOL(clear_page); - #ifdef CONFIG_SMP EXPORT_SYMBOL(flush_tlb_page); EXPORT_SYMBOL_GPL(flush_tlb_all); #endif +EXPORT_SYMBOL(cpu_khz); diff --git a/arch/x86_64/lib/Makefile b/arch/x86_64/lib/Makefile index 32b206440..6b26a1c1e 100644 --- a/arch/x86_64/lib/Makefile +++ b/arch/x86_64/lib/Makefile @@ -8,7 +8,7 @@ obj-y := io.o lib-y := csum-partial.o csum-copy.o csum-wrappers.o delay.o \ usercopy.o getuser.o putuser.o \ - thunk.o clear_page.o copy_page.o bitstr.o + thunk.o clear_page.o copy_page.o bitstr.o bitops.o lib-y += memcpy.o memmove.o memset.o copy_user.o lib-$(CONFIG_HAVE_DEC_LOCK) += dec_and_lock.o diff --git a/arch/x86_64/lib/copy_user.S b/arch/x86_64/lib/copy_user.S index 6859a7809..bd556c804 100644 --- a/arch/x86_64/lib/copy_user.S +++ b/arch/x86_64/lib/copy_user.S @@ -73,7 +73,7 @@ bad_to_user: * rdx count * * Output: - * eax uncopied bytes or 0 if successfull. + * eax uncopied bytes or 0 if successful. */ .globl copy_user_generic .p2align 4 @@ -179,9 +179,9 @@ copy_user_generic: movl $8,%r9d subl %ecx,%r9d movl %r9d,%ecx - subq %r9,%rdx - jz .Lsmall_align - js .Lsmall_align + cmpq %r9,%rdx + jz .Lhandle_7 + js .Lhandle_7 .Lalign_1: .Ls11: movb (%rsi),%bl .Ld11: movb %bl,(%rdi) @@ -189,10 +189,8 @@ copy_user_generic: incq %rdi decl %ecx jnz .Lalign_1 + subq %r9,%rdx jmp .Lafter_bad_alignment -.Lsmall_align: - addq %r9,%rdx - jmp .Lhandle_7 #endif /* table sorted by exception address */ @@ -219,8 +217,8 @@ copy_user_generic: .quad .Ls10,.Le_byte .quad .Ld10,.Le_byte #ifdef FIX_ALIGNMENT - .quad .Ls11,.Le_byte - .quad .Ld11,.Le_byte + .quad .Ls11,.Lzero_rest + .quad .Ld11,.Lzero_rest #endif .quad .Le5,.Le_zero .previous diff --git a/arch/x86_64/lib/csum-wrappers.c b/arch/x86_64/lib/csum-wrappers.c index c5b166224..18abae985 100644 --- a/arch/x86_64/lib/csum-wrappers.c +++ b/arch/x86_64/lib/csum-wrappers.c @@ -22,6 +22,7 @@ unsigned int csum_partial_copy_from_user(const char __user *src, char *dst, int len, unsigned int isum, int *errp) { + might_sleep(); *errp = 0; if (likely(access_ok(VERIFY_READ,src, len))) { /* Why 6, not 7? To handle odd addresses aligned we @@ -69,6 +70,7 @@ unsigned int csum_partial_copy_to_user(const char *src, char __user *dst, int len, unsigned int isum, int *errp) { + might_sleep(); if (unlikely(!access_ok(VERIFY_WRITE, dst, len))) { *errp = -EFAULT; return 0; diff --git a/arch/x86_64/lib/usercopy.c b/arch/x86_64/lib/usercopy.c index a17c85c5b..db8abba1a 100644 --- a/arch/x86_64/lib/usercopy.c +++ b/arch/x86_64/lib/usercopy.c @@ -14,6 +14,7 @@ #define __do_strncpy_from_user(dst,src,count,res) \ do { \ long __d0, __d1, __d2; \ + might_sleep(); \ __asm__ __volatile__( \ " testq %1,%1\n" \ " jz 2f\n" \ @@ -63,6 +64,7 @@ strncpy_from_user(char *dst, const char __user *src, long count) unsigned long __clear_user(void __user *addr, unsigned long size) { long __d0; + might_sleep(); /* no memory constraint because it doesn't change any memory gcc knows about */ asm volatile( diff --git a/arch/x86_64/mm/fault.c b/arch/x86_64/mm/fault.c index 32a1d0ce9..4e12a56c9 100644 --- a/arch/x86_64/mm/fault.c +++ b/arch/x86_64/mm/fault.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -58,16 +57,17 @@ void bust_spinlocks(int yes) /* Sometimes the CPU reports invalid exceptions on prefetch. Check that here and ignore. Opcode checker based on code by Richard Brunner */ -static int is_prefetch(struct pt_regs *regs, unsigned long addr) +static noinline int is_prefetch(struct pt_regs *regs, unsigned long addr, + unsigned long error_code) { unsigned char *instr = (unsigned char *)(regs->rip); int scan_more = 1; int prefetch = 0; unsigned char *max_instr = instr + 15; - /* Avoid recursive faults for this common case */ - if (regs->rip == addr) - return 0; + /* If it was a exec fault ignore */ + if (error_code & (1<<4)) + return 0; /* Code segments in LDT could have a non zero base. Don't check when that's possible */ @@ -218,6 +218,18 @@ int unhandled_signal(struct task_struct *tsk, int sig) (tsk->sighand->action[sig-1].sa.sa_handler == SIG_DFL); } +static noinline void pgtable_bad(unsigned long address, struct pt_regs *regs, + unsigned long error_code) +{ + oops_begin(); + printk(KERN_ALERT "%s: Corrupted page table at address %lx\n", + current->comm, address); + dump_pagetable(address); + __die("Bad pagetable", regs, error_code); + oops_end(); + do_exit(SIGKILL); +} + int page_fault_trace; int exception_trace = 1; @@ -268,11 +280,32 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) mm = tsk->mm; info.si_code = SEGV_MAPERR; - /* 5 => page not present and from supervisor mode */ - if (unlikely(!(error_code & 5) && - ((address >= VMALLOC_START && address <= VMALLOC_END) || - (address >= MODULES_VADDR && address <= MODULES_END)))) - goto vmalloc_fault; + + /* + * We fault-in kernel-space virtual memory on-demand. The + * 'reference' page table is init_mm.pgd. + * + * NOTE! We MUST NOT take any locks for this case. We may + * be in an interrupt or a critical region, and should + * only copy the information from the master page table, + * nothing more. + * + * This verifies that the fault happens in kernel space + * (error_code & 4) == 0, and that the fault was not a + * protection error (error_code & 1) == 0. + */ + if (unlikely(address >= TASK_SIZE)) { + if (!(error_code & 5)) + goto vmalloc_fault; + /* + * Don't take the mm semaphore here. If we fixup a prefetch + * fault we could otherwise deadlock. + */ + goto bad_area_nosemaphore; + } + + if (unlikely(error_code & (1 << 3))) + goto page_table_corruption; /* * If we're in an interrupt or have no user @@ -282,7 +315,27 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) goto bad_area_nosemaphore; again: - down_read(&mm->mmap_sem); + /* When running in the kernel we expect faults to occur only to + * addresses in user space. All other faults represent errors in the + * kernel and should generate an OOPS. Unfortunatly, in the case of an + * erroneous fault occuring in a code path which already holds mmap_sem + * we will deadlock attempting to validate the fault against the + * address space. Luckily the kernel only validly references user + * space from well defined areas of code, which are listed in the + * exceptions table. + * + * As the vast majority of faults will be valid we will only perform + * the source reference check when there is a possibilty of a deadlock. + * Attempt to lock the address space, if we cannot we then validate the + * source. If this is invalid we can skip the address space check, + * thus avoiding the deadlock. + */ + if (!down_read_trylock(&mm->mmap_sem)) { + if ((error_code & 4) == 0 && + !search_exception_tables(regs->rip)) + goto bad_area_nosemaphore; + down_read(&mm->mmap_sem); + } vma = find_vma(mm, address); if (!vma) @@ -351,18 +404,18 @@ bad_area: bad_area_nosemaphore: #ifdef CONFIG_IA32_EMULATION - /* 32bit vsyscall. map on demand. */ - if (test_thread_flag(TIF_IA32) && + /* 32bit vsyscall. map on demand. */ + if (test_thread_flag(TIF_IA32) && address >= 0xffffe000 && address < 0xffffe000 + PAGE_SIZE) { - if (map_syscall32(mm, address) < 0) - goto out_of_memory2; - return; - } + if (map_syscall32(mm, address) < 0) + goto out_of_memory2; + return; + } #endif /* User mode accesses just cause a SIGSEGV */ if (error_code & 4) { - if (is_prefetch(regs, address)) + if (is_prefetch(regs, address, error_code)) return; /* Work around K8 erratum #100 K8 in compat mode @@ -376,7 +429,7 @@ bad_area_nosemaphore: return; if (exception_trace && unhandled_signal(tsk, SIGSEGV)) { - printk(KERN_INFO + printk(KERN_INFO "%s[%d]: segfault at %016lx rip %016lx rsp %016lx error %lx\n", tsk->comm, tsk->pid, address, regs->rip, regs->rsp, error_code); @@ -407,7 +460,7 @@ no_context: * Hall of shame of CPU/BIOS bugs. */ - if (is_prefetch(regs, address)) + if (is_prefetch(regs, address, error_code)) return; if (is_errata93(regs, address)) @@ -481,10 +534,8 @@ vmalloc_fault: * is really there and when yes flush the local TLB. */ pgd = pgd_offset_k(address); - if (pgd != current_pgd_offset_k(address)) - BUG(); if (!pgd_present(*pgd)) - goto bad_area_nosemaphore; + goto bad_area_nosemaphore; pmd = pmd_offset(pgd, address); if (!pmd_present(*pmd)) goto bad_area_nosemaphore; @@ -495,4 +546,7 @@ vmalloc_fault: __flush_tlb_all(); return; } + +page_table_corruption: + pgtable_bad(address, regs, error_code); } diff --git a/arch/x86_64/mm/init.c b/arch/x86_64/mm/init.c index a51772d77..e0a4f1f0b 100644 --- a/arch/x86_64/mm/init.c +++ b/arch/x86_64/mm/init.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include @@ -41,6 +42,10 @@ #define Dprintk(x...) #endif +#ifdef CONFIG_GART_IOMMU +extern int swiotlb; +#endif + extern char _stext[]; DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); @@ -396,6 +401,8 @@ static inline int page_is_ram (unsigned long pagenr) return 0; } +extern int swiotlb_force; + /* * devmem_is_allowed() checks to see if /dev/mem access to a certain address is * valid. The argument is a physical page number. @@ -416,6 +423,8 @@ int devmem_is_allowed(unsigned long pagenr) } +EXPORT_SYMBOL_GPL(page_is_ram); + static struct kcore_list kcore_mem, kcore_vmalloc, kcore_kernel, kcore_modules, kcore_vsyscall; @@ -425,7 +434,8 @@ void __init mem_init(void) int tmp; #ifdef CONFIG_SWIOTLB - if (!iommu_aperture && end_pfn >= 0xffffffff>>PAGE_SHIFT) + if (!iommu_aperture && + (end_pfn >= 0xffffffff>>PAGE_SHIFT || force_iommu)) swiotlb = 1; if (swiotlb) swiotlb_init(); @@ -616,7 +626,16 @@ static struct vm_area_struct gate32_vma = { struct vm_area_struct *get_gate_vma(struct task_struct *tsk) { - return test_tsk_thread_flag(tsk, TIF_IA32) ? &gate32_vma : &gate_vma; +#ifdef CONFIG_IA32_EMULATION + if (test_tsk_thread_flag(tsk, TIF_IA32)) { + /* lookup code assumes the pages are present. set them up + now */ + if (__map_syscall32(tsk->mm, 0xfffe000) < 0) + return NULL; + return &gate32_vma; + } +#endif + return &gate_vma; } int in_gate_area(struct task_struct *task, unsigned long addr) diff --git a/arch/x86_64/mm/ioremap.c b/arch/x86_64/mm/ioremap.c index 0cc4a612f..9fc032b99 100644 --- a/arch/x86_64/mm/ioremap.c +++ b/arch/x86_64/mm/ioremap.c @@ -111,7 +111,7 @@ static int remap_area_pages(unsigned long address, unsigned long phys_addr, * have to convert them into an offset in a page-aligned mapping, but the * caller shouldn't need to know that small detail. */ -void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) +void __iomem * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) { void * addr; struct vm_struct * area; @@ -126,7 +126,7 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag * Don't remap the low PCI/ISA area, it's always mapped.. */ if (phys_addr >= 0xA0000 && last_addr < 0x100000) - return phys_to_virt(phys_addr); + return (__force void __iomem *)phys_to_virt(phys_addr); /* * Don't allow anybody to remap normal RAM that we're using.. @@ -164,7 +164,7 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag vunmap(addr); return NULL; } - return (void *) (offset + (char *)addr); + return (__force void __iomem *) (offset + (char *)addr); } /** @@ -189,9 +189,9 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag * Must be freed with iounmap. */ -void *ioremap_nocache (unsigned long phys_addr, unsigned long size) +void __iomem *ioremap_nocache (unsigned long phys_addr, unsigned long size) { - void *p = __ioremap(phys_addr, size, _PAGE_PCD); + void __iomem *p = __ioremap(phys_addr, size, _PAGE_PCD); if (!p) return p; @@ -212,7 +212,7 @@ void *ioremap_nocache (unsigned long phys_addr, unsigned long size) return p; } -void iounmap(void *addr) +void iounmap(void __iomem *addr) { struct vm_struct *p; if (addr <= high_memory) diff --git a/arch/x86_64/mm/numa.c b/arch/x86_64/mm/numa.c index 598a35c19..e6746a26b 100644 --- a/arch/x86_64/mm/numa.c +++ b/arch/x86_64/mm/numa.c @@ -135,7 +135,7 @@ void __init setup_node_zones(int nodeid) zones[ZONE_NORMAL] = end_pfn - start_pfn; } - free_area_init_node(nodeid, NODE_DATA(nodeid), NULL, zones, + free_area_init_node(nodeid, NODE_DATA(nodeid), zones, start_pfn, NULL); } @@ -162,10 +162,58 @@ void __init numa_init_array(void) set_bit(0, &node_to_cpumask[cpu_to_node(0)]); } +int numa_fake __initdata = 0; + +/* Numa emulation */ +static int numa_emulation(unsigned long start_pfn, unsigned long end_pfn) +{ + int i; + struct node nodes[MAXNODE]; + unsigned long sz = ((end_pfn - start_pfn)< 1) { + unsigned long x = 1; + while ((x << 1) < sz) + x <<= 1; + if (x < sz/2) + printk("Numa emulation unbalanced. Complain to maintainer\n"); + sz = x; + } + + memset(&nodes,0,sizeof(nodes)); + for (i = 0; i < numa_fake; i++) { + nodes[i].start = (start_pfn<> 20); + } + numnodes = numa_fake; + memnode_shift = compute_hash_shift(nodes); + if (memnode_shift < 0) { + memnode_shift = 0; + printk(KERN_ERR "No NUMA hash function found. Emulation disabled.\n"); + return -1; + } + for (i = 0; i < numa_fake; i++) + setup_node_bootmem(i, nodes[i].start, nodes[i].end); + numa_init_array(); + return 0; +} + void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn) { int i; + if (numa_fake && !numa_emulation(start_pfn, end_pfn)) + return; + #ifdef CONFIG_K8_NUMA if (!numa_off && !k8_scan_nodes(start_pfn<__crt_alg; + int size = sizeof(*tfm) + alg->cra_ctxsize; + crypto_exit_ops(tfm); - crypto_alg_put(tfm->__crt_alg); + crypto_alg_put(alg); + memset(tfm, 0, size); kfree(tfm); } diff --git a/crypto/sha1.c b/crypto/sha1.c index 012d872d4..042eab7cb 100644 --- a/crypto/sha1.c +++ b/crypto/sha1.c @@ -128,7 +128,8 @@ static void sha1_update(void *ctx, const u8 *data, unsigned int len) memcpy(&sctx->buffer[j], data, (i = 64-j)); sha1_transform(sctx->state, sctx->buffer); for ( ; i + 63 < len; i += 64) { - sha1_transform(sctx->state, &data[i]); + memcpy(sctx->buffer, &data[i], 64); + sha1_transform(sctx->state, sctx->buffer); } j = 0; } diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index f1e631b9c..c23d5ee69 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c @@ -24,6 +24,7 @@ #include #include #include +#include #include "tcrypt.h" /* @@ -61,7 +62,8 @@ static char *tvmem; static char *check[] = { "des", "md5", "des3_ede", "rot13", "sha1", "sha256", "blowfish", "twofish", "serpent", "sha384", "sha512", "md4", "aes", "cast6", - "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea", NULL + "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea", + "wp512", "wp384", "wp256", NULL }; static void @@ -680,6 +682,9 @@ do_test(void) test_hash("sha384", sha384_tv_template, SHA384_TEST_VECTORS); test_hash("sha512", sha512_tv_template, SHA512_TEST_VECTORS); + test_hash("wp512", wp512_tv_template, WP512_TEST_VECTORS); + test_hash("wp384", wp384_tv_template, WP384_TEST_VECTORS); + test_hash("wp256", wp256_tv_template, WP256_TEST_VECTORS); test_deflate(); test_crc32c(); #ifdef CONFIG_CRYPTO_HMAC @@ -791,6 +796,19 @@ do_test(void) test_cipher ("khazad", MODE_ECB, DECRYPT, khazad_dec_tv_template, KHAZAD_DEC_TEST_VECTORS); break; + case 22: + test_hash("wp512", wp512_tv_template, WP512_TEST_VECTORS); + break; + + case 23: + test_hash("wp384", wp384_tv_template, WP384_TEST_VECTORS); + break; + + case 24: + test_hash("wp256", wp256_tv_template, WP256_TEST_VECTORS); + break; + + #ifdef CONFIG_CRYPTO_HMAC case 100: test_hmac("md5", hmac_md5_tv_template, HMAC_MD5_TEST_VECTORS); @@ -846,7 +864,7 @@ static void __exit fini(void) { } module_init(init); module_exit(fini); -MODULE_PARM(mode, "i"); +module_param(mode, int, 0); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("Quick & dirty crypto testing module"); diff --git a/crypto/tcrypt.h b/crypto/tcrypt.h index 56a825d65..18370befc 100644 --- a/crypto/tcrypt.h +++ b/crypto/tcrypt.h @@ -301,6 +301,259 @@ struct hash_testvec sha512_tv_template[] = { }, }; + +/* + * WHIRLPOOL test vectors from Whirlpool package + * by Vincent Rijmen and Paulo S. L. M. Barreto as part of the NESSIE + * submission + */ +#define WP512_TEST_VECTORS 8 + +struct hash_testvec wp512_tv_template[] = { + { + .plaintext = "", + .psize = 0, + .digest = { 0x19, 0xFA, 0x61, 0xD7, 0x55, 0x22, 0xA4, 0x66, + 0x9B, 0x44, 0xE3, 0x9C, 0x1D, 0x2E, 0x17, 0x26, + 0xC5, 0x30, 0x23, 0x21, 0x30, 0xD4, 0x07, 0xF8, + 0x9A, 0xFE, 0xE0, 0x96, 0x49, 0x97, 0xF7, 0xA7, + 0x3E, 0x83, 0xBE, 0x69, 0x8B, 0x28, 0x8F, 0xEB, + 0xCF, 0x88, 0xE3, 0xE0, 0x3C, 0x4F, 0x07, 0x57, + 0xEA, 0x89, 0x64, 0xE5, 0x9B, 0x63, 0xD9, 0x37, + 0x08, 0xB1, 0x38, 0xCC, 0x42, 0xA6, 0x6E, 0xB3 }, + + + }, { + .plaintext = "a", + .psize = 1, + .digest = { 0x8A, 0xCA, 0x26, 0x02, 0x79, 0x2A, 0xEC, 0x6F, + 0x11, 0xA6, 0x72, 0x06, 0x53, 0x1F, 0xB7, 0xD7, + 0xF0, 0xDF, 0xF5, 0x94, 0x13, 0x14, 0x5E, 0x69, + 0x73, 0xC4, 0x50, 0x01, 0xD0, 0x08, 0x7B, 0x42, + 0xD1, 0x1B, 0xC6, 0x45, 0x41, 0x3A, 0xEF, 0xF6, + 0x3A, 0x42, 0x39, 0x1A, 0x39, 0x14, 0x5A, 0x59, + 0x1A, 0x92, 0x20, 0x0D, 0x56, 0x01, 0x95, 0xE5, + 0x3B, 0x47, 0x85, 0x84, 0xFD, 0xAE, 0x23, 0x1A }, + }, { + .plaintext = "abc", + .psize = 3, + .digest = { 0x4E, 0x24, 0x48, 0xA4, 0xC6, 0xF4, 0x86, 0xBB, + 0x16, 0xB6, 0x56, 0x2C, 0x73, 0xB4, 0x02, 0x0B, + 0xF3, 0x04, 0x3E, 0x3A, 0x73, 0x1B, 0xCE, 0x72, + 0x1A, 0xE1, 0xB3, 0x03, 0xD9, 0x7E, 0x6D, 0x4C, + 0x71, 0x81, 0xEE, 0xBD, 0xB6, 0xC5, 0x7E, 0x27, + 0x7D, 0x0E, 0x34, 0x95, 0x71, 0x14, 0xCB, 0xD6, + 0xC7, 0x97, 0xFC, 0x9D, 0x95, 0xD8, 0xB5, 0x82, + 0xD2, 0x25, 0x29, 0x20, 0x76, 0xD4, 0xEE, 0xF5 }, + }, { + .plaintext = "message digest", + .psize = 14, + .digest = { 0x37, 0x8C, 0x84, 0xA4, 0x12, 0x6E, 0x2D, 0xC6, + 0xE5, 0x6D, 0xCC, 0x74, 0x58, 0x37, 0x7A, 0xAC, + 0x83, 0x8D, 0x00, 0x03, 0x22, 0x30, 0xF5, 0x3C, + 0xE1, 0xF5, 0x70, 0x0C, 0x0F, 0xFB, 0x4D, 0x3B, + 0x84, 0x21, 0x55, 0x76, 0x59, 0xEF, 0x55, 0xC1, + 0x06, 0xB4, 0xB5, 0x2A, 0xC5, 0xA4, 0xAA, 0xA6, + 0x92, 0xED, 0x92, 0x00, 0x52, 0x83, 0x8F, 0x33, + 0x62, 0xE8, 0x6D, 0xBD, 0x37, 0xA8, 0x90, 0x3E }, + }, { + .plaintext = "abcdefghijklmnopqrstuvwxyz", + .psize = 26, + .digest = { 0xF1, 0xD7, 0x54, 0x66, 0x26, 0x36, 0xFF, 0xE9, + 0x2C, 0x82, 0xEB, 0xB9, 0x21, 0x2A, 0x48, 0x4A, + 0x8D, 0x38, 0x63, 0x1E, 0xAD, 0x42, 0x38, 0xF5, + 0x44, 0x2E, 0xE1, 0x3B, 0x80, 0x54, 0xE4, 0x1B, + 0x08, 0xBF, 0x2A, 0x92, 0x51, 0xC3, 0x0B, 0x6A, + 0x0B, 0x8A, 0xAE, 0x86, 0x17, 0x7A, 0xB4, 0xA6, + 0xF6, 0x8F, 0x67, 0x3E, 0x72, 0x07, 0x86, 0x5D, + 0x5D, 0x98, 0x19, 0xA3, 0xDB, 0xA4, 0xEB, 0x3B }, + }, { + .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz0123456789", + .psize = 62, + .digest = { 0xDC, 0x37, 0xE0, 0x08, 0xCF, 0x9E, 0xE6, 0x9B, + 0xF1, 0x1F, 0x00, 0xED, 0x9A, 0xBA, 0x26, 0x90, + 0x1D, 0xD7, 0xC2, 0x8C, 0xDE, 0xC0, 0x66, 0xCC, + 0x6A, 0xF4, 0x2E, 0x40, 0xF8, 0x2F, 0x3A, 0x1E, + 0x08, 0xEB, 0xA2, 0x66, 0x29, 0x12, 0x9D, 0x8F, + 0xB7, 0xCB, 0x57, 0x21, 0x1B, 0x92, 0x81, 0xA6, + 0x55, 0x17, 0xCC, 0x87, 0x9D, 0x7B, 0x96, 0x21, + 0x42, 0xC6, 0x5F, 0x5A, 0x7A, 0xF0, 0x14, 0x67 }, + }, { + .plaintext = "1234567890123456789012345678901234567890" + "1234567890123456789012345678901234567890", + .psize = 80, + .digest = { 0x46, 0x6E, 0xF1, 0x8B, 0xAB, 0xB0, 0x15, 0x4D, + 0x25, 0xB9, 0xD3, 0x8A, 0x64, 0x14, 0xF5, 0xC0, + 0x87, 0x84, 0x37, 0x2B, 0xCC, 0xB2, 0x04, 0xD6, + 0x54, 0x9C, 0x4A, 0xFA, 0xDB, 0x60, 0x14, 0x29, + 0x4D, 0x5B, 0xD8, 0xDF, 0x2A, 0x6C, 0x44, 0xE5, + 0x38, 0xCD, 0x04, 0x7B, 0x26, 0x81, 0xA5, 0x1A, + 0x2C, 0x60, 0x48, 0x1E, 0x88, 0xC5, 0xA2, 0x0B, + 0x2C, 0x2A, 0x80, 0xCF, 0x3A, 0x9A, 0x08, 0x3B }, + }, { + .plaintext = "abcdbcdecdefdefgefghfghighijhijk", + .psize = 32, + .digest = { 0x2A, 0x98, 0x7E, 0xA4, 0x0F, 0x91, 0x70, 0x61, + 0xF5, 0xD6, 0xF0, 0xA0, 0xE4, 0x64, 0x4F, 0x48, + 0x8A, 0x7A, 0x5A, 0x52, 0xDE, 0xEE, 0x65, 0x62, + 0x07, 0xC5, 0x62, 0xF9, 0x88, 0xE9, 0x5C, 0x69, + 0x16, 0xBD, 0xC8, 0x03, 0x1B, 0xC5, 0xBE, 0x1B, + 0x7B, 0x94, 0x76, 0x39, 0xFE, 0x05, 0x0B, 0x56, + 0x93, 0x9B, 0xAA, 0xA0, 0xAD, 0xFF, 0x9A, 0xE6, + 0x74, 0x5B, 0x7B, 0x18, 0x1C, 0x3B, 0xE3, 0xFD }, + }, +}; + +#define WP384_TEST_VECTORS 8 + +struct hash_testvec wp384_tv_template[] = { + { + .plaintext = "", + .psize = 0, + .digest = { 0x19, 0xFA, 0x61, 0xD7, 0x55, 0x22, 0xA4, 0x66, + 0x9B, 0x44, 0xE3, 0x9C, 0x1D, 0x2E, 0x17, 0x26, + 0xC5, 0x30, 0x23, 0x21, 0x30, 0xD4, 0x07, 0xF8, + 0x9A, 0xFE, 0xE0, 0x96, 0x49, 0x97, 0xF7, 0xA7, + 0x3E, 0x83, 0xBE, 0x69, 0x8B, 0x28, 0x8F, 0xEB, + 0xCF, 0x88, 0xE3, 0xE0, 0x3C, 0x4F, 0x07, 0x57 }, + + + }, { + .plaintext = "a", + .psize = 1, + .digest = { 0x8A, 0xCA, 0x26, 0x02, 0x79, 0x2A, 0xEC, 0x6F, + 0x11, 0xA6, 0x72, 0x06, 0x53, 0x1F, 0xB7, 0xD7, + 0xF0, 0xDF, 0xF5, 0x94, 0x13, 0x14, 0x5E, 0x69, + 0x73, 0xC4, 0x50, 0x01, 0xD0, 0x08, 0x7B, 0x42, + 0xD1, 0x1B, 0xC6, 0x45, 0x41, 0x3A, 0xEF, 0xF6, + 0x3A, 0x42, 0x39, 0x1A, 0x39, 0x14, 0x5A, 0x59 }, + }, { + .plaintext = "abc", + .psize = 3, + .digest = { 0x4E, 0x24, 0x48, 0xA4, 0xC6, 0xF4, 0x86, 0xBB, + 0x16, 0xB6, 0x56, 0x2C, 0x73, 0xB4, 0x02, 0x0B, + 0xF3, 0x04, 0x3E, 0x3A, 0x73, 0x1B, 0xCE, 0x72, + 0x1A, 0xE1, 0xB3, 0x03, 0xD9, 0x7E, 0x6D, 0x4C, + 0x71, 0x81, 0xEE, 0xBD, 0xB6, 0xC5, 0x7E, 0x27, + 0x7D, 0x0E, 0x34, 0x95, 0x71, 0x14, 0xCB, 0xD6 }, + }, { + .plaintext = "message digest", + .psize = 14, + .digest = { 0x37, 0x8C, 0x84, 0xA4, 0x12, 0x6E, 0x2D, 0xC6, + 0xE5, 0x6D, 0xCC, 0x74, 0x58, 0x37, 0x7A, 0xAC, + 0x83, 0x8D, 0x00, 0x03, 0x22, 0x30, 0xF5, 0x3C, + 0xE1, 0xF5, 0x70, 0x0C, 0x0F, 0xFB, 0x4D, 0x3B, + 0x84, 0x21, 0x55, 0x76, 0x59, 0xEF, 0x55, 0xC1, + 0x06, 0xB4, 0xB5, 0x2A, 0xC5, 0xA4, 0xAA, 0xA6 }, + }, { + .plaintext = "abcdefghijklmnopqrstuvwxyz", + .psize = 26, + .digest = { 0xF1, 0xD7, 0x54, 0x66, 0x26, 0x36, 0xFF, 0xE9, + 0x2C, 0x82, 0xEB, 0xB9, 0x21, 0x2A, 0x48, 0x4A, + 0x8D, 0x38, 0x63, 0x1E, 0xAD, 0x42, 0x38, 0xF5, + 0x44, 0x2E, 0xE1, 0x3B, 0x80, 0x54, 0xE4, 0x1B, + 0x08, 0xBF, 0x2A, 0x92, 0x51, 0xC3, 0x0B, 0x6A, + 0x0B, 0x8A, 0xAE, 0x86, 0x17, 0x7A, 0xB4, 0xA6 }, + }, { + .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz0123456789", + .psize = 62, + .digest = { 0xDC, 0x37, 0xE0, 0x08, 0xCF, 0x9E, 0xE6, 0x9B, + 0xF1, 0x1F, 0x00, 0xED, 0x9A, 0xBA, 0x26, 0x90, + 0x1D, 0xD7, 0xC2, 0x8C, 0xDE, 0xC0, 0x66, 0xCC, + 0x6A, 0xF4, 0x2E, 0x40, 0xF8, 0x2F, 0x3A, 0x1E, + 0x08, 0xEB, 0xA2, 0x66, 0x29, 0x12, 0x9D, 0x8F, + 0xB7, 0xCB, 0x57, 0x21, 0x1B, 0x92, 0x81, 0xA6 }, + }, { + .plaintext = "1234567890123456789012345678901234567890" + "1234567890123456789012345678901234567890", + .psize = 80, + .digest = { 0x46, 0x6E, 0xF1, 0x8B, 0xAB, 0xB0, 0x15, 0x4D, + 0x25, 0xB9, 0xD3, 0x8A, 0x64, 0x14, 0xF5, 0xC0, + 0x87, 0x84, 0x37, 0x2B, 0xCC, 0xB2, 0x04, 0xD6, + 0x54, 0x9C, 0x4A, 0xFA, 0xDB, 0x60, 0x14, 0x29, + 0x4D, 0x5B, 0xD8, 0xDF, 0x2A, 0x6C, 0x44, 0xE5, + 0x38, 0xCD, 0x04, 0x7B, 0x26, 0x81, 0xA5, 0x1A }, + }, { + .plaintext = "abcdbcdecdefdefgefghfghighijhijk", + .psize = 32, + .digest = { 0x2A, 0x98, 0x7E, 0xA4, 0x0F, 0x91, 0x70, 0x61, + 0xF5, 0xD6, 0xF0, 0xA0, 0xE4, 0x64, 0x4F, 0x48, + 0x8A, 0x7A, 0x5A, 0x52, 0xDE, 0xEE, 0x65, 0x62, + 0x07, 0xC5, 0x62, 0xF9, 0x88, 0xE9, 0x5C, 0x69, + 0x16, 0xBD, 0xC8, 0x03, 0x1B, 0xC5, 0xBE, 0x1B, + 0x7B, 0x94, 0x76, 0x39, 0xFE, 0x05, 0x0B, 0x56 }, + }, +}; + +#define WP256_TEST_VECTORS 8 + +struct hash_testvec wp256_tv_template[] = { + { + .plaintext = "", + .psize = 0, + .digest = { 0x19, 0xFA, 0x61, 0xD7, 0x55, 0x22, 0xA4, 0x66, + 0x9B, 0x44, 0xE3, 0x9C, 0x1D, 0x2E, 0x17, 0x26, + 0xC5, 0x30, 0x23, 0x21, 0x30, 0xD4, 0x07, 0xF8, + 0x9A, 0xFE, 0xE0, 0x96, 0x49, 0x97, 0xF7, 0xA7 }, + + + }, { + .plaintext = "a", + .psize = 1, + .digest = { 0x8A, 0xCA, 0x26, 0x02, 0x79, 0x2A, 0xEC, 0x6F, + 0x11, 0xA6, 0x72, 0x06, 0x53, 0x1F, 0xB7, 0xD7, + 0xF0, 0xDF, 0xF5, 0x94, 0x13, 0x14, 0x5E, 0x69, + 0x73, 0xC4, 0x50, 0x01, 0xD0, 0x08, 0x7B, 0x42 }, + }, { + .plaintext = "abc", + .psize = 3, + .digest = { 0x4E, 0x24, 0x48, 0xA4, 0xC6, 0xF4, 0x86, 0xBB, + 0x16, 0xB6, 0x56, 0x2C, 0x73, 0xB4, 0x02, 0x0B, + 0xF3, 0x04, 0x3E, 0x3A, 0x73, 0x1B, 0xCE, 0x72, + 0x1A, 0xE1, 0xB3, 0x03, 0xD9, 0x7E, 0x6D, 0x4C }, + }, { + .plaintext = "message digest", + .psize = 14, + .digest = { 0x37, 0x8C, 0x84, 0xA4, 0x12, 0x6E, 0x2D, 0xC6, + 0xE5, 0x6D, 0xCC, 0x74, 0x58, 0x37, 0x7A, 0xAC, + 0x83, 0x8D, 0x00, 0x03, 0x22, 0x30, 0xF5, 0x3C, + 0xE1, 0xF5, 0x70, 0x0C, 0x0F, 0xFB, 0x4D, 0x3B }, + }, { + .plaintext = "abcdefghijklmnopqrstuvwxyz", + .psize = 26, + .digest = { 0xF1, 0xD7, 0x54, 0x66, 0x26, 0x36, 0xFF, 0xE9, + 0x2C, 0x82, 0xEB, 0xB9, 0x21, 0x2A, 0x48, 0x4A, + 0x8D, 0x38, 0x63, 0x1E, 0xAD, 0x42, 0x38, 0xF5, + 0x44, 0x2E, 0xE1, 0x3B, 0x80, 0x54, 0xE4, 0x1B }, + }, { + .plaintext = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz0123456789", + .psize = 62, + .digest = { 0xDC, 0x37, 0xE0, 0x08, 0xCF, 0x9E, 0xE6, 0x9B, + 0xF1, 0x1F, 0x00, 0xED, 0x9A, 0xBA, 0x26, 0x90, + 0x1D, 0xD7, 0xC2, 0x8C, 0xDE, 0xC0, 0x66, 0xCC, + 0x6A, 0xF4, 0x2E, 0x40, 0xF8, 0x2F, 0x3A, 0x1E }, + }, { + .plaintext = "1234567890123456789012345678901234567890" + "1234567890123456789012345678901234567890", + .psize = 80, + .digest = { 0x46, 0x6E, 0xF1, 0x8B, 0xAB, 0xB0, 0x15, 0x4D, + 0x25, 0xB9, 0xD3, 0x8A, 0x64, 0x14, 0xF5, 0xC0, + 0x87, 0x84, 0x37, 0x2B, 0xCC, 0xB2, 0x04, 0xD6, + 0x54, 0x9C, 0x4A, 0xFA, 0xDB, 0x60, 0x14, 0x29 }, + }, { + .plaintext = "abcdbcdecdefdefgefghfghighijhijk", + .psize = 32, + .digest = { 0x2A, 0x98, 0x7E, 0xA4, 0x0F, 0x91, 0x70, 0x61, + 0xF5, 0xD6, 0xF0, 0xA0, 0xE4, 0x64, 0x4F, 0x48, + 0x8A, 0x7A, 0x5A, 0x52, 0xDE, 0xEE, 0x65, 0x62, + 0x07, 0xC5, 0x62, 0xF9, 0x88, 0xE9, 0x5C, 0x69 }, + }, +}; + + #ifdef CONFIG_CRYPTO_HMAC /* * HMAC-MD5 test vectors from RFC2202 @@ -1186,7 +1439,7 @@ struct cipher_testvec tf_cbc_dec_tv_template[] = { /* * Serpent test vectors. These are backwards because Serpent writes - * octect sequences in right-to-left mode. + * octet sequences in right-to-left mode. */ #define SERPENT_ENC_TEST_VECTORS 4 #define SERPENT_DEC_TEST_VECTORS 4 diff --git a/crypto/twofish.c b/crypto/twofish.c index 5d6d02c1a..4efff8cf9 100644 --- a/crypto/twofish.c +++ b/crypto/twofish.c @@ -1,7 +1,7 @@ /* * Twofish for CryptoAPI * - * Originaly Twofish for GPG + * Originally Twofish for GPG * By Matthew Skala , July 26, 1998 * 256-bit key length added March 20, 1999 * Some modifications to reduce the text size by Werner Koch, April, 1998 @@ -514,7 +514,7 @@ static const u8 calc_sb_tbl[512] = { * preprocessed through q0 and q1 respectively; for longer keys they are the * output of previous stages. j is the index of the first key byte to use. * CALC_K computes a pair of subkeys for 128-bit Twofish, by calling CALC_K_2 - * twice, doing the Psuedo-Hadamard Transform, and doing the necessary + * twice, doing the Pseudo-Hadamard Transform, and doing the necessary * rotations. Its parameters are: a, the array to write the results into, * j, the index of the first output entry, k and l, the preprocessed indices * for index 2i, and m and n, the preprocessed indices for index 2i+1. diff --git a/drivers/Makefile b/drivers/Makefile index d5406c3a0..07092c770 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_PCI) += pci/ obj-$(CONFIG_PARISC) += parisc/ +obj-y += video/ obj-$(CONFIG_ACPI_BOOT) += acpi/ # PnP must come after ACPI since it will eventually need to check if acpi # was used and do nothing if so @@ -15,6 +16,13 @@ obj-$(CONFIG_PNP) += pnp/ # char/ comes before serial/ etc so that the VT console is the boot-time # default. obj-y += char/ + +# i810fb depends on char/agp/ +obj-$(CONFIG_FB_I810) += video/i810/ + +# we also need input/serio early so serio bus is initialized by the time +# serial drivers start registering their serio ports +obj-$(CONFIG_SERIO) += input/serio/ obj-y += serial/ obj-$(CONFIG_PARPORT) += parport/ obj-y += base/ block/ misc/ net/ media/ @@ -26,7 +34,7 @@ obj-$(CONFIG_FC4) += fc4/ obj-$(CONFIG_SCSI) += scsi/ obj-$(CONFIG_FUSION) += message/ obj-$(CONFIG_IEEE1394) += ieee1394/ -obj-y += cdrom/ video/ +obj-y += cdrom/ obj-$(CONFIG_MTD) += mtd/ obj-$(CONFIG_PCMCIA) += pcmcia/ obj-$(CONFIG_DIO) += dio/ @@ -39,7 +47,6 @@ obj-$(CONFIG_USB) += usb/ obj-$(CONFIG_USB_GADGET) += usb/gadget/ obj-$(CONFIG_INPUT) += input/ obj-$(CONFIG_GAMEPORT) += input/gameport/ -obj-$(CONFIG_SERIO) += input/serio/ obj-$(CONFIG_I2O) += message/ obj-$(CONFIG_I2C) += i2c/ obj-$(CONFIG_W1) += w1/ @@ -51,4 +58,5 @@ obj-$(CONFIG_MCA) += mca/ obj-$(CONFIG_EISA) += eisa/ obj-$(CONFIG_CPU_FREQ) += cpufreq/ obj-$(CONFIG_CRASH_DUMP) += dump/ +obj-$(CONFIG_MMC) += mmc/ obj-y += firmware/ diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig index a742764db..96e4fafb0 100644 --- a/drivers/acpi/Kconfig +++ b/drivers/acpi/Kconfig @@ -204,6 +204,32 @@ config ACPI_TOSHIBA If you have a legacy free Toshiba laptop (such as the Libretto L1 series), say Y. +config ACPI_CUSTOM_DSDT + bool "Include Custom DSDT" + depends on X86 && ACPI_INTERPRETER && !STANDALONE + default n + help + Thist option is to load a custom ACPI DSDT + If you don't know what that is, say N. + +config ACPI_CUSTOM_DSDT_FILE + string "Custom DSDT Table file to include" + depends on ACPI_CUSTOM_DSDT + default "" + help + Enter the full path name to the file wich includes the AmlCode declaration. + +config ACPI_BLACKLIST_YEAR + int "Disable ACPI for systems before Jan 1st this year" + default 0 + help + enter a 4-digit year, eg. 2001 to disable ACPI by default + on platforms with DMI BIOS date before January 1st that year. + "acpi=force" can be used to override this mechanism. + + Enter 0 to disable this mechanism and allow ACPI to + run by default no matter what the year. (default) + config ACPI_DEBUG bool "Debug Statements" depends on ACPI_INTERPRETER diff --git a/drivers/acpi/acpi_ksyms.c b/drivers/acpi/acpi_ksyms.c index c918088a4..a267b8b3b 100644 --- a/drivers/acpi/acpi_ksyms.c +++ b/drivers/acpi/acpi_ksyms.c @@ -84,6 +84,8 @@ EXPORT_SYMBOL(acpi_resource_to_address64); EXPORT_SYMBOL(acpi_enable_event); EXPORT_SYMBOL(acpi_disable_event); EXPORT_SYMBOL(acpi_clear_event); +EXPORT_SYMBOL(acpi_set_gpe_type); +EXPORT_SYMBOL(acpi_enable_gpe); EXPORT_SYMBOL(acpi_get_timer_duration); EXPORT_SYMBOL(acpi_get_timer); EXPORT_SYMBOL(acpi_get_sleep_type_data); diff --git a/drivers/acpi/asus_acpi.c b/drivers/acpi/asus_acpi.c index c884d4aaa..f2ca51bef 100644 --- a/drivers/acpi/asus_acpi.c +++ b/drivers/acpi/asus_acpi.c @@ -42,7 +42,7 @@ #include #include -#define ASUS_ACPI_VERSION "0.28" +#define ASUS_ACPI_VERSION "0.29" #define PROC_ASUS "asus" //the directory #define PROC_MLED "mled" @@ -123,14 +123,18 @@ struct asus_hotk { L3C, //L3800C L3D, //L3400D L3H, //L3H, but also L2000E + L4R, //L4500R L5x, //L5800C L8L, //L8400L M1A, //M1300A M2E, //M2400E, L4400L + M6N, //M6800N + M6R, //M6700R P30, //Samsung P30 S1x, //S1300A, but also L1400B and M2400A (L84F) S2x, //S200 (J1 reported), Victor MP-XP7210 - xxN, //M2400N, M3700N, M6800N, S1300N, S5200N (Centrino) + xxN, //M2400N, M3700N, M5200N, S1300N, S5200N, W1OOON + //(Centrino) END_MODEL } model; //Models currently supported u16 event_count[128]; //count for each event TODO make this better @@ -246,6 +250,19 @@ static struct model_data model_conf[END_MODEL] = { .display_get = "\\INFB" }, + { + .name = "L4R", + .mt_mled = "MLED", + .mt_wled = "WLED", + .wled_status = "\\_SB.PCI0.SBRG.SG13", + .mt_lcd_switch = xxN_PREFIX "_Q10", + .lcd_status = "\\_SB.PCI0.SBSM.SEO4", + .brightness_set = "SPLV", + .brightness_get = "GPLV", + .display_set = "SDSP", + .display_get = "\\_SB.PCI0.P0P1.VGA.GETD" + }, + { .name = "L5x", .mt_mled = "MLED", @@ -288,6 +305,31 @@ static struct model_data model_conf[END_MODEL] = { .display_get = "\\INFB" }, + { + .name = "M6N", + .mt_mled = "MLED", + .mt_wled = "WLED", + .wled_status = "\\_SB.PCI0.SBRG.SG13", + .mt_lcd_switch = xxN_PREFIX "_Q10", + .lcd_status = "\\_SB.BKLT", + .brightness_set = "SPLV", + .brightness_get = "GPLV", + .display_set = "SDSP", + .display_get = "\\SSTE" + }, + { + .name = "M6R", + .mt_mled = "MLED", + .mt_wled = "WLED", + .mt_lcd_switch = xxN_PREFIX "_Q10", + .lcd_status = "\\_SB.PCI0.SBSM.SEO4", + .brightness_set = "SPLV", + .brightness_get = "GPLV", + .display_set = "SDSP", + .display_get = "\\SSTE" + }, + + { .name = "P30", .mt_wled = "WLED", @@ -344,6 +386,9 @@ static struct proc_dir_entry *asus_proc_dir; */ static struct acpi_table_header *asus_info; +/* The actual device the driver binds to */ +static struct asus_hotk *hotk; + /* * The hotkey driver declaration */ @@ -408,7 +453,6 @@ proc_read_info(char *page, char **start, off_t off, int count, int *eof, { int len = 0; int temp; - struct asus_hotk *hotk = (struct asus_hotk *) data; char buf[16]; //enough for all info /* * We use the easy way, we don't care of off and count, so we don't set eof @@ -428,7 +472,7 @@ proc_read_info(char *page, char **start, off_t off, int count, int *eof, len += sprintf(page + len, "SFUN value : 0x%04x\n", temp); /* * Another value for userspace: the ASYM method returns 0x02 for - * battery low and 0x04 for battery critical, it's readings tend to be + * battery low and 0x04 for battery critical, its readings tend to be * more accurate than those provided by _BST. * Note: since not all the laptops provide this method, errors are * silently ignored. @@ -467,7 +511,7 @@ proc_read_info(char *page, char **start, off_t off, int count, int *eof, /* Generic LED functions */ static int -read_led(struct asus_hotk *hotk, const char *ledname, int ledmask) +read_led(const char *ledname, int ledmask) { if (ledname) { int led_status; @@ -498,7 +542,7 @@ static int parse_arg(const char __user *buf, unsigned long count, int *val) /* FIXME: kill extraneous args so it can be called independently */ static int -write_led(const char __user *buffer, unsigned long count, struct asus_hotk *hotk, +write_led(const char __user *buffer, unsigned long count, char *ledname, int ledmask, int invert) { int value; @@ -528,8 +572,7 @@ static int proc_read_mled(char *page, char **start, off_t off, int count, int *eof, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return sprintf(page, "%d\n", read_led(hotk, hotk->methods->mled_status, MLED_ON)); + return sprintf(page, "%d\n", read_led(hotk->methods->mled_status, MLED_ON)); } @@ -537,8 +580,7 @@ static int proc_write_mled(struct file *file, const char __user *buffer, unsigned long count, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return write_led(buffer, count, hotk, hotk->methods->mt_mled, MLED_ON, 1); + return write_led(buffer, count, hotk->methods->mt_mled, MLED_ON, 1); } /* @@ -548,16 +590,14 @@ static int proc_read_wled(char *page, char **start, off_t off, int count, int *eof, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return sprintf(page, "%d\n", read_led(hotk, hotk->methods->wled_status, WLED_ON)); + return sprintf(page, "%d\n", read_led(hotk->methods->wled_status, WLED_ON)); } static int proc_write_wled(struct file *file, const char __user *buffer, unsigned long count, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return write_led(buffer, count, hotk, hotk->methods->mt_wled, WLED_ON, 0); + return write_led(buffer, count, hotk->methods->mt_wled, WLED_ON, 0); } /* @@ -567,21 +607,18 @@ static int proc_read_tled(char *page, char **start, off_t off, int count, int *eof, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return sprintf(page, "%d\n", read_led(hotk, hotk->methods->tled_status, TLED_ON)); + return sprintf(page, "%d\n", read_led(hotk->methods->tled_status, TLED_ON)); } static int proc_write_tled(struct file *file, const char __user *buffer, unsigned long count, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return write_led(buffer, count, hotk, hotk->methods->mt_tled, TLED_ON, 0); + return write_led(buffer, count, hotk->methods->mt_tled, TLED_ON, 0); } - -static int get_lcd_state(struct asus_hotk *hotk) +static int get_lcd_state(void) { int lcd = 0; @@ -622,13 +659,13 @@ static int get_lcd_state(struct asus_hotk *hotk) return (lcd & 1); } -static int set_lcd_state(struct asus_hotk *hotk, int value) +static int set_lcd_state(int value) { int lcd = 0; acpi_status status = 0; lcd = value ? 1 : 0; - if (lcd != get_lcd_state(hotk)) { + if (lcd != get_lcd_state()) { /* switch */ if (hotk->model != L3H) { status = @@ -651,7 +688,7 @@ static int proc_read_lcd(char *page, char **start, off_t off, int count, int *eof, void *data) { - return sprintf(page, "%d\n", get_lcd_state((struct asus_hotk *) data)); + return sprintf(page, "%d\n", get_lcd_state()); } @@ -660,16 +697,15 @@ proc_write_lcd(struct file *file, const char __user *buffer, unsigned long count, void *data) { int value; - struct asus_hotk *hotk = (struct asus_hotk *) data; count = parse_arg(buffer, count, &value); if (count > 0) - set_lcd_state(hotk, value); + set_lcd_state(value); return count; } -static int read_brightness(struct asus_hotk *hotk) +static int read_brightness(void) { int value; @@ -689,7 +725,7 @@ static int read_brightness(struct asus_hotk *hotk) /* * Change the brightness level */ -static void set_brightness(int value, struct asus_hotk *hotk) +static void set_brightness(int value) { acpi_status status = 0; @@ -702,7 +738,7 @@ static void set_brightness(int value, struct asus_hotk *hotk) } /* No SPLV method if we are here, act as appropriate */ - value -= read_brightness(hotk); + value -= read_brightness(); while (value != 0) { status = acpi_evaluate_object(NULL, (value > 0) ? hotk->methods->brightness_up : @@ -719,8 +755,7 @@ static int proc_read_brn(char *page, char **start, off_t off, int count, int *eof, void *data) { - struct asus_hotk *hotk = (struct asus_hotk *) data; - return sprintf(page, "%d\n", read_brightness(hotk)); + return sprintf(page, "%d\n", read_brightness()); } static int @@ -728,13 +763,12 @@ proc_write_brn(struct file *file, const char __user *buffer, unsigned long count, void *data) { int value; - struct asus_hotk *hotk = (struct asus_hotk *) data; count = parse_arg(buffer, count, &value); if (count > 0) { value = (0 < value) ? ((15 < value) ? 15 : value) : 0; /* 0 <= value <= 15 */ - set_brightness(value, hotk); + set_brightness(value); } else if (count < 0) { printk(KERN_WARNING "Asus ACPI: Error reading user input\n"); } @@ -742,7 +776,7 @@ proc_write_brn(struct file *file, const char __user *buffer, return count; } -static void set_display(int value, struct asus_hotk *hotk) +static void set_display(int value) { /* no sanity check needed for now */ if (!write_acpi_int(hotk->handle, hotk->methods->display_set, @@ -760,10 +794,10 @@ proc_read_disp(char *page, char **start, off_t off, int count, int *eof, void *data) { int value = 0; - struct asus_hotk *hotk = (struct asus_hotk *) data; if (!read_acpi_int(hotk->handle, hotk->methods->display_get, &value)) printk(KERN_WARNING "Asus ACPI: Error reading display status\n"); + value &= 0x07; /* needed for some models, shouldn't hurt others */ return sprintf(page, "%d\n", value); } @@ -778,11 +812,10 @@ proc_write_disp(struct file *file, const char __user *buffer, unsigned long count, void *data) { int value; - struct asus_hotk *hotk = (struct asus_hotk *) data; count = parse_arg(buffer, count, &value); if (count > 0) - set_display(value, hotk); + set_display(value); else if (count < 0) printk(KERN_WARNING "Asus ACPI: Error reading user input\n"); @@ -817,7 +850,6 @@ __init asus_proc_add(char *name, proc_writefunc *writefunc, static int __init asus_hotk_add_fs(struct acpi_device *device) { struct proc_dir_entry *proc; - struct asus_hotk *hotk = acpi_driver_data(device); mode_t mode; /* @@ -869,13 +901,12 @@ static int __init asus_hotk_add_fs(struct acpi_device *device) } if ((hotk->methods->brightness_up && hotk->methods->brightness_down) || - (hotk->methods->brightness_get && hotk->methods->brightness_get)) { + (hotk->methods->brightness_get && hotk->methods->brightness_set)) { asus_proc_add(PROC_BRN, &proc_write_brn, &proc_read_brn, mode, device); } if (hotk->methods->display_set) { asus_proc_add(PROC_DISP, &proc_write_disp, &proc_read_disp, mode, device); - } return 0; @@ -883,10 +914,7 @@ static int __init asus_hotk_add_fs(struct acpi_device *device) static int asus_hotk_remove_fs(struct acpi_device* device) { - struct asus_hotk* hotk = acpi_driver_data(device); - - - if(acpi_device_dir(device)){ + if(acpi_device_dir(device)) { remove_proc_entry(PROC_INFO,acpi_device_dir(device)); if (hotk->methods->mt_wled) remove_proc_entry(PROC_WLED,acpi_device_dir(device)); @@ -894,11 +922,12 @@ static int asus_hotk_remove_fs(struct acpi_device* device) remove_proc_entry(PROC_MLED,acpi_device_dir(device)); if (hotk->methods->mt_tled) remove_proc_entry(PROC_TLED,acpi_device_dir(device)); - if (hotk->methods->mt_lcd_switch && hotk->methods->lcd_status) + if (hotk->methods->mt_lcd_switch && hotk->methods->lcd_status) remove_proc_entry(PROC_LCD, acpi_device_dir(device)); - if ((hotk->methods->brightness_up && hotk->methods->brightness_down) || (hotk->methods->brightness_get && hotk->methods->brightness_get)) + if ((hotk->methods->brightness_up && hotk->methods->brightness_down) || + (hotk->methods->brightness_get && hotk->methods->brightness_set)) remove_proc_entry(PROC_BRN, acpi_device_dir(device)); - if (hotk->methods->display_set) + if (hotk->methods->display_set) remove_proc_entry(PROC_DISP, acpi_device_dir(device)); } return 0; @@ -907,11 +936,7 @@ static int asus_hotk_remove_fs(struct acpi_device* device) static void asus_hotk_notify(acpi_handle handle, u32 event, void *data) { - /* TODO Find a better way to handle events count. Here, in data, we receive - * the hotk, so we can do anything! - */ - struct asus_hotk *hotk = (struct asus_hotk *) data; - + /* TODO Find a better way to handle events count.*/ if (!hotk) return; @@ -931,7 +956,7 @@ static void asus_hotk_notify(acpi_handle handle, u32 event, void *data) * This function is used to initialize the hotk with right values. In this * method, we can make all the detection we want, and modify the hotk struct */ -static int __init asus_hotk_get_info(struct asus_hotk *hotk) +static int __init asus_hotk_get_info(void) { struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; struct acpi_buffer dsdt = { ACPI_ALLOCATE_BUFFER, NULL }; @@ -998,11 +1023,19 @@ static int __init asus_hotk_get_info(struct asus_hotk *hotk) hotk->model = L3C; else if (strncmp(model->string.pointer, "L8L", 3) == 0) hotk->model = L8L; + else if (strncmp(model->string.pointer, "L4R", 3) == 0) + hotk->model = L4R; + else if (strncmp(model->string.pointer, "M6N", 3) == 0) + hotk->model = M6N; + else if (strncmp(model->string.pointer, "M6R", 3) == 0) + hotk->model = M6R; else if (strncmp(model->string.pointer, "M2N", 3) == 0 || strncmp(model->string.pointer, "M3N", 3) == 0 || + strncmp(model->string.pointer, "M5N", 3) == 0 || strncmp(model->string.pointer, "M6N", 3) == 0 || strncmp(model->string.pointer, "S1N", 3) == 0 || - strncmp(model->string.pointer, "S5N", 3) == 0) + strncmp(model->string.pointer, "S5N", 3) == 0 || + strncmp(model->string.pointer, "W1N", 3) == 0) hotk->model = xxN; else if (strncmp(model->string.pointer, "M1", 2) == 0) hotk->model = M1A; @@ -1025,7 +1058,6 @@ static int __init asus_hotk_get_info(struct asus_hotk *hotk) hotk->model = L5x; if (hotk->model == END_MODEL) { - /* By default use the same values, as I don't know others */ printk("unsupported, trying default values, supply the " "developers with your DSDT\n"); hotk->model = M2E; @@ -1040,16 +1072,14 @@ static int __init asus_hotk_get_info(struct asus_hotk *hotk) hotk->methods->lcd_status = NULL; /* L2B is similar enough to L3C to use its settings, with this only exception */ - else if (strncmp(model->string.pointer, "S5N", 3) == 0) + else if (strncmp(model->string.pointer, "S5N", 3) == 0 || + strncmp(model->string.pointer, "M5N", 3) == 0) hotk->methods->mt_mled = NULL; - /* S5N has no MLED */ - else if (strncmp(model->string.pointer, "M6N", 3) == 0) { - hotk->methods->display_get = NULL; //TODO - hotk->methods->lcd_status = "\\_SB.BKLT"; - hotk->methods->mt_wled = "WLED"; - hotk->methods->wled_status = "\\_SB.PCI0.SBRG.SG13"; - /* M6N differs slightly and has a usable WLED */ - } + /* S5N and M5N have no MLED */ + else if (strncmp(model->string.pointer, "M2N", 3) == 0 || + strncmp(model->string.pointer, "W1N", 3) == 0) + hotk->methods->mt_wled = "WLED"; + /* M2N and W1N have a usable WLED */ else if (asus_info) { if (strncmp(asus_info->oem_table_id, "L1", 2) == 0) hotk->methods->mled_status = NULL; @@ -1062,20 +1092,16 @@ static int __init asus_hotk_get_info(struct asus_hotk *hotk) } - -static int __init asus_hotk_check(struct asus_hotk *hotk) +static int __init asus_hotk_check(void) { int result = 0; - if (!hotk) - return(-EINVAL); - result = acpi_bus_get_status(hotk->device); if (result) return(result); if (hotk->device->status.present) { - result = asus_hotk_get_info(hotk); + result = asus_hotk_get_info(); } else { printk(KERN_ERR " Hotkey device not present, aborting\n"); return(-EINVAL); @@ -1085,10 +1111,8 @@ static int __init asus_hotk_check(struct asus_hotk *hotk) } - static int __init asus_hotk_add(struct acpi_device *device) { - struct asus_hotk *hotk = NULL; acpi_status status = AE_OK; int result; @@ -1111,7 +1135,7 @@ static int __init asus_hotk_add(struct acpi_device *device) hotk->device = device; - result = asus_hotk_check(hotk); + result = asus_hotk_check(); if (result) goto end; @@ -1152,16 +1176,14 @@ static int __init asus_hotk_add(struct acpi_device *device) return(result); } + static int asus_hotk_remove(struct acpi_device *device, int type) { acpi_status status = 0; - struct asus_hotk *hotk = NULL; if (!device || !acpi_driver_data(device)) return(-EINVAL); - hotk = (struct asus_hotk *) acpi_driver_data(device); - status = acpi_remove_notify_handler(hotk->handle, ACPI_SYSTEM_NOTIFY, asus_hotk_notify); if (ACPI_FAILURE(status)) @@ -1179,20 +1201,24 @@ static int __init asus_acpi_init(void) { int result; + if (acpi_disabled) + return -ENODEV; + asus_proc_dir = proc_mkdir(PROC_ASUS, acpi_root_dir); if (!asus_proc_dir) { printk(KERN_ERR "Asus ACPI: Unable to create /proc entry\n"); - return(-ENODEV); + return -ENODEV; } asus_proc_dir->owner = THIS_MODULE; result = acpi_bus_register_driver(&asus_hotk_driver); - if (result < 0) { + if (result < 1) { + acpi_bus_unregister_driver(&asus_hotk_driver); remove_proc_entry(PROC_ASUS, acpi_root_dir); - return(-ENODEV); + return -ENODEV; } - return(0); + return 0; } diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c index 51362331a..22eb6aa23 100644 --- a/drivers/acpi/bus.c +++ b/drivers/acpi/bus.c @@ -29,6 +29,7 @@ #include #include #include +#include #ifdef CONFIG_X86 #include #endif @@ -589,15 +590,49 @@ acpi_bus_init_irq (void) return_VALUE(0); } +void +acpi_machine_reset(void) +{ + acpi_status status; + FADT_DESCRIPTOR *f = &acpi_fadt; -static int __init -acpi_bus_init (void) + if (f->reset_register.register_bit_width != 8) { + printk(KERN_WARNING PREFIX "invalid reset register bit width: 0x%x\n", f->reset_register.register_bit_width); + return_VOID; + } + + if (f->reset_register.register_bit_offset != 0) { + printk(KERN_WARNING PREFIX "invalid reset register bit offset: 0x%x\n", f->reset_register.register_bit_offset); + return_VOID; + } + + if ((f->reset_register.address_space_id != ACPI_ADR_SPACE_SYSTEM_IO) && + (f->reset_register.address_space_id != ACPI_ADR_SPACE_SYSTEM_MEMORY) && + (f->reset_register.address_space_id != ACPI_ADR_SPACE_PCI_CONFIG)) { + printk(KERN_WARNING PREFIX "invalid reset register address space id: 0x%x\n", f->reset_register.address_space_id); + return_VOID; + } + + status = acpi_hw_low_level_write(f->reset_register.register_bit_width, f->reset_value, &f->reset_register); + + if (status != AE_OK) + printk(KERN_WARNING "ACPI system reset failed 0x%x\n", status); +} + +void __init +acpi_early_init (void) { - int result = 0; acpi_status status = AE_OK; struct acpi_buffer buffer = {sizeof(acpi_fadt), &acpi_fadt}; - ACPI_FUNCTION_TRACE("acpi_bus_init"); + ACPI_FUNCTION_TRACE("acpi_early_init"); + + if (acpi_disabled) + return; + + /* enable workarounds, unless strict ACPI spec. compliance */ + if (!acpi_strict) + acpi_gbl_enable_interpreter_slack = TRUE; status = acpi_initialize_subsystem(); if (ACPI_FAILURE(status)) { @@ -617,8 +652,25 @@ acpi_bus_init (void) status = acpi_get_table(ACPI_TABLE_FADT, 1, &buffer); if (ACPI_FAILURE(status)) { printk(KERN_ERR PREFIX "Unable to get the FADT\n"); - goto error1; + goto error0; + } + +#if defined(CONFIG_X86_64) + /* + * Set up system reset via ACPI if defined in FADT. + */ + if (acpi_fadt.revision >= 2) { + if (acpi_fadt.reset_reg_sup) { + printk(KERN_INFO PREFIX "System reset via FADT Reset Register is supported\n"); + /* if no 8042 KBD controller exists, use ACPI reset */ + if (!(acpi_fadt.iapc_boot_arch & BAF_8042_KEYBOARD_CONTROLLER)) { + machine_reset = acpi_machine_reset; + if (!reboot_override) + reboot_type = BOOT_ACPI; + } + } } +#endif #ifdef CONFIG_X86 if (!acpi_ioapic) { @@ -640,12 +692,40 @@ acpi_bus_init (void) } #endif - status = acpi_enable_subsystem(ACPI_FULL_INITIALIZATION); + status = acpi_enable_subsystem(~(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE)); + if (ACPI_FAILURE(status)) { + printk(KERN_ERR PREFIX "Unable to enable ACPI\n"); + goto error0; + } + + return; + +error0: + disable_acpi(); + return; +} + +static int __init +acpi_bus_init (void) +{ + int result = 0; + acpi_status status = AE_OK; + extern acpi_status acpi_os_initialize1(void); + + ACPI_FUNCTION_TRACE("acpi_bus_init"); + + status = acpi_os_initialize1(); + + status = acpi_enable_subsystem(ACPI_NO_HARDWARE_INIT | ACPI_NO_ACPI_ENABLE); if (ACPI_FAILURE(status)) { printk(KERN_ERR PREFIX "Unable to start the ACPI Interpreter\n"); goto error1; } + if (ACPI_FAILURE(status)) { + printk(KERN_ERR PREFIX "Unable to initialize ACPI OS objects\n"); + goto error1; + } #ifdef CONFIG_ACPI_EC /* * ACPI 2.0 requires the EC driver to be loaded and work before @@ -693,7 +773,6 @@ acpi_bus_init (void) /* Mimic structured exception handling */ error1: acpi_terminate(); -error0: return_VALUE(-ENODEV); } @@ -708,9 +787,6 @@ static int __init acpi_init (void) printk(KERN_INFO PREFIX "Subsystem revision %08x\n", ACPI_CA_VERSION); - /* Initial core debug level excludes drivers, so include them now */ - acpi_set_debug(ACPI_DEBUG_LOW); - if (acpi_disabled) { printk(KERN_INFO PREFIX "Interpreter disabled.\n"); return -ENODEV; diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c index a5b45095d..b632b93af 100644 --- a/drivers/acpi/button.c +++ b/drivers/acpi/button.c @@ -456,6 +456,15 @@ acpi_button_add ( goto end; } + if (device->wakeup.flags.valid) { + /* Button's GPE is run-wake GPE */ + acpi_set_gpe_type(device->wakeup.gpe_device, + device->wakeup.gpe_number, ACPI_GPE_TYPE_WAKE_RUN); + acpi_enable_gpe(device->wakeup.gpe_device, + device->wakeup.gpe_number, ACPI_NOT_ISR); + device->wakeup.state.enabled = 1; + } + printk(KERN_INFO PREFIX "%s [%s]\n", acpi_device_name(device), acpi_device_bid(device)); diff --git a/drivers/acpi/debug.c b/drivers/acpi/debug.c index 585f59db4..9fb8caedb 100644 --- a/drivers/acpi/debug.c +++ b/drivers/acpi/debug.c @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -13,6 +14,81 @@ ACPI_MODULE_NAME ("debug") #define ACPI_SYSTEM_FILE_DEBUG_LAYER "debug_layer" #define ACPI_SYSTEM_FILE_DEBUG_LEVEL "debug_level" +#ifdef MODULE_PARAM_PREFIX +#undef MODULE_PARAM_PREFIX +#endif + +#define MODULE_PARAM_PREFIX +module_param(acpi_dbg_layer, uint, 0400); +module_param(acpi_dbg_level, uint, 0400); + +struct acpi_dlayer { + const char *name; + unsigned long value; +}; +struct acpi_dlevel { + const char *name; + unsigned long value; +}; +#define ACPI_DEBUG_INIT(v) { .name = #v, .value = v } + +const struct acpi_dlayer acpi_debug_layers[] = +{ + ACPI_DEBUG_INIT(ACPI_UTILITIES), + ACPI_DEBUG_INIT(ACPI_HARDWARE), + ACPI_DEBUG_INIT(ACPI_EVENTS), + ACPI_DEBUG_INIT(ACPI_TABLES), + ACPI_DEBUG_INIT(ACPI_NAMESPACE), + ACPI_DEBUG_INIT(ACPI_PARSER), + ACPI_DEBUG_INIT(ACPI_DISPATCHER), + ACPI_DEBUG_INIT(ACPI_EXECUTER), + ACPI_DEBUG_INIT(ACPI_RESOURCES), + ACPI_DEBUG_INIT(ACPI_CA_DEBUGGER), + ACPI_DEBUG_INIT(ACPI_OS_SERVICES), + ACPI_DEBUG_INIT(ACPI_CA_DISASSEMBLER), + ACPI_DEBUG_INIT(ACPI_COMPILER), + ACPI_DEBUG_INIT(ACPI_TOOLS), +}; + +const struct acpi_dlevel acpi_debug_levels[] = +{ + ACPI_DEBUG_INIT(ACPI_LV_ERROR), + ACPI_DEBUG_INIT(ACPI_LV_WARN), + ACPI_DEBUG_INIT(ACPI_LV_INIT), + ACPI_DEBUG_INIT(ACPI_LV_DEBUG_OBJECT), + ACPI_DEBUG_INIT(ACPI_LV_INFO), + + ACPI_DEBUG_INIT(ACPI_LV_INIT_NAMES), + ACPI_DEBUG_INIT(ACPI_LV_PARSE), + ACPI_DEBUG_INIT(ACPI_LV_LOAD), + ACPI_DEBUG_INIT(ACPI_LV_DISPATCH), + ACPI_DEBUG_INIT(ACPI_LV_EXEC), + ACPI_DEBUG_INIT(ACPI_LV_NAMES), + ACPI_DEBUG_INIT(ACPI_LV_OPREGION), + ACPI_DEBUG_INIT(ACPI_LV_BFIELD), + ACPI_DEBUG_INIT(ACPI_LV_TABLES), + ACPI_DEBUG_INIT(ACPI_LV_VALUES), + ACPI_DEBUG_INIT(ACPI_LV_OBJECTS), + ACPI_DEBUG_INIT(ACPI_LV_RESOURCES), + ACPI_DEBUG_INIT(ACPI_LV_USER_REQUESTS), + ACPI_DEBUG_INIT(ACPI_LV_PACKAGE), + + ACPI_DEBUG_INIT(ACPI_LV_ALLOCATIONS), + ACPI_DEBUG_INIT(ACPI_LV_FUNCTIONS), + ACPI_DEBUG_INIT(ACPI_LV_OPTIMIZATIONS), + + ACPI_DEBUG_INIT(ACPI_LV_MUTEX), + ACPI_DEBUG_INIT(ACPI_LV_THREADS), + ACPI_DEBUG_INIT(ACPI_LV_IO), + ACPI_DEBUG_INIT(ACPI_LV_INTERRUPTS), + + ACPI_DEBUG_INIT(ACPI_LV_AML_DISASSEMBLE), + ACPI_DEBUG_INIT(ACPI_LV_VERBOSE_INFO), + ACPI_DEBUG_INIT(ACPI_LV_FULL_TABLES), + ACPI_DEBUG_INIT(ACPI_LV_EVENTS), +}; +#define NUM_OF(v) ( sizeof(v)/sizeof(v[0]) ) + static int acpi_system_read_debug ( char *page, @@ -24,16 +100,41 @@ acpi_system_read_debug ( { char *p = page; int size = 0; + int i; if (off != 0) goto end; + p += sprintf(p, "%-25s\tHex SET\n", "Description"); + switch ((unsigned long) data) { case 0: - p += sprintf(p, "0x%08x\n", acpi_dbg_layer); + for (i = 0; i < NUM_OF(acpi_debug_layers); i++) { + p += sprintf(p, "%-25s\t0x%08lX [%c]\n", + acpi_debug_layers[i].name, + acpi_debug_layers[i].value, + (acpi_dbg_layer & acpi_debug_layers[i].value) ? + '*' : ' '); + } + p += sprintf(p, "%-25s\t0x%08X [%c]\n", "ACPI_ALL_DRIVERS", + ACPI_ALL_DRIVERS, + (acpi_dbg_layer & ACPI_ALL_DRIVERS) == ACPI_ALL_DRIVERS? + '*' : (acpi_dbg_layer & ACPI_ALL_DRIVERS) == 0 ? + ' ' : '-'); + p += sprintf(p, + "--\ndebug_layer = 0x%08X (* = enabled, - = partial)\n", + acpi_dbg_layer); break; case 1: - p += sprintf(p, "0x%08x\n", acpi_dbg_level); + for (i = 0; i < NUM_OF(acpi_debug_levels); i++) { + p += sprintf(p, "%-25s\t0x%08lX [%c]\n", + acpi_debug_levels[i].name, + acpi_debug_levels[i].value, + (acpi_dbg_level & acpi_debug_levels[i].value) ? + '*' : ' '); + } + p += sprintf(p, "--\ndebug_level = 0x%08X (* = enabled)\n", + acpi_dbg_level); break; default: p += sprintf(p, "Invalid debug option\n"); diff --git a/drivers/acpi/dispatcher/dsopcode.c b/drivers/acpi/dispatcher/dsopcode.c index 028da158a..68084760e 100644 --- a/drivers/acpi/dispatcher/dsopcode.c +++ b/drivers/acpi/dispatcher/dsopcode.c @@ -104,7 +104,7 @@ acpi_ds_execute_arguments ( } status = acpi_ds_init_aml_walk (walk_state, op, NULL, aml_start, - aml_length, NULL, NULL, 1); + aml_length, NULL, 1); if (ACPI_FAILURE (status)) { acpi_ds_delete_walk_state (walk_state); return_ACPI_STATUS (status); @@ -147,7 +147,7 @@ acpi_ds_execute_arguments ( /* Execute the opcode and arguments */ status = acpi_ds_init_aml_walk (walk_state, op, NULL, aml_start, - aml_length, NULL, NULL, 3); + aml_length, NULL, 3); if (ACPI_FAILURE (status)) { acpi_ds_delete_walk_state (walk_state); return_ACPI_STATUS (status); diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index bc9e24904..1ee79a8e1 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -381,7 +381,7 @@ end: acpi_enable_gpe(NULL, ec->gpe_bit, ACPI_NOT_ISR); } -static void +static u32 acpi_ec_gpe_handler ( void *data) { @@ -389,12 +389,17 @@ acpi_ec_gpe_handler ( struct acpi_ec *ec = (struct acpi_ec *) data; if (!ec) - return; + return ACPI_INTERRUPT_NOT_HANDLED; acpi_disable_gpe(NULL, ec->gpe_bit, ACPI_ISR); status = acpi_os_queue_for_execution(OSD_PRIORITY_GPE, acpi_ec_gpe_query, ec); + + if (status == AE_OK) + return ACPI_INTERRUPT_HANDLED; + else + return ACPI_INTERRUPT_NOT_HANDLED; } /* -------------------------------------------------------------------------- @@ -729,6 +734,8 @@ acpi_ec_start ( if (ACPI_FAILURE(status)) { return_VALUE(-ENODEV); } + acpi_set_gpe_type (NULL, ec->gpe_bit, ACPI_GPE_TYPE_RUNTIME); + acpi_enable_gpe (NULL, ec->gpe_bit, ACPI_NOT_ISR); status = acpi_install_address_space_handler (ec->handle, ACPI_ADR_SPACE_EC, &acpi_ec_space_handler, @@ -814,6 +821,8 @@ acpi_ec_ecdt_probe (void) if (ACPI_FAILURE(status)) { goto error; } + acpi_set_gpe_type (NULL, ec_ecdt->gpe_bit, ACPI_GPE_TYPE_RUNTIME); + acpi_enable_gpe (NULL, ec_ecdt->gpe_bit, ACPI_NOT_ISR); status = acpi_install_address_space_handler (ACPI_ROOT_OBJECT, ACPI_ADR_SPACE_EC, &acpi_ec_space_handler, diff --git a/drivers/acpi/events/evxface.c b/drivers/acpi/events/evxface.c index d33b99057..26e9b0e41 100644 --- a/drivers/acpi/events/evxface.c +++ b/drivers/acpi/events/evxface.c @@ -188,6 +188,7 @@ acpi_remove_fixed_event_handler ( * handler_type - The type of handler: * ACPI_SYSTEM_NOTIFY: system_handler (00-7f) * ACPI_DEVICE_NOTIFY: driver_handler (80-ff) + * ACPI_ALL_NOTIFY: both system and device * Handler - Address of the handler * Context - Value passed to the handler on each GPE * @@ -243,20 +244,21 @@ acpi_install_notify_handler ( if (device == ACPI_ROOT_OBJECT) { /* Make sure the handler is not already installed */ - if (((handler_type == ACPI_SYSTEM_NOTIFY) && - acpi_gbl_system_notify.handler) || - ((handler_type == ACPI_DEVICE_NOTIFY) && + if (((handler_type & ACPI_SYSTEM_NOTIFY) && + acpi_gbl_system_notify.handler) || + ((handler_type & ACPI_DEVICE_NOTIFY) && acpi_gbl_device_notify.handler)) { status = AE_ALREADY_EXISTS; goto unlock_and_exit; } - if (handler_type == ACPI_SYSTEM_NOTIFY) { + if (handler_type & ACPI_SYSTEM_NOTIFY) { acpi_gbl_system_notify.node = node; acpi_gbl_system_notify.handler = handler; acpi_gbl_system_notify.context = context; } - else /* ACPI_DEVICE_NOTIFY */ { + + if (handler_type & ACPI_DEVICE_NOTIFY) { acpi_gbl_device_notify.node = node; acpi_gbl_device_notify.handler = handler; acpi_gbl_device_notify.context = context; @@ -284,9 +286,9 @@ acpi_install_notify_handler ( if (obj_desc) { /* Object exists - make sure there's no handler */ - if (((handler_type == ACPI_SYSTEM_NOTIFY) && + if (((handler_type & ACPI_SYSTEM_NOTIFY) && obj_desc->common_notify.system_notify) || - ((handler_type == ACPI_DEVICE_NOTIFY) && + ((handler_type & ACPI_DEVICE_NOTIFY) && obj_desc->common_notify.device_notify)) { status = AE_ALREADY_EXISTS; goto unlock_and_exit; @@ -308,7 +310,6 @@ acpi_install_notify_handler ( /* Remove local reference to the object */ acpi_ut_remove_reference (obj_desc); - if (ACPI_FAILURE (status)) { goto unlock_and_exit; } @@ -326,12 +327,19 @@ acpi_install_notify_handler ( notify_obj->notify.handler = handler; notify_obj->notify.context = context; - if (handler_type == ACPI_SYSTEM_NOTIFY) { + if (handler_type & ACPI_SYSTEM_NOTIFY) { obj_desc->common_notify.system_notify = notify_obj; } - else /* ACPI_DEVICE_NOTIFY */ { + + if (handler_type & ACPI_DEVICE_NOTIFY) { obj_desc->common_notify.device_notify = notify_obj; } + + if (handler_type == ACPI_ALL_NOTIFY) { + /* Extra ref if installed in both */ + + acpi_ut_add_reference (notify_obj); + } } @@ -349,7 +357,9 @@ unlock_and_exit: * handler_type - The type of handler: * ACPI_SYSTEM_NOTIFY: system_handler (00-7f) * ACPI_DEVICE_NOTIFY: driver_handler (80-ff) + * ACPI_ALL_NOTIFY: both system and device * Handler - Address of the handler + * * RETURN: Status * * DESCRIPTION: Remove a handler for notifies on an ACPI device @@ -392,15 +402,14 @@ acpi_remove_notify_handler ( goto unlock_and_exit; } - /* - * Root Object - */ + /* Root Object */ + if (device == ACPI_ROOT_OBJECT) { ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "Removing notify handler for ROOT object.\n")); - if (((handler_type == ACPI_SYSTEM_NOTIFY) && - !acpi_gbl_system_notify.handler) || - ((handler_type == ACPI_DEVICE_NOTIFY) && + if (((handler_type & ACPI_SYSTEM_NOTIFY) && + !acpi_gbl_system_notify.handler) || + ((handler_type & ACPI_DEVICE_NOTIFY) && !acpi_gbl_device_notify.handler)) { status = AE_NOT_EXIST; goto unlock_and_exit; @@ -415,21 +424,21 @@ acpi_remove_notify_handler ( return_ACPI_STATUS (status); } - if (handler_type == ACPI_SYSTEM_NOTIFY) { + if (handler_type & ACPI_SYSTEM_NOTIFY) { acpi_gbl_system_notify.node = NULL; acpi_gbl_system_notify.handler = NULL; acpi_gbl_system_notify.context = NULL; } - else { + + if (handler_type & ACPI_DEVICE_NOTIFY) { acpi_gbl_device_notify.node = NULL; acpi_gbl_device_notify.handler = NULL; acpi_gbl_device_notify.context = NULL; } } - /* - * All Other Objects - */ + /* All Other Objects */ + else { /* Notifies allowed on this object? */ @@ -448,38 +457,47 @@ acpi_remove_notify_handler ( /* Object exists - make sure there's an existing handler */ - if (handler_type == ACPI_SYSTEM_NOTIFY) { + if (handler_type & ACPI_SYSTEM_NOTIFY) { notify_obj = obj_desc->common_notify.system_notify; - } - else { - notify_obj = obj_desc->common_notify.device_notify; - } + if ((!notify_obj) || + (notify_obj->notify.handler != handler)) { + status = AE_BAD_PARAMETER; + goto unlock_and_exit; + } + /* Make sure all deferred tasks are completed */ - if ((!notify_obj) || - (notify_obj->notify.handler != handler)) { - status = AE_BAD_PARAMETER; - goto unlock_and_exit; - } + (void) acpi_ut_release_mutex (ACPI_MTX_NAMESPACE); + acpi_os_wait_events_complete(NULL); + status = acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE); + if (ACPI_FAILURE (status)) { + return_ACPI_STATUS (status); + } - /* Make sure all deferred tasks are completed */ + /* Remove the handler */ + obj_desc->common_notify.system_notify = NULL; + acpi_ut_remove_reference (notify_obj); + } - (void) acpi_ut_release_mutex (ACPI_MTX_NAMESPACE); - acpi_os_wait_events_complete(NULL); - status = acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE); - if (ACPI_FAILURE (status)) { - return_ACPI_STATUS (status); - } + if (handler_type & ACPI_DEVICE_NOTIFY) { + notify_obj = obj_desc->common_notify.device_notify; + if ((!notify_obj) || + (notify_obj->notify.handler != handler)) { + status = AE_BAD_PARAMETER; + goto unlock_and_exit; + } + /* Make sure all deferred tasks are completed */ - /* Remove the handler */ + (void) acpi_ut_release_mutex (ACPI_MTX_NAMESPACE); + acpi_os_wait_events_complete(NULL); + status = acpi_ut_acquire_mutex (ACPI_MTX_NAMESPACE); + if (ACPI_FAILURE (status)) { + return_ACPI_STATUS (status); + } - if (handler_type == ACPI_SYSTEM_NOTIFY) { - obj_desc->common_notify.system_notify = NULL; - } - else { + /* Remove the handler */ obj_desc->common_notify.device_notify = NULL; + acpi_ut_remove_reference (notify_obj); } - - acpi_ut_remove_reference (notify_obj); } @@ -497,7 +515,7 @@ unlock_and_exit: * gpe_block - GPE block (NULL == FADT GPEs) * Type - Whether this GPE should be treated as an * edge- or level-triggered interrupt. - * Handler - Address of the handler + * Address - Address of the handler * Context - Value passed to the handler on each GPE * * RETURN: Status @@ -511,11 +529,12 @@ acpi_install_gpe_handler ( acpi_handle gpe_device, u32 gpe_number, u32 type, - acpi_gpe_handler handler, + acpi_event_handler address, void *context) { - acpi_status status; struct acpi_gpe_event_info *gpe_event_info; + struct acpi_handler_info *handler; + acpi_status status; ACPI_FUNCTION_TRACE ("acpi_install_gpe_handler"); @@ -523,7 +542,7 @@ acpi_install_gpe_handler ( /* Parameter validation */ - if (!handler) { + if ((!address) || (type > ACPI_GPE_XRUPT_TYPE_MASK)) { return_ACPI_STATUS (AE_BAD_PARAMETER); } @@ -542,27 +561,41 @@ acpi_install_gpe_handler ( /* Make sure that there isn't a handler there already */ - if (gpe_event_info->handler) { + if ((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) == ACPI_GPE_DISPATCH_HANDLER) { status = AE_ALREADY_EXISTS; goto unlock_and_exit; } - /* Install the handler */ + /* Allocate and init handler object */ - acpi_os_acquire_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); - gpe_event_info->handler = handler; - gpe_event_info->context = context; - gpe_event_info->flags = (u8) type; - acpi_os_release_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); + handler = ACPI_MEM_CALLOCATE (sizeof (struct acpi_handler_info)); + if (!handler) { + status = AE_NO_MEMORY; + goto unlock_and_exit; + } - /* Clear the GPE (of stale events), the enable it */ + handler->address = address; + handler->context = context; + handler->method_node = gpe_event_info->dispatch.method_node; - status = acpi_hw_clear_gpe (gpe_event_info); + /* Disable the GPE before installing the handler */ + + status = acpi_ev_disable_gpe (gpe_event_info); if (ACPI_FAILURE (status)) { goto unlock_and_exit; } - status = acpi_hw_enable_gpe (gpe_event_info); + /* Install the handler */ + + acpi_os_acquire_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); + gpe_event_info->dispatch.handler = handler; + + /* Setup up dispatch flags to indicate handler (vs. method) */ + + gpe_event_info->flags &= ~(ACPI_GPE_XRUPT_TYPE_MASK | ACPI_GPE_DISPATCH_MASK); /* Clear bits */ + gpe_event_info->flags |= (u8) (type | ACPI_GPE_DISPATCH_HANDLER); + + acpi_os_release_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); unlock_and_exit: @@ -577,7 +610,7 @@ unlock_and_exit: * * PARAMETERS: gpe_number - The event to remove a handler * gpe_block - GPE block (NULL == FADT GPEs) - * Handler - Address of the handler + * Address - Address of the handler * * RETURN: Status * @@ -589,10 +622,11 @@ acpi_status acpi_remove_gpe_handler ( acpi_handle gpe_device, u32 gpe_number, - acpi_gpe_handler handler) + acpi_event_handler address) { - acpi_status status; struct acpi_gpe_event_info *gpe_event_info; + struct acpi_handler_info *handler; + acpi_status status; ACPI_FUNCTION_TRACE ("acpi_remove_gpe_handler"); @@ -600,7 +634,7 @@ acpi_remove_gpe_handler ( /* Parameter validation */ - if (!handler) { + if (!address) { return_ACPI_STATUS (AE_BAD_PARAMETER); } @@ -617,21 +651,27 @@ acpi_remove_gpe_handler ( goto unlock_and_exit; } - /* Disable the GPE before removing the handler */ + /* Make sure that a handler is indeed installed */ - status = acpi_hw_disable_gpe (gpe_event_info); - if (ACPI_FAILURE (status)) { + if ((gpe_event_info->flags & ACPI_GPE_DISPATCH_MASK) != ACPI_GPE_DISPATCH_HANDLER) { + status = AE_NOT_EXIST; goto unlock_and_exit; } /* Make sure that the installed handler is the same */ - if (gpe_event_info->handler != handler) { - (void) acpi_hw_enable_gpe (gpe_event_info); + if (gpe_event_info->dispatch.handler->address != address) { status = AE_BAD_PARAMETER; goto unlock_and_exit; } + /* Disable the GPE before removing the handler */ + + status = acpi_ev_disable_gpe (gpe_event_info); + if (ACPI_FAILURE (status)) { + goto unlock_and_exit; + } + /* Make sure all deferred tasks are completed */ (void) acpi_ut_release_mutex (ACPI_MTX_EVENTS); @@ -644,10 +684,21 @@ acpi_remove_gpe_handler ( /* Remove the handler */ acpi_os_acquire_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); - gpe_event_info->handler = NULL; - gpe_event_info->context = NULL; + handler = gpe_event_info->dispatch.handler; + + /* Restore Method node (if any), set dispatch flags */ + + gpe_event_info->dispatch.method_node = handler->method_node; + gpe_event_info->flags &= ~ACPI_GPE_DISPATCH_MASK; /* Clear bits */ + if (handler->method_node) { + gpe_event_info->flags |= ACPI_GPE_DISPATCH_METHOD; + } acpi_os_release_lock (acpi_gbl_gpe_lock, ACPI_NOT_ISR); + /* Now we can free the handler object */ + + ACPI_MEM_FREE (handler); + unlock_and_exit: (void) acpi_ut_release_mutex (ACPI_MTX_EVENTS); diff --git a/drivers/acpi/executer/exoparg2.c b/drivers/acpi/executer/exoparg2.c index 0b6f86a91..51e1aff04 100644 --- a/drivers/acpi/executer/exoparg2.c +++ b/drivers/acpi/executer/exoparg2.c @@ -573,17 +573,48 @@ acpi_ex_opcode_2A_0T_1R ( * Execute the Opcode */ if (walk_state->op_info->flags & AML_LOGICAL) /* logical_op (Operand0, Operand1) */ { - /* Both operands must be of the same type */ + union acpi_operand_object *temp_desc = NULL; - if (ACPI_GET_OBJECT_TYPE (operand[0]) != - ACPI_GET_OBJECT_TYPE (operand[1])) { - status = AE_AML_OPERAND_TYPE; - goto cleanup; + /* + * Convert the second operand if necessary. The first + * operand determines the type of the second operand. + */ + switch (ACPI_GET_OBJECT_TYPE (operand[0])) { + case ACPI_TYPE_INTEGER: + status = acpi_ex_convert_to_integer (operand[1], + &temp_desc, + walk_state); + break; + + case ACPI_TYPE_STRING: + status = acpi_ex_convert_to_string (operand[1], + &temp_desc, 16, + ACPI_UINT32_MAX, + walk_state); + break; + + case ACPI_TYPE_BUFFER: + status = acpi_ex_convert_to_buffer (operand[1], + &temp_desc, + walk_state); + break; + + default: + ACPI_REPORT_ERROR (("logical_op - invalid obj type: %X\n", + ACPI_GET_OBJECT_TYPE (operand[0]))); + status = AE_AML_INTERNAL; } + if (ACPI_FAILURE (status)) + goto cleanup; + logical_result = acpi_ex_do_logical_op (walk_state->opcode, operand[0], - operand[1]); + temp_desc); + + if (temp_desc != operand[1]) + acpi_ut_remove_reference(temp_desc); + goto store_logical_result; } diff --git a/drivers/acpi/namespace/nsalloc.c b/drivers/acpi/namespace/nsalloc.c index c9dd49ff7..89b997717 100644 --- a/drivers/acpi/namespace/nsalloc.c +++ b/drivers/acpi/namespace/nsalloc.c @@ -267,7 +267,7 @@ acpi_ns_install_node ( else { #ifdef ACPI_ALPHABETIC_NAMESPACE /* - * Walk the list whilst searching for the the correct + * Walk the list whilst searching for the correct * alphabetic placement. */ previous_child_node = NULL; diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 433fdd701..a0ae5945d 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c @@ -51,10 +51,13 @@ ACPI_MODULE_NAME ("osl") struct acpi_os_dpc { - OSD_EXECUTION_CALLBACK function; + acpi_osd_exec_callback function; void *context; }; +#ifdef CONFIG_ACPI_CUSTOM_DSDT +#include CONFIG_ACPI_CUSTOM_DSDT_FILE +#endif #ifdef ENABLE_DEBUGGER #include @@ -64,12 +67,18 @@ extern char line_buf[80]; #endif /*ENABLE_DEBUGGER*/ static unsigned int acpi_irq_irq; -static OSD_HANDLER acpi_irq_handler; +static acpi_osd_handler acpi_irq_handler; static void *acpi_irq_context; static struct workqueue_struct *kacpid_wq; acpi_status acpi_os_initialize(void) +{ + return AE_OK; +} + +acpi_status +acpi_os_initialize1(void) { /* * Initialize PCI configuration space access, as we'll need to access @@ -165,11 +174,11 @@ acpi_os_get_root_pointer(u32 flags, struct acpi_pointer *addr) } acpi_status -acpi_os_map_memory(acpi_physical_address phys, acpi_size size, void **virt) +acpi_os_map_memory(acpi_physical_address phys, acpi_size size, void __iomem **virt) { if (efi_enabled) { if (EFI_MEMORY_WB & efi_mem_attributes(phys)) { - *virt = phys_to_virt(phys); + *virt = (void __iomem *) phys_to_virt(phys); } else { *virt = ioremap(phys, size); } @@ -191,7 +200,7 @@ acpi_os_map_memory(acpi_physical_address phys, acpi_size size, void **virt) } void -acpi_os_unmap_memory(void *virt, acpi_size size) +acpi_os_unmap_memory(void __iomem *virt, acpi_size size) { iounmap(virt); } @@ -235,7 +244,14 @@ acpi_os_table_override (struct acpi_table_header *existing_table, if (!existing_table || !new_table) return AE_BAD_PARAMETER; +#ifdef CONFIG_ACPI_CUSTOM_DSDT + if (strncmp(existing_table->signature, "DSDT", 4) == 0) + *new_table = (struct acpi_table_header*)AmlCode; + else + *new_table = NULL; +#else *new_table = NULL; +#endif return AE_OK; } @@ -246,7 +262,7 @@ acpi_irq(int irq, void *dev_id, struct pt_regs *regs) } acpi_status -acpi_os_install_interrupt_handler(u32 gsi, OSD_HANDLER handler, void *context) +acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, void *context) { unsigned int irq; @@ -274,7 +290,7 @@ acpi_os_install_interrupt_handler(u32 gsi, OSD_HANDLER handler, void *context) } acpi_status -acpi_os_remove_interrupt_handler(u32 irq, OSD_HANDLER handler) +acpi_os_remove_interrupt_handler(u32 irq, acpi_osd_handler handler) { if (irq) { free_irq(irq, acpi_irq); @@ -370,30 +386,31 @@ acpi_os_read_memory( u32 width) { u32 dummy; - void *virt_addr; + void __iomem *virt_addr; int iomem = 0; if (efi_enabled) { if (EFI_MEMORY_WB & efi_mem_attributes(phys_addr)) { - virt_addr = phys_to_virt(phys_addr); + /* HACK ALERT! We can use readb/w/l on real memory too.. */ + virt_addr = (void __iomem *) phys_to_virt(phys_addr); } else { iomem = 1; virt_addr = ioremap(phys_addr, width); } } else - virt_addr = phys_to_virt(phys_addr); + virt_addr = (void __iomem *) phys_to_virt(phys_addr); if (!value) value = &dummy; switch (width) { case 8: - *(u8*) value = *(u8*) virt_addr; + *(u8*) value = readb(virt_addr); break; case 16: - *(u16*) value = *(u16*) virt_addr; + *(u16*) value = readw(virt_addr); break; case 32: - *(u32*) value = *(u32*) virt_addr; + *(u32*) value = readl(virt_addr); break; default: BUG(); @@ -413,28 +430,29 @@ acpi_os_write_memory( u32 value, u32 width) { - void *virt_addr; + void __iomem *virt_addr; int iomem = 0; if (efi_enabled) { if (EFI_MEMORY_WB & efi_mem_attributes(phys_addr)) { - virt_addr = phys_to_virt(phys_addr); + /* HACK ALERT! We can use writeb/w/l on real memory too */ + virt_addr = (void __iomem *) phys_to_virt(phys_addr); } else { iomem = 1; virt_addr = ioremap(phys_addr, width); } } else - virt_addr = phys_to_virt(phys_addr); + virt_addr = (void __iomem *) phys_to_virt(phys_addr); switch (width) { case 8: - *(u8*) virt_addr = value; + writeb(value, virt_addr); break; case 16: - *(u16*) virt_addr = value; + writew(value, virt_addr); break; case 32: - *(u32*) virt_addr = value; + writel(value, virt_addr); break; default: BUG(); @@ -470,6 +488,8 @@ acpi_os_read_pci_configuration (struct acpi_pci_id *pci_id, u32 reg, void *value return AE_ERROR; } + BUG_ON(!raw_pci_ops); + result = raw_pci_ops->read(pci_id->segment, pci_id->bus, PCI_DEVFN(pci_id->device, pci_id->function), reg, size, value); @@ -496,6 +516,8 @@ acpi_os_write_pci_configuration (struct acpi_pci_id *pci_id, u32 reg, acpi_integ return AE_ERROR; } + BUG_ON(!raw_pci_ops); + result = raw_pci_ops->write(pci_id->segment, pci_id->bus, PCI_DEVFN(pci_id->device, pci_id->function), reg, size, value); @@ -624,7 +646,7 @@ acpi_os_execute_deferred ( acpi_status acpi_os_queue_for_execution( u32 priority, - OSD_EXECUTION_CALLBACK function, + acpi_osd_exec_callback function, void *context) { acpi_status status = AE_OK; @@ -952,7 +974,7 @@ acpi_os_readable(void *ptr, acpi_size len) { #if defined(__i386__) || defined(__x86_64__) char tmp; - return !__get_user(tmp, (char *)ptr) && !__get_user(tmp, (char *)ptr + len - 1); + return !__get_user(tmp, (char __user *)ptr) && !__get_user(tmp, (char __user *)ptr + len - 1); #endif return 1; } @@ -985,11 +1007,15 @@ acpi_os_signal ( printk(KERN_ERR PREFIX "Fatal opcode executed\n"); break; case ACPI_SIGNAL_BREAKPOINT: - { - char *bp_info = (char*) info; - - printk(KERN_ERR "ACPI breakpoint: %s\n", bp_info); - } + /* + * AML Breakpoint + * ACPI spec. says to treat it as a NOP unless + * you are debugging. So if/when we integrate + * AML debugger into the kernel debugger its + * hook will go here. But until then it is + * not useful to print anything on breakpoints. + */ + break; default: break; } @@ -1066,15 +1092,15 @@ __setup("acpi_serialize", acpi_serialize_setup); * Run-time events on the same GPE this flag is available * to tell Linux to keep the wake-time GPEs enabled at run-time. */ -static int __init -acpi_leave_gpes_disabled_setup(char *str) +int __init +acpi_wake_gpes_always_on_setup(char *str) { - printk(KERN_INFO PREFIX "leave wake GPEs disabled\n"); + printk(KERN_INFO PREFIX "wake GPEs not disabled\n"); - acpi_gbl_leave_wake_gpes_disabled = TRUE; + acpi_gbl_leave_wake_gpes_disabled = FALSE; return 1; } -__setup("acpi_leave_gpes_disabled", acpi_leave_gpes_disabled_setup); +__setup("acpi_wake_gpes_always_on", acpi_wake_gpes_always_on_setup); diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c index 13e922551..86e8a0ca0 100644 --- a/drivers/acpi/pci_link.c +++ b/drivers/acpi/pci_link.c @@ -29,6 +29,7 @@ * for IRQ management (e.g. start()->_SRS). */ +#include #include #include #include @@ -71,7 +72,7 @@ struct acpi_pci_link_irq { u8 active; /* Current IRQ */ u8 edge_level; /* All IRQs */ u8 active_high_low; /* All IRQs */ - u8 setonboot; + u8 initialized; u8 resource_type; u8 possible_count; u8 possible[ACPI_PCI_LINK_MAX_POSSIBLE]; @@ -447,7 +448,7 @@ acpi_pci_link_set ( #define PIRQ_PENALTY_ISA_USED (16*16*16*16*16) #define PIRQ_PENALTY_ISA_ALWAYS (16*16*16*16*16*16) -static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = { +static int acpi_irq_penalty[ACPI_MAX_IRQS] = { PIRQ_PENALTY_ISA_ALWAYS, /* IRQ0 timer */ PIRQ_PENALTY_ISA_ALWAYS, /* IRQ1 keyboard */ PIRQ_PENALTY_ISA_ALWAYS, /* IRQ2 cascade */ @@ -467,7 +468,7 @@ static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = { /* >IRQ15 */ }; -int +int __init acpi_irq_penalty_init(void) { struct list_head *node = NULL; @@ -517,7 +518,7 @@ static int acpi_pci_link_allocate(struct acpi_pci_link* link) { ACPI_FUNCTION_TRACE("acpi_pci_link_allocate"); - if (link->irq.setonboot) + if (link->irq.initialized) return_VALUE(0); /* @@ -571,7 +572,7 @@ static int acpi_pci_link_allocate(struct acpi_pci_link* link) { acpi_device_bid(link->device), link->irq.active); } - link->irq.setonboot = 1; + link->irq.initialized = 1; return_VALUE(0); } @@ -694,6 +695,42 @@ end: } +static int +acpi_pci_link_resume ( + struct acpi_pci_link *link) +{ + ACPI_FUNCTION_TRACE("acpi_pci_link_resume"); + + if (link->irq.active && link->irq.initialized) + return_VALUE(acpi_pci_link_set(link, link->irq.active)); + else + return_VALUE(0); +} + + +static int +irqrouter_resume( + struct sys_device *dev) +{ + struct list_head *node = NULL; + struct acpi_pci_link *link = NULL; + + ACPI_FUNCTION_TRACE("irqrouter_resume"); + + list_for_each(node, &acpi_link.entries) { + + link = list_entry(node, struct acpi_pci_link, node); + if (!link) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid link context\n")); + continue; + } + + acpi_pci_link_resume(link); + } + return_VALUE(0); +} + + static int acpi_pci_link_remove ( struct acpi_device *device, @@ -786,11 +823,42 @@ int __init acpi_irq_balance_set(char *str) __setup("acpi_irq_balance", acpi_irq_balance_set); +static struct sysdev_class irqrouter_sysdev_class = { + set_kset_name("irqrouter"), + .resume = irqrouter_resume, +}; + + +static struct sys_device device_irqrouter = { + .id = 0, + .cls = &irqrouter_sysdev_class, +}; + + +static int __init irqrouter_init_sysfs(void) +{ + int error; + + ACPI_FUNCTION_TRACE("irqrouter_init_sysfs"); + + if (acpi_disabled || acpi_noirq) + return_VALUE(0); + + error = sysdev_class_register(&irqrouter_sysdev_class); + if (!error) + error = sysdev_register(&device_irqrouter); + + return_VALUE(error); +} + +device_initcall(irqrouter_init_sysfs); + + static int __init acpi_pci_link_init (void) { ACPI_FUNCTION_TRACE("acpi_pci_link_init"); - if (acpi_pci_disabled) + if (acpi_noirq) return_VALUE(0); acpi_link.count = 0; diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c index 657ddef48..4c3d2a7d2 100644 --- a/drivers/acpi/power.c +++ b/drivers/acpi/power.c @@ -288,6 +288,86 @@ acpi_power_off_device ( return_VALUE(0); } +/* + * Prepare a wakeup device, two steps (Ref ACPI 2.0:P229): + * 1. Power on the power resources required for the wakeup device + * 2. Enable _PSW (power state wake) for the device if present + */ +int acpi_enable_wakeup_device_power (struct acpi_device *dev) +{ + union acpi_object arg = {ACPI_TYPE_INTEGER}; + struct acpi_object_list arg_list = {1, &arg}; + acpi_status status = AE_OK; + int i; + int ret = 0; + + ACPI_FUNCTION_TRACE("acpi_enable_wakeup_device_power"); + if (!dev || !dev->wakeup.flags.valid) + return -1; + + arg.integer.value = 1; + /* Open power resource */ + for (i = 0; i < dev->wakeup.resources.count; i++) { + ret = acpi_power_on(dev->wakeup.resources.handles[i]); + if (ret) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Error transition power state\n")); + dev->wakeup.flags.valid = 0; + return -1; + } + } + + /* Execute PSW */ + status = acpi_evaluate_object(dev->handle, "_PSW", &arg_list, NULL); + if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluate _PSW\n")); + dev->wakeup.flags.valid = 0; + ret = -1; + } + + return ret; +} + +/* + * Shutdown a wakeup device, counterpart of above method + * 1. Disable _PSW (power state wake) + * 2. Shutdown down the power resources + */ +int acpi_disable_wakeup_device_power (struct acpi_device *dev) +{ + union acpi_object arg = {ACPI_TYPE_INTEGER}; + struct acpi_object_list arg_list = {1, &arg}; + acpi_status status = AE_OK; + int i; + int ret = 0; + + ACPI_FUNCTION_TRACE("acpi_disable_wakeup_device_power"); + + if (!dev || !dev->wakeup.flags.valid) + return -1; + + arg.integer.value = 0; + /* Execute PSW */ + status = acpi_evaluate_object(dev->handle, "_PSW", &arg_list, NULL); + if (ACPI_FAILURE(status) && (status != AE_NOT_FOUND)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluate _PSW\n")); + dev->wakeup.flags.valid = 0; + return -1; + } + + /* Close power resource */ + for (i = 0; i < dev->wakeup.resources.count; i++) { + ret = acpi_power_off_device(dev->wakeup.resources.handles[i]); + if (ret) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Error transition power state\n")); + dev->wakeup.flags.valid = 0; + return -1; + } + } + + return ret; +} /* -------------------------------------------------------------------------- Device Power Management diff --git a/drivers/acpi/processor.c b/drivers/acpi/processor.c index 8d7b78df6..83fb743aa 100644 --- a/drivers/acpi/processor.c +++ b/drivers/acpi/processor.c @@ -44,6 +44,9 @@ #include #include #include +#include +#include +#include #include #include @@ -859,7 +862,6 @@ static void acpi_processor_ppc_exit(void) { * _PCT and _PSS structures are read out and written into struct * acpi_processor_performance. */ - static int acpi_processor_set_pdc (struct acpi_processor *pr) { acpi_status status = AE_OK; @@ -1047,6 +1049,8 @@ acpi_processor_get_performance_info ( if (!pr || !pr->performance || !pr->handle) return_VALUE(-EINVAL); + acpi_processor_set_pdc(pr); + status = acpi_get_handle(pr->handle, "_PCT", &handle); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_INFO, @@ -1054,8 +1058,6 @@ acpi_processor_get_performance_info ( return_VALUE(-ENODEV); } - acpi_processor_set_pdc(pr); - result = acpi_processor_get_performance_control(pr); if (result) return_VALUE(result); @@ -1121,7 +1123,7 @@ static int acpi_processor_perf_open_fs(struct inode *inode, struct file *file) PDE(inode)->data); } -static int +static ssize_t acpi_processor_write_performance ( struct file *file, const char __user *buffer, @@ -2146,6 +2148,37 @@ acpi_processor_remove_fs ( return_VALUE(0); } +/* Use the acpiid in MADT to map cpus in case of SMP */ +#ifndef CONFIG_SMP +#define convert_acpiid_to_cpu(acpi_id) (0xff) +#else + +#ifdef CONFIG_IA64 +#define arch_acpiid_to_apicid ia64_acpiid_to_sapicid +#define arch_cpu_to_apicid ia64_cpu_to_sapicid +#define ARCH_BAD_APICID (0xffff) +#else +#define arch_acpiid_to_apicid x86_acpiid_to_apicid +#define arch_cpu_to_apicid x86_cpu_to_apicid +#define ARCH_BAD_APICID (0xff) +#endif + +static u8 convert_acpiid_to_cpu(u8 acpi_id) +{ + u16 apic_id; + int i; + + apic_id = arch_acpiid_to_apicid[acpi_id]; + if (apic_id == ARCH_BAD_APICID) + return -1; + + for (i = 0; i < NR_CPUS; i++) { + if (arch_cpu_to_apicid[i] == apic_id) + return i; + } + return -1; +} +#endif /* -------------------------------------------------------------------------- Driver Interface @@ -2158,7 +2191,8 @@ acpi_processor_get_info ( acpi_status status = 0; union acpi_object object = {0}; struct acpi_buffer buffer = {sizeof(union acpi_object), &object}; - static int cpu_index = 0; + u8 cpu_index; + static int cpu0_initialized; ACPI_FUNCTION_TRACE("acpi_processor_get_info"); @@ -2168,13 +2202,6 @@ acpi_processor_get_info ( if (num_online_cpus() > 1) errata.smp = TRUE; - /* - * Extra Processor objects may be enumerated on MP systems with - * less than the max # of CPUs. They should be ignored. - */ - if ((cpu_index + 1) > num_online_cpus()) - return_VALUE(-ENODEV); - acpi_processor_errata(pr); /* @@ -2206,9 +2233,27 @@ acpi_processor_get_info ( * TBD: Synch processor ID (via LAPIC/LSAPIC structures) on SMP. * >>> 'acpi_get_processor_id(acpi_id, &id)' in arch/xxx/acpi.c */ - pr->id = cpu_index++; pr->acpi_id = object.processor.proc_id; + cpu_index = convert_acpiid_to_cpu(pr->acpi_id); + + if ( !cpu0_initialized && (cpu_index == 0xff)) { + /* Handle UP system running SMP kernel, with no LAPIC in MADT */ + cpu_index = 0; + } else if (cpu_index > num_online_cpus()) { + /* + * Extra Processor objects may be enumerated on MP systems with + * less than the max # of CPUs. They should be ignored. + */ + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, + "Error getting cpuindex for acpiid 0x%x\n", + pr->acpi_id)); + return_VALUE(-ENODEV); + } + cpu0_initialized = 1; + + pr->id = cpu_index; + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Processor [%d:%d]\n", pr->id, pr->acpi_id)); @@ -2234,7 +2279,6 @@ acpi_processor_get_info ( * (In particular, allocating the IO range for Cardbus) */ request_region(pr->throttling.address, 6, "ACPI CPU throttle"); - request_region(acpi_fadt.xpm_tmr_blk.address, 4, "ACPI timer"); } acpi_processor_get_power_info(pr); @@ -2373,8 +2417,15 @@ acpi_processor_remove ( pr = (struct acpi_processor *) acpi_driver_data(device); /* Unregister the idle handler when processor #0 is removed. */ - if (pr->id == 0) + if (pr->id == 0) { pm_idle = pm_idle_save; + /* + * We are about to unload the current idle thread pm callback + * (pm_idle), Wait for all processors to update cached/local + * copies of pm_idle before proceeding. + */ + synchronize_kernel(); + } status = acpi_remove_notify_handler(pr->handle, ACPI_DEVICE_NOTIFY, acpi_processor_notify); diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index be148f489..4e46eeddf 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -23,7 +23,8 @@ extern struct acpi_device *acpi_root; #define ACPI_BUS_DEVICE_NAME "System Bus" static LIST_HEAD(acpi_device_list); -static spinlock_t acpi_device_lock = SPIN_LOCK_UNLOCKED; +spinlock_t acpi_device_lock = SPIN_LOCK_UNLOCKED; +LIST_HEAD(acpi_wakeup_device_list); static void acpi_device_release(struct kobject * kobj) { @@ -115,9 +116,6 @@ acpi_bus_get_power_flags ( status = acpi_get_handle(device->handle, "_IRC", &handle); if (ACPI_SUCCESS(status)) device->power.flags.inrush_current = 1; - status = acpi_get_handle(device->handle, "_PRW", &handle); - if (ACPI_SUCCESS(status)) - device->power.flags.wake_capable = 1; /* * Enumerate supported power management states @@ -163,6 +161,127 @@ acpi_bus_get_power_flags ( return 0; } +static int +acpi_match_ids ( + struct acpi_device *device, + char *ids) +{ + int error = 0; + struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL}; + + if (device->flags.hardware_id) + if (strstr(ids, device->pnp.hardware_id)) + goto Done; + + if (device->flags.compatible_ids) { + struct acpi_compatible_id_list *cid_list = device->pnp.cid_list; + int i; + + /* compare multiple _CID entries against driver ids */ + for (i = 0; i < cid_list->count; i++) + { + if (strstr(ids, cid_list->id[i].value)) + goto Done; + } + } + error = -ENOENT; + + Done: + if (buffer.pointer) + acpi_os_free(buffer.pointer); + return error; +} + +static acpi_status +acpi_bus_extract_wakeup_device_power_package ( + struct acpi_device *device, + union acpi_object *package) +{ + int i = 0; + union acpi_object *element = NULL; + + if (!device || !package || (package->package.count < 2)) + return AE_BAD_PARAMETER; + + element = &(package->package.elements[0]); + if (!element) + return AE_BAD_PARAMETER; + if (element->type == ACPI_TYPE_PACKAGE) { + if ((element->package.count < 2) || + (element->package.elements[0].type != ACPI_TYPE_LOCAL_REFERENCE) || + (element->package.elements[1].type != ACPI_TYPE_INTEGER)) + return AE_BAD_DATA; + device->wakeup.gpe_device = element->package.elements[0].reference.handle; + device->wakeup.gpe_number = (u32)element->package.elements[1].integer.value; + }else if (element->type == ACPI_TYPE_INTEGER) { + device->wakeup.gpe_number = element->integer.value; + }else + return AE_BAD_DATA; + + element = &(package->package.elements[1]); + if (element->type != ACPI_TYPE_INTEGER) { + return AE_BAD_DATA; + } + device->wakeup.sleep_state = element->integer.value; + + if ((package->package.count - 2) > ACPI_MAX_HANDLES) { + return AE_NO_MEMORY; + } + device->wakeup.resources.count = package->package.count - 2; + for (i=0; i < device->wakeup.resources.count; i++) { + element = &(package->package.elements[i + 2]); + if (element->type != ACPI_TYPE_ANY ) { + return AE_BAD_DATA; + } + + device->wakeup.resources.handles[i] = element->reference.handle; + } + + return AE_OK; +} + +static int +acpi_bus_get_wakeup_device_flags ( + struct acpi_device *device) +{ + acpi_status status = 0; + struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL}; + union acpi_object *package = NULL; + + ACPI_FUNCTION_TRACE("acpi_bus_get_wakeup_flags"); + + /* _PRW */ + status = acpi_evaluate_object(device->handle, "_PRW", NULL, &buffer); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error evaluating _PRW\n")); + goto end; + } + + package = (union acpi_object *) buffer.pointer; + status = acpi_bus_extract_wakeup_device_power_package(device, package); + if (ACPI_FAILURE(status)) { + ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Error extracting _PRW package\n")); + goto end; + } + + acpi_os_free(buffer.pointer); + + device->wakeup.flags.valid = 1; + /* Power button, Lid switch always enable wakeup*/ + if (!acpi_match_ids(device, "PNP0C0D,PNP0C0C,PNP0C0E")) + device->wakeup.flags.run_wake = 1; + + /* TBD: lock */ + INIT_LIST_HEAD(&device->wakeup_list); + spin_lock(&acpi_device_lock); + list_add_tail(&device->wakeup_list, &acpi_wakeup_device_list); + spin_unlock(&acpi_device_lock); + +end: + if (ACPI_FAILURE(status)) + device->flags.wake_capable = 0; + return 0; +} /* -------------------------------------------------------------------------- Performance Management @@ -195,30 +314,7 @@ acpi_bus_match ( struct acpi_device *device, struct acpi_driver *driver) { - int error = 0; - struct acpi_buffer buffer = {ACPI_ALLOCATE_BUFFER, NULL}; - - if (device->flags.hardware_id) - if (strstr(driver->ids, device->pnp.hardware_id)) - goto Done; - - if (device->flags.compatible_ids) { - struct acpi_compatible_id_list *cid_list = device->pnp.cid_list; - int i; - - /* compare multiple _CID entries against driver ids */ - for (i = 0; i < cid_list->count; i++) - { - if (strstr(driver->ids, cid_list->id[i].value)) - goto Done; - } - } - error = -ENOENT; - - Done: - if (buffer.pointer) - acpi_os_free(buffer.pointer); - return error; + return acpi_match_ids(device, driver->ids); } @@ -276,6 +372,7 @@ acpi_bus_driver_init ( static int acpi_driver_attach(struct acpi_driver * drv) { struct list_head * node, * next; + int count = 0; ACPI_FUNCTION_TRACE("acpi_driver_attach"); @@ -290,6 +387,7 @@ static int acpi_driver_attach(struct acpi_driver * drv) if (!acpi_bus_match(dev, drv)) { if (!acpi_bus_driver_init(dev, drv)) { atomic_inc(&drv->references); + count++; ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Found driver [%s] for device [%s]\n", drv->name, dev->pnp.bus_id)); } @@ -297,7 +395,7 @@ static int acpi_driver_attach(struct acpi_driver * drv) spin_lock(&acpi_device_lock); } spin_unlock(&acpi_device_lock); - return_VALUE(0); + return_VALUE(count); } static int acpi_driver_detach(struct acpi_driver * drv) @@ -328,28 +426,30 @@ static int acpi_driver_detach(struct acpi_driver * drv) * acpi_bus_register_driver * ------------------------ * Registers a driver with the ACPI bus. Searches the namespace for all - * devices that match the driver's criteria and binds. + * devices that match the driver's criteria and binds. Returns the + * number of devices that were claimed by the driver, or a negative + * error status for failure. */ int acpi_bus_register_driver ( struct acpi_driver *driver) { - int error = 0; + int count; ACPI_FUNCTION_TRACE("acpi_bus_register_driver"); if (acpi_disabled) return_VALUE(-ENODEV); - if (driver) { - spin_lock(&acpi_device_lock); - list_add_tail(&driver->node, &acpi_bus_drivers); - spin_unlock(&acpi_device_lock); - acpi_driver_attach(driver); - } else - error = -EINVAL; + if (!driver) + return_VALUE(-EINVAL); - return_VALUE(error); + spin_lock(&acpi_device_lock); + list_add_tail(&driver->node, &acpi_bus_drivers); + spin_unlock(&acpi_device_lock); + count = acpi_driver_attach(driver); + + return_VALUE(count); } @@ -469,6 +569,11 @@ acpi_bus_get_flags ( if (ACPI_SUCCESS(status)) device->flags.power_manageable = 1; + /* Presence of _PRW indicates wake capable */ + status = acpi_get_handle(device->handle, "_PRW", &temp); + if (ACPI_SUCCESS(status)) + device->flags.wake_capable = 1; + /* TBD: Peformance management */ return_VALUE(0); @@ -740,6 +845,16 @@ acpi_bus_add ( goto end; } + /* + * Wakeup device management + *----------------------- + */ + if (device->flags.wake_capable) { + result = acpi_bus_get_wakeup_device_flags(device); + if (result) + goto end; + } + /* * Performance Management * ---------------------- diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c index c7b17e7fa..847a90ed5 100644 --- a/drivers/acpi/sleep/main.c +++ b/drivers/acpi/sleep/main.c @@ -35,16 +35,16 @@ static int init_8259A_after_S1; /** * acpi_pm_prepare - Do preliminary suspend work. - * @state: suspend state we're entering. + * @pm_state: suspend state we're entering. * * Make sure we support the state. If we do, and we need it, set the * firmware waking vector and do arch-specific nastiness to get the * wakeup code to the waking vector. */ -static int acpi_pm_prepare(u32 state) +static int acpi_pm_prepare(u32 pm_state) { - u32 acpi_state = acpi_suspend_states[state]; + u32 acpi_state = acpi_suspend_states[pm_state]; if (!sleep_states[acpi_state]) return -EPERM; @@ -52,13 +52,14 @@ static int acpi_pm_prepare(u32 state) /* do we have a wakeup address for S2 and S3? */ /* Here, we support only S4BIOS, those we set the wakeup address */ /* S4OS is only supported for now via swsusp.. */ - if (state == PM_SUSPEND_MEM || state == PM_SUSPEND_DISK) { + if (pm_state == PM_SUSPEND_MEM || pm_state == PM_SUSPEND_DISK) { if (!acpi_wakeup_address) return -EFAULT; acpi_set_firmware_waking_vector( (acpi_physical_address) acpi_wakeup_address); } ACPI_FLUSH_CPU_CACHE(); + acpi_enable_wakeup_device_prep(acpi_state); acpi_enter_sleep_state_prep(acpi_state); return 0; } @@ -66,23 +67,23 @@ static int acpi_pm_prepare(u32 state) /** * acpi_pm_enter - Actually enter a sleep state. - * @state: State we're entering. + * @pm_state: State we're entering. * * Flush caches and go to sleep. For STR or STD, we have to call * arch-specific assembly, which in turn call acpi_enter_sleep_state(). * It's unfortunate, but it works. Please fix if you're feeling frisky. */ -static int acpi_pm_enter(u32 state) +static int acpi_pm_enter(u32 pm_state) { acpi_status status = AE_OK; unsigned long flags = 0; - u32 acpi_state = acpi_suspend_states[state]; + u32 acpi_state = acpi_suspend_states[pm_state]; ACPI_FLUSH_CPU_CACHE(); /* Do arch specific saving of state. */ - if (state > PM_SUSPEND_STANDBY) { + if (pm_state > PM_SUSPEND_STANDBY) { int error = acpi_save_state_mem(); if (error) return error; @@ -90,7 +91,8 @@ static int acpi_pm_enter(u32 state) local_irq_save(flags); - switch (state) + acpi_enable_wakeup_device(acpi_state); + switch (pm_state) { case PM_SUSPEND_STANDBY: barrier(); @@ -118,7 +120,7 @@ static int acpi_pm_enter(u32 state) * And, in the case of the latter, the memory image should have already * been loaded from disk. */ - if (state > PM_SUSPEND_STANDBY) + if (pm_state > PM_SUSPEND_STANDBY) acpi_restore_state_mem(); @@ -128,15 +130,18 @@ static int acpi_pm_enter(u32 state) /** * acpi_pm_finish - Finish up suspend sequence. - * @state: State we're coming out of. + * @pm_state: State we're coming out of. * * This is called after we wake back up (or if entering the sleep state * failed). */ -static int acpi_pm_finish(u32 state) +static int acpi_pm_finish(u32 pm_state) { - acpi_leave_sleep_state(state); + u32 acpi_state = acpi_suspend_states[pm_state]; + + acpi_leave_sleep_state(acpi_state); + acpi_disable_wakeup_device(acpi_state); /* reset firmware waking vector */ acpi_set_firmware_waking_vector((acpi_physical_address) 0); @@ -199,7 +204,7 @@ static int __init acpi_sleep_init(void) return 0; printk(KERN_INFO PREFIX "(supports"); - for (i=0; isignature; - printk(KERN_INFO PREFIX "%.4s (v%3.3d %6.6s %8.8s 0x%08x %.4s 0x%08x) @ 0x%p\n", + printk(KERN_DEBUG PREFIX "%.4s (v%3.3d %6.6s %8.8s 0x%08x %.4s 0x%08x) @ 0x%p\n", name, header->revision, header->oem_id, header->oem_table_id, header->oem_revision, header->asl_compiler_id, header->asl_compiler_revision, @@ -587,7 +587,7 @@ acpi_table_init (void) return -ENODEV; } - printk(KERN_INFO PREFIX "RSDP (v%3.3d %6.6s ) @ 0x%p\n", + printk(KERN_DEBUG PREFIX "RSDP (v%3.3d %6.6s ) @ 0x%p\n", rsdp->revision, rsdp->oem_id, (void *) rsdp_phys); if (rsdp->revision < 2) diff --git a/drivers/acpi/tables/tbconvrt.c b/drivers/acpi/tables/tbconvrt.c index ee6818832..c2156cf21 100644 --- a/drivers/acpi/tables/tbconvrt.c +++ b/drivers/acpi/tables/tbconvrt.c @@ -251,10 +251,22 @@ acpi_tb_convert_fadt1 ( local_fadt->cst_cnt = 0; /* - * Since there isn't any equivalence in 1.0 and since it highly likely - * that a 1.0 system has legacy support. + * Support for ACPI system reset mechanism was introduced between + * Spec revisions 1.0b and 2.0, for legacy free systems.. */ - local_fadt->iapc_boot_arch = BAF_LEGACY_DEVICES; + if (original_fadt->revision == FADT2_INTERIM_REVISION_ID && original_fadt->length == FADT2_INTERIM_LENGTH) { + /* + * Copy the entire GAS, plus the 1-byte reset value that + * immediately follows. + */ + ACPI_MEMCPY (&local_fadt->reset_register, &((FADT_DESCRIPTOR *)original_fadt)->reset_register, sizeof(struct acpi_generic_address) + 1); + } else { + /* + * Otherwise, there isn't any equivalence in 1.0 and it's + * highly likely that a 1.0 system has legacy support. + */ + local_fadt->iapc_boot_arch = BAF_LEGACY_DEVICES; + } /* * Convert the V1.0 block addresses to V2.0 GAS structures diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 7b94ac081..05388672d 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -60,6 +60,7 @@ #define ACPI_THERMAL_NOTIFY_HOT 0xF1 #define ACPI_THERMAL_MODE_ACTIVE 0x00 #define ACPI_THERMAL_MODE_PASSIVE 0x01 +#define ACPI_THERMAL_MODE_CRT 0xff #define ACPI_THERMAL_PATH_POWEROFF "/sbin/poweroff" #define ACPI_THERMAL_MAX_ACTIVE 10 @@ -160,6 +161,7 @@ struct acpi_thermal { unsigned long last_temperature; unsigned long polling_frequency; u8 cooling_mode; + volatile u8 zombie; struct acpi_thermal_flags flags; struct acpi_thermal_state state; struct acpi_thermal_trips trips; @@ -289,13 +291,6 @@ acpi_thermal_set_cooling_mode ( status = acpi_get_handle(tz->handle, "_SCP", &handle); if (ACPI_FAILURE(status)) { ACPI_DEBUG_PRINT((ACPI_DB_INFO, "_SCP not present\n")); - status = acpi_get_handle(tz->handle, "_PSV", &handle); - if(!ACPI_FAILURE(status)) { - tz->cooling_mode = 1; - ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Cooling mode [%s]\n", - mode?"passive":"active")); - return_VALUE(0); - } return_VALUE(-ENODEV); } @@ -653,7 +648,10 @@ static void acpi_thermal_run ( unsigned long data) { - acpi_os_queue_for_execution(OSD_PRIORITY_GPE, acpi_thermal_check, (void *) data); + struct acpi_thermal *tz = (struct acpi_thermal *)data; + if (!tz->zombie) + acpi_os_queue_for_execution(OSD_PRIORITY_GPE, + acpi_thermal_check, (void *) data); } @@ -665,7 +663,7 @@ acpi_thermal_check ( struct acpi_thermal *tz = (struct acpi_thermal *) data; unsigned long sleep_time = 0; int i = 0; - struct acpi_thermal_state state = tz->state; + struct acpi_thermal_state state; ACPI_FUNCTION_TRACE("acpi_thermal_check"); @@ -674,6 +672,8 @@ acpi_thermal_check ( return_VOID; } + state = tz->state; + result = acpi_thermal_get_temperature(tz); if (result) return_VOID; @@ -899,8 +899,10 @@ acpi_thermal_write_trip_points ( struct seq_file *m = (struct seq_file *)file->private_data; struct acpi_thermal *tz = (struct acpi_thermal *)m->private; - char limit_string[25] = {'\0'}; - int critical, hot, passive, active0, active1; + char limit_string[65] = {'\0'}; + int num, critical, hot, passive; + int active[ACPI_THERMAL_MAX_ACTIVE]; + int i = 0; ACPI_FUNCTION_TRACE("acpi_thermal_write_trip_points"); @@ -916,7 +918,11 @@ acpi_thermal_write_trip_points ( limit_string[count] = '\0'; - if (sscanf(limit_string, "%d:%d:%d:%d:%d", &critical, &hot, &passive, &active0, &active1) != 5) { + num = sscanf(limit_string, "%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d", + &critical, &hot, &passive, + &active[0], &active[1], &active[2], &active[3], &active[4], + &active[5], &active[6], &active[7], &active[8], &active[9]); + if(!(num >=5 && num < (ACPI_THERMAL_MAX_ACTIVE + 3))) { ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Invalid data format\n")); return_VALUE(-EINVAL); } @@ -924,8 +930,11 @@ acpi_thermal_write_trip_points ( tz->trips.critical.temperature = CELSIUS_TO_KELVIN(critical); tz->trips.hot.temperature = CELSIUS_TO_KELVIN(hot); tz->trips.passive.temperature = CELSIUS_TO_KELVIN(passive); - tz->trips.active[0].temperature = CELSIUS_TO_KELVIN(active0); - tz->trips.active[1].temperature = CELSIUS_TO_KELVIN(active1); + for (i = 0; i < num - 3; i++) { + if (!(tz->trips.active[i].flags.valid)) + break; + tz->trips.active[i].temperature = CELSIUS_TO_KELVIN(active[i]); + } return_VALUE(count); } @@ -941,12 +950,14 @@ static int acpi_thermal_cooling_seq_show(struct seq_file *seq, void *offset) goto end; if (!tz->flags.cooling_mode) { - seq_puts(seq, "\n"); - goto end; + seq_puts(seq, "\n"); } - seq_printf(seq, "cooling mode: %s\n", - tz->cooling_mode?"passive":"active"); + if ( tz->cooling_mode == ACPI_THERMAL_MODE_CRT ) + seq_printf(seq, "cooling mode: critical\n"); + else + seq_printf(seq, "cooling mode: %s\n", + tz->cooling_mode?"passive":"active"); end: return 0; @@ -988,6 +999,8 @@ acpi_thermal_write_cooling_mode ( if (result) return_VALUE(result); + acpi_thermal_check(tz); + return_VALUE(count); } @@ -1225,16 +1238,34 @@ acpi_thermal_get_info ( if (result) return_VALUE(result); - /* Set the cooling mode [_SCP] to active cooling (default) */ - result = acpi_thermal_set_cooling_mode(tz, ACPI_THERMAL_MODE_ACTIVE); - if (!result) - tz->flags.cooling_mode = 1; - /* Get trip points [_CRT, _PSV, etc.] (required) */ result = acpi_thermal_get_trip_points(tz); if (result) return_VALUE(result); + /* Set the cooling mode [_SCP] to active cooling (default) */ + result = acpi_thermal_set_cooling_mode(tz, ACPI_THERMAL_MODE_ACTIVE); + if (!result) + tz->flags.cooling_mode = 1; + else { + /* Oh,we have not _SCP method. + Generally show cooling_mode by _ACx, _PSV,spec 12.2*/ + tz->flags.cooling_mode = 0; + if ( tz->trips.active[0].flags.valid && tz->trips.passive.flags.valid ) { + if ( tz->trips.passive.temperature > tz->trips.active[0].temperature ) + tz->cooling_mode = ACPI_THERMAL_MODE_ACTIVE; + else + tz->cooling_mode = ACPI_THERMAL_MODE_PASSIVE; + } else if ( !tz->trips.active[0].flags.valid && tz->trips.passive.flags.valid ) { + tz->cooling_mode = ACPI_THERMAL_MODE_PASSIVE; + } else if ( tz->trips.active[0].flags.valid && !tz->trips.passive.flags.valid ) { + tz->cooling_mode = ACPI_THERMAL_MODE_ACTIVE; + } else { + /* _ACx and _PSV are optional, but _CRT is required */ + tz->cooling_mode = ACPI_THERMAL_MODE_CRT; + } + } + /* Get default polling frequency [_TZP] (optional) */ if (tzp) tz->polling_frequency = tzp; @@ -1324,8 +1355,14 @@ acpi_thermal_remove ( tz = (struct acpi_thermal *) acpi_driver_data(device); - if (timer_pending(&(tz->timer))) - del_timer(&(tz->timer)); + /* avoid timer adding new defer task */ + tz->zombie = 1; + /* wait for running timer (on other CPUs) finish */ + del_timer_sync(&(tz->timer)); + /* synchronize deferred task */ + acpi_os_wait_events_complete(NULL); + /* deferred task may reinsert timer */ + del_timer_sync(&(tz->timer)); status = acpi_remove_notify_handler(tz->handle, ACPI_DEVICE_NOTIFY, acpi_thermal_notify); @@ -1347,6 +1384,7 @@ acpi_thermal_remove ( acpi_thermal_remove_fs(device); + kfree(tz); return_VALUE(0); } diff --git a/drivers/acpi/utilities/utglobal.c b/drivers/acpi/utilities/utglobal.c index f42848ab7..489a99687 100644 --- a/drivers/acpi/utilities/utglobal.c +++ b/drivers/acpi/utilities/utglobal.c @@ -142,11 +142,11 @@ unknown: */ /* Debug switch - level and trace mask */ -u32 acpi_dbg_level = 0; +u32 acpi_dbg_level = ACPI_DEBUG_DEFAULT; /* Debug switch - layer (component) mask */ -u32 acpi_dbg_layer = 0; +u32 acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; u32 acpi_gbl_nesting_level = 0; diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c index fe809480e..9be4013f5 100644 --- a/drivers/atm/ambassador.c +++ b/drivers/atm/ambassador.c @@ -2291,11 +2291,10 @@ static int __init do_pci_device(struct pci_dev *pci_dev) // read resources from PCI configuration space u8 irq = pci_dev->irq; - u32 * membase = bus_to_virt (pci_resource_start (pci_dev, 0)); - u32 iobase = pci_resource_start (pci_dev, 1); PRINTD (DBG_INFO, "found Madge ATM adapter (amb) at" - " IO %x, IRQ %u, MEM %p", iobase, irq, membase); + " IO %x, IRQ %u, MEM %p", pci_resource_start(pci_dev, 1), + irq, bus_to_virt(pci_resource_start(pci_dev, 0))); // check IO region err = pci_request_region(pci_dev, 1, DEV_LABEL); diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c index 91b85a95d..68919a710 100644 --- a/drivers/atm/firestream.c +++ b/drivers/atm/firestream.c @@ -1667,7 +1667,7 @@ static int __devinit fs_init (struct fs_dev *dev) dev->hw_base = pci_resource_start(pci_dev, 0); - dev->base = (ulong) ioremap(dev->hw_base, 0x1000); + dev->base = ioremap(dev->hw_base, 0x1000); reset_chip (dev); @@ -1704,8 +1704,7 @@ static int __devinit fs_init (struct fs_dev *dev) } /* Try again after 10ms. */ - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout ((HZ+99)/100); + msleep(10); } if (!to) { diff --git a/drivers/atm/fore200e.h b/drivers/atm/fore200e.h index aca550b66..420216561 100644 --- a/drivers/atm/fore200e.h +++ b/drivers/atm/fore200e.h @@ -565,7 +565,7 @@ typedef struct host_cmdq_entry { typedef struct chunk { void* alloc_addr; /* base address of allocated chunk */ void* align_addr; /* base address of aligned chunk */ - u32 dma_addr; /* DMA address of aligned chunk */ + dma_addr_t dma_addr; /* DMA address of aligned chunk */ int direction; /* direction of DMA mapping */ u32 alloc_size; /* length of allocated chunk */ u32 align_size; /* length of aligned chunk */ diff --git a/drivers/atm/he.c b/drivers/atm/he.c index 71e5b5146..74b490bc4 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -1007,6 +1007,7 @@ he_start(struct atm_dev *dev) { struct he_dev *he_dev; struct pci_dev *pci_dev; + unsigned long membase; u16 command; u32 gen_cntl_0, host_cntl, lb_swap; @@ -1019,8 +1020,8 @@ he_start(struct atm_dev *dev) he_dev = HE_DEV(dev); pci_dev = he_dev->pci_dev; - he_dev->membase = pci_dev->resource[0].start; - HPRINTK("membase = 0x%lx irq = %d.\n", he_dev->membase, pci_dev->irq); + membase = pci_resource_start(pci_dev, 0); + HPRINTK("membase = 0x%lx irq = %d.\n", membase, pci_dev->irq); /* * pci bus controller initialization @@ -1080,7 +1081,7 @@ he_start(struct atm_dev *dev) hprintk("can't set latency timer to %d\n", timer); } - if (!(he_dev->membase = (unsigned long) ioremap(he_dev->membase, HE_REGMAP_SIZE))) { + if (!(he_dev->membase = ioremap(membase, HE_REGMAP_SIZE))) { hprintk("can't set up page mapping\n"); return -EINVAL; } @@ -1962,7 +1963,7 @@ he_service_tbrq(struct he_dev *he_dev, int group) struct he_tpd *tpd; int slot, updated = 0; #ifdef USE_TPD_POOL - struct list_head *p; + struct he_tpd *__tpd; #endif /* 2.1.6 transmit buffer return queue */ @@ -1977,8 +1978,7 @@ he_service_tbrq(struct he_dev *he_dev, int group) TBRQ_MULTIPLE(he_dev->tbrq_head) ? " MULTIPLE" : ""); #ifdef USE_TPD_POOL tpd = NULL; - list_for_each(p, &he_dev->outstanding_tpds) { - struct he_tpd *__tpd = list_entry(p, struct he_tpd, entry); + list_for_each_entry(__tpd, &he_dev->outstanding_tpds, entry) { if (TPD_ADDR(__tpd->status) == TBRQ_TPD(he_dev->tbrq_head)) { tpd = __tpd; list_del(&__tpd->entry); @@ -2595,9 +2595,8 @@ he_close(struct atm_vcc *vcc) while (((tx_inuse = atomic_read(&vcc->sk->sk_wmem_alloc)) > 0) && (retry < MAX_RETRY)) { - set_current_state(TASK_UNINTERRUPTIBLE); - (void) schedule_timeout(sleep); - if (sleep < HZ) + msleep(sleep); + if (sleep < 250) sleep = sleep * 2; ++retry; diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c index b2bede540..3959cf83e 100644 --- a/drivers/atm/idt77252.c +++ b/drivers/atm/idt77252.c @@ -2516,7 +2516,7 @@ idt77252_close(struct atm_vcc *vcc) struct vc_map *vc = vcc->dev_data; unsigned long flags; unsigned long addr; - int timeout; + unsigned long timeout; down(&card->mutex); @@ -2566,9 +2566,9 @@ done: } spin_unlock_irqrestore(&vc->lock, flags); - timeout = 5 * HZ; + timeout = 5 * 1000; while (atomic_read(&vc->scq->used) > 0) { - timeout = schedule_timeout(timeout); + timeout = msleep_interruptible(timeout); if (!timeout) break; } @@ -3164,7 +3164,7 @@ deinit_card(struct idt77252_dev *card) for (i = 0; i < 4; i++) { if (card->fbq[i]) - iounmap((void *) card->fbq[i]); + iounmap(card->fbq[i]); } if (card->membase) @@ -3681,18 +3681,25 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) struct idt77252_dev *card; struct atm_dev *dev; ushort revision = 0; - int i; + int i, err; + + if (pci_enable_device(pcidev)) { + printk("idt77252: can't enable PCI device at %s\n", pci_name(pcidev)); + return -ENODEV; + } if (pci_read_config_word(pcidev, PCI_REVISION_ID, &revision)) { printk("idt77252-%d: can't read PCI_REVISION_ID\n", index); - return -ENODEV; + err = -ENODEV; + goto err_out_disable_pdev; } card = kmalloc(sizeof(struct idt77252_dev), GFP_KERNEL); if (!card) { printk("idt77252-%d: can't allocate private data\n", index); - return -ENOMEM; + err = -ENOMEM; + goto err_out_disable_pdev; } memset(card, 0, sizeof(struct idt77252_dev)); @@ -3715,26 +3722,24 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) card->tst_timer.function = tst_timer; /* Do the I/O remapping... */ - card->membase = (unsigned long) ioremap(membase, 1024); + card->membase = ioremap(membase, 1024); if (!card->membase) { printk("%s: can't ioremap() membase\n", card->name); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_free_card; } if (idt77252_preset(card)) { printk("%s: preset failed\n", card->name); - iounmap((void *) card->membase); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_iounmap; } dev = atm_dev_register("idt77252", &idt77252_ops, -1, NULL); if (!dev) { printk("%s: can't register atm device\n", card->name); - iounmap((void *) card->membase); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_iounmap; } dev->dev_data = card; card->atmdev = dev; @@ -3743,22 +3748,19 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) suni_init(dev); if (!dev->phy) { printk("%s: can't init SUNI\n", card->name); - deinit_card(card); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_deinit_card; } #endif /* CONFIG_ATM_IDT77252_USE_SUNI */ card->sramsize = probe_sram(card); for (i = 0; i < 4; i++) { - card->fbq[i] = (unsigned long) - ioremap(srambase | 0x200000 | (i << 18), 4); + card->fbq[i] = ioremap(srambase | 0x200000 | (i << 18), 4); if (!card->fbq[i]) { printk("%s: can't ioremap() FBQ%d\n", card->name, i); - deinit_card(card); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_deinit_card; } } @@ -3769,9 +3771,8 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) if (init_card(dev)) { printk("%s: init_card failed\n", card->name); - deinit_card(card); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_deinit_card; } dev->ci_range.vpi_bits = card->vpibits; @@ -3783,12 +3784,8 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) if (idt77252_dev_open(card)) { printk("%s: dev_open failed\n", card->name); - - if (dev->phy->stop) - dev->phy->stop(dev); - deinit_card(card); - kfree(card); - return -EIO; + err = -EIO; + goto err_out_stop; } *last = card; @@ -3796,6 +3793,23 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) index++; return 0; + +err_out_stop: + if (dev->phy->stop) + dev->phy->stop(dev); + +err_out_deinit_card: + deinit_card(card); + +err_out_iounmap: + iounmap((void *) card->membase); + +err_out_free_card: + kfree(card); + +err_out_disable_pdev: + pci_disable_device(pcidev); + return err; } static struct pci_device_id idt77252_pci_tbl[] = @@ -3848,6 +3862,7 @@ static void __exit idt77252_exit(void) if (dev->phy->stop) dev->phy->stop(dev); deinit_card(card); + pci_disable_device(card->pcidev); kfree(card); } diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c index 53f6d29c5..e23d3f714 100644 --- a/drivers/atm/lanai.c +++ b/drivers/atm/lanai.c @@ -191,7 +191,7 @@ #define LANAI_EEPROM_SIZE (128) typedef int vci_t; -typedef unsigned long bus_addr_t; +typedef void __iomem *bus_addr_t; /* DMA buffer in host memory for TX, RX, or service list. */ struct lanai_buffer { @@ -471,7 +471,7 @@ enum lanai_register { static inline bus_addr_t reg_addr(const struct lanai_dev *lanai, enum lanai_register reg) { - return lanai->base + (bus_addr_t) reg; + return lanai->base + reg; } static inline u32 reg_read(const struct lanai_dev *lanai, @@ -651,7 +651,7 @@ static inline u32 cardvcc_read(const struct lanai_vcc *lvcc, { u32 val; APRINTK(lvcc->vbase != 0, "cardvcc_read: unbound vcc!\n"); - val= readl(lvcc->vbase + (bus_addr_t) offset); + val= readl(lvcc->vbase + offset); RWDEBUG("VR vci=%04d 0x%02X = 0x%08X\n", lvcc->vci, (int) offset, val); return val; @@ -666,7 +666,7 @@ static inline void cardvcc_write(const struct lanai_vcc *lvcc, (unsigned int) val, lvcc->vci, (unsigned int) offset); RWDEBUG("VW vci=%04d 0x%02X > 0x%08X\n", lvcc->vci, (unsigned int) offset, (unsigned int) val); - writel(val, lvcc->vbase + (bus_addr_t) offset); + writel(val, lvcc->vbase + offset); } /* -------------------- COMPUTE SIZE OF AN AAL5 PDU: */ @@ -813,7 +813,7 @@ static void lanai_shutdown_tx_vci(struct lanai_dev *lanai, DPRINTK("read, write = %d, %d\n", read, write); break; } - schedule_timeout(HZ / 25); + msleep(40); } /* 15.2.2 - clear out all tx registers */ cardvcc_write(lvcc, 0, vcc_txreadptr); @@ -2177,7 +2177,7 @@ static int __init lanai_dev_open(struct atm_dev *atmdev) /* 3.2: PCI initialization */ if ((result = lanai_pci_start(lanai)) != 0) goto error; - raw_base = (bus_addr_t) lanai->pci->resource[0].start; + raw_base = lanai->pci->resource[0].start; lanai->base = (bus_addr_t) ioremap(raw_base, LANAI_MAPPING_SIZE); if (lanai->base == 0) { printk(KERN_ERR DEV_LABEL ": couldn't remap I/O space\n"); diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 12701407b..f0c96bda0 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c @@ -306,7 +306,7 @@ static int device_attach(struct device * dev) if (!error) /* success, driver matched */ return 1; - if (error != -ENODEV) + if (error != -ENODEV && error != -ENXIO) /* driver matched but the probe failed */ printk(KERN_WARNING "%s: probe of %s failed with error %d\n", @@ -721,20 +721,20 @@ int __init buses_init(void) } -EXPORT_SYMBOL(bus_for_each_dev); -EXPORT_SYMBOL(bus_for_each_drv); +EXPORT_SYMBOL_GPL(bus_for_each_dev); +EXPORT_SYMBOL_GPL(bus_for_each_drv); -EXPORT_SYMBOL(device_bind_driver); -EXPORT_SYMBOL(device_release_driver); +EXPORT_SYMBOL_GPL(device_bind_driver); +EXPORT_SYMBOL_GPL(device_release_driver); -EXPORT_SYMBOL(bus_add_device); -EXPORT_SYMBOL(bus_remove_device); -EXPORT_SYMBOL(bus_register); -EXPORT_SYMBOL(bus_unregister); -EXPORT_SYMBOL(bus_rescan_devices); -EXPORT_SYMBOL(get_bus); -EXPORT_SYMBOL(put_bus); -EXPORT_SYMBOL(find_bus); +EXPORT_SYMBOL_GPL(bus_add_device); +EXPORT_SYMBOL_GPL(bus_remove_device); +EXPORT_SYMBOL_GPL(bus_register); +EXPORT_SYMBOL_GPL(bus_unregister); +EXPORT_SYMBOL_GPL(bus_rescan_devices); +EXPORT_SYMBOL_GPL(get_bus); +EXPORT_SYMBOL_GPL(put_bus); +EXPORT_SYMBOL_GPL(find_bus); -EXPORT_SYMBOL(bus_create_file); -EXPORT_SYMBOL(bus_remove_file); +EXPORT_SYMBOL_GPL(bus_create_file); +EXPORT_SYMBOL_GPL(bus_remove_file); diff --git a/drivers/base/class.c b/drivers/base/class.c index 2693bb545..4317723af 100644 --- a/drivers/base/class.c +++ b/drivers/base/class.c @@ -349,14 +349,19 @@ void class_device_initialize(struct class_device *class_dev) int class_device_add(struct class_device *class_dev) { - struct class * parent; + struct class * parent = NULL; struct class_interface * class_intf; int error; class_dev = class_device_get(class_dev); - if (!class_dev || !strlen(class_dev->class_id)) + if (!class_dev) return -EINVAL; + if (!strlen(class_dev->class_id)) { + error = -EINVAL; + goto register_done; + } + parent = class_get(class_dev->class); pr_debug("CLASS: registering class device: ID = '%s'\n", @@ -523,22 +528,22 @@ int __init classes_init(void) return 0; } -EXPORT_SYMBOL(class_create_file); -EXPORT_SYMBOL(class_remove_file); -EXPORT_SYMBOL(class_register); -EXPORT_SYMBOL(class_unregister); -EXPORT_SYMBOL(class_get); -EXPORT_SYMBOL(class_put); - -EXPORT_SYMBOL(class_device_register); -EXPORT_SYMBOL(class_device_unregister); -EXPORT_SYMBOL(class_device_initialize); -EXPORT_SYMBOL(class_device_add); -EXPORT_SYMBOL(class_device_del); -EXPORT_SYMBOL(class_device_get); -EXPORT_SYMBOL(class_device_put); -EXPORT_SYMBOL(class_device_create_file); -EXPORT_SYMBOL(class_device_remove_file); - -EXPORT_SYMBOL(class_interface_register); -EXPORT_SYMBOL(class_interface_unregister); +EXPORT_SYMBOL_GPL(class_create_file); +EXPORT_SYMBOL_GPL(class_remove_file); +EXPORT_SYMBOL_GPL(class_register); +EXPORT_SYMBOL_GPL(class_unregister); +EXPORT_SYMBOL_GPL(class_get); +EXPORT_SYMBOL_GPL(class_put); + +EXPORT_SYMBOL_GPL(class_device_register); +EXPORT_SYMBOL_GPL(class_device_unregister); +EXPORT_SYMBOL_GPL(class_device_initialize); +EXPORT_SYMBOL_GPL(class_device_add); +EXPORT_SYMBOL_GPL(class_device_del); +EXPORT_SYMBOL_GPL(class_device_get); +EXPORT_SYMBOL_GPL(class_device_put); +EXPORT_SYMBOL_GPL(class_device_create_file); +EXPORT_SYMBOL_GPL(class_device_remove_file); + +EXPORT_SYMBOL_GPL(class_interface_register); +EXPORT_SYMBOL_GPL(class_interface_unregister); diff --git a/drivers/base/core.c b/drivers/base/core.c index 153cdc48b..4d9a44e1a 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -401,17 +401,17 @@ int __init devices_init(void) return subsystem_register(&devices_subsys); } -EXPORT_SYMBOL(device_for_each_child); +EXPORT_SYMBOL_GPL(device_for_each_child); -EXPORT_SYMBOL(device_initialize); -EXPORT_SYMBOL(device_add); -EXPORT_SYMBOL(device_register); +EXPORT_SYMBOL_GPL(device_initialize); +EXPORT_SYMBOL_GPL(device_add); +EXPORT_SYMBOL_GPL(device_register); -EXPORT_SYMBOL(device_del); -EXPORT_SYMBOL(device_unregister); -EXPORT_SYMBOL(get_device); -EXPORT_SYMBOL(put_device); -EXPORT_SYMBOL(device_find); +EXPORT_SYMBOL_GPL(device_del); +EXPORT_SYMBOL_GPL(device_unregister); +EXPORT_SYMBOL_GPL(get_device); +EXPORT_SYMBOL_GPL(put_device); +EXPORT_SYMBOL_GPL(device_find); -EXPORT_SYMBOL(device_create_file); -EXPORT_SYMBOL(device_remove_file); +EXPORT_SYMBOL_GPL(device_create_file); +EXPORT_SYMBOL_GPL(device_remove_file); diff --git a/drivers/base/driver.c b/drivers/base/driver.c index 735bd1702..9556f912f 100644 --- a/drivers/base/driver.c +++ b/drivers/base/driver.c @@ -129,11 +129,11 @@ struct device_driver *driver_find(const char *name, struct bus_type *bus) return NULL; } -EXPORT_SYMBOL(driver_register); -EXPORT_SYMBOL(driver_unregister); -EXPORT_SYMBOL(get_driver); -EXPORT_SYMBOL(put_driver); -EXPORT_SYMBOL(driver_find); - -EXPORT_SYMBOL(driver_create_file); -EXPORT_SYMBOL(driver_remove_file); +EXPORT_SYMBOL_GPL(driver_register); +EXPORT_SYMBOL_GPL(driver_unregister); +EXPORT_SYMBOL_GPL(get_driver); +EXPORT_SYMBOL_GPL(put_driver); +EXPORT_SYMBOL_GPL(driver_find); + +EXPORT_SYMBOL_GPL(driver_create_file); +EXPORT_SYMBOL_GPL(driver_remove_file); diff --git a/drivers/base/firmware.c b/drivers/base/firmware.c index 0cff0498e..88ab04493 100644 --- a/drivers/base/firmware.c +++ b/drivers/base/firmware.c @@ -30,5 +30,5 @@ int __init firmware_init(void) return subsystem_register(&firmware_subsys); } -EXPORT_SYMBOL(firmware_register); -EXPORT_SYMBOL(firmware_unregister); +EXPORT_SYMBOL_GPL(firmware_register); +EXPORT_SYMBOL_GPL(firmware_unregister); diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index a57ba84eb..a9d94a31f 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include @@ -235,6 +235,8 @@ firmware_data_write(struct kobject *kobj, struct firmware *fw; ssize_t retval; + if (!capable(CAP_SYS_RAWIO)) + return -EPERM; down(&fw_lock); fw = fw_priv->fw; if (test_bit(FW_STATUS_DONE, &fw_priv->status)) { @@ -580,4 +582,3 @@ EXPORT_SYMBOL(release_firmware); EXPORT_SYMBOL(request_firmware); EXPORT_SYMBOL(request_firmware_nowait); EXPORT_SYMBOL(register_firmware); -EXPORT_SYMBOL(firmware_class); diff --git a/drivers/base/node.c b/drivers/base/node.c index c1187363f..df74785ef 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -19,7 +19,7 @@ static struct sysdev_class node_class = { static ssize_t node_read_cpumap(struct sys_device * dev, char * buf) { struct node *node_dev = to_node(dev); - cpumask_t mask = node_dev->cpumap; + cpumask_t mask = node_to_cpumask(node_dev->sysdev.id); int len; /* 2004/06/03: buf currently PAGE_SIZE, need > 1 char per 4 bits. */ @@ -38,11 +38,19 @@ static ssize_t node_read_meminfo(struct sys_device * dev, char * buf) int n; int nid = dev->id; struct sysinfo i; + unsigned long inactive; + unsigned long active; + unsigned long free; + si_meminfo_node(&i, nid); + __get_zone_counts(&active, &inactive, &free, NODE_DATA(nid)); + n = sprintf(buf, "\n" "Node %d MemTotal: %8lu kB\n" "Node %d MemFree: %8lu kB\n" "Node %d MemUsed: %8lu kB\n" + "Node %d Active: %8lu kB\n" + "Node %d Inactive: %8lu kB\n" "Node %d HighTotal: %8lu kB\n" "Node %d HighFree: %8lu kB\n" "Node %d LowTotal: %8lu kB\n" @@ -50,6 +58,8 @@ static ssize_t node_read_meminfo(struct sys_device * dev, char * buf) nid, K(i.totalram), nid, K(i.freeram), nid, K(i.totalram - i.freeram), + nid, K(active), + nid, K(inactive), nid, K(i.totalhigh), nid, K(i.freehigh), nid, K(i.totalram - i.totalhigh), @@ -111,7 +121,6 @@ int __init register_node(struct node *node, int num, struct node *parent) { int error; - node->cpumap = node_to_cpumask(num); node->sysdev.id = num; node->sysdev.cls = &node_class; error = sysdev_register(&node->sysdev); diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 9f285ed4e..04451da00 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -298,13 +298,13 @@ u64 dma_get_required_mask(struct device *dev) } return mask & *dev->dma_mask; } -EXPORT_SYMBOL(dma_get_required_mask); +EXPORT_SYMBOL_GPL(dma_get_required_mask); #endif -EXPORT_SYMBOL(platform_bus); -EXPORT_SYMBOL(platform_bus_type); -EXPORT_SYMBOL(platform_device_register); -EXPORT_SYMBOL(platform_device_register_simple); -EXPORT_SYMBOL(platform_device_unregister); -EXPORT_SYMBOL(platform_get_irq); -EXPORT_SYMBOL(platform_get_resource); +EXPORT_SYMBOL_GPL(platform_bus); +EXPORT_SYMBOL_GPL(platform_bus_type); +EXPORT_SYMBOL_GPL(platform_device_register); +EXPORT_SYMBOL_GPL(platform_device_register_simple); +EXPORT_SYMBOL_GPL(platform_device_unregister); +EXPORT_SYMBOL_GPL(platform_get_irq); +EXPORT_SYMBOL_GPL(platform_get_resource); diff --git a/drivers/base/sys.c b/drivers/base/sys.c index 9d10500cd..c3a99df3c 100644 --- a/drivers/base/sys.c +++ b/drivers/base/sys.c @@ -73,8 +73,8 @@ void sysdev_remove_file(struct sys_device * s, struct sysdev_attribute * a) sysfs_remove_file(&s->kobj, &a->attr); } -EXPORT_SYMBOL(sysdev_create_file); -EXPORT_SYMBOL(sysdev_remove_file); +EXPORT_SYMBOL_GPL(sysdev_create_file); +EXPORT_SYMBOL_GPL(sysdev_remove_file); /* * declare system_subsys @@ -98,8 +98,8 @@ void sysdev_class_unregister(struct sysdev_class * cls) kset_unregister(&cls->kset); } -EXPORT_SYMBOL(sysdev_class_register); -EXPORT_SYMBOL(sysdev_class_unregister); +EXPORT_SYMBOL_GPL(sysdev_class_register); +EXPORT_SYMBOL_GPL(sysdev_class_unregister); static LIST_HEAD(global_drivers); @@ -157,8 +157,8 @@ void sysdev_driver_unregister(struct sysdev_class * cls, up_write(&system_subsys.rwsem); } -EXPORT_SYMBOL(sysdev_driver_register); -EXPORT_SYMBOL(sysdev_driver_unregister); +EXPORT_SYMBOL_GPL(sysdev_driver_register); +EXPORT_SYMBOL_GPL(sysdev_driver_unregister); @@ -392,5 +392,5 @@ int __init system_bus_init(void) return subsystem_register(&system_subsys); } -EXPORT_SYMBOL(sysdev_register); -EXPORT_SYMBOL(sysdev_unregister); +EXPORT_SYMBOL_GPL(sysdev_register); +EXPORT_SYMBOL_GPL(sysdev_unregister); diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c index 040acbb33..3eb7bbb13 100644 --- a/drivers/block/DAC960.c +++ b/drivers/block/DAC960.c @@ -288,12 +288,17 @@ static boolean DAC960_CreateAuxiliaryStructures(DAC960_Controller_T *Controller) Controller->PCIDevice, DAC960_V2_ScatterGatherLimit * sizeof(DAC960_V2_ScatterGatherSegment_T), sizeof(DAC960_V2_ScatterGatherSegment_T), 0); + if (ScatterGatherPool == NULL) + return DAC960_Failure(Controller, + "AUXILIARY STRUCTURE CREATION (SG)"); RequestSensePool = pci_pool_create("DAC960_V2_RequestSense", Controller->PCIDevice, sizeof(DAC960_SCSI_RequestSense_T), sizeof(int), 0); - if (ScatterGatherPool == NULL || RequestSensePool == NULL) + if (RequestSensePool == NULL) { + pci_pool_destroy(ScatterGatherPool); return DAC960_Failure(Controller, "AUXILIARY STRUCTURE CREATION (SG)"); + } Controller->ScatterGatherPool = ScatterGatherPool; Controller->V2.RequestSensePool = RequestSensePool; } @@ -535,7 +540,7 @@ static void DAC960_WaitForCommand(DAC960_Controller_T *Controller) static void DAC960_BA_QueueCommand(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V2_CommandMailbox_T *CommandMailbox = &Command->V2.CommandMailbox; DAC960_V2_CommandMailbox_T *NextCommandMailbox = Controller->V2.NextCommandMailbox; @@ -560,7 +565,7 @@ static void DAC960_BA_QueueCommand(DAC960_Command_T *Command) static void DAC960_LP_QueueCommand(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V2_CommandMailbox_T *CommandMailbox = &Command->V2.CommandMailbox; DAC960_V2_CommandMailbox_T *NextCommandMailbox = Controller->V2.NextCommandMailbox; @@ -586,7 +591,7 @@ static void DAC960_LP_QueueCommand(DAC960_Command_T *Command) static void DAC960_LA_QueueCommandDualMode(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_CommandMailbox_T *CommandMailbox = &Command->V1.CommandMailbox; DAC960_V1_CommandMailbox_T *NextCommandMailbox = Controller->V1.NextCommandMailbox; @@ -612,7 +617,7 @@ static void DAC960_LA_QueueCommandDualMode(DAC960_Command_T *Command) static void DAC960_LA_QueueCommandSingleMode(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_CommandMailbox_T *CommandMailbox = &Command->V1.CommandMailbox; DAC960_V1_CommandMailbox_T *NextCommandMailbox = Controller->V1.NextCommandMailbox; @@ -638,7 +643,7 @@ static void DAC960_LA_QueueCommandSingleMode(DAC960_Command_T *Command) static void DAC960_PG_QueueCommandDualMode(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_CommandMailbox_T *CommandMailbox = &Command->V1.CommandMailbox; DAC960_V1_CommandMailbox_T *NextCommandMailbox = Controller->V1.NextCommandMailbox; @@ -664,7 +669,7 @@ static void DAC960_PG_QueueCommandDualMode(DAC960_Command_T *Command) static void DAC960_PG_QueueCommandSingleMode(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_CommandMailbox_T *CommandMailbox = &Command->V1.CommandMailbox; DAC960_V1_CommandMailbox_T *NextCommandMailbox = Controller->V1.NextCommandMailbox; @@ -689,7 +694,7 @@ static void DAC960_PG_QueueCommandSingleMode(DAC960_Command_T *Command) static void DAC960_PD_QueueCommand(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_CommandMailbox_T *CommandMailbox = &Command->V1.CommandMailbox; CommandMailbox->Common.CommandIdentifier = Command->CommandIdentifier; while (DAC960_PD_MailboxFullP(ControllerBaseAddress)) @@ -706,7 +711,7 @@ static void DAC960_PD_QueueCommand(DAC960_Command_T *Command) static void DAC960_P_QueueCommand(DAC960_Command_T *Command) { DAC960_Controller_T *Controller = Command->Controller; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_CommandMailbox_T *CommandMailbox = &Command->V1.CommandMailbox; CommandMailbox->Common.CommandIdentifier = Command->CommandIdentifier; switch (CommandMailbox->Common.CommandOpcode) @@ -1127,7 +1132,7 @@ static boolean DAC960_V2_DeviceOperation(DAC960_Controller_T *Controller, static boolean DAC960_V1_EnableMemoryMailboxInterface(DAC960_Controller_T *Controller) { - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_HardwareType_T hw_type = Controller->HardwareType; struct pci_dev *PCI_Device = Controller->PCIDevice; struct dma_loaf *DmaPages = &Controller->DmaPages; @@ -1333,7 +1338,7 @@ skip_mailboxes: static boolean DAC960_V2_EnableMemoryMailboxInterface(DAC960_Controller_T *Controller) { - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; struct pci_dev *PCI_Device = Controller->PCIDevice; struct dma_loaf *DmaPages = &Controller->DmaPages; size_t DmaPagesSize; @@ -2674,7 +2679,7 @@ DAC960_DetectController(struct pci_dev *PCI_Device, unsigned char DeviceFunction = PCI_Device->devfn; unsigned char ErrorStatus, Parameter0, Parameter1; unsigned int IRQ_Channel = PCI_Device->irq; - void *BaseAddress; + void __iomem *BaseAddress; int i; Controller = (DAC960_Controller_T *) @@ -5196,7 +5201,7 @@ static irqreturn_t DAC960_BA_InterruptHandler(int IRQ_Channel, struct pt_regs *InterruptRegisters) { DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V2_StatusMailbox_T *NextStatusMailbox; unsigned long flags; @@ -5239,7 +5244,7 @@ static irqreturn_t DAC960_LP_InterruptHandler(int IRQ_Channel, struct pt_regs *InterruptRegisters) { DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V2_StatusMailbox_T *NextStatusMailbox; unsigned long flags; @@ -5282,7 +5287,7 @@ static irqreturn_t DAC960_LA_InterruptHandler(int IRQ_Channel, struct pt_regs *InterruptRegisters) { DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_StatusMailbox_T *NextStatusMailbox; unsigned long flags; @@ -5321,7 +5326,7 @@ static irqreturn_t DAC960_PG_InterruptHandler(int IRQ_Channel, struct pt_regs *InterruptRegisters) { DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; DAC960_V1_StatusMailbox_T *NextStatusMailbox; unsigned long flags; @@ -5360,7 +5365,7 @@ static irqreturn_t DAC960_PD_InterruptHandler(int IRQ_Channel, struct pt_regs *InterruptRegisters) { DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; unsigned long flags; spin_lock_irqsave(&Controller->queue_lock, flags); @@ -5399,7 +5404,7 @@ static irqreturn_t DAC960_P_InterruptHandler(int IRQ_Channel, struct pt_regs *InterruptRegisters) { DAC960_Controller_T *Controller = (DAC960_Controller_T *) DeviceIdentifier; - void *ControllerBaseAddress = Controller->BaseAddress; + void __iomem *ControllerBaseAddress = Controller->BaseAddress; unsigned long flags; spin_lock_irqsave(&Controller->queue_lock, flags); @@ -7103,3 +7108,4 @@ module_init(DAC960_init_module); module_exit(DAC960_cleanup_module); MODULE_LICENSE("GPL"); +MODULE_VERSION(DAC960_DriverVersion); diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index c44f27f24..a1d50242b 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -166,7 +166,7 @@ config BLK_CPQ_CISS_DA config CISS_SCSI_TAPE bool "SCSI tape drive support for Smart Array 5xxx" - depends on BLK_CPQ_CISS_DA && SCSI + depends on BLK_CPQ_CISS_DA && SCSI && PROC_FS help When enabled (Y), this option allows SCSI tape drives and SCSI medium changers (tape robots) to be accessed via a Compaq 5xxx array @@ -301,6 +301,15 @@ config BLK_DEV_SX8 Use devices /dev/sx8/$N and /dev/sx8/$Np$M. +config BLK_DEV_UB + tristate "Low Performance USB Block driver" + depends on USB + help + This driver supports certain USB attached storage devices + such as flash keys. + + If unsure, say N. + config BLK_DEV_RAM tristate "RAM disk support" ---help--- diff --git a/drivers/block/Makefile b/drivers/block/Makefile index c66498bad..9fdd725f3 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -43,4 +43,5 @@ obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryptoloop.o obj-$(CONFIG_VIODASD) += viodasd.o obj-$(CONFIG_BLK_DEV_SX8) += sx8.o +obj-$(CONFIG_BLK_DEV_UB) += ub.o diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index c9fd23a19..30dcec611 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -46,14 +46,15 @@ #include #define CCISS_DRIVER_VERSION(maj,min,submin) ((maj<<16)|(min<<8)|(submin)) -#define DRIVER_NAME "Compaq CISS Driver (v 2.6.2)" -#define DRIVER_VERSION CCISS_DRIVER_VERSION(2,6,2) +#define DRIVER_NAME "HP CISS Driver (v 2.6.4)" +#define DRIVER_VERSION CCISS_DRIVER_VERSION(2,6,4) /* Embedded module documentation macros - see modules.h */ MODULE_AUTHOR("Hewlett-Packard Company"); -MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 2.6.2"); +MODULE_DESCRIPTION("Driver for HP Controller SA5xxx SA6xxx version 2.6.4"); +MODULE_VERSION("2.6.4"); MODULE_SUPPORTED_DEVICE("HP SA5i SA5i+ SA532 SA5300 SA5312 SA641 SA642 SA6400" - " SA6i"); + " SA6i P600"); MODULE_LICENSE("GPL"); #include "cciss_cmd.h" @@ -80,10 +81,8 @@ const struct pci_device_id cciss_pci_device_id[] = { 0x0E11, 0x409D, 0, 0, 0}, { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_CISSC, 0x0E11, 0x4091, 0, 0, 0}, - { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_CISSC, - 0x0E11, 0x409E, 0, 0, 0}, - { PCI_VENDOR_ID_COMPAQ, PCI_DEVICE_ID_COMPAQ_CISSC, - 0x103C, 0x3211, 0, 0, 0}, + { PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSA, + 0x103C, 0x3225, 0, 0, 0}, {0,} }; MODULE_DEVICE_TABLE(pci, cciss_pci_device_id); @@ -104,8 +103,7 @@ static struct board_type products[] = { { 0x409C0E11, "Smart Array 6400", &SA5_access}, { 0x409D0E11, "Smart Array 6400 EM", &SA5_access}, { 0x40910E11, "Smart Array 6i", &SA5_access}, - { 0x409E0E11, "Smart Array 6422", &SA5_access}, - { 0x3211103C, "Smart Array V100", &SA5_access}, + { 0x3225103C, "Smart Array P600", &SA5_access}, }; /* How long to wait (in millesconds) for board to go into simple mode */ @@ -115,7 +113,7 @@ static struct board_type products[] = { /*define how many times we will try a command because of bus resets */ #define MAX_CMD_RETRIES 3 -#define READ_AHEAD 256 +#define READ_AHEAD 1024 #define NR_CMDS 384 /* #commands that can be outstanding */ #define MAX_CTLR 8 @@ -192,10 +190,10 @@ static inline CommandList_struct *removeQ(CommandList_struct **Qptr, /* * Report information about this controller. */ -#define ENG_GIG 1048576000 +#define ENG_GIG 1000000000 #define ENG_GIG_FACTOR (ENG_GIG/512) #define RAID_UNKNOWN 6 -static const char *raid_label[] = {"0","4","1(0+1)","5","5+1","ADG", +static const char *raid_label[] = {"0","4","1(1+0)","5","5+1","ADG", "UNKNOWN"}; static struct proc_dir_entry *proc_cciss; @@ -209,7 +207,7 @@ static int cciss_proc_get_info(char *buffer, char **start, off_t offset, ctlr_info_t *h = (ctlr_info_t*)data; drive_info_struct *drv; unsigned long flags; - sector_t vol_sz, vol_sz_frac; + sector_t vol_sz, vol_sz_frac; ctlr = h->ctlr; @@ -246,32 +244,21 @@ static int cciss_proc_get_info(char *buffer, char **start, off_t offset, pos += size; len += size; cciss_proc_tape_report(ctlr, buffer, &pos, &len); for(i=0; i<=h->highest_lun; i++) { - sector_t tmp; drv = &h->drv[i]; if (drv->block_size == 0) continue; - vol_sz = drv->nr_blocks; - sector_div(vol_sz, ENG_GIG_FACTOR); - - /* - * Awkwardly do this: - * vol_sz_frac = - * (drv->nr_blocks%ENG_GIG_FACTOR)*100/ENG_GIG_FACTOR; - */ - tmp = drv->nr_blocks; - vol_sz_frac = sector_div(tmp, ENG_GIG_FACTOR); - - /* Now, vol_sz_frac = (drv->nr_blocks%ENG_GIG_FACTOR) */ + vol_sz = drv->nr_blocks; + vol_sz_frac = sector_div(vol_sz, ENG_GIG_FACTOR); vol_sz_frac *= 100; sector_div(vol_sz_frac, ENG_GIG_FACTOR); if (drv->raid_level > 5) drv->raid_level = RAID_UNKNOWN; size = sprintf(buffer+len, "cciss/c%dd%d:" - "\t%4d.%02dGB\tRAID %s\n", - ctlr, i, vol_sz,vol_sz_frac, + "\t%4u.%02uGB\tRAID %s\n", + ctlr, i, (int)vol_sz, (int)vol_sz_frac, raid_label[drv->raid_level]); pos += size; len += size; } @@ -449,13 +436,22 @@ static int cciss_open(struct inode *inode, struct file *filep) /* * Root is allowed to open raw volume zero even if it's not configured - * so array config can still work. I don't think I really like this, + * so array config can still work. Root is also allowed to open any + * volume that has a LUN ID, so it can issue IOCTL to reread the + * disk information. I don't think I really like this * but I'm already using way to many device nodes to claim another one * for "raw controller". */ if (drv->nr_blocks == 0) { - if (iminor(inode) != 0) + if (iminor(inode) != 0) { /* not node 0? */ + /* if not node 0 make sure it is a partition = 0 */ + if (iminor(inode) & 0x0f) { return -ENXIO; + /* if it is, make sure we have a LUN ID */ + } else if (drv->LunID == 0) { + return -ENXIO; + } + } if (!capable(CAP_SYS_ADMIN)) return -EPERM; } @@ -578,7 +574,7 @@ int cciss_ioctl32_passthru(unsigned int fd, unsigned cmd, unsigned long arg, err = sys_ioctl(fd, CCISS_PASSTHRU, (unsigned long) p); if (err) return err; - err |= copy_in_user(&arg32->error_info, &p->error_info, sizeof(&arg32->error_info)); + err |= copy_in_user(&arg32->error_info, &p->error_info, sizeof(arg32->error_info)); if (err) return -EFAULT; return err; @@ -610,7 +606,7 @@ int cciss_ioctl32_big_passthru(unsigned int fd, unsigned cmd, unsigned long arg, err = sys_ioctl(fd, CCISS_BIG_PASSTHRU, (unsigned long) p); if (err) return err; - err |= copy_in_user(&arg32->error_info, &p->error_info, sizeof(&arg32->error_info)); + err |= copy_in_user(&arg32->error_info, &p->error_info, sizeof(arg32->error_info)); if (err) return -EFAULT; return err; @@ -810,7 +806,7 @@ static int cciss_ioctl(struct inode *inode, struct file *filep, luninfo.num_opens = drv->usage_count; luninfo.num_parts = 0; /* count partitions 1 to 15 with sizes > 0 */ - for(i=1; i part[i]) continue; if (disk->part[i]->nr_sects != 0) @@ -866,6 +862,8 @@ static int cciss_ioctl(struct inode *inode, struct file *filep, kfree(buff); return -EFAULT; } + } else { + memset(buff, 0, iocommand.buf_size); } if ((c = cmd_alloc(host , 0)) == NULL) { @@ -1012,6 +1010,8 @@ static int cciss_ioctl(struct inode *inode, struct file *filep, copy_from_user(buff[sg_used], data_ptr, sz)) { status = -ENOMEM; goto cleanup1; + } else { + memset(buff[sg_used], 0, sz); } left -= sz; data_ptr += sz; @@ -1097,18 +1097,11 @@ cleanup1: return(status); } default: - return -EBADRQC; + return -ENOTTY; } } -static int cciss_revalidate(struct gendisk *disk) -{ - drive_info_struct *drv = disk->private_data; - set_capacity(disk, drv->nr_blocks); - return 0; -} - /* * revalidate_allvol is for online array config utilities. After a * utility reconfigures the drives in the array, it can use this function @@ -1160,7 +1153,9 @@ static int revalidate_allvol(ctlr_info_t *host) for (i = 0; i < NWD; i++) { struct gendisk *disk = host->gendisk[i]; drive_info_struct *drv = &(host->drv[i]); - if (!drv->nr_blocks) + /* we must register the controller even if no disks exist */ + /* this is for the online array utilities */ + if (!drv->heads && i) continue; blk_queue_hardsect_size(host->queue, drv->block_size); set_capacity(disk, drv->nr_blocks); @@ -1477,21 +1472,22 @@ static void cciss_geometry_inquiry(int ctlr, int logvol, drv->sectors = 32; // Sectors per track drv->cylinders = total_size / 255 / 32; } else { + unsigned int t; + drv->block_size = block_size; drv->nr_blocks = total_size; drv->heads = inq_buff->data_byte[6]; drv->sectors = inq_buff->data_byte[7]; drv->cylinders = (inq_buff->data_byte[4] & 0xff) << 8; drv->cylinders += inq_buff->data_byte[5]; + drv->raid_level = inq_buff->data_byte[8]; + t = drv->heads * drv->sectors; + if (t > 1) { + drv->cylinders = total_size/t; + } } } else { /* Get geometry failed */ - printk(KERN_WARNING "cciss: reading geometry failed, " - "continuing with default geometry\n"); - drv->block_size = block_size; - drv->nr_blocks = total_size; - drv->heads = 255; - drv->sectors = 32; // Sectors per track - drv->cylinders = total_size / 255 / 32; + printk(KERN_WARNING "cciss: reading geometry failed\n"); } printk(KERN_INFO " heads= %d, sectors= %d, cylinders= %d\n\n", drv->heads, drv->sectors, drv->cylinders); @@ -1509,8 +1505,8 @@ cciss_read_capacity(int ctlr, int logvol, ReadCapdata_struct *buf, return_code = sendcmd(CCISS_READ_CAPACITY, ctlr, buf, sizeof(*buf), 1, logvol, 0, NULL, TYPE_CMD); if (return_code == IO_OK) { - *total_size = be32_to_cpu(*((__u32 *) &buf->total_size[0]))+1; - *block_size = be32_to_cpu(*((__u32 *) &buf->block_size[0])); + *total_size = be32_to_cpu(*((__be32 *) &buf->total_size[0]))+1; + *block_size = be32_to_cpu(*((__be32 *) &buf->block_size[0])); } else { /* read capacity command failed */ printk(KERN_WARNING "cciss: read capacity failed\n"); *total_size = 0; @@ -1520,6 +1516,7 @@ cciss_read_capacity(int ctlr, int logvol, ReadCapdata_struct *buf, *total_size, *block_size); return; } + static int register_new_disk(ctlr_info_t *h) { struct gendisk *disk; @@ -1663,7 +1660,9 @@ static int register_new_disk(ctlr_info_t *h) /* setup partitions per disk */ disk = h->gendisk[logvol]; set_capacity(disk, h->drv[logvol].nr_blocks); - add_disk(disk); + /* if it's the controller it's already added */ + if(logvol) + add_disk(disk); freeret: kfree(ld_buff); kfree(size_buff); @@ -1675,6 +1674,53 @@ free_err: logvol = -1; goto freeret; } + +static int cciss_revalidate(struct gendisk *disk) +{ + ctlr_info_t *h = get_host(disk); + drive_info_struct *drv = get_drv(disk); + int logvol; + int FOUND=0; + unsigned int block_size; + unsigned int total_size; + ReadCapdata_struct *size_buff = NULL; + InquiryData_struct *inq_buff = NULL; + + for(logvol=0; logvol < CISS_MAX_LUN; logvol++) + { + if(h->drv[logvol].LunID == drv->LunID) { + FOUND=1; + break; + } + } + + if (!FOUND) return 1; + + size_buff = kmalloc(sizeof( ReadCapdata_struct), GFP_KERNEL); + if (size_buff == NULL) + { + printk(KERN_WARNING "cciss: out of memory\n"); + return 1; + } + inq_buff = kmalloc(sizeof( InquiryData_struct), GFP_KERNEL); + if (inq_buff == NULL) + { + printk(KERN_WARNING "cciss: out of memory\n"); + kfree(size_buff); + return 1; + } + + cciss_read_capacity(h->ctlr, logvol, size_buff, 1, &total_size, &block_size); + cciss_geometry_inquiry(h->ctlr, logvol, 1, total_size, block_size, inq_buff, drv); + + blk_queue_hardsect_size(h->queue, drv->block_size); + set_capacity(disk, drv->nr_blocks); + + kfree(size_buff); + kfree(inq_buff); + return 0; +} + /* * Wait polling for a command to complete. * The memory mapped FIFO is polled for the completion. @@ -1844,13 +1890,13 @@ cleanup1: /* * Map (physical) PCI mem into (virtual) kernel space */ -static ulong remap_pci_mem(ulong base, ulong size) +static void __iomem *remap_pci_mem(ulong base, ulong size) { ulong page_base = ((ulong) base) & PAGE_MASK; ulong page_offs = ((ulong) base) - page_base; - ulong page_remapped = (ulong) ioremap(page_base, page_offs+size); + void __iomem *page_remapped = ioremap(page_base, page_offs+size); - return (ulong) (page_remapped ? (page_remapped + page_offs) : 0UL); + return page_remapped ? (page_remapped + page_offs) : NULL; } /* @@ -2300,7 +2346,6 @@ static int find_PCI_BAR_index(struct pci_dev *pdev, static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev) { ushort subsystem_vendor_id, subsystem_device_id, command; - unchar irq = pdev->irq; __u32 board_id, scratchpad = 0; __u64 cfg_offset; __u32 cfg_base_addr; @@ -2359,11 +2404,11 @@ static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev) #ifdef CCISS_DEBUG printk("command = %x\n", command); - printk("irq = %x\n", irq); + printk("irq = %x\n", pdev->irq); printk("board_id = %x\n", board_id); #endif /* CCISS_DEBUG */ - c->intr = irq; + c->intr = pdev->irq; /* * Memory base addr is first addr , the second points to the config @@ -2411,9 +2456,9 @@ static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev) #ifdef CCISS_DEBUG printk("cfg offset = %x\n", cfg_offset); #endif /* CCISS_DEBUG */ - c->cfgtable = (CfgTable_struct *) - remap_pci_mem(pci_resource_start(pdev, cfg_base_addr_index) - + cfg_offset, sizeof(CfgTable_struct)); + c->cfgtable = remap_pci_mem(pci_resource_start(pdev, + cfg_base_addr_index) + cfg_offset, + sizeof(CfgTable_struct)); c->board_id = board_id; #ifdef CCISS_DEBUG @@ -2763,7 +2808,9 @@ static int __devinit cciss_init_one(struct pci_dev *pdev, disk->fops = &cciss_fops; disk->queue = hba[i]->queue; disk->private_data = drv; - if( !(drv->nr_blocks)) + /* we must register the controller even if no disks exist */ + /* this is for the online array utilities */ + if(!drv->heads && j) continue; blk_queue_hardsect_size(hba[i]->queue, drv->block_size); set_capacity(disk, drv->nr_blocks); @@ -2825,7 +2872,7 @@ static void __devexit cciss_remove_one (struct pci_dev *pdev) } free_irq(hba[i]->intr, hba[i]); pci_set_drvdata(pdev, NULL); - iounmap((void*)hba[i]->vaddr); + iounmap(hba[i]->vaddr); cciss_unregister_scsi(i); /* unhook from SCSI subsystem */ unregister_blkdev(COMPAQ_CISS_MAJOR+i, hba[i]->devname); remove_proc_entry(hba[i]->devname, proc_cciss); diff --git a/drivers/block/cfq-iosched.c b/drivers/block/cfq-iosched.c index 70d66c5c9..01efa4997 100644 --- a/drivers/block/cfq-iosched.c +++ b/drivers/block/cfq-iosched.c @@ -1466,7 +1466,7 @@ cfq_prio_show(struct cfq_data *cfqd, char *page, unsigned int priolvl) q2 = (int)atomic_read(&(cfqd->cid[priolvl].cum_queues_out)); */ - return sprintf(page,"skip %d timdout %d avsec %lu rate %ld " + return sprintf(page,"skip %d timdout %d avsec %lu rate %d " " sec0 %lu sec1 %lu\n", cfqd->cid[priolvl].cfqpriv.nskip, cfqd->cid[priolvl].cfqpriv.timedout, diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c index b42a8d33f..cf6bd68f4 100644 --- a/drivers/block/cpqarray.c +++ b/drivers/block/cpqarray.c @@ -53,6 +53,7 @@ /* Original author Chris Frantz - Compaq Computer Corporation */ MODULE_AUTHOR("Compaq Computer Corporation"); MODULE_DESCRIPTION("Driver for Compaq Smart2 Array Controllers version 2.6.0"); +MODULE_VERSION("2.6.0"); MODULE_LICENSE("GPL"); #include "cpqarray.h" @@ -138,7 +139,7 @@ static struct gendisk *ida_gendisk[MAX_CTLR][NWD]; int cpqarray_init_step2(void); static int cpqarray_pci_init(ctlr_info_t *c, struct pci_dev *pdev); -static void *remap_pci_mem(ulong base, ulong size); +static void __iomem *remap_pci_mem(ulong base, ulong size); static int cpqarray_eisa_detect(void); static int pollcomplete(int ctlr); static void getgeometry(int ctlr); @@ -551,10 +552,10 @@ static int __init cpqarray_init_one( struct pci_dev *pdev, } static struct pci_driver cpqarray_pci_driver = { - name: "cpqarray", - probe: cpqarray_init_one, - remove: __devexit_p(cpqarray_remove_one_pci), - id_table: cpqarray_pci_device_id, + .name = "cpqarray", + .probe = cpqarray_init_one, + .remove = __devexit_p(cpqarray_remove_one_pci), + .id_table = cpqarray_pci_device_id, }; /* @@ -722,11 +723,11 @@ DBGINFO( /* * Map (physical) PCI mem into (virtual) kernel space */ -static void *remap_pci_mem(ulong base, ulong size) +static void __iomem *remap_pci_mem(ulong base, ulong size) { ulong page_base = ((ulong) base) & PAGE_MASK; ulong page_offs = ((ulong) base) - page_base; - void *page_remapped = ioremap(page_base, page_offs+size); + void __iomem *page_remapped = ioremap(page_base, page_offs+size); return (page_remapped ? (page_remapped + page_offs) : NULL); } diff --git a/drivers/block/genhd.c b/drivers/block/genhd.c index e82caa224..c68215b35 100644 --- a/drivers/block/genhd.c +++ b/drivers/block/genhd.c @@ -365,7 +365,9 @@ static ssize_t disk_size_read(struct gendisk * disk, char *page) static ssize_t disk_stats_read(struct gendisk * disk, char *page) { + preempt_disable(); disk_round_stats(disk); + preempt_enable(); return sprintf(page, "%8u %8u %8llu %8u " "%8u %8u %8llu %8u " @@ -494,7 +496,9 @@ static int diskstats_show(struct seq_file *s, void *v) "\n\n"); */ + preempt_disable(); disk_round_stats(gp); + preempt_enable(); seq_printf(s, "%4d %4d %s %u %u %llu %u %u %u %llu %u %u %u %u\n", gp->major, n + gp->first_minor, disk_name(gp, n, buf), disk_stat_read(gp, reads), disk_stat_read(gp, read_merges), diff --git a/drivers/block/ioctl.c b/drivers/block/ioctl.c index 283a9f2fa..43ff0c6ed 100644 --- a/drivers/block/ioctl.c +++ b/drivers/block/ioctl.c @@ -194,7 +194,8 @@ int blkdev_ioctl(struct inode *inode, struct file *file, unsigned cmd, return -EACCES; if (disk->fops->ioctl) { ret = disk->fops->ioctl(inode, file, cmd, arg); - if (ret != -EINVAL) + /* -EINVAL to handle old uncorrected drivers */ + if (ret != -EINVAL && ret != -ENOTTY) return ret; } fsync_bdev(bdev); diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c index 49ff5e0b7..06db35eb9 100644 --- a/drivers/block/ll_rw_blk.c +++ b/drivers/block/ll_rw_blk.c @@ -100,7 +100,7 @@ static void blk_queue_congestion_threshold(struct request_queue *q) nr = q->nr_requests; q->nr_congestion_on = nr; - nr = q->nr_requests - (q->nr_requests / 8) - 1; + nr = q->nr_requests - (q->nr_requests / 8) - (q->nr_requests / 16) - 1; if (nr < 1) nr = 1; q->nr_congestion_off = nr; @@ -154,6 +154,8 @@ struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev) return ret; } +EXPORT_SYMBOL(blk_get_backing_dev_info); + void blk_queue_activity_fn(request_queue_t *q, activity_fn *fn, void *data) { q->activity_fn = fn; @@ -262,6 +264,45 @@ void blk_queue_make_request(request_queue_t * q, make_request_fn * mfn) EXPORT_SYMBOL(blk_queue_make_request); +/** + * blk_queue_ordered - does this queue support ordered writes + * @q: the request queue + * @flag: see below + * + * Description: + * For journalled file systems, doing ordered writes on a commit + * block instead of explicitly doing wait_on_buffer (which is bad + * for performance) can be a big win. Block drivers supporting this + * feature should call this function and indicate so. + * + **/ +void blk_queue_ordered(request_queue_t *q, int flag) +{ + if (flag) + set_bit(QUEUE_FLAG_ORDERED, &q->queue_flags); + else + clear_bit(QUEUE_FLAG_ORDERED, &q->queue_flags); +} + +EXPORT_SYMBOL(blk_queue_ordered); + +/** + * blk_queue_issue_flush_fn - set function for issuing a flush + * @q: the request queue + * @iff: the function to be called issuing the flush + * + * Description: + * If a driver supports issuing a flush command, the support is notified + * to the block layer by defining it through this call. + * + **/ +void blk_queue_issue_flush_fn(request_queue_t *q, issue_flush_fn *iff) +{ + q->issue_flush_fn = iff; +} + +EXPORT_SYMBOL(blk_queue_issue_flush_fn); + /** * blk_queue_bounce_limit - set bounce buffer limit for queue * @q: the request queue for the device @@ -311,7 +352,7 @@ void blk_queue_max_sectors(request_queue_t *q, unsigned short max_sectors) printk("%s: set to minimum %d\n", __FUNCTION__, max_sectors); } - q->max_sectors = max_sectors; + q->max_sectors = q->max_hw_sectors = max_sectors; } EXPORT_SYMBOL(blk_queue_max_sectors); @@ -413,7 +454,8 @@ EXPORT_SYMBOL(blk_queue_hardsect_size); void blk_queue_stack_limits(request_queue_t *t, request_queue_t *b) { /* zero is "infinity" */ - t->max_sectors = min_not_zero(t->max_sectors,b->max_sectors); + t->max_sectors = t->max_hw_sectors = + min_not_zero(t->max_sectors,b->max_sectors); t->max_phys_segments = min(t->max_phys_segments,b->max_phys_segments); t->max_hw_segments = min(t->max_hw_segments,b->max_hw_segments); @@ -482,15 +524,14 @@ struct request *blk_queue_find_tag(request_queue_t *q, int tag) EXPORT_SYMBOL(blk_queue_find_tag); /** - * blk_queue_free_tags - release tag maintenance info + * __blk_queue_free_tags - release tag maintenance info * @q: the request queue for the device * * Notes: * blk_cleanup_queue() will take care of calling this function, if tagging - * has been used. So there's usually no need to call this directly, unless - * tagging is just being disabled but the queue remains in function. + * has been used. So there's no need to call this directly. **/ -void blk_queue_free_tags(request_queue_t *q) +static void __blk_queue_free_tags(request_queue_t *q) { struct blk_queue_tag *bqt = q->queue_tags; @@ -514,12 +555,27 @@ void blk_queue_free_tags(request_queue_t *q) q->queue_flags &= ~(1 << QUEUE_FLAG_QUEUED); } +/** + * blk_queue_free_tags - release tag maintenance info + * @q: the request queue for the device + * + * Notes: + * This is used to disabled tagged queuing to a device, yet leave + * queue in function. + **/ +void blk_queue_free_tags(request_queue_t *q) +{ + clear_bit(QUEUE_FLAG_QUEUED, &q->queue_flags); +} + EXPORT_SYMBOL(blk_queue_free_tags); static int init_tag_map(request_queue_t *q, struct blk_queue_tag *tags, int depth) { int bits, i; + struct request **tag_index; + unsigned long *tag_map; if (depth > q->nr_requests * 2) { depth = q->nr_requests * 2; @@ -527,32 +583,31 @@ init_tag_map(request_queue_t *q, struct blk_queue_tag *tags, int depth) __FUNCTION__, depth); } - tags->tag_index = kmalloc(depth * sizeof(struct request *), GFP_ATOMIC); - if (!tags->tag_index) + tag_index = kmalloc(depth * sizeof(struct request *), GFP_ATOMIC); + if (!tag_index) goto fail; bits = (depth / BLK_TAGS_PER_LONG) + 1; - tags->tag_map = kmalloc(bits * sizeof(unsigned long), GFP_ATOMIC); - if (!tags->tag_map) + tag_map = kmalloc(bits * sizeof(unsigned long), GFP_ATOMIC); + if (!tag_map) goto fail; - memset(tags->tag_index, 0, depth * sizeof(struct request *)); - memset(tags->tag_map, 0, bits * sizeof(unsigned long)); + memset(tag_index, 0, depth * sizeof(struct request *)); + memset(tag_map, 0, bits * sizeof(unsigned long)); tags->max_depth = depth; tags->real_max_depth = bits * BITS_PER_LONG; + tags->tag_index = tag_index; + tags->tag_map = tag_map; /* * set the upper bits if the depth isn't a multiple of the word size */ for (i = depth; i < bits * BLK_TAGS_PER_LONG; i++) - __set_bit(i, tags->tag_map); + __set_bit(i, tag_map); - INIT_LIST_HEAD(&tags->busy_list); - tags->busy = 0; - atomic_set(&tags->refcnt, 1); return 0; fail: - kfree(tags->tag_index); + kfree(tag_index); return -ENOMEM; } @@ -564,13 +619,26 @@ fail: int blk_queue_init_tags(request_queue_t *q, int depth, struct blk_queue_tag *tags) { - if (!tags) { + int rc; + + BUG_ON(tags && q->queue_tags && tags != q->queue_tags); + + if (!tags && !q->queue_tags) { tags = kmalloc(sizeof(struct blk_queue_tag), GFP_ATOMIC); if (!tags) goto fail; if (init_tag_map(q, tags, depth)) goto fail; + + INIT_LIST_HEAD(&tags->busy_list); + tags->busy = 0; + atomic_set(&tags->refcnt, 1); + } else if (q->queue_tags) { + if ((rc = blk_queue_resize_tags(q, depth))) + return rc; + set_bit(QUEUE_FLAG_QUEUED, &q->queue_flags); + return 0; } else atomic_inc(&tags->refcnt); @@ -1335,8 +1403,8 @@ void blk_cleanup_queue(request_queue_t * q) if (rl->rq_pool) mempool_destroy(rl->rq_pool); - if (blk_queue_tagged(q)) - blk_queue_free_tags(q); + if (q->queue_tags) + __blk_queue_free_tags(q); kmem_cache_free(requestq_cachep, q); } @@ -1578,8 +1646,7 @@ static void freed_request(request_queue_t *q, int rw) if (rl->count[rw]+1 <= q->nr_requests) { if (waitqueue_active(&rl->wait[rw])) wake_up(&rl->wait[rw]); - if (!waitqueue_active(&rl->wait[rw])) - blk_clear_queue_full(q, rw); + blk_clear_queue_full(q, rw); } } @@ -1930,10 +1997,11 @@ int blk_execute_rq(request_queue_t *q, struct gendisk *bd_disk, } rq->flags |= REQ_NOMERGE; - rq->waiting = &wait; + if (!rq->waiting) + rq->waiting = &wait; elv_add_request(q, rq, ELEVATOR_INSERT_BACK, 1); generic_unplug_device(q); - wait_for_completion(&wait); + wait_for_completion(rq->waiting); rq->waiting = NULL; if (rq->errors) @@ -1944,6 +2012,72 @@ int blk_execute_rq(request_queue_t *q, struct gendisk *bd_disk, EXPORT_SYMBOL(blk_execute_rq); +/** + * blkdev_issue_flush - queue a flush + * @bdev: blockdev to issue flush for + * @error_sector: error sector + * + * Description: + * Issue a flush for the block device in question. Caller can supply + * room for storing the error offset in case of a flush error, if they + * wish to. Caller must run wait_for_completion() on its own. + */ +int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector) +{ + request_queue_t *q; + + if (bdev->bd_disk == NULL) + return -ENXIO; + + q = bdev_get_queue(bdev); + if (!q) + return -ENXIO; + if (!q->issue_flush_fn) + return -EOPNOTSUPP; + + return q->issue_flush_fn(q, bdev->bd_disk, error_sector); +} + +EXPORT_SYMBOL(blkdev_issue_flush); + +/** + * blkdev_scsi_issue_flush_fn - issue flush for SCSI devices + * @q: device queue + * @disk: gendisk + * @error_sector: error offset + * + * Description: + * Devices understanding the SCSI command set, can use this function as + * a helper for issuing a cache flush. Note: driver is required to store + * the error offset (in case of error flushing) in ->sector of struct + * request. + */ +int blkdev_scsi_issue_flush_fn(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + struct request *rq = blk_get_request(q, WRITE, __GFP_WAIT); + int ret; + + rq->flags |= REQ_BLOCK_PC | REQ_SOFTBARRIER; + rq->sector = 0; + memset(rq->cmd, 0, sizeof(rq->cmd)); + rq->cmd[0] = 0x35; + rq->cmd_len = 12; + rq->data = NULL; + rq->data_len = 0; + rq->timeout = 60 * HZ; + + ret = blk_execute_rq(q, disk, rq); + + if (ret && error_sector) + *error_sector = rq->sector; + + blk_put_request(rq); + return ret; +} + +EXPORT_SYMBOL(blkdev_scsi_issue_flush_fn); + void drive_stat_acct(struct request *rq, int nr_sectors, int new_io) { int rw = rq_data_dir(rq); @@ -2197,7 +2331,7 @@ EXPORT_SYMBOL(__blk_attempt_remerge); static int __make_request(request_queue_t *q, struct bio *bio) { struct request *req, *freereq = NULL; - int el_ret, rw, nr_sectors, cur_nr_sectors, barrier, ra; + int el_ret, rw, nr_sectors, cur_nr_sectors, barrier, err; sector_t sector; sector = bio->bi_sector; @@ -2215,9 +2349,11 @@ static int __make_request(request_queue_t *q, struct bio *bio) spin_lock_prefetch(q->queue_lock); - barrier = test_bit(BIO_RW_BARRIER, &bio->bi_rw); - - ra = bio->bi_rw & (1 << BIO_RW_AHEAD); + barrier = bio_barrier(bio); + if (barrier && !(q->queue_flags & (1 << QUEUE_FLAG_ORDERED))) { + err = -EOPNOTSUPP; + goto end_io; + } again: spin_lock_irq(q->queue_lock); @@ -2297,7 +2433,8 @@ get_rq: /* * READA bit set */ - if (ra) + err = -EWOULDBLOCK; + if (bio_rw_ahead(bio)) goto end_io; freereq = get_request_wait(q, rw); @@ -2308,10 +2445,9 @@ get_rq: req->flags |= REQ_CMD; /* - * inherit FAILFAST from bio and don't stack up - * retries for read ahead + * inherit FAILFAST from bio (for read-ahead, and explicit FAILFAST) */ - if (ra || test_bit(BIO_RW_FAILFAST, &bio->bi_rw)) + if (bio_rw_ahead(bio) || bio_failfast(bio)) req->flags |= REQ_FAILFAST; /* @@ -2345,7 +2481,7 @@ out: return 0; end_io: - bio_endio(bio, nr_sectors << 9, -EWOULDBLOCK); + bio_endio(bio, nr_sectors << 9, err); return 0; } @@ -2452,11 +2588,11 @@ end_io: break; } - if (unlikely(bio_sectors(bio) > q->max_sectors)) { + if (unlikely(bio_sectors(bio) > q->max_hw_sectors)) { printk("bio too big device %s (%u > %u)\n", bdevname(bio->bi_bdev, b), bio_sectors(bio), - q->max_sectors); + q->max_hw_sectors); goto end_io; } @@ -2592,22 +2728,36 @@ void blk_recalc_rq_segments(struct request *rq) { struct bio *bio, *prevbio = NULL; int nr_phys_segs, nr_hw_segs; + unsigned int phys_size, hw_size; + request_queue_t *q = rq->q; if (!rq->bio) return; - nr_phys_segs = nr_hw_segs = 0; + phys_size = hw_size = nr_phys_segs = nr_hw_segs = 0; rq_for_each_bio(bio, rq) { /* Force bio hw/phys segs to be recalculated. */ bio->bi_flags &= ~(1 << BIO_SEG_VALID); - nr_phys_segs += bio_phys_segments(rq->q, bio); - nr_hw_segs += bio_hw_segments(rq->q, bio); + nr_phys_segs += bio_phys_segments(q, bio); + nr_hw_segs += bio_hw_segments(q, bio); if (prevbio) { - if (blk_phys_contig_segment(rq->q, prevbio, bio)) + int pseg = phys_size + prevbio->bi_size + bio->bi_size; + int hseg = hw_size + prevbio->bi_size + bio->bi_size; + + if (blk_phys_contig_segment(q, prevbio, bio) && + pseg <= q->max_segment_size) { nr_phys_segs--; - if (blk_hw_contig_segment(rq->q, prevbio, bio)) + phys_size += prevbio->bi_size + bio->bi_size; + } else + phys_size = 0; + + if (blk_hw_contig_segment(q, prevbio, bio) && + hseg <= q->max_segment_size) { nr_hw_segs--; + hw_size += prevbio->bi_size + bio->bi_size; + } else + hw_size = 0; } prevbio = bio; } @@ -2653,9 +2803,16 @@ void blk_recalc_rq_sectors(struct request *rq, int nsect) static int __end_that_request_first(struct request *req, int uptodate, int nr_bytes) { - int total_bytes, bio_nbytes, error = 0, next_idx = 0; + int total_bytes, bio_nbytes, error, next_idx = 0; struct bio *bio; + /* + * extend uptodate bool to allow < 0 value to be direct io error + */ + error = 0; + if (end_io_error(uptodate)) + error = !uptodate ? -EIO : uptodate; + /* * for a REQ_BLOCK_PC request, we want to carry any eventual * sense key with us all the way through @@ -2664,7 +2821,6 @@ static int __end_that_request_first(struct request *req, int uptodate, req->errors = 0; if (!uptodate) { - error = -EIO; if (blk_fs_request(req) && !(req->flags & REQ_QUIET)) printk("end_request: I/O error, dev %s, sector %llu\n", req->rq_disk ? req->rq_disk->disk_name : "?", @@ -2747,7 +2903,7 @@ static int __end_that_request_first(struct request *req, int uptodate, /** * end_that_request_first - end I/O on a request * @req: the request being processed - * @uptodate: 0 for I/O error + * @uptodate: 1 for success, 0 for I/O error, < 0 for specific error * @nr_sectors: number of sectors to end I/O on * * Description: @@ -2768,7 +2924,7 @@ EXPORT_SYMBOL(end_that_request_first); /** * end_that_request_chunk - end I/O on a request * @req: the request being processed - * @uptodate: 0 for I/O error + * @uptodate: 1 for success, 0 for I/O error, < 0 for specific error * @nr_bytes: number of bytes to complete * * Description: @@ -3069,13 +3225,61 @@ queue_ra_store(struct request_queue *q, const char *page, size_t count) unsigned long ra_kb; ssize_t ret = queue_var_store(&ra_kb, page, count); + spin_lock_irq(q->queue_lock); if (ra_kb > (q->max_sectors >> 1)) ra_kb = (q->max_sectors >> 1); q->backing_dev_info.ra_pages = ra_kb >> (PAGE_CACHE_SHIFT - 10); + spin_unlock_irq(q->queue_lock); + + return ret; +} + +static ssize_t queue_max_sectors_show(struct request_queue *q, char *page) +{ + int max_sectors_kb = q->max_sectors >> 1; + + return queue_var_show(max_sectors_kb, (page)); +} + +static ssize_t +queue_max_sectors_store(struct request_queue *q, const char *page, size_t count) +{ + unsigned long max_sectors_kb, + max_hw_sectors_kb = q->max_hw_sectors >> 1, + page_kb = 1 << (PAGE_CACHE_SHIFT - 10); + ssize_t ret = queue_var_store(&max_sectors_kb, page, count); + int ra_kb; + + if (max_sectors_kb > max_hw_sectors_kb || max_sectors_kb < page_kb) + return -EINVAL; + /* + * Take the queue lock to update the readahead and max_sectors + * values synchronously: + */ + spin_lock_irq(q->queue_lock); + /* + * Trim readahead window as well, if necessary: + */ + ra_kb = q->backing_dev_info.ra_pages << (PAGE_CACHE_SHIFT - 10); + if (ra_kb > max_sectors_kb) + q->backing_dev_info.ra_pages = + max_sectors_kb >> (PAGE_CACHE_SHIFT - 10); + + q->max_sectors = max_sectors_kb << 1; + spin_unlock_irq(q->queue_lock); + return ret; } +static ssize_t queue_max_hw_sectors_show(struct request_queue *q, char *page) +{ + int max_hw_sectors_kb = q->max_hw_sectors >> 1; + + return queue_var_show(max_hw_sectors_kb, (page)); +} + + static struct queue_sysfs_entry queue_requests_entry = { .attr = {.name = "nr_requests", .mode = S_IRUGO | S_IWUSR }, .show = queue_requests_show, @@ -3088,9 +3292,22 @@ static struct queue_sysfs_entry queue_ra_entry = { .store = queue_ra_store, }; +static struct queue_sysfs_entry queue_max_sectors_entry = { + .attr = {.name = "max_sectors_kb", .mode = S_IRUGO | S_IWUSR }, + .show = queue_max_sectors_show, + .store = queue_max_sectors_store, +}; + +static struct queue_sysfs_entry queue_max_hw_sectors_entry = { + .attr = {.name = "max_hw_sectors_kb", .mode = S_IRUGO }, + .show = queue_max_hw_sectors_show, +}; + static struct attribute *default_attrs[] = { &queue_requests_entry.attr, &queue_ra_entry.attr, + &queue_max_hw_sectors_entry.attr, + &queue_max_sectors_entry.attr, NULL, }; diff --git a/drivers/block/paride/paride.c b/drivers/block/paride/paride.c index 9f9401c1a..8d29459a1 100644 --- a/drivers/block/paride/paride.c +++ b/drivers/block/paride/paride.c @@ -140,7 +140,7 @@ static void pi_claim(PIA * pi) #endif } -void pi_unclaim(PIA * pi) +static void pi_unclaim(PIA * pi) { pi->claimed = 0; #ifdef CONFIG_PARPORT @@ -149,8 +149,6 @@ void pi_unclaim(PIA * pi) #endif } -EXPORT_SYMBOL(pi_unclaim); - void pi_connect(PIA * pi) { pi_claim(pi); diff --git a/drivers/block/paride/paride.h b/drivers/block/paride/paride.h index e8e2a934b..c6d98ef09 100644 --- a/drivers/block/paride/paride.h +++ b/drivers/block/paride/paride.h @@ -88,8 +88,6 @@ extern void pi_write_block(PIA *pi, char * buf, int count); extern void pi_read_block(PIA *pi, char * buf, int count); -extern void pi_unclaim(PIA *pi); - extern void pi_connect(PIA *pi); extern void pi_disconnect(PIA *pi); diff --git a/drivers/block/rd.c b/drivers/block/rd.c index fe8332e34..b3c7f07c1 100644 --- a/drivers/block/rd.c +++ b/drivers/block/rd.c @@ -349,13 +349,17 @@ static int rd_open(struct inode *inode, struct file *filp) if (rd_bdev[unit] == NULL) { struct block_device *bdev = inode->i_bdev; struct address_space *mapping; + unsigned bsize; int gfp_mask; inode = igrab(bdev->bd_inode); rd_bdev[unit] = bdev; bdev->bd_openers++; - bdev->bd_block_size = rd_blocksize; - inode->i_size = get_capacity(rd_disks[unit])<<9; + bsize = bdev_hardsect_size(bdev); + bdev->bd_block_size = bsize; + inode->i_blkbits = blksize_bits(bsize); + inode->i_size = get_capacity(bdev->bd_disk)<<9; + mapping = inode->i_mapping; mapping->a_ops = &ramdisk_aops; mapping->backing_dev_info = &rd_backing_dev_info; @@ -449,6 +453,7 @@ static int __init rd_init(void) goto out_queue; blk_queue_make_request(rd_queue[i], &rd_make_request); + blk_queue_hardsect_size(rd_queue[i], rd_blocksize); /* rd_size is given in kB */ disk->major = RAMDISK_MAJOR; diff --git a/drivers/block/scsi_ioctl.c b/drivers/block/scsi_ioctl.c index f94fd8adf..5fbbd3000 100644 --- a/drivers/block/scsi_ioctl.c +++ b/drivers/block/scsi_ioctl.c @@ -127,14 +127,19 @@ static int verify_command(struct file *file, unsigned char *cmd) safe_for_read(MODE_SENSE), safe_for_read(MODE_SENSE_10), safe_for_read(START_STOP), + safe_for_read(GPCMD_VERIFY_10), + safe_for_read(VERIFY_16), + safe_for_read(READ_BUFFER), /* Audio CD commands */ safe_for_read(GPCMD_PLAY_CD), safe_for_read(GPCMD_PLAY_AUDIO_10), safe_for_read(GPCMD_PLAY_AUDIO_MSF), safe_for_read(GPCMD_PLAY_AUDIO_TI), + safe_for_read(GPCMD_PAUSE_RESUME), /* CD/DVD data reading */ + safe_for_read(GPCMD_READ_BUFFER_CAPACITY), safe_for_read(GPCMD_READ_CD), safe_for_read(GPCMD_READ_CD_MSF), safe_for_read(GPCMD_READ_DISC_INFO), @@ -146,6 +151,12 @@ static int verify_command(struct file *file, unsigned char *cmd) safe_for_read(GPCMD_READ_TOC_PMA_ATIP), safe_for_read(GPCMD_REPORT_KEY), safe_for_read(GPCMD_SCAN), + safe_for_read(GPCMD_GET_CONFIGURATION), + safe_for_read(GPCMD_READ_FORMAT_CAPACITIES), + safe_for_read(GPCMD_GET_EVENT_STATUS_NOTIFICATION), + safe_for_read(GPCMD_GET_PERFORMANCE), + safe_for_read(GPCMD_SEEK), + safe_for_read(GPCMD_STOP_PLAY_SCAN), /* Basic writing commands */ safe_for_write(WRITE_6), @@ -155,6 +166,24 @@ static int verify_command(struct file *file, unsigned char *cmd) safe_for_write(WRITE_VERIFY_12), safe_for_write(WRITE_16), safe_for_write(WRITE_LONG), + safe_for_write(ERASE), + safe_for_write(GPCMD_MODE_SELECT_10), + safe_for_write(MODE_SELECT), + safe_for_write(GPCMD_BLANK), + safe_for_write(GPCMD_CLOSE_TRACK), + safe_for_write(GPCMD_FLUSH_CACHE), + safe_for_write(GPCMD_FORMAT_UNIT), + safe_for_write(GPCMD_REPAIR_RZONE_TRACK), + safe_for_write(GPCMD_RESERVE_RZONE_TRACK), + safe_for_write(GPCMD_SEND_DVD_STRUCTURE), + safe_for_write(GPCMD_SEND_EVENT), + safe_for_write(GPCMD_SEND_KEY), + safe_for_write(GPCMD_SEND_OPC), + safe_for_write(GPCMD_SEND_CUE_SHEET), + safe_for_write(GPCMD_SET_SPEED), + safe_for_write(GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL), + safe_for_write(GPCMD_LOAD_UNLOAD), + safe_for_write(GPCMD_SET_STREAMING), }; unsigned char type = cmd_type[cmd[0]]; @@ -265,11 +294,11 @@ static int sg_io(struct file *file, request_queue_t *q, blk_execute_rq(q, bd_disk, rq); /* write to all output members */ - hdr->status = rq->errors; - hdr->masked_status = (hdr->status >> 1) & 0x1f; - hdr->msg_status = 0; - hdr->host_status = 0; - hdr->driver_status = 0; + hdr->status = 0xff & rq->errors; + hdr->masked_status = status_byte(rq->errors); + hdr->msg_status = msg_byte(rq->errors); + hdr->host_status = host_byte(rq->errors); + hdr->driver_status = driver_byte(rq->errors); hdr->info = 0; if (hdr->masked_status || hdr->host_status || hdr->driver_status) hdr->info |= SG_INFO_CHECK; @@ -315,7 +344,7 @@ static int sg_scsi_ioctl(struct file *file, request_queue_t *q, return -EFAULT; if (in_len > PAGE_SIZE || out_len > PAGE_SIZE) return -EINVAL; - if (get_user(opcode, (int *)sic->data)) + if (get_user(opcode, sic->data)) return -EFAULT; bytes = max(in_len, out_len); @@ -510,6 +539,7 @@ int scsi_cmd_ioctl(struct file *file, struct gendisk *bd_disk, unsigned int cmd, * old junk scsi send command ioctl */ case SCSI_IOCTL_SEND_COMMAND: + printk(KERN_WARNING "program %s is using a deprecated SCSI ioctl, please convert it to SG_IO\n", current->comm); err = -EINVAL; if (!arg) break; diff --git a/drivers/block/umem.c b/drivers/block/umem.c index 2b126d8d2..db7083a0c 100644 --- a/drivers/block/umem.c +++ b/drivers/block/umem.c @@ -108,11 +108,11 @@ struct cardinfo { int irq; unsigned long csr_base; - unsigned char *csr_remap; + unsigned char __iomem *csr_remap; unsigned long csr_len; #ifdef CONFIG_MM_MAP_MEMORY unsigned long mem_base; - unsigned char *mem_remap; + unsigned char __iomem *mem_remap; unsigned long mem_len; #endif @@ -926,7 +926,7 @@ static int __devinit mm_pci_probe(struct pci_dev *dev, const struct pci_device_i goto failed_req_mem; } - if (!(card->mem_remap = (unsigned char *)ioremap(card->mem_base, cards->mem_len))) { + if (!(card->mem_remap = ioremap(card->mem_base, cards->mem_len))) { printk(KERN_ERR "MM%d: Unable to remap memory region\n", card->card_number); ret = -ENOMEM; @@ -1107,12 +1107,12 @@ static int __devinit mm_pci_probe(struct pci_dev *dev, const struct pci_device_i card->mm_pages[1].page_dma); failed_magic: #ifdef CONFIG_MM_MAP_MEMORY - iounmap((void *) card->mem_remap); + iounmap(card->mem_remap); failed_remap_mem: release_mem_region(card->mem_base, card->mem_len); failed_req_mem: #endif - iounmap((void *) card->csr_remap); + iounmap(card->csr_remap); failed_remap_csr: release_mem_region(card->csr_base, card->csr_len); failed_req_csr: diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 5ba134216..fb990ec38 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c @@ -188,9 +188,7 @@ static int hci_uart_flush(struct hci_dev *hdev) } /* Flush any pending characters in the driver and discipline. */ - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); - + tty_ldisc_flush(tty); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); @@ -280,7 +278,9 @@ static int hci_uart_tty_open(struct tty_struct *tty) spin_lock_init(&hu->rx_lock); - /* Flush any pending characters in the driver and line discipline */ + /* Flush any pending characters in the driver and line discipline. */ + /* FIXME: why is this needed. Note don't use ldisc_ref here as the + open path is before the ldisc is referencable */ if (tty->ldisc.flush_buffer) tty->ldisc.flush_buffer(tty); diff --git a/drivers/bluetooth/hci_usb.c b/drivers/bluetooth/hci_usb.c index 9babb21df..bca968310 100644 --- a/drivers/bluetooth/hci_usb.c +++ b/drivers/bluetooth/hci_usb.c @@ -96,7 +96,7 @@ static struct usb_device_id blacklist_ids[] = { { USB_DEVICE(0x0a5c, 0x2033), .driver_info = HCI_IGNORE }, /* Broadcom BCM2035 */ - { USB_DEVICE(0x0a5c, 0x200a), .driver_info = HCI_RESET }, + { USB_DEVICE(0x0a5c, 0x200a), .driver_info = HCI_RESET | HCI_BROKEN_ISOC }, /* ISSC Bluetooth Adapter v3.1 */ { USB_DEVICE(0x1131, 0x1001), .driver_info = HCI_RESET }, diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c index 2e1ee63d1..3a50a0277 100644 --- a/drivers/cdrom/cdrom.c +++ b/drivers/cdrom/cdrom.c @@ -354,6 +354,19 @@ static void cdrom_sysctl_register(void); #endif /* CONFIG_SYSCTL */ static struct cdrom_device_info *topCdromPtr; +static int cdrom_dummy_generic_packet(struct cdrom_device_info *cdi, + struct packet_command *cgc) +{ + if (cgc->sense) { + cgc->sense->sense_key = 0x05; + cgc->sense->asc = 0x20; + cgc->sense->ascq = 0x00; + } + + cgc->stat = -EIO; + return -EIO; +} + /* This macro makes sure we don't have to check on cdrom_device_ops * existence in the run-time routines below. Change_capability is a * hack to have the capability flags defined const, while we can still @@ -411,6 +424,9 @@ int register_cdrom(struct cdrom_device_info *cdi) else cdi->cdda_method = CDDA_OLD; + if (!cdo->generic_packet) + cdo->generic_packet = cdrom_dummy_generic_packet; + cdinfo(CD_REG_UNREG, "drive \"/dev/%s\" registered\n", cdi->name); spin_lock(&cdrom_lock); cdi->next = topCdromPtr; @@ -472,6 +488,9 @@ int cdrom_get_media_event(struct cdrom_device_info *cdi, if (be16_to_cpu(eh->data_len) < sizeof(*med)) return 1; + if (eh->nea || eh->notification_class != 0x4) + return 1; + memcpy(med, &buffer[sizeof(*eh)], sizeof(*med)); return 0; } @@ -521,6 +540,8 @@ int cdrom_is_mrw(struct cdrom_device_info *cdi, int *write) return ret; mfd = (struct mrw_feature_desc *)&buffer[sizeof(struct feature_header)]; + if (be16_to_cpu(mfd->feature_code) != CDF_MRW) + return 1; *write = mfd->write; if ((ret = cdrom_mrw_probe_pc(cdi))) { @@ -605,13 +626,16 @@ static int cdrom_flush_cache(struct cdrom_device_info *cdi) static int cdrom_mrw_exit(struct cdrom_device_info *cdi) { disc_information di; - int ret = 0; + int ret; - if (cdrom_get_disc_info(cdi, &di)) + ret = cdrom_get_disc_info(cdi, &di); + if (ret < 0 || ret < (int)offsetof(typeof(di),disc_type)) return 1; + ret = 0; if (di.mrw_status == CDM_MRW_BGFORMAT_ACTIVE) { - printk(KERN_INFO "cdrom: issuing MRW back ground format suspend\n"); + printk(KERN_INFO "cdrom: issuing MRW back ground " + "format suspend\n"); ret = cdrom_mrw_bgformat_susp(cdi, 0); } @@ -715,8 +739,10 @@ int cdrom_is_random_writable(struct cdrom_device_info *cdi, int *write) static int cdrom_media_erasable(struct cdrom_device_info *cdi) { disc_information di; + int ret; - if (cdrom_get_disc_info(cdi, &di)) + ret = cdrom_get_disc_info(cdi, &di); + if (ret < 0 || ret < offsetof(typeof(di), n_first_track)) return -1; return di.erasable; @@ -752,7 +778,8 @@ static int cdrom_mrw_open_write(struct cdrom_device_info *cdi) return 1; } - if (cdrom_get_disc_info(cdi, &di)) + ret = cdrom_get_disc_info(cdi, &di); + if (ret < 0 || ret < offsetof(typeof(di),disc_type)) return 1; if (!di.erasable) @@ -766,10 +793,12 @@ static int cdrom_mrw_open_write(struct cdrom_device_info *cdi) * 3 - MRW formatting complete */ ret = 0; - printk(KERN_INFO "cdrom open: mrw_status '%s'\n", mrw_format_status[di.mrw_status]); + printk(KERN_INFO "cdrom open: mrw_status '%s'\n", + mrw_format_status[di.mrw_status]); if (!di.mrw_status) ret = 1; - else if (di.mrw_status == CDM_MRW_BGFORMAT_INACTIVE && mrw_format_restart) + else if (di.mrw_status == CDM_MRW_BGFORMAT_INACTIVE && + mrw_format_restart) ret = cdrom_mrw_bgformat(cdi, 1); return ret; @@ -1922,7 +1951,8 @@ static int cdrom_read_cdda_old(struct cdrom_device_info *cdi, __u8 __user *ubuf, int lba, int nframes) { struct packet_command cgc; - int nr, ret; + int ret = 0; + int nr; cdi->last_sense = 0; @@ -1944,8 +1974,8 @@ static int cdrom_read_cdda_old(struct cdrom_device_info *cdi, __u8 __user *ubuf, return -ENOMEM; if (!access_ok(VERIFY_WRITE, ubuf, nframes * CD_FRAMESIZE_RAW)) { - kfree(cgc.buffer); - return -EFAULT; + ret = -EFAULT; + goto out; } cgc.data_direction = CGC_DATA_READ; @@ -1956,13 +1986,17 @@ static int cdrom_read_cdda_old(struct cdrom_device_info *cdi, __u8 __user *ubuf, ret = cdrom_read_block(cdi, &cgc, lba, nr, 1, CD_FRAMESIZE_RAW); if (ret) break; - __copy_to_user(ubuf, cgc.buffer, CD_FRAMESIZE_RAW * nr); + if (__copy_to_user(ubuf, cgc.buffer, CD_FRAMESIZE_RAW * nr)) { + ret = -EFAULT; + break; + } ubuf += CD_FRAMESIZE_RAW * nr; nframes -= nr; lba += nr; } +out: kfree(cgc.buffer); - return 0; + return ret; } static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf, @@ -2504,7 +2538,7 @@ static int mmc_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, struct cdrom_device_ops *cdo = cdi->ops; struct packet_command cgc; struct request_sense sense; - char buffer[32]; + unsigned char buffer[32]; int ret = 0; memset(&cgc, 0, sizeof(cgc)); @@ -2631,8 +2665,9 @@ static int mmc_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, case CDROMVOLCTRL: case CDROMVOLREAD: { struct cdrom_volctrl volctrl; - char mask[32]; + char mask[sizeof(buffer)]; unsigned short offset; + cdinfo(CD_DO_IOCTL, "entering CDROMVOLUME\n"); IOCTL_IN(arg, struct cdrom_volctrl, volctrl); @@ -2642,17 +2677,27 @@ static int mmc_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, if ((ret = cdrom_mode_sense(cdi, &cgc, GPMODE_AUDIO_CTL_PAGE, 0))) return ret; - /* some drives have longer pages, adjust and reread. */ - if (buffer[1] > cgc.buflen) { - cgc.buflen = buffer[1] + 2; - if ((ret = cdrom_mode_sense(cdi, &cgc, - GPMODE_AUDIO_CTL_PAGE, 0))) - return ret; + /* originally the code depended on buffer[1] to determine + how much data is available for transfer. buffer[1] is + unfortunately ambigious and the only reliable way seem + to be to simply skip over the block descriptor... */ + offset = 8 + be16_to_cpu(*(unsigned short *)(buffer+6)); + + if (offset + 16 > sizeof(buffer)) + return -E2BIG; + + if (offset + 16 > cgc.buflen) { + cgc.buflen = offset+16; + ret = cdrom_mode_sense(cdi, &cgc, + GPMODE_AUDIO_CTL_PAGE, 0); + if (ret) + return ret; } - - /* get the offset from the length of the page. length - is measure from byte 2 an on, thus the 14. */ - offset = buffer[1] - 14; + + /* sanity check */ + if ((buffer[offset] & 0x3f) != GPMODE_AUDIO_CTL_PAGE || + buffer[offset+1] < 14) + return -EINVAL; /* now we have the current volume settings. if it was only a CDROMVOLREAD, return these values */ @@ -2677,7 +2722,8 @@ static int mmc_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, buffer[offset+15] = volctrl.channel3 & mask[offset+15]; /* set volume */ - cgc.buffer = buffer; + cgc.buffer = buffer + offset - 8; + memset(cgc.buffer, 0, 8); return cdrom_mode_select(cdi, &cgc); } @@ -2760,7 +2806,7 @@ static int cdrom_get_track_info(struct cdrom_device_info *cdi, __u16 track, __u8 { struct cdrom_device_ops *cdo = cdi->ops; struct packet_command cgc; - int ret; + int ret, buflen; init_cdrom_command(&cgc, ti, 8, CGC_DATA_READ); cgc.cmd[0] = GPCMD_READ_TRACK_RZONE_INFO; @@ -2773,14 +2819,18 @@ static int cdrom_get_track_info(struct cdrom_device_info *cdi, __u16 track, __u8 if ((ret = cdo->generic_packet(cdi, &cgc))) return ret; - cgc.buflen = be16_to_cpu(ti->track_information_length) + + buflen = be16_to_cpu(ti->track_information_length) + sizeof(ti->track_information_length); - if (cgc.buflen > sizeof(track_information)) - cgc.buflen = sizeof(track_information); + if (buflen > sizeof(track_information)) + buflen = sizeof(track_information); - cgc.cmd[8] = cgc.buflen; - return cdo->generic_packet(cdi, &cgc); + cgc.cmd[8] = cgc.buflen = buflen; + if ((ret = cdo->generic_packet(cdi, &cgc))) + return ret; + + /* return actual fill size */ + return buflen; } /* requires CD R/RW */ @@ -2788,7 +2838,7 @@ static int cdrom_get_disc_info(struct cdrom_device_info *cdi, disc_information * { struct cdrom_device_ops *cdo = cdi->ops; struct packet_command cgc; - int ret; + int ret, buflen; /* set up command and get the disc info */ init_cdrom_command(&cgc, di, sizeof(*di), CGC_DATA_READ); @@ -2802,14 +2852,18 @@ static int cdrom_get_disc_info(struct cdrom_device_info *cdi, disc_information * /* not all drives have the same disc_info length, so requeue * packet with the length the drive tells us it can supply */ - cgc.buflen = be16_to_cpu(di->disc_information_length) + + buflen = be16_to_cpu(di->disc_information_length) + sizeof(di->disc_information_length); - if (cgc.buflen > sizeof(disc_information)) - cgc.buflen = sizeof(disc_information); + if (buflen > sizeof(disc_information)) + buflen = sizeof(disc_information); - cgc.cmd[8] = cgc.buflen; - return cdo->generic_packet(cdi, &cgc); + cgc.cmd[8] = cgc.buflen = buflen; + if ((ret = cdo->generic_packet(cdi, &cgc))) + return ret; + + /* return actual fill size */ + return buflen; } /* return the last written block on the CD-R media. this is for the udf @@ -2820,27 +2874,37 @@ int cdrom_get_last_written(struct cdrom_device_info *cdi, long *last_written) disc_information di; track_information ti; __u32 last_track; - int ret = -1; + int ret = -1, ti_size; if (!CDROM_CAN(CDC_GENERIC_PACKET)) goto use_toc; - if ((ret = cdrom_get_disc_info(cdi, &di))) + ret = cdrom_get_disc_info(cdi, &di); + if (ret < (int)(offsetof(typeof(di), last_track_lsb) + + sizeof(di.last_track_lsb))) goto use_toc; + /* if unit didn't return msb, it's zeroed by cdrom_get_disc_info */ last_track = (di.last_track_msb << 8) | di.last_track_lsb; - if ((ret = cdrom_get_track_info(cdi, last_track, 1, &ti))) + ti_size = cdrom_get_track_info(cdi, last_track, 1, &ti); + if (ti_size < (int)offsetof(typeof(ti), track_start)) goto use_toc; /* if this track is blank, try the previous. */ if (ti.blank) { - last_track--; - if ((ret = cdrom_get_track_info(cdi, last_track, 1, &ti))) + if (last_track==1) goto use_toc; + last_track--; + ti_size = cdrom_get_track_info(cdi, last_track, 1, &ti); } + if (ti_size < (int)(offsetof(typeof(ti), track_size) + + sizeof(ti.track_size))) + goto use_toc; + /* if last recorded field is valid, return it. */ - if (ti.lra_v) { + if (ti.lra_v && ti_size >= (int)(offsetof(typeof(ti), last_rec_address) + + sizeof(ti.last_rec_address))) { *last_written = be32_to_cpu(ti.last_rec_address); } else { /* make it up instead */ @@ -2853,11 +2917,12 @@ int cdrom_get_last_written(struct cdrom_device_info *cdi, long *last_written) /* this is where we end up if the drive either can't do a GPCMD_READ_DISC_INFO or GPCMD_READ_TRACK_RZONE_INFO or if - it fails. then we return the toc contents. */ + it doesn't give enough information or fails. then we return + the toc contents. */ use_toc: toc.cdte_format = CDROM_MSF; toc.cdte_track = CDROM_LEADOUT; - if (cdi->ops->audio_ioctl(cdi, CDROMREADTOCENTRY, &toc)) + if ((ret = cdi->ops->audio_ioctl(cdi, CDROMREADTOCENTRY, &toc))) return ret; sanitize_format(&toc.cdte_addr, &toc.cdte_format, CDROM_LBA); *last_written = toc.cdte_addr.lba; @@ -2870,32 +2935,38 @@ static int cdrom_get_next_writable(struct cdrom_device_info *cdi, long *next_wri disc_information di; track_information ti; __u16 last_track; - int ret = -1; + int ret, ti_size; if (!CDROM_CAN(CDC_GENERIC_PACKET)) goto use_last_written; - if ((ret = cdrom_get_disc_info(cdi, &di))) + ret = cdrom_get_disc_info(cdi, &di); + if (ret < 0 || ret < offsetof(typeof(di), last_track_lsb) + + sizeof(di.last_track_lsb)) goto use_last_written; + /* if unit didn't return msb, it's zeroed by cdrom_get_disc_info */ last_track = (di.last_track_msb << 8) | di.last_track_lsb; - if ((ret = cdrom_get_track_info(cdi, last_track, 1, &ti))) + ti_size = cdrom_get_track_info(cdi, last_track, 1, &ti); + if (ti_size < 0 || ti_size < offsetof(typeof(ti), track_start)) goto use_last_written; /* if this track is blank, try the previous. */ if (ti.blank) { + if (last_track == 1) + goto use_last_written; last_track--; - if ((ret = cdrom_get_track_info(cdi, last_track, 1, &ti))) + ti_size = cdrom_get_track_info(cdi, last_track, 1, &ti); + if (ti_size < 0) goto use_last_written; } /* if next recordable address field is valid, use it. */ - if (ti.nwa_v) + if (ti.nwa_v && ti_size >= offsetof(typeof(ti), next_writable) + + sizeof(ti.next_writable)) { *next_writable = be32_to_cpu(ti.next_writable); - else - goto use_last_written; - - return 0; + return 0; + } use_last_written: if ((ret = cdrom_get_last_written(cdi, next_writable))) { diff --git a/drivers/cdrom/cdu31a.c b/drivers/cdrom/cdu31a.c index 09873fa1b..162486f9d 100644 --- a/drivers/cdrom/cdu31a.c +++ b/drivers/cdrom/cdu31a.c @@ -65,14 +65,6 @@ * This section describes features beyond the normal audio and CD-ROM * functions of the drive. * - * 2048 byte buffer mode - * - * If a disk is mounted with -o block=2048, data is copied straight - * from the drive data port to the buffer. Otherwise, the readahead - * buffer must be involved to hold the other 1K of data when a 1K - * block operation is done. Note that with 2048 byte blocks you - * cannot execute files from the CD. - * * XA compatibility * * The driver should support XA disks for both the CDU31A and CDU33A. @@ -147,6 +139,13 @@ * Removed init_module & cleanup_module in favor of * module_init & module_exit. * Torben Mathiasen + * + * 22 October 2004 -- Make the driver work in 2.6.X + * Added workaround to fix hard lockups on eject + * Fixed door locking problem after mounting empty drive + * Set double-speed drives to double speed by default + * Removed all readahead things - not needed anymore + * Ondrej Zary */ #include @@ -179,10 +178,9 @@ #define MAJOR_NR CDU31A_CDROM_MAJOR #include -#define CDU31A_READAHEAD 4 /* 128 sector, 64kB, 32 reads read-ahead */ #define CDU31A_MAX_CONSECUTIVE_ATTENTIONS 10 -#define DEBUG 0 +#define DEBUG 1 /* Define the following if you have data corruption problems. */ #undef SONY_POLL_EACH_BYTE @@ -279,7 +277,6 @@ static struct task_struct *has_cd_task = NULL; /* The task that is currently NULL if none. */ static int is_double_speed = 0; /* does the drive support double speed ? */ -static int is_a_cdu31a = 1; /* Is the drive a CDU31A? */ static int is_auto_eject = 1; /* Door has been locked? 1=No/0=Yes */ @@ -314,12 +311,8 @@ static int curr_control_reg = 0; /* Current value of the control register */ it will be cleared. */ static char disk_changed; -/* Variable for using the readahead buffer. The readahead buffer - is used for raw sector reads and for blocksizes that are smaller - than 2048 bytes. */ -static char readahead_buffer[CD_FRAMESIZE_RAW]; -static int readahead_dataleft = 0; -static int readahead_bad = 0; +/* This was readahead_buffer once... Now it's used only for audio reads */ +static char audio_buffer[CD_FRAMESIZE_RAW]; /* Used to time a short period to abort an operation after the drive has been idle for a while. This keeps the light on @@ -440,7 +433,6 @@ static inline int is_result_reg_not_empty(void) static inline void reset_drive(void) { curr_control_reg = 0; - readahead_dataleft = 0; sony_toc_read = 0; outb(SONY_DRIVE_RESET_BIT, sony_cd_control_reg); } @@ -556,82 +548,47 @@ static unsigned char *translate_error(unsigned char err_code) static unsigned char errbuf[80]; switch (err_code) { - case 0x10: - return "illegal command "; - case 0x11: - return "illegal parameter "; - - case 0x20: - return "not loaded "; - case 0x21: - return "no disc "; - case 0x22: - return "not spinning "; - case 0x23: - return "spinning "; - case 0x25: - return "spindle servo "; - case 0x26: - return "focus servo "; - case 0x29: - return "eject mechanism "; - case 0x2a: - return "audio playing "; - case 0x2c: - return "emergency eject "; - - case 0x30: - return "focus "; - case 0x31: - return "frame sync "; - case 0x32: - return "subcode address "; - case 0x33: - return "block sync "; - case 0x34: - return "header address "; - - case 0x40: - return "illegal track read "; - case 0x41: - return "mode 0 read "; - case 0x42: - return "illegal mode read "; - case 0x43: - return "illegal block size read "; - case 0x44: - return "mode read "; - case 0x45: - return "form read "; - case 0x46: - return "leadout read "; - case 0x47: - return "buffer overrun "; - - case 0x53: - return "unrecoverable CIRC "; - case 0x57: - return "unrecoverable LECC "; - - case 0x60: - return "no TOC "; - case 0x61: - return "invalid subcode data "; - case 0x63: - return "focus on TOC read "; - case 0x64: - return "frame sync on TOC read "; - case 0x65: - return "TOC data "; - - case 0x70: - return "hardware failure "; - case 0x91: - return "leadin "; - case 0x92: - return "leadout "; - case 0x93: - return "data track "; + case 0x10: return "illegal command "; + case 0x11: return "illegal parameter "; + + case 0x20: return "not loaded "; + case 0x21: return "no disc "; + case 0x22: return "not spinning "; + case 0x23: return "spinning "; + case 0x25: return "spindle servo "; + case 0x26: return "focus servo "; + case 0x29: return "eject mechanism "; + case 0x2a: return "audio playing "; + case 0x2c: return "emergency eject "; + + case 0x30: return "focus "; + case 0x31: return "frame sync "; + case 0x32: return "subcode address "; + case 0x33: return "block sync "; + case 0x34: return "header address "; + + case 0x40: return "illegal track read "; + case 0x41: return "mode 0 read "; + case 0x42: return "illegal mode read "; + case 0x43: return "illegal block size read "; + case 0x44: return "mode read "; + case 0x45: return "form read "; + case 0x46: return "leadout read "; + case 0x47: return "buffer overrun "; + + case 0x53: return "unrecoverable CIRC "; + case 0x57: return "unrecoverable LECC "; + + case 0x60: return "no TOC "; + case 0x61: return "invalid subcode data "; + case 0x63: return "focus on TOC read "; + case 0x64: return "frame sync on TOC read "; + case 0x65: return "TOC data "; + + case 0x70: return "hardware failure "; + case 0x91: return "leadin "; + case 0x92: return "leadout "; + case 0x93: return "data track "; } sprintf(errbuf, "unknown 0x%02x ", err_code); return errbuf; @@ -696,8 +653,7 @@ static int scd_select_speed(struct cdrom_device_info *cdi, int speed) */ static int scd_lock_door(struct cdrom_device_info *cdi, int lock) { - if (lock == 0 && sony_usage == 1) { - /* Unlock the door, only if nobody is using the drive */ + if (lock == 0) { is_auto_eject = 1; } else { is_auto_eject = 0; @@ -1143,10 +1099,9 @@ static void size_to_buf(unsigned int size, unsigned char *buf) operation if the requested sector is not the next one from the drive. */ static int -start_request(unsigned int sector, unsigned int nsect, int read_nsect_only) +start_request(unsigned int sector, unsigned int nsect) { unsigned char params[6]; - unsigned int read_size; unsigned long retry_count; @@ -1154,22 +1109,7 @@ start_request(unsigned int sector, unsigned int nsect, int read_nsect_only) printk("Entering start_request\n"); #endif log_to_msf(sector, params); - /* If requested, read exactly what was asked. */ - if (read_nsect_only) { - read_size = nsect; - } - /* - * If the full read-ahead would go beyond the end of the media, trim - * it back to read just till the end of the media. - */ - else if ((sector + nsect) >= sony_toc.lead_out_start_lba) { - read_size = sony_toc.lead_out_start_lba - sector; - } - /* Read the full readahead amount. */ - else { - read_size = CDU31A_READAHEAD / 4; - } - size_to_buf(read_size, ¶ms[3]); + size_to_buf(nsect, ¶ms[3]); /* * Clear any outstanding attentions and wait for the drive to @@ -1198,10 +1138,8 @@ start_request(unsigned int sector, unsigned int nsect, int read_nsect_only) write_params(params, 6); write_cmd(SONY_READ_BLKERR_STAT_CMD); - sony_blocks_left = read_size * 4; + sony_blocks_left = nsect * 4; sony_next_block = sector * 4; - readahead_dataleft = 0; - readahead_bad = 0; #if DEBUG printk("Leaving start_request at %d\n", __LINE__); #endif @@ -1212,8 +1150,7 @@ start_request(unsigned int sector, unsigned int nsect, int read_nsect_only) #endif } -/* Abort a pending read operation. Clear all the drive status and - readahead variables. */ +/* Abort a pending read operation. Clear all the drive status variables. */ static void abort_read(void) { unsigned char result_reg[2]; @@ -1238,8 +1175,6 @@ static void abort_read(void) } sony_blocks_left = 0; - readahead_dataleft = 0; - readahead_bad = 0; } /* Called when the timer times out. This will abort the @@ -1264,8 +1199,6 @@ static void handle_abort_timeout(unsigned long data) write_cmd(SONY_ABORT_CMD); sony_blocks_left = 0; - readahead_dataleft = 0; - readahead_bad = 0; abort_read_started = 1; } restore_flags(flags); @@ -1274,60 +1207,30 @@ static void handle_abort_timeout(unsigned long data) #endif } -/* Actually get data and status from the drive. */ +/* Actually get one sector of data from the drive. */ static void -input_data(char *buffer, - unsigned int bytesleft, - unsigned int nblocks, unsigned int offset, unsigned int skip) +input_data_sector(char *buffer) { - int i; - volatile unsigned char val; - - #if DEBUG - printk("Entering input_data\n"); + printk("Entering input_data_sector\n"); #endif + /* If an XA disk on a CDU31A, skip the first 12 bytes of data from - the disk. The real data is after that. */ - if (sony_xa_mode) { - for (i = 0; i < CD_XA_HEAD; i++) { - val = read_data_register(); - } - } + the disk. The real data is after that. We can use audio_buffer. */ + if (sony_xa_mode) + insb(sony_cd_read_reg, audio_buffer, CD_XA_HEAD); clear_data_ready(); - if (bytesleft == 2048) { /* 2048 byte direct buffer transfer */ - insb(sony_cd_read_reg, buffer, 2048); - readahead_dataleft = 0; - } else { - /* If the input read did not align with the beginning of the block, - skip the necessary bytes. */ - if (skip != 0) { - insb(sony_cd_read_reg, readahead_buffer, skip); - } - - /* Get the data into the buffer. */ - insb(sony_cd_read_reg, &buffer[offset], bytesleft); - - /* Get the rest of the data into the readahead buffer at the - proper location. */ - readahead_dataleft = (2048 - skip) - bytesleft; - insb(sony_cd_read_reg, - readahead_buffer + bytesleft, readahead_dataleft); - } - sony_blocks_left -= nblocks; - sony_next_block += nblocks; + insb(sony_cd_read_reg, buffer, 2048); /* If an XA disk, we have to clear out the rest of the unused - error correction data. */ - if (sony_xa_mode) { - for (i = 0; i < CD_XA_TAIL; i++) { - val = read_data_register(); - } - } + error correction data. We can use audio_buffer for that. */ + if (sony_xa_mode) + insb(sony_cd_read_reg, audio_buffer, CD_XA_TAIL); + #if DEBUG - printk("Leaving input_data at %d\n", __LINE__); + printk("Leaving input_data_sector\n"); #endif } @@ -1339,10 +1242,6 @@ read_data_block(char *buffer, unsigned char res_reg[], int *res_size) { unsigned long retry_count; - unsigned int bytesleft; - unsigned int offset; - unsigned int skip; - #if DEBUG printk("Entering read_data_block\n"); @@ -1351,67 +1250,6 @@ read_data_block(char *buffer, res_reg[0] = 0; res_reg[1] = 0; *res_size = 0; - bytesleft = nblocks * 512; - offset = 0; - - /* If the data in the read-ahead does not match the block offset, - then fix things up. */ - if (((block % 4) * 512) != ((2048 - readahead_dataleft) % 2048)) { - sony_next_block += block % 4; - sony_blocks_left -= block % 4; - skip = (block % 4) * 512; - } else { - skip = 0; - } - - /* We have readahead data in the buffer, get that first before we - decide if a read is necessary. */ - if (readahead_dataleft != 0) { - if (bytesleft > readahead_dataleft) { - /* The readahead will not fill the requested buffer, but - get the data out of the readahead into the buffer. */ - memcpy(buffer, - readahead_buffer + (2048 - - readahead_dataleft), - readahead_dataleft); - bytesleft -= readahead_dataleft; - offset += readahead_dataleft; - readahead_dataleft = 0; - } else { - /* The readahead will fill the whole buffer, get the data - and return. */ - memcpy(buffer, - readahead_buffer + (2048 - - readahead_dataleft), - bytesleft); - readahead_dataleft -= bytesleft; - bytesleft = 0; - sony_blocks_left -= nblocks; - sony_next_block += nblocks; - - /* If the data in the readahead is bad, return an error so the - driver will abort the buffer. */ - if (readahead_bad) { - res_reg[0] = 0x20; - res_reg[1] = SONY_BAD_DATA_ERR; - *res_size = 2; - } - - if (readahead_dataleft == 0) { - readahead_bad = 0; - } - - /* Final transfer is done for read command, get final result. */ - if (sony_blocks_left == 0) { - get_result(res_reg, res_size); - } -#if DEBUG - printk("Leaving read_data_block at %d\n", - __LINE__); -#endif - return; - } - } /* Wait for the drive to tell us we have something */ retry_count = jiffies + SONY_JIFFIES_TIMEOUT; @@ -1442,7 +1280,9 @@ read_data_block(char *buffer, abort_read(); } } else { - input_data(buffer, bytesleft, nblocks, offset, skip); + input_data_sector(buffer); + sony_blocks_left -= nblocks; + sony_next_block += nblocks; /* Wait for the status from the drive. */ retry_count = jiffies + SONY_JIFFIES_TIMEOUT; @@ -1473,16 +1313,7 @@ read_data_block(char *buffer, SONY_NO_LECC_ERR_BLK_STAT) || (res_reg[0] == SONY_RECOV_LECC_ERR_BLK_STAT)) { - /* The data was successful, but if data was read from - the readahead and it was bad, set the whole - buffer as bad. */ - if (readahead_bad) { - readahead_bad = 0; - res_reg[0] = 0x20; - res_reg[1] = - SONY_BAD_DATA_ERR; - *res_size = 2; - } + /* nothing here */ } else { printk ("CDU31A: Data block error: 0x%x\n", @@ -1490,12 +1321,6 @@ read_data_block(char *buffer, res_reg[0] = 0x20; res_reg[1] = SONY_BAD_DATA_ERR; *res_size = 2; - - /* Data is in the readahead buffer but an error was returned. - Make sure future requests don't use the data. */ - if (bytesleft != 2048) { - readahead_bad = 1; - } } /* Final transfer is done for read command, get final result. */ @@ -1531,11 +1356,9 @@ read_data_block(char *buffer, static void do_cdu31a_request(request_queue_t * q) { struct request *req; - int block; - int nblock; + int block, nblock, num_retries; unsigned char res_reg[12]; unsigned int res_size; - int num_retries; unsigned long flags; @@ -1591,7 +1414,10 @@ static void do_cdu31a_request(request_queue_t * q) block = req->sector; nblock = req->nr_sectors; - +#if DEBUG + printk("CDU31A: request at block %d, length %d blocks\n", + block, nblock); +#endif if (!sony_toc_read) { printk("CDU31A: TOC not read\n"); end_request(req, 0); @@ -1611,17 +1437,14 @@ static void do_cdu31a_request(request_queue_t * q) * If the block address is invalid or the request goes beyond the end of * the media, return an error. */ - if ((block / 4) >= sony_toc.lead_out_start_lba) { - printk("CDU31A: Request past end of media\n"); - end_request(req, 0); - continue; - } if (((block + nblock) / 4) >= sony_toc.lead_out_start_lba) { printk("CDU31A: Request past end of media\n"); end_request(req, 0); continue; } + if (nblock > 4) + nblock = 4; num_retries = 0; try_read_again: @@ -1636,7 +1459,7 @@ static void do_cdu31a_request(request_queue_t * q) /* If no data is left to be read from the drive, start the next request. */ if (sony_blocks_left == 0) { - if (start_request(block / 4, CDU31A_READAHEAD / 4, 0)) { + if (start_request(block / 4, nblock / 4)) { end_request(req, 0); continue; } @@ -1655,7 +1478,7 @@ static void do_cdu31a_request(request_queue_t * q) end_request(req, 0); continue; } - if (start_request(block / 4, CDU31A_READAHEAD / 4, 0)) { + if (start_request(block / 4, nblock / 4)) { printk("CDU31a: start request failed\n"); end_request(req, 0); continue; @@ -1665,7 +1488,12 @@ static void do_cdu31a_request(request_queue_t * q) read_data_block(req->buffer, block, nblock, res_reg, &res_size); if (res_reg[0] != 0x20) { - end_request(req, 1); + if (!end_that_request_first(req, 1, nblock)) { + spin_lock_irq(q->queue_lock); + blkdev_dequeue_request(req); + end_that_request_last(req); + spin_unlock_irq(q->queue_lock); + } continue; } @@ -1774,7 +1602,7 @@ static void sony_get_toc(void) /* This seems to slow things down enough to make it work. This * appears to be a problem in do_sony_cd_cmd. This printk seems * to address the symptoms... -Erik */ -#if 1 +#if DEBUG printk("cdu31a: Trying session %d\n", session); #endif parms[0] = session; @@ -2529,8 +2357,7 @@ static int read_audio(struct cdrom_read_audio *ra) return. */ retval = 0; - /* start_request clears out any readahead data, so it should be safe. */ - if (start_request(ra->addr.lba, ra->nframes, 1)) { + if (start_request(ra->addr.lba, ra->nframes)) { retval = -EIO; goto exit_read_audio; } @@ -2538,7 +2365,7 @@ static int read_audio(struct cdrom_read_audio *ra) /* For every requested frame. */ cframe = 0; while (cframe < ra->nframes) { - read_audio_data(readahead_buffer, res_reg, &res_size); + read_audio_data(audio_buffer, res_reg, &res_size); if ((res_reg[0] & 0xf0) == 0x20) { if (res_reg[1] == SONY_BAD_DATA_ERR) { printk @@ -2567,7 +2394,7 @@ static int read_audio(struct cdrom_read_audio *ra) /* Restart the request on the current frame. */ if (start_request (ra->addr.lba + cframe, - ra->nframes - cframe, 1)) { + ra->nframes - cframe)) { retval = -EIO; goto exit_read_audio; } @@ -2575,7 +2402,7 @@ static int read_audio(struct cdrom_read_audio *ra) /* Don't go back to the top because don't want to get into and infinite loop. A lot of code gets duplicated, but that's no big deal, I don't guess. */ - read_audio_data(readahead_buffer, res_reg, + read_audio_data(audio_buffer, res_reg, &res_size); if ((res_reg[0] & 0xf0) == 0x20) { if (res_reg[1] == @@ -2596,7 +2423,7 @@ static int read_audio(struct cdrom_read_audio *ra) } else if (copy_to_user(ra->buf + (CD_FRAMESIZE_RAW * cframe), - readahead_buffer, + audio_buffer, CD_FRAMESIZE_RAW)) { retval = -EFAULT; goto exit_read_audio; @@ -2610,7 +2437,7 @@ static int read_audio(struct cdrom_read_audio *ra) goto exit_read_audio; } } else if (copy_to_user(ra->buf + (CD_FRAMESIZE_RAW * cframe), - (char *)readahead_buffer, + (char *)audio_buffer, CD_FRAMESIZE_RAW)) { retval = -EFAULT; goto exit_read_audio; @@ -3061,12 +2888,18 @@ static int scd_spinup(void) * Open the drive for operations. Spin the drive up and read the table of * contents if these have not already been done. */ -static int scd_open(struct cdrom_device_info *cdi, int openmode) +static int scd_open(struct cdrom_device_info *cdi, int purpose) { unsigned char res_reg[12]; unsigned int res_size; unsigned char params[2]; + if (purpose == 1) { + /* Open for IOCTLs only - no media check */ + sony_usage++; + return 0; + } + if (sony_usage == 0) { if (scd_spinup() != 0) return -EIO; @@ -3151,8 +2984,7 @@ static struct cdrom_device_ops scd_dops = { .dev_ioctl = scd_dev_ioctl, .capability = CDC_OPEN_TRAY | CDC_CLOSE_TRAY | CDC_LOCK | CDC_SELECT_SPEED | CDC_MULTI_SESSION | - CDC_MULTI_SESSION | CDC_MCN | - CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO | + CDC_MCN | CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO | CDC_RESET | CDC_IOCTLS | CDC_DRIVE_STATUS, .n_minors = 1, }; @@ -3177,7 +3009,19 @@ static int scd_block_release(struct inode *inode, struct file *file) static int scd_block_ioctl(struct inode *inode, struct file *file, unsigned cmd, unsigned long arg) { - return cdrom_ioctl(file, &scd_info, inode, cmd, arg); + /* The eject and close commands should be handled by Uniform CD-ROM + * driver - but I always got hard lockup instead of eject + * until I put this here. + */ + switch (cmd) { + case CDROMEJECT: + scd_lock_door(&scd_info, 0); + return scd_tray_move(&scd_info, 1); + case CDROMCLOSETRAY: + return scd_tray_move(&scd_info, 0); + default: + return cdrom_ioctl(file, &scd_info, inode, cmd, arg); + } } static int scd_block_media_changed(struct gendisk *disk) @@ -3372,6 +3216,7 @@ int __init cdu31a_init(void) tmp_irq = cdu31a_irq; /* Need IRQ 0 because we can't sleep here. */ cdu31a_irq = 0; + sony_speed = is_double_speed; /* Set 2X drives to 2X by default */ set_drive_params(sony_speed); cdu31a_irq = tmp_irq; @@ -3417,13 +3262,12 @@ int __init cdu31a_init(void) strcat(msg, buf); } strcat(msg, "\n"); - - is_a_cdu31a = - strcmp("CD-ROM CDU31A", drive_config.product_id) == 0; - + printk("%s",msg); + cdu31a_queue = blk_init_queue(do_cdu31a_request, &cdu31a_lock); if (!cdu31a_queue) goto errout0; + blk_queue_hardsect_size(cdu31a_queue, 2048); init_timer(&cdu31a_abort_timer); cdu31a_abort_timer.function = handle_abort_timeout; diff --git a/drivers/cdrom/cdu31a.h b/drivers/cdrom/cdu31a.h index a04d0b3a2..61d4768c4 100644 --- a/drivers/cdrom/cdu31a.h +++ b/drivers/cdrom/cdu31a.h @@ -72,10 +72,10 @@ from drive (in 1/100th's of seconds). */ -#define SONY_JIFFIES_TIMEOUT 1000 /* Maximum number of times the +#define SONY_JIFFIES_TIMEOUT (10*HZ) /* Maximum number of times the drive will wait/try for an operation */ -#define SONY_RESET_TIMEOUT 100 /* Maximum number of times the +#define SONY_RESET_TIMEOUT HZ /* Maximum number of times the drive will wait/try a reset operation */ #define SONY_READY_RETRIES 20000 /* How many times to retry a diff --git a/drivers/cdrom/viocd.c b/drivers/cdrom/viocd.c index 3a2acc0fb..dde8bfed9 100644 --- a/drivers/cdrom/viocd.c +++ b/drivers/cdrom/viocd.c @@ -121,7 +121,10 @@ struct capability_entry { }; static struct capability_entry capability_table[] __initdata = { - { "6330", CDC_LOCK | CDC_DVD_RAM }, + { "6330", CDC_LOCK | CDC_DVD_RAM | CDC_RAM }, + { "6331", CDC_LOCK | CDC_DVD_RAM | CDC_RAM }, + { "6333", CDC_LOCK | CDC_DVD_RAM | CDC_RAM }, + { "632A", CDC_LOCK | CDC_DVD_RAM | CDC_RAM }, { "6321", CDC_LOCK }, { "632B", 0 }, { NULL , CDC_LOCK }, @@ -151,7 +154,6 @@ static struct disk_info viocd_diskinfo[VIOCD_MAX_CD]; #define DEVICE_NR(di) ((di) - &viocd_diskinfo[0]) -static request_queue_t *viocd_queue; static spinlock_t viocd_reqlock; #define MAX_CD_REQ 1 @@ -332,10 +334,19 @@ static int send_request(struct request *req) struct disk_info *diskinfo = req->rq_disk->private_data; u64 len; dma_addr_t dmaaddr; + int direction; + u16 cmd; struct scatterlist sg; BUG_ON(req->nr_phys_segments > 1); - BUG_ON(rq_data_dir(req) != READ); + + if (rq_data_dir(req) == READ) { + direction = DMA_FROM_DEVICE; + cmd = viomajorsubtype_cdio | viocdread; + } else { + direction = DMA_TO_DEVICE; + cmd = viomajorsubtype_cdio | viocdwrite; + } if (blk_rq_map_sg(req->q, req, &sg) == 0) { printk(VIOCD_KERN_WARNING @@ -343,7 +354,7 @@ static int send_request(struct request *req) return -1; } - if (dma_map_sg(diskinfo->dev, &sg, 1, DMA_FROM_DEVICE) == 0) { + if (dma_map_sg(diskinfo->dev, &sg, 1, direction) == 0) { printk(VIOCD_KERN_WARNING "error allocating sg tce\n"); return -1; } @@ -351,8 +362,7 @@ static int send_request(struct request *req) len = sg_dma_len(&sg); hvrc = HvCallEvent_signalLpEventFast(viopath_hostLp, - HvLpEvent_Type_VirtualIo, - viomajorsubtype_cdio | viocdread, + HvLpEvent_Type_VirtualIo, cmd, HvLpEvent_AckInd_DoAck, HvLpEvent_AckType_ImmediateAck, viopath_sourceinst(viopath_hostLp), @@ -457,6 +467,53 @@ static int viocd_lock_door(struct cdrom_device_info *cdi, int locking) return 0; } +static int viocd_packet(struct cdrom_device_info *cdi, + struct packet_command *cgc) +{ + unsigned int buflen = cgc->buflen; + int ret = -EIO; + + switch (cgc->cmd[0]) { + case GPCMD_READ_DISC_INFO: + { + disc_information *di = (disc_information *)cgc->buffer; + + if (buflen >= 2) { + di->disc_information_length = cpu_to_be16(1); + ret = 0; + } + if (buflen >= 3) + di->erasable = + (cdi->ops->capability & ~cdi->mask + & (CDC_DVD_RAM | CDC_RAM)) != 0; + } + break; + default: + if (cgc->sense) { + /* indicate Unknown code */ + cgc->sense->sense_key = 0x05; + cgc->sense->asc = 0x20; + cgc->sense->ascq = 0x00; + } + break; + } + + cgc->stat = ret; + return ret; +} + +static void restart_all_queues(int first_index) +{ + int i; + + for (i = first_index + 1; i < viocd_numdev; i++) + if (viocd_diskinfo[i].viocd_disk) + blk_run_queue(viocd_diskinfo[i].viocd_disk->queue); + for (i = 0; i <= first_index; i++) + if (viocd_diskinfo[i].viocd_disk) + blk_run_queue(viocd_diskinfo[i].viocd_disk->queue); +} + /* This routine handles incoming CD LP events */ static void vio_handle_cd_event(struct HvLpEvent *event) { @@ -486,7 +543,7 @@ static void vio_handle_cd_event(struct HvLpEvent *event) case viocdopen: if (event->xRc == 0) { di = &viocd_diskinfo[bevent->disk]; - blk_queue_hardsect_size(viocd_queue, + blk_queue_hardsect_size(di->viocd_disk->queue, bevent->block_size); set_capacity(di->viocd_disk, bevent->media_size * @@ -510,6 +567,7 @@ return_complete: case viocdclose: break; + case viocdwrite: case viocdread: /* * Since this is running in interrupt mode, we need to @@ -518,7 +576,8 @@ return_complete: di = &viocd_diskinfo[bevent->disk]; spin_lock_irqsave(&viocd_reqlock, flags); dma_unmap_single(di->dev, bevent->token, bevent->len, - DMA_FROM_DEVICE); + ((event->xSubtype & VIOMINOR_SUBTYPE_MASK) == viocdread) + ? DMA_FROM_DEVICE : DMA_TO_DEVICE); req = (struct request *)bevent->event.xCorrelationToken; rwreq--; @@ -536,7 +595,7 @@ return_complete: /* restart handling of incoming requests */ spin_unlock_irqrestore(&viocd_reqlock, flags); - blk_run_queue(viocd_queue); + restart_all_queues(bevent->disk); break; default: @@ -555,7 +614,8 @@ static struct cdrom_device_ops viocd_dops = { .release = viocd_release, .media_changed = viocd_media_changed, .lock_door = viocd_lock_door, - .capability = CDC_CLOSE_TRAY | CDC_OPEN_TRAY | CDC_LOCK | CDC_SELECT_SPEED | CDC_SELECT_DISC | CDC_MULTI_SESSION | CDC_MCN | CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO | CDC_RESET | CDC_IOCTLS | CDC_DRIVE_STATUS | CDC_GENERIC_PACKET | CDC_CD_R | CDC_CD_RW | CDC_DVD | CDC_DVD_R | CDC_DVD_RAM + .generic_packet = viocd_packet, + .capability = CDC_CLOSE_TRAY | CDC_OPEN_TRAY | CDC_LOCK | CDC_SELECT_SPEED | CDC_SELECT_DISC | CDC_MULTI_SESSION | CDC_MCN | CDC_MEDIA_CHANGED | CDC_PLAY_AUDIO | CDC_RESET | CDC_IOCTLS | CDC_DRIVE_STATUS | CDC_GENERIC_PACKET | CDC_CD_R | CDC_CD_RW | CDC_DVD | CDC_DVD_R | CDC_DVD_RAM | CDC_RAM }; static int __init find_capability(const char *type) @@ -575,6 +635,7 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id) struct disk_info *d; struct cdrom_device_info *c; struct cdrom_info *ci; + struct request_queue *q; deviceno = vdev->unit_address; if (deviceno >= viocd_numdev) @@ -594,17 +655,22 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id) if (register_cdrom(c) != 0) { printk(VIOCD_KERN_WARNING "Cannot register viocd CD-ROM %s!\n", c->name); - return 0; + goto out; } printk(VIOCD_KERN_INFO "cd %s is iSeries resource %10.10s " "type %4.4s, model %3.3s\n", c->name, ci->rsrcname, ci->type, ci->model); + q = blk_init_queue(do_viocd_request, &viocd_reqlock); + if (q == NULL) { + printk(VIOCD_KERN_WARNING "Cannot allocate queue for %s!\n", + c->name); + goto out_unregister_cdrom; + } gendisk = alloc_disk(1); if (gendisk == NULL) { printk(VIOCD_KERN_WARNING "Cannot create gendisk for %s!\n", c->name); - unregister_cdrom(c); - return 0; + goto out_cleanup_queue; } gendisk->major = VIOCD_MAJOR; gendisk->first_minor = deviceno; @@ -612,7 +678,10 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id) sizeof(gendisk->disk_name)); snprintf(gendisk->devfs_name, sizeof(gendisk->devfs_name), VIOCD_DEVICE_DEVFS "%d", deviceno); - gendisk->queue = viocd_queue; + blk_queue_max_hw_segments(q, 1); + blk_queue_max_phys_segments(q, 1); + blk_queue_max_sectors(q, 4096 / 512); + gendisk->queue = q; gendisk->fops = &viocd_fops; gendisk->flags = GENHD_FL_CD|GENHD_FL_REMOVABLE; set_capacity(gendisk, 0); @@ -621,8 +690,14 @@ static int viocd_probe(struct vio_dev *vdev, const struct vio_device_id *id) d->dev = &vdev->dev; gendisk->driverfs_dev = d->dev; add_disk(gendisk); - return 0; + +out_cleanup_queue: + blk_cleanup_queue(q); +out_unregister_cdrom: + unregister_cdrom(c); +out: + return -ENODEV; } static int viocd_remove(struct vio_dev *vdev) @@ -634,6 +709,7 @@ static int viocd_remove(struct vio_dev *vdev) "Cannot unregister viocd CD-ROM %s!\n", d->viocd_info.name); del_gendisk(d->viocd_disk); + blk_cleanup_queue(d->viocd_disk->queue); put_disk(d->viocd_disk); return 0; } @@ -693,18 +769,10 @@ static int __init viocd_init(void) goto out_undo_vio; spin_lock_init(&viocd_reqlock); - viocd_queue = blk_init_queue(do_viocd_request, &viocd_reqlock); - if (viocd_queue == NULL) { - ret = -ENOMEM; - goto out_free_info; - } - blk_queue_max_hw_segments(viocd_queue, 1); - blk_queue_max_phys_segments(viocd_queue, 1); - blk_queue_max_sectors(viocd_queue, 4096 / 512); ret = vio_register_driver(&viocd_driver); if (ret) - goto out_cleanup_queue; + goto out_free_info; e = create_proc_entry("iSeries/viocd", S_IFREG|S_IRUGO, NULL); if (e) { @@ -714,8 +782,6 @@ static int __init viocd_init(void) return 0; -out_cleanup_queue: - blk_cleanup_queue(viocd_queue); out_free_info: dma_free_coherent(iSeries_vio_dev, sizeof(*viocd_unitinfo) * VIOCD_MAX_CD, @@ -732,7 +798,6 @@ static void __exit viocd_exit(void) { remove_proc_entry("iSeries/viocd", NULL); vio_unregister_driver(&viocd_driver); - blk_cleanup_queue(viocd_queue); if (viocd_unitinfo != NULL) dma_free_coherent(iSeries_vio_dev, sizeof(*viocd_unitinfo) * VIOCD_MAX_CD, diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig index d86e52e81..e415ff8e3 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -59,7 +59,7 @@ config VT_CONSOLE config HW_CONSOLE bool - depends on VT && !S390 && !UM + depends on VT && !S390 && !USERMODE default y config SERIAL_NONSTANDARD @@ -424,6 +424,14 @@ config A2232 will also be built as a module. This has to be loaded before "ser_a2232". If you want to do this, answer M here. +config SGI_SNSC + bool "SGI Altix system controller communication support" + depends on (IA64_SGI_SN2 || IA64_GENERIC) + help + If you have an SGI Altix and you want to enable system + controller communication from user space (you want this!), + say Y. Otherwise, say N. + source "drivers/serial/Kconfig" config UNIX98_PTYS @@ -589,39 +597,6 @@ config HVCS which will also be compiled when this driver is built as a module. -config QIC02_TAPE - tristate "QIC-02 tape support" - help - If you have a non-SCSI tape drive like that, say Y. - - To compile this driver as a module, choose M here: the - module will be called tpqic02. - -config QIC02_DYNCONF - bool "Do you want runtime configuration for QIC-02" - depends on QIC02_TAPE - help - You can either configure this driver once and for all by editing a - header file (), in which case you - should say N, or you can fetch a program via anonymous FTP which is - able to configure this driver during runtime. The program to do - this is called 'qic02conf' and it is part of the - tpqic02-support-X.Y.tar.gz support package. - - If you want to use the qic02conf program, say Y. - -comment "Edit configuration parameters in ./include/linux/tpqic02.h!" - depends on QIC02_TAPE && !QIC02_DYNCONF - -comment "Setting runtime QIC-02 configuration is done with qic02conf" - depends on QIC02_TAPE && QIC02_DYNCONF - -comment "from the tpqic02-support package. It is available at" - depends on QIC02_TAPE && QIC02_DYNCONF - -comment "metalab.unc.edu or ftp://titus.cfw.com/pub/Linux/util/" - depends on QIC02_TAPE && QIC02_DYNCONF - source "drivers/char/ipmi/Kconfig" source "drivers/char/watchdog/Kconfig" @@ -780,7 +755,7 @@ config SGI_IP27_RTC config GEN_RTC tristate "Generic /dev/rtc emulation" - depends on RTC!=y && !IA64 + depends on RTC!=y && !IA64 && !ARM ---help--- If you say Y here and create a character special file /dev/rtc with major number 10 and minor number 135 using mknod ("man mknod"), you @@ -1008,5 +983,13 @@ config HANGCHECK_TIMER out to lunch past a certain margin. It can reboot the system or merely print a warning. +config MMTIMER + tristate "MMTIMER Memory mapped RTC for SGI Altix" + depends on IA64_GENERIC || IA64_SGI_SN2 + default y + help + The mmtimer device allows direct userspace access to the + Altix system timer. + endmenu diff --git a/drivers/char/Makefile b/drivers/char/Makefile index 14e233e32..01ad1c797 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -7,8 +7,11 @@ # FONTMAPFILE = cp437.uni -obj-y += mem.o random.o tty_io.o n_tty.o tty_ioctl.o pty.o misc.o +obj-y += mem.o random.o tty_io.o n_tty.o tty_ioctl.o +obj-$(CONFIG_LEGACY_PTYS) += pty.o +obj-$(CONFIG_UNIX98_PTYS) += pty.o +obj-y += misc.o obj-$(CONFIG_VT) += vt_ioctl.o vc_screen.o consolemap.o \ consolemap_deftbl.o selection.o keyboard.o obj-$(CONFIG_HW_CONSOLE) += vt.o defkeymap.o @@ -39,8 +42,10 @@ obj-$(CONFIG_N_HDLC) += n_hdlc.o obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o obj-$(CONFIG_SX) += sx.o generic_serial.o obj-$(CONFIG_RIO) += rio/ generic_serial.o -obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o +obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o hvsi.o obj-$(CONFIG_RAW_DRIVER) += raw.o +obj-$(CONFIG_SGI_SNSC) += snsc.o +obj-$(CONFIG_MMTIMER) += mmtimer.o obj-$(CONFIG_VIOCONS) += viocons.o obj-$(CONFIG_VIOTAPE) += viotape.o obj-$(CONFIG_HVCS) += hvcs.o diff --git a/drivers/char/agp/Kconfig b/drivers/char/agp/Kconfig index 773279d48..d9b4a6e7f 100644 --- a/drivers/char/agp/Kconfig +++ b/drivers/char/agp/Kconfig @@ -1,5 +1,5 @@ config AGP - tristate "/dev/agpgart (AGP Support)" if !GART_IOMMU && !M68K + tristate "/dev/agpgart (AGP Support)" if !GART_IOMMU && !M68K && !ARM default y if GART_IOMMU ---help--- AGP (Accelerated Graphics Port) is a bus system mainly used to @@ -130,7 +130,7 @@ config AGP_VIA depends on AGP && X86 && !X86_64 help This option gives you AGP support for the GLX component of - XFree86 4.x on VIA MPV3/Apollo Pro chipsets. + XFree86 4.x on VIA MVP3/Apollo Pro chipsets. You should say Y here if you use XFree86 3.3.6 or 4.x and want to use GLX or DRI. If unsure, say N. diff --git a/drivers/char/agp/agp.h b/drivers/char/agp/agp.h index f83e3e342..aaa2df812 100644 --- a/drivers/char/agp/agp.h +++ b/drivers/char/agp/agp.h @@ -141,16 +141,6 @@ struct agp_bridge_data { char minor_version; }; -#define OUTREG64(mmap, addr, val) __raw_writeq((val), (mmap)+(addr)) -#define OUTREG32(mmap, addr, val) __raw_writel((val), (mmap)+(addr)) -#define OUTREG16(mmap, addr, val) __raw_writew((val), (mmap)+(addr)) -#define OUTREG8(mmap, addr, val) __raw_writeb((val), (mmap)+(addr)) - -#define INREG64(mmap, addr) __raw_readq((mmap)+(addr)) -#define INREG32(mmap, addr) __raw_readl((mmap)+(addr)) -#define INREG16(mmap, addr) __raw_readw((mmap)+(addr)) -#define INREG8(mmap, addr) __raw_readb((mmap)+(addr)) - #define KB(x) ((x) * 1024) #define MB(x) (KB (KB (x))) #define GB(x) (MB (KB (x))) diff --git a/drivers/char/agp/ali-agp.c b/drivers/char/agp/ali-agp.c index 005b82019..a82c2f9ba 100644 --- a/drivers/char/agp/ali-agp.c +++ b/drivers/char/agp/ali-agp.c @@ -277,6 +277,14 @@ static struct agp_device_ids ali_agp_device_ids[] __devinitdata = .device_id = PCI_DEVICE_ID_AL_M1671, .chipset_name = "M1671", }, + { + .device_id = PCI_DEVICE_ID_AL_M1681, + .chipset_name = "M1681", + }, + { + .device_id = PCI_DEVICE_ID_AL_M1683, + .chipset_name = "M1683", + }, { }, /* dummy final entry, always present */ }; diff --git a/drivers/char/agp/amd-k7-agp.c b/drivers/char/agp/amd-k7-agp.c index f1db2f86a..96ee23743 100644 --- a/drivers/char/agp/amd-k7-agp.c +++ b/drivers/char/agp/amd-k7-agp.c @@ -24,11 +24,11 @@ static struct pci_device_id agp_amdk7_pci_table[]; struct amd_page_map { unsigned long *real; - unsigned long *remapped; + unsigned long __iomem *remapped; }; static struct _amd_irongate_private { - volatile u8 *registers; + volatile u8 __iomem *registers; struct amd_page_map **gatt_pages; int num_tables; } amd_irongate_private; @@ -53,8 +53,10 @@ static int amd_create_page_map(struct amd_page_map *page_map) } global_cache_flush(); - for (i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) - page_map->remapped[i] = agp_bridge->scratch_page; + for (i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) { + writel(agp_bridge->scratch_page, page_map->remapped+i); + readl(page_map->remapped+i); /* PCI Posting. */ + } return 0; } @@ -151,7 +153,7 @@ static int amd_create_gatt_table(void) } agp_bridge->gatt_table_real = (u32 *)page_dir.real; - agp_bridge->gatt_table = (u32 *)page_dir.remapped; + agp_bridge->gatt_table = (u32 __iomem *)page_dir.remapped; agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real); /* Get the address for the gart region. @@ -165,9 +167,9 @@ static int amd_create_gatt_table(void) /* Calculate the agp offset */ for (i = 0; i < value->num_entries / 1024; i++, addr += 0x00400000) { - page_dir.remapped[GET_PAGE_DIR_OFF(addr)] = - virt_to_phys(amd_irongate_private.gatt_pages[i]->real); - page_dir.remapped[GET_PAGE_DIR_OFF(addr)] |= 0x00000001; + writel(virt_to_phys(amd_irongate_private.gatt_pages[i]->real) | 1, + page_dir.remapped+GET_PAGE_DIR_OFF(addr)); + readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */ } return 0; @@ -178,7 +180,7 @@ static int amd_free_gatt_table(void) struct amd_page_map page_dir; page_dir.real = (unsigned long *)agp_bridge->gatt_table_real; - page_dir.remapped = (unsigned long *)agp_bridge->gatt_table; + page_dir.remapped = (unsigned long __iomem *)agp_bridge->gatt_table; amd_free_gatt_pages(); amd_free_page_map(&page_dir); @@ -218,11 +220,11 @@ static int amd_irongate_configure(void) /* Get the memory mapped registers */ pci_read_config_dword(agp_bridge->dev, AMD_MMBASE, &temp); temp = (temp & PCI_BASE_ADDRESS_MEM_MASK); - amd_irongate_private.registers = (volatile u8 *) ioremap(temp, 4096); + amd_irongate_private.registers = (volatile u8 __iomem *) ioremap(temp, 4096); /* Write out the address of the gatt table */ - OUTREG32(amd_irongate_private.registers, AMD_ATTBASE, - agp_bridge->gatt_bus_addr); + writel(agp_bridge->gatt_bus_addr, amd_irongate_private.registers+AMD_ATTBASE); + readl(amd_irongate_private.registers+AMD_ATTBASE); /* PCI Posting. */ /* Write the Sync register */ pci_write_config_byte(agp_bridge->dev, AMD_MODECNTL, 0x80); @@ -231,19 +233,19 @@ static int amd_irongate_configure(void) pci_write_config_byte(agp_bridge->dev, AMD_MODECNTL2, 0x00); /* Write the enable register */ - enable_reg = INREG16(amd_irongate_private.registers, AMD_GARTENABLE); + enable_reg = readw(amd_irongate_private.registers+AMD_GARTENABLE); enable_reg = (enable_reg | 0x0004); - OUTREG16(amd_irongate_private.registers, AMD_GARTENABLE, enable_reg); + writew(enable_reg, amd_irongate_private.registers+AMD_GARTENABLE); + readw(amd_irongate_private.registers+AMD_GARTENABLE); /* PCI Posting. */ /* Write out the size register */ pci_read_config_dword(agp_bridge->dev, AMD_APSIZE, &temp); - temp = (((temp & ~(0x0000000e)) | current_size->size_value) - | 0x00000001); + temp = (((temp & ~(0x0000000e)) | current_size->size_value) | 1); pci_write_config_dword(agp_bridge->dev, AMD_APSIZE, temp); /* Flush the tlb */ - OUTREG32(amd_irongate_private.registers, AMD_TLBFLUSH, 0x00000001); - + writel(1, amd_irongate_private.registers+AMD_TLBFLUSH); + readl(amd_irongate_private.registers+AMD_TLBFLUSH); /* PCI Posting.*/ return 0; } @@ -255,15 +257,16 @@ static void amd_irongate_cleanup(void) previous_size = A_SIZE_LVL2(agp_bridge->previous_size); - enable_reg = INREG16(amd_irongate_private.registers, AMD_GARTENABLE); + enable_reg = readw(amd_irongate_private.registers+AMD_GARTENABLE); enable_reg = (enable_reg & ~(0x0004)); - OUTREG16(amd_irongate_private.registers, AMD_GARTENABLE, enable_reg); + writew(enable_reg, amd_irongate_private.registers+AMD_GARTENABLE); + readw(amd_irongate_private.registers+AMD_GARTENABLE); /* PCI Posting. */ /* Write back the previous size and disable gart translation */ pci_read_config_dword(agp_bridge->dev, AMD_APSIZE, &temp); temp = ((temp & ~(0x0000000f)) | previous_size->size_value); pci_write_config_dword(agp_bridge->dev, AMD_APSIZE, temp); - iounmap((void *) amd_irongate_private.registers); + iounmap((void __iomem *) amd_irongate_private.registers); } /* @@ -276,13 +279,14 @@ static void amd_irongate_cleanup(void) static void amd_irongate_tlbflush(struct agp_memory *temp) { - OUTREG32(amd_irongate_private.registers, AMD_TLBFLUSH, 0x00000001); + writel(1, amd_irongate_private.registers+AMD_TLBFLUSH); + readl(amd_irongate_private.registers+AMD_TLBFLUSH); /* PCI Posting. */ } static int amd_insert_memory(struct agp_memory *mem, off_t pg_start, int type) { int i, j, num_entries; - unsigned long *cur_gatt; + unsigned long __iomem *cur_gatt; unsigned long addr; num_entries = A_SIZE_LVL2(agp_bridge->current_size)->num_entries; @@ -297,7 +301,7 @@ static int amd_insert_memory(struct agp_memory *mem, off_t pg_start, int type) while (j < (pg_start + mem->page_count)) { addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); - if (!PGE_EMPTY(agp_bridge, cur_gatt[GET_GATT_OFF(addr)])) + if (!PGE_EMPTY(agp_bridge, readl(cur_gatt+GET_GATT_OFF(addr)))) return -EBUSY; j++; } @@ -310,8 +314,8 @@ static int amd_insert_memory(struct agp_memory *mem, off_t pg_start, int type) for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); - cur_gatt[GET_GATT_OFF(addr)] = - agp_generic_mask_memory(mem->memory[i], mem->type); + writel(agp_generic_mask_memory(mem->memory[i], mem->type), cur_gatt+GET_GATT_OFF(addr)); + readl(cur_gatt+GET_GATT_OFF(addr)); /* PCI Posting. */ } amd_irongate_tlbflush(mem); return 0; @@ -320,7 +324,7 @@ static int amd_insert_memory(struct agp_memory *mem, off_t pg_start, int type) static int amd_remove_memory(struct agp_memory *mem, off_t pg_start, int type) { int i; - unsigned long *cur_gatt; + unsigned long __iomem *cur_gatt; unsigned long addr; if (type != 0 || mem->type != 0) @@ -329,8 +333,8 @@ static int amd_remove_memory(struct agp_memory *mem, off_t pg_start, int type) for (i = pg_start; i < (mem->page_count + pg_start); i++) { addr = (i * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); - cur_gatt[GET_GATT_OFF(addr)] = - (unsigned long) agp_bridge->scratch_page; + writel(agp_bridge->scratch_page, cur_gatt+GET_GATT_OFF(addr)); + readl(cur_gatt+GET_GATT_OFF(addr)); /* PCI Posting. */ } amd_irongate_tlbflush(mem); diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index 924ffc3db..88d73a53a 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c @@ -46,6 +46,11 @@ #define NVIDIA_X86_64_1_APBASE2 0xd8 #define NVIDIA_X86_64_1_APLIMIT2 0xdc +/* ULi K8 registers */ +#define ULI_X86_64_BASE_ADDR 0x10 +#define ULI_X86_64_HTT_FEA_REG 0x50 +#define ULI_X86_64_ENU_SCR_REG 0x54 + static int nr_garts; static struct pci_dev * hammers[MAX_HAMMER_GARTS]; @@ -73,7 +78,7 @@ static void amd64_tlbflush(struct agp_memory *temp) static int amd64_insert_memory(struct agp_memory *mem, off_t pg_start, int type) { int i, j, num_entries; - long tmp; + long long tmp; u32 pte; num_entries = agp_num_entries(); @@ -90,7 +95,7 @@ static int amd64_insert_memory(struct agp_memory *mem, off_t pg_start, int type) /* gatt table should be empty. */ while (j < (pg_start + mem->page_count)) { - if (!PGE_EMPTY(agp_bridge, agp_bridge->gatt_table[j])) + if (!PGE_EMPTY(agp_bridge, readl(agp_bridge->gatt_table+j))) return -EBUSY; j++; } @@ -108,7 +113,8 @@ static int amd64_insert_memory(struct agp_memory *mem, off_t pg_start, int type) pte |=(tmp & 0x00000000fffff000ULL); pte |= GPTE_VALID | GPTE_COHERENT; - agp_bridge->gatt_table[j] = pte; + writel(pte, agp_bridge->gatt_table+j); + readl(agp_bridge->gatt_table+j); /* PCI Posting. */ } amd64_tlbflush(mem); return 0; @@ -405,6 +411,62 @@ static void __devinit amd8151_init(struct pci_dev *pdev, struct agp_bridge_data } } + +static struct aper_size_info_32 uli_sizes[7] = +{ + {256, 65536, 6, 10}, + {128, 32768, 5, 9}, + {64, 16384, 4, 8}, + {32, 8192, 3, 7}, + {16, 4096, 2, 6}, + {8, 2048, 1, 4}, + {4, 1024, 0, 3} +}; + +static int __devinit uli_agp_init(struct pci_dev *pdev) +{ + u32 httfea,baseaddr,enuscr; + struct pci_dev *dev1; + int i; + unsigned size = amd64_fetch_size(); + printk(KERN_INFO PFX "Setting up ULi AGP. \n"); + dev1 = pci_find_slot ((unsigned int)pdev->bus->number,PCI_DEVFN(0,0)); + if (dev1 == NULL) { + printk(KERN_INFO PFX "agpgart: Detected a ULi chipset, " + "but could not fine the secondary device.\n"); + return -ENODEV; + } + for (i = 0; i < ARRAY_SIZE(uli_sizes); i++) + if (uli_sizes[i].size == size) + break; + + if (i == ARRAY_SIZE(uli_sizes)) { + printk(KERN_INFO PFX "No ULi size found for %d\n", size); + return -ENODEV; + } + + + /* shadow x86-64 registers into ULi registers */ + pci_read_config_dword (hammers[0], AMD64_GARTAPERTUREBASE, &httfea); + + /* if x86-64 aperture base is beyond 4G, exit here */ + if ( (httfea & 0x7fff) >> (32 - 25) ) + return -ENODEV; + + httfea = (httfea& 0x7fff) << 25; + + pci_read_config_dword(pdev, ULI_X86_64_BASE_ADDR, &baseaddr); + baseaddr&= ~PCI_BASE_ADDRESS_MEM_MASK; + baseaddr|= httfea; + pci_write_config_dword(pdev, ULI_X86_64_BASE_ADDR, baseaddr); + + enuscr= httfea+ (size * 1024 * 1024) - 1; + pci_write_config_dword(dev1, ULI_X86_64_HTT_FEA_REG, httfea); + pci_write_config_dword(dev1, ULI_X86_64_ENU_SCR_REG, enuscr); + return 0; +} + + static struct aper_size_info_32 nforce3_sizes[5] = { {512, 131072, 7, 0x00000000 }, @@ -513,6 +575,14 @@ static int __devinit agp_amd64_probe(struct pci_dev *pdev, } } + if (pdev->vendor == PCI_VENDOR_ID_AL) { + int ret = uli_agp_init(pdev); + if (ret) { + agp_put_bridge(bridge); + return ret; + } + } + pci_set_drvdata(pdev, bridge); return agp_add_bridge(bridge); } @@ -536,6 +606,15 @@ static struct pci_device_id agp_amd64_pci_table[] = { .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, }, + /* ULi M1689 */ + { + .class = (PCI_CLASS_BRIDGE_HOST << 8), + .class_mask = ~0, + .vendor = PCI_VENDOR_ID_AL, + .device = PCI_DEVICE_ID_AL_M1689, + .subvendor = PCI_ANY_ID, + .subdevice = PCI_ANY_ID, + }, /* VIA K8T800Pro */ { .class = (PCI_CLASS_BRIDGE_HOST << 8), @@ -675,4 +754,4 @@ module_exit(agp_amd64_cleanup); MODULE_AUTHOR("Dave Jones , Andi Kleen"); MODULE_PARM(agp_try_unsupported, "1i"); -MODULE_LICENSE("GPL and additional rights"); +MODULE_LICENSE("GPL"); diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c index bc88d6991..ec16679b1 100644 --- a/drivers/char/agp/ati-agp.c +++ b/drivers/char/agp/ati-agp.c @@ -42,11 +42,11 @@ static struct gatt_mask ati_generic_masks[] = typedef struct _ati_page_map { unsigned long *real; - unsigned long *remapped; + unsigned long __iomem *remapped; } ati_page_map; static struct _ati_generic_private { - volatile u8 *registers; + volatile u8 __iomem *registers; ati_page_map **gatt_pages; int num_tables; } ati_generic_private; @@ -61,9 +61,6 @@ static int ati_create_page_map(ati_page_map *page_map) SetPageReserved(virt_to_page(page_map->real)); err = map_page_into_agp(virt_to_page(page_map->real)); - - /* CACHE_FLUSH(); */ - global_cache_flush(); page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real), PAGE_SIZE); if (page_map->remapped == NULL || err) { @@ -75,8 +72,10 @@ static int ati_create_page_map(ati_page_map *page_map) /*CACHE_FLUSH();*/ global_cache_flush(); - for(i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) - page_map->remapped[i] = agp_bridge->scratch_page; + for(i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) { + writel(agp_bridge->scratch_page, page_map->remapped+i); + readl(page_map->remapped+i); /* PCI Posting. */ + } return 0; } @@ -186,7 +185,8 @@ static int ati_fetch_size(void) static void ati_tlbflush(struct agp_memory * mem) { - OUTREG32(ati_generic_private.registers, ATI_GART_CACHE_CNTRL, 1); + writel(1, ati_generic_private.registers+ATI_GART_CACHE_CNTRL); + readl(ati_generic_private.registers+ATI_GART_CACHE_CNTRL); /* PCI Posting. */ } static void ati_cleanup(void) @@ -206,7 +206,7 @@ static void ati_cleanup(void) temp = ((temp & ~(0x0000000f)) | previous_size->size_value); pci_write_config_dword(agp_bridge->dev, ATI_RS300_APSIZE, temp); } - iounmap((void *) ati_generic_private.registers); + iounmap((volatile u8 __iomem *)ati_generic_private.registers); } @@ -217,7 +217,7 @@ static int ati_configure(void) /* Get the memory mapped registers */ pci_read_config_dword(agp_bridge->dev, ATI_GART_MMBASE_ADDR, &temp); temp = (temp & 0xfffff000); - ati_generic_private.registers = (volatile u8 *) ioremap(temp, 4096); + ati_generic_private.registers = (volatile u8 __iomem *) ioremap(temp, 4096); if (is_r200()) pci_write_config_dword(agp_bridge->dev, ATI_RS100_IG_AGPMODE, 0x20000); @@ -230,15 +230,16 @@ static int ati_configure(void) agp_bridge.gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); printk(KERN_INFO PFX "IGP320 gart_bus_addr: %x\n", agp_bridge.gart_bus_addr); */ - OUTREG32(ati_generic_private.registers, ATI_GART_FEATURE_ID, 0x60000); + writel(0x60000, ati_generic_private.registers+ATI_GART_FEATURE_ID); + readl(ati_generic_private.registers+ATI_GART_FEATURE_ID); /* PCI Posting.*/ /* SIGNALED_SYSTEM_ERROR @ NB_STATUS */ pci_read_config_dword(agp_bridge->dev, 4, &temp); pci_write_config_dword(agp_bridge->dev, 4, temp | (1<<14)); /* Write out the address of the gatt table */ - OUTREG32(ati_generic_private.registers, ATI_GART_BASE, - agp_bridge->gatt_bus_addr); + writel(agp_bridge->gatt_bus_addr, ati_generic_private.registers+ATI_GART_BASE); + readl(ati_generic_private.registers+ATI_GART_BASE); /* PCI Posting. */ return 0; } @@ -261,7 +262,7 @@ static int ati_insert_memory(struct agp_memory * mem, off_t pg_start, int type) { int i, j, num_entries; - unsigned long *cur_gatt; + unsigned long __iomem *cur_gatt; unsigned long addr; num_entries = A_SIZE_LVL2(agp_bridge->current_size)->num_entries; @@ -276,7 +277,7 @@ static int ati_insert_memory(struct agp_memory * mem, while (j < (pg_start + mem->page_count)) { addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); - if (!PGE_EMPTY(agp_bridge,cur_gatt[GET_GATT_OFF(addr)])) + if (!PGE_EMPTY(agp_bridge,readl(cur_gatt+GET_GATT_OFF(addr)))) return -EBUSY; j++; } @@ -290,8 +291,8 @@ static int ati_insert_memory(struct agp_memory * mem, for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); - cur_gatt[GET_GATT_OFF(addr)] = - agp_bridge->driver->mask_memory(mem->memory[i], mem->type); + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), cur_gatt+GET_GATT_OFF(addr)); + readl(cur_gatt+GET_GATT_OFF(addr)); /* PCI Posting. */ } agp_bridge->driver->tlb_flush(mem); return 0; @@ -301,7 +302,7 @@ static int ati_remove_memory(struct agp_memory * mem, off_t pg_start, int type) { int i; - unsigned long *cur_gatt; + unsigned long __iomem *cur_gatt; unsigned long addr; if (type != 0 || mem->type != 0) { @@ -310,8 +311,8 @@ static int ati_remove_memory(struct agp_memory * mem, off_t pg_start, for (i = pg_start; i < (mem->page_count + pg_start); i++) { addr = (i * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = GET_GATT(addr); - cur_gatt[GET_GATT_OFF(addr)] = - (unsigned long) agp_bridge->scratch_page; + writel(agp_bridge->scratch_page, cur_gatt+GET_GATT_OFF(addr)); + readl(cur_gatt+GET_GATT_OFF(addr)); /* PCI Posting. */ } agp_bridge->driver->tlb_flush(mem); @@ -340,7 +341,7 @@ static int ati_create_gatt_table(void) } agp_bridge->gatt_table_real = (u32 *)page_dir.real; - agp_bridge->gatt_table = (u32 *)page_dir.remapped; + agp_bridge->gatt_table = (u32 __iomem *) page_dir.remapped; agp_bridge->gatt_bus_addr = virt_to_bus(page_dir.real); /* Write out the size register */ @@ -371,9 +372,9 @@ static int ati_create_gatt_table(void) /* Calculate the agp offset */ for(i = 0; i < value->num_entries / 1024; i++, addr += 0x00400000) { - page_dir.remapped[GET_PAGE_DIR_OFF(addr)] = - virt_to_bus(ati_generic_private.gatt_pages[i]->real); - page_dir.remapped[GET_PAGE_DIR_OFF(addr)] |= 0x00000001; + writel(virt_to_bus(ati_generic_private.gatt_pages[i]->real) | 1, + page_dir.remapped+GET_PAGE_DIR_OFF(addr)); + readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */ } return 0; @@ -384,7 +385,7 @@ static int ati_free_gatt_table(void) ati_page_map page_dir; page_dir.real = (unsigned long *)agp_bridge->gatt_table_real; - page_dir.remapped = (unsigned long *)agp_bridge->gatt_table; + page_dir.remapped = (unsigned long __iomem *)agp_bridge->gatt_table; ati_free_gatt_pages(); ati_free_page_map(&page_dir); diff --git a/drivers/char/agp/generic.c b/drivers/char/agp/generic.c index f65662437..64a8bff25 100644 --- a/drivers/char/agp/generic.c +++ b/drivers/char/agp/generic.c @@ -35,6 +35,10 @@ #include #include #include +#include +#include +#include +#include #include "agp.h" __u32 *agp_gatt_table; @@ -46,6 +50,26 @@ int agp_memory_reserved; */ EXPORT_SYMBOL_GPL(agp_memory_reserved); +#if defined(CONFIG_X86) +int map_page_into_agp(struct page *page) +{ + int i; + i = change_page_attr(page, 1, PAGE_KERNEL_NOCACHE); + global_flush_tlb(); + return i; +} +EXPORT_SYMBOL_GPL(map_page_into_agp); + +int unmap_page_from_agp(struct page *page) +{ + int i; + i = change_page_attr(page, 1, PAGE_KERNEL); + global_flush_tlb(); + return i; +} +EXPORT_SYMBOL_GPL(unmap_page_from_agp); +#endif + /* * Generic routines for handling agp_memory structures - * They use the basic page allocation routines to do the brunt of the work. @@ -736,8 +760,10 @@ int agp_generic_create_gatt_table(void) agp_bridge->gatt_bus_addr = virt_to_phys(agp_bridge->gatt_table_real); /* AK: bogus, should encode addresses > 4GB */ - for (i = 0; i < num_entries; i++) - agp_bridge->gatt_table[i] = (unsigned long) agp_bridge->scratch_page; + for (i = 0; i < num_entries; i++) { + writel(agp_bridge->scratch_page, agp_bridge->gatt_table+i); + readl(agp_bridge->gatt_table+i); /* PCI Posting. */ + } return 0; } @@ -843,9 +869,8 @@ int agp_generic_insert_memory(struct agp_memory * mem, off_t pg_start, int type) j = pg_start; while (j < (pg_start + mem->page_count)) { - if (!PGE_EMPTY(agp_bridge, agp_bridge->gatt_table[j])) { + if (!PGE_EMPTY(agp_bridge, readl(agp_bridge->gatt_table+j))) return -EBUSY; - } j++; } @@ -854,10 +879,10 @@ int agp_generic_insert_memory(struct agp_memory * mem, off_t pg_start, int type) mem->is_flushed = TRUE; } - for (i = 0, j = pg_start; i < mem->page_count; i++, j++) - agp_bridge->gatt_table[j] = - agp_bridge->driver->mask_memory( - mem->memory[i], mem->type); + for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), agp_bridge->gatt_table+j); + readl(agp_bridge->gatt_table+j); /* PCI Posting. */ + } agp_bridge->driver->tlb_flush(mem); return 0; @@ -876,10 +901,11 @@ int agp_generic_remove_memory(struct agp_memory *mem, off_t pg_start, int type) /* AK: bogus, should encode addresses > 4GB */ for (i = pg_start; i < (mem->page_count + pg_start); i++) { - agp_bridge->gatt_table[i] = - (unsigned long) agp_bridge->scratch_page; + writel(agp_bridge->scratch_page, agp_bridge->gatt_table+i); + readl(agp_bridge->gatt_table+i); /* PCI Posting. */ } + global_cache_flush(); agp_bridge->driver->tlb_flush(mem); return 0; } diff --git a/drivers/char/agp/hp-agp.c b/drivers/char/agp/hp-agp.c index 323a6b68d..4f1cb2cfc 100644 --- a/drivers/char/agp/hp-agp.c +++ b/drivers/char/agp/hp-agp.c @@ -88,7 +88,7 @@ static int __init hp_zx1_ioc_shared(void) * - IOVA space is 1Gb in size * - first 512Mb is IOMMU, second 512Mb is GART */ - hp->io_tlb_ps = INREG64(hp->ioc_regs, HP_ZX1_TCNFG); + hp->io_tlb_ps = readq(hp->ioc_regs+HP_ZX1_TCNFG); switch (hp->io_tlb_ps) { case 0: hp->io_tlb_shift = 12; break; case 1: hp->io_tlb_shift = 13; break; @@ -104,13 +104,13 @@ static int __init hp_zx1_ioc_shared(void) hp->io_page_size = 1 << hp->io_tlb_shift; hp->io_pages_per_kpage = PAGE_SIZE / hp->io_page_size; - hp->iova_base = INREG64(hp->ioc_regs, HP_ZX1_IBASE) & ~0x1; + hp->iova_base = readq(hp->ioc_regs+HP_ZX1_IBASE) & ~0x1; hp->gart_base = hp->iova_base + HP_ZX1_IOVA_SIZE - HP_ZX1_GART_SIZE; hp->gart_size = HP_ZX1_GART_SIZE; hp->gatt_entries = hp->gart_size / hp->io_page_size; - hp->io_pdir = phys_to_virt(INREG64(hp->ioc_regs, HP_ZX1_PDIR_BASE)); + hp->io_pdir = phys_to_virt(readq(hp->ioc_regs+HP_ZX1_PDIR_BASE)); hp->gatt = &hp->io_pdir[HP_ZX1_IOVA_TO_PDIR(hp->gart_base)]; if (hp->gatt[0] != HP_ZX1_SBA_IOMMU_COOKIE) { @@ -174,7 +174,7 @@ hp_zx1_ioc_init (u64 hpa) * If the IOTLB is currently disabled, we can take it over. * Otherwise, we have to share with sba_iommu. */ - hp->io_pdir_owner = (INREG64(hp->ioc_regs, HP_ZX1_IBASE) & 0x1) == 0; + hp->io_pdir_owner = (readq(hp->ioc_regs+HP_ZX1_IBASE) & 0x1) == 0; if (hp->io_pdir_owner) return hp_zx1_ioc_owner(); @@ -189,18 +189,18 @@ hp_zx1_lba_find_capability (volatile u8 __iomem *hpa, int cap) u8 pos, id; int ttl = 48; - status = INREG16(hpa, PCI_STATUS); + status = readw(hpa+PCI_STATUS); if (!(status & PCI_STATUS_CAP_LIST)) return 0; - pos = INREG8(hpa, PCI_CAPABILITY_LIST); + pos = readb(hpa+PCI_CAPABILITY_LIST); while (ttl-- && pos >= 0x40) { pos &= ~3; - id = INREG8(hpa, pos + PCI_CAP_LIST_ID); + id = readb(hpa+pos+PCI_CAP_LIST_ID); if (id == 0xff) break; if (id == cap) return pos; - pos = INREG8(hpa, pos + PCI_CAP_LIST_NEXT); + pos = readb(hpa+pos+PCI_CAP_LIST_NEXT); } return 0; } @@ -217,7 +217,7 @@ hp_zx1_lba_init (u64 hpa) hp->lba_cap_offset = hp_zx1_lba_find_capability(hp->lba_regs, PCI_CAP_ID_AGP); - cap = INREG32(hp->lba_regs, hp->lba_cap_offset) & 0xff; + cap = readl(hp->lba_regs+hp->lba_cap_offset) & 0xff; if (cap != PCI_CAP_ID_AGP) { printk(KERN_ERR PFX "Invalid capability ID 0x%02x at 0x%x\n", cap, hp->lba_cap_offset); @@ -245,15 +245,19 @@ hp_zx1_configure (void) agp_bridge->gart_bus_addr = hp->gart_base; agp_bridge->capndx = hp->lba_cap_offset; - agp_bridge->mode = INREG32(hp->lba_regs, hp->lba_cap_offset + PCI_AGP_STATUS); + agp_bridge->mode = readl(hp->lba_regs+hp->lba_cap_offset+PCI_AGP_STATUS); if (hp->io_pdir_owner) { - OUTREG64(hp->ioc_regs, HP_ZX1_PDIR_BASE, virt_to_phys(hp->io_pdir)); - OUTREG64(hp->ioc_regs, HP_ZX1_TCNFG, hp->io_tlb_ps); - OUTREG64(hp->ioc_regs, HP_ZX1_IMASK, ~(HP_ZX1_IOVA_SIZE - 1)); - OUTREG64(hp->ioc_regs, HP_ZX1_IBASE, hp->iova_base | 0x1); - OUTREG64(hp->ioc_regs, HP_ZX1_PCOM, hp->iova_base | log2(HP_ZX1_IOVA_SIZE)); - INREG64(hp->ioc_regs, HP_ZX1_PCOM); + writel(virt_to_phys(hp->io_pdir), hp->ioc_regs+HP_ZX1_PDIR_BASE); + readl(hp->ioc_regs+HP_ZX1_PDIR_BASE); + writel(hp->io_tlb_ps, hp->ioc_regs+HP_ZX1_TCNFG); + readl(hp->ioc_regs+HP_ZX1_TCNFG); + writel(~(HP_ZX1_IOVA_SIZE-1), hp->ioc_regs+HP_ZX1_IMASK); + readl(hp->ioc_regs+HP_ZX1_IMASK); + writel(hp->iova_base|1, hp->ioc_regs+HP_ZX1_IBASE); + readl(hp->ioc_regs+HP_ZX1_IBASE); + writel(hp->iova_base|log2(HP_ZX1_IOVA_SIZE), hp->ioc_regs+HP_ZX1_PCOM); + readl(hp->ioc_regs+HP_ZX1_PCOM); } return 0; @@ -265,8 +269,10 @@ hp_zx1_cleanup (void) struct _hp_private *hp = &hp_private; if (hp->ioc_regs) { - if (hp->io_pdir_owner) - OUTREG64(hp->ioc_regs, HP_ZX1_IBASE, 0); + if (hp->io_pdir_owner) { + writeq(0, hp->ioc_regs+HP_ZX1_IBASE); + readq(hp->ioc_regs+HP_ZX1_IBASE); + } iounmap(hp->ioc_regs); } if (hp->lba_regs) @@ -278,8 +284,8 @@ hp_zx1_tlbflush (struct agp_memory *mem) { struct _hp_private *hp = &hp_private; - OUTREG64(hp->ioc_regs, HP_ZX1_PCOM, hp->gart_base | log2(hp->gart_size)); - INREG64(hp->ioc_regs, HP_ZX1_PCOM); + writeq(hp->gart_base | log2(hp->gart_size), hp->ioc_regs+HP_ZX1_PCOM); + readq(hp->ioc_regs+HP_ZX1_PCOM); } static int @@ -401,12 +407,11 @@ hp_zx1_enable (u32 mode) struct _hp_private *hp = &hp_private; u32 command; - command = INREG32(hp->lba_regs, hp->lba_cap_offset + PCI_AGP_STATUS); - + command = readl(hp->lba_regs+hp->lba_cap_offset+PCI_AGP_STATUS); command = agp_collect_device_status(mode, command); command |= 0x00000100; - OUTREG32(hp->lba_regs, hp->lba_cap_offset + PCI_AGP_COMMAND, command); + writel(command, hp->lba_regs+hp->lba_cap_offset+PCI_AGP_COMMAND); agp_device_command(command, (mode & AGP8X_MODE) != 0); } diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c index f04527540..f9acaa9ba 100644 --- a/drivers/char/agp/intel-agp.c +++ b/drivers/char/agp/intel-agp.c @@ -69,7 +69,7 @@ static struct gatt_mask intel_i810_masks[] = static struct _intel_i810_private { struct pci_dev *i810_dev; /* device one */ - volatile u8 *registers; + volatile u8 __iomem *registers; int num_dcache_entries; } intel_i810_private; @@ -111,13 +111,13 @@ static int intel_i810_configure(void) pci_read_config_dword(intel_i810_private.i810_dev, I810_MMADDR, &temp); temp &= 0xfff80000; - intel_i810_private.registers = (volatile u8 *) ioremap(temp, 128 * 4096); + intel_i810_private.registers = ioremap(temp, 128 * 4096); if (!intel_i810_private.registers) { printk(KERN_ERR PFX "Unable to remap memory.\n"); return -ENOMEM; } - if ((INREG32(intel_i810_private.registers, I810_DRAM_CTL) + if ((readl(intel_i810_private.registers+I810_DRAM_CTL) & I810_DRAM_ROW_0) == I810_DRAM_ROW_0_SDRAM) { /* This will need to be dynamically assigned */ printk(KERN_INFO PFX "detected 4MB dedicated video ram.\n"); @@ -125,24 +125,24 @@ static int intel_i810_configure(void) } pci_read_config_dword(intel_i810_private.i810_dev, I810_GMADDR, &temp); agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); - OUTREG32(intel_i810_private.registers, I810_PGETBL_CTL, - agp_bridge->gatt_bus_addr | I810_PGETBL_ENABLED); - global_cache_flush(); + writel(agp_bridge->gatt_bus_addr | I810_PGETBL_ENABLED, intel_i810_private.registers+I810_PGETBL_CTL); + readl(intel_i810_private.registers+I810_PGETBL_CTL); /* PCI Posting. */ if (agp_bridge->driver->needs_scratch_page) { for (i = 0; i < current_size->num_entries; i++) { - OUTREG32(intel_i810_private.registers, - I810_PTE_BASE + (i * 4), - agp_bridge->scratch_page); + writel(agp_bridge->scratch_page, intel_i810_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i810_private.registers+I810_PTE_BASE+(i*4)); /* PCI posting. */ } } + global_cache_flush(); return 0; } static void intel_i810_cleanup(void) { - OUTREG32(intel_i810_private.registers, I810_PGETBL_CTL, 0); - iounmap((void *) intel_i810_private.registers); + writel(0, intel_i810_private.registers+I810_PGETBL_CTL); + readl(intel_i810_private.registers); /* PCI Posting. */ + iounmap(intel_i810_private.registers); } static void intel_i810_tlbflush(struct agp_memory *mem) @@ -161,13 +161,15 @@ static void *i8xx_alloc_pages(void) struct page * page; page = alloc_pages(GFP_KERNEL, 2); - if (page == NULL) { - return 0; - } + if (page == NULL) + return NULL; + if (change_page_attr(page, 4, PAGE_KERNEL_NOCACHE) < 0) { - __free_page(page); - return 0; + global_flush_tlb(); + __free_page(page); + return NULL; } + global_flush_tlb(); get_page(page); SetPageLocked(page); atomic_inc(&agp_bridge->current_memory_agp); @@ -180,9 +182,10 @@ static void i8xx_destroy_pages(void *addr) if (addr == NULL) return; - + page = virt_to_page(addr); change_page_attr(page, 4, PAGE_KERNEL); + global_flush_tlb(); put_page(page); unlock_page(page); free_pages((unsigned long)addr, 2); @@ -202,7 +205,7 @@ static int intel_i810_insert_entries(struct agp_memory *mem, off_t pg_start, return -EINVAL; } for (j = pg_start; j < (pg_start + mem->page_count); j++) { - if (!PGE_EMPTY(agp_bridge, agp_bridge->gatt_table[j])) + if (!PGE_EMPTY(agp_bridge, readl(agp_bridge->gatt_table+j))) return -EBUSY; } @@ -211,10 +214,8 @@ static int intel_i810_insert_entries(struct agp_memory *mem, off_t pg_start, /* special insert */ global_cache_flush(); for (i = pg_start; i < (pg_start + mem->page_count); i++) { - OUTREG32(intel_i810_private.registers, - I810_PTE_BASE + (i * 4), - (i * 4096) | I810_PTE_LOCAL | - I810_PTE_VALID); + writel((i*4096)|I810_PTE_LOCAL|I810_PTE_VALID, intel_i810_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i810_private.registers+I810_PTE_BASE+(i*4)); /* PCI Posting. */ } global_cache_flush(); agp_bridge->driver->tlb_flush(mem); @@ -228,9 +229,9 @@ static int intel_i810_insert_entries(struct agp_memory *mem, off_t pg_start, insert: global_cache_flush(); for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { - OUTREG32(intel_i810_private.registers, - I810_PTE_BASE + (j * 4), - agp_bridge->driver->mask_memory(mem->memory[i], mem->type)); + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), + intel_i810_private.registers+I810_PTE_BASE+(j*4)); + readl(intel_i810_private.registers+I810_PTE_BASE+(j*4)); /* PCI Posting. */ } global_cache_flush(); @@ -244,9 +245,8 @@ static int intel_i810_remove_entries(struct agp_memory *mem, off_t pg_start, int i; for (i = pg_start; i < (mem->page_count + pg_start); i++) { - OUTREG32(intel_i810_private.registers, - I810_PTE_BASE + (i * 4), - agp_bridge->scratch_page); + writel(agp_bridge->scratch_page, intel_i810_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i810_private.registers+I810_PTE_BASE+(i*4)); /* PCI Posting. */ } global_cache_flush(); @@ -330,7 +330,7 @@ static void intel_i810_free_by_type(struct agp_memory *curr) if (curr->page_count == 4) i8xx_destroy_pages(phys_to_virt(curr->memory[0])); else - agp_bridge->driver->agp_destroy_page( + agp_bridge->driver->agp_destroy_page( phys_to_virt(curr->memory[0])); vfree(curr->memory); } @@ -353,8 +353,8 @@ static struct aper_size_info_fixed intel_i830_sizes[] = static struct _intel_i830_private { struct pci_dev *i830_dev; /* device one */ - volatile u8 *registers; - volatile u32 *gtt; /* I915G */ + volatile u8 __iomem *registers; + volatile u32 __iomem *gtt; /* I915G */ int gtt_entries; } intel_i830_private; @@ -371,7 +371,7 @@ static void intel_i830_init_gtt_entries(void) /* We obtain the size of the GTT, which is also stored (for some * reason) at the top of stolen memory. Then we add 4KB to that - * for the video BIOS popup, which is also stored in there. */ + * for the video BIOS popup, which is also stored in there. */ size = agp_bridge->driver->fetch_size() + 4; if (agp_bridge->dev->device == PCI_DEVICE_ID_INTEL_82830_HB || @@ -387,8 +387,7 @@ static void intel_i830_init_gtt_entries(void) gtt_entries = MB(8) - KB(size); break; case I830_GMCH_GMS_LOCAL: - rdct = INREG8(intel_i830_private.registers, - I830_RDRAM_CHANNEL_TYPE); + rdct = readb(intel_i830_private.registers+I830_RDRAM_CHANNEL_TYPE); gtt_entries = (I830_RDRAM_ND(rdct) + 1) * MB(ddt[I830_RDRAM_DDT(rdct)]); local = 1; @@ -461,12 +460,12 @@ static int intel_i830_create_gatt_table(void) pci_read_config_dword(intel_i830_private.i830_dev,I810_MMADDR,&temp); temp &= 0xfff80000; - intel_i830_private.registers = (volatile u8 *) ioremap(temp,128 * 4096); + intel_i830_private.registers = ioremap(temp,128 * 4096); if (!intel_i830_private.registers) return (-ENOMEM); - temp = INREG32(intel_i830_private.registers,I810_PGETBL_CTL) & 0xfffff000; - global_cache_flush(); + temp = readl(intel_i830_private.registers+I810_PGETBL_CTL) & 0xfffff000; + global_cache_flush(); /* FIXME: ?? */ /* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries(); @@ -532,23 +531,26 @@ static int intel_i830_configure(void) gmch_ctrl |= I830_GMCH_ENABLED; pci_write_config_word(agp_bridge->dev,I830_GMCH_CTRL,gmch_ctrl); - OUTREG32(intel_i830_private.registers,I810_PGETBL_CTL,agp_bridge->gatt_bus_addr | I810_PGETBL_ENABLED); - global_cache_flush(); + writel(agp_bridge->gatt_bus_addr|I810_PGETBL_ENABLED, intel_i830_private.registers+I810_PGETBL_CTL); + readl(intel_i830_private.registers+I810_PGETBL_CTL); /* PCI Posting. */ - if (agp_bridge->driver->needs_scratch_page) - for (i = intel_i830_private.gtt_entries; i < current_size->num_entries; i++) - OUTREG32(intel_i830_private.registers,I810_PTE_BASE + (i * 4),agp_bridge->scratch_page); + if (agp_bridge->driver->needs_scratch_page) { + for (i = intel_i830_private.gtt_entries; i < current_size->num_entries; i++) { + writel(agp_bridge->scratch_page, intel_i830_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i830_private.registers+I810_PTE_BASE+(i*4)); /* PCI Posting. */ + } + } + global_cache_flush(); return (0); } static void intel_i830_cleanup(void) { - iounmap((void *) intel_i830_private.registers); + iounmap(intel_i830_private.registers); } -static int intel_i830_insert_entries(struct agp_memory *mem,off_t pg_start, - int type) +static int intel_i830_insert_entries(struct agp_memory *mem,off_t pg_start, int type) { int i,j,num_entries; void *temp; @@ -575,16 +577,16 @@ static int intel_i830_insert_entries(struct agp_memory *mem,off_t pg_start, (mem->type != 0 && mem->type != AGP_PHYS_MEMORY)) return (-EINVAL); - global_cache_flush(); + global_cache_flush(); /* FIXME: Necessary ?*/ - for (i = 0, j = pg_start; i < mem->page_count; i++, j++) - OUTREG32(intel_i830_private.registers,I810_PTE_BASE + (j * 4), - agp_bridge->driver->mask_memory(mem->memory[i], mem->type)); + for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), + intel_i830_private.registers+I810_PTE_BASE+(j*4)); + readl(intel_i830_private.registers+I810_PTE_BASE+(j*4)); /* PCI Posting. */ + } global_cache_flush(); - agp_bridge->driver->tlb_flush(mem); - return(0); } @@ -600,13 +602,13 @@ static int intel_i830_remove_entries(struct agp_memory *mem,off_t pg_start, return (-EINVAL); } - for (i = pg_start; i < (mem->page_count + pg_start); i++) - OUTREG32(intel_i830_private.registers,I810_PTE_BASE + (i * 4),agp_bridge->scratch_page); + for (i = pg_start; i < (mem->page_count + pg_start); i++) { + writel(agp_bridge->scratch_page, intel_i830_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i830_private.registers+I810_PTE_BASE+(i*4)); /* PCI Posting. */ + } global_cache_flush(); - agp_bridge->driver->tlb_flush(mem); - return (0); } @@ -636,21 +638,24 @@ static int intel_i915_configure(void) gmch_ctrl |= I830_GMCH_ENABLED; pci_write_config_word(agp_bridge->dev,I830_GMCH_CTRL,gmch_ctrl); - OUTREG32(intel_i830_private.registers,I810_PGETBL_CTL,agp_bridge->gatt_bus_addr | I810_PGETBL_ENABLED); - global_cache_flush(); + writel(agp_bridge->gatt_bus_addr|I810_PGETBL_ENABLED, intel_i830_private.registers+I810_PGETBL_CTL); + readl(intel_i830_private.registers+I810_PGETBL_CTL); /* PCI Posting. */ if (agp_bridge->driver->needs_scratch_page) { - for (i = intel_i830_private.gtt_entries; i < current_size->num_entries; i++) - OUTREG32(intel_i830_private.gtt, i, agp_bridge->scratch_page); + for (i = intel_i830_private.gtt_entries; i < current_size->num_entries; i++) { + writel(agp_bridge->scratch_page, intel_i830_private.gtt+i); + readl(intel_i830_private.gtt+i); /* PCI Posting. */ + } } + global_cache_flush(); return (0); } static void intel_i915_cleanup(void) { - iounmap((void *) intel_i830_private.gtt); - iounmap((void *) intel_i830_private.registers); + iounmap(intel_i830_private.gtt); + iounmap(intel_i830_private.registers); } static int intel_i915_insert_entries(struct agp_memory *mem,off_t pg_start, @@ -683,13 +688,13 @@ static int intel_i915_insert_entries(struct agp_memory *mem,off_t pg_start, global_cache_flush(); - for (i = 0, j = pg_start; i < mem->page_count; i++, j++) - OUTREG32(intel_i830_private.gtt, j, agp_bridge->driver->mask_memory(mem->memory[i], mem->type)); + for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), intel_i830_private.gtt+j); + readl(intel_i830_private.gtt+j); /* PCI Posting. */ + } global_cache_flush(); - agp_bridge->driver->tlb_flush(mem); - return(0); } @@ -705,13 +710,13 @@ static int intel_i915_remove_entries(struct agp_memory *mem,off_t pg_start, return (-EINVAL); } - for (i = pg_start; i < (mem->page_count + pg_start); i++) - OUTREG32(intel_i830_private.gtt, i, agp_bridge->scratch_page); + for (i = pg_start; i < (mem->page_count + pg_start); i++) { + writel(agp_bridge->scratch_page, intel_i830_private.gtt+i); + readl(intel_i830_private.gtt+i); + } global_cache_flush(); - agp_bridge->driver->tlb_flush(mem); - return (0); } @@ -746,23 +751,23 @@ static int intel_i915_create_gatt_table(void) size = agp_bridge->current_size; page_order = size->page_order; num_entries = size->num_entries; - agp_bridge->gatt_table_real = 0; + agp_bridge->gatt_table_real = NULL; pci_read_config_dword(intel_i830_private.i830_dev, I915_MMADDR, &temp); pci_read_config_dword(intel_i830_private.i830_dev, I915_PTEADDR,&temp2); - intel_i830_private.gtt = (volatile u32 *) ioremap(temp2, 256 * 1024); - if (!intel_i830_private.gtt) + intel_i830_private.gtt = ioremap(temp2, 256 * 1024); + if (!intel_i830_private.gtt) return (-ENOMEM); temp &= 0xfff80000; - intel_i830_private.registers = (volatile u8 *) ioremap(temp,128 * 4096); + intel_i830_private.registers = ioremap(temp,128 * 4096); if (!intel_i830_private.registers) return (-ENOMEM); - temp = INREG32(intel_i830_private.registers,I810_PGETBL_CTL) & 0xfffff000; - global_cache_flush(); + temp = readl(intel_i830_private.registers+I810_PGETBL_CTL) & 0xfffff000; + global_cache_flush(); /* FIXME: ? */ /* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries(); @@ -921,7 +926,7 @@ static int intel_815_configure(void) /* aperture size */ pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, - current_size->size_value); + current_size->size_value); /* address to map to */ pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp); @@ -933,7 +938,7 @@ static int intel_815_configure(void) pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, addr); /* agpctrl */ - pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); + pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); /* apcont */ pci_read_config_byte(agp_bridge->dev, INTEL_815_APCONT, &temp2); @@ -956,7 +961,7 @@ static void intel_820_cleanup(void) previous_size = A_SIZE_8(agp_bridge->previous_size); pci_read_config_byte(agp_bridge->dev, INTEL_I820_RDCR, &temp); - pci_write_config_byte(agp_bridge->dev, INTEL_I820_RDCR, + pci_write_config_byte(agp_bridge->dev, INTEL_I820_RDCR, temp & ~(1 << 1)); pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, previous_size->size_value); @@ -966,23 +971,23 @@ static void intel_820_cleanup(void) static int intel_820_configure(void) { u32 temp; - u8 temp2; + u8 temp2; struct aper_size_info_8 *current_size; current_size = A_SIZE_8(agp_bridge->current_size); /* aperture size */ - pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); + pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); /* address to map to */ pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp); agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); /* attbase - aperture base */ - pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); + pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); /* agpctrl */ - pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); + pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); /* global enable aperture access */ /* This flag is not accessed through MCHCFG register as in */ @@ -990,7 +995,7 @@ static int intel_820_configure(void) pci_read_config_byte(agp_bridge->dev, INTEL_I820_RDCR, &temp2); pci_write_config_byte(agp_bridge->dev, INTEL_I820_RDCR, temp2 | (1 << 1)); /* clear any possible AGP-related error conditions */ - pci_write_config_word(agp_bridge->dev, INTEL_I820_ERRSTS, 0x001c); + pci_write_config_word(agp_bridge->dev, INTEL_I820_ERRSTS, 0x001c); return 0; } @@ -1003,23 +1008,23 @@ static int intel_840_configure(void) current_size = A_SIZE_8(agp_bridge->current_size); /* aperture size */ - pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); + pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); /* address to map to */ pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp); agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); /* attbase - aperture base */ - pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); + pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); /* agpctrl */ - pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); + pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); /* mcgcfg */ pci_read_config_word(agp_bridge->dev, INTEL_I840_MCHCFG, &temp2); pci_write_config_word(agp_bridge->dev, INTEL_I840_MCHCFG, temp2 | (1 << 9)); /* clear any possible error conditions */ - pci_write_config_word(agp_bridge->dev, INTEL_I840_ERRSTS, 0xc000); + pci_write_config_word(agp_bridge->dev, INTEL_I840_ERRSTS, 0xc000); return 0; } @@ -1032,23 +1037,23 @@ static int intel_845_configure(void) current_size = A_SIZE_8(agp_bridge->current_size); /* aperture size */ - pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); + pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); /* address to map to */ pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp); agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); /* attbase - aperture base */ - pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); + pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); /* agpctrl */ - pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); + pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); /* agpm */ pci_read_config_byte(agp_bridge->dev, INTEL_I845_AGPM, &temp2); pci_write_config_byte(agp_bridge->dev, INTEL_I845_AGPM, temp2 | (1 << 1)); /* clear any possible error conditions */ - pci_write_config_word(agp_bridge->dev, INTEL_I845_ERRSTS, 0x001c); + pci_write_config_word(agp_bridge->dev, INTEL_I845_ERRSTS, 0x001c); return 0; } @@ -1061,23 +1066,23 @@ static int intel_850_configure(void) current_size = A_SIZE_8(agp_bridge->current_size); /* aperture size */ - pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); + pci_write_config_byte(agp_bridge->dev, INTEL_APSIZE, current_size->size_value); /* address to map to */ pci_read_config_dword(agp_bridge->dev, AGP_APBASE, &temp); agp_bridge->gart_bus_addr = (temp & PCI_BASE_ADDRESS_MEM_MASK); /* attbase - aperture base */ - pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); + pci_write_config_dword(agp_bridge->dev, INTEL_ATTBASE, agp_bridge->gatt_bus_addr); /* agpctrl */ - pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); + pci_write_config_dword(agp_bridge->dev, INTEL_AGPCTRL, 0x0000); /* mcgcfg */ pci_read_config_word(agp_bridge->dev, INTEL_I850_MCHCFG, &temp2); pci_write_config_word(agp_bridge->dev, INTEL_I850_MCHCFG, temp2 | (1 << 9)); /* clear any possible AGP-related error conditions */ - pci_write_config_word(agp_bridge->dev, INTEL_I850_ERRSTS, 0x001c); + pci_write_config_word(agp_bridge->dev, INTEL_I850_ERRSTS, 0x001c); return 0; } @@ -1163,7 +1168,7 @@ static int intel_7505_configure(void) /* mchcfg */ pci_read_config_word(agp_bridge->dev, INTEL_I7505_MCHCFG, &temp2); pci_write_config_word(agp_bridge->dev, INTEL_I7505_MCHCFG, temp2 | (1 << 9)); - + return 0; } @@ -1178,7 +1183,7 @@ static struct aper_size_info_8 intel_815_sizes[2] = {64, 16384, 4, 0}, {32, 8192, 3, 8}, }; - + static struct aper_size_info_8 intel_8xx_sizes[7] = { {256, 65536, 6, 0}, @@ -1201,7 +1206,7 @@ static struct aper_size_info_16 intel_generic_sizes[7] = {4, 1024, 0, 63} }; -static struct aper_size_info_8 intel_830mp_sizes[4] = +static struct aper_size_info_8 intel_830mp_sizes[4] = { {256, 65536, 6, 0}, {128, 32768, 5, 32}, @@ -1283,7 +1288,7 @@ static struct agp_bridge_driver intel_830_driver = { .owner = THIS_MODULE, .aperture_sizes = intel_i830_sizes, .size_type = FIXED_APER_SIZE, - .num_aperture_sizes = 3, + .num_aperture_sizes = 3, .needs_scratch_page = TRUE, .configure = intel_i830_configure, .fetch_size = intel_i830_fetch_size, @@ -1445,7 +1450,7 @@ static struct agp_bridge_driver intel_915_driver = { .owner = THIS_MODULE, .aperture_sizes = intel_i830_sizes, .size_type = FIXED_APER_SIZE, - .num_aperture_sizes = 3, + .num_aperture_sizes = 3, .needs_scratch_page = TRUE, .configure = intel_i915_configure, .fetch_size = intel_i915_fetch_size, @@ -1489,18 +1494,13 @@ static struct agp_bridge_driver intel_7505_driver = { .agp_destroy_page = agp_generic_destroy_page, }; -static int find_i810(u16 device, const char *name) +static int find_i810(u16 device) { struct pci_dev *i810_dev; i810_dev = pci_find_device(PCI_VENDOR_ID_INTEL, device, NULL); - if (!i810_dev) { - printk(KERN_ERR PFX "Detected an Intel %s Chipset, " - "but could not find the secondary device.\n", - name); + if (!i810_dev) return 0; - } - intel_i810_private.i810_dev = i810_dev; return 1; } @@ -1550,29 +1550,29 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, name = "440GX"; break; case PCI_DEVICE_ID_INTEL_82810_MC1: - if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG1, "i810")) + name = "i810"; + if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG1)) goto fail; bridge->driver = &intel_810_driver; - name = "i810"; break; case PCI_DEVICE_ID_INTEL_82810_MC3: - if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG3, "i810 DC100")) + name = "i810 DC100"; + if (!find_i810(PCI_DEVICE_ID_INTEL_82810_IG3)) goto fail; bridge->driver = &intel_810_driver; - name = "i810 DC100"; break; case PCI_DEVICE_ID_INTEL_82810E_MC: - if (!find_i810(PCI_DEVICE_ID_INTEL_82810E_IG, "i810 E")) + name = "i810 E"; + if (!find_i810(PCI_DEVICE_ID_INTEL_82810E_IG)) goto fail; bridge->driver = &intel_810_driver; - name = "i810 E"; break; case PCI_DEVICE_ID_INTEL_82815_MC: /* * The i815 can operate either as an i810 style * integrated device, or as an AGP4X motherboard. */ - if (find_i810(PCI_DEVICE_ID_INTEL_82815_CGC, "i815")) + if (find_i810(PCI_DEVICE_ID_INTEL_82815_CGC)) bridge->driver = &intel_810_driver; else bridge->driver = &intel_815_driver; @@ -1708,7 +1708,10 @@ static int __devinit agp_intel_probe(struct pci_dev *pdev, pci_set_drvdata(pdev, bridge); return agp_add_bridge(bridge); - fail: + +fail: + printk(KERN_ERR PFX "Detected an Intel %s chipset, " + "but could not find the secondary device.\n", name); agp_put_bridge(bridge); return -ENODEV; } @@ -1724,7 +1727,7 @@ static void __devexit agp_intel_remove(struct pci_dev *pdev) static int agp_intel_resume(struct pci_dev *pdev) { struct agp_bridge_data *bridge = pci_get_drvdata(pdev); - + pci_restore_state(pdev, pdev->saved_config_space); if (bridge->driver == &intel_generic_driver) @@ -1741,7 +1744,7 @@ static int agp_intel_resume(struct pci_dev *pdev) static struct pci_device_id agp_intel_pci_table[] = { #define ID(x) \ - { \ + { \ .class = (PCI_CLASS_BRIDGE_HOST << 8), \ .class_mask = ~0, \ .vendor = PCI_VENDOR_ID_INTEL, \ @@ -1769,7 +1772,8 @@ static struct pci_device_id agp_intel_pci_table[] = { ID(PCI_DEVICE_ID_INTEL_82865_HB), ID(PCI_DEVICE_ID_INTEL_82875_HB), ID(PCI_DEVICE_ID_INTEL_7505_0), - ID(PCI_DEVICE_ID_INTEL_7205_0), + ID(PCI_DEVICE_ID_INTEL_7205_0), + ID(PCI_DEVICE_ID_INTEL_82915G_HB), { } }; @@ -1779,7 +1783,7 @@ static struct pci_driver agp_intel_pci_driver = { .name = "agpgart-intel", .id_table = agp_intel_pci_table, .probe = agp_intel_probe, - .remove = agp_intel_remove, + .remove = __devexit_p(agp_intel_remove), .resume = agp_intel_resume, }; diff --git a/drivers/char/agp/intel-mch-agp.c b/drivers/char/agp/intel-mch-agp.c index c8f230acc..b0643443e 100644 --- a/drivers/char/agp/intel-mch-agp.c +++ b/drivers/char/agp/intel-mch-agp.c @@ -84,7 +84,7 @@ static struct aper_size_info_fixed intel_i830_sizes[] = static struct _intel_i830_private { struct pci_dev *i830_dev; /* device one */ - volatile u8 *registers; + volatile u8 __iomem *registers; int gtt_entries; } intel_i830_private; @@ -111,8 +111,7 @@ static void intel_i830_init_gtt_entries(void) gtt_entries = MB(8) - KB(132); break; case I830_GMCH_GMS_LOCAL: - rdct = INREG8(intel_i830_private.registers, - I830_RDRAM_CHANNEL_TYPE); + rdct = readb(intel_i830_private.registers+I830_RDRAM_CHANNEL_TYPE); gtt_entries = (I830_RDRAM_ND(rdct) + 1) * MB(ddt[I830_RDRAM_DDT(rdct)]); local = 1; @@ -172,12 +171,12 @@ static int intel_i830_create_gatt_table(void) pci_read_config_dword(intel_i830_private.i830_dev,I810_MMADDR,&temp); temp &= 0xfff80000; - intel_i830_private.registers = (volatile u8 *) ioremap(temp,128 * 4096); + intel_i830_private.registers = (volatile u8 __iomem*) ioremap(temp,128 * 4096); if (!intel_i830_private.registers) return (-ENOMEM); - temp = INREG32(intel_i830_private.registers,I810_PGETBL_CTL) & 0xfffff000; - global_cache_flush(); + temp = readl(intel_i830_private.registers+I810_PGETBL_CTL) & 0xfffff000; + global_cache_flush(); /* FIXME: ?? */ /* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries(); @@ -243,19 +242,22 @@ static int intel_i830_configure(void) gmch_ctrl |= I830_GMCH_ENABLED; pci_write_config_word(agp_bridge->dev,I830_GMCH_CTRL,gmch_ctrl); - OUTREG32(intel_i830_private.registers,I810_PGETBL_CTL,agp_bridge->gatt_bus_addr | I810_PGETBL_ENABLED); - global_cache_flush(); - - if (agp_bridge->driver->needs_scratch_page) - for (i = intel_i830_private.gtt_entries; i < current_size->num_entries; i++) - OUTREG32(intel_i830_private.registers,I810_PTE_BASE + (i * 4),agp_bridge->scratch_page); + writel(agp_bridge->gatt_bus_addr|I810_PGETBL_ENABLED, intel_i830_private.registers+I810_PGETBL_CTL); + readl(intel_i830_private.registers+I810_PGETBL_CTL); /* PCI Posting. */ + if (agp_bridge->driver->needs_scratch_page) { + for (i = intel_i830_private.gtt_entries; i < current_size->num_entries; i++) { + writel(agp_bridge->scratch_page, intel_i830_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i830_private.registers+I810_PTE_BASE+(i*4)); /* PCI Posting. */ + } + } + global_cache_flush(); return (0); } static void intel_i830_cleanup(void) { - iounmap((void *) intel_i830_private.registers); + iounmap((void __iomem *) intel_i830_private.registers); } static int intel_i830_insert_entries(struct agp_memory *mem,off_t pg_start, @@ -286,11 +288,13 @@ static int intel_i830_insert_entries(struct agp_memory *mem,off_t pg_start, (mem->type != 0 && mem->type != AGP_PHYS_MEMORY)) return (-EINVAL); - global_cache_flush(); + global_cache_flush(); /* FIXME: ?? */ - for (i = 0, j = pg_start; i < mem->page_count; i++, j++) - OUTREG32(intel_i830_private.registers,I810_PTE_BASE + (j * 4), - agp_bridge->driver->mask_memory(mem->memory[i], mem->type)); + for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), + intel_i830_private.registers+I810_PTE_BASE+(j*4)); + readl(intel_i830_private.registers+I810_PTE_BASE+(j*4)); /* PCI Posting. */ + } global_cache_flush(); @@ -311,13 +315,13 @@ static int intel_i830_remove_entries(struct agp_memory *mem,off_t pg_start, return (-EINVAL); } - for (i = pg_start; i < (mem->page_count + pg_start); i++) - OUTREG32(intel_i830_private.registers,I810_PTE_BASE + (i * 4),agp_bridge->scratch_page); + for (i = pg_start; i < (mem->page_count + pg_start); i++) { + writel(agp_bridge->scratch_page, intel_i830_private.registers+I810_PTE_BASE+(i*4)); + readl(intel_i830_private.registers+I810_PTE_BASE+(i*4)); /* PCI Posting. */ + } global_cache_flush(); - agp_bridge->driver->tlb_flush(mem); - return (0); } @@ -633,5 +637,5 @@ module_init(agp_intelmch_init); module_exit(agp_intelmch_cleanup); MODULE_AUTHOR("Dave Jones "); -MODULE_LICENSE("GPL and additional rights"); +MODULE_LICENSE("GPL"); diff --git a/drivers/char/agp/nvidia-agp.c b/drivers/char/agp/nvidia-agp.c index 28e7fc4bc..a0ac3d847 100644 --- a/drivers/char/agp/nvidia-agp.c +++ b/drivers/char/agp/nvidia-agp.c @@ -28,7 +28,7 @@ static struct _nvidia_private { struct pci_dev *dev_1; struct pci_dev *dev_2; struct pci_dev *dev_3; - volatile u32 *aperture; + volatile u32 __iomem *aperture; int num_active_entries; off_t pg_offset; u32 wbc_mask; @@ -154,7 +154,7 @@ static int nvidia_configure(void) /* map aperture */ nvidia_private.aperture = - (volatile u32 *) ioremap(apbase, 33 * PAGE_SIZE); + (volatile u32 __iomem *) ioremap(apbase, 33 * PAGE_SIZE); return 0; } @@ -173,7 +173,7 @@ static void nvidia_cleanup(void) pci_write_config_dword(nvidia_private.dev_2, NVIDIA_2_GARTCTRL, temp & ~(0x11)); /* unmap aperture */ - iounmap((void *) nvidia_private.aperture); + iounmap((void __iomem *) nvidia_private.aperture); /* restore previous aperture size */ previous_size = A_SIZE_8(agp_bridge->previous_size); @@ -206,7 +206,7 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type return -EINVAL; for(j = pg_start; j < (pg_start + mem->page_count); j++) { - if (!PGE_EMPTY(agp_bridge, agp_bridge->gatt_table[nvidia_private.pg_offset + j])) + if (!PGE_EMPTY(agp_bridge, readl(agp_bridge->gatt_table+nvidia_private.pg_offset+j))) return -EBUSY; } @@ -214,10 +214,11 @@ static int nvidia_insert_memory(struct agp_memory *mem, off_t pg_start, int type global_cache_flush(); mem->is_flushed = TRUE; } - for (i = 0, j = pg_start; i < mem->page_count; i++, j++) - agp_bridge->gatt_table[nvidia_private.pg_offset + j] = - agp_bridge->driver->mask_memory(mem->memory[i], mem->type); - + for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), + agp_bridge->gatt_table+nvidia_private.pg_offset+j); + readl(agp_bridge->gatt_table+nvidia_private.pg_offset+j); /* PCI Posting. */ + } agp_bridge->driver->tlb_flush(mem); return 0; } @@ -229,11 +230,9 @@ static int nvidia_remove_memory(struct agp_memory *mem, off_t pg_start, int type if ((type != 0) || (mem->type != 0)) return -EINVAL; - - for (i = pg_start; i < (mem->page_count + pg_start); i++) { - agp_bridge->gatt_table[nvidia_private.pg_offset + i] = - (unsigned long) agp_bridge->scratch_page; - } + + for (i = pg_start; i < (mem->page_count + pg_start); i++) + writel(agp_bridge->scratch_page, agp_bridge->gatt_table+nvidia_private.pg_offset+i); agp_bridge->driver->tlb_flush(mem); return 0; @@ -265,9 +264,9 @@ static void nvidia_tlbflush(struct agp_memory *mem) /* flush TLB entries */ for(i = 0; i < 32 + 1; i++) - temp = nvidia_private.aperture[i * PAGE_SIZE / sizeof(u32)]; + temp = readl(nvidia_private.aperture+(i * PAGE_SIZE / sizeof(u32))); for(i = 0; i < 32 + 1; i++) - temp = nvidia_private.aperture[i * PAGE_SIZE / sizeof(u32)]; + temp = readl(nvidia_private.aperture+(i * PAGE_SIZE / sizeof(u32))); } diff --git a/drivers/char/agp/sis-agp.c b/drivers/char/agp/sis-agp.c index 2a99c738f..019a31c36 100644 --- a/drivers/char/agp/sis-agp.c +++ b/drivers/char/agp/sis-agp.c @@ -168,6 +168,10 @@ static struct agp_device_ids sis_agp_device_ids[] __devinitdata = .device_id = PCI_DEVICE_ID_SI_630, .chipset_name = "630", }, + { + .device_id = PCI_DEVICE_ID_SI_635, + .chipset_name = "635", + }, { .device_id = PCI_DEVICE_ID_SI_645, .chipset_name = "645", diff --git a/drivers/char/agp/sworks-agp.c b/drivers/char/agp/sworks-agp.c index 44e11acbc..ebf372d27 100644 --- a/drivers/char/agp/sworks-agp.c +++ b/drivers/char/agp/sworks-agp.c @@ -27,12 +27,12 @@ struct serverworks_page_map { unsigned long *real; - unsigned long *remapped; + unsigned long __iomem *remapped; }; static struct _serverworks_private { struct pci_dev *svrwrks_dev; /* device one */ - volatile u8 *registers; + volatile u8 __iomem *registers; struct serverworks_page_map **gatt_pages; int num_tables; struct serverworks_page_map scratch_dir; @@ -61,9 +61,8 @@ static int serverworks_create_page_map(struct serverworks_page_map *page_map) } global_cache_flush(); - for(i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) { - page_map->remapped[i] = agp_bridge->scratch_page; - } + for(i = 0; i < PAGE_SIZE / sizeof(unsigned long); i++) + writel(agp_bridge->scratch_page, page_map->remapped+i); return 0; } @@ -162,10 +161,8 @@ static int serverworks_create_gatt_table(void) } /* Create a fake scratch directory */ for(i = 0; i < 1024; i++) { - serverworks_private.scratch_dir.remapped[i] = (unsigned long) agp_bridge->scratch_page; - page_dir.remapped[i] = - virt_to_phys(serverworks_private.scratch_dir.real); - page_dir.remapped[i] |= 0x00000001; + writel(agp_bridge->scratch_page, serverworks_private.scratch_dir.remapped+i); + writel(virt_to_phys(serverworks_private.scratch_dir.real) | 1, page_dir.remapped+i); } retval = serverworks_create_gatt_pages(value->num_entries / 1024); @@ -176,7 +173,7 @@ static int serverworks_create_gatt_table(void) } agp_bridge->gatt_table_real = (u32 *)page_dir.real; - agp_bridge->gatt_table = (u32 *)page_dir.remapped; + agp_bridge->gatt_table = (u32 __iomem *)page_dir.remapped; agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real); /* Get the address for the gart region. @@ -189,11 +186,8 @@ static int serverworks_create_gatt_table(void) /* Calculate the agp offset */ - for(i = 0; i < value->num_entries / 1024; i++) { - page_dir.remapped[i] = - virt_to_phys(serverworks_private.gatt_pages[i]->real); - page_dir.remapped[i] |= 0x00000001; - } + for(i = 0; i < value->num_entries / 1024; i++) + writel(virt_to_phys(serverworks_private.gatt_pages[i]->real)|1, page_dir.remapped+i); return 0; } @@ -203,7 +197,7 @@ static int serverworks_free_gatt_table(void) struct serverworks_page_map page_dir; page_dir.real = (unsigned long *)agp_bridge->gatt_table_real; - page_dir.remapped = (unsigned long *)agp_bridge->gatt_table; + page_dir.remapped = (unsigned long __iomem *)agp_bridge->gatt_table; serverworks_free_gatt_pages(); serverworks_free_page_map(&page_dir); @@ -248,12 +242,12 @@ static int serverworks_fetch_size(void) */ static void serverworks_tlbflush(struct agp_memory *temp) { - OUTREG8(serverworks_private.registers, SVWRKS_POSTFLUSH, 1); - while(INREG8(serverworks_private.registers, SVWRKS_POSTFLUSH) == 1) + writeb(1, serverworks_private.registers+SVWRKS_POSTFLUSH); + while (readb(serverworks_private.registers+SVWRKS_POSTFLUSH) == 1) cpu_relax(); - OUTREG32(serverworks_private.registers, SVWRKS_DIRFLUSH, 1); - while(INREG32(serverworks_private.registers, SVWRKS_DIRFLUSH) == 1) + writel(1, serverworks_private.registers+SVWRKS_DIRFLUSH); + while(readl(serverworks_private.registers+SVWRKS_DIRFLUSH) == 1) cpu_relax(); } @@ -269,27 +263,27 @@ static int serverworks_configure(void) /* Get the memory mapped registers */ pci_read_config_dword(agp_bridge->dev, serverworks_private.mm_addr_ofs, &temp); temp = (temp & PCI_BASE_ADDRESS_MEM_MASK); - serverworks_private.registers = (volatile u8 *) ioremap(temp, 4096); + serverworks_private.registers = (volatile u8 __iomem *) ioremap(temp, 4096); if (!serverworks_private.registers) { printk (KERN_ERR PFX "Unable to ioremap() memory.\n"); return -ENOMEM; } - OUTREG8(serverworks_private.registers, SVWRKS_GART_CACHE, 0x0a); + writeb(0xA, serverworks_private.registers+SVWRKS_GART_CACHE); + readb(serverworks_private.registers+SVWRKS_GART_CACHE); /* PCI Posting. */ - OUTREG32(serverworks_private.registers, SVWRKS_GATTBASE, - agp_bridge->gatt_bus_addr); + writel(agp_bridge->gatt_bus_addr, serverworks_private.registers+SVWRKS_GATTBASE); + readl(serverworks_private.registers+SVWRKS_GATTBASE); /* PCI Posting. */ - cap_reg = INREG16(serverworks_private.registers, SVWRKS_COMMAND); + cap_reg = readw(serverworks_private.registers+SVWRKS_COMMAND); cap_reg &= ~0x0007; cap_reg |= 0x4; - OUTREG16(serverworks_private.registers, SVWRKS_COMMAND, cap_reg); + writew(cap_reg, serverworks_private.registers+SVWRKS_COMMAND); + readw(serverworks_private.registers+SVWRKS_COMMAND); - pci_read_config_byte(serverworks_private.svrwrks_dev, - SVWRKS_AGP_ENABLE, &enable_reg); + pci_read_config_byte(serverworks_private.svrwrks_dev,SVWRKS_AGP_ENABLE, &enable_reg); enable_reg |= 0x1; /* Agp Enable bit */ - pci_write_config_byte(serverworks_private.svrwrks_dev, - SVWRKS_AGP_ENABLE, enable_reg); + pci_write_config_byte(serverworks_private.svrwrks_dev,SVWRKS_AGP_ENABLE, enable_reg); serverworks_tlbflush(NULL); agp_bridge->capndx = pci_find_capability(serverworks_private.svrwrks_dev, PCI_CAP_ID_AGP); @@ -311,14 +305,14 @@ static int serverworks_configure(void) static void serverworks_cleanup(void) { - iounmap((void *) serverworks_private.registers); + iounmap((void __iomem *) serverworks_private.registers); } static int serverworks_insert_memory(struct agp_memory *mem, off_t pg_start, int type) { int i, j, num_entries; - unsigned long *cur_gatt; + unsigned long __iomem *cur_gatt; unsigned long addr; num_entries = A_SIZE_LVL2(agp_bridge->current_size)->num_entries; @@ -334,9 +328,8 @@ static int serverworks_insert_memory(struct agp_memory *mem, while (j < (pg_start + mem->page_count)) { addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = SVRWRKS_GET_GATT(addr); - if (!PGE_EMPTY(agp_bridge, cur_gatt[GET_GATT_OFF(addr)])) { + if (!PGE_EMPTY(agp_bridge, readl(cur_gatt+GET_GATT_OFF(addr)))) return -EBUSY; - } j++; } @@ -348,8 +341,7 @@ static int serverworks_insert_memory(struct agp_memory *mem, for (i = 0, j = pg_start; i < mem->page_count; i++, j++) { addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = SVRWRKS_GET_GATT(addr); - cur_gatt[GET_GATT_OFF(addr)] = - agp_bridge->driver->mask_memory(mem->memory[i], mem->type); + writel(agp_bridge->driver->mask_memory(mem->memory[i], mem->type), cur_gatt+GET_GATT_OFF(addr)); } serverworks_tlbflush(mem); return 0; @@ -359,7 +351,7 @@ static int serverworks_remove_memory(struct agp_memory *mem, off_t pg_start, int type) { int i; - unsigned long *cur_gatt; + unsigned long __iomem *cur_gatt; unsigned long addr; if (type != 0 || mem->type != 0) { @@ -372,8 +364,7 @@ static int serverworks_remove_memory(struct agp_memory *mem, off_t pg_start, for (i = pg_start; i < (mem->page_count + pg_start); i++) { addr = (i * PAGE_SIZE) + agp_bridge->gart_bus_addr; cur_gatt = SVRWRKS_GET_GATT(addr); - cur_gatt[GET_GATT_OFF(addr)] = - (unsigned long) agp_bridge->scratch_page; + writel(agp_bridge->scratch_page, cur_gatt+GET_GATT_OFF(addr)); } serverworks_tlbflush(mem); diff --git a/drivers/char/agp/via-agp.c b/drivers/char/agp/via-agp.c index c619722e5..bcaea8ec3 100644 --- a/drivers/char/agp/via-agp.c +++ b/drivers/char/agp/via-agp.c @@ -438,6 +438,33 @@ static void __devexit agp_via_remove(struct pci_dev *pdev) agp_put_bridge(bridge); } +#ifdef CONFIG_PM + +static int agp_via_suspend(struct pci_dev *pdev, u32 state) +{ + pci_save_state (pdev, pdev->saved_config_space); + pci_set_power_state (pdev, 3); + + return 0; +} + +static int agp_via_resume(struct pci_dev *pdev) +{ + struct agp_bridge_data *bridge = pci_get_drvdata(pdev); + + pci_set_power_state (pdev, 0); + pci_restore_state(pdev, pdev->saved_config_space); + + if (bridge->driver == &via_agp3_driver) + return via_configure_agp3(); + else if (bridge->driver == &via_driver) + return via_configure(); + + return 0; +} + +#endif /* CONFIG_PM */ + /* must be the same order as name table above */ static struct pci_device_id agp_via_pci_table[] = { #define ID(x) \ @@ -487,6 +514,10 @@ static struct pci_driver agp_via_pci_driver = { .id_table = agp_via_pci_table, .probe = agp_via_probe, .remove = agp_via_remove, +#ifdef CONFIG_PM + .suspend = agp_via_suspend, + .resume = agp_via_resume, +#endif }; @@ -503,5 +534,5 @@ static void __exit agp_via_cleanup(void) module_init(agp_via_init); module_exit(agp_via_cleanup); -MODULE_LICENSE("GPL and additional rights"); +MODULE_LICENSE("GPL"); MODULE_AUTHOR("Dave Jones "); diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c index 0b2c40e94..148ea2932 100644 --- a/drivers/char/applicom.c +++ b/drivers/char/applicom.c @@ -89,7 +89,7 @@ MODULE_SUPPORTED_DEVICE("ac"); static struct applicom_board { unsigned long PhysIO; - unsigned long RamIO; + void __iomem *RamIO; wait_queue_head_t FlagSleepSend; long irq; spinlock_t mutex; @@ -127,7 +127,7 @@ static struct miscdevice ac_miscdev = { static int dummy; /* dev_id for request_irq() */ -static int ac_register_board(unsigned long physloc, unsigned long loc, +static int ac_register_board(unsigned long physloc, void __iomem *loc, unsigned char boardno) { volatile unsigned char byte_reset_it; @@ -179,11 +179,11 @@ void cleanup_module(void) if (!apbs[i].RamIO) continue; - - iounmap((void *) apbs[i].RamIO); if (apbs[i].irq) free_irq(apbs[i].irq, &dummy); + + iounmap(apbs[i].RamIO); } } @@ -193,7 +193,7 @@ int __init applicom_init(void) { int i, numisa = 0; struct pci_dev *dev = NULL; - void *RamIO; + void __iomem *RamIO; int boardno; printk(KERN_INFO "Applicom driver: $Id: ac.c,v 1.30 2000/03/22 16:03:57 dwmw2 Exp $\n"); @@ -223,8 +223,8 @@ int __init applicom_init(void) applicom_pci_devnames[dev->device-1], dev->resource[0].start, dev->irq); - if (!(boardno = ac_register_board(dev->resource[0].start, - (unsigned long)RamIO,0))) { + boardno = ac_register_board(dev->resource[0].start, RamIO,0); + if (!boardno) { printk(KERN_INFO "ac.o: PCI Applicom device doesn't have correct signature.\n"); iounmap(RamIO); pci_disable_device(dev); @@ -235,7 +235,7 @@ int __init applicom_init(void) printk(KERN_INFO "Could not allocate IRQ %d for PCI Applicom device.\n", dev->irq); iounmap(RamIO); pci_disable_device(dev); - apbs[boardno - 1].RamIO = 0; + apbs[boardno - 1].RamIO = NULL; continue; } @@ -270,7 +270,7 @@ int __init applicom_init(void) } if (!(boardno = ac_register_board((unsigned long)mem+ (LEN_RAM_IO*i), - (unsigned long)RamIO,i+1))) { + RamIO,i+1))) { iounmap(RamIO); continue; } @@ -280,8 +280,8 @@ int __init applicom_init(void) if (!numisa) { if (request_irq(irq, &ac_interrupt, SA_SHIRQ, "Applicom ISA", &dummy)) { printk(KERN_WARNING "Could not allocate IRQ %d for ISA Applicom device.\n", irq); - iounmap((void *) RamIO); - apbs[boardno - 1].RamIO = 0; + iounmap(RamIO); + apbs[boardno - 1].RamIO = NULL; } else apbs[boardno - 1].irq = irq; @@ -449,7 +449,7 @@ static ssize_t ac_write(struct file *file, const char __user *buf, size_t count, because it works with 2.2 still */ { unsigned char *from = (unsigned char *) &tmpmailbox; - unsigned long to = (unsigned long) apbs[IndexCard].RamIO + RAM_FROM_PC; + void __iomem *to = apbs[IndexCard].RamIO + RAM_FROM_PC; int c; for (c = 0; c < sizeof(struct mailbox); c++) @@ -470,7 +470,7 @@ static ssize_t ac_write(struct file *file, const char __user *buf, size_t count, static int do_ac_read(int IndexCard, char __user *buf, struct st_ram_io *st_loc, struct mailbox *mailbox) { - unsigned long from = (unsigned long)apbs[IndexCard].RamIO + RAM_TO_PC; + void __iomem *from = apbs[IndexCard].RamIO + RAM_TO_PC; unsigned char *to = (unsigned char *)&mailbox; #ifdef DEBUG int c; @@ -685,7 +685,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un { /* @ ADG ou ATO selon le cas */ int i; unsigned char IndexCard; - unsigned long pmem; + void __iomem *pmem; int ret = 0; volatile unsigned char byte_reset_it; struct st_ram_io *adgl; diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c index e69dc6d00..6ceaee64b 100644 --- a/drivers/char/cyclades.c +++ b/drivers/char/cyclades.c @@ -682,13 +682,13 @@ static void cy_send_xchar (struct tty_struct *tty, char ch); #define IS_CYC_Z(card) ((card).num_chips == -1) #define Z_FPGA_CHECK(card) \ - ((cy_readl(&((struct RUNTIME_9060 *) \ + ((cy_readl(&((struct RUNTIME_9060 __iomem *) \ ((card).ctl_addr))->init_ctrl) & (1<<17)) != 0) -#define ISZLOADED(card) (((ZO_V1==cy_readl(&((struct RUNTIME_9060 *) \ +#define ISZLOADED(card) (((ZO_V1==cy_readl(&((struct RUNTIME_9060 __iomem *) \ ((card).ctl_addr))->mail_box_0)) || \ Z_FPGA_CHECK(card)) && \ - (ZFIRM_ID==cy_readl(&((struct FIRM_ID *) \ + (ZFIRM_ID==cy_readl(&((struct FIRM_ID __iomem *) \ ((card).base_addr+ID_ADDRESS))->signature))) #ifndef SERIAL_XMIT_SIZE @@ -712,16 +712,16 @@ static struct tty_driver *cy_serial_driver; boot options line. The form is "cyclades=address,address..." */ -static unsigned char *cy_isa_addresses[] = { - (unsigned char *) 0xD0000, - (unsigned char *) 0xD2000, - (unsigned char *) 0xD4000, - (unsigned char *) 0xD6000, - (unsigned char *) 0xD8000, - (unsigned char *) 0xDA000, - (unsigned char *) 0xDC000, - (unsigned char *) 0xDE000, - NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL +static unsigned int cy_isa_addresses[] = { + 0xD0000, + 0xD2000, + 0xD4000, + 0xD6000, + 0xD8000, + 0xDA000, + 0xDC000, + 0xDE000, + 0,0,0,0,0,0,0,0 }; #define NR_ISA_ADDRS (sizeof(cy_isa_addresses)/sizeof(unsigned char*)) @@ -854,7 +854,7 @@ static void cy_start(struct tty_struct *); static void set_line_char(struct cyclades_port *); static int cyz_issue_cmd(struct cyclades_card *, uclong, ucchar, uclong); #ifdef CONFIG_ISA -static unsigned detect_isa_irq (volatile ucchar *); +static unsigned detect_isa_irq(void __iomem *); #endif /* CONFIG_ISA */ static int cyclades_get_proc_info(char *, char **, off_t , int , int *, void *); @@ -970,10 +970,7 @@ do_softint(void *private_) wake_up_interruptible(&info->delta_msr_wait); } if (test_and_clear_bit(Cy_EVENT_WRITE_WAKEUP, &info->event)) { - if((tty->flags & (1<< TTY_DO_WRITE_WAKEUP)) - && tty->ldisc.write_wakeup){ - (tty->ldisc.write_wakeup)(tty); - } + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); } #ifdef Z_WAKE @@ -995,7 +992,7 @@ do_softint(void *private_) This function is only called from inside spinlock-protected code. */ static int -cyy_issue_cmd(volatile ucchar *base_addr, u_char cmd, int index) +cyy_issue_cmd(void __iomem *base_addr, u_char cmd, int index) { volatile int i; @@ -1011,7 +1008,7 @@ cyy_issue_cmd(volatile ucchar *base_addr, u_char cmd, int index) if (i == 100) return (-1); /* Issue the new command */ - cy_writeb((u_long)base_addr+(CyCCR< 0)? irq : 0; @@ -1079,7 +1076,7 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) int status; struct cyclades_card *cinfo; struct cyclades_port *info; - volatile unsigned char *base_addr, *card_base_addr; + void __iomem *base_addr, *card_base_addr; int chip; int save_xir, channel, save_car; char data; @@ -1098,7 +1095,7 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) return IRQ_NONE; /* spurious interrupt */ } - card_base_addr = (unsigned char *)cinfo->base_addr; + card_base_addr = cinfo->base_addr; index = cinfo->bus_index; @@ -1110,8 +1107,7 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) do{ had_work = 0; for ( chip = 0 ; chip < cinfo->num_chips ; chip ++) { - base_addr = (unsigned char *) - (cinfo->base_addr + (cy_chip_offset[chip]<base_addr + (cy_chip_offset[chip]<last_active = jiffies; save_car = cy_readb(base_addr+(CyCAR<tty == 0){ @@ -1264,8 +1260,8 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) schedule_delayed_work(&tty->flip.work, 1); } /* end of service */ - cy_writeb((u_long)base_addr+(CyRIR<card_lock); } @@ -1284,18 +1280,18 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) channel = (u_short ) (save_xir & CyIRChannel); i = channel + chip * 4 + cinfo->first_line; save_car = cy_readb(base_addr+(CyCAR<last_active = jiffies; if(info->tty == 0){ - cy_writeb((u_long)base_addr+(CySRER<x_char) { /* send special char */ outch = info->x_char; - cy_writeb((u_long)base_addr+(CyTDR<icount.tx++; info->x_char = 0; @@ -1313,14 +1309,14 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) if (info->breakon || info->breakoff) { if (info->breakon) { - cy_writeb((u_long)base_addr + (CyTDR<breakon = 0; char_count -= 2; } if (info->breakoff) { - cy_writeb((u_long)base_addr + (CyTDR<breakoff = 0; char_count -= 2; } @@ -1329,11 +1325,11 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) while (char_count-- > 0){ if (!info->xmit_cnt){ if (cy_readb(base_addr+(CySRER<xmit_buf == 0){ - cy_writeb((u_long)base_addr+(CySRER<tty->stopped || info->tty->hw_stopped){ - cy_writeb((u_long)base_addr+(CySRER<xmit_cnt--; info->xmit_tail = (info->xmit_tail + 1) & (SERIAL_XMIT_SIZE - 1); - cy_writeb((u_long)base_addr+(CyTDR<icount.tx++; }else{ if(char_count > 1){ info->xmit_cnt--; info->xmit_tail = (info->xmit_tail + 1) & (SERIAL_XMIT_SIZE - 1); - cy_writeb((u_long)base_addr+(CyTDR<icount.tx++; char_count--; }else{ @@ -1391,9 +1387,9 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) } txend: /* end of service */ - cy_writeb((u_long)base_addr+(CyTIR<card_lock); } @@ -1407,7 +1403,7 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) + cinfo->first_line]; info->last_active = jiffies; save_car = cy_readb(base_addr+(CyCAR<tty->hw_stopped = 0; - cy_writeb((u_long)base_addr+(CySRER<tty->hw_stopped = 1; - cy_writeb((u_long)base_addr+(CySRER<card_lock); } } /* end while status != 0 */ @@ -1476,7 +1472,7 @@ cyy_interrupt(int irq, void *dev_id, struct pt_regs *regs) /* clear interrupts */ spin_lock(&cinfo->card_lock); - cy_writeb((u_long)card_base_addr + (Cy_ClrIntr<card_lock); return IRQ_HANDLED; @@ -1491,27 +1487,25 @@ static int cyz_fetch_msg( struct cyclades_card *cinfo, uclong *channel, ucchar *cmd, uclong *param) { - struct FIRM_ID *firm_id; - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; + struct FIRM_ID __iomem *firm_id; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; unsigned long loc_doorbell; - firm_id = (struct FIRM_ID *)(cinfo->base_addr + ID_ADDRESS); + firm_id = cinfo->base_addr + ID_ADDRESS; if (!ISZLOADED(*cinfo)){ return (-1); } - zfw_ctrl = (struct ZFW_CTRL *) - (cinfo->base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cinfo->base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; - loc_doorbell = cy_readl(&((struct RUNTIME_9060 *) + loc_doorbell = cy_readl(&((struct RUNTIME_9060 __iomem *) (cinfo->ctl_addr))->loc_doorbell); if (loc_doorbell){ *cmd = (char)(0xff & loc_doorbell); *channel = cy_readl(&board_ctrl->fwcmd_channel); *param = (uclong)cy_readl(&board_ctrl->fwcmd_param); - cy_writel(&((struct RUNTIME_9060 *)(cinfo->ctl_addr))->loc_doorbell, + cy_writel(&((struct RUNTIME_9060 __iomem *)(cinfo->ctl_addr))->loc_doorbell, 0xffffffff); return 1; } @@ -1522,40 +1516,38 @@ static int cyz_issue_cmd( struct cyclades_card *cinfo, uclong channel, ucchar cmd, uclong param) { - struct FIRM_ID *firm_id; - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; - volatile uclong *pci_doorbell; + struct FIRM_ID __iomem *firm_id; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; + unsigned long __iomem *pci_doorbell; int index; - firm_id = (struct FIRM_ID *)(cinfo->base_addr + ID_ADDRESS); + firm_id = cinfo->base_addr + ID_ADDRESS; if (!ISZLOADED(*cinfo)){ return (-1); } - zfw_ctrl = (struct ZFW_CTRL *) - (cinfo->base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cinfo->base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; index = 0; - pci_doorbell = (uclong *)(&((struct RUNTIME_9060 *) - (cinfo->ctl_addr))->pci_doorbell); + pci_doorbell = &((struct RUNTIME_9060 __iomem *) (cinfo->ctl_addr))->pci_doorbell; while( (cy_readl(pci_doorbell) & 0xff) != 0){ if (index++ == 1000){ return((int)(cy_readl(pci_doorbell) & 0xff)); } udelay(50L); } - cy_writel((u_long)&board_ctrl->hcmd_channel, channel); - cy_writel((u_long)&board_ctrl->hcmd_param , param); - cy_writel((u_long)pci_doorbell, (long)cmd); + cy_writel(&board_ctrl->hcmd_channel, channel); + cy_writel(&board_ctrl->hcmd_param , param); + cy_writel(pci_doorbell, (long)cmd); return(0); } /* cyz_issue_cmd */ static void -cyz_handle_rx(struct cyclades_port *info, volatile struct CH_CTRL *ch_ctrl, - volatile struct BUF_CTRL *buf_ctrl) +cyz_handle_rx(struct cyclades_port *info, + volatile struct CH_CTRL __iomem *ch_ctrl, + volatile struct BUF_CTRL __iomem *buf_ctrl) { struct cyclades_card *cinfo = &cy_card[info->card]; struct tty_struct *tty = info->tty; @@ -1652,8 +1644,9 @@ cyz_handle_rx(struct cyclades_port *info, volatile struct CH_CTRL *ch_ctrl, } static void -cyz_handle_tx(struct cyclades_port *info, volatile struct CH_CTRL *ch_ctrl, - volatile struct BUF_CTRL *buf_ctrl) +cyz_handle_tx(struct cyclades_port *info, + volatile struct CH_CTRL __iomem *ch_ctrl, + volatile struct BUF_CTRL __iomem *buf_ctrl) { struct cyclades_card *cinfo = &cy_card[info->card]; struct tty_struct *tty = info->tty; @@ -1740,11 +1733,11 @@ cyz_handle_cmd(struct cyclades_card *cinfo) { struct tty_struct *tty; struct cyclades_port *info; - static volatile struct FIRM_ID *firm_id; - static volatile struct ZFW_CTRL *zfw_ctrl; - static volatile struct BOARD_CTRL *board_ctrl; - static volatile struct CH_CTRL *ch_ctrl; - static volatile struct BUF_CTRL *buf_ctrl; + static volatile struct FIRM_ID __iomem *firm_id; + static volatile struct ZFW_CTRL __iomem *zfw_ctrl; + static volatile struct BOARD_CTRL __iomem *board_ctrl; + static volatile struct CH_CTRL __iomem *ch_ctrl; + static volatile struct BUF_CTRL __iomem *buf_ctrl; uclong channel; ucchar cmd; uclong param; @@ -1752,13 +1745,11 @@ cyz_handle_cmd(struct cyclades_card *cinfo) int special_count; int delta_count; - firm_id = (struct FIRM_ID *)(cinfo->base_addr + ID_ADDRESS); - zfw_ctrl = (struct ZFW_CTRL *) - (cinfo->base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); - board_ctrl = &(zfw_ctrl->board_ctrl); + firm_id = cinfo->base_addr + ID_ADDRESS; + zfw_ctrl = cinfo->base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); + board_ctrl = &zfw_ctrl->board_ctrl; fw_ver = cy_readl(&board_ctrl->fw_version); - hw_ver = cy_readl(&((struct RUNTIME_9060 *)(cinfo->ctl_addr))->mail_box_0); + hw_ver = cy_readl(&((struct RUNTIME_9060 __iomem *)(cinfo->ctl_addr))->mail_box_0); while(cyz_fetch_msg(cinfo, &channel, &cmd, ¶m) == 1) { @@ -1925,10 +1916,8 @@ cyz_poll(unsigned long arg) if (!IS_CYC_Z(*cinfo)) continue; if (!ISZLOADED(*cinfo)) continue; - firm_id = (struct FIRM_ID *)(cinfo->base_addr + ID_ADDRESS); - zfw_ctrl = (struct ZFW_CTRL *) - (cinfo->base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); + firm_id = cinfo->base_addr + ID_ADDRESS; + zfw_ctrl = cinfo->base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &(zfw_ctrl->board_ctrl); /* Skip first polling cycle to avoid racing conditions with the FW */ @@ -1972,7 +1961,7 @@ startup(struct cyclades_port * info) { unsigned long flags; int retval = 0; - unsigned char *base_addr; + void __iomem *base_addr; int card,chip,channel,index; unsigned long page; @@ -2011,8 +2000,7 @@ startup(struct cyclades_port * info) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr + (cy_chip_offset[chip]<default_timeout + cy_writeb(base_addr+(CyRTPR<default_timeout ? info->default_timeout : 0x02)); /* 10ms rx timeout */ cyy_issue_cmd(base_addr,CyCHAN_CTL|CyENB_RCVR|CyENB_XMTR,index); - cy_writeb((ulong)base_addr+(CyCAR<flags |= ASYNC_INITIALIZED; @@ -2056,22 +2044,20 @@ startup(struct cyclades_port * info) CY_UNLOCK(info, flags); } else { - struct FIRM_ID *firm_id; - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; - struct CH_CTRL *ch_ctrl; + struct FIRM_ID __iomem *firm_id; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; + struct CH_CTRL __iomem *ch_ctrl; int retval; - base_addr = (unsigned char*) (cy_card[card].base_addr); + base_addr = cy_card[card].base_addr; - firm_id = (struct FIRM_ID *) (base_addr + ID_ADDRESS); + firm_id = base_addr + ID_ADDRESS; if (!ISZLOADED(cy_card[card])){ return -ENODEV; } - zfw_ctrl = (struct ZFW_CTRL *) - (cy_card[card].base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cy_card[card].base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; ch_ctrl = zfw_ctrl->ch_ctrl; @@ -2163,7 +2149,7 @@ static void start_xmit( struct cyclades_port *info ) { unsigned long flags; - unsigned char *base_addr; + void __iomem *base_addr; int card,chip,channel,index; card = info->card; @@ -2172,13 +2158,11 @@ start_xmit( struct cyclades_port *info ) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<flags & ASYNC_INITIALIZED)){ @@ -2219,9 +2203,7 @@ shutdown(struct cyclades_port * info) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<xmit_buf = NULL; free_page((unsigned long) temp); } - cy_writeb((u_long)base_addr+(CyCAR<tty || (info->tty->termios->c_cflag & HUPCL)) { - cy_writeb((u_long)base_addr+(CyMSVR1<flags &= ~ASYNC_INITIALIZED; CY_UNLOCK(info, flags); } else { - struct FIRM_ID *firm_id; - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; - struct CH_CTRL *ch_ctrl; + struct FIRM_ID __iomem *firm_id; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; + struct CH_CTRL __iomem *ch_ctrl; int retval; - base_addr = (unsigned char*) (cy_card[card].base_addr); + base_addr = cy_card[card].base_addr; #ifdef CY_DEBUG_OPEN printk("cyc shutdown Z card %d, channel %d, base_addr %lx\n", card, channel, (long)base_addr); #endif - firm_id = (struct FIRM_ID *) (base_addr + ID_ADDRESS); + firm_id = base_addr + ID_ADDRESS; if (!ISZLOADED(cy_card[card])) { return; } - zfw_ctrl = (struct ZFW_CTRL *) - (cy_card[card].base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); - board_ctrl = &(zfw_ctrl->board_ctrl); + zfw_ctrl = cy_card[card].base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); + board_ctrl = &zfw_ctrl->board_ctrl; ch_ctrl = zfw_ctrl->ch_ctrl; CY_LOCK(info, flags); @@ -2293,7 +2273,7 @@ shutdown(struct cyclades_port * info) } if (!info->tty || (info->tty->termios->c_cflag & HUPCL)) { - cy_writel((u_long)&ch_ctrl[channel].rs_control, + cy_writel(&ch_ctrl[channel].rs_control, (uclong)(cy_readl(&ch_ctrl[channel].rs_control) & ~(C_RS_RTS | C_RS_DTR))); retval = cyz_issue_cmd(&cy_card[info->card], @@ -2337,7 +2317,7 @@ block_til_ready(struct tty_struct *tty, struct file * filp, unsigned long flags; int chip, channel,index; int retval; - char *base_addr; + void __iomem *base_addr; cinfo = &cy_card[info->card]; channel = info->line - cinfo->first_line; @@ -2390,15 +2370,14 @@ block_til_ready(struct tty_struct *tty, struct file * filp, chip = channel>>2; channel &= 0x03; index = cinfo->bus_index; - base_addr = (char *)(cinfo->base_addr - + (cy_chip_offset[chip]<base_addr + (cy_chip_offset[chip]<termios->c_cflag & CBAUD)){ - cy_writeb((u_long)base_addr+(CyCAR<flags & ASYNC_CLOSING) && (C_CLOCAL(tty) || (cy_readb(base_addr+(CyMSVR1<base_addr); - firm_id = (struct FIRM_ID *) - (base_addr + ID_ADDRESS); + base_addr = cinfo->base_addr; + firm_id = base_addr + ID_ADDRESS; if (!ISZLOADED(*cinfo)){ current->state = TASK_RUNNING; remove_wait_queue(&info->open_wait, &wait); return -EINVAL; } - zfw_ctrl = (struct ZFW_CTRL *) - (base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); + zfw_ctrl = base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; ch_ctrl = zfw_ctrl->ch_ctrl; @@ -2543,11 +2520,10 @@ cy_open(struct tty_struct *tty, struct file * filp) */ if (IS_CYC_Z(cy_card[info->card])) { struct cyclades_card *cinfo = &cy_card[info->card]; - struct FIRM_ID *firm_id = (struct FIRM_ID *) - (cinfo->base_addr + ID_ADDRESS); + struct FIRM_ID __iomem *firm_id = cinfo->base_addr + ID_ADDRESS; if (!ISZLOADED(*cinfo)) { - if (((ZE_V1 ==cy_readl(&((struct RUNTIME_9060 *) + if (((ZE_V1 ==cy_readl(&((struct RUNTIME_9060 __iomem *) (cinfo->ctl_addr))->mail_box_0)) && Z_FPGA_CHECK (*cinfo)) && (ZFIRM_HLT == cy_readl (&firm_id->signature))) @@ -2564,12 +2540,10 @@ cy_open(struct tty_struct *tty, struct file * filp) interrupts should be enabled as soon as the first open happens to one of its ports. */ if (!cinfo->intr_enabled) { - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; - zfw_ctrl = (struct ZFW_CTRL *) - (cinfo->base_addr + - (cy_readl (&firm_id->zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cinfo->base_addr + (cy_readl (&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; @@ -2661,7 +2635,7 @@ static void cy_wait_until_sent(struct tty_struct *tty, int timeout) { struct cyclades_port * info = (struct cyclades_port *)tty->driver_data; - unsigned char *base_addr; + void __iomem *base_addr; int card,chip,channel,index; unsigned long orig_jiffies; int char_time; @@ -2711,8 +2685,7 @@ cy_wait_until_sent(struct tty_struct *tty, int timeout) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char *) - (cy_card[card].base_addr + (cy_chip_offset[chip]<card])) { int channel = info->line - cy_card[info->card].first_line; int index = cy_card[info->card].bus_index; - unsigned char *base_addr = (unsigned char *) - (cy_card[info->card].base_addr + - (cy_chip_offset[channel>>2] <card].base_addr + (cy_chip_offset[channel>>2] << index); /* Stop accepting input */ channel &= 0x03; - cy_writeb((ulong)base_addr+(CyCAR<flags & ASYNC_INITIALIZED) { /* Waiting for on-board buffers to be empty before closing @@ -2823,12 +2794,10 @@ cy_close(struct tty_struct *tty, struct file *filp) } else { #ifdef Z_WAKE /* Waiting for on-board buffers to be empty before closing the port */ - unsigned char *base_addr = (unsigned char *) - cy_card[info->card].base_addr; - struct FIRM_ID *firm_id = (struct FIRM_ID *) (base_addr + ID_ADDRESS); - struct ZFW_CTRL *zfw_ctrl = (struct ZFW_CTRL *) - (base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); - struct CH_CTRL *ch_ctrl = zfw_ctrl->ch_ctrl; + void __iomem *base_addr = cy_card[info->card].base_addr; + struct FIRM_ID __iomem *firm_id = base_addr + ID_ADDRESS; + struct ZFW_CTRL __iomem *zfw_ctrl = base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); + struct CH_CTRL __iomem *ch_ctrl = zfw_ctrl->ch_ctrl; int channel = info->line - cy_card[info->card].first_line; int retval; @@ -2850,8 +2819,7 @@ cy_close(struct tty_struct *tty, struct file *filp) shutdown(info); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); CY_LOCK(info, flags); tty->closing = 0; @@ -3088,10 +3056,8 @@ cy_chars_in_buffer(struct tty_struct *tty) int char_count; volatile uclong tx_put, tx_get, tx_bufsize; - firm_id = (struct FIRM_ID *)(cy_card[card].base_addr + ID_ADDRESS); - zfw_ctrl = (struct ZFW_CTRL *) - (cy_card[card].base_addr + - (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff)); + firm_id = cy_card[card].base_addr + ID_ADDRESS; + zfw_ctrl = cy_card[card].base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); ch_ctrl = &(zfw_ctrl->ch_ctrl[channel]); buf_ctrl = &(zfw_ctrl->buf_ctrl[channel]); @@ -3151,7 +3117,7 @@ static void set_line_char(struct cyclades_port * info) { unsigned long flags; - unsigned char *base_addr; + void __iomem *base_addr; int card,chip,channel,index; unsigned cflag, iflag; unsigned short chip_number; @@ -3303,76 +3269,74 @@ set_line_char(struct cyclades_port * info) chip = channel>>2; channel &= 0x03; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<tco); - cy_writeb((u_long)base_addr+(CyTBPR<tbpr); - cy_writeb((u_long)base_addr+(CyRCOR<rco); - cy_writeb((u_long)base_addr+(CyRBPR<rbpr); + cy_writeb(base_addr+(CyTCOR<tco); + cy_writeb(base_addr+(CyTBPR<tbpr); + cy_writeb(base_addr+(CyRCOR<rco); + cy_writeb(base_addr+(CyRBPR<rbpr); /* set line characteristics according configuration */ - cy_writeb((u_long)base_addr+(CySCHR1<tty)); - cy_writeb((u_long)base_addr+(CySCHR2<tty)); - cy_writeb((u_long)base_addr+(CyCOR1<cor1); - cy_writeb((u_long)base_addr+(CyCOR2<cor2); - cy_writeb((u_long)base_addr+(CyCOR3<cor3); - cy_writeb((u_long)base_addr+(CyCOR4<cor4); - cy_writeb((u_long)base_addr+(CyCOR5<cor5); + cy_writeb(base_addr+(CyCOR1<cor1); + cy_writeb(base_addr+(CyCOR2<cor2); + cy_writeb(base_addr+(CyCOR3<cor3); + cy_writeb(base_addr+(CyCOR4<cor4); + cy_writeb(base_addr+(CyCOR5<cor5); cyy_issue_cmd(base_addr, CyCOR_CHANGE|CyCOR1ch|CyCOR2ch|CyCOR3ch,index); - cy_writeb((u_long)base_addr+(CyCAR<default_timeout + cy_writeb(base_addr+(CyRTPR<default_timeout ? info->default_timeout : 0x02)); /* 10ms rx timeout */ if (C_CLOCAL(info->tty)) { /* without modem intr */ - cy_writeb((u_long)base_addr+(CySRER<0 modem transitions */ if ((cflag & CRTSCTS) && info->rflow) { - cy_writeb((u_long)base_addr+(CyMCOR1<1 modem transitions */ - cy_writeb((u_long)base_addr+(CyMCOR2<0 modem transitions */ if ((cflag & CRTSCTS) && info->rflow) { - cy_writeb((u_long)base_addr+(CyMCOR1<1 modem transitions */ - cy_writeb((u_long)base_addr+(CyMCOR2<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR1<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR1<zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cy_card[card].base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; ch_ctrl = &(zfw_ctrl->ch_ctrl[channel]); buf_ctrl = &zfw_ctrl->buf_ctrl[channel]; @@ -3617,7 +3578,7 @@ static int get_lsr_info(struct cyclades_port *info, unsigned int __user *value) unsigned char status; unsigned int result; unsigned long flags; - unsigned char *base_addr; + void __iomem *base_addr; card = info->card; channel = (info->line) - (cy_card[card].first_line); @@ -3625,8 +3586,7 @@ static int get_lsr_info(struct cyclades_port *info, unsigned int __user *value) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char *) - (cy_card[card].base_addr + (cy_chip_offset[chip]<driver_data; int card,chip,channel,index; - unsigned char *base_addr; + void __iomem *base_addr; unsigned long flags; unsigned char status; unsigned long lstatus; unsigned int result; - struct FIRM_ID *firm_id; - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; - struct CH_CTRL *ch_ctrl; + struct FIRM_ID __iomem *firm_id; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; + struct CH_CTRL __iomem *ch_ctrl; if (serial_paranoia_check(info, tty->name, __FUNCTION__)) return -ENODEV; @@ -3663,12 +3623,10 @@ cy_tiocmget(struct tty_struct *tty, struct file *file) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cy_card[card].base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; ch_ctrl = zfw_ctrl->ch_ctrl; lstatus = cy_readl(&ch_ctrl[channel].rs_status); @@ -3722,12 +3677,12 @@ cy_tiocmset(struct tty_struct *tty, struct file *file, { struct cyclades_port * info = (struct cyclades_port *)tty->driver_data; int card,chip,channel,index; - unsigned char *base_addr; + void __iomem *base_addr; unsigned long flags; - struct FIRM_ID *firm_id; - struct ZFW_CTRL *zfw_ctrl; - struct BOARD_CTRL *board_ctrl; - struct CH_CTRL *ch_ctrl; + struct FIRM_ID __iomem *firm_id; + struct ZFW_CTRL __iomem *zfw_ctrl; + struct BOARD_CTRL __iomem *board_ctrl; + struct CH_CTRL __iomem *ch_ctrl; int retval; if (serial_paranoia_check(info, tty->name, __FUNCTION__)) @@ -3739,37 +3694,35 @@ cy_tiocmset(struct tty_struct *tty, struct file *file, chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR2<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR2<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR1<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR1<zfwctrl_addr) & 0xfffff)); + zfw_ctrl = cy_card[card].base_addr + (cy_readl(&firm_id->zfwctrl_addr) & 0xfffff); board_ctrl = &zfw_ctrl->board_ctrl; ch_ctrl = zfw_ctrl->ch_ctrl; @@ -3930,7 +3880,7 @@ get_mon_info(struct cyclades_port * info, struct cyclades_monitor __user * mon) static int set_threshold(struct cyclades_port * info, unsigned long value) { - unsigned char *base_addr; + void __iomem *base_addr; int card,channel,chip,index; unsigned long flags; @@ -3940,15 +3890,13 @@ set_threshold(struct cyclades_port * info, unsigned long value) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<cor3 &= ~CyREC_FIFO; info->cor3 |= value & CyREC_FIFO; CY_LOCK(info, flags); - cy_writeb((u_long)base_addr+(CyCOR3<cor3); + cy_writeb(base_addr+(CyCOR3<cor3); cyy_issue_cmd(base_addr,CyCOR_CHANGE|CyCOR3ch,index); CY_UNLOCK(info, flags); } else { @@ -3961,7 +3909,7 @@ set_threshold(struct cyclades_port * info, unsigned long value) static int get_threshold(struct cyclades_port * info, unsigned long __user *value) { - unsigned char *base_addr; + void __iomem *base_addr; int card,channel,chip,index; unsigned long tmp; @@ -3971,9 +3919,7 @@ get_threshold(struct cyclades_port * info, unsigned long __user *value) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<driver_data; unsigned long flags; - unsigned char *base_addr; + void __iomem *base_addr; int card,chip,channel,index; #ifdef CY_DEBUG_THROTTLE @@ -4359,16 +4301,14 @@ cy_throttle(struct tty_struct * tty) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR2<driver_data; unsigned long flags; - unsigned char *base_addr; + void __iomem *base_addr; int card,chip,channel,index; #ifdef CY_DEBUG_THROTTLE @@ -4419,16 +4359,14 @@ cy_unthrottle(struct tty_struct * tty) chip = channel>>2; channel &= 0x03; index = cy_card[card].bus_index; - base_addr = (unsigned char*) - (cy_card[card].base_addr - + (cy_chip_offset[chip]<rtsdtr_inv) { - cy_writeb((u_long)base_addr+(CyMSVR2<driver_data; - unsigned char *base_addr; + void __iomem *base_addr; int chip,channel,index; unsigned long flags; @@ -4465,14 +4403,12 @@ cy_stop(struct tty_struct *tty) index = cinfo->bus_index; chip = channel>>2; channel &= 0x03; - base_addr = (unsigned char*) - (cy_card[info->card].base_addr - + (cy_chip_offset[chip]<card].base_addr + (cy_chip_offset[chip]<driver_data; - unsigned char *base_addr; + void __iomem *base_addr; int chip,channel,index; unsigned long flags; @@ -4505,14 +4441,12 @@ cy_start(struct tty_struct *tty) if (!IS_CYC_Z(*cinfo)) { chip = channel>>2; channel &= 0x03; - base_addr = (unsigned char*) - (cy_card[info->card].base_addr - + (cy_chip_offset[chip]<card].base_addr + (cy_chip_offset[chip]<write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) - && tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); } /* cy_flush_buffer */ @@ -4600,20 +4532,19 @@ cy_hangup(struct tty_struct *tty) /* initialize chips on Cyclom-Y card -- return number of valid chips (which is number of ports/4) */ static unsigned short __init -cyy_init_card(volatile ucchar *true_base_addr,int index) +cyy_init_card(void __iomem *true_base_addr,int index) { unsigned int chip_number; - volatile ucchar* base_addr; + void __iomem *base_addr; - cy_writeb((u_long)true_base_addr+(Cy_HwReset<= CD1400_REV_J){ /* It is a CD1400 rev. J or later */ /* Impossible to reach 5ms with this chip. Changed to 2ms instead (f = 500 Hz). */ - cy_writeb((u_long)base_addr+(CyPPR<mail_box_0); if (pci_resource_flags(pdev, 2) & IORESOURCE_IO) { @@ -5037,7 +4967,7 @@ cy_detect_pci(void) } if (mailbox == ZE_V1) { - cy_pci_addr2 = (ulong)ioremap(cy_pci_phys2, CyPCI_Ze_win); + cy_pci_addr2 = ioremap(cy_pci_phys2, CyPCI_Ze_win); if (ZeIndex == NR_CARDS) { printk("Cyclades-Ze/PCI found at 0x%lx ", (ulong)cy_pci_phys2); @@ -5055,7 +4985,7 @@ cy_detect_pci(void) i--; continue; } else { - cy_pci_addr2 = (ulong)ioremap(cy_pci_phys2, CyPCI_Zwin); + cy_pci_addr2 = ioremap(cy_pci_phys2, CyPCI_Zwin); } #ifdef CY_PCI_DEBUG @@ -5082,7 +5012,7 @@ cy_detect_pci(void) */ PAUSE if ((mailbox == ZO_V1) || (mailbox == ZO_V2)) - cy_writel((ulong)(cy_pci_addr2+ID_ADDRESS), 0L); + cy_writel(cy_pci_addr2 + ID_ADDRESS, 0L); /* This must be a Cyclades-8Zo/PCI. The extendable version will have a different device_id and will @@ -5172,7 +5102,7 @@ cy_detect_pci(void) Ze_pdev[j] = Ze_pdev[j+1]; } ZeIndex--; - mailbox = (uclong)cy_readl(&((struct RUNTIME_9060 *) + mailbox = (uclong)cy_readl(&((struct RUNTIME_9060 __iomem *) cy_pci_addr0)->mail_box_0); #ifdef CY_PCI_DEBUG printk("Cyclades-Z/PCI: relocate winaddr=0x%lx ctladdr=0x%lx\n", @@ -5413,7 +5343,7 @@ cy_init(void) for (i = 0; i < NR_CARDS; i++) { /* base_addr=0 indicates board not found */ - cy_card[i].base_addr = 0; + cy_card[i].base_addr = NULL; } /* the code below is responsible to find the boards. Each different @@ -5435,7 +5365,7 @@ cy_init(void) for (i = 0 ; i < NR_CARDS ; i++) { if (cy_card[i].base_addr == 0) { cy_card[i].first_line = -1; - cy_card[i].ctl_addr = 0; + cy_card[i].ctl_addr = NULL; cy_card[i].irq = 0; cy_card[i].bus_index = 0; cy_card[i].first_line = 0; @@ -5453,7 +5383,7 @@ cy_init(void) cinfo = &cy_card[board]; if (cinfo->num_chips == -1) { /* Cyclades-Z */ number_z_boards++; - mailbox = cy_readl(&((struct RUNTIME_9060 *) + mailbox = cy_readl(&((struct RUNTIME_9060 __iomem *) cy_card[board].ctl_addr)->mail_box_0); nports = (mailbox == ZE_V1) ? ZE_V1_NPORTS : 8; cinfo->intr_enabled = 0; @@ -5623,10 +5553,10 @@ cy_cleanup_module(void) put_tty_driver(cy_serial_driver); for (i = 0; i < NR_CARDS; i++) { - if (cy_card[i].base_addr != 0) { - iounmap((void *)cy_card[i].base_addr); - if (cy_card[i].ctl_addr != 0) - iounmap((void *)cy_card[i].ctl_addr); + if (cy_card[i].base_addr) { + iounmap(cy_card[i].base_addr); + if (cy_card[i].ctl_addr) + iounmap(cy_card[i].ctl_addr); if (cy_card[i].irq #ifndef CONFIG_CYZ_INTR && cy_card[i].num_chips != -1 /* not a Z card */ diff --git a/drivers/char/drm/Kconfig b/drivers/char/drm/Kconfig index 13797ca0c..15b1d125a 100644 --- a/drivers/char/drm/Kconfig +++ b/drivers/char/drm/Kconfig @@ -24,14 +24,14 @@ config DRM_TDFX config DRM_GAMMA tristate "3dlabs GMX 2000" - depends on DRM + depends on DRM && BROKEN help This is the old gamma driver, please tell me if it might actually work. config DRM_R128 tristate "ATI Rage 128" - depends on DRM + depends on DRM && PCI help Choose this option if you have an ATI Rage 128 graphics card. If M is selected, the module will be called r128. AGP support for @@ -39,7 +39,7 @@ config DRM_R128 config DRM_RADEON tristate "ATI Radeon" - depends on DRM + depends on DRM && PCI help Choose this option if you have an ATI Radeon graphics card. There are both PCI and AGP versions. You don't need to choose this to @@ -55,18 +55,33 @@ config DRM_I810 selected, the module will be called i810. AGP support is required for this driver to work. -config DRM_I830 - tristate "Intel 830M, 845G, 852GM, 855GM, 865G" +choice + prompt "Intel 830M, 845G, 852GM, 855GM, 865G" depends on DRM && AGP && AGP_INTEL + optional + +config DRM_I830 + tristate "i830 driver" help Choose this option if you have a system that has Intel 830M, 845G, 852GM, 855GM or 865G integrated graphics. If M is selected, the module will be called i830. AGP support is required for this driver - to work. + to work. This driver will eventually be replaced by the i915 one. + +config DRM_I915 + tristate "i915 driver" + help + Choose this option if you have a system that has Intel 830M, 845G, + 852GM, 855GM 865G or 915G integrated graphics. If M is selected, the + module will be called i915. AGP support is required for this driver + to work. This driver will eventually replace the I830 driver, when + later release of X start to use the new DDX and DRI. + +endchoice config DRM_MGA tristate "Matrox g200/g400" - depends on DRM && AGP && (!X86_64 || BROKEN) + depends on DRM && AGP help Choose this option if you have a Matrox G200, G400 or G450 graphics card. If M is selected, the module will be called mga. AGP diff --git a/drivers/char/drm/drmP.h b/drivers/char/drm/drmP.h index 88886cbf9..65351d518 100644 --- a/drivers/char/drm/drmP.h +++ b/drivers/char/drm/drmP.h @@ -73,42 +73,26 @@ #include #include "drm.h" -#include "drm_os_linux.h" +#define __OS_HAS_AGP (defined(CONFIG_AGP) || (defined(CONFIG_AGP_MODULE) && defined(MODULE))) +#define __OS_HAS_MTRR (defined(CONFIG_MTRR)) +#include "drm_os_linux.h" /***********************************************************************/ /** \name DRM template customization defaults */ /*@{*/ -#ifndef __HAVE_AGP -#define __HAVE_AGP 0 -#endif -#ifndef __HAVE_MTRR -#define __HAVE_MTRR 0 -#endif -#ifndef __HAVE_CTX_BITMAP -#define __HAVE_CTX_BITMAP 0 -#endif -#ifndef __HAVE_DMA -#define __HAVE_DMA 0 -#endif -#ifndef __HAVE_IRQ -#define __HAVE_IRQ 0 -#endif -#ifndef __HAVE_DMA_WAITLIST -#define __HAVE_DMA_WAITLIST 0 -#endif -#ifndef __HAVE_DMA_FREELIST -#define __HAVE_DMA_FREELIST 0 -#endif - -#define __REALLY_HAVE_AGP (__HAVE_AGP && (defined(CONFIG_AGP) || \ - defined(CONFIG_AGP_MODULE))) -#define __REALLY_HAVE_MTRR (__HAVE_MTRR && defined(CONFIG_MTRR)) -#define __REALLY_HAVE_SG (__HAVE_SG) - -/*@}*/ - +/* driver capabilities and requirements mask */ +#define DRIVER_USE_AGP 0x1 +#define DRIVER_REQUIRE_AGP 0x2 +#define DRIVER_USE_MTRR 0x4 +#define DRIVER_PCI_DMA 0x8 +#define DRIVER_SG 0x10 +#define DRIVER_HAVE_DMA 0x20 +#define DRIVER_HAVE_IRQ 0x40 +#define DRIVER_IRQ_SHARED 0x80 +#define DRIVER_IRQ_VBL 0x100 +#define DRIVER_DMA_QUEUE 0x200 /***********************************************************************/ /** \name Begin the DRM... */ @@ -265,54 +249,6 @@ static inline struct page * vmalloc_to_page(void * vmalloc_addr) /*@}*/ -/***********************************************************************/ -/** \name Mapping helper macros */ -/*@{*/ - -#define DRM_IOREMAP(map, dev) \ - (map)->handle = DRM(ioremap)( (map)->offset, (map)->size, (dev) ) - -#define DRM_IOREMAP_NOCACHE(map, dev) \ - (map)->handle = DRM(ioremap_nocache)((map)->offset, (map)->size, (dev)) - -#define DRM_IOREMAPFREE(map, dev) \ - do { \ - if ( (map)->handle && (map)->size ) \ - DRM(ioremapfree)( (map)->handle, (map)->size, (dev) ); \ - } while (0) - -/** - * Find mapping. - * - * \param _map matching mapping if found, untouched otherwise. - * \param _o offset. - * - * Expects the existence of a local variable named \p dev pointing to the - * drm_device structure. - */ -#define DRM_FIND_MAP(_map, _o) \ -do { \ - struct list_head *_list; \ - list_for_each( _list, &dev->maplist->head ) { \ - drm_map_list_t *_entry = list_entry( _list, drm_map_list_t, head ); \ - if ( _entry->map && \ - _entry->map->offset == (_o) ) { \ - (_map) = _entry->map; \ - break; \ - } \ - } \ -} while(0) - -/** - * Drop mapping. - * - * \sa #DRM_FIND_MAP. - */ -#define DRM_DROP_MAP(_map) - -/*@}*/ - - /***********************************************************************/ /** \name Internal types and structures */ /*@{*/ @@ -473,9 +409,7 @@ typedef struct drm_file { struct drm_device *dev; int remove_auth_on_close; unsigned long lock_count; -#ifdef DRIVER_FILE_FIELDS - DRIVER_FILE_FIELDS; -#endif + void *driver_priv; } drm_file_t; /** Wait queue */ @@ -524,16 +458,8 @@ typedef struct drm_device_dma { _DRM_DMA_USE_SG = 0x02 } flags; - /** \name DMA support */ - /*@{*/ - drm_buf_t *this_buffer; /**< Buffer being sent */ - drm_buf_t *next_buffer; /**< Selected buffer to send */ - drm_queue_t *next_queue; /**< Queue from which buffer selected*/ - wait_queue_head_t waiting; /**< Processes waiting on free bufs */ - /*@}*/ } drm_device_dma_t; -#if __REALLY_HAVE_AGP /** * AGP memory entry. Stored as a doubly linked list. */ @@ -562,7 +488,6 @@ typedef struct drm_agp_head { int cant_use_aperture; unsigned long page_mask; } drm_agp_head_t; -#endif /** * Scatter-gather memory. @@ -599,7 +524,6 @@ typedef struct drm_ctx_list { drm_file_t *tag; /**< associated fd private data */ } drm_ctx_list_t; -#ifdef __HAVE_VBL_IRQ typedef struct drm_vbl_sig { struct list_head head; @@ -608,8 +532,40 @@ typedef struct drm_vbl_sig { struct task_struct *task; } drm_vbl_sig_t; -#endif +/** + * DRM device functions structure + */ +struct drm_device; + +struct drm_driver_fn { + int (*preinit)(struct drm_device *); + int (*postinit)(struct drm_device *); + void (*prerelease)(struct drm_device *, struct file *filp); + void (*pretakedown)(struct drm_device *); + int (*postcleanup)(struct drm_device *); + int (*presetup)(struct drm_device *); + int (*postsetup)(struct drm_device *); + int (*open_helper)(struct drm_device *, drm_file_t *); + void (*free_filp_priv)(struct drm_device *, drm_file_t *); + void (*release)(struct drm_device *, struct file *filp); + void (*dma_ready)(struct drm_device *); + int (*dma_quiescent)(struct drm_device *); + int (*context_ctor)(struct drm_device *dev, int context); + int (*context_dtor)(struct drm_device *dev, int context); + int (*kernel_context_switch)(struct drm_device *dev, int old, int new); + void (*kernel_context_switch_unlock)(struct drm_device *dev, drm_lock_t *lock); + int (*vblank_wait)(struct drm_device *dev, unsigned int *sequence); + /* these have to be filled in */ + irqreturn_t (*irq_handler)( DRM_IRQ_ARGS ); + void (*irq_preinstall)(struct drm_device *dev); + void (*irq_postinstall)(struct drm_device *dev); + void (*irq_uninstall)(struct drm_device *dev); + void (*reclaim_buffers)(struct file *filp); + unsigned long (*get_map_ofs)(drm_map_t *map); + unsigned long (*get_reg_ofs)(struct drm_device *dev); + void (*set_version)(struct drm_device *dev, drm_set_version_t *sv); +}; /** * DRM device structure. */ @@ -698,13 +654,13 @@ typedef struct drm_device { struct work_struct work; /** \name VBLANK IRQ support */ /*@{*/ -#ifdef __HAVE_VBL_IRQ + wait_queue_head_t vbl_queue; /**< VBLANK wait queue */ atomic_t vbl_received; spinlock_t vbl_lock; drm_vbl_sig_t vbl_sigs; /**< signal list to send on VBLANK */ unsigned int vbl_pending; -#endif + /*@}*/ cycles_t ctx_start; cycles_t lck_start; @@ -717,9 +673,7 @@ typedef struct drm_device { wait_queue_head_t buf_readers; /**< Processes waiting to read */ wait_queue_head_t buf_writers; /**< Processes waiting to ctx switch */ -#if __REALLY_HAVE_AGP drm_agp_head_t *agp; /**< AGP data */ -#endif struct pci_dev *pdev; /**< PCI device structure */ int pci_domain; /**< PCI bus domain number */ @@ -738,8 +692,37 @@ typedef struct drm_device { void *dev_private; /**< device private data */ drm_sigdata_t sigdata; /**< For block_all_signals */ sigset_t sigmask; + + struct drm_driver_fn fn_tbl; + drm_local_map_t *agp_buffer_map; + int dev_priv_size; + u32 driver_features; } drm_device_t; +static __inline__ int drm_core_check_feature(struct drm_device *dev, int feature) +{ + return ((dev->driver_features & feature) ? 1 : 0); +} + +#if __OS_HAS_AGP +static inline int drm_core_has_AGP(struct drm_device *dev) +{ + return drm_core_check_feature(dev, DRIVER_USE_AGP); +} +#else +#define drm_core_has_AGP(dev) (0) +#endif + +#if __OS_HAS_MTRR +static inline int drm_core_has_MTRR(struct drm_device *dev) +{ + return drm_core_check_feature(dev, DRIVER_USE_MTRR); +} +#else +#define drm_core_has_MTRR(dev) (0) +#endif + +extern void DRM(driver_register_fns)(struct drm_device *dev); /******************************************************************/ /** \name Internal function definitions */ @@ -795,12 +778,10 @@ extern void *DRM(ioremap_nocache)(unsigned long offset, unsigned long size, drm_device_t *dev); extern void DRM(ioremapfree)(void *pt, unsigned long size, drm_device_t *dev); -#if __REALLY_HAVE_AGP extern DRM_AGP_MEM *DRM(alloc_agp)(int pages, u32 type); extern int DRM(free_agp)(DRM_AGP_MEM *handle, int pages); extern int DRM(bind_agp)(DRM_AGP_MEM *handle, unsigned int start); extern int DRM(unbind_agp)(DRM_AGP_MEM *handle); -#endif /* Misc. IOCTL support (drm_ioctl.h) */ extern int DRM(irq_by_busid)(struct inode *inode, struct file *filp, @@ -837,10 +818,8 @@ extern int DRM(rmctx)( struct inode *inode, struct file *filp, extern int DRM(context_switch)(drm_device_t *dev, int old, int new); extern int DRM(context_switch_complete)(drm_device_t *dev, int new); -#if __HAVE_CTX_BITMAP extern int DRM(ctxbitmap_init)( drm_device_t *dev ); extern void DRM(ctxbitmap_cleanup)( drm_device_t *dev ); -#endif extern int DRM(setsareactx)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ); @@ -884,7 +863,6 @@ extern int DRM(addmap)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ); extern int DRM(rmmap)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ); -#if __HAVE_DMA extern int DRM(addbufs)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ); extern int DRM(infobufs)( struct inode *inode, struct file *filp, @@ -901,33 +879,22 @@ extern int DRM(dma_setup)(drm_device_t *dev); extern void DRM(dma_takedown)(drm_device_t *dev); extern void DRM(free_buffer)(drm_device_t *dev, drm_buf_t *buf); extern void DRM(reclaim_buffers)( struct file *filp ); -#endif /* __HAVE_DMA */ /* IRQ support (drm_irq.h) */ -#if __HAVE_IRQ || __HAVE_DMA extern int DRM(control)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ); -#endif -#if __HAVE_IRQ extern int DRM(irq_install)( drm_device_t *dev ); extern int DRM(irq_uninstall)( drm_device_t *dev ); extern irqreturn_t DRM(irq_handler)( DRM_IRQ_ARGS ); extern void DRM(driver_irq_preinstall)( drm_device_t *dev ); extern void DRM(driver_irq_postinstall)( drm_device_t *dev ); extern void DRM(driver_irq_uninstall)( drm_device_t *dev ); -#ifdef __HAVE_VBL_IRQ + extern int DRM(wait_vblank)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); extern int DRM(vblank_wait)(drm_device_t *dev, unsigned int *vbl_seq); extern void DRM(vbl_send_signals)( drm_device_t *dev ); -#endif -#ifdef __HAVE_IRQ_BH -extern void DRM(irq_immediate_bh)( void *dev ); -#endif -#endif - -#if __REALLY_HAVE_AGP /* AGP/GART support (drm_agpsupport.h) */ extern drm_agp_head_t *DRM(agp_init)(void); extern void DRM(agp_uninit)(void); @@ -952,7 +919,6 @@ extern DRM_AGP_MEM *DRM(agp_allocate_memory)(size_t pages, u32 type); extern int DRM(agp_free_memory)(DRM_AGP_MEM *handle); extern int DRM(agp_bind_memory)(DRM_AGP_MEM *handle, off_t start); extern int DRM(agp_unbind_memory)(DRM_AGP_MEM *handle); -#endif /* Stub support (drm_stub.h) */ int DRM(stub_register)(const char *name, @@ -969,14 +935,12 @@ extern int DRM(proc_cleanup)(int minor, struct proc_dir_entry *root, struct proc_dir_entry *dev_root); -#ifdef __HAVE_SG /* Scatter Gather Support (drm_scatter.h) */ extern void DRM(sg_cleanup)(drm_sg_mem_t *entry); extern int DRM(sg_alloc)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); extern int DRM(sg_free)(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg); -#endif /* ATI PCIGART support (ati_pcigart.h) */ extern int DRM(ati_pcigart_init)(drm_device_t *dev, @@ -986,7 +950,44 @@ extern int DRM(ati_pcigart_cleanup)(drm_device_t *dev, unsigned long addr, dma_addr_t bus_addr); + +/* Inline replacements for DRM_IOREMAP macros */ +static __inline__ void drm_core_ioremap(struct drm_map *map, struct drm_device *dev) +{ + map->handle = DRM(ioremap)( map->offset, map->size, dev ); +} + +static __inline__ void drm_core_ioremap_nocache(struct drm_map *map, struct drm_device *dev) +{ + map->handle = DRM(ioremap_nocache)(map->offset, map->size, dev); +} + +static __inline__ void drm_core_ioremapfree(struct drm_map *map, struct drm_device *dev) +{ + if ( map->handle && map->size ) + DRM(ioremapfree)( map->handle, map->size, dev ); +} + +static __inline__ struct drm_map *drm_core_findmap(struct drm_device *dev, unsigned long offset) +{ + struct list_head *_list; + list_for_each( _list, &dev->maplist->head ) { + drm_map_list_t *_entry = list_entry( _list, drm_map_list_t, head ); + if ( _entry->map && + _entry->map->offset == offset ) { + return _entry->map; + } + } + return NULL; +} + +static __inline__ void drm_core_dropmap(struct drm_map *map) +{ +} /*@}*/ +extern unsigned long DRM(core_get_map_ofs)(drm_map_t *map); +extern unsigned long DRM(core_get_reg_ofs)(struct drm_device *dev); + #endif /* __KERNEL__ */ #endif diff --git a/drivers/char/drm/drm_agpsupport.h b/drivers/char/drm/drm_agpsupport.h index 491c3051c..81b595e0e 100644 --- a/drivers/char/drm/drm_agpsupport.h +++ b/drivers/char/drm/drm_agpsupport.h @@ -34,8 +34,7 @@ #include "drmP.h" #include -#if __REALLY_HAVE_AGP - +#if __OS_HAS_AGP #define DRM_AGP_GET (drm_agp_t *)inter_module_get("drm_agp") #define DRM_AGP_PUT inter_module_put("drm_agp") @@ -466,4 +465,4 @@ int DRM(agp_unbind_memory)(DRM_AGP_MEM *handle) return drm_agp->unbind_memory(handle); } -#endif /* __REALLY_HAVE_AGP */ +#endif /* __OS_HAS_AGP */ diff --git a/drivers/char/drm/drm_bufs.h b/drivers/char/drm/drm_bufs.h index 6fa862372..19695693f 100644 --- a/drivers/char/drm/drm_bufs.h +++ b/drivers/char/drm/drm_bufs.h @@ -36,26 +36,6 @@ #include #include "drmP.h" -#ifndef __HAVE_PCI_DMA -#define __HAVE_PCI_DMA 0 -#endif - -#ifndef __HAVE_SG -#define __HAVE_SG 0 -#endif - -#ifndef DRIVER_BUF_PRIV_T -#define DRIVER_BUF_PRIV_T u32 -#endif -#ifndef DRIVER_AGP_BUFFERS_MAP -#if __HAVE_AGP && __HAVE_DMA -#error "You must define DRIVER_AGP_BUFFERS_MAP()" -#else -#define DRIVER_AGP_BUFFERS_MAP( dev ) NULL -#endif -#endif - - /** * Compute size order. Returns the exponent of the smaller power of two which * is greater or equal to given number. @@ -142,13 +122,13 @@ int DRM(addmap)( struct inode *inode, struct file *filp, #ifdef __alpha__ map->offset += dev->hose->mem_space->start; #endif -#if __REALLY_HAVE_MTRR - if ( map->type == _DRM_FRAME_BUFFER || - (map->flags & _DRM_WRITE_COMBINING) ) { - map->mtrr = mtrr_add( map->offset, map->size, - MTRR_TYPE_WRCOMB, 1 ); + if (drm_core_has_MTRR(dev)) { + if ( map->type == _DRM_FRAME_BUFFER || + (map->flags & _DRM_WRITE_COMBINING) ) { + map->mtrr = mtrr_add( map->offset, map->size, + MTRR_TYPE_WRCOMB, 1 ); + } } -#endif if (map->type == _DRM_REGISTERS) map->handle = DRM(ioremap)( map->offset, map->size, dev ); @@ -174,15 +154,15 @@ int DRM(addmap)( struct inode *inode, struct file *filp, dev->lock.hw_lock = map->handle; /* Pointer to lock */ } break; -#if __REALLY_HAVE_AGP case _DRM_AGP: + if (drm_core_has_AGP(dev)) { #ifdef __alpha__ - map->offset += dev->hose->mem_space->start; + map->offset += dev->hose->mem_space->start; #endif - map->offset += dev->agp->base; - map->mtrr = dev->agp->agp_mtrr; /* for getmap */ + map->offset += dev->agp->base; + map->mtrr = dev->agp->agp_mtrr; /* for getmap */ + } break; -#endif case _DRM_SCATTER_GATHER: if (!dev->sg) { DRM(free)(map, sizeof(*map), DRM_MEM_MAPS); @@ -282,15 +262,15 @@ int DRM(rmmap)(struct inode *inode, struct file *filp, switch (map->type) { case _DRM_REGISTERS: case _DRM_FRAME_BUFFER: -#if __REALLY_HAVE_MTRR - if (map->mtrr >= 0) { - int retcode; - retcode = mtrr_del(map->mtrr, - map->offset, - map->size); - DRM_DEBUG("mtrr_del = %d\n", retcode); + if (drm_core_has_MTRR(dev)) { + if (map->mtrr >= 0) { + int retcode; + retcode = mtrr_del(map->mtrr, + map->offset, + map->size); + DRM_DEBUG("mtrr_del = %d\n", retcode); + } } -#endif DRM(ioremapfree)(map->handle, map->size, dev); break; case _DRM_SHM: @@ -306,8 +286,6 @@ int DRM(rmmap)(struct inode *inode, struct file *filp, return 0; } -#if __HAVE_DMA - /** * Cleanup after an error on one of the addbufs() functions. * @@ -348,15 +326,11 @@ static void DRM(cleanup_buf_error)(drm_buf_entry_t *entry) sizeof(*entry->buflist), DRM_MEM_BUFS); -#if __HAVE_DMA_FREELIST - DRM(freelist_destroy)(&entry->freelist); -#endif - entry->buf_count = 0; } } -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP /** * Add AGP buffers for DMA transfers (ioctl). * @@ -473,8 +447,8 @@ int DRM(addbufs_agp)( struct inode *inode, struct file *filp, init_waitqueue_head( &buf->dma_wait ); buf->filp = NULL; - buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T); - buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T), + buf->dev_priv_size = dev->dev_priv_size; + buf->dev_private = DRM(alloc)( buf->dev_priv_size, DRM_MEM_BUFS ); if(!buf->dev_private) { /* Set count correctly so we free the proper amount. */ @@ -520,12 +494,6 @@ int DRM(addbufs_agp)( struct inode *inode, struct file *filp, DRM_DEBUG( "dma->buf_count : %d\n", dma->buf_count ); DRM_DEBUG( "entry->buf_count : %d\n", entry->buf_count ); -#if __HAVE_DMA_FREELIST - DRM(freelist_create)( &entry->freelist, entry->buf_count ); - for ( i = 0 ; i < entry->buf_count ; i++ ) { - DRM(freelist_put)( dev, &entry->freelist, &entry->buflist[i] ); - } -#endif up( &dev->struct_sem ); request.count = entry->buf_count; @@ -539,9 +507,8 @@ int DRM(addbufs_agp)( struct inode *inode, struct file *filp, atomic_dec( &dev->buf_alloc ); return 0; } -#endif /* __REALLY_HAVE_AGP */ +#endif /* __OS_HAS_AGP */ -#if __HAVE_PCI_DMA int DRM(addbufs_pci)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ) { @@ -566,6 +533,7 @@ int DRM(addbufs_pci)( struct inode *inode, struct file *filp, drm_buf_t **temp_buflist; drm_buf_desc_t __user *argp = (void __user *)arg; + if (!drm_core_check_feature(dev, DRIVER_PCI_DMA)) return -EINVAL; if ( !dma ) return -EINVAL; if ( copy_from_user( &request, argp, sizeof(request) ) ) @@ -697,8 +665,8 @@ int DRM(addbufs_pci)( struct inode *inode, struct file *filp, init_waitqueue_head( &buf->dma_wait ); buf->filp = NULL; - buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T); - buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T), + buf->dev_priv_size = dev->dev_priv_size; + buf->dev_private = DRM(alloc)( dev->dev_priv_size, DRM_MEM_BUFS ); if(!buf->dev_private) { /* Set count correctly so we free the proper amount. */ @@ -758,12 +726,6 @@ int DRM(addbufs_pci)( struct inode *inode, struct file *filp, dma->page_count += entry->seg_count << page_order; dma->byte_count += PAGE_SIZE * (entry->seg_count << page_order); -#if __HAVE_DMA_FREELIST - DRM(freelist_create)( &entry->freelist, entry->buf_count ); - for ( i = 0 ; i < entry->buf_count ; i++ ) { - DRM(freelist_put)( dev, &entry->freelist, &entry->buflist[i] ); - } -#endif up( &dev->struct_sem ); request.count = entry->buf_count; @@ -776,9 +738,7 @@ int DRM(addbufs_pci)( struct inode *inode, struct file *filp, return 0; } -#endif /* __HAVE_PCI_DMA */ -#if __HAVE_SG int DRM(addbufs_sg)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ) { @@ -801,6 +761,8 @@ int DRM(addbufs_sg)( struct inode *inode, struct file *filp, int i; drm_buf_t **temp_buflist; + if (!drm_core_check_feature(dev, DRIVER_SG)) return -EINVAL; + if ( !dma ) return -EINVAL; if ( copy_from_user( &request, argp, sizeof(request) ) ) @@ -881,8 +843,8 @@ int DRM(addbufs_sg)( struct inode *inode, struct file *filp, init_waitqueue_head( &buf->dma_wait ); buf->filp = NULL; - buf->dev_priv_size = sizeof(DRIVER_BUF_PRIV_T); - buf->dev_private = DRM(alloc)( sizeof(DRIVER_BUF_PRIV_T), + buf->dev_priv_size = dev->dev_priv_size; + buf->dev_private = DRM(alloc)( dev->dev_priv_size, DRM_MEM_BUFS ); if(!buf->dev_private) { /* Set count correctly so we free the proper amount. */ @@ -929,12 +891,6 @@ int DRM(addbufs_sg)( struct inode *inode, struct file *filp, DRM_DEBUG( "dma->buf_count : %d\n", dma->buf_count ); DRM_DEBUG( "entry->buf_count : %d\n", entry->buf_count ); -#if __HAVE_DMA_FREELIST - DRM(freelist_create)( &entry->freelist, entry->buf_count ); - for ( i = 0 ; i < entry->buf_count ; i++ ) { - DRM(freelist_put)( dev, &entry->freelist, &entry->buflist[i] ); - } -#endif up( &dev->struct_sem ); request.count = entry->buf_count; @@ -948,7 +904,6 @@ int DRM(addbufs_sg)( struct inode *inode, struct file *filp, atomic_dec( &dev->buf_alloc ); return 0; } -#endif /* __HAVE_SG */ /** * Add buffers for DMA transfers (ioctl). @@ -968,26 +923,25 @@ int DRM(addbufs)( struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg ) { drm_buf_desc_t request; + drm_file_t *priv = filp->private_data; + drm_device_t *dev = priv->dev; + + if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + return -EINVAL; if ( copy_from_user( &request, (drm_buf_desc_t __user *)arg, sizeof(request) ) ) return -EFAULT; -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( request.flags & _DRM_AGP_BUFFER ) return DRM(addbufs_agp)( inode, filp, cmd, arg ); else #endif -#if __HAVE_SG if ( request.flags & _DRM_SG_BUFFER ) return DRM(addbufs_sg)( inode, filp, cmd, arg ); else -#endif -#if __HAVE_PCI_DMA return DRM(addbufs_pci)( inode, filp, cmd, arg ); -#else - return -EINVAL; -#endif } @@ -1019,6 +973,9 @@ int DRM(infobufs)( struct inode *inode, struct file *filp, int i; int count; + if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + return -EINVAL; + if ( !dma ) return -EINVAL; spin_lock( &dev->count_lock ); @@ -1100,6 +1057,9 @@ int DRM(markbufs)( struct inode *inode, struct file *filp, int order; drm_buf_entry_t *entry; + if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + return -EINVAL; + if ( !dma ) return -EINVAL; if ( copy_from_user( &request, @@ -1147,6 +1107,9 @@ int DRM(freebufs)( struct inode *inode, struct file *filp, int idx; drm_buf_t *buf; + if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + return -EINVAL; + if ( !dma ) return -EINVAL; if ( copy_from_user( &request, @@ -1204,6 +1167,9 @@ int DRM(mapbufs)( struct inode *inode, struct file *filp, drm_buf_map_t request; int i; + if (!drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + return -EINVAL; + if ( !dma ) return -EINVAL; spin_lock( &dev->count_lock ); @@ -1218,9 +1184,9 @@ int DRM(mapbufs)( struct inode *inode, struct file *filp, return -EFAULT; if ( request.count >= dma->buf_count ) { - if ( (__HAVE_AGP && (dma->flags & _DRM_DMA_USE_AGP)) || - (__HAVE_SG && (dma->flags & _DRM_DMA_USE_SG)) ) { - drm_map_t *map = DRIVER_AGP_BUFFERS_MAP( dev ); + if ((drm_core_has_AGP(dev) && (dma->flags & _DRM_DMA_USE_AGP)) || + (drm_core_check_feature(dev, DRIVER_SG) && (dma->flags & _DRM_DMA_USE_SG)) ) { + drm_map_t *map = dev->agp_buffer_map; if ( !map ) { retcode = -EINVAL; @@ -1301,4 +1267,3 @@ int DRM(mapbufs)( struct inode *inode, struct file *filp, return retcode; } -#endif /* __HAVE_DMA */ diff --git a/drivers/char/drm/drm_context.h b/drivers/char/drm/drm_context.h index d8000cfbf..b99c99475 100644 --- a/drivers/char/drm/drm_context.h +++ b/drivers/char/drm/drm_context.h @@ -42,11 +42,6 @@ #include "drmP.h" -#if !__HAVE_CTX_BITMAP -#error "__HAVE_CTX_BITMAP must be defined" -#endif - - /******************************************************************/ /** \name Context bitmap support */ /*@{*/ @@ -419,10 +414,13 @@ int DRM(addctx)( struct inode *inode, struct file *filp, /* Should this return -EBUSY instead? */ return -ENOMEM; } -#ifdef DRIVER_CTX_CTOR + if ( ctx.handle != DRM_KERNEL_CONTEXT ) - DRIVER_CTX_CTOR(ctx.handle); /* XXX: also pass dev ? */ -#endif + { + if (dev->fn_tbl.context_ctor) + dev->fn_tbl.context_ctor(dev, ctx.handle); + } + ctx_entry = DRM(alloc)( sizeof(*ctx_entry), DRM_MEM_CTXLIST ); if ( !ctx_entry ) { DRM_DEBUG("out of memory\n"); @@ -554,9 +552,8 @@ int DRM(rmctx)( struct inode *inode, struct file *filp, priv->remove_auth_on_close = 1; } if ( ctx.handle != DRM_KERNEL_CONTEXT ) { -#ifdef DRIVER_CTX_DTOR - DRIVER_CTX_DTOR(ctx.handle); /* XXX: also pass dev ? */ -#endif + if (dev->fn_tbl.context_dtor) + dev->fn_tbl.context_dtor(dev, ctx.handle); DRM(ctxbitmap_free)( dev, ctx.handle ); } @@ -578,3 +575,4 @@ int DRM(rmctx)( struct inode *inode, struct file *filp, } /*@}*/ + diff --git a/drivers/char/drm/drm_dma.h b/drivers/char/drm/drm_dma.h index 72122754d..5cbdc9315 100644 --- a/drivers/char/drm/drm_dma.h +++ b/drivers/char/drm/drm_dma.h @@ -35,16 +35,6 @@ #include "drmP.h" - -#ifndef __HAVE_DMA_WAITQUEUE -#define __HAVE_DMA_WAITQUEUE 0 -#endif -#ifndef __HAVE_DMA_RECLAIM -#define __HAVE_DMA_RECLAIM 0 -#endif - -#if __HAVE_DMA - /** * Initialize the DMA data. * @@ -116,9 +106,6 @@ void DRM(dma_takedown)(drm_device_t *dev) dma->bufs[i].buf_count * sizeof(*dma->bufs[0].buflist), DRM_MEM_BUFS); -#if __HAVE_DMA_FREELIST - DRM(freelist_destroy)(&dma->bufs[i].freelist); -#endif } } @@ -155,22 +142,11 @@ void DRM(free_buffer)(drm_device_t *dev, drm_buf_t *buf) buf->filp = NULL; buf->used = 0; - if ( __HAVE_DMA_WAITQUEUE && waitqueue_active(&buf->dma_wait)) { + if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE) && waitqueue_active(&buf->dma_wait)) { wake_up_interruptible(&buf->dma_wait); } -#if __HAVE_DMA_FREELIST - else { - drm_device_dma_t *dma = dev->dma; - /* If processes are waiting, the last one - to wake will put the buffer on the free - list. If no processes are waiting, we - put the buffer on the freelist here. */ - DRM(freelist_put)(dev, &dma->bufs[buf->order].freelist, buf); - } -#endif } -#if !__HAVE_DMA_RECLAIM /** * Reclaim the buffers. * @@ -178,7 +154,7 @@ void DRM(free_buffer)(drm_device_t *dev, drm_buf_t *buf) * * Frees each buffer associated with \p filp not already on the hardware. */ -void DRM(reclaim_buffers)( struct file *filp ) +void DRM(core_reclaim_buffers)( struct file *filp ) { drm_file_t *priv = filp->private_data; drm_device_t *dev = priv->dev; @@ -202,29 +178,4 @@ void DRM(reclaim_buffers)( struct file *filp ) } } } -#endif - -#if !__HAVE_IRQ -/* This stub DRM_IOCTL_CONTROL handler is for the drivers that used to require - * IRQs for DMA but no longer do. It maintains compatibility with the X Servers - * that try to use the control ioctl by simply returning success. - */ -int DRM(control)( struct inode *inode, struct file *filp, - unsigned int cmd, unsigned long arg ) -{ - drm_control_t ctl; - - if ( copy_from_user( &ctl, (drm_control_t __user *)arg, sizeof(ctl) ) ) - return -EFAULT; - - switch ( ctl.func ) { - case DRM_INST_HANDLER: - case DRM_UNINST_HANDLER: - return 0; - default: - return -EINVAL; - } -} -#endif -#endif /* __HAVE_DMA */ diff --git a/drivers/char/drm/drm_drv.h b/drivers/char/drm/drm_drv.h index 389fc7ef2..ebba185a7 100644 --- a/drivers/char/drm/drm_drv.h +++ b/drivers/char/drm/drm_drv.h @@ -52,97 +52,9 @@ * OTHER DEALINGS IN THE SOFTWARE. */ -#ifndef __MUST_HAVE_AGP -#define __MUST_HAVE_AGP 0 -#endif -#ifndef __HAVE_CTX_BITMAP -#define __HAVE_CTX_BITMAP 0 -#endif -#ifndef __HAVE_IRQ -#define __HAVE_IRQ 0 -#endif -#ifndef __HAVE_DMA_QUEUE -#define __HAVE_DMA_QUEUE 0 -#endif -#ifndef __HAVE_MULTIPLE_DMA_QUEUES -#define __HAVE_MULTIPLE_DMA_QUEUES 0 -#endif -#ifndef __HAVE_DMA_SCHEDULE -#define __HAVE_DMA_SCHEDULE 0 -#endif -#ifndef __HAVE_DMA_FLUSH -#define __HAVE_DMA_FLUSH 0 -#endif -#ifndef __HAVE_DMA_READY -#define __HAVE_DMA_READY 0 -#endif -#ifndef __HAVE_DMA_QUIESCENT -#define __HAVE_DMA_QUIESCENT 0 -#endif -#ifndef __HAVE_RELEASE -#define __HAVE_RELEASE 0 -#endif -#ifndef __HAVE_COUNTERS -#define __HAVE_COUNTERS 0 -#endif -#ifndef __HAVE_SG -#define __HAVE_SG 0 -#endif -/* __HAVE_KERNEL_CTX_SWITCH isn't used by any of the drm modules in - * the DRI cvs tree, but it is required by the kernel tree's sparc - * driver. - */ -#ifndef __HAVE_KERNEL_CTX_SWITCH -#define __HAVE_KERNEL_CTX_SWITCH 0 -#endif -#ifndef __HAVE_DRIVER_FOPS_READ -#define __HAVE_DRIVER_FOPS_READ 0 -#endif -#ifndef __HAVE_DRIVER_FOPS_POLL -#define __HAVE_DRIVER_FOPS_POLL 0 -#endif - -#ifndef DRIVER_PREINIT -#define DRIVER_PREINIT() -#endif -#ifndef DRIVER_POSTINIT -#define DRIVER_POSTINIT() -#endif -#ifndef DRIVER_PRERELEASE -#define DRIVER_PRERELEASE() -#endif -#ifndef DRIVER_PRETAKEDOWN -#define DRIVER_PRETAKEDOWN() -#endif -#ifndef DRIVER_POSTCLEANUP -#define DRIVER_POSTCLEANUP() -#endif -#ifndef DRIVER_PRESETUP -#define DRIVER_PRESETUP() -#endif -#ifndef DRIVER_POSTSETUP -#define DRIVER_POSTSETUP() -#endif #ifndef DRIVER_IOCTLS #define DRIVER_IOCTLS #endif -#ifndef DRIVER_OPEN_HELPER -#define DRIVER_OPEN_HELPER( priv, dev ) -#endif -#ifndef DRIVER_FOPS -#define DRIVER_FOPS \ -static struct file_operations DRM(fops) = { \ - .owner = THIS_MODULE, \ - .open = DRM(open), \ - .flush = DRM(flush), \ - .release = DRM(release), \ - .ioctl = DRM(ioctl), \ - .mmap = DRM(mmap), \ - .fasync = DRM(fasync), \ - .poll = DRM(poll), \ - .read = DRM(read), \ -} -#endif #ifndef MODULE /** Use an additional macro to avoid preprocessor troubles */ @@ -166,16 +78,24 @@ __setup( DRIVER_NAME "=", DRM_OPTIONS_FUNC ); static drm_device_t DRM(device)[MAX_DEVICES]; static int DRM(numdevs) = 0; -DRIVER_FOPS; +struct file_operations DRM(fops) = { + .owner = THIS_MODULE, + .open = DRM(open), + .flush = DRM(flush), + .release = DRM(release), + .ioctl = DRM(ioctl), + .mmap = DRM(mmap), + .fasync = DRM(fasync), + .poll = DRM(poll), + .read = DRM(read), +}; /** Ioctl table */ -static drm_ioctl_desc_t DRM(ioctls)[] = { +drm_ioctl_desc_t DRM(ioctls)[] = { [DRM_IOCTL_NR(DRM_IOCTL_VERSION)] = { DRM(version), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_UNIQUE)] = { DRM(getunique), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_MAGIC)] = { DRM(getmagic), 0, 0 }, -#if __HAVE_IRQ [DRM_IOCTL_NR(DRM_IOCTL_IRQ_BUSID)] = { DRM(irq_by_busid), 0, 1 }, -#endif [DRM_IOCTL_NR(DRM_IOCTL_GET_MAP)] = { DRM(getmap), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_CLIENT)] = { DRM(getclient), 0, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_STATS)] = { DRM(getstats), 0, 0 }, @@ -189,10 +109,8 @@ static drm_ioctl_desc_t DRM(ioctls)[] = { [DRM_IOCTL_NR(DRM_IOCTL_ADD_MAP)] = { DRM(addmap), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_RM_MAP)] = { DRM(rmmap), 1, 0 }, -#if __HAVE_CTX_BITMAP [DRM_IOCTL_NR(DRM_IOCTL_SET_SAREA_CTX)] = { DRM(setsareactx), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_GET_SAREA_CTX)] = { DRM(getsareactx), 1, 0 }, -#endif [DRM_IOCTL_NR(DRM_IOCTL_ADD_CTX)] = { DRM(addctx), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_RM_CTX)] = { DRM(rmctx), 1, 1 }, @@ -208,26 +126,18 @@ static drm_ioctl_desc_t DRM(ioctls)[] = { [DRM_IOCTL_NR(DRM_IOCTL_LOCK)] = { DRM(lock), 1, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_UNLOCK)] = { DRM(unlock), 1, 0 }, -#if __HAVE_DMA_FLUSH - /* Gamma only, really */ - [DRM_IOCTL_NR(DRM_IOCTL_FINISH)] = { DRM(finish), 1, 0 }, -#else [DRM_IOCTL_NR(DRM_IOCTL_FINISH)] = { DRM(noop), 1, 0 }, -#endif -#if __HAVE_DMA [DRM_IOCTL_NR(DRM_IOCTL_ADD_BUFS)] = { DRM(addbufs), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_MARK_BUFS)] = { DRM(markbufs), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_INFO_BUFS)] = { DRM(infobufs), 1, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_MAP_BUFS)] = { DRM(mapbufs), 1, 0 }, [DRM_IOCTL_NR(DRM_IOCTL_FREE_BUFS)] = { DRM(freebufs), 1, 0 }, /* The DRM_IOCTL_DMA ioctl should be defined by the driver. */ -#endif -#if __HAVE_IRQ || __HAVE_DMA + [DRM_IOCTL_NR(DRM_IOCTL_CONTROL)] = { DRM(control), 1, 1 }, -#endif -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP [DRM_IOCTL_NR(DRM_IOCTL_AGP_ACQUIRE)] = { DRM(agp_acquire), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_RELEASE)] = { DRM(agp_release), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_AGP_ENABLE)] = { DRM(agp_enable), 1, 1 }, @@ -238,14 +148,10 @@ static drm_ioctl_desc_t DRM(ioctls)[] = { [DRM_IOCTL_NR(DRM_IOCTL_AGP_UNBIND)] = { DRM(agp_unbind), 1, 1 }, #endif -#if __HAVE_SG [DRM_IOCTL_NR(DRM_IOCTL_SG_ALLOC)] = { DRM(sg_alloc), 1, 1 }, [DRM_IOCTL_NR(DRM_IOCTL_SG_FREE)] = { DRM(sg_free), 1, 1 }, -#endif -#ifdef __HAVE_VBL_IRQ [DRM_IOCTL_NR(DRM_IOCTL_WAIT_VBLANK)] = { DRM(wait_vblank), 0, 0 }, -#endif DRIVER_IOCTLS }; @@ -264,56 +170,26 @@ MODULE_LICENSE("GPL and additional rights"); static int DRM(setup)( drm_device_t *dev ) { int i; + int ret; + + if (dev->fn_tbl.presetup) + { + ret=dev->fn_tbl.presetup(dev); + if (ret!=0) + return ret; + } - DRIVER_PRESETUP(); atomic_set( &dev->ioctl_count, 0 ); atomic_set( &dev->vma_count, 0 ); dev->buf_use = 0; atomic_set( &dev->buf_alloc, 0 ); -#if __HAVE_DMA - i = DRM(dma_setup)( dev ); - if ( i < 0 ) - return i; -#endif - - dev->counters = 6 + __HAVE_COUNTERS; - dev->types[0] = _DRM_STAT_LOCK; - dev->types[1] = _DRM_STAT_OPENS; - dev->types[2] = _DRM_STAT_CLOSES; - dev->types[3] = _DRM_STAT_IOCTLS; - dev->types[4] = _DRM_STAT_LOCKS; - dev->types[5] = _DRM_STAT_UNLOCKS; -#ifdef __HAVE_COUNTER6 - dev->types[6] = __HAVE_COUNTER6; -#endif -#ifdef __HAVE_COUNTER7 - dev->types[7] = __HAVE_COUNTER7; -#endif -#ifdef __HAVE_COUNTER8 - dev->types[8] = __HAVE_COUNTER8; -#endif -#ifdef __HAVE_COUNTER9 - dev->types[9] = __HAVE_COUNTER9; -#endif -#ifdef __HAVE_COUNTER10 - dev->types[10] = __HAVE_COUNTER10; -#endif -#ifdef __HAVE_COUNTER11 - dev->types[11] = __HAVE_COUNTER11; -#endif -#ifdef __HAVE_COUNTER12 - dev->types[12] = __HAVE_COUNTER12; -#endif -#ifdef __HAVE_COUNTER13 - dev->types[13] = __HAVE_COUNTER13; -#endif -#ifdef __HAVE_COUNTER14 - dev->types[14] = __HAVE_COUNTER14; -#endif -#ifdef __HAVE_COUNTER15 - dev->types[14] = __HAVE_COUNTER14; -#endif + if (drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + { + i = DRM(dma_setup)( dev ); + if ( i < 0 ) + return i; + } for ( i = 0 ; i < DRM_ARRAY_SIZE(dev->counts) ; i++ ) atomic_set( &dev->counts[i], 0 ); @@ -371,7 +247,9 @@ static int DRM(setup)( drm_device_t *dev ) * drm_select_queue fails between the time the interrupt is * initialized and the time the queues are initialized. */ - DRIVER_POSTSETUP(); + if (dev->fn_tbl.postsetup) + dev->fn_tbl.postsetup(dev); + return 0; } @@ -396,10 +274,10 @@ static int DRM(takedown)( drm_device_t *dev ) DRM_DEBUG( "\n" ); - DRIVER_PRETAKEDOWN(); -#if __HAVE_IRQ + if (dev->fn_tbl.pretakedown) + dev->fn_tbl.pretakedown(dev); + if ( dev->irq_enabled ) DRM(irq_uninstall)( dev ); -#endif down( &dev->struct_sem ); del_timer( &dev->timer ); @@ -425,9 +303,8 @@ static int DRM(takedown)( drm_device_t *dev ) dev->magiclist[i].head = dev->magiclist[i].tail = NULL; } -#if __REALLY_HAVE_AGP /* Clear AGP information */ - if ( dev->agp ) { + if (drm_core_has_AGP(dev) && dev->agp) { drm_agp_mem_t *entry; drm_agp_mem_t *nexte; @@ -446,7 +323,6 @@ static int DRM(takedown)( drm_device_t *dev ) dev->agp->acquired = 0; dev->agp->enabled = 0; } -#endif /* Clear vma list (only built for debugging) */ if ( dev->vmalist ) { @@ -465,15 +341,15 @@ static int DRM(takedown)( drm_device_t *dev ) switch ( map->type ) { case _DRM_REGISTERS: case _DRM_FRAME_BUFFER: -#if __REALLY_HAVE_MTRR - if ( map->mtrr >= 0 ) { - int retcode; - retcode = mtrr_del( map->mtrr, - map->offset, - map->size ); - DRM_DEBUG( "mtrr_del=%d\n", retcode ); + if (drm_core_has_MTRR(dev)) { + if ( map->mtrr >= 0 ) { + int retcode; + retcode = mtrr_del( map->mtrr, + map->offset, + map->size ); + DRM_DEBUG( "mtrr_del=%d\n", retcode ); + } } -#endif DRM(ioremapfree)( map->handle, map->size, dev ); break; case _DRM_SHM: @@ -486,15 +362,11 @@ static int DRM(takedown)( drm_device_t *dev ) */ break; case _DRM_SCATTER_GATHER: - /* Handle it, but do nothing, if HAVE_SG - * isn't defined. - */ -#if __HAVE_SG - if(dev->sg) { + /* Handle it */ + if (drm_core_check_feature(dev, DRIVER_SG) && dev->sg) { DRM(sg_cleanup)(dev->sg); dev->sg = NULL; } -#endif break; } DRM(free)(map, sizeof(*map), DRM_MEM_MAPS); @@ -506,12 +378,8 @@ static int DRM(takedown)( drm_device_t *dev ) dev->maplist = NULL; } -#if __HAVE_DMA_QUEUE || __HAVE_MULTIPLE_DMA_QUEUES - if ( dev->queuelist ) { + if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE) && dev->queuelist ) { for ( i = 0 ; i < dev->queue_count ; i++ ) { -#if __HAVE_DMA_WAITLIST - DRM(waitlist_destroy)( &dev->queuelist[i]->waitlist ); -#endif if ( dev->queuelist[i] ) { DRM(free)( dev->queuelist[i], sizeof(*dev->queuelist[0]), @@ -525,11 +393,10 @@ static int DRM(takedown)( drm_device_t *dev ) dev->queuelist = NULL; } dev->queue_count = 0; -#endif -#if __HAVE_DMA - DRM(dma_takedown)( dev ); -#endif + if (drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + DRM(dma_takedown)( dev ); + if ( dev->lock.hw_lock ) { dev->sigdata.lock = dev->lock.hw_lock = NULL; /* SHM removed */ dev->lock.filp = NULL; @@ -540,6 +407,13 @@ static int DRM(takedown)( drm_device_t *dev ) return 0; } +static void DRM(init_fn_table)(struct drm_device *dev) +{ + dev->fn_tbl.reclaim_buffers = DRM(core_reclaim_buffers); + dev->fn_tbl.get_map_ofs = DRM(core_get_map_ofs); + dev->fn_tbl.get_reg_ofs = DRM(core_get_reg_ofs); +} + #include "drm_pciids.h" static struct pci_device_id DRM(pciidlist)[] = { @@ -549,9 +423,7 @@ static struct pci_device_id DRM(pciidlist)[] = { static int DRM(probe)(struct pci_dev *pdev) { drm_device_t *dev; -#if __HAVE_CTX_BITMAP int retcode; -#endif int i; int is_compat = 0; @@ -569,6 +441,9 @@ static int DRM(probe)(struct pci_dev *pdev) if (DRM(numdevs) >= MAX_DEVICES) return -ENODEV; + if ((retcode=pci_enable_device(pdev))) + return retcode; + dev = &(DRM(device)[DRM(numdevs)]); memset( (void *)dev, 0, sizeof(*dev) ); @@ -594,36 +469,51 @@ static int DRM(probe)(struct pci_dev *pdev) dev->pci_func = PCI_FUNC(pdev->devfn); dev->irq = pdev->irq; - DRIVER_PREINIT(); + /* dev_priv_size can be changed by a driver in driver_register_fns */ + dev->dev_priv_size = sizeof(u32); -#if __REALLY_HAVE_AGP - dev->agp = DRM(agp_init)(); -#if __MUST_HAVE_AGP - if ( dev->agp == NULL ) { - DRM_ERROR( "Cannot initialize the agpgart module.\n" ); - DRM(stub_unregister)(dev->minor); - DRM(takedown)( dev ); - return -EINVAL; + /* the DRM has 6 basic counters - drivers add theirs in register_fns */ + dev->counters = 6; + dev->types[0] = _DRM_STAT_LOCK; + dev->types[1] = _DRM_STAT_OPENS; + dev->types[2] = _DRM_STAT_CLOSES; + dev->types[3] = _DRM_STAT_IOCTLS; + dev->types[4] = _DRM_STAT_LOCKS; + dev->types[5] = _DRM_STAT_UNLOCKS; + + DRM(init_fn_table)(dev); + + DRM(driver_register_fns)(dev); + + if (dev->fn_tbl.preinit) + dev->fn_tbl.preinit(dev); + + if (drm_core_has_AGP(dev)) + { + dev->agp = DRM(agp_init)(); + if (drm_core_check_feature(dev, DRIVER_REQUIRE_AGP) && (dev->agp == NULL)) { + DRM_ERROR( "Cannot initialize the agpgart module.\n" ); + DRM(stub_unregister)(dev->minor); + DRM(takedown)( dev ); + return -EINVAL; + } + if (drm_core_has_MTRR(dev)) { + if (dev->agp) + dev->agp->agp_mtrr = mtrr_add( dev->agp->agp_info.aper_base, + dev->agp->agp_info.aper_size*1024*1024, + MTRR_TYPE_WRCOMB, + 1 ); + } } -#endif -#if __REALLY_HAVE_MTRR - if (dev->agp) - dev->agp->agp_mtrr = mtrr_add( dev->agp->agp_info.aper_base, - dev->agp->agp_info.aper_size*1024*1024, - MTRR_TYPE_WRCOMB, - 1 ); -#endif -#endif -#if __HAVE_CTX_BITMAP retcode = DRM(ctxbitmap_init)( dev ); if( retcode ) { DRM_ERROR( "Cannot allocate memory for context bitmap.\n" ); DRM(stub_unregister)(dev->minor); DRM(takedown)( dev ); return retcode; - } -#endif + } + DRM(numdevs)++; /* no errors, mark it reserved */ DRM_INFO( "Initialized %s %d.%d.%d %s on minor %d: %s\n", @@ -635,7 +525,8 @@ static int DRM(probe)(struct pci_dev *pdev) dev->minor, pci_pretty_name(pdev)); - DRIVER_POSTINIT(); + if (dev->fn_tbl.postinit) + dev->fn_tbl.postinit(dev); return 0; } @@ -695,31 +586,30 @@ static void __exit drm_cleanup( void ) DRM_INFO( "Module unloaded\n" ); } } -#if __HAVE_CTX_BITMAP + DRM(ctxbitmap_cleanup)( dev ); -#endif -#if __REALLY_HAVE_AGP && __REALLY_HAVE_MTRR - if ( dev->agp && dev->agp->agp_mtrr >= 0) { + if (drm_core_has_MTRR(dev) && drm_core_has_AGP(dev) && + dev->agp && dev->agp->agp_mtrr >= 0) { int retval; retval = mtrr_del( dev->agp->agp_mtrr, dev->agp->agp_info.aper_base, dev->agp->agp_info.aper_size*1024*1024 ); DRM_DEBUG( "mtrr_del=%d\n", retval ); } -#endif DRM(takedown)( dev ); -#if __REALLY_HAVE_AGP - if ( dev->agp ) { + if (drm_core_has_AGP(dev) && dev->agp ) { DRM(agp_uninit)(); DRM(free)( dev->agp, sizeof(*dev->agp), DRM_MEM_AGPLISTS ); dev->agp = NULL; } -#endif + + if (dev->fn_tbl.postcleanup) + dev->fn_tbl.postcleanup(dev); + } - DRIVER_POSTCLEANUP(); DRM(numdevs) = 0; } @@ -834,7 +724,8 @@ int DRM(release)( struct inode *inode, struct file *filp ) DRM_DEBUG( "open_count = %d\n", dev->open_count ); - DRIVER_PRERELEASE(); + if (dev->fn_tbl.prerelease) + dev->fn_tbl.prerelease(dev, filp); /* ======================================================== * Begin inline drm_release @@ -849,9 +740,10 @@ int DRM(release)( struct inode *inode, struct file *filp ) DRM_DEBUG( "File %p released, freeing lock for context %d\n", filp, _DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock) ); -#if __HAVE_RELEASE - DRIVER_RELEASE(); -#endif + + if (dev->fn_tbl.release) + dev->fn_tbl.release(dev, filp); + DRM(lock_free)( dev, &dev->lock.hw_lock->lock, _DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock) ); @@ -860,14 +752,13 @@ int DRM(release)( struct inode *inode, struct file *filp ) processed via a callback to the X server. */ } -#if __HAVE_RELEASE - else if ( priv->lock_count && dev->lock.hw_lock ) { + else if ( dev->fn_tbl.release && priv->lock_count && dev->lock.hw_lock ) { /* The lock is required to reclaim buffers */ DECLARE_WAITQUEUE( entry, current ); add_wait_queue( &dev->lock.lock_queue, &entry ); for (;;) { - current->state = TASK_INTERRUPTIBLE; + __set_current_state(TASK_INTERRUPTIBLE); if ( !dev->lock.hw_lock ) { /* Device has been unregistered */ retcode = -EINTR; @@ -887,17 +778,20 @@ int DRM(release)( struct inode *inode, struct file *filp ) break; } } - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); remove_wait_queue( &dev->lock.lock_queue, &entry ); if( !retcode ) { - DRIVER_RELEASE(); + if (dev->fn_tbl.release) + dev->fn_tbl.release(dev, filp); DRM(lock_free)( dev, &dev->lock.hw_lock->lock, DRM_KERNEL_CONTEXT ); } } -#elif __HAVE_DMA - DRM(reclaim_buffers)( filp ); -#endif + + if (drm_core_check_feature(dev, DRIVER_HAVE_DMA)) + { + dev->fn_tbl.reclaim_buffers(filp); + } DRM(fasync)( -1, filp, 0 ); @@ -908,14 +802,14 @@ int DRM(release)( struct inode *inode, struct file *filp ) list_for_each_entry_safe( pos, n, &dev->ctxlist->head, head ) { if ( pos->tag == priv && pos->handle != DRM_KERNEL_CONTEXT ) { -#ifdef DRIVER_CTX_DTOR - DRIVER_CTX_DTOR(pos->handle); -#endif -#if __HAVE_CTX_BITMAP + if (dev->fn_tbl.context_dtor) + dev->fn_tbl.context_dtor(dev, pos->handle); + DRM(ctxbitmap_free)( dev, pos->handle ); -#endif + list_del( &pos->head ); DRM(free)( pos, sizeof(*pos), DRM_MEM_CTXLIST ); + --dev->ctx_count; } } } @@ -941,6 +835,9 @@ int DRM(release)( struct inode *inode, struct file *filp ) } up( &dev->struct_sem ); + if (dev->fn_tbl.free_filp_priv) + dev->fn_tbl.free_filp_priv(dev, priv); + DRM(free)( priv, sizeof(*priv), DRM_MEM_FILES ); /* ======================================================== @@ -1039,9 +936,6 @@ int DRM(lock)( struct inode *inode, struct file *filp, DECLARE_WAITQUEUE( entry, current ); drm_lock_t lock; int ret = 0; -#if __HAVE_MULTIPLE_DMA_QUEUES - drm_queue_t *q; -#endif ++priv->lock_count; @@ -1058,83 +952,61 @@ int DRM(lock)( struct inode *inode, struct file *filp, lock.context, current->pid, dev->lock.hw_lock->lock, lock.flags ); -#if __HAVE_DMA_QUEUE - if ( lock.context < 0 ) - return -EINVAL; -#elif __HAVE_MULTIPLE_DMA_QUEUES - if ( lock.context < 0 || lock.context >= dev->queue_count ) - return -EINVAL; - q = dev->queuelist[lock.context]; -#endif + if (drm_core_check_feature(dev, DRIVER_DMA_QUEUE)) + if ( lock.context < 0 ) + return -EINVAL; -#if __HAVE_DMA_FLUSH - ret = DRM(flush_block_and_flush)( dev, lock.context, lock.flags ); -#endif - if ( !ret ) { - add_wait_queue( &dev->lock.lock_queue, &entry ); - for (;;) { - current->state = TASK_INTERRUPTIBLE; - if ( !dev->lock.hw_lock ) { - /* Device has been unregistered */ - ret = -EINTR; - break; - } - if ( DRM(lock_take)( &dev->lock.hw_lock->lock, - lock.context ) ) { - dev->lock.filp = filp; - dev->lock.lock_time = jiffies; - atomic_inc( &dev->counts[_DRM_STAT_LOCKS] ); - break; /* Got lock */ - } - - /* Contention */ - schedule(); - if ( signal_pending( current ) ) { - ret = -ERESTARTSYS; - break; - } - } - current->state = TASK_RUNNING; - remove_wait_queue( &dev->lock.lock_queue, &entry ); - } - -#if __HAVE_DMA_FLUSH - DRM(flush_unblock)( dev, lock.context, lock.flags ); /* cleanup phase */ -#endif - - if ( !ret ) { - sigemptyset( &dev->sigmask ); - sigaddset( &dev->sigmask, SIGSTOP ); - sigaddset( &dev->sigmask, SIGTSTP ); - sigaddset( &dev->sigmask, SIGTTIN ); - sigaddset( &dev->sigmask, SIGTTOU ); - dev->sigdata.context = lock.context; - dev->sigdata.lock = dev->lock.hw_lock; - block_all_signals( DRM(notifier), - &dev->sigdata, &dev->sigmask ); - -#if __HAVE_DMA_READY - if ( lock.flags & _DRM_LOCK_READY ) { - DRIVER_DMA_READY(); + add_wait_queue( &dev->lock.lock_queue, &entry ); + for (;;) { + __set_current_state(TASK_INTERRUPTIBLE); + if ( !dev->lock.hw_lock ) { + /* Device has been unregistered */ + ret = -EINTR; + break; } -#endif -#if __HAVE_DMA_QUIESCENT - if ( lock.flags & _DRM_LOCK_QUIESCENT ) { - DRIVER_DMA_QUIESCENT(); + if ( DRM(lock_take)( &dev->lock.hw_lock->lock, + lock.context ) ) { + dev->lock.filp = filp; + dev->lock.lock_time = jiffies; + atomic_inc( &dev->counts[_DRM_STAT_LOCKS] ); + break; /* Got lock */ } -#endif - /* __HAVE_KERNEL_CTX_SWITCH isn't used by any of the - * drm modules in the DRI cvs tree, but it is required - * by the Sparc driver. - */ -#if __HAVE_KERNEL_CTX_SWITCH - if ( dev->last_context != lock.context ) { - DRM(context_switch)(dev, dev->last_context, - lock.context); + + /* Contention */ + schedule(); + if ( signal_pending( current ) ) { + ret = -ERESTARTSYS; + break; } -#endif - } - + } + __set_current_state(TASK_RUNNING); + remove_wait_queue( &dev->lock.lock_queue, &entry ); + + sigemptyset( &dev->sigmask ); + sigaddset( &dev->sigmask, SIGSTOP ); + sigaddset( &dev->sigmask, SIGTSTP ); + sigaddset( &dev->sigmask, SIGTTIN ); + sigaddset( &dev->sigmask, SIGTTOU ); + dev->sigdata.context = lock.context; + dev->sigdata.lock = dev->lock.hw_lock; + block_all_signals( DRM(notifier), + &dev->sigdata, &dev->sigmask ); + + if (dev->fn_tbl.dma_ready && (lock.flags & _DRM_LOCK_READY)) + dev->fn_tbl.dma_ready(dev); + + if ( dev->fn_tbl.dma_quiescent && (lock.flags & _DRM_LOCK_QUIESCENT )) + return dev->fn_tbl.dma_quiescent(dev); + + /* dev->fn_tbl.kernel_context_switch isn't used by any of the x86 + * drivers but is used by the Sparc driver. + */ + + if (dev->fn_tbl.kernel_context_switch && + dev->last_context != lock.context) { + dev->fn_tbl.kernel_context_switch(dev, dev->last_context, + lock.context); + } DRM_DEBUG( "%d %s\n", lock.context, ret ? "interrupted" : "has lock" ); return ret; @@ -1169,40 +1041,20 @@ int DRM(unlock)( struct inode *inode, struct file *filp, atomic_inc( &dev->counts[_DRM_STAT_UNLOCKS] ); - /* __HAVE_KERNEL_CTX_SWITCH isn't used by any of the drm - * modules in the DRI cvs tree, but it is required by the - * Sparc driver. - */ -#if __HAVE_KERNEL_CTX_SWITCH - /* We no longer really hold it, but if we are the next - * agent to request it then we should just be able to - * take it immediately and not eat the ioctl. + /* kernel_context_switch isn't used by any of the x86 drm + * modules but is required by the Sparc driver. */ - dev->lock.filp = NULL; - { - __volatile__ unsigned int *plock = &dev->lock.hw_lock->lock; - unsigned int old, new, prev, ctx; - - ctx = lock.context; - do { - old = *plock; - new = ctx; - prev = cmpxchg(plock, old, new); - } while (prev != old); - } - wake_up_interruptible(&dev->lock.lock_queue); -#else - DRM(lock_transfer)( dev, &dev->lock.hw_lock->lock, - DRM_KERNEL_CONTEXT ); -#if __HAVE_DMA_SCHEDULE - DRM(dma_schedule)( dev, 1 ); -#endif - - if ( DRM(lock_free)( dev, &dev->lock.hw_lock->lock, - DRM_KERNEL_CONTEXT ) ) { - DRM_ERROR( "\n" ); + if (dev->fn_tbl.kernel_context_switch_unlock) + dev->fn_tbl.kernel_context_switch_unlock(dev, &lock); + else { + DRM(lock_transfer)( dev, &dev->lock.hw_lock->lock, + DRM_KERNEL_CONTEXT ); + + if ( DRM(lock_free)( dev, &dev->lock.hw_lock->lock, + DRM_KERNEL_CONTEXT ) ) { + DRM_ERROR( "\n" ); + } } -#endif /* !__HAVE_KERNEL_CTX_SWITCH */ unblock_all_signals(); return 0; diff --git a/drivers/char/drm/drm_fops.h b/drivers/char/drm/drm_fops.h index 0aa02444a..0e91190a3 100644 --- a/drivers/char/drm/drm_fops.h +++ b/drivers/char/drm/drm_fops.h @@ -53,6 +53,7 @@ int DRM(open_helper)(struct inode *inode, struct file *filp, drm_device_t *dev) { int minor = iminor(inode); drm_file_t *priv; + int ret; if (filp->f_flags & O_EXCL) return -EBUSY; /* No exclusive opens */ if (!DRM(cpu_valid)()) return -EINVAL; @@ -72,7 +73,11 @@ int DRM(open_helper)(struct inode *inode, struct file *filp, drm_device_t *dev) priv->authenticated = capable(CAP_SYS_ADMIN); priv->lock_count = 0; - DRIVER_OPEN_HELPER( priv, dev ); + if (dev->fn_tbl.open_helper) { + ret=dev->fn_tbl.open_helper(dev, priv); + if (ret < 0) + goto out_free; + } down(&dev->struct_sem); if (!dev->file_last) { @@ -104,6 +109,10 @@ int DRM(open_helper)(struct inode *inode, struct file *filp, drm_device_t *dev) #endif return 0; +out_free: + DRM(free)(priv, sizeof(*priv), DRM_MEM_FILES); + filp->private_data=NULL; + return ret; } /** No-op. */ @@ -130,19 +139,15 @@ int DRM(fasync)(int fd, struct file *filp, int on) return 0; } -#if !__HAVE_DRIVER_FOPS_POLL /** No-op. */ unsigned int DRM(poll)(struct file *filp, struct poll_table_struct *wait) { return 0; } -#endif -#if !__HAVE_DRIVER_FOPS_READ /** No-op. */ ssize_t DRM(read)(struct file *filp, char __user *buf, size_t count, loff_t *off) { return 0; } -#endif diff --git a/drivers/char/drm/drm_ioctl.h b/drivers/char/drm/drm_ioctl.h index ef6532a31..d1271c166 100644 --- a/drivers/char/drm/drm_ioctl.h +++ b/drivers/char/drm/drm_ioctl.h @@ -341,9 +341,9 @@ int DRM(setversion)(DRM_IOCTL_ARGS) if (sv.drm_dd_major != DRIVER_MAJOR || sv.drm_dd_minor < 0 || sv.drm_dd_minor > DRIVER_MINOR) return EINVAL; -#ifdef DRIVER_SETVERSION - DRIVER_SETVERSION(dev, &sv); -#endif + + if (dev->fn_tbl.set_version) + dev->fn_tbl.set_version(dev, &sv); } return 0; } diff --git a/drivers/char/drm/drm_memory_debug.h b/drivers/char/drm/drm_memory_debug.h index 74d3c499e..0053679a8 100644 --- a/drivers/char/drm/drm_memory_debug.h +++ b/drivers/char/drm/drm_memory_debug.h @@ -352,7 +352,7 @@ void DRM(ioremapfree)(void *pt, unsigned long size, drm_device_t *dev) } } -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP DRM_AGP_MEM *DRM(alloc_agp)(int pages, u32 type) { diff --git a/drivers/char/drm/drm_os_linux.h b/drivers/char/drm/drm_os_linux.h index 6b69f0aa3..242e311a2 100644 --- a/drivers/char/drm/drm_os_linux.h +++ b/drivers/char/drm/drm_os_linux.h @@ -16,13 +16,17 @@ #define DRM_CURRENTPID current->pid #define DRM_UDELAY(d) udelay(d) /** Read a byte from a MMIO region */ -#define DRM_READ8(map, offset) readb(((unsigned long)(map)->handle) + (offset)) +#define DRM_READ8(map, offset) readb(((void __iomem *)(map)->handle) + (offset)) +/** Read a word from a MMIO region */ +#define DRM_READ16(map, offset) readw(((void __iomem *)(map)->handle) + (offset)) /** Read a dword from a MMIO region */ -#define DRM_READ32(map, offset) readl(((unsigned long)(map)->handle) + (offset)) +#define DRM_READ32(map, offset) readl(((void __iomem *)(map)->handle) + (offset)) /** Write a byte into a MMIO region */ -#define DRM_WRITE8(map, offset, val) writeb(val, ((unsigned long)(map)->handle) + (offset)) +#define DRM_WRITE8(map, offset, val) writeb(val, ((void __iomem *)(map)->handle) + (offset)) +/** Write a word into a MMIO region */ +#define DRM_WRITE16(map, offset, val) writew(val, ((void __iomem *)(map)->handle) + (offset)) /** Write a dword into a MMIO region */ -#define DRM_WRITE32(map, offset, val) writel(val, ((unsigned long)(map)->handle) + (offset)) +#define DRM_WRITE32(map, offset, val) writel(val, ((void __iomem *)(map)->handle) + (offset)) /** Read memory barrier */ #define DRM_READMEMORYBARRIER() rmb() /** Write memory barrier */ @@ -37,8 +41,34 @@ #define DRM_IRQ_ARGS int irq, void *arg, struct pt_regs *regs /** AGP types */ +#if __OS_HAS_AGP #define DRM_AGP_MEM struct agp_memory #define DRM_AGP_KERN struct agp_kern_info +#else +/* define some dummy types for non AGP supporting kernels */ +struct no_agp_kern { + unsigned long aper_base; + unsigned long aper_size; +}; +#define DRM_AGP_MEM int +#define DRM_AGP_KERN struct no_agp_kern +#endif + +#if !(__OS_HAS_MTRR) +static __inline__ int mtrr_add (unsigned long base, unsigned long size, + unsigned int type, char increment) +{ + return -ENODEV; +} + +static __inline__ int mtrr_del (int reg, unsigned long base, + unsigned long size) +{ + return -ENODEV; +} +#define MTRR_TYPE_WRCOMB 1 + +#endif /** Task queue handler arguments */ #define DRM_TASKQUEUE_ARGS void *arg @@ -104,7 +134,7 @@ do { \ add_wait_queue(&(queue), &entry); \ \ for (;;) { \ - current->state = TASK_INTERRUPTIBLE; \ + __set_current_state(TASK_INTERRUPTIBLE); \ if (condition) \ break; \ if (time_after_eq(jiffies, end)) { \ @@ -117,7 +147,7 @@ do { \ break; \ } \ } \ - current->state = TASK_RUNNING; \ + __set_current_state(TASK_RUNNING); \ remove_wait_queue(&(queue), &entry); \ } while (0) diff --git a/drivers/char/drm/drm_vm.h b/drivers/char/drm/drm_vm.h index d7dce3ae9..1601447d8 100644 --- a/drivers/char/drm/drm_vm.h +++ b/drivers/char/drm/drm_vm.h @@ -46,10 +46,10 @@ * Find the right map and if it's AGP memory find the real physical page to * map, get the page, increment the use count and return it. */ +#if __OS_HAS_AGP static __inline__ struct page *DRM(do_vm_nopage)(struct vm_area_struct *vma, unsigned long address) { -#if __REALLY_HAVE_AGP drm_file_t *priv = vma->vm_file->private_data; drm_device_t *dev = priv->dev; drm_map_t *map = NULL; @@ -59,6 +59,8 @@ static __inline__ struct page *DRM(do_vm_nopage)(struct vm_area_struct *vma, /* * Find the right map */ + if (!drm_core_has_AGP(dev)) + goto vm_nopage_error; if(!dev->agp || !dev->agp->cant_use_aperture) goto vm_nopage_error; @@ -107,10 +109,15 @@ static __inline__ struct page *DRM(do_vm_nopage)(struct vm_area_struct *vma, return page; } vm_nopage_error: -#endif /* __REALLY_HAVE_AGP */ - return NOPAGE_SIGBUS; /* Disallow mremap */ } +#else /* __OS_HAS_AGP */ +static __inline__ struct page *DRM(do_vm_nopage)(struct vm_area_struct *vma, + unsigned long address) +{ + return NOPAGE_SIGBUS; +} +#endif /* __OS_HAS_AGP */ /** * \c nopage method for shared virtual memory. @@ -201,15 +208,13 @@ void DRM(vm_shm_close)(struct vm_area_struct *vma) switch (map->type) { case _DRM_REGISTERS: case _DRM_FRAME_BUFFER: -#if __REALLY_HAVE_MTRR - if (map->mtrr >= 0) { + if (drm_core_has_MTRR(dev) && map->mtrr >= 0) { int retcode; retcode = mtrr_del(map->mtrr, map->offset, map->size); DRM_DEBUG("mtrr_del = %d\n", retcode); } -#endif DRM(ioremapfree)(map->handle, map->size, dev); break; case _DRM_SHM: @@ -488,18 +493,19 @@ int DRM(mmap_dma)(struct file *filp, struct vm_area_struct *vma) return 0; } -#ifndef DRIVER_GET_MAP_OFS -#define DRIVER_GET_MAP_OFS() (map->offset) -#endif +unsigned long DRM(core_get_map_ofs)(drm_map_t *map) +{ + return map->offset; +} -#ifndef DRIVER_GET_REG_OFS +unsigned long DRM(core_get_reg_ofs)(struct drm_device *dev) +{ #ifdef __alpha__ -#define DRIVER_GET_REG_OFS() (dev->hose->dense_mem_base - \ - dev->hose->mem_space->start) + return dev->hose->dense_mem_base - dev->hose->mem_space->start; #else -#define DRIVER_GET_REG_OFS() 0 -#endif + return 0; #endif +} /** * mmap DMA memory. @@ -533,7 +539,7 @@ int DRM(mmap)(struct file *filp, struct vm_area_struct *vma) * --BenH. */ if (!VM_OFFSET(vma) -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP && (!dev->agp || dev->agp->agp_info.device->vendor != PCI_VENDOR_ID_APPLE) #endif ) @@ -552,7 +558,7 @@ int DRM(mmap)(struct file *filp, struct vm_area_struct *vma) r_list = list_entry(list, drm_map_list_t, head); map = r_list->map; if (!map) continue; - off = DRIVER_GET_MAP_OFS(); + off = dev->fn_tbl.get_map_ofs(map); if (off == VM_OFFSET(vma)) break; } @@ -577,8 +583,7 @@ int DRM(mmap)(struct file *filp, struct vm_area_struct *vma) switch (map->type) { case _DRM_AGP: -#if __REALLY_HAVE_AGP - if (dev->agp->cant_use_aperture) { + if (drm_core_has_AGP(dev) && dev->agp->cant_use_aperture) { /* * On some platforms we can't talk to bus dma address from the CPU, so for * memory of type DRM_AGP, we'll deal with sorting out the real physical @@ -590,7 +595,6 @@ int DRM(mmap)(struct file *filp, struct vm_area_struct *vma) vma->vm_ops = &DRM(vm_ops); break; } -#endif /* fall through to _DRM_FRAME_BUFFER... */ case _DRM_FRAME_BUFFER: case _DRM_REGISTERS: @@ -609,7 +613,7 @@ int DRM(mmap)(struct file *filp, struct vm_area_struct *vma) if (map->type != _DRM_AGP) vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); #endif - offset = DRIVER_GET_REG_OFS(); + offset = dev->fn_tbl.get_reg_ofs(dev); #ifdef __sparc__ if (io_remap_page_range(DRM_RPR_ARG(vma) vma->vm_start, VM_OFFSET(vma) + offset, diff --git a/drivers/char/drm/ffb.h b/drivers/char/drm/ffb.h index af35783b2..3691c8652 100644 --- a/drivers/char/drm/ffb.h +++ b/drivers/char/drm/ffb.h @@ -8,9 +8,5 @@ */ #define DRM(x) ffb_##x -/* General customization: - */ -#define __HAVE_KERNEL_CTX_SWITCH 1 -#define __HAVE_RELEASE 1 #endif diff --git a/drivers/char/drm/ffb_drv.c b/drivers/char/drm/ffb_drv.c index 765355999..2e1522e7c 100644 --- a/drivers/char/drm/ffb_drv.c +++ b/drivers/char/drm/ffb_drv.c @@ -26,58 +26,6 @@ #define DRIVER_MINOR 0 #define DRIVER_PATCHLEVEL 1 -#define DRIVER_FOPS \ -static struct file_operations DRM(fops) = { \ - .owner = THIS_MODULE, \ - .open = DRM(open), \ - .flush = DRM(flush), \ - .release = DRM(release), \ - .ioctl = DRM(ioctl), \ - .mmap = DRM(mmap), \ - .read = DRM(read), \ - .fasync = DRM(fasync), \ - .poll = DRM(poll), \ - .get_unmapped_area = ffb_get_unmapped_area, \ -} - -#define DRIVER_COUNT_CARDS() ffb_count_card_instances() -/* Allocate private structure and fill it */ -#define DRIVER_PRESETUP() do { \ - int _ret; \ - _ret = ffb_presetup(dev); \ - if (_ret != 0) return _ret; \ -} while(0) - -/* Free private structure */ -#define DRIVER_PRETAKEDOWN() do { \ - if (dev->dev_private) kfree(dev->dev_private); \ -} while(0) - -#define DRIVER_POSTCLEANUP() do { \ - if (ffb_position != NULL) kfree(ffb_position); \ -} while(0) - -/* We have to free up the rogue hw context state holding error or - * else we will leak it. - */ -#define DRIVER_RELEASE() do { \ - ffb_dev_priv_t *fpriv = (ffb_dev_priv_t *) dev->dev_private; \ - int context = _DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock); \ - int idx; \ - \ - idx = context - 1; \ - if (fpriv && \ - context != DRM_KERNEL_CONTEXT && \ - fpriv->hw_state[idx] != NULL) { \ - kfree(fpriv->hw_state[idx]); \ - fpriv->hw_state[idx] = NULL; \ - } \ -} while(0) - -/* For mmap customization */ -#define DRIVER_GET_MAP_OFS() (map->offset & 0xffffffff) -#define DRIVER_GET_REG_OFS() ffb_get_reg_offset(dev) - typedef struct _ffb_position_t { int node; int root; @@ -192,63 +140,6 @@ static int ffb_init_one(drm_device_t *dev, int prom_node, int parent_node, return 0; } -static int __init ffb_count_siblings(int root) -{ - int node, child, count = 0; - - child = prom_getchild(root); - for (node = prom_searchsiblings(child, "SUNW,ffb"); node; - node = prom_searchsiblings(prom_getsibling(node), "SUNW,ffb")) - count++; - - return count; -} - -static int __init ffb_scan_siblings(int root, int instance) -{ - int node, child; - - child = prom_getchild(root); - for (node = prom_searchsiblings(child, "SUNW,ffb"); node; - node = prom_searchsiblings(prom_getsibling(node), "SUNW,ffb")) { - ffb_position[instance].node = node; - ffb_position[instance].root = root; - instance++; - } - - return instance; -} - -static int ffb_presetup(drm_device_t *); - -static int __init ffb_count_card_instances(void) -{ - int root, total, instance; - - total = ffb_count_siblings(prom_root_node); - root = prom_getchild(prom_root_node); - for (root = prom_searchsiblings(root, "upa"); root; - root = prom_searchsiblings(prom_getsibling(root), "upa")) - total += ffb_count_siblings(root); - - ffb_position = kmalloc(sizeof(ffb_position_t) * total, GFP_KERNEL); - - /* Actual failure will be caught during ffb_presetup b/c we can't catch - * it easily here. - */ - if (!ffb_position) - return -ENOMEM; - - instance = ffb_scan_siblings(prom_root_node, 0); - - root = prom_getchild(prom_root_node); - for (root = prom_searchsiblings(root, "upa"); root; - root = prom_searchsiblings(prom_getsibling(root), "upa")) - instance = ffb_scan_siblings(root, instance); - - return total; -} - static drm_map_t *ffb_find_map(struct file *filp, unsigned long off) { drm_file_t *priv = filp->private_data; @@ -275,11 +166,11 @@ static drm_map_t *ffb_find_map(struct file *filp, unsigned long off) return NULL; } -static unsigned long ffb_get_unmapped_area(struct file *filp, - unsigned long hint, - unsigned long len, - unsigned long pgoff, - unsigned long flags) +unsigned long ffb_get_unmapped_area(struct file *filp, + unsigned long hint, + unsigned long len, + unsigned long pgoff, + unsigned long flags) { drm_map_t *map = ffb_find_map(filp, pgoff << PAGE_SHIFT); unsigned long addr = -ENOMEM; @@ -319,21 +210,7 @@ static unsigned long ffb_get_unmapped_area(struct file *filp, return addr; } -static unsigned long ffb_get_reg_offset(drm_device_t *dev) -{ - ffb_dev_priv_t *ffb_priv = (ffb_dev_priv_t *)dev->dev_private; - - if (ffb_priv) - return ffb_priv->card_phys_base; - - return 0; -} - -#include "drm_auth.h" -#include "drm_bufs.h" -#include "drm_dma.h" -#include "drm_drawable.h" -#include "drm_drv.h" +#include "drm_core.h" /* This functions must be here since it references DRM(numdevs) * which drm_drv.h declares. @@ -372,11 +249,74 @@ static int ffb_presetup(drm_device_t *dev) return ret; } -#include "drm_fops.h" -#include "drm_init.h" -#include "drm_ioctl.h" -#include "drm_lock.h" -#include "drm_memory.h" -#include "drm_proc.h" -#include "drm_vm.h" -#include "drm_stub.h" +static void ffb_driver_release(drm_device_t *dev, struct file *filp) +{ + ffb_dev_priv_t *fpriv = (ffb_dev_priv_t *) dev->dev_private; + int context = _DRM_LOCKING_CONTEXT(dev->lock.hw_lock->lock); + int idx; + + idx = context - 1; + if (fpriv && + context != DRM_KERNEL_CONTEXT && + fpriv->hw_state[idx] != NULL) { + kfree(fpriv->hw_state[idx]); + fpriv->hw_state[idx] = NULL; + } +} + +static void ffb_driver_pretakedown(drm_device_t *dev) +{ + if (dev->dev_private) kfree(dev->dev_private); +} + +static int ffb_driver_postcleanup(drm_device_t *dev) +{ + if (ffb_position != NULL) kfree(ffb_position); + return 0; +} + +static void ffb_driver_kernel_context_switch_unlock(struct drm_device *dev, drm_lock_t *lock) +{ + dev->lock.filp = 0; + { + __volatile__ unsigned int *plock = &dev->lock.hw_lock->lock; + unsigned int old, new, prev, ctx; + + ctx = lock->context; + do { + old = *plock; + new = ctx; + prev = cmpxchg(plock, old, new); + } while (prev != old); + } + wake_up_interruptible(&dev->lock.lock_queue); +} + +static unsigned long ffb_driver_get_map_ofs(drm_map_t *map) +{ + return (map->offset & 0xffffffff); +} + +static unsigned long ffb_driver_get_reg_ofs(drm_device_t *dev) +{ + ffb_dev_priv_t *ffb_priv = (ffb_dev_priv_t *)dev->dev_private; + + if (ffb_priv) + return ffb_priv->card_phys_base; + + return 0; +} + +void ffb_driver_register_fns(drm_device_t *dev) +{ + ffb_set_context_ioctls(); + DRM(fops).get_unmapped_area = ffb_get_unmapped_area; + dev->fn_tbl.release = ffb_driver_release; + dev->fn_tbl.presetup = ffb_presetup; + dev->fn_tbl.pretakedown = ffb_driver_pretakedown; + dev->fn_tbl.postcleanup = ffb_driver_postcleanup; + dev->fn_tbl.kernel_context_switch = ffb_context_switch; + dev->fn_tbl.kernel_context_switch_unlock = ffb_driver_kernel_context_switch_unlock; + dev->fn_tbl.get_map_ofs = ffb_driver_get_map_ofs; + dev->fn_tbl.get_reg_ofs = ffb_driver_get_reg_ofs; +} diff --git a/drivers/char/drm/gamma.h b/drivers/char/drm/gamma.h index dcd649048..cabd4b311 100644 --- a/drivers/char/drm/gamma.h +++ b/drivers/char/drm/gamma.h @@ -36,8 +36,6 @@ /* General customization: */ -#define __HAVE_MTRR 1 - #define DRIVER_AUTHOR "VA Linux Systems Inc." #define DRIVER_NAME "gamma" @@ -71,44 +69,9 @@ /* DMA customization: */ -#define __HAVE_DMA 1 -#define __HAVE_AGP 1 -#define __MUST_HAVE_AGP 0 -#define __HAVE_OLD_DMA 1 -#define __HAVE_PCI_DMA 1 - -#define __HAVE_DRIVER_FOPS_READ 1 -#define __HAVE_DRIVER_FOPS_POLL 1 - #define __HAVE_MULTIPLE_DMA_QUEUES 1 #define __HAVE_DMA_WAITQUEUE 1 -#define __HAVE_DMA_WAITLIST 1 -#define __HAVE_DMA_FREELIST 1 - -#define __HAVE_DMA_FLUSH 1 -#define __HAVE_DMA_SCHEDULE 1 - -#define __HAVE_DMA_READY 1 -#define DRIVER_DMA_READY() do { \ - gamma_dma_ready(dev); \ -} while (0) - -#define __HAVE_DMA_QUIESCENT 1 -#define DRIVER_DMA_QUIESCENT() do { \ - drm_gamma_private_t *dev_priv = \ - (drm_gamma_private_t *)dev->dev_private; \ - if (dev_priv->num_rast == 2) \ - gamma_dma_quiescent_dual(dev); \ - else gamma_dma_quiescent_single(dev); \ - return 0; \ -} while (0) - -#define __HAVE_IRQ 1 -#define __HAVE_IRQ_BH 1 - -#define DRIVER_AGP_BUFFERS_MAP( dev ) \ - ((drm_gamma_private_t *)((dev)->dev_private))->buffers - +/* removed from DRM HAVE_DMA_FREELIST & HAVE_DMA_SCHEDULE */ #endif /* __GAMMA_H__ */ diff --git a/drivers/char/drm/gamma_dma.c b/drivers/char/drm/gamma_dma.c index 7802f5156..7e01ca182 100644 --- a/drivers/char/drm/gamma_dma.c +++ b/drivers/char/drm/gamma_dma.c @@ -116,7 +116,7 @@ static inline int gamma_dma_is_ready(drm_device_t *dev) return (!GAMMA_READ(GAMMA_DMACOUNT)); } -irqreturn_t gamma_irq_handler( DRM_IRQ_ARGS ) +irqreturn_t gamma_driver_irq_handler( DRM_IRQ_ARGS ) { drm_device_t *dev = (drm_device_t *)arg; drm_device_dma_t *dma = dev->dma; @@ -639,12 +639,12 @@ static int gamma_do_init_dma( drm_device_t *dev, drm_gamma_init_t *init ) break; } } - - DRM_FIND_MAP( dev_priv->mmio0, init->mmio0 ); - DRM_FIND_MAP( dev_priv->mmio1, init->mmio1 ); - DRM_FIND_MAP( dev_priv->mmio2, init->mmio2 ); - DRM_FIND_MAP( dev_priv->mmio3, init->mmio3 ); - + + dev_priv->mmio0 = drm_core_findmap(dev, init->mmio0); + dev_priv->mmio1 = drm_core_findmap(dev, init->mmio1); + dev_priv->mmio2 = drm_core_findmap(dev, init->mmio2); + dev_priv->mmio3 = drm_core_findmap(dev, init->mmio3); + dev_priv->sarea_priv = (drm_gamma_sarea_t *) ((u8 *)dev_priv->sarea->handle + init->sarea_priv_offset); @@ -661,9 +661,8 @@ static int gamma_do_init_dma( drm_device_t *dev, drm_gamma_init_t *init ) buf = dma->buflist[GLINT_DRI_BUF_COUNT]; } else { - DRM_FIND_MAP( dev_priv->buffers, init->buffers_offset ); - - DRM_IOREMAP( dev_priv->buffers, dev ); + dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); + drm_core_ioremap( dev->agp_buffer_map, dev); buf = dma->buflist[GLINT_DRI_BUF_COUNT]; pgt = buf->address; @@ -690,19 +689,18 @@ int gamma_do_cleanup_dma( drm_device_t *dev ) { DRM_DEBUG( "%s\n", __FUNCTION__ ); -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ - if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); -#endif + if (drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) + if ( dev->irq_enabled ) + DRM(irq_uninstall)(dev); if ( dev->dev_private ) { - drm_gamma_private_t *dev_priv = dev->dev_private; - if ( dev_priv->buffers != NULL ) - DRM_IOREMAPFREE( dev_priv->buffers, dev ); + if ( dev->agp_buffer_map != NULL ) + drm_core_ioremapfree( dev->agp_buffer_map, dev ); DRM(free)( dev->dev_private, sizeof(drm_gamma_private_t), DRM_MEM_DRIVER ); @@ -868,7 +866,7 @@ int gamma_setsareactx(struct inode *inode, struct file *filp, return 0; } -void DRM(driver_irq_preinstall)( drm_device_t *dev ) { +void gamma_driver_irq_preinstall( drm_device_t *dev ) { drm_gamma_private_t *dev_priv = (drm_gamma_private_t *)dev->dev_private; @@ -879,7 +877,7 @@ void DRM(driver_irq_preinstall)( drm_device_t *dev ) { GAMMA_WRITE( GAMMA_GDMACONTROL, 0x00000000 ); } -void DRM(driver_irq_postinstall)( drm_device_t *dev ) { +void gamma_driver_irq_postinstall( drm_device_t *dev ) { drm_gamma_private_t *dev_priv = (drm_gamma_private_t *)dev->dev_private; @@ -891,7 +889,7 @@ void DRM(driver_irq_postinstall)( drm_device_t *dev ) { GAMMA_WRITE( GAMMA_GDELAYTIMER, 0x00039090 ); } -void DRM(driver_irq_uninstall)( drm_device_t *dev ) { +void gamma_driver_irq_uninstall( drm_device_t *dev ) { drm_gamma_private_t *dev_priv = (drm_gamma_private_t *)dev->dev_private; if (!dev_priv) @@ -904,3 +902,45 @@ void DRM(driver_irq_uninstall)( drm_device_t *dev ) { GAMMA_WRITE( GAMMA_COMMANDINTENABLE, 0x00000000 ); GAMMA_WRITE( GAMMA_GINTENABLE, 0x00000000 ); } + +extern drm_ioctl_desc_t DRM(ioctls)[]; + +static int gamma_driver_preinit(drm_device_t *dev) +{ + /* reset the finish ioctl */ + DRM(ioctls)[DRM_IOCTL_NR(DRM_IOCTL_FINISH)].func = DRM(finish); + return 0; +} + +static void gamma_driver_pretakedown(drm_device_t *dev) +{ + gamma_do_cleanup_dma(dev); +} + +static void gamma_driver_dma_ready(drm_device_t *dev) +{ + gamma_dma_ready(dev); +} + +static int gamma_driver_dma_quiescent(drm_device_t *dev) +{ + drm_gamma_private_t *dev_priv = ( + drm_gamma_private_t *)dev->dev_private; + if (dev_priv->num_rast == 2) + gamma_dma_quiescent_dual(dev); + else gamma_dma_quiescent_single(dev); + return 0; +} + +void gamma_driver_register_fns(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ; + DRM(fops).read = gamma_fops_read; + DRM(fops).poll = gamma_fops_poll; + dev->fn_tbl.preinit = gamma_driver_preinit; + dev->fn_tbl.pretakedown = gamma_driver_pretakedown; + dev->fn_tbl.dma_ready = gamma_driver_dma_ready; + dev->fn_tbl.dma_quiescent = gamma_driver_dma_quiescent; + dev->fn_tbl.dma_flush_block_and_flush = gamma_flush_block_and_flush; + dev->fn_tbl.dma_flush_unblock = gamma_flush_unblock; +} diff --git a/drivers/char/drm/gamma_drv.c b/drivers/char/drm/gamma_drv.c index b1fb05055..e7e64b627 100644 --- a/drivers/char/drm/gamma_drv.c +++ b/drivers/char/drm/gamma_drv.c @@ -56,3 +56,4 @@ #include "drm_proc.h" #include "drm_vm.h" #include "drm_stub.h" +#include "drm_scatter.h" diff --git a/drivers/char/drm/i810.h b/drivers/char/drm/i810.h index aee2efff1..2ea83be82 100644 --- a/drivers/char/drm/i810.h +++ b/drivers/char/drm/i810.h @@ -36,10 +36,6 @@ /* General customization: */ -#define __HAVE_AGP 1 -#define __MUST_HAVE_AGP 1 -#define __HAVE_MTRR 1 -#define __HAVE_CTX_BITMAP 1 #define DRIVER_AUTHOR "VA Linux Systems Inc." @@ -78,47 +74,4 @@ [DRM_IOCTL_NR(DRM_IOCTL_I810_RSTATUS)] = { i810_rstatus, 1, 0 }, \ [DRM_IOCTL_NR(DRM_IOCTL_I810_FLIP)] = { i810_flip_bufs, 1, 0 } -#define __HAVE_COUNTERS 4 -#define __HAVE_COUNTER6 _DRM_STAT_IRQ -#define __HAVE_COUNTER7 _DRM_STAT_PRIMARY -#define __HAVE_COUNTER8 _DRM_STAT_SECONDARY -#define __HAVE_COUNTER9 _DRM_STAT_DMA - -/* Driver customization: - */ -#define __HAVE_RELEASE 1 -#define DRIVER_RELEASE() do { \ - i810_reclaim_buffers( filp ); \ -} while (0) - -#define DRIVER_PRETAKEDOWN() do { \ - i810_dma_cleanup( dev ); \ -} while (0) - -/* DMA customization: - */ -#define __HAVE_DMA 1 -#define __HAVE_DMA_QUEUE 1 -#define __HAVE_DMA_WAITLIST 0 -#define __HAVE_DMA_RECLAIM 1 - -#define __HAVE_DMA_QUIESCENT 1 -#define DRIVER_DMA_QUIESCENT() do { \ - i810_dma_quiescent( dev ); \ -} while (0) - -/* Don't need an irq any more. The template code will make sure that - * a noop stub is generated for compatibility. - */ -/* XXX: Add vblank support? */ -#define __HAVE_IRQ 0 - -/* Buffer customization: - */ - -#define DRIVER_BUF_PRIV_T drm_i810_buf_priv_t - -#define DRIVER_AGP_BUFFERS_MAP( dev ) \ - ((drm_i810_private_t *)((dev)->dev_private))->buffer_map - #endif diff --git a/drivers/char/drm/i810_dma.c b/drivers/char/drm/i810_dma.c index 800a69fc6..d9348ac71 100644 --- a/drivers/char/drm/i810_dma.c +++ b/drivers/char/drm/i810_dma.c @@ -232,13 +232,12 @@ int i810_dma_cleanup(drm_device_t *dev) { drm_device_dma_t *dma = dev->dma; -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ - if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); -#endif + if (drm_core_check_feature(dev, DRIVER_HAVE_IRQ) && dev->irq_enabled) + DRM(irq_uninstall)(dev); if (dev->dev_private) { int i; @@ -364,15 +363,15 @@ static int i810_dma_initialize(drm_device_t *dev, DRM_ERROR("can not find sarea!\n"); return -EINVAL; } - DRM_FIND_MAP( dev_priv->mmio_map, init->mmio_offset ); + dev_priv->mmio_map = drm_core_findmap(dev, init->mmio_offset); if (!dev_priv->mmio_map) { dev->dev_private = (void *)dev_priv; i810_dma_cleanup(dev); DRM_ERROR("can not find mmio map!\n"); return -EINVAL; } - DRM_FIND_MAP( dev_priv->buffer_map, init->buffers_offset ); - if (!dev_priv->buffer_map) { + dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); + if (!dev->agp_buffer_map) { dev->dev_private = (void *)dev_priv; i810_dma_cleanup(dev); DRM_ERROR("can not find dma buffer map!\n"); @@ -843,7 +842,7 @@ static void i810_dma_dispatch_vertex(drm_device_t *dev, if (buf_priv->currently_mapped == I810_BUF_MAPPED) { unsigned int prim = (sarea_priv->vertex_prim & PR_MASK); - + *(u32 *)buf_priv->kernel_virtual = ((GFX_OP_PRIMITIVE | prim | ((used/4)-2))); if (used & 4) { @@ -1388,3 +1387,36 @@ int i810_flip_bufs(struct inode *inode, struct file *filp, i810_dma_dispatch_flip( dev ); return 0; } + +static void i810_driver_pretakedown(drm_device_t *dev) +{ + i810_dma_cleanup( dev ); +} + +static void i810_driver_release(drm_device_t *dev, struct file *filp) +{ + i810_reclaim_buffers(filp); +} + +static int i810_driver_dma_quiescent(drm_device_t *dev) +{ + i810_dma_quiescent( dev ); + return 0; +} + +void i810_driver_register_fns(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_DMA | DRIVER_DMA_QUEUE; + dev->dev_priv_size = sizeof(drm_i810_buf_priv_t); + dev->fn_tbl.pretakedown = i810_driver_pretakedown; + dev->fn_tbl.release = i810_driver_release; + dev->fn_tbl.dma_quiescent = i810_driver_dma_quiescent; + dev->fn_tbl.reclaim_buffers = i810_reclaim_buffers; + + dev->counters += 4; + dev->types[6] = _DRM_STAT_IRQ; + dev->types[7] = _DRM_STAT_PRIMARY; + dev->types[8] = _DRM_STAT_SECONDARY; + dev->types[9] = _DRM_STAT_DMA; +} + diff --git a/drivers/char/drm/i830.h b/drivers/char/drm/i830.h index b4a361bf0..85a1ac204 100644 --- a/drivers/char/drm/i830.h +++ b/drivers/char/drm/i830.h @@ -36,10 +36,6 @@ /* General customization: */ -#define __HAVE_AGP 1 -#define __MUST_HAVE_AGP 1 -#define __HAVE_MTRR 1 -#define __HAVE_CTX_BITMAP 1 #define DRIVER_AUTHOR "VA Linux Systems Inc." @@ -77,36 +73,6 @@ [DRM_IOCTL_NR(DRM_IOCTL_I830_GETPARAM)] = { i830_getparam, 1, 0 }, \ [DRM_IOCTL_NR(DRM_IOCTL_I830_SETPARAM)] = { i830_setparam, 1, 0 } -#define __HAVE_COUNTERS 4 -#define __HAVE_COUNTER6 _DRM_STAT_IRQ -#define __HAVE_COUNTER7 _DRM_STAT_PRIMARY -#define __HAVE_COUNTER8 _DRM_STAT_SECONDARY -#define __HAVE_COUNTER9 _DRM_STAT_DMA - -/* Driver customization: - */ -#define __HAVE_RELEASE 1 -#define DRIVER_RELEASE() do { \ - i830_reclaim_buffers( filp ); \ -} while (0) - -#define DRIVER_PRETAKEDOWN() do { \ - i830_dma_cleanup( dev ); \ -} while (0) - -/* DMA customization: - */ -#define __HAVE_DMA 1 -#define __HAVE_DMA_QUEUE 1 -#define __HAVE_DMA_WAITLIST 0 -#define __HAVE_DMA_RECLAIM 1 - -#define __HAVE_DMA_QUIESCENT 1 -#define DRIVER_DMA_QUIESCENT() do { \ - i830_dma_quiescent( dev ); \ -} while (0) - - /* Driver will work either way: IRQ's save cpu time when waiting for * the card, but are subject to subtle interactions between bios, * hardware and the driver. @@ -114,20 +80,4 @@ /* XXX: Add vblank support? */ #define USE_IRQS 0 -#if USE_IRQS -#define __HAVE_IRQ 1 -#define __HAVE_SHARED_IRQ 1 -#else -#define __HAVE_IRQ 0 -#endif - - -/* Buffer customization: - */ - -#define DRIVER_BUF_PRIV_T drm_i830_buf_priv_t - -#define DRIVER_AGP_BUFFERS_MAP( dev ) \ - ((drm_i830_private_t *)((dev)->dev_private))->buffer_map - #endif diff --git a/drivers/char/drm/i830_dma.c b/drivers/char/drm/i830_dma.c index 5f8b8fd43..084e9da08 100644 --- a/drivers/char/drm/i830_dma.c +++ b/drivers/char/drm/i830_dma.c @@ -233,13 +233,11 @@ int i830_dma_cleanup(drm_device_t *dev) { drm_device_dma_t *dma = dev->dma; -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); -#endif if (dev->dev_private) { int i; @@ -371,15 +369,15 @@ static int i830_dma_initialize(drm_device_t *dev, DRM_ERROR("can not find sarea!\n"); return -EINVAL; } - DRM_FIND_MAP( dev_priv->mmio_map, init->mmio_offset ); + dev_priv->mmio_map = drm_core_findmap(dev, init->mmio_offset); if(!dev_priv->mmio_map) { dev->dev_private = (void *)dev_priv; i830_dma_cleanup(dev); DRM_ERROR("can not find mmio map!\n"); return -EINVAL; } - DRM_FIND_MAP( dev_priv->buffer_map, init->buffers_offset ); - if(!dev_priv->buffer_map) { + dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); + if(!dev->agp_buffer_map) { dev->dev_private = (void *)dev_priv; i830_dma_cleanup(dev); DRM_ERROR("can not find dma buffer map!\n"); @@ -1166,11 +1164,11 @@ static void i830_dma_dispatch_vertex(drm_device_t *dev, DRM_DEBUG( "start + used - 4 : %ld\n", start + used - 4); if (buf_priv->currently_mapped == I830_BUF_MAPPED) { - u32 *vp = buf_priv->kernel_virtual; + u32 *vp = buf_priv->kernel_virtual; - vp[0] = (GFX_OP_PRIMITIVE | - sarea_priv->vertex_prim | - ((used/4)-2)); + vp[0] = (GFX_OP_PRIMITIVE | + sarea_priv->vertex_prim | + ((used/4)-2)); if (dev_priv->use_mi_batchbuffer_start) { vp[used/4] = MI_BATCH_BUFFER_END; @@ -1582,3 +1580,45 @@ int i830_setparam( struct inode *inode, struct file *filp, unsigned int cmd, return 0; } + + +static void i830_driver_pretakedown(drm_device_t *dev) +{ + i830_dma_cleanup( dev ); +} + +static void i830_driver_release(drm_device_t *dev, struct file *filp) +{ + i830_reclaim_buffers(filp); +} + +static int i830_driver_dma_quiescent(drm_device_t *dev) +{ + i830_dma_quiescent( dev ); + return 0; +} + +void i830_driver_register_fns(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_DMA | DRIVER_DMA_QUEUE; +#if USE_IRQS + dev->driver_features |= DRIVER_HAVE_IRQ | DRIVER_SHARED_IRQ; +#endif + dev->dev_priv_size = sizeof(drm_i830_buf_priv_t); + dev->fn_tbl.pretakedown = i830_driver_pretakedown; + dev->fn_tbl.release = i830_driver_release; + dev->fn_tbl.dma_quiescent = i830_driver_dma_quiescent; + dev->fn_tbl.reclaim_buffers = i830_reclaim_buffers; +#if USE_IRQS + dev->fn_tbl.irq_preinstall = i830_driver_irq_preinstall; + dev->fn_tbl.irq_postinstall = i830_driver_irq_postinstall; + dev->fn_tbl.irq_uninstall = i830_driver_irq_uninstall; + dev->fn_tbl.irq_handler = i830_driver_irq_handler; +#endif + dev->counters += 4; + dev->types[6] = _DRM_STAT_IRQ; + dev->types[7] = _DRM_STAT_PRIMARY; + dev->types[8] = _DRM_STAT_SECONDARY; + dev->types[9] = _DRM_STAT_DMA; +} + diff --git a/drivers/char/drm/i830_drv.c b/drivers/char/drm/i830_drv.c index 2f4e81572..eb45b2726 100644 --- a/drivers/char/drm/i830_drv.c +++ b/drivers/char/drm/i830_drv.c @@ -39,20 +39,4 @@ #include "i830_drm.h" #include "i830_drv.h" -#include "drm_agpsupport.h" -#include "drm_auth.h" -#include "drm_bufs.h" -#include "drm_context.h" -#include "drm_dma.h" -#include "drm_drawable.h" -#include "drm_drv.h" - -#include "drm_fops.h" -#include "drm_init.h" -#include "drm_ioctl.h" -#include "drm_irq.h" -#include "drm_lock.h" -#include "drm_memory.h" -#include "drm_proc.h" -#include "drm_vm.h" -#include "drm_stub.h" +#include "drm_core.h" diff --git a/drivers/char/drm/i830_irq.c b/drivers/char/drm/i830_irq.c index 362d66ef1..6a0e25c26 100644 --- a/drivers/char/drm/i830_irq.c +++ b/drivers/char/drm/i830_irq.c @@ -35,7 +35,7 @@ #include -irqreturn_t DRM(irq_handler)( DRM_IRQ_ARGS ) +irqreturn_t i830_driver_irq_handler( DRM_IRQ_ARGS ) { drm_device_t *dev = (drm_device_t *)arg; drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private; @@ -92,7 +92,7 @@ int i830_wait_irq(drm_device_t *dev, int irq_nr) add_wait_queue(&dev_priv->irq_queue, &entry); for (;;) { - current->state = TASK_INTERRUPTIBLE; + __set_current_state(TASK_INTERRUPTIBLE); if (atomic_read(&dev_priv->irq_received) >= irq_nr) break; if((signed)(end - jiffies) <= 0) { @@ -112,7 +112,7 @@ int i830_wait_irq(drm_device_t *dev, int irq_nr) } } - current->state = TASK_RUNNING; + __set_current_state(TASK_RUNNING); remove_wait_queue(&dev_priv->irq_queue, &entry); return ret; } @@ -178,7 +178,7 @@ int i830_irq_wait( struct inode *inode, struct file *filp, unsigned int cmd, /* drm_dma.h hooks */ -void DRM(driver_irq_preinstall)( drm_device_t *dev ) { +void i830_driver_irq_preinstall( drm_device_t *dev ) { drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private; @@ -190,14 +190,14 @@ void DRM(driver_irq_preinstall)( drm_device_t *dev ) { init_waitqueue_head(&dev_priv->irq_queue); } -void DRM(driver_irq_postinstall)( drm_device_t *dev ) { +void i830_driver_irq_postinstall( drm_device_t *dev ) { drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private; I830_WRITE16( I830REG_INT_ENABLE_R, 0x2 ); } -void DRM(driver_irq_uninstall)( drm_device_t *dev ) { +void i830_driver_irq_uninstall( drm_device_t *dev ) { drm_i830_private_t *dev_priv = (drm_i830_private_t *)dev->dev_private; if (!dev_priv) diff --git a/drivers/char/drm/mga.h b/drivers/char/drm/mga.h index 702857a32..5356519e5 100644 --- a/drivers/char/drm/mga.h +++ b/drivers/char/drm/mga.h @@ -36,10 +36,6 @@ /* General customization: */ -#define __HAVE_AGP 1 -#define __MUST_HAVE_AGP 1 -#define __HAVE_MTRR 1 -#define __HAVE_CTX_BITMAP 1 #define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc." @@ -64,35 +60,4 @@ [DRM_IOCTL_NR(DRM_IOCTL_MGA_BLIT)] = { mga_dma_blit, 1, 0 }, \ [DRM_IOCTL_NR(DRM_IOCTL_MGA_GETPARAM)]= { mga_getparam, 1, 0 }, -#define __HAVE_COUNTERS 3 -#define __HAVE_COUNTER6 _DRM_STAT_IRQ -#define __HAVE_COUNTER7 _DRM_STAT_PRIMARY -#define __HAVE_COUNTER8 _DRM_STAT_SECONDARY - -/* Driver customization: - */ -#define DRIVER_PRETAKEDOWN() do { \ - mga_do_cleanup_dma( dev ); \ -} while (0) - -/* DMA customization: - */ -#define __HAVE_DMA 1 -#define __HAVE_IRQ 1 -#define __HAVE_VBL_IRQ 1 -#define __HAVE_SHARED_IRQ 1 - -#define __HAVE_DMA_QUIESCENT 1 -#define DRIVER_DMA_QUIESCENT() do { \ - drm_mga_private_t *dev_priv = dev->dev_private; \ - return mga_do_wait_for_idle( dev_priv ); \ -} while (0) - -/* Buffer customization: - */ -#define DRIVER_BUF_PRIV_T drm_mga_buf_priv_t - -#define DRIVER_AGP_BUFFERS_MAP( dev ) \ - ((drm_mga_private_t *)((dev)->dev_private))->buffers - #endif diff --git a/drivers/char/drm/mga_dma.c b/drivers/char/drm/mga_dma.c index 76fbf714b..54b64c782 100644 --- a/drivers/char/drm/mga_dma.c +++ b/drivers/char/drm/mga_dma.c @@ -500,7 +500,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init ) return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset ); + dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset); if(!dev_priv->mmio) { DRM_ERROR( "failed to find mmio region!\n" ); /* Assign dev_private so we can do cleanup. */ @@ -508,7 +508,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init ) mga_do_cleanup_dma( dev ); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->status, init->status_offset ); + dev_priv->status = drm_core_findmap(dev, init->status_offset); if(!dev_priv->status) { DRM_ERROR( "failed to find status page!\n" ); /* Assign dev_private so we can do cleanup. */ @@ -516,8 +516,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init ) mga_do_cleanup_dma( dev ); return DRM_ERR(EINVAL); } - - DRM_FIND_MAP( dev_priv->warp, init->warp_offset ); + dev_priv->warp = drm_core_findmap(dev, init->warp_offset); if(!dev_priv->warp) { DRM_ERROR( "failed to find warp microcode region!\n" ); /* Assign dev_private so we can do cleanup. */ @@ -525,7 +524,7 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init ) mga_do_cleanup_dma( dev ); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->primary, init->primary_offset ); + dev_priv->primary = drm_core_findmap(dev, init->primary_offset); if(!dev_priv->primary) { DRM_ERROR( "failed to find primary dma region!\n" ); /* Assign dev_private so we can do cleanup. */ @@ -533,8 +532,8 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init ) mga_do_cleanup_dma( dev ); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->buffers, init->buffers_offset ); - if(!dev_priv->buffers) { + dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); + if(!dev->agp_buffer_map) { DRM_ERROR( "failed to find dma buffer region!\n" ); /* Assign dev_private so we can do cleanup. */ dev->dev_private = (void *)dev_priv; @@ -546,13 +545,13 @@ static int mga_do_init_dma( drm_device_t *dev, drm_mga_init_t *init ) (drm_mga_sarea_t *)((u8 *)dev_priv->sarea->handle + init->sarea_priv_offset); - DRM_IOREMAP( dev_priv->warp, dev ); - DRM_IOREMAP( dev_priv->primary, dev ); - DRM_IOREMAP( dev_priv->buffers, dev ); + drm_core_ioremap( dev_priv->warp, dev ); + drm_core_ioremap( dev_priv->primary, dev ); + drm_core_ioremap( dev->agp_buffer_map, dev ); if(!dev_priv->warp->handle || !dev_priv->primary->handle || - !dev_priv->buffers->handle ) { + !dev->agp_buffer_map->handle ) { DRM_ERROR( "failed to ioremap agp regions!\n" ); /* Assign dev_private so we can do cleanup. */ dev->dev_private = (void *)dev_priv; @@ -631,23 +630,21 @@ int mga_do_cleanup_dma( drm_device_t *dev ) { DRM_DEBUG( "\n" ); -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); -#endif if ( dev->dev_private ) { drm_mga_private_t *dev_priv = dev->dev_private; if ( dev_priv->warp != NULL ) - DRM_IOREMAPFREE( dev_priv->warp, dev ); + drm_core_ioremapfree( dev_priv->warp, dev ); if ( dev_priv->primary != NULL ) - DRM_IOREMAPFREE( dev_priv->primary, dev ); - if ( dev_priv->buffers != NULL ) - DRM_IOREMAPFREE( dev_priv->buffers, dev ); + drm_core_ioremapfree( dev_priv->primary, dev ); + if ( dev->agp_buffer_map != NULL ) + drm_core_ioremapfree( dev->agp_buffer_map, dev ); if ( dev_priv->head != NULL ) { mga_freelist_cleanup( dev ); @@ -800,3 +797,31 @@ int mga_dma_buffers( DRM_IOCTL_ARGS ) return ret; } + +static void mga_driver_pretakedown(drm_device_t *dev) +{ + mga_do_cleanup_dma( dev ); +} + +static int mga_driver_dma_quiescent(drm_device_t *dev) +{ + drm_mga_private_t *dev_priv = dev->dev_private; + return mga_do_wait_for_idle( dev_priv ); +} + +void mga_driver_register_fns(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_REQUIRE_AGP | DRIVER_USE_MTRR | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL; + dev->fn_tbl.pretakedown = mga_driver_pretakedown; + dev->fn_tbl.dma_quiescent = mga_driver_dma_quiescent; + dev->fn_tbl.vblank_wait = mga_driver_vblank_wait; + dev->fn_tbl.irq_preinstall = mga_driver_irq_preinstall; + dev->fn_tbl.irq_postinstall = mga_driver_irq_postinstall; + dev->fn_tbl.irq_uninstall = mga_driver_irq_uninstall; + dev->fn_tbl.irq_handler = mga_driver_irq_handler; + + dev->counters += 3; + dev->types[6] = _DRM_STAT_IRQ; + dev->types[7] = _DRM_STAT_PRIMARY; + dev->types[8] = _DRM_STAT_SECONDARY; +} diff --git a/drivers/char/drm/mga_drv.c b/drivers/char/drm/mga_drv.c index 6bcad048f..aa27a2c4b 100644 --- a/drivers/char/drm/mga_drv.c +++ b/drivers/char/drm/mga_drv.c @@ -35,19 +35,4 @@ #include "drm.h" #include "mga_drm.h" #include "mga_drv.h" -#include "drm_agpsupport.h" -#include "drm_auth.h" -#include "drm_bufs.h" -#include "drm_context.h" -#include "drm_dma.h" -#include "drm_drawable.h" -#include "drm_drv.h" -#include "drm_fops.h" -#include "drm_init.h" -#include "drm_ioctl.h" -#include "drm_irq.h" -#include "drm_lock.h" -#include "drm_memory.h" -#include "drm_proc.h" -#include "drm_vm.h" -#include "drm_stub.h" +#include "drm_core.h" diff --git a/drivers/char/drm/mga_drv.h b/drivers/char/drm/mga_drv.h index 65847165c..75dcb0e93 100644 --- a/drivers/char/drm/mga_drv.h +++ b/drivers/char/drm/mga_drv.h @@ -130,6 +130,12 @@ extern int mga_getparam( DRM_IOCTL_ARGS ); extern int mga_warp_install_microcode( drm_mga_private_t *dev_priv ); extern int mga_warp_init( drm_mga_private_t *dev_priv ); +extern int mga_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence); +extern irqreturn_t mga_driver_irq_handler( DRM_IRQ_ARGS ); +extern void mga_driver_irq_preinstall( drm_device_t *dev ); +extern void mga_driver_irq_postinstall( drm_device_t *dev ); +extern void mga_driver_irq_uninstall( drm_device_t *dev ); + #define mga_flush_write_combine() DRM_WRITEMEMORYBARRIER() #if defined(__linux__) && defined(__alpha__) diff --git a/drivers/char/drm/mga_irq.c b/drivers/char/drm/mga_irq.c index e486618b2..c3185b0b8 100644 --- a/drivers/char/drm/mga_irq.c +++ b/drivers/char/drm/mga_irq.c @@ -36,7 +36,7 @@ #include "mga_drm.h" #include "mga_drv.h" -irqreturn_t mga_irq_handler( DRM_IRQ_ARGS ) +irqreturn_t mga_driver_irq_handler( DRM_IRQ_ARGS ) { drm_device_t *dev = (drm_device_t *) arg; drm_mga_private_t *dev_priv = @@ -56,7 +56,7 @@ irqreturn_t mga_irq_handler( DRM_IRQ_ARGS ) return IRQ_NONE; } -int mga_vblank_wait(drm_device_t *dev, unsigned int *sequence) +int mga_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence) { unsigned int cur_vblank; int ret = 0; diff --git a/drivers/char/drm/r128.h b/drivers/char/drm/r128.h index 9dfe18974..1df7042a2 100644 --- a/drivers/char/drm/r128.h +++ b/drivers/char/drm/r128.h @@ -36,13 +36,6 @@ /* General customization: */ -#define __HAVE_AGP 1 -#define __MUST_HAVE_AGP 0 -#define __HAVE_MTRR 1 -#define __HAVE_CTX_BITMAP 1 -#define __HAVE_SG 1 -#define __HAVE_PCI_DMA 1 - #define DRIVER_AUTHOR "Gareth Hughes, VA Linux Systems Inc." #define DRIVER_NAME "r128" @@ -79,42 +72,4 @@ [DRM_IOCTL_NR(DRM_IOCTL_R128_INDIRECT)] = { r128_cce_indirect, 1, 1 }, \ [DRM_IOCTL_NR(DRM_IOCTL_R128_GETPARAM)] = { r128_getparam, 1, 0 }, -/* Driver customization: - */ -#define DRIVER_PRERELEASE() do { \ - if ( dev->dev_private ) { \ - drm_r128_private_t *dev_priv = dev->dev_private; \ - if ( dev_priv->page_flipping ) { \ - r128_do_cleanup_pageflip( dev ); \ - } \ - } \ -} while (0) - -#define DRIVER_PRETAKEDOWN() do { \ - r128_do_cleanup_cce( dev ); \ -} while (0) - -/* DMA customization: - */ -#define __HAVE_DMA 1 -#define __HAVE_IRQ 1 -#define __HAVE_VBL_IRQ 1 -#define __HAVE_SHARED_IRQ 1 - -#if 0 -/* GH: Remove this for now... */ -#define __HAVE_DMA_QUIESCENT 1 -#define DRIVER_DMA_QUIESCENT() do { \ - drm_r128_private_t *dev_priv = dev->dev_private; \ - return r128_do_cce_idle( dev_priv ); \ -} while (0) -#endif - -/* Buffer customization: - */ -#define DRIVER_BUF_PRIV_T drm_r128_buf_priv_t - -#define DRIVER_AGP_BUFFERS_MAP( dev ) \ - ((drm_r128_private_t *)((dev)->dev_private))->buffers - #endif diff --git a/drivers/char/drm/r128_cce.c b/drivers/char/drm/r128_cce.c index 22d38b70c..5fbea8ca6 100644 --- a/drivers/char/drm/r128_cce.c +++ b/drivers/char/drm/r128_cce.c @@ -322,7 +322,7 @@ static void r128_cce_init_ring_buffer( drm_device_t *dev, /* The manual (p. 2) says this address is in "VM space". This * means it's an offset from the start of AGP space. */ -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) ring_start = dev_priv->cce_ring->offset - dev->agp->base; else @@ -467,29 +467,29 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset ); + dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset); if(!dev_priv->mmio) { DRM_ERROR("could not find mmio region!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce( dev ); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->cce_ring, init->ring_offset ); + dev_priv->cce_ring = drm_core_findmap(dev, init->ring_offset); if(!dev_priv->cce_ring) { DRM_ERROR("could not find cce ring region!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce( dev ); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->ring_rptr, init->ring_rptr_offset ); + dev_priv->ring_rptr = drm_core_findmap(dev, init->ring_rptr_offset); if(!dev_priv->ring_rptr) { DRM_ERROR("could not find ring read pointer!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce( dev ); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->buffers, init->buffers_offset ); - if(!dev_priv->buffers) { + dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); + if(!dev->agp_buffer_map) { DRM_ERROR("could not find dma buffer region!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce( dev ); @@ -497,8 +497,7 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) } if ( !dev_priv->is_pci ) { - DRM_FIND_MAP( dev_priv->agp_textures, - init->agp_textures_offset ); + dev_priv->agp_textures = drm_core_findmap(dev, init->agp_textures_offset); if(!dev_priv->agp_textures) { DRM_ERROR("could not find agp texture region!\n"); dev->dev_private = (void *)dev_priv; @@ -511,14 +510,14 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) (drm_r128_sarea_t *)((u8 *)dev_priv->sarea->handle + init->sarea_priv_offset); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { - DRM_IOREMAP( dev_priv->cce_ring, dev ); - DRM_IOREMAP( dev_priv->ring_rptr, dev ); - DRM_IOREMAP( dev_priv->buffers, dev ); + drm_core_ioremap( dev_priv->cce_ring, dev ); + drm_core_ioremap( dev_priv->ring_rptr, dev ); + drm_core_ioremap( dev->agp_buffer_map, dev ); if(!dev_priv->cce_ring->handle || !dev_priv->ring_rptr->handle || - !dev_priv->buffers->handle) { + !dev->agp_buffer_map->handle) { DRM_ERROR("Could not ioremap agp regions!\n"); dev->dev_private = (void *)dev_priv; r128_do_cleanup_cce( dev ); @@ -531,10 +530,10 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) (void *)dev_priv->cce_ring->offset; dev_priv->ring_rptr->handle = (void *)dev_priv->ring_rptr->offset; - dev_priv->buffers->handle = (void *)dev_priv->buffers->offset; + dev->agp_buffer_map->handle = (void *)dev->agp_buffer_map->offset; } -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) dev_priv->cce_buffers_offset = dev->agp->base; else @@ -559,7 +558,7 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) R128_WRITE( R128_LAST_DISPATCH_REG, dev_priv->sarea_priv->last_dispatch ); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( dev_priv->is_pci ) { #endif if (!DRM(ati_pcigart_init)( dev, &dev_priv->phys_pci_gart, @@ -570,7 +569,7 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) return DRM_ERR(ENOMEM); } R128_WRITE( R128_PCI_GART_PAGE, dev_priv->bus_pci_gart ); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP } #endif @@ -587,25 +586,23 @@ static int r128_do_init_cce( drm_device_t *dev, drm_r128_init_t *init ) int r128_do_cleanup_cce( drm_device_t *dev ) { -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); -#endif if ( dev->dev_private ) { drm_r128_private_t *dev_priv = dev->dev_private; -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { if ( dev_priv->cce_ring != NULL ) - DRM_IOREMAPFREE( dev_priv->cce_ring, dev ); + drm_core_ioremapfree( dev_priv->cce_ring, dev ); if ( dev_priv->ring_rptr != NULL ) - DRM_IOREMAPFREE( dev_priv->ring_rptr, dev ); - if ( dev_priv->buffers != NULL ) - DRM_IOREMAPFREE( dev_priv->buffers, dev ); + drm_core_ioremapfree( dev_priv->ring_rptr, dev ); + if ( dev->agp_buffer_map != NULL ) + drm_core_ioremapfree( dev->agp_buffer_map, dev ); } else #endif { diff --git a/drivers/char/drm/r128_drv.c b/drivers/char/drm/r128_drv.c index 1dee16159..8cfc9966c 100644 --- a/drivers/char/drm/r128_drv.c +++ b/drivers/char/drm/r128_drv.c @@ -37,20 +37,4 @@ #include "r128_drv.h" #include "ati_pcigart.h" -#include "drm_agpsupport.h" -#include "drm_auth.h" -#include "drm_bufs.h" -#include "drm_context.h" -#include "drm_dma.h" -#include "drm_drawable.h" -#include "drm_drv.h" -#include "drm_fops.h" -#include "drm_init.h" -#include "drm_ioctl.h" -#include "drm_irq.h" -#include "drm_lock.h" -#include "drm_memory.h" -#include "drm_proc.h" -#include "drm_vm.h" -#include "drm_stub.h" -#include "drm_scatter.h" +#include "drm_core.h" diff --git a/drivers/char/drm/r128_drv.h b/drivers/char/drm/r128_drv.h index 9df32e566..5b91256c1 100644 --- a/drivers/char/drm/r128_drv.h +++ b/drivers/char/drm/r128_drv.h @@ -100,7 +100,6 @@ typedef struct drm_r128_private { drm_local_map_t *mmio; drm_local_map_t *cce_ring; drm_local_map_t *ring_rptr; - drm_local_map_t *buffers; drm_local_map_t *agp_textures; } drm_r128_private_t; @@ -143,6 +142,12 @@ extern int r128_cce_depth( DRM_IOCTL_ARGS ); extern int r128_cce_stipple( DRM_IOCTL_ARGS ); extern int r128_cce_indirect( DRM_IOCTL_ARGS ); +extern int r128_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence); + +extern irqreturn_t r128_driver_irq_handler( DRM_IRQ_ARGS ); +extern void r128_driver_irq_preinstall( drm_device_t *dev ); +extern void r128_driver_irq_postinstall( drm_device_t *dev ); +extern void r128_driver_irq_uninstall( drm_device_t *dev ); /* Register definitions, register access macros and drmAddMap constants * for Rage 128 kernel driver. diff --git a/drivers/char/drm/r128_irq.c b/drivers/char/drm/r128_irq.c index e77a5538b..be1b9dac6 100644 --- a/drivers/char/drm/r128_irq.c +++ b/drivers/char/drm/r128_irq.c @@ -36,7 +36,7 @@ #include "r128_drm.h" #include "r128_drv.h" -irqreturn_t r128_irq_handler( DRM_IRQ_ARGS ) +irqreturn_t r128_driver_irq_handler( DRM_IRQ_ARGS ) { drm_device_t *dev = (drm_device_t *) arg; drm_r128_private_t *dev_priv = @@ -56,7 +56,7 @@ irqreturn_t r128_irq_handler( DRM_IRQ_ARGS ) return IRQ_NONE; } -int DRM(vblank_wait)(drm_device_t *dev, unsigned int *sequence) +int r128_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence) { unsigned int cur_vblank; int ret = 0; diff --git a/drivers/char/drm/r128_state.c b/drivers/char/drm/r128_state.c index 34ebcae1f..adc326698 100644 --- a/drivers/char/drm/r128_state.c +++ b/drivers/char/drm/r128_state.c @@ -667,7 +667,7 @@ static void r128_cce_dispatch_indirect( drm_device_t *dev, */ if ( dwords & 1 ) { u32 *data = (u32 *) - ((char *)dev_priv->buffers->handle + ((char *)dev->agp_buffer_map->handle + buf->offset + start); data[dwords++] = cpu_to_le32( R128_CCE_PACKET2 ); } @@ -713,7 +713,7 @@ static void r128_cce_dispatch_indices( drm_device_t *dev, drm_r128_buf_priv_t *buf_priv = buf->dev_private; drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv; int format = sarea_priv->vc_format; - int offset = dev_priv->buffers->offset - dev_priv->cce_buffers_offset; + int offset = dev->agp_buffer_map->offset - dev_priv->cce_buffers_offset; int prim = buf_priv->prim; u32 *data; int dwords; @@ -733,7 +733,7 @@ static void r128_cce_dispatch_indices( drm_device_t *dev, dwords = (end - start + 3) / sizeof(u32); - data = (u32 *)((char *)dev_priv->buffers->handle + data = (u32 *)((char *)dev->agp_buffer_map->handle + buf->offset + start); data[0] = cpu_to_le32( CCE_PACKET3( R128_3D_RNDR_GEN_INDX_PRIM, @@ -857,7 +857,7 @@ static int r128_cce_dispatch_blit( DRMFILE filp, dwords = (blit->width * blit->height) >> dword_shift; - data = (u32 *)((char *)dev_priv->buffers->handle + buf->offset); + data = (u32 *)((char *)dev->agp_buffer_map->handle + buf->offset); data[0] = cpu_to_le32( CCE_PACKET3( R128_CNTL_HOSTDATA_BLT, dwords + 6 ) ); data[1] = cpu_to_le32( (R128_GMC_DST_PITCH_OFFSET_CNTL | @@ -1694,3 +1694,31 @@ int r128_getparam( DRM_IOCTL_ARGS ) return 0; } + +static void r128_driver_prerelease(drm_device_t *dev, DRMFILE filp) +{ + if ( dev->dev_private ) { + drm_r128_private_t *dev_priv = dev->dev_private; + if ( dev_priv->page_flipping ) { + r128_do_cleanup_pageflip( dev ); + } + } +} + +static void r128_driver_pretakedown(drm_device_t *dev) +{ + r128_do_cleanup_cce( dev ); +} + +void r128_driver_register_fns(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | DRIVER_HAVE_DMA | DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL; + dev->dev_priv_size = sizeof(drm_r128_buf_priv_t); + dev->fn_tbl.prerelease = r128_driver_prerelease; + dev->fn_tbl.pretakedown = r128_driver_pretakedown; + dev->fn_tbl.vblank_wait = r128_driver_vblank_wait; + dev->fn_tbl.irq_preinstall = r128_driver_irq_preinstall; + dev->fn_tbl.irq_postinstall = r128_driver_irq_postinstall; + dev->fn_tbl.irq_uninstall = r128_driver_irq_uninstall; + dev->fn_tbl.irq_handler = r128_driver_irq_handler; +} diff --git a/drivers/char/drm/radeon.h b/drivers/char/drm/radeon.h index 83902f869..43723d53e 100644 --- a/drivers/char/drm/radeon.h +++ b/drivers/char/drm/radeon.h @@ -37,12 +37,6 @@ /* General customization: */ -#define __HAVE_AGP 1 -#define __MUST_HAVE_AGP 0 -#define __HAVE_MTRR 1 -#define __HAVE_CTX_BITMAP 1 -#define __HAVE_SG 1 -#define __HAVE_PCI_DMA 1 #define DRIVER_AUTHOR "Gareth Hughes, Keith Whitwell, others." @@ -115,59 +109,4 @@ [DRM_IOCTL_NR(DRM_IOCTL_RADEON_IRQ_WAIT)] = { radeon_irq_wait, 1, 0 }, \ [DRM_IOCTL_NR(DRM_IOCTL_RADEON_SETPARAM)] = { radeon_cp_setparam, 1, 0 }, \ -#define DRIVER_FILE_FIELDS \ - int64_t radeon_fb_delta; \ - -#define DRIVER_OPEN_HELPER( filp_priv, dev ) \ -do { \ - drm_radeon_private_t *dev_priv = dev->dev_private; \ - if ( dev_priv ) \ - filp_priv->radeon_fb_delta = dev_priv->fb_location; \ - else \ - filp_priv->radeon_fb_delta = 0; \ -} while( 0 ) - -/* When a client dies: - * - Check for and clean up flipped page state - * - Free any alloced GART memory. - * - * DRM infrastructure takes care of reclaiming dma buffers. - */ -#define DRIVER_PRERELEASE() \ -do { \ - if ( dev->dev_private ) { \ - drm_radeon_private_t *dev_priv = dev->dev_private; \ - if ( dev_priv->page_flipping ) { \ - radeon_do_cleanup_pageflip( dev ); \ - } \ - radeon_mem_release( filp, dev_priv->gart_heap ); \ - radeon_mem_release( filp, dev_priv->fb_heap ); \ - } \ -} while (0) - -/* When the last client dies, shut down the CP and free dev->dev_priv. - */ -/* #define __HAVE_RELEASE 1 */ -#define DRIVER_PRETAKEDOWN() \ -do { \ - radeon_do_release( dev ); \ -} while (0) - - - -/* DMA customization: - */ -#define __HAVE_DMA 1 -#define __HAVE_IRQ 1 -#define __HAVE_VBL_IRQ 1 -#define __HAVE_SHARED_IRQ 1 - - -/* Buffer customization: - */ -#define DRIVER_BUF_PRIV_T drm_radeon_buf_priv_t - -#define DRIVER_AGP_BUFFERS_MAP( dev ) \ - ((drm_radeon_private_t *)((dev)->dev_private))->buffers - #endif diff --git a/drivers/char/drm/radeon_cp.c b/drivers/char/drm/radeon_cp.c index f6964908a..43834b906 100644 --- a/drivers/char/drm/radeon_cp.c +++ b/drivers/char/drm/radeon_cp.c @@ -858,7 +858,7 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev, ( ( dev_priv->gart_vm_start - 1 ) & 0xffff0000 ) | ( dev_priv->fb_location >> 16 ) ); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { RADEON_WRITE( RADEON_MC_AGP_LOCATION, (((dev_priv->gart_vm_start - 1 + @@ -885,7 +885,7 @@ static void radeon_cp_init_ring_buffer( drm_device_t *dev, SET_RING_HEAD( dev_priv, cur_read_ptr ); dev_priv->ring.tail = cur_read_ptr; -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { RADEON_WRITE( RADEON_CP_RB_RPTR_ADDR, dev_priv->ring_rptr->offset @@ -1118,29 +1118,29 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init ) return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->mmio, init->mmio_offset ); + dev_priv->mmio = drm_core_findmap(dev, init->mmio_offset); if(!dev_priv->mmio) { DRM_ERROR("could not find mmio region!\n"); dev->dev_private = (void *)dev_priv; radeon_do_cleanup_cp(dev); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->cp_ring, init->ring_offset ); + dev_priv->cp_ring = drm_core_findmap(dev, init->ring_offset); if(!dev_priv->cp_ring) { DRM_ERROR("could not find cp ring region!\n"); dev->dev_private = (void *)dev_priv; radeon_do_cleanup_cp(dev); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->ring_rptr, init->ring_rptr_offset ); + dev_priv->ring_rptr = drm_core_findmap(dev, init->ring_rptr_offset); if(!dev_priv->ring_rptr) { DRM_ERROR("could not find ring read pointer!\n"); dev->dev_private = (void *)dev_priv; radeon_do_cleanup_cp(dev); return DRM_ERR(EINVAL); } - DRM_FIND_MAP( dev_priv->buffers, init->buffers_offset ); - if(!dev_priv->buffers) { + dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); + if(!dev->agp_buffer_map) { DRM_ERROR("could not find dma buffer region!\n"); dev->dev_private = (void *)dev_priv; radeon_do_cleanup_cp(dev); @@ -1148,7 +1148,7 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init ) } if ( init->gart_textures_offset ) { - DRM_FIND_MAP( dev_priv->gart_textures, init->gart_textures_offset ); + dev_priv->gart_textures = drm_core_findmap(dev, init->gart_textures_offset); if ( !dev_priv->gart_textures ) { DRM_ERROR("could not find GART texture region!\n"); dev->dev_private = (void *)dev_priv; @@ -1161,14 +1161,14 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init ) (drm_radeon_sarea_t *)((u8 *)dev_priv->sarea->handle + init->sarea_priv_offset); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { - DRM_IOREMAP( dev_priv->cp_ring, dev ); - DRM_IOREMAP( dev_priv->ring_rptr, dev ); - DRM_IOREMAP( dev_priv->buffers, dev ); + drm_core_ioremap( dev_priv->cp_ring, dev ); + drm_core_ioremap( dev_priv->ring_rptr, dev ); + drm_core_ioremap( dev->agp_buffer_map, dev ); if(!dev_priv->cp_ring->handle || !dev_priv->ring_rptr->handle || - !dev_priv->buffers->handle) { + !dev->agp_buffer_map->handle) { DRM_ERROR("could not find ioremap agp regions!\n"); dev->dev_private = (void *)dev_priv; radeon_do_cleanup_cp(dev); @@ -1181,14 +1181,14 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init ) (void *)dev_priv->cp_ring->offset; dev_priv->ring_rptr->handle = (void *)dev_priv->ring_rptr->offset; - dev_priv->buffers->handle = (void *)dev_priv->buffers->offset; + dev->agp_buffer_map->handle = (void *)dev->agp_buffer_map->offset; DRM_DEBUG( "dev_priv->cp_ring->handle %p\n", dev_priv->cp_ring->handle ); DRM_DEBUG( "dev_priv->ring_rptr->handle %p\n", dev_priv->ring_rptr->handle ); - DRM_DEBUG( "dev_priv->buffers->handle %p\n", - dev_priv->buffers->handle ); + DRM_DEBUG( "dev->agp_buffer_map->handle %p\n", + dev->agp_buffer_map->handle ); } dev_priv->fb_location = ( RADEON_READ( RADEON_MC_FB_LOCATION ) @@ -1211,14 +1211,14 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init ) dev_priv->gart_vm_start = dev_priv->fb_location + RADEON_READ( RADEON_CONFIG_APER_SIZE ); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) - dev_priv->gart_buffers_offset = (dev_priv->buffers->offset + dev_priv->gart_buffers_offset = (dev->agp_buffer_map->offset - dev->agp->base + dev_priv->gart_vm_start); else #endif - dev_priv->gart_buffers_offset = (dev_priv->buffers->offset + dev_priv->gart_buffers_offset = (dev->agp_buffer_map->offset - dev->sg->handle + dev_priv->gart_vm_start); @@ -1240,7 +1240,7 @@ static int radeon_do_init_cp( drm_device_t *dev, drm_radeon_init_t *init ) dev_priv->ring.high_mark = RADEON_RING_HIGH_MARK; -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { /* Turn off PCI GART */ radeon_set_pcigart( dev_priv, 0 ); @@ -1275,25 +1275,23 @@ int radeon_do_cleanup_cp( drm_device_t *dev ) { DRM_DEBUG( "\n" ); -#if __HAVE_IRQ /* Make sure interrupts are disabled here because the uninstall ioctl * may not have been called from userspace and after dev_private * is freed, it's too late. */ if ( dev->irq_enabled ) DRM(irq_uninstall)(dev); -#endif if ( dev->dev_private ) { drm_radeon_private_t *dev_priv = dev->dev_private; -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { if ( dev_priv->cp_ring != NULL ) - DRM_IOREMAPFREE( dev_priv->cp_ring, dev ); + drm_core_ioremapfree( dev_priv->cp_ring, dev ); if ( dev_priv->ring_rptr != NULL ) - DRM_IOREMAPFREE( dev_priv->ring_rptr, dev ); - if ( dev_priv->buffers != NULL ) - DRM_IOREMAPFREE( dev_priv->buffers, dev ); + drm_core_ioremapfree( dev_priv->ring_rptr, dev ); + if ( dev->agp_buffer_map != NULL ) + drm_core_ioremapfree( dev->agp_buffer_map, dev ); } else #endif { @@ -1329,7 +1327,7 @@ static int radeon_do_resume_cp( drm_device_t *dev ) DRM_DEBUG("Starting radeon_do_resume_cp()\n"); -#if __REALLY_HAVE_AGP +#if __OS_HAS_AGP if ( !dev_priv->is_pci ) { /* Turn off PCI GART */ radeon_set_pcigart( dev_priv, 0 ); diff --git a/drivers/char/drm/radeon_drv.c b/drivers/char/drm/radeon_drv.c index 74e32df01..965abc449 100644 --- a/drivers/char/drm/radeon_drv.c +++ b/drivers/char/drm/radeon_drv.c @@ -38,20 +38,4 @@ #include "radeon_drv.h" #include "ati_pcigart.h" -#include "drm_agpsupport.h" -#include "drm_auth.h" -#include "drm_bufs.h" -#include "drm_context.h" -#include "drm_dma.h" -#include "drm_drawable.h" -#include "drm_drv.h" -#include "drm_fops.h" -#include "drm_init.h" -#include "drm_ioctl.h" -#include "drm_irq.h" -#include "drm_lock.h" -#include "drm_memory.h" -#include "drm_proc.h" -#include "drm_vm.h" -#include "drm_stub.h" -#include "drm_scatter.h" +#include "drm_core.h" diff --git a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h index e24e0ec09..5df72332e 100644 --- a/drivers/char/drm/radeon_drv.h +++ b/drivers/char/drm/radeon_drv.h @@ -60,6 +60,9 @@ typedef struct drm_radeon_depth_clear_t { u32 se_cntl; } drm_radeon_depth_clear_t; +struct drm_radeon_driver_file_fields { + int64_t radeon_fb_delta; +}; struct mem_block { struct mem_block *next; @@ -138,7 +141,6 @@ typedef struct drm_radeon_private { drm_local_map_t *mmio; drm_local_map_t *cp_ring; drm_local_map_t *ring_rptr; - drm_local_map_t *buffers; drm_local_map_t *gart_textures; struct mem_block *gart_heap; @@ -203,6 +205,11 @@ extern int radeon_wait_irq(drm_device_t *dev, int swi_nr); extern int radeon_emit_irq(drm_device_t *dev); extern void radeon_do_release(drm_device_t *dev); +extern int radeon_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence); +extern irqreturn_t radeon_driver_irq_handler( DRM_IRQ_ARGS ); +extern void radeon_driver_irq_preinstall( drm_device_t *dev ); +extern void radeon_driver_irq_postinstall( drm_device_t *dev ); +extern void radeon_driver_irq_uninstall( drm_device_t *dev ); /* Flags for stats.boxes */ diff --git a/drivers/char/drm/radeon_irq.c b/drivers/char/drm/radeon_irq.c index 51d194935..bdb3cc168 100644 --- a/drivers/char/drm/radeon_irq.c +++ b/drivers/char/drm/radeon_irq.c @@ -54,7 +54,7 @@ * tied to dma at all, this is just a hangover from dri prehistory. */ -irqreturn_t DRM(irq_handler)( DRM_IRQ_ARGS ) +irqreturn_t radeon_driver_irq_handler( DRM_IRQ_ARGS ) { drm_device_t *dev = (drm_device_t *) arg; drm_radeon_private_t *dev_priv = @@ -141,7 +141,7 @@ int radeon_emit_and_wait_irq(drm_device_t *dev) } -int DRM(vblank_wait)(drm_device_t *dev, unsigned int *sequence) +int radeon_driver_vblank_wait(drm_device_t *dev, unsigned int *sequence) { drm_radeon_private_t *dev_priv = (drm_radeon_private_t *)dev->dev_private; diff --git a/drivers/char/drm/radeon_state.c b/drivers/char/drm/radeon_state.c index 984d74589..f3cc86eea 100644 --- a/drivers/char/drm/radeon_state.c +++ b/drivers/char/drm/radeon_state.c @@ -43,12 +43,14 @@ static __inline__ int radeon_check_and_fixup_offset( drm_radeon_private_t *dev_p drm_file_t *filp_priv, u32 *offset ) { u32 off = *offset; + struct drm_radeon_driver_file_fields *radeon_priv; if ( off >= dev_priv->fb_location && off < ( dev_priv->gart_vm_start + dev_priv->gart_size ) ) return 0; - off += filp_priv->radeon_fb_delta; + radeon_priv = filp_priv->driver_priv; + off += radeon_priv->radeon_fb_delta; DRM_DEBUG( "offset fixed up to 0x%x\n", off ); @@ -1247,7 +1249,7 @@ static void radeon_cp_dispatch_indirect( drm_device_t *dev, */ if ( dwords & 1 ) { u32 *data = (u32 *) - ((char *)dev_priv->buffers->handle + ((char *)dev->agp_buffer_map->handle + buf->offset + start); data[dwords++] = RADEON_CP_PACKET2; } @@ -1301,7 +1303,7 @@ static void radeon_cp_dispatch_indices( drm_device_t *dev, dwords = (prim->finish - prim->start + 3) / sizeof(u32); - data = (u32 *)((char *)dev_priv->buffers->handle + + data = (u32 *)((char *)dev->agp_buffer_map->handle + elt_buf->offset + prim->start); data[0] = CP_PACKET3( RADEON_3D_RNDR_GEN_INDX_PRIM, dwords-2 ); @@ -1445,7 +1447,7 @@ static int radeon_cp_dispatch_texture( DRMFILE filp, /* Dispatch the indirect buffer. */ - buffer = (u32*)((char*)dev_priv->buffers->handle + buf->offset); + buffer = (u32*)((char*)dev->agp_buffer_map->handle + buf->offset); dwords = size / 4; buffer[0] = CP_PACKET3( RADEON_CNTL_HOSTDATA_BLT, dwords + 6 ); buffer[1] = (RADEON_GMC_DST_PITCH_OFFSET_CNTL | @@ -1665,11 +1667,6 @@ int radeon_cp_vertex( DRM_IOCTL_ARGS ) LOCK_TEST_WITH_RETURN( dev, filp ); - if ( !dev_priv ) { - DRM_ERROR( "%s called with no initialization\n", __FUNCTION__ ); - return DRM_ERR(EINVAL); - } - DRM_GET_PRIV_WITH_RETURN( filp_priv, filp ); DRM_COPY_FROM_USER_IOCTL( vertex, (drm_radeon_vertex_t __user *)data, @@ -2525,6 +2522,7 @@ int radeon_cp_setparam( DRM_IOCTL_ARGS ) { drm_radeon_private_t *dev_priv = dev->dev_private; drm_file_t *filp_priv; drm_radeon_setparam_t sp; + struct drm_radeon_driver_file_fields *radeon_priv; if ( !dev_priv ) { DRM_ERROR( "%s called with no initialization\n", __FUNCTION__ ); @@ -2538,7 +2536,8 @@ int radeon_cp_setparam( DRM_IOCTL_ARGS ) { switch( sp.param ) { case RADEON_SETPARAM_FB_LOCATION: - filp_priv->radeon_fb_delta = dev_priv->fb_location - sp.value; + radeon_priv = filp_priv->driver_priv; + radeon_priv->radeon_fb_delta = dev_priv->fb_location - sp.value; break; default: DRM_DEBUG( "Invalid parameter %d\n", sp.param ); @@ -2547,3 +2546,67 @@ int radeon_cp_setparam( DRM_IOCTL_ARGS ) { return 0; } + +/* When a client dies: + * - Check for and clean up flipped page state + * - Free any alloced GART memory. + * + * DRM infrastructure takes care of reclaiming dma buffers. + */ +static void radeon_driver_prerelease(drm_device_t *dev, DRMFILE filp) +{ + if ( dev->dev_private ) { + drm_radeon_private_t *dev_priv = dev->dev_private; + if ( dev_priv->page_flipping ) { + radeon_do_cleanup_pageflip( dev ); + } + radeon_mem_release( filp, dev_priv->gart_heap ); + radeon_mem_release( filp, dev_priv->fb_heap ); + } +} + +static void radeon_driver_pretakedown(drm_device_t *dev) +{ + radeon_do_release(dev); +} + +static int radeon_driver_open_helper(drm_device_t *dev, drm_file_t *filp_priv) +{ + drm_radeon_private_t *dev_priv = dev->dev_private; + struct drm_radeon_driver_file_fields *radeon_priv; + + radeon_priv = (struct drm_radeon_driver_file_fields *)DRM(alloc)(sizeof(*radeon_priv), DRM_MEM_FILES); + + if (!radeon_priv) + return -ENOMEM; + + filp_priv->driver_priv = radeon_priv; + if ( dev_priv ) + radeon_priv->radeon_fb_delta = dev_priv->fb_location; + else + radeon_priv->radeon_fb_delta = 0; + return 0; +} + + +static void radeon_driver_free_filp_priv(drm_device_t *dev, drm_file_t *filp_priv) +{ + struct drm_radeon_driver_file_fields *radeon_priv = filp_priv->driver_priv; + + DRM(free)(radeon_priv, sizeof(*radeon_priv), DRM_MEM_FILES); +} + +void radeon_driver_register_fns(struct drm_device *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR | DRIVER_PCI_DMA | DRIVER_SG | DRIVER_HAVE_IRQ | DRIVER_HAVE_DMA | DRIVER_IRQ_SHARED | DRIVER_IRQ_VBL; + dev->dev_priv_size = sizeof(drm_radeon_buf_priv_t); + dev->fn_tbl.prerelease = radeon_driver_prerelease; + dev->fn_tbl.pretakedown = radeon_driver_pretakedown; + dev->fn_tbl.open_helper = radeon_driver_open_helper; + dev->fn_tbl.free_filp_priv = radeon_driver_free_filp_priv; + dev->fn_tbl.vblank_wait = radeon_driver_vblank_wait; + dev->fn_tbl.irq_preinstall = radeon_driver_irq_preinstall; + dev->fn_tbl.irq_postinstall = radeon_driver_irq_postinstall; + dev->fn_tbl.irq_uninstall = radeon_driver_irq_uninstall; + dev->fn_tbl.irq_handler = radeon_driver_irq_handler; +} diff --git a/drivers/char/drm/sis_mm.c b/drivers/char/drm/sis_mm.c index 5d29b40be..244471647 100644 --- a/drivers/char/drm/sis_mm.c +++ b/drivers/char/drm/sis_mm.c @@ -90,9 +90,10 @@ int sis_fb_alloc( DRM_IOCTL_ARGS ) { drm_sis_mem_t fb; struct sis_memreq req; + drm_sis_mem_t __user *argp = (void __user *)data; int retval = 0; - DRM_COPY_FROM_USER_IOCTL(fb, (drm_sis_mem_t *)data, sizeof(fb)); + DRM_COPY_FROM_USER_IOCTL(fb, argp, sizeof(fb)); req.size = fb.size; sis_malloc(&req); @@ -111,7 +112,7 @@ int sis_fb_alloc( DRM_IOCTL_ARGS ) fb.free = 0; } - DRM_COPY_TO_USER_IOCTL((drm_sis_mem_t *)data, fb, sizeof(fb)); + DRM_COPY_TO_USER_IOCTL(argp, fb, sizeof(fb)); DRM_DEBUG("alloc fb, size = %d, offset = %d\n", fb.size, req.offset); @@ -123,7 +124,7 @@ int sis_fb_free( DRM_IOCTL_ARGS ) drm_sis_mem_t fb; int retval = 0; - DRM_COPY_FROM_USER_IOCTL(fb, (drm_sis_mem_t *)data, sizeof(fb)); + DRM_COPY_FROM_USER_IOCTL(fb, (drm_sis_mem_t __user *)data, sizeof(fb)); if (!fb.free) return DRM_ERR(EINVAL); @@ -325,7 +326,7 @@ int sis_ioctl_agp_free( DRM_IOCTL_ARGS ) return 0; } -int sis_init_context(int context) +int sis_init_context(struct drm_device *dev, int context) { int i; @@ -357,7 +358,7 @@ int sis_init_context(int context) return 1; } -int sis_final_context(int context) +int sis_final_context(struct drm_device *dev, int context) { int i; @@ -403,3 +404,10 @@ int sis_final_context(int context) return 1; } + +void DRM(driver_register_fns)(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_AGP | DRIVER_USE_MTRR; + dev->fn_tbl.context_ctor = sis_init_context; + dev->fn_tbl.context_dtor = sis_final_context; +} diff --git a/drivers/char/drm/tdfx.h b/drivers/char/drm/tdfx.h index 6b067db78..a582a3db4 100644 --- a/drivers/char/drm/tdfx.h +++ b/drivers/char/drm/tdfx.h @@ -36,8 +36,6 @@ /* General customization: */ -#define __HAVE_MTRR 1 -#define __HAVE_CTX_BITMAP 1 #define DRIVER_AUTHOR "VA Linux Systems Inc." diff --git a/drivers/char/drm/tdfx_drv.c b/drivers/char/drm/tdfx_drv.c index fafa1f922..d13144438 100644 --- a/drivers/char/drm/tdfx_drv.c +++ b/drivers/char/drm/tdfx_drv.c @@ -34,18 +34,10 @@ #include "tdfx.h" #include "drmP.h" -#include "drm_auth.h" -#include "drm_bufs.h" -#include "drm_context.h" -#include "drm_dma.h" -#include "drm_drawable.h" -#include "drm_drv.h" +#include "drm_core.h" + +void DRM(driver_register_fns)(drm_device_t *dev) +{ + dev->driver_features = DRIVER_USE_MTRR; +} -#include "drm_fops.h" -#include "drm_init.h" -#include "drm_ioctl.h" -#include "drm_lock.h" -#include "drm_memory.h" -#include "drm_proc.h" -#include "drm_vm.h" -#include "drm_stub.h" diff --git a/drivers/char/esp.c b/drivers/char/esp.c index 663a1e24f..d67098c45 100644 --- a/drivers/char/esp.c +++ b/drivers/char/esp.c @@ -19,7 +19,7 @@ * * rs_set_termios fixed to look also for changes of the input * flags INPCK, BRKINT, PARMRK, IGNPAR and IGNBRK. - * Bernd Anhäupl 05/17/96. + * Bernd Anh�pl 05/17/96. * * --- End of notices from serial.c --- * @@ -140,7 +140,7 @@ static struct esp_struct *ports; static void change_speed(struct esp_struct *info); static void rs_wait_until_sent(struct tty_struct *, int); - + /* * The ESP card has a clock rate of 14.7456 MHz (that is, 2**ESPC_SCALE * times the normal 1.8432 Mhz clock of most serial boards). @@ -150,10 +150,6 @@ static void rs_wait_until_sent(struct tty_struct *, int); /* Standard COM flags (except for COM4, because of the 8514 problem) */ #define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST) -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* * tmp_buf is used as a temporary buffer by serial_write. We need to * lock it in case the memcpy_fromfs blocks while swapping in a page, @@ -762,10 +758,7 @@ static void do_softint(void *private_) return; if (test_and_clear_bit(ESP_EVENT_WRITE_WAKEUP, &info->event)) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); } } @@ -1370,10 +1363,7 @@ static void rs_flush_buffer(struct tty_struct *tty) cli(); info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; sti(); - wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); } /* @@ -2069,8 +2059,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) shutdown(info); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); tty->closing = 0; info->event = 0; info->tty = NULL; diff --git a/drivers/char/ip2main.c b/drivers/char/ip2main.c index ac97e617a..fa3ca6eb5 100644 --- a/drivers/char/ip2main.c +++ b/drivers/char/ip2main.c @@ -440,6 +440,12 @@ cleanup_module(void) // free memory for (i = 0; i < IP2_MAX_BOARDS; i++) { void *pB; +#ifdef CONFIG_PCI + if (ip2config.type[i] == PCI && ip2config.pci_dev[i]) { + pci_disable_device(ip2config.pci_dev[i]); + ip2config.pci_dev[i] = NULL; + } +#endif if ((pB = i2BoardPtrTable[i]) != 0 ) { kfree ( pB ); i2BoardPtrTable[i] = NULL; @@ -594,9 +600,14 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize) PCI_DEVICE_ID_COMPUTONE_IP2EX, pci_dev_i); if (pci_dev_i != NULL) { unsigned int addr; - unsigned char pci_irq; + if (pci_enable_device(pci_dev_i)) { + printk( KERN_ERR "IP2: can't enable PCI device at %s\n", + pci_name(pci_dev_i)); + break; + } ip2config.type[i] = PCI; + ip2config.pci_dev[i] = pci_dev_i; status = pci_read_config_dword(pci_dev_i, PCI_BASE_ADDRESS_1, &addr); if ( addr & 1 ) { @@ -604,8 +615,6 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize) } else { printk( KERN_ERR "IP2: PCI I/O address error\n"); } - status = - pci_read_config_byte(pci_dev_i, PCI_INTERRUPT_LINE, &pci_irq); // If the PCI BIOS assigned it, lets try and use it. If we // can't acquire it or it screws up, deal with it then. @@ -614,7 +623,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize) // printk( KERN_ERR "IP2: Bad PCI BIOS IRQ(%d)\n",pci_irq); // pci_irq = 0; // } - ip2config.irq[i] = pci_irq; + ip2config.irq[i] = pci_dev_i->irq; } else { // ann error ip2config.addr[i] = 0; if (status == PCIBIOS_DEVICE_NOT_FOUND) { diff --git a/drivers/char/ipmi/ipmi_bt_sm.c b/drivers/char/ipmi/ipmi_bt_sm.c index 7295bc559..225b33011 100644 --- a/drivers/char/ipmi/ipmi_bt_sm.c +++ b/drivers/char/ipmi/ipmi_bt_sm.c @@ -31,7 +31,7 @@ #include /* for completion codes */ #include "ipmi_si_sm.h" -#define IPMI_BT_VERSION "v32" +#define IPMI_BT_VERSION "v33" static int bt_debug = 0x00; /* Production value 0, see following flags */ diff --git a/drivers/char/ipmi/ipmi_devintf.c b/drivers/char/ipmi/ipmi_devintf.c index 8d1a08bcc..49d67f538 100644 --- a/drivers/char/ipmi/ipmi_devintf.c +++ b/drivers/char/ipmi/ipmi_devintf.c @@ -45,7 +45,7 @@ #include #include -#define IPMI_DEVINTF_VERSION "v32" +#define IPMI_DEVINTF_VERSION "v33" struct ipmi_file_private { diff --git a/drivers/char/ipmi/ipmi_kcs_sm.c b/drivers/char/ipmi/ipmi_kcs_sm.c index d155f9a58..48cce2432 100644 --- a/drivers/char/ipmi/ipmi_kcs_sm.c +++ b/drivers/char/ipmi/ipmi_kcs_sm.c @@ -42,7 +42,7 @@ #include /* for completion codes */ #include "ipmi_si_sm.h" -#define IPMI_KCS_VERSION "v32" +#define IPMI_KCS_VERSION "v33" /* Set this if you want a printout of why the state machine was hosed when it gets hosed. */ diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c index 83ae6f530..4191db290 100644 --- a/drivers/char/ipmi/ipmi_msghandler.c +++ b/drivers/char/ipmi/ipmi_msghandler.c @@ -46,7 +46,8 @@ #include #include -#define IPMI_MSGHANDLER_VERSION "v32" +#define PFX "IPMI message handler: " +#define IPMI_MSGHANDLER_VERSION "v33" struct ipmi_recv_msg *ipmi_alloc_recv_msg(void); static int ipmi_init_msghandler(void); @@ -895,6 +896,12 @@ int ipmi_unregister_for_cmd(ipmi_user_t user, return rv; } +void ipmi_user_set_run_to_completion(ipmi_user_t user, int val) +{ + user->intf->handlers->set_run_to_completion(user->intf->send_info, + val); +} + static unsigned char ipmb_checksum(unsigned char *data, int size) { @@ -1686,8 +1693,8 @@ channel_handler(ipmi_smi_t intf, struct ipmi_smi_msg *msg) intf->curr_channel = IPMI_MAX_CHANNELS; wake_up(&intf->waitq); - printk(KERN_WARNING "ipmi_msghandler: Error sending" - "channel information: %d\n", + printk(KERN_WARNING PFX + "Error sending channel information: %d\n", rv); } } @@ -2351,7 +2358,7 @@ static int handle_read_event_rsp(ipmi_smi_t intf, } else { /* There's too many things in the queue, discard this message. */ - printk(KERN_WARNING "ipmi: Event queue full, discarding an" + printk(KERN_WARNING PFX "Event queue full, discarding an" " incoming event\n"); } @@ -2433,10 +2440,34 @@ static int handle_new_recv_msg(ipmi_smi_t intf, #endif if (msg->rsp_size < 2) { /* Message is too small to be correct. */ - requeue = 0; - } else if ((msg->rsp[0] == ((IPMI_NETFN_APP_REQUEST|1) << 2)) - && (msg->rsp[1] == IPMI_SEND_MSG_CMD) - && (msg->user_data != NULL)) + printk(KERN_WARNING PFX "BMC returned to small a message" + " for netfn %x cmd %x, got %d bytes\n", + (msg->data[0] >> 2) | 1, msg->data[1], msg->rsp_size); + + /* Generate an error response for the message. */ + msg->rsp[0] = msg->data[0] | (1 << 2); + msg->rsp[1] = msg->data[1]; + msg->rsp[2] = IPMI_ERR_UNSPECIFIED; + msg->rsp_size = 3; + } else if (((msg->rsp[0] >> 2) != ((msg->data[0] >> 2) | 1))/* Netfn */ + || (msg->rsp[1] != msg->data[1])) /* Command */ + { + /* The response is not even marginally correct. */ + printk(KERN_WARNING PFX "BMC returned incorrect response," + " expected netfn %x cmd %x, got netfn %x cmd %x\n", + (msg->data[0] >> 2) | 1, msg->data[1], + msg->rsp[0] >> 2, msg->rsp[1]); + + /* Generate an error response for the message. */ + msg->rsp[0] = msg->data[0] | (1 << 2); + msg->rsp[1] = msg->data[1]; + msg->rsp[2] = IPMI_ERR_UNSPECIFIED; + msg->rsp_size = 3; + } + + if ((msg->rsp[0] == ((IPMI_NETFN_APP_REQUEST|1) << 2)) + && (msg->rsp[1] == IPMI_SEND_MSG_CMD) + && (msg->user_data != NULL)) { /* It's a response to a response we sent. For this we deliver a send message response to the user. */ @@ -2502,7 +2533,9 @@ static int handle_new_recv_msg(ipmi_smi_t intf, requeue = 0; } - } else if (msg->rsp[1] == IPMI_READ_EVENT_MSG_BUFFER_CMD) { + } else if ((msg->rsp[0] == ((IPMI_NETFN_APP_REQUEST|1) << 2)) + && (msg->rsp[1] == IPMI_READ_EVENT_MSG_BUFFER_CMD)) + { /* It's an asyncronous event. */ requeue = handle_read_event_rsp(intf, msg); } else { @@ -3114,7 +3147,7 @@ static int ipmi_init_msghandler(void) proc_ipmi_root = proc_mkdir("ipmi", NULL); if (!proc_ipmi_root) { - printk("Unable to create IPMI proc dir"); + printk(KERN_ERR PFX "Unable to create IPMI proc dir"); return -ENOMEM; } @@ -3166,11 +3199,11 @@ static __exit void cleanup_ipmi(void) /* Check for buffer leaks. */ count = atomic_read(&smi_msg_inuse_count); if (count != 0) - printk("ipmi_msghandler: SMI message count %d at exit\n", + printk(KERN_WARNING PFX "SMI message count %d at exit\n", count); count = atomic_read(&recv_msg_inuse_count); if (count != 0) - printk("ipmi_msghandler: recv message count %d at exit\n", + printk(KERN_WARNING PFX "recv message count %d at exit\n", count); } module_exit(cleanup_ipmi); @@ -3207,3 +3240,4 @@ EXPORT_SYMBOL(ipmi_get_my_address); EXPORT_SYMBOL(ipmi_set_my_LUN); EXPORT_SYMBOL(ipmi_get_my_LUN); EXPORT_SYMBOL(ipmi_smi_add_proc_entry); +EXPORT_SYMBOL(ipmi_user_set_run_to_completion); diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index ea330f3ff..835d6a431 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c @@ -76,7 +76,7 @@ static inline void add_usec_to_timer(struct timer_list *t, long v) #include "ipmi_si_sm.h" #include -#define IPMI_SI_VERSION "v32" +#define IPMI_SI_VERSION "v33" /* Measure times between events in the driver. */ #undef DEBUG_TIMING @@ -146,6 +146,11 @@ struct smi_info /* The I/O port of an SI interface. */ int port; + /* The space between start addresses of the two ports. For + instance, if the first port is 0xca2 and the spacing is 4, then + the second port is 0xca6. */ + unsigned int spacing; + /* zero if no irq; */ int irq; @@ -452,14 +457,20 @@ static void handle_transaction_done(struct smi_info *smi_info) /* Take off the event flag. */ smi_info->msg_flags &= ~EVENT_MSG_BUFFER_FULL; + handle_flags(smi_info); } else { spin_lock(&smi_info->count_lock); smi_info->events++; spin_unlock(&smi_info->count_lock); + /* Do this before we deliver the message + because delivering the message releases the + lock and something else can mess with the + state. */ + handle_flags(smi_info); + deliver_recv_msg(smi_info, msg); } - handle_flags(smi_info); break; } @@ -482,14 +493,20 @@ static void handle_transaction_done(struct smi_info *smi_info) /* Take off the msg flag. */ smi_info->msg_flags &= ~RECEIVE_MSG_AVAIL; + handle_flags(smi_info); } else { spin_lock(&smi_info->count_lock); smi_info->incoming_messages++; spin_unlock(&smi_info->count_lock); + /* Do this before we deliver the message + because delivering the message releases the + lock and something else can mess with the + state. */ + handle_flags(smi_info); + deliver_recv_msg(smi_info, msg); } - handle_flags(smi_info); break; } @@ -568,6 +585,9 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info, smi_info->hosed_count++; spin_unlock(&smi_info->count_lock); + /* Do the before return_hosed_msg, because that + releases the lock. */ + smi_info->si_state = SI_NORMAL; if (smi_info->curr_msg != NULL) { /* If we were handling a user message, format a response to send to the upper layer to @@ -575,7 +595,6 @@ static enum si_sm_result smi_event_handler(struct smi_info *smi_info, return_hosed_msg(smi_info); } si_sm_result = smi_info->handlers->event(smi_info->si_sm, 0); - smi_info->si_state = SI_NORMAL; } /* We prefer handling attn over new messages. */ @@ -872,9 +891,10 @@ static struct smi_info *smi_infos[SI_MAX_DRIVERS] = #define DEVICE_NAME "ipmi_si" -#define DEFAULT_KCS_IO_PORT 0xca2 -#define DEFAULT_SMIC_IO_PORT 0xca9 -#define DEFAULT_BT_IO_PORT 0xe4 +#define DEFAULT_KCS_IO_PORT 0xca2 +#define DEFAULT_SMIC_IO_PORT 0xca9 +#define DEFAULT_BT_IO_PORT 0xe4 +#define DEFAULT_REGSPACING 1 static int si_trydefaults = 1; static char *si_type[SI_MAX_PARMS] = { NULL, NULL, NULL, NULL }; @@ -886,6 +906,12 @@ static unsigned int ports[SI_MAX_PARMS] = { 0, 0, 0, 0 }; static int num_ports = 0; static int irqs[SI_MAX_PARMS] = { 0, 0, 0, 0 }; static int num_irqs = 0; +static int regspacings[SI_MAX_PARMS] = { 0, 0, 0, 0 }; +static int num_regspacings = 0; +static int regsizes[SI_MAX_PARMS] = { 0, 0, 0, 0 }; +static int num_regsizes = 0; +static int regshifts[SI_MAX_PARMS] = { 0, 0, 0, 0 }; +static int num_regshifts = 0; module_param_named(trydefaults, si_trydefaults, bool, 0); @@ -912,6 +938,23 @@ MODULE_PARM_DESC(irqs, "Sets the interrupt of each interface, the" " addresses separated by commas. Only use if an interface" " has an interrupt. Otherwise, set it to zero or leave" " it blank."); +module_param_array(regspacings, int, num_regspacings, 0); +MODULE_PARM_DESC(regspacings, "The number of bytes between the start address" + " and each successive register used by the interface. For" + " instance, if the start address is 0xca2 and the spacing" + " is 2, then the second address is at 0xca4. Defaults" + " to 1."); +module_param_array(regsizes, int, num_regsizes, 0); +MODULE_PARM_DESC(regsizes, "The size of the specific IPMI register in bytes." + " This should generally be 1, 2, 4, or 8 for an 8-bit," + " 16-bit, 32-bit, or 64-bit register. Use this if you" + " the 8-bit IPMI register has to be read from a larger" + " register."); +module_param_array(regshifts, int, num_regshifts, 0); +MODULE_PARM_DESC(regshifts, "The amount to shift the data read from the." + " IPMI register, in bits. For instance, if the data" + " is read from a 32-bit word and the IPMI data is in" + " bit 8-15, then the shift would be 8"); #define IPMI_MEM_ADDR_SPACE 1 #define IPMI_IO_ADDR_SPACE 2 @@ -977,7 +1020,7 @@ static unsigned char port_inb(struct si_sm_io *io, unsigned int offset) { unsigned int *addr = io->info; - return inb((*addr)+offset); + return inb((*addr)+(offset*io->regspacing)); } static void port_outb(struct si_sm_io *io, unsigned int offset, @@ -985,30 +1028,97 @@ static void port_outb(struct si_sm_io *io, unsigned int offset, { unsigned int *addr = io->info; - outb(b, (*addr)+offset); + outb(b, (*addr)+(offset * io->regspacing)); } -static int port_setup(struct smi_info *info) +static unsigned char port_inw(struct si_sm_io *io, unsigned int offset) { - unsigned int *addr = info->io.info; + unsigned int *addr = io->info; - if (!addr || (!*addr)) - return -ENODEV; + return (inw((*addr)+(offset * io->regspacing)) >> io->regshift) & 0xff; +} - if (request_region(*addr, info->io_size, DEVICE_NAME) == NULL) - return -EIO; - return 0; +static void port_outw(struct si_sm_io *io, unsigned int offset, + unsigned char b) +{ + unsigned int *addr = io->info; + + outw(b << io->regshift, (*addr)+(offset * io->regspacing)); +} + +static unsigned char port_inl(struct si_sm_io *io, unsigned int offset) +{ + unsigned int *addr = io->info; + + return (inl((*addr)+(offset * io->regspacing)) >> io->regshift) & 0xff; +} + +static void port_outl(struct si_sm_io *io, unsigned int offset, + unsigned char b) +{ + unsigned int *addr = io->info; + + outl(b << io->regshift, (*addr)+(offset * io->regspacing)); } static void port_cleanup(struct smi_info *info) { unsigned int *addr = info->io.info; + int mapsize; - if (addr && (*addr)) - release_region (*addr, info->io_size); + if (addr && (*addr)) { + mapsize = ((info->io_size * info->io.regspacing) + - (info->io.regspacing - info->io.regsize)); + + release_region (*addr, mapsize); + } kfree(info); } +static int port_setup(struct smi_info *info) +{ + unsigned int *addr = info->io.info; + int mapsize; + + if (!addr || (!*addr)) + return -ENODEV; + + info->io_cleanup = port_cleanup; + + /* Figure out the actual inb/inw/inl/etc routine to use based + upon the register size. */ + switch (info->io.regsize) { + case 1: + info->io.inputb = port_inb; + info->io.outputb = port_outb; + break; + case 2: + info->io.inputb = port_inw; + info->io.outputb = port_outw; + break; + case 4: + info->io.inputb = port_inl; + info->io.outputb = port_outl; + break; + default: + printk("ipmi_si: Invalid register size: %d\n", + info->io.regsize); + return -EINVAL; + } + + /* Calculate the total amount of memory to claim. This is an + * unusual looking calculation, but it avoids claiming any + * more memory than it has to. It will claim everything + * between the first address to the end of the last full + * register. */ + mapsize = ((info->io_size * info->io.regspacing) + - (info->io.regspacing - info->io.regsize)); + + if (request_region(*addr, mapsize, DEVICE_NAME) == NULL) + return -EIO; + return 0; +} + static int try_init_port(int intf_num, struct smi_info **new_info) { struct smi_info *info; @@ -1028,11 +1138,15 @@ static int try_init_port(int intf_num, struct smi_info **new_info) memset(info, 0, sizeof(*info)); info->io_setup = port_setup; - info->io_cleanup = port_cleanup; - info->io.inputb = port_inb; - info->io.outputb = port_outb; info->io.info = &(ports[intf_num]); info->io.addr = NULL; + info->io.regspacing = regspacings[intf_num]; + if (!info->io.regspacing) + info->io.regspacing = DEFAULT_REGSPACING; + info->io.regsize = regsizes[intf_num]; + if (!info->io.regsize) + info->io.regsize = DEFAULT_REGSPACING; + info->io.regshift = regshifts[intf_num]; info->irq = 0; info->irq_setup = NULL; *new_info = info; @@ -1047,44 +1161,125 @@ static int try_init_port(int intf_num, struct smi_info **new_info) static unsigned char mem_inb(struct si_sm_io *io, unsigned int offset) { - return readb((io->addr)+offset); + return readb((io->addr)+(offset * io->regspacing)); } static void mem_outb(struct si_sm_io *io, unsigned int offset, unsigned char b) { - writeb(b, (io->addr)+offset); + writeb(b, (io->addr)+(offset * io->regspacing)); } -static int mem_setup(struct smi_info *info) +static unsigned char mem_inw(struct si_sm_io *io, unsigned int offset) { - unsigned long *addr = info->io.info; + return (readw((io->addr)+(offset * io->regspacing)) >> io->regshift) + && 0xff; +} - if (!addr || (!*addr)) - return -ENODEV; +static void mem_outw(struct si_sm_io *io, unsigned int offset, + unsigned char b) +{ + writeb(b << io->regshift, (io->addr)+(offset * io->regspacing)); +} - if (request_mem_region(*addr, info->io_size, DEVICE_NAME) == NULL) - return -EIO; +static unsigned char mem_inl(struct si_sm_io *io, unsigned int offset) +{ + return (readl((io->addr)+(offset * io->regspacing)) >> io->regshift) + && 0xff; +} - info->io.addr = ioremap(*addr, info->io_size); - if (info->io.addr == NULL) { - release_mem_region(*addr, info->io_size); - return -EIO; - } - return 0; +static void mem_outl(struct si_sm_io *io, unsigned int offset, + unsigned char b) +{ + writel(b << io->regshift, (io->addr)+(offset * io->regspacing)); } +#ifdef readq +static unsigned char mem_inq(struct si_sm_io *io, unsigned int offset) +{ + return (readq((io->addr)+(offset * io->regspacing)) >> io->regshift) + && 0xff; +} + +static void mem_outq(struct si_sm_io *io, unsigned int offset, + unsigned char b) +{ + writeq(b << io->regshift, (io->addr)+(offset * io->regspacing)); +} +#endif + static void mem_cleanup(struct smi_info *info) { unsigned long *addr = info->io.info; + int mapsize; if (info->io.addr) { iounmap(info->io.addr); - release_mem_region(*addr, info->io_size); + + mapsize = ((info->io_size * info->io.regspacing) + - (info->io.regspacing - info->io.regsize)); + + release_mem_region(*addr, mapsize); } kfree(info); } +static int mem_setup(struct smi_info *info) +{ + unsigned long *addr = info->io.info; + int mapsize; + + if (!addr || (!*addr)) + return -ENODEV; + + info->io_cleanup = mem_cleanup; + + /* Figure out the actual readb/readw/readl/etc routine to use based + upon the register size. */ + switch (info->io.regsize) { + case 1: + info->io.inputb = mem_inb; + info->io.outputb = mem_outb; + break; + case 2: + info->io.inputb = mem_inw; + info->io.outputb = mem_outw; + break; + case 4: + info->io.inputb = mem_inl; + info->io.outputb = mem_outl; + break; +#ifdef readq + case 8: + info->io.inputb = mem_inq; + info->io.outputb = mem_outq; + break; +#endif + default: + printk("ipmi_si: Invalid register size: %d\n", + info->io.regsize); + return -EINVAL; + } + + /* Calculate the total amount of memory to claim. This is an + * unusual looking calculation, but it avoids claiming any + * more memory than it has to. It will claim everything + * between the first address to the end of the last full + * register. */ + mapsize = ((info->io_size * info->io.regspacing) + - (info->io.regspacing - info->io.regsize)); + + if (request_mem_region(*addr, mapsize, DEVICE_NAME) == NULL) + return -EIO; + + info->io.addr = ioremap(*addr, mapsize); + if (info->io.addr == NULL) { + release_mem_region(*addr, mapsize); + return -EIO; + } + return 0; +} + static int try_init_mem(int intf_num, struct smi_info **new_info) { struct smi_info *info; @@ -1104,11 +1299,15 @@ static int try_init_mem(int intf_num, struct smi_info **new_info) memset(info, 0, sizeof(*info)); info->io_setup = mem_setup; - info->io_cleanup = mem_cleanup; - info->io.inputb = mem_inb; - info->io.outputb = mem_outb; info->io.info = (void *) addrs[intf_num]; info->io.addr = NULL; + info->io.regspacing = regspacings[intf_num]; + if (!info->io.regspacing) + info->io.regspacing = DEFAULT_REGSPACING; + info->io.regsize = regsizes[intf_num]; + if (!info->io.regsize) + info->io.regsize = DEFAULT_REGSPACING; + info->io.regshift = regshifts[intf_num]; info->irq = 0; info->irq_setup = NULL; *new_info = info; @@ -1132,7 +1331,7 @@ static int try_init_mem(int intf_num, struct smi_info **new_info) static int acpi_failure = 0; /* For GPE-type interrupts. */ -void ipmi_acpi_gpe(void *context) +u32 ipmi_acpi_gpe(void *context) { struct smi_info *smi_info = context; unsigned long flags; @@ -1156,6 +1355,8 @@ void ipmi_acpi_gpe(void *context) smi_event_handler(smi_info, 0); out: spin_unlock_irqrestore(&(smi_info->si_lock), flags); + + return ACPI_INTERRUPT_HANDLED; } static int acpi_gpe_irq_setup(struct smi_info *info) @@ -1182,7 +1383,6 @@ static int acpi_gpe_irq_setup(struct smi_info *info) printk(" Using ACPI GPE %d\n", info->irq); return 0; } - } static void acpi_gpe_irq_cleanup(struct smi_info *info) @@ -1310,21 +1510,22 @@ static int try_init_acpi(int intf_num, struct smi_info **new_info) info->irq_setup = NULL; } + regspacings[intf_num] = spmi->addr.register_bit_width / 8; + info->io.regspacing = spmi->addr.register_bit_width / 8; + regsizes[intf_num] = regspacings[intf_num]; + info->io.regsize = regsizes[intf_num]; + regshifts[intf_num] = spmi->addr.register_bit_offset; + info->io.regshift = regshifts[intf_num]; + if (spmi->addr.address_space_id == ACPI_ADR_SPACE_SYSTEM_MEMORY) { io_type = "memory"; info->io_setup = mem_setup; - info->io_cleanup = mem_cleanup; addrs[intf_num] = spmi->addr.address; - info->io.inputb = mem_inb; - info->io.outputb = mem_outb; info->io.info = &(addrs[intf_num]); } else if (spmi->addr.address_space_id == ACPI_ADR_SPACE_SYSTEM_IO) { io_type = "I/O"; info->io_setup = port_setup; - info->io_cleanup = port_cleanup; ports[intf_num] = spmi->addr.address; - info->io.inputb = port_inb; - info->io.outputb = port_outb; info->io.info = &(ports[intf_num]); } else { kfree(info); @@ -1348,6 +1549,7 @@ typedef struct dmi_ipmi_data u8 addr_space; unsigned long base_addr; u8 irq; + u8 offset; }dmi_ipmi_data_t; typedef struct dmi_header @@ -1361,6 +1563,7 @@ static int decode_dmi(dmi_header_t *dm, dmi_ipmi_data_t *ipmi_data) { u8 *data = (u8 *)dm; unsigned long base_addr; + u8 reg_spacing; ipmi_data->type = data[0x04]; @@ -1375,7 +1578,27 @@ static int decode_dmi(dmi_header_t *dm, dmi_ipmi_data_t *ipmi_data) ipmi_data->addr_space = IPMI_MEM_ADDR_SPACE; } - ipmi_data->base_addr = base_addr; + /* The top two bits of byte 0x10 hold the register spacing. */ + reg_spacing = (data[0x10] & 0xC0) >> 6; + switch(reg_spacing){ + case 0x00: /* Byte boundaries */ + ipmi_data->offset = 1; + break; + case 0x01: /* 32-bit boundaries */ + ipmi_data->offset = 4; + break; + case 0x02: /* 16-bit boundaries */ + ipmi_data->offset = 2; + default: + printk("ipmi_si: Unknown SMBIOS IPMI Base Addr" + " Modifier: 0x%x\n", reg_spacing); + return -EIO; + } + + /* If bit 4 of byte 0x10 is set, then the lsb for the address + is odd. */ + ipmi_data->base_addr = base_addr | ((data[0x10] & 0x10) >> 4); + ipmi_data->irq = data[0x11]; if (is_new_interface(-1, ipmi_data->addr_space,ipmi_data->base_addr)) @@ -1500,18 +1723,12 @@ static int try_init_smbios(int intf_num, struct smi_info **new_info) if (ipmi_data.addr_space == 1) { io_type = "memory"; info->io_setup = mem_setup; - info->io_cleanup = mem_cleanup; addrs[intf_num] = ipmi_data.base_addr; - info->io.inputb = mem_inb; - info->io.outputb = mem_outb; info->io.info = &(addrs[intf_num]); } else if (ipmi_data.addr_space == 2) { io_type = "I/O"; info->io_setup = port_setup; - info->io_cleanup = port_cleanup; ports[intf_num] = ipmi_data.base_addr; - info->io.inputb = port_inb; - info->io.outputb = port_outb; info->io.info = &(ports[intf_num]); } else { kfree(info); @@ -1519,6 +1736,13 @@ static int try_init_smbios(int intf_num, struct smi_info **new_info) return -EIO; } + regspacings[intf_num] = ipmi_data.offset; + info->io.regspacing = regspacings[intf_num]; + if (!info->io.regspacing) + info->io.regspacing = DEFAULT_REGSPACING; + info->io.regsize = DEFAULT_REGSPACING; + info->io.regshift = regshifts[intf_num]; + irqs[intf_num] = ipmi_data.irq; *new_info = info; @@ -1596,11 +1820,13 @@ static int find_pci_smic(int intf_num, struct smi_info **new_info) memset(info, 0, sizeof(*info)); info->io_setup = port_setup; - info->io_cleanup = port_cleanup; ports[intf_num] = base_addr; - info->io.inputb = port_inb; - info->io.outputb = port_outb; info->io.info = &(ports[intf_num]); + info->io.regspacing = regspacings[intf_num]; + if (!info->io.regspacing) + info->io.regspacing = DEFAULT_REGSPACING; + info->io.regsize = DEFAULT_REGSPACING; + info->io.regshift = regshifts[intf_num]; *new_info = info; @@ -1860,6 +2086,13 @@ static int init_one_smi(int intf_num, struct smi_info **smi) new_smi->timer_stopped = 0; new_smi->stop_operation = 0; + /* Start clearing the flags before we enable interrupts or the + timer to avoid racing with the timer. */ + start_clear_flags(new_smi); + /* IRQ is defined to be set when non-zero. */ + if (new_smi->irq) + new_smi->si_state = SI_CLEARING_FLAGS_THEN_SET_IRQ; + /* The ipmi_register_smi() code does some operations to determine the channel information, so we must be ready to handle operations before it is called. This means we have @@ -1903,12 +2136,6 @@ static int init_one_smi(int intf_num, struct smi_info **smi) goto out_err_stop_timer; } - start_clear_flags(new_smi); - - /* IRQ is defined to be set when non-zero. */ - if (new_smi->irq) - new_smi->si_state = SI_CLEARING_FLAGS_THEN_SET_IRQ; - *smi = new_smi; printk(" IPMI %s interface initialized\n", si_type[intf_num]); @@ -2052,6 +2279,13 @@ void __exit cleanup_one_si(struct smi_info *to_clean) schedule_timeout(1); } + /* Interrupts and timeouts are stopped, now make sure the + interface is in a clean state. */ + while ((to_clean->curr_msg) || (to_clean->si_state != SI_NORMAL)) { + poll(to_clean); + schedule_timeout(1); + } + rv = ipmi_unregister_smi(to_clean->intf); if (rv) { printk(KERN_ERR diff --git a/drivers/char/ipmi/ipmi_smic_sm.c b/drivers/char/ipmi/ipmi_smic_sm.c index b5c08d6e0..ae18747e6 100644 --- a/drivers/char/ipmi/ipmi_smic_sm.c +++ b/drivers/char/ipmi/ipmi_smic_sm.c @@ -46,7 +46,7 @@ #include /* for completion codes */ #include "ipmi_si_sm.h" -#define IPMI_SMIC_VERSION "v32" +#define IPMI_SMIC_VERSION "v33" /* smic_debug is a bit-field * SMIC_DEBUG_ENABLE - turned on for now diff --git a/drivers/char/ipmi/ipmi_watchdog.c b/drivers/char/ipmi/ipmi_watchdog.c index fb8492490..db2cf9cb5 100644 --- a/drivers/char/ipmi/ipmi_watchdog.c +++ b/drivers/char/ipmi/ipmi_watchdog.c @@ -51,7 +51,9 @@ #include #endif -#define IPMI_WATCHDOG_VERSION "v32" +#define PFX "IPMI Watchdog: " + +#define IPMI_WATCHDOG_VERSION "v33" /* * The IPMI command/response information for the watchdog timer. @@ -160,6 +162,7 @@ static char data_to_read = 0; static DECLARE_WAIT_QUEUE_HEAD(read_q); static struct fasync_struct *fasync_q = NULL; static char pretimeout_since_last_heartbeat = 0; +static char expect_close; /* If true, the driver will start running as soon as it is configured and ready. */ @@ -191,7 +194,7 @@ static unsigned char ipmi_watchdog_state = WDOG_TIMEOUT_NONE; static int ipmi_ignore_heartbeat = 0; /* Is someone using the watchdog? Only one user is allowed. */ -static int ipmi_wdog_open = 0; +static unsigned long ipmi_wdog_open = 0; /* If set to 1, the heartbeat command will set the state to reset and start the timer. The timer doesn't normally run when the driver is @@ -287,7 +290,7 @@ static int i_ipmi_set_timeout(struct ipmi_smi_msg *smi_msg, recv_msg, 1); if (rv) { - printk(KERN_WARNING "IPMI Watchdog, set timeout error: %d\n", + printk(KERN_WARNING PFX "set timeout error: %d\n", rv); } @@ -464,7 +467,7 @@ static int ipmi_heartbeat(void) 1); if (rv) { up(&heartbeat_lock); - printk(KERN_WARNING "IPMI Watchdog, heartbeat failure: %d\n", + printk(KERN_WARNING PFX "heartbeat failure: %d\n", rv); return rv; } @@ -599,6 +602,21 @@ static ssize_t ipmi_write(struct file *file, int rv; if (len) { + if (!nowayout) { + size_t i; + + /* In case it was set long ago */ + expect_close = 0; + + for (i = 0; i != len; i++) { + char c; + + if (get_user(c, buf + i)) + return -EFAULT; + if (c == 'V') + expect_close = 42; + } + } rv = ipmi_heartbeat(); if (rv) return rv; @@ -662,11 +680,9 @@ static int ipmi_open(struct inode *ino, struct file *filep) switch (iminor(ino)) { case WATCHDOG_MINOR: - if (ipmi_wdog_open) + if(test_and_set_bit(0, &ipmi_wdog_open)) return -EBUSY; - ipmi_wdog_open = 1; - /* Don't start the timer now, let it start on the first heartbeat. */ ipmi_start_timer_on_heartbeat = 1; @@ -704,14 +720,18 @@ static int ipmi_close(struct inode *ino, struct file *filep) { if (iminor(ino)==WATCHDOG_MINOR) { - if (!nowayout) { + if (expect_close == 42) { ipmi_watchdog_state = WDOG_TIMEOUT_NONE; ipmi_set_timeout(IPMI_SET_TIMEOUT_NO_HB); + clear_bit(0, &ipmi_wdog_open); + } else { + printk(KERN_CRIT PFX "Unexpected close, not stopping watchdog!\n"); + ipmi_heartbeat(); } - ipmi_wdog_open = 0; } ipmi_fasync (-1, filep, 0); + expect_close = 0; return 0; } @@ -739,7 +759,7 @@ static void ipmi_wdog_msg_handler(struct ipmi_recv_msg *msg, void *handler_data) { if (msg->msg.data[0] != 0) { - printk(KERN_ERR "IPMI Watchdog response: Error %x on cmd %x\n", + printk(KERN_ERR PFX "response: Error %x on cmd %x\n", msg->msg.data[0], msg->msg.cmd); } @@ -784,7 +804,7 @@ static void ipmi_register_watchdog(int ipmi_intf) rv = ipmi_create_user(ipmi_intf, &ipmi_hndlrs, NULL, &watchdog_user); if (rv < 0) { - printk("IPMI watchdog: Unable to register with ipmi\n"); + printk(KERN_CRIT PFX "Unable to register with ipmi\n"); goto out; } @@ -796,7 +816,7 @@ static void ipmi_register_watchdog(int ipmi_intf) if (rv < 0) { ipmi_destroy_user(watchdog_user); watchdog_user = NULL; - printk("IPMI watchdog: Unable to register misc device\n"); + printk(KERN_CRIT PFX "Unable to register misc device\n"); } out: @@ -807,7 +827,7 @@ static void ipmi_register_watchdog(int ipmi_intf) start_now = 0; /* Disable this function after first startup. */ ipmi_watchdog_state = action_val; ipmi_set_timeout(IPMI_SET_TIMEOUT_FORCE_HB); - printk("Starting IPMI Watchdog now!\n"); + printk(KERN_INFO PFX "Starting now!\n"); } } @@ -818,7 +838,7 @@ ipmi_nmi(void *dev_id, struct pt_regs *regs, int cpu, int handled) /* If no one else handled the NMI, we assume it was the IPMI watchdog. */ if ((!handled) && (preop_val == WDOG_PREOP_PANIC)) - panic("IPMI watchdog pre-timeout"); + panic(PFX "pre-timeout"); /* On some machines, the heartbeat will give an error and not work unless we re-enable @@ -924,7 +944,7 @@ static int __init ipmi_wdog_init(void) { int rv; - printk(KERN_INFO "IPMI watchdog driver version " + printk(KERN_INFO PFX "driver version " IPMI_WATCHDOG_VERSION "\n"); if (strcmp(action, "reset") == 0) { @@ -937,7 +957,7 @@ static int __init ipmi_wdog_init(void) action_val = WDOG_TIMEOUT_POWER_DOWN; } else { action_val = WDOG_TIMEOUT_RESET; - printk("ipmi_watchdog: Unknown action '%s', defaulting to" + printk(KERN_INFO PFX "Unknown action '%s', defaulting to" " reset\n", action); } @@ -953,7 +973,7 @@ static int __init ipmi_wdog_init(void) preaction_val = WDOG_PRETIMEOUT_MSG_INT; } else { preaction_val = WDOG_PRETIMEOUT_NONE; - printk("ipmi_watchdog: Unknown preaction '%s', defaulting to" + printk(KERN_INFO PFX "Unknown preaction '%s', defaulting to" " none\n", preaction); } @@ -965,23 +985,21 @@ static int __init ipmi_wdog_init(void) preop_val = WDOG_PREOP_GIVE_DATA; } else { preop_val = WDOG_PREOP_NONE; - printk("ipmi_watchdog: Unknown preop '%s', defaulting to" + printk(KERN_INFO PFX "Unknown preop '%s', defaulting to" " none\n", preop); } #ifdef HAVE_NMI_HANDLER if (preaction_val == WDOG_PRETIMEOUT_NMI) { if (preop_val == WDOG_PREOP_GIVE_DATA) { - printk(KERN_WARNING - "ipmi_watchdog: Pretimeout op is to give data" + printk(KERN_WARNING PFX "Pretimeout op is to give data" " but NMI pretimeout is enabled, setting" " pretimeout op to none\n"); preop_val = WDOG_PREOP_NONE; } #ifdef CONFIG_X86_LOCAL_APIC if (nmi_watchdog == NMI_IO_APIC) { - printk(KERN_WARNING - "ipmi_watchdog: nmi_watchdog is set to IO APIC" + printk(KERN_WARNING PFX "nmi_watchdog is set to IO APIC" " mode (value is %d), that is incompatible" " with using NMI in the IPMI watchdog." " Disabling IPMI nmi pretimeout.\n", @@ -991,8 +1009,7 @@ static int __init ipmi_wdog_init(void) #endif rv = request_nmi(&ipmi_nmi_handler); if (rv) { - printk(KERN_WARNING - "ipmi_watchdog: Can't register nmi handler\n"); + printk(KERN_WARNING PFX "Can't register nmi handler\n"); return rv; } #ifdef CONFIG_X86_LOCAL_APIC @@ -1007,8 +1024,7 @@ static int __init ipmi_wdog_init(void) if (preaction_val == WDOG_PRETIMEOUT_NMI) release_nmi(&ipmi_nmi_handler); #endif - printk(KERN_WARNING - "ipmi_watchdog: can't register smi watcher\n"); + printk(KERN_WARNING PFX "can't register smi watcher\n"); return rv; } @@ -1053,8 +1069,7 @@ static __exit void ipmi_unregister_watchdog(void) /* Disconnect from IPMI. */ rv = ipmi_destroy_user(watchdog_user); if (rv) { - printk(KERN_WARNING - "IPMI Watchdog, error unlinking from IPMI: %d\n", + printk(KERN_WARNING PFX "error unlinking from IPMI: %d\n", rv); } watchdog_user = NULL; diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index 4a8b7d51e..9460f6d0b 100644 --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c @@ -749,17 +749,13 @@ static void stli_stalreset(stlibrd_t *brdp); static stliport_t *stli_getport(int brdnr, int panelnr, int portnr); -static inline int stli_initbrds(void); -static inline int stli_initecp(stlibrd_t *brdp); -static inline int stli_initonb(stlibrd_t *brdp); -static inline int stli_findeisabrds(void); -static inline int stli_eisamemprobe(stlibrd_t *brdp); -static inline int stli_initports(stlibrd_t *brdp); -static inline int stli_getbrdnr(void); +static int stli_initecp(stlibrd_t *brdp); +static int stli_initonb(stlibrd_t *brdp); +static int stli_eisamemprobe(stlibrd_t *brdp); +static int stli_initports(stlibrd_t *brdp); #ifdef CONFIG_PCI -static inline int stli_findpcibrds(void); -static inline int stli_initpcibrd(int brdtype, struct pci_dev *devp); +static int stli_initpcibrd(int brdtype, struct pci_dev *devp); #endif /*****************************************************************************/ @@ -2751,7 +2747,7 @@ static void stli_sendcmd(stlibrd_t *brdp, stliport_t *portp, unsigned long cmd, * more chars to unload. */ -static inline void stli_read(stlibrd_t *brdp, stliport_t *portp) +static void stli_read(stlibrd_t *brdp, stliport_t *portp) { volatile cdkasyrq_t *rp; volatile char *shbuf; @@ -2819,7 +2815,7 @@ static inline void stli_read(stlibrd_t *brdp, stliport_t *portp) * difficult to deal with them here. */ -static inline void stli_dodelaycmd(stliport_t *portp, volatile cdkctrl_t *cp) +static void stli_dodelaycmd(stliport_t *portp, volatile cdkctrl_t *cp) { int cmd; @@ -2867,7 +2863,7 @@ static inline void stli_dodelaycmd(stliport_t *portp, volatile cdkctrl_t *cp) * then port is still busy, otherwise no longer busy. */ -static inline int stli_hostcmd(stlibrd_t *brdp, stliport_t *portp) +static int stli_hostcmd(stlibrd_t *brdp, stliport_t *portp) { volatile cdkasy_t *ap; volatile cdkctrl_t *cp; @@ -3026,7 +3022,7 @@ static inline int stli_hostcmd(stlibrd_t *brdp, stliport_t *portp) * at the cdk header structure. */ -static inline void stli_brdpoll(stlibrd_t *brdp, volatile cdkhdr_t *hdrp) +static void stli_brdpoll(stlibrd_t *brdp, volatile cdkhdr_t *hdrp) { stliport_t *portp; unsigned char hostbits[(STL_MAXCHANS / 8) + 1]; @@ -3299,7 +3295,7 @@ static long stli_mktiocm(unsigned long sigvalue) * we need to do here is set up the appropriate per port data structures. */ -static inline int stli_initports(stlibrd_t *brdp) +static int stli_initports(stlibrd_t *brdp) { stliport_t *portp; int i, panelnr, panelport; @@ -3911,7 +3907,7 @@ static void stli_stalreset(stlibrd_t *brdp) * board types. */ -static inline int stli_initecp(stlibrd_t *brdp) +static int stli_initecp(stlibrd_t *brdp) { cdkecpsig_t sig; cdkecpsig_t *sigsp; @@ -4072,7 +4068,7 @@ static inline int stli_initecp(stlibrd_t *brdp) * This handles only these board types. */ -static inline int stli_initonb(stlibrd_t *brdp) +static int stli_initonb(stlibrd_t *brdp) { cdkonbsig_t sig; cdkonbsig_t *sigsp; @@ -4414,7 +4410,7 @@ static int __init stli_brdinit(stlibrd_t *brdp) * might be. This is a bit if hack, but it is the best we can do. */ -static inline int stli_eisamemprobe(stlibrd_t *brdp) +static int stli_eisamemprobe(stlibrd_t *brdp) { cdkecpsig_t ecpsig, *ecpsigp; cdkonbsig_t onbsig, *onbsigp; @@ -4506,7 +4502,7 @@ static inline int stli_eisamemprobe(stlibrd_t *brdp) return(0); } -static inline int stli_getbrdnr(void) +static int stli_getbrdnr(void) { int i; @@ -4532,7 +4528,7 @@ static inline int stli_getbrdnr(void) * do is go probing around in the usual places hoping we can find it. */ -static inline int stli_findeisabrds(void) +static int stli_findeisabrds(void) { stlibrd_t *brdp; unsigned int iobase, eid; @@ -4616,7 +4612,7 @@ static inline int stli_findeisabrds(void) * configuration space. */ -static inline int stli_initpcibrd(int brdtype, struct pci_dev *devp) +static int stli_initpcibrd(int brdtype, struct pci_dev *devp) { stlibrd_t *brdp; @@ -4662,7 +4658,7 @@ static inline int stli_initpcibrd(int brdtype, struct pci_dev *devp) * one as it is found. */ -static inline int stli_findpcibrds(void) +static int stli_findpcibrds(void) { struct pci_dev *dev = NULL; int rc; @@ -4711,7 +4707,7 @@ static stlibrd_t *stli_allocbrd(void) * can find. */ -static inline int stli_initbrds(void) +static int stli_initbrds(void) { stlibrd_t *brdp, *nxtbrdp; stlconf_t *confp; diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c index 3ad30ba46..313789840 100644 --- a/drivers/char/keyboard.c +++ b/drivers/char/keyboard.c @@ -123,7 +123,7 @@ int shift_state = 0; */ static struct input_handler kbd_handler; -static unsigned long key_down[256/BITS_PER_LONG]; /* keyboard key bitmap */ +static unsigned long key_down[NBITS(KEY_MAX)]; /* keyboard key bitmap */ static unsigned char shift_down[NR_SHIFT]; /* shift state counters.. */ static int dead_key_next; static int npadch = -1; /* -1 or number assembled on pad */ @@ -142,7 +142,7 @@ static struct ledptr { /* Simple translation table for the SysRq keys */ #ifdef CONFIG_MAGIC_SYSRQ -unsigned char kbd_sysrq_xlate[128] = +unsigned char kbd_sysrq_xlate[KEY_MAX] = "\000\0331234567890-=\177\t" /* 0x00 - 0x0f */ "qwertyuiop[]\r\000as" /* 0x10 - 0x1f */ "dfghjkl;'`\000\\zxcv" /* 0x20 - 0x2f */ @@ -941,6 +941,9 @@ void kbd_refresh_leds(struct input_handle *handle) #if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) || defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC32) || defined(CONFIG_SPARC64) || defined(CONFIG_PARISC) || defined(CONFIG_SUPERH) +#define HW_RAW(dev) (test_bit(EV_MSC, dev->evbit) && test_bit(MSC_RAW, dev->mscbit) &&\ + ((dev)->id.bustype == BUS_I8042) && ((dev)->id.vendor == 0x0001) && ((dev)->id.product == 0x0001)) + static unsigned short x86_keycodes[256] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, @@ -1007,6 +1010,8 @@ static int emulate_raw(struct vc_data *vc, unsigned int keycode, #else +#define HW_RAW(dev) 0 + #warning "Cannot generate rawmode keyboard for your architecture yet." static int emulate_raw(struct vc_data *vc, unsigned int keycode, unsigned char up_flag) @@ -1019,7 +1024,15 @@ static int emulate_raw(struct vc_data *vc, unsigned int keycode, unsigned char u } #endif -void kbd_keycode(unsigned int keycode, int down, struct pt_regs *regs) +void kbd_rawcode(unsigned char data) +{ + struct vc_data *vc = vc_cons[fg_console].d; + kbd = kbd_table + fg_console; + if (kbd->kbdmode == VC_RAW) + put_queue(vc, data); +} + +void kbd_keycode(unsigned int keycode, int down, int hw_raw, struct pt_regs *regs) { struct vc_data *vc = vc_cons[fg_console].d; unsigned short keysym, *key_map; @@ -1053,7 +1066,7 @@ void kbd_keycode(unsigned int keycode, int down, struct pt_regs *regs) return; #endif /* CONFIG_MAC_EMUMOUSEBTN */ - if ((raw_mode = (kbd->kbdmode == VC_RAW))) + if ((raw_mode = (kbd->kbdmode == VC_RAW)) && !hw_raw) if (emulate_raw(vc, keycode, !down << 7)) if (keycode < BTN_MISC) printk(KERN_WARNING "keyboard.c: can't emulate rawmode for keycode %d\n", keycode); @@ -1119,6 +1132,9 @@ void kbd_keycode(unsigned int keycode, int down, struct pt_regs *regs) return; } + if (keycode > NR_KEYS) + return; + keysym = key_map[keycode]; type = KTYP(keysym); @@ -1148,11 +1164,12 @@ void kbd_keycode(unsigned int keycode, int down, struct pt_regs *regs) } static void kbd_event(struct input_handle *handle, unsigned int event_type, - unsigned int keycode, int down) + unsigned int event_code, int value) { - if (event_type != EV_KEY) - return; - kbd_keycode(keycode, down, handle->dev->regs); + if (event_type == EV_MSC && event_code == MSC_RAW && HW_RAW(handle->dev)) + kbd_rawcode(value); + if (event_type == EV_KEY) + kbd_keycode(event_code, value, HW_RAW(handle->dev), handle->dev->regs); tasklet_schedule(&keyboard_tasklet); do_poke_blanked_console = 1; schedule_console_callback(); diff --git a/drivers/char/mem.c b/drivers/char/mem.c index 8b86d0163..54185b96e 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c @@ -31,9 +31,6 @@ # include #endif -#ifdef CONFIG_FB -extern void fbmem_init(void); -#endif #if defined(CONFIG_S390_TAPE) && defined(CONFIG_S390_TAPE_CHAR) extern void tapechar_init(void); #endif @@ -86,7 +83,7 @@ static inline int uncached_access(struct file *file, unsigned long addr) * above the IO hole... Ah, and of course, XFree86 doesn't pass * O_SYNC when mapping us to tap IO space. Surprised ? */ - return !page_is_ram(addr); + return !page_is_ram(addr >> PAGE_SHIFT); #else /* * Accessing memory above the top the kernel knows about or through a file pointer @@ -213,7 +210,6 @@ static int mmap_mem(struct file * file, struct vm_area_struct * vma) { unsigned long offset = vma->vm_pgoff << PAGE_SHIFT; int uncached; - unsigned long cursor; uncached = uncached_access(file, offset); #ifdef pgprot_noncached @@ -229,13 +225,6 @@ static int mmap_mem(struct file * file, struct vm_area_struct * vma) */ if (uncached) vma->vm_flags |= VM_IO; - - cursor = vma->vm_pgoff; - while ((cursor << PAGE_SHIFT) < offset + vma->vm_end-vma->vm_start) { - if (!devmem_is_allowed(cursor)) - return -EPERM; - cursor++; - } if (remap_page_range(vma, vma->vm_start, offset, vma->vm_end-vma->vm_start, vma->vm_page_prot)) @@ -383,7 +372,7 @@ static inline size_t read_zero_pagealigned(char __user * buf, size_t size) if (vma->vm_start > addr || (vma->vm_flags & VM_WRITE) == 0) goto out_up; - if (vma->vm_flags & VM_SHARED) + if (vma->vm_flags & (VM_SHARED | VM_HUGETLB)) break; count = vma->vm_end - addr; if (count > size) @@ -666,7 +655,6 @@ static const struct { struct file_operations *fops; } devlist[] = { /* list of minor devices */ {1, "mem", S_IRUSR | S_IWUSR | S_IRGRP, &mem_fops}, - {2, "kmem", S_IRUSR | S_IWUSR | S_IRGRP, &kmem_fops}, {3, "null", S_IRUGO | S_IWUGO, &null_fops}, #if defined(CONFIG_ISA) || !defined(__mc68000__) {4, "port", S_IRUSR | S_IWUSR | S_IRGRP, &port_fops}, @@ -696,9 +684,6 @@ static int __init chr_dev_init(void) S_IFCHR | devlist[i].mode, devlist[i].name); } -#if defined (CONFIG_FB) - fbmem_init(); -#endif return 0; } diff --git a/drivers/char/moxa.c b/drivers/char/moxa.c index d45d381d4..46b6d4bc7 100644 --- a/drivers/char/moxa.c +++ b/drivers/char/moxa.c @@ -694,7 +694,6 @@ static void moxa_flush_buffer(struct tty_struct *tty) return; MoxaPortFlushData(ch->port, 1); tty_wakeup(tty); - wake_up_interruptible(&tty->write_wait); } static int moxa_chars_in_buffer(struct tty_struct *tty) @@ -953,7 +952,6 @@ static void moxa_poll(unsigned long ignored) if (!tp->stopped) { ch->statusflags &= ~LOWWAIT; tty_wakeup(tp); - wake_up_interruptible(&tp->write_wait); } } } @@ -1120,7 +1118,6 @@ static void check_xmit_empty(unsigned long data) if (MoxaPortTxQueue(ch->port) == 0) { ch->statusflags &= ~EMPTYWAIT; tty_wakeup(ch->tty); - wake_up_interruptible(&ch->tty->write_wait); return; } moxaEmptyTimer[ch->port].expires = jiffies + HZ; diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c index d4ba62a29..147c1ba2e 100644 --- a/drivers/char/mxser.c +++ b/drivers/char/mxser.c @@ -101,10 +101,6 @@ #define IRQ_T(info) ((info->flags & ASYNC_SHARE_IRQ) ? SA_SHIRQ : SA_INTERRUPT) -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* * Define the Moxa PCI vendor and device IDs. */ @@ -349,10 +345,10 @@ static void mxser_set_termios(struct tty_struct *, struct termios *); static void mxser_stop(struct tty_struct *); static void mxser_start(struct tty_struct *); static void mxser_hangup(struct tty_struct *); -static irqreturn_t mxser_interrupt(int, void *, struct pt_regs *); static inline void mxser_receive_chars(struct mxser_struct *, int *); static inline void mxser_transmit_chars(struct mxser_struct *); static inline void mxser_check_modem_status(struct mxser_struct *, int); +static irqreturn_t mxser_interrupt(int, void *, struct pt_regs *); static int mxser_block_til_ready(struct tty_struct *, struct file *, struct mxser_struct *); static int mxser_startup(struct mxser_struct *); static void mxser_shutdown(struct mxser_struct *); @@ -678,9 +674,7 @@ static void mxser_do_softint(void *private_) tty = info->tty; if (tty) { if (test_and_clear_bit(MXSER_EVENT_TXLOW, &info->event)) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); } if (test_and_clear_bit(MXSER_EVENT_HANGUP, &info->event)) { @@ -817,8 +811,8 @@ static void mxser_close(struct tty_struct *tty, struct file *filp) mxser_shutdown(info); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); + tty->closing = 0; info->event = 0; info->tty = NULL; @@ -849,7 +843,7 @@ static int mxser_write(struct tty_struct *tty, int from_user, if (from_user) { down(&mxvar_tmp_buf_sem); while (1) { - c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, + c = min_t(int, count, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, SERIAL_XMIT_SIZE - info->xmit_head)); if (c <= 0) break; @@ -862,7 +856,7 @@ static int mxser_write(struct tty_struct *tty, int from_user, } cli(); - c = MIN(c, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, + c = min_t(int, c, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, SERIAL_XMIT_SIZE - info->xmit_head)); memcpy(info->xmit_buf + info->xmit_head, mxvar_tmp_buf, c); info->xmit_head = (info->xmit_head + c) & (SERIAL_XMIT_SIZE - 1); @@ -877,7 +871,7 @@ static int mxser_write(struct tty_struct *tty, int from_user, } else { while (1) { cli(); - c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, + c = min_t(int, count, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, SERIAL_XMIT_SIZE - info->xmit_head)); if (c <= 0) { restore_flags(flags); @@ -976,9 +970,7 @@ static void mxser_flush_buffer(struct tty_struct *tty) info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; restore_flags(flags); wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); } static int mxser_ioctl(struct tty_struct *tty, struct file *file, @@ -1307,69 +1299,6 @@ void mxser_hangup(struct tty_struct *tty) wake_up_interruptible(&info->open_wait); } -/* - * This is the serial driver's generic interrupt routine - */ -static irqreturn_t mxser_interrupt(int irq, void *dev_id, struct pt_regs *regs) -{ - int status, i; - struct mxser_struct *info; - struct mxser_struct *port; - int max, irqbits, bits, msr; - int pass_counter = 0; - int handled = 0; - - port = NULL; - for (i = 0; i < MXSER_BOARDS; i++) { - if (dev_id == &(mxvar_table[i * MXSER_PORTS_PER_BOARD])) { - port = dev_id; - break; - } - } - - if (i == MXSER_BOARDS) - return IRQ_NONE; - if (port == 0) - return IRQ_NONE; - max = mxser_numports[mxsercfg[i].board_type]; - - while (1) { - irqbits = inb(port->vector) & port->vectormask; - if (irqbits == port->vectormask) - break; - handled = 1; - for (i = 0, bits = 1; i < max; i++, irqbits |= bits, bits <<= 1) { - if (irqbits == port->vectormask) - break; - if (bits & irqbits) - continue; - info = port + i; - if (!info->tty || - (inb(info->base + UART_IIR) & UART_IIR_NO_INT)) - continue; - status = inb(info->base + UART_LSR) & info->read_status_mask; - if (status & UART_LSR_DR) - mxser_receive_chars(info, &status); - msr = inb(info->base + UART_MSR); - if (msr & UART_MSR_ANY_DELTA) - mxser_check_modem_status(info, msr); - if (status & UART_LSR_THRE) { -/* 8-2-99 by William - if ( info->x_char || (info->xmit_cnt > 0) ) - */ - mxser_transmit_chars(info); - } - } - if (pass_counter++ > MXSER_ISR_PASS_LIMIT) { -#if 0 - printk("MOXA Smartio/Indusrtio family driver interrupt loop break\n"); -#endif - break; /* Prevent infinite loops */ - } - } - return IRQ_RETVAL(handled); -} - static inline void mxser_receive_chars(struct mxser_struct *info, int *status) { @@ -1490,6 +1419,69 @@ static inline void mxser_check_modem_status(struct mxser_struct *info, } } +/* + * This is the serial driver's generic interrupt routine + */ +static irqreturn_t mxser_interrupt(int irq, void *dev_id, struct pt_regs *regs) +{ + int status, i; + struct mxser_struct *info; + struct mxser_struct *port; + int max, irqbits, bits, msr; + int pass_counter = 0; + int handled = 0; + + port = NULL; + for (i = 0; i < MXSER_BOARDS; i++) { + if (dev_id == &(mxvar_table[i * MXSER_PORTS_PER_BOARD])) { + port = dev_id; + break; + } + } + + if (i == MXSER_BOARDS) + return IRQ_NONE; + if (port == 0) + return IRQ_NONE; + max = mxser_numports[mxsercfg[i].board_type]; + + while (1) { + irqbits = inb(port->vector) & port->vectormask; + if (irqbits == port->vectormask) + break; + handled = 1; + for (i = 0, bits = 1; i < max; i++, irqbits |= bits, bits <<= 1) { + if (irqbits == port->vectormask) + break; + if (bits & irqbits) + continue; + info = port + i; + if (!info->tty || + (inb(info->base + UART_IIR) & UART_IIR_NO_INT)) + continue; + status = inb(info->base + UART_LSR) & info->read_status_mask; + if (status & UART_LSR_DR) + mxser_receive_chars(info, &status); + msr = inb(info->base + UART_MSR); + if (msr & UART_MSR_ANY_DELTA) + mxser_check_modem_status(info, msr); + if (status & UART_LSR_THRE) { +/* 8-2-99 by William + if ( info->x_char || (info->xmit_cnt > 0) ) + */ + mxser_transmit_chars(info); + } + } + if (pass_counter++ > MXSER_ISR_PASS_LIMIT) { +#if 0 + printk("MOXA Smartio/Indusrtio family driver interrupt loop break\n"); +#endif + break; /* Prevent infinite loops */ + } + } + return IRQ_RETVAL(handled); +} + static int mxser_block_til_ready(struct tty_struct *tty, struct file *filp, struct mxser_struct *info) { diff --git a/drivers/char/n_tty.c b/drivers/char/n_tty.c index 072197462..5a3be050e 100644 --- a/drivers/char/n_tty.c +++ b/drivers/char/n_tty.c @@ -99,11 +99,18 @@ static inline void put_tty_queue(unsigned char c, struct tty_struct *tty) spin_unlock_irqrestore(&tty->read_lock, flags); } -/* - * Check whether to call the driver.unthrottle function. - * We test the TTY_THROTTLED bit first so that it always - * indicates the current state. +/** + * check_unthrottle - allow new receive data + * @tty; tty device + * + * Check whether to call the driver.unthrottle function. + * We test the TTY_THROTTLED bit first so that it always + * indicates the current state. The decision about whether + * it is worth allowing more input has been taken by the caller. + * Can sleep, may be called under the atomic_read semaphore but + * this is not guaranteed. */ + static void check_unthrottle(struct tty_struct * tty) { if (tty->count && @@ -112,10 +119,13 @@ static void check_unthrottle(struct tty_struct * tty) tty->driver->unthrottle(tty); } -/* - * Reset the read buffer counters, clear the flags, - * and make sure the driver is unthrottled. Called - * from n_tty_open() and n_tty_flush_buffer(). +/** + * reset_buffer_flags - reset buffer state + * @tty: terminal to reset + * + * Reset the read buffer counters, clear the flags, + * and make sure the driver is unthrottled. Called + * from n_tty_open() and n_tty_flush_buffer(). */ static void reset_buffer_flags(struct tty_struct *tty) { @@ -129,9 +139,19 @@ static void reset_buffer_flags(struct tty_struct *tty) check_unthrottle(tty); } -/* - * Flush the input buffer +/** + * n_tty_flush_buffer - clean input queue + * @tty: terminal device + * + * Flush the input buffer. Called when the line discipline is + * being closed, when the tty layer wants the buffer flushed (eg + * at hangup) or when the N_TTY line discipline internally has to + * clean the pending queue (for example some signals). + * + * FIXME: tty->ctrl_status is not spinlocked and relies on + * lock_kernel() still. */ + void n_tty_flush_buffer(struct tty_struct * tty) { /* clear everything and unthrottle the driver */ @@ -146,9 +166,14 @@ void n_tty_flush_buffer(struct tty_struct * tty) } } -/* - * Return number of characters buffered to be delivered to user +/** + * n_tty_chars_in_buffer - report available bytes + * @tty: tty device + * + * Report the number of characters buffered to be delivered to user + * at this instant in time. */ + ssize_t n_tty_chars_in_buffer(struct tty_struct *tty) { unsigned long flags; @@ -166,20 +191,47 @@ ssize_t n_tty_chars_in_buffer(struct tty_struct *tty) return n; } +/** + * is_utf8_continuation - utf8 multibyte check + * @c: byte to check + * + * Returns true if the utf8 character 'c' is a multibyte continuation + * character. We use this to correctly compute the on screen size + * of the character when printing + */ + static inline int is_utf8_continuation(unsigned char c) { return (c & 0xc0) == 0x80; } +/** + * is_continuation - multibyte check + * @c: byte to check + * + * Returns true if the utf8 character 'c' is a multibyte continuation + * character and the terminal is in unicode mode. + */ + static inline int is_continuation(unsigned char c, struct tty_struct *tty) { return I_IUTF8(tty) && is_utf8_continuation(c); } -/* - * Perform OPOST processing. Returns -1 when the output device is - * full and the character must be retried. +/** + * opost - output post processor + * @c: character (or partial unicode symbol) + * @tty: terminal device + * + * Perform OPOST processing. Returns -1 when the output device is + * full and the character must be retried. Note that Linux currently + * ignores TABDLY, CRDLY, VTDLY, FFDLY and NLDLY. They simply aren't + * relevant in the world today. If you ever need them, add them here. + * + * Called from both the receive and transmit sides and can be called + * re-entrantly. Relies on lock_kernel() still. */ + static int opost(unsigned char c, struct tty_struct *tty) { int space, spaces; @@ -239,10 +291,20 @@ static int opost(unsigned char c, struct tty_struct *tty) return 0; } -/* - * opost_block --- to speed up block console writes, among other - * things. +/** + * opost_block - block postprocess + * @tty: terminal device + * @inbuf: user buffer + * @nr: number of bytes + * + * This path is used to speed up block console writes, among other + * things when processing blocks of output data. It handles only + * the simple cases normally found and helps to generate blocks of + * symbols for the console driver and thus improve performance. + * + * Called from write_chan under the tty layer write lock. */ + static ssize_t opost_block(struct tty_struct * tty, const unsigned char __user * inbuf, unsigned int nr) { @@ -304,13 +366,27 @@ break_out: } - +/** + * put_char - write character to driver + * @c: character (or part of unicode symbol) + * @tty: terminal device + * + * Queue a byte to the driver layer for output + */ + static inline void put_char(unsigned char c, struct tty_struct *tty) { tty->driver->put_char(tty, c); } -/* Must be called only when L_ECHO(tty) is true. */ +/** + * echo_char - echo characters + * @c: unicode byte to echo + * @tty: terminal device + * + * Echo user input back onto the screen. This must be called only when + * L_ECHO(tty) is true. Called from the driver receive_buf path. + */ static void echo_char(unsigned char c, struct tty_struct *tty) { @@ -331,6 +407,16 @@ static inline void finish_erasing(struct tty_struct *tty) } } +/** + * eraser - handle erase function + * @c: character input + * @tty: terminal device + * + * Perform erase and neccessary output when an erase character is + * present in the stream from the driver layer. Handles the complexities + * of UTF-8 multibyte symbols. + */ + static void eraser(unsigned char c, struct tty_struct *tty) { enum { ERASE, WERASE, KILL } kill_type; @@ -463,6 +549,18 @@ static void eraser(unsigned char c, struct tty_struct *tty) finish_erasing(tty); } +/** + * isig - handle the ISIG optio + * @sig: signal + * @tty: terminal + * @flush: force flush + * + * Called when a signal is being sent due to terminal input. This + * may caus terminal flushing to take place according to the termios + * settings and character used. Called from the driver receive_buf + * path so serialized. + */ + static inline void isig(int sig, struct tty_struct *tty, int flush) { if (tty->pgrp > 0) @@ -474,6 +572,16 @@ static inline void isig(int sig, struct tty_struct *tty, int flush) } } +/** + * n_tty_receive_break - handle break + * @tty: terminal + * + * An RS232 break event has been hit in the incoming bitstream. This + * can cause a variety of events depending upon the termios settings. + * + * Called from the receive_buf path so single threaded. + */ + static inline void n_tty_receive_break(struct tty_struct *tty) { if (I_IGNBRK(tty)) @@ -490,19 +598,40 @@ static inline void n_tty_receive_break(struct tty_struct *tty) wake_up_interruptible(&tty->read_wait); } +/** + * n_tty_receive_overrun - handle overrun reporting + * @tty: terminal + * + * Data arrived faster than we could process it. While the tty + * driver has flagged this the bits that were missed are gone + * forever. + * + * Called from the receive_buf path so single threaded. Does not + * need locking as num_overrun and overrun_time are function + * private. + */ + static inline void n_tty_receive_overrun(struct tty_struct *tty) { char buf[64]; tty->num_overrun++; if (time_before(tty->overrun_time, jiffies - HZ)) { - printk("%s: %d input overrun(s)\n", tty_name(tty, buf), + printk(KERN_WARNING "%s: %d input overrun(s)\n", tty_name(tty, buf), tty->num_overrun); tty->overrun_time = jiffies; tty->num_overrun = 0; } } +/** + * n_tty_receive_parity_error - error notifier + * @tty: terminal device + * @c: character + * + * Process a parity error and queue the right data to indicate + * the error case if neccessary. Locking as per n_tty_receive_buf. + */ static inline void n_tty_receive_parity_error(struct tty_struct *tty, unsigned char c) { @@ -520,6 +649,16 @@ static inline void n_tty_receive_parity_error(struct tty_struct *tty, wake_up_interruptible(&tty->read_wait); } +/** + * n_tty_receive_char - perform processing + * @tty: terminal device + * @c: character + * + * Process an individual character of input received from the driver. + * This is serialized with respect to itself by the rules for the + * driver above. + */ + static inline void n_tty_receive_char(struct tty_struct *tty, unsigned char c) { unsigned long flags; @@ -711,6 +850,16 @@ send_signal: put_tty_queue(c, tty); } +/** + * n_tty_receive_room - receive space + * @tty: terminal + * + * Called by the driver to find out how much data it is + * permitted to feed to the line discipline without any being lost + * and thus to manage flow control. Not serialized. Answers for the + * "instant". + */ + static int n_tty_receive_room(struct tty_struct *tty) { int left = N_TTY_BUF_SIZE - tty->read_cnt - 1; @@ -729,10 +878,13 @@ static int n_tty_receive_room(struct tty_struct *tty) return 0; } -/* - * Required for the ptys, serial driver etc. since processes - * that attach themselves to the master and rely on ASYNC - * IO must be woken up +/** + * n_tty_write_wakeup - asynchronous I/O notifier + * @tty: tty device + * + * Required for the ptys, serial driver etc. since processes + * that attach themselves to the master and rely on ASYNC + * IO must be woken up */ static void n_tty_write_wakeup(struct tty_struct *tty) @@ -745,6 +897,19 @@ static void n_tty_write_wakeup(struct tty_struct *tty) return; } +/** + * n_tty_receive_buf - data receive + * @tty: terminal device + * @cp: buffer + * @fp: flag buffer + * @count: characters + * + * Called by the terminal driver when a block of characters has + * been received. This function must be called from soft contexts + * not from interrupt context. The driver is responsible for making + * calls one at a time and in order (or using flush_to_ldisc) + */ + static void n_tty_receive_buf(struct tty_struct *tty, const unsigned char *cp, char *fp, int count) { @@ -828,6 +993,18 @@ int is_ignored(int sig) current->sighand->action[sig-1].sa.sa_handler == SIG_IGN); } +/** + * n_tty_set_termios - termios data changed + * @tty: terminal + * @old: previous data + * + * Called by the tty layer when the user changes termios flags so + * that the line discipline can plan ahead. This function cannot sleep + * and is protected from re-entry by the tty layer. The user is + * guaranteed that this function will not be re-entered or in progress + * when the ldisc is closed. + */ + static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) { if (!tty) @@ -843,7 +1020,6 @@ static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) I_ICRNL(tty) || I_INLCR(tty) || L_ICANON(tty) || I_IXON(tty) || L_ISIG(tty) || L_ECHO(tty) || I_PARMRK(tty)) { - local_irq_disable(); // FIXME: is this safe? memset(tty->process_char_map, 0, 256/8); if (I_IGNCR(tty) || I_ICRNL(tty)) @@ -879,7 +1055,6 @@ static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) set_bit(SUSP_CHAR(tty), tty->process_char_map); } clear_bit(__DISABLED_CHAR, tty->process_char_map); - local_irq_enable(); // FIXME: is this safe? tty->raw = 0; tty->real_raw = 0; } else { @@ -893,6 +1068,16 @@ static void n_tty_set_termios(struct tty_struct *tty, struct termios * old) } } +/** + * n_tty_close - close the ldisc for this tty + * @tty: device + * + * Called from the terminal layer when this line discipline is + * being shut down, either because of a close or becsuse of a + * discipline change. The function will not be called while other + * ldisc methods are in progress. + */ + static void n_tty_close(struct tty_struct *tty) { n_tty_flush_buffer(tty); @@ -902,11 +1087,22 @@ static void n_tty_close(struct tty_struct *tty) } } +/** + * n_tty_open - open an ldisc + * @tty: terminal to open + * + * Called when this line discipline is being attached to the + * terminal device. Can sleep. Called serialized so that no + * other events will occur in parallel. No further open will occur + * until a close. + */ + static int n_tty_open(struct tty_struct *tty) { if (!tty) return -EINVAL; + /* This one is ugly. Currently a malloc failure here can panic */ if (!tty->read_buf) { tty->read_buf = alloc_buf(); if (!tty->read_buf) @@ -932,14 +1128,23 @@ static inline int input_available_p(struct tty_struct *tty, int amt) return 0; } -/* - * Helper function to speed up read_chan. It is only called when - * ICANON is off; it copies characters straight from the tty queue to - * user space directly. It can be profitably called twice; once to - * drain the space from the tail pointer to the (physical) end of the - * buffer, and once to drain the space from the (physical) beginning of - * the buffer to head pointer. +/** + * copy_from_read_buf - copy read data directly + * @tty: terminal device + * @b: user data + * @nr: size of data + * + * Helper function to speed up read_chan. It is only called when + * ICANON is off; it copies characters straight from the tty queue to + * user space directly. It can be profitably called twice; once to + * drain the space from the tail pointer to the (physical) end of the + * buffer, and once to drain the space from the (physical) beginning of + * the buffer to head pointer. + * + * Called under the tty->atomic_read sem and with TTY_DONT_FLIP set + * */ + static inline int copy_from_read_buf(struct tty_struct *tty, unsigned char __user **b, size_t *nr) @@ -970,25 +1175,18 @@ static inline int copy_from_read_buf(struct tty_struct *tty, extern ssize_t redirected_tty_write(struct file *,const char *,size_t,loff_t *); -static ssize_t read_chan(struct tty_struct *tty, struct file *file, - unsigned char __user *buf, size_t nr) +/** + * job_control - check job control + * @tty: tty + * @file: file handle + * + * Perform job control management checks on this file/tty descriptor + * and if appropriate send any needed signals and return a negative + * error code if action should be taken. + */ + +static int job_control(struct tty_struct *tty, struct file *file) { - unsigned char __user *b = buf; - DECLARE_WAITQUEUE(wait, current); - int c; - int minimum, time; - ssize_t retval = 0; - ssize_t size; - long timeout; - unsigned long flags; - -do_it_again: - - if (!tty->read_buf) { - printk("n_tty_read_chan: called with read_buf == NULL?!?\n"); - return -EIO; - } - /* Job control check -- must be done at start and after every sleep (POSIX.1 7.1.1.4). */ /* NOTE: not yet done after every sleep pending a thorough @@ -1006,7 +1204,48 @@ do_it_again: return -ERESTARTSYS; } } + return 0; +} + + +/** + * read_chan - read function for tty + * @tty: tty device + * @file: file object + * @buf: userspace buffer pointer + * @nr: size of I/O + * + * Perform reads for the line discipline. We are guaranteed that the + * line discipline will not be closed under us but we may get multiple + * parallel readers and must handle this ourselves. We may also get + * a hangup. Always called in user context, may sleep. + * + * This code must be sure never to sleep through a hangup. + */ + +static ssize_t read_chan(struct tty_struct *tty, struct file *file, + unsigned char __user *buf, size_t nr) +{ + unsigned char __user *b = buf; + DECLARE_WAITQUEUE(wait, current); + int c; + int minimum, time; + ssize_t retval = 0; + ssize_t size; + long timeout; + unsigned long flags; + +do_it_again: + + if (!tty->read_buf) { + printk("n_tty_read_chan: called with read_buf == NULL?!?\n"); + return -EIO; + } + c = job_control(tty, file); + if(c < 0) + return c; + minimum = time = 0; timeout = MAX_SCHEDULE_TIMEOUT; if (!tty->icanon) { @@ -1028,6 +1267,9 @@ do_it_again: } } + /* + * Internal serialization of reads. + */ if (file->f_flags & O_NONBLOCK) { if (down_trylock(&tty->atomic_read)) return -EAGAIN; @@ -1177,6 +1419,21 @@ do_it_again: return retval; } +/** + * write_chan - write function for tty + * @tty: tty device + * @file: file object + * @buf: userspace buffer pointer + * @nr: size of I/O + * + * Write function of the terminal device. This is serialized with + * respect to other write callers but not to termios changes, reads + * and other such events. We must be careful with N_TTY as the receive + * code will echo characters, thus calling driver write methods. + * + * This code must be sure never to sleep through a hangup. + */ + static ssize_t write_chan(struct tty_struct * tty, struct file * file, const unsigned char __user * buf, size_t nr) { @@ -1246,7 +1503,25 @@ break_out: return (b - buf) ? b - buf : retval; } -/* Called without the kernel lock held - fine */ +/** + * normal_poll - poll method for N_TTY + * @tty: terminal device + * @file: file accessing it + * @wait: poll table + * + * Called when the line discipline is asked to poll() for data or + * for special events. This code is not serialized with respect to + * other events save open/close. + * + * This code must be sure never to sleep through a hangup. + * Called without the kernel lock held - fine + * + * FIXME: if someone changes the VMIN or discipline settings for the + * terminal while another process is in poll() the poll does not + * recompute the new limits. Possibly set_termios should issue + * a read wakeup to fix this bug. + */ + static unsigned int normal_poll(struct tty_struct * tty, struct file * file, poll_table *wait) { unsigned int mask = 0; @@ -1287,6 +1562,7 @@ struct tty_ldisc tty_ldisc_N_TTY = { n_tty_ioctl, /* ioctl */ n_tty_set_termios, /* set_termios */ normal_poll, /* poll */ + NULL, /* hangup */ n_tty_receive_buf, /* receive_buf */ n_tty_receive_room, /* receive_room */ n_tty_write_wakeup /* write_wakeup */ diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c index cb1cfb0af..5d7f21542 100644 --- a/drivers/char/pcmcia/synclink_cs.c +++ b/drivers/char/pcmcia/synclink_cs.c @@ -1,7 +1,7 @@ /* * linux/drivers/char/pcmcia/synclink_cs.c * - * $Id: synclink_cs.c,v 4.22 2004/06/01 20:27:46 paulkf Exp $ + * $Id: synclink_cs.c,v 4.26 2004/08/11 19:30:02 paulkf Exp $ * * Device driver for Microgate SyncLink PC Card * multiprotocol serial adapter. @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -68,6 +69,7 @@ #include #include #include +#include #include #include @@ -76,12 +78,8 @@ #include #include -#ifdef CONFIG_SYNCLINK_SYNCPPP_MODULE -#define CONFIG_SYNCLINK_SYNCPPP 1 -#endif - -#ifdef CONFIG_SYNCLINK_SYNCPPP -#include +#ifdef CONFIG_HDLC_MODULE +#define CONFIG_HDLC 1 #endif #define GET_USER(error,value,addr) error = get_user(value,addr) @@ -239,12 +237,11 @@ typedef struct _mgslpc_info { int netcount; int dosyncppp; spinlock_t netlock; -#ifdef CONFIG_SYNCLINK_SYNCPPP - struct ppp_device pppdev; - char netname[10]; + +#ifdef CONFIG_HDLC struct net_device *netdev; - struct net_device_stats netstats; #endif + } MGSLPC_INFO; #define MGSLPC_MAGIC 0x5402 @@ -262,7 +259,7 @@ typedef struct _mgslpc_info { * FIXME: PPC has PVR defined in asm/reg.h. For now we just undef it. */ #undef PVR - + #define RXFIFO 0 #define TXFIFO 0 #define STAR 0x20 @@ -398,18 +395,12 @@ static void tx_timeout(unsigned long context); static int ioctl_common(MGSLPC_INFO *info, unsigned int cmd, unsigned long arg); -#ifdef CONFIG_SYNCLINK_SYNCPPP -/* SPPP/HDLC stuff */ -static void mgslpc_sppp_init(MGSLPC_INFO *info); -static void mgslpc_sppp_delete(MGSLPC_INFO *info); -static int mgslpc_sppp_open(struct net_device *d); -static int mgslpc_sppp_close(struct net_device *d); -static void mgslpc_sppp_tx_timeout(struct net_device *d); -static int mgslpc_sppp_tx(struct sk_buff *skb, struct net_device *d); -static void mgslpc_sppp_rx_done(MGSLPC_INFO *info, char *buf, int size); -static void mgslpc_sppp_tx_done(MGSLPC_INFO *info); -static int mgslpc_sppp_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); -struct net_device_stats *mgslpc_net_stats(struct net_device *dev); +#ifdef CONFIG_HDLC +#define dev_to_port(D) (dev_to_hdlc(D)->priv) +static void hdlcdev_tx_done(MGSLPC_INFO *info); +static void hdlcdev_rx(MGSLPC_INFO *info, char *buf, int size); +static int hdlcdev_init(MGSLPC_INFO *info); +static void hdlcdev_exit(MGSLPC_INFO *info); #endif static void trace_block(MGSLPC_INFO *info,const char* data, int count, int xmit); @@ -453,8 +444,6 @@ static int tx_abort(MGSLPC_INFO *info); static int set_rxenable(MGSLPC_INFO *info, int enable); static int wait_events(MGSLPC_INFO *info, int __user *mask); -#define jiffies_from_ms(a) ((((a) * HZ)/1000)+1) - static MGSLPC_INFO *mgslpc_device_list = NULL; static int mgslpc_device_count = 0; @@ -494,7 +483,7 @@ MODULE_PARM(dosyncppp,"1-" __MODULE_STRING(MAX_DEVICE_COUNT) "i"); MODULE_LICENSE("GPL"); static char *driver_name = "SyncLink PC Card driver"; -static char *driver_version = "$Revision: 4.22 $"; +static char *driver_version = "$Revision: 4.26 $"; static struct tty_driver *serial_driver; @@ -504,10 +493,6 @@ static struct tty_driver *serial_driver; static void mgslpc_change_params(MGSLPC_INFO *info); static void mgslpc_wait_until_sent(struct tty_struct *tty, int timeout); -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* PCMCIA prototypes */ static void mgslpc_config(dev_link_t *link); @@ -531,6 +516,40 @@ static void* mgslpc_get_text_ptr(void) return mgslpc_get_text_ptr; } +/** + * line discipline callback wrappers + * + * The wrappers maintain line discipline references + * while calling into the line discipline. + * + * ldisc_flush_buffer - flush line discipline receive buffers + * ldisc_receive_buf - pass receive data to line discipline + */ + +static void ldisc_flush_buffer(struct tty_struct *tty) +{ + struct tty_ldisc *ld = tty_ldisc_ref(tty); + if (ld) { + if (ld->flush_buffer) + ld->flush_buffer(tty); + tty_ldisc_deref(ld); + } +} + +static void ldisc_receive_buf(struct tty_struct *tty, + const __u8 *data, char *flags, int count) +{ + struct tty_ldisc *ld; + if (!tty) + return; + ld = tty_ldisc_ref(tty); + if (ld) { + if (ld->receive_buf) + ld->receive_buf(tty, data, flags, count); + tty_ldisc_deref(ld); + } +} + static dev_link_t *mgslpc_attach(void) { MGSLPC_INFO *info; @@ -984,13 +1003,7 @@ void bh_transmit(MGSLPC_INFO *info) printk("bh_transmit() entry on %s\n", info->device_name); if (tty) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) { - if ( debug_level >= DEBUG_LEVEL_BH ) - printk( "%s(%d):calling ldisc.write_wakeup on %s\n", - __FILE__,__LINE__,info->device_name); - (tty->ldisc.write_wakeup)(tty); - } + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); } } @@ -1163,9 +1176,9 @@ void tx_done(MGSLPC_INFO *info) info->drop_rts_on_tx_done = 0; } -#ifdef CONFIG_SYNCLINK_SYNCPPP +#ifdef CONFIG_HDLC if (info->netcount) - mgslpc_sppp_tx_done(info); + hdlcdev_tx_done(info); else #endif { @@ -1201,7 +1214,7 @@ void tx_ready(MGSLPC_INFO *info) return; while (info->tx_count && fifo_count) { - c = MIN(2, MIN(fifo_count, MIN(info->tx_count, TXBUFSIZE - info->tx_get))); + c = min(2, min_t(int, fifo_count, min(info->tx_count, TXBUFSIZE - info->tx_get))); if (c == 1) { write_reg(info, CHA + TXFIFO, *(info->tx_buf + info->tx_get)); @@ -1271,13 +1284,13 @@ void dcd_change(MGSLPC_INFO *info) info->icount.dcd++; if (info->serial_signals & SerialSignal_DCD) { info->input_signal_events.dcd_up++; -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->netcount) - sppp_reopen(info->netdev); -#endif } else info->input_signal_events.dcd_down++; +#ifdef CONFIG_HDLC + if (info->netcount) + hdlc_set_carrier(info->serial_signals & SerialSignal_DCD, info->netdev); +#endif wake_up_interruptible(&info->status_event_wait_q); wake_up_interruptible(&info->event_wait_q); @@ -1764,8 +1777,8 @@ static int mgslpc_write(struct tty_struct * tty, int from_user, } for (;;) { - c = MIN(count, - MIN(TXBUFSIZE - info->tx_count - 1, + c = min(count, + min(TXBUFSIZE - info->tx_count - 1, TXBUFSIZE - info->tx_put)); if (c <= 0) break; @@ -1875,11 +1888,9 @@ static void mgslpc_flush_buffer(struct tty_struct *tty) info->tx_count = info->tx_put = info->tx_get = 0; del_timer(&info->tx_timer); spin_unlock_irqrestore(&info->lock,flags); - + wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); } /* Send a high-priority XON/XOFF character @@ -2588,9 +2599,8 @@ static void mgslpc_close(struct tty_struct *tty, struct file * filp) if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + + ldisc_flush_buffer(tty); shutdown(info); @@ -2651,7 +2661,7 @@ static void mgslpc_wait_until_sent(struct tty_struct *tty, int timeout) char_time = 1; if (timeout) - char_time = MIN(char_time, timeout); + char_time = min_t(unsigned long, char_time, timeout); if (info->params.mode == MGSL_MODE_HDLC) { while (info->tx_active) { @@ -2876,7 +2886,7 @@ static int mgslpc_open(struct tty_struct *tty, struct file * filp) cleanup: if (retval) { if (tty->count == 1) - info->tty = NULL;/* tty layer will release tty struct */ + info->tty = NULL; /* tty layer will release tty struct */ if(info->count) info->count--; } @@ -2931,7 +2941,7 @@ static inline int line_info(char *buf, MGSLPC_INFO *info) if (info->icount.rxover) ret += sprintf(buf+ret, " rxover:%d", info->icount.rxover); if (info->icount.rxcrc) - ret += sprintf(buf+ret, " rxlong:%d", info->icount.rxcrc); + ret += sprintf(buf+ret, " rxcrc:%d", info->icount.rxcrc); } else { ret += sprintf(buf+ret, " ASYNC tx:%d rx:%d", info->icount.tx, info->icount.rx); @@ -3070,12 +3080,8 @@ void mgslpc_add_device(MGSLPC_INFO *info) printk( "SyncLink PC Card %s:IO=%04X IRQ=%d\n", info->device_name, info->io_base, info->irq_level); - -#ifdef CONFIG_SYNCLINK_SYNCPPP -#ifdef MODULE - if (info->dosyncppp) -#endif - mgslpc_sppp_init(info); +#ifdef CONFIG_HDLC + hdlcdev_init(info); #endif } @@ -3090,9 +3096,8 @@ void mgslpc_remove_device(MGSLPC_INFO *remove_info) last->next_device = info->next_device; else mgslpc_device_list = info->next_device; -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->dosyncppp) - mgslpc_sppp_delete(info); +#ifdef CONFIG_HDLC + hdlcdev_exit(info); #endif release_resources(info); kfree(info); @@ -3669,7 +3674,7 @@ void tx_start(MGSLPC_INFO *info) } else { info->tx_active = 1; tx_ready(info); - info->tx_timer.expires = jiffies + jiffies_from_ms(5000); + info->tx_timer.expires = jiffies + msecs_to_jiffies(5000); add_timer(&info->tx_timer); } } @@ -4021,9 +4026,12 @@ int rx_get_frame(MGSLPC_INFO *info) return_frame = 1; } framesize = 0; -#ifdef CONFIG_SYNCLINK_SYNCPPP - info->netstats.rx_errors++; - info->netstats.rx_frame_errors++; +#ifdef CONFIG_HDLC + { + struct net_device_stats *stats = hdlc_stats(info->netdev); + stats->rx_errors++; + stats->rx_frame_errors++; + } #endif } else return_frame = 1; @@ -4052,18 +4060,12 @@ int rx_get_frame(MGSLPC_INFO *info) ++framesize; } -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->netcount) { - /* pass frame to syncppp device */ - mgslpc_sppp_rx_done(info, buf->data, framesize); - } +#ifdef CONFIG_HDLC + if (info->netcount) + hdlcdev_rx(info, buf->data, framesize); else #endif - { - /* Call the line discipline receive callback directly. */ - if (tty && tty->ldisc.receive_buf) - tty->ldisc.receive_buf(tty, buf->data, info->flag_buf, framesize); - } + ldisc_receive_buf(tty, buf->data, info->flag_buf, framesize); } } @@ -4128,7 +4130,7 @@ BOOLEAN irq_test(MGSLPC_INFO *info) end_time=100; while(end_time-- && !info->irq_occurred) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(jiffies_from_ms(10)); + schedule_timeout(msecs_to_jiffies(10)); } info->testing_irq = FALSE; @@ -4215,88 +4217,134 @@ void tx_timeout(unsigned long context) spin_unlock_irqrestore(&info->lock,flags); -#ifdef CONFIG_SYNCLINK_SYNCPPP +#ifdef CONFIG_HDLC if (info->netcount) - mgslpc_sppp_tx_done(info); + hdlcdev_tx_done(info); else #endif bh_transmit(info); } -#ifdef CONFIG_SYNCLINK_SYNCPPP -/* syncppp net device routines +#ifdef CONFIG_HDLC + +/** + * called by generic HDLC layer when protocol selected (PPP, frame relay, etc.) + * set encoding and frame check sequence (FCS) options + * + * dev pointer to network device structure + * encoding serial encoding setting + * parity FCS setting + * + * returns 0 if success, otherwise error code */ - -static void mgslpc_setup(struct net_device *dev) +static int hdlcdev_attach(struct net_device *dev, unsigned short encoding, + unsigned short parity) { - dev->open = mgslpc_sppp_open; - dev->stop = mgslpc_sppp_close; - dev->hard_start_xmit = mgslpc_sppp_tx; - dev->do_ioctl = mgslpc_sppp_ioctl; - dev->get_stats = mgslpc_net_stats; - dev->tx_timeout = mgslpc_sppp_tx_timeout; - dev->watchdog_timeo = 10*HZ; -} + MGSLPC_INFO *info = dev_to_port(dev); + unsigned char new_encoding; + unsigned short new_crctype; -void mgslpc_sppp_init(MGSLPC_INFO *info) -{ - struct net_device *d; + /* return error if TTY interface open */ + if (info->count) + return -EBUSY; - sprintf(info->netname,"mgslp%d",info->line); - - d = alloc_netdev(0, info->netname, mgslpc_setup); - if (!d) { - printk(KERN_WARNING "%s: alloc_netdev failed.\n", - info->netname); - return; + switch (encoding) + { + case ENCODING_NRZ: new_encoding = HDLC_ENCODING_NRZ; break; + case ENCODING_NRZI: new_encoding = HDLC_ENCODING_NRZI_SPACE; break; + case ENCODING_FM_MARK: new_encoding = HDLC_ENCODING_BIPHASE_MARK; break; + case ENCODING_FM_SPACE: new_encoding = HDLC_ENCODING_BIPHASE_SPACE; break; + case ENCODING_MANCHESTER: new_encoding = HDLC_ENCODING_BIPHASE_LEVEL; break; + default: return -EINVAL; } - info->if_ptr = &info->pppdev; - info->netdev = info->pppdev.dev = d; - - d->base_addr = info->io_base; - d->irq = info->irq_level; - d->priv = info; + switch (parity) + { + case PARITY_NONE: new_crctype = HDLC_CRC_NONE; break; + case PARITY_CRC16_PR1_CCITT: new_crctype = HDLC_CRC_16_CCITT; break; + case PARITY_CRC32_PR1_CCITT: new_crctype = HDLC_CRC_32_CCITT; break; + default: return -EINVAL; + } - sppp_attach(&info->pppdev); - mgslpc_setup(d); + info->params.encoding = new_encoding; + info->params.crc_type = new_crctype;; - if (register_netdev(d)) { - printk(KERN_WARNING "%s: register_netdev failed.\n", d->name); - sppp_detach(info->netdev); - info->netdev = NULL; - info->pppdev.dev = NULL; - free_netdev(d); - return; - } + /* if network interface up, reprogram hardware */ + if (info->netcount) + mgslpc_program_hw(info); - if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_init()\n"); + return 0; } -void mgslpc_sppp_delete(MGSLPC_INFO *info) +/** + * called by generic HDLC layer to send frame + * + * skb socket buffer containing HDLC frame + * dev pointer to network device structure + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_xmit(struct sk_buff *skb, struct net_device *dev) { + MGSLPC_INFO *info = dev_to_port(dev); + struct net_device_stats *stats = hdlc_stats(dev); + unsigned long flags; + if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_delete(%s)\n",info->netname); - unregister_netdev(info->netdev); - sppp_detach(info->netdev); - free_netdev(info->netdev); - info->netdev = NULL; - info->pppdev.dev = NULL; + printk(KERN_INFO "%s:hdlc_xmit(%s)\n",__FILE__,dev->name); + + /* stop sending until this frame completes */ + netif_stop_queue(dev); + + /* copy data to device buffers */ + memcpy(info->tx_buf, skb->data, skb->len); + info->tx_get = 0; + info->tx_put = info->tx_count = skb->len; + + /* update network statistics */ + stats->tx_packets++; + stats->tx_bytes += skb->len; + + /* done with socket buffer, so free it */ + dev_kfree_skb(skb); + + /* save start time for transmit timeout detection */ + dev->trans_start = jiffies; + + /* start hardware transmitter if necessary */ + spin_lock_irqsave(&info->lock,flags); + if (!info->tx_active) + tx_start(info); + spin_unlock_irqrestore(&info->lock,flags); + + return 0; } -int mgslpc_sppp_open(struct net_device *d) +/** + * called by network layer when interface enabled + * claim resources and initialize hardware + * + * dev pointer to network device structure + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_open(struct net_device *dev) { - MGSLPC_INFO *info = d->priv; - int err; + MGSLPC_INFO *info = dev_to_port(dev); + int rc; unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_open(%s)\n",info->netname); + printk("%s:hdlcdev_open(%s)\n",__FILE__,dev->name); + + /* generic HDLC layer open processing */ + if ((rc = hdlc_open(dev))) + return rc; + /* arbitrate between network and tty opens */ spin_lock_irqsave(&info->netlock, flags); if (info->count != 0 || info->netcount != 0) { - printk(KERN_WARNING "%s: sppp_open returning busy\n", info->netname); + printk(KERN_WARNING "%s: hdlc_open returning busy\n", dev->name); spin_unlock_irqrestore(&info->netlock, flags); return -EBUSY; } @@ -4304,142 +4352,297 @@ int mgslpc_sppp_open(struct net_device *d) spin_unlock_irqrestore(&info->netlock, flags); /* claim resources and init adapter */ - if ((err = startup(info)) != 0) - goto open_fail; - - /* allow syncppp module to do open processing */ - if ((err = sppp_open(d)) != 0) { - shutdown(info); - goto open_fail; + if ((rc = startup(info)) != 0) { + spin_lock_irqsave(&info->netlock, flags); + info->netcount=0; + spin_unlock_irqrestore(&info->netlock, flags); + return rc; } + /* assert DTR and RTS, apply hardware settings */ info->serial_signals |= SerialSignal_RTS + SerialSignal_DTR; mgslpc_program_hw(info); - d->trans_start = jiffies; - netif_start_queue(d); - return 0; + /* enable network layer transmit */ + dev->trans_start = jiffies; + netif_start_queue(dev); -open_fail: - spin_lock_irqsave(&info->netlock, flags); - info->netcount=0; - spin_unlock_irqrestore(&info->netlock, flags); - return err; + /* inform generic HDLC layer of current DCD status */ + spin_lock_irqsave(&info->lock, flags); + get_signals(info); + spin_unlock_irqrestore(&info->lock, flags); + hdlc_set_carrier(info->serial_signals & SerialSignal_DCD, dev); + + return 0; } -void mgslpc_sppp_tx_timeout(struct net_device *dev) +/** + * called by network layer when interface is disabled + * shutdown hardware and release resources + * + * dev pointer to network device structure + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_close(struct net_device *dev) { - MGSLPC_INFO *info = dev->priv; + MGSLPC_INFO *info = dev_to_port(dev); unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_tx_timeout(%s)\n",info->netname); + printk("%s:hdlcdev_close(%s)\n",__FILE__,dev->name); - info->netstats.tx_errors++; - info->netstats.tx_aborted_errors++; + netif_stop_queue(dev); - spin_lock_irqsave(&info->lock,flags); - tx_stop(info); - spin_unlock_irqrestore(&info->lock,flags); + /* shutdown adapter and release resources */ + shutdown(info); - netif_wake_queue(dev); + hdlc_close(dev); + + spin_lock_irqsave(&info->netlock, flags); + info->netcount=0; + spin_unlock_irqrestore(&info->netlock, flags); + + return 0; } -int mgslpc_sppp_tx(struct sk_buff *skb, struct net_device *dev) +/** + * called by network layer to process IOCTL call to network device + * + * dev pointer to network device structure + * ifr pointer to network interface request structure + * cmd IOCTL command code + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { - MGSLPC_INFO *info = dev->priv; - unsigned long flags; + const size_t size = sizeof(sync_serial_settings); + sync_serial_settings new_line; + sync_serial_settings __user *line = ifr->ifr_settings.ifs_ifsu.sync; + MGSLPC_INFO *info = dev_to_port(dev); + unsigned int flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_tx(%s)\n",info->netname); + printk("%s:hdlcdev_ioctl(%s)\n",__FILE__,dev->name); - netif_stop_queue(dev); + /* return error if TTY interface open */ + if (info->count) + return -EBUSY; - info->tx_count = skb->len; + if (cmd != SIOCWANDEV) + return hdlc_ioctl(dev, ifr, cmd); - memcpy(info->tx_buf, skb->data, skb->len); - info->tx_get = 0; - info->tx_put = info->tx_count = skb->len; + switch(ifr->ifr_settings.type) { + case IF_GET_IFACE: /* return current sync_serial_settings */ - info->netstats.tx_packets++; - info->netstats.tx_bytes += skb->len; - dev_kfree_skb(skb); + ifr->ifr_settings.type = IF_IFACE_SYNC_SERIAL; + if (ifr->ifr_settings.size < size) { + ifr->ifr_settings.size = size; /* data size wanted */ + return -ENOBUFS; + } - dev->trans_start = jiffies; + flags = info->params.flags & (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_RXC_DPLL | + HDLC_FLAG_RXC_BRG | HDLC_FLAG_RXC_TXCPIN | + HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | + HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); + + switch (flags){ + case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): new_line.clock_type = CLOCK_EXT; break; + case (HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG): new_line.clock_type = CLOCK_INT; break; + case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_BRG): new_line.clock_type = CLOCK_TXINT; break; + case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_RXCPIN): new_line.clock_type = CLOCK_TXFROMRX; break; + default: new_line.clock_type = CLOCK_DEFAULT; + } - spin_lock_irqsave(&info->lock,flags); - if (!info->tx_active) - tx_start(info); - spin_unlock_irqrestore(&info->lock,flags); + new_line.clock_rate = info->params.clock_speed; + new_line.loopback = info->params.loopback ? 1:0; - return 0; + if (copy_to_user(line, &new_line, size)) + return -EFAULT; + return 0; + + case IF_IFACE_SYNC_SERIAL: /* set sync_serial_settings */ + + if(!capable(CAP_NET_ADMIN)) + return -EPERM; + if (copy_from_user(&new_line, line, size)) + return -EFAULT; + + switch (new_line.clock_type) + { + case CLOCK_EXT: flags = HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN; break; + case CLOCK_TXFROMRX: flags = HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_RXCPIN; break; + case CLOCK_INT: flags = HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG; break; + case CLOCK_TXINT: flags = HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_BRG; break; + case CLOCK_DEFAULT: flags = info->params.flags & + (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_RXC_DPLL | + HDLC_FLAG_RXC_BRG | HDLC_FLAG_RXC_TXCPIN | + HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | + HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); break; + default: return -EINVAL; + } + + if (new_line.loopback != 0 && new_line.loopback != 1) + return -EINVAL; + + info->params.flags &= ~(HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_RXC_DPLL | + HDLC_FLAG_RXC_BRG | HDLC_FLAG_RXC_TXCPIN | + HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | + HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); + info->params.flags |= flags; + + info->params.loopback = new_line.loopback; + + if (flags & (HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG)) + info->params.clock_speed = new_line.clock_rate; + else + info->params.clock_speed = 0; + + /* if network interface up, reprogram hardware */ + if (info->netcount) + mgslpc_program_hw(info); + return 0; + + default: + return hdlc_ioctl(dev, ifr, cmd); + } } -int mgslpc_sppp_close(struct net_device *d) +/** + * called by network layer when transmit timeout is detected + * + * dev pointer to network device structure + */ +static void hdlcdev_tx_timeout(struct net_device *dev) { - MGSLPC_INFO *info = d->priv; + MGSLPC_INFO *info = dev_to_port(dev); + struct net_device_stats *stats = hdlc_stats(dev); unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_close(%s)\n",info->netname); + printk("hdlcdev_tx_timeout(%s)\n",dev->name); - /* shutdown adapter and release resources */ - shutdown(info); + stats->tx_errors++; + stats->tx_aborted_errors++; - /* allow syncppp to do close processing */ - sppp_close(d); - netif_stop_queue(d); + spin_lock_irqsave(&info->lock,flags); + tx_stop(info); + spin_unlock_irqrestore(&info->lock,flags); - spin_lock_irqsave(&info->netlock, flags); - info->netcount=0; - spin_unlock_irqrestore(&info->netlock, flags); - return 0; + netif_wake_queue(dev); } -void mgslpc_sppp_rx_done(MGSLPC_INFO *info, char *buf, int size) +/** + * called by device driver when transmit completes + * reenable network layer transmit if stopped + * + * info pointer to device instance information + */ +static void hdlcdev_tx_done(MGSLPC_INFO *info) +{ + if (netif_queue_stopped(info->netdev)) + netif_wake_queue(info->netdev); +} + +/** + * called by device driver when frame received + * pass frame to network layer + * + * info pointer to device instance information + * buf pointer to buffer contianing frame data + * size count of data bytes in buf + */ +static void hdlcdev_rx(MGSLPC_INFO *info, char *buf, int size) { struct sk_buff *skb = dev_alloc_skb(size); + struct net_device *dev = info->netdev; + struct net_device_stats *stats = hdlc_stats(dev); + if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_sppp_rx_done(%s)\n",info->netname); + printk("hdlcdev_rx(%s)\n",dev->name); + if (skb == NULL) { - printk(KERN_NOTICE "%s: can't alloc skb, dropping packet\n", - info->netname); - info->netstats.rx_dropped++; + printk(KERN_NOTICE "%s: can't alloc skb, dropping packet\n", dev->name); + stats->rx_dropped++; return; } memcpy(skb_put(skb, size),buf,size); - skb->protocol = htons(ETH_P_WAN_PPP); - skb->dev = info->netdev; - skb->mac.raw = skb->data; - info->netstats.rx_packets++; - info->netstats.rx_bytes += size; + skb->dev = info->netdev; + skb->mac.raw = skb->data; + skb->protocol = hdlc_type_trans(skb, skb->dev); + + stats->rx_packets++; + stats->rx_bytes += size; + netif_rx(skb); - info->netdev->trans_start = jiffies; -} -void mgslpc_sppp_tx_done(MGSLPC_INFO *info) -{ - if (netif_queue_stopped(info->netdev)) - netif_wake_queue(info->netdev); + info->netdev->last_rx = jiffies; } -struct net_device_stats *mgslpc_net_stats(struct net_device *dev) +/** + * called by device driver when adding device instance + * do generic HDLC initialization + * + * info pointer to device instance information + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_init(MGSLPC_INFO *info) { - MGSLPC_INFO *info = dev->priv; - if (debug_level >= DEBUG_LEVEL_INFO) - printk("mgslpc_net_stats(%s)\n",info->netname); - return &info->netstats; + int rc; + struct net_device *dev; + hdlc_device *hdlc; + + /* allocate and initialize network and HDLC layer objects */ + + if (!(dev = alloc_hdlcdev(info))) { + printk(KERN_ERR "%s:hdlc device allocation failure\n",__FILE__); + return -ENOMEM; + } + + /* for network layer reporting purposes only */ + dev->base_addr = info->io_base; + dev->irq = info->irq_level; + + /* network layer callbacks and settings */ + dev->do_ioctl = hdlcdev_ioctl; + dev->open = hdlcdev_open; + dev->stop = hdlcdev_close; + dev->tx_timeout = hdlcdev_tx_timeout; + dev->watchdog_timeo = 10*HZ; + dev->tx_queue_len = 50; + + /* generic HDLC layer callbacks and settings */ + hdlc = dev_to_hdlc(dev); + hdlc->attach = hdlcdev_attach; + hdlc->xmit = hdlcdev_xmit; + + /* register objects with HDLC layer */ + if ((rc = register_hdlc_device(dev))) { + printk(KERN_WARNING "%s:unable to register hdlc device\n",__FILE__); + free_netdev(dev); + return rc; + } + + info->netdev = dev; + return 0; } -int mgslpc_sppp_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) +/** + * called by device driver when removing device instance + * do generic HDLC cleanup + * + * info pointer to device instance information + */ +static void hdlcdev_exit(MGSLPC_INFO *info) { - MGSLPC_INFO *info = dev->priv; - if (debug_level >= DEBUG_LEVEL_INFO) - printk("%s(%d):mgslpc_ioctl %s cmd=%08X\n", __FILE__,__LINE__, - info->netname, cmd ); - return sppp_do_ioctl(dev, ifr, cmd); + unregister_hdlc_device(info->netdev); + free_netdev(info->netdev); + info->netdev = NULL; } -#endif /* ifdef CONFIG_SYNCLINK_SYNCPPP */ +#endif /* CONFIG_HDLC */ + diff --git a/drivers/char/pty.c b/drivers/char/pty.c index fcbb32547..9826bbd0f 100644 --- a/drivers/char/pty.c +++ b/drivers/char/pty.c @@ -32,12 +32,6 @@ #include #include -#if defined(CONFIG_LEGACY_PTYS) || defined(CONFIG_UNIX98_PTYS) - -#ifdef CONFIG_LEGACY_PTYS -static struct tty_driver *pty_driver, *pty_slave_driver; -#endif - /* These are global because they are accessed in tty_io.c */ #ifdef CONFIG_UNIX98_PTYS struct tty_driver *ptm_driver; @@ -91,10 +85,7 @@ static void pty_unthrottle(struct tty_struct * tty) if (!o_tty) return; - if ((o_tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - o_tty->ldisc.write_wakeup) - (o_tty->ldisc.write_wakeup)(o_tty); - wake_up_interruptible(&o_tty->write_wait); + tty_wakeup(o_tty); set_bit(TTY_THROTTLED, &tty->flags); } @@ -107,6 +98,10 @@ static void pty_unthrottle(struct tty_struct * tty) * (2) avoid redundant copying for cases where count >> receive_room * N.B. Calls from user space may now return an error code instead of * a count. + * + * FIXME: Our pty_write method is called with our ldisc lock held but + * not our partners. We can't just take the other one blindly without + * risking deadlocks. There is also the small matter of TTY_DONT_FLIP */ static int pty_write(struct tty_struct * tty, int from_user, const unsigned char *buf, int count) @@ -205,19 +200,6 @@ static int pty_chars_in_buffer(struct tty_struct *tty) return ((count < N_TTY_BUF_SIZE/2) ? 0 : count); } -/* - * Return the device number of a Unix98 PTY (only!). This lets us open a - * master pty with the multi-headed ptmx device, then find out which - * one we got after it is open, with an ioctl. - */ -#ifdef CONFIG_UNIX98_PTYS -static int pty_get_device_number(struct tty_struct *tty, unsigned __user *value) -{ - unsigned int result = tty->index; - return put_user(result, value); -} -#endif - /* Set the lock flag on a pty */ static int pty_set_lock(struct tty_struct *tty, int __user * arg) { @@ -231,41 +213,6 @@ static int pty_set_lock(struct tty_struct *tty, int __user * arg) return 0; } -#ifdef CONFIG_LEGACY_PTYS -static int pty_bsd_ioctl(struct tty_struct *tty, struct file *file, - unsigned int cmd, unsigned long arg) -{ - if (!tty) { - printk("pty_ioctl called with NULL tty!\n"); - return -EIO; - } - switch(cmd) { - case TIOCSPTLCK: /* Set PT Lock (disallow slave open) */ - return pty_set_lock(tty, (int __user *) arg); - } - return -ENOIOCTLCMD; -} -#endif - -#ifdef CONFIG_UNIX98_PTYS -static int pty_unix98_ioctl(struct tty_struct *tty, struct file *file, - unsigned int cmd, unsigned long arg) -{ - if (!tty) { - printk("pty_unix98_ioctl called with NULL tty!\n"); - return -EIO; - } - switch(cmd) { - case TIOCSPTLCK: /* Set PT Lock (disallow slave open) */ - return pty_set_lock(tty, (int __user *)arg); - case TIOCGPTN: /* Get PT Number */ - return pty_get_device_number(tty, (unsigned int __user *)arg); - } - - return -ENOIOCTLCMD; -} -#endif - static void pty_flush_buffer(struct tty_struct *tty) { struct tty_struct *to = tty->link; @@ -322,42 +269,22 @@ static struct tty_operations pty_ops = { .set_termios = pty_set_termios, }; -/* sysctl support for setting limits on the number of Unix98 ptys allocated. - Otherwise one can eat up all kernel memory by opening /dev/ptmx repeatedly. */ -#ifdef CONFIG_UNIX98_PTYS -int pty_limit = NR_UNIX98_PTY_DEFAULT; -static int pty_limit_min = 0; -static int pty_limit_max = NR_UNIX98_PTY_MAX; +/* Traditional BSD devices */ +#ifdef CONFIG_LEGACY_PTYS +static struct tty_driver *pty_driver, *pty_slave_driver; -ctl_table pty_table[] = { - { - .ctl_name = PTY_MAX, - .procname = "max", - .maxlen = sizeof(int), - .mode = 0644, - .data = &pty_limit, - .proc_handler = &proc_dointvec_minmax, - .strategy = &sysctl_intvec, - .extra1 = &pty_limit_min, - .extra2 = &pty_limit_max, - }, { - .ctl_name = PTY_NR, - .procname = "nr", - .maxlen = sizeof(int), - .mode = 0444, - .proc_handler = &proc_dointvec, - }, { - .ctl_name = 0 +static int pty_bsd_ioctl(struct tty_struct *tty, struct file *file, + unsigned int cmd, unsigned long arg) +{ + switch (cmd) { + case TIOCSPTLCK: /* Set PT Lock (disallow slave open) */ + return pty_set_lock(tty, (int __user *) arg); } -}; -#endif - -/* Initialization */ + return -ENOIOCTLCMD; +} -static int __init pty_init(void) +static void __init legacy_pty_init(void) { -#ifdef CONFIG_LEGACY_PTYS - /* Traditional BSD devices */ pty_driver = alloc_tty_driver(NR_PTYS); if (!pty_driver) @@ -404,11 +331,58 @@ static int __init pty_init(void) panic("Couldn't register pty driver"); if (tty_register_driver(pty_slave_driver)) panic("Couldn't register pty slave driver"); +} +#else +static inline void legacy_pty_init(void) { } +#endif -#endif /* CONFIG_LEGACY_PTYS */ - +/* Unix98 devices */ #ifdef CONFIG_UNIX98_PTYS - /* Unix98 devices */ +/* + * sysctl support for setting limits on the number of Unix98 ptys allocated. + * Otherwise one can eat up all kernel memory by opening /dev/ptmx repeatedly. + */ +int pty_limit = NR_UNIX98_PTY_DEFAULT; +static int pty_limit_min = 0; +static int pty_limit_max = NR_UNIX98_PTY_MAX; + +ctl_table pty_table[] = { + { + .ctl_name = PTY_MAX, + .procname = "max", + .maxlen = sizeof(int), + .mode = 0644, + .data = &pty_limit, + .proc_handler = &proc_dointvec_minmax, + .strategy = &sysctl_intvec, + .extra1 = &pty_limit_min, + .extra2 = &pty_limit_max, + }, { + .ctl_name = PTY_NR, + .procname = "nr", + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec, + }, { + .ctl_name = 0 + } +}; + +static int pty_unix98_ioctl(struct tty_struct *tty, struct file *file, + unsigned int cmd, unsigned long arg) +{ + switch (cmd) { + case TIOCSPTLCK: /* Set PT Lock (disallow slave open) */ + return pty_set_lock(tty, (int __user *)arg); + case TIOCGPTN: /* Get PT Number */ + return put_user(tty->index, (unsigned int __user *)arg); + } + + return -ENOIOCTLCMD; +} + +static void __init unix98_pty_init(void) +{ devfs_mk_dir("pts"); ptm_driver = alloc_tty_driver(NR_UNIX98_PTY_MAX); if (!ptm_driver) @@ -455,10 +429,15 @@ static int __init pty_init(void) panic("Couldn't register Unix98 pts driver"); pty_table[1].data = &ptm_driver->refcount; -#endif /* CONFIG_UNIX98_PTYS */ +} +#else +static inline void unix98_pty_init(void) { } +#endif +static int __init pty_init(void) +{ + legacy_pty_init(); + unix98_pty_init(); return 0; } module_init(pty_init); - -#endif /* CONFIG_LEGACY_PTYS || CONFIG_UNIX98_PTYS */ diff --git a/drivers/char/random.c b/drivers/char/random.c index a26117920..62d6a352f 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -401,6 +401,7 @@ static struct poolinfo { */ static struct entropy_store *random_state; /* The default global store */ static struct entropy_store *sec_random_state; /* secondary store */ +static struct entropy_store *urandom_state; /* For urandom */ static DECLARE_WAIT_QUEUE_HEAD(random_read_wait); static DECLARE_WAIT_QUEUE_HEAD(random_write_wait); @@ -493,6 +494,7 @@ struct entropy_store { /* mostly-read data: */ struct poolinfo poolinfo; __u32 *pool; + const char *name; /* read-write data: */ spinlock_t lock ____cacheline_aligned_in_smp; @@ -507,7 +509,8 @@ struct entropy_store { * * Returns an negative error if there is a problem. */ -static int create_entropy_store(int size, struct entropy_store **ret_bucket) +static int create_entropy_store(int size, const char *name, + struct entropy_store **ret_bucket) { struct entropy_store *r; struct poolinfo *p; @@ -538,6 +541,7 @@ static int create_entropy_store(int size, struct entropy_store **ret_bucket) } memset(r->pool, 0, POOLBYTES); r->lock = SPIN_LOCK_UNLOCKED; + r->name = name; *ret_bucket = r; return 0; } @@ -643,12 +647,8 @@ static void credit_entropy_store(struct entropy_store *r, int nbits) } else { r->entropy_count += nbits; if (nbits) - DEBUG_ENT("%04d %04d : added %d bits to %s\n", - random_state->entropy_count, - sec_random_state->entropy_count, - nbits, - r == sec_random_state ? "secondary" : - r == random_state ? "primary" : "unknown"); + DEBUG_ENT("Added %d entropy credits to %s, now %d\n", + nbits, r->name, r->entropy_count); } spin_unlock_irqrestore(&r->lock, flags); @@ -781,9 +781,9 @@ static void batch_entropy_process(void *private_) /* There is one of these per entropy source */ struct timer_rand_state { - __u32 last_time; - __s32 last_delta,last_delta2; - int dont_count_entropy:1; + cycles_t last_time; + long last_delta,last_delta2; + unsigned dont_count_entropy:1; }; static struct timer_rand_state keyboard_timer_state; @@ -799,37 +799,31 @@ static struct timer_rand_state *irq_timer_state[NR_IRQS]; * The number "num" is also added to the pool - it should somehow describe * the type of event which just happened. This is currently 0-255 for * keyboard scan codes, and 256 upwards for interrupts. - * On the i386, this is assumed to be at most 16 bits, and the high bits - * are used for a high-resolution timer. * */ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) { - __u32 time; - __s32 delta, delta2, delta3; + cycles_t time; + long delta, delta2, delta3; int entropy = 0; + preempt_disable(); /* if over the trickle threshold, use only 1 in 4096 samples */ if ( random_state->entropy_count > trickle_thresh && (__get_cpu_var(trickle_count)++ & 0xfff)) - return; + goto out; -#if defined (__i386__) || defined (__x86_64__) - if (cpu_has_tsc) { - __u32 high; - rdtsc(time, high); - num ^= high; + /* + * Use get_cycles() if implemented, otherwise fall back to + * jiffies. + */ + time = get_cycles(); + if (time != 0) { + if (sizeof(time) > 4) + num ^= (u32)(time >> 32); } else { time = jiffies; } -#elif defined (__sparc_v9__) - unsigned long tick = tick_ops->get_tick(); - - time = (unsigned int) tick; - num ^= (tick >> 32UL); -#else - time = jiffies; -#endif /* * Calculate number of bits of randomness we probably added. @@ -868,6 +862,8 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) entropy = int_ln_12bits(delta); } batch_entropy_store(num, time, entropy); +out: + preempt_enable(); } void add_keyboard_randomness(unsigned char scancode) @@ -1328,8 +1324,7 @@ static inline void xfer_secondary_pool(struct entropy_store *r, "(%d of %d requested)\n", random_state->entropy_count, sec_random_state->entropy_count, - r == sec_random_state ? "secondary" : "unknown", - bytes * 8, nbytes * 8, r->entropy_count); + r->name, bytes * 8, nbytes * 8, r->entropy_count); bytes=extract_entropy(random_state, tmp, bytes, EXTRACT_ENTROPY_LIMIT); @@ -1373,9 +1368,7 @@ static ssize_t extract_entropy(struct entropy_store *r, void * buf, DEBUG_ENT("%04d %04d : trying to extract %d bits from %s\n", random_state->entropy_count, sec_random_state->entropy_count, - nbytes * 8, - r == sec_random_state ? "secondary" : - r == random_state ? "primary" : "unknown"); + nbytes * 8, r->name); if (flags & EXTRACT_ENTROPY_LIMIT && nbytes >= r->entropy_count / 8) nbytes = r->entropy_count / 8; @@ -1388,12 +1381,8 @@ static ssize_t extract_entropy(struct entropy_store *r, void * buf, if (r->entropy_count < random_write_wakeup_thresh) wake_up_interruptible(&random_write_wait); - DEBUG_ENT("%04d %04d : debiting %d bits from %s%s\n", - random_state->entropy_count, - sec_random_state->entropy_count, - nbytes * 8, - r == sec_random_state ? "secondary" : - r == random_state ? "primary" : "unknown", + DEBUG_ENT("Debiting %d entropy credits from %s%s\n", + nbytes * 8, r->name, flags & EXTRACT_ENTROPY_LIMIT ? "" : " (unlimited)"); spin_unlock_irqrestore(&r->lock, cpuflags); @@ -1482,14 +1471,21 @@ static ssize_t extract_entropy(struct entropy_store *r, void * buf, */ void get_random_bytes(void *buf, int nbytes) { - if (sec_random_state) - extract_entropy(sec_random_state, (char *) buf, nbytes, - EXTRACT_ENTROPY_SECONDARY); - else if (random_state) - extract_entropy(random_state, (char *) buf, nbytes, 0); - else + struct entropy_store *r = urandom_state; + int flags = EXTRACT_ENTROPY_SECONDARY; + + if (!r) + r = sec_random_state; + if (!r) { + r = random_state; + flags = 0; + } + if (!r) { printk(KERN_NOTICE "get_random_bytes called before " "random driver initialization\n"); + return; + } + extract_entropy(r, (char *) buf, nbytes, flags); } EXPORT_SYMBOL(get_random_bytes); @@ -1533,15 +1529,22 @@ static int __init rand_initialize(void) { int i; - if (create_entropy_store(DEFAULT_POOL_SIZE, &random_state)) + if (create_entropy_store(DEFAULT_POOL_SIZE, "primary", &random_state)) goto err; if (batch_entropy_init(BATCH_ENTROPY_SIZE, random_state)) goto err; - if (create_entropy_store(SECONDARY_POOL_SIZE, &sec_random_state)) + if (create_entropy_store(SECONDARY_POOL_SIZE, "secondary", + &sec_random_state)) + goto err; + if (create_entropy_store(SECONDARY_POOL_SIZE, "urandom", + &urandom_state)) goto err; clear_entropy_store(random_state); clear_entropy_store(sec_random_state); + clear_entropy_store(urandom_state); init_std_data(random_state); + init_std_data(sec_random_state); + init_std_data(urandom_state); #ifdef CONFIG_SYSCTL sysctl_init_random(random_state); #endif @@ -1674,9 +1677,15 @@ static ssize_t urandom_read(struct file * file, char __user * buf, size_t nbytes, loff_t *ppos) { - return extract_entropy(sec_random_state, buf, nbytes, - EXTRACT_ENTROPY_USER | - EXTRACT_ENTROPY_SECONDARY); + int flags = EXTRACT_ENTROPY_USER; + unsigned long cpuflags; + + spin_lock_irqsave(&random_state->lock, cpuflags); + if (random_state->entropy_count > random_state->poolinfo.POOLBITS) + flags |= EXTRACT_ENTROPY_SECONDARY; + spin_unlock_irqrestore(&random_state->lock, cpuflags); + + return extract_entropy(urandom_state, buf, nbytes, flags); } static unsigned int @@ -1730,10 +1739,9 @@ static int random_ioctl(struct inode * inode, struct file * file, unsigned int cmd, unsigned long arg) { - int *tmp, size, ent_count; + int size, ent_count; int __user *p = (int __user *)arg; int retval; - unsigned long flags; switch (cmd) { case RNDGETENTCNT: @@ -1754,40 +1762,6 @@ random_ioctl(struct inode * inode, struct file * file, if (random_state->entropy_count >= random_read_wakeup_thresh) wake_up_interruptible(&random_read_wait); return 0; - case RNDGETPOOL: - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; - if (get_user(size, p) || - put_user(random_state->poolinfo.poolwords, p++)) - return -EFAULT; - if (size < 0) - return -EFAULT; - if (size > random_state->poolinfo.poolwords) - size = random_state->poolinfo.poolwords; - - /* prepare to atomically snapshot pool */ - - tmp = kmalloc(size * sizeof(__u32), GFP_KERNEL); - - if (!tmp) - return -ENOMEM; - - spin_lock_irqsave(&random_state->lock, flags); - ent_count = random_state->entropy_count; - memcpy(tmp, random_state->pool, size * sizeof(__u32)); - spin_unlock_irqrestore(&random_state->lock, flags); - - if (!copy_to_user(p, tmp, size * sizeof(__u32))) { - kfree(tmp); - return -EFAULT; - } - - kfree(tmp); - - if(put_user(ent_count, p++)) - return -EFAULT; - - return 0; case RNDADDENTROPY: if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -1884,7 +1858,8 @@ static int change_poolsize(int poolsize) struct entropy_store *new_store, *old_store; int ret; - if ((ret = create_entropy_store(poolsize, &new_store))) + if ((ret = create_entropy_store(poolsize, random_state->name, + &new_store))) return ret; add_entropy_words(new_store, random_state->pool, @@ -2212,7 +2187,7 @@ static __u32 twothirdsMD4Transform (__u32 const buf[4], __u32 const in[12]) #undef K3 /* This should not be decreased so low that ISNs wrap too fast. */ -#define REKEY_INTERVAL 300 +#define REKEY_INTERVAL (300*HZ) /* * Bit layout of the tcp sequence numbers (before adding current time): * bit 24-31: increased after every key exchange @@ -2238,43 +2213,55 @@ static __u32 twothirdsMD4Transform (__u32 const buf[4], __u32 const in[12]) #define HASH_MASK ( (1<rekey_time || (time - keyptr->rekey_time) > REKEY_INTERVAL) { - keyptr = &ip_keydata[1^(ip_cnt&1)]; - keyptr->rekey_time = time; - get_random_bytes(keyptr->secret, sizeof(keyptr->secret)); - keyptr->count = (ip_cnt&COUNT_MASK)<secret, sizeof(keyptr->secret)); + keyptr->count = (ip_cnt&COUNT_MASK)<rekey_time || (time - keyptr->rekey_time) > REKEY_INTERVAL) { - keyptr = __check_and_rekey(time); - } + smp_rmb(); return keyptr; } +static __init int seqgen_init(void) +{ + rekey_seq_generator(NULL); + return 0; +} +late_initcall(seqgen_init); + #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr, __u16 sport, __u16 dport) @@ -2282,14 +2269,12 @@ __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr, struct timeval tv; __u32 seq; __u32 hash[12]; - struct keydata *keyptr; + struct keydata *keyptr = get_keyptr(); /* The procedure is the same as for IPv4, but addresses are longer. * Thus we must use twothirdsMD4Transform. */ - do_gettimeofday(&tv); /* We need the usecs below... */ - keyptr = check_and_rekey(tv.tv_sec); memcpy(hash, saddr, 16); hash[4]=(sport << 16) + dport; @@ -2297,38 +2282,22 @@ __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr, seq = twothirdsMD4Transform(daddr, hash) & HASH_MASK; seq += keyptr->count; + + do_gettimeofday(&tv); seq += tv.tv_usec + tv.tv_sec*1000000; return seq; } EXPORT_SYMBOL(secure_tcpv6_sequence_number); - -__u32 secure_ipv6_id(__u32 *daddr) -{ - struct keydata *keyptr; - - keyptr = check_and_rekey(get_seconds()); - - return halfMD4Transform(daddr, keyptr->secret); -} - -EXPORT_SYMBOL(secure_ipv6_id); #endif - __u32 secure_tcp_sequence_number(__u32 saddr, __u32 daddr, __u16 sport, __u16 dport) { struct timeval tv; __u32 seq; __u32 hash[4]; - struct keydata *keyptr; - - /* - * Pick a random secret every REKEY_INTERVAL seconds. - */ - do_gettimeofday(&tv); /* We need the usecs below... */ - keyptr = check_and_rekey(tv.tv_sec); + struct keydata *keyptr = get_keyptr(); /* * Pick a unique starting offset for each TCP connection endpoints @@ -2351,6 +2320,7 @@ __u32 secure_tcp_sequence_number(__u32 saddr, __u32 daddr, * That's funny, Linux has one built in! Use it! * (Networks are faster now - should this be increased?) */ + do_gettimeofday(&tv); seq += tv.tv_usec + tv.tv_sec*1000000; #if 0 printk("init_seq(%lx, %lx, %d, %d) = %d\n", @@ -2369,7 +2339,7 @@ __u32 secure_ip_id(__u32 daddr) struct keydata *keyptr; __u32 hash[4]; - keyptr = check_and_rekey(get_seconds()); + keyptr = get_keyptr(); /* * Pick a unique starting offset for each IP destination. @@ -2497,7 +2467,7 @@ unsigned int get_random_int(void) #ifdef CONFIG_X86_HAS_TSC rdtscl(val); #endif - val += current->pid + jiffies + (int)&val; + val += current->pid + jiffies + (int)val; /* * Use IP's RNG. It suits our purpose perfectly: it re-keys itself diff --git a/drivers/char/rocket.c b/drivers/char/rocket.c index 129b8ccd8..72af1bec9 100644 --- a/drivers/char/rocket.c +++ b/drivers/char/rocket.c @@ -250,12 +250,16 @@ static void rp_do_receive(struct r_port *info, CHANNEL_t * cp, unsigned int ChanStatus) { unsigned int CharNStat; - int ToRecv, wRecv, space, count; + int ToRecv, wRecv, space = 0, count; unsigned char *cbuf; char *fbuf; + struct tty_ldisc *ld; + + ld = tty_ldisc_ref(tty); ToRecv = sGetRxCnt(cp); - space = tty->ldisc.receive_room(tty); + if (ld) + space = ld->receive_room(tty); if (space > 2 * TTY_FLIPBUF_SIZE) space = 2 * TTY_FLIPBUF_SIZE; cbuf = tty->flip.char_buf; @@ -354,7 +358,8 @@ static void rp_do_receive(struct r_port *info, count += ToRecv; } /* Push the data up to the tty layer */ - tty->ldisc.receive_buf(tty, tty->flip.char_buf, tty->flip.flag_buf, count); + ld->receive_buf(tty, tty->flip.char_buf, tty->flip.flag_buf, count); + tty_ldisc_deref(ld); } /* @@ -389,7 +394,7 @@ static void rp_do_transmit(struct r_port *info) while (1) { if (tty->stopped || tty->hw_stopped) break; - c = MIN(info->xmit_fifo_room, MIN(info->xmit_cnt, XMIT_BUF_SIZE - info->xmit_tail)); + c = min(info->xmit_fifo_room, min(info->xmit_cnt, XMIT_BUF_SIZE - info->xmit_tail)); if (c <= 0 || info->xmit_fifo_room <= 0) break; sOutStrW(sGetTxRxDataIO(cp), (unsigned short *) (info->xmit_buf + info->xmit_tail), c / 2); @@ -408,8 +413,7 @@ static void rp_do_transmit(struct r_port *info) clear_bit((info->aiop * 8) + info->chan, (void *) &xmit_flags[info->board]); if (info->xmit_cnt < WAKEUP_CHARS) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); #ifdef ROCKETPORT_HAVE_POLL_WAIT wake_up_interruptible(&tty->poll_wait); @@ -1022,7 +1026,7 @@ static void rp_close(struct tty_struct *tty, struct file *filp) unsigned long flags; int timeout; CHANNEL_t *cp; - + if (rocket_paranoia_check(info, "rp_close")) return; @@ -1101,8 +1105,8 @@ static void rp_close(struct tty_struct *tty, struct file *filp) if (TTY_DRIVER_FLUSH_BUFFER_EXISTS(tty)) TTY_DRIVER_FLUSH_BUFFER(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + + tty_ldisc_flush(tty); clear_bit((info->aiop * 8) + info->chan, (void *) &xmit_flags[info->board]); @@ -1283,11 +1287,7 @@ static int set_config(struct r_port *info, struct rocket_config __user *new_info if (copy_from_user(&new_serial, new_info, sizeof (new_serial))) return -EFAULT; -#ifdef CAP_SYS_ADMIN if (!capable(CAP_SYS_ADMIN)) -#else - if (!suser()) -#endif { if ((new_serial.flags & ~ROCKET_USR_MASK) != (info->flags & ~ROCKET_USR_MASK)) return -EPERM; @@ -1662,7 +1662,7 @@ static int rp_write(struct tty_struct *tty, int from_user, * into FIFO. Use the write queue for temp storage. */ if (!tty->stopped && !tty->hw_stopped && info->xmit_cnt == 0 && info->xmit_fifo_room > 0) { - c = MIN(count, info->xmit_fifo_room); + c = min(count, info->xmit_fifo_room); b = buf; if (from_user) { if (copy_from_user(info->xmit_buf, buf, c)) { @@ -1672,7 +1672,7 @@ static int rp_write(struct tty_struct *tty, int from_user, if (info->tty == 0) goto end; b = info->xmit_buf; - c = MIN(c, info->xmit_fifo_room); + c = min(c, info->xmit_fifo_room); } /* Push data into FIFO, 2 bytes at a time */ @@ -1700,7 +1700,7 @@ static int rp_write(struct tty_struct *tty, int from_user, if (info->tty == 0) /* Seemingly obligatory check... */ goto end; - c = MIN(count, MIN(XMIT_BUF_SIZE - info->xmit_cnt - 1, XMIT_BUF_SIZE - info->xmit_head)); + c = min(count, min(XMIT_BUF_SIZE - info->xmit_cnt - 1, XMIT_BUF_SIZE - info->xmit_head)); if (c <= 0) break; @@ -1731,8 +1731,7 @@ end_intr: end: if (info->xmit_cnt < WAKEUP_CHARS) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); #ifdef ROCKETPORT_HAVE_POLL_WAIT wake_up_interruptible(&tty->poll_wait); @@ -1806,8 +1805,7 @@ static void rp_flush_buffer(struct tty_struct *tty) #ifdef ROCKETPORT_HAVE_POLL_WAIT wake_up_interruptible(&tty->poll_wait); #endif - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); cp = &info->channel; sFlushTxFIFO(cp); diff --git a/drivers/char/selection.c b/drivers/char/selection.c index 598f60110..0c265fe67 100644 --- a/drivers/char/selection.c +++ b/drivers/char/selection.c @@ -26,10 +26,6 @@ #include #include -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* Don't take this from : 011-015 on the screen aren't spaces */ #define isspace(c) ((c) == ' ') @@ -281,12 +277,15 @@ int paste_selection(struct tty_struct *tty) { struct vt_struct *vt = (struct vt_struct *) tty->driver_data; int pasted = 0, count; + struct tty_ldisc *ld; DECLARE_WAITQUEUE(wait, current); acquire_console_sem(); poke_blanked_console(); release_console_sem(); + ld = tty_ldisc_ref_wait(tty); + add_wait_queue(&vt->paste_wait, &wait); while (sel_buffer && sel_buffer_lth > pasted) { set_current_state(TASK_INTERRUPTIBLE); @@ -295,14 +294,13 @@ int paste_selection(struct tty_struct *tty) continue; } count = sel_buffer_lth - pasted; - count = MIN(count, tty->ldisc.receive_room(tty)); + count = min(count, tty->ldisc.receive_room(tty)); tty->ldisc.receive_buf(tty, sel_buffer + pasted, NULL, count); pasted += count; } remove_wait_queue(&vt->paste_wait, &wait); current->state = TASK_RUNNING; + + tty_ldisc_deref(ld); return 0; } - -EXPORT_SYMBOL(set_selection); -EXPORT_SYMBOL(paste_selection); diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c index 28418d57f..aa7c91d6f 100644 --- a/drivers/char/sonypi.c +++ b/drivers/char/sonypi.c @@ -50,12 +50,13 @@ #include #include +static int verbose; /* = 0 */ + #include "sonypi.h" #include static struct sonypi_device sonypi_device; static int minor = -1; -static int verbose; /* = 0 */ static int fnkeyinit; /* = 0 */ static int camera; /* = 0 */ static int compat; /* = 0 */ @@ -66,7 +67,7 @@ static unsigned long mask = 0xffffffff; static inline void sonypi_initq(void) { sonypi_device.queue.head = sonypi_device.queue.tail = 0; sonypi_device.queue.len = 0; - sonypi_device.queue.s_lock = (spinlock_t)SPIN_LOCK_UNLOCKED; + sonypi_device.queue.s_lock = SPIN_LOCK_UNLOCKED; init_waitqueue_head(&sonypi_device.queue.proc_list); } diff --git a/drivers/char/sonypi.h b/drivers/char/sonypi.h index 0eb8f46ab..58bbf385b 100644 --- a/drivers/char/sonypi.h +++ b/drivers/char/sonypi.h @@ -401,8 +401,6 @@ struct sonypi_device { #define SONYPI_ACPI_ACTIVE 0 #endif /* CONFIG_ACPI */ -extern int verbose; - static inline int sonypi_ec_write(u8 addr, u8 value) { #ifdef CONFIG_ACPI_EC if (SONYPI_ACPI_ACTIVE) diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index a0b3ba7b0..90018ce17 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c @@ -1197,8 +1197,7 @@ static void stl_close(struct tty_struct *tty, struct file *filp) portp->tx.tail = (char *) NULL; } set_bit(TTY_IO_ERROR, &tty->flags); - if (tty->ldisc.flush_buffer) - (tty->ldisc.flush_buffer)(tty); + tty_ldisc_flush(tty); tty->closing = 0; portp->tty = (struct tty_struct *) NULL; @@ -1809,10 +1808,7 @@ static void stl_flushbuffer(struct tty_struct *tty) return; stl_flush(portp); - wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); } /*****************************************************************************/ @@ -2193,10 +2189,7 @@ static void stl_offintr(void *private) lock_kernel(); if (test_bit(ASYI_TXLOW, &portp->istate)) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); } if (test_bit(ASYI_DCDCHANGE, &portp->istate)) { clear_bit(ASYI_DCDCHANGE, &portp->istate); diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c index 1361ea041..5648ed355 100644 --- a/drivers/char/synclinkmp.c +++ b/drivers/char/synclinkmp.c @@ -1,5 +1,5 @@ /* - * $Id: synclinkmp.c,v 4.22 2004/06/03 14:50:10 paulkf Exp $ + * $Id: synclinkmp.c,v 4.29 2004/08/27 20:06:41 paulkf Exp $ * * Device driver for Microgate SyncLink Multiport * high speed multiprotocol serial adapter. @@ -67,13 +67,10 @@ #include #include #include +#include -#ifdef CONFIG_SYNCLINK_SYNCPPP_MODULE -#define CONFIG_SYNCLINK_SYNCPPP 1 -#endif - -#ifdef CONFIG_SYNCLINK_SYNCPPP -#include +#ifdef CONFIG_HDLC_MODULE +#define CONFIG_HDLC 1 #endif #define GET_USER(error,value,addr) error = get_user(value,addr) @@ -284,12 +281,11 @@ typedef struct _synclinkmp_info { int netcount; int dosyncppp; spinlock_t netlock; -#ifdef CONFIG_SYNCLINK_SYNCPPP - struct ppp_device pppdev; - char netname[10]; + +#ifdef CONFIG_HDLC struct net_device *netdev; - struct net_device_stats netstats; #endif + } SLMP_INFO; #define MGSL_MAGIC 0x5401 @@ -361,12 +357,7 @@ typedef struct _synclinkmp_info { #define TMCS 0x64 #define TEPR 0x65 -/* - * FIXME: DAR here clashed with asm-ppc/reg.h and asm-sh/.../dma.h - */ -#undef DAR /* DMA Controller Register macros */ -#define DAR 0x80 #define DARL 0x80 #define DARH 0x81 #define DARB 0x82 @@ -462,8 +453,6 @@ typedef struct _synclinkmp_info { #define CRCE BIT2 -#define jiffies_from_ms(a) ((((a) * HZ)/1000)+1) - /* * Global linked list of SyncLink devices */ @@ -498,7 +487,7 @@ MODULE_PARM(maxframe,"1-" __MODULE_STRING(MAX_DEVICES) "i"); MODULE_PARM(dosyncppp,"1-" __MODULE_STRING(MAX_DEVICES) "i"); static char *driver_name = "SyncLink MultiPort driver"; -static char *driver_version = "$Revision: 4.22 $"; +static char *driver_version = "$Revision: 4.29 $"; static int synclinkmp_init_one(struct pci_dev *dev,const struct pci_device_id *ent); static void synclinkmp_remove_one(struct pci_dev *dev); @@ -524,10 +513,6 @@ static struct tty_driver *serial_driver; /* number of characters left in xmit buffer before we ask for more */ #define WAKEUP_CHARS 256 -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* tty callbacks */ @@ -553,20 +538,12 @@ static void throttle(struct tty_struct * tty); static void unthrottle(struct tty_struct * tty); static void set_break(struct tty_struct *tty, int break_state); -/* sppp support and callbacks */ - -#ifdef CONFIG_SYNCLINK_SYNCPPP -static void sppp_init(SLMP_INFO *info); -static void sppp_delete(SLMP_INFO *info); -static void sppp_rx_done(SLMP_INFO *info, char *buf, int size); -static void sppp_tx_done(SLMP_INFO *info); - -static int sppp_cb_open(struct net_device *d); -static int sppp_cb_close(struct net_device *d); -static int sppp_cb_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd); -static int sppp_cb_tx(struct sk_buff *skb, struct net_device *dev); -static void sppp_cb_tx_timeout(struct net_device *dev); -static struct net_device_stats *sppp_cb_net_stats(struct net_device *dev); +#ifdef CONFIG_HDLC +#define dev_to_port(D) (dev_to_hdlc(D)->priv) +static void hdlcdev_tx_done(SLMP_INFO *info); +static void hdlcdev_rx(SLMP_INFO *info, char *buf, int size); +static int hdlcdev_init(SLMP_INFO *info); +static void hdlcdev_exit(SLMP_INFO *info); #endif /* ioctl handlers */ @@ -668,7 +645,7 @@ static unsigned char tx_active_fifo_level = 16; // tx request FIFO activation le static unsigned char tx_negate_fifo_level = 32; // tx request FIFO negation level in bytes static u32 misc_ctrl_value = 0x007e4040; -static u32 lcr1_brdr_value = 0x0080002d; +static u32 lcr1_brdr_value = 0x00800029; static u32 read_ahead_count = 8; @@ -722,6 +699,29 @@ static inline int sanity_check(SLMP_INFO *info, return 0; } +/** + * line discipline callback wrappers + * + * The wrappers maintain line discipline references + * while calling into the line discipline. + * + * ldisc_receive_buf - pass receive data to line discipline + */ + +static void ldisc_receive_buf(struct tty_struct *tty, + const __u8 *data, char *flags, int count) +{ + struct tty_ldisc *ld; + if (!tty) + return; + ld = tty_ldisc_ref(tty); + if (ld) { + if (ld->receive_buf) + ld->receive_buf(tty, data, flags, count); + tty_ldisc_deref(ld); + } +} + /* tty callbacks */ /* Called when a port is opened. Init and enable port. @@ -800,7 +800,7 @@ static int open(struct tty_struct *tty, struct file *filp) cleanup: if (retval) { if (tty->count == 1) - info->tty = NULL;/* tty layer will release tty struct */ + info->tty = NULL; /* tty layer will release tty struct */ if(info->count) info->count--; } @@ -869,8 +869,7 @@ static void close(struct tty_struct *tty, struct file *filp) if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); shutdown(info); @@ -1017,8 +1016,8 @@ static int write(struct tty_struct *tty, int from_user, } for (;;) { - c = MIN(count, - MIN(info->max_frame_size - info->tx_count - 1, + c = min_t(int, count, + min(info->max_frame_size - info->tx_count - 1, info->max_frame_size - info->tx_put)); if (c <= 0) break; @@ -1161,7 +1160,7 @@ static void wait_until_sent(struct tty_struct *tty, int timeout) char_time = 1; if (timeout) - char_time = MIN(char_time, timeout); + char_time = min_t(unsigned long, char_time, timeout); if ( info->params.mode == MGSL_MODE_HDLC ) { while (info->tx_active) { @@ -1275,9 +1274,7 @@ static void flush_buffer(struct tty_struct *tty) spin_unlock_irqrestore(&info->lock,flags); wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); } /* throttle (stop) transmitter @@ -1627,79 +1624,125 @@ static void set_break(struct tty_struct *tty, int break_state) spin_unlock_irqrestore(&info->lock,flags); } -#ifdef CONFIG_SYNCLINK_SYNCPPP +#ifdef CONFIG_HDLC -/* syncppp support and callbacks */ - -static void cb_setup(struct net_device *dev) -{ - dev->open = sppp_cb_open; - dev->stop = sppp_cb_close; - dev->hard_start_xmit = sppp_cb_tx; - dev->do_ioctl = sppp_cb_ioctl; - dev->get_stats = sppp_cb_net_stats; - dev->tx_timeout = sppp_cb_tx_timeout; - dev->watchdog_timeo = 10*HZ; -} - -static void sppp_init(SLMP_INFO *info) +/** + * called by generic HDLC layer when protocol selected (PPP, frame relay, etc.) + * set encoding and frame check sequence (FCS) options + * + * dev pointer to network device structure + * encoding serial encoding setting + * parity FCS setting + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_attach(struct net_device *dev, unsigned short encoding, + unsigned short parity) { - struct net_device *d; + SLMP_INFO *info = dev_to_port(dev); + unsigned char new_encoding; + unsigned short new_crctype; - sprintf(info->netname,"mgslm%dp%d",info->adapter_num,info->port_num); + /* return error if TTY interface open */ + if (info->count) + return -EBUSY; - d = alloc_netdev(0, info->netname, cb_setup); - if (!d) { - printk(KERN_WARNING "%s: alloc_netdev failed.\n", - info->netname); - return; + switch (encoding) + { + case ENCODING_NRZ: new_encoding = HDLC_ENCODING_NRZ; break; + case ENCODING_NRZI: new_encoding = HDLC_ENCODING_NRZI_SPACE; break; + case ENCODING_FM_MARK: new_encoding = HDLC_ENCODING_BIPHASE_MARK; break; + case ENCODING_FM_SPACE: new_encoding = HDLC_ENCODING_BIPHASE_SPACE; break; + case ENCODING_MANCHESTER: new_encoding = HDLC_ENCODING_BIPHASE_LEVEL; break; + default: return -EINVAL; } - info->if_ptr = &info->pppdev; - info->netdev = info->pppdev.dev = d; - - d->irq = info->irq_level; - d->priv = info; + switch (parity) + { + case PARITY_NONE: new_crctype = HDLC_CRC_NONE; break; + case PARITY_CRC16_PR1_CCITT: new_crctype = HDLC_CRC_16_CCITT; break; + case PARITY_CRC32_PR1_CCITT: new_crctype = HDLC_CRC_32_CCITT; break; + default: return -EINVAL; + } - sppp_attach(&info->pppdev); - cb_setup(d); + info->params.encoding = new_encoding; + info->params.crc_type = new_crctype;; - if (register_netdev(d)) { - printk(KERN_WARNING "%s: register_netdev failed.\n", d->name); - sppp_detach(info->netdev); - info->netdev = NULL; - info->pppdev.dev = NULL; - free_netdev(d); - return; - } + /* if network interface up, reprogram hardware */ + if (info->netcount) + program_hw(info); - if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_init(%s)\n",info->netname); + return 0; } -static void sppp_delete(SLMP_INFO *info) +/** + * called by generic HDLC layer to send frame + * + * skb socket buffer containing HDLC frame + * dev pointer to network device structure + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_xmit(struct sk_buff *skb, struct net_device *dev) { + SLMP_INFO *info = dev_to_port(dev); + struct net_device_stats *stats = hdlc_stats(dev); + unsigned long flags; + if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_delete(%s)\n",info->netname); - unregister_netdev(info->netdev); - sppp_detach(info->netdev); - free_netdev(info->netdev); - info->netdev = NULL; - info->pppdev.dev = NULL; + printk(KERN_INFO "%s:hdlc_xmit(%s)\n",__FILE__,dev->name); + + /* stop sending until this frame completes */ + netif_stop_queue(dev); + + /* copy data to device buffers */ + info->tx_count = skb->len; + tx_load_dma_buffer(info, skb->data, skb->len); + + /* update network statistics */ + stats->tx_packets++; + stats->tx_bytes += skb->len; + + /* done with socket buffer, so free it */ + dev_kfree_skb(skb); + + /* save start time for transmit timeout detection */ + dev->trans_start = jiffies; + + /* start hardware transmitter if necessary */ + spin_lock_irqsave(&info->lock,flags); + if (!info->tx_active) + tx_start(info); + spin_unlock_irqrestore(&info->lock,flags); + + return 0; } -static int sppp_cb_open(struct net_device *d) +/** + * called by network layer when interface enabled + * claim resources and initialize hardware + * + * dev pointer to network device structure + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_open(struct net_device *dev) { - SLMP_INFO *info = d->priv; - int err; + SLMP_INFO *info = dev_to_port(dev); + int rc; unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_cb_open(%s)\n",info->netname); + printk("%s:hdlcdev_open(%s)\n",__FILE__,dev->name); + + /* generic HDLC layer open processing */ + if ((rc = hdlc_open(dev))) + return rc; + /* arbitrate between network and tty opens */ spin_lock_irqsave(&info->netlock, flags); if (info->count != 0 || info->netcount != 0) { - printk(KERN_WARNING "%s: sppp_cb_open returning busy\n", info->netname); + printk(KERN_WARNING "%s: hdlc_open returning busy\n", dev->name); spin_unlock_irqrestore(&info->netlock, flags); return -EBUSY; } @@ -1707,141 +1750,300 @@ static int sppp_cb_open(struct net_device *d) spin_unlock_irqrestore(&info->netlock, flags); /* claim resources and init adapter */ - if ((err = startup(info)) != 0) - goto open_fail; - - /* allow syncppp module to do open processing */ - if ((err = sppp_open(d)) != 0) { - shutdown(info); - goto open_fail; + if ((rc = startup(info)) != 0) { + spin_lock_irqsave(&info->netlock, flags); + info->netcount=0; + spin_unlock_irqrestore(&info->netlock, flags); + return rc; } + /* assert DTR and RTS, apply hardware settings */ info->serial_signals |= SerialSignal_RTS + SerialSignal_DTR; program_hw(info); - d->trans_start = jiffies; - netif_start_queue(d); - return 0; + /* enable network layer transmit */ + dev->trans_start = jiffies; + netif_start_queue(dev); -open_fail: - spin_lock_irqsave(&info->netlock, flags); - info->netcount=0; - spin_unlock_irqrestore(&info->netlock, flags); - return err; + /* inform generic HDLC layer of current DCD status */ + spin_lock_irqsave(&info->lock, flags); + get_signals(info); + spin_unlock_irqrestore(&info->lock, flags); + hdlc_set_carrier(info->serial_signals & SerialSignal_DCD, dev); + + return 0; } -static void sppp_cb_tx_timeout(struct net_device *dev) +/** + * called by network layer when interface is disabled + * shutdown hardware and release resources + * + * dev pointer to network device structure + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_close(struct net_device *dev) { - SLMP_INFO *info = dev->priv; + SLMP_INFO *info = dev_to_port(dev); unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_tx_timeout(%s)\n",info->netname); + printk("%s:hdlcdev_close(%s)\n",__FILE__,dev->name); - info->netstats.tx_errors++; - info->netstats.tx_aborted_errors++; + netif_stop_queue(dev); - spin_lock_irqsave(&info->lock,flags); - tx_stop(info); - spin_unlock_irqrestore(&info->lock,flags); + /* shutdown adapter and release resources */ + shutdown(info); - netif_wake_queue(dev); + hdlc_close(dev); + + spin_lock_irqsave(&info->netlock, flags); + info->netcount=0; + spin_unlock_irqrestore(&info->netlock, flags); + + return 0; } -static int sppp_cb_tx(struct sk_buff *skb, struct net_device *dev) +/** + * called by network layer to process IOCTL call to network device + * + * dev pointer to network device structure + * ifr pointer to network interface request structure + * cmd IOCTL command code + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { - SLMP_INFO *info = dev->priv; - unsigned long flags; + const size_t size = sizeof(sync_serial_settings); + sync_serial_settings new_line; + sync_serial_settings __user *line = ifr->ifr_settings.ifs_ifsu.sync; + SLMP_INFO *info = dev_to_port(dev); + unsigned int flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_tx(%s)\n",info->netname); + printk("%s:hdlcdev_ioctl(%s)\n",__FILE__,dev->name); - netif_stop_queue(dev); + /* return error if TTY interface open */ + if (info->count) + return -EBUSY; - info->tx_count = skb->len; - tx_load_dma_buffer(info, skb->data, skb->len); - info->netstats.tx_packets++; - info->netstats.tx_bytes += skb->len; - dev_kfree_skb(skb); + if (cmd != SIOCWANDEV) + return hdlc_ioctl(dev, ifr, cmd); - dev->trans_start = jiffies; + switch(ifr->ifr_settings.type) { + case IF_GET_IFACE: /* return current sync_serial_settings */ - spin_lock_irqsave(&info->lock,flags); - if (!info->tx_active) - tx_start(info); - spin_unlock_irqrestore(&info->lock,flags); + ifr->ifr_settings.type = IF_IFACE_SYNC_SERIAL; + if (ifr->ifr_settings.size < size) { + ifr->ifr_settings.size = size; /* data size wanted */ + return -ENOBUFS; + } - return 0; + flags = info->params.flags & (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_RXC_DPLL | + HDLC_FLAG_RXC_BRG | HDLC_FLAG_RXC_TXCPIN | + HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | + HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); + + switch (flags){ + case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN): new_line.clock_type = CLOCK_EXT; break; + case (HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG): new_line.clock_type = CLOCK_INT; break; + case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_BRG): new_line.clock_type = CLOCK_TXINT; break; + case (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_RXCPIN): new_line.clock_type = CLOCK_TXFROMRX; break; + default: new_line.clock_type = CLOCK_DEFAULT; + } + + new_line.clock_rate = info->params.clock_speed; + new_line.loopback = info->params.loopback ? 1:0; + + if (copy_to_user(line, &new_line, size)) + return -EFAULT; + return 0; + + case IF_IFACE_SYNC_SERIAL: /* set sync_serial_settings */ + + if(!capable(CAP_NET_ADMIN)) + return -EPERM; + if (copy_from_user(&new_line, line, size)) + return -EFAULT; + + switch (new_line.clock_type) + { + case CLOCK_EXT: flags = HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_TXCPIN; break; + case CLOCK_TXFROMRX: flags = HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_RXCPIN; break; + case CLOCK_INT: flags = HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG; break; + case CLOCK_TXINT: flags = HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_TXC_BRG; break; + case CLOCK_DEFAULT: flags = info->params.flags & + (HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_RXC_DPLL | + HDLC_FLAG_RXC_BRG | HDLC_FLAG_RXC_TXCPIN | + HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | + HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); break; + default: return -EINVAL; + } + + if (new_line.loopback != 0 && new_line.loopback != 1) + return -EINVAL; + + info->params.flags &= ~(HDLC_FLAG_RXC_RXCPIN | HDLC_FLAG_RXC_DPLL | + HDLC_FLAG_RXC_BRG | HDLC_FLAG_RXC_TXCPIN | + HDLC_FLAG_TXC_TXCPIN | HDLC_FLAG_TXC_DPLL | + HDLC_FLAG_TXC_BRG | HDLC_FLAG_TXC_RXCPIN); + info->params.flags |= flags; + + info->params.loopback = new_line.loopback; + + if (flags & (HDLC_FLAG_RXC_BRG | HDLC_FLAG_TXC_BRG)) + info->params.clock_speed = new_line.clock_rate; + else + info->params.clock_speed = 0; + + /* if network interface up, reprogram hardware */ + if (info->netcount) + program_hw(info); + return 0; + + default: + return hdlc_ioctl(dev, ifr, cmd); + } } -static int sppp_cb_close(struct net_device *d) +/** + * called by network layer when transmit timeout is detected + * + * dev pointer to network device structure + */ +static void hdlcdev_tx_timeout(struct net_device *dev) { - SLMP_INFO *info = d->priv; + SLMP_INFO *info = dev_to_port(dev); + struct net_device_stats *stats = hdlc_stats(dev); unsigned long flags; if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_cb_close(%s)\n",info->netname); + printk("hdlcdev_tx_timeout(%s)\n",dev->name); - /* shutdown adapter and release resources */ - shutdown(info); + stats->tx_errors++; + stats->tx_aborted_errors++; - /* allow syncppp to do close processing */ - sppp_close(d); - netif_stop_queue(d); + spin_lock_irqsave(&info->lock,flags); + tx_stop(info); + spin_unlock_irqrestore(&info->lock,flags); - spin_lock_irqsave(&info->netlock, flags); - info->netcount=0; - spin_unlock_irqrestore(&info->netlock, flags); - return 0; + netif_wake_queue(dev); +} + +/** + * called by device driver when transmit completes + * reenable network layer transmit if stopped + * + * info pointer to device instance information + */ +static void hdlcdev_tx_done(SLMP_INFO *info) +{ + if (netif_queue_stopped(info->netdev)) + netif_wake_queue(info->netdev); } -static void sppp_rx_done(SLMP_INFO *info, char *buf, int size) +/** + * called by device driver when frame received + * pass frame to network layer + * + * info pointer to device instance information + * buf pointer to buffer contianing frame data + * size count of data bytes in buf + */ +static void hdlcdev_rx(SLMP_INFO *info, char *buf, int size) { struct sk_buff *skb = dev_alloc_skb(size); + struct net_device *dev = info->netdev; + struct net_device_stats *stats = hdlc_stats(dev); + if (debug_level >= DEBUG_LEVEL_INFO) - printk("sppp_rx_done(%s)\n",info->netname); + printk("hdlcdev_rx(%s)\n",dev->name); + if (skb == NULL) { - printk(KERN_NOTICE "%s: can't alloc skb, dropping packet\n", - info->netname); - info->netstats.rx_dropped++; + printk(KERN_NOTICE "%s: can't alloc skb, dropping packet\n", dev->name); + stats->rx_dropped++; return; } memcpy(skb_put(skb, size),buf,size); - skb->protocol = htons(ETH_P_WAN_PPP); - skb->dev = info->netdev; - skb->mac.raw = skb->data; - info->netstats.rx_packets++; - info->netstats.rx_bytes += size; + skb->dev = info->netdev; + skb->mac.raw = skb->data; + skb->protocol = hdlc_type_trans(skb, skb->dev); + + stats->rx_packets++; + stats->rx_bytes += size; + netif_rx(skb); - info->netdev->trans_start = jiffies; -} -static void sppp_tx_done(SLMP_INFO *info) -{ - if (netif_queue_stopped(info->netdev)) - netif_wake_queue(info->netdev); + info->netdev->last_rx = jiffies; } -static struct net_device_stats *sppp_cb_net_stats(struct net_device *dev) +/** + * called by device driver when adding device instance + * do generic HDLC initialization + * + * info pointer to device instance information + * + * returns 0 if success, otherwise error code + */ +static int hdlcdev_init(SLMP_INFO *info) { - SLMP_INFO *info = dev->priv; - if (debug_level >= DEBUG_LEVEL_INFO) - printk("net_stats(%s)\n",info->netname); - return &info->netstats; + int rc; + struct net_device *dev; + hdlc_device *hdlc; + + /* allocate and initialize network and HDLC layer objects */ + + if (!(dev = alloc_hdlcdev(info))) { + printk(KERN_ERR "%s:hdlc device allocation failure\n",__FILE__); + return -ENOMEM; + } + + /* for network layer reporting purposes only */ + dev->mem_start = info->phys_sca_base; + dev->mem_end = info->phys_sca_base + SCA_BASE_SIZE - 1; + dev->irq = info->irq_level; + + /* network layer callbacks and settings */ + dev->do_ioctl = hdlcdev_ioctl; + dev->open = hdlcdev_open; + dev->stop = hdlcdev_close; + dev->tx_timeout = hdlcdev_tx_timeout; + dev->watchdog_timeo = 10*HZ; + dev->tx_queue_len = 50; + + /* generic HDLC layer callbacks and settings */ + hdlc = dev_to_hdlc(dev); + hdlc->attach = hdlcdev_attach; + hdlc->xmit = hdlcdev_xmit; + + /* register objects with HDLC layer */ + if ((rc = register_hdlc_device(dev))) { + printk(KERN_WARNING "%s:unable to register hdlc device\n",__FILE__); + free_netdev(dev); + return rc; + } + + info->netdev = dev; + return 0; } -static int sppp_cb_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) +/** + * called by device driver when removing device instance + * do generic HDLC cleanup + * + * info pointer to device instance information + */ +static void hdlcdev_exit(SLMP_INFO *info) { - SLMP_INFO *info = dev->priv; - if (debug_level >= DEBUG_LEVEL_INFO) - printk("%s(%d):ioctl %s cmd=%08X\n", __FILE__,__LINE__, - info->netname, cmd ); - return sppp_do_ioctl(dev, ifr, cmd); + unregister_hdlc_device(info->netdev); + free_netdev(info->netdev); + info->netdev = NULL; } -#endif /* ifdef CONFIG_SYNCLINK_SYNCPPP */ +#endif /* CONFIG_HDLC */ /* Return next bottom half action to perform. @@ -1941,13 +2143,7 @@ void bh_transmit(SLMP_INFO *info) __FILE__,__LINE__,info->device_name); if (tty) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) { - if ( debug_level >= DEBUG_LEVEL_BH ) - printk( "%s(%d):%s calling ldisc.write_wakeup\n", - __FILE__,__LINE__,info->device_name); - (tty->ldisc.write_wakeup)(tty); - } + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); } } @@ -1994,16 +2190,15 @@ void isr_rxint(SLMP_INFO * info) { struct tty_struct *tty = info->tty; struct mgsl_icount *icount = &info->icount; - unsigned char status = read_reg(info, SR1); - unsigned char status2 = read_reg(info, SR2); + unsigned char status = read_reg(info, SR1) & info->ie1_value & (FLGD + IDLD + CDCD + BRKD); + unsigned char status2 = read_reg(info, SR2) & info->ie2_value & OVRN; /* clear status bits */ - if ( status & (FLGD + IDLD + CDCD + BRKD) ) - write_reg(info, SR1, - (unsigned char)(status & (FLGD + IDLD + CDCD + BRKD))); + if (status) + write_reg(info, SR1, status); - if ( status2 & OVRN ) - write_reg(info, SR2, (unsigned char)(status2 & OVRN)); + if (status2) + write_reg(info, SR2, status2); if ( debug_level >= DEBUG_LEVEL_ISR ) printk("%s(%d):%s isr_rxint status=%02X %02x\n", @@ -2140,15 +2335,22 @@ void isr_txeom(SLMP_INFO * info, unsigned char status) printk("%s(%d):%s isr_txeom status=%02x\n", __FILE__,__LINE__,info->device_name,status); - /* disable and clear MSCI interrupts */ - info->ie1_value &= ~(IDLE + UDRN); - write_reg(info, IE1, info->ie1_value); - write_reg(info, SR1, (unsigned char)(UDRN + IDLE)); - write_reg(info, TXDMA + DIR, 0x00); /* disable Tx DMA IRQs */ write_reg(info, TXDMA + DSR, 0xc0); /* clear IRQs and disable DMA */ write_reg(info, TXDMA + DCMD, SWABORT); /* reset/init DMA channel */ + if (status & UDRN) { + write_reg(info, CMD, TXRESET); + write_reg(info, CMD, TXENABLE); + } else + write_reg(info, CMD, TXBUFCLR); + + /* disable and clear tx interrupts */ + info->ie0_value &= ~TXRDYE; + info->ie1_value &= ~(IDLE + UDRN); + write_reg16(info, IE0, (unsigned short)((info->ie1_value << 8) + info->ie0_value)); + write_reg(info, SR1, (unsigned char)(UDRN + IDLE)); + if ( info->tx_active ) { if (info->params.mode != MGSL_MODE_ASYNC) { if (status & UDRN) @@ -2168,9 +2370,9 @@ void isr_txeom(SLMP_INFO * info, unsigned char status) set_signals(info); } -#ifdef CONFIG_SYNCLINK_SYNCPPP +#ifdef CONFIG_HDLC if (info->netcount) - sppp_tx_done(info); + hdlcdev_tx_done(info); else #endif { @@ -2189,10 +2391,10 @@ void isr_txeom(SLMP_INFO * info, unsigned char status) */ void isr_txint(SLMP_INFO * info) { - unsigned char status = read_reg(info, SR1); + unsigned char status = read_reg(info, SR1) & info->ie1_value & (UDRN + IDLE + CCTS); /* clear status bits */ - write_reg(info, SR1, (unsigned char)(status & (UDRN + IDLE + CCTS))); + write_reg(info, SR1, status); if ( debug_level >= DEBUG_LEVEL_ISR ) printk("%s(%d):%s isr_txint status=%02x\n", @@ -2221,6 +2423,14 @@ void isr_txrdy(SLMP_INFO * info) printk("%s(%d):%s isr_txrdy() tx_count=%d\n", __FILE__,__LINE__,info->device_name,info->tx_count); + if (info->params.mode != MGSL_MODE_ASYNC) { + /* disable TXRDY IRQ, enable IDLE IRQ */ + info->ie0_value &= ~TXRDYE; + info->ie1_value |= IDLE; + write_reg16(info, IE0, (unsigned short)((info->ie1_value << 8) + info->ie0_value)); + return; + } + if (info->tty && (info->tty->stopped || info->tty->hw_stopped)) { tx_stop(info); return; @@ -2275,13 +2485,6 @@ void isr_rxdmaerror(SLMP_INFO * info) void isr_txdmaok(SLMP_INFO * info) { - /* BIT7 = EOT (end of transfer, used for async mode) - * BIT6 = EOM (end of message/frame, used for sync mode) - * - * We don't look at DMA status because only EOT is enabled - * and we always clear and disable all tx DMA IRQs. - */ -// unsigned char dma_status = read_reg(info,TXDMA + DSR) & 0xc0; unsigned char status_reg1 = read_reg(info, SR1); write_reg(info, TXDMA + DIR, 0x00); /* disable Tx DMA IRQs */ @@ -2292,19 +2495,10 @@ void isr_txdmaok(SLMP_INFO * info) printk("%s(%d):%s isr_txdmaok(), status=%02x\n", __FILE__,__LINE__,info->device_name,status_reg1); - /* If transmitter already idle, do end of frame processing, - * otherwise enable interrupt for tx IDLE. - */ - if (status_reg1 & IDLE) - isr_txeom(info, IDLE); - else { - /* disable and clear underrun IRQ, enable IDLE interrupt */ - info->ie1_value |= IDLE; - info->ie1_value &= ~UDRN; - write_reg(info, IE1, info->ie1_value); - - write_reg(info, SR1, UDRN); - } + /* program TXRDY as FIFO empty flag, enable TXRDY IRQ */ + write_reg16(info, TRC0, 0); + info->ie0_value |= TXRDYE; + write_reg(info, IE0, info->ie0_value); } void isr_txdmaerror(SLMP_INFO * info) @@ -2358,12 +2552,12 @@ void isr_io_pin( SLMP_INFO *info, u16 status ) icount->dcd++; if (status & SerialSignal_DCD) { info->input_signal_events.dcd_up++; -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->netcount) - sppp_reopen(info->netdev); -#endif } else info->input_signal_events.dcd_down++; +#ifdef CONFIG_HDLC + if (info->netcount) + hdlc_set_carrier(status & SerialSignal_DCD, info->netdev); +#endif } if (status & MISCSTATUS_CTS_LATCHED) { @@ -2577,7 +2771,7 @@ static int startup(SLMP_INFO * info) change_params(info); - info->status_timer.expires = jiffies + jiffies_from_ms(10); + info->status_timer.expires = jiffies + msecs_to_jiffies(10); add_timer(&info->status_timer); if (info->tty) @@ -2988,7 +3182,7 @@ static int wait_mgsl_event(SLMP_INFO * info, int __user *mask_ptr) unsigned char oldval = info->ie1_value; unsigned char newval = oldval + (mask & MgslEvent_ExitHuntMode ? FLGD:0) + - (mask & MgslEvent_IdleReceived ? IDLE:0); + (mask & MgslEvent_IdleReceived ? IDLD:0); if ( oldval != newval ) { info->ie1_value = newval; write_reg(info, IE1, info->ie1_value); @@ -3055,7 +3249,7 @@ static int wait_mgsl_event(SLMP_INFO * info, int __user *mask_ptr) spin_lock_irqsave(&info->lock,flags); if (!waitqueue_active(&info->event_wait_q)) { /* disable enable exit hunt mode/idle rcvd IRQs */ - info->ie1_value &= ~(FLGD|IDLE); + info->ie1_value &= ~(FLGD|IDLD); write_reg(info, IE1, info->ie1_value); } spin_unlock_irqrestore(&info->lock,flags); @@ -3449,9 +3643,10 @@ void free_tmp_rx_buf(SLMP_INFO *info) int claim_resources(SLMP_INFO *info) { - if (request_mem_region(info->phys_memory_base,0x40000,"synclinkmp") == NULL) { + if (request_mem_region(info->phys_memory_base,SCA_MEM_SIZE,"synclinkmp") == NULL) { printk( "%s(%d):%s mem addr conflict, Addr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_memory_base); + info->init_error = DiagStatus_AddressConflict; goto errout; } else @@ -3460,22 +3655,25 @@ int claim_resources(SLMP_INFO *info) if (request_mem_region(info->phys_lcr_base + info->lcr_offset,128,"synclinkmp") == NULL) { printk( "%s(%d):%s lcr mem addr conflict, Addr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_lcr_base); + info->init_error = DiagStatus_AddressConflict; goto errout; } else info->lcr_mem_requested = 1; - if (request_mem_region(info->phys_sca_base + info->sca_offset,512,"synclinkmp") == NULL) { + if (request_mem_region(info->phys_sca_base + info->sca_offset,SCA_BASE_SIZE,"synclinkmp") == NULL) { printk( "%s(%d):%s sca mem addr conflict, Addr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_sca_base); + info->init_error = DiagStatus_AddressConflict; goto errout; } else info->sca_base_requested = 1; - if (request_mem_region(info->phys_statctrl_base + info->statctrl_offset,16,"synclinkmp") == NULL) { + if (request_mem_region(info->phys_statctrl_base + info->statctrl_offset,SCA_REG_SIZE,"synclinkmp") == NULL) { printk( "%s(%d):%s stat/ctrl mem addr conflict, Addr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_statctrl_base); + info->init_error = DiagStatus_AddressConflict; goto errout; } else @@ -3485,33 +3683,41 @@ int claim_resources(SLMP_INFO *info) if (!info->memory_base) { printk( "%s(%d):%s Cant map shared memory, MemAddr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_memory_base ); + info->init_error = DiagStatus_CantAssignPciResources; goto errout; } - if ( !memory_test(info) ) { - printk( "%s(%d):Shared Memory Test failed for device %s MemAddr=%08X\n", - __FILE__,__LINE__,info->device_name, info->phys_memory_base ); - goto errout; - } - - info->lcr_base = ioremap(info->phys_lcr_base,PAGE_SIZE) + info->lcr_offset; + info->lcr_base = ioremap(info->phys_lcr_base,PAGE_SIZE); if (!info->lcr_base) { printk( "%s(%d):%s Cant map LCR memory, MemAddr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_lcr_base ); + info->init_error = DiagStatus_CantAssignPciResources; goto errout; } + info->lcr_base += info->lcr_offset; - info->sca_base = ioremap(info->phys_sca_base,PAGE_SIZE) + info->sca_offset; + info->sca_base = ioremap(info->phys_sca_base,PAGE_SIZE); if (!info->sca_base) { printk( "%s(%d):%s Cant map SCA memory, MemAddr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_sca_base ); + info->init_error = DiagStatus_CantAssignPciResources; goto errout; } + info->sca_base += info->sca_offset; - info->statctrl_base = ioremap(info->phys_statctrl_base,PAGE_SIZE) + info->statctrl_offset; + info->statctrl_base = ioremap(info->phys_statctrl_base,PAGE_SIZE); if (!info->statctrl_base) { printk( "%s(%d):%s Cant map SCA Status/Control memory, MemAddr=%08X\n", __FILE__,__LINE__,info->device_name, info->phys_statctrl_base ); + info->init_error = DiagStatus_CantAssignPciResources; + goto errout; + } + info->statctrl_base += info->statctrl_offset; + + if ( !memory_test(info) ) { + printk( "%s(%d):Shared Memory Test failed for device %s MemAddr=%08X\n", + __FILE__,__LINE__,info->device_name, info->phys_memory_base ); + info->init_error = DiagStatus_MemoryError; goto errout; } @@ -3534,7 +3740,7 @@ void release_resources(SLMP_INFO *info) } if ( info->shared_mem_requested ) { - release_mem_region(info->phys_memory_base,0x40000); + release_mem_region(info->phys_memory_base,SCA_MEM_SIZE); info->shared_mem_requested = 0; } if ( info->lcr_mem_requested ) { @@ -3542,11 +3748,11 @@ void release_resources(SLMP_INFO *info) info->lcr_mem_requested = 0; } if ( info->sca_base_requested ) { - release_mem_region(info->phys_sca_base + info->sca_offset,512); + release_mem_region(info->phys_sca_base + info->sca_offset,SCA_BASE_SIZE); info->sca_base_requested = 0; } if ( info->sca_statctrl_requested ) { - release_mem_region(info->phys_statctrl_base + info->statctrl_offset,16); + release_mem_region(info->phys_statctrl_base + info->statctrl_offset,SCA_REG_SIZE); info->sca_statctrl_requested = 0; } @@ -3616,9 +3822,8 @@ void add_device(SLMP_INFO *info) info->irq_level, info->max_frame_size ); -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->dosyncppp) - sppp_init(info); +#ifdef CONFIG_HDLC + hdlcdev_init(info); #endif } @@ -3788,7 +3993,6 @@ static struct tty_operations ops = { static void synclinkmp_cleanup(void) { - unsigned long flags; int rc; SLMP_INFO *info; SLMP_INFO *tmp; @@ -3802,34 +4006,24 @@ static void synclinkmp_cleanup(void) put_tty_driver(serial_driver); } + /* reset devices */ info = synclinkmp_device_list; while(info) { -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->dosyncppp) - sppp_delete(info); -#endif reset_port(info); - if ( info->port_num == 0 ) { - if ( info->irq_requested ) { - free_irq(info->irq_level, info); - info->irq_requested = 0; - } - } info = info->next_device; } - /* port 0 of each adapter originally claimed - * all resources, release those now - */ + /* release devices */ info = synclinkmp_device_list; while(info) { +#ifdef CONFIG_HDLC + hdlcdev_exit(info); +#endif free_dma_bufs(info); free_tmp_rx_buf(info); if ( info->port_num == 0 ) { - spin_lock_irqsave(&info->lock,flags); - reset_adapter(info); - write_reg(info, LPR, 1); /* set low power mode */ - spin_unlock_irqrestore(&info->lock,flags); + if (info->sca_base) + write_reg(info, LPR, 1); /* set low power mode */ release_resources(info); } tmp = info; @@ -4112,6 +4306,9 @@ void tx_start(SLMP_INFO *info) } } + write_reg16(info, TRC0, + (unsigned short)(((tx_negate_fifo_level-1)<<8) + tx_active_fifo_level)); + write_reg(info, TXDMA + DSR, 0); /* disable DMA channel */ write_reg(info, TXDMA + DCMD, SWABORT); /* reset/init DMA channel */ @@ -4123,17 +4320,16 @@ void tx_start(SLMP_INFO *info) write_reg16(info, TXDMA + EDA, info->tx_buf_list_ex[info->last_tx_buf].phys_entry); - /* clear IDLE and UDRN status bit */ - info->ie1_value &= ~(IDLE + UDRN); - if (info->params.mode != MGSL_MODE_ASYNC) - info->ie1_value |= UDRN; /* HDLC, IRQ on underrun */ - write_reg(info, IE1, info->ie1_value); /* enable MSCI interrupts */ + /* enable underrun IRQ */ + info->ie1_value &= ~IDLE; + info->ie1_value |= UDRN; + write_reg(info, IE1, info->ie1_value); write_reg(info, SR1, (unsigned char)(IDLE + UDRN)); write_reg(info, TXDMA + DIR, 0x40); /* enable Tx DMA interrupts (EOM) */ write_reg(info, TXDMA + DSR, 0xf2); /* clear Tx DMA IRQs, enable Tx DMA */ - info->tx_timer.expires = jiffies + jiffies_from_ms(5000); + info->tx_timer.expires = jiffies + msecs_to_jiffies(5000); add_timer(&info->tx_timer); } else { @@ -4823,10 +5019,12 @@ CheckAgain: info->icount.rxcrc++; framesize = 0; - -#ifdef CONFIG_SYNCLINK_SYNCPPP - info->netstats.rx_errors++; - info->netstats.rx_frame_errors++; +#ifdef CONFIG_HDLC + { + struct net_device_stats *stats = hdlc_stats(info->netdev); + stats->rx_errors++; + stats->rx_frame_errors++; + } #endif } @@ -4836,7 +5034,7 @@ CheckAgain: if ( debug_level >= DEBUG_LEVEL_DATA ) trace_block(info,info->rx_buf_list_ex[StartIndex].virt_addr, - MIN(framesize,SCABUFSIZE),0); + min_t(int, framesize,SCABUFSIZE),0); if (framesize) { if (framesize > info->max_frame_size) @@ -4851,7 +5049,7 @@ CheckAgain: info->icount.rxok++; while(copy_count) { - int partial_count = MIN(copy_count,SCABUFSIZE); + int partial_count = min(copy_count,SCABUFSIZE); memcpy( ptmp, info->rx_buf_list_ex[index].virt_addr, partial_count ); @@ -4862,22 +5060,13 @@ CheckAgain: index = 0; } -#ifdef CONFIG_SYNCLINK_SYNCPPP - if (info->netcount) { - /* pass frame to syncppp device */ - sppp_rx_done(info,info->tmp_rx_buf,framesize); - } +#ifdef CONFIG_HDLC + if (info->netcount) + hdlcdev_rx(info,info->tmp_rx_buf,framesize); else #endif - { - if ( tty && tty->ldisc.receive_buf ) { - /* Call the line discipline receive callback directly. */ - tty->ldisc.receive_buf(tty, - info->tmp_rx_buf, - info->flag_buf, - framesize); - } - } + ldisc_receive_buf(tty,info->tmp_rx_buf, + info->flag_buf, framesize); } } /* Free the buffers used by this frame. */ @@ -4910,14 +5099,14 @@ void tx_load_dma_buffer(SLMP_INFO *info, const char *buf, unsigned int count) SCADESC_EX *desc_ex; if ( debug_level >= DEBUG_LEVEL_DATA ) - trace_block(info,buf, MIN(count,SCABUFSIZE), 1); + trace_block(info,buf, min_t(int, count,SCABUFSIZE), 1); /* Copy source buffer to one or more DMA buffers, starting with * the first transmit dma buffer. */ for(i=0;;) { - copy_count = MIN(count,SCABUFSIZE); + copy_count = min_t(unsigned short,count,SCABUFSIZE); desc = &info->tx_buf_list[i]; desc_ex = &info->tx_buf_list_ex[i]; @@ -5021,7 +5210,7 @@ int irq_test(SLMP_INFO *info) timeout=100; while( timeout-- && !info->irq_occurred ) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(jiffies_from_ms(10)); + schedule_timeout(msecs_to_jiffies(10)); } spin_lock_irqsave(&info->lock,flags); @@ -5172,7 +5361,7 @@ int loopback_test(SLMP_INFO *info) /* Set a timeout for waiting for interrupt. */ for ( timeout = 100; timeout; --timeout ) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(jiffies_from_ms(10)); + schedule_timeout(msecs_to_jiffies(10)); if (rx_get_frame(info)) { rc = TRUE; @@ -5384,9 +5573,9 @@ void tx_timeout(unsigned long context) spin_unlock_irqrestore(&info->lock,flags); -#ifdef CONFIG_SYNCLINK_SYNCPPP +#ifdef CONFIG_HDLC if (info->netcount) - sppp_tx_done(info); + hdlcdev_tx_done(info); else #endif bh_transmit(info); @@ -5428,7 +5617,7 @@ void status_timeout(unsigned long context) info->status_timer.data = (unsigned long)info; info->status_timer.function = status_timeout; - info->status_timer.expires = jiffies + jiffies_from_ms(10); + info->status_timer.expires = jiffies + msecs_to_jiffies(10); add_timer(&info->status_timer); } diff --git a/drivers/char/sysrq.c b/drivers/char/sysrq.c index c9688f111..da52bff37 100644 --- a/drivers/char/sysrq.c +++ b/drivers/char/sysrq.c @@ -107,17 +107,6 @@ static struct sysrq_key_op sysrq_reboot_op = { .action_msg = "Resetting", }; -/* crash sysrq handler */ -static void sysrq_handle_crash(int key, struct pt_regs *pt_regs, - struct tty_struct *tty) { - *( (char *) 0) = 0; -} -static struct sysrq_key_op sysrq_crash_op = { - handler: sysrq_handle_crash, - help_msg: "Crash", - action_msg: "Crashing the kernel by request", -}; - static void sysrq_handle_sync(int key, struct pt_regs *pt_regs, struct tty_struct *tty) { @@ -246,7 +235,7 @@ static struct sysrq_key_op *sysrq_key_table[SYSRQ_KEY_TABLE_LENGTH] = { it is handled specially on the sparc and will never arrive */ /* b */ &sysrq_reboot_op, -/* c */ &sysrq_crash_op, +/* c */ NULL, /* d */ NULL, /* e */ &sysrq_term_op, /* f */ NULL, diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 4f6ff6188..118dc7313 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c @@ -92,6 +92,7 @@ #include #include #include +#include #include #include @@ -101,6 +102,7 @@ #include #include #include +#include #include @@ -120,10 +122,14 @@ struct termios tty_std_termios = { /* for the benefit of tty drivers */ EXPORT_SYMBOL(tty_std_termios); +/* This list gets poked at by procfs and various bits of boot up code. This + could do with some rationalisation such as pulling the tty proc function + into this file */ + LIST_HEAD(tty_drivers); /* linked list of tty drivers */ -struct tty_ldisc ldiscs[NR_LDISCS]; /* line disc dispatch table */ -/* Semaphore to protect creating and releasing a tty */ +/* Semaphore to protect creating and releasing a tty. This is shared with + vt.c for deeply disgusting hack reasons */ DECLARE_MUTEX(tty_sem); #ifdef CONFIG_UNIX98_PTYS @@ -224,65 +230,323 @@ static int check_tty_count(struct tty_struct *tty, const char *routine) return 0; } +/* + * This is probably overkill for real world processors but + * they are not on hot paths so a little discipline won't do + * any harm. + */ + +static void tty_set_termios_ldisc(struct tty_struct *tty, int num) +{ + down(&tty->termios_sem); + tty->termios->c_line = num; + up(&tty->termios_sem); +} + +/* + * This guards the refcounted line discipline lists. The lock + * must be taken with irqs off because there are hangup path + * callers who will do ldisc lookups and cannot sleep. + */ + +static spinlock_t tty_ldisc_lock = SPIN_LOCK_UNLOCKED; +static DECLARE_WAIT_QUEUE_HEAD(tty_ldisc_wait); +static struct tty_ldisc tty_ldiscs[NR_LDISCS]; /* line disc dispatch table */ + int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc) { + unsigned long flags; + int ret = 0; + if (disc < N_TTY || disc >= NR_LDISCS) return -EINVAL; + spin_lock_irqsave(&tty_ldisc_lock, flags); if (new_ldisc) { - ldiscs[disc] = *new_ldisc; - ldiscs[disc].flags |= LDISC_FLAG_DEFINED; - ldiscs[disc].num = disc; - } else - memset(&ldiscs[disc], 0, sizeof(struct tty_ldisc)); + tty_ldiscs[disc] = *new_ldisc; + tty_ldiscs[disc].num = disc; + tty_ldiscs[disc].flags |= LDISC_FLAG_DEFINED; + tty_ldiscs[disc].refcount = 0; + } else { + if(tty_ldiscs[disc].refcount) + ret = -EBUSY; + else + tty_ldiscs[disc].flags &= ~LDISC_FLAG_DEFINED; + } + spin_unlock_irqrestore(&tty_ldisc_lock, flags); - return 0; + return ret; } EXPORT_SYMBOL(tty_register_ldisc); -/* Set the discipline of a tty line. */ +struct tty_ldisc *tty_ldisc_get(int disc) +{ + unsigned long flags; + struct tty_ldisc *ld; + + if (disc < N_TTY || disc >= NR_LDISCS) + return NULL; + + spin_lock_irqsave(&tty_ldisc_lock, flags); + + ld = &tty_ldiscs[disc]; + /* Check the entry is defined */ + if(ld->flags & LDISC_FLAG_DEFINED) + { + /* If the module is being unloaded we can't use it */ + if (!try_module_get(ld->owner)) + ld = NULL; + else /* lock it */ + ld->refcount++; + } + else + ld = NULL; + spin_unlock_irqrestore(&tty_ldisc_lock, flags); + return ld; +} + +EXPORT_SYMBOL_GPL(tty_ldisc_get); + +void tty_ldisc_put(int disc) +{ + struct tty_ldisc *ld; + unsigned long flags; + + if (disc < N_TTY || disc >= NR_LDISCS) + BUG(); + + spin_lock_irqsave(&tty_ldisc_lock, flags); + ld = &tty_ldiscs[disc]; + if(ld->refcount == 0) + BUG(); + ld->refcount --; + module_put(ld->owner); + spin_unlock_irqrestore(&tty_ldisc_lock, flags); +} + +EXPORT_SYMBOL_GPL(tty_ldisc_put); + +void tty_ldisc_assign(struct tty_struct *tty, struct tty_ldisc *ld) +{ + tty->ldisc = *ld; + tty->ldisc.refcount = 0; +} + +/** + * tty_ldisc_try - internal helper + * @tty: the tty + * + * Make a single attempt to grab and bump the refcount on + * the tty ldisc. Return 0 on failure or 1 on success. This is + * used to implement both the waiting and non waiting versions + * of tty_ldisc_ref + */ + +static int tty_ldisc_try(struct tty_struct *tty) +{ + unsigned long flags; + struct tty_ldisc *ld; + int ret = 0; + + spin_lock_irqsave(&tty_ldisc_lock, flags); + ld = &tty->ldisc; + if(test_bit(TTY_LDISC, &tty->flags)) + { + ld->refcount++; + ret = 1; + } + spin_unlock_irqrestore(&tty_ldisc_lock, flags); + return ret; +} + +/** + * tty_ldisc_ref_wait - wait for the tty ldisc + * @tty: tty device + * + * Dereference the line discipline for the terminal and take a + * reference to it. If the line discipline is in flux then + * wait patiently until it changes. + * + * Note: Must not be called from an IRQ/timer context. The caller + * must also be careful not to hold other locks that will deadlock + * against a discipline change, such as an existing ldisc reference + * (which we check for) + */ + +struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *tty) +{ + /* wait_event is a macro */ + wait_event(tty_ldisc_wait, tty_ldisc_try(tty)); + if(tty->ldisc.refcount == 0) + printk(KERN_ERR "tty_ldisc_ref_wait\n"); + return &tty->ldisc; +} + +EXPORT_SYMBOL_GPL(tty_ldisc_ref_wait); + +/** + * tty_ldisc_ref - get the tty ldisc + * @tty: tty device + * + * Dereference the line discipline for the terminal and take a + * reference to it. If the line discipline is in flux then + * return NULL. Can be called from IRQ and timer functions. + */ + +struct tty_ldisc *tty_ldisc_ref(struct tty_struct *tty) +{ + if(tty_ldisc_try(tty)) + return &tty->ldisc; + return NULL; +} + +EXPORT_SYMBOL_GPL(tty_ldisc_ref); + +/** + * tty_ldisc_deref - free a tty ldisc reference + * @ld: reference to free up + * + * Undoes the effect of tty_ldisc_ref or tty_ldisc_ref_wait. May + * be called in IRQ context. + */ + +void tty_ldisc_deref(struct tty_ldisc *ld) +{ + unsigned long flags; + + if(ld == NULL) + BUG(); + + spin_lock_irqsave(&tty_ldisc_lock, flags); + if(ld->refcount == 0) + printk(KERN_ERR "tty_ldisc_deref: no references.\n"); + else + ld->refcount--; + if(ld->refcount == 0) + wake_up(&tty_ldisc_wait); + spin_unlock_irqrestore(&tty_ldisc_lock, flags); +} + +EXPORT_SYMBOL_GPL(tty_ldisc_deref); + +/** + * tty_ldisc_enable - allow ldisc use + * @tty: terminal to activate ldisc on + * + * Set the TTY_LDISC flag when the line discipline can be called + * again. Do neccessary wakeups for existing sleepers. + * + * Note: nobody should set this bit except via this function. Clearing + * directly is allowed. + */ + +static void tty_ldisc_enable(struct tty_struct *tty) +{ + set_bit(TTY_LDISC, &tty->flags); + wake_up(&tty_ldisc_wait); +} + +/** + * tty_set_ldisc - set line discipline + * @tty: the terminal to set + * @ldisc: the line discipline + * + * Set the discipline of a tty line. Must be called from a process + * context. + */ + static int tty_set_ldisc(struct tty_struct *tty, int ldisc) { int retval = 0; struct tty_ldisc o_ldisc; char buf[64]; + int work; + unsigned long flags; + struct tty_ldisc *ld; if ((ldisc < N_TTY) || (ldisc >= NR_LDISCS)) return -EINVAL; + +restart: + + if (tty->ldisc.num == ldisc) + return 0; /* We are already in the desired discipline */ + + ld = tty_ldisc_get(ldisc); /* Eduardo Blanco */ /* Cyrus Durgin */ - if (!(ldiscs[ldisc].flags & LDISC_FLAG_DEFINED)) { + if (ld == NULL) { request_module("tty-ldisc-%d", ldisc); + ld = tty_ldisc_get(ldisc); } - if (!(ldiscs[ldisc].flags & LDISC_FLAG_DEFINED)) + if (ld == NULL) return -EINVAL; - if (tty->ldisc.num == ldisc) - return 0; /* We are already in the desired discipline */ - - if (!try_module_get(ldiscs[ldisc].owner)) - return -EINVAL; - o_ldisc = tty->ldisc; tty_wait_until_sent(tty, 0); + + /* + * Make sure we don't change while someone holds a + * reference to the line discipline. The TTY_LDISC bit + * prevents anyone taking a reference once it is clear. + * We need the lock to avoid racing reference takers. + */ + + spin_lock_irqsave(&tty_ldisc_lock, flags); + if(tty->ldisc.refcount) + { + /* Free the new ldisc we grabbed. Must drop the lock + first. */ + spin_unlock_irqrestore(&tty_ldisc_lock, flags); + tty_ldisc_put(ldisc); + /* + * There are several reasons we may be busy, including + * random momentary I/O traffic. We must therefore + * retry. We could distinguish between blocking ops + * and retries if we made tty_ldisc_wait() smarter. That + * is up for discussion. + */ + if(wait_event_interruptible(tty_ldisc_wait, tty->ldisc.refcount == 0) < 0) + return -ERESTARTSYS; + goto restart; + } + clear_bit(TTY_LDISC, &tty->flags); + clear_bit(TTY_DONT_FLIP, &tty->flags); + spin_unlock_irqrestore(&tty_ldisc_lock, flags); + /* + * From this point on we know nobody has an ldisc + * usage reference, nor can they obtain one until + * we say so later on. + */ + + work = cancel_delayed_work(&tty->flip.work); + /* + * Wait for ->hangup_work and ->flip.work handlers to terminate + */ + + flush_scheduled_work(); /* Shutdown the current discipline. */ if (tty->ldisc.close) (tty->ldisc.close)(tty); /* Now set up the new line discipline. */ - tty->ldisc = ldiscs[ldisc]; - tty->termios->c_line = ldisc; + tty_ldisc_assign(tty, ld); + tty_set_termios_ldisc(tty, ldisc); if (tty->ldisc.open) retval = (tty->ldisc.open)(tty); if (retval < 0) { - tty->ldisc = o_ldisc; - tty->termios->c_line = tty->ldisc.num; + tty_ldisc_put(ldisc); + /* There is an outstanding reference here so this is safe */ + tty_ldisc_assign(tty, tty_ldisc_get(o_ldisc.num)); + tty_set_termios_ldisc(tty, tty->ldisc.num); if (tty->ldisc.open && (tty->ldisc.open(tty) < 0)) { - tty->ldisc = ldiscs[N_TTY]; - tty->termios->c_line = N_TTY; + tty_ldisc_put(o_ldisc.num); + /* This driver is always present */ + tty_ldisc_assign(tty, tty_ldisc_get(N_TTY)); + tty_set_termios_ldisc(tty, N_TTY); if (tty->ldisc.open) { int r = tty->ldisc.open(tty); @@ -292,12 +556,27 @@ static int tty_set_ldisc(struct tty_struct *tty, int ldisc) tty_name(tty, buf), r); } } - } else { - module_put(o_ldisc.owner); } + /* At this point we hold a reference to the new ldisc and a + a reference to the old ldisc. If we ended up flipping back + to the existing ldisc we have two references to it */ if (tty->ldisc.num != o_ldisc.num && tty->driver->set_ldisc) tty->driver->set_ldisc(tty); + + tty_ldisc_put(o_ldisc.num); + + /* + * Allow ldisc referencing to occur as soon as the driver + * ldisc callback completes. + */ + + tty_ldisc_enable(tty); + + /* Restart it in case no characters kick it off. Safe if + already running */ + if(work) + schedule_delayed_work(&tty->flip.work, 1); return retval; } @@ -413,6 +692,53 @@ static struct file_operations hung_up_tty_fops = { static spinlock_t redirect_lock = SPIN_LOCK_UNLOCKED; static struct file *redirect; + +/** + * tty_wakeup - request more data + * @tty: terminal + * + * Internal and external helper for wakeups of tty. This function + * informs the line discipline if present that the driver is ready + * to receive more output data. + */ + +void tty_wakeup(struct tty_struct *tty) +{ + struct tty_ldisc *ld; + + if (test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags)) { + ld = tty_ldisc_ref(tty); + if(ld) { + if(ld->write_wakeup) + ld->write_wakeup(tty); + tty_ldisc_deref(ld); + } + } + wake_up_interruptible(&tty->write_wait); +} + +EXPORT_SYMBOL_GPL(tty_wakeup); + +/** + * tty_ldisc_flush - flush line discipline queue + * @tty: tty + * + * Flush the line discipline queue (if any) for this tty. If there + * is no line discipline active this is a no-op. + */ + +void tty_ldisc_flush(struct tty_struct *tty) +{ + struct tty_ldisc *ld = tty_ldisc_ref(tty); + if(ld) { + if(ld->flush_buffer) + ld->flush_buffer(tty); + tty_ldisc_deref(ld); + } +} + +EXPORT_SYMBOL_GPL(tty_ldisc_flush); + /* * This can be called by the "eventd" kernel thread. That is process synchronous, * but doesn't hold any locks, so we need to make sure we have the appropriate @@ -424,7 +750,7 @@ void do_tty_hangup(void *data) struct file * cons_filp = NULL; struct file *filp, *f = NULL; struct task_struct *p; - struct pid *pid; + struct tty_ldisc *ld; int closecount = 0, n; if (!tty) @@ -442,6 +768,7 @@ void do_tty_hangup(void *data) check_tty_count(tty, "do_tty_hangup"); file_list_lock(); + /* This breaks for file handles being sent over AF_UNIX sockets ? */ list_for_each_entry(filp, &tty->tty_files, f_list) { if (filp->f_op->write == redirected_tty_write) cons_filp = filp; @@ -454,21 +781,25 @@ void do_tty_hangup(void *data) file_list_unlock(); /* FIXME! What are the locking issues here? This may me overdoing things.. - * this question is especially important now that we've removed the irqlock. */ - { - unsigned long flags; + * this question is especially important now that we've removed the irqlock. */ - local_irq_save(flags); // FIXME: is this safe? - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + ld = tty_ldisc_ref(tty); + if(ld != NULL) /* We may have no line discipline at this point */ + { + if (ld->flush_buffer) + ld->flush_buffer(tty); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); if ((test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - local_irq_restore(flags); // FIXME: is this safe? + ld->write_wakeup) + ld->write_wakeup(tty); + if (ld->hangup) + ld->hangup(tty); } + /* FIXME: Once we trust the LDISC code better we can wait here for + ldisc completion and fix the driver call race */ + wake_up_interruptible(&tty->write_wait); wake_up_interruptible(&tty->read_wait); @@ -477,26 +808,21 @@ void do_tty_hangup(void *data) * N_TTY. */ if (tty->driver->flags & TTY_DRIVER_RESET_TERMIOS) + { + down(&tty->termios_sem); *tty->termios = tty->driver->init_termios; - if (tty->ldisc.num != ldiscs[N_TTY].num) { - if (tty->ldisc.close) - (tty->ldisc.close)(tty); - module_put(tty->ldisc.owner); - - tty->ldisc = ldiscs[N_TTY]; - tty->termios->c_line = N_TTY; - if (tty->ldisc.open) { - int i = (tty->ldisc.open)(tty); - if (i < 0) - printk(KERN_ERR "do_tty_hangup: N_TTY open: " - "error %d\n", -i); - } + up(&tty->termios_sem); } + /* Defer ldisc switch */ + /* tty_deferred_ldisc_switch(N_TTY); + + This should get done automatically when the port closes and + tty_release is called */ + read_lock(&tasklist_lock); if (tty->session > 0) { - struct list_head *l; - for_each_task_pid(tty->session, PIDTYPE_SID, p, l, pid) { + do_each_task_pid(tty->session, PIDTYPE_SID, p) { if (p->signal->tty == tty) p->signal->tty = NULL; if (!p->signal->leader) @@ -505,7 +831,7 @@ void do_tty_hangup(void *data) send_group_sig_info(SIGCONT, SEND_SIG_PRIV, p); if (tty->pgrp > 0) p->signal->tty_old_pgrp = tty->pgrp; - } + } while_each_task_pid(tty->session, PIDTYPE_SID, p); } read_unlock(&tasklist_lock); @@ -525,6 +851,17 @@ void do_tty_hangup(void *data) tty->driver->close(tty, cons_filp); } else if (tty->driver->hangup) (tty->driver->hangup)(tty); + + /* We don't want to have driver/ldisc interactions beyond + the ones we did here. The driver layer expects no + calls after ->hangup() from the ldisc side. However we + can't yet guarantee all that */ + + set_bit(TTY_HUPPED, &tty->flags); + if (ld) { + tty_ldisc_enable(tty); + tty_ldisc_deref(ld); + } unlock_kernel(); if (f) fput(f); @@ -577,8 +914,6 @@ void disassociate_ctty(int on_exit) { struct tty_struct *tty; struct task_struct *p; - struct list_head *l; - struct pid *pid; int tty_pgrp = -1; lock_kernel(); @@ -607,8 +942,9 @@ void disassociate_ctty(int on_exit) tty->pgrp = -1; read_lock(&tasklist_lock); - for_each_task_pid(current->signal->session, PIDTYPE_SID, p, l, pid) + do_each_task_pid(current->signal->session, PIDTYPE_SID, p) { p->signal->tty = NULL; + } while_each_task_pid(current->signal->session, PIDTYPE_SID, p); read_unlock(&tasklist_lock); unlock_kernel(); } @@ -641,9 +977,9 @@ void start_tty(struct tty_struct *tty) } if (tty->driver->start) (tty->driver->start)(tty); - if ((test_bit(TTY_DO_WRITE_WAKEUP, &tty->flags)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + + /* If we have a running line discipline it may need kicking */ + tty_wakeup(tty); wake_up_interruptible(&tty->write_wait); } @@ -655,6 +991,7 @@ static ssize_t tty_read(struct file * file, char __user * buf, size_t count, int i; struct tty_struct * tty; struct inode *inode; + struct tty_ldisc *ld; tty = (struct tty_struct *)file->private_data; inode = file->f_dentry->d_inode; @@ -663,11 +1000,15 @@ static ssize_t tty_read(struct file * file, char __user * buf, size_t count, if (!tty || (test_bit(TTY_IO_ERROR, &tty->flags))) return -EIO; + /* We want to wait for the line discipline to sort out in this + situation */ + ld = tty_ldisc_ref_wait(tty); lock_kernel(); - if (tty->ldisc.read) - i = (tty->ldisc.read)(tty,file,buf,count); + if (ld->read) + i = (ld->read)(tty,file,buf,count); else i = -EIO; + tty_ldisc_deref(ld); unlock_kernel(); if (i > 0) inode->i_atime = CURRENT_TIME; @@ -729,16 +1070,23 @@ static ssize_t tty_write(struct file * file, const char __user * buf, size_t cou { struct tty_struct * tty; struct inode *inode = file->f_dentry->d_inode; - + ssize_t ret; + struct tty_ldisc *ld; + tty = (struct tty_struct *)file->private_data; if (tty_paranoia_check(tty, inode, "tty_write")) return -EIO; if (!tty || !tty->driver->write || (test_bit(TTY_IO_ERROR, &tty->flags))) return -EIO; - if (!tty->ldisc.write) - return -EIO; - return do_tty_write(tty->ldisc.write, tty, file, + + ld = tty_ldisc_ref_wait(tty); + if (!ld->write) + ret = -EIO; + else + ret = do_tty_write(ld->write, tty, file, (const unsigned char __user *)buf, count); + tty_ldisc_deref(ld); + return ret; } ssize_t redirected_tty_write(struct file * file, const char __user * buf, size_t count, @@ -763,6 +1111,17 @@ ssize_t redirected_tty_write(struct file * file, const char __user * buf, size_t return tty_write(file, buf, count, ppos); } +static char ptychar[] = "pqrstuvwxyzabcde"; + +static inline void pty_line_name(struct tty_driver *driver, int index, char *p) +{ + int i = index + driver->name_base; + /* ->name is initialized to "ttyp", but "tty" is expected */ + sprintf(p, "%s%c%x", + driver->subtype == PTY_TYPE_SLAVE ? "tty" : driver->name, + ptychar[i >> 4 & 0xf], i & 0xf); +} + static inline void tty_line_name(struct tty_driver *driver, int index, char *p) { sprintf(p, "%s%d", driver->name, index + driver->name_base); @@ -924,6 +1283,7 @@ static int init_dev(struct tty_driver *driver, int idx, * If we fail here just call release_mem to clean up. No need * to decrement the use counts, as release_mem doesn't care. */ + if (tty->ldisc.open) { retval = (tty->ldisc.open)(tty); if (retval) @@ -936,7 +1296,9 @@ static int init_dev(struct tty_driver *driver, int idx, (tty->ldisc.close)(tty); goto release_mem_out; } + tty_ldisc_enable(o_tty); } + tty_ldisc_enable(tty); goto success; /* @@ -965,6 +1327,9 @@ fast_track: tty->count++; tty->driver = driver; /* N.B. why do this every time?? */ + /* FIXME */ + if(!test_bit(TTY_LDISC, &tty->flags)) + printk(KERN_ERR "init_dev but no ldisc\n"); success: *ret_tty = tty; @@ -1068,6 +1433,7 @@ static void release_dev(struct file * filp) int devpts_master, devpts; int idx; char buf[64]; + unsigned long flags; tty = (struct tty_struct *)filp->private_data; if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "release_dev")) @@ -1144,7 +1510,6 @@ static void release_dev(struct file * filp) } } #endif - if (tty->driver->close) tty->driver->close(tty, filp); @@ -1249,15 +1614,15 @@ static void release_dev(struct file * filp) */ if (tty_closing || o_tty_closing) { struct task_struct *p; - struct list_head *l; - struct pid *pid; read_lock(&tasklist_lock); - for_each_task_pid(tty->session, PIDTYPE_SID, p, l, pid) + do_each_task_pid(tty->session, PIDTYPE_SID, p) { p->signal->tty = NULL; + } while_each_task_pid(tty->session, PIDTYPE_SID, p); if (o_tty) - for_each_task_pid(o_tty->session, PIDTYPE_SID, p,l, pid) + do_each_task_pid(o_tty->session, PIDTYPE_SID, p) { p->signal->tty = NULL; + } while_each_task_pid(o_tty->session, PIDTYPE_SID, p); read_unlock(&tasklist_lock); } @@ -1268,36 +1633,58 @@ static void release_dev(struct file * filp) #ifdef TTY_DEBUG_HANGUP printk(KERN_DEBUG "freeing tty structure..."); #endif - /* * Prevent flush_to_ldisc() from rescheduling the work for later. Then - * kill any delayed work. + * kill any delayed work. As this is the final close it does not + * race with the set_ldisc code path. */ + clear_bit(TTY_LDISC, &tty->flags); clear_bit(TTY_DONT_FLIP, &tty->flags); cancel_delayed_work(&tty->flip.work); /* * Wait for ->hangup_work and ->flip.work handlers to terminate */ + flush_scheduled_work(); - + + /* + * Wait for any short term users (we know they are just driver + * side waiters as the file is closing so user count on the file + * side is zero. + */ + spin_lock_irqsave(&tty_ldisc_lock, flags); + while(tty->ldisc.refcount) + { + spin_unlock_irqrestore(&tty_ldisc_lock, flags); + wait_event(tty_ldisc_wait, tty->ldisc.refcount == 0); + spin_lock_irqsave(&tty_ldisc_lock, flags); + } + spin_unlock_irqrestore(&tty_ldisc_lock, flags); /* * Shutdown the current line discipline, and reset it to N_TTY. * N.B. why reset ldisc when we're releasing the memory?? + * + * FIXME: this MUST get fixed for the new reflocking */ if (tty->ldisc.close) (tty->ldisc.close)(tty); - module_put(tty->ldisc.owner); + tty_ldisc_put(tty->ldisc.num); - tty->ldisc = ldiscs[N_TTY]; - tty->termios->c_line = N_TTY; + /* + * Switch the line discipline back + */ + tty_ldisc_assign(tty, tty_ldisc_get(N_TTY)); + tty_set_termios_ldisc(tty,N_TTY); if (o_tty) { + /* FIXME: could o_tty be in setldisc here ? */ + clear_bit(TTY_LDISC, &o_tty->flags); if (o_tty->ldisc.close) (o_tty->ldisc.close)(o_tty); - module_put(o_tty->ldisc.owner); - o_tty->ldisc = ldiscs[N_TTY]; + tty_ldisc_put(o_tty->ldisc.num); + tty_ldisc_assign(o_tty, tty_ldisc_get(N_TTY)); + tty_set_termios_ldisc(o_tty,N_TTY); } - /* * The release_mem function takes care of the details of clearing * the slots and preserving the termios structure. @@ -1337,6 +1724,7 @@ static int tty_open(struct inode * inode, struct file * filp) unsigned short saved_flags = filp->f_flags; nonseekable_open(inode, filp); + retry_open: noctty = filp->f_flags & O_NOCTTY; index = -1; @@ -1500,14 +1888,18 @@ static int tty_release(struct inode * inode, struct file * filp) static unsigned int tty_poll(struct file * filp, poll_table * wait) { struct tty_struct * tty; + struct tty_ldisc *ld; + int ret = 0; tty = (struct tty_struct *)filp->private_data; if (tty_paranoia_check(tty, filp->f_dentry->d_inode, "tty_poll")) return 0; - - if (tty->ldisc.poll) - return (tty->ldisc.poll)(tty, filp, wait); - return 0; + + ld = tty_ldisc_ref_wait(tty); + if (ld->poll) + ret = (ld->poll)(tty, filp, wait); + tty_ldisc_deref(ld); + return ret; } static int tty_fasync(int fd, struct file * filp, int on) @@ -1539,12 +1931,15 @@ static int tty_fasync(int fd, struct file * filp, int on) static int tiocsti(struct tty_struct *tty, char __user *p) { char ch, mbz = 0; - + struct tty_ldisc *ld; + if ((current->signal->tty != tty) && !capable(CAP_SYS_ADMIN)) return -EPERM; if (get_user(ch, p)) return -EFAULT; - tty->ldisc.receive_buf(tty, &ch, &mbz, 1); + ld = tty_ldisc_ref_wait(tty); + ld->receive_buf(tty, &ch, &mbz, 1); + tty_ldisc_deref(ld); return 0; } @@ -1587,10 +1982,10 @@ static int tiocswinsz(struct tty_struct *tty, struct tty_struct *real_tty, static int tioccons(struct file *file) { + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; if (file->f_op->write == redirected_tty_write) { struct file *f; - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; spin_lock(&redirect_lock); f = redirect; redirect = NULL; @@ -1627,8 +2022,6 @@ static int fionbio(struct file *file, int __user *p) static int tiocsctty(struct tty_struct *tty, int arg) { - struct list_head *l; - struct pid *pid; task_t *p; if (current->signal->leader && @@ -1651,8 +2044,9 @@ static int tiocsctty(struct tty_struct *tty, int arg) */ read_lock(&tasklist_lock); - for_each_task_pid(tty->session, PIDTYPE_SID, p, l, pid) + do_each_task_pid(tty->session, PIDTYPE_SID, p) { p->signal->tty = NULL; + } while_each_task_pid(tty->session, PIDTYPE_SID, p); read_unlock(&tasklist_lock); } else return -EPERM; @@ -1668,13 +2062,16 @@ static int tiocsctty(struct tty_struct *tty, int arg) static int tiocgpgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t __user *p) { + pid_t pgrp; /* * (tty == real_tty) is a cheap way of * testing if the tty is NOT a master pty. */ if (tty == real_tty && current->signal->tty != real_tty) return -ENOTTY; - return put_user(real_tty->pgrp, p); + + pgrp = vx_map_pid(real_tty->pgrp); + return put_user(pgrp, p); } static int tiocspgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t __user *p) @@ -1692,6 +2089,8 @@ static int tiocspgrp(struct tty_struct *tty, struct tty_struct *real_tty, pid_t return -ENOTTY; if (get_user(pgrp, p)) return -EFAULT; + + pgrp = vx_rmap_pid(pgrp); if (pgrp < 0) return -EINVAL; if (session_of_pgrp(pgrp) != current->signal->session) @@ -1724,11 +2123,11 @@ static int tiocsetd(struct tty_struct *tty, int __user *p) static int send_break(struct tty_struct *tty, int duration) { - set_current_state(TASK_INTERRUPTIBLE); - tty->driver->break_ctl(tty, -1); - if (!signal_pending(current)) + if (!signal_pending(current)) { + set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(duration); + } tty->driver->break_ctl(tty, 0); if (signal_pending(current)) return -EINTR; @@ -1793,6 +2192,7 @@ int tty_ioctl(struct inode * inode, struct file * file, struct tty_struct *tty, *real_tty; void __user *p = (void __user *)arg; int retval; + struct tty_ldisc *ld; tty = (struct tty_struct *)file->private_data; if (tty_paranoia_check(tty, inode, "tty_ioctl")) @@ -1882,6 +2282,7 @@ int tty_ioctl(struct inode * inode, struct file * file, case TIOCGSID: return tiocgsid(tty, real_tty, p); case TIOCGETD: + /* FIXME: check this is ok */ return put_user(tty->ldisc.num, (int __user *)p); case TIOCSETD: return tiocsetd(tty, p); @@ -1920,16 +2321,19 @@ int tty_ioctl(struct inode * inode, struct file * file, return tty_tiocmset(tty, file, cmd, p); } if (tty->driver->ioctl) { - int retval = (tty->driver->ioctl)(tty, file, cmd, arg); + retval = (tty->driver->ioctl)(tty, file, cmd, arg); if (retval != -ENOIOCTLCMD) return retval; } - if (tty->ldisc.ioctl) { - int retval = (tty->ldisc.ioctl)(tty, file, cmd, arg); - if (retval != -ENOIOCTLCMD) - return retval; + ld = tty_ldisc_ref_wait(tty); + retval = -EINVAL; + if (ld->ioctl) { + retval = ld->ioctl(tty, file, cmd, arg); + if (retval == -ENOIOCTLCMD) + retval = -EINVAL; } - return -EINVAL; + tty_ldisc_deref(ld); + return retval; } @@ -1959,21 +2363,26 @@ static void __do_SAK(void *arg) #else struct tty_struct *tty = arg; struct task_struct *p; - struct list_head *l; - struct pid *pid; int session; int i; struct file *filp; + struct tty_ldisc *disc; if (!tty) return; session = tty->session; - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + + /* We don't want an ldisc switch during this */ + disc = tty_ldisc_ref(tty); + if (disc && disc->flush_buffer) + disc->flush_buffer(tty); + tty_ldisc_deref(disc); + if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); + read_lock(&tasklist_lock); - for_each_task_pid(session, PIDTYPE_SID, p, l, pid) { + do_each_task_pid(session, PIDTYPE_SID, p) { if (p->signal->tty == tty || session > 0) { printk(KERN_NOTICE "SAK: killed process %d" " (%s): p->signal->session==tty->session\n", @@ -2000,7 +2409,7 @@ static void __do_SAK(void *arg) spin_unlock(&p->files->file_lock); } task_unlock(p); - } + } while_each_task_pid(session, PIDTYPE_SID, p); read_unlock(&tasklist_lock); #endif } @@ -2023,24 +2432,29 @@ EXPORT_SYMBOL(do_SAK); /* * This routine is called out of the software interrupt to flush data - * from the flip buffer to the line discipline. + * from the flip buffer to the line discipline. */ + static void flush_to_ldisc(void *private_) { struct tty_struct *tty = (struct tty_struct *) private_; unsigned char *cp; char *fp; int count; - unsigned long flags; + unsigned long flags; + struct tty_ldisc *disc; + + disc = tty_ldisc_ref(tty); + if (disc == NULL) /* !TTY_LDISC */ + return; if (test_bit(TTY_DONT_FLIP, &tty->flags)) { /* * Do it after the next timer tick: */ schedule_delayed_work(&tty->flip.work, 1); - return; + goto out; } - spin_lock_irqsave(&tty->read_lock, flags); if (tty->flip.buf_num) { cp = tty->flip.char_buf + TTY_FLIPBUF_SIZE; @@ -2059,7 +2473,31 @@ static void flush_to_ldisc(void *private_) tty->flip.count = 0; spin_unlock_irqrestore(&tty->read_lock, flags); - tty->ldisc.receive_buf(tty, cp, fp, count); + disc->receive_buf(tty, cp, fp, count); +out: + tty_ldisc_deref(disc); +} + +/* + * Call the ldisc flush directly from a driver. This function may + * return an error and need retrying by the user. + */ + +int tty_push_data(struct tty_struct *tty, unsigned char *cp, unsigned char *fp, int count) +{ + int ret = 0; + struct tty_ldisc *disc; + + disc = tty_ldisc_ref(tty); + if(test_bit(TTY_DONT_FLIP, &tty->flags)) + ret = -EAGAIN; + else if(disc == NULL) + ret = -EIO; + else + disc->receive_buf(tty, cp, fp, count); + tty_ldisc_deref(disc); + return ret; + } /* @@ -2081,9 +2519,20 @@ static int baud_table[] = { static int n_baud_table = ARRAY_SIZE(baud_table); +/** + * tty_termios_baud_rate + * @termios: termios structure + * + * Convert termios baud rate data into a speed. This should be called + * with the termios lock held if this termios is a terminal termios + * structure. May change the termios data. + */ + int tty_termios_baud_rate(struct termios *termios) { - unsigned int cbaud = termios->c_cflag & CBAUD; + unsigned int cbaud; + + cbaud = termios->c_cflag & CBAUD; if (cbaud & CBAUDEX) { cbaud &= ~CBAUDEX; @@ -2093,12 +2542,20 @@ int tty_termios_baud_rate(struct termios *termios) else cbaud += 15; } - return baud_table[cbaud]; } EXPORT_SYMBOL(tty_termios_baud_rate); +/** + * tty_get_baud_rate - get tty bit rates + * @tty: tty to query + * + * Returns the baud rate as an integer for this terminal. The + * termios lock must be held by the caller and the terminal bit + * flags may be updated. + */ + int tty_get_baud_rate(struct tty_struct *tty) { int baud = tty_termios_baud_rate(tty->termios); @@ -2117,6 +2574,17 @@ int tty_get_baud_rate(struct tty_struct *tty) EXPORT_SYMBOL(tty_get_baud_rate); +/** + * tty_flip_buffer_push - terminal + * @tty: tty to push + * + * Queue a push of the terminal flip buffers to the line discipline. This + * function must not be called from IRQ context if tty->low_latency is set. + * + * In the event of the queue being busy for flipping the work will be + * held off and retried later. + */ + void tty_flip_buffer_push(struct tty_struct *tty) { if (tty->low_latency) @@ -2134,12 +2602,13 @@ static void initialize_tty_struct(struct tty_struct *tty) { memset(tty, 0, sizeof(struct tty_struct)); tty->magic = TTY_MAGIC; - tty->ldisc = ldiscs[N_TTY]; + tty_ldisc_assign(tty, tty_ldisc_get(N_TTY)); tty->pgrp = -1; tty->flip.char_buf_ptr = tty->flip.char_buf; tty->flip.flag_buf_ptr = tty->flip.flag_buf; INIT_WORK(&tty->flip.work, flush_to_ldisc, tty); init_MUTEX(&tty->flip.pty_sem); + init_MUTEX(&tty->termios_sem); init_waitqueue_head(&tty->write_wait); init_waitqueue_head(&tty->read_wait); INIT_WORK(&tty->hangup_work, do_tty_hangup, tty); @@ -2175,6 +2644,7 @@ static struct class_simple *tty_class; void tty_register_device(struct tty_driver *driver, unsigned index, struct device *device) { + char name[64]; dev_t dev = MKDEV(driver->major, driver->minor_start) + index; if (index >= driver->num) { @@ -2186,13 +2656,11 @@ void tty_register_device(struct tty_driver *driver, unsigned index, devfs_mk_cdev(dev, S_IFCHR | S_IRUSR | S_IWUSR, "%s%d", driver->devfs_name, index + driver->name_base); - /* we don't care about the ptys */ - /* how nice to hide this behind some crappy interface.. */ - if (driver->type != TTY_DRIVER_TYPE_PTY) { - char name[64]; + if (driver->type == TTY_DRIVER_TYPE_PTY) + pty_line_name(driver, index, name); + else tty_line_name(driver, index, name); - class_simple_device_add(tty_class, dev, device, name); - } + class_simple_device_add(tty_class, dev, device, name); } /** diff --git a/drivers/char/tty_ioctl.c b/drivers/char/tty_ioctl.c index ae924c7cb..830c665a3 100644 --- a/drivers/char/tty_ioctl.c +++ b/drivers/char/tty_ioctl.c @@ -98,8 +98,17 @@ static void change_termios(struct tty_struct * tty, struct termios * new_termios { int canon_change; struct termios old_termios = *tty->termios; + struct tty_ldisc *ld; + + /* + * Perform the actual termios internal changes under lock. + */ + + + /* FIXME: we need to decide on some locking/ordering semantics + for the set_termios notification eventually */ + down(&tty->termios_sem); - local_irq_disable(); // FIXME: is this safe? *tty->termios = *new_termios; unset_locked_termios(tty->termios, &old_termios, tty->termios_locked); canon_change = (old_termios.c_lflag ^ tty->termios->c_lflag) & ICANON; @@ -109,12 +118,13 @@ static void change_termios(struct tty_struct * tty, struct termios * new_termios tty->canon_data = 0; tty->erasing = 0; } - local_irq_enable(); // FIXME: is this safe? + + if (canon_change && !L_ICANON(tty) && tty->read_cnt) /* Get characters left over from canonical mode. */ wake_up_interruptible(&tty->read_wait); - /* see if packet mode change of state */ + /* See if packet mode change of state. */ if (tty->link && tty->link->packet) { int old_flow = ((old_termios.c_iflag & IXON) && @@ -132,17 +142,23 @@ static void change_termios(struct tty_struct * tty, struct termios * new_termios wake_up_interruptible(&tty->link->read_wait); } } - + if (tty->driver->set_termios) (*tty->driver->set_termios)(tty, &old_termios); - if (tty->ldisc.set_termios) - (*tty->ldisc.set_termios)(tty, &old_termios); + ld = tty_ldisc_ref(tty); + if (ld != NULL) { + if (ld->set_termios) + (ld->set_termios)(tty, &old_termios); + tty_ldisc_deref(ld); + } + up(&tty->termios_sem); } static int set_termios(struct tty_struct * tty, void __user *arg, int opt) { struct termios tmp_termios; + struct tty_ldisc *ld; int retval = tty_check_change(tty); if (retval) @@ -159,9 +175,14 @@ static int set_termios(struct tty_struct * tty, void __user *arg, int opt) return -EFAULT; } - if ((opt & TERMIOS_FLUSH) && tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); - + ld = tty_ldisc_ref(tty); + + if (ld != NULL) { + if ((opt & TERMIOS_FLUSH) && ld->flush_buffer) + ld->flush_buffer(tty); + tty_ldisc_deref(ld); + } + if (opt & TERMIOS_WAIT) { tty_wait_until_sent(tty, 0); if (signal_pending(current)) @@ -226,11 +247,14 @@ static int get_sgttyb(struct tty_struct * tty, struct sgttyb __user * sgttyb) { struct sgttyb tmp; + down(&tty->termios_sem); tmp.sg_ispeed = 0; tmp.sg_ospeed = 0; tmp.sg_erase = tty->termios->c_cc[VERASE]; tmp.sg_kill = tty->termios->c_cc[VKILL]; tmp.sg_flags = get_sgflags(tty); + up(&tty->termios_sem); + return copy_to_user(sgttyb, &tmp, sizeof(tmp)) ? -EFAULT : 0; } @@ -269,12 +293,16 @@ static int set_sgttyb(struct tty_struct * tty, struct sgttyb __user * sgttyb) retval = tty_check_change(tty); if (retval) return retval; - termios = *tty->termios; + if (copy_from_user(&tmp, sgttyb, sizeof(tmp))) return -EFAULT; + + down(&tty->termios_sem); + termios = *tty->termios; termios.c_cc[VERASE] = tmp.sg_erase; termios.c_cc[VKILL] = tmp.sg_kill; set_sgflags(&termios, tmp.sg_flags); + up(&tty->termios_sem); change_termios(tty, &termios); return 0; } @@ -365,6 +393,7 @@ int n_tty_ioctl(struct tty_struct * tty, struct file * file, struct tty_struct * real_tty; void __user *p = (void __user *)arg; int retval; + struct tty_ldisc *ld; if (tty->driver->type == TTY_DRIVER_TYPE_PTY && tty->driver->subtype == PTY_TYPE_MASTER) @@ -443,22 +472,26 @@ int n_tty_ioctl(struct tty_struct * tty, struct file * file, retval = tty_check_change(tty); if (retval) return retval; + + ld = tty_ldisc_ref(tty); switch (arg) { case TCIFLUSH: - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + if (ld->flush_buffer) + ld->flush_buffer(tty); break; case TCIOFLUSH: - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + if (ld->flush_buffer) + ld->flush_buffer(tty); /* fall through */ case TCOFLUSH: if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); break; default: + tty_ldisc_deref(ld); return -EINVAL; } + tty_ldisc_deref(ld); return 0; case TIOCOUTQ: return put_user(tty->driver->chars_in_buffer ? @@ -504,9 +537,11 @@ int n_tty_ioctl(struct tty_struct * tty, struct file * file, case TIOCSSOFTCAR: if (get_user(arg, (unsigned int __user *) arg)) return -EFAULT; + down(&tty->termios_sem); tty->termios->c_cflag = ((tty->termios->c_cflag & ~CLOCAL) | (arg ? CLOCAL : 0)); + up(&tty->termios_sem); return 0; default: return -ENOIOCTLCMD; diff --git a/drivers/char/vt.c b/drivers/char/vt.c index a204572f5..cb20edda5 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c @@ -136,9 +136,6 @@ extern void prom_con_init(void); #ifdef CONFIG_MDA_CONSOLE extern int mda_console_init(void); #endif -#ifdef CONFIG_FRAMEBUFFER_CONSOLE -extern int fb_console_init(void); -#endif struct vc vc_cons [MAX_NR_CONSOLES]; @@ -600,6 +597,17 @@ static inline void save_screen(int currcons) * Redrawing of screen */ +static void clear_buffer_attributes(int currcons) +{ + unsigned short *p = (unsigned short *) origin; + int count = screenbuf_size/2; + int mask = hi_font_mask | 0xff; + + for (; count > 0; count--, p++) { + scr_writew((scr_readw(p)&mask) | (video_erase_char&~mask), p); + } +} + void redraw_screen(int new_console, int is_switch) { int redraw = 1; @@ -637,9 +645,21 @@ void redraw_screen(int new_console, int is_switch) if (redraw) { int update; + int old_was_color = vc_cons[currcons].d->vc_can_do_color; + set_origin(currcons); update = sw->con_switch(vc_cons[currcons].d); set_palette(currcons); + /* + * If console changed from mono<->color, the best we can do + * is to clear the buffer attributes. As it currently stands, + * rebuilding new attributes from the old buffer is not doable + * without overly complex code. + */ + if (old_was_color != vc_cons[currcons].d->vc_can_do_color) { + update_attr(currcons); + clear_buffer_attributes(currcons); + } if (update && vcmode != KD_GRAPHICS) do_update_region(currcons, origin, screenbuf_size/2); } @@ -748,6 +768,8 @@ inline int resize_screen(int currcons, int width, int height) * [this is to be used together with some user program * like resize that changes the hardware videomode] */ +#define VC_RESIZE_MAXCOL (32767) +#define VC_RESIZE_MAXROW (32767) int vc_resize(int currcons, unsigned int cols, unsigned int lines) { unsigned long old_origin, new_origin, new_scr_end, rlth, rrem, err = 0; @@ -760,6 +782,9 @@ int vc_resize(int currcons, unsigned int cols, unsigned int lines) if (!vc_cons_allocated(currcons)) return -ENXIO; + if (cols > VC_RESIZE_MAXCOL || lines > VC_RESIZE_MAXROW) + return -EINVAL; + new_cols = (cols ? cols : video_num_columns); new_rows = (lines ? lines : video_num_lines); new_row_size = new_cols << 1; @@ -1865,7 +1890,7 @@ static void do_con_trol(struct tty_struct *tty, unsigned int currcons, int c) * since console_init (and thus con_init) are called before any * kernel memory allocation is available. */ -char con_buf[PAGE_SIZE]; +char con_buf[CON_BUF_SIZE]; DECLARE_MUTEX(con_buf_sem); /* acquires console_sem */ @@ -1958,12 +1983,16 @@ again: hide_cursor(currcons); while (!tty->stopped && count) { - c = *buf; + int orig = *buf; + c = orig; buf++; n++; count--; - if (utf) { + /* Do no translation at all in control states */ + if (vc_state != ESnormal) { + tc = c; + } else if (utf) { /* Combine UTF-8 into Unicode */ /* Incomplete characters silently ignored */ if(c > 0x7f) { @@ -2063,7 +2092,7 @@ again: continue; } FLUSH - do_con_trol(tty, currcons, c); + do_con_trol(tty, currcons, orig); } FLUSH console_conditional_schedule(); @@ -2645,25 +2674,11 @@ int __init vty_init(void) #ifdef CONFIG_MDA_CONSOLE mda_console_init(); #endif -#ifdef CONFIG_FRAMEBUFFER_CONSOLE - fb_console_init(); -#endif return 0; } #ifndef VT_SINGLE_DRIVER -static void clear_buffer_attributes(int currcons) -{ - unsigned short *p = (unsigned short *) origin; - int count = screenbuf_size/2; - int mask = hi_font_mask | 0xff; - - for (; count > 0; count--, p++) { - scr_writew((scr_readw(p)&mask) | (video_erase_char&~mask), p); - } -} - /* * If we support more console drivers, this function is used * when a driver wants to take over some existing consoles @@ -3275,7 +3290,6 @@ EXPORT_SYMBOL(color_table); EXPORT_SYMBOL(default_red); EXPORT_SYMBOL(default_grn); EXPORT_SYMBOL(default_blu); -EXPORT_SYMBOL(vc_cons_allocated); EXPORT_SYMBOL(update_region); EXPORT_SYMBOL(redraw_screen); EXPORT_SYMBOL(vc_resize); diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c index 682b44e9d..dd8e2f781 100644 --- a/drivers/char/vt_ioctl.c +++ b/drivers/char/vt_ioctl.c @@ -536,8 +536,7 @@ int vt_ioctl(struct tty_struct *tty, struct file * file, default: return -EINVAL; } - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); return 0; case KDGKBMODE: diff --git a/drivers/char/watchdog/Kconfig b/drivers/char/watchdog/Kconfig index a9dec9e98..4f109b7d7 100644 --- a/drivers/char/watchdog/Kconfig +++ b/drivers/char/watchdog/Kconfig @@ -319,6 +319,12 @@ config MACHZ_WDT To compile this driver as a module, choose M here: the module will be called machzwd. +# PowerPC Architecture + +config 8xx_WDT + tristate "MPC8xx Watchdog Timer" + depends on WATCHDOG && 8xx + # MIPS Architecture config INDYDOG diff --git a/drivers/char/watchdog/Makefile b/drivers/char/watchdog/Makefile index c5f99d332..c43e9990c 100644 --- a/drivers/char/watchdog/Makefile +++ b/drivers/char/watchdog/Makefile @@ -37,3 +37,4 @@ obj-$(CONFIG_PCIPCWATCHDOG) += pcwd_pci.o obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb.o obj-$(CONFIG_IXP4XX_WATCHDOG) += ixp4xx_wdt.o obj-$(CONFIG_IXP2000_WATCHDOG) += ixp2000_wdt.o +obj-$(CONFIG_8xx_WDT) += mpc8xx_wdt.o diff --git a/drivers/char/watchdog/cpu5wdt.c b/drivers/char/watchdog/cpu5wdt.c index 7e7b653a2..2865dac0a 100644 --- a/drivers/char/watchdog/cpu5wdt.c +++ b/drivers/char/watchdog/cpu5wdt.c @@ -134,7 +134,7 @@ static int cpu5wdt_open(struct inode *inode, struct file *file) if ( test_and_set_bit(0, &cpu5wdt_device.inuse) ) return -EBUSY; - return 0; + return nonseekable_open(inode, file); } static int cpu5wdt_release(struct inode *inode, struct file *file) @@ -198,6 +198,7 @@ static ssize_t cpu5wdt_write(struct file *file, const char __user *buf, size_t c static struct file_operations cpu5wdt_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .ioctl = cpu5wdt_ioctl, .open = cpu5wdt_open, .write = cpu5wdt_write, diff --git a/drivers/char/watchdog/i8xx_tco.c b/drivers/char/watchdog/i8xx_tco.c index 5fc054700..c32c93ccd 100644 --- a/drivers/char/watchdog/i8xx_tco.c +++ b/drivers/char/watchdog/i8xx_tco.c @@ -465,7 +465,7 @@ static int __init watchdog_init (void) goto unreg_notifier; } - tco_timer_keepalive (); + tco_timer_stop (); printk (KERN_INFO PFX "initialized (0x%04x). heartbeat=%d sec (nowayout=%d)\n", TCOBASE, heartbeat, nowayout); diff --git a/drivers/char/watchdog/ib700wdt.c b/drivers/char/watchdog/ib700wdt.c index cd6467eb4..d974f16e8 100644 --- a/drivers/char/watchdog/ib700wdt.c +++ b/drivers/char/watchdog/ib700wdt.c @@ -263,6 +263,7 @@ ibwdt_notify_sys(struct notifier_block *this, unsigned long code, static struct file_operations ibwdt_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .write = ibwdt_write, .ioctl = ibwdt_ioctl, .open = ibwdt_open, diff --git a/drivers/char/watchdog/indydog.c b/drivers/char/watchdog/indydog.c index 4e9093b4a..6af2c799b 100644 --- a/drivers/char/watchdog/indydog.c +++ b/drivers/char/watchdog/indydog.c @@ -162,6 +162,7 @@ static int indydog_notify_sys(struct notifier_block *this, unsigned long code, v static struct file_operations indydog_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .write = indydog_write, .ioctl = indydog_ioctl, .open = indydog_open, diff --git a/drivers/char/watchdog/machzwd.c b/drivers/char/watchdog/machzwd.c index 3782930e6..6e14abbb4 100644 --- a/drivers/char/watchdog/machzwd.c +++ b/drivers/char/watchdog/machzwd.c @@ -425,6 +425,7 @@ static int zf_notify_sys(struct notifier_block *this, unsigned long code, static struct file_operations zf_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .write = zf_write, .ioctl = zf_ioctl, .open = zf_open, diff --git a/drivers/char/watchdog/mixcomwd.c b/drivers/char/watchdog/mixcomwd.c index 15a3547f2..3143e4a07 100644 --- a/drivers/char/watchdog/mixcomwd.c +++ b/drivers/char/watchdog/mixcomwd.c @@ -197,6 +197,7 @@ static int mixcomwd_ioctl(struct inode *inode, struct file *file, static struct file_operations mixcomwd_fops= { .owner = THIS_MODULE, + .llseek = no_llseek, .write = mixcomwd_write, .ioctl = mixcomwd_ioctl, .open = mixcomwd_open, diff --git a/drivers/char/watchdog/sa1100_wdt.c b/drivers/char/watchdog/sa1100_wdt.c index 1adf09f83..394ee7ac7 100644 --- a/drivers/char/watchdog/sa1100_wdt.c +++ b/drivers/char/watchdog/sa1100_wdt.c @@ -27,6 +27,10 @@ #include #include +#ifdef CONFIG_ARCH_PXA +#include +#endif + #include #include #include @@ -162,6 +166,7 @@ static int sa1100dog_ioctl(struct inode *inode, struct file *file, static struct file_operations sa1100dog_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .write = sa1100dog_write, .ioctl = sa1100dog_ioctl, .open = sa1100dog_open, diff --git a/drivers/char/watchdog/sc1200wdt.c b/drivers/char/watchdog/sc1200wdt.c index 9ddebaebe..d17d485fb 100644 --- a/drivers/char/watchdog/sc1200wdt.c +++ b/drivers/char/watchdog/sc1200wdt.c @@ -301,6 +301,7 @@ static struct notifier_block sc1200wdt_notifier = static struct file_operations sc1200wdt_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .write = sc1200wdt_write, .ioctl = sc1200wdt_ioctl, .open = sc1200wdt_open, diff --git a/drivers/char/watchdog/scx200_wdt.c b/drivers/char/watchdog/scx200_wdt.c index ed1800cff..983e9e980 100644 --- a/drivers/char/watchdog/scx200_wdt.c +++ b/drivers/char/watchdog/scx200_wdt.c @@ -201,6 +201,7 @@ static int scx200_wdt_ioctl(struct inode *inode, struct file *file, static struct file_operations scx200_wdt_fops = { .owner = THIS_MODULE, + .llseek = no_llseek, .write = scx200_wdt_write, .ioctl = scx200_wdt_ioctl, .open = scx200_wdt_open, diff --git a/drivers/char/watchdog/wdt_pci.c b/drivers/char/watchdog/wdt_pci.c index 9d5b5f4e5..7651deda9 100644 --- a/drivers/char/watchdog/wdt_pci.c +++ b/drivers/char/watchdog/wdt_pci.c @@ -674,8 +674,8 @@ out: out_misc: #ifdef CONFIG_WDT_501_PCI misc_deregister(&temp_miscdev); -#endif /* CONFIG_WDT_501_PCI */ out_rbt: +#endif /* CONFIG_WDT_501_PCI */ unregister_reboot_notifier(&wdtpci_notifier); out_irq: free_irq(irq, &wdtpci_miscdev); diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index a7fa79f5b..3e14a3a44 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -99,6 +99,85 @@ static void cpufreq_cpu_put(struct cpufreq_policy *data) module_put(cpufreq_driver->owner); } +/********************************************************************* + * EXTERNALLY AFFECTING FREQUENCY CHANGES * + *********************************************************************/ + +/** + * adjust_jiffies - adjust the system "loops_per_jiffy" + * + * This function alters the system "loops_per_jiffy" for the clock + * speed change. Note that loops_per_jiffy cannot be updated on SMP + * systems as each CPU might be scaled differently. So, use the arch + * per-CPU loops_per_jiffy value wherever possible. + */ +#ifndef CONFIG_SMP +static unsigned long l_p_j_ref; +static unsigned int l_p_j_ref_freq; + +static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) +{ + if (ci->flags & CPUFREQ_CONST_LOOPS) + return; + + if (!l_p_j_ref_freq) { + l_p_j_ref = loops_per_jiffy; + l_p_j_ref_freq = ci->old; + } + if ((val == CPUFREQ_PRECHANGE && ci->old < ci->new) || + (val == CPUFREQ_POSTCHANGE && ci->old > ci->new) || + (val == CPUFREQ_RESUMECHANGE)) + loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, ci->new); +} +#else +static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) { return; } +#endif + + +/** + * cpufreq_notify_transition - call notifier chain and adjust_jiffies on frequency transition + * + * This function calls the transition notifiers and the "adjust_jiffies" function. It is called + * twice on all CPU frequency changes that have external effects. + */ +void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state) +{ + BUG_ON(irqs_disabled()); + + freqs->flags = cpufreq_driver->flags; + + down_read(&cpufreq_notifier_rwsem); + switch (state) { + case CPUFREQ_PRECHANGE: + /* detect if the driver reported a value as "old frequency" which + * is not equal to what the cpufreq core thinks is "old frequency". + */ + if (!(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) { + if ((likely(cpufreq_cpu_data[freqs->cpu])) && + (likely(cpufreq_cpu_data[freqs->cpu]->cur)) && + (unlikely(freqs->old != cpufreq_cpu_data[freqs->cpu]->cur))) + { + printk(KERN_WARNING "Warning: CPU frequency is %u, " + "cpufreq assumed %u kHz.\n", freqs->old, cpufreq_cpu_data[freqs->cpu]->cur); + freqs->old = cpufreq_cpu_data[freqs->cpu]->cur; + } + } + notifier_call_chain(&cpufreq_transition_notifier_list, CPUFREQ_PRECHANGE, freqs); + adjust_jiffies(CPUFREQ_PRECHANGE, freqs); + break; + case CPUFREQ_POSTCHANGE: + adjust_jiffies(CPUFREQ_POSTCHANGE, freqs); + notifier_call_chain(&cpufreq_transition_notifier_list, CPUFREQ_POSTCHANGE, freqs); + if (likely(cpufreq_cpu_data[freqs->cpu])) + cpufreq_cpu_data[freqs->cpu]->cur = freqs->new; + break; + } + up_read(&cpufreq_notifier_rwsem); +} +EXPORT_SYMBOL_GPL(cpufreq_notify_transition); + + + /********************************************************************* * SYSFS INTERFACE * *********************************************************************/ @@ -521,9 +600,6 @@ static void cpufreq_out_of_sync(unsigned int cpu, unsigned int old_freq, unsigne { struct cpufreq_freqs freqs; - if (cpufreq_driver->flags & CPUFREQ_PANIC_OUTOFSYNC) - panic("CPU Frequency is out of sync."); - printk(KERN_WARNING "Warning: CPU frequency out of sync: cpufreq and timing " "core thinks of %u, is %u kHz.\n", old_freq, new_freq); @@ -614,11 +690,8 @@ static int cpufreq_resume(struct sys_device * sysdev) if (unlikely(cur_freq != cpu_policy->cur)) { struct cpufreq_freqs freqs; - if (cpufreq_driver->flags & CPUFREQ_PANIC_RESUME_OUTOFSYNC) - panic("CPU Frequency is out of sync."); - - printk(KERN_WARNING "Warning: CPU frequency out of sync: cpufreq and timing" - "core thinks of %u, is %u kHz.\n", cpu_policy->cur, cur_freq); + printk(KERN_WARNING "Warning: CPU frequency is %u, " + "cpufreq assumed %u kHz.\n", cur_freq, cpu_policy->cur); freqs.cpu = cpu; freqs.old = cpu_policy->cur; @@ -626,6 +699,8 @@ static int cpufreq_resume(struct sys_device * sysdev) notifier_call_chain(&cpufreq_transition_notifier_list, CPUFREQ_RESUMECHANGE, &freqs); adjust_jiffies(CPUFREQ_RESUMECHANGE, &freqs); + + cpu_policy->cur = cur_freq; } } @@ -1005,87 +1080,6 @@ int cpufreq_update_policy(unsigned int cpu) EXPORT_SYMBOL(cpufreq_update_policy); -/********************************************************************* - * EXTERNALLY AFFECTING FREQUENCY CHANGES * - *********************************************************************/ - -/** - * adjust_jiffies - adjust the system "loops_per_jiffy" - * - * This function alters the system "loops_per_jiffy" for the clock - * speed change. Note that loops_per_jiffy cannot be updated on SMP - * systems as each CPU might be scaled differently. So, use the arch - * per-CPU loops_per_jiffy value wherever possible. - */ -#ifndef CONFIG_SMP -static unsigned long l_p_j_ref; -static unsigned int l_p_j_ref_freq; - -static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) -{ - if (ci->flags & CPUFREQ_CONST_LOOPS) - return; - - if (!l_p_j_ref_freq) { - l_p_j_ref = loops_per_jiffy; - l_p_j_ref_freq = ci->old; - } - if ((val == CPUFREQ_PRECHANGE && ci->old < ci->new) || - (val == CPUFREQ_POSTCHANGE && ci->old > ci->new) || - (val == CPUFREQ_RESUMECHANGE)) - loops_per_jiffy = cpufreq_scale(l_p_j_ref, l_p_j_ref_freq, ci->new); -} -#else -static inline void adjust_jiffies(unsigned long val, struct cpufreq_freqs *ci) { return; } -#endif - - -/** - * cpufreq_notify_transition - call notifier chain and adjust_jiffies on frequency transition - * - * This function calls the transition notifiers and the "adjust_jiffies" function. It is called - * twice on all CPU frequency changes that have external effects. - */ -void cpufreq_notify_transition(struct cpufreq_freqs *freqs, unsigned int state) -{ - BUG_ON(irqs_disabled()); - - freqs->flags = cpufreq_driver->flags; - - down_read(&cpufreq_notifier_rwsem); - switch (state) { - case CPUFREQ_PRECHANGE: - /* detect if the driver reported a value as "old frequency" which - * is not equal to what the cpufreq core thinks is "old frequency". - */ - if (!(cpufreq_driver->flags & CPUFREQ_CONST_LOOPS)) { - if ((likely(cpufreq_cpu_data[freqs->cpu]->cur)) && - (unlikely(freqs->old != cpufreq_cpu_data[freqs->cpu]->cur))) - { - if (cpufreq_driver->flags & CPUFREQ_PANIC_OUTOFSYNC) - panic("CPU Frequency is out of sync."); - - printk(KERN_WARNING "Warning: CPU frequency out of sync: " - "cpufreq and timing core thinks of %u, is %u kHz.\n", - cpufreq_cpu_data[freqs->cpu]->cur, freqs->old); - freqs->old = cpufreq_cpu_data[freqs->cpu]->cur; - } - } - notifier_call_chain(&cpufreq_transition_notifier_list, CPUFREQ_PRECHANGE, freqs); - adjust_jiffies(CPUFREQ_PRECHANGE, freqs); - break; - case CPUFREQ_POSTCHANGE: - adjust_jiffies(CPUFREQ_POSTCHANGE, freqs); - notifier_call_chain(&cpufreq_transition_notifier_list, CPUFREQ_POSTCHANGE, freqs); - cpufreq_cpu_data[freqs->cpu]->cur = freqs->new; - break; - } - up_read(&cpufreq_notifier_rwsem); -} -EXPORT_SYMBOL_GPL(cpufreq_notify_transition); - - - /********************************************************************* * REGISTER / UNREGISTER CPUFREQ DRIVER * *********************************************************************/ diff --git a/drivers/cpufreq/cpufreq_userspace.c b/drivers/cpufreq/cpufreq_userspace.c index 161e8a27c..558cc9dd0 100644 --- a/drivers/cpufreq/cpufreq_userspace.c +++ b/drivers/cpufreq/cpufreq_userspace.c @@ -82,6 +82,13 @@ userspace_cpufreq_notifier(struct notifier_block *nb, unsigned long val, { struct cpufreq_freqs *freq = data; + /* Don't update cur_freq if CPU is managed and we're + * waking up: else we won't remember what frequency + * we need to set the CPU to. + */ + if (cpu_is_managed[freq->cpu] && (val == CPUFREQ_RESUMECHANGE)) + return 0; + cpu_cur_freq[freq->cpu] = freq->new; return 0; @@ -147,6 +154,9 @@ EXPORT_SYMBOL_GPL(cpufreq_setmax); #ifdef CONFIG_CPU_FREQ_24_API +#warning The /proc/sys/cpu/ and sysctl interface to cpufreq will be removed from the 2.6. kernel series soon after 2005-01-01 + +static unsigned int warning_print = 0; /*********************** cpufreq_sysctl interface ********************/ static int @@ -162,6 +172,13 @@ cpufreq_procctl(ctl_table *ctl, int write, struct file *filp, return 0; } + if (!warning_print) { + warning_print++; + printk(KERN_INFO "Access to /proc/sys/cpu/ is deprecated and " + "will be removed from (new) 2.6. kernels soon " + "after 2005-01-01\n"); + } + if (write) { unsigned int freq; @@ -197,6 +214,13 @@ cpufreq_sysctl(ctl_table *table, int __user *name, int nlen, if (!cpu_online(cpu)) return -EINVAL; + if (!warning_print) { + warning_print++; + printk(KERN_INFO "Access to /proc/sys/cpu/ is deprecated and " + "will be removed from (new) 2.6. kernels soon " + "after 2005-01-01\n"); + } + if (oldval && oldlenp) { size_t oldlen; @@ -522,6 +546,9 @@ static int cpufreq_governor_userspace(struct cpufreq_policy *policy, else if (policy->min > cpu_cur_freq[cpu]) __cpufreq_driver_target(¤t_policy[cpu], policy->min, CPUFREQ_RELATION_L); + else + __cpufreq_driver_target(¤t_policy[cpu], cpu_cur_freq[cpu], + CPUFREQ_RELATION_L); memcpy (¤t_policy[cpu], policy, sizeof(struct cpufreq_policy)); up(&userspace_sem); break; diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig index a6504dbd3..4607ddd46 100644 --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig @@ -14,8 +14,9 @@ config EDD Services real mode BIOS calls to determine which disk BIOS tries boot from. This information is then exported via sysfs. - This option is experimental, but believed to be safe, - and most disk controller BIOS vendors do not yet implement this feature. + This option is experimental and is known to fail to boot on some + obscure configurations. Most disk controller BIOS vendors do + not yet implement this feature. config EFI_VARS tristate "EFI Variable Support via sysfs" diff --git a/drivers/firmware/edd.c b/drivers/firmware/edd.c index 47d430a33..33b669e6f 100644 --- a/drivers/firmware/edd.c +++ b/drivers/firmware/edd.c @@ -70,7 +70,7 @@ struct edd_attribute { static int edd_dev_is_type(struct edd_device *edev, const char *type); static struct pci_dev *edd_get_pci_dev(struct edd_device *edev); -static struct edd_device *edd_devices[EDDMAXNR]; +static struct edd_device *edd_devices[EDD_MBR_SIG_MAX]; #define EDD_DEVICE_ATTR(_name,_mode,_show,_test) \ struct edd_attribute edd_attr_##_name = { \ @@ -728,9 +728,9 @@ edd_device_register(struct edd_device *edev, int i) static inline int edd_num_devices(void) { - return min_t(unsigned char, - max_t(unsigned char, edd.edd_info_nr, edd.mbr_signature_nr), - max_t(unsigned char, EDD_MBR_SIG_MAX, EDDMAXNR)); + return max_t(unsigned char, + min_t(unsigned char, EDD_MBR_SIG_MAX, edd.mbr_signature_nr), + min_t(unsigned char, EDDMAXNR, edd.edd_info_nr)); } /** diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c index afbd48fe8..4ea4c7928 100644 --- a/drivers/i2c/algos/i2c-algo-bit.c +++ b/drivers/i2c/algos/i2c-algo-bit.c @@ -565,8 +565,8 @@ MODULE_AUTHOR("Simon G. Vogl "); MODULE_DESCRIPTION("I2C-Bus bit-banging algorithm"); MODULE_LICENSE("GPL"); -MODULE_PARM(bit_test, "i"); -MODULE_PARM(i2c_debug,"i"); +module_param(bit_test, bool, 0); +module_param(i2c_debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(bit_test, "Test the lines of the bus to see if it is stuck"); MODULE_PARM_DESC(i2c_debug, diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index 3628b099f..166b9174a 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -164,6 +164,17 @@ config I2C_IXP4XX This support is also available as a module. If so, the module will be called i2c-ixp4xx. +config I2C_IXP2000 + tristate "IXP2000 GPIO-Based I2C Interface" + depends on I2C && ARCH_IXP2000 + select I2C_ALGOBIT + help + Say Y here if you have an Intel IXP2000(2400, 2800, 2850) based + system and are using GPIO lines for an I2C bus. + + This support is also available as a module. If so, the module + will be called i2c-ixp2000. + config I2C_KEYWEST tristate "Powermac Keywest I2C interface" depends on I2C && PPC_PMAC @@ -174,6 +185,18 @@ config I2C_KEYWEST This support is also available as a module. If so, the module will be called i2c-keywest. +config I2C_MPC + tristate "MPC107/824x/85xx/52xx" + depends on I2C && FSL_OCP + help + If you say yes to this option, support will be included for the + built-in I2C interface on the MPC107/Tsi107/MPC8240/MPC8245 and + MPC85xx family processors. The driver may also work on 52xx + family processors, though interrupts are known not to work. + + This driver can also be built as a module. If so, the module + will be called i2c-mpc. + config I2C_NFORCE2 tristate "Nvidia Nforce2" depends on I2C && PCI && EXPERIMENTAL @@ -396,4 +419,15 @@ config I2C_VOODOO3 This driver can also be built as a module. If so, the module will be called i2c-voodoo3. +config I2C_PCA_ISA + tristate "PCA9564 on an ISA bus" + depends on I2C + select I2C_ALGOPCA + help + This driver supports ISA boards using the Philips PCA 9564 + Parallel bus to I2C bus controller + + This driver can also be built as a module. If so, the module + will be called i2c-pca-isa. + endmenu diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile index 83391986c..932b00fb6 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -15,11 +15,14 @@ obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o obj-$(CONFIG_I2C_IOP3XX) += i2c-iop3xx.o obj-$(CONFIG_I2C_ISA) += i2c-isa.o obj-$(CONFIG_I2C_ITE) += i2c-ite.o +obj-$(CONFIG_I2C_IXP2000) += i2c-ixp2000.o obj-$(CONFIG_I2C_IXP4XX) += i2c-ixp4xx.o obj-$(CONFIG_I2C_KEYWEST) += i2c-keywest.o +obj-$(CONFIG_I2C_MPC) += i2c-mpc.o obj-$(CONFIG_I2C_NFORCE2) += i2c-nforce2.o obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o +obj-$(CONFIG_I2C_PCA_ISA) += i2c-pca-isa.o obj-$(CONFIG_I2C_PIIX4) += i2c-piix4.o obj-$(CONFIG_I2C_PROSAVAGE) += i2c-prosavage.o obj-$(CONFIG_I2C_RPXLITE) += i2c-rpx.o diff --git a/drivers/i2c/busses/i2c-ali1563.c b/drivers/i2c/busses/i2c-ali1563.c index f77ae846e..ef6dd420d 100644 --- a/drivers/i2c/busses/i2c-ali1563.c +++ b/drivers/i2c/busses/i2c-ali1563.c @@ -395,7 +395,7 @@ static struct pci_device_id __devinitdata ali1563_id_table[] = { }; static struct pci_driver ali1563_pci_driver = { - .name = "i2c-ali1563", + .name = "ali1563_i2c", .id_table = ali1563_id_table, .probe = ali1563_probe, .remove = ali1563_remove, diff --git a/drivers/i2c/busses/i2c-ali15x3.c b/drivers/i2c/busses/i2c-ali15x3.c index ef4a62524..4e3dfd787 100644 --- a/drivers/i2c/busses/i2c-ali15x3.c +++ b/drivers/i2c/busses/i2c-ali15x3.c @@ -126,8 +126,8 @@ /* If force_addr is set to anything different from 0, we forcibly enable the device at the given address. */ -static int force_addr = 0; -MODULE_PARM(force_addr, "i"); +static u16 force_addr = 0; +module_param(force_addr, ushort, 0); MODULE_PARM_DESC(force_addr, "Initialize the base address of the i2c controller"); @@ -509,7 +509,7 @@ static void __devexit ali15x3_remove(struct pci_dev *dev) } static struct pci_driver ali15x3_driver = { - .name = "ali15x3 smbus", + .name = "ali15x3_smbus", .id_table = ali15x3_ids, .probe = ali15x3_probe, .remove = __devexit_p(ali15x3_remove), diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c index 4b1151373..22c4a9948 100644 --- a/drivers/i2c/busses/i2c-amd756.c +++ b/drivers/i2c/busses/i2c-amd756.c @@ -394,7 +394,7 @@ static void __devexit amd756_remove(struct pci_dev *dev) } static struct pci_driver amd756_driver = { - .name = "amd756 smbus", + .name = "amd756_smbus", .id_table = amd756_ids, .probe = amd756_probe, .remove = __devexit_p(amd756_remove), diff --git a/drivers/i2c/busses/i2c-amd8111.c b/drivers/i2c/busses/i2c-amd8111.c index b0e597049..c0ea19e41 100644 --- a/drivers/i2c/busses/i2c-amd8111.c +++ b/drivers/i2c/busses/i2c-amd8111.c @@ -392,7 +392,7 @@ static void __devexit amd8111_remove(struct pci_dev *dev) } static struct pci_driver amd8111_driver = { - .name = "amd8111 smbus 2", + .name = "amd8111_smbus2", .id_table = amd8111_ids, .probe = amd8111_probe, .remove = __devexit_p(amd8111_remove), diff --git a/drivers/i2c/busses/i2c-elektor.c b/drivers/i2c/busses/i2c-elektor.c index 768c901a8..f6bd38b06 100644 --- a/drivers/i2c/busses/i2c-elektor.c +++ b/drivers/i2c/busses/i2c-elektor.c @@ -269,11 +269,11 @@ MODULE_AUTHOR("Hans Berglund "); MODULE_DESCRIPTION("I2C-Bus adapter routines for PCF8584 ISA bus adapter"); MODULE_LICENSE("GPL"); -MODULE_PARM(base, "i"); -MODULE_PARM(irq, "i"); -MODULE_PARM(clock, "i"); -MODULE_PARM(own, "i"); -MODULE_PARM(mmapped, "i"); +module_param(base, int, 0); +module_param(irq, int, 0); +module_param(clock, int, 0); +module_param(own, int, 0); +module_param(mmapped, int, 0); module_init(i2c_pcfisa_init); module_exit(i2c_pcfisa_exit); diff --git a/drivers/i2c/busses/i2c-i801.c b/drivers/i2c/busses/i2c-i801.c index 4689bd01d..e873ba001 100644 --- a/drivers/i2c/busses/i2c-i801.c +++ b/drivers/i2c/busses/i2c-i801.c @@ -98,8 +98,8 @@ /* If force_addr is set to anything different from 0, we forcibly enable the I801 at the given address. VERY DANGEROUS! */ -static int force_addr = 0; -MODULE_PARM(force_addr, "i"); +static u16 force_addr; +module_param(force_addr, ushort, 0); MODULE_PARM_DESC(force_addr, "Forcibly enable the I801 at the given address. " "EXTREMELY DANGEROUS!"); @@ -623,7 +623,7 @@ static void __devexit i801_remove(struct pci_dev *dev) } static struct pci_driver i801_driver = { - .name = "i801 smbus", + .name = "i801_smbus", .id_table = i801_ids, .probe = i801_probe, .remove = __devexit_p(i801_remove), diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c index a25218dba..fcb525296 100644 --- a/drivers/i2c/busses/i2c-ibm_iic.c +++ b/drivers/i2c/busses/i2c-ibm_iic.c @@ -50,12 +50,12 @@ MODULE_DESCRIPTION("IBM IIC driver v" DRIVER_VERSION); MODULE_LICENSE("GPL"); -static int iic_force_poll = 0; -MODULE_PARM(iic_force_poll, "i"); +static int iic_force_poll; +module_param(iic_force_poll, bool, 0); MODULE_PARM_DESC(iic_force_poll, "Force polling mode"); -static int iic_force_fast = 0; -MODULE_PARM(iic_force_fast, "i"); +static int iic_force_fast; +module_param(iic_force_fast, bool, 0); MODULE_PARM_DESC(iic_fast_poll, "Force fast mode (400 kHz)"); #define DBG_LEVEL 0 diff --git a/drivers/i2c/busses/i2c-keywest.c b/drivers/i2c/busses/i2c-keywest.c index 0b606e88d..a5a8c1e79 100644 --- a/drivers/i2c/busses/i2c-keywest.c +++ b/drivers/i2c/busses/i2c-keywest.c @@ -88,12 +88,12 @@ static const char *__kw_state_names[] = { }; #endif /* DEBUG */ +static int probe; + MODULE_AUTHOR("Benjamin Herrenschmidt "); MODULE_DESCRIPTION("I2C driver for Apple's Keywest"); MODULE_LICENSE("GPL"); -MODULE_PARM(probe, "i"); - -static int probe = 0; +module_param(probe, bool, 0); #ifdef POLLED_MODE /* Don't schedule, the g5 fan controller is too @@ -662,8 +662,7 @@ dispose_iface(struct device *dev) spin_lock_irq(&iface->lock); while (iface->state != state_idle) { spin_unlock_irq(&iface->lock); - set_task_state(current,TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); spin_lock_irq(&iface->lock); } #endif /* POLLED_MODE */ diff --git a/drivers/i2c/busses/i2c-nforce2.c b/drivers/i2c/busses/i2c-nforce2.c index 774a7ef52..0cf6a2686 100644 --- a/drivers/i2c/busses/i2c-nforce2.c +++ b/drivers/i2c/busses/i2c-nforce2.c @@ -244,8 +244,7 @@ static s32 nforce2_access(struct i2c_adapter * adap, u16 addr, temp = inb_p(NVIDIA_SMB_STS); } if (~temp & NVIDIA_SMB_STS_DONE) { - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(HZ/100); + msleep(10); temp = inb_p(NVIDIA_SMB_STS); } @@ -384,7 +383,7 @@ static void __devexit nforce2_remove(struct pci_dev *dev) } static struct pci_driver nforce2_driver = { - .name = "nForce2 SMBus", + .name = "nForce2_smbus", .id_table = nforce2_ids, .probe = nforce2_probe, .remove = __devexit_p(nforce2_remove), diff --git a/drivers/i2c/busses/i2c-parport-light.c b/drivers/i2c/busses/i2c-parport-light.c index 6798954f0..cb5e72230 100644 --- a/drivers/i2c/busses/i2c-parport-light.c +++ b/drivers/i2c/busses/i2c-parport-light.c @@ -36,8 +36,8 @@ #define DEFAULT_BASE 0x378 -static int base; -MODULE_PARM(base, "i"); +static u16 base; +module_param(base, ushort, 0); MODULE_PARM_DESC(base, "Base I/O address"); /* ----- Low-level parallel port access ----------------------------------- */ diff --git a/drivers/i2c/busses/i2c-parport.h b/drivers/i2c/busses/i2c-parport.h index 284d3f5d3..f63a53779 100644 --- a/drivers/i2c/busses/i2c-parport.h +++ b/drivers/i2c/busses/i2c-parport.h @@ -83,7 +83,7 @@ static struct adapter_parm adapter_parm[] = { }; static int type; -MODULE_PARM(type, "i"); +module_param(type, int, 0); MODULE_PARM_DESC(type, "Type of adapter:\n" " 0 = Philips adapter\n" diff --git a/drivers/i2c/busses/i2c-piix4.c b/drivers/i2c/busses/i2c-piix4.c index e7c0262b0..6dd156fce 100644 --- a/drivers/i2c/busses/i2c-piix4.c +++ b/drivers/i2c/busses/i2c-piix4.c @@ -493,7 +493,7 @@ static void __devexit piix4_remove(struct pci_dev *dev) } static struct pci_driver piix4_driver = { - .name = "piix4-smbus", + .name = "piix4_smbus", .id_table = piix4_ids, .probe = piix4_probe, .remove = __devexit_p(piix4_remove), diff --git a/drivers/i2c/busses/i2c-sis5595.c b/drivers/i2c/busses/i2c-sis5595.c index a5040cca3..9469ebf16 100644 --- a/drivers/i2c/busses/i2c-sis5595.c +++ b/drivers/i2c/busses/i2c-sis5595.c @@ -124,8 +124,8 @@ static int blacklist[] = { /* If force_addr is set to anything different from 0, we forcibly enable the device at the given address. */ -static int force_addr = 0; -MODULE_PARM(force_addr, "i"); +static u16 force_addr = 0; +module_param(force_addr, ushort, 0); MODULE_PARM_DESC(force_addr, "Initialize the base address of the i2c controller"); static unsigned short sis5595_base = 0; @@ -393,7 +393,7 @@ static void __devexit sis5595_remove(struct pci_dev *dev) } static struct pci_driver sis5595_driver = { - .name = "sis5595 smbus", + .name = "sis5595_smbus", .id_table = sis5595_ids, .probe = sis5595_probe, .remove = __devexit_p(sis5595_remove), diff --git a/drivers/i2c/busses/i2c-sis630.c b/drivers/i2c/busses/i2c-sis630.c index 437ee28d3..20e3fb42b 100644 --- a/drivers/i2c/busses/i2c-sis630.c +++ b/drivers/i2c/busses/i2c-sis630.c @@ -94,11 +94,11 @@ #define SIS630_BLOCK_DATA 0x05 /* insmod parameters */ -static int high_clock = 0; -static int force = 0; -MODULE_PARM(high_clock, "i"); +static int high_clock; +static int force; +module_param(high_clock, bool, 0); MODULE_PARM_DESC(high_clock, "Set Host Master Clock to 56KHz (default 14KHz)."); -MODULE_PARM(force, "i"); +module_param(force, bool, 0); MODULE_PARM_DESC(force, "Forcibly enable the SIS630. DANGEROUS!"); /* acpi base address */ @@ -145,7 +145,7 @@ static int sis630_transaction_start(struct i2c_adapter *adap, int size, u8 *oldc dev_dbg(&adap->dev, "saved clock 0x%02x\n", *oldclock); /* disable timeout interrupt , set Host Master Clock to 56KHz if requested */ - if (high_clock > 0) + if (high_clock) sis630_write(SMB_CNT, 0x20); else sis630_write(SMB_CNT, (*oldclock & ~0x40)); @@ -210,7 +210,7 @@ static void sis630_transaction_end(struct i2c_adapter *adap, u8 oldclock) * restore old Host Master Clock if high_clock is set * and oldclock was not 56KHz */ - if (high_clock > 0 && !(oldclock & 0x20)) + if (high_clock && !(oldclock & 0x20)) sis630_write(SMB_CNT,(sis630_read(SMB_CNT) & ~0x20)); dev_dbg(&adap->dev, "SMB_CNT after clock restore 0x%02x\n", sis630_read(SMB_CNT)); @@ -401,7 +401,7 @@ static int sis630_setup(struct pci_dev *sis630_dev) if (dummy) { pci_dev_put(dummy); } - else if (force > 0) { + else if (force) { dev_err(&sis630_dev->dev, "WARNING: Can't detect SIS630 compatible device, but " "loading because of force option enabled\n"); } @@ -464,6 +464,7 @@ static struct i2c_adapter sis630_adapter = { static struct pci_device_id sis630_ids[] __devinitdata = { { PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503) }, + { PCI_DEVICE(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC) }, { 0, } }; @@ -494,7 +495,7 @@ static void __devexit sis630_remove(struct pci_dev *dev) static struct pci_driver sis630_driver = { - .name = "sis630 smbus", + .name = "sis630_smbus", .id_table = sis630_ids, .probe = sis630_probe, .remove = __devexit_p(sis630_remove), diff --git a/drivers/i2c/busses/i2c-sis96x.c b/drivers/i2c/busses/i2c-sis96x.c index c71daa347..d605dee4d 100644 --- a/drivers/i2c/busses/i2c-sis96x.c +++ b/drivers/i2c/busses/i2c-sis96x.c @@ -339,7 +339,7 @@ static void __devexit sis96x_remove(struct pci_dev *dev) } static struct pci_driver sis96x_driver = { - .name = "sis96x smbus", + .name = "sis96x_smbus", .id_table = sis96x_ids, .probe = sis96x_probe, .remove = __devexit_p(sis96x_remove), diff --git a/drivers/i2c/busses/i2c-via.c b/drivers/i2c/busses/i2c-via.c index fba8f0eae..0497b9d0c 100644 --- a/drivers/i2c/busses/i2c-via.c +++ b/drivers/i2c/busses/i2c-via.c @@ -158,7 +158,7 @@ static void __devexit vt586b_remove(struct pci_dev *dev) static struct pci_driver vt586b_driver = { - .name = "vt586b smbus", + .name = "vt586b_smbus", .id_table = vt586b_ids, .probe = vt586b_probe, .remove = __devexit_p(vt586b_remove), diff --git a/drivers/i2c/busses/i2c-viapro.c b/drivers/i2c/busses/i2c-viapro.c index fbd4a15d8..396b5ebf1 100644 --- a/drivers/i2c/busses/i2c-viapro.c +++ b/drivers/i2c/busses/i2c-viapro.c @@ -92,13 +92,13 @@ static unsigned short smb_cf_hstcfg = 0xD2; /* If force is set to anything different from 0, we forcibly enable the VT596. DANGEROUS! */ static int force; -MODULE_PARM(force, "i"); +module_param(force, bool, 0); MODULE_PARM_DESC(force, "Forcibly enable the SMBus. DANGEROUS!"); /* If force_addr is set to anything different from 0, we forcibly enable the VT596 at the given address. VERY DANGEROUS! */ -static int force_addr; -MODULE_PARM(force_addr, "i"); +static u16 force_addr; +module_param(force_addr, ushort, 0); MODULE_PARM_DESC(force_addr, "Forcibly enable the SMBus at the given address. " "EXTREMELY DANGEROUS!"); @@ -455,7 +455,7 @@ static struct pci_device_id vt596_ids[] = { }; static struct pci_driver vt596_driver = { - .name = "vt596 smbus", + .name = "vt596_smbus", .id_table = vt596_ids, .probe = vt596_probe, .remove = __devexit_p(vt596_remove), diff --git a/drivers/i2c/busses/i2c-voodoo3.c b/drivers/i2c/busses/i2c-voodoo3.c index efb677d24..b91456108 100644 --- a/drivers/i2c/busses/i2c-voodoo3.c +++ b/drivers/i2c/busses/i2c-voodoo3.c @@ -224,7 +224,7 @@ static void __devexit voodoo3_remove(struct pci_dev *dev) } static struct pci_driver voodoo3_driver = { - .name = "voodoo3 smbus", + .name = "voodoo3_smbus", .id_table = voodoo3_ids, .probe = voodoo3_probe, .remove = __devexit_p(voodoo3_remove), diff --git a/drivers/i2c/busses/scx200_acb.c b/drivers/i2c/busses/scx200_acb.c index b3cbbb9ea..62b7614e5 100644 --- a/drivers/i2c/busses/scx200_acb.c +++ b/drivers/i2c/busses/scx200_acb.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -44,7 +45,8 @@ MODULE_LICENSE("GPL"); #define MAX_DEVICES 4 static int base[MAX_DEVICES] = { 0x820, 0x840 }; -MODULE_PARM(base, "1-4i"); +static int num_base; +module_param_array(base, int, num_base, 0); MODULE_PARM_DESC(base, "Base addresses for the ACCESS.bus controllers"); #ifdef DEBUG @@ -254,7 +256,7 @@ static void scx200_acb_poll(struct scx200_acb_iface *iface) scx200_acb_machine(iface, status); return; } - schedule_timeout(HZ/100+1); + msleep(10); } scx200_acb_timeout(iface); diff --git a/drivers/i2c/busses/scx200_i2c.c b/drivers/i2c/busses/scx200_i2c.c index b472fe81a..294ffa2f7 100644 --- a/drivers/i2c/busses/scx200_i2c.c +++ b/drivers/i2c/busses/scx200_i2c.c @@ -38,14 +38,14 @@ MODULE_AUTHOR("Christer Weinigel "); MODULE_DESCRIPTION("NatSemi SCx200 I2C Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(scl, "i"); -MODULE_PARM_DESC(scl, "GPIO line for SCL"); -MODULE_PARM(sda, "i"); -MODULE_PARM_DESC(sda, "GPIO line for SDA"); - static int scl = CONFIG_SCx200_I2C_SCL; static int sda = CONFIG_SCx200_I2C_SDA; +module_param(scl, int, 0); +MODULE_PARM_DESC(scl, "GPIO line for SCL"); +module_param(sda, int, 0); +MODULE_PARM_DESC(sda, "GPIO line for SDA"); + static void scx200_i2c_setscl(void *data, int state) { scx200_gpio_set(scl, state); diff --git a/drivers/i2c/chips/Kconfig b/drivers/i2c/chips/Kconfig index af8d273d0..d624f4a16 100644 --- a/drivers/i2c/chips/Kconfig +++ b/drivers/i2c/chips/Kconfig @@ -149,7 +149,7 @@ config SENSORS_LM80 config SENSORS_LM83 tristate "National Semiconductor LM83" - depends on I2C && EXPERIMENTAL + depends on I2C select I2C_SENSOR help If you say yes here you get support for National Semiconductor @@ -191,6 +191,19 @@ config SENSORS_MAX1619 This driver can also be built as a module. If so, the module will be called max1619. +config SENSORS_SMSC47M1 + tristate "SMSC LPC47M10x and compatibles" + depends on I2C && EXPERIMENTAL + select I2C_SENSOR + select I2C_ISA + help + If you say yes here you get support for the integrated fan + monitoring and control capabilities of the SMSC LPC47B27x, + LPC47M10x, LPC47M13x and LPC47M14x chips. + + This driver can also be built as a module. If so, the module + will be called smsc47m1. + config SENSORS_VIA686A tristate "VIA686A" depends on I2C && PCI && EXPERIMENTAL @@ -286,4 +299,16 @@ config SENSORS_RTC8564 This driver can also be built as a module. If so, the module will be called i2c-rtc8564. +config ISP1301_OMAP + tristate "Philips ISP1301 with OMAP OTG" + depends on I2C && ARCH_OMAP_OTG + help + If you say yes here you get support for the Philips ISP1301 + USB-On-The-Go transceiver working with the OMAP OTG controller. + The ISP1301 is used in products including H2 and H3 development + boards for Texas Instruments OMAP processors. + + This driver can also be built as a module. If so, the module + will be called isp1301_omap. + endmenu diff --git a/drivers/i2c/chips/Makefile b/drivers/i2c/chips/Makefile index f024e71a5..0f051183b 100644 --- a/drivers/i2c/chips/Makefile +++ b/drivers/i2c/chips/Makefile @@ -26,9 +26,12 @@ obj-$(CONFIG_SENSORS_MAX1619) += max1619.o obj-$(CONFIG_SENSORS_PCF8574) += pcf8574.o obj-$(CONFIG_SENSORS_PCF8591) += pcf8591.o obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o +obj-$(CONFIG_SENSORS_SMSC47M1) += smsc47m1.o obj-$(CONFIG_SENSORS_VIA686A) += via686a.o obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o +obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) EXTRA_CFLAGS += -DDEBUG endif + diff --git a/drivers/i2c/chips/adm1021.c b/drivers/i2c/chips/adm1021.c index 73ca01db6..49a431bc7 100644 --- a/drivers/i2c/chips/adm1021.c +++ b/drivers/i2c/chips/adm1021.c @@ -418,7 +418,7 @@ MODULE_AUTHOR ("Frodo Looijaard and " MODULE_DESCRIPTION("adm1021 driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(read_only, "i"); +module_param(read_only, bool, 0); MODULE_PARM_DESC(read_only, "Don't set any values, read only mode"); module_init(sensors_adm1021_init) diff --git a/drivers/i2c/chips/asb100.c b/drivers/i2c/chips/asb100.c index a416e4ee5..e170b2a78 100644 --- a/drivers/i2c/chips/asb100.c +++ b/drivers/i2c/chips/asb100.c @@ -63,9 +63,6 @@ static unsigned short normal_i2c_range[] = { 0x28, 0x2f, I2C_CLIENT_END }; static unsigned int normal_isa[] = { I2C_CLIENT_ISA_END }; static unsigned int normal_isa_range[] = { I2C_CLIENT_ISA_END }; -/* default VRM to 9.0 instead of 8.2 */ -#define ASB100_DEFAULT_VRM 90 - /* Insmod parameters */ SENSORS_INSMOD_1(asb100); I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: " @@ -523,9 +520,9 @@ static ssize_t show_vid(struct device *dev, char *buf) return sprintf(buf, "%d\n", vid_from_reg(data->vid, data->vrm)); } -static DEVICE_ATTR(in0_ref, S_IRUGO, show_vid, NULL); +static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid, NULL); #define device_create_file_vid(client) \ -device_create_file(&client->dev, &dev_attr_in0_ref) +device_create_file(&client->dev, &dev_attr_cpu0_vid) /* VRM */ static ssize_t show_vrm(struct device *dev, char *buf) @@ -959,7 +956,7 @@ static void asb100_init_client(struct i2c_client *client) vid = asb100_read_value(client, ASB100_REG_VID_FANDIV) & 0x0f; vid |= (asb100_read_value(client, ASB100_REG_CHIPID) & 0x01) << 4; - data->vrm = ASB100_DEFAULT_VRM; + data->vrm = i2c_which_vrm(); vid = vid_from_reg(vid, data->vrm); /* Start monitoring */ diff --git a/drivers/i2c/chips/eeprom.c b/drivers/i2c/chips/eeprom.c index 6617ff76c..44a17f61e 100644 --- a/drivers/i2c/chips/eeprom.c +++ b/drivers/i2c/chips/eeprom.c @@ -45,7 +45,7 @@ static unsigned int normal_isa_range[] = { I2C_CLIENT_ISA_END }; SENSORS_INSMOD_1(eeprom); static int checksum = 0; -MODULE_PARM(checksum, "i"); +module_param(checksum, bool, 0); MODULE_PARM_DESC(checksum, "Only accept eeproms whose checksum is correct"); diff --git a/drivers/i2c/chips/it87.c b/drivers/i2c/chips/it87.c index ef6562987..c7c068b82 100644 --- a/drivers/i2c/chips/it87.c +++ b/drivers/i2c/chips/it87.c @@ -37,6 +37,7 @@ #include #include #include +#include #include @@ -47,7 +48,7 @@ static unsigned int normal_isa[] = { 0x0290, I2C_CLIENT_ISA_END }; static unsigned int normal_isa_range[] = { I2C_CLIENT_ISA_END }; /* Insmod parameters */ -SENSORS_INSMOD_1(it87); +SENSORS_INSMOD_2(it87, it8712); #define REG 0x2e /* The register to read/write */ #define DEV 0x07 /* Register: Logical device select */ @@ -163,8 +164,6 @@ static inline u8 FAN_TO_REG(long rpm, int div) ((val)+500)/1000),-128,127)) #define TEMP_FROM_REG(val) (((val)>0x80?(val)-0x100:(val))*1000) -#define VID_FROM_REG(val) ((val)==0x1f?0:(val)>=0x10?510-(val)*10:\ - 205-(val)*5) #define ALARMS_FROM_REG(val) (val) static int DIV_TO_REG(int val) @@ -201,6 +200,7 @@ struct it87_data { u8 sensor; /* Register value */ u8 fan_div[3]; /* Register encoding, shifted right */ u8 vid; /* Register encoding, combined */ + int vrm; u32 alarms; /* Register encoding, combined */ }; @@ -543,6 +543,38 @@ static ssize_t show_alarms(struct device *dev, char *buf) } static DEVICE_ATTR(alarms, S_IRUGO | S_IWUSR, show_alarms, NULL); +static ssize_t +show_vrm_reg(struct device *dev, char *buf) +{ + struct it87_data *data = it87_update_device(dev); + return sprintf(buf, "%ld\n", (long) data->vrm); +} +static ssize_t +store_vrm_reg(struct device *dev, const char *buf, size_t count) +{ + struct i2c_client *client = to_i2c_client(dev); + struct it87_data *data = i2c_get_clientdata(client); + u32 val; + + val = simple_strtoul(buf, NULL, 10); + data->vrm = val; + + return count; +} +static DEVICE_ATTR(vrm, S_IRUGO | S_IWUSR, show_vrm_reg, store_vrm_reg); +#define device_create_file_vrm(client) \ +device_create_file(&client->dev, &dev_attr_vrm) + +static ssize_t +show_vid_reg(struct device *dev, char *buf) +{ + struct it87_data *data = it87_update_device(dev); + return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm)); +} +static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid_reg, NULL); +#define device_create_file_vid(client) \ +device_create_file(&client->dev, &dev_attr_cpu0_vid) + /* This function is called when: * it87_driver is inserted (when this module is loaded), for each available adapter @@ -659,7 +691,11 @@ int it87_detect(struct i2c_adapter *adapter, int address, int kind) if (kind <= 0) { i = it87_read_value(new_client, IT87_REG_CHIPID); if (i == 0x90) { + u16 val; kind = it87; + val = (superio_inb(DEVID) << 8) | + superio_inb(DEVID + 1); + if (val == IT8712F_DEVID) kind = it8712; } else { if (kind == 0) @@ -674,6 +710,8 @@ int it87_detect(struct i2c_adapter *adapter, int address, int kind) if (kind == it87) { name = "it87"; + } else if (kind == it8712) { + name = "it8712"; } /* Fill in the remaining client fields and put it into the global list */ @@ -741,6 +779,12 @@ int it87_detect(struct i2c_adapter *adapter, int address, int kind) device_create_file(&new_client->dev, &dev_attr_fan3_div); device_create_file(&new_client->dev, &dev_attr_alarms); + if (data->type == it8712) { + device_create_file_vrm(new_client); + device_create_file_vid(new_client); + data->vrm = i2c_which_vrm(); + } + return 0; ERROR2: @@ -910,7 +954,11 @@ static struct it87_data *it87_update_device(struct device *dev) (it87_read_value(client, IT87_REG_ALARM3) << 16); data->sensor = it87_read_value(client, IT87_REG_TEMP_ENABLE); - + /* The 8705 does not have VID capability */ + if (data->type == it8712) { + data->vid = it87_read_value(client, IT87_REG_VID); + data->vid &= 0x1f; + } data->last_updated = jiffies; data->valid = 1; } @@ -938,9 +986,9 @@ static void __exit sm_it87_exit(void) MODULE_AUTHOR("Chris Gauthron "); MODULE_DESCRIPTION("IT8705F, IT8712F, Sis950 driver"); -MODULE_PARM(update_vbat, "i"); +module_param(update_vbat, bool, 0); MODULE_PARM_DESC(update_vbat, "Update vbat if set else return powerup value"); -MODULE_PARM(reset, "i"); +module_param(reset, bool, 0); MODULE_PARM_DESC(reset, "Reset the chip's registers, default no"); MODULE_LICENSE("GPL"); diff --git a/drivers/i2c/chips/lm78.c b/drivers/i2c/chips/lm78.c index 40385ffd8..b3cab5fa9 100644 --- a/drivers/i2c/chips/lm78.c +++ b/drivers/i2c/chips/lm78.c @@ -423,7 +423,7 @@ static ssize_t show_vid(struct device *dev, char *buf) struct lm78_data *data = lm78_update_device(dev); return sprintf(buf, "%d\n", VID_FROM_REG(data->vid)); } -static DEVICE_ATTR(in0_ref, S_IRUGO, show_vid, NULL); +static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid, NULL); /* Alarms */ static ssize_t show_alarms(struct device *dev, char *buf) @@ -615,7 +615,7 @@ int lm78_detect(struct i2c_adapter *adapter, int address, int kind) device_create_file(&new_client->dev, &dev_attr_fan3_min); device_create_file(&new_client->dev, &dev_attr_fan3_div); device_create_file(&new_client->dev, &dev_attr_alarms); - device_create_file(&new_client->dev, &dev_attr_in0_ref); + device_create_file(&new_client->dev, &dev_attr_cpu0_vid); return 0; diff --git a/drivers/i2c/chips/lm83.c b/drivers/i2c/chips/lm83.c index f6023e989..7e4cb6bd7 100644 --- a/drivers/i2c/chips/lm83.c +++ b/drivers/i2c/chips/lm83.c @@ -83,8 +83,10 @@ SENSORS_INSMOD_1(lm83); * The LM83 uses signed 8-bit values. */ -#define TEMP_FROM_REG(val) ((val > 127 ? val-256 : val) * 1000) -#define TEMP_TO_REG(val) ((val < 0 ? val+256 : val) / 1000) +#define TEMP_FROM_REG(val) (((val) > 127 ? (val) - 0x100 : (val)) * 1000) +#define TEMP_TO_REG(val) ((val) <= -50000 ? -50 + 0x100 : (val) >= 127000 ? 127 : \ + (val) > -500 ? ((val)+500) / 1000 : \ + ((val)-500) / 1000 + 0x100) static const u8 LM83_REG_R_TEMP[] = { LM83_REG_R_LOCAL_TEMP, @@ -178,7 +180,7 @@ static ssize_t set_temp_##suffix(struct device *dev, const char *buf, \ { \ struct i2c_client *client = to_i2c_client(dev); \ struct lm83_data *data = i2c_get_clientdata(client); \ - data->value = TEMP_TO_REG(simple_strtoul(buf, NULL, 10)); \ + data->value = TEMP_TO_REG(simple_strtol(buf, NULL, 10)); \ i2c_smbus_write_byte_data(client, reg, data->value); \ return count; \ } @@ -206,8 +208,11 @@ static DEVICE_ATTR(temp3_max, S_IWUSR | S_IRUGO, show_temp_high3, set_temp_high3); static DEVICE_ATTR(temp4_max, S_IWUSR | S_IRUGO, show_temp_high4, set_temp_high4); -static DEVICE_ATTR(temp_crit, S_IWUSR | S_IRUGO, show_temp_crit, +static DEVICE_ATTR(temp1_crit, S_IRUGO, show_temp_crit, NULL); +static DEVICE_ATTR(temp2_crit, S_IRUGO, show_temp_crit, NULL); +static DEVICE_ATTR(temp3_crit, S_IWUSR | S_IRUGO, show_temp_crit, set_temp_crit); +static DEVICE_ATTR(temp4_crit, S_IRUGO, show_temp_crit, NULL); static DEVICE_ATTR(alarms, S_IRUGO, show_alarms, NULL); /* @@ -259,6 +264,11 @@ static int lm83_detect(struct i2c_adapter *adapter, int address, int kind) * means that the driver was loaded with the force parameter and a * given kind of chip is requested, so both the detection and the * identification steps are skipped. */ + + /* Default to an LM83 if forced */ + if (kind == 0) + kind = lm83; + if (kind < 0) { /* detection */ if (((i2c_smbus_read_byte_data(new_client, LM83_REG_R_STATUS1) & 0xA8) != 0x00) || @@ -322,7 +332,10 @@ static int lm83_detect(struct i2c_adapter *adapter, int address, int kind) device_create_file(&new_client->dev, &dev_attr_temp2_max); device_create_file(&new_client->dev, &dev_attr_temp3_max); device_create_file(&new_client->dev, &dev_attr_temp4_max); - device_create_file(&new_client->dev, &dev_attr_temp_crit); + device_create_file(&new_client->dev, &dev_attr_temp1_crit); + device_create_file(&new_client->dev, &dev_attr_temp2_crit); + device_create_file(&new_client->dev, &dev_attr_temp3_crit); + device_create_file(&new_client->dev, &dev_attr_temp4_crit); device_create_file(&new_client->dev, &dev_attr_alarms); return 0; diff --git a/drivers/i2c/chips/lm85.c b/drivers/i2c/chips/lm85.c index 11f850431..757520f75 100644 --- a/drivers/i2c/chips/lm85.c +++ b/drivers/i2c/chips/lm85.c @@ -308,9 +308,6 @@ static int ZONE_TO_REG( int zone ) * version of the driver. */ -/* Typically used with Pentium 4 systems v9.1 VRM spec */ -#define LM85_INIT_VRM 91 - /* Chip sampling rates * * Some sensors are not updated more frequently than once per second @@ -468,7 +465,7 @@ static ssize_t show_vid_reg(struct device *dev, char *buf) return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm)); } -static DEVICE_ATTR(in0_ref, S_IRUGO, show_vid_reg, NULL); +static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid_reg, NULL); static ssize_t show_vrm_reg(struct device *dev, char *buf) { @@ -832,7 +829,7 @@ int lm85_detect(struct i2c_adapter *adapter, int address, goto ERROR1; /* Set the VRM version */ - data->vrm = LM85_INIT_VRM ; + data->vrm = i2c_which_vrm(); /* Initialize the LM85 chip */ lm85_init_client(new_client); @@ -877,7 +874,7 @@ int lm85_detect(struct i2c_adapter *adapter, int address, device_create_file(&new_client->dev, &dev_attr_temp2_max); device_create_file(&new_client->dev, &dev_attr_temp3_max); device_create_file(&new_client->dev, &dev_attr_vrm); - device_create_file(&new_client->dev, &dev_attr_in0_ref); + device_create_file(&new_client->dev, &dev_attr_cpu0_vid); device_create_file(&new_client->dev, &dev_attr_alarms); return 0; diff --git a/drivers/i2c/chips/via686a.c b/drivers/i2c/chips/via686a.c index 3aa334583..851c5b260 100644 --- a/drivers/i2c/chips/via686a.c +++ b/drivers/i2c/chips/via686a.c @@ -43,8 +43,8 @@ /* If force_addr is set to anything different from 0, we forcibly enable the device at the given address. */ -static int force_addr = 0; -MODULE_PARM(force_addr, "i"); +static unsigned short force_addr = 0; +module_param(force_addr, ushort, 0); MODULE_PARM_DESC(force_addr, "Initialize the base address of the sensors"); diff --git a/drivers/i2c/chips/w83627hf.c b/drivers/i2c/chips/w83627hf.c index 5d1a31bcb..5c3ade5b6 100644 --- a/drivers/i2c/chips/w83627hf.c +++ b/drivers/i2c/chips/w83627hf.c @@ -46,12 +46,12 @@ #include #include "lm75.h" -static int force_addr; -MODULE_PARM(force_addr, "i"); +static u16 force_addr; +module_param(force_addr, ushort, 0); MODULE_PARM_DESC(force_addr, "Initialize the base address of the sensors"); -static int force_i2c = 0x1f; -MODULE_PARM(force_i2c, "i"); +static u8 force_i2c = 0x1f; +module_param(force_i2c, byte, 0); MODULE_PARM_DESC(force_i2c, "Initialize the i2c address of the sensors"); @@ -65,7 +65,7 @@ static unsigned int normal_isa_range[] = { I2C_CLIENT_ISA_END }; SENSORS_INSMOD_4(w83627hf, w83627thf, w83697hf, w83637hf); static int init = 1; -MODULE_PARM(init, "i"); +module_param(init, bool, 0); MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); /* modified from kernel/include/traps.c */ @@ -635,9 +635,9 @@ show_vid_reg(struct device *dev, char *buf) struct w83627hf_data *data = w83627hf_update_device(dev); return sprintf(buf, "%ld\n", (long) vid_from_reg(data->vid, data->vrm)); } -static DEVICE_ATTR(in0_ref, S_IRUGO, show_vid_reg, NULL); +static DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid_reg, NULL); #define device_create_file_vid(client) \ -device_create_file(&client->dev, &dev_attr_in0_ref) +device_create_file(&client->dev, &dev_attr_cpu0_vid) static ssize_t show_vrm_reg(struct device *dev, char *buf) @@ -1281,7 +1281,7 @@ static void w83627hf_init_client(struct i2c_client *client) data->vrm = (data->vrm_ovt & 0x01) ? 90 : 82; } else { /* Convert VID to voltage based on default VRM */ - data->vrm = DEFAULT_VRM; + data->vrm = i2c_which_vrm(); } tmp = w83627hf_read_value(client, W83781D_REG_SCFG1); diff --git a/drivers/i2c/chips/w83781d.c b/drivers/i2c/chips/w83781d.c index 785203d39..063d34a0d 100644 --- a/drivers/i2c/chips/w83781d.c +++ b/drivers/i2c/chips/w83781d.c @@ -60,7 +60,7 @@ I2C_CLIENT_MODULE_PARM(force_subclients, "List of subclient addresses: " "{bus, clientaddr, subclientaddr1, subclientaddr2}"); static int init = 1; -MODULE_PARM(init, "i"); +module_param(init, bool, 0); MODULE_PARM_DESC(init, "Set to zero to bypass chip initialization"); /* Constants specified below */ @@ -503,9 +503,9 @@ show_vid_reg(struct device *dev, char *buf) } static -DEVICE_ATTR(in0_ref, S_IRUGO, show_vid_reg, NULL); +DEVICE_ATTR(cpu0_vid, S_IRUGO, show_vid_reg, NULL); #define device_create_file_vid(client) \ -device_create_file(&client->dev, &dev_attr_in0_ref); +device_create_file(&client->dev, &dev_attr_cpu0_vid); static ssize_t show_vrm_reg(struct device *dev, char *buf) { @@ -815,8 +815,7 @@ store_sensor_reg(struct device *dev, const char *buf, size_t count, int nr) data->sens[nr - 1] = val; break; default: - dev_err(&client->dev, - "Invalid sensor type %ld; must be 1, 2, or %d\n", + dev_err(dev, "Invalid sensor type %ld; must be 1, 2, or %d\n", (long) val, W83781D_DEFAULT_BETA); break; } @@ -1513,7 +1512,7 @@ w83781d_init_client(struct i2c_client *client) w83781d_write_value(client, W83781D_REG_BEEP_INTS2, 0); } - data->vrm = 82; + data->vrm = i2c_which_vrm(); if ((type != w83781d) && (type != as99127f)) { tmp = w83781d_read_value(client, W83781D_REG_SCFG1); @@ -1593,7 +1592,7 @@ static struct w83781d_data *w83781d_update_device(struct device *dev) if (time_after (jiffies - data->last_updated, (unsigned long) (HZ + HZ / 2)) || time_before(jiffies, data->last_updated) || !data->valid) { - pr_debug("Starting device update\n"); + dev_dbg(dev, "Starting device update\n"); for (i = 0; i <= 8; i++) { if ((data->type == w83783s || data->type == w83697hf) diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index f28496bd2..75d802636 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig @@ -166,6 +166,13 @@ config BLK_DEV_IDECS Support for outboard IDE disks, tape drives, and CD-ROM drives connected through a PCMCIA card. +config BLK_DEV_DELKIN + tristate "Cardbus IDE support (Delkin/ASKA/Workbit)" + depends on PCMCIA && PCI + help + Support for Delkin, ASKA, and Workbit Cardbus CompactFlash + Adapters. This may also work for similar SD and XD adapters. + config BLK_DEV_IDECD tristate "Include IDE/ATAPI CDROM support" ---help--- @@ -457,11 +464,6 @@ config IDEDMA_ONLYDISK Generally say N here. -config BLK_DEV_ADMA - bool - depends on PCI && BLK_DEV_IDEPCI - default BLK_DEV_IDEDMA_PCI - config BLK_DEV_AEC62XX tristate "AEC62XX chipset support" help @@ -621,6 +623,12 @@ config BLK_DEV_IT8172 ; picture of the board at . +config BLK_DEV_IT8212 + tristate "IT8212 IDE support" + help + This driver adds support for the ITE 8212 IDE RAID controller in + both RAID and pass-through mode. + config BLK_DEV_NS87415 tristate "NS87415 chipset support" help @@ -835,6 +843,13 @@ config BLK_DEV_IDE_RAPIDE Say Y here if you want to support the Yellowstone RapIDE controller manufactured for use with Acorn computers. +config BLK_DEV_IDE_BAST + tristate "Simtec BAST / Thorcom VR1000 IDE support" + depends on ARM && (ARCH_BAST || MACH_VR100) + help + Say Y here if you want to support the onboard IDE channels on the + Simtec BAST or the Thorcom VR1000 + config BLK_DEV_GAYLE bool "Amiga Gayle IDE interface support" depends on AMIGA diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c index c3d6286eb..569c9a1de 100644 --- a/drivers/ide/ide-cd.c +++ b/drivers/ide/ide-cd.c @@ -366,7 +366,8 @@ static int cdrom_log_sense(ide_drive_t *drive, struct request *rq, * we cannot reliably check if drive can auto-close */ if (rq->cmd[0] == GPCMD_START_STOP_UNIT && sense->asc == 0x24) - log = 0; + break; + log = 1; break; case UNIT_ATTENTION: /* @@ -388,6 +389,10 @@ void cdrom_analyze_sense_data(ide_drive_t *drive, struct request *failed_command, struct request_sense *sense) { + unsigned long sector; + unsigned long bio_sectors; + unsigned long valid; + if (!cdrom_log_sense(drive, failed_command, sense)) return; @@ -400,13 +405,43 @@ void cdrom_analyze_sense_data(ide_drive_t *drive, if (sense->sense_key == 0x05 && sense->asc == 0x24) return; + if (sense->error_code == 0x70) { /* Current Error */ + switch(sense->sense_key) { + case MEDIUM_ERROR: + case VOLUME_OVERFLOW: + case ILLEGAL_REQUEST: + if(!sense->valid) + break; + if(failed_command == NULL || !blk_fs_request(failed_command)) + break; + sector = (sense->information[0] << 24) | + (sense->information[1] << 16) | + (sense->information[2] << 8) | + (sense->information[3]); + + bio_sectors = bio_sectors(failed_command->bio); + if(bio_sectors < 4) + bio_sectors = 4; + if(drive->queue->hardsect_size == 2048) + sector <<= 2; /* Device sector size is 2K */ + sector &= ~(bio_sectors -1); + valid = (sector - failed_command->sector) << 9; + + if(valid < 0) + valid = 0; + if(sector < get_capacity(drive->disk) && + drive->probed_capacity - sector < 4 * 75) { + set_capacity(drive->disk, sector); + } + } + } #if VERBOSE_IDE_CD_ERRORS { int i; const char *s; char buf[80]; - printk ("ATAPI device %s:\n", drive->name); + printk (KERN_ERR "ATAPI device %s:\n", drive->name); if (sense->error_code==0x70) printk(" Error: "); else if (sense->error_code==0x71) @@ -456,7 +491,7 @@ void cdrom_analyze_sense_data(ide_drive_t *drive, s = "(reserved error code)"; } - printk(" %s -- (asc=0x%02x, ascq=0x%02x)\n", + printk(KERN_ERR " %s -- (asc=0x%02x, ascq=0x%02x)\n", s, sense->asc, sense->ascq); if (failed_command != NULL) { @@ -478,7 +513,7 @@ void cdrom_analyze_sense_data(ide_drive_t *drive, lo = mid+1; } - printk (" The failed \"%s\" packet command was: \n \"", s); + printk (KERN_ERR " The failed \"%s\" packet command was: \n \"", s); for (i=0; icmd); i++) printk ("%02x ", failed_command->cmd[i]); printk ("\"\n"); @@ -491,13 +526,13 @@ void cdrom_analyze_sense_data(ide_drive_t *drive, */ if (sense->sense_key == NOT_READY && (sense->sks[0] & 0x80)) { int progress = (sense->sks[1] << 8 | sense->sks[2]) * 100; - printk(" Command is %02d%% complete\n", progress / 0xffff); + printk(KERN_ERR " Command is %02d%% complete\n", progress / 0xffff); } if (sense->sense_key == ILLEGAL_REQUEST && (sense->sks[0] & 0x80) != 0) { - printk(" Error in %s byte %d", + printk(KERN_ERR " Error in %s byte %d", (sense->sks[0] & 0x40) != 0 ? "command packet" : "command data", (sense->sks[1] << 8) + sense->sks[2]); @@ -518,8 +553,8 @@ void cdrom_analyze_sense_data(ide_drive_t *drive, (sense->sense_key == NOT_READY && (sense->asc == 4 || sense->asc == 0x3a))) return; - - printk("%s: error code: 0x%02x sense_key: 0x%02x asc: 0x%02x ascq: 0x%02x\n", + + printk(KERN_ERR "%s: error code: 0x%02x sense_key: 0x%02x asc: 0x%02x ascq: 0x%02x\n", drive->name, sense->error_code, sense->sense_key, sense->asc, sense->ascq); @@ -635,17 +670,22 @@ static void cdrom_end_request (ide_drive_t *drive, int uptodate) sense = failed->sense; failed->sense_len = rq->sense_len; } - + cdrom_analyze_sense_data(drive, failed, sense); /* * now end failed request */ - spin_lock_irqsave(&ide_lock, flags); - end_that_request_chunk(failed, 0, failed->data_len); - end_that_request_last(failed); - spin_unlock_irqrestore(&ide_lock, flags); + if(blk_fs_request(failed)) { + if(ide_end_dequeued_request(drive, failed, 0, failed->hard_nr_sectors)) + BUG(); + } else { + spin_lock_irqsave(&ide_lock, flags); + end_that_request_chunk(failed, 0, failed->data_len); + end_that_request_last(failed); + spin_unlock_irqrestore(&ide_lock, flags); + } } - - cdrom_analyze_sense_data(drive, failed, sense); + else + cdrom_analyze_sense_data(drive, NULL , sense); } if (!rq->current_nr_sectors && blk_fs_request(rq)) @@ -659,6 +699,13 @@ static void cdrom_end_request (ide_drive_t *drive, int uptodate) ide_end_request(drive, uptodate, nsectors); } +static void ide_dump_status_no_sense(ide_drive_t *drive, const char *msg, u8 stat) +{ + if(stat & 0x80) + return; + ide_dump_status(drive, msg, stat); +} + /* Returns 0 if the request should be continued. Returns 1 if the request was ended. */ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) @@ -787,16 +834,16 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) sense_key == DATA_PROTECT) { /* No point in retrying after an illegal request or data protect error.*/ - ide_dump_status (drive, "command error", stat); + ide_dump_status_no_sense (drive, "command error", stat); do_end_request = 1; } else if (sense_key == MEDIUM_ERROR) { /* No point in re-trying a zillion times on a bad * sector... If we got here the error is not correctable */ - ide_dump_status (drive, "media error (bad sector)", stat); + ide_dump_status_no_sense (drive, "media error (bad sector)", stat); do_end_request = 1; } else if (sense_key == BLANK_CHECK) { /* Disk appears blank ?? */ - ide_dump_status (drive, "media error (blank)", stat); + ide_dump_status_no_sense (drive, "media error (blank)", stat); do_end_request = 1; } else if ((err & ~ABRT_ERR) != 0) { /* Go to the default handler @@ -808,13 +855,27 @@ static int cdrom_decode_status(ide_drive_t *drive, int good_stat, int *stat_ret) do_end_request = 1; } - if (do_end_request) - cdrom_end_request(drive, 0); - - /* If we got a CHECK_CONDITION status, - queue a request sense command. */ - if ((stat & ERR_STAT) != 0) - cdrom_queue_request_sense(drive, NULL, NULL); + /* End a request through request sense analysis when we have + sense data. We need this in order to perform end of media + processing */ + + if (do_end_request) { + if (stat & ERR_STAT) { + unsigned long flags; + spin_lock_irqsave(&ide_lock, flags); + blkdev_dequeue_request(rq); + HWGROUP(drive)->rq = NULL; + spin_unlock_irqrestore(&ide_lock, flags); + + cdrom_queue_request_sense(drive, rq->sense, rq); + } + else cdrom_end_request(drive, 0); + } else { + /* If we got a CHECK_CONDITION status, + queue a request sense command. */ + if (stat & ERR_STAT) + cdrom_queue_request_sense(drive, NULL, NULL); + } } else { blk_dump_rq_flags(rq, "ide-cd: bad rq"); cdrom_end_request(drive, 0); @@ -876,7 +937,7 @@ static ide_startstop_t cdrom_start_packet_command(ide_drive_t *drive, } else if (info->cmd == WRITE) { info->dma = !HWIF(drive)->ide_dma_write(drive); } else { - printk("ide-cd: DMA set, but not allowed\n"); + printk(KERN_WARNING "ide-cd: DMA set, but not allowed\n"); } } @@ -897,7 +958,11 @@ static ide_startstop_t cdrom_start_packet_command(ide_drive_t *drive, return ide_started; } else { /* packet command */ - HWIF(drive)->OUTB(WIN_PACKETCMD, IDE_COMMAND_REG); + unsigned long flags; + spin_lock_irqsave(&ide_lock, flags); + HWIF(drive)->OUTBSYNC(drive, WIN_PACKETCMD, IDE_COMMAND_REG); + ndelay(400); + spin_unlock_irqrestore(&ide_lock, flags); return (*handler) (drive); } } @@ -1013,7 +1078,7 @@ int cdrom_read_check_ireason (ide_drive_t *drive, int len, int ireason) return 0; else if (ireason == 0) { /* Whoops... The drive is expecting to receive data from us! */ - printk("%s: read_intr: Drive wants to transfer data the " + printk(KERN_ERR "%s: read_intr: Drive wants to transfer data the " "wrong way!\n", drive->name); /* Throw some data at the drive so it doesn't hang @@ -1031,7 +1096,7 @@ int cdrom_read_check_ireason (ide_drive_t *drive, int len, int ireason) return 0; } else { /* Drive wants a command packet, or invalid ireason... */ - printk("%s: read_intr: bad interrupt reason %x\n", drive->name, + printk(KERN_ERR "%s: read_intr: bad interrupt reason %x\n", drive->name, ireason); } @@ -1084,7 +1149,7 @@ static ide_startstop_t cdrom_read_intr (ide_drive_t *drive) /* If we're not done filling the current buffer, complain. Otherwise, complete the command normally. */ if (rq->current_nr_sectors > 0) { - printk ("%s: cdrom_read_intr: data underrun (%d blocks)\n", + printk (KERN_ERR "%s: cdrom_read_intr: data underrun (%d blocks)\n", drive->name, rq->current_nr_sectors); rq->flags |= REQ_FAILED; cdrom_end_request(drive, 0); @@ -1101,12 +1166,12 @@ static ide_startstop_t cdrom_read_intr (ide_drive_t *drive) of at least SECTOR_SIZE, as it gets hairy to keep track of the transfers otherwise. */ if ((len % SECTOR_SIZE) != 0) { - printk ("%s: cdrom_read_intr: Bad transfer size %d\n", + printk (KERN_ERR "%s: cdrom_read_intr: Bad transfer size %d\n", drive->name, len); if (CDROM_CONFIG_FLAGS(drive)->limit_nframes) - printk (" This drive is not supported by this version of the driver\n"); + printk (KERN_ERR " This drive is not supported by this version of the driver\n"); else { - printk (" Trying to limit transfer sizes\n"); + printk (KERN_ERR " Trying to limit transfer sizes\n"); CDROM_CONFIG_FLAGS(drive)->limit_nframes = 1; } cdrom_end_request(drive, 0); @@ -1220,7 +1285,7 @@ static int cdrom_read_from_buffer (ide_drive_t *drive) paranoid and check. */ if (rq->current_nr_sectors < bio_cur_sectors(rq->bio) && (rq->sector & (sectors_per_frame - 1))) { - printk("%s: cdrom_read_from_buffer: buffer botch (%ld)\n", + printk(KERN_ERR "%s: cdrom_read_from_buffer: buffer botch (%ld)\n", drive->name, (long)rq->sector); cdrom_end_request(drive, 0); return -1; @@ -1255,7 +1320,7 @@ static ide_startstop_t cdrom_start_read_continuation (ide_drive_t *drive) /* Sanity check... */ if (rq->current_nr_sectors != bio_cur_sectors(rq->bio) && (rq->sector & (sectors_per_frame - 1))) { - printk ("%s: cdrom_start_read_continuation: buffer botch (%u)\n", + printk(KERN_ERR "%s: cdrom_start_read_continuation: buffer botch (%u)\n", drive->name, rq->current_nr_sectors); cdrom_end_request(drive, 0); return ide_stopped; @@ -1480,7 +1545,7 @@ static ide_startstop_t cdrom_pc_intr (ide_drive_t *drive) rq->sense_len += thislen; } else { confused: - printk ("%s: cdrom_pc_intr: The drive " + printk (KERN_ERR "%s: cdrom_pc_intr: The drive " "appears confused (ireason = 0x%02x)\n", drive->name, ireason); rq->flags |= REQ_FAILED; @@ -1594,7 +1659,7 @@ static inline int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ire return 0; else if (ireason == 2) { /* Whoops... The drive wants to send data. */ - printk("%s: write_intr: wrong transfer direction!\n", + printk(KERN_ERR "%s: write_intr: wrong transfer direction!\n", drive->name); while (len > 0) { @@ -1604,7 +1669,7 @@ static inline int cdrom_write_check_ireason(ide_drive_t *drive, int len, int ire } } else { /* Drive wants a command packet, or invalid ireason... */ - printk("%s: write_intr: bad interrupt reason %x\n", + printk(KERN_ERR "%s: write_intr: bad interrupt reason %x\n", drive->name, ireason); } @@ -1670,7 +1735,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive) */ if (dma) { if (dma_error) { - printk("ide-cd: dma error\n"); + printk(KERN_ERR "ide-cd: dma error\n"); __ide_dma_off(drive); return DRIVER(drive)->error(drive, "dma error", stat); } @@ -1735,7 +1800,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive) } if (!ptr) { - printk("%s: confused, missing data\n", drive->name); + printk(KERN_ERR "%s: confused, missing data\n", drive->name); break; } @@ -1797,7 +1862,7 @@ static ide_startstop_t cdrom_write_intr(ide_drive_t *drive) if (dma) { info->dma = 0; if ((dma_error = HWIF(drive)->ide_dma_end(drive))) { - printk("ide-cd: write dma error\n"); + printk(KERN_ERR "ide-cd: write dma error\n"); __ide_dma_off(drive); } } @@ -1830,7 +1895,7 @@ static ide_startstop_t cdrom_write_intr(ide_drive_t *drive) */ uptodate = 1; if (rq->current_nr_sectors > 0) { - printk("%s: write_intr: data underrun (%d blocks)\n", + printk(KERN_ERR "%s: write_intr: data underrun (%d blocks)\n", drive->name, rq->current_nr_sectors); uptodate = 0; } @@ -1851,7 +1916,7 @@ static ide_startstop_t cdrom_write_intr(ide_drive_t *drive) int this_transfer; if (!rq->current_nr_sectors) { - printk("ide-cd: write_intr: oops\n"); + printk(KERN_ERR "ide-cd: write_intr: oops\n"); break; } @@ -1995,7 +2060,7 @@ ide_do_rw_cdrom (ide_drive_t *drive, struct request *rq, sector_t block) ide_stall_queue(drive, IDECD_SEEK_TIMER); return ide_stopped; } - printk ("%s: DSC timeout\n", drive->name); + printk (KERN_ERR "%s: DSC timeout\n", drive->name); } CDROM_CONFIG_FLAGS(drive)->seeking = 0; } @@ -2131,7 +2196,7 @@ cdrom_lockdoor(ide_drive_t *drive, int lockflag, struct request_sense *sense) if (stat != 0 && sense->sense_key == ILLEGAL_REQUEST && (sense->asc == 0x24 || sense->asc == 0x20)) { - printk ("%s: door locking not supported\n", + printk (KERN_ERR "%s: door locking not supported\n", drive->name); CDROM_CONFIG_FLAGS(drive)->no_doorlock = 1; stat = 0; @@ -2249,7 +2314,7 @@ static int cdrom_read_toc(ide_drive_t *drive, struct request_sense *sense) GFP_KERNEL); info->toc = toc; if (toc == NULL) { - printk ("%s: No cdrom TOC buffer!\n", drive->name); + printk (KERN_ERR "%s: No cdrom TOC buffer!\n", drive->name); return -ENOMEM; } } @@ -2268,6 +2333,9 @@ static int cdrom_read_toc(ide_drive_t *drive, struct request_sense *sense) toc->capacity = 0x1fffff; set_capacity(drive->disk, toc->capacity * sectors_per_frame); + /* Save a private copy of te TOC capacity for error handling */ + drive->probed_capacity = toc->capacity * sectors_per_frame; + blk_queue_hardsect_size(drive->queue, sectors_per_frame << SECTOR_BITS); @@ -2382,6 +2450,7 @@ static int cdrom_read_toc(ide_drive_t *drive, struct request_sense *sense) if (!stat && (last_written > toc->capacity)) { toc->capacity = last_written; set_capacity(drive->disk, toc->capacity * sectors_per_frame); + drive->probed_capacity = toc->capacity * sectors_per_frame; } /* Remember that we've read this stuff. */ @@ -2719,8 +2788,10 @@ int ide_cdrom_drive_status (struct cdrom_device_info *cdi, int slot_nr) if (!cdrom_get_media_event(cdi, &med)) { if (med.media_present) return CDS_DISC_OK; - if (med.door_open) + else if (med.door_open) return CDS_TRAY_OPEN; + else + return CDS_NO_DISC; } if (sense.sense_key == NOT_READY && sense.asc == 0x04 && sense.ascq == 0x04) @@ -2732,10 +2803,12 @@ int ide_cdrom_drive_status (struct cdrom_device_info *cdi, int slot_nr) * any other way to detect this... */ if (sense.sense_key == NOT_READY) { - if (sense.asc == 0x3a && sense.ascq == 1) - return CDS_NO_DISC; - else - return CDS_TRAY_OPEN; + if (sense.asc == 0x3a) { + if (sense.ascq == 0 || sense.ascq == 1) + return CDS_NO_DISC; + else if (sense.ascq == 2) + return CDS_TRAY_OPEN; + } } return CDS_DRIVE_NOT_READY; @@ -2926,7 +2999,7 @@ int ide_cdrom_probe_capabilities (ide_drive_t *drive) if (drive->media == ide_optical) { CDROM_CONFIG_FLAGS(drive)->mo_drive = 1; CDROM_CONFIG_FLAGS(drive)->ram = 1; - printk("%s: ATAPI magneto-optical drive\n", drive->name); + printk(KERN_ERR "%s: ATAPI magneto-optical drive\n", drive->name); return nslots; } @@ -3014,7 +3087,7 @@ int ide_cdrom_probe_capabilities (ide_drive_t *drive) /* don't print speed if the drive reported 0. */ - printk("%s: ATAPI", drive->name); + printk(KERN_INFO "%s: ATAPI", drive->name); if (CDROM_CONFIG_FLAGS(drive)->max_speed) printk(" %dX", CDROM_CONFIG_FLAGS(drive)->max_speed); printk(" %s", CDROM_CONFIG_FLAGS(drive)->dvd ? "DVD-ROM" : "CD-ROM"); @@ -3258,7 +3331,7 @@ int ide_cdrom_setup (ide_drive_t *drive) #endif if (ide_cdrom_register(drive, nslots)) { - printk ("%s: ide_cdrom_setup failed to register device with the cdrom driver.\n", drive->name); + printk (KERN_ERR "%s: ide_cdrom_setup failed to register device with the cdrom driver.\n", drive->name); info->devinfo.handle = NULL; return 1; } @@ -3285,7 +3358,7 @@ int ide_cdrom_cleanup(ide_drive_t *drive) struct gendisk *g = drive->disk; if (ide_unregister_subdriver(drive)) { - printk("%s: %s: failed to ide_unregister_subdriver\n", + printk(KERN_ERR "%s: %s: failed to ide_unregister_subdriver\n", __FUNCTION__, drive->name); return 1; } @@ -3296,7 +3369,7 @@ int ide_cdrom_cleanup(ide_drive_t *drive) if (info->changer_info != NULL) kfree(info->changer_info); if (devinfo->handle == drive && unregister_cdrom(devinfo)) - printk("%s: ide_cdrom_cleanup failed to unregister device from the cdrom driver.\n", drive->name); + printk(KERN_ERR "%s: ide_cdrom_cleanup failed to unregister device from the cdrom driver.\n", drive->name); kfree(info); drive->driver_data = NULL; blk_queue_prep_rq(drive->queue, NULL); @@ -3448,21 +3521,21 @@ static int ide_cdrom_attach (ide_drive_t *drive) /* skip drives that we were told to ignore */ if (ignore != NULL) { if (strstr(ignore, drive->name)) { - printk("ide-cd: ignoring drive %s\n", drive->name); + printk(KERN_INFO "ide-cd: ignoring drive %s\n", drive->name); goto failed; } } if (drive->scsi) { - printk("ide-cd: passing drive %s to ide-scsi emulation.\n", drive->name); + printk(KERN_INFO "ide-cd: passing drive %s to ide-scsi emulation.\n", drive->name); goto failed; } info = (struct cdrom_info *) kmalloc (sizeof (struct cdrom_info), GFP_KERNEL); if (info == NULL) { - printk("%s: Can't allocate a cdrom structure\n", drive->name); + printk(KERN_ERR "%s: Can't allocate a cdrom structure\n", drive->name); goto failed; } if (ide_register_subdriver(drive, &ide_cdrom_driver)) { - printk("%s: Failed to register the driver with ide.c\n", + printk(KERN_ERR "%s: Failed to register the driver with ide.c\n", drive->name); kfree(info); goto failed; @@ -3486,7 +3559,7 @@ static int ide_cdrom_attach (ide_drive_t *drive) if (info->changer_info != NULL) kfree(info->changer_info); if (devinfo->handle == drive && unregister_cdrom(devinfo)) - printk ("%s: ide_cdrom_cleanup failed to unregister device from the cdrom driver.\n", drive->name); + printk (KERN_ERR "%s: ide_cdrom_cleanup failed to unregister device from the cdrom driver.\n", drive->name); kfree(info); drive->driver_data = NULL; goto failed; diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index 7b3bf05cb..2e31547f3 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c @@ -88,6 +88,10 @@ static int lba_capacity_is_ok (struct hd_driveid *id) { unsigned long lba_sects, chs_sects, head, tail; + /* No non-LBA info .. so valid! */ + if (id->cyls == 0) + return 1; + /* * The ATA spec tells large drives to return * C/H/S = 16383/16/63 independent of their size. @@ -340,12 +344,18 @@ static ide_startstop_t multwrite_intr (ide_drive_t *drive) ide_startstop_t __ide_do_rw_disk (ide_drive_t *drive, struct request *rq, sector_t block) { ide_hwif_t *hwif = HWIF(drive); + unsigned int dma = drive->using_dma; u8 lba48 = (drive->addressing == 1) ? 1 : 0; task_ioreg_t command = WIN_NOP; ata_nsector_t nsectors; nsectors.all = (u16) rq->nr_sectors; + if (hwif->no_lba48_dma && lba48 && dma) { + if (rq->sector + rq->nr_sectors > 1ULL << 28) + dma = 0; + } + if (IDE_CONTROL_REG) hwif->OUTB(drive->ctl, IDE_CONTROL_REG); @@ -414,7 +424,7 @@ ide_startstop_t __ide_do_rw_disk (ide_drive_t *drive, struct request *rq, sector } if (rq_data_dir(rq) == READ) { - if (drive->using_dma && !hwif->ide_dma_read(drive)) + if (dma && !hwif->ide_dma_read(drive)) return ide_started; command = ((drive->mult_count) ? @@ -425,7 +435,7 @@ ide_startstop_t __ide_do_rw_disk (ide_drive_t *drive, struct request *rq, sector } else { ide_startstop_t startstop; - if (drive->using_dma && !(HWIF(drive)->ide_dma_write(drive))) + if (dma && !hwif->ide_dma_write(drive)) return ide_started; command = ((drive->mult_count) ? @@ -488,31 +498,38 @@ ide_startstop_t __ide_do_rw_disk (ide_drive_t *drive, struct request *rq, sector } EXPORT_SYMBOL_GPL(__ide_do_rw_disk); -static u8 get_command(ide_drive_t *drive, int cmd, ide_task_t *task) +static u8 get_command(ide_drive_t *drive, struct request *rq, ide_task_t *task) { unsigned int lba48 = (drive->addressing == 1) ? 1 : 0; + unsigned int dma = drive->using_dma; - if (cmd == READ) { + if (drive->hwif->no_lba48_dma && lba48 && dma) { + if (rq->sector + rq->nr_sectors > 1ULL << 28) + dma = 0; + } + + if (rq_data_dir(rq) == READ) { task->command_type = IDE_DRIVE_TASK_IN; - if (drive->using_dma) + if (dma) return lba48 ? WIN_READDMA_EXT : WIN_READDMA; + task->handler = &task_in_intr; if (drive->mult_count) { - task->handler = &task_mulin_intr; + task->data_phase = TASKFILE_MULTI_IN; return lba48 ? WIN_MULTREAD_EXT : WIN_MULTREAD; } - task->handler = &task_in_intr; + task->data_phase = TASKFILE_IN; return lba48 ? WIN_READ_EXT : WIN_READ; } else { task->command_type = IDE_DRIVE_TASK_RAW_WRITE; - if (drive->using_dma) + if (dma) return lba48 ? WIN_WRITEDMA_EXT : WIN_WRITEDMA; + task->prehandler = &pre_task_out_intr; + task->handler = &task_out_intr; if (drive->mult_count) { - task->prehandler = &pre_task_mulout_intr; - task->handler = &task_mulout_intr; + task->data_phase = TASKFILE_MULTI_OUT; return lba48 ? WIN_MULTWRITE_EXT : WIN_MULTWRITE; } - task->prehandler = &pre_task_out_intr; - task->handler = &task_out_intr; + task->data_phase = TASKFILE_OUT; return lba48 ? WIN_WRITE_EXT : WIN_WRITE; } } @@ -541,9 +558,10 @@ static ide_startstop_t chs_rw_disk (ide_drive_t *drive, struct request *rq, unsi args.tfRegister[IDE_HCYL_OFFSET] = (cyl>>8); args.tfRegister[IDE_SELECT_OFFSET] = head; args.tfRegister[IDE_SELECT_OFFSET] |= drive->select.all; - args.tfRegister[IDE_COMMAND_OFFSET] = get_command(drive, rq_data_dir(rq), &args); + args.tfRegister[IDE_COMMAND_OFFSET] = get_command(drive, rq, &args); args.rq = (struct request *) rq; rq->special = (ide_task_t *)&args; + drive->hwif->data_phase = args.data_phase; return do_rw_taskfile(drive, &args); } @@ -565,9 +583,10 @@ static ide_startstop_t lba_28_rw_disk (ide_drive_t *drive, struct request *rq, u args.tfRegister[IDE_HCYL_OFFSET] = (block>>=8); args.tfRegister[IDE_SELECT_OFFSET] = ((block>>8)&0x0f); args.tfRegister[IDE_SELECT_OFFSET] |= drive->select.all; - args.tfRegister[IDE_COMMAND_OFFSET] = get_command(drive, rq_data_dir(rq), &args); + args.tfRegister[IDE_COMMAND_OFFSET] = get_command(drive, rq, &args); args.rq = (struct request *) rq; rq->special = (ide_task_t *)&args; + drive->hwif->data_phase = args.data_phase; return do_rw_taskfile(drive, &args); } @@ -595,7 +614,7 @@ static ide_startstop_t lba_48_rw_disk (ide_drive_t *drive, struct request *rq, u args.tfRegister[IDE_LCYL_OFFSET] = (block>>=8); /* mid lba */ args.tfRegister[IDE_HCYL_OFFSET] = (block>>=8); /* hi lba */ args.tfRegister[IDE_SELECT_OFFSET] = drive->select.all; - args.tfRegister[IDE_COMMAND_OFFSET] = get_command(drive, rq_data_dir(rq), &args); + args.tfRegister[IDE_COMMAND_OFFSET] = get_command(drive, rq, &args); args.hobRegister[IDE_SECTOR_OFFSET] = (block>>=8); /* low lba */ args.hobRegister[IDE_LCYL_OFFSET] = (block>>=8); /* mid lba */ args.hobRegister[IDE_HCYL_OFFSET] = (block>>=8); /* hi lba */ @@ -603,6 +622,7 @@ static ide_startstop_t lba_48_rw_disk (ide_drive_t *drive, struct request *rq, u args.hobRegister[IDE_CONTROL_OFFSET_HOB]= (drive->ctl|0x80); args.rq = (struct request *) rq; rq->special = (ide_task_t *)&args; + drive->hwif->data_phase = args.data_phase; return do_rw_taskfile(drive, &args); } @@ -638,7 +658,6 @@ static u8 idedisk_dump_status (ide_drive_t *drive, const char *msg, u8 stat) local_irq_set(flags); printk("%s: %s: status=0x%02x", drive->name, msg, stat); -#if FANCY_STATUS_DUMPS printk(" { "); if (stat & BUSY_STAT) printk("Busy "); @@ -652,12 +671,10 @@ static u8 idedisk_dump_status (ide_drive_t *drive, const char *msg, u8 stat) if (stat & ERR_STAT) printk("Error "); } printk("}"); -#endif /* FANCY_STATUS_DUMPS */ printk("\n"); if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) { err = hwif->INB(IDE_ERROR_REG); printk("%s: %s: error=0x%02x", drive->name, msg, err); -#if FANCY_STATUS_DUMPS printk(" { "); if (err & ABRT_ERR) printk("DriveStatusError "); if (err & ICRC_ERR) @@ -700,8 +717,38 @@ static u8 idedisk_dump_status (ide_drive_t *drive, const char *msg, u8 stat) (unsigned long long)HWGROUP(drive)->rq->sector); } } -#endif /* FANCY_STATUS_DUMPS */ printk("\n"); + { + struct request *rq; + unsigned char opcode = 0; + int found = 0; + + spin_lock(&ide_lock); + rq = HWGROUP(drive)->rq; + spin_unlock(&ide_lock); + if (!rq) + goto out; + if (rq->flags & (REQ_DRIVE_CMD | REQ_DRIVE_TASK)) { + char *args = rq->buffer; + if (args) { + opcode = args[0]; + found = 1; + } + } else if (rq->flags & REQ_DRIVE_TASKFILE) { + ide_task_t *args = rq->special; + if (args) { + task_struct_t *tf = (task_struct_t *) args->tfRegister; + opcode = tf->command; + found = 1; + } + } + printk("ide: failed opcode was: "); + if (!found) + printk("unknown\n"); + else + printk("0x%02x\n", opcode); + } +out: local_irq_restore(flags); return err; } @@ -1117,6 +1164,7 @@ static int get_smart_values(ide_drive_t *drive, u8 *buf) args.tfRegister[IDE_HCYL_OFFSET] = SMART_HCYL_PASS; args.tfRegister[IDE_COMMAND_OFFSET] = WIN_SMART; args.command_type = IDE_DRIVE_TASK_IN; + args.data_phase = TASKFILE_IN; args.handler = &task_in_intr; (void) smart_enable(drive); return ide_raw_taskfile(drive, &args, buf); @@ -1140,24 +1188,30 @@ static int get_smart_thresholds(ide_drive_t *drive, u8 *buf) static int proc_idedisk_read_cache (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; + ide_drive_t *drive; char *out = page; int len; - if (drive->id_read) + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + if (drive && drive->id_read) len = sprintf(out,"%i\n", drive->id->buf_size / 2); else len = sprintf(out,"(none)\n"); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_idedisk_read_smart_thresholds (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *)data; + ide_drive_t *drive; int len = 0, i = 0; - if (!get_smart_thresholds(drive, page)) { + down(&ide_cfg_sem); + + drive = ide_drive_from_key(data); + if (drive && !get_smart_thresholds(drive, page)) { unsigned short *val = (unsigned short *) page; char *out = ((char *)val) + (SECTOR_WORDS * 4); page = out; @@ -1167,16 +1221,20 @@ static int proc_idedisk_read_smart_thresholds } while (i < (SECTOR_WORDS * 2)); len = out - page; } + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_idedisk_read_smart_values (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *)data; + ide_drive_t *drive; int len = 0, i = 0; - if (!get_smart_values(drive, page)) { + down(&ide_cfg_sem); + + drive = ide_drive_from_key(data); + if (drive && !get_smart_values(drive, page)) { unsigned short *val = (unsigned short *) page; char *out = ((char *)val) + (SECTOR_WORDS * 4); page = out; @@ -1186,6 +1244,7 @@ static int proc_idedisk_read_smart_values } while (i < (SECTOR_WORDS * 2)); len = out - page; } + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } @@ -1203,6 +1262,42 @@ static ide_proc_entry_t idedisk_proc[] = { #endif /* CONFIG_PROC_FS */ +static int idedisk_issue_flush(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + ide_drive_t *drive = q->queuedata; + struct request *rq; + int ret; + + if (!drive->wcache) + return 0; + + rq = blk_get_request(q, WRITE, __GFP_WAIT); + + memset(rq->cmd, 0, sizeof(rq->cmd)); + + if (ide_id_has_flush_cache_ext(drive->id) && + (drive->capacity64 >= (1UL << 28))) + rq->cmd[0] = WIN_FLUSH_CACHE_EXT; + else + rq->cmd[0] = WIN_FLUSH_CACHE; + + + rq->flags |= REQ_DRIVE_TASK | REQ_SOFTBARRIER; + rq->buffer = rq->cmd; + + ret = blk_execute_rq(q, disk, rq); + + /* + * if we failed and caller wants error offset, get it + */ + if (ret && error_sector) + *error_sector = ide_get_error_location(drive, rq->cmd); + + blk_put_request(rq); + return ret; +} + /* * This is tightly woven into the driver->do_special can not touch. * DON'T do it again until a total personality rewrite is committed. @@ -1231,16 +1326,10 @@ static int set_nowerr(ide_drive_t *drive, int arg) return 0; } -/* check if CACHE FLUSH (EXT) command is supported (bits defined in ATA-6) */ -#define ide_id_has_flush_cache(id) ((id)->cfs_enable_2 & 0x3000) - -/* some Maxtor disks have bit 13 defined incorrectly so check bit 10 too */ -#define ide_id_has_flush_cache_ext(id) \ - (((id)->cfs_enable_2 & 0x2400) == 0x2400) - -static int write_cache (ide_drive_t *drive, int arg) +static int write_cache(ide_drive_t *drive, int arg) { ide_task_t args; + int err; if (!ide_id_has_flush_cache(drive->id)) return 1; @@ -1251,7 +1340,10 @@ static int write_cache (ide_drive_t *drive, int arg) args.tfRegister[IDE_COMMAND_OFFSET] = WIN_SETFEATURES; args.command_type = IDE_DRIVE_TASK_NO_DATA; args.handler = &task_no_data_intr; - (void) ide_raw_taskfile(drive, &args, NULL); + + err = ide_raw_taskfile(drive, &args, NULL); + if (err) + return err; drive->wcache = arg; return 0; @@ -1412,6 +1504,7 @@ static void idedisk_setup (ide_drive_t *drive) { struct hd_driveid *id = drive->id; unsigned long long capacity; + int barrier; idedisk_add_settings(drive); @@ -1443,7 +1536,7 @@ static void idedisk_setup (ide_drive_t *drive) blk_queue_max_sectors(drive->queue, max_s); } - printk("%s: max request size: %dKiB\n", drive->name, drive->queue->max_sectors / 2); + printk(KERN_INFO "%s: max request size: %dKiB\n", drive->name, drive->queue->max_sectors / 2); /* Extract geometry if we did not already have one for the drive */ if (!drive->cyl || !drive->head || !drive->sect) { @@ -1472,13 +1565,22 @@ static void idedisk_setup (ide_drive_t *drive) /* limit drive capacity to 137GB if LBA48 cannot be used */ if (drive->addressing == 0 && drive->capacity64 > 1ULL << 28) { - printk("%s: cannot use LBA48 - full capacity " + printk(KERN_WARNING "%s: cannot use LBA48 - full capacity " "%llu sectors (%llu MB)\n", drive->name, (unsigned long long)drive->capacity64, sectors_to_MB(drive->capacity64)); drive->capacity64 = 1ULL << 28; } + if (drive->hwif->no_lba48_dma && drive->addressing) { + if (drive->capacity64 > 1ULL << 28) { + printk(KERN_INFO "%s: cannot use LBA48 DMA - PIO mode will" + " be used for accessing sectors > %u\n", + drive->name, 1 << 28); + } else + drive->addressing = 0; + } + /* * if possible, give fdisk access to more of the drive, * by correcting bios_cyls: @@ -1515,8 +1617,10 @@ static void idedisk_setup (ide_drive_t *drive) if (id->buf_size) printk (" w/%dKiB Cache", id->buf_size/2); - printk(", CHS=%d/%d/%d", - drive->bios_cyl, drive->bios_head, drive->bios_sect); + if(drive->bios_cyl) + printk(", CHS=%d/%d/%d", + drive->bios_cyl, drive->bios_head, drive->bios_sect); + if (drive->using_dma) (void) HWIF(drive)->ide_dma_verbose(drive); printk("\n"); @@ -1543,6 +1647,29 @@ static void idedisk_setup (ide_drive_t *drive) drive->wcache = 1; write_cache(drive, 1); + + /* + * We must avoid issuing commands a drive does not understand + * or we may crash it. We check flush cache is supported. We also + * check we have the LBA48 flush cache if the drive capacity is + * too large. By this time we have trimmed the drive capacity if + * LBA48 is not available so we don't need to recheck that. + */ + barrier = 0; + if (ide_id_has_flush_cache(id)) + barrier = 1; + if (drive->addressing == 1) { + /* Can't issue the correct flush ? */ + if (capacity > (1ULL << 28) && !ide_id_has_flush_cache_ext(id)) + barrier = 0; + } + + printk(KERN_DEBUG "%s: cache flushes %ssupported\n", + drive->name, barrier ? "" : "not "); + if (barrier) { + blk_queue_ordered(drive->queue, 1); + blk_queue_issue_flush_fn(drive->queue, idedisk_issue_flush); + } } static void ide_cacheflush_p(ide_drive_t *drive) @@ -1723,11 +1850,9 @@ static int idedisk_attach(ide_drive_t *drive) if ((!drive->head || drive->head > 16) && !drive->select.b.lba) { printk(KERN_ERR "%s: INVALID GEOMETRY: %d PHYSICAL HEADS?\n", drive->name, drive->head); - ide_cacheflush_p(drive); - ide_unregister_subdriver(drive); - DRIVER(drive)->busy--; - goto failed; - } + drive->attach = 0; + } else + drive->attach = 1; DRIVER(drive)->busy--; g->minors = 1 << PARTN_BITS; strcpy(g->devfs_name, drive->devfs_name); @@ -1735,7 +1860,6 @@ static int idedisk_attach(ide_drive_t *drive) g->flags = drive->removable ? GENHD_FL_REMOVABLE : 0; set_capacity(g, current_capacity(drive)); g->fops = &idedisk_ops; - drive->attach = 1; add_disk(g); return 0; failed: diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index 6ed4de8a5..0fa3f0b14 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c @@ -128,7 +128,6 @@ static const struct drive_list_entry drive_blacklist [] = { { "CD-532E-A" , "ALL" }, { "E-IDE CD-ROM CR-840", "ALL" }, { "CD-ROM Drive/F5A", "ALL" }, - { "RICOH CD-R/RW MP7083A", "ALL" }, { "WPI CDD-820", "ALL" }, { "SAMSUNG CD-ROM SC-148C", "ALL" }, { "SAMSUNG CD-ROM SC-148F", "ALL" }, @@ -208,9 +207,6 @@ int ide_build_sglist(ide_drive_t *drive, struct request *rq) struct scatterlist *sg = hwif->sg_table; int nents; - if (hwif->sg_dma_active) - BUG(); - nents = blk_rq_map_sg(drive->queue, rq, hwif->sg_table); if (rq_data_dir(rq) == READ) @@ -366,7 +362,6 @@ use_pio_instead: hwif->sg_table, hwif->sg_nents, hwif->sg_dma_direction); - hwif->sg_dma_active = 0; return 0; /* revert to PIO for this request */ } @@ -390,7 +385,6 @@ void ide_destroy_dmatable (ide_drive_t *drive) int nents = HWIF(drive)->sg_nents; pci_unmap_sg(dev, sg, nents, HWIF(drive)->sg_dma_direction); - HWIF(drive)->sg_dma_active = 0; } EXPORT_SYMBOL_GPL(ide_destroy_dmatable); @@ -412,10 +406,6 @@ static int config_drive_for_dma (ide_drive_t *drive) ide_hwif_t *hwif = HWIF(drive); if ((id->capability & 1) && hwif->autodma) { - /* Consult the list of known "bad" drives */ - if (__ide_dma_bad_drive(drive)) - return __ide_dma_off(drive); - /* * Enable DMA on any drive that has * UltraDMA (mode 0/1/2/3/4/5/6) enabled @@ -569,6 +559,10 @@ EXPORT_SYMBOL(__ide_dma_host_on); int __ide_dma_on (ide_drive_t *drive) { + /* consult the list of known "bad" drives */ + if (__ide_dma_bad_drive(drive)) + return 1; + drive->using_dma = 1; ide_toggle_bounce(drive, 1); diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 7383f44a2..13f71aa88 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c @@ -989,6 +989,20 @@ static ide_startstop_t idefloppy_transfer_pc1 (ide_drive_t *drive) return ide_started; } +/** + * idefloppy_should_report_error() + * + * Supresses error messages resulting from Medium not present + */ +static inline int idefloppy_should_report_error(idefloppy_floppy_t *floppy) +{ + if (floppy->sense_key == 0x02 && + floppy->asc == 0x3a && + floppy->ascq == 0x00) + return 0; + return 1; +} + /* * Issue a packet command */ @@ -1021,12 +1035,13 @@ static ide_startstop_t idefloppy_issue_pc (ide_drive_t *drive, idefloppy_pc_t *p */ if (!test_bit(PC_ABORT, &pc->flags)) { if (!test_bit(PC_SUPPRESS_ERROR, &pc->flags)) { - printk(KERN_ERR "ide-floppy: %s: I/O error, " - "pc = %2x, key = %2x, " - "asc = %2x, ascq = %2x\n", - drive->name, pc->c[0], - floppy->sense_key, - floppy->asc, floppy->ascq); + if (idefloppy_should_report_error(floppy)) + printk(KERN_ERR "ide-floppy: %s: I/O error, " + "pc = %2x, key = %2x, " + "asc = %2x, ascq = %2x\n", + drive->name, pc->c[0], + floppy->sense_key, + floppy->asc, floppy->ascq); } /* Giving up */ pc->error = IDEFLOPPY_ERROR_GENERAL; @@ -1242,11 +1257,13 @@ static ide_startstop_t idefloppy_do_request (ide_drive_t *drive, struct request rq->nr_sectors, rq->current_nr_sectors); if (rq->errors >= ERROR_MAX) { - if (floppy->failed_pc != NULL) - printk(KERN_ERR "ide-floppy: %s: I/O error, pc = %2x," - " key = %2x, asc = %2x, ascq = %2x\n", - drive->name, floppy->failed_pc->c[0], - floppy->sense_key, floppy->asc, floppy->ascq); + if (floppy->failed_pc != NULL) { + if (idefloppy_should_report_error(floppy)) + printk(KERN_ERR "ide-floppy: %s: I/O error, pc = %2x," + " key = %2x, asc = %2x, ascq = %2x\n", + drive->name, floppy->failed_pc->c[0], + floppy->sense_key, floppy->asc, floppy->ascq); + } else printk(KERN_ERR "ide-floppy: %s: I/O error\n", drive->name); diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index ff5b16a87..9c6b7205c 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c @@ -54,17 +54,111 @@ #include #include +static void ide_fill_flush_cmd(ide_drive_t *drive, struct request *rq) +{ + char *buf = rq->cmd; + + /* + * reuse cdb space for ata command + */ + memset(buf, 0, sizeof(rq->cmd)); + + rq->flags |= REQ_DRIVE_TASK | REQ_STARTED; + rq->buffer = buf; + rq->buffer[0] = WIN_FLUSH_CACHE; + + if (ide_id_has_flush_cache_ext(drive->id) && + (drive->capacity64 >= (1UL << 28))) + rq->buffer[0] = WIN_FLUSH_CACHE_EXT; +} + +/* + * preempt pending requests, and store this cache flush for immediate + * execution + */ +static struct request *ide_queue_flush_cmd(ide_drive_t *drive, + struct request *rq, int post) +{ + struct request *flush_rq = &HWGROUP(drive)->wrq; + + /* + * write cache disabled, clear the barrier bit and treat it like + * an ordinary write + */ + if (!drive->wcache) { + rq->flags |= REQ_BAR_PREFLUSH; + return rq; + } + + ide_init_drive_cmd(flush_rq); + ide_fill_flush_cmd(drive, flush_rq); + + flush_rq->special = rq; + flush_rq->nr_sectors = rq->nr_sectors; + + if (!post) { + drive->doing_barrier = 1; + flush_rq->flags |= REQ_BAR_PREFLUSH; + blkdev_dequeue_request(rq); + } else + flush_rq->flags |= REQ_BAR_POSTFLUSH; + + __elv_add_request(drive->queue, flush_rq, ELEVATOR_INSERT_FRONT, 0); + HWGROUP(drive)->rq = NULL; + return flush_rq; +} + +static int __ide_end_request(ide_drive_t *drive, struct request *rq, + int uptodate, int nr_sectors) +{ + int ret = 1; + + BUG_ON(!(rq->flags & REQ_STARTED)); + + /* + * if failfast is set on a request, override number of sectors and + * complete the whole request right now + */ + if (blk_noretry_request(rq) && end_io_error(uptodate)) + nr_sectors = rq->hard_nr_sectors; + + if (!blk_fs_request(rq) && end_io_error(uptodate) && !rq->errors) + rq->errors = -EIO; + + /* + * decide whether to reenable DMA -- 3 is a random magic for now, + * if we DMA timeout more than 3 times, just stay in PIO + */ + if (drive->state == DMA_PIO_RETRY && drive->retry_pio <= 3) { + drive->state = 0; + HWGROUP(drive)->hwif->ide_dma_on(drive); + } + + if (!end_that_request_first(rq, uptodate, nr_sectors)) { + add_disk_randomness(rq->rq_disk); + + if (blk_rq_tagged(rq)) + blk_queue_end_tag(drive->queue, rq); + + blkdev_dequeue_request(rq); + HWGROUP(drive)->rq = NULL; + end_that_request_last(rq); + ret = 0; + } + return ret; +} + /** * ide_end_request - complete an IDE I/O * @drive: IDE device for the I/O - * @uptodate: + * @uptodate: * @nr_sectors: number of sectors completed * * This is our end_request wrapper function. We complete the I/O * update random number input and dequeue the request, which if * it was tagged may be out of order. */ - + int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) { struct request *rq; @@ -74,18 +168,61 @@ int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) spin_lock_irqsave(&ide_lock, flags); rq = HWGROUP(drive)->rq; - BUG_ON(!(rq->flags & REQ_STARTED)); - if (!nr_sectors) nr_sectors = rq->hard_cur_sectors; + if (!blk_barrier_rq(rq) || !drive->wcache) + ret = __ide_end_request(drive, rq, uptodate, nr_sectors); + else { + struct request *flush_rq = &HWGROUP(drive)->wrq; + + flush_rq->nr_sectors -= nr_sectors; + if (!flush_rq->nr_sectors) { + ide_queue_flush_cmd(drive, rq, 1); + ret = 0; + } + } + + spin_unlock_irqrestore(&ide_lock, flags); + return ret; +} +EXPORT_SYMBOL(ide_end_request); + +/** + * ide_end_dequeued_request - complete an IDE I/O + * @drive: IDE device for the I/O + * @uptodate: + * @nr_sectors: number of sectors completed + * + * Complete an I/O that is no longer on the request queue. This + * typically occurs when we pull the request and issue a REQUEST_SENSE. + * We must still finish the old request but we must not tamper with the + * queue in the meantime. + * + * NOTE: This path does not handle barrier, but barrier is not supported + * on ide-cd anyway. + */ + +int ide_end_dequeued_request(ide_drive_t *drive, struct request *rq, + int uptodate, int nr_sectors) +{ + unsigned long flags; + int ret = 1; + + spin_lock_irqsave(&ide_lock, flags); + + BUG_ON(!(rq->flags & REQ_STARTED)); + /* * if failfast is set on a request, override number of sectors and * complete the whole request right now */ - if (blk_noretry_request(rq) && !uptodate) + if (blk_noretry_request(rq) && end_io_error(uptodate)) nr_sectors = rq->hard_nr_sectors; + if (!blk_fs_request(rq) && end_io_error(uptodate) && !rq->errors) + rq->errors = -EIO; + /* * decide whether to reenable DMA -- 3 is a random magic for now, * if we DMA timeout more than 3 times, just stay in PIO @@ -97,16 +234,15 @@ int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) if (!end_that_request_first(rq, uptodate, nr_sectors)) { add_disk_randomness(rq->rq_disk); - blkdev_dequeue_request(rq); - HWGROUP(drive)->rq = NULL; + if (blk_rq_tagged(rq)) + blk_queue_end_tag(drive->queue, rq); end_that_request_last(rq); ret = 0; } spin_unlock_irqrestore(&ide_lock, flags); return ret; } - -EXPORT_SYMBOL(ide_end_request); +EXPORT_SYMBOL_GPL(ide_end_dequeued_request); /** * ide_complete_pm_request - end the current Power Management request @@ -137,6 +273,113 @@ static void ide_complete_pm_request (ide_drive_t *drive, struct request *rq) spin_unlock_irqrestore(&ide_lock, flags); } +/* + * FIXME: probably move this somewhere else, name is bad too :) + */ +u64 ide_get_error_location(ide_drive_t *drive, char *args) +{ + u32 high, low; + u8 hcyl, lcyl, sect; + u64 sector; + + high = 0; + hcyl = args[5]; + lcyl = args[4]; + sect = args[3]; + + if (ide_id_has_flush_cache_ext(drive->id)) { + low = (hcyl << 16) | (lcyl << 8) | sect; + HWIF(drive)->OUTB(drive->ctl|0x80, IDE_CONTROL_REG); + high = ide_read_24(drive); + } else { + u8 cur = HWIF(drive)->INB(IDE_SELECT_REG); + if (cur & 0x40) + low = (hcyl << 16) | (lcyl << 8) | sect; + else { + low = hcyl * drive->head * drive->sect; + low += lcyl * drive->sect; + low += sect - 1; + } + } + + sector = ((u64) high << 24) | low; + return sector; +} +EXPORT_SYMBOL(ide_get_error_location); + +static void ide_complete_barrier(ide_drive_t *drive, struct request *rq, + int error) +{ + struct request *real_rq = rq->special; + int good_sectors, bad_sectors; + sector_t sector; + + if (!error) { + if (blk_barrier_postflush(rq)) { + /* + * this completes the barrier write + */ + __ide_end_request(drive, real_rq, 1, real_rq->hard_nr_sectors); + drive->doing_barrier = 0; + } else { + /* + * just indicate that we did the pre flush + */ + real_rq->flags |= REQ_BAR_PREFLUSH; + elv_requeue_request(drive->queue, real_rq); + } + /* + * all is fine, return + */ + return; + } + + /* + * we need to end real_rq, but it's not on the queue currently. + * put it back on the queue, so we don't have to special case + * anything else for completing it + */ + if (!blk_barrier_postflush(rq)) + elv_requeue_request(drive->queue, real_rq); + + /* + * drive aborted flush command, assume FLUSH_CACHE_* doesn't + * work and disable barrier support + */ + if (error & ABRT_ERR) { + printk(KERN_ERR "%s: barrier support doesn't work\n", drive->name); + __ide_end_request(drive, real_rq, -EOPNOTSUPP, real_rq->hard_nr_sectors); + blk_queue_ordered(drive->queue, 0); + blk_queue_issue_flush_fn(drive->queue, NULL); + } else { + /* + * find out what part of the request failed + */ + good_sectors = 0; + if (blk_barrier_postflush(rq)) { + sector = ide_get_error_location(drive, rq->buffer); + + if ((sector >= real_rq->hard_sector) && + (sector < real_rq->hard_sector + real_rq->hard_nr_sectors)) + good_sectors = sector - real_rq->hard_sector; + } else + sector = real_rq->hard_sector; + + bad_sectors = real_rq->hard_nr_sectors - good_sectors; + if (good_sectors) + __ide_end_request(drive, real_rq, 1, good_sectors); + if (bad_sectors) + __ide_end_request(drive, real_rq, 0, bad_sectors); + + printk(KERN_ERR "%s: failed barrier write: " + "sector=%Lx(good=%d/bad=%d)\n", + drive->name, (unsigned long long)sector, + good_sectors, bad_sectors); + } + + drive->doing_barrier = 0; +} + /** * ide_end_drive_cmd - end an explicit drive command * @drive: command @@ -197,6 +440,8 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) args->hobRegister[IDE_DATA_OFFSET] = (data >> 8) & 0xFF; } args->tfRegister[IDE_ERROR_OFFSET] = err; + /* be sure we're looking at the low order bits */ + hwif->OUTB(drive->ctl & ~0x80, IDE_CONTROL_REG); args->tfRegister[IDE_NSECTOR_OFFSET] = hwif->INB(IDE_NSECTOR_REG); args->tfRegister[IDE_SECTOR_OFFSET] = hwif->INB(IDE_SECTOR_REG); args->tfRegister[IDE_LCYL_OFFSET] = hwif->INB(IDE_LCYL_REG); @@ -226,6 +471,10 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) spin_lock_irqsave(&ide_lock, flags); blkdev_dequeue_request(rq); + + if (blk_barrier_preflush(rq) || blk_barrier_postflush(rq)) + ide_complete_barrier(drive, rq, err); + HWGROUP(drive)->rq = NULL; end_that_request_last(rq); spin_unlock_irqrestore(&ide_lock, flags); @@ -501,7 +750,9 @@ ide_startstop_t execute_drive_cmd (ide_drive_t *drive, struct request *rq) if (!args) goto done; - + + hwif->data_phase = args->data_phase; + if (args->tf_out_flags.all != 0) return flagged_taskfile(drive, args); return do_rw_taskfile(drive, args); @@ -712,6 +963,22 @@ static inline ide_drive_t *choose_drive (ide_hwgroup_t *hwgroup) repeat: best = NULL; drive = hwgroup->drive; + + /* + * drive is doing pre-flush, ordered write, post-flush sequence. even + * though that is 3 requests, it must be seen as a single transaction. + * we must not preempt this drive until that is complete + */ + if (drive->doing_barrier) { + /* + * small race where queue could get replugged during + * the 3-request flush cycle, just yank the plug since + * we want it to finish asap + */ + blk_remove_plug(drive->queue); + return drive; + } + do { if ((!drive->sleep || time_after_eq(jiffies, drive->sleep)) && !elv_queue_empty(drive->queue)) { @@ -867,6 +1134,13 @@ void ide_do_request (ide_hwgroup_t *hwgroup, int masked_irq) break; } + /* + * if rq is a barrier write, issue pre cache flush if not + * already done + */ + if (blk_barrier_rq(rq) && !blk_barrier_preflush(rq)) + rq = ide_queue_flush_cmd(drive, rq, 0); + /* * Sanity: don't accept a request that isn't a PM request * if we are currently power managed. This is very important as @@ -917,7 +1191,9 @@ EXPORT_SYMBOL(ide_do_request); */ void do_ide_request(request_queue_t *q) { - ide_do_request(q->queuedata, IDE_NO_IRQ); + ide_drive_t *drive = q->queuedata; + + ide_do_request(HWGROUP(drive), IDE_NO_IRQ); } /* @@ -1286,6 +1562,7 @@ void ide_init_drive_cmd (struct request *rq) { memset(rq, 0, sizeof(*rq)); rq->flags = REQ_DRIVE_CMD; + rq->ref_count = 1; } EXPORT_SYMBOL(ide_init_drive_cmd); diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index b7c47d235..1ee780e1b 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c @@ -106,63 +106,131 @@ void default_hwif_iops (ide_hwif_t *hwif) EXPORT_SYMBOL(default_hwif_iops); +/* + * Interface removed + */ + +static u8 ide_no_inb(unsigned long port) +{ + return 0xFF; +} + +static u16 ide_no_inw (unsigned long port) +{ + return 0xFFFF; +} + +static void ide_no_insw (unsigned long port, void *addr, u32 count) +{ +} + +static u32 ide_no_inl (unsigned long port) +{ + return 0xFFFFFFFF; +} + +static void ide_no_insl (unsigned long port, void *addr, u32 count) +{ +} + +static void ide_no_outb (u8 val, unsigned long port) +{ +} + +static void ide_no_outbsync (ide_drive_t *drive, u8 addr, unsigned long port) +{ +} + +static void ide_no_outw (u16 val, unsigned long port) +{ +} + +static void ide_no_outsw (unsigned long port, void *addr, u32 count) +{ +} + +static void ide_no_outl (u32 val, unsigned long port) +{ +} + +static void ide_no_outsl (unsigned long port, void *addr, u32 count) +{ +} + +void removed_hwif_iops (ide_hwif_t *hwif) +{ + hwif->OUTB = ide_no_outb; + hwif->OUTBSYNC = ide_no_outbsync; + hwif->OUTW = ide_no_outw; + hwif->OUTL = ide_no_outl; + hwif->OUTSW = ide_no_outsw; + hwif->OUTSL = ide_no_outsl; + hwif->INB = ide_no_inb; + hwif->INW = ide_no_inw; + hwif->INL = ide_no_inl; + hwif->INSW = ide_no_insw; + hwif->INSL = ide_no_insl; +} + +EXPORT_SYMBOL(removed_hwif_iops); + /* * MMIO operations, typically used for SATA controllers */ static u8 ide_mm_inb (unsigned long port) { - return (u8) readb(port); + return (u8) readb((void __iomem *) port); } static u16 ide_mm_inw (unsigned long port) { - return (u16) readw(port); + return (u16) readw((void __iomem *) port); } static void ide_mm_insw (unsigned long port, void *addr, u32 count) { - __ide_mm_insw(port, addr, count); + __ide_mm_insw((void __iomem *) port, addr, count); } static u32 ide_mm_inl (unsigned long port) { - return (u32) readl(port); + return (u32) readl((void __iomem *) port); } static void ide_mm_insl (unsigned long port, void *addr, u32 count) { - __ide_mm_insl(port, addr, count); + __ide_mm_insl((void __iomem *) port, addr, count); } static void ide_mm_outb (u8 value, unsigned long port) { - writeb(value, port); + writeb(value, (void __iomem *) port); } static void ide_mm_outbsync (ide_drive_t *drive, u8 value, unsigned long port) { - writeb(value, port); + writeb(value, (void __iomem *) port); } static void ide_mm_outw (u16 value, unsigned long port) { - writew(value, port); + writew(value, (void __iomem *) port); } static void ide_mm_outsw (unsigned long port, void *addr, u32 count) { - __ide_mm_outsw(port, addr, count); + __ide_mm_outsw((void __iomem *) port, addr, count); } static void ide_mm_outl (u32 value, unsigned long port) { - writel(value, port); + writel(value, (void __iomem *) port); } static void ide_mm_outsl (unsigned long port, void *addr, u32 count) { - __ide_mm_outsl(port, addr, count); + __ide_mm_outsl((void __iomem *) port, addr, count); } void default_hwif_mmiops (ide_hwif_t *hwif) @@ -221,24 +289,18 @@ void SELECT_INTERRUPT (ide_drive_t *drive) HWIF(drive)->OUTB(drive->ctl|2, IDE_CONTROL_REG); } -EXPORT_SYMBOL(SELECT_INTERRUPT); - void SELECT_MASK (ide_drive_t *drive, int mask) { if (HWIF(drive)->maskproc) HWIF(drive)->maskproc(drive, mask); } -EXPORT_SYMBOL(SELECT_MASK); - void QUIRK_LIST (ide_drive_t *drive) { if (HWIF(drive)->quirkproc) drive->quirk_list = HWIF(drive)->quirkproc(drive); } -EXPORT_SYMBOL(QUIRK_LIST); - /* * Some localbus EIDE interfaces require a special access sequence * when using 32-bit I/O instructions to transfer data. We call this @@ -253,8 +315,6 @@ void ata_vlb_sync (ide_drive_t *drive, unsigned long port) (void) HWIF(drive)->INB(port); } -EXPORT_SYMBOL(ata_vlb_sync); - /* * This is used for most PIO data transfers *from* the IDE interface */ @@ -277,8 +337,6 @@ void ata_input_data (ide_drive_t *drive, void *buffer, u32 wcount) } } -EXPORT_SYMBOL(ata_input_data); - /* * This is used for most PIO data transfers *to* the IDE interface */ @@ -301,8 +359,6 @@ void ata_output_data (ide_drive_t *drive, void *buffer, u32 wcount) } } -EXPORT_SYMBOL(ata_output_data); - /* * The following routines are mainly used by the ATAPI drivers. * @@ -1096,7 +1152,6 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive) drive->failures = 0; } else { drive->failures++; -#if FANCY_STATUS_DUMPS printk("master: "); switch (tmp & 0x7f) { case 1: printk("passed"); @@ -1114,9 +1169,6 @@ static ide_startstop_t reset_pollfunc (ide_drive_t *drive) if (tmp & 0x80) printk("; slave: failed"); printk("\n"); -#else - printk("failed\n"); -#endif /* FANCY_STATUS_DUMPS */ } } hwgroup->poll_timeout = 0; /* done polling */ @@ -1192,7 +1244,8 @@ static ide_startstop_t do_reset1 (ide_drive_t *drive, int do_not_try_atapi) pre_reset(drive); SELECT_DRIVE(drive); udelay (20); - hwif->OUTB(WIN_SRST, IDE_COMMAND_REG); + hwif->OUTBSYNC(drive, WIN_SRST, IDE_COMMAND_REG); + ndelay(400); hwgroup->poll_timeout = jiffies + WAIT_WORSTCASE; __ide_set_handler(drive, &atapi_reset_pollfunc, HZ/20, NULL); spin_unlock_irqrestore(&ide_lock, flags); diff --git a/drivers/ide/ide-pnp.c b/drivers/ide/ide-pnp.c index 6b9bcdb6c..c3f0640d9 100644 --- a/drivers/ide/ide-pnp.c +++ b/drivers/ide/ide-pnp.c @@ -57,7 +57,7 @@ static void idepnp_remove(struct pnp_dev * dev) { ide_hwif_t *hwif = pnp_get_drvdata(dev); if (hwif) { - ide_unregister(hwif->index); + ide_unregister_hwif(hwif); } else printk(KERN_ERR "idepnp: Unable to remove device, please report.\n"); } diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 4ffaf9016..24e8b0306 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c @@ -389,15 +389,6 @@ static int try_to_identify (ide_drive_t *drive, u8 cmd) */ printk("%s: IRQ probe failed (0x%lx)\n", drive->name, cookie); -#ifdef CONFIG_BLK_DEV_CMD640 -#ifdef CMD640_DUMP_REGS - if (hwif->chipset == ide_cmd640) { - printk("%s: Hmmm.. probably a driver " - "problem.\n", drive->name); - CMD640_DUMP_REGS; - } -#endif /* CMD640_DUMP_REGS */ -#endif /* CONFIG_BLK_DEV_CMD640 */ } } } @@ -633,14 +624,14 @@ static void hwif_register (ide_hwif_t *hwif) } hwif->gendev.release = hwif_release_dev; device_register(&hwif->gendev); + hwif->configured = 1; } -#ifdef CONFIG_PPC static int wait_hwif_ready(ide_hwif_t *hwif) { int rc; - printk(KERN_INFO "Probing IDE interface %s...\n", hwif->name); + printk(KERN_DEBUG "Probing IDE interface %s...\n", hwif->name); /* Let HW settle down a bit from whatever init state we * come from */ @@ -671,7 +662,42 @@ static int wait_hwif_ready(ide_hwif_t *hwif) return rc; } -#endif + +/** + * ide_undecoded_slave - look for bad CF adapters + * @hwif: interface + * + * Analyse the drives on the interface and attempt to decide if we + * have the same drive viewed twice. This occurs with crap CF adapters + * and PCMCIA sometimes. + */ + +void ide_undecoded_slave(ide_hwif_t *hwif) +{ + ide_drive_t *drive0 = &hwif->drives[0]; + ide_drive_t *drive1 = &hwif->drives[1]; + + if (drive0->present == 0 || drive1->present == 0) + return; + + /* If the models don't match they are not the same product */ + if (strcmp(drive0->id->model, drive1->id->model)) + return; + /* Serial numbers do not match */ + if(strncmp(drive0->id->serial_no, drive1->id->serial_no, 20)) + return; + /* No serial number, thankfully very rare for CF */ + if (drive0->id->serial_no[0] == 0) + return; + /* Has a serial number but is warped */ + if (!strstr(drive0->id->model, "Integrated Technology Express")) + return; + /* Appears to be an IDE flash adapter with decode bugs */ + printk(KERN_WARNING "ide-probe: ignoring undecoded slave\n"); + drive1->present = 0; +} + +EXPORT_SYMBOL(ide_undecoded_slave); /* * This routine only knows how to look for drive units 0 and 1 @@ -717,7 +743,6 @@ static void probe_hwif(ide_hwif_t *hwif) local_irq_set(flags); -#ifdef CONFIG_PPC /* This is needed on some PPCs and a bunch of BIOS-less embedded * platforms. Typical cases are: * @@ -738,8 +763,7 @@ static void probe_hwif(ide_hwif_t *hwif) * BenH. */ if (wait_hwif_ready(hwif)) - printk(KERN_WARNING "%s: Wait for ready failed before probe !\n", hwif->name); -#endif /* CONFIG_PPC */ + printk(KERN_DEBUG "%s: Wait for ready failed before probe !\n", hwif->name); /* * Second drive should only exist if first drive was found, @@ -822,13 +846,18 @@ static void probe_hwif(ide_hwif_t *hwif) } static int hwif_init(ide_hwif_t *hwif); -int probe_hwif_init (ide_hwif_t *hwif) + +int probe_hwif_init_with_fixup(ide_hwif_t *hwif, void (*fixup)(ide_hwif_t *hwif)) { probe_hwif(hwif); + if(fixup != NULL) + fixup(hwif); hwif_init(hwif); if (hwif->present) { u16 unit = 0; + + for (unit = 0; unit < MAX_DRIVES; ++unit) { ide_drive_t *drive = &hwif->drives[unit]; /* For now don't attach absent drives, we may @@ -842,6 +871,13 @@ int probe_hwif_init (ide_hwif_t *hwif) return 0; } +EXPORT_SYMBOL(probe_hwif_init_with_fixup); + +int probe_hwif_init(ide_hwif_t *hwif) +{ + return probe_hwif_init_with_fixup(hwif, NULL); +} + EXPORT_SYMBOL(probe_hwif_init); #if MAX_HWIFS > 1 @@ -893,11 +929,15 @@ static int ide_init_queue(ide_drive_t *drive) if (!q) return 1; - q->queuedata = HWGROUP(drive); + q->queuedata = drive; blk_queue_segment_boundary(q, 0xffff); - if (!hwif->rqsize) - hwif->rqsize = hwif->no_lba48 ? 256 : 65536; + if (!hwif->rqsize) { + if (hwif->no_lba48 || hwif->no_lba48_dma) + hwif->rqsize = 256; + else + hwif->rqsize = 65536; + } if (hwif->rqsize < max_sectors) max_sectors = hwif->rqsize; blk_queue_max_sectors(q, max_sectors); @@ -906,11 +946,11 @@ static int ide_init_queue(ide_drive_t *drive) /* When we have an IOMMU, we may have a problem where pci_map_sg() * creates segments that don't completely match our boundary * requirements and thus need to be broken up again. Because it - * doesn't align properly neither, we may actually have to break up + * doesn't align properly either, we may actually have to break up * to more segments than what was we got in the first place, a max * worst case is twice as many. * This will be fixed once we teach pci_map_sg() about our boundary - * requirements, hopefully soon + * requirements, hopefully soon. *FIXME* */ if (!PCI_DMA_BUS_IS_PHYS) max_sg_entries >>= 1; diff --git a/drivers/ide/ide-proc.c b/drivers/ide/ide-proc.c index a3ebd9e12..daa8f9f98 100644 --- a/drivers/ide/ide-proc.c +++ b/drivers/ide/ide-proc.c @@ -74,10 +74,10 @@ #include -static int proc_ide_write_config(struct file *file, const char __user *buffer, +static int do_proc_ide_write_config(struct file *file, const char __user *buffer, unsigned long count, void *data) { - ide_hwif_t *hwif = (ide_hwif_t *)data; + ide_hwif_t *hwif = ide_hwif_from_key(data); ide_hwgroup_t *mygroup = (ide_hwgroup_t *)(hwif->hwgroup); ide_hwgroup_t *mategroup = NULL; unsigned long timeout; @@ -258,6 +258,16 @@ parse_error: goto out1; } +static int proc_ide_write_config(struct file *file, const char __user *buffer, + unsigned long count, void *data) +{ + int ret; + down(&ide_cfg_sem); + ret = do_proc_ide_write_config(file, buffer, count, data); + up(&ide_cfg_sem); + return ret; +} + static int proc_ide_read_config (char *page, char **start, off_t off, int count, int *eof, void *data) { @@ -265,32 +275,44 @@ static int proc_ide_read_config int len; #ifdef CONFIG_BLK_DEV_IDEPCI - ide_hwif_t *hwif = (ide_hwif_t *)data; - struct pci_dev *dev = hwif->pci_dev; - if ((hwif->pci_dev && hwif->pci_dev->vendor) && dev && dev->bus) { - int reg = 0; - - out += sprintf(out, "pci bus %02x device %02x vendor %04x " - "device %04x channel %d\n", - dev->bus->number, dev->devfn, - hwif->pci_dev->vendor, hwif->pci_dev->device, - hwif->channel); - do { - u8 val; - int rc = pci_read_config_byte(dev, reg, &val); - if (rc) { - printk("proc_ide_read_config: error %d reading" - " bus %02x dev %02x reg 0x%02x\n", - rc, dev->bus->number, dev->devfn, reg); - out += sprintf(out, "??%c", - (++reg & 0xf) ? ' ' : '\n'); - } else - out += sprintf(out, "%02x%c", - val, (++reg & 0xf) ? ' ' : '\n'); - } while (reg < 0x100); - } else -#endif /* CONFIG_BLK_DEV_IDEPCI */ - out += sprintf(out, "(none)\n"); + ide_hwif_t *hwif = ide_hwif_from_key(data); + + down(&ide_cfg_sem); + hwif = ide_hwif_from_key(data); + + if(hwif) + { + struct pci_dev *dev = hwif->pci_dev; + if ((hwif->pci_dev && hwif->pci_dev->vendor) && dev && dev->bus) + { + int reg = 0; + + out += sprintf(out, "pci bus %02x device %02x vendor %04x " + "device %04x channel %d\n", + dev->bus->number, dev->devfn, + hwif->pci_dev->vendor, hwif->pci_dev->device, + hwif->channel); + do { + u8 val; + int rc = pci_read_config_byte(dev, reg, &val); + if (rc) { + printk("proc_ide_read_config: error %d reading" + " bus %02x dev %02x reg 0x%02x\n", + rc, dev->bus->number, dev->devfn, reg); + out += sprintf(out, "??%c", + (++reg & 0xf) ? ' ' : '\n'); + } else + out += sprintf(out, "%02x%c", + val, (++reg & 0xf) ? ' ' : '\n'); + } while (reg < 0x100); + } + else + out += sprintf(out, "(none)\n"); + } +#else /* CONFIG_BLK_DEV_IDEPCI */ + out += sprintf(out, "(none)\n"); +#endif + up(&ide_cfg_sem); len = out - page; PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } @@ -298,89 +320,95 @@ static int proc_ide_read_config static int proc_ide_read_imodel (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_hwif_t *hwif = (ide_hwif_t *) data; + ide_hwif_t *hwif; int len; - const char *name; + const char *name = ""; - /* - * Neither ide_unknown nor ide_forced should be set at this point. - */ - switch (hwif->chipset) { - case ide_generic: name = "generic"; break; - case ide_pci: name = "pci"; break; - case ide_cmd640: name = "cmd640"; break; - case ide_dtc2278: name = "dtc2278"; break; - case ide_ali14xx: name = "ali14xx"; break; - case ide_qd65xx: name = "qd65xx"; break; - case ide_umc8672: name = "umc8672"; break; - case ide_ht6560b: name = "ht6560b"; break; - case ide_pdc4030: name = "pdc4030"; break; - case ide_rz1000: name = "rz1000"; break; - case ide_trm290: name = "trm290"; break; - case ide_cmd646: name = "cmd646"; break; - case ide_cy82c693: name = "cy82c693"; break; - case ide_4drives: name = "4drives"; break; - case ide_pmac: name = "mac-io"; break; - default: name = "(unknown)"; break; + down(&ide_cfg_sem); + hwif = ide_hwif_from_key(data); + if(hwif) + { + /* + * Neither ide_unknown nor ide_forced should be set at this point. + */ + switch (hwif->chipset) { + case ide_generic: name = "generic"; break; + case ide_pci: name = "pci"; break; + case ide_cmd640: name = "cmd640"; break; + case ide_dtc2278: name = "dtc2278"; break; + case ide_ali14xx: name = "ali14xx"; break; + case ide_qd65xx: name = "qd65xx"; break; + case ide_umc8672: name = "umc8672"; break; + case ide_ht6560b: name = "ht6560b"; break; + case ide_pdc4030: name = "pdc4030"; break; + case ide_rz1000: name = "rz1000"; break; + case ide_trm290: name = "trm290"; break; + case ide_cmd646: name = "cmd646"; break; + case ide_cy82c693: name = "cy82c693"; break; + case ide_4drives: name = "4drives"; break; + case ide_pmac: name = "mac-io"; break; + default: name = "(unknown)"; break; + } } len = sprintf(page, "%s\n", name); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_ide_read_mate (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_hwif_t *hwif = (ide_hwif_t *) data; + ide_hwif_t *hwif; int len; + down(&ide_cfg_sem); + hwif = ide_hwif_from_key(data); if (hwif && hwif->mate && hwif->mate->present) len = sprintf(page, "%s\n", hwif->mate->name); else len = sprintf(page, "(none)\n"); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_ide_read_channel (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_hwif_t *hwif = (ide_hwif_t *) data; - int len; - - page[0] = hwif->channel ? '1' : '0'; - page[1] = '\n'; - len = 2; + ide_hwif_t *hwif; + int len = 0; + + down(&ide_cfg_sem); + hwif = ide_hwif_from_key(data); + if(hwif) { + page[0] = hwif->channel ? '1' : '0'; + page[1] = '\n'; + len = 2; + } + else + page[0] = '\n'; + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_ide_read_identify (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *)data; + ide_drive_t *drive; int len = 0, i = 0; int err = 0; len = sprintf(page, "\n"); + + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); - if (drive) - { + if (drive) { unsigned short *val = (unsigned short *) page; - - /* - * The current code can't handle a driverless - * identify query taskfile. Now the right fix is - * to add a 'default' driver but that is a bit - * more work. - * - * FIXME: this has to be fixed for hotswap devices - */ - - if(DRIVER(drive)) - err = taskfile_lib_get_identify(drive, page); - else /* This relies on the ID changes */ - val = (unsigned short *)drive->id; - - if(!err) - { + + BUG_ON(!drive->driver); + + err = taskfile_lib_get_identify(drive, page); + if (!err) { char *out = ((char *)page) + (SECTOR_WORDS * 4); page = out; do { @@ -391,17 +419,28 @@ static int proc_ide_read_identify len = out - page; } } + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_ide_read_settings (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; - ide_settings_t *setting = (ide_settings_t *) drive->settings; + ide_drive_t *drive; + ide_settings_t *setting; char *out = page; int len, rc, mul_factor, div_factor; + + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + + if(drive == NULL) + { + up(&ide_cfg_sem); + return -EIO; + } + setting = (ide_settings_t *) drive->settings; down(&ide_setting_sem); out += sprintf(out, "name\t\t\tvalue\t\tmin\t\tmax\t\tmode\n"); out += sprintf(out, "----\t\t\t-----\t\t---\t\t---\t\t----\n"); @@ -423,15 +462,16 @@ static int proc_ide_read_settings } len = out - page; up(&ide_setting_sem); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } #define MAX_LEN 30 -static int proc_ide_write_settings(struct file *file, const char __user *buffer, +static int do_proc_ide_write_settings(struct file *file, const char __user *buffer, unsigned long count, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; + ide_drive_t *drive = ide_drive_from_key(data); char name[MAX_LEN + 1]; int for_real = 0; unsigned long n; @@ -440,6 +480,9 @@ static int proc_ide_write_settings(struct file *file, const char __user *buffer, if (!capable(CAP_SYS_ADMIN)) return -EACCES; + + if (drive == NULL) + return -EIO; if (count >= PAGE_SIZE) return -EINVAL; @@ -520,23 +563,51 @@ parse_error: return -EINVAL; } +static int proc_ide_write_settings(struct file *file, const char __user *buffer, + unsigned long count, void *data) +{ + int ret; + + down(&ide_cfg_sem); + ret = do_proc_ide_write_settings(file, buffer, count, data); + up(&ide_cfg_sem); + return ret; +} + int proc_ide_read_capacity (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; + ide_drive_t *drive; int len; + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + if(drive == NULL) + { + up(&ide_cfg_sem); + return -EIO; + } + len = sprintf(page,"%llu\n", (long long) (DRIVER(drive)->capacity(drive))); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } int proc_ide_read_geometry (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; + ide_drive_t *drive; char *out = page; int len; + + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + if(drive == NULL) + { + up(&ide_cfg_sem); + return -EIO; + } out += sprintf(out,"physical %d/%d/%d\n", drive->cyl, drive->head, drive->sect); @@ -544,6 +615,7 @@ int proc_ide_read_geometry drive->bios_cyl, drive->bios_head, drive->bios_sect); len = out - page; + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } @@ -552,52 +624,63 @@ EXPORT_SYMBOL(proc_ide_read_geometry); static int proc_ide_read_dmodel (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; - struct hd_driveid *id = drive->id; + ide_drive_t *drive; + struct hd_driveid *id; int len; + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + if(drive == NULL) + { + up(&ide_cfg_sem); + return -EIO; + } + + id = drive->id; len = sprintf(page, "%.40s\n", (id && id->model[0]) ? (char *)id->model : "(none)"); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static int proc_ide_read_driver (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; - ide_driver_t *driver = drive->driver; + ide_drive_t *drive; + ide_driver_t *driver; int len; + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + if(drive == NULL) + { + up(&ide_cfg_sem); + return -EIO; + } + + driver = drive->driver; + len = sprintf(page, "%s version %s\n", driver->name, driver->version); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } -static int proc_ide_write_driver - (struct file *file, const char __user *buffer, unsigned long count, void *data) -{ - ide_drive_t *drive = (ide_drive_t *) data; - char name[32]; - - if (!capable(CAP_SYS_ADMIN)) - return -EACCES; - if (count > 31) - count = 31; - if (copy_from_user(name, buffer, count)) - return -EFAULT; - name[count] = '\0'; - if (ide_replace_subdriver(drive, name)) - return -EINVAL; - return count; -} - static int proc_ide_read_media (char *page, char **start, off_t off, int count, int *eof, void *data) { - ide_drive_t *drive = (ide_drive_t *) data; + ide_drive_t *drive; const char *media; int len; + down(&ide_cfg_sem); + drive = ide_drive_from_key(data); + if(drive == NULL) + { + up(&ide_cfg_sem); + return -EIO; + } + switch (drive->media) { case ide_disk: media = "disk\n"; break; @@ -612,11 +695,12 @@ static int proc_ide_read_media } strcpy(page,media); len = strlen(media); + up(&ide_cfg_sem); PROC_IDE_READ_RETURN(page,start,off,count,eof,len); } static ide_proc_entry_t generic_drive_entries[] = { - { "driver", S_IFREG|S_IRUGO, proc_ide_read_driver, proc_ide_write_driver }, + { "driver", S_IFREG|S_IRUGO, proc_ide_read_driver, NULL }, { "identify", S_IFREG|S_IRUSR, proc_ide_read_identify, NULL }, { "media", S_IFREG|S_IRUGO, proc_ide_read_media, NULL }, { "model", S_IFREG|S_IRUGO, proc_ide_read_dmodel, NULL }, @@ -668,7 +752,7 @@ static void create_proc_ide_drives(ide_hwif_t *hwif) drive->proc = proc_mkdir(drive->name, parent); if (drive->proc) - ide_add_proc_entries(drive->proc, generic_drive_entries, drive); + ide_add_proc_entries(drive->proc, generic_drive_entries, ide_drive_to_key(drive)); sprintf(name,"ide%d/%s", (drive->name[2]-'a')/2, drive->name); ent = proc_symlink(drive->name, proc_ide_root, name); if (!ent) return; @@ -720,7 +804,7 @@ void create_proc_ide_interfaces(void) hwif->proc = proc_mkdir(hwif->name, proc_ide_root); if (!hwif->proc) return; - ide_add_proc_entries(hwif->proc, hwif_entries, hwif); + ide_add_proc_entries(hwif->proc, hwif_entries, ide_hwif_to_key(hwif)); } create_proc_ide_drives(hwif); } @@ -737,29 +821,33 @@ void ide_pci_create_host_proc(const char *name, get_info_t *get_info) EXPORT_SYMBOL_GPL(ide_pci_create_host_proc); #endif -void destroy_proc_ide_interfaces(void) +void destroy_proc_ide_interface(ide_hwif_t *hwif) +{ + int exist = (hwif->proc != NULL); +#if 0 + if (!hwif->present) + continue; +#endif + if (exist) { + destroy_proc_ide_drives(hwif); + ide_remove_proc_entries(hwif->proc, hwif_entries); + remove_proc_entry(hwif->name, proc_ide_root); + hwif->proc = NULL; + } +} + +EXPORT_SYMBOL(destroy_proc_ide_interface); + +static void destroy_proc_ide_interfaces(void) { int h; for (h = 0; h < MAX_HWIFS; h++) { ide_hwif_t *hwif = &ide_hwifs[h]; - int exist = (hwif->proc != NULL); -#if 0 - if (!hwif->present) - continue; -#endif - if (exist) { - destroy_proc_ide_drives(hwif); - ide_remove_proc_entries(hwif->proc, hwif_entries); - remove_proc_entry(hwif->name, proc_ide_root); - hwif->proc = NULL; - } else - continue; + destroy_proc_ide_interface(hwif); } } -EXPORT_SYMBOL(destroy_proc_ide_interfaces); - extern struct seq_operations ide_drivers_op; static int ide_drivers_open(struct inode *inode, struct file *file) { diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index d19ee543e..9d19fab9c 100644 --- a/drivers/ide/ide-tape.c +++ b/drivers/ide/ide-tape.c @@ -530,7 +530,6 @@ typedef struct os_dat_s { */ #define IDETAPE_DEBUG_INFO 0 #define IDETAPE_DEBUG_LOG 0 -#define IDETAPE_DEBUG_LOG_VERBOSE 0 #define IDETAPE_DEBUG_BUGS 1 /* @@ -1260,70 +1259,6 @@ typedef struct { */ static idetape_chrdev_t idetape_chrdevs[MAX_HWIFS * MAX_DRIVES]; -#if IDETAPE_DEBUG_LOG_VERBOSE - -/* - * DO NOT REMOVE, BUILDING A VERBOSE DEBUG SCHEME FOR ATAPI - */ - -char *idetape_sense_key_verbose(u8 idetape_sense_key) -{ - switch (idetape_sense_key) { - default: { - char buf[22]; - sprintf(buf, "IDETAPE_SENSE (0x%02x)", idetape_sense_key); - return(buf); - } - - } -} - -char *idetape_command_key_verbose(u8 idetape_command_key) -{ - switch (idetape_command_key) { - case IDETAPE_TEST_UNIT_READY_CMD: - return("TEST_UNIT_READY_CMD"); - case IDETAPE_REWIND_CMD: - return("REWIND_CMD"); - case IDETAPE_REQUEST_SENSE_CMD: - return("REQUEST_SENSE_CMD"); - case IDETAPE_READ_CMD: - return("READ_CMD"); - case IDETAPE_WRITE_CMD: - return("WRITE_CMD"); - case IDETAPE_WRITE_FILEMARK_CMD: - return("WRITE_FILEMARK_CMD"); - case IDETAPE_SPACE_CMD: - return("SPACE_CMD"); - case IDETAPE_INQUIRY_CMD: - return("INQUIRY_CMD"); - case IDETAPE_ERASE_CMD: - return("ERASE_CMD"); - case IDETAPE_MODE_SENSE_CMD: - return("MODE_SENSE_CMD"); - case IDETAPE_MODE_SELECT_CMD: - return("MODE_SELECT_CMD"); - case IDETAPE_LOAD_UNLOAD_CMD: - return("LOAD_UNLOAD_CMD"); - case IDETAPE_PREVENT_CMD: - return("PREVENT_CMD"); - case IDETAPE_LOCATE_CMD: - return("LOCATE_CMD"); - case IDETAPE_READ_POSITION_CMD: - return("READ_POSITION_CMD"); - case IDETAPE_READ_BUFFER_CMD: - return("READ_BUFFER_CMD"); - case IDETAPE_SET_SPEED_CMD: - return("SET_SPEED_CMD"); - default: { - char buf[20]; - sprintf(buf, "CMD (0x%02x)", idetape_command_key); - return(buf); - } - } -} -#endif /* IDETAPE_DEBUG_LOG_VERBOSE */ - /* * Function declarations * @@ -1507,15 +1442,6 @@ static void idetape_analyze_error (ide_drive_t *drive, idetape_request_sense_res "asc = %x, ascq = %x\n", pc->c[0], result->sense_key, result->asc, result->ascq); -#if IDETAPE_DEBUG_LOG_VERBOSE - if (tape->debug_level >= 1) - printk(KERN_INFO "ide-tape: pc = %s, sense key = %x, " - "asc = %x, ascq = %x\n", - idetape_command_key_verbose((byte) pc->c[0]), - result->sense_key, - result->asc, - result->ascq); -#endif /* IDETAPE_DEBUG_LOG_VERBOSE */ #endif /* IDETAPE_DEBUG_LOG */ /* diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index e83c9a9eb..4826fd922 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c @@ -63,17 +63,14 @@ static void ata_bswap_data (void *buffer, int wcount) } } - -void taskfile_input_data (ide_drive_t *drive, void *buffer, u32 wcount) +void taskfile_input_data(ide_drive_t *drive, void *buffer, u32 wcount) { HWIF(drive)->ata_input_data(drive, buffer, wcount); if (drive->bswap) ata_bswap_data(buffer, wcount); } -EXPORT_SYMBOL(taskfile_input_data); - -void taskfile_output_data (ide_drive_t *drive, void *buffer, u32 wcount) +void taskfile_output_data(ide_drive_t *drive, void *buffer, u32 wcount) { if (drive->bswap) { ata_bswap_data(buffer, wcount); @@ -84,8 +81,6 @@ void taskfile_output_data (ide_drive_t *drive, void *buffer, u32 wcount) } } -EXPORT_SYMBOL(taskfile_output_data); - int taskfile_lib_get_identify (ide_drive_t *drive, u8 *buf) { ide_task_t args; @@ -96,36 +91,11 @@ int taskfile_lib_get_identify (ide_drive_t *drive, u8 *buf) else args.tfRegister[IDE_COMMAND_OFFSET] = WIN_PIDENTIFY; args.command_type = IDE_DRIVE_TASK_IN; + args.data_phase = TASKFILE_IN; args.handler = &task_in_intr; return ide_raw_taskfile(drive, &args, buf); } -EXPORT_SYMBOL(taskfile_lib_get_identify); - -#ifdef CONFIG_IDE_TASK_IOCTL_DEBUG -void debug_taskfile (ide_drive_t *drive, ide_task_t *args) -{ - printk(KERN_INFO "%s: ", drive->name); -// printk("TF.0=x%02x ", args->tfRegister[IDE_DATA_OFFSET]); - printk("TF.1=x%02x ", args->tfRegister[IDE_FEATURE_OFFSET]); - printk("TF.2=x%02x ", args->tfRegister[IDE_NSECTOR_OFFSET]); - printk("TF.3=x%02x ", args->tfRegister[IDE_SECTOR_OFFSET]); - printk("TF.4=x%02x ", args->tfRegister[IDE_LCYL_OFFSET]); - printk("TF.5=x%02x ", args->tfRegister[IDE_HCYL_OFFSET]); - printk("TF.6=x%02x ", args->tfRegister[IDE_SELECT_OFFSET]); - printk("TF.7=x%02x\n", args->tfRegister[IDE_COMMAND_OFFSET]); - printk(KERN_INFO "%s: ", drive->name); -// printk("HTF.0=x%02x ", args->hobRegister[IDE_DATA_OFFSET]); - printk("HTF.1=x%02x ", args->hobRegister[IDE_FEATURE_OFFSET]); - printk("HTF.2=x%02x ", args->hobRegister[IDE_NSECTOR_OFFSET]); - printk("HTF.3=x%02x ", args->hobRegister[IDE_SECTOR_OFFSET]); - printk("HTF.4=x%02x ", args->hobRegister[IDE_LCYL_OFFSET]); - printk("HTF.5=x%02x ", args->hobRegister[IDE_HCYL_OFFSET]); - printk("HTF.6=x%02x ", args->hobRegister[IDE_SELECT_OFFSET]); - printk("HTF.7=x%02x\n", args->hobRegister[IDE_CONTROL_OFFSET_HOB]); -} -#endif /* CONFIG_IDE_TASK_IOCTL_DEBUG */ - ide_startstop_t do_rw_taskfile (ide_drive_t *drive, ide_task_t *task) { ide_hwif_t *hwif = HWIF(drive); @@ -133,10 +103,6 @@ ide_startstop_t do_rw_taskfile (ide_drive_t *drive, ide_task_t *task) hob_struct_t *hobfile = (hob_struct_t *) task->hobRegister; u8 HIHI = (drive->addressing == 1) ? 0xE0 : 0xEF; -#ifdef CONFIG_IDE_TASK_IOCTL_DEBUG - void debug_taskfile(drive, task); -#endif /* CONFIG_IDE_TASK_IOCTL_DEBUG */ - /* ALL Command Block Executions SHALL clear nIEN, unless otherwise */ if (IDE_CONTROL_REG) { /* clear nIEN */ @@ -367,12 +333,44 @@ static u8 wait_drive_not_busy(ide_drive_t *drive) return stat; } +static inline void ide_pio_datablock(ide_drive_t *drive, struct request *rq, + unsigned int write) +{ + switch (drive->hwif->data_phase) { + case TASKFILE_MULTI_IN: + case TASKFILE_MULTI_OUT: + task_multi_sectors(drive, rq, write); + break; + default: + task_sectors(drive, rq, 1, write); + break; + } +} + #ifdef CONFIG_IDE_TASKFILE_IO static ide_startstop_t task_error(ide_drive_t *drive, struct request *rq, - const char *s, u8 stat, unsigned cur_bad) + const char *s, u8 stat) { if (rq->bio) { - int sectors = rq->hard_nr_sectors - rq->nr_sectors - cur_bad; + int sectors = rq->hard_nr_sectors - rq->nr_sectors; + + switch (drive->hwif->data_phase) { + case TASKFILE_IN: + if (rq->nr_sectors) + break; + /* fall through */ + case TASKFILE_OUT: + sectors--; + break; + case TASKFILE_MULTI_IN: + if (rq->nr_sectors) + break; + /* fall through */ + case TASKFILE_MULTI_OUT: + sectors -= drive->mult_count; + default: + break; + } if (sectors > 0) drive->driver->end_request(drive, 1, sectors); @@ -380,7 +378,7 @@ static ide_startstop_t task_error(ide_drive_t *drive, struct request *rq, return drive->driver->error(drive, s, stat); } #else -# define task_error(d, rq, s, stat, cur_bad) drive->driver->error(d, s, stat) +# define task_error(d, rq, s, stat) drive->driver->error(d, s, stat) #endif static void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat) @@ -398,7 +396,7 @@ static void task_end_request(ide_drive_t *drive, struct request *rq, u8 stat) } /* - * Handler for command with PIO data-in phase (Read). + * Handler for command with PIO data-in phase (Read/Read Multiple). */ ide_startstop_t task_in_intr (ide_drive_t *drive) { @@ -407,19 +405,19 @@ ide_startstop_t task_in_intr (ide_drive_t *drive) if (!OK_STAT(stat, DATA_READY, BAD_R_STAT)) { if (stat & (ERR_STAT | DRQ_STAT)) - return task_error(drive, rq, __FUNCTION__, stat, 0); + return task_error(drive, rq, __FUNCTION__, stat); /* No data yet, so wait for another IRQ. */ ide_set_handler(drive, &task_in_intr, WAIT_WORSTCASE, NULL); return ide_started; } - task_sectors(drive, rq, 1, IDE_PIO_IN); + ide_pio_datablock(drive, rq, 0); /* If it was the last datablock check status and finish transfer. */ if (!rq->nr_sectors) { stat = wait_drive_not_busy(drive); if (!OK_STAT(stat, 0, BAD_R_STAT)) - return task_error(drive, rq, __FUNCTION__, stat, 1); + return task_error(drive, rq, __FUNCTION__, stat); task_end_request(drive, rq, stat); return ide_stopped; } @@ -432,41 +430,7 @@ ide_startstop_t task_in_intr (ide_drive_t *drive) EXPORT_SYMBOL(task_in_intr); /* - * Handler for command with PIO data-in phase (Read Multiple). - */ -ide_startstop_t task_mulin_intr (ide_drive_t *drive) -{ - struct request *rq = HWGROUP(drive)->rq; - u8 stat = HWIF(drive)->INB(IDE_STATUS_REG); - - if (!OK_STAT(stat, DATA_READY, BAD_R_STAT)) { - if (stat & (ERR_STAT | DRQ_STAT)) - return task_error(drive, rq, __FUNCTION__, stat, 0); - /* No data yet, so wait for another IRQ. */ - ide_set_handler(drive, &task_mulin_intr, WAIT_WORSTCASE, NULL); - return ide_started; - } - - task_multi_sectors(drive, rq, IDE_PIO_IN); - - /* If it was the last datablock check status and finish transfer. */ - if (!rq->nr_sectors) { - stat = wait_drive_not_busy(drive); - if (!OK_STAT(stat, 0, BAD_R_STAT)) - return task_error(drive, rq, __FUNCTION__, stat, drive->mult_count); - task_end_request(drive, rq, stat); - return ide_stopped; - } - - /* Still data left to transfer. */ - ide_set_handler(drive, &task_mulin_intr, WAIT_WORSTCASE, NULL); - - return ide_started; -} -EXPORT_SYMBOL(task_mulin_intr); - -/* - * Handler for command with PIO data-out phase (Write). + * Handler for command with PIO data-out phase (Write/Write Multiple). */ ide_startstop_t task_out_intr (ide_drive_t *drive) { @@ -475,11 +439,11 @@ ide_startstop_t task_out_intr (ide_drive_t *drive) stat = HWIF(drive)->INB(IDE_STATUS_REG); if (!OK_STAT(stat, DRIVE_READY, drive->bad_wstat)) - return task_error(drive, rq, __FUNCTION__, stat, 1); + return task_error(drive, rq, __FUNCTION__, stat); /* Deal with unexpected ATA data phase. */ if (((stat & DRQ_STAT) == 0) ^ !rq->nr_sectors) - return task_error(drive, rq, __FUNCTION__, stat, 1); + return task_error(drive, rq, __FUNCTION__, stat); if (!rq->nr_sectors) { task_end_request(drive, rq, stat); @@ -487,7 +451,7 @@ ide_startstop_t task_out_intr (ide_drive_t *drive) } /* Still data left to transfer. */ - task_sectors(drive, rq, 1, IDE_PIO_OUT); + ide_pio_datablock(drive, rq, 1); ide_set_handler(drive, &task_out_intr, WAIT_WORSTCASE, NULL); return ide_started; @@ -501,8 +465,10 @@ ide_startstop_t pre_task_out_intr (ide_drive_t *drive, struct request *rq) if (ide_wait_stat(&startstop, drive, DATA_READY, drive->bad_wstat, WAIT_DRQ)) { - printk(KERN_ERR "%s: no DRQ after issuing WRITE%s\n", - drive->name, drive->addressing ? "_EXT" : ""); + printk(KERN_ERR "%s: no DRQ after issuing %sWRITE%s\n", + drive->name, + drive->hwif->data_phase ? "MULT" : "", + drive->addressing ? "_EXT" : ""); return startstop; } @@ -510,63 +476,13 @@ ide_startstop_t pre_task_out_intr (ide_drive_t *drive, struct request *rq) local_irq_disable(); ide_set_handler(drive, &task_out_intr, WAIT_WORSTCASE, NULL); - task_sectors(drive, rq, 1, IDE_PIO_OUT); + ide_pio_datablock(drive, rq, 1); return ide_started; } EXPORT_SYMBOL(pre_task_out_intr); -/* - * Handler for command with PIO data-out phase (Write Multiple). - */ -ide_startstop_t task_mulout_intr (ide_drive_t *drive) -{ - struct request *rq = HWGROUP(drive)->rq; - u8 stat; - - stat = HWIF(drive)->INB(IDE_STATUS_REG); - if (!OK_STAT(stat, DRIVE_READY, drive->bad_wstat)) - return task_error(drive, rq, __FUNCTION__, stat, drive->mult_count); - - /* Deal with unexpected ATA data phase. */ - if (((stat & DRQ_STAT) == 0) ^ !rq->nr_sectors) - return task_error(drive, rq, __FUNCTION__, stat, drive->mult_count); - - if (!rq->nr_sectors) { - task_end_request(drive, rq, stat); - return ide_stopped; - } - - /* Still data left to transfer. */ - task_multi_sectors(drive, rq, IDE_PIO_OUT); - ide_set_handler(drive, &task_mulout_intr, WAIT_WORSTCASE, NULL); - - return ide_started; -} -EXPORT_SYMBOL(task_mulout_intr); - -ide_startstop_t pre_task_mulout_intr (ide_drive_t *drive, struct request *rq) -{ - ide_startstop_t startstop; - - if (ide_wait_stat(&startstop, drive, DATA_READY, - drive->bad_wstat, WAIT_DRQ)) { - printk(KERN_ERR "%s: no DRQ after issuing MULTWRITE%s\n", - drive->name, drive->addressing ? "_EXT" : ""); - return startstop; - } - - if (!drive->unmask) - local_irq_disable(); - - ide_set_handler(drive, &task_mulout_intr, WAIT_WORSTCASE, NULL); - task_multi_sectors(drive, rq, IDE_PIO_OUT); - - return ide_started; -} -EXPORT_SYMBOL(pre_task_mulout_intr); - -int ide_diag_taskfile (ide_drive_t *drive, ide_task_t *args, unsigned long data_size, u8 *buf) +static int ide_diag_taskfile(ide_drive_t *drive, ide_task_t *args, unsigned long data_size, u8 *buf) { struct request rq; @@ -600,19 +516,17 @@ int ide_diag_taskfile (ide_drive_t *drive, ide_task_t *args, unsigned long data_ return ide_do_drive_cmd(drive, &rq, ide_wait); } -EXPORT_SYMBOL(ide_diag_taskfile); - int ide_raw_taskfile (ide_drive_t *drive, ide_task_t *args, u8 *buf) { - return ide_diag_taskfile(drive, args, 0, buf); + ide_hwif_t *hwif = HWIF(drive); + if(hwif->raw_taskfile) + return hwif->raw_taskfile(drive, args, buf); + else + return ide_diag_taskfile(drive, args, 0, buf); } EXPORT_SYMBOL(ide_raw_taskfile); -#define MAX_DMA (256*SECTOR_WORDS) - -ide_startstop_t flagged_taskfile(ide_drive_t *, ide_task_t *); - int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) { ide_task_request_t *req_task; @@ -688,19 +602,6 @@ int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) case TASKFILE_IN_DMA: err = ide_diag_taskfile(drive, &args, taskin, inbuf); break; - case TASKFILE_IN_OUT: -#if 0 - args.prehandler = &pre_task_out_intr; - args.handler = &task_out_intr; - err = ide_diag_taskfile(drive, &args, taskout, outbuf); - args.prehandler = NULL; - args.handler = &task_in_intr; - err = ide_diag_taskfile(drive, &args, taskin, inbuf); - break; -#else - err = -EFAULT; - goto abort; -#endif case TASKFILE_MULTI_OUT: if (!drive->mult_count) { /* (hs): give up if multcount is not set */ @@ -710,10 +611,7 @@ int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) err = -EPERM; goto abort; } - args.prehandler = &pre_task_mulout_intr; - args.handler = &task_mulout_intr; - err = ide_diag_taskfile(drive, &args, taskout, outbuf); - break; + /* fall through */ case TASKFILE_OUT: args.prehandler = &pre_task_out_intr; args.handler = &task_out_intr; @@ -728,9 +626,7 @@ int ide_taskfile_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) err = -EPERM; goto abort; } - args.handler = &task_mulin_intr; - err = ide_diag_taskfile(drive, &args, taskin, inbuf); - break; + /* fall through */ case TASKFILE_IN: args.handler = &task_in_intr; err = ide_diag_taskfile(drive, &args, taskin, inbuf); @@ -781,8 +677,6 @@ abort: return err; } -EXPORT_SYMBOL(ide_taskfile_ioctl); - int ide_wait_cmd (ide_drive_t *drive, u8 cmd, u8 nsect, u8 feature, u8 sectors, u8 *buf) { struct request rq; @@ -800,8 +694,6 @@ int ide_wait_cmd (ide_drive_t *drive, u8 cmd, u8 nsect, u8 feature, u8 sectors, return ide_do_drive_cmd(drive, &rq, ide_wait); } -EXPORT_SYMBOL(ide_wait_cmd); - /* * FIXME : this needs to map into at taskfile. */ @@ -859,9 +751,7 @@ abort: return err; } -EXPORT_SYMBOL(ide_cmd_ioctl); - -int ide_wait_cmd_task (ide_drive_t *drive, u8 *buf) +static int ide_wait_cmd_task(ide_drive_t *drive, u8 *buf) { struct request rq; @@ -871,8 +761,6 @@ int ide_wait_cmd_task (ide_drive_t *drive, u8 *buf) return ide_do_drive_cmd(drive, &rq, ide_wait); } -EXPORT_SYMBOL(ide_wait_cmd_task); - /* * FIXME : this needs to map into at taskfile. */ @@ -891,8 +779,6 @@ int ide_task_ioctl (ide_drive_t *drive, unsigned int cmd, unsigned long arg) return err; } -EXPORT_SYMBOL(ide_task_ioctl); - /* * NOTICE: This is additions from IBM to provide a discrete interface, * for selective taskregister access operations. Nice JOB Klaus!!! @@ -907,11 +793,6 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) u8 status; #endif - -#ifdef CONFIG_IDE_TASK_IOCTL_DEBUG - void debug_taskfile(drive, task); -#endif /* CONFIG_IDE_TASK_IOCTL_DEBUG */ - if (task->data_phase == TASKFILE_MULTI_IN || task->data_phase == TASKFILE_MULTI_OUT) { if (!drive->mult_count) { @@ -1019,5 +900,3 @@ ide_startstop_t flagged_taskfile (ide_drive_t *drive, ide_task_t *task) return ide_started; } - -EXPORT_SYMBOL(flagged_taskfile); diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index e99d9ec19..46855a911 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -175,6 +175,7 @@ static int system_bus_speed; /* holds what we think is VESA/PCI bus speed */ static int initializing; /* set while initializing built-in drivers */ DECLARE_MUTEX(ide_cfg_sem); +EXPORT_SYMBOL_GPL(ide_cfg_sem); spinlock_t ide_lock __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED; #ifdef CONFIG_BLK_DEV_IDEPCI @@ -205,11 +206,13 @@ static void setup_driver_defaults(ide_driver_t *driver); static void init_hwif_data(ide_hwif_t *hwif, unsigned int index) { unsigned int unit; + unsigned int key = hwif->key; /* bulk initialize hwif & drive info with zeros */ memset(hwif, 0, sizeof(ide_hwif_t)); /* fill in any non-zero initial values */ + hwif->key = key + 1; /* Protected by ide_cfg_sem */ hwif->index = index; hwif->major = ide_hwif_to_major[index]; @@ -321,12 +324,104 @@ static void __init init_ide_data (void) } /* - * ide_system_bus_speed() returns what we think is the system VESA/PCI - * bus speed (in MHz). This is used for calculating interface PIO timings. - * The default is 40 for known PCI systems, 50 otherwise. - * The "idebus=xx" parameter can be used to override this value. - * The actual value to be used is computed/displayed the first time through. + * ide_drive_from_key - turn key into drive + * @kval: persistent key + * + * Convert a key into a drive. Currently the key is packed as + * [keyval] << 16 | hwif << 8 | drive_num. Caller must hold + * ide_settings_sem for the duration of the returned reference + */ + +ide_drive_t *ide_drive_from_key(void *kval) +{ + unsigned long key = (unsigned long) kval; + int idx = (key >> 8) & 0xFF; + int drive = key & 3; + ide_hwif_t *hwif = &ide_hwifs[idx]; + ide_drive_t *ret; + + key >>= 16; + + if(hwif->configured == 0 || hwif->present == 0 || hwif->drives[drive].dead || hwif->key != key) + ret = NULL; + else + ret = &ide_hwifs[idx].drives[drive]; + + return ret; +} + +EXPORT_SYMBOL_GPL(ide_drive_from_key); + +/* + * ide_drive_to_key - turn drive to persistent key + * @drive: drive to use + * + * Convert drive into a key. Currently the key is packed as + * [keyval] << 16 | hwif << 8 | drive_num. Caller must hold + * ide_settings_sem for the duration of the returned reference + */ + +void *ide_drive_to_key(ide_drive_t *drive) +{ + ide_hwif_t *hwif = HWIF(drive); + unsigned long val; + + val = (hwif->index << 8) | (hwif->key << 16) | drive->select.b.unit; + return (void *)val; +} + +/* + * ide_hwif_from_key - turn key into hwif + * @kval: persistent key + * + * Convert a key into a drive. Currently the key is packed as + * [keyval] << 16 | hwif << 8 | drive_num. Caller must hold + * ide_settings_sem for the duration of the returned reference + */ + +ide_hwif_t *ide_hwif_from_key(void *kval) +{ + unsigned long key = (unsigned long) kval; + int idx = (key >> 8) & 0xFF; + ide_hwif_t *hwif = &ide_hwifs[idx]; + + key >>= 16; + + if(hwif->configured == 0 || hwif->present == 0 || hwif->key != key) + return NULL; + return hwif; +} + +/* + * ide_hwif_to_key - turn drive to persistent key + * @hwif: hwif to use + * + * Convert drive into a key. Currently the key is packed as + * [keyval] << 16 | hwif << 8 | drive_num. Caller must hold + * ide_settings_sem for the duration of the returned reference */ + +void *ide_hwif_to_key(ide_hwif_t *hwif) +{ + unsigned long val; + + val = (hwif->index << 8) | (hwif->key << 16); + return (void *)val; +} + +/** + * ide_system_bus_speed - guess bus speed + * + * ide_system_bus_speed() returns what we think is the system VESA/PCI + * bus speed (in MHz). This is used for calculating interface PIO timings. + * The default is 40 for known PCI systems, 50 otherwise. + * The "idebus=xx" parameter can be used to override this value. + * The actual value to be used is computed/displayed the first time + * through. Drivers should only use this as a last resort. + * + * Returns a guessed speed in MHz. + */ + int ide_system_bus_speed (void) { if (!system_bus_speed) { @@ -347,10 +442,15 @@ int ide_system_bus_speed (void) return system_bus_speed; } -/* - * current_capacity() returns the capacity (in sectors) of a drive - * according to its current geometry/LBA settings. +/** + * current_capacity - drive capacity + * @drive: drive to query + * + * Return the current capacity (in sectors) of a drive according to + * its current geometry/LBA settings. Empty removables are reported + * as size zero. */ + sector_t current_capacity (ide_drive_t *drive) { if (!drive->present) @@ -360,9 +460,17 @@ sector_t current_capacity (ide_drive_t *drive) EXPORT_SYMBOL(current_capacity); -/* - * Error reporting, in human readable form (luxurious, but a memory hog). +/** + * ide_dump_status - translate ATA error + * @drive: drive the error occured on + * @msg: information string + * @stat: status byte + * + * Error reporting, in human readable form (luxurious, but a memory hog). + * Combines the drive name, message and status byte to provide a + * user understandable explanation of the device error. */ + u8 ide_dump_status (ide_drive_t *drive, const char *msg, u8 stat) { ide_hwif_t *hwif = HWIF(drive); @@ -371,7 +479,6 @@ u8 ide_dump_status (ide_drive_t *drive, const char *msg, u8 stat) local_irq_set(flags); printk(KERN_WARNING "%s: %s: status=0x%02x", drive->name, msg, stat); -#if FANCY_STATUS_DUMPS printk(" { "); if (stat & BUSY_STAT) { printk("Busy "); @@ -385,12 +492,10 @@ u8 ide_dump_status (ide_drive_t *drive, const char *msg, u8 stat) if (stat & ERR_STAT) printk("Error "); } printk("}"); -#endif /* FANCY_STATUS_DUMPS */ printk("\n"); if ((stat & (BUSY_STAT|ERR_STAT)) == ERR_STAT) { err = hwif->INB(IDE_ERROR_REG); printk("%s: %s: error=0x%02x", drive->name, msg, err); -#if FANCY_STATUS_DUMPS if (drive->media == ide_disk) { printk(" { "); if (err & ABRT_ERR) printk("DriveStatusError "); @@ -434,9 +539,34 @@ u8 ide_dump_status (ide_drive_t *drive, const char *msg, u8 stat) printk(", sector=%llu", (unsigned long long)HWGROUP(drive)->rq->sector); } } -#endif /* FANCY_STATUS_DUMPS */ printk("\n"); } + { + struct request *rq; + int opcode = 0x100; + + spin_lock(&ide_lock); + rq = NULL; + if (HWGROUP(drive)) + rq = HWGROUP(drive)->rq; + spin_unlock(&ide_lock); + if (!rq) + goto out; + if (rq->flags & (REQ_DRIVE_CMD | REQ_DRIVE_TASK)) { + char *args = rq->buffer; + if (args) + opcode = args[0]; + } else if (rq->flags & REQ_DRIVE_TASKFILE) { + ide_task_t *args = rq->special; + if (args) { + task_struct_t *tf = (task_struct_t *) args->tfRegister; + opcode = tf->command; + } + } + + printk("ide: failed opcode was %x\n", opcode); + } +out: local_irq_restore(flags); return err; } @@ -448,37 +578,52 @@ static int ide_open (struct inode * inode, struct file * filp) return -ENXIO; } +/* + * drives_lock protects the list of drives, drivers lock the + * list of drivers. Currently nobody takes both at once. + * drivers_sem guards the drivers_list for readers that may + * sleep. It must be taken before drivers_lock. Take drivers_sem + * before ide_setting_sem and idecfg_sem before either of the + * others. + */ + static spinlock_t drives_lock = SPIN_LOCK_UNLOCKED; +static DECLARE_MUTEX(drivers_sem); static spinlock_t drivers_lock = SPIN_LOCK_UNLOCKED; static LIST_HEAD(drivers); -/* Iterator */ +/* Iterator for the driver list. */ + static void *m_start(struct seq_file *m, loff_t *pos) { struct list_head *p; loff_t l = *pos; - spin_lock(&drivers_lock); + down(&drivers_sem); list_for_each(p, &drivers) if (!l--) return list_entry(p, ide_driver_t, drivers); return NULL; } + static void *m_next(struct seq_file *m, void *v, loff_t *pos) { struct list_head *p = ((ide_driver_t *)v)->drivers.next; (*pos)++; return p==&drivers ? NULL : list_entry(p, ide_driver_t, drivers); } + static void m_stop(struct seq_file *m, void *v) { - spin_unlock(&drivers_lock); + up(&drivers_sem); } + static int show_driver(struct seq_file *m, void *v) { ide_driver_t *driver = v; seq_printf(m, "%s version %s\n", driver->name, driver->version); return 0; } + struct seq_operations ide_drivers_op = { .start = m_start, .next = m_next, @@ -515,6 +660,7 @@ static struct resource* hwif_request_region(ide_hwif_t *hwif, * MMIO leaves it to the controller driver, * PIO will migrate this way over time. */ + int ide_hwif_request_regions(ide_hwif_t *hwif) { unsigned long addr; @@ -564,6 +710,7 @@ control_region_busy: * importantly our caller should be doing this so we need to * restructure this as a helper function for drivers. */ + void ide_hwif_release_regions(ide_hwif_t *hwif) { u32 i = 0; @@ -581,7 +728,15 @@ void ide_hwif_release_regions(ide_hwif_t *hwif) release_region(hwif->io_ports[i], 1); } -/* restore hwif to a sane state */ +/** + * ide_hwif_restore - restore hwif to template + * @hwif: hwif to update + * @tmp_hwif: template + * + * Restore hwif to a previous state by copying most settngs + * from the template. + */ + static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) { hwif->hwgroup = tmp_hwif->hwgroup; @@ -618,6 +773,7 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) hwif->maskproc = tmp_hwif->maskproc; hwif->quirkproc = tmp_hwif->quirkproc; hwif->busproc = tmp_hwif->busproc; + hwif->raw_taskfile = tmp_hwif->raw_taskfile; hwif->ata_input_data = tmp_hwif->ata_input_data; hwif->ata_output_data = tmp_hwif->ata_output_data; @@ -678,14 +834,16 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) } /** - * ide_unregister - free an ide interface - * @index: index of interface (will change soon to a pointer) + * __ide_unregister_hwif - free an ide interface + * @hwif: interface to unregister * * Perform the final unregister of an IDE interface. At the moment * we don't refcount interfaces so this will also get split up. * * Locking: - * The caller must not hold the IDE locks + * The caller must not hold the IDE locks except for ide_cfg_sem + * which must be held. + * * The drive present/vanishing is not yet properly locked * Take care with the callbacks. These have been split to avoid * deadlocking the IDE layer. The shutdown callback is called @@ -695,31 +853,39 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) * isnt yet done btw). After we commit to the final kill we * call the cleanup callback with the ide locks held. * + * An interface can be in four states we care about + * - It can be busy (drive or driver thinks its active). No unload + * - It can be unconfigured - which means its already gone + * - It can be configured and present - a full interface + * - It can be configured and not present - pci configured but no drives + * so logically absent. + * * Unregister restores the hwif structures to the default state. - * This is raving bonkers. */ -void ide_unregister(unsigned int index) +int __ide_unregister_hwif(ide_hwif_t *hwif) { - ide_drive_t *drive; - ide_hwif_t *hwif, *g, *tmp_hwif; + ide_drive_t *drive = NULL; /* keep compiler happy */ + ide_hwif_t *g; + static ide_hwif_t tmp_hwif; /* protected by ide_cfg_sem */ ide_hwgroup_t *hwgroup; int irq_count = 0, unit, i; - - BUG_ON(index >= MAX_HWIFS); - - tmp_hwif = kmalloc(sizeof(*tmp_hwif), GFP_KERNEL|__GFP_NOFAIL); - if (!tmp_hwif) { - printk(KERN_ERR "%s: unable to allocate memory\n", __FUNCTION__); - return; - } + int was_present; + int ret = 0; + int index = hwif->index; BUG_ON(in_interrupt()); BUG_ON(irqs_disabled()); - down(&ide_cfg_sem); + + /* Make sure nobody sneaks in via the proc interface */ + down(&ide_setting_sem); + + /* Now ensure nobody gets in for I/O while we clean up and + do the busy check. If busy is set then the device is still + open and we must stop */ spin_lock_irq(&ide_lock); - hwif = &ide_hwifs[index]; - if (!hwif->present) + + if (!hwif->configured) goto abort; for (unit = 0; unit < MAX_DRIVES; ++unit) { drive = &hwif->drives[unit]; @@ -729,9 +895,17 @@ void ide_unregister(unsigned int index) goto abort; drive->dead = 1; } + /* + * Protect against new users. From this point the hwif + * is not present so cannot be opened by a new I/O source. + * This also invalidates key driven access from procfs + */ + + was_present = hwif->present; hwif->present = 0; spin_unlock_irq(&ide_lock); + up(&ide_setting_sem); for (unit = 0; unit < MAX_DRIVES; ++unit) { drive = &hwif->drives[unit]; @@ -742,28 +916,38 @@ void ide_unregister(unsigned int index) #ifdef CONFIG_PROC_FS destroy_proc_ide_drives(hwif); + destroy_proc_ide_interface(hwif); #endif + spin_lock_irq(&ide_lock); hwgroup = hwif->hwgroup; - /* - * free the irq if we were the only hwif using it - */ - g = hwgroup->hwif; - do { - if (g->irq == hwif->irq) - ++irq_count; - g = g->next; - } while (g != hwgroup->hwif); - if (irq_count == 1) + if(hwgroup) + { + /* + * free the irq if we were the only hwif using it + */ + g = hwgroup->hwif; + do { + if (g->irq == hwif->irq) + ++irq_count; + g = g->next; + } while (g != hwgroup->hwif); + } + spin_unlock_irq(&ide_lock); + + if (irq_count == 1 && hwgroup) free_irq(hwif->irq, hwgroup); - spin_lock_irq(&ide_lock); /* * Note that we only release the standard ports, * and do not even try to handle any extra ports * allocated for weird IDE interface chipsets. + * + * FIXME: should defer this I think */ - ide_hwif_release_regions(hwif); + + if(was_present) + ide_hwif_release_regions(hwif); /* * Remove us from the hwgroup, and free @@ -777,6 +961,14 @@ void ide_unregister(unsigned int index) } if (!drive->present) continue; + + /* + * The hwgroup chain is IRQ touched. We must protect + * walking this from an IDE event for another device + * in the chain + */ + + spin_lock_irq(&ide_lock); if (drive == drive->next) { /* special case: last drive from hwgroup. */ BUG_ON(hwgroup->drive != drive); @@ -793,47 +985,67 @@ void ide_unregister(unsigned int index) hwgroup->hwif = HWIF(hwgroup->drive); } } + spin_unlock_irq(&ide_lock); + + /* + * The rest of the cleanup is private + */ + BUG_ON(hwgroup->drive == drive); if (drive->id != NULL) { kfree(drive->id); drive->id = NULL; } drive->present = 0; - /* Messed up locking ... */ - spin_unlock_irq(&ide_lock); blk_cleanup_queue(drive->queue); device_unregister(&drive->gendev); down(&drive->gendev_rel_sem); - spin_lock_irq(&ide_lock); drive->queue = NULL; } - if (hwif->next == hwif) { - BUG_ON(hwgroup->hwif != hwif); - kfree(hwgroup); - } else { - /* There is another interface in hwgroup. - * Unlink us, and set hwgroup->drive and ->hwif to - * something sane. - */ - g = hwgroup->hwif; - while (g->next != hwif) - g = g->next; - g->next = hwif->next; - if (hwgroup->hwif == hwif) { - /* Chose a random hwif for hwgroup->hwif. - * It's guaranteed that there are no drives - * left in the hwgroup. + /* + * Lock against hwgroup walkers including interrupts off other + * IDE devices wile we unhook ourselves. + */ + + spin_lock_irq(&ide_lock); + + if (hwgroup) + { + if (hwif->next == hwif) { + BUG_ON(hwgroup->hwif != hwif); + kfree(hwgroup); + } else { + /* There is another interface in hwgroup. + * Unlink us, and set hwgroup->drive and ->hwif to + * something sane. */ - BUG_ON(hwgroup->drive != NULL); - hwgroup->hwif = g; + g = hwgroup->hwif; + while (g->next != hwif) + g = g->next; + g->next = hwif->next; + if (hwgroup->hwif == hwif) { + /* Chose a random hwif for hwgroup->hwif. + * It's guaranteed that there are no drives + * left in the hwgroup. + */ + BUG_ON(hwgroup->drive != NULL); + hwgroup->hwif = g; + } + BUG_ON(hwgroup->hwif == hwif); } - BUG_ON(hwgroup->hwif == hwif); } - - /* More messed up locking ... */ spin_unlock_irq(&ide_lock); - device_unregister(&hwif->gendev); - down(&hwif->gendev_rel_sem); + + /* + * PCI interfaces with no devices don't exist in the device + * tree so don't unregister them. + */ + + if(was_present) + { + device_unregister(&hwif->gendev); + down(&hwif->gendev_rel_sem); + } /* * Remove us from the kernel's knowledge @@ -847,6 +1059,13 @@ void ide_unregister(unsigned int index) unregister_blkdev(hwif->major, hwif->name); spin_lock_irq(&ide_lock); + /* + * Let the driver free up private objects + */ + + if(hwif->remove) + hwif->remove(hwif); + if (hwif->dma_base) { (void) ide_release_dma(hwif); @@ -858,25 +1077,67 @@ void ide_unregister(unsigned int index) hwif->dma_vendor3 = 0; hwif->dma_prdtable = 0; } + hwif->chipset = ide_unknown; /* copy original settings */ - *tmp_hwif = *hwif; + tmp_hwif = *hwif; /* restore hwif data to pristine status */ init_hwif_data(hwif, index); init_hwif_default(hwif, index); - ide_hwif_restore(hwif, tmp_hwif); + hwif->configured = 0; -abort: + ide_hwif_restore(hwif, &tmp_hwif); + spin_unlock_irq(&ide_lock); - up(&ide_cfg_sem); + return 0; - kfree(tmp_hwif); +abort: + if(hwif->configured) + { + printk("Unregister %d fail %d %d\n", index, drive->usage, DRIVER(drive)->busy); + ret = -EBUSY; + } + else + { + printk("No such hwif!\n"); + ret = -ENOENT; + } + spin_unlock_irq(&ide_lock); + up(&ide_setting_sem); + return ret; } -EXPORT_SYMBOL(ide_unregister); +EXPORT_SYMBOL_GPL(__ide_unregister_hwif); + +/** + * ide_unregister_hwif - free an ide interface + * @hwif: interface to unregister + * + * Perform the final unregister of an IDE interface. At the moment + * we don't refcount interfaces so this will also get split up. + * Unregister restores the hwif structures to the default state. + * + * No locks should be held on entry. When an unregister must + * be done atomically with a register see __ide_unregister_hwif + * and hold the ide_cfg_sem yourself. + */ + +int ide_unregister_hwif(ide_hwif_t *hwif) +{ + int ret; + + /* This protects two things. Firstly it serializes the + shutdown sequence, secondly it protects us from + races while we are killing off a device */ + down(&ide_cfg_sem); + ret = __ide_unregister_hwif(hwif); + up(&ide_cfg_sem); + return ret; +} +EXPORT_SYMBOL_GPL(ide_unregister_hwif); /** * ide_setup_ports - set up IDE interface ports @@ -931,15 +1192,30 @@ void ide_setup_ports ( hw_regs_t *hw, */ } -/* - * Register an IDE interface, specifying exactly the registers etc - * Set init=1 iff calling before probes have taken place. +/** + * ide_register_hw_with_fixup - register IDE interface + * @hw: hardware registers + * @hwifp: pointer to returned hwif + * @fixup function to call + * + * Register an IDE interface, specifying exactly the registers etc. + * Set init=1 iff calling before probes have taken place. The + * ide_cfg_sem protects this against races. + * + * Invokes a fixup function after the probe and before device attachment + * that can be used by the driver to amend settings or to work around + * hardware funnies. + * + * Returns -1 on error. */ -int ide_register_hw (hw_regs_t *hw, ide_hwif_t **hwifp) + +int ide_register_hw_with_fixup(hw_regs_t *hw, ide_hwif_t **hwifp, void (*fixup)(ide_hwif_t *hwif)) { int index, retry = 1; ide_hwif_t *hwif; + down(&ide_cfg_sem); + do { for (index = 0; index < MAX_HWIFS; ++index) { hwif = &ide_hwifs[index]; @@ -950,31 +1226,40 @@ int ide_register_hw (hw_regs_t *hw, ide_hwif_t **hwifp) hwif = &ide_hwifs[index]; if (hwif->hold) continue; - if ((!hwif->present && !hwif->mate && !initializing) || + if ((!hwif->configured && !hwif->mate && !initializing) || (!hwif->hw.io_ports[IDE_DATA_OFFSET] && initializing)) goto found; } + /* FIXME- this check should die as should the retry loop */ for (index = 0; index < MAX_HWIFS; index++) - ide_unregister(index); + { + hwif = &ide_hwifs[index]; + __ide_unregister_hwif(hwif); + } } while (retry--); + + up(&ide_cfg_sem); return -1; found: - if (hwif->present) - ide_unregister(index); + /* FIXME: do we really need this case */ + if (hwif->configured) + __ide_unregister_hwif(hwif); else if (!hwif->hold) { init_hwif_data(hwif, index); init_hwif_default(hwif, index); } - if (hwif->present) + if (hwif->configured) return -1; + hwif->configured = 1; memcpy(&hwif->hw, hw, sizeof(*hw)); memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->hw.io_ports)); hwif->irq = hw->irq; hwif->noprobe = 0; hwif->chipset = hw->chipset; + up(&ide_cfg_sem); if (!initializing) { - probe_hwif_init(hwif); + probe_hwif_init_with_fixup(hwif, fixup); create_proc_ide_interfaces(); } @@ -984,6 +1269,25 @@ found: return (initializing || hwif->present) ? index : -1; } +EXPORT_SYMBOL(ide_register_hw_with_fixup); + +/** + * ide_register_hw - register new IDE hardware + * @hw: hardware registers + * @hwifp: pointer to returned hwif + * + * Register an IDE interface, specifying exactly the registers etc. + * Set init=1 iff calling before probes have taken place. The + * ide_cfg_sem protects this against races. + * + * Returns -1 on error. + */ + +int ide_register_hw(hw_regs_t *hw, ide_hwif_t **hwif) +{ + return ide_register_hw_with_fixup(hw, hwif, NULL); +} + EXPORT_SYMBOL(ide_register_hw); /* @@ -1008,21 +1312,21 @@ DECLARE_MUTEX(ide_setting_sem); * @set: setting * * Removes the setting named from the device if it is present. - * The function takes the settings_lock to protect against - * parallel changes. This function must not be called from IRQ - * context. Returns 0 on success or -1 on failure. + * This function must not be called from IRQ context. Returns 0 + * on success or -1 on failure. * * BUGS: This code is seriously over-engineered. There is also * magic about how the driver specific features are setup. If * a driver is attached we assume the driver settings are auto * remove. + * + * The caller must hold settings_lock */ int ide_add_setting (ide_drive_t *drive, const char *name, int rw, int read_ioctl, int write_ioctl, int data_type, int min, int max, int mul_factor, int div_factor, void *data, ide_procset_t *set) { ide_settings_t **p = (ide_settings_t **) &drive->settings, *setting = NULL; - down(&ide_setting_sem); while ((*p) && strcmp((*p)->name, name) < 0) p = &((*p)->next); if ((setting = kmalloc(sizeof(*setting), GFP_KERNEL)) == NULL) @@ -1046,10 +1350,8 @@ int ide_add_setting (ide_drive_t *drive, const char *name, int rw, int read_ioct if (drive->driver != &idedefault_driver) setting->auto_remove = 1; *p = setting; - up(&ide_setting_sem); return 0; abort: - up(&ide_setting_sem); if (setting) kfree(setting); return -1; @@ -1058,7 +1360,7 @@ abort: EXPORT_SYMBOL(ide_add_setting); /** - * __ide_remove_setting - remove an ide setting option + * ide_remove_setting - remove an ide setting option * @drive: drive to use * @name: setting name * @@ -1066,7 +1368,7 @@ EXPORT_SYMBOL(ide_add_setting); * The caller must hold the setting semaphore. */ -static void __ide_remove_setting (ide_drive_t *drive, char *name) +static void ide_remove_setting (ide_drive_t *drive, char *name) { ide_settings_t **p, *setting; @@ -1144,7 +1446,7 @@ repeat: setting = drive->settings; while (setting) { if (setting->auto_remove) { - __ide_remove_setting(drive, setting->name); + ide_remove_setting(drive, setting->name); goto repeat; } setting = setting->next; @@ -1188,6 +1490,15 @@ int ide_read_setting (ide_drive_t *drive, ide_settings_t *setting) return val; } +/** + * ide_spin_wait_hwgroup - wait for group + * @drive: drive in the group + * + * Wait for an IDE device group to go non busy and then return + * holding the ide_lock which guards the hwgroup->busy status + * and right to use it. + */ + int ide_spin_wait_hwgroup (ide_drive_t *drive) { ide_hwgroup_t *hwgroup = HWGROUP(drive); @@ -1229,6 +1540,7 @@ EXPORT_SYMBOL(ide_spin_wait_hwgroup); * to the driver to change settings, and then wait on a sema for completion. * The current scheme of polling is kludgy, though safe enough. */ + int ide_write_setting (ide_drive_t *drive, ide_settings_t *setting, int val) { int i; @@ -1322,25 +1634,18 @@ static int set_xfer_rate (ide_drive_t *drive, int arg) return err; } -int ide_atapi_to_scsi (ide_drive_t *drive, int arg) -{ - if (drive->media == ide_disk) { - drive->scsi = 0; - return 0; - } - - if (DRIVER(drive)->cleanup(drive)) { - drive->scsi = 0; - return 0; - } - - drive->scsi = (u8) arg; - ata_attach(drive); - return 0; -} +/** + * ide_add_generic_settings - generic ide settings + * @drive: drive being configured + * + * Add the generic parts of the system settings to the /proc files and + * ioctls for this IDE device. The caller must not be holding the + * ide_setting_sem. + */ void ide_add_generic_settings (ide_drive_t *drive) { + down(&ide_setting_sem); /* * drive setting name read/write access read ioctl write ioctl data type min max mul_factor div_factor data pointer set function */ @@ -1353,10 +1658,17 @@ void ide_add_generic_settings (ide_drive_t *drive) ide_add_setting(drive, "init_speed", SETTING_RW, -1, -1, TYPE_BYTE, 0, 70, 1, 1, &drive->init_speed, NULL); ide_add_setting(drive, "current_speed", SETTING_RW, -1, -1, TYPE_BYTE, 0, 70, 1, 1, &drive->current_speed, set_xfer_rate); ide_add_setting(drive, "number", SETTING_RW, -1, -1, TYPE_BYTE, 0, 3, 1, 1, &drive->dn, NULL); - if (drive->media != ide_disk) - ide_add_setting(drive, "ide-scsi", SETTING_RW, -1, HDIO_SET_IDE_SCSI, TYPE_BYTE, 0, 1, 1, 1, &drive->scsi, ide_atapi_to_scsi); + + up(&ide_setting_sem); } +/** + * system_bus_clock - clock guess + * + * External version of the bus clock guess used by very old IDE drivers + * for things like VLB timings. Should not be used. + */ + int system_bus_clock (void) { return((int) ((!system_bus_speed) ? ide_system_bus_speed() : system_bus_speed )); @@ -1391,25 +1703,43 @@ abort: return 1; } +/** + * ata_attach - attach an ATA/ATAPI device + * @drive: drive to attach + * + * Takes a drive that is as yet not assigned to any midlayer IDE + * driver (or is assigned to the default driver) and figures out + * which driver would like to own it. If nobody claims the drive + * then it is automatically attached to the default driver used for + * unclaimed objects. + * + * A return of zero indicates attachment to a driver, of one + * attachment to the default driver. + * + * Takes the driver list lock and the ide_settings semaphore. + */ + int ata_attach(ide_drive_t *drive) { struct list_head *p; - spin_lock(&drivers_lock); + down(&drivers_sem); + down(&ide_setting_sem); list_for_each(p, &drivers) { ide_driver_t *driver = list_entry(p, ide_driver_t, drivers); if (!try_module_get(driver->owner)) continue; - spin_unlock(&drivers_lock); if (driver->attach(drive) == 0) { module_put(driver->owner); drive->gendev.driver = &driver->gen_driver; + up(&ide_setting_sem); + up(&drivers_sem); return 0; } - spin_lock(&drivers_lock); module_put(driver->owner); } drive->gendev.driver = &idedefault_driver.gen_driver; - spin_unlock(&drivers_lock); + up(&ide_setting_sem); + up(&drivers_sem); if(idedefault_driver.attach(drive) != 0) panic("ide: default attach failed"); return 1; @@ -1535,6 +1865,7 @@ int generic_ide_ioctl(struct file *file, struct block_device *bdev, case HDIO_SCAN_HWIF: { hw_regs_t hw; + ide_hwif_t *hwif; int args[3]; if (!capable(CAP_SYS_RAWIO)) return -EACCES; if (copy_from_user(args, p, 3 * sizeof(int))) @@ -1543,14 +1874,18 @@ int generic_ide_ioctl(struct file *file, struct block_device *bdev, ide_init_hwif_ports(&hw, (unsigned long) args[0], (unsigned long) args[1], NULL); hw.irq = args[2]; - if (ide_register_hw(&hw, NULL) == -1) + if (ide_register_hw(&hw, &hwif) == -1) return -EIO; + hwif->user_dev = 1; return 0; } case HDIO_UNREGISTER_HWIF: if (!capable(CAP_SYS_RAWIO)) return -EACCES; - /* (arg > MAX_HWIFS) checked in function */ - ide_unregister(arg); + if(arg > MAX_HWIFS || arg < 0) + return -EINVAL; + if(!ide_hwifs[arg].user_dev) + return -EINVAL; + return ide_unregister_hwif(&ide_hwifs[arg]); return 0; case HDIO_SET_NICE: if (!capable(CAP_SYS_ADMIN)) return -EACCES; @@ -2190,8 +2525,8 @@ int ide_register_subdriver(ide_drive_t *drive, ide_driver_t *driver) drive->suspend_reset = 0; #ifdef CONFIG_PROC_FS if (drive->driver != &idedefault_driver) { - ide_add_proc_entries(drive->proc, generic_subdriver_entries, drive); - ide_add_proc_entries(drive->proc, driver->proc, drive); + ide_add_proc_entries(drive->proc, generic_subdriver_entries, ide_drive_to_key(drive)); + ide_add_proc_entries(drive->proc, driver->proc, ide_drive_to_key(drive)); } #endif return 0; @@ -2199,9 +2534,24 @@ int ide_register_subdriver(ide_drive_t *drive, ide_driver_t *driver) EXPORT_SYMBOL(ide_register_subdriver); +/** + * ide_unregister_subdriver - disconnect drive from driver + * @drive: drive to unplug + * + * Disconnect a drive from the driver it was attached to and then + * clean up the various proc files and other objects attached to it. + * + * Takes ide_setting_sem, ide_lock and drives_lock. + * Caller must hold none of the locks. + * + * No locking versus subdriver unload because we are moving to the + * default driver anyway. Wants double checking. + */ + int ide_unregister_subdriver (ide_drive_t *drive) { unsigned long flags; + ide_proc_entry_t *dir; down(&ide_setting_sem); spin_lock_irqsave(&ide_lock, flags); @@ -2210,13 +2560,14 @@ int ide_unregister_subdriver (ide_drive_t *drive) up(&ide_setting_sem); return 1; } + dir = DRIVER(drive)->proc; + drive->driver = &idedefault_driver; + spin_unlock_irqrestore(&ide_lock, flags); #ifdef CONFIG_PROC_FS - ide_remove_proc_entries(drive->proc, DRIVER(drive)->proc); + ide_remove_proc_entries(drive->proc, dir); ide_remove_proc_entries(drive->proc, generic_subdriver_entries); #endif auto_remove_settings(drive); - drive->driver = &idedefault_driver; - spin_unlock_irqrestore(&ide_lock, flags); up(&ide_setting_sem); spin_lock(&drives_lock); list_del_init(&drive->list); @@ -2234,6 +2585,18 @@ static int ide_drive_remove(struct device * dev) return 0; } +/** + * ide_register_driver - register IDE device driver + * @driver: the IDE device driver + * + * Register a new device driver and then scan the devices + * on the IDE bus in case any should be attached to the + * driver we have just registered. If so attach them. + * + * Takes the drivers and drives lock. Should take the + * ide_sem but doesn't - FIXME ?? + */ + int ide_register_driver(ide_driver_t *driver) { struct list_head list; @@ -2242,9 +2605,11 @@ int ide_register_driver(ide_driver_t *driver) setup_driver_defaults(driver); + down(&drivers_sem); spin_lock(&drivers_lock); list_add(&driver->drivers, &drivers); spin_unlock(&drivers_lock); + up(&drivers_sem); INIT_LIST_HEAD(&list); spin_lock(&drives_lock); @@ -2265,13 +2630,26 @@ int ide_register_driver(ide_driver_t *driver) EXPORT_SYMBOL(ide_register_driver); +/** + * ide_unregister_driver - unregister IDE device driver + * @driver: the IDE device driver + * + * Called when a driver module is being unloaded. We reattach any + * devices to whatever driver claims them next (typically the default + * driver). + * + * Takes drivers_lock and called functions will take ide_setting_sem. + */ + void ide_unregister_driver(ide_driver_t *driver) { ide_drive_t *drive; + down(&drivers_sem); spin_lock(&drivers_lock); list_del(&driver->drivers); spin_unlock(&drivers_lock); + up(&drivers_sem); driver_unregister(&driver->gen_driver); @@ -2385,7 +2763,8 @@ void cleanup_module (void) int index; for (index = 0; index < MAX_HWIFS; ++index) { - ide_unregister(index); + if(ide_unregister_hwif(&ide_hwifs[index])) + printk(KERN_ERR "ide: unload yet busy!\n"); if (ide_hwifs[index].dma_base) (void) ide_release_dma(&ide_hwifs[index]); } diff --git a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c index 3147d9099..d2f82c621 100644 --- a/drivers/ide/legacy/ide-cs.c +++ b/drivers/ide/legacy/ide-cs.c @@ -90,6 +90,7 @@ typedef struct ide_info_t { int ndev; dev_node_t node; int hd; + ide_hwif_t *hwif; } ide_info_t; static void ide_release(dev_link_t *); @@ -199,14 +200,14 @@ static void ide_detach(dev_link_t *link) } /* ide_detach */ -static int idecs_register(unsigned long io, unsigned long ctl, unsigned long irq) +static int idecs_register(unsigned long io, unsigned long ctl, unsigned long irq, ide_hwif_t **hwif) { hw_regs_t hw; memset(&hw, 0, sizeof(hw)); ide_init_hwif_ports(&hw, io, ctl, NULL); hw.irq = irq; hw.chipset = ide_pci; - return ide_register_hw(&hw, NULL); + return ide_register_hw_with_fixup(&hw, hwif, ide_undecoded_slave); } /*====================================================================== @@ -224,6 +225,7 @@ void ide_config(dev_link_t *link) { client_handle_t handle = link->handle; ide_info_t *info = link->priv; + ide_hwif_t *hwif; tuple_t tuple; struct { u_short buf[128]; @@ -343,14 +345,17 @@ void ide_config(dev_link_t *link) if (is_kme) outb(0x81, ctl_base+1); - /* retry registration in case device is still spinning up */ + /* retry registration in case device is still spinning up + + FIXME: now handled by IDE layer... ?? */ + for (hd = -1, i = 0; i < 10; i++) { - hd = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ); + hd = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ, &hwif); if (hd >= 0) break; if (link->io.NumPorts1 == 0x20) { outb(0x02, ctl_base + 0x10); hd = idecs_register(io_base + 0x10, ctl_base + 0x10, - link->irq.AssignedIRQ); + link->irq.AssignedIRQ, &hwif); if (hd >= 0) { io_base += 0x10; ctl_base += 0x10; @@ -373,6 +378,7 @@ void ide_config(dev_link_t *link) info->node.major = ide_major[hd]; info->node.minor = 0; info->hd = hd; + info->hwif = hwif; link->dev = &info->node; printk(KERN_INFO "ide-cs: %s: Vcc = %d.%d, Vpp = %d.%d\n", info->node.dev_name, link->conf.Vcc / 10, link->conf.Vcc % 10, @@ -411,13 +417,7 @@ void ide_release(dev_link_t *link) if (info->ndev) { /* FIXME: if this fails we need to queue the cleanup somehow -- need to investigate the required PCMCIA magic */ - ide_unregister(info->hd); - /* deal with brain dead IDE resource management */ - request_region(link->io.BasePort1, link->io.NumPorts1, - info->node.dev_name); - if (link->io.NumPorts2) - request_region(link->io.BasePort2, link->io.NumPorts2, - info->node.dev_name); + ide_unregister_hwif(info->hwif); } info->ndev = 0; link->dev = NULL; diff --git a/drivers/ide/legacy/pdc4030.c b/drivers/ide/legacy/pdc4030.c index c07d341d1..86219e18f 100644 --- a/drivers/ide/legacy/pdc4030.c +++ b/drivers/ide/legacy/pdc4030.c @@ -354,15 +354,6 @@ read_next: (unsigned long)rq->nr_sectors - nsect); #endif /* DEBUG_READ */ -#ifdef CONFIG_IDE_TASKFILE_IO - task_bio_sectors(drive, rq, nsect, IDE_PIO_IN); - - /* FIXME: can we check status after transfer on pdc4030? */ - /* Complete previously submitted bios. */ - while (rq->bio != rq->cbio) - if (!DRIVER(drive)->end_request(drive, 1, bio_sectors(rq->bio))) - return ide_stopped; -#else /* CONFIG_IDE_TASKFILE_IO */ HWIF(drive)->ata_input_data(drive, rq->buffer, nsect * SECTOR_WORDS); rq->buffer += nsect<<9; rq->sector += nsect; @@ -370,7 +361,6 @@ read_next: rq->nr_sectors -= nsect; if (!rq->current_nr_sectors) DRIVER(drive)->end_request(drive, 1, 0); -#endif /* CONFIG_IDE_TASKFILE_IO */ /* * Now the data has been read in, do the following: @@ -421,12 +411,8 @@ read_next: static ide_startstop_t promise_complete_pollfunc(ide_drive_t *drive) { ide_hwgroup_t *hwgroup = HWGROUP(drive); -#ifdef CONFIG_IDE_TASKFILE_IO - struct request *rq = hwgroup->rq; -#else struct request *rq = &hwgroup->wrq; struct bio *bio = rq->bio; -#endif if ((HWIF(drive)->INB(IDE_STATUS_REG)) & BUSY_STAT) { if (time_before(jiffies, hwgroup->poll_timeout)) { @@ -450,15 +436,10 @@ static ide_startstop_t promise_complete_pollfunc(ide_drive_t *drive) printk(KERN_DEBUG "%s: Write complete - end_request\n", drive->name); #endif /* DEBUG_WRITE */ -#ifdef CONFIG_IDE_TASKFILE_IO - /* Complete previously submitted bios. */ - while (rq->bio != rq->cbio) - (void) DRIVER(drive)->end_request(drive, 1, bio_sectors(rq->bio)); -#else bio->bi_idx = bio->bi_vcnt - rq->nr_cbio_segments; rq = hwgroup->rq; DRIVER(drive)->end_request(drive, 1, rq->hard_nr_sectors); -#endif + return ide_stopped; } @@ -466,27 +447,6 @@ static ide_startstop_t promise_complete_pollfunc(ide_drive_t *drive) * promise_multwrite() transfers a block of up to mcount sectors of data * to a drive as part of a disk multiple-sector write operation. */ -#ifdef CONFIG_IDE_TASKFILE_IO -static void promise_multwrite (ide_drive_t *drive, unsigned int msect) -{ - struct request* rq = HWGROUP(drive)->rq; - unsigned int nsect; - - rq->errors = 0; - do { - nsect = rq->current_nr_sectors; - if (nsect > msect) - nsect = msect; - - task_bio_sectors(drive, rq, nsect, IDE_PIO_OUT); - - if (!rq->nr_sectors) - msect = 0; - else - msect -= nsect; - } while (msect); -} -#else /* CONFIG_IDE_TASKFILE_IO */ static void promise_multwrite (ide_drive_t *drive, unsigned int mcount) { ide_hwgroup_t *hwgroup = HWGROUP(drive); @@ -537,7 +497,6 @@ static void promise_multwrite (ide_drive_t *drive, unsigned int mcount) taskfile_output_data(drive, buffer, nsect<<7); } while (mcount); } -#endif /* * promise_write_pollfunc() is the handler for disk write completion polling. @@ -545,12 +504,8 @@ static void promise_multwrite (ide_drive_t *drive, unsigned int mcount) static ide_startstop_t promise_write_pollfunc (ide_drive_t *drive) { ide_hwgroup_t *hwgroup = HWGROUP(drive); -#ifdef CONFIG_IDE_TASKFILE_IO - struct request *rq = hwgroup->rq; -#else struct request *rq = &hwgroup->wrq; struct bio *bio = rq->bio; -#endif if (HWIF(drive)->INB(IDE_NSECTOR_REG) != 0) { if (time_before(jiffies, hwgroup->poll_timeout)) { @@ -564,19 +519,11 @@ static ide_startstop_t promise_write_pollfunc (ide_drive_t *drive) } hwgroup->poll_timeout = 0; printk(KERN_ERR "%s: write timed-out!\n",drive->name); -#ifndef CONFIG_IDE_TASKFILE_IO bio->bi_idx = bio->bi_vcnt - rq->nr_cbio_segments; -#endif return DRIVER(drive)->error(drive, "write timeout", HWIF(drive)->INB(IDE_STATUS_REG)); } -#ifdef CONFIG_IDE_TASKFILE_IO - /* Complete previously submitted bios. */ - while (rq->bio != rq->cbio) - (void) DRIVER(drive)->end_request(drive, 1, bio_sectors(rq->bio)); -#endif - /* * Now write out last 4 sectors and poll for not BUSY */ @@ -602,11 +549,7 @@ static ide_startstop_t promise_write_pollfunc (ide_drive_t *drive) static ide_startstop_t promise_write (ide_drive_t *drive) { ide_hwgroup_t *hwgroup = HWGROUP(drive); -#ifdef CONFIG_IDE_TASKFILE_IO - struct request *rq = hwgroup->rq; -#else struct request *rq = &hwgroup->wrq; -#endif #ifdef DEBUG_WRITE printk(KERN_DEBUG "%s: %s: sectors(%lu-%lu)\n", @@ -654,39 +597,14 @@ static ide_startstop_t promise_write (ide_drive_t *drive) * already set up. It issues a READ or WRITE command to the Promise * controller, assuming LBA has been used to set up the block number. */ -#ifndef CONFIG_IDE_TASKFILE_IO ide_startstop_t do_pdc4030_io (ide_drive_t *drive, struct request *rq) { ide_startstop_t startstop; unsigned long timeout; u8 stat = 0; -#else -static ide_startstop_t do_pdc4030_io (ide_drive_t *drive, ide_task_t *task) -{ - struct request *rq = HWGROUP(drive)->rq; - task_struct_t *taskfile = (task_struct_t *) task->tfRegister; - ide_startstop_t startstop; - unsigned long timeout; - u8 stat = 0; - - if (IDE_CONTROL_REG) - HWIF(drive)->OUTB(drive->ctl, IDE_CONTROL_REG); /* clear nIEN */ - SELECT_MASK(drive, 0); - HWIF(drive)->OUTB(taskfile->feature, IDE_FEATURE_REG); - HWIF(drive)->OUTB(taskfile->sector_count, IDE_NSECTOR_REG); - /* refers to number of sectors to transfer */ - HWIF(drive)->OUTB(taskfile->sector_number, IDE_SECTOR_REG); - /* refers to sector offset or start sector */ - HWIF(drive)->OUTB(taskfile->low_cylinder, IDE_LCYL_REG); - HWIF(drive)->OUTB(taskfile->high_cylinder, IDE_HCYL_REG); - HWIF(drive)->OUTB(taskfile->device_head, IDE_SELECT_REG); - HWIF(drive)->OUTB(taskfile->command, IDE_COMMAND_REG); -#endif if (rq_data_dir(rq) == READ) { -#ifndef CONFIG_IDE_TASKFILE_IO HWIF(drive)->OUTB(PROMISE_READ, IDE_COMMAND_REG); -#endif /* * The card's behaviour is odd at this point. If the data is * available, DRQ will be true, and no interrupt will be @@ -722,9 +640,7 @@ static ide_startstop_t do_pdc4030_io (ide_drive_t *drive, ide_task_t *task) "waiting - Odd!\n", drive->name); return ide_stopped; } else { -#ifndef CONFIG_IDE_TASKFILE_IO HWIF(drive)->OUTB(PROMISE_WRITE, IDE_COMMAND_REG); -#endif if (ide_wait_stat(&startstop, drive, DATA_READY, drive->bad_wstat, WAIT_DRQ)) { printk(KERN_ERR "%s: no DRQ after issuing " @@ -733,9 +649,7 @@ static ide_startstop_t do_pdc4030_io (ide_drive_t *drive, ide_task_t *task) } if (!drive->unmask) local_irq_disable(); -#ifndef CONFIG_IDE_TASKFILE_IO HWGROUP(drive)->wrq = *rq; /* scratchpad */ -#endif return promise_write(drive); } } @@ -749,14 +663,9 @@ static ide_startstop_t promise_rw_disk (ide_drive_t *drive, struct request *rq, */ ide_hwif_t *hwif = HWIF(drive); int drive_number = (hwif->channel << 1) + drive->select.b.unit; -#ifdef CONFIG_IDE_TASKFILE_IO - struct hd_drive_task_hdr taskfile; - ide_task_t args; -#endif BUG_ON(rq->nr_sectors > 127); -#ifndef CONFIG_IDE_TASKFILE_IO if (IDE_CONTROL_REG) hwif->OUTB(drive->ctl, IDE_CONTROL_REG); hwif->OUTB(drive_number, IDE_FEATURE_REG); @@ -767,27 +676,4 @@ static ide_startstop_t promise_rw_disk (ide_drive_t *drive, struct request *rq, hwif->OUTB(((block>>8)&0x0f)|drive->select.all,IDE_SELECT_REG); return do_pdc4030_io(drive, rq); -#else /* !CONFIG_IDE_TASKFILE_IO */ - memset(&taskfile, 0, sizeof(struct hd_drive_task_hdr)); - - taskfile.feature = drive_number; - taskfile.sector_count = rq->nr_sectors; - taskfile.sector_number = block; - taskfile.low_cylinder = (block>>=8); - taskfile.high_cylinder = (block>>=8); - taskfile.device_head = ((block>>8)&0x0f)|drive->select.all; - taskfile.command = (rq->cmd==READ)?PROMISE_READ:PROMISE_WRITE; - - memcpy(args.tfRegister, &taskfile, sizeof(struct hd_drive_task_hdr)); - memset(args.hobRegister, 0, sizeof(struct hd_drive_hob_hdr)); - /* - * Setup the bits of args that we do need. - * Note that we don't use the generic interrupt handlers. - */ - args.handler = NULL; - args.rq = (struct request *) rq; - rq->special = (ide_task_t *)&args; - - return do_pdc4030_io(drive, &args); -#endif /* !CONFIG_IDE_TASKFILE_IO */ } diff --git a/drivers/ide/pci/Makefile b/drivers/ide/pci/Makefile index 861afdeaf..8350f819a 100644 --- a/drivers/ide/pci/Makefile +++ b/drivers/ide/pci/Makefile @@ -9,10 +9,12 @@ obj-$(CONFIG_BLK_DEV_CS5520) += cs5520.o obj-$(CONFIG_BLK_DEV_CS5530) += cs5530.o obj-$(CONFIG_BLK_DEV_SC1200) += sc1200.o obj-$(CONFIG_BLK_DEV_CY82C693) += cy82c693.o +obj-$(CONFIG_BLK_DEV_DELKIN) += delkin_cb.o obj-$(CONFIG_BLK_DEV_HPT34X) += hpt34x.o obj-$(CONFIG_BLK_DEV_HPT366) += hpt366.o #obj-$(CONFIG_BLK_DEV_HPT37X) += hpt37x.o obj-$(CONFIG_BLK_DEV_IT8172) += it8172.o +obj-$(CONFIG_BLK_DEV_IT8212) += it8212.o obj-$(CONFIG_BLK_DEV_NS87415) += ns87415.o obj-$(CONFIG_BLK_DEV_OPTI621) += opti621.o obj-$(CONFIG_BLK_DEV_PDC202XX_OLD) += pdc202xx_old.o diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index b032d2459..d80959488 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c @@ -29,8 +29,6 @@ static u8 aec62xx_proc = 0; static struct pci_dev *aec_devs[AEC_MAX_DEVS]; static int n_aec_devs; -#undef DEBUG_AEC_REGS - static int aec62xx_get_info (char *buffer, char **addr, off_t offset, int count) { char *p = buffer; @@ -44,9 +42,6 @@ static int aec62xx_get_info (char *buffer, char **addr, off_t offset, int count) struct pci_dev *dev = aec_devs[i]; unsigned long iobase = pci_resource_start(dev, 4); u8 c0 = 0, c1 = 0, art = 0; -#ifdef DEBUG_AEC_REGS - u8 uart = 0; -#endif /* DEBUG_AEC_REGS */ c0 = inb(iobase + 0x02); c1 = inb(iobase + 0x0a); @@ -83,24 +78,6 @@ static int aec62xx_get_info (char *buffer, char **addr, off_t offset, int count) p += sprintf(p, " %s(%s)\n", (c1&0x40)?((art&0xc0)?"UDMA":" DMA"):" PIO", (art&0x80)?"2":(art&0x40)?"1":"0"); -#ifdef DEBUG_AEC_REGS - (void) pci_read_config_byte(dev, 0x40, &art); - p += sprintf(p, "Active: 0x%02x", art); - (void) pci_read_config_byte(dev, 0x42, &art); - p += sprintf(p, " 0x%02x", art); - (void) pci_read_config_byte(dev, 0x44, &art); - p += sprintf(p, " 0x%02x", art); - (void) pci_read_config_byte(dev, 0x46, &art); - p += sprintf(p, " 0x%02x\n", art); - (void) pci_read_config_byte(dev, 0x41, &art); - p += sprintf(p, "Recovery: 0x%02x", art); - (void) pci_read_config_byte(dev, 0x43, &art); - p += sprintf(p, " 0x%02x", art); - (void) pci_read_config_byte(dev, 0x45, &art); - p += sprintf(p, " 0x%02x", art); - (void) pci_read_config_byte(dev, 0x47, &art); - p += sprintf(p, " 0x%02x\n", art); -#endif /* DEBUG_AEC_REGS */ } else { /* * case PCI_DEVICE_ID_ARTOP_ATP860: @@ -146,28 +123,6 @@ static int aec62xx_get_info (char *buffer, char **addr, off_t offset, int count) ((art&0x30)==0x30)?"2": ((art&0x20)==0x20)?"1": ((art&0x10)==0x10)?"0":"?"); -#ifdef DEBUG_AEC_REGS - (void) pci_read_config_byte(dev, 0x40, &art); - p += sprintf(p, "Active: 0x%02x", HIGH_4(art)); - (void) pci_read_config_byte(dev, 0x41, &art); - p += sprintf(p, " 0x%02x", HIGH_4(art)); - (void) pci_read_config_byte(dev, 0x42, &art); - p += sprintf(p, " 0x%02x", HIGH_4(art)); - (void) pci_read_config_byte(dev, 0x43, &art); - p += sprintf(p, " 0x%02x\n", HIGH_4(art)); - (void) pci_read_config_byte(dev, 0x40, &art); - p += sprintf(p, "Recovery: 0x%02x", LOW_4(art)); - (void) pci_read_config_byte(dev, 0x41, &art); - p += sprintf(p, " 0x%02x", LOW_4(art)); - (void) pci_read_config_byte(dev, 0x42, &art); - p += sprintf(p, " 0x%02x", LOW_4(art)); - (void) pci_read_config_byte(dev, 0x43, &art); - p += sprintf(p, " 0x%02x\n", LOW_4(art)); - (void) pci_read_config_byte(dev, 0x49, &uart); - p += sprintf(p, "reg49h = 0x%02x ", uart); - (void) pci_read_config_byte(dev, 0x4a, &uart); - p += sprintf(p, "reg4ah = 0x%02x\n", uart); -#endif /* DEBUG_AEC_REGS */ } } /* p - buffer must be less than 4k! */ @@ -240,6 +195,7 @@ static int aec6210_tune_chipset (ide_drive_t *drive, u8 xferspeed) unsigned long flags; local_irq_save(flags); + /* 0x40|(2*drive->dn): Active, 0x41|(2*drive->dn): Recovery */ pci_read_config_word(dev, 0x40|(2*drive->dn), &d_conf); tmp0 = pci_bus_clock_list(speed, BUSCLOCK(dev)); SPLIT_BYTE(tmp0,tmp1,tmp2); @@ -268,6 +224,7 @@ static int aec6260_tune_chipset (ide_drive_t *drive, u8 xferspeed) unsigned long flags; local_irq_save(flags); + /* high 4-bits: Active, low 4-bits: Recovery */ pci_read_config_byte(dev, 0x40|drive->dn, &drive_conf); drive_conf = pci_bus_clock_list(speed, BUSCLOCK(dev)); pci_write_config_byte(dev, 0x40|drive->dn, drive_conf); @@ -540,7 +497,7 @@ static struct pci_device_id aec62xx_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, aec62xx_pci_tbl); static struct pci_driver driver = { - .name = "AEC62xx IDE", + .name = "AEC62xx_IDE", .id_table = aec62xx_pci_tbl, .probe = aec62xx_init_one, }; diff --git a/drivers/ide/pci/aec62xx.h b/drivers/ide/pci/aec62xx.h index 3f272752c..460d7e365 100644 --- a/drivers/ide/pci/aec62xx.h +++ b/drivers/ide/pci/aec62xx.h @@ -53,13 +53,6 @@ struct chipset_bus_clock_list_entry aec6xxx_34_base [] = { { 0, 0x00, 0x00 } }; - -#ifndef HIGH_4 -#define HIGH_4(H) ((H)=(H>>4)) -#endif -#ifndef LOW_4 -#define LOW_4(L) ((L)=(L-((L>>4)<<4))) -#endif #ifndef SPLIT_BYTE #define SPLIT_BYTE(B,H,L) ((H)=(B>>4), (L)=(B-((B>>4)<<4))) #endif diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 82a449dc8..335f43fd9 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c @@ -8,6 +8,7 @@ * Copyright (C) 1998-2000 Andre Hedrick (andre@linux-ide.org) * May be copied or modified under the terms of the GNU General Public License * Copyright (C) 2002 Alan Cox + * ALi (now ULi M5228) support by Clear Zhang * * (U)DMA capable version of ali 1533/1543(C), 1535(D) * @@ -799,7 +800,8 @@ static void __init init_hwif_ali15x3 (ide_hwif_t *hwif) 1, 11, 0, 12, 0, 14, 0, 15 }; int irq = -1; - hwif->irq = hwif->channel ? 15 : 14; + if(hwif->pci_dev->device == PCI_DEVICE_ID_AL_M5229) + hwif->irq = hwif->channel ? 15 : 14; if (isa_dev) { /* @@ -888,6 +890,7 @@ static int __devinit alim15x3_init_one(struct pci_dev *dev, const struct pci_dev static struct pci_device_id alim15x3_pci_tbl[] = { { PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5229, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5228, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { 0, }, }; MODULE_DEVICE_TABLE(pci, alim15x3_pci_tbl); diff --git a/drivers/ide/pci/amd74xx.c b/drivers/ide/pci/amd74xx.c index 30bdcb3ec..3967254ce 100644 --- a/drivers/ide/pci/amd74xx.c +++ b/drivers/ide/pci/amd74xx.c @@ -416,6 +416,9 @@ static void __init init_hwif_amd74xx(ide_hwif_t *hwif) { int i; + if (!hwif->irq) + hwif->irq = hwif->channel ? 15 : 14; + hwif->autodma = 0; hwif->tuneproc = &amd74xx_tune_drive; @@ -520,7 +523,7 @@ static struct pci_device_id amd74xx_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, amd74xx_pci_tbl); static struct pci_driver driver = { - .name = "AMD IDE", + .name = "AMD_IDE", .id_table = amd74xx_pci_tbl, .probe = amd74xx_probe, }; diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c index bd3708568..5a65d5dc1 100644 --- a/drivers/ide/pci/atiixp.c +++ b/drivers/ide/pci/atiixp.c @@ -490,7 +490,7 @@ static struct pci_device_id atiixp_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, atiixp_pci_tbl); static struct pci_driver driver = { - .name = "ATIIXP IDE", + .name = "ATIIXP_IDE", .id_table = atiixp_pci_tbl, .probe = atiixp_init_one, }; diff --git a/drivers/ide/pci/cmd64x.c b/drivers/ide/pci/cmd64x.c index 06b00a3c3..abea997dc 100644 --- a/drivers/ide/pci/cmd64x.c +++ b/drivers/ide/pci/cmd64x.c @@ -38,8 +38,6 @@ static u8 cmd64x_proc = 0; static struct pci_dev *cmd_devs[CMD_MAX_DEVS]; static int n_cmd_devs; -#undef DEBUG_CMD_REGS - static char * print_cmd64x_get_info (char *buf, struct pci_dev *dev, int index) { char *p = buf; @@ -49,9 +47,6 @@ static char * print_cmd64x_get_info (char *buf, struct pci_dev *dev, int index) u8 reg72 = 0, reg73 = 0; /* primary */ u8 reg7a = 0, reg7b = 0; /* secondary */ u8 reg50 = 0, reg71 = 0; /* extra */ -#ifdef DEBUG_CMD_REGS - u8 hi_byte = 0, lo_byte = 0; -#endif /* DEBUG_CMD_REGS */ p += sprintf(p, "\nController: %d\n", index); p += sprintf(p, "CMD%x Chipset.\n", dev->device); @@ -127,18 +122,6 @@ static char * print_cmd64x_get_info (char *buf, struct pci_dev *dev, int index) (reg71 & MRDMODE_BLK_CH0) ? "blocked" : "enabled", (reg71 & MRDMODE_BLK_CH1) ? "blocked" : "enabled"); -#ifdef DEBUG_CMD_REGS - SPLIT_BYTE(reg50, hi_byte, lo_byte); - p += sprintf(p, "CFR = 0x%02x, HI = 0x%02x, " - "LOW = 0x%02x\n", reg50, hi_byte, lo_byte); - SPLIT_BYTE(reg57, hi_byte, lo_byte); - p += sprintf(p, "ARTTIM23 = 0x%02x, HI = 0x%02x, " - "LOW = 0x%02x\n", reg57, hi_byte, lo_byte); - SPLIT_BYTE(reg71, hi_byte, lo_byte); - p += sprintf(p, "MRDMODE = 0x%02x, HI = 0x%02x, " - "LOW = 0x%02x\n", reg71, hi_byte, lo_byte); -#endif /* DEBUG_CMD_REGS */ - return (char *)p; } @@ -760,7 +743,7 @@ static struct pci_device_id cmd64x_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, cmd64x_pci_tbl); static struct pci_driver driver = { - .name = "CMD64x IDE", + .name = "CMD64x_IDE", .id_table = cmd64x_pci_tbl, .probe = cmd64x_init_one, }; diff --git a/drivers/ide/pci/cmd64x.h b/drivers/ide/pci/cmd64x.h index f5dde235a..78490275d 100644 --- a/drivers/ide/pci/cmd64x.h +++ b/drivers/ide/pci/cmd64x.h @@ -15,10 +15,6 @@ #define cmdprintk(x...) #endif -#ifndef SPLIT_BYTE -#define SPLIT_BYTE(B,H,L) ((H)=(B>>4), (L)=(B-((B>>4)<<4))) -#endif - /* * CMD64x specific registers definition. */ diff --git a/drivers/ide/pci/cs5520.c b/drivers/ide/pci/cs5520.c index 8ddd2cea5..02380d015 100644 --- a/drivers/ide/pci/cs5520.c +++ b/drivers/ide/pci/cs5520.c @@ -287,7 +287,7 @@ static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_devic if(pci_enable_device_bars(dev, 1<<2)) { printk(KERN_WARNING "%s: Unable to enable 55x0.\n", d->name); - return 1; + return -EBUSY; } pci_set_master(dev); if (pci_set_dma_mask(dev, 0xFFFFFFFF)) { @@ -305,8 +305,6 @@ static int __devinit cs5520_init_one(struct pci_dev *dev, const struct pci_devic ide_pci_setup_ports(dev, d, 1, 14, &index); - printk("Index.b %d %d\n", index.b.low, index.b.high); - mdelay(2000); if((index.b.low & 0xf0) != 0xf0) probe_hwif_init(&ide_hwifs[index.b.low]); if((index.b.high & 0xf0) != 0xf0) @@ -322,7 +320,7 @@ static struct pci_device_id cs5520_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, cs5520_pci_tbl); static struct pci_driver driver = { - .name = "CyrixIDE", + .name = "Cyrix_IDE", .id_table = cs5520_pci_tbl, .probe = cs5520_init_one, }; diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index 2150a18a8..06af59f56 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c @@ -41,6 +41,17 @@ #include "generic.h" +static int ide_generic_all; /* Set to claim all devices */ + +static int __init ide_generic_all_on(char *unused) +{ + ide_generic_all = 1; + printk(KERN_INFO "IDE generic will claim all unknown PCI IDE storage controllers.\n"); + return 1; +} + +__setup("all-generic-ide", ide_generic_all_on); + static unsigned int __init init_chipset_generic (struct pci_dev *dev, const char *name) { return 0; @@ -96,51 +107,63 @@ static int __devinit generic_init_one(struct pci_dev *dev, const struct pci_devi { ide_pci_device_t *d = &generic_chipsets[id->driver_data]; u16 command; + + /* Don't use the generic entry unless instructed to do so */ + if (id->driver_data == 0) + if(ide_generic_all == 0) + return -ENODEV; if (dev->vendor == PCI_VENDOR_ID_UMC && dev->device == PCI_DEVICE_ID_UMC_UM8886A && (!(PCI_FUNC(dev->devfn) & 1))) - return 1; /* UM8886A/BF pair */ + return -EAGAIN; /* UM8886A/BF pair */ if (dev->vendor == PCI_VENDOR_ID_OPTI && dev->device == PCI_DEVICE_ID_OPTI_82C558 && (!(PCI_FUNC(dev->devfn) & 1))) - return 1; + return -EAGAIN; pci_read_config_word(dev, PCI_COMMAND, &command); - if(!(command & PCI_COMMAND_IO)) - { + if(!(command & PCI_COMMAND_IO)) { printk(KERN_INFO "Skipping disabled %s IDE controller.\n", d->name); - return 1; + return -ENODEV; } ide_setup_pci_device(dev, d); return 0; } +static void __devexit generic_remove_one(struct pci_dev *dev) +{ + ide_pci_remove_hwifs(dev); +} + static struct pci_device_id generic_pci_tbl[] = { - { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - { PCI_VENDOR_ID_PCTECH, PCI_DEVICE_ID_PCTECH_SAMURAI_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, - { PCI_VENDOR_ID_HOLTEK, PCI_DEVICE_ID_HOLTEK_6565, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, - { PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8673F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, - { PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8886A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4}, - { PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8886BF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5}, - { PCI_VENDOR_ID_HINT, PCI_DEVICE_ID_HINT_VXPROII_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6}, - { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C561, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7}, - { PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C558, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8}, + { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87410, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, + { PCI_VENDOR_ID_PCTECH, PCI_DEVICE_ID_PCTECH_SAMURAI_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, + { PCI_VENDOR_ID_HOLTEK, PCI_DEVICE_ID_HOLTEK_6565, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, + { PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8673F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4}, + { PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8886A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5}, + { PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8886BF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 6}, + { PCI_VENDOR_ID_HINT, PCI_DEVICE_ID_HINT_VXPROII_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7}, + { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C561, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8}, + { PCI_VENDOR_ID_OPTI, PCI_DEVICE_ID_OPTI_82C558, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9}, #ifdef CONFIG_BLK_DEV_IDE_SATA - { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237_SATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 9}, + { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237_SATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10}, #endif - { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10}, - { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11}, - { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, + { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11}, + { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, + { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, + /* Must come last. If you add entries adjust this table appropriately and the init_one code */ + { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0}, { 0, }, }; MODULE_DEVICE_TABLE(pci, generic_pci_tbl); static struct pci_driver driver = { - .name = "PCI IDE", + .name = "PCI_IDE", .id_table = generic_pci_tbl, .probe = generic_init_one, + .remove = __devexit_p(generic_remove_one), }; static int generic_ide_init(void) @@ -150,6 +173,14 @@ static int generic_ide_init(void) module_init(generic_ide_init); +static void generic_ide_exit(void) +{ + return ide_pci_unregister_driver(&driver); +} + +module_exit(generic_ide_exit); + + MODULE_AUTHOR("Andre Hedrick"); MODULE_DESCRIPTION("PCI driver module for generic PCI IDE"); MODULE_LICENSE("GPL"); diff --git a/drivers/ide/pci/generic.h b/drivers/ide/pci/generic.h index a66692026..c14da1547 100644 --- a/drivers/ide/pci/generic.h +++ b/drivers/ide/pci/generic.h @@ -10,6 +10,13 @@ static void init_hwif_generic(ide_hwif_t *); static ide_pci_device_t generic_chipsets[] __devinitdata = { { /* 0 */ + .name = "Unknown", + .init_chipset = init_chipset_generic, + .init_hwif = init_hwif_generic, + .channels = 2, + .autodma = AUTODMA, + .bootable = ON_BOARD, + },{ /* 1 */ .name = "NS87410", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, @@ -17,84 +24,84 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { .autodma = AUTODMA, .enablebits = {{0x43,0x08,0x08}, {0x47,0x08,0x08}}, .bootable = ON_BOARD, - },{ /* 1 */ + },{ /* 2 */ .name = "SAMURAI", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = AUTODMA, .bootable = ON_BOARD, - },{ /* 2 */ + },{ /* 3 */ .name = "HT6565", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = AUTODMA, .bootable = ON_BOARD, - },{ /* 3 */ + },{ /* 4 */ .name = "UM8673F", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NODMA, .bootable = ON_BOARD, - },{ /* 4 */ + },{ /* 5 */ .name = "UM8886A", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NODMA, .bootable = ON_BOARD, - },{ /* 5 */ + },{ /* 6 */ .name = "UM8886BF", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NODMA, .bootable = ON_BOARD, - },{ /* 6 */ + },{ /* 7 */ .name = "HINT_IDE", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = AUTODMA, .bootable = ON_BOARD, - },{ /* 7 */ + },{ /* 8 */ .name = "VIA_IDE", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NOAUTODMA, .bootable = ON_BOARD, - },{ /* 8 */ + },{ /* 9 */ .name = "OPTI621V", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NOAUTODMA, .bootable = ON_BOARD, - },{ /* 9 */ + },{ /* 10 */ .name = "VIA8237SATA", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = AUTODMA, .bootable = OFF_BOARD, - },{ /* 10 */ + },{ /* 11 */ .name = "Piccolo0102", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NOAUTODMA, .bootable = ON_BOARD, - },{ /* 11 */ + },{ /* 12 */ .name = "Piccolo0103", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, .channels = 2, .autodma = NOAUTODMA, .bootable = ON_BOARD, - },{ /* 12 */ + },{ /* 13 */ .name = "Piccolo0105", .init_chipset = init_chipset_generic, .init_hwif = init_hwif_generic, diff --git a/drivers/ide/pci/hpt34x.h b/drivers/ide/pci/hpt34x.h index 465f56715..d1a840034 100644 --- a/drivers/ide/pci/hpt34x.h +++ b/drivers/ide/pci/hpt34x.h @@ -11,8 +11,6 @@ #define SPLIT_BYTE(B,H,L) ((H)=(B>>4), (L)=(B-((B>>4)<<4))) #endif -#undef DISPLAY_HPT34X_TIMINGS - static unsigned int init_chipset_hpt34x(struct pci_dev *, const char *); static void init_hwif_hpt34x(ide_hwif_t *); diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c index 5f5bc3b6e..520b8f27e 100644 --- a/drivers/ide/pci/hpt366.c +++ b/drivers/ide/pci/hpt366.c @@ -10,6 +10,11 @@ * donation of an ABit BP6 mainboard, processor, and memory acellerated * development and support. * + * + * Highpoint have their own driver (source except for the raid part) + * available from http://www.highpoint-tech.com/hpt3xx-opensource-v131.tgz + * This may be useful to anyone wanting to work on the mainstream hpt IDE. + * * Note that final HPT370 support was done by force extraction of GPL. * * - add function for getting/setting power status of drive @@ -103,7 +108,10 @@ static int hpt366_get_info (char *buffer, char **addr, off_t offset, int count) u8 c0, c1; p += sprintf(p, "\nController: %d\n", i); - p += sprintf(p, "Chipset: HPT%s\n", chipset_nums[class_rev]); + if(class_rev < 9) + p += sprintf(p, "Chipset: HPT%s\n", chipset_nums[class_rev]); + else + p += sprintf(p, "Chipset: HPT revision %d\n", class_rev); p += sprintf(p, "--------------- Primary Channel " "--------------- Secondary Channel " "--------------\n"); @@ -169,6 +177,12 @@ static int hpt366_get_info (char *buffer, char **addr, off_t offset, int count) } #endif /* defined(DISPLAY_HPT366_TIMINGS) && defined(CONFIG_PROC_FS) */ +/* + * This wants fixing so that we do everything not by classrev + * (which breaks on the newest chips) but by creating an + * enumeration of chip variants and using that + */ + static u32 hpt_revision (struct pci_dev *dev) { u32 class_rev; @@ -466,7 +480,11 @@ static int config_chipset_for_dma (ide_drive_t *drive) { u8 speed = ide_dma_speed(drive, hpt3xx_ratemask(drive)); - if (!(speed)) + if (!speed) + return 0; + + /* If we don't have any timings we can't do a lot */ + if (pci_get_drvdata(HWIF(drive)->pci_dev) == NULL) return 0; (void) hpt3xx_tune_chipset(drive, speed); @@ -777,9 +795,6 @@ static int hpt3xx_tristate (ide_drive_t * drive, int state) u8 reg59h = 0, reset = (hwif->channel) ? 0x80 : 0x40; u8 regXXh = 0, state_reg= (hwif->channel) ? 0x57 : 0x53; - if (!hwif) - return -EINVAL; - // hwif->bus_state = state; pci_read_config_byte(dev, 0x59, ®59h); @@ -813,9 +828,6 @@ static int hpt370_busproc(ide_drive_t * drive, int state) u8 tristate = 0, resetmask = 0, bus_reg = 0; u16 tri_reg; - if (!hwif) - return -EINVAL; - hwif->bus_state = state; if (hwif->channel) { @@ -892,7 +904,11 @@ static int __devinit init_hpt37x(struct pci_dev *dev) /* * default to pci clock. make sure MA15/16 are set to output - * to prevent drives having problems with 40-pin cables. + * to prevent drives having problems with 40-pin cables. Needed + * for some drives such as IBM-DTLA which will not enter ready + * state on reset when PDIAG is a input. + * + * ToDo: should we set 0x21 when using PLL mode ? */ pci_write_config_byte(dev, 0x5b, 0x23); @@ -958,7 +974,7 @@ static int __devinit init_hpt37x(struct pci_dev *dev) /* Unsupported */ } else if (pll == F_LOW_PCI_50) { if (hpt_minimum_revision(dev,8)) - pci_set_drvdata(dev, NULL); + pci_set_drvdata(dev, (void *) fifty_base_hpt370a); else if (hpt_minimum_revision(dev,5)) pci_set_drvdata(dev, (void *) fifty_base_hpt372); else if (hpt_minimum_revision(dev,4)) @@ -987,15 +1003,13 @@ static int __devinit init_hpt37x(struct pci_dev *dev) * result in slow reads when using a 33MHz PCI clock. we also * don't like to use the PLL because it will cause glitches * on PRST/SRST when the HPT state engine gets reset. + * + * ToDo: Use 66MHz PLL when ATA133 devices are present on a + * 372 device so we can get ATA133 support */ if (pci_get_drvdata(dev)) goto init_hpt37X_done; - if (hpt_minimum_revision(dev,8)) - { - printk(KERN_ERR "HPT374: Only 33MHz PCI timings are supported.\n"); - return -EOPNOTSUPP; - } /* * adjust PLL based upon PCI clock, enable it, and wait for * stabilization. @@ -1041,6 +1055,9 @@ pll_recal: } init_hpt37X_done: + if (!pci_get_drvdata(dev)) + printk(KERN_ERR "HPT37X%s: unknown bus timing [%d %d].\n", + is_372n?"N":"", pll, freq); /* reset state engine */ pci_write_config_byte(dev, 0x50, 0x37); pci_write_config_byte(dev, 0x54, 0x37); @@ -1403,7 +1420,7 @@ static struct pci_device_id hpt366_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, hpt366_pci_tbl); static struct pci_driver driver = { - .name = "HPT366 IDE", + .name = "HPT366_IDE", .id_table = hpt366_pci_tbl, .probe = hpt366_init_one, }; diff --git a/drivers/ide/pci/it8172.c b/drivers/ide/pci/it8172.c index b65ce0877..17de2d38b 100644 --- a/drivers/ide/pci/it8172.c +++ b/drivers/ide/pci/it8172.c @@ -290,7 +290,7 @@ static int __devinit it8172_init_one(struct pci_dev *dev, const struct pci_devic { if ((!(PCI_FUNC(dev->devfn) & 1) || (!((dev->class >> 8) == PCI_CLASS_STORAGE_IDE)))) - return 1; /* IT8172 is more than only a IDE controller */ + return -EAGAIN; /* IT8172 is more than only a IDE controller */ ide_setup_pci_device(dev, &it8172_chipsets[id->driver_data]); return 0; } @@ -302,7 +302,7 @@ static struct pci_device_id it8172_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, it8172_pci_tbl); static struct pci_driver driver = { - .name = "IT8172IDE", + .name = "IT8172_IDE", .id_table = it8172_pci_tbl, .probe = it8172_init_one, }; diff --git a/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c index a5b6e7e5c..44f782492 100644 --- a/drivers/ide/pci/ns87415.c +++ b/drivers/ide/pci/ns87415.c @@ -236,7 +236,7 @@ static struct pci_device_id ns87415_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, ns87415_pci_tbl); static struct pci_driver driver = { - .name = "NS87415IDE", + .name = "NS87415_IDE", .id_table = ns87415_pci_tbl, .probe = ns87415_init_one, }; diff --git a/drivers/ide/pci/opti621.c b/drivers/ide/pci/opti621.c index 3ca7db7d5..ab76641ae 100644 --- a/drivers/ide/pci/opti621.c +++ b/drivers/ide/pci/opti621.c @@ -367,7 +367,7 @@ static struct pci_device_id opti621_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, opti621_pci_tbl); static struct pci_driver driver = { - .name = "Opti621 IDE", + .name = "Opti621_IDE", .id_table = opti621_pci_tbl, .probe = opti621_init_one, }; diff --git a/drivers/ide/pci/pdc202xx_new.c b/drivers/ide/pci/pdc202xx_new.c index f493b29ce..8f635922a 100644 --- a/drivers/ide/pci/pdc202xx_new.c +++ b/drivers/ide/pci/pdc202xx_new.c @@ -531,7 +531,7 @@ static struct pci_device_id pdc202new_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, pdc202new_pci_tbl); static struct pci_driver driver = { - .name = "Promise IDE", + .name = "Promise_IDE", .id_table = pdc202new_pci_tbl, .probe = pdc202new_init_one, }; diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index 3b4379c63..bc5964e20 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c @@ -314,17 +314,6 @@ static int pdc202xx_tune_chipset (ide_drive_t *drive, u8 xferspeed) pci_write_config_byte(dev, (drive_pci)|0x02, CP|TC); } -#if PDC202XX_DECODE_REGISTER_INFO - pci_read_config_byte(dev, (drive_pci), &AP); - pci_read_config_byte(dev, (drive_pci)|0x01, &BP); - pci_read_config_byte(dev, (drive_pci)|0x02, &CP); - pci_read_config_byte(dev, (drive_pci)|0x03, &DP); - - decode_registers(REG_A, AP); - decode_registers(REG_B, BP); - decode_registers(REG_C, CP); - decode_registers(REG_D, DP); -#endif /* PDC202XX_DECODE_REGISTER_INFO */ #if PDC202XX_DEBUG_DRIVE_INFO printk(KERN_DEBUG "%s: %s drive%d 0x%08x ", drive->name, ide_xfer_verbose(speed), @@ -720,7 +709,8 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif) struct pci_dev *dev = hwif->pci_dev; /* PDC20265 has problems with large LBA48 requests */ - if (dev->device == PCI_DEVICE_ID_PROMISE_20265) + if ((dev->device == PCI_DEVICE_ID_PROMISE_20267) || + (dev->device == PCI_DEVICE_ID_PROMISE_20265)) hwif->rqsize = 256; hwif->autodma = 0; @@ -905,7 +895,7 @@ static struct pci_device_id pdc202xx_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, pdc202xx_pci_tbl); static struct pci_driver driver = { - .name = "Promise Old IDE", + .name = "Promise_Old_IDE", .id_table = pdc202xx_pci_tbl, .probe = pdc202xx_init_one, }; diff --git a/drivers/ide/pci/pdc202xx_old.h b/drivers/ide/pci/pdc202xx_old.h index 95ea2c8aa..6afebd1d2 100644 --- a/drivers/ide/pci/pdc202xx_old.h +++ b/drivers/ide/pci/pdc202xx_old.h @@ -10,7 +10,6 @@ #endif #define PDC202XX_DEBUG_DRIVE_INFO 0 -#define PDC202XX_DECODE_REGISTER_INFO 0 static const char *pdc_quirk_drives[] = { "QUANTUM FIREBALLlct08 08", @@ -99,76 +98,6 @@ static inline u8 *pdc202xx_ultra_verbose (u32 drive_pci, u16 slow_cable) #define MC1 0x02 /* DMA"C" timing */ #define MC0 0x01 /* DMA"C" timing */ -#if PDC202XX_DECODE_REGISTER_INFO - -#define REG_A 0x01 -#define REG_B 0x02 -#define REG_C 0x04 -#define REG_D 0x08 - -static void decode_registers (u8 registers, u8 value) -{ - u8 bit = 0, bit1 = 0, bit2 = 0; - - switch(registers) { - case REG_A: - bit2 = 0; - printk("A Register "); - if (value & 0x80) printk("SYNC_IN "); - if (value & 0x40) printk("ERRDY_EN "); - if (value & 0x20) printk("IORDY_EN "); - if (value & 0x10) printk("PREFETCH_EN "); - if (value & 0x08) { printk("PA3 ");bit2 |= 0x08; } - if (value & 0x04) { printk("PA2 ");bit2 |= 0x04; } - if (value & 0x02) { printk("PA1 ");bit2 |= 0x02; } - if (value & 0x01) { printk("PA0 ");bit2 |= 0x01; } - printk("PIO(A) = %d ", bit2); - break; - case REG_B: - bit1 = 0;bit2 = 0; - printk("B Register "); - if (value & 0x80) { printk("MB2 ");bit1 |= 0x80; } - if (value & 0x40) { printk("MB1 ");bit1 |= 0x40; } - if (value & 0x20) { printk("MB0 ");bit1 |= 0x20; } - printk("DMA(B) = %d ", bit1 >> 5); - if (value & 0x10) printk("PIO_FORCED/PB4 "); - if (value & 0x08) { printk("PB3 ");bit2 |= 0x08; } - if (value & 0x04) { printk("PB2 ");bit2 |= 0x04; } - if (value & 0x02) { printk("PB1 ");bit2 |= 0x02; } - if (value & 0x01) { printk("PB0 ");bit2 |= 0x01; } - printk("PIO(B) = %d ", bit2); - break; - case REG_C: - bit2 = 0; - printk("C Register "); - if (value & 0x80) printk("DMARQp "); - if (value & 0x40) printk("IORDYp "); - if (value & 0x20) printk("DMAR_EN "); - if (value & 0x10) printk("DMAW_EN "); - - if (value & 0x08) { printk("MC3 ");bit2 |= 0x08; } - if (value & 0x04) { printk("MC2 ");bit2 |= 0x04; } - if (value & 0x02) { printk("MC1 ");bit2 |= 0x02; } - if (value & 0x01) { printk("MC0 ");bit2 |= 0x01; } - printk("DMA(C) = %d ", bit2); - break; - case REG_D: - printk("D Register "); - break; - default: - return; - } - printk("\n %s ", (registers & REG_D) ? "DP" : - (registers & REG_C) ? "CP" : - (registers & REG_B) ? "BP" : - (registers & REG_A) ? "AP" : "ERROR"); - for (bit=128;bit>0;bit/=2) - printk("%s", (value & bit) ? "1" : "0"); - printk("\n"); -} - -#endif /* PDC202XX_DECODE_REGISTER_INFO */ - #define DISPLAY_PDC202XX_TIMINGS static void init_setup_pdc202ata4(struct pci_dev *dev, ide_pci_device_t *d); diff --git a/drivers/ide/pci/piix.c b/drivers/ide/pci/piix.c index 26719f2c7..c4161a5f5 100644 --- a/drivers/ide/pci/piix.c +++ b/drivers/ide/pci/piix.c @@ -561,36 +561,31 @@ static int piix_config_drive_xfer_rate (ide_drive_t *drive) drive->init_speed = 0; if ((id->capability & 1) && drive->autodma) { + /* Consult the list of known "bad" drives */ if (__ide_dma_bad_drive(drive)) goto fast_ata_pio; - if (id->field_valid & 4) { - if (id->dma_ultra & hwif->ultra_mask) { - /* Force if Capable UltraDMA */ - if ((id->field_valid & 2) && - (!piix_config_drive_for_dma(drive))) - goto try_dma_modes; - } - } else if (id->field_valid & 2) { -try_dma_modes: - if ((id->dma_mword & hwif->mwdma_mask) || - (id->dma_1word & hwif->swdma_mask)) { - /* Force if Capable regular DMA modes */ - if (!piix_config_drive_for_dma(drive)) - goto no_dma_set; - } - } else if (__ide_dma_good_drive(drive) && - (id->eide_dma_time < 150)) { - /* Consult the list of known "good" drives */ - if (!piix_config_drive_for_dma(drive)) - goto no_dma_set; - } else { - goto fast_ata_pio; + + /** + * Try to turn DMA on if: + * - UDMA or EIDE modes are supported or + * - drive is a known "good" drive + * + * Checks for best mode supported are down later by + * piix_config_drive_for_dma() -> ide_dma_speed() + */ + if ((id->field_valid & (4 | 2)) || + (__ide_dma_good_drive(drive) && id->eide_dma_time < 150)) { + if (piix_config_drive_for_dma(drive)) + return hwif->ide_dma_on(drive); } - return hwif->ide_dma_on(drive); + + /* For some reason DMA wasn't turned on, so try PIO. */ + goto fast_ata_pio; + } else if ((id->capability & 8) || (id->field_valid & 2)) { fast_ata_pio: -no_dma_set: + /* Find best PIO mode. */ hwif->tuneproc(drive, 255); return hwif->ide_dma_off_quietly(drive); } @@ -803,7 +798,7 @@ static struct pci_device_id piix_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, piix_pci_tbl); static struct pci_driver driver = { - .name = "PIIX IDE", + .name = "PIIX_IDE", .id_table = piix_pci_tbl, .probe = piix_init_one, }; diff --git a/drivers/ide/pci/rz1000.c b/drivers/ide/pci/rz1000.c index 3405e6a1b..8281e4fa6 100644 --- a/drivers/ide/pci/rz1000.c +++ b/drivers/ide/pci/rz1000.c @@ -74,7 +74,7 @@ static struct pci_device_id rz1000_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, rz1000_pci_tbl); static struct pci_driver driver = { - .name = "RZ1000 IDE", + .name = "RZ1000_IDE", .id_table = rz1000_pci_tbl, .probe = rz1000_init_one, }; diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c index 902408d18..4cd5d013f 100644 --- a/drivers/ide/pci/sc1200.c +++ b/drivers/ide/pci/sc1200.c @@ -565,7 +565,7 @@ static struct pci_device_id sc1200_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, sc1200_pci_tbl); static struct pci_driver driver = { - .name = "SC1200 IDE", + .name = "SC1200_IDE", .id_table = sc1200_pci_tbl, .probe = sc1200_init_one, .suspend = sc1200_suspend, diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index 27d907c9b..3c6992bce 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c @@ -539,11 +539,9 @@ static unsigned int __init init_chipset_svwks (struct pci_dev *dev, const char * else if ((dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB5IDE) || (dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE) || (dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2)) { -// u32 pioreg = 0, dmareg = 0; /* Third Channel Test */ if (!(PCI_FUNC(dev->devfn) & 1)) { -#if 1 struct pci_dev * findev = NULL; u32 reg4c = 0; findev = pci_find_device(PCI_VENDOR_ID_SERVERWORKS, @@ -555,19 +553,11 @@ static unsigned int __init init_chipset_svwks (struct pci_dev *dev, const char * reg4c |= 0x00000020; pci_write_config_dword(findev, 0x4C, reg4c); } -#endif outb_p(0x06, 0x0c00); dev->irq = inb_p(0x0c01); -#if 0 - /* WE need to figure out how to get the correct one */ - printk("%s: interrupt %d\n", name, dev->irq); - if (dev->irq != 0x0B) - dev->irq = 0x0B; -#endif #if 0 printk("%s: device class (0x%04x)\n", name, dev->class); -#else if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE) { dev->class &= ~0x000F0F00; // dev->class |= ~0x00000400; @@ -593,7 +583,8 @@ static unsigned int __init init_chipset_svwks (struct pci_dev *dev, const char * * interrupt pin to be set, and it is a compatibility * mode issue. */ - dev->irq = 0; + if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE) + dev->irq = 0; } // pci_read_config_dword(dev, 0x40, &pioreg) // pci_write_config_dword(dev, 0x40, 0x99999999); @@ -767,9 +758,6 @@ static void __init init_setup_csb6 (struct pci_dev *dev, ide_pci_device_t *d) d->bootable = NEVER_BOARD; if (dev->resource[0].start == 0x01f1) d->bootable = ON_BOARD; - } else { - if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE) - return; } #if 0 if ((IDE_PCI_DEVID_EQ(d->devid, DEVID_CSB6) && @@ -812,13 +800,9 @@ static struct pci_device_id svwks_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, svwks_pci_tbl); static struct pci_driver driver = { - .name = "Serverworks IDE", + .name = "Serverworks_IDE", .id_table = svwks_pci_tbl, .probe = svwks_init_one, -#if 0 /* FIXME: implement */ - .suspend = , - .resume = , -#endif }; static int svwks_ide_init(void) diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c index 0187aafac..f93ff6593 100644 --- a/drivers/ide/pci/sgiioc4.c +++ b/drivers/ide/pci/sgiioc4.c @@ -570,7 +570,6 @@ sgiioc4_build_dma_table(ide_drive_t * drive, struct request *rq, int ddir) use_pio_instead: pci_unmap_sg(hwif->pci_dev, hwif->sg_table, hwif->sg_nents, hwif->sg_dma_direction); - hwif->sg_dma_active = 0; return 0; /* revert to PIO for this request */ } @@ -702,25 +701,17 @@ sgiioc4_ide_setup_pci_device(struct pci_dev *dev, ide_pci_device_t * d) hwif->name, d->name); probe_hwif_init(hwif); + + /* Create /proc/ide entries */ + create_proc_ide_interfaces(); + return 0; } -/* This ensures that we can build this for generic kernels without - * having all the SN2 code sync'd and merged. - */ -typedef enum pciio_endian_e { - PCIDMA_ENDIAN_BIG, - PCIDMA_ENDIAN_LITTLE -} pciio_endian_t; -pciio_endian_t snia_pciio_endian_set(struct pci_dev - *pci_dev, pciio_endian_t device_end, - pciio_endian_t desired_end); - static unsigned int __init pci_init_sgiioc4(struct pci_dev *dev, ide_pci_device_t * d) { unsigned int class_rev; - pciio_endian_t endian_status; if (pci_enable_device(dev)) { printk(KERN_ERR @@ -741,16 +732,6 @@ pci_init_sgiioc4(struct pci_dev *dev, ide_pci_device_t * d) return -ENODEV; } - /* Enable Byte Swapping in the PIC... */ - endian_status = snia_pciio_endian_set(dev, PCIDMA_ENDIAN_LITTLE, - PCIDMA_ENDIAN_BIG); - if (endian_status != PCIDMA_ENDIAN_BIG) { - printk(KERN_ERR - "Failed to set endianness for device %s at slot %s\n", - d->name, dev->slot_name); - return -ENODEV; - } - return sgiioc4_ide_setup_pci_device(dev, d); } @@ -782,7 +763,7 @@ static struct pci_device_id sgiioc4_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, sgiioc4_pci_tbl); static struct pci_driver driver = { - .name = "SGI-IOC4 IDE", + .name = "SGI-IOC4_IDE", .id_table = sgiioc4_pci_tbl, .probe = sgiioc4_init_one, }; diff --git a/drivers/ide/pci/siimage.c b/drivers/ide/pci/siimage.c index 91b039826..3b44b0bcd 100644 --- a/drivers/ide/pci/siimage.c +++ b/drivers/ide/pci/siimage.c @@ -727,8 +727,7 @@ static unsigned int setup_mmio_siimage (struct pci_dev *dev, const char *name) unsigned long bar5 = pci_resource_start(dev, 5); unsigned long barsize = pci_resource_len(dev, 5); u8 tmpbyte = 0; - unsigned long addr; - void *ioaddr; + void __iomem *ioaddr; /* * Drop back to PIO if we can't map the mmio. Some @@ -751,22 +750,21 @@ static unsigned int setup_mmio_siimage (struct pci_dev *dev, const char *name) } pci_set_master(dev); - pci_set_drvdata(dev, ioaddr); - addr = (unsigned long) ioaddr; + pci_set_drvdata(dev, (void *) ioaddr); if (pdev_is_sata(dev)) { - writel(0, addr + 0x148); - writel(0, addr + 0x1C8); + writel(0, ioaddr + 0x148); + writel(0, ioaddr + 0x1C8); } - writeb(0, addr + 0xB4); - writeb(0, addr + 0xF4); - tmpbyte = readb(addr + 0x4A); + writeb(0, ioaddr + 0xB4); + writeb(0, ioaddr + 0xF4); + tmpbyte = readb(ioaddr + 0x4A); switch(tmpbyte & 0x30) { case 0x00: /* In 100 MHz clocking, try and switch to 133 */ - writeb(tmpbyte|0x10, addr + 0x4A); + writeb(tmpbyte|0x10, ioaddr + 0x4A); break; case 0x10: /* On 133Mhz clocking */ @@ -777,29 +775,29 @@ static unsigned int setup_mmio_siimage (struct pci_dev *dev, const char *name) case 0x30: /* Clocking is disabled */ /* 133 clock attempt to force it on */ - writeb(tmpbyte & ~0x20, addr + 0x4A); + writeb(tmpbyte & ~0x20, ioaddr + 0x4A); break; } - writeb( 0x72, addr + 0xA1); - writew( 0x328A, addr + 0xA2); - writel(0x62DD62DD, addr + 0xA4); - writel(0x43924392, addr + 0xA8); - writel(0x40094009, addr + 0xAC); - writeb( 0x72, addr + 0xE1); - writew( 0x328A, addr + 0xE2); - writel(0x62DD62DD, addr + 0xE4); - writel(0x43924392, addr + 0xE8); - writel(0x40094009, addr + 0xEC); + writeb( 0x72, ioaddr + 0xA1); + writew( 0x328A, ioaddr + 0xA2); + writel(0x62DD62DD, ioaddr + 0xA4); + writel(0x43924392, ioaddr + 0xA8); + writel(0x40094009, ioaddr + 0xAC); + writeb( 0x72, ioaddr + 0xE1); + writew( 0x328A, ioaddr + 0xE2); + writel(0x62DD62DD, ioaddr + 0xE4); + writel(0x43924392, ioaddr + 0xE8); + writel(0x40094009, ioaddr + 0xEC); if (pdev_is_sata(dev)) { - writel(0xFFFF0000, addr + 0x108); - writel(0xFFFF0000, addr + 0x188); - writel(0x00680000, addr + 0x148); - writel(0x00680000, addr + 0x1C8); + writel(0xFFFF0000, ioaddr + 0x108); + writel(0xFFFF0000, ioaddr + 0x188); + writel(0x00680000, ioaddr + 0x148); + writel(0x00680000, ioaddr + 0x1C8); } - tmpbyte = readb(addr + 0x4A); + tmpbyte = readb(ioaddr + 0x4A); proc_reports_siimage(dev, (tmpbyte>>4), name); return 1; @@ -989,6 +987,21 @@ static int is_dev_seagate_sata(ide_drive_t *drive) return 0; } +/** + * siimage_fixup - post probe fixups + * @hwif: interface to fix up + * + * Called after drive probe we use this to decide whether the + * Seagate fixup must be applied. This used otbe in init_iops but + * that can occur before we know what drives are present. + */ + +static void siimage_fixup(ide_hwif_t *hwif) { + /* Try and raise the rqsize */ + if (!is_sata(hwif) || !is_dev_seagate_sata(&hwif->drives[0])) + hwif->rqsize = 128; +} + /** * init_iops_siimage - set up iops * @hwif: interface to set up @@ -1009,9 +1022,8 @@ static void __devinit init_iops_siimage(ide_hwif_t *hwif) hwif->hwif_data = NULL; - hwif->rqsize = 128; - if (is_sata(hwif) && is_dev_seagate_sata(&hwif->drives[0])) - hwif->rqsize = 15; + /* Pessimal until we finish probing */ + hwif->rqsize = 15; if (pci_get_drvdata(dev) == NULL) return; @@ -1103,6 +1115,7 @@ static void __devinit init_hwif_siimage(ide_hwif_t *hwif) .channels = 2, \ .autodma = AUTODMA, \ .bootable = ON_BOARD, \ + .fixup = siimage_fixup \ } static ide_pci_device_t siimage_chipsets[] __devinitdata = { @@ -1137,7 +1150,7 @@ static struct pci_device_id siimage_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, siimage_pci_tbl); static struct pci_driver driver = { - .name = "SiI IDE", + .name = "SiI_IDE", .id_table = siimage_pci_tbl, .probe = siimage_init_one, }; diff --git a/drivers/ide/pci/sis5513.c b/drivers/ide/pci/sis5513.c index d06b1fd8c..964f80604 100644 --- a/drivers/ide/pci/sis5513.c +++ b/drivers/ide/pci/sis5513.c @@ -788,6 +788,15 @@ static unsigned int __init init_chipset_sis5513 (struct pci_dev *dev, const char if (trueid == 0x5518) { printk(KERN_INFO "SIS5513: SiS 962/963 MuTIOL IDE UDMA133 controller\n"); chipset_family = ATA_133; + + /* Check for 5513 compability mapping + * We must use this, else the port enabled code will fail, + * as it expects the enablebits at 0x4a. + */ + if ((idemisc & 0x40000000) == 0) { + pci_write_config_dword(dev, 0x54, idemisc | 0x40000000); + printk(KERN_INFO "SIS5513: Switching to 5513 register mapping\n"); + } } } @@ -963,12 +972,13 @@ static int __devinit sis5513_init_one(struct pci_dev *dev, const struct pci_devi static struct pci_device_id sis5513_pci_tbl[] = { { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5513, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + { PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5518, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, { 0, }, }; MODULE_DEVICE_TABLE(pci, sis5513_pci_tbl); static struct pci_driver driver = { - .name = "SIS IDE", + .name = "SIS_IDE", .id_table = sis5513_pci_tbl, .probe = sis5513_init_one, }; diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c index 38bd8077b..563c44c7d 100644 --- a/drivers/ide/pci/sl82c105.c +++ b/drivers/ide/pci/sl82c105.c @@ -503,7 +503,7 @@ static struct pci_device_id sl82c105_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, sl82c105_pci_tbl); static struct pci_driver driver = { - .name = "W82C105 IDE", + .name = "W82C105_IDE", .id_table = sl82c105_pci_tbl, .probe = sl82c105_init_one, }; diff --git a/drivers/ide/pci/slc90e66.c b/drivers/ide/pci/slc90e66.c index 1a0183d1b..5a82a5fba 100644 --- a/drivers/ide/pci/slc90e66.c +++ b/drivers/ide/pci/slc90e66.c @@ -387,7 +387,7 @@ static struct pci_device_id slc90e66_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, slc90e66_pci_tbl); static struct pci_driver driver = { - .name = "SLC90e66 IDE", + .name = "SLC90e66_IDE", .id_table = slc90e66_pci_tbl, .probe = slc90e66_init_one, }; diff --git a/drivers/ide/pci/triflex.c b/drivers/ide/pci/triflex.c index 52e088e25..eca0772f2 100644 --- a/drivers/ide/pci/triflex.c +++ b/drivers/ide/pci/triflex.c @@ -41,57 +41,6 @@ #include #include -static struct pci_dev *triflex_dev; - -#ifdef CONFIG_PROC_FS -static int triflex_get_info(char *buf, char **addr, off_t offset, int count) -{ - char *p = buf; - int len; - - struct pci_dev *dev = triflex_dev; - unsigned long bibma = pci_resource_start(dev, 4); - u8 c0 = 0, c1 = 0; - u32 pri_timing, sec_timing; - - p += sprintf(p, "\n Compaq Triflex Chipset\n"); - - pci_read_config_dword(dev, 0x70, &pri_timing); - pci_read_config_dword(dev, 0x74, &sec_timing); - - /* - * at that point bibma+0x2 et bibma+0xa are byte registers - * to investigate: - */ - c0 = inb((unsigned short)bibma + 0x02); - c1 = inb((unsigned short)bibma + 0x0a); - - p += sprintf(p, "--------------- Primary Channel " - "---------------- Secondary Channel " - "-------------\n"); - p += sprintf(p, " %sabled " - " %sabled\n", - (c0&0x80) ? "dis" : " en", - (c1&0x80) ? "dis" : " en"); - p += sprintf(p, "--------------- drive0 --------- drive1 " - "-------- drive0 ---------- drive1 ------\n"); - p += sprintf(p, "DMA enabled: %s %s " - " %s %s\n", - (c0&0x20) ? "yes" : "no ", - (c0&0x40) ? "yes" : "no ", - (c1&0x20) ? "yes" : "no ", - (c1&0x40) ? "yes" : "no " ); - - p += sprintf(p, "DMA\n"); - p += sprintf(p, "PIO\n"); - - len = (p - buf) - offset; - *addr = buf + offset; - - return len > count ? count : len; -} -#endif - static int triflex_tune_chipset(ide_drive_t *drive, u8 xferspeed) { ide_hwif_t *hwif = HWIF(drive); @@ -206,18 +155,8 @@ static void __init init_hwif_triflex(ide_hwif_t *hwif) hwif->drives[1].autodma = hwif->autodma; } -static unsigned int __init init_chipset_triflex(struct pci_dev *dev, - const char *name) -{ -#ifdef CONFIG_PROC_FS - ide_pci_create_host_proc("triflex", triflex_get_info); -#endif - return 0; -} - static ide_pci_device_t triflex_device __devinitdata = { .name = "TRIFLEX", - .init_chipset = init_chipset_triflex, .init_hwif = init_hwif_triflex, .channels = 2, .autodma = AUTODMA, @@ -229,7 +168,6 @@ static int __devinit triflex_init_one(struct pci_dev *dev, const struct pci_device_id *id) { ide_setup_pci_device(dev, &triflex_device); - triflex_dev = dev; return 0; } @@ -242,7 +180,7 @@ static struct pci_device_id triflex_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, triflex_pci_tbl); static struct pci_driver driver = { - .name = "TRIFLEX IDE", + .name = "TRIFLEX_IDE", .id_table = triflex_pci_tbl, .probe = triflex_init_one, }; diff --git a/drivers/ide/pci/trm290.c b/drivers/ide/pci/trm290.c index d4c753930..1be58dc7b 100644 --- a/drivers/ide/pci/trm290.c +++ b/drivers/ide/pci/trm290.c @@ -311,6 +311,7 @@ void __devinit init_hwif_trm290(ide_hwif_t *hwif) u8 reg = 0; struct pci_dev *dev = hwif->pci_dev; + /* FIXME: does this device support PIO LBA48 ? */ hwif->no_lba48 = 1; hwif->chipset = ide_trm290; cfgbase = pci_resource_start(dev, 4); @@ -408,7 +409,7 @@ static struct pci_device_id trm290_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, trm290_pci_tbl); static struct pci_driver driver = { - .name = "TRM290 IDE", + .name = "TRM290_IDE", .id_table = trm290_pci_tbl, .probe = trm290_init_one, }; diff --git a/drivers/ide/pci/via82cxxx.c b/drivers/ide/pci/via82cxxx.c index 9aa563300..c83d5e5e8 100644 --- a/drivers/ide/pci/via82cxxx.c +++ b/drivers/ide/pci/via82cxxx.c @@ -632,7 +632,7 @@ static struct pci_device_id via_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, via_pci_tbl); static struct pci_driver driver = { - .name = "VIA IDE", + .name = "VIA_IDE", .id_table = via_pci_tbl, .probe = via_init_one, }; diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c index b485e6b70..da02fa06a 100644 --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c @@ -1,7 +1,8 @@ /* - * linux/drivers/ide/setup-pci.c Version 1.10 2002/08/19 + * linux/drivers/ide/setup-pci.c Version 1.14 2004/08/10 * * Copyright (c) 1998-2000 Andre Hedrick + * Copyright (c) 2004 Red Hat * * Copyright (c) 1995-1998 Mark Lord * May be copied or modified under the terms of the GNU General Public License @@ -11,6 +12,7 @@ * Use pci_set_master * Fix misreporting of I/O v MMIO problems * Initial fixups for simplex devices + * Hot unplug paths */ /* @@ -42,7 +44,7 @@ * Match a PCI IDE port against an entry in ide_hwifs[], * based on io_base port if possible. Return the matching hwif, * or a new hwif. If we find an error (clashing, out of devices, etc) - * return NULL + * return NULL. The caller must hold the ide_cfg_sem. * * FIXME: we need to handle mmio matches here too */ @@ -87,6 +89,8 @@ static ide_hwif_t *ide_match_hwif(unsigned long io_base, u8 bootable, const char * * Unless there is a bootable card that does not use the standard * ports 1f0/170 (the ide0/ide1 defaults). The (bootable) flag. + * + * FIXME: migrate use of ide_unknown to also use ->configured */ if (bootable) { for (h = 0; h < MAX_HWIFS; ++h) { @@ -435,8 +439,18 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, ctl = port ? 0x374 : 0x3f4; base = port ? 0x170 : 0x1f0; } + + /* + * Protect against a hwif being unloaded as we attach to it + */ + down(&ide_cfg_sem); + if ((hwif = ide_match_hwif(base, d->bootable, d->name)) == NULL) + { + up(&ide_cfg_sem); return NULL; /* no room in ide_hwifs[] */ + } + if (hwif->io_ports[IDE_DATA_OFFSET] != base || hwif->io_ports[IDE_CONTROL_OFFSET] != (ctl | 2)) { memset(&hwif->hw, 0, sizeof(hwif->hw)); @@ -448,6 +462,9 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev, ide_pci_device_t *d, hwif->pci_dev = dev; hwif->cds = (struct ide_pci_device_s *) d; hwif->channel = port; + hwif->configured = 1; + + up(&ide_cfg_sem); if (!hwif->irq) hwif->irq = irq; @@ -729,14 +746,26 @@ static ata_index_t do_ide_setup_pci_device (struct pci_dev *dev, ide_pci_device_ return index; } +/** + * probe_pci_hwif_init - probe the hwif then allow fixups + * @hwif: interface to probe + * @d: PCI device + * + * Perform the generic probe and if it is successful invoke any + * remaining post probe fixup logic in the driver itself. + */ +static void probe_pci_hwif_init(ide_hwif_t *hwif, ide_pci_device_t *d) { + probe_hwif_init_with_fixup(hwif, d->fixup); +} + void ide_setup_pci_device (struct pci_dev *dev, ide_pci_device_t *d) { ata_index_t index_list = do_ide_setup_pci_device(dev, d, 1); if ((index_list.b.low & 0xf0) != 0xf0) - probe_hwif_init(&ide_hwifs[index_list.b.low]); + probe_pci_hwif_init(&ide_hwifs[index_list.b.low], d); if ((index_list.b.high & 0xf0) != 0xf0) - probe_hwif_init(&ide_hwifs[index_list.b.high]); + probe_pci_hwif_init(&ide_hwifs[index_list.b.high], d); create_proc_ide_interfaces(); } @@ -749,19 +778,66 @@ void ide_setup_pci_devices (struct pci_dev *dev, struct pci_dev *dev2, ide_pci_d ata_index_t index_list2 = do_ide_setup_pci_device(dev2, d, 0); if ((index_list.b.low & 0xf0) != 0xf0) - probe_hwif_init(&ide_hwifs[index_list.b.low]); + probe_pci_hwif_init(&ide_hwifs[index_list.b.low], d); if ((index_list.b.high & 0xf0) != 0xf0) - probe_hwif_init(&ide_hwifs[index_list.b.high]); + probe_pci_hwif_init(&ide_hwifs[index_list.b.high], d); if ((index_list2.b.low & 0xf0) != 0xf0) - probe_hwif_init(&ide_hwifs[index_list2.b.low]); + probe_pci_hwif_init(&ide_hwifs[index_list2.b.low], d); if ((index_list2.b.high & 0xf0) != 0xf0) - probe_hwif_init(&ide_hwifs[index_list2.b.high]); + probe_pci_hwif_init(&ide_hwifs[index_list2.b.high], d); create_proc_ide_interfaces(); } EXPORT_SYMBOL_GPL(ide_setup_pci_devices); +/** + * ide_pci_remove_hwifs - remove PCI interfaces + * @dev: PCI device + * + * Remove any hwif attached to this PCI device. This will call + * back the various hwif->remove functions. In order to get the + * best results when delays occur we kill the iops before we + * potentially start blocking for long periods untangling the + * IDE layer. + * + * Takes the ide_cfg_sem in order to protect against races with + * new/old hwifs. Calls functions that take all the other locks + * so should be called with no locks held. + */ + +void ide_pci_remove_hwifs(struct pci_dev *dev) +{ + int i; + ide_hwif_t *hwif = ide_hwifs; + + down(&ide_cfg_sem); +#if 0 + for(i = 0; i < MAX_HWIFS; i++) + { + if(hwif->configured && hwif->pci_dev == dev) + { + removed_hwif_iops(hwif); + } + i++; + hwif++; + } +#endif + hwif = ide_hwifs; + + for(i = 0; i < MAX_HWIFS; i++) + { + if(hwif->configured && hwif->pci_dev == dev) + __ide_unregister_hwif(hwif); + i++; + hwif++; + } + up(&ide_cfg_sem); +} + +EXPORT_SYMBOL_GPL(ide_pci_remove_hwifs); + + /* * Module interfaces */ diff --git a/drivers/ieee1394/eth1394.c b/drivers/ieee1394/eth1394.c index a9709b846..798537f68 100644 --- a/drivers/ieee1394/eth1394.c +++ b/drivers/ieee1394/eth1394.c @@ -132,7 +132,7 @@ struct eth1394_node_info { }; /* Our ieee1394 highlevel driver */ -#define ETH1394_DRIVER_NAME "ip1394" +#define ETH1394_DRIVER_NAME "eth1394" static const char driver_name[] = ETH1394_DRIVER_NAME; static kmem_cache_t *packet_task_cache; @@ -850,7 +850,7 @@ static inline u16 ether1394_type_trans(struct sk_buff *skb, skb->mac.raw = skb->data; skb_pull (skb, ETH1394_HLEN); - eth = (struct eth1394hdr*)skb->mac.raw; + eth = eth1394_hdr(skb); if (*eth->h_dest & 1) { if (memcmp(eth->h_dest, dev->broadcast, dev->addr_len)==0) diff --git a/drivers/input/gameport/vortex.c b/drivers/input/gameport/vortex.c index 02c31b779..e0a1c3eb5 100644 --- a/drivers/input/gameport/vortex.c +++ b/drivers/input/gameport/vortex.c @@ -55,8 +55,8 @@ MODULE_LICENSE("GPL"); struct vortex { struct gameport gameport; struct pci_dev *dev; - unsigned char *base; - unsigned char *io; + unsigned char __iomem *base; + unsigned char __iomem *io; char phys[32]; }; @@ -166,7 +166,7 @@ static struct pci_device_id vortex_id_table[] = { 0 }}; static struct pci_driver vortex_driver = { - .name = "vortex", + .name = "vortex_gameport", .id_table = vortex_id_table, .probe = vortex_probe, .remove = __devexit_p(vortex_remove), diff --git a/drivers/input/joydev.c b/drivers/input/joydev.c index 5eb884656..3e47218e0 100644 --- a/drivers/input/joydev.c +++ b/drivers/input/joydev.c @@ -232,8 +232,10 @@ static ssize_t joydev_read(struct file *file, char __user *buf, size_t count, lo && list->head == list->tail && (file->f_flags & O_NONBLOCK)) return -EAGAIN; - retval = wait_event_interruptible(list->joydev->wait, list->joydev->exist - && (list->startup < joydev->nabs + joydev->nkey || list->head != list->tail)); + retval = wait_event_interruptible(list->joydev->wait, + !list->joydev->exist || + list->startup < joydev->nabs + joydev->nkey || + list->head != list->tail); if (retval) return retval; diff --git a/drivers/input/joystick/grip_mp.c b/drivers/input/joystick/grip_mp.c index 8e1949683..849d0de04 100644 --- a/drivers/input/joystick/grip_mp.c +++ b/drivers/input/joystick/grip_mp.c @@ -107,6 +107,8 @@ static const int init_seq[] = { static int axis_map[] = { 5, 9, 1, 5, 6, 10, 2, 6, 4, 8, 0, 4, 5, 9, 1, 5 }; +static void register_slot(int i, struct grip_mp *grip); + /* * Returns whether an odd or even number of bits are on in pkt. */ @@ -355,7 +357,6 @@ static int get_and_decode_packet(struct grip_mp *grip, int flags) u32 packet; int joytype = 0; int slot = 0; - static void register_slot(int i, struct grip_mp *grip); /* Get a packet and check for validity */ diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index 00ec1f86a..0df07b427 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c @@ -27,8 +27,10 @@ #include #include +#define DRIVER_DESC "AT and PS/2 keyboard driver" + MODULE_AUTHOR("Vojtech Pavlik "); -MODULE_DESCRIPTION("AT and PS/2 keyboard driver"); +MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); static int atkbd_set = 2; @@ -47,6 +49,10 @@ static int atkbd_softrepeat; module_param_named(softrepeat, atkbd_softrepeat, bool, 0); MODULE_PARM_DESC(softrepeat, "Use software keyboard repeat"); +static int atkbd_softraw = 1; +module_param_named(softraw, atkbd_softraw, bool, 0); +MODULE_PARM_DESC(softraw, "Use software generated rawmode"); + static int atkbd_scroll; module_param_named(scroll, atkbd_scroll, bool, 0); MODULE_PARM_DESC(scroll, "Enable scroll-wheel on MS Office and similar keyboards"); @@ -164,36 +170,64 @@ static unsigned char atkbd_scroll_keys[5][2] = { { ATKBD_SCR_CLICK, 0x60 }, }; +#define ATKBD_FLAG_ACK 0 /* Waiting for ACK/NAK */ +#define ATKBD_FLAG_CMD 1 /* Waiting for command to finish */ +#define ATKBD_FLAG_CMD1 2 /* First byte of command response */ +#define ATKBD_FLAG_ENABLED 3 /* Waining for init to finish */ + /* * The atkbd control structure */ struct atkbd { - unsigned char keycode[512]; - struct input_dev dev; - struct serio *serio; + /* Written only during init */ char name[64]; char phys[32]; - unsigned short id; + struct serio *serio; + struct input_dev dev; + unsigned char set; - unsigned int translated:1; - unsigned int extra:1; - unsigned int write:1; + unsigned short id; + unsigned char keycode[512]; + unsigned char translated; + unsigned char extra; + unsigned char write; + + /* Protected by FLAG_ACK */ + unsigned char nak; + /* Protected by FLAG_CMD */ unsigned char cmdbuf[4]; unsigned char cmdcnt; - volatile signed char ack; - unsigned char emul; - unsigned int resend:1; - unsigned int release:1; - unsigned int bat_xl:1; - unsigned int enabled:1; + /* Accessed only from interrupt */ + unsigned char emul; + unsigned char resend; + unsigned char release; + unsigned char bat_xl; unsigned int last; unsigned long time; + + /* Ensures that only one command is executing at a time */ + struct semaphore cmd_sem; + + /* Used to signal completion from interrupt handler */ + wait_queue_head_t wait; + + /* Flags */ + unsigned long flags; +}; + +/* Work structure to schedule execution of a command */ +struct atkbd_work { + struct work_struct work; + struct atkbd *atkbd; + int command; + unsigned char param[0]; }; + static void atkbd_report_key(struct input_dev *dev, struct pt_regs *regs, int code, int value) { input_regs(dev, regs); @@ -224,7 +258,7 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, #if !defined(__i386__) && !defined (__x86_64__) if ((flags & (SERIO_FRAME | SERIO_PARITY)) && (~flags & SERIO_TIMEOUT) && !atkbd->resend && atkbd->write) { - printk("atkbd.c: frame/parity error: %02x\n", flags); + printk(KERN_WARNING "atkbd.c: frame/parity error: %02x\n", flags); serio_write(serio, ATKBD_CMD_RESEND); atkbd->resend = 1; goto out; @@ -234,24 +268,46 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, atkbd->resend = 0; #endif - if (!atkbd->ack) + if (test_bit(ATKBD_FLAG_ACK, &atkbd->flags)) { switch (code) { case ATKBD_RET_ACK: - atkbd->ack = 1; - goto out; + atkbd->nak = 0; + if (atkbd->cmdcnt) { + set_bit(ATKBD_FLAG_CMD, &atkbd->flags); + set_bit(ATKBD_FLAG_CMD1, &atkbd->flags); + } + clear_bit(ATKBD_FLAG_ACK, &atkbd->flags); + wake_up_interruptible(&atkbd->wait); + break; case ATKBD_RET_NAK: - atkbd->ack = -1; - goto out; + atkbd->nak = 1; + clear_bit(ATKBD_FLAG_ACK, &atkbd->flags); + wake_up_interruptible(&atkbd->wait); + break; } + goto out; + } + + if (test_bit(ATKBD_FLAG_CMD, &atkbd->flags)) { + + if (atkbd->cmdcnt) + atkbd->cmdbuf[--atkbd->cmdcnt] = code; - if (atkbd->cmdcnt) { - atkbd->cmdbuf[--atkbd->cmdcnt] = code; + if (test_and_clear_bit(ATKBD_FLAG_CMD1, &atkbd->flags) && atkbd->cmdcnt) + wake_up_interruptible(&atkbd->wait); + + if (!atkbd->cmdcnt) { + clear_bit(ATKBD_FLAG_CMD, &atkbd->flags); + wake_up_interruptible(&atkbd->wait); + } goto out; } - if (!atkbd->enabled) + if (!test_bit(ATKBD_FLAG_ENABLED, &atkbd->flags)) goto out; + input_event(&atkbd->dev, EV_MSC, MSC_RAW, code); + if (atkbd->translated) { if (atkbd->emul || @@ -270,6 +326,7 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, switch (code) { case ATKBD_RET_BAT: + clear_bit(ATKBD_FLAG_ENABLED, &atkbd->flags); serio_rescan(atkbd->serio); goto out; case ATKBD_RET_EMUL0: @@ -300,14 +357,21 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, code |= (atkbd->set != 3) ? 0x80 : 0x100; } + if (atkbd->keycode[code] != ATKBD_KEY_NULL) + input_event(&atkbd->dev, EV_MSC, MSC_SCAN, code); + switch (atkbd->keycode[code]) { case ATKBD_KEY_NULL: break; case ATKBD_KEY_UNKNOWN: if (data == ATKBD_RET_ACK || data == ATKBD_RET_NAK) { +#if 0 +/* Quite a few key switchers and other tools trigger this and it confuses + people who can do nothing about it */ printk(KERN_WARNING "atkbd.c: Spurious %s on %s. Some program, " "like XFree86, might be trying access hardware directly.\n", data == ATKBD_RET_ACK ? "ACK" : "NAK", serio->phys); +#endif } else { printk(KERN_WARNING "atkbd.c: Unknown key %s " "(%s set %d, code %#x on %s).\n", @@ -372,83 +436,147 @@ out: * acknowledge. It doesn't handle resends according to the keyboard * protocol specs, because if these are needed, the keyboard needs * replacement anyway, and they only make a mess in the protocol. + * + * atkbd_sendbyte() can only be called from a process context */ static int atkbd_sendbyte(struct atkbd *atkbd, unsigned char byte) { - int timeout = 20000; /* 200 msec */ - atkbd->ack = 0; - #ifdef ATKBD_DEBUG printk(KERN_DEBUG "atkbd.c: Sent: %02x\n", byte); #endif - if (serio_write(atkbd->serio, byte)) - return -1; + atkbd->nak = 1; + set_bit(ATKBD_FLAG_ACK, &atkbd->flags); - while (!atkbd->ack && timeout--) udelay(10); + if (serio_write(atkbd->serio, byte) == 0) + wait_event_interruptible_timeout(atkbd->wait, + !test_bit(ATKBD_FLAG_ACK, &atkbd->flags), + msecs_to_jiffies(200)); - return -(atkbd->ack <= 0); + clear_bit(ATKBD_FLAG_ACK, &atkbd->flags); + return -atkbd->nak; } /* * atkbd_command() sends a command, and its parameters to the keyboard, * then waits for the response and puts it in the param array. + * + * atkbd_command() can only be called from a process context */ static int atkbd_command(struct atkbd *atkbd, unsigned char *param, int command) { - int timeout = 500000; /* 500 msec */ + int timeout; int send = (command >> 12) & 0xf; int receive = (command >> 8) & 0xf; + int rc = -1; int i; - atkbd->cmdcnt = receive; + timeout = msecs_to_jiffies(command == ATKBD_CMD_RESET_BAT ? 4000 : 500); - if (command == ATKBD_CMD_RESET_BAT) - timeout = 2000000; /* 2 sec */ + down(&atkbd->cmd_sem); + clear_bit(ATKBD_FLAG_CMD, &atkbd->flags); if (receive && param) for (i = 0; i < receive; i++) atkbd->cmdbuf[(receive - 1) - i] = param[i]; + atkbd->cmdcnt = receive; + if (command & 0xff) if (atkbd_sendbyte(atkbd, command & 0xff)) - return (atkbd->cmdcnt = 0) - 1; + goto out; for (i = 0; i < send; i++) if (atkbd_sendbyte(atkbd, param[i])) - return (atkbd->cmdcnt = 0) - 1; - - while (atkbd->cmdcnt && timeout--) { - - if (atkbd->cmdcnt == 1 && - command == ATKBD_CMD_RESET_BAT && timeout > 100000) - timeout = 100000; + goto out; - if (atkbd->cmdcnt == 1 && command == ATKBD_CMD_GETID && - atkbd->cmdbuf[1] != 0xab && atkbd->cmdbuf[1] != 0xac) { + timeout = wait_event_interruptible_timeout(atkbd->wait, + !test_bit(ATKBD_FLAG_CMD1, &atkbd->flags), timeout); + + if (atkbd->cmdcnt && timeout > 0) { + if (command == ATKBD_CMD_RESET_BAT && jiffies_to_msecs(timeout) > 100) + timeout = msecs_to_jiffies(100); + + if (command == ATKBD_CMD_GETID && + atkbd->cmdbuf[receive - 1] != 0xab && atkbd->cmdbuf[receive - 1] != 0xac) { + /* + * Device behind the port is not a keyboard + * so we don't need to wait for the 2nd byte + * of ID response. + */ + clear_bit(ATKBD_FLAG_CMD, &atkbd->flags); atkbd->cmdcnt = 0; - break; } - udelay(1); + wait_event_interruptible_timeout(atkbd->wait, + !test_bit(ATKBD_FLAG_CMD, &atkbd->flags), timeout); } if (param) for (i = 0; i < receive; i++) param[i] = atkbd->cmdbuf[(receive - 1) - i]; - if (command == ATKBD_CMD_RESET_BAT && atkbd->cmdcnt == 1) - atkbd->cmdcnt = 0; + if (atkbd->cmdcnt && (command != ATKBD_CMD_RESET_BAT || atkbd->cmdcnt != 1)) + goto out; + + rc = 0; + +out: + clear_bit(ATKBD_FLAG_CMD, &atkbd->flags); + clear_bit(ATKBD_FLAG_CMD1, &atkbd->flags); + up(&atkbd->cmd_sem); + + return rc; +} + +/* + * atkbd_execute_scheduled_command() sends a command, previously scheduled by + * atkbd_schedule_command(), to the keyboard. + */ + +static void atkbd_execute_scheduled_command(void *data) +{ + struct atkbd_work *atkbd_work = data; + + atkbd_command(atkbd_work->atkbd, atkbd_work->param, atkbd_work->command); + + kfree(atkbd_work); +} + +/* + * atkbd_schedule_command() allows to schedule delayed execution of a keyboard + * command and can be used to issue a command from an interrupt or softirq + * context. + */ + +static int atkbd_schedule_command(struct atkbd *atkbd, unsigned char *param, int command) +{ + struct atkbd_work *atkbd_work; + int send = (command >> 12) & 0xf; + int receive = (command >> 8) & 0xf; + + if (!test_bit(ATKBD_FLAG_ENABLED, &atkbd->flags)) + return -1; + + if (!(atkbd_work = kmalloc(sizeof(struct atkbd_work) + max(send, receive), GFP_ATOMIC))) + return -1; + + memset(atkbd_work, 0, sizeof(struct atkbd_work)); + atkbd_work->atkbd = atkbd; + atkbd_work->command = command; + memcpy(atkbd_work->param, param, send); + INIT_WORK(&atkbd_work->work, atkbd_execute_scheduled_command, atkbd_work); - if (atkbd->cmdcnt) { - atkbd->cmdcnt = 0; + if (!schedule_work(&atkbd_work->work)) { + kfree(atkbd_work); return -1; } return 0; } + /* * Event callback from the input module. Events that change the state of * the hardware are processed here. @@ -475,7 +603,7 @@ static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int co param[0] = (test_bit(LED_SCROLLL, dev->led) ? 1 : 0) | (test_bit(LED_NUML, dev->led) ? 2 : 0) | (test_bit(LED_CAPSL, dev->led) ? 4 : 0); - atkbd_command(atkbd, param, ATKBD_CMD_SETLEDS); + atkbd_schedule_command(atkbd, param, ATKBD_CMD_SETLEDS); if (atkbd->extra) { param[0] = 0; @@ -484,7 +612,7 @@ static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int co | (test_bit(LED_SUSPEND, dev->led) ? 0x04 : 0) | (test_bit(LED_MISC, dev->led) ? 0x10 : 0) | (test_bit(LED_MUTE, dev->led) ? 0x20 : 0); - atkbd_command(atkbd, param, ATKBD_CMD_EX_SETLEDS); + atkbd_schedule_command(atkbd, param, ATKBD_CMD_EX_SETLEDS); } return 0; @@ -500,7 +628,7 @@ static int atkbd_event(struct input_dev *dev, unsigned int type, unsigned int co dev->rep[REP_PERIOD] = period[i]; dev->rep[REP_DELAY] = delay[j]; param[0] = i | (j << 5); - atkbd_command(atkbd, param, ATKBD_CMD_SETREP); + atkbd_schedule_command(atkbd, param, ATKBD_CMD_SETREP); return 0; } @@ -672,6 +800,11 @@ static void atkbd_cleanup(struct serio *serio) static void atkbd_disconnect(struct serio *serio) { struct atkbd *atkbd = serio->private; + + clear_bit(ATKBD_FLAG_ENABLED, &atkbd->flags); + synchronize_kernel(); + flush_scheduled_work(); + input_unregister_device(&atkbd->dev); serio_close(serio); kfree(atkbd); @@ -684,7 +817,7 @@ static void atkbd_disconnect(struct serio *serio) * to the input module. */ -static void atkbd_connect(struct serio *serio, struct serio_dev *dev) +static void atkbd_connect(struct serio *serio, struct serio_driver *drv) { struct atkbd *atkbd; int i; @@ -693,6 +826,9 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) return; memset(atkbd, 0, sizeof(struct atkbd)); + init_MUTEX(&atkbd->cmd_sem); + init_waitqueue_head(&atkbd->wait); + switch (serio->type & SERIO_TYPE) { case SERIO_8042_XL: @@ -709,17 +845,22 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) return; } + if (!atkbd->write) + atkbd_softrepeat = 1; + if (atkbd_softrepeat) + atkbd_softraw = 1; + if (atkbd->write) { - atkbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP); + atkbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP) | BIT(EV_MSC); atkbd->dev.ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL); - } else atkbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REP); + } else atkbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REP) | BIT(EV_MSC); + atkbd->dev.mscbit[0] = atkbd_softraw ? BIT(MSC_SCAN) : BIT(MSC_RAW) | BIT(MSC_SCAN); if (!atkbd_softrepeat) { atkbd->dev.rep[REP_DELAY] = 250; atkbd->dev.rep[REP_PERIOD] = 33; - } + } else atkbd_softraw = 1; - atkbd->ack = 1; atkbd->serio = serio; init_input_dev(&atkbd->dev); @@ -732,7 +873,7 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) serio->private = atkbd; - if (serio_open(serio, dev)) { + if (serio_open(serio, drv)) { kfree(atkbd); return; } @@ -754,8 +895,6 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) atkbd->id = 0xab00; } - atkbd->enabled = 1; - if (atkbd->extra) { atkbd->dev.ledbit[0] |= BIT(LED_COMPOSE) | BIT(LED_SUSPEND) | BIT(LED_SLEEP) | BIT(LED_MUTE) | BIT(LED_MISC); sprintf(atkbd->name, "AT Set 2 Extra keyboard"); @@ -797,6 +936,8 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) input_register_device(&atkbd->dev); + set_bit(ATKBD_FLAG_ENABLED, &atkbd->flags); + printk(KERN_INFO "input: %s on %s\n", atkbd->name, serio->phys); } @@ -808,10 +949,10 @@ static void atkbd_connect(struct serio *serio, struct serio_dev *dev) static int atkbd_reconnect(struct serio *serio) { struct atkbd *atkbd = serio->private; - struct serio_dev *dev = serio->dev; + struct serio_driver *drv = serio->drv; unsigned char param[1]; - if (!dev) { + if (!drv) { printk(KERN_DEBUG "atkbd: reconnect request, but serio is disconnected, ignoring...\n"); return -1; } @@ -832,26 +973,32 @@ static int atkbd_reconnect(struct serio *serio) return -1; } + set_bit(ATKBD_FLAG_ENABLED, &atkbd->flags); + return 0; } -static struct serio_dev atkbd_dev = { - .interrupt = atkbd_interrupt, - .connect = atkbd_connect, - .reconnect = atkbd_reconnect, - .disconnect = atkbd_disconnect, - .cleanup = atkbd_cleanup, +static struct serio_driver atkbd_drv = { + .driver = { + .name = "atkbd", + }, + .description = DRIVER_DESC, + .interrupt = atkbd_interrupt, + .connect = atkbd_connect, + .reconnect = atkbd_reconnect, + .disconnect = atkbd_disconnect, + .cleanup = atkbd_cleanup, }; int __init atkbd_init(void) { - serio_register_device(&atkbd_dev); + serio_register_driver(&atkbd_drv); return 0; } void __exit atkbd_exit(void) { - serio_unregister_device(&atkbd_dev); + serio_unregister_driver(&atkbd_drv); } module_init(atkbd_init); diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig index d3e5d841e..a89050e12 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig @@ -14,7 +14,7 @@ config INPUT_MISC config INPUT_PCSPKR tristate "PC Speaker support" - depends on (ALPHA || X86 || X86_64 || MIPS) && INPUT && INPUT_MISC + depends on (ALPHA || X86 || X86_64 || MIPS || PPC_PREP || PPC_CHRP || PPC_PSERIES) && INPUT && INPUT_MISC help Say Y here if you want the standard PC Speaker to be used for bells and whistles. diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index b86acf04d..477579b9e 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c @@ -279,6 +279,9 @@ static unsigned int uinput_poll(struct file *file, poll_table *wait) { struct uinput_device *udev = file->private_data; + if (!test_bit(UIST_CREATED, &(udev->state))) + return 0; + poll_wait(file, &udev->waitq, wait); if (udev->head != udev->tail) diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index 1274cb68b..bd2744fa2 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig @@ -30,8 +30,6 @@ config MOUSE_PS2 and a new verion of GPM at: http://www.geocities.com/dt_or/gpm/gpm.html to take advantage of the advanced features of the touchpad. - If you do not want install specialized drivers but want tapping - working please use option psmouse.proto=imps. If unsure, say Y. diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c index f266b7ef5..bd1a6d98b 100644 --- a/drivers/input/mousedev.c +++ b/drivers/input/mousedev.c @@ -48,8 +48,15 @@ static int yres = CONFIG_INPUT_MOUSEDEV_SCREEN_Y; module_param(yres, uint, 0); MODULE_PARM_DESC(yres, "Vertical screen resolution"); -struct mousedev_motion { +static unsigned tap_time = 200; +module_param(tap_time, uint, 0); +MODULE_PARM_DESC(tap_time, "Tap time for touchpads in absolute mode (msecs)"); + +struct mousedev_hw_data { int dx, dy, dz; + int x, y; + int abs_event; + unsigned long buttons; }; struct mousedev { @@ -61,22 +68,38 @@ struct mousedev { struct list_head list; struct input_handle handle; - struct mousedev_motion packet; - unsigned long buttons; + struct mousedev_hw_data packet; unsigned int pkt_count; int old_x[4], old_y[4]; - unsigned int touch; + unsigned long touch; +}; + +enum mousedev_emul { + MOUSEDEV_EMUL_PS2, + MOUSEDEV_EMUL_IMPS, + MOUSEDEV_EMUL_EXPS }; +struct mousedev_motion { + int dx, dy, dz; + unsigned long buttons; +}; + +#define PACKET_QUEUE_LEN 16 struct mousedev_list { struct fasync_struct *fasync; struct mousedev *mousedev; struct list_head node; - int dx, dy, dz; - unsigned long buttons; + + struct mousedev_motion packets[PACKET_QUEUE_LEN]; + unsigned int head, tail; + spinlock_t packet_lock; + int pos_x, pos_y; + signed char ps2[6]; unsigned char ready, buffer, bufsiz; - unsigned char mode, imexseq, impsseq; + unsigned char imexseq, impsseq; + enum mousedev_emul mode; }; #define MOUSEDEV_SEQ_LEN 6 @@ -119,15 +142,19 @@ static void mousedev_abs_event(struct input_dev *dev, struct mousedev *mousedev, case ABS_X: size = dev->absmax[ABS_X] - dev->absmin[ABS_X]; if (size == 0) size = xres; - mousedev->packet.dx = (value * xres - mousedev->old_x[0]) / size; - mousedev->old_x[0] = mousedev->packet.dx * size; + if (value > dev->absmax[ABS_X]) value = dev->absmax[ABS_X]; + if (value < dev->absmin[ABS_X]) value = dev->absmin[ABS_X]; + mousedev->packet.x = ((value - dev->absmin[ABS_X]) * xres) / size; + mousedev->packet.abs_event = 1; break; case ABS_Y: size = dev->absmax[ABS_Y] - dev->absmin[ABS_Y]; if (size == 0) size = yres; - mousedev->packet.dy = (value * yres - mousedev->old_y[0]) / size; - mousedev->old_y[0] = mousedev->packet.dy * size; + if (value > dev->absmax[ABS_Y]) value = dev->absmax[ABS_Y]; + if (value < dev->absmin[ABS_Y]) value = dev->absmin[ABS_Y]; + mousedev->packet.y = yres - ((value - dev->absmin[ABS_Y]) * yres) / size; + mousedev->packet.abs_event = 1; break; } } @@ -165,30 +192,82 @@ static void mousedev_key_event(struct mousedev *mousedev, unsigned int code, int } if (value) { - set_bit(index, &mousedev->buttons); - set_bit(index, &mousedev_mix.buttons); + set_bit(index, &mousedev->packet.buttons); + set_bit(index, &mousedev_mix.packet.buttons); } else { - clear_bit(index, &mousedev->buttons); - clear_bit(index, &mousedev_mix.buttons); + clear_bit(index, &mousedev->packet.buttons); + clear_bit(index, &mousedev_mix.packet.buttons); } } -static void mousedev_notify_readers(struct mousedev *mousedev, struct mousedev_motion *packet) +static void mousedev_notify_readers(struct mousedev *mousedev, struct mousedev_hw_data *packet) { struct mousedev_list *list; + struct mousedev_motion *p; + unsigned long flags; list_for_each_entry(list, &mousedev->list, node) { - list->dx += packet->dx; - list->dy += packet->dy; - list->dz += packet->dz; - list->buttons = mousedev->buttons; + spin_lock_irqsave(&list->packet_lock, flags); + + p = &list->packets[list->head]; + if (list->ready && p->buttons != packet->buttons) { + unsigned int new_head = (list->head + 1) % PACKET_QUEUE_LEN; + if (new_head != list->tail) { + p = &list->packets[list->head = new_head]; + memset(p, 0, sizeof(struct mousedev_motion)); + } + } + + if (packet->abs_event) { + p->dx += packet->x - list->pos_x; + p->dy += packet->y - list->pos_y; + list->pos_x = packet->x; + list->pos_y = packet->y; + } + + list->pos_x += packet->dx; + list->pos_x = list->pos_x < 0 ? 0 : (list->pos_x >= xres ? xres : list->pos_x); + list->pos_y += packet->dy; + list->pos_y = list->pos_y < 0 ? 0 : (list->pos_y >= yres ? yres : list->pos_y); + + p->dx += packet->dx; + p->dy += packet->dy; + p->dz += packet->dz; + p->buttons = mousedev->packet.buttons; + list->ready = 1; + + spin_unlock_irqrestore(&list->packet_lock, flags); kill_fasync(&list->fasync, SIGIO, POLL_IN); } wake_up_interruptible(&mousedev->wait); } +static void mousedev_touchpad_touch(struct mousedev *mousedev, int value) +{ + if (!value) { + if (mousedev->touch && + time_before(jiffies, mousedev->touch + msecs_to_jiffies(tap_time))) { + /* + * Toggle left button to emulate tap. + * We rely on the fact that mousedev_mix always has 0 + * motion packet so we won't mess current position. + */ + set_bit(0, &mousedev->packet.buttons); + set_bit(0, &mousedev_mix.packet.buttons); + mousedev_notify_readers(mousedev, &mousedev_mix.packet); + mousedev_notify_readers(&mousedev_mix, &mousedev_mix.packet); + clear_bit(0, &mousedev->packet.buttons); + clear_bit(0, &mousedev_mix.packet.buttons); + } + mousedev->touch = mousedev->pkt_count = 0; + } + else + if (!mousedev->touch) + mousedev->touch = jiffies; +} + static void mousedev_event(struct input_handle *handle, unsigned int type, unsigned int code, int value) { struct mousedev *mousedev = handle->private; @@ -212,12 +291,8 @@ static void mousedev_event(struct input_handle *handle, unsigned int type, unsig case EV_KEY: if (value != 2) { - if (code == BTN_TOUCH && test_bit(BTN_TOOL_FINGER, handle->dev->keybit)) { - /* Handle touchpad data */ - mousedev->touch = value; - if (!mousedev->touch) - mousedev->pkt_count = 0; - } + if (code == BTN_TOUCH && test_bit(BTN_TOOL_FINGER, handle->dev->keybit)) + mousedev_touchpad_touch(mousedev, value); else mousedev_key_event(mousedev, code, value); } @@ -237,7 +312,8 @@ static void mousedev_event(struct input_handle *handle, unsigned int type, unsig mousedev_notify_readers(mousedev, &mousedev->packet); mousedev_notify_readers(&mousedev_mix, &mousedev->packet); - memset(&mousedev->packet, 0, sizeof(struct mousedev_motion)); + mousedev->packet.dx = mousedev->packet.dy = mousedev->packet.dz = 0; + mousedev->packet.abs_event = 0; } break; } @@ -322,6 +398,9 @@ static int mousedev_open(struct inode * inode, struct file * file) return -ENOMEM; memset(list, 0, sizeof(struct mousedev_list)); + spin_lock_init(&list->packet_lock); + list->pos_x = xres / 2; + list->pos_y = yres / 2; list->mousedev = mousedev_table[i]; list_add_tail(&list->node, &mousedev_table[i]->list); file->private_data = list; @@ -341,32 +420,56 @@ static int mousedev_open(struct inode * inode, struct file * file) return 0; } -static void mousedev_packet(struct mousedev_list *list, unsigned char off) +static inline int mousedev_limit_delta(int delta, int limit) { - list->ps2[off] = 0x08 | ((list->dx < 0) << 4) | ((list->dy < 0) << 5) | (list->buttons & 0x07); - list->ps2[off + 1] = (list->dx > 127 ? 127 : (list->dx < -127 ? -127 : list->dx)); - list->ps2[off + 2] = (list->dy > 127 ? 127 : (list->dy < -127 ? -127 : list->dy)); - list->dx -= list->ps2[off + 1]; - list->dy -= list->ps2[off + 2]; - list->bufsiz = off + 3; - - if (list->mode == 2) { - list->ps2[off + 3] = (list->dz > 7 ? 7 : (list->dz < -7 ? -7 : list->dz)); - list->dz -= list->ps2[off + 3]; - list->ps2[off + 3] = (list->ps2[off + 3] & 0x0f) | ((list->buttons & 0x18) << 1); - list->bufsiz++; - } else { - list->ps2[off] |= ((list->buttons & 0x10) >> 3) | ((list->buttons & 0x08) >> 1); + return delta > limit ? limit : (delta < -limit ? -limit : delta); +} + +static void mousedev_packet(struct mousedev_list *list, signed char *ps2_data) +{ + struct mousedev_motion *p; + unsigned long flags; + + spin_lock_irqsave(&list->packet_lock, flags); + p = &list->packets[list->tail]; + + ps2_data[0] = 0x08 | ((p->dx < 0) << 4) | ((p->dy < 0) << 5) | (p->buttons & 0x07); + ps2_data[1] = mousedev_limit_delta(p->dx, 127); + ps2_data[2] = mousedev_limit_delta(p->dy, 127); + p->dx -= ps2_data[1]; + p->dy -= ps2_data[2]; + + switch (list->mode) { + case MOUSEDEV_EMUL_EXPS: + ps2_data[3] = mousedev_limit_delta(p->dz, 127); + p->dz -= ps2_data[3]; + ps2_data[3] = (ps2_data[3] & 0x0f) | ((p->buttons & 0x18) << 1); + list->bufsiz = 4; + break; + + case MOUSEDEV_EMUL_IMPS: + ps2_data[0] |= ((p->buttons & 0x10) >> 3) | ((p->buttons & 0x08) >> 1); + ps2_data[3] = mousedev_limit_delta(p->dz, 127); + p->dz -= ps2_data[3]; + list->bufsiz = 4; + break; + + case MOUSEDEV_EMUL_PS2: + default: + ps2_data[0] |= ((p->buttons & 0x10) >> 3) | ((p->buttons & 0x08) >> 1); + p->dz = 0; + list->bufsiz = 3; + break; } - if (list->mode == 1) { - list->ps2[off + 3] = (list->dz > 127 ? 127 : (list->dz < -127 ? -127 : list->dz)); - list->dz -= list->ps2[off + 3]; - list->bufsiz++; + if (!p->dx && !p->dy && !p->dz) { + if (list->tail != list->head) + list->tail = (list->tail + 1) % PACKET_QUEUE_LEN; + if (list->tail == list->head) + list->ready = 0; } - if (!list->dx && !list->dy && (!list->mode || !list->dz)) list->ready = 0; - list->buffer = list->bufsiz; + spin_unlock_irqrestore(&list->packet_lock, flags); } @@ -384,31 +487,31 @@ static ssize_t mousedev_write(struct file * file, const char __user * buffer, si if (c == mousedev_imex_seq[list->imexseq]) { if (++list->imexseq == MOUSEDEV_SEQ_LEN) { list->imexseq = 0; - list->mode = 2; + list->mode = MOUSEDEV_EMUL_EXPS; } } else list->imexseq = 0; if (c == mousedev_imps_seq[list->impsseq]) { if (++list->impsseq == MOUSEDEV_SEQ_LEN) { list->impsseq = 0; - list->mode = 1; + list->mode = MOUSEDEV_EMUL_IMPS; } } else list->impsseq = 0; list->ps2[0] = 0xfa; - list->bufsiz = 1; switch (c) { case 0xeb: /* Poll */ - mousedev_packet(list, 1); + mousedev_packet(list, &list->ps2[1]); + list->bufsiz++; /* account for leading ACK */ break; case 0xf2: /* Get ID */ switch (list->mode) { - case 0: list->ps2[1] = 0; break; - case 1: list->ps2[1] = 3; break; - case 2: list->ps2[1] = 4; break; + case MOUSEDEV_EMUL_PS2: list->ps2[1] = 0; break; + case MOUSEDEV_EMUL_IMPS: list->ps2[1] = 3; break; + case MOUSEDEV_EMUL_EXPS: list->ps2[1] = 4; break; } list->bufsiz = 2; break; @@ -419,13 +522,15 @@ static ssize_t mousedev_write(struct file * file, const char __user * buffer, si break; case 0xff: /* Reset */ - list->impsseq = 0; - list->imexseq = 0; - list->mode = 0; - list->ps2[1] = 0xaa; - list->ps2[2] = 0x00; + list->impsseq = list->imexseq = 0; + list->mode = MOUSEDEV_EMUL_PS2; + list->ps2[1] = 0xaa; list->ps2[2] = 0x00; list->bufsiz = 3; break; + + default: + list->bufsiz = 1; + break; } list->buffer = list->bufsiz; @@ -446,13 +551,19 @@ static ssize_t mousedev_read(struct file * file, char __user * buffer, size_t co if (!list->ready && !list->buffer && (file->f_flags & O_NONBLOCK)) return -EAGAIN; - retval = wait_event_interruptible(list->mousedev->wait, list->ready || list->buffer); + retval = wait_event_interruptible(list->mousedev->wait, + !list->mousedev->exist || list->ready || list->buffer); if (retval) return retval; - if (!list->buffer && list->ready) - mousedev_packet(list, 0); + if (!list->mousedev->exist) + return -ENODEV; + + if (!list->buffer && list->ready) { + mousedev_packet(list, list->ps2); + list->buffer = list->bufsiz; + } if (count > list->buffer) count = list->buffer; diff --git a/drivers/input/serio/Kconfig b/drivers/input/serio/Kconfig index cd74954bd..db1a8ce43 100644 --- a/drivers/input/serio/Kconfig +++ b/drivers/input/serio/Kconfig @@ -20,7 +20,7 @@ config SERIO_I8042 tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 default y select SERIO - depends on !PARISC + depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) ---help--- i8042 is the chip over which the standard AT keyboard and PS/2 mouse are connected to the computer. If you use these devices, @@ -130,3 +130,19 @@ config SERIO_MACEPS2 To compile this driver as a module, choose M here: the module will be called maceps2. + +config SERIO_RAW + tristate "Raw access to serio ports" + depends on SERIO + help + Say Y here if you want to have raw access to serio ports, such as + AUX ports on i8042 keyboard controller. Each serio port that is + bound to this driver will be accessible via a char device with + major 10 and dynamically allocated minor. The driver will try + allocating minor 1 (that historically corresponds to /dev/psaux) + first. To bind this driver to a serio port use sysfs interface: + + echo -n "serio_raw" > /sys/bus/serio/devices/serioX/driver + + To compile this driver as a module, choose M here: the + module will be called serio_raw. diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c index 6a780c10f..4b3b5135f 100644 --- a/drivers/input/serio/ambakmi.c +++ b/drivers/input/serio/ambakmi.c @@ -29,7 +29,7 @@ #define KMI_BASE (kmi->base) struct amba_kmi_port { - struct serio io; + struct serio *io; struct clk *clk; unsigned char *base; unsigned int irq; @@ -44,7 +44,7 @@ static irqreturn_t amba_kmi_int(int irq, void *dev_id, struct pt_regs *regs) int handled = IRQ_NONE; while (status & KMIIR_RXINTR) { - serio_interrupt(&kmi->io, readb(KMIDATA), 0, regs); + serio_interrupt(kmi->io, readb(KMIDATA), 0, regs); status = readb(KMIIR); handled = IRQ_HANDLED; } @@ -54,7 +54,7 @@ static irqreturn_t amba_kmi_int(int irq, void *dev_id, struct pt_regs *regs) static int amba_kmi_write(struct serio *io, unsigned char val) { - struct amba_kmi_port *kmi = io->driver; + struct amba_kmi_port *kmi = io->port_data; unsigned int timeleft = 10000; /* timeout in 100ms */ while ((readb(KMISTAT) & KMISTAT_TXEMPTY) == 0 && timeleft--) @@ -68,7 +68,7 @@ static int amba_kmi_write(struct serio *io, unsigned char val) static int amba_kmi_open(struct serio *io) { - struct amba_kmi_port *kmi = io->driver; + struct amba_kmi_port *kmi = io->port_data; unsigned int divisor; int ret; @@ -105,7 +105,7 @@ static int amba_kmi_open(struct serio *io) static void amba_kmi_close(struct serio *io) { - struct amba_kmi_port *kmi = io->driver; + struct amba_kmi_port *kmi = io->port_data; writeb(0, KMICR); @@ -117,6 +117,7 @@ static void amba_kmi_close(struct serio *io) static int amba_kmi_probe(struct amba_device *dev, void *id) { struct amba_kmi_port *kmi; + struct serio *io; int ret; ret = amba_request_regions(dev, NULL); @@ -124,21 +125,25 @@ static int amba_kmi_probe(struct amba_device *dev, void *id) return ret; kmi = kmalloc(sizeof(struct amba_kmi_port), GFP_KERNEL); - if (!kmi) { + io = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (!kmi || !io) { ret = -ENOMEM; goto out; } memset(kmi, 0, sizeof(struct amba_kmi_port)); - - kmi->io.type = SERIO_8042; - kmi->io.write = amba_kmi_write; - kmi->io.open = amba_kmi_open; - kmi->io.close = amba_kmi_close; - kmi->io.name = dev->dev.bus_id; - kmi->io.phys = dev->dev.bus_id; - kmi->io.driver = kmi; - + memset(io, 0, sizeof(struct serio)); + + io->type = SERIO_8042; + io->write = amba_kmi_write; + io->open = amba_kmi_open; + io->close = amba_kmi_close; + strlcpy(io->name, dev->dev.bus_id, sizeof(io->name)); + strlcpy(io->phys, dev->dev.bus_id, sizeof(io->phys)); + io->port_data = kmi; + io->dev.parent = &dev->dev; + + kmi->io = io; kmi->base = ioremap(dev->res.start, KMI_SIZE); if (!kmi->base) { ret = -ENOMEM; @@ -154,13 +159,14 @@ static int amba_kmi_probe(struct amba_device *dev, void *id) kmi->irq = dev->irq[0]; amba_set_drvdata(dev, kmi); - serio_register_port(&kmi->io); + serio_register_port(kmi->io); return 0; unmap: iounmap(kmi->base); out: kfree(kmi); + kfree(io); amba_release_regions(dev); return ret; } @@ -171,7 +177,7 @@ static int amba_kmi_remove(struct amba_device *dev) amba_set_drvdata(dev, NULL); - serio_unregister_port(&kmi->io); + serio_unregister_port(kmi->io); clk_put(kmi->clk); iounmap(kmi->base); kfree(kmi); @@ -184,7 +190,7 @@ static int amba_kmi_resume(struct amba_device *dev) struct amba_kmi_port *kmi = amba_get_drvdata(dev); /* kick the serio layer to rescan this port */ - serio_rescan(&kmi->io); + serio_reconnect(kmi->io); return 0; } @@ -214,7 +220,7 @@ static int __init amba_kmi_init(void) static void __exit amba_kmi_exit(void) { - return amba_driver_unregister(&ambakmi_driver); + amba_driver_unregister(&ambakmi_driver); } module_init(amba_kmi_init); diff --git a/drivers/input/serio/i8042-io.h b/drivers/input/serio/i8042-io.h index 2cba08840..b567c116a 100644 --- a/drivers/input/serio/i8042-io.h +++ b/drivers/input/serio/i8042-io.h @@ -65,6 +65,31 @@ static inline void i8042_write_command(int val) return; } +#if defined(__i386__) + +#include + +static struct dmi_system_id __initdata i8042_dmi_table[] = { + { + .ident = "Compaq Proliant 8500", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), + DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"), + DMI_MATCH(DMI_PRODUCT_VERSION, "8500"), + }, + }, + { + .ident = "Compaq Proliant DL760", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Compaq"), + DMI_MATCH(DMI_PRODUCT_NAME , "ProLiant"), + DMI_MATCH(DMI_PRODUCT_VERSION, "DL760"), + }, + }, + { } +}; +#endif + static inline int i8042_platform_init(void) { /* @@ -79,6 +104,12 @@ static inline int i8042_platform_init(void) #if !defined(__i386__) && !defined(__x86_64__) i8042_reset = 1; #endif + +#if defined(__i386__) + if (dmi_check_system(i8042_dmi_table)) + i8042_noloop = 1; +#endif + return 0; } diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 1314f005b..b63898719 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -1,7 +1,7 @@ /* * i8042 keyboard and mouse controller driver for Linux * - * Copyright (c) 1999-2002 Vojtech Pavlik + * Copyright (c) 1999-2004 Vojtech Pavlik */ /* @@ -22,6 +22,7 @@ #include #include #include +#include #include @@ -53,6 +54,10 @@ static unsigned int i8042_dumbkbd; module_param_named(dumbkbd, i8042_dumbkbd, bool, 0); MODULE_PARM_DESC(dumbkbd, "Pretend that controller can only read data from keyboard"); +static unsigned int i8042_noloop; +module_param_named(noloop, i8042_noloop, bool, 0); +MODULE_PARM_DESC(dumbkbd, "Disable the AUX Loopback command while probing for the AUX port"); + __obsolete_setup("i8042_noaux"); __obsolete_setup("i8042_nomux"); __obsolete_setup("i8042_unlock"); @@ -71,19 +76,35 @@ struct i8042_values { unsigned char irqen; unsigned char exists; signed char mux; - unsigned char *name; - unsigned char *phys; + char name[8]; +}; + +static struct i8042_values i8042_kbd_values = { + .disable = I8042_CTR_KBDDIS, + .irqen = I8042_CTR_KBDINT, + .mux = -1, + .name = "KBD", +}; + +static struct i8042_values i8042_aux_values = { + .disable = I8042_CTR_AUXDIS, + .irqen = I8042_CTR_AUXINT, + .mux = -1, + .name = "AUX", }; -static struct serio i8042_kbd_port; -static struct serio i8042_aux_port; +static struct i8042_values i8042_mux_values[I8042_NUM_MUX_PORTS]; + +static struct serio *i8042_kbd_port; +static struct serio *i8042_aux_port; +static struct serio *i8042_mux_port[I8042_NUM_MUX_PORTS]; static unsigned char i8042_initial_ctr; static unsigned char i8042_ctr; static unsigned char i8042_mux_open; static unsigned char i8042_mux_present; -static unsigned char i8042_sysdev_initialized; static struct pm_dev *i8042_pm_dev; -struct timer_list i8042_timer; +static struct timer_list i8042_timer; +static struct platform_device *i8042_platform_device; /* * Shared IRQ's require a device pointer, but this driver doesn't support @@ -96,6 +117,7 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs); /* * The i8042_wait_read() and i8042_wait_write functions wait for the i8042 to * be ready for reading values from it / writing values to it. + * Called always with i8042_lock held. */ static int i8042_wait_read(void) @@ -156,6 +178,9 @@ static int i8042_command(unsigned char *param, int command) unsigned long flags; int retval = 0, i = 0; + if (i8042_noloop && command == I8042_CMD_AUX_LOOP) + return -1; + spin_lock_irqsave(&i8042_lock, flags); retval = i8042_wait_write(); @@ -216,7 +241,7 @@ static int i8042_kbd_write(struct serio *port, unsigned char c) static int i8042_aux_write(struct serio *port, unsigned char c) { - struct i8042_values *values = port->driver; + struct i8042_values *values = port->port_data; int retval; /* @@ -244,7 +269,7 @@ static int i8042_aux_write(struct serio *port, unsigned char c) static int i8042_activate_port(struct serio *port) { - struct i8042_values *values = port->driver; + struct i8042_values *values = port->port_data; i8042_flush(); @@ -272,7 +297,7 @@ static int i8042_activate_port(struct serio *port) static int i8042_open(struct serio *port) { - struct i8042_values *values = port->driver; + struct i8042_values *values = port->port_data; if (values->mux != -1) if (i8042_mux_open++) @@ -311,7 +336,7 @@ irq_fail: static void i8042_close(struct serio *port) { - struct i8042_values *values = port->driver; + struct i8042_values *values = port->port_data; if (values->mux != -1) if (--i8042_mux_open) @@ -329,52 +354,6 @@ static void i8042_close(struct serio *port) i8042_flush(); } -/* - * Structures for registering the devices in the serio.c module. - */ - -static struct i8042_values i8042_kbd_values = { - .irqen = I8042_CTR_KBDINT, - .disable = I8042_CTR_KBDDIS, - .name = "KBD", - .mux = -1, -}; - -static struct serio i8042_kbd_port = -{ - .type = SERIO_8042_XL, - .write = i8042_kbd_write, - .open = i8042_open, - .close = i8042_close, - .driver = &i8042_kbd_values, - .name = "i8042 Kbd Port", - .phys = I8042_KBD_PHYS_DESC, -}; - -static struct i8042_values i8042_aux_values = { - .irqen = I8042_CTR_AUXINT, - .disable = I8042_CTR_AUXDIS, - .name = "AUX", - .mux = -1, -}; - -static struct serio i8042_aux_port = -{ - .type = SERIO_8042, - .write = i8042_aux_write, - .open = i8042_open, - .close = i8042_close, - .driver = &i8042_aux_values, - .name = "i8042 Aux Port", - .phys = I8042_AUX_PHYS_DESC, -}; - -static struct i8042_values i8042_mux_values[4]; -static struct serio i8042_mux_port[4]; -static char i8042_mux_names[4][32]; -static char i8042_mux_short[4][16]; -static char i8042_mux_phys[4][32]; - /* * i8042_interrupt() is the most important function in this driver - * it handles the interrupts from the i8042, and sends incoming bytes @@ -386,6 +365,7 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs) unsigned long flags; unsigned char str, data = 0; unsigned int dfl; + unsigned int aux_idx; int ret; mod_timer(&i8042_timer, jiffies + I8042_POLL_PERIOD); @@ -402,44 +382,67 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id, struct pt_regs *regs) goto out; } - dfl = ((str & I8042_STR_PARITY) ? SERIO_PARITY : 0) | - ((str & I8042_STR_TIMEOUT) ? SERIO_TIMEOUT : 0); - - if (i8042_mux_values[0].exists && (str & I8042_STR_AUXDATA)) { + if (i8042_mux_present && (str & I8042_STR_AUXDATA)) { + static unsigned long last_transmit; + static unsigned char last_str; + dfl = 0; if (str & I8042_STR_MUXERR) { + dbg("MUX error, status is %02x, data is %02x", str, data); switch (data) { + default: +/* + * When MUXERR condition is signalled the data register can only contain + * 0xfd, 0xfe or 0xff if implementation follows the spec. Unfortunately + * it is not always the case. Some KBC just get confused which port the + * data came from and signal error leaving the data intact. They _do not_ + * revert to legacy mode (actually I've never seen KBC reverting to legacy + * mode yet, when we see one we'll add proper handling). + * Anyway, we will assume that the data came from the same serio last byte + * was transmitted (if transmission happened not too long ago). + */ + if (time_before(jiffies, last_transmit + HZ/10)) { + str = last_str; + break; + } + /* fall through - report timeout */ case 0xfd: - case 0xfe: dfl = SERIO_TIMEOUT; break; - case 0xff: dfl = SERIO_PARITY; break; + case 0xfe: dfl = SERIO_TIMEOUT; data = 0xfe; break; + case 0xff: dfl = SERIO_PARITY; data = 0xfe; break; } - data = 0xfe; - } else dfl = 0; + } + + aux_idx = (str >> 6) & 3; dbg("%02x <- i8042 (interrupt, aux%d, %d%s%s)", - data, (str >> 6), irq, + data, aux_idx, irq, dfl & SERIO_PARITY ? ", bad parity" : "", dfl & SERIO_TIMEOUT ? ", timeout" : ""); - serio_interrupt(i8042_mux_port + ((str >> 6) & 3), data, dfl, regs); + if (likely(i8042_mux_values[aux_idx].exists)) + serio_interrupt(i8042_mux_port[aux_idx], data, dfl, regs); + last_str = str; + last_transmit = jiffies; goto irq_ret; } + dfl = ((str & I8042_STR_PARITY) ? SERIO_PARITY : 0) | + ((str & I8042_STR_TIMEOUT) ? SERIO_TIMEOUT : 0); + dbg("%02x <- i8042 (interrupt, %s, %d%s%s)", data, (str & I8042_STR_AUXDATA) ? "aux" : "kbd", irq, dfl & SERIO_PARITY ? ", bad parity" : "", dfl & SERIO_TIMEOUT ? ", timeout" : ""); - if (i8042_aux_values.exists && (str & I8042_STR_AUXDATA)) { - serio_interrupt(&i8042_aux_port, data, dfl, regs); - goto irq_ret; - } - - if (!i8042_kbd_values.exists) - goto irq_ret; - serio_interrupt(&i8042_kbd_port, data, dfl, regs); + if (str & I8042_STR_AUXDATA) { + if (likely(i8042_aux_values.exists)) + serio_interrupt(i8042_aux_port, data, dfl, regs); + } else { + if (likely(i8042_kbd_values.exists)) + serio_interrupt(i8042_kbd_port, data, dfl, regs); + } irq_ret: ret = 1; @@ -476,17 +479,8 @@ static int i8042_enable_mux_mode(struct i8042_values *values, unsigned char *mux if (i8042_command(¶m, I8042_CMD_AUX_LOOP) || param != 0xa9) return -1; param = 0xa4; - if (i8042_command(¶m, I8042_CMD_AUX_LOOP) || param == 0x5b) { - -/* - * Do another loop test with the 0x5a value. Doing anything else upsets - * Profusion/ServerWorks OSB4 chipsets. - */ - - param = 0x5a; - i8042_command(¶m, I8042_CMD_AUX_LOOP); + if (i8042_command(¶m, I8042_CMD_AUX_LOOP) || param == 0x5b) return -1; - } if (mux_version) *mux_version = ~param; @@ -641,8 +635,10 @@ static int __init i8042_check_aux(struct i8042_values *values) * registers it, and reports to the user. */ -static int __init i8042_port_register(struct i8042_values *values, struct serio *port) +static int __init i8042_port_register(struct serio *port) { + struct i8042_values *values = port->port_data; + values->exists = 1; i8042_ctr &= ~values->disable; @@ -743,6 +739,7 @@ static int i8042_spank_usb(void) static int i8042_controller_init(void) { int tries = 0; + unsigned long flags; /* * Test the i8042. We need to know if it thinks it's working correctly @@ -795,12 +792,14 @@ static int i8042_controller_init(void) * Handle keylock. */ + spin_lock_irqsave(&i8042_lock, flags); if (~i8042_read_status() & I8042_STR_KEYLOCK) { if (i8042_unlock) i8042_ctr |= I8042_CTR_IGNKEYLOCK; else printk(KERN_WARNING "i8042.c: Warning: Keylock active.\n"); } + spin_unlock_irqrestore(&i8042_lock, flags); /* * If the chip is configured into nontranslated mode by the BIOS, don't @@ -817,10 +816,8 @@ static int i8042_controller_init(void) * BIOSes. */ - if (i8042_direct) { + if (i8042_direct) i8042_ctr &= ~I8042_CTR_XLATE; - i8042_kbd_port.type = SERIO_8042; - } /* * Write CTR back. @@ -874,14 +871,14 @@ void i8042_controller_cleanup(void) */ if (i8042_kbd_values.exists) - serio_cleanup(&i8042_kbd_port); + serio_cleanup(i8042_kbd_port); if (i8042_aux_values.exists) - serio_cleanup(&i8042_aux_port); + serio_cleanup(i8042_aux_port); - for (i = 0; i < 4; i++) + for (i = 0; i < I8042_NUM_MUX_PORTS; i++) if (i8042_mux_values[i].exists) - serio_cleanup(i8042_mux_port + i); + serio_cleanup(i8042_mux_port[i]); i8042_controller_reset(); } @@ -923,15 +920,15 @@ static int i8042_controller_resume(void) * Reconnect anything that was connected to the ports. */ - if (i8042_kbd_values.exists && i8042_activate_port(&i8042_kbd_port) == 0) - serio_reconnect(&i8042_kbd_port); + if (i8042_kbd_values.exists && i8042_activate_port(i8042_kbd_port) == 0) + serio_reconnect(i8042_kbd_port); - if (i8042_aux_values.exists && i8042_activate_port(&i8042_aux_port) == 0) - serio_reconnect(&i8042_aux_port); + if (i8042_aux_values.exists && i8042_activate_port(i8042_aux_port) == 0) + serio_reconnect(i8042_aux_port); - for (i = 0; i < 4; i++) - if (i8042_mux_values[i].exists && i8042_activate_port(i8042_mux_port + i) == 0) - serio_reconnect(i8042_mux_port + i); + for (i = 0; i < I8042_NUM_MUX_PORTS; i++) + if (i8042_mux_values[i].exists && i8042_activate_port(i8042_mux_port[i]) == 0) + serio_reconnect(i8042_mux_port[i]); /* * Restart timer (for polling "stuck" data) */ @@ -954,35 +951,71 @@ static int i8042_notify_sys(struct notifier_block *this, unsigned long code, return NOTIFY_DONE; } -static struct notifier_block i8042_notifier= +static struct notifier_block i8042_notifier = { i8042_notify_sys, NULL, 0 }; +static int blink_frequency = 500; +module_param_named(panicblink, blink_frequency, int, 0600); + +#define DELAY mdelay(1), delay++ + +/* Tell the user who may be running in X and not see the console that we have + panic'ed. This is to distingush panics from "real" lockups. */ +static long i8042_panic_blink(long count) +{ + long delay = 0; + static long last_blink; + static char led; + /* Roughly 1/2s frequency. KDB uses about 1s. Make sure it is + different. */ + if (!blink_frequency) + return 0; + if (count - last_blink < blink_frequency) + return 0; + led ^= 0x01 | 0x04; + while (i8042_read_status() & I8042_STR_IBF) + DELAY; + i8042_write_data(0xed); /* set leds */ + DELAY; + while (i8042_read_status() & I8042_STR_IBF) + DELAY; + DELAY; + i8042_write_data(led); + DELAY; + last_blink = count; + return delay; +} + +#undef DELAY + /* * Suspend/resume handlers for the new PM scheme (driver model) */ -static int i8042_suspend(struct sys_device *dev, u32 state) +static int i8042_suspend(struct device *dev, u32 state, u32 level) { - return i8042_controller_suspend(); + return level == SUSPEND_DISABLE ? i8042_controller_suspend() : 0; } -static int i8042_resume(struct sys_device *dev) +static int i8042_resume(struct device *dev, u32 level) { - return i8042_controller_resume(); + return level == RESUME_ENABLE ? i8042_controller_resume() : 0; } -static struct sysdev_class kbc_sysclass = { - set_kset_name("i8042"), - .suspend = i8042_suspend, - .resume = i8042_resume, -}; +static void i8042_shutdown(struct device *dev) +{ + i8042_controller_cleanup(); +} -static struct sys_device device_i8042 = { - .id = 0, - .cls = &kbc_sysclass, +static struct device_driver i8042_driver = { + .name = "i8042", + .bus = &platform_bus_type, + .suspend = i8042_suspend, + .resume = i8042_resume, + .shutdown = i8042_shutdown, }; /* @@ -1001,23 +1034,75 @@ static int i8042_pm_callback(struct pm_dev *dev, pm_request_t request, void *dum return 0; } -static void __init i8042_init_mux_values(struct i8042_values *values, struct serio *port, int index) +static struct serio * __init i8042_allocate_kbd_port(void) { - memcpy(port, &i8042_aux_port, sizeof(struct serio)); - memcpy(values, &i8042_aux_values, sizeof(struct i8042_values)); - sprintf(i8042_mux_names[index], "i8042 Aux-%d Port", index); - sprintf(i8042_mux_phys[index], I8042_MUX_PHYS_DESC, index + 1); - sprintf(i8042_mux_short[index], "AUX%d", index); - port->name = i8042_mux_names[index]; - port->phys = i8042_mux_phys[index]; - port->driver = values; - values->name = i8042_mux_short[index]; - values->mux = index; + struct serio *serio; + + serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (serio) { + memset(serio, 0, sizeof(struct serio)); + serio->type = i8042_direct ? SERIO_8042 : SERIO_8042_XL, + serio->write = i8042_dumbkbd ? NULL : i8042_kbd_write, + serio->open = i8042_open, + serio->close = i8042_close, + serio->port_data = &i8042_kbd_values, + serio->dev.parent = &i8042_platform_device->dev; + strlcpy(serio->name, "i8042 Kbd Port", sizeof(serio->name)); + strlcpy(serio->phys, I8042_KBD_PHYS_DESC, sizeof(serio->phys)); + } + + return serio; +} + +static struct serio * __init i8042_allocate_aux_port(void) +{ + struct serio *serio; + + serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (serio) { + memset(serio, 0, sizeof(struct serio)); + serio->type = SERIO_8042; + serio->write = i8042_aux_write; + serio->open = i8042_open; + serio->close = i8042_close; + serio->port_data = &i8042_aux_values, + serio->dev.parent = &i8042_platform_device->dev; + strlcpy(serio->name, "i8042 Aux Port", sizeof(serio->name)); + strlcpy(serio->phys, I8042_AUX_PHYS_DESC, sizeof(serio->phys)); + } + + return serio; +} + +static struct serio * __init i8042_allocate_mux_port(int index) +{ + struct serio *serio; + struct i8042_values *values = &i8042_mux_values[index]; + + serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (serio) { + *values = i8042_aux_values; + snprintf(values->name, sizeof(values->name), "AUX%d", index); + values->mux = index; + + memset(serio, 0, sizeof(struct serio)); + serio->type = SERIO_8042; + serio->write = i8042_aux_write; + serio->open = i8042_open; + serio->close = i8042_close; + serio->port_data = values; + serio->dev.parent = &i8042_platform_device->dev; + snprintf(serio->name, sizeof(serio->name), "i8042 Aux-%d Port", index); + snprintf(serio->phys, sizeof(serio->phys), I8042_MUX_PHYS_DESC, index + 1); + } + + return serio; } int __init i8042_init(void) { int i; + int err; dbg_init(); @@ -1033,34 +1118,42 @@ int __init i8042_init(void) if (i8042_controller_init()) return -ENODEV; - if (i8042_dumbkbd) - i8042_kbd_port.write = NULL; + err = driver_register(&i8042_driver); + if (err) + return err; + + i8042_platform_device = platform_device_register_simple("i8042", -1, NULL, 0); + if (IS_ERR(i8042_platform_device)) { + driver_unregister(&i8042_driver); + return PTR_ERR(i8042_platform_device); + } if (!i8042_noaux && !i8042_check_aux(&i8042_aux_values)) { if (!i8042_nomux && !i8042_check_mux(&i8042_aux_values)) - for (i = 0; i < 4; i++) { - i8042_init_mux_values(i8042_mux_values + i, i8042_mux_port + i, i); - i8042_port_register(i8042_mux_values + i, i8042_mux_port + i); + for (i = 0; i < I8042_NUM_MUX_PORTS; i++) { + i8042_mux_port[i] = i8042_allocate_mux_port(i); + if (i8042_mux_port[i]) + i8042_port_register(i8042_mux_port[i]); } - else - i8042_port_register(&i8042_aux_values, &i8042_aux_port); + else { + i8042_aux_port = i8042_allocate_aux_port(); + if (i8042_aux_port) + i8042_port_register(i8042_aux_port); + } } - i8042_port_register(&i8042_kbd_values, &i8042_kbd_port); + i8042_kbd_port = i8042_allocate_kbd_port(); + if (i8042_kbd_port) + i8042_port_register(i8042_kbd_port); mod_timer(&i8042_timer, jiffies + I8042_POLL_PERIOD); - if (sysdev_class_register(&kbc_sysclass) == 0) { - if (sysdev_register(&device_i8042) == 0) - i8042_sysdev_initialized = 1; - else - sysdev_class_unregister(&kbc_sysclass); - } - i8042_pm_dev = pm_register(PM_SYS_DEV, PM_SYS_UNKNOWN, i8042_pm_callback); register_reboot_notifier(&i8042_notifier); + panic_blink = i8042_panic_blink; + return 0; } @@ -1073,25 +1166,26 @@ void __exit i8042_exit(void) if (i8042_pm_dev) pm_unregister(i8042_pm_dev); - if (i8042_sysdev_initialized) { - sysdev_unregister(&device_i8042); - sysdev_class_unregister(&kbc_sysclass); - } - i8042_controller_cleanup(); if (i8042_kbd_values.exists) - serio_unregister_port(&i8042_kbd_port); + serio_unregister_port(i8042_kbd_port); if (i8042_aux_values.exists) - serio_unregister_port(&i8042_aux_port); + serio_unregister_port(i8042_aux_port); - for (i = 0; i < 4; i++) + for (i = 0; i < I8042_NUM_MUX_PORTS; i++) if (i8042_mux_values[i].exists) - serio_unregister_port(i8042_mux_port + i); + serio_unregister_port(i8042_mux_port[i]); + del_timer_sync(&i8042_timer); + platform_device_unregister(i8042_platform_device); + driver_unregister(&i8042_driver); + i8042_platform_exit(); + + panic_blink = NULL; } module_init(i8042_init); diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c index 9beb7575c..62937f5b3 100644 --- a/drivers/input/serio/sa1111ps2.c +++ b/drivers/input/serio/sa1111ps2.c @@ -26,7 +26,7 @@ #include struct ps2if { - struct serio io; + struct serio *io; struct sa1111_dev *dev; unsigned long base; unsigned int open; @@ -59,7 +59,7 @@ static irqreturn_t ps2_rxint(int irq, void *dev_id, struct pt_regs *regs) if (hweight8(scancode) & 1) flag ^= SERIO_PARITY; - serio_interrupt(&ps2if->io, scancode, flag, regs); + serio_interrupt(ps2if->io, scancode, flag, regs); status = sa1111_readl(ps2if->base + SA1111_PS2STAT); } @@ -95,7 +95,7 @@ static irqreturn_t ps2_txint(int irq, void *dev_id, struct pt_regs *regs) */ static int ps2_write(struct serio *io, unsigned char val) { - struct ps2if *ps2if = io->driver; + struct ps2if *ps2if = io->port_data; unsigned long flags; unsigned int head; @@ -122,7 +122,7 @@ static int ps2_write(struct serio *io, unsigned char val) static int ps2_open(struct serio *io) { - struct ps2if *ps2if = io->driver; + struct ps2if *ps2if = io->port_data; int ret; sa1111_enable_device(ps2if->dev); @@ -154,7 +154,7 @@ static int ps2_open(struct serio *io) static void ps2_close(struct serio *io) { - struct ps2if *ps2if = io->driver; + struct ps2if *ps2if = io->port_data; sa1111_writel(0, ps2if->base + SA1111_PS2CR); @@ -232,22 +232,28 @@ static int __init ps2_test(struct ps2if *ps2if) static int ps2_probe(struct sa1111_dev *dev) { struct ps2if *ps2if; + struct serio *serio; int ret; ps2if = kmalloc(sizeof(struct ps2if), GFP_KERNEL); - if (!ps2if) { - return -ENOMEM; + serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (!ps2if || !serio) { + ret = -ENOMEM; + goto free; } memset(ps2if, 0, sizeof(struct ps2if)); - - ps2if->io.type = SERIO_8042; - ps2if->io.write = ps2_write; - ps2if->io.open = ps2_open; - ps2if->io.close = ps2_close; - ps2if->io.name = dev->dev.bus_id; - ps2if->io.phys = dev->dev.bus_id; - ps2if->io.driver = ps2if; + memset(serio, 0, sizeof(struct serio)); + + serio->type = SERIO_8042; + serio->write = ps2_write; + serio->open = ps2_open; + serio->close = ps2_close; + strlcpy(serio->name, dev->dev.bus_id, sizeof(serio->name)); + strlcpy(serio->phys, dev->dev.bus_id, sizeof(serio->phys)); + serio->port_data = ps2if; + serio->dev.parent = &dev->dev; + ps2if->io = serio; ps2if->dev = dev; sa1111_set_drvdata(dev, ps2if); @@ -292,7 +298,7 @@ static int ps2_probe(struct sa1111_dev *dev) ps2_clear_input(ps2if); sa1111_disable_device(ps2if->dev); - serio_register_port(&ps2if->io); + serio_register_port(ps2if->io); return 0; out: @@ -302,6 +308,7 @@ static int ps2_probe(struct sa1111_dev *dev) free: sa1111_set_drvdata(dev, NULL); kfree(ps2if); + kfree(serio); return ret; } @@ -312,7 +319,7 @@ static int ps2_remove(struct sa1111_dev *dev) { struct ps2if *ps2if = sa1111_get_drvdata(dev); - serio_unregister_port(&ps2if->io); + serio_unregister_port(ps2if->io); release_mem_region(dev->res.start, dev->res.end - dev->res.start + 1); sa1111_set_drvdata(dev, NULL); diff --git a/drivers/input/serio/serport.c b/drivers/input/serio/serport.c index 19e269249..5582ee822 100644 --- a/drivers/input/serio/serport.c +++ b/drivers/input/serio/serport.c @@ -31,28 +31,25 @@ MODULE_ALIAS_LDISC(N_MOUSE); struct serport { struct tty_struct *tty; wait_queue_head_t wait; - struct serio serio; + struct serio *serio; unsigned long flags; - char phys[32]; }; -char serport_name[] = "Serial port"; - /* * Callback functions from the serio code. */ static int serport_serio_write(struct serio *serio, unsigned char data) { - struct serport *serport = serio->driver; + struct serport *serport = serio->port_data; return -(serport->tty->driver->write(serport->tty, 0, &data, 1) != 1); } static void serport_serio_close(struct serio *serio) { - struct serport *serport = serio->driver; + struct serport *serport = serio->port_data; - serport->serio.type = 0; + serport->serio->type = 0; wake_up_interruptible(&serport->wait); } @@ -64,26 +61,30 @@ static void serport_serio_close(struct serio *serio) static int serport_ldisc_open(struct tty_struct *tty) { struct serport *serport; + struct serio *serio; char name[64]; serport = kmalloc(sizeof(struct serport), GFP_KERNEL); - if (unlikely(!serport)) + serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (unlikely(!serport || !serio)) { + kfree(serport); + kfree(serio); return -ENOMEM; - memset(serport, 0, sizeof(struct serport)); + } + memset(serport, 0, sizeof(struct serport)); + serport->serio = serio; set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); serport->tty = tty; tty->disc_data = serport; - snprintf(serport->phys, sizeof(serport->phys), "%s/serio0", tty_name(tty, name)); - - serport->serio.name = serport_name; - serport->serio.phys = serport->phys; - - serport->serio.type = SERIO_RS232; - serport->serio.write = serport_serio_write; - serport->serio.close = serport_serio_close; - serport->serio.driver = serport; + memset(serio, 0, sizeof(struct serio)); + strlcpy(serio->name, "Serial port", sizeof(serio->name)); + snprintf(serio->phys, sizeof(serio->phys), "%s/serio0", tty_name(tty, name)); + serio->type = SERIO_RS232; + serio->write = serport_serio_write; + serio->close = serport_serio_close; + serio->port_data = serport; init_waitqueue_head(&serport->wait); @@ -114,7 +115,7 @@ static void serport_ldisc_receive(struct tty_struct *tty, const unsigned char *c struct serport *serport = (struct serport*) tty->disc_data; int i; for (i = 0; i < count; i++) - serio_interrupt(&serport->serio, cp[i], 0, NULL); + serio_interrupt(serport->serio, cp[i], 0, NULL); } /* @@ -142,10 +143,10 @@ static ssize_t serport_ldisc_read(struct tty_struct * tty, struct file * file, u if (test_and_set_bit(SERPORT_BUSY, &serport->flags)) return -EBUSY; - serio_register_port(&serport->serio); + serio_register_port(serport->serio); printk(KERN_INFO "serio: Serial port %s\n", tty_name(tty, name)); - wait_event_interruptible(serport->wait, !serport->serio.type); - serio_unregister_port(&serport->serio); + wait_event_interruptible(serport->wait, !serport->serio->type); + serio_unregister_port(serport->serio); clear_bit(SERPORT_BUSY, &serport->flags); @@ -161,7 +162,7 @@ static int serport_ldisc_ioctl(struct tty_struct * tty, struct file * file, unsi struct serport *serport = (struct serport*) tty->disc_data; if (cmd == SPIOCSTYPE) - return get_user(serport->serio.type, (unsigned long __user *) arg); + return get_user(serport->serio->type, (unsigned long __user *) arg); return -EINVAL; } @@ -170,7 +171,7 @@ static void serport_ldisc_write_wakeup(struct tty_struct * tty) { struct serport *sp = (struct serport *) tty->disc_data; - serio_dev_write_wakeup(&sp->serio); + serio_drv_write_wakeup(sp->serio); } /* diff --git a/drivers/input/tsdev.c b/drivers/input/tsdev.c index ac072d37c..18c37d8ac 100644 --- a/drivers/input/tsdev.c +++ b/drivers/input/tsdev.c @@ -3,32 +3,42 @@ * * Copyright (c) 2001 "Crazy" james Simmons * - * Input driver to Touchscreen device driver module. + * Compaq touchscreen protocol driver. The protocol emulated by this driver + * is obsolete; for new programs use the tslib library which can read directly + * from evdev and perform dejittering, variance filtering and calibration - + * all in user space, not at kernel level. The meaning of this driver is + * to allow usage of newer input drivers with old applications that use the + * old /dev/h3600_ts and /dev/h3600_tsraw devices. * - * Sponsored by Transvirtual Technology + * 09-Apr-2004: Andrew Zabolotny + * Fixed to actually work, not just output random numbers. + * Added support for both h3600_ts and h3600_tsraw protocol + * emulation. */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * + * * Should you need to contact me, the author, you can do so either by - * e-mail - mail your message to . + * e-mail - mail your message to . */ #define TSDEV_MINOR_BASE 128 #define TSDEV_MINORS 32 +/* First 16 devices are h3600_ts compatible; second 16 are h3600_tsraw */ +#define TSDEV_MINOR_MASK 15 #define TSDEV_BUFFER_SIZE 64 #include @@ -52,48 +62,84 @@ #define CONFIG_INPUT_TSDEV_SCREEN_Y 320 #endif +/* This driver emulates both protocols of the old h3600_ts and h3600_tsraw + * devices. The first one must output X/Y data in 'cooked' format, e.g. + * filtered, dejittered and calibrated. Second device just outputs raw + * data received from the hardware. + * + * This driver doesn't support filtering and dejittering; it supports only + * calibration. Filtering and dejittering must be done in the low-level + * driver, if needed, because it may gain additional benefits from knowing + * the low-level details, the nature of noise and so on. + * + * The driver precomputes a calibration matrix given the initial xres and + * yres values (quite innacurate for most touchscreens) that will result + * in a more or less expected range of output values. The driver supports + * the TS_SET_CAL ioctl, which will replace the calibration matrix with a + * new one, supposedly generated from the values taken from the raw device. + */ + MODULE_AUTHOR("James Simmons "); MODULE_DESCRIPTION("Input driver to touchscreen converter"); MODULE_LICENSE("GPL"); static int xres = CONFIG_INPUT_TSDEV_SCREEN_X; module_param(xres, uint, 0); -MODULE_PARM_DESC(xres, "Horizontal screen resolution"); +MODULE_PARM_DESC(xres, "Horizontal screen resolution (can be negative for X-mirror)"); static int yres = CONFIG_INPUT_TSDEV_SCREEN_Y; module_param(yres, uint, 0); -MODULE_PARM_DESC(yres, "Vertical screen resolution"); +MODULE_PARM_DESC(yres, "Vertical screen resolution (can be negative for Y-mirror)"); + +/* From Compaq's Touch Screen Specification version 0.2 (draft) */ +struct ts_event { + short pressure; + short x; + short y; + short millisecs; +}; + +struct ts_calibration { + int xscale; + int xtrans; + int yscale; + int ytrans; + int xyswap; +}; struct tsdev { int exist; int open; int minor; - char name[16]; + char name[8]; wait_queue_head_t wait; struct list_head list; struct input_handle handle; + int x, y, pressure; + struct ts_calibration cal; }; -/* From Compaq's Touch Screen Specification version 0.2 (draft) */ -typedef struct { - short pressure; - short x; - short y; - short millisecs; -} TS_EVENT; - struct tsdev_list { struct fasync_struct *fasync; struct list_head node; struct tsdev *tsdev; int head, tail; - int oldx, oldy, pendown; - TS_EVENT event[TSDEV_BUFFER_SIZE]; + struct ts_event event[TSDEV_BUFFER_SIZE]; + int raw; }; +/* The following ioctl codes are defined ONLY for backward compatibility. + * Don't use tsdev for new developement; use the tslib library instead. + * Touchscreen calibration is a fully userspace task. + */ +/* Use 'f' as magic number */ +#define IOC_H3600_TS_MAGIC 'f' +#define TS_GET_CAL _IOR(IOC_H3600_TS_MAGIC, 10, struct ts_calibration) +#define TS_SET_CAL _IOW(IOC_H3600_TS_MAGIC, 11, struct ts_calibration) + static struct input_handler tsdev_handler; -static struct tsdev *tsdev_table[TSDEV_MINORS]; +static struct tsdev *tsdev_table[TSDEV_MINORS/2]; static int tsdev_fasync(int fd, struct file *file, int on) { @@ -109,13 +155,16 @@ static int tsdev_open(struct inode *inode, struct file *file) int i = iminor(inode) - TSDEV_MINOR_BASE; struct tsdev_list *list; - if (i >= TSDEV_MINORS || !tsdev_table[i]) + if (i >= TSDEV_MINORS || !tsdev_table[i & TSDEV_MINOR_MASK]) return -ENODEV; if (!(list = kmalloc(sizeof(struct tsdev_list), GFP_KERNEL))) return -ENOMEM; memset(list, 0, sizeof(struct tsdev_list)); + list->raw = (i >= TSDEV_MINORS/2) ? 1 : 0; + + i &= TSDEV_MINOR_MASK; list->tsdev = tsdev_table[i]; list_add_tail(&list->node, &tsdev_table[i]->list); file->private_data = list; @@ -161,7 +210,7 @@ static ssize_t tsdev_read(struct file *file, char __user *buffer, size_t count, return -EAGAIN; retval = wait_event_interruptible(list->tsdev->wait, - (list->head != list->tail) && list->tsdev->exist); + list->head != list->tail || !list->tsdev->exist); if (retval) return retval; @@ -169,11 +218,13 @@ static ssize_t tsdev_read(struct file *file, char __user *buffer, size_t count, if (!list->tsdev->exist) return -ENODEV; - while (list->head != list->tail && retval + sizeof(TS_EVENT) <= count) { - if (copy_to_user (buffer + retval, list->event + list->tail, sizeof(TS_EVENT))) + while (list->head != list->tail && + retval + sizeof (struct ts_event) <= count) { + if (copy_to_user (buffer + retval, list->event + list->tail, + sizeof (struct ts_event))) return -EFAULT; list->tail = (list->tail + 1) & (TSDEV_BUFFER_SIZE - 1); - retval += sizeof(TS_EVENT); + retval += sizeof (struct ts_event); } return retval; @@ -193,22 +244,27 @@ static unsigned int tsdev_poll(struct file *file, poll_table * wait) static int tsdev_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { -/* struct tsdev_list *list = file->private_data; - struct tsdev *evdev = list->tsdev; - struct input_dev *dev = tsdev->handle.dev; - int retval; - + struct tsdev *tsdev = list->tsdev; + int retval = 0; + switch (cmd) { - case HHEHE: - return 0; - case hjff: - return 0; - default: - return 0; + case TS_GET_CAL: + if (copy_to_user ((void __user *)arg, &tsdev->cal, + sizeof (struct ts_calibration))) + retval = -EFAULT; + break; + case TS_SET_CAL: + if (copy_from_user (&tsdev->cal, (void __user *)arg, + sizeof (struct ts_calibration))) + retval = -EFAULT; + break; + default: + retval = -EINVAL; + break; } -*/ - return -EINVAL; + + return retval; } struct file_operations tsdev_fops = { @@ -227,82 +283,85 @@ static void tsdev_event(struct input_handle *handle, unsigned int type, struct tsdev *tsdev = handle->private; struct tsdev_list *list; struct timeval time; - int size; - list_for_each_entry(list, &tsdev->list, node) { - switch (type) { - case EV_ABS: - switch (code) { - case ABS_X: - if (!list->pendown) - return; - size = handle->dev->absmax[ABS_X] - handle->dev->absmin[ABS_X]; - if (size > 0) - list->oldx = ((value - handle->dev->absmin[ABS_X]) * xres / size); - else - list->oldx = ((value - handle->dev->absmin[ABS_X])); - break; - case ABS_Y: - if (!list->pendown) - return; - size = handle->dev->absmax[ABS_Y] - handle->dev->absmin[ABS_Y]; - if (size > 0) - list->oldy = ((value - handle->dev->absmin[ABS_Y]) * yres / size); - else - list->oldy = ((value - handle->dev->absmin[ABS_Y])); - break; - case ABS_PRESSURE: - list->pendown = ((value > handle->dev-> absmin[ABS_PRESSURE])) ? - value - handle->dev->absmin[ABS_PRESSURE] : 0; - break; - } + switch (type) { + case EV_ABS: + switch (code) { + case ABS_X: + tsdev->x = value; + break; + case ABS_Y: + tsdev->y = value; break; + case ABS_PRESSURE: + if (value > handle->dev->absmax[ABS_PRESSURE]) + value = handle->dev->absmax[ABS_PRESSURE]; + value -= handle->dev->absmin[ABS_PRESSURE]; + if (value < 0) + value = 0; + tsdev->pressure = value; + break; + } + break; + + case EV_REL: + switch (code) { + case REL_X: + tsdev->x += value; + if (tsdev->x < 0) + tsdev->x = 0; + else if (tsdev->x > xres) + tsdev->x = xres; + break; + case REL_Y: + tsdev->y += value; + if (tsdev->y < 0) + tsdev->y = 0; + else if (tsdev->y > yres) + tsdev->y = yres; + break; + } + break; - case EV_REL: - switch (code) { - case REL_X: - if (!list->pendown) - return; - list->oldx += value; - if (list->oldx < 0) - list->oldx = 0; - else if (list->oldx > xres) - list->oldx = xres; + case EV_KEY: + if (code == BTN_TOUCH || code == BTN_MOUSE) { + switch (value) { + case 0: + tsdev->pressure = 0; break; - case REL_Y: - if (!list->pendown) - return; - list->oldy += value; - if (list->oldy < 0) - list->oldy = 0; - else if (list->oldy > xres) - list->oldy = xres; + case 1: + if (!tsdev->pressure) + tsdev->pressure = 1; break; } - break; - - case EV_KEY: - if (code == BTN_TOUCH || code == BTN_MOUSE) { - switch (value) { - case 0: - list->pendown = 0; - break; - case 1: - if (!list->pendown) - list->pendown = 1; - break; - case 2: - return; - } - } else - return; - break; } + break; + } + + if (type != EV_SYN || code != SYN_REPORT) + return; + + list_for_each_entry(list, &tsdev->list, node) { + int x, y, tmp; + do_gettimeofday(&time); list->event[list->head].millisecs = time.tv_usec / 100; - list->event[list->head].pressure = list->pendown; - list->event[list->head].x = list->oldx; - list->event[list->head].y = list->oldy; + list->event[list->head].pressure = tsdev->pressure; + + x = tsdev->x; + y = tsdev->y; + + /* Calibration */ + if (!list->raw) { + x = ((x * tsdev->cal.xscale) >> 8) + tsdev->cal.xtrans; + y = ((y * tsdev->cal.yscale) >> 8) + tsdev->cal.ytrans; + if (tsdev->cal.xyswap) { + tmp = x; x = y; y = tmp; + } + } + + list->event[list->head].x = x; + list->event[list->head].y = y; list->head = (list->head + 1) & (TSDEV_BUFFER_SIZE - 1); kill_fasync(&list->fasync, SIGIO, POLL_IN); } @@ -314,11 +373,11 @@ static struct input_handle *tsdev_connect(struct input_handler *handler, struct input_device_id *id) { struct tsdev *tsdev; - int minor; + int minor, delta; - for (minor = 0; minor < TSDEV_MINORS && tsdev_table[minor]; + for (minor = 0; minor < TSDEV_MINORS/2 && tsdev_table[minor]; minor++); - if (minor == TSDEV_MINORS) { + if (minor >= TSDEV_MINORS/2) { printk(KERN_ERR "tsdev: You have way too many touchscreens\n"); return NULL; @@ -340,10 +399,25 @@ static struct input_handle *tsdev_connect(struct input_handler *handler, tsdev->handle.handler = handler; tsdev->handle.private = tsdev; + /* Precompute the rough calibration matrix */ + delta = dev->absmax [ABS_X] - dev->absmin [ABS_X] + 1; + if (delta == 0) + delta = 1; + tsdev->cal.xscale = (xres << 8) / delta; + tsdev->cal.xtrans = - ((dev->absmin [ABS_X] * tsdev->cal.xscale) >> 8); + + delta = dev->absmax [ABS_Y] - dev->absmin [ABS_Y] + 1; + if (delta == 0) + delta = 1; + tsdev->cal.yscale = (yres << 8) / delta; + tsdev->cal.ytrans = - ((dev->absmin [ABS_Y] * tsdev->cal.yscale) >> 8); + tsdev_table[minor] = tsdev; - + devfs_mk_cdev(MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor), S_IFCHR|S_IRUGO|S_IWUSR, "input/ts%d", minor); + devfs_mk_cdev(MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor + TSDEV_MINORS/2), + S_IFCHR|S_IRUGO|S_IWUSR, "input/tsraw%d", minor); class_simple_device_add(input_class, MKDEV(INPUT_MAJOR, TSDEV_MINOR_BASE + minor), dev->dev, "ts%d", minor); @@ -362,6 +436,7 @@ static void tsdev_disconnect(struct input_handle *handle) wake_up_interruptible(&tsdev->wait); } else tsdev_free(tsdev); + devfs_remove("input/tsraw%d", tsdev->minor); } static struct input_device_id tsdev_ids[] = { @@ -379,6 +454,12 @@ static struct input_device_id tsdev_ids[] = { .absbit = { BIT(ABS_X) | BIT(ABS_Y) }, },/* A tablet like device, at least touch detection, two absolute axes */ + { + .flags = INPUT_DEVICE_ID_MATCH_EVBIT | INPUT_DEVICE_ID_MATCH_ABSBIT, + .evbit = { BIT(EV_ABS) }, + .absbit = { BIT(ABS_X) | BIT(ABS_Y) | BIT(ABS_PRESSURE) }, + },/* A tablet like device with several gradations of pressure */ + {},/* Terminating entry */ }; diff --git a/drivers/isdn/act2000/act2000_isa.c b/drivers/isdn/act2000/act2000_isa.c index e84aa5fb3..b363d0976 100644 --- a/drivers/isdn/act2000/act2000_isa.c +++ b/drivers/isdn/act2000/act2000_isa.c @@ -434,7 +434,10 @@ act2000_isa_download(act2000_card * card, act2000_ddef __user * cb) l = (length > 1024) ? 1024 : length; c = 0; b = buf; - copy_from_user(buf, p, l); + if (copy_from_user(buf, p, l)) { + kfree(buf); + return -EFAULT; + } while (c < l) { if (act2000_isa_writeb(card, *b++)) { printk(KERN_WARNING diff --git a/drivers/isdn/capi/capi.c b/drivers/isdn/capi/capi.c index 3429d57e2..9370808bb 100644 --- a/drivers/isdn/capi/capi.c +++ b/drivers/isdn/capi/capi.c @@ -436,51 +436,62 @@ static int handle_recv_skb(struct capiminor *mp, struct sk_buff *skb) struct sk_buff *nskb; int datalen; u16 errcode, datahandle; - + struct tty_ldisc *ld; + datalen = skb->len - CAPIMSG_LEN(skb->data); - if (mp->tty) { - if (mp->tty->ldisc.receive_buf == 0) { - printk(KERN_ERR "capi: ldisc has no receive_buf function\n"); - return -1; - } - if (mp->ttyinstop) { + if (mp->tty == NULL) + { +#ifdef _DEBUG_DATAFLOW + printk(KERN_DEBUG "capi: currently no receiver\n"); +#endif + return -1; + } + + ld = tty_ldisc_ref(mp->tty); + if (ld == NULL) + return -1; + if (ld->receive_buf == NULL) { #if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS) - printk(KERN_DEBUG "capi: recv tty throttled\n"); + printk(KERN_DEBUG "capi: ldisc has no receive_buf function\n"); #endif - return -1; - } - if (mp->tty->ldisc.receive_room && - mp->tty->ldisc.receive_room(mp->tty) < datalen) { + goto bad; + } + if (mp->ttyinstop) { #if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS) - printk(KERN_DEBUG "capi: no room in tty\n"); + printk(KERN_DEBUG "capi: recv tty throttled\n"); #endif - return -1; - } - if ((nskb = gen_data_b3_resp_for(mp, skb)) == 0) { - printk(KERN_ERR "capi: gen_data_b3_resp failed\n"); - return -1; - } - datahandle = CAPIMSG_U16(skb->data,CAPIMSG_BASELEN+4); - errcode = capi20_put_message(mp->ap, nskb); - if (errcode != CAPI_NOERROR) { - printk(KERN_ERR "capi: send DATA_B3_RESP failed=%x\n", - errcode); - kfree_skb(nskb); - return -1; - } - (void)skb_pull(skb, CAPIMSG_LEN(skb->data)); -#ifdef _DEBUG_DATAFLOW - printk(KERN_DEBUG "capi: DATA_B3_RESP %u len=%d => ldisc\n", - datahandle, skb->len); + goto bad; + } + if (ld->receive_room && + ld->receive_room(mp->tty) < datalen) { +#if defined(_DEBUG_DATAFLOW) || defined(_DEBUG_TTYFUNCS) + printk(KERN_DEBUG "capi: no room in tty\n"); #endif - mp->tty->ldisc.receive_buf(mp->tty, skb->data, NULL, skb->len); - kfree_skb(skb); - return 0; - + goto bad; } + if ((nskb = gen_data_b3_resp_for(mp, skb)) == 0) { + printk(KERN_ERR "capi: gen_data_b3_resp failed\n"); + goto bad; + } + datahandle = CAPIMSG_U16(skb->data,CAPIMSG_BASELEN+4); + errcode = capi20_put_message(mp->ap, nskb); + if (errcode != CAPI_NOERROR) { + printk(KERN_ERR "capi: send DATA_B3_RESP failed=%x\n", + errcode); + kfree_skb(nskb); + goto bad; + } + (void)skb_pull(skb, CAPIMSG_LEN(skb->data)); #ifdef _DEBUG_DATAFLOW - printk(KERN_DEBUG "capi: currently no receiver\n"); + printk(KERN_DEBUG "capi: DATA_B3_RESP %u len=%d => ldisc\n", + datahandle, skb->len); #endif + ld->receive_buf(mp->tty, skb->data, NULL, skb->len); + kfree_skb(skb); + tty_ldisc_deref(ld); + return 0; +bad: + tty_ldisc_deref(ld); return -1; } @@ -614,6 +625,7 @@ static void capi_recv_message(struct capi20_appl *ap, struct sk_buff *skb) if (CAPIMSG_SUBCOMMAND(skb->data) == CAPI_IND) { + datahandle = CAPIMSG_U16(skb->data, CAPIMSG_BASELEN+4+4+2); #ifdef _DEBUG_DATAFLOW printk(KERN_DEBUG "capi_signal: DATA_B3_IND %u len=%d\n", @@ -633,10 +645,8 @@ static void capi_recv_message(struct capi20_appl *ap, struct sk_buff *skb) #endif kfree_skb(skb); (void)capiminor_del_ack(mp, datahandle); - if (mp->tty) { - if (mp->tty->ldisc.write_wakeup) - mp->tty->ldisc.write_wakeup(mp->tty); - } + if (mp->tty) + tty_wakeup(mp->tty); (void)handle_minor_send(mp); } else { diff --git a/drivers/isdn/capi/capidrv.c b/drivers/isdn/capi/capidrv.c index 150e31d32..44efe1906 100644 --- a/drivers/isdn/capi/capidrv.c +++ b/drivers/isdn/capi/capidrv.c @@ -512,7 +512,8 @@ static void send_message(capidrv_contr * card, _cmsg * cmsg) len = CAPIMSG_LEN(cmsg->buf); skb = alloc_skb(len, GFP_ATOMIC); memcpy(skb_put(skb, len), cmsg->buf, len); - capi20_put_message(&global.ap, skb); + if (capi20_put_message(&global.ap, skb) != CAPI_NOERROR) + kfree_skb(skb); } /* -------- state machine -------------------------------------------- */ diff --git a/drivers/isdn/hardware/eicon/capifunc.c b/drivers/isdn/hardware/eicon/capifunc.c index 15d081a09..5c138a345 100644 --- a/drivers/isdn/hardware/eicon/capifunc.c +++ b/drivers/isdn/hardware/eicon/capifunc.c @@ -1,4 +1,4 @@ -/* $Id: capifunc.c,v 1.61.4.2 2004/05/05 16:09:25 armin Exp $ +/* $Id: capifunc.c,v 1.61.4.5 2004/08/27 20:10:12 armin Exp $ * * ISDN interface module for Eicon active cards DIVA. * CAPI Interface common functions @@ -998,7 +998,8 @@ static u16 diva_send_message(struct capi_ctr *ctrl, write_end: diva_os_leave_spin_lock(&api_lock, &old_irql, "send message"); - diva_os_free_message_buffer(dmb); + if (retval == CAPI_NOERROR) + diva_os_free_message_buffer(dmb); return retval; } diff --git a/drivers/isdn/hardware/eicon/debug.c b/drivers/isdn/hardware/eicon/debug.c index e8e99ad35..6851c6270 100644 --- a/drivers/isdn/hardware/eicon/debug.c +++ b/drivers/isdn/hardware/eicon/debug.c @@ -5,6 +5,7 @@ #include "divasync.h" #include "kst_ifc.h" #include "maintidi.h" +#include "man_defs.h" /* LOCALS @@ -13,17 +14,23 @@ static void DI_register (void *arg); static void DI_deregister (pDbgHandle hDbg); -static void DI_format (int do_lock, word id, int type, char *format, va_list ap); +static void DI_format (int do_lock, word id, int type, char *format, va_list argument_list); static void DI_format_locked (word id, int type, char *format, va_list argument_list); static void DI_format_old (word id, char *format, va_list ap) { } -static void DiProcessEventLog (word id, dword msgID, va_list ap) { } +static void DiProcessEventLog (unsigned short id, unsigned long msgID, va_list ap) { } static void single_p (byte * P, word * PLength, byte Id); static void diva_maint_xdi_cb (ENTITY* e); static word SuperTraceCreateReadReq (byte* P, const char* path); +static int diva_mnt_cmp_nmbr (const char* nmbr); +static void diva_free_dma_descriptor (IDI_CALL request, int nr); +static int diva_get_dma_descriptor (IDI_CALL request, dword *dma_magic); void diva_mnt_internal_dprintf (dword drv_id, dword type, char* p, ...); static dword MaxDumpSize = 256 ; static dword MaxXlogSize = 2 + 128 ; +static char TraceFilter[DIVA_MAX_SELECTIVE_FILTER_LENGTH+1]; +static int TraceFilterIdent = -1; +static int TraceFilterChannel = -1; typedef struct _diva_maint_client { dword sec; @@ -40,9 +47,10 @@ typedef struct _diva_maint_client { BUFFERS XData; char xbuffer[2048+512]; byte* pmem; - int request_pending; + int request_pending; + int dma_handle; } diva_maint_client_t; -static diva_maint_client_t clients[64]; +static diva_maint_client_t clients[MAX_DESCRIPTORS]; static void diva_change_management_debug_mask (diva_maint_client_t* pC, dword old_mask); @@ -201,6 +209,10 @@ int diva_maint_init (byte* base, unsigned long length, int do_init) { return (-1); } + TraceFilter[0] = 0; + TraceFilterIdent = -1; + TraceFilterChannel = -1; + dbg_base = base; diva_os_get_time (&start_sec, &start_usec); @@ -249,7 +261,6 @@ int diva_maint_init (byte* base, unsigned long length, int do_init) { return (-1); } - return (0); } @@ -302,16 +313,16 @@ diva_dbg_entry_head_t* diva_maint_get_message (word* size, diva_os_spin_lock_magic_t* old_irql) { diva_dbg_entry_head_t* pmsg = NULL; - diva_os_enter_spin_lock_hard (&dbg_q_lock, old_irql, "read"); + diva_os_enter_spin_lock (&dbg_q_lock, old_irql, "read"); if (dbg_q_busy) { - diva_os_leave_spin_lock_hard (&dbg_q_lock, old_irql, "read_busy"); + diva_os_leave_spin_lock (&dbg_q_lock, old_irql, "read_busy"); return NULL; } dbg_q_busy = 1; if (!(pmsg = (diva_dbg_entry_head_t*)queuePeekMsg (dbg_queue, size))) { dbg_q_busy = 0; - diva_os_leave_spin_lock_hard (&dbg_q_lock, old_irql, "read_empty"); + diva_os_leave_spin_lock (&dbg_q_lock, old_irql, "read_empty"); } return (pmsg); @@ -330,7 +341,7 @@ void diva_maint_ack_message (int do_release, queueFreeMsg (dbg_queue); } dbg_q_busy = 0; - diva_os_leave_spin_lock_hard (&dbg_q_lock, old_irql, "read_ack"); + diva_os_leave_spin_lock (&dbg_q_lock, old_irql, "read_ack"); } @@ -378,14 +389,14 @@ static void DI_register (void *arg) { return ; } - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "register"); for (id = 1; id < (sizeof(clients)/sizeof(clients[0])); id++) { if (clients[id].hDbg == hDbg) { /* driver already registered */ - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "register"); return; } if (clients[id].hDbg) { /* slot is busy */ @@ -468,7 +479,7 @@ static void DI_register (void *arg) { } } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "register"); } static void DI_deregister (pDbgHandle hDbg) { @@ -480,8 +491,8 @@ static void DI_deregister (pDbgHandle hDbg) { diva_os_get_time (&sec, &usec); - diva_os_enter_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "read"); - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "read"); + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "read"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "read"); for (i = 1; i < (sizeof(clients)/sizeof(clients[0])); i++) { if (clients[i].hDbg == hDbg) { @@ -543,8 +554,8 @@ static void DI_deregister (pDbgHandle hDbg) { } } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "read_ack"); - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "read_ack"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "read_ack"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "read_ack"); if (pmem) { diva_os_free (0, pmem); @@ -572,13 +583,22 @@ static void DI_format (int do_lock, char *data; unsigned short code; - if (!format) + if (diva_os_in_irq()) { + dbg_sequence++; return; + } + + if ((!format) || + ((TraceFilter[0] != 0) && ((TraceFilterIdent < 0) || (TraceFilterChannel < 0)))) { + return; + } + + diva_os_get_time (&sec, &usec); if (do_lock) { - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "format"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "format"); } switch (type) { @@ -703,7 +723,7 @@ static void DI_format (int do_lock, } if (do_lock) { - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "format"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "format"); } } @@ -720,7 +740,7 @@ int diva_get_driver_info (dword id, byte* data, int data_length) { return (-1); } - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "driver info"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "driver info"); if (clients[id].hDbg) { *p++ = 1; @@ -757,7 +777,7 @@ int diva_get_driver_info (dword id, byte* data, int data_length) { } *p++ = 0; - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "driver info"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "driver info"); return (p - data); } @@ -769,7 +789,7 @@ int diva_get_driver_dbg_mask (dword id, byte* data) { if (!data || !id || (id >= (sizeof(clients)/sizeof(clients[0])))) { return (-1); } - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "driver info"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "driver info"); if (clients[id].hDbg) { ret = 4; @@ -779,7 +799,7 @@ int diva_get_driver_dbg_mask (dword id, byte* data) { *data++= (byte)(clients[id].hDbg->dbgMask >> 24); } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "driver info"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "driver info"); return (ret); } @@ -793,8 +813,8 @@ int diva_set_driver_dbg_mask (dword id, dword mask) { return (-1); } - diva_os_enter_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "dbg mask"); - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "dbg mask"); + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "dbg mask"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "dbg mask"); if (clients[id].hDbg) { dword old_mask = clients[id].hDbg->dbgMask; @@ -806,14 +826,14 @@ int diva_set_driver_dbg_mask (dword id, dword mask) { } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "dbg mask"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "dbg mask"); if (clients[id].request_pending) { clients[id].request_pending = 0; (*(clients[id].request))((ENTITY*)(*(clients[id].pIdiLib->DivaSTraceGetHandle))(clients[id].pIdiLib->hLib)); } - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "dbg mask"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "dbg mask"); return (ret); } @@ -851,12 +871,12 @@ void diva_mnt_add_xdi_adapter (const DESCRIPTOR* d) { diva_os_get_time (&sec, &usec); diva_get_idi_adapter_info (d->request, &serial, &logical); if (serial & 0xff000000) { - sprintf (tmp, "ADAPTER:%d SN:%d-%d", + sprintf (tmp, "ADAPTER:%d SN:%u-%d", (int)logical, serial & 0x00ffffff, (byte)(((serial & 0xff000000) >> 24) + 1)); } else { - sprintf (tmp, "ADAPTER:%d SN:%d", (int)logical, serial); + sprintf (tmp, "ADAPTER:%d SN:%u", (int)logical, serial); } if (!(pmem = diva_os_malloc (0, DivaSTraceGetMemotyRequirement (d->channels)))) { @@ -864,13 +884,14 @@ void diva_mnt_add_xdi_adapter (const DESCRIPTOR* d) { } memset (pmem, 0x00, DivaSTraceGetMemotyRequirement (d->channels)); - diva_os_enter_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "register"); - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "register"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "register"); for (id = 1; id < (sizeof(clients)/sizeof(clients[0])); id++) { if (clients[id].hDbg && (clients[id].request == d->request)) { - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "register"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "register"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "register"); + diva_os_free(0, pmem); return; } if (clients[id].hDbg) { /* slot is busy */ @@ -891,8 +912,8 @@ void diva_mnt_add_xdi_adapter (const DESCRIPTOR* d) { } if (free_id < 0) { - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "register"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "register"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "register"); diva_os_free (0, pmem); return; } @@ -908,6 +929,7 @@ void diva_mnt_add_xdi_adapter (const DESCRIPTOR* d) { clients[id].Dbg.drvTag[0] = 0; clients[id].logical = (int)logical; clients[id].channels = (int)d->channels; + clients[id].dma_handle = -1; clients[id].Dbg.dbgMask = 0; clients[id].dbgMask = clients[id].Dbg.dbgMask; @@ -949,8 +971,8 @@ void diva_mnt_add_xdi_adapter (const DESCRIPTOR* d) { clients[id].request = NULL; clients[id].request_pending = 0; clients[id].hDbg = NULL; - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "register"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "register"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "register"); diva_os_free (0, pmem); return; } @@ -988,14 +1010,14 @@ void diva_mnt_add_xdi_adapter (const DESCRIPTOR* d) { org_mask = clients[id].Dbg.dbgMask; clients[id].Dbg.dbgMask = 0; - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "register"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "register"); if (clients[id].request_pending) { clients[id].request_pending = 0; (*(clients[id].request))((ENTITY*)(*(clients[id].pIdiLib->DivaSTraceGetHandle))(clients[id].pIdiLib->hLib)); } - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "register"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "register"); diva_set_driver_dbg_mask (id, org_mask); } @@ -1012,8 +1034,8 @@ void diva_mnt_remove_xdi_adapter (const DESCRIPTOR* d) { diva_os_get_time (&sec, &usec); - diva_os_enter_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "read"); - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "read"); + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "read"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "read"); for (i = 1; i < (sizeof(clients)/sizeof(clients[0])); i++) { if (clients[i].hDbg && (clients[i].request == d->request)) { @@ -1030,8 +1052,15 @@ void diva_mnt_remove_xdi_adapter (const DESCRIPTOR* d) { } clients[i].hDbg = NULL; - clients[i].request = NULL; clients[i].request_pending = 0; + if (clients[i].dma_handle >= 0) { + /* + Free DMA handle + */ + diva_free_dma_descriptor (clients[i].request, clients[i].dma_handle); + clients[i].dma_handle = -1; + } + clients[i].request = NULL; /* Log driver register, MAINT driver ID is '0' @@ -1069,8 +1098,8 @@ void diva_mnt_remove_xdi_adapter (const DESCRIPTOR* d) { } } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "read_ack"); - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "read_ack"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "read_ack"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "read_ack"); if (pmem) { diva_os_free (0, pmem); @@ -1142,6 +1171,42 @@ int SuperTraceASSIGN (void* AdapterHandle, byte* data) { if (pC && pC->pIdiLib && pC->request) { ENTITY* e = (ENTITY*)(*(pC->pIdiLib->DivaSTraceGetHandle))(pC->pIdiLib->hLib); + IDI_SYNC_REQ* preq; + char buffer[((sizeof(preq->xdi_extended_features)+4) > sizeof(ENTITY)) ? (sizeof(preq->xdi_extended_features)+4) : sizeof(ENTITY)]; + char features[4]; + word assign_data_length = 1; + + features[0] = 0; + pC->xbuffer[0] = 0; + preq = (IDI_SYNC_REQ*)&buffer[0]; + preq->xdi_extended_features.Req = 0; + preq->xdi_extended_features.Rc = IDI_SYNC_REQ_XDI_GET_EXTENDED_FEATURES; + preq->xdi_extended_features.info.buffer_length_in_bytes = sizeof(features); + preq->xdi_extended_features.info.features = &features[0]; + + (*(pC->request))((ENTITY*)preq); + + if ((features[0] & DIVA_XDI_EXTENDED_FEATURES_VALID) && + (features[0] & DIVA_XDI_EXTENDED_FEATURE_MANAGEMENT_DMA)) { + dword rx_dma_magic; + if ((pC->dma_handle = diva_get_dma_descriptor (pC->request, &rx_dma_magic)) >= 0) { + pC->xbuffer[0] = LLI; + pC->xbuffer[1] = 8; + pC->xbuffer[2] = 0x40; + pC->xbuffer[3] = (byte)pC->dma_handle; + pC->xbuffer[4] = (byte)rx_dma_magic; + pC->xbuffer[5] = (byte)(rx_dma_magic >> 8); + pC->xbuffer[6] = (byte)(rx_dma_magic >> 16); + pC->xbuffer[7] = (byte)(rx_dma_magic >> 24); + pC->xbuffer[8] = (byte)DIVA_MAX_MANAGEMENT_TRANSFER_SIZE; + pC->xbuffer[9] = (byte)(DIVA_MAX_MANAGEMENT_TRANSFER_SIZE >> 8); + pC->xbuffer[10] = 0; + + assign_data_length = 11; + } + } else { + pC->dma_handle = -1; + } e->Id = MAN_ID; e->callback = diva_maint_xdi_cb; @@ -1149,9 +1214,8 @@ int SuperTraceASSIGN (void* AdapterHandle, byte* data) { e->X = &pC->XData; e->Req = ASSIGN; e->ReqCh = 0; - e->X->PLength = 1; + e->X->PLength = assign_data_length; e->X->P = (byte*)&pC->xbuffer[0]; - pC->xbuffer[0] = 0; pC->request_pending = 1; @@ -1300,16 +1364,25 @@ static void diva_maint_xdi_cb (ENTITY* e) { diva_os_spin_lock_magic_t old_irql, old_irql1; - diva_os_enter_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "xdi_cb"); - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "xdi_cb"); + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "xdi_cb"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "xdi_cb"); pC = (diva_maint_client_t*)pLib->hAdapter; - if ((*(pLib->instance.DivaSTraceMessageInput))(&pLib->instance)) { - diva_mnt_internal_dprintf (0, DLI_ERR, "Trace internal library error"); + if ((e->complete == 255) || (pC->dma_handle < 0)) { + if ((*(pLib->instance.DivaSTraceMessageInput))(&pLib->instance)) { + diva_mnt_internal_dprintf (0, DLI_ERR, "Trace internal library error"); + } + } else { + /* + Process combined management interface indication + */ + if ((*(pLib->instance.DivaSTraceMessageInput))(&pLib->instance)) { + diva_mnt_internal_dprintf (0, DLI_ERR, "Trace internal library error (DMA mode)"); + } } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "xdi_cb"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "xdi_cb"); if (pC->request_pending) { @@ -1317,7 +1390,7 @@ static void diva_maint_xdi_cb (ENTITY* e) { (*(pC->request))(e); } - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "xdi_cb"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "xdi_cb"); } @@ -1365,8 +1438,42 @@ static void diva_maint_state_change_notify (void* user_context, } switch (notify_subject) { - case DIVA_SUPER_TRACE_NOTIFY_LINE_CHANGE: - if (pC->hDbg->dbgMask & DIVA_MGT_DBG_LINE_EVENTS) { + case DIVA_SUPER_TRACE_NOTIFY_LINE_CHANGE: { + int view = (TraceFilter[0] == 0); + /* + Process selective Trace + */ + if (channel->Line[0] == 'I' && channel->Line[1] == 'd' && + channel->Line[2] == 'l' && channel->Line[3] == 'e') { + if ((TraceFilterIdent == pC->hDbg->id) && (TraceFilterChannel == (int)channel->ChannelNumber)) { + (*(hLib->DivaSTraceSetBChannel))(hLib, (int)channel->ChannelNumber, 0); + (*(hLib->DivaSTraceSetAudioTap))(hLib, (int)channel->ChannelNumber, 0); + diva_mnt_internal_dprintf (pC->hDbg->id, DLI_LOG, "Selective Trace OFF for Ch=%d", + (int)channel->ChannelNumber); + TraceFilterIdent = -1; + TraceFilterChannel = -1; + view = 1; + } + } else if (TraceFilter[0] && (TraceFilterIdent < 0) && !(diva_mnt_cmp_nmbr (&channel->RemoteAddress[0]) && + diva_mnt_cmp_nmbr (&channel->LocalAddress[0]))) { + + if ((pC->hDbg->dbgMask & DIVA_MGT_DBG_IFC_BCHANNEL) != 0) { /* Activate B-channel trace */ + (*(hLib->DivaSTraceSetBChannel))(hLib, (int)channel->ChannelNumber, 1); + } + if ((pC->hDbg->dbgMask & DIVA_MGT_DBG_IFC_AUDIO) != 0) { /* Activate AudioTap Trace */ + (*(hLib->DivaSTraceSetAudioTap))(hLib, (int)channel->ChannelNumber, 1); + } + + TraceFilterIdent = pC->hDbg->id; + TraceFilterChannel = (int)channel->ChannelNumber; + + if (TraceFilterIdent >= 0) { + diva_mnt_internal_dprintf (pC->hDbg->id, DLI_LOG, "Selective Trace ON for Ch=%d", + (int)channel->ChannelNumber); + view = 1; + } + } + if (view && (pC->hDbg->dbgMask & DIVA_MGT_DBG_LINE_EVENTS)) { diva_mnt_internal_dprintf (pC->hDbg->id, DLI_STAT, "L Ch = %d", (int)channel->ChannelNumber); diva_mnt_internal_dprintf (pC->hDbg->id, DLI_STAT, "L Status = <%s>", &channel->Line[0]); @@ -1392,10 +1499,26 @@ static void diva_maint_state_change_notify (void* user_context, channel->LastDisconnecCause); diva_mnt_internal_dprintf (pC->hDbg->id, DLI_STAT, "L Owner = <%s>", &channel->UserID[0]); } - break; + + } break; case DIVA_SUPER_TRACE_NOTIFY_MODEM_CHANGE: if (pC->hDbg->dbgMask & DIVA_MGT_DBG_MDM_PROGRESS) { + { + int ch = TraceFilterChannel; + int id = TraceFilterIdent; + + if ((id >= 0) && (ch >= 0) && (id < sizeof(clients)/sizeof(clients[0])) && + (clients[id].Dbg.id == (byte)id) && (clients[id].pIdiLib == hLib)) { + if (ch != (int)modem->ChannelNumber) { + break; + } + } else if (TraceFilter[0] != 0) { + break; + } + } + + diva_mnt_internal_dprintf(pC->hDbg->id, DLI_STAT, "MDM Ch = %lu", (int)modem->ChannelNumber); diva_mnt_internal_dprintf(pC->hDbg->id, DLI_STAT, "MDM Event = %lu", modem->Event); @@ -1428,6 +1551,20 @@ static void diva_maint_state_change_notify (void* user_context, case DIVA_SUPER_TRACE_NOTIFY_FAX_CHANGE: if (pC->hDbg->dbgMask & DIVA_MGT_DBG_FAX_PROGRESS) { + { + int ch = TraceFilterChannel; + int id = TraceFilterIdent; + + if ((id >= 0) && (ch >= 0) && (id < sizeof(clients)/sizeof(clients[0])) && + (clients[id].Dbg.id == (byte)id) && (clients[id].pIdiLib == hLib)) { + if (ch != (int)fax->ChannelNumber) { + break; + } + } else if (TraceFilter[0] != 0) { + break; + } + } + diva_mnt_internal_dprintf(pC->hDbg->id, DLI_STAT, "FAX Ch = %lu",(int)fax->ChannelNumber); diva_mnt_internal_dprintf(pC->hDbg->id, DLI_STAT, "FAX Event = %lu", fax->Event); diva_mnt_internal_dprintf(pC->hDbg->id, DLI_STAT, "FAX Pages = %lu", fax->Page_Counter); @@ -1660,6 +1797,52 @@ static void diva_maint_trace_notify (void* user_context, diva_dbg_entry_head_t* pmsg; word size; dword sec, usec; + int ch = TraceFilterChannel; + int id = TraceFilterIdent; + + /* + Selective trace + */ + if ((id >= 0) && (ch >= 0) && (id < sizeof(clients)/sizeof(clients[0])) && + (clients[id].Dbg.id == (byte)id) && (clients[id].pIdiLib == hLib)) { + const char* p = NULL; + int ch_value = -1; + MI_XLOG_HDR *TrcData = (MI_XLOG_HDR *)xlog_buffer; + + if (Adapter != clients[id].logical) { + return; /* Ignore all trace messages from other adapters */ + } + + if (TrcData->code == 24) { + p = (char*)&TrcData->code; + p += 2; + } + + /* + All L1 messages start as [dsp,ch], so we can filter this information + and filter out all messages that use different channel + */ + if (p && p[0] == '[') { + if (p[2] == ',') { + p += 3; + ch_value = *p - '0'; + } else if (p[3] == ',') { + p += 4; + ch_value = *p - '0'; + } + if (ch_value >= 0) { + if (p[2] == ']') { + ch_value = ch_value * 10 + p[1] - '0'; + } + if (ch_value != ch) { + return; /* Ignore other channels */ + } + } + } + + } else if (TraceFilter[0] != 0) { + return; /* Ignore trace if trace filter is activated, but idle */ + } diva_os_get_time (&sec, &usec); @@ -1705,18 +1888,20 @@ static void diva_change_management_debug_mask (diva_maint_client_t* pC, dword ol (*(pC->pIdiLib->DivaSTraceSetDChannel))(pC->pIdiLib, (pC->hDbg->dbgMask & DIVA_MGT_DBG_DCHAN) != 0); } - if (changed & DIVA_MGT_DBG_IFC_BCHANNEL) { - int i, state = ((pC->hDbg->dbgMask & DIVA_MGT_DBG_IFC_BCHANNEL) != 0); + if (!TraceFilter[0]) { + if (changed & DIVA_MGT_DBG_IFC_BCHANNEL) { + int i, state = ((pC->hDbg->dbgMask & DIVA_MGT_DBG_IFC_BCHANNEL) != 0); - for (i = 0; i < pC->channels; i++) { - (*(pC->pIdiLib->DivaSTraceSetBChannel))(pC->pIdiLib, i+1, state); + for (i = 0; i < pC->channels; i++) { + (*(pC->pIdiLib->DivaSTraceSetBChannel))(pC->pIdiLib, i+1, state); + } } - } - if (changed & DIVA_MGT_DBG_IFC_AUDIO) { - int i, state = ((pC->hDbg->dbgMask & DIVA_MGT_DBG_IFC_AUDIO) != 0); + if (changed & DIVA_MGT_DBG_IFC_AUDIO) { + int i, state = ((pC->hDbg->dbgMask & DIVA_MGT_DBG_IFC_AUDIO) != 0); - for (i = 0; i < pC->channels; i++) { - (*(pC->pIdiLib->DivaSTraceSetAudioTap))(pC->pIdiLib, i+1, state); + for (i = 0; i < pC->channels; i++) { + (*(pC->pIdiLib->DivaSTraceSetAudioTap))(pC->pIdiLib, i+1, state); + } } } } @@ -1743,8 +1928,8 @@ int diva_mnt_shutdown_xdi_adapters (void) { for (i = 1; i < (sizeof(clients)/sizeof(clients[0])); i++) { pmem = NULL; - diva_os_enter_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "unload"); - diva_os_enter_spin_lock_hard (&dbg_q_lock, &old_irql, "unload"); + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "unload"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "unload"); if (clients[i].hDbg && clients[i].pIdiLib && clients[i].request) { if ((*(clients[i].pIdiLib->DivaSTraceLibraryStop))(clients[i].pIdiLib) == 1) { @@ -1759,19 +1944,31 @@ int diva_mnt_shutdown_xdi_adapters (void) { clients[i].pmem = NULL; } clients[i].hDbg = NULL; - clients[i].request = NULL; clients[i].request_pending = 0; + + if (clients[i].dma_handle >= 0) { + /* + Free DMA handle + */ + diva_free_dma_descriptor (clients[i].request, clients[i].dma_handle); + clients[i].dma_handle = -1; + } + clients[i].request = NULL; } else { fret = -1; } } - diva_os_leave_spin_lock_hard (&dbg_q_lock, &old_irql, "unload"); + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "unload"); if (clients[i].hDbg && clients[i].pIdiLib && clients[i].request && clients[i].request_pending) { clients[i].request_pending = 0; (*(clients[i].request))((ENTITY*)(*(clients[i].pIdiLib->DivaSTraceGetHandle))(clients[i].pIdiLib->hLib)); + if (clients[i].dma_handle >= 0) { + diva_free_dma_descriptor (clients[i].request, clients[i].dma_handle); + clients[i].dma_handle = -1; + } } - diva_os_leave_spin_lock_hard (&dbg_adapter_lock, &old_irql1, "unload"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "unload"); if (pmem) { diva_os_free (0, pmem); @@ -1781,3 +1978,156 @@ int diva_mnt_shutdown_xdi_adapters (void) { return (fret); } +/* + Set/Read the trace filter used for selective tracing. + Affects B- and Audio Tap trace mask at run time + */ +int diva_set_trace_filter (int filter_length, const char* filter) { + diva_os_spin_lock_magic_t old_irql, old_irql1; + int i, ch, on, client_b_on, client_atap_on; + + diva_os_enter_spin_lock (&dbg_adapter_lock, &old_irql1, "dbg mask"); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "write_filter"); + + if (filter_length <= DIVA_MAX_SELECTIVE_FILTER_LENGTH) { + memcpy (&TraceFilter[0], filter, filter_length); + if (TraceFilter[filter_length]) { + TraceFilter[filter_length] = 0; + } + if (TraceFilter[0] == '*') { + TraceFilter[0] = 0; + } + } else { + filter_length = -1; + } + + TraceFilterIdent = -1; + TraceFilterChannel = -1; + + on = (TraceFilter[0] == 0); + + for (i = 1; i < (sizeof(clients)/sizeof(clients[0])); i++) { + if (clients[i].hDbg && clients[i].pIdiLib && clients[i].request) { + client_b_on = on && ((clients[i].hDbg->dbgMask & DIVA_MGT_DBG_IFC_BCHANNEL) != 0); + client_atap_on = on && ((clients[i].hDbg->dbgMask & DIVA_MGT_DBG_IFC_AUDIO) != 0); + for (ch = 0; ch < clients[i].channels; ch++) { + (*(clients[i].pIdiLib->DivaSTraceSetBChannel))(clients[i].pIdiLib->hLib, ch+1, client_b_on); + (*(clients[i].pIdiLib->DivaSTraceSetAudioTap))(clients[i].pIdiLib->hLib, ch+1, client_atap_on); + } + } + } + + for (i = 1; i < (sizeof(clients)/sizeof(clients[0])); i++) { + if (clients[i].hDbg && clients[i].pIdiLib && clients[i].request && clients[i].request_pending) { + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "write_filter"); + clients[i].request_pending = 0; + (*(clients[i].request))((ENTITY*)(*(clients[i].pIdiLib->DivaSTraceGetHandle))(clients[i].pIdiLib->hLib)); + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "write_filter"); + } + } + + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "write_filter"); + diva_os_leave_spin_lock (&dbg_adapter_lock, &old_irql1, "dbg mask"); + + return (filter_length); +} + +int diva_get_trace_filter (int max_length, char* filter) { + diva_os_spin_lock_magic_t old_irql; + int len; + + diva_os_enter_spin_lock (&dbg_q_lock, &old_irql, "read_filter"); + len = strlen (&TraceFilter[0]) + 1; + if (max_length >= len) { + memcpy (filter, &TraceFilter[0], len); + } + diva_os_leave_spin_lock (&dbg_q_lock, &old_irql, "read_filter"); + + return (len); +} + +static int diva_dbg_cmp_key (const char* ref, const char* key) { + while (*key && (*ref++ == *key++)); + return (!*key && !*ref); +} + +/* + In case trace filter starts with "C" character then + all following characters are interpreted as command. + Followings commands are available: + - single, trace single call at time, independent from CPN/CiPN + */ +static int diva_mnt_cmp_nmbr (const char* nmbr) { + const char* ref = &TraceFilter[0]; + int ref_len = strlen(&TraceFilter[0]), nmbr_len = strlen(nmbr); + + if (ref[0] == 'C') { + if (diva_dbg_cmp_key (&ref[1], "single")) { + return (0); + } + return (-1); + } + + if (!ref_len || (ref_len > nmbr_len)) { + return (-1); + } + + nmbr = nmbr + nmbr_len - 1; + ref = ref + ref_len - 1; + + while (ref_len--) { + if (*nmbr-- != *ref--) { + return (-1); + } + } + + return (0); +} + +static int diva_get_dma_descriptor (IDI_CALL request, dword *dma_magic) { + ENTITY e; + IDI_SYNC_REQ* pReq = (IDI_SYNC_REQ*)&e; + + if (!request) { + return (-1); + } + + pReq->xdi_dma_descriptor_operation.Req = 0; + pReq->xdi_dma_descriptor_operation.Rc = IDI_SYNC_REQ_DMA_DESCRIPTOR_OPERATION; + + pReq->xdi_dma_descriptor_operation.info.operation = IDI_SYNC_REQ_DMA_DESCRIPTOR_ALLOC; + pReq->xdi_dma_descriptor_operation.info.descriptor_number = -1; + pReq->xdi_dma_descriptor_operation.info.descriptor_address = NULL; + pReq->xdi_dma_descriptor_operation.info.descriptor_magic = 0; + + (*request)((ENTITY*)pReq); + + if (!pReq->xdi_dma_descriptor_operation.info.operation && + (pReq->xdi_dma_descriptor_operation.info.descriptor_number >= 0) && + pReq->xdi_dma_descriptor_operation.info.descriptor_magic) { + *dma_magic = pReq->xdi_dma_descriptor_operation.info.descriptor_magic; + return (pReq->xdi_dma_descriptor_operation.info.descriptor_number); + } else { + return (-1); + } +} + +static void diva_free_dma_descriptor (IDI_CALL request, int nr) { + ENTITY e; + IDI_SYNC_REQ* pReq = (IDI_SYNC_REQ*)&e; + + if (!request || (nr < 0)) { + return; + } + + pReq->xdi_dma_descriptor_operation.Req = 0; + pReq->xdi_dma_descriptor_operation.Rc = IDI_SYNC_REQ_DMA_DESCRIPTOR_OPERATION; + + pReq->xdi_dma_descriptor_operation.info.operation = IDI_SYNC_REQ_DMA_DESCRIPTOR_FREE; + pReq->xdi_dma_descriptor_operation.info.descriptor_number = nr; + pReq->xdi_dma_descriptor_operation.info.descriptor_address = NULL; + pReq->xdi_dma_descriptor_operation.info.descriptor_magic = 0; + + (*request)((ENTITY*)pReq); +} + diff --git a/drivers/isdn/hardware/eicon/diddfunc.c b/drivers/isdn/hardware/eicon/diddfunc.c index 33172c1d6..302923417 100644 --- a/drivers/isdn/hardware/eicon/diddfunc.c +++ b/drivers/isdn/hardware/eicon/diddfunc.c @@ -1,4 +1,4 @@ -/* $Id: diddfunc.c,v 1.14 2003/08/25 10:06:37 schindler Exp $ +/* $Id: diddfunc.c,v 1.14.6.2 2004/08/28 20:03:53 armin Exp $ * * DIDD Interface module for Eicon active cards. * @@ -16,8 +16,6 @@ #include "dadapter.h" #include "divasync.h" -#define MAX_DESCRIPTORS 32 - #define DBG_MINIMUM (DL_LOG + DL_FTL + DL_ERR) #define DBG_DEFAULT (DBG_MINIMUM + DL_XLOG + DL_REG) diff --git a/drivers/isdn/hardware/eicon/divamnt.c b/drivers/isdn/hardware/eicon/divamnt.c index 6b22a8a5f..989cdef60 100644 --- a/drivers/isdn/hardware/eicon/divamnt.c +++ b/drivers/isdn/hardware/eicon/divamnt.c @@ -1,4 +1,4 @@ -/* $Id: divamnt.c,v 1.32 2004/01/15 09:48:13 armin Exp $ +/* $Id: divamnt.c,v 1.32.6.5 2004/08/28 20:03:53 armin Exp $ * * Driver for Eicon DIVA Server ISDN cards. * Maint module @@ -17,8 +17,6 @@ #include #include #include -#include -#include #include #include "platform.h" @@ -26,7 +24,7 @@ #include "divasync.h" #include "debug_if.h" -static char *main_revision = "$Revision: 1.32 $"; +static char *main_revision = "$Revision: 1.32.6.5 $"; static int major; @@ -47,8 +45,7 @@ static char *DEVNAME = "DivasMAINT"; char *DRIVERRELEASE_MNT = "2.0"; static wait_queue_head_t msgwaitq; -static DECLARE_MUTEX(opened_sem); -static int opened; +static unsigned long opened; static struct timeval start_time; extern int mntfunc_init(int *, void **, unsigned long); @@ -73,20 +70,6 @@ static char *getrev(const char *revision) return rev; } -/* - * buffer alloc - */ -void *diva_os_malloc_tbuffer(unsigned long flags, unsigned long size) -{ - return (kmalloc(size, GFP_KERNEL)); -} -void diva_os_free_tbuffer(unsigned long flags, void *ptr) -{ - if (ptr) { - kfree(ptr); - } -} - /* * kernel/user space copy functions */ @@ -131,154 +114,8 @@ void diva_os_get_time(dword * sec, dword * usec) } /* - * /proc entries + * device node operations */ - -extern struct proc_dir_entry *proc_net_eicon; -static struct proc_dir_entry *maint_proc_entry = NULL; - -/* - Read function is provided for compatibility reason - this allows - to read unstructured traces, formated as ascii string only - */ -static ssize_t -maint_read(struct file *file, char __user *buf, size_t count, loff_t * off) -{ - diva_dbg_entry_head_t *pmsg = NULL; - diva_os_spin_lock_magic_t old_irql; - word size; - char *pstr, *dli_label = "UNK"; - int str_length; - int *str_msg; - - if (!file->private_data) { - for (;;) { - while ( - (pmsg = - diva_maint_get_message(&size, - &old_irql))) { - if (!(pmsg->facility == MSG_TYPE_STRING)) { - diva_maint_ack_message(1, - &old_irql); - } else { - break; - } - } - - if (!pmsg) { - if (file->f_flags & O_NONBLOCK) { - return (-EAGAIN); - } - interruptible_sleep_on(&msgwaitq); - if (signal_pending(current)) { - return (-ERESTARTSYS); - } - } else { - break; - } - } - /* - The length of message that shoule be read is: - pmsg->data_length + label(25) + DrvID(2) + byte CR + trailing zero - */ - if (! - (str_msg = - (int *) diva_os_malloc_tbuffer(0, - pmsg->data_length + - 29 + 2 * sizeof(int)))) { - diva_maint_ack_message(0, &old_irql); - return (-ENOMEM); - } - pstr = (char *) &str_msg[2]; - - switch (pmsg->dli) { - case DLI_LOG: - dli_label = "LOG"; - break; - case DLI_FTL: - dli_label = "FTL"; - break; - case DLI_ERR: - dli_label = "ERR"; - break; - case DLI_TRC: - dli_label = "TRC"; - break; - case DLI_REG: - dli_label = "REG"; - break; - case DLI_MEM: - dli_label = "MEM"; - break; - case DLI_SPL: - dli_label = "SPL"; - break; - case DLI_IRP: - dli_label = "IRP"; - break; - case DLI_TIM: - dli_label = "TIM"; - break; - case DLI_TAPI: - dli_label = "TAPI"; - break; - case DLI_NDIS: - dli_label = "NDIS"; - break; - case DLI_CONN: - dli_label = "CONN"; - break; - case DLI_STAT: - dli_label = "STAT"; - break; - case DLI_PRV0: - dli_label = "PRV0"; - break; - case DLI_PRV1: - dli_label = "PRV1"; - break; - case DLI_PRV2: - dli_label = "PRV2"; - break; - case DLI_PRV3: - dli_label = "PRV3"; - break; - } - str_length = sprintf(pstr, "%s %02x %s\n", - dli_label, (byte) pmsg->drv_id, - (char *) &pmsg[1]); - str_msg[0] = str_length; - str_msg[1] = 0; - file->private_data = str_msg; - diva_maint_ack_message(1, &old_irql); - } else { - str_msg = (int *) file->private_data; - pstr = (char *) &str_msg[2]; - pstr += str_msg[1]; /* head + offset */ - str_length = str_msg[0] - str_msg[1]; /* length - offset */ - } - str_length = MIN(str_length, count); - - if (diva_os_copy_to_user(NULL, buf, pstr, str_length)) { - diva_os_free_tbuffer(0, str_msg); - file->private_data = NULL; - return (-EFAULT); - } - str_msg[1] += str_length; - if ((str_msg[0] - str_msg[1]) <= 0) { - diva_os_free_tbuffer(0, str_msg); - file->private_data = NULL; - } - - return (str_length); -} - -static ssize_t -maint_write(struct file *file, const char __user *buf, size_t count, loff_t * off) -{ - return (-ENODEV); -} - static unsigned int maint_poll(struct file *file, poll_table * wait) { unsigned int mask = 0; @@ -293,13 +130,10 @@ static unsigned int maint_poll(struct file *file, poll_table * wait) static int maint_open(struct inode *ino, struct file *filep) { - down(&opened_sem); - if (opened) { - up(&opened_sem); + /* only one open is allowed, so we test + it atomically */ + if (test_and_set_bit(0, &opened)) return (-EBUSY); - } - opened++; - up(&opened_sem); filep->private_data = NULL; @@ -309,54 +143,16 @@ static int maint_open(struct inode *ino, struct file *filep) static int maint_close(struct inode *ino, struct file *filep) { if (filep->private_data) { - diva_os_free_tbuffer(0, filep->private_data); + diva_os_free(0, filep->private_data); filep->private_data = NULL; } - down(&opened_sem); - opened--; - up(&opened_sem); + /* clear 'used' flag */ + clear_bit(0, &opened); + return (0); } -/* - * fops - */ -static struct file_operations maint_fops = { - .owner = THIS_MODULE, - .llseek = no_llseek, - .read = maint_read, - .write = maint_write, - .poll = maint_poll, - .open = maint_open, - .release = maint_close -}; - -static int DIVA_INIT_FUNCTION create_maint_proc(void) -{ - maint_proc_entry = - create_proc_entry("maint", S_IFREG | S_IRUGO | S_IWUSR, - proc_net_eicon); - if (!maint_proc_entry) - return (0); - - maint_proc_entry->proc_fops = &maint_fops; - maint_proc_entry->owner = THIS_MODULE; - - return (1); -} - -static void remove_maint_proc(void) -{ - if (maint_proc_entry) { - remove_proc_entry("maint", proc_net_eicon); - maint_proc_entry = NULL; - } -} - -/* - * device node operations - */ static ssize_t divas_maint_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos) { @@ -427,18 +223,10 @@ static int DIVA_INIT_FUNCTION maint_init(void) ret = -EIO; goto out; } - if (!create_maint_proc()) { - printk(KERN_ERR "%s: failed to create proc entry.\n", - DRIVERLNAME); - divas_maint_unregister_chrdev(); - ret = -EIO; - goto out; - } if (!(mntfunc_init(&buffer_length, &buffer, diva_dbg_mem))) { printk(KERN_ERR "%s: failed to connect to DIDD.\n", DRIVERLNAME); - remove_maint_proc(); divas_maint_unregister_chrdev(); ret = -EIO; goto out; @@ -457,7 +245,6 @@ static int DIVA_INIT_FUNCTION maint_init(void) */ static void DIVA_EXIT_FUNCTION maint_exit(void) { - remove_maint_proc(); divas_maint_unregister_chrdev(); mntfunc_finit(); @@ -466,3 +253,4 @@ static void DIVA_EXIT_FUNCTION maint_exit(void) module_init(maint_init); module_exit(maint_exit); + diff --git a/drivers/isdn/hardware/eicon/divasfunc.c b/drivers/isdn/hardware/eicon/divasfunc.c index 4ee56d4bb..df61e510a 100644 --- a/drivers/isdn/hardware/eicon/divasfunc.c +++ b/drivers/isdn/hardware/eicon/divasfunc.c @@ -1,4 +1,4 @@ -/* $Id: divasfunc.c,v 1.23 2004/04/08 01:17:57 armin Exp $ +/* $Id: divasfunc.c,v 1.23.4.2 2004/08/28 20:03:53 armin Exp $ * * Low level driver for Eicon DIVA Server ISDN cards. * @@ -27,8 +27,6 @@ extern void DIVA_DIDD_Read(void *, int); extern PISDN_ADAPTER IoAdapters[MAX_ADAPTER]; -#define MAX_DESCRIPTORS 32 - extern char *DRIVERRELEASE_DIVAS; static dword notify_handle; @@ -76,10 +74,10 @@ void diva_xdi_didd_register_adapter(int card) d.features = IoAdapters[card - 1]->Properties.Features; DBG_TRC(("DIDD register A(%d) channels=%d", card, d.channels)) - /* workaround for different Name in structure */ - strlcpy(IoAdapters[card - 1]->Name, - IoAdapters[card - 1]->Properties.Name, - sizeof(IoAdapters[card - 1]->Name)); + /* workaround for different Name in structure */ + strlcpy(IoAdapters[card - 1]->Name, + IoAdapters[card - 1]->Properties.Name, + sizeof(IoAdapters[card - 1]->Name)); req.didd_remove_adapter.e.Req = 0; req.didd_add_adapter.e.Rc = IDI_SYNC_REQ_DIDD_ADD_ADAPTER; req.didd_add_adapter.info.descriptor = (void *) &d; diff --git a/drivers/isdn/hardware/eicon/idifunc.c b/drivers/isdn/hardware/eicon/idifunc.c index 63746f401..4cbc68cf4 100644 --- a/drivers/isdn/hardware/eicon/idifunc.c +++ b/drivers/isdn/hardware/eicon/idifunc.c @@ -1,4 +1,4 @@ -/* $Id: idifunc.c,v 1.14.4.2 2004/05/09 16:42:20 armin Exp $ +/* $Id: idifunc.c,v 1.14.4.4 2004/08/28 20:03:53 armin Exp $ * * Driver for Eicon DIVA Server ISDN cards. * User Mode IDI Interface @@ -25,8 +25,6 @@ extern void DIVA_DIDD_Read(void *, int); extern int diva_user_mode_idi_create_adapter(const DESCRIPTOR *, int); extern void diva_user_mode_idi_remove_adapter(int); -#define MAX_DESCRIPTORS 32 - static dword notify_handle; static DESCRIPTOR DAdapter; static DESCRIPTOR MAdapter; diff --git a/drivers/isdn/hardware/eicon/maintidi.c b/drivers/isdn/hardware/eicon/maintidi.c index 8bef29b8b..a1ed7786d 100644 --- a/drivers/isdn/hardware/eicon/maintidi.c +++ b/drivers/isdn/hardware/eicon/maintidi.c @@ -115,7 +115,7 @@ diva_strace_library_interface_t* DivaSTraceLibraryCreateInstance (int Adapter, return NULL; } - pmem += sizeof(*pLib); + pmem += sizeof(*pLib); memset(pLib, 0x00, sizeof(*pLib)); pLib->Adapter = Adapter; @@ -337,13 +337,60 @@ static int SuperTraceMessageInput (void* hLib) { pLib->e.RNum = 1; pLib->e.R->P = (byte*)&pLib->buffer[0]; pLib->e.R->PLength = (word)(sizeof(pLib->buffer) - 1); + } else { /* Indication reception complete, process it now */ byte* p = (byte*)&pLib->buffer[0]; pLib->buffer[pLib->e.R->PLength] = 0; /* terminate I.E. with zero */ + switch (Ind) { + case MAN_COMBI_IND: { + int total_length = pLib->e.R->PLength; + word this_ind_length; + + while (total_length > 3 && *p) { + Ind = *p++; + this_ind_length = (word)p[0] | ((word)p[1] << 8); + p += 2; + + switch (Ind) { + case MAN_INFO_IND: + if (process_idi_info (pLib, (diva_man_var_header_t*)p)) { + return (-1); + } + break; + case MAN_EVENT_IND: + if (process_idi_event (pLib, (diva_man_var_header_t*)p)) { + return (-1); + } + break; + case MAN_TRACE_IND: + if (pLib->trace_on == 1) { + /* + Ignore first trace event that is result of + EVENT_ON operation + */ + pLib->trace_on++; + } else { + /* + Delivery XLOG buffer to application + */ + if (pLib->user_proc_table.trace_proc) { + (*(pLib->user_proc_table.trace_proc))(pLib->user_proc_table.user_context, + &pLib->instance, pLib->Adapter, + p, this_ind_length); + } + } + break; + default: + diva_mnt_internal_dprintf (0, DLI_ERR, "Unknon IDI Ind (DMA mode): %02x", Ind); + } + p += (this_ind_length+1); + total_length -= (4 + this_ind_length); + } + } break; case MAN_INFO_IND: if (process_idi_info (pLib, (diva_man_var_header_t*)p)) { return (-1); @@ -806,7 +853,7 @@ static int ScheduleNextTraceRequest (diva_strace_context_t* pLib) { } static int process_idi_event (diva_strace_context_t* pLib, - diva_man_var_header_t* pVar) { + diva_man_var_header_t* pVar) { const char* path = (char*)&pVar->path_length+1; char name[64]; int i; diff --git a/drivers/isdn/hardware/eicon/mntfunc.c b/drivers/isdn/hardware/eicon/mntfunc.c index c94229904..29492451a 100644 --- a/drivers/isdn/hardware/eicon/mntfunc.c +++ b/drivers/isdn/hardware/eicon/mntfunc.c @@ -1,4 +1,4 @@ -/* $Id: mntfunc.c,v 1.19 2004/01/09 21:22:03 armin Exp $ +/* $Id: mntfunc.c,v 1.19.6.2 2004/08/28 20:03:53 armin Exp $ * * Driver for Eicon DIVA Server ISDN cards. * Maint module @@ -23,17 +23,12 @@ extern char *DRIVERRELEASE_MNT; extern void DIVA_DIDD_Read(void *, int); -#define MAX_DESCRIPTORS 32 - static dword notify_handle; static DESCRIPTOR DAdapter; static DESCRIPTOR MAdapter; static DESCRIPTOR MaintDescriptor = { IDI_DIMAINT, 0, 0, (IDI_CALL) diva_maint_prtComp }; -extern void *diva_os_malloc_tbuffer(unsigned long flags, - unsigned long size); -extern void diva_os_free_tbuffer(unsigned long flags, void *ptr); extern int diva_os_copy_to_user(void *os_handle, void __user *dst, const void *src, int length); extern int diva_os_copy_from_user(void *os_handle, void *dst, @@ -46,16 +41,6 @@ static void no_printf(unsigned char *x, ...) #include "debuglib.c" -/* - * stop debug - */ -static void stop_dbg(void) -{ - DbgDeregister(); - memset(&MAdapter, 0, sizeof(MAdapter)); - dprintf = no_printf; -} - /* * DIDD callback function */ @@ -66,7 +51,9 @@ static void *didd_callback(void *context, DESCRIPTOR * adapter, DBG_ERR(("cb: Change in DAdapter ? Oops ?.")); } else if (adapter->type == IDI_DIMAINT) { if (removal) { - stop_dbg(); + DbgDeregister(); + memset(&MAdapter, 0, sizeof(MAdapter)); + dprintf = no_printf; } else { memcpy(&MAdapter, adapter, sizeof(MAdapter)); dprintf = (DIVA_DI_PRINTF) MAdapter.request; @@ -131,8 +118,6 @@ static void DIVA_EXIT_FUNCTION disconnect_didd(void) { IDI_SYNC_REQ req; - stop_dbg(); - req.didd_notify.e.Req = 0; req.didd_notify.e.Rc = IDI_SYNC_REQ_DIDD_REMOVE_ADAPTER_NOTIFY; req.didd_notify.info.handle = notify_handle; @@ -193,34 +178,63 @@ int maint_read_write(void __user *buf, int count) } break; + /* + Filter commands will ignore the ID due to fact that filtering affects + the B- channel and Audio Tap trace levels only. Also MAINT driver will + select the right trace ID by itself + */ + case DITRACE_WRITE_SELECTIVE_TRACE_FILTER: + if (!mask) { + ret = diva_set_trace_filter (1, "*"); + } else if (mask < sizeof(data)) { + if (copy_from_user(data, (char __user *)buf+12, mask)) { + ret = -EFAULT; + } else { + ret = diva_set_trace_filter ((int)mask, data); + } + } else { + ret = -EINVAL; + } + break; + + case DITRACE_READ_SELECTIVE_TRACE_FILTER: + if ((ret = diva_get_trace_filter (sizeof(data), data)) > 0) { + if (copy_to_user (buf, data, ret)) + ret = -EFAULT; + } else { + ret = -ENODEV; + } + break; + case DITRACE_READ_TRACE_ENTRY:{ diva_os_spin_lock_magic_t old_irql; word size; diva_dbg_entry_head_t *pmsg; byte *pbuf; - if ((pmsg = diva_maint_get_message(&size, &old_irql))) { + if (!(pbuf = diva_os_malloc(0, mask))) { + return (-ENOMEM); + } + + for(;;) { + if (!(pmsg = + diva_maint_get_message(&size, &old_irql))) { + break; + } if (size > mask) { diva_maint_ack_message(0, &old_irql); ret = -EINVAL; - } else { - if (!(pbuf = diva_os_malloc_tbuffer(0, size))) - { - diva_maint_ack_message(0, &old_irql); - ret = -ENOMEM; - } else { - ret = size; - memcpy(pbuf, pmsg, size); - diva_maint_ack_message(1, &old_irql); - if ((count < size) || diva_os_copy_to_user (NULL, buf, - (void *) pbuf, size)) - ret = -EFAULT; - diva_os_free_tbuffer(0, pbuf); - } + break; } - } else { - ret = 0; + ret = size; + memcpy(pbuf, pmsg, size); + diva_maint_ack_message(1, &old_irql); + if ((count < size) || + diva_os_copy_to_user (NULL, buf, (void *) pbuf, size)) + ret = -EFAULT; + break; } + diva_os_free(0, pbuf); } break; @@ -235,7 +249,7 @@ int maint_read_write(void __user *buf, int count) ret = -EINVAL; break; } - if (!(pbuf = diva_os_malloc_tbuffer(0, mask))) { + if (!(pbuf = diva_os_malloc(0, mask))) { return (-ENOMEM); } @@ -273,7 +287,7 @@ int maint_read_write(void __user *buf, int count) } else { ret = written; } - diva_os_free_tbuffer(0, pbuf); + diva_os_free(0, pbuf); } break; @@ -302,7 +316,7 @@ int DIVA_INIT_FUNCTION mntfunc_init(int *buffer_length, void **buffer, } else { while ((*buffer_length >= (64 * 1024)) && - (!(*buffer = diva_os_malloc_tbuffer(0, *buffer_length)))) { + (!(*buffer = diva_os_malloc (0, *buffer_length)))) { *buffer_length -= 1024; } @@ -314,7 +328,7 @@ int DIVA_INIT_FUNCTION mntfunc_init(int *buffer_length, void **buffer, if (diva_maint_init(*buffer, *buffer_length, (diva_dbg_mem == 0))) { if (!diva_dbg_mem) { - diva_os_free_tbuffer(0, *buffer); + diva_os_free (0, *buffer); } DBG_ERR(("init: maint init failed")); return (0); @@ -324,7 +338,7 @@ int DIVA_INIT_FUNCTION mntfunc_init(int *buffer_length, void **buffer, DBG_ERR(("init: failed to connect to DIDD.")); diva_maint_finit(); if (!diva_dbg_mem) { - diva_os_free_tbuffer(0, *buffer); + diva_os_free (0, *buffer); } return (0); } @@ -339,6 +353,8 @@ void DIVA_EXIT_FUNCTION mntfunc_finit(void) void *buffer; int i = 100; + DbgDeregister(); + while (diva_mnt_shutdown_xdi_adapters() && i--) { diva_os_sleep(10); } @@ -346,6 +362,9 @@ void DIVA_EXIT_FUNCTION mntfunc_finit(void) disconnect_didd(); if ((buffer = diva_maint_finit())) { - diva_os_free_tbuffer(0, buffer); + diva_os_free (0, buffer); } + + memset(&MAdapter, 0, sizeof(MAdapter)); + dprintf = no_printf; } diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c index 2b54e7d6f..394d481e0 100644 --- a/drivers/isdn/hisax/diva.c +++ b/drivers/isdn/hisax/diva.c @@ -1027,7 +1027,7 @@ setup_diva(struct IsdnCard *card) } } #endif -#if CONFIG_PCI +#ifdef CONFIG_PCI cs->subtyp = 0; if ((dev_diva = pci_find_device(PCI_VENDOR_ID_EICON, PCI_DEVICE_ID_EICON_DIVA20, dev_diva))) { diff --git a/drivers/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c index 04f9c5ce2..478b1a17b 100644 --- a/drivers/isdn/hisax/st5481_usb.c +++ b/drivers/isdn/hisax/st5481_usb.c @@ -143,9 +143,6 @@ static void usb_ctrl_complete(struct urb *urb, struct pt_regs *regs) if (ctrl_msg->dr.bRequest == USB_REQ_CLEAR_FEATURE) { /* Special case handling for pipe reset */ le16_to_cpus(&ctrl_msg->dr.wIndex); - usb_endpoint_running(adapter->usb_dev, - ctrl_msg->dr.wIndex & ~USB_DIR_IN, - (ctrl_msg->dr.wIndex & USB_DIR_IN) == 0); /* toggle is reset on clear */ usb_settoggle(adapter->usb_dev, diff --git a/drivers/isdn/i4l/isdn_net.c b/drivers/isdn/i4l/isdn_net.c index 69c6884e9..964d5c975 100644 --- a/drivers/isdn/i4l/isdn_net.c +++ b/drivers/isdn/i4l/isdn_net.c @@ -1369,7 +1369,7 @@ isdn_net_type_trans(struct sk_buff *skb, struct net_device *dev) skb->mac.raw = skb->data; skb_pull(skb, ETH_HLEN); - eth = skb->mac.ethernet; + eth = eth_hdr(skb); if (*eth->h_dest & 1) { if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0) diff --git a/drivers/isdn/i4l/isdn_tty.c b/drivers/isdn/i4l/isdn_tty.c index 02b912ab1..921c3c2ab 100644 --- a/drivers/isdn/i4l/isdn_tty.c +++ b/drivers/isdn/i4l/isdn_tty.c @@ -296,10 +296,7 @@ isdn_tty_tint(modem_info * info) info->send_outstanding++; info->msr &= ~UART_MSR_CTS; info->lsr &= ~UART_LSR_TEMT; - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); return; } if (slen < 0) { @@ -1174,10 +1171,7 @@ isdn_tty_write(struct tty_struct *tty, int from_user, const u_char * buf, int co /* If DLE decoding results in zero-transmit, but * c originally was non-zero, do a wakeup. */ - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); info->msr |= UART_MSR_CTS; info->lsr |= UART_LSR_TEMT; } @@ -1290,9 +1284,7 @@ isdn_tty_flush_buffer(struct tty_struct *tty) isdn_tty_cleanup_xmit(info); info->xmit_count = 0; wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); } static void @@ -1747,10 +1739,10 @@ isdn_tty_close(struct tty_struct *tty, struct file *filp) } dev->modempoll--; isdn_tty_shutdown(info); + if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); info->tty = NULL; info->ncarrier = 0; tty->closing = 0; @@ -2681,8 +2673,7 @@ isdn_tty_modem_result(int code, modem_info * info) if ((info->flags & ISDN_ASYNC_CLOSING) || (!info->tty)) { return; } - if (info->tty->ldisc.flush_buffer) - info->tty->ldisc.flush_buffer(info->tty); + tty_ldisc_flush(info->tty); if ((info->flags & ISDN_ASYNC_CHECK_CD) && (!((info->flags & ISDN_ASYNC_CALLOUT_ACTIVE) && (info->flags & ISDN_ASYNC_CALLOUT_NOHUP)))) { diff --git a/drivers/macintosh/mediabay.c b/drivers/macintosh/mediabay.c index aa0719775..07c2be615 100644 --- a/drivers/macintosh/mediabay.c +++ b/drivers/macintosh/mediabay.c @@ -82,6 +82,7 @@ struct media_bay_info { #ifdef CONFIG_BLK_DEV_IDE unsigned long cd_base; int cd_index; + ide_hwif_t *cd_hwif; int cd_irq; int cd_retry; #endif @@ -569,7 +570,7 @@ static void __pmac media_bay_step(int i) ide_init_hwif_ports(&hw, (unsigned long) bay->cd_base, (unsigned long) 0, NULL); hw.irq = bay->cd_irq; hw.chipset = ide_pmac; - bay->cd_index = ide_register_hw(&hw, NULL); + bay->cd_index = ide_register_hw(&hw, &bay->cd_hwif); pmu_resume(); } if (bay->cd_index == -1) { @@ -600,7 +601,7 @@ static void __pmac media_bay_step(int i) if (bay->cd_index >= 0) { printk(KERN_DEBUG "Unregistering mb %d ide, index:%d\n", i, bay->cd_index); - ide_unregister(bay->cd_index); + ide_unregister_hwif(bay->cd_hwif); bay->cd_index = -1; } if (bay->cd_retry) { diff --git a/drivers/macintosh/therm_adt746x.c b/drivers/macintosh/therm_adt746x.c index 37f06c81d..8feba3846 100644 --- a/drivers/macintosh/therm_adt746x.c +++ b/drivers/macintosh/therm_adt746x.c @@ -28,6 +28,7 @@ #include #include #include +#include #undef DEBUG @@ -53,7 +54,7 @@ MODULE_DESCRIPTION("Driver for ADT746x thermostat in iBook G4 and Powerbook G4 A MODULE_LICENSE("GPL"); MODULE_PARM(limit_adjust,"i"); -MODULE_PARM_DESC(limit_adjust,"Adjust maximum temperatures (50°C cpu, 70°C gpu) by N °C."); +MODULE_PARM_DESC(limit_adjust,"Adjust maximum temperatures (50 cpu, 70 gpu) by N degrees."); MODULE_PARM(fan_speed,"i"); MODULE_PARM_DESC(fan_speed,"Specify fan speed (0-255) when lim < temp < lim+8 (default 128)"); @@ -70,9 +71,7 @@ static enum {ADT7460, ADT7467} therm_type; static int therm_bus, therm_address; static struct of_device * of_dev; static struct thermostat* thermostat; -static pid_t monitor_thread_id; -static int monitor_running; -static struct completion monitor_task_compl; +static struct task_struct *thread_therm = NULL; static int attach_one_thermostat(struct i2c_adapter *adapter, int addr, int busno); static void write_both_fan_speed(struct thermostat *th, int speed); @@ -136,13 +135,12 @@ detach_thermostat(struct i2c_adapter *adapter) th = thermostat; - if (monitor_running) { - monitor_running = 0; - wait_for_completion(&monitor_task_compl); + if (thread_therm != NULL) { + kthread_stop(thread_therm); } printk(KERN_INFO "adt746x: Putting max temperatures back from %d, %d, %d," - " to %d, %d, %d, (°C)\n", + " to %d, %d, %d\n", th->limits[0], th->limits[1], th->limits[2], th->initial_limits[0], th->initial_limits[1], th->initial_limits[2]); @@ -178,7 +176,8 @@ static int read_fan_speed(struct thermostat *th, u8 addr) tmp[0] = read_reg(th, addr + 1); res = tmp[1] + (tmp[0] << 8); - return (90000*60)/res; + /* "a value of 0xffff means that the fan has stopped" */ + return (res == 0xffff ? 0 : (90000*60)/res); } static void write_both_fan_speed(struct thermostat *th, int speed) @@ -237,16 +236,9 @@ static int monitor_task(void *arg) #ifdef DEBUG int mfan_speed; #endif - - lock_kernel(); - daemonize("kfand"); - unlock_kernel(); - strcpy(current->comm, "thermostat"); - monitor_running = 1; - - while(monitor_running) + while(!kthread_should_stop()) { - msleep(2000); + msleep_interruptible(2000); /* Check status */ /* local : chip */ @@ -270,14 +262,14 @@ static int monitor_task(void *arg) int var = temps[i] - lims[i]; if (var > 8) { if (th->overriding[fan_number] == 0) - printk(KERN_INFO "adt746x: Limit exceeded by %d°C, overriding specified fan speed for %s.\n", + printk(KERN_INFO "adt746x: Limit exceeded by %d, overriding specified fan speed for %s.\n", var, fan_number?"GPU":"CPU"); th->overriding[fan_number] = 1; write_fan_speed(th, 255, fan_number); started = 1; } else if ((!th->overriding[fan_number] || var < 6) && var > 0) { if (th->overriding[fan_number] == 1) - printk(KERN_INFO "adt746x: Limit exceeded by %d°C, setting speed to specified for %s.\n", + printk(KERN_INFO "adt746x: Limit exceeded by %d, setting speed to specified for %s.\n", var, fan_number?"GPU":"CPU"); th->overriding[fan_number] = 0; write_fan_speed(th, fan_speed, fan_number); @@ -308,8 +300,8 @@ static int monitor_task(void *arg) || temps[1] != th->cached_temp[1] || temps[2] != th->cached_temp[2]) { printk(KERN_INFO "adt746x: Temperature infos:" - " thermostats: %d,%d,%d °C;" - " limits: %d,%d,%d °C;" + " thermostats: %d,%d,%d;" + " limits: %d,%d,%d;" " fan speed: %d RPM\n", temps[0], temps[1], temps[2], lims[0], lims[1], lims[2], @@ -321,7 +313,6 @@ static int monitor_task(void *arg) #endif } - complete_and_exit(&monitor_task_compl, 0); return 0; } @@ -380,14 +371,14 @@ attach_one_thermostat(struct i2c_adapter *adapter, int addr, int busno) } printk(KERN_INFO "adt746x: Lowering max temperatures from %d, %d, %d" - " to %d, %d, %d (°C)\n", + " to %d, %d, %d\n", th->initial_limits[0], th->initial_limits[1], th->initial_limits[2], th->limits[0], th->limits[1], th->limits[2]); thermostat = th; if (i2c_attach_client(&th->clt)) { - printk("adt746x: Thermostat failed to attach client !\n"); + printk(KERN_INFO "adt746x: Thermostat failed to attach client !\n"); thermostat = NULL; kfree(th); return -ENODEV; @@ -403,10 +394,13 @@ attach_one_thermostat(struct i2c_adapter *adapter, int addr, int busno) write_both_fan_speed(th, -1); } - init_completion(&monitor_task_compl); - - monitor_thread_id = kernel_thread(monitor_task, th, - SIGCHLD | CLONE_KERNEL); + thread_therm = kthread_run(monitor_task, th, "kfand"); + + if (thread_therm == ERR_PTR(-ENOMEM)) { + printk(KERN_INFO "adt746x: Kthread creation failed\n"); + thread_therm = NULL; + return -ENOMEM; + } return 0; } @@ -417,17 +411,21 @@ attach_one_thermostat(struct i2c_adapter *adapter, int addr, int busno) * choice but implement a bunch of them... * */ -#define BUILD_SHOW_FUNC_DEG(name, data) \ -static ssize_t show_##name(struct device *dev, char *buf) \ -{ \ - return sprintf(buf, "%d°C\n", data); \ -} #define BUILD_SHOW_FUNC_INT(name, data) \ static ssize_t show_##name(struct device *dev, char *buf) \ { \ return sprintf(buf, "%d\n", data); \ } +#define BUILD_SHOW_FUNC_FAN(name, data) \ +static ssize_t show_##name(struct device *dev, char *buf) \ +{ \ + return sprintf(buf, "%d (%d rpm)\n", \ + thermostat->last_speed[data], \ + read_fan_speed(thermostat, FAN_SPEED[data]) \ + ); \ +} + #define BUILD_STORE_FUNC_DEG(name, data) \ static ssize_t store_##name(struct device *dev, const char *buf, size_t n) \ { \ @@ -448,19 +446,19 @@ static ssize_t store_##name(struct device *dev, const char *buf, size_t n) \ val = simple_strtoul(buf, NULL, 10); \ if (val < 0 || val > 255) \ return -EINVAL; \ - printk(KERN_INFO "Setting fan speed to %d\n", val); \ + printk(KERN_INFO "Setting specified fan speed to %d\n", val); \ data = val; \ return n; \ } -BUILD_SHOW_FUNC_DEG(cpu_temperature, (read_reg(thermostat, TEMP_REG[1]))) -BUILD_SHOW_FUNC_DEG(gpu_temperature, (read_reg(thermostat, TEMP_REG[2]))) -BUILD_SHOW_FUNC_DEG(cpu_limit, thermostat->limits[1]) -BUILD_SHOW_FUNC_DEG(gpu_limit, thermostat->limits[2]) +BUILD_SHOW_FUNC_INT(cpu_temperature, (read_reg(thermostat, TEMP_REG[1]))) +BUILD_SHOW_FUNC_INT(gpu_temperature, (read_reg(thermostat, TEMP_REG[2]))) +BUILD_SHOW_FUNC_INT(cpu_limit, thermostat->limits[1]) +BUILD_SHOW_FUNC_INT(gpu_limit, thermostat->limits[2]) BUILD_SHOW_FUNC_INT(specified_fan_speed, fan_speed) -BUILD_SHOW_FUNC_INT(cpu_fan_speed, (read_fan_speed(thermostat, FAN_SPEED[0]))) -BUILD_SHOW_FUNC_INT(gpu_fan_speed, (read_fan_speed(thermostat, FAN_SPEED[1]))) +BUILD_SHOW_FUNC_FAN(cpu_fan_speed, 0) +BUILD_SHOW_FUNC_FAN(gpu_fan_speed, 1) BUILD_STORE_FUNC_INT(specified_fan_speed,fan_speed) BUILD_SHOW_FUNC_INT(limit_adjust, limit_adjust) diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig index 87261d37f..2bf58c928 100644 --- a/drivers/md/Kconfig +++ b/drivers/md/Kconfig @@ -85,6 +85,24 @@ config MD_RAID1 If unsure, say Y. +config MD_RAID10 + tristate "RAID-10 (mirrored striping) mode (EXPERIMENTAL)" + depends on BLK_DEV_MD && EXPERIMENTAL + ---help--- + RAID-10 provides a combination of striping (RAID-0) and + mirroring (RAID-1) with easier configuration and more flexable + layout. + Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to + be the same size (or atleast, only as much as the smallest device + will be used). + RAID-10 provides a variety of layouts that provide different levels + of redundancy and performance. + + RAID-10 requires mdadm-1.7.0 or later, available at: + + ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/ + + config MD_RAID5 tristate "RAID-4/RAID-5 mode" depends on BLK_DEV_MD diff --git a/drivers/md/Makefile b/drivers/md/Makefile index 0a87c9e40..5cadb0804 100644 --- a/drivers/md/Makefile +++ b/drivers/md/Makefile @@ -10,7 +10,7 @@ raid6-objs := raid6main.o raid6algos.o raid6recov.o raid6tables.o \ raid6int1.o raid6int2.o raid6int4.o \ raid6int8.o raid6int16.o raid6int32.o \ raid6mmx.o raid6sse1.o raid6sse2.o -host-progs := mktables +hostprogs-y := mktables CFLAGS_raid6int8.o += -O2 @@ -22,6 +22,7 @@ CFLAGS_raid6int8.o += -O2 obj-$(CONFIG_MD_LINEAR) += linear.o obj-$(CONFIG_MD_RAID0) += raid0.o obj-$(CONFIG_MD_RAID1) += raid1.o +obj-$(CONFIG_MD_RAID10) += raid10.o obj-$(CONFIG_MD_RAID5) += raid5.o xor.o obj-$(CONFIG_MD_RAID6) += raid6.o xor.o obj-$(CONFIG_MD_MULTIPATH) += multipath.o diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index d189f8549..a6c24847d 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -825,7 +825,7 @@ void dm_table_set_restrictions(struct dm_table *t, struct request_queue *q) * Make sure we obey the optimistic sub devices * restrictions. */ - q->max_sectors = t->limits.max_sectors; + blk_queue_max_sectors(q, t->limits.max_sectors); q->max_phys_segments = t->limits.max_phys_segments; q->max_hw_segments = t->limits.max_hw_segments; q->hardsect_size = t->limits.hardsect_size; @@ -900,6 +900,28 @@ void dm_table_unplug_all(struct dm_table *t) } } +int dm_table_flush_all(struct dm_table *t) +{ + struct list_head *d, *devices = dm_table_get_devices(t); + int ret = 0; + + for (d = devices->next; d != devices; d = d->next) { + struct dm_dev *dd = list_entry(d, struct dm_dev, list); + request_queue_t *q = bdev_get_queue(dd->bdev); + int err; + + if (!q->issue_flush_fn) + err = -EOPNOTSUPP; + else + err = q->issue_flush_fn(q, dd->bdev->bd_disk, NULL); + + if (!ret) + ret = err; + } + + return ret; +} + EXPORT_SYMBOL(dm_vcalloc); EXPORT_SYMBOL(dm_get_device); EXPORT_SYMBOL(dm_put_device); @@ -908,3 +930,4 @@ EXPORT_SYMBOL(dm_table_get_mode); EXPORT_SYMBOL(dm_table_put); EXPORT_SYMBOL(dm_table_get); EXPORT_SYMBOL(dm_table_unplug_all); +EXPORT_SYMBOL(dm_table_flush_all); diff --git a/drivers/md/dm-target.c b/drivers/md/dm-target.c index 2f67b4d68..aecd9e0c2 100644 --- a/drivers/md/dm-target.c +++ b/drivers/md/dm-target.c @@ -120,10 +120,9 @@ int dm_register_target(struct target_type *t) return -ENOMEM; down_write(&_lock); - if (__find_target_type(t->name)) { - kfree(ti); + if (__find_target_type(t->name)) rv = -EEXIST; - } else + else list_add(&ti->list, &_targets); up_write(&_lock); diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 01794ed39..4d3c1d32a 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -15,15 +15,13 @@ #include #include #include +#include static const char *_name = DM_NAME; static unsigned int major = 0; static unsigned int _major = 0; -static int realloc_minor_bits(unsigned long requested_minor); -static void free_minor_bits(void); - /* * One of these is allocated per bio. */ @@ -113,19 +111,11 @@ static int __init local_init(void) return -ENOMEM; } - r = realloc_minor_bits(1024); - if (r < 0) { - kmem_cache_destroy(_tio_cache); - kmem_cache_destroy(_io_cache); - return r; - } - _major = major; r = register_blkdev(_major, _name); if (r < 0) { kmem_cache_destroy(_tio_cache); kmem_cache_destroy(_io_cache); - free_minor_bits(); return r; } @@ -139,7 +129,6 @@ static void local_exit(void) { kmem_cache_destroy(_tio_cache); kmem_cache_destroy(_io_cache); - free_minor_bits(); if (unregister_blkdev(_major, _name) < 0) DMERR("devfs_unregister_blkdev failed"); @@ -597,6 +586,21 @@ static int dm_request(request_queue_t *q, struct bio *bio) return 0; } +static int dm_flush_all(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + struct mapped_device *md = q->queuedata; + struct dm_table *map = dm_get_table(md); + int ret = -ENXIO; + + if (map) { + ret = dm_table_flush_all(md->map); + dm_table_put(map); + } + + return ret; +} + static void dm_unplug_all(request_queue_t *q) { struct mapped_device *md = q->queuedata; @@ -624,59 +628,15 @@ static int dm_any_congested(void *congested_data, int bdi_bits) } /*----------------------------------------------------------------- - * A bitset is used to keep track of allocated minor numbers. + * An IDR is used to keep track of allocated minor numbers. *---------------------------------------------------------------*/ static DECLARE_MUTEX(_minor_lock); -static unsigned long *_minor_bits = NULL; -static unsigned long _max_minors = 0; - -#define MINORS_SIZE(minors) ((minors / BITS_PER_LONG) * sizeof(unsigned long)) - -static int realloc_minor_bits(unsigned long requested_minor) -{ - unsigned long max_minors; - unsigned long *minor_bits, *tmp; - - if (requested_minor < _max_minors) - return -EINVAL; - - /* Round up the requested minor to the next power-of-2. */ - max_minors = 1 << fls(requested_minor - 1); - if (max_minors > (1 << MINORBITS)) - return -EINVAL; - - minor_bits = kmalloc(MINORS_SIZE(max_minors), GFP_KERNEL); - if (!minor_bits) - return -ENOMEM; - memset(minor_bits, 0, MINORS_SIZE(max_minors)); - - /* Copy the existing bit-set to the new one. */ - if (_minor_bits) - memcpy(minor_bits, _minor_bits, MINORS_SIZE(_max_minors)); - - tmp = _minor_bits; - _minor_bits = minor_bits; - _max_minors = max_minors; - if (tmp) - kfree(tmp); - - return 0; -} - -static void free_minor_bits(void) -{ - down(&_minor_lock); - kfree(_minor_bits); - _minor_bits = NULL; - _max_minors = 0; - up(&_minor_lock); -} +static DEFINE_IDR(_minor_idr); static void free_minor(unsigned int minor) { down(&_minor_lock); - if (minor < _max_minors) - clear_bit(minor, _minor_bits); + idr_remove(&_minor_idr, minor); up(&_minor_lock); } @@ -685,24 +645,37 @@ static void free_minor(unsigned int minor) */ static int specific_minor(unsigned int minor) { - int r = 0; + int r, m; - if (minor > (1 << MINORBITS)) + if (minor >= (1 << MINORBITS)) return -EINVAL; down(&_minor_lock); - if (minor >= _max_minors) { - r = realloc_minor_bits(minor); - if (r) { - up(&_minor_lock); - return r; - } + + if (idr_find(&_minor_idr, minor)) { + r = -EBUSY; + goto out; + } + + r = idr_pre_get(&_minor_idr, GFP_KERNEL); + if (!r) { + r = -ENOMEM; + goto out; + } + + r = idr_get_new_above(&_minor_idr, specific_minor, minor, &m); + if (r) { + goto out; } - if (test_and_set_bit(minor, _minor_bits)) + if (m != minor) { + idr_remove(&_minor_idr, m); r = -EBUSY; - up(&_minor_lock); + goto out; + } +out: + up(&_minor_lock); return r; } @@ -712,21 +685,29 @@ static int next_free_minor(unsigned int *minor) unsigned int m; down(&_minor_lock); - m = find_first_zero_bit(_minor_bits, _max_minors); - if (m >= _max_minors) { - r = realloc_minor_bits(_max_minors * 2); - if (r) { - up(&_minor_lock); - return r; - } - m = find_first_zero_bit(_minor_bits, _max_minors); + + r = idr_pre_get(&_minor_idr, GFP_KERNEL); + if (!r) { + r = -ENOMEM; + goto out; + } + + r = idr_get_new(&_minor_idr, next_free_minor, &m); + if (r) { + goto out; + } + + if (m >= (1 << MINORBITS)) { + idr_remove(&_minor_idr, m); + r = -ENOSPC; + goto out; } - set_bit(m, _minor_bits); *minor = m; - up(&_minor_lock); - return 0; +out: + up(&_minor_lock); + return r; } static struct block_device_operations dm_blk_dops; @@ -764,6 +745,7 @@ static struct mapped_device *alloc_dev(unsigned int minor, int persistent) md->queue->backing_dev_info.congested_data = md; blk_queue_make_request(md->queue, dm_request); md->queue->unplug_fn = dm_unplug_all; + md->queue->issue_flush_fn = dm_flush_all; md->io_pool = mempool_create(MIN_IOS, mempool_alloc_slab, mempool_free_slab, _io_cache); diff --git a/drivers/md/dm.h b/drivers/md/dm.h index b4b915fbd..2daa03332 100644 --- a/drivers/md/dm.h +++ b/drivers/md/dm.h @@ -19,6 +19,9 @@ #define DMERR(f, x...) printk(KERN_ERR DM_NAME ": " f "\n" , ## x) #define DMINFO(f, x...) printk(KERN_INFO DM_NAME ": " f "\n" , ## x) +#define DMEMIT(x...) sz += ((sz >= maxlen) ? \ + 0 : scnprintf(result + sz, maxlen - sz, x)) + /* * FIXME: I think this should be with the definition of sector_t * in types.h. @@ -113,6 +116,7 @@ void dm_table_suspend_targets(struct dm_table *t); void dm_table_resume_targets(struct dm_table *t); int dm_table_any_congested(struct dm_table *t, int bdi_bits); void dm_table_unplug_all(struct dm_table *t); +int dm_table_flush_all(struct dm_table *t); /*----------------------------------------------------------------- * A registry of target types. diff --git a/drivers/md/linear.c b/drivers/md/linear.c index 0f57e5edd..18e28066f 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c @@ -119,7 +119,8 @@ static int linear_run (mddev_t *mddev) linear_conf_t *conf; struct linear_hash *table; mdk_rdev_t *rdev; - int size, i, nb_zone, cnt; + int i, nb_zone, cnt; + sector_t size; unsigned int curr_offset; struct list_head *tmp; @@ -268,10 +269,11 @@ static int linear_make_request (request_queue_t *q, struct bio *bio) char b[BDEVNAME_SIZE]; printk("linear_make_request: Block %llu out of bounds on " - "dev %s size %ld offset %ld\n", + "dev %s size %llu offset %llu\n", (unsigned long long)block, bdevname(tmp_dev->rdev->bdev, b), - tmp_dev->size, tmp_dev->offset); + (unsigned long long)tmp_dev->size, + (unsigned long long)tmp_dev->offset); bio_io_error(bio, bio->bi_size); return 0; } diff --git a/drivers/md/md.c b/drivers/md/md.c index 77cd6e9f3..745f7e7bd 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -154,6 +154,39 @@ static spinlock_t all_mddevs_lock = SPIN_LOCK_UNLOCKED; tmp = tmp->next;}) \ ) +int md_flush_mddev(mddev_t *mddev, sector_t *error_sector) +{ + struct list_head *tmp; + mdk_rdev_t *rdev; + int ret = 0; + + /* + * this list iteration is done without any locking in md?! + */ + ITERATE_RDEV(mddev, rdev, tmp) { + request_queue_t *r_queue = bdev_get_queue(rdev->bdev); + int err; + + if (!r_queue->issue_flush_fn) + err = -EOPNOTSUPP; + else + err = r_queue->issue_flush_fn(r_queue, rdev->bdev->bd_disk, error_sector); + + if (!ret) + ret = err; + } + + return ret; +} + +static int md_flush_all(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + mddev_t *mddev = q->queuedata; + + return md_flush_mddev(mddev, error_sector); +} + static int md_fail_request (request_queue_t *q, struct bio *bio) { bio_io_error(bio, bio->bi_size); @@ -373,7 +406,7 @@ static int read_disk_sb(mdk_rdev_t * rdev) return 0; fail: - printk(KERN_ERR "md: disabled device %s, could not read superblock.\n", + printk(KERN_WARNING "md: disabled device %s, could not read superblock.\n", bdevname(rdev->bdev,b)); return -EINVAL; } @@ -439,6 +472,31 @@ static unsigned int calc_sb_csum(mdp_super_t * sb) return csum; } +/* csum_partial is not consistent between different architectures. + * Some (i386) do a 32bit csum. Some (alpha) do 16 bit. + * This makes it hard for user-space to know what to do. + * So we use calc_sb_csum to set the checksum to allow working + * with older kernels, but allow calc_sb_csum_common to + * be used when checking if a checksum is correct, to + * make life easier for user-space tools that might write + * a superblock. + */ +static unsigned int calc_sb_csum_common(mdp_super_t *super) +{ + unsigned int disk_csum = super->sb_csum; + unsigned long long newcsum = 0; + unsigned int csum; + int i; + unsigned int *superc = (int*) super; + super->sb_csum = 0; + + for (i=0; i>32); + super->sb_csum = disk_csum; + return csum; +} + /* * Handle superblock details. * We want to be able to handle multiple superblock formats @@ -521,7 +579,8 @@ static int super_90_load(mdk_rdev_t *rdev, mdk_rdev_t *refdev, int minor_version if (sb->raid_disks <= 0) goto abort; - if (calc_sb_csum(sb) != sb->sb_csum) { + if (calc_sb_csum(sb) != sb->sb_csum && + calc_sb_csum_common(sb) != sb->sb_csum) { printk(KERN_WARNING "md: invalid superblock checksum on %s\n", b); goto abort; @@ -745,11 +804,21 @@ static void super_90_sync(mddev_t *mddev, mdk_rdev_t *rdev) static unsigned int calc_sb_1_csum(struct mdp_superblock_1 * sb) { unsigned int disk_csum, csum; + unsigned long long newcsum; int size = 256 + sb->max_dev*2; + unsigned int *isuper = (unsigned int*)sb; + int i; disk_csum = sb->sb_csum; sb->sb_csum = 0; - csum = csum_partial((void *)sb, size, 0); + newcsum = 0; + for (i=0; size>=4; size -= 4 ) + newcsum += le32_to_cpu(*isuper++); + + if (size == 2) + newcsum += le16_to_cpu(*(unsigned short*) isuper); + + csum = (newcsum & 0xffffffff) + (newcsum >> 32); sb->sb_csum = disk_csum; return csum; } @@ -1042,20 +1111,24 @@ static void unbind_rdev_from_array(mdk_rdev_t * rdev) /* * prevent the device from being mounted, repartitioned or * otherwise reused by a RAID array (or any other kernel - * subsystem), by opening the device. [simply getting an - * inode is not enough, the SCSI module usage code needs - * an explicit open() on the device] + * subsystem), by bd_claiming the device. */ static int lock_rdev(mdk_rdev_t *rdev, dev_t dev) { int err = 0; struct block_device *bdev; + char b[BDEVNAME_SIZE]; bdev = open_by_devnum(dev, FMODE_READ|FMODE_WRITE); - if (IS_ERR(bdev)) + if (IS_ERR(bdev)) { + printk(KERN_ERR "md: could not open %s.\n", + __bdevname(dev, b)); return PTR_ERR(bdev); + } err = bd_claim(bdev, rdev); if (err) { + printk(KERN_ERR "md: could not bd_claim %s.\n", + bdevname(bdev, b)); blkdev_put(bdev); return err; } @@ -1117,10 +1190,7 @@ static void export_array(mddev_t *mddev) static void print_desc(mdp_disk_t *desc) { - char b[BDEVNAME_SIZE]; - - printk(" DISK\n", desc->number, - __bdevname(MKDEV(desc->major, desc->minor), b), + printk(" DISK\n", desc->number, desc->major,desc->minor,desc->raid_disk,desc->state); } @@ -1312,8 +1382,7 @@ static mdk_rdev_t *md_import_device(dev_t newdev, int super_format, int super_mi rdev = (mdk_rdev_t *) kmalloc(sizeof(*rdev), GFP_KERNEL); if (!rdev) { - printk(KERN_ERR "md: could not alloc mem for %s!\n", - __bdevname(newdev, b)); + printk(KERN_ERR "md: could not alloc mem for new device!\n"); return ERR_PTR(-ENOMEM); } memset(rdev, 0, sizeof(*rdev)); @@ -1322,11 +1391,9 @@ static mdk_rdev_t *md_import_device(dev_t newdev, int super_format, int super_mi goto abort_free; err = lock_rdev(rdev, newdev); - if (err) { - printk(KERN_ERR "md: could not lock %s.\n", - __bdevname(newdev, b)); + if (err) goto abort_free; - } + rdev->desc_nr = -1; rdev->faulty = 0; rdev->in_sync = 0; @@ -1615,6 +1682,8 @@ static int do_md_run(mddev_t * mddev) mddev->pers = pers[pnum]; spin_unlock(&pers_lock); + mddev->resync_max_sectors = mddev->size << 1; /* may be over-ridden by personality */ + err = mddev->pers->run(mddev); if (err) { printk(KERN_ERR "md: pers->run() failed ...\n"); @@ -1645,6 +1714,7 @@ static int do_md_run(mddev_t * mddev) */ mddev->queue->queuedata = mddev; mddev->queue->make_request_fn = mddev->pers->make_request; + mddev->queue->issue_flush_fn = md_flush_all; mddev->changed = 1; return 0; @@ -1881,11 +1951,9 @@ static int autostart_array(dev_t startdev) mdk_rdev_t *start_rdev = NULL, *rdev; start_rdev = md_import_device(startdev, 0, 0); - if (IS_ERR(start_rdev)) { - printk(KERN_WARNING "md: could not import %s!\n", - __bdevname(startdev, b)); + if (IS_ERR(start_rdev)) return err; - } + /* NOTE: this can only work for 0.90.0 superblocks */ sb = (mdp_super_t*)page_address(start_rdev->sb_page); @@ -1916,12 +1984,9 @@ static int autostart_array(dev_t startdev) if (MAJOR(dev) != desc->major || MINOR(dev) != desc->minor) continue; rdev = md_import_device(dev, 0, 0); - if (IS_ERR(rdev)) { - printk(KERN_WARNING "md: could not import %s," - " trying to run array nevertheless.\n", - __bdevname(dev, b)); + if (IS_ERR(rdev)) continue; - } + list_add(&rdev->same_set, &pending_raid_disks); } @@ -2153,42 +2218,6 @@ static int add_new_disk(mddev_t * mddev, mdu_disk_info_t *info) return 0; } -static int hot_generate_error(mddev_t * mddev, dev_t dev) -{ - char b[BDEVNAME_SIZE]; - struct request_queue *q; - mdk_rdev_t *rdev; - - if (!mddev->pers) - return -ENODEV; - - printk(KERN_INFO "md: trying to generate %s error in %s ... \n", - __bdevname(dev, b), mdname(mddev)); - - rdev = find_rdev(mddev, dev); - if (!rdev) { - /* MD_BUG(); */ /* like hell - it's not a driver bug */ - return -ENXIO; - } - - if (rdev->desc_nr == -1) { - MD_BUG(); - return -EINVAL; - } - if (!rdev->in_sync) - return -ENODEV; - - q = bdev_get_queue(rdev->bdev); - if (!q) { - MD_BUG(); - return -ENODEV; - } - printk(KERN_INFO "md: okay, generating error!\n"); -// q->oneshot_error = 1; // disabled for now - - return 0; -} - static int hot_remove_disk(mddev_t * mddev, dev_t dev) { char b[BDEVNAME_SIZE]; @@ -2197,9 +2226,6 @@ static int hot_remove_disk(mddev_t * mddev, dev_t dev) if (!mddev->pers) return -ENODEV; - printk(KERN_INFO "md: trying to remove %s from %s ... \n", - __bdevname(dev, b), mdname(mddev)); - rdev = find_rdev(mddev, dev); if (!rdev) return -ENXIO; @@ -2227,9 +2253,6 @@ static int hot_add_disk(mddev_t * mddev, dev_t dev) if (!mddev->pers) return -ENODEV; - printk(KERN_INFO "md: trying to hot-add %s to %s ... \n", - __bdevname(dev, b), mdname(mddev)); - if (mddev->major_version != 0) { printk(KERN_WARNING "%s: HOT_ADD may only be used with" " version-0 superblocks.\n", @@ -2489,7 +2512,6 @@ static int set_disk_faulty(mddev_t *mddev, dev_t dev) static int md_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { - char b[BDEVNAME_SIZE]; int err = 0; void __user *argp = (void __user *)arg; struct hd_geometry __user *loc = argp; @@ -2548,8 +2570,7 @@ static int md_ioctl(struct inode *inode, struct file *file, } err = autostart_array(new_decode_dev(arg)); if (err) { - printk(KERN_WARNING "md: autostart %s failed!\n", - __bdevname(arg, b)); + printk(KERN_WARNING "md: autostart failed!\n"); goto abort; } goto done; @@ -2690,9 +2711,7 @@ static int md_ioctl(struct inode *inode, struct file *file, err = add_new_disk(mddev, &info); goto done_unlock; } - case HOT_GENERATE_ERROR: - err = hot_generate_error(mddev, new_decode_dev(arg)); - goto done_unlock; + case HOT_REMOVE_DISK: err = hot_remove_disk(mddev, new_decode_dev(arg)); goto done_unlock; @@ -2876,7 +2895,7 @@ mdk_thread_t *md_register_thread(void (*run) (mddev_t *), mddev_t *mddev, return thread; } -void md_interrupt_thread(mdk_thread_t *thread) +static void md_interrupt_thread(mdk_thread_t *thread) { if (!thread->tsk) { MD_BUG(); @@ -2919,6 +2938,7 @@ void md_error(mddev_t *mddev, mdk_rdev_t *rdev) if (!mddev->pers->error_handler) return; mddev->pers->error_handler(mddev,rdev); + set_bit(MD_RECOVERY_INTR, &mddev->recovery); set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); md_wakeup_thread(mddev->thread); } @@ -2951,7 +2971,11 @@ static void status_resync(struct seq_file *seq, mddev_t * mddev) unsigned long max_blocks, resync, res, dt, db, rt; resync = (mddev->curr_resync - atomic_read(&mddev->recovery_active))/2; - max_blocks = mddev->size; + + if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) + max_blocks = mddev->resync_max_sectors >> 1; + else + max_blocks = mddev->size; /* * Should not happen. @@ -3187,11 +3211,6 @@ int unregister_md_personality(int pnum) return 0; } -void md_sync_acct(mdk_rdev_t *rdev, unsigned long nr_sectors) -{ - rdev->bdev->bd_contains->bd_disk->sync_io += nr_sectors; -} - static int is_mddev_idle(mddev_t *mddev) { mdk_rdev_t * rdev; @@ -3204,8 +3223,12 @@ static int is_mddev_idle(mddev_t *mddev) struct gendisk *disk = rdev->bdev->bd_contains->bd_disk; curr_events = disk_stat_read(disk, read_sectors) + disk_stat_read(disk, write_sectors) - - disk->sync_io; - if ((curr_events - rdev->last_events) > 32) { + atomic_read(&disk->sync_io); + /* Allow some slack between valud of curr_events and last_events, + * as there are some uninteresting races. + * Note: the following is an unsigned comparison. + */ + if ((curr_events - rdev->last_events + 32) > 64) { rdev->last_events = curr_events; idle = 0; } @@ -3339,7 +3362,14 @@ static void md_do_sync(mddev_t *mddev) } } while (mddev->curr_resync < 2); - max_sectors = mddev->size << 1; + if (test_bit(MD_RECOVERY_SYNC, &mddev->recovery)) + /* resync follows the size requested by the personality, + * which default to physical size, but can be virtual size + */ + max_sectors = mddev->resync_max_sectors; + else + /* recovery follows the physical size of devices */ + max_sectors = mddev->size << 1; printk(KERN_INFO "md: syncing RAID array %s\n", mdname(mddev)); printk(KERN_INFO "md: minimum _guaranteed_ reconstruction speed:" @@ -3697,7 +3727,6 @@ void md_autodetect_dev(dev_t dev) static void autostart_arrays(int part) { - char b[BDEVNAME_SIZE]; mdk_rdev_t *rdev; int i; @@ -3707,11 +3736,9 @@ static void autostart_arrays(int part) dev_t dev = detected_devices[i]; rdev = md_import_device(dev,0, 0); - if (IS_ERR(rdev)) { - printk(KERN_ALERT "md: could not import %s!\n", - __bdevname(dev, b)); + if (IS_ERR(rdev)) continue; - } + if (rdev->faulty) { MD_BUG(); continue; @@ -3762,7 +3789,6 @@ module_exit(md_exit) EXPORT_SYMBOL(register_md_personality); EXPORT_SYMBOL(unregister_md_personality); EXPORT_SYMBOL(md_error); -EXPORT_SYMBOL(md_sync_acct); EXPORT_SYMBOL(md_done_sync); EXPORT_SYMBOL(md_write_start); EXPORT_SYMBOL(md_write_end); @@ -3771,6 +3797,5 @@ EXPORT_SYMBOL(md_register_thread); EXPORT_SYMBOL(md_unregister_thread); EXPORT_SYMBOL(md_wakeup_thread); EXPORT_SYMBOL(md_print_devices); -EXPORT_SYMBOL(md_interrupt_thread); EXPORT_SYMBOL(md_check_recovery); MODULE_LICENSE("GPL"); diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c index a9df710da..1329ec7eb 100644 --- a/drivers/md/multipath.c +++ b/drivers/md/multipath.c @@ -99,12 +99,12 @@ static void multipath_reschedule_retry (struct multipath_bh *mp_bh) * operation and are ready to return a success/failure code to the buffer * cache layer. */ -static void multipath_end_bh_io (struct multipath_bh *mp_bh, int uptodate) +static void multipath_end_bh_io (struct multipath_bh *mp_bh, int err) { struct bio *bio = mp_bh->master_bio; multipath_conf_t *conf = mddev_to_conf(mp_bh->mddev); - bio_endio(bio, bio->bi_size, uptodate ? 0 : -EIO); + bio_endio(bio, bio->bi_size, err); mempool_free(mp_bh, conf->pool); } @@ -119,8 +119,8 @@ int multipath_end_request(struct bio *bio, unsigned int bytes_done, int error) return 1; if (uptodate) - multipath_end_bh_io(mp_bh, uptodate); - else if ((bio->bi_rw & (1 << BIO_RW_AHEAD)) == 0) { + multipath_end_bh_io(mp_bh, 0); + else if (!bio_rw_ahead(bio)) { /* * oops, IO error: */ @@ -131,7 +131,7 @@ int multipath_end_request(struct bio *bio, unsigned int bytes_done, int error) (unsigned long long)bio->bi_sector); multipath_reschedule_retry(mp_bh); } else - multipath_end_bh_io(mp_bh, 0); + multipath_end_bh_io(mp_bh, error); rdev_dec_pending(rdev, conf->mddev); return 0; } @@ -155,7 +155,7 @@ static void unplug_slaves(mddev_t *mddev) r_queue->unplug_fn(r_queue); spin_lock_irqsave(&conf->device_lock, flags); - atomic_dec(&rdev->nr_pending); + rdev_dec_pending(rdev, mddev); } } spin_unlock_irqrestore(&conf->device_lock, flags); @@ -217,6 +217,31 @@ static void multipath_status (struct seq_file *seq, mddev_t *mddev) seq_printf (seq, "]"); } +static int multipath_issue_flush(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + mddev_t *mddev = q->queuedata; + multipath_conf_t *conf = mddev_to_conf(mddev); + int i, ret = 0; + + for (i=0; iraid_disks; i++) { + mdk_rdev_t *rdev = conf->multipaths[i].rdev; + if (rdev && !rdev->faulty) { + struct block_device *bdev = rdev->bdev; + request_queue_t *r_queue = bdev_get_queue(bdev); + + if (!r_queue->issue_flush_fn) { + ret = -EOPNOTSUPP; + break; + } + + ret = r_queue->issue_flush_fn(r_queue, bdev->bd_disk, error_sector); + if (ret) + break; + } + } + return ret; +} /* * Careful, this can execute in IRQ contexts as well! @@ -300,7 +325,7 @@ static int multipath_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) */ if (rdev->bdev->bd_disk->queue->merge_bvec_fn && mddev->queue->max_sectors > (PAGE_SIZE>>9)) - mddev->queue->max_sectors = (PAGE_SIZE>>9); + blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); conf->working_disks++; rdev->raid_disk = path; @@ -377,7 +402,7 @@ static void multipathd (mddev_t *mddev) " error for block %llu\n", bdevname(bio->bi_bdev,b), (unsigned long long)bio->bi_sector); - multipath_end_bh_io(mp_bh, 0); + multipath_end_bh_io(mp_bh, -EIO); } else { printk(KERN_ERR "multipath: %s: redirecting sector %llu" " to another IO path\n", @@ -435,6 +460,8 @@ static int multipath_run (mddev_t *mddev) mddev->queue->unplug_fn = multipath_unplug; + mddev->queue->issue_flush_fn = multipath_issue_flush; + conf->working_disks = 0; ITERATE_RDEV(mddev,rdev,tmp) { disk_idx = rdev->raid_disk; @@ -452,7 +479,7 @@ static int multipath_run (mddev_t *mddev) * a merge_bvec_fn to be involved in multipath */ if (rdev->bdev->bd_disk->queue->merge_bvec_fn && mddev->queue->max_sectors > (PAGE_SIZE>>9)) - mddev->queue->max_sectors = (PAGE_SIZE>>9); + blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); if (!rdev->faulty) conf->working_disks++; diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 04b2aef4a..411b2b400 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -24,10 +24,6 @@ #include -#define MAJOR_NR MD_MAJOR -#define MD_DRIVER -#define MD_PERSONALITY - /* * Number of guaranteed r1bios in case of extreme VM load: */ @@ -44,13 +40,12 @@ static void * r1bio_pool_alloc(int gfp_flags, void *data) { struct pool_info *pi = data; r1bio_t *r1_bio; + int size = offsetof(r1bio_t, bios[pi->raid_disks]); /* allocate a r1bio with room for raid_disks entries in the bios array */ - r1_bio = kmalloc(sizeof(r1bio_t) + sizeof(struct bio*)*pi->raid_disks, - gfp_flags); + r1_bio = kmalloc(size, gfp_flags); if (r1_bio) - memset(r1_bio, 0, sizeof(*r1_bio) + - sizeof(struct bio*) * pi->raid_disks); + memset(r1_bio, 0, size); else unplug_slaves(pi->mddev); @@ -104,7 +99,7 @@ static void * r1buf_pool_alloc(int gfp_flags, void *data) bio->bi_io_vec[i].bv_page = page; } - r1_bio->master_bio = bio; + r1_bio->master_bio = NULL; return r1_bio; @@ -189,32 +184,6 @@ static inline void put_buf(r1bio_t *r1_bio) spin_unlock_irqrestore(&conf->resync_lock, flags); } -static int map(mddev_t *mddev, mdk_rdev_t **rdevp) -{ - conf_t *conf = mddev_to_conf(mddev); - int i, disks = conf->raid_disks; - - /* - * Later we do read balancing on the read side - * now we use the first available disk. - */ - - spin_lock_irq(&conf->device_lock); - for (i = 0; i < disks; i++) { - mdk_rdev_t *rdev = conf->mirrors[i].rdev; - if (rdev && rdev->in_sync) { - *rdevp = rdev; - atomic_inc(&rdev->nr_pending); - spin_unlock_irq(&conf->device_lock); - return i; - } - } - spin_unlock_irq(&conf->device_lock); - - printk(KERN_ERR "raid1_map(): huh, no more operational devices?\n"); - return -1; -} - static void reschedule_retry(r1bio_t *r1_bio) { unsigned long flags; @@ -292,8 +261,9 @@ static int raid1_end_read_request(struct bio *bio, unsigned int bytes_done, int * oops, read error: */ char b[BDEVNAME_SIZE]; - printk(KERN_ERR "raid1: %s: rescheduling sector %llu\n", - bdevname(conf->mirrors[mirror].rdev->bdev,b), (unsigned long long)r1_bio->sector); + if (printk_ratelimit()) + printk(KERN_ERR "raid1: %s: rescheduling sector %llu\n", + bdevname(conf->mirrors[mirror].rdev->bdev,b), (unsigned long long)r1_bio->sector); reschedule_retry(r1_bio); } @@ -363,11 +333,11 @@ static int raid1_end_write_request(struct bio *bio, unsigned int bytes_done, int * * The rdev for the device selected will have nr_pending incremented. */ -static int read_balance(conf_t *conf, struct bio *bio, r1bio_t *r1_bio) +static int read_balance(conf_t *conf, r1bio_t *r1_bio) { const unsigned long this_sector = r1_bio->sector; int new_disk = conf->last_used, disk = new_disk; - const int sectors = bio->bi_size >> 9; + const int sectors = r1_bio->sectors; sector_t new_distance, current_distance; spin_lock_irq(&conf->device_lock); @@ -378,14 +348,14 @@ static int read_balance(conf_t *conf, struct bio *bio, r1bio_t *r1_bio) */ if (conf->mddev->recovery_cp < MaxSector && (this_sector + sectors >= conf->next_resync)) { - /* make sure that disk is operational */ + /* Choose the first operation device, for consistancy */ new_disk = 0; while (!conf->mirrors[new_disk].rdev || !conf->mirrors[new_disk].rdev->in_sync) { new_disk++; if (new_disk == conf->raid_disks) { - new_disk = 0; + new_disk = -1; break; } } @@ -400,7 +370,7 @@ static int read_balance(conf_t *conf, struct bio *bio, r1bio_t *r1_bio) new_disk = conf->raid_disks; new_disk--; if (new_disk == disk) { - new_disk = conf->last_used; + new_disk = -1; goto rb_out; } } @@ -440,13 +410,13 @@ static int read_balance(conf_t *conf, struct bio *bio, r1bio_t *r1_bio) } while (disk != conf->last_used); rb_out: - r1_bio->read_disk = new_disk; - conf->next_seq_sect = this_sector + sectors; - conf->last_used = new_disk; - if (conf->mirrors[new_disk].rdev) + if (new_disk >= 0) { + conf->next_seq_sect = this_sector + sectors; + conf->last_used = new_disk; atomic_inc(&conf->mirrors[new_disk].rdev->nr_pending); + } spin_unlock_irq(&conf->device_lock); return new_disk; @@ -471,7 +441,7 @@ static void unplug_slaves(mddev_t *mddev) r_queue->unplug_fn(r_queue); spin_lock_irqsave(&conf->device_lock, flags); - atomic_dec(&rdev->nr_pending); + rdev_dec_pending(rdev, mddev); } } spin_unlock_irqrestore(&conf->device_lock, flags); @@ -481,6 +451,32 @@ static void raid1_unplug(request_queue_t *q) unplug_slaves(q->queuedata); } +static int raid1_issue_flush(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + mddev_t *mddev = q->queuedata; + conf_t *conf = mddev_to_conf(mddev); + unsigned long flags; + int i, ret = 0; + + spin_lock_irqsave(&conf->device_lock, flags); + for (i=0; iraid_disks; i++) { + mdk_rdev_t *rdev = conf->mirrors[i].rdev; + if (rdev && !rdev->faulty) { + struct block_device *bdev = rdev->bdev; + request_queue_t *r_queue = bdev_get_queue(bdev); + + if (r_queue->issue_flush_fn) { + ret = r_queue->issue_flush_fn(r_queue, bdev->bd_disk, error_sector); + if (ret) + break; + } + } + } + spin_unlock_irqrestore(&conf->device_lock, flags); + return ret; +} + /* * Throttle resync depth, so that we can both get proper overlapping of * requests, but are still able to handle normal requests quickly. @@ -545,15 +541,26 @@ static int make_request(request_queue_t *q, struct bio * bio) r1_bio->mddev = mddev; r1_bio->sector = bio->bi_sector; + r1_bio->state = 0; + if (bio_data_dir(bio) == READ) { /* * read balancing logic: */ - mirror = conf->mirrors + read_balance(conf, bio, r1_bio); + int rdisk = read_balance(conf, r1_bio); + + if (rdisk < 0) { + /* couldn't find anywhere to read from */ + raid_end_bio_io(r1_bio); + return 0; + } + mirror = conf->mirrors + rdisk; + + r1_bio->read_disk = rdisk; read_bio = bio_clone(bio, GFP_NOIO); - r1_bio->bios[r1_bio->read_disk] = read_bio; + r1_bio->bios[rdisk] = read_bio; read_bio->bi_sector = r1_bio->sector + mirror->rdev->data_offset; read_bio->bi_bdev = mirror->rdev->bdev; @@ -746,7 +753,7 @@ static int raid1_add_disk(mddev_t *mddev, mdk_rdev_t *rdev) */ if (rdev->bdev->bd_disk->queue->merge_bvec_fn && mddev->queue->max_sectors > (PAGE_SIZE>>9)) - mddev->queue->max_sectors = (PAGE_SIZE>>9); + blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); p->head_position = 0; rdev->raid_disk = mirror; @@ -877,7 +884,7 @@ static void sync_request_write(mddev_t *mddev, r1bio_t *r1_bio) atomic_inc(&conf->mirrors[i].rdev->nr_pending); atomic_inc(&r1_bio->remaining); - md_sync_acct(conf->mirrors[i].rdev, wbio->bi_size >> 9); + md_sync_acct(conf->mirrors[i].rdev->bdev, wbio->bi_size >> 9); generic_make_request(wbio); } @@ -925,7 +932,7 @@ static void raid1d(mddev_t *mddev) } else { int disk; bio = r1_bio->bios[r1_bio->read_disk]; - if ((disk=map(mddev, &rdev)) == -1) { + if ((disk=read_balance(conf, r1_bio)) == -1) { printk(KERN_ALERT "raid1: %s: unrecoverable I/O" " read error for block %llu\n", bdevname(bio->bi_bdev,b), @@ -934,14 +941,20 @@ static void raid1d(mddev_t *mddev) } else { r1_bio->bios[r1_bio->read_disk] = NULL; r1_bio->read_disk = disk; + bio_put(bio); + bio = bio_clone(r1_bio->master_bio, GFP_NOIO); r1_bio->bios[r1_bio->read_disk] = bio; - printk(KERN_ERR "raid1: %s: redirecting sector %llu to" - " another mirror\n", - bdevname(rdev->bdev,b), - (unsigned long long)r1_bio->sector); - bio->bi_bdev = rdev->bdev; + rdev = conf->mirrors[disk].rdev; + if (printk_ratelimit()) + printk(KERN_ERR "raid1: %s: redirecting sector %llu to" + " another mirror\n", + bdevname(rdev->bdev,b), + (unsigned long long)r1_bio->sector); bio->bi_sector = r1_bio->sector + rdev->data_offset; + bio->bi_bdev = rdev->bdev; + bio->bi_end_io = raid1_end_read_request; bio->bi_rw = READ; + bio->bi_private = r1_bio; unplug = 1; generic_make_request(bio); } @@ -1078,7 +1091,7 @@ static int sync_request(mddev_t *mddev, sector_t sector_nr, int go_faster) int rv = max_sector - sector_nr; md_done_sync(mddev, rv, 1); put_buf(r1_bio); - atomic_dec(&conf->mirrors[disk].rdev->nr_pending); + rdev_dec_pending(conf->mirrors[disk].rdev, mddev); return rv; } @@ -1117,7 +1130,7 @@ static int sync_request(mddev_t *mddev, sector_t sector_nr, int go_faster) bio = r1_bio->bios[disk]; r1_bio->sectors = nr_sectors; - md_sync_acct(mirror->rdev, nr_sectors); + md_sync_acct(mirror->rdev->bdev, nr_sectors); generic_make_request(bio); @@ -1168,6 +1181,7 @@ static int run(mddev_t *mddev) mddev->queue->unplug_fn = raid1_unplug; + mddev->queue->issue_flush_fn = raid1_issue_flush; ITERATE_RDEV(mddev, rdev, tmp) { disk_idx = rdev->raid_disk; @@ -1186,7 +1200,7 @@ static int run(mddev_t *mddev) */ if (rdev->bdev->bd_disk->queue->merge_bvec_fn && mddev->queue->max_sectors > (PAGE_SIZE>>9)) - mddev->queue->max_sectors = (PAGE_SIZE>>9); + blk_queue_max_sectors(mddev->queue, PAGE_SIZE>>9); disk->head_position = 0; if (!rdev->faulty && rdev->in_sync) diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index b28f29005..1307bd96e 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -477,8 +477,8 @@ static void error(mddev_t *mddev, mdk_rdev_t *rdev) if (!rdev->faulty) { mddev->sb_dirty = 1; - conf->working_disks--; if (rdev->in_sync) { + conf->working_disks--; mddev->degraded++; conf->failed_disks++; rdev->in_sync = 0; @@ -1071,7 +1071,8 @@ static void handle_stripe(struct stripe_head *sh) PRINTK("Reading block %d (sync=%d)\n", i, syncing); if (syncing) - md_sync_acct(conf->disks[i].rdev, STRIPE_SECTORS); + md_sync_acct(conf->disks[i].rdev->bdev, + STRIPE_SECTORS); } } } @@ -1256,7 +1257,7 @@ static void handle_stripe(struct stripe_head *sh) if (rdev) { if (test_bit(R5_Syncio, &sh->dev[i].flags)) - md_sync_acct(rdev, STRIPE_SECTORS); + md_sync_acct(rdev->bdev, STRIPE_SECTORS); bi->bi_bdev = rdev->bdev; PRINTK("for %llu schedule op %ld on disc %d\n", @@ -1316,7 +1317,7 @@ static void unplug_slaves(mddev_t *mddev) r_queue->unplug_fn(r_queue); spin_lock_irqsave(&conf->device_lock, flags); - atomic_dec(&rdev->nr_pending); + rdev_dec_pending(rdev, mddev); } } spin_unlock_irqrestore(&conf->device_lock, flags); @@ -1328,6 +1329,8 @@ static void raid5_unplug_device(request_queue_t *q) raid5_conf_t *conf = mddev_to_conf(mddev); unsigned long flags; + if (!conf) return; + spin_lock_irqsave(&conf->device_lock, flags); if (blk_remove_plug(q)) @@ -1339,6 +1342,39 @@ static void raid5_unplug_device(request_queue_t *q) unplug_slaves(mddev); } +static int raid5_issue_flush(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + mddev_t *mddev = q->queuedata; + raid5_conf_t *conf = mddev_to_conf(mddev); + int i, ret = 0; + + for (i=0; iraid_disks; i++) { + mdk_rdev_t *rdev = conf->disks[i].rdev; + if (rdev && !rdev->faulty) { + struct block_device *bdev = rdev->bdev; + request_queue_t *r_queue; + + if (!bdev) + continue; + + r_queue = bdev_get_queue(bdev); + if (!r_queue) + continue; + + if (!r_queue->issue_flush_fn) { + ret = -EOPNOTSUPP; + break; + } + + ret = r_queue->issue_flush_fn(r_queue, bdev->bd_disk, error_sector); + if (ret) + break; + } + } + return ret; +} + static inline void raid5_plug_device(raid5_conf_t *conf) { spin_lock_irq(&conf->device_lock); @@ -1545,6 +1581,7 @@ static int run (mddev_t *mddev) atomic_set(&conf->preread_active_stripes, 0); mddev->queue->unplug_fn = raid5_unplug_device; + mddev->queue->issue_flush_fn = raid5_issue_flush; PRINTK("raid5: run(%s) called.\n", mdname(mddev)); diff --git a/drivers/md/raid6main.c b/drivers/md/raid6main.c index 1ad99be9c..9845af256 100644 --- a/drivers/md/raid6main.c +++ b/drivers/md/raid6main.c @@ -498,8 +498,8 @@ static void error(mddev_t *mddev, mdk_rdev_t *rdev) if (!rdev->faulty) { mddev->sb_dirty = 1; - conf->working_disks--; if (rdev->in_sync) { + conf->working_disks--; mddev->degraded++; conf->failed_disks++; rdev->in_sync = 0; @@ -1208,7 +1208,8 @@ static void handle_stripe(struct stripe_head *sh) PRINTK("Reading block %d (sync=%d)\n", i, syncing); if (syncing) - md_sync_acct(conf->disks[i].rdev, STRIPE_SECTORS); + md_sync_acct(conf->disks[i].rdev->bdev, + STRIPE_SECTORS); } } } @@ -1418,7 +1419,7 @@ static void handle_stripe(struct stripe_head *sh) if (rdev) { if (test_bit(R5_Syncio, &sh->dev[i].flags)) - md_sync_acct(rdev, STRIPE_SECTORS); + md_sync_acct(rdev->bdev, STRIPE_SECTORS); bi->bi_bdev = rdev->bdev; PRINTK("for %llu schedule op %ld on disc %d\n", @@ -1478,7 +1479,7 @@ static void unplug_slaves(mddev_t *mddev) r_queue->unplug_fn(r_queue); spin_lock_irqsave(&conf->device_lock, flags); - atomic_dec(&rdev->nr_pending); + rdev_dec_pending(rdev, mddev); } } spin_unlock_irqrestore(&conf->device_lock, flags); @@ -1501,6 +1502,39 @@ static void raid6_unplug_device(request_queue_t *q) unplug_slaves(mddev); } +static int raid6_issue_flush(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + mddev_t *mddev = q->queuedata; + raid6_conf_t *conf = mddev_to_conf(mddev); + int i, ret = 0; + + for (i=0; iraid_disks; i++) { + mdk_rdev_t *rdev = conf->disks[i].rdev; + if (rdev && !rdev->faulty) { + struct block_device *bdev = rdev->bdev; + request_queue_t *r_queue; + + if (!bdev) + continue; + + r_queue = bdev_get_queue(bdev); + if (!r_queue) + continue; + + if (!r_queue->issue_flush_fn) { + ret = -EOPNOTSUPP; + break; + } + + ret = r_queue->issue_flush_fn(r_queue, bdev->bd_disk, error_sector); + if (ret) + break; + } + } + return ret; +} + static inline void raid6_plug_device(raid6_conf_t *conf) { spin_lock_irq(&conf->device_lock); @@ -1708,6 +1742,7 @@ static int run (mddev_t *mddev) atomic_set(&conf->preread_active_stripes, 0); mddev->queue->unplug_fn = raid6_unplug_device; + mddev->queue->issue_flush_fn = raid6_issue_flush; PRINTK("raid6: run(%s) called.\n", mdname(mddev)); diff --git a/drivers/media/dvb/b2c2/skystar2.c b/drivers/media/dvb/b2c2/skystar2.c index 940f6a862..0a8d61c49 100644 --- a/drivers/media/dvb/b2c2/skystar2.c +++ b/drivers/media/dvb/b2c2/skystar2.c @@ -2345,7 +2345,7 @@ static struct pci_device_id skystar2_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, skystar2_pci_tbl); static struct pci_driver skystar2_pci_driver = { - .name = "Technisat SkyStar2 driver", + .name = "SkyStar2", .id_table = skystar2_pci_tbl, .probe = skystar2_probe, .remove = skystar2_remove, diff --git a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c index a4c3794a1..e3af0c025 100644 --- a/drivers/media/dvb/dvb-core/dvb_ca_en50221.c +++ b/drivers/media/dvb/dvb-core/dvb_ca_en50221.c @@ -1196,7 +1196,7 @@ static ssize_t dvb_ca_en50221_io_write(struct file *file, const char __user *buf int status; char fragbuf[HOST_LINK_BUF_SIZE]; int fragpos = 0; - int fraglen; + size_t fraglen; unsigned long timeout; int written; @@ -1257,7 +1257,7 @@ static int dvb_ca_en50221_io_read_condition(struct dvb_ca_private* ca, int* resu int slot; int slot_count = 0; int idx; - int fraglen; + size_t fraglen; int connection_id = -1; int found = 0; u8 hdr[2]; @@ -1484,21 +1484,20 @@ static unsigned int dvb_ca_en50221_io_poll(struct file *file, poll_table *wait) static struct file_operations dvb_ca_fops = { - owner: THIS_MODULE, - read: dvb_ca_en50221_io_read, - write: dvb_ca_en50221_io_write, - ioctl: dvb_ca_en50221_io_ioctl, - open: dvb_ca_en50221_io_open, - release: dvb_ca_en50221_io_release, - poll: dvb_ca_en50221_io_poll, + .owner = THIS_MODULE, + .read = dvb_ca_en50221_io_read, + .write = dvb_ca_en50221_io_write, + .ioctl = dvb_ca_en50221_io_ioctl, + .open = dvb_ca_en50221_io_open, + .release = dvb_ca_en50221_io_release, + .poll = dvb_ca_en50221_io_poll, }; static struct dvb_device dvbdev_ca = { - priv: NULL, - users: 1, - readers: 1, - writers: 1, - fops: &dvb_ca_fops, + .users = 1, + .readers = 1, + .writers = 1, + .fops = &dvb_ca_fops, }; diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c index dfa5be4e2..ab18a9193 100644 --- a/drivers/media/dvb/dvb-core/dvb_net.c +++ b/drivers/media/dvb/dvb-core/dvb_net.c @@ -142,7 +142,7 @@ static unsigned short dvb_net_eth_type_trans(struct sk_buff *skb, skb->mac.raw=skb->data; skb_pull(skb,dev->hard_header_len); - eth= skb->mac.ethernet; + eth = eth_hdr(skb); if (*eth->h_dest & 1) { if(memcmp(eth->h_dest,dev->broadcast, ETH_ALEN)==0) @@ -563,7 +563,7 @@ static int dvb_net_ts_callback(const u8 *buffer1, size_t buffer1_len, if (buffer2 != 0) printk(KERN_WARNING "buffer2 not 0: %p.\n", buffer2); if (buffer1_len > 32768) - printk(KERN_WARNING "length > 32k: %u.\n", buffer1_len); + printk(KERN_WARNING "length > 32k: %zu.\n", buffer1_len); /* printk("TS callback: %u bytes, %u TS cells @ %p.\n", buffer1_len, buffer1_len / TS_SZ, buffer1); */ dvb_net_ule(dev, buffer1, buffer1_len); diff --git a/drivers/media/dvb/frontends/stv0299.c b/drivers/media/dvb/frontends/stv0299.c index c6a98de01..17c1dd32a 100644 --- a/drivers/media/dvb/frontends/stv0299.c +++ b/drivers/media/dvb/frontends/stv0299.c @@ -319,7 +319,7 @@ static int stv0299_readregs (struct dvb_i2c_bus *i2c, u8 reg1, u8 *b, u8 len) static int pll_write (struct dvb_i2c_bus *i2c, u8 addr, u8 *data, int len) { int ret; - struct i2c_msg msg = { addr: addr, .flags = 0, .buf = data, .len = len }; + struct i2c_msg msg = { .addr = addr, .buf = data, .len = len }; stv0299_writereg(i2c, 0x05, 0xb5); /* enable i2c repeater on stv0299 */ @@ -1257,12 +1257,12 @@ static long probe_tuner (struct dvb_i2c_bus *i2c) u8 stat [] = { 0 }; u8 tda6100_buf [] = { 0, 0 }; int ret; - struct i2c_msg msg1 [] = {{ .addr = 0x68, .flags = 0, .buf = rpt, len: 2 }, + struct i2c_msg msg1 [] = {{ .addr = 0x68, .buf = rpt, .len = 2 }, { .addr = 0x60, .flags = I2C_M_RD, .buf = stat, .len = 1 }}; - struct i2c_msg msg2 [] = {{ .addr = 0x68, .flags = 0, .buf = rpt, len: 2 }, + struct i2c_msg msg2 [] = {{ .addr = 0x68, .buf = rpt, .len = 2 }, { .addr = 0x61, .flags = I2C_M_RD, .buf = stat, .len = 1 }}; - struct i2c_msg msg3 [] = {{ .addr = 0x68, .flags = 0, .buf = rpt, len: 2 }, - { .addr = 0x60, .flags = 0, .buf = tda6100_buf, .len = 2 }}; + struct i2c_msg msg3 [] = {{ .addr = 0x68, .buf = rpt, .len = 2 }, + { .addr = 0x60, .buf = tda6100_buf, .len = 2 }}; stv0299_writereg (i2c, 0x01, 0x15); stv0299_writereg (i2c, 0x02, 0x30); @@ -1271,7 +1271,7 @@ static long probe_tuner (struct dvb_i2c_bus *i2c) printk ("%s: try to attach to %s\n", __FUNCTION__, adapter->name); - if ( strcmp(adapter->name, "Technisat SkyStar2 driver") == 0 ) + if ( strcmp(adapter->name, "SkyStar2") == 0 ) { printk ("%s: setup for tuner Samsung TBMU24112IMB\n", __FILE__); diff --git a/drivers/media/dvb/frontends/tda1004x.c b/drivers/media/dvb/frontends/tda1004x.c index 28dc299a8..deeb8ab70 100644 --- a/drivers/media/dvb/frontends/tda1004x.c +++ b/drivers/media/dvb/frontends/tda1004x.c @@ -188,8 +188,6 @@ static int tda10045h_fwinfo_count = sizeof(tda10045h_fwinfo) / sizeof(struct fwi static struct fwinfo tda10046h_fwinfo[] = { {.file_size = 286720,.fw_offset = 0x3c4f9,.fw_size = 24479} }; static int tda10046h_fwinfo_count = sizeof(tda10046h_fwinfo) / sizeof(struct fwinfo); -static int errno; - static int tda1004x_write_byte(struct dvb_i2c_bus *i2c, struct tda1004x_state *tda_state, int reg, int data) { diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c index 5e3f5eacc..cc48a65e8 100644 --- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c +++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c @@ -1181,7 +1181,7 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec) firmware_size = fw_entry->size; if (firmware_size < 60) { - printk("%s: firmware size too small for DSP code (%u < 60).\n", + printk("%s: firmware size too small for DSP code (%zu < 60).\n", __FUNCTION__, firmware_size); return -1; } diff --git a/drivers/media/radio/miropcm20-rds.c b/drivers/media/radio/miropcm20-rds.c index 6b11044e7..df79d5e0a 100644 --- a/drivers/media/radio/miropcm20-rds.c +++ b/drivers/media/radio/miropcm20-rds.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include "miropcm20-rds-core.h" @@ -60,8 +61,7 @@ static ssize_t rds_f_read(struct file *file, char __user *buffer, size_t length, char c; char bits[8]; - current->state=TASK_UNINTERRUPTIBLE; - schedule_timeout(2*HZ); + msleep(2000); aci_rds_cmd(RDS_STATUS, &c, 1); print_matrix(&c, bits); if (copy_to_user(buffer, bits, 8)) diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-cadet.c index 8cc5191ac..abb03c53d 100644 --- a/drivers/media/radio/radio-cadet.c +++ b/drivers/media/radio/radio-cadet.c @@ -69,8 +69,7 @@ static int cadet_getrds(void) outb(inb(io+1)&0x7f,io+1); /* Reset RDS detection */ spin_unlock(&cadet_io_lock); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); spin_lock(&cadet_io_lock); outb(3,io); /* Select Decoder Control/Status */ @@ -243,8 +242,7 @@ static void cadet_setfreq(unsigned freq) outb(curvol,io+1); spin_unlock(&cadet_io_lock); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); cadet_gettune(); if((tunestat & 0x40) == 0) { /* Tuned */ diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig index db5270b73..d22dd93e5 100644 --- a/drivers/media/video/Kconfig +++ b/drivers/media/video/Kconfig @@ -155,7 +155,7 @@ config VIDEO_STRADIS config VIDEO_ZORAN tristate "Zoran ZR36057/36067 Video For Linux" - depends on VIDEO_DEV && PCI && I2C + depends on VIDEO_DEV && PCI && I2C_ALGOBIT help Say Y for support for MJPEG capture cards based on the Zoran 36057/36067 PCI controller chipset. This includes the Iomega diff --git a/drivers/media/video/bttv-cards.c b/drivers/media/video/bttv-cards.c index 7ea762f35..a5a24309c 100644 --- a/drivers/media/video/bttv-cards.c +++ b/drivers/media/video/bttv-cards.c @@ -31,7 +31,7 @@ #include #include #include -#ifdef CONFIG_FW_LOADER +#if defined(CONFIG_FW_LOADER) || defined(CONFIG_FW_LOADER_MODULE) # include #endif @@ -74,6 +74,9 @@ static void PXC200_muxsel(struct bttv *btv, unsigned int input); static void picolo_tetra_muxsel(struct bttv *btv, unsigned int input); static void picolo_tetra_init(struct bttv *btv); +static void sigmaSLC_muxsel(struct bttv *btv, unsigned int input); +static void sigmaSQ_muxsel(struct bttv *btv, unsigned int input); + static int terratec_active_radio_upgrade(struct bttv *btv); static int tea5757_read(struct bttv *btv); static int tea5757_write(struct bttv *btv, int value); @@ -170,6 +173,7 @@ static struct CARD { { 0x6606107d, BTTV_WINFAST2000, "Leadtek WinFast TV 2000" }, { 0x6607107d, BTTV_WINFASTVC100, "Leadtek WinFast VC 100" }, + { 0x6609107d, BTTV_WINFAST2000, "Leadtek TV 2000 XP" }, { 0x263610b4, BTTV_STB2, "STB TV PCI FM, Gateway P/N 6000704" }, { 0x264510b4, BTTV_STB2, "STB TV PCI FM, Gateway P/N 6000704" }, { 0x402010fc, BTTV_GVBCTV3PCI, "I-O Data Co. GV-BCTV3/PCI" }, @@ -224,6 +228,7 @@ static struct CARD { { 0x1431aa00, BTTV_PV143, "Provideo PV143B" }, { 0x1432aa00, BTTV_PV143, "Provideo PV143C" }, { 0x1433aa00, BTTV_PV143, "Provideo PV143D" }, + { 0x1433aa03, BTTV_PV143, "Security Eyes" }, { 0x1460aa00, BTTV_PV150, "Provideo PV150A-1" }, { 0x1461aa01, BTTV_PV150, "Provideo PV150A-2" }, @@ -265,6 +270,7 @@ static struct CARD { { 0x01020304, BTTV_XGUARD, "Grandtec Grand X-Guard" }, { 0x18501851, BTTV_CHRONOS_VS2, "FlyVideo 98 (LR50)/ Chronos Video Shuttle II" }, + { 0xa0501851, BTTV_CHRONOS_VS2, "FlyVideo 98 (LR50)/ Chronos Video Shuttle II" }, { 0x18511851, BTTV_FLYVIDEO98EZ, "FlyVideo 98EZ (LR51)/ CyberMail AV" }, { 0x18521852, BTTV_TYPHOON_TVIEW, "FlyVideo 98FM (LR50)/ Typhoon TView TV/FM Tuner" }, { 0x41a0a051, BTTV_FLYVIDEO_98FM, "Lifeview FlyVideo 98 LR50 Rev Q" }, @@ -297,7 +303,7 @@ static struct CARD { // DVB cards (using pci function .1 for mpeg data xfer) { 0x01010071, BTTV_NEBULA_DIGITV, "Nebula Electronics DigiTV" }, - { 0x07611461, BTTV_NEBULA_DIGITV, "AverMedia AverTV DVB-T" }, + { 0x07611461, BTTV_AVDVBT_761, "AverMedia AverTV DVB-T" }, { 0x002611bd, BTTV_TWINHAN_DST, "Pinnacle PCTV SAT CI" }, { 0x00011822, BTTV_TWINHAN_DST, "Twinhan VisionPlus DVB-T" }, { 0xfc00270f, BTTV_TWINHAN_DST, "ChainTech digitop DST-1000 DVB-S" }, @@ -2078,6 +2084,69 @@ struct tvcard bttv_tvcards[] = { #if 0 /* untested */ .has_remote = 1, #endif +},{ + /* ---- card 0x7c ---------------------------------- */ + /* Matt Jesson */ + /* Based on the Nebula card data - added remote and new card number - BTTV_AVDVBT_761, see also ir-kbd-gpio.c */ + .name = "AverMedia AverTV DVB-T 761", + .video_inputs = 1, + .tuner = -1, + .svhs = -1, + .muxsel = { 2, 3, 1, 0}, + .no_msp34xx = 1, + .no_tda9875 = 1, + .no_tda7432 = 1, + .pll = PLL_28, + .tuner_type = -1, + .has_dvb = 1, + .no_gpioirq = 1, + .has_remote = 1, +},{ + /* andre.schwarz@matrix-vision.de */ + .name = "MATRIX Vision Sigma-SQ", + .video_inputs = 16, + .audio_inputs = 0, + .tuner = -1, + .svhs = -1, + .gpiomask = 0x0, + .muxsel = { 2, 2, 2, 2, 2, 2, 2, 2, + 3, 3, 3, 3, 3, 3, 3, 3 }, + .muxsel_hook = sigmaSQ_muxsel, + .audiomux = { 0 }, + .no_msp34xx = 1, + .pll = PLL_28, + .tuner_type = -1, +},{ + /* andre.schwarz@matrix-vision.de */ + .name = "MATRIX Vision Sigma-SLC", + .video_inputs = 4, + .audio_inputs = 0, + .tuner = -1, + .svhs = -1, + .gpiomask = 0x0, + .muxsel = { 2, 2, 2, 2 }, + .muxsel_hook = sigmaSLC_muxsel, + .audiomux = { 0 }, + .no_msp34xx = 1, + .pll = PLL_28, + .tuner_type = -1, +},{ + /* BTTV_APAC_VIEWCOMP */ + /* Attila Kondoros */ + /* bt878 TV + FM 0x00000000 subsystem ID */ + .name = "APAC Viewcomp 878(AMAX)", + .video_inputs = 2, + .audio_inputs = 1, + .tuner = 0, + .svhs = -1, + .gpiomask = 0xFF, + .muxsel = { 2, 3, 1, 1}, + .audiomux = { 2, 0, 0, 0, 10}, + .needs_tvaudio = 0, + .pll = PLL_28, + .tuner_type = TUNER_PHILIPS_PAL, + .has_remote = 1, /* miniremote works, see ir-kbd-gpio.c */ + .has_radio = 1, /* not every card has radio */ }}; const unsigned int bttv_num_tvcards = ARRAY_SIZE(bttv_tvcards); @@ -2405,6 +2474,19 @@ static void init_lmlbt4x(struct bttv *btv) gpio_write(0x000000); } +static void sigmaSQ_muxsel(struct bttv *btv, unsigned int input) +{ + unsigned int inmux = input % 8; + gpio_inout( 0xf, 0xf ); + gpio_bits( 0xf, inmux ); +} + +static void sigmaSLC_muxsel(struct bttv *btv, unsigned int input) +{ + unsigned int inmux = input % 4; + gpio_inout( 3<<9, 3<<9 ); + gpio_bits( 3<<9, inmux<<9 ); +} /* ----------------------------------------------------------------------- */ @@ -2859,7 +2941,7 @@ static int __devinit pvr_altera_load(struct bttv *btv, u8 *micro, u32 microlen) return 0; } -#ifndef CONFIG_FW_LOADER +#if !defined(CONFIG_FW_LOADER) && !defined(CONFIG_FW_LOADER_MODULE) /* old 2.4.x way -- via soundcore's mod_firmware_load */ static char *firm_altera = "/usr/lib/video4linux/hcwamc.rbf"; @@ -4063,7 +4145,7 @@ static void PXC200_muxsel(struct bttv *btv, unsigned int input) return; } - rc=bttv_I2CRead(btv,(PX_I2C_PIC<<1),NULL); + rc=bttv_I2CRead(btv,(PX_I2C_PIC<<1),0); if (!(rc & PX_CFG_PXC200F)) { printk(KERN_DEBUG "bttv%d: PXC200_muxsel: not PXC200F rc:%d \n", btv->c.nr,rc); return; diff --git a/drivers/media/video/bttv-driver.c b/drivers/media/video/bttv-driver.c index e7ffe1841..f0d54c5f2 100644 --- a/drivers/media/video/bttv-driver.c +++ b/drivers/media/video/bttv-driver.c @@ -1051,11 +1051,6 @@ static void init_bt848(struct bttv *btv) btwrite(whitecrush_upper, BT848_WC_UP); btwrite(whitecrush_lower, BT848_WC_DOWN); - bt848_bright(btv, btv->bright); - bt848_hue(btv, btv->hue); - bt848_contrast(btv, btv->contrast); - bt848_sat(btv, btv->saturation); - if (btv->opt_lumafilter) { btwrite(0, BT848_E_CONTROL); btwrite(0, BT848_O_CONTROL); @@ -1064,6 +1059,11 @@ static void init_bt848(struct bttv *btv) btwrite(BT848_CONTROL_LDEC, BT848_O_CONTROL); } + bt848_bright(btv, btv->bright); + bt848_hue(btv, btv->hue); + bt848_contrast(btv, btv->contrast); + bt848_sat(btv, btv->saturation); + /* interrupt */ init_irqreg(btv); } @@ -1861,6 +1861,8 @@ static int setup_window(struct bttv_fh *fh, struct bttv *btv, if (NULL == fh->ovfmt) return -EINVAL; + if (!(fh->ovfmt->flags & FORMAT_FLAGS_PACKED)) + return -EINVAL; retval = verify_window(&bttv_tvnorms[btv->tvnorm],win,fixup); if (0 != retval) return retval; @@ -2052,6 +2054,7 @@ static int bttv_try_fmt(struct bttv_fh *fh, struct bttv *btv, f->fmt.pix.width = maxw; if (f->fmt.pix.height > maxh) f->fmt.pix.height = maxh; + f->fmt.pix.width &= ~0x03; f->fmt.pix.bytesperline = (f->fmt.pix.width * fmt->depth) >> 3; f->fmt.pix.sizeimage = diff --git a/drivers/media/video/bttv-i2c.c b/drivers/media/video/bttv-i2c.c index c07a0d9c0..5eb88fcad 100644 --- a/drivers/media/video/bttv-i2c.c +++ b/drivers/media/video/bttv-i2c.c @@ -40,6 +40,7 @@ static void bttv_inc_use(struct i2c_adapter *adap); static void bttv_dec_use(struct i2c_adapter *adap); #endif static int attach_inform(struct i2c_client *client); +static int detach_inform(struct i2c_client *client); static int i2c_debug = 0; static int i2c_hw = 0; @@ -114,6 +115,7 @@ static struct i2c_adapter bttv_i2c_adap_sw_template = { I2C_DEVNAME("bt848"), .id = I2C_HW_B_BT848, .client_register = attach_inform, + .client_unregister = detach_inform, }; /* ----------------------------------------------------------------------- */ @@ -298,6 +300,7 @@ static struct i2c_adapter bttv_i2c_adap_hw_template = { .id = I2C_ALGO_BIT | I2C_HW_B_BT848 /* FIXME */, .algo = &bttv_algo, .client_register = attach_inform, + .client_unregister = detach_inform, }; /* ----------------------------------------------------------------------- */ @@ -324,6 +327,7 @@ static int attach_inform(struct i2c_client *client) if (btv->pinnacle_id != UNSET) bttv_call_i2c_clients(btv,AUDC_CONFIG_PINNACLE, &btv->pinnacle_id); + bttv_i2c_info(&btv->c, client, 1); if (bttv_debug) printk("bttv%d: i2c attach [client=%s]\n", @@ -331,6 +335,14 @@ static int attach_inform(struct i2c_client *client) return 0; } +static int detach_inform(struct i2c_client *client) +{ + struct bttv *btv = i2c_get_adapdata(client->adapter); + + bttv_i2c_info(&btv->c, client, 0); + return 0; +} + void bttv_call_i2c_clients(struct bttv *btv, unsigned int cmd, void *arg) { if (0 != btv->i2c_rc) diff --git a/drivers/media/video/bttv-risc.c b/drivers/media/video/bttv-risc.c index 769c7e365..3731d2c9a 100644 --- a/drivers/media/video/bttv-risc.c +++ b/drivers/media/video/bttv-risc.c @@ -55,6 +55,8 @@ bttv_risc_packed(struct bttv *btv, struct btcx_riscmem *risc, instructions += 2; if ((rc = btcx_riscmem_alloc(btv->c.pci,risc,instructions*8)) < 0) return rc; + dprintk("bttv%d: risc packed: bpl %d lines %d instr %d size %d ptr %p\n", + btv->c.nr, bpl, lines, instructions, risc->size, risc->cpu); /* sync instruction */ rp = risc->cpu; @@ -99,8 +101,10 @@ bttv_risc_packed(struct bttv *btv, struct btcx_riscmem *risc, offset += todo; } offset += padding; + dprintk("bttv%d: risc packed: line %d ptr %p\n", + btv->c.nr, line, rp); } - dprintk("bttv%d: risc planar: %d sglist elems\n", btv->c.nr, (int)(sg-sglist)); + dprintk("bttv%d: risc packed: %d sglist elems\n", btv->c.nr, (int)(sg-sglist)); /* save pointer to jmp instruction address */ risc->jmp = rp; @@ -121,6 +125,7 @@ bttv_risc_planar(struct bttv *btv, struct btcx_riscmem *risc, struct scatterlist *ysg; struct scatterlist *usg; struct scatterlist *vsg; + int topfield = (0 == yoffset); int rc; /* estimate risc mem: worst case is one write per page border + @@ -145,11 +150,26 @@ bttv_risc_planar(struct bttv *btv, struct btcx_riscmem *risc, (line >= (ylines - VCR_HACK_LINES))) continue; switch (vshift) { - case 0: chroma = 1; break; - case 1: chroma = !(line & 1); break; - case 2: chroma = !(line & 3); break; - default: chroma = 0; + case 0: + chroma = 1; + break; + case 1: + if (topfield) + chroma = (line & 1) == 0; + else + chroma = (line & 1) == 1; + break; + case 2: + if (topfield) + chroma = (line & 3) == 0; + else + chroma = (line & 3) == 2; + break; + default: + chroma = 0; + break; } + for (todo = ybpl; todo > 0; todo -= ylen) { /* go to next sg entry if needed */ while (yoffset && yoffset >= sg_dma_len(ysg)) { diff --git a/drivers/media/video/bttv.h b/drivers/media/video/bttv.h index 33d56aa9d..5b8199b79 100644 --- a/drivers/media/video/bttv.h +++ b/drivers/media/video/bttv.h @@ -126,6 +126,10 @@ #define BTTV_LMLBT4 0x76 #define BTTV_PICOLO_TETRA_CHIP 0x79 #define BTTV_AVDVBT_771 0x7b +#define BTTV_AVDVBT_761 0x7c +#define BTTV_MATRIX_VISIONSQ 0x7d +#define BTTV_MATRIX_VISIONSLC 0x7e +#define BTTV_APAC_VIEWCOMP 0x7f /* i2c address list */ #define I2C_TSA5522 0xc2 @@ -298,6 +302,8 @@ struct bttv_sub_driver { struct device_driver drv; char wanted[BUS_ID_SIZE]; void (*gpio_irq)(struct bttv_sub_device *sub); + void (*i2c_info)(struct bttv_sub_device *sub, + struct i2c_client *client, int attach); }; #define to_bttv_sub_drv(x) container_of((x), struct bttv_sub_driver, drv) diff --git a/drivers/media/video/bttvp.h b/drivers/media/video/bttvp.h index fae428ea4..943f8136a 100644 --- a/drivers/media/video/bttvp.h +++ b/drivers/media/video/bttvp.h @@ -225,6 +225,7 @@ extern struct bus_type bttv_sub_bus_type; int bttv_sub_add_device(struct bttv_core *core, char *name); int bttv_sub_del_devices(struct bttv_core *core); void bttv_gpio_irq(struct bttv_core *core); +void bttv_i2c_info(struct bttv_core *core, struct i2c_client *client, int attach); /* ---------------------------------------------------------- */ diff --git a/drivers/media/video/cpia.c b/drivers/media/video/cpia.c index 02c012dbc..84ad0bedc 100644 --- a/drivers/media/video/cpia.c +++ b/drivers/media/video/cpia.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -62,6 +63,15 @@ MODULE_LICENSE("GPL"); MODULE_SUPPORTED_DEVICE("video"); #endif +static unsigned short colorspace_conv = 0; +module_param(colorspace_conv, ushort, 0444); +MODULE_PARM_DESC(colorspace_conv, + "\n Colorspace conversion:" + "\n0 = disable" + "\n1 = enable" + "\nDefault value is 0" + "\n"); + #define ABOUT "V4L-Driver for Vision CPiA based cameras" #ifndef VID_HARDWARE_CPIA @@ -1428,14 +1438,19 @@ static void __exit proc_cpia_destroy(void) /* supported frame palettes and depths */ static inline int valid_mode(u16 palette, u16 depth) { - return (palette == VIDEO_PALETTE_GREY && depth == 8) || - (palette == VIDEO_PALETTE_RGB555 && depth == 16) || - (palette == VIDEO_PALETTE_RGB565 && depth == 16) || - (palette == VIDEO_PALETTE_RGB24 && depth == 24) || - (palette == VIDEO_PALETTE_RGB32 && depth == 32) || - (palette == VIDEO_PALETTE_YUV422 && depth == 16) || - (palette == VIDEO_PALETTE_YUYV && depth == 16) || - (palette == VIDEO_PALETTE_UYVY && depth == 16); + if ((palette == VIDEO_PALETTE_YUV422 && depth == 16) || + (palette == VIDEO_PALETTE_YUYV && depth == 16)) + return 1; + + if (colorspace_conv) + return (palette == VIDEO_PALETTE_GREY && depth == 8) || + (palette == VIDEO_PALETTE_RGB555 && depth == 16) || + (palette == VIDEO_PALETTE_RGB565 && depth == 16) || + (palette == VIDEO_PALETTE_RGB24 && depth == 24) || + (palette == VIDEO_PALETTE_RGB32 && depth == 32) || + (palette == VIDEO_PALETTE_UYVY && depth == 16); + + return 0; } static int match_videosize( int width, int height ) @@ -4040,19 +4055,16 @@ static int __init cpia_init(void) { printk(KERN_INFO "%s v%d.%d.%d\n", ABOUT, CPIA_MAJ_VER, CPIA_MIN_VER, CPIA_PATCH_VER); -#ifdef CONFIG_PROC_FS - proc_cpia_create(); -#endif -#ifdef CONFIG_KMOD -#ifdef CONFIG_VIDEO_CPIA_PP_MODULE - request_module("cpia_pp"); -#endif + printk(KERN_WARNING "Since in-kernel colorspace conversion is not " + "allowed, it is disabled by default now. Users should fix the " + "applications in case they don't work without conversion " + "reenabled by setting the 'colorspace_conv' module " + "parameter to 1"); -#ifdef CONFIG_VIDEO_CPIA_USB_MODULE - request_module("cpia_usb"); +#ifdef CONFIG_PROC_FS + proc_cpia_create(); #endif -#endif /* CONFIG_KMOD */ #ifdef CONFIG_VIDEO_CPIA_PP cpia_pp_init(); @@ -4060,6 +4072,7 @@ static int __init cpia_init(void) #ifdef CONFIG_VIDEO_CPIA_USB cpia_usb_init(); #endif + return 0; } diff --git a/drivers/media/video/dpc7146.c b/drivers/media/video/dpc7146.c index 3944f3f6a..d54244413 100644 --- a/drivers/media/video/dpc7146.c +++ b/drivers/media/video/dpc7146.c @@ -123,6 +123,7 @@ static int dpc_probe(struct saa7146_dev* dev) /* check if all devices are present */ if( 0 == dpc->saa7111a ) { DEB_D(("dpc_v4l2.o: dpc_attach failed for this device.\n")); + i2c_del_adapter(&dpc->i2c_adapter); kfree(dpc); return -ENODEV; } diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c index 6f3fe234e..a586b1bc9 100644 --- a/drivers/media/video/meye.c +++ b/drivers/media/video/meye.c @@ -58,7 +58,7 @@ static int video_nr = -1; static inline void meye_initq(struct meye_queue *queue) { queue->head = queue->tail = 0; queue->len = 0; - queue->s_lock = (spinlock_t)SPIN_LOCK_UNLOCKED; + queue->s_lock = SPIN_LOCK_UNLOCKED; init_waitqueue_head(&queue->proc_list); } diff --git a/drivers/media/video/msp3400.c b/drivers/media/video/msp3400.c index 41adfef5c..b60609616 100644 --- a/drivers/media/video/msp3400.c +++ b/drivers/media/video/msp3400.c @@ -1552,13 +1552,12 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) /* ----------------------------------------------------------------------- */ -static int msp3400_init_module(void) +static int __init msp3400_init_module(void) { - i2c_add_driver(&driver); - return 0; + return i2c_add_driver(&driver); } -static void msp3400_cleanup_module(void) +static void __exit msp3400_cleanup_module(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/saa7134/saa6752hs.c b/drivers/media/video/saa7134/saa6752hs.c index 3343e4133..092fd358c 100644 --- a/drivers/media/video/saa7134/saa6752hs.c +++ b/drivers/media/video/saa7134/saa6752hs.c @@ -387,13 +387,12 @@ static struct i2c_client client_template = .driver = &driver, }; -static int saa6752hs_init_module(void) +static int __init saa6752hs_init_module(void) { - i2c_add_driver(&driver); - return 0; + return i2c_add_driver(&driver); } -static void saa6752hs_cleanup_module(void) +static void __exit saa6752hs_cleanup_module(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c index 5bb99d716..74b8f0b95 100644 --- a/drivers/media/video/saa7134/saa7134-cards.c +++ b/drivers/media/video/saa7134/saa7134-cards.c @@ -154,6 +154,26 @@ struct saa7134_board saa7134_boards[] = { .gpio = 0x8000, }, }, + [SAA7134_BOARD_FLYTVPLATINUM] = { + /* "Arnaud Quette" */ + .name = "LifeView FlyTV Platinum", + .audio_clock = 0x00200000, + .tuner_type = TUNER_PHILIPS_SECAM, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = LINE2, + .tv = 1, + },{ + .name = name_comp1, + .vmux = 0, + .amux = LINE2, + },{ + .name = name_svideo, + .vmux = 8, + .amux = LINE2, + }}, + }, [SAA7134_BOARD_EMPRESS] = { /* "Gert Vervoort" */ .name = "EMPRESS", @@ -177,7 +197,6 @@ struct saa7134_board saa7134_boards[] = { .name = name_radio, .amux = LINE2, }, - .i2s_rate = 48000, .has_ts = 1, .video_out = CCIR656, }, @@ -243,7 +262,7 @@ struct saa7134_board saa7134_boards[] = { .name = "KNC One TV-Station RDS / Typhoon TV Tuner RDS", .audio_clock = 0x00200000, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -278,7 +297,7 @@ struct saa7134_board saa7134_boards[] = { .name = "KNC One TV-Station DVR", .audio_clock = 0x00200000, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .gpiomask = 0x820000, .inputs = {{ .name = name_tv, @@ -302,7 +321,6 @@ struct saa7134_board saa7134_boards[] = { .amux = LINE2, .gpio = 0x20000, }, - .i2s_rate = 48000, .has_ts = 1, .video_out = CCIR656, }, @@ -333,7 +351,7 @@ struct saa7134_board saa7134_boards[] = { .name = "Medion 5044", .audio_clock = 0x00187de7, // was: 0x00200000, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -414,7 +432,7 @@ struct saa7134_board saa7134_boards[] = { //.audio_clock = 0x00200000, .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -440,7 +458,7 @@ struct saa7134_board saa7134_boards[] = { .name = "Typhoon TV+Radio 90031", .audio_clock = 0x00200000, .tuner_type = TUNER_PHILIPS_PAL, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -503,7 +521,7 @@ struct saa7134_board saa7134_boards[] = { .name = "ASUS TV-FM 7134", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -607,7 +625,6 @@ struct saa7134_board saa7134_boards[] = { .vmux = 8, .amux = LINE1, }}, - .i2s_rate = 48000, .has_ts = 1, .video_out = CCIR656, }, @@ -666,7 +683,7 @@ struct saa7134_board saa7134_boards[] = { .name = "AverMedia M156 / Medion 2819", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -709,7 +726,6 @@ struct saa7134_board saa7134_boards[] = { .amux = LINE2, .tv = 1, }}, - .i2s_rate = 48000, .has_ts = 1, .video_out = CCIR656, }, @@ -719,7 +735,7 @@ struct saa7134_board saa7134_boards[] = { // probably wrong, the 7133 one is the NTSC version ... // .tuner_type = TUNER_PHILIPS_FM1236_MK3 .tuner_type = TUNER_LG_NTSC_NEW_TAPC, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -743,7 +759,7 @@ struct saa7134_board saa7134_boards[] = { .name = "Pinnacle PCTV Stereo (saa7134)", .audio_clock = 0x00187de7, .tuner_type = TUNER_MT2032, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 3, @@ -957,7 +973,7 @@ struct saa7134_board saa7134_boards[] = { .name = "AverMedia 305", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1216ME_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 1, @@ -989,7 +1005,7 @@ struct saa7134_board saa7134_boards[] = { .name = "UPMOST PURPLE TV", .audio_clock = 0x00187de7, .tuner_type = TUNER_PHILIPS_FM1236_MK3, - .need_tda9887 = 1, + .tda9887_conf = TDA9887_PRESENT, .inputs = {{ .name = name_tv, .vmux = 7, @@ -1000,7 +1016,7 @@ struct saa7134_board saa7134_boards[] = { .vmux = 7, .amux = LINE1, }}, - }, + }, [SAA7134_BOARD_ITEMS_MTV005] = { /* Norman Jonas */ .name = "Items MuchTV Plus / IT-005", @@ -1025,6 +1041,56 @@ struct saa7134_board saa7134_boards[] = { .amux = LINE2, }, }, + [SAA7134_BOARD_CINERGY200] = { + .name = "Terratec Cinergy 200 TV", + .audio_clock = 0x00200000, + .tuner_type = TUNER_PHILIPS_PAL, + .inputs = {{ + .name = name_tv, + .vmux = 1, + .amux = LINE2, + .gpio = 0x0000, + .tv = 1, + }}, + .mute = { + .name = name_mute, + .amux = LINE2, + }, + }, + [SAA7134_BOARD_VIDEOMATE_TV_PVR] = { + /* Alain St-Denis */ + .name = "Compro VideoMate TV PVR/FM", + .audio_clock = 0x00187de7, + .tuner_type = TUNER_PHILIPS_NTSC_M, + .gpiomask = 0x808c0080, + .inputs = {{ + .name = name_svideo, + .vmux = 8, + .amux = LINE1, + .gpio = 0x00080 + },{ + .name = name_comp1, + .vmux = 3, + .amux = LINE1, + .gpio = 0x00080 + },{ + .name = name_tv, + .vmux = 1, + .amux = LINE2, + .tv = 1, + .gpio = 0x00080 + }}, + .radio = { + .name = name_radio, + .amux = LINE2, + .gpio = 0x80000 + }, + .mute = { + .name = name_mute, + .amux = LINE2, + .gpio = 0x40000, + }, + }, }; const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards); @@ -1086,6 +1152,12 @@ struct pci_device_id saa7134_pci_tbl[] = { .subvendor = 0x5168, .subdevice = 0x0138, .driver_data = SAA7134_BOARD_FLYVIDEO2000, + },{ + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7135, + .subvendor = 0x5168, + .subdevice = 0x0212, + .driver_data = SAA7134_BOARD_FLYTVPLATINUM, },{ .vendor = PCI_VENDOR_ID_PHILIPS, .device = PCI_DEVICE_ID_PHILIPS_SAA7134, @@ -1219,6 +1291,19 @@ struct pci_device_id saa7134_pci_tbl[] = { .subvendor = 0x12ab, .subdevice = 0x0800, .driver_data = SAA7133_BOARD_UPMOST_PURPLE_TV, + },{ + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7130, + .subvendor = 0x153B, + .subdevice = 0x1152, + .driver_data = SAA7134_BOARD_CINERGY200, + + },{ + .vendor = PCI_VENDOR_ID_PHILIPS, + .device = PCI_DEVICE_ID_PHILIPS_SAA7130, + .subvendor = 0x185b, + .subdevice = 0xc100, + .driver_data = SAA7134_BOARD_VIDEOMATE_TV_PVR, },{ /* --- boards without eeprom + subsystem ID --- */ @@ -1297,6 +1382,7 @@ static struct { static void board_flyvideo(struct saa7134_dev *dev) { #if 0 + /* non-working attempt to detect the correct tuner type ... */ u32 value; int index; @@ -1307,6 +1393,10 @@ static void board_flyvideo(struct saa7134_dev *dev) fly_list[index].tuner_type); dev->tuner_type = fly_list[index].tuner_type; #endif + printk("%s: there are different flyvideo cards with different tuners\n" + "%s: out there, you might have to use the tuner= insmod\n" + "%s: option to override the default value.\n", + dev->name, dev->name, dev->name); } /* ----------------------------------------------------------- */ @@ -1321,8 +1411,10 @@ int saa7134_board_init(struct saa7134_dev *dev) switch (dev->board) { case SAA7134_BOARD_FLYVIDEO2000: case SAA7134_BOARD_FLYVIDEO3000: - board_flyvideo(dev); dev->has_remote = 1; + /* fall throuth */ + case SAA7134_BOARD_FLYTVPLATINUM: + board_flyvideo(dev); break; case SAA7134_BOARD_CINERGY400: case SAA7134_BOARD_CINERGY600: @@ -1333,6 +1425,12 @@ int saa7134_board_init(struct saa7134_dev *dev) case SAA7134_BOARD_AVACSSMARTTV: dev->has_remote = 1; break; + case SAA7134_BOARD_MD5044: + printk("%s: seems there are two different versions of the MD5044\n" + "%s: (with the same ID) out there. If sound doesn't work for\n" + "%s: you try the audio_clock_override=0x200000 insmod option.\n", + dev->name,dev->name,dev->name); + break; } return 0; } diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c index cf87dda32..d5cfa5d5e 100644 --- a/drivers/media/video/saa7134/saa7134-core.c +++ b/drivers/media/video/saa7134/saa7134-core.c @@ -868,7 +868,8 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, must_configure_manually(); dev->board = SAA7134_BOARD_UNKNOWN; } - dev->tuner_type = saa7134_boards[dev->board].tuner_type; + dev->tuner_type = saa7134_boards[dev->board].tuner_type; + dev->tda9887_conf = saa7134_boards[dev->board].tda9887_conf; if (UNSET != tuner[saa7134_devcount]) dev->tuner_type = tuner[saa7134_devcount]; printk(KERN_INFO "%s: subsystem: %04x:%04x, board: %s [card=%d,%s]\n", @@ -919,7 +920,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, /* load i2c helpers */ if (TUNER_ABSENT != dev->tuner_type) request_module("tuner"); - if (saa7134_boards[dev->board].need_tda9887) + if (dev->tda9887_conf) request_module("tda9887"); if (card_has_ts(dev)) request_module("saa6752hs"); @@ -949,7 +950,7 @@ static int __devinit saa7134_initdev(struct pci_dev *pci_dev, dev->name); goto fail4; } - printk(KERN_INFO "%s: registered device video%d [ts]\n", + printk(KERN_INFO "%s: registered device video%d [mpeg]\n", dev->name,dev->ts_dev->minor & 0x1f); } diff --git a/drivers/media/video/saa7134/saa7134-i2c.c b/drivers/media/video/saa7134/saa7134-i2c.c index 61305cf18..7dc44eaa4 100644 --- a/drivers/media/video/saa7134/saa7134-i2c.c +++ b/drivers/media/video/saa7134/saa7134-i2c.c @@ -327,8 +327,10 @@ static int attach_inform(struct i2c_client *client) { struct saa7134_dev *dev = client->adapter->algo_data; int tuner = dev->tuner_type; + int conf = dev->tda9887_conf; saa7134_i2c_call_clients(dev,TUNER_SET_TYPE,&tuner); + saa7134_i2c_call_clients(dev,TDA9887_SET_CONFIG,&conf); return 0; } diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c index 63b32ab17..1066f4eb1 100644 --- a/drivers/media/video/saa7134/saa7134-oss.c +++ b/drivers/media/video/saa7134/saa7134-oss.c @@ -776,8 +776,6 @@ int saa7134_oss_init1(struct saa7134_dev *dev) dev->oss.rate = 32000; if (oss_rate) dev->oss.rate = oss_rate; - if (saa7134_boards[dev->board].i2s_rate) - dev->oss.rate = saa7134_boards[dev->board].i2s_rate; dev->oss.rate = (dev->oss.rate > 40000) ? 48000 : 32000; /* mixer */ diff --git a/drivers/media/video/saa7134/saa7134-tvaudio.c b/drivers/media/video/saa7134/saa7134-tvaudio.c index 261d92040..bce58a247 100644 --- a/drivers/media/video/saa7134/saa7134-tvaudio.c +++ b/drivers/media/video/saa7134/saa7134-tvaudio.c @@ -504,7 +504,8 @@ static int tvaudio_thread(void *data) dprintk("tvaudio thread scan start [%d]\n",dev->thread.scan1); dev->tvaudio = NULL; tvaudio_init(dev); - dev->automute = 1; + if (dev->ctl_automute) + dev->automute = 1; mute_input_7134(dev); /* give the tuner some time */ @@ -924,8 +925,9 @@ int saa7134_tvaudio_init2(struct saa7134_dev *dev) int (*my_thread)(void *data) = NULL; /* enable I2S audio output */ - if (saa7134_boards[dev->board].i2s_rate) { - int i2sform = (32000 == saa7134_boards[dev->board].i2s_rate) ? 0x00 : 0x01; + if (saa7134_boards[dev->board].has_ts) { + int i2sform = (48000 == dev->oss.rate) + ? 0x01 : 0x00; /* enable I2S output */ saa_writeb(SAA7134_I2S_OUTPUT_SELECT, 0x80); diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c index ec4c286df..0cd39439d 100644 --- a/drivers/media/video/saa7134/saa7134-video.c +++ b/drivers/media/video/saa7134/saa7134-video.c @@ -272,7 +272,8 @@ static struct saa7134_tvnorm tvnorms[] = { #define V4L2_CID_PRIVATE_INVERT (V4L2_CID_PRIVATE_BASE + 0) #define V4L2_CID_PRIVATE_Y_ODD (V4L2_CID_PRIVATE_BASE + 1) #define V4L2_CID_PRIVATE_Y_EVEN (V4L2_CID_PRIVATE_BASE + 2) -#define V4L2_CID_PRIVATE_LASTP1 (V4L2_CID_PRIVATE_BASE + 3) +#define V4L2_CID_PRIVATE_AUTOMUTE (V4L2_CID_PRIVATE_BASE + 3) +#define V4L2_CID_PRIVATE_LASTP1 (V4L2_CID_PRIVATE_BASE + 4) static const struct v4l2_queryctrl no_ctrl = { .name = "42", @@ -356,6 +357,13 @@ static const struct v4l2_queryctrl video_ctrls[] = { .maximum = 128, .default_value = 0, .type = V4L2_CTRL_TYPE_INTEGER, + },{ + .id = V4L2_CID_PRIVATE_AUTOMUTE, + .name = "automute", + .minimum = 0, + .maximum = 1, + .default_value = 1, + .type = V4L2_CTRL_TYPE_BOOLEAN, } }; static const unsigned int CTRLS = ARRAY_SIZE(video_ctrls); @@ -433,10 +441,11 @@ void res_free(struct saa7134_dev *dev, struct saa7134_fh *fh, unsigned int bits) static void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm) { - int luma_control,sync_control,mux; + int luma_control,sync_control,mux,nosignal; dprintk("set tv norm = %s\n",norm->name); dev->tvnorm = norm; + nosignal = (0 == (saa_readb(SAA7134_STATUS_VIDEO1) & 0x03)); mux = card_in(dev,dev->ctl_input).vmux; luma_control = norm->luma_control; @@ -444,7 +453,7 @@ static void set_tvnorm(struct saa7134_dev *dev, struct saa7134_tvnorm *norm) if (mux > 5) luma_control |= 0x80; /* svideo */ - if (noninterlaced) + if (noninterlaced || nosignal) sync_control |= 0x20; /* setup cropping */ @@ -1043,6 +1052,9 @@ static int get_control(struct saa7134_dev *dev, struct v4l2_control *c) case V4L2_CID_PRIVATE_Y_ODD: c->value = dev->ctl_y_odd; break; + case V4L2_CID_PRIVATE_AUTOMUTE: + c->value = dev->ctl_automute; + break; default: return -EINVAL; } @@ -1118,6 +1130,17 @@ static int set_control(struct saa7134_dev *dev, struct saa7134_fh *fh, dev->ctl_y_odd = c->value; restart_overlay = 1; break; + case V4L2_CID_PRIVATE_AUTOMUTE: + dev->ctl_automute = c->value; + if (dev->tda9887_conf) { + if (dev->ctl_automute) + dev->tda9887_conf |= TDA9887_AUTOMUTE; + else + dev->tda9887_conf &= ~TDA9887_AUTOMUTE; + saa7134_i2c_call_clients(dev, TDA9887_SET_CONFIG, + &dev->tda9887_conf); + } + break; default: return -EINVAL; } @@ -1820,7 +1843,7 @@ static int video_do_ioctl(struct inode *inode, struct file *file, struct v4l2_frequency *f = arg; memset(f,0,sizeof(*f)); - f->type = V4L2_TUNER_ANALOG_TV; + f->type = fh->radio ? V4L2_TUNER_RADIO : V4L2_TUNER_ANALOG_TV; f->frequency = dev->ctl_freq; return 0; } @@ -1830,7 +1853,9 @@ static int video_do_ioctl(struct inode *inode, struct file *file, if (0 != f->tuner) return -EINVAL; - if (V4L2_TUNER_ANALOG_TV != f->type) + if (0 == fh->radio && V4L2_TUNER_ANALOG_TV != f->type) + return -EINVAL; + if (1 == fh->radio && V4L2_TUNER_RADIO != f->type) return -EINVAL; down(&dev->lock); dev->ctl_freq = f->frequency; @@ -2244,9 +2269,12 @@ int saa7134_video_init1(struct saa7134_dev *dev) dev->ctl_hue = ctrl_by_id(V4L2_CID_HUE)->default_value; dev->ctl_saturation = ctrl_by_id(V4L2_CID_SATURATION)->default_value; dev->ctl_volume = ctrl_by_id(V4L2_CID_AUDIO_VOLUME)->default_value; + dev->ctl_mute = ctrl_by_id(V4L2_CID_AUDIO_MUTE)->default_value; + dev->ctl_invert = ctrl_by_id(V4L2_CID_PRIVATE_INVERT)->default_value; + dev->ctl_automute = ctrl_by_id(V4L2_CID_PRIVATE_AUTOMUTE)->default_value; - dev->ctl_invert = 0; - dev->ctl_mute = 1; + if (dev->tda9887_conf && dev->ctl_automute) + dev->tda9887_conf |= TDA9887_AUTOMUTE; dev->automute = 0; INIT_LIST_HEAD(&dev->video_q.queue); @@ -2300,10 +2328,14 @@ void saa7134_irq_video_intl(struct saa7134_dev *dev) if (0 != norm) { /* wake up tvaudio audio carrier scan thread */ saa7134_tvaudio_do_scan(dev); + if (!noninterlaced) + saa_clearb(SAA7134_SYNC_CTRL, 0x20); } else { /* no video signal -> mute audio */ - dev->automute = 1; + if (dev->ctl_automute) + dev->automute = 1; saa7134_tvaudio_setmute(dev); + saa_setb(SAA7134_SYNC_CTRL, 0x20); } } diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h index f4d346949..b6d738274 100644 --- a/drivers/media/video/saa7134/saa7134.h +++ b/drivers/media/video/saa7134/saa7134.h @@ -156,6 +156,9 @@ struct saa7134_format { #define SAA7134_BOARD_AVERMEDIA_305 35 #define SAA7133_BOARD_UPMOST_PURPLE_TV 36 #define SAA7134_BOARD_ITEMS_MTV005 37 +#define SAA7134_BOARD_CINERGY200 38 +#define SAA7134_BOARD_FLYTVPLATINUM 39 +#define SAA7134_BOARD_VIDEOMATE_TV_PVR 40 #define SAA7134_INPUT_MAX 8 @@ -178,13 +181,12 @@ struct saa7134_board { struct saa7134_input mute; /* peripheral I/O */ - unsigned int i2s_rate; unsigned int has_ts; enum saa7134_video_out video_out; /* i2c chip info */ unsigned int tuner_type; - unsigned int need_tda9887:1; + unsigned int tda9887_conf; }; #define card_has_radio(dev) (NULL != saa7134_boards[dev->board].radio.name) @@ -362,6 +364,7 @@ struct saa7134_dev { /* config info */ unsigned int board; unsigned int tuner_type; + unsigned int tda9887_conf; unsigned int gpio_value; /* i2c i/o */ @@ -397,6 +400,7 @@ struct saa7134_dev { int ctl_mirror; int ctl_y_odd; int ctl_y_even; + int ctl_automute; /* crop */ struct v4l2_rect crop_bounds; diff --git a/drivers/media/video/tda7432.c b/drivers/media/video/tda7432.c index 4365d9485..20051a00c 100644 --- a/drivers/media/video/tda7432.c +++ b/drivers/media/video/tda7432.c @@ -532,17 +532,17 @@ static struct i2c_client client_template = .driver = &driver, }; -static int tda7432_init(void) +static int __init tda7432_init(void) { if ( (loudness < 0) || (loudness > 15) ) { printk(KERN_ERR "tda7432: loudness parameter must be between 0 and 15\n"); return -EINVAL; } - i2c_add_driver(&driver); - return 0; + + return i2c_add_driver(&driver); } -static void tda7432_fini(void) +static void __exit tda7432_fini(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/tda9875.c b/drivers/media/video/tda9875.c index ae5fd316f..41327c3f7 100644 --- a/drivers/media/video/tda9875.c +++ b/drivers/media/video/tda9875.c @@ -403,13 +403,12 @@ static struct i2c_client client_template = .driver = &driver, }; -static int tda9875_init(void) +static int __init tda9875_init(void) { - i2c_add_driver(&driver); - return 0; + return i2c_add_driver(&driver); } -static void tda9875_fini(void) +static void __exit tda9875_fini(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/tda9887.c b/drivers/media/video/tda9887.c index 9768829bd..e46fbdbc4 100644 --- a/drivers/media/video/tda9887.c +++ b/drivers/media/video/tda9887.c @@ -8,6 +8,7 @@ #include #include +#include #include /* Chips: @@ -47,6 +48,7 @@ struct tda9887 { struct i2c_client client; v4l2_std_id std; unsigned int radio; + unsigned int config; unsigned int pinnacle_id; unsigned int using_v4l2; }; @@ -397,6 +399,36 @@ static int tda9887_set_insmod(struct tda9887 *t, char *buf) return 0; } +static int tda9887_set_config(struct tda9887 *t, char *buf) +{ + if (t->config & TDA9887_PORT1) + buf[1] |= cOutputPort1Inactive; + if (t->config & TDA9887_PORT2) + buf[1] |= cOutputPort2Inactive; + if (t->config & TDA9887_QSS) + buf[1] |= cQSS; + if (t->config & TDA9887_INTERCARRIER) + buf[1] &= ~cQSS; + + if (t->config & TDA9887_AUTOMUTE) + buf[1] |= cAutoMuteFmActive; + if (t->config & TDA9887_DEEMPHASIS_MASK) { + buf[2] &= ~0x60; + switch (t->config & TDA9887_DEEMPHASIS_MASK) { + case TDA9887_DEEMPHASIS_NONE: + buf[2] |= cDeemphasisOFF; + break; + case TDA9887_DEEMPHASIS_50: + buf[2] |= cDeemphasisON | cDeemphasis50; + break; + case TDA9887_DEEMPHASIS_75: + buf[2] |= cDeemphasisON | cDeemphasis75; + break; + } + } + return 0; +} + /* ---------------------------------------------------------------------- */ static int tda9887_set_pinnacle(struct tda9887 *t, char *buf) @@ -499,6 +531,7 @@ static int tda9887_configure(struct tda9887 *t) if (UNSET != t->pinnacle_id) { tda9887_set_pinnacle(t,buf); } + tda9887_set_config(t,buf); tda9887_set_insmod(t,buf); dprintk(PREFIX "writing: b=0x%02x c=0x%02x e=0x%02x\n", @@ -594,6 +627,14 @@ tda9887_command(struct i2c_client *client, unsigned int cmd, void *arg) tda9887_configure(t); break; } + case TDA9887_SET_CONFIG: + { + int *i = arg; + + t->config = *i; + tda9887_configure(t); + break; + } /* --- v4l ioctls --- */ /* take care: bttv does userspace copying, we'll get a kernel pointer here... */ @@ -644,6 +685,25 @@ tda9887_command(struct i2c_client *client, unsigned int cmd, void *arg) t->radio = 1; } tda9887_configure(t); + break; + } + case VIDIOC_G_TUNER: + { + static int AFC_BITS_2_kHz[] = { + -12500, -37500, -62500, -97500, + -112500, -137500, -162500, -187500, + 187500, 162500, 137500, 112500, + 97500 , 62500, 37500 , 12500 + }; + struct v4l2_tuner* tuner = arg; + + if (t->radio) { + __u8 reg = 0; + tuner->afc=0; + if (1 == i2c_master_recv(&t->client,®,1)) + tuner->afc = AFC_BITS_2_kHz[(reg>>1)&0x0f]; + } + break; } default: /* nothing */ @@ -670,13 +730,12 @@ static struct i2c_client client_template = .driver = &driver, }; -static int tda9887_init_module(void) +static int __init tda9887_init_module(void) { - i2c_add_driver(&driver); - return 0; + return i2c_add_driver(&driver); } -static void tda9887_cleanup_module(void) +static void __exit tda9887_cleanup_module(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/tuner.c b/drivers/media/video/tuner.c index 18e1118df..bac17a3dc 100644 --- a/drivers/media/video/tuner.c +++ b/drivers/media/video/tuner.c @@ -208,7 +208,7 @@ static struct tunertype tuners[] = { { "Temic PAL* auto + FM (4009 FN5)", TEMIC, PAL, 16*141.00, 16*464.00, 0xa0,0x90,0x30,0x8e,623}, { "SHARP NTSC_JP (2U5JF5540)", SHARP, NTSC, /* 940=16*58.75 NTSC@Japan */ - 16*137.25,16*317.25,0x01,0x02,0x08,0x8e,732 }, // Corrected to NTSC=732 (was:940) + 16*137.25,16*317.25,0x01,0x02,0x08,0x8e,940 }, { "Samsung PAL TCPM9091PD27", Samsung, PAL, /* from sourceforge v3tv */ 16*169,16*464,0xA0,0x90,0x30,0x8e,623}, @@ -229,7 +229,7 @@ static struct tunertype tuners[] = { 16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,732}, { "HITACHI V7-J180AT", HITACHI, NTSC, - 16*170.00, 16*450.00, 0x01,0x02,0x00,0x8e,940 }, + 16*170.00, 16*450.00, 0x01,0x02,0x08,0x8e,940 }, { "Philips PAL_MK (FI1216 MK)", Philips, PAL, 16*140.25,16*463.25,0x01,0xc2,0xcf,0x8e,623}, { "Philips 1236D ATSC/NTSC daul in",Philips,ATSC, @@ -241,6 +241,13 @@ static struct tunertype tuners[] = { 16*160.00,16*442.00,0x01,0x02,0x04,0x8e,732}, { "Microtune 4049 FM5",Microtune,PAL, 16*141.00,16*464.00,0xa0,0x90,0x30,0x8e,623}, + { "Panasonic VP27s/ENGE4324D", Panasonic, NTSC, + 16*160.00,16*454.00,0x01,0x02,0x08,0xce,940}, + { "LG NTSC (TAPE series)", LGINNOTEK, NTSC, + 16*170.00, 16*450.00, 0x01,0x02,0x04,0x8e,732 }, + + { "Tenna TNF 8831 BGFF)", Philips, PAL, + 16*161.25,16*463.25,0xa0,0x90,0x30,0x8e,623}, }; #define TUNERS ARRAY_SIZE(tuners) @@ -934,6 +941,9 @@ static void default_set_radio_freq(struct i2c_client *c, unsigned int freq) case TUNER_PHILIPS_FM1236_MK3: buffer[3] = 0x19; break; + case TUNER_LG_PAL_FM: + buffer[3] = 0xa5; + break; default: buffer[3] = 0xa4; break; @@ -1300,13 +1310,12 @@ static struct i2c_client client_template = .driver = &driver, }; -static int tuner_init_module(void) +static int __init tuner_init_module(void) { - i2c_add_driver(&driver); - return 0; + return i2c_add_driver(&driver); } -static void tuner_cleanup_module(void) +static void __exit tuner_cleanup_module(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/tvaudio.c b/drivers/media/video/tvaudio.c index bf5017a77..b435bcef9 100644 --- a/drivers/media/video/tvaudio.c +++ b/drivers/media/video/tvaudio.c @@ -1651,7 +1651,7 @@ static struct i2c_client client_template = .driver = &driver, }; -static int audiochip_init_module(void) +static int __init audiochip_init_module(void) { struct CHIPDESC *desc; printk(KERN_INFO "tvaudio: TV audio decoder + audio/video mux driver\n"); @@ -1659,11 +1659,11 @@ static int audiochip_init_module(void) for (desc = chiplist; desc->name != NULL; desc++) printk("%s%s", (desc == chiplist) ? "" : ",",desc->name); printk("\n"); - i2c_add_driver(&driver); - return 0; + + return i2c_add_driver(&driver); } -static void audiochip_cleanup_module(void) +static void __exit audiochip_cleanup_module(void) { i2c_del_driver(&driver); } diff --git a/drivers/media/video/tvmixer.c b/drivers/media/video/tvmixer.c index 48b2f822e..20cb7647f 100644 --- a/drivers/media/video/tvmixer.c +++ b/drivers/media/video/tvmixer.c @@ -330,17 +330,17 @@ static int tvmixer_clients(struct i2c_client *client) /* ----------------------------------------------------------------------- */ -static int tvmixer_init_module(void) +static int __init tvmixer_init_module(void) { int i; for (i = 0; i < DEV_MAX; i++) devices[i].minor = -1; - i2c_add_driver(&driver); - return 0; + + return i2c_add_driver(&driver); } -static void tvmixer_cleanup_module(void) +static void __exit tvmixer_cleanup_module(void) { int i; diff --git a/drivers/media/video/videodev.c b/drivers/media/video/videodev.c index fbc5cb1e2..9d4c74f25 100644 --- a/drivers/media/video/videodev.c +++ b/drivers/media/video/videodev.c @@ -254,7 +254,7 @@ int video_exclusive_release(struct inode *inode, struct file *file) return 0; } -extern struct file_operations video_fops; +static struct file_operations video_fops; /** * video_register_device - register video4linux devices diff --git a/drivers/media/video/zoran_driver.c b/drivers/media/video/zoran_driver.c index 28f1a8d05..d6294bd79 100644 --- a/drivers/media/video/zoran_driver.c +++ b/drivers/media/video/zoran_driver.c @@ -2265,8 +2265,8 @@ zoran_do_ioctl (struct inode *inode, dprintk(3, KERN_DEBUG - "%s: VIDIOCSFBUF - base=0x%x, w=%d, h=%d, depth=%d, bpl=%d\n", - ZR_DEVNAME(zr), (u32) vbuf->base, vbuf->width, + "%s: VIDIOCSFBUF - base=%p, w=%d, h=%d, depth=%d, bpl=%d\n", + ZR_DEVNAME(zr), vbuf->base, vbuf->width, vbuf->height, vbuf->depth, vbuf->bytesperline); for (i = 0; i < zoran_num_formats; i++) diff --git a/drivers/media/video/zr36120.c b/drivers/media/video/zr36120.c index 9b55341ba..628282393 100644 --- a/drivers/media/video/zr36120.c +++ b/drivers/media/video/zr36120.c @@ -1474,7 +1474,7 @@ int zoran_mmap(struct vm_area_struct *vma, struct video_device* dev, const char* /* start mapping the whole shabang to user memory */ pos = (unsigned long)ztv->fbuffer; - while (size>0) { + while (size > 0) { unsigned long page = virt_to_phys((void*)pos); if (remap_page_range(vma, start, page, PAGE_SIZE, PAGE_SHARED)) return -EAGAIN; diff --git a/drivers/message/fusion/Kconfig b/drivers/message/fusion/Kconfig index aa1c657dd..070abf63d 100644 --- a/drivers/message/fusion/Kconfig +++ b/drivers/message/fusion/Kconfig @@ -27,39 +27,6 @@ config FUSION_MAX_SGE necessary (or recommended) unless the user will be running large I/O's via the raw interface. -config FUSION_ISENSE - tristate "Enhanced SCSI error reporting" - depends on MODULES && FUSION && m - ---help--- - The isense module (roughly stands for Interpret SENSE data) is - completely optional. It simply provides extra English readable - strings in SCSI Error Report(s) that might be generated from the - Fusion MPT SCSI Host driver, for example when a target device - returns a SCSI check condition on a I/O. Without this module - loaded you might see: - - SCSI Error Report =-=-= (ioc0,scsi5:0) - SCSI_Status=02h (CHECK_CONDITION) - Original_CDB[]: 2A 00 00 00 00 41 00 00 02 00 - SenseData[12h]: 70 00 02 00 00 00 00 0A 00 00 00 00 04 02 02 00 00 00 - SenseKey=2h (NOT READY); FRU=02h - ASC/ASCQ=29h/00h - - Where otherwise, if this module had been loaded, you would see: - - SCSI Error Report =-=-= (ioc0,scsi5:0) - SCSI_Status=02h (CHECK_CONDITION) - Original_CDB[]: 2A 00 00 00 00 41 00 00 02 00 - "WRITE(10)" - SenseData[12h]: 70 00 02 00 00 00 00 0A 00 00 00 00 04 02 02 00 00 00 - SenseKey=2h (NOT READY); FRU=02h - ASC/ASCQ=29h/00h "LOGICAL UNIT NOT READY, INITIALIZING CMD. REQUIRED" - - Say M for "Enhanced SCSI error reporting" to compile this optional module, - creating a driver named: isense. - - NOTE: Support for building this feature into the kernel is not - available, due to kernel size considerations. - config FUSION_CTL tristate "Fusion MPT misc device (ioctl) driver" depends on MODULES && FUSION && m diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 75c07f89e..3ff8d4f9e 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c @@ -119,6 +119,7 @@ MODULE_AUTHOR(MODULEAUTHOR); MODULE_DESCRIPTION(my_NAME); MODULE_LICENSE("GPL"); +MODULE_VERSION(MPT_LINUX_VERSION_COMMON); /* * cmd line parameters @@ -139,11 +140,6 @@ struct proc_dir_entry *mpt_proc_root_dir; DmpServices_t *DmpService; -void *mpt_v_ASCQ_TablePtr; -const char **mpt_ScsiOpcodesPtr; -int mpt_ASCQ_TableSz; - - #define WHOINIT_UNKNOWN 0xAA /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -165,7 +161,6 @@ static struct mpt_pci_driver *MptDeviceDriverHandlers[MPT_MAX_PROTOCOL_DRIVERS] static int FusionInitCalled = 0; static int mpt_base_index = -1; static int last_drv_idx = -1; -static int isense_idx = -1; static DECLARE_WAIT_QUEUE_HEAD(mpt_waitq); @@ -177,8 +172,8 @@ static irqreturn_t mpt_interrupt(int irq, void *bus_id, struct pt_regs *r); static int mpt_base_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, MPT_FRAME_HDR *reply); static int mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag); -static void mpt_detect_bound_ports(MPT_ADAPTER *this, struct pci_dev *pdev); -static void mpt_adapter_disable(MPT_ADAPTER *ioc, int freeup); +static void mpt_detect_bound_ports(MPT_ADAPTER *ioc, struct pci_dev *pdev); +static void mpt_adapter_disable(MPT_ADAPTER *ioc); static void mpt_adapter_dispose(MPT_ADAPTER *ioc); static void MptDisplayIocCapabilities(MPT_ADAPTER *ioc); @@ -291,7 +286,7 @@ mpt_interrupt(int irq, void *bus_id, struct pt_regs *r) int type; int freeme; - ioc = bus_id; + ioc = (MPT_ADAPTER *)bus_id; /* * Drain the reply FIFO! @@ -333,8 +328,8 @@ mpt_interrupt(int irq, void *bus_id, struct pt_regs *r) cb_idx = mr->u.frame.hwhdr.msgctxu.fld.cb_idx; mf = MPT_INDEX_2_MFPTR(ioc, req_idx); - dprintk((MYIOC_s_INFO_FMT "Got non-TURBO reply=%p\n", - ioc->name, mr)); + dmfprintk((MYIOC_s_INFO_FMT "Got non-TURBO reply=%p req_idx=%x\n", + ioc->name, mr, req_idx)); DBG_DUMP_REPLY_FRAME(mr) /* NEW! 20010301 -sralston @@ -358,7 +353,7 @@ mpt_interrupt(int irq, void *bus_id, struct pt_regs *r) /* * Process turbo (context) reply... */ - dirqprintk((MYIOC_s_INFO_FMT "Got TURBO reply(=%08x)\n", ioc->name, pa)); + dmfprintk((MYIOC_s_INFO_FMT "Got TURBO reply req_idx=%08x\n", ioc->name, pa)); type = (pa >> MPI_CONTEXT_REPLY_TYPE_SHIFT); if (type == MPI_CONTEXT_REPLY_TYPE_SCSI_TARGET) { cb_idx = mpt_stm_index; @@ -506,7 +501,7 @@ mpt_base_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *reply) results = ProcessEventNotification(ioc, pEvReply, &evHandlers); if (results != evHandlers) { /* CHECKME! Any special handling needed here? */ - dprintk((MYIOC_s_WARN_FMT "Called %d event handlers, sum results = %d\n", + devtprintk((MYIOC_s_WARN_FMT "Called %d event handlers, sum results = %d\n", ioc->name, evHandlers, results)); } @@ -659,8 +654,6 @@ mpt_deregister(int cb_idx) MptEvHandlers[cb_idx] = NULL; last_drv_idx++; - if (isense_idx != -1 && isense_idx <= cb_idx) - isense_idx++; } } @@ -803,56 +796,60 @@ mpt_device_driver_deregister(int cb_idx) * mpt_get_msg_frame - Obtain a MPT request frame from the pool (of 1024) * allocated per MPT adapter. * @handle: Handle of registered MPT protocol driver - * @iocid: IOC unique identifier (integer) + * @ioc: Pointer to MPT adapter structure * * Returns pointer to a MPT request frame or %NULL if none are available * or IOC is not active. */ MPT_FRAME_HDR* -mpt_get_msg_frame(int handle, MPT_ADAPTER *iocp) +mpt_get_msg_frame(int handle, MPT_ADAPTER *ioc) { MPT_FRAME_HDR *mf; unsigned long flags; + u16 req_idx; /* Request index */ + + /* validate handle and ioc identifier */ #ifdef MFCNT - if (!iocp->active) + if (!ioc->active) printk(KERN_WARNING "IOC Not Active! mpt_get_msg_frame returning NULL!\n"); #endif /* If interrupts are not attached, do not return a request frame */ - if (!iocp->active) + if (!ioc->active) return NULL; - spin_lock_irqsave(&iocp->FreeQlock, flags); - if (! Q_IS_EMPTY(&iocp->FreeQ)) { + spin_lock_irqsave(&ioc->FreeQlock, flags); + if (! Q_IS_EMPTY(&ioc->FreeQ)) { int req_offset; - mf = iocp->FreeQ.head; + mf = ioc->FreeQ.head; Q_DEL_ITEM(&mf->u.frame.linkage); mf->u.frame.hwhdr.msgctxu.fld.cb_idx = handle; /* byte */ - req_offset = (u8 *)mf - (u8 *)iocp->req_frames; + req_offset = (u8 *)mf - (u8 *)ioc->req_frames; /* u16! */ - mf->u.frame.hwhdr.msgctxu.fld.req_idx = - cpu_to_le16(req_offset / iocp->req_sz); + req_idx = cpu_to_le16(req_offset / ioc->req_sz); + mf->u.frame.hwhdr.msgctxu.fld.req_idx = req_idx; mf->u.frame.hwhdr.msgctxu.fld.rsvd = 0; + ioc->RequestNB[req_idx] = ioc->NB_for_64_byte_frame; /* Default, will be changed if necessary in SG generation */ #ifdef MFCNT - iocp->mfcnt++; + ioc->mfcnt++; #endif } else mf = NULL; - spin_unlock_irqrestore(&iocp->FreeQlock, flags); + spin_unlock_irqrestore(&ioc->FreeQlock, flags); #ifdef MFCNT if (mf == NULL) - printk(KERN_WARNING "IOC Active. No free Msg Frames! Count 0x%x Max 0x%x\n", iocp->mfcnt, iocp->req_depth); + printk(KERN_WARNING "IOC Active. No free Msg Frames! Count 0x%x Max 0x%x\n", ioc->mfcnt, ioc->req_depth); mfcounter++; if (mfcounter == PRINT_MF_COUNT) - printk(KERN_INFO "MF Count 0x%x Max 0x%x \n", iocp->mfcnt, iocp->req_depth); + printk(KERN_INFO "MF Count 0x%x Max 0x%x \n", ioc->mfcnt, ioc->req_depth); #endif dmfprintk((KERN_INFO MYNAM ": %s: mpt_get_msg_frame(%d,%d), got mf=%p\n", - iocp->name, handle, iocid, mf)); + ioc->name, handle, ioc->id, mf)); return mf; } @@ -861,23 +858,25 @@ mpt_get_msg_frame(int handle, MPT_ADAPTER *iocp) * mpt_put_msg_frame - Send a protocol specific MPT request frame * to a IOC. * @handle: Handle of registered MPT protocol driver - * @iocid: IOC unique identifier (integer) + * @ioc: Pointer to MPT adapter structure * @mf: Pointer to MPT request frame * * This routine posts a MPT request frame to the request post FIFO of a * specific MPT adapter. */ void -mpt_put_msg_frame(int handle, MPT_ADAPTER *iocp, MPT_FRAME_HDR *mf) +mpt_put_msg_frame(int handle, MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf) { u32 mf_dma_addr; int req_offset; + u16 req_idx; /* Request index */ /* ensure values are reset properly! */ mf->u.frame.hwhdr.msgctxu.fld.cb_idx = handle; /* byte */ - req_offset = (u8 *)mf - (u8 *)iocp->req_frames; - /* u16! */ - mf->u.frame.hwhdr.msgctxu.fld.req_idx = cpu_to_le16(req_offset / iocp->req_sz); + req_offset = (u8 *)mf - (u8 *)ioc->req_frames; + /* u16! */ + req_idx = cpu_to_le16(req_offset / ioc->req_sz); + mf->u.frame.hwhdr.msgctxu.fld.req_idx = req_idx; mf->u.frame.hwhdr.msgctxu.fld.rsvd = 0; #ifdef MPT_DEBUG_MSG_FRAME @@ -886,8 +885,8 @@ mpt_put_msg_frame(int handle, MPT_ADAPTER *iocp, MPT_FRAME_HDR *mf) int ii, n; printk(KERN_INFO MYNAM ": %s: About to Put msg frame @ %p:\n" KERN_INFO " ", - iocp->name, m); - n = iocp->req_sz/4 - 1; + ioc->name, m); + n = ioc->req_sz/4 - 1; while (m[n] == 0) n--; for (ii=0; ii<=n; ii++) { @@ -899,32 +898,33 @@ mpt_put_msg_frame(int handle, MPT_ADAPTER *iocp, MPT_FRAME_HDR *mf) } #endif - mf_dma_addr = iocp->req_frames_low_dma + req_offset; - CHIPREG_WRITE32(&iocp->chip->RequestFifo, mf_dma_addr); + mf_dma_addr = (ioc->req_frames_low_dma + req_offset) | ioc->RequestNB[req_idx]; + dsgprintk((MYIOC_s_INFO_FMT "mf_dma_addr=%x req_idx=%d RequestNB=%x\n", ioc->name, mf_dma_addr, req_idx, ioc->RequestNB[req_idx])); + CHIPREG_WRITE32(&ioc->chip->RequestFifo, mf_dma_addr); } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /** * mpt_free_msg_frame - Place MPT request frame back on FreeQ. * @handle: Handle of registered MPT protocol driver - * @iocid: IOC unique identifier (integer) + * @ioc: Pointer to MPT adapter structure * @mf: Pointer to MPT request frame * * This routine places a MPT request frame back on the MPT adapter's * FreeQ. */ void -mpt_free_msg_frame(int handle, MPT_ADAPTER *iocp, MPT_FRAME_HDR *mf) +mpt_free_msg_frame(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf) { unsigned long flags; /* Put Request back on FreeQ! */ - spin_lock_irqsave(&iocp->FreeQlock, flags); - Q_ADD_TAIL(&iocp->FreeQ, &mf->u.frame.linkage, MPT_FRAME_HDR); + spin_lock_irqsave(&ioc->FreeQlock, flags); + Q_ADD_TAIL(&ioc->FreeQ, &mf->u.frame.linkage, MPT_FRAME_HDR); #ifdef MFCNT - iocp->mfcnt--; + ioc->mfcnt--; #endif - spin_unlock_irqrestore(&iocp->FreeQlock, flags); + spin_unlock_irqrestore(&ioc->FreeQlock, flags); } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -996,7 +996,7 @@ mpt_add_chain(char *pAddr, u8 next, u16 length, dma_addr_t dma_addr) * mpt_send_handshake_request - Send MPT request via doorbell * handshake method. * @handle: Handle of registered MPT protocol driver - * @iocid: IOC unique identifier (integer) + * @ioc: Pointer to MPT adapter structure * @reqBytes: Size of the request in bytes * @req: Pointer to MPT request frame * @sleepFlag: Use schedule if CAN_SLEEP else use udelay. @@ -1010,7 +1010,7 @@ mpt_add_chain(char *pAddr, u8 next, u16 length, dma_addr_t dma_addr) * Returns 0 for success, non-zero for failure. */ int -mpt_send_handshake_request(int handle, MPT_ADAPTER *iocp, int reqBytes, u32 *req, int sleepFlag) +mpt_send_handshake_request(int handle, MPT_ADAPTER *ioc, int reqBytes, u32 *req, int sleepFlag) { int r = 0; u8 *req_as_bytes; @@ -1026,37 +1026,38 @@ mpt_send_handshake_request(int handle, MPT_ADAPTER *iocp, int reqBytes, u32 *req * setting cb_idx/req_idx. But ONLY if this request * is in proper (pre-alloc'd) request buffer range... */ - ii = MFPTR_2_MPT_INDEX(iocp,(MPT_FRAME_HDR*)req); - if (reqBytes >= 12 && ii >= 0 && ii < iocp->req_depth) { + ii = MFPTR_2_MPT_INDEX(ioc,(MPT_FRAME_HDR*)req); + if (reqBytes >= 12 && ii >= 0 && ii < ioc->req_depth) { MPT_FRAME_HDR *mf = (MPT_FRAME_HDR*)req; mf->u.frame.hwhdr.msgctxu.fld.req_idx = cpu_to_le16(ii); mf->u.frame.hwhdr.msgctxu.fld.cb_idx = handle; } /* Make sure there are no doorbells */ - CHIPREG_WRITE32(&iocp->chip->IntStatus, 0); - CHIPREG_WRITE32(&iocp->chip->Doorbell, + CHIPREG_WRITE32(&ioc->chip->IntStatus, 0); + + CHIPREG_WRITE32(&ioc->chip->Doorbell, ((MPI_FUNCTION_HANDSHAKE<chip->Doorbell) & MPI_DOORBELL_ACTIVE)) + if (!(CHIPREG_READ32(&ioc->chip->Doorbell) & MPI_DOORBELL_ACTIVE)) return -5; dhsprintk((KERN_INFO MYNAM ": %s: mpt_send_handshake_request start, WaitCnt=%d\n", - iocp->name, ii)); + ioc->name, ii)); - CHIPREG_WRITE32(&iocp->chip->IntStatus, 0); + CHIPREG_WRITE32(&ioc->chip->IntStatus, 0); - r = WaitForDoorbellAck(iocp, 5, sleepFlag); - if (r < 0) + if ((r = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0) { return -2; - + } + /* Send request via doorbell handshake */ req_as_bytes = (u8 *) req; for (ii = 0; ii < reqBytes/4; ii++) { @@ -1066,21 +1067,21 @@ mpt_send_handshake_request(int handle, MPT_ADAPTER *iocp, int reqBytes, u32 *req (req_as_bytes[(ii*4) + 1] << 8) | (req_as_bytes[(ii*4) + 2] << 16) | (req_as_bytes[(ii*4) + 3] << 24)); - CHIPREG_WRITE32(&iocp->chip->Doorbell, word); - r = WaitForDoorbellAck(iocp, 5, sleepFlag); - if (r < 0) { + CHIPREG_WRITE32(&ioc->chip->Doorbell, word); + if ((r = WaitForDoorbellAck(ioc, 5, sleepFlag)) < 0) { r = -3; break; } } - if (r >= 0 && WaitForDoorbellInt(iocp, 10, sleepFlag) >= 0) + if (r >= 0 && WaitForDoorbellInt(ioc, 10, sleepFlag) >= 0) r = 0; else r = -4; /* Make sure there are no doorbells */ - CHIPREG_WRITE32(&iocp->chip->IntStatus, 0); + CHIPREG_WRITE32(&ioc->chip->IntStatus, 0); + return r; } @@ -1141,11 +1142,15 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) u8 revision; u8 pcixcmd; static int mpt_ids = 0; +#ifdef CONFIG_PROC_FS struct proc_dir_entry *dent, *ent; +#endif if (pci_enable_device(pdev)) return r; + dinitprintk((KERN_WARNING MYNAM ": mpt_adapter_install\n")); + if (!pci_set_dma_mask(pdev, mask)) { dprintk((KERN_INFO MYNAM ": 64 BIT PCI BUS DMA ADDRESSING SUPPORTED\n")); @@ -1170,9 +1175,8 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) ioc->alloc_total = sizeof(MPT_ADAPTER); ioc->req_sz = MPT_DEFAULT_FRAME_SIZE; /* avoid div by zero! */ ioc->reply_sz = MPT_REPLY_FRAME_SIZE; - + ioc->pcidev = pdev; - ioc->diagPending = 0; spin_lock_init(&ioc->diagLock); @@ -1223,8 +1227,8 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) return -EINVAL; } - dprintk((KERN_INFO MYNAM ": MPT adapter @ %lx, msize=%dd bytes\n", mem_phys, msize)); - dprintk((KERN_INFO MYNAM ": (port i/o @ %lx, psize=%dd bytes)\n", port, psize)); + dinitprintk((KERN_INFO MYNAM ": MPT adapter @ %lx, msize=%dd bytes\n", mem_phys, msize)); + dinitprintk((KERN_INFO MYNAM ": (port i/o @ %lx, psize=%dd bytes)\n", port, psize)); mem = NULL; /* Get logical ptr for PciMem0 space */ @@ -1236,15 +1240,15 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) return -EINVAL; } ioc->memmap = mem; - dprintk((KERN_INFO MYNAM ": mem = %p, mem_phys = %lx\n", mem, mem_phys)); + dinitprintk((KERN_INFO MYNAM ": mem = %p, mem_phys = %lx\n", mem, mem_phys)); - dprintk((KERN_INFO MYNAM ": facts @ %p, pfacts[0] @ %p\n", + dinitprintk((KERN_INFO MYNAM ": facts @ %p, pfacts[0] @ %p\n", &ioc->facts, &ioc->pfacts[0])); ioc->mem_phys = mem_phys; ioc->chip = (SYSIF_REGS*)mem; - /* Save Port IO values incase we need to do downloadboot */ + /* Save Port IO values in case we need to do downloadboot */ { u8 *pmem = (u8*)port; ioc->pio_mem_phys = port; @@ -1314,7 +1318,6 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) sprintf(ioc->name, "ioc%d", ioc->id); - Q_INIT(&ioc->FreeQ, MPT_FRAME_HDR); spin_lock_init(&ioc->FreeQlock); /* Disable all! */ @@ -1337,7 +1340,6 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) printk(MYIOC_s_ERR_FMT "Unable to allocate interrupt %s!\n", ioc->name, __irq_itoa(pdev->irq)); #endif - Q_DEL_ITEM(ioc); list_del(&ioc->list); iounmap(mem); kfree(ioc); @@ -1369,7 +1371,6 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) ": WARNING - %s did not initialize properly! (%d)\n", ioc->name, r); - Q_DEL_ITEM(ioc); list_del(&ioc->list); free_irq(ioc->pci_irq, ioc); iounmap(mem); @@ -1386,6 +1387,7 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) } } +#ifdef CONFIG_PROC_FS /* * Create "/proc/mpt/iocN" subdirectory entry for each MPT adapter. */ @@ -1402,6 +1404,7 @@ mptbase_probe(struct pci_dev *pdev, const struct pci_device_id *id) ent->data = ioc; } } +#endif return 0; } @@ -1625,7 +1628,7 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag) int hard_reset_done = 0; int alt_ioc_ready = 0; int hard; - int r; + int rc=0; int ii; int handlers; int ret = 0; @@ -1675,39 +1678,37 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag) * and 1 if a hard reset was performed. */ if (hard_reset_done && reset_alt_ioc_active && ioc->alt_ioc) { - if ((r = MakeIocReady(ioc->alt_ioc, 0, sleepFlag)) == 0) + if ((rc = MakeIocReady(ioc->alt_ioc, 0, sleepFlag)) == 0) alt_ioc_ready = 1; else printk(KERN_WARNING MYNAM - ": alt-%s: (%d) Not ready WARNING!\n", - ioc->alt_ioc->name, r); + ": alt-%s: Not ready WARNING!\n", + ioc->alt_ioc->name); } for (ii=0; ii<5; ii++) { - /* Get IOC facts! Allow 1 retry */ - if ((r = GetIocFacts(ioc, sleepFlag, reason)) != 0) { - dinitprintk((MYIOC_s_INFO_FMT - "ii=%d IocFacts failed r=%x\n", ioc->name, ii, r)); - } else + /* Get IOC facts! Allow 5 retries */ + if ((rc = GetIocFacts(ioc, sleepFlag, reason)) == 0) break; } + - if (r) { - dinitprintk((MYIOC_s_INFO_FMT "Retry IocFacts failed r=%x\n", ioc->name, r)); + if (ii == 5) { + dinitprintk((MYIOC_s_INFO_FMT "Retry IocFacts failed rc=%x\n", ioc->name, rc)); ret = -2; } else if (reason == MPT_HOSTEVENT_IOC_BRINGUP) { MptDisplayIocCapabilities(ioc); } - + if (alt_ioc_ready) { - if ((r = GetIocFacts(ioc->alt_ioc, sleepFlag, reason)) != 0) { - dinitprintk((MYIOC_s_INFO_FMT "Initial Alt IocFacts failed r=%x\n", ioc->name, r)); + if ((rc = GetIocFacts(ioc->alt_ioc, sleepFlag, reason)) != 0) { + dinitprintk((MYIOC_s_INFO_FMT "Initial Alt IocFacts failed rc=%x\n", ioc->name, rc)); /* Retry - alt IOC was initialized once */ - r = GetIocFacts(ioc->alt_ioc, sleepFlag, reason); + rc = GetIocFacts(ioc->alt_ioc, sleepFlag, reason); } - if (r) { - dinitprintk((MYIOC_s_INFO_FMT "Retry Alt IocFacts failed r=%x\n", ioc->name, r)); + if (rc) { + dinitprintk((MYIOC_s_INFO_FMT "Retry Alt IocFacts failed rc=%x\n", ioc->name, rc)); alt_ioc_ready = 0; reset_alt_ioc_active = 0; } else if (reason == MPT_HOSTEVENT_IOC_BRINGUP) { @@ -1720,29 +1721,29 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag) * init as upper addresses are needed for init. * If fails, continue with alt-ioc processing */ - if ((ret == 0) && ((r = PrimeIocFifos(ioc)) != 0)) + if ((ret == 0) && ((rc = PrimeIocFifos(ioc)) != 0)) ret = -3; /* May need to check/upload firmware & data here! * If fails, continue with alt-ioc processing */ - if ((ret == 0) && ((r = SendIocInit(ioc, sleepFlag)) != 0)) + if ((ret == 0) && ((rc = SendIocInit(ioc, sleepFlag)) != 0)) ret = -4; // NEW! - if (alt_ioc_ready && ((r = PrimeIocFifos(ioc->alt_ioc)) != 0)) { + if (alt_ioc_ready && ((rc = PrimeIocFifos(ioc->alt_ioc)) != 0)) { printk(KERN_WARNING MYNAM ": alt-%s: (%d) FIFO mgmt alloc WARNING!\n", - ioc->alt_ioc->name, r); + ioc->alt_ioc->name, rc); alt_ioc_ready = 0; reset_alt_ioc_active = 0; } if (alt_ioc_ready) { - if ((r = SendIocInit(ioc->alt_ioc, sleepFlag)) != 0) { + if ((rc = SendIocInit(ioc->alt_ioc, sleepFlag)) != 0) { alt_ioc_ready = 0; reset_alt_ioc_active = 0; printk(KERN_WARNING MYNAM ": alt-%s: (%d) init failure WARNING!\n", - ioc->alt_ioc->name, r); + ioc->alt_ioc->name, rc); } } @@ -1754,18 +1755,8 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag) /* Controller is not operational, cannot do upload */ if (ret == 0) { - r = mpt_do_upload(ioc, sleepFlag); - if (r != 0) - printk(KERN_WARNING MYNAM ": firmware upload failure!\n"); - } - - /* Handle the alt IOC too */ - if ((alt_ioc_ready) && (ioc->alt_ioc->upload_fw)){ - ddlprintk((MYIOC_s_INFO_FMT - "Alt-ioc firmware upload required!\n", - ioc->name)); - r = mpt_do_upload(ioc->alt_ioc, sleepFlag); - if (r != 0) + rc = mpt_do_upload(ioc, sleepFlag); + if (rc != 0) printk(KERN_WARNING MYNAM ": firmware upload failure!\n"); } } @@ -1859,19 +1850,19 @@ mpt_do_ioc_recovery(MPT_ADAPTER *ioc, u32 reason, int sleepFlag) * MptResetHandlers[] registered yet. */ if (hard_reset_done) { - r = handlers = 0; + rc = handlers = 0; for (ii=MPT_MAX_PROTOCOL_DRIVERS-1; ii; ii--) { if ((ret == 0) && MptResetHandlers[ii]) { dprintk((MYIOC_s_INFO_FMT "Calling IOC post_reset handler #%d\n", ioc->name, ii)); - r += (*(MptResetHandlers[ii]))(ioc, MPT_IOC_POST_RESET); + rc += (*(MptResetHandlers[ii]))(ioc, MPT_IOC_POST_RESET); handlers++; } if (alt_ioc_ready && MptResetHandlers[ii]) { dprintk((MYIOC_s_INFO_FMT "Calling alt-%s post_reset handler #%d\n", ioc->name, ioc->alt_ioc->name, ii)); - r += (*(MptResetHandlers[ii]))(ioc->alt_ioc, MPT_IOC_POST_RESET); + rc += (*(MptResetHandlers[ii]))(ioc->alt_ioc, MPT_IOC_POST_RESET); handlers++; } } @@ -1932,84 +1923,90 @@ mpt_detect_bound_ports(MPT_ADAPTER *ioc, struct pci_dev *pdev) /* * mpt_adapter_disable - Disable misbehaving MPT adapter. * @this: Pointer to MPT adapter structure - * @free: Free up alloc'd reply, request, etc. */ static void -mpt_adapter_disable(MPT_ADAPTER *this, int freeup) +mpt_adapter_disable(MPT_ADAPTER *ioc) { - if (this != NULL) { - int sz=0; - int ret; - - if (this->cached_fw != NULL) { - ddlprintk((KERN_INFO MYNAM ": Pushing FW onto adapter\n")); + int sz; + int ret; - if ((ret = mpt_downloadboot(this, NO_SLEEP)) < 0) { - printk(KERN_WARNING MYNAM - ": firmware downloadboot failure (%d)!\n", ret); - } + if (ioc->cached_fw != NULL) { + ddlprintk((KERN_INFO MYNAM ": mpt_adapter_disable: Pushing FW onto adapter\n")); + if ((ret = mpt_downloadboot(ioc, NO_SLEEP)) < 0) { + printk(KERN_WARNING MYNAM + ": firmware downloadboot failure (%d)!\n", ret); } + } - /* Disable adapter interrupts! */ - CHIPREG_WRITE32(&this->chip->IntMask, 0xFFFFFFFF); - this->active = 0; - /* Clear any lingering interrupt */ - CHIPREG_WRITE32(&this->chip->IntStatus, 0); - - if (freeup && this->fifo_pool != NULL) { - pci_free_consistent(this->pcidev, - this->fifo_pool_sz, - this->fifo_pool, this->fifo_pool_dma); - this->reply_frames = NULL; - this->reply_alloc = NULL; - this->req_frames = NULL; - this->req_alloc = NULL; - this->chain_alloc = NULL; - this->fifo_pool = NULL; - this->alloc_total -= this->fifo_pool_sz; - } - if (freeup && this->sense_buf_pool != NULL) { - sz = (this->req_depth * MPT_SENSE_BUFFER_ALLOC); - pci_free_consistent(this->pcidev, sz, - this->sense_buf_pool, this->sense_buf_pool_dma); - this->sense_buf_pool = NULL; - this->alloc_total -= sz; - } + /* Disable adapter interrupts! */ + CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF); + ioc->active = 0; + /* Clear any lingering interrupt */ + CHIPREG_WRITE32(&ioc->chip->IntStatus, 0); - if (freeup && this->events != NULL){ - sz = MPTCTL_EVENT_LOG_SIZE * sizeof(MPT_IOCTL_EVENTS); - kfree(this->events); - this->events = NULL; - this->alloc_total -= sz; - } + if (ioc->alloc != NULL) { + sz = ioc->alloc_sz; + dexitprintk((KERN_INFO MYNAM ": %s.free @ %p, sz=%d bytes\n", + ioc->name, ioc->alloc, ioc->alloc_sz)); + pci_free_consistent(ioc->pcidev, sz, + ioc->alloc, ioc->alloc_dma); + ioc->reply_frames = NULL; + ioc->req_frames = NULL; + ioc->alloc = NULL; + ioc->alloc_total -= sz; + } - if (freeup && this->cached_fw != NULL) { + if (ioc->sense_buf_pool != NULL) { + sz = (ioc->req_depth * MPT_SENSE_BUFFER_ALLOC); + pci_free_consistent(ioc->pcidev, sz, + ioc->sense_buf_pool, ioc->sense_buf_pool_dma); + ioc->sense_buf_pool = NULL; + ioc->alloc_total -= sz; + } - sz = this->facts.FWImageSize; - pci_free_consistent(this->pcidev, sz, - this->cached_fw, this->cached_fw_dma); - this->cached_fw = NULL; - this->alloc_total -= sz; - } + if (ioc->events != NULL){ + sz = MPTCTL_EVENT_LOG_SIZE * sizeof(MPT_IOCTL_EVENTS); + kfree(ioc->events); + ioc->events = NULL; + ioc->alloc_total -= sz; + } - if (freeup && this->spi_data.nvram != NULL) { - kfree(this->spi_data.nvram); - this->spi_data.nvram = NULL; - } + if (ioc->cached_fw != NULL) { + sz = ioc->facts.FWImageSize; + pci_free_consistent(ioc->pcidev, sz, + ioc->cached_fw, ioc->cached_fw_dma); + ioc->cached_fw = NULL; + ioc->alloc_total -= sz; + } - if (freeup && this->spi_data.pIocPg3 != NULL) { - kfree(this->spi_data.pIocPg3); - this->spi_data.pIocPg3 = NULL; - } + if (ioc->spi_data.nvram != NULL) { + kfree(ioc->spi_data.nvram); + ioc->spi_data.nvram = NULL; + } - if (freeup && this->spi_data.pIocPg4 != NULL) { - sz = this->spi_data.IocPg4Sz; - pci_free_consistent(this->pcidev, sz, - this->spi_data.pIocPg4, - this->spi_data.IocPg4_dma); - this->spi_data.pIocPg4 = NULL; - this->alloc_total -= sz; - } + if (ioc->spi_data.pIocPg3 != NULL) { + kfree(ioc->spi_data.pIocPg3); + ioc->spi_data.pIocPg3 = NULL; + } + + if (ioc->spi_data.pIocPg4 != NULL) { + sz = ioc->spi_data.IocPg4Sz; + pci_free_consistent(ioc->pcidev, sz, + ioc->spi_data.pIocPg4, + ioc->spi_data.IocPg4_dma); + ioc->spi_data.pIocPg4 = NULL; + ioc->alloc_total -= sz; + } + + if (ioc->ReqToChain != NULL) { + kfree(ioc->ReqToChain); + kfree(ioc->RequestNB); + ioc->ReqToChain = NULL; + } + + if (ioc->ChainToChain != NULL) { + kfree(ioc->ChainToChain); + ioc->ChainToChain = NULL; } } @@ -2017,43 +2014,43 @@ mpt_adapter_disable(MPT_ADAPTER *this, int freeup) /* * mpt_adapter_dispose - Free all resources associated with a MPT * adapter. - * @this: Pointer to MPT adapter structure + * @ioc: Pointer to MPT adapter structure * * This routine unregisters h/w resources and frees all alloc'd memory * associated with a MPT adapter structure. */ static void -mpt_adapter_dispose(MPT_ADAPTER *this) +mpt_adapter_dispose(MPT_ADAPTER *ioc) { - if (this != NULL) { + if (ioc != NULL) { int sz_first, sz_last; - sz_first = this->alloc_total; + sz_first = ioc->alloc_total; - mpt_adapter_disable(this, 1); + mpt_adapter_disable(ioc); - if (this->pci_irq != -1) { - free_irq(this->pci_irq, this); - this->pci_irq = -1; + if (ioc->pci_irq != -1) { + free_irq(ioc->pci_irq, ioc); + ioc->pci_irq = -1; } - if (this->memmap != NULL) - iounmap((u8 *) this->memmap); + if (ioc->memmap != NULL) + iounmap((u8 *) ioc->memmap); #if defined(CONFIG_MTRR) && 0 - if (this->mtrr_reg > 0) { - mtrr_del(this->mtrr_reg, 0, 0); - dprintk((KERN_INFO MYNAM ": %s: MTRR region de-registered\n", this->name)); + if (ioc->mtrr_reg > 0) { + mtrr_del(ioc->mtrr_reg, 0, 0); + dprintk((KERN_INFO MYNAM ": %s: MTRR region de-registered\n", ioc->name)); } #endif /* Zap the adapter lookup ptr! */ - list_del(&this->list); + list_del(&ioc->list); - sz_last = this->alloc_total; + sz_last = ioc->alloc_total; dprintk((KERN_INFO MYNAM ": %s: free'd %d of %d bytes\n", - this->name, sz_first-sz_last+(int)sizeof(*this), sz_first)); - kfree(this); + ioc->name, sz_first-sz_last+(int)sizeof(*ioc), sz_first)); + kfree(ioc); } } @@ -2228,13 +2225,13 @@ MakeIocReady(MPT_ADAPTER *ioc, int force, int sleepFlag) ii++; cntdn--; if (!cntdn) { printk(MYIOC_s_ERR_FMT "Wait IOC_READY state timeout(%d)!\n", - ioc->name, (ii+5)/HZ); + ioc->name, (int)((ii+5)/HZ)); return -ETIME; } if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(1 * HZ / 1000); } else { mdelay (1); /* 1 msec delay */ } @@ -2292,7 +2289,9 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason) int r; int req_sz; int reply_sz; - u32 status; + int sz; + u32 status, vv; + u8 shiftFactor=1; /* IOC *must* NOT be in RESET state! */ if (ioc->last_state == MPI_IOC_STATE_RESET) { @@ -2315,7 +2314,9 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason) get_facts.Function = MPI_FUNCTION_IOC_FACTS; /* Assert: All other get_facts fields are zero! */ - dinitprintk((MYIOC_s_INFO_FMT "Sending get IocFacts request\n", ioc->name)); + dinitprintk((MYIOC_s_INFO_FMT + "Sending get IocFacts request req_sz=%d reply_sz=%d\n", + ioc->name, req_sz, reply_sz)); /* No non-zero fields in the get_facts request are greater than * 1 byte in size, so we can just fire it off as is. @@ -2388,6 +2389,13 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason) facts->FWImageSize = le32_to_cpu(facts->FWImageSize); } + sz = facts->FWImageSize; + if ( sz & 0x01 ) + sz += 1; + if ( sz & 0x02 ) + sz += 2; + facts->FWImageSize = sz; + if (!facts->RequestFrameSize) { /* Something is wrong! */ printk(MYIOC_s_ERR_FMT "IOC reported invalid 0 request size!\n", @@ -2395,6 +2403,18 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason) return -55; } + r = sz = le32_to_cpu(facts->BlockSize); + vv = ((63 / (sz * 4)) + 1) & 0x03; + ioc->NB_for_64_byte_frame = vv; + while ( sz ) + { + shiftFactor++; + sz = sz >> 1; + } + ioc->NBShiftFactor = shiftFactor; + dinitprintk((MYIOC_s_INFO_FMT "NB_for_64_byte_frame=%x NBShiftFactor=%x BlockSize=%x\n", + ioc->name, vv, shiftFactor, r)); + if (reason == MPT_HOSTEVENT_IOC_BRINGUP) { /* * Set values for this IOC's request & reply frame sizes, @@ -2405,9 +2425,9 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason) ioc->reply_sz = MPT_REPLY_FRAME_SIZE; ioc->reply_depth = min_t(int, MPT_DEFAULT_REPLY_DEPTH, facts->ReplyQueueDepth); - dprintk((MYIOC_s_INFO_FMT "reply_sz=%3d, reply_depth=%4d\n", + dinitprintk((MYIOC_s_INFO_FMT "reply_sz=%3d, reply_depth=%4d\n", ioc->name, ioc->reply_sz, ioc->reply_depth)); - dprintk((MYIOC_s_INFO_FMT "req_sz =%3d, req_depth =%4d\n", + dinitprintk((MYIOC_s_INFO_FMT "req_sz =%3d, req_depth =%4d\n", ioc->name, ioc->req_sz, ioc->req_depth)); /* Get port facts! */ @@ -2416,7 +2436,7 @@ GetIocFacts(MPT_ADAPTER *ioc, int sleepFlag, int reason) } } else { printk(MYIOC_s_ERR_FMT - "Invalid IOC facts reply, msgLength=%d offsetof=%d!\n", + "Invalid IOC facts reply, msgLength=%d offsetof=%zd!\n", ioc->name, facts->MsgLength, (offsetof(IOCFactsReply_t, RequestFrameSize)/sizeof(u32))); return -66; @@ -2465,7 +2485,7 @@ GetPortFacts(MPT_ADAPTER *ioc, int portnum, int sleepFlag) get_pfacts.PortNumber = portnum; /* Assert: All other get_pfacts fields are zero! */ - dprintk((MYIOC_s_INFO_FMT "Sending get PortFacts(%d) request\n", + dinitprintk((MYIOC_s_INFO_FMT "Sending get PortFacts(%d) request\n", ioc->name, portnum)); /* No non-zero fields in the get_pfacts request are greater than @@ -2516,24 +2536,18 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag) memset(&init_reply, 0, sizeof(init_reply)); ioc_init.WhoInit = MPI_WHOINIT_HOST_DRIVER; -/* ioc_init.ChainOffset = 0; */ ioc_init.Function = MPI_FUNCTION_IOC_INIT; -/* ioc_init.Flags = 0; */ /* If we are in a recovery mode and we uploaded the FW image, * then this pointer is not NULL. Skip the upload a second time. * Set this flag if cached_fw set for either IOC. */ - ioc->upload_fw = 0; - ioc_init.Flags = 0; - if (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT) { - if ((ioc->cached_fw) || (ioc->alt_ioc && ioc->alt_ioc->cached_fw)) - ioc_init.Flags = MPI_IOCINIT_FLAGS_DISCARD_FW_IMAGE; - else - ioc->upload_fw = 1; - } - ddlprintk((MYIOC_s_INFO_FMT "flags %d, upload_fw %d \n", - ioc->name, ioc_init.Flags, ioc->upload_fw)); + if (ioc->facts.Flags & MPI_IOCFACTS_FLAGS_FW_DOWNLOAD_BOOT) + ioc->upload_fw = 1; + else + ioc->upload_fw = 0; + ddlprintk((MYIOC_s_INFO_FMT "upload_fw %d facts.Flags=%x\n", + ioc->name, ioc->upload_fw, ioc->facts.Flags)); if ((int)ioc->chip_type <= (int)FC929) { ioc_init.MaxDevices = MPT_MAX_FC_DEVICES; @@ -2542,17 +2556,13 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag) } ioc_init.MaxBuses = MPT_MAX_BUS; -/* ioc_init.MsgFlags = 0; */ -/* ioc_init.MsgContext = cpu_to_le32(0x00000000); */ ioc_init.ReplyFrameSize = cpu_to_le16(ioc->reply_sz); /* in BYTES */ - - ioc->facts.RequestFrameSize = ioc_init.ReplyFrameSize; if (sizeof(dma_addr_t) == sizeof(u64)) { /* Save the upper 32-bits of the request * (reply) and sense buffers. */ - ioc_init.HostMfaHighAddr = cpu_to_le32((u32)((u64)ioc->req_frames_dma >> 32)); + ioc_init.HostMfaHighAddr = cpu_to_le32((u32)((u64)ioc->alloc_dma >> 32)); ioc_init.SenseBufferHighAddr = cpu_to_le32((u32)((u64)ioc->sense_buf_pool_dma >> 32)); } else { /* Force 32-bit addressing */ @@ -2591,14 +2601,14 @@ SendIocInit(MPT_ADAPTER *ioc, int sleepFlag) while (state != MPI_IOC_STATE_OPERATIONAL && --cntdn) { if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(1 * HZ / 1000); } else { mdelay(1); } if (!cntdn) { printk(MYIOC_s_ERR_FMT "Wait IOC_OP state timeout(%d)!\n", - ioc->name, (count+5)/HZ); + ioc->name, (int)((count+5)/HZ)); return -9; } @@ -2644,7 +2654,7 @@ SendPortEnable(MPT_ADAPTER *ioc, int portnum, int sleepFlag) /* port_enable.MsgFlags = 0; */ /* port_enable.MsgContext = 0; */ - dprintk((MYIOC_s_INFO_FMT "Sending Port(%d)Enable (req @ %p)\n", + dinitprintk((MYIOC_s_INFO_FMT "Sending Port(%d)Enable (req @ %p)\n", ioc->name, portnum, &port_enable)); /* RAID FW may take a long time to enable @@ -2668,20 +2678,22 @@ SendPortEnable(MPT_ADAPTER *ioc, int portnum, int sleepFlag) } /* - * Inputs: size - total FW bytes - * Outputs: frags - number of fragments needed - * Return NULL if failed. + * ioc: Pointer to MPT_ADAPTER structure + * size - total FW bytes */ void mpt_alloc_fw_memory(MPT_ADAPTER *ioc, int size) { - /* cached_fw - */ - - if ( (ioc->cached_fw = pci_alloc_consistent(ioc->pcidev, size, &ioc->cached_fw_dma) ) ) - ioc->alloc_total += size; + if (ioc->cached_fw) + return; /* use already allocated memory */ + if (ioc->alt_ioc && ioc->alt_ioc->cached_fw) { + ioc->cached_fw = ioc->alt_ioc->cached_fw; /* use alt_ioc's memory */ + ioc->cached_fw_dma = ioc->alt_ioc->cached_fw_dma; + } else { + if ( (ioc->cached_fw = pci_alloc_consistent(ioc->pcidev, size, &ioc->cached_fw_dma) ) ) + ioc->alloc_total += size; + } } - /* * If alt_img is NULL, delete from ioc structure. * Else, delete a secondary image in same format. @@ -2692,6 +2704,8 @@ mpt_free_fw_memory(MPT_ADAPTER *ioc) int sz; sz = ioc->facts.FWImageSize; + dinitprintk((KERN_WARNING MYNAM "free_fw_memory: FW Image @ %p[%p], sz=%d[%x] bytes\n", + ioc->cached_fw, (void *)(ulong)ioc->cached_fw_dma, sz, sz)); pci_free_consistent(ioc->pcidev, sz, ioc->cached_fw, ioc->cached_fw_dma); ioc->cached_fw = NULL; @@ -2725,30 +2739,24 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag) int sgeoffset; u32 flagsLength; int ii, sz, reply_sz; - int cmdStatus, freeMem = 0; + int cmdStatus; - /* If the image size is 0 or if the pointer is - * not NULL (error), we are done. + /* If the image size is 0, we are done. */ - if (((sz = ioc->facts.FWImageSize) == 0) || ioc->cached_fw) + if ((sz = ioc->facts.FWImageSize) == 0) return 0; - if ( sz & 0x01 ) - sz += 1; - if ( sz & 0x02 ) - sz += 2; - mpt_alloc_fw_memory(ioc, sz); + dinitprintk((KERN_WARNING MYNAM ": FW Image @ %p[%p], sz=%d[%x] bytes\n", + ioc->cached_fw, (void *)(ulong)ioc->cached_fw_dma, sz, sz)); + if (ioc->cached_fw == NULL) { /* Major Failure. */ return -ENOMEM; } - dinitprintk((KERN_WARNING MYNAM ": FW Image @ %p[%p], sz=%d[%x] bytes\n", - ioc->cached_fw, (void *)(ulong)ioc->cached_fw_dma, sz, sz)); - prequest = (FWUpload_t *)&request; preply = (FWUploadReply_t *)&reply; @@ -2797,23 +2805,11 @@ mpt_do_upload(MPT_ADAPTER *ioc, int sleepFlag) dinitprintk((MYIOC_s_INFO_FMT ": do_upload status %d \n", ioc->name, cmdStatus)); - /* Check to see if we have a copy of this image in - * host memory already. - */ - if (cmdStatus == 0) { - ioc->upload_fw = 0; - if (ioc->alt_ioc && ioc->alt_ioc->cached_fw) - freeMem = 1; - } - - /* We already have a copy of this image or - * we had some type of an error - either the handshake - * failed (i != 0) or the command did not complete successfully. - */ - if (cmdStatus || freeMem) { + + if (cmdStatus) { - ddlprintk((MYIOC_s_INFO_FMT ": do_upload freeing %s image \n", - ioc->name, cmdStatus ? "incomplete" : "duplicate")); + ddlprintk((MYIOC_s_INFO_FMT ": fw upload failed, freeing image \n", + ioc->name)); mpt_free_fw_memory(ioc); } @@ -2841,28 +2837,26 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) MpiExtImageHeader_t *pExtImage; u32 fwSize; u32 diag0val; -#ifdef MPT_DEBUG - u32 diag1val = 0; -#endif - int count = 0; + int count; u32 *ptrFw; u32 diagRwData; u32 nextImage; u32 load_addr; - u32 ioc_state; + u32 ioc_state=0; ddlprintk((MYIOC_s_INFO_FMT "downloadboot: fw size 0x%x, ioc FW Ptr %p\n", ioc->name, ioc->facts.FWImageSize, ioc->cached_fw)); - /* Get dma_addr and data transfer size. - */ if ( ioc->facts.FWImageSize == 0 ) return -1; - /* Get the DMA from ioc or ioc->alt_ioc */ if (ioc->cached_fw == NULL) return -2; + /* prevent a second downloadboot and memory free with alt_ioc */ + if (ioc->alt_ioc && ioc->alt_ioc->cached_fw) + ioc->alt_ioc->cached_fw = NULL; + CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF); CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_1ST_KEY_VALUE); CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_2ND_KEY_VALUE); @@ -2870,18 +2864,17 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_4TH_KEY_VALUE); CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE); - diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); - diag0val |= (MPI_DIAG_PREVENT_IOC_BOOT | MPI_DIAG_DISABLE_ARM); - CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val); + CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_PREVENT_IOC_BOOT | MPI_DIAG_DISABLE_ARM)); - /* wait 100 msec */ + /* wait 1 msec */ if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(100 * HZ / 1000); + schedule_timeout(1 * HZ / 1000); } else { - mdelay (100); + mdelay (1); } + diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | MPI_DIAG_RESET_ADAPTER); for (count = 0; count < 30; count ++) { @@ -2894,7 +2887,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) /* wait 1 sec */ if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ); + schedule_timeout(1000 * HZ / 1000); } else { mdelay (1000); } @@ -2914,8 +2907,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) CHIPREG_WRITE32(&ioc->chip->WriteSequence, MPI_WRSEQ_5TH_KEY_VALUE); /* Set the DiagRwEn and Disable ARM bits */ - diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); - CHIPREG_WRITE32(&ioc->chip->Diagnostic, (diag0val | MPI_DIAG_RW_ENABLE | MPI_DIAG_DISABLE_ARM)); + CHIPREG_WRITE32(&ioc->chip->Diagnostic, (MPI_DIAG_RW_ENABLE | MPI_DIAG_DISABLE_ARM)); pFwHeader = (MpiFwHeader_t *) ioc->cached_fw; fwSize = (pFwHeader->ImageSize + 3)/4; @@ -2961,15 +2953,6 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) ddlprintk((MYIOC_s_INFO_FMT "Write IopResetVector Value=%x! \n", ioc->name, pFwHeader->IopResetVectorValue)); CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, pFwHeader->IopResetVectorValue); - /* clear the PREVENT_IOC_BOOT bit */ - diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); - ddlprintk((MYIOC_s_INFO_FMT "downloadboot diag0val=%x, turning off PREVENT_IOC_BOOT\n", - ioc->name, diag0val)); - diag0val &= ~(MPI_DIAG_PREVENT_IOC_BOOT); - ddlprintk((MYIOC_s_INFO_FMT "downloadboot now diag0val=%x\n", - ioc->name, diag0val)); - CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val); - /* Clear the internal flash bad bit - autoincrementing register, * so must do two writes. */ @@ -2980,28 +2963,13 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, diagRwData); diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); - ddlprintk((MYIOC_s_INFO_FMT "downloadboot diag0val=%x, turning off DISABLE_ARM, RW_ENABLE, RESET_HISTORY\n", + ddlprintk((MYIOC_s_INFO_FMT "downloadboot diag0val=%x, turning off PREVENT_IOC_BOOT, DISABLE_ARM\n", ioc->name, diag0val)); - diag0val &= ~(MPI_DIAG_DISABLE_ARM | MPI_DIAG_RW_ENABLE | MPI_DIAG_RESET_HISTORY); + diag0val &= ~(MPI_DIAG_PREVENT_IOC_BOOT | MPI_DIAG_DISABLE_ARM); ddlprintk((MYIOC_s_INFO_FMT "downloadboot now diag0val=%x\n", ioc->name, diag0val)); CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val); - /* wait 100 msec */ - if (sleepFlag == CAN_SLEEP) { - ddlprintk((MYIOC_s_INFO_FMT "CAN_SLEEP 100 msec before reset the sequencer\n", ioc->name)); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(100 * HZ / 1000); - } else { - ddlprintk((MYIOC_s_INFO_FMT "mdelay 100 msec before reset the sequencer\n", ioc->name)); - mdelay (100); - } - - diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); - if ( diag0val & (MPI_DIAG_FLASH_BAD_SIG | MPI_DIAG_DISABLE_ARM) ) { - ddlprintk((MYIOC_s_INFO_FMT "downloadboot failed, diag0val=%x FLASH_BAD_SIG | DISABLE_ARM on\n ", - ioc->name, diag0val)); - } /* Write 0xFF to reset the sequencer */ CHIPREG_WRITE32(&ioc->chip->WriteSequence, 0xFF); @@ -3009,26 +2977,18 @@ mpt_downloadboot(MPT_ADAPTER *ioc, int sleepFlag) if ((ioc_state = mpt_GetIocState(ioc, 0)) & MPI_IOC_STATE_READY) { ddlprintk((MYIOC_s_INFO_FMT "downloadboot successful! (count=%d) IocState=%x\n", ioc->name, count, ioc_state)); -/* if ((r = GetIocFacts(ioc, sleepFlag, MPT_HOSTEVENT_IOC_BRINGUP)) != 0) { - if ((r = GetIocFacts(ioc, sleepFlag, MPT_HOSTEVENT_IOC_BRINGUP)) != 0) { - ddlprintk((MYIOC_s_INFO_FMT "GetIocFacts failed\n", - ioc->name)); - return -EFAULT; - } - } */ - /* wait 2 sec */ -/* if (sleepFlag == CAN_SLEEP) { - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(5000 * HZ / 1000); - } else { - mdelay (5000); - } */ - + if ((SendIocInit(ioc, sleepFlag)) != 0) { + ddlprintk((MYIOC_s_INFO_FMT "downloadboot: SendIocInit failed\n", + ioc->name)); + return -EFAULT; + } + ddlprintk((MYIOC_s_INFO_FMT "downloadboot: SendIocInit successful\n", + ioc->name)); return 0; } if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(10 * HZ / 1000); } else { mdelay (10); } @@ -3068,8 +3028,8 @@ static int KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag) { int hard_reset_done = 0; - u32 ioc_state; - int cntdn, cnt = 0; + u32 ioc_state=0; + int cnt,cntdn; dinitprintk((KERN_WARNING MYNAM ": KickStarting %s!\n", ioc->name)); if ((int)ioc->chip_type > (int)FC929) { @@ -3080,7 +3040,7 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag) if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ); + schedule_timeout(1000 * HZ / 1000); } else { mdelay (1000); } @@ -3090,26 +3050,27 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag) if (hard_reset_done < 0) return hard_reset_done; - dprintk((MYIOC_s_INFO_FMT "Diagnostic reset successful!\n", + dinitprintk((MYIOC_s_INFO_FMT "Diagnostic reset successful!\n", ioc->name)); - cntdn = ((sleepFlag == CAN_SLEEP) ? HZ : 1000) * 20; /* 20 seconds */ + cntdn = ((sleepFlag == CAN_SLEEP) ? HZ : 1000) * 2; /* 2 seconds */ for (cnt=0; cntname, cnt)); + ioc_state = mpt_GetIocState(ioc, 1); + if ((ioc_state == MPI_IOC_STATE_READY) || (ioc_state == MPI_IOC_STATE_OPERATIONAL)) { + dinitprintk((MYIOC_s_INFO_FMT "KickStart successful! (cnt=%d)\n", + ioc->name, cnt)); return hard_reset_done; } if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(10 * HZ / 1000); } else { mdelay (10); } } - printk(MYIOC_s_ERR_FMT "Failed to come READY after reset!\n", - ioc->name); + printk(MYIOC_s_ERR_FMT "Failed to come READY after reset! IocState=%x\n", + ioc->name, ioc_state); return -1; } @@ -3199,12 +3160,6 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag) dprintk((MYIOC_s_INFO_FMT "DbG2: diag0=%08x, diag1=%08x\n", ioc->name, diag0val, diag1val)); #endif - /* Write the PreventIocBoot bit */ - if ((ioc->cached_fw) || (ioc->alt_ioc && ioc->alt_ioc->cached_fw)) { - diag0val |= MPI_DIAG_PREVENT_IOC_BOOT; - CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val); - } - /* * Disable the ARM (Bug fix) * @@ -3246,20 +3201,13 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag) /* FIXME? Examine results here? */ } - if ((ioc->cached_fw) || (ioc->alt_ioc && ioc->alt_ioc->cached_fw)) { + if (ioc->cached_fw) { /* If the DownloadBoot operation fails, the * IOC will be left unusable. This is a fatal error * case. _diag_reset will return < 0 */ for (count = 0; count < 30; count ++) { diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); -#ifdef MPT_DEBUG - if (ioc->alt_ioc) - diag1val = CHIPREG_READ32(&ioc->alt_ioc->chip->Diagnostic); - dprintk((MYIOC_s_INFO_FMT - "DbG2b: diag0=%08x, diag1=%08x\n", - ioc->name, diag0val, diag1val)); -#endif if (!(diag0val & MPI_DIAG_RESET_ADAPTER)) { break; } @@ -3267,7 +3215,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag) /* wait 1 sec */ if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ); + schedule_timeout(1000 * HZ / 1000); } else { mdelay (1000); } @@ -3295,7 +3243,7 @@ mpt_diag_reset(MPT_ADAPTER *ioc, int ignore, int sleepFlag) /* wait 1 sec */ if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ); + schedule_timeout(1000 * HZ / 1000); } else { mdelay (1000); } @@ -3419,13 +3367,13 @@ SendIocReset(MPT_ADAPTER *ioc, u8 reset_type, int sleepFlag) count *= 10; printk(KERN_ERR MYNAM ": %s: ERROR - Wait IOC_READY state timeout(%d)!\n", - ioc->name, (count+5)/HZ); + ioc->name, (int)((count+5)/HZ)); return -ETIME; } if (sleepFlag == CAN_SLEEP) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(1 * HZ / 1000); } else { mdelay (1); /* 1 msec delay */ } @@ -3443,35 +3391,45 @@ SendIocReset(MPT_ADAPTER *ioc, u8 reset_type, int sleepFlag) /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /* - * PrimeIocFifos - Initialize IOC request and reply FIFOs. - * @ioc: Pointer to MPT_ADAPTER structure - * - * This routine allocates memory for the MPT reply and request frame - * pools (if necessary), and primes the IOC reply FIFO with - * reply frames. - * - * Returns 0 for success, non-zero for failure. + * initChainBuffers - Allocate memory for and initialize + * chain buffers, chain buffer control arrays and spinlock. + * @hd: Pointer to MPT_SCSI_HOST structure + * @init: If set, initialize the spin lock. */ static int -PrimeIocFifos(MPT_ADAPTER *ioc) +initChainBuffers(MPT_ADAPTER *ioc) { - MPT_FRAME_HDR *mf; - unsigned long b; - unsigned long flags; - dma_addr_t aligned_mem_dma; - u8 *aligned_mem; - int i, sz; - int chain_buffer_sz, reply_buffer_sz, request_buffer_sz; - int scale, num_sge, num_chain; + u8 *mem; + int sz, ii, num_chain; + int scale, num_sge, numSGE; - /* request buffer size, rounding UP to nearest 4-kB boundary */ - request_buffer_sz = (ioc->req_sz * ioc->req_depth) + 128; - request_buffer_sz = ((request_buffer_sz + 0x1000UL - 1UL) / 0x1000) * 0x1000; + /* ReqToChain size must equal the req_depth + * index = req_idx + */ + if (ioc->ReqToChain == NULL) { + sz = ioc->req_depth * sizeof(int); + mem = kmalloc(sz, GFP_ATOMIC); + if (mem == NULL) + return -1; + + ioc->ReqToChain = (int *) mem; + dinitprintk((KERN_INFO MYNAM ": %s ReqToChain alloc @ %p, sz=%d bytes\n", + ioc->name, mem, sz)); + mem = kmalloc(sz, GFP_ATOMIC); + if (mem == NULL) + return -1; - /* reply buffer size */ - reply_buffer_sz = (ioc->reply_sz * ioc->reply_depth) + 128; + ioc->RequestNB = (int *) mem; + dinitprintk((KERN_INFO MYNAM ": %s RequestNB alloc @ %p, sz=%d bytes\n", + ioc->name, mem, sz)); + } + for (ii = 0; ii < ioc->req_depth; ii++) { + ioc->ReqToChain[ii] = MPT_HOST_NO_CHAIN; + } - /* chain buffer size, copied from from mptscsih_initChainBuffers() + /* ChainToChain size must equal the total number + * of chain buffers to be allocated. + * index = chain_idx * * Calculate the number of chain buffers needed(plus 1) per I/O * then multiply the the maximum number of simultaneous cmds @@ -3479,79 +3437,134 @@ PrimeIocFifos(MPT_ADAPTER *ioc) * num_sge = num sge in request frame + last chain buffer * scale = num sge per chain buffer if no chain element */ - scale = ioc->req_sz/(sizeof(dma_addr_t) + sizeof(u32)); if (sizeof(dma_addr_t) == sizeof(u64)) num_sge = scale + (ioc->req_sz - 60) / (sizeof(dma_addr_t) + sizeof(u32)); else - num_sge = 1 + scale + (ioc->req_sz - 64) / (sizeof(dma_addr_t) + sizeof(u32)); + num_sge = 1+ scale + (ioc->req_sz - 64) / (sizeof(dma_addr_t) + sizeof(u32)); + + if (sizeof(dma_addr_t) == sizeof(u64)) { + numSGE = (scale - 1) * (ioc->facts.MaxChainDepth-1) + scale + + (ioc->req_sz - 60) / (sizeof(dma_addr_t) + sizeof(u32)); + } else { + numSGE = 1 + (scale - 1) * (ioc->facts.MaxChainDepth-1) + scale + + (ioc->req_sz - 64) / (sizeof(dma_addr_t) + sizeof(u32)); + } + dinitprintk((KERN_INFO MYNAM ": %s num_sge=%d numSGE=%d\n", + ioc->name, num_sge, numSGE)); + + if ( numSGE > MPT_SCSI_SG_DEPTH ) + numSGE = MPT_SCSI_SG_DEPTH; num_chain = 1; - while (MPT_SCSI_SG_DEPTH - num_sge > 0) { + while (numSGE - num_sge > 0) { num_chain++; num_sge += (scale - 1); } num_chain++; - if ((int)ioc->chip_type > (int) FC929) + dinitprintk((KERN_INFO MYNAM ": %s Now numSGE=%d num_sge=%d num_chain=%d\n", + ioc->name, numSGE, num_sge, num_chain)); + + if ((int) ioc->chip_type > (int) FC929) num_chain *= MPT_SCSI_CAN_QUEUE; else num_chain *= MPT_FC_CAN_QUEUE; - chain_buffer_sz = num_chain * ioc->req_sz; + ioc->num_chain = num_chain; - if(ioc->fifo_pool == NULL) { + sz = num_chain * sizeof(int); + if (ioc->ChainToChain == NULL) { + mem = kmalloc(sz, GFP_ATOMIC); + if (mem == NULL) + return -1; - ioc->fifo_pool_sz = request_buffer_sz + - reply_buffer_sz + chain_buffer_sz; + ioc->ChainToChain = (int *) mem; + dinitprintk((KERN_INFO MYNAM ": %s ChainToChain alloc @ %p, sz=%d bytes\n", + ioc->name, mem, sz)); + } else { + mem = (u8 *) ioc->ChainToChain; + } + memset(mem, 0xFF, sz); + return num_chain; +} - ioc->fifo_pool = pci_alloc_consistent(ioc->pcidev, - ioc->fifo_pool_sz, &ioc->fifo_pool_dma); +/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ +/* + * PrimeIocFifos - Initialize IOC request and reply FIFOs. + * @ioc: Pointer to MPT_ADAPTER structure + * + * This routine allocates memory for the MPT reply and request frame + * pools (if necessary), and primes the IOC reply FIFO with + * reply frames. + * + * Returns 0 for success, non-zero for failure. + */ +static int +PrimeIocFifos(MPT_ADAPTER *ioc) +{ + MPT_FRAME_HDR *mf; + unsigned long flags; + dma_addr_t alloc_dma; + u8 *mem; + int i, reply_sz, sz, total_size, num_chain; + + /* Prime reply FIFO... */ - if( ioc->fifo_pool == NULL) + if (ioc->reply_frames == NULL) { + if ( (num_chain = initChainBuffers(ioc)) < 0) + return -1; + + total_size = reply_sz = (ioc->reply_sz * ioc->reply_depth); + dinitprintk((KERN_INFO MYNAM ": %s.ReplyBuffer sz=%d bytes, ReplyDepth=%d\n", + ioc->name, ioc->reply_sz, ioc->reply_depth)); + dinitprintk((KERN_INFO MYNAM ": %s.ReplyBuffer sz=%d[%x] bytes\n", + ioc->name, reply_sz, reply_sz)); + + sz = (ioc->req_sz * ioc->req_depth); + dinitprintk((KERN_INFO MYNAM ": %s.RequestBuffer sz=%d bytes, RequestDepth=%d\n", + ioc->name, ioc->req_sz, ioc->req_depth)); + dinitprintk((KERN_INFO MYNAM ": %s.RequestBuffer sz=%d[%x] bytes\n", + ioc->name, sz, sz)); + total_size += sz; + + sz = num_chain * ioc->req_sz; /* chain buffer pool size */ + dinitprintk((KERN_INFO MYNAM ": %s.ChainBuffer sz=%d bytes, ChainDepth=%d\n", + ioc->name, ioc->req_sz, num_chain)); + dinitprintk((KERN_INFO MYNAM ": %s.ChainBuffer sz=%d[%x] bytes num_chain=%d\n", + ioc->name, sz, sz, num_chain)); + + total_size += sz; + mem = pci_alloc_consistent(ioc->pcidev, total_size, &alloc_dma); + if (mem == NULL) { + printk(MYIOC_s_ERR_FMT "Unable to allocate Reply, Request, Chain Buffers!\n", + ioc->name); goto out_fail; + } + + dinitprintk((KERN_INFO MYNAM ": %s.Total alloc @ %p[%p], sz=%d[%x] bytes\n", + ioc->name, mem, (void *)(ulong)alloc_dma, total_size, total_size)); + + memset(mem, 0, total_size); + ioc->alloc_total += total_size; + ioc->alloc = mem; + ioc->alloc_dma = alloc_dma; + ioc->alloc_sz = total_size; + ioc->reply_frames = (MPT_FRAME_HDR *) mem; + ioc->reply_frames_low_dma = (u32) (alloc_dma & 0xFFFFFFFF); + + alloc_dma += reply_sz; + mem += reply_sz; - ioc->alloc_total += ioc->fifo_pool_sz; - memset(ioc->fifo_pool, 0, ioc->fifo_pool_sz); - - /* reply fifo pointers */ - ioc->reply_alloc = ioc->fifo_pool; - ioc->reply_alloc_dma = ioc->fifo_pool_dma; - /* request fifo pointers */ - ioc->req_alloc = ioc->reply_alloc+reply_buffer_sz; - ioc->req_alloc_dma = ioc->reply_alloc_dma+reply_buffer_sz; - /* chain buffer pointers */ - ioc->chain_alloc = ioc->req_alloc+request_buffer_sz; - ioc->chain_alloc_dma = ioc->req_alloc_dma+request_buffer_sz; - ioc->chain_alloc_sz = chain_buffer_sz; - - /* Prime reply FIFO... */ - dprintk((KERN_INFO MYNAM ": %s.reply_alloc @ %p[%p], sz=%d bytes\n", - ioc->name, ioc->reply_alloc, - (void *)(ulong)ioc->reply_alloc_dma, reply_buffer_sz)); - - b = (unsigned long) ioc->reply_alloc; - b = (b + (0x80UL - 1UL)) & ~(0x80UL - 1UL); /* round up to 128-byte boundary */ - aligned_mem = (u8 *) b; - ioc->reply_frames = (MPT_FRAME_HDR *) aligned_mem; - ioc->reply_frames_dma = - (ioc->reply_alloc_dma + (aligned_mem - ioc->reply_alloc)); - - ioc->reply_frames_low_dma = (u32) (ioc->reply_frames_dma & 0xFFFFFFFF); - /* Request FIFO - WE manage this! */ - dprintk((KERN_INFO MYNAM ": %s.req_alloc @ %p[%p], sz=%d bytes\n", - ioc->name, ioc->req_alloc, - (void *)(ulong)ioc->req_alloc_dma, request_buffer_sz)); - b = (unsigned long) ioc->req_alloc; - b = (b + (0x80UL - 1UL)) & ~(0x80UL - 1UL); /* round up to 128-byte boundary */ - aligned_mem = (u8 *) b; - ioc->req_frames = (MPT_FRAME_HDR *) aligned_mem; - ioc->req_frames_dma = - (ioc->req_alloc_dma + (aligned_mem - ioc->req_alloc)); + ioc->req_frames = (MPT_FRAME_HDR *) mem; + ioc->req_frames_dma = alloc_dma; + + dinitprintk((KERN_INFO MYNAM ": %s.RequestBuffers @ %p[%p]\n", + ioc->name, mem, (void *)(ulong)alloc_dma)); - ioc->req_frames_low_dma = (u32) (ioc->req_frames_dma & 0xFFFFFFFF); + ioc->req_frames_low_dma = (u32) (alloc_dma & 0xFFFFFFFF); #if defined(CONFIG_MTRR) && 0 /* @@ -3559,79 +3572,93 @@ PrimeIocFifos(MPT_ADAPTER *ioc) * (at least as much as we can; "size and base must be * multiples of 4 kiB" */ - ioc->mtrr_reg = mtrr_add(ioc->fifo_pool, - ioc->fifo_pool_sz, + ioc->mtrr_reg = mtrr_add(ioc->req_frames_dma, + sz, MTRR_TYPE_WRCOMB, 1); dprintk((MYIOC_s_INFO_FMT "MTRR region registered (base:size=%08x:%x)\n", - ioc->name, ioc->fifo_pool, ioc->fifo_pool_sz)); + ioc->name, ioc->req_frames_dma, sz)); #endif - } /* ioc->fifo_pool == NULL */ - - /* Post Reply frames to FIFO - */ - aligned_mem_dma = ioc->reply_frames_dma; - dprintk((KERN_INFO MYNAM ": %s.reply_frames @ %p[%p]\n", - ioc->name, ioc->reply_frames, (void *)(ulong)aligned_mem_dma)); + for (i = 0; i < ioc->req_depth; i++) { + alloc_dma += ioc->req_sz; + mem += ioc->req_sz; + } - for (i = 0; i < ioc->reply_depth; i++) { - /* Write each address to the IOC! */ - CHIPREG_WRITE32(&ioc->chip->ReplyFifo, aligned_mem_dma); - aligned_mem_dma += ioc->reply_sz; - } + ioc->ChainBuffer = mem; + ioc->ChainBufferDMA = alloc_dma; + dinitprintk((KERN_INFO MYNAM " :%s.ChainBuffers @ %p(%p)\n", + ioc->name, ioc->ChainBuffer, (void *)(ulong)ioc->ChainBufferDMA)); - /* Initialize Request frames linked list - */ - aligned_mem_dma = ioc->req_frames_dma; - aligned_mem = (u8 *) ioc->req_frames; - dprintk((KERN_INFO MYNAM ": %s.req_frames @ %p[%p]\n", - ioc->name, aligned_mem, (void *)(ulong)aligned_mem_dma)); + /* Initialize the free chain Q. + */ - spin_lock_irqsave(&ioc->FreeQlock, flags); - Q_INIT(&ioc->FreeQ, MPT_FRAME_HDR); - for (i = 0; i < ioc->req_depth; i++) { - mf = (MPT_FRAME_HDR *) aligned_mem; + Q_INIT(&ioc->FreeChainQ, MPT_FRAME_HDR); - /* Queue REQUESTs *internally*! */ - Q_ADD_TAIL(&ioc->FreeQ.head, &mf->u.frame.linkage, MPT_FRAME_HDR); - aligned_mem += ioc->req_sz; - } - spin_unlock_irqrestore(&ioc->FreeQlock, flags); + /* Post the chain buffers to the FreeChainQ. + */ + mem = (u8 *)ioc->ChainBuffer; + for (i=0; i < num_chain; i++) { + mf = (MPT_FRAME_HDR *) mem; + Q_ADD_TAIL(&ioc->FreeChainQ.head, &mf->u.frame.linkage, MPT_FRAME_HDR); + mem += ioc->req_sz; + } + /* Initialize Request frames linked list + */ + alloc_dma = ioc->req_frames_dma; + mem = (u8 *) ioc->req_frames; + + spin_lock_irqsave(&ioc->FreeQlock, flags); + Q_INIT(&ioc->FreeQ, MPT_FRAME_HDR); + for (i = 0; i < ioc->req_depth; i++) { + mf = (MPT_FRAME_HDR *) mem; + + /* Queue REQUESTs *internally*! */ + Q_ADD_TAIL(&ioc->FreeQ.head, &mf->u.frame.linkage, MPT_FRAME_HDR); + mem += ioc->req_sz; + } + spin_unlock_irqrestore(&ioc->FreeQlock, flags); - if (ioc->sense_buf_pool == NULL) { sz = (ioc->req_depth * MPT_SENSE_BUFFER_ALLOC); ioc->sense_buf_pool = - pci_alloc_consistent(ioc->pcidev, sz, &ioc->sense_buf_pool_dma); - if (ioc->sense_buf_pool == NULL) + pci_alloc_consistent(ioc->pcidev, sz, &ioc->sense_buf_pool_dma); + if (ioc->sense_buf_pool == NULL) { + printk(MYIOC_s_ERR_FMT "Unable to allocate Sense Buffers!\n", + ioc->name); goto out_fail; + } ioc->sense_buf_low_dma = (u32) (ioc->sense_buf_pool_dma & 0xFFFFFFFF); ioc->alloc_total += sz; + dinitprintk((KERN_INFO MYNAM ": %s.SenseBuffers @ %p[%p]\n", + ioc->name, ioc->sense_buf_pool, (void *)(ulong)ioc->sense_buf_pool_dma)); + + } + + /* Post Reply frames to FIFO + */ + alloc_dma = ioc->alloc_dma; + dinitprintk((KERN_INFO MYNAM ": %s.ReplyBuffers @ %p[%p]\n", + ioc->name, ioc->reply_frames, (void *)(ulong)alloc_dma)); + + for (i = 0; i < ioc->reply_depth; i++) { + /* Write each address to the IOC! */ + CHIPREG_WRITE32(&ioc->chip->ReplyFifo, alloc_dma); + alloc_dma += ioc->reply_sz; } return 0; out_fail: - if (ioc->fifo_pool != NULL) { + if (ioc->alloc != NULL) { + sz = ioc->alloc_sz; pci_free_consistent(ioc->pcidev, - ioc->fifo_pool_sz, - ioc->fifo_pool, ioc->fifo_pool_dma); + sz, + ioc->alloc, ioc->alloc_dma); ioc->reply_frames = NULL; - ioc->reply_alloc = NULL; ioc->req_frames = NULL; - ioc->req_alloc = NULL; - ioc->chain_alloc = NULL; - ioc->fifo_pool = NULL; - ioc->alloc_total -= ioc->fifo_pool_sz; -#if defined(CONFIG_MTRR) && 0 - if (ioc->mtrr_reg > 0) { - mtrr_del(ioc->mtrr_reg, 0, 0); - dprintk((MYIOC_s_INFO_FMT "MTRR region de-registered\n", - ioc->name)); - } -#endif + ioc->alloc_total -= sz; } if (ioc->sense_buf_pool != NULL) { sz = (ioc->req_depth * MPT_SENSE_BUFFER_ALLOC); @@ -3693,8 +3720,8 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes, u32 *req, if ((t = WaitForDoorbellInt(ioc, 5, sleepFlag)) < 0) failcnt++; - dhsprintk((MYIOC_s_INFO_FMT "HandShake request start, WaitCnt=%d%s\n", - ioc->name, t, failcnt ? " - MISSING DOORBELL HANDSHAKE!" : "")); + dhsprintk((MYIOC_s_INFO_FMT "HandShake request start reqBytes=%d, WaitCnt=%d%s\n", + ioc->name, reqBytes, t, failcnt ? " - MISSING DOORBELL HANDSHAKE!" : "")); /* Read doorbell and check for active bit */ if (!(CHIPREG_READ32(&ioc->chip->Doorbell) & MPI_DOORBELL_ACTIVE)) @@ -3728,7 +3755,7 @@ mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes, u32 *req, failcnt++; } - dmfprintk((KERN_INFO MYNAM ": Handshake request frame (@%p) header\n", req)); + dhsprintk((KERN_INFO MYNAM ": Handshake request frame (@%p) header\n", req)); DBG_DUMP_REQUEST_FRAME_HDR(req) dhsprintk((MYIOC_s_INFO_FMT "HandShake request post done, WaitCnt=%d%s\n", @@ -3783,7 +3810,7 @@ WaitForDoorbellAck(MPT_ADAPTER *ioc, int howlong, int sleepFlag) if (! (intstat & MPI_HIS_IOP_DOORBELL_STATUS)) break; set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(1 * HZ / 1000); count++; } } else { @@ -3833,7 +3860,7 @@ WaitForDoorbellInt(MPT_ADAPTER *ioc, int howlong, int sleepFlag) if (intstat & MPI_HIS_DOORBELL_INTERRUPT) break; set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(1); + schedule_timeout(1 * HZ / 1000); count++; } } else { @@ -3935,7 +3962,7 @@ WaitForDoorbellReply(MPT_ADAPTER *ioc, int howlong, int sleepFlag) } #endif - dmfprintk((MYIOC_s_INFO_FMT "Got Handshake reply:\n", ioc->name)); + dhsprintk((MYIOC_s_INFO_FMT "Got Handshake reply:\n", ioc->name)); DBG_DUMP_REPLY_FRAME(mptReply) dhsprintk((MYIOC_s_INFO_FMT "WaitForDoorbell REPLY WaitCnt=%d (sz=%d)\n", @@ -4282,9 +4309,11 @@ mpt_GetScsiPortSettings(MPT_ADAPTER *ioc, int portnum) pPP0->Capabilities = le32_to_cpu(pPP0->Capabilities); pPP0->PhysicalInterface = le32_to_cpu(pPP0->PhysicalInterface); - if ( (pPP0->Capabilities & MPI_SCSIPORTPAGE0_CAP_QAS) == 0 ) + if ( (pPP0->Capabilities & MPI_SCSIPORTPAGE0_CAP_QAS) == 0 ) { ioc->spi_data.noQas |= MPT_TARGET_NO_NEGO_QAS; - + dinitprintk((KERN_INFO MYNAM " :%s noQas due to Capabilities=%x\n", + ioc->name, pPP0->Capabilities)); + } ioc->spi_data.maxBusWidth = pPP0->Capabilities & MPI_SCSIPORTPAGE0_CAP_WIDE ? 1 : 0; data = pPP0->Capabilities & MPI_SCSIPORTPAGE0_CAP_MAX_SYNC_OFFSET_MASK; if (data) { @@ -4907,8 +4936,8 @@ int mpt_toolbox(MPT_ADAPTER *ioc, CONFIGPARMS *pCfg) { ToolboxIstwiReadWriteRequest_t *pReq; - struct pci_dev *pdev; MPT_FRAME_HDR *mf; + struct pci_dev *pdev; unsigned long flags; int rc; u32 flagsLength; @@ -5226,12 +5255,6 @@ procmpt_version_read(char *buf, char **start, off_t offset, int request, int *eo if (drvname) len += sprintf(buf+len, " Fusion MPT %s driver\n", drvname); - /* - * Handle isense special case, because it - * doesn't do a formal mpt_register call. - */ - if (isense_idx == ii) - len += sprintf(buf+len, " Fusion MPT isense driver\n"); } } @@ -5286,7 +5309,7 @@ procmpt_iocinfo_read(char *buf, char **start, off_t offset, int request, int *eo len += sprintf(buf+len, " MinBlockSize = 0x%02x bytes\n", 4*ioc->facts.BlockSize); len += sprintf(buf+len, " RequestFrames @ 0x%p (Dma @ 0x%p)\n", - (void *)ioc->req_alloc, (void *)(ulong)ioc->req_alloc_dma); + (void *)ioc->req_frames, (void *)(ulong)ioc->req_frames_dma); /* * Rounding UP to nearest 4-kB boundary here... */ @@ -5298,8 +5321,8 @@ procmpt_iocinfo_read(char *buf, char **start, off_t offset, int request, int *eo 4*ioc->facts.RequestFrameSize, ioc->facts.GlobalCredits); - len += sprintf(buf+len, " ReplyFrames @ 0x%p (Dma @ 0x%p)\n", - (void *)ioc->reply_alloc, (void *)(ulong)ioc->reply_alloc_dma); + len += sprintf(buf+len, " Frames @ 0x%p (Dma @ 0x%p)\n", + (void *)ioc->alloc, (void *)(ulong)ioc->alloc_dma); sz = (ioc->reply_sz * ioc->reply_depth) + 128; len += sprintf(buf+len, " {CurRepSz=%d} x {CurRepDepth=%d} = %d bytes ^= 0x%x\n", ioc->reply_sz, ioc->reply_depth, ioc->reply_sz*ioc->reply_depth, sz); @@ -5592,7 +5615,7 @@ ProcessEventNotification(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply } evStr = EventDescriptionStr(event, evData0); - dprintk((MYIOC_s_INFO_FMT "MPT event (%s=%02Xh) detected!\n", + devtprintk((MYIOC_s_INFO_FMT "MPT event (%s=%02Xh) detected!\n", ioc->name, evStr, event)); @@ -5664,7 +5687,7 @@ ProcessEventNotification(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply */ for (ii=MPT_MAX_PROTOCOL_DRIVERS-1; ii; ii--) { if (MptEvHandlers[ii]) { - dprintk((MYIOC_s_INFO_FMT "Routing Event to event handler #%d\n", + devtprintk((MYIOC_s_INFO_FMT "Routing Event to event handler #%d\n", ioc->name, ii)); r += (*(MptEvHandlers[ii]))(ioc, pEventReply); handlers++; @@ -5677,8 +5700,8 @@ ProcessEventNotification(MPT_ADAPTER *ioc, EventNotificationReply_t *pEventReply */ if (pEventReply->AckRequired == MPI_EVENT_NOTIFICATION_ACK_REQUIRED) { if ((ii = SendEventAck(ioc, pEventReply)) != 0) { - printk(MYIOC_s_WARN_FMT "SendEventAck returned %d\n", - ioc->name, ii); + devtprintk((MYIOC_s_WARN_FMT "SendEventAck returned %d\n", + ioc->name, ii)); } } @@ -5702,9 +5725,8 @@ mpt_fc_log_info(MPT_ADAPTER *ioc, u32 log_info) "FC Link", "Context Manager", "Invalid Field Offset", "State Change Info" }; u8 subcl = (log_info >> 24) & 0x7; -// u32 SubCl = log_info & 0x27000000; - printk(MYIOC_s_INFO_FMT "LogInfo(0x%08x): SubCl={%s}", + printk(MYIOC_s_INFO_FMT "LogInfo(0x%08x): SubCl={%s}\n", ioc->name, log_info, subcl_str[subcl]); } @@ -5907,50 +5929,6 @@ mpt_sp_ioc_info(MPT_ADAPTER *ioc, u32 ioc_status, MPT_FRAME_HDR *mf) } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/** - * mpt_register_ascqops_strings - Register SCSI ASC/ASCQ and SCSI - * OpCode strings from the (optional) isense module. - * @ascqTable: Pointer to ASCQ_Table_t structure - * @ascqtbl_sz: Number of entries in ASCQ_Table - * @opsTable: Pointer to array of SCSI OpCode strings (char pointers) - * - * Specialized driver registration routine for the isense driver. - */ -int -mpt_register_ascqops_strings(void *ascqTable, int ascqtbl_sz, const char **opsTable) -{ - int r = 0; - - if (ascqTable && ascqtbl_sz && opsTable) { - mpt_v_ASCQ_TablePtr = ascqTable; - mpt_ASCQ_TableSz = ascqtbl_sz; - mpt_ScsiOpcodesPtr = opsTable; - printk(KERN_INFO MYNAM ": English readable SCSI-3 strings enabled:-)\n"); - isense_idx = last_drv_idx; - r = 1; - } - return r; -} - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/** - * mpt_deregister_ascqops_strings - Deregister SCSI ASC/ASCQ and SCSI - * OpCode strings from the isense driver. - * - * Specialized driver deregistration routine for the isense driver. - */ -void -mpt_deregister_ascqops_strings(void) -{ - mpt_v_ASCQ_TablePtr = NULL; - mpt_ASCQ_TableSz = 0; - mpt_ScsiOpcodesPtr = NULL; - printk(KERN_INFO MYNAM ": English readable SCSI-3 strings disabled)-:\n"); - isense_idx = -1; -} - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ - EXPORT_SYMBOL(ioc_list); EXPORT_SYMBOL(mpt_proc_root_dir); EXPORT_SYMBOL(DmpService); @@ -5982,13 +5960,6 @@ EXPORT_SYMBOL(mpt_read_ioc_pg_3); EXPORT_SYMBOL(mpt_alloc_fw_memory); EXPORT_SYMBOL(mpt_free_fw_memory); -EXPORT_SYMBOL(mpt_register_ascqops_strings); -EXPORT_SYMBOL(mpt_deregister_ascqops_strings); -EXPORT_SYMBOL(mpt_v_ASCQ_TablePtr); -EXPORT_SYMBOL(mpt_ASCQ_TableSz); -EXPORT_SYMBOL(mpt_ScsiOpcodesPtr); - - static struct pci_driver mptbase_driver = { .name = "mptbase", .id_table = mptbase_pci_table, diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index 8a84b72a3..4b9b4934d 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h @@ -60,8 +60,6 @@ #include #include -#include "scsi3.h" /* SCSI defines */ - #include "lsi/mpi_type.h" #include "lsi/mpi.h" /* Fusion MPI(nterface) basic defs */ #include "lsi/mpi_ioc.h" /* Fusion MPT IOC(ontroller) defs */ @@ -85,8 +83,8 @@ #define COPYRIGHT "Copyright (c) 1999-2004 " MODULEAUTHOR #endif -#define MPT_LINUX_VERSION_COMMON "3.01.09" -#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.01.09" +#define MPT_LINUX_VERSION_COMMON "3.01.16" +#define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.01.16" #define WHAT_MAGIC_STRING "@" "(" "#" ")" #define show_mptmod_ver(s,ver) \ @@ -320,17 +318,6 @@ typedef struct _Q_TRACKER { struct _Q_ITEM *tail; } Q_TRACKER; -typedef struct _MPT_DONE_Q { - struct _MPT_DONE_Q *forw; - struct _MPT_DONE_Q *back; - void *argp; -} MPT_DONE_Q; - -typedef struct _DONE_Q_TRACKER { - MPT_DONE_Q *head; - MPT_DONE_Q *tail; -} DONE_Q_TRACKER; - /* * Chip-specific stuff... FC929 delineates break between * FC and Parallel SCSI parts. Do NOT re-order. @@ -403,6 +390,11 @@ typedef struct _ScsiCmndTracker { void *tail; } ScsiCmndTracker; +/* VirtDevice negoFlags field */ +#define MPT_TARGET_NO_NEGO_WIDE 0x01 +#define MPT_TARGET_NO_NEGO_SYNC 0x02 +#define MPT_TARGET_NO_NEGO_QAS 0x04 +#define MPT_TAPE_NEGO_IDP 0x08 /* * VirtDevice - FC LUN device or SCSI target device @@ -420,8 +412,8 @@ typedef struct _VirtDevice { u8 bus_id; u8 minSyncFactor; /* 0xFF is async */ u8 maxOffset; /* 0 if async */ - u8 maxWidth; /* 0 if narrow, 1 if wide*/ - u8 negoFlags; /* bit field, 0 if WDTR/SDTR/QAS allowed */ + u8 maxWidth; /* 0 if narrow, 1 if wide */ + u8 negoFlags; /* bit field, see above */ u8 raidVolume; /* set, if RAID Volume */ u8 type; /* byte 0 of Inquiry data */ u8 cflags; /* controller flags */ @@ -460,10 +452,6 @@ typedef struct _VirtDevice { #define MPT_TARGET_FLAGS_VALID_56 0x10 #define MPT_TARGET_FLAGS_SAF_TE_ISSUED 0x20 -#define MPT_TARGET_NO_NEGO_WIDE 0x01 -#define MPT_TARGET_NO_NEGO_SYNC 0x02 -#define MPT_TARGET_NO_NEGO_QAS 0x04 - typedef struct _VirtDevTracker { struct _VirtDevice *head; struct _VirtDevice *tail; @@ -523,6 +511,7 @@ typedef struct _MPT_IOCTL { u8 target; /* target for reset */ void *tmPtr; struct timer_list TMtimer; /* timer function for this adapter */ + struct semaphore sem_ioc; } MPT_IOCTL; /* @@ -592,33 +581,38 @@ typedef struct _MPT_ADAPTER int pci_irq; /* This irq */ char name[MPT_NAME_LENGTH]; /* "iocN" */ char *prod_name; /* "LSIFC9x9" */ - volatile SYSIF_REGS *chip; /* == c8817000 (mmap) */ - volatile SYSIF_REGS *pio_chip; /* Programmed IO (downloadboot) */ + SYSIF_REGS __iomem *chip; /* == c8817000 (mmap) */ + SYSIF_REGS __iomem *pio_chip; /* Programmed IO (downloadboot) */ u32 mem_phys; /* == f4020000 (mmap) */ u32 pio_mem_phys; /* Programmed IO (downloadboot) */ int mem_size; /* mmap memory size */ int alloc_total; u32 last_state; int active; - u8 *fifo_pool; /* dma pool for fifo's */ - dma_addr_t fifo_pool_dma; - int fifo_pool_sz; /* allocated size */ - u8 *chain_alloc; /* chain buffer alloc ptr */ - dma_addr_t chain_alloc_dma; - int chain_alloc_sz; - u8 *reply_alloc; /* Reply frames alloc ptr */ - dma_addr_t reply_alloc_dma; + u8 *alloc; /* frames alloc ptr */ + dma_addr_t alloc_dma; + u32 alloc_sz; MPT_FRAME_HDR *reply_frames; /* Reply msg frames - rounded up! */ - dma_addr_t reply_frames_dma; u32 reply_frames_low_dma; int reply_depth; /* Num Allocated reply frames */ int reply_sz; /* Reply frame size */ + int num_chain; /* Number of chain buffers */ + /* Pool of buffers for chaining. ReqToChain + * and ChainToChain track index of chain buffers. + * ChainBuffer (DMA) virt/phys addresses. + * FreeChainQ (lock) locking mechanisms. + */ + int *ReqToChain; + int *RequestNB; + int *ChainToChain; + u8 *ChainBuffer; + dma_addr_t ChainBufferDMA; + MPT_Q_TRACKER FreeChainQ; + spinlock_t FreeChainQlock; CHIP_TYPE chip_type; /* We (host driver) get to manage our own RequestQueue! */ - u8 *req_alloc; /* Request frames alloc ptr */ - dma_addr_t req_alloc_dma; - MPT_FRAME_HDR *req_frames; /* Request msg frames - rounded up! */ dma_addr_t req_frames_dma; + MPT_FRAME_HDR *req_frames; /* Request msg frames - rounded up! */ u32 req_frames_low_dma; int req_depth; /* Number of request frames */ int req_sz; /* Request frame size (bytes) */ @@ -661,6 +655,7 @@ typedef struct _MPT_ADAPTER #else u32 mfcnt; #endif + u32 NB_for_64_byte_frame; u32 hs_req[MPT_MAX_FRAME_SIZE/sizeof(u32)]; u16 hs_reply[MPT_MAX_FRAME_SIZE/sizeof(u16)]; IOCFactsReply_t facts; @@ -674,8 +669,10 @@ typedef struct _MPT_ADAPTER u8 FirstWhoInit; u8 upload_fw; /* If set, do a fw upload */ u8 reload_fw; /* Force a FW Reload on next reset */ - u8 pad1[5]; + u8 NBShiftFactor; /* NB Shift Factor based on Block Size (Facts) */ + u8 pad1[4]; struct list_head list; + struct net_device *netdev; } MPT_ADAPTER; @@ -757,10 +754,10 @@ typedef struct _mpt_sge { #define dexitprintk(x) #endif -#ifdef MPT_DEBUG_RESET -#define drsprintk(x) printk x +#if defined MPT_DEBUG_FAIL || defined (MPT_DEBUG_SG) +#define dfailprintk(x) printk x #else -#define drsprintk(x) +#define dfailprintk(x) #endif #ifdef MPT_DEBUG_HANDSHAKE @@ -769,11 +766,34 @@ typedef struct _mpt_sge { #define dhsprintk(x) #endif +#ifdef MPT_DEBUG_EVENTS +#define devtprintk(x) printk x +#else +#define devtprintk(x) +#endif + +#ifdef MPT_DEBUG_RESET +#define drsprintk(x) printk x +#else +#define drsprintk(x) +#endif + //#if defined(MPT_DEBUG) || defined(MPT_DEBUG_MSG_FRAME) #if defined(MPT_DEBUG_MSG_FRAME) #define dmfprintk(x) printk x +#define DBG_DUMP_REQUEST_FRAME(mfp) \ + { int i, n = 24; \ + u32 *m = (u32 *)(mfp); \ + for (i=0; i> 16; \ + printk("TM_REPLY MessageLength=%d:\n", n); \ + for (i=0; iid])) + if (down_trylock(&ioc->ioctl->sem_ioc)) rc = -EAGAIN; } else { - if (down_interruptible(&mptctl_syscall_sem_ioc[ioc->id])) + if (down_interruptible(&ioc->ioctl->sem_ioc)) rc = -ERESTARTSYS; } dctlprintk((KERN_INFO MYNAM "::mptctl_syscall_down return %d\n", rc)); @@ -445,7 +447,7 @@ static int mptctl_bus_reset(MPT_IOCTL *ioctl) mptctl_free_tm_flags(ioctl->ioc); del_timer(&ioctl->TMtimer); - mpt_free_msg_frame(mptctl_id, ioctl->ioc, mf); + mpt_free_msg_frame(ioctl->ioc, mf); ioctl->tmPtr = NULL; } @@ -482,7 +484,7 @@ mptctl_free_tm_flags(MPT_ADAPTER *ioc) spin_lock_irqsave(&ioc->FreeQlock, flags); - hd->tmState = TM_STATE_ERROR; + hd->tmState = TM_STATE_NONE; hd->tmPending = 0; spin_unlock_irqrestore(&ioc->FreeQlock, flags); @@ -520,7 +522,7 @@ mptctl_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) if (ioctl && (ioctl->status & MPT_IOCTL_STATUS_TMTIMER_ACTIVE)){ ioctl->status &= ~MPT_IOCTL_STATUS_TMTIMER_ACTIVE; del_timer(&ioctl->TMtimer); - mpt_free_msg_frame(mptctl_id, ioc, ioctl->tmPtr); + mpt_free_msg_frame(ioc, ioctl->tmPtr); } } else { @@ -630,8 +632,7 @@ mptctl_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned else ret = -EINVAL; - - up(&mptctl_syscall_sem_ioc[iocp->id]); + up(&iocp->ioctl->sem_ioc); return ret; } @@ -1807,7 +1808,6 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) struct buflist bufOut; /* data Out buffer */ dma_addr_t dma_addr_in; dma_addr_t dma_addr_out; - int dir; /* PCI data direction */ int sgSize = 0; /* Num SG elements */ int iocnum, flagsLength; int sz, rc = 0; @@ -2117,9 +2117,9 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) /* Set up the dataOut memory allocation */ if (karg.dataOutSize > 0) { - dir = PCI_DMA_TODEVICE; if (karg.dataInSize > 0) { flagsLength = ( MPI_SGE_FLAGS_SIMPLE_ELEMENT | + MPI_SGE_FLAGS_END_OF_BUFFER | MPI_SGE_FLAGS_DIRECTION | mpt_addr_size() ) << MPI_SGE_FLAGS_SHIFT; @@ -2158,7 +2158,6 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) } if (karg.dataInSize > 0) { - dir = PCI_DMA_FROMDEVICE; flagsLength = MPT_SGE_FLAGS_SSIMPLE_READ; flagsLength |= karg.dataInSize; @@ -2196,6 +2195,7 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) add_timer(&ioc->ioctl->timer); if (hdr->Function == MPI_FUNCTION_SCSI_TASK_MGMT) { + DBG_DUMP_TM_REQUEST_FRAME((u32 *)mf); rc = mpt_send_handshake_request(mptctl_id, ioc, sizeof(SCSITaskMgmt_t), (u32*)mf, CAN_SLEEP); if (rc == 0) { @@ -2206,7 +2206,7 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) del_timer(&ioc->ioctl->timer); ioc->ioctl->status &= ~MPT_IOCTL_STATUS_TIMER_ACTIVE; ioc->ioctl->status |= MPT_IOCTL_STATUS_TM_FAILED; - mpt_free_msg_frame(mptctl_id, ioc, mf); + mpt_free_msg_frame(ioc, mf); } } else { mpt_put_msg_frame(mptctl_id, ioc, mf); @@ -2324,7 +2324,7 @@ done_free_mem: * otherwise, failure occured after mf acquired. */ if (mf) - mpt_free_msg_frame(mptctl_id, ioc, mf); + mpt_free_msg_frame(ioc, mf); return rc; } @@ -2738,7 +2738,7 @@ compat_mptfwxfer_ioctl(unsigned int fd, unsigned int cmd, ret = mptctl_do_fw_download(kfw.iocnum, kfw.bufp, kfw.fwlen); - up(&mptctl_syscall_sem_ioc[iocp->id]); + up(&iocp->ioctl->sem_ioc); return ret; } @@ -2792,55 +2792,91 @@ compat_mpt_command(unsigned int fd, unsigned int cmd, */ ret = mptctl_do_mpt_command (karg, &uarg->MF); - up(&mptctl_syscall_sem_ioc[iocp->id]); + up(&iocp->ioctl->sem_ioc); return ret; } #endif + /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -int __init mptctl_init(void) +/* + * mptctl_probe - Installs ioctl devices per bus. + * @pdev: Pointer to pci_dev structure + * + * Returns 0 for success, non-zero for failure. + * + */ + +static int +mptctl_probe(struct pci_dev *pdev, const struct pci_device_id *id) { int err; - int i; - int where = 1; int sz; u8 *mem; - MPT_ADAPTER *ioc = NULL; - int iocnum; + MPT_ADAPTER *ioc = pci_get_drvdata(pdev); - show_mptmod_ver(my_NAME, my_VERSION); + /* + * Allocate and inite a MPT_IOCTL structure + */ + sz = sizeof (MPT_IOCTL); + mem = kmalloc(sz, GFP_KERNEL); + if (mem == NULL) { + err = -ENOMEM; + goto out_fail; + } - for (i=0; iioctl = (MPT_IOCTL *) mem; + ioc->ioctl->ioc = ioc; + init_timer (&ioc->ioctl->timer); + ioc->ioctl->timer.data = (unsigned long) ioc->ioctl; + ioc->ioctl->timer.function = mptctl_timer_expired; + init_timer (&ioc->ioctl->TMtimer); + ioc->ioctl->TMtimer.data = (unsigned long) ioc->ioctl; + ioc->ioctl->TMtimer.function = mptctl_timer_expired; + sema_init(&ioc->ioctl->sem_ioc, 1); + return 0; - ioc = NULL; - if (((iocnum = mpt_verify_adapter(i, &ioc)) < 0) || - (ioc == NULL)) { - continue; - } - else { - /* This adapter instance is found. - * Allocate and inite a MPT_IOCTL structure - */ - sz = sizeof (MPT_IOCTL); - mem = kmalloc(sz, GFP_KERNEL); - if (mem == NULL) { - err = -ENOMEM; - goto out_fail; - } +out_fail: - memset(mem, 0, sz); - ioc->ioctl = (MPT_IOCTL *) mem; - ioc->ioctl->ioc = ioc; - init_timer (&ioc->ioctl->timer); - ioc->ioctl->timer.data = (unsigned long) ioc->ioctl; - ioc->ioctl->timer.function = mptctl_timer_expired; - init_timer (&ioc->ioctl->TMtimer); - ioc->ioctl->TMtimer.data = (unsigned long) ioc->ioctl; - ioc->ioctl->TMtimer.function = mptctl_timer_expired; - } + mptctl_remove(pdev); + return err; +} + +/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ +/* + * mptctl_remove - Removed ioctl devices + * @pdev: Pointer to pci_dev structure + * + * + */ +static void +mptctl_remove(struct pci_dev *pdev) +{ + MPT_ADAPTER *ioc = pci_get_drvdata(pdev); + + kfree ( ioc->ioctl ); +} + +static struct mpt_pci_driver mptctl_driver = { + .probe = mptctl_probe, + .remove = mptctl_remove, +}; + +/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ +static int __init mptctl_init(void) +{ + int err; + int where = 1; + + show_mptmod_ver(my_NAME, my_VERSION); + + if(mpt_device_driver_register(&mptctl_driver, + MPTCTL_DRIVER) != 0 ) { + dprintk((KERN_INFO MYNAM + ": failed to register dd callbacks\n")); } #ifdef CONFIG_COMPAT @@ -2922,29 +2958,14 @@ out_fail: unregister_ioctl32_conversion(HP_GETTARGETINFO); #endif - for (i=0; iioctl) { - kfree ( ioc->ioctl ); - ioc->ioctl = NULL; - } - } - } + mpt_device_driver_deregister(MPTCTL_DRIVER); + return err; } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -void mptctl_exit(void) +static void mptctl_exit(void) { - int i; - MPT_ADAPTER *ioc; - int iocnum; - misc_deregister(&mptctl_miscdev); printk(KERN_INFO MYNAM ": Deregistered /dev/%s @ (major,minor=%d,%d)\n", mptctl_miscdev.name, MISC_MAJOR, mptctl_miscdev.minor); @@ -2957,6 +2978,8 @@ void mptctl_exit(void) mpt_deregister(mptctl_id); printk(KERN_INFO MYNAM ": Deregistered from Fusion MPT base driver\n"); + mpt_device_driver_deregister(MPTCTL_DRIVER); + #ifdef CONFIG_COMPAT unregister_ioctl32_conversion(MPTIOCINFO); unregister_ioctl32_conversion(MPTIOCINFO1); @@ -2973,20 +2996,6 @@ void mptctl_exit(void) unregister_ioctl32_conversion(HP_GETTARGETINFO); #endif - /* Free allocated memory */ - for (i=0; iioctl) { - kfree ( ioc->ioctl ); - ioc->ioctl = NULL; - } - } - } } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ diff --git a/drivers/message/fusion/mptlan.c b/drivers/message/fusion/mptlan.c index 80c9b97eb..5327c9215 100644 --- a/drivers/message/fusion/mptlan.c +++ b/drivers/message/fusion/mptlan.c @@ -177,11 +177,9 @@ static int LanCtx = -1; static u32 max_buckets_out = 127; static u32 tx_max_out_p = 127 - 16; -static struct net_device *mpt_landev[MPT_MAX_ADAPTERS+1]; - #ifdef QLOGIC_NAA_WORKAROUND static struct NAA_Hosed *mpt_bad_naa = NULL; -rwlock_t bad_naa_lock; +rwlock_t bad_naa_lock = RW_LOCK_UNLOCKED; #endif /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -203,7 +201,7 @@ extern int mpt_lan_index; static int lan_reply (MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *reply) { - struct net_device *dev = mpt_landev[ioc->id]; + struct net_device *dev = ioc->netdev; int FreeReqFrame = 0; dioprintk((KERN_INFO MYNAM ": %s/%s: Got reply.\n", @@ -336,7 +334,7 @@ lan_reply (MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *reply) static int mpt_lan_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) { - struct net_device *dev = mpt_landev[ioc->id]; + struct net_device *dev = ioc->netdev; struct mpt_lan_priv *priv = netdev_priv(dev); dlprintk((KERN_INFO MYNAM ": IOC %s_reset routed to LAN driver!\n", @@ -1334,7 +1332,7 @@ mpt_lan_post_receive_buckets(void *dev_id) if (pSimple == NULL) { /**/ printk (KERN_WARNING MYNAM "/%s: No buckets posted\n", /**/ __FUNCTION__); - mpt_free_msg_frame(LanCtx, mpt_dev, mf); + mpt_free_msg_frame(mpt_dev, mf); goto out; } @@ -1451,20 +1449,74 @@ mpt_register_lan_device (MPT_ADAPTER *mpt_dev, int pnum) return dev; } -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -static int __init mpt_lan_init (void) +static int +mptlan_probe(struct pci_dev *pdev, const struct pci_device_id *id) { - struct net_device *dev; - MPT_ADAPTER *p; - int i, j; + MPT_ADAPTER *ioc = pci_get_drvdata(pdev); + struct net_device *dev; + int i; + + for (i = 0; i < ioc->facts.NumberOfPorts; i++) { + printk(KERN_INFO MYNAM ": %s: PortNum=%x, " + "ProtocolFlags=%02Xh (%c%c%c%c)\n", + ioc->name, ioc->pfacts[i].PortNumber, + ioc->pfacts[i].ProtocolFlags, + MPT_PROTOCOL_FLAGS_c_c_c_c( + ioc->pfacts[i].ProtocolFlags)); + + if (!(ioc->pfacts[i].ProtocolFlags & + MPI_PORTFACTS_PROTOCOL_LAN)) { + printk(KERN_INFO MYNAM ": %s: Hmmm... LAN protocol " + "seems to be disabled on this adapter port!\n", + ioc->name); + continue; + } - show_mptmod_ver(LANAME, LANVER); + dev = mpt_register_lan_device(ioc, i); + if (!dev) { + printk(KERN_ERR MYNAM ": %s: Unable to register " + "port%d as a LAN device\n", ioc->name, + ioc->pfacts[i].PortNumber); + continue; + } + + printk(KERN_INFO MYNAM ": %s: Fusion MPT LAN device " + "registered as '%s'\n", ioc->name, dev->name); + printk(KERN_INFO MYNAM ": %s/%s: " + "LanAddr = %02X:%02X:%02X:%02X:%02X:%02X\n", + IOC_AND_NETDEV_NAMES_s_s(dev), + dev->dev_addr[0], dev->dev_addr[1], + dev->dev_addr[2], dev->dev_addr[3], + dev->dev_addr[4], dev->dev_addr[5]); + + ioc->netdev = dev; -#ifdef QLOGIC_NAA_WORKAROUND - /* Init the global r/w lock for the bad_naa list. We want to do this - before any boards are initialized and may be used. */ - rwlock_init(&bad_naa_lock); -#endif + return 0; + } + + return -ENODEV; +} + +static void +mptlan_remove(struct pci_dev *pdev) +{ + MPT_ADAPTER *ioc = pci_get_drvdata(pdev); + struct net_device *dev = ioc->netdev; + + if(dev != NULL) { + unregister_netdev(dev); + free_netdev(dev); + } +} + +static struct mpt_pci_driver mptlan_driver = { + .probe = mptlan_probe, + .remove = mptlan_remove, +}; + +static int __init mpt_lan_init (void) +{ + show_mptmod_ver(LANAME, LANVER); if ((LanCtx = mpt_register(lan_reply, MPTLAN_DRIVER)) <= 0) { printk (KERN_ERR MYNAM ": Failed to register with MPT base driver\n"); @@ -1476,88 +1528,32 @@ static int __init mpt_lan_init (void) dlprintk((KERN_INFO MYNAM ": assigned context of %d\n", LanCtx)); - if (mpt_reset_register(LanCtx, mpt_lan_ioc_reset) == 0) { - dlprintk((KERN_INFO MYNAM ": Registered for IOC reset notifications\n")); - } else { + if (mpt_reset_register(LanCtx, mpt_lan_ioc_reset)) { printk(KERN_ERR MYNAM ": Eieee! unable to register a reset " "handler with mptbase! The world is at an end! " "Everything is fading to black! Goodbye.\n"); return -EBUSY; } - for (j = 0; j < MPT_MAX_ADAPTERS; j++) { - mpt_landev[j] = NULL; - } - - list_for_each_entry(p, &ioc_list, list) { - for (i = 0; i < p->facts.NumberOfPorts; i++) { - printk (KERN_INFO MYNAM ": %s: PortNum=%x, ProtocolFlags=%02Xh (%c%c%c%c)\n", - p->name, - p->pfacts[i].PortNumber, - p->pfacts[i].ProtocolFlags, - MPT_PROTOCOL_FLAGS_c_c_c_c(p->pfacts[i].ProtocolFlags)); - - if (!(p->pfacts[i].ProtocolFlags & MPI_PORTFACTS_PROTOCOL_LAN)) { - printk (KERN_INFO MYNAM ": %s: Hmmm... LAN protocol seems to be disabled on this adapter port!\n", - p->name); - continue; - } - - dev = mpt_register_lan_device (p, i); - if (!dev) { - printk (KERN_ERR MYNAM ": %s: Unable to register port%d as a LAN device\n", - p->name, - p->pfacts[i].PortNumber); - } - printk (KERN_INFO MYNAM ": %s: Fusion MPT LAN device registered as '%s'\n", - p->name, dev->name); - printk (KERN_INFO MYNAM ": %s/%s: LanAddr = %02X:%02X:%02X:%02X:%02X:%02X\n", - IOC_AND_NETDEV_NAMES_s_s(dev), - dev->dev_addr[0], dev->dev_addr[1], - dev->dev_addr[2], dev->dev_addr[3], - dev->dev_addr[4], dev->dev_addr[5]); -// printk (KERN_INFO MYNAM ": %s/%s: Max_TX_outstanding = %d\n", -// IOC_AND_NETDEV_NAMES_s_s(dev), -// NETDEV_TO_LANPRIV_PTR(dev)->tx_max_out); - j = p->id; - mpt_landev[j] = dev; - dlprintk((KERN_INFO MYNAM "/init: dev_addr=%p, mpt_landev[%d]=%p\n", - dev, j, mpt_landev[j])); - - } - } - + dlprintk((KERN_INFO MYNAM ": Registered for IOC reset notifications\n")); + + if (mpt_device_driver_register(&mptlan_driver, MPTLAN_DRIVER)) + dprintk((KERN_INFO MYNAM ": failed to register dd callbacks\n")); return 0; } -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ static void __exit mpt_lan_exit(void) { - int i; - + mpt_device_driver_deregister(MPTLAN_DRIVER); mpt_reset_deregister(LanCtx); - for (i = 0; mpt_landev[i] != NULL; i++) { - struct net_device *dev = mpt_landev[i]; - - printk (KERN_INFO ": %s/%s: Fusion MPT LAN device unregistered\n", - IOC_AND_NETDEV_NAMES_s_s(dev)); - unregister_netdev(dev); - free_netdev(dev); - mpt_landev[i] = NULL; - } - if (LanCtx >= 0) { mpt_deregister(LanCtx); LanCtx = -1; mpt_lan_index = 0; } - - /* deregister any send/receive handler structs. I2Oism? */ } -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ - module_init(mpt_lan_init); module_exit(mpt_lan_exit); diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index 8c82254b4..38c8fb77d 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c @@ -86,7 +86,6 @@ #include "mptbase.h" #include "mptscsih.h" -#include "isense.h" /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ #define my_NAME "Fusion MPT SCSI Host driver" @@ -100,6 +99,7 @@ MODULE_LICENSE("GPL"); /* Set string for command line args from insmod */ #ifdef MODULE char *mptscsih = NULL; +MODULE_PARM(mptscsih, "s"); #endif /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -114,6 +114,7 @@ typedef struct _BIG_SENSE_BUF { #define MPT_SCANDV_SOME_ERROR (0x00000004) #define MPT_SCANDV_SELECTION_TIMEOUT (0x00000008) #define MPT_SCANDV_ISSUE_SENSE (0x00000010) +#define MPT_SCANDV_FALLBACK (0x00000020) #define MPT_SCANDV_MAX_RETRIES (10) @@ -161,15 +162,12 @@ static int mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR * static void mptscsih_report_queue_full(struct scsi_cmnd *sc, SCSIIOReply_t *pScsiReply, SCSIIORequest_t *pScsiReq); static int mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *r); -static int mptscsih_AddSGE(MPT_SCSI_HOST *hd, struct scsi_cmnd *SCpnt, +static int mptscsih_AddSGE(MPT_ADAPTER *ioc, struct scsi_cmnd *SCpnt, SCSIIORequest_t *pReq, int req_idx); -static void mptscsih_freeChainBuffers(MPT_SCSI_HOST *hd, int req_idx); -static int mptscsih_initChainBuffers (MPT_SCSI_HOST *hd, int init); +static void mptscsih_freeChainBuffers(MPT_ADAPTER *ioc, int req_idx); static void copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SCSIIOReply_t *pScsiReply); static int mptscsih_tm_pending_wait(MPT_SCSI_HOST * hd); static u32 SCPNT_TO_LOOKUP_IDX(struct scsi_cmnd *sc); -static MPT_FRAME_HDR *mptscsih_search_pendingQ(MPT_SCSI_HOST *hd, int scpnt_idx); -static void post_pendingQ_commands(MPT_SCSI_HOST *hd); static int mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun, int ctx2abort, ulong timeout, int sleepFlag); static int mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun, int ctx2abort, ulong timeout, int sleepFlag); @@ -178,7 +176,7 @@ static int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset); static int mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply); static void mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char *data, int dlen); -void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56); +static void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56); static void mptscsih_set_dvflags(MPT_SCSI_HOST *hd, SCSIIORequest_t *pReq); static void mptscsih_setDevicePage1Flags (u8 width, u8 factor, u8 offset, int *requestedPtr, int *configurationPtr, u8 flags); static void mptscsih_no_negotiate(MPT_SCSI_HOST *hd, int target_id); @@ -246,6 +244,7 @@ static struct work_struct mptscsih_dvTask; static DECLARE_WAIT_QUEUE_HEAD (scandv_waitq); static int scandv_wait_done = 1; + /* Driver default setup */ static struct mptscsih_driver_setup @@ -323,44 +322,47 @@ mptscsih_add_chain(char *pAddr, u8 next, u16 length, dma_addr_t dma_addr) /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /* - * mptscsih_getFreeChainBuffes - Function to get a free chain + * mptscsih_getFreeChainBuffer - Function to get a free chain * from the MPT_SCSI_HOST FreeChainQ. - * @hd: Pointer to the MPT_SCSI_HOST instance + * @ioc: Pointer to MPT_ADAPTER structure * @req_idx: Index of the SCSI IO request frame. (output) * * return SUCCESS or FAILED */ static inline int -mptscsih_getFreeChainBuffer(MPT_SCSI_HOST *hd, int *retIndex) +mptscsih_getFreeChainBuffer(MPT_ADAPTER *ioc, int *retIndex) { MPT_FRAME_HDR *chainBuf; unsigned long flags; int rc; int chain_idx; - spin_lock_irqsave(&hd->ioc->FreeQlock, flags); - if (!Q_IS_EMPTY(&hd->FreeChainQ)) { + dsgprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer called\n", + ioc->name)); + spin_lock_irqsave(&ioc->FreeQlock, flags); + if (!Q_IS_EMPTY(&ioc->FreeChainQ)) { int offset; - chainBuf = hd->FreeChainQ.head; + chainBuf = ioc->FreeChainQ.head; Q_DEL_ITEM(&chainBuf->u.frame.linkage); - offset = (u8 *)chainBuf - (u8 *)hd->ChainBuffer; - chain_idx = offset / hd->ioc->req_sz; + offset = (u8 *)chainBuf - (u8 *)ioc->ChainBuffer; + chain_idx = offset / ioc->req_sz; rc = SUCCESS; + dsgprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer (index %d), got buf=%p\n", + ioc->name, *retIndex, chainBuf)); } else { rc = FAILED; chain_idx = MPT_HOST_NO_CHAIN; + dfailprintk((MYIOC_s_ERR_FMT "getFreeChainBuffer failed\n", + ioc->name)); } - spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); + spin_unlock_irqrestore(&ioc->FreeQlock, flags); *retIndex = chain_idx; - dsgprintk((MYIOC_s_INFO_FMT "getFreeChainBuffer (index %d), got buf=%p\n", - hd->ioc->name, *retIndex, chainBuf)); - return rc; } /* mptscsih_getFreeChainBuffer() */ @@ -368,14 +370,14 @@ mptscsih_getFreeChainBuffer(MPT_SCSI_HOST *hd, int *retIndex) /* * mptscsih_AddSGE - Add a SGE (plus chain buffers) to the * SCSIIORequest_t Message Frame. - * @hd: Pointer to MPT_SCSI_HOST structure + * @ioc: Pointer to MPT_ADAPTER structure * @SCpnt: Pointer to scsi_cmnd structure * @pReq: Pointer to SCSIIORequest_t structure * * Returns ... */ static int -mptscsih_AddSGE(MPT_SCSI_HOST *hd, struct scsi_cmnd *SCpnt, +mptscsih_AddSGE(MPT_ADAPTER *ioc, struct scsi_cmnd *SCpnt, SCSIIORequest_t *pReq, int req_idx) { char *psge; @@ -391,6 +393,7 @@ mptscsih_AddSGE(MPT_SCSI_HOST *hd, struct scsi_cmnd *SCpnt, int newIndex; int ii; dma_addr_t v2; + u32 RequestNB; sgdir = le32_to_cpu(pReq->Control) & MPI_SCSIIO_CONTROL_DATADIRECTION_MASK; if (sgdir == MPI_SCSIIO_CONTROL_WRITE) { @@ -400,25 +403,25 @@ mptscsih_AddSGE(MPT_SCSI_HOST *hd, struct scsi_cmnd *SCpnt, } psge = (char *) &pReq->SGL; - frm_sz = hd->ioc->req_sz; + frm_sz = ioc->req_sz; /* Map the data portion, if any. * sges_left = 0 if no data transfer. */ if ( (sges_left = SCpnt->use_sg) ) { - sges_left = pci_map_sg(hd->ioc->pcidev, + sges_left = pci_map_sg(ioc->pcidev, (struct scatterlist *) SCpnt->request_buffer, SCpnt->use_sg, SCpnt->sc_data_direction); if (sges_left == 0) return FAILED; } else if (SCpnt->request_bufflen) { - SCpnt->SCp.dma_handle = pci_map_single(hd->ioc->pcidev, + SCpnt->SCp.dma_handle = pci_map_single(ioc->pcidev, SCpnt->request_buffer, SCpnt->request_bufflen, SCpnt->sc_data_direction); dsgprintk((MYIOC_s_INFO_FMT "SG: non-SG for %p, len=%d\n", - hd->ioc->name, SCpnt, SCpnt->request_bufflen)); + ioc->name, SCpnt, SCpnt->request_bufflen)); mptscsih_add_sge((char *) &pReq->SGL, 0xD1000000|MPT_SGE_FLAGS_ADDRESSING|sgdir|SCpnt->request_bufflen, SCpnt->SCp.dma_handle); @@ -493,12 +496,16 @@ nextSGEset: * Update the chain element * Offset and Length fields. */ - mptscsih_add_chain((char *)chainSge, 0, sgeOffset, hd->ChainBufferDMA + chain_dma_off); + mptscsih_add_chain((char *)chainSge, 0, sgeOffset, ioc->ChainBufferDMA + chain_dma_off); } else { /* The current buffer is the original MF * and there is no Chain buffer. */ pReq->ChainOffset = 0; + RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; + dsgprintk((MYIOC_s_ERR_FMT + "Single Buffer RequestNB=%x, sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset)); + ioc->RequestNB[req_idx] = RequestNB; } } else { /* At least one chain buffer is needed. @@ -513,7 +520,7 @@ nextSGEset: */ dsgprintk((MYIOC_s_INFO_FMT "SG: Chain Required! sg done %d\n", - hd->ioc->name, sg_done)); + ioc->name, sg_done)); /* Set LAST_ELEMENT flag for last non-chain element * in the buffer. Since psge points at the NEXT @@ -537,13 +544,16 @@ nextSGEset: */ u8 nextChain = (u8) (sgeOffset >> 2); sgeOffset += (sizeof(u32) + sizeof(dma_addr_t)); - mptscsih_add_chain((char *)chainSge, nextChain, sgeOffset, hd->ChainBufferDMA + chain_dma_off); + mptscsih_add_chain((char *)chainSge, nextChain, sgeOffset, ioc->ChainBufferDMA + chain_dma_off); } else { /* The original MF buffer requires a chain buffer - * set the offset. * Last element in this MF is a chain element. */ pReq->ChainOffset = (u8) (sgeOffset >> 2); + RequestNB = (((sgeOffset - 1) >> ioc->NBShiftFactor) + 1) & 0x03; + dsgprintk((MYIOC_s_ERR_FMT "Chain Buffer Needed, RequestNB=%x sgeOffset=%d\n", ioc->name, RequestNB, sgeOffset)); + ioc->RequestNB[req_idx] = RequestNB; } sges_left -= sg_done; @@ -552,19 +562,22 @@ nextSGEset: /* NOTE: psge points to the beginning of the chain element * in current buffer. Get a chain buffer. */ - if ((mptscsih_getFreeChainBuffer(hd, &newIndex)) == FAILED) + dsgprintk((MYIOC_s_INFO_FMT + "calling getFreeChainBuffer SCSI cmd=%02x (%p)\n", + ioc->name, pReq->CDB[0], SCpnt)); + if ((mptscsih_getFreeChainBuffer(ioc, &newIndex)) == FAILED) return FAILED; /* Update the tracking arrays. * If chainSge == NULL, update ReqToChain, else ChainToChain */ if (chainSge) { - hd->ChainToChain[chain_idx] = newIndex; + ioc->ChainToChain[chain_idx] = newIndex; } else { - hd->ReqToChain[req_idx] = newIndex; + ioc->ReqToChain[req_idx] = newIndex; } chain_idx = newIndex; - chain_dma_off = hd->ioc->req_sz * chain_idx; + chain_dma_off = ioc->req_sz * chain_idx; /* Populate the chainSGE for the current buffer. * - Set chain buffer pointer to psge and fill @@ -576,7 +589,7 @@ nextSGEset: /* Start the SGE for the next buffer */ - psge = (char *) (hd->ChainBuffer + chain_dma_off); + psge = (char *) (ioc->ChainBuffer + chain_dma_off); sgeOffset = 0; sg_done = 0; @@ -631,7 +644,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) printk(MYIOC_s_ERR_FMT "NULL ScsiCmd ptr!\n", ioc->name); - mptscsih_freeChainBuffers(hd, req_idx); + mptscsih_freeChainBuffers(ioc, req_idx); return 1; } @@ -674,14 +687,15 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) status = le16_to_cpu(pScsiReply->IOCStatus) & MPI_IOCSTATUS_MASK; scsi_state = pScsiReply->SCSIState; + scsi_status = pScsiReply->SCSIStatus; + xfer_cnt = le32_to_cpu(pScsiReply->TransferCount); - dprintk((KERN_NOTICE " Uh-Oh! (%d:%d:%d) mf=%p, mr=%p, sc=%p\n", + dreplyprintk((KERN_NOTICE " Reply (%d:%d:%d) mf=%p, mr=%p, sc=%p\n", ioc->id, pScsiReq->TargetID, pScsiReq->LUN[1], mf, mr, sc)); - dprintk((KERN_NOTICE " IOCStatus=%04xh, SCSIState=%02xh" - ", SCSIStatus=%02xh, IOCLogInfo=%08xh\n", - status, scsi_state, pScsiReply->SCSIStatus, - le32_to_cpu(pScsiReply->IOCLogInfo))); + dreplyprintk((KERN_NOTICE "IOCStatus=%04xh SCSIState=%02xh" + " SCSIStatus=%02xh xfer_cnt=%08xh\n", + status, scsi_state, scsi_status, xfer_cnt)); if (scsi_state & MPI_SCSI_STATE_AUTOSENSE_VALID) copy_sense_data(sc, hd, mf, pScsiReply); @@ -701,7 +715,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) * But not: DID_BUS_BUSY lest one risk * killing interrupt handler:-( */ - sc->result = STS_BUSY; + sc->result = SAM_STAT_BUSY; break; case MPI_IOCSTATUS_SCSI_INVALID_BUS: /* 0x0041 */ @@ -731,13 +745,22 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) break; case MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH: /* 0x0049 */ - sc->result = (DRIVER_SENSE << 24) | (DID_OK << 16) | + sc->resid = sc->request_bufflen - xfer_cnt; + if ( xfer_cnt >= sc->underflow ) { + /* Sufficient data transfer occurred */ + sc->result = (DID_OK << 16) | scsi_status; + } else if ( xfer_cnt == 0 ) { + /* A CRC Error causes this condition; retry */ + sc->result = (DRIVER_SENSE << 24) | (DID_OK << 16) | (CHECK_CONDITION << 1); - sc->sense_buffer[0] = 0x70; - sc->sense_buffer[2] = NO_SENSE; - sc->sense_buffer[12] = 0; - sc->sense_buffer[13] = 0; - dprintk((KERN_NOTICE "RESIDUAL_MISMATCH: result=%x on id=%d\n", sc->result, sc->target)); + sc->sense_buffer[0] = 0x70; + sc->sense_buffer[2] = NO_SENSE; + sc->sense_buffer[12] = 0; + sc->sense_buffer[13] = 0; + } else { + sc->result = DID_SOFT_ERROR << 16; + } + dreplyprintk((KERN_NOTICE "RESIDUAL_MISMATCH: result=%x on id=%d\n", sc->result, sc->target)); break; case MPI_IOCSTATUS_SCSI_DATA_UNDERRUN: /* 0x0045 */ @@ -745,9 +768,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) * Do upfront check for valid SenseData and give it * precedence! */ - scsi_status = pScsiReply->SCSIStatus; sc->result = (DID_OK << 16) | scsi_status; - xfer_cnt = le32_to_cpu(pScsiReply->TransferCount); if (scsi_state & MPI_SCSI_STATE_AUTOSENSE_VALID) { /* Have already saved the status and sense data */ @@ -769,12 +790,12 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) /* Give report and update residual count. */ - dprintk((KERN_NOTICE " sc->underflow={report ERR if < %02xh bytes xfer'd}\n", + dreplyprintk((KERN_NOTICE " sc->underflow={report ERR if < %02xh bytes xfer'd}\n", sc->underflow)); - dprintk((KERN_NOTICE " ActBytesXferd=%02xh\n", xfer_cnt)); + dreplyprintk((KERN_NOTICE " ActBytesXferd=%02xh\n", xfer_cnt)); sc->resid = sc->request_bufflen - xfer_cnt; - dprintk((KERN_NOTICE " SET sc->resid=%02xh\n", sc->resid)); + dreplyprintk((KERN_NOTICE " SET sc->resid=%02xh\n", sc->resid)); /* Report Queue Full */ @@ -785,7 +806,8 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) case MPI_IOCSTATUS_SCSI_RECOVERED_ERROR: /* 0x0040 */ case MPI_IOCSTATUS_SUCCESS: /* 0x0000 */ - sc->result = (DID_OK << 16) | pScsiReply->SCSIStatus; + scsi_status = pScsiReply->SCSIStatus; + sc->result = (DID_OK << 16) | scsi_status; if (scsi_state == 0) { ; } else if (scsi_state & MPI_SCSI_STATE_AUTOSENSE_VALID) { @@ -851,7 +873,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) } /* switch(status) */ - dprintk((KERN_NOTICE " sc->result set to %08xh\n", sc->result)); + dreplyprintk((KERN_NOTICE " sc->result is %08xh\n", sc->result)); } /* end of address reply case */ /* Unmap the DMA buffers, if any. */ @@ -868,88 +890,10 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) sc->scsi_done(sc); /* Issue the command callback */ /* Free Chain buffers */ - mptscsih_freeChainBuffers(hd, req_idx); + mptscsih_freeChainBuffers(ioc, req_idx); return 1; } -/* - * Flush all commands on the doneQ. - * Lock Q when deleting/adding members - * Lock io_request_lock for OS callback. - */ -static void -flush_doneQ(MPT_SCSI_HOST *hd) -{ - MPT_DONE_Q *buffer; - struct scsi_cmnd *SCpnt; - unsigned long flags; - - /* Flush the doneQ. - */ - dtmprintk((KERN_INFO MYNAM ": flush_doneQ called\n")); - while (1) { - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (Q_IS_EMPTY(&hd->doneQ)) { - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - break; - } - - buffer = hd->doneQ.head; - /* Delete from Q - */ - Q_DEL_ITEM(buffer); - - /* Set the struct scsi_cmnd pointer - */ - SCpnt = (struct scsi_cmnd *) buffer->argp; - buffer->argp = NULL; - - /* Add to the freeQ - */ - Q_ADD_TAIL(&hd->freeQ.head, buffer, MPT_DONE_Q); - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - - /* Do the OS callback. - */ - SCpnt->scsi_done(SCpnt); - } - - return; -} - -/* - * Search the doneQ for a specific command. If found, delete from Q. - * Calling function will finish processing. - */ -static void -search_doneQ_for_cmd(MPT_SCSI_HOST *hd, struct scsi_cmnd *SCpnt) -{ - unsigned long flags; - MPT_DONE_Q *buffer; - - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (!Q_IS_EMPTY(&hd->doneQ)) { - buffer = hd->doneQ.head; - do { - struct scsi_cmnd *sc = (struct scsi_cmnd *) buffer->argp; - if (SCpnt == sc) { - Q_DEL_ITEM(buffer); - SCpnt->result = sc->result; - - /* Set the struct scsi_cmnd pointer - */ - buffer->argp = NULL; - - /* Add to the freeQ - */ - Q_ADD_TAIL(&hd->freeQ.head, buffer, MPT_DONE_Q); - break; - } - } while ((buffer = buffer->forw) != (MPT_DONE_Q *) &hd->doneQ); - } - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - return; -} /* * mptscsih_flush_running_cmds - For each command found, search @@ -964,12 +908,11 @@ search_doneQ_for_cmd(MPT_SCSI_HOST *hd, struct scsi_cmnd *SCpnt) static void mptscsih_flush_running_cmds(MPT_SCSI_HOST *hd) { + MPT_ADAPTER *ioc = hd->ioc; struct scsi_cmnd *SCpnt; MPT_FRAME_HDR *mf; - MPT_DONE_Q *buffer; int ii; - int max = hd->ioc->req_depth; - unsigned long flags; + int max = ioc->req_depth; dprintk((KERN_INFO MYNAM ": flush_ScsiLookup called\n")); for (ii= 0; ii < max; ii++) { @@ -978,16 +921,11 @@ mptscsih_flush_running_cmds(MPT_SCSI_HOST *hd) /* Command found. */ - /* Search pendingQ, if found, - * delete from Q. - */ - mptscsih_search_pendingQ(hd, ii); - /* Null ScsiLookup index */ hd->ScsiLookup[ii] = NULL; - mf = MPT_INDEX_2_MFPTR(hd->ioc, ii); + mf = MPT_INDEX_2_MFPTR(ioc, ii); dmfprintk(( "flush: ScsiDone (mf=%p,sc=%p)\n", mf, SCpnt)); @@ -997,12 +935,12 @@ mptscsih_flush_running_cmds(MPT_SCSI_HOST *hd) */ if (scsi_device_online(SCpnt->device)) { if (SCpnt->use_sg) { - pci_unmap_sg(hd->ioc->pcidev, + pci_unmap_sg(ioc->pcidev, (struct scatterlist *) SCpnt->request_buffer, SCpnt->use_sg, SCpnt->sc_data_direction); } else if (SCpnt->request_bufflen) { - pci_unmap_single(hd->ioc->pcidev, + pci_unmap_single(ioc->pcidev, SCpnt->SCp.dma_handle, SCpnt->request_bufflen, SCpnt->sc_data_direction); @@ -1012,37 +950,12 @@ mptscsih_flush_running_cmds(MPT_SCSI_HOST *hd) SCpnt->host_scribble = NULL; /* Free Chain buffers */ - mptscsih_freeChainBuffers(hd, ii); + mptscsih_freeChainBuffers(ioc, ii); /* Free Message frames */ - mpt_free_msg_frame(ScsiDoneCtx, hd->ioc, mf); - -#if 1 - /* Post to doneQ, do not reply until POST phase - * of reset handler....prevents new commands from - * being queued. - */ - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (!Q_IS_EMPTY(&hd->freeQ)) { - buffer = hd->freeQ.head; - Q_DEL_ITEM(buffer); + mpt_free_msg_frame(ioc, mf); - /* Set the struct scsi_cmnd pointer - */ - buffer->argp = (void *)SCpnt; - - /* Add to the doneQ - */ - Q_ADD_TAIL(&hd->doneQ.head, buffer, MPT_DONE_Q); - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - } else { - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - SCpnt->scsi_done(SCpnt); - } -#else SCpnt->scsi_done(SCpnt); /* Issue the command callback */ -#endif - } } @@ -1087,119 +1000,14 @@ mptscsih_search_running_cmds(MPT_SCSI_HOST *hd, uint target, uint lun) /* Cleanup */ hd->ScsiLookup[ii] = NULL; - mptscsih_freeChainBuffers(hd, ii); - mpt_free_msg_frame(ScsiDoneCtx, hd->ioc, (MPT_FRAME_HDR *)mf); + mptscsih_freeChainBuffers(hd->ioc, ii); + mpt_free_msg_frame(hd->ioc, (MPT_FRAME_HDR *)mf); } } return; } -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* - * mptscsih_initChainBuffers - Allocate memory for and initialize - * chain buffers, chain buffer control arrays and spinlock. - * @hd: Pointer to MPT_SCSI_HOST structure - * @init: If set, initialize the spin lock. - */ -static int -mptscsih_initChainBuffers (MPT_SCSI_HOST *hd, int init) -{ - MPT_FRAME_HDR *chain; - u8 *mem; - unsigned long flags; - int sz, ii, num_chain; - int scale, num_sge; - - /* chain buffer allocation done from PrimeIocFifos */ - if (hd->ioc->fifo_pool == NULL) - return -1; - - hd->ChainBuffer = hd->ioc->chain_alloc; - hd->ChainBufferDMA = hd->ioc->chain_alloc_dma; - - dprintk((KERN_INFO " ChainBuffer @ %p(%p), sz=%d\n", - hd->ChainBuffer, (void *)(ulong)hd->ChainBufferDMA, hd->ioc->chain_alloc_sz)); - - /* ReqToChain size must equal the req_depth - * index = req_idx - */ - if (hd->ReqToChain == NULL) { - sz = hd->ioc->req_depth * sizeof(int); - mem = kmalloc(sz, GFP_ATOMIC); - if (mem == NULL) - return -1; - - hd->ReqToChain = (int *) mem; - } - for (ii = 0; ii < hd->ioc->req_depth; ii++) - hd->ReqToChain[ii] = MPT_HOST_NO_CHAIN; - - /* ChainToChain size must equal the total number - * of chain buffers to be allocated. - * index = chain_idx - * - * Calculate the number of chain buffers needed(plus 1) per I/O - * then multiply the the maximum number of simultaneous cmds - * - * num_sge = num sge in request frame + last chain buffer - * scale = num sge per chain buffer if no chain element - */ - scale = hd->ioc->req_sz/(sizeof(dma_addr_t) + sizeof(u32)); - if (sizeof(dma_addr_t) == sizeof(u64)) - num_sge = scale + (hd->ioc->req_sz - 60) / (sizeof(dma_addr_t) + sizeof(u32)); - else - num_sge = 1+ scale + (hd->ioc->req_sz - 64) / (sizeof(dma_addr_t) + sizeof(u32)); - - num_chain = 1; - while (hd->max_sge - num_sge > 0) { - num_chain++; - num_sge += (scale - 1); - } - num_chain++; - - if ((int) hd->ioc->chip_type > (int) FC929) - num_chain *= MPT_SCSI_CAN_QUEUE; - else - num_chain *= MPT_FC_CAN_QUEUE; - - hd->num_chain = num_chain; - - sz = num_chain * sizeof(int); - if (hd->ChainToChain == NULL) { - mem = kmalloc(sz, GFP_ATOMIC); - if (mem == NULL) - return -1; - - hd->ChainToChain = (int *) mem; - } else { - mem = (u8 *) hd->ChainToChain; - } - memset(mem, 0xFF, sz); - - - /* Initialize the free chain Q. - */ - if (init) { - spin_lock_init(&hd->FreeChainQlock); - } - - spin_lock_irqsave (&hd->FreeChainQlock, flags); - Q_INIT(&hd->FreeChainQ, MPT_FRAME_HDR); - - /* Post the chain buffers to the FreeChainQ. - */ - mem = (u8 *)hd->ChainBuffer; - for (ii=0; ii < num_chain; ii++) { - chain = (MPT_FRAME_HDR *) mem; - Q_ADD_TAIL(&hd->FreeChainQ.head, &chain->u.frame.linkage, MPT_FRAME_HDR); - mem += hd->ioc->req_sz; - } - spin_unlock_irqrestore(&hd->FreeChainQlock, flags); - - return 0; -} - /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /* * Hack! It might be nice to report if a device is returning QUEUE_FULL @@ -1254,7 +1062,6 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) struct Scsi_Host *sh; MPT_SCSI_HOST *hd; MPT_ADAPTER *ioc = pci_get_drvdata(pdev); - MPT_DONE_Q *freedoneQ; unsigned long flags; int sz, ii; int numSGE = 0; @@ -1386,7 +1193,6 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) hd = (MPT_SCSI_HOST *) sh->hostdata; hd->ioc = ioc; - hd->max_sge = sh->sg_tablesize; if ((int)ioc->chip_type > (int)FC929) hd->is_spi = 1; @@ -1399,7 +1205,7 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* SCSI needs scsi_cmnd lookup table! * (with size equal to req_depth*PtrSz!) */ - sz = hd->ioc->req_depth * sizeof(void *); + sz = ioc->req_depth * sizeof(void *); mem = kmalloc(sz, GFP_ATOMIC); if (mem == NULL) { error = -ENOMEM; @@ -1412,37 +1218,6 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) dprintk((MYIOC_s_INFO_FMT "ScsiLookup @ %p, sz=%d\n", ioc->name, hd->ScsiLookup, sz)); - if (mptscsih_initChainBuffers(hd, 1) < 0) { - error = -EINVAL; - goto mptscsih_probe_failed; - } - - /* Allocate memory for free and doneQ's - */ - sz = sh->can_queue * sizeof(MPT_DONE_Q); - mem = kmalloc(sz, GFP_ATOMIC); - if (mem == NULL) { - error = -ENOMEM; - goto mptscsih_probe_failed; - } - - memset(mem, 0xFF, sz); - hd->memQ = mem; - - /* Initialize the free, done and pending Qs. - */ - Q_INIT(&hd->freeQ, MPT_DONE_Q); - Q_INIT(&hd->doneQ, MPT_DONE_Q); - Q_INIT(&hd->pendingQ, MPT_DONE_Q); - spin_lock_init(&hd->freedoneQlock); - - mem = hd->memQ; - for (ii=0; ii < sh->can_queue; ii++) { - freedoneQ = (MPT_DONE_Q *) mem; - Q_ADD_TAIL(&hd->freeQ.head, freedoneQ, MPT_DONE_Q); - mem += sizeof(MPT_DONE_Q); - } - /* Initialize this Scsi_Host * internal task Q. */ @@ -1474,8 +1249,7 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) hd->resetPending = 0; hd->abortSCpnt = NULL; hd->tmPtr = NULL; - hd->numTMrequests = 0; - + /* Clear the pointer used to store * single-threaded commands, i.e., those * issued during a bus scan, dv and @@ -1500,10 +1274,10 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* ioc->sh = sh; */ #ifdef MPTSCSIH_DBG_TIMEOUT - hd->ioc->timeout_hard = 0; - hd->ioc->timeout_delta = 30 * HZ; - hd->ioc->timeout_maxcnt = 0; - hd->ioc->timeout_cnt = 0; + ioc->timeout_hard = 0; + ioc->timeout_delta = 30 * HZ; + ioc->timeout_maxcnt = 0; + ioc->timeout_cnt = 0; for (ii=0; ii < 8; ii++) foo_to[ii] = NULL; #endif @@ -1511,47 +1285,41 @@ mptscsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) /* Update with the driver setup * values. */ - if (hd->ioc->spi_data.maxBusWidth > + if (ioc->spi_data.maxBusWidth > driver_setup.max_width) { - hd->ioc->spi_data.maxBusWidth = + ioc->spi_data.maxBusWidth = driver_setup.max_width; } - if (hd->ioc->spi_data.minSyncFactor < + if (ioc->spi_data.minSyncFactor < driver_setup.min_sync_fac) { - hd->ioc->spi_data.minSyncFactor = + ioc->spi_data.minSyncFactor = driver_setup.min_sync_fac; } - if (hd->ioc->spi_data.minSyncFactor == MPT_ASYNC) { - hd->ioc->spi_data.maxSyncOffset = 0; + if (ioc->spi_data.minSyncFactor == MPT_ASYNC) { + ioc->spi_data.maxSyncOffset = 0; } - hd->ioc->spi_data.Saf_Te = driver_setup.saf_te; + ioc->spi_data.Saf_Te = driver_setup.saf_te; hd->negoNvram = 0; #ifndef MPTSCSIH_ENABLE_DOMAIN_VALIDATION hd->negoNvram = MPT_SCSICFG_USE_NVRAM; #endif - if (driver_setup.dv == 0) { - hd->negoNvram = MPT_SCSICFG_USE_NVRAM; - } - - hd->ioc->spi_data.forceDv = 0; + ioc->spi_data.forceDv = 0; for (ii=0; ii < MPT_MAX_SCSI_DEVICES; ii++) { - hd->ioc->spi_data.dvStatus[ii] = + ioc->spi_data.dvStatus[ii] = MPT_SCSICFG_NEGOTIATE; } - if (hd->negoNvram == 0) { - for (ii=0; ii < MPT_MAX_SCSI_DEVICES; ii++) - hd->ioc->spi_data.dvStatus[ii] |= - MPT_SCSICFG_DV_NOT_DONE; - } + for (ii=0; ii < MPT_MAX_SCSI_DEVICES; ii++) + ioc->spi_data.dvStatus[ii] |= + MPT_SCSICFG_DV_NOT_DONE; ddvprintk((MYIOC_s_INFO_FMT "dv %x width %x factor %x saf_te %x\n", - hd->ioc->name, driver_setup.dv, + ioc->name, driver_setup.dv, driver_setup.max_width, driver_setup.min_sync_fac, driver_setup.saf_te)); @@ -1620,14 +1388,11 @@ mptscsih_remove(struct pci_dev *pdev) hd = (MPT_SCSI_HOST *)host->hostdata; if (hd != NULL) { - int sz1, sz2, sz3, sztarget=0; - int szr2chain = 0; - int szc2chain = 0; - int szQ = 0; + int sz1, sz3, sztarget=0; mptscsih_shutdown(&pdev->dev); - sz1 = sz2 = sz3 = 0; + sz1 = sz3 = 0; if (hd->ScsiLookup != NULL) { sz1 = hd->ioc->req_depth * sizeof(void *); @@ -1635,24 +1400,6 @@ mptscsih_remove(struct pci_dev *pdev) hd->ScsiLookup = NULL; } - if (hd->ReqToChain != NULL) { - szr2chain = hd->ioc->req_depth * sizeof(int); - kfree(hd->ReqToChain); - hd->ReqToChain = NULL; - } - - if (hd->ChainToChain != NULL) { - szc2chain = hd->num_chain * sizeof(int); - kfree(hd->ChainToChain); - hd->ChainToChain = NULL; - } - - if (hd->memQ != NULL) { - szQ = host->can_queue * sizeof(MPT_DONE_Q); - kfree(hd->memQ); - hd->memQ = NULL; - } - if (hd->Targets != NULL) { int max, ii; @@ -1680,9 +1427,9 @@ mptscsih_remove(struct pci_dev *pdev) hd->Targets = NULL; } - dprintk((MYIOC_s_INFO_FMT - "Free'd ScsiLookup (%d) Target (%d+%d) memory\n", - hd->ioc->name, sz1, sz3, sztarget)); + dprintk((MYIOC_s_INFO_FMT + "Free'd ScsiLookup (%d) Target (%d+%d) memory\n", + hd->ioc->name, sz1, sz3, sztarget)); dprintk(("Free'd done and free Q (%d) memory\n", szQ)); /* NULL the Scsi_Host pointer @@ -1802,7 +1549,7 @@ mptscsih_init(void) ScsiScanDvCtx = mpt_register(mptscsih_scandv_complete, MPTSCSIH_DRIVER); if (mpt_event_register(ScsiDoneCtx, mptscsih_event_process) == 0) { - dprintk((KERN_INFO MYNAM + devtprintk((KERN_INFO MYNAM ": Registered for IOC event notifications\n")); } @@ -1864,7 +1611,7 @@ mptscsih_exit(void) * * Returns pointer to buffer where information was written. */ -const char * +static const char * mptscsih_info(struct Scsi_Host *SChost) { MPT_SCSI_HOST *h; @@ -2079,7 +1826,8 @@ static int mptscsih_user_command(MPT_ADAPTER *ioc, char *buffer, int length) * hostno: scsi host number * func: if write = 1; if read = 0 */ -int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, +static int +mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int func) { MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; @@ -2114,15 +1862,13 @@ int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t * * Returns 0. (rtn value discarded by linux scsi mid-layer) */ -int +static int mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) { MPT_SCSI_HOST *hd; MPT_FRAME_HDR *mf; SCSIIORequest_t *pScsiReq; VirtDevice *pTarget; - MPT_DONE_Q *buffer; - unsigned long flags; int target; int lun; u32 datalen; @@ -2147,16 +1893,9 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) (hd && hd->ioc) ? hd->ioc->name : "ioc?", SCpnt, done)); if (hd->resetPending) { - /* Prevent new commands from being issued - * while reloading the FW. Reset timer to 60 seconds, - * as the FW can take some time to come ready. - * For New EH, cmds on doneQ posted to FW. - */ - did_errcode = 1; - mod_timer(&SCpnt->eh_timeout, jiffies + (HZ * 60)); dtmprintk((MYIOC_s_WARN_FMT "qcmd: SCpnt=%p timeout + 60HZ\n", (hd && hd->ioc) ? hd->ioc->name : "ioc?", SCpnt)); - goto did_error; + return SCSI_MLQUEUE_HOST_BUSY; } /* @@ -2165,8 +1904,7 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) if ((mf = mpt_get_msg_frame(ScsiDoneCtx, hd->ioc)) == NULL) { dprintk((MYIOC_s_WARN_FMT "QueueCmd, no msg frames!!\n", hd->ioc->name)); - did_errcode = 2; - goto did_error; + return SCSI_MLQUEUE_HOST_BUSY; } pScsiReq = (SCSIIORequest_t *) mf; @@ -2249,7 +1987,7 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) (dma_addr_t) -1); } else { /* Add a 32 or 64 bit SGE */ - rc = mptscsih_AddSGE(hd, SCpnt, pScsiReq, my_idx); + rc = mptscsih_AddSGE(hd->ioc, SCpnt, pScsiReq, my_idx); } @@ -2283,7 +2021,7 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) } /* Trying to do DV to this target, extend timeout. - * Wait to issue intil flag is clear + * Wait to issue until flag is clear */ if (dvStatus & MPT_SCSICFG_DV_PENDING) { mod_timer(&SCpnt->eh_timeout, jiffies + 40 * HZ); @@ -2314,64 +2052,18 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) mpt_put_msg_frame(ScsiDoneCtx, hd->ioc, mf); dmfprintk((MYIOC_s_INFO_FMT "Issued SCSI cmd (%p) mf=%p idx=%d\n", hd->ioc->name, SCpnt, mf, my_idx)); - } else { - ddvtprintk((MYIOC_s_INFO_FMT "Pending cmd=%p idx %d\n", - hd->ioc->name, SCpnt, my_idx)); - /* Place this command on the pendingQ if possible */ - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (!Q_IS_EMPTY(&hd->freeQ)) { - buffer = hd->freeQ.head; - Q_DEL_ITEM(buffer); - - /* Save the mf pointer - */ - buffer->argp = (void *)mf; - - /* Add to the pendingQ - */ - Q_ADD_TAIL(&hd->pendingQ.head, buffer, MPT_DONE_Q); - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - } else { - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - SCpnt->result = (DID_BUS_BUSY << 16); - SCpnt->scsi_done(SCpnt); - } - } - } else { - mptscsih_freeChainBuffers(hd, my_idx); - mpt_free_msg_frame(ScsiDoneCtx, hd->ioc, mf); - did_errcode = 3; - goto did_error; - } + DBG_DUMP_REQUEST_FRAME(mf) + } else + goto fail; + } else + goto fail; return 0; -did_error: - dprintk((MYIOC_s_WARN_FMT "_qcmd did_errcode=%d (sc=%p)\n", - hd->ioc->name, did_errcode, SCpnt)); - /* Just wish OS to issue a retry */ - SCpnt->result = (DID_BUS_BUSY << 16); - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (!Q_IS_EMPTY(&hd->freeQ)) { - dtmprintk((MYIOC_s_WARN_FMT "SCpnt=%p to doneQ\n", - (hd && hd->ioc) ? hd->ioc->name : "ioc?", SCpnt)); - buffer = hd->freeQ.head; - Q_DEL_ITEM(buffer); - - /* Set the scsi_cmnd pointer - */ - buffer->argp = (void *)SCpnt; - - /* Add to the doneQ - */ - Q_ADD_TAIL(&hd->doneQ.head, buffer, MPT_DONE_Q); - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - } else { - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - SCpnt->scsi_done(SCpnt); - } - - return 0; + fail: + mptscsih_freeChainBuffers(hd->ioc, my_idx); + mpt_free_msg_frame(hd->ioc, mf); + return SCSI_MLQUEUE_HOST_BUSY; } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -2385,7 +2077,7 @@ did_error: * No return. */ static void -mptscsih_freeChainBuffers(MPT_SCSI_HOST *hd, int req_idx) +mptscsih_freeChainBuffers(MPT_ADAPTER *ioc, int req_idx) { MPT_FRAME_HDR *chain; unsigned long flags; @@ -2395,28 +2087,28 @@ mptscsih_freeChainBuffers(MPT_SCSI_HOST *hd, int req_idx) /* Get the first chain index and reset * tracker state. */ - chain_idx = hd->ReqToChain[req_idx]; - hd->ReqToChain[req_idx] = MPT_HOST_NO_CHAIN; + chain_idx = ioc->ReqToChain[req_idx]; + ioc->ReqToChain[req_idx] = MPT_HOST_NO_CHAIN; while (chain_idx != MPT_HOST_NO_CHAIN) { /* Save the next chain buffer index */ - next = hd->ChainToChain[chain_idx]; + next = ioc->ChainToChain[chain_idx]; /* Free this chain buffer and reset * tracker */ - hd->ChainToChain[chain_idx] = MPT_HOST_NO_CHAIN; + ioc->ChainToChain[chain_idx] = MPT_HOST_NO_CHAIN; - chain = (MPT_FRAME_HDR *) (hd->ChainBuffer - + (chain_idx * hd->ioc->req_sz)); - spin_lock_irqsave(&hd->ioc->FreeQlock, flags); - Q_ADD_TAIL(&hd->FreeChainQ.head, + chain = (MPT_FRAME_HDR *) (ioc->ChainBuffer + + (chain_idx * ioc->req_sz)); + spin_lock_irqsave(&ioc->FreeQlock, flags); + Q_ADD_TAIL(&ioc->FreeChainQ.head, &chain->u.frame.linkage, MPT_FRAME_HDR); - spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); + spin_unlock_irqrestore(&ioc->FreeQlock, flags); dmfprintk((MYIOC_s_INFO_FMT "FreeChainBuffers (index %d)\n", - hd->ioc->name, chain_idx)); + ioc->name, chain_idx)); /* handle next */ chain_idx = next; @@ -2480,12 +2172,6 @@ mptscsih_TMHandler(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun, in } spin_unlock_irqrestore(&ioc->diagLock, flags); - /* Do not do a Task Management if there are - * too many failed TMs on this adapter. - */ - if (hd->numTMrequests > MPT_HOST_TOO_MANY_TM) - doTask = 0; - /* Wait a fixed amount of time for the TM pending flag to be cleared. * If we time out and not bus reset, then we return a FAILED status to the caller. * The call to mptscsih_tm_pending_wait() will set the pending flag if we are @@ -2593,7 +2279,7 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun /* Return Fail to calling function if no message frames available. */ if ((mf = mpt_get_msg_frame(ScsiTaskCtx, hd->ioc)) == NULL) { - dtmprintk((MYIOC_s_WARN_FMT "IssueTaskMgmt, no msg frames!!\n", + dfailprintk((MYIOC_s_ERR_FMT "IssueTaskMgmt, no msg frames!!\n", hd->ioc->name)); //return FAILED; return -999; @@ -2624,29 +2310,30 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun pScsiTm->Reserved2[ii] = 0; pScsiTm->TaskMsgContext = ctx2abort; - dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt, ctx2abort (0x%08x), type (%d)\n", - hd->ioc->name, ctx2abort, type)); /* MPI v0.10 requires SCSITaskMgmt requests be sent via Doorbell/handshake mpt_put_msg_frame(hd->ioc->id, mf); * Save the MF pointer in case the request times out. */ hd->tmPtr = mf; - hd->numTMrequests++; hd->TMtimer.expires = jiffies + timeout; add_timer(&hd->TMtimer); + dtmprintk((MYIOC_s_INFO_FMT "IssueTaskMgmt: ctx2abort (0x%08x) type=%d\n", + hd->ioc->name, ctx2abort, type)); + + DBG_DUMP_TM_REQUEST_FRAME((u32 *)pScsiTm); + if ((retval = mpt_send_handshake_request(ScsiTaskCtx, hd->ioc, sizeof(SCSITaskMgmt_t), (u32*)pScsiTm, sleepFlag)) != 0) { - dtmprintk((MYIOC_s_WARN_FMT "_send_handshake FAILED!" + dfailprintk((MYIOC_s_ERR_FMT "_send_handshake FAILED!" " (hd %p, ioc %p, mf %p) \n", hd->ioc->name, hd, hd->ioc, mf)); - hd->numTMrequests--; hd->tmPtr = NULL; del_timer(&hd->TMtimer); - mpt_free_msg_frame(ScsiTaskCtx, hd->ioc, mf); + mpt_free_msg_frame(hd->ioc, mf); } - + return retval; } @@ -2659,10 +2346,11 @@ mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 target, u8 lun * * Returns SUCCESS or FAILED. */ -int +static int mptscsih_abort(struct scsi_cmnd * SCpnt) { MPT_SCSI_HOST *hd; + MPT_ADAPTER *ioc; MPT_FRAME_HDR *mf; u32 ctx2abort; int scpnt_idx; @@ -2673,12 +2361,13 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) if ((hd = (MPT_SCSI_HOST *) SCpnt->device->host->hostdata) == NULL) { SCpnt->result = DID_RESET << 16; SCpnt->scsi_done(SCpnt); - dtmprintk((KERN_WARNING MYNAM ": mptscsih_abort: " + dfailprintk((KERN_WARNING MYNAM ": mptscsih_abort: " "Can't locate host! (sc=%p)\n", SCpnt)); return FAILED; } + ioc = hd->ioc; if (hd->resetPending) return FAILED; @@ -2691,11 +2380,9 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) /* Find this command */ if ((scpnt_idx = SCPNT_TO_LOOKUP_IDX(SCpnt)) < 0) { - /* Cmd not found in ScsiLookup. If found in - * doneQ, delete from Q. Do OS callback. + /* Cmd not found in ScsiLookup. + * Do OS callback. */ - search_doneQ_for_cmd(hd, SCpnt); - SCpnt->result = DID_RESET << 16; dtmprintk((KERN_WARNING MYNAM ": %s: mptscsih_abort: " "Command not in the active list! (sc=%p)\n", @@ -2703,18 +2390,6 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) return SUCCESS; } - /* If this command is pended, then timeout/hang occurred - * during DV. Post command and flush pending Q - * and then following up with the reset request. - */ - if ((mf = mptscsih_search_pendingQ(hd, scpnt_idx)) != NULL) { - mpt_put_msg_frame(ScsiDoneCtx, hd->ioc, mf); - post_pendingQ_commands(hd); - dtmprintk((KERN_WARNING MYNAM ": %s: mptscsih_abort: " - "Posting pended cmd! (sc=%p)\n", - hd->ioc->name, SCpnt)); - } - /* Most important! Set TaskMsgContext to SCpnt's MsgContext! * (the IO to be ABORT'd) * @@ -2724,7 +2399,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) */ mf = MPT_INDEX_2_MFPTR(hd->ioc, scpnt_idx); ctx2abort = mf->u.frame.hwhdr.msgctxu.MsgContext; - + hd->abortSCpnt = SCpnt; spin_unlock_irq(host_lock); @@ -2743,12 +2418,26 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) */ hd->tmPending = 0; hd->tmState = TM_STATE_NONE; - + spin_lock_irq(host_lock); + + /* Unmap the DMA buffers, if any. */ + if (SCpnt->use_sg) { + pci_unmap_sg(ioc->pcidev, (struct scatterlist *) SCpnt->request_buffer, + SCpnt->use_sg, SCpnt->sc_data_direction); + } else if (SCpnt->request_bufflen) { + pci_unmap_single(ioc->pcidev, SCpnt->SCp.dma_handle, + SCpnt->request_bufflen, SCpnt->sc_data_direction); + } + hd->ScsiLookup[scpnt_idx] = NULL; + SCpnt->result = DID_RESET << 16; + SCpnt->scsi_done(SCpnt); /* Issue the command callback */ + mptscsih_freeChainBuffers(ioc, scpnt_idx); + mpt_free_msg_frame(ioc, mf); return FAILED; } spin_lock_irq(host_lock); - return FAILED; + return SUCCESS; } @@ -2761,7 +2450,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) * * Returns SUCCESS or FAILED. */ -int +static int mptscsih_dev_reset(struct scsi_cmnd * SCpnt) { MPT_SCSI_HOST *hd; @@ -2816,7 +2505,7 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt) * * Returns SUCCESS or FAILED. */ -int +static int mptscsih_bus_reset(struct scsi_cmnd * SCpnt) { MPT_SCSI_HOST *hd; @@ -2839,9 +2528,6 @@ mptscsih_bus_reset(struct scsi_cmnd * SCpnt) /* We are now ready to execute the task management request. */ spin_unlock_irq(host_lock); -// printk("testing start : mptscsih_schedule_reset\n"); -// mptscsih_schedule_reset(hd); -// printk("testing end: mptscsih_schedule_reset\n"); if (mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS, SCpnt->device->channel, 0, 0, 0, (HZ*5) /* 5 second timeout */, CAN_SLEEP) < 0){ @@ -2871,7 +2557,7 @@ mptscsih_bus_reset(struct scsi_cmnd * SCpnt) * * Returns SUCCESS or FAILED. */ -int +static int mptscsih_host_reset(struct scsi_cmnd *SCpnt) { MPT_SCSI_HOST * hd; @@ -2937,8 +2623,7 @@ mptscsih_tm_pending_wait(MPT_SCSI_HOST * hd) break; } spin_unlock_irqrestore(&hd->ioc->FreeQlock, flags); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ/4); + msleep(250); } while (--loop_count); return status; @@ -2965,9 +2650,10 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *m SCSITaskMgmt_t *pScsiTmReq; MPT_SCSI_HOST *hd; unsigned long flags; - u8 tmType = 0; + u16 iocstatus; + u8 tmType; - dtmprintk((MYIOC_s_INFO_FMT "SCSI TaskMgmt completed (mf=%p,r=%p)\n", + dtmprintk((MYIOC_s_WARN_FMT "TaskMgmt completed (mf=%p,mr=%p)\n", ioc->name, mf, mr)); if (ioc->sh) { /* Depending on the thread, a timer is activated for @@ -2978,7 +2664,7 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *m if (hd->tmPtr) { del_timer(&hd->TMtimer); } - dtmprintk((MYIOC_s_INFO_FMT "taskQcnt (%d)\n", + dtmprintk((MYIOC_s_WARN_FMT "taskQcnt (%d)\n", ioc->name, hd->taskQcnt)); } else { dtmprintk((MYIOC_s_WARN_FMT "TaskMgmt Complete: NULL Scsi Host Ptr\n", @@ -2997,18 +2683,15 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *m /* Figure out if this was ABORT_TASK, TARGET_RESET, or BUS_RESET! */ tmType = pScsiTmReq->TaskType; - dtmprintk((KERN_INFO " TaskType = %d, TerminationCount=%d\n", - tmType, le32_to_cpu(pScsiTmReply->TerminationCount))); + dtmprintk((MYIOC_s_WARN_FMT " TaskType = %d, TerminationCount=%d\n", + ioc->name, tmType, le32_to_cpu(pScsiTmReply->TerminationCount))); + DBG_DUMP_TM_REPLY_FRAME((u32 *)pScsiTmReply); + iocstatus = le16_to_cpu(pScsiTmReply->IOCStatus) & MPI_IOCSTATUS_MASK; + dtmprintk((MYIOC_s_WARN_FMT " SCSI TaskMgmt (%d) IOCStatus=%04x IOCLogInfo=%08x\n", + ioc->name, tmType, iocstatus, le32_to_cpu(pScsiTmReply->IOCLogInfo))); /* Error? (anything non-zero?) */ - if (*(u32 *)&pScsiTmReply->Reserved2[0]) { - u16 iocstatus; - - iocstatus = le16_to_cpu(pScsiTmReply->IOCStatus) & MPI_IOCSTATUS_MASK; - dtmprintk((KERN_INFO " SCSI TaskMgmt (%d) - Oops!\n", tmType)); - dtmprintk((KERN_INFO " IOCStatus = %04xh\n", iocstatus)); - dtmprintk((KERN_INFO " IOCLogInfo = %08xh\n", - le32_to_cpu(pScsiTmReply->IOCLogInfo))); + if (iocstatus) { /* clear flags and continue. */ @@ -3029,11 +2712,9 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *m } } } else { - dtmprintk((KERN_INFO " SCSI TaskMgmt SUCCESS!\n")); + dtmprintk((MYIOC_s_WARN_FMT " TaskMgmt SUCCESS\n", ioc->name)); - hd->numTMrequests--; hd->abortSCpnt = NULL; - flush_doneQ(hd); } } @@ -3051,26 +2732,21 @@ mptscsih_taskmgmt_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *m /* * This is anyones guess quite frankly. */ -int +static int mptscsih_bios_param(struct scsi_device * sdev, struct block_device *bdev, sector_t capacity, int geom[]) { int heads; int sectors; sector_t cylinders; -#ifdef CONFIG_LBD ulong dummy; -#endif heads = 64; sectors = 32; -#ifdef CONFIG_LBD + dummy = heads * sectors; cylinders = capacity; sector_div(cylinders,dummy); -#else - cylinders = (ulong)capacity / (heads * sectors); -#endif /* * Handle extended translation size for logical drives @@ -3079,13 +2755,9 @@ mptscsih_bios_param(struct scsi_device * sdev, struct block_device *bdev, if ((ulong)capacity >= 0x200000) { heads = 255; sectors = 63; -#ifdef CONFIG_LBD dummy = heads * sectors; cylinders = capacity; sector_div(cylinders,dummy); -#else - cylinders = (ulong)capacity / (heads * sectors); -#endif } /* return result */ @@ -3107,7 +2779,7 @@ mptscsih_bios_param(struct scsi_device * sdev, struct block_device *bdev, * Return non-zero if allocation fails. * Init memory once per id (not LUN). */ -int +static int mptscsih_slave_alloc(struct scsi_device *device) { struct Scsi_Host *host = device->host; @@ -3130,12 +2802,21 @@ mptscsih_slave_alloc(struct scsi_device *device) Q_INIT(&vdev->WaitQ, void); Q_INIT(&vdev->SentQ, void); Q_INIT(&vdev->DoneQ, void); - vdev->tflags = 0; + vdev->tflags = MPT_TARGET_FLAGS_Q_YES; vdev->ioc_id = hd->ioc->id; vdev->target_id = device->id; - vdev->bus_id = hd->port; - + vdev->bus_id = device->channel; + vdev->raidVolume = 0; hd->Targets[device->id] = vdev; + if (hd->is_spi) { + if (hd->ioc->spi_data.isRaid & (1 << device->id)) { + vdev->raidVolume = 1; + ddvtprintk((KERN_INFO + "RAID Volume @ id %d\n", device->id)); + } + } else { + vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; + } } } vdev->num_luns++; @@ -3147,7 +2828,7 @@ mptscsih_slave_alloc(struct scsi_device *device) * OS entry point to allow for host driver to free allocated memory * Called if no device present or device being unloaded */ -void +static void mptscsih_slave_destroy(struct scsi_device *device) { struct Scsi_Host *host = device->host; @@ -3176,15 +2857,15 @@ mptscsih_slave_destroy(struct scsi_device *device) kfree(hd->Targets[device->id]); hd->Targets[device->id] = NULL; - if (!hd->is_spi) + if (!hd->is_spi) return; if((hd->ioc->spi_data.isRaid) && (hd->ioc->spi_data.pIocPg3)) { int i; for(i=0;iioc->spi_data.pIocPg3->NumPhysDisks && raid_volume==0;i++) - - if(device->id == + + if(device->id == hd->ioc->spi_data.pIocPg3->PhysDisk[i].PhysDiskID) { raid_volume=1; hd->ioc->spi_data.forceDv |= @@ -3202,7 +2883,7 @@ mptscsih_slave_destroy(struct scsi_device *device) } } } - + return; } @@ -3212,7 +2893,7 @@ mptscsih_slave_destroy(struct scsi_device *device) * member to 1 if a device does not support Q tags. * Return non-zero if fails. */ -int +static int mptscsih_slave_configure(struct scsi_device *device) { struct Scsi_Host *sh = device->host; @@ -3240,8 +2921,16 @@ mptscsih_slave_configure(struct scsi_device *device) pTarget = hd->Targets[device->id]; if (pTarget == NULL) { - /* error case - don't know about this device */ - scsi_adjust_queue_depth(device, 0, 1); + /* Driver doesn't know about this device. + * Kernel may generate a "Dummy Lun 0" which + * may become a real Lun if a + * "scsi add-single-device" command is executed + * while the driver is active (hot-plug a + * device). LSI Raid controllers need + * queue_depth set to DEV_HIGH for this reason. + */ + scsi_adjust_queue_depth(device, MSG_SIMPLE_TAG, + MPT_SCSI_CMD_PER_DEV_HIGH); goto slave_configure_exit; } @@ -3302,8 +2991,6 @@ copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SCSI SCSIIORequest_t *pReq; u32 sense_count = le32_to_cpu(pScsiReply->SenseCount); int index; - char devFoo[96]; - IO_Info_t thisIo; /* Get target structure */ @@ -3342,35 +3029,10 @@ copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SCSI ioc->eventContext++; } } - - /* Print an error report for the user. - */ - thisIo.cdbPtr = sc->cmnd; - thisIo.sensePtr = sc->sense_buffer; - thisIo.SCSIStatus = pScsiReply->SCSIStatus; - thisIo.DoDisplay = 1; - if (hd->is_multipath) - sprintf(devFoo, "%d:%d:%d", - hd->ioc->id, - pReq->TargetID, - pReq->LUN[1]); - else - sprintf(devFoo, "%d:%d:%d", hd->ioc->id, sc->device->id, sc->device->lun); - thisIo.DevIDStr = devFoo; -/* fubar */ - thisIo.dataPtr = NULL; - thisIo.inqPtr = NULL; - if (sc->device) { - thisIo.inqPtr = sc->device->vendor-8; /* FIXME!!! */ - } - (void) mpt_ScsiHost_ErrorReport(&thisIo); - } else { dprintk((MYIOC_s_INFO_FMT "Hmmm... SenseData len=0! (?)\n", hd->ioc->name)); } - - return; } static u32 @@ -3390,102 +3052,6 @@ SCPNT_TO_LOOKUP_IDX(struct scsi_cmnd *sc) return -1; } - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* Search the pendingQ for a command with specific index. - * If found, delete and return mf pointer - * If not found, return NULL - */ -static MPT_FRAME_HDR * -mptscsih_search_pendingQ(MPT_SCSI_HOST *hd, int scpnt_idx) -{ - unsigned long flags; - MPT_DONE_Q *buffer; - MPT_FRAME_HDR *mf = NULL; - MPT_FRAME_HDR *cmdMfPtr; - - ddvtprintk((MYIOC_s_INFO_FMT ": search_pendingQ ...", hd->ioc->name)); - cmdMfPtr = MPT_INDEX_2_MFPTR(hd->ioc, scpnt_idx); - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (!Q_IS_EMPTY(&hd->pendingQ)) { - buffer = hd->pendingQ.head; - do { - mf = (MPT_FRAME_HDR *) buffer->argp; - if (mf == cmdMfPtr) { - Q_DEL_ITEM(buffer); - - /* clear the arg pointer - */ - buffer->argp = NULL; - - /* Add to the freeQ - */ - Q_ADD_TAIL(&hd->freeQ.head, buffer, MPT_DONE_Q); - break; - } - mf = NULL; - } while ((buffer = buffer->forw) != (MPT_DONE_Q *) &hd->pendingQ); - } - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - ddvtprintk((" ...return %p\n", mf)); - return mf; -} - -/* Post all commands on the pendingQ to the FW. - * Lock Q when deleting/adding members - * Lock io_request_lock for OS callback. - */ -static void -post_pendingQ_commands(MPT_SCSI_HOST *hd) -{ - MPT_FRAME_HDR *mf; - MPT_DONE_Q *buffer; - unsigned long flags; - - /* Flush the pendingQ. - */ - ddvtprintk((MYIOC_s_INFO_FMT ": post_pendingQ_commands\n", hd->ioc->name)); - while (1) { - spin_lock_irqsave(&hd->freedoneQlock, flags); - if (Q_IS_EMPTY(&hd->pendingQ)) { - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - break; - } - - buffer = hd->pendingQ.head; - /* Delete from Q - */ - Q_DEL_ITEM(buffer); - - mf = (MPT_FRAME_HDR *) buffer->argp; - buffer->argp = NULL; - - /* Add to the freeQ - */ - Q_ADD_TAIL(&hd->freeQ.head, buffer, MPT_DONE_Q); - spin_unlock_irqrestore(&hd->freedoneQlock, flags); - - if (!mf) { - /* This should never happen */ - printk(MYIOC_s_WARN_FMT "post_pendingQ_commands: mf %p\n", hd->ioc->name, (void *) mf); - continue; - } - - mpt_put_msg_frame(ScsiDoneCtx, hd->ioc, mf); - -#if defined(MPT_DEBUG_DV) || defined(MPT_DEBUG_DV_TINY) - { - u16 req_idx = le16_to_cpu(mf->u.frame.hwhdr.msgctxu.fld.req_idx); - struct scsi_cmnd *sc = hd->ScsiLookup[req_idx]; - printk(MYIOC_s_INFO_FMT "Issued SCSI cmd (sc=%p) idx=%d (mf=%p)\n", - hd->ioc->name, sc, req_idx, mf); - } -#endif - } - - return; -} - /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ static int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) @@ -3520,14 +3086,10 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) dtmprintk((MYIOC_s_WARN_FMT "Pre-Diag Reset\n", ioc->name)); /* 2. Flush running commands - * Clean drop test code - if compiled * Clean ScsiLookup (and associated memory) * AND clean mytaskQ */ - /* 2a. Drop Test Command. - */ - /* 2b. Reply to OS all known outstanding I/O commands. */ mptscsih_flush_running_cmds(hd); @@ -3538,7 +3100,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) */ if (hd->cmdPtr) { del_timer(&hd->timer); - mpt_free_msg_frame(ScsiScanDvCtx, ioc, hd->cmdPtr); + mpt_free_msg_frame(ioc, hd->cmdPtr); } /* 2d. If a task management has not completed, @@ -3546,7 +3108,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) */ if (hd->tmPtr) { del_timer(&hd->TMtimer); - mpt_free_msg_frame(ScsiTaskCtx, ioc, hd->tmPtr); + mpt_free_msg_frame(ioc, hd->tmPtr); } #ifdef MPTSCSIH_DBG_TIMEOUT @@ -3573,7 +3135,6 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) /* 2. Chain Buffer initialization */ - mptscsih_initChainBuffers(hd, 0); /* 3. tmPtr clear */ @@ -3583,8 +3144,10 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) /* 4. Renegotiate to all devices, if SCSI */ - if (hd->is_spi) + if (hd->is_spi) { + dnegoprintk(("writeSDP1: ALL_IDS USE_NVRAM\n")); mptscsih_writeSDP1(hd, 0, 0, MPT_SCSICFG_ALL_IDS | MPT_SCSICFG_USE_NVRAM); + } /* 5. Enable new commands to be posted */ @@ -3592,7 +3155,6 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) hd->tmPending = 0; spin_unlock_irqrestore(&ioc->FreeQlock, flags); hd->resetPending = 0; - hd->numTMrequests = 0; hd->tmState = TM_STATE_NONE; /* 6. If there was an internal command, @@ -3609,11 +3171,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) hd->cmdPtr = NULL; } - /* 7. Flush doneQ - */ - flush_doneQ(hd); - - /* 8. Set flag to force DV and re-read IOC Page 3 + /* 7. Set flag to force DV and re-read IOC Page 3 */ if (hd->is_spi) { ioc->spi_data.forceDv = MPT_SCSICFG_NEED_DV | MPT_SCSICFG_RELOAD_IOC_PG3; @@ -3634,7 +3192,7 @@ mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) MPT_SCSI_HOST *hd; u8 event = le32_to_cpu(pEvReply->Event) & 0xFF; - dprintk((MYIOC_s_INFO_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n", + devtprintk((MYIOC_s_INFO_FMT "MPT event (=%02Xh) routed to SCSI host driver!\n", ioc->name, event)); switch (event) { @@ -3766,394 +3324,6 @@ static struct scsi_host_template driver_template = { .use_clustering = ENABLE_CLUSTERING, }; - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* - * Private data... - */ -static ASCQ_Table_t *mptscsih_ASCQ_TablePtr; - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* old symsense.c stuff... */ -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* - * Private data... - * To protect ourselves against those that would pass us bogus pointers - */ -static u8 dummyInqData[SCSI_STD_INQUIRY_BYTES] - = { 0x1F, 0x00, 0x00, 0x00, - 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static u8 dummySenseData[SCSI_STD_SENSE_BYTES] - = { 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00 }; -static u8 dummyCDB[16] - = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static u8 dummyScsiData[16] - = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - -static char *ScsiStatusString[] = { - "GOOD", /* 00h */ - NULL, /* 01h */ - "CHECK CONDITION", /* 02h */ - NULL, /* 03h */ - "CONDITION MET", /* 04h */ - NULL, /* 05h */ - NULL, /* 06h */ - NULL, /* 07h */ - "BUSY", /* 08h */ - NULL, /* 09h */ - NULL, /* 0Ah */ - NULL, /* 0Bh */ - NULL, /* 0Ch */ - NULL, /* 0Dh */ - NULL, /* 0Eh */ - NULL, /* 0Fh */ - "INTERMEDIATE", /* 10h */ - NULL, /* 11h */ - NULL, /* 12h */ - NULL, /* 13h */ - "INTERMEDIATE-CONDITION MET", /* 14h */ - NULL, /* 15h */ - NULL, /* 16h */ - NULL, /* 17h */ - "RESERVATION CONFLICT", /* 18h */ - NULL, /* 19h */ - NULL, /* 1Ah */ - NULL, /* 1Bh */ - NULL, /* 1Ch */ - NULL, /* 1Dh */ - NULL, /* 1Eh */ - NULL, /* 1Fh */ - NULL, /* 20h */ - NULL, /* 21h */ - "COMMAND TERMINATED", /* 22h */ - NULL, /* 23h */ - NULL, /* 24h */ - NULL, /* 25h */ - NULL, /* 26h */ - NULL, /* 27h */ - "TASK SET FULL", /* 28h */ - NULL, /* 29h */ - NULL, /* 2Ah */ - NULL, /* 2Bh */ - NULL, /* 2Ch */ - NULL, /* 2Dh */ - NULL, /* 2Eh */ - NULL, /* 2Fh */ - "ACA ACTIVE", /* 30h */ - NULL -}; - -static const char *ScsiCommonOpString[] = { - "TEST UNIT READY", /* 00h */ - "REZERO UNIT (REWIND)", /* 01h */ - NULL, /* 02h */ - "REQUEST_SENSE", /* 03h */ - "FORMAT UNIT (MEDIUM)", /* 04h */ - "READ BLOCK LIMITS", /* 05h */ - NULL, /* 06h */ - "REASSIGN BLOCKS", /* 07h */ - "READ(6)", /* 08h */ - NULL, /* 09h */ - "WRITE(6)", /* 0Ah */ - "SEEK(6)", /* 0Bh */ - NULL, /* 0Ch */ - NULL, /* 0Dh */ - NULL, /* 0Eh */ - "READ REVERSE", /* 0Fh */ - "WRITE_FILEMARKS", /* 10h */ - "SPACE(6)", /* 11h */ - "INQUIRY", /* 12h */ - NULL -}; - -static const char *SenseKeyString[] = { - "NO SENSE", /* 0h */ - "RECOVERED ERROR", /* 1h */ - "NOT READY", /* 2h */ - "MEDIUM ERROR", /* 3h */ - "HARDWARE ERROR", /* 4h */ - "ILLEGAL REQUEST", /* 5h */ - "UNIT ATTENTION", /* 6h */ - "DATA PROTECT", /* 7h */ - "BLANK CHECK", /* 8h */ - "VENDOR-SPECIFIC", /* 9h */ - "ABORTED COPY", /* Ah */ - "ABORTED COMMAND", /* Bh */ - "EQUAL (obsolete)", /* Ch */ - "VOLUME OVERFLOW", /* Dh */ - "MISCOMPARE", /* Eh */ - "RESERVED", /* Fh */ - NULL -}; - -#define SPECIAL_ASCQ(c,q) \ - (((c) == 0x40 && (q) != 0x00) || ((c) == 0x4D) || ((c) == 0x70)) - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -static int dump_cdb(char *foo, unsigned char *cdb) -{ - int i, grpCode, cdbLen; - int l = 0; - - grpCode = cdb[0] >> 5; - if (grpCode < 1) - cdbLen = 6; - else if (grpCode < 3) - cdbLen = 10; - else if (grpCode == 5) - cdbLen = 12; - else - cdbLen = 16; - - for (i=0; i < cdbLen; i++) - l += sprintf(foo+l, " %02X", cdb[i]); - - return l; -} - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* Do ASC/ASCQ lookup/grindage to English readable string(s) */ -static const char * ascq_set_strings_4max( - u8 ASC, u8 ASCQ, - const char **s1, const char **s2, const char **s3, const char **s4) -{ - static const char *asc_04_part1_string = "LOGICAL UNIT "; - static const char *asc_04_part2a_string = "NOT READY, "; - static const char *asc_04_part2b_string = "IS "; - static const char *asc_04_ascq_NN_part3_strings[] = { /* ASC ASCQ (hex) */ - "CAUSE NOT REPORTABLE", /* 04 00 */ - "IN PROCESS OF BECOMING READY", /* 04 01 */ - "INITIALIZING CMD. REQUIRED", /* 04 02 */ - "MANUAL INTERVENTION REQUIRED", /* 04 03 */ - /* Add " IN PROGRESS" to all the following... */ - "FORMAT", /* 04 04 */ - "REBUILD", /* 04 05 */ - "RECALCULATION", /* 04 06 */ - "OPERATION", /* 04 07 */ - "LONG WRITE", /* 04 08 */ - "SELF-TEST", /* 04 09 */ - NULL - }; - static char *asc_04_part4_string = " IN PROGRESS"; - - static char *asc_29_ascq_NN_strings[] = { /* ASC ASCQ (hex) */ - "POWER ON, RESET, OR BUS DEVICE RESET OCCURRED", /* 29 00 */ - "POWER ON OCCURRED", /* 29 01 */ - "SCSI BUS RESET OCCURRED", /* 29 02 */ - "BUS DEVICE RESET FUNCTION OCCURRED", /* 29 03 */ - "DEVICE INTERNAL RESET", /* 29 04 */ - "TRANSCEIVER MODE CHANGED TO SINGLE-ENDED", /* 29 05 */ - "TRANSCEIVER MODE CHANGED TO LVD", /* 29 06 */ - NULL - }; - static char *ascq_vendor_uniq = "(Vendor Unique)"; - static char *ascq_noone = "(no matching ASC/ASCQ description found)"; - int idx; - - *s1 = *s2 = *s3 = *s4 = ""; /* set'em all to the empty "" string */ - - /* CHECKME! Need lock/sem? - * Update and examine for isense module presense. - */ - mptscsih_ASCQ_TablePtr = (ASCQ_Table_t *)mpt_v_ASCQ_TablePtr; - - if (mptscsih_ASCQ_TablePtr == NULL) { - /* 2nd chances... */ - if (ASC == 0x04 && (ASCQ < sizeof(asc_04_ascq_NN_part3_strings)/sizeof(char*)-1)) { - *s1 = asc_04_part1_string; - *s2 = (ASCQ == 0x01) ? asc_04_part2b_string : asc_04_part2a_string; - *s3 = asc_04_ascq_NN_part3_strings[ASCQ]; - /* check for " IN PROGRESS" ones */ - if (ASCQ >= 0x04) - *s4 = asc_04_part4_string; - } else if (ASC == 0x29 && (ASCQ < sizeof(asc_29_ascq_NN_strings)/sizeof(char*)-1)) - *s1 = asc_29_ascq_NN_strings[ASCQ]; - /* - * Else { leave all *s[1-4] values pointing to the empty "" string } - */ - return *s1; - } - - /* - * Need to check ASC here; if it is "special," then - * the ASCQ is variable, and indicates failed component number. - * We must treat the ASCQ as a "don't care" while searching the - * mptscsih_ASCQ_Table[] by masking it off, and then restoring it later - * on when we actually need to identify the failed component. - */ - if (SPECIAL_ASCQ(ASC,ASCQ)) - ASCQ = 0xFF; - - /* OK, now search mptscsih_ASCQ_Table[] for a matching entry */ - for (idx = 0; mptscsih_ASCQ_TablePtr && idx < mpt_ASCQ_TableSz; idx++) - if ((ASC == mptscsih_ASCQ_TablePtr[idx].ASC) && (ASCQ == mptscsih_ASCQ_TablePtr[idx].ASCQ)) { - *s1 = mptscsih_ASCQ_TablePtr[idx].Description; - return *s1; - } - - if ((ASC >= 0x80) || (ASCQ >= 0x80)) - *s1 = ascq_vendor_uniq; - else - *s1 = ascq_noone; - - return *s1; -} - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -/* - * SCSI Information Report; desired output format... - *--- -SCSI Error: (iocnum:target_id:LUN) Status=02h (CHECK CONDITION) - Key=6h (UNIT ATTENTION); FRU=03h - ASC/ASCQ=29h/00h, "POWER ON, RESET, OR BUS DEVICE RESET OCCURRED" - CDB: 00 00 00 00 00 00 - TestUnitReady - *--- - */ -/* - * SCSI Error Report; desired output format... - *--- -SCSI Error Report =-=-=-=-=-=-=-=-=-=-=-=-=-= (ioc0,scsi0:0) - SCSI_Status=02h (CHECK CONDITION) - Original_CDB[]: 00 00 00 00 00 00 - TestUnitReady - SenseData[12h]: 70 00 06 00 00 00 00 0A 00 00 00 00 29 00 03 00 00 00 - SenseKey=6h (UNIT ATTENTION); FRU=03h - ASC/ASCQ=29h/00h, "POWER ON, RESET, OR BUS DEVICE RESET OCCURRED" - *--- - */ - -int mpt_ScsiHost_ErrorReport(IO_Info_t *ioop) -{ - char foo[512]; - char buf2[32]; - char *statstr; - const char *opstr; - int sk = SD_Sense_Key(ioop->sensePtr); - const char *skstr = SenseKeyString[sk]; - unsigned char asc = SD_ASC(ioop->sensePtr); - unsigned char ascq = SD_ASCQ(ioop->sensePtr); - int l; - - /* Change the error logging to only report errors on - * read and write commands. Ignore errors on other commands. - * Should this be configurable via proc? - */ - switch (ioop->cdbPtr[0]) { - case READ_6: - case WRITE_6: - case READ_10: - case WRITE_10: - case READ_12: - case WRITE_12: - case READ_16: - case WRITE_16: - break; - default: - return 0; - } - - /* - * More quiet mode. - * Filter out common, repetitive, warning-type errors... like: - * POWER ON (06,29/00 or 06,29/01), - * SPINNING UP (02,04/01), - * LOGICAL UNIT NOT SUPPORTED (05,25/00), etc. - */ - if (sk == SK_NO_SENSE) { - return 0; - } - - if ( (sk==SK_UNIT_ATTENTION && asc==0x29 && (ascq==0x00 || ascq==0x01)) - || (sk==SK_NOT_READY && asc==0x04 && (ascq==0x01 || ascq==0x02)) - || (sk==SK_ILLEGAL_REQUEST && asc==0x25 && ascq==0x00) - ) - { - /* Do nothing! */ - return 0; - } - - /* Prevent the system from continually writing to the log - * if a medium is not found: 02 3A 00 - * Changer issues: TUR, Read Capacity, Table of Contents continually - */ - if (sk==SK_NOT_READY && asc==0x3A) { - if (ioop->cdbPtr == NULL) { - return 0; - } else if ((ioop->cdbPtr[0] == CMD_TestUnitReady) || - (ioop->cdbPtr[0] == CMD_ReadCapacity) || - (ioop->cdbPtr[0] == 0x43)) { - return 0; - } - } - if (sk==SK_UNIT_ATTENTION) { - if (ioop->cdbPtr == NULL) - return 0; - else if (ioop->cdbPtr[0] == CMD_TestUnitReady) - return 0; - } - - /* - * Protect ourselves... - */ - if (ioop->cdbPtr == NULL) - ioop->cdbPtr = dummyCDB; - if (ioop->sensePtr == NULL) - ioop->sensePtr = dummySenseData; - if (ioop->inqPtr == NULL) - ioop->inqPtr = dummyInqData; - if (ioop->dataPtr == NULL) - ioop->dataPtr = dummyScsiData; - - statstr = NULL; - if ((ioop->SCSIStatus >= sizeof(ScsiStatusString)/sizeof(char*)-1) || - ((statstr = (char*)ScsiStatusString[ioop->SCSIStatus]) == NULL)) { - (void) sprintf(buf2, "Bad-Reserved-%02Xh", ioop->SCSIStatus); - statstr = buf2; - } - - opstr = NULL; - if (1+ioop->cdbPtr[0] <= sizeof(ScsiCommonOpString)/sizeof(char*)) - opstr = ScsiCommonOpString[ioop->cdbPtr[0]]; - else if (mpt_ScsiOpcodesPtr) - opstr = mpt_ScsiOpcodesPtr[ioop->cdbPtr[0]]; - - l = sprintf(foo, "SCSI Error: (%s) Status=%02Xh (%s)\n", - ioop->DevIDStr, - ioop->SCSIStatus, - statstr); - l += sprintf(foo+l, " Key=%Xh (%s); FRU=%02Xh\n ASC/ASCQ=%02Xh/%02Xh", - sk, skstr, SD_FRU(ioop->sensePtr), asc, ascq ); - { - const char *x1, *x2, *x3, *x4; - x1 = x2 = x3 = x4 = ""; - x1 = ascq_set_strings_4max(asc, ascq, &x1, &x2, &x3, &x4); - if (x1 != NULL) { - if (x1[0] != '(') - l += sprintf(foo+l, " \"%s%s%s%s\"", x1,x2,x3,x4); - else - l += sprintf(foo+l, " %s%s%s%s", x1,x2,x3,x4); - } - } - l += sprintf(foo+l, "\n CDB:"); - l += dump_cdb(foo+l, ioop->cdbPtr); - if (opstr) - l += sprintf(foo+l, " - \"%s\"", opstr); - l += sprintf(foo+l, "\n"); - - PrintF(("%s\n", foo)); - - return l; -} - -/*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ - /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ /* * mptscsih_initTarget - Target, LUN alloc/free functionality. @@ -4176,48 +3346,33 @@ mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char * { int indexed_lun, lun_index; VirtDevice *vdev; + ScsiCfgData *pSpi; char data_56; - dprintk((MYIOC_s_INFO_FMT "initTarget bus=%d id=%d lun=%d hd=%p\n", + dinitprintk((MYIOC_s_INFO_FMT "initTarget bus=%d id=%d lun=%d hd=%p\n", hd->ioc->name, bus_id, target_id, lun, hd)); - /* Is LUN supported? If so, upper 3 bits will be 0 + /* Is LUN supported? If so, upper 2 bits will be 0 * in first byte of inquiry data. */ if (data[0] & 0xe0) return; - vdev = hd->Targets[target_id]; + if ((vdev = hd->Targets[target_id]) == NULL) { + return; + } lun_index = (lun >> 5); /* 32 luns per lun_index */ indexed_lun = (lun % 32); vdev->luns[lun_index] |= (1 << indexed_lun); - vdev->raidVolume = 0; if (hd->is_spi) { - if (hd->ioc->spi_data.isRaid & (1 << target_id)) { - vdev->raidVolume = 1; - ddvtprintk((KERN_INFO "RAID Volume @ id %d\n", target_id)); - } - } - - if (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY)) { - if ( dlen > 8 ) { - memcpy (vdev->inq_data, data, 8); - } else { - memcpy (vdev->inq_data, data, dlen); - } - vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; - - /* If LUN 0, tape and have not done DV, set the DV flag. - */ - if (hd->is_spi && (lun == 0) && (data[0] == SCSI_TYPE_TAPE)) { - ScsiCfgData *pSpi = &hd->ioc->spi_data; - if (pSpi->dvStatus[target_id] & MPT_SCSICFG_DV_NOT_DONE) - pSpi->dvStatus[target_id] |= MPT_SCSICFG_NEED_DV; - } - - if ( (data[0] == SCSI_TYPE_PROC) && + if ((data[0] == TYPE_PROCESSOR) && (hd->ioc->spi_data.Saf_Te)) { + /* Treat all Processors as SAF-TE if + * command line option is set */ + vdev->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; + mptscsih_writeIOCPage4(hd, target_id, bus_id); + }else if ((data[0] == TYPE_PROCESSOR) && !(vdev->tflags & MPT_TARGET_FLAGS_SAF_TE_ISSUED )) { if ( dlen > 49 ) { vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; @@ -4230,30 +3385,51 @@ mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char * vdev->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; mptscsih_writeIOCPage4(hd, target_id, bus_id); } - } else { - /* Treat all Processors as SAF-TE if - * command line option is set */ - if ( hd->ioc->spi_data.Saf_Te ) { - vdev->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; - mptscsih_writeIOCPage4(hd, target_id, bus_id); - } } } + if (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY)) { + if ( dlen > 8 ) { + memcpy (vdev->inq_data, data, 8); + } else { + memcpy (vdev->inq_data, data, dlen); + } - data_56 = 0x0F; /* Default to full capabilities if Inq data length is < 57 */ - if (dlen > 56) { - if ( (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_56))) { - /* Update the target capabilities + /* If have not done DV, set the DV flag. */ - data_56 = data[56]; - vdev->tflags |= MPT_TARGET_FLAGS_VALID_56; + pSpi = &hd->ioc->spi_data; + if ((data[0] == TYPE_TAPE) || (data[0] == TYPE_PROCESSOR)) { + if (pSpi->dvStatus[target_id] & MPT_SCSICFG_DV_NOT_DONE) + pSpi->dvStatus[target_id] |= MPT_SCSICFG_NEED_DV; + } + + vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; + + + data_56 = 0x0F; /* Default to full capabilities if Inq data length is < 57 */ + if (dlen > 56) { + if ( (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_56))) { + /* Update the target capabilities + */ + data_56 = data[56]; + vdev->tflags |= MPT_TARGET_FLAGS_VALID_56; + } + } + mptscsih_setTargetNegoParms(hd, vdev, data_56); + } else { + /* Initial Inquiry may not request enough data bytes to + * obtain byte 57. DV will; if target doesn't return + * at least 57 bytes, data[56] will be zero. */ + if (dlen > 56) { + if ( (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_56))) { + /* Update the target capabilities + */ + data_56 = data[56]; + vdev->tflags |= MPT_TARGET_FLAGS_VALID_56; + mptscsih_setTargetNegoParms(hd, vdev, data_56); + } } } - mptscsih_setTargetNegoParms(hd, vdev, data_56); } - - dprintk((KERN_INFO " target = %p\n", vdev)); - return; } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -4262,12 +3438,12 @@ mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char * * the Inquiry data, adapter capabilities, and NVRAM settings. * */ -void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56) +static void +mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56) { ScsiCfgData *pspi_data = &hd->ioc->spi_data; int id = (int) target->target_id; int nvram; - char canQ = 0; VirtDevice *vdev; int ii; u8 width = MPT_NARROW; @@ -4276,14 +3452,6 @@ void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byt u8 version, nfactor; u8 noQas = 1; - if (!hd->is_spi) { - if (target->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY) { - if (target->inq_data[7] & 0x02) - target->tflags |= MPT_TARGET_FLAGS_Q_YES; - } - return; - } - target->negoFlags = pspi_data->noQas; /* noQas == 0 => device supports QAS. Need byte 56 of Inq to determine @@ -4293,137 +3461,152 @@ void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byt /* Set flags based on Inquiry data */ - if (target->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY) { - version = target->inq_data[2] & 0x07; - if (version < 2) { - width = 0; - factor = MPT_ULTRA2; - offset = pspi_data->maxSyncOffset; - } else { - if (target->inq_data[7] & 0x20) { - width = 1; - } + version = target->inq_data[2] & 0x07; + if (version < 2) { + width = 0; + factor = MPT_ULTRA2; + offset = pspi_data->maxSyncOffset; + target->tflags &= ~MPT_TARGET_FLAGS_Q_YES; + } else { + if (target->inq_data[7] & 0x20) { + width = 1; + } - if (target->inq_data[7] & 0x10) { - /* bits 2 & 3 show Clocking support - */ + if (target->inq_data[7] & 0x10) { + factor = pspi_data->minSyncFactor; + if (target->tflags & MPT_TARGET_FLAGS_VALID_56) { + /* bits 2 & 3 show Clocking support */ if ((byte56 & 0x0C) == 0) factor = MPT_ULTRA2; else { if ((byte56 & 0x03) == 0) factor = MPT_ULTRA160; - else + else { factor = MPT_ULTRA320; - } - offset = pspi_data->maxSyncOffset; - - /* If RAID, never disable QAS - * else if non RAID, do not disable - * QAS if bit 1 is set - * bit 1 QAS support, non-raid only - * bit 0 IU support - */ - if ((target->raidVolume == 1) || (byte56 & 0x02)) { - noQas = 0; + if (byte56 & 0x02) + { + ddvtprintk((KERN_INFO "Enabling QAS due to byte56=%02x on id=%d!\n", byte56, id)); + noQas = 0; + } + if (target->inq_data[0] == TYPE_TAPE) { + if (byte56 & 0x01) + target->negoFlags |= MPT_TAPE_NEGO_IDP; + } + } } } else { - factor = MPT_ASYNC; - offset = 0; + ddvtprintk((KERN_INFO "Enabling QAS on id=%d due to ~TARGET_FLAGS_VALID_56!\n", id)); + noQas = 0; } - } + + offset = pspi_data->maxSyncOffset; - if (target->inq_data[7] & 0x02) { - canQ = 1; + /* If RAID, never disable QAS + * else if non RAID, do not disable + * QAS if bit 1 is set + * bit 1 QAS support, non-raid only + * bit 0 IU support + */ + if (target->raidVolume == 1) { + noQas = 0; + } + } else { + factor = MPT_ASYNC; + offset = 0; } + } - /* Update tflags based on NVRAM settings. (SCSI only) - */ - if (pspi_data->nvram && (pspi_data->nvram[id] != MPT_HOST_NVRAM_INVALID)) { - nvram = pspi_data->nvram[id]; - nfactor = (nvram & MPT_NVRAM_SYNC_MASK) >> 8; + if ( (target->inq_data[7] & 0x02) == 0) { + target->tflags &= ~MPT_TARGET_FLAGS_Q_YES; + } - if (width) - width = nvram & MPT_NVRAM_WIDE_DISABLE ? 0 : 1; + /* Update tflags based on NVRAM settings. (SCSI only) + */ + if (pspi_data->nvram && (pspi_data->nvram[id] != MPT_HOST_NVRAM_INVALID)) { + nvram = pspi_data->nvram[id]; + nfactor = (nvram & MPT_NVRAM_SYNC_MASK) >> 8; - if (offset > 0) { - /* Ensure factor is set to the - * maximum of: adapter, nvram, inquiry - */ - if (nfactor) { - if (nfactor < pspi_data->minSyncFactor ) - nfactor = pspi_data->minSyncFactor; + if (width) + width = nvram & MPT_NVRAM_WIDE_DISABLE ? 0 : 1; - factor = max(factor, nfactor); - if (factor == MPT_ASYNC) - offset = 0; - } else { + if (offset > 0) { + /* Ensure factor is set to the + * maximum of: adapter, nvram, inquiry + */ + if (nfactor) { + if (nfactor < pspi_data->minSyncFactor ) + nfactor = pspi_data->minSyncFactor; + + factor = max(factor, nfactor); + if (factor == MPT_ASYNC) offset = 0; - factor = MPT_ASYNC; - } } else { + offset = 0; factor = MPT_ASYNC; - } } - - /* Make sure data is consistent - */ - if ((!width) && (factor < MPT_ULTRA2)) { - factor = MPT_ULTRA2; + } else { + factor = MPT_ASYNC; } + } - /* Save the data to the target structure. - */ - target->minSyncFactor = factor; - target->maxOffset = offset; - target->maxWidth = width; - if (canQ) { - target->tflags |= MPT_TARGET_FLAGS_Q_YES; - } + /* Make sure data is consistent + */ + if ((!width) && (factor < MPT_ULTRA2)) { + factor = MPT_ULTRA2; + } - target->tflags |= MPT_TARGET_FLAGS_VALID_NEGO; + /* Save the data to the target structure. + */ + target->minSyncFactor = factor; + target->maxOffset = offset; + target->maxWidth = width; - /* Disable unused features. - */ - if (!width) - target->negoFlags |= MPT_TARGET_NO_NEGO_WIDE; + target->tflags |= MPT_TARGET_FLAGS_VALID_NEGO; - if (!offset) - target->negoFlags |= MPT_TARGET_NO_NEGO_SYNC; + /* Disable unused features. + */ + if (!width) + target->negoFlags |= MPT_TARGET_NO_NEGO_WIDE; - /* GEM, processor WORKAROUND - */ - if (((target->inq_data[0] & 0x1F) == 0x03) - || ((target->inq_data[0] & 0x1F) > 0x08)) { - target->negoFlags |= (MPT_TARGET_NO_NEGO_WIDE | MPT_TARGET_NO_NEGO_SYNC); - pspi_data->dvStatus[id] |= MPT_SCSICFG_BLK_NEGO; - } else { - if (noQas && (pspi_data->noQas == 0)) { - pspi_data->noQas |= MPT_TARGET_NO_NEGO_QAS; - target->negoFlags |= MPT_TARGET_NO_NEGO_QAS; + if (!offset) + target->negoFlags |= MPT_TARGET_NO_NEGO_SYNC; - /* Disable QAS in a mixed configuration case - */ + if ( factor > MPT_ULTRA320 ) + noQas = 0; - ddvtprintk((KERN_INFO "Disabling QAS due to noQas=%02x on id=%d!\n", noQas, id)); - for (ii = 0; ii < id; ii++) { - if ( (vdev = hd->Targets[ii]) ) { - vdev->negoFlags |= MPT_TARGET_NO_NEGO_QAS; - } - } + /* GEM, processor WORKAROUND + */ + if ((target->inq_data[0] == TYPE_PROCESSOR) || (target->inq_data[0] > 0x08)) { + target->negoFlags |= (MPT_TARGET_NO_NEGO_WIDE | MPT_TARGET_NO_NEGO_SYNC); + pspi_data->dvStatus[id] |= MPT_SCSICFG_BLK_NEGO; + } else { + if (noQas && (pspi_data->noQas == 0)) { + pspi_data->noQas |= MPT_TARGET_NO_NEGO_QAS; + target->negoFlags |= MPT_TARGET_NO_NEGO_QAS; + + /* Disable QAS in a mixed configuration case + */ + + ddvtprintk((KERN_INFO "Disabling QAS due to noQas=%02x on id=%d!\n", noQas, id)); + for (ii = 0; ii < id; ii++) { + if ( (vdev = hd->Targets[ii]) ) { + vdev->negoFlags |= MPT_TARGET_NO_NEGO_QAS; + mptscsih_writeSDP1(hd, 0, ii, vdev->negoFlags); + } } } - - /* Write SDP1 on this I/O to this target */ - if (pspi_data->dvStatus[id] & MPT_SCSICFG_NEGOTIATE) { - mptscsih_writeSDP1(hd, 0, id, hd->negoNvram); - pspi_data->dvStatus[id] &= ~MPT_SCSICFG_NEGOTIATE; - } else if (pspi_data->dvStatus[id] & MPT_SCSICFG_BLK_NEGO) { - mptscsih_writeSDP1(hd, 0, id, MPT_SCSICFG_BLK_NEGO); - pspi_data->dvStatus[id] &= ~MPT_SCSICFG_BLK_NEGO; - } } - return; + /* Write SDP1 on this I/O to this target */ + if (pspi_data->dvStatus[id] & MPT_SCSICFG_NEGOTIATE) { + ddvtprintk((KERN_INFO "MPT_SCSICFG_NEGOTIATE on id=%d!\n", id)); + mptscsih_writeSDP1(hd, 0, id, hd->negoNvram); + pspi_data->dvStatus[id] &= ~MPT_SCSICFG_NEGOTIATE; + } else if (pspi_data->dvStatus[id] & MPT_SCSICFG_BLK_NEGO) { + ddvtprintk((KERN_INFO "MPT_SCSICFG_BLK_NEGO on id=%d!\n", id)); + mptscsih_writeSDP1(hd, 0, id, MPT_SCSICFG_BLK_NEGO); + pspi_data->dvStatus[id] &= ~MPT_SCSICFG_BLK_NEGO; + } } /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ @@ -4437,14 +3620,18 @@ void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byt static void mptscsih_set_dvflags(MPT_SCSI_HOST *hd, SCSIIORequest_t *pReq) { u8 cmd; + ScsiCfgData *pSpi; + ddvtprintk((" set_dvflags: id=%d lun=%d negoNvram=%x cmd=%x\n", + pReq->TargetID, pReq->LUN[1], hd->negoNvram, pReq->CDB[0])); + if ((pReq->LUN[1] != 0) || (hd->negoNvram != 0)) return; cmd = pReq->CDB[0]; if ((cmd == READ_CAPACITY) || (cmd == MODE_SENSE)) { - ScsiCfgData *pSpi = &hd->ioc->spi_data; + pSpi = &hd->ioc->spi_data; if ((pSpi->isRaid & (1 << pReq->TargetID)) && pSpi->pIocPg3) { /* Set NEED_DV for all hidden disks */ @@ -4510,6 +3697,8 @@ mptscsih_setDevicePage1Flags (u8 width, u8 factor, u8 offset, int *requestedPtr, *requestedPtr |= (MPI_SCSIDEVPAGE1_RP_IU + MPI_SCSIDEVPAGE1_RP_DT); if ((flags & MPT_TARGET_NO_NEGO_QAS) == 0) *requestedPtr |= MPI_SCSIDEVPAGE1_RP_QAS; + if (flags & MPT_TAPE_NEGO_IDP) + *requestedPtr |= 0x08000000; } else if (factor < MPT_ULTRA2) { *requestedPtr |= MPI_SCSIDEVPAGE1_RP_DT; } @@ -4624,6 +3813,16 @@ mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target_id, int flags) //negoFlags = MPT_TARGET_NO_NEGO_SYNC; } + /* If id is not a raid volume, get the updated + * transmission settings from the target structure. + */ + if (hd->Targets && (pTarget = hd->Targets[id]) && !pTarget->raidVolume) { + width = pTarget->maxWidth; + factor = pTarget->minSyncFactor; + offset = pTarget->maxOffset; + negoFlags = pTarget->negoFlags; + } + #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION /* Force to async and narrow if DV has not been executed * for this ID @@ -4635,21 +3834,13 @@ mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target_id, int flags) } #endif - /* If id is not a raid volume, get the updated - * transmission settings from the target structure. - */ - if (hd->Targets && (pTarget = hd->Targets[id]) && !pTarget->raidVolume) { - width = pTarget->maxWidth; - factor = pTarget->minSyncFactor; - offset = pTarget->maxOffset; - negoFlags = pTarget->negoFlags; - } - if (flags & MPT_SCSICFG_BLK_NEGO) negoFlags = MPT_TARGET_NO_NEGO_WIDE | MPT_TARGET_NO_NEGO_SYNC; mptscsih_setDevicePage1Flags(width, factor, offset, &requested, &configuration, negoFlags); + dnegoprintk(("writeSDP1: id=%d width=%d factor=%x offset=%x negoFlags=%x request=%x config=%x\n", + target_id, width, factor, offset, negoFlags, requested, configuration)); /* Get a MF for this command. */ @@ -4754,9 +3945,6 @@ mptscsih_writeIOCPage4(MPT_SCSI_HOST *hd, int target_id, int bus) return -EAGAIN; } - ddvprintk((MYIOC_s_INFO_FMT "writeIOCPage4 (mf=%p, id=%d)\n", - ioc->name, mf, target_id)); - /* Set the request and the data pointers. * Place data at end of MF. */ @@ -4793,9 +3981,9 @@ mptscsih_writeIOCPage4(MPT_SCSI_HOST *hd, int target_id, int bus) mpt_add_sge((char *)&pReq->PageBufferSGE, flagsLength, dataDma); - dsprintk((MYIOC_s_INFO_FMT - "writeIOCPage4: pgaddr 0x%x\n", - ioc->name, (target_id | (bus<<8)))); + dinitprintk((MYIOC_s_INFO_FMT + "writeIOCPage4: MaxSEP=%d ActiveSEP=%d id=%d bus=%d\n", + ioc->name, IOCPage4Ptr->MaxSEP, IOCPage4Ptr->ActiveSEP, target_id, bus)); mpt_put_msg_frame(ScsiDoneCtx, ioc, mf); @@ -4922,13 +4110,15 @@ mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) } else { SCSIIOReply_t *pReply; u16 status; + u8 scsi_status; pReply = (SCSIIOReply_t *) mr; status = le16_to_cpu(pReply->IOCStatus) & MPI_IOCSTATUS_MASK; + scsi_status = pReply->SCSIStatus; ddvtprintk((KERN_NOTICE " IOCStatus=%04xh, SCSIState=%02xh, SCSIStatus=%02xh, IOCLogInfo=%08xh\n", - status, pReply->SCSIState, pReply->SCSIStatus, + status, pReply->SCSIState, scsi_status, le32_to_cpu(pReply->IOCLogInfo))); switch(status) { @@ -4973,7 +4163,7 @@ mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) /* save sense data in global structure */ completionCode = MPT_SCANDV_SENSE; - hd->pLocal->scsiStatus = pReply->SCSIStatus; + hd->pLocal->scsiStatus = scsi_status; sense_data = ((u8 *)hd->ioc->sense_buf_pool + (req_idx * MPT_SENSE_BUFFER_ALLOC)); @@ -4984,7 +4174,7 @@ mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) ddvprintk((KERN_NOTICE " Check Condition, sense ptr %p\n", sense_data)); } else if (pReply->SCSIState & MPI_SCSI_STATE_AUTOSENSE_FAILED) { - if (pReq->CDB[0] == CMD_Inquiry) + if (pReq->CDB[0] == INQUIRY) completionCode = MPT_SCANDV_ISSUE_SENSE; else completionCode = MPT_SCANDV_DID_RESET; @@ -4994,11 +4184,8 @@ mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) else if (pReply->SCSIState & MPI_SCSI_STATE_TERMINATED) completionCode = MPT_SCANDV_DID_RESET; else { - /* If no error, this will be equivalent - * to MPT_SCANDV_GOOD - */ completionCode = MPT_SCANDV_GOOD; - hd->pLocal->scsiStatus = pReply->SCSIStatus; + hd->pLocal->scsiStatus = scsi_status; } break; @@ -5025,7 +4212,7 @@ mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) */ wakeup: /* Free Chain buffers (will never chain) in scan or dv */ - //mptscsih_freeChainBuffers(hd, req_idx); + //mptscsih_freeChainBuffers(ioc, req_idx); /* * Wake up the original calling thread @@ -5197,7 +4384,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) /* Set command specific information */ switch (cmd) { - case CMD_Inquiry: + case INQUIRY: cmdLen = 6; dir = MPI_SCSIIO_CONTROL_READ; CDB[0] = cmd; @@ -5205,13 +4392,13 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) cmdTimeout = 10; break; - case CMD_TestUnitReady: + case TEST_UNIT_READY: cmdLen = 6; dir = MPI_SCSIIO_CONTROL_READ; cmdTimeout = 10; break; - case CMD_StartStopUnit: + case START_STOP: cmdLen = 6; dir = MPI_SCSIIO_CONTROL_READ; CDB[0] = cmd; @@ -5219,7 +4406,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) cmdTimeout = 15; break; - case CMD_RequestSense: + case REQUEST_SENSE: cmdLen = 6; CDB[0] = cmd; CDB[4] = io->size; @@ -5227,7 +4414,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) cmdTimeout = 10; break; - case CMD_ReadBuffer: + case READ_BUFFER: cmdLen = 10; dir = MPI_SCSIIO_CONTROL_READ; CDB[0] = cmd; @@ -5246,7 +4433,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) cmdTimeout = 10; break; - case CMD_WriteBuffer: + case WRITE_BUFFER: cmdLen = 10; dir = MPI_SCSIIO_CONTROL_WRITE; CDB[0] = cmd; @@ -5261,21 +4448,21 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) cmdTimeout = 10; break; - case CMD_Reserve6: + case RESERVE: cmdLen = 6; dir = MPI_SCSIIO_CONTROL_READ; CDB[0] = cmd; cmdTimeout = 10; break; - case CMD_Release6: + case RELEASE: cmdLen = 6; dir = MPI_SCSIIO_CONTROL_READ; CDB[0] = cmd; cmdTimeout = 10; break; - case CMD_SynchronizeCache: + case SYNCHRONIZE_CACHE: cmdLen = 10; dir = MPI_SCSIIO_CONTROL_READ; CDB[0] = cmd; @@ -5331,7 +4518,7 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) else pScsiReq->Control = cpu_to_le32(dir | MPI_SCSIIO_CONTROL_UNTAGGED); - if (cmd == CMD_RequestSense) { + if (cmd == REQUEST_SENSE) { pScsiReq->Control = cpu_to_le32(dir | MPI_SCSIIO_CONTROL_UNTAGGED); ddvprintk((MYIOC_s_INFO_FMT "Untagged! 0x%2x\n", hd->ioc->name, cmd)); @@ -5439,7 +4626,7 @@ mptscsih_synchronize_cache(MPT_SCSI_HOST *hd, int portnum) /* Following parameters will not change * in this routine. */ - iocmd.cmd = CMD_SynchronizeCache; + iocmd.cmd = SYNCHRONIZE_CACHE; iocmd.flags = 0; iocmd.physDiskNum = -1; iocmd.data = NULL; @@ -5509,6 +4696,9 @@ mptscsih_synchronize_cache(MPT_SCSI_HOST *hd, int portnum) /* Force to async, narrow */ mptscsih_setDevicePage1Flags(0, MPT_ASYNC, 0, &requested, &configuration, flags); + dnegoprintk(("syncronize cache: id=%d width=0 factor=MPT_ASYNC " + "offset=0 negoFlags=%x request=%x config=%x\n", + id, flags, requested, configuration)); pcfg1Data->RequestedParameters = le32_to_cpu(requested); pcfg1Data->Reserved = 0; pcfg1Data->Configuration = le32_to_cpu(configuration); @@ -5597,8 +4787,7 @@ mptscsih_domainValidation(void *arg) } spin_unlock_irqrestore(&dvtaskQ_lock, flags); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ/4); + msleep(250); /* DV only to SCSI adapters */ if ((int)ioc->chip_type <= (int)FC929) @@ -5646,8 +4835,7 @@ mptscsih_domainValidation(void *arg) hd->ioc->spi_data.dvStatus[id] |= MPT_SCSICFG_DV_PENDING; hd->ioc->spi_data.dvStatus[id] &= ~MPT_SCSICFG_NEED_DV; - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ/4); + msleep(250); /* If hidden phys disk, block IO's to all * raid volumes @@ -5681,11 +4869,6 @@ mptscsih_domainValidation(void *arg) } } - /* Post OS IOs that were pended while - * DV running. - */ - post_pendingQ_commands(hd); - if (hd->ioc->spi_data.noQas) mptscsih_qas_check(hd, id); } @@ -5741,11 +4924,14 @@ static void mptscsih_qas_check(MPT_SCSI_HOST *hd, int id) if ((pTarget != NULL) && (!pTarget->raidVolume)) { if ((pTarget->negoFlags & hd->ioc->spi_data.noQas) == 0) { pTarget->negoFlags |= hd->ioc->spi_data.noQas; + dnegoprintk(("writeSDP1: id=%d flags=0\n", id)); mptscsih_writeSDP1(hd, 0, ii, 0); } } else { - if (mptscsih_is_phys_disk(hd->ioc, ii) == 1) + if (mptscsih_is_phys_disk(hd->ioc, ii) == 1) { + dnegoprintk(("writeSDP1: id=%d SCSICFG_USE_NVRAM\n", id)); mptscsih_writeSDP1(hd, 0, ii, MPT_SCSICFG_USE_NVRAM); + } } } return; @@ -5824,7 +5010,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) lun = 0; bus = (u8) bus_number; ddvtprintk((MYIOC_s_NOTE_FMT - "DV started: bus=%d, id %d dv @ %p\n", + "DV started: bus=%d, id=%d dv @ %p\n", ioc->name, bus, id, &dv)); /* Prep DV structure @@ -5838,8 +5024,6 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) */ dv.cmd = MPT_GET_NVRAM_VALS; mptscsih_dv_parms(hd, &dv, NULL); - if ((!dv.max.width) && (!dv.max.offset)) - return 0; /* Prep SCSI IO structure */ @@ -5851,15 +5035,6 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) iocmd.rsvd = iocmd.rsvd2 = 0; pTarget = hd->Targets[id]; - if (pTarget && (pTarget->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY)) { - /* Another GEM workaround. Check peripheral device type, - * if PROCESSOR, quit DV. - */ - if (((pTarget->inq_data[0] & 0x1F) == 0x03) || ((pTarget->inq_data[0] & 0x1F) > 0x08)) { - pTarget->negoFlags |= (MPT_TARGET_NO_NEGO_WIDE | MPT_TARGET_NO_NEGO_SYNC); - return 0; - } - } /* Use tagged commands if possible. */ @@ -5959,7 +5134,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) /* Finish iocmd inititialization - hidden or visible disk? */ if (ioc->spi_data.pIocPg3) { - /* Searc IOC page 3 for matching id + /* Search IOC page 3 for matching id */ Ioc3PhysDisk_t *pPDisk = ioc->spi_data.pIocPg3->PhysDisk; int numPDisk = ioc->spi_data.pIocPg3->NumPhysDisks; @@ -6001,7 +5176,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) */ hd->pLocal = NULL; readPage0 = 0; - sz = SCSI_STD_INQUIRY_BYTES; + sz = SCSI_MAX_INQUIRY_BYTES; rc = MPT_SCANDV_GOOD; while (1) { ddvprintk((MYIOC_s_NOTE_FMT "DV: Start Basic test on id=%d\n", ioc->name, id)); @@ -6026,7 +5201,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) ((hd->ioc->facts.FWVersion.Word >= 0x01010000) && (hd->ioc->facts.FWVersion.Word < 0x01010B00)) ) { - iocmd.cmd = CMD_RequestSense; + iocmd.cmd = REQUEST_SENSE; iocmd.data_dma = buf1_dma; iocmd.data = pbuf1; iocmd.size = 0x12; @@ -6046,10 +5221,11 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) goto target_done; } - iocmd.cmd = CMD_Inquiry; + iocmd.cmd = INQUIRY; iocmd.data_dma = buf1_dma; iocmd.data = pbuf1; iocmd.size = sz; + memset(pbuf1, 0x00, sz); if (mptscsih_do_cmd(hd, &iocmd) < 0) goto target_done; else { @@ -6057,7 +5233,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) goto target_done; rc = hd->pLocal->completion; if (rc == MPT_SCANDV_GOOD) { - if (hd->pLocal->scsiStatus == STS_BUSY) { + if (hd->pLocal->scsiStatus == SAM_STAT_BUSY) { if ((iocmd.flags & MPT_ICFLAG_TAGGED_CMD) == 0) retcode = 1; else @@ -6087,7 +5263,17 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) /* Another GEM workaround. Check peripheral device type, * if PROCESSOR, quit DV. */ - if (((pbuf1[0] & 0x1F) == 0x03) || ((pbuf1[0] & 0x1F) > 0x08)) + if (inq0 == TYPE_PROCESSOR) { + mptscsih_initTarget(hd, + bus, + id, + lun, + pbuf1, + sz); + goto target_done; + } + + if (inq0 > 0x08) goto target_done; if (mptscsih_do_cmd(hd, &iocmd) < 0) @@ -6111,6 +5297,9 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) if ((pbuf1[56] & 0x02) == 0) { pTarget->negoFlags |= MPT_TARGET_NO_NEGO_QAS; hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; + ddvprintk((MYIOC_s_NOTE_FMT + "DV: Start Basic noQas on id=%d due to pbuf1[56]=%x\n", + ioc->name, id, pbuf1[56])); } } } @@ -6127,10 +5316,11 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) if ((!dv.now.width) && (!dv.now.offset)) goto target_done; - iocmd.cmd = CMD_Inquiry; + iocmd.cmd = INQUIRY; iocmd.data_dma = buf2_dma; iocmd.data = pbuf2; iocmd.size = sz; + memset(pbuf2, 0x00, sz); if (mptscsih_do_cmd(hd, &iocmd) < 0) goto target_done; else if (hd->pLocal == NULL) @@ -6183,14 +5373,26 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) if (memcmp(pbuf1, pbuf2, sz) != 0) { if (!firstPass) doFallback = 1; - } else + } else { + ddvprintk((MYIOC_s_NOTE_FMT + "DV:Inquiry compared id=%d, calling initTarget\n", ioc->name, id)); + hd->ioc->spi_data.dvStatus[id] &= ~MPT_SCSICFG_DV_NOT_DONE; + mptscsih_initTarget(hd, + bus, + id, + lun, + pbuf1, + sz); break; /* test complete */ + } } } else if (rc == MPT_SCANDV_ISSUE_SENSE) doFallback = 1; /* set fallback flag */ - else if ((rc == MPT_SCANDV_DID_RESET) || (rc == MPT_SCANDV_SENSE)) + else if ((rc == MPT_SCANDV_DID_RESET) || + (rc == MPT_SCANDV_SENSE) || + (rc == MPT_SCANDV_FALLBACK)) doFallback = 1; /* set fallback flag */ else goto target_done; @@ -6199,6 +5401,10 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) } } ddvprintk((MYIOC_s_NOTE_FMT "DV: Basic test on id=%d completed OK.\n", ioc->name, id)); + + if (driver_setup.dv == 0) + goto target_done; + inq0 = (*pbuf1) & 0x1F; /* Continue only for disks @@ -6222,7 +5428,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) cfg.action = MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT; cfg.dir = 1; - iocmd.cmd = CMD_TestUnitReady; + iocmd.cmd = TEST_UNIT_READY; iocmd.data_dma = -1; iocmd.data = NULL; iocmd.size = 0; @@ -6245,14 +5451,14 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) "SenseKey:ASC:ASCQ = (%x:%02x:%02x)\n", ioc->name, skey, asc, ascq)); - if (skey == SK_UNIT_ATTENTION) + if (skey == UNIT_ATTENTION) notDone++; /* repeat */ - else if ((skey == SK_NOT_READY) && + else if ((skey == NOT_READY) && (asc == 0x04)&&(ascq == 0x01)) { /* wait then repeat */ mdelay (2000); notDone++; - } else if ((skey == SK_NOT_READY) && (asc == 0x3A)) { + } else if ((skey == NOT_READY) && (asc == 0x3A)) { /* no medium, try read test anyway */ notDone = 0; } else { @@ -6266,7 +5472,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) goto target_done; } - iocmd.cmd = CMD_ReadBuffer; + iocmd.cmd = READ_BUFFER; iocmd.data_dma = buf1_dma; iocmd.data = pbuf1; iocmd.size = 4; @@ -6314,11 +5520,11 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) ddvprintk((MYIOC_s_INFO_FMT "SenseKey:ASC:ASCQ = (%x:%02x:%02x)\n", ioc->name, skey, asc, ascq)); - if (skey == SK_ILLEGAL_REQUEST) { + if (skey == ILLEGAL_REQUEST) { notDone = 0; - } else if (skey == SK_UNIT_ATTENTION) { + } else if (skey == UNIT_ATTENTION) { notDone++; /* repeat */ - } else if ((skey == SK_NOT_READY) && + } else if ((skey == NOT_READY) && (asc == 0x04)&&(ascq == 0x01)) { /* wait then repeat */ mdelay (2000); @@ -6373,14 +5579,14 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) for (patt = 0; patt < 4; patt++) { ddvprintk(("Pattern %d\n", patt)); if ((iocmd.flags & MPT_ICFLAG_RESERVED) && (iocmd.flags & MPT_ICFLAG_DID_RESET)) { - iocmd.cmd = CMD_TestUnitReady; + iocmd.cmd = TEST_UNIT_READY; iocmd.data_dma = -1; iocmd.data = NULL; iocmd.size = 0; if (mptscsih_do_cmd(hd, &iocmd) < 0) goto target_done; - iocmd.cmd = CMD_Release6; + iocmd.cmd = RELEASE; iocmd.data_dma = -1; iocmd.data = NULL; iocmd.size = 0; @@ -6402,7 +5608,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) repeat = 5; while (repeat && (!(iocmd.flags & MPT_ICFLAG_RESERVED))) { - iocmd.cmd = CMD_Reserve6; + iocmd.cmd = RESERVE; iocmd.data_dma = -1; iocmd.data = NULL; iocmd.size = 0; @@ -6425,7 +5631,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) ddvprintk(("SenseKey:ASC:ASCQ = (%x:%02x:%02x)\n", skey, asc, ascq)); - if ((skey == SK_NOT_READY) && (asc == 0x04)&& + if ((skey == NOT_READY) && (asc == 0x04)&& (ascq == 0x01)) { /* wait then repeat */ mdelay (2000); @@ -6444,7 +5650,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) } mptscsih_fillbuf(pbuf1, sz, patt, 1); - iocmd.cmd = CMD_WriteBuffer; + iocmd.cmd = WRITE_BUFFER; iocmd.data_dma = buf1_dma; iocmd.data = pbuf1; iocmd.size = sz; @@ -6485,10 +5691,10 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) ddvprintk((MYIOC_s_INFO_FMT "SenseKey:ASC:ASCQ = (%x:%02x:%02x)\n", ioc->name, skey, hd->pLocal->sense[12], hd->pLocal->sense[13])); - if (skey == SK_UNIT_ATTENTION) { + if (skey == UNIT_ATTENTION) { patt = -1; continue; - } else if (skey == SK_ILLEGAL_REQUEST) { + } else if (skey == ILLEGAL_REQUEST) { if (iocmd.flags & MPT_ICFLAG_ECHO) { if (dataBufSize >= bufsize) { iocmd.flags &= ~MPT_ICFLAG_ECHO; @@ -6506,7 +5712,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) } } - iocmd.cmd = CMD_ReadBuffer; + iocmd.cmd = READ_BUFFER; iocmd.data_dma = buf2_dma; iocmd.data = pbuf2; iocmd.size = sz; @@ -6581,7 +5787,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) ddvprintk((MYIOC_s_INFO_FMT "SenseKey:ASC:ASCQ = (%x:%02x:%02x)\n", ioc->name, skey, hd->pLocal->sense[12], hd->pLocal->sense[13])); - if (skey == SK_UNIT_ATTENTION) { + if (skey == UNIT_ATTENTION) { patt = -1; continue; } @@ -6597,7 +5803,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) target_done: if (iocmd.flags & MPT_ICFLAG_RESERVED) { - iocmd.cmd = CMD_Release6; + iocmd.cmd = RELEASE; iocmd.data_dma = -1; iocmd.data = NULL; iocmd.size = 0; @@ -6619,8 +5825,11 @@ target_done: if ((cfg.hdr != NULL) && (retcode == 0)){ /* If disk, not U320, disable QAS */ - if ((inq0 == 0) && (dv.now.factor > MPT_ULTRA320)) + if ((inq0 == 0) && (dv.now.factor > MPT_ULTRA320)) { hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; + ddvprintk((MYIOC_s_NOTE_FMT + "noQas set due to id=%d has factor=%x\n", ioc->name, id, dv.now.factor)); + } dv.cmd = MPT_SAVE; mptscsih_dv_parms(hd, &dv, (void *)pcfg1Data); @@ -6649,8 +5858,8 @@ target_done: if (pDvBuf) pci_free_consistent(ioc->pcidev, dv_alloc, pDvBuf, dvbuf_dma); - ddvtprintk((MYIOC_s_INFO_FMT "DV Done.\n", - ioc->name)); + ddvtprintk((MYIOC_s_INFO_FMT "DV Done id=%d\n", + ioc->name, id)); return retcode; } @@ -6730,8 +5939,8 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) dv->max.offset = offset; dv->max.factor = factor; dv->max.flags = negoFlags; - ddvprintk((" width %d, factor %x, offset %x flags %x\n", - width, factor, offset, negoFlags)); + ddvprintk((" id=%d width=%d factor=%x offset=%x flags=%x\n", + id, width, factor, offset, negoFlags)); break; case MPT_UPDATE_MAX: @@ -6749,8 +5958,8 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) dv->now.width = dv->max.width; dv->now.offset = dv->max.offset; dv->now.factor = dv->max.factor; - ddvprintk(("width %d, factor %x, offset %x, flags %x\n", - dv->now.width, dv->now.factor, dv->now.offset, dv->now.flags)); + ddvprintk(("id=%d width=%d factor=%x offset=%x flags=%x\n", + id, dv->now.width, dv->now.factor, dv->now.offset, dv->now.flags)); break; case MPT_SET_MAX: @@ -6766,14 +5975,15 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) if (pPage1) { mptscsih_setDevicePage1Flags (dv->now.width, dv->now.factor, dv->now.offset, &val, &configuration, dv->now.flags); + dnegoprintk(("Setting Max: id=%d width=%d factor=%x offset=%x negoFlags=%x request=%x config=%x\n", + id, dv->now.width, dv->now.factor, dv->now.offset, dv->now.flags, val, configuration)); pPage1->RequestedParameters = le32_to_cpu(val); pPage1->Reserved = 0; pPage1->Configuration = le32_to_cpu(configuration); - } - ddvprintk(("width %d, factor %x, offset %x request %x, config %x\n", - dv->now.width, dv->now.factor, dv->now.offset, val, configuration)); + ddvprintk(("id=%d width=%d factor=%x offset=%x flags=%x request=%x configuration=%x\n", + id, dv->now.width, dv->now.factor, dv->now.offset, dv->now.flags, val, configuration)); break; case MPT_SET_MIN: @@ -6790,12 +6000,14 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) if (pPage1) { mptscsih_setDevicePage1Flags (width, factor, offset, &val, &configuration, negoFlags); + dnegoprintk(("Setting Min: id=%d width=%d factor=%x offset=%x negoFlags=%x request=%x config=%x\n", + id, width, factor, offset, negoFlags, val, configuration)); pPage1->RequestedParameters = le32_to_cpu(val); pPage1->Reserved = 0; pPage1->Configuration = le32_to_cpu(configuration); } - ddvprintk(("width %d, factor %x, offset %x request %x config %x\n", - width, factor, offset, val, configuration)); + ddvprintk(("id=%d width=%d factor=%x offset=%x request=%x config=%x negoFlags=%x\n", + id, width, factor, offset, val, configuration, negoFlags)); break; case MPT_FALLBACK: @@ -6855,6 +6067,7 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) factor = MPT_ASYNC; } dv->max.flags |= MPT_TARGET_NO_NEGO_QAS; + dv->max.flags &= ~MPT_TAPE_NEGO_IDP; dv->now.width = width; dv->now.offset = offset; @@ -6865,21 +6078,23 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) if (pPage1) { mptscsih_setDevicePage1Flags (width, factor, offset, &val, &configuration, dv->now.flags); + dnegoprintk(("Finish: id=%d width=%d offset=%d factor=%x flags=%x request=%x config=%x\n", + id, width, offset, factor, dv->now.flags, val, configuration)); pPage1->RequestedParameters = le32_to_cpu(val); pPage1->Reserved = 0; pPage1->Configuration = le32_to_cpu(configuration); } - ddvprintk(("Finish: offset %d, factor %x, width %d, request %x config %x\n", - dv->now.offset, dv->now.factor, dv->now.width, val, configuration)); + ddvprintk(("Finish: id=%d offset=%d factor=%x width=%d request=%x config=%x\n", + id, dv->now.offset, dv->now.factor, dv->now.width, val, configuration)); break; case MPT_SAVE: ddvprintk((MYIOC_s_NOTE_FMT "Saving to Target structure: ", hd->ioc->name)); - ddvprintk(("offset %d, factor %x, width %d \n", - dv->now.offset, dv->now.factor, dv->now.width)); + ddvprintk(("id=%d width=%x factor=%x offset=%d flags=%x\n", + id, dv->now.width, dv->now.factor, dv->now.offset, dv->now.flags)); /* Save these values to target structures * or overwrite nvram (phys disks only). diff --git a/drivers/message/i2o/Makefile b/drivers/message/i2o/Makefile index e3169dbd9..aabc6cdc3 100644 --- a/drivers/message/i2o/Makefile +++ b/drivers/message/i2o/Makefile @@ -5,6 +5,7 @@ # In the future, some of these should be built conditionally. # +i2o_core-y += iop.o driver.o device.o debug.o pci.o exec-osm.o obj-$(CONFIG_I2O) += i2o_core.o obj-$(CONFIG_I2O_CONFIG)+= i2o_config.o obj-$(CONFIG_I2O_BLOCK) += i2o_block.o diff --git a/drivers/message/i2o/i2o_block.c b/drivers/message/i2o/i2o_block.c index 36dc0e9d1..102fb8316 100644 --- a/drivers/message/i2o/i2o_block.c +++ b/drivers/message/i2o/i2o_block.c @@ -1,463 +1,426 @@ /* - * I2O Random Block Storage Class OSM + * Block OSM * - * (C) Copyright 1999-2002 Red Hat - * - * Written by Alan Cox, Building Number Three Ltd + * Copyright (C) 1999-2002 Red Hat Software * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. + * Written by Alan Cox, Building Number Three Ltd * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * For the purpose of avoiding doubt the preferred form of the work - * for making modifications shall be a standards compliant form such - * gzipped tar and not one requiring a proprietary or patent encumbered - * tool to unpack. + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. * - * This is a beta test release. Most of the good code was taken - * from the nbd driver by Pavel Machek, who in turn took some of it - * from loop.c. Isn't free software great for reusability 8) + * For the purpose of avoiding doubt the preferred form of the work + * for making modifications shall be a standards compliant form such + * gzipped tar and not one requiring a proprietary or patent encumbered + * tool to unpack. * - * Fixes/additions: - * Steve Ralston: - * Multiple device handling error fixes, - * Added a queue depth. - * Alan Cox: - * FC920 has an rmw bug. Dont or in the end marker. - * Removed queue walk, fixed for 64bitness. - * Rewrote much of the code over time - * Added indirect block lists - * Handle 64K limits on many controllers - * Don't use indirects on the Promise (breaks) - * Heavily chop down the queue depths - * Deepak Saxena: - * Independent queues per IOP - * Support for dynamic device creation/deletion - * Code cleanup - * Support for larger I/Os through merge* functions - * (taken from DAC960 driver) - * Boji T Kannanthanam: - * Set the I2O Block devices to be detected in increasing - * order of TIDs during boot. - * Search and set the I2O block device that we boot off from as - * the first device to be claimed (as /dev/i2o/hda) - * Properly attach/detach I2O gendisk structure from the system - * gendisk list. The I2O block devices now appear in - * /proc/partitions. - * Markus Lidel : - * Minor bugfixes for 2.6. - * - * To do: - * Serial number scanning to find duplicates for FC multipathing + * Fixes/additions: + * Steve Ralston: + * Multiple device handling error fixes, + * Added a queue depth. + * Alan Cox: + * FC920 has an rmw bug. Dont or in the end marker. + * Removed queue walk, fixed for 64bitness. + * Rewrote much of the code over time + * Added indirect block lists + * Handle 64K limits on many controllers + * Don't use indirects on the Promise (breaks) + * Heavily chop down the queue depths + * Deepak Saxena: + * Independent queues per IOP + * Support for dynamic device creation/deletion + * Code cleanup + * Support for larger I/Os through merge* functions + * (taken from DAC960 driver) + * Boji T Kannanthanam: + * Set the I2O Block devices to be detected in increasing + * order of TIDs during boot. + * Search and set the I2O block device that we boot off + * from as the first device to be claimed (as /dev/i2o/hda) + * Properly attach/detach I2O gendisk structure from the + * system gendisk list. The I2O block devices now appear in + * /proc/partitions. + * Markus Lidel : + * Minor bugfixes for 2.6. */ -#include - #include -#include -#include -#include -#include -#include -#include -#include -#include #include + +#include + +#include #include -#include -#include #include -#include -#include -#include -#include +#include "i2o_block.h" -#include -#include -#include -#include -#include -#include +static struct i2o_driver i2o_block_driver; -#define MAJOR_NR I2O_MAJOR +/* global Block OSM request mempool */ +static struct i2o_block_mempool i2o_blk_req_pool; -#define MAX_I2OB 16 +/* Block OSM class handling definition */ +static struct i2o_class_id i2o_block_class_id[] = { + {I2O_CLASS_RANDOM_BLOCK_STORAGE}, + {I2O_CLASS_END} +}; + +/** + * i2o_block_device_free - free the memory of the I2O Block device + * @dev: I2O Block device, which should be cleaned up + * + * Frees the request queue, gendisk and the i2o_block_device structure. + */ +static void i2o_block_device_free(struct i2o_block_device *dev) +{ + blk_cleanup_queue(dev->gd->queue); -#define MAX_I2OB_DEPTH 8 -#define MAX_I2OB_RETRIES 4 + put_disk(dev->gd); -//#define DRIVERDEBUG -#ifdef DRIVERDEBUG -#define DEBUG( s ) printk( s ) -#else -#define DEBUG( s ) -#endif + kfree(dev); +}; -/* - * Events that this OSM is interested in +/** + * i2o_block_remove - remove the I2O Block device from the system again + * @dev: I2O Block device which should be removed + * + * Remove gendisk from system and free all allocated memory. + * + * Always returns 0. */ -#define I2OB_EVENT_MASK (I2O_EVT_IND_BSA_VOLUME_LOAD | \ - I2O_EVT_IND_BSA_VOLUME_UNLOAD | \ - I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ | \ - I2O_EVT_IND_BSA_CAPACITY_CHANGE | \ - I2O_EVT_IND_BSA_SCSI_SMART ) +static int i2o_block_remove(struct device *dev) +{ + struct i2o_device *i2o_dev = to_i2o_device(dev); + struct i2o_block_device *i2o_blk_dev = dev_get_drvdata(dev); + printk(KERN_INFO "block-osm: Device removed %s\n", + i2o_blk_dev->gd->disk_name); -/* - * Some of these can be made smaller later - */ + i2o_event_register(i2o_dev, &i2o_block_driver, 0, 0); -static int i2ob_context; -static struct block_device_operations i2ob_fops; + del_gendisk(i2o_blk_dev->gd); -/* - * I2O Block device descriptor + dev_set_drvdata(dev, NULL); + + i2o_device_claim_release(i2o_dev); + + i2o_block_device_free(i2o_blk_dev); + + return 0; +}; + +/** + * i2o_block_device flush - Flush all dirty data of I2O device dev + * @dev: I2O device which should be flushed + * + * Flushes all dirty data on device dev. + * + * Returns 0 on success or negative error code on failure. */ -struct i2ob_device +static int i2o_block_device_flush(struct i2o_device *dev) { - struct i2o_controller *controller; - struct i2o_device *i2odev; - int unit; - int tid; - int flags; - int refcnt; - struct request *head, *tail; - request_queue_t *req_queue; - int max_segments; - int max_direct; /* Not yet used properly */ - int done_flag; - int depth; - int rcache; - int wcache; - int power; - int index; - int media_change_flag; - u32 max_sectors; - struct gendisk *gd; + struct i2o_message *msg; + u32 m; + + m = i2o_msg_get_wait(dev->iop, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -ETIMEDOUT; + + writel(FIVE_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_BLOCK_CFLUSH << 24 | HOST_TID << 12 | dev->lct_data.tid, + &msg->u.head[1]); + writel(60 << 16, &msg->body[0]); + pr_debug("Flushing...\n"); + + return i2o_msg_post_wait(dev->iop, m, 60); }; -/* - * FIXME: - * We should cache align these to avoid ping-ponging lines on SMP - * boxes under heavy I/O load... +/** + * i2o_block_device_mount - Mount (load) the media of device dev + * @dev: I2O device which should receive the mount request + * @media_id: Media Identifier + * + * Load a media into drive. Identifier should be set to -1, because the + * spec does not support any other value. + * + * Returns 0 on success or negative error code on failure. */ - -struct i2ob_request +static int i2o_block_device_mount(struct i2o_device *dev, u32 media_id) { - struct i2ob_request *next; - struct request *req; - int num; - int sg_dma_direction; - int sg_nents; - struct scatterlist sg_table[16]; + struct i2o_message *msg; + u32 m; + + m = i2o_msg_get_wait(dev->iop, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -ETIMEDOUT; + + writel(FIVE_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_BLOCK_MMOUNT << 24 | HOST_TID << 12 | dev->lct_data.tid, + &msg->u.head[1]); + writel(-1, &msg->body[0]); + writel(0, &msg->body[1]); + pr_debug("Mounting...\n"); + + return i2o_msg_post_wait(dev->iop, m, 2); }; -/* - * Per IOP request queue information +/** + * i2o_block_device_lock - Locks the media of device dev + * @dev: I2O device which should receive the lock request + * @media_id: Media Identifier + * + * Lock media of device dev to prevent removal. The media identifier + * should be set to -1, because the spec does not support any other value. * - * We have a separate request_queue_t per IOP so that a heavilly - * loaded I2O block device on an IOP does not starve block devices - * across all I2O controllers. - * + * Returns 0 on success or negative error code on failure. */ -struct i2ob_iop_queue +static int i2o_block_device_lock(struct i2o_device *dev, u32 media_id) { - unsigned int queue_depth; - struct i2ob_request request_queue[MAX_I2OB_DEPTH]; - struct i2ob_request *i2ob_qhead; - request_queue_t *req_queue; - spinlock_t lock; + struct i2o_message *msg; + u32 m; + + m = i2o_msg_get_wait(dev->iop, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -ETIMEDOUT; + + writel(FIVE_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_BLOCK_MLOCK << 24 | HOST_TID << 12 | dev->lct_data.tid, + &msg->u.head[1]); + writel(-1, &msg->body[0]); + pr_debug("Locking...\n"); + + return i2o_msg_post_wait(dev->iop, m, 2); }; -static struct i2ob_iop_queue *i2ob_queues[MAX_I2O_CONTROLLERS]; -/* - * Each I2O disk is one of these. +/** + * i2o_block_device_unlock - Unlocks the media of device dev + * @dev: I2O device which should receive the unlocked request + * @media_id: Media Identifier + * + * Unlocks the media in device dev. The media identifier should be set to + * -1, because the spec does not support any other value. + * + * Returns 0 on success or negative error code on failure. */ +static int i2o_block_device_unlock(struct i2o_device *dev, u32 media_id) +{ + struct i2o_message *msg; + u32 m; -static struct i2ob_device i2ob_dev[MAX_I2OB]; -static int i2ob_dev_count = 0; + m = i2o_msg_get_wait(dev->iop, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -ETIMEDOUT; -/* - * Mutex and spin lock for event handling synchronization - * evt_msg contains the last event. - */ -static DECLARE_MUTEX_LOCKED(i2ob_evt_sem); -static DECLARE_COMPLETION(i2ob_thread_dead); -static spinlock_t i2ob_evt_lock = SPIN_LOCK_UNLOCKED; -static u32 evt_msg[MSG_FRAME_SIZE]; - -static void i2o_block_reply(struct i2o_handler *, struct i2o_controller *, - struct i2o_message *); -static void i2ob_new_device(struct i2o_controller *, struct i2o_device *); -static void i2ob_del_device(struct i2o_controller *, struct i2o_device *); -static void i2ob_reboot_event(void); -static int i2ob_install_device(struct i2o_controller *, struct i2o_device *, int); -static void i2ob_end_request(struct request *); -static void i2ob_request(request_queue_t *); -static int i2ob_init_iop(unsigned int); -static int i2ob_query_device(struct i2ob_device *, int, int, void*, int); -static int i2ob_evt(void *); - -static int evt_pid = 0; -static int evt_running = 0; -static int scan_unit = 0; + writel(FIVE_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_BLOCK_MUNLOCK << 24 | HOST_TID << 12 | dev->lct_data.tid, + &msg->u.head[1]); + writel(media_id, &msg->body[0]); + pr_debug("Unlocking...\n"); -/* - * I2O OSM registration structure...keeps getting bigger and bigger :) + return i2o_msg_post_wait(dev->iop, m, 2); +}; + +/** + * i2o_block_device_power - Power management for device dev + * @dev: I2O device which should receive the power management request + * @operation: Operation which should be send + * + * Send a power management request to the device dev. + * + * Returns 0 on success or negative error code on failure. */ -static struct i2o_handler i2o_block_handler = +static int i2o_block_device_power(struct i2o_block_device *dev, u8 op) { - i2o_block_reply, - i2ob_new_device, - i2ob_del_device, - i2ob_reboot_event, - "I2O Block OSM", - 0, - I2O_CLASS_RANDOM_BLOCK_STORAGE + struct i2o_device *i2o_dev = dev->i2o_dev; + struct i2o_controller *c = i2o_dev->iop; + struct i2o_message *msg; + u32 m; + int rc; + + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -ETIMEDOUT; + + writel(FOUR_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_BLOCK_POWER << 24 | HOST_TID << 12 | i2o_dev->lct_data. + tid, &msg->u.head[1]); + writel(op << 24, &msg->body[0]); + pr_debug("Power...\n"); + + rc = i2o_msg_post_wait(c, m, 60); + if (!rc) + dev->power = op; + + return rc; }; /** - * i2ob_get - Get an I2O message - * @dev: I2O block device + * i2o_block_request_alloc - Allocate an I2O block request struct + * + * Allocates an I2O block request struct and initialize the list. * - * Get a message from the FIFO used for this block device. The message is returned - * or the I2O 'no message' value of 0xFFFFFFFF if nothing is available. + * Returns a i2o_block_request pointer on success or negative error code + * on failure. */ +static inline struct i2o_block_request *i2o_block_request_alloc(void) +{ + struct i2o_block_request *ireq; + + ireq = mempool_alloc(i2o_blk_req_pool.pool, GFP_ATOMIC); + if (!ireq) + return ERR_PTR(-ENOMEM); + + INIT_LIST_HEAD(&ireq->queue); + + return ireq; +}; -static u32 i2ob_get(struct i2ob_device *dev) +/** + * i2o_block_request_free - Frees a I2O block request + * @ireq: I2O block request which should be freed + * + * Fres the allocated memory (give it back to the request mempool). + */ +static inline void i2o_block_request_free(struct i2o_block_request *ireq) { - struct i2o_controller *c=dev->controller; - return I2O_POST_READ32(c); -} + mempool_free(ireq, i2o_blk_req_pool.pool); +}; -static int i2ob_build_sglist(struct i2ob_device *dev, struct i2ob_request *ireq) +/** + * i2o_block_sglist_alloc - Allocate the SG list and map it + * @ireq: I2O block request + * + * Builds the SG list and map it into to be accessable by the controller. + * + * Returns the number of elements in the SG list or 0 on failure. + */ +static inline int i2o_block_sglist_alloc(struct i2o_block_request *ireq) { - struct scatterlist *sg = ireq->sg_table; + struct device *dev = &ireq->i2o_blk_dev->i2o_dev->iop->pdev->dev; int nents; - nents = blk_rq_map_sg(dev->req_queue, ireq->req, ireq->sg_table); - + nents = blk_rq_map_sg(ireq->req->q, ireq->req, ireq->sg_table); + if (rq_data_dir(ireq->req) == READ) ireq->sg_dma_direction = PCI_DMA_FROMDEVICE; else ireq->sg_dma_direction = PCI_DMA_TODEVICE; - ireq->sg_nents = pci_map_sg(dev->controller->pdev, sg, nents, ireq->sg_dma_direction); + ireq->sg_nents = dma_map_sg(dev, ireq->sg_table, nents, + ireq->sg_dma_direction); + return ireq->sg_nents; -} +}; -void i2ob_free_sglist(struct i2ob_device *dev, struct i2ob_request *ireq) -{ - struct pci_dev *pdev = dev->controller->pdev; - struct scatterlist *sg = ireq->sg_table; - int nents = ireq->sg_nents; - pci_unmap_sg(pdev, sg, nents, ireq->sg_dma_direction); -} - /** - * i2ob_send - Turn a request into a message and send it - * @m: Message offset - * @dev: I2O device - * @ireq: Request structure - * @unit: Device identity + * i2o_block_sglist_free - Frees the SG list + * @ireq: I2O block request from which the SG should be freed * - * Generate an I2O BSAREAD request. This interface function is called for devices that - * appear to explode when they are fed indirect chain pointers (notably right now this - * appears to afflict Promise hardwre, so be careful what you feed the hardware - * - * No cleanup is done by this interface. It is done on the interrupt side when the - * reply arrives + * Frees the SG list from the I2O block request. */ - -static int i2ob_send(u32 m, struct i2ob_device *dev, struct i2ob_request *ireq, int unit) +static inline void i2o_block_sglist_free(struct i2o_block_request *ireq) { - struct i2o_controller *c = dev->controller; - int tid = dev->tid; - void *msg; - void *mptr; - u64 offset; - struct request *req = ireq->req; - int count = req->nr_sectors<<9; - struct scatterlist *sg; - int sgnum; - int i; + struct device *dev = &ireq->i2o_blk_dev->i2o_dev->iop->pdev->dev; - // printk(KERN_INFO "i2ob_send called\n"); - /* Map the message to a virtual address */ - msg = c->msg_virt + m; - - sgnum = i2ob_build_sglist(dev, ireq); - - /* FIXME: if we have no resources how should we get out of this */ - if(sgnum == 0) - BUG(); - - /* - * Build the message based on the request. - */ - i2o_raw_writel(i2ob_context|(unit<<8), msg+8); - i2o_raw_writel(ireq->num, msg+12); - i2o_raw_writel(req->nr_sectors << 9, msg+20); + dma_unmap_sg(dev, ireq->sg_table, ireq->sg_nents, + ireq->sg_dma_direction); +}; - /* - * Mask out partitions from now on - */ - - /* This can be optimised later - just want to be sure its right for - starters */ - offset = ((u64)req->sector) << 9; - i2o_raw_writel( offset & 0xFFFFFFFF, msg+24); - i2o_raw_writel(offset>>32, msg+28); - mptr=msg+32; - - sg = ireq->sg_table; - if(rq_data_dir(req) == READ) - { - DEBUG("READ\n"); - i2o_raw_writel(I2O_CMD_BLOCK_READ<<24|HOST_TID<<12|tid, msg+4); - for(i = sgnum; i > 0; i--) - { - if(i != 1) - i2o_raw_writel(0x10000000|sg_dma_len(sg), mptr); - else - i2o_raw_writel(0xD0000000|sg_dma_len(sg), mptr); - i2o_raw_writel(sg_dma_address(sg), mptr+4); - mptr += 8; - count -= sg_dma_len(sg); - sg++; - } - switch(dev->rcache) - { - case CACHE_NULL: - i2o_raw_writel(0, msg+16);break; - case CACHE_PREFETCH: - i2o_raw_writel(0x201F0008, msg+16);break; - case CACHE_SMARTFETCH: - if(req->nr_sectors > 16) - i2o_raw_writel(0x201F0008, msg+16); - else - i2o_raw_writel(0x001F0000, msg+16); - break; - } - -// printk("Reading %d entries %d bytes.\n", -// mptr-msg-8, req->nr_sectors<<9); +/** + * i2o_block_prep_req_fn - Allocates I2O block device specific struct + * @q: request queue for the request + * @req: the request to prepare + * + * Allocate the necessary i2o_block_request struct and connect it to + * the request. This is needed that we not loose the SG list later on. + * + * Returns BLKPREP_OK on success or BLKPREP_DEFER on failure. + */ +static int i2o_block_prep_req_fn(struct request_queue *q, struct request *req) +{ + struct i2o_block_device *i2o_blk_dev = q->queuedata; + struct i2o_block_request *ireq; + + /* request is already processed by us, so return */ + if (req->flags & REQ_SPECIAL) { + pr_debug("REQ_SPECIAL already set!\n"); + req->flags |= REQ_DONTPREP; + return BLKPREP_OK; } - else if(rq_data_dir(req) == WRITE) - { - DEBUG("WRITE\n"); - i2o_raw_writel(I2O_CMD_BLOCK_WRITE<<24|HOST_TID<<12|tid, msg+4); - for(i = sgnum; i > 0; i--) - { - if(i != 1) - i2o_raw_writel(0x14000000|sg_dma_len(sg), mptr); - else - i2o_raw_writel(0xD4000000|sg_dma_len(sg), mptr); - i2o_raw_writel(sg_dma_address(sg), mptr+4); - mptr += 8; - count -= sg_dma_len(sg); - sg++; - } - switch(dev->wcache) - { - case CACHE_NULL: - i2o_raw_writel(0, msg+16);break; - case CACHE_WRITETHROUGH: - i2o_raw_writel(0x001F0008, msg+16);break; - case CACHE_WRITEBACK: - i2o_raw_writel(0x001F0010, msg+16);break; - case CACHE_SMARTBACK: - if(req->nr_sectors > 16) - i2o_raw_writel(0x001F0004, msg+16); - else - i2o_raw_writel(0x001F0010, msg+16); - break; - case CACHE_SMARTTHROUGH: - if(req->nr_sectors > 16) - i2o_raw_writel(0x001F0004, msg+16); - else - i2o_raw_writel(0x001F0010, msg+16); + /* connect the i2o_block_request to the request */ + if (!req->special) { + ireq = i2o_block_request_alloc(); + if (unlikely(IS_ERR(ireq))) { + pr_debug("unable to allocate i2o_block_request!\n"); + return BLKPREP_DEFER; } - -// printk("Writing %d entries %d bytes.\n", -// mptr-msg-8, req->nr_sectors<<9); - } - i2o_raw_writel(I2O_MESSAGE_SIZE(mptr-msg)>>2 | SGL_OFFSET_8, msg); - - if(count != 0) - { - printk(KERN_ERR "Request count botched by %d.\n", count); - } - i2o_post_message(c,m); - i2ob_queues[c->unit]->queue_depth ++; + ireq->i2o_blk_dev = i2o_blk_dev; + req->special = ireq; + ireq->req = req; + } else + ireq = req->special; - return 0; -} + /* do not come back here */ + req->flags |= REQ_DONTPREP | REQ_SPECIAL; -/* - * Remove a request from the _locked_ request list. We update both the - * list chain and if this is the last item the tail pointer. Caller - * must hold the lock. - */ - -static inline void i2ob_unhook_request(struct i2ob_request *ireq, - unsigned int iop) -{ - ireq->next = i2ob_queues[iop]->i2ob_qhead; - i2ob_queues[iop]->i2ob_qhead = ireq; -} + return BLKPREP_OK; +}; -/* - * Request completion handler +/** + * i2o_block_delayed_request_fn - delayed request queue function + * delayed_request: the delayed request with the queue to start + * + * If the request queue is stopped for a disk, and there is no open + * request, a new event is created, which calls this function to start + * the queue after I2O_BLOCK_REQUEST_TIME. Otherwise the queue will never + * be started again. */ - -static inline void i2ob_end_request(struct request *req) +static void i2o_block_delayed_request_fn(void *delayed_request) { - /* FIXME - pci unmap the request */ - - /* - * Loop until all of the buffers that are linked - * to this request have been marked updated and - * unlocked. - */ - - while (end_that_request_first( req, !req->errors, req->hard_cur_sectors )); + struct i2o_block_delayed_request *dreq = delayed_request; + struct request_queue *q = dreq->queue; + unsigned long flags; - /* - * It is now ok to complete the request. - */ - end_that_request_last( req ); - DEBUG("IO COMPLETED\n"); -} + spin_lock_irqsave(q->queue_lock, flags); + blk_start_queue(q); + spin_unlock_irqrestore(q->queue_lock, flags); + kfree(dreq); +}; -/* - * OSM reply handler. This gets all the message replies +/** + * i2o_block_reply - Block OSM reply handler. + * @c: I2O controller from which the message arrives + * @m: message id of reply + * qmsg: the actuall I2O message reply + * + * This function gets all the message replies. + * */ - -static void i2o_block_reply(struct i2o_handler *h, struct i2o_controller *c, struct i2o_message *msg) +static int i2o_block_reply(struct i2o_controller *c, u32 m, + struct i2o_message *msg) { - unsigned long flags; - struct i2ob_request *ireq = NULL; + struct i2o_block_request *ireq; + struct request *req; + struct i2o_block_device *dev; + struct request_queue *q; u8 st; - u32 *m = (u32 *)msg; - u8 unit = m[2]>>8; - struct i2ob_device *dev = &i2ob_dev[unit]; + unsigned long flags; - /* - * FAILed message - */ - if(m[0] & (1<<13)) - { - DEBUG("FAIL"); + /* FAILed message */ + if (unlikely(readl(&msg->u.head[0]) & (1 << 13))) { + struct i2o_message *pmsg; + u32 pm; + + printk(KERN_WARNING "FAIL"); /* * FAILed message from controller * We increment the error count and abort it @@ -468,65 +431,85 @@ static void i2o_block_reply(struct i2o_handler *h, struct i2o_controller *c, str * better be on the safe side since no one really follows * the spec to the book :) */ - ireq=&i2ob_queues[c->unit]->request_queue[m[3]]; - ireq->req->errors++; - - spin_lock_irqsave(dev->req_queue->queue_lock, flags); - i2ob_unhook_request(ireq, c->unit); - i2ob_end_request(ireq->req); - spin_unlock_irqrestore(dev->req_queue->queue_lock, flags); - + pm = readl(&msg->body[3]); + pmsg = c->in_queue.virt + pm; + + req = i2o_cntxt_list_get(c, readl(&pmsg->u.s.tcntxt)); + if (unlikely(!req)) { + printk(KERN_ERR "block-osm: NULL reply received!\n"); + return -1; + } + + ireq = req->special; + dev = ireq->i2o_blk_dev; + q = dev->gd->queue; + + req->errors++; + + spin_lock_irqsave(q->queue_lock, flags); + + while (end_that_request_chunk(req, !req->errors, + readl(&pmsg->body[1]))) ; + end_that_request_last(req); + + dev->open_queue_depth--; + list_del(&ireq->queue); + blk_start_queue(q); + + spin_unlock_irqrestore(q->queue_lock, flags); + /* Now flush the message by making it a NOP */ - m[0]&=0x00FFFFFF; - m[0]|=(I2O_CMD_UTIL_NOP)<<24; - i2o_post_message(c, (unsigned long) m - (unsigned long) c->msg_virt); + i2o_msg_nop(c, pm); - return; + return -1; } - if(msg->function == I2O_CMD_UTIL_EVT_REGISTER) - { - spin_lock(&i2ob_evt_lock); - memcpy(evt_msg, msg, (m[0]>>16)<<2); - spin_unlock(&i2ob_evt_lock); - up(&i2ob_evt_sem); - return; + req = i2o_cntxt_list_get(c, readl(&msg->u.s.tcntxt)); + if (unlikely(!req)) { + printk(KERN_ERR "block-osm: NULL reply received!\n"); + return -1; } - if(!dev->i2odev) - { + ireq = req->special; + dev = ireq->i2o_blk_dev; + q = dev->gd->queue; + + if (unlikely(!dev->i2o_dev)) { /* * This is HACK, but Intel Integrated RAID allows user - * to delete a volume that is claimed, locked, and in use + * to delete a volume that is claimed, locked, and in use * by the OS. We have to check for a reply from a - * non-existent device and flag it as an error or the system + * non-existent device and flag it as an error or the system * goes kaput... */ - ireq=&i2ob_queues[c->unit]->request_queue[m[3]]; - ireq->req->errors++; - printk(KERN_WARNING "I2O Block: Data transfer to deleted device!\n"); - spin_lock_irqsave(dev->req_queue->queue_lock, flags); - i2ob_unhook_request(ireq, c->unit); - i2ob_end_request(ireq->req); - spin_unlock_irqrestore(dev->req_queue->queue_lock, flags); - return; - } + req->errors++; + printk(KERN_WARNING + "I2O Block: Data transfer to deleted device!\n"); + spin_lock_irqsave(q->queue_lock, flags); + while (end_that_request_chunk + (req, !req->errors, readl(&msg->body[1]))) ; + end_that_request_last(req); + + dev->open_queue_depth--; + list_del(&ireq->queue); + blk_start_queue(q); + + spin_unlock_irqrestore(q->queue_lock, flags); + return -1; + } /* - * Lets see what is cooking. We stuffed the - * request in the context. + * Lets see what is cooking. We stuffed the + * request in the context. */ - - ireq=&i2ob_queues[c->unit]->request_queue[m[3]]; - st=m[4]>>24; - if(st!=0) - { + st = readl(&msg->body[0]) >> 24; + + if (st != 0) { int err; - char *bsa_errors[] = - { - "Success", - "Media Error", + char *bsa_errors[] = { + "Success", + "Media Error", "Failure communicating to device", "Device Failure", "Device is not ready", @@ -540,61 +523,62 @@ static void i2o_block_reply(struct i2o_handler *h, struct i2o_controller *c, str "Device has reset", "Volume has changed, waiting for acknowledgement" }; - - err = m[4]&0xFFFF; - + + err = readl(&msg->body[0]) & 0xffff; + /* - * Device not ready means two things. One is that the - * the thing went offline (but not a removal media) + * Device not ready means two things. One is that the + * the thing went offline (but not a removal media) * - * The second is that you have a SuperTrak 100 and the - * firmware got constipated. Unlike standard i2o card - * setups the supertrak returns an error rather than - * blocking for the timeout in these cases. + * The second is that you have a SuperTrak 100 and the + * firmware got constipated. Unlike standard i2o card + * setups the supertrak returns an error rather than + * blocking for the timeout in these cases. * - * Don't stick a supertrak100 into cache aggressive modes + * Don't stick a supertrak100 into cache aggressive modes */ - - - printk(KERN_ERR "\n/dev/%s error: %s", dev->i2odev->dev_name, - bsa_errors[m[4]&0XFFFF]); - if(m[4]&0x00FF0000) - printk(" - DDM attempted %d retries", (m[4]>>16)&0x00FF ); + + printk(KERN_ERR "\n/dev/%s error: %s", dev->gd->disk_name, + bsa_errors[readl(&msg->body[0]) & 0xffff]); + if (readl(&msg->body[0]) & 0x00ff0000) + printk(" - DDM attempted %d retries", + (readl(&msg->body[0]) >> 16) & 0x00ff); printk(".\n"); - ireq->req->errors++; - } - else - ireq->req->errors = 0; + req->errors++; + } else + req->errors = 0; - /* - * Dequeue the request. We use irqsave locks as one day we - * may be running polled controllers from a BH... - */ - - i2ob_free_sglist(dev, ireq); - spin_lock_irqsave(dev->req_queue->queue_lock, flags); - i2ob_unhook_request(ireq, c->unit); - i2ob_end_request(ireq->req); - i2ob_queues[c->unit]->queue_depth --; - - /* - * We may be able to do more I/O - */ - - i2ob_request(dev->gd->queue); - spin_unlock_irqrestore(dev->req_queue->queue_lock, flags); -} + if (!end_that_request_chunk(req, !req->errors, readl(&msg->body[1]))) { + add_disk_randomness(req->rq_disk); + spin_lock_irqsave(q->queue_lock, flags); -/* - * Event handler. Needs to be a separate thread b/c we may have - * to do things like scan a partition table, or query parameters - * which cannot be done from an interrupt or from a bottom half. - */ -static int i2ob_evt(void *dummy) + end_that_request_last(req); + + dev->open_queue_depth--; + list_del(&ireq->queue); + blk_start_queue(q); + + spin_unlock_irqrestore(q->queue_lock, flags); + + i2o_block_sglist_free(ireq); + i2o_block_request_free(ireq); + } else + printk(KERN_ERR "still remaining chunks\n"); + + return 1; +}; + +static void i2o_block_event(struct i2o_event *evt) +{ + printk(KERN_INFO "block-osm: event received\n"); +}; + +#if 0 +static int i2o_block_event(void *dummy) { unsigned int evt; unsigned long flags; - struct i2ob_device *dev; + struct i2o_block_device *dev; int unit; //The only event that has data is the SCSI_SMART event. struct i2o_reply { @@ -604,24 +588,22 @@ static int i2ob_evt(void *dummy) u8 ASCQ; u16 pad; u8 data[16]; - } *evt_local; + } *evt_local; daemonize("i2oblock"); allow_signal(SIGKILL); evt_running = 1; - while(1) - { - if(down_interruptible(&i2ob_evt_sem)) - { + while (1) { + if (down_interruptible(&i2ob_evt_sem)) { evt_running = 0; printk("exiting..."); break; } /* - * Keep another CPU/interrupt from overwriting the + * Keep another CPU/interrupt from overwriting the * message while we're reading it * * We stuffed the unit in the TxContext and grab the event mask @@ -634,20 +616,19 @@ static int i2ob_evt(void *dummy) unit = le32_to_cpu(evt_local->header[3]); evt = le32_to_cpu(evt_local->evt_indicator); - dev = &i2ob_dev[unit]; - switch(evt) - { + dev = &i2o_blk_dev[unit]; + switch (evt) { /* * New volume loaded on same TID, so we just re-install. * The TID/controller don't change as it is the same * I2O device. It's just new media that we have to * rescan. */ - case I2O_EVT_IND_BSA_VOLUME_LOAD: + case I2O_EVT_IND_BSA_VOLUME_LOAD: { - i2ob_install_device(dev->i2odev->controller, - dev->i2odev, unit); - add_disk(dev->gd); + i2ob_install_device(dev->i2o_device->iop, + dev->i2o_device, unit); + add_disk(dev->gendisk); break; } @@ -657,144 +638,108 @@ static int i2ob_evt(void *dummy) * have media, so we don't want to clear the controller or * device pointer. */ - case I2O_EVT_IND_BSA_VOLUME_UNLOAD: + case I2O_EVT_IND_BSA_VOLUME_UNLOAD: { - struct gendisk *p = dev->gd; - blk_queue_max_sectors(dev->gd->queue, 0); + struct gendisk *p = dev->gendisk; + blk_queue_max_sectors(dev->gendisk->queue, 0); del_gendisk(p); put_disk(p); - dev->gd = NULL; + dev->gendisk = NULL; dev->media_change_flag = 1; break; } - case I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ: - printk(KERN_WARNING "%s: Attempt to eject locked media\n", - dev->i2odev->dev_name); - break; + case I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ: + printk(KERN_WARNING + "%s: Attempt to eject locked media\n", + dev->i2o_device->dev_name); + break; /* * The capacity has changed and we are going to be - * updating the max_sectors and other information + * updating the max_sectors and other information * about this disk. We try a revalidate first. If * the block device is in use, we don't want to * do that as there may be I/Os bound for the disk - * at the moment. In that case we read the size + * at the moment. In that case we read the size * from the device and update the information ourselves * and the user can later force a partition table * update through an ioctl. */ - case I2O_EVT_IND_BSA_CAPACITY_CHANGE: + case I2O_EVT_IND_BSA_CAPACITY_CHANGE: { u64 size; - if(i2ob_query_device(dev, 0x0004, 0, &size, 8) !=0 ) - i2ob_query_device(dev, 0x0000, 4, &size, 8); + if (i2ob_query_device(dev, 0x0004, 0, &size, 8) + != 0) + i2ob_query_device(dev, 0x0000, 4, &size, + 8); - spin_lock_irqsave(dev->req_queue->queue_lock, flags); - set_capacity(dev->gd, size>>9); - spin_unlock_irqrestore(dev->req_queue->queue_lock, flags); + spin_lock_irqsave(dev->req_queue->queue_lock, + flags); + set_capacity(dev->gendisk, size >> 9); + spin_unlock_irqrestore(dev->req_queue-> + queue_lock, flags); break; } - /* + /* * We got a SCSI SMART event, we just log the relevant * information and let the user decide what they want * to do with the information. */ - case I2O_EVT_IND_BSA_SCSI_SMART: + case I2O_EVT_IND_BSA_SCSI_SMART: { char buf[16]; - printk(KERN_INFO "I2O Block: %s received a SCSI SMART Event\n",dev->i2odev->dev_name); - evt_local->data[16]='\0'; - sprintf(buf,"%s",&evt_local->data[0]); - printk(KERN_INFO " Disk Serial#:%s\n",buf); - printk(KERN_INFO " ASC 0x%02x \n",evt_local->ASC); - printk(KERN_INFO " ASCQ 0x%02x \n",evt_local->ASCQ); + printk(KERN_INFO + "I2O Block: %s received a SCSI SMART Event\n", + dev->i2o_device->dev_name); + evt_local->data[16] = '\0'; + sprintf(buf, "%s", &evt_local->data[0]); + printk(KERN_INFO " Disk Serial#:%s\n", + buf); + printk(KERN_INFO " ASC 0x%02x \n", + evt_local->ASC); + printk(KERN_INFO " ASCQ 0x%02x \n", + evt_local->ASCQ); break; } - + /* - * Non event + * Non event */ - - case 0: - break; - + + case 0: + break; + /* * An event we didn't ask for. Call the card manufacturer * and tell them to fix their firmware :) */ - - case 0x20: - /* - * If a promise card reports 0x20 event then the brown stuff - * hit the fan big time. The card seems to recover but loses - * the pending writes. Deeply ungood except for testing fsck - */ - if(dev->i2odev->controller->promise) - panic("I2O controller firmware failed. Reboot and force a filesystem check.\n"); - default: - printk(KERN_INFO "%s: Received event 0x%X we didn't register for\n" - KERN_INFO " Blame the I2O card manufacturer 8)\n", - dev->i2odev->dev_name, evt); - break; - } - }; - - complete_and_exit(&i2ob_thread_dead,0); - return 0; -} - -/* - * The I2O block driver is listed as one of those that pulls the - * front entry off the queue before processing it. This is important - * to remember here. If we drop the io lock then CURRENT will change - * on us. We must unlink CURRENT in this routine before we return, if - * we use it. - */ - -static void i2ob_request(request_queue_t *q) -{ - struct request *req; - struct i2ob_request *ireq; - struct i2ob_device *dev; - u32 m; - - while ((req = elv_next_request(q)) != NULL) { - dev = req->rq_disk->private_data; - - /* - * Queue depths probably belong with some kind of - * generic IOP commit control. Certainly it's not right - * its global! - */ - if(i2ob_queues[dev->unit]->queue_depth >= dev->depth) - break; - - /* Get a message */ - m = i2ob_get(dev); - if(m==0xFFFFFFFF) - { - if(i2ob_queues[dev->unit]->queue_depth == 0) - printk(KERN_ERR "i2o_block: message queue and request queue empty!!\n"); + case 0x20: + /* + * If a promise card reports 0x20 event then the brown stuff + * hit the fan big time. The card seems to recover but loses + * the pending writes. Deeply ungood except for testing fsck + */ + if (dev->i2o_device->iop->promise) + panic + ("I2O controller firmware failed. Reboot and force a filesystem check.\n"); + default: + printk(KERN_INFO + "%s: Received event 0x%X we didn't register for\n" + KERN_INFO + " Blame the I2O card manufacturer 8)\n", + dev->i2o_device->dev_name, evt); break; } - /* - * Everything ok, so pull from kernel queue onto our queue - */ - req->errors = 0; - blkdev_dequeue_request(req); - - ireq = i2ob_queues[dev->unit]->i2ob_qhead; - i2ob_queues[dev->unit]->i2ob_qhead = ireq->next; - ireq->req = req; + }; - i2ob_send(m, dev, ireq, dev->index); - } + complete_and_exit(&i2ob_thread_dead, 0); + return 0; } - +#endif /* * SCSI-CAM for ioctl geometry mapping @@ -803,8 +748,8 @@ static void i2ob_request(request_queue_t *q) * * LBA -> CHS mapping table taken from: * - * "Incorporating the I2O Architecture into BIOS for Intel Architecture - * Platforms" + * "Incorporating the I2O Architecture into BIOS for Intel Architecture + * Platforms" * * This is an I2O document that is only available to I2O members, * not developers. @@ -825,865 +770,647 @@ static void i2ob_request(request_queue_t *q) #define BLOCK_SIZE_42G 8806400 #define BLOCK_SIZE_84G 17612800 -static void i2o_block_biosparam( - unsigned long capacity, - unsigned short *cyls, - unsigned char *hds, - unsigned char *secs) -{ - unsigned long heads, sectors, cylinders; +static void i2o_block_biosparam(unsigned long capacity, unsigned short *cyls, + unsigned char *hds, unsigned char *secs) +{ + unsigned long heads, sectors, cylinders; - sectors = 63L; /* Maximize sectors per track */ - if(capacity <= BLOCK_SIZE_528M) + sectors = 63L; /* Maximize sectors per track */ + if (capacity <= BLOCK_SIZE_528M) heads = 16; - else if(capacity <= BLOCK_SIZE_1G) + else if (capacity <= BLOCK_SIZE_1G) heads = 32; - else if(capacity <= BLOCK_SIZE_21G) + else if (capacity <= BLOCK_SIZE_21G) heads = 64; - else if(capacity <= BLOCK_SIZE_42G) + else if (capacity <= BLOCK_SIZE_42G) heads = 128; else heads = 255; cylinders = (unsigned long)capacity / (heads * sectors); - *cyls = (unsigned short) cylinders; /* Stuff return values */ - *secs = (unsigned char) sectors; - *hds = (unsigned char) heads; + *cyls = (unsigned short)cylinders; /* Stuff return values */ + *secs = (unsigned char)sectors; + *hds = (unsigned char)heads; } -/* - * Issue device specific ioctl calls. +/** + * i2o_block_open - Open the block device + * + * Power up the device, mount and lock the media. This function is called, + * if the block device is opened for access. + * + * Returns 0 on success or negative error code on failure. */ - -static int i2ob_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static int i2o_block_open(struct inode *inode, struct file *file) { - struct gendisk *disk = inode->i_bdev->bd_disk; - struct i2ob_device *dev = disk->private_data; - void __user *argp = (void __user *)arg; + struct i2o_block_device *dev = inode->i_bdev->bd_disk->private_data; - /* Anyone capable of this syscall can do *real bad* things */ + if (!dev->i2o_dev) + return -ENODEV; - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; - switch (cmd) { - case HDIO_GETGEO: - { - struct hd_geometry g; - i2o_block_biosparam(get_capacity(disk), - &g.cylinders, &g.heads, &g.sectors); - g.start = get_start_sect(inode->i_bdev); - return copy_to_user(argp, &g, sizeof(g))?-EFAULT:0; - } - - case BLKI2OGRSTRAT: - return put_user(dev->rcache, (int __user *)argp); - case BLKI2OGWSTRAT: - return put_user(dev->wcache, (int __user *)argp); - case BLKI2OSRSTRAT: - if(arg<0||arg>CACHE_SMARTFETCH) - return -EINVAL; - dev->rcache = arg; - break; - case BLKI2OSWSTRAT: - if(arg!=0 && (argCACHE_SMARTBACK)) - return -EINVAL; - dev->wcache = arg; - break; - } - return -ENOTTY; -} + if (dev->power > 0x1f) + i2o_block_device_power(dev, 0x02); -/* - * Close the block device down + i2o_block_device_mount(dev->i2o_dev, -1); + + i2o_block_device_lock(dev->i2o_dev, -1); + + pr_debug("Ready.\n"); + + return 0; +}; + +/** + * i2o_block_release - Release the I2O block device + * + * Unlock and unmount the media, and power down the device. Gets called if + * the block device is closed. + * + * Returns 0 on success or negative error code on failure. */ - -static int i2ob_release(struct inode *inode, struct file *file) +static int i2o_block_release(struct inode *inode, struct file *file) { struct gendisk *disk = inode->i_bdev->bd_disk; - struct i2ob_device *dev = disk->private_data; + struct i2o_block_device *dev = disk->private_data; + u8 operation; /* * This is to deail with the case of an application * opening a device and then the device dissapears while * it's in use, and then the application tries to release - * it. ex: Unmounting a deleted RAID volume at reboot. + * it. ex: Unmounting a deleted RAID volume at reboot. * If we send messages, it will just cause FAILs since * the TID no longer exists. */ - if(!dev->i2odev) + if (!dev->i2o_dev) return 0; - if (dev->refcnt <= 0) - printk(KERN_ALERT "i2ob_release: refcount(%d) <= 0\n", dev->refcnt); - dev->refcnt--; - if(dev->refcnt==0) - { - /* - * Flush the onboard cache on unmount - */ - u32 msg[5]; - int *query_done = &dev->done_flag; - msg[0] = (FIVE_WORD_MSG_SIZE|SGL_OFFSET_0); - msg[1] = I2O_CMD_BLOCK_CFLUSH<<24|HOST_TID<<12|dev->tid; - msg[2] = i2ob_context|0x40000000; - msg[3] = (u32)query_done; - msg[4] = 60<<16; - DEBUG("Flushing..."); - i2o_post_wait(dev->controller, msg, 20, 60); + i2o_block_device_flush(dev->i2o_dev); - /* - * Unlock the media - */ - msg[0] = FIVE_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_MUNLOCK<<24|HOST_TID<<12|dev->tid; - msg[2] = i2ob_context|0x40000000; - msg[3] = (u32)query_done; - msg[4] = -1; - DEBUG("Unlocking..."); - i2o_post_wait(dev->controller, msg, 20, 2); - DEBUG("Unlocked.\n"); - - msg[0] = FOUR_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_POWER<<24 | HOST_TID << 12 | dev->tid; - if(dev->flags & (1<<3|1<<4)) /* Removable */ - msg[4] = 0x21 << 24; - else - msg[4] = 0x24 << 24; - - if(i2o_post_wait(dev->controller, msg, 20, 60)==0) - dev->power = 0x24; + i2o_block_device_unlock(dev->i2o_dev, -1); - /* - * Now unclaim the device. - */ + if (dev->flags & (1 << 3 | 1 << 4)) /* Removable */ + operation = 0x21; + else + operation = 0x24; + + i2o_block_device_power(dev, operation); - if (i2o_release_device(dev->i2odev, &i2o_block_handler)) - printk(KERN_ERR "i2ob_release: controller rejected unclaim.\n"); - - DEBUG("Unclaim\n"); - } return 0; } -/* - * Open the block device. +/** + * i2o_block_ioctl - Issue device specific ioctl calls. + * @cmd: ioctl command + * @arg: arg + * + * Handles ioctl request for the block device. + * + * Return 0 on success or negative error on failure. */ - -static int i2ob_open(struct inode *inode, struct file *file) +static int i2o_block_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { struct gendisk *disk = inode->i_bdev->bd_disk; - struct i2ob_device *dev = disk->private_data; + struct i2o_block_device *dev = disk->private_data; + void __user *argp = (void __user *)arg; - if(!dev->i2odev) - return -ENODEV; - - if(dev->refcnt++==0) - { - u32 msg[6]; - - DEBUG("Claim "); - if(i2o_claim_device(dev->i2odev, &i2o_block_handler)) - { - dev->refcnt--; - printk(KERN_INFO "I2O Block: Could not open device\n"); - return -EBUSY; - } - DEBUG("Claimed "); - /* - * Power up if needed - */ + /* Anyone capable of this syscall can do *real bad* things */ + + if (!capable(CAP_SYS_ADMIN)) + return -EPERM; - if(dev->power > 0x1f) + switch (cmd) { + case HDIO_GETGEO: { - msg[0] = FOUR_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_POWER<<24 | HOST_TID << 12 | dev->tid; - msg[4] = 0x02 << 24; - if(i2o_post_wait(dev->controller, msg, 20, 60) == 0) - dev->power = 0x02; + struct hd_geometry g; + i2o_block_biosparam(get_capacity(disk), + &g.cylinders, &g.heads, &g.sectors); + g.start = get_start_sect(inode->i_bdev); + return copy_to_user(argp, &g, sizeof(g)) ? -EFAULT : 0; } - /* - * Mount the media if needed. Note that we don't use - * the lock bit. Since we have to issue a lock if it - * refuses a mount (quite possible) then we might as - * well just send two messages out. - */ - msg[0] = FIVE_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_MMOUNT<<24|HOST_TID<<12|dev->tid; - msg[4] = -1; - msg[5] = 0; - DEBUG("Mount "); - i2o_post_wait(dev->controller, msg, 24, 2); - - /* - * Lock the media - */ - msg[0] = FIVE_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_MLOCK<<24|HOST_TID<<12|dev->tid; - msg[4] = -1; - DEBUG("Lock "); - i2o_post_wait(dev->controller, msg, 20, 2); - DEBUG("Ready.\n"); - } - return 0; -} + case BLKI2OGRSTRAT: + return put_user(dev->rcache, (int __user *)arg); + case BLKI2OGWSTRAT: + return put_user(dev->wcache, (int __user *)arg); + case BLKI2OSRSTRAT: + if (arg < 0 || arg > CACHE_SMARTFETCH) + return -EINVAL; + dev->rcache = arg; + break; + case BLKI2OSWSTRAT: + if (arg != 0 + && (arg < CACHE_WRITETHROUGH || arg > CACHE_SMARTBACK)) + return -EINVAL; + dev->wcache = arg; + break; + } + return -ENOTTY; +}; -/* - * Issue a device query +/** + * i2o_block_media_changed - Have we seen a media change? + * @disk: gendisk which should be verified + * + * Verifies if the media has changed. + * + * Returns 1 if the media was changed or 0 otherwise. */ - -static int i2ob_query_device(struct i2ob_device *dev, int table, - int field, void *buf, int buflen) +static int i2o_block_media_changed(struct gendisk *disk) { - return i2o_query_scalar(dev->controller, dev->tid, - table, field, buf, buflen); -} + struct i2o_block_device *p = disk->private_data; + if (p->media_change_flag) { + p->media_change_flag = 0; + return 1; + } + return 0; +} -/* - * Install the I2O block device we found. +/** + * i2o_block_transfer - Transfer a request to/from the I2O controller + * @req: the request which should be transfered + * + * This function converts the request into a I2O message. The necessary + * DMA buffers are allocated and after everything is setup post the message + * to the I2O controller. No cleanup is done by this function. It is done + * on the interrupt side when the reply arrives. + * + * Return 0 on success or negative error code on failure. */ - -static int i2ob_install_device(struct i2o_controller *c, struct i2o_device *d, int unit) +static int i2o_block_transfer(struct request *req) { - u64 size; - u32 blocksize; - u8 type; - u16 power; - u32 flags, status; - struct i2ob_device *dev=&i2ob_dev[unit]; - struct gendisk *disk; - request_queue_t *q; - int segments; - + struct i2o_block_device *dev = req->rq_disk->private_data; + struct i2o_controller *c = dev->i2o_dev->iop; + int tid = dev->i2o_dev->lct_data.tid; + struct i2o_message *msg; + void *mptr; + struct i2o_block_request *ireq = req->special; + struct scatterlist *sg; + int sgnum; + int i; + u32 m; + u32 tcntxt; + u32 sg_flags; + int rc; + + m = i2o_msg_get(c, &msg); + if (m == I2O_QUEUE_EMPTY) { + rc = -EBUSY; + goto exit; + } - /* - * For logging purposes... - */ - printk(KERN_INFO "i2ob: Installing tid %d device at unit %d\n", - d->lct_data.tid, unit); + tcntxt = i2o_cntxt_list_add(c, req); + if (!tcntxt) { + rc = -ENOMEM; + goto nop_msg; + } - /* - * If this is the first I2O block device found on this IOP, - * we need to initialize all the queue data structures - * before any I/O can be performed. If it fails, this - * device is useless. - */ - if(!i2ob_queues[c->unit]) { - if(i2ob_init_iop(c->unit)) - return 1; + if ((sgnum = i2o_block_sglist_alloc(ireq)) <= 0) { + rc = -ENOMEM; + goto context_remove; } - q = i2ob_queues[c->unit]->req_queue; + /* Build the message based on the request. */ + writel(i2o_block_driver.context, &msg->u.s.icntxt); + writel(tcntxt, &msg->u.s.tcntxt); + writel(req->nr_sectors << 9, &msg->body[1]); - /* - * This will save one level of lookup/indirection in critical - * code so that we can directly get the queue ptr from the - * device instead of having to go the IOP data structure. - */ - dev->req_queue = q; + writel((((u64) req->sector) << 9) & 0xffffffff, &msg->body[2]); + writel(req->sector >> 23, &msg->body[3]); - /* - * Allocate a gendisk structure and initialize it - */ - disk = alloc_disk(16); - if (!disk) - return 1; + mptr = &msg->body[4]; - dev->gd = disk; - /* initialize gendik structure */ - disk->major = MAJOR_NR; - disk->first_minor = unit<<4; - disk->queue = q; - disk->fops = &i2ob_fops; - sprintf(disk->disk_name, "i2o/hd%c", 'a' + unit); - disk->private_data = dev; + sg = ireq->sg_table; - /* - * Ask for the current media data. If that isn't supported - * then we ask for the device capacity data - */ - if(i2ob_query_device(dev, 0x0004, 1, &blocksize, 4) != 0 - || i2ob_query_device(dev, 0x0004, 0, &size, 8) !=0 ) - { - i2ob_query_device(dev, 0x0000, 3, &blocksize, 4); - i2ob_query_device(dev, 0x0000, 4, &size, 8); + if (rq_data_dir(req) == READ) { + writel(I2O_CMD_BLOCK_READ << 24 | HOST_TID << 12 | tid, + &msg->u.head[1]); + sg_flags = 0x10000000; + switch (dev->rcache) { + case CACHE_NULL: + writel(0, &msg->body[0]); + break; + case CACHE_PREFETCH: + writel(0x201F0008, &msg->body[0]); + break; + case CACHE_SMARTFETCH: + if (req->nr_sectors > 16) + writel(0x201F0008, &msg->body[0]); + else + writel(0x001F0000, &msg->body[0]); + break; + } + } else { + writel(I2O_CMD_BLOCK_WRITE << 24 | HOST_TID << 12 | tid, + &msg->u.head[1]); + sg_flags = 0x14000000; + switch (dev->wcache) { + case CACHE_NULL: + writel(0, &msg->body[0]); + break; + case CACHE_WRITETHROUGH: + writel(0x001F0008, &msg->body[0]); + break; + case CACHE_WRITEBACK: + writel(0x001F0010, &msg->body[0]); + break; + case CACHE_SMARTBACK: + if (req->nr_sectors > 16) + writel(0x001F0004, &msg->body[0]); + else + writel(0x001F0010, &msg->body[0]); + break; + case CACHE_SMARTTHROUGH: + if (req->nr_sectors > 16) + writel(0x001F0004, &msg->body[0]); + else + writel(0x001F0010, &msg->body[0]); + } } - - if(i2ob_query_device(dev, 0x0000, 2, &power, 2)!=0) - power = 0; - i2ob_query_device(dev, 0x0000, 5, &flags, 4); - i2ob_query_device(dev, 0x0000, 6, &status, 4); - set_capacity(disk, size>>9); - /* - * Max number of Scatter-Gather Elements - */ - - dev->power = power; /* Save power state in device proper */ - dev->flags = flags; - - segments = (d->controller->status_block->inbound_frame_size - 7) / 2; - - if(segments > 16) - segments = 16; - - dev->power = power; /* Save power state */ - dev->flags = flags; /* Keep the type info */ - - blk_queue_max_sectors(q, 96); /* 256 might be nicer but many controllers - explode on 65536 or higher */ - blk_queue_max_phys_segments(q, segments); - blk_queue_max_hw_segments(q, segments); - - dev->rcache = CACHE_SMARTFETCH; - dev->wcache = CACHE_WRITETHROUGH; - - if(d->controller->battery == 0) - dev->wcache = CACHE_WRITETHROUGH; - - if(d->controller->promise) - dev->wcache = CACHE_WRITETHROUGH; - - if(d->controller->short_req) - { - blk_queue_max_sectors(q, 8); - blk_queue_max_phys_segments(q, 8); - blk_queue_max_hw_segments(q, 8); + for (i = sgnum; i > 0; i--) { + if (i == 1) + sg_flags |= 0x80000000; + writel(sg_flags | sg_dma_len(sg), mptr); + writel(sg_dma_address(sg), mptr + 4); + mptr += 8; + sg++; } - strcpy(d->dev_name, disk->disk_name); - strcpy(disk->devfs_name, disk->disk_name); - - printk(KERN_INFO "%s: Max segments %d, queue depth %d, byte limit %d.\n", - d->dev_name, dev->max_segments, dev->depth, dev->max_sectors<<9); + writel(I2O_MESSAGE_SIZE + (((unsigned long)mptr - + (unsigned long)&msg->u.head[0]) >> 2) | SGL_OFFSET_8, + &msg->u.head[0]); - i2ob_query_device(dev, 0x0000, 0, &type, 1); - - printk(KERN_INFO "%s: ", d->dev_name); - switch(type) - { - case 0: printk("Disk Storage");break; - case 4: printk("WORM");break; - case 5: printk("CD-ROM");break; - case 7: printk("Optical device");break; - default: - printk("Type %d", type); - } - if(status&(1<<10)) - printk("(RAID)"); - - if((flags^status)&(1<<4|1<<3)) /* Missing media or device */ - { - printk(KERN_INFO " Not loaded.\n"); - /* Device missing ? */ - if((flags^status)&(1<<4)) - return 1; - } - else - { - printk(": %dMB, %d byte sectors", - (int)(size>>20), blocksize); - } - if(status&(1<<0)) - { - u32 cachesize; - i2ob_query_device(dev, 0x0003, 0, &cachesize, 4); - cachesize>>=10; - if(cachesize>4095) - printk(", %dMb cache", cachesize>>10); - else - printk(", %dKb cache", cachesize); - } - printk(".\n"); - printk(KERN_INFO "%s: Maximum sectors/read set to %d.\n", - d->dev_name, dev->max_sectors); + i2o_msg_post(c, m); - /* - * Register for the events we're interested in and that the - * device actually supports. - */ + list_add_tail(&ireq->queue, &dev->open_queue); + dev->open_queue_depth++; - i2o_event_register(c, d->lct_data.tid, i2ob_context, unit, - (I2OB_EVENT_MASK & d->lct_data.event_capabilities)); return 0; -} - -/* - * Initialize IOP specific queue structures. This is called - * once for each IOP that has a block device sitting behind it. - */ -static int i2ob_init_iop(unsigned int unit) -{ - int i; - i2ob_queues[unit] = (struct i2ob_iop_queue *) kmalloc(sizeof(struct i2ob_iop_queue), GFP_ATOMIC); - if(!i2ob_queues[unit]) - { - printk(KERN_WARNING "Could not allocate request queue for I2O block device!\n"); - return -1; - } - - for(i = 0; i< MAX_I2OB_DEPTH; i++) - { - i2ob_queues[unit]->request_queue[i].next = &i2ob_queues[unit]->request_queue[i+1]; - i2ob_queues[unit]->request_queue[i].num = i; - } - - /* Queue is MAX_I2OB + 1... */ - i2ob_queues[unit]->request_queue[i].next = NULL; - i2ob_queues[unit]->i2ob_qhead = &i2ob_queues[unit]->request_queue[0]; - i2ob_queues[unit]->queue_depth = 0; - - i2ob_queues[unit]->lock = SPIN_LOCK_UNLOCKED; - i2ob_queues[unit]->req_queue = blk_init_queue(i2ob_request, &i2ob_queues[unit]->lock); - if (!i2ob_queues[unit]->req_queue) { - kfree(i2ob_queues[unit]); - return -1; - } + context_remove: + i2o_cntxt_list_remove(c, req); - i2ob_queues[unit]->req_queue->queuedata = &i2ob_queues[unit]; + nop_msg: + i2o_msg_nop(c, m); - return 0; -} + exit: + return rc; +}; -/* - * Probe the I2O subsytem for block class devices +/** + * i2o_block_request_fn - request queue handling function + * q: request queue from which the request could be fetched + * + * Takes the next request from the queue, transfers it and if no error + * occurs dequeue it from the queue. On arrival of the reply the message + * will be processed further. If an error occurs requeue the request. */ -static void i2ob_scan(int bios) +static void i2o_block_request_fn(struct request_queue *q) { - int i; - int warned = 0; - - struct i2o_device *d, *b=NULL; - struct i2o_controller *c; - - for(i=0; i< MAX_I2O_CONTROLLERS; i++) - { - c=i2o_find_controller(i); - - if(c==NULL) - continue; + struct request *req; - /* - * The device list connected to the I2O Controller is doubly linked - * Here we traverse the end of the list , and start claiming devices - * from that end. This assures that within an I2O controller atleast - * the newly created volumes get claimed after the older ones, thus - * mapping to same major/minor (and hence device file name) after - * every reboot. - * The exception being: - * 1. If there was a TID reuse. - * 2. There was more than one I2O controller. - */ + while (!blk_queue_plugged(q)) { + req = elv_next_request(q); + if (!req) + break; - if(!bios) - { - for (d=c->devices;d!=NULL;d=d->next) - if(d->next == NULL) - b = d; - } - else - b = c->devices; + if (blk_fs_request(req)) { + struct i2o_block_delayed_request *dreq; + struct i2o_block_request *ireq = req->special; + unsigned int queue_depth; - while(b != NULL) - { - d=b; - if(bios) - b = b->next; - else - b = b->prev; + queue_depth = ireq->i2o_blk_dev->open_queue_depth; - if(d->lct_data.class_id!=I2O_CLASS_RANDOM_BLOCK_STORAGE) - continue; + if (queue_depth < I2O_BLOCK_MAX_OPEN_REQUESTS) + if (!i2o_block_transfer(req)) { + blkdev_dequeue_request(req); + continue; + } - if(d->lct_data.user_tid != 0xFFF) - continue; + if (queue_depth) + break; - if(bios) - { - if(d->lct_data.bios_info != 0x80) - continue; - printk(KERN_INFO "Claiming as Boot device: Controller %d, TID %d\n", c->unit, d->lct_data.tid); - } - else - { - if(d->lct_data.bios_info == 0x80) - continue; /*Already claimed on pass 1 */ - } + /* stop the queue and retry later */ + dreq = kmalloc(sizeof(*dreq), GFP_ATOMIC); + if (!dreq) + continue; - if(scan_unitqueue = q; + INIT_WORK(&dreq->work, i2o_block_delayed_request_fn, + dreq); + + printk(KERN_INFO "block-osm: transfer error\n"); + if (!queue_delayed_work(i2o_block_driver.event_queue, + &dreq->work, + I2O_BLOCK_RETRY_TIME)) + kfree(dreq); + else { + blk_stop_queue(q); + break; } - } - i2o_unlock_controller(c); + } else + end_request(req, 0); } -} +}; -static void i2ob_probe(void) +/* I2O Block device operations definition */ +static struct block_device_operations i2o_block_fops = { + .owner = THIS_MODULE, + .open = i2o_block_open, + .release = i2o_block_release, + .ioctl = i2o_block_ioctl, + .media_changed = i2o_block_media_changed +}; + +/** + * i2o_block_device_alloc - Allocate memory for a I2O Block device + * + * Allocate memory for the i2o_block_device struct, gendisk and request + * queue and initialize them as far as no additional information is needed. + * + * Returns a pointer to the allocated I2O Block device on succes or a + * negative error code on failure. + */ +static struct i2o_block_device *i2o_block_device_alloc(void) { - /* - * Some overhead/redundancy involved here, while trying to - * claim the first boot volume encountered as /dev/i2o/hda - * everytime. All the i2o_controllers are searched and the - * first i2o block device marked as bootable is claimed - * If an I2O block device was booted off , the bios sets - * its bios_info field to 0x80, this what we search for. - * Assuming that the bootable volume is /dev/i2o/hda - * everytime will prevent any kernel panic while mounting - * root partition - */ + struct i2o_block_device *dev; + struct gendisk *gd; + struct request_queue *queue; + int rc; + + dev = kmalloc(sizeof(*dev), GFP_KERNEL); + if (!dev) { + printk(KERN_ERR "block-osm: Insufficient memory to allocate " + "I2O Block disk.\n"); + rc = -ENOMEM; + goto exit; + } + memset(dev, 0, sizeof(*dev)); + + INIT_LIST_HEAD(&dev->open_queue); + spin_lock_init(&dev->lock); + dev->rcache = CACHE_PREFETCH; + dev->wcache = CACHE_WRITEBACK; + + /* allocate a gendisk with 16 partitions */ + gd = alloc_disk(16); + if (!gd) { + printk(KERN_ERR "block-osm: Insufficient memory to allocate " + "gendisk.\n"); + rc = -ENOMEM; + goto cleanup_dev; + } - printk(KERN_INFO "i2o_block: Checking for Boot device...\n"); - i2ob_scan(1); + /* initialize the request queue */ + queue = blk_init_queue(i2o_block_request_fn, &dev->lock); + if (!queue) { + printk(KERN_ERR "block-osm: Insufficient memory to allocate " + "request queue.\n"); + rc = -ENOMEM; + goto cleanup_queue; + } - /* - * Now the remainder. - */ - printk(KERN_INFO "i2o_block: Checking for I2O Block devices...\n"); - i2ob_scan(0); -} + blk_queue_prep_rq(queue, i2o_block_prep_req_fn); + gd->major = I2O_MAJOR; + gd->queue = queue; + gd->fops = &i2o_block_fops; + gd->private_data = dev; -/* - * New device notification handler. Called whenever a new - * I2O block storage device is added to the system. - * - * Should we spin lock around this to keep multiple devs from - * getting updated at the same time? - * + dev->gd = gd; + + return dev; + + cleanup_queue: + put_disk(gd); + + cleanup_dev: + kfree(dev); + + exit: + return ERR_PTR(rc); +}; + +/** + * i2o_block_probe - verify if dev is a I2O Block device and install it + * @dev: device to verify if it is a I2O Block device + * + * We only verify if the user_tid of the device is 0xfff and then install + * the device. Otherwise it is used by some other device (e. g. RAID). + * + * Returns 0 on success or negative error code on failure. */ -void i2ob_new_device(struct i2o_controller *c, struct i2o_device *d) +static int i2o_block_probe(struct device *dev) { - struct i2ob_device *dev; - int unit = 0; - - printk(KERN_INFO "i2o_block: New device detected\n"); - printk(KERN_INFO " Controller %d Tid %d\n",c->unit, d->lct_data.tid); + struct i2o_device *i2o_dev = to_i2o_device(dev); + struct i2o_block_device *i2o_blk_dev; + struct i2o_controller *c = i2o_dev->iop; + struct gendisk *gd; + struct request_queue *queue; + static int unit = 0; + int rc; + u64 size; + u32 blocksize; + u16 power; + u32 flags, status; + int segments; - /* Check for available space */ - if(i2ob_dev_count>=MAX_I2OB) - { - printk(KERN_ERR "i2o_block: No more devices allowed!\n"); - return; + /* skip devices which are used by IOP */ + if (i2o_dev->lct_data.user_tid != 0xfff) { + pr_debug("skipping used device %03x\n", i2o_dev->lct_data.tid); + return -ENODEV; } - for(unit = 0; unit < MAX_I2OB; unit ++) - { - if(!i2ob_dev[unit].i2odev) - break; + + printk(KERN_INFO "block-osm: New device detected (TID: %03x)\n", + i2o_dev->lct_data.tid); + + if (i2o_device_claim(i2o_dev)) { + printk(KERN_WARNING "block-osm: Unable to claim device. " + "Installation aborted\n"); + rc = -EFAULT; + goto exit; } - if(i2o_claim_device(d, &i2o_block_handler)) - { - printk(KERN_INFO "i2o_block: Unable to claim device. Installation aborted\n"); - return; + i2o_blk_dev = i2o_block_device_alloc(); + if (IS_ERR(i2o_blk_dev)) { + printk(KERN_ERR "block-osm: could not alloc a new I2O block" + "device"); + rc = PTR_ERR(i2o_blk_dev); + goto claim_release; } - dev = &i2ob_dev[unit]; - dev->i2odev = d; - dev->controller = c; - dev->tid = d->lct_data.tid; - dev->unit = c->unit; + i2o_blk_dev->i2o_dev = i2o_dev; + dev_set_drvdata(dev, i2o_blk_dev); - if(i2ob_install_device(c,d,unit)) { - i2o_release_device(d, &i2o_block_handler); - printk(KERN_ERR "i2o_block: Could not install new device\n"); - } - else - { - i2o_release_device(d, &i2o_block_handler); - add_disk(dev->gd); - i2ob_dev_count++; - i2o_device_notify_on(d, &i2o_block_handler); - } + /* setup gendisk */ + gd = i2o_blk_dev->gd; + gd->first_minor = unit << 4; + sprintf(gd->disk_name, "i2o/hd%c", 'a' + unit); + sprintf(gd->devfs_name, "i2o/hd%c", 'a' + unit); + gd->driverfs_dev = &i2o_dev->device; - return; -} + /* setup request queue */ + queue = gd->queue; + queue->queuedata = i2o_blk_dev; -/* - * Deleted device notification handler. Called when a device we - * are talking to has been deleted by the user or some other - * mysterious fource outside the kernel. - */ -void i2ob_del_device(struct i2o_controller *c, struct i2o_device *d) -{ - int unit = 0; - unsigned long flags; - struct i2ob_device *dev; + blk_queue_max_phys_segments(queue, I2O_MAX_SEGMENTS); + blk_queue_max_sectors(queue, I2O_MAX_SECTORS); - for(unit = 0; unit < MAX_I2OB; unit ++) - { - dev = &i2ob_dev[unit]; - if(dev->i2odev == d) - { - printk(KERN_INFO " /dev/%s: Controller %d Tid %d\n", - d->dev_name, c->unit, d->lct_data.tid); - break; - } - } + if (c->short_req) + segments = 8; + else { + i2o_status_block *sb; - printk(KERN_INFO "I2O Block Device Deleted\n"); + sb = c->status_block.virt; - if(unit >= MAX_I2OB) - { - printk(KERN_ERR "i2ob_del_device called, but not in dev table!\n"); - return; + segments = (sb->inbound_frame_size - + sizeof(struct i2o_message) / 4 - 4) / 2; } - spin_lock_irqsave(dev->req_queue->queue_lock, flags); + blk_queue_max_hw_segments(queue, segments); - /* - * Need to do this...we somtimes get two events from the IRTOS - * in a row and that causes lots of problems. - */ - i2o_device_notify_off(d, &i2o_block_handler); + pr_debug("max sectors: %d\n", I2O_MAX_SECTORS); + pr_debug("phys segments: %d\n", I2O_MAX_SEGMENTS); + pr_debug("hw segments: %d\n", segments); - /* - * This will force errors when i2ob_get_queue() is called - * by the kenrel. + /* + * Ask for the current media data. If that isn't supported + * then we ask for the device capacity data */ - if(dev->gd) { - struct gendisk *gd = dev->gd; - gd->queue = NULL; - del_gendisk(gd); - put_disk(gd); - dev->gd = NULL; + if (i2o_parm_field_get(i2o_dev, 0x0004, 1, &blocksize, 4) != 0 + || i2o_parm_field_get(i2o_dev, 0x0004, 0, &size, 8) != 0) { + i2o_parm_field_get(i2o_dev, 0x0000, 3, &blocksize, 4); + i2o_parm_field_get(i2o_dev, 0x0000, 4, &size, 8); } - spin_unlock_irqrestore(dev->req_queue->queue_lock, flags); - dev->req_queue = NULL; - dev->i2odev = NULL; - dev->refcnt = 0; - dev->tid = 0; - - /* - * Do we need this? - * The media didn't really change...the device is just gone - */ - dev->media_change_flag = 1; + pr_debug("blocksize: %d\n", blocksize); - i2ob_dev_count--; -} + if (i2o_parm_field_get(i2o_dev, 0x0000, 2, &power, 2)) + power = 0; + i2o_parm_field_get(i2o_dev, 0x0000, 5, &flags, 4); + i2o_parm_field_get(i2o_dev, 0x0000, 6, &status, 4); + + set_capacity(gd, size >> 9); + + i2o_event_register(i2o_dev, &i2o_block_driver, 0, 0xffffffff); + + add_disk(gd); + + unit++; -/* - * Have we seen a media change ? - */ -static int i2ob_media_change(struct gendisk *disk) -{ - struct i2ob_device *p = disk->private_data; - if(p->media_change_flag) - { - p->media_change_flag=0; - return 1; - } return 0; -} -static int i2ob_revalidate(struct gendisk *disk) -{ - struct i2ob_device *p = disk->private_data; - return i2ob_install_device(p->controller, p->i2odev, p->index); -} + claim_release: + i2o_device_claim_release(i2o_dev); -/* - * Reboot notifier. This is called by i2o_core when the system - * shuts down. - */ -static void i2ob_reboot_event(void) -{ - int i; - - for(i=0;irefcnt!=0) - { - /* - * Flush the onboard cache - */ - u32 msg[5]; - int *query_done = &dev->done_flag; - msg[0] = FIVE_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_CFLUSH<<24|HOST_TID<<12|dev->tid; - msg[2] = i2ob_context|0x40000000; - msg[3] = (u32)query_done; - msg[4] = 60<<16; - - DEBUG("Flushing..."); - i2o_post_wait(dev->controller, msg, 20, 60); - - DEBUG("Unlocking..."); - /* - * Unlock the media - */ - msg[0] = FIVE_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_BLOCK_MUNLOCK<<24|HOST_TID<<12|dev->tid; - msg[2] = i2ob_context|0x40000000; - msg[3] = (u32)query_done; - msg[4] = -1; - i2o_post_wait(dev->controller, msg, 20, 2); - - DEBUG("Unlocked.\n"); - } - } -} + exit: + return rc; +}; -static struct block_device_operations i2ob_fops = -{ - .owner = THIS_MODULE, - .open = i2ob_open, - .release = i2ob_release, - .ioctl = i2ob_ioctl, - .media_changed = i2ob_media_change, - .revalidate_disk= i2ob_revalidate, +/* Block OSM driver struct */ +static struct i2o_driver i2o_block_driver = { + .name = "block-osm", + .event = i2o_block_event, + .reply = i2o_block_reply, + .classes = i2o_block_class_id, + .driver = { + .probe = i2o_block_probe, + .remove = i2o_block_remove, + }, }; -/* - * And here should be modules and kernel interface - * (Just smiley confuses emacs :-) +/** + * i2o_block_init - Block OSM initialization function + * + * Allocate the slab and mempool for request structs, registers i2o_block + * block device and finally register the Block OSM in the I2O core. + * + * Returns 0 on success or negative error code on failure. */ - -static int i2o_block_init(void) +static int __init i2o_block_init(void) { - int i; + int rc; + int size; printk(KERN_INFO "I2O Block Storage OSM v0.9\n"); printk(KERN_INFO " (c) Copyright 1999-2001 Red Hat Software.\n"); - - /* - * Register the block device interfaces - */ - if (register_blkdev(MAJOR_NR, "i2o_block")) - return -EIO; - -#ifdef MODULE - printk(KERN_INFO "i2o_block: registered device at major %d\n", MAJOR_NR); -#endif - /* - * Set up the queue - */ - for(i = 0; i < MAX_I2O_CONTROLLERS; i++) - i2ob_queues[i] = NULL; - - /* - * Now fill in the boiler plate - */ - - for (i = 0; i < MAX_I2OB; i++) { - struct i2ob_device *dev = &i2ob_dev[i]; - dev->index = i; - dev->refcnt = 0; - dev->flags = 0; - dev->controller = NULL; - dev->i2odev = NULL; - dev->tid = 0; - dev->head = NULL; - dev->tail = NULL; - dev->depth = MAX_I2OB_DEPTH; - dev->max_sectors = 2; - dev->gd = NULL; + /* Allocate request mempool and slab */ + size = sizeof(struct i2o_block_request); + i2o_blk_req_pool.slab = kmem_cache_create("i2o_block_req", size, 0, + SLAB_HWCACHE_ALIGN, NULL, + NULL); + if (!i2o_blk_req_pool.slab) { + printk(KERN_ERR "block-osm: can't init request slab\n"); + rc = -ENOMEM; + goto exit; } - - /* - * Register the OSM handler as we will need this to probe for - * drives, geometry and other goodies. - */ - if(i2o_install_handler(&i2o_block_handler)<0) - { - unregister_blkdev(MAJOR_NR, "i2o_block"); - printk(KERN_ERR "i2o_block: unable to register OSM.\n"); - return -EINVAL; + i2o_blk_req_pool.pool = mempool_create(I2O_REQ_MEMPOOL_SIZE, + mempool_alloc_slab, + mempool_free_slab, + i2o_blk_req_pool.slab); + if (!i2o_blk_req_pool.pool) { + printk(KERN_ERR "block-osm: can't init request mempool\n"); + rc = -ENOMEM; + goto free_slab; } - i2ob_context = i2o_block_handler.context; - /* - * Initialize event handling thread - */ - init_MUTEX_LOCKED(&i2ob_evt_sem); - evt_pid = kernel_thread(i2ob_evt, NULL, CLONE_SIGHAND); - if(evt_pid < 0) - { - printk(KERN_ERR "i2o_block: Could not initialize event thread. Aborting\n"); - i2o_remove_handler(&i2o_block_handler); - return 0; + /* Register the block device interfaces */ + rc = register_blkdev(I2O_MAJOR, "i2o_block"); + if (rc) { + printk(KERN_ERR "block-osm: unable to register block device\n"); + goto free_mempool; } +#ifdef MODULE + printk(KERN_INFO "block-osm: registered device at major %d\n", + I2O_MAJOR); +#endif - i2ob_probe(); + /* Register Block OSM into I2O core */ + rc = i2o_driver_register(&i2o_block_driver); + if (rc) { + printk(KERN_ERR "block-osm: Could not register Block driver\n"); + goto unregister_blkdev; + } return 0; - unregister_blkdev(MAJOR_NR, "i2o_block"); - return -ENOMEM; -} + unregister_blkdev: + unregister_blkdev(I2O_MAJOR, "i2o_block"); + free_mempool: + mempool_destroy(i2o_blk_req_pool.pool); -static void i2o_block_exit(void) -{ - int i; - - if(evt_running) { - printk(KERN_INFO "Killing I2O block threads..."); - i = kill_proc(evt_pid, SIGKILL, 1); - if(!i) { - printk("waiting...\n"); - } - /* Be sure it died */ - wait_for_completion(&i2ob_thread_dead); - printk("done.\n"); - } + free_slab: + kmem_cache_destroy(i2o_blk_req_pool.slab); - /* - * Unregister for updates from any devices..otherwise we still - * get them and the core jumps to random memory :O - */ - if(i2ob_dev_count) { - struct i2o_device *d; - for(i = 0; i < MAX_I2OB; i++) - if((d = i2ob_dev[i].i2odev)) - i2ob_del_device(d->controller, d); - } - - /* - * We may get further callbacks for ourself. The i2o_core - * code handles this case reasonably sanely. The problem here - * is we shouldn't get them .. but a couple of cards feel - * obliged to tell us stuff we don't care about. - * - * This isnt ideal at all but will do for now. - */ - - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); - - /* - * Flush the OSM - */ + exit: + return rc; +}; - i2o_remove_handler(&i2o_block_handler); +/** + * i2o_block_exit - Block OSM exit function + * + * Unregisters Block OSM from I2O core, unregisters i2o_block block device + * and frees the mempool and slab. + */ +static void __exit i2o_block_exit(void) +{ + /* Unregister I2O Block OSM from I2O core */ + i2o_driver_unregister(&i2o_block_driver); - /* - * Return the block device - */ - if (unregister_blkdev(MAJOR_NR, "i2o_block") != 0) - printk("i2o_block: cleanup_module failed\n"); + /* Unregister block device */ + unregister_blkdev(I2O_MAJOR, "i2o_block"); - /* - * release request queue - */ - for (i = 0; i < MAX_I2O_CONTROLLERS; i ++) - if(i2ob_queues[i]) { - blk_cleanup_queue(i2ob_queues[i]->req_queue); - kfree(i2ob_queues[i]); - } -} + /* Free request mempool and slab */ + mempool_destroy(i2o_blk_req_pool.pool); + kmem_cache_destroy(i2o_blk_req_pool.slab); +}; MODULE_AUTHOR("Red Hat"); MODULE_DESCRIPTION("I2O Block Device OSM"); diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c index a28c4423b..4c240102a 100644 --- a/drivers/message/i2o/i2o_config.c +++ b/drivers/message/i2o/i2o_config.c @@ -2,7 +2,7 @@ * I2O Configuration Interface Driver * * (C) Copyright 1999-2002 Red Hat - * + * * Written by Alan Cox, Building Number Three Ltd * * Fixes/additions: @@ -41,63 +41,53 @@ #include #include #include +#include +#include +#include #include #include -static int i2o_cfg_context = -1; -static void *page_buf; +extern int i2o_parm_issue(struct i2o_device *, int, void *, int, void *, int); + static spinlock_t i2o_config_lock = SPIN_LOCK_UNLOCKED; struct wait_queue *i2o_wait_queue; #define MODINC(x,y) ((x) = ((x) + 1) % (y)) struct sg_simple_element { - u32 flag_count; + u32 flag_count; u32 addr_bus; }; -struct i2o_cfg_info -{ - struct file* fp; +struct i2o_cfg_info { + struct file *fp; struct fasync_struct *fasync; struct i2o_evt_info event_q[I2O_EVT_Q_LEN]; - u16 q_in; // Queue head index - u16 q_out; // Queue tail index - u16 q_len; // Queue length - u16 q_lost; // Number of lost events - u32 q_id; // Event queue ID...used as tx_context - struct i2o_cfg_info *next; + u16 q_in; // Queue head index + u16 q_out; // Queue tail index + u16 q_len; // Queue length + u16 q_lost; // Number of lost events + ulong q_id; // Event queue ID...used as tx_context + struct i2o_cfg_info *next; }; static struct i2o_cfg_info *open_files = NULL; -static int i2o_cfg_info_id = 0; - -static int ioctl_getiops(unsigned long); -static int ioctl_gethrt(unsigned long); -static int ioctl_getlct(unsigned long); -static int ioctl_parms(unsigned long, unsigned int); -static int ioctl_html(unsigned long); -static int ioctl_swdl(unsigned long); -static int ioctl_swul(unsigned long); -static int ioctl_swdel(unsigned long); -static int ioctl_validate(unsigned long); -static int ioctl_evt_reg(unsigned long, struct file *); -static int ioctl_evt_get(unsigned long, struct file *); -static int ioctl_passthru(unsigned long); -static int cfg_fasync(int, struct file*, int); +static ulong i2o_cfg_info_id = 0; +#if 0 /* * This is the callback for any message we have posted. The message itself * will be returned to the message pool when we return from the IRQ * * This runs in irq context so be short and sweet. */ -static void i2o_cfg_reply(struct i2o_handler *h, struct i2o_controller *c, struct i2o_message *m) +static void i2o_cfg_reply(struct i2o_handler *h, struct i2o_controller *c, + struct i2o_message *m) { - u32 *msg = (u32 *)m; + u32 *msg = (u32 *) m; if (msg[0] & MSG_FAIL) { - u32 *preserved_msg = (u32*)(c->msg_virt + msg[7]); + u32 *preserved_msg = (u32 *) (c->msg_virt + msg[7]); printk(KERN_ERR "i2o_config: IOP failed to process the msg.\n"); @@ -109,26 +99,25 @@ static void i2o_cfg_reply(struct i2o_handler *h, struct i2o_controller *c, struc i2o_post_message(c, msg[7]); } - if (msg[4] >> 24) // ReqStatus != SUCCESS - i2o_report_status(KERN_INFO,"i2o_config", msg); + if (msg[4] >> 24) // ReqStatus != SUCCESS + i2o_report_status(KERN_INFO, "i2o_config", msg); - if(m->function == I2O_CMD_UTIL_EVT_REGISTER) - { + if (m->function == I2O_CMD_UTIL_EVT_REGISTER) { struct i2o_cfg_info *inf; - for(inf = open_files; inf; inf = inf->next) - if(inf->q_id == msg[3]) + for (inf = open_files; inf; inf = inf->next) + if (inf->q_id == i2o_cntxt_list_get(c, msg[3])) break; // // If this is the case, it means that we're getting // events for a file descriptor that's been close()'d // w/o the user unregistering for events first. - // The code currently assumes that the user will + // The code currently assumes that the user will // take care of unregistering for events before closing // a file. - // - // TODO: + // + // TODO: // Should we track event registartion and deregister // for events when a file is close()'d so this doesn't // happen? That would get rid of the search through @@ -137,8 +126,8 @@ static void i2o_cfg_reply(struct i2o_handler *h, struct i2o_controller *c, struc // it would mean having all sorts of tables to track // what each file is registered for...I think the // current method is simpler. - DS - // - if(!inf) + // + if (!inf) return; inf->event_q[inf->q_in].id.iop = c->unit; @@ -149,278 +138,167 @@ static void i2o_cfg_reply(struct i2o_handler *h, struct i2o_controller *c, struc // Data size = msg size - reply header // inf->event_q[inf->q_in].data_size = (m->size - 5) * 4; - if(inf->event_q[inf->q_in].data_size) - memcpy(inf->event_q[inf->q_in].evt_data, - (unsigned char *)(msg + 5), - inf->event_q[inf->q_in].data_size); + if (inf->event_q[inf->q_in].data_size) + memcpy(inf->event_q[inf->q_in].evt_data, + (unsigned char *)(msg + 5), + inf->event_q[inf->q_in].data_size); spin_lock(&i2o_config_lock); MODINC(inf->q_in, I2O_EVT_Q_LEN); - if(inf->q_len == I2O_EVT_Q_LEN) - { + if (inf->q_len == I2O_EVT_Q_LEN) { MODINC(inf->q_out, I2O_EVT_Q_LEN); inf->q_lost++; - } - else - { + } else { // Keep I2OEVTGET on another CPU from touching this inf->q_len++; } spin_unlock(&i2o_config_lock); - -// printk(KERN_INFO "File %p w/id %d has %d events\n", -// inf->fp, inf->q_id, inf->q_len); +// printk(KERN_INFO "File %p w/id %d has %d events\n", +// inf->fp, inf->q_id, inf->q_len); kill_fasync(&inf->fasync, SIGIO, POLL_IN); } return; } +#endif /* * Each of these describes an i2o message handler. They are * multiplexed by the i2o_core code */ - -struct i2o_handler cfg_handler= -{ - i2o_cfg_reply, - NULL, - NULL, - NULL, - "Configuration", - 0, - 0xffffffff // All classes -}; - -static ssize_t cfg_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) -{ - printk(KERN_INFO "i2o_config write not yet supported\n"); - - return 0; -} +struct i2o_driver i2o_config_driver = { + .name = "Config-OSM" +}; -static ssize_t cfg_read(struct file *file, char __user *buf, size_t count, loff_t *ptr) +static int i2o_cfg_getiops(unsigned long arg) { - return 0; -} - -/* - * IOCTL Handler - */ -static int cfg_ioctl(struct inode *inode, struct file *fp, unsigned int cmd, - unsigned long arg) -{ - int ret; - - switch(cmd) - { - case I2OGETIOPS: - ret = ioctl_getiops(arg); - break; - - case I2OHRTGET: - ret = ioctl_gethrt(arg); - break; - - case I2OLCTGET: - ret = ioctl_getlct(arg); - break; - - case I2OPARMSET: - ret = ioctl_parms(arg, I2OPARMSET); - break; - - case I2OPARMGET: - ret = ioctl_parms(arg, I2OPARMGET); - break; - - case I2OSWDL: - ret = ioctl_swdl(arg); - break; - - case I2OSWUL: - ret = ioctl_swul(arg); - break; - - case I2OSWDEL: - ret = ioctl_swdel(arg); - break; - - case I2OVALIDATE: - ret = ioctl_validate(arg); - break; - - case I2OHTML: - ret = ioctl_html(arg); - break; - - case I2OEVTREG: - ret = ioctl_evt_reg(arg, fp); - break; - - case I2OEVTGET: - ret = ioctl_evt_get(arg, fp); - break; - - case I2OPASSTHRU: - ret = ioctl_passthru(arg); - break; - - default: - ret = -EINVAL; - } - - return ret; -} + struct i2o_controller *c; + u8 __user *user_iop_table = (void __user *)arg; + u8 tmp[MAX_I2O_CONTROLLERS]; -int ioctl_getiops(unsigned long arg) -{ - u8 __user *user_iop_table = (void __user *)arg; - struct i2o_controller *c = NULL; - int i; - u8 foo[MAX_I2O_CONTROLLERS]; + memset(tmp, 0, MAX_I2O_CONTROLLERS); - if(!access_ok(VERIFY_WRITE, user_iop_table, MAX_I2O_CONTROLLERS)) + if (!access_ok(VERIFY_WRITE, user_iop_table, MAX_I2O_CONTROLLERS)) return -EFAULT; - for(i = 0; i < MAX_I2O_CONTROLLERS; i++) - { - c = i2o_find_controller(i); - if(c) - { - foo[i] = 1; - if(pci_set_dma_mask(c->pdev, 0xffffffff)) - { - printk(KERN_WARNING "i2o_config : No suitable DMA available on controller %d\n", i); - i2o_unlock_controller(c); - continue; - } - - i2o_unlock_controller(c); - } - else - { - foo[i] = 0; - } - } + list_for_each_entry(c, &i2o_controllers, list) + tmp[c->unit] = 1; + + __copy_to_user(user_iop_table, tmp, MAX_I2O_CONTROLLERS); - __copy_to_user(user_iop_table, foo, MAX_I2O_CONTROLLERS); return 0; -} +}; -int ioctl_gethrt(unsigned long arg) +static int i2o_cfg_gethrt(unsigned long arg) { struct i2o_controller *c; - struct i2o_cmd_hrtlct __user *cmd = (void __user *)arg; + struct i2o_cmd_hrtlct __user *cmd = (struct i2o_cmd_hrtlct __user *)arg; struct i2o_cmd_hrtlct kcmd; i2o_hrt *hrt; int len; u32 reslen; int ret = 0; - if(copy_from_user(&kcmd, cmd, sizeof(struct i2o_cmd_hrtlct))) + if (copy_from_user(&kcmd, cmd, sizeof(struct i2o_cmd_hrtlct))) return -EFAULT; - if(get_user(reslen, kcmd.reslen) < 0) + if (get_user(reslen, kcmd.reslen) < 0) return -EFAULT; - if(kcmd.resbuf == NULL) + if (kcmd.resbuf == NULL) return -EFAULT; - c = i2o_find_controller(kcmd.iop); - if(!c) + c = i2o_find_iop(kcmd.iop); + if (!c) return -ENXIO; - - hrt = (i2o_hrt *)c->hrt; - i2o_unlock_controller(c); + hrt = (i2o_hrt *) c->hrt.virt; len = 8 + ((hrt->entry_len * hrt->num_entries) << 2); - + /* We did a get user...so assuming mem is ok...is this bad? */ put_user(len, kcmd.reslen); - if(len > reslen) - ret = -ENOBUFS; - if(copy_to_user(kcmd.resbuf, (void*)hrt, len)) + if (len > reslen) + ret = -ENOBUFS; + if (copy_to_user(kcmd.resbuf, (void *)hrt, len)) ret = -EFAULT; return ret; -} +}; -int ioctl_getlct(unsigned long arg) +static int i2o_cfg_getlct(unsigned long arg) { struct i2o_controller *c; - struct i2o_cmd_hrtlct __user *cmd = (void __user *)arg; + struct i2o_cmd_hrtlct __user *cmd = (struct i2o_cmd_hrtlct __user *)arg; struct i2o_cmd_hrtlct kcmd; i2o_lct *lct; int len; int ret = 0; u32 reslen; - if(copy_from_user(&kcmd, cmd, sizeof(struct i2o_cmd_hrtlct))) + if (copy_from_user(&kcmd, cmd, sizeof(struct i2o_cmd_hrtlct))) return -EFAULT; - if(get_user(reslen, kcmd.reslen) < 0) + if (get_user(reslen, kcmd.reslen) < 0) return -EFAULT; - if(kcmd.resbuf == NULL) + if (kcmd.resbuf == NULL) return -EFAULT; - c = i2o_find_controller(kcmd.iop); - if(!c) + c = i2o_find_iop(kcmd.iop); + if (!c) return -ENXIO; - lct = (i2o_lct *)c->lct; - i2o_unlock_controller(c); + lct = (i2o_lct *) c->lct; len = (unsigned int)lct->table_size << 2; put_user(len, kcmd.reslen); - if(len > reslen) - ret = -ENOBUFS; - else if(copy_to_user(kcmd.resbuf, (void*)lct, len)) + if (len > reslen) + ret = -ENOBUFS; + else if (copy_to_user(kcmd.resbuf, lct, len)) ret = -EFAULT; return ret; -} +}; -static int ioctl_parms(unsigned long arg, unsigned int type) +static int i2o_cfg_parms(unsigned long arg, unsigned int type) { int ret = 0; struct i2o_controller *c; - struct i2o_cmd_psetget __user *cmd = (void __user *)arg; + struct i2o_device *dev; + struct i2o_cmd_psetget __user *cmd = + (struct i2o_cmd_psetget __user *)arg; struct i2o_cmd_psetget kcmd; u32 reslen; u8 *ops; u8 *res; - int len; + int len = 0; - u32 i2o_cmd = (type == I2OPARMGET ? - I2O_CMD_UTIL_PARAMS_GET : - I2O_CMD_UTIL_PARAMS_SET); + u32 i2o_cmd = (type == I2OPARMGET ? + I2O_CMD_UTIL_PARAMS_GET : I2O_CMD_UTIL_PARAMS_SET); - if(copy_from_user(&kcmd, cmd, sizeof(struct i2o_cmd_psetget))) + if (copy_from_user(&kcmd, cmd, sizeof(struct i2o_cmd_psetget))) return -EFAULT; - if(get_user(reslen, kcmd.reslen)) + if (get_user(reslen, kcmd.reslen)) return -EFAULT; - c = i2o_find_controller(kcmd.iop); - if(!c) + c = i2o_find_iop(kcmd.iop); + if (!c) + return -ENXIO; + + dev = i2o_iop_find_device(c, kcmd.tid); + if (!dev) return -ENXIO; - ops = (u8*)kmalloc(kcmd.oplen, GFP_KERNEL); - if(!ops) - { - i2o_unlock_controller(c); + ops = (u8 *) kmalloc(kcmd.oplen, GFP_KERNEL); + if (!ops) return -ENOMEM; - } - if(copy_from_user(ops, kcmd.opbuf, kcmd.oplen)) - { - i2o_unlock_controller(c); + if (copy_from_user(ops, kcmd.opbuf, kcmd.oplen)) { kfree(ops); return -EFAULT; } @@ -429,404 +307,309 @@ static int ioctl_parms(unsigned long arg, unsigned int type) * It's possible to have a _very_ large table * and that the user asks for all of it at once... */ - res = (u8*)kmalloc(65536, GFP_KERNEL); - if(!res) - { - i2o_unlock_controller(c); + res = (u8 *) kmalloc(65536, GFP_KERNEL); + if (!res) { kfree(ops); return -ENOMEM; } - len = i2o_issue_params(i2o_cmd, c, kcmd.tid, - ops, kcmd.oplen, res, 65536); - i2o_unlock_controller(c); + len = i2o_parm_issue(dev, i2o_cmd, ops, kcmd.oplen, res, 65536); kfree(ops); - + if (len < 0) { kfree(res); return -EAGAIN; } put_user(len, kcmd.reslen); - if(len > reslen) + if (len > reslen) ret = -ENOBUFS; - else if(copy_to_user(kcmd.resbuf, res, len)) + else if (copy_to_user(kcmd.resbuf, res, len)) ret = -EFAULT; kfree(res); return ret; -} - -int ioctl_html(unsigned long arg) -{ - struct i2o_html __user *cmd = (void __user *)arg; - struct i2o_html kcmd; - struct i2o_controller *c; - u8 *res = NULL; - void *query = NULL; - dma_addr_t query_phys, res_phys; - int ret = 0; - int token; - u32 len; - u32 reslen; - u32 msg[MSG_FRAME_SIZE]; - - if(copy_from_user(&kcmd, cmd, sizeof(struct i2o_html))) - { - printk(KERN_INFO "i2o_config: can't copy html cmd\n"); - return -EFAULT; - } - - if(get_user(reslen, kcmd.reslen) < 0) - { - printk(KERN_INFO "i2o_config: can't copy html reslen\n"); - return -EFAULT; - } - - if(!kcmd.resbuf) - { - printk(KERN_INFO "i2o_config: NULL html buffer\n"); - return -EFAULT; - } - - c = i2o_find_controller(kcmd.iop); - if(!c) - return -ENXIO; - - if(kcmd.qlen) /* Check for post data */ - { - query = pci_alloc_consistent(c->pdev, kcmd.qlen, &query_phys); - if(!query) - { - i2o_unlock_controller(c); - return -ENOMEM; - } - if(copy_from_user(query, kcmd.qbuf, kcmd.qlen)) - { - i2o_unlock_controller(c); - printk(KERN_INFO "i2o_config: could not get query\n"); - pci_free_consistent(c->pdev, kcmd.qlen, query, query_phys); - return -EFAULT; - } - } - - res = pci_alloc_consistent(c->pdev, 65536, &res_phys); - if(!res) - { - i2o_unlock_controller(c); - pci_free_consistent(c->pdev, kcmd.qlen, query, query_phys); - return -ENOMEM; - } - - msg[1] = (I2O_CMD_UTIL_CONFIG_DIALOG << 24)|HOST_TID<<12|kcmd.tid; - msg[2] = i2o_cfg_context; - msg[3] = 0; - msg[4] = kcmd.page; - msg[5] = 0xD0000000|65536; - msg[6] = res_phys; - if(!kcmd.qlen) /* Check for post data */ - msg[0] = SEVEN_WORD_MSG_SIZE|SGL_OFFSET_5; - else - { - msg[0] = NINE_WORD_MSG_SIZE|SGL_OFFSET_5; - msg[5] = 0x50000000|65536; - msg[7] = 0xD4000000|(kcmd.qlen); - msg[8] = query_phys; - } - /* - Wait for a considerable time till the Controller - does its job before timing out. The controller might - take more time to process this request if there are - many devices connected to it. - */ - token = i2o_post_wait_mem(c, msg, 9*4, 400, query, res, query_phys, res_phys, kcmd.qlen, 65536); - if(token < 0) - { - printk(KERN_DEBUG "token = %#10x\n", token); - i2o_unlock_controller(c); - - if(token != -ETIMEDOUT) - { - pci_free_consistent(c->pdev, 65536, res, res_phys); - if(kcmd.qlen) - pci_free_consistent(c->pdev, kcmd.qlen, query, query_phys); - } - return token; - } - i2o_unlock_controller(c); - - len = strnlen(res, 65536); - put_user(len, kcmd.reslen); - if(len > reslen) - ret = -ENOMEM; - if(copy_to_user(kcmd.resbuf, res, len)) - ret = -EFAULT; - - pci_free_consistent(c->pdev, 65536, res, res_phys); - if(kcmd.qlen) - pci_free_consistent(c->pdev, kcmd.qlen, query, query_phys); +}; - return ret; -} - -int ioctl_swdl(unsigned long arg) +static int i2o_cfg_swdl(unsigned long arg) { struct i2o_sw_xfer kxfer; - struct i2o_sw_xfer __user *pxfer = (void __user *)arg; + struct i2o_sw_xfer __user *pxfer = (struct i2o_sw_xfer __user *)arg; unsigned char maxfrag = 0, curfrag = 1; - unsigned char *buffer; - u32 msg[9]; + struct i2o_dma buffer; + struct i2o_message *msg; + u32 m; unsigned int status = 0, swlen = 0, fragsize = 8192; struct i2o_controller *c; - dma_addr_t buffer_phys; - if(copy_from_user(&kxfer, pxfer, sizeof(struct i2o_sw_xfer))) + if (copy_from_user(&kxfer, pxfer, sizeof(struct i2o_sw_xfer))) return -EFAULT; - if(get_user(swlen, kxfer.swlen) < 0) + if (get_user(swlen, kxfer.swlen) < 0) return -EFAULT; - if(get_user(maxfrag, kxfer.maxfrag) < 0) + if (get_user(maxfrag, kxfer.maxfrag) < 0) return -EFAULT; - if(get_user(curfrag, kxfer.curfrag) < 0) + if (get_user(curfrag, kxfer.curfrag) < 0) return -EFAULT; - if(curfrag==maxfrag) fragsize = swlen-(maxfrag-1)*8192; + if (curfrag == maxfrag) + fragsize = swlen - (maxfrag - 1) * 8192; - if(!kxfer.buf || !access_ok(VERIFY_READ, kxfer.buf, fragsize)) + if (!kxfer.buf || !access_ok(VERIFY_READ, kxfer.buf, fragsize)) return -EFAULT; - - c = i2o_find_controller(kxfer.iop); - if(!c) + + c = i2o_find_iop(kxfer.iop); + if (!c) return -ENXIO; - buffer=pci_alloc_consistent(c->pdev, fragsize, &buffer_phys); - if (buffer==NULL) - { - i2o_unlock_controller(c); + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -EBUSY; + + if (i2o_dma_alloc(&c->pdev->dev, &buffer, fragsize, GFP_KERNEL)) { + i2o_msg_nop(c, m); return -ENOMEM; } - __copy_from_user(buffer, kxfer.buf, fragsize); - - msg[0]= NINE_WORD_MSG_SIZE | SGL_OFFSET_7; - msg[1]= I2O_CMD_SW_DOWNLOAD<<24 | HOST_TID<<12 | ADAPTER_TID; - msg[2]= (u32)cfg_handler.context; - msg[3]= 0; - msg[4]= (((u32)kxfer.flags)<<24) | (((u32)kxfer.sw_type)<<16) | - (((u32)maxfrag)<<8) | (((u32)curfrag)); - msg[5]= swlen; - msg[6]= kxfer.sw_id; - msg[7]= (0xD0000000 | fragsize); - msg[8]= buffer_phys; - -// printk("i2o_config: swdl frag %d/%d (size %d)\n", curfrag, maxfrag, fragsize); - status = i2o_post_wait_mem(c, msg, sizeof(msg), 60, buffer, NULL, buffer_phys, 0, fragsize, 0); - - i2o_unlock_controller(c); - if(status != -ETIMEDOUT) - pci_free_consistent(c->pdev, fragsize, buffer, buffer_phys); - - if (status != I2O_POST_WAIT_OK) - { + + __copy_from_user(buffer.virt, kxfer.buf, fragsize); + + writel(NINE_WORD_MSG_SIZE | SGL_OFFSET_7, &msg->u.head[0]); + writel(I2O_CMD_SW_DOWNLOAD << 24 | HOST_TID << 12 | ADAPTER_TID, + &msg->u.head[1]); + writel(i2o_config_driver.context, &msg->u.head[2]); + writel(0, &msg->u.head[3]); + writel((((u32) kxfer.flags) << 24) | (((u32) kxfer.sw_type) << 16) | + (((u32) maxfrag) << 8) | (((u32) curfrag)), &msg->body[0]); + writel(swlen, &msg->body[1]); + writel(kxfer.sw_id, &msg->body[2]); + writel(0xD0000000 | fragsize, &msg->body[3]); + writel(buffer.phys, &msg->body[4]); + +// printk("i2o_config: swdl frag %d/%d (size %d)\n", curfrag, maxfrag, fragsize); + status = i2o_msg_post_wait_mem(c, m, 60, &buffer); + + if (status != -ETIMEDOUT) + i2o_dma_free(&c->pdev->dev, &buffer); + + if (status != I2O_POST_WAIT_OK) { // it fails if you try and send frags out of order // and for some yet unknown reasons too - printk(KERN_INFO "i2o_config: swdl failed, DetailedStatus = %d\n", status); + printk(KERN_INFO + "i2o_config: swdl failed, DetailedStatus = %d\n", + status); return status; } return 0; -} +}; -int ioctl_swul(unsigned long arg) +static int i2o_cfg_swul(unsigned long arg) { struct i2o_sw_xfer kxfer; - struct i2o_sw_xfer __user *pxfer = (void __user *)arg; + struct i2o_sw_xfer __user *pxfer = (struct i2o_sw_xfer __user *)arg; unsigned char maxfrag = 0, curfrag = 1; - unsigned char *buffer; - u32 msg[9]; + struct i2o_dma buffer; + struct i2o_message *msg; + u32 m; unsigned int status = 0, swlen = 0, fragsize = 8192; struct i2o_controller *c; - dma_addr_t buffer_phys; - - if(copy_from_user(&kxfer, pxfer, sizeof(struct i2o_sw_xfer))) + + if (copy_from_user(&kxfer, pxfer, sizeof(struct i2o_sw_xfer))) return -EFAULT; - - if(get_user(swlen, kxfer.swlen) < 0) + + if (get_user(swlen, kxfer.swlen) < 0) return -EFAULT; - - if(get_user(maxfrag, kxfer.maxfrag) < 0) + + if (get_user(maxfrag, kxfer.maxfrag) < 0) return -EFAULT; - - if(get_user(curfrag, kxfer.curfrag) < 0) + + if (get_user(curfrag, kxfer.curfrag) < 0) return -EFAULT; - - if(curfrag==maxfrag) fragsize = swlen-(maxfrag-1)*8192; - - if(!kxfer.buf || !access_ok(VERIFY_WRITE, kxfer.buf, fragsize)) + + if (curfrag == maxfrag) + fragsize = swlen - (maxfrag - 1) * 8192; + + if (!kxfer.buf || !access_ok(VERIFY_WRITE, kxfer.buf, fragsize)) return -EFAULT; - - c = i2o_find_controller(kxfer.iop); - if(!c) + + c = i2o_find_iop(kxfer.iop); + if (!c) return -ENXIO; - - buffer=pci_alloc_consistent(c->pdev, fragsize, &buffer_phys); - if (buffer==NULL) - { - i2o_unlock_controller(c); + + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -EBUSY; + + if (i2o_dma_alloc(&c->pdev->dev, &buffer, fragsize, GFP_KERNEL)) { + i2o_msg_nop(c, m); return -ENOMEM; } - - msg[0]= NINE_WORD_MSG_SIZE | SGL_OFFSET_7; - msg[1]= I2O_CMD_SW_UPLOAD<<24 | HOST_TID<<12 | ADAPTER_TID; - msg[2]= (u32)cfg_handler.context; - msg[3]= 0; - msg[4]= (u32)kxfer.flags<<24|(u32)kxfer.sw_type<<16|(u32)maxfrag<<8|(u32)curfrag; - msg[5]= swlen; - msg[6]= kxfer.sw_id; - msg[7]= (0xD0000000 | fragsize); - msg[8]= buffer_phys; - -// printk("i2o_config: swul frag %d/%d (size %d)\n", curfrag, maxfrag, fragsize); - status = i2o_post_wait_mem(c, msg, sizeof(msg), 60, buffer, NULL, buffer_phys, 0, fragsize, 0); - i2o_unlock_controller(c); - - if (status != I2O_POST_WAIT_OK) - { - if(status != -ETIMEDOUT) - pci_free_consistent(c->pdev, fragsize, buffer, buffer_phys); - printk(KERN_INFO "i2o_config: swul failed, DetailedStatus = %d\n", status); + + writel(NINE_WORD_MSG_SIZE | SGL_OFFSET_7, &msg->u.head[0]); + writel(I2O_CMD_SW_UPLOAD << 24 | HOST_TID << 12 | ADAPTER_TID, + &msg->u.head[1]); + writel(i2o_config_driver.context, &msg->u.head[2]); + writel(0, &msg->u.head[3]); + writel((u32) kxfer.flags << 24 | (u32) kxfer. + sw_type << 16 | (u32) maxfrag << 8 | (u32) curfrag, + &msg->body[0]); + writel(swlen, &msg->body[1]); + writel(kxfer.sw_id, &msg->body[2]); + writel(0xD0000000 | fragsize, &msg->body[3]); + writel(buffer.phys, &msg->body[4]); + +// printk("i2o_config: swul frag %d/%d (size %d)\n", curfrag, maxfrag, fragsize); + status = i2o_msg_post_wait_mem(c, m, 60, &buffer); + + if (status != I2O_POST_WAIT_OK) { + if (status != -ETIMEDOUT) + i2o_dma_free(&c->pdev->dev, &buffer); + + printk(KERN_INFO + "i2o_config: swul failed, DetailedStatus = %d\n", + status); return status; } - - __copy_to_user(kxfer.buf, buffer, fragsize); - pci_free_consistent(c->pdev, fragsize, buffer, buffer_phys); - + + __copy_to_user(kxfer.buf, buffer.virt, fragsize); + i2o_dma_free(&c->pdev->dev, &buffer); + return 0; -} +}; -int ioctl_swdel(unsigned long arg) +static int i2o_cfg_swdel(unsigned long arg) { struct i2o_controller *c; struct i2o_sw_xfer kxfer; - struct i2o_sw_xfer __user *pxfer = (void __user *)arg; - u32 msg[7]; + struct i2o_sw_xfer __user *pxfer = (struct i2o_sw_xfer __user *)arg; + struct i2o_message *msg; + u32 m; unsigned int swlen; int token; - + if (copy_from_user(&kxfer, pxfer, sizeof(struct i2o_sw_xfer))) return -EFAULT; - + if (get_user(swlen, kxfer.swlen) < 0) return -EFAULT; - - c = i2o_find_controller(kxfer.iop); + + c = i2o_find_iop(kxfer.iop); if (!c) return -ENXIO; - msg[0] = SEVEN_WORD_MSG_SIZE | SGL_OFFSET_0; - msg[1] = I2O_CMD_SW_REMOVE<<24 | HOST_TID<<12 | ADAPTER_TID; - msg[2] = (u32)i2o_cfg_context; - msg[3] = 0; - msg[4] = (u32)kxfer.flags<<24 | (u32)kxfer.sw_type<<16; - msg[5] = swlen; - msg[6] = kxfer.sw_id; - - token = i2o_post_wait(c, msg, sizeof(msg), 10); - i2o_unlock_controller(c); - - if (token != I2O_POST_WAIT_OK) - { - printk(KERN_INFO "i2o_config: swdel failed, DetailedStatus = %d\n", token); + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -EBUSY; + + writel(SEVEN_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_SW_REMOVE << 24 | HOST_TID << 12 | ADAPTER_TID, + &msg->u.head[1]); + writel(i2o_config_driver.context, &msg->u.head[2]); + writel(0, &msg->u.head[3]); + writel((u32) kxfer.flags << 24 | (u32) kxfer.sw_type << 16, + &msg->body[0]); + writel(swlen, &msg->body[1]); + writel(kxfer.sw_id, &msg->body[2]); + + token = i2o_msg_post_wait(c, m, 10); + + if (token != I2O_POST_WAIT_OK) { + printk(KERN_INFO + "i2o_config: swdel failed, DetailedStatus = %d\n", + token); return -ETIMEDOUT; } - + return 0; -} +}; -int ioctl_validate(unsigned long arg) +static int i2o_cfg_validate(unsigned long arg) { - int token; - int iop = (int)arg; - u32 msg[4]; - struct i2o_controller *c; - - c=i2o_find_controller(iop); - if (!c) - return -ENXIO; - - msg[0] = FOUR_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_CONFIG_VALIDATE<<24 | HOST_TID<<12 | iop; - msg[2] = (u32)i2o_cfg_context; - msg[3] = 0; - - token = i2o_post_wait(c, msg, sizeof(msg), 10); - i2o_unlock_controller(c); - - if (token != I2O_POST_WAIT_OK) - { - printk(KERN_INFO "Can't validate configuration, ErrorStatus = %d\n", - token); - return -ETIMEDOUT; - } - - return 0; -} - -static int ioctl_evt_reg(unsigned long arg, struct file *fp) + int token; + int iop = (int)arg; + struct i2o_message *msg; + u32 m; + struct i2o_controller *c; + + c = i2o_find_iop(iop); + if (!c) + return -ENXIO; + + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -EBUSY; + + writel(FOUR_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_CONFIG_VALIDATE << 24 | HOST_TID << 12 | iop, + &msg->u.head[1]); + writel(i2o_config_driver.context, &msg->u.head[2]); + writel(0, &msg->u.head[3]); + + token = i2o_msg_post_wait(c, m, 10); + + if (token != I2O_POST_WAIT_OK) { + printk(KERN_INFO "Can't validate configuration, ErrorStatus = " + "%d\n", token); + return -ETIMEDOUT; + } + + return 0; +}; + +static int i2o_cfg_evt_reg(unsigned long arg, struct file *fp) { - u32 msg[5]; - struct i2o_evt_id __user *pdesc = (void __user *)arg; + struct i2o_message *msg; + u32 m; + struct i2o_evt_id __user *pdesc = (struct i2o_evt_id __user *)arg; struct i2o_evt_id kdesc; - struct i2o_controller *iop; + struct i2o_controller *c; struct i2o_device *d; if (copy_from_user(&kdesc, pdesc, sizeof(struct i2o_evt_id))) return -EFAULT; /* IOP exists? */ - iop = i2o_find_controller(kdesc.iop); - if(!iop) + c = i2o_find_iop(kdesc.iop); + if (!c) return -ENXIO; - i2o_unlock_controller(iop); /* Device exists? */ - for(d = iop->devices; d; d = d->next) - if(d->lct_data.tid == kdesc.tid) - break; - - if(!d) + d = i2o_iop_find_device(c, kdesc.tid); + if (!d) return -ENODEV; - msg[0] = FOUR_WORD_MSG_SIZE|SGL_OFFSET_0; - msg[1] = I2O_CMD_UTIL_EVT_REGISTER<<24 | HOST_TID<<12 | kdesc.tid; - msg[2] = (u32)i2o_cfg_context; - msg[3] = (u32)fp->private_data; - msg[4] = kdesc.evt_mask; + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return -EBUSY; + + writel(FOUR_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_UTIL_EVT_REGISTER << 24 | HOST_TID << 12 | kdesc.tid, + &msg->u.head[1]); + writel(i2o_config_driver.context, &msg->u.head[2]); + writel(i2o_cntxt_list_add(c, fp->private_data), &msg->u.head[3]); + writel(kdesc.evt_mask, &msg->body[0]); - i2o_post_this(iop, msg, 20); + i2o_msg_post(c, m); return 0; -} +} -static int ioctl_evt_get(unsigned long arg, struct file *fp) +static int i2o_cfg_evt_get(unsigned long arg, struct file *fp) { - u32 id = (u32)fp->private_data; struct i2o_cfg_info *p = NULL; - struct i2o_evt_get __user *uget = (void __user *)arg; + struct i2o_evt_get __user *uget = (struct i2o_evt_get __user *)arg; struct i2o_evt_get kget; unsigned long flags; - for(p = open_files; p; p = p->next) - if(p->q_id == id) + for (p = open_files; p; p = p->next) + if (p->q_id == (ulong) fp->private_data) break; - if(!p->q_len) - { + if (!p->q_len) return -ENOENT; - return 0; - } memcpy(&kget.info, &p->event_q[p->q_out], sizeof(struct i2o_evt_info)); MODINC(p->q_out, I2O_EVT_Q_LEN); @@ -836,16 +619,236 @@ static int ioctl_evt_get(unsigned long arg, struct file *fp) kget.lost = p->q_lost; spin_unlock_irqrestore(&i2o_config_lock, flags); - if(copy_to_user(uget, &kget, sizeof(struct i2o_evt_get))) + if (copy_to_user(uget, &kget, sizeof(struct i2o_evt_get))) return -EFAULT; return 0; } -static int ioctl_passthru(unsigned long arg) +#ifdef CONFIG_COMPAT +static int i2o_cfg_passthru32(unsigned fd, unsigned cmnd, unsigned long arg, + struct file *file) { - struct i2o_cmd_passthru __user *cmd = (void __user *) arg; + struct i2o_cmd_passthru32 __user *cmd; + struct i2o_controller *c; + u32 __user *user_msg; + u32 *reply = NULL; + u32 __user *user_reply = NULL; + u32 size = 0; + u32 reply_size = 0; + u32 rcode = 0; + struct i2o_dma sg_list[SG_TABLESIZE]; + u32 sg_offset = 0; + u32 sg_count = 0; + u32 i = 0; + i2o_status_block *sb; + struct i2o_message *msg; + u32 m; + unsigned int iop; + + cmd = (struct i2o_cmd_passthru32 __user *)arg; + + if (get_user(iop, &cmd->iop) || get_user(i, &cmd->msg)) + return -EFAULT; + + user_msg = compat_ptr(i); + + c = i2o_find_iop(iop); + if (!c) { + pr_debug("controller %d not found\n", iop); + return -ENXIO; + } + + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + + sb = c->status_block.virt; + + if (get_user(size, &user_msg[0])) { + printk(KERN_WARNING "unable to get size!\n"); + return -EFAULT; + } + size = size >> 16; + + if (size > sb->inbound_frame_size) { + pr_debug("size of message > inbound_frame_size"); + return -EFAULT; + } + + user_reply = &user_msg[size]; + + size <<= 2; // Convert to bytes + + /* Copy in the user's I2O command */ + if (copy_from_user(msg, user_msg, size)) { + printk(KERN_WARNING "unable to copy user message\n"); + return -EFAULT; + } + i2o_dump_message(msg); + + if (get_user(reply_size, &user_reply[0]) < 0) + return -EFAULT; + + reply_size >>= 16; + reply_size <<= 2; + + reply = kmalloc(reply_size, GFP_KERNEL); + if (!reply) { + printk(KERN_WARNING "%s: Could not allocate reply buffer\n", + c->name); + return -ENOMEM; + } + memset(reply, 0, reply_size); + + sg_offset = (msg->u.head[0] >> 4) & 0x0f; + + writel(i2o_config_driver.context, &msg->u.s.icntxt); + writel(i2o_cntxt_list_add(c, reply), &msg->u.s.tcntxt); + + memset(sg_list, 0, sizeof(sg_list[0]) * SG_TABLESIZE); + if (sg_offset) { + struct sg_simple_element *sg; + + if (sg_offset * 4 >= size) { + rcode = -EFAULT; + goto cleanup; + } + // TODO 64bit fix + sg = (struct sg_simple_element *)((&msg->u.head[0]) + + sg_offset); + sg_count = + (size - sg_offset * 4) / sizeof(struct sg_simple_element); + if (sg_count > SG_TABLESIZE) { + printk(KERN_DEBUG "%s:IOCTL SG List too large (%u)\n", + c->name, sg_count); + kfree(reply); + return -EINVAL; + } + + for (i = 0; i < sg_count; i++) { + int sg_size; + struct i2o_dma *p; + + if (!(sg[i].flag_count & 0x10000000 + /*I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT */ )) { + printk(KERN_DEBUG + "%s:Bad SG element %d - not simple (%x)\n", + c->name, i, sg[i].flag_count); + rcode = -EINVAL; + goto cleanup; + } + sg_size = sg[i].flag_count & 0xffffff; + p = &(sg_list[i]); + /* Allocate memory for the transfer */ + if (i2o_dma_alloc + (&c->pdev->dev, p, sg_size, + PCI_DMA_BIDIRECTIONAL)) { + printk(KERN_DEBUG + "%s: Could not allocate SG buffer - size = %d buffer number %d of %d\n", + c->name, sg_size, i, sg_count); + rcode = -ENOMEM; + goto cleanup; + } + /* Copy in the user's SG buffer if necessary */ + if (sg[i]. + flag_count & 0x04000000 /*I2O_SGL_FLAGS_DIR */ ) { + // TODO 64bit fix + if (copy_from_user + (p->virt, (void __user *)(unsigned long)sg[i].addr_bus, + sg_size)) { + printk(KERN_DEBUG + "%s: Could not copy SG buf %d FROM user\n", + c->name, i); + rcode = -EFAULT; + goto cleanup; + } + } + //TODO 64bit fix + sg[i].addr_bus = (u32) p->phys; + } + } + + rcode = i2o_msg_post_wait(c, m, 60); + if (rcode) + goto cleanup; + + if (sg_offset) { + u32 msg[128]; + /* Copy back the Scatter Gather buffers back to user space */ + u32 j; + // TODO 64bit fix + struct sg_simple_element *sg; + int sg_size; + printk(KERN_INFO "sg_offset\n"); + + // re-acquire the original message to handle correctly the sg copy operation + memset(&msg, 0, MSG_FRAME_SIZE * 4); + // get user msg size in u32s + if (get_user(size, &user_msg[0])) { + rcode = -EFAULT; + goto cleanup; + } + size = size >> 16; + size *= 4; + /* Copy in the user's I2O command */ + if (copy_from_user(msg, user_msg, size)) { + rcode = -EFAULT; + goto cleanup; + } + sg_count = + (size - sg_offset * 4) / sizeof(struct sg_simple_element); + + // TODO 64bit fix + sg = (struct sg_simple_element *)(msg + sg_offset); + for (j = 0; j < sg_count; j++) { + /* Copy out the SG list to user's buffer if necessary */ + if (! + (sg[j]. + flag_count & 0x4000000 /*I2O_SGL_FLAGS_DIR */ )) { + sg_size = sg[j].flag_count & 0xffffff; + // TODO 64bit fix + if (copy_to_user + ((void __user *)(u64) sg[j].addr_bus, + sg_list[j].virt, sg_size)) { + printk(KERN_WARNING + "%s: Could not copy %p TO user %x\n", + c->name, sg_list[j].virt, + sg[j].addr_bus); + rcode = -EFAULT; + goto cleanup; + } + } + } + } + + /* Copy back the reply to user space */ + if (reply_size) { + // we wrote our own values for context - now restore the user supplied ones + printk(KERN_INFO "reply_size\n"); + if (copy_from_user(reply + 2, user_msg + 2, sizeof(u32) * 2)) { + printk(KERN_WARNING + "%s: Could not copy message context FROM user\n", + c->name); + rcode = -EFAULT; + } + if (copy_to_user(user_reply, reply, reply_size)) { + printk(KERN_WARNING + "%s: Could not copy reply TO user\n", c->name); + rcode = -EFAULT; + } + } + + cleanup: + kfree(reply); + printk(KERN_INFO "rcode: %d\n", rcode); + return rcode; +} + +#else + +static int i2o_cfg_passthru(unsigned long arg) +{ + struct i2o_cmd_passthru __user *cmd = + (struct i2o_cmd_passthru __user *)arg; struct i2o_controller *c; - u32 msg[MSG_FRAME_SIZE]; u32 __user *user_msg; u32 *reply = NULL; u32 __user *user_reply = NULL; @@ -858,64 +861,88 @@ static int ioctl_passthru(unsigned long arg) int sg_index = 0; u32 i = 0; void *p = NULL; + i2o_status_block *sb; + struct i2o_message *msg; + u32 m; unsigned int iop; if (get_user(iop, &cmd->iop) || get_user(user_msg, &cmd->msg)) return -EFAULT; - c = i2o_find_controller(iop); - if (!c) - return -ENXIO; + c = i2o_find_iop(iop); + if (!c) { + pr_debug("controller %d not found\n", iop); + return -ENXIO; + } + + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + + sb = c->status_block.virt; - memset(&msg, 0, MSG_FRAME_SIZE*4); - if(get_user(size, &user_msg[0])) + if (get_user(size, &user_msg[0])) return -EFAULT; - size = size>>16; + size = size >> 16; - user_reply = &user_msg[size]; - if(size > MSG_FRAME_SIZE) + if (size > sb->inbound_frame_size) { + pr_debug("size of message > inbound_frame_size"); return -EFAULT; - size *= 4; // Convert to bytes + } + + user_reply = &user_msg[size]; + + size <<= 2; // Convert to bytes /* Copy in the user's I2O command */ - if(copy_from_user(msg, user_msg, size)) + if (copy_from_user(msg, user_msg, size)) return -EFAULT; - if(get_user(reply_size, &user_reply[0]) < 0) + + if (get_user(reply_size, &user_reply[0]) < 0) return -EFAULT; - reply_size = reply_size>>16; - reply = kmalloc(REPLY_FRAME_SIZE*4, GFP_KERNEL); - if(!reply) { - printk(KERN_WARNING"%s: Could not allocate reply buffer\n",c->name); + reply_size >>= 16; + reply_size <<= 2; + + reply = kmalloc(reply_size, GFP_KERNEL); + if (!reply) { + printk(KERN_WARNING "%s: Could not allocate reply buffer\n", + c->name); return -ENOMEM; } - memset(reply, 0, REPLY_FRAME_SIZE*4); - sg_offset = (msg[0]>>4)&0x0f; - msg[2] = (u32)i2o_cfg_context; - msg[3] = (u32)reply; + memset(reply, 0, reply_size); + + sg_offset = (msg->u.head[0] >> 4) & 0x0f; - memset(sg_list,0, sizeof(sg_list[0])*SG_TABLESIZE); - if(sg_offset) { + writel(i2o_config_driver.context, &msg->u.s.icntxt); + writel(i2o_cntxt_list_add(c, reply), &msg->u.s.tcntxt); + + memset(sg_list, 0, sizeof(sg_list[0]) * SG_TABLESIZE); + if (sg_offset) { struct sg_simple_element *sg; - if(sg_offset * 4 >= size) { + if (sg_offset * 4 >= size) { rcode = -EFAULT; goto cleanup; } // TODO 64bit fix - sg = (struct sg_simple_element*) (msg+sg_offset); - sg_count = (size - sg_offset*4) / sizeof(struct sg_simple_element); + sg = (struct sg_simple_element *)((&msg->u.head[0]) + + sg_offset); + sg_count = + (size - sg_offset * 4) / sizeof(struct sg_simple_element); if (sg_count > SG_TABLESIZE) { - printk(KERN_DEBUG"%s:IOCTL SG List too large (%u)\n", c->name,sg_count); - kfree (reply); + printk(KERN_DEBUG "%s:IOCTL SG List too large (%u)\n", + c->name, sg_count); + kfree(reply); return -EINVAL; } - for(i = 0; i < sg_count; i++) { + for (i = 0; i < sg_count; i++) { int sg_size; - if (!(sg[i].flag_count & 0x10000000 /*I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT*/)) { - printk(KERN_DEBUG"%s:Bad SG element %d - not simple (%x)\n",c->name,i, sg[i].flag_count); + if (!(sg[i].flag_count & 0x10000000 + /*I2O_SGL_FLAGS_SIMPLE_ADDRESS_ELEMENT */ )) { + printk(KERN_DEBUG + "%s:Bad SG element %d - not simple (%x)\n", + c->name, i, sg[i].flag_count); rcode = -EINVAL; goto cleanup; } @@ -923,61 +950,78 @@ static int ioctl_passthru(unsigned long arg) /* Allocate memory for the transfer */ p = kmalloc(sg_size, GFP_KERNEL); if (!p) { - printk(KERN_DEBUG"%s: Could not allocate SG buffer - size = %d buffer number %d of %d\n", c->name,sg_size,i,sg_count); + printk(KERN_DEBUG + "%s: Could not allocate SG buffer - size = %d buffer number %d of %d\n", + c->name, sg_size, i, sg_count); rcode = -ENOMEM; goto cleanup; } - sg_list[sg_index++] = p; // sglist indexed with input frame, not our internal frame. + sg_list[sg_index++] = p; // sglist indexed with input frame, not our internal frame. /* Copy in the user's SG buffer if necessary */ - if(sg[i].flag_count & 0x04000000 /*I2O_SGL_FLAGS_DIR*/) { + if (sg[i]. + flag_count & 0x04000000 /*I2O_SGL_FLAGS_DIR */ ) { // TODO 64bit fix - if (copy_from_user(p,(void __user *)sg[i].addr_bus, sg_size)) { - printk(KERN_DEBUG"%s: Could not copy SG buf %d FROM user\n",c->name,i); + if (copy_from_user + (p, (void __user *)sg[i].addr_bus, + sg_size)) { + printk(KERN_DEBUG + "%s: Could not copy SG buf %d FROM user\n", + c->name, i); rcode = -EFAULT; goto cleanup; } } //TODO 64bit fix - sg[i].addr_bus = (u32)virt_to_bus(p); + sg[i].addr_bus = virt_to_bus(p); } } - rcode = i2o_post_wait(c, msg, size, 60); - if(rcode) + rcode = i2o_msg_post_wait(c, m, 60); + if (rcode) goto cleanup; - if(sg_offset) { + if (sg_offset) { + u32 msg[128]; /* Copy back the Scatter Gather buffers back to user space */ u32 j; // TODO 64bit fix - struct sg_simple_element* sg; + struct sg_simple_element *sg; int sg_size; + printk(KERN_INFO "sg_offset\n"); // re-acquire the original message to handle correctly the sg copy operation - memset(&msg, 0, MSG_FRAME_SIZE*4); + memset(&msg, 0, MSG_FRAME_SIZE * 4); // get user msg size in u32s if (get_user(size, &user_msg[0])) { rcode = -EFAULT; goto cleanup; } - size = size>>16; + size = size >> 16; size *= 4; /* Copy in the user's I2O command */ - if (copy_from_user (msg, user_msg, size)) { + if (copy_from_user(msg, user_msg, size)) { rcode = -EFAULT; goto cleanup; } - sg_count = (size - sg_offset*4) / sizeof(struct sg_simple_element); + sg_count = + (size - sg_offset * 4) / sizeof(struct sg_simple_element); - // TODO 64bit fix - sg = (struct sg_simple_element*)(msg + sg_offset); + // TODO 64bit fix + sg = (struct sg_simple_element *)(msg + sg_offset); for (j = 0; j < sg_count; j++) { /* Copy out the SG list to user's buffer if necessary */ - if (!(sg[j].flag_count & 0x4000000 /*I2O_SGL_FLAGS_DIR*/)) { + if (! + (sg[j]. + flag_count & 0x4000000 /*I2O_SGL_FLAGS_DIR */ )) { sg_size = sg[j].flag_count & 0xffffff; // TODO 64bit fix - if (copy_to_user((void __user *)sg[j].addr_bus,sg_list[j], sg_size)) { - printk(KERN_WARNING"%s: Could not copy %p TO user %x\n",c->name, sg_list[j], sg[j].addr_bus); + if (copy_to_user + ((void __user *)sg[j].addr_bus, sg_list[j], + sg_size)) { + printk(KERN_WARNING + "%s: Could not copy %p TO user %x\n", + c->name, sg_list[j], + sg[j].addr_bus); rcode = -EFAULT; goto cleanup; } @@ -986,37 +1030,109 @@ static int ioctl_passthru(unsigned long arg) } /* Copy back the reply to user space */ - if (reply_size) { + if (reply_size) { // we wrote our own values for context - now restore the user supplied ones - if(copy_from_user(reply+2, user_msg+2, sizeof(u32)*2)) { - printk(KERN_WARNING"%s: Could not copy message context FROM user\n",c->name); + printk(KERN_INFO "reply_size\n"); + if (copy_from_user(reply + 2, user_msg + 2, sizeof(u32) * 2)) { + printk(KERN_WARNING + "%s: Could not copy message context FROM user\n", + c->name); rcode = -EFAULT; } - if(copy_to_user(user_reply, reply, reply_size)) { - printk(KERN_WARNING"%s: Could not copy reply TO user\n",c->name); + if (copy_to_user(user_reply, reply, reply_size)) { + printk(KERN_WARNING + "%s: Could not copy reply TO user\n", c->name); rcode = -EFAULT; } } -cleanup: + cleanup: kfree(reply); - i2o_unlock_controller(c); return rcode; } +#endif + +/* + * IOCTL Handler + */ +static int i2o_cfg_ioctl(struct inode *inode, struct file *fp, unsigned int cmd, + unsigned long arg) +{ + int ret; + + switch (cmd) { + case I2OGETIOPS: + ret = i2o_cfg_getiops(arg); + break; + + case I2OHRTGET: + ret = i2o_cfg_gethrt(arg); + break; + + case I2OLCTGET: + ret = i2o_cfg_getlct(arg); + break; + + case I2OPARMSET: + ret = i2o_cfg_parms(arg, I2OPARMSET); + break; + + case I2OPARMGET: + ret = i2o_cfg_parms(arg, I2OPARMGET); + break; + + case I2OSWDL: + ret = i2o_cfg_swdl(arg); + break; + + case I2OSWUL: + ret = i2o_cfg_swul(arg); + break; + + case I2OSWDEL: + ret = i2o_cfg_swdel(arg); + break; + + case I2OVALIDATE: + ret = i2o_cfg_validate(arg); + break; + + case I2OEVTREG: + ret = i2o_cfg_evt_reg(arg, fp); + break; + + case I2OEVTGET: + ret = i2o_cfg_evt_get(arg, fp); + break; + +#ifndef CONFIG_COMPAT + case I2OPASSTHRU: + ret = i2o_cfg_passthru(arg); + break; +#endif + + default: + pr_debug("i2o_config: unknown ioctl called!\n"); + ret = -EINVAL; + } + + return ret; +} static int cfg_open(struct inode *inode, struct file *file) { - struct i2o_cfg_info *tmp = - (struct i2o_cfg_info *)kmalloc(sizeof(struct i2o_cfg_info), GFP_KERNEL); + struct i2o_cfg_info *tmp = + (struct i2o_cfg_info *)kmalloc(sizeof(struct i2o_cfg_info), + GFP_KERNEL); unsigned long flags; - if(!tmp) + if (!tmp) return -ENOMEM; - file->private_data = (void*)(i2o_cfg_info_id++); + file->private_data = (void *)(i2o_cfg_info_id++); tmp->fp = file; tmp->fasync = NULL; - tmp->q_id = (u32)file->private_data; + tmp->q_id = (ulong) file->private_data; tmp->q_len = 0; tmp->q_in = 0; tmp->q_out = 0; @@ -1026,13 +1142,28 @@ static int cfg_open(struct inode *inode, struct file *file) spin_lock_irqsave(&i2o_config_lock, flags); open_files = tmp; spin_unlock_irqrestore(&i2o_config_lock, flags); - + return 0; } +static int cfg_fasync(int fd, struct file *fp, int on) +{ + ulong id = (ulong) fp->private_data; + struct i2o_cfg_info *p; + + for (p = open_files; p; p = p->next) + if (p->q_id == id) + break; + + if (!p) + return -EBADF; + + return fasync_helper(fd, fp, on, &p->fasync); +} + static int cfg_release(struct inode *inode, struct file *file) { - u32 id = (u32)file->private_data; + ulong id = (ulong) file->private_data; struct i2o_cfg_info *p1, *p2; unsigned long flags; @@ -1040,14 +1171,12 @@ static int cfg_release(struct inode *inode, struct file *file) p1 = p2 = NULL; spin_lock_irqsave(&i2o_config_lock, flags); - for(p1 = open_files; p1; ) - { - if(p1->q_id == id) - { + for (p1 = open_files; p1;) { + if (p1->q_id == id) { - if(p1->fasync) + if (p1->fasync) cfg_fasync(-1, file, 0); - if(p2) + if (p2) p2->next = p1->next; else open_files = p1->next; @@ -1064,83 +1193,55 @@ static int cfg_release(struct inode *inode, struct file *file) return 0; } -static int cfg_fasync(int fd, struct file *fp, int on) -{ - u32 id = (u32)fp->private_data; - struct i2o_cfg_info *p; - - for(p = open_files; p; p = p->next) - if(p->q_id == id) - break; - - if(!p) - return -EBADF; - - return fasync_helper(fd, fp, on, &p->fasync); -} - -static struct file_operations config_fops = -{ - .owner = THIS_MODULE, - .llseek = no_llseek, - .read = cfg_read, - .write = cfg_write, - .ioctl = cfg_ioctl, - .open = cfg_open, - .release = cfg_release, - .fasync = cfg_fasync, +static struct file_operations config_fops = { + .owner = THIS_MODULE, + .llseek = no_llseek, + .ioctl = i2o_cfg_ioctl, + .open = cfg_open, + .release = cfg_release, + .fasync = cfg_fasync, }; static struct miscdevice i2o_miscdev = { I2O_MINOR, "i2octl", &config_fops -}; +}; static int __init i2o_config_init(void) { printk(KERN_INFO "I2O configuration manager v 0.04.\n"); printk(KERN_INFO " (C) Copyright 1999 Red Hat Software\n"); - - if((page_buf = kmalloc(4096, GFP_KERNEL))==NULL) - { - printk(KERN_ERR "i2o_config: no memory for page buffer.\n"); - return -ENOBUFS; - } - if(misc_register(&i2o_miscdev) < 0) - { + + if (misc_register(&i2o_miscdev) < 0) { printk(KERN_ERR "i2o_config: can't register device.\n"); - kfree(page_buf); return -EBUSY; } /* - * Install our handler + * Install our handler */ - if(i2o_install_handler(&cfg_handler)<0) - { - kfree(page_buf); + if (i2o_driver_register(&i2o_config_driver)) { printk(KERN_ERR "i2o_config: handler register failed.\n"); misc_deregister(&i2o_miscdev); return -EBUSY; } - /* - * The low 16bits of the transaction context must match this - * for everything we post. Otherwise someone else gets our mail - */ - i2o_cfg_context = cfg_handler.context; +#ifdef CONFIG_COMPAT + register_ioctl32_conversion(I2OPASSTHRU32, i2o_cfg_passthru32); + register_ioctl32_conversion(I2OGETIOPS, (void *)sys_ioctl); +#endif return 0; } static void i2o_config_exit(void) { +#ifdef CONFIG_COMPAT + unregister_ioctl32_conversion(I2OPASSTHRU32); + unregister_ioctl32_conversion(I2OGETIOPS); +#endif misc_deregister(&i2o_miscdev); - - if(page_buf) - kfree(page_buf); - if(i2o_cfg_context != -1) - i2o_remove_handler(&cfg_handler); + i2o_driver_unregister(&i2o_config_driver); } - + MODULE_AUTHOR("Red Hat Software"); MODULE_DESCRIPTION("I2O Configuration"); MODULE_LICENSE("GPL"); diff --git a/drivers/message/i2o/i2o_proc.c b/drivers/message/i2o/i2o_proc.c index db85e21b9..a535c7a1f 100644 --- a/drivers/message/i2o/i2o_proc.c +++ b/drivers/message/i2o/i2o_proc.c @@ -1,39 +1,33 @@ /* - * procfs handler for Linux I2O subsystem + * procfs handler for Linux I2O subsystem * - * (c) Copyright 1999 Deepak Saxena - * - * Originally written by Deepak Saxena(deepak@plexity.net) + * (c) Copyright 1999 Deepak Saxena * - * This program is free software. You can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. + * Originally written by Deepak Saxena(deepak@plexity.net) * - * This is an initial test release. The code is based on the design - * of the ide procfs system (drivers/block/ide-proc.c). Some code - * taken from i2o-core module by Alan Cox. + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. * - * DISCLAIMER: This code is still under development/test and may cause - * your system to behave unpredictably. Use at your own discretion. + * This is an initial test release. The code is based on the design of the + * ide procfs system (drivers/block/ide-proc.c). Some code taken from + * i2o-core module by Alan Cox. * - * LAN entries by Juha Sievänen (Juha.Sievanen@cs.Helsinki.FI), - * Auvo Häkkinen (Auvo.Hakkinen@cs.Helsinki.FI) - * University of Helsinki, Department of Computer Science - */ - -/* - * set tabstop=3 - */ - -/* - * TODO List + * DISCLAIMER: This code is still under development/test and may cause + * your system to behave unpredictably. Use at your own discretion. * - * - Add support for any version 2.0 spec changes once 2.0 IRTOS is - * is available to test with - * - Clean up code to use official structure definitions + * + * Fixes/additions: + * Juha Sievänen (Juha.Sievanen@cs.Helsinki.FI), + * Auvo Häkkinen (Auvo.Hakkinen@cs.Helsinki.FI) + * University of Helsinki, Department of Computer Science + * LAN entries + * Markus Lidel + * Changes for new I2O API */ +#define I2O_MAX_MODULES 4 // FIXME! #define FMT_U64_HEX "0x%08x%08x" #define U64_VAL(pu64) *((u32*)(pu64)+1), *((u32*)(pu64)) @@ -54,188 +48,198 @@ #include #include -#include "i2o_lan.h" - -/* - * Structure used to define /proc entries - */ -typedef struct _i2o_proc_entry_t -{ - char *name; /* entry name */ - mode_t mode; /* mode */ - read_proc_t *read_proc; /* read func */ - write_proc_t *write_proc; /* write func */ - struct file_operations *fops_proc; /* file operations func */ +/* Structure used to define /proc entries */ +typedef struct _i2o_proc_entry_t { + char *name; /* entry name */ + mode_t mode; /* mode */ + struct file_operations *fops; /* open function */ } i2o_proc_entry; -// #define DRIVERDEBUG - -static int i2o_seq_show_lct(struct seq_file *, void *); -static int i2o_seq_show_hrt(struct seq_file *, void *); -static int i2o_seq_show_status(struct seq_file *, void *); - -static int i2o_proc_read_hw(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_ddm_table(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_driver_store(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_drivers_stored(char *, char **, off_t, int, int *, void *); - -static int i2o_proc_read_groups(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_phys_device(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_claimed(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_users(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_priv_msgs(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_authorized_users(char *, char **, off_t, int, int *, void *); - -static int i2o_proc_read_dev_name(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_dev_identity(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_ddm_identity(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_uinfo(char *, char **, off_t, int, int *, void *); -static int i2o_proc_read_sgl_limits(char *, char **, off_t, int, int *, void *); - -static int i2o_proc_read_sensors(char *, char **, off_t, int, int *, void *); - -static int print_serial_number(char *, int, u8 *, int); - -static int i2o_proc_create_entries(void *, i2o_proc_entry *, - struct proc_dir_entry *); -static void i2o_proc_remove_entries(i2o_proc_entry *, struct proc_dir_entry *); -static int i2o_proc_add_controller(struct i2o_controller *, - struct proc_dir_entry * ); -static void i2o_proc_remove_controller(struct i2o_controller *, - struct proc_dir_entry * ); -static void i2o_proc_add_device(struct i2o_device *, struct proc_dir_entry *); -static void i2o_proc_remove_device(struct i2o_device *); -static int create_i2o_procfs(void); -static int destroy_i2o_procfs(void); -static void i2o_proc_new_dev(struct i2o_controller *, struct i2o_device *); -static void i2o_proc_dev_del(struct i2o_controller *, struct i2o_device *); - -static int i2o_proc_read_lan_dev_info(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_mac_addr(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_mcast_addr(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_batch_control(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_operation(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_media_operation(char *, char **, off_t, int, - int *, void *); -static int i2o_proc_read_lan_alt_addr(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_tx_info(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_rx_info(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_hist_stats(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_eth_stats(char *, char **, off_t, int, - int *, void *); -static int i2o_proc_read_lan_tr_stats(char *, char **, off_t, int, int *, - void *); -static int i2o_proc_read_lan_fddi_stats(char *, char **, off_t, int, int *, - void *); - +/* global I2O /proc/i2o entry */ static struct proc_dir_entry *i2o_proc_dir_root; -/* - * I2O OSM descriptor - */ -static struct i2o_handler i2o_proc_handler = -{ - NULL, - i2o_proc_new_dev, - i2o_proc_dev_del, - NULL, - "I2O procfs Layer", - 0, - 0xffffffff // All classes +/* proc OSM driver struct */ +static struct i2o_driver i2o_proc_driver = { + .name = "proc-osm", }; -static int i2o_seq_open_hrt(struct inode *inode, struct file *file) +static int print_serial_number(struct seq_file *seq, u8 * serialno, int max_len) { - return single_open(file, i2o_seq_show_hrt, PDE(inode)->data); -}; + int i; -struct file_operations i2o_seq_fops_hrt = { - .open = i2o_seq_open_hrt, - .read = seq_read, - .llseek = seq_lseek, - .release = single_release -}; + /* 19990419 -sralston + * The I2O v1.5 (and v2.0 so far) "official specification" + * got serial numbers WRONG! + * Apparently, and despite what Section 3.4.4 says and + * Figure 3-35 shows (pg 3-39 in the pdf doc), + * the convention / consensus seems to be: + * + First byte is SNFormat + * + Second byte is SNLen (but only if SNFormat==7 (?)) + * + (v2.0) SCSI+BS may use IEEE Registered (64 or 128 bit) format + */ + switch (serialno[0]) { + case I2O_SNFORMAT_BINARY: /* Binary */ + seq_printf(seq, "0x"); + for (i = 0; i < serialno[1]; i++) { + seq_printf(seq, "%02X", serialno[2 + i]); + } + break; -static int i2o_seq_open_lct(struct inode *inode, struct file *file) -{ - return single_open(file, i2o_seq_show_lct, PDE(inode)->data); -}; + case I2O_SNFORMAT_ASCII: /* ASCII */ + if (serialno[1] < ' ') { /* printable or SNLen? */ + /* sanity */ + max_len = + (max_len < serialno[1]) ? max_len : serialno[1]; + serialno[1 + max_len] = '\0'; -struct file_operations i2o_seq_fops_lct = { - .open = i2o_seq_open_lct, - .read = seq_read, - .llseek = seq_lseek, - .release = single_release -}; + /* just print it */ + seq_printf(seq, "%s", &serialno[2]); + } else { + /* print chars for specified length */ + for (i = 0; i < serialno[1]; i++) { + seq_printf(seq, "%c", serialno[2 + i]); + } + } + break; -static int i2o_seq_open_status(struct inode *inode, struct file *file) -{ - return single_open(file, i2o_seq_show_status, PDE(inode)->data); -}; + case I2O_SNFORMAT_UNICODE: /* UNICODE */ + seq_printf(seq, "UNICODE Format. Can't Display\n"); + break; -struct file_operations i2o_seq_fops_status = { - .open = i2o_seq_open_status, - .read = seq_read, - .llseek = seq_lseek, - .release = single_release -}; + case I2O_SNFORMAT_LAN48_MAC: /* LAN-48 MAC Address */ + seq_printf(seq, + "LAN-48 MAC address @ %02X:%02X:%02X:%02X:%02X:%02X", + serialno[2], serialno[3], + serialno[4], serialno[5], serialno[6], serialno[7]); + break; -/* - * IOP specific entries...write field just in case someone - * ever wants one. - */ -static i2o_proc_entry generic_iop_entries[] = -{ - {"hrt", S_IFREG|S_IRUGO, NULL, NULL, &i2o_seq_fops_hrt}, - {"lct", S_IFREG|S_IRUGO, NULL, NULL, &i2o_seq_fops_lct}, - {"status", S_IFREG|S_IRUGO, NULL, NULL, &i2o_seq_fops_status}, - {"hw", S_IFREG|S_IRUGO, i2o_proc_read_hw, NULL, NULL}, - {"ddm_table", S_IFREG|S_IRUGO, i2o_proc_read_ddm_table, NULL, NULL}, - {"driver_store", S_IFREG|S_IRUGO, i2o_proc_read_driver_store, NULL, NULL}, - {"drivers_stored", S_IFREG|S_IRUGO, i2o_proc_read_drivers_stored, NULL, NULL}, - {NULL, 0, NULL, NULL, NULL} -}; + case I2O_SNFORMAT_WAN: /* WAN MAC Address */ + /* FIXME: Figure out what a WAN access address looks like?? */ + seq_printf(seq, "WAN Access Address"); + break; -/* - * Device specific entries - */ -static i2o_proc_entry generic_dev_entries[] = -{ - {"groups", S_IFREG|S_IRUGO, i2o_proc_read_groups, NULL, NULL}, - {"phys_dev", S_IFREG|S_IRUGO, i2o_proc_read_phys_device, NULL, NULL}, - {"claimed", S_IFREG|S_IRUGO, i2o_proc_read_claimed, NULL, NULL}, - {"users", S_IFREG|S_IRUGO, i2o_proc_read_users, NULL, NULL}, - {"priv_msgs", S_IFREG|S_IRUGO, i2o_proc_read_priv_msgs, NULL, NULL}, - {"authorized_users", S_IFREG|S_IRUGO, i2o_proc_read_authorized_users, NULL, NULL}, - {"dev_identity", S_IFREG|S_IRUGO, i2o_proc_read_dev_identity, NULL, NULL}, - {"ddm_identity", S_IFREG|S_IRUGO, i2o_proc_read_ddm_identity, NULL, NULL}, - {"user_info", S_IFREG|S_IRUGO, i2o_proc_read_uinfo, NULL, NULL}, - {"sgl_limits", S_IFREG|S_IRUGO, i2o_proc_read_sgl_limits, NULL, NULL}, - {"sensors", S_IFREG|S_IRUGO, i2o_proc_read_sensors, NULL, NULL}, - {NULL, 0, NULL, NULL, NULL} -}; +/* plus new in v2.0 */ + case I2O_SNFORMAT_LAN64_MAC: /* LAN-64 MAC Address */ + /* FIXME: Figure out what a LAN-64 address really looks like?? */ + seq_printf(seq, + "LAN-64 MAC address @ [?:%02X:%02X:?] %02X:%02X:%02X:%02X:%02X:%02X", + serialno[8], serialno[9], + serialno[2], serialno[3], + serialno[4], serialno[5], serialno[6], serialno[7]); + break; + + case I2O_SNFORMAT_DDM: /* I2O DDM */ + seq_printf(seq, + "DDM: Tid=%03Xh, Rsvd=%04Xh, OrgId=%04Xh", + *(u16 *) & serialno[2], + *(u16 *) & serialno[4], *(u16 *) & serialno[6]); + break; + + case I2O_SNFORMAT_IEEE_REG64: /* IEEE Registered (64-bit) */ + case I2O_SNFORMAT_IEEE_REG128: /* IEEE Registered (128-bit) */ + /* FIXME: Figure if this is even close?? */ + seq_printf(seq, + "IEEE NodeName(hi,lo)=(%08Xh:%08Xh), PortName(hi,lo)=(%08Xh:%08Xh)\n", + *(u32 *) & serialno[2], + *(u32 *) & serialno[6], + *(u32 *) & serialno[10], *(u32 *) & serialno[14]); + break; + + case I2O_SNFORMAT_UNKNOWN: /* Unknown 0 */ + case I2O_SNFORMAT_UNKNOWN2: /* Unknown 0xff */ + default: + seq_printf(seq, "Unknown data format (0x%02x)", serialno[0]); + break; + } -/* - * Storage unit specific entries (SCSI Periph, BS) with device names + return 0; +} + +/** + * i2o_get_class_name - do i2o class name lookup + * @class: class number + * + * Return a descriptive string for an i2o class */ -static i2o_proc_entry rbs_dev_entries[] = +static const char *i2o_get_class_name(int class) { - {"dev_name", S_IFREG|S_IRUGO, i2o_proc_read_dev_name, NULL, NULL}, - {NULL, 0, NULL, NULL} -}; + int idx = 16; + static char *i2o_class_name[] = { + "Executive", + "Device Driver Module", + "Block Device", + "Tape Device", + "LAN Interface", + "WAN Interface", + "Fibre Channel Port", + "Fibre Channel Device", + "SCSI Device", + "ATE Port", + "ATE Device", + "Floppy Controller", + "Floppy Device", + "Secondary Bus Port", + "Peer Transport Agent", + "Peer Transport", + "Unknown" + }; + + switch (class & 0xfff) { + case I2O_CLASS_EXECUTIVE: + idx = 0; + break; + case I2O_CLASS_DDM: + idx = 1; + break; + case I2O_CLASS_RANDOM_BLOCK_STORAGE: + idx = 2; + break; + case I2O_CLASS_SEQUENTIAL_STORAGE: + idx = 3; + break; + case I2O_CLASS_LAN: + idx = 4; + break; + case I2O_CLASS_WAN: + idx = 5; + break; + case I2O_CLASS_FIBRE_CHANNEL_PORT: + idx = 6; + break; + case I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL: + idx = 7; + break; + case I2O_CLASS_SCSI_PERIPHERAL: + idx = 8; + break; + case I2O_CLASS_ATE_PORT: + idx = 9; + break; + case I2O_CLASS_ATE_PERIPHERAL: + idx = 10; + break; + case I2O_CLASS_FLOPPY_CONTROLLER: + idx = 11; + break; + case I2O_CLASS_FLOPPY_DEVICE: + idx = 12; + break; + case I2O_CLASS_BUS_ADAPTER_PORT: + idx = 13; + break; + case I2O_CLASS_PEER_TRANSPORT_AGENT: + idx = 14; + break; + case I2O_CLASS_PEER_TRANSPORT: + idx = 15; + break; + } + + return i2o_class_name[idx]; +} #define SCSI_TABLE_SIZE 13 -static char *scsi_devices[] = -{ +static char *scsi_devices[] = { "Direct-Access Read/Write", "Sequential-Access Storage", "Printer", @@ -251,307 +255,267 @@ static char *scsi_devices[] = "Array Controller Device" }; -/* private */ - -/* - * Generic LAN specific entries - * - * Should groups with r/w entries have their own subdirectory? - * - */ -static i2o_proc_entry lan_entries[] = -{ - {"lan_dev_info", S_IFREG|S_IRUGO, i2o_proc_read_lan_dev_info, NULL, NULL}, - {"lan_mac_addr", S_IFREG|S_IRUGO, i2o_proc_read_lan_mac_addr, NULL, NULL}, - {"lan_mcast_addr", S_IFREG|S_IRUGO|S_IWUSR, - i2o_proc_read_lan_mcast_addr, NULL, NULL}, - {"lan_batch_ctrl", S_IFREG|S_IRUGO|S_IWUSR, - i2o_proc_read_lan_batch_control, NULL, NULL}, - {"lan_operation", S_IFREG|S_IRUGO, i2o_proc_read_lan_operation, NULL, NULL}, - {"lan_media_operation", S_IFREG|S_IRUGO, - i2o_proc_read_lan_media_operation, NULL, NULL}, - {"lan_alt_addr", S_IFREG|S_IRUGO, i2o_proc_read_lan_alt_addr, NULL, NULL}, - {"lan_tx_info", S_IFREG|S_IRUGO, i2o_proc_read_lan_tx_info, NULL, NULL}, - {"lan_rx_info", S_IFREG|S_IRUGO, i2o_proc_read_lan_rx_info, NULL, NULL}, - - {"lan_hist_stats", S_IFREG|S_IRUGO, i2o_proc_read_lan_hist_stats, NULL, NULL}, - {NULL, 0, NULL, NULL, NULL} -}; - -/* - * Port specific LAN entries - * - */ -static i2o_proc_entry lan_eth_entries[] = -{ - {"lan_eth_stats", S_IFREG|S_IRUGO, i2o_proc_read_lan_eth_stats, NULL, NULL}, - {NULL, 0, NULL, NULL, NULL} -}; - -static i2o_proc_entry lan_tr_entries[] = -{ - {"lan_tr_stats", S_IFREG|S_IRUGO, i2o_proc_read_lan_tr_stats, NULL, NULL}, - {NULL, 0, NULL, NULL, NULL} -}; - -static i2o_proc_entry lan_fddi_entries[] = -{ - {"lan_fddi_stats", S_IFREG|S_IRUGO, i2o_proc_read_lan_fddi_stats, NULL, NULL}, - {NULL, 0, NULL, NULL, NULL} -}; - - -static char *chtostr(u8 *chars, int n) +static char *chtostr(u8 * chars, int n) { char tmp[256]; tmp[0] = 0; - return strncat(tmp, (char *)chars, n); + return strncat(tmp, (char *)chars, n); } -static int i2o_report_query_status(char *buf, int block_status, char *group) +static int i2o_report_query_status(struct seq_file *seq, int block_status, + char *group) { - switch (block_status) - { + switch (block_status) { case -ETIMEDOUT: - return sprintf(buf, "Timeout reading group %s.\n",group); + return seq_printf(seq, "Timeout reading group %s.\n", group); case -ENOMEM: - return sprintf(buf, "No free memory to read the table.\n"); + return seq_printf(seq, "No free memory to read the table.\n"); case -I2O_PARAMS_STATUS_INVALID_GROUP_ID: - return sprintf(buf, "Group %s not supported.\n", group); + return seq_printf(seq, "Group %s not supported.\n", group); default: - return sprintf(buf, "Error reading group %s. BlockStatus 0x%02X\n", - group, -block_status); + return seq_printf(seq, + "Error reading group %s. BlockStatus 0x%02X\n", + group, -block_status); } } -static char* bus_strings[] = -{ - "Local Bus", - "ISA", - "EISA", - "MCA", +static char *bus_strings[] = { + "Local Bus", + "ISA", + "EISA", + "MCA", "PCI", - "PCMCIA", - "NUBUS", + "PCMCIA", + "NUBUS", "CARDBUS" }; -static spinlock_t i2o_proc_lock = SPIN_LOCK_UNLOCKED; - int i2o_seq_show_hrt(struct seq_file *seq, void *v) { struct i2o_controller *c = (struct i2o_controller *)seq->private; - i2o_hrt *hrt = (i2o_hrt *)c->hrt; + i2o_hrt *hrt = (i2o_hrt *) c->hrt.virt; u32 bus; int i; - if(hrt->hrt_version) - { - seq_printf(seq, "HRT table for controller is too new a version.\n"); + if (hrt->hrt_version) { + seq_printf(seq, + "HRT table for controller is too new a version.\n"); return 0; } seq_printf(seq, "HRT has %d entries of %d bytes each.\n", - hrt->num_entries, hrt->entry_len << 2); + hrt->num_entries, hrt->entry_len << 2); - for(i = 0; i < hrt->num_entries; i++) - { + for (i = 0; i < hrt->num_entries; i++) { seq_printf(seq, "Entry %d:\n", i); seq_printf(seq, " Adapter ID: %0#10x\n", - hrt->hrt_entry[i].adapter_id); + hrt->hrt_entry[i].adapter_id); seq_printf(seq, " Controlling tid: %0#6x\n", - hrt->hrt_entry[i].parent_tid); + hrt->hrt_entry[i].parent_tid); - if(hrt->hrt_entry[i].bus_type != 0x80) - { + if (hrt->hrt_entry[i].bus_type != 0x80) { bus = hrt->hrt_entry[i].bus_type; - seq_printf(seq, " %s Information\n", bus_strings[bus]); - - switch(bus) - { - case I2O_BUS_LOCAL: - seq_printf(seq, " IOBase: %0#6x,", - hrt->hrt_entry[i].bus.local_bus.LbBaseIOPort); - seq_printf(seq, " MemoryBase: %0#10x\n", - hrt->hrt_entry[i].bus.local_bus.LbBaseMemoryAddress); - break; - - case I2O_BUS_ISA: - seq_printf(seq, " IOBase: %0#6x,", - hrt->hrt_entry[i].bus.isa_bus.IsaBaseIOPort); - seq_printf(seq, " MemoryBase: %0#10x,", - hrt->hrt_entry[i].bus.isa_bus.IsaBaseMemoryAddress); - seq_printf(seq, " CSN: %0#4x,", - hrt->hrt_entry[i].bus.isa_bus.CSN); - break; - - case I2O_BUS_EISA: - seq_printf(seq, " IOBase: %0#6x,", - hrt->hrt_entry[i].bus.eisa_bus.EisaBaseIOPort); - seq_printf(seq, " MemoryBase: %0#10x,", - hrt->hrt_entry[i].bus.eisa_bus.EisaBaseMemoryAddress); - seq_printf(seq, " Slot: %0#4x,", - hrt->hrt_entry[i].bus.eisa_bus.EisaSlotNumber); - break; - - case I2O_BUS_MCA: - seq_printf(seq, " IOBase: %0#6x,", - hrt->hrt_entry[i].bus.mca_bus.McaBaseIOPort); - seq_printf(seq, " MemoryBase: %0#10x,", - hrt->hrt_entry[i].bus.mca_bus.McaBaseMemoryAddress); - seq_printf(seq, " Slot: %0#4x,", - hrt->hrt_entry[i].bus.mca_bus.McaSlotNumber); - break; - - case I2O_BUS_PCI: - seq_printf(seq, " Bus: %0#4x", - hrt->hrt_entry[i].bus.pci_bus.PciBusNumber); - seq_printf(seq, " Dev: %0#4x", - hrt->hrt_entry[i].bus.pci_bus.PciDeviceNumber); - seq_printf(seq, " Func: %0#4x", - hrt->hrt_entry[i].bus.pci_bus.PciFunctionNumber); - seq_printf(seq, " Vendor: %0#6x", - hrt->hrt_entry[i].bus.pci_bus.PciVendorID); - seq_printf(seq, " Device: %0#6x\n", - hrt->hrt_entry[i].bus.pci_bus.PciDeviceID); - break; - - default: - seq_printf(seq, " Unsupported Bus Type\n"); + seq_printf(seq, " %s Information\n", + bus_strings[bus]); + + switch (bus) { + case I2O_BUS_LOCAL: + seq_printf(seq, " IOBase: %0#6x,", + hrt->hrt_entry[i].bus.local_bus. + LbBaseIOPort); + seq_printf(seq, " MemoryBase: %0#10x\n", + hrt->hrt_entry[i].bus.local_bus. + LbBaseMemoryAddress); + break; + + case I2O_BUS_ISA: + seq_printf(seq, " IOBase: %0#6x,", + hrt->hrt_entry[i].bus.isa_bus. + IsaBaseIOPort); + seq_printf(seq, " MemoryBase: %0#10x,", + hrt->hrt_entry[i].bus.isa_bus. + IsaBaseMemoryAddress); + seq_printf(seq, " CSN: %0#4x,", + hrt->hrt_entry[i].bus.isa_bus.CSN); + break; + + case I2O_BUS_EISA: + seq_printf(seq, " IOBase: %0#6x,", + hrt->hrt_entry[i].bus.eisa_bus. + EisaBaseIOPort); + seq_printf(seq, " MemoryBase: %0#10x,", + hrt->hrt_entry[i].bus.eisa_bus. + EisaBaseMemoryAddress); + seq_printf(seq, " Slot: %0#4x,", + hrt->hrt_entry[i].bus.eisa_bus. + EisaSlotNumber); + break; + + case I2O_BUS_MCA: + seq_printf(seq, " IOBase: %0#6x,", + hrt->hrt_entry[i].bus.mca_bus. + McaBaseIOPort); + seq_printf(seq, " MemoryBase: %0#10x,", + hrt->hrt_entry[i].bus.mca_bus. + McaBaseMemoryAddress); + seq_printf(seq, " Slot: %0#4x,", + hrt->hrt_entry[i].bus.mca_bus. + McaSlotNumber); + break; + + case I2O_BUS_PCI: + seq_printf(seq, " Bus: %0#4x", + hrt->hrt_entry[i].bus.pci_bus. + PciBusNumber); + seq_printf(seq, " Dev: %0#4x", + hrt->hrt_entry[i].bus.pci_bus. + PciDeviceNumber); + seq_printf(seq, " Func: %0#4x", + hrt->hrt_entry[i].bus.pci_bus. + PciFunctionNumber); + seq_printf(seq, " Vendor: %0#6x", + hrt->hrt_entry[i].bus.pci_bus. + PciVendorID); + seq_printf(seq, " Device: %0#6x\n", + hrt->hrt_entry[i].bus.pci_bus. + PciDeviceID); + break; + + default: + seq_printf(seq, " Unsupported Bus Type\n"); } - } - else + } else seq_printf(seq, " Unknown Bus Type\n"); } - + return 0; } int i2o_seq_show_lct(struct seq_file *seq, void *v) { - struct i2o_controller *c = (struct i2o_controller*)seq->private; - i2o_lct *lct = (i2o_lct *)c->lct; + struct i2o_controller *c = (struct i2o_controller *)seq->private; + i2o_lct *lct = (i2o_lct *) c->lct; int entries; int i; #define BUS_TABLE_SIZE 3 - static char *bus_ports[] = - { + static char *bus_ports[] = { "Generic Bus", "SCSI Bus", "Fibre Channel Bus" }; - entries = (lct->table_size - 3)/9; + entries = (lct->table_size - 3) / 9; seq_printf(seq, "LCT contains %d %s\n", entries, - entries == 1 ? "entry" : "entries"); - if(lct->boot_tid) + entries == 1 ? "entry" : "entries"); + if (lct->boot_tid) seq_printf(seq, "Boot Device @ ID %d\n", lct->boot_tid); seq_printf(seq, "Current Change Indicator: %#10x\n", lct->change_ind); - for(i = 0; i < entries; i++) - { + for (i = 0; i < entries; i++) { seq_printf(seq, "Entry %d\n", i); - seq_printf(seq, " Class, SubClass : %s", i2o_get_class_name(lct->lct_entry[i].class_id)); - + seq_printf(seq, " Class, SubClass : %s", + i2o_get_class_name(lct->lct_entry[i].class_id)); + /* - * Classes which we'll print subclass info for + * Classes which we'll print subclass info for */ - switch(lct->lct_entry[i].class_id & 0xFFF) - { - case I2O_CLASS_RANDOM_BLOCK_STORAGE: - switch(lct->lct_entry[i].sub_class) - { - case 0x00: - seq_printf(seq, ", Direct-Access Read/Write"); - break; - - case 0x04: - seq_printf(seq, ", WORM Drive"); - break; - - case 0x05: - seq_printf(seq, ", CD-ROM Drive"); - break; - - case 0x07: - seq_printf(seq, ", Optical Memory Device"); - break; - - default: - seq_printf(seq, ", Unknown (0x%02x)", - lct->lct_entry[i].sub_class); - break; - } + switch (lct->lct_entry[i].class_id & 0xFFF) { + case I2O_CLASS_RANDOM_BLOCK_STORAGE: + switch (lct->lct_entry[i].sub_class) { + case 0x00: + seq_printf(seq, ", Direct-Access Read/Write"); + break; + + case 0x04: + seq_printf(seq, ", WORM Drive"); break; - case I2O_CLASS_LAN: - switch(lct->lct_entry[i].sub_class & 0xFF) - { - case 0x30: - seq_printf(seq, ", Ethernet"); - break; - - case 0x40: - seq_printf(seq, ", 100base VG"); - break; - - case 0x50: - seq_printf(seq, ", IEEE 802.5/Token-Ring"); - break; - - case 0x60: - seq_printf(seq, ", ANSI X3T9.5 FDDI"); - break; - - case 0x70: - seq_printf(seq, ", Fibre Channel"); - break; - - default: - seq_printf(seq, ", Unknown Sub-Class (0x%02x)", - lct->lct_entry[i].sub_class & 0xFF); - break; - } + case 0x05: + seq_printf(seq, ", CD-ROM Drive"); break; - case I2O_CLASS_SCSI_PERIPHERAL: - if(lct->lct_entry[i].sub_class < SCSI_TABLE_SIZE) - seq_printf(seq, ", %s", - scsi_devices[lct->lct_entry[i].sub_class]); - else - seq_printf(seq, ", Unknown Device Type"); + case 0x07: + seq_printf(seq, ", Optical Memory Device"); break; - case I2O_CLASS_BUS_ADAPTER_PORT: - if(lct->lct_entry[i].sub_class < BUS_TABLE_SIZE) - seq_printf(seq, ", %s", - bus_ports[lct->lct_entry[i].sub_class]); - else - seq_printf(seq, ", Unknown Bus Type"); + default: + seq_printf(seq, ", Unknown (0x%02x)", + lct->lct_entry[i].sub_class); break; + } + break; + + case I2O_CLASS_LAN: + switch (lct->lct_entry[i].sub_class & 0xFF) { + case 0x30: + seq_printf(seq, ", Ethernet"); + break; + + case 0x40: + seq_printf(seq, ", 100base VG"); + break; + + case 0x50: + seq_printf(seq, ", IEEE 802.5/Token-Ring"); + break; + + case 0x60: + seq_printf(seq, ", ANSI X3T9.5 FDDI"); + break; + + case 0x70: + seq_printf(seq, ", Fibre Channel"); + break; + + default: + seq_printf(seq, ", Unknown Sub-Class (0x%02x)", + lct->lct_entry[i].sub_class & 0xFF); + break; + } + break; + + case I2O_CLASS_SCSI_PERIPHERAL: + if (lct->lct_entry[i].sub_class < SCSI_TABLE_SIZE) + seq_printf(seq, ", %s", + scsi_devices[lct->lct_entry[i]. + sub_class]); + else + seq_printf(seq, ", Unknown Device Type"); + break; + + case I2O_CLASS_BUS_ADAPTER_PORT: + if (lct->lct_entry[i].sub_class < BUS_TABLE_SIZE) + seq_printf(seq, ", %s", + bus_ports[lct->lct_entry[i]. + sub_class]); + else + seq_printf(seq, ", Unknown Bus Type"); + break; } seq_printf(seq, "\n"); - - seq_printf(seq, " Local TID : 0x%03x\n", lct->lct_entry[i].tid); - seq_printf(seq, " User TID : 0x%03x\n", lct->lct_entry[i].user_tid); + + seq_printf(seq, " Local TID : 0x%03x\n", + lct->lct_entry[i].tid); + seq_printf(seq, " User TID : 0x%03x\n", + lct->lct_entry[i].user_tid); seq_printf(seq, " Parent TID : 0x%03x\n", - lct->lct_entry[i].parent_tid); + lct->lct_entry[i].parent_tid); seq_printf(seq, " Identity Tag : 0x%x%x%x%x%x%x%x%x\n", - lct->lct_entry[i].identity_tag[0], - lct->lct_entry[i].identity_tag[1], - lct->lct_entry[i].identity_tag[2], - lct->lct_entry[i].identity_tag[3], - lct->lct_entry[i].identity_tag[4], - lct->lct_entry[i].identity_tag[5], - lct->lct_entry[i].identity_tag[6], - lct->lct_entry[i].identity_tag[7]); + lct->lct_entry[i].identity_tag[0], + lct->lct_entry[i].identity_tag[1], + lct->lct_entry[i].identity_tag[2], + lct->lct_entry[i].identity_tag[3], + lct->lct_entry[i].identity_tag[4], + lct->lct_entry[i].identity_tag[5], + lct->lct_entry[i].identity_tag[6], + lct->lct_entry[i].identity_tag[7]); seq_printf(seq, " Change Indicator : %0#10x\n", - lct->lct_entry[i].change_ind); + lct->lct_entry[i].change_ind); seq_printf(seq, " Event Capab Mask : %0#10x\n", - lct->lct_entry[i].device_flags); + lct->lct_entry[i].device_flags); } return 0; @@ -559,17 +523,17 @@ int i2o_seq_show_lct(struct seq_file *seq, void *v) int i2o_seq_show_status(struct seq_file *seq, void *v) { - struct i2o_controller *c = (struct i2o_controller*)seq->private; + struct i2o_controller *c = (struct i2o_controller *)seq->private; char prodstr[25]; int version; - - i2o_status_get(c); // reread the status block + i2o_status_block *sb = c->status_block.virt; + + i2o_status_get(c); // reread the status block + + seq_printf(seq, "Organization ID : %0#6x\n", sb->org_id); - seq_printf(seq, "Organization ID : %0#6x\n", - c->status_block->org_id); + version = sb->i2o_version; - version = c->status_block->i2o_version; - /* FIXME for Spec 2.0 if (version == 0x02) { seq_printf(seq, "Lowest I2O version supported: "); @@ -599,170 +563,171 @@ int i2o_seq_show_status(struct seq_file *seq, void *v) } } */ - seq_printf(seq, "IOP ID : %0#5x\n", - c->status_block->iop_id); - seq_printf(seq, "Host Unit ID : %0#6x\n", - c->status_block->host_unit_id); - seq_printf(seq, "Segment Number : %0#5x\n", - c->status_block->segment_number); + seq_printf(seq, "IOP ID : %0#5x\n", sb->iop_id); + seq_printf(seq, "Host Unit ID : %0#6x\n", sb->host_unit_id); + seq_printf(seq, "Segment Number : %0#5x\n", sb->segment_number); seq_printf(seq, "I2O version : "); switch (version) { - case 0x00: - seq_printf(seq, "1.0\n"); - break; - case 0x01: - seq_printf(seq, "1.5\n"); - break; - case 0x02: - seq_printf(seq, "2.0\n"); - break; - default: - seq_printf(seq, "Unknown version\n"); + case 0x00: + seq_printf(seq, "1.0\n"); + break; + case 0x01: + seq_printf(seq, "1.5\n"); + break; + case 0x02: + seq_printf(seq, "2.0\n"); + break; + default: + seq_printf(seq, "Unknown version\n"); } seq_printf(seq, "IOP State : "); - switch (c->status_block->iop_state) { - case 0x01: - seq_printf(seq, "INIT\n"); - break; + switch (sb->iop_state) { + case 0x01: + seq_printf(seq, "INIT\n"); + break; - case 0x02: - seq_printf(seq, "RESET\n"); - break; + case 0x02: + seq_printf(seq, "RESET\n"); + break; - case 0x04: - seq_printf(seq, "HOLD\n"); - break; + case 0x04: + seq_printf(seq, "HOLD\n"); + break; - case 0x05: - seq_printf(seq, "READY\n"); - break; + case 0x05: + seq_printf(seq, "READY\n"); + break; - case 0x08: - seq_printf(seq, "OPERATIONAL\n"); - break; + case 0x08: + seq_printf(seq, "OPERATIONAL\n"); + break; - case 0x10: - seq_printf(seq, "FAILED\n"); - break; + case 0x10: + seq_printf(seq, "FAILED\n"); + break; - case 0x11: - seq_printf(seq, "FAULTED\n"); - break; + case 0x11: + seq_printf(seq, "FAULTED\n"); + break; - default: - seq_printf(seq, "Unknown\n"); - break; + default: + seq_printf(seq, "Unknown\n"); + break; } seq_printf(seq, "Messenger Type : "); - switch (c->status_block->msg_type) { - case 0x00: - seq_printf(seq, "Memory mapped\n"); - break; - case 0x01: - seq_printf(seq, "Memory mapped only\n"); - break; - case 0x02: - seq_printf(seq,"Remote only\n"); - break; - case 0x03: - seq_printf(seq, "Memory mapped and remote\n"); - break; - default: - seq_printf(seq, "Unknown\n"); + switch (sb->msg_type) { + case 0x00: + seq_printf(seq, "Memory mapped\n"); + break; + case 0x01: + seq_printf(seq, "Memory mapped only\n"); + break; + case 0x02: + seq_printf(seq, "Remote only\n"); + break; + case 0x03: + seq_printf(seq, "Memory mapped and remote\n"); + break; + default: + seq_printf(seq, "Unknown\n"); } seq_printf(seq, "Inbound Frame Size : %d bytes\n", - c->status_block->inbound_frame_size<<2); + sb->inbound_frame_size << 2); seq_printf(seq, "Max Inbound Frames : %d\n", - c->status_block->max_inbound_frames); + sb->max_inbound_frames); seq_printf(seq, "Current Inbound Frames : %d\n", - c->status_block->cur_inbound_frames); + sb->cur_inbound_frames); seq_printf(seq, "Max Outbound Frames : %d\n", - c->status_block->max_outbound_frames); + sb->max_outbound_frames); /* Spec doesn't say if NULL terminated or not... */ - memcpy(prodstr, c->status_block->product_id, 24); + memcpy(prodstr, sb->product_id, 24); prodstr[24] = '\0'; seq_printf(seq, "Product ID : %s\n", prodstr); seq_printf(seq, "Expected LCT Size : %d bytes\n", - c->status_block->expected_lct_size); + sb->expected_lct_size); seq_printf(seq, "IOP Capabilities\n"); seq_printf(seq, " Context Field Size Support : "); - switch (c->status_block->iop_capabilities & 0x0000003) { - case 0: - seq_printf(seq, "Supports only 32-bit context fields\n"); - break; - case 1: - seq_printf(seq, "Supports only 64-bit context fields\n"); - break; - case 2: - seq_printf(seq, "Supports 32-bit and 64-bit context fields, " - "but not concurrently\n"); - break; - case 3: - seq_printf(seq, "Supports 32-bit and 64-bit context fields " - "concurrently\n"); - break; - default: - seq_printf(seq, "0x%08x\n",c->status_block->iop_capabilities); + switch (sb->iop_capabilities & 0x0000003) { + case 0: + seq_printf(seq, "Supports only 32-bit context fields\n"); + break; + case 1: + seq_printf(seq, "Supports only 64-bit context fields\n"); + break; + case 2: + seq_printf(seq, "Supports 32-bit and 64-bit context fields, " + "but not concurrently\n"); + break; + case 3: + seq_printf(seq, "Supports 32-bit and 64-bit context fields " + "concurrently\n"); + break; + default: + seq_printf(seq, "0x%08x\n", sb->iop_capabilities); } seq_printf(seq, " Current Context Field Size : "); - switch (c->status_block->iop_capabilities & 0x0000000C) { - case 0: - seq_printf(seq, "not configured\n"); - break; - case 4: - seq_printf(seq, "Supports only 32-bit context fields\n"); - break; - case 8: - seq_printf(seq, "Supports only 64-bit context fields\n"); - break; - case 12: - seq_printf(seq, "Supports both 32-bit or 64-bit context fields " - "concurrently\n"); - break; - default: - seq_printf(seq, "\n"); + switch (sb->iop_capabilities & 0x0000000C) { + case 0: + seq_printf(seq, "not configured\n"); + break; + case 4: + seq_printf(seq, "Supports only 32-bit context fields\n"); + break; + case 8: + seq_printf(seq, "Supports only 64-bit context fields\n"); + break; + case 12: + seq_printf(seq, "Supports both 32-bit or 64-bit context fields " + "concurrently\n"); + break; + default: + seq_printf(seq, "\n"); } seq_printf(seq, " Inbound Peer Support : %s\n", - (c->status_block->iop_capabilities & 0x00000010) ? "Supported" : "Not supported"); + (sb-> + iop_capabilities & 0x00000010) ? "Supported" : + "Not supported"); seq_printf(seq, " Outbound Peer Support : %s\n", - (c->status_block->iop_capabilities & 0x00000020) ? "Supported" : "Not supported"); + (sb-> + iop_capabilities & 0x00000020) ? "Supported" : + "Not supported"); seq_printf(seq, " Peer to Peer Support : %s\n", - (c->status_block->iop_capabilities & 0x00000040) ? "Supported" : "Not supported"); + (sb-> + iop_capabilities & 0x00000040) ? "Supported" : + "Not supported"); seq_printf(seq, "Desired private memory size : %d kB\n", - c->status_block->desired_mem_size>>10); + sb->desired_mem_size >> 10); seq_printf(seq, "Allocated private memory size : %d kB\n", - c->status_block->current_mem_size>>10); + sb->current_mem_size >> 10); seq_printf(seq, "Private memory base address : %0#10x\n", - c->status_block->current_mem_base); + sb->current_mem_base); seq_printf(seq, "Desired private I/O size : %d kB\n", - c->status_block->desired_io_size>>10); + sb->desired_io_size >> 10); seq_printf(seq, "Allocated private I/O size : %d kB\n", - c->status_block->current_io_size>>10); + sb->current_io_size >> 10); seq_printf(seq, "Private I/O base address : %0#10x\n", - c->status_block->current_io_base); + sb->current_io_base); return 0; } -int i2o_proc_read_hw(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_hw(struct seq_file *seq, void *v) { - struct i2o_controller *c = (struct i2o_controller*)data; + struct i2o_controller *c = (struct i2o_controller *)seq->private; static u32 work32[5]; - static u8 *work8 = (u8*)work32; - static u16 *work16 = (u16*)work32; + static u8 *work8 = (u8 *) work32; + static u16 *work16 = (u16 *) work32; int token; u32 hwcap; - static char *cpu_table[] = - { + static char *cpu_table[] = { "Intel 80960 series", "AMD2900 series", "Motorola 68000 series", @@ -773,397 +738,350 @@ int i2o_proc_read_hw(char *buf, char **start, off_t offset, int len, "Intel x86 series" }; - spin_lock(&i2o_proc_lock); - - len = 0; - - token = i2o_query_scalar(c, ADAPTER_TID, 0x0000, -1, &work32, sizeof(work32)); + token = + i2o_parm_field_get(c->exec, 0x0000, -1, &work32, sizeof(work32)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0000 IOP Hardware"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, "0x0000 IOP Hardware"); + return 0; } - len += sprintf(buf+len, "I2O Vendor ID : %0#6x\n", work16[0]); - len += sprintf(buf+len, "Product ID : %0#6x\n", work16[1]); - len += sprintf(buf+len, "CPU : "); - if(work8[16] > 8) - len += sprintf(buf+len, "Unknown\n"); + seq_printf(seq, "I2O Vendor ID : %0#6x\n", work16[0]); + seq_printf(seq, "Product ID : %0#6x\n", work16[1]); + seq_printf(seq, "CPU : "); + if (work8[16] > 8) + seq_printf(seq, "Unknown\n"); else - len += sprintf(buf+len, "%s\n", cpu_table[work8[16]]); + seq_printf(seq, "%s\n", cpu_table[work8[16]]); /* Anyone using ProcessorVersion? */ - - len += sprintf(buf+len, "RAM : %dkB\n", work32[1]>>10); - len += sprintf(buf+len, "Non-Volatile Mem : %dkB\n", work32[2]>>10); + + seq_printf(seq, "RAM : %dkB\n", work32[1] >> 10); + seq_printf(seq, "Non-Volatile Mem : %dkB\n", work32[2] >> 10); hwcap = work32[3]; - len += sprintf(buf+len, "Capabilities : 0x%08x\n", hwcap); - len += sprintf(buf+len, " [%s] Self booting\n", - (hwcap&0x00000001) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Upgradable IRTOS\n", - (hwcap&0x00000002) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Supports downloading DDMs\n", - (hwcap&0x00000004) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Supports installing DDMs\n", - (hwcap&0x00000008) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Battery-backed RAM\n", - (hwcap&0x00000010) ? "+" : "-"); - - spin_unlock(&i2o_proc_lock); - - return len; -} + seq_printf(seq, "Capabilities : 0x%08x\n", hwcap); + seq_printf(seq, " [%s] Self booting\n", + (hwcap & 0x00000001) ? "+" : "-"); + seq_printf(seq, " [%s] Upgradable IRTOS\n", + (hwcap & 0x00000002) ? "+" : "-"); + seq_printf(seq, " [%s] Supports downloading DDMs\n", + (hwcap & 0x00000004) ? "+" : "-"); + seq_printf(seq, " [%s] Supports installing DDMs\n", + (hwcap & 0x00000008) ? "+" : "-"); + seq_printf(seq, " [%s] Battery-backed RAM\n", + (hwcap & 0x00000010) ? "+" : "-"); + return 0; +} /* Executive group 0003h - Executing DDM List (table) */ -int i2o_proc_read_ddm_table(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_ddm_table(struct seq_file *seq, void *v) { - struct i2o_controller *c = (struct i2o_controller*)data; + struct i2o_controller *c = (struct i2o_controller *)seq->private; int token; int i; typedef struct _i2o_exec_execute_ddm_table { u16 ddm_tid; - u8 module_type; - u8 reserved; + u8 module_type; + u8 reserved; u16 i2o_vendor_id; u16 module_id; - u8 module_name_version[28]; + u8 module_name_version[28]; u32 data_size; u32 code_size; } i2o_exec_execute_ddm_table; - struct - { + struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; - i2o_exec_execute_ddm_table ddm_table[MAX_I2O_MODULES]; + i2o_exec_execute_ddm_table ddm_table[I2O_MAX_MODULES]; } *result; i2o_exec_execute_ddm_table ddm_table; result = kmalloc(sizeof(*result), GFP_KERNEL); - if(!result) + if (!result) return -ENOMEM; - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - c, ADAPTER_TID, - 0x0003, -1, - NULL, 0, - result, sizeof(*result)); + token = i2o_parm_table_get(c->exec, I2O_PARAMS_TABLE_GET, 0x0003, -1, + NULL, 0, result, sizeof(*result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0003 Executing DDM List"); + i2o_report_query_status(seq, token, + "0x0003 Executing DDM List"); goto out; } - len += sprintf(buf+len, "Tid Module_type Vendor Mod_id Module_name Vrs Data_size Code_size\n"); - ddm_table=result->ddm_table[0]; + seq_printf(seq, + "Tid Module_type Vendor Mod_id Module_name Vrs Data_size Code_size\n"); + ddm_table = result->ddm_table[0]; - for(i=0; i < result->row_count; ddm_table=result->ddm_table[++i]) - { - len += sprintf(buf+len, "0x%03x ", ddm_table.ddm_tid & 0xFFF); + for (i = 0; i < result->row_count; ddm_table = result->ddm_table[++i]) { + seq_printf(seq, "0x%03x ", ddm_table.ddm_tid & 0xFFF); - switch(ddm_table.module_type) - { + switch (ddm_table.module_type) { case 0x01: - len += sprintf(buf+len, "Downloaded DDM "); - break; + seq_printf(seq, "Downloaded DDM "); + break; case 0x22: - len += sprintf(buf+len, "Embedded DDM "); + seq_printf(seq, "Embedded DDM "); break; default: - len += sprintf(buf+len, " "); + seq_printf(seq, " "); } - len += sprintf(buf+len, "%-#7x", ddm_table.i2o_vendor_id); - len += sprintf(buf+len, "%-#8x", ddm_table.module_id); - len += sprintf(buf+len, "%-29s", chtostr(ddm_table.module_name_version, 28)); - len += sprintf(buf+len, "%9d ", ddm_table.data_size); - len += sprintf(buf+len, "%8d", ddm_table.code_size); + seq_printf(seq, "%-#7x", ddm_table.i2o_vendor_id); + seq_printf(seq, "%-#8x", ddm_table.module_id); + seq_printf(seq, "%-29s", + chtostr(ddm_table.module_name_version, 28)); + seq_printf(seq, "%9d ", ddm_table.data_size); + seq_printf(seq, "%8d", ddm_table.code_size); - len += sprintf(buf+len, "\n"); + seq_printf(seq, "\n"); } -out: - spin_unlock(&i2o_proc_lock); + out: kfree(result); - return len; + return 0; } - /* Executive group 0004h - Driver Store (scalar) */ -int i2o_proc_read_driver_store(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_driver_store(struct seq_file *seq, void *v) { - struct i2o_controller *c = (struct i2o_controller*)data; + struct i2o_controller *c = (struct i2o_controller *)seq->private; u32 work32[8]; int token; - spin_lock(&i2o_proc_lock); - - len = 0; - - token = i2o_query_scalar(c, ADAPTER_TID, 0x0004, -1, &work32, sizeof(work32)); + token = + i2o_parm_field_get(c->exec, 0x0004, -1, &work32, sizeof(work32)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0004 Driver Store"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, "0x0004 Driver Store"); + return 0; } - len += sprintf(buf+len, "Module limit : %d\n" - "Module count : %d\n" - "Current space : %d kB\n" - "Free space : %d kB\n", - work32[0], work32[1], work32[2]>>10, work32[3]>>10); - - spin_unlock(&i2o_proc_lock); + seq_printf(seq, "Module limit : %d\n" + "Module count : %d\n" + "Current space : %d kB\n" + "Free space : %d kB\n", + work32[0], work32[1], work32[2] >> 10, work32[3] >> 10); - return len; + return 0; } - /* Executive group 0005h - Driver Store Table (table) */ -int i2o_proc_read_drivers_stored(char *buf, char **start, off_t offset, - int len, int *eof, void *data) +int i2o_seq_show_drivers_stored(struct seq_file *seq, void *v) { typedef struct _i2o_driver_store { u16 stored_ddm_index; - u8 module_type; - u8 reserved; + u8 module_type; + u8 reserved; u16 i2o_vendor_id; u16 module_id; - u8 module_name_version[28]; - u8 date[8]; + u8 module_name_version[28]; + u8 date[8]; u32 module_size; u32 mpb_size; u32 module_flags; } i2o_driver_store_table; - struct i2o_controller *c = (struct i2o_controller*)data; + struct i2o_controller *c = (struct i2o_controller *)seq->private; int token; int i; - typedef struct - { + typedef struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; - i2o_driver_store_table dst[MAX_I2O_MODULES]; + i2o_driver_store_table dst[I2O_MAX_MODULES]; } i2o_driver_result_table; - + i2o_driver_result_table *result; i2o_driver_store_table *dst; - - len = 0; - result = kmalloc(sizeof(i2o_driver_result_table), GFP_KERNEL); - if(result == NULL) + if (result == NULL) return -ENOMEM; - spin_lock(&i2o_proc_lock); - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - c, ADAPTER_TID, 0x0005, -1, NULL, 0, - result, sizeof(*result)); + token = i2o_parm_table_get(c->exec, I2O_PARAMS_TABLE_GET, 0x0005, -1, + NULL, 0, result, sizeof(*result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0005 DRIVER STORE TABLE"); - spin_unlock(&i2o_proc_lock); + i2o_report_query_status(seq, token, + "0x0005 DRIVER STORE TABLE"); kfree(result); - return len; + return 0; } - len += sprintf(buf+len, "# Module_type Vendor Mod_id Module_name Vrs" - "Date Mod_size Par_size Flags\n"); - for(i=0, dst=&result->dst[0]; i < result->row_count; dst=&result->dst[++i]) - { - len += sprintf(buf+len, "%-3d", dst->stored_ddm_index); - switch(dst->module_type) - { + seq_printf(seq, + "# Module_type Vendor Mod_id Module_name Vrs" + "Date Mod_size Par_size Flags\n"); + for (i = 0, dst = &result->dst[0]; i < result->row_count; + dst = &result->dst[++i]) { + seq_printf(seq, "%-3d", dst->stored_ddm_index); + switch (dst->module_type) { case 0x01: - len += sprintf(buf+len, "Downloaded DDM "); - break; + seq_printf(seq, "Downloaded DDM "); + break; case 0x22: - len += sprintf(buf+len, "Embedded DDM "); + seq_printf(seq, "Embedded DDM "); break; default: - len += sprintf(buf+len, " "); + seq_printf(seq, " "); } #if 0 - if(c->i2oversion == 0x02) - len += sprintf(buf+len, "%-d", dst->module_state); + if (c->i2oversion == 0x02) + seq_printf(seq, "%-d", dst->module_state); #endif - len += sprintf(buf+len, "%-#7x", dst->i2o_vendor_id); - len += sprintf(buf+len, "%-#8x", dst->module_id); - len += sprintf(buf+len, "%-29s", chtostr(dst->module_name_version,28)); - len += sprintf(buf+len, "%-9s", chtostr(dst->date,8)); - len += sprintf(buf+len, "%8d ", dst->module_size); - len += sprintf(buf+len, "%8d ", dst->mpb_size); - len += sprintf(buf+len, "0x%04x", dst->module_flags); + seq_printf(seq, "%-#7x", dst->i2o_vendor_id); + seq_printf(seq, "%-#8x", dst->module_id); + seq_printf(seq, "%-29s", chtostr(dst->module_name_version, 28)); + seq_printf(seq, "%-9s", chtostr(dst->date, 8)); + seq_printf(seq, "%8d ", dst->module_size); + seq_printf(seq, "%8d ", dst->mpb_size); + seq_printf(seq, "0x%04x", dst->module_flags); #if 0 - if(c->i2oversion == 0x02) - len += sprintf(buf+len, "%d", - dst->notification_level); + if (c->i2oversion == 0x02) + seq_printf(seq, "%d", dst->notification_level); #endif - len += sprintf(buf+len, "\n"); + seq_printf(seq, "\n"); } - spin_unlock(&i2o_proc_lock); kfree(result); - return len; + return 0; } - /* Generic group F000h - Params Descriptor (table) */ -int i2o_proc_read_groups(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_groups(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; int i; u8 properties; - typedef struct _i2o_group_info - { + typedef struct _i2o_group_info { u16 group_number; u16 field_count; u16 row_count; - u8 properties; - u8 reserved; + u8 properties; + u8 reserved; } i2o_group_info; - struct - { + struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; i2o_group_info group[256]; } *result; result = kmalloc(sizeof(*result), GFP_KERNEL); - if(!result) + if (!result) return -ENOMEM; - spin_lock(&i2o_proc_lock); - - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, 0xF000, -1, NULL, 0, - result, sizeof(*result)); + token = i2o_parm_table_get(d, I2O_PARAMS_TABLE_GET, 0xF000, -1, NULL, 0, + result, sizeof(*result)); if (token < 0) { - len = i2o_report_query_status(buf+len, token, "0xF000 Params Descriptor"); + i2o_report_query_status(seq, token, "0xF000 Params Descriptor"); goto out; } - len += sprintf(buf+len, "# Group FieldCount RowCount Type Add Del Clear\n"); + seq_printf(seq, + "# Group FieldCount RowCount Type Add Del Clear\n"); - for (i=0; i < result->row_count; i++) - { - len += sprintf(buf+len, "%-3d", i); - len += sprintf(buf+len, "0x%04X ", result->group[i].group_number); - len += sprintf(buf+len, "%10d ", result->group[i].field_count); - len += sprintf(buf+len, "%8d ", result->group[i].row_count); + for (i = 0; i < result->row_count; i++) { + seq_printf(seq, "%-3d", i); + seq_printf(seq, "0x%04X ", result->group[i].group_number); + seq_printf(seq, "%10d ", result->group[i].field_count); + seq_printf(seq, "%8d ", result->group[i].row_count); properties = result->group[i].properties; - if (properties & 0x1) len += sprintf(buf+len, "Table "); - else len += sprintf(buf+len, "Scalar "); - if (properties & 0x2) len += sprintf(buf+len, " + "); - else len += sprintf(buf+len, " - "); - if (properties & 0x4) len += sprintf(buf+len, " + "); - else len += sprintf(buf+len, " - "); - if (properties & 0x8) len += sprintf(buf+len, " + "); - else len += sprintf(buf+len, " - "); - - len += sprintf(buf+len, "\n"); + if (properties & 0x1) + seq_printf(seq, "Table "); + else + seq_printf(seq, "Scalar "); + if (properties & 0x2) + seq_printf(seq, " + "); + else + seq_printf(seq, " - "); + if (properties & 0x4) + seq_printf(seq, " + "); + else + seq_printf(seq, " - "); + if (properties & 0x8) + seq_printf(seq, " + "); + else + seq_printf(seq, " - "); + + seq_printf(seq, "\n"); } if (result->more_flag) - len += sprintf(buf+len, "There is more...\n"); -out: - spin_unlock(&i2o_proc_lock); + seq_printf(seq, "There is more...\n"); + out: kfree(result); - return len; + return 0; } - /* Generic group F001h - Physical Device Table (table) */ -int i2o_proc_read_phys_device(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_phys_device(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; int i; - struct - { + struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; u32 adapter_id[64]; } result; - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, - 0xF001, -1, NULL, 0, - &result, sizeof(result)); + token = i2o_parm_table_get(d, I2O_PARAMS_TABLE_GET, 0xF001, -1, NULL, 0, + &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF001 Physical Device Table"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, + "0xF001 Physical Device Table"); + return 0; } if (result.row_count) - len += sprintf(buf+len, "# AdapterId\n"); + seq_printf(seq, "# AdapterId\n"); - for (i=0; i < result.row_count; i++) - { - len += sprintf(buf+len, "%-2d", i); - len += sprintf(buf+len, "%#7x\n", result.adapter_id[i]); + for (i = 0; i < result.row_count; i++) { + seq_printf(seq, "%-2d", i); + seq_printf(seq, "%#7x\n", result.adapter_id[i]); } if (result.more_flag) - len += sprintf(buf+len, "There is more...\n"); + seq_printf(seq, "There is more...\n"); - spin_unlock(&i2o_proc_lock); - return len; + return 0; } /* Generic group F002h - Claimed Table (table) */ -int i2o_proc_read_claimed(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_claimed(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; int i; @@ -1171,434 +1089,356 @@ int i2o_proc_read_claimed(char *buf, char **start, off_t offset, int len, u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; u16 claimed_tid[64]; } result; - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, - 0xF002, -1, NULL, 0, - &result, sizeof(result)); + token = i2o_parm_table_get(d, I2O_PARAMS_TABLE_GET, 0xF002, -1, NULL, 0, + &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF002 Claimed Table"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, "0xF002 Claimed Table"); + return 0; } if (result.row_count) - len += sprintf(buf+len, "# ClaimedTid\n"); + seq_printf(seq, "# ClaimedTid\n"); - for (i=0; i < result.row_count; i++) - { - len += sprintf(buf+len, "%-2d", i); - len += sprintf(buf+len, "%#7x\n", result.claimed_tid[i]); + for (i = 0; i < result.row_count; i++) { + seq_printf(seq, "%-2d", i); + seq_printf(seq, "%#7x\n", result.claimed_tid[i]); } if (result.more_flag) - len += sprintf(buf+len, "There is more...\n"); + seq_printf(seq, "There is more...\n"); - spin_unlock(&i2o_proc_lock); - return len; + return 0; } /* Generic group F003h - User Table (table) */ -int i2o_proc_read_users(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_users(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; int i; - typedef struct _i2o_user_table - { + typedef struct _i2o_user_table { u16 instance; u16 user_tid; u8 claim_type; - u8 reserved1; - u16 reserved2; + u8 reserved1; + u16 reserved2; } i2o_user_table; - struct - { + struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; i2o_user_table user[64]; } *result; result = kmalloc(sizeof(*result), GFP_KERNEL); - if(!result) + if (!result) return -ENOMEM; - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, - 0xF003, -1, NULL, 0, - result, sizeof(*result)); + token = i2o_parm_table_get(d, I2O_PARAMS_TABLE_GET, 0xF003, -1, NULL, 0, + result, sizeof(*result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF003 User Table"); + i2o_report_query_status(seq, token, "0xF003 User Table"); goto out; } - len += sprintf(buf+len, "# Instance UserTid ClaimType\n"); + seq_printf(seq, "# Instance UserTid ClaimType\n"); - for(i=0; i < result->row_count; i++) - { - len += sprintf(buf+len, "%-3d", i); - len += sprintf(buf+len, "%#8x ", result->user[i].instance); - len += sprintf(buf+len, "%#7x ", result->user[i].user_tid); - len += sprintf(buf+len, "%#9x\n", result->user[i].claim_type); + for (i = 0; i < result->row_count; i++) { + seq_printf(seq, "%-3d", i); + seq_printf(seq, "%#8x ", result->user[i].instance); + seq_printf(seq, "%#7x ", result->user[i].user_tid); + seq_printf(seq, "%#9x\n", result->user[i].claim_type); } if (result->more_flag) - len += sprintf(buf+len, "There is more...\n"); -out: - spin_unlock(&i2o_proc_lock); + seq_printf(seq, "There is more...\n"); + out: kfree(result); - return len; + return 0; } /* Generic group F005h - Private message extensions (table) (optional) */ -int i2o_proc_read_priv_msgs(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_priv_msgs(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; int i; - typedef struct _i2o_private - { + typedef struct _i2o_private { u16 ext_instance; u16 organization_id; u16 x_function_code; } i2o_private; - struct - { + struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; i2o_private extension[64]; } result; - spin_lock(&i2o_proc_lock); - - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, - 0xF000, -1, - NULL, 0, - &result, sizeof(result)); + token = i2o_parm_table_get(d, I2O_PARAMS_TABLE_GET, 0xF000, -1, NULL, 0, + &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF005 Private Message Extensions (optional)"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, + "0xF005 Private Message Extensions (optional)"); + return 0; } - - len += sprintf(buf+len, "Instance# OrgId FunctionCode\n"); - for(i=0; i < result.row_count; i++) - { - len += sprintf(buf+len, "%0#9x ", result.extension[i].ext_instance); - len += sprintf(buf+len, "%0#6x ", result.extension[i].organization_id); - len += sprintf(buf+len, "%0#6x", result.extension[i].x_function_code); + seq_printf(seq, "Instance# OrgId FunctionCode\n"); - len += sprintf(buf+len, "\n"); - } + for (i = 0; i < result.row_count; i++) { + seq_printf(seq, "%0#9x ", result.extension[i].ext_instance); + seq_printf(seq, "%0#6x ", result.extension[i].organization_id); + seq_printf(seq, "%0#6x", result.extension[i].x_function_code); - if(result.more_flag) - len += sprintf(buf+len, "There is more...\n"); + seq_printf(seq, "\n"); + } - spin_unlock(&i2o_proc_lock); + if (result.more_flag) + seq_printf(seq, "There is more...\n"); - return len; + return 0; } - /* Generic group F006h - Authorized User Table (table) */ -int i2o_proc_read_authorized_users(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_authorized_users(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; int i; - struct - { + struct { u16 result_count; u16 pad; u16 block_size; - u8 block_status; - u8 error_info_size; + u8 block_status; + u8 error_info_size; u16 row_count; u16 more_flag; u32 alternate_tid[64]; } result; - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, - 0xF006, -1, - NULL, 0, - &result, sizeof(result)); + token = i2o_parm_table_get(d, I2O_PARAMS_TABLE_GET, 0xF006, -1, NULL, 0, + &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF006 Autohorized User Table"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, + "0xF006 Autohorized User Table"); + return 0; } if (result.row_count) - len += sprintf(buf+len, "# AlternateTid\n"); + seq_printf(seq, "# AlternateTid\n"); - for(i=0; i < result.row_count; i++) - { - len += sprintf(buf+len, "%-2d", i); - len += sprintf(buf+len, "%#7x ", result.alternate_tid[i]); + for (i = 0; i < result.row_count; i++) { + seq_printf(seq, "%-2d", i); + seq_printf(seq, "%#7x ", result.alternate_tid[i]); } if (result.more_flag) - len += sprintf(buf+len, "There is more...\n"); + seq_printf(seq, "There is more...\n"); - spin_unlock(&i2o_proc_lock); - return len; + return 0; } - /* Generic group F100h - Device Identity (scalar) */ -int i2o_proc_read_dev_identity(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_dev_identity(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[128]; // allow for "stuff" + up to 256 byte (max) serial number - // == (allow) 512d bytes (max) - static u16 *work16 = (u16*)work32; + struct i2o_device *d = (struct i2o_device *)seq->private; + static u32 work32[128]; // allow for "stuff" + up to 256 byte (max) serial number + // == (allow) 512d bytes (max) + static u16 *work16 = (u16 *) work32; int token; - spin_lock(&i2o_proc_lock); - - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0xF100, -1, - &work32, sizeof(work32)); + token = i2o_parm_field_get(d, 0xF100, -1, &work32, sizeof(work32)); if (token < 0) { - len += i2o_report_query_status(buf+len, token ,"0xF100 Device Identity"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, "0xF100 Device Identity"); + return 0; } - - len += sprintf(buf, "Device Class : %s\n", i2o_get_class_name(work16[0])); - len += sprintf(buf+len, "Owner TID : %0#5x\n", work16[2]); - len += sprintf(buf+len, "Parent TID : %0#5x\n", work16[3]); - len += sprintf(buf+len, "Vendor info : %s\n", chtostr((u8 *)(work32+2), 16)); - len += sprintf(buf+len, "Product info : %s\n", chtostr((u8 *)(work32+6), 16)); - len += sprintf(buf+len, "Description : %s\n", chtostr((u8 *)(work32+10), 16)); - len += sprintf(buf+len, "Product rev. : %s\n", chtostr((u8 *)(work32+14), 8)); - - len += sprintf(buf+len, "Serial number : "); - len = print_serial_number(buf, len, - (u8*)(work32+16), - /* allow for SNLen plus - * possible trailing '\0' - */ - sizeof(work32)-(16*sizeof(u32))-2 - ); - len += sprintf(buf+len, "\n"); - - spin_unlock(&i2o_proc_lock); - - return len; -} + seq_printf(seq, "Device Class : %s\n", i2o_get_class_name(work16[0])); + seq_printf(seq, "Owner TID : %0#5x\n", work16[2]); + seq_printf(seq, "Parent TID : %0#5x\n", work16[3]); + seq_printf(seq, "Vendor info : %s\n", + chtostr((u8 *) (work32 + 2), 16)); + seq_printf(seq, "Product info : %s\n", + chtostr((u8 *) (work32 + 6), 16)); + seq_printf(seq, "Description : %s\n", + chtostr((u8 *) (work32 + 10), 16)); + seq_printf(seq, "Product rev. : %s\n", + chtostr((u8 *) (work32 + 14), 8)); + + seq_printf(seq, "Serial number : "); + print_serial_number(seq, (u8 *) (work32 + 16), + /* allow for SNLen plus + * possible trailing '\0' + */ + sizeof(work32) - (16 * sizeof(u32)) - 2); + seq_printf(seq, "\n"); -int i2o_proc_read_dev_name(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; + return 0; +} - if ( d->dev_name[0] == '\0' ) - return 0; +int i2o_seq_show_dev_name(struct seq_file *seq, void *v) +{ + struct i2o_device *d = (struct i2o_device *)seq->private; - len = sprintf(buf, "%s\n", d->dev_name); + seq_printf(seq, "%s\n", d->device.bus_id); - return len; + return 0; } - /* Generic group F101h - DDM Identity (scalar) */ -int i2o_proc_read_ddm_identity(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_ddm_identity(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; - struct - { + struct { u16 ddm_tid; u8 module_name[24]; u8 module_rev[8]; u8 sn_format; u8 serial_number[12]; - u8 pad[256]; // allow up to 256 byte (max) serial number - } result; - - spin_lock(&i2o_proc_lock); - - len = 0; + u8 pad[256]; // allow up to 256 byte (max) serial number + } result; - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0xF101, -1, - &result, sizeof(result)); + token = i2o_parm_field_get(d, 0xF101, -1, &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF101 DDM Identity"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, "0xF101 DDM Identity"); + return 0; } - len += sprintf(buf, "Registering DDM TID : 0x%03x\n", result.ddm_tid); - len += sprintf(buf+len, "Module name : %s\n", chtostr(result.module_name, 24)); - len += sprintf(buf+len, "Module revision : %s\n", chtostr(result.module_rev, 8)); + seq_printf(seq, "Registering DDM TID : 0x%03x\n", result.ddm_tid); + seq_printf(seq, "Module name : %s\n", + chtostr(result.module_name, 24)); + seq_printf(seq, "Module revision : %s\n", + chtostr(result.module_rev, 8)); - len += sprintf(buf+len, "Serial number : "); - len = print_serial_number(buf, len, result.serial_number, sizeof(result)-36); - /* allow for SNLen plus possible trailing '\0' */ + seq_printf(seq, "Serial number : "); + print_serial_number(seq, result.serial_number, sizeof(result) - 36); + /* allow for SNLen plus possible trailing '\0' */ - len += sprintf(buf+len, "\n"); + seq_printf(seq, "\n"); - spin_unlock(&i2o_proc_lock); - - return len; + return 0; } /* Generic group F102h - User Information (scalar) */ -int i2o_proc_read_uinfo(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_uinfo(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; - struct - { + struct { u8 device_name[64]; u8 service_name[64]; u8 physical_location[64]; u8 instance_number[4]; } result; - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0xF102, -1, - &result, sizeof(result)); + token = i2o_parm_field_get(d, 0xF102, -1, &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF102 User Information"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, "0xF102 User Information"); + return 0; } - len += sprintf(buf, "Device name : %s\n", chtostr(result.device_name, 64)); - len += sprintf(buf+len, "Service name : %s\n", chtostr(result.service_name, 64)); - len += sprintf(buf+len, "Physical name : %s\n", chtostr(result.physical_location, 64)); - len += sprintf(buf+len, "Instance number : %s\n", chtostr(result.instance_number, 4)); + seq_printf(seq, "Device name : %s\n", + chtostr(result.device_name, 64)); + seq_printf(seq, "Service name : %s\n", + chtostr(result.service_name, 64)); + seq_printf(seq, "Physical name : %s\n", + chtostr(result.physical_location, 64)); + seq_printf(seq, "Instance number : %s\n", + chtostr(result.instance_number, 4)); - spin_unlock(&i2o_proc_lock); - return len; + return 0; } /* Generic group F103h - SGL Operating Limits (scalar) */ -int i2o_proc_read_sgl_limits(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_sgl_limits(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; static u32 work32[12]; - static u16 *work16 = (u16 *)work32; - static u8 *work8 = (u8 *)work32; + static u16 *work16 = (u16 *) work32; + static u8 *work8 = (u8 *) work32; int token; - spin_lock(&i2o_proc_lock); - - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0xF103, -1, - &work32, sizeof(work32)); + token = i2o_parm_field_get(d, 0xF103, -1, &work32, sizeof(work32)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF103 SGL Operating Limits"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, + "0xF103 SGL Operating Limits"); + return 0; } - len += sprintf(buf, "SGL chain size : %d\n", work32[0]); - len += sprintf(buf+len, "Max SGL chain size : %d\n", work32[1]); - len += sprintf(buf+len, "SGL chain size target : %d\n", work32[2]); - len += sprintf(buf+len, "SGL frag count : %d\n", work16[6]); - len += sprintf(buf+len, "Max SGL frag count : %d\n", work16[7]); - len += sprintf(buf+len, "SGL frag count target : %d\n", work16[8]); + seq_printf(seq, "SGL chain size : %d\n", work32[0]); + seq_printf(seq, "Max SGL chain size : %d\n", work32[1]); + seq_printf(seq, "SGL chain size target : %d\n", work32[2]); + seq_printf(seq, "SGL frag count : %d\n", work16[6]); + seq_printf(seq, "Max SGL frag count : %d\n", work16[7]); + seq_printf(seq, "SGL frag count target : %d\n", work16[8]); +/* FIXME if (d->i2oversion == 0x02) { - len += sprintf(buf+len, "SGL data alignment : %d\n", work16[8]); - len += sprintf(buf+len, "SGL addr limit : %d\n", work8[20]); - len += sprintf(buf+len, "SGL addr sizes supported : "); - if (work8[21] & 0x01) - len += sprintf(buf+len, "32 bit "); - if (work8[21] & 0x02) - len += sprintf(buf+len, "64 bit "); - if (work8[21] & 0x04) - len += sprintf(buf+len, "96 bit "); - if (work8[21] & 0x08) - len += sprintf(buf+len, "128 bit "); - len += sprintf(buf+len, "\n"); +*/ + seq_printf(seq, "SGL data alignment : %d\n", work16[8]); + seq_printf(seq, "SGL addr limit : %d\n", work8[20]); + seq_printf(seq, "SGL addr sizes supported : "); + if (work8[21] & 0x01) + seq_printf(seq, "32 bit "); + if (work8[21] & 0x02) + seq_printf(seq, "64 bit "); + if (work8[21] & 0x04) + seq_printf(seq, "96 bit "); + if (work8[21] & 0x08) + seq_printf(seq, "128 bit "); + seq_printf(seq, "\n"); +/* } +*/ - spin_unlock(&i2o_proc_lock); - - return len; + return 0; } /* Generic group F200h - Sensors (scalar) */ -int i2o_proc_read_sensors(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +int i2o_seq_show_sensors(struct seq_file *seq, void *v) { - struct i2o_device *d = (struct i2o_device*)data; + struct i2o_device *d = (struct i2o_device *)seq->private; int token; - struct - { + struct { u16 sensor_instance; - u8 component; + u8 component; u16 component_instance; - u8 sensor_class; - u8 sensor_type; - u8 scaling_exponent; + u8 sensor_class; + u8 sensor_type; + u8 scaling_exponent; u32 actual_reading; u32 minimum_reading; u32 low2lowcat_treshold; @@ -1615,1795 +1455,663 @@ int i2o_proc_read_sensors(char *buf, char **start, off_t offset, int len, u32 hicat2high_treshold; u32 hi2hicat_treshold; u32 maximum_reading; - u8 sensor_state; + u8 sensor_state; u16 event_enable; } result; - - spin_lock(&i2o_proc_lock); - len = 0; - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0xF200, -1, - &result, sizeof(result)); + token = i2o_parm_field_get(d, 0xF200, -1, &result, sizeof(result)); if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0xF200 Sensors (optional)"); - spin_unlock(&i2o_proc_lock); - return len; + i2o_report_query_status(seq, token, + "0xF200 Sensors (optional)"); + return 0; } - - len += sprintf(buf+len, "Sensor instance : %d\n", result.sensor_instance); - len += sprintf(buf+len, "Component : %d = ", result.component); - switch (result.component) - { - case 0: len += sprintf(buf+len, "Other"); + seq_printf(seq, "Sensor instance : %d\n", result.sensor_instance); + + seq_printf(seq, "Component : %d = ", result.component); + switch (result.component) { + case 0: + seq_printf(seq, "Other"); break; - case 1: len += sprintf(buf+len, "Planar logic Board"); + case 1: + seq_printf(seq, "Planar logic Board"); break; - case 2: len += sprintf(buf+len, "CPU"); + case 2: + seq_printf(seq, "CPU"); break; - case 3: len += sprintf(buf+len, "Chassis"); + case 3: + seq_printf(seq, "Chassis"); break; - case 4: len += sprintf(buf+len, "Power Supply"); + case 4: + seq_printf(seq, "Power Supply"); break; - case 5: len += sprintf(buf+len, "Storage"); + case 5: + seq_printf(seq, "Storage"); break; - case 6: len += sprintf(buf+len, "External"); + case 6: + seq_printf(seq, "External"); break; - } - len += sprintf(buf+len,"\n"); + } + seq_printf(seq, "\n"); - len += sprintf(buf+len, "Component instance : %d\n", result.component_instance); - len += sprintf(buf+len, "Sensor class : %s\n", - result.sensor_class ? "Analog" : "Digital"); - - len += sprintf(buf+len, "Sensor type : %d = ",result.sensor_type); - switch (result.sensor_type) - { - case 0: len += sprintf(buf+len, "Other\n"); + seq_printf(seq, "Component instance : %d\n", + result.component_instance); + seq_printf(seq, "Sensor class : %s\n", + result.sensor_class ? "Analog" : "Digital"); + + seq_printf(seq, "Sensor type : %d = ", result.sensor_type); + switch (result.sensor_type) { + case 0: + seq_printf(seq, "Other\n"); break; - case 1: len += sprintf(buf+len, "Thermal\n"); + case 1: + seq_printf(seq, "Thermal\n"); break; - case 2: len += sprintf(buf+len, "DC voltage (DC volts)\n"); + case 2: + seq_printf(seq, "DC voltage (DC volts)\n"); break; - case 3: len += sprintf(buf+len, "AC voltage (AC volts)\n"); + case 3: + seq_printf(seq, "AC voltage (AC volts)\n"); break; - case 4: len += sprintf(buf+len, "DC current (DC amps)\n"); + case 4: + seq_printf(seq, "DC current (DC amps)\n"); break; - case 5: len += sprintf(buf+len, "AC current (AC volts)\n"); + case 5: + seq_printf(seq, "AC current (AC volts)\n"); break; - case 6: len += sprintf(buf+len, "Door open\n"); + case 6: + seq_printf(seq, "Door open\n"); break; - case 7: len += sprintf(buf+len, "Fan operational\n"); + case 7: + seq_printf(seq, "Fan operational\n"); break; - } + } - len += sprintf(buf+len, "Scaling exponent : %d\n", result.scaling_exponent); - len += sprintf(buf+len, "Actual reading : %d\n", result.actual_reading); - len += sprintf(buf+len, "Minimum reading : %d\n", result.minimum_reading); - len += sprintf(buf+len, "Low2LowCat treshold : %d\n", result.low2lowcat_treshold); - len += sprintf(buf+len, "LowCat2Low treshold : %d\n", result.lowcat2low_treshold); - len += sprintf(buf+len, "LowWarn2Low treshold : %d\n", result.lowwarn2low_treshold); - len += sprintf(buf+len, "Low2LowWarn treshold : %d\n", result.low2lowwarn_treshold); - len += sprintf(buf+len, "Norm2LowWarn treshold : %d\n", result.norm2lowwarn_treshold); - len += sprintf(buf+len, "LowWarn2Norm treshold : %d\n", result.lowwarn2norm_treshold); - len += sprintf(buf+len, "Nominal reading : %d\n", result.nominal_reading); - len += sprintf(buf+len, "HiWarn2Norm treshold : %d\n", result.hiwarn2norm_treshold); - len += sprintf(buf+len, "Norm2HiWarn treshold : %d\n", result.norm2hiwarn_treshold); - len += sprintf(buf+len, "High2HiWarn treshold : %d\n", result.high2hiwarn_treshold); - len += sprintf(buf+len, "HiWarn2High treshold : %d\n", result.hiwarn2high_treshold); - len += sprintf(buf+len, "HiCat2High treshold : %d\n", result.hicat2high_treshold); - len += sprintf(buf+len, "High2HiCat treshold : %d\n", result.hi2hicat_treshold); - len += sprintf(buf+len, "Maximum reading : %d\n", result.maximum_reading); + seq_printf(seq, "Scaling exponent : %d\n", + result.scaling_exponent); + seq_printf(seq, "Actual reading : %d\n", result.actual_reading); + seq_printf(seq, "Minimum reading : %d\n", result.minimum_reading); + seq_printf(seq, "Low2LowCat treshold : %d\n", + result.low2lowcat_treshold); + seq_printf(seq, "LowCat2Low treshold : %d\n", + result.lowcat2low_treshold); + seq_printf(seq, "LowWarn2Low treshold : %d\n", + result.lowwarn2low_treshold); + seq_printf(seq, "Low2LowWarn treshold : %d\n", + result.low2lowwarn_treshold); + seq_printf(seq, "Norm2LowWarn treshold : %d\n", + result.norm2lowwarn_treshold); + seq_printf(seq, "LowWarn2Norm treshold : %d\n", + result.lowwarn2norm_treshold); + seq_printf(seq, "Nominal reading : %d\n", result.nominal_reading); + seq_printf(seq, "HiWarn2Norm treshold : %d\n", + result.hiwarn2norm_treshold); + seq_printf(seq, "Norm2HiWarn treshold : %d\n", + result.norm2hiwarn_treshold); + seq_printf(seq, "High2HiWarn treshold : %d\n", + result.high2hiwarn_treshold); + seq_printf(seq, "HiWarn2High treshold : %d\n", + result.hiwarn2high_treshold); + seq_printf(seq, "HiCat2High treshold : %d\n", + result.hicat2high_treshold); + seq_printf(seq, "High2HiCat treshold : %d\n", + result.hi2hicat_treshold); + seq_printf(seq, "Maximum reading : %d\n", result.maximum_reading); - len += sprintf(buf+len, "Sensor state : %d = ", result.sensor_state); - switch (result.sensor_state) - { - case 0: len += sprintf(buf+len, "Normal\n"); - break; - case 1: len += sprintf(buf+len, "Abnormal\n"); - break; - case 2: len += sprintf(buf+len, "Unknown\n"); - break; - case 3: len += sprintf(buf+len, "Low Catastrophic (LoCat)\n"); - break; - case 4: len += sprintf(buf+len, "Low (Low)\n"); - break; - case 5: len += sprintf(buf+len, "Low Warning (LoWarn)\n"); - break; - case 6: len += sprintf(buf+len, "High Warning (HiWarn)\n"); - break; - case 7: len += sprintf(buf+len, "High (High)\n"); - break; - case 8: len += sprintf(buf+len, "High Catastrophic (HiCat)\n"); - break; - } - - len += sprintf(buf+len, "Event_enable : 0x%02X\n", result.event_enable); - len += sprintf(buf+len, " [%s] Operational state change. \n", - (result.event_enable & 0x01) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] Low catastrophic. \n", - (result.event_enable & 0x02) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] Low reading. \n", - (result.event_enable & 0x04) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] Low warning. \n", - (result.event_enable & 0x08) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] Change back to normal from out of range state. \n", - (result.event_enable & 0x10) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] High warning. \n", - (result.event_enable & 0x20) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] High reading. \n", - (result.event_enable & 0x40) ? "+" : "-" ); - len += sprintf(buf+len, " [%s] High catastrophic. \n", - (result.event_enable & 0x80) ? "+" : "-" ); - - spin_unlock(&i2o_proc_lock); - return len; + seq_printf(seq, "Sensor state : %d = ", result.sensor_state); + switch (result.sensor_state) { + case 0: + seq_printf(seq, "Normal\n"); + break; + case 1: + seq_printf(seq, "Abnormal\n"); + break; + case 2: + seq_printf(seq, "Unknown\n"); + break; + case 3: + seq_printf(seq, "Low Catastrophic (LoCat)\n"); + break; + case 4: + seq_printf(seq, "Low (Low)\n"); + break; + case 5: + seq_printf(seq, "Low Warning (LoWarn)\n"); + break; + case 6: + seq_printf(seq, "High Warning (HiWarn)\n"); + break; + case 7: + seq_printf(seq, "High (High)\n"); + break; + case 8: + seq_printf(seq, "High Catastrophic (HiCat)\n"); + break; + } + + seq_printf(seq, "Event_enable : 0x%02X\n", result.event_enable); + seq_printf(seq, " [%s] Operational state change. \n", + (result.event_enable & 0x01) ? "+" : "-"); + seq_printf(seq, " [%s] Low catastrophic. \n", + (result.event_enable & 0x02) ? "+" : "-"); + seq_printf(seq, " [%s] Low reading. \n", + (result.event_enable & 0x04) ? "+" : "-"); + seq_printf(seq, " [%s] Low warning. \n", + (result.event_enable & 0x08) ? "+" : "-"); + seq_printf(seq, + " [%s] Change back to normal from out of range state. \n", + (result.event_enable & 0x10) ? "+" : "-"); + seq_printf(seq, " [%s] High warning. \n", + (result.event_enable & 0x20) ? "+" : "-"); + seq_printf(seq, " [%s] High reading. \n", + (result.event_enable & 0x40) ? "+" : "-"); + seq_printf(seq, " [%s] High catastrophic. \n", + (result.event_enable & 0x80) ? "+" : "-"); + + return 0; } +static int i2o_seq_open_hrt(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_hrt, PDE(inode)->data); +}; -static int print_serial_number(char *buff, int pos, u8 *serialno, int max_len) +static int i2o_seq_open_lct(struct inode *inode, struct file *file) { - int i; + return single_open(file, i2o_seq_show_lct, PDE(inode)->data); +}; - /* 19990419 -sralston - * The I2O v1.5 (and v2.0 so far) "official specification" - * got serial numbers WRONG! - * Apparently, and despite what Section 3.4.4 says and - * Figure 3-35 shows (pg 3-39 in the pdf doc), - * the convention / consensus seems to be: - * + First byte is SNFormat - * + Second byte is SNLen (but only if SNFormat==7 (?)) - * + (v2.0) SCSI+BS may use IEEE Registered (64 or 128 bit) format - */ - switch(serialno[0]) - { - case I2O_SNFORMAT_BINARY: /* Binary */ - pos += sprintf(buff+pos, "0x"); - for(i = 0; i < serialno[1]; i++) - { - pos += sprintf(buff+pos, "%02X", serialno[2+i]); - } - break; - - case I2O_SNFORMAT_ASCII: /* ASCII */ - if ( serialno[1] < ' ' ) /* printable or SNLen? */ - { - /* sanity */ - max_len = (max_len < serialno[1]) ? max_len : serialno[1]; - serialno[1+max_len] = '\0'; - - /* just print it */ - pos += sprintf(buff+pos, "%s", &serialno[2]); - } - else - { - /* print chars for specified length */ - for(i = 0; i < serialno[1]; i++) - { - pos += sprintf(buff+pos, "%c", serialno[2+i]); - } - } - break; +static int i2o_seq_open_status(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_status, PDE(inode)->data); +}; - case I2O_SNFORMAT_UNICODE: /* UNICODE */ - pos += sprintf(buff+pos, "UNICODE Format. Can't Display\n"); - break; +static int i2o_seq_open_hw(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_hw, PDE(inode)->data); +}; - case I2O_SNFORMAT_LAN48_MAC: /* LAN-48 MAC Address */ - pos += sprintf(buff+pos, - "LAN-48 MAC address @ %02X:%02X:%02X:%02X:%02X:%02X", - serialno[2], serialno[3], - serialno[4], serialno[5], - serialno[6], serialno[7]); - break; +static int i2o_seq_open_ddm_table(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_ddm_table, PDE(inode)->data); +}; - case I2O_SNFORMAT_WAN: /* WAN MAC Address */ - /* FIXME: Figure out what a WAN access address looks like?? */ - pos += sprintf(buff+pos, "WAN Access Address"); - break; +static int i2o_seq_open_driver_store(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_driver_store, PDE(inode)->data); +}; -/* plus new in v2.0 */ - case I2O_SNFORMAT_LAN64_MAC: /* LAN-64 MAC Address */ - /* FIXME: Figure out what a LAN-64 address really looks like?? */ - pos += sprintf(buff+pos, - "LAN-64 MAC address @ [?:%02X:%02X:?] %02X:%02X:%02X:%02X:%02X:%02X", - serialno[8], serialno[9], - serialno[2], serialno[3], - serialno[4], serialno[5], - serialno[6], serialno[7]); - break; +static int i2o_seq_open_drivers_stored(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_drivers_stored, PDE(inode)->data); +}; +static int i2o_seq_open_groups(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_groups, PDE(inode)->data); +}; - case I2O_SNFORMAT_DDM: /* I2O DDM */ - pos += sprintf(buff+pos, - "DDM: Tid=%03Xh, Rsvd=%04Xh, OrgId=%04Xh", - *(u16*)&serialno[2], - *(u16*)&serialno[4], - *(u16*)&serialno[6]); - break; +static int i2o_seq_open_phys_device(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_phys_device, PDE(inode)->data); +}; - case I2O_SNFORMAT_IEEE_REG64: /* IEEE Registered (64-bit) */ - case I2O_SNFORMAT_IEEE_REG128: /* IEEE Registered (128-bit) */ - /* FIXME: Figure if this is even close?? */ - pos += sprintf(buff+pos, - "IEEE NodeName(hi,lo)=(%08Xh:%08Xh), PortName(hi,lo)=(%08Xh:%08Xh)\n", - *(u32*)&serialno[2], - *(u32*)&serialno[6], - *(u32*)&serialno[10], - *(u32*)&serialno[14]); - break; +static int i2o_seq_open_claimed(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_claimed, PDE(inode)->data); +}; +static int i2o_seq_open_users(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_users, PDE(inode)->data); +}; - case I2O_SNFORMAT_UNKNOWN: /* Unknown 0 */ - case I2O_SNFORMAT_UNKNOWN2: /* Unknown 0xff */ - default: - pos += sprintf(buff+pos, "Unknown data format (0x%02x)", - serialno[0]); - break; - } +static int i2o_seq_open_priv_msgs(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_priv_msgs, PDE(inode)->data); +}; - return pos; -} +static int i2o_seq_open_authorized_users(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_authorized_users, + PDE(inode)->data); +}; -const char * i2o_get_connector_type(int conn) +static int i2o_seq_open_dev_identity(struct inode *inode, struct file *file) { - int idx = 16; - static char *i2o_connector_type[] = { - "OTHER", - "UNKNOWN", - "AUI", - "UTP", - "BNC", - "RJ45", - "STP DB9", - "FIBER MIC", - "APPLE AUI", - "MII", - "DB9", - "HSSDC", - "DUPLEX SC FIBER", - "DUPLEX ST FIBER", - "TNC/BNC", - "HW DEFAULT" - }; + return single_open(file, i2o_seq_show_dev_identity, PDE(inode)->data); +}; - switch(conn) - { - case 0x00000000: - idx = 0; - break; - case 0x00000001: - idx = 1; - break; - case 0x00000002: - idx = 2; - break; - case 0x00000003: - idx = 3; - break; - case 0x00000004: - idx = 4; - break; - case 0x00000005: - idx = 5; - break; - case 0x00000006: - idx = 6; - break; - case 0x00000007: - idx = 7; - break; - case 0x00000008: - idx = 8; - break; - case 0x00000009: - idx = 9; - break; - case 0x0000000A: - idx = 10; - break; - case 0x0000000B: - idx = 11; - break; - case 0x0000000C: - idx = 12; - break; - case 0x0000000D: - idx = 13; - break; - case 0x0000000E: - idx = 14; - break; - case 0xFFFFFFFF: - idx = 15; - break; - } +static int i2o_seq_open_ddm_identity(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_ddm_identity, PDE(inode)->data); +}; - return i2o_connector_type[idx]; -} +static int i2o_seq_open_uinfo(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_uinfo, PDE(inode)->data); +}; +static int i2o_seq_open_sgl_limits(struct inode *inode, struct file *file) +{ + return single_open(file, i2o_seq_show_sgl_limits, PDE(inode)->data); +}; -const char * i2o_get_connection_type(int conn) +static int i2o_seq_open_sensors(struct inode *inode, struct file *file) { - int idx = 0; - static char *i2o_connection_type[] = { - "Unknown", - "AUI", - "10BASE5", - "FIORL", - "10BASE2", - "10BROAD36", - "10BASE-T", - "10BASE-FP", - "10BASE-FB", - "10BASE-FL", - "100BASE-TX", - "100BASE-FX", - "100BASE-T4", - "1000BASE-SX", - "1000BASE-LX", - "1000BASE-CX", - "1000BASE-T", - "100VG-ETHERNET", - "100VG-TOKEN RING", - "4MBIT TOKEN RING", - "16 Mb Token Ring", - "125 MBAUD FDDI", - "Point-to-point", - "Arbitrated loop", - "Public loop", - "Fabric", - "Emulation", - "Other", - "HW default" - }; + return single_open(file, i2o_seq_show_sensors, PDE(inode)->data); +}; - switch(conn) - { - case I2O_LAN_UNKNOWN: - idx = 0; - break; - case I2O_LAN_AUI: - idx = 1; - break; - case I2O_LAN_10BASE5: - idx = 2; - break; - case I2O_LAN_FIORL: - idx = 3; - break; - case I2O_LAN_10BASE2: - idx = 4; - break; - case I2O_LAN_10BROAD36: - idx = 5; - break; - case I2O_LAN_10BASE_T: - idx = 6; - break; - case I2O_LAN_10BASE_FP: - idx = 7; - break; - case I2O_LAN_10BASE_FB: - idx = 8; - break; - case I2O_LAN_10BASE_FL: - idx = 9; - break; - case I2O_LAN_100BASE_TX: - idx = 10; - break; - case I2O_LAN_100BASE_FX: - idx = 11; - break; - case I2O_LAN_100BASE_T4: - idx = 12; - break; - case I2O_LAN_1000BASE_SX: - idx = 13; - break; - case I2O_LAN_1000BASE_LX: - idx = 14; - break; - case I2O_LAN_1000BASE_CX: - idx = 15; - break; - case I2O_LAN_1000BASE_T: - idx = 16; - break; - case I2O_LAN_100VG_ETHERNET: - idx = 17; - break; - case I2O_LAN_100VG_TR: - idx = 18; - break; - case I2O_LAN_4MBIT: - idx = 19; - break; - case I2O_LAN_16MBIT: - idx = 20; - break; - case I2O_LAN_125MBAUD: - idx = 21; - break; - case I2O_LAN_POINT_POINT: - idx = 22; - break; - case I2O_LAN_ARB_LOOP: - idx = 23; - break; - case I2O_LAN_PUBLIC_LOOP: - idx = 24; - break; - case I2O_LAN_FABRIC: - idx = 25; - break; - case I2O_LAN_EMULATION: - idx = 26; - break; - case I2O_LAN_OTHER: - idx = 27; - break; - case I2O_LAN_DEFAULT: - idx = 28; - break; - } - - return i2o_connection_type[idx]; -} - - -/* LAN group 0000h - Device info (scalar) */ -int i2o_proc_read_lan_dev_info(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[56]; - static u8 *work8 = (u8*)work32; - static u16 *work16 = (u16*)work32; - static u64 *work64 = (u64*)work32; - int token; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0000, -1, &work32, 56*4); - if (token < 0) { - len += i2o_report_query_status(buf+len, token, "0x0000 LAN Device Info"); - spin_unlock(&i2o_proc_lock); - return len; - } - - len += sprintf(buf, "LAN Type : "); - switch (work16[0]) - { - case 0x0030: - len += sprintf(buf+len, "Ethernet, "); - break; - case 0x0040: - len += sprintf(buf+len, "100Base VG, "); - break; - case 0x0050: - len += sprintf(buf+len, "Token Ring, "); - break; - case 0x0060: - len += sprintf(buf+len, "FDDI, "); - break; - case 0x0070: - len += sprintf(buf+len, "Fibre Channel, "); - break; - default: - len += sprintf(buf+len, "Unknown type (0x%04x), ", work16[0]); - break; - } - - if (work16[1]&0x00000001) - len += sprintf(buf+len, "emulated LAN, "); - else - len += sprintf(buf+len, "physical LAN port, "); - - if (work16[1]&0x00000002) - len += sprintf(buf+len, "full duplex\n"); - else - len += sprintf(buf+len, "simplex\n"); - - len += sprintf(buf+len, "Address format : "); - switch(work8[4]) { - case 0x00: - len += sprintf(buf+len, "IEEE 48bit\n"); - break; - case 0x01: - len += sprintf(buf+len, "FC IEEE\n"); - break; - default: - len += sprintf(buf+len, "Unknown (0x%02x)\n", work8[4]); - break; - } - - len += sprintf(buf+len, "State : "); - switch(work8[5]) - { - case 0x00: - len += sprintf(buf+len, "Unknown\n"); - break; - case 0x01: - len += sprintf(buf+len, "Unclaimed\n"); - break; - case 0x02: - len += sprintf(buf+len, "Operational\n"); - break; - case 0x03: - len += sprintf(buf+len, "Suspended\n"); - break; - case 0x04: - len += sprintf(buf+len, "Resetting\n"); - break; - case 0x05: - len += sprintf(buf+len, "ERROR: "); - if(work16[3]&0x0001) - len += sprintf(buf+len, "TxCU inoperative "); - if(work16[3]&0x0002) - len += sprintf(buf+len, "RxCU inoperative "); - if(work16[3]&0x0004) - len += sprintf(buf+len, "Local mem alloc "); - len += sprintf(buf+len, "\n"); - break; - case 0x06: - len += sprintf(buf+len, "Operational no Rx\n"); - break; - case 0x07: - len += sprintf(buf+len, "Suspended no Rx\n"); - break; - default: - len += sprintf(buf+len, "Unspecified\n"); - break; - } - - len += sprintf(buf+len, "Min packet size : %d\n", work32[2]); - len += sprintf(buf+len, "Max packet size : %d\n", work32[3]); - len += sprintf(buf+len, "HW address : " - "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", - work8[16],work8[17],work8[18],work8[19], - work8[20],work8[21],work8[22],work8[23]); - - len += sprintf(buf+len, "Max Tx wire speed : %d bps\n", (int)work64[3]); - len += sprintf(buf+len, "Max Rx wire speed : %d bps\n", (int)work64[4]); - - len += sprintf(buf+len, "Min SDU packet size : 0x%08x\n", work32[10]); - len += sprintf(buf+len, "Max SDU packet size : 0x%08x\n", work32[11]); - - spin_unlock(&i2o_proc_lock); - return len; -} - -/* LAN group 0001h - MAC address table (scalar) */ -int i2o_proc_read_lan_mac_addr(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[48]; - static u8 *work8 = (u8*)work32; - int token; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0001, -1, &work32, 48*4); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0001 LAN MAC Address"); - spin_unlock(&i2o_proc_lock); - return len; - } - - len += sprintf(buf, "Active address : " - "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", - work8[0],work8[1],work8[2],work8[3], - work8[4],work8[5],work8[6],work8[7]); - len += sprintf(buf+len, "Current address : " - "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", - work8[8],work8[9],work8[10],work8[11], - work8[12],work8[13],work8[14],work8[15]); - len += sprintf(buf+len, "Functional address mask : " - "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", - work8[16],work8[17],work8[18],work8[19], - work8[20],work8[21],work8[22],work8[23]); - - len += sprintf(buf+len,"HW/DDM capabilities : 0x%08x\n", work32[7]); - len += sprintf(buf+len," [%s] Unicast packets supported\n", - (work32[7]&0x00000001)?"+":"-"); - len += sprintf(buf+len," [%s] Promiscuous mode supported\n", - (work32[7]&0x00000002)?"+":"-"); - len += sprintf(buf+len," [%s] Promiscuous multicast mode supported\n", - (work32[7]&0x00000004)?"+":"-"); - len += sprintf(buf+len," [%s] Broadcast reception disabling supported\n", - (work32[7]&0x00000100)?"+":"-"); - len += sprintf(buf+len," [%s] Multicast reception disabling supported\n", - (work32[7]&0x00000200)?"+":"-"); - len += sprintf(buf+len," [%s] Functional address disabling supported\n", - (work32[7]&0x00000400)?"+":"-"); - len += sprintf(buf+len," [%s] MAC reporting supported\n", - (work32[7]&0x00000800)?"+":"-"); - - len += sprintf(buf+len,"Filter mask : 0x%08x\n", work32[6]); - len += sprintf(buf+len," [%s] Unicast packets disable\n", - (work32[6]&0x00000001)?"+":"-"); - len += sprintf(buf+len," [%s] Promiscuous mode enable\n", - (work32[6]&0x00000002)?"+":"-"); - len += sprintf(buf+len," [%s] Promiscuous multicast mode enable\n", - (work32[6]&0x00000004)?"+":"-"); - len += sprintf(buf+len," [%s] Broadcast packets disable\n", - (work32[6]&0x00000100)?"+":"-"); - len += sprintf(buf+len," [%s] Multicast packets disable\n", - (work32[6]&0x00000200)?"+":"-"); - len += sprintf(buf+len," [%s] Functional address disable\n", - (work32[6]&0x00000400)?"+":"-"); - - if (work32[7]&0x00000800) { - len += sprintf(buf+len, " MAC reporting mode : "); - if (work32[6]&0x00000800) - len += sprintf(buf+len, "Pass only priority MAC packets to user\n"); - else if (work32[6]&0x00001000) - len += sprintf(buf+len, "Pass all MAC packets to user\n"); - else if (work32[6]&0x00001800) - len += sprintf(buf+len, "Pass all MAC packets (promiscuous) to user\n"); - else - len += sprintf(buf+len, "Do not pass MAC packets to user\n"); - } - len += sprintf(buf+len, "Number of multicast addresses : %d\n", work32[8]); - len += sprintf(buf+len, "Perfect filtering for max %d multicast addresses\n", - work32[9]); - len += sprintf(buf+len, "Imperfect filtering for max %d multicast addresses\n", - work32[10]); - - spin_unlock(&i2o_proc_lock); - - return len; -} - -/* LAN group 0002h - Multicast MAC address table (table) */ -int i2o_proc_read_lan_mcast_addr(char *buf, char **start, off_t offset, - int len, int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - int token; - int i; - u8 mc_addr[8]; - - struct - { - u16 result_count; - u16 pad; - u16 block_size; - u8 block_status; - u8 error_info_size; - u16 row_count; - u16 more_flag; - u8 mc_addr[256][8]; - } *result; - - result = kmalloc(sizeof(*result), GFP_KERNEL); - if(!result) - return -ENOMEM; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, 0x0002, -1, - NULL, 0, result, sizeof(*result)); - - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x002 LAN Multicast MAC Address"); - goto out; - } - - for (i = 0; i < result->row_count; i++) - { - memcpy(mc_addr, result->mc_addr[i], 8); - - len += sprintf(buf+len, "MC MAC address[%d]: " - "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", - i, mc_addr[0], mc_addr[1], mc_addr[2], - mc_addr[3], mc_addr[4], mc_addr[5], - mc_addr[6], mc_addr[7]); - } -out: - spin_unlock(&i2o_proc_lock); - kfree(result); - return len; -} - -/* LAN group 0003h - Batch Control (scalar) */ -int i2o_proc_read_lan_batch_control(char *buf, char **start, off_t offset, - int len, int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[9]; - int token; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0003, -1, &work32, 9*4); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0003 LAN Batch Control"); - spin_unlock(&i2o_proc_lock); - return len; - } - - len += sprintf(buf, "Batch mode "); - if (work32[0]&0x00000001) - len += sprintf(buf+len, "disabled"); - else - len += sprintf(buf+len, "enabled"); - if (work32[0]&0x00000002) - len += sprintf(buf+len, " (current setting)"); - if (work32[0]&0x00000004) - len += sprintf(buf+len, ", forced"); - else - len += sprintf(buf+len, ", toggle"); - len += sprintf(buf+len, "\n"); - - len += sprintf(buf+len, "Max Rx batch count : %d\n", work32[5]); - len += sprintf(buf+len, "Max Rx batch delay : %d\n", work32[6]); - len += sprintf(buf+len, "Max Tx batch delay : %d\n", work32[7]); - len += sprintf(buf+len, "Max Tx batch count : %d\n", work32[8]); - - spin_unlock(&i2o_proc_lock); - return len; -} - -/* LAN group 0004h - LAN Operation (scalar) */ -int i2o_proc_read_lan_operation(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[5]; - int token; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0004, -1, &work32, 20); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0004 LAN Operation"); - spin_unlock(&i2o_proc_lock); - return len; - } - - len += sprintf(buf, "Packet prepadding (32b words) : %d\n", work32[0]); - len += sprintf(buf+len, "Transmission error reporting : %s\n", - (work32[1]&1)?"on":"off"); - len += sprintf(buf+len, "Bad packet handling : %s\n", - (work32[1]&0x2)?"by host":"by DDM"); - len += sprintf(buf+len, "Packet orphan limit : %d\n", work32[2]); - - len += sprintf(buf+len, "Tx modes : 0x%08x\n", work32[3]); - len += sprintf(buf+len, " [%s] HW CRC suppression\n", - (work32[3]&0x00000004) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW IPv4 checksum\n", - (work32[3]&0x00000100) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW TCP checksum\n", - (work32[3]&0x00000200) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW UDP checksum\n", - (work32[3]&0x00000400) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW RSVP checksum\n", - (work32[3]&0x00000800) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW ICMP checksum\n", - (work32[3]&0x00001000) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Loopback suppression enable\n", - (work32[3]&0x00002000) ? "+" : "-"); - - len += sprintf(buf+len, "Rx modes : 0x%08x\n", work32[4]); - len += sprintf(buf+len, " [%s] FCS in payload\n", - (work32[4]&0x00000004) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW IPv4 checksum validation\n", - (work32[4]&0x00000100) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW TCP checksum validation\n", - (work32[4]&0x00000200) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW UDP checksum validation\n", - (work32[4]&0x00000400) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW RSVP checksum validation\n", - (work32[4]&0x00000800) ? "+" : "-"); - len += sprintf(buf+len, " [%s] HW ICMP checksum validation\n", - (work32[4]&0x00001000) ? "+" : "-"); - - spin_unlock(&i2o_proc_lock); - return len; -} - -/* LAN group 0005h - Media operation (scalar) */ -int i2o_proc_read_lan_media_operation(char *buf, char **start, off_t offset, - int len, int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - int token; - - struct - { - u32 connector_type; - u32 connection_type; - u64 current_tx_wire_speed; - u64 current_rx_wire_speed; - u8 duplex_mode; - u8 link_status; - u8 reserved; - u8 duplex_mode_target; - u32 connector_type_target; - u32 connection_type_target; - } result; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0005, -1, &result, sizeof(result)); - if (token < 0) { - len += i2o_report_query_status(buf+len, token, "0x0005 LAN Media Operation"); - spin_unlock(&i2o_proc_lock); - return len; - } - - len += sprintf(buf, "Connector type : %s\n", - i2o_get_connector_type(result.connector_type)); - len += sprintf(buf+len, "Connection type : %s\n", - i2o_get_connection_type(result.connection_type)); - - len += sprintf(buf+len, "Current Tx wire speed : %d bps\n", (int)result.current_tx_wire_speed); - len += sprintf(buf+len, "Current Rx wire speed : %d bps\n", (int)result.current_rx_wire_speed); - len += sprintf(buf+len, "Duplex mode : %s duplex\n", - (result.duplex_mode)?"Full":"Half"); - - len += sprintf(buf+len, "Link status : "); - switch (result.link_status) - { - case 0x00: - len += sprintf(buf+len, "Unknown\n"); - break; - case 0x01: - len += sprintf(buf+len, "Normal\n"); - break; - case 0x02: - len += sprintf(buf+len, "Failure\n"); - break; - case 0x03: - len += sprintf(buf+len, "Reset\n"); - break; - default: - len += sprintf(buf+len, "Unspecified\n"); - } - - len += sprintf(buf+len, "Duplex mode target : "); - switch (result.duplex_mode_target){ - case 0: - len += sprintf(buf+len, "Half duplex\n"); - break; - case 1: - len += sprintf(buf+len, "Full duplex\n"); - break; - default: - len += sprintf(buf+len, "\n"); - } - - len += sprintf(buf+len, "Connector type target : %s\n", - i2o_get_connector_type(result.connector_type_target)); - len += sprintf(buf+len, "Connection type target : %s\n", - i2o_get_connection_type(result.connection_type_target)); - - spin_unlock(&i2o_proc_lock); - return len; -} - -/* LAN group 0006h - Alternate address (table) (optional) */ -int i2o_proc_read_lan_alt_addr(char *buf, char **start, off_t offset, int len, - int *eof, void *data) +static int i2o_seq_open_dev_name(struct inode *inode, struct file *file) { - struct i2o_device *d = (struct i2o_device*)data; - int token; - int i; - u8 alt_addr[8]; - struct - { - u16 result_count; - u16 pad; - u16 block_size; - u8 block_status; - u8 error_info_size; - u16 row_count; - u16 more_flag; - u8 alt_addr[256][8]; - } *result; - - result = kmalloc(sizeof(*result), GFP_KERNEL); - if(!result) - return -ENOMEM; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_table(I2O_PARAMS_TABLE_GET, - d->controller, d->lct_data.tid, - 0x0006, -1, NULL, 0, result, sizeof(*result)); - - if (token < 0) { - len += i2o_report_query_status(buf+len, token, "0x0006 LAN Alternate Address (optional)"); - goto out; - } - - for (i=0; i < result->row_count; i++) - { - memcpy(alt_addr,result->alt_addr[i],8); - len += sprintf(buf+len, "Alternate address[%d]: " - "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n", - i, alt_addr[0], alt_addr[1], alt_addr[2], - alt_addr[3], alt_addr[4], alt_addr[5], - alt_addr[6], alt_addr[7]); - } -out: - spin_unlock(&i2o_proc_lock); - kfree(result); - return len; -} + return single_open(file, i2o_seq_show_dev_name, PDE(inode)->data); +}; +static struct file_operations i2o_seq_fops_lct = { + .open = i2o_seq_open_lct, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; -/* LAN group 0007h - Transmit info (scalar) */ -int i2o_proc_read_lan_tx_info(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[8]; - int token; +static struct file_operations i2o_seq_fops_hrt = { + .open = i2o_seq_open_hrt, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - spin_lock(&i2o_proc_lock); - len = 0; +static struct file_operations i2o_seq_fops_status = { + .open = i2o_seq_open_status, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0007, -1, &work32, 8*4); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0007 LAN Transmit Info"); - spin_unlock(&i2o_proc_lock); - return len; - } +static struct file_operations i2o_seq_fops_hw = { + .open = i2o_seq_open_hw, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - len += sprintf(buf, "Tx Max SG elements per packet : %d\n", work32[0]); - len += sprintf(buf+len, "Tx Max SG elements per chain : %d\n", work32[1]); - len += sprintf(buf+len, "Tx Max outstanding packets : %d\n", work32[2]); - len += sprintf(buf+len, "Tx Max packets per request : %d\n", work32[3]); - - len += sprintf(buf+len, "Tx modes : 0x%08x\n", work32[4]); - len += sprintf(buf+len, " [%s] No DA in SGL\n", - (work32[4]&0x00000002) ? "+" : "-"); - len += sprintf(buf+len, " [%s] CRC suppression\n", - (work32[4]&0x00000004) ? "+" : "-"); - len += sprintf(buf+len, " [%s] MAC insertion\n", - (work32[4]&0x00000010) ? "+" : "-"); - len += sprintf(buf+len, " [%s] RIF insertion\n", - (work32[4]&0x00000020) ? "+" : "-"); - len += sprintf(buf+len, " [%s] IPv4 checksum generation\n", - (work32[4]&0x00000100) ? "+" : "-"); - len += sprintf(buf+len, " [%s] TCP checksum generation\n", - (work32[4]&0x00000200) ? "+" : "-"); - len += sprintf(buf+len, " [%s] UDP checksum generation\n", - (work32[4]&0x00000400) ? "+" : "-"); - len += sprintf(buf+len, " [%s] RSVP checksum generation\n", - (work32[4]&0x00000800) ? "+" : "-"); - len += sprintf(buf+len, " [%s] ICMP checksum generation\n", - (work32[4]&0x00001000) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Loopback enabled\n", - (work32[4]&0x00010000) ? "+" : "-"); - len += sprintf(buf+len, " [%s] Loopback suppression enabled\n", - (work32[4]&0x00020000) ? "+" : "-"); - - spin_unlock(&i2o_proc_lock); - return len; -} +static struct file_operations i2o_seq_fops_ddm_table = { + .open = i2o_seq_open_ddm_table, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; -/* LAN group 0008h - Receive info (scalar) */ -int i2o_proc_read_lan_rx_info(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - static u32 work32[8]; - int token; +static struct file_operations i2o_seq_fops_driver_store = { + .open = i2o_seq_open_driver_store, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - spin_lock(&i2o_proc_lock); - len = 0; +static struct file_operations i2o_seq_fops_drivers_stored = { + .open = i2o_seq_open_drivers_stored, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0008, -1, &work32, 8*4); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0008 LAN Receive Info"); - spin_unlock(&i2o_proc_lock); - return len; - } +static struct file_operations i2o_seq_fops_groups = { + .open = i2o_seq_open_groups, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - len += sprintf(buf ,"Rx Max size of chain element : %d\n", work32[0]); - len += sprintf(buf+len, "Rx Max Buckets : %d\n", work32[1]); - len += sprintf(buf+len, "Rx Max Buckets in Reply : %d\n", work32[3]); - len += sprintf(buf+len, "Rx Max Packets in Bucket : %d\n", work32[4]); - len += sprintf(buf+len, "Rx Max Buckets in Post : %d\n", work32[5]); - - len += sprintf(buf+len, "Rx Modes : 0x%08x\n", work32[2]); - len += sprintf(buf+len, " [%s] FCS reception\n", - (work32[2]&0x00000004) ? "+" : "-"); - len += sprintf(buf+len, " [%s] IPv4 checksum validation \n", - (work32[2]&0x00000100) ? "+" : "-"); - len += sprintf(buf+len, " [%s] TCP checksum validation \n", - (work32[2]&0x00000200) ? "+" : "-"); - len += sprintf(buf+len, " [%s] UDP checksum validation \n", - (work32[2]&0x00000400) ? "+" : "-"); - len += sprintf(buf+len, " [%s] RSVP checksum validation \n", - (work32[2]&0x00000800) ? "+" : "-"); - len += sprintf(buf+len, " [%s] ICMP checksum validation \n", - (work32[2]&0x00001000) ? "+" : "-"); - - spin_unlock(&i2o_proc_lock); - return len; -} +static struct file_operations i2o_seq_fops_phys_device = { + .open = i2o_seq_open_phys_device, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; -static int i2o_report_opt_field(char *buf, char *field_name, - int field_nbr, int supp_fields, u64 *value) -{ - if (supp_fields & (1 << field_nbr)) - return sprintf(buf, "%-24s : " FMT_U64_HEX "\n", field_name, U64_VAL(value)); - else - return sprintf(buf, "%-24s : Not supported\n", field_name); -} +static struct file_operations i2o_seq_fops_claimed = { + .open = i2o_seq_open_claimed, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; -/* LAN group 0100h - LAN Historical statistics (scalar) */ -/* LAN group 0180h - Supported Optional Historical Statistics (scalar) */ -/* LAN group 0182h - Optional Non Media Specific Transmit Historical Statistics (scalar) */ -/* LAN group 0183h - Optional Non Media Specific Receive Historical Statistics (scalar) */ +static struct file_operations i2o_seq_fops_users = { + .open = i2o_seq_open_users, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; -int i2o_proc_read_lan_hist_stats(char *buf, char **start, off_t offset, int len, - int *eof, void *data) -{ - struct i2o_device *d = (struct i2o_device*)data; - int token; +static struct file_operations i2o_seq_fops_priv_msgs = { + .open = i2o_seq_open_priv_msgs, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - struct - { - u64 tx_packets; - u64 tx_bytes; - u64 rx_packets; - u64 rx_bytes; - u64 tx_errors; - u64 rx_errors; - u64 rx_dropped; - u64 adapter_resets; - u64 adapter_suspends; - } stats; // 0x0100 - - static u64 supp_groups[4]; // 0x0180 - - struct - { - u64 tx_retries; - u64 tx_directed_bytes; - u64 tx_directed_packets; - u64 tx_multicast_bytes; - u64 tx_multicast_packets; - u64 tx_broadcast_bytes; - u64 tx_broadcast_packets; - u64 tx_group_addr_packets; - u64 tx_short_packets; - } tx_stats; // 0x0182 - - struct - { - u64 rx_crc_errors; - u64 rx_directed_bytes; - u64 rx_directed_packets; - u64 rx_multicast_bytes; - u64 rx_multicast_packets; - u64 rx_broadcast_bytes; - u64 rx_broadcast_packets; - u64 rx_group_addr_packets; - u64 rx_short_packets; - u64 rx_long_packets; - u64 rx_runt_packets; - } rx_stats; // 0x0183 - - struct - { - u64 ipv4_generate; - u64 ipv4_validate_success; - u64 ipv4_validate_errors; - u64 tcp_generate; - u64 tcp_validate_success; - u64 tcp_validate_errors; - u64 udp_generate; - u64 udp_validate_success; - u64 udp_validate_errors; - u64 rsvp_generate; - u64 rsvp_validate_success; - u64 rsvp_validate_errors; - u64 icmp_generate; - u64 icmp_validate_success; - u64 icmp_validate_errors; - } chksum_stats; // 0x0184 - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0100, -1, &stats, sizeof(stats)); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x100 LAN Statistics"); - spin_unlock(&i2o_proc_lock); - return len; - } +static struct file_operations i2o_seq_fops_authorized_users = { + .open = i2o_seq_open_authorized_users, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - len += sprintf(buf+len, "Tx packets : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_packets)); - len += sprintf(buf+len, "Tx bytes : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_bytes)); - len += sprintf(buf+len, "Rx packets : " FMT_U64_HEX "\n", - U64_VAL(&stats.rx_packets)); - len += sprintf(buf+len, "Rx bytes : " FMT_U64_HEX "\n", - U64_VAL(&stats.rx_bytes)); - len += sprintf(buf+len, "Tx errors : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_errors)); - len += sprintf(buf+len, "Rx errors : " FMT_U64_HEX "\n", - U64_VAL(&stats.rx_errors)); - len += sprintf(buf+len, "Rx dropped : " FMT_U64_HEX "\n", - U64_VAL(&stats.rx_dropped)); - len += sprintf(buf+len, "Adapter resets : " FMT_U64_HEX "\n", - U64_VAL(&stats.adapter_resets)); - len += sprintf(buf+len, "Adapter suspends : " FMT_U64_HEX "\n", - U64_VAL(&stats.adapter_suspends)); - - /* Optional statistics follows */ - /* Get 0x0180 to see which optional groups/fields are supported */ - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0180, -1, &supp_groups, sizeof(supp_groups)); - - if (token < 0) { - len += i2o_report_query_status(buf+len, token, "0x180 LAN Supported Optional Statistics"); - spin_unlock(&i2o_proc_lock); - return len; - } +static struct file_operations i2o_seq_fops_dev_name = { + .open = i2o_seq_open_dev_name, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - if (supp_groups[1]) /* 0x0182 */ - { - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0182, -1, &tx_stats, sizeof(tx_stats)); +static struct file_operations i2o_seq_fops_dev_identity = { + .open = i2o_seq_open_dev_identity, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x182 LAN Optional Tx Historical Statistics"); - spin_unlock(&i2o_proc_lock); - return len; - } +static struct file_operations i2o_seq_fops_ddm_identity = { + .open = i2o_seq_open_ddm_identity, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - len += sprintf(buf+len, "==== Optional TX statistics (group 0182h)\n"); - - len += i2o_report_opt_field(buf+len, "Tx RetryCount", - 0, supp_groups[1], &tx_stats.tx_retries); - len += i2o_report_opt_field(buf+len, "Tx DirectedBytes", - 1, supp_groups[1], &tx_stats.tx_directed_bytes); - len += i2o_report_opt_field(buf+len, "Tx DirectedPackets", - 2, supp_groups[1], &tx_stats.tx_directed_packets); - len += i2o_report_opt_field(buf+len, "Tx MulticastBytes", - 3, supp_groups[1], &tx_stats.tx_multicast_bytes); - len += i2o_report_opt_field(buf+len, "Tx MulticastPackets", - 4, supp_groups[1], &tx_stats.tx_multicast_packets); - len += i2o_report_opt_field(buf+len, "Tx BroadcastBytes", - 5, supp_groups[1], &tx_stats.tx_broadcast_bytes); - len += i2o_report_opt_field(buf+len, "Tx BroadcastPackets", - 6, supp_groups[1], &tx_stats.tx_broadcast_packets); - len += i2o_report_opt_field(buf+len, "Tx TotalGroupAddrPackets", - 7, supp_groups[1], &tx_stats.tx_group_addr_packets); - len += i2o_report_opt_field(buf+len, "Tx TotalPacketsTooShort", - 8, supp_groups[1], &tx_stats.tx_short_packets); - } +static struct file_operations i2o_seq_fops_uinfo = { + .open = i2o_seq_open_uinfo, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - if (supp_groups[2]) /* 0x0183 */ - { - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0183, -1, &rx_stats, sizeof(rx_stats)); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x183 LAN Optional Rx Historical Stats"); - spin_unlock(&i2o_proc_lock); - return len; - } +static struct file_operations i2o_seq_fops_sgl_limits = { + .open = i2o_seq_open_sgl_limits, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - len += sprintf(buf+len, "==== Optional RX statistics (group 0183h)\n"); - - len += i2o_report_opt_field(buf+len, "Rx CRCErrorCount", - 0, supp_groups[2], &rx_stats.rx_crc_errors); - len += i2o_report_opt_field(buf+len, "Rx DirectedBytes", - 1, supp_groups[2], &rx_stats.rx_directed_bytes); - len += i2o_report_opt_field(buf+len, "Rx DirectedPackets", - 2, supp_groups[2], &rx_stats.rx_directed_packets); - len += i2o_report_opt_field(buf+len, "Rx MulticastBytes", - 3, supp_groups[2], &rx_stats.rx_multicast_bytes); - len += i2o_report_opt_field(buf+len, "Rx MulticastPackets", - 4, supp_groups[2], &rx_stats.rx_multicast_packets); - len += i2o_report_opt_field(buf+len, "Rx BroadcastBytes", - 5, supp_groups[2], &rx_stats.rx_broadcast_bytes); - len += i2o_report_opt_field(buf+len, "Rx BroadcastPackets", - 6, supp_groups[2], &rx_stats.rx_broadcast_packets); - len += i2o_report_opt_field(buf+len, "Rx TotalGroupAddrPackets", - 7, supp_groups[2], &rx_stats.rx_group_addr_packets); - len += i2o_report_opt_field(buf+len, "Rx TotalPacketsTooShort", - 8, supp_groups[2], &rx_stats.rx_short_packets); - len += i2o_report_opt_field(buf+len, "Rx TotalPacketsTooLong", - 9, supp_groups[2], &rx_stats.rx_long_packets); - len += i2o_report_opt_field(buf+len, "Rx TotalPacketsRunt", - 10, supp_groups[2], &rx_stats.rx_runt_packets); - } - - if (supp_groups[3]) /* 0x0184 */ - { - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0184, -1, &chksum_stats, sizeof(chksum_stats)); +static struct file_operations i2o_seq_fops_sensors = { + .open = i2o_seq_open_sensors, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x184 LAN Optional Chksum Historical Stats"); - spin_unlock(&i2o_proc_lock); - return len; - } +/* + * IOP specific entries...write field just in case someone + * ever wants one. + */ +static i2o_proc_entry i2o_proc_generic_iop_entries[] = { + {"hrt", S_IFREG | S_IRUGO, &i2o_seq_fops_hrt}, + {"lct", S_IFREG | S_IRUGO, &i2o_seq_fops_lct}, + {"status", S_IFREG | S_IRUGO, &i2o_seq_fops_status}, + {"hw", S_IFREG | S_IRUGO, &i2o_seq_fops_hw}, + {"ddm_table", S_IFREG | S_IRUGO, &i2o_seq_fops_ddm_table}, + {"driver_store", S_IFREG | S_IRUGO, &i2o_seq_fops_driver_store}, + {"drivers_stored", S_IFREG | S_IRUGO, &i2o_seq_fops_drivers_stored}, + {NULL, 0, NULL} +}; - len += sprintf(buf+len, "==== Optional CHKSUM statistics (group 0x0184)\n"); - - len += i2o_report_opt_field(buf+len, "IPv4 Generate", - 0, supp_groups[3], &chksum_stats.ipv4_generate); - len += i2o_report_opt_field(buf+len, "IPv4 ValidateSuccess", - 1, supp_groups[3], &chksum_stats.ipv4_validate_success); - len += i2o_report_opt_field(buf+len, "IPv4 ValidateError", - 2, supp_groups[3], &chksum_stats.ipv4_validate_errors); - len += i2o_report_opt_field(buf+len, "TCP Generate", - 3, supp_groups[3], &chksum_stats.tcp_generate); - len += i2o_report_opt_field(buf+len, "TCP ValidateSuccess", - 4, supp_groups[3], &chksum_stats.tcp_validate_success); - len += i2o_report_opt_field(buf+len, "TCP ValidateError", - 5, supp_groups[3], &chksum_stats.tcp_validate_errors); - len += i2o_report_opt_field(buf+len, "UDP Generate", - 6, supp_groups[3], &chksum_stats.udp_generate); - len += i2o_report_opt_field(buf+len, "UDP ValidateSuccess", - 7, supp_groups[3], &chksum_stats.udp_validate_success); - len += i2o_report_opt_field(buf+len, "UDP ValidateError", - 8, supp_groups[3], &chksum_stats.udp_validate_errors); - len += i2o_report_opt_field(buf+len, "RSVP Generate", - 9, supp_groups[3], &chksum_stats.rsvp_generate); - len += i2o_report_opt_field(buf+len, "RSVP ValidateSuccess", - 10, supp_groups[3], &chksum_stats.rsvp_validate_success); - len += i2o_report_opt_field(buf+len, "RSVP ValidateError", - 11, supp_groups[3], &chksum_stats.rsvp_validate_errors); - len += i2o_report_opt_field(buf+len, "ICMP Generate", - 12, supp_groups[3], &chksum_stats.icmp_generate); - len += i2o_report_opt_field(buf+len, "ICMP ValidateSuccess", - 13, supp_groups[3], &chksum_stats.icmp_validate_success); - len += i2o_report_opt_field(buf+len, "ICMP ValidateError", - 14, supp_groups[3], &chksum_stats.icmp_validate_errors); - } +/* + * Device specific entries + */ +static i2o_proc_entry generic_dev_entries[] = { + {"groups", S_IFREG | S_IRUGO, &i2o_seq_fops_groups}, + {"phys_dev", S_IFREG | S_IRUGO, &i2o_seq_fops_phys_device}, + {"claimed", S_IFREG | S_IRUGO, &i2o_seq_fops_claimed}, + {"users", S_IFREG | S_IRUGO, &i2o_seq_fops_users}, + {"priv_msgs", S_IFREG | S_IRUGO, &i2o_seq_fops_priv_msgs}, + {"authorized_users", S_IFREG | S_IRUGO, &i2o_seq_fops_authorized_users}, + {"dev_identity", S_IFREG | S_IRUGO, &i2o_seq_fops_dev_identity}, + {"ddm_identity", S_IFREG | S_IRUGO, &i2o_seq_fops_ddm_identity}, + {"user_info", S_IFREG | S_IRUGO, &i2o_seq_fops_uinfo}, + {"sgl_limits", S_IFREG | S_IRUGO, &i2o_seq_fops_sgl_limits}, + {"sensors", S_IFREG | S_IRUGO, &i2o_seq_fops_sensors}, + {NULL, 0, NULL} +}; - spin_unlock(&i2o_proc_lock); - return len; -} +/* + * Storage unit specific entries (SCSI Periph, BS) with device names + */ +static i2o_proc_entry rbs_dev_entries[] = { + {"dev_name", S_IFREG | S_IRUGO, &i2o_seq_fops_dev_name}, + {NULL, 0, NULL} +}; -/* LAN group 0200h - Required Ethernet Statistics (scalar) */ -/* LAN group 0280h - Optional Ethernet Statistics Supported (scalar) */ -/* LAN group 0281h - Optional Ethernet Historical Statistics (scalar) */ -int i2o_proc_read_lan_eth_stats(char *buf, char **start, off_t offset, - int len, int *eof, void *data) +/** + * i2o_proc_create_entries - Creates proc dir entries + * @dir: proc dir entry under which the entries should be placed + * @i2o_pe: pointer to the entries which should be added + * @data: pointer to I2O controller or device + * + * Create proc dir entries for a I2O controller or I2O device. + * + * Returns 0 on success or negative error code on failure. + */ +static int i2o_proc_create_entries(struct proc_dir_entry *dir, + i2o_proc_entry * i2o_pe, void *data) { - struct i2o_device *d = (struct i2o_device*)data; - int token; - - struct - { - u64 rx_align_errors; - u64 tx_one_collisions; - u64 tx_multiple_collisions; - u64 tx_deferred; - u64 tx_late_collisions; - u64 tx_max_collisions; - u64 tx_carrier_lost; - u64 tx_excessive_deferrals; - } stats; - - static u64 supp_fields; - struct - { - u64 rx_overrun; - u64 tx_underrun; - u64 tx_heartbeat_failure; - } hist_stats; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0200, -1, &stats, sizeof(stats)); - - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0200 LAN Ethernet Statistics"); - spin_unlock(&i2o_proc_lock); - return len; - } - - len += sprintf(buf+len, "Rx alignment errors : " FMT_U64_HEX "\n", - U64_VAL(&stats.rx_align_errors)); - len += sprintf(buf+len, "Tx one collisions : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_one_collisions)); - len += sprintf(buf+len, "Tx multicollisions : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_multiple_collisions)); - len += sprintf(buf+len, "Tx deferred : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_deferred)); - len += sprintf(buf+len, "Tx late collisions : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_late_collisions)); - len += sprintf(buf+len, "Tx max collisions : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_max_collisions)); - len += sprintf(buf+len, "Tx carrier lost : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_carrier_lost)); - len += sprintf(buf+len, "Tx excessive deferrals : " FMT_U64_HEX "\n", - U64_VAL(&stats.tx_excessive_deferrals)); - - /* Optional Ethernet statistics follows */ - /* Get 0x0280 to see which optional fields are supported */ - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0280, -1, &supp_fields, sizeof(supp_fields)); - - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0280 LAN Supported Optional Ethernet Statistics"); - spin_unlock(&i2o_proc_lock); - return len; - } + struct proc_dir_entry *tmp; - if (supp_fields) /* 0x0281 */ - { - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0281, -1, &stats, sizeof(stats)); + while (i2o_pe->name) { + tmp = create_proc_entry(i2o_pe->name, i2o_pe->mode, dir); + if (!tmp) + return -1; - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0281 LAN Optional Ethernet Statistics"); - spin_unlock(&i2o_proc_lock); - return len; - } + tmp->data = data; + tmp->proc_fops = i2o_pe->fops; - len += sprintf(buf+len, "==== Optional ETHERNET statistics (group 0x0281)\n"); - - len += i2o_report_opt_field(buf+len, "Rx Overrun", - 0, supp_fields, &hist_stats.rx_overrun); - len += i2o_report_opt_field(buf+len, "Tx Underrun", - 1, supp_fields, &hist_stats.tx_underrun); - len += i2o_report_opt_field(buf+len, "Tx HeartbeatFailure", - 2, supp_fields, &hist_stats.tx_heartbeat_failure); + i2o_pe++; } - spin_unlock(&i2o_proc_lock); - return len; + return 0; } -/* LAN group 0300h - Required Token Ring Statistics (scalar) */ -/* LAN group 0380h, 0381h - Optional Statistics not yet defined (TODO) */ -int i2o_proc_read_lan_tr_stats(char *buf, char **start, off_t offset, - int len, int *eof, void *data) +/** + * i2o_proc_subdir_remove - Remove child entries from a proc entry + * @dir: proc dir entry from which the childs should be removed + * + * Iterate over each i2o proc entry under dir and remove it. If the child + * also has entries, remove them too. + */ +static void i2o_proc_subdir_remove(struct proc_dir_entry *dir) { - struct i2o_device *d = (struct i2o_device*)data; - static u64 work64[13]; - int token; - - static char *ring_status[] = - { - "", - "", - "", - "", - "", - "Ring Recovery", - "Single Station", - "Counter Overflow", - "Remove Received", - "", - "Auto-Removal Error 1", - "Lobe Wire Fault", - "Transmit Beacon", - "Soft Error", - "Hard Error", - "Signal Loss" - }; - - spin_lock(&i2o_proc_lock); - len = 0; - - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0300, -1, &work64, sizeof(work64)); - - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0300 Token Ring Statistics"); - spin_unlock(&i2o_proc_lock); - return len; + struct proc_dir_entry *pe, *tmp; + pe = dir->subdir; + while (pe) { + tmp = pe->next; + i2o_proc_subdir_remove(pe); + remove_proc_entry(pe->name, dir); + pe = tmp; } +}; - len += sprintf(buf, "LineErrors : " FMT_U64_HEX "\n", - U64_VAL(&work64[0])); - len += sprintf(buf+len, "LostFrames : " FMT_U64_HEX "\n", - U64_VAL(&work64[1])); - len += sprintf(buf+len, "ACError : " FMT_U64_HEX "\n", - U64_VAL(&work64[2])); - len += sprintf(buf+len, "TxAbortDelimiter : " FMT_U64_HEX "\n", - U64_VAL(&work64[3])); - len += sprintf(buf+len, "BursErrors : " FMT_U64_HEX "\n", - U64_VAL(&work64[4])); - len += sprintf(buf+len, "FrameCopiedErrors : " FMT_U64_HEX "\n", - U64_VAL(&work64[5])); - len += sprintf(buf+len, "FrequencyErrors : " FMT_U64_HEX "\n", - U64_VAL(&work64[6])); - len += sprintf(buf+len, "InternalErrors : " FMT_U64_HEX "\n", - U64_VAL(&work64[7])); - len += sprintf(buf+len, "LastRingStatus : %s\n", ring_status[work64[8]]); - len += sprintf(buf+len, "TokenError : " FMT_U64_HEX "\n", - U64_VAL(&work64[9])); - len += sprintf(buf+len, "UpstreamNodeAddress : " FMT_U64_HEX "\n", - U64_VAL(&work64[10])); - len += sprintf(buf+len, "LastRingID : " FMT_U64_HEX "\n", - U64_VAL(&work64[11])); - len += sprintf(buf+len, "LastBeaconType : " FMT_U64_HEX "\n", - U64_VAL(&work64[12])); - - spin_unlock(&i2o_proc_lock); - return len; -} - -/* LAN group 0400h - Required FDDI Statistics (scalar) */ -/* LAN group 0480h, 0481h - Optional Statistics, not yet defined (TODO) */ -int i2o_proc_read_lan_fddi_stats(char *buf, char **start, off_t offset, - int len, int *eof, void *data) +/** + * i2o_proc_device_add - Add an I2O device to the proc dir + * @dir: proc dir entry to which the device should be added + * @dev: I2O device which should be added + * + * Add an I2O device to the proc dir entry dir and create the entries for + * the device depending on the class of the I2O device. + */ +static void i2o_proc_device_add(struct proc_dir_entry *dir, + struct i2o_device *dev) { - struct i2o_device *d = (struct i2o_device*)data; - static u64 work64[11]; - int token; - - static char *conf_state[] = - { - "Isolated", - "Local a", - "Local b", - "Local ab", - "Local s", - "Wrap a", - "Wrap b", - "Wrap ab", - "Wrap s", - "C-Wrap a", - "C-Wrap b", - "C-Wrap s", - "Through", - }; - - static char *ring_state[] = - { - "Isolated", - "Non-op", - "Rind-op", - "Detect", - "Non-op-Dup", - "Ring-op-Dup", - "Directed", - "Trace" - }; - - static char *link_state[] = - { - "Off", - "Break", - "Trace", - "Connect", - "Next", - "Signal", - "Join", - "Verify", - "Active", - "Maintenance" - }; + char buff[10]; + struct proc_dir_entry *devdir; + i2o_proc_entry *i2o_pe = NULL; - spin_lock(&i2o_proc_lock); - len = 0; + sprintf(buff, "%03x", dev->lct_data.tid); - token = i2o_query_scalar(d->controller, d->lct_data.tid, - 0x0400, -1, &work64, sizeof(work64)); + pr_debug("Adding device /proc/i2o/iop%d/%s\n", dev->iop->unit, buff); - if (token < 0) { - len += i2o_report_query_status(buf+len, token,"0x0400 FDDI Required Statistics"); - spin_unlock(&i2o_proc_lock); - return len; + devdir = proc_mkdir(buff, dir); + if (!devdir) { + printk(KERN_WARNING "i2o: Could not allocate procdir!\n"); + return; } - len += sprintf(buf+len, "ConfigurationState : %s\n", conf_state[work64[0]]); - len += sprintf(buf+len, "UpstreamNode : " FMT_U64_HEX "\n", - U64_VAL(&work64[1])); - len += sprintf(buf+len, "DownStreamNode : " FMT_U64_HEX "\n", - U64_VAL(&work64[2])); - len += sprintf(buf+len, "FrameErrors : " FMT_U64_HEX "\n", - U64_VAL(&work64[3])); - len += sprintf(buf+len, "FramesLost : " FMT_U64_HEX "\n", - U64_VAL(&work64[4])); - len += sprintf(buf+len, "RingMgmtState : %s\n", ring_state[work64[5]]); - len += sprintf(buf+len, "LCTFailures : " FMT_U64_HEX "\n", - U64_VAL(&work64[6])); - len += sprintf(buf+len, "LEMRejects : " FMT_U64_HEX "\n", - U64_VAL(&work64[7])); - len += sprintf(buf+len, "LEMCount : " FMT_U64_HEX "\n", - U64_VAL(&work64[8])); - len += sprintf(buf+len, "LConnectionState : %s\n", - link_state[work64[9]]); - - spin_unlock(&i2o_proc_lock); - return len; -} + devdir->data = dev; -static int i2o_proc_create_entries(void *data, i2o_proc_entry *pentry, - struct proc_dir_entry *parent) -{ - struct proc_dir_entry *ent; - - while(pentry->name != NULL) - { - ent = create_proc_entry(pentry->name, pentry->mode, parent); - if(!ent) return -1; + i2o_proc_create_entries(devdir, generic_dev_entries, dev); - ent->data = data; - ent->read_proc = pentry->read_proc; - ent->write_proc = pentry->write_proc; - if(pentry->fops_proc) - ent->proc_fops = pentry->fops_proc; - - ent->nlink = 1; - - pentry++; - } - - return 0; -} - -static void i2o_proc_remove_entries(i2o_proc_entry *pentry, - struct proc_dir_entry *parent) -{ - while(pentry->name != NULL) - { - remove_proc_entry(pentry->name, parent); - pentry++; + /* Inform core that we want updates about this device's status */ + switch (dev->lct_data.class_id) { + case I2O_CLASS_SCSI_PERIPHERAL: + case I2O_CLASS_RANDOM_BLOCK_STORAGE: + i2o_pe = rbs_dev_entries; + break; + default: + break; } + if (i2o_pe) + i2o_proc_create_entries(devdir, i2o_pe, dev); } -static int i2o_proc_add_controller(struct i2o_controller *pctrl, - struct proc_dir_entry *root ) +/** + * i2o_proc_iop_add - Add an I2O controller to the i2o proc tree + * @dir: parent proc dir entry + * @c: I2O controller which should be added + * + * Add the entries to the parent proc dir entry. Also each device is added + * to the controllers proc dir entry. + * + * Returns 0 on success or negative error code on failure. + */ +static int i2o_proc_iop_add(struct proc_dir_entry *dir, + struct i2o_controller *c) { - struct proc_dir_entry *dir, *dir1; + struct proc_dir_entry *iopdir; struct i2o_device *dev; char buff[10]; - sprintf(buff, "iop%d", pctrl->unit); + snprintf(buff, 10, "iop%d", c->unit); - dir = proc_mkdir(buff, root); - if(!dir) - return -1; - - pctrl->proc_entry = dir; + pr_debug("Adding IOP /proc/i2o/%s\n", buff); - i2o_proc_create_entries(pctrl, generic_iop_entries, dir); - - for(dev = pctrl->devices; dev; dev = dev->next) - { - sprintf(buff, "%0#5x", dev->lct_data.tid); + iopdir = proc_mkdir(buff, dir); + if (!iopdir) + return -1; - dir1 = proc_mkdir(buff, dir); - dev->proc_entry = dir1; + iopdir->data = c; - if(!dir1) - printk(KERN_INFO "i2o_proc: Could not allocate proc dir\n"); + i2o_proc_create_entries(iopdir, i2o_proc_generic_iop_entries, c); - i2o_proc_add_device(dev, dir1); - } + list_for_each_entry(dev, &c->devices, list) + i2o_proc_device_add(iopdir, dev); return 0; } -void i2o_proc_new_dev(struct i2o_controller *c, struct i2o_device *d) -{ - char buff[10]; - -#ifdef DRIVERDEBUG - printk(KERN_INFO "Adding new device to /proc/i2o/iop%d\n", c->unit); -#endif - sprintf(buff, "%0#5x", d->lct_data.tid); - - d->proc_entry = proc_mkdir(buff, c->proc_entry); - - if(!d->proc_entry) - { - printk(KERN_WARNING "i2o: Could not allocate procdir!\n"); - return; - } - - i2o_proc_add_device(d, d->proc_entry); -} - -void i2o_proc_add_device(struct i2o_device *dev, struct proc_dir_entry *dir) -{ - i2o_proc_create_entries(dev, generic_dev_entries, dir); - - /* Inform core that we want updates about this device's status */ - i2o_device_notify_on(dev, &i2o_proc_handler); - switch(dev->lct_data.class_id) - { - case I2O_CLASS_SCSI_PERIPHERAL: - case I2O_CLASS_RANDOM_BLOCK_STORAGE: - i2o_proc_create_entries(dev, rbs_dev_entries, dir); - break; - case I2O_CLASS_LAN: - i2o_proc_create_entries(dev, lan_entries, dir); - switch(dev->lct_data.sub_class) - { - case I2O_LAN_ETHERNET: - i2o_proc_create_entries(dev, lan_eth_entries, dir); - break; - case I2O_LAN_FDDI: - i2o_proc_create_entries(dev, lan_fddi_entries, dir); - break; - case I2O_LAN_TR: - i2o_proc_create_entries(dev, lan_tr_entries, dir); - break; - default: - break; - } - break; - default: - break; - } -} - -static void i2o_proc_remove_controller(struct i2o_controller *pctrl, - struct proc_dir_entry *parent) -{ - char buff[10]; - struct i2o_device *dev; - - /* Remove unused device entries */ - for(dev=pctrl->devices; dev; dev=dev->next) - i2o_proc_remove_device(dev); - - if(!atomic_read(&pctrl->proc_entry->count)) - { - sprintf(buff, "iop%d", pctrl->unit); - - i2o_proc_remove_entries(generic_iop_entries, pctrl->proc_entry); - remove_proc_entry(buff, parent); - pctrl->proc_entry = NULL; - } -} - -void i2o_proc_remove_device(struct i2o_device *dev) +/** + * i2o_proc_iop_remove - Removes an I2O controller from the i2o proc tree + * @dir: parent proc dir entry + * @c: I2O controller which should be removed + * + * Iterate over each i2o proc entry and search controller c. If it is found + * remove it from the tree. + */ +static void i2o_proc_iop_remove(struct proc_dir_entry *dir, + struct i2o_controller *c) { - struct proc_dir_entry *de=dev->proc_entry; - char dev_id[10]; - - sprintf(dev_id, "%0#5x", dev->lct_data.tid); - - i2o_device_notify_off(dev, &i2o_proc_handler); - /* Would it be safe to remove _files_ even if they are in use? */ - if((de) && (!atomic_read(&de->count))) - { - i2o_proc_remove_entries(generic_dev_entries, de); - switch(dev->lct_data.class_id) - { - case I2O_CLASS_SCSI_PERIPHERAL: - case I2O_CLASS_RANDOM_BLOCK_STORAGE: - i2o_proc_remove_entries(rbs_dev_entries, de); - break; - case I2O_CLASS_LAN: - { - i2o_proc_remove_entries(lan_entries, de); - switch(dev->lct_data.sub_class) - { - case I2O_LAN_ETHERNET: - i2o_proc_remove_entries(lan_eth_entries, de); - break; - case I2O_LAN_FDDI: - i2o_proc_remove_entries(lan_fddi_entries, de); - break; - case I2O_LAN_TR: - i2o_proc_remove_entries(lan_tr_entries, de); - break; - } - } + struct proc_dir_entry *pe, *tmp; + + pe = dir->subdir; + while (pe) { + tmp = pe->next; + if (pe->data == c) { + i2o_proc_subdir_remove(pe); + remove_proc_entry(pe->name, dir); } - remove_proc_entry(dev_id, dev->controller->proc_entry); + pr_debug("Removing IOP /proc/i2o/iop%d\n", c->unit); + pe = tmp; } } - -void i2o_proc_dev_del(struct i2o_controller *c, struct i2o_device *d) -{ -#ifdef DRIVERDEBUG - printk(KERN_INFO "Deleting device %d from iop%d\n", - d->lct_data.tid, c->unit); -#endif - - i2o_proc_remove_device(d); -} -static int create_i2o_procfs(void) +/** + * i2o_proc_fs_create - Create the i2o proc fs. + * + * Iterate over each I2O controller and create the entries for it. + * + * Returns 0 on success or negative error code on failure. + */ +static int __init i2o_proc_fs_create(void) { - struct i2o_controller *pctrl = NULL; - int i; + struct i2o_controller *c; i2o_proc_dir_root = proc_mkdir("i2o", NULL); - if(!i2o_proc_dir_root) + if (!i2o_proc_dir_root) return -1; + i2o_proc_dir_root->owner = THIS_MODULE; - for(i = 0; i < MAX_I2O_CONTROLLERS; i++) - { - pctrl = i2o_find_controller(i); - if(pctrl) - { - i2o_proc_add_controller(pctrl, i2o_proc_dir_root); - i2o_unlock_controller(pctrl); - } - }; + list_for_each_entry(c, &i2o_controllers, list) + i2o_proc_iop_add(i2o_proc_dir_root, c); return 0; -} +}; -static int __exit destroy_i2o_procfs(void) +/** + * i2o_proc_fs_destroy - Cleanup the all i2o proc entries + * + * Iterate over each I2O controller and remove the entries for it. + * + * Returns 0 on success or negative error code on failure. + */ +static int __exit i2o_proc_fs_destroy(void) { - struct i2o_controller *pctrl = NULL; - int i; + struct i2o_controller *c; - for(i = 0; i < MAX_I2O_CONTROLLERS; i++) - { - pctrl = i2o_find_controller(i); - if(pctrl) - { - i2o_proc_remove_controller(pctrl, i2o_proc_dir_root); - i2o_unlock_controller(pctrl); - } - } + list_for_each_entry(c, &i2o_controllers, list) + i2o_proc_iop_remove(i2o_proc_dir_root, c); - if(!atomic_read(&i2o_proc_dir_root->count)) - remove_proc_entry("i2o", NULL); - else - return -1; + remove_proc_entry("i2o", NULL); return 0; -} +}; -int __init i2o_proc_init(void) +/** + * i2o_proc_init - Init function for procfs + * + * Registers Proc OSM and creates procfs entries. + * + * Returns 0 on success or negative error code on failure. + */ +static int __init i2o_proc_init(void) { - if (i2o_install_handler(&i2o_proc_handler) < 0) - { - printk(KERN_ERR "i2o_proc: Unable to install PROC handler.\n"); - return 0; - } + int rc; + + rc = i2o_driver_register(&i2o_proc_driver); + if (rc) + return rc; - if(create_i2o_procfs()) - return -EBUSY; + rc = i2o_proc_fs_create(); + if (rc) { + i2o_driver_unregister(&i2o_proc_driver); + return rc; + } return 0; -} +}; + +/** + * i2o_proc_exit - Exit function for procfs + * + * Unregisters Proc OSM and removes procfs entries. + */ +static void __exit i2o_proc_exit(void) +{ + i2o_driver_unregister(&i2o_proc_driver); + i2o_proc_fs_destroy(); +}; MODULE_AUTHOR("Deepak Saxena"); MODULE_DESCRIPTION("I2O procfs Handler"); MODULE_LICENSE("GPL"); -static void __exit i2o_proc_exit(void) -{ - destroy_i2o_procfs(); - i2o_remove_handler(&i2o_proc_handler); -} - -#ifdef MODULE module_init(i2o_proc_init); -#endif module_exit(i2o_proc_exit); - diff --git a/drivers/message/i2o/i2o_scsi.c b/drivers/message/i2o/i2o_scsi.c index ba121fc85..9be68f380 100644 --- a/drivers/message/i2o/i2o_scsi.c +++ b/drivers/message/i2o/i2o_scsi.c @@ -1,4 +1,4 @@ -/* +/* * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any @@ -19,13 +19,13 @@ * * o Each (bus,lun) is a logical device in I2O. We keep a map * table. We spoof failed selection for unmapped units - * o Request sense buffers can come back for free. + * o Request sense buffers can come back for free. * o Scatter gather is a bit dynamic. We have to investigate at * setup time. * o Some of our resources are dynamically shared. The i2o core * needs a message reservation protocol to avoid swap v net * deadlocking. We need to back off queue requests. - * + * * In general the firmware wants to help. Where its help isn't performance * useful we just ignore the aid. Its not worth the code in truth. * @@ -40,7 +40,6 @@ * Fix the resource management problems. */ - #include #include #include @@ -53,79 +52,229 @@ #include #include #include +#include +#include + #include #include #include #include -#include -#include #include -#include -#include #include - +#include +#include #define VERSION_STRING "Version 0.1.2" -//#define DRIVERDEBUG +static struct i2o_driver i2o_scsi_driver; -#ifdef DRIVERDEBUG -#define dprintk(s, args...) printk(s, ## args) -#else -#define dprintk(s, args...) -#endif +static int i2o_scsi_max_id = 16; +static int i2o_scsi_max_lun = 8; + +struct i2o_scsi_host { + struct Scsi_Host *scsi_host; /* pointer to the SCSI host */ + struct i2o_controller *iop; /* pointer to the I2O controller */ + struct i2o_device *channel[0]; /* channel->i2o_dev mapping table */ +}; + +static struct scsi_host_template i2o_scsi_host_template; #define I2O_SCSI_CAN_QUEUE 4 -#define MAXHOSTS 32 -struct i2o_scsi_host -{ - struct i2o_controller *controller; - s16 task[16][8]; /* Allow 16 devices for now */ - unsigned long tagclock[16][8]; /* Tag clock for queueing */ - s16 bus_task; /* The adapter TID */ +/* SCSI OSM class handling definition */ +static struct i2o_class_id i2o_scsi_class_id[] = { + {I2O_CLASS_SCSI_PERIPHERAL}, + {I2O_CLASS_END} }; -static int scsi_context; -static int lun_done; -static int i2o_scsi_hosts; +static struct i2o_scsi_host *i2o_scsi_host_alloc(struct i2o_controller *c) +{ + struct i2o_scsi_host *i2o_shost; + struct i2o_device *i2o_dev; + struct Scsi_Host *scsi_host; + int max_channel = 0; + u8 type; + int i; + size_t size; + i2o_status_block *sb; -static u32 *retry[32]; -static struct i2o_controller *retry_ctrl[32]; -static struct timer_list retry_timer; -static spinlock_t retry_lock = SPIN_LOCK_UNLOCKED; -static int retry_ct = 0; + list_for_each_entry(i2o_dev, &c->devices, list) + if (i2o_dev->lct_data.class_id == I2O_CLASS_BUS_ADAPTER_PORT) { + if (i2o_parm_field_get(i2o_dev, 0x0000, 0, &type, 1) || (type == 1)) /* SCSI bus */ + max_channel++; + } -static atomic_t queue_depth; + if (!max_channel) { + printk(KERN_WARNING "scsi-osm: no channels found on %s\n", + c->name); + return ERR_PTR(-EFAULT); + } -/* - * SG Chain buffer support... + size = max_channel * sizeof(struct i2o_device *) + + sizeof(struct i2o_scsi_host); + + scsi_host = scsi_host_alloc(&i2o_scsi_host_template, size); + if (!scsi_host) { + printk(KERN_WARNING "scsi-osm: Could not allocate SCSI host\n"); + return ERR_PTR(-ENOMEM); + } + + scsi_host->max_channel = max_channel - 1; + scsi_host->max_id = i2o_scsi_max_id; + scsi_host->max_lun = i2o_scsi_max_lun; + scsi_host->this_id = c->unit; + + sb = c->status_block.virt; + + scsi_host->sg_tablesize = (sb->inbound_frame_size - + sizeof(struct i2o_message) / 4 - 6) / 2; + + i2o_shost = (struct i2o_scsi_host *)scsi_host->hostdata; + i2o_shost->scsi_host = scsi_host; + i2o_shost->iop = c; + + i = 0; + list_for_each_entry(i2o_dev, &c->devices, list) + if (i2o_dev->lct_data.class_id == I2O_CLASS_BUS_ADAPTER_PORT) { + if (i2o_parm_field_get(i2o_dev, 0x0000, 0, &type, 1) || (type == 1)) /* only SCSI bus */ + i2o_shost->channel[i++] = i2o_dev; + + if (i >= max_channel) + break; + } + + return i2o_shost; +}; + +/** + * i2o_scsi_get_host - Get an I2O SCSI host + * @c: I2O controller to for which to get the SCSI host + * + * If the I2O controller already exists as SCSI host, the SCSI host + * is returned, otherwise the I2O controller is added to the SCSI + * core. + * + * Returns pointer to the I2O SCSI host on success or NULL on failure. + */ +static struct i2o_scsi_host *i2o_scsi_get_host(struct i2o_controller *c) +{ + return c->driver_data[i2o_scsi_driver.context]; +}; + +/** + * i2o_scsi_remove - Remove I2O device from SCSI core + * @dev: device which should be removed + * + * Removes the I2O device from the SCSI core again. + * + * Returns 0 on success. */ +static int i2o_scsi_remove(struct device *dev) +{ + struct i2o_device *i2o_dev = to_i2o_device(dev); + struct i2o_controller *c = i2o_dev->iop; + struct i2o_scsi_host *i2o_shost; + struct scsi_device *scsi_dev; + + i2o_shost = i2o_scsi_get_host(c); + + shost_for_each_device(scsi_dev, i2o_shost->scsi_host) + if (scsi_dev->hostdata == i2o_dev) { + scsi_remove_device(scsi_dev); + scsi_device_put(scsi_dev); + break; + } -#define SG_MAX_FRAGS 64 + return 0; +}; -/* - * FIXME: we should allocate one of these per bus we find as we - * locate them not in a lump at boot. +/** + * i2o_scsi_probe - verify if dev is a I2O SCSI device and install it + * @dev: device to verify if it is a I2O SCSI device + * + * Retrieve channel, id and lun for I2O device. If everthing goes well + * register the I2O device as SCSI device on the I2O SCSI controller. + * + * Returns 0 on success or negative error code on failure. */ - -typedef struct _chain_buf +static int i2o_scsi_probe(struct device *dev) { - u32 sg_flags_cnt[SG_MAX_FRAGS]; - u32 sg_buf[SG_MAX_FRAGS]; -} chain_buf; + struct i2o_device *i2o_dev = to_i2o_device(dev); + struct i2o_controller *c = i2o_dev->iop; + struct i2o_scsi_host *i2o_shost; + struct Scsi_Host *scsi_host; + struct i2o_device *parent; + struct scsi_device *scsi_dev; + u32 id; + u64 lun; + int channel = -1; + int i; + + i2o_shost = i2o_scsi_get_host(c); + if (!i2o_shost) + return -EFAULT; + + scsi_host = i2o_shost->scsi_host; -#define SG_CHAIN_BUF_SZ sizeof(chain_buf) + if (i2o_parm_field_get(i2o_dev, 0, 3, &id, 4) < 0) + return -EFAULT; + + if (id >= scsi_host->max_id) { + printk(KERN_WARNING "scsi-osm: SCSI device id (%d) >= max_id " + "of I2O host (%d)", id, scsi_host->max_id); + return -EFAULT; + } + + if (i2o_parm_field_get(i2o_dev, 0, 4, &lun, 8) < 0) + return -EFAULT; + if (lun >= scsi_host->max_lun) { + printk(KERN_WARNING "scsi-osm: SCSI device id (%d) >= max_lun " + "of I2O host (%d)", (unsigned int)lun, + scsi_host->max_lun); + return -EFAULT; + } + + parent = i2o_iop_find_device(c, i2o_dev->lct_data.parent_tid); + if (!parent) { + printk(KERN_WARNING "scsi-osm: can not find parent of device " + "%03x\n", i2o_dev->lct_data.tid); + return -EFAULT; + } -#define SG_MAX_BUFS (i2o_num_controllers * I2O_SCSI_CAN_QUEUE) -#define SG_CHAIN_POOL_SZ (SG_MAX_BUFS * SG_CHAIN_BUF_SZ) + for (i = 0; i <= i2o_shost->scsi_host->max_channel; i++) + if (i2o_shost->channel[i] == parent) + channel = i; + + if (channel == -1) { + printk(KERN_WARNING "scsi-osm: can not find channel of device " + "%03x\n", i2o_dev->lct_data.tid); + return -EFAULT; + } + + scsi_dev = + __scsi_add_device(i2o_shost->scsi_host, channel, id, lun, i2o_dev); + + if (!scsi_dev) { + printk(KERN_WARNING "scsi-osm: can not add SCSI device " + "%03x\n", i2o_dev->lct_data.tid); + return -EFAULT; + } + + pr_debug("Added new SCSI device %03x (cannel: %d, id: %d, lun: %d)\n", + i2o_dev->lct_data.tid, channel, id, (unsigned int)lun); + + return 0; +}; -static int max_sg_len = 0; -static chain_buf *sg_chain_pool = NULL; -static int sg_chain_tag = 0; -static int sg_max_frags = SG_MAX_FRAGS; +static const char *i2o_scsi_info(struct Scsi_Host *SChost) +{ + struct i2o_scsi_host *hostdata; + hostdata = (struct i2o_scsi_host *)SChost->hostdata; + return hostdata->iop->name; +} +#if 0 /** * i2o_retry_run - retry on timeout * @f: unused @@ -136,16 +285,16 @@ static int sg_max_frags = SG_MAX_FRAGS; * and its default handler should be this in the core, and this * call a 2nd "I give up" handler in the OSM ? */ - + static void i2o_retry_run(unsigned long f) { int i; unsigned long flags; - + spin_lock_irqsave(&retry_lock, flags); - for(i=0;i 0 + * on success and if the reply should be flushed. Returns negative error + * code on failure and if the reply should be flushed. */ - -static void i2o_scsi_reply(struct i2o_handler *h, struct i2o_controller *c, struct i2o_message *msg) +static int i2o_scsi_reply(struct i2o_controller *c, u32 m, + struct i2o_message *msg) { - struct scsi_cmnd *current_command; - spinlock_t *lock; - u32 *m = (u32 *)msg; - u8 as,ds,st; - unsigned long flags; + struct scsi_cmnd *cmd; + struct device *dev; + u8 as, ds, st; + + cmd = i2o_cntxt_list_get(c, readl(&msg->u.s.tcntxt)); + + if (msg->u.head[0] & (1 << 13)) { + struct i2o_message *pmsg; /* preserved message */ + u32 pm; + + pm = readl(&msg->body[3]); + + pmsg = c->in_queue.virt + pm; - if(m[0] & (1<<13)) - { printk("IOP fail.\n"); printk("From %d To %d Cmd %d.\n", - (m[1]>>12)&0xFFF, - m[1]&0xFFF, - m[1]>>24); - printk("Failure Code %d.\n", m[4]>>24); - if(m[4]&(1<<16)) + (msg->u.head[1] >> 12) & 0xFFF, + msg->u.head[1] & 0xFFF, msg->u.head[1] >> 24); + printk("Failure Code %d.\n", msg->body[0] >> 24); + if (msg->body[0] & (1 << 16)) printk("Format error.\n"); - if(m[4]&(1<<17)) + if (msg->body[0] & (1 << 17)) printk("Path error.\n"); - if(m[4]&(1<<18)) + if (msg->body[0] & (1 << 18)) printk("Path State.\n"); - if(m[4]&(1<<18)) + if (msg->body[0] & (1 << 18)) printk("Congestion.\n"); - - m=(u32 *)bus_to_virt(m[7]); - printk("Failing message is %p.\n", m); - - /* This isnt a fast path .. */ - spin_lock_irqsave(&retry_lock, flags); - - if((m[4]&(1<<18)) && retry_ct < 32) - { - retry_ctrl[retry_ct]=c; - retry[retry_ct]=m; - if(!retry_ct++) - { - retry_timer.expires=jiffies+1; - add_timer(&retry_timer); - } - spin_unlock_irqrestore(&retry_lock, flags); - } - else - { - spin_unlock_irqrestore(&retry_lock, flags); - /* Create a scsi error for this */ - current_command = (struct scsi_cmnd *)i2o_context_list_get(m[3], c); - if(!current_command) - return; - - lock = current_command->device->host->host_lock; - printk("Aborted %ld\n", current_command->serial_number); - - spin_lock_irqsave(lock, flags); - current_command->result = DID_ERROR << 16; - current_command->scsi_done(current_command); - spin_unlock_irqrestore(lock, flags); - - /* Now flush the message by making it a NOP */ - m[0]&=0x00FFFFFF; - m[0]|=(I2O_CMD_UTIL_NOP)<<24; - i2o_post_message(c,virt_to_bus(m)); - } - return; + + printk("Failing message is %p.\n", pmsg); + + cmd = i2o_cntxt_list_get(c, readl(&pmsg->u.s.tcntxt)); + if (!cmd) + return 1; + + printk("Aborted %ld\n", cmd->serial_number); + cmd->result = DID_ERROR << 16; + cmd->scsi_done(cmd); + + /* Now flush the message by making it a NOP */ + i2o_msg_nop(c, pm); + + return 1; } - - prefetchw(&queue_depth); - - + /* - * Low byte is device status, next is adapter status, - * (then one byte reserved), then request status. + * Low byte is device status, next is adapter status, + * (then one byte reserved), then request status. */ - ds=(u8)le32_to_cpu(m[4]); - as=(u8)le32_to_cpu(m[4]>>8); - st=(u8)le32_to_cpu(m[4]>>24); - - dprintk(KERN_INFO "i2o got a scsi reply %08X: ", m[0]); - dprintk(KERN_INFO "m[2]=%08X: ", m[2]); - dprintk(KERN_INFO "m[4]=%08X\n", m[4]); - - if(m[2]&0x80000000) - { - if(m[2]&0x40000000) - { - dprintk(KERN_INFO "Event.\n"); - lun_done=1; - return; - } - printk(KERN_INFO "i2o_scsi: bus reset completed.\n"); - return; - } + ds = (u8) readl(&msg->body[0]); + as = (u8) (readl(&msg->body[0]) >> 8); + st = (u8) (readl(&msg->body[0]) >> 24); - current_command = (struct scsi_cmnd *)i2o_context_list_get(m[3], c); - /* - * Is this a control request coming back - eg an abort ? + * Is this a control request coming back - eg an abort ? */ - - atomic_dec(&queue_depth); - - if(current_command==NULL) - { - if(st) - dprintk(KERN_WARNING "SCSI abort: %08X", m[4]); - dprintk(KERN_INFO "SCSI abort completed.\n"); - return; - } - - dprintk(KERN_INFO "Completed %ld\n", current_command->serial_number); - - if(st == 0x06) - { - if(le32_to_cpu(m[5]) < current_command->underflow) - { - int i; - printk(KERN_ERR "SCSI: underflow 0x%08X 0x%08X\n", - le32_to_cpu(m[5]), current_command->underflow); - printk("Cmd: "); - for(i=0;i<15;i++) - printk("%02X ", current_command->cmnd[i]); - printk(".\n"); - } - else st=0; - } - - if(st) - { - /* An error has occurred */ - dprintk(KERN_WARNING "SCSI error %08X", m[4]); - - if (as == 0x0E) - /* SCSI Reset */ - current_command->result = DID_RESET << 16; - else if (as == 0x0F) - current_command->result = DID_PARITY << 16; - else - current_command->result = DID_ERROR << 16; - } - else - /* - * It worked maybe ? - */ - current_command->result = DID_OK << 16 | ds; - - if (current_command->use_sg) { - pci_unmap_sg(c->pdev, - (struct scatterlist *)current_command->buffer, - current_command->use_sg, - current_command->sc_data_direction); - } else if (current_command->request_bufflen) { - pci_unmap_single(c->pdev, - (dma_addr_t)((long)current_command->SCp.ptr), - current_command->request_bufflen, - current_command->sc_data_direction); + if (!cmd) { + if (st) + printk(KERN_WARNING "SCSI abort: %08X", + readl(&msg->body[0])); + printk(KERN_INFO "SCSI abort completed.\n"); + return -EFAULT; } - lock = current_command->device->host->host_lock; - spin_lock_irqsave(lock, flags); - current_command->scsi_done(current_command); - spin_unlock_irqrestore(lock, flags); - return; -} + pr_debug("Completed %ld\n", cmd->serial_number); -struct i2o_handler i2o_scsi_handler = { - .reply = i2o_scsi_reply, - .name = "I2O SCSI OSM", - .class = I2O_CLASS_SCSI_PERIPHERAL, -}; + if (st) { + u32 count, error; + /* An error has occurred */ -/** - * i2o_find_lun - report the lun of an i2o device - * @c: i2o controller owning the device - * @d: i2o disk device - * @target: filled in with target id - * @lun: filled in with target lun - * - * Query an I2O device to find out its SCSI lun and target numbering. We - * don't currently handle some of the fancy SCSI-3 stuff although our - * querying is sufficient to do so. - */ - -static int i2o_find_lun(struct i2o_controller *c, struct i2o_device *d, int *target, int *lun) -{ - u8 reply[8]; - - if(i2o_query_scalar(c, d->lct_data.tid, 0, 3, reply, 4)<0) - return -1; - - *target=reply[0]; - - if(i2o_query_scalar(c, d->lct_data.tid, 0, 4, reply, 8)<0) - return -1; - - *lun=reply[1]; - - dprintk(KERN_INFO "SCSI (%d,%d)\n", *target, *lun); - return 0; -} + switch (st) { + case 0x06: + count = readl(&msg->body[1]); + if (count < cmd->underflow) { + int i; + printk(KERN_ERR "SCSI: underflow 0x%08X 0x%08X" + "\n", count, cmd->underflow); + printk("Cmd: "); + for (i = 0; i < 15; i++) + printk("%02X ", cmd->cmnd[i]); + printk(".\n"); + cmd->result = (DID_ERROR << 16); + } + break; -/** - * i2o_scsi_init - initialize an i2o device for scsi - * @c: i2o controller owning the device - * @d: scsi controller - * @shpnt: scsi device we wish it to become - * - * Enumerate the scsi peripheral/fibre channel peripheral class - * devices that are children of the controller. From that we build - * a translation map for the command queue code. Since I2O works on - * its own tid's we effectively have to think backwards to get what - * the midlayer wants - */ - -static void i2o_scsi_init(struct i2o_controller *c, struct i2o_device *d, struct Scsi_Host *shpnt) -{ - struct i2o_device *unit; - struct i2o_scsi_host *h =(struct i2o_scsi_host *)shpnt->hostdata; - int lun; - int target; - - h->controller=c; - h->bus_task=d->lct_data.tid; - - for(target=0;target<16;target++) - for(lun=0;lun<8;lun++) - h->task[target][lun] = -1; - - for(unit=c->devices;unit!=NULL;unit=unit->next) - { - dprintk(KERN_INFO "Class %03X, parent %d, want %d.\n", - unit->lct_data.class_id, unit->lct_data.parent_tid, d->lct_data.tid); - - /* Only look at scsi and fc devices */ - if ( (unit->lct_data.class_id != I2O_CLASS_SCSI_PERIPHERAL) - && (unit->lct_data.class_id != I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL) - ) - continue; - - /* On our bus ? */ - dprintk(KERN_INFO "Found a disk (%d).\n", unit->lct_data.tid); - if ((unit->lct_data.parent_tid == d->lct_data.tid) - || (unit->lct_data.parent_tid == d->lct_data.parent_tid) - ) - { - u16 limit; - dprintk(KERN_INFO "Its ours.\n"); - if(i2o_find_lun(c, unit, &target, &lun)==-1) - { - printk(KERN_ERR "i2o_scsi: Unable to get lun for tid %d.\n", unit->lct_data.tid); - continue; + default: + error = readl(&msg->body[0]); + + printk(KERN_ERR "scsi-osm: SCSI error %08x\n", error); + + if ((error & 0xff) == 0x02 /*CHECK_CONDITION */ ) { + int i; + u32 len = sizeof(cmd->sense_buffer); + len = (len > 40) ? 40 : len; + // Copy over the sense data + memcpy(cmd->sense_buffer, (void *)&msg->body[3], + len); + for (i = 0; i <= len; i++) + printk(KERN_INFO "%02x\n", + cmd->sense_buffer[i]); + if (cmd->sense_buffer[0] == 0x70 + && cmd->sense_buffer[2] == DATA_PROTECT) { + /* This is to handle an array failed */ + cmd->result = (DID_TIME_OUT << 16); + printk(KERN_WARNING "%s: SCSI Data " + "Protect-Device (%d,%d,%d) " + "hba_status=0x%x, dev_status=" + "0x%x, cmd=0x%x\n", c->name, + (u32) cmd->device->channel, + (u32) cmd->device->id, + (u32) cmd->device->lun, + (error >> 8) & 0xff, + error & 0xff, cmd->cmnd[0]); + } else + cmd->result = (DID_ERROR << 16); + + break; } - dprintk(KERN_INFO "Found disk %d %d.\n", target, lun); - h->task[target][lun]=unit->lct_data.tid; - h->tagclock[target][lun]=jiffies; - - /* Get the max fragments/request */ - i2o_query_scalar(c, d->lct_data.tid, 0xF103, 3, &limit, 2); - - /* sanity */ - if ( limit == 0 ) - { - printk(KERN_WARNING "i2o_scsi: Ignoring unreasonable SG limit of 0 from IOP!\n"); - limit = 1; + + switch (as) { + case 0x0E: + /* SCSI Reset */ + cmd->result = DID_RESET << 16; + break; + + case 0x0F: + cmd->result = DID_PARITY << 16; + break; + + default: + cmd->result = DID_ERROR << 16; + break; } - - shpnt->sg_tablesize = limit; - dprintk(KERN_INFO "i2o_scsi: set scatter-gather to %d.\n", - shpnt->sg_tablesize); + break; } - } -} + + cmd->scsi_done(cmd); + return 1; + } + + cmd->result = DID_OK << 16 | ds; + + cmd->scsi_done(cmd); + + dev = &c->pdev->dev; + if (cmd->use_sg) + dma_unmap_sg(dev, (struct scatterlist *)cmd->buffer, + cmd->use_sg, cmd->sc_data_direction); + else if (cmd->request_bufflen) + dma_unmap_single(dev, (dma_addr_t) ((long)cmd->SCp.ptr), + cmd->request_bufflen, cmd->sc_data_direction); + + return 1; +}; /** - * i2o_scsi_detect - probe for I2O scsi devices - * @tpnt: scsi layer template + * i2o_scsi_notify_controller_add - Retrieve notifications of added + * controllers + * @c: the controller which was added * - * I2O is a little odd here. The I2O core already knows what the - * devices are. It also knows them by disk and tape as well as - * by controller. We register each I2O scsi class object as a - * scsi controller and then let the enumeration fake up the rest + * If a I2O controller is added, we catch the notification to add a + * corresponding Scsi_Host. */ - -static int i2o_scsi_detect(struct scsi_host_template * tpnt) +void i2o_scsi_notify_controller_add(struct i2o_controller *c) { - struct Scsi_Host *shpnt = NULL; - int i; - int count; + struct i2o_scsi_host *i2o_shost; + int rc; - printk(KERN_INFO "i2o_scsi.c: %s\n", VERSION_STRING); - - if(i2o_install_handler(&i2o_scsi_handler)<0) - { - printk(KERN_ERR "i2o_scsi: Unable to install OSM handler.\n"); - return 0; - } - scsi_context = i2o_scsi_handler.context; - - if((sg_chain_pool = kmalloc(SG_CHAIN_POOL_SZ, GFP_KERNEL)) == NULL) - { - printk(KERN_INFO "i2o_scsi: Unable to alloc %d byte SG chain buffer pool.\n", SG_CHAIN_POOL_SZ); - printk(KERN_INFO "i2o_scsi: SG chaining DISABLED!\n"); - sg_max_frags = 11; - } - else - { - printk(KERN_INFO " chain_pool: %d bytes @ %p\n", SG_CHAIN_POOL_SZ, sg_chain_pool); - printk(KERN_INFO " (%d byte buffers X %d can_queue X %d i2o controllers)\n", - SG_CHAIN_BUF_SZ, I2O_SCSI_CAN_QUEUE, i2o_num_controllers); - sg_max_frags = SG_MAX_FRAGS; // 64 - } - - init_timer(&retry_timer); - retry_timer.data = 0UL; - retry_timer.function = i2o_retry_run; - -// printk("SCSI OSM at %d.\n", scsi_context); - - for (count = 0, i = 0; i < MAX_I2O_CONTROLLERS; i++) - { - struct i2o_controller *c=i2o_find_controller(i); - struct i2o_device *d; - /* - * This controller doesn't exist. - */ - - if(c==NULL) - continue; - - /* - * Fixme - we need some altered device locking. This - * is racing with device addition in theory. Easy to fix. - */ - - for(d=c->devices;d!=NULL;d=d->next) - { - /* - * bus_adapter, SCSI (obsolete), or FibreChannel busses only - */ - if( (d->lct_data.class_id!=I2O_CLASS_BUS_ADAPTER_PORT) // bus_adapter -// && (d->lct_data.class_id!=I2O_CLASS_FIBRE_CHANNEL_PORT) // FC_PORT - ) - continue; - - shpnt = scsi_register(tpnt, sizeof(struct i2o_scsi_host)); - if(shpnt==NULL) - continue; - shpnt->unique_id = (u32)d; - shpnt->io_port = 0; - shpnt->n_io_port = 0; - shpnt->irq = 0; - shpnt->this_id = /* Good question */15; - i2o_scsi_init(c, d, shpnt); - count++; - } - } - i2o_scsi_hosts = count; - - if(count==0) - { - if(sg_chain_pool!=NULL) - { - kfree(sg_chain_pool); - sg_chain_pool = NULL; - } - flush_pending(); - del_timer(&retry_timer); - i2o_remove_handler(&i2o_scsi_handler); + i2o_shost = i2o_scsi_host_alloc(c); + if (IS_ERR(i2o_shost)) { + printk(KERN_ERR "scsi-osm: Could not initialize" + " SCSI host\n"); + return; } - - return count; -} -static int i2o_scsi_release(struct Scsi_Host *host) -{ - if(--i2o_scsi_hosts==0) - { - if(sg_chain_pool!=NULL) - { - kfree(sg_chain_pool); - sg_chain_pool = NULL; - } - flush_pending(); - del_timer(&retry_timer); - i2o_remove_handler(&i2o_scsi_handler); + rc = scsi_add_host(i2o_shost->scsi_host, &c->device); + if (rc) { + printk(KERN_ERR "scsi-osm: Could not add SCSI " + "host\n"); + scsi_host_put(i2o_shost->scsi_host); + return; } - scsi_unregister(host); - - return 0; -} + c->driver_data[i2o_scsi_driver.context] = i2o_shost; + pr_debug("new I2O SCSI host added\n"); +}; -static const char *i2o_scsi_info(struct Scsi_Host *SChost) +/** + * i2o_scsi_notify_controller_remove - Retrieve notifications of removed + * controllers + * @c: the controller which was removed + * + * If a I2O controller is removed, we catch the notification to remove the + * corresponding Scsi_Host. + */ +void i2o_scsi_notify_controller_remove(struct i2o_controller *c) { - struct i2o_scsi_host *hostdata; - hostdata = (struct i2o_scsi_host *)SChost->hostdata; - return(&hostdata->controller->name[0]); -} + struct i2o_scsi_host *i2o_shost; + i2o_shost = i2o_scsi_get_host(c); + if (!i2o_shost) + return; + + c->driver_data[i2o_scsi_driver.context] = NULL; + + scsi_remove_host(i2o_shost->scsi_host); + scsi_host_put(i2o_shost->scsi_host); + pr_debug("I2O SCSI host removed\n"); +}; + +/* SCSI OSM driver struct */ +static struct i2o_driver i2o_scsi_driver = { + .name = "scsi-osm", + .reply = i2o_scsi_reply, + .classes = i2o_scsi_class_id, + .notify_controller_add = i2o_scsi_notify_controller_add, + .notify_controller_remove = i2o_scsi_notify_controller_remove, + .driver = { + .probe = i2o_scsi_probe, + .remove = i2o_scsi_remove, + }, +}; /** - * i2o_scsi_queuecommand - queue a SCSI command + * i2o_scsi_queuecommand - queue a SCSI command * @SCpnt: scsi command pointer * @done: callback for completion * - * Issue a scsi comamnd asynchronously. Return 0 on success or 1 if - * we hit an error (normally message queue congestion). The only + * Issue a scsi command asynchronously. Return 0 on success or 1 if + * we hit an error (normally message queue congestion). The only * minor complication here is that I2O deals with the device addressing * so we have to map the bus/dev/lun back to an I2O handle as well - * as faking absent devices ourself. + * as faking absent devices ourself. * * Locks: takes the controller lock on error path only */ - + static int i2o_scsi_queuecommand(struct scsi_cmnd *SCpnt, void (*done) (struct scsi_cmnd *)) { - int i; - int tid; struct i2o_controller *c; - struct scsi_cmnd *current_command; struct Scsi_Host *host; - struct i2o_scsi_host *hostdata; - u32 *msg, *mptr; + struct i2o_device *i2o_dev; + struct device *dev; + int tid; + struct i2o_message *msg; u32 m; - u32 *lenptr; - int direction; - int scsidir; - u32 len; - u32 reqlen; - u32 tag; - unsigned long flags; - - static int max_qd = 1; - + u32 scsi_flags, sg_flags; + u32 *mptr, *lenptr; + u32 len, reqlen; + int i; + /* - * Do the incoming paperwork + * Do the incoming paperwork */ - + + i2o_dev = SCpnt->device->hostdata; host = SCpnt->device->host; - hostdata = (struct i2o_scsi_host *)host->hostdata; - - c = hostdata->controller; - prefetch(c); - prefetchw(&queue_depth); + c = i2o_dev->iop; + dev = &c->pdev->dev; SCpnt->scsi_done = done; - - if(SCpnt->device->id > 15) - { - printk(KERN_ERR "i2o_scsi: Wild target %d.\n", SCpnt->device->id); - return -1; - } - - tid = hostdata->task[SCpnt->device->id][SCpnt->device->lun]; - - dprintk(KERN_INFO "qcmd: Tid = %d\n", tid); - - current_command = SCpnt; /* set current command */ - current_command->scsi_done = done; /* set ptr to done function */ - - /* We don't have such a device. Pretend we did the command - and that selection timed out */ - - if(tid == -1) - { + + if (unlikely(!i2o_dev)) { + printk(KERN_WARNING "scsi-osm: no I2O device in request\n"); SCpnt->result = DID_NO_CONNECT << 16; done(SCpnt); return 0; } - - dprintk(KERN_INFO "Real scsi messages.\n"); + + tid = i2o_dev->lct_data.tid; + + pr_debug("qcmd: Tid = %03x\n", tid); + pr_debug("Real scsi messages.\n"); /* - * Obtain an I2O message. If there are none free then - * throw it back to the scsi layer - */ - - m = le32_to_cpu(I2O_POST_READ32(c)); - if(m==0xFFFFFFFF) - return 1; + * Obtain an I2O message. If there are none free then + * throw it back to the scsi layer + */ + + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return SCSI_MLQUEUE_HOST_BUSY; - msg = (u32 *)(c->msg_virt + m); - /* - * Put together a scsi execscb message + * Put together a scsi execscb message */ - + len = SCpnt->request_bufflen; - direction = 0x00000000; // SGL IN (osm<--iop) - - if (SCpnt->sc_data_direction == DMA_NONE) { - scsidir = 0x00000000; // DATA NO XFER - } else if (SCpnt->sc_data_direction == DMA_TO_DEVICE) { - direction = 0x04000000; // SGL OUT (osm-->iop) - scsidir = 0x80000000; // DATA OUT (iop-->dev) - } else if(SCpnt->sc_data_direction == DMA_FROM_DEVICE) { - scsidir = 0x40000000; // DATA IN (iop<--dev) - } else { + + switch (SCpnt->sc_data_direction) { + case PCI_DMA_NONE: + scsi_flags = 0x00000000; // DATA NO XFER + sg_flags = 0x00000000; + break; + + case PCI_DMA_TODEVICE: + scsi_flags = 0x80000000; // DATA OUT (iop-->dev) + sg_flags = 0x14000000; + break; + + case PCI_DMA_FROMDEVICE: + scsi_flags = 0x40000000; // DATA IN (iop<--dev) + sg_flags = 0x10000000; + break; + + default: /* Unknown - kill the command */ SCpnt->result = DID_NO_CONNECT << 16; - - /* We must lock the request queue while completing */ - spin_lock_irqsave(host->host_lock, flags); done(SCpnt); - spin_unlock_irqrestore(host->host_lock, flags); return 0; } - - i2o_raw_writel(I2O_CMD_SCSI_EXEC<<24|HOST_TID<<12|tid, &msg[1]); - i2o_raw_writel(scsi_context, &msg[2]); /* So the I2O layer passes to us */ - i2o_raw_writel(i2o_context_list_add(SCpnt, c), &msg[3]); /* We want the SCSI control block back */ + writel(I2O_CMD_SCSI_EXEC << 24 | HOST_TID << 12 | tid, &msg->u.head[1]); + writel(i2o_scsi_driver.context, &msg->u.s.icntxt); + + /* We want the SCSI control block back */ + writel(i2o_cntxt_list_add(c, SCpnt), &msg->u.s.tcntxt); /* LSI_920_PCI_QUIRK * - * Intermittant observations of msg frame word data corruption - * observed on msg[4] after: - * WRITE, READ-MODIFY-WRITE - * operations. 19990606 -sralston + * Intermittant observations of msg frame word data corruption + * observed on msg[4] after: + * WRITE, READ-MODIFY-WRITE + * operations. 19990606 -sralston * - * (Hence we build this word via tag. Its good practice anyway - * we don't want fetches over PCI needlessly) + * (Hence we build this word via tag. Its good practice anyway + * we don't want fetches over PCI needlessly) */ - tag=0; - + /* Attach tags to the devices */ /* - * Attach tags to the devices - */ - if(SCpnt->device->tagged_supported) - { - /* - * Some drives are too stupid to handle fairness issues - * with tagged queueing. We throw in the odd ordered - * tag to stop them starving themselves. - */ - if((jiffies - hostdata->tagclock[SCpnt->device->id][SCpnt->device->lun]) > (5*HZ)) - { - tag=0x01800000; /* ORDERED! */ - hostdata->tagclock[SCpnt->device->id][SCpnt->device->lun]=jiffies; - } - else - { - /* Hmmm... I always see value of 0 here, - * of which {HEAD_OF, ORDERED, SIMPLE} are NOT! -sralston - */ - if(SCpnt->tag == HEAD_OF_QUEUE_TAG) - tag=0x01000000; - else if(SCpnt->tag == ORDERED_QUEUE_TAG) - tag=0x01800000; - } - } + if(SCpnt->device->tagged_supported) { + if(SCpnt->tag == HEAD_OF_QUEUE_TAG) + scsi_flags |= 0x01000000; + else if(SCpnt->tag == ORDERED_QUEUE_TAG) + scsi_flags |= 0x01800000; + } + */ /* Direction, disconnect ok, tag, CDBLen */ - i2o_raw_writel(scsidir|0x20000000|SCpnt->cmd_len|tag, &msg[4]); + writel(scsi_flags | 0x20200000 | SCpnt->cmd_len, &msg->body[0]); - mptr=msg+5; + mptr = &msg->body[1]; - /* - * Write SCSI command into the message - always 16 byte block - */ - + /* Write SCSI command into the message - always 16 byte block */ memcpy_toio(mptr, SCpnt->cmnd, 16); - mptr+=4; - lenptr=mptr++; /* Remember me - fill in when we know */ - + mptr += 4; + lenptr = mptr++; /* Remember me - fill in when we know */ + reqlen = 12; // SINGLE SGE - - /* - * Now fill in the SGList and command - * - * FIXME: we need to set the sglist limits according to the - * message size of the I2O controller. We might only have room - * for 6 or so worst case - */ - - if(SCpnt->use_sg) - { - struct scatterlist *sg = (struct scatterlist *)SCpnt->request_buffer; + + /* Now fill in the SGList and command */ + if (SCpnt->use_sg) { + struct scatterlist *sg; int sg_count; - int chain = 0; - + + sg = SCpnt->request_buffer; len = 0; - sg_count = pci_map_sg(c->pdev, sg, SCpnt->use_sg, - SCpnt->sc_data_direction); - - /* FIXME: handle fail */ - if(!sg_count) - BUG(); - - if((sg_max_frags > 11) && (SCpnt->use_sg > 11)) - { - chain = 1; - /* - * Need to chain! - */ - i2o_raw_writel(direction|0xB0000000|(SCpnt->use_sg*2*4), mptr++); - i2o_raw_writel(virt_to_bus(sg_chain_pool + sg_chain_tag), mptr); - mptr = (u32*)(sg_chain_pool + sg_chain_tag); - if (SCpnt->use_sg > max_sg_len) - { - max_sg_len = SCpnt->use_sg; - printk("i2o_scsi: Chain SG! SCpnt=%p, SG_FragCnt=%d, SG_idx=%d\n", - SCpnt, SCpnt->use_sg, sg_chain_tag); - } - if ( ++sg_chain_tag == SG_MAX_BUFS ) - sg_chain_tag = 0; - for(i = 0 ; i < SCpnt->use_sg; i++) - { - *mptr++=cpu_to_le32(direction|0x10000000|sg_dma_len(sg)); - len+=sg_dma_len(sg); - *mptr++=cpu_to_le32(sg_dma_address(sg)); - sg++; - } - mptr[-2]=cpu_to_le32(direction|0xD0000000|sg_dma_len(sg-1)); - } - else - { - for(i = 0 ; i < SCpnt->use_sg; i++) - { - i2o_raw_writel(direction|0x10000000|sg_dma_len(sg), mptr++); - len+=sg->length; - i2o_raw_writel(sg_dma_address(sg), mptr++); - sg++; - } + sg_count = dma_map_sg(dev, sg, SCpnt->use_sg, + SCpnt->sc_data_direction); - /* Make this an end of list. Again evade the 920 bug and - unwanted PCI read traffic */ - - i2o_raw_writel(direction|0xD0000000|sg_dma_len(sg-1), &mptr[-2]); - } - - if(!chain) - reqlen = mptr - msg; - - i2o_raw_writel(len, lenptr); - - if(len != SCpnt->underflow) - printk("Cmd len %08X Cmd underflow %08X\n", - len, SCpnt->underflow); - } - else - { - dprintk(KERN_INFO "non sg for %p, %d\n", SCpnt->request_buffer, - SCpnt->request_bufflen); - i2o_raw_writel(len = SCpnt->request_bufflen, lenptr); - if(len == 0) - { - reqlen = 9; + if (unlikely(sg_count <= 0)) + return -ENOMEM; + + for (i = SCpnt->use_sg; i > 0; i--) { + if (i == 1) + sg_flags |= 0xC0000000; + writel(sg_flags | sg_dma_len(sg), mptr++); + writel(sg_dma_address(sg), mptr++); + len += sg_dma_len(sg); + sg++; } - else - { + + reqlen = mptr - &msg->u.head[0]; + writel(len, lenptr); + } else { + len = SCpnt->request_bufflen; + + writel(len, lenptr); + + if (len > 0) { dma_addr_t dma_addr; - dma_addr = pci_map_single(c->pdev, - SCpnt->request_buffer, - SCpnt->request_bufflen, - SCpnt->sc_data_direction); - if(dma_addr == 0) - BUG(); /* How to handle ?? */ - SCpnt->SCp.ptr = (char *)(unsigned long) dma_addr; - i2o_raw_writel(0xD0000000|direction|SCpnt->request_bufflen, mptr++); - i2o_raw_writel(dma_addr, mptr++); - } + + dma_addr = dma_map_single(dev, SCpnt->request_buffer, + SCpnt->request_bufflen, + SCpnt->sc_data_direction); + if (!dma_addr) + return -ENOMEM; + + SCpnt->SCp.ptr = (void *)(unsigned long)dma_addr; + sg_flags |= 0xC0000000; + writel(sg_flags | SCpnt->request_bufflen, mptr++); + writel(dma_addr, mptr++); + } else + reqlen = 9; } - - /* - * Stick the headers on - */ - i2o_raw_writel(reqlen<<16 | SGL_OFFSET_10, msg); - + /* Stick the headers on */ + writel(reqlen << 16 | SGL_OFFSET_10, &msg->u.head[0]); + /* Queue the message */ - i2o_post_message(c,m); - - atomic_inc(&queue_depth); - - if(atomic_read(&queue_depth)> max_qd) - { - max_qd=atomic_read(&queue_depth); - printk("Queue depth now %d.\n", max_qd); - } - - mb(); - dprintk(KERN_INFO "Issued %ld\n", current_command->serial_number); - + i2o_msg_post(c, m); + + pr_debug("Issued %ld\n", SCpnt->serial_number); + return 0; -} +}; /** - * i2o_scsi_abort - abort a running command + * i2o_scsi_abort - abort a running command * @SCpnt: command to abort * * Ask the I2O controller to abort a command. This is an asynchrnous - * process and our callback handler will see the command complete - * with an aborted message if it succeeds. + * process and our callback handler will see the command complete with an + * aborted message if it succeeds. * - * Locks: no locks are held or needed + * Returns 0 if the command is successfully aborted or negative error code + * on failure. */ - -static int i2o_scsi_abort(struct scsi_cmnd * SCpnt) +int i2o_scsi_abort(struct scsi_cmnd *SCpnt) { + struct i2o_device *i2o_dev; struct i2o_controller *c; - struct Scsi_Host *host; - struct i2o_scsi_host *hostdata; - u32 msg[5]; + struct i2o_message *msg; + u32 m; int tid; int status = FAILED; - - printk(KERN_WARNING "i2o_scsi: Aborting command block.\n"); - - host = SCpnt->device->host; - hostdata = (struct i2o_scsi_host *)host->hostdata; - tid = hostdata->task[SCpnt->device->id][SCpnt->device->lun]; - if(tid==-1) - { - printk(KERN_ERR "i2o_scsi: Impossible command to abort!\n"); - return status; - } - c = hostdata->controller; - - spin_unlock_irq(host->host_lock); - - msg[0] = FIVE_WORD_MSG_SIZE; - msg[1] = I2O_CMD_SCSI_ABORT<<24|HOST_TID<<12|tid; - msg[2] = scsi_context; - msg[3] = 0; - msg[4] = i2o_context_list_remove(SCpnt, c); - if(i2o_post_wait(c, msg, sizeof(msg), 240)) - status = SUCCESS; - - spin_lock_irq(host->host_lock); - return status; -} - -/** - * i2o_scsi_bus_reset - Issue a SCSI reset - * @SCpnt: the command that caused the reset - * - * Perform a SCSI bus reset operation. In I2O this is just a message - * we pass. I2O can do clever multi-initiator and shared reset stuff - * but we don't support this. - * - * Locks: called with no lock held, requires no locks. - */ - -static int i2o_scsi_bus_reset(struct scsi_cmnd * SCpnt) -{ - int tid; - struct i2o_controller *c; - struct Scsi_Host *host; - struct i2o_scsi_host *hostdata; - u32 m; - void *msg; - unsigned long timeout; - - - /* - * Find the TID for the bus - */ - - host = SCpnt->device->host; + printk(KERN_WARNING "i2o_scsi: Aborting command block.\n"); - spin_unlock_irq(host->host_lock); + i2o_dev = SCpnt->device->hostdata; + c = i2o_dev->iop; + tid = i2o_dev->lct_data.tid; - printk(KERN_WARNING "i2o_scsi: Attempting to reset the bus.\n"); + m = i2o_msg_get_wait(c, &msg, I2O_TIMEOUT_MESSAGE_GET); + if (m == I2O_QUEUE_EMPTY) + return SCSI_MLQUEUE_HOST_BUSY; - hostdata = (struct i2o_scsi_host *)host->hostdata; - tid = hostdata->bus_task; - c = hostdata->controller; + writel(FIVE_WORD_MSG_SIZE | SGL_OFFSET_0, &msg->u.head[0]); + writel(I2O_CMD_SCSI_ABORT << 24 | HOST_TID << 12 | tid, + &msg->u.head[1]); + writel(i2o_cntxt_list_get_ptr(c, SCpnt), &msg->body[0]); - /* - * Now send a SCSI reset request. Any remaining commands - * will be aborted by the IOP. We need to catch the reply - * possibly ? - */ + if (i2o_msg_post_wait(c, m, I2O_TIMEOUT_SCSI_SCB_ABORT)) + status = SUCCESS; - timeout = jiffies+2*HZ; - do - { - m = le32_to_cpu(I2O_POST_READ32(c)); - if(m != 0xFFFFFFFF) - break; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(1); - mb(); - } - while(time_before(jiffies, timeout)); - - - msg = c->msg_virt + m; - i2o_raw_writel(FOUR_WORD_MSG_SIZE|SGL_OFFSET_0, msg); - i2o_raw_writel(I2O_CMD_SCSI_BUSRESET<<24|HOST_TID<<12|tid, msg+4); - i2o_raw_writel(scsi_context|0x80000000, msg+8); - /* We use the top bit to split controller and unit transactions */ - /* Now store unit,tid so we can tie the completion back to a specific device */ - __raw_writel(c->unit << 16 | tid, msg+12); - wmb(); - - /* We want the command to complete after we return */ - spin_lock_irq(host->host_lock); - i2o_post_message(c,m); - - /* Should we wait for the reset to complete ? */ - return SUCCESS; + return status; } /** * i2o_scsi_bios_param - Invent disk geometry - * @sdev: scsi device + * @sdev: scsi device * @dev: block layer device * @capacity: size in sectors * @ip: geometry array * - * This is anyones guess quite frankly. We use the same rules everyone + * This is anyones guess quite frankly. We use the same rules everyone * else appears to and hope. It seems to work. */ - -static int i2o_scsi_bios_param(struct scsi_device * sdev, - struct block_device *dev, sector_t capacity, int *ip) + +static int i2o_scsi_bios_param(struct scsi_device *sdev, + struct block_device *dev, sector_t capacity, + int *ip) { int size; @@ -1023,25 +819,64 @@ static int i2o_scsi_bios_param(struct scsi_device * sdev, return 0; } -MODULE_AUTHOR("Red Hat Software"); -MODULE_LICENSE("GPL"); +static struct scsi_host_template i2o_scsi_host_template = { + .proc_name = "SCSI-OSM", + .name = "I2O SCSI Peripheral OSM", + .info = i2o_scsi_info, + .queuecommand = i2o_scsi_queuecommand, + .eh_abort_handler = i2o_scsi_abort, + .bios_param = i2o_scsi_bios_param, + .can_queue = I2O_SCSI_CAN_QUEUE, + .sg_tablesize = 8, + .cmd_per_lun = 6, + .use_clustering = ENABLE_CLUSTERING, +}; +/* +int +i2o_scsi_queuecommand(struct scsi_cmnd * cmd, void (*done) (struct scsi_cmnd *)) +{ + printk(KERN_INFO "queuecommand\n"); + return SCSI_MLQUEUE_HOST_BUSY; +}; +*/ -static struct scsi_host_template driver_template = { - .proc_name = "i2o_scsi", - .name = "I2O SCSI Layer", - .detect = i2o_scsi_detect, - .release = i2o_scsi_release, - .info = i2o_scsi_info, - .queuecommand = i2o_scsi_queuecommand, - .eh_abort_handler = i2o_scsi_abort, - .eh_bus_reset_handler = i2o_scsi_bus_reset, - .bios_param = i2o_scsi_bios_param, - .can_queue = I2O_SCSI_CAN_QUEUE, - .this_id = 15, - .sg_tablesize = 8, - .cmd_per_lun = 6, - .use_clustering = ENABLE_CLUSTERING, +/** + * i2o_scsi_init - SCSI OSM initialization function + * + * Register SCSI OSM into I2O core. + * + * Returns 0 on success or negative error code on failure. + */ +static int __init i2o_scsi_init(void) +{ + int rc; + + printk(KERN_INFO "I2O SCSI Peripheral OSM\n"); + + /* Register SCSI OSM into I2O core */ + rc = i2o_driver_register(&i2o_scsi_driver); + if (rc) { + printk(KERN_ERR "scsi-osm: Could not register SCSI driver\n"); + return rc; + } + + return 0; }; -#include "../../scsi/scsi_module.c" +/** + * i2o_scsi_exit - SCSI OSM exit function + * + * Unregisters SCSI OSM from I2O core. + */ +static void __exit i2o_scsi_exit(void) +{ + /* Unregister I2O SCSI OSM from I2O core */ + i2o_driver_unregister(&i2o_scsi_driver); +}; + +MODULE_AUTHOR("Red Hat Software"); +MODULE_LICENSE("GPL"); + +module_init(i2o_scsi_init); +module_exit(i2o_scsi_exit); diff --git a/drivers/misc/ibmasm/module.c b/drivers/misc/ibmasm/module.c index ee29ced87..9dcf33c2a 100644 --- a/drivers/misc/ibmasm/module.c +++ b/drivers/misc/ibmasm/module.c @@ -62,10 +62,17 @@ static int __init ibmasm_init_one(struct pci_dev *pdev, const struct pci_device_ int result = -ENOMEM; struct service_processor *sp; + if (pci_enable_device(pdev)) { + printk(KERN_ERR "%s: can't enable PCI device at %s\n", + DRIVER_NAME, pci_name(pdev)); + return -ENODEV; + } + sp = kmalloc(sizeof(struct service_processor), GFP_KERNEL); if (sp == NULL) { dev_err(&pdev->dev, "Failed to allocate memory\n"); - return result; + result = -ENOMEM; + goto error_kmalloc; } memset(sp, 0, sizeof(struct service_processor)); @@ -148,6 +155,8 @@ error_heartbeat: ibmasm_event_buffer_exit(sp); error_eventbuffer: kfree(sp); +error_kmalloc: + pci_disable_device(pdev); return result; } @@ -166,6 +175,7 @@ static void __exit ibmasm_remove_one(struct pci_dev *pdev) iounmap(sp->base_address); ibmasm_event_buffer_exit(sp); kfree(sp); + pci_disable_device(pdev); } static struct pci_device_id ibmasm_pci_table[] = diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c index e71624edb..c1e3536c2 100644 --- a/drivers/mtd/chips/cfi_cmdset_0001.c +++ b/drivers/mtd/chips/cfi_cmdset_0001.c @@ -603,6 +603,8 @@ static void put_chip(struct map_info *map, struct flchip *chip, unsigned long ad } spin_unlock(&shared->lock); } + } else { + spin_unlock(&shared->lock); } } @@ -1437,8 +1439,7 @@ static int do_erase_oneblock(struct map_info *map, struct flchip *chip, spin_unlock(chip->mutex); INVALIDATE_CACHED_RANGE(map, adr, len); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout((chip->erase_time*HZ)/(2*1000)); + msleep(chip->erase_time / 2); spin_lock(chip->mutex); /* FIXME. Use a timer to check this, and return immediately. */ diff --git a/drivers/mtd/chips/jedec_probe.c b/drivers/mtd/chips/jedec_probe.c index daf554c00..8fb85f079 100644 --- a/drivers/mtd/chips/jedec_probe.c +++ b/drivers/mtd/chips/jedec_probe.c @@ -29,6 +29,7 @@ #define MANUFACTURER_AMD 0x0001 #define MANUFACTURER_ATMEL 0x001f #define MANUFACTURER_FUJITSU 0x0004 +#define MANUFACTURER_HYUNDAI 0x00AD #define MANUFACTURER_INTEL 0x0089 #define MANUFACTURER_MACRONIX 0x00C2 #define MANUFACTURER_PMC 0x009D @@ -56,6 +57,7 @@ #define AM29F040 0x00A4 #define AM29LV040B 0x004F #define AM29F032B 0x0041 +#define AM29F002T 0x00B0 /* Atmel */ #define AT49BV512 0x0003 @@ -77,6 +79,8 @@ #define MBM29LV400TC 0x22B9 #define MBM29LV400BC 0x22BA +/* Hyundai */ +#define HY29F002T 0x00B0 /* Intel */ #define I28F004B3T 0x00d4 @@ -106,6 +110,7 @@ #define MX29LV160T 0x22C4 #define MX29LV160B 0x2249 #define MX29F016 0x00AD +#define MX29F002T 0x00B0 #define MX29F004T 0x0045 #define MX29F004B 0x0046 @@ -506,6 +511,17 @@ static const struct amd_flash_info jedec_table[] = { .regions = { ERASEINFO(0x10000,8), } + }, { + .mfr_id = MANUFACTURER_AMD, + .dev_id = AM29F002T, + .name = "AMD AM29F002T", + .DevSize = SIZE_256KiB, + .NumEraseRegions = 4, + .regions = {ERASEINFO(0x10000,3), + ERASEINFO(0x08000,1), + ERASEINFO(0x02000,2), + ERASEINFO(0x04000,1) + } }, { .mfr_id = MANUFACTURER_ATMEL, .dev_id = AT49BV512, @@ -751,6 +767,17 @@ static const struct amd_flash_info jedec_table[] = { ERASEINFO(0x02000,2), ERASEINFO(0x04000,1) } + }, { + .mfr_id = MANUFACTURER_HYUNDAI, + .dev_id = HY29F002T, + .name = "Hyundai HY29F002T", + .DevSize = SIZE_256KiB, + .NumEraseRegions = 4, + .regions = {ERASEINFO(0x10000,3), + ERASEINFO(0x08000,1), + ERASEINFO(0x02000,2), + ERASEINFO(0x04000,1) + } }, { .mfr_id = MANUFACTURER_INTEL, .dev_id = I28F004B3B, @@ -1134,6 +1161,17 @@ static const struct amd_flash_info jedec_table[] = { ERASEINFO(0x08000,1), ERASEINFO(0x10000,7), } + }, { + .mfr_id = MANUFACTURER_MACRONIX, + .dev_id = MX29F002T, + .name = "Macronix MX29F002T", + .DevSize = SIZE_256KiB, + .NumEraseRegions = 4, + .regions = {ERASEINFO(0x10000,3), + ERASEINFO(0x08000,1), + ERASEINFO(0x02000,2), + ERASEINFO(0x04000,1) + } }, { .mfr_id = MANUFACTURER_PMC, .dev_id = PM49FL002, @@ -1209,7 +1247,7 @@ static const struct amd_flash_info jedec_table[] = { .DevSize = SIZE_256KiB, .CmdSet = P_ID_SST_PAGE, .NumEraseRegions= 1, - regions: {ERASEINFO(0x01000,64), + .regions = {ERASEINFO(0x01000,64), } }, { .mfr_id = MANUFACTURER_SST, @@ -1221,7 +1259,7 @@ static const struct amd_flash_info jedec_table[] = { .DevSize = SIZE_256KiB, .CmdSet = P_ID_SST_PAGE, .NumEraseRegions= 1, - regions: {ERASEINFO(0x01000,64), + .regions = {ERASEINFO(0x01000,64), } }, { .mfr_id = MANUFACTURER_SST, @@ -1570,7 +1608,7 @@ static const struct amd_flash_info jedec_table[] = { ERASEINFO(0x02000, 2), ERASEINFO(0x04000, 1), } - } + } }; diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig index cdc5bbd16..7458b68da 100644 --- a/drivers/mtd/maps/Kconfig +++ b/drivers/mtd/maps/Kconfig @@ -473,6 +473,15 @@ config MTD_IXP4XX IXDP425 and Coyote. If you have an IXP4xx based board and would like to use the flash chips on it, say 'Y'. +config MTD_IXP2000 + tristate "CFI Flash device mapped on Intel IXP2000 based systems" + depends on ARM && MTD_CFI && MTD_COMPLEX_MAPPINGS && ARCH_IXP2000 + help + This enables MTD access to flash devices on platforms based + on Intel's IXP2000 family of network processors such as the + IXDP2400 and IXDP2401. If you have an IXP2000 based board and + would like to use the flash chips on it, say 'Y'. + config MTD_EPXA10DB tristate "CFI Flash device mapped on Epxa10db" depends on ARM && MTD_CFI && MTD_PARTITIONS && ARCH_CAMELOT diff --git a/drivers/mtd/maps/Makefile b/drivers/mtd/maps/Makefile index 505178f36..7fa2ae016 100644 --- a/drivers/mtd/maps/Makefile +++ b/drivers/mtd/maps/Makefile @@ -62,5 +62,6 @@ obj-$(CONFIG_MTD_SBC8240) += sbc8240.o obj-$(CONFIG_MTD_NOR_TOTO) += omap-toto-flash.o obj-$(CONFIG_MTD_MPC1211) += mpc1211.o obj-$(CONFIG_MTD_IXP4XX) += ixp4xx.o +obj-$(CONFIG_MTD_IXP2000) += ixp2000.o obj-$(CONFIG_MTD_WRSBC8260) += wr_sbc82xx_flash.o obj-$(CONFIG_MTD_DMV182) += dmv182.o diff --git a/drivers/mtd/maps/amd76xrom.c b/drivers/mtd/maps/amd76xrom.c index 7f3ab3768..b43312731 100644 --- a/drivers/mtd/maps/amd76xrom.c +++ b/drivers/mtd/maps/amd76xrom.c @@ -26,7 +26,7 @@ struct amd76xrom_map_info { struct map_info map; struct mtd_info *mtd; - unsigned long window_addr; + void __iomem * window_addr; u32 window_start, window_size; struct pci_dev *pdev; struct resource window_rsrc; @@ -57,7 +57,7 @@ static void amd76xrom_cleanup(struct amd76xrom_map_info *info) del_mtd_device(info->mtd); map_destroy(info->mtd); info->mtd = NULL; - info->map.virt = 0; + info->map.virt = NULL; } if (info->rom_rsrc.parent) release_resource(&info->rom_rsrc); @@ -65,8 +65,8 @@ static void amd76xrom_cleanup(struct amd76xrom_map_info *info) release_resource(&info->window_rsrc); if (info->window_addr) { - iounmap((void *)(info->window_addr)); - info->window_addr = 0; + iounmap(info->window_addr); + info->window_addr = NULL; } } @@ -136,8 +136,7 @@ static int __devinit amd76xrom_init_one (struct pci_dev *pdev, printk(KERN_NOTICE MOD_NAME " window : %x at %x\n", window->size, window->start); /* For write accesses caches are useless */ - info->window_addr = - (unsigned long)ioremap_nocache(window->start, + info->window_addr = ioremap_nocache(window->start, window->size); if (!info->window_addr) { @@ -163,8 +162,8 @@ static int __devinit amd76xrom_init_one (struct pci_dev *pdev, } if (info->mtd) goto found_mtd; } - iounmap((void *)(info->window_addr)); - info->window_addr = 0; + iounmap(info->window_addr); + info->window_addr = NULL; /* Disable writes through the rom window */ pci_read_config_byte(pdev, 0x40, &byte); diff --git a/drivers/mtd/maps/ceiva.c b/drivers/mtd/maps/ceiva.c index 8475505f0..e34420bb1 100644 --- a/drivers/mtd/maps/ceiva.c +++ b/drivers/mtd/maps/ceiva.c @@ -103,7 +103,7 @@ struct clps_info { unsigned long base; unsigned long size; int width; - void *vbase; + void __iomem *vbase; struct map_info *map; struct mtd_info *mtd; struct resource *res; @@ -150,7 +150,7 @@ static int __init clps_setup_mtd(struct clps_info *clps, int nr, struct mtd_info break; } - clps[i].map->virt = (unsigned long)clps[i].vbase; + clps[i].map->virt = clps[i].vbase; clps[i].map->bankwidth = clps[i].width; clps[i].map->size = clps[i].size; diff --git a/drivers/mtd/maps/edb7312.c b/drivers/mtd/maps/edb7312.c index 842f1b046..b7fd849dc 100644 --- a/drivers/mtd/maps/edb7312.c +++ b/drivers/mtd/maps/edb7312.c @@ -71,14 +71,14 @@ static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; #endif -static int mtd_parts_nb = 0; -static struct mtd_partition *mtd_parts = 0; +static int mtd_parts_nb; +static struct mtd_partition *mtd_parts; int __init init_edb7312nor(void) { static const char *rom_probe_types[] = PROBETYPES; const char **type; - const char *part_type = 0; + const char *part_type = NULL; printk(KERN_NOTICE MSG_PREFIX "0x%08x at 0x%08x\n", WINDOW_SIZE, WINDOW_ADDR); @@ -92,7 +92,7 @@ int __init init_edb7312nor(void) simple_map_init(&edb7312nor_map); - mymtd = 0; + mymtd = NULL; type = rom_probe_types; for(; !mymtd && *type; type++) { mymtd = do_map_probe(*type, &edb7312nor_map); diff --git a/drivers/mtd/maps/impa7.c b/drivers/mtd/maps/impa7.c index a05fc01b9..7d2b42436 100644 --- a/drivers/mtd/maps/impa7.c +++ b/drivers/mtd/maps/impa7.c @@ -77,7 +77,7 @@ int __init init_impa7(void) { static const char *rom_probe_types[] = PROBETYPES; const char **type; - const char *part_type = 0; + const char *part_type = NULL; int i; static struct { u_long addr; u_long size; } pt[NUM_FLASHBANKS] = { { WINDOW_ADDR0, WINDOW_SIZE0 }, @@ -99,7 +99,7 @@ int __init init_impa7(void) } simple_map_init(&impa7_map[i]); - impa7_mtd[i] = 0; + impa7_mtd[i] = NULL; type = rom_probe_types; for(; !impa7_mtd[i] && *type; type++) { impa7_mtd[i] = do_map_probe(*type, &impa7_map[i]); diff --git a/drivers/mtd/maps/lubbock-flash.c b/drivers/mtd/maps/lubbock-flash.c index 53e708b2e..881eab984 100644 --- a/drivers/mtd/maps/lubbock-flash.c +++ b/drivers/mtd/maps/lubbock-flash.c @@ -1,5 +1,5 @@ /* - * $Id: lubbock-flash.c,v 1.15 2004/07/12 21:59:44 dwmw2 Exp $ + * $Id: lubbock-flash.c,v 1.18 2004/09/28 18:54:40 nico Exp $ * * Map driver for the Lubbock developer platform. * @@ -15,11 +15,13 @@ #include #include #include +#include #include #include #include #include #include +#include #include @@ -82,16 +84,14 @@ static int __init init_lubbock(void) lubbock_maps[flashboot].name = "Lubbock Boot ROM"; for (i = 0; i < 2; i++) { - lubbock_maps[i].virt = (unsigned long)ioremap(lubbock_maps[i].phys, WINDOW_SIZE); + lubbock_maps[i].virt = (void __iomem *)ioremap(lubbock_maps[i].phys, WINDOW_SIZE); if (!lubbock_maps[i].virt) { printk(KERN_WARNING "Failed to ioremap %s\n", lubbock_maps[i].name); if (!ret) ret = -ENOMEM; continue; } - lubbock_maps[i].cached = __ioremap(lubbock_maps[i].phys, - WINDOW_SIZE, - L_PTE_CACHEABLE, 1); + lubbock_maps[i].cached = ioremap_cached(lubbock_maps[i].phys, WINDOW_SIZE); if (!lubbock_maps[i].cached) printk(KERN_WARNING "Failed to ioremap cached %s\n", lubbock_maps[i].name); simple_map_init(&lubbock_maps[i]); diff --git a/drivers/mtd/maps/nettel.c b/drivers/mtd/maps/nettel.c index e06b07351..38a81462f 100644 --- a/drivers/mtd/maps/nettel.c +++ b/drivers/mtd/maps/nettel.c @@ -180,7 +180,7 @@ int nettel_eraseconfig(void) if (mtd) { nettel_erase.mtd = mtd; nettel_erase.callback = nettel_erasecallback; - nettel_erase.callback = 0; + nettel_erase.callback = NULL; nettel_erase.addr = 0; nettel_erase.len = mtd->size; nettel_erase.priv = (u_long) &wait_q; diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c index c42ca6f96..bb9c07780 100644 --- a/drivers/mtd/maps/sa1100-flash.c +++ b/drivers/mtd/maps/sa1100-flash.c @@ -885,7 +885,7 @@ struct sa_info { unsigned long base; unsigned long size; int width; - void *vbase; + void __iomem *vbase; void (*set_vpp)(struct map_info *, int); struct map_info *map; struct mtd_info *mtd; @@ -932,7 +932,7 @@ static int __init sa1100_setup_mtd(struct sa_info *sa, int nr, struct mtd_info * break; } - sa[i].map->virt = (unsigned long)sa[i].vbase; + sa[i].map->virt = sa[i].vbase; sa[i].map->phys = sa[i].base; sa[i].map->set_vpp = sa[i].set_vpp; sa[i].map->bankwidth = sa[i].width; diff --git a/drivers/mtd/maps/tqm8xxl.c b/drivers/mtd/maps/tqm8xxl.c index 496c9857f..5a10fbaaa 100644 --- a/drivers/mtd/maps/tqm8xxl.c +++ b/drivers/mtd/maps/tqm8xxl.c @@ -50,7 +50,7 @@ static struct mtd_info* mtd_banks[FLASH_BANK_MAX]; static struct map_info* map_banks[FLASH_BANK_MAX]; static struct mtd_part_def part_banks[FLASH_BANK_MAX]; static unsigned long num_banks; -static unsigned long start_scan_addr; +static void __iomem *start_scan_addr; /* * Here are partition information for all known TQM8xxL series devices. @@ -121,7 +121,7 @@ int __init init_tqm_mtd(void) flash_size = bd->bi_flashsize; //request maximum flash size address space - start_scan_addr = (unsigned long)ioremap(flash_addr, flash_size); + start_scan_addr = ioremap(flash_addr, flash_size); if (!start_scan_addr) { printk(KERN_WARNING "%s:Failed to ioremap address:0x%x\n", __FUNCTION__, flash_addr); return -EIO; @@ -231,7 +231,7 @@ error_mem: } } error: - iounmap((void *)start_scan_addr); + iounmap(start_scan_addr); return ret; } @@ -250,7 +250,7 @@ static void __exit cleanup_tqm_mtd(void) } if (start_scan_addr) { - iounmap((void *)start_scan_addr); + iounmap(start_scan_addr); start_scan_addr = 0; } } diff --git a/drivers/mtd/maps/uclinux.c b/drivers/mtd/maps/uclinux.c index c5cd70bdb..baff49bf7 100644 --- a/drivers/mtd/maps/uclinux.c +++ b/drivers/mtd/maps/uclinux.c @@ -69,10 +69,9 @@ int __init uclinux_mtd_init(void) printk("uclinux[mtd]: RAM probe address=0x%x size=0x%x\n", (int) mapp->map_priv_2, (int) mapp->size); - mapp->virt = (unsigned long) - ioremap_nocache(mapp->phys, mapp->size); + mapp->virt = ioremap_nocache(mapp->phys, mapp->size); - if (mapp->virt == 0) { + if (!mapp->virt) { printk("uclinux[mtd]: ioremap_nocache() failed\n"); return(-EIO); } @@ -82,7 +81,7 @@ int __init uclinux_mtd_init(void) mtd = do_map_probe("map_ram", mapp); if (!mtd) { printk("uclinux[mtd]: failed to find a mapping?\n"); - iounmap((void *) mapp->virt); + iounmap(mapp->virt); return(-ENXIO); } diff --git a/drivers/mtd/nftlmount.c b/drivers/mtd/nftlmount.c index a8a4e1ac8..eee7faa5c 100644 --- a/drivers/mtd/nftlmount.c +++ b/drivers/mtd/nftlmount.c @@ -269,7 +269,8 @@ static int memcmpb(void *a, int c, int n) static int check_free_sectors(struct NFTLrecord *nftl, unsigned int address, int len, int check_oob) { - int i, retlen; + int i; + size_t retlen; u8 buf[SECTORSIZE + nftl->mbd.mtd->oobsize]; for (i = 0; i < len; i += SECTORSIZE) { @@ -366,7 +367,8 @@ static void check_sectors_in_chain(struct NFTLrecord *nftl, unsigned int first_b { unsigned int block, i, status; struct nftl_bci bci; - int sectors_per_block, retlen; + int sectors_per_block; + size_t retlen; sectors_per_block = nftl->EraseSize / SECTORSIZE; block = first_block; diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c index ca0d71d63..4866a09c0 100644 --- a/drivers/net/3c507.c +++ b/drivers/net/3c507.c @@ -294,6 +294,7 @@ static void el16_tx_timeout (struct net_device *dev); static void hardware_send_packet(struct net_device *dev, void *buf, short length, short pad); static void init_82586_mem(struct net_device *dev); static struct ethtool_ops netdev_ethtool_ops; +static void init_rx_bufs(struct net_device *); static int io = 0x300; static int irq; @@ -612,7 +613,6 @@ static irqreturn_t el16_interrupt(int irq, void *dev_id, struct pt_regs *regs) } if ((status & 0x0070) != 0x0040 && netif_running(dev)) { - static void init_rx_bufs(struct net_device *); /* The Rx unit is not ready, it must be hung. Restart the receiver by initializing the rx buffers, and issuing an Rx start command. */ if (net_debug) diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c index c6f1995e0..a39c446c3 100644 --- a/drivers/net/3c527.c +++ b/drivers/net/3c527.c @@ -751,18 +751,15 @@ static int mc32_load_rx_ring(struct net_device *dev) rx_base=lp->rx_chain; - for(i=0; irx_ring[i].skb=alloc_skb(1532, GFP_KERNEL); - skb_reserve(lp->rx_ring[i].skb, 18); - - if(lp->rx_ring[i].skb==NULL) - { - for(;i>=0;i--) + if (lp->rx_ring[i].skb==NULL) { + for (;i>=0;i--) kfree_skb(lp->rx_ring[i].skb); return -ENOBUFS; } - + skb_reserve(lp->rx_ring[i].skb, 18); + p=isa_bus_to_virt(lp->base+rx_base); p->control=0; diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 197a3cd26..90f3e171e 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c @@ -277,6 +277,7 @@ MODULE_AUTHOR("Donald Becker "); MODULE_DESCRIPTION("3Com 3c59x/3c9xx ethernet driver " DRV_VERSION " " DRV_RELDATE); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); MODULE_PARM(debug, "i"); MODULE_PARM(global_options, "i"); @@ -416,7 +417,7 @@ enum { IS_VORTEX=1, IS_BOOMERANG=2, IS_CYCLONE=4, IS_TORNADO=8, HAS_PWR_CTRL=0x20, HAS_MII=0x40, HAS_NWAY=0x80, HAS_CB_FNS=0x100, INVERT_MII_PWR=0x200, INVERT_LED_PWR=0x400, MAX_COLLISION_RESET=0x800, EEPROM_OFFSET=0x1000, HAS_HWCKSM=0x2000, WNO_XCVR_PWR=0x4000, - EXTRA_PREAMBLE=0x8000, }; + EXTRA_PREAMBLE=0x8000, EEPROM_RESET=0x10000, }; enum vortex_chips { CH_3C590 = 0, @@ -491,9 +492,9 @@ static struct vortex_chip_info { {"3c595 Vortex 100base-MII", PCI_USES_IO|PCI_USES_MASTER, IS_VORTEX, 32, }, {"3c900 Boomerang 10baseT", - PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG, 64, }, + PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, }, {"3c900 Boomerang 10Mbps Combo", - PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG, 64, }, + PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|EEPROM_RESET, 64, }, {"3c900 Cyclone 10Mbps TPO", /* AKPM: from Don's 0.99M */ PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, {"3c900 Cyclone 10Mbps Combo", @@ -504,9 +505,9 @@ static struct vortex_chip_info { {"3c900B-FL Cyclone 10base-FL", PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_HWCKSM, 128, }, {"3c905 Boomerang 100baseTx", - PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII, 64, }, + PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, }, {"3c905 Boomerang 100baseT4", - PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII, 64, }, + PCI_USES_IO|PCI_USES_MASTER, IS_BOOMERANG|HAS_MII|EEPROM_RESET, 64, }, {"3c905B Cyclone 100baseTx", PCI_USES_IO|PCI_USES_MASTER, IS_CYCLONE|HAS_NWAY|HAS_HWCKSM|EXTRA_PREAMBLE, 128, }, @@ -695,7 +696,7 @@ enum Window2 { /* Window 2. */ Wn2_ResetOptions=12, }; enum Window3 { /* Window 3: MAC/config bits. */ - Wn3_Config=0, Wn3_MAC_Ctrl=6, Wn3_Options=8, + Wn3_Config=0, Wn3_MaxPktSize=4, Wn3_MAC_Ctrl=6, Wn3_Options=8, }; #define BFEXT(value, offset, bitcount) \ @@ -723,7 +724,8 @@ enum Win4_Media_bits { Media_LnkBeat = 0x0800, }; enum Window7 { /* Window 7: Bus Master control. */ - Wn7_MasterAddr = 0, Wn7_MasterLen = 6, Wn7_MasterStatus = 12, + Wn7_MasterAddr = 0, Wn7_VlanEtherType=4, Wn7_MasterLen = 6, + Wn7_MasterStatus = 12, }; /* Boomerang bus master control registers. */ enum MasterCtrl { @@ -819,7 +821,8 @@ struct vortex_private { pm_state_valid:1, /* power_state[] has sane contents */ open:1, medialock:1, - must_free_region:1; /* Flag: if zero, Cardbus owns the I/O region */ + must_free_region:1, /* Flag: if zero, Cardbus owns the I/O region */ + large_frames:1; /* accept large frames */ int drv_flags; u16 status_enable; u16 intr_enable; @@ -900,10 +903,14 @@ static void dump_tx_ring(struct net_device *dev); static void update_stats(long ioaddr, struct net_device *dev); static struct net_device_stats *vortex_get_stats(struct net_device *dev); static void set_rx_mode(struct net_device *dev); +#ifdef CONFIG_PCI static int vortex_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); +#endif static void vortex_tx_timeout(struct net_device *dev); static void acpi_set_WOL(struct net_device *dev); static struct ethtool_ops vortex_ethtool_ops; +static void set_8021q_mode(struct net_device *dev, int enable); + /* This driver uses 'options' to pass the media type, full-duplex flag, etc. */ /* Option count limit only -- unlimited interfaces are supported. */ @@ -1164,6 +1171,7 @@ static int __devinit vortex_probe1(struct device *gendev, dev->base_addr = ioaddr; dev->irq = irq; dev->mtu = mtu; + vp->large_frames = mtu > 1500; vp->drv_flags = vci->drv_flags; vp->has_nway = (vci->drv_flags & HAS_NWAY) ? 1 : 0; vp->io_size = vci->io_size; @@ -1290,6 +1298,13 @@ static int __devinit vortex_probe1(struct device *gendev, for (i = 0; i < 6; i++) printk("%c%2.2x", i ? ':' : ' ', dev->dev_addr[i]); } + /* Unfortunately an all zero eeprom passes the checksum and this + gets found in the wild in failure cases. Crypto is hard 8) */ + if (!is_valid_ether_addr(dev->dev_addr)) { + retval = -EINVAL; + printk(KERN_ERR "*** EEPROM MAC address is invalid.\n"); + goto free_ring; /* With every pack */ + } EL3WINDOW(2); for (i = 0; i < 6; i++) outb(dev->dev_addr[i], ioaddr + i); @@ -1468,7 +1483,9 @@ static int __devinit vortex_probe1(struct device *gendev, dev->stop = vortex_close; dev->get_stats = vortex_get_stats; +#ifdef CONFIG_PCI dev->do_ioctl = vortex_ioctl; +#endif dev->ethtool_ops = &vortex_ethtool_ops; dev->set_multicast_list = set_rx_mode; dev->tx_timeout = vortex_tx_timeout; @@ -1616,7 +1633,7 @@ vortex_up(struct net_device *dev) /* Set the full-duplex bit. */ outw( ((vp->info1 & 0x8000) || vp->full_duplex ? 0x20 : 0) | - (dev->mtu > 1500 ? 0x40 : 0) | + (vp->large_frames ? 0x40 : 0) | ((vp->full_duplex && vp->flow_ctrl && vp->partner_flow_ctrl) ? 0x100 : 0), ioaddr + Wn3_MAC_Ctrl); @@ -1700,6 +1717,8 @@ vortex_up(struct net_device *dev) } /* Set receiver mode: presumably accept b-case and phys addr only. */ set_rx_mode(dev); + /* enable 802.1q tagged frames */ + set_8021q_mode(dev, 1); outw(StatsEnable, ioaddr + EL3_CMD); /* Turn on statistics. */ // issue_and_wait(dev, SetTxStart|0x07ff); @@ -1842,7 +1861,7 @@ vortex_timer(unsigned long data) /* Set the full-duplex bit. */ EL3WINDOW(3); outw( (vp->full_duplex ? 0x20 : 0) | - (dev->mtu > 1500 ? 0x40 : 0) | + (vp->large_frames ? 0x40 : 0) | ((vp->full_duplex && vp->flow_ctrl && vp->partner_flow_ctrl) ? 0x100 : 0), ioaddr + Wn3_MAC_Ctrl); if (vortex_debug > 1) @@ -2068,6 +2087,8 @@ vortex_error(struct net_device *dev, int status) issue_and_wait(dev, RxReset|0x07); /* Set the Rx filter to the current state. */ set_rx_mode(dev); + /* enable 802.1q VLAN tagged frames */ + set_8021q_mode(dev, 1); outw(RxEnable, ioaddr + EL3_CMD); /* Re-enable the receiver. */ outw(AckIntr | HostError, ioaddr + EL3_CMD); } @@ -2672,6 +2693,9 @@ vortex_down(struct net_device *dev, int final_down) outw(RxDisable, ioaddr + EL3_CMD); outw(TxDisable, ioaddr + EL3_CMD); + /* Disable receiving 802.1q tagged frames */ + set_8021q_mode(dev, 0); + if (dev->if_port == XCVR_10base2) /* Turn off thinnet power. Green! */ outw(StopCoax, ioaddr + EL3_CMD); @@ -2868,6 +2892,7 @@ static struct ethtool_ops vortex_ethtool_ops = { .get_drvinfo = vortex_get_drvinfo, }; +#ifdef CONFIG_PCI static int vortex_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { struct vortex_private *vp = netdev_priv(dev); @@ -2925,6 +2950,7 @@ static int vortex_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) return err; } +#endif /* Pre-Cyclone chips have no documented multicast filter, so the only @@ -2947,6 +2973,61 @@ static void set_rx_mode(struct net_device *dev) outw(new_mode, ioaddr + EL3_CMD); } +#if defined(CONFIG_VLAN_8021Q) || defined(CONFIG_VLAN_8021Q_MODULE) +/* Setup the card so that it can receive frames with an 802.1q VLAN tag. + Note that this must be done after each RxReset due to some backwards + compatibility logic in the Cyclone and Tornado ASICs */ + +/* The Ethernet Type used for 802.1q tagged frames */ +#define VLAN_ETHER_TYPE 0x8100 + +static void set_8021q_mode(struct net_device *dev, int enable) +{ + struct vortex_private *vp = (struct vortex_private *)dev->priv; + long ioaddr = dev->base_addr; + int old_window = inw(ioaddr + EL3_CMD); + int mac_ctrl; + + if ((vp->drv_flags&IS_CYCLONE) || (vp->drv_flags&IS_TORNADO)) { + /* cyclone and tornado chipsets can recognize 802.1q + * tagged frames and treat them correctly */ + + int max_pkt_size = dev->mtu+14; /* MTU+Ethernet header */ + if (enable) + max_pkt_size += 4; /* 802.1Q VLAN tag */ + + EL3WINDOW(3); + outw(max_pkt_size, ioaddr+Wn3_MaxPktSize); + + /* set VlanEtherType to let the hardware checksumming + treat tagged frames correctly */ + EL3WINDOW(7); + outw(VLAN_ETHER_TYPE, ioaddr+Wn7_VlanEtherType); + } else { + /* on older cards we have to enable large frames */ + + vp->large_frames = dev->mtu > 1500 || enable; + + EL3WINDOW(3); + mac_ctrl = inw(ioaddr+Wn3_MAC_Ctrl); + if (vp->large_frames) + mac_ctrl |= 0x40; + else + mac_ctrl &= ~0x40; + outw(mac_ctrl, ioaddr+Wn3_MAC_Ctrl); + } + + EL3WINDOW(old_window); +} +#else + +static void set_8021q_mode(struct net_device *dev, int enable) +{ +} + + +#endif + /* MII transceiver control section. Read and write the MII registers using software-generated serial MDIO protocol. See the MII specifications or DP83840A data sheet @@ -3089,7 +3170,8 @@ static void __devexit vortex_remove_one (struct pci_dev *pdev) pci_restore_state(VORTEX_PCI(vp), vp->power_state); } /* Should really use issue_and_wait() here */ - outw(TotalReset|0x14, dev->base_addr + EL3_CMD); + outw(TotalReset | ((vp->drv_flags & EEPROM_RESET) ? 0x04 : 0x14), + dev->base_addr + EL3_CMD); pci_free_consistent(pdev, sizeof(struct boom_rx_desc) * RX_RING_SIZE diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index 58290c5bb..a9ca6ae51 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -593,11 +593,13 @@ struct rtl8139_private { int time_to_die; struct mii_if_info mii; unsigned int regs_len; + unsigned long fifo_copy_timeout; }; MODULE_AUTHOR ("Jeff Garzik "); MODULE_DESCRIPTION ("RealTek RTL-8139 Fast Ethernet driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); MODULE_PARM (multicast_filter_limit, "i"); MODULE_PARM (media, "1-" __MODULE_STRING(MAX_UNITS) "i"); @@ -613,7 +615,7 @@ static int rtl8139_open (struct net_device *dev); static int mdio_read (struct net_device *dev, int phy_id, int location); static void mdio_write (struct net_device *dev, int phy_id, int location, int val); -static inline void rtl8139_start_thread(struct net_device *dev); +static void rtl8139_start_thread(struct net_device *dev); static void rtl8139_tx_timeout (struct net_device *dev); static void rtl8139_init_ring (struct net_device *dev); static int rtl8139_start_xmit (struct sk_buff *skb, @@ -1643,7 +1645,7 @@ static int rtl8139_thread (void *data) complete_and_exit (&tp->thr_exited, 0); } -static inline void rtl8139_start_thread(struct net_device *dev) +static void rtl8139_start_thread(struct net_device *dev) { struct rtl8139_private *tp = dev->priv; @@ -1927,6 +1929,24 @@ static __inline__ void wrap_copy(struct sk_buff *skb, const unsigned char *ring, } #endif +static void rtl8139_isr_ack(struct rtl8139_private *tp) +{ + void *ioaddr = tp->mmio_addr; + u16 status; + + status = RTL_R16 (IntrStatus) & RxAckBits; + + /* Clear out errors and receive interrupts */ + if (likely(status != 0)) { + if (unlikely(status & (RxFIFOOver | RxOverflow))) { + tp->stats.rx_errors++; + if (status & RxFIFOOver) + tp->stats.rx_fifo_errors++; + } + RTL_W16_F (IntrStatus, RxAckBits); + } +} + static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, int budget) { @@ -1934,9 +1954,10 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, int received = 0; unsigned char *rx_ring = tp->rx_ring; unsigned int cur_rx = tp->cur_rx; + unsigned int rx_size = 0; DPRINTK ("%s: In rtl8139_rx(), current %4.4x BufAddr %4.4x," - " free to %4.4x, Cmd %2.2x.\n", dev->name, cur_rx, + " free to %4.4x, Cmd %2.2x.\n", dev->name, (u16)cur_rx, RTL_R16 (RxBufAddr), RTL_R16 (RxBufPtr), RTL_R8 (ChipCmd)); @@ -1944,10 +1965,8 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, && (RTL_R8 (ChipCmd) & RxBufEmpty) == 0) { u32 ring_offset = cur_rx % RX_BUF_LEN; u32 rx_status; - unsigned int rx_size; unsigned int pkt_size; struct sk_buff *skb; - u16 status; rmb(); @@ -1976,10 +1995,24 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, * since EarlyRx is disabled. */ if (unlikely(rx_size == 0xfff0)) { + if (!tp->fifo_copy_timeout) + tp->fifo_copy_timeout = jiffies + 2; + else if (time_after(jiffies, tp->fifo_copy_timeout)) { + DPRINTK ("%s: hung FIFO. Reset.", dev->name); + rx_size = 0; + goto no_early_rx; + } + if (netif_msg_intr(tp)) { + printk(KERN_DEBUG "%s: fifo copy in progress.", + dev->name); + } tp->xstats.early_rx++; - goto done; + break; } +no_early_rx: + tp->fifo_copy_timeout = 0; + /* If Rx err or invalid rx_size/rx_status received * (which happens if we get lost in the ring), * Rx process gets reset, so we abort any further @@ -1989,7 +2022,8 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, (rx_size < 8) || (!(rx_status & RxStatusOK)))) { rtl8139_rx_err (rx_status, dev, tp, ioaddr); - return -1; + received = -1; + goto out; } /* Malloc up new buffer, compatible with net-2e. */ @@ -2025,19 +2059,11 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, cur_rx = (cur_rx + rx_size + 4 + 3) & ~3; RTL_W16 (RxBufPtr, (u16) (cur_rx - 16)); - /* Clear out errors and receive interrupts */ - status = RTL_R16 (IntrStatus) & RxAckBits; - if (likely(status != 0)) { - if (unlikely(status & (RxFIFOOver | RxOverflow))) { - tp->stats.rx_errors++; - if (status & RxFIFOOver) - tp->stats.rx_fifo_errors++; - } - RTL_W16_F (IntrStatus, RxAckBits); - } + rtl8139_isr_ack(tp); } - done: + if (unlikely(!received || rx_size == 0xfff0)) + rtl8139_isr_ack(tp); #if RTL8139_DEBUG > 1 DPRINTK ("%s: Done rtl8139_rx(), current %4.4x BufAddr %4.4x," @@ -2047,6 +2073,15 @@ static int rtl8139_rx(struct net_device *dev, struct rtl8139_private *tp, #endif tp->cur_rx = cur_rx; + + /* + * The receive buffer should be mostly empty. + * Tell NAPI to reenable the Rx irq. + */ + if (tp->fifo_copy_timeout) + received = budget; + +out: return received; } diff --git a/drivers/net/8390.h b/drivers/net/8390.h index 58fd65e03..948723b72 100644 --- a/drivers/net/8390.h +++ b/drivers/net/8390.h @@ -12,17 +12,7 @@ #include #include -#define TX_2X_PAGES 12 -#define TX_1X_PAGES 6 - -/* Should always use two Tx slots to get back-to-back transmits. */ -#define EI_PINGPONG - -#ifdef EI_PINGPONG -#define TX_PAGES TX_2X_PAGES -#else -#define TX_PAGES TX_1X_PAGES -#endif +#define TX_PAGES 12 /* Two Tx slots */ #define ETHER_ADDR_LEN 6 diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index b124144a9..94a134a14 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -200,7 +200,7 @@ source "drivers/net/arm/Kconfig" config MACE tristate "MACE (Power Mac ethernet) support" - depends on NET_ETHERNET && PPC_PMAC + depends on NET_ETHERNET && PPC_PMAC && PPC32 select CRC32 help Power Macintoshes and clones with Ethernet built-in on the @@ -223,7 +223,7 @@ config MACE_AAUI_PORT config BMAC tristate "BMAC (G3 ethernet) support" - depends on NET_ETHERNET && PPC_PMAC + depends on NET_ETHERNET && PPC_PMAC && PPC32 select CRC32 help Say Y for support of BMAC Ethernet interfaces. These are used on G3 @@ -817,7 +817,7 @@ config SMC91X tristate "SMC 91C9x/91C1xxx support" select CRC32 select MII - depends on NET_ETHERNET && (ARM || REDWOOD_5 || REDWOOD_6) + depends on NET_ETHERNET && (ARM || REDWOOD_5 || REDWOOD_6 || M32R) help This is a driver for SMC's 91x series of Ethernet chipsets, including the SMC91C94 and the SMC91C111. Say Y if you want it @@ -1075,7 +1075,7 @@ config ETH16I config NE2000 tristate "NE2000/NE1000 support" - depends on ISA || (Q40 && m) + depends on NET_ISA || (Q40 && m) || M32R select CRC32 ---help--- If you have a network (Ethernet) card of this type, say Y and read @@ -1353,7 +1353,7 @@ config FORCEDETH config CS89x0 tristate "CS89x0 support" - depends on NET_PCI && ISA + depends on NET_PCI && (ISA || ARCH_IXDP2X01) ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the @@ -1742,17 +1742,6 @@ config VIA_RHINE_MMIO If unsure, say Y. -config VIA_VELOCITY - tristate "VIA Velocity support" - depends on NET_PCI && PCI - select CRC32 - select MII - help - If you have a VIA "Velocity" based network card say Y here. - - To compile this driver as a module, choose M here. The module - will be called via-rhine. - config LAN_SAA9730 bool "Philips SAA9730 Ethernet support (EXPERIMENTAL)" depends on NET_PCI && EXPERIMENTAL && MIPS @@ -2043,6 +2032,23 @@ config R8169 To compile this driver as a module, choose M here: the module will be called r8169. This is recommended. +config R8169_NAPI + bool "Use Rx and Tx Polling (NAPI) (EXPERIMENTAL)" + depends on R8169 && EXPERIMENTAL + help + NAPI is a new driver API designed to reduce CPU and interrupt load + when the driver is receiving lots of packets from the card. It is + still somewhat experimental and thus not yet enabled by default. + + If your estimated Rx load is 10kpps or more, or if the card will be + deployed on potentially unfriendly networks (e.g. in a firewall), + then say Y here. + + See for more + information. + + If in doubt, say N. + config SK98LIN tristate "Marvell Yukon Chipset / SysKonnect SK-98xx Support" depends on PCI @@ -2122,6 +2128,18 @@ config SK98LIN say M here and read Documentation/kbuild/modules.txt. The module will be called sk98lin. This is recommended. +config VIA_VELOCITY + tristate "VIA Velocity support" + depends on NET_PCI && PCI + select CRC32 + select CRC_CCITT + select MII + help + If you have a VIA "Velocity" based network card say Y here. + + To compile this driver as a module, choose M here. The module + will be called via-velocity. + config TIGON3 tristate "Broadcom Tigon3 support" depends on PCI @@ -2131,6 +2149,45 @@ config TIGON3 To compile this driver as a module, choose M here: the module will be called tg3. This is recommended. +config GIANFAR + tristate "Gianfar Ethernet" + depends on 85xx + help + This driver supports the Gigabit TSEC on the MPC85xx + family of chips, and the FEC on the 8540 + +config GFAR_NAPI + bool "NAPI Support" + depends on GIANFAR + +config MV643XX_ETH + tristate "MV-643XX Ethernet support" + depends on MOMENCO_OCELOT_C || MOMENCO_JAGUAR_ATX + help + This driver supports the gigabit Ethernet on the Marvell MV643XX + chipset which is used in the Momenco Ocelot C and Jaguar ATX. + +config MV643XX_ETH_0 + bool "MV-643XX Port 0" + depends on MV643XX_ETH + help + This enables support for Port 0 of the Marvell MV643XX Gigabit + Ethernet. + +config MV643XX_ETH_1 + bool "MV-643XX Port 1" + depends on MV643XX_ETH + help + This enables support for Port 1 of the Marvell MV643XX Gigabit + Ethernet. + +config MV643XX_ETH_2 + bool "MV-643XX Port 2" + depends on MV643XX_ETH + help + This enables support for Port 2 of the Marvell MV643XX Gigabit + Ethernet. + endmenu # @@ -2598,10 +2655,3 @@ config NETCONSOLE If you want to log kernel messages over the network, enable this. See Documentation/networking/netconsole.txt for details. -config NETDUMP - tristate "Network kernel crash dump support" - depends on NETPOLL && NETPOLL_TRAP && X86 - ---help--- - Enable this option if you have a netdump server and you would like - to collect kernel crash dumps. - diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 3a7b01d4b..3fc85500f 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -10,6 +10,9 @@ obj-$(CONFIG_E1000) += e1000/ obj-$(CONFIG_IBM_EMAC) += ibm_emac/ obj-$(CONFIG_IXGB) += ixgb/ obj-$(CONFIG_BONDING) += bonding/ +obj-$(CONFIG_GIANFAR) += gianfar_driver.o + +gianfar_driver-objs := gianfar.o gianfar_ethtool.o gianfar_phy.o # # link order important here @@ -95,6 +98,8 @@ obj-$(CONFIG_B44) += b44.o obj-$(CONFIG_FORCEDETH) += forcedeth.o obj-$(CONFIG_NE_H8300) += ne-h8300.o 8390.o +obj-$(CONFIG_MV643XX_ETH) += mv643xx_eth.o + obj-$(CONFIG_PPP) += ppp_generic.o slhc.o obj-$(CONFIG_PPP_ASYNC) += ppp_async.o obj-$(CONFIG_PPP_SYNC_TTY) += ppp_synctty.o @@ -191,4 +196,3 @@ obj-$(CONFIG_HAMRADIO) += hamradio/ obj-$(CONFIG_IRDA) += irda/ obj-$(CONFIG_NETCONSOLE) += netconsole.o -obj-$(CONFIG_NETDUMP) += netdump.o diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index a4977d287..c87532a50 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c @@ -52,6 +52,7 @@ #include #include +#include #include #include #include @@ -425,13 +426,15 @@ static int dis_pci_mem_inval[ACE_MAX_MOD_PARMS] = {1, 1, 1, 1, 1, 1, 1, 1}; MODULE_AUTHOR("Jes Sorensen "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("AceNIC/3C985/GA620 Gigabit Ethernet driver"); -MODULE_PARM(link, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(trace, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(tx_coal_tick, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(max_tx_desc, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(rx_coal_tick, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(max_rx_desc, "1-" __MODULE_STRING(8) "i"); -MODULE_PARM(tx_ratio, "1-" __MODULE_STRING(8) "i"); + +static int num_params; +module_param_array(link, int, num_params, 0); +module_param_array(trace, int, num_params, 0); +module_param_array(tx_coal_tick, int, num_params, 0); +module_param_array(max_tx_desc, int, num_params, 0); +module_param_array(rx_coal_tick, int, num_params, 0); +module_param_array(max_rx_desc, int, num_params, 0); +module_param_array(tx_ratio, int, num_params, 0); MODULE_PARM_DESC(link, "AceNIC/3C985/NetGear link state"); MODULE_PARM_DESC(trace, "AceNIC/3C985/NetGear firmware trace level"); MODULE_PARM_DESC(tx_coal_tick, "AceNIC/3C985/GA620 max clock ticks to wait from first tx descriptor arrives"); @@ -474,6 +477,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev, ap = dev->priv; ap->pdev = pdev; + ap->name = pci_name(pdev); dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; #if ACENIC_DO_VLAN @@ -516,7 +520,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev, if (!(ap->pci_command & PCI_COMMAND_MEMORY)) { printk(KERN_INFO "%s: Enabling PCI Memory Mapped " "access - was not enabled by BIOS/Firmware\n", - dev->name); + ap->name); ap->pci_command = ap->pci_command | PCI_COMMAND_MEMORY; pci_write_config_word(ap->pdev, PCI_COMMAND, ap->pci_command); @@ -539,55 +543,40 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev, if (!ap->regs) { printk(KERN_ERR "%s: Unable to map I/O register, " "AceNIC %i will be disabled.\n", - dev->name, boards_found); + ap->name, boards_found); goto fail_free_netdev; } switch(pdev->vendor) { case PCI_VENDOR_ID_ALTEON: if (pdev->device == PCI_DEVICE_ID_FARALLON_PN9100T) { - strncpy(ap->name, "Farallon PN9100-T " - "Gigabit Ethernet", sizeof (ap->name)); printk(KERN_INFO "%s: Farallon PN9100-T ", - dev->name); + ap->name); } else { - strncpy(ap->name, "AceNIC Gigabit Ethernet", - sizeof (ap->name)); printk(KERN_INFO "%s: Alteon AceNIC ", - dev->name); + ap->name); } break; case PCI_VENDOR_ID_3COM: - strncpy(ap->name, "3Com 3C985 Gigabit Ethernet", - sizeof (ap->name)); - printk(KERN_INFO "%s: 3Com 3C985 ", dev->name); + printk(KERN_INFO "%s: 3Com 3C985 ", ap->name); break; case PCI_VENDOR_ID_NETGEAR: - strncpy(ap->name, "NetGear GA620 Gigabit Ethernet", - sizeof (ap->name)); - printk(KERN_INFO "%s: NetGear GA620 ", dev->name); + printk(KERN_INFO "%s: NetGear GA620 ", ap->name); break; case PCI_VENDOR_ID_DEC: if (pdev->device == PCI_DEVICE_ID_FARALLON_PN9000SX) { - strncpy(ap->name, "Farallon PN9000-SX " - "Gigabit Ethernet", sizeof (ap->name)); printk(KERN_INFO "%s: Farallon PN9000-SX ", - dev->name); + ap->name); break; } case PCI_VENDOR_ID_SGI: - strncpy(ap->name, "SGI AceNIC Gigabit Ethernet", - sizeof (ap->name)); - printk(KERN_INFO "%s: SGI AceNIC ", dev->name); + printk(KERN_INFO "%s: SGI AceNIC ", ap->name); break; default: - strncpy(ap->name, "Unknown AceNIC based Gigabit " - "Ethernet", sizeof (ap->name)); - printk(KERN_INFO "%s: Unknown AceNIC ", dev->name); + printk(KERN_INFO "%s: Unknown AceNIC ", ap->name); break; } - ap->name [sizeof (ap->name) - 1] = '\0'; printk("Gigabit Ethernet at 0x%08lx, ", dev->base_addr); #ifdef __sparc__ printk("irq %s\n", __irq_itoa(pdev->irq)); @@ -622,6 +611,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev, printk(KERN_ERR "acenic: device registration failed\n"); goto fail_uninit; } + ap->name = dev->name; if (ap->pci_using_dac) dev->features |= NETIF_F_HIGHDMA; @@ -641,7 +631,7 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev, static void __devexit acenic_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; short i; @@ -752,7 +742,7 @@ module_exit(acenic_exit); static void ace_free_descriptors(struct net_device *dev) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); int size; if (ap->rx_std_ring != NULL) { @@ -802,7 +792,7 @@ static void ace_free_descriptors(struct net_device *dev) static int ace_allocate_descriptors(struct net_device *dev) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); int size; size = (sizeof(struct rx_desc) * @@ -873,7 +863,7 @@ static void ace_init_cleanup(struct net_device *dev) { struct ace_private *ap; - ap = dev->priv; + ap = netdev_priv(dev); ace_free_descriptors(dev); @@ -921,7 +911,7 @@ static int __init ace_init(struct net_device *dev) short i; unsigned char cache_size; - ap = dev->priv; + ap = netdev_priv(dev); regs = ap->regs; board_idx = ap->board_idx; @@ -1387,7 +1377,7 @@ static int __init ace_init(struct net_device *dev) if (board_idx == BOARD_IDX_OVERFLOW) { printk(KERN_WARNING "%s: more than %i NICs detected, " "ignoring module parameters!\n", - dev->name, ACE_MAX_MOD_PARMS); + ap->name, ACE_MAX_MOD_PARMS); } else if (board_idx >= 0) { if (tx_coal_tick[board_idx]) writel(tx_coal_tick[board_idx], @@ -1426,7 +1416,7 @@ static int __init ace_init(struct net_device *dev) if (option & 0x01) { printk(KERN_INFO "%s: Setting half duplex link\n", - dev->name); + ap->name); tmp &= ~LNK_FULL_DUPLEX; } if (option & 0x02) @@ -1439,7 +1429,7 @@ static int __init ace_init(struct net_device *dev) tmp |= LNK_1000MB; if ((option & 0x70) == 0) { printk(KERN_WARNING "%s: No media speed specified, " - "forcing auto negotiation\n", dev->name); + "forcing auto negotiation\n", ap->name); tmp |= LNK_NEGOTIATE | LNK_1000MB | LNK_100MB | LNK_10MB; } @@ -1447,12 +1437,12 @@ static int __init ace_init(struct net_device *dev) tmp |= LNK_NEG_FCTL; else printk(KERN_INFO "%s: Disabling flow control " - "negotiation\n", dev->name); + "negotiation\n", ap->name); if (option & 0x200) tmp |= LNK_RX_FLOW_CTL_Y; if ((option & 0x400) && (ap->version >= 2)) { printk(KERN_INFO "%s: Enabling TX flow control\n", - dev->name); + ap->name); tmp |= LNK_TX_FLOW_CTL_Y; } } @@ -1509,7 +1499,7 @@ static int __init ace_init(struct net_device *dev) cpu_relax(); if (!ap->fw_running) { - printk(KERN_ERR "%s: Firmware NOT running!\n", dev->name); + printk(KERN_ERR "%s: Firmware NOT running!\n", ap->name); ace_dump_trace(ap); writel(readl(®s->CpuCtrl) | CPU_HALT, ®s->CpuCtrl); @@ -1542,13 +1532,13 @@ static int __init ace_init(struct net_device *dev) ace_load_std_rx_ring(ap, RX_RING_SIZE); else printk(KERN_ERR "%s: Someone is busy refilling the RX ring\n", - dev->name); + ap->name); if (ap->version >= 2) { if (!test_and_set_bit(0, &ap->mini_refill_busy)) ace_load_mini_rx_ring(ap, RX_MINI_SIZE); else printk(KERN_ERR "%s: Someone is busy refilling " - "the RX mini ring\n", dev->name); + "the RX mini ring\n", ap->name); } return 0; @@ -1564,7 +1554,7 @@ static void ace_set_rxtx_parms(struct net_device *dev, int jumbo) struct ace_regs *regs; int board_idx; - ap = dev->priv; + ap = netdev_priv(dev); regs = ap->regs; board_idx = ap->board_idx; @@ -1604,7 +1594,7 @@ static void ace_set_rxtx_parms(struct net_device *dev, int jumbo) static void ace_watchdog(struct net_device *data) { struct net_device *dev = data; - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; /* @@ -1878,13 +1868,13 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd) { struct ace_private *ap; - ap = dev->priv; + ap = netdev_priv(dev); while (evtcsm != evtprd) { switch (ap->evt_ring[evtcsm].evt) { case E_FW_RUNNING: printk(KERN_INFO "%s: Firmware up and running\n", - dev->name); + ap->name); ap->fw_running = 1; wmb(); break; @@ -1899,7 +1889,7 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd) u32 state = readl(&ap->regs->GigLnkState); printk(KERN_WARNING "%s: Optical link UP " "(%s Duplex, Flow Control: %s%s)\n", - dev->name, + ap->name, state & LNK_FULL_DUPLEX ? "Full":"Half", state & LNK_TX_FLOW_CTL_Y ? "TX " : "", state & LNK_RX_FLOW_CTL_Y ? "RX" : ""); @@ -1907,15 +1897,15 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd) } case E_C_LINK_DOWN: printk(KERN_WARNING "%s: Optical link DOWN\n", - dev->name); + ap->name); break; case E_C_LINK_10_100: printk(KERN_WARNING "%s: 10/100BaseT link " - "UP\n", dev->name); + "UP\n", ap->name); break; default: printk(KERN_ERR "%s: Unknown optical link " - "state %02x\n", dev->name, code); + "state %02x\n", ap->name, code); } break; } @@ -1923,19 +1913,19 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd) switch(ap->evt_ring[evtcsm].code) { case E_C_ERR_INVAL_CMD: printk(KERN_ERR "%s: invalid command error\n", - dev->name); + ap->name); break; case E_C_ERR_UNIMP_CMD: printk(KERN_ERR "%s: unimplemented command " - "error\n", dev->name); + "error\n", ap->name); break; case E_C_ERR_BAD_CFG: printk(KERN_ERR "%s: bad config error\n", - dev->name); + ap->name); break; default: printk(KERN_ERR "%s: unknown error %02x\n", - dev->name, ap->evt_ring[evtcsm].code); + ap->name, ap->evt_ring[evtcsm].code); } break; case E_RESET_JUMBO_RNG: @@ -1964,13 +1954,13 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd) ap->jumbo = 0; ap->rx_jumbo_skbprd = 0; printk(KERN_INFO "%s: Jumbo ring flushed\n", - dev->name); + ap->name); clear_bit(0, &ap->jumbo_refill_busy); break; } default: printk(KERN_ERR "%s: Unhandled event 0x%02x\n", - dev->name, ap->evt_ring[evtcsm].evt); + ap->name, ap->evt_ring[evtcsm].evt); } evtcsm = (evtcsm + 1) % EVT_RING_ENTRIES; } @@ -1981,7 +1971,7 @@ static u32 ace_handle_event(struct net_device *dev, u32 evtcsm, u32 evtprd) static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); u32 idx; int mini_count = 0, std_count = 0; @@ -2108,7 +2098,7 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm) static inline void ace_tx_int(struct net_device *dev, u32 txcsm, u32 idx) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); do { struct sk_buff *skb; @@ -2181,7 +2171,7 @@ static irqreturn_t ace_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) u32 txcsm, rxretcsm, rxretprd; u32 evtcsm, evtprd; - ap = dev->priv; + ap = netdev_priv(dev); regs = ap->regs; /* @@ -2304,7 +2294,7 @@ static irqreturn_t ace_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) #if ACENIC_DO_VLAN static void ace_vlan_rx_register(struct net_device *dev, struct vlan_group *grp) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); unsigned long flags; local_irq_save(flags); @@ -2319,7 +2309,7 @@ static void ace_vlan_rx_register(struct net_device *dev, struct vlan_group *grp) static void ace_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); unsigned long flags; local_irq_save(flags); @@ -2340,7 +2330,7 @@ static int ace_open(struct net_device *dev) struct ace_regs *regs; struct cmd cmd; - ap = dev->priv; + ap = netdev_priv(dev); regs = ap->regs; if (!(ap->fw_running)) { @@ -2407,7 +2397,7 @@ static int ace_close(struct net_device *dev) */ netif_stop_queue(dev); - ap = dev->priv; + ap = netdev_priv(dev); regs = ap->regs; if (ap->promisc) { @@ -2522,7 +2512,7 @@ ace_load_tx_bd(struct ace_private *ap, struct tx_desc *desc, u64 addr, static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; struct tx_desc *desc; u32 idx, flagsize; @@ -2661,7 +2651,7 @@ overflow: static int ace_change_mtu(struct net_device *dev, int new_mtu) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; if (new_mtu > ACE_JUMBO_MTU) @@ -2698,7 +2688,7 @@ static int ace_change_mtu(struct net_device *dev, int new_mtu) static int ace_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; u32 link; @@ -2751,7 +2741,7 @@ static int ace_get_settings(struct net_device *dev, struct ethtool_cmd *ecmd) static int ace_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; u32 link, speed; @@ -2814,7 +2804,7 @@ static int ace_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd) static void ace_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); strlcpy(info->driver, "acenic", sizeof(info->driver)); snprintf(info->version, sizeof(info->version), "%i.%i.%i", @@ -2844,7 +2834,7 @@ static int ace_set_mac_addr(struct net_device *dev, void *p) da = (u8 *)dev->dev_addr; - regs = ((struct ace_private *)dev->priv)->regs; + regs = ((struct ace_private *)netdev_priv(dev))->regs; writel(da[0] << 8 | da[1], ®s->MacAddrHi); writel((da[2] << 24) | (da[3] << 16) | (da[4] << 8) | da[5], ®s->MacAddrLo); @@ -2860,7 +2850,7 @@ static int ace_set_mac_addr(struct net_device *dev, void *p) static void ace_set_multicast_list(struct net_device *dev) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_regs *regs = ap->regs; struct cmd cmd; @@ -2914,7 +2904,7 @@ static void ace_set_multicast_list(struct net_device *dev) static struct net_device_stats *ace_get_stats(struct net_device *dev) { - struct ace_private *ap = dev->priv; + struct ace_private *ap = netdev_priv(dev); struct ace_mac_stats *mac_stats = (struct ace_mac_stats *)ap->regs->Stats; @@ -2997,12 +2987,12 @@ int __init ace_load_firmware(struct net_device *dev) struct ace_private *ap; struct ace_regs *regs; - ap = dev->priv; + ap = netdev_priv(dev); regs = ap->regs; if (!(readl(®s->CpuCtrl) & CPU_HALTED)) { printk(KERN_ERR "%s: trying to download firmware while the " - "CPU is running!\n", dev->name); + "CPU is running!\n", ap->name); return -EFAULT; } @@ -3178,6 +3168,7 @@ static void __init eeprom_stop(struct ace_regs *regs) static int __init read_eeprom_byte(struct net_device *dev, unsigned long offset) { + struct ace_private *ap; struct ace_regs *regs; unsigned long flags; u32 local; @@ -3187,10 +3178,11 @@ static int __init read_eeprom_byte(struct net_device *dev, if (!dev) { printk(KERN_ERR "No device!\n"); result = -ENODEV; - goto eeprom_read_error; + goto out; } - regs = ((struct ace_private *)dev->priv)->regs; + ap = netdev_priv(dev); + regs = ap->regs; /* * Don't take interrupts on this CPU will bit banging @@ -3203,7 +3195,7 @@ static int __init read_eeprom_byte(struct net_device *dev, eeprom_prep(regs, EEPROM_WRITE_SELECT); if (eeprom_check_ack(regs)) { local_irq_restore(flags); - printk(KERN_ERR "%s: Unable to sync eeprom\n", dev->name); + printk(KERN_ERR "%s: Unable to sync eeprom\n", ap->name); result = -EIO; goto eeprom_read_error; } @@ -3212,7 +3204,7 @@ static int __init read_eeprom_byte(struct net_device *dev, if (eeprom_check_ack(regs)) { local_irq_restore(flags); printk(KERN_ERR "%s: Unable to set address byte 0\n", - dev->name); + ap->name); result = -EIO; goto eeprom_read_error; } @@ -3221,7 +3213,7 @@ static int __init read_eeprom_byte(struct net_device *dev, if (eeprom_check_ack(regs)) { local_irq_restore(flags); printk(KERN_ERR "%s: Unable to set address byte 1\n", - dev->name); + ap->name); result = -EIO; goto eeprom_read_error; } @@ -3231,7 +3223,7 @@ static int __init read_eeprom_byte(struct net_device *dev, if (eeprom_check_ack(regs)) { local_irq_restore(flags); printk(KERN_ERR "%s: Unable to set READ_SELECT\n", - dev->name); + ap->name); result = -EIO; goto eeprom_read_error; } @@ -3288,7 +3280,7 @@ static int __init read_eeprom_byte(struct net_device *dev, eeprom_read_error: printk(KERN_ERR "%s: Unable to read eeprom byte 0x%02lx\n", - dev->name, offset); + ap->name, offset); goto out; } diff --git a/drivers/net/acenic.h b/drivers/net/acenic.h index c4624b85d..6eb134e7b 100644 --- a/drivers/net/acenic.h +++ b/drivers/net/acenic.h @@ -693,7 +693,7 @@ struct ace_private int board_idx; u16 pci_command; u8 pci_latency; - char name[48]; + const char *name; #ifdef INDEX_DEBUG spinlock_t debug_lock __attribute__ ((aligned (SMP_CACHE_BYTES))); diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c index 5912a24a3..5d304676f 100644 --- a/drivers/net/arcnet/arcnet.c +++ b/drivers/net/arcnet/arcnet.c @@ -401,7 +401,8 @@ static int arcnet_open(struct net_device *dev) lp->rfc1201.sequence = 1; /* bring up the hardware driver */ - lp->hw.open(dev); + if (lp->hw.open) + lp->hw.open(dev); if (dev->dev_addr[0] == 0) BUGMSG(D_NORMAL, "WARNING! Station address 00 is reserved " diff --git a/drivers/net/arcnet/com90xx.c b/drivers/net/arcnet/com90xx.c index 05a832a2f..ba0f8a2eb 100644 --- a/drivers/net/arcnet/com90xx.c +++ b/drivers/net/arcnet/com90xx.c @@ -566,7 +566,7 @@ static void com90xx_copy_to_card(struct net_device *dev, int bufnum, int offset, void *buf, int count) { struct arcnet_local *lp = (struct arcnet_local *) dev->priv; - void *memaddr = lp->mem_start + bufnum * 512 + offset; + void __iomem *memaddr = lp->mem_start + bufnum * 512 + offset; TIME("memcpy_toio", count, memcpy_toio(memaddr, buf, count)); } @@ -575,7 +575,7 @@ static void com90xx_copy_from_card(struct net_device *dev, int bufnum, int offse void *buf, int count) { struct arcnet_local *lp = (struct arcnet_local *) dev->priv; - void *memaddr = lp->mem_start + bufnum * 512 + offset; + void __iomem *memaddr = lp->mem_start + bufnum * 512 + offset; TIME("memcpy_fromio", count, memcpy_fromio(buf, memaddr, count)); } diff --git a/drivers/net/b44.c b/drivers/net/b44.c index ba1d4fc9a..ce9962202 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -27,8 +28,8 @@ #define DRV_MODULE_NAME "b44" #define PFX DRV_MODULE_NAME ": " -#define DRV_MODULE_VERSION "0.94" -#define DRV_MODULE_RELDATE "May 4, 2004" +#define DRV_MODULE_VERSION "0.95" +#define DRV_MODULE_RELDATE "Aug 3, 2004" #define B44_DEF_MSG_ENABLE \ (NETIF_MSG_DRV | \ @@ -57,6 +58,7 @@ #define B44_DEF_TX_RING_PENDING (B44_TX_RING_SIZE - 1) #define B44_TX_RING_BYTES (sizeof(struct dma_desc) * \ B44_TX_RING_SIZE) +#define B44_DMA_MASK 0x3fffffff #define TX_RING_GAP(BP) \ (B44_TX_RING_SIZE - (BP)->tx_pending) @@ -67,6 +69,7 @@ #define NEXT_TX(N) (((N) + 1) & (B44_TX_RING_SIZE - 1)) #define RX_PKT_BUF_SZ (1536 + bp->rx_offset + 64) +#define TX_PKT_BUF_SZ (B44_MAX_MTU + ETH_HLEN + 8) /* minimum number of free TX descriptors required to wake up TX process */ #define B44_TX_WAKEUP_THRESH (B44_TX_RING_SIZE / 4) @@ -74,13 +77,14 @@ static char version[] __devinitdata = DRV_MODULE_NAME ".c:v" DRV_MODULE_VERSION " (" DRV_MODULE_RELDATE ")\n"; -MODULE_AUTHOR("David S. Miller (davem@redhat.com)"); +MODULE_AUTHOR("Florian Schirmer, Pekka Pietikainen, David S. Miller"); MODULE_DESCRIPTION("Broadcom 4400 10/100 PCI ethernet driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(b44_debug, "i"); -MODULE_PARM_DESC(b44_debug, "B44 bitmapped debugging message enable value"); static int b44_debug = -1; /* -1 == use B44_DEF_MSG_ENABLE as value */ +module_param(b44_debug, int, 0); +MODULE_PARM_DESC(b44_debug, "B44 bitmapped debugging message enable value"); +MODULE_VERSION(DRV_MODULE_VERSION); static struct pci_device_id b44_pci_tbl[] = { { PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_BCM4401, @@ -97,6 +101,21 @@ MODULE_DEVICE_TABLE(pci, b44_pci_tbl); static void b44_halt(struct b44 *); static void b44_init_rings(struct b44 *); static void b44_init_hw(struct b44 *); +static int b44_poll(struct net_device *dev, int *budget); +#ifdef CONFIG_NET_POLL_CONTROLLER +static void b44_poll_controller(struct net_device *dev); +#endif + +static inline unsigned long br32(const struct b44 *bp, unsigned long reg) +{ + return readl(bp->regs + reg); +} + +static inline void bw32(const struct b44 *bp, + unsigned long reg, unsigned long val) +{ + writel(val, bp->regs + reg); +} static int b44_wait_bit(struct b44 *bp, unsigned long reg, u32 bit, unsigned long timeout, const int clear) @@ -104,7 +123,7 @@ static int b44_wait_bit(struct b44 *bp, unsigned long reg, unsigned long i; for (i = 0; i < timeout; i++) { - u32 val = br32(reg); + u32 val = br32(bp, reg); if (clear && !(val & bit)) break; @@ -130,45 +149,12 @@ static int b44_wait_bit(struct b44 *bp, unsigned long reg, * interrupts disabled. */ -#define SBID_SDRAM 0 -#define SBID_PCI_MEM 1 -#define SBID_PCI_CFG 2 -#define SBID_PCI_DMA 3 -#define SBID_SDRAM_SWAPPED 4 -#define SBID_ENUM 5 -#define SBID_REG_SDRAM 6 -#define SBID_REG_ILINE20 7 -#define SBID_REG_EMAC 8 -#define SBID_REG_CODEC 9 -#define SBID_REG_USB 10 -#define SBID_REG_PCI 11 -#define SBID_REG_MIPS 12 -#define SBID_REG_EXTIF 13 -#define SBID_EXTIF 14 -#define SBID_EJTAG 15 -#define SBID_MAX 16 - -static u32 ssb_get_addr(struct b44 *bp, u32 id, u32 instance) -{ - switch (id) { - case SBID_PCI_DMA: - return 0x40000000; - case SBID_ENUM: - return 0x18000000; - case SBID_REG_EMAC: - return 0x18000000; - case SBID_REG_CODEC: - return 0x18001000; - case SBID_REG_PCI: - return 0x18002000; - default: - return 0; - }; -} +#define SB_PCI_DMA 0x40000000 /* Client Mode PCI memory access space (1 GB) */ +#define BCM4400_PCI_CORE_ADDR 0x18002000 /* Address of PCI core on BCM4400 cards */ static u32 ssb_get_core_rev(struct b44 *bp) { - return (br32(B44_SBIDHIGH) & SBIDHIGH_RC_MASK); + return (br32(bp, B44_SBIDHIGH) & SBIDHIGH_RC_MASK); } static u32 ssb_pci_setup(struct b44 *bp, u32 cores) @@ -176,17 +162,16 @@ static u32 ssb_pci_setup(struct b44 *bp, u32 cores) u32 bar_orig, pci_rev, val; pci_read_config_dword(bp->pdev, SSB_BAR0_WIN, &bar_orig); - pci_write_config_dword(bp->pdev, SSB_BAR0_WIN, - ssb_get_addr(bp, SBID_REG_PCI, 0)); + pci_write_config_dword(bp->pdev, SSB_BAR0_WIN, BCM4400_PCI_CORE_ADDR); pci_rev = ssb_get_core_rev(bp); - val = br32(B44_SBINTVEC); + val = br32(bp, B44_SBINTVEC); val |= cores; - bw32(B44_SBINTVEC, val); + bw32(bp, B44_SBINTVEC, val); - val = br32(SSB_PCI_TRANS_2); + val = br32(bp, SSB_PCI_TRANS_2); val |= SSB_PCI_PREF | SSB_PCI_BURST; - bw32(SSB_PCI_TRANS_2, val); + bw32(bp, SSB_PCI_TRANS_2, val); pci_write_config_dword(bp->pdev, SSB_BAR0_WIN, bar_orig); @@ -195,18 +180,18 @@ static u32 ssb_pci_setup(struct b44 *bp, u32 cores) static void ssb_core_disable(struct b44 *bp) { - if (br32(B44_SBTMSLOW) & SBTMSLOW_RESET) + if (br32(bp, B44_SBTMSLOW) & SBTMSLOW_RESET) return; - bw32(B44_SBTMSLOW, (SBTMSLOW_REJECT | SBTMSLOW_CLOCK)); + bw32(bp, B44_SBTMSLOW, (SBTMSLOW_REJECT | SBTMSLOW_CLOCK)); b44_wait_bit(bp, B44_SBTMSLOW, SBTMSLOW_REJECT, 100000, 0); b44_wait_bit(bp, B44_SBTMSHIGH, SBTMSHIGH_BUSY, 100000, 1); - bw32(B44_SBTMSLOW, (SBTMSLOW_FGC | SBTMSLOW_CLOCK | + bw32(bp, B44_SBTMSLOW, (SBTMSLOW_FGC | SBTMSLOW_CLOCK | SBTMSLOW_REJECT | SBTMSLOW_RESET)); - br32(B44_SBTMSLOW); + br32(bp, B44_SBTMSLOW); udelay(1); - bw32(B44_SBTMSLOW, (SBTMSLOW_REJECT | SBTMSLOW_RESET)); - br32(B44_SBTMSLOW); + bw32(bp, B44_SBTMSLOW, (SBTMSLOW_REJECT | SBTMSLOW_RESET)); + br32(bp, B44_SBTMSLOW); udelay(1); } @@ -215,31 +200,31 @@ static void ssb_core_reset(struct b44 *bp) u32 val; ssb_core_disable(bp); - bw32(B44_SBTMSLOW, (SBTMSLOW_RESET | SBTMSLOW_CLOCK | SBTMSLOW_FGC)); - br32(B44_SBTMSLOW); + bw32(bp, B44_SBTMSLOW, (SBTMSLOW_RESET | SBTMSLOW_CLOCK | SBTMSLOW_FGC)); + br32(bp, B44_SBTMSLOW); udelay(1); /* Clear SERR if set, this is a hw bug workaround. */ - if (br32(B44_SBTMSHIGH) & SBTMSHIGH_SERR) - bw32(B44_SBTMSHIGH, 0); + if (br32(bp, B44_SBTMSHIGH) & SBTMSHIGH_SERR) + bw32(bp, B44_SBTMSHIGH, 0); - val = br32(B44_SBIMSTATE); + val = br32(bp, B44_SBIMSTATE); if (val & (SBIMSTATE_IBE | SBIMSTATE_TO)) - bw32(B44_SBIMSTATE, val & ~(SBIMSTATE_IBE | SBIMSTATE_TO)); + bw32(bp, B44_SBIMSTATE, val & ~(SBIMSTATE_IBE | SBIMSTATE_TO)); - bw32(B44_SBTMSLOW, (SBTMSLOW_CLOCK | SBTMSLOW_FGC)); - br32(B44_SBTMSLOW); + bw32(bp, B44_SBTMSLOW, (SBTMSLOW_CLOCK | SBTMSLOW_FGC)); + br32(bp, B44_SBTMSLOW); udelay(1); - bw32(B44_SBTMSLOW, (SBTMSLOW_CLOCK)); - br32(B44_SBTMSLOW); + bw32(bp, B44_SBTMSLOW, (SBTMSLOW_CLOCK)); + br32(bp, B44_SBTMSLOW); udelay(1); } static int ssb_core_unit(struct b44 *bp) { #if 0 - u32 val = br32(B44_SBADMATCH0); + u32 val = br32(bp, B44_SBADMATCH0); u32 base; type = val & SBADMATCH0_TYPE_MASK; @@ -263,7 +248,7 @@ static int ssb_core_unit(struct b44 *bp) static int ssb_is_core_up(struct b44 *bp) { - return ((br32(B44_SBTMSLOW) & (SBTMSLOW_RESET | SBTMSLOW_REJECT | SBTMSLOW_CLOCK)) + return ((br32(bp, B44_SBTMSLOW) & (SBTMSLOW_RESET | SBTMSLOW_REJECT | SBTMSLOW_CLOCK)) == SBTMSLOW_CLOCK); } @@ -275,19 +260,19 @@ static void __b44_cam_write(struct b44 *bp, unsigned char *data, int index) val |= ((u32) data[3]) << 16; val |= ((u32) data[4]) << 8; val |= ((u32) data[5]) << 0; - bw32(B44_CAM_DATA_LO, val); + bw32(bp, B44_CAM_DATA_LO, val); val = (CAM_DATA_HI_VALID | (((u32) data[0]) << 8) | (((u32) data[1]) << 0)); - bw32(B44_CAM_DATA_HI, val); - bw32(B44_CAM_CTRL, (CAM_CTRL_WRITE | + bw32(bp, B44_CAM_DATA_HI, val); + bw32(bp, B44_CAM_CTRL, (CAM_CTRL_WRITE | (index << CAM_CTRL_INDEX_SHIFT))); b44_wait_bit(bp, B44_CAM_CTRL, CAM_CTRL_BUSY, 100, 1); } static inline void __b44_disable_ints(struct b44 *bp) { - bw32(B44_IMASK, 0); + bw32(bp, B44_IMASK, 0); } static void b44_disable_ints(struct b44 *bp) @@ -295,34 +280,34 @@ static void b44_disable_ints(struct b44 *bp) __b44_disable_ints(bp); /* Flush posted writes. */ - br32(B44_IMASK); + br32(bp, B44_IMASK); } static void b44_enable_ints(struct b44 *bp) { - bw32(B44_IMASK, bp->imask); + bw32(bp, B44_IMASK, bp->imask); } static int b44_readphy(struct b44 *bp, int reg, u32 *val) { int err; - bw32(B44_EMAC_ISTAT, EMAC_INT_MII); - bw32(B44_MDIO_DATA, (MDIO_DATA_SB_START | + bw32(bp, B44_EMAC_ISTAT, EMAC_INT_MII); + bw32(bp, B44_MDIO_DATA, (MDIO_DATA_SB_START | (MDIO_OP_READ << MDIO_DATA_OP_SHIFT) | (bp->phy_addr << MDIO_DATA_PMD_SHIFT) | (reg << MDIO_DATA_RA_SHIFT) | (MDIO_TA_VALID << MDIO_DATA_TA_SHIFT))); err = b44_wait_bit(bp, B44_EMAC_ISTAT, EMAC_INT_MII, 100, 0); - *val = br32(B44_MDIO_DATA) & MDIO_DATA_DATA; + *val = br32(bp, B44_MDIO_DATA) & MDIO_DATA_DATA; return err; } static int b44_writephy(struct b44 *bp, int reg, u32 val) { - bw32(B44_EMAC_ISTAT, EMAC_INT_MII); - bw32(B44_MDIO_DATA, (MDIO_DATA_SB_START | + bw32(bp, B44_EMAC_ISTAT, EMAC_INT_MII); + bw32(bp, B44_MDIO_DATA, (MDIO_DATA_SB_START | (MDIO_OP_WRITE << MDIO_DATA_OP_SHIFT) | (bp->phy_addr << MDIO_DATA_PMD_SHIFT) | (reg << MDIO_DATA_RA_SHIFT) | @@ -382,20 +367,20 @@ static void __b44_set_flow_ctrl(struct b44 *bp, u32 pause_flags) bp->flags &= ~(B44_FLAG_TX_PAUSE | B44_FLAG_RX_PAUSE); bp->flags |= pause_flags; - val = br32(B44_RXCONFIG); + val = br32(bp, B44_RXCONFIG); if (pause_flags & B44_FLAG_RX_PAUSE) val |= RXCONFIG_FLOW; else val &= ~RXCONFIG_FLOW; - bw32(B44_RXCONFIG, val); + bw32(bp, B44_RXCONFIG, val); - val = br32(B44_MAC_FLOW); + val = br32(bp, B44_MAC_FLOW); if (pause_flags & B44_FLAG_TX_PAUSE) val |= (MAC_FLOW_PAUSE_ENAB | (0xc0 & MAC_FLOW_RX_HI_WATER)); else val &= ~MAC_FLOW_PAUSE_ENAB; - bw32(B44_MAC_FLOW, val); + bw32(bp, B44_MAC_FLOW, val); } static void b44_set_flow_ctrl(struct b44 *bp, u32 local, u32 remote) @@ -491,11 +476,11 @@ static void b44_stats_update(struct b44 *bp) val = &bp->hw_stats.tx_good_octets; for (reg = B44_TX_GOOD_O; reg <= B44_TX_PAUSE; reg += 4UL) { - *val++ += br32(reg); + *val++ += br32(bp, reg); } val = &bp->hw_stats.rx_good_octets; for (reg = B44_RX_GOOD_O; reg <= B44_RX_NPAUSE; reg += 4UL) { - *val++ += br32(reg); + *val++ += br32(bp, reg); } } @@ -535,14 +520,14 @@ static void b44_check_phy(struct b44 *bp) if (!netif_carrier_ok(bp->dev) && (bmsr & BMSR_LSTATUS)) { - u32 val = br32(B44_TX_CTRL); + u32 val = br32(bp, B44_TX_CTRL); u32 local_adv, remote_adv; if (bp->flags & B44_FLAG_FULL_DUPLEX) val |= TX_CTRL_DUPLEX; else val &= ~TX_CTRL_DUPLEX; - bw32(B44_TX_CTRL, val); + bw32(bp, B44_TX_CTRL, val); if (!(bp->flags & B44_FLAG_FORCE_LINK) && !b44_readphy(bp, MII_ADVERTISE, &local_adv) && @@ -587,7 +572,7 @@ static void b44_tx(struct b44 *bp) { u32 cur, cons; - cur = br32(B44_DMATX_STAT) & DMATX_STAT_CDMASK; + cur = br32(bp, B44_DMATX_STAT) & DMATX_STAT_CDMASK; cur /= sizeof(struct dma_desc); /* XXX needs updating when NETIF_F_SG is supported */ @@ -611,7 +596,7 @@ static void b44_tx(struct b44 *bp) TX_BUFFS_AVAIL(bp) > B44_TX_WAKEUP_THRESH) netif_wake_queue(bp->dev); - bw32(B44_GPTIMER, 0); + bw32(bp, B44_GPTIMER, 0); } /* Works like this. This chip writes a 'struct rx_header" 30 bytes @@ -638,10 +623,30 @@ static int b44_alloc_rx_skb(struct b44 *bp, int src_idx, u32 dest_idx_unmasked) if (skb == NULL) return -ENOMEM; - skb->dev = bp->dev; mapping = pci_map_single(bp->pdev, skb->data, RX_PKT_BUF_SZ, PCI_DMA_FROMDEVICE); + + /* Hardware bug work-around, the chip is unable to do PCI DMA + to/from anything above 1GB :-( */ + if(mapping+RX_PKT_BUF_SZ > B44_DMA_MASK) { + /* Sigh... */ + pci_unmap_single(bp->pdev, mapping, RX_PKT_BUF_SZ,PCI_DMA_FROMDEVICE); + dev_kfree_skb_any(skb); + skb = __dev_alloc_skb(RX_PKT_BUF_SZ,GFP_DMA); + if (skb == NULL) + return -ENOMEM; + mapping = pci_map_single(bp->pdev, skb->data, + RX_PKT_BUF_SZ, + PCI_DMA_FROMDEVICE); + if(mapping+RX_PKT_BUF_SZ > B44_DMA_MASK) { + pci_unmap_single(bp->pdev, mapping, RX_PKT_BUF_SZ,PCI_DMA_FROMDEVICE); + dev_kfree_skb_any(skb); + return -ENOMEM; + } + } + + skb->dev = bp->dev; skb_reserve(skb, bp->rx_offset); rh = (struct rx_header *) @@ -708,7 +713,7 @@ static int b44_rx(struct b44 *bp, int budget) u32 cons, prod; received = 0; - prod = br32(B44_DMARX_STAT) & DMARX_STAT_CDMASK; + prod = br32(bp, B44_DMARX_STAT) & DMARX_STAT_CDMASK; prod /= sizeof(struct dma_desc); cons = bp->rx_cons; @@ -787,7 +792,7 @@ static int b44_rx(struct b44 *bp, int budget) } bp->rx_cons = cons; - bw32(B44_DMARX_PTR, cons * sizeof(struct dma_desc)); + bw32(bp, B44_DMARX_PTR, cons * sizeof(struct dma_desc)); return received; } @@ -851,8 +856,8 @@ static irqreturn_t b44_interrupt(int irq, void *dev_id, struct pt_regs *regs) spin_lock_irqsave(&bp->lock, flags); - istat = br32(B44_ISTAT); - imask = br32(B44_IMASK); + istat = br32(bp, B44_ISTAT); + imask = br32(bp, B44_IMASK); /* ??? What the fuck is the purpose of the interrupt mask * ??? register if we have to mask it out by hand anyways? @@ -872,8 +877,8 @@ static irqreturn_t b44_interrupt(int irq, void *dev_id, struct pt_regs *regs) dev->name); } - bw32(B44_ISTAT, istat); - br32(B44_ISTAT); + bw32(bp, B44_ISTAT, istat); + br32(bp, B44_ISTAT); } spin_unlock_irqrestore(&bp->lock, flags); return IRQ_RETVAL(handled); @@ -919,6 +924,12 @@ static int b44_start_xmit(struct sk_buff *skb, struct net_device *dev) entry = bp->tx_prod; mapping = pci_map_single(bp->pdev, skb->data, len, PCI_DMA_TODEVICE); + if(mapping+len > B44_DMA_MASK) { + /* Chip can't handle DMA to/from >1GB, use bounce buffer */ + pci_unmap_single(bp->pdev, mapping, len,PCI_DMA_TODEVICE); + memcpy(bp->tx_bufs+entry*TX_PKT_BUF_SZ,skb->data,skb->len); + mapping = pci_map_single(bp->pdev, bp->tx_bufs+entry*TX_PKT_BUF_SZ, len, PCI_DMA_TODEVICE); + } bp->tx_buffers[entry].skb = skb; pci_unmap_addr_set(&bp->tx_buffers[entry], mapping, mapping); @@ -937,11 +948,11 @@ static int b44_start_xmit(struct sk_buff *skb, struct net_device *dev) wmb(); - bw32(B44_DMATX_PTR, entry * sizeof(struct dma_desc)); + bw32(bp, B44_DMATX_PTR, entry * sizeof(struct dma_desc)); if (bp->flags & B44_FLAG_BUGGY_TXPTR) - bw32(B44_DMATX_PTR, entry * sizeof(struct dma_desc)); + bw32(bp, B44_DMATX_PTR, entry * sizeof(struct dma_desc)); if (bp->flags & B44_FLAG_REORDER_BUG) - br32(B44_DMATX_PTR); + br32(bp, B44_DMATX_PTR); if (TX_BUFFS_AVAIL(bp) < 1) netif_stop_queue(dev); @@ -1066,6 +1077,11 @@ static void b44_free_consistent(struct b44 *bp) bp->tx_ring, bp->tx_ring_dma); bp->tx_ring = NULL; } + if (bp->tx_bufs) { + pci_free_consistent(bp->pdev, B44_TX_RING_SIZE * TX_PKT_BUF_SZ, + bp->tx_bufs, bp->tx_bufs_dma); + bp->tx_bufs = NULL; + } } /* @@ -1088,6 +1104,12 @@ static int b44_alloc_consistent(struct b44 *bp) goto out_err; memset(bp->tx_buffers, 0, size); + size = B44_TX_RING_SIZE * TX_PKT_BUF_SZ; + bp->tx_bufs = pci_alloc_consistent(bp->pdev, size, &bp->tx_bufs_dma); + if (!bp->tx_bufs) + goto out_err; + memset(bp->tx_bufs, 0, size); + size = DMA_TABLE_BYTES; bp->rx_ring = pci_alloc_consistent(bp->pdev, size, &bp->rx_ring_dma); if (!bp->rx_ring) @@ -1109,27 +1131,27 @@ static void b44_clear_stats(struct b44 *bp) { unsigned long reg; - bw32(B44_MIB_CTRL, MIB_CTRL_CLR_ON_READ); + bw32(bp, B44_MIB_CTRL, MIB_CTRL_CLR_ON_READ); for (reg = B44_TX_GOOD_O; reg <= B44_TX_PAUSE; reg += 4UL) - br32(reg); + br32(bp, reg); for (reg = B44_RX_GOOD_O; reg <= B44_RX_NPAUSE; reg += 4UL) - br32(reg); + br32(bp, reg); } /* bp->lock is held. */ static void b44_chip_reset(struct b44 *bp) { if (ssb_is_core_up(bp)) { - bw32(B44_RCV_LAZY, 0); - bw32(B44_ENET_CTRL, ENET_CTRL_DISABLE); + bw32(bp, B44_RCV_LAZY, 0); + bw32(bp, B44_ENET_CTRL, ENET_CTRL_DISABLE); b44_wait_bit(bp, B44_ENET_CTRL, ENET_CTRL_DISABLE, 100, 1); - bw32(B44_DMATX_CTRL, 0); + bw32(bp, B44_DMATX_CTRL, 0); bp->tx_prod = bp->tx_cons = 0; - if (br32(B44_DMARX_STAT) & DMARX_STAT_EMASK) { + if (br32(bp, B44_DMARX_STAT) & DMARX_STAT_EMASK) { b44_wait_bit(bp, B44_DMARX_STAT, DMARX_STAT_SIDLE, 100, 0); } - bw32(B44_DMARX_CTRL, 0); + bw32(bp, B44_DMARX_CTRL, 0); bp->rx_prod = bp->rx_cons = 0; } else { ssb_pci_setup(bp, (bp->core_unit == 0 ? @@ -1142,20 +1164,20 @@ static void b44_chip_reset(struct b44 *bp) b44_clear_stats(bp); /* Make PHY accessible. */ - bw32(B44_MDIO_CTRL, (MDIO_CTRL_PREAMBLE | + bw32(bp, B44_MDIO_CTRL, (MDIO_CTRL_PREAMBLE | (0x0d & MDIO_CTRL_MAXF_MASK))); - br32(B44_MDIO_CTRL); + br32(bp, B44_MDIO_CTRL); - if (!(br32(B44_DEVCTRL) & DEVCTRL_IPP)) { - bw32(B44_ENET_CTRL, ENET_CTRL_EPSEL); - br32(B44_ENET_CTRL); + if (!(br32(bp, B44_DEVCTRL) & DEVCTRL_IPP)) { + bw32(bp, B44_ENET_CTRL, ENET_CTRL_EPSEL); + br32(bp, B44_ENET_CTRL); bp->flags &= ~B44_FLAG_INTERNAL_PHY; } else { - u32 val = br32(B44_DEVCTRL); + u32 val = br32(bp, B44_DEVCTRL); if (val & DEVCTRL_EPR) { - bw32(B44_DEVCTRL, (val & ~DEVCTRL_EPR)); - br32(B44_DEVCTRL); + bw32(bp, B44_DEVCTRL, (val & ~DEVCTRL_EPR)); + br32(bp, B44_DEVCTRL); udelay(100); } bp->flags |= B44_FLAG_INTERNAL_PHY; @@ -1172,13 +1194,13 @@ static void b44_halt(struct b44 *bp) /* bp->lock is held. */ static void __b44_set_mac_addr(struct b44 *bp) { - bw32(B44_CAM_CTRL, 0); + bw32(bp, B44_CAM_CTRL, 0); if (!(bp->dev->flags & IFF_PROMISC)) { u32 val; __b44_cam_write(bp, bp->dev->dev_addr, 0); - val = br32(B44_CAM_CTRL); - bw32(B44_CAM_CTRL, val | CAM_CTRL_ENABLE); + val = br32(bp, B44_CAM_CTRL); + bw32(bp, B44_CAM_CTRL, val | CAM_CTRL_ENABLE); } } @@ -1212,30 +1234,30 @@ static void b44_init_hw(struct b44 *bp) b44_setup_phy(bp); /* Enable CRC32, set proper LED modes and power on PHY */ - bw32(B44_MAC_CTRL, MAC_CTRL_CRC32_ENAB | MAC_CTRL_PHY_LEDCTRL); - bw32(B44_RCV_LAZY, (1 << RCV_LAZY_FC_SHIFT)); + bw32(bp, B44_MAC_CTRL, MAC_CTRL_CRC32_ENAB | MAC_CTRL_PHY_LEDCTRL); + bw32(bp, B44_RCV_LAZY, (1 << RCV_LAZY_FC_SHIFT)); /* This sets the MAC address too. */ __b44_set_rx_mode(bp->dev); /* MTU + eth header + possible VLAN tag + struct rx_header */ - bw32(B44_RXMAXLEN, bp->dev->mtu + ETH_HLEN + 8 + RX_HEADER_LEN); - bw32(B44_TXMAXLEN, bp->dev->mtu + ETH_HLEN + 8 + RX_HEADER_LEN); + bw32(bp, B44_RXMAXLEN, bp->dev->mtu + ETH_HLEN + 8 + RX_HEADER_LEN); + bw32(bp, B44_TXMAXLEN, bp->dev->mtu + ETH_HLEN + 8 + RX_HEADER_LEN); - bw32(B44_TX_WMARK, 56); /* XXX magic */ - bw32(B44_DMATX_CTRL, DMATX_CTRL_ENABLE); - bw32(B44_DMATX_ADDR, bp->tx_ring_dma + bp->dma_offset); - bw32(B44_DMARX_CTRL, (DMARX_CTRL_ENABLE | + bw32(bp, B44_TX_WMARK, 56); /* XXX magic */ + bw32(bp, B44_DMATX_CTRL, DMATX_CTRL_ENABLE); + bw32(bp, B44_DMATX_ADDR, bp->tx_ring_dma + bp->dma_offset); + bw32(bp, B44_DMARX_CTRL, (DMARX_CTRL_ENABLE | (bp->rx_offset << DMARX_CTRL_ROSHIFT))); - bw32(B44_DMARX_ADDR, bp->rx_ring_dma + bp->dma_offset); + bw32(bp, B44_DMARX_ADDR, bp->rx_ring_dma + bp->dma_offset); - bw32(B44_DMARX_PTR, bp->rx_pending); + bw32(bp, B44_DMARX_PTR, bp->rx_pending); bp->rx_prod = bp->rx_pending; - bw32(B44_MIB_CTRL, MIB_CTRL_CLR_ON_READ); + bw32(bp, B44_MIB_CTRL, MIB_CTRL_CLR_ON_READ); - val = br32(B44_ENET_CTRL); - bw32(B44_ENET_CTRL, (val | ENET_CTRL_ENABLE)); + val = br32(bp, B44_ENET_CTRL); + bw32(bp, B44_ENET_CTRL, (val | ENET_CTRL_ENABLE)); } static int b44_open(struct net_device *dev) @@ -1286,6 +1308,19 @@ err_out_free: } #endif +#ifdef CONFIG_NET_POLL_CONTROLLER +/* + * Polling receive - used by netconsole and other diagnostic tools + * to allow network i/o with interrupts disabled. + */ +static void b44_poll_controller(struct net_device *dev) +{ + disable_irq(dev->irq); + b44_interrupt(dev->irq, dev, NULL); + enable_irq(dev->irq); +} +#endif + static int b44_close(struct net_device *dev) { struct b44 *bp = netdev_priv(dev); @@ -1347,7 +1382,10 @@ static struct net_device_stats *b44_get_stats(struct net_device *dev) hwstat->rx_symbol_errs); nstat->tx_aborted_errors = hwstat->tx_underruns; +#if 0 + /* Carrier lost counter seems to be broken for some devices */ nstat->tx_carrier_errors = hwstat->tx_carrier_lost; +#endif return nstat; } @@ -1372,11 +1410,11 @@ static void __b44_set_rx_mode(struct net_device *dev) int i=0; unsigned char zero[6] = {0,0,0,0,0,0}; - val = br32(B44_RXCONFIG); + val = br32(bp, B44_RXCONFIG); val &= ~(RXCONFIG_PROMISC | RXCONFIG_ALLMULTI); if (dev->flags & IFF_PROMISC) { val |= RXCONFIG_PROMISC; - bw32(B44_RXCONFIG, val); + bw32(bp, B44_RXCONFIG, val); } else { __b44_set_mac_addr(bp); @@ -1388,9 +1426,9 @@ static void __b44_set_rx_mode(struct net_device *dev) for(;i<64;i++) { __b44_cam_write(bp, zero, i); } - bw32(B44_RXCONFIG, val); - val = br32(B44_CAM_CTRL); - bw32(B44_CAM_CTRL, val | CAM_CTRL_ENABLE); + bw32(bp, B44_RXCONFIG, val); + val = br32(bp, B44_CAM_CTRL); + bw32(bp, B44_CAM_CTRL, val | CAM_CTRL_ENABLE); } } @@ -1673,7 +1711,6 @@ static int __devinit b44_get_invariants(struct b44 *bp) bp->dev->dev_addr[5] = eeprom[82]; bp->phy_addr = eeprom[90] & 0x1f; - bp->mdc_port = (eeprom[90] >> 14) & 0x1; /* With this, plus the rx_header prepended to the data by the * hardware, we'll land the ethernet header on a 2-byte boundary. @@ -1683,7 +1720,7 @@ static int __devinit b44_get_invariants(struct b44 *bp) bp->imask = IMASK_DEF; bp->core_unit = ssb_core_unit(bp); - bp->dma_offset = ssb_get_addr(bp, SBID_PCI_DMA, 0); + bp->dma_offset = SB_PCI_DMA; /* XXX - really required? bp->flags |= B44_FLAG_BUGGY_TXPTR; @@ -1727,12 +1764,19 @@ static int __devinit b44_init_one(struct pci_dev *pdev, pci_set_master(pdev); - err = pci_set_dma_mask(pdev, (u64) 0xffffffff); + err = pci_set_dma_mask(pdev, (u64) B44_DMA_MASK); if (err) { printk(KERN_ERR PFX "No usable DMA configuration, " "aborting.\n"); goto err_out_free_res; } + + err = pci_set_consistent_dma_mask(pdev, (u64) B44_DMA_MASK); + if (err) { + printk(KERN_ERR PFX "No usable DMA configuration, " + "aborting.\n"); + goto err_out_free_res; + } b44reg_base = pci_resource_start(pdev, 0); b44reg_len = pci_resource_len(pdev, 0); @@ -1760,7 +1804,7 @@ static int __devinit b44_init_one(struct pci_dev *pdev, spin_lock_init(&bp->lock); - bp->regs = (unsigned long) ioremap(b44reg_base, b44reg_len); + bp->regs = ioremap(b44reg_base, b44reg_len); if (bp->regs == 0UL) { printk(KERN_ERR PFX "Cannot map device registers, " "aborting.\n"); @@ -1782,6 +1826,9 @@ static int __devinit b44_init_one(struct pci_dev *pdev, dev->poll = b44_poll; dev->weight = 64; dev->watchdog_timeo = B44_TX_TIMEOUT; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = b44_poll_controller; +#endif dev->change_mtu = b44_change_mtu; dev->irq = pdev->irq; SET_ETHTOOL_OPS(dev, &b44_ethtool_ops); @@ -1826,7 +1873,7 @@ static int __devinit b44_init_one(struct pci_dev *pdev, return 0; err_out_iounmap: - iounmap((void *) bp->regs); + iounmap(bp->regs); err_out_free_dev: free_netdev(dev); @@ -1848,7 +1895,7 @@ static void __devexit b44_remove_one(struct pci_dev *pdev) struct b44 *bp = netdev_priv(dev); unregister_netdev(dev); - iounmap((void *) bp->regs); + iounmap(bp->regs); free_netdev(dev); pci_release_regions(pdev); pci_disable_device(pdev); @@ -1859,7 +1906,7 @@ static void __devexit b44_remove_one(struct pci_dev *pdev) static int b44_suspend(struct pci_dev *pdev, u32 state) { struct net_device *dev = pci_get_drvdata(pdev); - struct b44 *bp = dev->priv; + struct b44 *bp = netdev_priv(dev); if (!netif_running(dev)) return 0; @@ -1880,7 +1927,7 @@ static int b44_suspend(struct pci_dev *pdev, u32 state) static int b44_resume(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct b44 *bp = dev->priv; + struct b44 *bp = netdev_priv(dev); pci_restore_state(pdev, bp->pci_cfg_state); diff --git a/drivers/net/b44.h b/drivers/net/b44.h index 23bee93fe..7182e4697 100644 --- a/drivers/net/b44.h +++ b/drivers/net/b44.h @@ -223,21 +223,8 @@ #define B44_RX_SYM 0x05D0UL /* MIB RX Symbol Errors */ #define B44_RX_PAUSE 0x05D4UL /* MIB RX Pause Packets */ #define B44_RX_NPAUSE 0x05D8UL /* MIB RX Non-Pause Packets */ -#define B44_SBIPSFLAG 0x0F08UL /* SB Initiator Port OCP Slave Flag */ -#define SBIPSFLAG_IMASK1 0x0000003f /* Which sbflags --> mips interrupt 1 */ -#define SBIPSFLAG_ISHIFT1 0 -#define SBIPSFLAG_IMASK2 0x00003f00 /* Which sbflags --> mips interrupt 2 */ -#define SBIPSFLAG_ISHIFT2 8 -#define SBIPSFLAG_IMASK3 0x003f0000 /* Which sbflags --> mips interrupt 3 */ -#define SBIPSFLAG_ISHIFT3 16 -#define SBIPSFLAG_IMASK4 0x3f000000 /* Which sbflags --> mips interrupt 4 */ -#define SBIPSFLAG_ISHIFT4 24 -#define B44_SBTPSFLAG 0x0F18UL /* SB Target Port OCP Slave Flag */ -#define SBTPS_NUM0_MASK 0x0000003f -#define SBTPS_F0EN0 0x00000040 -#define B44_SBADMATCH3 0x0F60UL /* SB Address Match 3 */ -#define B44_SBADMATCH2 0x0F68UL /* SB Address Match 2 */ -#define B44_SBADMATCH1 0x0F70UL /* SB Address Match 1 */ + +/* Silicon backplane register definitions */ #define B44_SBIMSTATE 0x0F90UL /* SB Initiator Agent State */ #define SBIMSTATE_PC 0x0000000f /* Pipe Count */ #define SBIMSTATE_AP_MASK 0x00000030 /* Arbitration Priority */ @@ -269,86 +256,6 @@ #define SBTMSHIGH_GCR 0x20000000 /* Gated Clock Request */ #define SBTMSHIGH_BISTF 0x40000000 /* BIST Failed */ #define SBTMSHIGH_BISTD 0x80000000 /* BIST Done */ -#define B44_SBBWA0 0x0FA0UL /* SB Bandwidth Allocation Table 0 */ -#define SBBWA0_TAB0_MASK 0x0000ffff /* Lookup Table 0 */ -#define SBBWA0_TAB0_SHIFT 0 -#define SBBWA0_TAB1_MASK 0xffff0000 /* Lookup Table 0 */ -#define SBBWA0_TAB1_SHIFT 16 -#define B44_SBIMCFGLOW 0x0FA8UL /* SB Initiator Configuration Low */ -#define SBIMCFGLOW_STO_MASK 0x00000003 /* Service Timeout */ -#define SBIMCFGLOW_RTO_MASK 0x00000030 /* Request Timeout */ -#define SBIMCFGLOW_RTO_SHIFT 4 -#define SBIMCFGLOW_CID_MASK 0x00ff0000 /* Connection ID */ -#define SBIMCFGLOW_CID_SHIFT 16 -#define B44_SBIMCFGHIGH 0x0FACUL /* SB Initiator Configuration High */ -#define SBIMCFGHIGH_IEM_MASK 0x0000000c /* Inband Error Mode */ -#define SBIMCFGHIGH_TEM_MASK 0x00000030 /* Timeout Error Mode */ -#define SBIMCFGHIGH_TEM_SHIFT 4 -#define SBIMCFGHIGH_BEM_MASK 0x000000c0 /* Bus Error Mode */ -#define SBIMCFGHIGH_BEM_SHIFT 6 -#define B44_SBADMATCH0 0x0FB0UL /* SB Address Match 0 */ -#define SBADMATCH0_TYPE_MASK 0x00000003 /* Address Type */ -#define SBADMATCH0_AD64 0x00000004 /* Reserved */ -#define SBADMATCH0_AI0_MASK 0x000000f8 /* Type0 Size */ -#define SBADMATCH0_AI0_SHIFT 3 -#define SBADMATCH0_AI1_MASK 0x000001f8 /* Type1 Size */ -#define SBADMATCH0_AI1_SHIFT 3 -#define SBADMATCH0_AI2_MASK 0x000001f8 /* Type2 Size */ -#define SBADMATCH0_AI2_SHIFT 3 -#define SBADMATCH0_ADEN 0x00000400 /* Enable */ -#define SBADMATCH0_ADNEG 0x00000800 /* Negative Decode */ -#define SBADMATCH0_BS0_MASK 0xffffff00 /* Type0 Base Address */ -#define SBADMATCH0_BS0_SHIFT 8 -#define SBADMATCH0_BS1_MASK 0xfffff000 /* Type1 Base Address */ -#define SBADMATCH0_BS1_SHIFT 12 -#define SBADMATCH0_BS2_MASK 0xffff0000 /* Type2 Base Address */ -#define SBADMATCH0_BS2_SHIFT 16 -#define B44_SBTMCFGLOW 0x0FB8UL /* SB Target Configuration Low */ -#define SBTMCFGLOW_CD_MASK 0x000000ff /* Clock Divide Mask */ -#define SBTMCFGLOW_CO_MASK 0x0000f800 /* Clock Offset Mask */ -#define SBTMCFGLOW_CO_SHIFT 11 -#define SBTMCFGLOW_IF_MASK 0x00fc0000 /* Interrupt Flags Mask */ -#define SBTMCFGLOW_IF_SHIFT 18 -#define SBTMCFGLOW_IM_MASK 0x03000000 /* Interrupt Mode Mask */ -#define SBTMCFGLOW_IM_SHIFT 24 -#define B44_SBTMCFGHIGH 0x0FBCUL /* SB Target Configuration High */ -#define SBTMCFGHIGH_BM_MASK 0x00000003 /* Busy Mode */ -#define SBTMCFGHIGH_RM_MASK 0x0000000C /* Retry Mode */ -#define SBTMCFGHIGH_RM_SHIFT 2 -#define SBTMCFGHIGH_SM_MASK 0x00000030 /* Stop Mode */ -#define SBTMCFGHIGH_SM_SHIFT 4 -#define SBTMCFGHIGH_EM_MASK 0x00000300 /* Error Mode */ -#define SBTMCFGHIGH_EM_SHIFT 8 -#define SBTMCFGHIGH_IM_MASK 0x00000c00 /* Interrupt Mode */ -#define SBTMCFGHIGH_IM_SHIFT 10 -#define B44_SBBCFG 0x0FC0UL /* SB Broadcast Configuration */ -#define SBBCFG_LAT_MASK 0x00000003 /* SB Latency */ -#define SBBCFG_MAX0_MASK 0x000f0000 /* MAX Counter 0 */ -#define SBBCFG_MAX0_SHIFT 16 -#define SBBCFG_MAX1_MASK 0x00f00000 /* MAX Counter 1 */ -#define SBBCFG_MAX1_SHIFT 20 -#define B44_SBBSTATE 0x0FC8UL /* SB Broadcast State */ -#define SBBSTATE_SRD 0x00000001 /* ST Reg Disable */ -#define SBBSTATE_HRD 0x00000002 /* Hold Reg Disable */ -#define B44_SBACTCNFG 0x0FD8UL /* SB Activate Configuration */ -#define B44_SBFLAGST 0x0FE8UL /* SB Current SBFLAGS */ -#define B44_SBIDLOW 0x0FF8UL /* SB Identification Low */ -#define SBIDLOW_CS_MASK 0x00000003 /* Config Space Mask */ -#define SBIDLOW_AR_MASK 0x00000038 /* Num Address Ranges Supported */ -#define SBIDLOW_AR_SHIFT 3 -#define SBIDLOW_SYNCH 0x00000040 /* Sync */ -#define SBIDLOW_INIT 0x00000080 /* Initiator */ -#define SBIDLOW_MINLAT_MASK 0x00000f00 /* Minimum Backplane Latency */ -#define SBIDLOW_MINLAT_SHIFT 8 -#define SBIDLOW_MAXLAT_MASK 0x0000f000 /* Maximum Backplane Latency */ -#define SBIDLOW_MAXLAT_SHIFT 12 -#define SBIDLOW_FIRST 0x00010000 /* This Initiator is First */ -#define SBIDLOW_CW_MASK 0x000c0000 /* Cycle Counter Width */ -#define SBIDLOW_CW_SHIFT 18 -#define SBIDLOW_TP_MASK 0x00f00000 /* Target Ports */ -#define SBIDLOW_TP_SHIFT 20 -#define SBIDLOW_IP_MASK 0x0f000000 /* Initiator Ports */ -#define SBIDLOW_IP_SHIFT 24 #define B44_SBIDHIGH 0x0FFCUL /* SB Identification High */ #define SBIDHIGH_RC_MASK 0x0000000f /* Revision Code */ #define SBIDHIGH_CC_MASK 0x0000fff0 /* Core Code */ @@ -356,23 +263,13 @@ #define SBIDHIGH_VC_MASK 0xffff0000 /* Vendor Code */ #define SBIDHIGH_VC_SHIFT 16 -#define CORE_CODE_ILINE20 0x801 -#define CORE_CODE_SDRAM 0x803 -#define CORE_CODE_PCI 0x804 -#define CORE_CODE_MIPS 0x805 -#define CORE_CODE_ENET 0x806 -#define CORE_CODE_CODEC 0x807 -#define CORE_CODE_USB 0x808 -#define CORE_CODE_ILINE100 0x80a -#define CORE_CODE_EXTIF 0x811 - /* SSB PCI config space registers. */ #define SSB_BAR0_WIN 0x80 #define SSB_BAR1_WIN 0x84 #define SSB_SPROM_CONTROL 0x88 #define SSB_BAR1_CONTROL 0x8c -/* SSB core and hsot control registers. */ +/* SSB core and host control registers. */ #define SSB_CONTROL 0x0000UL #define SSB_ARBCONTROL 0x0010UL #define SSB_ISTAT 0x0020UL @@ -395,9 +292,6 @@ #define SSB_PCI_MASK1 0xfc000000 #define SSB_PCI_MASK2 0xc0000000 -#define br32(REG) readl(bp->regs + (REG)) -#define bw32(REG,VAL) writel((VAL), bp->regs + (REG)) - /* 4400 PHY registers */ #define B44_MII_AUXCTRL 24 /* Auxiliary Control */ #define MII_AUXCTRL_DUPLEX 0x0001 /* Full Duplex */ @@ -503,6 +397,7 @@ struct b44 { struct ring_info *rx_buffers; struct ring_info *tx_buffers; + unsigned char *tx_bufs; u32 dma_offset; u32 flags; @@ -530,17 +425,16 @@ struct b44 { struct net_device_stats stats; struct b44_hw_stats hw_stats; - unsigned long regs; + void __iomem *regs; struct pci_dev *pdev; struct net_device *dev; - dma_addr_t rx_ring_dma, tx_ring_dma; + dma_addr_t rx_ring_dma, tx_ring_dma,tx_bufs_dma; u32 rx_pending; u32 tx_pending; u32 pci_cfg_state[64 / sizeof(u32)]; u8 phy_addr; - u8 mdc_port; u8 core_unit; struct mii_if_info mii_if; diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 6917b665b..c93e5e87e 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -4700,6 +4700,7 @@ static void __exit bonding_exit(void) module_init(bonding_init); module_exit(bonding_exit); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); MODULE_DESCRIPTION(DRV_DESCRIPTION ", v" DRV_VERSION); MODULE_AUTHOR("Thomas Davis, tadavis@lbl.gov and many others"); MODULE_SUPPORTED_DEVICE("most ethernet devices"); diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c index b04bf5e72..3ce3237b1 100644 --- a/drivers/net/cs89x0.c +++ b/drivers/net/cs89x0.c @@ -84,6 +84,9 @@ Oskar Schirmer : oskar@scara.com : HiCO.SH4 (superh) support added (irq#1, cs89x0_media=) + Deepak Saxena : dsaxena@plexity.net + : Intel IXDP2x01 (XScale ixp2x00 NPU) platform support + */ /* Always include 'config.h' first in case the user wants to turn on @@ -97,7 +100,11 @@ * Note that even if DMA is turned off we still support the 'dma' and 'use_dma' * module options so we don't break any startup scripts. */ +#ifndef CONFIG_ARCH_IXDP2X01 +#define ALLOW_DMA 0 +#else #define ALLOW_DMA 1 +#endif /* * Set this to zero to remove all the debug statements via @@ -162,6 +169,10 @@ static unsigned int cs8900_irq_map[] = {12,0,0,0}; static unsigned int netcard_portlist[] __initdata = { 0x0300, 0}; static unsigned int cs8900_irq_map[] = {1,0,0,0}; +#elif defined(CONFIG_ARCH_IXDP2X01) +#include +static unsigned int netcard_portlist[] __initdata = {IXDP2X01_CS8900_VIRT_BASE, 0}; +static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900, 0, 0, 0}; #else static unsigned int netcard_portlist[] __initdata = { 0x300, 0x320, 0x340, 0x360, 0x200, 0x220, 0x240, 0x260, 0x280, 0x2a0, 0x2c0, 0x2e0, 0}; @@ -454,11 +465,12 @@ cs89x0_probe1(struct net_device *dev, int ioaddr, int modular) retval = -ENODEV; goto out2; } - ioaddr &= ~3; - outw(PP_ChipID, ioaddr + ADD_PORT); } printk("PP_addr=0x%x\n", inw(ioaddr + ADD_PORT)); + ioaddr &= ~3; + outw(PP_ChipID, ioaddr + ADD_PORT); + if (inw(ioaddr + DATA_PORT) != CHIP_EISA_ID_SIG) { printk(KERN_ERR "%s: incorrect signature 0x%x\n", dev->name, inw(ioaddr + DATA_PORT)); @@ -665,6 +677,9 @@ printk("PP_addr=0x%x\n", inw(ioaddr + ADD_PORT)); } else { i = lp->isa_config & INT_NO_MASK; if (lp->chip_type == CS8900) { +#ifdef CONFIG_ARCH_IXDP2X01 + i = cs8900_irq_map[0]; +#else /* Translate the IRQ using the IRQ mapping table. */ if (i >= sizeof(cs8900_irq_map)/sizeof(cs8900_irq_map[0])) printk("\ncs89x0: invalid ISA interrupt number %d\n", i); @@ -681,6 +696,7 @@ printk("PP_addr=0x%x\n", inw(ioaddr + ADD_PORT)); if ((irq_map_buff[0] & 0xff) == PNP_IRQ_FRMT) lp->irq_map = (irq_map_buff[0]>>8) | (irq_map_buff[1] << 8); } +#endif } if (!dev->irq) dev->irq = i; @@ -884,8 +900,10 @@ skip_this_frame: void __init reset_chip(struct net_device *dev) { +#ifndef CONFIG_ARCH_IXDP2X01 struct net_local *lp = netdev_priv(dev); int ioaddr = dev->base_addr; +#endif int reset_start_time; writereg(dev, PP_SelfCTL, readreg(dev, PP_SelfCTL) | POWER_ON_RESET); @@ -894,6 +912,7 @@ void __init reset_chip(struct net_device *dev) current->state = TASK_INTERRUPTIBLE; schedule_timeout(30*HZ/1000); +#ifndef CONFIG_ARCH_IXDP2X01 if (lp->chip_type != CS8900) { /* Hardware problem requires PNP registers to be reconfigured after a reset */ outw(PP_CS8920_ISAINT, ioaddr + ADD_PORT); @@ -904,6 +923,8 @@ void __init reset_chip(struct net_device *dev) outb((dev->mem_start >> 16) & 0xff, ioaddr + DATA_PORT); outb((dev->mem_start >> 8) & 0xff, ioaddr + DATA_PORT + 1); } +#endif /* IXDP2x01 */ + /* Wait until the chip is reset */ reset_start_time = jiffies; while( (readreg(dev, PP_SelfST) & INIT_DONE) == 0 && jiffies - reset_start_time < 2) @@ -1155,12 +1176,14 @@ net_open(struct net_device *dev) else #endif { +#ifndef CONFIG_ARCH_IXDP2X01 if (((1 << dev->irq) & lp->irq_map) == 0) { printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n", dev->name, dev->irq, lp->irq_map); ret = -EAGAIN; goto bad_out; } +#endif /* FIXME: Cirrus' release had this: */ writereg(dev, PP_BusCTL, readreg(dev, PP_BusCTL)|ENABLE_IRQ ); /* And 2.3.47 had this: */ @@ -1575,7 +1598,9 @@ static void release_dma_buff(struct net_local *lp) static int net_close(struct net_device *dev) { +#if ALLOW_DMA struct net_local *lp = netdev_priv(dev); +#endif netif_stop_queue(dev); diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c index 9ef9f3944..85d1bb3a9 100644 --- a/drivers/net/defxx.c +++ b/drivers/net/defxx.c @@ -1814,16 +1814,18 @@ static struct net_device_stats *dfx_ctl_get_stats(struct net_device *dev) /* Fill the bp->stats structure with driver-maintained counters */ - bp->stats.rx_packets = bp->rcv_total_frames; - bp->stats.tx_packets = bp->xmt_total_frames; - bp->stats.rx_bytes = bp->rcv_total_bytes; - bp->stats.tx_bytes = bp->xmt_total_bytes; - bp->stats.rx_errors = (u32)(bp->rcv_crc_errors + bp->rcv_frame_status_errors + bp->rcv_length_errors); - bp->stats.tx_errors = bp->xmt_length_errors; - bp->stats.rx_dropped = bp->rcv_discards; - bp->stats.tx_dropped = bp->xmt_discards; - bp->stats.multicast = bp->rcv_multicast_frames; - bp->stats.transmit_collision = 0; /* always zero (0) for FDDI */ + bp->stats.gen.rx_packets = bp->rcv_total_frames; + bp->stats.gen.tx_packets = bp->xmt_total_frames; + bp->stats.gen.rx_bytes = bp->rcv_total_bytes; + bp->stats.gen.tx_bytes = bp->xmt_total_bytes; + bp->stats.gen.rx_errors = bp->rcv_crc_errors + + bp->rcv_frame_status_errors + + bp->rcv_length_errors; + bp->stats.gen.tx_errors = bp->xmt_length_errors; + bp->stats.gen.rx_dropped = bp->rcv_discards; + bp->stats.gen.tx_dropped = bp->xmt_discards; + bp->stats.gen.multicast = bp->rcv_multicast_frames; + bp->stats.gen.collisions = 0; /* always zero (0) for FDDI */ /* Get FDDI SMT MIB objects */ diff --git a/drivers/net/e100.c b/drivers/net/e100.c index 8855b20e3..39fc50ffd 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c @@ -87,9 +87,8 @@ * cb_to_use is the next CB to use for queuing a command; cb_to_clean * is the next CB to check for completion; cb_to_send is the first * CB to start on in case of a previous failure to resume. CB clean - * up happens in interrupt context in response to a CU interrupt, or - * in dev->poll in the case where NAPI is enabled. cbs_avail keeps - * track of number of free CB resources available. + * up happens in interrupt context in response to a CU interrupt. + * cbs_avail keeps track of number of free CB resources available. * * Hardware padding of short packets to minimum packet size is * enabled. 82557 pads with 7Eh, while the later controllers pad @@ -112,9 +111,8 @@ * replacement RFDs cannot be allocated, or the RU goes non-active, * the RU must be restarted. Frame arrival generates an interrupt, * and Rx indication and re-allocation happen in the same context, - * therefore no locking is required. If NAPI is enabled, this work - * happens in dev->poll. A software-generated interrupt is gen- - * erated from the watchdog to recover from a failed allocation + * therefore no locking is required. A software-generated interrupt + * is generated from the watchdog to recover from a failed allocation * senario where all Rx resources have been indicated and none re- * placed. * @@ -126,8 +124,6 @@ * supported. Tx Scatter/Gather is not supported. Jumbo Frames is * not supported (hardware limitation). * - * NAPI support is enabled with CONFIG_E100_NAPI. - * * MagicPacket(tm) WoL support is enabled/disabled via ethtool. * * Thanks to JC (jchapman@katalix.com) for helping with @@ -158,7 +154,8 @@ #define DRV_NAME "e100" -#define DRV_VERSION "3.0.18" +#define DRV_EXT "-NAPI" +#define DRV_VERSION "3.0.27-k2"DRV_EXT #define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver" #define DRV_COPYRIGHT "Copyright(c) 1999-2004 Intel Corporation" #define PFX DRV_NAME ": " @@ -169,6 +166,7 @@ MODULE_DESCRIPTION(DRV_DESCRIPTION); MODULE_AUTHOR(DRV_COPYRIGHT); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); static int debug = 3; module_param(debug, int, 0); @@ -201,6 +199,8 @@ static struct pci_device_id e100_id_table[] = { INTEL_8255X_ETHERNET_DEVICE(0x1053, 5), INTEL_8255X_ETHERNET_DEVICE(0x1054, 5), INTEL_8255X_ETHERNET_DEVICE(0x1055, 5), + INTEL_8255X_ETHERNET_DEVICE(0x1056, 5), + INTEL_8255X_ETHERNET_DEVICE(0x1057, 5), INTEL_8255X_ETHERNET_DEVICE(0x1064, 6), INTEL_8255X_ETHERNET_DEVICE(0x1065, 6), INTEL_8255X_ETHERNET_DEVICE(0x1066, 6), @@ -242,6 +242,7 @@ enum phy { phy_nsc_tx = 0x5C002000, phy_82562_et = 0x033002A8, phy_82562_em = 0x032002A8, + phy_82562_ek = 0x031002A8, phy_82562_eh = 0x017002A8, phy_unknown = 0xFFFFFFFF, }; @@ -330,11 +331,16 @@ enum eeprom_op { }; enum eeprom_offsets { + eeprom_cnfg_mdix = 0x03, eeprom_id = 0x0A, eeprom_config_asf = 0x0D, eeprom_smbus_addr = 0x90, }; +enum eeprom_cnfg_mdix { + eeprom_mdix_enabled = 0x0080, +}; + enum eeprom_id { eeprom_id_wol = 0x0020, }; @@ -350,10 +356,12 @@ enum cb_status { }; enum cb_command { + cb_nop = 0x0000, cb_iaaddr = 0x0001, cb_config = 0x0002, cb_multi = 0x0003, cb_tx = 0x0004, + cb_ucode = 0x0005, cb_dump = 0x0006, cb_tx_sf = 0x0008, cb_cid = 0x1f00, @@ -428,12 +436,14 @@ struct multi { }; /* Important: keep total struct u32-aligned */ +#define UCODE_SIZE 134 struct cb { u16 status; u16 command; u32 link; union { u8 iaaddr[ETH_ALEN]; + u32 ucode[UCODE_SIZE]; struct config config; struct multi multi; struct { @@ -548,6 +558,7 @@ struct nic { u32 rx_fc_pause; u32 rx_fc_unsupported; u32 rx_tco_frames; + u32 rx_over_length_errors; u8 rev_id; u16 leds; @@ -565,13 +576,21 @@ static inline void e100_write_flush(struct nic *nic) static inline void e100_enable_irq(struct nic *nic) { + unsigned long flags; + + spin_lock_irqsave(&nic->cmd_lock, flags); writeb(irq_mask_none, &nic->csr->scb.cmd_hi); + spin_unlock_irqrestore(&nic->cmd_lock, flags); e100_write_flush(nic); } static inline void e100_disable_irq(struct nic *nic) { + unsigned long flags; + + spin_lock_irqsave(&nic->cmd_lock, flags); writeb(irq_mask_all, &nic->csr->scb.cmd_hi); + spin_unlock_irqrestore(&nic->cmd_lock, flags); e100_write_flush(nic); } @@ -980,6 +999,27 @@ static void e100_configure(struct nic *nic, struct cb *cb, struct sk_buff *skb) c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]); } +static void e100_load_ucode(struct nic *nic, struct cb *cb, struct sk_buff *skb) +{ + int i; + static const u32 ucode[UCODE_SIZE] = { + /* NFS packets are misinterpreted as TCO packets and + * incorrectly routed to the BMC over SMBus. This + * microcode patch checks the fragmented IP bit in the + * NFS/UDP header to distinguish between NFS and TCO. */ + 0x0EF70E36, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, + 0x1FFF1FFF, 0x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000, + 0x00906EFD, 0x00900EFD, 0x00E00EF8, + }; + + if(nic->mac == mac_82551_F || nic->mac == mac_82551_10) { + for(i = 0; i < UCODE_SIZE; i++) + cb->u.ucode[i] = cpu_to_le32(ucode[i]); + cb->command = cpu_to_le16(cb_ucode); + } else + cb->command = cpu_to_le16(cb_nop); +} + static void e100_setup_iaaddr(struct nic *nic, struct cb *cb, struct sk_buff *skb) { @@ -1045,7 +1085,9 @@ static int e100_phy_init(struct nic *nic) mdio_write(netdev, nic->mii.phy_id, MII_NSC_CONG, cong); } - if(nic->mac >= mac_82550_D102) + if((nic->mac >= mac_82550_D102) || ((nic->flags & ich) && + (mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000) && + (nic->eeprom[eeprom_cnfg_mdix] & eeprom_mdix_enabled))) /* enable/disable MDI/MDI-X auto-switching */ mdio_write(netdev, nic->mii.phy_id, MII_NCONFIG, nic->mii.force_media ? 0 : NCONFIG_AUTO_SWITCH); @@ -1069,6 +1111,8 @@ static int e100_hw_init(struct nic *nic) return err; if((err = e100_exec_cmd(nic, ruc_load_base, 0))) return err; + if((err = e100_exec_cb(nic, NULL, e100_load_ucode))) + return err; if((err = e100_exec_cb(nic, NULL, e100_configure))) return err; if((err = e100_exec_cb(nic, NULL, e100_setup_iaaddr))) @@ -1143,9 +1187,11 @@ static void e100_update_stats(struct nic *nic) ns->tx_errors += le32_to_cpu(s->tx_max_collisions) + le32_to_cpu(s->tx_lost_crs); ns->rx_dropped += le32_to_cpu(s->rx_resource_errors); - ns->rx_length_errors += le32_to_cpu(s->rx_short_frame_errors); + ns->rx_length_errors += le32_to_cpu(s->rx_short_frame_errors) + + nic->rx_over_length_errors; ns->rx_crc_errors += le32_to_cpu(s->rx_crc_errors); ns->rx_frame_errors += le32_to_cpu(s->rx_alignment_errors); + ns->rx_over_errors += le32_to_cpu(s->rx_overrun_errors); ns->rx_fifo_errors += le32_to_cpu(s->rx_overrun_errors); ns->rx_errors += le32_to_cpu(s->rx_crc_errors) + le32_to_cpu(s->rx_alignment_errors) + @@ -1217,8 +1263,13 @@ static void e100_watchdog(unsigned long data) mii_check_link(&nic->mii); /* Software generated interrupt to recover from (rare) Rx - * allocation failure */ - writeb(irq_sw_gen, &nic->csr->scb.cmd_hi); + * allocation failure. + * Unfortunately have to use a spinlock to not re-enable interrupts + * accidentally, due to hardware that shares a register between the + * interrupt mask bit and the SW Interrupt generation bit */ + spin_lock_irq(&nic->cmd_lock); + writeb(readb(&nic->csr->scb.cmd_hi) | irq_sw_gen,&nic->csr->scb.cmd_hi); + spin_unlock_irq(&nic->cmd_lock); e100_write_flush(nic); e100_update_stats(nic); @@ -1456,18 +1507,14 @@ static inline int e100_rx_indicate(struct nic *nic, struct rx *rx, dev_kfree_skb_any(skb); } else if(actual_size > nic->netdev->mtu + VLAN_ETH_HLEN) { /* Don't indicate oversized frames */ - nic->net_stats.rx_over_errors++; + nic->rx_over_length_errors++; nic->net_stats.rx_dropped++; dev_kfree_skb_any(skb); } else { nic->net_stats.rx_packets++; nic->net_stats.rx_bytes += actual_size; nic->netdev->last_rx = jiffies; -#ifdef CONFIG_E100_NAPI netif_receive_skb(skb); -#else - netif_rx(skb); -#endif if(work_done) (*work_done)++; } @@ -1562,20 +1609,12 @@ static irqreturn_t e100_intr(int irq, void *dev_id, struct pt_regs *regs) if(stat_ack & stat_ack_rnr) nic->ru_running = 0; -#ifdef CONFIG_E100_NAPI e100_disable_irq(nic); netif_rx_schedule(netdev); -#else - if(stat_ack & stat_ack_rx) - e100_rx_clean(nic, NULL, 0); - if(stat_ack & stat_ack_tx) - e100_tx_clean(nic); -#endif return IRQ_HANDLED; } -#ifdef CONFIG_E100_NAPI static int e100_poll(struct net_device *netdev, int *budget) { struct nic *nic = netdev_priv(netdev); @@ -1598,7 +1637,6 @@ static int e100_poll(struct net_device *netdev, int *budget) return 1; } -#endif #ifdef CONFIG_NET_POLL_CONTROLLER static void e100_netpoll(struct net_device *netdev) @@ -1641,7 +1679,7 @@ static int e100_change_mtu(struct net_device *netdev, int new_mtu) static int e100_asf(struct nic *nic) { /* ASF can be enabled from eeprom */ - return((nic->pdev->device >= 0x1050) && (nic->pdev->device <= 0x1055) && + return((nic->pdev->device >= 0x1050) && (nic->pdev->device <= 0x1057) && (nic->eeprom[eeprom_config_asf] & eeprom_asf) && !(nic->eeprom[eeprom_config_asf] & eeprom_gcl) && ((nic->eeprom[eeprom_smbus_addr] & 0xFF) != 0xFE)); @@ -1932,6 +1970,9 @@ static int e100_set_ringparam(struct net_device *netdev, struct param_range *rfds = &nic->params.rfds; struct param_range *cbs = &nic->params.cbs; + if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending)) + return -EINVAL; + if(netif_running(netdev)) e100_down(nic); rfds->count = max(ring->rx_pending, rfds->min); @@ -1961,18 +2002,27 @@ static int e100_diag_test_count(struct net_device *netdev) static void e100_diag_test(struct net_device *netdev, struct ethtool_test *test, u64 *data) { + struct ethtool_cmd cmd; struct nic *nic = netdev_priv(netdev); - int i; + int i, err; memset(data, 0, E100_TEST_LEN * sizeof(u64)); data[0] = !mii_link_ok(&nic->mii); data[1] = e100_eeprom_load(nic); if(test->flags & ETH_TEST_FL_OFFLINE) { + + /* save speed, duplex & autoneg settings */ + err = mii_ethtool_gset(&nic->mii, &cmd); + if(netif_running(netdev)) e100_down(nic); data[2] = e100_self_test(nic); data[3] = e100_loopback_test(nic, lb_mac); data[4] = e100_loopback_test(nic, lb_phy); + + /* restore speed, duplex & autoneg settings */ + err = mii_ethtool_sset(&nic->mii, &cmd); + if(netif_running(netdev)) e100_up(nic); } @@ -2135,10 +2185,8 @@ static int __devinit e100_probe(struct pci_dev *pdev, SET_ETHTOOL_OPS(netdev, &e100_ethtool_ops); netdev->tx_timeout = e100_tx_timeout; netdev->watchdog_timeo = E100_WATCHDOG_PERIOD; -#ifdef CONFIG_E100_NAPI netdev->poll = e100_poll; netdev->weight = E100_NAPI_WEIGHT; -#endif #ifdef CONFIG_NET_POLL_CONTROLLER netdev->poll_controller = e100_netpoll; #endif diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h index 067bb099e..4f0e913d6 100644 --- a/drivers/net/e1000/e1000.h +++ b/drivers/net/e1000/e1000.h @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +64,7 @@ #include #include #include +#include #include #ifdef NETIF_F_TSO #include @@ -77,6 +79,8 @@ #define BAR_1 1 #define BAR_5 5 +#define INTEL_E1000_ETHERNET_DEVICE(device_id) {\ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)} struct e1000_adapter; @@ -98,11 +102,12 @@ struct e1000_adapter; #define E1000_MAX_INTR 10 -/* How many descriptors for TX and RX ? */ +/* TX/RX descriptor defines */ #define E1000_DEFAULT_TXD 256 #define E1000_MAX_TXD 256 #define E1000_MIN_TXD 80 #define E1000_MAX_82544_TXD 4096 + #define E1000_DEFAULT_RXD 256 #define E1000_MAX_RXD 256 #define E1000_MIN_RXD 80 @@ -123,14 +128,11 @@ struct e1000_adapter; #define E1000_TX_HEAD_ADDR_SHIFT 7 #define E1000_PBA_TX_MASK 0xFFFF0000 -/* Flow Control High-Watermark: 5688 bytes below Rx FIFO size */ -#define E1000_FC_HIGH_DIFF 0x1638 - -/* Flow Control Low-Watermark: 5696 bytes below Rx FIFO size */ -#define E1000_FC_LOW_DIFF 0x1640 +/* Flow Control Watermarks */ +#define E1000_FC_HIGH_DIFF 0x1638 /* High: 5688 bytes below Rx FIFO size */ +#define E1000_FC_LOW_DIFF 0x1640 /* Low: 5696 bytes below Rx FIFO size */ -/* Flow Control Pause Time: 858 usec */ -#define E1000_FC_PAUSE_TIME 0x0680 +#define E1000_FC_PAUSE_TIME 0x0680 /* 858 usec */ /* How many Tx Descriptors do we need to call netif_wake_queue ? */ #define E1000_TX_QUEUE_WAKE 16 @@ -153,9 +155,9 @@ struct e1000_adapter; struct e1000_buffer { struct sk_buff *skb; uint64_t dma; - unsigned long length; unsigned long time_stamp; - unsigned int next_to_watch; + uint16_t length; + uint16_t next_to_watch; }; struct e1000_desc_ring { @@ -202,13 +204,14 @@ struct e1000_adapter { spinlock_t stats_lock; atomic_t irq_sem; struct work_struct tx_timeout_task; - uint8_t fc_autoneg; + uint8_t fc_autoneg; struct timer_list blink_timer; unsigned long led_status; /* TX */ struct e1000_desc_ring tx_ring; + struct e1000_buffer previous_buffer_info; spinlock_t tx_lock; uint32_t txd_cmd; uint32_t tx_int_delay; diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c index 9ca716eab..30c0feb14 100644 --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c @@ -88,9 +88,9 @@ static const struct e1000_stats e1000_gstrings_stats[] = { { "rx_flow_control_xoff", E1000_STAT(stats.xoffrxc) }, { "tx_flow_control_xon", E1000_STAT(stats.xontxc) }, { "tx_flow_control_xoff", E1000_STAT(stats.xofftxc) }, + { "rx_long_byte_count", E1000_STAT(stats.gorcl) }, { "rx_csum_offload_good", E1000_STAT(hw_csum_good) }, - { "rx_csum_offload_errors", E1000_STAT(hw_csum_err) }, - { "rx_long_byte_count", E1000_STAT(stats.gorcl) } + { "rx_csum_offload_errors", E1000_STAT(hw_csum_err) } }; #define E1000_STATS_LEN \ sizeof(e1000_gstrings_stats) / sizeof(struct e1000_stats) @@ -170,7 +170,8 @@ e1000_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) ecmd->duplex = -1; } - ecmd->autoneg = (hw->autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE); + ecmd->autoneg = ((hw->media_type == e1000_media_type_fiber) || + hw->autoneg) ? AUTONEG_ENABLE : AUTONEG_DISABLE; return 0; } @@ -192,6 +193,7 @@ e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) if(netif_running(adapter->netdev)) { e1000_down(adapter); + e1000_reset(adapter); e1000_up(adapter); } else e1000_reset(adapter); @@ -199,12 +201,13 @@ e1000_set_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) return 0; } -static void +static void e1000_get_pauseparam(struct net_device *netdev, - struct ethtool_pauseparam *pause) + struct ethtool_pauseparam *pause) { struct e1000_adapter *adapter = netdev->priv; struct e1000_hw *hw = &adapter->hw; + pause->autoneg = (adapter->fc_autoneg ? AUTONEG_ENABLE : AUTONEG_DISABLE); @@ -218,9 +221,9 @@ e1000_get_pauseparam(struct net_device *netdev, } } -static int +static int e1000_set_pauseparam(struct net_device *netdev, - struct ethtool_pauseparam *pause) + struct ethtool_pauseparam *pause) { struct e1000_adapter *adapter = netdev->priv; struct e1000_hw *hw = &adapter->hw; @@ -271,7 +274,7 @@ e1000_set_rx_csum(struct net_device *netdev, uint32_t data) e1000_reset(adapter); return 0; } - + static uint32_t e1000_get_tx_csum(struct net_device *netdev) { @@ -337,7 +340,7 @@ e1000_get_regs_len(struct net_device *netdev) static void e1000_get_regs(struct net_device *netdev, - struct ethtool_regs *regs, void *p) + struct ethtool_regs *regs, void *p) { struct e1000_adapter *adapter = netdev->priv; struct e1000_hw *hw = &adapter->hw; @@ -418,6 +421,10 @@ e1000_get_regs(struct net_device *netdev, e1000_read_phy_reg(hw, PHY_1000T_STATUS, &phy_data); regs_buff[24] = (uint32_t)phy_data; /* phy local receiver status */ regs_buff[25] = regs_buff[24]; /* phy remote receiver status */ + if(hw->mac_type >= e1000_82540 && + hw->media_type == e1000_media_type_copper) { + regs_buff[26] = E1000_READ_REG(hw, MANC); + } } static int @@ -438,7 +445,7 @@ e1000_get_eeprom(struct net_device *netdev, int ret_val = 0; uint16_t i; - if(eeprom->len == 0) + if(eeprom->len == 0) return -EINVAL; eeprom->magic = hw->vendor_id | (hw->device_id << 16); @@ -446,9 +453,9 @@ e1000_get_eeprom(struct net_device *netdev, first_word = eeprom->offset >> 1; last_word = (eeprom->offset + eeprom->len - 1) >> 1; - eeprom_buff = kmalloc(sizeof(uint16_t) * + eeprom_buff = kmalloc(sizeof(uint16_t) * (last_word - first_word + 1), GFP_KERNEL); - if (!eeprom_buff) + if(!eeprom_buff) return -ENOMEM; if(hw->eeprom.type == e1000_eeprom_spi) @@ -466,9 +473,8 @@ e1000_get_eeprom(struct net_device *netdev, for (i = 0; i < last_word - first_word + 1; i++) le16_to_cpus(&eeprom_buff[i]); - - memcpy(bytes, (uint8_t *)eeprom_buff + (eeprom->offset%2), - eeprom->len); + memcpy(bytes, (uint8_t *)eeprom_buff + (eeprom->offset & 1), + eeprom->len); kfree(eeprom_buff); return ret_val; @@ -520,6 +526,7 @@ e1000_set_eeprom(struct net_device *netdev, le16_to_cpus(&eeprom_buff[i]); memcpy(ptr, bytes, eeprom->len); + for (i = 0; i < last_word - first_word + 1; i++) eeprom_buff[i] = cpu_to_le16(eeprom_buff[i]); @@ -575,17 +582,19 @@ static int e1000_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring) { - int err; struct e1000_adapter *adapter = netdev->priv; e1000_mac_type mac_type = adapter->hw.mac_type; struct e1000_desc_ring *txdr = &adapter->tx_ring; struct e1000_desc_ring *rxdr = &adapter->rx_ring; - struct e1000_desc_ring tx_old, tx_new; - struct e1000_desc_ring rx_old, rx_new; + struct e1000_desc_ring tx_old, tx_new, rx_old, rx_new; + int err; tx_old = adapter->tx_ring; rx_old = adapter->rx_ring; - + + if ((ring->rx_mini_pending) || (ring->rx_jumbo_pending)) + return -EINVAL; + if(netif_running(adapter->netdev)) e1000_down(adapter); @@ -600,15 +609,15 @@ e1000_set_ringparam(struct net_device *netdev, E1000_ROUNDUP(txdr->count, REQ_TX_DESCRIPTOR_MULTIPLE); if(netif_running(adapter->netdev)) { - /* try to get new resources before deleting old */ + /* Try to get new resources before deleting old */ if((err = e1000_setup_rx_resources(adapter))) goto err_setup_rx; if((err = e1000_setup_tx_resources(adapter))) goto err_setup_tx; /* save the new, restore the old in order to free it, - * then restore the new back again */ - + * then restore the new back again */ + rx_new = adapter->rx_ring; tx_new = adapter->tx_ring; adapter->rx_ring = rx_old; @@ -620,6 +629,7 @@ e1000_set_ringparam(struct net_device *netdev, if((err = e1000_up(adapter))) return err; } + return 0; err_setup_tx: e1000_free_rx_resources(adapter); @@ -766,13 +776,15 @@ static int e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) { struct net_device *netdev = adapter->netdev; - uint32_t icr, mask, i=0; + uint32_t icr, mask, i=0, shared_int = TRUE; + uint32_t irq = adapter->pdev->irq; *data = 0; /* Hook up test interrupt handler just for this test */ - if(request_irq(adapter->pdev->irq, &e1000_test_intr, SA_SHIRQ, - netdev->name, netdev)) { + if(!request_irq(irq, &e1000_test_intr, 0, netdev->name, netdev)) { + shared_int = FALSE; + } else if(request_irq(irq, &e1000_test_intr, SA_SHIRQ, netdev->name, netdev)){ *data = 1; return -1; } @@ -802,20 +814,22 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) /* Interrupt to test */ mask = 1 << i; - /* Disable the interrupt to be reported in - * the cause register and then force the same - * interrupt and see if one gets posted. If - * an interrupt was posted to the bus, the - * test failed. - */ - adapter->test_icr = 0; - E1000_WRITE_REG(&adapter->hw, IMC, mask); - E1000_WRITE_REG(&adapter->hw, ICS, mask); - msec_delay(10); - - if(adapter->test_icr & mask) { - *data = 3; - break; + if(!shared_int) { + /* Disable the interrupt to be reported in + * the cause register and then force the same + * interrupt and see if one gets posted. If + * an interrupt was posted to the bus, the + * test failed. + */ + adapter->test_icr = 0; + E1000_WRITE_REG(&adapter->hw, IMC, mask); + E1000_WRITE_REG(&adapter->hw, ICS, mask); + msec_delay(10); + + if(adapter->test_icr & mask) { + *data = 3; + break; + } } /* Enable the interrupt to be reported in @@ -834,20 +848,22 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) break; } - /* Disable the other interrupts to be reported in - * the cause register and then force the other - * interrupts and see if any get posted. If - * an interrupt was posted to the bus, the - * test failed. - */ - adapter->test_icr = 0; - E1000_WRITE_REG(&adapter->hw, IMC, ~mask); - E1000_WRITE_REG(&adapter->hw, ICS, ~mask); - msec_delay(10); + if(!shared_int) { + /* Disable the other interrupts to be reported in + * the cause register and then force the other + * interrupts and see if any get posted. If + * an interrupt was posted to the bus, the + * test failed. + */ + adapter->test_icr = 0; + E1000_WRITE_REG(&adapter->hw, IMC, ~mask); + E1000_WRITE_REG(&adapter->hw, ICS, ~mask); + msec_delay(10); - if(adapter->test_icr) { - *data = 5; - break; + if(adapter->test_icr) { + *data = 5; + break; + } } } @@ -856,7 +872,7 @@ e1000_intr_test(struct e1000_adapter *adapter, uint64_t *data) msec_delay(10); /* Unhook test interrupt handler */ - free_irq(adapter->pdev->irq, netdev); + free_irq(irq, netdev); return *data; } @@ -1021,7 +1037,7 @@ e1000_setup_desc_rings(struct e1000_adapter *adapter) return 0; - err_nomem: +err_nomem: e1000_free_desc_rings(adapter); return ret_val; } @@ -1312,15 +1328,15 @@ e1000_run_loopback_test(struct e1000_adapter *adapter) for(i = 0; i < 64; i++) { e1000_create_lbtest_frame(txdr->buffer_info[i].skb, 1024); - pci_dma_sync_single(pdev, txdr->buffer_info[i].dma, - txdr->buffer_info[i].length, - PCI_DMA_TODEVICE); + pci_dma_sync_single_for_device(pdev, txdr->buffer_info[i].dma, + txdr->buffer_info[i].length, + PCI_DMA_TODEVICE); } E1000_WRITE_REG(&adapter->hw, TDT, i); msec_delay(200); - pci_dma_sync_single(pdev, rxdr->buffer_info[0].dma, + pci_dma_sync_single_for_cpu(pdev, rxdr->buffer_info[0].dma, rxdr->buffer_info[0].length, PCI_DMA_FROMDEVICE); return e1000_check_lbtest_frame(rxdr->buffer_info[0].skb, 1024); @@ -1357,7 +1373,7 @@ e1000_diag_test_count(struct net_device *netdev) } static void -e1000_diag_test(struct net_device *netdev, +e1000_diag_test(struct net_device *netdev, struct ethtool_test *eth_test, uint64_t *data) { struct e1000_adapter *adapter = netdev->priv; @@ -1368,7 +1384,7 @@ e1000_diag_test(struct net_device *netdev, /* save speed, duplex, autoneg settings */ uint16_t autoneg_advertised = adapter->hw.autoneg_advertised; - uint8_t forced_speed_duplex = adapter->hw.forced_speed_duplex; + uint8_t forced_speed_duplex = adapter->hw.forced_speed_duplex; uint8_t autoneg = adapter->hw.autoneg; /* Link test performed before hardware reset so autoneg doesn't @@ -1396,10 +1412,11 @@ e1000_diag_test(struct net_device *netdev, if(e1000_loopback_test(adapter, &data[3])) eth_test->flags |= ETH_TEST_FL_FAILED; - /* restore Autoneg/speed/duplex settings */ + /* restore speed, duplex, autoneg settings */ adapter->hw.autoneg_advertised = autoneg_advertised; - adapter->hw.forced_speed_duplex = forced_speed_duplex; - adapter->hw.autoneg = autoneg; + adapter->hw.forced_speed_duplex = forced_speed_duplex; + adapter->hw.autoneg = autoneg; + e1000_reset(adapter); if(if_running) e1000_up(adapter); @@ -1427,6 +1444,7 @@ e1000_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) case E1000_DEV_ID_82543GC_FIBER: case E1000_DEV_ID_82543GC_COPPER: case E1000_DEV_ID_82544EI_FIBER: + case E1000_DEV_ID_82546EB_QUAD_COPPER: wol->supported = 0; wol->wolopts = 0; return; @@ -1469,6 +1487,7 @@ e1000_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) case E1000_DEV_ID_82543GC_FIBER: case E1000_DEV_ID_82543GC_COPPER: case E1000_DEV_ID_82544EI_FIBER: + case E1000_DEV_ID_82546EB_QUAD_COPPER: return wol->wolopts ? -EOPNOTSUPP : 0; case E1000_DEV_ID_82546EB_FIBER: @@ -1571,8 +1590,8 @@ e1000_get_ethtool_stats(struct net_device *netdev, e1000_update_stats(adapter); for(i = 0; i < E1000_STATS_LEN; i++) { char *p = (char *)adapter+e1000_gstrings_stats[i].stat_offset; - data[i] = (e1000_gstrings_stats[i].sizeof_stat == sizeof(uint64_t)) - ? *(uint64_t *)p : *(uint32_t *)p; + data[i] = (e1000_gstrings_stats[i].sizeof_stat == + sizeof(uint64_t)) ? *(uint64_t *)p : *(uint32_t *)p; } } diff --git a/drivers/net/e1000/e1000_hw.c b/drivers/net/e1000/e1000_hw.c index 41c05e5c3..7c8cd3990 100644 --- a/drivers/net/e1000/e1000_hw.c +++ b/drivers/net/e1000/e1000_hw.c @@ -251,6 +251,7 @@ e1000_set_mac_type(struct e1000_hw *hw) break; case E1000_DEV_ID_82541ER: case E1000_DEV_ID_82541GI: + case E1000_DEV_ID_82541GI_LF: case E1000_DEV_ID_82541GI_MOBILE: hw->mac_type = e1000_82541_rev_2; break; @@ -920,7 +921,8 @@ e1000_setup_copper_link(struct e1000_hw *hw) if(ret_val) return ret_val; - if(hw->mac_type == e1000_82545_rev_3) { + if((hw->mac_type == e1000_82545_rev_3) || + (hw->mac_type == e1000_82546_rev_3)) { ret_val = e1000_read_phy_reg(hw, M88E1000_PHY_SPEC_CTRL, &phy_data); phy_data |= 0x00000008; ret_val = e1000_write_phy_reg(hw, M88E1000_PHY_SPEC_CTRL, phy_data); @@ -3057,16 +3059,6 @@ e1000_init_eeprom_params(struct e1000_hw *hw) } break; default: - eeprom->type = e1000_eeprom_spi; - eeprom->opcode_bits = 8; - eeprom->delay_usec = 1; - if (eecd & E1000_EECD_ADDR_BITS) { - eeprom->page_size = 32; - eeprom->address_bits = 16; - } else { - eeprom->page_size = 8; - eeprom->address_bits = 8; - } break; } @@ -3453,7 +3445,6 @@ e1000_read_eeprom(struct e1000_hw *hw, uint32_t i = 0; DEBUGFUNC("e1000_read_eeprom"); - /* A check for invalid values: offset too large, too many words, and not * enough words. */ @@ -5224,3 +5215,4 @@ e1000_enable_mng_pass_thru(struct e1000_hw *hw) } return FALSE; } + diff --git a/drivers/net/e1000/e1000_hw.h b/drivers/net/e1000/e1000_hw.h index c9ee93a0d..9fb134ded 100644 --- a/drivers/net/e1000/e1000_hw.h +++ b/drivers/net/e1000/e1000_hw.h @@ -357,11 +357,11 @@ int32_t e1000_set_d3_lplu_state(struct e1000_hw *hw, boolean_t active); #define E1000_DEV_ID_82547GI 0x1075 #define E1000_DEV_ID_82541GI 0x1076 #define E1000_DEV_ID_82541GI_MOBILE 0x1077 +#define E1000_DEV_ID_82541GI_LF 0x107C #define E1000_DEV_ID_82546GB_COPPER 0x1079 #define E1000_DEV_ID_82546GB_FIBER 0x107A #define E1000_DEV_ID_82546GB_SERDES 0x107B #define E1000_DEV_ID_82547EI 0x1019 - #define NODE_ADDRESS_SIZE 6 #define ETH_LENGTH_OF_ADDRESS 6 @@ -1043,7 +1043,6 @@ struct e1000_hw { #define E1000_EEPROM_SWDPIN0 0x0001 /* SWDPIN 0 EEPROM Value */ #define E1000_EEPROM_LED_LOGIC 0x0020 /* Led Logic Word */ - /* Register Bit Masks */ /* Device Control */ #define E1000_CTRL_FD 0x00000001 /* Full duplex.0=half; 1=full */ diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c index 4b9b77567..1b828928d 100644 --- a/drivers/net/e1000/e1000_main.c +++ b/drivers/net/e1000/e1000_main.c @@ -27,73 +27,70 @@ *******************************************************************************/ #include "e1000.h" -#include /* Change Log + * 5.3.12 6/7/04 + * - kcompat NETIF_MSG for older kernels (2.4.9) + * - if_mii support and associated kcompat for older kernels + * - More errlogging support from Jon Mason + * - Fix TSO issues on PPC64 machines -- Jon Mason * - * 5.2.51 5/14/04 - * o set default configuration to 'NAPI disabled'. NAPI enabled driver - * causes kernel panic when the interface is shutdown while data is being - * transferred. - * 5.2.47 5/04/04 - * o fixed ethtool -t implementation - * 5.2.45 4/29/04 - * o fixed ethtool -e implementation - * o Support for ethtool ops [Stephen Hemminger (shemminger@osdl.org)] - * 5.2.42 4/26/04 - * o Added support for the DPRINTK macro for enhanced error logging. Some - * parts of the patch were supplied by Jon Mason. - * o Move the register_netdevice() donw in the probe routine due to a - * loading/unloading test issue. - * o Added a long RX byte count the the extra ethtool data members for BER - * testing purposes. - * 5.2.39 3/12/04 + * 5.3.11 6/4/04 + * - ethtool register dump reads MANC register conditionally. + * + * 5.3.10 6/1/04 */ char e1000_driver_name[] = "e1000"; char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver"; -char e1000_driver_version[] = "5.2.52-k4"; +#ifndef CONFIG_E1000_NAPI +#define DRIVERNAPI +#else +#define DRIVERNAPI "-NAPI" +#endif +#define DRV_VERSION "5.3.19-k2"DRIVERNAPI +char e1000_driver_version[] = DRV_VERSION; char e1000_copyright[] = "Copyright (c) 1999-2004 Intel Corporation."; /* e1000_pci_tbl - PCI Device ID Table * - * Wildcard entries (PCI_ANY_ID) should come last * Last entry must be all 0s * - * { Vendor ID, Device ID, SubVendor ID, SubDevice ID, - * Class, Class Mask, private data (not used) } + * Macro expands to... + * {PCI_DEVICE(PCI_VENDOR_ID_INTEL, device_id)} */ static struct pci_device_id e1000_pci_tbl[] = { - {0x8086, 0x1000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1009, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x100C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x100D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x100E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x100F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1010, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1011, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1013, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1015, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1016, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1017, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1018, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1019, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x101D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x101E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1026, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1027, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1028, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1075, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1076, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1077, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1078, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x1079, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x107A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, - {0x8086, 0x107B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, + INTEL_E1000_ETHERNET_DEVICE(0x1000), + INTEL_E1000_ETHERNET_DEVICE(0x1001), + INTEL_E1000_ETHERNET_DEVICE(0x1004), + INTEL_E1000_ETHERNET_DEVICE(0x1008), + INTEL_E1000_ETHERNET_DEVICE(0x1009), + INTEL_E1000_ETHERNET_DEVICE(0x100C), + INTEL_E1000_ETHERNET_DEVICE(0x100D), + INTEL_E1000_ETHERNET_DEVICE(0x100E), + INTEL_E1000_ETHERNET_DEVICE(0x100F), + INTEL_E1000_ETHERNET_DEVICE(0x1010), + INTEL_E1000_ETHERNET_DEVICE(0x1011), + INTEL_E1000_ETHERNET_DEVICE(0x1012), + INTEL_E1000_ETHERNET_DEVICE(0x1013), + INTEL_E1000_ETHERNET_DEVICE(0x1015), + INTEL_E1000_ETHERNET_DEVICE(0x1016), + INTEL_E1000_ETHERNET_DEVICE(0x1017), + INTEL_E1000_ETHERNET_DEVICE(0x1018), + INTEL_E1000_ETHERNET_DEVICE(0x1019), + INTEL_E1000_ETHERNET_DEVICE(0x101D), + INTEL_E1000_ETHERNET_DEVICE(0x101E), + INTEL_E1000_ETHERNET_DEVICE(0x1026), + INTEL_E1000_ETHERNET_DEVICE(0x1027), + INTEL_E1000_ETHERNET_DEVICE(0x1028), + INTEL_E1000_ETHERNET_DEVICE(0x1075), + INTEL_E1000_ETHERNET_DEVICE(0x1076), + INTEL_E1000_ETHERNET_DEVICE(0x1077), + INTEL_E1000_ETHERNET_DEVICE(0x1078), + INTEL_E1000_ETHERNET_DEVICE(0x1079), + INTEL_E1000_ETHERNET_DEVICE(0x107A), + INTEL_E1000_ETHERNET_DEVICE(0x107B), + INTEL_E1000_ETHERNET_DEVICE(0x107C), /* required last entry */ {0,} }; @@ -132,8 +129,8 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev); static struct net_device_stats * e1000_get_stats(struct net_device *netdev); static int e1000_change_mtu(struct net_device *netdev, int new_mtu); static int e1000_set_mac(struct net_device *netdev, void *p); -static inline void e1000_irq_disable(struct e1000_adapter *adapter); -static inline void e1000_irq_enable(struct e1000_adapter *adapter); +static void e1000_irq_disable(struct e1000_adapter *adapter); +static void e1000_irq_enable(struct e1000_adapter *adapter); static irqreturn_t e1000_intr(int irq, void *data, struct pt_regs *regs); static boolean_t e1000_clean_tx_irq(struct e1000_adapter *adapter); #ifdef CONFIG_E1000_NAPI @@ -150,9 +147,9 @@ static int e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, void set_ethtool_ops(struct net_device *netdev); static void e1000_enter_82542_rst(struct e1000_adapter *adapter); static void e1000_leave_82542_rst(struct e1000_adapter *adapter); -static inline void e1000_rx_checksum(struct e1000_adapter *adapter, - struct e1000_rx_desc *rx_desc, - struct sk_buff *skb); +static void e1000_rx_checksum(struct e1000_adapter *adapter, + struct e1000_rx_desc *rx_desc, + struct sk_buff *skb); static void e1000_tx_timeout(struct net_device *dev); static void e1000_tx_timeout_task(struct net_device *dev); static void e1000_smartspeed(struct e1000_adapter *adapter); @@ -172,7 +169,7 @@ static int e1000_resume(struct pci_dev *pdev); #ifdef CONFIG_NET_POLL_CONTROLLER /* for netdump / net console */ -static void e1000_netpoll (struct net_device *dev); +static void e1000_netpoll (struct net_device *netdev); #endif struct notifier_block e1000_notifier_reboot = { @@ -185,7 +182,6 @@ struct notifier_block e1000_notifier_reboot = { extern void e1000_check_options(struct e1000_adapter *adapter); - static struct pci_driver e1000_driver = { .name = e1000_driver_name, .id_table = e1000_pci_tbl, @@ -201,8 +197,9 @@ static struct pci_driver e1000_driver = { MODULE_AUTHOR("Intel Corporation, "); MODULE_DESCRIPTION("Intel(R) PRO/1000 Network Driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); -static int debug = 3; +static int debug = NETIF_MSG_DRV | NETIF_MSG_PROBE; module_param(debug, int, 0); MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)"); @@ -256,6 +253,14 @@ e1000_up(struct e1000_adapter *adapter) /* hardware has been reset, we need to reload some things */ + /* Reset the PHY if it was previously powered down */ + if(adapter->hw.media_type == e1000_media_type_copper) { + uint16_t mii_reg; + e1000_read_phy_reg(&adapter->hw, PHY_CTRL, &mii_reg); + if(mii_reg & MII_CR_POWER_DOWN) + e1000_phy_reset(&adapter->hw); + } + e1000_set_multi(netdev); e1000_restore_vlan(adapter); @@ -294,6 +299,15 @@ e1000_down(struct e1000_adapter *adapter) e1000_reset(adapter); e1000_clean_tx_ring(adapter); e1000_clean_rx_ring(adapter); + + /* If WoL is not enabled + * Power down the PHY so no link is implied when interface is down */ + if(!adapter->wol && adapter->hw.media_type == e1000_media_type_copper) { + uint16_t mii_reg; + e1000_read_phy_reg(&adapter->hw, PHY_CTRL, &mii_reg); + mii_reg |= MII_CR_POWER_DOWN; + e1000_write_phy_reg(&adapter->hw, PHY_CTRL, mii_reg); + } } void @@ -323,10 +337,10 @@ e1000_reset(struct e1000_adapter *adapter) E1000_WRITE_REG(&adapter->hw, PBA, pba); /* flow control settings */ - adapter->hw.fc_high_water = - (pba << E1000_PBA_BYTES_SHIFT) - E1000_FC_HIGH_DIFF; - adapter->hw.fc_low_water = - (pba << E1000_PBA_BYTES_SHIFT) - E1000_FC_LOW_DIFF; + adapter->hw.fc_high_water = (pba << E1000_PBA_BYTES_SHIFT) - + E1000_FC_HIGH_DIFF; + adapter->hw.fc_low_water = (pba << E1000_PBA_BYTES_SHIFT) - + E1000_FC_LOW_DIFF; adapter->hw.fc_pause_time = E1000_FC_PAUSE_TIME; adapter->hw.fc_send_xon = 1; adapter->hw.fc = adapter->hw.original_fc; @@ -334,7 +348,8 @@ e1000_reset(struct e1000_adapter *adapter) e1000_reset_hw(&adapter->hw); if(adapter->hw.mac_type >= e1000_82544) E1000_WRITE_REG(&adapter->hw, WUC, 0); - e1000_init_hw(&adapter->hw); + if(e1000_init_hw(&adapter->hw)) + DPRINTK(PROBE, ERR, "Hardware Error\n"); /* Enable h/w to recognize an 802.1Q VLAN Ethernet packet */ E1000_WRITE_REG(&adapter->hw, VET, ETHERNET_IEEE_VLAN_TYPE); @@ -410,8 +425,8 @@ e1000_probe(struct pci_dev *pdev, adapter->msg_enable = (1 << debug) - 1; rtnl_lock(); - /* we need to set the name early since the DPRINTK macro needs it set */ - if (dev_alloc_name(netdev, netdev->name) < 0) + /* we need to set the name early for the DPRINTK macro */ + if(dev_alloc_name(netdev, netdev->name) < 0) goto err_free_unlock; mmio_start = pci_resource_start(pdev, BAR_0); @@ -476,7 +491,6 @@ e1000_probe(struct pci_dev *pdev, } #ifdef NETIF_F_TSO -#ifdef BROKEN_ON_NON_IA_ARCHS /* Disbaled for now until root-cause is found for * hangs reported against non-IA archs. TSO can be * enabled using ethtool -K eth tso on */ @@ -484,11 +498,12 @@ e1000_probe(struct pci_dev *pdev, (adapter->hw.mac_type != e1000_82547)) netdev->features |= NETIF_F_TSO; #endif -#endif - if(pci_using_dac) netdev->features |= NETIF_F_HIGHDMA; + /* hard_start_xmit is safe against parallel locking */ + netdev->features |= NETIF_F_LLTX; + adapter->en_mng_pt = e1000_enable_mng_pass_thru(&adapter->hw); /* before reading the EEPROM, reset the controller to @@ -506,10 +521,12 @@ e1000_probe(struct pci_dev *pdev, /* copy the MAC address out of the EEPROM */ - e1000_read_mac_addr(&adapter->hw); + if (e1000_read_mac_addr(&adapter->hw)) + DPRINTK(PROBE, ERR, "EEPROM Read Error\n"); memcpy(netdev->dev_addr, adapter->hw.mac_addr, netdev->addr_len); if(!is_valid_ether_addr(netdev->dev_addr)) { + DPRINTK(PROBE, ERR, "Invalid MAC Address\n"); err = -EIO; goto err_eeprom; } @@ -569,10 +586,9 @@ e1000_probe(struct pci_dev *pdev, adapter->wol |= E1000_WUFC_MAG; /* reset the hardware with the new settings */ - e1000_reset(adapter); - /* since we are holding the rtnl lock already, call the no-lock version */ + /* We're already holding the rtnl lock; call the no-lock version */ if((err = register_netdevice(netdev))) goto err_register; @@ -663,7 +679,7 @@ e1000_sw_init(struct e1000_adapter *adapter) /* identify the MAC */ - if (e1000_set_mac_type(hw)) { + if(e1000_set_mac_type(hw)) { DPRINTK(PROBE, ERR, "Unknown MAC Type\n"); return -EIO; } @@ -672,19 +688,19 @@ e1000_sw_init(struct e1000_adapter *adapter) e1000_init_eeprom_params(hw); - if((hw->mac_type == e1000_82541) || - (hw->mac_type == e1000_82547) || - (hw->mac_type == e1000_82541_rev_2) || - (hw->mac_type == e1000_82547_rev_2)) + switch(hw->mac_type) { + default: + break; + case e1000_82541: + case e1000_82547: + case e1000_82541_rev_2: + case e1000_82547_rev_2: hw->phy_init_script = 1; + break; + } e1000_set_media_type(hw); - if(hw->mac_type < e1000_82543) - hw->report_tx_early = 0; - else - hw->report_tx_early = 1; - hw->wait_autoneg_complete = FALSE; hw->tbi_compatibility_en = TRUE; hw->adaptive_ifs = TRUE; @@ -736,7 +752,7 @@ e1000_open(struct net_device *netdev) if((err = e1000_up(adapter))) goto err_up; - return 0; + return E1000_SUCCESS; err_up: e1000_free_rx_resources(adapter); @@ -773,6 +789,31 @@ e1000_close(struct net_device *netdev) return 0; } +/** + * e1000_check_64k_bound - check that memory doesn't cross 64kB boundary + * @adapter: address of board private structure + * @begin: address of beginning of memory + * @end: address of end of memory + **/ +static inline boolean_t +e1000_check_64k_bound(struct e1000_adapter *adapter, + void *start, unsigned long len) +{ + unsigned long begin = (unsigned long) start; + unsigned long end = begin + len; + + /* first rev 82545 and 82546 need to not allow any memory + * write location to cross a 64k boundary due to errata 23 */ + if (adapter->hw.mac_type == e1000_82545 || + adapter->hw.mac_type == e1000_82546 + ) { + /* check buffer doesn't cross 64kB */ + return ((begin ^ (end - 1)) >> 16) != 0 ? FALSE : TRUE; + } + + return TRUE; +} + /** * e1000_setup_tx_resources - allocate Tx resources (Descriptors) * @adapter: board private structure @@ -788,8 +829,10 @@ e1000_setup_tx_resources(struct e1000_adapter *adapter) int size; size = sizeof(struct e1000_buffer) * txdr->count; - txdr->buffer_info = kmalloc(size, GFP_KERNEL); + txdr->buffer_info = vmalloc(size); if(!txdr->buffer_info) { + DPRINTK(PROBE, ERR, + "Unable to Allocate Memory for the Transmit descriptor ring\n"); return -ENOMEM; } memset(txdr->buffer_info, 0, size); @@ -801,9 +844,42 @@ e1000_setup_tx_resources(struct e1000_adapter *adapter) txdr->desc = pci_alloc_consistent(pdev, txdr->size, &txdr->dma); if(!txdr->desc) { - kfree(txdr->buffer_info); +setup_tx_desc_die: + DPRINTK(PROBE, ERR, + "Unable to Allocate Memory for the Transmit descriptor ring\n"); + vfree(txdr->buffer_info); return -ENOMEM; } + + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, txdr->desc, txdr->size)) { + void *olddesc = txdr->desc; + dma_addr_t olddma = txdr->dma; + DPRINTK(TX_ERR,ERR,"txdr align check failed: %u bytes at %p\n", + txdr->size, txdr->desc); + /* try again, without freeing the previous */ + txdr->desc = pci_alloc_consistent(pdev, txdr->size, &txdr->dma); + /* failed allocation, critial failure */ + if(!txdr->desc) { + pci_free_consistent(pdev, txdr->size, olddesc, olddma); + goto setup_tx_desc_die; + } + + if (!e1000_check_64k_bound(adapter, txdr->desc, txdr->size)) { + /* give up */ + pci_free_consistent(pdev, txdr->size, + txdr->desc, txdr->dma); + pci_free_consistent(pdev, txdr->size, olddesc, olddma); + DPRINTK(PROBE, ERR, + "Unable to Allocate aligned Memory for the Transmit" + " descriptor ring\n"); + vfree(txdr->buffer_info); + return -ENOMEM; + } else { + /* free old, move on with the new one since its okay */ + pci_free_consistent(pdev, txdr->size, olddesc, olddma); + } + } memset(txdr->desc, 0, txdr->size); txdr->next_to_use = 0; @@ -878,10 +954,10 @@ e1000_configure_tx(struct e1000_adapter *adapter) adapter->txd_cmd = E1000_TXD_CMD_IDE | E1000_TXD_CMD_EOP | E1000_TXD_CMD_IFCS; - if(adapter->hw.report_tx_early == 1) - adapter->txd_cmd |= E1000_TXD_CMD_RS; - else + if(adapter->hw.mac_type < e1000_82543) adapter->txd_cmd |= E1000_TXD_CMD_RPS; + else + adapter->txd_cmd |= E1000_TXD_CMD_RS; /* Cache if we're 82544 running in PCI-X because we'll * need this to apply a workaround later in the send path. */ @@ -905,8 +981,10 @@ e1000_setup_rx_resources(struct e1000_adapter *adapter) int size; size = sizeof(struct e1000_buffer) * rxdr->count; - rxdr->buffer_info = kmalloc(size, GFP_KERNEL); + rxdr->buffer_info = vmalloc(size); if(!rxdr->buffer_info) { + DPRINTK(PROBE, ERR, + "Unable to Allocate Memory for the Recieve descriptor ring\n"); return -ENOMEM; } memset(rxdr->buffer_info, 0, size); @@ -919,9 +997,42 @@ e1000_setup_rx_resources(struct e1000_adapter *adapter) rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma); if(!rxdr->desc) { - kfree(rxdr->buffer_info); +setup_rx_desc_die: + DPRINTK(PROBE, ERR, + "Unable to Allocate Memory for the Recieve descriptor ring\n"); + vfree(rxdr->buffer_info); return -ENOMEM; } + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, rxdr->desc, rxdr->size)) { + void *olddesc = rxdr->desc; + dma_addr_t olddma = rxdr->dma; + DPRINTK(RX_ERR,ERR, + "rxdr align check failed: %u bytes at %p\n", + rxdr->size, rxdr->desc); + /* try again, without freeing the previous */ + rxdr->desc = pci_alloc_consistent(pdev, rxdr->size, &rxdr->dma); + /* failed allocation, critial failure */ + if(!rxdr->desc) { + pci_free_consistent(pdev, rxdr->size, olddesc, olddma); + goto setup_rx_desc_die; + } + + if (!e1000_check_64k_bound(adapter, rxdr->desc, rxdr->size)) { + /* give up */ + pci_free_consistent(pdev, rxdr->size, + rxdr->desc, rxdr->dma); + pci_free_consistent(pdev, rxdr->size, olddesc, olddma); + DPRINTK(PROBE, ERR, + "Unable to Allocate aligned Memory for the" + " Receive descriptor ring\n"); + vfree(rxdr->buffer_info); + return -ENOMEM; + } else { + /* free old, move on with the new one since its okay */ + pci_free_consistent(pdev, rxdr->size, olddesc, olddma); + } + } memset(rxdr->desc, 0, rxdr->size); rxdr->next_to_clean = 0; @@ -953,7 +1064,9 @@ e1000_setup_rctl(struct e1000_adapter *adapter) else rctl &= ~E1000_RCTL_SBP; + /* Setup buffer sizes */ rctl &= ~(E1000_RCTL_SZ_4096); + rctl |= (E1000_RCTL_BSEX | E1000_RCTL_LPE); switch (adapter->rx_buffer_len) { case E1000_RXBUFFER_2048: default: @@ -961,13 +1074,13 @@ e1000_setup_rctl(struct e1000_adapter *adapter) rctl &= ~(E1000_RCTL_BSEX | E1000_RCTL_LPE); break; case E1000_RXBUFFER_4096: - rctl |= E1000_RCTL_SZ_4096 | E1000_RCTL_BSEX | E1000_RCTL_LPE; + rctl |= E1000_RCTL_SZ_4096; break; case E1000_RXBUFFER_8192: - rctl |= E1000_RCTL_SZ_8192 | E1000_RCTL_BSEX | E1000_RCTL_LPE; + rctl |= E1000_RCTL_SZ_8192; break; case E1000_RXBUFFER_16384: - rctl |= E1000_RCTL_SZ_16384 | E1000_RCTL_BSEX | E1000_RCTL_LPE; + rctl |= E1000_RCTL_SZ_16384; break; } @@ -989,13 +1102,11 @@ e1000_configure_rx(struct e1000_adapter *adapter) uint32_t rctl; uint32_t rxcsum; - /* make sure receives are disabled while setting up the descriptors */ - + /* disable receives while setting up the descriptors */ rctl = E1000_READ_REG(&adapter->hw, RCTL); E1000_WRITE_REG(&adapter->hw, RCTL, rctl & ~E1000_RCTL_EN); /* set the Receive Delay Timer Register */ - E1000_WRITE_REG(&adapter->hw, RDTR, adapter->rx_int_delay); if(adapter->hw.mac_type >= e1000_82540) { @@ -1006,7 +1117,6 @@ e1000_configure_rx(struct e1000_adapter *adapter) } /* Setup the Base and Length of the Rx Descriptor Ring */ - E1000_WRITE_REG(&adapter->hw, RDBAL, (rdba & 0x00000000ffffffffULL)); E1000_WRITE_REG(&adapter->hw, RDBAH, (rdba >> 32)); @@ -1025,7 +1135,6 @@ e1000_configure_rx(struct e1000_adapter *adapter) } /* Enable Receives */ - E1000_WRITE_REG(&adapter->hw, RCTL, rctl); } @@ -1043,7 +1152,7 @@ e1000_free_tx_resources(struct e1000_adapter *adapter) e1000_clean_tx_ring(adapter); - kfree(adapter->tx_ring.buffer_info); + vfree(adapter->tx_ring.buffer_info); adapter->tx_ring.buffer_info = NULL; pci_free_consistent(pdev, adapter->tx_ring.size, @@ -1052,6 +1161,25 @@ e1000_free_tx_resources(struct e1000_adapter *adapter) adapter->tx_ring.desc = NULL; } +static inline void +e1000_unmap_and_free_tx_resource(struct e1000_adapter *adapter, + struct e1000_buffer *buffer_info) +{ + struct pci_dev *pdev = adapter->pdev; + + if(buffer_info->dma) { + pci_unmap_page(pdev, + buffer_info->dma, + buffer_info->length, + PCI_DMA_TODEVICE); + buffer_info->dma = 0; + } + if(buffer_info->skb) { + dev_kfree_skb_any(buffer_info->skb); + buffer_info->skb = NULL; + } +} + /** * e1000_clean_tx_ring - Free Tx Buffers * @adapter: board private structure @@ -1062,25 +1190,19 @@ e1000_clean_tx_ring(struct e1000_adapter *adapter) { struct e1000_desc_ring *tx_ring = &adapter->tx_ring; struct e1000_buffer *buffer_info; - struct pci_dev *pdev = adapter->pdev; unsigned long size; unsigned int i; /* Free all the Tx ring sk_buffs */ + if (likely(adapter->previous_buffer_info.skb != NULL)) { + e1000_unmap_and_free_tx_resource(adapter, + &adapter->previous_buffer_info); + } + for(i = 0; i < tx_ring->count; i++) { buffer_info = &tx_ring->buffer_info[i]; - if(buffer_info->skb) { - - pci_unmap_page(pdev, - buffer_info->dma, - buffer_info->length, - PCI_DMA_TODEVICE); - - dev_kfree_skb(buffer_info->skb); - - buffer_info->skb = NULL; - } + e1000_unmap_and_free_tx_resource(adapter, buffer_info); } size = sizeof(struct e1000_buffer) * tx_ring->count; @@ -1112,7 +1234,7 @@ e1000_free_rx_resources(struct e1000_adapter *adapter) e1000_clean_rx_ring(adapter); - kfree(rx_ring->buffer_info); + vfree(rx_ring->buffer_info); rx_ring->buffer_info = NULL; pci_free_consistent(pdev, rx_ring->size, rx_ring->desc, rx_ring->dma); @@ -1141,12 +1263,11 @@ e1000_clean_rx_ring(struct e1000_adapter *adapter) if(buffer_info->skb) { pci_unmap_single(pdev, - buffer_info->dma, - buffer_info->length, - PCI_DMA_FROMDEVICE); + buffer_info->dma, + buffer_info->length, + PCI_DMA_FROMDEVICE); dev_kfree_skb(buffer_info->skb); - buffer_info->skb = NULL; } } @@ -1259,9 +1380,12 @@ e1000_set_multi(struct net_device *netdev) uint32_t rctl; uint32_t hash_value; int i; + unsigned long flags; /* Check for Promiscuous and All Multicast modes */ + spin_lock_irqsave(&adapter->tx_lock, flags); + rctl = E1000_READ_REG(hw, RCTL); if(netdev->flags & IFF_PROMISC) { @@ -1310,9 +1434,12 @@ e1000_set_multi(struct net_device *netdev) if(hw->mac_type == e1000_82542_rev2_0) e1000_leave_82542_rst(adapter); + + spin_unlock_irqrestore(&adapter->tx_lock, flags); } -/* need to wait a few seconds after link up to get diagnostic information from the phy */ +/* Need to wait a few seconds after link up to get diagnostic information from + * the phy */ static void e1000_update_phy_info(unsigned long data) @@ -1420,7 +1547,7 @@ e1000_watchdog(unsigned long data) adapter->tpt_old = adapter->stats.tpt; adapter->hw.collision_delta = adapter->stats.colc - adapter->colc_old; adapter->colc_old = adapter->stats.colc; - + adapter->gorcl = adapter->stats.gorcl - adapter->gorcl_old; adapter->gorcl_old = adapter->stats.gorcl; adapter->gotcl = adapter->stats.gotcl - adapter->gotcl_old; @@ -1477,8 +1604,9 @@ e1000_tso(struct e1000_adapter *adapter, struct sk_buff *skb) #ifdef NETIF_F_TSO struct e1000_context_desc *context_desc; unsigned int i; - uint8_t ipcss, ipcso, tucss, tucso, hdr_len; + uint32_t cmd_length = 0; uint16_t ipcse, tucse, mss; + uint8_t ipcss, ipcso, tucss, tucso, hdr_len; if(skb_shinfo(skb)->tso_size) { hdr_len = ((skb->h.raw - skb->data) + (skb->h.th->doff << 2)); @@ -1497,6 +1625,10 @@ e1000_tso(struct e1000_adapter *adapter, struct sk_buff *skb) tucso = (void *)&(skb->h.th->check) - (void *)skb->data; tucse = 0; + cmd_length |= (E1000_TXD_CMD_DEXT | E1000_TXD_CMD_TSE | + E1000_TXD_CMD_IP | E1000_TXD_CMD_TCP | + (skb->len - (hdr_len))); + i = adapter->tx_ring.next_to_use; context_desc = E1000_CONTEXT_DESC(adapter->tx_ring, i); @@ -1508,10 +1640,7 @@ e1000_tso(struct e1000_adapter *adapter, struct sk_buff *skb) context_desc->upper_setup.tcp_fields.tucse = cpu_to_le16(tucse); context_desc->tcp_seg_setup.fields.mss = cpu_to_le16(mss); context_desc->tcp_seg_setup.fields.hdr_len = hdr_len; - context_desc->cmd_and_length = cpu_to_le32( - E1000_TXD_CMD_DEXT | E1000_TXD_CMD_TSE | - E1000_TXD_CMD_IP | E1000_TXD_CMD_TCP | - (skb->len - (hdr_len))); + context_desc->cmd_and_length = cpu_to_le32(cmd_length); if(++i == adapter->tx_ring.count) i = 0; adapter->tx_ring.next_to_use = i; @@ -1528,22 +1657,21 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct sk_buff *skb) { struct e1000_context_desc *context_desc; unsigned int i; - uint8_t css, cso; + uint8_t css; - if(skb->ip_summed == CHECKSUM_HW) { + if(likely(skb->ip_summed == CHECKSUM_HW)) { css = skb->h.raw - skb->data; - cso = (skb->h.raw + skb->csum) - skb->data; i = adapter->tx_ring.next_to_use; context_desc = E1000_CONTEXT_DESC(adapter->tx_ring, i); context_desc->upper_setup.tcp_fields.tucss = css; - context_desc->upper_setup.tcp_fields.tucso = cso; + context_desc->upper_setup.tcp_fields.tucso = css + skb->csum; context_desc->upper_setup.tcp_fields.tucse = 0; context_desc->tcp_seg_setup.data = 0; context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT); - if(++i == adapter->tx_ring.count) i = 0; + if(unlikely(++i == adapter->tx_ring.count)) i = 0; adapter->tx_ring.next_to_use = i; return TRUE; @@ -1567,7 +1695,6 @@ e1000_tx_map(struct e1000_adapter *adapter, struct sk_buff *skb, unsigned int f; len -= skb->data_len; - i = tx_ring->next_to_use; while(len) { @@ -1576,14 +1703,14 @@ e1000_tx_map(struct e1000_adapter *adapter, struct sk_buff *skb, #ifdef NETIF_F_TSO /* Workaround for premature desc write-backs * in TSO mode. Append 4-byte sentinel desc */ - if(mss && !nr_frags && size == len && size > 8) + if(unlikely(mss && !nr_frags && size == len && size > 8)) size -= 4; #endif /* Workaround for potential 82544 hang in PCI-X. Avoid * terminating buffers within evenly-aligned dwords. */ - if(adapter->pcix_82544 && + if(unlikely(adapter->pcix_82544 && !((unsigned long)(skb->data + offset + size - 1) & 4) && - size > 4) + size > 4)) size -= 4; buffer_info->length = size; @@ -1597,7 +1724,7 @@ e1000_tx_map(struct e1000_adapter *adapter, struct sk_buff *skb, len -= size; offset += size; count++; - if(++i == tx_ring->count) i = 0; + if(unlikely(++i == tx_ring->count)) i = 0; } for(f = 0; f < nr_frags; f++) { @@ -1613,15 +1740,15 @@ e1000_tx_map(struct e1000_adapter *adapter, struct sk_buff *skb, #ifdef NETIF_F_TSO /* Workaround for premature desc write-backs * in TSO mode. Append 4-byte sentinel desc */ - if(mss && f == (nr_frags-1) && size == len && size > 8) + if(unlikely(mss && f == (nr_frags-1) && size == len && size > 8)) size -= 4; #endif /* Workaround for potential 82544 hang in PCI-X. * Avoid terminating buffers within evenly-aligned * dwords. */ - if(adapter->pcix_82544 && + if(unlikely(adapter->pcix_82544 && !((unsigned long)(frag->page+offset+size-1) & 4) && - size > 4) + size > 4)) size -= 4; buffer_info->length = size; @@ -1636,13 +1763,14 @@ e1000_tx_map(struct e1000_adapter *adapter, struct sk_buff *skb, len -= size; offset += size; count++; - if(++i == tx_ring->count) i = 0; + if(unlikely(++i == tx_ring->count)) i = 0; } } + i = (i == 0) ? tx_ring->count - 1 : i - 1; tx_ring->buffer_info[i].skb = skb; tx_ring->buffer_info[first].next_to_watch = i; - + return count; } @@ -1655,18 +1783,18 @@ e1000_tx_queue(struct e1000_adapter *adapter, int count, int tx_flags) uint32_t txd_upper = 0, txd_lower = E1000_TXD_CMD_IFCS; unsigned int i; - if(tx_flags & E1000_TX_FLAGS_TSO) { + if(likely(tx_flags & E1000_TX_FLAGS_TSO)) { txd_lower |= E1000_TXD_CMD_DEXT | E1000_TXD_DTYP_D | E1000_TXD_CMD_TSE; txd_upper |= (E1000_TXD_POPTS_IXSM | E1000_TXD_POPTS_TXSM) << 8; } - if(tx_flags & E1000_TX_FLAGS_CSUM) { + if(likely(tx_flags & E1000_TX_FLAGS_CSUM)) { txd_lower |= E1000_TXD_CMD_DEXT | E1000_TXD_DTYP_D; txd_upper |= E1000_TXD_POPTS_TXSM << 8; } - if(tx_flags & E1000_TX_FLAGS_VLAN) { + if(unlikely(tx_flags & E1000_TX_FLAGS_VLAN)) { txd_lower |= E1000_TXD_CMD_VLE; txd_upper |= (tx_flags & E1000_TX_FLAGS_VLAN_MASK); } @@ -1680,7 +1808,7 @@ e1000_tx_queue(struct e1000_adapter *adapter, int count, int tx_flags) tx_desc->lower.data = cpu_to_le32(txd_lower | buffer_info->length); tx_desc->upper.data = cpu_to_le32(txd_upper); - if(++i == tx_ring->count) i = 0; + if(unlikely(++i == tx_ring->count)) i = 0; } tx_desc->lower.data |= cpu_to_le32(adapter->txd_cmd); @@ -1733,7 +1861,7 @@ no_fifo_stall_required: return 0; } -#define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1 ) +#define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1 ) static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) { @@ -1741,22 +1869,23 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) unsigned int first, max_per_txd = E1000_MAX_DATA_PER_TXD; unsigned int max_txd_pwr = E1000_MAX_TXD_PWR; unsigned int tx_flags = 0; - unsigned long flags; unsigned int len = skb->len; - int count = 0; - unsigned int mss = 0; + unsigned long flags; unsigned int nr_frags = 0; + unsigned int mss = 0; + int count = 0; unsigned int f; nr_frags = skb_shinfo(skb)->nr_frags; len -= skb->data_len; - if(skb->len <= 0) { + + if(unlikely(skb->len <= 0)) { dev_kfree_skb_any(skb); - return 0; + return NETDEV_TX_OK; } #ifdef NETIF_F_TSO mss = skb_shinfo(skb)->tso_size; - /* The controller does a simple calculation to + /* The controller does a simple calculation to * make sure there is enough room in the FIFO before * initiating the DMA for each buffer. The calc is: * 4 = ceil(buffer len/mss). To make sure we don't @@ -1766,62 +1895,70 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev) max_per_txd = min(mss << 2, max_per_txd); max_txd_pwr = fls(max_per_txd) - 1; } + if((mss) || (skb->ip_summed == CHECKSUM_HW)) count++; - count++; /*for sentinel desc*/ + count++; /* for sentinel desc */ #else if(skb->ip_summed == CHECKSUM_HW) count++; #endif - count += TXD_USE_COUNT(len, max_txd_pwr); + if(adapter->pcix_82544) count++; nr_frags = skb_shinfo(skb)->nr_frags; for(f = 0; f < nr_frags; f++) count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size, - max_txd_pwr); + max_txd_pwr); if(adapter->pcix_82544) count += nr_frags; - - spin_lock_irqsave(&adapter->tx_lock, flags); - /* need: count + 2 desc gap to keep tail from touching + + local_irq_save(flags); + if (!spin_trylock(&adapter->tx_lock)) { + /* Collision - tell upper layer to requeue */ + local_irq_restore(flags); + return NETDEV_TX_LOCKED; + } + + /* need: count + 2 desc gap to keep tail from touching * head, otherwise try next time */ - if(E1000_DESC_UNUSED(&adapter->tx_ring) < count + 2 ) { + if(E1000_DESC_UNUSED(&adapter->tx_ring) < count + 2) { netif_stop_queue(netdev); spin_unlock_irqrestore(&adapter->tx_lock, flags); - return 1; + return NETDEV_TX_BUSY; } - spin_unlock_irqrestore(&adapter->tx_lock, flags); - if(adapter->hw.mac_type == e1000_82547) { - if(e1000_82547_fifo_workaround(adapter, skb)) { + if(unlikely(adapter->hw.mac_type == e1000_82547)) { + if(unlikely(e1000_82547_fifo_workaround(adapter, skb))) { netif_stop_queue(netdev); mod_timer(&adapter->tx_fifo_stall_timer, jiffies); - return 1; + spin_unlock_irqrestore(&adapter->tx_lock, flags); + return NETDEV_TX_BUSY; } } - if(adapter->vlgrp && vlan_tx_tag_present(skb)) { + if(unlikely(adapter->vlgrp && vlan_tx_tag_present(skb))) { tx_flags |= E1000_TX_FLAGS_VLAN; tx_flags |= (vlan_tx_tag_get(skb) << E1000_TX_FLAGS_VLAN_SHIFT); } first = adapter->tx_ring.next_to_use; - if(e1000_tso(adapter, skb)) + if(likely(e1000_tso(adapter, skb))) tx_flags |= E1000_TX_FLAGS_TSO; - else if(e1000_tx_csum(adapter, skb)) + else if(likely(e1000_tx_csum(adapter, skb))) tx_flags |= E1000_TX_FLAGS_CSUM; - e1000_tx_queue(adapter, - e1000_tx_map(adapter, skb, first, max_per_txd, nr_frags, mss), + e1000_tx_queue(adapter, + e1000_tx_map(adapter, skb, first, max_per_txd, nr_frags, mss), tx_flags); netdev->trans_start = jiffies; - return 0; + spin_unlock_irqrestore(&adapter->tx_lock, flags); + return NETDEV_TX_OK; } /** @@ -1843,10 +1980,8 @@ e1000_tx_timeout_task(struct net_device *netdev) { struct e1000_adapter *adapter = netdev->priv; - netif_device_detach(netdev); e1000_down(adapter); e1000_up(adapter); - netif_device_attach(netdev); } /** @@ -1905,7 +2040,6 @@ e1000_change_mtu(struct net_device *netdev, int new_mtu) } if(old_mtu != adapter->rx_buffer_len && netif_running(netdev)) { - e1000_down(adapter); e1000_up(adapter); } @@ -1951,8 +2085,6 @@ e1000_update_stats(struct e1000_adapter *adapter) adapter->stats.prc1023 += E1000_READ_REG(hw, PRC1023); adapter->stats.prc1522 += E1000_READ_REG(hw, PRC1522); - /* the rest of the counters are only modified here */ - adapter->stats.symerrs += E1000_READ_REG(hw, SYMERRS); adapter->stats.mpc += E1000_READ_REG(hw, MPC); adapter->stats.scc += E1000_READ_REG(hw, SCC); @@ -2059,7 +2191,7 @@ e1000_update_stats(struct e1000_adapter *adapter) * @adapter: board private structure **/ -static inline void +static void e1000_irq_disable(struct e1000_adapter *adapter) { atomic_inc(&adapter->irq_sem); @@ -2073,10 +2205,10 @@ e1000_irq_disable(struct e1000_adapter *adapter) * @adapter: board private structure **/ -static inline void +static void e1000_irq_enable(struct e1000_adapter *adapter) { - if(atomic_dec_and_test(&adapter->irq_sem)) { + if(likely(atomic_dec_and_test(&adapter->irq_sem))) { E1000_WRITE_REG(&adapter->hw, IMS, IMS_ENABLE_MASK); E1000_WRITE_FLUSH(&adapter->hw); } @@ -2095,21 +2227,21 @@ e1000_intr(int irq, void *data, struct pt_regs *regs) struct net_device *netdev = data; struct e1000_adapter *adapter = netdev->priv; struct e1000_hw *hw = &adapter->hw; - uint32_t icr = E1000_READ_REG(&adapter->hw, ICR); + uint32_t icr = E1000_READ_REG(hw, ICR); #ifndef CONFIG_E1000_NAPI unsigned int i; #endif - if(!icr) + if(unlikely(!icr)) return IRQ_NONE; /* Not our interrupt */ - if(icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) { + if(unlikely(icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC))) { hw->get_link_status = 1; mod_timer(&adapter->watchdog_timer, jiffies); } #ifdef CONFIG_E1000_NAPI - if(netif_rx_schedule_prep(netdev)) { + if(likely(netif_rx_schedule_prep(netdev))) { /* Disable interrupts and register for poll. The flush of the posted write is intentionally left out. @@ -2121,8 +2253,8 @@ e1000_intr(int irq, void *data, struct pt_regs *regs) } #else for(i = 0; i < E1000_MAX_INTR; i++) - if(!e1000_clean_rx_irq(adapter) & - !e1000_clean_tx_irq(adapter)) + if(unlikely(!e1000_clean_rx_irq(adapter) & + !e1000_clean_tx_irq(adapter))) break; #endif @@ -2140,15 +2272,18 @@ e1000_clean(struct net_device *netdev, int *budget) { struct e1000_adapter *adapter = netdev->priv; int work_to_do = min(*budget, netdev->quota); + int tx_cleaned; int work_done = 0; - e1000_clean_tx_irq(adapter); + tx_cleaned = e1000_clean_tx_irq(adapter); e1000_clean_rx_irq(adapter, &work_done, work_to_do); *budget -= work_done; netdev->quota -= work_done; - if(work_done < work_to_do || !netif_running(netdev)) { + /* if no Rx and Tx cleanup work was done, exit the polling mode */ + if(!tx_cleaned || (work_done < work_to_do) || + !netif_running(netdev)) { netif_rx_complete(netdev); e1000_irq_enable(adapter); return 0; @@ -2156,8 +2291,8 @@ e1000_clean(struct net_device *netdev, int *budget) return (work_done >= work_to_do); } -#endif +#endif /** * e1000_clean_tx_irq - Reclaim resources after transmit completes * @adapter: board private structure @@ -2168,46 +2303,50 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter) { struct e1000_desc_ring *tx_ring = &adapter->tx_ring; struct net_device *netdev = adapter->netdev; - struct pci_dev *pdev = adapter->pdev; struct e1000_tx_desc *tx_desc, *eop_desc; struct e1000_buffer *buffer_info; unsigned int i, eop; boolean_t cleaned = FALSE; - i = tx_ring->next_to_clean; eop = tx_ring->buffer_info[i].next_to_watch; eop_desc = E1000_TX_DESC(*tx_ring, eop); while(eop_desc->upper.data & cpu_to_le32(E1000_TXD_STAT_DD)) { + /* pre-mature writeback of Tx descriptors */ + /* clear (free buffers and unmap pci_mapping) */ + /* previous_buffer_info */ + if (likely(adapter->previous_buffer_info.skb != NULL)) { + e1000_unmap_and_free_tx_resource(adapter, + &adapter->previous_buffer_info); + } for(cleaned = FALSE; !cleaned; ) { tx_desc = E1000_TX_DESC(*tx_ring, i); buffer_info = &tx_ring->buffer_info[i]; - if(buffer_info->dma) { - - pci_unmap_page(pdev, - buffer_info->dma, - buffer_info->length, - PCI_DMA_TODEVICE); - - buffer_info->dma = 0; - } - - if(buffer_info->skb) { - - dev_kfree_skb_any(buffer_info->skb); + cleaned = (i == eop); - buffer_info->skb = NULL; + /* pre-mature writeback of Tx descriptors */ + /* save the cleaning of the this for the */ + /* next iteration */ + if (cleaned) { + memcpy(&adapter->previous_buffer_info, + buffer_info, + sizeof(struct e1000_buffer)); + memset(buffer_info, + 0, + sizeof(struct e1000_buffer)); + } else { + e1000_unmap_and_free_tx_resource(adapter, + buffer_info); } - tx_desc->buffer_addr = 0; tx_desc->lower.data = 0; tx_desc->upper.data = 0; cleaned = (i == eop); - if(++i == tx_ring->count) i = 0; + if(unlikely(++i == tx_ring->count)) i = 0; } eop = tx_ring->buffer_info[i].next_to_watch; @@ -2218,7 +2357,8 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter) spin_lock(&adapter->tx_lock); - if(cleaned && netif_queue_stopped(netdev) && netif_carrier_ok(netdev)) + if(unlikely(cleaned && netif_queue_stopped(netdev) && + netif_carrier_ok(netdev))) netif_wake_queue(netdev); spin_unlock(&adapter->tx_lock); @@ -2227,7 +2367,7 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter) } /** - * e1000_clean_rx_irq - Send received data up the network stack, + * e1000_clean_rx_irq - Send received data up the network stack * @adapter: board private structure **/ @@ -2256,14 +2396,11 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter) while(rx_desc->status & E1000_RXD_STAT_DD) { buffer_info = &rx_ring->buffer_info[i]; - #ifdef CONFIG_E1000_NAPI if(*work_done >= work_to_do) break; - (*work_done)++; #endif - cleaned = TRUE; pci_unmap_single(pdev, @@ -2274,49 +2411,28 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter) skb = buffer_info->skb; length = le16_to_cpu(rx_desc->length); - if(!(rx_desc->status & E1000_RXD_STAT_EOP)) { - + if(unlikely(!(rx_desc->status & E1000_RXD_STAT_EOP))) { /* All receives must fit into a single buffer */ - - E1000_DBG("%s: Receive packet consumed multiple buffers\n", - netdev->name); - + E1000_DBG("%s: Receive packet consumed multiple" + " buffers\n", netdev->name); dev_kfree_skb_irq(skb); - rx_desc->status = 0; - buffer_info->skb = NULL; - - if(++i == rx_ring->count) i = 0; - - rx_desc = E1000_RX_DESC(*rx_ring, i); - continue; + goto next_desc; } - if(rx_desc->errors & E1000_RXD_ERR_FRAME_ERR_MASK) { - + if(unlikely(rx_desc->errors & E1000_RXD_ERR_FRAME_ERR_MASK)) { last_byte = *(skb->data + length - 1); - if(TBI_ACCEPT(&adapter->hw, rx_desc->status, rx_desc->errors, length, last_byte)) { - spin_lock_irqsave(&adapter->stats_lock, flags); - e1000_tbi_adjust_stats(&adapter->hw, &adapter->stats, length, skb->data); - spin_unlock_irqrestore(&adapter->stats_lock, flags); length--; } else { - dev_kfree_skb_irq(skb); - rx_desc->status = 0; - buffer_info->skb = NULL; - - if(++i == rx_ring->count) i = 0; - - rx_desc = E1000_RX_DESC(*rx_ring, i); - continue; + goto next_desc; } } @@ -2328,17 +2444,19 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter) skb->protocol = eth_type_trans(skb, netdev); #ifdef CONFIG_E1000_NAPI - if(adapter->vlgrp && (rx_desc->status & E1000_RXD_STAT_VP)) { + if(unlikely(adapter->vlgrp && + (rx_desc->status & E1000_RXD_STAT_VP))) { vlan_hwaccel_receive_skb(skb, adapter->vlgrp, - le16_to_cpu(rx_desc->special & - E1000_RXD_SPC_VLAN_MASK)); + le16_to_cpu(rx_desc->special & + E1000_RXD_SPC_VLAN_MASK)); } else { netif_receive_skb(skb); } #else /* CONFIG_E1000_NAPI */ - if(adapter->vlgrp && (rx_desc->status & E1000_RXD_STAT_VP)) { + if(unlikely(adapter->vlgrp && + (rx_desc->status & E1000_RXD_STAT_VP))) { vlan_hwaccel_rx(skb, adapter->vlgrp, - le16_to_cpu(rx_desc->special & + le16_to_cpu(rx_desc->special & E1000_RXD_SPC_VLAN_MASK)); } else { netif_rx(skb); @@ -2346,10 +2464,10 @@ e1000_clean_rx_irq(struct e1000_adapter *adapter) #endif /* CONFIG_E1000_NAPI */ netdev->last_rx = jiffies; +next_desc: rx_desc->status = 0; buffer_info->skb = NULL; - - if(++i == rx_ring->count) i = 0; + if(unlikely(++i == rx_ring->count)) i = 0; rx_desc = E1000_RX_DESC(*rx_ring, i); } @@ -2375,21 +2493,43 @@ e1000_alloc_rx_buffers(struct e1000_adapter *adapter) struct e1000_rx_desc *rx_desc; struct e1000_buffer *buffer_info; struct sk_buff *skb; - unsigned int i; + unsigned int i, bufsz; i = rx_ring->next_to_use; buffer_info = &rx_ring->buffer_info[i]; while(!buffer_info->skb) { - rx_desc = E1000_RX_DESC(*rx_ring, i); - - skb = dev_alloc_skb(adapter->rx_buffer_len + NET_IP_ALIGN); + bufsz = adapter->rx_buffer_len + NET_IP_ALIGN; - if(!skb) { + skb = dev_alloc_skb(bufsz); + if(unlikely(!skb)) { /* Better luck next round */ break; } + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) { + struct sk_buff *oldskb = skb; + DPRINTK(RX_ERR,ERR, + "skb align check failed: %u bytes at %p\n", + bufsz, skb->data); + /* try again, without freeing the previous */ + skb = dev_alloc_skb(bufsz); + if (!skb) { + dev_kfree_skb(oldskb); + break; + } + if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) { + /* give up */ + dev_kfree_skb(skb); + dev_kfree_skb(oldskb); + break; /* while !buffer_info->skb */ + } else { + /* move on with the new one */ + dev_kfree_skb(oldskb); + } + } + /* Make buffer alignment 2 beyond a 16 byte boundary * this will result in a 16 byte aligned IP header after * the 14 byte MAC header is removed @@ -2400,15 +2540,32 @@ e1000_alloc_rx_buffers(struct e1000_adapter *adapter) buffer_info->skb = skb; buffer_info->length = adapter->rx_buffer_len; - buffer_info->dma = - pci_map_single(pdev, - skb->data, - adapter->rx_buffer_len, - PCI_DMA_FROMDEVICE); + buffer_info->dma = pci_map_single(pdev, + skb->data, + adapter->rx_buffer_len, + PCI_DMA_FROMDEVICE); + + /* fix for errata 23, cant cross 64kB boundary */ + if (!e1000_check_64k_bound(adapter, (void *)buffer_info->dma, adapter->rx_buffer_len)) { + DPRINTK(RX_ERR,ERR, + "dma align check failed: %u bytes at %ld\n", + adapter->rx_buffer_len, buffer_info->dma); + + dev_kfree_skb(skb); + buffer_info->skb = NULL; + pci_unmap_single(pdev, + buffer_info->dma, + adapter->rx_buffer_len, + PCI_DMA_FROMDEVICE); + + break; /* while !buffer_info->skb */ + } + + rx_desc = E1000_RX_DESC(*rx_ring, i); rx_desc->buffer_addr = cpu_to_le64(buffer_info->dma); - if((i & ~(E1000_RX_BUFFER_WRITE - 1)) == i) { + if(unlikely((i & ~(E1000_RX_BUFFER_WRITE - 1)) == i)) { /* Force memory writes to complete before letting h/w * know there are new descriptors to fetch. (Only * applicable for weak-ordered memory model archs, @@ -2418,7 +2575,7 @@ e1000_alloc_rx_buffers(struct e1000_adapter *adapter) E1000_WRITE_REG(&adapter->hw, RDT, i); } - if(++i == rx_ring->count) i = 0; + if(unlikely(++i == rx_ring->count)) i = 0; buffer_info = &rx_ring->buffer_info[i]; } @@ -2537,22 +2694,24 @@ e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) return -EFAULT; mii_reg = data->val_in; if (e1000_write_phy_reg(&adapter->hw, data->reg_num, - data->val_in)) + mii_reg)) return -EIO; if (adapter->hw.phy_type == e1000_phy_m88) { switch (data->reg_num) { case PHY_CTRL: - if(data->val_in & MII_CR_AUTO_NEG_EN) { + if(mii_reg & MII_CR_POWER_DOWN) + break; + if(mii_reg & MII_CR_AUTO_NEG_EN) { adapter->hw.autoneg = 1; adapter->hw.autoneg_advertised = 0x2F; } else { - if (data->val_in & 0x40) + if (mii_reg & 0x40) spddplx = SPEED_1000; - else if (data->val_in & 0x2000) + else if (mii_reg & 0x2000) spddplx = SPEED_100; else spddplx = SPEED_10; - spddplx += (data->val_in & 0x100) + spddplx += (mii_reg & 0x100) ? FULL_DUPLEX : HALF_DUPLEX; retval = e1000_set_spd_dplx(adapter, @@ -2572,6 +2731,18 @@ e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) return -EIO; break; } + } else { + switch (data->reg_num) { + case PHY_CTRL: + if(mii_reg & MII_CR_POWER_DOWN) + break; + if(netif_running(adapter->netdev)) { + e1000_down(adapter); + e1000_up(adapter); + } else + e1000_reset(adapter); + break; + } } break; default: @@ -2587,17 +2758,17 @@ e1000_mii_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) * @sk_buff: socket buffer with received data **/ -static inline void +static void e1000_rx_checksum(struct e1000_adapter *adapter, struct e1000_rx_desc *rx_desc, struct sk_buff *skb) { /* 82543 or newer only */ - if((adapter->hw.mac_type < e1000_82543) || + if(unlikely((adapter->hw.mac_type < e1000_82543) || /* Ignore Checksum bit is set */ (rx_desc->status & E1000_RXD_STAT_IXSM) || /* TCP Checksum has not been calculated */ - (!(rx_desc->status & E1000_RXD_STAT_TCPCS))) { + (!(rx_desc->status & E1000_RXD_STAT_TCPCS)))) { skb->ip_summed = CHECKSUM_NONE; return; } @@ -2609,7 +2780,7 @@ e1000_rx_checksum(struct e1000_adapter *adapter, skb->ip_summed = CHECKSUM_NONE; adapter->hw_csum_err++; } else { - /* TCP checksum is good */ + /* TCP checksum is good */ skb->ip_summed = CHECKSUM_UNNECESSARY; adapter->hw_csum_good++; } @@ -2620,7 +2791,8 @@ e1000_pci_set_mwi(struct e1000_hw *hw) { struct e1000_adapter *adapter = hw->back; - pci_set_mwi(adapter->pdev); + int ret; + ret = pci_set_mwi(adapter->pdev); } void @@ -2670,26 +2842,22 @@ e1000_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp) if(grp) { /* enable VLAN tag insert/strip */ - ctrl = E1000_READ_REG(&adapter->hw, CTRL); ctrl |= E1000_CTRL_VME; E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); /* enable VLAN receive filtering */ - rctl = E1000_READ_REG(&adapter->hw, RCTL); rctl |= E1000_RCTL_VFE; rctl &= ~E1000_RCTL_CFIEN; E1000_WRITE_REG(&adapter->hw, RCTL, rctl); } else { /* disable VLAN tag insert/strip */ - ctrl = E1000_READ_REG(&adapter->hw, CTRL); ctrl &= ~E1000_CTRL_VME; E1000_WRITE_REG(&adapter->hw, CTRL, ctrl); /* disable VLAN filtering */ - rctl = E1000_READ_REG(&adapter->hw, RCTL); rctl &= ~E1000_RCTL_VFE; E1000_WRITE_REG(&adapter->hw, RCTL, rctl); @@ -2705,7 +2873,6 @@ e1000_vlan_rx_add_vid(struct net_device *netdev, uint16_t vid) uint32_t vfta, index; /* add VID to filter table */ - index = (vid >> 5) & 0x7F; vfta = E1000_READ_REG_ARRAY(&adapter->hw, VFTA, index); vfta |= (1 << (vid & 0x1F)); @@ -2725,8 +2892,7 @@ e1000_vlan_rx_kill_vid(struct net_device *netdev, uint16_t vid) e1000_irq_enable(adapter); - /* remove VID from filter table*/ - + /* remove VID from filter table */ index = (vid >> 5) & 0x7F; vfta = E1000_READ_REG_ARRAY(&adapter->hw, VFTA, index); vfta &= ~(1 << (vid & 0x1F)); @@ -2772,6 +2938,8 @@ e1000_set_spd_dplx(struct e1000_adapter *adapter, uint16_t spddplx) break; case SPEED_1000 + DUPLEX_HALF: /* not supported */ default: + DPRINTK(PROBE, ERR, + "Unsupported Speed/Duplexity configuration\n"); return -EINVAL; } return 0; @@ -2865,6 +3033,8 @@ e1000_suspend(struct pci_dev *pdev, uint32_t state) } } + pci_disable_device(pdev); + state = (state > 0) ? 3 : 0; pci_set_power_state(pdev, state); @@ -2879,6 +3049,7 @@ e1000_resume(struct pci_dev *pdev) struct e1000_adapter *adapter = netdev->priv; uint32_t manc; + pci_enable_device(pdev); pci_set_power_state(pdev, 0); pci_restore_state(pdev, adapter->pci_state); @@ -2910,12 +3081,12 @@ e1000_resume(struct pci_dev *pdev) * without having to re-enable interrupts. It's not called while * the interrupt routine is executing. */ - -static void e1000_netpoll (struct net_device *dev) +static void +e1000_netpoll (struct net_device *netdev) { - struct e1000_adapter *adapter = dev->priv; + struct e1000_adapter *adapter = netdev->priv; disable_irq(adapter->pdev->irq); - e1000_intr (adapter->pdev->irq, dev, NULL); + e1000_intr(adapter->pdev->irq, netdev, NULL); enable_irq(adapter->pdev->irq); } #endif diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c index 3e79a45de..555421366 100644 --- a/drivers/net/e1000/e1000_param.c +++ b/drivers/net/e1000/e1000_param.c @@ -212,7 +212,7 @@ E1000_PARAM(InterruptThrottleRate, "Interrupt Throttling Rate"); #define MAX_TXABSDELAY 0xFFFF #define MIN_TXABSDELAY 0 -#define DEFAULT_ITR 1 +#define DEFAULT_ITR 8000 #define MAX_ITR 100000 #define MIN_ITR 100 @@ -235,7 +235,7 @@ struct e1000_option { static int __devinit e1000_validate_option(int *value, struct e1000_option *opt, - struct e1000_adapter *adapter) + struct e1000_adapter *adapter) { if(*value == OPTION_UNSET) { *value = opt->def; @@ -256,7 +256,7 @@ e1000_validate_option(int *value, struct e1000_option *opt, case range_option: if(*value >= opt->arg.r.min && *value <= opt->arg.r.max) { DPRINTK(PROBE, INFO, - "%s set to %i\n", opt->name, *value); + "%s set to %i\n", opt->name, *value); return 0; } break; @@ -449,8 +449,7 @@ e1000_check_options(struct e1000_adapter *adapter) DPRINTK(PROBE, INFO, "%s turned off\n", opt.name); break; case 1: - DPRINTK(PROBE, INFO, - "%s set to dynamic mode\n", opt.name); + DPRINTK(PROBE, INFO, "%s set to dynamic mode\n", opt.name); break; default: e1000_validate_option(&adapter->itr, &opt, adapter); @@ -493,8 +492,9 @@ e1000_check_fiber_options(struct e1000_adapter *adapter) "parameter ignored\n"); } if((AutoNeg[bd] != OPTION_UNSET) && (AutoNeg[bd] != 0x20)) { - DPRINTK(PROBE, INFO, "AutoNeg other than Full/1000 is " - "not valid for fiber adapters, parameter ignored\n"); + DPRINTK(PROBE, INFO, "AutoNeg other than 1000/Full is " + "not valid for fiber adapters, " + "parameter ignored\n"); } } @@ -611,24 +611,24 @@ e1000_check_copper_options(struct e1000_adapter *adapter) break; case HALF_DUPLEX: DPRINTK(PROBE, INFO, "Half Duplex specified without Speed\n"); - DPRINTK(PROBE, INFO, - "Using Autonegotiation at Half Duplex only\n"); + DPRINTK(PROBE, INFO, "Using Autonegotiation at " + "Half Duplex only\n"); adapter->hw.autoneg = adapter->fc_autoneg = 1; adapter->hw.autoneg_advertised = ADVERTISE_10_HALF | ADVERTISE_100_HALF; break; case FULL_DUPLEX: DPRINTK(PROBE, INFO, "Full Duplex specified without Speed\n"); - DPRINTK(PROBE, INFO, - "Using Autonegotiation at Full Duplex only\n"); + DPRINTK(PROBE, INFO, "Using Autonegotiation at " + "Full Duplex only\n"); adapter->hw.autoneg = adapter->fc_autoneg = 1; adapter->hw.autoneg_advertised = ADVERTISE_10_FULL | ADVERTISE_100_FULL | ADVERTISE_1000_FULL; break; case SPEED_10: - DPRINTK(PROBE, INFO, - "10 Mbps Speed specified without Duplex\n"); + DPRINTK(PROBE, INFO, "10 Mbps Speed specified " + "without Duplex\n"); DPRINTK(PROBE, INFO, "Using Autonegotiation at 10 Mbps only\n"); adapter->hw.autoneg = adapter->fc_autoneg = 1; adapter->hw.autoneg_advertised = ADVERTISE_10_HALF | @@ -647,10 +647,10 @@ e1000_check_copper_options(struct e1000_adapter *adapter) adapter->hw.autoneg_advertised = 0; break; case SPEED_100: - DPRINTK(PROBE, INFO, - "100 Mbps Speed specified without Duplex\n"); - DPRINTK(PROBE, INFO, - "Using Autonegotiation at 100 Mbps only\n"); + DPRINTK(PROBE, INFO, "100 Mbps Speed specified " + "without Duplex\n"); + DPRINTK(PROBE, INFO, "Using Autonegotiation at " + "100 Mbps only\n"); adapter->hw.autoneg = adapter->fc_autoneg = 1; adapter->hw.autoneg_advertised = ADVERTISE_100_HALF | ADVERTISE_100_FULL; @@ -668,10 +668,11 @@ e1000_check_copper_options(struct e1000_adapter *adapter) adapter->hw.autoneg_advertised = 0; break; case SPEED_1000: + DPRINTK(PROBE, INFO, "1000 Mbps Speed specified without " + "Duplex\n"); DPRINTK(PROBE, INFO, - "1000 Mbps Speed specified without Duplex\n"); - DPRINTK(PROBE, INFO, - "Using Autonegotiation at 1000 Mbps Full Duplex only\n"); + "Using Autonegotiation at 1000 Mbps " + "Full Duplex only\n"); adapter->hw.autoneg = adapter->fc_autoneg = 1; adapter->hw.autoneg_advertised = ADVERTISE_1000_FULL; break; @@ -679,7 +680,8 @@ e1000_check_copper_options(struct e1000_adapter *adapter) DPRINTK(PROBE, INFO, "Half Duplex is not supported at 1000 Mbps\n"); DPRINTK(PROBE, INFO, - "Using Autonegotiation at 1000 Mbps Full Duplex only\n"); + "Using Autonegotiation at 1000 Mbps " + "Full Duplex only\n"); adapter->hw.autoneg = adapter->fc_autoneg = 1; adapter->hw.autoneg_advertised = ADVERTISE_1000_FULL; break; @@ -696,8 +698,8 @@ e1000_check_copper_options(struct e1000_adapter *adapter) /* Speed, AutoNeg and MDI/MDI-X must all play nice */ if (e1000_validate_mdi_setting(&(adapter->hw)) < 0) { DPRINTK(PROBE, INFO, - "Speed, AutoNeg and MDI-X specifications are " - "incompatible. Setting MDI-X to a compatible value.\n"); + "Speed, AutoNeg and MDI-X specifications are " + "incompatible. Setting MDI-X to a compatible value.\n"); } } diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index 36b5508f4..1132101ec 100644 --- a/drivers/net/eepro100.c +++ b/drivers/net/eepro100.c @@ -88,7 +88,6 @@ static int options[] = {-1, -1, -1, -1, -1, -1, -1, -1}; #define PKT_BUF_SZ 1536 #include -#include #include #include @@ -2447,22 +2446,6 @@ static struct pci_driver eepro100_driver = { #endif /* CONFIG_PM */ }; -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,48) -static int pci_module_init(struct pci_driver *pdev) -{ - int rc; - - rc = pci_register_driver(pdev); - if (rc <= 0) { - printk(KERN_INFO "%s: No cards found, driver not installed.\n", - pdev->name); - pci_unregister_driver(pdev); - return -ENODEV; - } - return 0; -} -#endif - static int __init eepro100_init_module(void) { #ifdef MODULE diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c index 771bfc672..ec327ad3a 100644 --- a/drivers/net/epic100.c +++ b/drivers/net/epic100.c @@ -80,8 +80,6 @@ These may be modified when a driver module is loaded.*/ static int debug = 1; /* 1 normal messages, 0 quiet .. 7 verbose. */ -/* Maximum events (Rx packets, etc.) to handle at each interrupt. */ -static int max_interrupt_work = 32; /* Used to pass the full-duplex flag, etc. */ #define MAX_UNITS 8 /* More are supported, limit only on options */ @@ -99,9 +97,9 @@ static int rx_copybreak; Making the Tx ring too large decreases the effectiveness of channel bonding and packet priority. There are no ill effects from too-large receive rings. */ -#define TX_RING_SIZE 16 -#define TX_QUEUE_LEN 10 /* Limit ring entries actually used. */ -#define RX_RING_SIZE 32 +#define TX_RING_SIZE 256 +#define TX_QUEUE_LEN 240 /* Limit ring entries actually used. */ +#define RX_RING_SIZE 256 #define TX_TOTAL_SIZE TX_RING_SIZE*sizeof(struct epic_tx_desc) #define RX_TOTAL_SIZE RX_RING_SIZE*sizeof(struct epic_rx_desc) @@ -152,12 +150,10 @@ MODULE_DESCRIPTION("SMC 83c170 EPIC series Ethernet driver"); MODULE_LICENSE("GPL"); MODULE_PARM(debug, "i"); -MODULE_PARM(max_interrupt_work, "i"); MODULE_PARM(rx_copybreak, "i"); MODULE_PARM(options, "1-" __MODULE_STRING(MAX_UNITS) "i"); MODULE_PARM(full_duplex, "1-" __MODULE_STRING(MAX_UNITS) "i"); MODULE_PARM_DESC(debug, "EPIC/100 debug level (0-5)"); -MODULE_PARM_DESC(max_interrupt_work, "EPIC/100 maximum events handled per interrupt"); MODULE_PARM_DESC(options, "EPIC/100: Bits 0-3: media type, bit 4: full duplex"); MODULE_PARM_DESC(rx_copybreak, "EPIC/100 copy breakpoint for copy-only-tiny-frames"); MODULE_PARM_DESC(full_duplex, "EPIC/100 full duplex setting(s) (1)"); @@ -289,6 +285,12 @@ enum CommandBits { StopTxDMA=0x20, StopRxDMA=0x40, RestartTx=0x80, }; +#define EpicRemoved 0xffffffff /* Chip failed or removed (CardBus) */ + +#define EpicNapiEvent (TxEmpty | TxDone | \ + RxDone | RxStarted | RxEarlyWarn | RxOverflow | RxFull) +#define EpicNormalEvent (0x0000ffff & ~EpicNapiEvent) + static u16 media2miictl[16] = { 0, 0x0C00, 0x0C00, 0x2000, 0x0100, 0x2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; @@ -327,9 +329,12 @@ struct epic_private { /* Ring pointers. */ spinlock_t lock; /* Group with Tx control cache line. */ + spinlock_t napi_lock; + unsigned int reschedule_in_poll; unsigned int cur_tx, dirty_tx; unsigned int cur_rx, dirty_rx; + u32 irq_mask; unsigned int rx_buf_sz; /* Based on MTU+slack. */ struct pci_dev *pci_dev; /* PCI bus location. */ @@ -356,7 +361,8 @@ static void epic_timer(unsigned long data); static void epic_tx_timeout(struct net_device *dev); static void epic_init_ring(struct net_device *dev); static int epic_start_xmit(struct sk_buff *skb, struct net_device *dev); -static int epic_rx(struct net_device *dev); +static int epic_rx(struct net_device *dev, int budget); +static int epic_poll(struct net_device *dev, int *budget); static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs); static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); static struct ethtool_ops netdev_ethtool_ops; @@ -375,7 +381,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev, int irq; struct net_device *dev; struct epic_private *ep; - int i, option = 0, duplex = 0; + int i, ret, option = 0, duplex = 0; void *ring_space; dma_addr_t ring_dma; @@ -389,29 +395,33 @@ static int __devinit epic_init_one (struct pci_dev *pdev, card_idx++; - i = pci_enable_device(pdev); - if (i) - return i; + ret = pci_enable_device(pdev); + if (ret) + goto out; irq = pdev->irq; if (pci_resource_len(pdev, 0) < pci_id_tbl[chip_idx].io_size) { printk (KERN_ERR "card %d: no PCI region space\n", card_idx); - return -ENODEV; + ret = -ENODEV; + goto err_out_disable; } pci_set_master(pdev); + ret = pci_request_regions(pdev, DRV_NAME); + if (ret < 0) + goto err_out_disable; + + ret = -ENOMEM; + dev = alloc_etherdev(sizeof (*ep)); if (!dev) { printk (KERN_ERR "card %d: no memory for eth device\n", card_idx); - return -ENOMEM; + goto err_out_free_res; } SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); - if (pci_request_regions(pdev, DRV_NAME)) - goto err_out_free_netdev; - #ifdef USE_IO_OPS ioaddr = pci_resource_start (pdev, 0); #else @@ -419,7 +429,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev, ioaddr = (long) ioremap (ioaddr, pci_resource_len (pdev, 1)); if (!ioaddr) { printk (KERN_ERR DRV_NAME " %d: ioremap failed\n", card_idx); - goto err_out_free_res; + goto err_out_free_netdev; } #endif @@ -456,7 +466,9 @@ static int __devinit epic_init_one (struct pci_dev *pdev, dev->base_addr = ioaddr; dev->irq = irq; - spin_lock_init (&ep->lock); + spin_lock_init(&ep->lock); + spin_lock_init(&ep->napi_lock); + ep->reschedule_in_poll = 0; /* Bring the chip out of low-power mode. */ outl(0x4200, ioaddr + GENCTL); @@ -486,6 +498,9 @@ static int __devinit epic_init_one (struct pci_dev *pdev, ep->pci_dev = pdev; ep->chip_id = chip_idx; ep->chip_flags = pci_id_tbl[chip_idx].drv_flags; + ep->irq_mask = + (ep->chip_flags & TYPE2_INTR ? PCIBusErr175 : PCIBusErr170) + | CntFull | TxUnderrun | EpicNapiEvent; /* Find the connected MII xcvrs. Doing this in open() would allow detecting external xcvrs later, but @@ -540,10 +555,12 @@ static int __devinit epic_init_one (struct pci_dev *pdev, dev->ethtool_ops = &netdev_ethtool_ops; dev->watchdog_timeo = TX_TIMEOUT; dev->tx_timeout = &epic_tx_timeout; + dev->poll = epic_poll; + dev->weight = 64; - i = register_netdev(dev); - if (i) - goto err_out_unmap_tx; + ret = register_netdev(dev); + if (ret < 0) + goto err_out_unmap_rx; printk(KERN_INFO "%s: %s at %#lx, IRQ %d, ", dev->name, pci_id_tbl[chip_idx].name, ioaddr, dev->irq); @@ -551,19 +568,24 @@ static int __devinit epic_init_one (struct pci_dev *pdev, printk("%2.2x:", dev->dev_addr[i]); printk("%2.2x.\n", dev->dev_addr[i]); - return 0; +out: + return ret; +err_out_unmap_rx: + pci_free_consistent(pdev, RX_TOTAL_SIZE, ep->rx_ring, ep->rx_ring_dma); err_out_unmap_tx: pci_free_consistent(pdev, TX_TOTAL_SIZE, ep->tx_ring, ep->tx_ring_dma); err_out_iounmap: #ifndef USE_IO_OPS iounmap(ioaddr); -err_out_free_res: -#endif - pci_release_regions(pdev); err_out_free_netdev: +#endif free_netdev(dev); - return -ENODEV; +err_out_free_res: + pci_release_regions(pdev); +err_out_disable: + pci_disable_device(pdev); + goto out; } /* Serial EEPROM section. */ @@ -589,6 +611,38 @@ err_out_free_netdev: #define EE_READ256_CMD (6 << 8) #define EE_ERASE_CMD (7 << 6) +static void epic_disable_int(struct net_device *dev, struct epic_private *ep) +{ + long ioaddr = dev->base_addr; + + outl(0x00000000, ioaddr + INTMASK); +} + +static inline void __epic_pci_commit(long ioaddr) +{ +#ifndef USE_IO_OPS + inl(ioaddr + INTMASK); +#endif +} + +static inline void epic_napi_irq_off(struct net_device *dev, + struct epic_private *ep) +{ + long ioaddr = dev->base_addr; + + outl(ep->irq_mask & ~EpicNapiEvent, ioaddr + INTMASK); + __epic_pci_commit(ioaddr); +} + +static inline void epic_napi_irq_on(struct net_device *dev, + struct epic_private *ep) +{ + long ioaddr = dev->base_addr; + + /* No need to commit possible posted write */ + outl(ep->irq_mask | EpicNapiEvent, ioaddr + INTMASK); +} + static int __devinit read_eeprom(long ioaddr, int location) { int i; @@ -749,9 +803,8 @@ static int epic_open(struct net_device *dev) /* Enable interrupts by setting the interrupt mask. */ outl((ep->chip_flags & TYPE2_INTR ? PCIBusErr175 : PCIBusErr170) - | CntFull | TxUnderrun | TxDone | TxEmpty - | RxError | RxOverflow | RxFull | RxHeader | RxDone, - ioaddr + INTMASK); + | CntFull | TxUnderrun + | RxError | RxHeader | EpicNapiEvent, ioaddr + INTMASK); if (debug > 1) printk(KERN_DEBUG "%s: epic_open() ioaddr %lx IRQ %d status %4.4x " @@ -792,7 +845,7 @@ static void epic_pause(struct net_device *dev) } /* Remove the packets on the Rx queue. */ - epic_rx(dev); + epic_rx(dev, RX_RING_SIZE); } static void epic_restart(struct net_device *dev) @@ -838,9 +891,9 @@ static void epic_restart(struct net_device *dev) /* Enable interrupts by setting the interrupt mask. */ outl((ep->chip_flags & TYPE2_INTR ? PCIBusErr175 : PCIBusErr170) - | CntFull | TxUnderrun | TxDone | TxEmpty - | RxError | RxOverflow | RxFull | RxHeader | RxDone, - ioaddr + INTMASK); + | CntFull | TxUnderrun + | RxError | RxHeader | EpicNapiEvent, ioaddr + INTMASK); + printk(KERN_DEBUG "%s: epic_restart() done, cmd status %4.4x, ctl %4.4x" " interrupt %4.4x.\n", dev->name, (int)inl(ioaddr + COMMAND), (int)inl(ioaddr + GENCTL), @@ -926,7 +979,6 @@ static void epic_init_ring(struct net_device *dev) int i; ep->tx_full = 0; - ep->lock = (spinlock_t) SPIN_LOCK_UNLOCKED; ep->dirty_tx = ep->cur_tx = 0; ep->cur_rx = ep->dirty_rx = 0; ep->rx_buf_sz = (dev->mtu <= 1500 ? PKT_BUF_SZ : dev->mtu + 32); @@ -1026,6 +1078,76 @@ static int epic_start_xmit(struct sk_buff *skb, struct net_device *dev) return 0; } +static void epic_tx_error(struct net_device *dev, struct epic_private *ep, + int status) +{ + struct net_device_stats *stats = &ep->stats; + +#ifndef final_version + /* There was an major error, log it. */ + if (debug > 1) + printk(KERN_DEBUG "%s: Transmit error, Tx status %8.8x.\n", + dev->name, status); +#endif + stats->tx_errors++; + if (status & 0x1050) + stats->tx_aborted_errors++; + if (status & 0x0008) + stats->tx_carrier_errors++; + if (status & 0x0040) + stats->tx_window_errors++; + if (status & 0x0010) + stats->tx_fifo_errors++; +} + +static void epic_tx(struct net_device *dev, struct epic_private *ep) +{ + unsigned int dirty_tx, cur_tx; + + /* + * Note: if this lock becomes a problem we can narrow the locked + * region at the cost of occasionally grabbing the lock more times. + */ + cur_tx = ep->cur_tx; + for (dirty_tx = ep->dirty_tx; cur_tx - dirty_tx > 0; dirty_tx++) { + struct sk_buff *skb; + int entry = dirty_tx % TX_RING_SIZE; + int txstatus = le32_to_cpu(ep->tx_ring[entry].txstatus); + + if (txstatus & DescOwn) + break; /* It still hasn't been Txed */ + + if (likely(txstatus & 0x0001)) { + ep->stats.collisions += (txstatus >> 8) & 15; + ep->stats.tx_packets++; + ep->stats.tx_bytes += ep->tx_skbuff[entry]->len; + } else + epic_tx_error(dev, ep, txstatus); + + /* Free the original skb. */ + skb = ep->tx_skbuff[entry]; + pci_unmap_single(ep->pci_dev, ep->tx_ring[entry].bufaddr, + skb->len, PCI_DMA_TODEVICE); + dev_kfree_skb_irq(skb); + ep->tx_skbuff[entry] = NULL; + } + +#ifndef final_version + if (cur_tx - dirty_tx > TX_RING_SIZE) { + printk(KERN_WARNING + "%s: Out-of-sync dirty pointer, %d vs. %d, full=%d.\n", + dev->name, dirty_tx, cur_tx, ep->tx_full); + dirty_tx += TX_RING_SIZE; + } +#endif + ep->dirty_tx = dirty_tx; + if (ep->tx_full && cur_tx - dirty_tx < TX_QUEUE_LEN - 4) { + /* The ring is no longer full, allow new TX entries. */ + ep->tx_full = 0; + netif_wake_queue(dev); + } +} + /* The interrupt handler does all of the Rx thread work and cleans up after the Tx thread. */ static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs) @@ -1033,135 +1155,71 @@ static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *r struct net_device *dev = dev_instance; struct epic_private *ep = dev->priv; long ioaddr = dev->base_addr; - int status, boguscnt = max_interrupt_work; unsigned int handled = 0; + int status; - do { - status = inl(ioaddr + INTSTAT); - /* Acknowledge all of the current interrupt sources ASAP. */ - outl(status & 0x00007fff, ioaddr + INTSTAT); + status = inl(ioaddr + INTSTAT); + /* Acknowledge all of the current interrupt sources ASAP. */ + outl(status & EpicNormalEvent, ioaddr + INTSTAT); - if (debug > 4) - printk(KERN_DEBUG "%s: Interrupt, status=%#8.8x new " - "intstat=%#8.8x.\n", - dev->name, status, (int)inl(ioaddr + INTSTAT)); + if (debug > 4) { + printk(KERN_DEBUG "%s: Interrupt, status=%#8.8x new " + "intstat=%#8.8x.\n", dev->name, status, + (int)inl(ioaddr + INTSTAT)); + } - if ((status & IntrSummary) == 0) - break; - handled = 1; - - if (status & (RxDone | RxStarted | RxEarlyWarn | RxOverflow)) - epic_rx(dev); - - if (status & (TxEmpty | TxDone)) { - unsigned int dirty_tx, cur_tx; - - /* Note: if this lock becomes a problem we can narrow the locked - region at the cost of occasionally grabbing the lock more - times. */ - spin_lock(&ep->lock); - cur_tx = ep->cur_tx; - dirty_tx = ep->dirty_tx; - for (; cur_tx - dirty_tx > 0; dirty_tx++) { - struct sk_buff *skb; - int entry = dirty_tx % TX_RING_SIZE; - int txstatus = le32_to_cpu(ep->tx_ring[entry].txstatus); - - if (txstatus & DescOwn) - break; /* It still hasn't been Txed */ - - if ( ! (txstatus & 0x0001)) { - /* There was an major error, log it. */ -#ifndef final_version - if (debug > 1) - printk(KERN_DEBUG "%s: Transmit error, Tx status %8.8x.\n", - dev->name, txstatus); -#endif - ep->stats.tx_errors++; - if (txstatus & 0x1050) ep->stats.tx_aborted_errors++; - if (txstatus & 0x0008) ep->stats.tx_carrier_errors++; - if (txstatus & 0x0040) ep->stats.tx_window_errors++; - if (txstatus & 0x0010) ep->stats.tx_fifo_errors++; - } else { - ep->stats.collisions += (txstatus >> 8) & 15; - ep->stats.tx_packets++; - ep->stats.tx_bytes += ep->tx_skbuff[entry]->len; - } - - /* Free the original skb. */ - skb = ep->tx_skbuff[entry]; - pci_unmap_single(ep->pci_dev, ep->tx_ring[entry].bufaddr, - skb->len, PCI_DMA_TODEVICE); - dev_kfree_skb_irq(skb); - ep->tx_skbuff[entry] = NULL; - } + if ((status & IntrSummary) == 0) + goto out; -#ifndef final_version - if (cur_tx - dirty_tx > TX_RING_SIZE) { - printk(KERN_WARNING "%s: Out-of-sync dirty pointer, %d vs. %d, full=%d.\n", - dev->name, dirty_tx, cur_tx, ep->tx_full); - dirty_tx += TX_RING_SIZE; - } -#endif - ep->dirty_tx = dirty_tx; - if (ep->tx_full - && cur_tx - dirty_tx < TX_QUEUE_LEN - 4) { - /* The ring is no longer full, allow new TX entries. */ - ep->tx_full = 0; - spin_unlock(&ep->lock); - netif_wake_queue(dev); - } else - spin_unlock(&ep->lock); - } + handled = 1; - /* Check uncommon events all at once. */ - if (status & (CntFull | TxUnderrun | RxOverflow | RxFull | - PCIBusErr170 | PCIBusErr175)) { - if (status == 0xffffffff) /* Chip failed or removed (CardBus). */ - break; - /* Always update the error counts to avoid overhead later. */ - ep->stats.rx_missed_errors += inb(ioaddr + MPCNT); - ep->stats.rx_frame_errors += inb(ioaddr + ALICNT); - ep->stats.rx_crc_errors += inb(ioaddr + CRCCNT); - - if (status & TxUnderrun) { /* Tx FIFO underflow. */ - ep->stats.tx_fifo_errors++; - outl(ep->tx_threshold += 128, ioaddr + TxThresh); - /* Restart the transmit process. */ - outl(RestartTx, ioaddr + COMMAND); - } - if (status & RxOverflow) { /* Missed a Rx frame. */ - ep->stats.rx_errors++; - } - if (status & (RxOverflow | RxFull)) - outw(RxQueued, ioaddr + COMMAND); - if (status & PCIBusErr170) { - printk(KERN_ERR "%s: PCI Bus Error! EPIC status %4.4x.\n", - dev->name, status); - epic_pause(dev); - epic_restart(dev); - } - /* Clear all error sources. */ - outl(status & 0x7f18, ioaddr + INTSTAT); + if ((status & EpicNapiEvent) && !ep->reschedule_in_poll) { + spin_lock(&ep->napi_lock); + if (netif_rx_schedule_prep(dev)) { + epic_napi_irq_off(dev, ep); + __netif_rx_schedule(dev); + } else + ep->reschedule_in_poll++; + spin_unlock(&ep->napi_lock); + } + status &= ~EpicNapiEvent; + + /* Check uncommon events all at once. */ + if (status & (CntFull | TxUnderrun | PCIBusErr170 | PCIBusErr175)) { + if (status == EpicRemoved) + goto out; + + /* Always update the error counts to avoid overhead later. */ + ep->stats.rx_missed_errors += inb(ioaddr + MPCNT); + ep->stats.rx_frame_errors += inb(ioaddr + ALICNT); + ep->stats.rx_crc_errors += inb(ioaddr + CRCCNT); + + if (status & TxUnderrun) { /* Tx FIFO underflow. */ + ep->stats.tx_fifo_errors++; + outl(ep->tx_threshold += 128, ioaddr + TxThresh); + /* Restart the transmit process. */ + outl(RestartTx, ioaddr + COMMAND); } - if (--boguscnt < 0) { - printk(KERN_ERR "%s: Too much work at interrupt, " - "IntrStatus=0x%8.8x.\n", - dev->name, status); - /* Clear all interrupt sources. */ - outl(0x0001ffff, ioaddr + INTSTAT); - break; + if (status & PCIBusErr170) { + printk(KERN_ERR "%s: PCI Bus Error! status %4.4x.\n", + dev->name, status); + epic_pause(dev); + epic_restart(dev); } - } while (1); + /* Clear all error sources. */ + outl(status & 0x7f18, ioaddr + INTSTAT); + } - if (debug > 3) - printk(KERN_DEBUG "%s: exiting interrupt, intr_status=%#4.4x.\n", - dev->name, status); +out: + if (debug > 3) { + printk(KERN_DEBUG "%s: exit interrupt, intr_status=%#4.4x.\n", + dev->name, status); + } return IRQ_RETVAL(handled); } -static int epic_rx(struct net_device *dev) +static int epic_rx(struct net_device *dev, int budget) { struct epic_private *ep = dev->priv; int entry = ep->cur_rx % RX_RING_SIZE; @@ -1171,6 +1229,10 @@ static int epic_rx(struct net_device *dev) if (debug > 4) printk(KERN_DEBUG " In epic_rx(), entry %d %8.8x.\n", entry, ep->rx_ring[entry].rxstatus); + + if (rx_work_limit > budget) + rx_work_limit = budget; + /* If we own the next entry, it's a new packet. Send it up. */ while ((ep->rx_ring[entry].rxstatus & cpu_to_le32(DescOwn)) == 0) { int status = le32_to_cpu(ep->rx_ring[entry].rxstatus); @@ -1226,7 +1288,7 @@ static int epic_rx(struct net_device *dev) ep->rx_skbuff[entry] = NULL; } skb->protocol = eth_type_trans(skb, dev); - netif_rx(skb); + netif_receive_skb(skb); dev->last_rx = jiffies; ep->stats.rx_packets++; ep->stats.rx_bytes += pkt_len; @@ -1254,6 +1316,65 @@ static int epic_rx(struct net_device *dev) return work_done; } +static void epic_rx_err(struct net_device *dev, struct epic_private *ep) +{ + long ioaddr = dev->base_addr; + int status; + + status = inl(ioaddr + INTSTAT); + + if (status == EpicRemoved) + return; + if (status & RxOverflow) /* Missed a Rx frame. */ + ep->stats.rx_errors++; + if (status & (RxOverflow | RxFull)) + outw(RxQueued, ioaddr + COMMAND); +} + +static int epic_poll(struct net_device *dev, int *budget) +{ + struct epic_private *ep = dev->priv; + int work_done, orig_budget; + long ioaddr = dev->base_addr; + + orig_budget = (*budget > dev->quota) ? dev->quota : *budget; + +rx_action: + + epic_tx(dev, ep); + + work_done = epic_rx(dev, *budget); + + epic_rx_err(dev, ep); + + *budget -= work_done; + dev->quota -= work_done; + + if (netif_running(dev) && (work_done < orig_budget)) { + unsigned long flags; + int more; + + /* A bit baroque but it avoids a (space hungry) spin_unlock */ + + spin_lock_irqsave(&ep->napi_lock, flags); + + more = ep->reschedule_in_poll; + if (!more) { + __netif_rx_complete(dev); + outl(EpicNapiEvent, ioaddr + INTSTAT); + epic_napi_irq_on(dev, ep); + } else + ep->reschedule_in_poll--; + + spin_unlock_irqrestore(&ep->napi_lock, flags); + + if (more) + goto rx_action; + } + + return (work_done >= orig_budget); +} + static int epic_close(struct net_device *dev) { long ioaddr = dev->base_addr; @@ -1268,9 +1389,13 @@ static int epic_close(struct net_device *dev) dev->name, (int)inl(ioaddr + INTSTAT)); del_timer_sync(&ep->timer); - epic_pause(dev); + + epic_disable_int(dev, ep); + free_irq(dev->irq, dev); + epic_pause(dev); + /* Free all the skbuffs in the Rx queue. */ for (i = 0; i < RX_RING_SIZE; i++) { skb = ep->rx_skbuff[i]; @@ -1491,6 +1616,7 @@ static void __devexit epic_remove_one (struct pci_dev *pdev) #endif pci_release_regions(pdev); free_netdev(dev); + pci_disable_device(pdev); pci_set_drvdata(pdev, NULL); /* pci_power_off(pdev, -1); */ } diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 0ead66f20..7b4d184b9 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c @@ -75,6 +75,10 @@ * added CK804/MCP04 device IDs, code fixes * for registers, link status and other minor fixes. * 0.28: 21 Jun 2004: Big cleanup, making driver mostly endian safe + * 0.29: 31 Aug 2004: Add backup timer for link change notification. + * 0.30: 25 Sep 2004: rx checksum support for nf 250 Gb. Add rx reset + * into nv_close, otherwise reenabling for wol can + * cause DMA to kfree'd memory. * * Known bugs: * We suspect that on some hardware no TX done interrupts are generated. @@ -86,7 +90,7 @@ * DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few * superfluous timer interrupts from the nic. */ -#define FORCEDETH_VERSION "0.28" +#define FORCEDETH_VERSION "0.30" #define DRV_NAME "forcedeth" #include @@ -120,10 +124,11 @@ * Hardware access: */ -#define DEV_NEED_LASTPACKET1 0x0001 -#define DEV_IRQMASK_1 0x0002 -#define DEV_IRQMASK_2 0x0004 -#define DEV_NEED_TIMERIRQ 0x0008 +#define DEV_NEED_LASTPACKET1 0x0001 /* set LASTPACKET1 in tx flags */ +#define DEV_IRQMASK_1 0x0002 /* use NVREG_IRQMASK_WANTED_1 for irq mask */ +#define DEV_IRQMASK_2 0x0004 /* use NVREG_IRQMASK_WANTED_2 for irq mask */ +#define DEV_NEED_TIMERIRQ 0x0008 /* set the timer irq flag in the irq mask */ +#define DEV_NEED_LINKTIMER 0x0010 /* poll link settings. Relies on the timer irq */ enum { NvRegIrqStatus = 0x000, @@ -215,6 +220,7 @@ enum { #define NVREG_TXRXCTL_BIT2 0x0004 #define NVREG_TXRXCTL_IDLE 0x0008 #define NVREG_TXRXCTL_RESET 0x0010 +#define NVREG_TXRXCTL_RXCHECK 0x0400 NvRegMIIStatus = 0x180, #define NVREG_MIISTAT_ERROR 0x0001 #define NVREG_MIISTAT_LINKCHANGE 0x0008 @@ -311,6 +317,10 @@ struct ring_desc { #define NV_RX_ERROR (1<<30) #define NV_RX_AVAIL (1<<31) +#define NV_RX2_CHECKSUMMASK (0x1C000000) +#define NV_RX2_CHECKSUMOK1 (0x10000000) +#define NV_RX2_CHECKSUMOK2 (0x14000000) +#define NV_RX2_CHECKSUMOK3 (0x18000000) #define NV_RX2_DESCRIPTORVALID (1<<29) #define NV_RX2_SUBSTRACT1 (1<<25) #define NV_RX2_ERROR1 (1<<18) @@ -367,9 +377,17 @@ struct ring_desc { #define OOM_REFILL (1+HZ/20) #define POLL_WAIT (1+HZ/100) +#define LINK_TIMEOUT (3*HZ) +/* + * desc_ver values: + * This field has two purposes: + * - Newer nics uses a different ring layout. The layout is selected by + * comparing np->desc_ver with DESC_VER_xy. + * - It contains bits that are forced on when writing to NvRegTxRxControl. + */ #define DESC_VER_1 0x0 -#define DESC_VER_2 0x02100 +#define DESC_VER_2 (0x02100|NVREG_TXRXCTL_RXCHECK) /* PHY defines */ #define PHY_OUI_MARVELL 0x5043 @@ -446,6 +464,11 @@ struct fe_priv { struct timer_list oom_kick; struct timer_list nic_poll; + /* media detection workaround. + * Locking: Within irq hander or disable_irq+spin_lock(&np->lock); + */ + int need_linktimer; + unsigned long link_timeout; /* * tx specific fields. */ @@ -1173,6 +1196,15 @@ static void nv_rx_process(struct net_device *dev) goto next_pkt; } } + Flags &= NV_RX2_CHECKSUMMASK; + if (Flags == NV_RX2_CHECKSUMOK1 || + Flags == NV_RX2_CHECKSUMOK2 || + Flags == NV_RX2_CHECKSUMOK3) { + dprintk(KERN_DEBUG "%s: hw checksum hit!.\n", dev->name); + np->rx_skbuff[i]->ip_summed = CHECKSUM_UNNECESSARY; + } else { + dprintk(KERN_DEBUG "%s: hwchecksum miss!.\n", dev->name); + } } /* got a valid packet - forward it to the network core */ skb = np->rx_skbuff[i]; @@ -1384,6 +1416,25 @@ set_speed: return retval; } +static void nv_linkchange(struct net_device *dev) +{ + if (nv_update_linkspeed(dev)) { + if (netif_carrier_ok(dev)) { + nv_stop_rx(dev); + } else { + netif_carrier_on(dev); + printk(KERN_INFO "%s: link up.\n", dev->name); + } + nv_start_rx(dev); + } else { + if (netif_carrier_ok(dev)) { + netif_carrier_off(dev); + printk(KERN_INFO "%s: link down.\n", dev->name); + nv_stop_rx(dev); + } + } +} + static void nv_link_irq(struct net_device *dev) { u8 *base = get_hwbase(dev); @@ -1391,25 +1442,10 @@ static void nv_link_irq(struct net_device *dev) miistat = readl(base + NvRegMIIStatus); writel(NVREG_MIISTAT_MASK, base + NvRegMIIStatus); - dprintk(KERN_DEBUG "%s: link change notification, status 0x%x.\n", dev->name, miistat); + dprintk(KERN_INFO "%s: link change irq, status 0x%x.\n", dev->name, miistat); - if (miistat & (NVREG_MIISTAT_LINKCHANGE)) { - if (nv_update_linkspeed(dev)) { - if (netif_carrier_ok(dev)) { - nv_stop_rx(dev); - } else { - netif_carrier_on(dev); - printk(KERN_INFO "%s: link up.\n", dev->name); - } - nv_start_rx(dev); - } else { - if (netif_carrier_ok(dev)) { - netif_carrier_off(dev); - printk(KERN_INFO "%s: link down.\n", dev->name); - nv_stop_rx(dev); - } - } - } + if (miistat & (NVREG_MIISTAT_LINKCHANGE)) + nv_linkchange(dev); dprintk(KERN_DEBUG "%s: link change notification done.\n", dev->name); } @@ -1452,6 +1488,12 @@ static irqreturn_t nv_nic_irq(int foo, void *data, struct pt_regs *regs) nv_link_irq(dev); spin_unlock(&np->lock); } + if (np->need_linktimer && time_after(jiffies, np->link_timeout)) { + spin_lock(&np->lock); + nv_linkchange(dev); + spin_unlock(&np->lock); + np->link_timeout = jiffies + LINK_TIMEOUT; + } if (events & (NVREG_IRQ_TX_ERR)) { dprintk(KERN_DEBUG "%s: received irq with events 0x%x. Probably TX fail.\n", dev->name, events); @@ -1655,9 +1697,10 @@ static int nv_close(struct net_device *dev) spin_lock_irq(&np->lock); nv_stop_tx(dev); nv_stop_rx(dev); - base = get_hwbase(dev); + nv_txrx_reset(dev); /* disable interrupts on the nic or we will lock up */ + base = get_hwbase(dev); writel(0, base + NvRegIrqMask); pci_push(base); dprintk(KERN_INFO "%s: Irqmask is zero again\n", dev->name); @@ -1816,6 +1859,14 @@ static int __devinit nv_probe(struct pci_dev *pci_dev, const struct pci_device_i np->irqmask = NVREG_IRQMASK_WANTED_2; if (id->driver_data & DEV_NEED_TIMERIRQ) np->irqmask |= NVREG_IRQ_TIMER; + if (id->driver_data & DEV_NEED_LINKTIMER) { + dprintk(KERN_INFO "%s: link timer on.\n", pci_name(pci_dev)); + np->need_linktimer = 1; + np->link_timeout = jiffies + LINK_TIMEOUT; + } else { + dprintk(KERN_INFO "%s: link timer off.\n", pci_name(pci_dev)); + np->need_linktimer = 0; + } /* find a suitable phy */ for (i = 1; i < 32; i++) { @@ -1909,21 +1960,21 @@ static struct pci_device_id pci_tbl[] = { .device = PCI_DEVICE_ID_NVIDIA_NVENET_1, .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, - .driver_data = DEV_IRQMASK_1|DEV_NEED_TIMERIRQ, + .driver_data = DEV_IRQMASK_1|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, }, { /* nForce2 Ethernet Controller */ .vendor = PCI_VENDOR_ID_NVIDIA, .device = PCI_DEVICE_ID_NVIDIA_NVENET_2, .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, - .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, + .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, }, { /* nForce3 Ethernet Controller */ .vendor = PCI_VENDOR_ID_NVIDIA, .device = PCI_DEVICE_ID_NVIDIA_NVENET_3, .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, - .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ, + .driver_data = DEV_NEED_LASTPACKET1|DEV_IRQMASK_2|DEV_NEED_TIMERIRQ|DEV_NEED_LINKTIMER, }, { /* nForce3 Ethernet Controller */ .vendor = PCI_VENDOR_ID_NVIDIA, diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c new file mode 100644 index 000000000..a8ceee273 --- /dev/null +++ b/drivers/net/gianfar.c @@ -0,0 +1,1864 @@ +/* + * drivers/net/gianfar.c + * + * Gianfar Ethernet Driver + * Driver for FEC on MPC8540 and TSEC on MPC8540/MPC8560 + * Based on 8260_io/fcc_enet.c + * + * Author: Andy Fleming + * Maintainer: Kumar Gala (kumar.gala@freescale.com) + * + * Copyright (c) 2002-2004 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * Gianfar: AKA Lambda Draconis, "Dragon" + * RA 11 31 24.2 + * Dec +69 19 52 + * V 3.84 + * B-V +1.62 + * + * Theory of operation + * This driver is designed for the Triple-speed Ethernet + * controllers on the Freescale 8540/8560 integrated processors, + * as well as the Fast Ethernet Controller on the 8540. + * + * The driver is initialized through OCP. Structures which + * define the configuration needed by the board are defined in a + * board structure in arch/ppc/platforms (though I do not + * discount the possibility that other architectures could one + * day be supported. One assumption the driver currently makes + * is that the PHY is configured in such a way to advertise all + * capabilities. This is a sensible default, and on certain + * PHYs, changing this default encounters substantial errata + * issues. Future versions may remove this requirement, but for + * now, it is best for the firmware to ensure this is the case. + * + * The Gianfar Ethernet Controller uses a ring of buffer + * descriptors. The beginning is indicated by a register + * pointing to the physical address of the start of the ring. + * The end is determined by a "wrap" bit being set in the + * last descriptor of the ring. + * + * When a packet is received, the RXF bit in the + * IEVENT register is set, triggering an interrupt when the + * corresponding bit in the IMASK register is also set (if + * interrupt coalescing is active, then the interrupt may not + * happen immediately, but will wait until either a set number + * of frames or amount of time have passed.). In NAPI, the + * interrupt handler will signal there is work to be done, and + * exit. Without NAPI, the packet(s) will be handled + * immediately. Both methods will start at the last known empty + * descriptor, and process every subsequent descriptor until there + * are none left with data (NAPI will stop after a set number of + * packets to give time to other tasks, but will eventually + * process all the packets). The data arrives inside a + * pre-allocated skb, and so after the skb is passed up to the + * stack, a new skb must be allocated, and the address field in + * the buffer descriptor must be updated to indicate this new + * skb. + * + * When the kernel requests that a packet be transmitted, the + * driver starts where it left off last time, and points the + * descriptor at the buffer which was passed in. The driver + * then informs the DMA engine that there are packets ready to + * be transmitted. Once the controller is finished transmitting + * the packet, an interrupt may be triggered (under the same + * conditions as for reception, but depending on the TXF bit). + * The driver then cleans up the buffer. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "gianfar.h" +#include "gianfar_phy.h" + +#define TX_TIMEOUT (1*HZ) +#define SKB_ALLOC_TIMEOUT 1000000 +#undef BRIEF_GFAR_ERRORS +#undef VERBOSE_GFAR_ERRORS + +#ifdef CONFIG_GFAR_NAPI +#define RECEIVE(x) netif_receive_skb(x) +#else +#define RECEIVE(x) netif_rx(x) +#endif + +const char gfar_driver_name[] = "Gianfar Ethernet"; +const char gfar_driver_version[] = "1.1"; + +int startup_gfar(struct net_device *dev); +static int gfar_enet_open(struct net_device *dev); +static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev); +static void gfar_timeout(struct net_device *dev); +static int gfar_close(struct net_device *dev); +struct sk_buff *gfar_new_skb(struct net_device *dev, struct rxbd8 *bdp); +static struct net_device_stats *gfar_get_stats(struct net_device *dev); +static int gfar_set_mac_address(struct net_device *dev); +static int gfar_change_mtu(struct net_device *dev, int new_mtu); +static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t gfar_transmit(int irq, void *dev_id, struct pt_regs *regs); +irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static irqreturn_t phy_interrupt(int irq, void *dev_id, struct pt_regs *regs); +static void gfar_phy_change(void *data); +static void gfar_phy_timer(unsigned long data); +static void adjust_link(struct net_device *dev); +static void init_registers(struct net_device *dev); +static int init_phy(struct net_device *dev); +static int gfar_probe(struct ocp_device *ocpdev); +static void gfar_remove(struct ocp_device *ocpdev); +void free_skb_resources(struct gfar_private *priv); +static void gfar_set_multi(struct net_device *dev); +static void gfar_set_hash_for_addr(struct net_device *dev, u8 *addr); +#ifdef CONFIG_GFAR_NAPI +static int gfar_poll(struct net_device *dev, int *budget); +#endif +static int gfar_clean_rx_ring(struct net_device *dev, int rx_work_limit); +static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb, int length); +static void gfar_phy_startup_timer(unsigned long data); + +extern struct ethtool_ops gfar_ethtool_ops; + +MODULE_AUTHOR("Freescale Semiconductor, Inc"); +MODULE_DESCRIPTION("Gianfar Ethernet Driver"); +MODULE_LICENSE("GPL"); + +/* Called by the ocp code to initialize device data structures + * required for bringing up the device + * returns 0 on success */ +static int gfar_probe(struct ocp_device *ocpdev) +{ + u32 tempval; + struct ocp_device *mdiodev; + struct net_device *dev = NULL; + struct gfar_private *priv = NULL; + struct ocp_gfar_data *einfo; + int idx; + int err = 0; + int dev_ethtool_ops = 0; + + einfo = (struct ocp_gfar_data *) ocpdev->def->additions; + + if (einfo == NULL) { + printk(KERN_ERR "gfar %d: Missing additional data!\n", + ocpdev->def->index); + + return -ENODEV; + } + + /* get a pointer to the register memory which can + * configure the PHYs. If it's different from this set, + * get the device which has those regs */ + if ((einfo->phyregidx >= 0) && + (einfo->phyregidx != ocpdev->def->index)) { + mdiodev = ocp_find_device(OCP_ANY_ID, + OCP_FUNC_GFAR, einfo->phyregidx); + + /* If the device which holds the MDIO regs isn't + * up, wait for it to come up */ + if (mdiodev == NULL) + return -EAGAIN; + } else { + mdiodev = ocpdev; + } + + /* Create an ethernet device instance */ + dev = alloc_etherdev(sizeof (*priv)); + + if (dev == NULL) + return -ENOMEM; + + priv = netdev_priv(dev); + + /* Set the info in the priv to the current info */ + priv->einfo = einfo; + + /* get a pointer to the register memory */ + priv->regs = (struct gfar *) + ioremap(ocpdev->def->paddr, sizeof (struct gfar)); + + if (priv->regs == NULL) { + err = -ENOMEM; + goto regs_fail; + } + + /* Set the PHY base address */ + priv->phyregs = (struct gfar *) + ioremap(mdiodev->def->paddr, sizeof (struct gfar)); + + if (priv->phyregs == NULL) { + err = -ENOMEM; + goto phy_regs_fail; + } + + spin_lock_init(&priv->lock); + + ocp_set_drvdata(ocpdev, dev); + + /* Stop the DMA engine now, in case it was running before */ + /* (The firmware could have used it, and left it running). */ + /* To do this, we write Graceful Receive Stop and Graceful */ + /* Transmit Stop, and then wait until the corresponding bits */ + /* in IEVENT indicate the stops have completed. */ + tempval = gfar_read(&priv->regs->dmactrl); + tempval &= ~(DMACTRL_GRS | DMACTRL_GTS); + gfar_write(&priv->regs->dmactrl, tempval); + + tempval = gfar_read(&priv->regs->dmactrl); + tempval |= (DMACTRL_GRS | DMACTRL_GTS); + gfar_write(&priv->regs->dmactrl, tempval); + + while (!(gfar_read(&priv->regs->ievent) & (IEVENT_GRSC | IEVENT_GTSC))) + cpu_relax(); + + /* Reset MAC layer */ + gfar_write(&priv->regs->maccfg1, MACCFG1_SOFT_RESET); + + tempval = (MACCFG1_TX_FLOW | MACCFG1_RX_FLOW); + gfar_write(&priv->regs->maccfg1, tempval); + + /* Initialize MACCFG2. */ + gfar_write(&priv->regs->maccfg2, MACCFG2_INIT_SETTINGS); + + /* Initialize ECNTRL */ + gfar_write(&priv->regs->ecntrl, ECNTRL_INIT_SETTINGS); + + /* Copy the station address into the dev structure, */ + memcpy(dev->dev_addr, einfo->mac_addr, MAC_ADDR_LEN); + + /* Set the dev->base_addr to the gfar reg region */ + dev->base_addr = (unsigned long) (priv->regs); + + SET_MODULE_OWNER(dev); + SET_NETDEV_DEV(dev, &ocpdev->dev); + + /* Fill in the dev structure */ + dev->open = gfar_enet_open; + dev->hard_start_xmit = gfar_start_xmit; + dev->tx_timeout = gfar_timeout; + dev->watchdog_timeo = TX_TIMEOUT; +#ifdef CONFIG_GFAR_NAPI + dev->poll = gfar_poll; + dev->weight = GFAR_DEV_WEIGHT; +#endif + dev->stop = gfar_close; + dev->get_stats = gfar_get_stats; + dev->change_mtu = gfar_change_mtu; + dev->mtu = 1500; + dev->set_multicast_list = gfar_set_multi; + + /* Index into the array of possible ethtool + * ops to catch all 4 possibilities */ + if((priv->einfo->flags & GFAR_HAS_RMON) == 0) + dev_ethtool_ops += 1; + + if((priv->einfo->flags & GFAR_HAS_COALESCE) == 0) + dev_ethtool_ops += 2; + + dev->ethtool_ops = gfar_op_array[dev_ethtool_ops]; + + priv->rx_buffer_size = DEFAULT_RX_BUFFER_SIZE; +#ifdef CONFIG_GFAR_BUFSTASH + priv->rx_stash_size = STASH_LENGTH; +#endif + priv->tx_ring_size = DEFAULT_TX_RING_SIZE; + priv->rx_ring_size = DEFAULT_RX_RING_SIZE; + + priv->txcoalescing = DEFAULT_TX_COALESCE; + priv->txcount = DEFAULT_TXCOUNT; + priv->txtime = DEFAULT_TXTIME; + priv->rxcoalescing = DEFAULT_RX_COALESCE; + priv->rxcount = DEFAULT_RXCOUNT; + priv->rxtime = DEFAULT_RXTIME; + + err = register_netdev(dev); + + if (err) { + printk(KERN_ERR "%s: Cannot register net device, aborting.\n", + dev->name); + goto register_fail; + } + + /* Print out the device info */ + printk(KERN_INFO DEVICE_NAME, dev->name); + for (idx = 0; idx < 6; idx++) + printk("%2.2x%c", dev->dev_addr[idx], idx == 5 ? ' ' : ':'); + printk("\n"); + + /* Even more device info helps when determining which kernel */ + /* provided which set of benchmarks. Since this is global for all */ + /* devices, we only print it once */ +#ifdef CONFIG_GFAR_NAPI + printk(KERN_INFO "%s: Running with NAPI enabled\n", dev->name); +#else + printk(KERN_INFO "%s: Running with NAPI disabled\n", dev->name); +#endif + printk(KERN_INFO "%s: %d/%d RX/TX BD ring size\n", + dev->name, priv->rx_ring_size, priv->tx_ring_size); + + return 0; + +register_fail: + iounmap((void *) priv->phyregs); +phy_regs_fail: + iounmap((void *) priv->regs); +regs_fail: + free_netdev(dev); + return -ENOMEM; +} + +static void gfar_remove(struct ocp_device *ocpdev) +{ + struct net_device *dev = ocp_get_drvdata(ocpdev); + struct gfar_private *priv = netdev_priv(dev); + + ocp_set_drvdata(ocpdev, NULL); + + iounmap((void *) priv->regs); + iounmap((void *) priv->phyregs); + free_netdev(dev); +} + +/* Configure the PHY for dev. + * returns 0 if success. -1 if failure + */ +static int init_phy(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + struct phy_info *curphy; + unsigned int timeout = PHY_INIT_TIMEOUT; + struct gfar *phyregs = priv->phyregs; + struct gfar_mii_info *mii_info; + int err; + + priv->oldlink = 0; + priv->oldspeed = 0; + priv->oldduplex = -1; + + mii_info = kmalloc(sizeof(struct gfar_mii_info), + GFP_KERNEL); + + if(NULL == mii_info) { + printk(KERN_ERR "%s: Could not allocate mii_info\n", + dev->name); + return -ENOMEM; + } + + mii_info->speed = SPEED_1000; + mii_info->duplex = DUPLEX_FULL; + mii_info->pause = 0; + mii_info->link = 1; + + mii_info->advertising = (ADVERTISED_10baseT_Half | + ADVERTISED_10baseT_Full | + ADVERTISED_100baseT_Half | + ADVERTISED_100baseT_Full | + ADVERTISED_1000baseT_Full); + mii_info->autoneg = 1; + + mii_info->mii_id = priv->einfo->phyid; + + mii_info->dev = dev; + + mii_info->mdio_read = &read_phy_reg; + mii_info->mdio_write = &write_phy_reg; + + priv->mii_info = mii_info; + + /* Reset the management interface */ + gfar_write(&phyregs->miimcfg, MIIMCFG_RESET); + + /* Setup the MII Mgmt clock speed */ + gfar_write(&phyregs->miimcfg, MIIMCFG_INIT_VALUE); + + /* Wait until the bus is free */ + while ((gfar_read(&phyregs->miimind) & MIIMIND_BUSY) && + timeout--) + cpu_relax(); + + if(timeout <= 0) { + printk(KERN_ERR "%s: The MII Bus is stuck!\n", + dev->name); + err = -1; + goto bus_fail; + } + + /* get info for this PHY */ + curphy = get_phy_info(priv->mii_info); + + if (curphy == NULL) { + printk(KERN_ERR "%s: No PHY found\n", dev->name); + err = -1; + goto no_phy; + } + + mii_info->phyinfo = curphy; + + /* Run the commands which initialize the PHY */ + if(curphy->init) { + err = curphy->init(priv->mii_info); + + if (err) + goto phy_init_fail; + } + + return 0; + +phy_init_fail: +no_phy: +bus_fail: + kfree(mii_info); + + return err; +} + +static void init_registers(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + + /* Clear IEVENT */ + gfar_write(&priv->regs->ievent, IEVENT_INIT_CLEAR); + + /* Initialize IMASK */ + gfar_write(&priv->regs->imask, IMASK_INIT_CLEAR); + + /* Init hash registers to zero */ + gfar_write(&priv->regs->iaddr0, 0); + gfar_write(&priv->regs->iaddr1, 0); + gfar_write(&priv->regs->iaddr2, 0); + gfar_write(&priv->regs->iaddr3, 0); + gfar_write(&priv->regs->iaddr4, 0); + gfar_write(&priv->regs->iaddr5, 0); + gfar_write(&priv->regs->iaddr6, 0); + gfar_write(&priv->regs->iaddr7, 0); + + gfar_write(&priv->regs->gaddr0, 0); + gfar_write(&priv->regs->gaddr1, 0); + gfar_write(&priv->regs->gaddr2, 0); + gfar_write(&priv->regs->gaddr3, 0); + gfar_write(&priv->regs->gaddr4, 0); + gfar_write(&priv->regs->gaddr5, 0); + gfar_write(&priv->regs->gaddr6, 0); + gfar_write(&priv->regs->gaddr7, 0); + + /* Zero out rctrl */ + gfar_write(&priv->regs->rctrl, 0x00000000); + + /* Zero out the rmon mib registers if it has them */ + if (priv->einfo->flags & GFAR_HAS_RMON) { + memset((void *) &(priv->regs->rmon), 0, + sizeof (struct rmon_mib)); + + /* Mask off the CAM interrupts */ + gfar_write(&priv->regs->rmon.cam1, 0xffffffff); + gfar_write(&priv->regs->rmon.cam2, 0xffffffff); + } + + /* Initialize the max receive buffer length */ + gfar_write(&priv->regs->mrblr, priv->rx_buffer_size); + +#ifdef CONFIG_GFAR_BUFSTASH + /* If we are stashing buffers, we need to set the + * extraction length to the size of the buffer */ + gfar_write(&priv->regs->attreli, priv->rx_stash_size << 16); +#endif + + /* Initialize the Minimum Frame Length Register */ + gfar_write(&priv->regs->minflr, MINFLR_INIT_SETTINGS); + + /* Setup Attributes so that snooping is on for rx */ + gfar_write(&priv->regs->attr, ATTR_INIT_SETTINGS); + gfar_write(&priv->regs->attreli, ATTRELI_INIT_SETTINGS); + + /* Assign the TBI an address which won't conflict with the PHYs */ + gfar_write(&priv->regs->tbipa, TBIPA_VALUE); +} + +void stop_gfar(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regs = priv->regs; + unsigned long flags; + u32 tempval; + + /* Lock it down */ + spin_lock_irqsave(&priv->lock, flags); + + /* Tell the kernel the link is down */ + priv->mii_info->link = 0; + adjust_link(dev); + + /* Mask all interrupts */ + gfar_write(®s->imask, IMASK_INIT_CLEAR); + + /* Clear all interrupts */ + gfar_write(®s->ievent, IEVENT_INIT_CLEAR); + + /* Stop the DMA, and wait for it to stop */ + tempval = gfar_read(&priv->regs->dmactrl); + if ((tempval & (DMACTRL_GRS | DMACTRL_GTS)) + != (DMACTRL_GRS | DMACTRL_GTS)) { + tempval |= (DMACTRL_GRS | DMACTRL_GTS); + gfar_write(&priv->regs->dmactrl, tempval); + + while (!(gfar_read(&priv->regs->ievent) & + (IEVENT_GRSC | IEVENT_GTSC))) + cpu_relax(); + } + + /* Disable Rx and Tx */ + tempval = gfar_read(®s->maccfg1); + tempval &= ~(MACCFG1_RX_EN | MACCFG1_TX_EN); + gfar_write(®s->maccfg1, tempval); + + if (priv->einfo->flags & GFAR_HAS_PHY_INTR) { + /* Clear any pending interrupts */ + mii_clear_phy_interrupt(priv->mii_info); + + /* Disable PHY Interrupts */ + mii_configure_phy_interrupt(priv->mii_info, + MII_INTERRUPT_DISABLED); + } + + spin_unlock_irqrestore(&priv->lock, flags); + + /* Free the IRQs */ + if (priv->einfo->flags & GFAR_HAS_MULTI_INTR) { + free_irq(priv->einfo->interruptError, dev); + free_irq(priv->einfo->interruptTransmit, dev); + free_irq(priv->einfo->interruptReceive, dev); + } else { + free_irq(priv->einfo->interruptTransmit, dev); + } + + if (priv->einfo->flags & GFAR_HAS_PHY_INTR) { + free_irq(priv->einfo->interruptPHY, dev); + } else { + del_timer_sync(&priv->phy_info_timer); + } + + free_skb_resources(priv); + + dma_free_coherent(NULL, + sizeof(struct txbd8)*priv->tx_ring_size + + sizeof(struct rxbd8)*priv->rx_ring_size, + priv->tx_bd_base, + gfar_read(®s->tbase)); +} + +/* If there are any tx skbs or rx skbs still around, free them. + * Then free tx_skbuff and rx_skbuff */ +void free_skb_resources(struct gfar_private *priv) +{ + struct rxbd8 *rxbdp; + struct txbd8 *txbdp; + int i; + + /* Go through all the buffer descriptors and free their data buffers */ + txbdp = priv->tx_bd_base; + + for (i = 0; i < priv->tx_ring_size; i++) { + + if (priv->tx_skbuff[i]) { + dma_unmap_single(NULL, txbdp->bufPtr, + txbdp->length, + DMA_TO_DEVICE); + dev_kfree_skb_any(priv->tx_skbuff[i]); + priv->tx_skbuff[i] = NULL; + } + } + + kfree(priv->tx_skbuff); + + rxbdp = priv->rx_bd_base; + + /* rx_skbuff is not guaranteed to be allocated, so only + * free it and its contents if it is allocated */ + if(priv->rx_skbuff != NULL) { + for (i = 0; i < priv->rx_ring_size; i++) { + if (priv->rx_skbuff[i]) { + dma_unmap_single(NULL, rxbdp->bufPtr, + priv->rx_buffer_size + + RXBUF_ALIGNMENT, + DMA_FROM_DEVICE); + + dev_kfree_skb_any(priv->rx_skbuff[i]); + priv->rx_skbuff[i] = NULL; + } + + rxbdp->status = 0; + rxbdp->length = 0; + rxbdp->bufPtr = 0; + + rxbdp++; + } + + kfree(priv->rx_skbuff); + } +} + +/* Bring the controller up and running */ +int startup_gfar(struct net_device *dev) +{ + struct txbd8 *txbdp; + struct rxbd8 *rxbdp; + dma_addr_t addr; + unsigned long vaddr; + int i; + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regs = priv->regs; + u32 tempval; + int err = 0; + + gfar_write(®s->imask, IMASK_INIT_CLEAR); + + /* Allocate memory for the buffer descriptors */ + vaddr = (unsigned long) dma_alloc_coherent(NULL, + sizeof (struct txbd8) * priv->tx_ring_size + + sizeof (struct rxbd8) * priv->rx_ring_size, + &addr, GFP_KERNEL); + + if (vaddr == 0) { + printk(KERN_ERR "%s: Could not allocate buffer descriptors!\n", + dev->name); + return -ENOMEM; + } + + priv->tx_bd_base = (struct txbd8 *) vaddr; + + /* enet DMA only understands physical addresses */ + gfar_write(®s->tbase, addr); + + /* Start the rx descriptor ring where the tx ring leaves off */ + addr = addr + sizeof (struct txbd8) * priv->tx_ring_size; + vaddr = vaddr + sizeof (struct txbd8) * priv->tx_ring_size; + priv->rx_bd_base = (struct rxbd8 *) vaddr; + gfar_write(®s->rbase, addr); + + /* Setup the skbuff rings */ + priv->tx_skbuff = + (struct sk_buff **) kmalloc(sizeof (struct sk_buff *) * + priv->tx_ring_size, GFP_KERNEL); + + if (priv->tx_skbuff == NULL) { + printk(KERN_ERR "%s: Could not allocate tx_skbuff\n", + dev->name); + err = -ENOMEM; + goto tx_skb_fail; + } + + for (i = 0; i < priv->tx_ring_size; i++) + priv->tx_skbuff[i] = NULL; + + priv->rx_skbuff = + (struct sk_buff **) kmalloc(sizeof (struct sk_buff *) * + priv->rx_ring_size, GFP_KERNEL); + + if (priv->rx_skbuff == NULL) { + printk(KERN_ERR "%s: Could not allocate rx_skbuff\n", + dev->name); + err = -ENOMEM; + goto rx_skb_fail; + } + + for (i = 0; i < priv->rx_ring_size; i++) + priv->rx_skbuff[i] = NULL; + + /* Initialize some variables in our dev structure */ + priv->dirty_tx = priv->cur_tx = priv->tx_bd_base; + priv->cur_rx = priv->rx_bd_base; + priv->skb_curtx = priv->skb_dirtytx = 0; + priv->skb_currx = 0; + + /* Initialize Transmit Descriptor Ring */ + txbdp = priv->tx_bd_base; + for (i = 0; i < priv->tx_ring_size; i++) { + txbdp->status = 0; + txbdp->length = 0; + txbdp->bufPtr = 0; + txbdp++; + } + + /* Set the last descriptor in the ring to indicate wrap */ + txbdp--; + txbdp->status |= TXBD_WRAP; + + rxbdp = priv->rx_bd_base; + for (i = 0; i < priv->rx_ring_size; i++) { + struct sk_buff *skb = NULL; + + rxbdp->status = 0; + + skb = gfar_new_skb(dev, rxbdp); + + priv->rx_skbuff[i] = skb; + + rxbdp++; + } + + /* Set the last descriptor in the ring to wrap */ + rxbdp--; + rxbdp->status |= RXBD_WRAP; + + /* If the device has multiple interrupts, register for + * them. Otherwise, only register for the one */ + if (priv->einfo->flags & GFAR_HAS_MULTI_INTR) { + /* Install our interrupt handlers for Error, + * Transmit, and Receive */ + if (request_irq(priv->einfo->interruptError, gfar_error, + 0, "enet_error", dev) < 0) { + printk(KERN_ERR "%s: Can't get IRQ %d\n", + dev->name, priv->einfo->interruptError); + + err = -1; + goto err_irq_fail; + } + + if (request_irq(priv->einfo->interruptTransmit, gfar_transmit, + 0, "enet_tx", dev) < 0) { + printk(KERN_ERR "%s: Can't get IRQ %d\n", + dev->name, priv->einfo->interruptTransmit); + + err = -1; + + goto tx_irq_fail; + } + + if (request_irq(priv->einfo->interruptReceive, gfar_receive, + 0, "enet_rx", dev) < 0) { + printk(KERN_ERR "%s: Can't get IRQ %d (receive0)\n", + dev->name, priv->einfo->interruptReceive); + + err = -1; + goto rx_irq_fail; + } + } else { + if (request_irq(priv->einfo->interruptTransmit, gfar_interrupt, + 0, "gfar_interrupt", dev) < 0) { + printk(KERN_ERR "%s: Can't get IRQ %d\n", + dev->name, priv->einfo->interruptError); + + err = -1; + goto err_irq_fail; + } + } + + /* Set up the PHY change work queue */ + INIT_WORK(&priv->tq, gfar_phy_change, dev); + + init_timer(&priv->phy_info_timer); + priv->phy_info_timer.function = &gfar_phy_startup_timer; + priv->phy_info_timer.data = (unsigned long) priv->mii_info; + mod_timer(&priv->phy_info_timer, jiffies + HZ); + + /* Configure the coalescing support */ + if (priv->txcoalescing) + gfar_write(®s->txic, + mk_ic_value(priv->txcount, priv->txtime)); + else + gfar_write(®s->txic, 0); + + if (priv->rxcoalescing) + gfar_write(®s->rxic, + mk_ic_value(priv->rxcount, priv->rxtime)); + else + gfar_write(®s->rxic, 0); + + init_waitqueue_head(&priv->rxcleanupq); + + /* Enable Rx and Tx in MACCFG1 */ + tempval = gfar_read(®s->maccfg1); + tempval |= (MACCFG1_RX_EN | MACCFG1_TX_EN); + gfar_write(®s->maccfg1, tempval); + + /* Initialize DMACTRL to have WWR and WOP */ + tempval = gfar_read(&priv->regs->dmactrl); + tempval |= DMACTRL_INIT_SETTINGS; + gfar_write(&priv->regs->dmactrl, tempval); + + /* Clear THLT, so that the DMA starts polling now */ + gfar_write(®s->tstat, TSTAT_CLEAR_THALT); + + /* Make sure we aren't stopped */ + tempval = gfar_read(&priv->regs->dmactrl); + tempval &= ~(DMACTRL_GRS | DMACTRL_GTS); + gfar_write(&priv->regs->dmactrl, tempval); + + /* Unmask the interrupts we look for */ + gfar_write(®s->imask, IMASK_DEFAULT); + + return 0; + +rx_irq_fail: + free_irq(priv->einfo->interruptTransmit, dev); +tx_irq_fail: + free_irq(priv->einfo->interruptError, dev); +err_irq_fail: +rx_skb_fail: + free_skb_resources(priv); +tx_skb_fail: + dma_free_coherent(NULL, + sizeof(struct txbd8)*priv->tx_ring_size + + sizeof(struct rxbd8)*priv->rx_ring_size, + priv->tx_bd_base, + gfar_read(®s->tbase)); + + if (priv->mii_info->phyinfo->close) + priv->mii_info->phyinfo->close(priv->mii_info); + + kfree(priv->mii_info); + + return err; +} + +/* Called when something needs to use the ethernet device */ +/* Returns 0 for success. */ +static int gfar_enet_open(struct net_device *dev) +{ + int err; + + /* Initialize a bunch of registers */ + init_registers(dev); + + gfar_set_mac_address(dev); + + err = init_phy(dev); + + if(err) + return err; + + err = startup_gfar(dev); + + netif_start_queue(dev); + + return err; +} + +/* This is called by the kernel when a frame is ready for transmission. */ +/* It is pointed to by the dev->hard_start_xmit function pointer */ +static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + struct txbd8 *txbdp; + + /* Update transmit stats */ + priv->stats.tx_bytes += skb->len; + + /* Lock priv now */ + spin_lock_irq(&priv->lock); + + /* Point at the first free tx descriptor */ + txbdp = priv->cur_tx; + + /* Clear all but the WRAP status flags */ + txbdp->status &= TXBD_WRAP; + + /* Set buffer length and pointer */ + txbdp->length = skb->len; + txbdp->bufPtr = dma_map_single(NULL, skb->data, + skb->len, DMA_TO_DEVICE); + + /* Save the skb pointer so we can free it later */ + priv->tx_skbuff[priv->skb_curtx] = skb; + + /* Update the current skb pointer (wrapping if this was the last) */ + priv->skb_curtx = + (priv->skb_curtx + 1) & TX_RING_MOD_MASK(priv->tx_ring_size); + + /* Flag the BD as interrupt-causing */ + txbdp->status |= TXBD_INTERRUPT; + + /* Flag the BD as ready to go, last in frame, and */ + /* in need of CRC */ + txbdp->status |= (TXBD_READY | TXBD_LAST | TXBD_CRC); + + dev->trans_start = jiffies; + + /* If this was the last BD in the ring, the next one */ + /* is at the beginning of the ring */ + if (txbdp->status & TXBD_WRAP) + txbdp = priv->tx_bd_base; + else + txbdp++; + + /* If the next BD still needs to be cleaned up, then the bds + are full. We need to tell the kernel to stop sending us stuff. */ + if (txbdp == priv->dirty_tx) { + netif_stop_queue(dev); + + priv->stats.tx_fifo_errors++; + } + + /* Update the current txbd to the next one */ + priv->cur_tx = txbdp; + + /* Tell the DMA to go go go */ + gfar_write(&priv->regs->tstat, TSTAT_CLEAR_THALT); + + /* Unlock priv */ + spin_unlock_irq(&priv->lock); + + return 0; +} + +/* Stops the kernel queue, and halts the controller */ +static int gfar_close(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + stop_gfar(dev); + + /* Shutdown the PHY */ + if (priv->mii_info->phyinfo->close) + priv->mii_info->phyinfo->close(priv->mii_info); + + kfree(priv->mii_info); + + netif_stop_queue(dev); + + return 0; +} + +/* returns a net_device_stats structure pointer */ +static struct net_device_stats * gfar_get_stats(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + + return &(priv->stats); +} + +/* Changes the mac address if the controller is not running. */ +int gfar_set_mac_address(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + int i; + char tmpbuf[MAC_ADDR_LEN]; + u32 tempval; + + /* Now copy it into the mac registers backwards, cuz */ + /* little endian is silly */ + for (i = 0; i < MAC_ADDR_LEN; i++) + tmpbuf[MAC_ADDR_LEN - 1 - i] = dev->dev_addr[i]; + + gfar_write(&priv->regs->macstnaddr1, *((u32 *) (tmpbuf))); + + tempval = *((u32 *) (tmpbuf + 4)); + + gfar_write(&priv->regs->macstnaddr2, tempval); + + return 0; +} + + +static int gfar_change_mtu(struct net_device *dev, int new_mtu) +{ + int tempsize, tempval; + struct gfar_private *priv = netdev_priv(dev); + int oldsize = priv->rx_buffer_size; + int frame_size = new_mtu + 18; + + if ((frame_size < 64) || (frame_size > JUMBO_FRAME_SIZE)) { + printk(KERN_ERR "%s: Invalid MTU setting\n", dev->name); + return -EINVAL; + } + + tempsize = + (frame_size & ~(INCREMENTAL_BUFFER_SIZE - 1)) + + INCREMENTAL_BUFFER_SIZE; + + /* Only stop and start the controller if it isn't already + * stopped */ + if ((oldsize != tempsize) && (dev->flags & IFF_UP)) + stop_gfar(dev); + + priv->rx_buffer_size = tempsize; + + dev->mtu = new_mtu; + + gfar_write(&priv->regs->mrblr, priv->rx_buffer_size); + gfar_write(&priv->regs->maxfrm, priv->rx_buffer_size); + + /* If the mtu is larger than the max size for standard + * ethernet frames (ie, a jumbo frame), then set maccfg2 + * to allow huge frames, and to check the length */ + tempval = gfar_read(&priv->regs->maccfg2); + + if (priv->rx_buffer_size > DEFAULT_RX_BUFFER_SIZE) + tempval |= (MACCFG2_HUGEFRAME | MACCFG2_LENGTHCHECK); + else + tempval &= ~(MACCFG2_HUGEFRAME | MACCFG2_LENGTHCHECK); + + gfar_write(&priv->regs->maccfg2, tempval); + + if ((oldsize != tempsize) && (dev->flags & IFF_UP)) + startup_gfar(dev); + + return 0; +} + +/* gfar_timeout gets called when a packet has not been + * transmitted after a set amount of time. + * For now, assume that clearing out all the structures, and + * starting over will fix the problem. */ +static void gfar_timeout(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + + priv->stats.tx_errors++; + + if (dev->flags & IFF_UP) { + stop_gfar(dev); + startup_gfar(dev); + } + + netif_schedule(dev); +} + +/* Interrupt Handler for Transmit complete */ +static irqreturn_t gfar_transmit(int irq, void *dev_id, struct pt_regs *regs) +{ + struct net_device *dev = (struct net_device *) dev_id; + struct gfar_private *priv = netdev_priv(dev); + struct txbd8 *bdp; + + /* Clear IEVENT */ + gfar_write(&priv->regs->ievent, IEVENT_TX_MASK); + + /* Lock priv */ + spin_lock(&priv->lock); + bdp = priv->dirty_tx; + while ((bdp->status & TXBD_READY) == 0) { + /* If dirty_tx and cur_tx are the same, then either the */ + /* ring is empty or full now (it could only be full in the beginning, */ + /* obviously). If it is empty, we are done. */ + if ((bdp == priv->cur_tx) && (netif_queue_stopped(dev) == 0)) + break; + + priv->stats.tx_packets++; + + /* Deferred means some collisions occurred during transmit, */ + /* but we eventually sent the packet. */ + if (bdp->status & TXBD_DEF) + priv->stats.collisions++; + + /* Free the sk buffer associated with this TxBD */ + dev_kfree_skb_irq(priv->tx_skbuff[priv->skb_dirtytx]); + priv->tx_skbuff[priv->skb_dirtytx] = NULL; + priv->skb_dirtytx = + (priv->skb_dirtytx + + 1) & TX_RING_MOD_MASK(priv->tx_ring_size); + + /* update bdp to point at next bd in the ring (wrapping if necessary) */ + if (bdp->status & TXBD_WRAP) + bdp = priv->tx_bd_base; + else + bdp++; + + /* Move dirty_tx to be the next bd */ + priv->dirty_tx = bdp; + + /* We freed a buffer, so now we can restart transmission */ + if (netif_queue_stopped(dev)) + netif_wake_queue(dev); + } /* while ((bdp->status & TXBD_READY) == 0) */ + + /* If we are coalescing the interrupts, reset the timer */ + /* Otherwise, clear it */ + if (priv->txcoalescing) + gfar_write(&priv->regs->txic, + mk_ic_value(priv->txcount, priv->txtime)); + else + gfar_write(&priv->regs->txic, 0); + + spin_unlock(&priv->lock); + + return IRQ_HANDLED; +} + +struct sk_buff * gfar_new_skb(struct net_device *dev, struct rxbd8 *bdp) +{ + struct gfar_private *priv = netdev_priv(dev); + struct sk_buff *skb = NULL; + unsigned int timeout = SKB_ALLOC_TIMEOUT; + + /* We have to allocate the skb, so keep trying till we succeed */ + while ((!skb) && timeout--) + skb = dev_alloc_skb(priv->rx_buffer_size + RXBUF_ALIGNMENT); + + if (skb == NULL) + return NULL; + + /* We need the data buffer to be aligned properly. We will reserve + * as many bytes as needed to align the data properly + */ + skb_reserve(skb, + RXBUF_ALIGNMENT - + (((unsigned) skb->data) & (RXBUF_ALIGNMENT - 1))); + + skb->dev = dev; + + bdp->bufPtr = dma_map_single(NULL, skb->data, + priv->rx_buffer_size + RXBUF_ALIGNMENT, + DMA_FROM_DEVICE); + + bdp->length = 0; + + /* Mark the buffer empty */ + bdp->status |= (RXBD_EMPTY | RXBD_INTERRUPT); + + return skb; +} + +static inline void count_errors(unsigned short status, struct gfar_private *priv) +{ + struct net_device_stats *stats = &priv->stats; + struct gfar_extra_stats *estats = &priv->extra_stats; + + /* If the packet was truncated, none of the other errors + * matter */ + if (status & RXBD_TRUNCATED) { + stats->rx_length_errors++; + + estats->rx_trunc++; + + return; + } + /* Count the errors, if there were any */ + if (status & (RXBD_LARGE | RXBD_SHORT)) { + stats->rx_length_errors++; + + if (status & RXBD_LARGE) + estats->rx_large++; + else + estats->rx_short++; + } + if (status & RXBD_NONOCTET) { + stats->rx_frame_errors++; + estats->rx_nonoctet++; + } + if (status & RXBD_CRCERR) { + estats->rx_crcerr++; + stats->rx_crc_errors++; + } + if (status & RXBD_OVERRUN) { + estats->rx_overrun++; + stats->rx_crc_errors++; + } +} + +irqreturn_t gfar_receive(int irq, void *dev_id, struct pt_regs *regs) +{ + struct net_device *dev = (struct net_device *) dev_id; + struct gfar_private *priv = netdev_priv(dev); + +#ifdef CONFIG_GFAR_NAPI + u32 tempval; +#endif + + /* Clear IEVENT, so rx interrupt isn't called again + * because of this interrupt */ + gfar_write(&priv->regs->ievent, IEVENT_RX_MASK); + + /* support NAPI */ +#ifdef CONFIG_GFAR_NAPI + if (netif_rx_schedule_prep(dev)) { + tempval = gfar_read(&priv->regs->imask); + tempval &= IMASK_RX_DISABLED; + gfar_write(&priv->regs->imask, tempval); + + __netif_rx_schedule(dev); + } else { +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: receive called twice (%x)[%x]\n", + dev->name, gfar_read(priv->regs->ievent), + gfar_read(priv->regs->imask)); +#endif + } +#else + + spin_lock(&priv->lock); + gfar_clean_rx_ring(dev, priv->rx_ring_size); + + /* If we are coalescing interrupts, update the timer */ + /* Otherwise, clear it */ + if (priv->rxcoalescing) + gfar_write(&priv->regs->rxic, + mk_ic_value(priv->rxcount, priv->rxtime)); + else + gfar_write(&priv->regs->rxic, 0); + + /* Just in case we need to wake the ring param changer */ + priv->rxclean = 1; + + spin_unlock(&priv->lock); +#endif + + return IRQ_HANDLED; +} + + +/* gfar_process_frame() -- handle one incoming packet if skb + * isn't NULL. */ +static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb, + int length) +{ + struct gfar_private *priv = netdev_priv(dev); + + if (skb == NULL) { +#ifdef BRIEF_GFAR_ERRORS + printk(KERN_WARNING "%s: Missing skb!!.\n", + dev->name); +#endif + priv->stats.rx_dropped++; + priv->extra_stats.rx_skbmissing++; + } else { + /* Prep the skb for the packet */ + skb_put(skb, length); + + /* Tell the skb what kind of packet this is */ + skb->protocol = eth_type_trans(skb, dev); + + /* Send the packet up the stack */ + if (RECEIVE(skb) == NET_RX_DROP) { + priv->extra_stats.kernel_dropped++; + } + } + + return 0; +} + +/* gfar_clean_rx_ring() -- Processes each frame in the rx ring + * until the budget/quota has been reached. Returns the number + * of frames handled + */ +static int gfar_clean_rx_ring(struct net_device *dev, int rx_work_limit) +{ + struct rxbd8 *bdp; + struct sk_buff *skb; + u16 pkt_len; + int howmany = 0; + struct gfar_private *priv = netdev_priv(dev); + + /* Get the first full descriptor */ + bdp = priv->cur_rx; + + while (!((bdp->status & RXBD_EMPTY) || (--rx_work_limit < 0))) { + skb = priv->rx_skbuff[priv->skb_currx]; + + if (!(bdp->status & + (RXBD_LARGE | RXBD_SHORT | RXBD_NONOCTET + | RXBD_CRCERR | RXBD_OVERRUN | RXBD_TRUNCATED))) { + /* Increment the number of packets */ + priv->stats.rx_packets++; + howmany++; + + /* Remove the FCS from the packet length */ + pkt_len = bdp->length - 4; + + gfar_process_frame(dev, skb, pkt_len); + + priv->stats.rx_bytes += pkt_len; + } else { + count_errors(bdp->status, priv); + + if (skb) + dev_kfree_skb_any(skb); + + priv->rx_skbuff[priv->skb_currx] = NULL; + } + + dev->last_rx = jiffies; + + /* Clear the status flags for this buffer */ + bdp->status &= ~RXBD_STATS; + + /* Add another skb for the future */ + skb = gfar_new_skb(dev, bdp); + priv->rx_skbuff[priv->skb_currx] = skb; + + /* Update to the next pointer */ + if (bdp->status & RXBD_WRAP) + bdp = priv->rx_bd_base; + else + bdp++; + + /* update to point at the next skb */ + priv->skb_currx = + (priv->skb_currx + + 1) & RX_RING_MOD_MASK(priv->rx_ring_size); + + } + + /* Update the current rxbd pointer to be the next one */ + priv->cur_rx = bdp; + + /* If no packets have arrived since the + * last one we processed, clear the IEVENT RX and + * BSY bits so that another interrupt won't be + * generated when we set IMASK */ + if (bdp->status & RXBD_EMPTY) + gfar_write(&priv->regs->ievent, IEVENT_RX_MASK); + + return howmany; +} + +#ifdef CONFIG_GFAR_NAPI +static int gfar_poll(struct net_device *dev, int *budget) +{ + int howmany; + struct gfar_private *priv = netdev_priv(dev); + int rx_work_limit = *budget; + + if (rx_work_limit > dev->quota) + rx_work_limit = dev->quota; + + howmany = gfar_clean_rx_ring(dev, rx_work_limit); + + dev->quota -= howmany; + rx_work_limit -= howmany; + *budget -= howmany; + + if (rx_work_limit >= 0) { + netif_rx_complete(dev); + + /* Clear the halt bit in RSTAT */ + gfar_write(&priv->regs->rstat, RSTAT_CLEAR_RHALT); + + gfar_write(&priv->regs->imask, IMASK_DEFAULT); + + /* If we are coalescing interrupts, update the timer */ + /* Otherwise, clear it */ + if (priv->rxcoalescing) + gfar_write(&priv->regs->rxic, + mk_ic_value(priv->rxcount, priv->rxtime)); + else + gfar_write(&priv->regs->rxic, 0); + + /* Signal to the ring size changer that it's safe to go */ + priv->rxclean = 1; + } + + return (rx_work_limit < 0) ? 1 : 0; +} +#endif + +/* The interrupt handler for devices with one interrupt */ +static irqreturn_t gfar_interrupt(int irq, void *dev_id, struct pt_regs *regs) +{ + struct net_device *dev = dev_id; + struct gfar_private *priv = netdev_priv(dev); + + /* Save ievent for future reference */ + u32 events = gfar_read(&priv->regs->ievent); + + /* Clear IEVENT */ + gfar_write(&priv->regs->ievent, events); + + /* Check for reception */ + if ((events & IEVENT_RXF0) || (events & IEVENT_RXB0)) + gfar_receive(irq, dev_id, regs); + + /* Check for transmit completion */ + if ((events & IEVENT_TXF) || (events & IEVENT_TXB)) + gfar_transmit(irq, dev_id, regs); + + /* Update error statistics */ + if (events & IEVENT_TXE) { + priv->stats.tx_errors++; + + if (events & IEVENT_LC) + priv->stats.tx_window_errors++; + if (events & IEVENT_CRL) + priv->stats.tx_aborted_errors++; + if (events & IEVENT_XFUN) { +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_WARNING "%s: tx underrun. dropped packet\n", + dev->name); +#endif + priv->stats.tx_dropped++; + priv->extra_stats.tx_underrun++; + + /* Reactivate the Tx Queues */ + gfar_write(&priv->regs->tstat, TSTAT_CLEAR_THALT); + } + } + if (events & IEVENT_BSY) { + priv->stats.rx_errors++; + priv->extra_stats.rx_bsy++; + + gfar_receive(irq, dev_id, regs); + +#ifndef CONFIG_GFAR_NAPI + /* Clear the halt bit in RSTAT */ + gfar_write(&priv->regs->rstat, RSTAT_CLEAR_RHALT); +#endif + +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: busy error (rhalt: %x)\n", dev->name, + gfar_read(priv->regs->rstat)); +#endif + } + if (events & IEVENT_BABR) { + priv->stats.rx_errors++; + priv->extra_stats.rx_babr++; + +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: babbling error\n", dev->name); +#endif + } + if (events & IEVENT_EBERR) { + priv->extra_stats.eberr++; +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: EBERR\n", dev->name); +#endif + } + if (events & IEVENT_RXC) { +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: control frame\n", dev->name); +#endif + } + + if (events & IEVENT_BABT) { + priv->extra_stats.tx_babt++; +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: babt error\n", dev->name); +#endif + } + + return IRQ_HANDLED; +} + +static irqreturn_t phy_interrupt(int irq, void *dev_id, struct pt_regs *regs) +{ + struct net_device *dev = (struct net_device *) dev_id; + struct gfar_private *priv = netdev_priv(dev); + + /* Clear the interrupt */ + mii_clear_phy_interrupt(priv->mii_info); + + /* Disable PHY interrupts */ + mii_configure_phy_interrupt(priv->mii_info, + MII_INTERRUPT_DISABLED); + + /* Schedule the phy change */ + schedule_work(&priv->tq); + + return IRQ_HANDLED; +} + +/* Scheduled by the phy_interrupt/timer to handle PHY changes */ +static void gfar_phy_change(void *data) +{ + struct net_device *dev = (struct net_device *) data; + struct gfar_private *priv = netdev_priv(dev); + int result = 0; + + /* Delay to give the PHY a chance to change the + * register state */ + msleep(1); + + /* Update the link, speed, duplex */ + result = priv->mii_info->phyinfo->read_status(priv->mii_info); + + /* Adjust the known status as long as the link + * isn't still coming up */ + if((0 == result) || (priv->mii_info->link == 0)) + adjust_link(dev); + + /* Reenable interrupts, if needed */ + if (priv->einfo->flags & GFAR_HAS_PHY_INTR) + mii_configure_phy_interrupt(priv->mii_info, + MII_INTERRUPT_ENABLED); +} + +/* Called every so often on systems that don't interrupt + * the core for PHY changes */ +static void gfar_phy_timer(unsigned long data) +{ + struct net_device *dev = (struct net_device *) data; + struct gfar_private *priv = netdev_priv(dev); + + schedule_work(&priv->tq); + + mod_timer(&priv->phy_info_timer, jiffies + + GFAR_PHY_CHANGE_TIME * HZ); +} + +/* Keep trying aneg for some time + * If, after GFAR_AN_TIMEOUT seconds, it has not + * finished, we switch to forced. + * Either way, once the process has completed, we either + * request the interrupt, or switch the timer over to + * using gfar_phy_timer to check status */ +static void gfar_phy_startup_timer(unsigned long data) +{ + int result; + static int secondary = GFAR_AN_TIMEOUT; + struct gfar_mii_info *mii_info = (struct gfar_mii_info *)data; + struct gfar_private *priv = netdev_priv(mii_info->dev); + + /* Configure the Auto-negotiation */ + result = mii_info->phyinfo->config_aneg(mii_info); + + /* If autonegotiation failed to start, and + * we haven't timed out, reset the timer, and return */ + if (result && secondary--) { + mod_timer(&priv->phy_info_timer, jiffies + HZ); + return; + } else if (result) { + /* Couldn't start autonegotiation. + * Try switching to forced */ + mii_info->autoneg = 0; + result = mii_info->phyinfo->config_aneg(mii_info); + + /* Forcing failed! Give up */ + if(result) { + printk(KERN_ERR "%s: Forcing failed!\n", + mii_info->dev->name); + return; + } + } + + /* Kill the timer so it can be restarted */ + del_timer_sync(&priv->phy_info_timer); + + /* Grab the PHY interrupt, if necessary/possible */ + if (priv->einfo->flags & GFAR_HAS_PHY_INTR) { + if (request_irq(priv->einfo->interruptPHY, + phy_interrupt, + SA_SHIRQ, + "phy_interrupt", + mii_info->dev) < 0) { + printk(KERN_ERR "%s: Can't get IRQ %d (PHY)\n", + mii_info->dev->name, + priv->einfo->interruptPHY); + } else { + mii_configure_phy_interrupt(priv->mii_info, + MII_INTERRUPT_ENABLED); + return; + } + } + + /* Start the timer again, this time in order to + * handle a change in status */ + init_timer(&priv->phy_info_timer); + priv->phy_info_timer.function = &gfar_phy_timer; + priv->phy_info_timer.data = (unsigned long) mii_info->dev; + mod_timer(&priv->phy_info_timer, jiffies + + GFAR_PHY_CHANGE_TIME * HZ); +} + +/* Called every time the controller might need to be made + * aware of new link state. The PHY code conveys this + * information through variables in the priv structure, and this + * function converts those variables into the appropriate + * register values, and can bring down the device if needed. + */ +static void adjust_link(struct net_device *dev) +{ + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regs = priv->regs; + u32 tempval; + struct gfar_mii_info *mii_info = priv->mii_info; + + if (mii_info->link) { + /* Now we make sure that we can be in full duplex mode. + * If not, we operate in half-duplex mode. */ + if (mii_info->duplex != priv->oldduplex) { + if (!(mii_info->duplex)) { + tempval = gfar_read(®s->maccfg2); + tempval &= ~(MACCFG2_FULL_DUPLEX); + gfar_write(®s->maccfg2, tempval); + + printk(KERN_INFO "%s: Half Duplex\n", + dev->name); + } else { + tempval = gfar_read(®s->maccfg2); + tempval |= MACCFG2_FULL_DUPLEX; + gfar_write(®s->maccfg2, tempval); + + printk(KERN_INFO "%s: Full Duplex\n", + dev->name); + } + + priv->oldduplex = mii_info->duplex; + } + + if (mii_info->speed != priv->oldspeed) { + switch (mii_info->speed) { + case 1000: + tempval = gfar_read(®s->maccfg2); + tempval = + ((tempval & ~(MACCFG2_IF)) | MACCFG2_GMII); + gfar_write(®s->maccfg2, tempval); + break; + case 100: + case 10: + tempval = gfar_read(®s->maccfg2); + tempval = + ((tempval & ~(MACCFG2_IF)) | MACCFG2_MII); + gfar_write(®s->maccfg2, tempval); + break; + default: + printk(KERN_WARNING + "%s: Ack! Speed (%d) is not 10/100/1000!\n", + dev->name, mii_info->speed); + break; + } + + printk(KERN_INFO "%s: Speed %dBT\n", dev->name, + mii_info->speed); + + priv->oldspeed = mii_info->speed; + } + + if (!priv->oldlink) { + printk(KERN_INFO "%s: Link is up\n", dev->name); + priv->oldlink = 1; + netif_carrier_on(dev); + netif_schedule(dev); + } + } else { + if (priv->oldlink) { + printk(KERN_INFO "%s: Link is down\n", dev->name); + priv->oldlink = 0; + priv->oldspeed = 0; + priv->oldduplex = -1; + netif_carrier_off(dev); + } + } +} + + +/* Update the hash table based on the current list of multicast + * addresses we subscribe to. Also, change the promiscuity of + * the device based on the flags (this function is called + * whenever dev->flags is changed */ +static void gfar_set_multi(struct net_device *dev) +{ + struct dev_mc_list *mc_ptr; + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regs = priv->regs; + u32 tempval; + + if(dev->flags & IFF_PROMISC) { + printk(KERN_INFO "%s: Entering promiscuous mode.\n", + dev->name); + /* Set RCTRL to PROM */ + tempval = gfar_read(®s->rctrl); + tempval |= RCTRL_PROM; + gfar_write(®s->rctrl, tempval); + } else { + /* Set RCTRL to not PROM */ + tempval = gfar_read(®s->rctrl); + tempval &= ~(RCTRL_PROM); + gfar_write(®s->rctrl, tempval); + } + + if(dev->flags & IFF_ALLMULTI) { + /* Set the hash to rx all multicast frames */ + gfar_write(®s->gaddr0, 0xffffffff); + gfar_write(®s->gaddr1, 0xffffffff); + gfar_write(®s->gaddr2, 0xffffffff); + gfar_write(®s->gaddr3, 0xffffffff); + gfar_write(®s->gaddr4, 0xffffffff); + gfar_write(®s->gaddr5, 0xffffffff); + gfar_write(®s->gaddr6, 0xffffffff); + gfar_write(®s->gaddr7, 0xffffffff); + } else { + /* zero out the hash */ + gfar_write(®s->gaddr0, 0x0); + gfar_write(®s->gaddr1, 0x0); + gfar_write(®s->gaddr2, 0x0); + gfar_write(®s->gaddr3, 0x0); + gfar_write(®s->gaddr4, 0x0); + gfar_write(®s->gaddr5, 0x0); + gfar_write(®s->gaddr6, 0x0); + gfar_write(®s->gaddr7, 0x0); + + if(dev->mc_count == 0) + return; + + /* Parse the list, and set the appropriate bits */ + for(mc_ptr = dev->mc_list; mc_ptr; mc_ptr = mc_ptr->next) { + gfar_set_hash_for_addr(dev, mc_ptr->dmi_addr); + } + } + + return; +} + +/* Set the appropriate hash bit for the given addr */ +/* The algorithm works like so: + * 1) Take the Destination Address (ie the multicast address), and + * do a CRC on it (little endian), and reverse the bits of the + * result. + * 2) Use the 8 most significant bits as a hash into a 256-entry + * table. The table is controlled through 8 32-bit registers: + * gaddr0-7. gaddr0's MSB is entry 0, and gaddr7's LSB is + * gaddr7. This means that the 3 most significant bits in the + * hash index which gaddr register to use, and the 5 other bits + * indicate which bit (assuming an IBM numbering scheme, which + * for PowerPC (tm) is usually the case) in the register holds + * the entry. */ +static void gfar_set_hash_for_addr(struct net_device *dev, u8 *addr) +{ + u32 tempval; + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regs = priv->regs; + u32 *hash = ®s->gaddr0; + u32 result = ether_crc(MAC_ADDR_LEN, addr); + u8 whichreg = ((result >> 29) & 0x7); + u8 whichbit = ((result >> 24) & 0x1f); + u32 value = (1 << (31-whichbit)); + + tempval = gfar_read(&hash[whichreg]); + tempval |= value; + gfar_write(&hash[whichreg], tempval); + + return; +} + +/* GFAR error interrupt handler */ +static irqreturn_t gfar_error(int irq, void *dev_id, struct pt_regs *regs) +{ + struct net_device *dev = dev_id; + struct gfar_private *priv = netdev_priv(dev); + + /* Save ievent for future reference */ + u32 events = gfar_read(&priv->regs->ievent); + + /* Clear IEVENT */ + gfar_write(&priv->regs->ievent, IEVENT_ERR_MASK); + + /* Hmm... */ +#if defined (BRIEF_GFAR_ERRORS) || defined (VERBOSE_GFAR_ERRORS) + printk(KERN_DEBUG "%s: error interrupt (ievent=0x%08x imask=0x%08x)\n", + dev->name, events, gfar_read(priv->regs->imask)); +#endif + + /* Update the error counters */ + if (events & IEVENT_TXE) { + priv->stats.tx_errors++; + + if (events & IEVENT_LC) + priv->stats.tx_window_errors++; + if (events & IEVENT_CRL) + priv->stats.tx_aborted_errors++; + if (events & IEVENT_XFUN) { +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: underrun. packet dropped.\n", + dev->name); +#endif + priv->stats.tx_dropped++; + priv->extra_stats.tx_underrun++; + + /* Reactivate the Tx Queues */ + gfar_write(&priv->regs->tstat, TSTAT_CLEAR_THALT); + } +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: Transmit Error\n", dev->name); +#endif + } + if (events & IEVENT_BSY) { + priv->stats.rx_errors++; + priv->extra_stats.rx_bsy++; + + gfar_receive(irq, dev_id, regs); + +#ifndef CONFIG_GFAR_NAPI + /* Clear the halt bit in RSTAT */ + gfar_write(&priv->regs->rstat, RSTAT_CLEAR_RHALT); +#endif + +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: busy error (rhalt: %x)\n", dev->name, + gfar_read(priv->regs->rstat)); +#endif + } + if (events & IEVENT_BABR) { + priv->stats.rx_errors++; + priv->extra_stats.rx_babr++; + +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: babbling error\n", dev->name); +#endif + } + if (events & IEVENT_EBERR) { + priv->extra_stats.eberr++; +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: EBERR\n", dev->name); +#endif + } + if (events & IEVENT_RXC) +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: control frame\n", dev->name); +#endif + + if (events & IEVENT_BABT) { + priv->extra_stats.tx_babt++; +#ifdef VERBOSE_GFAR_ERRORS + printk(KERN_DEBUG "%s: babt error\n", dev->name); +#endif + } + return IRQ_HANDLED; +} + +/* Structure for a device driver */ +static struct ocp_device_id gfar_ids[] = { + {.vendor = OCP_ANY_ID,.function = OCP_FUNC_GFAR}, + {.vendor = OCP_VENDOR_INVALID} +}; + +static struct ocp_driver gfar_driver = { + .name = "gianfar", + .id_table = gfar_ids, + + .probe = gfar_probe, + .remove = gfar_remove, +}; + +static int __init gfar_init(void) +{ + int rc; + + rc = ocp_register_driver(&gfar_driver); + if (rc != 0) { + ocp_unregister_driver(&gfar_driver); + return -ENODEV; + } + + return 0; +} + +static void __exit gfar_exit(void) +{ + ocp_unregister_driver(&gfar_driver); +} + +module_init(gfar_init); +module_exit(gfar_exit); diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h new file mode 100644 index 000000000..91eaab35d --- /dev/null +++ b/drivers/net/gianfar.h @@ -0,0 +1,535 @@ +/* + * drivers/net/gianfar.h + * + * Gianfar Ethernet Driver + * Driver for FEC on MPC8540 and TSEC on MPC8540/MPC8560 + * Based on 8260_io/fcc_enet.c + * + * Author: Andy Fleming + * Maintainer: Kumar Gala (kumar.gala@freescale.com) + * + * Copyright (c) 2002-2004 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * Still left to do: + * -Add support for module parameters + * -Add support for ethtool -s + * -Add patch for ethtool phys id + */ +#ifndef __GIANFAR_H +#define __GIANFAR_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "gianfar_phy.h" + +/* The maximum number of packets to be handled in one call of gfar_poll */ +#define GFAR_DEV_WEIGHT 64 + +/* Number of bytes to align the rx bufs to */ +#define RXBUF_ALIGNMENT 64 + +/* The number of bytes which composes a unit for the purpose of + * allocating data buffers. ie-for any given MTU, the data buffer + * will be the next highest multiple of 512 bytes. */ +#define INCREMENTAL_BUFFER_SIZE 512 + + +#define MAC_ADDR_LEN 6 + +#define PHY_INIT_TIMEOUT 100000 +#define GFAR_PHY_CHANGE_TIME 2 + +#define DEVICE_NAME "%s: Gianfar Ethernet Controller Version 1.1, " +#define DRV_NAME "gfar-enet" +extern const char gfar_driver_name[]; +extern const char gfar_driver_version[]; + +/* These need to be powers of 2 for this driver */ +#ifdef CONFIG_GFAR_NAPI +#define DEFAULT_TX_RING_SIZE 256 +#define DEFAULT_RX_RING_SIZE 256 +#else +#define DEFAULT_TX_RING_SIZE 64 +#define DEFAULT_RX_RING_SIZE 64 +#endif + +#define GFAR_RX_MAX_RING_SIZE 256 +#define GFAR_TX_MAX_RING_SIZE 256 + +#define DEFAULT_RX_BUFFER_SIZE 1536 +#define TX_RING_MOD_MASK(size) (size-1) +#define RX_RING_MOD_MASK(size) (size-1) +#define JUMBO_BUFFER_SIZE 9728 +#define JUMBO_FRAME_SIZE 9600 + +/* Latency of interface clock in nanoseconds */ +/* Interface clock latency , in this case, means the + * time described by a value of 1 in the interrupt + * coalescing registers' time fields. Since those fields + * refer to the time it takes for 64 clocks to pass, the + * latencies are as such: + * GBIT = 125MHz => 8ns/clock => 8*64 ns / tick + * 100 = 25 MHz => 40ns/clock => 40*64 ns / tick + * 10 = 2.5 MHz => 400ns/clock => 400*64 ns / tick + */ +#define GFAR_GBIT_TIME 512 +#define GFAR_100_TIME 2560 +#define GFAR_10_TIME 25600 + +#define DEFAULT_TX_COALESCE 1 +#define DEFAULT_TXCOUNT 16 +#define DEFAULT_TXTIME 400 + +#define DEFAULT_RX_COALESCE 1 +#define DEFAULT_RXCOUNT 16 +#define DEFAULT_RXTIME 400 + +#define TBIPA_VALUE 0x1f +#define MIIMCFG_INIT_VALUE 0x00000007 +#define MIIMCFG_RESET 0x80000000 +#define MIIMIND_BUSY 0x00000001 + +/* MAC register bits */ +#define MACCFG1_SOFT_RESET 0x80000000 +#define MACCFG1_RESET_RX_MC 0x00080000 +#define MACCFG1_RESET_TX_MC 0x00040000 +#define MACCFG1_RESET_RX_FUN 0x00020000 +#define MACCFG1_RESET_TX_FUN 0x00010000 +#define MACCFG1_LOOPBACK 0x00000100 +#define MACCFG1_RX_FLOW 0x00000020 +#define MACCFG1_TX_FLOW 0x00000010 +#define MACCFG1_SYNCD_RX_EN 0x00000008 +#define MACCFG1_RX_EN 0x00000004 +#define MACCFG1_SYNCD_TX_EN 0x00000002 +#define MACCFG1_TX_EN 0x00000001 + +#define MACCFG2_INIT_SETTINGS 0x00007205 +#define MACCFG2_FULL_DUPLEX 0x00000001 +#define MACCFG2_IF 0x00000300 +#define MACCFG2_MII 0x00000100 +#define MACCFG2_GMII 0x00000200 +#define MACCFG2_HUGEFRAME 0x00000020 +#define MACCFG2_LENGTHCHECK 0x00000010 + +#define ECNTRL_INIT_SETTINGS 0x00001000 +#define ECNTRL_TBI_MODE 0x00000020 + +#define MRBLR_INIT_SETTINGS DEFAULT_RX_BUFFER_SIZE + +#define MINFLR_INIT_SETTINGS 0x00000040 + +/* Init to do tx snooping for buffers and descriptors */ +#define DMACTRL_INIT_SETTINGS 0x000000c3 +#define DMACTRL_GRS 0x00000010 +#define DMACTRL_GTS 0x00000008 + +#define TSTAT_CLEAR_THALT 0x80000000 + +/* Interrupt coalescing macros */ +#define IC_ICEN 0x80000000 +#define IC_ICFT_MASK 0x1fe00000 +#define IC_ICFT_SHIFT 21 +#define mk_ic_icft(x) \ + (((unsigned int)x << IC_ICFT_SHIFT)&IC_ICFT_MASK) +#define IC_ICTT_MASK 0x0000ffff +#define mk_ic_ictt(x) (x&IC_ICTT_MASK) + +#define mk_ic_value(count, time) (IC_ICEN | \ + mk_ic_icft(count) | \ + mk_ic_ictt(time)) + +#define RCTRL_PROM 0x00000008 +#define RSTAT_CLEAR_RHALT 0x00800000 + +#define IEVENT_INIT_CLEAR 0xffffffff +#define IEVENT_BABR 0x80000000 +#define IEVENT_RXC 0x40000000 +#define IEVENT_BSY 0x20000000 +#define IEVENT_EBERR 0x10000000 +#define IEVENT_MSRO 0x04000000 +#define IEVENT_GTSC 0x02000000 +#define IEVENT_BABT 0x01000000 +#define IEVENT_TXC 0x00800000 +#define IEVENT_TXE 0x00400000 +#define IEVENT_TXB 0x00200000 +#define IEVENT_TXF 0x00100000 +#define IEVENT_LC 0x00040000 +#define IEVENT_CRL 0x00020000 +#define IEVENT_XFUN 0x00010000 +#define IEVENT_RXB0 0x00008000 +#define IEVENT_GRSC 0x00000100 +#define IEVENT_RXF0 0x00000080 +#define IEVENT_RX_MASK (IEVENT_RXB0 | IEVENT_RXF0) +#define IEVENT_TX_MASK (IEVENT_TXB | IEVENT_TXF) +#define IEVENT_ERR_MASK \ +(IEVENT_RXC | IEVENT_BSY | IEVENT_EBERR | IEVENT_MSRO | \ + IEVENT_BABT | IEVENT_TXC | IEVENT_TXE | IEVENT_LC \ + | IEVENT_CRL | IEVENT_XFUN) + +#define IMASK_INIT_CLEAR 0x00000000 +#define IMASK_BABR 0x80000000 +#define IMASK_RXC 0x40000000 +#define IMASK_BSY 0x20000000 +#define IMASK_EBERR 0x10000000 +#define IMASK_MSRO 0x04000000 +#define IMASK_GRSC 0x02000000 +#define IMASK_BABT 0x01000000 +#define IMASK_TXC 0x00800000 +#define IMASK_TXEEN 0x00400000 +#define IMASK_TXBEN 0x00200000 +#define IMASK_TXFEN 0x00100000 +#define IMASK_LC 0x00040000 +#define IMASK_CRL 0x00020000 +#define IMASK_XFUN 0x00010000 +#define IMASK_RXB0 0x00008000 +#define IMASK_GTSC 0x00000100 +#define IMASK_RXFEN0 0x00000080 +#define IMASK_RX_DISABLED ~(IMASK_RXFEN0 | IMASK_BSY) +#define IMASK_DEFAULT (IMASK_TXEEN | IMASK_TXFEN | IMASK_TXBEN | \ + IMASK_RXFEN0 | IMASK_BSY | IMASK_EBERR | IMASK_BABR | \ + IMASK_XFUN | IMASK_RXC | IMASK_BABT) + + +/* Attribute fields */ + +/* This enables rx snooping for buffers and descriptors */ +#ifdef CONFIG_GFAR_BDSTASH +#define ATTR_BDSTASH 0x00000800 +#else +#define ATTR_BDSTASH 0x00000000 +#endif + +#ifdef CONFIG_GFAR_BUFSTASH +#define ATTR_BUFSTASH 0x00004000 +#define STASH_LENGTH 64 +#else +#define ATTR_BUFSTASH 0x00000000 +#endif + +#define ATTR_SNOOPING 0x000000c0 +#define ATTR_INIT_SETTINGS (ATTR_SNOOPING \ + | ATTR_BDSTASH | ATTR_BUFSTASH) + +#define ATTRELI_INIT_SETTINGS 0x0 + + +/* TxBD status field bits */ +#define TXBD_READY 0x8000 +#define TXBD_PADCRC 0x4000 +#define TXBD_WRAP 0x2000 +#define TXBD_INTERRUPT 0x1000 +#define TXBD_LAST 0x0800 +#define TXBD_CRC 0x0400 +#define TXBD_DEF 0x0200 +#define TXBD_HUGEFRAME 0x0080 +#define TXBD_LATECOLLISION 0x0080 +#define TXBD_RETRYLIMIT 0x0040 +#define TXBD_RETRYCOUNTMASK 0x003c +#define TXBD_UNDERRUN 0x0002 + +/* RxBD status field bits */ +#define RXBD_EMPTY 0x8000 +#define RXBD_RO1 0x4000 +#define RXBD_WRAP 0x2000 +#define RXBD_INTERRUPT 0x1000 +#define RXBD_LAST 0x0800 +#define RXBD_FIRST 0x0400 +#define RXBD_MISS 0x0100 +#define RXBD_BROADCAST 0x0080 +#define RXBD_MULTICAST 0x0040 +#define RXBD_LARGE 0x0020 +#define RXBD_NONOCTET 0x0010 +#define RXBD_SHORT 0x0008 +#define RXBD_CRCERR 0x0004 +#define RXBD_OVERRUN 0x0002 +#define RXBD_TRUNCATED 0x0001 +#define RXBD_STATS 0x01ff + +struct txbd8 +{ + u16 status; /* Status Fields */ + u16 length; /* Buffer length */ + u32 bufPtr; /* Buffer Pointer */ +}; + +struct rxbd8 +{ + u16 status; /* Status Fields */ + u16 length; /* Buffer Length */ + u32 bufPtr; /* Buffer Pointer */ +}; + +struct rmon_mib +{ + u32 tr64; /* 0x.680 - Transmit and Receive 64-byte Frame Counter */ + u32 tr127; /* 0x.684 - Transmit and Receive 65-127 byte Frame Counter */ + u32 tr255; /* 0x.688 - Transmit and Receive 128-255 byte Frame Counter */ + u32 tr511; /* 0x.68c - Transmit and Receive 256-511 byte Frame Counter */ + u32 tr1k; /* 0x.690 - Transmit and Receive 512-1023 byte Frame Counter */ + u32 trmax; /* 0x.694 - Transmit and Receive 1024-1518 byte Frame Counter */ + u32 trmgv; /* 0x.698 - Transmit and Receive 1519-1522 byte Good VLAN Frame */ + u32 rbyt; /* 0x.69c - Receive Byte Counter */ + u32 rpkt; /* 0x.6a0 - Receive Packet Counter */ + u32 rfcs; /* 0x.6a4 - Receive FCS Error Counter */ + u32 rmca; /* 0x.6a8 - Receive Multicast Packet Counter */ + u32 rbca; /* 0x.6ac - Receive Broadcast Packet Counter */ + u32 rxcf; /* 0x.6b0 - Receive Control Frame Packet Counter */ + u32 rxpf; /* 0x.6b4 - Receive Pause Frame Packet Counter */ + u32 rxuo; /* 0x.6b8 - Receive Unknown OP Code Counter */ + u32 raln; /* 0x.6bc - Receive Alignment Error Counter */ + u32 rflr; /* 0x.6c0 - Receive Frame Length Error Counter */ + u32 rcde; /* 0x.6c4 - Receive Code Error Counter */ + u32 rcse; /* 0x.6c8 - Receive Carrier Sense Error Counter */ + u32 rund; /* 0x.6cc - Receive Undersize Packet Counter */ + u32 rovr; /* 0x.6d0 - Receive Oversize Packet Counter */ + u32 rfrg; /* 0x.6d4 - Receive Fragments Counter */ + u32 rjbr; /* 0x.6d8 - Receive Jabber Counter */ + u32 rdrp; /* 0x.6dc - Receive Drop Counter */ + u32 tbyt; /* 0x.6e0 - Transmit Byte Counter Counter */ + u32 tpkt; /* 0x.6e4 - Transmit Packet Counter */ + u32 tmca; /* 0x.6e8 - Transmit Multicast Packet Counter */ + u32 tbca; /* 0x.6ec - Transmit Broadcast Packet Counter */ + u32 txpf; /* 0x.6f0 - Transmit Pause Control Frame Counter */ + u32 tdfr; /* 0x.6f4 - Transmit Deferral Packet Counter */ + u32 tedf; /* 0x.6f8 - Transmit Excessive Deferral Packet Counter */ + u32 tscl; /* 0x.6fc - Transmit Single Collision Packet Counter */ + u32 tmcl; /* 0x.700 - Transmit Multiple Collision Packet Counter */ + u32 tlcl; /* 0x.704 - Transmit Late Collision Packet Counter */ + u32 txcl; /* 0x.708 - Transmit Excessive Collision Packet Counter */ + u32 tncl; /* 0x.70c - Transmit Total Collision Counter */ + u8 res1[4]; + u32 tdrp; /* 0x.714 - Transmit Drop Frame Counter */ + u32 tjbr; /* 0x.718 - Transmit Jabber Frame Counter */ + u32 tfcs; /* 0x.71c - Transmit FCS Error Counter */ + u32 txcf; /* 0x.720 - Transmit Control Frame Counter */ + u32 tovr; /* 0x.724 - Transmit Oversize Frame Counter */ + u32 tund; /* 0x.728 - Transmit Undersize Frame Counter */ + u32 tfrg; /* 0x.72c - Transmit Fragments Frame Counter */ + u32 car1; /* 0x.730 - Carry Register One */ + u32 car2; /* 0x.734 - Carry Register Two */ + u32 cam1; /* 0x.738 - Carry Mask Register One */ + u32 cam2; /* 0x.73c - Carry Mask Register Two */ +}; + +struct gfar_extra_stats { + u64 kernel_dropped; + u64 rx_large; + u64 rx_short; + u64 rx_nonoctet; + u64 rx_crcerr; + u64 rx_overrun; + u64 rx_bsy; + u64 rx_babr; + u64 rx_trunc; + u64 eberr; + u64 tx_babt; + u64 tx_underrun; + u64 rx_skbmissing; + u64 tx_timeout; +}; + +#define GFAR_RMON_LEN ((sizeof(struct rmon_mib) - 16)/sizeof(u32)) +#define GFAR_EXTRA_STATS_LEN (sizeof(struct gfar_extra_stats)/sizeof(u64)) + +/* Number of stats in the stats structure (ignore car and cam regs)*/ +#define GFAR_STATS_LEN (GFAR_RMON_LEN + GFAR_EXTRA_STATS_LEN) + +#define GFAR_INFOSTR_LEN 32 + +struct gfar_stats { + u64 extra[GFAR_EXTRA_STATS_LEN]; + u64 rmon[GFAR_RMON_LEN]; +}; + + +struct gfar { + u8 res1[16]; + u32 ievent; /* 0x.010 - Interrupt Event Register */ + u32 imask; /* 0x.014 - Interrupt Mask Register */ + u32 edis; /* 0x.018 - Error Disabled Register */ + u8 res2[4]; + u32 ecntrl; /* 0x.020 - Ethernet Control Register */ + u32 minflr; /* 0x.024 - Minimum Frame Length Register */ + u32 ptv; /* 0x.028 - Pause Time Value Register */ + u32 dmactrl; /* 0x.02c - DMA Control Register */ + u32 tbipa; /* 0x.030 - TBI PHY Address Register */ + u8 res3[88]; + u32 fifo_tx_thr; /* 0x.08c - FIFO transmit threshold register */ + u8 res4[8]; + u32 fifo_tx_starve; /* 0x.098 - FIFO transmit starve register */ + u32 fifo_tx_starve_shutoff; /* 0x.09c - FIFO transmit starve shutoff register */ + u8 res5[96]; + u32 tctrl; /* 0x.100 - Transmit Control Register */ + u32 tstat; /* 0x.104 - Transmit Status Register */ + u8 res6[4]; + u32 tbdlen; /* 0x.10c - Transmit Buffer Descriptor Data Length Register */ + u32 txic; /* 0x.110 - Transmit Interrupt Coalescing Configuration Register */ + u8 res7[16]; + u32 ctbptr; /* 0x.124 - Current Transmit Buffer Descriptor Pointer Register */ + u8 res8[92]; + u32 tbptr; /* 0x.184 - Transmit Buffer Descriptor Pointer Low Register */ + u8 res9[124]; + u32 tbase; /* 0x.204 - Transmit Descriptor Base Address Register */ + u8 res10[168]; + u32 ostbd; /* 0x.2b0 - Out-of-Sequence Transmit Buffer Descriptor Register */ + u32 ostbdp; /* 0x.2b4 - Out-of-Sequence Transmit Data Buffer Pointer Register */ + u8 res11[72]; + u32 rctrl; /* 0x.300 - Receive Control Register */ + u32 rstat; /* 0x.304 - Receive Status Register */ + u8 res12[4]; + u32 rbdlen; /* 0x.30c - RxBD Data Length Register */ + u32 rxic; /* 0x.310 - Receive Interrupt Coalescing Configuration Register */ + u8 res13[16]; + u32 crbptr; /* 0x.324 - Current Receive Buffer Descriptor Pointer */ + u8 res14[24]; + u32 mrblr; /* 0x.340 - Maximum Receive Buffer Length Register */ + u8 res15[64]; + u32 rbptr; /* 0x.384 - Receive Buffer Descriptor Pointer */ + u8 res16[124]; + u32 rbase; /* 0x.404 - Receive Descriptor Base Address */ + u8 res17[248]; + u32 maccfg1; /* 0x.500 - MAC Configuration 1 Register */ + u32 maccfg2; /* 0x.504 - MAC Configuration 2 Register */ + u32 ipgifg; /* 0x.508 - Inter Packet Gap/Inter Frame Gap Register */ + u32 hafdup; /* 0x.50c - Half Duplex Register */ + u32 maxfrm; /* 0x.510 - Maximum Frame Length Register */ + u8 res18[12]; + u32 miimcfg; /* 0x.520 - MII Management Configuration Register */ + u32 miimcom; /* 0x.524 - MII Management Command Register */ + u32 miimadd; /* 0x.528 - MII Management Address Register */ + u32 miimcon; /* 0x.52c - MII Management Control Register */ + u32 miimstat; /* 0x.530 - MII Management Status Register */ + u32 miimind; /* 0x.534 - MII Management Indicator Register */ + u8 res19[4]; + u32 ifstat; /* 0x.53c - Interface Status Register */ + u32 macstnaddr1; /* 0x.540 - Station Address Part 1 Register */ + u32 macstnaddr2; /* 0x.544 - Station Address Part 2 Register */ + u8 res20[312]; + struct rmon_mib rmon; + u8 res21[192]; + u32 iaddr0; /* 0x.800 - Indivdual address register 0 */ + u32 iaddr1; /* 0x.804 - Indivdual address register 1 */ + u32 iaddr2; /* 0x.808 - Indivdual address register 2 */ + u32 iaddr3; /* 0x.80c - Indivdual address register 3 */ + u32 iaddr4; /* 0x.810 - Indivdual address register 4 */ + u32 iaddr5; /* 0x.814 - Indivdual address register 5 */ + u32 iaddr6; /* 0x.818 - Indivdual address register 6 */ + u32 iaddr7; /* 0x.81c - Indivdual address register 7 */ + u8 res22[96]; + u32 gaddr0; /* 0x.880 - Global address register 0 */ + u32 gaddr1; /* 0x.884 - Global address register 1 */ + u32 gaddr2; /* 0x.888 - Global address register 2 */ + u32 gaddr3; /* 0x.88c - Global address register 3 */ + u32 gaddr4; /* 0x.890 - Global address register 4 */ + u32 gaddr5; /* 0x.894 - Global address register 5 */ + u32 gaddr6; /* 0x.898 - Global address register 6 */ + u32 gaddr7; /* 0x.89c - Global address register 7 */ + u8 res23[856]; + u32 attr; /* 0x.bf8 - Attributes Register */ + u32 attreli; /* 0x.bfc - Attributes Extract Length and Extract Index Register */ + u8 res24[1024]; + +}; + +/* Struct stolen almost completely (and shamelessly) from the FCC enet source + * (Ok, that's not so true anymore, but there is a family resemblence) + * The GFAR buffer descriptors track the ring buffers. The rx_bd_base + * and tx_bd_base always point to the currently available buffer. + * The dirty_tx tracks the current buffer that is being sent by the + * controller. The cur_tx and dirty_tx are equal under both completely + * empty and completely full conditions. The empty/ready indicator in + * the buffer descriptor determines the actual condition. + */ +struct gfar_private { + /* pointers to arrays of skbuffs for tx and rx */ + struct sk_buff ** tx_skbuff; + struct sk_buff ** rx_skbuff; + + /* indices pointing to the next free sbk in skb arrays */ + u16 skb_curtx; + u16 skb_currx; + + /* index of the first skb which hasn't been transmitted + * yet. */ + u16 skb_dirtytx; + + /* Configuration info for the coalescing features */ + unsigned char txcoalescing; + unsigned short txcount; + unsigned short txtime; + unsigned char rxcoalescing; + unsigned short rxcount; + unsigned short rxtime; + + /* GFAR addresses */ + struct rxbd8 *rx_bd_base; /* Base addresses of Rx and Tx Buffers */ + struct txbd8 *tx_bd_base; + struct rxbd8 *cur_rx; /* Next free rx ring entry */ + struct txbd8 *cur_tx; /* Next free ring entry */ + struct txbd8 *dirty_tx; /* The Ring entry to be freed. */ + struct gfar *regs; /* Pointer to the GFAR memory mapped Registers */ + struct gfar *phyregs; + struct work_struct tq; + struct timer_list phy_info_timer; + struct net_device_stats stats; /* linux network statistics */ + struct gfar_extra_stats extra_stats; + spinlock_t lock; + unsigned int rx_buffer_size; + unsigned int rx_stash_size; + unsigned int tx_ring_size; + unsigned int rx_ring_size; + wait_queue_head_t rxcleanupq; + unsigned int rxclean; + + /* Info structure initialized by board setup code */ + struct ocp_gfar_data *einfo; + + struct gfar_mii_info *mii_info; + int oldspeed; + int oldduplex; + int oldlink; +}; + +extern inline u32 gfar_read(volatile unsigned *addr) +{ + u32 val; + val = in_be32(addr); + return val; +} + +extern inline void gfar_write(volatile unsigned *addr, u32 val) +{ + out_be32(addr, val); +} + +extern struct ethtool_ops *gfar_op_array[]; + +#endif /* __GIANFAR_H */ diff --git a/drivers/net/gianfar_ethtool.c b/drivers/net/gianfar_ethtool.c new file mode 100644 index 000000000..14ab0b217 --- /dev/null +++ b/drivers/net/gianfar_ethtool.c @@ -0,0 +1,525 @@ +/* + * drivers/net/gianfar_ethtool.c + * + * Gianfar Ethernet Driver + * Ethtool support for Gianfar Enet + * Based on e1000 ethtool support + * + * Author: Andy Fleming + * Maintainer: Kumar Gala (kumar.gala@freescale.com) + * + * Copyright (c) 2003,2004 Freescale Semiconductor, Inc. + * + * This software may be used and distributed according to + * the terms of the GNU Public License, Version 2, incorporated herein + * by reference. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "gianfar.h" + +#define is_power_of_2(x) ((x) != 0 && (((x) & ((x) - 1)) == 0)) + +extern int startup_gfar(struct net_device *dev); +extern void stop_gfar(struct net_device *dev); +extern void gfar_receive(int irq, void *dev_id, struct pt_regs *regs); + +void gfar_fill_stats(struct net_device *dev, struct ethtool_stats *dummy, + u64 * buf); +void gfar_gstrings(struct net_device *dev, u32 stringset, u8 * buf); +int gfar_gcoalesce(struct net_device *dev, struct ethtool_coalesce *cvals); +int gfar_scoalesce(struct net_device *dev, struct ethtool_coalesce *cvals); +void gfar_gringparam(struct net_device *dev, struct ethtool_ringparam *rvals); +int gfar_sringparam(struct net_device *dev, struct ethtool_ringparam *rvals); +void gfar_gdrvinfo(struct net_device *dev, struct ethtool_drvinfo *drvinfo); + +static char stat_gstrings[][ETH_GSTRING_LEN] = { + "rx-dropped-by-kernel", + "rx-large-frame-errors", + "rx-short-frame-errors", + "rx-non-octet-errors", + "rx-crc-errors", + "rx-overrun-errors", + "rx-busy-errors", + "rx-babbling-errors", + "rx-truncated-frames", + "ethernet-bus-error", + "tx-babbling-errors", + "tx-underrun-errors", + "rx-skb-missing-errors", + "tx-timeout-errors", + "tx-rx-64-frames", + "tx-rx-65-127-frames", + "tx-rx-128-255-frames", + "tx-rx-256-511-frames", + "tx-rx-512-1023-frames", + "tx-rx-1024-1518-frames", + "tx-rx-1519-1522-good-vlan", + "rx-bytes", + "rx-packets", + "rx-fcs-errors", + "receive-multicast-packet", + "receive-broadcast-packet", + "rx-control-frame-packets", + "rx-pause-frame-packets", + "rx-unknown-op-code", + "rx-alignment-error", + "rx-frame-length-error", + "rx-code-error", + "rx-carrier-sense-error", + "rx-undersize-packets", + "rx-oversize-packets", + "rx-fragmented-frames", + "rx-jabber-frames", + "rx-dropped-frames", + "tx-byte-counter", + "tx-packets", + "tx-multicast-packets", + "tx-broadcast-packets", + "tx-pause-control-frames", + "tx-deferral-packets", + "tx-excessive-deferral-packets", + "tx-single-collision-packets", + "tx-multiple-collision-packets", + "tx-late-collision-packets", + "tx-excessive-collision-packets", + "tx-total-collision", + "reserved", + "tx-dropped-frames", + "tx-jabber-frames", + "tx-fcs-errors", + "tx-control-frames", + "tx-oversize-frames", + "tx-undersize-frames", + "tx-fragmented-frames", +}; + +/* Fill in an array of 64-bit statistics from various sources. + * This array will be appended to the end of the ethtool_stats + * structure, and returned to user space + */ +void gfar_fill_stats(struct net_device *dev, struct ethtool_stats *dummy, u64 * buf) +{ + int i; + struct gfar_private *priv = netdev_priv(dev); + u32 *rmon = (u32 *) & priv->regs->rmon; + u64 *extra = (u64 *) & priv->extra_stats; + struct gfar_stats *stats = (struct gfar_stats *) buf; + + for (i = 0; i < GFAR_RMON_LEN; i++) { + stats->rmon[i] = (u64) (rmon[i]); + } + + for (i = 0; i < GFAR_EXTRA_STATS_LEN; i++) { + stats->extra[i] = extra[i]; + } +} + +/* Returns the number of stats (and their corresponding strings) */ +int gfar_stats_count(struct net_device *dev) +{ + return GFAR_STATS_LEN; +} + +void gfar_gstrings_normon(struct net_device *dev, u32 stringset, u8 * buf) +{ + memcpy(buf, stat_gstrings, GFAR_EXTRA_STATS_LEN * ETH_GSTRING_LEN); +} + +void gfar_fill_stats_normon(struct net_device *dev, + struct ethtool_stats *dummy, u64 * buf) +{ + int i; + struct gfar_private *priv = netdev_priv(dev); + u64 *extra = (u64 *) & priv->extra_stats; + + for (i = 0; i < GFAR_EXTRA_STATS_LEN; i++) { + buf[i] = extra[i]; + } +} + + +int gfar_stats_count_normon(struct net_device *dev) +{ + return GFAR_EXTRA_STATS_LEN; +} +/* Fills in the drvinfo structure with some basic info */ +void gfar_gdrvinfo(struct net_device *dev, struct + ethtool_drvinfo *drvinfo) +{ + strncpy(drvinfo->driver, DRV_NAME, GFAR_INFOSTR_LEN); + strncpy(drvinfo->version, gfar_driver_version, GFAR_INFOSTR_LEN); + strncpy(drvinfo->fw_version, "N/A", GFAR_INFOSTR_LEN); + strncpy(drvinfo->bus_info, "N/A", GFAR_INFOSTR_LEN); + drvinfo->n_stats = GFAR_STATS_LEN; + drvinfo->testinfo_len = 0; + drvinfo->regdump_len = 0; + drvinfo->eedump_len = 0; +} + +/* Return the current settings in the ethtool_cmd structure */ +int gfar_gsettings(struct net_device *dev, struct ethtool_cmd *cmd) +{ + struct gfar_private *priv = netdev_priv(dev); + uint gigabit_support = + priv->einfo->flags & GFAR_HAS_GIGABIT ? SUPPORTED_1000baseT_Full : 0; + uint gigabit_advert = + priv->einfo->flags & GFAR_HAS_GIGABIT ? ADVERTISED_1000baseT_Full: 0; + + cmd->supported = (SUPPORTED_10baseT_Half + | SUPPORTED_100baseT_Half + | SUPPORTED_100baseT_Full + | gigabit_support | SUPPORTED_Autoneg); + + /* For now, we always advertise everything */ + cmd->advertising = (ADVERTISED_10baseT_Half + | ADVERTISED_100baseT_Half + | ADVERTISED_100baseT_Full + | gigabit_advert | ADVERTISED_Autoneg); + + cmd->speed = priv->mii_info->speed; + cmd->duplex = priv->mii_info->duplex; + cmd->port = PORT_MII; + cmd->phy_address = priv->mii_info->mii_id; + cmd->transceiver = XCVR_EXTERNAL; + cmd->autoneg = AUTONEG_ENABLE; + cmd->maxtxpkt = priv->txcount; + cmd->maxrxpkt = priv->rxcount; + + return 0; +} + +/* Return the length of the register structure */ +int gfar_reglen(struct net_device *dev) +{ + return sizeof (struct gfar); +} + +/* Return a dump of the GFAR register space */ +void gfar_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *regbuf) +{ + int i; + struct gfar_private *priv = netdev_priv(dev); + u32 *theregs = (u32 *) priv->regs; + u32 *buf = (u32 *) regbuf; + + for (i = 0; i < sizeof (struct gfar) / sizeof (u32); i++) + buf[i] = theregs[i]; +} + +/* Fill in a buffer with the strings which correspond to the + * stats */ +void gfar_gstrings(struct net_device *dev, u32 stringset, u8 * buf) +{ + memcpy(buf, stat_gstrings, GFAR_STATS_LEN * ETH_GSTRING_LEN); +} + +/* Convert microseconds to ethernet clock ticks, which changes + * depending on what speed the controller is running at */ +static unsigned int gfar_usecs2ticks(struct gfar_private *priv, unsigned int usecs) +{ + unsigned int count; + + /* The timer is different, depending on the interface speed */ + switch (priv->mii_info->speed) { + case 1000: + count = GFAR_GBIT_TIME; + break; + case 100: + count = GFAR_100_TIME; + break; + case 10: + default: + count = GFAR_10_TIME; + break; + } + + /* Make sure we return a number greater than 0 + * if usecs > 0 */ + return ((usecs * 1000 + count - 1) / count); +} + +/* Convert ethernet clock ticks to microseconds */ +static unsigned int gfar_ticks2usecs(struct gfar_private *priv, unsigned int ticks) +{ + unsigned int count; + + /* The timer is different, depending on the interface speed */ + switch (priv->mii_info->speed) { + case 1000: + count = GFAR_GBIT_TIME; + break; + case 100: + count = GFAR_100_TIME; + break; + case 10: + default: + count = GFAR_10_TIME; + break; + } + + /* Make sure we return a number greater than 0 */ + /* if ticks is > 0 */ + return ((ticks * count) / 1000); +} + +/* Get the coalescing parameters, and put them in the cvals + * structure. */ +int gfar_gcoalesce(struct net_device *dev, struct ethtool_coalesce *cvals) +{ + struct gfar_private *priv = netdev_priv(dev); + + cvals->rx_coalesce_usecs = gfar_ticks2usecs(priv, priv->rxtime); + cvals->rx_max_coalesced_frames = priv->rxcount; + + cvals->tx_coalesce_usecs = gfar_ticks2usecs(priv, priv->txtime); + cvals->tx_max_coalesced_frames = priv->txcount; + + cvals->use_adaptive_rx_coalesce = 0; + cvals->use_adaptive_tx_coalesce = 0; + + cvals->pkt_rate_low = 0; + cvals->rx_coalesce_usecs_low = 0; + cvals->rx_max_coalesced_frames_low = 0; + cvals->tx_coalesce_usecs_low = 0; + cvals->tx_max_coalesced_frames_low = 0; + + /* When the packet rate is below pkt_rate_high but above + * pkt_rate_low (both measured in packets per second) the + * normal {rx,tx}_* coalescing parameters are used. + */ + + /* When the packet rate is (measured in packets per second) + * is above pkt_rate_high, the {rx,tx}_*_high parameters are + * used. + */ + cvals->pkt_rate_high = 0; + cvals->rx_coalesce_usecs_high = 0; + cvals->rx_max_coalesced_frames_high = 0; + cvals->tx_coalesce_usecs_high = 0; + cvals->tx_max_coalesced_frames_high = 0; + + /* How often to do adaptive coalescing packet rate sampling, + * measured in seconds. Must not be zero. + */ + cvals->rate_sample_interval = 0; + + return 0; +} + +/* Change the coalescing values. + * Both cvals->*_usecs and cvals->*_frames have to be > 0 + * in order for coalescing to be active + */ +int gfar_scoalesce(struct net_device *dev, struct ethtool_coalesce *cvals) +{ + struct gfar_private *priv = netdev_priv(dev); + + /* Set up rx coalescing */ + if ((cvals->rx_coalesce_usecs == 0) || + (cvals->rx_max_coalesced_frames == 0)) + priv->rxcoalescing = 0; + else + priv->rxcoalescing = 1; + + priv->rxtime = gfar_usecs2ticks(priv, cvals->rx_coalesce_usecs); + priv->rxcount = cvals->rx_max_coalesced_frames; + + /* Set up tx coalescing */ + if ((cvals->tx_coalesce_usecs == 0) || + (cvals->tx_max_coalesced_frames == 0)) + priv->txcoalescing = 0; + else + priv->txcoalescing = 1; + + priv->txtime = gfar_usecs2ticks(priv, cvals->tx_coalesce_usecs); + priv->txcount = cvals->tx_max_coalesced_frames; + + if (priv->rxcoalescing) + gfar_write(&priv->regs->rxic, + mk_ic_value(priv->rxcount, priv->rxtime)); + else + gfar_write(&priv->regs->rxic, 0); + + if (priv->txcoalescing) + gfar_write(&priv->regs->txic, + mk_ic_value(priv->txcount, priv->txtime)); + else + gfar_write(&priv->regs->txic, 0); + + return 0; +} + +/* Fills in rvals with the current ring parameters. Currently, + * rx, rx_mini, and rx_jumbo rings are the same size, as mini and + * jumbo are ignored by the driver */ +void gfar_gringparam(struct net_device *dev, struct ethtool_ringparam *rvals) +{ + struct gfar_private *priv = netdev_priv(dev); + + rvals->rx_max_pending = GFAR_RX_MAX_RING_SIZE; + rvals->rx_mini_max_pending = GFAR_RX_MAX_RING_SIZE; + rvals->rx_jumbo_max_pending = GFAR_RX_MAX_RING_SIZE; + rvals->tx_max_pending = GFAR_TX_MAX_RING_SIZE; + + /* Values changeable by the user. The valid values are + * in the range 1 to the "*_max_pending" counterpart above. + */ + rvals->rx_pending = priv->rx_ring_size; + rvals->rx_mini_pending = priv->rx_ring_size; + rvals->rx_jumbo_pending = priv->rx_ring_size; + rvals->tx_pending = priv->tx_ring_size; +} + +/* Change the current ring parameters, stopping the controller if + * necessary so that we don't mess things up while we're in + * motion. We wait for the ring to be clean before reallocating + * the rings. */ +int gfar_sringparam(struct net_device *dev, struct ethtool_ringparam *rvals) +{ + u32 tempval; + struct gfar_private *priv = netdev_priv(dev); + int err = 0; + + if (rvals->rx_pending > GFAR_RX_MAX_RING_SIZE) + return -EINVAL; + + if (!is_power_of_2(rvals->rx_pending)) { + printk("%s: Ring sizes must be a power of 2\n", + dev->name); + return -EINVAL; + } + + if (rvals->tx_pending > GFAR_TX_MAX_RING_SIZE) + return -EINVAL; + + if (!is_power_of_2(rvals->tx_pending)) { + printk("%s: Ring sizes must be a power of 2\n", + dev->name); + return -EINVAL; + } + + /* Stop the controller so we don't rx any more frames */ + /* But first, make sure we clear the bits */ + tempval = gfar_read(&priv->regs->dmactrl); + tempval &= ~(DMACTRL_GRS | DMACTRL_GTS); + gfar_write(&priv->regs->dmactrl, tempval); + + tempval = gfar_read(&priv->regs->dmactrl); + tempval |= (DMACTRL_GRS | DMACTRL_GTS); + gfar_write(&priv->regs->dmactrl, tempval); + + while (!(gfar_read(&priv->regs->ievent) & (IEVENT_GRSC | IEVENT_GTSC))) + cpu_relax(); + + /* Note that rx is not clean right now */ + priv->rxclean = 0; + + if (dev->flags & IFF_UP) { + /* Tell the driver to process the rest of the frames */ + gfar_receive(0, (void *) dev, NULL); + + /* Now wait for it to be done */ + wait_event_interruptible(priv->rxcleanupq, priv->rxclean); + + /* Ok, all packets have been handled. Now we bring it down, + * change the ring size, and bring it up */ + + stop_gfar(dev); + } + + priv->rx_ring_size = rvals->rx_pending; + priv->tx_ring_size = rvals->tx_pending; + + if (dev->flags & IFF_UP) + err = startup_gfar(dev); + + return err; +} + +struct ethtool_ops gfar_ethtool_ops = { + .get_settings = gfar_gsettings, + .get_drvinfo = gfar_gdrvinfo, + .get_regs_len = gfar_reglen, + .get_regs = gfar_get_regs, + .get_link = ethtool_op_get_link, + .get_coalesce = gfar_gcoalesce, + .set_coalesce = gfar_scoalesce, + .get_ringparam = gfar_gringparam, + .set_ringparam = gfar_sringparam, + .get_strings = gfar_gstrings, + .get_stats_count = gfar_stats_count, + .get_ethtool_stats = gfar_fill_stats, +}; + +struct ethtool_ops gfar_normon_nocoalesce_ethtool_ops = { + .get_settings = gfar_gsettings, + .get_drvinfo = gfar_gdrvinfo, + .get_regs_len = gfar_reglen, + .get_regs = gfar_get_regs, + .get_link = ethtool_op_get_link, + .get_ringparam = gfar_gringparam, + .set_ringparam = gfar_sringparam, + .get_strings = gfar_gstrings_normon, + .get_stats_count = gfar_stats_count_normon, + .get_ethtool_stats = gfar_fill_stats_normon, +}; + +struct ethtool_ops gfar_nocoalesce_ethtool_ops = { + .get_settings = gfar_gsettings, + .get_drvinfo = gfar_gdrvinfo, + .get_regs_len = gfar_reglen, + .get_regs = gfar_get_regs, + .get_link = ethtool_op_get_link, + .get_ringparam = gfar_gringparam, + .set_ringparam = gfar_sringparam, + .get_strings = gfar_gstrings, + .get_stats_count = gfar_stats_count, + .get_ethtool_stats = gfar_fill_stats, +}; + +struct ethtool_ops gfar_normon_ethtool_ops = { + .get_settings = gfar_gsettings, + .get_drvinfo = gfar_gdrvinfo, + .get_regs_len = gfar_reglen, + .get_regs = gfar_get_regs, + .get_link = ethtool_op_get_link, + .get_coalesce = gfar_gcoalesce, + .set_coalesce = gfar_scoalesce, + .get_ringparam = gfar_gringparam, + .set_ringparam = gfar_sringparam, + .get_strings = gfar_gstrings_normon, + .get_stats_count = gfar_stats_count_normon, + .get_ethtool_stats = gfar_fill_stats_normon, +}; + +struct ethtool_ops *gfar_op_array[] = { + &gfar_ethtool_ops, + &gfar_normon_ethtool_ops, + &gfar_nocoalesce_ethtool_ops, + &gfar_normon_nocoalesce_ethtool_ops +}; diff --git a/drivers/net/gianfar_phy.c b/drivers/net/gianfar_phy.c new file mode 100644 index 000000000..02b16abc8 --- /dev/null +++ b/drivers/net/gianfar_phy.c @@ -0,0 +1,661 @@ +/* + * drivers/net/gianfar_phy.c + * + * Gianfar Ethernet Driver -- PHY handling + * Driver for FEC on MPC8540 and TSEC on MPC8540/MPC8560 + * Based on 8260_io/fcc_enet.c + * + * Author: Andy Fleming + * Maintainer: Kumar Gala (kumar.gala@freescale.com) + * + * Copyright (c) 2002-2004 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "gianfar.h" +#include "gianfar_phy.h" + +static void config_genmii_advert(struct gfar_mii_info *mii_info); +static void genmii_setup_forced(struct gfar_mii_info *mii_info); +static void genmii_restart_aneg(struct gfar_mii_info *mii_info); +static int gbit_config_aneg(struct gfar_mii_info *mii_info); +static int genmii_config_aneg(struct gfar_mii_info *mii_info); +static int genmii_update_link(struct gfar_mii_info *mii_info); +static int genmii_read_status(struct gfar_mii_info *mii_info); +u16 phy_read(struct gfar_mii_info *mii_info, u16 regnum); +void phy_write(struct gfar_mii_info *mii_info, u16 regnum, u16 val); + +/* Write value to the PHY for this device to the register at regnum, */ +/* waiting until the write is done before it returns. All PHY */ +/* configuration has to be done through the TSEC1 MIIM regs */ +void write_phy_reg(struct net_device *dev, int mii_id, int regnum, int value) +{ + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regbase = priv->phyregs; + + /* Set the PHY address and the register address we want to write */ + gfar_write(®base->miimadd, (mii_id << 8) | regnum); + + /* Write out the value we want */ + gfar_write(®base->miimcon, value); + + /* Wait for the transaction to finish */ + while (gfar_read(®base->miimind) & MIIMIND_BUSY) + cpu_relax(); +} + +/* Reads from register regnum in the PHY for device dev, */ +/* returning the value. Clears miimcom first. All PHY */ +/* configuration has to be done through the TSEC1 MIIM regs */ +int read_phy_reg(struct net_device *dev, int mii_id, int regnum) +{ + struct gfar_private *priv = netdev_priv(dev); + struct gfar *regbase = priv->phyregs; + u16 value; + + /* Set the PHY address and the register address we want to read */ + gfar_write(®base->miimadd, (mii_id << 8) | regnum); + + /* Clear miimcom, and then initiate a read */ + gfar_write(®base->miimcom, 0); + gfar_write(®base->miimcom, MII_READ_COMMAND); + + /* Wait for the transaction to finish */ + while (gfar_read(®base->miimind) & (MIIMIND_NOTVALID | MIIMIND_BUSY)) + cpu_relax(); + + /* Grab the value of the register from miimstat */ + value = gfar_read(®base->miimstat); + + return value; +} + +void mii_clear_phy_interrupt(struct gfar_mii_info *mii_info) +{ + if(mii_info->phyinfo->ack_interrupt) + mii_info->phyinfo->ack_interrupt(mii_info); +} + + +void mii_configure_phy_interrupt(struct gfar_mii_info *mii_info, u32 interrupts) +{ + mii_info->interrupts = interrupts; + if(mii_info->phyinfo->config_intr) + mii_info->phyinfo->config_intr(mii_info); +} + + +/* Writes MII_ADVERTISE with the appropriate values, after + * sanitizing advertise to make sure only supported features + * are advertised + */ +static void config_genmii_advert(struct gfar_mii_info *mii_info) +{ + u32 advertise; + u16 adv; + + /* Only allow advertising what this PHY supports */ + mii_info->advertising &= mii_info->phyinfo->features; + advertise = mii_info->advertising; + + /* Setup standard advertisement */ + adv = phy_read(mii_info, MII_ADVERTISE); + adv &= ~(ADVERTISE_ALL | ADVERTISE_100BASE4); + if (advertise & ADVERTISED_10baseT_Half) + adv |= ADVERTISE_10HALF; + if (advertise & ADVERTISED_10baseT_Full) + adv |= ADVERTISE_10FULL; + if (advertise & ADVERTISED_100baseT_Half) + adv |= ADVERTISE_100HALF; + if (advertise & ADVERTISED_100baseT_Full) + adv |= ADVERTISE_100FULL; + phy_write(mii_info, MII_ADVERTISE, adv); +} + +static void genmii_setup_forced(struct gfar_mii_info *mii_info) +{ + u16 ctrl; + u32 features = mii_info->phyinfo->features; + + ctrl = phy_read(mii_info, MII_BMCR); + + ctrl &= ~(BMCR_FULLDPLX|BMCR_SPEED100|BMCR_SPEED1000|BMCR_ANENABLE); + ctrl |= BMCR_RESET; + + switch(mii_info->speed) { + case SPEED_1000: + if(features & (SUPPORTED_1000baseT_Half + | SUPPORTED_1000baseT_Full)) { + ctrl |= BMCR_SPEED1000; + break; + } + mii_info->speed = SPEED_100; + case SPEED_100: + if (features & (SUPPORTED_100baseT_Half + | SUPPORTED_100baseT_Full)) { + ctrl |= BMCR_SPEED100; + break; + } + mii_info->speed = SPEED_10; + case SPEED_10: + if (features & (SUPPORTED_10baseT_Half + | SUPPORTED_10baseT_Full)) + break; + default: /* Unsupported speed! */ + printk(KERN_ERR "%s: Bad speed!\n", + mii_info->dev->name); + break; + } + + phy_write(mii_info, MII_BMCR, ctrl); +} + + +/* Enable and Restart Autonegotiation */ +static void genmii_restart_aneg(struct gfar_mii_info *mii_info) +{ + u16 ctl; + + ctl = phy_read(mii_info, MII_BMCR); + ctl |= (BMCR_ANENABLE | BMCR_ANRESTART); + phy_write(mii_info, MII_BMCR, ctl); +} + + +static int gbit_config_aneg(struct gfar_mii_info *mii_info) +{ + u16 adv; + u32 advertise; + + if(mii_info->autoneg) { + /* Configure the ADVERTISE register */ + config_genmii_advert(mii_info); + advertise = mii_info->advertising; + + adv = phy_read(mii_info, MII_1000BASETCONTROL); + adv &= ~(MII_1000BASETCONTROL_FULLDUPLEXCAP | + MII_1000BASETCONTROL_HALFDUPLEXCAP); + if (advertise & SUPPORTED_1000baseT_Half) + adv |= MII_1000BASETCONTROL_HALFDUPLEXCAP; + if (advertise & SUPPORTED_1000baseT_Full) + adv |= MII_1000BASETCONTROL_FULLDUPLEXCAP; + phy_write(mii_info, MII_1000BASETCONTROL, adv); + + /* Start/Restart aneg */ + genmii_restart_aneg(mii_info); + } else + genmii_setup_forced(mii_info); + + return 0; +} + +static int marvell_config_aneg(struct gfar_mii_info *mii_info) +{ + /* The Marvell PHY has an errata which requires + * that certain registers get written in order + * to restart autonegotiation */ + phy_write(mii_info, MII_BMCR, BMCR_RESET); + + phy_write(mii_info, 0x1d, 0x1f); + phy_write(mii_info, 0x1e, 0x200c); + phy_write(mii_info, 0x1d, 0x5); + phy_write(mii_info, 0x1e, 0); + phy_write(mii_info, 0x1e, 0x100); + + gbit_config_aneg(mii_info); + + return 0; +} +static int genmii_config_aneg(struct gfar_mii_info *mii_info) +{ + if (mii_info->autoneg) { + config_genmii_advert(mii_info); + genmii_restart_aneg(mii_info); + } else + genmii_setup_forced(mii_info); + + return 0; +} + + +static int genmii_update_link(struct gfar_mii_info *mii_info) +{ + u16 status; + + /* Do a fake read */ + phy_read(mii_info, MII_BMSR); + + /* Read link and autonegotiation status */ + status = phy_read(mii_info, MII_BMSR); + if ((status & BMSR_LSTATUS) == 0) + mii_info->link = 0; + else + mii_info->link = 1; + + /* If we are autonegotiating, and not done, + * return an error */ + if (mii_info->autoneg && !(status & BMSR_ANEGCOMPLETE)) + return -EAGAIN; + + return 0; +} + +static int genmii_read_status(struct gfar_mii_info *mii_info) +{ + u16 status; + int err; + + /* Update the link, but return if there + * was an error */ + err = genmii_update_link(mii_info); + if (err) + return err; + + if (mii_info->autoneg) { + status = phy_read(mii_info, MII_LPA); + + if (status & (LPA_10FULL | LPA_100FULL)) + mii_info->duplex = DUPLEX_FULL; + else + mii_info->duplex = DUPLEX_HALF; + if (status & (LPA_100FULL | LPA_100HALF)) + mii_info->speed = SPEED_100; + else + mii_info->speed = SPEED_10; + mii_info->pause = 0; + } + /* On non-aneg, we assume what we put in BMCR is the speed, + * though magic-aneg shouldn't prevent this case from occurring + */ + + return 0; +} +static int marvell_read_status(struct gfar_mii_info *mii_info) +{ + u16 status; + int err; + + /* Update the link, but return if there + * was an error */ + err = genmii_update_link(mii_info); + if (err) + return err; + + /* If the link is up, read the speed and duplex */ + /* If we aren't autonegotiating, assume speeds + * are as set */ + if (mii_info->autoneg && mii_info->link) { + int speed; + status = phy_read(mii_info, MII_M1011_PHY_SPEC_STATUS); + +#if 0 + /* If speed and duplex aren't resolved, + * return an error. Isn't this handled + * by checking aneg? + */ + if ((status & MII_M1011_PHY_SPEC_STATUS_RESOLVED) == 0) + return -EAGAIN; +#endif + + /* Get the duplexity */ + if (status & MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX) + mii_info->duplex = DUPLEX_FULL; + else + mii_info->duplex = DUPLEX_HALF; + + /* Get the speed */ + speed = status & MII_M1011_PHY_SPEC_STATUS_SPD_MASK; + switch(speed) { + case MII_M1011_PHY_SPEC_STATUS_1000: + mii_info->speed = SPEED_1000; + break; + case MII_M1011_PHY_SPEC_STATUS_100: + mii_info->speed = SPEED_100; + break; + default: + mii_info->speed = SPEED_10; + break; + } + mii_info->pause = 0; + } + + return 0; +} + + +static int cis820x_read_status(struct gfar_mii_info *mii_info) +{ + u16 status; + int err; + + /* Update the link, but return if there + * was an error */ + err = genmii_update_link(mii_info); + if (err) + return err; + + /* If the link is up, read the speed and duplex */ + /* If we aren't autonegotiating, assume speeds + * are as set */ + if (mii_info->autoneg && mii_info->link) { + int speed; + + status = phy_read(mii_info, MII_CIS8201_AUX_CONSTAT); + if (status & MII_CIS8201_AUXCONSTAT_DUPLEX) + mii_info->duplex = DUPLEX_FULL; + else + mii_info->duplex = DUPLEX_HALF; + + speed = status & MII_CIS8201_AUXCONSTAT_SPEED; + + switch (speed) { + case MII_CIS8201_AUXCONSTAT_GBIT: + mii_info->speed = SPEED_1000; + break; + case MII_CIS8201_AUXCONSTAT_100: + mii_info->speed = SPEED_100; + break; + default: + mii_info->speed = SPEED_10; + break; + } + } + + return 0; +} + +static int marvell_ack_interrupt(struct gfar_mii_info *mii_info) +{ + /* Clear the interrupts by reading the reg */ + phy_read(mii_info, MII_M1011_IEVENT); + + return 0; +} + +static int marvell_config_intr(struct gfar_mii_info *mii_info) +{ + if(mii_info->interrupts == MII_INTERRUPT_ENABLED) + phy_write(mii_info, MII_M1011_IMASK, MII_M1011_IMASK_INIT); + else + phy_write(mii_info, MII_M1011_IMASK, MII_M1011_IMASK_CLEAR); + + return 0; +} + +static int cis820x_init(struct gfar_mii_info *mii_info) +{ + phy_write(mii_info, MII_CIS8201_AUX_CONSTAT, + MII_CIS8201_AUXCONSTAT_INIT); + phy_write(mii_info, MII_CIS8201_EXT_CON1, + MII_CIS8201_EXTCON1_INIT); + + return 0; +} + +static int cis820x_ack_interrupt(struct gfar_mii_info *mii_info) +{ + phy_read(mii_info, MII_CIS8201_ISTAT); + + return 0; +} + +static int cis820x_config_intr(struct gfar_mii_info *mii_info) +{ + if(mii_info->interrupts == MII_INTERRUPT_ENABLED) + phy_write(mii_info, MII_CIS8201_IMASK, MII_CIS8201_IMASK_MASK); + else + phy_write(mii_info, MII_CIS8201_IMASK, 0); + + return 0; +} + +#define DM9161_DELAY 10 + +static int dm9161_read_status(struct gfar_mii_info *mii_info) +{ + u16 status; + int err; + + /* Update the link, but return if there + * was an error */ + err = genmii_update_link(mii_info); + if (err) + return err; + + /* If the link is up, read the speed and duplex */ + /* If we aren't autonegotiating, assume speeds + * are as set */ + if (mii_info->autoneg && mii_info->link) { + status = phy_read(mii_info, MII_DM9161_SCSR); + if (status & (MII_DM9161_SCSR_100F | MII_DM9161_SCSR_100H)) + mii_info->speed = SPEED_100; + else + mii_info->speed = SPEED_10; + + if (status & (MII_DM9161_SCSR_100F | MII_DM9161_SCSR_10F)) + mii_info->duplex = DUPLEX_FULL; + else + mii_info->duplex = DUPLEX_HALF; + } + + return 0; +} + + +static int dm9161_config_aneg(struct gfar_mii_info *mii_info) +{ + struct dm9161_private *priv = mii_info->priv; + + if(0 == priv->resetdone) + return -EAGAIN; + + return 0; +} + +static void dm9161_timer(unsigned long data) +{ + struct gfar_mii_info *mii_info = (struct gfar_mii_info *)data; + struct dm9161_private *priv = mii_info->priv; + u16 status = phy_read(mii_info, MII_BMSR); + + if (status & BMSR_ANEGCOMPLETE) { + priv->resetdone = 1; + } else + mod_timer(&priv->timer, jiffies + DM9161_DELAY * HZ); +} + +static int dm9161_init(struct gfar_mii_info *mii_info) +{ + struct dm9161_private *priv; + + /* Allocate the private data structure */ + priv = kmalloc(sizeof(struct dm9161_private), GFP_KERNEL); + + if (NULL == priv) + return -ENOMEM; + + mii_info->priv = priv; + + /* Reset is not done yet */ + priv->resetdone = 0; + + /* Isolate the PHY */ + phy_write(mii_info, MII_BMCR, BMCR_ISOLATE); + + /* Do not bypass the scrambler/descrambler */ + phy_write(mii_info, MII_DM9161_SCR, MII_DM9161_SCR_INIT); + + /* Clear 10BTCSR to default */ + phy_write(mii_info, MII_DM9161_10BTCSR, MII_DM9161_10BTCSR_INIT); + + /* Reconnect the PHY, and enable Autonegotiation */ + phy_write(mii_info, MII_BMCR, BMCR_ANENABLE); + + /* Start a timer for DM9161_DELAY seconds to wait + * for the PHY to be ready */ + init_timer(&priv->timer); + priv->timer.function = &dm9161_timer; + priv->timer.data = (unsigned long) mii_info; + mod_timer(&priv->timer, jiffies + DM9161_DELAY * HZ); + + return 0; +} + +static void dm9161_close(struct gfar_mii_info *mii_info) +{ + struct dm9161_private *priv = mii_info->priv; + + del_timer_sync(&priv->timer); + kfree(priv); +} + +#if 0 +static int dm9161_ack_interrupt(struct gfar_mii_info *mii_info) +{ + phy_read(mii_info, MII_DM9161_INTR); + + return 0; +} +#endif + +/* Cicada 820x */ +static struct phy_info phy_info_cis820x = { + 0x000fc440, + "Cicada Cis8204", + 0x000fffc0, + .features = MII_GBIT_FEATURES, + .init = &cis820x_init, + .config_aneg = &gbit_config_aneg, + .read_status = &cis820x_read_status, + .ack_interrupt = &cis820x_ack_interrupt, + .config_intr = &cis820x_config_intr, +}; + +static struct phy_info phy_info_dm9161 = { + .phy_id = 0x0181b880, + .name = "Davicom DM9161E", + .phy_id_mask = 0x0ffffff0, + .init = dm9161_init, + .config_aneg = dm9161_config_aneg, + .read_status = dm9161_read_status, + .close = dm9161_close, +}; + +static struct phy_info phy_info_marvell = { + .phy_id = 0x01410c00, + .phy_id_mask = 0xffffff00, + .name = "Marvell 88E1101", + .features = MII_GBIT_FEATURES, + .config_aneg = &marvell_config_aneg, + .read_status = &marvell_read_status, + .ack_interrupt = &marvell_ack_interrupt, + .config_intr = &marvell_config_intr, +}; + +static struct phy_info phy_info_genmii= { + .phy_id = 0x00000000, + .phy_id_mask = 0x00000000, + .name = "Generic MII", + .features = MII_BASIC_FEATURES, + .config_aneg = genmii_config_aneg, + .read_status = genmii_read_status, +}; + +static struct phy_info *phy_info[] = { + &phy_info_cis820x, + &phy_info_marvell, + &phy_info_dm9161, + &phy_info_genmii, + NULL +}; + +u16 phy_read(struct gfar_mii_info *mii_info, u16 regnum) +{ + u16 retval; + unsigned long flags; + + spin_lock_irqsave(&mii_info->mdio_lock, flags); + retval = mii_info->mdio_read(mii_info->dev, mii_info->mii_id, regnum); + spin_unlock_irqrestore(&mii_info->mdio_lock, flags); + + return retval; +} + +void phy_write(struct gfar_mii_info *mii_info, u16 regnum, u16 val) +{ + unsigned long flags; + + spin_lock_irqsave(&mii_info->mdio_lock, flags); + mii_info->mdio_write(mii_info->dev, + mii_info->mii_id, + regnum, val); + spin_unlock_irqrestore(&mii_info->mdio_lock, flags); +} + +/* Use the PHY ID registers to determine what type of PHY is attached + * to device dev. return a struct phy_info structure describing that PHY + */ +struct phy_info * get_phy_info(struct gfar_mii_info *mii_info) +{ + u16 phy_reg; + u32 phy_ID; + int i; + struct phy_info *theInfo = NULL; + struct net_device *dev = mii_info->dev; + + /* Grab the bits from PHYIR1, and put them in the upper half */ + phy_reg = phy_read(mii_info, MII_PHYSID1); + phy_ID = (phy_reg & 0xffff) << 16; + + /* Grab the bits from PHYIR2, and put them in the lower half */ + phy_reg = phy_read(mii_info, MII_PHYSID2); + phy_ID |= (phy_reg & 0xffff); + + /* loop through all the known PHY types, and find one that */ + /* matches the ID we read from the PHY. */ + for (i = 0; phy_info[i]; i++) + if (phy_info[i]->phy_id == + (phy_ID & phy_info[i]->phy_id_mask)) { + theInfo = phy_info[i]; + break; + } + + /* This shouldn't happen, as we have generic PHY support */ + if (theInfo == NULL) { + printk("%s: PHY id %x is not supported!\n", dev->name, phy_ID); + return NULL; + } else { + printk("%s: PHY is %s (%x)\n", dev->name, theInfo->name, + phy_ID); + } + + return theInfo; +} diff --git a/drivers/net/gianfar_phy.h b/drivers/net/gianfar_phy.h new file mode 100644 index 000000000..1e9b3abf1 --- /dev/null +++ b/drivers/net/gianfar_phy.h @@ -0,0 +1,213 @@ +/* + * drivers/net/gianfar_phy.h + * + * Gianfar Ethernet Driver -- PHY handling + * Driver for FEC on MPC8540 and TSEC on MPC8540/MPC8560 + * Based on 8260_io/fcc_enet.c + * + * Author: Andy Fleming + * Maintainer: Kumar Gala (kumar.gala@freescale.com) + * + * Copyright (c) 2002-2004 Freescale Semiconductor, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + */ +#ifndef __GIANFAR_PHY_H +#define __GIANFAR_PHY_H + +#define MII_end ((u32)-2) +#define MII_read ((u32)-1) + +#define MIIMIND_BUSY 0x00000001 +#define MIIMIND_NOTVALID 0x00000004 + +#define GFAR_AN_TIMEOUT 2000 + +/* 1000BT control (Marvell & BCM54xx at least) */ +#define MII_1000BASETCONTROL 0x09 +#define MII_1000BASETCONTROL_FULLDUPLEXCAP 0x0200 +#define MII_1000BASETCONTROL_HALFDUPLEXCAP 0x0100 + +/* Cicada Extended Control Register 1 */ +#define MII_CIS8201_EXT_CON1 0x17 +#define MII_CIS8201_EXTCON1_INIT 0x0000 + +/* Cicada Interrupt Mask Register */ +#define MII_CIS8201_IMASK 0x19 +#define MII_CIS8201_IMASK_IEN 0x8000 +#define MII_CIS8201_IMASK_SPEED 0x4000 +#define MII_CIS8201_IMASK_LINK 0x2000 +#define MII_CIS8201_IMASK_DUPLEX 0x1000 +#define MII_CIS8201_IMASK_MASK 0xf000 + +/* Cicada Interrupt Status Register */ +#define MII_CIS8201_ISTAT 0x1a +#define MII_CIS8201_ISTAT_STATUS 0x8000 +#define MII_CIS8201_ISTAT_SPEED 0x4000 +#define MII_CIS8201_ISTAT_LINK 0x2000 +#define MII_CIS8201_ISTAT_DUPLEX 0x1000 + +/* Cicada Auxiliary Control/Status Register */ +#define MII_CIS8201_AUX_CONSTAT 0x1c +#define MII_CIS8201_AUXCONSTAT_INIT 0x0004 +#define MII_CIS8201_AUXCONSTAT_DUPLEX 0x0020 +#define MII_CIS8201_AUXCONSTAT_SPEED 0x0018 +#define MII_CIS8201_AUXCONSTAT_GBIT 0x0010 +#define MII_CIS8201_AUXCONSTAT_100 0x0008 + +/* 88E1011 PHY Status Register */ +#define MII_M1011_PHY_SPEC_STATUS 0x11 +#define MII_M1011_PHY_SPEC_STATUS_1000 0x8000 +#define MII_M1011_PHY_SPEC_STATUS_100 0x4000 +#define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 0xc000 +#define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 0x2000 +#define MII_M1011_PHY_SPEC_STATUS_RESOLVED 0x0800 +#define MII_M1011_PHY_SPEC_STATUS_LINK 0x0400 + +#define MII_M1011_IEVENT 0x13 +#define MII_M1011_IEVENT_CLEAR 0x0000 + +#define MII_M1011_IMASK 0x12 +#define MII_M1011_IMASK_INIT 0x6400 +#define MII_M1011_IMASK_CLEAR 0x0000 + +#define MII_DM9161_SCR 0x10 +#define MII_DM9161_SCR_INIT 0x0610 + +/* DM9161 Specified Configuration and Status Register */ +#define MII_DM9161_SCSR 0x11 +#define MII_DM9161_SCSR_100F 0x8000 +#define MII_DM9161_SCSR_100H 0x4000 +#define MII_DM9161_SCSR_10F 0x2000 +#define MII_DM9161_SCSR_10H 0x1000 + +/* DM9161 Interrupt Register */ +#define MII_DM9161_INTR 0x15 +#define MII_DM9161_INTR_PEND 0x8000 +#define MII_DM9161_INTR_DPLX_MASK 0x0800 +#define MII_DM9161_INTR_SPD_MASK 0x0400 +#define MII_DM9161_INTR_LINK_MASK 0x0200 +#define MII_DM9161_INTR_MASK 0x0100 +#define MII_DM9161_INTR_DPLX_CHANGE 0x0010 +#define MII_DM9161_INTR_SPD_CHANGE 0x0008 +#define MII_DM9161_INTR_LINK_CHANGE 0x0004 +#define MII_DM9161_INTR_INIT 0x0000 +#define MII_DM9161_INTR_STOP \ +(MII_DM9161_INTR_DPLX_MASK | MII_DM9161_INTR_SPD_MASK \ + | MII_DM9161_INTR_LINK_MASK | MII_DM9161_INTR_MASK) + +/* DM9161 10BT Configuration/Status */ +#define MII_DM9161_10BTCSR 0x12 +#define MII_DM9161_10BTCSR_INIT 0x7800 + +#define MII_BASIC_FEATURES (SUPPORTED_10baseT_Half | \ + SUPPORTED_10baseT_Full | \ + SUPPORTED_100baseT_Half | \ + SUPPORTED_100baseT_Full | \ + SUPPORTED_Autoneg | \ + SUPPORTED_TP | \ + SUPPORTED_MII) + +#define MII_GBIT_FEATURES (MII_BASIC_FEATURES | \ + SUPPORTED_1000baseT_Half | \ + SUPPORTED_1000baseT_Full) + +#define MII_READ_COMMAND 0x00000001 + +#define MII_INTERRUPT_DISABLED 0x0 +#define MII_INTERRUPT_ENABLED 0x1 +/* Taken from mii_if_info and sungem_phy.h */ +struct gfar_mii_info { + /* Information about the PHY type */ + /* And management functions */ + struct phy_info *phyinfo; + + /* forced speed & duplex (no autoneg) + * partner speed & duplex & pause (autoneg) + */ + int speed; + int duplex; + int pause; + + /* The most recently read link state */ + int link; + + /* Enabled Interrupts */ + u32 interrupts; + + u32 advertising; + int autoneg; + int mii_id; + + /* private data pointer */ + /* For use by PHYs to maintain extra state */ + void *priv; + + /* Provided by host chip */ + struct net_device *dev; + + /* A lock to ensure that only one thing can read/write + * the MDIO bus at a time */ + spinlock_t mdio_lock; + + /* Provided by ethernet driver */ + int (*mdio_read) (struct net_device *dev, int mii_id, int reg); + void (*mdio_write) (struct net_device *dev, int mii_id, int reg, int val); +}; + +/* struct phy_info: a structure which defines attributes for a PHY + * + * id will contain a number which represents the PHY. During + * startup, the driver will poll the PHY to find out what its + * UID--as defined by registers 2 and 3--is. The 32-bit result + * gotten from the PHY will be ANDed with phy_id_mask to + * discard any bits which may change based on revision numbers + * unimportant to functionality + * + * There are 6 commands which take a gfar_mii_info structure. + * Each PHY must declare config_aneg, and read_status. + */ +struct phy_info { + u32 phy_id; + char *name; + unsigned int phy_id_mask; + u32 features; + + /* Called to initialize the PHY */ + int (*init)(struct gfar_mii_info *mii_info); + + /* Called to suspend the PHY for power */ + int (*suspend)(struct gfar_mii_info *mii_info); + + /* Reconfigures autonegotiation (or disables it) */ + int (*config_aneg)(struct gfar_mii_info *mii_info); + + /* Determines the negotiated speed and duplex */ + int (*read_status)(struct gfar_mii_info *mii_info); + + /* Clears any pending interrupts */ + int (*ack_interrupt)(struct gfar_mii_info *mii_info); + + /* Enables or disables interrupts */ + int (*config_intr)(struct gfar_mii_info *mii_info); + + /* Clears up any memory if needed */ + void (*close)(struct gfar_mii_info *mii_info); +}; + +struct phy_info *get_phy_info(struct gfar_mii_info *mii_info); +int read_phy_reg(struct net_device *dev, int mii_id, int regnum); +void write_phy_reg(struct net_device *dev, int mii_id, int regnum, int value); +void mii_clear_phy_interrupt(struct gfar_mii_info *mii_info); +void mii_configure_phy_interrupt(struct gfar_mii_info *mii_info, u32 interrupts); + +struct dm9161_private { + struct timer_list timer; + int resetdone; +}; + +#endif /* GIANFAR_PHY_H */ diff --git a/drivers/net/gt96100eth.c b/drivers/net/gt96100eth.c index 0cbf1d143..a41ccc452 100644 --- a/drivers/net/gt96100eth.c +++ b/drivers/net/gt96100eth.c @@ -28,7 +28,6 @@ * gt96100_cleanup_module(), and other general code cleanups * . */ -#include #include #include #include @@ -66,10 +65,6 @@ static int gt96100_add_hash_entry(struct net_device *dev, static void read_mib_counters(struct gt96100_private *gp); static int read_MII(int phy_addr, u32 reg); static int write_MII(int phy_addr, u32 reg, u16 data); -#if 0 -static void dump_tx_ring(struct net_device *dev); -static void dump_rx_ring(struct net_device *dev); -#endif static int gt96100_init_module(void); static void gt96100_cleanup_module(void); static void dump_MII(int dbg_lvl, struct net_device *dev); @@ -84,7 +79,7 @@ static void abort(struct net_device *dev, u32 abort_bits); static void hard_stop(struct net_device *dev); static void enable_ether_irq(struct net_device *dev); static void disable_ether_irq(struct net_device *dev); -static int gt96100_probe1(int port_num); +static int gt96100_probe1(struct pci_dev *pci, int port_num); static void reset_tx(struct net_device *dev); static void reset_rx(struct net_device *dev); static int gt96100_check_tx_consistent(struct gt96100_private *gp); @@ -164,13 +159,11 @@ chip_name(int chip_rev) /* DMA memory allocation, derived from pci_alloc_consistent. */ -static void * -dmaalloc(size_t size, dma_addr_t *dma_handle) +static void * dmaalloc(size_t size, dma_addr_t *dma_handle) { void *ret; - ret = (void *)__get_free_pages(GFP_ATOMIC | GFP_DMA, - get_order(size)); + ret = (void *)__get_free_pages(GFP_ATOMIC | GFP_DMA, get_order(size)); if (ret != NULL) { dma_cache_inv((unsigned long)ret, size); @@ -184,17 +177,13 @@ dmaalloc(size_t size, dma_addr_t *dma_handle) return ret; } -static void -dmafree(size_t size, void *vaddr) +static void dmafree(size_t size, void *vaddr) { vaddr = (void*)KSEG0ADDR(vaddr); free_pages((unsigned long)vaddr, get_order(size)); } - - -static void -gt96100_delay(int ms) +static void gt96100_delay(int ms) { if (in_interrupt()) return; @@ -327,34 +316,6 @@ write_MII(int phy_addr, u32 reg, u16 data) return 0; } -#if 0 -// These routines work, just disabled to avoid compile warnings -static void -dump_tx_ring(struct net_device *dev) -{ - struct gt96100_private *gp = netdev_priv(dev); - int i; - - dbg(0, "%s: txno/txni/cnt=%d/%d/%d\n", __FUNCTION__, - gp->tx_next_out, gp->tx_next_in, gp->tx_count); - - for (i=0; irx_next_out); - - for (i=0; iirq < 0) { - printk(KERN_ERR "%s: irq unknown - probing not supported\n", __FUNCTION_); + printk(KERN_ERR "%s: irq unknown - probing not supported\n", + __FUNCTION__); return -ENODEV; } - pcibios_read_config_byte(0, 0, PCI_REVISION_ID, &chip_rev); + pci_read_config_byte(pci, PCI_REVISION_ID, &chip_rev); if (chip_rev >= REV_GT96100A_1) { phyAD = GT96100_READ(GT96100_ETH_PHY_ADDR_REG); phy_addr = (phyAD >> (5*port_num)) & 0x1f; } else { /* - * not sure what's this about -- probably - * a gt bug + * not sure what's this about -- probably a gt bug */ phy_addr = port_num; phyAD = GT96100_READ(GT96100_ETH_PHY_ADDR_REG); @@ -831,6 +784,7 @@ out1: free_netdev (dev); out: release_region(gtif->iobase, GT96100_ETH_IO_SIZE); + err("%s failed. Returns %d\n", __FUNCTION__, retval); return retval; } @@ -1102,6 +1056,7 @@ gt96100_close(struct net_device *dev) } free_irq(dev->irq, dev); + return 0; } @@ -1312,10 +1267,11 @@ gt96100_tx_complete(struct net_device *dev, u32 status) cmdstat, nextOut); if (cmdstat & (u32)txOwn) { - //dump_tx_ring(dev); - // DMA is not finished writing descriptor??? - // Leave and come back later to pick-up where - // we left off. + /* + * DMA is not finished writing descriptor??? + * Leave and come back later to pick-up where + * we left off. + */ break; } @@ -1342,7 +1298,8 @@ gt96100_tx_complete(struct net_device *dev, u32 status) gp->tx_full = 0; if (gp->last_psr & psrLink) { netif_wake_queue(dev); - dbg(2, "%s: Tx Ring was full, queue waked\n", __FUNCTION_); + dbg(2, "%s: Tx Ring was full, queue waked\n", + __FUNCTION__); } } @@ -1425,12 +1382,12 @@ gt96100_interrupt(int irq, void *dev_id, struct pt_regs *regs) if ((psr & psrLink) && !gp->tx_full && netif_queue_stopped(dev)) { - dbg(0, ": Link up, waking queue.\n", - __FUNCTION_); + dbg(0, "%s: Link up, waking queue.\n", + __FUNCTION__); netif_wake_queue(dev); } else if (!(psr & psrLink) && !netif_queue_stopped(dev)) { - dbg(0, "Link down, stopping queue.\n", + dbg(0, "%s: Link down, stopping queue.\n", __FUNCTION__); netif_stop_queue(dev); } @@ -1569,8 +1526,8 @@ static void gt96100_cleanup_module(void) for (i=0; idev != NULL) { - struct gt96100_private *gp = - (struct gt96100_private *)gtif->dev->priv; + struct gt96100_private *gp = (struct gt96100_private *) + netdev_priv(gtif->dev); unregister_netdev(gtif->dev); dmafree(RX_HASH_TABLE_SIZE, gp->hash_table_dma); dmafree(PKT_BUF_SZ*RX_RING_SIZE, gp->rx_buff); @@ -1583,9 +1540,6 @@ static void gt96100_cleanup_module(void) } } - -#ifndef MODULE - static int __init gt96100_setup(char *options) { char *this_opt; @@ -1610,9 +1564,6 @@ static int __init gt96100_setup(char *options) __setup("gt96100eth=", gt96100_setup); -#endif /* !MODULE */ - - module_init(gt96100_init_module); module_exit(gt96100_cleanup_module); diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c index b5169e849..6b0cb2cab 100644 --- a/drivers/net/hamachi.c +++ b/drivers/net/hamachi.c @@ -559,7 +559,7 @@ static void hamachi_tx_timeout(struct net_device *dev); static void hamachi_init_ring(struct net_device *dev); static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev); static irqreturn_t hamachi_interrupt(int irq, void *dev_instance, struct pt_regs *regs); -static inline int hamachi_rx(struct net_device *dev); +static int hamachi_rx(struct net_device *dev); static inline int hamachi_tx(struct net_device *dev); static void hamachi_error(struct net_device *dev, int intr_status); static int hamachi_close(struct net_device *dev); diff --git a/drivers/net/hamradio/dmascc.c b/drivers/net/hamradio/dmascc.c index 9f3dac7d2..4beb7ac2a 100644 --- a/drivers/net/hamradio/dmascc.c +++ b/drivers/net/hamradio/dmascc.c @@ -246,8 +246,14 @@ static int scc_send_packet(struct sk_buff *skb, struct net_device *dev); static struct net_device_stats *scc_get_stats(struct net_device *dev); static int scc_set_mac_address(struct net_device *dev, void *sa); -static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs * regs); +static inline void tx_on(struct scc_priv *priv); +static inline void rx_on(struct scc_priv *priv); +static inline void rx_off(struct scc_priv *priv); +static void start_timer(struct scc_priv *priv, int t, int r15); +static inline unsigned char random(void); + static inline void z8530_isr(struct scc_info *info); +static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs * regs); static void rx_isr(struct scc_priv *priv); static void special_condition(struct scc_priv *priv, int rc); static void rx_bh(void *arg); @@ -255,12 +261,6 @@ static void tx_isr(struct scc_priv *priv); static void es_isr(struct scc_priv *priv); static void tm_isr(struct scc_priv *priv); -static inline void tx_on(struct scc_priv *priv); -static inline void rx_on(struct scc_priv *priv); -static inline void rx_off(struct scc_priv *priv); -static void start_timer(struct scc_priv *priv, int t, int r15); -static inline unsigned char random(void); - /* Initialization variables */ @@ -945,42 +945,115 @@ static int scc_set_mac_address(struct net_device *dev, void *sa) { } -static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs * regs) { - struct scc_info *info = dev_id; +static inline void tx_on(struct scc_priv *priv) { + int i, n; + unsigned long flags; - spin_lock(info->priv[0].register_lock); - /* At this point interrupts are enabled, and the interrupt under service - is already acknowledged, but masked off. + if (priv->param.dma >= 0) { + n = (priv->chip == Z85230) ? 3 : 1; + /* Program DMA controller */ + flags = claim_dma_lock(); + set_dma_mode(priv->param.dma, DMA_MODE_WRITE); + set_dma_addr(priv->param.dma, (int) priv->tx_buf[priv->tx_tail]+n); + set_dma_count(priv->param.dma, priv->tx_len[priv->tx_tail]-n); + release_dma_lock(flags); + /* Enable TX underrun interrupt */ + write_scc(priv, R15, TxUIE); + /* Configure DREQ */ + if (priv->type == TYPE_TWIN) + outb((priv->param.dma == 1) ? TWIN_DMA_HDX_T1 : TWIN_DMA_HDX_T3, + priv->card_base + TWIN_DMA_CFG); + else + write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN | WT_RDY_ENAB); + /* Write first byte(s) */ + spin_lock_irqsave(priv->register_lock, flags); + for (i = 0; i < n; i++) + write_scc_data(priv, priv->tx_buf[priv->tx_tail][i], 1); + enable_dma(priv->param.dma); + spin_unlock_irqrestore(priv->register_lock, flags); + } else { + write_scc(priv, R15, TxUIE); + write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN | TxINT_ENAB); + tx_isr(priv); + } + /* Reset EOM latch if we do not have the AUTOEOM feature */ + if (priv->chip == Z8530) write_scc(priv, R0, RES_EOM_L); +} - Interrupt processing: We loop until we know that the IRQ line is - low. If another positive edge occurs afterwards during the ISR, - another interrupt will be triggered by the interrupt controller - as soon as the IRQ level is enabled again (see asm/irq.h). - Bottom-half handlers will be processed after scc_isr(). This is - important, since we only have small ringbuffers and want new data - to be fetched/delivered immediately. */ +static inline void rx_on(struct scc_priv *priv) { + unsigned long flags; - if (info->priv[0].type == TYPE_TWIN) { - int is, card_base = info->priv[0].card_base; - while ((is = ~inb(card_base + TWIN_INT_REG)) & - TWIN_INT_MSK) { - if (is & TWIN_SCC_MSK) { - z8530_isr(info); - } else if (is & TWIN_TMR1_MSK) { - inb(card_base + TWIN_CLR_TMR1); - tm_isr(&info->priv[0]); - } else { - inb(card_base + TWIN_CLR_TMR2); - tm_isr(&info->priv[1]); - } + /* Clear RX FIFO */ + while (read_scc(priv, R0) & Rx_CH_AV) read_scc_data(priv); + priv->rx_over = 0; + if (priv->param.dma >= 0) { + /* Program DMA controller */ + flags = claim_dma_lock(); + set_dma_mode(priv->param.dma, DMA_MODE_READ); + set_dma_addr(priv->param.dma, (int) priv->rx_buf[priv->rx_head]); + set_dma_count(priv->param.dma, BUF_SIZE); + release_dma_lock(flags); + enable_dma(priv->param.dma); + /* Configure PackeTwin DMA */ + if (priv->type == TYPE_TWIN) { + outb((priv->param.dma == 1) ? TWIN_DMA_HDX_R1 : TWIN_DMA_HDX_R3, + priv->card_base + TWIN_DMA_CFG); } - } else z8530_isr(info); - spin_unlock(info->priv[0].register_lock); - return IRQ_HANDLED; + /* Sp. cond. intr. only, ext int enable, RX DMA enable */ + write_scc(priv, R1, EXT_INT_ENAB | INT_ERR_Rx | + WT_RDY_RT | WT_FN_RDYFN | WT_RDY_ENAB); + } else { + /* Reset current frame */ + priv->rx_ptr = 0; + /* Intr. on all Rx characters and Sp. cond., ext int enable */ + write_scc(priv, R1, EXT_INT_ENAB | INT_ALL_Rx | WT_RDY_RT | + WT_FN_RDYFN); + } + write_scc(priv, R0, ERR_RES); + write_scc(priv, R3, RxENABLE | Rx8 | RxCRC_ENAB); +} + + +static inline void rx_off(struct scc_priv *priv) { + /* Disable receiver */ + write_scc(priv, R3, Rx8); + /* Disable DREQ / RX interrupt */ + if (priv->param.dma >= 0 && priv->type == TYPE_TWIN) + outb(0, priv->card_base + TWIN_DMA_CFG); + else + write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN); + /* Disable DMA */ + if (priv->param.dma >= 0) disable_dma(priv->param.dma); +} + + +static void start_timer(struct scc_priv *priv, int t, int r15) { + unsigned long flags; + + outb(priv->tmr_mode, priv->tmr_ctrl); + if (t == 0) { + tm_isr(priv); + } else if (t > 0) { + save_flags(flags); + cli(); + outb(t & 0xFF, priv->tmr_cnt); + outb((t >> 8) & 0xFF, priv->tmr_cnt); + if (priv->type != TYPE_TWIN) { + write_scc(priv, R15, r15 | CTSIE); + priv->rr0 |= CTS; + } + restore_flags(flags); + } } +static inline unsigned char random(void) { + /* See "Numerical Recipes in C", second edition, p. 284 */ + rand = rand * 1664525L + 1013904223L; + return (unsigned char) (rand >> 24); +} + static inline void z8530_isr(struct scc_info *info) { int is, i = 100; @@ -1009,6 +1082,42 @@ static inline void z8530_isr(struct scc_info *info) { } +static irqreturn_t scc_isr(int irq, void *dev_id, struct pt_regs * regs) { + struct scc_info *info = dev_id; + + spin_lock(info->priv[0].register_lock); + /* At this point interrupts are enabled, and the interrupt under service + is already acknowledged, but masked off. + + Interrupt processing: We loop until we know that the IRQ line is + low. If another positive edge occurs afterwards during the ISR, + another interrupt will be triggered by the interrupt controller + as soon as the IRQ level is enabled again (see asm/irq.h). + + Bottom-half handlers will be processed after scc_isr(). This is + important, since we only have small ringbuffers and want new data + to be fetched/delivered immediately. */ + + if (info->priv[0].type == TYPE_TWIN) { + int is, card_base = info->priv[0].card_base; + while ((is = ~inb(card_base + TWIN_INT_REG)) & + TWIN_INT_MSK) { + if (is & TWIN_SCC_MSK) { + z8530_isr(info); + } else if (is & TWIN_TMR1_MSK) { + inb(card_base + TWIN_CLR_TMR1); + tm_isr(&info->priv[0]); + } else { + inb(card_base + TWIN_CLR_TMR2); + tm_isr(&info->priv[1]); + } + } + } else z8530_isr(info); + spin_unlock(info->priv[0].register_lock); + return IRQ_HANDLED; +} + + static void rx_isr(struct scc_priv *priv) { if (priv->param.dma >= 0) { /* Check special condition and perform error reset. See 2.4.7.5. */ @@ -1292,114 +1401,3 @@ static void tm_isr(struct scc_priv *priv) { break; } } - - -static inline void tx_on(struct scc_priv *priv) { - int i, n; - unsigned long flags; - - if (priv->param.dma >= 0) { - n = (priv->chip == Z85230) ? 3 : 1; - /* Program DMA controller */ - flags = claim_dma_lock(); - set_dma_mode(priv->param.dma, DMA_MODE_WRITE); - set_dma_addr(priv->param.dma, (int) priv->tx_buf[priv->tx_tail]+n); - set_dma_count(priv->param.dma, priv->tx_len[priv->tx_tail]-n); - release_dma_lock(flags); - /* Enable TX underrun interrupt */ - write_scc(priv, R15, TxUIE); - /* Configure DREQ */ - if (priv->type == TYPE_TWIN) - outb((priv->param.dma == 1) ? TWIN_DMA_HDX_T1 : TWIN_DMA_HDX_T3, - priv->card_base + TWIN_DMA_CFG); - else - write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN | WT_RDY_ENAB); - /* Write first byte(s) */ - spin_lock_irqsave(priv->register_lock, flags); - for (i = 0; i < n; i++) - write_scc_data(priv, priv->tx_buf[priv->tx_tail][i], 1); - enable_dma(priv->param.dma); - spin_unlock_irqrestore(priv->register_lock, flags); - } else { - write_scc(priv, R15, TxUIE); - write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN | TxINT_ENAB); - tx_isr(priv); - } - /* Reset EOM latch if we do not have the AUTOEOM feature */ - if (priv->chip == Z8530) write_scc(priv, R0, RES_EOM_L); -} - - -static inline void rx_on(struct scc_priv *priv) { - unsigned long flags; - - /* Clear RX FIFO */ - while (read_scc(priv, R0) & Rx_CH_AV) read_scc_data(priv); - priv->rx_over = 0; - if (priv->param.dma >= 0) { - /* Program DMA controller */ - flags = claim_dma_lock(); - set_dma_mode(priv->param.dma, DMA_MODE_READ); - set_dma_addr(priv->param.dma, (int) priv->rx_buf[priv->rx_head]); - set_dma_count(priv->param.dma, BUF_SIZE); - release_dma_lock(flags); - enable_dma(priv->param.dma); - /* Configure PackeTwin DMA */ - if (priv->type == TYPE_TWIN) { - outb((priv->param.dma == 1) ? TWIN_DMA_HDX_R1 : TWIN_DMA_HDX_R3, - priv->card_base + TWIN_DMA_CFG); - } - /* Sp. cond. intr. only, ext int enable, RX DMA enable */ - write_scc(priv, R1, EXT_INT_ENAB | INT_ERR_Rx | - WT_RDY_RT | WT_FN_RDYFN | WT_RDY_ENAB); - } else { - /* Reset current frame */ - priv->rx_ptr = 0; - /* Intr. on all Rx characters and Sp. cond., ext int enable */ - write_scc(priv, R1, EXT_INT_ENAB | INT_ALL_Rx | WT_RDY_RT | - WT_FN_RDYFN); - } - write_scc(priv, R0, ERR_RES); - write_scc(priv, R3, RxENABLE | Rx8 | RxCRC_ENAB); -} - - -static inline void rx_off(struct scc_priv *priv) { - /* Disable receiver */ - write_scc(priv, R3, Rx8); - /* Disable DREQ / RX interrupt */ - if (priv->param.dma >= 0 && priv->type == TYPE_TWIN) - outb(0, priv->card_base + TWIN_DMA_CFG); - else - write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN); - /* Disable DMA */ - if (priv->param.dma >= 0) disable_dma(priv->param.dma); -} - - -static void start_timer(struct scc_priv *priv, int t, int r15) { - unsigned long flags; - - outb(priv->tmr_mode, priv->tmr_ctrl); - if (t == 0) { - tm_isr(priv); - } else if (t > 0) { - save_flags(flags); - cli(); - outb(t & 0xFF, priv->tmr_cnt); - outb((t >> 8) & 0xFF, priv->tmr_cnt); - if (priv->type != TYPE_TWIN) { - write_scc(priv, R15, r15 | CTSIE); - priv->rr0 |= CTS; - } - restore_flags(flags); - } -} - - -static inline unsigned char random(void) { - /* See "Numerical Recipes in C", second edition, p. 284 */ - rand = rand * 1664525L + 1013904223L; - return (unsigned char) (rand >> 24); -} - diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c index 78ae4b2ac..3c783a459 100644 --- a/drivers/net/hp100.c +++ b/drivers/net/hp100.c @@ -2906,13 +2906,19 @@ static struct eisa_driver hp100_eisa_driver = { static int __devinit hp100_pci_probe (struct pci_dev *pdev, const struct pci_device_id *ent) { - struct net_device *dev = alloc_etherdev(sizeof(struct hp100_private)); - int ioaddr = pci_resource_start(pdev, 0); + struct net_device *dev; + int ioaddr; u_short pci_command; int err; - - if (!dev) - return -ENOMEM; + + if (pci_enable_device(pdev)) + return -ENODEV; + + dev = alloc_etherdev(sizeof(struct hp100_private)); + if (!dev) { + err = -ENOMEM; + goto out0; + } SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); @@ -2934,7 +2940,7 @@ static int __devinit hp100_pci_probe (struct pci_dev *pdev, pci_write_config_word(pdev, PCI_COMMAND, pci_command); } - + ioaddr = pci_resource_start(pdev, 0); err = hp100_probe1(dev, ioaddr, HP100_BUS_PCI, pdev); if (err) goto out1; @@ -2951,6 +2957,8 @@ static int __devinit hp100_pci_probe (struct pci_dev *pdev, release_region(dev->base_addr, HP100_REGION_SIZE); out1: free_netdev(dev); + out0: + pci_disable_device(pdev); return err; } @@ -2959,6 +2967,7 @@ static void __devexit hp100_pci_remove (struct pci_dev *pdev) struct net_device *dev = pci_get_drvdata(pdev); cleanup_dev(dev); + pci_disable_device(pdev); } diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c index 5fa162f6c..47cddd729 100644 --- a/drivers/net/ibmveth.c +++ b/drivers/net/ibmveth.c @@ -2,8 +2,8 @@ /* */ /* IBM eServer i/pSeries Virtual Ethernet Device Driver */ /* Copyright (C) 2003 IBM Corp. */ -/* Dave Larson (larson1@us.ibm.com) */ -/* Santiago Leon (santil@us.ibm.com) */ +/* Originally written by Dave Larson (larson1@us.ibm.com) */ +/* Maintained by Santiago Leon (santil@us.ibm.com) */ /* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ @@ -104,11 +104,12 @@ static struct proc_dir_entry *ibmveth_proc_dir; static const char ibmveth_driver_name[] = "ibmveth"; static const char ibmveth_driver_string[] = "IBM i/pSeries Virtual Ethernet Driver"; -static const char ibmveth_driver_version[] = "1.0"; +#define ibmveth_driver_version "1.02" -MODULE_AUTHOR("Dave Larson "); +MODULE_AUTHOR("Santiago Leon "); MODULE_DESCRIPTION("IBM i/pSeries Virtual Ethernet Driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(ibmveth_driver_version); /* simple methods of getting data from the current rxq entry */ static inline int ibmveth_rxq_pending_buffer(struct ibmveth_adapter *adapter) @@ -213,11 +214,12 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc free_index = pool->consumer_index++ % pool->size; index = pool->free_map[free_index]; - ibmveth_assert(index != 0xffff); + ibmveth_assert(index != IBM_VETH_INVALID_MAP); ibmveth_assert(pool->skbuff[index] == NULL); dma_addr = vio_map_single(adapter->vdev, skb->data, pool->buff_size, DMA_FROM_DEVICE); + pool->free_map[free_index] = IBM_VETH_INVALID_MAP; pool->dma_addr[index] = dma_addr; pool->skbuff[index] = skb; @@ -232,6 +234,7 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc lpar_rc = h_add_logical_lan_buffer(adapter->vdev->unit_address, desc.desc); if(lpar_rc != H_Success) { + pool->free_map[free_index] = IBM_VETH_INVALID_MAP; pool->skbuff[index] = NULL; pool->consumer_index--; vio_unmap_single(adapter->vdev, pool->dma_addr[index], pool->buff_size, DMA_FROM_DEVICE); @@ -239,7 +242,6 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc adapter->replenish_add_buff_failure++; break; } else { - pool->free_map[free_index] = 0xffff; buffers_added++; adapter->replenish_add_buff_success++; } @@ -269,7 +271,6 @@ static void ibmveth_replenish_task(struct ibmveth_adapter *adapter) adapter->rx_no_buffer = *(u64*)(((char*)adapter->buffer_list_addr) + 4096 - 8); atomic_inc(&adapter->not_replenishing); - ibmveth_assert(atomic_read(&adapter->not_replenishing) == 1); } /* kick the replenish tasklet if we need replenishing and it isn't already running */ @@ -528,7 +529,7 @@ static int ibmveth_open(struct net_device *netdev) ibmveth_error_printk("unable to request irq 0x%x, rc %d\n", netdev->irq, rc); do { rc = h_free_logical_lan(adapter->vdev->unit_address); - } while H_isLongBusy(rc); + } while (H_isLongBusy(rc) || (rc == H_Busy)); ibmveth_cleanup(adapter); return rc; @@ -560,7 +561,7 @@ static int ibmveth_close(struct net_device *netdev) do { lpar_rc = h_free_logical_lan(adapter->vdev->unit_address); - } while H_isLongBusy(lpar_rc); + } while (H_isLongBusy(lpar_rc) || (lpar_rc == H_Busy)); if(lpar_rc != H_Success) { @@ -597,7 +598,7 @@ static void netdev_get_drvinfo (struct net_device *dev, struct ethtool_drvinfo * } static u32 netdev_get_link(struct net_device *dev) { - return 0; + return 1; } static struct ethtool_ops netdev_ethtool_ops = { @@ -732,6 +733,8 @@ static int ibmveth_poll(struct net_device *netdev, int *budget) if(ibmveth_rxq_pending_buffer(adapter)) { struct sk_buff *skb; + rmb(); + if(!ibmveth_rxq_buffer_valid(adapter)) { wmb(); /* suggested by larson1 */ adapter->rx_invalid_buffer++; @@ -882,13 +885,16 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_ mac_addr_p = (unsigned char *) vio_get_attribute(dev, VETH_MAC_ADDR, 0); if(!mac_addr_p) { - ibmveth_error_printk("Can't find VETH_MAC_ADDR attribute\n"); + printk(KERN_ERR "(%s:%3.3d) ERROR: Can't find VETH_MAC_ADDR " + "attribute\n", __FILE__, __LINE__); return 0; } mcastFilterSize_p= (unsigned int *) vio_get_attribute(dev, VETH_MCAST_FILTER_SIZE, 0); if(!mcastFilterSize_p) { - ibmveth_error_printk("Can't find VETH_MCAST_FILTER_SIZE attribute\n"); + printk(KERN_ERR "(%s:%3.3d) ERROR: Can't find " + "VETH_MCAST_FILTER_SIZE attribute\n", + __FILE__, __LINE__); return 0; } diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index 6ae10e514..62f985389 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c @@ -268,7 +268,6 @@ static void irda_usb_change_speed_xbofs(struct irda_usb_cb *self) speed_bulk_callback, self); urb->transfer_buffer_length = USB_IRDA_HEADER; urb->transfer_flags = URB_ASYNC_UNLINK; - urb->timeout = msecs_to_jiffies(100); /* Irq disabled -> GFP_ATOMIC */ if ((ret = usb_submit_urb(urb, GFP_ATOMIC))) { @@ -411,8 +410,6 @@ static int irda_usb_hard_xmit(struct sk_buff *skb, struct net_device *netdev) * after each of our packets that is exact multiple of the frame size. * This is how the dongle will detect the end of packet - Jean II */ urb->transfer_flags |= URB_ZERO_PACKET; - /* Timeout need to be shorter than NET watchdog timer */ - urb->timeout = msecs_to_jiffies(200); /* Generate min turn time. FIXME: can we do better than this? */ /* Trying to a turnaround time at this level is trying to measure diff --git a/drivers/net/irda/irtty-sir.c b/drivers/net/irda/irtty-sir.c index b67441d0a..13b6e627a 100644 --- a/drivers/net/irda/irtty-sir.c +++ b/drivers/net/irda/irtty-sir.c @@ -509,13 +509,6 @@ static int irtty_open(struct tty_struct *tty) if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); -/* from old irtty - but what is it good for? - * we _are_ the ldisc and we _don't_ implement flush_buffer! - * - * if (tty->ldisc.flush_buffer) - * tty->ldisc.flush_buffer(tty); - */ - /* apply mtt override */ sir_tty_drv.qos_mtt_bits = qos_mtt_bits; diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c index f28ab3346..98a3fc2b0 100644 --- a/drivers/net/ixgb/ixgb_main.c +++ b/drivers/net/ixgb/ixgb_main.c @@ -30,7 +30,8 @@ char ixgb_driver_name[] = "ixgb"; char ixgb_driver_string[] = "Intel(R) PRO/10GbE Network Driver"; -char ixgb_driver_version[] = "1.0.66"; +#define DRV_VERSION "1.0.66" +char ixgb_driver_version[] = DRV_VERSION; char ixgb_copyright[] = "Copyright (c) 2001-2004 Intel Corporation."; /* ixgb_pci_tbl - PCI Device ID Table @@ -55,6 +56,8 @@ MODULE_DEVICE_TABLE(pci, ixgb_pci_tbl); /* Local Function Prototypes */ +static inline void ixgb_irq_disable(struct ixgb_adapter *adapter); +static inline void ixgb_irq_enable(struct ixgb_adapter *adapter); int ixgb_up(struct ixgb_adapter *adapter); void ixgb_down(struct ixgb_adapter *adapter, boolean_t kill_watchdog); void ixgb_reset(struct ixgb_adapter *adapter); @@ -82,10 +85,11 @@ static struct net_device_stats *ixgb_get_stats(struct net_device *netdev); static int ixgb_change_mtu(struct net_device *netdev, int new_mtu); static int ixgb_set_mac(struct net_device *netdev, void *p); static void ixgb_update_stats(struct ixgb_adapter *adapter); -static inline void ixgb_irq_disable(struct ixgb_adapter *adapter); -static inline void ixgb_irq_enable(struct ixgb_adapter *adapter); static irqreturn_t ixgb_intr(int irq, void *data, struct pt_regs *regs); static boolean_t ixgb_clean_tx_irq(struct ixgb_adapter *adapter); +static inline void ixgb_rx_checksum(struct ixgb_adapter *adapter, + struct ixgb_rx_desc *rx_desc, + struct sk_buff *skb); #ifdef CONFIG_IXGB_NAPI static int ixgb_clean(struct net_device *netdev, int *budget); static boolean_t ixgb_clean_rx_irq(struct ixgb_adapter *adapter, @@ -95,9 +99,6 @@ static boolean_t ixgb_clean_rx_irq(struct ixgb_adapter *adapter); #endif static void ixgb_alloc_rx_buffers(struct ixgb_adapter *adapter); static int ixgb_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd); -static inline void ixgb_rx_checksum(struct ixgb_adapter *adapter, - struct ixgb_rx_desc *rx_desc, - struct sk_buff *skb); static void ixgb_tx_timeout(struct net_device *dev); static void ixgb_tx_timeout_task(struct net_device *dev); static void ixgb_vlan_rx_register(struct net_device *netdev, @@ -139,6 +140,7 @@ static struct pci_driver ixgb_driver = { MODULE_AUTHOR("Intel Corporation, "); MODULE_DESCRIPTION("Intel(R) PRO/10GbE Network Driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); /* some defines for controlling descriptor fetches in h/w */ #define RXDCTL_PTHRESH_DEFAULT 128 /* chip considers prefech below this */ @@ -185,6 +187,34 @@ static void __exit ixgb_exit_module(void) module_exit(ixgb_exit_module); +/** + * ixgb_irq_disable - Mask off interrupt generation on the NIC + * @adapter: board private structure + **/ + +static inline void ixgb_irq_disable(struct ixgb_adapter *adapter) +{ + atomic_inc(&adapter->irq_sem); + IXGB_WRITE_REG(&adapter->hw, IMC, ~0); + IXGB_WRITE_FLUSH(&adapter->hw); + synchronize_irq(adapter->pdev->irq); +} + +/** + * ixgb_irq_enable - Enable default interrupt generation settings + * @adapter: board private structure + **/ + +static inline void ixgb_irq_enable(struct ixgb_adapter *adapter) +{ + if (atomic_dec_and_test(&adapter->irq_sem)) { + IXGB_WRITE_REG(&adapter->hw, IMS, + IXGB_INT_RXT0 | IXGB_INT_RXDMT0 | IXGB_INT_TXDW | + IXGB_INT_RXO | IXGB_INT_LSC); + IXGB_WRITE_FLUSH(&adapter->hw); + } +} + int ixgb_up(struct ixgb_adapter *adapter) { struct net_device *netdev = adapter->netdev; @@ -1550,34 +1580,6 @@ static void ixgb_update_stats(struct ixgb_adapter *adapter) adapter->net_stats.tx_window_errors = 0; } -/** - * ixgb_irq_disable - Mask off interrupt generation on the NIC - * @adapter: board private structure - **/ - -static inline void ixgb_irq_disable(struct ixgb_adapter *adapter) -{ - atomic_inc(&adapter->irq_sem); - IXGB_WRITE_REG(&adapter->hw, IMC, ~0); - IXGB_WRITE_FLUSH(&adapter->hw); - synchronize_irq(adapter->pdev->irq); -} - -/** - * ixgb_irq_enable - Enable default interrupt generation settings - * @adapter: board private structure - **/ - -static inline void ixgb_irq_enable(struct ixgb_adapter *adapter) -{ - if (atomic_dec_and_test(&adapter->irq_sem)) { - IXGB_WRITE_REG(&adapter->hw, IMS, - IXGB_INT_RXT0 | IXGB_INT_RXDMT0 | IXGB_INT_TXDW | - IXGB_INT_RXO | IXGB_INT_LSC); - IXGB_WRITE_FLUSH(&adapter->hw); - } -} - #define IXGB_MAX_INTR 10 /** * ixgb_intr - Interrupt Handler @@ -1729,6 +1731,39 @@ static boolean_t ixgb_clean_tx_irq(struct ixgb_adapter *adapter) return cleaned; } +/** + * ixgb_rx_checksum - Receive Checksum Offload for 82597. + * @adapter: board private structure + * @rx_desc: receive descriptor + * @sk_buff: socket buffer with received data + **/ + +static inline void +ixgb_rx_checksum(struct ixgb_adapter *adapter, + struct ixgb_rx_desc *rx_desc, struct sk_buff *skb) +{ + /* Ignore Checksum bit is set OR + * TCP Checksum has not been calculated + */ + if ((rx_desc->status & IXGB_RX_DESC_STATUS_IXSM) || + (!(rx_desc->status & IXGB_RX_DESC_STATUS_TCPCS))) { + skb->ip_summed = CHECKSUM_NONE; + return; + } + + /* At this point we know the hardware did the TCP checksum */ + /* now look at the TCP checksum error bit */ + if (rx_desc->errors & IXGB_RX_DESC_ERRORS_TCPE) { + /* let the stack verify checksum errors */ + skb->ip_summed = CHECKSUM_NONE; + adapter->hw_csum_rx_error++; + } else { + /* TCP checksum is good */ + skb->ip_summed = CHECKSUM_UNNECESSARY; + adapter->hw_csum_rx_good++; + } +} + /** * ixgb_clean_rx_irq - Send received data up the network stack, * @adapter: board private structure @@ -1955,39 +1990,6 @@ static int ixgb_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) return 0; } -/** - * ixgb_rx_checksum - Receive Checksum Offload for 82597. - * @adapter: board private structure - * @rx_desc: receive descriptor - * @sk_buff: socket buffer with received data - **/ - -static inline void -ixgb_rx_checksum(struct ixgb_adapter *adapter, - struct ixgb_rx_desc *rx_desc, struct sk_buff *skb) -{ - /* Ignore Checksum bit is set OR - * TCP Checksum has not been calculated - */ - if ((rx_desc->status & IXGB_RX_DESC_STATUS_IXSM) || - (!(rx_desc->status & IXGB_RX_DESC_STATUS_TCPCS))) { - skb->ip_summed = CHECKSUM_NONE; - return; - } - - /* At this point we know the hardware did the TCP checksum */ - /* now look at the TCP checksum error bit */ - if (rx_desc->errors & IXGB_RX_DESC_ERRORS_TCPE) { - /* let the stack verify checksum errors */ - skb->ip_summed = CHECKSUM_NONE; - adapter->hw_csum_rx_error++; - } else { - /* TCP checksum is good */ - skb->ip_summed = CHECKSUM_UNNECESSARY; - adapter->hw_csum_rx_good++; - } -} - /** * ixgb_vlan_rx_register - enables or disables vlan tagging/stripping. * diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c index 4957de6d8..b315acb14 100644 --- a/drivers/net/lasi_82596.c +++ b/drivers/net/lasi_82596.c @@ -1426,8 +1426,6 @@ static int i596_close(struct net_device *dev) free_irq(dev->irq, dev); remove_rx_bufs(dev); - MOD_DEC_USE_COUNT; - return 0; } diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 8ffa894c3..4bca692d6 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c @@ -49,6 +49,7 @@ #include #include #include +#include #include #include #include /* For the statistics structure. */ @@ -183,6 +184,17 @@ static struct net_device_stats *get_stats(struct net_device *dev) return stats; } +u32 loopback_get_link(struct net_device *dev) +{ + return 1; +} + +static struct ethtool_ops loopback_ethtool_ops = { + .get_link = loopback_get_link, + .get_tso = ethtool_op_get_tso, + .set_tso = ethtool_op_set_tso, +}; + struct net_device loopback_dev = { .name = "lo", .mtu = (16 * 1024) + 20 + 20 + 12, @@ -199,6 +211,7 @@ struct net_device loopback_dev = { .features = NETIF_F_SG|NETIF_F_FRAGLIST |NETIF_F_NO_CSUM|NETIF_F_HIGHDMA |NETIF_F_LLTX, + .ethtool_ops = &loopback_ethtool_ops, }; /* Setup and register the of the LOOPBACK device. */ diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 88c626afe..fd44cb722 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c @@ -719,7 +719,7 @@ struct netdev_private { }; static void move_int_phy(struct net_device *dev, int addr); -static int eeprom_read(long ioaddr, int location); +static int eeprom_read(void __iomem *ioaddr, int location); static int mdio_read(struct net_device *dev, int reg); static void mdio_write(struct net_device *dev, int reg, u16 data); static void init_phy_fixup(struct net_device *dev); @@ -750,6 +750,9 @@ static void netdev_error(struct net_device *dev, int intr_status); static void netdev_rx(struct net_device *dev); static void netdev_tx_done(struct net_device *dev); static int natsemi_change_mtu(struct net_device *dev, int new_mtu); +#ifdef CONFIG_NET_POLL_CONTROLLER +static void natsemi_poll_controller(struct net_device *dev); +#endif static void __set_rx_mode(struct net_device *dev); static void set_rx_mode(struct net_device *dev); static void __get_stats(struct net_device *dev); @@ -766,9 +769,15 @@ static int netdev_close(struct net_device *dev); static int netdev_get_regs(struct net_device *dev, u8 *buf); static int netdev_get_eeprom(struct net_device *dev, u8 *buf); +static inline void __iomem *ns_ioaddr(struct net_device *dev) +{ + return (void __iomem *) dev->base_addr; +} + static void move_int_phy(struct net_device *dev, int addr) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); int target = 31; /* @@ -785,8 +794,8 @@ static void move_int_phy(struct net_device *dev, int addr) target--; if (target == np->phy_addr_external) target--; - writew(target, dev->base_addr + PhyCtrl); - readw(dev->base_addr + PhyCtrl); + writew(target, ioaddr + PhyCtrl); + readw(ioaddr + PhyCtrl); udelay(1); } @@ -797,7 +806,8 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, struct netdev_private *np; int i, option, irq, chip_idx = ent->driver_data; static int find_cnt = -1; - unsigned long ioaddr, iosize; + unsigned long iostart, iosize; + void __iomem *ioaddr; const int pcibar = 1; /* PCI base address register */ int prev_eedata; u32 tmp; @@ -824,7 +834,7 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, } find_cnt++; - ioaddr = pci_resource_start(pdev, pcibar); + iostart = pci_resource_start(pdev, pcibar); iosize = pci_resource_len(pdev, pcibar); irq = pdev->irq; @@ -841,7 +851,7 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, if (i) goto err_pci_request_regions; - ioaddr = (unsigned long) ioremap (ioaddr, iosize); + ioaddr = ioremap(iostart, iosize); if (!ioaddr) { i = -ENOMEM; goto err_ioremap; @@ -856,7 +866,7 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, prev_eedata = eedata; } - dev->base_addr = ioaddr; + dev->base_addr = (unsigned long __force) ioaddr; dev->irq = irq; np = netdev_priv(dev); @@ -876,7 +886,7 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, * The address would be used to access a phy over the mii bus, but * the internal phy is accessed through mapped registers. */ - if (readl(dev->base_addr + ChipConfig) & CfgExtPhy) + if (readl(ioaddr + ChipConfig) & CfgExtPhy) dev->if_port = PORT_MII; else dev->if_port = PORT_TP; @@ -920,6 +930,9 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, dev->do_ioctl = &netdev_ioctl; dev->tx_timeout = &tx_timeout; dev->watchdog_timeo = TX_TIMEOUT; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = &natsemi_poll_controller; +#endif if (mtu) dev->mtu = mtu; @@ -965,7 +978,7 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, if (netif_msg_drv(np)) { printk(KERN_INFO "natsemi %s: %s at %#08lx (%s), ", - dev->name, natsemi_pci_info[chip_idx].name, ioaddr, + dev->name, natsemi_pci_info[chip_idx].name, iostart, pci_name(np->pci_dev)); for (i = 0; i < ETH_ALEN-1; i++) printk("%02x:", dev->dev_addr[i]); @@ -978,7 +991,7 @@ static int __devinit natsemi_probe1 (struct pci_dev *pdev, return 0; err_register_netdev: - iounmap ((void *) dev->base_addr); + iounmap(ioaddr); err_ioremap: pci_release_regions(pdev); @@ -1010,12 +1023,13 @@ enum EEPROM_Cmds { EE_WriteCmd=(5 << 6), EE_ReadCmd=(6 << 6), EE_EraseCmd=(7 << 6), }; -static int eeprom_read(long addr, int location) +static int eeprom_read(void __iomem *addr, int location) { int i; int retval = 0; - long ee_addr = addr + EECtrl; + void __iomem *ee_addr = addr + EECtrl; int read_cmd = location | EE_ReadCmd; + writel(EE_Write0, ee_addr); /* Shift the read command bits out. */ @@ -1052,33 +1066,35 @@ static int eeprom_read(long addr, int location) /* clock transitions >= 20ns (25MHz) * One readl should be good to PCI @ 100MHz */ -#define mii_delay(dev) readl(dev->base_addr + EECtrl) +#define mii_delay(ioaddr) readl(ioaddr + EECtrl) static int mii_getbit (struct net_device *dev) { int data; + void __iomem *ioaddr = ns_ioaddr(dev); - writel(MII_ShiftClk, dev->base_addr + EECtrl); - data = readl(dev->base_addr + EECtrl); - writel(0, dev->base_addr + EECtrl); - mii_delay(dev); + writel(MII_ShiftClk, ioaddr + EECtrl); + data = readl(ioaddr + EECtrl); + writel(0, ioaddr + EECtrl); + mii_delay(ioaddr); return (data & MII_Data)? 1 : 0; } static void mii_send_bits (struct net_device *dev, u32 data, int len) { u32 i; + void __iomem *ioaddr = ns_ioaddr(dev); for (i = (1 << (len-1)); i; i >>= 1) { u32 mdio_val = MII_Write | ((data & i)? MII_Data : 0); - writel(mdio_val, dev->base_addr + EECtrl); - mii_delay(dev); - writel(mdio_val | MII_ShiftClk, dev->base_addr + EECtrl); - mii_delay(dev); + writel(mdio_val, ioaddr + EECtrl); + mii_delay(ioaddr); + writel(mdio_val | MII_ShiftClk, ioaddr + EECtrl); + mii_delay(ioaddr); } - writel(0, dev->base_addr + EECtrl); - mii_delay(dev); + writel(0, ioaddr + EECtrl); + mii_delay(ioaddr); } static int miiport_read(struct net_device *dev, int phy_id, int reg) @@ -1123,13 +1139,14 @@ static void miiport_write(struct net_device *dev, int phy_id, int reg, u16 data) static int mdio_read(struct net_device *dev, int reg) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); /* The 83815 series has two ports: * - an internal transceiver * - an external mii bus */ if (dev->if_port == PORT_TP) - return readw(dev->base_addr+BasicControl+(reg<<2)); + return readw(ioaddr+BasicControl+(reg<<2)); else return miiport_read(dev, np->phy_addr_external, reg); } @@ -1137,10 +1154,11 @@ static int mdio_read(struct net_device *dev, int reg) static void mdio_write(struct net_device *dev, int reg, u16 data) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); /* The 83815 series has an internal transceiver; handle separately */ if (dev->if_port == PORT_TP) - writew(data, dev->base_addr+BasicControl+(reg<<2)); + writew(data, ioaddr+BasicControl+(reg<<2)); else miiport_write(dev, np->phy_addr_external, reg, data); } @@ -1148,7 +1166,7 @@ static void mdio_write(struct net_device *dev, int reg, u16 data) static void init_phy_fixup(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem *ioaddr = ns_ioaddr(dev); int i; u32 cfg; u16 tmp; @@ -1180,7 +1198,7 @@ static void init_phy_fixup(struct net_device *dev) */ } mdio_write(dev, MII_BMCR, tmp); - readl(dev->base_addr + ChipConfig); + readl(ioaddr + ChipConfig); udelay(1); /* find out what phy this is */ @@ -1202,7 +1220,7 @@ static void init_phy_fixup(struct net_device *dev) default: break; } - cfg = readl(dev->base_addr + ChipConfig); + cfg = readl(ioaddr + ChipConfig); if (cfg & CfgExtPhy) return; @@ -1260,9 +1278,10 @@ static void init_phy_fixup(struct net_device *dev) static int switch_port_external(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); u32 cfg; - cfg = readl(dev->base_addr + ChipConfig); + cfg = readl(ioaddr + ChipConfig); if (cfg & CfgExtPhy) return 0; @@ -1272,8 +1291,8 @@ static int switch_port_external(struct net_device *dev) } /* 1) switch back to external phy */ - writel(cfg | (CfgExtPhy | CfgPhyDis), dev->base_addr + ChipConfig); - readl(dev->base_addr + ChipConfig); + writel(cfg | (CfgExtPhy | CfgPhyDis), ioaddr + ChipConfig); + readl(ioaddr + ChipConfig); udelay(1); /* 2) reset the external phy: */ @@ -1292,11 +1311,12 @@ static int switch_port_external(struct net_device *dev) static int switch_port_internal(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); int i; u32 cfg; u16 bmcr; - cfg = readl(dev->base_addr + ChipConfig); + cfg = readl(ioaddr + ChipConfig); if (!(cfg &CfgExtPhy)) return 0; @@ -1306,17 +1326,17 @@ static int switch_port_internal(struct net_device *dev) } /* 1) switch back to internal phy: */ cfg = cfg & ~(CfgExtPhy | CfgPhyDis); - writel(cfg, dev->base_addr + ChipConfig); - readl(dev->base_addr + ChipConfig); + writel(cfg, ioaddr + ChipConfig); + readl(ioaddr + ChipConfig); udelay(1); /* 2) reset the internal phy: */ - bmcr = readw(dev->base_addr+BasicControl+(MII_BMCR<<2)); - writel(bmcr | BMCR_RESET, dev->base_addr+BasicControl+(MII_BMCR<<2)); - readl(dev->base_addr + ChipConfig); + bmcr = readw(ioaddr+BasicControl+(MII_BMCR<<2)); + writel(bmcr | BMCR_RESET, ioaddr+BasicControl+(MII_BMCR<<2)); + readl(ioaddr + ChipConfig); udelay(10); for (i=0;ibase_addr+BasicControl+(MII_BMCR<<2)); + bmcr = readw(ioaddr+BasicControl+(MII_BMCR<<2)); if (!(bmcr & BMCR_RESET)) break; udelay(10); @@ -1392,6 +1412,7 @@ static void natsemi_reset(struct net_device *dev) u16 pmatch[3]; u16 sopass[3]; struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); /* * Resetting the chip causes some registers to be lost. @@ -1402,26 +1423,26 @@ static void natsemi_reset(struct net_device *dev) */ /* CFG */ - cfg = readl(dev->base_addr + ChipConfig) & CFG_RESET_SAVE; + cfg = readl(ioaddr + ChipConfig) & CFG_RESET_SAVE; /* WCSR */ - wcsr = readl(dev->base_addr + WOLCmd) & WCSR_RESET_SAVE; + wcsr = readl(ioaddr + WOLCmd) & WCSR_RESET_SAVE; /* RFCR */ - rfcr = readl(dev->base_addr + RxFilterAddr) & RFCR_RESET_SAVE; + rfcr = readl(ioaddr + RxFilterAddr) & RFCR_RESET_SAVE; /* PMATCH */ for (i = 0; i < 3; i++) { - writel(i*2, dev->base_addr + RxFilterAddr); - pmatch[i] = readw(dev->base_addr + RxFilterData); + writel(i*2, ioaddr + RxFilterAddr); + pmatch[i] = readw(ioaddr + RxFilterData); } /* SOPAS */ for (i = 0; i < 3; i++) { - writel(0xa+(i*2), dev->base_addr + RxFilterAddr); - sopass[i] = readw(dev->base_addr + RxFilterData); + writel(0xa+(i*2), ioaddr + RxFilterAddr); + sopass[i] = readw(ioaddr + RxFilterData); } /* now whack the chip */ - writel(ChipReset, dev->base_addr + ChipCmd); + writel(ChipReset, ioaddr + ChipCmd); for (i=0;ibase_addr + ChipCmd) & ChipReset)) + if (!(readl(ioaddr + ChipCmd) & ChipReset)) break; udelay(5); } @@ -1434,40 +1455,41 @@ static void natsemi_reset(struct net_device *dev) } /* restore CFG */ - cfg |= readl(dev->base_addr + ChipConfig) & ~CFG_RESET_SAVE; + cfg |= readl(ioaddr + ChipConfig) & ~CFG_RESET_SAVE; /* turn on external phy if it was selected */ if (dev->if_port == PORT_TP) cfg &= ~(CfgExtPhy | CfgPhyDis); else cfg |= (CfgExtPhy | CfgPhyDis); - writel(cfg, dev->base_addr + ChipConfig); + writel(cfg, ioaddr + ChipConfig); /* restore WCSR */ - wcsr |= readl(dev->base_addr + WOLCmd) & ~WCSR_RESET_SAVE; - writel(wcsr, dev->base_addr + WOLCmd); + wcsr |= readl(ioaddr + WOLCmd) & ~WCSR_RESET_SAVE; + writel(wcsr, ioaddr + WOLCmd); /* read RFCR */ - rfcr |= readl(dev->base_addr + RxFilterAddr) & ~RFCR_RESET_SAVE; + rfcr |= readl(ioaddr + RxFilterAddr) & ~RFCR_RESET_SAVE; /* restore PMATCH */ for (i = 0; i < 3; i++) { - writel(i*2, dev->base_addr + RxFilterAddr); - writew(pmatch[i], dev->base_addr + RxFilterData); + writel(i*2, ioaddr + RxFilterAddr); + writew(pmatch[i], ioaddr + RxFilterData); } for (i = 0; i < 3; i++) { - writel(0xa+(i*2), dev->base_addr + RxFilterAddr); - writew(sopass[i], dev->base_addr + RxFilterData); + writel(0xa+(i*2), ioaddr + RxFilterAddr); + writew(sopass[i], ioaddr + RxFilterData); } /* restore RFCR */ - writel(rfcr, dev->base_addr + RxFilterAddr); + writel(rfcr, ioaddr + RxFilterAddr); } static void natsemi_reload_eeprom(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); int i; - writel(EepromReload, dev->base_addr + PCIBusCfg); + writel(EepromReload, ioaddr + PCIBusCfg); for (i=0;ibase_addr + PCIBusCfg) & EepromReload)) + if (!(readl(ioaddr + PCIBusCfg) & EepromReload)) break; } if (i==NATSEMI_HW_TIMEOUT) { @@ -1481,7 +1503,7 @@ static void natsemi_reload_eeprom(struct net_device *dev) static void natsemi_stop_rxtx(struct net_device *dev) { - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); struct netdev_private *np = netdev_priv(dev); int i; @@ -1503,7 +1525,7 @@ static void natsemi_stop_rxtx(struct net_device *dev) static int netdev_open(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); int i; /* Reset the chip, just in case. */ @@ -1552,6 +1574,7 @@ static int netdev_open(struct net_device *dev) static void do_cable_magic(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); + void __iomem *ioaddr = ns_ioaddr(dev); if (dev->if_port != PORT_TP) return; @@ -1565,15 +1588,15 @@ static void do_cable_magic(struct net_device *dev) * activity LED while idle. This process is based on instructions * from engineers at National. */ - if (readl(dev->base_addr + ChipConfig) & CfgSpeed100) { + if (readl(ioaddr + ChipConfig) & CfgSpeed100) { u16 data; - writew(1, dev->base_addr + PGSEL); + writew(1, ioaddr + PGSEL); /* * coefficient visibility should already be enabled via * DSPCFG | 0x1000 */ - data = readw(dev->base_addr + TSTDAT) & 0xff; + data = readw(ioaddr + TSTDAT) & 0xff; /* * the value must be negative, and within certain values * (these values all come from National) @@ -1582,13 +1605,13 @@ static void do_cable_magic(struct net_device *dev) struct netdev_private *np = netdev_priv(dev); /* the bug has been triggered - fix the coefficient */ - writew(TSTDAT_FIXED, dev->base_addr + TSTDAT); + writew(TSTDAT_FIXED, ioaddr + TSTDAT); /* lock the value */ - data = readw(dev->base_addr + DSPCFG); + data = readw(ioaddr + DSPCFG); np->dspcfg = data | DSPCFG_LOCK; - writew(np->dspcfg, dev->base_addr + DSPCFG); + writew(np->dspcfg, ioaddr + DSPCFG); } - writew(0, dev->base_addr + PGSEL); + writew(0, ioaddr + PGSEL); } } @@ -1596,6 +1619,7 @@ static void undo_cable_magic(struct net_device *dev) { u16 data; struct netdev_private *np = netdev_priv(dev); + void __iomem * ioaddr = ns_ioaddr(dev); if (dev->if_port != PORT_TP) return; @@ -1603,18 +1627,18 @@ static void undo_cable_magic(struct net_device *dev) if (np->srr >= SRR_DP83816_A5) return; - writew(1, dev->base_addr + PGSEL); + writew(1, ioaddr + PGSEL); /* make sure the lock bit is clear */ - data = readw(dev->base_addr + DSPCFG); + data = readw(ioaddr + DSPCFG); np->dspcfg = data & ~DSPCFG_LOCK; - writew(np->dspcfg, dev->base_addr + DSPCFG); - writew(0, dev->base_addr + PGSEL); + writew(np->dspcfg, ioaddr + DSPCFG); + writew(0, ioaddr + PGSEL); } static void check_link(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); int duplex; u16 bmsr; @@ -1675,7 +1699,7 @@ static void check_link(struct net_device *dev) static void init_registers(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); init_phy_fixup(dev); @@ -1754,6 +1778,7 @@ static void netdev_timer(unsigned long data) { struct net_device *dev = (struct net_device *)data; struct netdev_private *np = netdev_priv(dev); + void __iomem * ioaddr = ns_ioaddr(dev); int next_tick = 5*HZ; if (netif_msg_timer(np)) { @@ -1765,7 +1790,6 @@ static void netdev_timer(unsigned long data) } if (dev->if_port == PORT_TP) { - long ioaddr = dev->base_addr; u16 dspcfg; spin_lock_irq(&np->lock); @@ -1808,7 +1832,7 @@ static void netdev_timer(unsigned long data) refill_rx(dev); enable_irq(dev->irq); if (!np->oom) { - writel(RxOn, dev->base_addr + ChipCmd); + writel(RxOn, ioaddr + ChipCmd); } else { next_tick = 1; } @@ -1842,7 +1866,7 @@ static void dump_ring(struct net_device *dev) static void tx_timeout(struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); disable_irq(dev->irq); spin_lock_irq(&np->lock); @@ -2042,6 +2066,7 @@ static void reinit_ring(struct net_device *dev) static int start_tx(struct sk_buff *skb, struct net_device *dev) { struct netdev_private *np = netdev_priv(dev); + void __iomem * ioaddr = ns_ioaddr(dev); unsigned entry; /* Note: Ordering is important here, set the field with the @@ -2070,7 +2095,7 @@ static int start_tx(struct sk_buff *skb, struct net_device *dev) netif_stop_queue(dev); } /* Wake the potentially-idle transmit channel. */ - writel(TxOn, dev->base_addr + ChipCmd); + writel(TxOn, ioaddr + ChipCmd); } else { dev_kfree_skb_irq(skb); np->stats.tx_dropped++; @@ -2135,7 +2160,7 @@ static irqreturn_t intr_handler(int irq, void *dev_instance, struct pt_regs *rgs { struct net_device *dev = dev_instance; struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); int boguscnt = max_interrupt_work; unsigned int handled = 0; @@ -2197,6 +2222,7 @@ static void netdev_rx(struct net_device *dev) int boguscnt = np->dirty_rx + RX_RING_SIZE - np->cur_rx; s32 desc_status = le32_to_cpu(np->rx_head_desc->cmd_status); unsigned int buflen = np->rx_buf_sz; + void __iomem * ioaddr = ns_ioaddr(dev); /* If the driver owns the next entry it's a new packet. Send it up. */ while (desc_status < 0) { /* e.g. & DescOwn */ @@ -2278,13 +2304,13 @@ static void netdev_rx(struct net_device *dev) if (np->oom) mod_timer(&np->timer, jiffies + 1); else - writel(RxOn, dev->base_addr + ChipCmd); + writel(RxOn, ioaddr + ChipCmd); } static void netdev_error(struct net_device *dev, int intr_status) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); spin_lock(&np->lock); if (intr_status & LinkChange) { @@ -2343,7 +2369,7 @@ static void netdev_error(struct net_device *dev, int intr_status) static void __get_stats(struct net_device *dev) { - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); struct netdev_private *np = netdev_priv(dev); /* The chip only need report frame silently dropped. */ @@ -2364,10 +2390,19 @@ static struct net_device_stats *get_stats(struct net_device *dev) return &np->stats; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void natsemi_poll_controller(struct net_device *dev) +{ + disable_irq(dev->irq); + intr_handler(dev->irq, dev, NULL); + enable_irq(dev->irq); +} +#endif + #define HASH_TABLE 0x200 static void __set_rx_mode(struct net_device *dev) { - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); struct netdev_private *np = netdev_priv(dev); u8 mc_filter[64]; /* Multicast hash filter */ u32 rx_mode; @@ -2413,7 +2448,7 @@ static int natsemi_change_mtu(struct net_device *dev, int new_mtu) /* synchronized against open : rtnl_lock() held by caller */ if (netif_running(dev)) { struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); disable_irq(dev->irq); spin_lock(&np->lock); @@ -2616,7 +2651,8 @@ static int netdev_ethtool_ioctl(struct net_device *dev, void __user *useraddr) static int netdev_set_wol(struct net_device *dev, u32 newval) { struct netdev_private *np = netdev_priv(dev); - u32 data = readl(dev->base_addr + WOLCmd) & ~WakeOptsSummary; + void __iomem * ioaddr = ns_ioaddr(dev); + u32 data = readl(ioaddr + WOLCmd) & ~WakeOptsSummary; /* translate to bitmasks this chip understands */ if (newval & WAKE_PHY) @@ -2637,7 +2673,7 @@ static int netdev_set_wol(struct net_device *dev, u32 newval) } } - writel(data, dev->base_addr + WOLCmd); + writel(data, ioaddr + WOLCmd); return 0; } @@ -2645,7 +2681,8 @@ static int netdev_set_wol(struct net_device *dev, u32 newval) static int netdev_get_wol(struct net_device *dev, u32 *supported, u32 *cur) { struct netdev_private *np = netdev_priv(dev); - u32 regval = readl(dev->base_addr + WOLCmd); + void __iomem * ioaddr = ns_ioaddr(dev); + u32 regval = readl(ioaddr + WOLCmd); *supported = (WAKE_PHY | WAKE_UCAST | WAKE_MCAST | WAKE_BCAST | WAKE_ARP | WAKE_MAGIC); @@ -2680,6 +2717,7 @@ static int netdev_get_wol(struct net_device *dev, u32 *supported, u32 *cur) static int netdev_set_sopass(struct net_device *dev, u8 *newval) { struct netdev_private *np = netdev_priv(dev); + void __iomem * ioaddr = ns_ioaddr(dev); u16 *sval = (u16 *)newval; u32 addr; @@ -2688,22 +2726,22 @@ static int netdev_set_sopass(struct net_device *dev, u8 *newval) } /* enable writing to these registers by disabling the RX filter */ - addr = readl(dev->base_addr + RxFilterAddr) & ~RFCRAddressMask; + addr = readl(ioaddr + RxFilterAddr) & ~RFCRAddressMask; addr &= ~RxFilterEnable; - writel(addr, dev->base_addr + RxFilterAddr); + writel(addr, ioaddr + RxFilterAddr); /* write the three words to (undocumented) RFCR vals 0xa, 0xc, 0xe */ - writel(addr | 0xa, dev->base_addr + RxFilterAddr); - writew(sval[0], dev->base_addr + RxFilterData); + writel(addr | 0xa, ioaddr + RxFilterAddr); + writew(sval[0], ioaddr + RxFilterData); - writel(addr | 0xc, dev->base_addr + RxFilterAddr); - writew(sval[1], dev->base_addr + RxFilterData); + writel(addr | 0xc, ioaddr + RxFilterAddr); + writew(sval[1], ioaddr + RxFilterData); - writel(addr | 0xe, dev->base_addr + RxFilterAddr); - writew(sval[2], dev->base_addr + RxFilterData); + writel(addr | 0xe, ioaddr + RxFilterAddr); + writew(sval[2], ioaddr + RxFilterData); /* re-enable the RX filter */ - writel(addr | RxFilterEnable, dev->base_addr + RxFilterAddr); + writel(addr | RxFilterEnable, ioaddr + RxFilterAddr); return 0; } @@ -2711,6 +2749,7 @@ static int netdev_set_sopass(struct net_device *dev, u8 *newval) static int netdev_get_sopass(struct net_device *dev, u8 *data) { struct netdev_private *np = netdev_priv(dev); + void __iomem * ioaddr = ns_ioaddr(dev); u16 *sval = (u16 *)data; u32 addr; @@ -2720,18 +2759,18 @@ static int netdev_get_sopass(struct net_device *dev, u8 *data) } /* read the three words from (undocumented) RFCR vals 0xa, 0xc, 0xe */ - addr = readl(dev->base_addr + RxFilterAddr) & ~RFCRAddressMask; + addr = readl(ioaddr + RxFilterAddr) & ~RFCRAddressMask; - writel(addr | 0xa, dev->base_addr + RxFilterAddr); - sval[0] = readw(dev->base_addr + RxFilterData); + writel(addr | 0xa, ioaddr + RxFilterAddr); + sval[0] = readw(ioaddr + RxFilterData); - writel(addr | 0xc, dev->base_addr + RxFilterAddr); - sval[1] = readw(dev->base_addr + RxFilterData); + writel(addr | 0xc, ioaddr + RxFilterAddr); + sval[1] = readw(ioaddr + RxFilterData); - writel(addr | 0xe, dev->base_addr + RxFilterAddr); - sval[2] = readw(dev->base_addr + RxFilterData); + writel(addr | 0xe, ioaddr + RxFilterAddr); + sval[2] = readw(ioaddr + RxFilterData); - writel(addr, dev->base_addr + RxFilterAddr); + writel(addr, ioaddr + RxFilterAddr); return 0; } @@ -2894,10 +2933,11 @@ static int netdev_get_regs(struct net_device *dev, u8 *buf) int j; u32 rfcr; u32 *rbuf = (u32 *)buf; + void __iomem * ioaddr = ns_ioaddr(dev); /* read non-mii page 0 of registers */ for (i = 0; i < NATSEMI_PG0_NREGS/2; i++) { - rbuf[i] = readl(dev->base_addr + i*4); + rbuf[i] = readl(ioaddr + i*4); } /* read current mii registers */ @@ -2905,20 +2945,20 @@ static int netdev_get_regs(struct net_device *dev, u8 *buf) rbuf[i] = mdio_read(dev, i & 0x1f); /* read only the 'magic' registers from page 1 */ - writew(1, dev->base_addr + PGSEL); - rbuf[i++] = readw(dev->base_addr + PMDCSR); - rbuf[i++] = readw(dev->base_addr + TSTDAT); - rbuf[i++] = readw(dev->base_addr + DSPCFG); - rbuf[i++] = readw(dev->base_addr + SDCFG); - writew(0, dev->base_addr + PGSEL); + writew(1, ioaddr + PGSEL); + rbuf[i++] = readw(ioaddr + PMDCSR); + rbuf[i++] = readw(ioaddr + TSTDAT); + rbuf[i++] = readw(ioaddr + DSPCFG); + rbuf[i++] = readw(ioaddr + SDCFG); + writew(0, ioaddr + PGSEL); /* read RFCR indexed registers */ - rfcr = readl(dev->base_addr + RxFilterAddr); + rfcr = readl(ioaddr + RxFilterAddr); for (j = 0; j < NATSEMI_RFDR_NREGS; j++) { - writel(j*2, dev->base_addr + RxFilterAddr); - rbuf[i++] = readw(dev->base_addr + RxFilterData); + writel(j*2, ioaddr + RxFilterAddr); + rbuf[i++] = readw(ioaddr + RxFilterData); } - writel(rfcr, dev->base_addr + RxFilterAddr); + writel(rfcr, ioaddr + RxFilterAddr); /* the interrupt status is clear-on-read - see if we missed any */ if (rbuf[4] & rbuf[5]) { @@ -2943,10 +2983,11 @@ static int netdev_get_eeprom(struct net_device *dev, u8 *buf) { int i; u16 *ebuf = (u16 *)buf; + void __iomem * ioaddr = ns_ioaddr(dev); /* eeprom_read reads 16 bits, and indexes by 16 bits */ for (i = 0; i < NATSEMI_EEPROM_SIZE/2; i++) { - ebuf[i] = eeprom_read(dev->base_addr, i); + ebuf[i] = eeprom_read(ioaddr, i); /* The EEPROM itself stores data bit-swapped, but eeprom_read * reads it back "sanely". So we swap it back here in order to * present it to userland as it is stored. */ @@ -3016,7 +3057,7 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) static void enable_wol_mode(struct net_device *dev, int enable_intr) { - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); struct netdev_private *np = netdev_priv(dev); if (netif_msg_wol(np)) @@ -3049,7 +3090,7 @@ static void enable_wol_mode(struct net_device *dev, int enable_intr) static int netdev_close(struct net_device *dev) { - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); struct netdev_private *np = netdev_priv(dev); if (netif_msg_ifdown(np)) @@ -3126,10 +3167,11 @@ static int netdev_close(struct net_device *dev) static void __devexit natsemi_remove1 (struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); + void __iomem * ioaddr = ns_ioaddr(dev); unregister_netdev (dev); pci_release_regions (pdev); - iounmap ((char *) dev->base_addr); + iounmap(ioaddr); free_netdev (dev); pci_set_drvdata(pdev, NULL); } @@ -3163,7 +3205,7 @@ static int natsemi_suspend (struct pci_dev *pdev, u32 state) { struct net_device *dev = pci_get_drvdata (pdev); struct netdev_private *np = netdev_priv(dev); - long ioaddr = dev->base_addr; + void __iomem * ioaddr = ns_ioaddr(dev); rtnl_lock(); if (netif_running (dev)) { diff --git a/drivers/net/ne.c b/drivers/net/ne.c index a4116f136..d9a9a0bb7 100644 --- a/drivers/net/ne.c +++ b/drivers/net/ne.c @@ -29,6 +29,7 @@ last in cleanup_modue() Richard Guenther : Added support for ISAPnP cards Paul Gortmaker : Discontinued PCI support - use ne2k-pci.c instead. + Hayato Fujiwara : Add m32r support. */ @@ -128,6 +129,14 @@ bad_clone_list[] __initdata = { #define NESM_START_PG 0x40 /* First page of TX buffer */ #define NESM_STOP_PG 0x80 /* Last page +1 of RX ring */ +#ifdef CONFIG_PLAT_MAPPI +# define DCR_VAL 0x4b +#elif CONFIG_PLAT_OAKS32R +# define DCR_VAL 0x48 +#else +# define DCR_VAL 0x49 +#endif + static int ne_probe1(struct net_device *dev, int ioaddr); static int ne_probe_isapnp(struct net_device *dev); @@ -387,7 +396,7 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr) for (i = 0; i < 16; i++) SA_prom[i] = SA_prom[i+i]; /* We must set the 8390 for word mode. */ - outb_p(0x49, ioaddr + EN0_DCFG); + outb_p(DCR_VAL, ioaddr + EN0_DCFG); start_page = NESM_START_PG; stop_page = NESM_STOP_PG; } else { @@ -395,7 +404,12 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr) stop_page = NE1SM_STOP_PG; } +#if defined(CONFIG_PLAT_MAPPI) || defined(CONFIG_PLAT_OAKS32R) + neX000 = ((SA_prom[14] == 0x57 && SA_prom[15] == 0x57) + || (SA_prom[14] == 0x42 && SA_prom[15] == 0x42)); +#else neX000 = (SA_prom[14] == 0x57 && SA_prom[15] == 0x57); +#endif ctron = (SA_prom[0] == 0x00 && SA_prom[1] == 0x00 && SA_prom[2] == 0x1d); copam = (SA_prom[14] == 0x49 && SA_prom[15] == 0x00); @@ -476,10 +490,20 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr) dev->base_addr = ioaddr; +#ifdef CONFIG_PLAT_MAPPI + outb_p(E8390_NODMA + E8390_PAGE1 + E8390_STOP, + ioaddr + E8390_CMD); /* 0x61 */ + for (i = 0 ; i < ETHER_ADDR_LEN ; i++) { + dev->dev_addr[i] = SA_prom[i] + = inb_p(ioaddr + EN1_PHYS_SHIFT(i)); + printk(" %2.2x", SA_prom[i]); + } +#else for(i = 0; i < ETHER_ADDR_LEN; i++) { printk(" %2.2x", SA_prom[i]); dev->dev_addr[i] = SA_prom[i]; } +#endif printk("\n%s: %s found at %#x, using IRQ %d.\n", dev->name, name, ioaddr, dev->irq); @@ -487,7 +511,11 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr) ei_status.name = name; ei_status.tx_start_page = start_page; ei_status.stop_page = stop_page; +#ifdef CONFIG_PLAT_OAKS32R + ei_status.word16 = 0; +#else ei_status.word16 = (wordlength == 2); +#endif ei_status.rx_start_page = start_page + TX_PAGES; #ifdef PACKETBUF_MEMSIZE diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index d26eef56d..29c98d655 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -45,9 +45,6 @@ #include #include #include -#include - -#include "netdump.h" MODULE_AUTHOR("Maintainer: Matt Mackall "); MODULE_DESCRIPTION("Console driver for network interfaces"); @@ -61,100 +58,28 @@ static struct netpoll np = { .name = "netconsole", .dev_name = "eth0", .local_port = 6665, - .remote_port = 514, - .remote_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, -}; -static int configured = 0; - -static char netlog_config[256]; -module_param_string(netlog, netlog_config, 256, 0); -MODULE_PARM_DESC(netlog, " netlog=[src-port]@[src-ip]/[dev],[tgt-port]@/[tgt-macaddr]\n"); -static struct netpoll netlog_np = { - .name = "netlog", - .dev_name = "eth0", - .local_port = 6664, .remote_port = 6666, .remote_mac = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, }; -static int netlog_configured = 0; +static int configured = 0; #define MAX_PRINT_CHUNK 1000 -#define SYSLOG_HEADER_LEN 4 - -static int syslog_chars = SYSLOG_HEADER_LEN; -static unsigned char syslog_line [MAX_PRINT_CHUNK + 10] = { - '<', - '5', - '>', - ' ', - [4 ... MAX_PRINT_CHUNK+5] = '\0', -}; -static unsigned char netlog_line[MAX_PRINT_CHUNK + HEADER_LEN]; -static unsigned int log_offset; - -/* - * We feed kernel messages char by char, and send the UDP packet - * one linefeed. We buffer all characters received. - */ -static inline void feed_syslog_char(const unsigned char c) -{ - if (syslog_chars == MAX_PRINT_CHUNK) - syslog_chars--; - syslog_line[syslog_chars] = c; - syslog_chars++; - if (c == '\n') { - netpoll_send_udp(&np, syslog_line, syslog_chars); - syslog_chars = SYSLOG_HEADER_LEN; - } -} static void write_msg(struct console *con, const char *msg, unsigned int len) { - int left, i; + int frag, left; unsigned long flags; - reply_t reply; - char *netlog_buf = &netlog_line[HEADER_LEN]; - if (!np.dev && !netlog_np.dev) - return; - - if (unlikely(netdump_mode)) + if (!np.dev) return; local_irq_save(flags); - if (np.dev) - for (i = 0; i < len; i++) - feed_syslog_char(msg[i]); - - if (netlog_np.dev) { - left = len; - while (left) { - if (left > MAX_PRINT_CHUNK) - len = MAX_PRINT_CHUNK; - else - len = left; - netlog_line[0] = NETDUMP_VERSION; - - reply.nr = 0; - reply.code = REPLY_LOG; - reply.info = log_offset; - - put_unaligned(htonl(reply.nr), - (u32 *)(netlog_line + 1)); - put_unaligned(htonl(reply.code), - (u32 *)(netlog_line + 5)); - put_unaligned(htonl(reply.info), - (u32 *)(netlog_line + 9)); - - log_offset += len; - memcpy(netlog_buf, msg, len); - - netpoll_send_udp(&netlog_np, - netlog_line, len + HEADER_LEN); - msg += len; - left -= len; - } + for(left = len; left; ) { + frag = min(left, MAX_PRINT_CHUNK); + netpoll_send_udp(&np, msg, frag); + msg += frag; + left -= frag; } local_irq_restore(flags); @@ -173,29 +98,17 @@ static int option_setup(char *opt) __setup("netconsole=", option_setup); -static int netlog_option_setup(char *opt) -{ - netlog_configured = !netpoll_parse_options(&netlog_np, opt); - return 0; -} - -__setup("netlog=", netlog_option_setup); - static int init_netconsole(void) { if(strlen(config)) option_setup(config); - if (strlen(netlog_config)) - netlog_option_setup(netlog_config); - - if (configured && netpoll_setup(&np)) - printk("netconsole: failed to configure syslog service\n"); - - if (netlog_configured && netpoll_setup(&netlog_np)) - printk("netconsole: failed to configured netlog service.\n"); + if(!configured) { + printk("netconsole: not configured, aborting\n"); + return -EINVAL; + } - if (!configured && !netlog_configured) + if(netpoll_setup(&np)) return -EINVAL; register_console(&netconsole); @@ -206,12 +119,7 @@ static int init_netconsole(void) static void cleanup_netconsole(void) { unregister_console(&netconsole); - - if (configured) - netpoll_cleanup(&np); - - if (netlog_configured) - netpoll_cleanup(&netlog_np); + netpoll_cleanup(&np); } module_init(init_netconsole); diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index c2551c5fb..95246de68 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c @@ -2139,6 +2139,7 @@ static void __exit ns83820_exit(void) MODULE_AUTHOR("Benjamin LaHaise "); MODULE_DESCRIPTION("National Semiconductor DP83820 10/100/1000 driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(VERSION); MODULE_DEVICE_TABLE(pci, ns83820_pci_tbl); diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c index 49d60d9ca..d75dbd0ea 100644 --- a/drivers/net/pcmcia/smc91c92_cs.c +++ b/drivers/net/pcmcia/smc91c92_cs.c @@ -2113,7 +2113,7 @@ static int smc_netdev_set_ecmd(struct net_device *dev, struct ethtool_cmd *ecmd) tmp |= TCR_FDUPLX; else tmp &= ~TCR_FDUPLX; - outw(ioaddr + TCR, tmp); + outw(tmp, ioaddr + TCR); return 0; } diff --git a/drivers/net/plip.c b/drivers/net/plip.c index 43f923c96..937b6198c 100644 --- a/drivers/net/plip.c +++ b/drivers/net/plip.c @@ -547,7 +547,7 @@ static unsigned short plip_type_trans(struct sk_buff *skb, struct net_device *de skb->mac.raw=skb->data; skb_pull(skb,dev->hard_header_len); - eth= skb->mac.ethernet; + eth = eth_hdr(skb); if(*eth->h_dest&1) { diff --git a/drivers/net/ppp_async.c b/drivers/net/ppp_async.c index e44b189c6..ae5255a22 100644 --- a/drivers/net/ppp_async.c +++ b/drivers/net/ppp_async.c @@ -122,6 +122,9 @@ static struct ppp_channel_ops async_ops = { * frees the memory that ppp_asynctty_receive is using. The best * way to fix this is to use a rwlock in the tty struct, but for now * we use a single global rwlock for all ttys in ppp line discipline. + * + * FIXME: this is no longer true. The _close path for the ldisc is + * now guaranteed to be sane. */ static rwlock_t disc_data_lock = RW_LOCK_UNLOCKED; @@ -144,7 +147,8 @@ static void ap_put(struct asyncppp *ap) } /* - * Called when a tty is put into PPP line discipline. + * Called when a tty is put into PPP line discipline. Called in process + * context. */ static int ppp_asynctty_open(struct tty_struct *tty) @@ -233,6 +237,18 @@ ppp_asynctty_close(struct tty_struct *tty) kfree(ap); } +/* + * Called on tty hangup in process context. + * + * Wait for I/O to driver to complete and unregister PPP channel. + * This is already done by the close routine, so just call that. + */ +static int ppp_asynctty_hangup(struct tty_struct *tty) +{ + ppp_asynctty_close(tty); + return 0; +} + /* * Read does nothing - no data is ever available this way. * Pppd reads and writes packets via /dev/ppp instead. @@ -255,6 +271,11 @@ ppp_asynctty_write(struct tty_struct *tty, struct file *file, return -EAGAIN; } +/* + * Called in process context only. May be re-entered by multiple + * ioctl calling threads. + */ + static int ppp_asynctty_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg) @@ -371,6 +392,7 @@ static struct tty_ldisc ppp_ldisc = { .name = "ppp", .open = ppp_asynctty_open, .close = ppp_asynctty_close, + .hangup = ppp_asynctty_hangup, .read = ppp_asynctty_read, .write = ppp_asynctty_write, .ioctl = ppp_asynctty_ioctl, @@ -716,7 +738,8 @@ flush: /* * Flush output from our internal buffers. - * Called for the TCFLSH ioctl. + * Called for the TCFLSH ioctl. Can be entered in parallel + * but this is covered by the xmit_lock. */ static void ppp_async_flush_output(struct asyncppp *ap) @@ -816,7 +839,9 @@ process_input_packet(struct asyncppp *ap) skb_trim(skb, 0); } -/* called when the tty driver has data for us. */ +/* Called when the tty driver has data for us. Runs parallel with the + other ldisc functions but will not be re-entered */ + static void ppp_async_input(struct asyncppp *ap, const unsigned char *buf, char *flags, int count) diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c index 651601105..a56741087 100644 --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c @@ -1595,6 +1595,7 @@ ppp_receive_nonmp_frame(struct ppp *ppp, struct sk_buff *skb) skb->dev = ppp->dev; skb->protocol = htons(npindex_to_ethertype[npi]); skb->mac.raw = skb->data; + skb->input_dev = ppp->dev; netif_rx(skb); ppp->dev->last_rx = jiffies; } diff --git a/drivers/net/ppp_synctty.c b/drivers/net/ppp_synctty.c index a8f890858..7368810dd 100644 --- a/drivers/net/ppp_synctty.c +++ b/drivers/net/ppp_synctty.c @@ -175,6 +175,8 @@ ppp_print_buffer (const char *name, const __u8 *buf, int count) * frees the memory that ppp_synctty_receive is using. The best * way to fix this is to use a rwlock in the tty struct, but for now * we use a single global rwlock for all ttys in ppp line discipline. + * + * FIXME: Fixed in tty_io nowdays. */ static rwlock_t disc_data_lock = RW_LOCK_UNLOCKED; @@ -282,6 +284,18 @@ ppp_sync_close(struct tty_struct *tty) kfree(ap); } +/* + * Called on tty hangup in process context. + * + * Wait for I/O to driver to complete and unregister PPP channel. + * This is already done by the close routine, so just call that. + */ +static int ppp_sync_hangup(struct tty_struct *tty) +{ + ppp_sync_close(tty); + return 0; +} + /* * Read does nothing - no data is ever available this way. * Pppd reads and writes packets via /dev/ppp instead. @@ -420,6 +434,7 @@ static struct tty_ldisc ppp_sync_ldisc = { .name = "pppsync", .open = ppp_sync_open, .close = ppp_sync_close, + .hangup = ppp_sync_hangup, .read = ppp_sync_read, .write = ppp_sync_write, .ioctl = ppp_synctty_ioctl, diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 64b35cc25..672e3cd2d 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c @@ -391,7 +391,7 @@ static int pppoe_rcv(struct sk_buff *skb, ph = (struct pppoe_hdr *) skb->nh.raw; - po = get_item((unsigned long) ph->sid, skb->mac.ethernet->h_source); + po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source); if (!po) goto drop; @@ -440,7 +440,7 @@ static int pppoe_disc_rcv(struct sk_buff *skb, if (ph->code != PADT_CODE) goto abort; - po = get_item((unsigned long) ph->sid, skb->mac.ethernet->h_source); + po = get_item((unsigned long) ph->sid, eth_hdr(skb)->h_source); if (po) { struct sock *sk = po->sk; diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index e686cb440..1ab02e95c 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -7,7 +7,7 @@ Feb 4 2002 - created initially by ShuChen . May 20 2002 - Add link status force-mode and TBI mode support. ========================================================================= - 1. The media can be forced in 5 modes. + 1. [DEPRECATED: use ethtool instead] The media can be forced in 5 modes. Command: 'insmod r8169 media = SET_MEDIA' Ex: 'insmod r8169 media = 0x04' will force PHY to operate in 100Mpbs Half-duplex. @@ -41,6 +41,7 @@ VERSION 1.2 <2002/11/30> #include #include #include +#include #include #include #include @@ -64,6 +65,14 @@ VERSION 1.2 <2002/11/30> #define dprintk(fmt, args...) do {} while (0) #endif /* RTL8169_DEBUG */ +#ifdef CONFIG_R8169_NAPI +#define rtl8169_rx_skb netif_receive_skb +#define rtl8169_rx_quota(count, quota) min(count, quota) +#else +#define rtl8169_rx_skb netif_rx +#define rtl8169_rx_quota(count, quota) count +#endif + /* media options */ #define MAX_UNITS 8 static int media[MAX_UNITS] = { -1, -1, -1, -1, -1, -1, -1, -1 }; @@ -90,15 +99,16 @@ static int multicast_filter_limit = 32; #define RxPacketMaxSize 0x0800 /* Maximum size supported is 16K-1 */ #define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */ +#define R8169_NAPI_WEIGHT 64 #define NUM_TX_DESC 64 /* Number of Tx descriptor registers */ -#define NUM_RX_DESC 64 /* Number of Rx descriptor registers */ +#define NUM_RX_DESC 256 /* Number of Rx descriptor registers */ #define RX_BUF_SIZE 1536 /* Rx Buffer size */ #define R8169_TX_RING_BYTES (NUM_TX_DESC * sizeof(struct TxDesc)) #define R8169_RX_RING_BYTES (NUM_RX_DESC * sizeof(struct RxDesc)) #define RTL_MIN_IO_SIZE 0x80 #define RTL8169_TX_TIMEOUT (6*HZ) -#define RTL8169_PHY_TIMEOUT (HZ) +#define RTL8169_PHY_TIMEOUT (10*HZ) /* write/read MMIO register */ #define RTL_W8(reg, val8) writeb ((val8), ioaddr + (reg)) @@ -146,6 +156,7 @@ static struct pci_device_id rtl8169_pci_tbl[] = { MODULE_DEVICE_TABLE(pci, rtl8169_pci_tbl); static int rx_copybreak = 200; +static int use_dac; enum RTL8169_registers { MAC0 = 0, /* Ethernet hardware address. */ @@ -194,7 +205,7 @@ enum RTL8169_register_content { SWInt = 0x0100, TxDescUnavail = 0x80, RxFIFOOver = 0x40, - RxUnderrun = 0x20, + LinkChg = 0x20, RxOverflow = 0x10, TxErr = 0x08, TxOK = 0x04, @@ -233,6 +244,14 @@ enum RTL8169_register_content { TxInterFrameGapShift = 24, TxDMAShift = 8, /* DMA burst value (0-7) is shift this many bits */ + /* TBICSR p.28 */ + TBIReset = 0x80000000, + TBILoopback = 0x40000000, + TBINwEnable = 0x20000000, + TBINwRestart = 0x10000000, + TBILinkOk = 0x02000000, + TBINwComplete = 0x01000000, + /* CPlusCmd p.31 */ RxVlan = (1 << 6), RxChkSum = (1 << 5), @@ -306,10 +325,10 @@ struct RxDesc { }; struct rtl8169_private { - void *mmio_addr; /* memory map physical address */ + void *mmio_addr; /* memory map physical address */ struct pci_dev *pci_dev; /* Index of PCI device */ struct net_device_stats stats; /* statistics of net device */ - spinlock_t lock; /* spin lock flag */ + spinlock_t lock; /* spin lock flag */ int chipset; int mac_version; int phy_version; @@ -317,22 +336,33 @@ struct rtl8169_private { u32 cur_tx; /* Index into the Tx descriptor buffer of next Rx pkt. */ u32 dirty_rx; u32 dirty_tx; - struct TxDesc *TxDescArray; /* Index of 256-alignment Tx Descriptor buffer */ - struct RxDesc *RxDescArray; /* Index of 256-alignment Rx Descriptor buffer */ + struct TxDesc *TxDescArray; /* 256-aligned Tx descriptor ring */ + struct RxDesc *RxDescArray; /* 256-aligned Rx descriptor ring */ dma_addr_t TxPhyAddr; dma_addr_t RxPhyAddr; struct sk_buff *Rx_skbuff[NUM_RX_DESC]; /* Rx data buffers */ - struct sk_buff *Tx_skbuff[NUM_TX_DESC]; /* Index of Transmit data buffer */ + struct sk_buff *Tx_skbuff[NUM_TX_DESC]; /* Tx data buffers */ struct timer_list timer; - unsigned long phy_link_down_cnt; u16 cp_cmd; + u16 intr_mask; + int phy_auto_nego_reg; + int phy_1000_ctrl_reg; + + int (*set_speed)(struct net_device *, u8 autoneg, u16 speed, u8 duplex); + void (*get_settings)(struct net_device *, struct ethtool_cmd *); + void (*phy_reset_enable)(void *); + unsigned int (*phy_reset_pending)(void *); + unsigned int (*link_ok)(void *); }; MODULE_AUTHOR("Realtek"); MODULE_DESCRIPTION("RealTek RTL-8169 Gigabit Ethernet driver"); MODULE_PARM(media, "1-" __MODULE_STRING(MAX_UNITS) "i"); MODULE_PARM(rx_copybreak, "i"); +MODULE_PARM(use_dac, "i"); +MODULE_PARM_DESC(use_dac, "Enable PCI DAC. Unsafe on 32 bit PCI slot."); MODULE_LICENSE("GPL"); +MODULE_VERSION(RTL8169_VERSION); static int rtl8169_open(struct net_device *dev); static int rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev); @@ -344,9 +374,14 @@ static int rtl8169_close(struct net_device *dev); static void rtl8169_set_rx_mode(struct net_device *dev); static void rtl8169_tx_timeout(struct net_device *dev); static struct net_device_stats *rtl8169_get_stats(struct net_device *netdev); +#ifdef CONFIG_R8169_NAPI +static int rtl8169_poll(struct net_device *dev, int *budget); +#endif static const u16 rtl8169_intr_mask = - RxUnderrun | RxOverflow | RxFIFOOver | TxErr | TxOK | RxErr | RxOK; + SYSErr | LinkChg | RxOverflow | RxFIFOOver | TxErr | TxOK | RxErr | RxOK; +static const u16 rtl8169_napi_event = + RxOK | RxOverflow | RxFIFOOver | TxOK | TxErr; static const unsigned int rtl8169_rx_config = (RX_FIFO_THRESH << RxCfgFIFOShift) | (RX_DMA_BURST << RxCfgDMAShift); @@ -364,11 +399,9 @@ static void mdio_write(void *ioaddr, int RegAddr, int value) for (i = 2000; i > 0; i--) { // Check if the RTL8169 has completed writing to the specified MII register - if (!(RTL_R32(PHYAR) & 0x80000000)) { + if (!(RTL_R32(PHYAR) & 0x80000000)) break; - } else { - udelay(100); - } + udelay(100); } } @@ -390,18 +423,264 @@ static int mdio_read(void *ioaddr, int RegAddr) return value; } +static unsigned int rtl8169_tbi_reset_pending(void *ioaddr) +{ + return RTL_R32(TBICSR) & TBIReset; +} + +static unsigned int rtl8169_xmii_reset_pending(void *ioaddr) +{ + return mdio_read(ioaddr, 0) & 0x8000; +} + +static unsigned int rtl8169_tbi_link_ok(void *ioaddr) +{ + return RTL_R32(TBICSR) & TBILinkOk; +} + +static unsigned int rtl8169_xmii_link_ok(void *ioaddr) +{ + return RTL_R8(PHYstatus) & LinkStatus; +} + +static void rtl8169_tbi_reset_enable(void *ioaddr) +{ + RTL_W32(TBICSR, RTL_R32(TBICSR) | TBIReset); +} + +static void rtl8169_xmii_reset_enable(void *ioaddr) +{ + unsigned int val; + + val = (mdio_read(ioaddr, PHY_CTRL_REG) | 0x8000) & 0xffff; + mdio_write(ioaddr, PHY_CTRL_REG, val); +} + +static void rtl8169_check_link_status(struct net_device *dev, + struct rtl8169_private *tp, void *ioaddr) +{ + unsigned long flags; + + spin_lock_irqsave(&tp->lock, flags); + if (tp->link_ok(ioaddr)) { + netif_carrier_on(dev); + printk(KERN_INFO PFX "%s: link up\n", dev->name); + } else + netif_carrier_off(dev); + spin_unlock_irqrestore(&tp->lock, flags); +} + +static void rtl8169_link_option(int idx, u8 *autoneg, u16 *speed, u8 *duplex) +{ + struct { + u16 speed; + u8 duplex; + u8 autoneg; + u8 media; + } link_settings[] = { + { SPEED_10, DUPLEX_HALF, AUTONEG_DISABLE, _10_Half }, + { SPEED_10, DUPLEX_FULL, AUTONEG_DISABLE, _10_Full }, + { SPEED_100, DUPLEX_HALF, AUTONEG_DISABLE, _100_Half }, + { SPEED_100, DUPLEX_FULL, AUTONEG_DISABLE, _100_Full }, + { SPEED_1000, DUPLEX_FULL, AUTONEG_DISABLE, _1000_Full }, + /* Make TBI happy */ + { SPEED_1000, DUPLEX_FULL, AUTONEG_ENABLE, 0xff } + }, *p; + unsigned char option; + + option = ((idx < MAX_UNITS) && (idx >= 0)) ? media[idx] : 0xff; + + if ((option != 0xff) && !idx) + printk(KERN_WARNING PFX "media option is deprecated.\n"); + + for (p = link_settings; p->media != 0xff; p++) { + if (p->media == option) + break; + } + *autoneg = p->autoneg; + *speed = p->speed; + *duplex = p->duplex; +} + static void rtl8169_get_drvinfo(struct net_device *dev, struct ethtool_drvinfo *info) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); strcpy(info->driver, RTL8169_DRIVER_NAME); strcpy(info->version, RTL8169_VERSION ); strcpy(info->bus_info, pci_name(tp->pci_dev)); } +static int rtl8169_set_speed_tbi(struct net_device *dev, + u8 autoneg, u16 speed, u8 duplex) +{ + struct rtl8169_private *tp = netdev_priv(dev); + void *ioaddr = tp->mmio_addr; + int ret = 0; + u32 reg; + + reg = RTL_R32(TBICSR); + if ((autoneg == AUTONEG_DISABLE) && (speed == SPEED_1000) && + (duplex == DUPLEX_FULL)) { + RTL_W32(TBICSR, reg & ~(TBINwEnable | TBINwRestart)); + } else if (autoneg == AUTONEG_ENABLE) + RTL_W32(TBICSR, reg | TBINwEnable | TBINwRestart); + else { + printk(KERN_WARNING PFX + "%s: incorrect speed setting refused in TBI mode\n", + dev->name); + ret = -EOPNOTSUPP; + } + + return ret; +} + +static int rtl8169_set_speed_xmii(struct net_device *dev, + u8 autoneg, u16 speed, u8 duplex) +{ + struct rtl8169_private *tp = netdev_priv(dev); + void *ioaddr = tp->mmio_addr; + int auto_nego, giga_ctrl; + + auto_nego = mdio_read(ioaddr, PHY_AUTO_NEGO_REG); + auto_nego &= ~(PHY_Cap_10_Half | PHY_Cap_10_Full | + PHY_Cap_100_Half | PHY_Cap_100_Full); + giga_ctrl = mdio_read(ioaddr, PHY_1000_CTRL_REG); + giga_ctrl &= ~(PHY_Cap_1000_Full | PHY_Cap_Null); + + if (autoneg == AUTONEG_ENABLE) { + auto_nego |= (PHY_Cap_10_Half | PHY_Cap_10_Full | + PHY_Cap_100_Half | PHY_Cap_100_Full); + giga_ctrl |= PHY_Cap_1000_Full; + } else { + if (speed == SPEED_10) + auto_nego |= PHY_Cap_10_Half | PHY_Cap_10_Full; + else if (speed == SPEED_100) + auto_nego |= PHY_Cap_100_Half | PHY_Cap_100_Full; + else if (speed == SPEED_1000) + giga_ctrl |= PHY_Cap_1000_Full; + + if (duplex == DUPLEX_HALF) + auto_nego &= ~(PHY_Cap_10_Full | PHY_Cap_100_Full); + } + + tp->phy_auto_nego_reg = auto_nego; + tp->phy_1000_ctrl_reg = giga_ctrl; + + mdio_write(ioaddr, PHY_AUTO_NEGO_REG, auto_nego); + mdio_write(ioaddr, PHY_1000_CTRL_REG, giga_ctrl); + mdio_write(ioaddr, PHY_CTRL_REG, PHY_Enable_Auto_Nego | + PHY_Restart_Auto_Nego); + return 0; +} + +static int rtl8169_set_speed(struct net_device *dev, + u8 autoneg, u16 speed, u8 duplex) +{ + struct rtl8169_private *tp = netdev_priv(dev); + int ret; + + ret = tp->set_speed(dev, autoneg, speed, duplex); + + if (netif_running(dev) && (tp->phy_1000_ctrl_reg & PHY_Cap_1000_Full)) + mod_timer(&tp->timer, jiffies + RTL8169_PHY_TIMEOUT); + + return ret; +} + +static int rtl8169_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) +{ + struct rtl8169_private *tp = netdev_priv(dev); + unsigned long flags; + int ret; + + spin_lock_irqsave(&tp->lock, flags); + ret = rtl8169_set_speed(dev, cmd->autoneg, cmd->speed, cmd->duplex); + spin_unlock_irqrestore(&tp->lock, flags); + + return ret; +} + +static void rtl8169_gset_tbi(struct net_device *dev, struct ethtool_cmd *cmd) +{ + struct rtl8169_private *tp = netdev_priv(dev); + void *ioaddr = tp->mmio_addr; + u32 status; + + cmd->supported = + SUPPORTED_1000baseT_Full | SUPPORTED_Autoneg | SUPPORTED_FIBRE; + cmd->port = PORT_FIBRE; + cmd->transceiver = XCVR_INTERNAL; + + status = RTL_R32(TBICSR); + cmd->advertising = (status & TBINwEnable) ? ADVERTISED_Autoneg : 0; + cmd->autoneg = !!(status & TBINwEnable); + + cmd->speed = SPEED_1000; + cmd->duplex = DUPLEX_FULL; /* Always set */ +} + +static void rtl8169_gset_xmii(struct net_device *dev, struct ethtool_cmd *cmd) +{ + struct rtl8169_private *tp = netdev_priv(dev); + void *ioaddr = tp->mmio_addr; + u8 status; + + cmd->supported = SUPPORTED_10baseT_Half | + SUPPORTED_10baseT_Full | + SUPPORTED_100baseT_Half | + SUPPORTED_100baseT_Full | + SUPPORTED_1000baseT_Full | + SUPPORTED_Autoneg | + SUPPORTED_TP; + + cmd->autoneg = 1; + cmd->advertising = ADVERTISED_TP | ADVERTISED_Autoneg; + + if (tp->phy_auto_nego_reg & PHY_Cap_10_Half) + cmd->advertising |= ADVERTISED_10baseT_Half; + if (tp->phy_auto_nego_reg & PHY_Cap_10_Full) + cmd->advertising |= ADVERTISED_10baseT_Full; + if (tp->phy_auto_nego_reg & PHY_Cap_100_Half) + cmd->advertising |= ADVERTISED_100baseT_Half; + if (tp->phy_auto_nego_reg & PHY_Cap_100_Full) + cmd->advertising |= ADVERTISED_100baseT_Full; + if (tp->phy_1000_ctrl_reg & PHY_Cap_1000_Full) + cmd->advertising |= ADVERTISED_1000baseT_Full; + + status = RTL_R8(PHYstatus); + + if (status & _1000bpsF) + cmd->speed = SPEED_1000; + else if (status & _100bps) + cmd->speed = SPEED_100; + else if (status & _10bps) + cmd->speed = SPEED_10; + + cmd->duplex = ((status & _1000bpsF) || (status & FullDup)) ? + DUPLEX_FULL : DUPLEX_HALF; +} + +static int rtl8169_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) +{ + struct rtl8169_private *tp = netdev_priv(dev); + unsigned long flags; + + spin_lock_irqsave(&tp->lock, flags); + + tp->get_settings(dev, cmd); + + spin_unlock_irqrestore(&tp->lock, flags); + return 0; +} + + static struct ethtool_ops rtl8169_ethtool_ops = { .get_drvinfo = rtl8169_get_drvinfo, + .get_link = ethtool_op_get_link, + .get_settings = rtl8169_get_settings, + .set_settings = rtl8169_set_settings, }; static void rtl8169_write_gmii_reg_bit(void *ioaddr, int reg, int bitnum, @@ -500,7 +779,7 @@ static void rtl8169_print_phy_version(struct rtl8169_private *tp) static void rtl8169_hw_phy_config(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; struct { u16 regs[5]; /* Beware of bit-sign propagation */ @@ -566,61 +845,47 @@ static void rtl8169_hw_phy_config(struct net_device *dev) mdio_write(ioaddr, 31, 0x0000); //w 31 2 0 0 } -static void rtl8169_hw_phy_reset(struct net_device *dev) -{ - struct rtl8169_private *tp = dev->priv; - void *ioaddr = tp->mmio_addr; - int i, val; - - printk(KERN_WARNING PFX "%s: Reset RTL8169s PHY\n", dev->name); - - val = (mdio_read(ioaddr, 0) | 0x8000) & 0xffff; - mdio_write(ioaddr, 0, val); - - for (i = 50; i >= 0; i--) { - if (!(mdio_read(ioaddr, 0) & 0x8000)) - break; - udelay(100); /* Gross */ - } - - if (i < 0) { - printk(KERN_WARNING PFX "%s: no PHY Reset ack. Giving up.\n", - dev->name); - } -} - static void rtl8169_phy_timer(unsigned long __opaque) { struct net_device *dev = (struct net_device *)__opaque; - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); struct timer_list *timer = &tp->timer; void *ioaddr = tp->mmio_addr; + unsigned long timeout = RTL8169_PHY_TIMEOUT; assert(tp->mac_version > RTL_GIGA_MAC_VER_B); assert(tp->phy_version < RTL_GIGA_PHY_VER_G); - if (RTL_R8(PHYstatus) & LinkStatus) - tp->phy_link_down_cnt = 0; - else { - tp->phy_link_down_cnt++; - if (tp->phy_link_down_cnt >= 12) { - int reg; + if (!(tp->phy_1000_ctrl_reg & PHY_Cap_1000_Full)) + return; - // If link on 1000, perform phy reset. - reg = mdio_read(ioaddr, PHY_1000_CTRL_REG); - if (reg & PHY_Cap_1000_Full) - rtl8169_hw_phy_reset(dev); + spin_lock_irq(&tp->lock); - tp->phy_link_down_cnt = 0; - } + if (tp->phy_reset_pending(ioaddr)) { + /* + * A busy loop could burn quite a few cycles on nowadays CPU. + * Let's delay the execution of the timer for a few ticks. + */ + timeout = HZ/10; + goto out_mod_timer; } - mod_timer(timer, jiffies + RTL8169_PHY_TIMEOUT); + if (tp->link_ok(ioaddr)) + goto out_unlock; + + printk(KERN_WARNING PFX "%s: PHY reset until link up\n", dev->name); + + tp->phy_reset_enable(ioaddr); + +out_mod_timer: + mod_timer(timer, jiffies + timeout); +out_unlock: + spin_unlock_irq(&tp->lock); } static inline void rtl8169_delete_timer(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); struct timer_list *timer = &tp->timer; if ((tp->mac_version <= RTL_GIGA_MAC_VER_B) || @@ -628,21 +893,17 @@ static inline void rtl8169_delete_timer(struct net_device *dev) return; del_timer_sync(timer); - - tp->phy_link_down_cnt = 0; } static inline void rtl8169_request_timer(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); struct timer_list *timer = &tp->timer; if ((tp->mac_version <= RTL_GIGA_MAC_VER_B) || (tp->phy_version >= RTL_GIGA_PHY_VER_G)) return; - tp->phy_link_down_cnt = 0; - init_timer(timer); timer->expires = jiffies + RTL8169_PHY_TIMEOUT; timer->data = (unsigned long)(dev); @@ -681,7 +942,7 @@ rtl8169_init_board(struct pci_dev *pdev, struct net_device **dev_out, // enable device (incl. PCI PM wakeup and hotplug setup) rc = pci_enable_device(pdev); if (rc) { - printk(KERN_ERR PFX "%s: unable to enable device\n", pdev->slot_name); + printk(KERN_ERR PFX "%s: enable failure\n", pdev->slot_name); goto err_out; } @@ -693,7 +954,8 @@ rtl8169_init_board(struct pci_dev *pdev, struct net_device **dev_out, pci_read_config_word(pdev, pm_cap + PCI_PM_CTRL, &pwr_command); acpi_idle_state = pwr_command & PCI_PM_CTRL_STATE_MASK; } else { - printk(KERN_ERR PFX "Cannot find PowerManagement capability, aborting.\n"); + printk(KERN_ERR PFX + "Cannot find PowerManagement capability, aborting.\n"); goto err_out_free_res; } @@ -718,14 +980,15 @@ rtl8169_init_board(struct pci_dev *pdev, struct net_device **dev_out, rc = pci_request_regions(pdev, MODULENAME); if (rc) { - printk(KERN_ERR PFX "%s: Could not request regions.\n", pdev->slot_name); + printk(KERN_ERR PFX "%s: could not request regions.\n", + pdev->slot_name); goto err_out_disable; } tp->cp_cmd = PCIMulRW | RxChkSum; - if ((sizeof(dma_addr_t) > 32) && - !pci_set_dma_mask(pdev, DMA_64BIT_MASK)) + if ((sizeof(dma_addr_t) > 4) && + !pci_set_dma_mask(pdev, DMA_64BIT_MASK) && use_dac) tp->cp_cmd |= PCIDAC; else { rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK); @@ -800,8 +1063,9 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) void *ioaddr = NULL; static int board_idx = -1; static int printed_version = 0; + u8 autoneg, duplex; + u16 speed; int i, rc; - int option = -1, Cap10_100 = 0, Cap1000 = 0; assert(pdev != NULL); assert(ent != NULL); @@ -822,6 +1086,22 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) assert(dev != NULL); assert(tp != NULL); + if (RTL_R8(PHYstatus) & TBI_Enable) { + tp->set_speed = rtl8169_set_speed_tbi; + tp->get_settings = rtl8169_gset_tbi; + tp->phy_reset_enable = rtl8169_tbi_reset_enable; + tp->phy_reset_pending = rtl8169_tbi_reset_pending; + tp->link_ok = rtl8169_tbi_link_ok; + + tp->phy_1000_ctrl_reg = PHY_Cap_1000_Full; /* Implied by TBI */ + } else { + tp->set_speed = rtl8169_set_speed_xmii; + tp->get_settings = rtl8169_gset_xmii; + tp->phy_reset_enable = rtl8169_xmii_reset_enable; + tp->phy_reset_pending = rtl8169_xmii_reset_pending; + tp->link_ok = rtl8169_xmii_link_ok; + } + // Get MAC address. FIXME: read EEPROM for (i = 0; i < MAC_ADDR_LEN; i++) dev->dev_addr[i] = RTL_R8(MAC0 + i); @@ -836,9 +1116,12 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) dev->watchdog_timeo = RTL8169_TX_TIMEOUT; dev->irq = pdev->irq; dev->base_addr = (unsigned long) ioaddr; -// dev->do_ioctl = mii_ioctl; - - tp = dev->priv; // private data // +#ifdef CONFIG_R8169_NAPI + dev->poll = rtl8169_poll; + dev->weight = R8169_NAPI_WEIGHT; + printk(KERN_INFO PFX "NAPI enabled\n"); +#endif + tp->intr_mask = 0xffff; tp->pci_dev = pdev; tp->mmio_addr = ioaddr; @@ -885,95 +1168,12 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) mdio_write(ioaddr, 0x0b, 0x0000); //w 0x0b 15 0 0 } - // if TBI is not endbled - if (!(RTL_R8(PHYstatus) & TBI_Enable)) { - int val = mdio_read(ioaddr, PHY_AUTO_NEGO_REG); - - option = (board_idx >= MAX_UNITS) ? 0 : media[board_idx]; - // Force RTL8169 in 10/100/1000 Full/Half mode. - if (option > 0) { - printk(KERN_INFO "%s: Force-mode Enabled.\n", - dev->name); - Cap10_100 = 0, Cap1000 = 0; - switch (option) { - case _10_Half: - Cap10_100 = PHY_Cap_10_Half_Or_Less; - Cap1000 = PHY_Cap_Null; - break; - case _10_Full: - Cap10_100 = PHY_Cap_10_Full_Or_Less; - Cap1000 = PHY_Cap_Null; - break; - case _100_Half: - Cap10_100 = PHY_Cap_100_Half_Or_Less; - Cap1000 = PHY_Cap_Null; - break; - case _100_Full: - Cap10_100 = PHY_Cap_100_Full_Or_Less; - Cap1000 = PHY_Cap_Null; - break; - case _1000_Full: - Cap10_100 = PHY_Cap_100_Full_Or_Less; - Cap1000 = PHY_Cap_1000_Full; - break; - default: - break; - } - mdio_write(ioaddr, PHY_AUTO_NEGO_REG, Cap10_100 | (val & 0x1F)); //leave PHY_AUTO_NEGO_REG bit4:0 unchanged - mdio_write(ioaddr, PHY_1000_CTRL_REG, Cap1000); - } else { - printk(KERN_INFO "%s: Auto-negotiation Enabled.\n", - dev->name); - - // enable 10/100 Full/Half Mode, leave PHY_AUTO_NEGO_REG bit4:0 unchanged - mdio_write(ioaddr, PHY_AUTO_NEGO_REG, - PHY_Cap_100_Full_Or_Less | (val & 0x1f)); + rtl8169_link_option(board_idx, &autoneg, &speed, &duplex); - // enable 1000 Full Mode - mdio_write(ioaddr, PHY_1000_CTRL_REG, - PHY_Cap_1000_Full); - - } - - // Enable auto-negotiation and restart auto-nigotiation - mdio_write(ioaddr, PHY_CTRL_REG, - PHY_Enable_Auto_Nego | PHY_Restart_Auto_Nego); - udelay(100); - - // wait for auto-negotiation process - for (i = 10000; i > 0; i--) { - //check if auto-negotiation complete - if (mdio_read(ioaddr, PHY_STAT_REG) & - PHY_Auto_Neco_Comp) { - udelay(100); - option = RTL_R8(PHYstatus); - if (option & _1000bpsF) { - printk(KERN_INFO - "%s: 1000Mbps Full-duplex operation.\n", - dev->name); - } else { - printk(KERN_INFO - "%s: %sMbps %s-duplex operation.\n", - dev->name, - (option & _100bps) ? "100" : - "10", - (option & FullDup) ? "Full" : - "Half"); - } - break; - } else { - udelay(100); - } - } // end for-loop to wait for auto-negotiation process - - } else { - udelay(100); - printk(KERN_INFO - "%s: 1000Mbps Full-duplex operation, TBI Link %s!\n", - dev->name, - (RTL_R32(TBICSR) & TBILinkOK) ? "OK" : "Failed"); - - } + rtl8169_set_speed(dev, autoneg, speed, duplex); + + if (RTL_R8(PHYstatus) & TBI_Enable) + printk(KERN_INFO PFX "%s: TBI auto-negotiating\n", dev->name); return 0; } @@ -982,7 +1182,7 @@ static void __devexit rtl8169_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); assert(dev != NULL); assert(tp != NULL); @@ -1001,7 +1201,7 @@ rtl8169_remove_one(struct pci_dev *pdev) static int rtl8169_suspend(struct pci_dev *pdev, u32 state) { struct net_device *dev = pci_get_drvdata(pdev); - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; unsigned long flags; @@ -1042,7 +1242,7 @@ static int rtl8169_resume(struct pci_dev *pdev) static int rtl8169_open(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); struct pci_dev *pdev = tp->pci_dev; int retval; @@ -1074,6 +1274,8 @@ rtl8169_open(struct net_device *dev) rtl8169_hw_start(dev); rtl8169_request_timer(dev); + + rtl8169_check_link_status(dev, tp, tp->mmio_addr); out: return retval; @@ -1091,7 +1293,7 @@ err_free_irq: static void rtl8169_hw_start(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; u32 i; @@ -1102,8 +1304,7 @@ rtl8169_hw_start(struct net_device *dev) for (i = 1000; i > 0; i--) { if ((RTL_R8(ChipCmd) & CmdReset) == 0) break; - else - udelay(10); + udelay(10); } RTL_W8(Cfg9346, Cfg9346_Unlock); @@ -1114,8 +1315,8 @@ rtl8169_hw_start(struct net_device *dev) RTL_W16(RxMaxSize, RxPacketMaxSize); // Set Rx Config register - i = rtl8169_rx_config | (RTL_R32(RxConfig) & rtl_chip_info[tp->chipset]. - RxConfigMask); + i = rtl8169_rx_config | + (RTL_R32(RxConfig) & rtl_chip_info[tp->chipset].RxConfigMask); RTL_W32(RxConfig, i); /* Set DMA burst size and Interframe Gap Time */ @@ -1126,7 +1327,8 @@ rtl8169_hw_start(struct net_device *dev) RTL_W16(CPlusCmd, tp->cp_cmd); if (tp->mac_version == RTL_GIGA_MAC_VER_D) { - dprintk(KERN_INFO PFX "Set MAC Reg C+CR Offset 0xE0: bit-3 and bit-14 MUST be 1\n"); + dprintk(KERN_INFO PFX "Set MAC Reg C+CR Offset 0xE0. " + "Bit-3 and bit-14 MUST be 1\n"); tp->cp_cmd |= (1 << 14) | PCIMulRW; RTL_W16(CPlusCmd, tp->cp_cmd); } @@ -1151,7 +1353,6 @@ rtl8169_hw_start(struct net_device *dev) RTL_W16(IntrMask, rtl8169_intr_mask); netif_start_queue(dev); - } static inline void rtl8169_make_unusable_by_asic(struct RxDesc *desc) @@ -1248,7 +1449,7 @@ static inline void rtl8169_mark_as_last_descriptor(struct RxDesc *desc) static int rtl8169_init_ring(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); tp->cur_rx = tp->dirty_rx = 0; tp->cur_tx = tp->dirty_tx = 0; @@ -1302,10 +1503,11 @@ rtl8169_tx_clear(struct rtl8169_private *tp) static void rtl8169_tx_timeout(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; u8 tmp8; + printk(KERN_INFO "%s: TX Timeout\n", dev->name); /* disable Tx, if not already */ tmp8 = RTL_R8(ChipCmd); if (tmp8 & CmdTxEnb) @@ -1328,9 +1530,9 @@ rtl8169_tx_timeout(struct net_device *dev) static int rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; - int entry = tp->cur_tx % NUM_TX_DESC; + unsigned int entry = tp->cur_tx % NUM_TX_DESC; u32 len = skb->len; if (unlikely(skb->len < ETH_ZLEN)) { @@ -1340,10 +1542,9 @@ rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev) len = ETH_ZLEN; } - spin_lock_irq(&tp->lock); - if (!(le32_to_cpu(tp->TxDescArray[entry].status) & OWNbit)) { dma_addr_t mapping; + u32 status; mapping = pci_map_single(tp->pci_dev, skb->data, len, PCI_DMA_TODEVICE); @@ -1351,24 +1552,30 @@ rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev) tp->Tx_skbuff[entry] = skb; tp->TxDescArray[entry].addr = cpu_to_le64(mapping); - tp->TxDescArray[entry].status = cpu_to_le32(OWNbit | FSbit | - LSbit | len | (EORbit * !((entry + 1) % NUM_TX_DESC))); + /* anti gcc 2.95.3 bugware */ + status = OWNbit | FSbit | LSbit | len | + (EORbit * !((entry + 1) % NUM_TX_DESC)); + tp->TxDescArray[entry].status = cpu_to_le32(status); RTL_W8(TxPoll, 0x40); //set polling bit dev->trans_start = jiffies; tp->cur_tx++; + smp_wmb(); } else goto err_drop; - if ((tp->cur_tx - NUM_TX_DESC) == tp->dirty_tx) { + u32 dirty = tp->dirty_tx; + netif_stop_queue(dev); + smp_rmb(); + if (dirty != tp->dirty_tx) + netif_wake_queue(dev); } -out: - spin_unlock_irq(&tp->lock); +out: return 0; err_drop: @@ -1382,17 +1589,18 @@ static void rtl8169_tx_interrupt(struct net_device *dev, struct rtl8169_private *tp, void *ioaddr) { - unsigned long dirty_tx, tx_left; + unsigned int dirty_tx, tx_left; assert(dev != NULL); assert(tp != NULL); assert(ioaddr != NULL); dirty_tx = tp->dirty_tx; + smp_rmb(); tx_left = tp->cur_tx - dirty_tx; while (tx_left > 0) { - int entry = dirty_tx % NUM_TX_DESC; + unsigned int entry = dirty_tx % NUM_TX_DESC; struct sk_buff *skb = tp->Tx_skbuff[entry]; u32 status; @@ -1415,6 +1623,7 @@ rtl8169_tx_interrupt(struct net_device *dev, struct rtl8169_private *tp, if (tp->dirty_tx != dirty_tx) { tp->dirty_tx = dirty_tx; + smp_wmb(); if (netif_queue_stopped(dev)) netif_wake_queue(dev); } @@ -1442,11 +1651,11 @@ static inline int rtl8169_try_rx_copy(struct sk_buff **sk_buff, int pkt_size, return ret; } -static void +static int rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, void *ioaddr) { - unsigned long cur_rx, rx_left; + unsigned int cur_rx, rx_left, count; int delta; assert(dev != NULL); @@ -1455,9 +1664,10 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, cur_rx = tp->cur_rx; rx_left = NUM_RX_DESC + tp->dirty_rx - cur_rx; + rx_left = rtl8169_rx_quota(rx_left, (u32) dev->quota); while (rx_left > 0) { - int entry = cur_rx % NUM_RX_DESC; + unsigned int entry = cur_rx % NUM_RX_DESC; u32 status; rmb(); @@ -1494,7 +1704,7 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, skb_put(skb, pkt_size); skb->protocol = eth_type_trans(skb, dev); - netif_rx(skb); + rtl8169_rx_skb(skb); dev->last_rx = jiffies; tp->stats.rx_bytes += pkt_size; @@ -1505,13 +1715,15 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, rx_left--; } + count = cur_rx - tp->cur_rx; tp->cur_rx = cur_rx; delta = rtl8169_rx_fill(tp, dev, tp->dirty_rx, tp->cur_rx); - if (delta > 0) - tp->dirty_rx += delta; - else if (delta < 0) + if (delta < 0) { printk(KERN_INFO "%s: no Rx buffer allocated\n", dev->name); + delta = 0; + } + tp->dirty_rx += delta; /* * FIXME: until there is periodic timer to try and refill the ring, @@ -1522,6 +1734,8 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp, */ if (tp->dirty_rx + NUM_RX_DESC == tp->cur_rx) printk(KERN_EMERG "%s: Rx buffers exhausted\n", dev->name); + + return count; } /* The interrupt handler does all of the Rx thread work and cleans up after the Tx thread. */ @@ -1529,7 +1743,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs) { struct net_device *dev = (struct net_device *) dev_instance; - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); int boguscnt = max_interrupt_work; void *ioaddr = tp->mmio_addr; int status = 0; @@ -1543,26 +1757,46 @@ rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs) break; handled = 1; -/* - if (status & RxUnderrun) - link_changed = RTL_R16 (CSCR) & CSCR_LinkChangeBit; -*/ + + status &= tp->intr_mask; RTL_W16(IntrStatus, (status & RxFIFOOver) ? (status | RxOverflow) : status); if (!(status & rtl8169_intr_mask)) break; + if (unlikely(status & SYSErr)) { + printk(KERN_ERR PFX "%s: PCI error (status: 0x%04x)." + " Device disabled.\n", dev->name, status); + RTL_W8(ChipCmd, 0x00); + RTL_W16(IntrMask, 0x0000); + RTL_R16(IntrMask); + break; + } + + if (status & LinkChg) + rtl8169_check_link_status(dev, tp, ioaddr); + +#ifdef CONFIG_R8169_NAPI + RTL_W16(IntrMask, rtl8169_intr_mask & ~rtl8169_napi_event); + tp->intr_mask = ~rtl8169_napi_event; + + if (likely(netif_rx_schedule_prep(dev))) + __netif_rx_schedule(dev); + else { + printk(KERN_INFO "%s: interrupt %x taken in poll\n", + dev->name, status); + } + break; +#else // Rx interrupt - if (status & (RxOK | RxUnderrun | RxOverflow | RxFIFOOver)) { + if (status & (RxOK | RxOverflow | RxFIFOOver)) { rtl8169_rx_interrupt(dev, tp, ioaddr); } // Tx interrupt - if (status & (TxOK | TxErr)) { - spin_lock(&tp->lock); + if (status & (TxOK | TxErr)) rtl8169_tx_interrupt(dev, tp, ioaddr); - spin_unlock(&tp->lock); - } +#endif boguscnt--; } while (boguscnt > 0); @@ -1576,10 +1810,40 @@ rtl8169_interrupt(int irq, void *dev_instance, struct pt_regs *regs) return IRQ_RETVAL(handled); } +#ifdef CONFIG_R8169_NAPI +static int rtl8169_poll(struct net_device *dev, int *budget) +{ + unsigned int work_done, work_to_do = min(*budget, dev->quota); + struct rtl8169_private *tp = netdev_priv(dev); + void *ioaddr = tp->mmio_addr; + + work_done = rtl8169_rx_interrupt(dev, tp, ioaddr); + rtl8169_tx_interrupt(dev, tp, ioaddr); + + *budget -= work_done; + dev->quota -= work_done; + + if ((work_done < work_to_do) || !netif_running(dev)) { + netif_rx_complete(dev); + tp->intr_mask = 0xffff; + /* + * 20040426: the barrier is not strictly required but the + * behavior of the irq handler could be less predictable + * without it. Btw, the lack of flush for the posted pci + * write is safe - FR + */ + smp_wmb(); + RTL_W16(IntrMask, rtl8169_intr_mask); + } + + return (work_done >= work_to_do); +} +#endif + static int rtl8169_close(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); struct pci_dev *pdev = tp->pci_dev; void *ioaddr = tp->mmio_addr; @@ -1621,7 +1885,7 @@ rtl8169_close(struct net_device *dev) static void rtl8169_set_rx_mode(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; unsigned long flags; u32 mc_filter[2]; /* Multicast hash filter */ @@ -1655,10 +1919,8 @@ rtl8169_set_rx_mode(struct net_device *dev) spin_lock_irqsave(&tp->lock, flags); - tmp = - rtl8169_rx_config | rx_mode | (RTL_R32(RxConfig) & - rtl_chip_info[tp->chipset]. - RxConfigMask); + tmp = rtl8169_rx_config | rx_mode | + (RTL_R32(RxConfig) & rtl_chip_info[tp->chipset].RxConfigMask); RTL_W32(RxConfig, tmp); RTL_W32(MAR0 + 0, mc_filter[0]); @@ -1675,7 +1937,7 @@ rtl8169_set_rx_mode(struct net_device *dev) */ static struct net_device_stats *rtl8169_get_stats(struct net_device *dev) { - struct rtl8169_private *tp = dev->priv; + struct rtl8169_private *tp = netdev_priv(dev); void *ioaddr = tp->mmio_addr; unsigned long flags; diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c index 059f1a68a..402f779ff 100644 --- a/drivers/net/rrunner.c +++ b/drivers/net/rrunner.c @@ -1139,6 +1139,49 @@ static irqreturn_t rr_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) return IRQ_HANDLED; } +static inline void rr_raz_tx(struct rr_private *rrpriv, + struct net_device *dev) +{ + int i; + + for (i = 0; i < TX_RING_ENTRIES; i++) { + struct sk_buff *skb = rrpriv->tx_skbuff[i]; + + if (skb) { + struct tx_desc *desc = &(rrpriv->tx_ring[i]); + + pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo, + skb->len, PCI_DMA_TODEVICE); + desc->size = 0; + set_rraddr(&desc->addr, 0); + dev_kfree_skb(skb); + rrpriv->tx_skbuff[i] = NULL; + } + } +} + + +static inline void rr_raz_rx(struct rr_private *rrpriv, + struct net_device *dev) +{ + int i; + + for (i = 0; i < RX_RING_ENTRIES; i++) { + struct sk_buff *skb = rrpriv->rx_skbuff[i]; + + if (skb) { + struct rx_desc *desc = &(rrpriv->rx_ring[i]); + + pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo, + dev->mtu + HIPPI_HLEN, PCI_DMA_FROMDEVICE); + desc->size = 0; + set_rraddr(&desc->addr, 0); + dev_kfree_skb(skb); + rrpriv->rx_skbuff[i] = NULL; + } + } +} + static void rr_timer(unsigned long data) { struct net_device *dev = (struct net_device *)data; @@ -1254,49 +1297,6 @@ static int rr_open(struct net_device *dev) } -static inline void rr_raz_tx(struct rr_private *rrpriv, - struct net_device *dev) -{ - int i; - - for (i = 0; i < TX_RING_ENTRIES; i++) { - struct sk_buff *skb = rrpriv->tx_skbuff[i]; - - if (skb) { - struct tx_desc *desc = &(rrpriv->tx_ring[i]); - - pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo, - skb->len, PCI_DMA_TODEVICE); - desc->size = 0; - set_rraddr(&desc->addr, 0); - dev_kfree_skb(skb); - rrpriv->tx_skbuff[i] = NULL; - } - } -} - - -static inline void rr_raz_rx(struct rr_private *rrpriv, - struct net_device *dev) -{ - int i; - - for (i = 0; i < RX_RING_ENTRIES; i++) { - struct sk_buff *skb = rrpriv->rx_skbuff[i]; - - if (skb) { - struct rx_desc *desc = &(rrpriv->rx_ring[i]); - - pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo, - dev->mtu + HIPPI_HLEN, PCI_DMA_FROMDEVICE); - desc->size = 0; - set_rraddr(&desc->addr, 0); - dev_kfree_skb(skb); - rrpriv->rx_skbuff[i] = NULL; - } - } -} - static void rr_dump(struct net_device *dev) { struct rr_private *rrpriv; diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index c4bd1793f..c68c1c0e7 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c @@ -235,10 +235,10 @@ static struct pci_device_id s2io_tbl[] __devinitdata = { MODULE_DEVICE_TABLE(pci, s2io_tbl); static struct pci_driver s2io_driver = { - name:"S2IO", - id_table:s2io_tbl, - probe:s2io_init_nic, - remove:__devexit_p(s2io_rem_nic), + .name = "S2IO", + .id_table = s2io_tbl, + .probe = s2io_init_nic, + .remove = __devexit_p(s2io_rem_nic), }; /* diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c index 425e89fe2..1a87a82a8 100644 --- a/drivers/net/sis900.c +++ b/drivers/net/sis900.c @@ -124,6 +124,7 @@ static struct mii_chip_info { { "AMD 79C901 HomePNA PHY", 0x0000, 0x6B90, HOME}, { "ICS LAN PHY", 0x0015, 0xF440, LAN }, { "NS 83851 PHY", 0x2000, 0x5C20, MIX }, + { "NS 83847 PHY", 0x2000, 0x5C30, MIX }, { "Realtek RTL8201 PHY", 0x0000, 0x8200, LAN }, { "VIA 6103 PHY", 0x0101, 0x8f20, LAN }, {NULL,}, diff --git a/drivers/net/sk98lin/h/skdrv2nd.h b/drivers/net/sk98lin/h/skdrv2nd.h index 0790e7b7a..c80ac3c55 100644 --- a/drivers/net/sk98lin/h/skdrv2nd.h +++ b/drivers/net/sk98lin/h/skdrv2nd.h @@ -53,60 +53,6 @@ #include "h/skrlmt.h" #include "h/skgedrv.h" -#define SK_PCI_ISCOMPLIANT(result, pdev) { \ - result = SK_FALSE; /* default */ \ - /* 3Com (0x10b7) */ \ - if (pdev->vendor == 0x10b7) { \ - /* Gigabit Ethernet Adapter (0x1700) */ \ - if ((pdev->device == 0x1700) || \ - (pdev->device == 0x80eb)) { \ - result = SK_TRUE; \ - } \ - /* SysKonnect (0x1148) */ \ - } else if (pdev->vendor == 0x1148) { \ - /* SK-98xx Gigabit Ethernet Server Adapter (0x4300) */ \ - /* SK-98xx V2.0 Gigabit Ethernet Adapter (0x4320) */ \ - if ((pdev->device == 0x4300) || \ - (pdev->device == 0x4320)) { \ - result = SK_TRUE; \ - } \ - /* D-Link (0x1186) */ \ - } else if (pdev->vendor == 0x1186) { \ - /* Gigabit Ethernet Adapter (0x4c00) */ \ - if ((pdev->device == 0x4c00)) { \ - result = SK_TRUE; \ - } \ - /* Marvell (0x11ab) */ \ - } else if (pdev->vendor == 0x11ab) { \ - /* Gigabit Ethernet Adapter (0x4320) */ \ - /* Gigabit Ethernet Adapter (0x4360) */ \ - /* Gigabit Ethernet Adapter (0x4361) */ \ - /* Belkin (0x5005) */ \ - if ((pdev->device == 0x4320) || \ - (pdev->device == 0x4360) || \ - (pdev->device == 0x4361) || \ - (pdev->device == 0x5005)) { \ - result = SK_TRUE; \ - } \ - /* CNet (0x1371) */ \ - } else if (pdev->vendor == 0x1371) { \ - /* GigaCard Network Adapter (0x434e) */ \ - if ((pdev->device == 0x434e)) { \ - result = SK_TRUE; \ - } \ - /* Linksys (0x1737) */ \ - } else if (pdev->vendor == 0x1737) { \ - /* Gigabit Network Adapter (0x1032) */ \ - /* Gigabit Network Adapter (0x1064) */ \ - if ((pdev->device == 0x1032) || \ - (pdev->device == 0x1064)) { \ - result = SK_TRUE; \ - } \ - } else { \ - result = SK_FALSE; \ - } \ -} - extern SK_MBUF *SkDrvAllocRlmtMbuf(SK_AC*, SK_IOC, unsigned); extern void SkDrvFreeRlmtMbuf(SK_AC*, SK_IOC, SK_MBUF*); diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c index aec6a60f4..6cb5342a4 100644 --- a/drivers/net/sk98lin/skge.c +++ b/drivers/net/sk98lin/skge.c @@ -110,10 +110,7 @@ #include #include - -#ifdef CONFIG_PROC_FS #include -#endif #include "h/skdrv1st.h" #include "h/skdrv2nd.h" @@ -239,7 +236,7 @@ static int SkDrvDeInitAdapter(SK_AC *pAC, int devNbr); #ifdef CONFIG_PROC_FS static const char SK_Root_Dir_entry[] = "sk98lin"; -static struct proc_dir_entry *pSkRootDir = NULL; +static struct proc_dir_entry *pSkRootDir; extern struct file_operations sk_proc_fops; #endif @@ -255,303 +252,13 @@ static void DumpLong(char*, int); #endif /* global variables *********************************************************/ -static const char *BootString = BOOT_STRING; struct SK_NET_DEVICE *SkGeRootDev = NULL; -static int probed __initdata = 0; static SK_BOOL DoPrintInterfaceChange = SK_TRUE; /* local variables **********************************************************/ static uintptr_t TxQueueAddr[SK_MAX_MACS][2] = {{0x680, 0x600},{0x780, 0x700}}; static uintptr_t RxQueueAddr[SK_MAX_MACS] = {0x400, 0x480}; - -#ifdef CONFIG_PROC_FS -static struct proc_dir_entry *pSkRootDir; -#endif - - - -/***************************************************************************** - * - * skge_probe - find all SK-98xx adapters - * - * Description: - * This function scans the PCI bus for SK-98xx adapters. Resources for - * each adapter are allocated and the adapter is brought into Init 1 - * state. - * - * Returns: - * 0, if everything is ok - * !=0, on error - */ -static int __init skge_probe (void) -{ - int boards_found = 0; - int vendor_flag = SK_FALSE; - SK_AC *pAC; - DEV_NET *pNet = NULL; - struct pci_dev *pdev = NULL; - struct SK_NET_DEVICE *dev = NULL; - SK_BOOL DeviceFound = SK_FALSE; - SK_BOOL BootStringCount = SK_FALSE; - int retval; -#ifdef CONFIG_PROC_FS - struct proc_dir_entry *pProcFile; -#endif - - if (probed) - return -ENODEV; - probed++; - - - while((pdev = pci_find_class(PCI_CLASS_NETWORK_ETHERNET << 8, pdev))) { - - if (pci_enable_device(pdev)) { - continue; - } - dev = NULL; - pNet = NULL; - - /* Don't handle Yukon2 cards at the moment */ - /* 12-feb-2004 ---- mlindner@syskonnect.de */ - if (pdev->vendor == 0x11ab) { - if ( (pdev->device == 0x4360) || (pdev->device == 0x4361) ) - continue; - } - - SK_PCI_ISCOMPLIANT(vendor_flag, pdev); - if (!vendor_flag) - continue; - - /* Configure DMA attributes. */ - if (pci_set_dma_mask(pdev, (u64) 0xffffffffffffffffULL) && - pci_set_dma_mask(pdev, (u64) 0xffffffff)) - continue; - - - if ((dev = alloc_etherdev(sizeof(DEV_NET))) == NULL) { - printk(KERN_ERR "Unable to allocate etherdev " - "structure!\n"); - break; - } - - pNet = dev->priv; - pNet->pAC = kmalloc(sizeof(SK_AC), GFP_KERNEL); - if (pNet->pAC == NULL){ - free_netdev(dev); - printk(KERN_ERR "Unable to allocate adapter " - "structure!\n"); - break; - } - - /* Print message */ - if (!BootStringCount) { - /* set display flag to TRUE so that */ - /* we only display this string ONCE */ - BootStringCount = SK_TRUE; - printk("%s\n", BootString); - } - - memset(pNet->pAC, 0, sizeof(SK_AC)); - pAC = pNet->pAC; - pAC->PciDev = pdev; - pAC->PciDevId = pdev->device; - pAC->dev[0] = dev; - pAC->dev[1] = dev; - sprintf(pAC->Name, "SysKonnect SK-98xx"); - pAC->CheckQueue = SK_FALSE; - - pNet->Mtu = 1500; - pNet->Up = 0; - dev->irq = pdev->irq; - retval = SkGeInitPCI(pAC); - if (retval) { - printk("SKGE: PCI setup failed: %i\n", retval); - free_netdev(dev); - continue; - } - - SET_MODULE_OWNER(dev); - dev->open = &SkGeOpen; - dev->stop = &SkGeClose; - dev->hard_start_xmit = &SkGeXmit; - dev->get_stats = &SkGeStats; - dev->last_stats = &SkGeStats; - dev->set_multicast_list = &SkGeSetRxMode; - dev->set_mac_address = &SkGeSetMacAddr; - dev->do_ioctl = &SkGeIoctl; - dev->change_mtu = &SkGeChangeMtu; - dev->flags &= ~IFF_RUNNING; - SET_NETDEV_DEV(dev, &pdev->dev); - -#ifdef SK_ZEROCOPY -#ifdef USE_SK_TX_CHECKSUM - - if (pAC->ChipsetType) { - /* Use only if yukon hardware */ - /* SK and ZEROCOPY - fly baby... */ - dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; - } -#endif -#endif - - pAC->Index = boards_found; - - if (SkGeBoardInit(dev, pAC)) { - free_netdev(dev); - continue; - } - - /* Register net device */ - if (register_netdev(dev)) { - printk(KERN_ERR "SKGE: Could not register device.\n"); - FreeResources(dev); - free_netdev(dev); - continue; - } - - /* Print adapter specific string from vpd */ - ProductStr(pAC); - printk("%s: %s\n", dev->name, pAC->DeviceStr); - - /* Print configuration settings */ - printk(" PrefPort:%c RlmtMode:%s\n", - 'A' + pAC->Rlmt.Net[0].Port[pAC->Rlmt.Net[0].PrefPort]->PortNumber, - (pAC->RlmtMode==0) ? "Check Link State" : - ((pAC->RlmtMode==1) ? "Check Link State" : - ((pAC->RlmtMode==3) ? "Check Local Port" : - ((pAC->RlmtMode==7) ? "Check Segmentation" : - ((pAC->RlmtMode==17) ? "Dual Check Link State" :"Error"))))); - - SkGeYellowLED(pAC, pAC->IoBase, 1); - - - memcpy((caddr_t) &dev->dev_addr, - (caddr_t) &pAC->Addr.Net[0].CurrentMacAddress, 6); - - /* First adapter... Create proc and print message */ -#ifdef CONFIG_PROC_FS - if (!DeviceFound) { - DeviceFound = SK_TRUE; - SK_MEMCPY(&SK_Root_Dir_entry, BootString, - sizeof(SK_Root_Dir_entry) - 1); - - /*Create proc (directory)*/ - if(!pSkRootDir) { - pSkRootDir = proc_mkdir(SK_Root_Dir_entry, proc_net); - if (!pSkRootDir) { - printk(KERN_WARNING "%s: Unable to create /proc/net/%s", - dev->name, SK_Root_Dir_entry); - } else { - pSkRootDir->owner = THIS_MODULE; - } - } - } - - /* Create proc file */ - if (pSkRootDir && - (pProcFile = create_proc_entry(dev->name, S_IRUGO, - pSkRootDir))) { - pProcFile->proc_fops = &sk_proc_fops; - pProcFile->data = dev; - } - -#endif - - pNet->PortNr = 0; - pNet->NetNr = 0; - - boards_found++; - - /* More then one port found */ - if ((pAC->GIni.GIMacsFound == 2 ) && (pAC->RlmtNets == 2)) { - if ((dev = alloc_etherdev(sizeof(DEV_NET))) == 0) { - printk(KERN_ERR "Unable to allocate etherdev " - "structure!\n"); - break; - } - - pAC->dev[1] = dev; - pNet = dev->priv; - pNet->PortNr = 1; - pNet->NetNr = 1; - pNet->pAC = pAC; - pNet->Mtu = 1500; - pNet->Up = 0; - - dev->open = &SkGeOpen; - dev->stop = &SkGeClose; - dev->hard_start_xmit = &SkGeXmit; - dev->get_stats = &SkGeStats; - dev->last_stats = &SkGeStats; - dev->set_multicast_list = &SkGeSetRxMode; - dev->set_mac_address = &SkGeSetMacAddr; - dev->do_ioctl = &SkGeIoctl; - dev->change_mtu = &SkGeChangeMtu; - dev->flags &= ~IFF_RUNNING; - -#ifdef SK_ZEROCOPY -#ifdef USE_SK_TX_CHECKSUM - if (pAC->ChipsetType) { - /* SG and ZEROCOPY - fly baby... */ - dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; - } -#endif -#endif - - if (register_netdev(dev)) { - printk(KERN_ERR "SKGE: Could not register device.\n"); - free_netdev(dev); - pAC->dev[1] = pAC->dev[0]; - } else { -#ifdef CONFIG_PROC_FS - if (pSkRootDir - && (pProcFile = create_proc_entry(dev->name, - S_IRUGO, pSkRootDir))) { - pProcFile->proc_fops = &sk_proc_fops; - pProcFile->data = dev; - } -#endif - - memcpy((caddr_t) &dev->dev_addr, - (caddr_t) &pAC->Addr.Net[1].CurrentMacAddress, 6); - - printk("%s: %s\n", dev->name, pAC->DeviceStr); - printk(" PrefPort:B RlmtMode:Dual Check Link State\n"); - } - } - - /* Save the hardware revision */ - pAC->HWRevision = (((pAC->GIni.GIPciHwRev >> 4) & 0x0F)*10) + - (pAC->GIni.GIPciHwRev & 0x0F); - - /* Set driver globals */ - pAC->Pnmi.pDriverFileName = DRIVER_FILE_NAME; - pAC->Pnmi.pDriverReleaseDate = DRIVER_REL_DATE; - - SK_MEMSET(&(pAC->PnmiBackup), 0, sizeof(SK_PNMI_STRUCT_DATA)); - SK_MEMCPY(&(pAC->PnmiBackup), &(pAC->PnmiStruct), - sizeof(SK_PNMI_STRUCT_DATA)); - - /* - * This is bollocks, but we need to tell the net-init - * code that it shall go for the next device. - */ -#ifndef MODULE - dev->base_addr = 0; -#endif - } - - /* - * If we're at this point we're going through skge_probe() for - * the first time. Return success (0) if we've initialized 1 - * or more boards. Otherwise, return failure (-ENODEV). - */ - - return boards_found; -} /* skge_probe */ - - /***************************************************************************** * * SkGeInitPCI - Init the PCI resources @@ -666,9 +373,6 @@ MODULE_PARM(Role_B, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "s"); MODULE_PARM(ConType, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "s"); MODULE_PARM(PrefPort, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "s"); MODULE_PARM(RlmtMode, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "s"); -/* not used, just there because every driver should have them: */ -MODULE_PARM(options, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "i"); -MODULE_PARM(debug, "i"); /* used for interrupt moderation */ MODULE_PARM(IntsPerSec, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "i"); MODULE_PARM(Moderation, "1-" __MODULE_STRING(SK_MAX_CARD_PARAM) "s"); @@ -755,124 +459,12 @@ static char *RlmtMode[SK_MAX_CARD_PARAM] = RLMT_MODE; static char *RlmtMode[SK_MAX_CARD_PARAM] = {"", }; #endif -static int debug = 0; /* not used */ -static int options[SK_MAX_CARD_PARAM] = {0, }; /* not used */ - static int IntsPerSec[SK_MAX_CARD_PARAM]; static char *Moderation[SK_MAX_CARD_PARAM]; static char *ModerationMask[SK_MAX_CARD_PARAM]; static char *AutoSizing[SK_MAX_CARD_PARAM]; static char *Stats[SK_MAX_CARD_PARAM]; - -/***************************************************************************** - * - * skge_init_module - module initialization function - * - * Description: - * Very simple, only call skge_probe and return approriate result. - * - * Returns: - * 0, if everything is ok - * !=0, on error - */ -static int __init skge_init_module(void) -{ - int cards; - SkGeRootDev = NULL; - - /* just to avoid warnings ... */ - debug = 0; - options[0] = 0; - - cards = skge_probe(); - if (cards == 0) { - printk("sk98lin: No adapter found.\n"); - } else - __unsafe(THIS_MODULE); - return cards ? 0 : -ENODEV; -} /* skge_init_module */ - - -/***************************************************************************** - * - * skge_cleanup_module - module unload function - * - * Description: - * Disable adapter if it is still running, free resources, - * free device struct. - * - * Returns: N/A - */ -static void __exit skge_cleanup_module(void) -{ -DEV_NET *pNet; -SK_AC *pAC; -struct SK_NET_DEVICE *next; -unsigned long Flags; -SK_EVPARA EvPara; - - while (SkGeRootDev) { - pNet = (DEV_NET*) SkGeRootDev->priv; - pAC = pNet->pAC; - next = pAC->Next; - - netif_stop_queue(SkGeRootDev); - SkGeYellowLED(pAC, pAC->IoBase, 0); - - if(pAC->BoardLevel == SK_INIT_RUN) { - /* board is still alive */ - spin_lock_irqsave(&pAC->SlowPathLock, Flags); - EvPara.Para32[0] = 0; - EvPara.Para32[1] = -1; - SkEventQueue(pAC, SKGE_RLMT, SK_RLMT_STOP, EvPara); - EvPara.Para32[0] = 1; - EvPara.Para32[1] = -1; - SkEventQueue(pAC, SKGE_RLMT, SK_RLMT_STOP, EvPara); - SkEventDispatcher(pAC, pAC->IoBase); - /* disable interrupts */ - SK_OUT32(pAC->IoBase, B0_IMSK, 0); - SkGeDeInit(pAC, pAC->IoBase); - spin_unlock_irqrestore(&pAC->SlowPathLock, Flags); - pAC->BoardLevel = SK_INIT_DATA; - /* We do NOT check here, if IRQ was pending, of course*/ - } - - if(pAC->BoardLevel == SK_INIT_IO) { - /* board is still alive */ - SkGeDeInit(pAC, pAC->IoBase); - pAC->BoardLevel = SK_INIT_DATA; - } - - if ((pAC->GIni.GIMacsFound == 2) && pAC->RlmtNets == 2){ - unregister_netdev(pAC->dev[1]); - free_netdev(pAC->dev[1]); - } - - FreeResources(SkGeRootDev); - - SkGeRootDev->get_stats = NULL; - /* - * otherwise unregister_netdev calls get_stats with - * invalid IO ... :-( - */ - unregister_netdev(SkGeRootDev); - free_netdev(SkGeRootDev); - kfree(pAC); - SkGeRootDev = next; - } - -#ifdef CONFIG_PROC_FS - /* clear proc-dir */ - remove_proc_entry(pSkRootDir->name, proc_net); -#endif - -} /* skge_cleanup_module */ - -module_init(skge_init_module); -module_exit(skge_cleanup_module); - - /***************************************************************************** * * SkGeBoardInit - do level 0 and 1 initialization @@ -3095,8 +2687,7 @@ SK_EVPARA EvPara; SkEventDispatcher(pAC, pAC->IoBase); for (i=0; iGIni.GIMacsFound; i++) { - spin_lock_irqsave( - &pAC->TxPort[i][TX_PRIO_LOW].TxDesRingLock, Flags); + spin_lock(&pAC->TxPort[i][TX_PRIO_LOW].TxDesRingLock); netif_stop_queue(pAC->dev[i]); } @@ -4775,12 +4366,10 @@ SK_BOOL DualNet; spin_lock_irqsave( &pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock, Flags); - spin_lock_irqsave( - &pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock, Flags); + spin_lock(&pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock); SkGeStopPort(pAC, IoC, FromPort, SK_STOP_ALL, SK_SOFT_RST); SkGeStopPort(pAC, IoC, ToPort, SK_STOP_ALL, SK_SOFT_RST); - spin_unlock_irqrestore( - &pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock, Flags); + spin_unlock(&pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock); spin_unlock_irqrestore( &pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock, Flags); @@ -4793,8 +4382,7 @@ SK_BOOL DualNet; spin_lock_irqsave( &pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock, Flags); - spin_lock_irqsave( - &pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock, Flags); + spin_lock(&pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock); pAC->ActivePort = ToPort; #if 0 SetQueueSizes(pAC); @@ -4809,8 +4397,7 @@ SK_BOOL DualNet; pAC, pAC->ActivePort, DualNet)) { - spin_unlock_irqrestore( - &pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock, Flags); + spin_unlock(&pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock); spin_unlock_irqrestore( &pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock, Flags); @@ -4836,8 +4423,7 @@ SK_BOOL DualNet; SkGePollTxD(pAC, IoC, ToPort, SK_TRUE); ClearAndStartRx(pAC, FromPort); ClearAndStartRx(pAC, ToPort); - spin_unlock_irqrestore( - &pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock, Flags); + spin_unlock(&pAC->TxPort[ToPort][TX_PRIO_LOW].TxDesRingLock); spin_unlock_irqrestore( &pAC->TxPort[FromPort][TX_PRIO_LOW].TxDesRingLock, Flags); @@ -5312,8 +4898,317 @@ int l; #endif -/******************************************************************************* - * - * End of file - * - ******************************************************************************/ +static int __devinit skge_probe_one(struct pci_dev *pdev, + const struct pci_device_id *ent) +{ + SK_AC *pAC; + DEV_NET *pNet = NULL; + struct net_device *dev = NULL; +#ifdef CONFIG_PROC_FS + struct proc_dir_entry *pProcFile; +#endif + static int boards_found = 0; + int error = -ENODEV; + + if (pci_enable_device(pdev)) + goto out; + + /* Configure DMA attributes. */ + if (pci_set_dma_mask(pdev, (u64) 0xffffffffffffffffULL) && + pci_set_dma_mask(pdev, (u64) 0xffffffff)) + goto out_disable_device; + + + if ((dev = alloc_etherdev(sizeof(DEV_NET))) == NULL) { + printk(KERN_ERR "Unable to allocate etherdev " + "structure!\n"); + goto out_disable_device; + } + + pNet = dev->priv; + pNet->pAC = kmalloc(sizeof(SK_AC), GFP_KERNEL); + if (!pNet->pAC) { + printk(KERN_ERR "Unable to allocate adapter " + "structure!\n"); + goto out_free_netdev; + } + + memset(pNet->pAC, 0, sizeof(SK_AC)); + pAC = pNet->pAC; + pAC->PciDev = pdev; + pAC->PciDevId = pdev->device; + pAC->dev[0] = dev; + pAC->dev[1] = dev; + sprintf(pAC->Name, "SysKonnect SK-98xx"); + pAC->CheckQueue = SK_FALSE; + + pNet->Mtu = 1500; + pNet->Up = 0; + dev->irq = pdev->irq; + error = SkGeInitPCI(pAC); + if (error) { + printk("SKGE: PCI setup failed: %i\n", error); + goto out_free_netdev; + } + + SET_MODULE_OWNER(dev); + dev->open = &SkGeOpen; + dev->stop = &SkGeClose; + dev->hard_start_xmit = &SkGeXmit; + dev->get_stats = &SkGeStats; + dev->set_multicast_list = &SkGeSetRxMode; + dev->set_mac_address = &SkGeSetMacAddr; + dev->do_ioctl = &SkGeIoctl; + dev->change_mtu = &SkGeChangeMtu; + dev->flags &= ~IFF_RUNNING; + SET_NETDEV_DEV(dev, &pdev->dev); + +#ifdef SK_ZEROCOPY +#ifdef USE_SK_TX_CHECKSUM + if (pAC->ChipsetType) { + /* Use only if yukon hardware */ + /* SK and ZEROCOPY - fly baby... */ + dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; + } +#endif +#endif + + pAC->Index = boards_found++; + + if (SkGeBoardInit(dev, pAC)) + goto out_free_netdev; + + /* Register net device */ + if (register_netdev(dev)) { + printk(KERN_ERR "SKGE: Could not register device.\n"); + goto out_free_resources; + } + + /* Print adapter specific string from vpd */ + ProductStr(pAC); + printk("%s: %s\n", dev->name, pAC->DeviceStr); + + /* Print configuration settings */ + printk(" PrefPort:%c RlmtMode:%s\n", + 'A' + pAC->Rlmt.Net[0].Port[pAC->Rlmt.Net[0].PrefPort]->PortNumber, + (pAC->RlmtMode==0) ? "Check Link State" : + ((pAC->RlmtMode==1) ? "Check Link State" : + ((pAC->RlmtMode==3) ? "Check Local Port" : + ((pAC->RlmtMode==7) ? "Check Segmentation" : + ((pAC->RlmtMode==17) ? "Dual Check Link State" :"Error"))))); + + SkGeYellowLED(pAC, pAC->IoBase, 1); + + + memcpy(&dev->dev_addr, &pAC->Addr.Net[0].CurrentMacAddress, 6); + +#ifdef CONFIG_PROC_FS + pProcFile = create_proc_entry(dev->name, S_IRUGO, pSkRootDir); + if (pProcFile) { + pProcFile->proc_fops = &sk_proc_fops; + pProcFile->data = dev; + pProcFile->owner = THIS_MODULE; + } +#endif + + pNet->PortNr = 0; + pNet->NetNr = 0; + + boards_found++; + + /* More then one port found */ + if ((pAC->GIni.GIMacsFound == 2 ) && (pAC->RlmtNets == 2)) { + if ((dev = alloc_etherdev(sizeof(DEV_NET))) == 0) { + printk(KERN_ERR "Unable to allocate etherdev " + "structure!\n"); + goto out; + } + + pAC->dev[1] = dev; + pNet = dev->priv; + pNet->PortNr = 1; + pNet->NetNr = 1; + pNet->pAC = pAC; + pNet->Mtu = 1500; + pNet->Up = 0; + + dev->open = &SkGeOpen; + dev->stop = &SkGeClose; + dev->hard_start_xmit = &SkGeXmit; + dev->get_stats = &SkGeStats; + dev->set_multicast_list = &SkGeSetRxMode; + dev->set_mac_address = &SkGeSetMacAddr; + dev->do_ioctl = &SkGeIoctl; + dev->change_mtu = &SkGeChangeMtu; + dev->flags &= ~IFF_RUNNING; + +#ifdef SK_ZEROCOPY +#ifdef USE_SK_TX_CHECKSUM + if (pAC->ChipsetType) { + /* SG and ZEROCOPY - fly baby... */ + dev->features |= NETIF_F_SG | NETIF_F_IP_CSUM; + } +#endif +#endif + + if (register_netdev(dev)) { + printk(KERN_ERR "SKGE: Could not register device.\n"); + free_netdev(dev); + pAC->dev[1] = pAC->dev[0]; + } else { +#ifdef CONFIG_PROC_FS + pProcFile = create_proc_entry(dev->name, S_IRUGO, + pSkRootDir); + if (pProcFile) { + pProcFile->proc_fops = &sk_proc_fops; + pProcFile->data = dev; + pProcFile->owner = THIS_MODULE; + } +#endif + + memcpy(&dev->dev_addr, + &pAC->Addr.Net[1].CurrentMacAddress, 6); + + printk("%s: %s\n", dev->name, pAC->DeviceStr); + printk(" PrefPort:B RlmtMode:Dual Check Link State\n"); + } + } + + /* Save the hardware revision */ + pAC->HWRevision = (((pAC->GIni.GIPciHwRev >> 4) & 0x0F)*10) + + (pAC->GIni.GIPciHwRev & 0x0F); + + /* Set driver globals */ + pAC->Pnmi.pDriverFileName = DRIVER_FILE_NAME; + pAC->Pnmi.pDriverReleaseDate = DRIVER_REL_DATE; + + memset(&pAC->PnmiBackup, 0, sizeof(SK_PNMI_STRUCT_DATA)); + memcpy(&pAC->PnmiBackup, &pAC->PnmiStruct, sizeof(SK_PNMI_STRUCT_DATA)); + + pci_set_drvdata(pdev, dev); + return 0; + + out_free_resources: + FreeResources(dev); + out_free_netdev: + free_netdev(dev); + out_disable_device: + pci_disable_device(pdev); + out: + return error; +} + +static void __devexit skge_remove_one(struct pci_dev *pdev) +{ + struct net_device *dev = pci_get_drvdata(pdev); + DEV_NET *pNet = (DEV_NET *) dev->priv; + SK_AC *pAC = pNet->pAC; + int have_second_mac = 0; + + if ((pAC->GIni.GIMacsFound == 2) && pAC->RlmtNets == 2) + have_second_mac = 1; + + remove_proc_entry(dev->name, pSkRootDir); + unregister_netdev(dev); + if (have_second_mac) { + remove_proc_entry(pAC->dev[1]->name, pSkRootDir); + unregister_netdev(pAC->dev[1]); + } + + SkGeYellowLED(pAC, pAC->IoBase, 0); + + if (pAC->BoardLevel == SK_INIT_RUN) { + SK_EVPARA EvPara; + unsigned long Flags; + + /* board is still alive */ + spin_lock_irqsave(&pAC->SlowPathLock, Flags); + EvPara.Para32[0] = 0; + EvPara.Para32[1] = -1; + SkEventQueue(pAC, SKGE_RLMT, SK_RLMT_STOP, EvPara); + EvPara.Para32[0] = 1; + EvPara.Para32[1] = -1; + SkEventQueue(pAC, SKGE_RLMT, SK_RLMT_STOP, EvPara); + SkEventDispatcher(pAC, pAC->IoBase); + /* disable interrupts */ + SK_OUT32(pAC->IoBase, B0_IMSK, 0); + SkGeDeInit(pAC, pAC->IoBase); + spin_unlock_irqrestore(&pAC->SlowPathLock, Flags); + pAC->BoardLevel = SK_INIT_DATA; + /* We do NOT check here, if IRQ was pending, of course*/ + } + + if (pAC->BoardLevel == SK_INIT_IO) { + /* board is still alive */ + SkGeDeInit(pAC, pAC->IoBase); + pAC->BoardLevel = SK_INIT_DATA; + } + + FreeResources(dev); + free_netdev(dev); + if (have_second_mac) + free_netdev(pAC->dev[1]); + kfree(pAC); +} + +static struct pci_device_id skge_pci_tbl[] = { + { PCI_VENDOR_ID_3COM, 0x1700, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_3COM, 0x80eb, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_SYSKONNECT, 0x4300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_SYSKONNECT, 0x4320, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_DLINK, 0x4c00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_MARVELL, 0x4320, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, +#if 0 /* don't handle Yukon2 cards at the moment -- mlindner@syskonnect.de */ + { PCI_VENDOR_ID_MARVELL, 0x4360, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_MARVELL, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, +#endif + { PCI_VENDOR_ID_MARVELL, 0x5005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_CNET, 0x434e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_LINKSYS, 0x1032, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { PCI_VENDOR_ID_LINKSYS, 0x1064, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { 0, } +}; + +static struct pci_driver skge_driver = { + .name = "skge", + .id_table = skge_pci_tbl, + .probe = skge_probe_one, + .remove = __devexit_p(skge_remove_one), +}; + +static int __init skge_init(void) +{ + int error; + +#ifdef CONFIG_PROC_FS + memcpy(&SK_Root_Dir_entry, BOOT_STRING, sizeof(SK_Root_Dir_entry) - 1); + + pSkRootDir = proc_mkdir(SK_Root_Dir_entry, proc_net); + if (!pSkRootDir) { + printk(KERN_WARNING "Unable to create /proc/net/%s", + SK_Root_Dir_entry); + return -ENOMEM; + } + pSkRootDir->owner = THIS_MODULE; +#endif + + error = pci_module_init(&skge_driver); + if (error) { +#ifdef CONFIG_PROC_FS + remove_proc_entry(pSkRootDir->name, proc_net); +#endif + } + + return error; +} + +static void __exit skge_exit(void) +{ + pci_unregister_driver(&skge_driver); +#ifdef CONFIG_PROC_FS + remove_proc_entry(pSkRootDir->name, proc_net); +#endif +} + +module_init(skge_init); +module_exit(skge_exit); diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c index 1eee9d37f..8308bcc14 100644 --- a/drivers/net/skfp/skfddi.c +++ b/drivers/net/skfp/skfddi.c @@ -1095,7 +1095,7 @@ static int skfp_send_pkt(struct sk_buff *skb, struct net_device *dev) */ if (!(skb->len >= FDDI_K_LLC_ZLEN && skb->len <= FDDI_K_LLC_LEN)) { - bp->MacStat.tx_errors++; /* bump error counter */ + bp->MacStat.gen.tx_errors++; /* bump error counter */ // dequeue packets from xmt queue and send them netif_start_queue(dev); dev_kfree_skb(skb); @@ -1546,8 +1546,8 @@ void mac_drv_tx_complete(struct s_smc *smc, volatile struct s_smt_fp_txd *txd) skb->len, PCI_DMA_TODEVICE); txd->txd_os.dma_addr = 0; - smc->os.MacStat.tx_packets++; // Count transmitted packets. - smc->os.MacStat.tx_bytes+=skb->len; // Count bytes + smc->os.MacStat.gen.tx_packets++; // Count transmitted packets. + smc->os.MacStat.gen.tx_bytes+=skb->len; // Count bytes // free the skb dev_kfree_skb_irq(skb); @@ -1629,7 +1629,7 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, skb = rxd->rxd_os.skb; if (!skb) { PRINTK(KERN_INFO "No skb in rxd\n"); - smc->os.MacStat.rx_errors++; + smc->os.MacStat.gen.rx_errors++; goto RequeueRxd; } virt = skb->data; @@ -1682,13 +1682,14 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, } // Count statistics. - smc->os.MacStat.rx_packets++; // Count indicated receive packets. - smc->os.MacStat.rx_bytes+=len; // Count bytes + smc->os.MacStat.gen.rx_packets++; // Count indicated receive + // packets. + smc->os.MacStat.gen.rx_bytes+=len; // Count bytes. // virt points to header again if (virt[1] & 0x01) { // Check group (multicast) bit. - smc->os.MacStat.multicast++; + smc->os.MacStat.gen.multicast++; } // deliver frame to system @@ -1706,7 +1707,8 @@ void mac_drv_rx_complete(struct s_smc *smc, volatile struct s_smt_fp_rxd *rxd, RequeueRxd: PRINTK(KERN_INFO "Rx: re-queue RXD.\n"); mac_drv_requeue_rxd(smc, rxd, frag_count); - smc->os.MacStat.rx_errors++; // Count receive packets not indicated. + smc->os.MacStat.gen.rx_errors++; // Count receive packets + // not indicated. } // mac_drv_rx_complete @@ -2081,7 +2083,7 @@ void smt_stat_counter(struct s_smc *smc, int stat) break; case 1: PRINTK(KERN_INFO "Receive fifo overflow.\n"); - smc->os.MacStat.rx_errors++; + smc->os.MacStat.gen.rx_errors++; break; default: PRINTK(KERN_INFO "Unknown status (%d).\n", stat); diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c index 8ee249a38..f5071b047 100644 --- a/drivers/net/smc9194.c +++ b/drivers/net/smc9194.c @@ -1191,133 +1191,6 @@ static void smc_timeout(struct net_device *dev) netif_wake_queue(dev); } -/*-------------------------------------------------------------------- - . - . This is the main routine of the driver, to handle the device when - . it needs some attention. - . - . So: - . first, save state of the chipset - . branch off into routines to handle each case, and acknowledge - . each to the interrupt register - . and finally restore state. - . - ---------------------------------------------------------------------*/ - -static irqreturn_t smc_interrupt(int irq, void * dev_id, struct pt_regs * regs) -{ - struct net_device *dev = dev_id; - int ioaddr = dev->base_addr; - struct smc_local *lp = netdev_priv(dev); - - byte status; - word card_stats; - byte mask; - int timeout; - /* state registers */ - word saved_bank; - word saved_pointer; - int handled = 0; - - - PRINTK3((CARDNAME": SMC interrupt started \n")); - - saved_bank = inw( ioaddr + BANK_SELECT ); - - SMC_SELECT_BANK(2); - saved_pointer = inw( ioaddr + POINTER ); - - mask = inb( ioaddr + INT_MASK ); - /* clear all interrupts */ - outb( 0, ioaddr + INT_MASK ); - - - /* set a timeout value, so I don't stay here forever */ - timeout = 4; - - PRINTK2((KERN_WARNING CARDNAME ": MASK IS %x \n", mask )); - do { - /* read the status flag, and mask it */ - status = inb( ioaddr + INTERRUPT ) & mask; - if (!status ) - break; - - handled = 1; - - PRINTK3((KERN_WARNING CARDNAME - ": Handling interrupt status %x \n", status )); - - if (status & IM_RCV_INT) { - /* Got a packet(s). */ - PRINTK2((KERN_WARNING CARDNAME - ": Receive Interrupt\n")); - smc_rcv(dev); - } else if (status & IM_TX_INT ) { - PRINTK2((KERN_WARNING CARDNAME - ": TX ERROR handled\n")); - smc_tx(dev); - outb(IM_TX_INT, ioaddr + INTERRUPT ); - } else if (status & IM_TX_EMPTY_INT ) { - /* update stats */ - SMC_SELECT_BANK( 0 ); - card_stats = inw( ioaddr + COUNTER ); - /* single collisions */ - lp->stats.collisions += card_stats & 0xF; - card_stats >>= 4; - /* multiple collisions */ - lp->stats.collisions += card_stats & 0xF; - - /* these are for when linux supports these statistics */ - - SMC_SELECT_BANK( 2 ); - PRINTK2((KERN_WARNING CARDNAME - ": TX_BUFFER_EMPTY handled\n")); - outb( IM_TX_EMPTY_INT, ioaddr + INTERRUPT ); - mask &= ~IM_TX_EMPTY_INT; - lp->stats.tx_packets += lp->packets_waiting; - lp->packets_waiting = 0; - - } else if (status & IM_ALLOC_INT ) { - PRINTK2((KERN_DEBUG CARDNAME - ": Allocation interrupt \n")); - /* clear this interrupt so it doesn't happen again */ - mask &= ~IM_ALLOC_INT; - - smc_hardware_send_packet( dev ); - - /* enable xmit interrupts based on this */ - mask |= ( IM_TX_EMPTY_INT | IM_TX_INT ); - - /* and let the card send more packets to me */ - netif_wake_queue(dev); - - PRINTK2((CARDNAME": Handoff done successfully.\n")); - } else if (status & IM_RX_OVRN_INT ) { - lp->stats.rx_errors++; - lp->stats.rx_fifo_errors++; - outb( IM_RX_OVRN_INT, ioaddr + INTERRUPT ); - } else if (status & IM_EPH_INT ) { - PRINTK((CARDNAME ": UNSUPPORTED: EPH INTERRUPT \n")); - } else if (status & IM_ERCV_INT ) { - PRINTK((CARDNAME ": UNSUPPORTED: ERCV INTERRUPT \n")); - outb( IM_ERCV_INT, ioaddr + INTERRUPT ); - } - } while ( timeout -- ); - - - /* restore state register */ - SMC_SELECT_BANK( 2 ); - outb( mask, ioaddr + INT_MASK ); - - PRINTK3(( KERN_WARNING CARDNAME ": MASK is now %x \n", mask )); - outw( saved_pointer, ioaddr + POINTER ); - - SMC_SELECT_BANK( saved_bank ); - - PRINTK3((CARDNAME ": Interrupt done\n")); - return IRQ_RETVAL(handled); -} - /*------------------------------------------------------------- . . smc_rcv - receive a packet from the card @@ -1509,6 +1382,134 @@ static void smc_tx( struct net_device * dev ) return; } +/*-------------------------------------------------------------------- + . + . This is the main routine of the driver, to handle the device when + . it needs some attention. + . + . So: + . first, save state of the chipset + . branch off into routines to handle each case, and acknowledge + . each to the interrupt register + . and finally restore state. + . + ---------------------------------------------------------------------*/ + +static irqreturn_t smc_interrupt(int irq, void * dev_id, struct pt_regs * regs) +{ + struct net_device *dev = dev_id; + int ioaddr = dev->base_addr; + struct smc_local *lp = netdev_priv(dev); + + byte status; + word card_stats; + byte mask; + int timeout; + /* state registers */ + word saved_bank; + word saved_pointer; + int handled = 0; + + + PRINTK3((CARDNAME": SMC interrupt started \n")); + + saved_bank = inw( ioaddr + BANK_SELECT ); + + SMC_SELECT_BANK(2); + saved_pointer = inw( ioaddr + POINTER ); + + mask = inb( ioaddr + INT_MASK ); + /* clear all interrupts */ + outb( 0, ioaddr + INT_MASK ); + + + /* set a timeout value, so I don't stay here forever */ + timeout = 4; + + PRINTK2((KERN_WARNING CARDNAME ": MASK IS %x \n", mask )); + do { + /* read the status flag, and mask it */ + status = inb( ioaddr + INTERRUPT ) & mask; + if (!status ) + break; + + handled = 1; + + PRINTK3((KERN_WARNING CARDNAME + ": Handling interrupt status %x \n", status )); + + if (status & IM_RCV_INT) { + /* Got a packet(s). */ + PRINTK2((KERN_WARNING CARDNAME + ": Receive Interrupt\n")); + smc_rcv(dev); + } else if (status & IM_TX_INT ) { + PRINTK2((KERN_WARNING CARDNAME + ": TX ERROR handled\n")); + smc_tx(dev); + outb(IM_TX_INT, ioaddr + INTERRUPT ); + } else if (status & IM_TX_EMPTY_INT ) { + /* update stats */ + SMC_SELECT_BANK( 0 ); + card_stats = inw( ioaddr + COUNTER ); + /* single collisions */ + lp->stats.collisions += card_stats & 0xF; + card_stats >>= 4; + /* multiple collisions */ + lp->stats.collisions += card_stats & 0xF; + + /* these are for when linux supports these statistics */ + + SMC_SELECT_BANK( 2 ); + PRINTK2((KERN_WARNING CARDNAME + ": TX_BUFFER_EMPTY handled\n")); + outb( IM_TX_EMPTY_INT, ioaddr + INTERRUPT ); + mask &= ~IM_TX_EMPTY_INT; + lp->stats.tx_packets += lp->packets_waiting; + lp->packets_waiting = 0; + + } else if (status & IM_ALLOC_INT ) { + PRINTK2((KERN_DEBUG CARDNAME + ": Allocation interrupt \n")); + /* clear this interrupt so it doesn't happen again */ + mask &= ~IM_ALLOC_INT; + + smc_hardware_send_packet( dev ); + + /* enable xmit interrupts based on this */ + mask |= ( IM_TX_EMPTY_INT | IM_TX_INT ); + + /* and let the card send more packets to me */ + netif_wake_queue(dev); + + PRINTK2((CARDNAME": Handoff done successfully.\n")); + } else if (status & IM_RX_OVRN_INT ) { + lp->stats.rx_errors++; + lp->stats.rx_fifo_errors++; + outb( IM_RX_OVRN_INT, ioaddr + INTERRUPT ); + } else if (status & IM_EPH_INT ) { + PRINTK((CARDNAME ": UNSUPPORTED: EPH INTERRUPT \n")); + } else if (status & IM_ERCV_INT ) { + PRINTK((CARDNAME ": UNSUPPORTED: ERCV INTERRUPT \n")); + outb( IM_ERCV_INT, ioaddr + INTERRUPT ); + } + } while ( timeout -- ); + + + /* restore state register */ + SMC_SELECT_BANK( 2 ); + outb( mask, ioaddr + INT_MASK ); + + PRINTK3(( KERN_WARNING CARDNAME ": MASK is now %x \n", mask )); + outw( saved_pointer, ioaddr + POINTER ); + + SMC_SELECT_BANK( saved_bank ); + + PRINTK3((CARDNAME ": Interrupt done\n")); + return IRQ_RETVAL(handled); +} + + /*---------------------------------------------------- . smc_close . diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c index 849b57634..e0ddf2be9 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c @@ -879,7 +879,7 @@ static int netdev_open(struct net_device *dev) if (dev->if_port == 0) dev->if_port = np->default_port; - np->mcastlock = (spinlock_t) SPIN_LOCK_UNLOCKED; + np->mcastlock = SPIN_LOCK_UNLOCKED; set_rx_mode(dev); writew(0, ioaddr + IntrEnable); diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c index e48ec3421..c78811b00 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c @@ -5,6 +5,9 @@ * * Support for Apple GMAC and assorted PHYs by * Benjamin Herrenscmidt (benh@kernel.crashing.org) + * + * NAPI and NETPOLL support + * (C) 2004 by Eric Lemoine (eric.lemoine@gmail.com) * * TODO: * - Get rid of all those nasty mdelay's and replace them @@ -181,6 +184,18 @@ static inline void phy_write(struct gem *gp, int reg, u16 val) __phy_write(gp, gp->mii_phy_addr, reg, val); } +static inline void gem_enable_ints(struct gem *gp) +{ + /* Enable all interrupts but TXDONE */ + writel(GREG_STAT_TXDONE, gp->regs + GREG_IMASK); +} + +static inline void gem_disable_ints(struct gem *gp) +{ + /* Disable all interrupts, including TXDONE */ + writel(GREG_STAT_NAPI | GREG_STAT_TXDONE, gp->regs + GREG_IMASK); +} + static void gem_handle_mif_event(struct gem *gp, u32 reg_val, u32 changed_bits) { if (netif_msg_intr(gp)) @@ -678,12 +693,12 @@ static __inline__ void gem_post_rxds(struct gem *gp, int limit) } } -static void gem_rx(struct gem *gp) +static int gem_rx(struct gem *gp, int work_to_do) { - int entry, drops; + int entry, drops, work_done = 0; u32 done; - if (netif_msg_intr(gp)) + if (netif_msg_rx_status(gp)) printk(KERN_DEBUG "%s: rx interrupt, done: %d, rx_new: %d\n", gp->dev->name, readl(gp->regs + RXDMA_DONE), gp->rx_new); @@ -700,6 +715,9 @@ static void gem_rx(struct gem *gp) if ((status & RXDCTRL_OWN) != 0) break; + if (work_done >= RX_RING_SIZE || work_done >= work_to_do) + break; + /* When writing back RX descriptor, GEM writes status * then buffer address, possibly in seperate transactions. * If we don't wait for the chip to write both, we could @@ -713,6 +731,9 @@ static void gem_rx(struct gem *gp) break; } + /* We can now account for the work we're about to do */ + work_done++; + skb = gp->rx_skbs[entry]; len = (status & RXDCTRL_BUFSZ) >> 16; @@ -775,7 +796,8 @@ static void gem_rx(struct gem *gp) skb->csum = ntohs((status & RXDCTRL_TCPCSUM) ^ 0xffff); skb->ip_summed = CHECKSUM_HW; skb->protocol = eth_type_trans(skb, gp->dev); - netif_rx(skb); + + netif_receive_skb(skb); gp->net_stats.rx_packets++; gp->net_stats.rx_bytes += len; @@ -792,35 +814,103 @@ static void gem_rx(struct gem *gp) if (drops) printk(KERN_INFO "%s: Memory squeeze, deferring packet.\n", gp->dev->name); + + return work_done; +} + +static int gem_poll(struct net_device *dev, int *budget) +{ + struct gem *gp = dev->priv; + unsigned long flags; + + spin_lock_irqsave(&gp->lock, flags); + + do { + int work_to_do, work_done; + + /* Handle anomalies */ + if (gp->status & GREG_STAT_ABNORMAL) { + if (gem_abnormal_irq(dev, gp, gp->status)) + break; + } + + /* Run TX completion thread */ + spin_lock(&gp->tx_lock); + gem_tx(dev, gp, gp->status); + spin_unlock(&gp->tx_lock); + + spin_unlock_irqrestore(&gp->lock, flags); + + /* Run RX thread. We don't use any locking here, + * code willing to do bad things - like cleaning the + * rx ring - must call netif_poll_disable(), which + * schedule_timeout()'s if polling is already disabled. + */ + work_to_do = min(*budget, dev->quota); + + work_done = gem_rx(gp, work_to_do); + + *budget -= work_done; + dev->quota -= work_done; + + if (work_done >= work_to_do) + return 1; + + spin_lock_irqsave(&gp->lock, flags); + + gp->status = readl(gp->regs + GREG_STAT); + } while (gp->status & GREG_STAT_NAPI); + + __netif_rx_complete(dev); + gem_enable_ints(gp); + + spin_unlock_irqrestore(&gp->lock, flags); + return 0; } static irqreturn_t gem_interrupt(int irq, void *dev_id, struct pt_regs *regs) { struct net_device *dev = dev_id; struct gem *gp = dev->priv; - u32 gem_status = readl(gp->regs + GREG_STAT); + unsigned long flags; /* Swallow interrupts when shutting the chip down */ - if (gp->hw_running == 0) - goto out; + if (!gp->hw_running) + return IRQ_HANDLED; - spin_lock(&gp->lock); + spin_lock_irqsave(&gp->lock, flags); + + if (netif_rx_schedule_prep(dev)) { + u32 gem_status = readl(gp->regs + GREG_STAT); - if (gem_status & GREG_STAT_ABNORMAL) { - if (gem_abnormal_irq(dev, gp, gem_status)) - goto out; + if (gem_status == 0) { + spin_unlock_irqrestore(&gp->lock, flags); + return IRQ_NONE; + } + gp->status = gem_status; + gem_disable_ints(gp); + __netif_rx_schedule(dev); } - if (gem_status & (GREG_STAT_TXALL | GREG_STAT_TXINTME)) - gem_tx(dev, gp, gem_status); - if (gem_status & GREG_STAT_RXDONE) - gem_rx(gp); - -out: - spin_unlock(&gp->lock); + spin_unlock_irqrestore(&gp->lock, flags); + + /* If polling was disabled at the time we received that + * interrupt, we may return IRQ_HANDLED here while we + * should return IRQ_NONE. No big deal... + */ return IRQ_HANDLED; } +#ifdef CONFIG_NET_POLL_CONTROLLER +static void gem_poll_controller(struct net_device *dev) +{ + /* gem_interrupt is safe to reentrance so no need + * to disable_irq here. + */ + gem_interrupt(dev->irq, dev, NULL); +} +#endif + static void gem_tx_timeout(struct net_device *dev) { struct gem *gp = dev->priv; @@ -842,10 +932,12 @@ static void gem_tx_timeout(struct net_device *dev) readl(gp->regs + MAC_RXCFG)); spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gp->reset_task_pending = 2; schedule_work(&gp->reset_task); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); } @@ -863,6 +955,7 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev) struct gem *gp = dev->priv; int entry; u64 ctrl; + unsigned long flags; ctrl = 0; if (skb->ip_summed == CHECKSUM_HW) { @@ -876,15 +969,20 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev) (csum_stuff_off << 21)); } - spin_lock_irq(&gp->lock); + local_irq_save(flags); + if (!spin_trylock(&gp->tx_lock)) { + /* Tell upper layer to requeue */ + local_irq_restore(flags); + return NETDEV_TX_LOCKED; + } /* This is a hard error, log it. */ if (TX_BUFFS_AVAIL(gp) <= (skb_shinfo(skb)->nr_frags + 1)) { netif_stop_queue(dev); - spin_unlock_irq(&gp->lock); + spin_unlock_irqrestore(&gp->tx_lock, flags); printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", dev->name); - return 1; + return NETDEV_TX_BUSY; } entry = gp->tx_new; @@ -968,11 +1066,11 @@ static int gem_start_xmit(struct sk_buff *skb, struct net_device *dev) dev->name, entry, skb->len); mb(); writel(gp->tx_new, gp->regs + TXDMA_KICK); - spin_unlock_irq(&gp->lock); + spin_unlock_irqrestore(&gp->tx_lock, flags); dev->trans_start = jiffies; - return 0; + return NETDEV_TX_OK; } /* Jumbo-grams don't seem to work :-( */ @@ -999,9 +1097,11 @@ static int gem_change_mtu(struct net_device *dev, int new_mtu) } spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); dev->mtu = new_mtu; gp->reset_task_pending = 1; schedule_work(&gp->reset_task); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); flush_scheduled_work(); @@ -1011,7 +1111,7 @@ static int gem_change_mtu(struct net_device *dev, int new_mtu) #define STOP_TRIES 32 -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_stop(struct gem *gp) { int limit; @@ -1037,7 +1137,7 @@ static void gem_stop(struct gem *gp) printk(KERN_ERR "%s: SW reset is ghetto.\n", gp->dev->name); } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_start_dma(struct gem *gp) { unsigned long val; @@ -1062,7 +1162,7 @@ static void gem_start_dma(struct gem *gp) } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ // XXX dbl check what that function should do when called on PCS PHY static void gem_begin_auto_negotiation(struct gem *gp, struct ethtool_cmd *ep) { @@ -1149,7 +1249,7 @@ non_mii: /* A link-up condition has occurred, initialize and enable the * rest of the chip. * - * Must be invoked under gp->lock. + * Must be invoked under gp->lock and gp->tx_lock. */ static int gem_set_link_modes(struct gem *gp) { @@ -1256,7 +1356,7 @@ static int gem_set_link_modes(struct gem *gp) return 0; } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static int gem_mdio_link_not_up(struct gem *gp) { switch (gp->lstate) { @@ -1312,19 +1412,13 @@ static void gem_reset_task(void *data) { struct gem *gp = (struct gem *) data; - /* The link went down, we reset the ring, but keep - * DMA stopped. Todo: Use this function for reset - * on error as well. - */ - + netif_poll_disable(gp->dev); spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); if (gp->hw_running && gp->opened) { - /* Make sure we don't get interrupts or tx packets */ netif_stop_queue(gp->dev); - writel(0xffffffff, gp->regs + GREG_IMASK); - /* Reset the chip & rings */ gem_stop(gp); gem_init_rings(gp); @@ -1336,7 +1430,9 @@ static void gem_reset_task(void *data) } gp->reset_task_pending = 0; + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); + netif_poll_enable(gp->dev); } static void gem_link_timer(unsigned long data) @@ -1348,6 +1444,7 @@ static void gem_link_timer(unsigned long data) return; spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); /* If the link of task is still pending, we just * reschedule the link timer @@ -1417,10 +1514,11 @@ static void gem_link_timer(unsigned long data) restart: mod_timer(&gp->link_timer, jiffies + ((12 * HZ) / 10)); out_unlock: + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_clean_rings(struct gem *gp) { struct gem_init_block *gb = gp->init_block; @@ -1471,7 +1569,7 @@ static void gem_clean_rings(struct gem *gp) } } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_init_rings(struct gem *gp) { struct gem_init_block *gb = gp->init_block; @@ -1521,7 +1619,7 @@ static void gem_init_rings(struct gem *gp) wmb(); } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_init_phy(struct gem *gp) { u32 mifcfg; @@ -1659,7 +1757,7 @@ static void gem_init_phy(struct gem *gp) } } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_init_dma(struct gem *gp) { u64 desc_dma = (u64) gp->gblock_dvma; @@ -1697,7 +1795,7 @@ static void gem_init_dma(struct gem *gp) gp->regs + RXDMA_BLANK); } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static u32 gem_setup_multicast(struct gem *gp) { @@ -1740,7 +1838,7 @@ gem_setup_multicast(struct gem *gp) return rxcfg; } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_init_mac(struct gem *gp) { unsigned char *e = &gp->dev->dev_addr[0]; @@ -1818,7 +1916,7 @@ static void gem_init_mac(struct gem *gp) writel(0xffffffff, gp->regs + MAC_MCMASK); } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_init_pause_thresholds(struct gem *gp) { u32 cfg; @@ -1954,7 +2052,7 @@ static int gem_check_invariants(struct gem *gp) return 0; } -/* Must be invoked under gp->lock. */ +/* Must be invoked under gp->lock and gp->tx_lock. */ static void gem_init_hw(struct gem *gp, int restart_link) { /* On Apple's gmac, I initialize the PHY only after @@ -2052,9 +2150,11 @@ static void gem_stop_phy(struct gem *gp) if (!gp->wake_on_lan) { spin_lock_irqsave(&gp->lock, flags); + spin_lock(&gp->tx_lock); gem_stop(gp); writel(MAC_TXRST_CMD, gp->regs + MAC_TXRST); writel(MAC_RXRST_CMD, gp->regs + MAC_RXRST); + spin_unlock(&gp->tx_lock); spin_unlock_irqrestore(&gp->lock, flags); } @@ -2102,8 +2202,10 @@ static void gem_shutdown(struct gem *gp) unsigned long flags; spin_lock_irqsave(&gp->lock, flags); + spin_lock(&gp->tx_lock); gem_stop(gp); - spin_unlock_irqrestore(&gp->lock, flags); + spin_unlock(&gp->tx_lock); + spin_unlock_irqrestore(&gp->lock, flags); } } @@ -2163,7 +2265,9 @@ static int gem_open(struct net_device *dev) /* Reset the chip */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gem_stop(gp); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); gp->hw_running = 1; @@ -2177,6 +2281,7 @@ static int gem_open(struct net_device *dev) printk(KERN_ERR "%s: failed to request irq !\n", gp->dev->name); spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); #ifdef CONFIG_PPC_PMAC if (!hw_was_up && gp->pdev->vendor == PCI_VENDOR_ID_APPLE) gem_apple_powerdown(gp); @@ -2185,12 +2290,14 @@ static int gem_open(struct net_device *dev) gp->pm_timer.expires = jiffies + 10*HZ; add_timer(&gp->pm_timer); up(&gp->pm_sem); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); return -EAGAIN; } spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); /* Allocate & setup ring buffers */ gem_init_rings(gp); @@ -2200,6 +2307,7 @@ static int gem_open(struct net_device *dev) gp->opened = 1; + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); up(&gp->pm_sem); @@ -2214,11 +2322,16 @@ static int gem_close(struct net_device *dev) /* Make sure we don't get distracted by suspend/resume */ down(&gp->pm_sem); + /* Note: we don't need to call netif_poll_disable() here because + * our caller (dev_close) already did it for us + */ + /* Stop traffic, mark us closed */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gp->opened = 0; - writel(0xffffffff, gp->regs + GREG_IMASK); + netif_stop_queue(dev); /* Stop chip */ @@ -2230,6 +2343,7 @@ static int gem_close(struct net_device *dev) /* Bye, the pm timer will finish the job */ free_irq(gp->pdev->irq, (void *) dev); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); /* Fire the PM timer that will shut us down in about 10 seconds */ @@ -2247,6 +2361,8 @@ static int gem_suspend(struct pci_dev *pdev, u32 state) struct net_device *dev = pci_get_drvdata(pdev); struct gem *gp = dev->priv; + netif_poll_disable(dev); + /* We hold the PM semaphore during entire driver * sleep time */ @@ -2258,18 +2374,18 @@ static int gem_suspend(struct pci_dev *pdev, u32 state) /* If the driver is opened, we stop the DMA */ if (gp->opened) { spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); /* Stop traffic, mark us closed */ netif_device_detach(dev); - writel(0xffffffff, gp->regs + GREG_IMASK); - /* Stop chip */ gem_stop(gp); /* Get rid of ring buffers */ gem_clean_rings(gp); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); if (gp->pdev->vendor == PCI_VENDOR_ID_APPLE) @@ -2303,12 +2419,14 @@ static int gem_resume(struct pci_dev *pdev) } #endif /* CONFIG_PPC_PMAC */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gem_stop(gp); gp->hw_running = 1; gem_init_rings(gp); gem_init_hw(gp, 1); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); netif_device_attach(dev); @@ -2317,6 +2435,8 @@ static int gem_resume(struct pci_dev *pdev) } up(&gp->pm_sem); + netif_poll_enable(dev); + return 0; } #endif /* CONFIG_PM */ @@ -2327,6 +2447,7 @@ static struct net_device_stats *gem_get_stats(struct net_device *dev) struct net_device_stats *stats = &gp->net_stats; spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); if (gp->hw_running) { stats->rx_crc_errors += readl(gp->regs + MAC_FCSERR); @@ -2346,6 +2467,7 @@ static struct net_device_stats *gem_get_stats(struct net_device *dev) writel(0, gp->regs + MAC_LCOLL); } + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); return &gp->net_stats; @@ -2361,6 +2483,7 @@ static void gem_set_multicast(struct net_device *dev) return; spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); netif_stop_queue(dev); @@ -2385,6 +2508,7 @@ static void gem_set_multicast(struct net_device *dev) netif_wake_queue(dev); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); } @@ -2416,6 +2540,7 @@ static int gem_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) /* Return current PHY settings */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); cmd->autoneg = gp->want_autoneg; cmd->speed = gp->phy_mii.speed; cmd->duplex = gp->phy_mii.duplex; @@ -2427,6 +2552,7 @@ static int gem_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) */ if (cmd->advertising == 0) cmd->advertising = cmd->supported; + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); } else { // XXX PCS ? cmd->supported = @@ -2466,7 +2592,9 @@ static int gem_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) /* Apply settings and restart link process. */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gem_begin_auto_negotiation(gp, cmd); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); return 0; @@ -2481,7 +2609,9 @@ static int gem_nway_reset(struct net_device *dev) /* Restart link process. */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gem_begin_auto_negotiation(gp, NULL); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); return 0; @@ -2581,7 +2711,7 @@ static void find_eth_addr_in_vpd(void *rom_base, int len, unsigned char *dev_add static void get_gem_mac_nonobp(struct pci_dev *pdev, unsigned char *dev_addr) { u32 rom_reg_orig; - void *p; + void __iomem *p; if (pdev->resource[PCI_ROM_RESOURCE].parent == NULL) { if (pci_assign_resource(pdev, PCI_ROM_RESOURCE) < 0) @@ -2733,6 +2863,7 @@ static int __devinit gem_init_one(struct pci_dev *pdev, gp->msg_enable = DEFAULT_MSG; spin_lock_init(&gp->lock); + spin_lock_init(&gp->tx_lock); init_MUTEX(&gp->pm_sem); init_timer(&gp->link_timer); @@ -2750,7 +2881,7 @@ static int __devinit gem_init_one(struct pci_dev *pdev, gp->timer_ticks = 0; netif_carrier_off(dev); - gp->regs = (unsigned long) ioremap(gemreg_base, gemreg_len); + gp->regs = ioremap(gemreg_base, gemreg_len); if (gp->regs == 0UL) { printk(KERN_ERR PFX "Cannot map device registers, " "aborting.\n"); @@ -2768,7 +2899,9 @@ static int __devinit gem_init_one(struct pci_dev *pdev, gem_apple_powerup(gp); #endif spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gem_stop(gp); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); /* Fill up the mii_phy structure (even if we won't use it) */ @@ -2806,12 +2939,17 @@ static int __devinit gem_init_one(struct pci_dev *pdev, dev->get_stats = gem_get_stats; dev->set_multicast_list = gem_set_multicast; dev->do_ioctl = gem_ioctl; + dev->poll = gem_poll; + dev->weight = 64; dev->ethtool_ops = &gem_ethtool_ops; dev->tx_timeout = gem_tx_timeout; dev->watchdog_timeo = 5 * HZ; dev->change_mtu = gem_change_mtu; dev->irq = pdev->irq; dev->dma = 0; +#ifdef CONFIG_NET_POLL_CONTROLLER + dev->poll_controller = gem_poll_controller; +#endif if (register_netdev(dev)) { printk(KERN_ERR PFX "Cannot register net device, " @@ -2829,9 +2967,11 @@ static int __devinit gem_init_one(struct pci_dev *pdev, /* Detect & init PHY, start autoneg */ spin_lock_irq(&gp->lock); + spin_lock(&gp->tx_lock); gp->hw_running = 1; gem_init_phy(gp); gem_begin_auto_negotiation(gp, NULL); + spin_unlock(&gp->tx_lock); spin_unlock_irq(&gp->lock); if (gp->phy_type == phy_mii_mdio0 || @@ -2842,7 +2982,7 @@ static int __devinit gem_init_one(struct pci_dev *pdev, pci_set_drvdata(pdev, dev); /* GEM can do it all... */ - dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM; + dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_LLTX; if (pci_using_dac) dev->features |= NETIF_F_HIGHDMA; @@ -2867,7 +3007,7 @@ err_out_iounmap: gem_shutdown(gp); up(&gp->pm_sem); - iounmap((void *) gp->regs); + iounmap(gp->regs); err_out_free_res: pci_release_regions(pdev); @@ -2901,7 +3041,7 @@ static void __devexit gem_remove_one(struct pci_dev *pdev) sizeof(struct gem_init_block), gp->init_block, gp->gblock_dvma); - iounmap((void *) gp->regs); + iounmap(gp->regs); pci_release_regions(pdev); free_netdev(dev); diff --git a/drivers/net/sungem.h b/drivers/net/sungem.h index eed77bfe1..00343226f 100644 --- a/drivers/net/sungem.h +++ b/drivers/net/sungem.h @@ -60,6 +60,9 @@ GREG_STAT_PCS | GREG_STAT_TXMAC | GREG_STAT_RXMAC | \ GREG_STAT_MAC | GREG_STAT_MIF | GREG_STAT_PCIERR) +#define GREG_STAT_NAPI (GREG_STAT_TXALL | GREG_STAT_TXINTME | \ + GREG_STAT_RXDONE | GREG_STAT_ABNORMAL) + /* The layout of GREG_IMASK and GREG_IACK is identical to GREG_STAT. * Bits set in GREG_IMASK will prevent that interrupt type from being * signalled to the cpu. GREG_IACK can be used to clear specific top-level @@ -950,7 +953,8 @@ enum link_state { struct gem { spinlock_t lock; - unsigned long regs; + spinlock_t tx_lock; + void __iomem *regs; int rx_new, rx_old; int tx_new, tx_old; @@ -969,6 +973,7 @@ struct gem { struct sk_buff *tx_skbs[RX_RING_SIZE]; u32 msg_enable; + u32 status; struct net_device_stats net_stats; diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c index 13fdcca49..2cb1ac95a 100644 --- a/drivers/net/sunhme.c +++ b/drivers/net/sunhme.c @@ -203,12 +203,12 @@ MODULE_DEVICE_TABLE(pci, happymeal_pci_ids); */ #if defined(CONFIG_SBUS) && defined(CONFIG_PCI) -static void sbus_hme_write32(unsigned long reg, u32 val) +static void sbus_hme_write32(void __iomem *reg, u32 val) { sbus_writel(val, reg); } -static u32 sbus_hme_read32(unsigned long reg) +static u32 sbus_hme_read32(void __iomem *reg) { return sbus_readl(reg); } @@ -232,12 +232,12 @@ static u32 sbus_hme_read_desc32(u32 *p) return *p; } -static void pci_hme_write32(unsigned long reg, u32 val) +static void pci_hme_write32(void __iomem *reg, u32 val) { writel(val, reg); } -static u32 pci_hme_read32(unsigned long reg) +static u32 pci_hme_read32(void __iomem *reg) { return readl(reg); } @@ -354,7 +354,7 @@ do { (__txd)->tx_addr = cpu_to_le32(__addr); \ /* Oh yes, the MIF BitBang is mighty fun to program. BitBucket is more like it. */ -static void BB_PUT_BIT(struct happy_meal *hp, unsigned long tregs, int bit) +static void BB_PUT_BIT(struct happy_meal *hp, void __iomem *tregs, int bit) { hme_write32(hp, tregs + TCVR_BBDATA, bit); hme_write32(hp, tregs + TCVR_BBCLOCK, 0); @@ -362,7 +362,7 @@ static void BB_PUT_BIT(struct happy_meal *hp, unsigned long tregs, int bit) } #if 0 -static u32 BB_GET_BIT(struct happy_meal *hp, unsigned long tregs, int internal) +static u32 BB_GET_BIT(struct happy_meal *hp, void __iomem *tregs, int internal) { u32 ret; @@ -378,7 +378,7 @@ static u32 BB_GET_BIT(struct happy_meal *hp, unsigned long tregs, int internal) } #endif -static u32 BB_GET_BIT2(struct happy_meal *hp, unsigned long tregs, int internal) +static u32 BB_GET_BIT2(struct happy_meal *hp, void __iomem *tregs, int internal) { u32 retval; @@ -397,7 +397,7 @@ static u32 BB_GET_BIT2(struct happy_meal *hp, unsigned long tregs, int internal) #define TCVR_FAILURE 0x80000000 /* Impossible MIF read value */ static int happy_meal_bb_read(struct happy_meal *hp, - unsigned long tregs, int reg) + void __iomem *tregs, int reg) { u32 tmp; int retval = 0; @@ -443,7 +443,7 @@ static int happy_meal_bb_read(struct happy_meal *hp, } static void happy_meal_bb_write(struct happy_meal *hp, - unsigned long tregs, int reg, + void __iomem *tregs, int reg, unsigned short value) { u32 tmp; @@ -488,7 +488,7 @@ static void happy_meal_bb_write(struct happy_meal *hp, #define TCVR_READ_TRIES 16 static int happy_meal_tcvr_read(struct happy_meal *hp, - unsigned long tregs, int reg) + void __iomem *tregs, int reg) { int tries = TCVR_READ_TRIES; int retval; @@ -520,7 +520,7 @@ static int happy_meal_tcvr_read(struct happy_meal *hp, #define TCVR_WRITE_TRIES 16 static void happy_meal_tcvr_write(struct happy_meal *hp, - unsigned long tregs, int reg, + void __iomem *tregs, int reg, unsigned short value) { int tries = TCVR_WRITE_TRIES; @@ -579,7 +579,7 @@ static void happy_meal_tcvr_write(struct happy_meal *hp, * service routine, and the chip is reset, or the link is ifconfig'd down * and then back up, this entire process repeats itself all over again. */ -static int try_next_permutation(struct happy_meal *hp, unsigned long tregs) +static int try_next_permutation(struct happy_meal *hp, void __iomem *tregs) { hp->sw_bmcr = happy_meal_tcvr_read(hp, tregs, MII_BMCR); @@ -603,7 +603,7 @@ static int try_next_permutation(struct happy_meal *hp, unsigned long tregs) return -1; } -static void display_link_mode(struct happy_meal *hp, unsigned long tregs) +static void display_link_mode(struct happy_meal *hp, void __iomem *tregs) { printk(KERN_INFO "%s: Link is up using ", hp->dev->name); if (hp->tcvr_type == external) @@ -625,7 +625,7 @@ static void display_link_mode(struct happy_meal *hp, unsigned long tregs) } } -static void display_forced_link_mode(struct happy_meal *hp, unsigned long tregs) +static void display_forced_link_mode(struct happy_meal *hp, void __iomem *tregs) { printk(KERN_INFO "%s: Link has been forced up using ", hp->dev->name); if (hp->tcvr_type == external) @@ -644,7 +644,7 @@ static void display_forced_link_mode(struct happy_meal *hp, unsigned long tregs) printk("Half Duplex.\n"); } -static int set_happy_link_modes(struct happy_meal *hp, unsigned long tregs) +static int set_happy_link_modes(struct happy_meal *hp, void __iomem *tregs) { int full; @@ -708,7 +708,7 @@ static int happy_meal_init(struct happy_meal *hp); static int is_lucent_phy(struct happy_meal *hp) { - unsigned long tregs = hp->tcvregs; + void __iomem *tregs = hp->tcvregs; unsigned short mr2, mr3; int ret = 0; @@ -724,7 +724,7 @@ static int is_lucent_phy(struct happy_meal *hp) static void happy_meal_timer(unsigned long data) { struct happy_meal *hp = (struct happy_meal *) data; - unsigned long tregs = hp->tcvregs; + void __iomem *tregs = hp->tcvregs; int restart_timer = 0; spin_lock_irq(&hp->happy_lock); @@ -905,7 +905,7 @@ out: #define RX_RESET_TRIES 32 /* hp->happy_lock must be held */ -static void happy_meal_tx_reset(struct happy_meal *hp, unsigned long bregs) +static void happy_meal_tx_reset(struct happy_meal *hp, void __iomem *bregs) { int tries = TX_RESET_TRIES; @@ -925,7 +925,7 @@ static void happy_meal_tx_reset(struct happy_meal *hp, unsigned long bregs) } /* hp->happy_lock must be held */ -static void happy_meal_rx_reset(struct happy_meal *hp, unsigned long bregs) +static void happy_meal_rx_reset(struct happy_meal *hp, void __iomem *bregs) { int tries = RX_RESET_TRIES; @@ -947,7 +947,7 @@ static void happy_meal_rx_reset(struct happy_meal *hp, unsigned long bregs) #define STOP_TRIES 16 /* hp->happy_lock must be held */ -static void happy_meal_stop(struct happy_meal *hp, unsigned long gregs) +static void happy_meal_stop(struct happy_meal *hp, void __iomem *gregs) { int tries = STOP_TRIES; @@ -967,7 +967,7 @@ static void happy_meal_stop(struct happy_meal *hp, unsigned long gregs) } /* hp->happy_lock must be held */ -static void happy_meal_get_counters(struct happy_meal *hp, unsigned long bregs) +static void happy_meal_get_counters(struct happy_meal *hp, void __iomem *bregs) { struct net_device_stats *stats = &hp->net_stats; @@ -990,7 +990,7 @@ static void happy_meal_get_counters(struct happy_meal *hp, unsigned long bregs) } /* hp->happy_lock must be held */ -static void happy_meal_poll_stop(struct happy_meal *hp, unsigned long tregs) +static void happy_meal_poll_stop(struct happy_meal *hp, void __iomem *tregs) { ASD(("happy_meal_poll_stop: ")); @@ -1025,7 +1025,7 @@ static void happy_meal_poll_stop(struct happy_meal *hp, unsigned long tregs) #define TCVR_UNISOLATE_TRIES 32 /* Dis-isolation can take longer. */ /* hp->happy_lock must be held */ -static int happy_meal_tcvr_reset(struct happy_meal *hp, unsigned long tregs) +static int happy_meal_tcvr_reset(struct happy_meal *hp, void __iomem *tregs) { u32 tconfig; int result, tries = TCVR_RESET_TRIES; @@ -1123,7 +1123,7 @@ static int happy_meal_tcvr_reset(struct happy_meal *hp, unsigned long tregs) * * hp->happy_lock must be held */ -static void happy_meal_transceiver_check(struct happy_meal *hp, unsigned long tregs) +static void happy_meal_transceiver_check(struct happy_meal *hp, void __iomem *tregs) { unsigned long tconfig = hme_read32(hp, tregs + TCVR_CFG); @@ -1318,7 +1318,7 @@ static void happy_meal_init_rings(struct happy_meal *hp) /* hp->happy_lock must be held */ static void happy_meal_begin_auto_negotiation(struct happy_meal *hp, - unsigned long tregs, + void __iomem *tregs, struct ethtool_cmd *ep) { int timeout; @@ -1443,11 +1443,11 @@ force_link: /* hp->happy_lock must be held */ static int happy_meal_init(struct happy_meal *hp) { - unsigned long gregs = hp->gregs; - unsigned long etxregs = hp->etxregs; - unsigned long erxregs = hp->erxregs; - unsigned long bregs = hp->bigmacregs; - unsigned long tregs = hp->tcvregs; + void __iomem *gregs = hp->gregs; + void __iomem *etxregs = hp->etxregs; + void __iomem *erxregs = hp->erxregs; + void __iomem *bregs = hp->bigmacregs; + void __iomem *tregs = hp->tcvregs; u32 regtmp, rxcfg; unsigned char *e = &hp->dev->dev_addr[0]; @@ -1736,9 +1736,9 @@ static int happy_meal_init(struct happy_meal *hp) /* hp->happy_lock must be held */ static void happy_meal_set_initial_advertisement(struct happy_meal *hp) { - unsigned long tregs = hp->tcvregs; - unsigned long bregs = hp->bigmacregs; - unsigned long gregs = hp->gregs; + void __iomem *tregs = hp->tcvregs; + void __iomem *bregs = hp->bigmacregs; + void __iomem *gregs = hp->gregs; happy_meal_stop(hp, gregs); hme_write32(hp, tregs + TCVR_IMASK, 0xffff); @@ -1910,7 +1910,7 @@ static int happy_meal_is_not_so_happy(struct happy_meal *hp, u32 status) /* hp->happy_lock must be held */ static void happy_meal_mif_interrupt(struct happy_meal *hp) { - unsigned long tregs = hp->tcvregs; + void __iomem *tregs = hp->tcvregs; printk(KERN_INFO "%s: Link status change.\n", hp->dev->name); hp->sw_bmcr = happy_meal_tcvr_read(hp, tregs, MII_BMCR); @@ -2390,7 +2390,7 @@ static struct net_device_stats *happy_meal_get_stats(struct net_device *dev) static void happy_meal_set_multicast(struct net_device *dev) { struct happy_meal *hp = dev->priv; - unsigned long bregs = hp->bigmacregs; + void __iomem *bregs = hp->bigmacregs; struct dev_mc_list *dmi = dev->mc_list; char *addrs; int i; @@ -3025,7 +3025,8 @@ static int __init happy_meal_pci_init(struct pci_dev *pdev) #endif struct happy_meal *hp; struct net_device *dev; - unsigned long hpreg_base; + void __iomem *hpreg_base; + unsigned long hpreg_res; int i, qfe_slot = -1; char prom_name[64]; int err; @@ -3084,7 +3085,7 @@ static int __init happy_meal_pci_init(struct pci_dev *pdev) qp->happy_meals[qfe_slot] = dev; } - hpreg_base = pci_resource_start(pdev, 0); + hpreg_res = pci_resource_start(pdev, 0); err = -ENODEV; if ((pci_resource_flags(pdev, 0) & IORESOURCE_IO) != 0) { printk(KERN_ERR "happymeal(PCI): Cannot find proper PCI device base address.\n"); @@ -3096,7 +3097,7 @@ static int __init happy_meal_pci_init(struct pci_dev *pdev) goto err_out_clear_quattro; } - if ((hpreg_base = (unsigned long) ioremap(hpreg_base, 0x8000)) == 0) { + if ((hpreg_base = ioremap(hpreg_res, 0x8000)) == 0) { printk(KERN_ERR "happymeal(PCI): Unable to remap card memory.\n"); goto err_out_free_res; } diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 0e4615472..e8ea95ead 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -4,6 +4,9 @@ * Copyright (C) 2001, 2002, 2003, 2004 David S. Miller (davem@redhat.com) * Copyright (C) 2001, 2002, 2003 Jeff Garzik (jgarzik@pobox.com) * Copyright (C) 2004 Sun Microsystems Inc. + * + * Firmware is: + * Copyright (C) 2000-2003 Broadcom Corporation. */ #include @@ -57,8 +60,8 @@ #define DRV_MODULE_NAME "tg3" #define PFX DRV_MODULE_NAME ": " -#define DRV_MODULE_VERSION "3.8" -#define DRV_MODULE_RELDATE "July 14, 2004" +#define DRV_MODULE_VERSION "3.10" +#define DRV_MODULE_RELDATE "September 14, 2004" #define TG3_DEF_MAC_MODE 0 #define TG3_DEF_RX_MODE 0 @@ -140,6 +143,7 @@ MODULE_DESCRIPTION("Broadcom Tigon3 ethernet driver"); MODULE_LICENSE("GPL"); MODULE_PARM(tg3_debug, "i"); MODULE_PARM_DESC(tg3_debug, "Tigon3 bitmapped debugging message enable value"); +MODULE_VERSION(DRV_MODULE_VERSION); static int tg3_debug = -1; /* -1 == use TG3_DEF_MSG_ENABLE as value */ @@ -328,7 +332,7 @@ static void _tw32_flush(struct tg3 *tp, u32 off, u32 val) pci_write_config_dword(tp->pdev, TG3PCI_REG_DATA, val); spin_unlock_irqrestore(&tp->indirect_lock, flags); } else { - unsigned long dest = tp->regs + off; + void __iomem *dest = tp->regs + off; writel(val, dest); readl(dest); /* always flush PCI write */ } @@ -336,7 +340,7 @@ static void _tw32_flush(struct tg3 *tp, u32 off, u32 val) static inline void _tw32_rx_mbox(struct tg3 *tp, u32 off, u32 val) { - unsigned long mbox = tp->regs + off; + void __iomem *mbox = tp->regs + off; writel(val, mbox); if (tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER) readl(mbox); @@ -344,7 +348,7 @@ static inline void _tw32_rx_mbox(struct tg3 *tp, u32 off, u32 val) static inline void _tw32_tx_mbox(struct tg3 *tp, u32 off, u32 val) { - unsigned long mbox = tp->regs + off; + void __iomem *mbox = tp->regs + off; writel(val, mbox); if (tp->tg3_flags & TG3_FLAG_TXD_MBOX_HWBUG) writel(val, mbox); @@ -442,9 +446,14 @@ static void tg3_switch_clocks(struct tg3 *tp) 0x1f); tp->pci_clock_ctrl = clock_ctrl; - if (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5705 && - GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5750 && - (orig_clock_ctrl & CLOCK_CTRL_44MHZ_CORE) != 0) { + if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 || + GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) { + if (orig_clock_ctrl & CLOCK_CTRL_625_CORE) { + tw32_f(TG3PCI_CLOCK_CTRL, + clock_ctrl | CLOCK_CTRL_625_CORE); + udelay(40); + } + } else if ((orig_clock_ctrl & CLOCK_CTRL_44MHZ_CORE) != 0) { tw32_f(TG3PCI_CLOCK_CTRL, clock_ctrl | (CLOCK_CTRL_44MHZ_CORE | CLOCK_CTRL_ALTCLK)); @@ -980,7 +989,7 @@ static int tg3_set_power_state(struct tg3 *tp, int state) tp->link_config.orig_autoneg = tp->link_config.autoneg; } - if (tp->phy_id != PHY_ID_SERDES) { + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) { tp->link_config.speed = SPEED_10; tp->link_config.duplex = DUPLEX_HALF; tp->link_config.autoneg = AUTONEG_ENABLE; @@ -992,7 +1001,7 @@ static int tg3_set_power_state(struct tg3 *tp, int state) if (tp->tg3_flags & TG3_FLAG_WOL_ENABLE) { u32 mac_mode; - if (tp->phy_id != PHY_ID_SERDES) { + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) { tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x5a); udelay(40); @@ -1114,29 +1123,33 @@ static void tg3_setup_flow_control(struct tg3 *tp, u32 local_adv, u32 remote_adv u32 old_rx_mode = tp->rx_mode; u32 old_tx_mode = tp->tx_mode; - if (local_adv & ADVERTISE_PAUSE_CAP) { - if (local_adv & ADVERTISE_PAUSE_ASYM) { - if (remote_adv & LPA_PAUSE_CAP) - new_tg3_flags |= - (TG3_FLAG_RX_PAUSE | - TG3_FLAG_TX_PAUSE); - else if (remote_adv & LPA_PAUSE_ASYM) - new_tg3_flags |= - (TG3_FLAG_RX_PAUSE); - } else { - if (remote_adv & LPA_PAUSE_CAP) - new_tg3_flags |= - (TG3_FLAG_RX_PAUSE | - TG3_FLAG_TX_PAUSE); + if (tp->tg3_flags & TG3_FLAG_PAUSE_AUTONEG) { + if (local_adv & ADVERTISE_PAUSE_CAP) { + if (local_adv & ADVERTISE_PAUSE_ASYM) { + if (remote_adv & LPA_PAUSE_CAP) + new_tg3_flags |= + (TG3_FLAG_RX_PAUSE | + TG3_FLAG_TX_PAUSE); + else if (remote_adv & LPA_PAUSE_ASYM) + new_tg3_flags |= + (TG3_FLAG_RX_PAUSE); + } else { + if (remote_adv & LPA_PAUSE_CAP) + new_tg3_flags |= + (TG3_FLAG_RX_PAUSE | + TG3_FLAG_TX_PAUSE); + } + } else if (local_adv & ADVERTISE_PAUSE_ASYM) { + if ((remote_adv & LPA_PAUSE_CAP) && + (remote_adv & LPA_PAUSE_ASYM)) + new_tg3_flags |= TG3_FLAG_TX_PAUSE; } - } else if (local_adv & ADVERTISE_PAUSE_ASYM) { - if ((remote_adv & LPA_PAUSE_CAP) && - (remote_adv & LPA_PAUSE_ASYM)) - new_tg3_flags |= TG3_FLAG_TX_PAUSE; - } - tp->tg3_flags &= ~(TG3_FLAG_RX_PAUSE | TG3_FLAG_TX_PAUSE); - tp->tg3_flags |= new_tg3_flags; + tp->tg3_flags &= ~(TG3_FLAG_RX_PAUSE | TG3_FLAG_TX_PAUSE); + tp->tg3_flags |= new_tg3_flags; + } else { + new_tg3_flags = tp->tg3_flags; + } if (new_tg3_flags & TG3_FLAG_RX_PAUSE) tp->rx_mode |= RX_MODE_FLOW_CTRL_ENABLE; @@ -1487,6 +1500,18 @@ static int tg3_setup_copper_phy(struct tg3 *tp, int force_reset) current_speed = SPEED_INVALID; current_duplex = DUPLEX_INVALID; + if (tp->tg3_flags2 & TG3_FLG2_CAPACITIVE_COUPLING) { + u32 val; + + tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x4007); + tg3_readphy(tp, MII_TG3_AUX_CTRL, &val); + if (!(val & (1 << 10))) { + val |= (1 << 10); + tg3_writephy(tp, MII_TG3_AUX_CTRL, val); + goto relink; + } + } + bmsr = 0; for (i = 0; i < 100; i++) { tg3_readphy(tp, MII_BMSR, &bmsr); @@ -1566,7 +1591,7 @@ static int tg3_setup_copper_phy(struct tg3 *tp, int force_reset) tg3_setup_flow_control(tp, local_adv, remote_adv); } } - +relink: if (current_link_up == 0) { u32 tmp; @@ -1616,7 +1641,7 @@ static int tg3_setup_copper_phy(struct tg3 *tp, int force_reset) tw32_f(MAC_MODE, tp->mac_mode); udelay(40); - if (tp->tg3_flags & (TG3_FLAG_USE_LINKCHG_REG | TG3_FLAG_POLL_SERDES)) { + if (tp->tg3_flags & TG3_FLAG_USE_LINKCHG_REG) { /* Polled via timer. */ tw32_f(MAC_EVENT, 0); } else { @@ -1965,190 +1990,327 @@ static int tg3_fiber_aneg_smachine(struct tg3 *tp, static int fiber_autoneg(struct tg3 *tp, u32 *flags) { int res = 0; + struct tg3_fiber_aneginfo aninfo; + int status = ANEG_FAILED; + unsigned int tick; + u32 tmp; - if (tp->tg3_flags2 & TG3_FLG2_HW_AUTONEG) { - u32 dig_status; + tw32_f(MAC_TX_AUTO_NEG, 0); - dig_status = tr32(SG_DIG_STATUS); - *flags = 0; - if (dig_status & SG_DIG_PARTNER_ASYM_PAUSE) - *flags |= MR_LP_ADV_ASYM_PAUSE; - if (dig_status & SG_DIG_PARTNER_PAUSE_CAPABLE) - *flags |= MR_LP_ADV_SYM_PAUSE; + tmp = tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK; + tw32_f(MAC_MODE, tmp | MAC_MODE_PORT_MODE_GMII); + udelay(40); - if ((dig_status & SG_DIG_AUTONEG_COMPLETE) && - !(dig_status & (SG_DIG_AUTONEG_ERROR | - SG_DIG_PARTNER_FAULT_MASK))) - res = 1; - } else { - struct tg3_fiber_aneginfo aninfo; - int status = ANEG_FAILED; - unsigned int tick; - u32 tmp; + tw32_f(MAC_MODE, tp->mac_mode | MAC_MODE_SEND_CONFIGS); + udelay(40); - tw32_f(MAC_TX_AUTO_NEG, 0); + memset(&aninfo, 0, sizeof(aninfo)); + aninfo.flags |= MR_AN_ENABLE; + aninfo.state = ANEG_STATE_UNKNOWN; + aninfo.cur_time = 0; + tick = 0; + while (++tick < 195000) { + status = tg3_fiber_aneg_smachine(tp, &aninfo); + if (status == ANEG_DONE || status == ANEG_FAILED) + break; - tmp = tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK; - tw32_f(MAC_MODE, tmp | MAC_MODE_PORT_MODE_GMII); - udelay(40); + udelay(1); + } - tw32_f(MAC_MODE, tp->mac_mode | MAC_MODE_SEND_CONFIGS); - udelay(40); + tp->mac_mode &= ~MAC_MODE_SEND_CONFIGS; + tw32_f(MAC_MODE, tp->mac_mode); + udelay(40); - memset(&aninfo, 0, sizeof(aninfo)); - aninfo.flags |= MR_AN_ENABLE; - aninfo.state = ANEG_STATE_UNKNOWN; - aninfo.cur_time = 0; - tick = 0; - while (++tick < 195000) { - status = tg3_fiber_aneg_smachine(tp, &aninfo); - if (status == ANEG_DONE || status == ANEG_FAILED) - break; + *flags = aninfo.flags; - udelay(1); - } + if (status == ANEG_DONE && + (aninfo.flags & (MR_AN_COMPLETE | MR_LINK_OK | + MR_LP_ADV_FULL_DUPLEX))) + res = 1; - tp->mac_mode &= ~MAC_MODE_SEND_CONFIGS; - tw32_f(MAC_MODE, tp->mac_mode); - udelay(40); + return res; +} - *flags = aninfo.flags; +static void tg3_init_bcm8002(struct tg3 *tp) +{ + u32 mac_status = tr32(MAC_STATUS); + int i; - if (status == ANEG_DONE && - (aninfo.flags & (MR_AN_COMPLETE | MR_LINK_OK | - MR_LP_ADV_FULL_DUPLEX))) - res = 1; - } + /* Reset when initting first time or we have a link. */ + if ((tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) && + !(mac_status & MAC_STATUS_PCS_SYNCED)) + return; - return res; + /* Set PLL lock range. */ + tg3_writephy(tp, 0x16, 0x8007); + + /* SW reset */ + tg3_writephy(tp, MII_BMCR, BMCR_RESET); + + /* Wait for reset to complete. */ + /* XXX schedule_timeout() ... */ + for (i = 0; i < 500; i++) + udelay(10); + + /* Config mode; select PMA/Ch 1 regs. */ + tg3_writephy(tp, 0x10, 0x8411); + + /* Enable auto-lock and comdet, select txclk for tx. */ + tg3_writephy(tp, 0x11, 0x0a10); + + tg3_writephy(tp, 0x18, 0x00a0); + tg3_writephy(tp, 0x16, 0x41ff); + + /* Assert and deassert POR. */ + tg3_writephy(tp, 0x13, 0x0400); + udelay(40); + tg3_writephy(tp, 0x13, 0x0000); + + tg3_writephy(tp, 0x11, 0x0a50); + udelay(40); + tg3_writephy(tp, 0x11, 0x0a10); + + /* Wait for signal to stabilize */ + /* XXX schedule_timeout() ... */ + for (i = 0; i < 15000; i++) + udelay(10); + + /* Deselect the channel register so we can read the PHYID + * later. + */ + tg3_writephy(tp, 0x10, 0x8011); } -static int tg3_setup_fiber_phy(struct tg3 *tp, int force_reset) +static int tg3_setup_fiber_hw_autoneg(struct tg3 *tp, u32 mac_status) { - u32 orig_pause_cfg; - u16 orig_active_speed; - u8 orig_active_duplex; + u32 sg_dig_ctrl, sg_dig_status; + u32 serdes_cfg, expected_sg_dig_ctrl; + int workaround, port_a; int current_link_up; - int i; - orig_pause_cfg = - (tp->tg3_flags & (TG3_FLAG_RX_PAUSE | - TG3_FLAG_TX_PAUSE)); - orig_active_speed = tp->link_config.active_speed; - orig_active_duplex = tp->link_config.active_duplex; + serdes_cfg = 0; + expected_sg_dig_ctrl = 0; + workaround = 0; + port_a = 1; + current_link_up = 0; - tp->mac_mode &= ~(MAC_MODE_PORT_MODE_MASK | MAC_MODE_HALF_DUPLEX); - tp->mac_mode |= MAC_MODE_PORT_MODE_TBI; - tw32_f(MAC_MODE, tp->mac_mode); - udelay(40); + if (tp->pci_chip_rev_id != CHIPREV_ID_5704_A0 && + tp->pci_chip_rev_id != CHIPREV_ID_5704_A1) { + workaround = 1; + if (tr32(TG3PCI_DUAL_MAC_CTRL) & DUAL_MAC_CTRL_ID) + port_a = 0; - if (tp->tg3_flags2 & TG3_FLG2_HW_AUTONEG) { - /* Allow time for the hardware to auto-negotiate (195ms) */ - unsigned int tick = 0; + serdes_cfg = tr32(MAC_SERDES_CFG) & + ((1 << 23) | (1 << 22) | (1 << 21) | (1 << 20)); + } - while (++tick < 195000) { - if (tr32(SG_DIG_STATUS) & SG_DIG_AUTONEG_COMPLETE) - break; - udelay(1); + sg_dig_ctrl = tr32(SG_DIG_CTRL); + + if (tp->link_config.autoneg != AUTONEG_ENABLE) { + if (sg_dig_ctrl & (1 << 31)) { + if (workaround) { + u32 val = serdes_cfg; + + if (port_a) + val |= 0xc010880; + else + val |= 0x4010880; + tw32_f(MAC_SERDES_CFG, val); + } + tw32_f(SG_DIG_CTRL, 0x01388400); } - if (tick >= 195000) - printk(KERN_INFO PFX "%s: HW autoneg failed !\n", - tp->dev->name); + if (mac_status & MAC_STATUS_PCS_SYNCED) { + tg3_setup_flow_control(tp, 0, 0); + current_link_up = 1; + } + goto out; } - /* Reset when initting first time or we have a link. */ - if (!(tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) || - (tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED)) { - /* Set PLL lock range. */ - tg3_writephy(tp, 0x16, 0x8007); + /* Want auto-negotiation. */ + expected_sg_dig_ctrl = 0x81388400; - /* SW reset */ - tg3_writephy(tp, MII_BMCR, BMCR_RESET); + /* Pause capability */ + expected_sg_dig_ctrl |= (1 << 11); - /* Wait for reset to complete. */ - /* XXX schedule_timeout() ... */ - for (i = 0; i < 500; i++) - udelay(10); + /* Asymettric pause */ + expected_sg_dig_ctrl |= (1 << 12); - /* Config mode; select PMA/Ch 1 regs. */ - tg3_writephy(tp, 0x10, 0x8411); + if (sg_dig_ctrl != expected_sg_dig_ctrl) { + if (workaround) + tw32_f(MAC_SERDES_CFG, serdes_cfg | 0xc011880); + tw32_f(SG_DIG_CTRL, expected_sg_dig_ctrl | (1 << 30)); + udelay(5); + tw32_f(SG_DIG_CTRL, expected_sg_dig_ctrl); - /* Enable auto-lock and comdet, select txclk for tx. */ - tg3_writephy(tp, 0x11, 0x0a10); + tp->tg3_flags2 |= TG3_FLG2_PHY_JUST_INITTED; + } else if (mac_status & (MAC_STATUS_PCS_SYNCED | + MAC_STATUS_SIGNAL_DET)) { + int i; - tg3_writephy(tp, 0x18, 0x00a0); - tg3_writephy(tp, 0x16, 0x41ff); + /* Giver time to negotiate (~200ms) */ + for (i = 0; i < 40000; i++) { + sg_dig_status = tr32(SG_DIG_STATUS); + if (sg_dig_status & (0x3)) + break; + udelay(5); + } + mac_status = tr32(MAC_STATUS); - /* Assert and deassert POR. */ - tg3_writephy(tp, 0x13, 0x0400); - udelay(40); - tg3_writephy(tp, 0x13, 0x0000); + if ((sg_dig_status & (1 << 1)) && + (mac_status & MAC_STATUS_PCS_SYNCED)) { + u32 local_adv, remote_adv; - tg3_writephy(tp, 0x11, 0x0a50); - udelay(40); - tg3_writephy(tp, 0x11, 0x0a10); + local_adv = ADVERTISE_PAUSE_CAP; + remote_adv = 0; + if (sg_dig_status & (1 << 19)) + remote_adv |= LPA_PAUSE_CAP; + if (sg_dig_status & (1 << 20)) + remote_adv |= LPA_PAUSE_ASYM; - /* Wait for signal to stabilize */ - /* XXX schedule_timeout() ... */ - for (i = 0; i < 15000; i++) - udelay(10); + tg3_setup_flow_control(tp, local_adv, remote_adv); + current_link_up = 1; + tp->tg3_flags2 &= ~TG3_FLG2_PHY_JUST_INITTED; + } else if (!(sg_dig_status & (1 << 1))) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_JUST_INITTED) + tp->tg3_flags2 &= ~TG3_FLG2_PHY_JUST_INITTED; + else { + if (workaround) { + u32 val = serdes_cfg; + + if (port_a) + val |= 0xc010880; + else + val |= 0x4010880; + + tw32_f(MAC_SERDES_CFG, val); + } - /* Deselect the channel register so we can read the PHYID - * later. - */ - tg3_writephy(tp, 0x10, 0x8011); + tw32_f(SG_DIG_CTRL, 0x01388400); + udelay(40); + + mac_status = tr32(MAC_STATUS); + if (mac_status & MAC_STATUS_PCS_SYNCED) { + tg3_setup_flow_control(tp, 0, 0); + current_link_up = 1; + } + } + } } - /* Enable link change interrupt unless serdes polling. */ - if (!(tp->tg3_flags & TG3_FLAG_POLL_SERDES)) - tw32_f(MAC_EVENT, MAC_EVENT_LNKSTATE_CHANGED); - else - tw32_f(MAC_EVENT, 0); - udelay(40); +out: + return current_link_up; +} - current_link_up = 0; - if (tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED) { - if (tp->link_config.autoneg == AUTONEG_ENABLE) { - u32 flags; +static int tg3_setup_fiber_by_hand(struct tg3 *tp, u32 mac_status) +{ + int current_link_up = 0; + + if (!(mac_status & MAC_STATUS_PCS_SYNCED)) { + tp->tg3_flags &= ~TG3_FLAG_GOT_SERDES_FLOWCTL; + goto out; + } + + if (tp->link_config.autoneg == AUTONEG_ENABLE) { + u32 flags; + int i; - if (fiber_autoneg(tp, &flags)) { - u32 local_adv, remote_adv; + if (fiber_autoneg(tp, &flags)) { + u32 local_adv, remote_adv; - local_adv = ADVERTISE_PAUSE_CAP; - remote_adv = 0; - if (flags & MR_LP_ADV_SYM_PAUSE) - remote_adv |= LPA_PAUSE_CAP; - if (flags & MR_LP_ADV_ASYM_PAUSE) - remote_adv |= LPA_PAUSE_ASYM; + local_adv = ADVERTISE_PAUSE_CAP; + remote_adv = 0; + if (flags & MR_LP_ADV_SYM_PAUSE) + remote_adv |= LPA_PAUSE_CAP; + if (flags & MR_LP_ADV_ASYM_PAUSE) + remote_adv |= LPA_PAUSE_ASYM; - tg3_setup_flow_control(tp, local_adv, remote_adv); + tg3_setup_flow_control(tp, local_adv, remote_adv); - tp->tg3_flags |= - TG3_FLAG_GOT_SERDES_FLOWCTL; - current_link_up = 1; - } - for (i = 0; i < 60; i++) { - udelay(20); - tw32_f(MAC_STATUS, - (MAC_STATUS_SYNC_CHANGED | - MAC_STATUS_CFG_CHANGED)); - udelay(40); - if ((tr32(MAC_STATUS) & - (MAC_STATUS_SYNC_CHANGED | - MAC_STATUS_CFG_CHANGED)) == 0) - break; - } - if (current_link_up == 0 && - (tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED)) { - current_link_up = 1; - } - } else { - /* Forcing 1000FD link up. */ - current_link_up = 1; tp->tg3_flags |= TG3_FLAG_GOT_SERDES_FLOWCTL; + current_link_up = 1; } - } else - tp->tg3_flags &= ~TG3_FLAG_GOT_SERDES_FLOWCTL; + for (i = 0; i < 30; i++) { + udelay(20); + tw32_f(MAC_STATUS, + (MAC_STATUS_SYNC_CHANGED | + MAC_STATUS_CFG_CHANGED)); + udelay(40); + if ((tr32(MAC_STATUS) & + (MAC_STATUS_SYNC_CHANGED | + MAC_STATUS_CFG_CHANGED)) == 0) + break; + } + + mac_status = tr32(MAC_STATUS); + if (current_link_up == 0 && + (mac_status & MAC_STATUS_PCS_SYNCED) && + !(mac_status & MAC_STATUS_RCVD_CFG)) + current_link_up = 1; + } else { + /* Forcing 1000FD link up. */ + current_link_up = 1; + tp->tg3_flags |= TG3_FLAG_GOT_SERDES_FLOWCTL; + + tw32_f(MAC_MODE, (tp->mac_mode | MAC_MODE_SEND_CONFIGS)); + udelay(40); + } + +out: + return current_link_up; +} + +static int tg3_setup_fiber_phy(struct tg3 *tp, int force_reset) +{ + u32 orig_pause_cfg; + u16 orig_active_speed; + u8 orig_active_duplex; + u32 mac_status; + int current_link_up; + int i; + + orig_pause_cfg = + (tp->tg3_flags & (TG3_FLAG_RX_PAUSE | + TG3_FLAG_TX_PAUSE)); + orig_active_speed = tp->link_config.active_speed; + orig_active_duplex = tp->link_config.active_duplex; + + if (!(tp->tg3_flags2 & TG3_FLG2_HW_AUTONEG) && + netif_carrier_ok(tp->dev) && + (tp->tg3_flags & TG3_FLAG_INIT_COMPLETE)) { + mac_status = tr32(MAC_STATUS); + mac_status &= (MAC_STATUS_PCS_SYNCED | + MAC_STATUS_SIGNAL_DET | + MAC_STATUS_CFG_CHANGED | + MAC_STATUS_RCVD_CFG); + if (mac_status == (MAC_STATUS_PCS_SYNCED | + MAC_STATUS_SIGNAL_DET)) { + tw32_f(MAC_STATUS, (MAC_STATUS_SYNC_CHANGED | + MAC_STATUS_CFG_CHANGED)); + return 0; + } + } + + tw32_f(MAC_TX_AUTO_NEG, 0); + + tp->mac_mode &= ~(MAC_MODE_PORT_MODE_MASK | MAC_MODE_HALF_DUPLEX); + tp->mac_mode |= MAC_MODE_PORT_MODE_TBI; + tw32_f(MAC_MODE, tp->mac_mode); + udelay(40); + + if (tp->phy_id == PHY_ID_BCM8002) + tg3_init_bcm8002(tp); + + /* Enable link change event even when serdes polling. */ + tw32_f(MAC_EVENT, MAC_EVENT_LNKSTATE_CHANGED); + udelay(40); + + current_link_up = 0; + mac_status = tr32(MAC_STATUS); + + if (tp->tg3_flags2 & TG3_FLG2_HW_AUTONEG) + current_link_up = tg3_setup_fiber_hw_autoneg(tp, mac_status); + else + current_link_up = tg3_setup_fiber_by_hand(tp, mac_status); tp->mac_mode &= ~MAC_MODE_LINK_POLARITY; tw32_f(MAC_MODE, tp->mac_mode); @@ -2159,19 +2321,24 @@ static int tg3_setup_fiber_phy(struct tg3 *tp, int force_reset) (tp->hw_status->status & ~SD_STATUS_LINK_CHG)); for (i = 0; i < 100; i++) { - udelay(20); - tw32_f(MAC_STATUS, - (MAC_STATUS_SYNC_CHANGED | - MAC_STATUS_CFG_CHANGED)); - udelay(40); - if ((tr32(MAC_STATUS) & - (MAC_STATUS_SYNC_CHANGED | - MAC_STATUS_CFG_CHANGED)) == 0) + tw32_f(MAC_STATUS, (MAC_STATUS_SYNC_CHANGED | + MAC_STATUS_CFG_CHANGED)); + udelay(5); + if ((tr32(MAC_STATUS) & (MAC_STATUS_SYNC_CHANGED | + MAC_STATUS_CFG_CHANGED)) == 0) break; } - if ((tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED) == 0) + mac_status = tr32(MAC_STATUS); + if ((mac_status & MAC_STATUS_PCS_SYNCED) == 0) { current_link_up = 0; + if (tp->link_config.autoneg == AUTONEG_ENABLE) { + tw32_f(MAC_MODE, (tp->mac_mode | + MAC_MODE_SEND_CONFIGS)); + udelay(1); + tw32_f(MAC_MODE, tp->mac_mode); + } + } if (current_link_up == 1) { tp->link_config.active_speed = SPEED_1000; @@ -2203,15 +2370,6 @@ static int tg3_setup_fiber_phy(struct tg3 *tp, int force_reset) tg3_link_report(tp); } - if ((tr32(MAC_STATUS) & MAC_STATUS_PCS_SYNCED) == 0) { - tw32_f(MAC_MODE, tp->mac_mode | MAC_MODE_LINK_POLARITY); - udelay(40); - if (tp->tg3_flags & TG3_FLAG_INIT_COMPLETE) { - tw32_f(MAC_MODE, tp->mac_mode); - udelay(40); - } - } - return 0; } @@ -2219,7 +2377,7 @@ static int tg3_setup_phy(struct tg3 *tp, int force_reset) { int err; - if (tp->phy_id == PHY_ID_SERDES) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) { err = tg3_setup_fiber_phy(tp, force_reset); } else { err = tg3_setup_copper_phy(tp, force_reset); @@ -2738,11 +2896,11 @@ static void tg3_reset_task(void *_data) tg3_halt(tp); tg3_init_hw(tp); + tg3_netif_start(tp); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - tg3_netif_start(tp); - if (restart_timer) mod_timer(&tp->timer, jiffies + 1); } @@ -2812,6 +2970,7 @@ static void tg3_set_txd(struct tg3 *tp, int entry, dma_addr_t mapping, int len, u32 flags, u32 mss_and_is_end) { + struct tg3_tx_buffer_desc *txd = &tp->tx_ring[entry]; int is_end = (mss_and_is_end & 0x1); u32 mss = (mss_and_is_end >> 1); u32 vlan_tag = 0; @@ -2823,35 +2982,11 @@ static void tg3_set_txd(struct tg3 *tp, int entry, flags &= 0xffff; } vlan_tag |= (mss << TXD_MSS_SHIFT); - if (tp->tg3_flags & TG3_FLAG_HOST_TXDS) { - struct tg3_tx_buffer_desc *txd = &tp->tx_ring[entry]; - txd->addr_hi = ((u64) mapping >> 32); - txd->addr_lo = ((u64) mapping & 0xffffffff); - txd->len_flags = (len << TXD_LEN_SHIFT) | flags; - txd->vlan_tag = vlan_tag << TXD_VLAN_TAG_SHIFT; - } else { - struct tx_ring_info *txr = &tp->tx_buffers[entry]; - unsigned long txd; - - txd = (tp->regs + - NIC_SRAM_WIN_BASE + - NIC_SRAM_TX_BUFFER_DESC); - txd += (entry * TXD_SIZE); - - /* Save some PIOs */ - if (sizeof(dma_addr_t) != sizeof(u32)) - writel(((u64) mapping >> 32), - txd + TXD_ADDR + TG3_64BIT_REG_HIGH); - - writel(((u64) mapping & 0xffffffff), - txd + TXD_ADDR + TG3_64BIT_REG_LOW); - writel(len << TXD_LEN_SHIFT | flags, txd + TXD_LEN_FLAGS); - if (txr->prev_vlan_tag != vlan_tag) { - writel(vlan_tag << TXD_VLAN_TAG_SHIFT, txd + TXD_VLAN_TAG); - txr->prev_vlan_tag = vlan_tag; - } - } + txd->addr_hi = ((u64) mapping >> 32); + txd->addr_lo = ((u64) mapping & 0xffffffff); + txd->len_flags = (len << TXD_LEN_SHIFT) | flags; + txd->vlan_tag = vlan_tag << TXD_VLAN_TAG_SHIFT; } static inline int tg3_4g_overflow_test(dma_addr_t mapping, int len) @@ -2892,7 +3027,11 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev) * So we really do need to disable interrupts when taking * tx_lock here. */ - spin_lock_irqsave(&tp->tx_lock, flags); + local_irq_save(flags); + if (!spin_trylock(&tp->tx_lock)) { + local_irq_restore(flags); + return NETDEV_TX_LOCKED; + } /* This is a hard error, log it. */ if (unlikely(TX_BUFFS_AVAIL(tp) <= (skb_shinfo(skb)->nr_frags + 1))) { @@ -2900,7 +3039,7 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev) spin_unlock_irqrestore(&tp->tx_lock, flags); printk(KERN_ERR PFX "%s: BUG! Tx Ring full when queue awake!\n", dev->name); - return 1; + return NETDEV_TX_BUSY; } entry = tp->tx_prod; @@ -3040,19 +3179,7 @@ static int tg3_start_xmit(struct sk_buff *skb, struct net_device *dev) } /* Packets are ready, update Tx producer idx local and on card. */ - if (tp->tg3_flags & TG3_FLAG_HOST_TXDS) { - tw32_tx_mbox((MAILBOX_SNDHOST_PROD_IDX_0 + - TG3_64BIT_REG_LOW), entry); - } else { - /* First, make sure tg3 sees last descriptor fully - * in SRAM. - */ - if (tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER) - tr32(MAILBOX_SNDNIC_PROD_IDX_0 + TG3_64BIT_REG_LOW); - - tw32_tx_mbox((MAILBOX_SNDNIC_PROD_IDX_0 + - TG3_64BIT_REG_LOW), entry); - } + tw32_tx_mbox((MAILBOX_SNDHOST_PROD_IDX_0 + TG3_64BIT_REG_LOW), entry); tp->tx_prod = entry; if (TX_BUFFS_AVAIL(tp) <= (MAX_SKB_FRAGS + 1)) @@ -3063,7 +3190,7 @@ out_unlock: dev->trans_start = jiffies; - return 0; + return NETDEV_TX_OK; } static inline void tg3_set_mtu(struct net_device *dev, struct tg3 *tp, @@ -3102,9 +3229,10 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu) tg3_init_hw(tp); + tg3_netif_start(tp); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - tg3_netif_start(tp); return 0; } @@ -3190,7 +3318,6 @@ static void tg3_free_rings(struct tg3 *tp) */ static void tg3_init_rings(struct tg3 *tp) { - unsigned long start, end; u32 i; /* Free up all the SKBs. */ @@ -3200,21 +3327,7 @@ static void tg3_init_rings(struct tg3 *tp) memset(tp->rx_std, 0, TG3_RX_RING_BYTES); memset(tp->rx_jumbo, 0, TG3_RX_JUMBO_RING_BYTES); memset(tp->rx_rcb, 0, TG3_RX_RCB_RING_BYTES(tp)); - - if (tp->tg3_flags & TG3_FLAG_HOST_TXDS) { - memset(tp->tx_ring, 0, TG3_TX_RING_BYTES); - } else { - start = (tp->regs + - NIC_SRAM_WIN_BASE + - NIC_SRAM_TX_BUFFER_DESC); - end = start + TG3_TX_RING_BYTES; - while (start < end) { - writel(0, start); - start += 4; - } - for (i = 0; i < TG3_TX_RING_SIZE; i++) - tp->tx_buffers[i].prev_vlan_tag = 0; - } + memset(tp->tx_ring, 0, TG3_TX_RING_BYTES); /* Initialize invariants of the rings, we only set this * stuff once. This works because the card does not @@ -3345,15 +3458,10 @@ static int tg3_alloc_consistent(struct tg3 *tp) if (!tp->rx_rcb) goto err_out; - if (tp->tg3_flags & TG3_FLAG_HOST_TXDS) { - tp->tx_ring = pci_alloc_consistent(tp->pdev, TG3_TX_RING_BYTES, - &tp->tx_desc_mapping); - if (!tp->tx_ring) - goto err_out; - } else { - tp->tx_ring = NULL; - tp->tx_desc_mapping = 0; - } + tp->tx_ring = pci_alloc_consistent(tp->pdev, TG3_TX_RING_BYTES, + &tp->tx_desc_mapping); + if (!tp->tx_ring) + goto err_out; tp->hw_status = pci_alloc_consistent(tp->pdev, TG3_HW_STATUS_SIZE, @@ -3595,6 +3703,8 @@ static void tg3_write_sig_legacy(struct tg3 *tp, int kind) } } +static void tg3_stop_fw(struct tg3 *); + /* tp->lock is held. */ static int tg3_chip_reset(struct tg3 *tp) { @@ -3602,7 +3712,7 @@ static int tg3_chip_reset(struct tg3 *tp) u32 flags_save; int i; - if (!(tp->tg3_flags2 & TG3_FLG2_SUN_5704)) + if (!(tp->tg3_flags2 & TG3_FLG2_SUN_570X)) tg3_nvram_lock(tp); /* @@ -3697,6 +3807,11 @@ static int tg3_chip_reset(struct tg3 *tp) tw32(MEMARB_MODE, MEMARB_MODE_ENABLE); + if (tp->pci_chip_rev_id == CHIPREV_ID_5750_A3) { + tg3_stop_fw(tp); + tw32(0x5000, 0x400); + } + tw32(GRC_MODE, tp->grc_mode); if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) { @@ -3713,7 +3828,7 @@ static int tg3_chip_reset(struct tg3 *tp) tw32(TG3PCI_CLOCK_CTRL, tp->pci_clock_ctrl); } - if (tp->phy_id == PHY_ID_SERDES) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) { tp->mac_mode = MAC_MODE_PORT_MODE_TBI; tw32_f(MAC_MODE, tp->mac_mode); } else @@ -3728,7 +3843,7 @@ static int tg3_chip_reset(struct tg3 *tp) udelay(10); } if (i >= 100000 && - !(tp->tg3_flags2 & TG3_FLG2_SUN_5704)) { + !(tp->tg3_flags2 & TG3_FLG2_SUN_570X)) { printk(KERN_ERR PFX "tg3_reset_hw timed out for %s, " "firmware will not restart magic=%08x\n", tp->dev->name, val); @@ -4810,10 +4925,7 @@ static int tg3_reset_hw(struct tg3 *tp) GRC_MODE_4X_NIC_SEND_RINGS | GRC_MODE_NO_TX_PHDR_CSUM | GRC_MODE_NO_RX_PHDR_CSUM); - if (tp->tg3_flags & TG3_FLAG_HOST_TXDS) - tp->grc_mode |= GRC_MODE_HOST_SENDBDS; - else - tp->grc_mode |= GRC_MODE_4X_NIC_SEND_RINGS; + tp->grc_mode |= GRC_MODE_HOST_SENDBDS; if (tp->tg3_flags & TG3_FLAG_NO_TX_PSEUDO_CSUM) tp->grc_mode |= GRC_MODE_NO_TX_PHDR_CSUM; if (tp->tg3_flags & TG3_FLAG_NO_RX_PSEUDO_CSUM) @@ -4966,18 +5078,11 @@ static int tg3_reset_hw(struct tg3 *tp) tw32_mailbox(MAILBOX_SNDHOST_PROD_IDX_0 + TG3_64BIT_REG_LOW, 0); tw32_tx_mbox(MAILBOX_SNDNIC_PROD_IDX_0 + TG3_64BIT_REG_LOW, 0); - if (tp->tg3_flags & TG3_FLAG_HOST_TXDS) { - tg3_set_bdinfo(tp, NIC_SRAM_SEND_RCB, - tp->tx_desc_mapping, - (TG3_TX_RING_SIZE << - BDINFO_FLAGS_MAXLEN_SHIFT), - NIC_SRAM_TX_BUFFER_DESC); - } else { - tg3_set_bdinfo(tp, NIC_SRAM_SEND_RCB, - 0, - BDINFO_FLAGS_DISABLED, - NIC_SRAM_TX_BUFFER_DESC); - } + tg3_set_bdinfo(tp, NIC_SRAM_SEND_RCB, + tp->tx_desc_mapping, + (TG3_TX_RING_SIZE << + BDINFO_FLAGS_MAXLEN_SHIFT), + NIC_SRAM_TX_BUFFER_DESC); /* There is only one receive return ring on 5705/5750, no need * to explicitly disable the others. @@ -5243,14 +5348,14 @@ static int tg3_reset_hw(struct tg3 *tp) tw32(MAC_LED_CTRL, tp->led_ctrl); tw32(MAC_MI_STAT, MAC_MI_STAT_LNKSTAT_ATTN_ENAB); - if (tp->phy_id == PHY_ID_SERDES) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) { tw32_f(MAC_RX_MODE, RX_MODE_RESET); udelay(10); } tw32_f(MAC_RX_MODE, tp->rx_mode); udelay(10); - if (tp->phy_id == PHY_ID_SERDES) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) { if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704) { /* Set drive transmission level to 1.2V */ val = tr32(MAC_SERDES_CFG); @@ -5268,22 +5373,8 @@ static int tg3_reset_hw(struct tg3 *tp) tw32_f(MAC_LOW_WMARK_MAX_RX_FRAME, 2); if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 && - tp->phy_id == PHY_ID_SERDES) { - /* Enable hardware link auto-negotiation */ - u32 digctrl, txctrl; - - digctrl = SG_DIG_USING_HW_AUTONEG | SG_DIG_CRC16_CLEAR_N | - SG_DIG_LOCAL_DUPLEX_STATUS | SG_DIG_LOCAL_LINK_STATUS | - (2 << SG_DIG_SPEED_STATUS_SHIFT) | SG_DIG_FIBER_MODE | - SG_DIG_GBIC_ENABLE; - - txctrl = tr32(MAC_SERDES_CFG); - tw32_f(MAC_SERDES_CFG, txctrl | MAC_SERDES_CFG_EDGE_SELECT); - tw32_f(SG_DIG_CTRL, digctrl | SG_DIG_SOFT_RESET); - tr32(SG_DIG_CTRL); - udelay(5); - tw32_f(SG_DIG_CTRL, digctrl); - + (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) { + /* Use hardware link auto-negotiation */ tp->tg3_flags2 |= TG3_FLG2_HW_AUTONEG; } @@ -5291,7 +5382,7 @@ static int tg3_reset_hw(struct tg3 *tp) if (err) return err; - if (tp->phy_id != PHY_ID_SERDES) { + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) { u32 tmp; /* Clear CRC stats. */ @@ -5483,7 +5574,8 @@ static void tg3_timer(unsigned long __opaque) need_setup = 1; } if (! netif_carrier_ok(tp->dev) && - (mac_stat & MAC_STATUS_PCS_SYNCED)) { + (mac_stat & (MAC_STATUS_PCS_SYNCED | + MAC_STATUS_SIGNAL_DET))) { need_setup = 1; } if (need_setup) { @@ -5536,8 +5628,8 @@ static int tg3_open(struct net_device *dev) spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - /* If you move this call, make sure TG3_FLAG_HOST_TXDS in - * tp->tg3_flags is accurate at that new place. + /* The placement of this call is tied + * to the setup and use of Host TX descriptors. */ err = tg3_alloc_consistent(tp); if (err) @@ -5879,7 +5971,7 @@ static unsigned long calc_crc_errors(struct tg3 *tp) { struct tg3_hw_stats *hw_stats = tp->hw_stats; - if (tp->phy_id != PHY_ID_SERDES && + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) && (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700 || GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)) { unsigned long flags; @@ -6152,7 +6244,9 @@ static void tg3_set_rx_mode(struct net_device *dev) struct tg3 *tp = netdev_priv(dev); spin_lock_irq(&tp->lock); + spin_lock(&tp->tx_lock); __tg3_set_rx_mode(dev); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); } @@ -6310,7 +6404,7 @@ static int tg3_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) cmd->supported |= (SUPPORTED_1000baseT_Half | SUPPORTED_1000baseT_Full); - if (tp->phy_id != PHY_ID_SERDES) + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) cmd->supported |= (SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full | SUPPORTED_10baseT_Half | @@ -6339,7 +6433,7 @@ static int tg3_set_settings(struct net_device *dev, struct ethtool_cmd *cmd) tp->link_config.phy_is_low_power) return -EAGAIN; - if (tp->phy_id == PHY_ID_SERDES) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) { /* These are the only valid advertisement bits allowed. */ if (cmd->autoneg == AUTONEG_ENABLE && (cmd->advertising & ~(ADVERTISED_1000baseT_Half | @@ -6397,7 +6491,7 @@ static int tg3_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) if (wol->wolopts & ~WAKE_MAGIC) return -EINVAL; if ((wol->wolopts & WAKE_MAGIC) && - tp->phy_id == PHY_ID_SERDES && + tp->tg3_flags2 & TG3_FLG2_PHY_SERDES && !(tp->tg3_flags & TG3_FLAG_SERDES_WOL_CAP)) return -EINVAL; @@ -6493,10 +6587,9 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *e tg3_halt(tp); tg3_init_hw(tp); - netif_wake_queue(tp->dev); + tg3_netif_start(tp); spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - tg3_netif_start(tp); return 0; } @@ -6506,8 +6599,8 @@ static void tg3_get_pauseparam(struct net_device *dev, struct ethtool_pauseparam struct tg3 *tp = netdev_priv(dev); epause->autoneg = (tp->tg3_flags & TG3_FLAG_PAUSE_AUTONEG) != 0; - epause->rx_pause = (tp->tg3_flags & TG3_FLAG_PAUSE_RX) != 0; - epause->tx_pause = (tp->tg3_flags & TG3_FLAG_PAUSE_TX) != 0; + epause->rx_pause = (tp->tg3_flags & TG3_FLAG_RX_PAUSE) != 0; + epause->tx_pause = (tp->tg3_flags & TG3_FLAG_TX_PAUSE) != 0; } static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam *epause) @@ -6522,18 +6615,18 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam else tp->tg3_flags &= ~TG3_FLAG_PAUSE_AUTONEG; if (epause->rx_pause) - tp->tg3_flags |= TG3_FLAG_PAUSE_RX; + tp->tg3_flags |= TG3_FLAG_RX_PAUSE; else - tp->tg3_flags &= ~TG3_FLAG_PAUSE_RX; + tp->tg3_flags &= ~TG3_FLAG_RX_PAUSE; if (epause->tx_pause) - tp->tg3_flags |= TG3_FLAG_PAUSE_TX; + tp->tg3_flags |= TG3_FLAG_TX_PAUSE; else - tp->tg3_flags &= ~TG3_FLAG_PAUSE_TX; + tp->tg3_flags &= ~TG3_FLAG_TX_PAUSE; tg3_halt(tp); tg3_init_hw(tp); + tg3_netif_start(tp); spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - tg3_netif_start(tp); return 0; } @@ -6620,7 +6713,7 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) case SIOCGMIIREG: { u32 mii_regval; - if (tp->phy_id == PHY_ID_SERDES) + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) break; /* We have no PHY */ spin_lock_irq(&tp->lock); @@ -6633,7 +6726,7 @@ static int tg3_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) } case SIOCSMIIREG: - if (tp->phy_id == PHY_ID_SERDES) + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) break; /* We have no PHY */ if (!capable(CAP_NET_ADMIN)) @@ -6720,7 +6813,7 @@ static void __devinit tg3_nvram_init(struct tg3 *tp) { int j; - if (tp->tg3_flags2 & TG3_FLG2_SUN_5704) + if (tp->tg3_flags2 & TG3_FLG2_SUN_570X) return; tw32_f(GRC_EEPROM_ADDR, @@ -6807,8 +6900,8 @@ static int __devinit tg3_nvram_read(struct tg3 *tp, { int i; - if (tp->tg3_flags2 & TG3_FLG2_SUN_5704) { - printk(KERN_ERR PFX "Attempt to do nvram_read on Sun 5704\n"); + if (tp->tg3_flags2 & TG3_FLG2_SUN_570X) { + printk(KERN_ERR PFX "Attempt to do nvram_read on Sun 570X\n"); return -EINVAL; } @@ -6870,10 +6963,10 @@ static struct subsys_tbl_ent subsys_id_to_phy_id[] = { { PCI_VENDOR_ID_BROADCOM, 0x1644, PHY_ID_BCM5401 }, /* BCM95700A6 */ { PCI_VENDOR_ID_BROADCOM, 0x0001, PHY_ID_BCM5701 }, /* BCM95701A5 */ { PCI_VENDOR_ID_BROADCOM, 0x0002, PHY_ID_BCM8002 }, /* BCM95700T6 */ - { PCI_VENDOR_ID_BROADCOM, 0x0003, PHY_ID_SERDES }, /* BCM95700A9 */ + { PCI_VENDOR_ID_BROADCOM, 0x0003, 0 }, /* BCM95700A9 */ { PCI_VENDOR_ID_BROADCOM, 0x0005, PHY_ID_BCM5701 }, /* BCM95701T1 */ { PCI_VENDOR_ID_BROADCOM, 0x0006, PHY_ID_BCM5701 }, /* BCM95701T8 */ - { PCI_VENDOR_ID_BROADCOM, 0x0007, PHY_ID_SERDES }, /* BCM95701A7 */ + { PCI_VENDOR_ID_BROADCOM, 0x0007, 0 }, /* BCM95701A7 */ { PCI_VENDOR_ID_BROADCOM, 0x0008, PHY_ID_BCM5701 }, /* BCM95701A10 */ { PCI_VENDOR_ID_BROADCOM, 0x8008, PHY_ID_BCM5701 }, /* BCM95701A12 */ { PCI_VENDOR_ID_BROADCOM, 0x0009, PHY_ID_BCM5703 }, /* BCM95703Ax1 */ @@ -6882,7 +6975,7 @@ static struct subsys_tbl_ent subsys_id_to_phy_id[] = { /* 3com boards. */ { PCI_VENDOR_ID_3COM, 0x1000, PHY_ID_BCM5401 }, /* 3C996T */ { PCI_VENDOR_ID_3COM, 0x1006, PHY_ID_BCM5701 }, /* 3C996BT */ - { PCI_VENDOR_ID_3COM, 0x1004, PHY_ID_SERDES }, /* 3C996SX */ + { PCI_VENDOR_ID_3COM, 0x1004, 0 }, /* 3C996SX */ { PCI_VENDOR_ID_3COM, 0x1007, PHY_ID_BCM5701 }, /* 3C1000T */ { PCI_VENDOR_ID_3COM, 0x1008, PHY_ID_BCM5701 }, /* 3C940BR01 */ @@ -6895,37 +6988,43 @@ static struct subsys_tbl_ent subsys_id_to_phy_id[] = { /* Compaq boards. */ { PCI_VENDOR_ID_COMPAQ, 0x007c, PHY_ID_BCM5701 }, /* BANSHEE */ { PCI_VENDOR_ID_COMPAQ, 0x009a, PHY_ID_BCM5701 }, /* BANSHEE_2 */ - { PCI_VENDOR_ID_COMPAQ, 0x007d, PHY_ID_SERDES }, /* CHANGELING */ + { PCI_VENDOR_ID_COMPAQ, 0x007d, 0 }, /* CHANGELING */ { PCI_VENDOR_ID_COMPAQ, 0x0085, PHY_ID_BCM5701 }, /* NC7780 */ { PCI_VENDOR_ID_COMPAQ, 0x0099, PHY_ID_BCM5701 }, /* NC7780_2 */ /* IBM boards. */ - { PCI_VENDOR_ID_IBM, 0x0281, PHY_ID_SERDES } /* IBM??? */ + { PCI_VENDOR_ID_IBM, 0x0281, 0 } /* IBM??? */ }; -static int __devinit tg3_phy_probe(struct tg3 *tp) +static inline struct subsys_tbl_ent *lookup_by_subsys(struct tg3 *tp) { - u32 eeprom_phy_id, hw_phy_id_1, hw_phy_id_2; - u32 hw_phy_id, hw_phy_id_masked; - u32 val; - int i, eeprom_signature_found, err; + int i; - tp->phy_id = PHY_ID_INVALID; for (i = 0; i < ARRAY_SIZE(subsys_id_to_phy_id); i++) { if ((subsys_id_to_phy_id[i].subsys_vendor == tp->pdev->subsystem_vendor) && (subsys_id_to_phy_id[i].subsys_devid == - tp->pdev->subsystem_device)) { - tp->phy_id = subsys_id_to_phy_id[i].phy_id; - break; - } + tp->pdev->subsystem_device)) + return &subsys_id_to_phy_id[i]; } + return NULL; +} +static int __devinit tg3_phy_probe(struct tg3 *tp) +{ + u32 eeprom_phy_id, hw_phy_id_1, hw_phy_id_2; + u32 hw_phy_id, hw_phy_id_masked; + u32 val; + int eeprom_signature_found, eeprom_phy_serdes, err; + + tp->phy_id = PHY_ID_INVALID; eeprom_phy_id = PHY_ID_INVALID; + eeprom_phy_serdes = 0; eeprom_signature_found = 0; tg3_read_mem(tp, NIC_SRAM_DATA_SIG, &val); if (val == NIC_SRAM_DATA_SIG_MAGIC) { u32 nic_cfg, led_cfg; + u32 nic_phy_id, cfg2; tg3_read_mem(tp, NIC_SRAM_DATA_CFG, &nic_cfg); tp->nic_sram_data_cfg = nic_cfg; @@ -6933,21 +7032,19 @@ static int __devinit tg3_phy_probe(struct tg3 *tp) eeprom_signature_found = 1; if ((nic_cfg & NIC_SRAM_DATA_CFG_PHY_TYPE_MASK) == - NIC_SRAM_DATA_CFG_PHY_TYPE_FIBER) { - eeprom_phy_id = PHY_ID_SERDES; - } else { - u32 nic_phy_id; + NIC_SRAM_DATA_CFG_PHY_TYPE_FIBER) + eeprom_phy_serdes = 1; - tg3_read_mem(tp, NIC_SRAM_DATA_PHY_ID, &nic_phy_id); - if (nic_phy_id != 0) { - u32 id1 = nic_phy_id & NIC_SRAM_DATA_PHY_ID1_MASK; - u32 id2 = nic_phy_id & NIC_SRAM_DATA_PHY_ID2_MASK; + tg3_read_mem(tp, NIC_SRAM_DATA_PHY_ID, &nic_phy_id); + if (nic_phy_id != 0) { + u32 id1 = nic_phy_id & NIC_SRAM_DATA_PHY_ID1_MASK; + u32 id2 = nic_phy_id & NIC_SRAM_DATA_PHY_ID2_MASK; - eeprom_phy_id = (id1 >> 16) << 10; - eeprom_phy_id |= (id2 & 0xfc00) << 16; - eeprom_phy_id |= (id2 & 0x03ff) << 0; - } - } + eeprom_phy_id = (id1 >> 16) << 10; + eeprom_phy_id |= (id2 & 0xfc00) << 16; + eeprom_phy_id |= (id2 & 0x03ff) << 0; + } else + eeprom_phy_id = 0; if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) { tg3_read_mem(tp, NIC_SRAM_DATA_CFG_2, &led_cfg); @@ -7009,6 +7106,10 @@ static int __devinit tg3_phy_probe(struct tg3 *tp) } if (nic_cfg & NIC_SRAM_DATA_CFG_FIBER_WOL) tp->tg3_flags |= TG3_FLAG_SERDES_WOL_CAP; + + tg3_read_mem(tp, NIC_SRAM_DATA_PHY_ID, &cfg2); + if (cfg2 & (1 << 17)) + tp->tg3_flags2 |= TG3_FLG2_CAPACITIVE_COUPLING; } /* Reading the PHY ID register can conflict with ASF @@ -7035,20 +7136,31 @@ static int __devinit tg3_phy_probe(struct tg3 *tp) if (!err && KNOWN_PHY_ID(hw_phy_id_masked)) { tp->phy_id = hw_phy_id; + if (hw_phy_id_masked == PHY_ID_BCM8002) + tp->tg3_flags2 |= TG3_FLG2_PHY_SERDES; } else { - /* phy_id currently holds the value found in the - * subsys_id_to_phy_id[] table or PHY_ID_INVALID - * if a match was not found there. - */ - if (tp->phy_id == PHY_ID_INVALID) { - if (!eeprom_signature_found || - !KNOWN_PHY_ID(eeprom_phy_id & PHY_ID_MASK)) - return -ENODEV; + if (eeprom_signature_found) { tp->phy_id = eeprom_phy_id; + if (eeprom_phy_serdes) + tp->tg3_flags2 |= TG3_FLG2_PHY_SERDES; + } else { + struct subsys_tbl_ent *p; + + /* No eeprom signature? Try the hardcoded + * subsys device table. + */ + p = lookup_by_subsys(tp); + if (!p) + return -ENODEV; + + tp->phy_id = p->phy_id; + if (!tp->phy_id || + tp->phy_id == PHY_ID_BCM8002) + tp->tg3_flags2 |= TG3_FLG2_PHY_SERDES; } } - if (tp->phy_id != PHY_ID_SERDES && + if (!(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) && !(tp->tg3_flags & TG3_FLAG_ENABLE_ASF)) { u32 bmsr, adv_reg, tg3_ctrl; @@ -7105,7 +7217,7 @@ skip_phy_reset: if (!eeprom_signature_found) tp->led_ctrl = LED_CTRL_MODE_PHY_1; - if (tp->phy_id == PHY_ID_SERDES) + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) tp->link_config.advertising = (ADVERTISED_1000baseT_Half | ADVERTISED_1000baseT_Full | @@ -7124,11 +7236,11 @@ static void __devinit tg3_read_partno(struct tg3 *tp) unsigned char vpd_data[256]; int i; - if (tp->tg3_flags2 & TG3_FLG2_SUN_5704) { + if (tp->tg3_flags2 & TG3_FLG2_SUN_570X) { /* Sun decided not to put the necessary bits in the * NVRAM of their onboard tg3 parts :( */ - strcpy(tp->board_part_number, "Sun 5704"); + strcpy(tp->board_part_number, "Sun 570X"); return; } @@ -7189,27 +7301,21 @@ out_not_found: } #ifdef CONFIG_SPARC64 -static int __devinit tg3_is_sun_5704(struct tg3 *tp) +static int __devinit tg3_is_sun_570X(struct tg3 *tp) { struct pci_dev *pdev = tp->pdev; struct pcidev_cookie *pcp = pdev->sysdata; if (pcp != NULL) { int node = pcp->prom_node; - u32 venid, devid; + u32 venid; int err; err = prom_getproperty(node, "subsystem-vendor-id", (char *) &venid, sizeof(venid)); if (err == 0 || err == -1) return 0; - err = prom_getproperty(node, "subsystem-id", - (char *) &devid, sizeof(devid)); - if (err == 0 || err == -1) - return 0; - - if (venid == PCI_VENDOR_ID_SUN && - devid == PCI_DEVICE_ID_TIGON3_5704) + if (venid == PCI_VENDOR_ID_SUN) return 1; } return 0; @@ -7226,8 +7332,8 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) int err; #ifdef CONFIG_SPARC64 - if (tg3_is_sun_5704(tp)) - tp->tg3_flags2 |= TG3_FLG2_SUN_5704; + if (tg3_is_sun_570X(tp)) + tp->tg3_flags2 |= TG3_FLG2_SUN_570X; #endif /* If we have an AMD 762 or Intel ICH/ICH0/ICH2 chipset, write @@ -7453,7 +7559,7 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) chiprevid == CHIPREV_ID_5701_B0 || chiprevid == CHIPREV_ID_5701_B2 || chiprevid == CHIPREV_ID_5701_B5) { - unsigned long sram_base; + void __iomem *sram_base; /* Write some dummy words into the SRAM status block * area, see if it reads back correctly. If the return @@ -7472,32 +7578,17 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) udelay(50); tg3_nvram_init(tp); - /* Always use host TXDs, it performs better in particular - * with multi-frag packets. The tests below are kept here - * as documentation should we change this decision again - * in the future. - */ - tp->tg3_flags |= TG3_FLAG_HOST_TXDS; - -#if 0 - /* Determine if TX descriptors will reside in - * main memory or in the chip SRAM. - */ - if ((tp->tg3_flags & TG3_FLAG_PCIX_TARGET_HWBUG) != 0 || - GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 || - GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5750) - tp->tg3_flags |= TG3_FLAG_HOST_TXDS; -#endif - grc_misc_cfg = tr32(GRC_MISC_CFG); grc_misc_cfg &= GRC_MISC_CFG_BOARD_ID_MASK; + /* Broadcom's driver says that CIOBE multisplit has a bug */ +#if 0 if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 && grc_misc_cfg == GRC_MISC_CFG_BOARD_ID_5704CIOBE) { tp->tg3_flags |= TG3_FLAG_SPLIT_MODE; tp->split_mode_max_reqs = SPLIT_MODE_5704_MAX_REQ; } - +#endif if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705 && (grc_misc_cfg == GRC_MISC_CFG_BOARD_ID_5788 || grc_misc_cfg == GRC_MISC_CFG_BOARD_ID_5788M)) @@ -7524,7 +7615,7 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) tg3_read_partno(tp); - if (tp->phy_id == PHY_ID_SERDES) { + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) { tp->tg3_flags &= ~TG3_FLAG_USE_MI_INTERRUPT; } else { if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5700) @@ -7547,13 +7638,13 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) * upon subsystem IDs. */ if (tp->pdev->subsystem_vendor == PCI_VENDOR_ID_DELL && - tp->phy_id != PHY_ID_SERDES) { + !(tp->tg3_flags2 & TG3_FLG2_PHY_SERDES)) { tp->tg3_flags |= (TG3_FLAG_USE_MI_INTERRUPT | TG3_FLAG_USE_LINKCHG_REG); } /* For all SERDES we poll the MAC status register. */ - if (tp->phy_id == PHY_ID_SERDES) + if (tp->tg3_flags2 & TG3_FLG2_PHY_SERDES) tp->tg3_flags |= TG3_FLAG_POLL_SERDES; else tp->tg3_flags &= ~TG3_FLAG_POLL_SERDES; @@ -7624,7 +7715,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp) mac_offset = 0x7c; if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 && - !(tp->tg3_flags & TG3_FLG2_SUN_5704)) { + !(tp->tg3_flags & TG3_FLG2_SUN_570X)) { if (tr32(TG3PCI_DUAL_MAC_CTRL) & DUAL_MAC_CTRL_ID) mac_offset = 0xcc; if (tg3_nvram_lock(tp)) @@ -7646,7 +7737,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp) dev->dev_addr[5] = (lo >> 0) & 0xff; } /* Next, try NVRAM. */ - else if (!(tp->tg3_flags & TG3_FLG2_SUN_5704) && + else if (!(tp->tg3_flags & TG3_FLG2_SUN_570X) && !tg3_nvram_read(tp, mac_offset + 0, &hi) && !tg3_nvram_read(tp, mac_offset + 4, &lo)) { dev->dev_addr[0] = ((hi >> 16) & 0xff); @@ -7988,8 +8079,8 @@ static char * __devinit tg3_phy_string(struct tg3 *tp) case PHY_ID_BCM5704: return "5704"; case PHY_ID_BCM5705: return "5705"; case PHY_ID_BCM5750: return "5750"; - case PHY_ID_BCM8002: return "8002"; - case PHY_ID_SERDES: return "serdes"; + case PHY_ID_BCM8002: return "8002/serdes"; + case 0: return "serdes"; default: return "unknown"; }; } @@ -8096,6 +8187,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, if (pci_using_dac) dev->features |= NETIF_F_HIGHDMA; + dev->features |= NETIF_F_LLTX; #if TG3_VLAN_TAG_USED dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; dev->vlan_rx_register = tg3_vlan_rx_register; @@ -8141,7 +8233,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, spin_lock_init(&tp->indirect_lock); INIT_WORK(&tp->reset_task, tg3_reset_task, tp); - tp->regs = (unsigned long) ioremap(tg3reg_base, tg3reg_len); + tp->regs = ioremap(tg3reg_base, tg3reg_len); if (tp->regs == 0UL) { printk(KERN_ERR PFX "Cannot map device registers, " "aborting.\n"); @@ -8257,6 +8349,9 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, if (tp->tg3_flags2 & TG3_FLG2_IS_5788) dev->features &= ~NETIF_F_HIGHDMA; + /* flow control autonegotiation is default behavior */ + tp->tg3_flags |= TG3_FLAG_PAUSE_AUTONEG; + err = register_netdev(dev); if (err) { printk(KERN_ERR PFX "Cannot register net device, " @@ -8288,11 +8383,10 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, printk("%2.2x%c", dev->dev_addr[i], i == 5 ? '\n' : ':'); - printk(KERN_INFO "%s: HostTXDS[%d] RXcsums[%d] LinkChgREG[%d] " + printk(KERN_INFO "%s: RXcsums[%d] LinkChgREG[%d] " "MIirq[%d] ASF[%d] Split[%d] WireSpeed[%d] " "TSOcap[%d] \n", dev->name, - (tp->tg3_flags & TG3_FLAG_HOST_TXDS) != 0, (tp->tg3_flags & TG3_FLAG_RX_CHECKSUMS) != 0, (tp->tg3_flags & TG3_FLAG_USE_LINKCHG_REG) != 0, (tp->tg3_flags & TG3_FLAG_USE_MI_INTERRUPT) != 0, @@ -8304,7 +8398,7 @@ static int __devinit tg3_init_one(struct pci_dev *pdev, return 0; err_out_iounmap: - iounmap((void *) tp->regs); + iounmap(tp->regs); err_out_free_dev: free_netdev(dev); @@ -8326,7 +8420,7 @@ static void __devexit tg3_remove_one(struct pci_dev *pdev) struct tg3 *tp = netdev_priv(dev); unregister_netdev(dev); - iounmap((void *)tp->regs); + iounmap(tp->regs); free_netdev(dev); pci_release_regions(pdev); pci_disable_device(pdev); @@ -8371,11 +8465,11 @@ static int tg3_suspend(struct pci_dev *pdev, u32 state) tp->timer.expires = jiffies + tp->timer_offset; add_timer(&tp->timer); - spin_unlock(&tp->tx_lock); - spin_unlock_irq(&tp->lock); - netif_device_attach(dev); tg3_netif_start(tp); + + spin_unlock(&tp->tx_lock); + spin_unlock_irq(&tp->lock); } return err; @@ -8408,11 +8502,11 @@ static int tg3_resume(struct pci_dev *pdev) tg3_enable_ints(tp); + tg3_netif_start(tp); + spin_unlock(&tp->tx_lock); spin_unlock_irq(&tp->lock); - tg3_netif_start(tp); - return 0; } diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 5c0c104f4..5a6bd6276 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -124,6 +124,7 @@ #define CHIPREV_ID_5705_A3 0x3003 #define CHIPREV_ID_5750_A0 0x4000 #define CHIPREV_ID_5750_A1 0x4001 +#define CHIPREV_ID_5750_A3 0x4003 #define GET_ASIC_REV(CHIP_REV_ID) ((CHIP_REV_ID) >> 12) #define ASIC_REV_5700 0x07 #define ASIC_REV_5701 0x00 @@ -1548,7 +1549,7 @@ * exist only in the cards on-chip SRAM. All 16 send bds are under * the same mode, they may not be configured individually. * - * The mode we use is controlled by TG3_FLAG_HOST_TXDS in tp->tg3_flags. + * This driver always uses host memory TX descriptors. * * To use host memory TX descriptors: * 1) Set GRC_MODE_HOST_SENDBDS in GRC_MODE register. @@ -1988,7 +1989,7 @@ struct tg3 { spinlock_t lock; spinlock_t indirect_lock; - unsigned long regs; + void __iomem *regs; struct net_device *dev; struct pci_dev *pdev; @@ -2004,7 +2005,6 @@ struct tg3 { spinlock_t tx_lock; - /* TX descs are only used if TG3_FLAG_HOST_TXDS is set. */ struct tg3_tx_buffer_desc *tx_ring; struct tx_ring_info *tx_buffers; dma_addr_t tx_desc_mapping; @@ -2040,7 +2040,6 @@ struct tg3 { u32 rx_offset; u32 tg3_flags; -#define TG3_FLAG_HOST_TXDS 0x00000001 #define TG3_FLAG_TXD_MBOX_HWBUG 0x00000002 #define TG3_FLAG_RX_CHECKSUMS 0x00000004 #define TG3_FLAG_USE_LINKCHG_REG 0x00000008 @@ -2070,15 +2069,13 @@ struct tg3 { #define TG3_FLAG_JUMBO_ENABLE 0x00800000 #define TG3_FLAG_10_100_ONLY 0x01000000 #define TG3_FLAG_PAUSE_AUTONEG 0x02000000 -#define TG3_FLAG_PAUSE_RX 0x04000000 -#define TG3_FLAG_PAUSE_TX 0x08000000 #define TG3_FLAG_BROKEN_CHECKSUMS 0x10000000 #define TG3_FLAG_GOT_SERDES_FLOWCTL 0x20000000 #define TG3_FLAG_SPLIT_MODE 0x40000000 #define TG3_FLAG_INIT_COMPLETE 0x80000000 u32 tg3_flags2; #define TG3_FLG2_RESTART_TIMER 0x00000001 -#define TG3_FLG2_SUN_5704 0x00000002 +#define TG3_FLG2_SUN_570X 0x00000002 #define TG3_FLG2_NO_ETH_WIRE_SPEED 0x00000004 #define TG3_FLG2_IS_5788 0x00000008 #define TG3_FLG2_MAX_RXPEND_64 0x00000010 @@ -2089,6 +2086,9 @@ struct tg3 { #define TG3_FLG2_PCI_EXPRESS 0x00000200 #define TG3_FLG2_ASF_NEW_HANDSHAKE 0x00000400 #define TG3_FLG2_HW_AUTONEG 0x00000800 +#define TG3_FLG2_PHY_JUST_INITTED 0x00001000 +#define TG3_FLG2_PHY_SERDES 0x00002000 +#define TG3_FLG2_CAPACITIVE_COUPLING 0x00004000 u32 split_mode_max_reqs; #define SPLIT_MODE_5704_MAX_REQ 3 @@ -2136,7 +2136,6 @@ struct tg3 { #define PHY_ID_BCM5705 0x600081a0 #define PHY_ID_BCM5750 0x60008180 #define PHY_ID_BCM8002 0x60010140 -#define PHY_ID_SERDES 0xfeedbee0 #define PHY_ID_INVALID 0xffffffff #define PHY_ID_REV_MASK 0x0000000f #define PHY_REV_BCM5401_B0 0x1 @@ -2159,7 +2158,7 @@ struct tg3 { (X) == PHY_ID_BCM5411 || (X) == PHY_ID_BCM5701 || \ (X) == PHY_ID_BCM5703 || (X) == PHY_ID_BCM5704 || \ (X) == PHY_ID_BCM5705 || (X) == PHY_ID_BCM5750 || \ - (X) == PHY_ID_BCM8002 || (X) == PHY_ID_SERDES) + (X) == PHY_ID_BCM8002) struct tg3_hw_stats *hw_stats; dma_addr_t stats_mapping; diff --git a/drivers/net/tokenring/Kconfig b/drivers/net/tokenring/Kconfig index f34e40e8f..9e91287c1 100644 --- a/drivers/net/tokenring/Kconfig +++ b/drivers/net/tokenring/Kconfig @@ -84,7 +84,8 @@ config 3C359 config TMS380TR tristate "Generic TMS380 Token Ring ISA/PCI adapter support" - depends on TR && (PCI || ISA) + depends on TR && (PCI || ISA) && HOTPLUG + select FW_LOADER ---help--- This driver provides generic support for token ring adapters based on the Texas Instruments TMS380 series chipsets. This diff --git a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c index c7a4b6baa..9dd3c8eda 100644 --- a/drivers/net/tokenring/ibmtr.c +++ b/drivers/net/tokenring/ibmtr.c @@ -902,7 +902,7 @@ static int tok_open(struct net_device *dev) ti->sram_virt &= ~1; /* to reverse what we do in tok_close */ /* init the spinlock */ - ti->lock = (spinlock_t) SPIN_LOCK_UNLOCKED; + ti->lock = SPIN_LOCK_UNLOCKED; init_timer(&ti->tr_timer); i = tok_init_card(dev); diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c index ea82d131a..1ec45b2b9 100644 --- a/drivers/net/tokenring/olympic.c +++ b/drivers/net/tokenring/olympic.c @@ -221,6 +221,8 @@ static int __devinit olympic_probe(struct pci_dev *pdev, const struct pci_device olympic_priv = dev->priv ; + spin_lock_init(&olympic_priv->olympic_lock) ; + init_waitqueue_head(&olympic_priv->srb_wait); init_waitqueue_head(&olympic_priv->trb_wait); #if OLYMPIC_DEBUG @@ -291,7 +293,7 @@ op_disable_dev: static int __devinit olympic_init(struct net_device *dev) { struct olympic_private *olympic_priv; - u8 *olympic_mmio, *init_srb,*adapter_addr; + u8 __iomem *olympic_mmio, *init_srb,*adapter_addr; unsigned long t; unsigned int uaa_addr; @@ -311,7 +313,6 @@ static int __devinit olympic_init(struct net_device *dev) } } - spin_lock_init(&olympic_priv->olympic_lock) ; /* Needed for cardbus */ if(!(readl(olympic_mmio+BCTL) & BCTL_MODE_INDICATOR)) { @@ -435,13 +436,15 @@ static int __devinit olympic_init(struct net_device *dev) static int olympic_open(struct net_device *dev) { struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; - u8 *olympic_mmio=olympic_priv->olympic_mmio,*init_srb; + u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio,*init_srb; unsigned long flags, t; char open_error[255] ; int i, open_finished = 1 ; DECLARE_WAITQUEUE(wait,current) ; + olympic_init(dev); + if(request_irq(dev->irq, &olympic_interrupt, SA_SHIRQ , "olympic", dev)) { return -EAGAIN; } @@ -706,10 +709,10 @@ static int olympic_open(struct net_device *dev) #endif if (olympic_priv->olympic_network_monitor) { - u8 *oat ; - u8 *opt ; - oat = (u8 *)(olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr) ; - opt = (u8 *)(olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr) ; + u8 __iomem *oat ; + u8 __iomem *opt ; + oat = (olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr) ; + opt = (olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr) ; printk("%s: Node Address: %02x:%02x:%02x:%02x:%02x:%02x\n",dev->name, readb(oat+offsetof(struct olympic_adapter_addr_table,node_addr)), @@ -755,7 +758,7 @@ static int olympic_open(struct net_device *dev) static void olympic_rx(struct net_device *dev) { struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; - u8 *olympic_mmio=olympic_priv->olympic_mmio; + u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio; struct olympic_rx_status *rx_status; struct olympic_rx_desc *rx_desc ; int rx_ring_last_received,length, buffer_cnt, cpy_length, frag_len; @@ -898,7 +901,10 @@ static void olympic_freemem(struct net_device *dev) int i; for(i=0;irx_ring_skb[olympic_priv->rx_status_last_received]); + if (olympic_priv->rx_ring_skb[olympic_priv->rx_status_last_received] != NULL) { + dev_kfree_skb_irq(olympic_priv->rx_ring_skb[olympic_priv->rx_status_last_received]); + olympic_priv->rx_ring_skb[olympic_priv->rx_status_last_received] = NULL; + } if (olympic_priv->olympic_rx_ring[olympic_priv->rx_status_last_received].buffer != 0xdeadbeef) { pci_unmap_single(olympic_priv->pdev, le32_to_cpu(olympic_priv->olympic_rx_ring[olympic_priv->rx_status_last_received].buffer), @@ -925,9 +931,9 @@ static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs { struct net_device *dev= (struct net_device *)dev_id; struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; - u8 *olympic_mmio=olympic_priv->olympic_mmio; + u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio; u32 sisr; - u8 *adapter_check_area ; + u8 __iomem *adapter_check_area ; /* * Read sisr but don't reset it yet. @@ -944,9 +950,6 @@ static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs /* Hotswap gives us this on removal */ if (sisr == 0xffffffff) { printk(KERN_WARNING "%s: Hotswap adapter removal.\n",dev->name) ; - olympic_freemem(dev) ; - free_irq(dev->irq, dev) ; - dev->stop = NULL ; spin_unlock(&olympic_priv->olympic_lock) ; return IRQ_NONE; } @@ -961,9 +964,7 @@ static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs printk(KERN_ERR "The adapter must be reset to clear this condition.\n") ; printk(KERN_ERR "Please report this error to the driver maintainer and/\n") ; printk(KERN_ERR "or the linux-tr mailing list.\n") ; - olympic_freemem(dev) ; - free_irq(dev->irq, dev) ; - dev->stop = NULL ; + wake_up_interruptible(&olympic_priv->srb_wait); spin_unlock(&olympic_priv->olympic_lock) ; return IRQ_HANDLED; } /* SISR_ERR */ @@ -1006,9 +1007,6 @@ static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs writel(readl(olympic_mmio+LAPWWC),olympic_mmio+LAPA); adapter_check_area = olympic_priv->olympic_lap + ((readl(olympic_mmio+LAPWWC)) & (~0xf800)) ; printk(KERN_WARNING "%s: Bytes %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n",dev->name, readb(adapter_check_area+0), readb(adapter_check_area+1), readb(adapter_check_area+2), readb(adapter_check_area+3), readb(adapter_check_area+4), readb(adapter_check_area+5), readb(adapter_check_area+6), readb(adapter_check_area+7)) ; - olympic_freemem(dev) ; - free_irq(dev->irq, dev) ; - dev->stop = NULL ; spin_unlock(&olympic_priv->olympic_lock) ; return IRQ_HANDLED; } /* SISR_ADAPTER_CHECK */ @@ -1049,7 +1047,7 @@ static irqreturn_t olympic_interrupt(int irq, void *dev_id, struct pt_regs *regs static int olympic_xmit(struct sk_buff *skb, struct net_device *dev) { struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; - u8 *olympic_mmio=olympic_priv->olympic_mmio; + u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio; unsigned long flags ; spin_lock_irqsave(&olympic_priv->olympic_lock, flags); @@ -1080,7 +1078,7 @@ static int olympic_xmit(struct sk_buff *skb, struct net_device *dev) static int olympic_close(struct net_device *dev) { struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; - u8 *olympic_mmio=olympic_priv->olympic_mmio,*srb; + u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio,*srb; unsigned long t,flags; DECLARE_WAITQUEUE(wait,current) ; @@ -1094,34 +1092,32 @@ static int olympic_close(struct net_device *dev) writeb(0,srb+1); writeb(OLYMPIC_CLEAR_RET_CODE,srb+2); + add_wait_queue(&olympic_priv->srb_wait,&wait) ; + set_current_state(TASK_INTERRUPTIBLE) ; + spin_lock_irqsave(&olympic_priv->olympic_lock,flags); olympic_priv->srb_queued=1; writel(LISR_SRB_CMD,olympic_mmio+LISR_SUM); spin_unlock_irqrestore(&olympic_priv->olympic_lock,flags); - - t = jiffies ; - - add_wait_queue(&olympic_priv->srb_wait,&wait) ; - set_current_state(TASK_INTERRUPTIBLE) ; while(olympic_priv->srb_queued) { - schedule() ; + + t = schedule_timeout(60*HZ); + if(signal_pending(current)) { printk(KERN_WARNING "%s: SRB timed out.\n",dev->name); printk(KERN_WARNING "SISR=%x MISR=%x\n",readl(olympic_mmio+SISR),readl(olympic_mmio+LISR)); olympic_priv->srb_queued=0; break; } - if ((jiffies-t) > 60*HZ) { + + if (t == 0) { printk(KERN_WARNING "%s: SRB timed out. May not be fatal. \n",dev->name) ; - olympic_priv->srb_queued=0; - break ; } - set_current_state(TASK_INTERRUPTIBLE) ; + olympic_priv->srb_queued=0; } remove_wait_queue(&olympic_priv->srb_wait,&wait) ; - set_current_state(TASK_RUNNING) ; olympic_priv->rx_status_last_received++; olympic_priv->rx_status_last_received&=OLYMPIC_RX_RING_SIZE-1; @@ -1152,9 +1148,9 @@ static int olympic_close(struct net_device *dev) static void olympic_set_rx_mode(struct net_device *dev) { struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv ; - u8 *olympic_mmio = olympic_priv->olympic_mmio ; + u8 __iomem *olympic_mmio = olympic_priv->olympic_mmio ; u8 options = 0; - u8 *srb; + u8 __iomem *srb; struct dev_mc_list *dmi ; unsigned char dev_mc_address[4] ; int i ; @@ -1220,8 +1216,8 @@ static void olympic_set_rx_mode(struct net_device *dev) static void olympic_srb_bh(struct net_device *dev) { struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv ; - u8 *olympic_mmio = olympic_priv->olympic_mmio ; - u8 *srb; + u8 __iomem *olympic_mmio = olympic_priv->olympic_mmio ; + u8 __iomem *srb; writel(olympic_priv->srb,olympic_mmio+LAPA); srb=olympic_priv->olympic_lap + (olympic_priv->srb & (~0xf800)); @@ -1394,22 +1390,22 @@ static int olympic_set_mac_address (struct net_device *dev, void *addr) static void olympic_arb_cmd(struct net_device *dev) { struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv; - u8 *olympic_mmio=olympic_priv->olympic_mmio; - u8 *arb_block, *asb_block, *srb ; + u8 __iomem *olympic_mmio=olympic_priv->olympic_mmio; + u8 __iomem *arb_block, *asb_block, *srb ; u8 header_len ; u16 frame_len, buffer_len ; struct sk_buff *mac_frame ; - u8 *buf_ptr ; - u8 *frame_data ; + u8 __iomem *buf_ptr ; + u8 __iomem *frame_data ; u16 buff_off ; u16 lan_status = 0, lan_status_diff ; /* Initialize to stop compiler warning */ u8 fdx_prot_error ; u16 next_ptr; int i ; - arb_block = (u8 *)(olympic_priv->olympic_lap + olympic_priv->arb) ; - asb_block = (u8 *)(olympic_priv->olympic_lap + olympic_priv->asb) ; - srb = (u8 *)(olympic_priv->olympic_lap + olympic_priv->srb) ; + arb_block = (olympic_priv->olympic_lap + olympic_priv->arb) ; + asb_block = (olympic_priv->olympic_lap + olympic_priv->asb) ; + srb = (olympic_priv->olympic_lap + olympic_priv->srb) ; if (readb(arb_block+0) == ARB_RECEIVE_DATA) { /* Receive.data, MAC frames */ @@ -1513,29 +1509,6 @@ drop_frame: writel(readl(olympic_mmio+BCTL)&~(3<<13),olympic_mmio+BCTL); netif_stop_queue(dev); olympic_priv->srb = readw(olympic_priv->olympic_lap + LAPWWO) ; - for(i=0;irx_ring_skb[olympic_priv->rx_status_last_received]); - if (olympic_priv->olympic_rx_ring[olympic_priv->rx_status_last_received].buffer != 0xdeadbeef) { - pci_unmap_single(olympic_priv->pdev, - le32_to_cpu(olympic_priv->olympic_rx_ring[olympic_priv->rx_status_last_received].buffer), - olympic_priv->pkt_buf_sz, PCI_DMA_FROMDEVICE); - } - olympic_priv->rx_status_last_received++; - olympic_priv->rx_status_last_received&=OLYMPIC_RX_RING_SIZE-1; - } - /* unmap rings */ - pci_unmap_single(olympic_priv->pdev, olympic_priv->rx_status_ring_dma_addr, - sizeof(struct olympic_rx_status) * OLYMPIC_RX_RING_SIZE, PCI_DMA_FROMDEVICE); - pci_unmap_single(olympic_priv->pdev, olympic_priv->rx_ring_dma_addr, - sizeof(struct olympic_rx_desc) * OLYMPIC_RX_RING_SIZE, PCI_DMA_TODEVICE); - - pci_unmap_single(olympic_priv->pdev, olympic_priv->tx_status_ring_dma_addr, - sizeof(struct olympic_tx_status) * OLYMPIC_TX_RING_SIZE, PCI_DMA_FROMDEVICE); - pci_unmap_single(olympic_priv->pdev, olympic_priv->tx_ring_dma_addr, - sizeof(struct olympic_tx_desc) * OLYMPIC_TX_RING_SIZE, PCI_DMA_TODEVICE); - - free_irq(dev->irq,dev); - dev->stop=NULL; printk(KERN_WARNING "%s: Adapter has been closed \n", dev->name) ; } /* If serious error */ @@ -1604,10 +1577,10 @@ drop_frame: static void olympic_asb_bh(struct net_device *dev) { struct olympic_private *olympic_priv = (struct olympic_private *) dev->priv ; - u8 *arb_block, *asb_block ; + u8 __iomem *arb_block, *asb_block ; - arb_block = (u8 *)(olympic_priv->olympic_lap + olympic_priv->arb) ; - asb_block = (u8 *)(olympic_priv->olympic_lap + olympic_priv->asb) ; + arb_block = (olympic_priv->olympic_lap + olympic_priv->arb) ; + asb_block = (olympic_priv->olympic_lap + olympic_priv->asb) ; if (olympic_priv->asb_queued == 1) { /* Dropped through the first time */ @@ -1666,8 +1639,8 @@ static int olympic_proc_info(char *buffer, char **start, off_t offset, int lengt { struct net_device *dev = (struct net_device *)data ; struct olympic_private *olympic_priv=(struct olympic_private *)dev->priv; - u8 *oat = (u8 *)(olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr) ; - u8 *opt = (u8 *)(olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr) ; + u8 __iomem *oat = (olympic_priv->olympic_lap + olympic_priv->olympic_addr_table_addr) ; + u8 __iomem *opt = (olympic_priv->olympic_lap + olympic_priv->olympic_parms_addr) ; int size = 0 ; int len=0; off_t begin=0; diff --git a/drivers/net/tulip/21142.c b/drivers/net/tulip/21142.c index 52addd8f7..6d1a01f85 100644 --- a/drivers/net/tulip/21142.c +++ b/drivers/net/tulip/21142.c @@ -14,8 +14,8 @@ */ -#include "tulip.h" #include +#include "tulip.h" #include diff --git a/drivers/net/tulip/Kconfig b/drivers/net/tulip/Kconfig index 6182cf4e3..e2cdaf876 100644 --- a/drivers/net/tulip/Kconfig +++ b/drivers/net/tulip/Kconfig @@ -40,9 +40,7 @@ config TULIP (smc9332dst), you can also try the driver for "Generic DECchip" cards, above. However, most people with a network card of this type will say Y here.) Do read the Ethernet-HOWTO, available from - . More specific - information is contained in - . + . To compile this driver as a module, choose M here and read . The module will diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index 71fc3d084..533ae73a0 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c @@ -56,6 +56,7 @@ KERN_INFO DRV_NAME " PCI Ethernet driver v" DRV_VERSION " (" DRV_RELDATE ")\n"; MODULE_AUTHOR("Jeff Garzik "); MODULE_DESCRIPTION("Intel/Digital 21040/1 series PCI Ethernet driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); static int debug = -1; MODULE_PARM (debug, "i"); diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c index 962138008..05e8947f9 100644 --- a/drivers/net/tulip/de4x5.c +++ b/drivers/net/tulip/de4x5.c @@ -1141,7 +1141,7 @@ de4x5_hw_init(struct net_device *dev, u_long iobase, struct device *gendev) lp->asBitValid = TRUE; lp->timeout = -1; lp->gendev = gendev; - lp->lock = (spinlock_t) SPIN_LOCK_UNLOCKED; + lp->lock = SPIN_LOCK_UNLOCKED; init_timer(&lp->timer); de4x5_parse_params(dev); @@ -1316,7 +1316,7 @@ de4x5_open(struct net_device *dev) ** Re-initialize the DE4X5... */ status = de4x5_init(dev); - lp->lock = (spinlock_t) SPIN_LOCK_UNLOCKED; + lp->lock = SPIN_LOCK_UNLOCKED; lp->state = OPEN; de4x5_dbg_open(dev); @@ -2242,8 +2242,13 @@ static int __devinit de4x5_pci_probe (struct pci_dev *pdev, return -ENODEV; /* Ok, the device seems to be for us. */ - if (!(dev = alloc_etherdev (sizeof (struct de4x5_private)))) - return -ENOMEM; + if (pci_enable_device (pdev)) + return -ENODEV; + + if (!(dev = alloc_etherdev (sizeof (struct de4x5_private)))) { + error = -ENOMEM; + goto disable_dev; + } lp = netdev_priv(dev); lp->bus = PCI; @@ -2327,6 +2332,8 @@ static int __devinit de4x5_pci_probe (struct pci_dev *pdev, release_region (iobase, DE4X5_PCI_TOTAL_SIZE); free_dev: free_netdev (dev); + disable_dev: + pci_disable_device (pdev); return error; } @@ -2341,6 +2348,7 @@ static void __devexit de4x5_pci_remove (struct pci_dev *pdev) unregister_netdev (dev); free_netdev (dev); release_region (iobase, DE4X5_PCI_TOTAL_SIZE); + pci_disable_device (pdev); } static struct pci_device_id de4x5_pci_tbl[] = { diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c index f3298d161..1c66157ce 100644 --- a/drivers/net/tulip/dmfe.c +++ b/drivers/net/tulip/dmfe.c @@ -314,13 +314,13 @@ static u16 phy_read_1bit(unsigned long); static u8 dmfe_sense_speed(struct dmfe_board_info *); static void dmfe_process_mode(struct dmfe_board_info *); static void dmfe_timer(unsigned long); +static inline u32 cal_CRC(unsigned char *, unsigned int, u8); static void dmfe_rx_packet(struct DEVICE *, struct dmfe_board_info *); static void dmfe_free_tx_pkt(struct DEVICE *, struct dmfe_board_info *); static void dmfe_reuse_skb(struct dmfe_board_info *, struct sk_buff *); static void dmfe_dynamic_reset(struct DEVICE *); static void dmfe_free_rxbuffer(struct dmfe_board_info *); static void dmfe_init_dm910x(struct DEVICE *); -static inline u32 cal_CRC(unsigned char *, unsigned int, u8); static void dmfe_parse_srom(struct dmfe_board_info *); static void dmfe_program_DM9801(struct dmfe_board_info *, int); static void dmfe_program_DM9802(struct dmfe_board_info *); @@ -884,6 +884,20 @@ static void dmfe_free_tx_pkt(struct DEVICE *dev, struct dmfe_board_info * db) } +/* + * Calculate the CRC valude of the Rx packet + * flag = 1 : return the reverse CRC (for the received packet CRC) + * 0 : return the normal CRC (for Hash Table index) + */ + +static inline u32 cal_CRC(unsigned char * Data, unsigned int Len, u8 flag) +{ + u32 crc = crc32(~0, Data, Len); + if (flag) crc = ~crc; + return crc; +} + + /* * Receive the come packet and pass to upper layer */ @@ -1773,20 +1787,6 @@ static u16 phy_read_1bit(unsigned long ioaddr) } -/* - * Calculate the CRC valude of the Rx packet - * flag = 1 : return the reverse CRC (for the received packet CRC) - * 0 : return the normal CRC (for Hash Table index) - */ - -static inline u32 cal_CRC(unsigned char * Data, unsigned int Len, u8 flag) -{ - u32 crc = crc32(~0, Data, Len); - if (flag) crc = ~crc; - return crc; -} - - /* * Parser SROM and media mode */ @@ -1986,6 +1986,7 @@ static struct pci_driver dmfe_driver = { MODULE_AUTHOR("Sten Wang, sten_wang@davicom.com.tw"); MODULE_DESCRIPTION("Davicom DM910X fast ethernet driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); MODULE_PARM(debug, "i"); MODULE_PARM(mode, "i"); diff --git a/drivers/net/tulip/eeprom.c b/drivers/net/tulip/eeprom.c index 512debab8..998959fe6 100644 --- a/drivers/net/tulip/eeprom.c +++ b/drivers/net/tulip/eeprom.c @@ -14,6 +14,7 @@ */ +#include #include "tulip.h" #include #include diff --git a/drivers/net/tulip/interrupt.c b/drivers/net/tulip/interrupt.c index f86170e9b..5a70319c9 100644 --- a/drivers/net/tulip/interrupt.c +++ b/drivers/net/tulip/interrupt.c @@ -14,10 +14,10 @@ */ +#include #include "tulip.h" #include #include -#include int tulip_rx_copybreak; unsigned int tulip_max_interrupt_work; diff --git a/drivers/net/tulip/media.c b/drivers/net/tulip/media.c index 35f2989fa..79d08feaf 100644 --- a/drivers/net/tulip/media.c +++ b/drivers/net/tulip/media.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "tulip.h" diff --git a/drivers/net/tulip/pnic.c b/drivers/net/tulip/pnic.c index 1a0943c68..74e0e0094 100644 --- a/drivers/net/tulip/pnic.c +++ b/drivers/net/tulip/pnic.c @@ -15,6 +15,7 @@ */ #include +#include #include "tulip.h" diff --git a/drivers/net/tulip/pnic2.c b/drivers/net/tulip/pnic2.c index f28a99df7..100a59532 100644 --- a/drivers/net/tulip/pnic2.c +++ b/drivers/net/tulip/pnic2.c @@ -76,8 +76,8 @@ -#include "tulip.h" #include +#include "tulip.h" #include diff --git a/drivers/net/tulip/timer.c b/drivers/net/tulip/timer.c index 69f06dc0c..bfbde4cc1 100644 --- a/drivers/net/tulip/timer.c +++ b/drivers/net/tulip/timer.c @@ -14,6 +14,7 @@ */ +#include #include "tulip.h" diff --git a/drivers/net/tulip/tulip.h b/drivers/net/tulip/tulip.h index 56d18cc18..625ebbaa4 100644 --- a/drivers/net/tulip/tulip.h +++ b/drivers/net/tulip/tulip.h @@ -149,6 +149,9 @@ enum status_bits { TxIntr = 0x01, }; +/* bit mask for CSR5 TX/RX process state */ +#define CSR5_TS 0x00700000 +#define CSR5_RS 0x000e0000 enum tulip_mode_bits { TxThreshold = (1 << 22), @@ -477,9 +480,19 @@ static inline void tulip_stop_rxtx(struct tulip_private *tp) u32 csr6 = inl(ioaddr + CSR6); if (csr6 & RxTx) { + unsigned i=1300/10; outl(csr6 & ~RxTx, ioaddr + CSR6); barrier(); - (void) inl(ioaddr + CSR6); /* mmio sync */ + /* wait until in-flight frame completes. + * Max time @ 10BT: 1500*8b/10Mbps == 1200us (+ 100us margin) + * Typically expect this loop to end in < 50us on 100BT. + */ + while (--i && (inl(ioaddr + CSR5) & (CSR5_TS|CSR5_RS))) + udelay(10); + + if (!i) + printk (KERN_DEBUG "%s: tulip_stop_rxtx() failed\n", + tp->pdev->slot_name); } } diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c index cff6f977c..6f0d3fd6c 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c @@ -26,8 +26,8 @@ #include -#include "tulip.h" #include +#include "tulip.h" #include #include #include @@ -115,6 +115,7 @@ static int csr0 = 0x00A00000 | 0x4800; MODULE_AUTHOR("The Linux Kernel Team"); MODULE_DESCRIPTION("Digital 21*4* Tulip ethernet driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); MODULE_PARM(tulip_debug, "i"); MODULE_PARM(max_interrupt_work, "i"); MODULE_PARM(rx_copybreak, "i"); diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c index d3efcadca..cf72f17b7 100644 --- a/drivers/net/tulip/winbond-840.c +++ b/drivers/net/tulip/winbond-840.c @@ -144,6 +144,7 @@ KERN_INFO " http://www.scyld.com/network/drivers.html\n"; MODULE_AUTHOR("Donald Becker "); MODULE_DESCRIPTION("Winbond W89c840 Ethernet driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); MODULE_PARM(max_interrupt_work, "i"); MODULE_PARM(debug, "i"); diff --git a/drivers/net/tulip/xircom_tulip_cb.c b/drivers/net/tulip/xircom_tulip_cb.c index 62417cc98..ad8464c47 100644 --- a/drivers/net/tulip/xircom_tulip_cb.c +++ b/drivers/net/tulip/xircom_tulip_cb.c @@ -116,6 +116,7 @@ KERN_INFO " unofficial 2.4.x kernel port, version " DRV_VERSION ", " DRV_RELDATE MODULE_AUTHOR("Donald Becker "); MODULE_DESCRIPTION("Xircom CBE-100 ethernet driver"); MODULE_LICENSE("GPL v2"); +MODULE_VERSION(DRV_VERSION); MODULE_PARM(debug, "i"); MODULE_PARM(max_interrupt_work, "i"); diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 142f5f52f..ea5643afd 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c @@ -248,11 +248,11 @@ struct typhoon { /* Tx cache line section */ struct transmit_ring txLoRing ____cacheline_aligned; struct pci_dev * tx_pdev; - unsigned long tx_ioaddr; + void __iomem *tx_ioaddr; u32 txlo_dma_addr; /* Irq/Rx cache line section */ - unsigned long ioaddr ____cacheline_aligned; + void __iomem *ioaddr ____cacheline_aligned; struct typhoon_indexes *indexes; u8 awaiting_resp; u8 duplex; @@ -373,7 +373,7 @@ typhoon_inc_rx_index(u32 *index, const int count) } static int -typhoon_reset(unsigned long ioaddr, int wait_type) +typhoon_reset(void __iomem *ioaddr, int wait_type) { int i, err = 0; int timeout; @@ -428,7 +428,7 @@ out: } static int -typhoon_wait_status(unsigned long ioaddr, u32 wait_value) +typhoon_wait_status(void __iomem *ioaddr, u32 wait_value) { int i, err = 0; @@ -1240,7 +1240,7 @@ typhoon_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) } static int -typhoon_wait_interrupt(unsigned long ioaddr) +typhoon_wait_interrupt(void __iomem *ioaddr) { int i, err = 0; @@ -1348,7 +1348,7 @@ typhoon_init_rings(struct typhoon *tp) static int typhoon_download_firmware(struct typhoon *tp) { - unsigned long ioaddr = tp->ioaddr; + void __iomem *ioaddr = tp->ioaddr; struct pci_dev *pdev = tp->pdev; struct typhoon_file_header *fHdr; struct typhoon_section_header *sHdr; @@ -1497,7 +1497,7 @@ err_out: static int typhoon_boot_3XP(struct typhoon *tp, u32 initial_status) { - unsigned long ioaddr = tp->ioaddr; + void __iomem *ioaddr = tp->ioaddr; if(typhoon_wait_status(ioaddr, initial_status) < 0) { printk(KERN_ERR "%s: boot ready timeout\n", tp->name); @@ -1812,7 +1812,8 @@ static irqreturn_t typhoon_interrupt(int irq, void *dev_instance, struct pt_regs *rgs) { struct net_device *dev = (struct net_device *) dev_instance; - unsigned long ioaddr = dev->base_addr; + struct typhoon *tp = dev->priv; + void __iomem *ioaddr = tp->ioaddr; u32 intr_status; intr_status = readl(ioaddr + TYPHOON_REG_INTR_STATUS); @@ -1852,7 +1853,7 @@ static int typhoon_sleep(struct typhoon *tp, int state, u16 events) { struct pci_dev *pdev = tp->pdev; - unsigned long ioaddr = tp->ioaddr; + void __iomem *ioaddr = tp->ioaddr; struct cmd_desc xp_cmd; int err; @@ -1890,7 +1891,7 @@ static int typhoon_wakeup(struct typhoon *tp, int wait_type) { struct pci_dev *pdev = tp->pdev; - unsigned long ioaddr = tp->ioaddr; + void __iomem *ioaddr = tp->ioaddr; pci_set_power_state(pdev, 0); pci_restore_state(pdev, tp->pci_state); @@ -1911,7 +1912,7 @@ static int typhoon_start_runtime(struct typhoon *tp) { struct net_device *dev = tp->dev; - unsigned long ioaddr = tp->ioaddr; + void __iomem *ioaddr = tp->ioaddr; struct cmd_desc xp_cmd; int err; @@ -2006,7 +2007,7 @@ typhoon_stop_runtime(struct typhoon *tp, int wait_type) { struct typhoon_indexes *indexes = tp->indexes; struct transmit_ring *txLo = &tp->txLoRing; - unsigned long ioaddr = tp->ioaddr; + void __iomem *ioaddr = tp->ioaddr; struct cmd_desc xp_cmd; int i; @@ -2070,7 +2071,7 @@ typhoon_tx_timeout(struct net_device *dev) { struct typhoon *tp = (struct typhoon *) dev->priv; - if(typhoon_reset(dev->base_addr, WaitNoSleep) < 0) { + if(typhoon_reset(tp->ioaddr, WaitNoSleep) < 0) { printk(KERN_WARNING "%s: could not reset in tx timeout\n", dev->name); goto truely_dead; @@ -2091,7 +2092,7 @@ typhoon_tx_timeout(struct net_device *dev) truely_dead: /* Reset the hardware, and turn off carrier to avoid more timeouts */ - typhoon_reset(dev->base_addr, NoWait); + typhoon_reset(tp->ioaddr, NoWait); netif_carrier_off(dev); } @@ -2126,7 +2127,7 @@ out_sleep: if(typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST) < 0) { printk(KERN_ERR "%s: unable to reboot into sleep img\n", dev->name); - typhoon_reset(dev->base_addr, NoWait); + typhoon_reset(tp->ioaddr, NoWait); goto out; } @@ -2192,7 +2193,7 @@ typhoon_resume(struct pci_dev *pdev) return 0; reset: - typhoon_reset(dev->base_addr, NoWait); + typhoon_reset(tp->ioaddr, NoWait); return -EBUSY; } @@ -2276,6 +2277,7 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) struct typhoon *tp; int card_id = (int) ent->driver_data; unsigned long ioaddr; + void __iomem *ioaddr_mapped; void *shared; dma_addr_t shared_dma; struct cmd_desc xp_cmd; @@ -2345,14 +2347,13 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) /* map our MMIO region */ ioaddr = pci_resource_start(pdev, 1); - ioaddr = (unsigned long) ioremap(ioaddr, 128); - if(!ioaddr) { + ioaddr_mapped = ioremap(ioaddr, 128); + if (!ioaddr_mapped) { printk(ERR_PFX "%s: cannot remap MMIO, aborting\n", pci_name(pdev)); err = -EIO; goto error_out_regions; } - dev->base_addr = ioaddr; /* allocate pci dma space for rx and tx descriptor rings */ @@ -2371,8 +2372,8 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) tp->shared_dma = shared_dma; tp->pdev = pdev; tp->tx_pdev = pdev; - tp->ioaddr = dev->base_addr; - tp->tx_ioaddr = dev->base_addr; + tp->ioaddr = ioaddr_mapped; + tp->tx_ioaddr = ioaddr_mapped; tp->dev = dev; /* need to be able to restore PCI state after a suspend */ @@ -2385,7 +2386,7 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) * 4) Get the hardware address. * 5) Put the card to sleep. */ - if(typhoon_reset(ioaddr, WaitSleep) < 0) { + if (typhoon_reset(ioaddr_mapped, WaitSleep) < 0) { printk(ERR_PFX "%s: could not reset 3XP\n", pci_name(pdev)); err = -EIO; goto error_out_dma; @@ -2518,13 +2519,13 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) return 0; error_out_reset: - typhoon_reset(ioaddr, NoWait); + typhoon_reset(ioaddr_mapped, NoWait); error_out_dma: pci_free_consistent(pdev, sizeof(struct typhoon_shared), shared, shared_dma); error_out_remap: - iounmap((void *) ioaddr); + iounmap(ioaddr_mapped); error_out_regions: pci_release_regions(pdev); error_out_dev: @@ -2542,8 +2543,8 @@ typhoon_remove_one(struct pci_dev *pdev) unregister_netdev(dev); pci_set_power_state(pdev, 0); pci_restore_state(pdev, tp->pci_state); - typhoon_reset(dev->base_addr, NoWait); - iounmap((char *) (dev->base_addr)); + typhoon_reset(tp->ioaddr, NoWait); + iounmap(tp->ioaddr); pci_free_consistent(pdev, sizeof(struct typhoon_shared), tp->shared, tp->shared_dma); pci_release_regions(pdev); diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 6c9206301..f7f77c365 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -125,11 +125,16 @@ LK1.1.19 (Roger Luethi) - Increase Tx threshold for unspecified errors + LK1.2.0-2.6 (Roger Luethi) + - Massive clean-up + - Rewrite PHY, media handling (remove options, full_duplex, backoff) + - Fix Tx engine race for good + */ #define DRV_NAME "via-rhine" -#define DRV_VERSION "1.1.20-2.6" -#define DRV_RELDATE "May-23-2004" +#define DRV_VERSION "1.2.0-2.6" +#define DRV_RELDATE "June-10-2004" /* A few user-configurable values. @@ -142,22 +147,10 @@ static int max_interrupt_work = 20; Setting to > 1518 effectively disables this feature. */ static int rx_copybreak; -/* Select a backoff algorithm (Ethernet capture effect) */ -static int backoff; - -/* Used to pass the media type, etc. - Both 'options[]' and 'full_duplex[]' should exist for driver - interoperability. - The media type is usually passed in 'options[]'. - The default is autonegotiation for speed and duplex. - This should rarely be overridden. - Use option values 0x10/0x20 for 10Mbps, 0x100,0x200 for 100Mbps. - Use option values 0x10 and 0x100 for forcing half duplex fixed speed. - Use option values 0x20 and 0x200 for forcing full duplex operation. -*/ -#define MAX_UNITS 8 /* More are supported, limit only on options */ -static int options[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; -static int full_duplex[MAX_UNITS] = {-1, -1, -1, -1, -1, -1, -1, -1}; +/* + * In case you are looking for 'options[]' or 'full_duplex[]', they + * are gone. Use ethtool(8) instead. + */ /* Maximum number of multicast addresses to filter (vs. rx-all-multicast). The Rhine has a 64 element 8390-like hash table. */ @@ -210,9 +203,6 @@ static const int multicast_filter_limit = 32; static char version[] __devinitdata = KERN_INFO DRV_NAME ".c:v1.10-LK" DRV_VERSION " " DRV_RELDATE " Written by Donald Becker\n"; -static char shortname[] = DRV_NAME; - - /* This driver was written to use PCI memory space. Some early versions of the Rhine may only work correctly with I/O space accesses. */ #ifdef CONFIG_VIA_RHINE_MMIO @@ -239,15 +229,9 @@ MODULE_LICENSE("GPL"); MODULE_PARM(max_interrupt_work, "i"); MODULE_PARM(debug, "i"); MODULE_PARM(rx_copybreak, "i"); -MODULE_PARM(backoff, "i"); -MODULE_PARM(options, "1-" __MODULE_STRING(MAX_UNITS) "i"); -MODULE_PARM(full_duplex, "1-" __MODULE_STRING(MAX_UNITS) "i"); MODULE_PARM_DESC(max_interrupt_work, "VIA Rhine maximum events handled per interrupt"); MODULE_PARM_DESC(debug, "VIA Rhine debug level (0-7)"); MODULE_PARM_DESC(rx_copybreak, "VIA Rhine copy breakpoint for copy-only-tiny-frames"); -MODULE_PARM_DESC(backoff, "VIA Rhine: Bits 0-3: backoff algorithm"); -MODULE_PARM_DESC(options, "VIA Rhine: Bits 0-3: media type, bit 17: full duplex"); -MODULE_PARM_DESC(full_duplex, "VIA Rhine full duplex setting(s) (1)"); /* Theory of Operation @@ -350,24 +334,24 @@ The chip does not pad to minimum transmit length. enum rhine_revs { VT86C100A = 0x00, + VTunknown0 = 0x20, VT6102 = 0x40, VT8231 = 0x50, /* Integrated MAC */ VT8233 = 0x60, /* Integrated MAC */ VT8235 = 0x74, /* Integrated MAC */ VT8237 = 0x78, /* Integrated MAC */ - VTunknown0 = 0x7C, + VTunknown1 = 0x7C, VT6105 = 0x80, VT6105_B0 = 0x83, VT6105L = 0x8A, VT6107 = 0x8C, - VTunknown1 = 0x8E, - VT6105M = 0x90, + VTunknown2 = 0x8E, + VT6105M = 0x90, /* Management adapter */ }; enum rhine_quirks { rqWOL = 0x0001, /* Wake-On-LAN support */ rqForceReset = 0x0002, - rqDavicomPhy = 0x0020, rq6patterns = 0x0040, /* 6 instead of 4 patterns for WOL */ rqStatusWBRace = 0x0080, /* Tx Status Writeback Error possible */ rqRhineI = 0x0100, /* See comment below */ @@ -395,6 +379,7 @@ MODULE_DEVICE_TABLE(pci, rhine_pci_tbl); /* Offsets to the device registers. */ enum register_offsets { StationAddr=0x00, RxConfig=0x06, TxConfig=0x07, ChipCmd=0x08, + ChipCmd1=0x09, IntrStatus=0x0C, IntrEnable=0x0E, MulticastFilter0=0x10, MulticastFilter1=0x14, RxRingPtr=0x18, TxRingPtr=0x1C, GFIFOTest=0x54, @@ -403,8 +388,8 @@ enum register_offsets { ConfigA=0x78, ConfigB=0x79, ConfigC=0x7A, ConfigD=0x7B, RxMissed=0x7C, RxCRCErrs=0x7E, MiscCmd=0x81, StickyHW=0x83, IntrStatus2=0x84, - WOLcrSet=0xA0, WOLcrClr=0xA4, WOLcrClr1=0xA6, - WOLcgClr=0xA7, + WOLcrSet=0xA0, PwcfgSet=0xA1, WOLcgSet=0xA3, WOLcrClr=0xA4, + WOLcrClr1=0xA6, WOLcgClr=0xA7, PwrcsrSet=0xA8, PwrcsrSet1=0xA9, PwrcsrClr=0xAC, PwrcsrClr1=0xAD, }; @@ -436,6 +421,15 @@ enum intr_status_bits { IntrTxErrSummary=0x082218, }; +/* Bits in WOLcrSet/WOLcrClr and PwrcsrSet/PwrcsrClr */ +enum wol_bits { + WOLucast = 0x10, + WOLmagic = 0x20, + WOLbmcast = 0x30, + WOLlnkon = 0x40, + WOLlnkoff = 0x80, +}; + /* The Rx and Tx buffer descriptors. */ struct rx_desc { s32 rx_status; @@ -464,13 +458,12 @@ enum desc_status_bits { /* Bits in ChipCmd. */ enum chip_cmd_bits { - CmdInit=0x0001, CmdStart=0x0002, CmdStop=0x0004, CmdRxOn=0x0008, - CmdTxOn=0x0010, CmdTxDemand=0x0020, CmdRxDemand=0x0040, - CmdEarlyRx=0x0100, CmdEarlyTx=0x0200, CmdFDuplex=0x0400, - CmdNoTxPoll=0x0800, CmdReset=0x8000, + CmdInit=0x01, CmdStart=0x02, CmdStop=0x04, CmdRxOn=0x08, + CmdTxOn=0x10, Cmd1TxDemand=0x20, CmdRxDemand=0x40, + Cmd1EarlyRx=0x01, Cmd1EarlyTx=0x02, Cmd1FDuplex=0x04, + Cmd1NoTxPoll=0x08, Cmd1Reset=0x80, }; -#define MAX_MII_CNT 4 struct rhine_private { /* Descriptor rings */ struct rx_desc *rx_ring; @@ -492,8 +485,8 @@ struct rhine_private { dma_addr_t tx_bufs_dma; struct pci_dev *pdev; + long pioaddr; struct net_device_stats stats; - struct timer_list timer; /* Media monitoring timer. */ spinlock_t lock; /* Frequently used values: keep some adjacent for cache effect. */ @@ -502,23 +495,16 @@ struct rhine_private { unsigned int cur_rx, dirty_rx; /* Producer/consumer ring indices */ unsigned int cur_tx, dirty_tx; unsigned int rx_buf_sz; /* Based on MTU+slack. */ - u16 chip_cmd; /* Current setting for ChipCmd */ + u8 wolopts; - /* These values are keep track of the transceiver/media in use. */ u8 tx_thresh, rx_thresh; - /* MII transceiver section. */ - unsigned char phys[MAX_MII_CNT]; /* MII device addresses. */ - unsigned int mii_cnt; /* number of MIIs found, but only the first one is used */ - u16 mii_status; /* last read MII status */ struct mii_if_info mii_if; }; static int mdio_read(struct net_device *dev, int phy_id, int location); static void mdio_write(struct net_device *dev, int phy_id, int location, int value); static int rhine_open(struct net_device *dev); -static void rhine_check_duplex(struct net_device *dev); -static void rhine_timer(unsigned long data); static void rhine_tx_timeout(struct net_device *dev); static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev); static irqreturn_t rhine_interrupt(int irq, void *dev_instance, struct pt_regs *regs); @@ -530,6 +516,16 @@ static struct net_device_stats *rhine_get_stats(struct net_device *dev); static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); static struct ethtool_ops netdev_ethtool_ops; static int rhine_close(struct net_device *dev); +static void rhine_shutdown (struct device *gdev); + +#define RHINE_WAIT_FOR(condition) do { \ + int i=1024; \ + while (!(condition) && --i) \ + ; \ + if (debug > 1 && i < 512) \ + printk(KERN_INFO "%s: %4d cycles used @ %s:%d\n", \ + DRV_NAME, 1024-i, __func__, __LINE__); \ +} while(0) static inline u32 get_intr_status(struct net_device *dev) { @@ -546,12 +542,13 @@ static inline u32 get_intr_status(struct net_device *dev) /* * Get power related registers into sane state. - * Returns content of power-event (WOL) registers. + * Notify user about past WOL event. */ static void rhine_power_init(struct net_device *dev) { long ioaddr = dev->base_addr; struct rhine_private *rp = netdev_priv(dev); + u16 wolstat; if (rp->quirks & rqWOL) { /* Make sure chip is in power state D0 */ @@ -566,63 +563,109 @@ static void rhine_power_init(struct net_device *dev) if (rp->quirks & rq6patterns) writeb(0x03, ioaddr + WOLcrClr1); + /* Save power-event status bits */ + wolstat = readb(ioaddr + PwrcsrSet); + if (rp->quirks & rq6patterns) + wolstat |= (readb(ioaddr + PwrcsrSet1) & 0x03) << 8; + /* Clear power-event status bits */ writeb(0xFF, ioaddr + PwrcsrClr); if (rp->quirks & rq6patterns) writeb(0x03, ioaddr + PwrcsrClr1); + + if (wolstat) { + char *reason; + switch (wolstat) { + case WOLmagic: + reason = "Magic packet"; + break; + case WOLlnkon: + reason = "Link went up"; + break; + case WOLlnkoff: + reason = "Link went down"; + break; + case WOLucast: + reason = "Unicast packet"; + break; + case WOLbmcast: + reason = "Multicast/broadcast packet"; + break; + default: + reason = "Unknown"; + } + printk(KERN_INFO "%s: Woke system up. Reason: %s.\n", + DRV_NAME, reason); + } } } -static void wait_for_reset(struct net_device *dev, u32 quirks, char *name) +static void rhine_chip_reset(struct net_device *dev) { long ioaddr = dev->base_addr; - int boguscnt = 20; + struct rhine_private *rp = netdev_priv(dev); + writeb(Cmd1Reset, ioaddr + ChipCmd1); IOSYNC; - if (readw(ioaddr + ChipCmd) & CmdReset) { + if (readb(ioaddr + ChipCmd1) & Cmd1Reset) { printk(KERN_INFO "%s: Reset not complete yet. " - "Trying harder.\n", name); + "Trying harder.\n", DRV_NAME); - /* Rhine-II needs to be forced sometimes */ - if (quirks & rqForceReset) + /* Force reset */ + if (rp->quirks & rqForceReset) writeb(0x40, ioaddr + MiscCmd); - /* VT86C100A may need long delay after reset (dlink) */ - /* Seen on Rhine-II as well (rl) */ - while ((readw(ioaddr + ChipCmd) & CmdReset) && --boguscnt) - udelay(5); - + /* Reset can take somewhat longer (rare) */ + RHINE_WAIT_FOR(!(readb(ioaddr + ChipCmd1) & Cmd1Reset)); } if (debug > 1) - printk(KERN_INFO "%s: Reset %s.\n", name, - boguscnt ? "succeeded" : "failed"); + printk(KERN_INFO "%s: Reset %s.\n", dev->name, + (readb(ioaddr + ChipCmd1) & Cmd1Reset) ? + "failed" : "succeeded"); } #ifdef USE_MMIO -static void __devinit enable_mmio(long ioaddr, u32 quirks) +static void enable_mmio(long pioaddr, u32 quirks) { int n; if (quirks & rqRhineI) { /* More recent docs say that this bit is reserved ... */ - n = inb(ioaddr + ConfigA) | 0x20; - outb(n, ioaddr + ConfigA); + n = inb(pioaddr + ConfigA) | 0x20; + outb(n, pioaddr + ConfigA); } else { - n = inb(ioaddr + ConfigD) | 0x80; - outb(n, ioaddr + ConfigD); + n = inb(pioaddr + ConfigD) | 0x80; + outb(n, pioaddr + ConfigD); } } #endif -static void __devinit reload_eeprom(long ioaddr) +/* + * Loads bytes 0x00-0x05, 0x6E-0x6F, 0x78-0x7B from EEPROM + * (plus 0x6C for Rhine-I/II) + */ +static void __devinit rhine_reload_eeprom(long pioaddr, struct net_device *dev) { - int i; - outb(0x20, ioaddr + MACRegEEcsr); - /* Typically 2 cycles to reload. */ - for (i = 0; i < 150; i++) - if (! (inb(ioaddr + MACRegEEcsr) & 0x20)) - break; + long ioaddr = dev->base_addr; + struct rhine_private *rp = netdev_priv(dev); + + outb(0x20, pioaddr + MACRegEEcsr); + RHINE_WAIT_FOR(!(inb(pioaddr + MACRegEEcsr) & 0x20)); + +#ifdef USE_MMIO + /* + * Reloading from EEPROM overwrites ConfigA-D, so we must re-enable + * MMIO. If reloading EEPROM was done first this could be avoided, but + * it is not known if that still works with the "win98-reboot" problem. + */ + enable_mmio(pioaddr, rp->quirks); +#endif + + /* Turn off EEPROM-controlled wake-up (magic packet) */ + if (rp->quirks & rqWOL) + writeb(readb(ioaddr + ConfigA) & 0xFE, ioaddr + ConfigA); + } #ifdef CONFIG_NET_POLL_CONTROLLER @@ -634,22 +677,33 @@ static void rhine_poll(struct net_device *dev) } #endif +static void rhine_hw_init(struct net_device *dev, long pioaddr) +{ + struct rhine_private *rp = netdev_priv(dev); + + /* Reset the chip to erase previous misconfiguration. */ + rhine_chip_reset(dev); + + /* Rhine-I needs extra time to recuperate before EEPROM reload */ + if (rp->quirks & rqRhineI) + msleep(5); + + /* Reload EEPROM controlled bytes cleared by soft reset */ + rhine_reload_eeprom(pioaddr, dev); +} + static int __devinit rhine_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) { struct net_device *dev; struct rhine_private *rp; - int i, option, rc; + int i, rc; u8 pci_rev; u32 quirks; - static int card_idx = -1; - long ioaddr; + long pioaddr; long memaddr; - int io_size; - int phy, phy_idx = 0; -#ifdef USE_MMIO - long ioaddr0; -#endif + long ioaddr; + int io_size, phy_id; const char *name; /* when built into the kernel, we only print version if device is found */ @@ -659,26 +713,30 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, printk(version); #endif - card_idx++; - option = card_idx < MAX_UNITS ? options[card_idx] : 0; pci_read_config_byte(pdev, PCI_REVISION_ID, &pci_rev); io_size = 256; - if (pci_rev < VT6102) { - quirks = rqRhineI | rqDavicomPhy; + phy_id = 0; + quirks = 0; + name = "Rhine"; + if (pci_rev < VTunknown0) { + quirks = rqRhineI; io_size = 128; - name = "VT86C100A Rhine"; } - else { + else if (pci_rev >= VT6102) { quirks = rqWOL | rqForceReset; if (pci_rev < VT6105) { name = "Rhine II"; quirks |= rqStatusWBRace; /* Rhine-II exclusive */ } else { - name = "Rhine III"; + phy_id = 1; /* Integrated PHY, phy_id fixed to 1 */ if (pci_rev >= VT6105_B0) quirks |= rq6patterns; + if (pci_rev < VT6105M) + name = "Rhine III"; + else + name = "Rhine III (Management Adapter)"; } } @@ -702,28 +760,31 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, goto err_out; } - ioaddr = pci_resource_start(pdev, 0); + pioaddr = pci_resource_start(pdev, 0); memaddr = pci_resource_start(pdev, 1); pci_set_master(pdev); - dev = alloc_etherdev(sizeof(*rp)); - if (dev == NULL) { + dev = alloc_etherdev(sizeof(struct rhine_private)); + if (!dev) { rc = -ENOMEM; - printk(KERN_ERR "init_ethernet failed for card #%d\n", - card_idx); + printk(KERN_ERR "alloc_etherdev failed\n"); goto err_out; } SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); - rc = pci_request_regions(pdev, shortname); + rp = netdev_priv(dev); + rp->quirks = quirks; + rp->pioaddr = pioaddr; + rp->pdev = pdev; + + rc = pci_request_regions(pdev, DRV_NAME); if (rc) goto err_out_free_netdev; #ifdef USE_MMIO - ioaddr0 = ioaddr; - enable_mmio(ioaddr0, quirks); + enable_mmio(pioaddr, quirks); ioaddr = (long) ioremap(memaddr, io_size); if (!ioaddr) { @@ -737,7 +798,7 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, i = 0; while (mmio_verify_registers[i]) { int reg = mmio_verify_registers[i++]; - unsigned char a = inb(ioaddr0+reg); + unsigned char a = inb(pioaddr+reg); unsigned char b = readb(ioaddr+reg); if (a != b) { rc = -EIO; @@ -746,65 +807,38 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, goto err_out_unmap; } } +#else + ioaddr = pioaddr; #endif /* USE_MMIO */ + dev->base_addr = ioaddr; - rp = netdev_priv(dev); - rp->quirks = quirks; + /* Get chip registers into a sane state */ rhine_power_init(dev); - - /* Reset the chip to erase previous misconfiguration. */ - writew(CmdReset, ioaddr + ChipCmd); - - wait_for_reset(dev, quirks, shortname); - - /* Reload the station address from the EEPROM. */ -#ifdef USE_MMIO - reload_eeprom(ioaddr0); - /* Reloading from eeprom overwrites cfgA-D, so we must re-enable MMIO. - If reload_eeprom() was done first this could be avoided, but it is - not known if that still works with the "win98-reboot" problem. */ - enable_mmio(ioaddr0, quirks); -#else - reload_eeprom(ioaddr); -#endif + rhine_hw_init(dev, pioaddr); for (i = 0; i < 6; i++) dev->dev_addr[i] = readb(ioaddr + StationAddr + i); if (!is_valid_ether_addr(dev->dev_addr)) { rc = -EIO; - printk(KERN_ERR "Invalid MAC address for card #%d\n", card_idx); + printk(KERN_ERR "Invalid MAC address\n"); goto err_out_unmap; } - if (quirks & rqWOL) { - /* - * for 3065D, EEPROM reloaded will cause bit 0 in MAC_REG_CFGA - * turned on. it makes MAC receive magic packet - * automatically. So, we turn it off. (D-Link) - */ - writeb(readb(ioaddr + ConfigA) & 0xFE, ioaddr + ConfigA); - } - - /* Select backoff algorithm */ - if (backoff) - writeb(readb(ioaddr + ConfigD) & (0xF0 | backoff), - ioaddr + ConfigD); + /* For Rhine-I/II, phy_id is loaded from EEPROM */ + if (!phy_id) + phy_id = readb(ioaddr + 0x6C); dev->irq = pdev->irq; spin_lock_init(&rp->lock); - rp->pdev = pdev; rp->mii_if.dev = dev; rp->mii_if.mdio_read = mdio_read; rp->mii_if.mdio_write = mdio_write; rp->mii_if.phy_id_mask = 0x1f; rp->mii_if.reg_num_mask = 0x1f; - if (dev->mem_start) - option = dev->mem_start; - /* The chip-specific entries in the device structure. */ dev->open = rhine_open; dev->hard_start_xmit = rhine_start_tx; @@ -826,20 +860,6 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, if (rc) goto err_out_unmap; - /* The lower four bits are the media type. */ - if (option > 0) { - if (option & 0x220) - rp->mii_if.full_duplex = 1; - } - if (card_idx < MAX_UNITS && full_duplex[card_idx] > 0) - rp->mii_if.full_duplex = 1; - - if (rp->mii_if.full_duplex) { - printk(KERN_INFO "%s: Set to forced full duplex, " - "autonegotiation disabled.\n", dev->name); - rp->mii_if.force_media = 1; - } - printk(KERN_INFO "%s: VIA %s at 0x%lx, ", dev->name, name, #ifdef USE_MMIO @@ -855,17 +875,18 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, pci_set_drvdata(pdev, dev); - rp->phys[0] = 1; /* Standard for this chip. */ - for (phy = 1; phy < 32 && phy_idx < MAX_MII_CNT; phy++) { - int mii_status = mdio_read(dev, phy, 1); + { + u16 mii_cmd; + int mii_status = mdio_read(dev, phy_id, 1); + mii_cmd = mdio_read(dev, phy_id, MII_BMCR) & ~BMCR_ISOLATE; + mdio_write(dev, phy_id, MII_BMCR, mii_cmd); if (mii_status != 0xffff && mii_status != 0x0000) { - rp->phys[phy_idx++] = phy; - rp->mii_if.advertising = mdio_read(dev, phy, 4); + rp->mii_if.advertising = mdio_read(dev, phy_id, 4); printk(KERN_INFO "%s: MII PHY found at address " "%d, status 0x%4.4x advertising %4.4x " - "Link %4.4x.\n", dev->name, phy, + "Link %4.4x.\n", dev->name, phy_id, mii_status, rp->mii_if.advertising, - mdio_read(dev, phy, 5)); + mdio_read(dev, phy_id, 5)); /* set IFF_RUNNING */ if (mii_status & BMSR_LSTATUS) @@ -873,27 +894,9 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, else netif_carrier_off(dev); - break; - } - } - rp->mii_cnt = phy_idx; - rp->mii_if.phy_id = rp->phys[0]; - - /* Allow forcing the media type. */ - if (option > 0) { - if (option & 0x220) - rp->mii_if.full_duplex = 1; - if (option & 0x330) { - printk(KERN_INFO " Forcing %dMbs %s-duplex " - "operation.\n", - (option & 0x300 ? 100 : 10), - (option & 0x220 ? "full" : "half")); - if (rp->mii_cnt) - mdio_write(dev, rp->phys[0], MII_BMCR, - ((option & 0x300) ? 0x2000 : 0) | /* 100mbps? */ - ((option & 0x220) ? 0x0100 : 0)); /* Full duplex? */ } } + rp->mii_if.phy_id = phy_id; return 0; @@ -1065,6 +1068,21 @@ static void free_tbufs(struct net_device* dev) } } +static void rhine_check_media(struct net_device *dev, unsigned int init_media) +{ + struct rhine_private *rp = netdev_priv(dev); + long ioaddr = dev->base_addr; + + mii_check_media(&rp->mii_if, debug, init_media); + + if (rp->mii_if.full_duplex) + writeb(readb(ioaddr + ChipCmd1) | Cmd1FDuplex, + ioaddr + ChipCmd1); + else + writeb(readb(ioaddr + ChipCmd1) & ~Cmd1FDuplex, + ioaddr + ChipCmd1); +} + static void init_registers(struct net_device *dev) { struct rhine_private *rp = netdev_priv(dev); @@ -1080,7 +1098,6 @@ static void init_registers(struct net_device *dev) writeb(0x20, ioaddr + TxConfig); rp->tx_thresh = 0x20; rp->rx_thresh = 0x60; /* Written in rhine_set_rx_mode(). */ - rp->mii_if.full_duplex = 0; writel(rp->rx_ring_dma, ioaddr + RxRingPtr); writel(rp->tx_ring_dma, ioaddr + TxRingPtr); @@ -1094,17 +1111,44 @@ static void init_registers(struct net_device *dev) IntrPCIErr | IntrStatsMax | IntrLinkChange, ioaddr + IntrEnable); - rp->chip_cmd = CmdStart|CmdTxOn|CmdRxOn|CmdNoTxPoll; - if (rp->mii_if.force_media) - rp->chip_cmd |= CmdFDuplex; - writew(rp->chip_cmd, ioaddr + ChipCmd); + writew(CmdStart | CmdTxOn | CmdRxOn | (Cmd1NoTxPoll << 8), + ioaddr + ChipCmd); + rhine_check_media(dev, 1); +} + +/* Enable MII link status auto-polling (required for IntrLinkChange) */ +static void rhine_enable_linkmon(long ioaddr) +{ + writeb(0, ioaddr + MIICmd); + writeb(MII_BMSR, ioaddr + MIIRegAddr); + writeb(0x80, ioaddr + MIICmd); + + RHINE_WAIT_FOR((readb(ioaddr + MIIRegAddr) & 0x20)); + + writeb(MII_BMSR | 0x40, ioaddr + MIIRegAddr); +} + +/* Disable MII link status auto-polling (required for MDIO access) */ +static void rhine_disable_linkmon(long ioaddr, u32 quirks) +{ + writeb(0, ioaddr + MIICmd); + + if (quirks & rqRhineI) { + writeb(0x01, ioaddr + MIIRegAddr); // MII_BMSR + + /* Can be called from ISR. Evil. */ + mdelay(1); + + /* 0x80 must be set immediately before turning it off */ + writeb(0x80, ioaddr + MIICmd); - rhine_check_duplex(dev); + RHINE_WAIT_FOR(readb(ioaddr + MIIRegAddr) & 0x20); - /* The LED outputs of various MII xcvrs should be configured. */ - /* For NS or Mison phys, turn on bit 1 in register 0x17 */ - mdio_write(dev, rp->phys[0], 0x17, mdio_read(dev, rp->phys[0], 0x17) | - 0x0001); + /* Heh. Now clear 0x80 again. */ + writeb(0, ioaddr + MIICmd); + } + else + RHINE_WAIT_FOR(readb(ioaddr + MIIRegAddr) & 0x80); } /* Read and write over the MII Management Data I/O (MDIO) interface. */ @@ -1112,156 +1156,72 @@ static void init_registers(struct net_device *dev) static int mdio_read(struct net_device *dev, int phy_id, int regnum) { long ioaddr = dev->base_addr; - int boguscnt = 1024; + struct rhine_private *rp = netdev_priv(dev); + int result; - /* Wait for a previous command to complete. */ - while ((readb(ioaddr + MIICmd) & 0x60) && --boguscnt > 0) - ; - writeb(0x00, ioaddr + MIICmd); + rhine_disable_linkmon(ioaddr, rp->quirks); + + /* rhine_disable_linkmon already cleared MIICmd */ writeb(phy_id, ioaddr + MIIPhyAddr); writeb(regnum, ioaddr + MIIRegAddr); writeb(0x40, ioaddr + MIICmd); /* Trigger read */ - boguscnt = 1024; - while ((readb(ioaddr + MIICmd) & 0x40) && --boguscnt > 0) - ; - return readw(ioaddr + MIIData); + RHINE_WAIT_FOR(!(readb(ioaddr + MIICmd) & 0x40)); + result = readw(ioaddr + MIIData); + + rhine_enable_linkmon(ioaddr); + return result; } static void mdio_write(struct net_device *dev, int phy_id, int regnum, int value) { struct rhine_private *rp = netdev_priv(dev); long ioaddr = dev->base_addr; - int boguscnt = 1024; - if (phy_id == rp->phys[0]) { - switch (regnum) { - case MII_BMCR: /* Is user forcing speed/duplex? */ - if (value & 0x9000) /* Autonegotiation. */ - rp->mii_if.force_media = 0; - else - rp->mii_if.full_duplex = (value & 0x0100) ? 1 : 0; - break; - case MII_ADVERTISE: - rp->mii_if.advertising = value; - break; - } - } + rhine_disable_linkmon(ioaddr, rp->quirks); - /* Wait for a previous command to complete. */ - while ((readb(ioaddr + MIICmd) & 0x60) && --boguscnt > 0) - ; - writeb(0x00, ioaddr + MIICmd); + /* rhine_disable_linkmon already cleared MIICmd */ writeb(phy_id, ioaddr + MIIPhyAddr); writeb(regnum, ioaddr + MIIRegAddr); writew(value, ioaddr + MIIData); - writeb(0x20, ioaddr + MIICmd); /* Trigger write. */ -} + writeb(0x20, ioaddr + MIICmd); /* Trigger write */ + RHINE_WAIT_FOR(!(readb(ioaddr + MIICmd) & 0x20)); + rhine_enable_linkmon(ioaddr); +} static int rhine_open(struct net_device *dev) { struct rhine_private *rp = netdev_priv(dev); long ioaddr = dev->base_addr; - int i; - - /* Reset the chip. */ - writew(CmdReset, ioaddr + ChipCmd); + int rc; - i = request_irq(rp->pdev->irq, &rhine_interrupt, SA_SHIRQ, dev->name, + rc = request_irq(rp->pdev->irq, &rhine_interrupt, SA_SHIRQ, dev->name, dev); - if (i) - return i; + if (rc) + return rc; if (debug > 1) printk(KERN_DEBUG "%s: rhine_open() irq %d.\n", dev->name, rp->pdev->irq); - i = alloc_ring(dev); - if (i) - return i; + rc = alloc_ring(dev); + if (rc) + return rc; alloc_rbufs(dev); alloc_tbufs(dev); - wait_for_reset(dev, rp->quirks, dev->name); + rhine_chip_reset(dev); init_registers(dev); if (debug > 2) printk(KERN_DEBUG "%s: Done rhine_open(), status %4.4x " "MII status: %4.4x.\n", dev->name, readw(ioaddr + ChipCmd), - mdio_read(dev, rp->phys[0], MII_BMSR)); + mdio_read(dev, rp->mii_if.phy_id, MII_BMSR)); netif_start_queue(dev); - /* Set the timer to check for link beat. */ - init_timer(&rp->timer); - rp->timer.expires = jiffies + 2 * HZ/100; - rp->timer.data = (unsigned long)dev; - rp->timer.function = &rhine_timer; /* timer handler */ - add_timer(&rp->timer); - return 0; } -static void rhine_check_duplex(struct net_device *dev) -{ - struct rhine_private *rp = netdev_priv(dev); - long ioaddr = dev->base_addr; - int mii_lpa = mdio_read(dev, rp->phys[0], MII_LPA); - int negotiated = mii_lpa & rp->mii_if.advertising; - int duplex; - - if (rp->mii_if.force_media || mii_lpa == 0xffff) - return; - duplex = (negotiated & 0x0100) || (negotiated & 0x01C0) == 0x0040; - if (rp->mii_if.full_duplex != duplex) { - rp->mii_if.full_duplex = duplex; - if (debug) - printk(KERN_INFO "%s: Setting %s-duplex based on " - "MII #%d link partner capability of %4.4x.\n", - dev->name, duplex ? "full" : "half", - rp->phys[0], mii_lpa); - if (duplex) - rp->chip_cmd |= CmdFDuplex; - else - rp->chip_cmd &= ~CmdFDuplex; - writew(rp->chip_cmd, ioaddr + ChipCmd); - } -} - - -static void rhine_timer(unsigned long data) -{ - struct net_device *dev = (struct net_device *)data; - struct rhine_private *rp = netdev_priv(dev); - long ioaddr = dev->base_addr; - int next_tick = 10*HZ; - int mii_status; - - if (debug > 3) { - printk(KERN_DEBUG "%s: VIA Rhine monitor tick, status %4.4x.\n", - dev->name, readw(ioaddr + IntrStatus)); - } - - spin_lock_irq (&rp->lock); - - rhine_check_duplex(dev); - - /* make IFF_RUNNING follow the MII status bit "Link established" */ - mii_status = mdio_read(dev, rp->phys[0], MII_BMSR); - if ((mii_status & BMSR_LSTATUS) != (rp->mii_status & BMSR_LSTATUS)) { - if (mii_status & BMSR_LSTATUS) - netif_carrier_on(dev); - else - netif_carrier_off(dev); - } - rp->mii_status = mii_status; - - spin_unlock_irq(&rp->lock); - - rp->timer.expires = jiffies + next_tick; - add_timer(&rp->timer); -} - - static void rhine_tx_timeout(struct net_device *dev) { struct rhine_private *rp = netdev_priv(dev); @@ -1270,16 +1230,13 @@ static void rhine_tx_timeout(struct net_device *dev) printk(KERN_WARNING "%s: Transmit timed out, status %4.4x, PHY status " "%4.4x, resetting...\n", dev->name, readw(ioaddr + IntrStatus), - mdio_read(dev, rp->phys[0], MII_BMSR)); + mdio_read(dev, rp->mii_if.phy_id, MII_BMSR)); /* protect against concurrent rx interrupts */ disable_irq(rp->pdev->irq); spin_lock(&rp->lock); - /* Reset the chip. */ - writew(CmdReset, ioaddr + ChipCmd); - /* clear all descriptors */ free_tbufs(dev); free_rbufs(dev); @@ -1287,7 +1244,7 @@ static void rhine_tx_timeout(struct net_device *dev) alloc_rbufs(dev); /* Reinitialize the hardware. */ - wait_for_reset(dev, rp->quirks, dev->name); + rhine_chip_reset(dev); init_registers(dev); spin_unlock(&rp->lock); @@ -1301,8 +1258,8 @@ static void rhine_tx_timeout(struct net_device *dev) static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev) { struct rhine_private *rp = netdev_priv(dev); + long ioaddr = dev->base_addr; unsigned entry; - u32 intr_status; /* Caution: the write order is important here, set the field with the "ownership" bits last. */ @@ -1353,14 +1310,9 @@ static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev) /* Non-x86 Todo: explicitly flush cache lines here. */ - /* - * Wake the potentially-idle transmit channel unless errors are - * pending (the ISR must sort them out first). - */ - intr_status = get_intr_status(dev); - if ((intr_status & IntrTxErrSummary) == 0) { - writew(CmdTxDemand | rp->chip_cmd, dev->base_addr + ChipCmd); - } + /* Wake the potentially-idle transmit channel */ + writeb(readb(ioaddr + ChipCmd1) | Cmd1TxDemand, + ioaddr + ChipCmd1); IOSYNC; if (rp->cur_tx == rp->dirty_tx + TX_QUEUE_LEN) @@ -1408,11 +1360,10 @@ static irqreturn_t rhine_interrupt(int irq, void *dev_instance, struct pt_regs * if (intr_status & (IntrTxErrSummary | IntrTxDone)) { if (intr_status & IntrTxErrSummary) { - int cnt = 20; /* Avoid scavenging before Tx engine turned off */ - while ((readw(ioaddr+ChipCmd) & CmdTxOn) && --cnt) - udelay(5); - if (debug > 2 && !cnt) + RHINE_WAIT_FOR(!(readb(ioaddr+ChipCmd) & CmdTxOn)); + if (debug > 2 && + readb(ioaddr+ChipCmd) & CmdTxOn) printk(KERN_WARNING "%s: " "rhine_interrupt() Tx engine" "still on.\n", dev->name); @@ -1572,10 +1523,6 @@ static void rhine_rx(struct net_device *dev) rp->rx_buf_sz, PCI_DMA_FROMDEVICE); - /* *_IP_COPYSUM isn't defined anywhere and - eth_copy_and_sum is memcpy for all archs so - this is kind of pointless right now - ... or? */ eth_copy_and_sum(skb, rp->rx_skbuff[entry]->tail, pkt_len, 0); @@ -1627,10 +1574,6 @@ static void rhine_rx(struct net_device *dev) } rp->rx_ring[entry].rx_status = cpu_to_le32(DescOwn); } - - /* Pre-emptively restart Rx engine. */ - writew(readw(dev->base_addr + ChipCmd) | CmdRxOn | CmdRxDemand, - dev->base_addr + ChipCmd); } /* @@ -1664,7 +1607,10 @@ static void rhine_restart_tx(struct net_device *dev) { writel(rp->tx_ring_dma + entry * sizeof(struct tx_desc), ioaddr + TxRingPtr); - writew(CmdTxDemand | rp->chip_cmd, ioaddr + ChipCmd); + writeb(readb(ioaddr + ChipCmd) | CmdTxOn, + ioaddr + ChipCmd); + writeb(readb(ioaddr + ChipCmd1) | Cmd1TxDemand, + ioaddr + ChipCmd1); IOSYNC; } else { @@ -1684,20 +1630,8 @@ static void rhine_error(struct net_device *dev, int intr_status) spin_lock(&rp->lock); - if (intr_status & (IntrLinkChange)) { - if (readb(ioaddr + MIIStatus) & 0x02) { - /* Link failed, restart autonegotiation. */ - if (rp->quirks & rqRhineI) - mdio_write(dev, rp->phys[0], MII_BMCR, 0x3300); - } else - rhine_check_duplex(dev); - if (debug) - printk(KERN_ERR "%s: MII status changed: " - "Autonegotiation advertising %4.4x partner " - "%4.4x.\n", dev->name, - mdio_read(dev, rp->phys[0], MII_ADVERTISE), - mdio_read(dev, rp->phys[0], MII_LPA)); - } + if (intr_status & IntrLinkChange) + rhine_check_media(dev, 0); if (intr_status & IntrStatsMax) { rp->stats.rx_crc_errors += readw(ioaddr + RxCRCErrs); rp->stats.rx_missed_errors += readw(ioaddr + RxMissed); @@ -1790,7 +1724,7 @@ static void rhine_set_rx_mode(struct net_device *dev) i++, mclist = mclist->next) { int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; - mc_filter[bit_nr >> 5] |= cpu_to_le32(1 << (bit_nr & 31)); + mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); } writel(mc_filter[0], ioaddr + MulticastFilter0); writel(mc_filter[1], ioaddr + MulticastFilter1); @@ -1856,6 +1790,39 @@ static void netdev_set_msglevel(struct net_device *dev, u32 value) debug = value; } +static void rhine_get_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + struct rhine_private *rp = netdev_priv(dev); + + if (!(rp->quirks & rqWOL)) + return; + + spin_lock_irq(&rp->lock); + wol->supported = WAKE_PHY | WAKE_MAGIC | + WAKE_UCAST | WAKE_MCAST | WAKE_BCAST; /* Untested */ + wol->wolopts = rp->wolopts; + spin_unlock_irq(&rp->lock); +} + +static int rhine_set_wol(struct net_device *dev, struct ethtool_wolinfo *wol) +{ + struct rhine_private *rp = netdev_priv(dev); + u32 support = WAKE_PHY | WAKE_MAGIC | + WAKE_UCAST | WAKE_MCAST | WAKE_BCAST; /* Untested */ + + if (!(rp->quirks & rqWOL)) + return -EINVAL; + + if (wol->wolopts & ~support) + return -EINVAL; + + spin_lock_irq(&rp->lock); + rp->wolopts = wol->wolopts; + spin_unlock_irq(&rp->lock); + + return 0; +} + static struct ethtool_ops netdev_ethtool_ops = { .get_drvinfo = netdev_get_drvinfo, .get_settings = netdev_get_settings, @@ -1864,6 +1831,8 @@ static struct ethtool_ops netdev_ethtool_ops = { .get_link = netdev_get_link, .get_msglevel = netdev_get_msglevel, .set_msglevel = netdev_set_msglevel, + .get_wol = rhine_get_wol, + .set_wol = rhine_set_wol, .get_sg = ethtool_op_get_sg, .get_tx_csum = ethtool_op_get_tx_csum, }; @@ -1888,8 +1857,6 @@ static int rhine_close(struct net_device *dev) long ioaddr = dev->base_addr; struct rhine_private *rp = netdev_priv(dev); - del_timer_sync(&rp->timer); - spin_lock_irq(&rp->lock); netif_stop_queue(dev); @@ -1936,12 +1903,110 @@ static void __devexit rhine_remove_one(struct pci_dev *pdev) pci_set_drvdata(pdev, NULL); } +static void rhine_shutdown (struct device *gendev) +{ + struct pci_dev *pdev = to_pci_dev(gendev); + struct net_device *dev = pci_get_drvdata(pdev); + struct rhine_private *rp = netdev_priv(dev); + + long ioaddr = dev->base_addr; + + rhine_power_init(dev); + + /* Make sure we use pattern 0, 1 and not 4, 5 */ + if (rp->quirks & rq6patterns) + writeb(0x04, ioaddr + 0xA7); + + if (rp->wolopts & WAKE_MAGIC) + writeb(WOLmagic, ioaddr + WOLcrSet); + + if (rp->wolopts & (WAKE_BCAST|WAKE_MCAST)) + writeb(WOLbmcast, ioaddr + WOLcgSet); + + if (rp->wolopts & WAKE_PHY) + writeb(WOLlnkon | WOLlnkoff, ioaddr + WOLcrSet); + + if (rp->wolopts & WAKE_UCAST) + writeb(WOLucast, ioaddr + WOLcrSet); + + /* Enable legacy WOL (for old motherboards) */ + writeb(0x01, ioaddr + PwcfgSet); + writeb(readb(ioaddr + StickyHW) | 0x04, ioaddr + StickyHW); + + /* Hit power state D3 (sleep) */ + writeb(readb(ioaddr + StickyHW) | 0x03, ioaddr + StickyHW); + + /* TODO: Check use of pci_enable_wake() */ + +} + +#ifdef CONFIG_PM +static int rhine_suspend(struct pci_dev *pdev, u32 state) +{ + struct net_device *dev = pci_get_drvdata(pdev); + struct rhine_private *rp = netdev_priv(dev); + unsigned long flags; + + if (!netif_running(dev)) + return 0; + + netif_device_detach(dev); + pci_save_state(pdev, pdev->saved_config_space); + + spin_lock_irqsave(&rp->lock, flags); + rhine_shutdown(&pdev->dev); + spin_unlock_irqrestore(&rp->lock, flags); + + return 0; +} + +static int rhine_resume(struct pci_dev *pdev) +{ + struct net_device *dev = pci_get_drvdata(pdev); + struct rhine_private *rp = netdev_priv(dev); + unsigned long flags; + int ret; + + if (!netif_running(dev)) + return 0; + + ret = pci_set_power_state(pdev, 0); + if (debug > 1) + printk(KERN_INFO "%s: Entering power state D0 %s (%d).\n", + dev->name, ret ? "failed" : "succeeded", ret); + + pci_restore_state(pdev, pdev->saved_config_space); + + spin_lock_irqsave(&rp->lock, flags); +#ifdef USE_MMIO + enable_mmio(rp->pioaddr, rp->quirks); +#endif + rhine_power_init(dev); + free_tbufs(dev); + free_rbufs(dev); + alloc_tbufs(dev); + alloc_rbufs(dev); + init_registers(dev); + spin_unlock_irqrestore(&rp->lock, flags); + + netif_device_attach(dev); + + return 0; +} +#endif /* CONFIG_PM */ static struct pci_driver rhine_driver = { - .name = "via-rhine", + .name = DRV_NAME, .id_table = rhine_pci_tbl, .probe = rhine_init_one, .remove = __devexit_p(rhine_remove_one), +#ifdef CONFIG_PM + .suspend = rhine_suspend, + .resume = rhine_resume, +#endif /* CONFIG_PM */ + .driver = { + .shutdown = rhine_shutdown, + } }; diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c index 4cbda752b..fffe12085 100644 --- a/drivers/net/wan/dscc4.c +++ b/drivers/net/wan/dscc4.c @@ -351,8 +351,8 @@ struct dscc4_dev_priv { #endif /* Functions prototypes */ -static inline void dscc4_rx_irq(struct dscc4_pci_priv *, struct dscc4_dev_priv *); -static inline void dscc4_tx_irq(struct dscc4_pci_priv *, struct dscc4_dev_priv *); +static void dscc4_rx_irq(struct dscc4_pci_priv *, struct dscc4_dev_priv *); +static void dscc4_tx_irq(struct dscc4_pci_priv *, struct dscc4_dev_priv *); static int dscc4_found1(struct pci_dev *, unsigned long ioaddr); static int dscc4_init_one(struct pci_dev *, const struct pci_device_id *ent); static int dscc4_open(struct net_device *); @@ -366,7 +366,6 @@ static void dscc4_tx_timeout(struct net_device *); static irqreturn_t dscc4_irq(int irq, void *dev_id, struct pt_regs *ptregs); static int dscc4_hdlc_attach(struct net_device *, unsigned short, unsigned short); static int dscc4_set_iface(struct dscc4_dev_priv *, struct net_device *); -static inline int dscc4_set_quartz(struct dscc4_dev_priv *, int); #ifdef DSCC4_POLLING static int dscc4_tx_poll(struct dscc4_dev_priv *, struct net_device *); #endif @@ -866,6 +865,18 @@ static void dscc4_init_registers(struct dscc4_dev_priv *dpriv, //scc_writel(0x00250008 & ~RxActivate, dpriv, dev, CCR2); } +static inline int dscc4_set_quartz(struct dscc4_dev_priv *dpriv, int hz) +{ + int ret = 0; + + if ((hz < 0) || (hz > DSCC4_HZ_MAX)) + ret = -EOPNOTSUPP; + else + dpriv->pci_priv->xtal_hz = hz; + + return ret; +} + static int dscc4_found1(struct pci_dev *pdev, unsigned long ioaddr) { struct dscc4_pci_priv *ppriv; @@ -1340,18 +1351,6 @@ static int dscc4_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) return ret; } -static inline int dscc4_set_quartz(struct dscc4_dev_priv *dpriv, int hz) -{ - int ret = 0; - - if ((hz < 0) || (hz > DSCC4_HZ_MAX)) - ret = -EOPNOTSUPP; - else - dpriv->pci_priv->xtal_hz = hz; - - return ret; -} - static int dscc4_match(struct thingie *p, int value) { int i; @@ -1531,7 +1530,7 @@ out: return IRQ_RETVAL(handled); } -static inline void dscc4_tx_irq(struct dscc4_pci_priv *ppriv, +static void dscc4_tx_irq(struct dscc4_pci_priv *ppriv, struct dscc4_dev_priv *dpriv) { struct net_device *dev = dscc4_to_dev(dpriv); @@ -1700,7 +1699,7 @@ try: goto try; } -static inline void dscc4_rx_irq(struct dscc4_pci_priv *priv, +static void dscc4_rx_irq(struct dscc4_pci_priv *priv, struct dscc4_dev_priv *dpriv) { struct net_device *dev = dscc4_to_dev(dpriv); diff --git a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c index b7f6504a5..690a02fdf 100644 --- a/drivers/net/wan/hd6457x.c +++ b/drivers/net/wan/hd6457x.c @@ -463,8 +463,8 @@ static void sca_set_port(port_t *port) brv >>= 1; /* brv = 2^9 = 512 max in specs */ /* Baud Rate = CLOCK_BASE / TMC / 2^BR */ - tmc = CLOCK_BASE / (brv * port->settings.clock_rate); - }while(br > 1 && tmc <= 128); + tmc = CLOCK_BASE / brv / port->settings.clock_rate; + }while (br > 1 && tmc <= 128); if (tmc < 1) { tmc = 1; @@ -473,7 +473,7 @@ static void sca_set_port(port_t *port) } else if (tmc > 255) tmc = 256; /* tmc=0 means 256 - low baud rates */ - port->settings.clock_rate = CLOCK_BASE / (brv * tmc); + port->settings.clock_rate = CLOCK_BASE / brv / tmc; } else { br = 9; /* Minimum clock rate */ tmc = 256; /* 8bit = 0 */ diff --git a/drivers/net/wan/pc300_tty.c b/drivers/net/wan/pc300_tty.c index 79d6894ac..9e50d5d02 100644 --- a/drivers/net/wan/pc300_tty.c +++ b/drivers/net/wan/pc300_tty.c @@ -192,13 +192,14 @@ static void cpc_tty_signal_on(pc300dev_t *pc300dev, unsigned char signal) */ void cpc_tty_init(pc300dev_t *pc300dev) { - int port, aux; + unsigned long port; + int aux; st_cpc_tty_area * cpc_tty; /* hdlcX - X=interface number */ port = pc300dev->dev->name[4] - '0'; if (port >= CPC_TTY_NPORTS) { - printk("%s-tty: invalid interface selected (0-%i): %i", + printk("%s-tty: invalid interface selected (0-%i): %li", pc300dev->dev->name, CPC_TTY_NPORTS-1,port); return; @@ -634,14 +635,8 @@ static void cpc_tty_flush_buffer(struct tty_struct *tty) } CPC_TTY_DBG("%s: call wake_up_interruptible\n",cpc_tty->name); - - wake_up_interruptible(&tty->write_wait); - - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup){ - CPC_TTY_DBG("%s: call line disc. wake up\n",cpc_tty->name); - tty->ldisc.write_wakeup(tty); - } + tty_wakeup(tty); return; } @@ -688,25 +683,32 @@ static void cpc_tty_hangup(struct tty_struct *tty) */ static void cpc_tty_rx_work(void * data) { - int port, i, j; + unsigned long port; + int i, j; st_cpc_tty_area *cpc_tty; volatile st_cpc_rx_buf * buf; char flags=0,flg_rx=1; + struct tty_ldisc *ld; if (cpc_tty_cnt == 0) return; + for (i=0; (i < 4) && flg_rx ; i++) { flg_rx = 0; - port = (int) data; + port = (unsigned long)data; for (j=0; j < CPC_TTY_NPORTS; j++) { cpc_tty = &cpc_tty_area[port]; if ((buf=cpc_tty->buf_rx.first) != 0) { - - if (cpc_tty->tty && (cpc_tty->tty->ldisc.receive_buf)) { - CPC_TTY_DBG("%s: call line disc. receive_buf\n",cpc_tty->name); - cpc_tty->tty->ldisc.receive_buf(cpc_tty->tty, (char *)(buf->data), - &flags, buf->size); + if(cpc_tty->tty) { + ld = tty_ldisc_ref(cpc_tty->tty); + if(ld) { + if (ld->receive_buf) { + CPC_TTY_DBG("%s: call line disc. receive_buf\n",cpc_tty->name); + ld->receive_buf(cpc_tty->tty, (char *)(buf->data), &flags, buf->size); + } + tty_ldisc_deref(ld); + } } cpc_tty->buf_rx.first = cpc_tty->buf_rx.first->next; kfree((unsigned char *)buf); @@ -760,7 +762,7 @@ void cpc_tty_receive(pc300dev_t *pc300dev) int rx_len, rx_aux; volatile unsigned char status; unsigned short first_bd = pc300chan->rx_first_bd; - st_cpc_rx_buf *new; + st_cpc_rx_buf *new=NULL; unsigned char dsr_rx; if (pc300dev->cpc_tty == NULL) { @@ -789,6 +791,10 @@ void cpc_tty_receive(pc300dev_t *pc300dev) cpc_writel(card->hw.scabase + DRX_REG(EDAL, ch), RX_BD_ADDR(ch, pc300chan->rx_last_bd)); } + if (new) { + kfree(new); + new = NULL; + } return; } @@ -834,7 +840,8 @@ void cpc_tty_receive(pc300dev_t *pc300dev) cpc_tty->name); cpc_tty_rx_disc_frame(pc300chan); rx_len = 0; - kfree((unsigned char *)new); + kfree(new); + new = NULL; break; /* read next frame - while(1) */ } @@ -843,7 +850,8 @@ void cpc_tty_receive(pc300dev_t *pc300dev) cpc_tty_rx_disc_frame(pc300chan); stats->rx_dropped++; rx_len = 0; - kfree((unsigned char *)new); + kfree(new); + new = NULL; break; /* read next frame - while(1) */ } @@ -910,13 +918,7 @@ static void cpc_tty_tx_work(void *data) CPC_TTY_DBG("%s: the interface is not opened\n",cpc_tty->name); return; } - - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup){ - CPC_TTY_DBG("%s:call line disc. wakeup\n",cpc_tty->name); - tty->ldisc.write_wakeup (tty); - } - - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); } /* diff --git a/drivers/net/wan/syncppp.c b/drivers/net/wan/syncppp.c index f7442d52d..2329c23af 100644 --- a/drivers/net/wan/syncppp.c +++ b/drivers/net/wan/syncppp.c @@ -50,6 +50,7 @@ #include #include #include +#include #include @@ -767,9 +768,9 @@ static void sppp_cisco_input (struct sppp *sp, struct sk_buff *skb) struct in_ifaddr *ifa; u32 addr = 0, mask = ~0; /* FIXME: is the mask correct? */ #ifdef CONFIG_INET - if ((in_dev=in_dev_get(dev)) != NULL) + rcu_read_lock(); + if ((in_dev = __in_dev_get(dev)) != NULL) { - read_lock(&in_dev->lock); for (ifa=in_dev->ifa_list; ifa != NULL; ifa=ifa->ifa_next) { if (strcmp(dev->name, ifa->ifa_label) == 0) @@ -779,9 +780,8 @@ static void sppp_cisco_input (struct sppp *sp, struct sk_buff *skb) break; } } - read_unlock(&in_dev->lock); - in_dev_put(in_dev); } + rcu_read_unlock(); #endif /* I hope both addr and mask are in the net order */ sppp_cisco_send (sp, CISCO_ADDR_REPLY, addr, mask); diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index b1a30eeba..4d858b2c5 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig @@ -137,6 +137,197 @@ config PCMCIA_RAYCS comment "Wireless 802.11b ISA/PCI cards support" depends on NET_RADIO && (ISA || PCI || PPC_PMAC || PCMCIA) + +config IEEE80211 + tristate "Generic IEEE 802.11 Networking Stack" + depends on NET_RADIO + select CRYPTO + select CRYPTO_ARC4 + select CRC32 + +config IEEE80211_DEBUG + bool "Enable full debugging output" + depends on IEEE80211 + ---help--- + This option will enable debug tracing output for the + ieee80211 network stack. + + This will result in the kernel module being ~70k larger. You + can control which debug output is sent to the kernel log by + setting the value in + + /proc/net/ieee80211/debug_level + + For example: + + % echo 0x00000FFO > /sys/bus/pci/drivers/ipw2200/debug_level + + For a list of values you can assign to debug_level, simply perform: + + % . idvals + + From within drivers/net/wireless/ipw2200 + + If you are not trying to debug or develop the IPW2200 driver, you + most likely want to say N here. + + +config IEEE80211_CRYPT + tristate "IEEE 802.11 encryption" + depends on IEEE80211 + ---help--- + Software implementation of IEEE 802.11 encryption. This module + adds WEP support, and the baseline capabilities required for WPA. + + This can be compiled as a modules and it will be called + "ieee80211_crypt.ko". + +config IEEE80211_WPA + tristate "IEEE 802.11 WPA" + depends on IEEE80211_CRYPT + ---help--- + Software implementation of IEEE 802.11 WPA. You will need + to select the WPA algorithms you wish to use. + +config IEEE80211_CRYPT_CCMP + tristate "IEEE 802.11 CCMP encryption" + depends on IEEE80211_WPA + depends on CRYPTO_AES_586 + ---help--- + Software implementation of IEEE 802.11 CCMP encryption. + + This can be compiled as a modules and it will be called + "ieee80211_crypt_ccmp.ko". + +config IEEE80211_CRYPT_TKIP + tristate "IEEE 802.11 TKIP encryption" + depends on IEEE80211_WPA + depends on CRYPTO_MICHAEL_MIC + ---help--- + Software implementation of IEEE 802.11 TKIP encryption. + + This can be compiled as a modules and it will be called + "ieee80211_crypt_tkip.ko". + +config IPW2100 + tristate "Intel PRO/Wireless 2100 802.11b" + depends on NET_RADIO && PCI && IEEE80211 + select FW_LOADER + select CRYPTO + select CRYPTO_ARC4 + select CRC32 + ---help--- + A driver for the Intel PRO/Wireless 2100 802.11b wireless network + adapter. + + See for information on + the capabilities currently enabled in this driver and for tips + for debugging issues and problems. + + In order to use this driver, you will need a firmware image for it. + You can obtain the firmware from + . Once you have the firmware image, you + will need to place it in /etc/firmware. + + You will also very likely need the Wireless Tools in order to + configure your card: + + . + + If you want to compile the driver as a module ( = code which can be + inserted in and remvoed from the running kernel whenever you want), + say M here and read . The module + will be called ipw2100.ko. + + NOTE: The IPW2200 relies on the kernel crypto support + (CONFIG_CRYPTO) in order to support WEP. In addition to + requiring crypto support, you must have the ARC4 module + enabled, as well as the CRC library function. + +config IPW_DEBUG + bool "Enable full debugging output" + depends on IPW2100 + ---help--- + This option will enable debug tracing output for the IPW2100. + + This will result in the kernel module being ~60k larger. You can + control which debug output is sent to the kernel log by setting the + value in + + /proc/ipw2100/debug_level + + This entry will only exist if this option is enabled. For a list of + values you can assign to debug_level, simply perform: + + % cat /proc/ipw2100/debug_level + + To set a value, simply echo an 8-byte hex value to the same file: + + % echo 00000FFO > /proc/ipw2100/debug_level + + If you are not trying to debug or develop the IPW2100 driver, you + most likely want to say N here. + +config IPW2100_PROMISC + bool "Enable promiscuous mode" + depends on IPW2100 + ---help--- + Enables promiscuous/monitor mode support for the ipw2100 driver. + With this feature compiled into the driver, you can switch to + promiscuous mode via the Wireless Tool's Monitor mode. While in this + mode, no packets can be sent. + +config IPW2100_LEGACY_FW_LOAD + bool "Legacy firmware loading (non-hotplug)" + depends on IPW2100 + ---help--- + As of 0.33 we added the ability to use the hotplug request_firmware + capability of Linux to load the firmware image. If you do not have + hot plug configured, or have compilation or other errors while trying + to use the new mechanism, you can enable this option to use the + legacy approach (loading the firmware from /etc/firmware/). + + Legacy approach will not work when IPW2100 support is directly in the + kernel (not module). + + Saying Y here will result in the kernel module being ~4k larger. + + +config IPW2200 + tristate "Intel PRO/Wireless 2200 802.11bg" + depends on NET_RADIO && PCI && IEEE80211 + select FW_LOADER + select CRYPTO + select CRYPTO_ARC4 + select CRC32 + ---help--- + A driver for the Intel PRO/Wireless 2200 802.11bg wireless + network adapter. + + See for + information on the capabilities currently enabled in this + driver and for tips for debugging issues and problems. + + In order to use this driver, you will need a firmware image for it. + You can obtain the firmware from + . See the above referenced README.ipw2200 + for information on where to install the firmare images. + + You will also very likely need the Wireless Tools in order to + configure your card: + + . + + If you want to compile the driver as a module ( = code which can be + inserted in and remvoed from the running kernel whenever you want), + say M here and read . The module + will be called ipw2200.ko. + + NOTE: The IPW2200 relies on the kernel crypto support + (CONFIG_CRYPTO) in order to support WEP. In addition to + requiring crypto support, you must have the ARC4 module + enabled, as well as the CRC library function. + config AIRO tristate "Cisco/Aironet 34X/35X/4500/4800 ISA and PCI cards" depends on NET_RADIO && ISA && (PCI || BROKEN) diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile index 2b8784132..0434abdac 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile @@ -1,6 +1,9 @@ # # Makefile for the Linux Wireless network device drivers. # +obj-$(CONFIG_IPW2100) += ipw2100/ +obj-$(CONFIG_IPW2200) += ipw2200/ +obj-$(CONFIG_IEEE80211) += ieee80211/ obj-$(CONFIG_STRIP) += strip.o obj-$(CONFIG_ARLAN) += arlan.o diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c index 8d38c1803..041b15b0f 100644 --- a/drivers/net/wireless/airo.c +++ b/drivers/net/wireless/airo.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include @@ -1815,7 +1816,8 @@ static int writeConfigRid(struct airo_info*ai, int lock) { if (!test_bit (FLAG_COMMIT, &ai->flags)) return SUCCESS; - clear_bit (FLAG_COMMIT | FLAG_RESET, &ai->flags); + clear_bit (FLAG_COMMIT, &ai->flags); + clear_bit (FLAG_RESET, &ai->flags); checkThrottle(ai); cfgr = ai->config; @@ -1979,9 +1981,6 @@ static int mpi_send_packet (struct net_device *dev) ai->txfids[0].tx_desc.eoc = 1; ai->txfids[0].tx_desc.len =len+sizeof(WifiHdr); - memcpy((char *)ai->txfids[0].card_ram_off, - (char *)&ai->txfids[0].tx_desc, sizeof(TxFid)); - /* * Magic, the cards firmware needs a length count (2 bytes) in the host buffer * right after TXFID_HDR.The TXFID_HDR contains the status short so payloadlen @@ -2011,6 +2010,7 @@ static int mpi_send_packet (struct net_device *dev) return ERROR; *payloadLen = cpu_to_le16(len-sizeof(etherHead)+sizeof(pMic)); + ai->txfids[0].tx_desc.len += sizeof(pMic); /* copy data into airo dma buffer */ memcpy (sendbuf, buffer, sizeof(etherHead)); buffer += sizeof(etherHead); @@ -2029,6 +2029,9 @@ static int mpi_send_packet (struct net_device *dev) memcpy(sendbuf, buffer, len); } + memcpy((char *)ai->txfids[0].card_ram_off, + (char *)&ai->txfids[0].tx_desc, sizeof(TxFid)); + OUT4500(ai, EVACK, 8); dev_kfree_skb_any(skb); @@ -2183,6 +2186,12 @@ static int airo_start_xmit11(struct sk_buff *skb, struct net_device *dev) { struct airo_info *priv = dev->priv; u32 *fids = priv->fids; + if (test_bit(FLAG_MPI, &priv->flags)) { + /* Not implemented yet for MPI350 */ + netif_stop_queue(dev); + return -ENETDOWN; + } + if ( skb == NULL ) { printk( KERN_ERR "airo: skb == NULL!!!\n" ); return 0; @@ -2248,12 +2257,14 @@ struct net_device_stats *airo_get_stats(struct net_device *dev) { struct airo_info *local = dev->priv; - /* Get stats out of the card if available */ - if (down_trylock(&local->sem) != 0) { - set_bit(JOB_STATS, &local->flags); - wake_up_interruptible(&local->thr_wait); - } else - airo_read_stats(local); + if (!test_bit(JOB_STATS, &local->flags)) { + /* Get stats out of the card if available */ + if (down_trylock(&local->sem) != 0) { + set_bit(JOB_STATS, &local->flags); + wake_up_interruptible(&local->thr_wait); + } else + airo_read_stats(local); + } return &local->stats; } @@ -2339,6 +2350,9 @@ static void del_airo_dev( struct net_device *dev ); void stop_airo_card( struct net_device *dev, int freeres ) { struct airo_info *ai = dev->priv; + + set_bit(FLAG_RADIO_DOWN, &ai->flags); + disable_MAC(ai, 1); disable_interrupts(ai); free_irq( dev->irq, dev ); takedown_proc_entry( dev, ai ); @@ -3405,13 +3419,8 @@ static void disable_MAC( struct airo_info *ai, int lock ) { } static void enable_interrupts( struct airo_info *ai ) { - /* Reset the status register */ - u16 status = IN4500( ai, EVSTAT ); - OUT4500( ai, EVACK, status ); /* Enable the interrupts */ OUT4500( ai, EVINTEN, STATUS_INTS ); - /* Note there is a race condition between the last two lines that - I don't know how to get rid of right now... */ } static void disable_interrupts( struct airo_info *ai ) { @@ -3459,7 +3468,7 @@ static void mpi_receive_802_3(struct airo_info *ai) memcpy(buffer + ETH_ALEN * 2, ai->rxfids[0].virtual_host_addr + ETH_ALEN * 2 + off, len - ETH_ALEN * 2 - off); - if (decapsulate (ai, &micbuf, (etherHead*)buffer, len - off)) { + if (decapsulate (ai, &micbuf, (etherHead*)buffer, len - off - ETH_ALEN * 2)) { badmic: dev_kfree_skb_irq (skb); goto badrx; @@ -3669,18 +3678,6 @@ static u16 setup_card(struct airo_info *ai, u8 *mac, int lock) status = readCapabilityRid(ai, &cap_rid, lock); if ( status != SUCCESS ) return ERROR; - /* - * This driver supports MPI350 firmwares up to, and - * including 5.30.17 - */ - if (test_bit(FLAG_MPI, &ai->flags) && - strncmp (cap_rid.prodVer, "5.00.", 5) && - strncmp (cap_rid.prodVer, "5b00.", 5) && - strncmp (cap_rid.prodVer, "5.02.", 5) && - strncmp (cap_rid.prodVer, "5.20.", 5) && - strncmp (cap_rid.prodVer, "5.30.", 5)) - printk(KERN_ERR "airo: Firmware version %s is not supported. Use it at your own risk!\n", cap_rid.prodVer); - status = PC4500_readrid(ai,RID_RSSI,&rssi_rid,sizeof(rssi_rid),lock); if ( status == SUCCESS ) { if (ai->rssi || (ai->rssi = kmalloc(512, GFP_KERNEL)) != NULL) @@ -3715,9 +3712,9 @@ static u16 setup_card(struct airo_info *ai, u8 *mac, int lock) /* Check to see if there are any insmod configured rates to add */ - if ( rates ) { + if ( rates[0] ) { int i = 0; - if ( rates[0] ) memset(ai->config.rates,0,sizeof(ai->config.rates)); + memset(ai->config.rates,0,sizeof(ai->config.rates)); for( i = 0; i < 8 && rates[i]; i++ ) { ai->config.rates[i] = rates[i]; } @@ -3784,7 +3781,6 @@ static u16 setup_card(struct airo_info *ai, u8 *mac, int lock) static u16 issuecommand(struct airo_info *ai, Cmd *pCmd, Resp *pRsp) { // Im really paranoid about letting it run forever! int max_tries = 600000; - u16 cmd; if (IN4500(ai, EVSTAT) & EV_CMD) OUT4500(ai, EVACK, EV_CMD); @@ -3793,26 +3789,23 @@ static u16 issuecommand(struct airo_info *ai, Cmd *pCmd, Resp *pRsp) { OUT4500(ai, PARAM1, pCmd->parm1); OUT4500(ai, PARAM2, pCmd->parm2); OUT4500(ai, COMMAND, pCmd->cmd); - while ( max_tries-- && (IN4500(ai, EVSTAT) & EV_CMD) == 0 && - (cmd = IN4500(ai, COMMAND)) != 0 ) - if (cmd == pCmd->cmd) - // PC4500 didn't notice command, try again - OUT4500(ai, COMMAND, pCmd->cmd); - if ( max_tries == -1 ) { - printk( KERN_ERR - "airo: Max tries exceeded when issueing command\n" ); - return ERROR; - } while (max_tries-- && (IN4500(ai, EVSTAT) & EV_CMD) == 0) { + if ((IN4500(ai, COMMAND)) == pCmd->cmd) + // PC4500 didn't notice command, try again + OUT4500(ai, COMMAND, pCmd->cmd); if (!in_atomic() && (max_tries & 255) == 0) schedule(); } + if ( max_tries == -1 ) { printk( KERN_ERR - "airo: Max tries exceeded waiting for command\n" ); - return ERROR; + "airo: Max tries exceeded when issueing command\n" ); + if (IN4500(ai, COMMAND) & COMMAND_BUSY) + OUT4500(ai, EVACK, EV_CLEARCOMMANDBUSY); + return ERROR; } + // command completed pRsp->status = IN4500(ai, STATUS); pRsp->rsp0 = IN4500(ai, RESP0); @@ -4508,8 +4501,6 @@ static ssize_t proc_read( struct file *file, len = priv->readlen - pos; if (copy_to_user(buffer, priv->rbuffer + pos, len)) return -EFAULT; - if (pos + len > priv->writelen) - priv->writelen = pos + len; *offset = pos + len; return len; } @@ -5520,7 +5511,6 @@ static int airo_pci_resume(struct pci_dev *pdev) mpi_init_descriptors(ai); setup_card(ai, dev->dev_addr, 0); clear_bit(FLAG_RADIO_OFF, &ai->flags); - clear_bit(FLAG_RADIO_DOWN, &ai->flags); clear_bit(FLAG_PENDING_XMIT, &ai->flags); } else { OUT4500(ai, EVACK, EV_AWAKEN); @@ -5605,6 +5595,30 @@ static void __exit airo_cleanup_module( void ) * would not work at all... - Jean II */ +static int airo_get_quality (StatusRid *status_rid, CapabilityRid *cap_rid) +{ + int quality = 0; + + if ((status_rid->mode & 0x3f) == 0x3f && (cap_rid->hardCap & 8)) { + if (memcmp(cap_rid->prodName, "350", 3)) + if (status_rid->signalQuality > 0x20) + quality = 0; + else + quality = 0x20 - status_rid->signalQuality; + else + if (status_rid->signalQuality > 0xb0) + quality = 0; + else if (status_rid->signalQuality < 0x10) + quality = 0xa0; + else + quality = 0xb0 - status_rid->signalQuality; + } + return quality; +} + +#define airo_get_max_quality(cap_rid) (memcmp((cap_rid)->prodName, "350", 3) ? 0x20 : 0xa0) +#define airo_get_avg_quality(cap_rid) (memcmp((cap_rid)->prodName, "350", 3) ? 0x10 : 0x50); + /*------------------------------------------------------------------*/ /* * Wireless Handler : get protocol name @@ -6292,7 +6306,8 @@ static int airo_set_txpow(struct net_device *dev, readCapabilityRid(local, &cap_rid, 1); if (vwrq->disabled) { - set_bit (FLAG_RADIO_OFF | FLAG_COMMIT, &local->flags); + set_bit (FLAG_RADIO_OFF, &local->flags); + set_bit (FLAG_COMMIT, &local->flags); return -EINPROGRESS; /* Call commit handler */ } if (vwrq->flags != IW_TXPOW_MWATT) { @@ -6431,7 +6446,7 @@ static int airo_get_range(struct net_device *dev, range->num_frequency = k; /* Hum... Should put the right values there */ - range->max_qual.qual = 10; + range->max_qual.qual = airo_get_max_quality(&cap_rid); range->max_qual.level = 0x100 - 120; /* -120 dBm */ range->max_qual.noise = 0; range->sensitivity = 65535; @@ -6498,7 +6513,7 @@ static int airo_get_range(struct net_device *dev, /* Experimental measurements - boundary 11/5.5 Mb/s */ /* Note : with or without the (local->rssi), results * are somewhat different. - Jean II */ - range->avg_qual.qual = 6; + range->avg_qual.qual = airo_get_avg_quality(&cap_rid); if (local->rssi) range->avg_qual.level = 186; /* -70 dBm */ else @@ -7112,6 +7127,7 @@ static void airo_read_wireless_stats(struct airo_info *local) { StatusRid status_rid; StatsRid stats_rid; + CapabilityRid cap_rid; u32 *vals = stats_rid.vals; /* Get stats out of the card */ @@ -7120,6 +7136,7 @@ static void airo_read_wireless_stats(struct airo_info *local) up(&local->sem); return; } + readCapabilityRid(local, &cap_rid, 0); readStatusRid(local, &status_rid, 0); readStatsRid(local, &stats_rid, RID_STATS, 0); up(&local->sem); @@ -7128,7 +7145,7 @@ static void airo_read_wireless_stats(struct airo_info *local) local->wstats.status = status_rid.mode; /* Signal quality and co. But where is the noise level ??? */ - local->wstats.qual.qual = status_rid.signalQuality; + local->wstats.qual.qual = airo_get_quality(&status_rid, &cap_rid); if (local->rssi) local->wstats.qual.level = 0x100 - local->rssi[status_rid.sigQuality].rssidBm; else @@ -7155,12 +7172,14 @@ struct iw_statistics *airo_get_wireless_stats(struct net_device *dev) { struct airo_info *local = dev->priv; - /* Get stats out of the card if available */ - if (down_trylock(&local->sem) != 0) { - set_bit(JOB_WSTATS, &local->flags); - wake_up_interruptible(&local->thr_wait); - } else - airo_read_wireless_stats(local); + if (!test_bit(JOB_WSTATS, &local->flags)) { + /* Get stats out of the card if available */ + if (down_trylock(&local->sem) != 0) { + set_bit(JOB_WSTATS, &local->flags); + wake_up_interruptible(&local->thr_wait); + } else + airo_read_wireless_stats(local); + } return &local->wstats; } @@ -7187,9 +7206,11 @@ static int readrids(struct net_device *dev, aironet_ioctl *comp) { { case AIROGCAP: ridcode = RID_CAPABILITIES; break; case AIROGCFG: ridcode = RID_CONFIG; - disable_MAC (ai, 1); - writeConfigRid (ai, 1); - enable_MAC (ai, &rsp, 1); + if (test_bit(FLAG_COMMIT, &ai->flags)) { + disable_MAC (ai, 1); + writeConfigRid (ai, 1); + enable_MAC (ai, &rsp, 1); + } break; case AIROGSLIST: ridcode = RID_SSID; break; case AIROGVLIST: ridcode = RID_APLIST; break; @@ -7269,6 +7290,7 @@ static int writerids(struct net_device *dev, aironet_ioctl *comp) { case AIROPCAP: ridcode = RID_CAPABILITIES; break; case AIROPAPLIST: ridcode = RID_APLIST; break; case AIROPCFG: ai->config.len = 0; + clear_bit(FLAG_COMMIT, &ai->flags); ridcode = RID_CONFIG; break; case AIROPWEPKEYNV: ridcode = RID_WEP_PERM; break; case AIROPLEAPUSR: ridcode = RID_LEAPUSERNAME; break; diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c index cde68a443..fd8953c63 100644 --- a/drivers/net/wireless/atmel.c +++ b/drivers/net/wireless/atmel.c @@ -2430,12 +2430,13 @@ static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) rc = -ENOMEM; break; } - + if (copy_from_user(new_firmware, com.data, com.len)) { + kfree(new_firmware); rc = -EFAULT; break; } - + if (priv->firmware) kfree(priv->firmware); diff --git a/drivers/net/wireless/hermes.h b/drivers/net/wireless/hermes.h index 126923ffd..429d57240 100644 --- a/drivers/net/wireless/hermes.h +++ b/drivers/net/wireless/hermes.h @@ -12,7 +12,8 @@ * project, the Linux wvlan_cs driver, Lucent's HCF-Light * (wvlan_hcf.c) library, and the NetBSD wireless driver. * - * Copyright (C) 2000, David Gibson, Linuxcare Australia + * Copyright (C) 2000, David Gibson, Linuxcare Australia. + * (C) Copyright David Gibson, IBM Corp. 2001-2003. * * Portions taken from hfa384x.h, Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. * @@ -124,29 +125,52 @@ /* * Command codes */ -/*--- Controller Commands --------------------------*/ +/*--- Controller Commands ----------------------------*/ #define HERMES_CMD_INIT (0x0000) #define HERMES_CMD_ENABLE (0x0001) #define HERMES_CMD_DISABLE (0x0002) #define HERMES_CMD_DIAG (0x0003) -/*--- Buffer Mgmt Commands --------------------------*/ +/*--- Buffer Mgmt Commands ---------------------------*/ #define HERMES_CMD_ALLOC (0x000A) #define HERMES_CMD_TX (0x000B) -#define HERMES_CMD_CLRPRST (0x0012) -/*--- Regulate Commands --------------------------*/ +/*--- Regulate Commands ------------------------------*/ #define HERMES_CMD_NOTIFY (0x0010) #define HERMES_CMD_INQUIRE (0x0011) -/*--- Configure Commands --------------------------*/ +/*--- Configure Commands -----------------------------*/ #define HERMES_CMD_ACCESS (0x0021) #define HERMES_CMD_DOWNLD (0x0022) +/*--- Serial I/O Commands ----------------------------*/ +#define HERMES_CMD_READMIF (0x0030) +#define HERMES_CMD_WRITEMIF (0x0031) + /*--- Debugging Commands -----------------------------*/ -#define HERMES_CMD_MONITOR (0x0038) -#define HERMES_MONITOR_ENABLE (0x000b) -#define HERMES_MONITOR_DISABLE (0x000f) +#define HERMES_CMD_TEST (0x0038) + + +/* Test command arguments */ +#define HERMES_TEST_SET_CHANNEL 0x0800 +#define HERMES_TEST_MONITOR 0x0b00 +#define HERMES_TEST_STOP 0x0f00 + +/* Authentication algorithms */ +#define HERMES_AUTH_OPEN 1 +#define HERMES_AUTH_SHARED_KEY 2 + +/* WEP settings */ +#define HERMES_WEP_PRIVACY_INVOKED 0x0001 +#define HERMES_WEP_EXCL_UNENCRYPTED 0x0002 +#define HERMES_WEP_HOST_ENCRYPT 0x0010 +#define HERMES_WEP_HOST_DECRYPT 0x0080 + +/* Symbol hostscan options */ +#define HERMES_HOSTSCAN_SYMBOL_5SEC 0x0001 +#define HERMES_HOSTSCAN_SYMBOL_ONCE 0x0002 +#define HERMES_HOSTSCAN_SYMBOL_PASSIVE 0x0040 +#define HERMES_HOSTSCAN_SYMBOL_BCAST 0x0080 /* * Frame structures and constants @@ -157,16 +181,6 @@ #define HERMES_802_3_OFFSET (14+32) #define HERMES_802_2_OFFSET (14+32+14) -struct hermes_rx_descriptor { - u16 status; - u32 time; - u8 silence; - u8 signal; - u8 rate; - u8 rxflow; - u32 reserved; -} __attribute__ ((packed)); - #define HERMES_RXSTAT_ERR (0x0003) #define HERMES_RXSTAT_BADCRC (0x0001) #define HERMES_RXSTAT_UNDECRYPTABLE (0x0002) @@ -201,7 +215,11 @@ struct hermes_tx_descriptor { #define HERMES_INQ_TALLIES (0xF100) #define HERMES_INQ_SCAN (0xF101) +#define HERMES_INQ_CHANNELINFO (0xF102) +#define HERMES_INQ_HOSTSCAN (0xF103) +#define HERMES_INQ_HOSTSCAN_SYMBOL (0xF104) #define HERMES_INQ_LINKSTATUS (0xF200) +#define HERMES_INQ_SEC_STAT_AGERE (0xF202) struct hermes_tallies_frame { u16 TxUnicastFrames; @@ -233,23 +251,58 @@ struct hermes_tallies_frame { /* Grabbed from wlan-ng - Thanks Mark... - Jean II * This is the result of a scan inquiry command */ /* Structure describing info about an Access Point */ -struct hermes_scan_apinfo { +struct prism2_scan_apinfo { u16 channel; /* Channel where the AP sits */ u16 noise; /* Noise level */ u16 level; /* Signal level */ u8 bssid[ETH_ALEN]; /* MAC address of the Access Point */ - u16 beacon_interv; /* Beacon interval ? */ - u16 capabilities; /* Capabilities ? */ + u16 beacon_interv; /* Beacon interval */ + u16 capabilities; /* Capabilities */ + u16 essid_len; /* ESSID length */ u8 essid[32]; /* ESSID of the network */ u8 rates[10]; /* Bit rate supported */ - u16 proberesp_rate; /* ???? */ + u16 proberesp_rate; /* Data rate of the response frame */ + u16 atim; /* ATIM window time, Kus (hostscan only) */ } __attribute__ ((packed)); -/* Container */ -struct hermes_scan_frame { - u16 rsvd; /* ??? */ - u16 scanreason; /* ??? */ - struct hermes_scan_apinfo aps[35]; /* Scan result */ + +/* Same stuff for the Lucent/Agere card. + * Thanks to h1kari - Jean II */ +struct agere_scan_apinfo { + u16 channel; /* Channel where the AP sits */ + u16 noise; /* Noise level */ + u16 level; /* Signal level */ + u8 bssid[ETH_ALEN]; /* MAC address of the Access Point */ + u16 beacon_interv; /* Beacon interval */ + u16 capabilities; /* Capabilities */ + /* bits: 0-ess, 1-ibss, 4-privacy [wep] */ + u16 essid_len; /* ESSID length */ + u8 essid[32]; /* ESSID of the network */ } __attribute__ ((packed)); + +/* Moustafa: Scan structure for Symbol cards */ +struct symbol_scan_apinfo { + u8 channel; /* Channel where the AP sits */ + u8 unknown1; /* 8 in 2.9x and 3.9x f/w, 0 otherwise */ + u16 noise; /* Noise level */ + u16 level; /* Signal level */ + u8 bssid[ETH_ALEN]; /* MAC address of the Access Point */ + u16 beacon_interv; /* Beacon interval */ + u16 capabilities; /* Capabilities */ + /* bits: 0-ess, 1-ibss, 4-privacy [wep] */ + u16 essid_len; /* ESSID length */ + u8 essid[32]; /* ESSID of the network */ + u16 rates[5]; /* Bit rate supported */ + u16 basic_rates; /* Basic rates bitmask */ + u8 unknown2[6]; /* Always FF:FF:FF:FF:00:00 */ + u8 unknown3[8]; /* Always 0, appeared in f/w 3.91-68 */ +} __attribute__ ((packed)); + +union hermes_scan_info { + struct agere_scan_apinfo a; + struct prism2_scan_apinfo p; + struct symbol_scan_apinfo s; +}; + #define HERMES_LINKSTATUS_NOT_CONNECTED (0x0000) #define HERMES_LINKSTATUS_CONNECTED (0x0001) #define HERMES_LINKSTATUS_DISCONNECTED (0x0002) @@ -262,6 +315,20 @@ struct hermes_linkstatus { u16 linkstatus; /* Link status */ } __attribute__ ((packed)); +struct hermes_response { + u16 status, resp0, resp1, resp2; +}; + +/* "ID" structure - used for ESSID and station nickname */ +struct hermes_idstring { + u16 len; + u16 val[16]; +} __attribute__ ((packed)); + +struct hermes_multicast { + u8 addr[HERMES_MAX_MULTICAST][ETH_ALEN]; +} __attribute__ ((packed)); + // #define HERMES_DEBUG_BUFFER 1 #define HERMES_DEBUG_BUFSIZE 4096 struct hermes_debug_entry { @@ -294,10 +361,6 @@ typedef struct hermes { #endif } hermes_t; -typedef struct hermes_response { - u16 status, resp0, resp1, resp2; -} hermes_response_t; - /* Register access convenience macros */ #define hermes_read_reg(hw, off) ((hw)->io_space ? \ inw((hw)->iobase + ( (off) << (hw)->reg_spacing )) : \ @@ -312,9 +375,11 @@ typedef struct hermes_response { #define hermes_write_regn(hw, name, val) hermes_write_reg((hw), HERMES_##name, (val)) /* Function prototypes */ -void hermes_struct_init(hermes_t *hw, ulong address, int io_space, int reg_spacing); +void hermes_struct_init(hermes_t *hw, ulong address, int io_space, + int reg_spacing); int hermes_init(hermes_t *hw); -int hermes_docmd_wait(hermes_t *hw, u16 cmd, u16 parm0, hermes_response_t *resp); +int hermes_docmd_wait(hermes_t *hw, u16 cmd, u16 parm0, + struct hermes_response *resp); int hermes_allocate(hermes_t *hw, u16 size, u16 *fid); int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len, diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c index 8161a1c00..284aabeff 100644 --- a/drivers/net/wireless/orinoco.c +++ b/drivers/net/wireless/orinoco.c @@ -1,17 +1,23 @@ -/* orinoco.c 0.13e - (formerly known as dldwd_cs.c and orinoco_cs.c) +/* orinoco.c - (formerly known as dldwd_cs.c and orinoco_cs.c) * * A driver for Hermes or Prism 2 chipset based PCMCIA wireless * adaptors, with Lucent/Agere, Intersil or Symbol firmware. * - * Copyright (C) 2000 David Gibson, Linuxcare Australia + * Current maintainers (as of 29 September 2003) are: + * Pavel Roskin + * and David Gibson + * + * (C) Copyright David Gibson, IBM Corporation 2001-2003. + * Copyright (C) 2000 David Gibson, Linuxcare Australia. * With some help from : - * Copyright (C) 2001 Jean Tourrilhes, HP Labs - * Copyright (C) 2001 Benjamin Herrenschmidt + * Copyright (C) 2001 Jean Tourrilhes, HP Labs + * Copyright (C) 2001 Benjamin Herrenschmidt * * Based on dummy_cs.c 1.27 2000/06/12 21:27:25 * - * Portions based on wvlan_cs.c 1.0.6, Copyright Andreas Neuhaus - * http://www.fasta.fh-dortmund.de/users/andy/wvlan/ + * Portions based on wvlan_cs.c 1.0.6, Copyright Andreas Neuhaus + * http://www.stud.fh-dortmund.de/~andy/wvlan/ * * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in @@ -24,7 +30,7 @@ * limitations under the License. * * The initial developer of the original code is David A. Hinds - * . Portions created by David + * . Portions created by David * A. Hinds are Copyright (C) 1999 David A. Hinds. All Rights * Reserved. * @@ -58,7 +64,7 @@ * o Add PM timeout (holdover duration) * o Enable "iwconfig eth0 key off" and friends (toggle flags) * o Enable "iwconfig eth0 power unicast/all" (toggle flags) - * o Try with an intel card. It report firmware 1.01, behave like + * o Try with an Intel card. It report firmware 1.01, behave like * an antiquated firmware, however on windows it says 2.00. Yuck ! * o Workaround firmware bug in allocate buffer (Intel 1.01) * o Finish external renaming to orinoco... @@ -68,8 +74,8 @@ * o Update to Wireless 11 -> add retry limit/lifetime support * o Tested with a D-Link DWL 650 card, fill in firmware support * o Warning on Vcc mismatch (D-Link 3.3v card in Lucent 5v only slot) - * o Fixed the Prims2 WEP bugs that I introduced in v0.03 :-( - * It work on D-Link *only* after a tcpdump. Weird... + * o Fixed the Prism2 WEP bugs that I introduced in v0.03 :-( + * It works on D-Link *only* after a tcpdump. Weird... * And still doesn't work on Intel card. Grrrr... * o Update the mode after a setport3 * o Add preamble setting for Symbol cards (not yet enabled) @@ -82,7 +88,7 @@ * o Clean up RID definitions in hermes.h, other cleanups * * v0.04b -> v0.04c - 24/4/2001 - Jean II - * o Tim Hurley reported a D-Link card + * o Tim Hurley reported a D-Link card * with vendor 02 and firmware 0.08. Added in the capabilities... * o Tested Lucent firmware 7.28, everything works... * @@ -105,15 +111,15 @@ * o Remove deferred power enabling code * * v0.05c -> v0.05d - 5/5/2001 - Jean II - * o Workaround to SNAP decapsulate frame from LinkSys AP - * original patch from : Dong Liu + * o Workaround to SNAP decapsulate frame from Linksys AP + * original patch from : Dong Liu * (note : the memcmp bug was mine - fixed) * o Remove set_retry stuff, no firmware support it (bloat--). * * v0.05d -> v0.06 - 25/5/2001 - Jean II - * Original patch from "Hong Lin" , - * "Ian Kinner" - * and "David Smith" + * Original patch from "Hong Lin" , + * "Ian Kinner" + * and "David Smith" * o Init of priv->tx_rate_ctrl in firmware specific section. * o Prism2/Symbol rate, upto should be 0xF and not 0x15. Doh ! * o Spectrum card always need cor_reset (for every reset) @@ -134,15 +140,15 @@ * * v0.06c -> v0.06d - 6/7/2001 - David Gibson * o Change a bunch of KERN_INFO messages to KERN_DEBUG, as per Linus' - * wishes to reduce the number of unecessary messages. + * wishes to reduce the number of unnecessary messages. * o Removed bogus message on CRC error. - * o Merged fixeds for v0.08 Prism 2 firmware from William Waghorn - * + * o Merged fixes for v0.08 Prism 2 firmware from William Waghorn + * * o Slight cleanup/re-arrangement of firmware detection code. * * v0.06d -> v0.06e - 1/8/2001 - David Gibson * o Removed some redundant global initializers (orinoco_cs.c). - * o Added some module metadataa + * o Added some module metadata * * v0.06e -> v0.06f - 14/8/2001 - David Gibson * o Wording fix to license @@ -159,7 +165,7 @@ * v0.07 -> v0.07a - 1/10/3001 - Jean II * o Add code to read Symbol firmware revision, inspired by latest code * in Spectrum24 by Lee John Keyser-Allen - Thanks Lee ! - * o Thanks to Jared Valentine for "providing" me + * o Thanks to Jared Valentine for "providing" me * a 3Com card with a recent firmware, fill out Symbol firmware * capabilities of latest rev (2.20), as well as older Symbol cards. * o Disable Power Management in newer Symbol firmware, the API @@ -172,7 +178,7 @@ * o Turned has_big_wep on for Intersil cards. That's not true for all of * them but we should at least let the capable ones try. * o Wait for BUSY to clear at the beginning of hermes_bap_seek(). I - * realised that my assumption that the driver's serialization + * realized that my assumption that the driver's serialization * would prevent the BAP being busy on entry was possibly false, because * things other than seeks may make the BAP busy. * o Use "alternate" (oui 00:00:00) encapsulation by default. @@ -181,12 +187,12 @@ * o Don't try to make __initdata const (the version string). This can't * work because of the way the __initdata sectioning works. * o Added MODULE_LICENSE tags. - * o Support for PLX (transparent PCMCIA->PCI brdge) cards. - * o Changed to using the new type-facist min/max. + * o Support for PLX (transparent PCMCIA->PCI bridge) cards. + * o Changed to using the new type-fascist min/max. * * v0.08 -> v0.08a - 9/10/2001 - David Gibson * o Inserted some missing acknowledgements/info into the Changelog. - * o Fixed some bugs in the normalisation of signel level reporting. + * o Fixed some bugs in the normalization of signal level reporting. * o Fixed bad bug in WEP key handling on Intersil and Symbol firmware, * which led to an instant crash on big-endian machines. * @@ -342,7 +348,7 @@ * o Bugfix in orinoco_stop() - it used to fail if hw_unavailable * was set, which was usually true on PCMCIA hot removes. * o Track LINKSTATUS messages, silently drop Tx packets before - * we are connected (avoids cofusing the firmware), and only + * we are connected (avoids confusing the firmware), and only * give LINKSTATUS printk()s if the status has changed. * * v0.13b -> v0.13c - 11 Mar 2003 - David Gibson @@ -397,7 +403,8 @@ * o Disconnect wireless extensions from fundamental configuration. * o (maybe) Software WEP support (patch from Stano Meduna). * o (maybe) Use multiple Tx buffers - driver handling queue - * rather than firmware. */ + * rather than firmware. + */ /* Locking and synchronization: * @@ -414,7 +421,10 @@ * flag after taking the lock, and if it is set, give up on whatever * they are doing and drop the lock again. The orinoco_lock() * function handles this (it unlocks and returns -EBUSY if - * hw_unavailable is non-zero). */ + * hw_unavailable is non-zero). + */ + +#define DRIVER_NAME "orinoco" #include @@ -444,11 +454,9 @@ /* Module information */ /********************************************************************/ -MODULE_AUTHOR("David Gibson "); +MODULE_AUTHOR("Pavel Roskin & David Gibson "); MODULE_DESCRIPTION("Driver for Lucent Orinoco, Prism II based and similar wireless cards"); -#ifdef MODULE_LICENSE MODULE_LICENSE("Dual MPL/GPL"); -#endif /* Level of debugging. Used in the macros in orinoco.h */ #ifdef ORINOCO_DEBUG @@ -464,11 +472,6 @@ MODULE_PARM(suppress_linkstatus, "i"); /* Compile time configuration and compatibility stuff */ /********************************************************************/ -/* Wireless extensions backwards compatibility */ -#ifndef SIOCIWFIRSTPRIV -#define SIOCIWFIRSTPRIV SIOCDEVPRIVATE -#endif /* SIOCIWFIRSTPRIV */ - /* We do this this way to avoid ifdefs in the actual code */ #ifdef WIRELESS_SPY #define SPY_NUMBER(priv) (priv->spy_number) @@ -497,25 +500,29 @@ MODULE_PARM(suppress_linkstatus, "i"); #define DUMMY_FID 0xFFFF -#define RUP_EVEN(a) (((a) + 1) & (~1)) - /*#define MAX_MULTICAST(priv) (priv->firmware_type == FIRMWARE_TYPE_AGERE ? \ HERMES_MAX_MULTICAST : 0)*/ #define MAX_MULTICAST(priv) (HERMES_MAX_MULTICAST) +#define ORINOCO_INTEN (HERMES_EV_RX | HERMES_EV_ALLOC \ + | HERMES_EV_TX | HERMES_EV_TXEXC \ + | HERMES_EV_WTERR | HERMES_EV_INFO \ + | HERMES_EV_INFDROP ) + /********************************************************************/ /* Data tables */ /********************************************************************/ /* The frequency of each channel in MHz */ -const long channel_frequency[] = { +static const long channel_frequency[] = { 2412, 2417, 2422, 2427, 2432, 2437, 2442, 2447, 2452, 2457, 2462, 2467, 2472, 2484 }; -#define NUM_CHANNELS ( sizeof(channel_frequency) / sizeof(channel_frequency[0]) ) +#define NUM_CHANNELS ARRAY_SIZE(channel_frequency) -/* This tables gives the actual meanings of the bitrate IDs returned by the firmware. */ -struct { +/* This tables gives the actual meanings of the bitrate IDs returned + * by the firmware. */ +static struct { int bitrate; /* in 100s of kilobits */ int automatic; u16 agere_txratectrl; @@ -530,7 +537,7 @@ struct { {55, 1, 7, 7}, {110, 0, 5, 8}, }; -#define BITRATE_TABLE_SIZE (sizeof(bitrate_table) / sizeof(bitrate_table[0])) +#define BITRATE_TABLE_SIZE ARRAY_SIZE(bitrate_table) /********************************************************************/ /* Data types */ @@ -555,133 +562,54 @@ u8 encaps_hdr[] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00}; #define ENCAPS_OVERHEAD (sizeof(encaps_hdr) + 2) +struct hermes_rx_descriptor { + u16 status; + u32 time; + u8 silence; + u8 signal; + u8 rate; + u8 rxflow; + u32 reserved; +} __attribute__ ((packed)); + /********************************************************************/ /* Function prototypes */ /********************************************************************/ -static void orinoco_stat_gather(struct net_device *dev, - struct sk_buff *skb, - struct hermes_rx_descriptor *desc); - -static struct net_device_stats *orinoco_get_stats(struct net_device *dev); -static struct iw_statistics *orinoco_get_wireless_stats(struct net_device *dev); - -/* Hardware control routines */ - +static int orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); static int __orinoco_program_rids(struct net_device *dev); - -static int __orinoco_hw_set_bitrate(struct orinoco_private *priv); -static int __orinoco_hw_setup_wep(struct orinoco_private *priv); -static int orinoco_hw_get_bssid(struct orinoco_private *priv, char buf[ETH_ALEN]); -static int orinoco_hw_get_essid(struct orinoco_private *priv, int *active, - char buf[IW_ESSID_MAX_SIZE+1]); -static long orinoco_hw_get_freq(struct orinoco_private *priv); -static int orinoco_hw_get_bitratelist(struct orinoco_private *priv, int *numrates, - s32 *rates, int max); static void __orinoco_set_multicast_list(struct net_device *dev); - -/* Interrupt handling routines */ -static void __orinoco_ev_tick(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_wterr(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_infdrop(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_info(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_rx(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_txexc(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_tx(struct net_device *dev, hermes_t *hw); -static void __orinoco_ev_alloc(struct net_device *dev, hermes_t *hw); - -/* ioctl() routines */ static int orinoco_debug_dump_recs(struct net_device *dev); /********************************************************************/ -/* Function prototypes */ +/* Internal helper functions */ /********************************************************************/ -int __orinoco_up(struct net_device *dev) -{ - struct orinoco_private *priv = netdev_priv(dev); - struct hermes *hw = &priv->hw; - int err; - - err = __orinoco_program_rids(dev); - if (err) { - printk(KERN_ERR "%s: Error %d configuring card\n", - dev->name, err); - return err; - } - - /* Fire things up again */ - hermes_set_irqmask(hw, ORINOCO_INTEN); - err = hermes_enable_port(hw, 0); - if (err) { - printk(KERN_ERR "%s: Error %d enabling MAC port\n", - dev->name, err); - return err; - } - - netif_start_queue(dev); - - return 0; -} - -int __orinoco_down(struct net_device *dev) +static inline void set_port_type(struct orinoco_private *priv) { - struct orinoco_private *priv = netdev_priv(dev); - struct hermes *hw = &priv->hw; - int err; - - netif_stop_queue(dev); - - if (! priv->hw_unavailable) { - if (! priv->broken_disableport) { - err = hermes_disable_port(hw, 0); - if (err) { - /* Some firmwares (e.g. Intersil 1.3.x) seem - * to have problems disabling the port, oh - * well, too bad. */ - printk(KERN_WARNING "%s: Error %d disabling MAC port\n", - dev->name, err); - priv->broken_disableport = 1; - } + switch (priv->iw_mode) { + case IW_MODE_INFRA: + priv->port_type = 1; + priv->createibss = 0; + break; + case IW_MODE_ADHOC: + if (priv->prefer_port3) { + priv->port_type = 3; + priv->createibss = 0; + } else { + priv->port_type = priv->ibss_port; + priv->createibss = 1; } - hermes_set_irqmask(hw, 0); - hermes_write_regn(hw, EVACK, 0xffff); + break; + default: + printk(KERN_ERR "%s: Invalid priv->iw_mode in set_port_type()\n", + priv->ndev->name); } - - /* firmware will have to reassociate */ - priv->last_linkstatus = 0xffff; - priv->connected = 0; - - return 0; } -int orinoco_reinit_firmware(struct net_device *dev) -{ - struct orinoco_private *priv = netdev_priv(dev); - struct hermes *hw = &priv->hw; - int err; - - err = hermes_init(hw); - if (err) - return err; - - err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid); - if (err == -EIO) { - /* Try workaround for old Symbol firmware bug */ - printk(KERN_WARNING "%s: firmware ALLOC bug detected " - "(old Symbol firmware?). Trying to work around... ", - dev->name); - - priv->nicbuf_size = TX_NICBUF_SIZE_BUG; - err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid); - if (err) - printk("failed!\n"); - else - printk("ok.\n"); - } - - return err; -} +/********************************************************************/ +/* Device methods */ +/********************************************************************/ static int orinoco_open(struct net_device *dev) { @@ -722,843 +650,562 @@ int orinoco_stop(struct net_device *dev) return err; } -static int __orinoco_program_rids(struct net_device *dev) +static struct net_device_stats *orinoco_get_stats(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + + return &priv->stats; +} + +static struct iw_statistics *orinoco_get_wireless_stats(struct net_device *dev) { struct orinoco_private *priv = netdev_priv(dev); hermes_t *hw = &priv->hw; - int err; - struct hermes_idstring idbuf; + struct iw_statistics *wstats = &priv->wstats; + int err = 0; + unsigned long flags; - /* Set the MAC address */ - err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFOWNMACADDR, - HERMES_BYTES_TO_RECLEN(ETH_ALEN), dev->dev_addr); - if (err) { - printk(KERN_ERR "%s: Error %d setting MAC address\n", dev->name, err); - return err; + if (! netif_device_present(dev)) { + printk(KERN_WARNING "%s: get_wireless_stats() called while device not present\n", + dev->name); + return NULL; /* FIXME: Can we do better than this? */ } - /* Set up the link mode */ - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFPORTTYPE, priv->port_type); - if (err) { - printk(KERN_ERR "%s: Error %d setting port type\n", dev->name, err); - return err; - } - /* Set the channel/frequency */ - if (priv->channel == 0) { - printk(KERN_DEBUG "%s: Channel is 0 in __orinoco_program_rids()\n", dev->name); - if (priv->createibss) - priv->channel = 10; - } - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFOWNCHANNEL, priv->channel); - if (err) { - printk(KERN_ERR "%s: Error %d setting channel\n", dev->name, err); - return err; - } + err = orinoco_lock(priv, &flags); + if (err) + return NULL; /* FIXME: Erg, we've been signalled, how + * do we propagate this back up? */ - if (priv->has_ibss) { - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFCREATEIBSS, - priv->createibss); - if (err) { - printk(KERN_ERR "%s: Error %d setting CREATEIBSS\n", dev->name, err); - return err; + if (priv->iw_mode == IW_MODE_ADHOC) { + memset(&wstats->qual, 0, sizeof(wstats->qual)); + /* If a spy address is defined, we report stats of the + * first spy address - Jean II */ + if (SPY_NUMBER(priv)) { + wstats->qual.qual = priv->spy_stat[0].qual; + wstats->qual.level = priv->spy_stat[0].level; + wstats->qual.noise = priv->spy_stat[0].noise; + wstats->qual.updated = priv->spy_stat[0].updated; } + } else { + struct { + u16 qual, signal, noise; + } __attribute__ ((packed)) cq; - if ((strlen(priv->desired_essid) == 0) && (priv->createibss) - && (!priv->has_ibss_any)) { - printk(KERN_WARNING "%s: This firmware requires an \ -ESSID in IBSS-Ad-Hoc mode.\n", dev->name); - /* With wvlan_cs, in this case, we would crash. - * hopefully, this driver will behave better... - * Jean II */ - } + err = HERMES_READ_RECORD(hw, USER_BAP, + HERMES_RID_COMMSQUALITY, &cq); + + wstats->qual.qual = (int)le16_to_cpu(cq.qual); + wstats->qual.level = (int)le16_to_cpu(cq.signal) - 0x95; + wstats->qual.noise = (int)le16_to_cpu(cq.noise) - 0x95; + wstats->qual.updated = 7; } - /* Set the desired ESSID */ - idbuf.len = cpu_to_le16(strlen(priv->desired_essid)); - memcpy(&idbuf.val, priv->desired_essid, sizeof(idbuf.val)); - /* WinXP wants partner to configure OWNSSID even in IBSS mode. (jimc) */ - err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFOWNSSID, - HERMES_BYTES_TO_RECLEN(strlen(priv->desired_essid)+2), - &idbuf); - if (err) { - printk(KERN_ERR "%s: Error %d setting OWNSSID\n", dev->name, err); - return err; - } - err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFDESIREDSSID, - HERMES_BYTES_TO_RECLEN(strlen(priv->desired_essid)+2), - &idbuf); - if (err) { - printk(KERN_ERR "%s: Error %d setting DESIREDSSID\n", dev->name, err); - return err; - } + /* We can't really wait for the tallies inquiry command to + * complete, so we just use the previous results and trigger + * a new tallies inquiry command for next time - Jean II */ + /* FIXME: We're in user context (I think?), so we should just + wait for the tallies to come through */ + err = hermes_inquire(hw, HERMES_INQ_TALLIES); + + orinoco_unlock(priv, &flags); - /* Set the station name */ - idbuf.len = cpu_to_le16(strlen(priv->nick)); - memcpy(&idbuf.val, priv->nick, sizeof(idbuf.val)); - err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFOWNNAME, - HERMES_BYTES_TO_RECLEN(strlen(priv->nick)+2), - &idbuf); - if (err) { - printk(KERN_ERR "%s: Error %d setting nickname\n", dev->name, err); - return err; - } + if (err) + return NULL; + + return wstats; +} - /* Set AP density */ - if (priv->has_sensitivity) { - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFSYSTEMSCALE, - priv->ap_density); - if (err) { - printk(KERN_WARNING "%s: Error %d setting SYSTEMSCALE. " - "Disabling sensitivity control\n", dev->name, err); +static void orinoco_set_multicast_list(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + unsigned long flags; - priv->has_sensitivity = 0; - } + if (orinoco_lock(priv, &flags) != 0) { + printk(KERN_DEBUG "%s: orinoco_set_multicast_list() " + "called when hw_unavailable\n", dev->name); + return; } - /* Set RTS threshold */ - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFRTSTHRESHOLD, priv->rts_thresh); - if (err) { - printk(KERN_ERR "%s: Error %d setting RTS threshold\n", dev->name, err); - return err; - } + __orinoco_set_multicast_list(dev); + orinoco_unlock(priv, &flags); +} - /* Set fragmentation threshold or MWO robustness */ - if (priv->has_mwo) - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFMWOROBUST_AGERE, - priv->mwo_robust); - else - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFFRAGMENTATIONTHRESHOLD, - priv->frag_thresh); - if (err) { - printk(KERN_ERR "%s: Error %d setting framentation\n", dev->name, err); - return err; - } - - /* Set bitrate */ - err = __orinoco_hw_set_bitrate(priv); - if (err) { - printk(KERN_ERR "%s: Error %d setting bitrate\n", dev->name, err); - return err; - } - - /* Set power management */ - if (priv->has_pm) { - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFPMENABLED, - priv->pm_on); - if (err) { - printk(KERN_ERR "%s: Error %d setting up PM\n", - dev->name, err); - return err; - } - - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFMULTICASTRECEIVE, - priv->pm_mcast); - if (err) { - printk(KERN_ERR "%s: Error %d setting up PM\n", - dev->name, err); - return err; - } - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFMAXSLEEPDURATION, - priv->pm_period); - if (err) { - printk(KERN_ERR "%s: Error %d setting up PM\n", - dev->name, err); - return err; - } - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFPMHOLDOVERDURATION, - priv->pm_timeout); - if (err) { - printk(KERN_ERR "%s: Error %d setting up PM\n", - dev->name, err); - return err; - } - } +static int orinoco_change_mtu(struct net_device *dev, int new_mtu) +{ + struct orinoco_private *priv = netdev_priv(dev); - /* Set preamble - only for Symbol so far... */ - if (priv->has_preamble) { - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFPREAMBLE_SYMBOL, - priv->preamble); - if (err) { - printk(KERN_ERR "%s: Error %d setting preamble\n", - dev->name, err); - return err; - } - } + if ( (new_mtu < ORINOCO_MIN_MTU) || (new_mtu > ORINOCO_MAX_MTU) ) + return -EINVAL; - /* Set up encryption */ - if (priv->has_wep) { - err = __orinoco_hw_setup_wep(priv); - if (err) { - printk(KERN_ERR "%s: Error %d activating WEP\n", - dev->name, err); - return err; - } - } + if ( (new_mtu + ENCAPS_OVERHEAD + IEEE802_11_HLEN) > + (priv->nicbuf_size - ETH_HLEN) ) + return -EINVAL; - /* Set promiscuity / multicast*/ - priv->promiscuous = 0; - priv->mc_count = 0; - __orinoco_set_multicast_list(dev); /* FIXME: what about the xmit_lock */ + dev->mtu = new_mtu; return 0; } -/* xyzzy */ -static int orinoco_reconfigure(struct net_device *dev) +/********************************************************************/ +/* Tx path */ +/********************************************************************/ + +static int orinoco_xmit(struct sk_buff *skb, struct net_device *dev) { struct orinoco_private *priv = netdev_priv(dev); - struct hermes *hw = &priv->hw; - unsigned long flags; + struct net_device_stats *stats = &priv->stats; + hermes_t *hw = &priv->hw; int err = 0; + u16 txfid = priv->txfid; + char *p; + struct ethhdr *eh; + int len, data_len, data_off; + struct hermes_tx_descriptor desc; + unsigned long flags; - if (priv->broken_disableport) { - schedule_work(&priv->reset_work); - return 0; - } - - err = orinoco_lock(priv, &flags); - if (err) - return err; + TRACE_ENTER(dev->name); - - err = hermes_disable_port(hw, 0); - if (err) { - printk(KERN_WARNING "%s: Unable to disable port while reconfiguring card\n", + if (! netif_running(dev)) { + printk(KERN_ERR "%s: Tx on stopped device!\n", dev->name); - priv->broken_disableport = 1; - goto out; + TRACE_EXIT(dev->name); + return 1; } - - err = __orinoco_program_rids(dev); - if (err) { - printk(KERN_WARNING "%s: Unable to reconfigure card\n", + + if (netif_queue_stopped(dev)) { + printk(KERN_DEBUG "%s: Tx while transmitter busy!\n", dev->name); - goto out; + TRACE_EXIT(dev->name); + return 1; } - - err = hermes_enable_port(hw, 0); - if (err) { - printk(KERN_WARNING "%s: Unable to enable port while reconfiguring card\n", + + if (orinoco_lock(priv, &flags) != 0) { + printk(KERN_ERR "%s: orinoco_xmit() called while hw_unavailable\n", dev->name); - goto out; + TRACE_EXIT(dev->name); + return 1; } - out: - if (err) { - printk(KERN_WARNING "%s: Resetting instead...\n", dev->name); - schedule_work(&priv->reset_work); - err = 0; + if (! priv->connected) { + /* Oops, the firmware hasn't established a connection, + silently drop the packet (this seems to be the + safest approach). */ + stats->tx_errors++; + orinoco_unlock(priv, &flags); + dev_kfree_skb(skb); + TRACE_EXIT(dev->name); + return 0; } - orinoco_unlock(priv, &flags); - return err; - -} - -/* This must be called from user context, without locks held - use - * schedule_work() */ -static void orinoco_reset(struct net_device *dev) -{ - struct orinoco_private *priv = netdev_priv(dev); - struct hermes *hw = &priv->hw; - int err; - unsigned long flags; + /* Length of the packet body */ + /* FIXME: what if the skb is smaller than this? */ + len = max_t(int,skb->len - ETH_HLEN, ETH_ZLEN - ETH_HLEN); - err = orinoco_lock(priv, &flags); - if (err) - /* When the hardware becomes available again, whatever - * detects that is responsible for re-initializing - * it. So no need for anything further*/ - return; + eh = (struct ethhdr *)skb->data; - netif_stop_queue(dev); + memset(&desc, 0, sizeof(desc)); + desc.tx_control = cpu_to_le16(HERMES_TXCTRL_TX_OK | HERMES_TXCTRL_TX_EX); + err = hermes_bap_pwrite(hw, USER_BAP, &desc, sizeof(desc), txfid, 0); + if (err) { + printk(KERN_ERR "%s: Error %d writing Tx descriptor to BAP\n", + dev->name, err); + stats->tx_errors++; + goto fail; + } - /* Shut off interrupts. Depending on what state the hardware - * is in, this might not work, but we'll try anyway */ - hermes_set_irqmask(hw, 0); - hermes_write_regn(hw, EVACK, 0xffff); + /* Clear the 802.11 header and data length fields - some + * firmwares (e.g. Lucent/Agere 8.xx) appear to get confused + * if this isn't done. */ + hermes_clear_words(hw, HERMES_DATA0, + HERMES_802_3_OFFSET - HERMES_802_11_OFFSET); - priv->hw_unavailable++; - priv->last_linkstatus = 0xffff; /* firmware will have to reassociate */ - priv->connected = 0; + /* Encapsulate Ethernet-II frames */ + if (ntohs(eh->h_proto) > ETH_DATA_LEN) { /* Ethernet-II frame */ + struct header_struct hdr; + data_len = len; + data_off = HERMES_802_3_OFFSET + sizeof(hdr); + p = skb->data + ETH_HLEN; - orinoco_unlock(priv, &flags); + /* 802.3 header */ + memcpy(hdr.dest, eh->h_dest, ETH_ALEN); + memcpy(hdr.src, eh->h_source, ETH_ALEN); + hdr.len = htons(data_len + ENCAPS_OVERHEAD); + + /* 802.2 header */ + memcpy(&hdr.dsap, &encaps_hdr, sizeof(encaps_hdr)); + + hdr.ethertype = eh->h_proto; + err = hermes_bap_pwrite(hw, USER_BAP, &hdr, sizeof(hdr), + txfid, HERMES_802_3_OFFSET); + if (err) { + printk(KERN_ERR "%s: Error %d writing packet header to BAP\n", + dev->name, err); + stats->tx_errors++; + goto fail; + } + } else { /* IEEE 802.3 frame */ + data_len = len + ETH_HLEN; + data_off = HERMES_802_3_OFFSET; + p = skb->data; + } - if (priv->hard_reset) - err = (*priv->hard_reset)(priv); + /* Round up for odd length packets */ + err = hermes_bap_pwrite(hw, USER_BAP, p, ALIGN(data_len, 2), + txfid, data_off); if (err) { - printk(KERN_ERR "%s: orinoco_reset: Error %d performing hard reset\n", + printk(KERN_ERR "%s: Error %d writing packet to BAP\n", dev->name, err); - /* FIXME: shutdown of some sort */ - return; + stats->tx_errors++; + goto fail; } - err = orinoco_reinit_firmware(dev); + /* Finally, we actually initiate the send */ + netif_stop_queue(dev); + + err = hermes_docmd_wait(hw, HERMES_CMD_TX | HERMES_CMD_RECL, + txfid, NULL); if (err) { - printk(KERN_ERR "%s: orinoco_reset: Error %d re-initializing firmware\n", + netif_start_queue(dev); + printk(KERN_ERR "%s: Error %d transmitting packet\n", dev->name, err); - return; + stats->tx_errors++; + goto fail; } - spin_lock_irq(&priv->lock); /* This has to be called from user context */ + dev->trans_start = jiffies; + stats->tx_bytes += data_off + data_len; - priv->hw_unavailable--; + orinoco_unlock(priv, &flags); - /* priv->open or priv->hw_unavailable might have changed while - * we dropped the lock */ - if (priv->open && (! priv->hw_unavailable)) { - err = __orinoco_up(dev); - if (err) { - printk(KERN_ERR "%s: orinoco_reset: Error %d reenabling card\n", - dev->name, err); - } else - dev->trans_start = jiffies; - } + dev_kfree_skb(skb); - spin_unlock_irq(&priv->lock); + TRACE_EXIT(dev->name); - return; -} + return 0; + fail: + TRACE_EXIT(dev->name); -/********************************************************************/ -/* Internal helper functions */ -/********************************************************************/ - -static inline void -set_port_type(struct orinoco_private *priv) -{ - switch (priv->iw_mode) { - case IW_MODE_INFRA: - priv->port_type = 1; - priv->createibss = 0; - break; - case IW_MODE_ADHOC: - if (priv->prefer_port3) { - priv->port_type = 3; - priv->createibss = 0; - } else { - priv->port_type = priv->ibss_port; - priv->createibss = 1; - } - break; - default: - printk(KERN_ERR "%s: Invalid priv->iw_mode in set_port_type()\n", - priv->ndev->name); - } -} - -/* Does the frame have a SNAP header indicating it should be - * de-encapsulated to Ethernet-II? */ -static inline int -is_ethersnap(struct header_struct *hdr) -{ - /* We de-encapsulate all packets which, a) have SNAP headers - * (i.e. SSAP=DSAP=0xaa and CTRL=0x3 in the 802.2 LLC header - * and where b) the OUI of the SNAP header is 00:00:00 or - * 00:00:f8 - we need both because different APs appear to use - * different OUIs for some reason */ - return (memcmp(&hdr->dsap, &encaps_hdr, 5) == 0) - && ( (hdr->oui[2] == 0x00) || (hdr->oui[2] == 0xf8) ); + orinoco_unlock(priv, &flags); + return err; } -static void -orinoco_set_multicast_list(struct net_device *dev) +static void __orinoco_ev_alloc(struct net_device *dev, hermes_t *hw) { struct orinoco_private *priv = netdev_priv(dev); - unsigned long flags; + u16 fid = hermes_read_regn(hw, ALLOCFID); - if (orinoco_lock(priv, &flags) != 0) { - printk(KERN_DEBUG "%s: orinoco_set_multicast_list() " - "called when hw_unavailable\n", dev->name); + if (fid != priv->txfid) { + if (fid != DUMMY_FID) + printk(KERN_WARNING "%s: Allocate event on unexpected fid (%04X)\n", + dev->name, fid); return; + } else { + netif_wake_queue(dev); } - __orinoco_set_multicast_list(dev); - orinoco_unlock(priv, &flags); + hermes_write_regn(hw, ALLOCFID, DUMMY_FID); } -/********************************************************************/ -/* Hardware control functions */ -/********************************************************************/ +static void __orinoco_ev_tx(struct net_device *dev, hermes_t *hw) +{ + struct orinoco_private *priv = netdev_priv(dev); + struct net_device_stats *stats = &priv->stats; + stats->tx_packets++; -static int __orinoco_hw_set_bitrate(struct orinoco_private *priv) + hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID); +} + +static void __orinoco_ev_txexc(struct net_device *dev, hermes_t *hw) { - hermes_t *hw = &priv->hw; + struct orinoco_private *priv = netdev_priv(dev); + struct net_device_stats *stats = &priv->stats; + u16 fid = hermes_read_regn(hw, TXCOMPLFID); + struct hermes_tx_descriptor desc; int err = 0; - if (priv->bitratemode >= BITRATE_TABLE_SIZE) { - printk(KERN_ERR "%s: BUG: Invalid bitrate mode %d\n", - priv->ndev->name, priv->bitratemode); - return -EINVAL; - } + if (fid == DUMMY_FID) + return; /* Nothing's really happened */ - switch (priv->firmware_type) { - case FIRMWARE_TYPE_AGERE: - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFTXRATECONTROL, - bitrate_table[priv->bitratemode].agere_txratectrl); - break; - case FIRMWARE_TYPE_INTERSIL: - case FIRMWARE_TYPE_SYMBOL: - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFTXRATECONTROL, - bitrate_table[priv->bitratemode].intersil_txratectrl); - break; - default: - BUG(); + err = hermes_bap_pread(hw, IRQ_BAP, &desc, sizeof(desc), fid, 0); + if (err) { + printk(KERN_WARNING "%s: Unable to read descriptor on Tx error " + "(FID=%04X error %d)\n", + dev->name, fid, err); + } else { + DEBUG(1, "%s: Tx error, status %d\n", + dev->name, le16_to_cpu(desc.status)); } + + stats->tx_errors++; - return err; + hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID); } - -static int __orinoco_hw_setup_wep(struct orinoco_private *priv) +static void orinoco_tx_timeout(struct net_device *dev) { - hermes_t *hw = &priv->hw; - int err = 0; - int master_wep_flag; - int auth_flag; + struct orinoco_private *priv = netdev_priv(dev); + struct net_device_stats *stats = &priv->stats; + struct hermes *hw = &priv->hw; - switch (priv->firmware_type) { - case FIRMWARE_TYPE_AGERE: /* Agere style WEP */ - if (priv->wep_on) { - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFTXKEY_AGERE, - priv->tx_key); - if (err) - return err; - - err = HERMES_WRITE_RECORD(hw, USER_BAP, - HERMES_RID_CNFWEPKEYS_AGERE, - &priv->keys); - if (err) - return err; - } - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFWEPENABLED_AGERE, - priv->wep_on); - if (err) - return err; - break; + printk(KERN_WARNING "%s: Tx timeout! " + "ALLOCFID=%04x, TXCOMPLFID=%04x, EVSTAT=%04x\n", + dev->name, hermes_read_regn(hw, ALLOCFID), + hermes_read_regn(hw, TXCOMPLFID), hermes_read_regn(hw, EVSTAT)); - case FIRMWARE_TYPE_INTERSIL: /* Intersil style WEP */ - case FIRMWARE_TYPE_SYMBOL: /* Symbol style WEP */ - master_wep_flag = 0; /* Off */ - if (priv->wep_on) { - int keylen; - int i; + stats->tx_errors++; - /* Fudge around firmware weirdness */ - keylen = le16_to_cpu(priv->keys[priv->tx_key].len); - - /* Write all 4 keys */ - for(i = 0; i < ORINOCO_MAX_KEYS; i++) { -/* int keylen = le16_to_cpu(priv->keys[i].len); */ - - if (keylen > LARGE_KEY_SIZE) { - printk(KERN_ERR "%s: BUG: Key %d has oversize length %d.\n", - priv->ndev->name, i, keylen); - return -E2BIG; - } + schedule_work(&priv->reset_work); +} - err = hermes_write_ltv(hw, USER_BAP, - HERMES_RID_CNFDEFAULTKEY0 + i, - HERMES_BYTES_TO_RECLEN(keylen), - priv->keys[i].data); - if (err) - return err; - } +/********************************************************************/ +/* Rx path (data frames) */ +/********************************************************************/ - /* Write the index of the key used in transmission */ - err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFWEPDEFAULTKEYID, - priv->tx_key); - if (err) - return err; - - if (priv->wep_restrict) { - auth_flag = 2; - master_wep_flag = 3; - } else { - /* Authentication is where Intersil and Symbol - * firmware differ... */ - auth_flag = 1; - if (priv->firmware_type == FIRMWARE_TYPE_SYMBOL) - master_wep_flag = 3; /* Symbol */ - else - master_wep_flag = 1; /* Intersil */ - } +/* Does the frame have a SNAP header indicating it should be + * de-encapsulated to Ethernet-II? */ +static inline int is_ethersnap(struct header_struct *hdr) +{ + /* We de-encapsulate all packets which, a) have SNAP headers + * (i.e. SSAP=DSAP=0xaa and CTRL=0x3 in the 802.2 LLC header + * and where b) the OUI of the SNAP header is 00:00:00 or + * 00:00:f8 - we need both because different APs appear to use + * different OUIs for some reason */ + return (memcmp(&hdr->dsap, &encaps_hdr, 5) == 0) + && ( (hdr->oui[2] == 0x00) || (hdr->oui[2] == 0xf8) ); +} +static inline void orinoco_spy_gather(struct net_device *dev, u_char *mac, + int level, int noise) +{ + struct orinoco_private *priv = netdev_priv(dev); + int i; - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFAUTHENTICATION, auth_flag); - if (err) - return err; + /* Gather wireless spy statistics: for each packet, compare the + * source address with out list, and if match, get the stats... */ + for (i = 0; i < priv->spy_number; i++) + if (!memcmp(mac, priv->spy_address[i], ETH_ALEN)) { + priv->spy_stat[i].level = level - 0x95; + priv->spy_stat[i].noise = noise - 0x95; + priv->spy_stat[i].qual = (level > noise) ? (level - noise) : 0; + priv->spy_stat[i].updated = 7; } - - /* Master WEP setting : on/off */ - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFWEPFLAGS_INTERSIL, - master_wep_flag); - if (err) - return err; +} - break; +static void orinoco_stat_gather(struct net_device *dev, + struct sk_buff *skb, + struct hermes_rx_descriptor *desc) +{ + struct orinoco_private *priv = netdev_priv(dev); - default: - if (priv->wep_on) { - printk(KERN_ERR "%s: WEP enabled, although not supported!\n", - priv->ndev->name); - return -EINVAL; - } + /* Using spy support with lots of Rx packets, like in an + * infrastructure (AP), will really slow down everything, because + * the MAC address must be compared to each entry of the spy list. + * If the user really asks for it (set some address in the + * spy list), we do it, but he will pay the price. + * Note that to get here, you need both WIRELESS_SPY + * compiled in AND some addresses in the list !!! + */ + /* Note : gcc will optimise the whole section away if + * WIRELESS_SPY is not defined... - Jean II */ + if (SPY_NUMBER(priv)) { + orinoco_spy_gather(dev, skb->mac.raw + ETH_ALEN, + desc->signal, desc->silence); } - - return 0; } -static int orinoco_hw_get_bssid(struct orinoco_private *priv, - char buf[ETH_ALEN]) +static void __orinoco_ev_rx(struct net_device *dev, hermes_t *hw) { - hermes_t *hw = &priv->hw; - int err = 0; - unsigned long flags; - - err = orinoco_lock(priv, &flags); - if (err) - return err; - - err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTBSSID, - ETH_ALEN, NULL, buf); + struct orinoco_private *priv = netdev_priv(dev); + struct net_device_stats *stats = &priv->stats; + struct iw_statistics *wstats = &priv->wstats; + struct sk_buff *skb = NULL; + u16 rxfid, status; + int length, data_len, data_off; + char *p; + struct hermes_rx_descriptor desc; + struct header_struct hdr; + struct ethhdr *eh; + int err; - orinoco_unlock(priv, &flags); + rxfid = hermes_read_regn(hw, RXFID); - return err; -} + err = hermes_bap_pread(hw, IRQ_BAP, &desc, sizeof(desc), + rxfid, 0); + if (err) { + printk(KERN_ERR "%s: error %d reading Rx descriptor. " + "Frame dropped.\n", dev->name, err); + stats->rx_errors++; + goto drop; + } -static int orinoco_hw_get_essid(struct orinoco_private *priv, int *active, - char buf[IW_ESSID_MAX_SIZE+1]) -{ - hermes_t *hw = &priv->hw; - int err = 0; - struct hermes_idstring essidbuf; - char *p = (char *)(&essidbuf.val); - int len; - unsigned long flags; + status = le16_to_cpu(desc.status); - err = orinoco_lock(priv, &flags); - if (err) - return err; + if (status & HERMES_RXSTAT_ERR) { + if (status & HERMES_RXSTAT_UNDECRYPTABLE) { + wstats->discard.code++; + DEBUG(1, "%s: Undecryptable frame on Rx. Frame dropped.\n", + dev->name); + } else { + stats->rx_crc_errors++; + DEBUG(1, "%s: Bad CRC on Rx. Frame dropped.\n", dev->name); + } + stats->rx_errors++; + goto drop; + } - if (strlen(priv->desired_essid) > 0) { - /* We read the desired SSID from the hardware rather - than from priv->desired_essid, just in case the - firmware is allowed to change it on us. I'm not - sure about this */ - /* My guess is that the OWNSSID should always be whatever - * we set to the card, whereas CURRENT_SSID is the one that - * may change... - Jean II */ - u16 rid; + /* For now we ignore the 802.11 header completely, assuming + that the card's firmware has handled anything vital */ - *active = 1; + err = hermes_bap_pread(hw, IRQ_BAP, &hdr, sizeof(hdr), + rxfid, HERMES_802_3_OFFSET); + if (err) { + printk(KERN_ERR "%s: error %d reading frame header. " + "Frame dropped.\n", dev->name, err); + stats->rx_errors++; + goto drop; + } - rid = (priv->port_type == 3) ? HERMES_RID_CNFOWNSSID : - HERMES_RID_CNFDESIREDSSID; - - err = hermes_read_ltv(hw, USER_BAP, rid, sizeof(essidbuf), - NULL, &essidbuf); - if (err) - goto fail_unlock; - } else { - *active = 0; + length = ntohs(hdr.len); + + /* Sanity checks */ + if (length < 3) { /* No for even an 802.2 LLC header */ + /* At least on Symbol firmware with PCF we get quite a + lot of these legitimately - Poll frames with no + data. */ + stats->rx_dropped++; + goto drop; + } + if (length > IEEE802_11_DATA_LEN) { + printk(KERN_WARNING "%s: Oversized frame received (%d bytes)\n", + dev->name, length); + stats->rx_length_errors++; + stats->rx_errors++; + goto drop; + } - err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTSSID, - sizeof(essidbuf), NULL, &essidbuf); - if (err) - goto fail_unlock; + /* We need space for the packet data itself, plus an ethernet + header, plus 2 bytes so we can align the IP header on a + 32bit boundary, plus 1 byte so we can read in odd length + packets from the card, which has an IO granularity of 16 + bits */ + skb = dev_alloc_skb(length+ETH_HLEN+2+1); + if (!skb) { + printk(KERN_WARNING "%s: Can't allocate skb for Rx\n", + dev->name); + goto drop; } - len = le16_to_cpu(essidbuf.len); + skb_reserve(skb, 2); /* This way the IP header is aligned */ - memset(buf, 0, IW_ESSID_MAX_SIZE+1); - memcpy(buf, p, len); - buf[len] = '\0'; + /* Handle decapsulation + * In most cases, the firmware tell us about SNAP frames. + * For some reason, the SNAP frames sent by LinkSys APs + * are not properly recognised by most firmwares. + * So, check ourselves */ + if (((status & HERMES_RXSTAT_MSGTYPE) == HERMES_RXSTAT_1042) || + ((status & HERMES_RXSTAT_MSGTYPE) == HERMES_RXSTAT_TUNNEL) || + is_ethersnap(&hdr)) { + /* These indicate a SNAP within 802.2 LLC within + 802.11 frame which we'll need to de-encapsulate to + the original EthernetII frame. */ - fail_unlock: - orinoco_unlock(priv, &flags); + if (length < ENCAPS_OVERHEAD) { /* No room for full LLC+SNAP */ + stats->rx_length_errors++; + goto drop; + } - return err; -} + /* Remove SNAP header, reconstruct EthernetII frame */ + data_len = length - ENCAPS_OVERHEAD; + data_off = HERMES_802_3_OFFSET + sizeof(hdr); -static long orinoco_hw_get_freq(struct orinoco_private *priv) -{ - - hermes_t *hw = &priv->hw; - int err = 0; - u16 channel; - long freq = 0; - unsigned long flags; + eh = (struct ethhdr *)skb_put(skb, ETH_HLEN); - err = orinoco_lock(priv, &flags); - if (err) - return err; - - err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CURRENTCHANNEL, &channel); - if (err) - goto out; + memcpy(eh, &hdr, 2 * ETH_ALEN); + eh->h_proto = hdr.ethertype; + } else { + /* All other cases indicate a genuine 802.3 frame. No + decapsulation needed. We just throw the whole + thing in, and hope the protocol layer can deal with + it as 802.3 */ + data_len = length; + data_off = HERMES_802_3_OFFSET; + /* FIXME: we re-read from the card data we already read here */ + } - /* Intersil firmware 1.3.5 returns 0 when the interface is down */ - if (channel == 0) { - err = -EBUSY; - goto out; + p = skb_put(skb, data_len); + err = hermes_bap_pread(hw, IRQ_BAP, p, ALIGN(data_len, 2), + rxfid, data_off); + if (err) { + printk(KERN_ERR "%s: error %d reading frame. " + "Frame dropped.\n", dev->name, err); + stats->rx_errors++; + goto drop; } - if ( (channel < 1) || (channel > NUM_CHANNELS) ) { - printk(KERN_WARNING "%s: Channel out of range (%d)!\n", - priv->ndev->name, channel); - err = -EBUSY; - goto out; + dev->last_rx = jiffies; + skb->dev = dev; + skb->protocol = eth_type_trans(skb, dev); + skb->ip_summed = CHECKSUM_NONE; + + /* Process the wireless stats if needed */ + orinoco_stat_gather(dev, skb, &desc); - } - freq = channel_frequency[channel-1] * 100000; + /* Pass the packet to the networking stack */ + netif_rx(skb); + stats->rx_packets++; + stats->rx_bytes += length; - out: - orinoco_unlock(priv, &flags); + return; - if (err > 0) - err = -EBUSY; - return err ? err : freq; + drop: + stats->rx_dropped++; + + if (skb) + dev_kfree_skb_irq(skb); + return; } -static int orinoco_hw_get_bitratelist(struct orinoco_private *priv, - int *numrates, s32 *rates, int max) -{ - hermes_t *hw = &priv->hw; - struct hermes_idstring list; - unsigned char *p = (unsigned char *)&list.val; - int err = 0; - int num; - int i; - unsigned long flags; +/********************************************************************/ +/* Rx path (info frames) */ +/********************************************************************/ - err = orinoco_lock(priv, &flags); - if (err) - return err; +static void print_linkstatus(struct net_device *dev, u16 status) +{ + char * s; - err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_SUPPORTEDDATARATES, - sizeof(list), NULL, &list); - orinoco_unlock(priv, &flags); + if (suppress_linkstatus) + return; - if (err) - return err; + switch (status) { + case HERMES_LINKSTATUS_NOT_CONNECTED: + s = "Not Connected"; + break; + case HERMES_LINKSTATUS_CONNECTED: + s = "Connected"; + break; + case HERMES_LINKSTATUS_DISCONNECTED: + s = "Disconnected"; + break; + case HERMES_LINKSTATUS_AP_CHANGE: + s = "AP Changed"; + break; + case HERMES_LINKSTATUS_AP_OUT_OF_RANGE: + s = "AP Out of Range"; + break; + case HERMES_LINKSTATUS_AP_IN_RANGE: + s = "AP In Range"; + break; + case HERMES_LINKSTATUS_ASSOC_FAILED: + s = "Association Failed"; + break; + default: + s = "UNKNOWN"; + } - num = le16_to_cpu(list.len); - *numrates = num; - num = min(num, max); - - for (i = 0; i < num; i++) { - rates[i] = (p[i] & 0x7f) * 500000; /* convert to bps */ - } - - return 0; -} - -#if 0 -static void show_rx_frame(struct orinoco_rxframe_hdr *frame) -{ - printk(KERN_DEBUG "RX descriptor:\n"); - printk(KERN_DEBUG " status = 0x%04x\n", frame->desc.status); - printk(KERN_DEBUG " time = 0x%08x\n", frame->desc.time); - printk(KERN_DEBUG " silence = 0x%02x\n", frame->desc.silence); - printk(KERN_DEBUG " signal = 0x%02x\n", frame->desc.signal); - printk(KERN_DEBUG " rate = 0x%02x\n", frame->desc.rate); - printk(KERN_DEBUG " rxflow = 0x%02x\n", frame->desc.rxflow); - printk(KERN_DEBUG " reserved = 0x%08x\n", frame->desc.reserved); - - printk(KERN_DEBUG "IEEE 802.11 header:\n"); - printk(KERN_DEBUG " frame_ctl = 0x%04x\n", - frame->p80211.frame_ctl); - printk(KERN_DEBUG " duration_id = 0x%04x\n", - frame->p80211.duration_id); - printk(KERN_DEBUG " addr1 = %02x:%02x:%02x:%02x:%02x:%02x\n", - frame->p80211.addr1[0], frame->p80211.addr1[1], - frame->p80211.addr1[2], frame->p80211.addr1[3], - frame->p80211.addr1[4], frame->p80211.addr1[5]); - printk(KERN_DEBUG " addr2 = %02x:%02x:%02x:%02x:%02x:%02x\n", - frame->p80211.addr2[0], frame->p80211.addr2[1], - frame->p80211.addr2[2], frame->p80211.addr2[3], - frame->p80211.addr2[4], frame->p80211.addr2[5]); - printk(KERN_DEBUG " addr3 = %02x:%02x:%02x:%02x:%02x:%02x\n", - frame->p80211.addr3[0], frame->p80211.addr3[1], - frame->p80211.addr3[2], frame->p80211.addr3[3], - frame->p80211.addr3[4], frame->p80211.addr3[5]); - printk(KERN_DEBUG " seq_ctl = 0x%04x\n", - frame->p80211.seq_ctl); - printk(KERN_DEBUG " addr4 = %02x:%02x:%02x:%02x:%02x:%02x\n", - frame->p80211.addr4[0], frame->p80211.addr4[1], - frame->p80211.addr4[2], frame->p80211.addr4[3], - frame->p80211.addr4[4], frame->p80211.addr4[5]); - printk(KERN_DEBUG " data_len = 0x%04x\n", - frame->p80211.data_len); - - printk(KERN_DEBUG "IEEE 802.3 header:\n"); - printk(KERN_DEBUG " dest = %02x:%02x:%02x:%02x:%02x:%02x\n", - frame->p8023.h_dest[0], frame->p8023.h_dest[1], - frame->p8023.h_dest[2], frame->p8023.h_dest[3], - frame->p8023.h_dest[4], frame->p8023.h_dest[5]); - printk(KERN_DEBUG " src = %02x:%02x:%02x:%02x:%02x:%02x\n", - frame->p8023.h_source[0], frame->p8023.h_source[1], - frame->p8023.h_source[2], frame->p8023.h_source[3], - frame->p8023.h_source[4], frame->p8023.h_source[5]); - printk(KERN_DEBUG " len = 0x%04x\n", frame->p8023.h_proto); - - printk(KERN_DEBUG "IEEE 802.2 LLC/SNAP header:\n"); - printk(KERN_DEBUG " DSAP = 0x%02x\n", frame->p8022.dsap); - printk(KERN_DEBUG " SSAP = 0x%02x\n", frame->p8022.ssap); - printk(KERN_DEBUG " ctrl = 0x%02x\n", frame->p8022.ctrl); - printk(KERN_DEBUG " OUI = %02x:%02x:%02x\n", - frame->p8022.oui[0], frame->p8022.oui[1], frame->p8022.oui[2]); - printk(KERN_DEBUG " ethertype = 0x%04x\n", frame->ethertype); -} -#endif /* 0 */ - -/* - * Interrupt handler - */ -irqreturn_t orinoco_interrupt(int irq, void *dev_id, struct pt_regs *regs) -{ - struct net_device *dev = (struct net_device *)dev_id; - struct orinoco_private *priv = netdev_priv(dev); - hermes_t *hw = &priv->hw; - int count = MAX_IRQLOOPS_PER_IRQ; - u16 evstat, events; - /* These are used to detect a runaway interrupt situation */ - /* If we get more than MAX_IRQLOOPS_PER_JIFFY iterations in a jiffy, - * we panic and shut down the hardware */ - static int last_irq_jiffy = 0; /* jiffies value the last time we were called */ - static int loops_this_jiffy = 0; - unsigned long flags; - - if (orinoco_lock(priv, &flags) != 0) { - /* If hw is unavailable - we don't know if the irq was - * for us or not */ - return IRQ_HANDLED; - } - - evstat = hermes_read_regn(hw, EVSTAT); - events = evstat & hw->inten; - if (! events) { - orinoco_unlock(priv, &flags); - return IRQ_NONE; - } - - if (jiffies != last_irq_jiffy) - loops_this_jiffy = 0; - last_irq_jiffy = jiffies; - - while (events && count--) { - if (++loops_this_jiffy > MAX_IRQLOOPS_PER_JIFFY) { - printk(KERN_WARNING "%s: IRQ handler is looping too " - "much! Resetting.\n", dev->name); - /* Disable interrupts for now */ - hermes_set_irqmask(hw, 0); - schedule_work(&priv->reset_work); - break; - } - - /* Check the card hasn't been removed */ - if (! hermes_present(hw)) { - DEBUG(0, "orinoco_interrupt(): card removed\n"); - break; - } - - if (events & HERMES_EV_TICK) - __orinoco_ev_tick(dev, hw); - if (events & HERMES_EV_WTERR) - __orinoco_ev_wterr(dev, hw); - if (events & HERMES_EV_INFDROP) - __orinoco_ev_infdrop(dev, hw); - if (events & HERMES_EV_INFO) - __orinoco_ev_info(dev, hw); - if (events & HERMES_EV_RX) - __orinoco_ev_rx(dev, hw); - if (events & HERMES_EV_TXEXC) - __orinoco_ev_txexc(dev, hw); - if (events & HERMES_EV_TX) - __orinoco_ev_tx(dev, hw); - if (events & HERMES_EV_ALLOC) - __orinoco_ev_alloc(dev, hw); - - hermes_write_regn(hw, EVACK, events); - - evstat = hermes_read_regn(hw, EVSTAT); - events = evstat & hw->inten; - }; - - orinoco_unlock(priv, &flags); - return IRQ_HANDLED; -} - -static void __orinoco_ev_tick(struct net_device *dev, hermes_t *hw) -{ - printk(KERN_DEBUG "%s: TICK\n", dev->name); -} - -static void __orinoco_ev_wterr(struct net_device *dev, hermes_t *hw) -{ - /* This seems to happen a fair bit under load, but ignoring it - seems to work fine...*/ - printk(KERN_DEBUG "%s: MAC controller error (WTERR). Ignoring.\n", - dev->name); -} - -static void __orinoco_ev_infdrop(struct net_device *dev, hermes_t *hw) -{ - if (net_ratelimit()) - printk(KERN_WARNING "%s: Information frame lost.\n", dev->name); -} - -static void print_linkstatus(struct net_device *dev, u16 status) -{ - char * s; - - if (suppress_linkstatus) - return; - - switch (status) { - case HERMES_LINKSTATUS_NOT_CONNECTED: - s = "Not Connected"; - break; - case HERMES_LINKSTATUS_CONNECTED: - s = "Connected"; - break; - case HERMES_LINKSTATUS_DISCONNECTED: - s = "Disconnected"; - break; - case HERMES_LINKSTATUS_AP_CHANGE: - s = "AP Changed"; - break; - case HERMES_LINKSTATUS_AP_OUT_OF_RANGE: - s = "AP Out of Range"; - break; - case HERMES_LINKSTATUS_AP_IN_RANGE: - s = "AP In Range"; - break; - case HERMES_LINKSTATUS_ASSOC_FAILED: - s = "Association Failed"; - break; - default: - s = "UNKNOWN"; - } - - printk(KERN_INFO "%s: New link status: %s (%04x)\n", - dev->name, s, status); -} + printk(KERN_INFO "%s: New link status: %s (%04x)\n", + dev->name, s, status); +} static void __orinoco_ev_info(struct net_device *dev, hermes_t *hw) { @@ -1614,19 +1261,17 @@ static void __orinoco_ev_info(struct net_device *dev, hermes_t *hw) le16_to_cpu(tallies.RxDiscards_WEPExcluded); wstats->discard.misc += le16_to_cpu(tallies.TxDiscardsWrongSA); -#if WIRELESS_EXT > 11 wstats->discard.fragment += le16_to_cpu(tallies.RxMsgInBadMsgFragments); wstats->discard.retries += le16_to_cpu(tallies.TxRetryLimitExceeded); /* wstats->miss.beacon - no match */ -#endif /* WIRELESS_EXT > 11 */ } break; case HERMES_INQ_LINKSTATUS: { struct hermes_linkstatus linkstatus; u16 newstatus; - + if (len != sizeof(linkstatus)) { printk(KERN_WARNING "%s: Unexpected size for linkstatus frame (%d bytes)\n", dev->name, len); @@ -1654,219 +1299,726 @@ static void __orinoco_ev_info(struct net_device *dev, hermes_t *hw) } break; default: - printk(KERN_DEBUG "%s: Unknown information frame received (type %04x).\n", - dev->name, type); + printk(KERN_DEBUG "%s: Unknown information frame received " + "(type %04x).\n", dev->name, type); /* We don't actually do anything about it */ break; } } -static void __orinoco_ev_rx(struct net_device *dev, hermes_t *hw) +static void __orinoco_ev_infdrop(struct net_device *dev, hermes_t *hw) +{ + if (net_ratelimit()) + printk(KERN_WARNING "%s: Information frame lost.\n", dev->name); +} + +/********************************************************************/ +/* Internal hardware control routines */ +/********************************************************************/ + +int __orinoco_up(struct net_device *dev) { struct orinoco_private *priv = netdev_priv(dev); - struct net_device_stats *stats = &priv->stats; - struct iw_statistics *wstats = &priv->wstats; - struct sk_buff *skb = NULL; - u16 rxfid, status; - int length, data_len, data_off; - char *p; - struct hermes_rx_descriptor desc; - struct header_struct hdr; - struct ethhdr *eh; + struct hermes *hw = &priv->hw; int err; - rxfid = hermes_read_regn(hw, RXFID); - - err = hermes_bap_pread(hw, IRQ_BAP, &desc, sizeof(desc), - rxfid, 0); + err = __orinoco_program_rids(dev); if (err) { - printk(KERN_ERR "%s: error %d reading Rx descriptor. " - "Frame dropped.\n", dev->name, err); - stats->rx_errors++; - goto drop; + printk(KERN_ERR "%s: Error %d configuring card\n", + dev->name, err); + return err; } - status = le16_to_cpu(desc.status); - - if (status & HERMES_RXSTAT_ERR) { - if (status & HERMES_RXSTAT_UNDECRYPTABLE) { - wstats->discard.code++; - DEBUG(1, "%s: Undecryptable frame on Rx. Frame dropped.\n", - dev->name); - } else { - stats->rx_crc_errors++; - DEBUG(1, "%s: Bad CRC on Rx. Frame dropped.\n", dev->name); - } - stats->rx_errors++; - goto drop; + /* Fire things up again */ + hermes_set_irqmask(hw, ORINOCO_INTEN); + err = hermes_enable_port(hw, 0); + if (err) { + printk(KERN_ERR "%s: Error %d enabling MAC port\n", + dev->name, err); + return err; } - /* For now we ignore the 802.11 header completely, assuming - that the card's firmware has handled anything vital */ + netif_start_queue(dev); - err = hermes_bap_pread(hw, IRQ_BAP, &hdr, sizeof(hdr), - rxfid, HERMES_802_3_OFFSET); + return 0; +} + +int __orinoco_down(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + struct hermes *hw = &priv->hw; + int err; + + netif_stop_queue(dev); + + if (! priv->hw_unavailable) { + if (! priv->broken_disableport) { + err = hermes_disable_port(hw, 0); + if (err) { + /* Some firmwares (e.g. Intersil 1.3.x) seem + * to have problems disabling the port, oh + * well, too bad. */ + printk(KERN_WARNING "%s: Error %d disabling MAC port\n", + dev->name, err); + priv->broken_disableport = 1; + } + } + hermes_set_irqmask(hw, 0); + hermes_write_regn(hw, EVACK, 0xffff); + } + + /* firmware will have to reassociate */ + priv->last_linkstatus = 0xffff; + priv->connected = 0; + + return 0; +} + +int orinoco_reinit_firmware(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + struct hermes *hw = &priv->hw; + int err; + + err = hermes_init(hw); + if (err) + return err; + + err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid); + if (err == -EIO) { + /* Try workaround for old Symbol firmware bug */ + printk(KERN_WARNING "%s: firmware ALLOC bug detected " + "(old Symbol firmware?). Trying to work around... ", + dev->name); + + priv->nicbuf_size = TX_NICBUF_SIZE_BUG; + err = hermes_allocate(hw, priv->nicbuf_size, &priv->txfid); + if (err) + printk("failed!\n"); + else + printk("ok.\n"); + } + + return err; +} + +static int __orinoco_hw_set_bitrate(struct orinoco_private *priv) +{ + hermes_t *hw = &priv->hw; + int err = 0; + + if (priv->bitratemode >= BITRATE_TABLE_SIZE) { + printk(KERN_ERR "%s: BUG: Invalid bitrate mode %d\n", + priv->ndev->name, priv->bitratemode); + return -EINVAL; + } + + switch (priv->firmware_type) { + case FIRMWARE_TYPE_AGERE: + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFTXRATECONTROL, + bitrate_table[priv->bitratemode].agere_txratectrl); + break; + case FIRMWARE_TYPE_INTERSIL: + case FIRMWARE_TYPE_SYMBOL: + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFTXRATECONTROL, + bitrate_table[priv->bitratemode].intersil_txratectrl); + break; + default: + BUG(); + } + + return err; +} + +static int __orinoco_hw_setup_wep(struct orinoco_private *priv) +{ + hermes_t *hw = &priv->hw; + int err = 0; + int master_wep_flag; + int auth_flag; + + switch (priv->firmware_type) { + case FIRMWARE_TYPE_AGERE: /* Agere style WEP */ + if (priv->wep_on) { + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFTXKEY_AGERE, + priv->tx_key); + if (err) + return err; + + err = HERMES_WRITE_RECORD(hw, USER_BAP, + HERMES_RID_CNFWEPKEYS_AGERE, + &priv->keys); + if (err) + return err; + } + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFWEPENABLED_AGERE, + priv->wep_on); + if (err) + return err; + break; + + case FIRMWARE_TYPE_INTERSIL: /* Intersil style WEP */ + case FIRMWARE_TYPE_SYMBOL: /* Symbol style WEP */ + master_wep_flag = 0; /* Off */ + if (priv->wep_on) { + int keylen; + int i; + + /* Fudge around firmware weirdness */ + keylen = le16_to_cpu(priv->keys[priv->tx_key].len); + + /* Write all 4 keys */ + for(i = 0; i < ORINOCO_MAX_KEYS; i++) { +/* int keylen = le16_to_cpu(priv->keys[i].len); */ + + if (keylen > LARGE_KEY_SIZE) { + printk(KERN_ERR "%s: BUG: Key %d has oversize length %d.\n", + priv->ndev->name, i, keylen); + return -E2BIG; + } + + err = hermes_write_ltv(hw, USER_BAP, + HERMES_RID_CNFDEFAULTKEY0 + i, + HERMES_BYTES_TO_RECLEN(keylen), + priv->keys[i].data); + if (err) + return err; + } + + /* Write the index of the key used in transmission */ + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFWEPDEFAULTKEYID, + priv->tx_key); + if (err) + return err; + + if (priv->wep_restrict) { + auth_flag = 2; + master_wep_flag = 3; + } else { + /* Authentication is where Intersil and Symbol + * firmware differ... */ + auth_flag = 1; + if (priv->firmware_type == FIRMWARE_TYPE_SYMBOL) + master_wep_flag = 3; /* Symbol */ + else + master_wep_flag = 1; /* Intersil */ + } + + + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFAUTHENTICATION, + auth_flag); + if (err) + return err; + } + + /* Master WEP setting : on/off */ + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFWEPFLAGS_INTERSIL, + master_wep_flag); + if (err) + return err; + + break; + + default: + if (priv->wep_on) { + printk(KERN_ERR "%s: WEP enabled, although not supported!\n", + priv->ndev->name); + return -EINVAL; + } + } + + return 0; +} + +static int __orinoco_program_rids(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + hermes_t *hw = &priv->hw; + int err; + struct hermes_idstring idbuf; + + /* Set the MAC address */ + err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFOWNMACADDR, + HERMES_BYTES_TO_RECLEN(ETH_ALEN), dev->dev_addr); if (err) { - printk(KERN_ERR "%s: error %d reading frame header. " - "Frame dropped.\n", dev->name, err); - stats->rx_errors++; - goto drop; + printk(KERN_ERR "%s: Error %d setting MAC address\n", + dev->name, err); + return err; } - length = ntohs(hdr.len); - - /* Sanity checks */ - if (length < 3) { /* No for even an 802.2 LLC header */ - /* At least on Symbol firmware with PCF we get quite a - lot of these legitimately - Poll frames with no - data. */ - stats->rx_dropped++; - goto drop; + /* Set up the link mode */ + err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFPORTTYPE, + priv->port_type); + if (err) { + printk(KERN_ERR "%s: Error %d setting port type\n", + dev->name, err); + return err; } - if (length > IEEE802_11_DATA_LEN) { - printk(KERN_WARNING "%s: Oversized frame received (%d bytes)\n", - dev->name, length); - stats->rx_length_errors++; - stats->rx_errors++; - goto drop; + /* Set the channel/frequency */ + if (priv->channel == 0) { + printk(KERN_DEBUG "%s: Channel is 0 in __orinoco_program_rids()\n", dev->name); + if (priv->createibss) + priv->channel = 10; + } + err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFOWNCHANNEL, + priv->channel); + if (err) { + printk(KERN_ERR "%s: Error %d setting channel\n", + dev->name, err); + return err; + } + + if (priv->has_ibss) { + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFCREATEIBSS, + priv->createibss); + if (err) { + printk(KERN_ERR "%s: Error %d setting CREATEIBSS\n", dev->name, err); + return err; + } + + if ((strlen(priv->desired_essid) == 0) && (priv->createibss) + && (!priv->has_ibss_any)) { + printk(KERN_WARNING "%s: This firmware requires an " + "ESSID in IBSS-Ad-Hoc mode.\n", dev->name); + /* With wvlan_cs, in this case, we would crash. + * hopefully, this driver will behave better... + * Jean II */ + } + } + + /* Set the desired ESSID */ + idbuf.len = cpu_to_le16(strlen(priv->desired_essid)); + memcpy(&idbuf.val, priv->desired_essid, sizeof(idbuf.val)); + /* WinXP wants partner to configure OWNSSID even in IBSS mode. (jimc) */ + err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFOWNSSID, + HERMES_BYTES_TO_RECLEN(strlen(priv->desired_essid)+2), + &idbuf); + if (err) { + printk(KERN_ERR "%s: Error %d setting OWNSSID\n", + dev->name, err); + return err; + } + err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFDESIREDSSID, + HERMES_BYTES_TO_RECLEN(strlen(priv->desired_essid)+2), + &idbuf); + if (err) { + printk(KERN_ERR "%s: Error %d setting DESIREDSSID\n", + dev->name, err); + return err; + } + + /* Set the station name */ + idbuf.len = cpu_to_le16(strlen(priv->nick)); + memcpy(&idbuf.val, priv->nick, sizeof(idbuf.val)); + err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFOWNNAME, + HERMES_BYTES_TO_RECLEN(strlen(priv->nick)+2), + &idbuf); + if (err) { + printk(KERN_ERR "%s: Error %d setting nickname\n", + dev->name, err); + return err; + } + + /* Set AP density */ + if (priv->has_sensitivity) { + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFSYSTEMSCALE, + priv->ap_density); + if (err) { + printk(KERN_WARNING "%s: Error %d setting SYSTEMSCALE. " + "Disabling sensitivity control\n", + dev->name, err); + + priv->has_sensitivity = 0; + } + } + + /* Set RTS threshold */ + err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFRTSTHRESHOLD, + priv->rts_thresh); + if (err) { + printk(KERN_ERR "%s: Error %d setting RTS threshold\n", + dev->name, err); + return err; + } + + /* Set fragmentation threshold or MWO robustness */ + if (priv->has_mwo) + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFMWOROBUST_AGERE, + priv->mwo_robust); + else + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFFRAGMENTATIONTHRESHOLD, + priv->frag_thresh); + if (err) { + printk(KERN_ERR "%s: Error %d setting fragmentation\n", + dev->name, err); + return err; + } + + /* Set bitrate */ + err = __orinoco_hw_set_bitrate(priv); + if (err) { + printk(KERN_ERR "%s: Error %d setting bitrate\n", + dev->name, err); + return err; + } + + /* Set power management */ + if (priv->has_pm) { + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFPMENABLED, + priv->pm_on); + if (err) { + printk(KERN_ERR "%s: Error %d setting up PM\n", + dev->name, err); + return err; + } + + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFMULTICASTRECEIVE, + priv->pm_mcast); + if (err) { + printk(KERN_ERR "%s: Error %d setting up PM\n", + dev->name, err); + return err; + } + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFMAXSLEEPDURATION, + priv->pm_period); + if (err) { + printk(KERN_ERR "%s: Error %d setting up PM\n", + dev->name, err); + return err; + } + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFPMHOLDOVERDURATION, + priv->pm_timeout); + if (err) { + printk(KERN_ERR "%s: Error %d setting up PM\n", + dev->name, err); + return err; + } + } + + /* Set preamble - only for Symbol so far... */ + if (priv->has_preamble) { + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFPREAMBLE_SYMBOL, + priv->preamble); + if (err) { + printk(KERN_ERR "%s: Error %d setting preamble\n", + dev->name, err); + return err; + } + } + + /* Set up encryption */ + if (priv->has_wep) { + err = __orinoco_hw_setup_wep(priv); + if (err) { + printk(KERN_ERR "%s: Error %d activating WEP\n", + dev->name, err); + return err; + } + } + + /* Set promiscuity / multicast*/ + priv->promiscuous = 0; + priv->mc_count = 0; + __orinoco_set_multicast_list(dev); /* FIXME: what about the xmit_lock */ + + return 0; +} + +/* FIXME: return int? */ +static void +__orinoco_set_multicast_list(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + hermes_t *hw = &priv->hw; + int err = 0; + int promisc, mc_count; + + /* The Hermes doesn't seem to have an allmulti mode, so we go + * into promiscuous mode and let the upper levels deal. */ + if ( (dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI) || + (dev->mc_count > MAX_MULTICAST(priv)) ) { + promisc = 1; + mc_count = 0; + } else { + promisc = 0; + mc_count = dev->mc_count; + } + + if (promisc != priv->promiscuous) { + err = hermes_write_wordrec(hw, USER_BAP, + HERMES_RID_CNFPROMISCUOUSMODE, + promisc); + if (err) { + printk(KERN_ERR "%s: Error %d setting PROMISCUOUSMODE to 1.\n", + dev->name, err); + } else + priv->promiscuous = promisc; + } + + if (! promisc && (mc_count || priv->mc_count) ) { + struct dev_mc_list *p = dev->mc_list; + struct hermes_multicast mclist; + int i; + + for (i = 0; i < mc_count; i++) { + /* paranoia: is list shorter than mc_count? */ + BUG_ON(! p); + /* paranoia: bad address size in list? */ + BUG_ON(p->dmi_addrlen != ETH_ALEN); + + memcpy(mclist.addr[i], p->dmi_addr, ETH_ALEN); + p = p->next; + } + + if (p) + printk(KERN_WARNING "Multicast list is longer than mc_count\n"); + + err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFGROUPADDRESSES, + HERMES_BYTES_TO_RECLEN(priv->mc_count * ETH_ALEN), + &mclist); + if (err) + printk(KERN_ERR "%s: Error %d setting multicast list.\n", + dev->name, err); + else + priv->mc_count = mc_count; + } + + /* Since we can set the promiscuous flag when it wasn't asked + for, make sure the net_device knows about it. */ + if (priv->promiscuous) + dev->flags |= IFF_PROMISC; + else + dev->flags &= ~IFF_PROMISC; +} + +static int orinoco_reconfigure(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + struct hermes *hw = &priv->hw; + unsigned long flags; + int err = 0; + + if (priv->broken_disableport) { + schedule_work(&priv->reset_work); + return 0; + } + + err = orinoco_lock(priv, &flags); + if (err) + return err; + + + err = hermes_disable_port(hw, 0); + if (err) { + printk(KERN_WARNING "%s: Unable to disable port while reconfiguring card\n", + dev->name); + priv->broken_disableport = 1; + goto out; } - /* We need space for the packet data itself, plus an ethernet - header, plus 2 bytes so we can align the IP header on a - 32bit boundary, plus 1 byte so we can read in odd length - packets from the card, which has an IO granularity of 16 - bits */ - skb = dev_alloc_skb(length+ETH_HLEN+2+1); - if (!skb) { - printk(KERN_WARNING "%s: Can't allocate skb for Rx\n", + err = __orinoco_program_rids(dev); + if (err) { + printk(KERN_WARNING "%s: Unable to reconfigure card\n", dev->name); - goto drop; + goto out; } - skb_reserve(skb, 2); /* This way the IP header is aligned */ + err = hermes_enable_port(hw, 0); + if (err) { + printk(KERN_WARNING "%s: Unable to enable port while reconfiguring card\n", + dev->name); + goto out; + } - /* Handle decapsulation - * In most cases, the firmware tell us about SNAP frames. - * For some reason, the SNAP frames sent by LinkSys APs - * are not properly recognised by most firmwares. - * So, check ourselves */ - if(((status & HERMES_RXSTAT_MSGTYPE) == HERMES_RXSTAT_1042) || - ((status & HERMES_RXSTAT_MSGTYPE) == HERMES_RXSTAT_TUNNEL) || - is_ethersnap(&hdr)) { - /* These indicate a SNAP within 802.2 LLC within - 802.11 frame which we'll need to de-encapsulate to - the original EthernetII frame. */ + out: + if (err) { + printk(KERN_WARNING "%s: Resetting instead...\n", dev->name); + schedule_work(&priv->reset_work); + err = 0; + } - if (length < ENCAPS_OVERHEAD) { /* No room for full LLC+SNAP */ - stats->rx_length_errors++; - goto drop; - } + orinoco_unlock(priv, &flags); + return err; - /* Remove SNAP header, reconstruct EthernetII frame */ - data_len = length - ENCAPS_OVERHEAD; - data_off = HERMES_802_3_OFFSET + sizeof(hdr); +} - eh = (struct ethhdr *)skb_put(skb, ETH_HLEN); +/* This must be called from user context, without locks held - use + * schedule_work() */ +static void orinoco_reset(struct net_device *dev) +{ + struct orinoco_private *priv = netdev_priv(dev); + struct hermes *hw = &priv->hw; + int err; + unsigned long flags; - memcpy(eh, &hdr, 2 * ETH_ALEN); - eh->h_proto = hdr.ethertype; - } else { - /* All other cases indicate a genuine 802.3 frame. No - decapsulation needed. We just throw the whole - thing in, and hope the protocol layer can deal with - it as 802.3 */ - data_len = length; - data_off = HERMES_802_3_OFFSET; - /* FIXME: we re-read from the card data we already read here */ + err = orinoco_lock(priv, &flags); + if (err) + /* When the hardware becomes available again, whatever + * detects that is responsible for re-initializing + * it. So no need for anything further */ + return; + + netif_stop_queue(dev); + + /* Shut off interrupts. Depending on what state the hardware + * is in, this might not work, but we'll try anyway */ + hermes_set_irqmask(hw, 0); + hermes_write_regn(hw, EVACK, 0xffff); + + priv->hw_unavailable++; + priv->last_linkstatus = 0xffff; /* firmware will have to reassociate */ + priv->connected = 0; + + orinoco_unlock(priv, &flags); + + if (priv->hard_reset) + err = (*priv->hard_reset)(priv); + if (err) { + printk(KERN_ERR "%s: orinoco_reset: Error %d " + "performing hard reset\n", dev->name, err); + /* FIXME: shutdown of some sort */ + return; } - p = skb_put(skb, data_len); - err = hermes_bap_pread(hw, IRQ_BAP, p, RUP_EVEN(data_len), - rxfid, data_off); + err = orinoco_reinit_firmware(dev); if (err) { - printk(KERN_ERR "%s: error %d reading frame. " - "Frame dropped.\n", dev->name, err); - stats->rx_errors++; - goto drop; + printk(KERN_ERR "%s: orinoco_reset: Error %d re-initializing firmware\n", + dev->name, err); + return; } - dev->last_rx = jiffies; - skb->dev = dev; - skb->protocol = eth_type_trans(skb, dev); - skb->ip_summed = CHECKSUM_NONE; - - /* Process the wireless stats if needed */ - orinoco_stat_gather(dev, skb, &desc); + spin_lock_irq(&priv->lock); /* This has to be called from user context */ - /* Pass the packet to the networking stack */ - netif_rx(skb); - stats->rx_packets++; - stats->rx_bytes += length; + priv->hw_unavailable--; - return; + /* priv->open or priv->hw_unavailable might have changed while + * we dropped the lock */ + if (priv->open && (! priv->hw_unavailable)) { + err = __orinoco_up(dev); + if (err) { + printk(KERN_ERR "%s: orinoco_reset: Error %d reenabling card\n", + dev->name, err); + } else + dev->trans_start = jiffies; + } - drop: - stats->rx_dropped++; + spin_unlock_irq(&priv->lock); - if (skb) - dev_kfree_skb_irq(skb); return; } -static void __orinoco_ev_txexc(struct net_device *dev, hermes_t *hw) -{ - struct orinoco_private *priv = netdev_priv(dev); - struct net_device_stats *stats = &priv->stats; - u16 fid = hermes_read_regn(hw, TXCOMPLFID); - struct hermes_tx_descriptor desc; - int err = 0; - - if (fid == DUMMY_FID) - return; /* Nothing's really happened */ - - err = hermes_bap_pread(hw, IRQ_BAP, &desc, sizeof(desc), fid, 0); - if (err) { - printk(KERN_WARNING "%s: Unable to read descriptor on Tx error " - "(FID=%04X error %d)\n", - dev->name, fid, err); - } else { - DEBUG(1, "%s: Tx error, status %d\n", - dev->name, le16_to_cpu(desc.status)); - } - - stats->tx_errors++; +/********************************************************************/ +/* Interrupt handler */ +/********************************************************************/ - hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID); +static void __orinoco_ev_tick(struct net_device *dev, hermes_t *hw) +{ + printk(KERN_DEBUG "%s: TICK\n", dev->name); } -static void __orinoco_ev_tx(struct net_device *dev, hermes_t *hw) +static void __orinoco_ev_wterr(struct net_device *dev, hermes_t *hw) { - struct orinoco_private *priv = netdev_priv(dev); - struct net_device_stats *stats = &priv->stats; - - stats->tx_packets++; - - hermes_write_regn(hw, TXCOMPLFID, DUMMY_FID); + /* This seems to happen a fair bit under load, but ignoring it + seems to work fine...*/ + printk(KERN_DEBUG "%s: MAC controller error (WTERR). Ignoring.\n", + dev->name); } -static void __orinoco_ev_alloc(struct net_device *dev, hermes_t *hw) +irqreturn_t orinoco_interrupt(int irq, void *dev_id, struct pt_regs *regs) { + struct net_device *dev = (struct net_device *)dev_id; struct orinoco_private *priv = netdev_priv(dev); + hermes_t *hw = &priv->hw; + int count = MAX_IRQLOOPS_PER_IRQ; + u16 evstat, events; + /* These are used to detect a runaway interrupt situation */ + /* If we get more than MAX_IRQLOOPS_PER_JIFFY iterations in a jiffy, + * we panic and shut down the hardware */ + static int last_irq_jiffy = 0; /* jiffies value the last time + * we were called */ + static int loops_this_jiffy = 0; + unsigned long flags; - u16 fid = hermes_read_regn(hw, ALLOCFID); + if (orinoco_lock(priv, &flags) != 0) { + /* If hw is unavailable - we don't know if the irq was + * for us or not */ + return IRQ_HANDLED; + } - if (fid != priv->txfid) { - if (fid != DUMMY_FID) - printk(KERN_WARNING "%s: Allocate event on unexpected fid (%04X)\n", - dev->name, fid); - return; - } else { - netif_wake_queue(dev); + evstat = hermes_read_regn(hw, EVSTAT); + events = evstat & hw->inten; + if (! events) { + orinoco_unlock(priv, &flags); + return IRQ_NONE; } + + if (jiffies != last_irq_jiffy) + loops_this_jiffy = 0; + last_irq_jiffy = jiffies; - hermes_write_regn(hw, ALLOCFID, DUMMY_FID); + while (events && count--) { + if (++loops_this_jiffy > MAX_IRQLOOPS_PER_JIFFY) { + printk(KERN_WARNING "%s: IRQ handler is looping too " + "much! Resetting.\n", dev->name); + /* Disable interrupts for now */ + hermes_set_irqmask(hw, 0); + schedule_work(&priv->reset_work); + break; + } + + /* Check the card hasn't been removed */ + if (! hermes_present(hw)) { + DEBUG(0, "orinoco_interrupt(): card removed\n"); + break; + } + + if (events & HERMES_EV_TICK) + __orinoco_ev_tick(dev, hw); + if (events & HERMES_EV_WTERR) + __orinoco_ev_wterr(dev, hw); + if (events & HERMES_EV_INFDROP) + __orinoco_ev_infdrop(dev, hw); + if (events & HERMES_EV_INFO) + __orinoco_ev_info(dev, hw); + if (events & HERMES_EV_RX) + __orinoco_ev_rx(dev, hw); + if (events & HERMES_EV_TXEXC) + __orinoco_ev_txexc(dev, hw); + if (events & HERMES_EV_TX) + __orinoco_ev_tx(dev, hw); + if (events & HERMES_EV_ALLOC) + __orinoco_ev_alloc(dev, hw); + + hermes_write_regn(hw, EVACK, events); + + evstat = hermes_read_regn(hw, EVSTAT); + events = evstat & hw->inten; + }; + + orinoco_unlock(priv, &flags); + return IRQ_HANDLED; } +/********************************************************************/ +/* Initialization */ +/********************************************************************/ + struct sta_id { u16 id, variant, major, minor; } __attribute__ ((packed)); @@ -1901,11 +2053,11 @@ static void determine_firmware(struct net_device *dev) dev->name, err); memset(&sta_id, 0, sizeof(sta_id)); } + le16_to_cpus(&sta_id.id); le16_to_cpus(&sta_id.variant); le16_to_cpus(&sta_id.major); le16_to_cpus(&sta_id.minor); - printk(KERN_DEBUG "%s: Station identity %04x:%04x:%04x:%04x\n", dev->name, sta_id.id, sta_id.variant, sta_id.major, sta_id.minor); @@ -2018,12 +2170,7 @@ static void determine_firmware(struct net_device *dev) } } -/* - * struct net_device methods - */ - -static int -orinoco_init(struct net_device *dev) +static int orinoco_init(struct net_device *dev) { struct orinoco_private *priv = netdev_priv(dev); hermes_t *hw = &priv->hw; @@ -2112,7 +2259,8 @@ orinoco_init(struct net_device *dev) err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CNFRTSTHRESHOLD, &priv->rts_thresh); if (err) { - printk(KERN_ERR "%s: failed to read RTS threshold!\n", dev->name); + printk(KERN_ERR "%s: failed to read RTS threshold!\n", + dev->name); goto out; } @@ -2125,7 +2273,8 @@ orinoco_init(struct net_device *dev) err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CNFFRAGMENTATIONTHRESHOLD, &priv->frag_thresh); if (err) { - printk(KERN_ERR "%s: failed to read fragmentation settings!\n", dev->name); + printk(KERN_ERR "%s: failed to read fragmentation settings!\n", + dev->name); goto out; } @@ -2153,7 +2302,8 @@ orinoco_init(struct net_device *dev) /* Preamble setup */ if (priv->has_preamble) { - err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CNFPREAMBLE_SYMBOL, + err = hermes_read_wordrec(hw, USER_BAP, + HERMES_RID_CNFPREAMBLE_SYMBOL, &priv->preamble); if (err) goto out; @@ -2202,357 +2352,204 @@ orinoco_init(struct net_device *dev) return err; } -struct net_device_stats * -orinoco_get_stats(struct net_device *dev) -{ - struct orinoco_private *priv = netdev_priv(dev); - - return &priv->stats; -} - -struct iw_statistics * -orinoco_get_wireless_stats(struct net_device *dev) +struct net_device *alloc_orinocodev(int sizeof_card, + int (*hard_reset)(struct orinoco_private *)) { - struct orinoco_private *priv = netdev_priv(dev); - hermes_t *hw = &priv->hw; - struct iw_statistics *wstats = &priv->wstats; - int err = 0; - unsigned long flags; - - if (! netif_device_present(dev)) { - printk(KERN_WARNING "%s: get_wireless_stats() called while device not present\n", - dev->name); - return NULL; /* FIXME: Can we do better than this? */ - } + struct net_device *dev; + struct orinoco_private *priv; - err = orinoco_lock(priv, &flags); - if (err) - return NULL; /* FIXME: Erg, we've been signalled, how - * do we propagate this back up? */ + dev = alloc_etherdev(sizeof(struct orinoco_private) + sizeof_card); + if (! dev) + return NULL; + priv = netdev_priv(dev); + priv->ndev = dev; + if (sizeof_card) + priv->card = (void *)((unsigned long)netdev_priv(dev) + + sizeof(struct orinoco_private)); + else + priv->card = NULL; - if (priv->iw_mode == IW_MODE_ADHOC) { - memset(&wstats->qual, 0, sizeof(wstats->qual)); - /* If a spy address is defined, we report stats of the - * first spy address - Jean II */ - if (SPY_NUMBER(priv)) { - wstats->qual.qual = priv->spy_stat[0].qual; - wstats->qual.level = priv->spy_stat[0].level; - wstats->qual.noise = priv->spy_stat[0].noise; - wstats->qual.updated = priv->spy_stat[0].updated; - } - } else { - struct { - u16 qual, signal, noise; - } __attribute__ ((packed)) cq; + /* Setup / override net_device fields */ + dev->init = orinoco_init; + dev->hard_start_xmit = orinoco_xmit; + dev->tx_timeout = orinoco_tx_timeout; + dev->watchdog_timeo = HZ; /* 1 second timeout */ + dev->get_stats = orinoco_get_stats; + dev->get_wireless_stats = orinoco_get_wireless_stats; + dev->do_ioctl = orinoco_ioctl; + dev->change_mtu = orinoco_change_mtu; + dev->set_multicast_list = orinoco_set_multicast_list; + /* we use the default eth_mac_addr for setting the MAC addr */ - err = HERMES_READ_RECORD(hw, USER_BAP, - HERMES_RID_COMMSQUALITY, &cq); - - wstats->qual.qual = (int)le16_to_cpu(cq.qual); - wstats->qual.level = (int)le16_to_cpu(cq.signal) - 0x95; - wstats->qual.noise = (int)le16_to_cpu(cq.noise) - 0x95; - wstats->qual.updated = 7; - } + /* Set up default callbacks */ + dev->open = orinoco_open; + dev->stop = orinoco_stop; + priv->hard_reset = hard_reset; - /* We can't really wait for the tallies inquiry command to - * complete, so we just use the previous results and trigger - * a new tallies inquiry command for next time - Jean II */ - /* FIXME: We're in user context (I think?), so we should just - wait for the tallies to come through */ - err = hermes_inquire(hw, HERMES_INQ_TALLIES); - - orinoco_unlock(priv, &flags); + spin_lock_init(&priv->lock); + priv->open = 0; + priv->hw_unavailable = 1; /* orinoco_init() must clear this + * before anything else touches the + * hardware */ + INIT_WORK(&priv->reset_work, (void (*)(void *))orinoco_reset, dev); - if (err) - return NULL; - - return wstats; -} + priv->last_linkstatus = 0xffff; + priv->connected = 0; -static inline void orinoco_spy_gather(struct net_device *dev, u_char *mac, - int level, int noise) -{ - struct orinoco_private *priv = netdev_priv(dev); - int i; + return dev; - /* Gather wireless spy statistics: for each packet, compare the - * source address with out list, and if match, get the stats... */ - for (i = 0; i < priv->spy_number; i++) - if (!memcmp(mac, priv->spy_address[i], ETH_ALEN)) { - priv->spy_stat[i].level = level - 0x95; - priv->spy_stat[i].noise = noise - 0x95; - priv->spy_stat[i].qual = (level > noise) ? (level - noise) : 0; - priv->spy_stat[i].updated = 7; - } } -void -orinoco_stat_gather(struct net_device *dev, - struct sk_buff *skb, - struct hermes_rx_descriptor *desc) -{ - struct orinoco_private *priv = netdev_priv(dev); - - /* Using spy support with lots of Rx packets, like in an - * infrastructure (AP), will really slow down everything, because - * the MAC address must be compared to each entry of the spy list. - * If the user really asks for it (set some address in the - * spy list), we do it, but he will pay the price. - * Note that to get here, you need both WIRELESS_SPY - * compiled in AND some addresses in the list !!! - */ - /* Note : gcc will optimise the whole section away if - * WIRELESS_SPY is not defined... - Jean II */ - if (SPY_NUMBER(priv)) { - orinoco_spy_gather(dev, skb->mac.raw + ETH_ALEN, - desc->signal, desc->silence); - } -} +/********************************************************************/ +/* Wireless extensions */ +/********************************************************************/ -static int -orinoco_xmit(struct sk_buff *skb, struct net_device *dev) +static int orinoco_hw_get_bssid(struct orinoco_private *priv, + char buf[ETH_ALEN]) { - struct orinoco_private *priv = netdev_priv(dev); - struct net_device_stats *stats = &priv->stats; hermes_t *hw = &priv->hw; int err = 0; - u16 txfid = priv->txfid; - char *p; - struct ethhdr *eh; - int len, data_len, data_off; - struct hermes_tx_descriptor desc; unsigned long flags; - TRACE_ENTER(dev->name); + err = orinoco_lock(priv, &flags); + if (err) + return err; - if (! netif_running(dev)) { - printk(KERN_ERR "%s: Tx on stopped device!\n", - dev->name); - TRACE_EXIT(dev->name); - return 1; - } - - if (netif_queue_stopped(dev)) { - printk(KERN_DEBUG "%s: Tx while transmitter busy!\n", - dev->name); - TRACE_EXIT(dev->name); - return 1; - } - - if (orinoco_lock(priv, &flags) != 0) { - printk(KERN_ERR "%s: orinoco_xmit() called while hw_unavailable\n", - dev->name); - TRACE_EXIT(dev->name); -/* BUG(); */ - return 1; - } + err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTBSSID, + ETH_ALEN, NULL, buf); - if (! priv->connected) { - /* Oops, the firmware hasn't established a connection, - silently drop the packet (this seems to be the - safest approach). */ - stats->tx_errors++; - orinoco_unlock(priv, &flags); - dev_kfree_skb(skb); - TRACE_EXIT(dev->name); - return 0; - } + orinoco_unlock(priv, &flags); - /* Length of the packet body */ - /* FIXME: what if the skb is smaller than this? */ - len = max_t(int,skb->len - ETH_HLEN, ETH_ZLEN - ETH_HLEN); + return err; +} - eh = (struct ethhdr *)skb->data; +static int orinoco_hw_get_essid(struct orinoco_private *priv, int *active, + char buf[IW_ESSID_MAX_SIZE+1]) +{ + hermes_t *hw = &priv->hw; + int err = 0; + struct hermes_idstring essidbuf; + char *p = (char *)(&essidbuf.val); + int len; + unsigned long flags; - memset(&desc, 0, sizeof(desc)); - desc.tx_control = cpu_to_le16(HERMES_TXCTRL_TX_OK | HERMES_TXCTRL_TX_EX); - err = hermes_bap_pwrite(hw, USER_BAP, &desc, sizeof(desc), txfid, 0); - if (err) { - printk(KERN_ERR "%s: Error %d writing Tx descriptor to BAP\n", - dev->name, err); - stats->tx_errors++; - goto fail; - } + err = orinoco_lock(priv, &flags); + if (err) + return err; - /* Clear the 802.11 header and data length fields - some - * firmwares (e.g. Lucent/Agere 8.xx) appear to get confused - * if this isn't done. */ - hermes_clear_words(hw, HERMES_DATA0, - HERMES_802_3_OFFSET - HERMES_802_11_OFFSET); + if (strlen(priv->desired_essid) > 0) { + /* We read the desired SSID from the hardware rather + than from priv->desired_essid, just in case the + firmware is allowed to change it on us. I'm not + sure about this */ + /* My guess is that the OWNSSID should always be whatever + * we set to the card, whereas CURRENT_SSID is the one that + * may change... - Jean II */ + u16 rid; - /* Encapsulate Ethernet-II frames */ - if (ntohs(eh->h_proto) > 1500) { /* Ethernet-II frame */ - struct header_struct hdr; - data_len = len; - data_off = HERMES_802_3_OFFSET + sizeof(hdr); - p = skb->data + ETH_HLEN; + *active = 1; - /* 802.3 header */ - memcpy(hdr.dest, eh->h_dest, ETH_ALEN); - memcpy(hdr.src, eh->h_source, ETH_ALEN); - hdr.len = htons(data_len + ENCAPS_OVERHEAD); + rid = (priv->port_type == 3) ? HERMES_RID_CNFOWNSSID : + HERMES_RID_CNFDESIREDSSID; - /* 802.2 header */ - memcpy(&hdr.dsap, &encaps_hdr, sizeof(encaps_hdr)); - - hdr.ethertype = eh->h_proto; - err = hermes_bap_pwrite(hw, USER_BAP, &hdr, sizeof(hdr), - txfid, HERMES_802_3_OFFSET); - if (err) { - printk(KERN_ERR "%s: Error %d writing packet header to BAP\n", - dev->name, err); - stats->tx_errors++; - goto fail; - } - } else { /* IEEE 802.3 frame */ - data_len = len + ETH_HLEN; - data_off = HERMES_802_3_OFFSET; - p = skb->data; - } + err = hermes_read_ltv(hw, USER_BAP, rid, sizeof(essidbuf), + NULL, &essidbuf); + if (err) + goto fail_unlock; + } else { + *active = 0; - /* Round up for odd length packets */ - err = hermes_bap_pwrite(hw, USER_BAP, p, RUP_EVEN(data_len), txfid, data_off); - if (err) { - printk(KERN_ERR "%s: Error %d writing packet to BAP\n", - dev->name, err); - stats->tx_errors++; - goto fail; + err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_CURRENTSSID, + sizeof(essidbuf), NULL, &essidbuf); + if (err) + goto fail_unlock; } - /* Finally, we actually initiate the send */ - netif_stop_queue(dev); - - err = hermes_docmd_wait(hw, HERMES_CMD_TX | HERMES_CMD_RECL, txfid, NULL); - if (err) { - netif_start_queue(dev); - printk(KERN_ERR "%s: Error %d transmitting packet\n", dev->name, err); - stats->tx_errors++; - goto fail; - } + len = le16_to_cpu(essidbuf.len); - dev->trans_start = jiffies; - stats->tx_bytes += data_off + data_len; + memset(buf, 0, IW_ESSID_MAX_SIZE+1); + memcpy(buf, p, len); + buf[len] = '\0'; + fail_unlock: orinoco_unlock(priv, &flags); - dev_kfree_skb(skb); - - TRACE_EXIT(dev->name); - - return 0; - fail: - TRACE_EXIT(dev->name); - - orinoco_unlock(priv, &flags); - return err; + return err; } -static void -orinoco_tx_timeout(struct net_device *dev) +static long orinoco_hw_get_freq(struct orinoco_private *priv) { - struct orinoco_private *priv = netdev_priv(dev); - struct net_device_stats *stats = &priv->stats; - struct hermes *hw = &priv->hw; - - printk(KERN_WARNING "%s: Tx timeout! " - "ALLOCFID=%04x, TXCOMPLFID=%04x, EVSTAT=%04x\n", - dev->name, hermes_read_regn(hw, ALLOCFID), - hermes_read_regn(hw, TXCOMPLFID), hermes_read_regn(hw, EVSTAT)); - - stats->tx_errors++; + + hermes_t *hw = &priv->hw; + int err = 0; + u16 channel; + long freq = 0; + unsigned long flags; - schedule_work(&priv->reset_work); -} + err = orinoco_lock(priv, &flags); + if (err) + return err; + + err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CURRENTCHANNEL, &channel); + if (err) + goto out; -static int -orinoco_change_mtu(struct net_device *dev, int new_mtu) -{ - struct orinoco_private *priv = netdev_priv(dev); + /* Intersil firmware 1.3.5 returns 0 when the interface is down */ + if (channel == 0) { + err = -EBUSY; + goto out; + } - if ( (new_mtu < ORINOCO_MIN_MTU) || (new_mtu > ORINOCO_MAX_MTU) ) - return -EINVAL; + if ( (channel < 1) || (channel > NUM_CHANNELS) ) { + printk(KERN_WARNING "%s: Channel out of range (%d)!\n", + priv->ndev->name, channel); + err = -EBUSY; + goto out; - if ( (new_mtu + ENCAPS_OVERHEAD + IEEE802_11_HLEN) > - (priv->nicbuf_size - ETH_HLEN) ) - return -EINVAL; + } + freq = channel_frequency[channel-1] * 100000; - dev->mtu = new_mtu; + out: + orinoco_unlock(priv, &flags); - return 0; + if (err > 0) + err = -EBUSY; + return err ? err : freq; } -/* FIXME: return int? */ -static void -__orinoco_set_multicast_list(struct net_device *dev) +static int orinoco_hw_get_bitratelist(struct orinoco_private *priv, + int *numrates, s32 *rates, int max) { - struct orinoco_private *priv = netdev_priv(dev); hermes_t *hw = &priv->hw; + struct hermes_idstring list; + unsigned char *p = (unsigned char *)&list.val; int err = 0; - int promisc, mc_count; - - /* The Hermes doesn't seem to have an allmulti mode, so we go - * into promiscuous mode and let the upper levels deal. */ - if ( (dev->flags & IFF_PROMISC) || (dev->flags & IFF_ALLMULTI) || - (dev->mc_count > MAX_MULTICAST(priv)) ) { - promisc = 1; - mc_count = 0; - } else { - promisc = 0; - mc_count = dev->mc_count; - } + int num; + int i; + unsigned long flags; - if (promisc != priv->promiscuous) { - err = hermes_write_wordrec(hw, USER_BAP, - HERMES_RID_CNFPROMISCUOUSMODE, - promisc); - if (err) { - printk(KERN_ERR "%s: Error %d setting PROMISCUOUSMODE to 1.\n", - dev->name, err); - } else - priv->promiscuous = promisc; - } + err = orinoco_lock(priv, &flags); + if (err) + return err; - if (! promisc && (mc_count || priv->mc_count) ) { - struct dev_mc_list *p = dev->mc_list; - hermes_multicast_t mclist; - int i; + err = hermes_read_ltv(hw, USER_BAP, HERMES_RID_SUPPORTEDDATARATES, + sizeof(list), NULL, &list); + orinoco_unlock(priv, &flags); - for (i = 0; i < mc_count; i++) { - /* Paranoia: */ - if (! p) - BUG(); /* Multicast list shorter than mc_count */ - if (p->dmi_addrlen != ETH_ALEN) - BUG(); /* Bad address size in multicast list */ - - memcpy(mclist.addr[i], p->dmi_addr, ETH_ALEN); - p = p->next; - } - - if (p) - printk(KERN_WARNING "Multicast list is longer than mc_count\n"); + if (err) + return err; + + num = le16_to_cpu(list.len); + *numrates = num; + num = min(num, max); - err = hermes_write_ltv(hw, USER_BAP, HERMES_RID_CNFGROUPADDRESSES, - HERMES_BYTES_TO_RECLEN(priv->mc_count * ETH_ALEN), - &mclist); - if (err) - printk(KERN_ERR "%s: Error %d setting multicast list.\n", - dev->name, err); - else - priv->mc_count = mc_count; + for (i = 0; i < num; i++) { + rates[i] = (p[i] & 0x7f) * 500000; /* convert to bps */ } - /* Since we can set the promiscuous flag when it wasn't asked - for, make sure the net_device knows about it. */ - if (priv->promiscuous) - dev->flags |= IFF_PROMISC; - else - dev->flags &= ~IFF_PROMISC; + return 0; } -/********************************************************************/ -/* Wireless extensions support */ -/********************************************************************/ - static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq) { struct orinoco_private *priv = netdev_priv(dev); @@ -2582,10 +2579,8 @@ static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq /* Much of this shamelessly taken from wvlan_cs.c. No idea * what it all means -dgibson */ -#if WIRELESS_EXT > 10 range.we_version_compiled = WIRELESS_EXT; range.we_version_source = 11; -#endif /* WIRELESS_EXT > 10 */ range.min_nwid = range.max_nwid = 0; /* We don't use nwids */ @@ -2612,22 +2607,17 @@ static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq range.max_qual.qual = 0; range.max_qual.level = 0; range.max_qual.noise = 0; -#if WIRELESS_EXT > 11 range.avg_qual.qual = 0; range.avg_qual.level = 0; range.avg_qual.noise = 0; -#endif /* WIRELESS_EXT > 11 */ - } else { range.max_qual.qual = 0x8b - 0x2f; range.max_qual.level = 0x2f - 0x95 - 1; range.max_qual.noise = 0x2f - 0x95 - 1; -#if WIRELESS_EXT > 11 /* Need to get better values */ range.avg_qual.qual = 0x24; range.avg_qual.level = 0xC2; range.avg_qual.noise = 0x9E; -#endif /* WIRELESS_EXT > 11 */ } err = orinoco_hw_get_bitratelist(priv, &numrates, @@ -2680,7 +2670,6 @@ static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq range.txpower[0] = 15; /* 15dBm */ range.txpower_capa = IW_TXPOW_DBM; -#if WIRELESS_EXT > 10 range.retry_capa = IW_RETRY_LIMIT | IW_RETRY_LIFETIME; range.retry_flags = IW_RETRY_LIMIT; range.r_time_flags = IW_RETRY_LIFETIME; @@ -2688,7 +2677,6 @@ static int orinoco_ioctl_getiwrange(struct net_device *dev, struct iw_point *rrq range.max_retry = 65535; /* ??? */ range.min_r_time = 0; range.max_r_time = 65535 * 1000; /* ??? */ -#endif /* WIRELESS_EXT > 10 */ if (copy_to_user(rrq->pointer, &range, sizeof(range))) return -EFAULT; @@ -2737,7 +2725,8 @@ static int orinoco_ioctl_setiwencode(struct net_device *dev, struct iw_point *er if ((index < 0) || (index >= ORINOCO_MAX_KEYS)) index = priv->tx_key; - + + /* Adjust key length to a supported value */ if (erq->length > SMALL_KEY_SIZE) { xlen = LARGE_KEY_SIZE; } else if (erq->length > 0) { @@ -2779,14 +2768,14 @@ static int orinoco_ioctl_setiwencode(struct net_device *dev, struct iw_point *er if (erq->pointer) { priv->keys[index].len = cpu_to_le16(xlen); - memset(priv->keys[index].data, 0, sizeof(priv->keys[index].data)); + memset(priv->keys[index].data, 0, + sizeof(priv->keys[index].data)); memcpy(priv->keys[index].data, keybuf, erq->length); } priv->tx_key = setindex; priv->wep_on = enable; priv->wep_restrict = restricted; - out: orinoco_unlock(priv, &flags); @@ -3012,7 +3001,8 @@ static int orinoco_ioctl_getsens(struct net_device *dev, struct iw_param *srq) err = orinoco_lock(priv, &flags); if (err) return err; - err = hermes_read_wordrec(hw, USER_BAP, HERMES_RID_CNFSYSTEMSCALE, &val); + err = hermes_read_wordrec(hw, USER_BAP, + HERMES_RID_CNFSYSTEMSCALE, &val); orinoco_unlock(priv, &flags); if (err) @@ -3201,8 +3191,7 @@ static int orinoco_ioctl_getrate(struct net_device *dev, struct iw_param *rrq) ratemode = priv->bitratemode; - if ( (ratemode < 0) || (ratemode >= BITRATE_TABLE_SIZE) ) - BUG(); + BUG_ON((ratemode < 0) || (ratemode >= BITRATE_TABLE_SIZE)); rrq->value = bitrate_table[ratemode].bitrate * 100000; rrq->fixed = ! bitrate_table[ratemode].automatic; @@ -3354,7 +3343,6 @@ static int orinoco_ioctl_getpower(struct net_device *dev, struct iw_param *prq) return err; } -#if WIRELESS_EXT > 10 static int orinoco_ioctl_getretry(struct net_device *dev, struct iw_param *rrq) { struct orinoco_private *priv = netdev_priv(dev); @@ -3406,7 +3394,6 @@ static int orinoco_ioctl_getretry(struct net_device *dev, struct iw_param *rrq) return err; } -#endif /* WIRELESS_EXT > 10 */ static int orinoco_ioctl_setibssport(struct net_device *dev, struct iwreq *wrq) { @@ -3500,7 +3487,6 @@ static int orinoco_ioctl_getport3(struct net_device *dev, struct iwreq *wrq) *val = priv->prefer_port3; orinoco_unlock(priv, &flags); - return 0; } @@ -3790,7 +3776,6 @@ orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) wrq->u.txpower.flags = IW_TXPOW_DBM; break; -#if WIRELESS_EXT > 10 case SIOCSIWRETRY: err = -EOPNOTSUPP; break; @@ -3798,7 +3783,6 @@ orinoco_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) case SIOCGIWRETRY: err = orinoco_ioctl_getretry(dev, &wrq->u.retry); break; -#endif /* WIRELESS_EXT > 10 */ case SIOCSIWSPY: err = orinoco_ioctl_setspy(dev, &wrq->u.data); @@ -4124,51 +4108,68 @@ static int orinoco_debug_dump_recs(struct net_device *dev) return 0; } -struct net_device *alloc_orinocodev(int sizeof_card, int (*hard_reset)(struct orinoco_private *)) -{ - struct net_device *dev; - struct orinoco_private *priv; - - dev = alloc_etherdev(sizeof(struct orinoco_private) + sizeof_card); - if (!dev) - return NULL; - priv = netdev_priv(dev); - priv->ndev = dev; - if (sizeof_card) - priv->card = (void *)((unsigned long)dev->priv + sizeof(struct orinoco_private)); - else - priv->card = NULL; - - /* Setup / override net_device fields */ - dev->init = orinoco_init; - dev->hard_start_xmit = orinoco_xmit; - dev->tx_timeout = orinoco_tx_timeout; - dev->watchdog_timeo = HZ; /* 1 second timeout */ - dev->get_stats = orinoco_get_stats; - dev->get_wireless_stats = orinoco_get_wireless_stats; - dev->do_ioctl = orinoco_ioctl; - dev->change_mtu = orinoco_change_mtu; - dev->set_multicast_list = orinoco_set_multicast_list; - /* we use the default eth_mac_addr for setting the MAC addr */ - - /* Set up default callbacks */ - dev->open = orinoco_open; - dev->stop = orinoco_stop; - priv->hard_reset = hard_reset; +/********************************************************************/ +/* Debugging */ +/********************************************************************/ - spin_lock_init(&priv->lock); - priv->open = 0; - priv->hw_unavailable = 1; /* orinoco_init() must clear this - * before anything else touches the - * hardware */ - INIT_WORK(&priv->reset_work, (void (*)(void *))orinoco_reset, dev); +#if 0 +static void show_rx_frame(struct orinoco_rxframe_hdr *frame) +{ + printk(KERN_DEBUG "RX descriptor:\n"); + printk(KERN_DEBUG " status = 0x%04x\n", frame->desc.status); + printk(KERN_DEBUG " time = 0x%08x\n", frame->desc.time); + printk(KERN_DEBUG " silence = 0x%02x\n", frame->desc.silence); + printk(KERN_DEBUG " signal = 0x%02x\n", frame->desc.signal); + printk(KERN_DEBUG " rate = 0x%02x\n", frame->desc.rate); + printk(KERN_DEBUG " rxflow = 0x%02x\n", frame->desc.rxflow); + printk(KERN_DEBUG " reserved = 0x%08x\n", frame->desc.reserved); - priv->last_linkstatus = 0xffff; - priv->connected = 0; + printk(KERN_DEBUG "IEEE 802.11 header:\n"); + printk(KERN_DEBUG " frame_ctl = 0x%04x\n", + frame->p80211.frame_ctl); + printk(KERN_DEBUG " duration_id = 0x%04x\n", + frame->p80211.duration_id); + printk(KERN_DEBUG " addr1 = %02x:%02x:%02x:%02x:%02x:%02x\n", + frame->p80211.addr1[0], frame->p80211.addr1[1], + frame->p80211.addr1[2], frame->p80211.addr1[3], + frame->p80211.addr1[4], frame->p80211.addr1[5]); + printk(KERN_DEBUG " addr2 = %02x:%02x:%02x:%02x:%02x:%02x\n", + frame->p80211.addr2[0], frame->p80211.addr2[1], + frame->p80211.addr2[2], frame->p80211.addr2[3], + frame->p80211.addr2[4], frame->p80211.addr2[5]); + printk(KERN_DEBUG " addr3 = %02x:%02x:%02x:%02x:%02x:%02x\n", + frame->p80211.addr3[0], frame->p80211.addr3[1], + frame->p80211.addr3[2], frame->p80211.addr3[3], + frame->p80211.addr3[4], frame->p80211.addr3[5]); + printk(KERN_DEBUG " seq_ctl = 0x%04x\n", + frame->p80211.seq_ctl); + printk(KERN_DEBUG " addr4 = %02x:%02x:%02x:%02x:%02x:%02x\n", + frame->p80211.addr4[0], frame->p80211.addr4[1], + frame->p80211.addr4[2], frame->p80211.addr4[3], + frame->p80211.addr4[4], frame->p80211.addr4[5]); + printk(KERN_DEBUG " data_len = 0x%04x\n", + frame->p80211.data_len); - return dev; + printk(KERN_DEBUG "IEEE 802.3 header:\n"); + printk(KERN_DEBUG " dest = %02x:%02x:%02x:%02x:%02x:%02x\n", + frame->p8023.h_dest[0], frame->p8023.h_dest[1], + frame->p8023.h_dest[2], frame->p8023.h_dest[3], + frame->p8023.h_dest[4], frame->p8023.h_dest[5]); + printk(KERN_DEBUG " src = %02x:%02x:%02x:%02x:%02x:%02x\n", + frame->p8023.h_source[0], frame->p8023.h_source[1], + frame->p8023.h_source[2], frame->p8023.h_source[3], + frame->p8023.h_source[4], frame->p8023.h_source[5]); + printk(KERN_DEBUG " len = 0x%04x\n", frame->p8023.h_proto); + printk(KERN_DEBUG "IEEE 802.2 LLC/SNAP header:\n"); + printk(KERN_DEBUG " DSAP = 0x%02x\n", frame->p8022.dsap); + printk(KERN_DEBUG " SSAP = 0x%02x\n", frame->p8022.ssap); + printk(KERN_DEBUG " ctrl = 0x%02x\n", frame->p8022.ctrl); + printk(KERN_DEBUG " OUI = %02x:%02x:%02x\n", + frame->p8022.oui[0], frame->p8022.oui[1], frame->p8022.oui[2]); + printk(KERN_DEBUG " ethertype = 0x%04x\n", frame->ethertype); } +#endif /* 0 */ /********************************************************************/ /* Module initialization */ @@ -4185,7 +4186,9 @@ EXPORT_SYMBOL(orinoco_interrupt); /* Can't be declared "const" or the whole __initdata section will * become const */ -static char version[] __initdata = "orinoco.c 0.13e (David Gibson and others)"; +static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION + " (David Gibson , " + "Pavel Roskin , et al)"; static int __init init_orinoco(void) { diff --git a/drivers/net/wireless/orinoco_pci.c b/drivers/net/wireless/orinoco_pci.c index 23222b951..3e58b7583 100644 --- a/drivers/net/wireless/orinoco_pci.c +++ b/drivers/net/wireless/orinoco_pci.c @@ -1,19 +1,23 @@ -/* orinoco_pci.c 0.13e +/* orinoco_pci.c * * Driver for Prism II devices that have a direct PCI interface * (i.e., not in a Pcmcia or PLX bridge) * * Specifically here we're talking about the Linksys WMP11 * + * Current maintainers (as of 29 September 2003) are: + * Pavel Roskin + * and David Gibson + * * Some of this code is borrowed from orinoco_plx.c - * Copyright (C) 2001 Daniel Barlow + * Copyright (C) 2001 Daniel Barlow * Some of this code is "inspired" by linux-wlan-ng-0.1.10, but nothing * has been copied from it. linux-wlan-ng-0.1.10 is originally : * Copyright (C) 1999 AbsoluteValue Systems, Inc. All Rights Reserved. * This file originally written by: - * Copyright (C) 2001 Jean Tourrilhes + * Copyright (C) 2001 Jean Tourrilhes * And is now maintained by: - * Copyright (C) 2002 David Gibson, IBM Corporation + * (C) Copyright David Gibson, IBM Corp. 2002-2003. * * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in @@ -85,6 +89,9 @@ * Jean II */ +#define DRIVER_NAME "orinoco_pci" +#define PFX DRIVER_NAME ": " + #include #include @@ -99,7 +106,6 @@ #include #include #include -#include #include #include #include @@ -174,7 +180,7 @@ orinoco_pci_cor_reset(struct orinoco_private *priv) } /* Did we timeout ? */ if(time_after_eq(jiffies, timeout)) { - printk(KERN_ERR "orinoco_pci: Busy timeout\n"); + printk(KERN_ERR PFX "Busy timeout\n"); return -ETIMEDOUT; } printk(KERN_NOTICE "pci_cor : reg = 0x%X - %lX - %lX\n", reg, timeout, jiffies); @@ -206,22 +212,21 @@ static int orinoco_pci_init_one(struct pci_dev *pdev, if (! pci_iorange) goto fail; - /* Usual setup of structures */ + /* Allocate network device */ dev = alloc_orinocodev(0, NULL); if (! dev) { err = -ENOMEM; goto fail; } - priv = dev->priv; + priv = netdev_priv(dev); dev->base_addr = (unsigned long) pci_ioaddr; dev->mem_start = pci_iorange; dev->mem_end = pci_iorange + pci_iolen - 1; - SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); - printk(KERN_DEBUG + printk(KERN_DEBUG PFX "Detected Orinoco/Prism2 PCI device at %s, mem:0x%lX to 0x%lX -> 0x%p, irq:%d\n", pci_name(pdev), dev->mem_start, dev->mem_end, pci_ioaddr, pdev->irq); @@ -232,12 +237,13 @@ static int orinoco_pci_init_one(struct pci_dev *pdev, err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, dev->name, dev); if (err) { - printk(KERN_ERR "orinoco_pci: Error allocating IRQ %d.\n", + printk(KERN_ERR PFX "Error allocating IRQ %d.\n", pdev->irq); err = -EBUSY; goto fail; } dev->irq = pdev->irq; + /* Perform a COR reset to start the card */ if(orinoco_pci_cor_reset(priv) != 0) { printk(KERN_ERR "%s: Failed to start the card\n", dev->name); @@ -255,7 +261,8 @@ static int orinoco_pci_init_one(struct pci_dev *pdev, goto fail; } - return 0; /* succeeded */ + return 0; + fail: if (dev) { if (dev->irq) @@ -275,11 +282,11 @@ static int orinoco_pci_init_one(struct pci_dev *pdev, static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct orinoco_private *priv = dev->priv; + struct orinoco_private *priv = netdev_priv(dev); unregister_netdev(dev); - if (dev->irq) + if (dev->irq) free_irq(dev->irq, dev); if (priv->hw.iobase) @@ -294,7 +301,7 @@ static void __devexit orinoco_pci_remove_one(struct pci_dev *pdev) static int orinoco_pci_suspend(struct pci_dev *pdev, u32 state) { struct net_device *dev = pci_get_drvdata(pdev); - struct orinoco_private *priv = dev->priv; + struct orinoco_private *priv = netdev_priv(dev); unsigned long flags; int err; @@ -325,7 +332,7 @@ static int orinoco_pci_suspend(struct pci_dev *pdev, u32 state) static int orinoco_pci_resume(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - struct orinoco_private *priv = dev->priv; + struct orinoco_private *priv = netdev_priv(dev); unsigned long flags; int err; @@ -357,7 +364,9 @@ static int orinoco_pci_resume(struct pci_dev *pdev) } static struct pci_device_id orinoco_pci_pci_id_table[] = { + /* Intersil Prism 3 */ {0x1260, 0x3872, PCI_ANY_ID, PCI_ANY_ID,}, + /* Intersil Prism 2.5 */ {0x1260, 0x3873, PCI_ANY_ID, PCI_ANY_ID,}, {0,}, }; @@ -365,7 +374,7 @@ static struct pci_device_id orinoco_pci_pci_id_table[] = { MODULE_DEVICE_TABLE(pci, orinoco_pci_pci_id_table); static struct pci_driver orinoco_pci_driver = { - .name = "orinoco_pci", + .name = DRIVER_NAME, .id_table = orinoco_pci_pci_id_table, .probe = orinoco_pci_init_one, .remove = __devexit_p(orinoco_pci_remove_one), @@ -373,8 +382,11 @@ static struct pci_driver orinoco_pci_driver = { .resume = orinoco_pci_resume, }; -static char version[] __initdata = "orinoco_pci.c 0.13e (David Gibson & Jean Tourrilhes )"; -MODULE_AUTHOR("David Gibson "); +static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION + " (Pavel Roskin ," + " David Gibson &" + " Jean Tourrilhes )"; +MODULE_AUTHOR("Pavel Roskin & David Gibson "); MODULE_DESCRIPTION("Driver for wireless LAN cards using direct PCI interface"); MODULE_LICENSE("Dual MPL/GPL"); @@ -384,7 +396,7 @@ static int __init orinoco_pci_init(void) return pci_module_init(&orinoco_pci_driver); } -void __exit orinoco_pci_exit(void) +static void __exit orinoco_pci_exit(void) { pci_unregister_driver(&orinoco_pci_driver); } diff --git a/drivers/net/wireless/orinoco_plx.c b/drivers/net/wireless/orinoco_plx.c index b5660defd..d21ca78f0 100644 --- a/drivers/net/wireless/orinoco_plx.c +++ b/drivers/net/wireless/orinoco_plx.c @@ -1,9 +1,14 @@ -/* orinoco_plx.c 0.13e - * +/* orinoco_plx.c + * * Driver for Prism II devices which would usually be driven by orinoco_cs, - * but are connected to the PCI bus by a PLX9052. + * but are connected to the PCI bus by a PLX9052. + * + * Current maintainers (as of 29 September 2003) are: + * Pavel Roskin + * and David Gibson * - * Copyright (C) 2001 Daniel Barlow + * (C) Copyright David Gibson, IBM Corp. 2001-2003. + * Copyright (C) 2001 Daniel Barlow * * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in @@ -33,77 +38,83 @@ * drop me mail with the id and "it works"/"it doesn't work". * * Note: if everything gets detected fine but it doesn't actually send - * or receive packets, your first port of call should probably be to + * or receive packets, your first port of call should probably be to * try newer firmware in the card. Especially if you're doing Ad-Hoc - * modes + * modes. * * The actual driving is done by orinoco.c, this is just resource * allocation stuff. The explanation below is courtesy of Ryan Niemi * on the linux-wlan-ng list at * http://archives.neohapsis.com/archives/dev/linux-wlan/2001-q1/0026.html + * + * The PLX9052-based cards (WL11000 and several others) are a + * different beast than the usual PCMCIA-based PRISM2 configuration + * expected by wlan-ng. Here's the general details on how the WL11000 + * PCI adapter works: + * + * - Two PCI I/O address spaces, one 0x80 long which contains the + * PLX9052 registers, and one that's 0x40 long mapped to the PCMCIA + * slot I/O address space. + * + * - One PCI memory address space, mapped to the PCMCIA memory space + * (containing the CIS). + * + * After identifying the I/O and memory space, you can read through + * the memory space to confirm the CIS's device ID or manufacturer ID + * to make sure it's the expected card. qKeep in mind that the PCMCIA + * spec specifies the CIS as the lower 8 bits of each word read from + * the CIS, so to read the bytes of the CIS, read every other byte + * (0,2,4,...). Passing that test, you need to enable the I/O address + * space on the PCMCIA card via the PCMCIA COR register. This is the + * first byte following the CIS. In my case (which may not have any + * relation to what's on the PRISM2 cards), COR was at offset 0x800 + * within the PCI memory space. Write 0x41 to the COR register to + * enable I/O mode and to select level triggered interrupts. To + * confirm you actually succeeded, read the COR register back and make + * sure it actually got set to 0x41, incase you have an unexpected + * card inserted. + * + * Following that, you can treat the second PCI I/O address space (the + * one that's not 0x80 in length) as the PCMCIA I/O space. + * + * Note that in the Eumitcom's source for their drivers, they register + * the interrupt as edge triggered when registering it with the + * Windows kernel. I don't recall how to register edge triggered on + * Linux (if it can be done at all). But in some experimentation, I + * don't see much operational difference between using either + * interrupt mode. Don't mess with the interrupt mode in the COR + * register though, as the PLX9052 wants level triggers with the way + * the serial EEPROM configures it on the WL11000. + * + * There's some other little quirks related to timing that I bumped + * into, but I don't recall right now. Also, there's two variants of + * the WL11000 I've seen, revision A1 and T2. These seem to differ + * slightly in the timings configured in the wait-state generator in + * the PLX9052. There have also been some comments from Eumitcom that + * cards shouldn't be hot swapped, apparently due to risk of cooking + * the PLX9052. I'm unsure why they believe this, as I can't see + * anything in the design that would really cause a problem, except + * for crashing drivers not written to expect it. And having developed + * drivers for the WL11000, I'd say it's quite tricky to write code + * that will successfully deal with a hot unplug. Very odd things + * happen on the I/O side of things. But anyway, be warned. Despite + * that, I've hot-swapped a number of times during debugging and + * driver development for various reasons (stuck WAIT# line after the + * radio card's firmware locks up). + * + * Hope this is enough info for someone to add PLX9052 support to the + * wlan-ng card. In the case of the WL11000, the PCI ID's are + * 0x1639/0x0200, with matching subsystem ID's. Other PLX9052-based + * manufacturers other than Eumitcom (or on cards other than the + * WL11000) may have different PCI ID's. + * + * If anyone needs any more specific info, let me know. I haven't had + * time to implement support myself yet, and with the way things are + * going, might not have time for a while.. + */ -The PLX9052-based cards (WL11000 and several others) are a different -beast than the usual PCMCIA-based PRISM2 configuration expected by -wlan-ng. Here's the general details on how the WL11000 PCI adapter -works: - - - Two PCI I/O address spaces, one 0x80 long which contains the PLX9052 - registers, and one that's 0x40 long mapped to the PCMCIA slot I/O - address space. - - - One PCI memory address space, mapped to the PCMCIA memory space - (containing the CIS). - -After identifying the I/O and memory space, you can read through the -memory space to confirm the CIS's device ID or manufacturer ID to make -sure it's the expected card. Keep in mind that the PCMCIA spec specifies -the CIS as the lower 8 bits of each word read from the CIS, so to read the -bytes of the CIS, read every other byte (0,2,4,...). Passing that test, -you need to enable the I/O address space on the PCMCIA card via the PCMCIA -COR register. This is the first byte following the CIS. In my case -(which may not have any relation to what's on the PRISM2 cards), COR was -at offset 0x800 within the PCI memory space. Write 0x41 to the COR -register to enable I/O mode and to select level triggered interrupts. To -confirm you actually succeeded, read the COR register back and make sure -it actually got set to 0x41, incase you have an unexpected card inserted. - -Following that, you can treat the second PCI I/O address space (the one -that's not 0x80 in length) as the PCMCIA I/O space. - -Note that in the Eumitcom's source for their drivers, they register the -interrupt as edge triggered when registering it with the Windows kernel. I -don't recall how to register edge triggered on Linux (if it can be done at -all). But in some experimentation, I don't see much operational -difference between using either interrupt mode. Don't mess with the -interrupt mode in the COR register though, as the PLX9052 wants level -triggers with the way the serial EEPROM configures it on the WL11000. - -There's some other little quirks related to timing that I bumped into, but -I don't recall right now. Also, there's two variants of the WL11000 I've -seen, revision A1 and T2. These seem to differ slightly in the timings -configured in the wait-state generator in the PLX9052. There have also -been some comments from Eumitcom that cards shouldn't be hot swapped, -apparently due to risk of cooking the PLX9052. I'm unsure why they -believe this, as I can't see anything in the design that would really -cause a problem, except for crashing drivers not written to expect it. And -having developed drivers for the WL11000, I'd say it's quite tricky to -write code that will successfully deal with a hot unplug. Very odd things -happen on the I/O side of things. But anyway, be warned. Despite that, -I've hot-swapped a number of times during debugging and driver development -for various reasons (stuck WAIT# line after the radio card's firmware -locks up). - -Hope this is enough info for someone to add PLX9052 support to the wlan-ng -card. In the case of the WL11000, the PCI ID's are 0x1639/0x0200, with -matching subsystem ID's. Other PLX9052-based manufacturers other than -Eumitcom (or on cards other than the WL11000) may have different PCI ID's. - -If anyone needs any more specific info, let me know. I haven't had time -to implement support myself yet, and with the way things are going, might -not have time for a while.. - ----end of mail--- -*/ +#define DRIVER_NAME "orinoco_plx" +#define PFX DRIVER_NAME ": " #include @@ -122,7 +133,6 @@ not have time for a while.. #include #include #include -#include #include #include #include @@ -132,13 +142,11 @@ not have time for a while.. #include "hermes.h" #include "orinoco.h" -static char dev_info[] = "orinoco_plx"; - -#define COR_OFFSET (0x3e0 / 2) /* COR attribute offset of Prism2 PC card */ -#define COR_VALUE (COR_LEVEL_REQ | COR_FUNC_ENA) /* Enable PC card with interrupt in level trigger */ +#define COR_OFFSET (0x3e0/2) /* COR attribute offset of Prism2 PC card */ +#define COR_VALUE (COR_LEVEL_REQ | COR_FUNC_ENA) /* Enable PC card with interrupt in level trigger */ -#define PLX_INTCSR 0x4c /* Interrupt Control and Status Register */ -#define PLX_INTCSR_INTEN (1<<6) /* Interrupt Enable bit */ +#define PLX_INTCSR 0x4c /* Interrupt Control & Status Register */ +#define PLX_INTCSR_INTEN (1<<6) /* Interrupt Enable bit */ static const u16 cis_magic[] = { 0x0001, 0x0003, 0x0000, 0x0000, 0x00ff, 0x0017, 0x0004, 0x0067 @@ -215,7 +223,7 @@ static int orinoco_plx_init_one(struct pci_dev *pdev, /* and 3 to the PCMCIA slot I/O address space */ pccard_ioaddr = pci_resource_start(pdev, 3); pccard_iolen = pci_resource_len(pdev, 3); - if (! request_region(pccard_ioaddr, pccard_iolen, dev_info)) { + if (! request_region(pccard_ioaddr, pccard_iolen, DRIVER_NAME)) { printk(KERN_ERR "orinoco_plx: I/O resource 0x%lx @ 0x%lx busy\n", pccard_iolen, pccard_ioaddr); pccard_ioaddr = 0; @@ -223,28 +231,30 @@ static int orinoco_plx_init_one(struct pci_dev *pdev, goto fail; } + /* Allocate network device */ dev = alloc_orinocodev(0, NULL); if (! dev) { err = -ENOMEM; goto fail; } - priv = dev->priv; + priv = netdev_priv(dev); dev->base_addr = pccard_ioaddr; SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); - printk(KERN_DEBUG - "Detected Orinoco/Prism2 PLX device at %s irq:%d, io addr:0x%lx\n", - pci_name(pdev), pdev->irq, pccard_ioaddr); + printk(KERN_DEBUG PFX "Detected Orinoco/Prism2 PLX device " + "at %s irq:%d, io addr:0x%lx\n", pci_name(pdev), pdev->irq, + pccard_ioaddr); - hermes_struct_init(&(priv->hw), dev->base_addr, - HERMES_IO, HERMES_16BIT_REGSPACING); + hermes_struct_init(&(priv->hw), dev->base_addr, HERMES_IO, + HERMES_16BIT_REGSPACING); pci_set_drvdata(pdev, dev); - err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, dev->name, dev); + err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, + dev->name, dev); if (err) { - printk(KERN_ERR "orinoco_plx: Error allocating IRQ %d.\n", pdev->irq); + printk(KERN_ERR PFX "Error allocating IRQ %d.\n", pdev->irq); err = -EBUSY; goto fail; } @@ -254,10 +264,10 @@ static int orinoco_plx_init_one(struct pci_dev *pdev, if (err) goto fail; - return 0; /* succeeded */ + return 0; - fail: - printk(KERN_DEBUG "orinoco_plx: init_one(), FAIL!\n"); + fail: + printk(KERN_DEBUG PFX "init_one(), FAIL!\n"); if (dev) { if (dev->irq) @@ -281,8 +291,7 @@ static void __devexit orinoco_plx_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - if (! dev) - BUG(); + BUG_ON(! dev); unregister_netdev(dev); @@ -305,33 +314,34 @@ static struct pci_device_id orinoco_plx_pci_id_table[] = { {0x15e8, 0x0130, PCI_ANY_ID, PCI_ANY_ID,}, /* Correga - does this work? */ {0x1638, 0x1100, PCI_ANY_ID, PCI_ANY_ID,}, /* SMC EZConnect SMC2602W, Eumitcom PCI WL11000, - Addtron AWA-100*/ + Addtron AWA-100 */ {0x16ab, 0x1100, PCI_ANY_ID, PCI_ANY_ID,}, /* Global Sun Tech GL24110P */ {0x16ab, 0x1101, PCI_ANY_ID, PCI_ANY_ID,}, /* Reported working, but unknown */ {0x16ab, 0x1102, PCI_ANY_ID, PCI_ANY_ID,}, /* Linksys WDT11 */ {0x16ec, 0x3685, PCI_ANY_ID, PCI_ANY_ID,}, /* USR 2415 */ {0xec80, 0xec00, PCI_ANY_ID, PCI_ANY_ID,}, /* Belkin F5D6000 tested by - Brendan W. McAdams */ + Brendan W. McAdams */ {0x10b7, 0x7770, PCI_ANY_ID, PCI_ANY_ID,}, /* 3Com AirConnect PCI tested by - Damien Persohn */ + Damien Persohn */ {0,}, }; MODULE_DEVICE_TABLE(pci, orinoco_plx_pci_id_table); static struct pci_driver orinoco_plx_driver = { - .name = "orinoco_plx", + .name = DRIVER_NAME, .id_table = orinoco_plx_pci_id_table, .probe = orinoco_plx_init_one, .remove = __devexit_p(orinoco_plx_remove_one), }; -static char version[] __initdata = "orinoco_plx.c 0.13e (Daniel Barlow , David Gibson )"; +static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION + " (Pavel Roskin ," + " David Gibson ," + " Daniel Barlow )"; MODULE_AUTHOR("Daniel Barlow "); MODULE_DESCRIPTION("Driver for wireless LAN cards using the PLX9052 PCI bridge"); -#ifdef MODULE_LICENSE MODULE_LICENSE("Dual MPL/GPL"); -#endif static int __init orinoco_plx_init(void) { @@ -339,7 +349,7 @@ static int __init orinoco_plx_init(void) return pci_module_init(&orinoco_plx_driver); } -void __exit orinoco_plx_exit(void) +static void __exit orinoco_plx_exit(void) { pci_unregister_driver(&orinoco_plx_driver); current->state = TASK_UNINTERRUPTIBLE; diff --git a/drivers/net/wireless/orinoco_tmd.c b/drivers/net/wireless/orinoco_tmd.c index 56ab51cf5..b619f6dea 100644 --- a/drivers/net/wireless/orinoco_tmd.c +++ b/drivers/net/wireless/orinoco_tmd.c @@ -1,10 +1,10 @@ -/* orinoco_tmd.c 0.01 +/* orinoco_tmd.c * * Driver for Prism II devices which would usually be driven by orinoco_cs, * but are connected to the PCI bus by a TMD7160. * - * Copyright (C) 2003 Joerg Dorchain - * based heavily upon orinoco_plx.c Copyright (C) 2001 Daniel Barlow + * Copyright (C) 2003 Joerg Dorchain + * based heavily upon orinoco_plx.c Copyright (C) 2001 Daniel Barlow * * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in @@ -49,6 +49,9 @@ * Pheecom sells cards with the TMD chip as "ASIC version" */ +#define DRIVER_NAME "orinoco_tmd" +#define PFX DRIVER_NAME ": " + #include #include @@ -66,7 +69,6 @@ #include #include #include -#include #include #include #include @@ -76,10 +78,7 @@ #include "hermes.h" #include "orinoco.h" -static char dev_info[] = "orinoco_tmd"; - -#define COR_VALUE (COR_LEVEL_REQ | COR_FUNC_ENA | COR_FUNC_ENA) /* Enable PC card with level triggered irqs and irq requests */ - +#define COR_VALUE (COR_LEVEL_REQ | COR_FUNC_ENA) /* Enable PC card with interrupt in level trigger */ static int orinoco_tmd_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) @@ -95,11 +94,11 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev, if (err) return -EIO; - printk(KERN_DEBUG "TMD setup\n"); + printk(KERN_DEBUG PFX "TMD setup\n"); pccard_ioaddr = pci_resource_start(pdev, 2); pccard_iolen = pci_resource_len(pdev, 2); - if (! request_region(pccard_ioaddr, pccard_iolen, dev_info)) { - printk(KERN_ERR "orinoco_tmd: I/O resource at 0x%lx len 0x%lx busy\n", + if (! request_region(pccard_ioaddr, pccard_iolen, DRIVER_NAME)) { + printk(KERN_ERR PFX "I/O resource at 0x%lx len 0x%lx busy\n", pccard_ioaddr, pccard_iolen); pccard_ioaddr = 0; err = -EBUSY; @@ -110,34 +109,35 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev, mdelay(1); reg = inb(addr); if (reg != COR_VALUE) { - printk(KERN_ERR "orinoco_tmd: Error setting TMD COR values %x should be %x\n", reg, COR_VALUE); + printk(KERN_ERR PFX "Error setting TMD COR values %x should be %x\n", reg, COR_VALUE); err = -EIO; goto fail; } + /* Allocate network device */ dev = alloc_orinocodev(0, NULL); if (! dev) { err = -ENOMEM; goto fail; } - priv = dev->priv; + priv = netdev_priv(dev); dev->base_addr = pccard_ioaddr; SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); - printk(KERN_DEBUG - "Detected Orinoco/Prism2 TMD device at %s irq:%d, io addr:0x%lx\n", - pci_name(pdev), pdev->irq, pccard_ioaddr); + printk(KERN_DEBUG PFX "Detected Orinoco/Prism2 TMD device " + "at %s irq:%d, io addr:0x%lx\n", pci_name(pdev), pdev->irq, + pccard_ioaddr); hermes_struct_init(&(priv->hw), dev->base_addr, HERMES_IO, HERMES_16BIT_REGSPACING); pci_set_drvdata(pdev, dev); - err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, dev->name, - dev); + err = request_irq(pdev->irq, orinoco_interrupt, SA_SHIRQ, + dev->name, dev); if (err) { - printk(KERN_ERR "orinoco_tmd: Error allocating IRQ %d.\n", + printk(KERN_ERR PFX "Error allocating IRQ %d.\n", pdev->irq); err = -EBUSY; goto fail; @@ -148,10 +148,10 @@ static int orinoco_tmd_init_one(struct pci_dev *pdev, if (err) goto fail; - return 0; /* succeeded */ + return 0; - fail: - printk(KERN_DEBUG "orinoco_tmd: init_one(), FAIL!\n"); + fail: + printk(KERN_DEBUG PFX "init_one(), FAIL!\n"); if (dev) { if (dev->irq) @@ -172,8 +172,7 @@ static void __devexit orinoco_tmd_remove_one(struct pci_dev *pdev) { struct net_device *dev = pci_get_drvdata(pdev); - if (! dev) - BUG(); + BUG_ON(! dev); unregister_netdev(dev); @@ -198,18 +197,17 @@ static struct pci_device_id orinoco_tmd_pci_id_table[] = { MODULE_DEVICE_TABLE(pci, orinoco_tmd_pci_id_table); static struct pci_driver orinoco_tmd_driver = { - .name = "orinoco_tmd", + .name = DRIVER_NAME, .id_table = orinoco_tmd_pci_id_table, .probe = orinoco_tmd_init_one, .remove = __devexit_p(orinoco_tmd_remove_one), }; -static char version[] __initdata = "orinoco_tmd.c 0.01 (Joerg Dorchain )"; +static char version[] __initdata = DRIVER_NAME " " DRIVER_VERSION + " (Joerg Dorchain )"; MODULE_AUTHOR("Joerg Dorchain "); MODULE_DESCRIPTION("Driver for wireless LAN cards using the TMD7160 PCI bridge"); -#ifdef MODULE_LICENSE MODULE_LICENSE("Dual MPL/GPL"); -#endif static int __init orinoco_tmd_init(void) { @@ -217,7 +215,7 @@ static int __init orinoco_tmd_init(void) return pci_module_init(&orinoco_tmd_driver); } -void __exit orinoco_tmd_exit(void) +static void __exit orinoco_tmd_exit(void) { pci_unregister_driver(&orinoco_tmd_driver); current->state = TASK_UNINTERRUPTIBLE; diff --git a/drivers/net/wireless/prism54/isl_38xx.c b/drivers/net/wireless/prism54/isl_38xx.c index 3ee31021f..651189105 100644 --- a/drivers/net/wireless/prism54/isl_38xx.c +++ b/drivers/net/wireless/prism54/isl_38xx.c @@ -44,7 +44,7 @@ * register located at offset %ISL38XX_INT_IDENT_REG. */ void -isl38xx_disable_interrupts(void *device) +isl38xx_disable_interrupts(void __iomem *device) { isl38xx_w32_flush(device, 0x00000000, ISL38XX_INT_EN_REG); udelay(ISL38XX_WRITEIO_DELAY); @@ -52,7 +52,7 @@ isl38xx_disable_interrupts(void *device) void isl38xx_handle_sleep_request(isl38xx_control_block *control_block, - int *powerstate, void *device_base) + int *powerstate, void __iomem *device_base) { /* device requests to go into sleep mode * check whether the transmit queues for data and management are empty */ @@ -88,7 +88,7 @@ isl38xx_handle_sleep_request(isl38xx_control_block *control_block, void isl38xx_handle_wakeup(isl38xx_control_block *control_block, - int *powerstate, void *device_base) + int *powerstate, void __iomem *device_base) { /* device is in active state, update the powerstate flag */ *powerstate = ISL38XX_PSM_ACTIVE_STATE; @@ -110,7 +110,7 @@ isl38xx_handle_wakeup(isl38xx_control_block *control_block, } void -isl38xx_trigger_device(int asleep, void *device_base) +isl38xx_trigger_device(int asleep, void __iomem *device_base) { struct timeval current_time; u32 reg, counter = 0; @@ -190,7 +190,7 @@ isl38xx_trigger_device(int asleep, void *device_base) } void -isl38xx_interface_reset(void *device_base, dma_addr_t host_address) +isl38xx_interface_reset(void __iomem *device_base, dma_addr_t host_address) { u32 reg; @@ -219,7 +219,7 @@ isl38xx_interface_reset(void *device_base, dma_addr_t host_address) } void -isl38xx_enable_common_interrupts(void *device_base) { +isl38xx_enable_common_interrupts(void __iomem *device_base) { u32 reg; reg = ( ISL38XX_INT_IDENT_UPDATE | ISL38XX_INT_IDENT_SLEEP | ISL38XX_INT_IDENT_WAKEUP); diff --git a/drivers/net/wireless/prism54/isl_38xx.h b/drivers/net/wireless/prism54/isl_38xx.h index 0bd5ff6ad..d63fd641d 100644 --- a/drivers/net/wireless/prism54/isl_38xx.h +++ b/drivers/net/wireless/prism54/isl_38xx.h @@ -75,7 +75,7 @@ * from the %ISL38XX_PCI_POSTING_FLUSH offset. */ static inline void -isl38xx_w32_flush(void *base, u32 val, unsigned long offset) +isl38xx_w32_flush(void __iomem *base, u32 val, unsigned long offset) { writel(val, base + offset); (void) readl(base + ISL38XX_PCI_POSTING_FLUSH); @@ -157,13 +157,13 @@ typedef struct isl38xx_cb isl38xx_control_block; /* determine number of entries currently in queue */ int isl38xx_in_queue(isl38xx_control_block *cb, int queue); -void isl38xx_disable_interrupts(void *); -void isl38xx_enable_common_interrupts(void *); +void isl38xx_disable_interrupts(void __iomem *); +void isl38xx_enable_common_interrupts(void __iomem *); void isl38xx_handle_sleep_request(isl38xx_control_block *, int *, - void *); -void isl38xx_handle_wakeup(isl38xx_control_block *, int *, void *); -void isl38xx_trigger_device(int, void *); -void isl38xx_interface_reset(void *, dma_addr_t); + void __iomem *); +void isl38xx_handle_wakeup(isl38xx_control_block *, int *, void __iomem *); +void isl38xx_trigger_device(int, void __iomem *); +void isl38xx_interface_reset(void __iomem *, dma_addr_t); #endif /* _ISL_38XX_H */ diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c index 7924b36a7..2d7e1cf88 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.c +++ b/drivers/net/wireless/prism54/isl_ioctl.c @@ -334,9 +334,10 @@ prism54_get_freq(struct net_device *ndev, struct iw_request_info *info, int rvalue; rvalue = mgt_get_request(priv, DOT11_OID_CHANNEL, 0, NULL, &r); - + fwrq->i = r.u; + rvalue |= mgt_get_request(priv, DOT11_OID_FREQUENCY, 0, NULL, &r); fwrq->m = r.u; - fwrq->e = 0; + fwrq->e = 3; return rvalue; } diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c index d96d621f1..650f86a8c 100644 --- a/drivers/net/wireless/prism54/islpci_dev.c +++ b/drivers/net/wireless/prism54/islpci_dev.c @@ -58,7 +58,7 @@ static int isl_upload_firmware(islpci_private *priv) { u32 reg, rc; - void *device_base = priv->device_base; + void __iomem *device_base = priv->device_base; /* clear the RAMBoot and the Reset bit */ reg = readl(device_base + ISL38XX_CTRL_STAT_REG); @@ -113,7 +113,7 @@ isl_upload_firmware(islpci_private *priv) (fw_len > ISL38XX_MEMORY_WINDOW_SIZE) ? ISL38XX_MEMORY_WINDOW_SIZE : fw_len; - u32 *dev_fw_ptr = device_base + ISL38XX_DIRECT_MEM_WIN; + u32 __iomem *dev_fw_ptr = device_base + ISL38XX_DIRECT_MEM_WIN; /* set the cards base address for writting the data */ isl38xx_w32_flush(device_base, reg, @@ -183,7 +183,7 @@ islpci_interrupt(int irq, void *config, struct pt_regs *regs) u32 reg; islpci_private *priv = config; struct net_device *ndev = priv->ndev; - void *device = priv->device_base; + void __iomem *device = priv->device_base; int powerstate = ISL38XX_PSM_POWERSAVE_STATE; /* lock the interrupt handler */ @@ -405,7 +405,7 @@ islpci_close(struct net_device *ndev) static int prism54_bring_down(islpci_private *priv) { - void *device_base = priv->device_base; + void __iomem *device_base = priv->device_base; u32 reg; /* we are going to shutdown the device */ islpci_set_state(priv, PRV_STATE_PREBOOT); diff --git a/drivers/net/wireless/prism54/islpci_dev.h b/drivers/net/wireless/prism54/islpci_dev.h index e0ec5de03..628fb9107 100644 --- a/drivers/net/wireless/prism54/islpci_dev.h +++ b/drivers/net/wireless/prism54/islpci_dev.h @@ -109,7 +109,7 @@ typedef struct { u32 pci_state[16]; /* used for suspend/resume */ char firmware[33]; - void *device_base; /* ioremapped device base address */ + void __iomem *device_base; /* ioremapped device base address */ /* consistent DMA region */ void *driver_mem_address; /* base DMA address */ diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c index e39bcddc3..1bb0ada59 100644 --- a/drivers/net/wireless/ray_cs.c +++ b/drivers/net/wireless/ray_cs.c @@ -54,7 +54,6 @@ #include #include -#ifdef CONFIG_NET_PCMCIA_RADIO #include #include @@ -68,7 +67,6 @@ typedef struct iw_statistics iw_stats; typedef struct iw_quality iw_qual; typedef u_char mac_addr[ETH_ALEN]; /* Hardware address */ -#endif /* CONFIG_NET_PCMCIA_RADIO */ #include "rayctl.h" #include "ray_cs.h" @@ -112,9 +110,9 @@ static int ray_open(struct net_device *dev); static int ray_dev_start_xmit(struct sk_buff *skb, struct net_device *dev); static void set_multicast_list(struct net_device *dev); static void ray_update_multi_list(struct net_device *dev, int all); -static int translate_frame(ray_dev_t *local, struct tx_msg *ptx, +static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, unsigned char *data, int len); -static void ray_build_header(ray_dev_t *local, struct tx_msg *ptx, UCHAR msg_type, +static void ray_build_header(ray_dev_t *local, struct tx_msg __iomem *ptx, UCHAR msg_type, unsigned char *data); static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len); #if WIRELESS_EXT > 7 /* If wireless extension exist in the kernel */ @@ -140,14 +138,14 @@ static void verify_dl_startup(u_long); /* Prototypes for interrpt time functions **********************************/ static irqreturn_t ray_interrupt (int reg, void *dev_id, struct pt_regs *regs); static void clear_interrupt(ray_dev_t *local); -static void rx_deauthenticate(ray_dev_t *local, struct rcs *prcs, +static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs, unsigned int pkt_addr, int rx_len); static int copy_from_rx_buff(ray_dev_t *local, UCHAR *dest, int pkt_addr, int len); -static void ray_rx(struct net_device *dev, ray_dev_t *local, struct rcs *prcs); -static void release_frag_chain(ray_dev_t *local, struct rcs *prcs); -static void rx_authenticate(ray_dev_t *local, struct rcs *prcs, +static void ray_rx(struct net_device *dev, ray_dev_t *local, struct rcs __iomem *prcs); +static void release_frag_chain(ray_dev_t *local, struct rcs __iomem *prcs); +static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs, unsigned int pkt_addr, int rx_len); -static void rx_data(struct net_device *dev, struct rcs *prcs, unsigned int pkt_addr, +static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, unsigned int pkt_addr, int rx_len); static void associate(ray_dev_t *local); @@ -540,7 +538,7 @@ static void ray_config(dev_link_t *link) CS_CHECK(RequestWindow, pcmcia_request_window(&link->handle, &req, &link->win)); mem.CardOffset = 0x0000; mem.Page = 0; CS_CHECK(MapMemPage, pcmcia_map_mem_page(link->win, &mem)); - local->sram = (UCHAR *)(ioremap(req.Base,req.Size)); + local->sram = ioremap(req.Base,req.Size); /*** Set up 16k window for shared memory (receive buffer) ***************/ req.Attributes = WIN_DATA_WIDTH_8 | WIN_MEMORY_TYPE_CM | WIN_ENABLE | WIN_USE_WAIT; @@ -550,7 +548,7 @@ static void ray_config(dev_link_t *link) CS_CHECK(RequestWindow, pcmcia_request_window(&link->handle, &req, &local->rmem_handle)); mem.CardOffset = 0x8000; mem.Page = 0; CS_CHECK(MapMemPage, pcmcia_map_mem_page(local->rmem_handle, &mem)); - local->rmem = (UCHAR *)(ioremap(req.Base,req.Size)); + local->rmem = ioremap(req.Base,req.Size); /*** Set up window for attribute memory ***********************************/ req.Attributes = WIN_DATA_WIDTH_8 | WIN_MEMORY_TYPE_AM | WIN_ENABLE | WIN_USE_WAIT; @@ -560,7 +558,7 @@ static void ray_config(dev_link_t *link) CS_CHECK(RequestWindow, pcmcia_request_window(&link->handle, &req, &local->amem_handle)); mem.CardOffset = 0x0000; mem.Page = 0; CS_CHECK(MapMemPage, pcmcia_map_mem_page(local->amem_handle, &mem)); - local->amem = (UCHAR *)(ioremap(req.Base,req.Size)); + local->amem = ioremap(req.Base,req.Size); DEBUG(3,"ray_config sram=%p\n",local->sram); DEBUG(3,"ray_config rmem=%p\n",local->rmem); @@ -593,12 +591,30 @@ cs_failed: ray_release(link); } /* ray_config */ + +static inline struct ccs __iomem *ccs_base(ray_dev_t *dev) +{ + return dev->sram + CCS_BASE; +} + +static inline struct rcs __iomem *rcs_base(ray_dev_t *dev) +{ + /* + * This looks nonsensical, since there is a separate + * RCS_BASE. But the difference between a "struct rcs" + * and a "struct ccs" ends up being in the _index_ off + * the base, so the base pointer is the same for both + * ccs/rcs. + */ + return dev->sram + CCS_BASE; +} + /*===========================================================================*/ static int ray_init(struct net_device *dev) { int i; UCHAR *p; - struct ccs *pccs; + struct ccs __iomem *pccs; ray_dev_t *local = (ray_dev_t *)dev->priv; dev_link_t *link = local->finder; DEBUG(1, "ray_init(0x%p)\n", dev); @@ -632,7 +648,7 @@ static int ray_init(struct net_device *dev) local->tib_length = local->startup_res.tib_length; DEBUG(2,"ray_init tib_length = 0x%02x\n", local->tib_length); /* Initialize CCS's to buffer free state */ - pccs = (struct ccs *)(local->sram + CCS_BASE); + pccs = ccs_base(local); for (i=0; ibuffer_status); } @@ -661,7 +677,7 @@ static int dl_startup_params(struct net_device *dev) { int ccsindex; ray_dev_t *local = (ray_dev_t *)dev->priv; - struct ccs *pccs; + struct ccs __iomem *pccs; dev_link_t *link = local->finder; DEBUG(1,"dl_startup_params entered\n"); @@ -682,7 +698,7 @@ static int dl_startup_params(struct net_device *dev) /* Fill in the CCS fields for the ECF */ if ((ccsindex = get_free_ccs(local)) < 0) return -1; local->dl_param_ccs = ccsindex; - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; writeb(CCS_DOWNLOAD_STARTUP_PARAMS, &pccs->cmd); DEBUG(2,"dl_startup_params start ccsindex = %d\n", local->dl_param_ccs); /* Interrupt the firmware to process the command */ @@ -767,7 +783,7 @@ static void init_startup_params(ray_dev_t *local) static void verify_dl_startup(u_long data) { ray_dev_t *local = (ray_dev_t *)data; - struct ccs *pccs = ((struct ccs *)(local->sram + CCS_BASE)) + local->dl_param_ccs; + struct ccs __iomem *pccs = ccs_base(local) + local->dl_param_ccs; UCHAR status; dev_link_t *link = local->finder; @@ -807,7 +823,7 @@ static void verify_dl_startup(u_long data) static void start_net(u_long data) { ray_dev_t *local = (ray_dev_t *)data; - struct ccs *pccs; + struct ccs __iomem *pccs; int ccsindex; dev_link_t *link = local->finder; if (!(link->state & DEV_PRESENT)) { @@ -816,7 +832,7 @@ static void start_net(u_long data) } /* Fill in the CCS fields for the ECF */ if ((ccsindex = get_free_ccs(local)) < 0) return; - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; writeb(CCS_START_NETWORK, &pccs->cmd); writeb(0, &pccs->var.start_network.update_param); /* Interrupt the firmware to process the command */ @@ -834,7 +850,7 @@ static void join_net(u_long data) { ray_dev_t *local = (ray_dev_t *)data; - struct ccs *pccs; + struct ccs __iomem *pccs; int ccsindex; dev_link_t *link = local->finder; @@ -844,7 +860,7 @@ static void join_net(u_long data) } /* Fill in the CCS fields for the ECF */ if ((ccsindex = get_free_ccs(local)) < 0) return; - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; writeb(CCS_JOIN_NETWORK, &pccs->cmd); writeb(0, &pccs->var.join_network.update_param); writeb(0, &pccs->var.join_network.net_initiated); @@ -1049,10 +1065,10 @@ static int ray_hw_xmit(unsigned char* data, int len, struct net_device* dev, UCHAR msg_type) { ray_dev_t *local = (ray_dev_t *)dev->priv; - struct ccs *pccs; + struct ccs __iomem *pccs; int ccsindex; int offset; - struct tx_msg *ptx; /* Address of xmit buffer in PC space */ + struct tx_msg __iomem *ptx; /* Address of xmit buffer in PC space */ short int addr; /* Address of xmit buffer in card space */ DEBUG(3,"ray_hw_xmit(data=%p, len=%d, dev=%p)\n",data,len,dev); @@ -1079,7 +1095,7 @@ static int ray_hw_xmit(unsigned char* data, int len, struct net_device* dev, local->stats.tx_packets++; } - ptx = (struct tx_msg *)(local->sram + addr); + ptx = local->sram + addr; ray_build_header(local, ptx, msg_type, data); if (translate) { @@ -1092,7 +1108,7 @@ static int ray_hw_xmit(unsigned char* data, int len, struct net_device* dev, } /* fill in the CCS */ - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; len += TX_HEADER_LENGTH + offset; writeb(CCS_TX_REQUEST, &pccs->cmd); writeb(addr >> 8, &pccs->var.tx_request.tx_data_ptr[0]); @@ -1119,21 +1135,21 @@ static int ray_hw_xmit(unsigned char* data, int len, struct net_device* dev, return XMIT_OK; } /* end ray_hw_xmit */ /*===========================================================================*/ -static int translate_frame(ray_dev_t *local, struct tx_msg *ptx, unsigned char *data, +static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, unsigned char *data, int len) { unsigned short int proto = ((struct ethhdr *)data)->h_proto; if (ntohs(proto) >= 1536) { /* DIX II ethernet frame */ DEBUG(3,"ray_cs translate_frame DIX II\n"); /* Copy LLC header to card buffer */ - memcpy_toio((UCHAR *)&ptx->var, eth2_llc, sizeof(eth2_llc)); - memcpy_toio( ((UCHAR *)&ptx->var) + sizeof(eth2_llc), (UCHAR *)&proto, 2); + memcpy_toio(&ptx->var, eth2_llc, sizeof(eth2_llc)); + memcpy_toio( ((void __iomem *)&ptx->var) + sizeof(eth2_llc), (UCHAR *)&proto, 2); if ((proto == 0xf380) || (proto == 0x3781)) { /* This is the selective translation table, only 2 entries */ - writeb(0xf8, (UCHAR *) &((struct snaphdr_t *)ptx->var)->org[3]); + writeb(0xf8, &((struct snaphdr_t __iomem *)ptx->var)->org[3]); } /* Copy body of ethernet packet without ethernet header */ - memcpy_toio((UCHAR *)&ptx->var + sizeof(struct snaphdr_t), \ + memcpy_toio((void __iomem *)&ptx->var + sizeof(struct snaphdr_t), \ data + ETH_HLEN, len - ETH_HLEN); return (int) sizeof(struct snaphdr_t) - ETH_HLEN; } @@ -1141,16 +1157,16 @@ static int translate_frame(ray_dev_t *local, struct tx_msg *ptx, unsigned char * DEBUG(3,"ray_cs translate_frame 802\n"); if (proto == 0xffff) { /* evil netware IPX 802.3 without LLC */ DEBUG(3,"ray_cs translate_frame evil IPX\n"); - memcpy_toio((UCHAR *)&ptx->var, data + ETH_HLEN, len - ETH_HLEN); + memcpy_toio(&ptx->var, data + ETH_HLEN, len - ETH_HLEN); return 0 - ETH_HLEN; } - memcpy_toio((UCHAR *)&ptx->var, data + ETH_HLEN, len - ETH_HLEN); + memcpy_toio(&ptx->var, data + ETH_HLEN, len - ETH_HLEN); return 0 - ETH_HLEN; } /* TBD do other frame types */ } /* end translate_frame */ /*===========================================================================*/ -static void ray_build_header(ray_dev_t *local, struct tx_msg *ptx, UCHAR msg_type, +static void ray_build_header(ray_dev_t *local, struct tx_msg __iomem *ptx, UCHAR msg_type, unsigned char *data) { writeb(PROTOCOL_VER | msg_type, &ptx->mac.frame_ctl_1); @@ -1633,7 +1649,7 @@ static iw_stats * ray_get_wireless_stats(struct net_device * dev) { ray_dev_t * local = (ray_dev_t *) dev->priv; dev_link_t *link = local->finder; - struct status *p = (struct status *)(local->sram + STATUS_BASE); + struct status __iomem *p = local->sram + STATUS_BASE; if(local == (ray_dev_t *) NULL) return (iw_stats *) NULL; @@ -1755,7 +1771,7 @@ static int interrupt_ecf(ray_dev_t *local, int ccs) static int get_free_tx_ccs(ray_dev_t *local) { int i; - struct ccs *pccs = (struct ccs *)(local->sram + CCS_BASE); + struct ccs __iomem *pccs = ccs_base(local); dev_link_t *link = local->finder; if (!(link->state & DEV_PRESENT)) { @@ -1786,7 +1802,7 @@ static int get_free_tx_ccs(ray_dev_t *local) static int get_free_ccs(ray_dev_t *local) { int i; - struct ccs *pccs = (struct ccs *)(local->sram + CCS_BASE); + struct ccs __iomem *pccs = ccs_base(local); dev_link_t *link = local->finder; if (!(link->state & DEV_PRESENT)) { @@ -1863,7 +1879,7 @@ static struct net_device_stats *ray_get_stats(struct net_device *dev) { ray_dev_t *local = (ray_dev_t *)dev->priv; dev_link_t *link = local->finder; - struct status *p = (struct status *)(local->sram + STATUS_BASE); + struct status __iomem *p = local->sram + STATUS_BASE; if (!(link->state & DEV_PRESENT)) { DEBUG(2,"ray_cs net_device_stats - device not present\n"); return &local->stats; @@ -1895,7 +1911,7 @@ static void ray_update_parm(struct net_device *dev, UCHAR objid, UCHAR *value, i dev_link_t *link = local->finder; int ccsindex; int i; - struct ccs *pccs; + struct ccs __iomem *pccs; if (!(link->state & DEV_PRESENT)) { DEBUG(2,"ray_update_parm - device not present\n"); @@ -1907,7 +1923,7 @@ static void ray_update_parm(struct net_device *dev, UCHAR objid, UCHAR *value, i DEBUG(0,"ray_update_parm - No free ccs\n"); return; } - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; writeb(CCS_UPDATE_PARAMS, &pccs->cmd); writeb(objid, &pccs->var.update_param.object_id); writeb(1, &pccs->var.update_param.number_objects); @@ -1926,11 +1942,11 @@ static void ray_update_multi_list(struct net_device *dev, int all) { struct dev_mc_list *dmi, **dmip; int ccsindex; - struct ccs *pccs; + struct ccs __iomem *pccs; int i = 0; ray_dev_t *local = (ray_dev_t *)dev->priv; dev_link_t *link = local->finder; - UCHAR *p = local->sram + HOST_TO_ECF_BASE; + void __iomem *p = local->sram + HOST_TO_ECF_BASE; if (!(link->state & DEV_PRESENT)) { DEBUG(2,"ray_update_multi_list - device not present\n"); @@ -1943,7 +1959,7 @@ static void ray_update_multi_list(struct net_device *dev, int all) DEBUG(1,"ray_update_multi - No free ccs\n"); return; } - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; writeb(CCS_UPDATE_MULTICAST_LIST, &pccs->cmd); if (all) { @@ -2011,8 +2027,8 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs) struct net_device *dev = (struct net_device *)dev_id; dev_link_t *link; ray_dev_t *local; - struct ccs *pccs; - struct rcs *prcs; + struct ccs __iomem *pccs; + struct rcs __iomem *prcs; UCHAR rcsindex; UCHAR tmp; UCHAR cmd; @@ -2029,7 +2045,7 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs) DEBUG(2,"ray_cs interrupt from device not present or suspended.\n"); return IRQ_NONE; } - rcsindex = readb(&((struct scb *)(local->sram))->rcs_index); + rcsindex = readb(&((struct scb __iomem *)(local->sram))->rcs_index); if (rcsindex >= (NUMBER_OF_CCS + NUMBER_OF_RCS)) { @@ -2039,7 +2055,7 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs) } if (rcsindex < NUMBER_OF_CCS) /* If it's a returned CCS */ { - pccs = ((struct ccs *) (local->sram + CCS_BASE)) + rcsindex; + pccs = ccs_base(local) + rcsindex; cmd = readb(&pccs->cmd); status = readb(&pccs->buffer_status); switch (cmd) @@ -2153,7 +2169,7 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs) } else /* It's an RCS */ { - prcs = ((struct rcs *)(local->sram + CCS_BASE)) + rcsindex; + prcs = rcs_base(local) + rcsindex; switch (readb(&prcs->interrupt_id)) { @@ -2194,11 +2210,11 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id, struct pt_regs * regs) return IRQ_HANDLED; } /* ray_interrupt */ /*===========================================================================*/ -static void ray_rx(struct net_device *dev, ray_dev_t *local, struct rcs *prcs) +static void ray_rx(struct net_device *dev, ray_dev_t *local, struct rcs __iomem *prcs) { int rx_len; unsigned int pkt_addr; - UCHAR *pmsg; + void __iomem *pmsg; DEBUG(4,"ray_rx process rx packet\n"); /* Calculate address of packet within Rx buffer */ @@ -2248,11 +2264,11 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local, struct rcs *prcs) } /* end ray_rx */ /*===========================================================================*/ -static void rx_data(struct net_device *dev, struct rcs *prcs, unsigned int pkt_addr, +static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, unsigned int pkt_addr, int rx_len) { struct sk_buff *skb = NULL; - struct rcs *prcslink = prcs; + struct rcs __iomem *prcslink = prcs; ray_dev_t *local = dev->priv; UCHAR *rx_ptr; int total_len; @@ -2294,7 +2310,7 @@ static void rx_data(struct net_device *dev, struct rcs *prcs, unsigned int pkt_a + readb(&prcslink->var.rx_packet.rx_data_length[1]); if (readb(&prcslink->var.rx_packet.next_frag_rcs_index) == 0xFF || tmp < 0) break; - prcslink = ((struct rcs *)(local->sram + CCS_BASE)) + prcslink = rcs_base(local) + readb(&prcslink->link_field); } while (1); @@ -2355,7 +2371,7 @@ static void rx_data(struct net_device *dev, struct rcs *prcs, unsigned int pkt_a prcslink = prcs; DEBUG(1,"ray_cs rx_data in fragment loop\n"); do { - prcslink = ((struct rcs *)(local->sram + CCS_BASE)) + prcslink = rcs_base(local) + readb(&prcslink->var.rx_packet.next_frag_rcs_index); rx_len = (( readb(&prcslink->var.rx_packet.rx_data_length[0]) << 8) + readb(&prcslink->var.rx_packet.rx_data_length[1])) @@ -2529,9 +2545,9 @@ static int copy_from_rx_buff(ray_dev_t *local, UCHAR *dest, int pkt_addr, int le return length; } /*===========================================================================*/ -static void release_frag_chain(ray_dev_t *local, struct rcs* prcs) +static void release_frag_chain(ray_dev_t *local, struct rcs __iomem * prcs) { - struct rcs *prcslink = prcs; + struct rcs __iomem *prcslink = prcs; int tmp = 17; unsigned rcsindex = readb(&prcs->var.rx_packet.next_frag_rcs_index); @@ -2541,7 +2557,7 @@ static void release_frag_chain(ray_dev_t *local, struct rcs* prcs) DEBUG(1,"ray_cs interrupt bad rcsindex = 0x%x\n",rcsindex); break; } - prcslink = ((struct rcs *)(local->sram + CCS_BASE)) + rcsindex; + prcslink = rcs_base(local) + rcsindex; rcsindex = readb(&prcslink->var.rx_packet.next_frag_rcs_index); } writeb(CCS_BUFFER_FREE, &prcslink->buffer_status); @@ -2569,7 +2585,7 @@ static void authenticate(ray_dev_t *local) local->authentication_state = AWAITING_RESPONSE; } /* end authenticate */ /*===========================================================================*/ -static void rx_authenticate(ray_dev_t *local, struct rcs *prcs, +static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs, unsigned int pkt_addr, int rx_len) { UCHAR buff[256]; @@ -2614,7 +2630,7 @@ static void rx_authenticate(ray_dev_t *local, struct rcs *prcs, /*===========================================================================*/ static void associate(ray_dev_t *local) { - struct ccs *pccs; + struct ccs __iomem *pccs; dev_link_t *link = local->finder; struct net_device *dev = link->priv; int ccsindex; @@ -2630,7 +2646,7 @@ static void associate(ray_dev_t *local) return; } DEBUG(1,"ray_cs Starting association with access point\n"); - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; /* fill in the CCS */ writeb(CCS_START_ASSOCIATION, &pccs->cmd); /* Interrupt the firmware to process the command */ @@ -2650,7 +2666,7 @@ static void associate(ray_dev_t *local) } /* end associate */ /*===========================================================================*/ -static void rx_deauthenticate(ray_dev_t *local, struct rcs *prcs, +static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs, unsigned int pkt_addr, int rx_len) { /* UCHAR buff[256]; @@ -2798,8 +2814,8 @@ static int ray_cs_proc_read(char *buf, char **start, off_t offset, int len) static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) { int addr; - struct ccs *pccs; - struct tx_msg *ptx; + struct ccs __iomem *pccs; + struct tx_msg __iomem *ptx; int ccsindex; /* If no tx buffers available, return */ @@ -2809,7 +2825,7 @@ static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) return -1; } - pccs = ((struct ccs *)(local->sram + CCS_BASE)) + ccsindex; + pccs = ccs_base(local) + ccsindex; /* Address in card space */ addr = TX_BUF_BASE + (ccsindex << 11); @@ -2821,7 +2837,7 @@ static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) writeb(TX_AUTHENTICATE_LENGTH_LSB,pccs->var.tx_request.tx_data_length + 1); writeb(0, &pccs->var.tx_request.pow_sav_mode); - ptx = (struct tx_msg *)(local->sram + addr); + ptx = local->sram + addr; /* fill in the mac header */ writeb(PROTOCOL_VER | AUTHENTIC_TYPE, &ptx->mac.frame_ctl_1); writeb(0, &ptx->mac.frame_ctl_2); @@ -2931,15 +2947,6 @@ static void __exit exit_ray_cs(void) { DEBUG(0, "ray_cs: cleanup_module\n"); - -#ifdef CONFIG_PROC_FS - remove_proc_entry("ray_cs", proc_root_driver); -#endif - - pcmcia_unregister_driver(&ray_driver); - while (dev_list != NULL) - ray_detach(dev_list); - #ifdef CONFIG_PROC_FS remove_proc_entry("driver/ray_cs/ray_cs", NULL); remove_proc_entry("driver/ray_cs/essid", NULL); @@ -2947,6 +2954,10 @@ static void __exit exit_ray_cs(void) remove_proc_entry("driver/ray_cs/translate", NULL); remove_proc_entry("driver/ray_cs", NULL); #endif + + pcmcia_unregister_driver(&ray_driver); + while (dev_list != NULL) + ray_detach(dev_list); } /* exit_ray_cs */ module_init(init_ray_cs); diff --git a/drivers/net/wireless/strip.c b/drivers/net/wireless/strip.c index 98cee21f7..7f44588cb 100644 --- a/drivers/net/wireless/strip.c +++ b/drivers/net/wireless/strip.c @@ -106,6 +106,7 @@ static const char StripVersion[] = "1.3A-STUART.CHESHIRE"; #include #include #include +#include #include #include @@ -1348,14 +1349,17 @@ static unsigned char *strip_make_packet(unsigned char *buffer, */ if (haddr.c[0] == 0xFF) { u32 brd = 0; - struct in_device *in_dev = in_dev_get(strip_info->dev); - if (in_dev == NULL) + struct in_device *in_dev; + + rcu_read_lock(); + in_dev = __in_dev_get(strip_info->dev); + if (in_dev == NULL) { + rcu_read_unlock(); return NULL; - read_lock(&in_dev->lock); + } if (in_dev->ifa_list) brd = in_dev->ifa_list->ifa_broadcast; - read_unlock(&in_dev->lock); - in_dev_put(in_dev); + rcu_read_unlock(); /* arp_query returns 1 if it succeeds in looking up the address, 0 if it fails */ if (!arp_query(haddr.c, brd, strip_info->dev)) { @@ -1500,17 +1504,18 @@ static void strip_send(struct strip *strip_info, struct sk_buff *skb) } if (1) { - struct in_device *in_dev = in_dev_get(strip_info->dev); + struct in_device *in_dev; + brd = addr = 0; + rcu_read_lock(); + in_dev = __in_dev_get(strip_info->dev); if (in_dev) { - read_lock(&in_dev->lock); if (in_dev->ifa_list) { brd = in_dev->ifa_list->ifa_broadcast; addr = in_dev->ifa_list->ifa_local; } - read_unlock(&in_dev->lock); - in_dev_put(in_dev); } + rcu_read_unlock(); } @@ -2661,8 +2666,6 @@ static int strip_open(struct tty_struct *tty) tty->disc_data = strip_info; if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); /* * Restore default settings diff --git a/drivers/oprofile/buffer_sync.c b/drivers/oprofile/buffer_sync.c index e5d06ea62..884a53243 100644 --- a/drivers/oprofile/buffer_sync.c +++ b/drivers/oprofile/buffer_sync.c @@ -32,61 +32,65 @@ #include "cpu_buffer.h" #include "buffer_sync.h" -#define DEFAULT_EXPIRE (HZ / 4) - -static void wq_sync_buffers(void *); -static DECLARE_WORK(sync_wq, wq_sync_buffers, NULL); - -static struct timer_list sync_timer; -static void timer_ping(unsigned long data); -static void sync_cpu_buffers(void); +static LIST_HEAD(dying_tasks); +static LIST_HEAD(dead_tasks); +cpumask_t marked_cpus = CPU_MASK_NONE; +static spinlock_t task_mortuary = SPIN_LOCK_UNLOCKED; +void process_task_mortuary(void); - -/* We must make sure to process every entry in the CPU buffers - * before a task got the PF_EXITING flag, otherwise we will hold - * references to a possibly freed task_struct. We are safe with - * samples past the PF_EXITING point in do_exit(), because we - * explicitly check for that in cpu_buffer.c + +/* Take ownership of the task struct and place it on the + * list for processing. Only after two full buffer syncs + * does the task eventually get freed, because by then + * we are sure we will not reference it again. */ -static int exit_task_notify(struct notifier_block * self, unsigned long val, void * data) +static int task_free_notify(struct notifier_block * self, unsigned long val, void * data) { - sync_cpu_buffers(); - return 0; + struct task_struct * task = (struct task_struct *)data; + spin_lock(&task_mortuary); + list_add(&task->tasks, &dying_tasks); + spin_unlock(&task_mortuary); + return NOTIFY_OK; } - -/* There are two cases of tasks modifying task->mm->mmap list we - * must concern ourselves with. First, when a task is about to - * exit (exit_mmap()), we should process the buffer to deal with - * any samples in the CPU buffer, before we lose the ->mmap information - * we need. It is vital to get this case correct, otherwise we can - * end up trying to access a freed task_struct. + + +/* The task is on its way out. A sync of the buffer means we can catch + * any remaining samples for this task. */ -static int mm_notify(struct notifier_block * self, unsigned long val, void * data) +static int task_exit_notify(struct notifier_block * self, unsigned long val, void * data) { - sync_cpu_buffers(); - return 0; + /* To avoid latency problems, we only process the current CPU, + * hoping that most samples for the task are on this CPU + */ + sync_buffer(smp_processor_id()); + return 0; } -/* Second, a task may unmap (part of) an executable mmap, - * so we want to process samples before that happens too. This is merely - * a QOI issue not a correctness one. +/* The task is about to try a do_munmap(). We peek at what it's going to + * do, and if it's an executable region, process the samples first, so + * we don't lose any. This does not have to be exact, it's a QoI issue + * only. */ static int munmap_notify(struct notifier_block * self, unsigned long val, void * data) { - /* Note that we cannot sync the buffers directly, because we might end up - * taking the the mmap_sem that we hold now inside of event_buffer_read() - * on a page fault, whilst holding buffer_sem - deadlock. - * - * This would mean a threaded reader of the event buffer, but we should - * prevent it anyway. - * - * Delaying the work in a context that doesn't hold the mmap_sem means - * that we won't lose samples from other mappings that current() may - * have. Note that either way, we lose any pending samples for what is - * being unmapped. - */ - schedule_work(&sync_wq); + unsigned long addr = (unsigned long)data; + struct mm_struct * mm = current->mm; + struct vm_area_struct * mpnt; + + down_read(&mm->mmap_sem); + + mpnt = find_vma(mm, addr); + if (mpnt && mpnt->vm_file && (mpnt->vm_flags & VM_EXEC)) { + up_read(&mm->mmap_sem); + /* To avoid latency problems, we only process the current CPU, + * hoping that most samples for the task are on this CPU + */ + sync_buffer(smp_processor_id()); + return 0; + } + + up_read(&mm->mmap_sem); return 0; } @@ -100,7 +104,7 @@ static int module_load_notify(struct notifier_block * self, unsigned long val, v if (val != MODULE_STATE_COMING) return 0; - sync_cpu_buffers(); + /* FIXME: should we process all CPU buffers ? */ down(&buffer_sem); add_event_entry(ESCAPE_CODE); add_event_entry(MODULE_LOADED_CODE); @@ -110,16 +114,16 @@ static int module_load_notify(struct notifier_block * self, unsigned long val, v } -static struct notifier_block exit_task_nb = { - .notifier_call = exit_task_notify, +static struct notifier_block task_free_nb = { + .notifier_call = task_free_notify, }; -static struct notifier_block exec_unmap_nb = { - .notifier_call = munmap_notify, +static struct notifier_block task_exit_nb = { + .notifier_call = task_exit_notify, }; -static struct notifier_block exit_mmap_nb = { - .notifier_call = mm_notify, +static struct notifier_block munmap_nb = { + .notifier_call = munmap_notify, }; static struct notifier_block module_load_nb = { @@ -127,11 +131,12 @@ static struct notifier_block module_load_nb = { }; -static void end_sync_timer(void) +static void end_sync(void) { - del_timer_sync(&sync_timer); - /* timer might have queued work, make sure it's completed. */ - flush_scheduled_work(); + end_cpu_work(); + /* make sure we don't leak task structs */ + process_task_mortuary(); + process_task_mortuary(); } @@ -139,18 +144,15 @@ int sync_start(void) { int err; - init_timer(&sync_timer); - sync_timer.function = timer_ping; - sync_timer.expires = jiffies + DEFAULT_EXPIRE; - add_timer(&sync_timer); + start_cpu_work(); - err = profile_event_register(EXIT_TASK, &exit_task_nb); + err = task_handoff_register(&task_free_nb); if (err) goto out1; - err = profile_event_register(EXIT_MMAP, &exit_mmap_nb); + err = profile_event_register(PROFILE_TASK_EXIT, &task_exit_nb); if (err) goto out2; - err = profile_event_register(EXEC_UNMAP, &exec_unmap_nb); + err = profile_event_register(PROFILE_MUNMAP, &munmap_nb); if (err) goto out3; err = register_module_notifier(&module_load_nb); @@ -160,13 +162,13 @@ int sync_start(void) out: return err; out4: - profile_event_unregister(EXEC_UNMAP, &exec_unmap_nb); + profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); out3: - profile_event_unregister(EXIT_MMAP, &exit_mmap_nb); + profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb); out2: - profile_event_unregister(EXIT_TASK, &exit_task_nb); + task_handoff_unregister(&task_free_nb); out1: - end_sync_timer(); + end_sync(); goto out; } @@ -174,10 +176,10 @@ out1: void sync_stop(void) { unregister_module_notifier(&module_load_nb); - profile_event_unregister(EXIT_TASK, &exit_task_nb); - profile_event_unregister(EXIT_MMAP, &exit_mmap_nb); - profile_event_unregister(EXEC_UNMAP, &exec_unmap_nb); - end_sync_timer(); + profile_event_unregister(PROFILE_MUNMAP, &munmap_nb); + profile_event_unregister(PROFILE_TASK_EXIT, &task_exit_nb); + task_handoff_unregister(&task_free_nb); + end_sync(); } @@ -337,40 +339,25 @@ static void add_sample(struct mm_struct * mm, struct op_sample * s, int in_kerne } } - + static void release_mm(struct mm_struct * mm) { - if (mm) - up_read(&mm->mmap_sem); + if (!mm) + return; + up_read(&mm->mmap_sem); + mmput(mm); } -/* Take the task's mmap_sem to protect ourselves from - * races when we do lookup_dcookie(). - */ static struct mm_struct * take_tasks_mm(struct task_struct * task) { - struct mm_struct * mm; - - /* Subtle. We don't need to keep a reference to this task's mm, - * because, for the mm to be freed on another CPU, that would have - * to go through the task exit notifier, which ends up sleeping - * on the buffer_sem we hold, so we end up with mutual exclusion - * anyway. - */ - task_lock(task); - mm = task->mm; - task_unlock(task); - - if (mm) { - /* needed to walk the task's VMAs */ + struct mm_struct * mm = get_task_mm(task); + if (mm) down_read(&mm->mmap_sem); - } - return mm; } - - + + static inline int is_ctx_switch(unsigned long val) { return val == ~0UL; @@ -417,24 +404,80 @@ static void increment_tail(struct oprofile_cpu_buffer * b) } +/* Move tasks along towards death. Any tasks on dead_tasks + * will definitely have no remaining references in any + * CPU buffers at this point, because we use two lists, + * and to have reached the list, it must have gone through + * one full sync already. + */ +void process_task_mortuary(void) +{ + struct list_head * pos; + struct list_head * pos2; + struct task_struct * task; + + spin_lock(&task_mortuary); + + list_for_each_safe(pos, pos2, &dead_tasks) { + task = list_entry(pos, struct task_struct, tasks); + list_del(&task->tasks); + free_task(task); + } + + list_for_each_safe(pos, pos2, &dying_tasks) { + task = list_entry(pos, struct task_struct, tasks); + list_del(&task->tasks); + list_add_tail(&task->tasks, &dead_tasks); + } + + spin_unlock(&task_mortuary); +} + + +static void mark_done(int cpu) +{ + int i; + + cpu_set(cpu, marked_cpus); + + for_each_online_cpu(i) { + if (!cpu_isset(i, marked_cpus)) + return; + } + + /* All CPUs have been processed at least once, + * we can process the mortuary once + */ + process_task_mortuary(); + + cpus_clear(marked_cpus); +} + + /* Sync one of the CPU's buffers into the global event buffer. * Here we need to go through each batch of samples punctuated * by context switch notes, taking the task's mmap_sem and doing * lookup in task->mm->mmap to convert EIP into dcookie/offset * value. */ -static void sync_buffer(struct oprofile_cpu_buffer * cpu_buf) +void sync_buffer(int cpu) { + struct oprofile_cpu_buffer * cpu_buf = &cpu_buffer[cpu]; struct mm_struct *mm = NULL; struct task_struct * new; unsigned long cookie = 0; int in_kernel = 1; unsigned int i; + unsigned long available; + + down(&buffer_sem); + add_cpu_switch(cpu); + /* Remember, only we can modify tail_pos */ - unsigned long const available = get_slots(cpu_buf); - + available = get_slots(cpu_buf); + for (i=0; i < available; ++i) { struct op_sample * s = &cpu_buf->buffer[cpu_buf->tail_pos]; @@ -462,50 +505,8 @@ static void sync_buffer(struct oprofile_cpu_buffer * cpu_buf) increment_tail(cpu_buf); } release_mm(mm); -} - - -/* Process each CPU's local buffer into the global - * event buffer. - */ -static void sync_cpu_buffers(void) -{ - int i; - down(&buffer_sem); - - for (i = 0; i < NR_CPUS; ++i) { - struct oprofile_cpu_buffer * cpu_buf; - - if (!cpu_possible(i)) - continue; - - cpu_buf = &cpu_buffer[i]; - - add_cpu_switch(i); - sync_buffer(cpu_buf); - } + mark_done(cpu); up(&buffer_sem); - - mod_timer(&sync_timer, jiffies + DEFAULT_EXPIRE); -} - - -static void wq_sync_buffers(void * data) -{ - sync_cpu_buffers(); -} - - -/* It is possible that we could have no munmap() or - * other events for a period of time. This will lead - * the CPU buffers to overflow and lose samples and - * context switches. We try to reduce the problem - * by timing out when nothing happens for a while. - */ -static void timer_ping(unsigned long data) -{ - schedule_work(&sync_wq); - /* timer is re-added by the scheduled task */ } diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c index 7ee6a3d99..420dc8e83 100644 --- a/drivers/oprofile/cpu_buffer.c +++ b/drivers/oprofile/cpu_buffer.c @@ -9,7 +9,7 @@ * Each CPU has a local buffer that stores PC value/event * pairs. We also log context switches when we notice them. * Eventually each CPU's buffer is processed into the global - * event buffer by sync_cpu_buffers(). + * event buffer by sync_buffer(). * * We use a local buffer for two reasons: an NMI or similar * interrupt cannot synchronise, and high sampling rates @@ -22,21 +22,23 @@ #include #include "cpu_buffer.h" +#include "buffer_sync.h" #include "oprof.h" struct oprofile_cpu_buffer cpu_buffer[NR_CPUS] __cacheline_aligned; +static void wq_sync_buffer(void *); + +#define DEFAULT_TIMER_EXPIRE (HZ / 10) +int work_enabled; + static void __free_cpu_buffers(int num) { int i; - for (i=0; i < num; ++i) { - struct oprofile_cpu_buffer * b = &cpu_buffer[i]; - - if (!cpu_possible(i)) - continue; - - vfree(b->buffer); + for_each_online_cpu(i) { + if (cpu_buffer[i].buffer) + vfree(cpu_buffer[i].buffer); } } @@ -47,12 +49,9 @@ int alloc_cpu_buffers(void) unsigned long buffer_size = fs_cpu_buffer_size; - for (i=0; i < NR_CPUS; ++i) { + for_each_online_cpu(i) { struct oprofile_cpu_buffer * b = &cpu_buffer[i]; - if (!cpu_possible(i)) - continue; - b->buffer = vmalloc(sizeof(struct op_sample) * buffer_size); if (!b->buffer) goto fail; @@ -64,9 +63,11 @@ int alloc_cpu_buffers(void) b->head_pos = 0; b->sample_received = 0; b->sample_lost_overflow = 0; - b->sample_lost_task_exit = 0; + b->cpu = i; + INIT_WORK(&b->work, wq_sync_buffer, b); } return 0; + fail: __free_cpu_buffers(i); return -ENOMEM; @@ -79,6 +80,40 @@ void free_cpu_buffers(void) } +void start_cpu_work(void) +{ + int i; + + work_enabled = 1; + + for_each_online_cpu(i) { + struct oprofile_cpu_buffer * b = &cpu_buffer[i]; + + /* + * Spread the work by 1 jiffy per cpu so they dont all + * fire at once. + */ + schedule_delayed_work_on(i, &b->work, DEFAULT_TIMER_EXPIRE + i); + } +} + + +void end_cpu_work(void) +{ + int i; + + work_enabled = 0; + + for_each_online_cpu(i) { + struct oprofile_cpu_buffer * b = &cpu_buffer[i]; + + cancel_delayed_work(&b->work); + } + + flush_scheduled_work(); +} + + /* compute number of available slots in cpu_buffer queue */ static unsigned long nr_available_slots(struct oprofile_cpu_buffer const * b) { @@ -145,21 +180,9 @@ void oprofile_add_sample(unsigned long eip, unsigned int is_kernel, /* notice a task switch */ if (cpu_buf->last_task != task) { cpu_buf->last_task = task; - if (!(task->flags & PF_EXITING)) { - cpu_buf->buffer[cpu_buf->head_pos].eip = ~0UL; - cpu_buf->buffer[cpu_buf->head_pos].event = (unsigned long)task; - increment_head(cpu_buf); - } - } - - /* If the task is exiting it's not safe to take a sample - * as the task_struct is about to be freed. We can't just - * notify at release_task() time because of CLONE_DETACHED - * tasks that release_task() themselves. - */ - if (task->flags & PF_EXITING) { - cpu_buf->sample_lost_task_exit++; - return; + cpu_buf->buffer[cpu_buf->head_pos].eip = ~0UL; + cpu_buf->buffer[cpu_buf->head_pos].event = (unsigned long)task; + increment_head(cpu_buf); } cpu_buf->buffer[cpu_buf->head_pos].eip = eip; @@ -178,3 +201,25 @@ void cpu_buffer_reset(struct oprofile_cpu_buffer * cpu_buf) cpu_buf->last_is_kernel = -1; cpu_buf->last_task = NULL; } + + +/* + * This serves to avoid cpu buffer overflow, and makes sure + * the task mortuary progresses + * + * By using schedule_delayed_work_on and then schedule_delayed_work + * we guarantee this will stay on the correct cpu + */ +static void wq_sync_buffer(void * data) +{ + struct oprofile_cpu_buffer * b = (struct oprofile_cpu_buffer *)data; + if (b->cpu != smp_processor_id()) { + printk("WQ on CPU%d, prefer CPU%d\n", + smp_processor_id(), b->cpu); + } + sync_buffer(b->cpu); + + /* don't re-add the work if we're shutting down */ + if (work_enabled) + schedule_delayed_work(&b->work, DEFAULT_TIMER_EXPIRE); +} diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c index 6357ec10e..0e1426ccd 100644 --- a/drivers/parisc/superio.c +++ b/drivers/parisc/superio.c @@ -8,7 +8,7 @@ * (C) Copyright 2000 Linuxcare, Inc. * (C) Copyright 2000 Linuxcare Canada, Inc. * (C) Copyright 2000 Martin K. Petersen - * (C) Copyright 2000 Alex deVries + * (C) Copyright 2000 Alex deVries * (C) Copyright 2001 John Marvin * (C) Copyright 2003 Grant Grundler * @@ -484,6 +484,7 @@ void superio_fixup_pci(struct pci_dev *pdev) pci_read_config_byte(pdev, PCI_CLASS_PROG, &prog); printk("PCI: Enabled native mode for NS87415 (pif=0x%x)\n", prog); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_87415, superio_fixup_pci); /* Because of a defect in Super I/O, all reads of the PCI DMA status * registers, IDE status register and the IDE select register need to be diff --git a/drivers/parport/daisy.c b/drivers/parport/daisy.c index 9f4f5f476..b07e0a329 100644 --- a/drivers/parport/daisy.c +++ b/drivers/parport/daisy.c @@ -207,8 +207,7 @@ void parport_daisy_fini (struct parport *port) * * This function is similar to parport_register_device(), except * that it locates a device by its number rather than by the port - * it is attached to. See parport_find_device() and - * parport_find_class(). + * it is attached to. * * All parameters except for @devnum are the same as for * parport_register_device(). The return value is the same as @@ -305,53 +304,6 @@ int parport_device_num (int parport, int mux, int daisy) return res; } -/** - * parport_device_coords - convert canonical device number - * @devnum: device number - * @parport: pointer to storage for parallel port number - * @mux: pointer to storage for multiplexor port number - * @daisy: pointer to storage for daisy chain address - * - * This function converts a device number into its coordinates in - * terms of which parallel port in the system it is attached to, - * which multiplexor port it is attached to if there is a - * multiplexor on that port, and which daisy chain address it has - * if it is in a daisy chain. - * - * The caller must allocate storage for @parport, @mux, and - * @daisy. - * - * If there is no device with the specified device number, -ENXIO - * is returned. Otherwise, the values pointed to by @parport, - * @mux, and @daisy are set to the coordinates of the device, - * with -1 for coordinates with no value. - * - * This function is not actually very useful, but this interface - * was suggested by IEEE 1284.3. - **/ - -int parport_device_coords (int devnum, int *parport, int *mux, int *daisy) -{ - struct daisydev *dev; - - spin_lock(&topology_lock); - - dev = topology; - while (dev && dev->devnum != devnum) - dev = dev->next; - - if (!dev) { - spin_unlock(&topology_lock); - return -ENXIO; - } - - if (parport) *parport = dev->port->portnum; - if (mux) *mux = dev->port->muxport; - if (daisy) *daisy = dev->daisy; - spin_unlock(&topology_lock); - return 0; -} - /* Send a daisy-chain-style CPP command packet. */ static int cpp_daisy (struct parport *port, int cmd) { @@ -558,108 +510,3 @@ static int assign_addrs (struct parport *port) kfree (deviceid); return detected; } - -/* Find a device with a particular manufacturer and model string, - starting from a given device number. Like the PCI equivalent, - 'from' itself is skipped. */ - -/** - * parport_find_device - find a specific device - * @mfg: required manufacturer string - * @mdl: required model string - * @from: previous device number found in search, or %NULL for - * new search - * - * This walks through the list of parallel port devices looking - * for a device whose 'MFG' string matches @mfg and whose 'MDL' - * string matches @mdl in their IEEE 1284 Device ID. - * - * When a device is found matching those requirements, its device - * number is returned; if there is no matching device, a negative - * value is returned. - * - * A new search it initiated by passing %NULL as the @from - * argument. If @from is not %NULL, the search continues from - * that device. - **/ - -int parport_find_device (const char *mfg, const char *mdl, int from) -{ - struct daisydev *d; - int res = -1; - - /* Find where to start. */ - - spin_lock(&topology_lock); - d = topology; /* sorted by devnum */ - while (d && d->devnum <= from) - d = d->next; - - /* Search. */ - while (d) { - struct parport_device_info *info; - info = &d->port->probe_info[1 + d->daisy]; - if ((!mfg || !strcmp (mfg, info->mfr)) && - (!mdl || !strcmp (mdl, info->model))) - break; - - d = d->next; - } - - if (d) - res = d->devnum; - - spin_unlock(&topology_lock); - return res; -} - -/** - * parport_find_class - find a device in a specified class - * @cls: required class - * @from: previous device number found in search, or %NULL for - * new search - * - * This walks through the list of parallel port devices looking - * for a device whose 'CLS' string matches @cls in their IEEE - * 1284 Device ID. - * - * When a device is found matching those requirements, its device - * number is returned; if there is no matching device, a negative - * value is returned. - * - * A new search it initiated by passing %NULL as the @from - * argument. If @from is not %NULL, the search continues from - * that device. - **/ - -int parport_find_class (parport_device_class cls, int from) -{ - struct daisydev *d; - int res = -1; - - spin_lock(&topology_lock); - d = topology; /* sorted by devnum */ - /* Find where to start. */ - while (d && d->devnum <= from) - d = d->next; - - /* Search. */ - while (d && d->port->probe_info[1 + d->daisy].class != cls) - d = d->next; - - if (d) - res = d->devnum; - - spin_unlock(&topology_lock); - return res; -} - -EXPORT_SYMBOL(parport_open); -EXPORT_SYMBOL(parport_close); -EXPORT_SYMBOL(parport_device_num); -EXPORT_SYMBOL(parport_device_coords); -EXPORT_SYMBOL(parport_daisy_deselect_all); -EXPORT_SYMBOL(parport_daisy_select); -EXPORT_SYMBOL(parport_daisy_init); -EXPORT_SYMBOL(parport_find_device); -EXPORT_SYMBOL(parport_find_class); diff --git a/drivers/parport/ieee1284.c b/drivers/parport/ieee1284.c index 950b78e7c..a1bd5416d 100644 --- a/drivers/parport/ieee1284.c +++ b/drivers/parport/ieee1284.c @@ -40,7 +40,7 @@ /* Make parport_wait_peripheral wake up. * It will be useful to call this from an interrupt handler. */ -void parport_ieee1284_wakeup (struct parport *port) +static void parport_ieee1284_wakeup (struct parport *port) { up (&port->physport->ieee1284.irq); } @@ -813,9 +813,7 @@ long parport_set_timeout (struct pardevice *dev, long inactivity) EXPORT_SYMBOL(parport_negotiate); EXPORT_SYMBOL(parport_write); EXPORT_SYMBOL(parport_read); -EXPORT_SYMBOL(parport_ieee1284_wakeup); EXPORT_SYMBOL(parport_wait_peripheral); -EXPORT_SYMBOL(parport_poll_peripheral); EXPORT_SYMBOL(parport_wait_event); EXPORT_SYMBOL(parport_set_timeout); EXPORT_SYMBOL(parport_ieee1284_interrupt); diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index dfc8a8404..9167e4d65 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c @@ -1403,6 +1403,9 @@ static void __devinit winbond_check(int io, int key) { int devid,devrev,oldid,x_devid,x_devrev,x_oldid; + if (!request_region(io, 3, __FUNCTION__)) + return; + /* First probe without key */ outb(0x20,io); x_devid=inb(io+1); @@ -1423,15 +1426,20 @@ static void __devinit winbond_check(int io, int key) outb(0xaa,io); /* Magic Seal */ if ((x_devid == devid) && (x_devrev == devrev) && (x_oldid == oldid)) - return; /* protection against false positives */ + goto out; /* protection against false positives */ decode_winbond(io,key,devid,devrev,oldid); +out: + release_region(io, 3); } static void __devinit winbond_check2(int io,int key) { int devid,devrev,oldid,x_devid,x_devrev,x_oldid; + if (!request_region(io, 3, __FUNCTION__)) + return; + /* First probe without the key */ outb(0x20,io+2); x_devid=inb(io+2); @@ -1451,15 +1459,20 @@ static void __devinit winbond_check2(int io,int key) outb(0xaa,io); /* Magic Seal */ if ((x_devid == devid) && (x_devrev == devrev) && (x_oldid == oldid)) - return; /* protection against false positives */ + goto out; /* protection against false positives */ - decode_winbond(io,key,devid,devrev,oldid); + decode_winbond(io,key,devid,devrev,oldid); +out: + release_region(io, 3); } static void __devinit smsc_check(int io, int key) { int id,rev,oldid,oldrev,x_id,x_rev,x_oldid,x_oldrev; + if (!request_region(io, 3, __FUNCTION__)) + return; + /* First probe without the key */ outb(0x0d,io); x_oldid=inb(io+1); @@ -1485,9 +1498,11 @@ static void __devinit smsc_check(int io, int key) if ((x_id == id) && (x_oldrev == oldrev) && (x_oldid == oldid) && (x_rev == rev)) - return; /* protection against false positives */ + goto out; /* protection against false positives */ decode_smsc(io,key,oldid,oldrev); +out: + release_region(io, 3); } @@ -2636,6 +2651,10 @@ enum parport_pc_pci_cards { netmos_9805, netmos_9815, netmos_9855, + netmos_9735, + netmos_9835, + netmos_9755, + netmos_9715 }; @@ -2709,6 +2728,10 @@ static struct parport_pc_pci { /* netmos_9805 */ { 1, { { 0, -1 }, } }, /* untested */ /* netmos_9815 */ { 2, { { 0, -1 }, { 2, -1 }, } }, /* untested */ /* netmos_9855 */ { 2, { { 0, -1 }, { 2, -1 }, } }, /* untested */ + /* netmos_9735 */ { 1, { { 2, 3 }, } }, /* untested */ + /* netmos_9835 */ { 1, { { 2, 3 }, } }, /* untested */ + /* netmos_9755 */ { 2, { { 0, 1 }, { 2, 3 },} }, /* untested */ + /* netmos_9715 */ { 2, { { 0, 1 }, { 2, 3 },} }, /* untested */ }; static struct pci_device_id parport_pc_pci_tbl[] = { @@ -2786,6 +2809,14 @@ static struct pci_device_id parport_pc_pci_tbl[] = { PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9815 }, { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9855, PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9855 }, + { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9735, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9735 }, + { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9835, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9835 }, + { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9755, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9755 }, + { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9715, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9715 }, { 0, } /* terminate list */ }; MODULE_DEVICE_TABLE(pci,parport_pc_pci_tbl); diff --git a/drivers/parport/probe.c b/drivers/parport/probe.c index a360928ba..339dd7802 100644 --- a/drivers/parport/probe.c +++ b/drivers/parport/probe.c @@ -213,4 +213,3 @@ ssize_t parport_device_id (int devnum, char *buffer, size_t len) parport_close (dev); return retval; } -EXPORT_SYMBOL(parport_device_id); diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c index 061097fd8..cbe17184b 100644 --- a/drivers/parport/procfs.c +++ b/drivers/parport/procfs.c @@ -529,8 +529,5 @@ static void __exit parport_default_proc_unregister (void) } #endif -EXPORT_SYMBOL(parport_device_proc_register); -EXPORT_SYMBOL(parport_device_proc_unregister); - module_init(parport_default_proc_register) module_exit(parport_default_proc_unregister) diff --git a/drivers/parport/share.c b/drivers/parport/share.c index ea655dbdf..5bce27150 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -1007,7 +1007,6 @@ EXPORT_SYMBOL(parport_register_driver); EXPORT_SYMBOL(parport_unregister_driver); EXPORT_SYMBOL(parport_register_device); EXPORT_SYMBOL(parport_unregister_device); -EXPORT_SYMBOL(parport_get_port); EXPORT_SYMBOL(parport_put_port); EXPORT_SYMBOL(parport_find_number); EXPORT_SYMBOL(parport_find_base); diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile index 474eacd34..7006354e9 100644 --- a/drivers/pci/Makefile +++ b/drivers/pci/Makefile @@ -28,6 +28,11 @@ obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o obj-$(CONFIG_X86_VISWS) += setup-irq.o obj-$(CONFIG_PCI_MSI) += msi.o +# +# ACPI Related PCI FW Functions +# +obj-$(CONFIG_ACPI) += pci-acpi.o + # Cardbus & CompactPCI use setup-bus obj-$(CONFIG_HOTPLUG) += setup-bus.o diff --git a/drivers/pci/hotplug/acpiphp.h b/drivers/pci/hotplug/acpiphp.h index 670c874fe..d9499874c 100644 --- a/drivers/pci/hotplug/acpiphp.h +++ b/drivers/pci/hotplug/acpiphp.h @@ -171,6 +171,18 @@ struct acpiphp_func { struct pci_resource *bus_head; }; +/** + * struct acpiphp_attention_info - device specific attention registration + * + * ACPI has no generic method of setting/getting attention status + * this allows for device specific driver registration + */ +struct acpiphp_attention_info +{ + int (*set_attn)(struct hotplug_slot *slot, u8 status); + int (*get_attn)(struct hotplug_slot *slot, u8 *status); + struct module *owner; +}; /* PCI bus bridge HID */ #define ACPI_PCI_HOST_HID "PNP0A03" @@ -212,6 +224,10 @@ struct acpiphp_func { /* function prototypes */ +/* acpiphp_core.c */ +extern int acpiphp_register_attention(struct acpiphp_attention_info*info); +extern int acpiphp_unregister_attention(struct acpiphp_attention_info *info); + /* acpiphp_glue.c */ extern int acpiphp_glue_init (void); extern void acpiphp_glue_exit (void); diff --git a/drivers/pci/hotplug/acpiphp_core.c b/drivers/pci/hotplug/acpiphp_core.c index fb4155ad7..4539e61a3 100644 --- a/drivers/pci/hotplug/acpiphp_core.c +++ b/drivers/pci/hotplug/acpiphp_core.c @@ -51,6 +51,7 @@ int acpiphp_debug; /* local variables */ static int num_slots; +static struct acpiphp_attention_info *attention_info; #define DRIVER_VERSION "0.4" #define DRIVER_AUTHOR "Greg Kroah-Hartman , Takayoshi Kochi " @@ -60,12 +61,17 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); MODULE_PARM_DESC(debug, "Debugging mode enabled or not"); -module_param(debug, bool, 644); +module_param(debug, bool, 0644); + +/* export the attention callback registration methods */ +EXPORT_SYMBOL_GPL(acpiphp_register_attention); +EXPORT_SYMBOL_GPL(acpiphp_unregister_attention); static int enable_slot (struct hotplug_slot *slot); static int disable_slot (struct hotplug_slot *slot); static int set_attention_status (struct hotplug_slot *slot, u8 value); static int get_power_status (struct hotplug_slot *slot, u8 *value); +static int get_attention_status (struct hotplug_slot *slot, u8 *value); static int get_address (struct hotplug_slot *slot, u32 *value); static int get_latch_status (struct hotplug_slot *slot, u8 *value); static int get_adapter_status (struct hotplug_slot *slot, u8 *value); @@ -76,11 +82,54 @@ static struct hotplug_slot_ops acpi_hotplug_slot_ops = { .disable_slot = disable_slot, .set_attention_status = set_attention_status, .get_power_status = get_power_status, + .get_attention_status = get_attention_status, .get_latch_status = get_latch_status, .get_adapter_status = get_adapter_status, .get_address = get_address, }; + +/** + * acpiphp_register_attention - set attention LED callback + * @info: must be completely filled with LED callbacks + * + * Description: this is used to register a hardware specific ACPI + * driver that manipulates the attention LED. All the fields in + * info must be set. + **/ +int acpiphp_register_attention(struct acpiphp_attention_info *info) +{ + int retval = -EINVAL; + + if (info && info->owner && info->set_attn && + info->get_attn && !attention_info) { + retval = 0; + attention_info = info; + } + return retval; +} + + +/** + * acpiphp_unregister_attention - unset attention LED callback + * @info: must match the pointer used to register + * + * Description: this is used to un-register a hardware specific acpi + * driver that manipulates the attention LED. The pointer to the + * info struct must be the same as the one used to set it. + **/ +int acpiphp_unregister_attention(struct acpiphp_attention_info *info) +{ + int retval = -EINVAL; + + if (info && attention_info == info) { + attention_info = NULL; + retval = 0; + } + return retval; +} + + /** * enable_slot - power on and enable a slot * @hotplug_slot: slot to enable @@ -117,33 +166,29 @@ static int disable_slot(struct hotplug_slot *hotplug_slot) } -/** - * set_attention_status - set attention LED + /** + * set_attention_status - set attention LED + * @hotplug_slot: slot to set attention LED on + * @status: value to set attention LED to (0 or 1) * - * TBD: - * ACPI doesn't have known method to manipulate - * attention status LED. - * - */ -static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status) -{ - dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name); - - switch (status) { - case 0: - /* FIXME turn light off */ - hotplug_slot->info->attention_status = 0; - break; - - case 1: - default: - /* FIXME turn light on */ - hotplug_slot->info->attention_status = 1; - break; - } - - return 0; -} + * attention status LED, so we use a callback that + * was registered with us. This allows hardware specific + * ACPI implementations to blink the light for us. + **/ + static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status) + { + int retval = -ENODEV; + + dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name); + + if (attention_info && try_module_get(attention_info->owner)) { + retval = attention_info->set_attn(hotplug_slot, status); + module_put(attention_info->owner); + } else + attention_info = NULL; + return retval; + } + /** * get_power_status - get power status of a slot @@ -165,6 +210,32 @@ static int get_power_status(struct hotplug_slot *hotplug_slot, u8 *value) return 0; } + + /** + * get_attention_status - get attention LED status + * @hotplug_slot: slot to get status from + * @value: returns with value of attention LED + * + * ACPI doesn't have known method to determine the state + * of the attention status LED, so we use a callback that + * was registered with us. This allows hardware specific + * ACPI implementations to determine its state + **/ +static int get_attention_status(struct hotplug_slot *hotplug_slot, u8 *value) +{ + int retval = -EINVAL; + + dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name); + + if (attention_info && try_module_get(attention_info->owner)) { + retval = attention_info->get_attn(hotplug_slot, value); + module_put(attention_info->owner); + } else + attention_info = NULL; + return retval; +} + + /** * get_latch_status - get latch status of a slot * @hotplug_slot: slot to get status @@ -307,7 +378,7 @@ static int __init init_slots(void) slot->acpi_slot = get_slot_from_id(i); slot->hotplug_slot->info->power_status = acpiphp_get_power_status(slot->acpi_slot); - slot->hotplug_slot->info->attention_status = acpiphp_get_attention_status(slot->acpi_slot); + slot->hotplug_slot->info->attention_status = 0; slot->hotplug_slot->info->latch_status = acpiphp_get_latch_status(slot->acpi_slot); slot->hotplug_slot->info->adapter_status = acpiphp_get_adapter_status(slot->acpi_slot); slot->hotplug_slot->info->max_bus_speed = PCI_SPEED_UNKNOWN; diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c index d41795bb6..e400e4acc 100644 --- a/drivers/pci/hotplug/acpiphp_glue.c +++ b/drivers/pci/hotplug/acpiphp_glue.c @@ -1301,20 +1301,6 @@ u8 acpiphp_get_power_status(struct acpiphp_slot *slot) } -/* - * attention LED ON: 1 - * OFF: 0 - * - * TBD - * no direct attention led status information via ACPI - * - */ -u8 acpiphp_get_attention_status(struct acpiphp_slot *slot) -{ - return 0; -} - - /* * latch closed: 1 * latch open: 0 diff --git a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c index 868623fd6..ed243605d 100644 --- a/drivers/pci/hotplug/cpci_hotplug_core.c +++ b/drivers/pci/hotplug/cpci_hotplug_core.c @@ -33,6 +33,7 @@ #include #include #include +#include #include "pci_hotplug.h" #include "cpci_hotplug.h" @@ -513,11 +514,10 @@ event_thread(void *data) break; while(controller->ops->query_enum()) { rc = check_slots(); - if(rc > 0) { + if (rc > 0) /* Give userspace a chance to handle extraction */ - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ / 2); - } else if(rc < 0) { + msleep(500); + else if (rc < 0) { dbg("%s - error checking slots", __FUNCTION__); thread_finished = 1; break; @@ -568,11 +568,10 @@ poll_thread(void *data) while(controller->ops->query_enum()) { rc = check_slots(); - if(rc > 0) { + if(rc > 0) /* Give userspace a chance to handle extraction */ - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ / 2); - } else if(rc < 0) { + msleep(500); + else if (rc < 0) { dbg("%s - error checking slots", __FUNCTION__); thread_finished = 1; break; @@ -595,8 +594,7 @@ poll_thread(void *data) } } - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ / 10); + msleep(100); } dbg("poll thread signals exit"); up(&thread_exit); diff --git a/drivers/pci/hotplug/cpcihp_zt5550.c b/drivers/pci/hotplug/cpcihp_zt5550.c index cb54fa8ab..0a01b0710 100644 --- a/drivers/pci/hotplug/cpcihp_zt5550.c +++ b/drivers/pci/hotplug/cpcihp_zt5550.c @@ -298,7 +298,7 @@ module_exit(zt5550_exit); MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -module_param(debug, bool, 644); +module_param(debug, bool, 0644); MODULE_PARM_DESC(debug, "Debugging mode enabled or not"); -module_param(poll, bool, 644); +module_param(poll, bool, 0644); MODULE_PARM_DESC(poll, "#ENUM polling mode enabled or not"); diff --git a/drivers/pci/hotplug/cpqphp_core.c b/drivers/pci/hotplug/cpqphp_core.c index aa8a1a4d7..13d147989 100644 --- a/drivers/pci/hotplug/cpqphp_core.c +++ b/drivers/pci/hotplug/cpqphp_core.c @@ -69,10 +69,10 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -module_param(power_mode, bool, 644); +module_param(power_mode, bool, 0644); MODULE_PARM_DESC(power_mode, "Power mode enabled or not"); -module_param(debug, bool, 644); +module_param(debug, bool, 0644); MODULE_PARM_DESC(debug, "Debugging mode enabled or not"); #define CPQHPC_MODULE_MINOR 208 diff --git a/drivers/pci/hotplug/ibmphp.h b/drivers/pci/hotplug/ibmphp.h index b24b8cd45..b42346b02 100644 --- a/drivers/pci/hotplug/ibmphp.h +++ b/drivers/pci/hotplug/ibmphp.h @@ -759,11 +759,5 @@ extern int ibmphp_configure_card (struct pci_func *, u8); extern int ibmphp_unconfigure_card (struct slot **, int); extern struct hotplug_slot_ops ibmphp_hotplug_slot_ops; -static inline void long_delay (int delay) -{ - set_current_state (TASK_INTERRUPTIBLE); - schedule_timeout (delay); -} - #endif //__IBMPHP_H diff --git a/drivers/pci/hotplug/ibmphp_core.c b/drivers/pci/hotplug/ibmphp_core.c index 89354eb0a..1307f7adc 100644 --- a/drivers/pci/hotplug/ibmphp_core.c +++ b/drivers/pci/hotplug/ibmphp_core.c @@ -190,7 +190,7 @@ static inline int power_on (struct slot *slot_cur) err ("command not completed successfully in power_on\n"); return -EIO; } - long_delay (3 * HZ); /* For ServeRAID cards, and some 66 PCI */ + msleep(3000); /* For ServeRAID cards, and some 66 PCI */ return 0; } @@ -913,7 +913,7 @@ static int set_bus (struct slot * slot_cur) } /* This is for x440, once Brandon fixes the firmware, will not need this delay */ - long_delay (1 * HZ); + msleep(1000); debug ("%s -Exit\n", __FUNCTION__); return 0; } diff --git a/drivers/pci/hotplug/ibmphp_hpc.c b/drivers/pci/hotplug/ibmphp_hpc.c index 105dc70e6..04459b7c2 100644 --- a/drivers/pci/hotplug/ibmphp_hpc.c +++ b/drivers/pci/hotplug/ibmphp_hpc.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -205,7 +206,7 @@ static u8 i2c_ctrl_read (struct controller *ctlr_ptr, void *WPGBbar, u8 index) // READ - step 4 : wait until start operation bit clears i = CMD_COMPLETE_TOUT_SEC; while (i) { - long_delay (1 * HZ / 100); + msleep(10); wpg_addr = WPGBbar + WPG_I2CMCNTL_OFFSET; wpg_data = readl (wpg_addr); data = swab32 (wpg_data); @@ -221,7 +222,7 @@ static u8 i2c_ctrl_read (struct controller *ctlr_ptr, void *WPGBbar, u8 index) // READ - step 5 : read I2C status register i = CMD_COMPLETE_TOUT_SEC; while (i) { - long_delay (1 * HZ / 100); + msleep(10); wpg_addr = WPGBbar + WPG_I2CSTAT_OFFSET; wpg_data = readl (wpg_addr); data = swab32 (wpg_data); @@ -316,7 +317,7 @@ static u8 i2c_ctrl_write (struct controller *ctlr_ptr, void *WPGBbar, u8 index, // WRITE - step 4 : wait until start operation bit clears i = CMD_COMPLETE_TOUT_SEC; while (i) { - long_delay (1 * HZ / 100); + msleep(10); wpg_addr = WPGBbar + WPG_I2CMCNTL_OFFSET; wpg_data = readl (wpg_addr); data = swab32 (wpg_data); @@ -333,7 +334,7 @@ static u8 i2c_ctrl_write (struct controller *ctlr_ptr, void *WPGBbar, u8 index, // WRITE - step 5 : read I2C status register i = CMD_COMPLETE_TOUT_SEC; while (i) { - long_delay (1 * HZ / 100); + msleep(10); wpg_addr = WPGBbar + WPG_I2CSTAT_OFFSET; wpg_data = readl (wpg_addr); data = swab32 (wpg_data); @@ -748,7 +749,7 @@ int ibmphp_hpc_writeslot (struct slot * pslot, u8 cmd) done = TRUE; } if (!done) { - long_delay (1 * HZ); + msleep(1000); if (timeout < 1) { done = TRUE; err ("%s - Error command complete timeout\n", __FUNCTION__); @@ -891,7 +892,7 @@ static void poll_hpc (void) case POLL_SLEEP: /* don't sleep with a lock on the hardware */ up (&semOperations); - long_delay (POLL_INTERVAL_SEC * HZ); + msleep(POLL_INTERVAL_SEC * 1000); if (ibmphp_shutdown) break; @@ -908,8 +909,7 @@ static void poll_hpc (void) /* give up the harware semaphore */ up (&semOperations); /* sleep for a short time just for good measure */ - set_current_state (TASK_INTERRUPTIBLE); - schedule_timeout (HZ/10); + msleep(100); } up (&sem_exit); debug ("%s - Exit\n", __FUNCTION__); @@ -974,7 +974,7 @@ static int process_changeinstatus (struct slot *pslot, struct slot *poldslot) if (SLOT_PWRGD (pslot->status)) { // power goes on and off after closing latch // check again to make sure power is still ON - long_delay (1 * HZ); + msleep(1000); rc = ibmphp_hpc_readslot (pslot, READ_SLOTSTATUS, &status); if (SLOT_PWRGD (status)) update = TRUE; @@ -1147,7 +1147,7 @@ static int hpc_wait_ctlr_notworking (int timeout, struct controller *ctlr_ptr, v if (CTLR_WORKING (*pstatus) == HPC_CTLR_WORKING_NO) done = TRUE; if (!done) { - long_delay (1 * HZ); + msleep(1000); if (timeout < 1) { done = TRUE; err ("HPCreadslot - Error ctlr timeout\n"); diff --git a/drivers/pci/hotplug/pci_hotplug_core.c b/drivers/pci/hotplug/pci_hotplug_core.c index 039213c29..dff5d88b7 100644 --- a/drivers/pci/hotplug/pci_hotplug_core.c +++ b/drivers/pci/hotplug/pci_hotplug_core.c @@ -701,7 +701,7 @@ module_exit(pci_hotplug_exit); MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -module_param(debug, bool, 644); +module_param(debug, bool, 0644); MODULE_PARM_DESC(debug, "Debugging mode enabled or not"); EXPORT_SYMBOL_GPL(pci_hotplug_slots_subsys); diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h index b1504c7c1..1f0b21c68 100644 --- a/drivers/pci/hotplug/pciehp.h +++ b/drivers/pci/hotplug/pciehp.h @@ -126,8 +126,7 @@ struct controller { enum pci_bus_speed speed; u32 first_slot; /* First physical slot number */ /* PCIE only has 1 slot */ u8 slot_bus; /* Bus where the slots handled by this controller sit */ - u8 push_flag; - u16 ctlrcap; + u8 ctrlcap; u16 vendor_id; }; @@ -179,6 +178,21 @@ struct resource_lists { #define DISABLE_CARD 1 +/* Field definitions in Slot Capabilities Register */ +#define ATTN_BUTTN_PRSN 0x00000001 +#define PWR_CTRL_PRSN 0x00000002 +#define MRL_SENS_PRSN 0x00000004 +#define ATTN_LED_PRSN 0x00000008 +#define PWR_LED_PRSN 0x00000010 +#define HP_SUPR_RM_SUP 0x00000020 + +#define ATTN_BUTTN(cap) (cap & ATTN_BUTTN_PRSN) +#define POWER_CTRL(cap) (cap & PWR_CTRL_PRSN) +#define MRL_SENS(cap) (cap & MRL_SENS_PRSN) +#define ATTN_LED(cap) (cap & ATTN_LED_PRSN) +#define PWR_LED(cap) (cap & PWR_LED_PRSN) +#define HP_SUPR_RM(cap) (cap & HP_SUPR_RM_SUP) + /* * error Messages */ @@ -313,8 +327,7 @@ int pcie_get_ctlr_slot_config(struct controller *ctrl, int *num_ctlr_slots, int *first_device_num, int *physical_slot_num, - int *updown, - int *flags); + u8 *ctrlcap); struct hpc_ops { int (*power_on_slot) (struct slot *slot); diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c index b31ccbcea..9d4d070a1 100644 --- a/drivers/pci/hotplug/pciehp_core.c +++ b/drivers/pci/hotplug/pciehp_core.c @@ -57,9 +57,9 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -module_param(pciehp_debug, bool, 644); -module_param(pciehp_poll_mode, bool, 644); -module_param(pciehp_poll_time, int, 644); +module_param(pciehp_debug, bool, 0644); +module_param(pciehp_poll_mode, bool, 0644); +module_param(pciehp_poll_time, int, 0644); MODULE_PARM_DESC(pciehp_debug, "Debugging mode enabled or not"); MODULE_PARM_DESC(pciehp_poll_mode, "Using polling mechanism for hot-plug events or not"); MODULE_PARM_DESC(pciehp_poll_time, "Polling mechanism frequency, in seconds"); @@ -204,11 +204,10 @@ static int get_ctlr_slot_config(struct controller *ctrl) int num_ctlr_slots; /* Not needed; PCI Express has 1 slot per port*/ int first_device_num; /* Not needed */ int physical_slot_num; - int updown; /* Not needed */ + u8 ctrlcap; int rc; - int flags; /* Not needed */ - rc = pcie_get_ctlr_slot_config(ctrl, &num_ctlr_slots, &first_device_num, &physical_slot_num, &updown, &flags); + rc = pcie_get_ctlr_slot_config(ctrl, &num_ctlr_slots, &first_device_num, &physical_slot_num, &ctrlcap); if (rc) { err("%s: get_ctlr_slot_config fail for b:d (%x:%x)\n", __FUNCTION__, ctrl->bus, ctrl->device); return (-1); @@ -217,10 +216,10 @@ static int get_ctlr_slot_config(struct controller *ctrl) ctrl->num_slots = num_ctlr_slots; /* PCI Express has 1 slot per port */ ctrl->slot_device_offset = first_device_num; ctrl->first_slot = physical_slot_num; - ctrl->slot_num_inc = updown; /* Not needed */ /* either -1 or 1 */ + ctrl->ctrlcap = ctrlcap; - dbg("%s: bus(0x%x) num_slot(0x%x) 1st_dev(0x%x) psn(0x%x) updown(%d) for b:d (%x:%x)\n", - __FUNCTION__, ctrl->slot_bus, num_ctlr_slots, first_device_num, physical_slot_num, updown, + dbg("%s: bus(0x%x) num_slot(0x%x) 1st_dev(0x%x) psn(0x%x) ctrlcap(%x) for b:d (%x:%x)\n", + __FUNCTION__, ctrl->slot_bus, num_ctlr_slots, first_device_num, physical_slot_num, ctrlcap, ctrl->bus, ctrl->device); return (0); @@ -237,7 +236,9 @@ static int set_attention_status(struct hotplug_slot *hotplug_slot, u8 status) dbg("%s - physical_slot = %s\n", __FUNCTION__, hotplug_slot->name); hotplug_slot->info->attention_status = status; - slot->hpc_ops->set_attention_status(slot, status); + + if (ATTN_LED(slot->ctrl->ctrlcap)) + slot->hpc_ops->set_attention_status(slot, status); return 0; } @@ -451,7 +452,8 @@ static int pcie_probe(struct pci_dev *pdev, const struct pci_device_id *ent) t_slot->hpc_ops->get_adapter_status(t_slot, &value); /* Check if slot is occupied */ dbg("%s: adpater value %x\n", __FUNCTION__, value); - if (!value) { + + if ((POWER_CTRL(ctrl->ctrlcap)) && !value) { rc = t_slot->hpc_ops->power_off_slot(t_slot); /* Power off slot if not occupied*/ if (rc) { /* Done with exclusive hardware access */ diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c index 2015af915..1580155eb 100644 --- a/drivers/pci/hotplug/pciehp_ctrl.c +++ b/drivers/pci/hotplug/pciehp_ctrl.c @@ -38,6 +38,7 @@ #include #include #include +#include "../pci.h" #include "pciehp.h" #include "pciehprm.h" @@ -51,6 +52,7 @@ static struct semaphore event_semaphore; /* mutex for process loop (up if someth static struct semaphore event_exit; /* guard ensure thread has exited before calling it quits */ static int event_finished; static unsigned long pushbutton_pending; /* = 0 */ +static unsigned long surprise_rm_pending; /* = 0 */ u8 pciehp_handle_attention_button(u8 hp_slot, void *inst_id) { @@ -1063,25 +1065,29 @@ static void set_slot_off(struct controller *ctrl, struct slot * pslot) /* Wait for exclusive access to hardware */ down(&ctrl->crit_sect); - /* turn off slot, turn on Amber LED, turn off Green LED */ - if (pslot->hpc_ops->power_off_slot(pslot)) { - err("%s: Issue of Slot Power Off command failed\n", __FUNCTION__); - up(&ctrl->crit_sect); - return; + /* turn off slot, turn on Amber LED, turn off Green LED if supported*/ + if (POWER_CTRL(ctrl->ctrlcap)) { + if (pslot->hpc_ops->power_off_slot(pslot)) { + err("%s: Issue of Slot Power Off command failed\n", __FUNCTION__); + up(&ctrl->crit_sect); + return; + } + wait_for_ctrl_irq (ctrl); } - wait_for_ctrl_irq (ctrl); - pslot->hpc_ops->green_led_off(pslot); - - wait_for_ctrl_irq (ctrl); + if (PWR_LED(ctrl->ctrlcap)) { + pslot->hpc_ops->green_led_off(pslot); + wait_for_ctrl_irq (ctrl); + } - /* turn on Amber LED */ - if (pslot->hpc_ops->set_attention_status(pslot, 1)) { - err("%s: Issue of Set Attention Led command failed\n", __FUNCTION__); - up(&ctrl->crit_sect); - return; + if (ATTN_LED(ctrl->ctrlcap)) { + if (pslot->hpc_ops->set_attention_status(pslot, 1)) { + err("%s: Issue of Set Attention Led command failed\n", __FUNCTION__); + up(&ctrl->crit_sect); + return; + } + wait_for_ctrl_irq (ctrl); } - wait_for_ctrl_irq (ctrl); /* Done with exclusive hardware access */ up(&ctrl->crit_sect); @@ -1112,20 +1118,24 @@ static u32 board_added(struct pci_func * func, struct controller * ctrl) /* Wait for exclusive access to hardware */ down(&ctrl->crit_sect); - /* Power on slot */ - rc = p_slot->hpc_ops->power_on_slot(p_slot); - if (rc) { - up(&ctrl->crit_sect); - return -1; - } + if (POWER_CTRL(ctrl->ctrlcap)) { + /* Power on slot */ + rc = p_slot->hpc_ops->power_on_slot(p_slot); + if (rc) { + up(&ctrl->crit_sect); + return -1; + } - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } - p_slot->hpc_ops->green_led_blink(p_slot); + if (PWR_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->green_led_blink(p_slot); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } /* Done with exclusive hardware access */ up(&ctrl->crit_sect); @@ -1212,18 +1222,24 @@ static u32 board_added(struct pci_func * func, struct controller * ctrl) } } while (new_func); - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - p_slot->hpc_ops->green_led_on(p_slot); - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - + /* + * Some PCI Express root ports require fixup after hot-plug operation. + */ + if (pcie_mch_quirk) + pci_fixup_device(pci_fixup_final, ctrl->pci_dev); + + if (PWR_LED(ctrl->ctrlcap)) { + /* Wait for exclusive access to hardware */ + down(&ctrl->crit_sect); + + p_slot->hpc_ops->green_led_on(p_slot); + + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + + /* Done with exclusive hardware access */ + up(&ctrl->crit_sect); + } } else { set_slot_off(ctrl, p_slot); return -1; @@ -1289,21 +1305,25 @@ static u32 remove_board(struct pci_func *func, struct controller *ctrl) /* Wait for exclusive access to hardware */ down(&ctrl->crit_sect); - /* power off slot */ - rc = p_slot->hpc_ops->power_off_slot(p_slot); - if (rc) { - err("%s: Issue of Slot Disable command failed\n", __FUNCTION__); - up(&ctrl->crit_sect); - return rc; + if (POWER_CTRL(ctrl->ctrlcap)) { + /* power off slot */ + rc = p_slot->hpc_ops->power_off_slot(p_slot); + if (rc) { + err("%s: Issue of Slot Disable command failed\n", __FUNCTION__); + up(&ctrl->crit_sect); + return rc; + } + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); } - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - /* turn off Green LED */ - p_slot->hpc_ops->green_led_off(p_slot); + if (PWR_LED(ctrl->ctrlcap)) { + /* turn off Green LED */ + p_slot->hpc_ops->green_led_off(p_slot); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } /* Done with exclusive hardware access */ up(&ctrl->crit_sect); @@ -1368,7 +1388,6 @@ static void pushbutton_helper_thread(unsigned long data) up(&event_semaphore); } - /** * pciehp_pushbutton_thread * @@ -1399,7 +1418,55 @@ static void pciehp_pushbutton_thread(unsigned long slot) p_slot->state = POWERON_STATE; dbg("In add_board, b:d(%x:%x)\n", p_slot->bus, p_slot->device); - if (pciehp_enable_slot(p_slot)) { + if (pciehp_enable_slot(p_slot) && PWR_LED(p_slot->ctrl->ctrlcap)) { + /* Wait for exclusive access to hardware */ + down(&p_slot->ctrl->crit_sect); + + p_slot->hpc_ops->green_led_off(p_slot); + + /* Wait for the command to complete */ + wait_for_ctrl_irq (p_slot->ctrl); + + /* Done with exclusive hardware access */ + up(&p_slot->ctrl->crit_sect); + } + p_slot->state = STATIC_STATE; + } + + return; +} + +/** + * pciehp_surprise_rm_thread + * + * Scheduled procedure to handle blocking stuff for the surprise removal + * Handles all pending events and exits. + * + */ +static void pciehp_surprise_rm_thread(unsigned long slot) +{ + struct slot *p_slot = (struct slot *) slot; + u8 getstatus; + + surprise_rm_pending = 0; + + if (!p_slot) { + dbg("%s: Error! slot NULL\n", __FUNCTION__); + return; + } + + p_slot->hpc_ops->get_adapter_status(p_slot, &getstatus); + if (!getstatus) { + p_slot->state = POWEROFF_STATE; + dbg("In removing board, b:d(%x:%x)\n", p_slot->bus, p_slot->device); + + pciehp_disable_slot(p_slot); + p_slot->state = STATIC_STATE; + } else { + p_slot->state = POWERON_STATE; + dbg("In add_board, b:d(%x:%x)\n", p_slot->bus, p_slot->device); + + if (pciehp_enable_slot(p_slot) && PWR_LED(p_slot->ctrl->ctrlcap)) { /* Wait for exclusive access to hardware */ down(&p_slot->ctrl->crit_sect); @@ -1418,6 +1485,7 @@ static void pciehp_pushbutton_thread(unsigned long slot) } + /* this is the main worker thread */ static int event_thread(void* data) { @@ -1436,6 +1504,8 @@ static int event_thread(void* data) /* Do stuff here */ if (pushbutton_pending) pciehp_pushbutton_thread(pushbutton_pending); + else if (surprise_rm_pending) + pciehp_surprise_rm_thread(surprise_rm_pending); else for (ctrl = pciehp_ctrl_list; ctrl; ctrl=ctrl->next) interrupt_event_handler(ctrl); @@ -1528,16 +1598,18 @@ static void interrupt_event_handler(struct controller *ctrl) case BLINKINGOFF_STATE: /* Wait for exclusive access to hardware */ down(&ctrl->crit_sect); - - p_slot->hpc_ops->green_led_on(p_slot); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - p_slot->hpc_ops->set_attention_status(p_slot, 0); - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - + + if (PWR_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->green_led_on(p_slot); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } + if (ATTN_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->set_attention_status(p_slot, 0); + + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } /* Done with exclusive hardware access */ up(&ctrl->crit_sect); break; @@ -1545,14 +1617,16 @@ static void interrupt_event_handler(struct controller *ctrl) /* Wait for exclusive access to hardware */ down(&ctrl->crit_sect); - p_slot->hpc_ops->green_led_off(p_slot); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - p_slot->hpc_ops->set_attention_status(p_slot, 0); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - + if (PWR_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->green_led_off(p_slot); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } + if (ATTN_LED(ctrl->ctrlcap)){ + p_slot->hpc_ops->set_attention_status(p_slot, 0); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } /* Done with exclusive hardware access */ up(&ctrl->crit_sect); @@ -1566,59 +1640,83 @@ static void interrupt_event_handler(struct controller *ctrl) } /* ***********Button Pressed (No action on 1st press...) */ else if (ctrl->event_queue[loop].event_type == INT_BUTTON_PRESS) { - dbg("Button pressed\n"); - - p_slot->hpc_ops->get_power_status(p_slot, &getstatus); - if (getstatus) { - /* slot is on */ - dbg("slot is on\n"); - p_slot->state = BLINKINGOFF_STATE; - info(msg_button_off, p_slot->number); - } else { - /* slot is off */ - dbg("slot is off\n"); - p_slot->state = BLINKINGON_STATE; - info(msg_button_on, p_slot->number); - } + + if (ATTN_BUTTN(ctrl->ctrlcap)) { + dbg("Button pressed\n"); + p_slot->hpc_ops->get_power_status(p_slot, &getstatus); + if (getstatus) { + /* slot is on */ + dbg("slot is on\n"); + p_slot->state = BLINKINGOFF_STATE; + info(msg_button_off, p_slot->number); + } else { + /* slot is off */ + dbg("slot is off\n"); + p_slot->state = BLINKINGON_STATE; + info(msg_button_on, p_slot->number); + } + + /* Wait for exclusive access to hardware */ + down(&ctrl->crit_sect); - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); + /* blink green LED and turn off amber */ + if (PWR_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->green_led_blink(p_slot); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } - /* blink green LED and turn off amber */ - p_slot->hpc_ops->green_led_blink(p_slot); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - p_slot->hpc_ops->set_attention_status(p_slot, 0); + if (ATTN_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->set_attention_status(p_slot, 0); - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); + /* Wait for the command to complete */ + wait_for_ctrl_irq (ctrl); + } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); + /* Done with exclusive hardware access */ + up(&ctrl->crit_sect); - init_timer(&p_slot->task_event); - p_slot->task_event.expires = jiffies + 5 * HZ; /* 5 second delay */ - p_slot->task_event.function = (void (*)(unsigned long)) pushbutton_helper_thread; - p_slot->task_event.data = (unsigned long) p_slot; + init_timer(&p_slot->task_event); + p_slot->task_event.expires = jiffies + 5 * HZ; /* 5 second delay */ + p_slot->task_event.function = (void (*)(unsigned long)) pushbutton_helper_thread; + p_slot->task_event.data = (unsigned long) p_slot; - dbg("add_timer p_slot = %p\n", (void *) p_slot); - add_timer(&p_slot->task_event); + dbg("add_timer p_slot = %p\n", (void *) p_slot); + add_timer(&p_slot->task_event); + } } /***********POWER FAULT********************/ else if (ctrl->event_queue[loop].event_type == INT_POWER_FAULT) { - dbg("power fault\n"); - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); + if (POWER_CTRL(ctrl->ctrlcap)) { + dbg("power fault\n"); + /* Wait for exclusive access to hardware */ + down(&ctrl->crit_sect); - p_slot->hpc_ops->set_attention_status(p_slot, 1); - wait_for_ctrl_irq (ctrl); - - p_slot->hpc_ops->green_led_off(p_slot); - wait_for_ctrl_irq (ctrl); + if (ATTN_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->set_attention_status(p_slot, 1); + wait_for_ctrl_irq (ctrl); + } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); + if (PWR_LED(ctrl->ctrlcap)) { + p_slot->hpc_ops->green_led_off(p_slot); + wait_for_ctrl_irq (ctrl); + } + + /* Done with exclusive hardware access */ + up(&ctrl->crit_sect); + } + } + /***********SURPRISE REMOVAL********************/ + else if ((ctrl->event_queue[loop].event_type == INT_PRESENCE_ON) || + (ctrl->event_queue[loop].event_type == INT_PRESENCE_OFF)) { + if (HP_SUPR_RM(ctrl->ctrlcap)) { + dbg("Surprise Removal\n"); + if (p_slot) { + surprise_rm_pending = (unsigned long) p_slot; + up(&event_semaphore); + update_slot_info(p_slot); + } + } } else { /* refresh notification */ if (p_slot) @@ -1648,25 +1746,29 @@ int pciehp_enable_slot(struct slot *p_slot) /* Check to see if (latch closed, card present, power off) */ down(&p_slot->ctrl->crit_sect); + rc = p_slot->hpc_ops->get_adapter_status(p_slot, &getstatus); if (rc || !getstatus) { info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); up(&p_slot->ctrl->crit_sect); return 1; } - - rc = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); - if (rc || getstatus) { - info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); - up(&p_slot->ctrl->crit_sect); - return 1; + if (MRL_SENS(p_slot->ctrl->ctrlcap)) { + rc = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); + if (rc || getstatus) { + info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); + up(&p_slot->ctrl->crit_sect); + return 1; + } } - rc = p_slot->hpc_ops->get_power_status(p_slot, &getstatus); - if (rc || getstatus) { - info("%s: already enabled on slot(%x)\n", __FUNCTION__, p_slot->number); - up(&p_slot->ctrl->crit_sect); - return 1; + if (POWER_CTRL(p_slot->ctrl->ctrlcap)) { + rc = p_slot->hpc_ops->get_power_status(p_slot, &getstatus); + if (rc || getstatus) { + info("%s: already enabled on slot(%x)\n", __FUNCTION__, p_slot->number); + up(&p_slot->ctrl->crit_sect); + return 1; + } } up(&p_slot->ctrl->crit_sect); @@ -1735,26 +1837,33 @@ int pciehp_disable_slot(struct slot *p_slot) /* Check to see if (latch closed, card present, power on) */ down(&p_slot->ctrl->crit_sect); - ret = p_slot->hpc_ops->get_adapter_status(p_slot, &getstatus); - if (ret || !getstatus) { - info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); - up(&p_slot->ctrl->crit_sect); - return 1; + if (!HP_SUPR_RM(p_slot->ctrl->ctrlcap)) { + ret = p_slot->hpc_ops->get_adapter_status(p_slot, &getstatus); + if (ret || !getstatus) { + info("%s: no adapter on slot(%x)\n", __FUNCTION__, p_slot->number); + up(&p_slot->ctrl->crit_sect); + return 1; + } } - ret = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); - if (ret || getstatus) { - info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); - up(&p_slot->ctrl->crit_sect); - return 1; + if (MRL_SENS(p_slot->ctrl->ctrlcap)) { + ret = p_slot->hpc_ops->get_latch_status(p_slot, &getstatus); + if (ret || getstatus) { + info("%s: latch open on slot(%x)\n", __FUNCTION__, p_slot->number); + up(&p_slot->ctrl->crit_sect); + return 1; + } } - ret = p_slot->hpc_ops->get_power_status(p_slot, &getstatus); - if (ret || !getstatus) { - info("%s: already disabled slot(%x)\n", __FUNCTION__, p_slot->number); - up(&p_slot->ctrl->crit_sect); - return 1; + if (POWER_CTRL(p_slot->ctrl->ctrlcap)) { + ret = p_slot->hpc_ops->get_power_status(p_slot, &getstatus); + if (ret || !getstatus) { + info("%s: already disabled slot(%x)\n", __FUNCTION__, p_slot->number); + up(&p_slot->ctrl->crit_sect); + return 1; + } } + up(&p_slot->ctrl->crit_sect); func = pciehp_slot_find(p_slot->bus, p_slot->device, index++); diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c index cb0804b2d..10d488cb6 100644 --- a/drivers/pci/hotplug/pciehp_hpc.c +++ b/drivers/pci/hotplug/pciehp_hpc.c @@ -182,7 +182,7 @@ static int pcie_cap_base = 0; /* Base of the PCI Express capability item struct #define MRL_SENS_PRSN 0x00000004 #define ATTN_LED_PRSN 0x00000008 #define PWR_LED_PRSN 0x00000010 -#define HP_SUPR_RM 0x00000020 +#define HP_SUPR_RM_SUP 0x00000020 #define HP_CAP 0x00000040 #define SLOT_PWR_VALUE 0x000003F8 #define SLOT_PWR_LIMIT 0x00000C00 @@ -237,8 +237,8 @@ struct php_ctlr_state_s { static spinlock_t hpc_event_lock; DEFINE_DBG_BUFFER /* Debug string buffer for entire HPC defined here */ -static struct php_ctlr_state_s *php_ctlr_list_head; /* HPC state linked list */ -static int ctlr_seq_num; /* Controller sequence # */ +static struct php_ctlr_state_s *php_ctlr_list_head = 0; /* HPC state linked list */ +static int ctlr_seq_num = 0; /* Controller sequence # */ static spinlock_t list_lock; static irqreturn_t pcie_isr(int IRQ, void *dev_id, struct pt_regs *regs); @@ -691,8 +691,7 @@ int pcie_get_ctlr_slot_config(struct controller *ctrl, int *num_ctlr_slots, /* number of slots in this HPC; only 1 in PCIE */ int *first_device_num, /* PCI dev num of the first slot in this PCIE */ int *physical_slot_num, /* phy slot num of the first slot in this PCIE */ - int *updown, /* physical_slot_num increament: 1 or -1 */ - int *flags) + u8 *ctrlcap) { struct php_ctlr_state_s *php_ctlr = ctrl->hpc_ctlr_handle; u32 slot_cap; @@ -716,8 +715,9 @@ int pcie_get_ctlr_slot_config(struct controller *ctrl, } *physical_slot_num = slot_cap >> 19; - - *updown = -1; + dbg("%s: PSN %d \n", __FUNCTION__, *physical_slot_num); + + *ctrlcap = slot_cap & 0x0000007f; DBG_LEAVE_ROUTINE return 0; @@ -741,6 +741,8 @@ static void hpc_release_ctlr(struct controller *ctrl) if (php_ctlr->irq) { free_irq(php_ctlr->irq, ctrl); php_ctlr->irq = 0; + if (!pcie_mch_quirk) + pci_disable_msi(php_ctlr->pci_dev); } } if (php_ctlr->pci_dev) @@ -1017,7 +1019,7 @@ static irqreturn_t pcie_isr(int IRQ, void *dev_id, struct pt_regs *regs) return IRQ_HANDLED; } -static int hpc_get_max_lnk_speed (struct slot *slot, enum pcie_link_speed *value) +static int hpc_get_max_lnk_speed (struct slot *slot, enum pci_bus_speed *value) { struct php_ctlr_state_s *php_ctlr = slot->ctrl->hpc_ctlr_handle; enum pcie_link_speed lnk_speed; @@ -1120,7 +1122,7 @@ static int hpc_get_max_lnk_width (struct slot *slot, enum pcie_link_width *value return retval; } -static int hpc_get_cur_lnk_speed (struct slot *slot, enum pcie_link_speed *value) +static int hpc_get_cur_lnk_speed (struct slot *slot, enum pci_bus_speed *value) { struct php_ctlr_state_s *php_ctlr = slot->ctrl->hpc_ctlr_handle; enum pcie_link_speed lnk_speed = PCI_SPEED_UNKNOWN; @@ -1259,7 +1261,7 @@ int pcie_init(struct controller * ctrl, static int first = 1; u16 temp_word; u16 cap_reg; - u16 intr_enable; + u16 intr_enable = 0; u32 slot_cap; int cap_base, saved_cap_base; u16 slot_status, slot_ctrl; @@ -1402,8 +1404,8 @@ int pcie_init(struct controller * ctrl, start_int_poll_timer( php_ctlr, 10 ); /* start with 10 second delay */ } else { /* Installs the interrupt handler */ - dbg("%s: pciehp_msi_quirk = %x\n", __FUNCTION__, pciehp_msi_quirk); - if (!pciehp_msi_quirk) { + dbg("%s: pcie_mch_quirk = %x\n", __FUNCTION__, pcie_mch_quirk); + if (!pcie_mch_quirk) { rc = pci_enable_msi(pdev); if (rc) { info("Can't get msi for the hotplug controller\n"); @@ -1412,6 +1414,7 @@ int pcie_init(struct controller * ctrl, } else php_ctlr->irq = pdev->irq; } + rc = request_irq(php_ctlr->irq, pcie_isr, SA_SHIRQ, MY_NAME, (void *) ctrl); dbg("%s: request_irq %d for hpc%d (returns %d)\n", __FUNCTION__, php_ctlr->irq, ctlr_seq_num, rc); if (rc) { @@ -1426,9 +1429,18 @@ int pcie_init(struct controller * ctrl, goto abort_free_ctlr; } dbg("%s: SLOT_CTRL %x value read %x\n", __FUNCTION__, SLOT_CTRL, temp_word); + dbg("%s: slot_cap %x\n", __FUNCTION__, slot_cap); - intr_enable = ATTN_BUTTN_ENABLE | PWR_FAULT_DETECT_ENABLE | MRL_DETECT_ENABLE | - PRSN_DETECT_ENABLE; + intr_enable = intr_enable | PRSN_DETECT_ENABLE; + + if (ATTN_BUTTN(slot_cap)) + intr_enable = intr_enable | ATTN_BUTTN_ENABLE; + + if (POWER_CTRL(slot_cap)) + intr_enable = intr_enable | PWR_FAULT_DETECT_ENABLE; + + if (MRL_SENS(slot_cap)) + intr_enable = intr_enable | MRL_DETECT_ENABLE; temp_word = (temp_word & ~intr_enable) | intr_enable; diff --git a/drivers/pci/hotplug/pciehp_pci.c b/drivers/pci/hotplug/pciehp_pci.c index 8aa17540f..723b12c0b 100644 --- a/drivers/pci/hotplug/pciehp_pci.c +++ b/drivers/pci/hotplug/pciehp_pci.c @@ -82,9 +82,11 @@ int pciehp_unconfigure_device(struct pci_func* func) { int rc = 0; int j; + struct pci_bus *pbus; dbg("%s: bus/dev/func = %x/%x/%x\n", __FUNCTION__, func->bus, func->device, func->function); + pbus = func->pci_dev->bus; for (j=0; j<8 ; j++) { struct pci_dev* temp = pci_find_slot(func->bus, @@ -93,6 +95,12 @@ int pciehp_unconfigure_device(struct pci_func* func) pci_remove_bus_device(temp); } } + /* + * Some PCI Express root ports require fixup after hot-plug operation. + */ + if (pcie_mch_quirk) + pci_fixup_device(pci_fixup_final, pbus->self); + return rc; } diff --git a/drivers/pci/hotplug/pciehprm_acpi.c b/drivers/pci/hotplug/pciehprm_acpi.c index b127575ec..0728ab1ad 100644 --- a/drivers/pci/hotplug/pciehprm_acpi.c +++ b/drivers/pci/hotplug/pciehprm_acpi.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #ifdef CONFIG_IA64 @@ -126,6 +127,10 @@ static u8 * acpi_path_name( acpi_handle handle) static void acpi_get__hpp ( struct acpi_bridge *ab); static void acpi_run_oshp ( struct acpi_bridge *ab); +static int osc_exist = 0; +static int oshp_exist = 0; +static int run__osc_success = 0; +static int run_oshp_success = 0; static int acpi_add_slot_to_php_slots( struct acpi_bridge *ab, @@ -158,8 +163,9 @@ static int acpi_add_slot_to_php_slots( ab->scanned += 1; if (!ab->_hpp) acpi_get__hpp(ab); - - acpi_run_oshp(ab); + + if (!osc_exist) + acpi_run_oshp(ab); if (sun != samesun) { info("acpi_pciehprm: Slot sun(%x) at s:b:d:f=0x%02x:%02x:%02x:%02x\n", @@ -248,8 +254,12 @@ static void acpi_run_oshp ( struct acpi_bridge *ab) status = acpi_evaluate_object(ab->handle, METHOD_NAME_OSHP, NULL, &ret_buf); if (ACPI_FAILURE(status)) { err("acpi_pciehprm:%s OSHP fails=0x%x\n", path_name, status); - } else + oshp_exist = (status == 0x5) ? 0 : 1; + } else { + oshp_exist = 1; + run_oshp_success = 1; dbg("acpi_pciehprm:%s OSHP passes =0x%x\n", path_name, status); + } return; } @@ -1056,6 +1066,16 @@ static struct acpi_bridge * add_host_bridge( kfree(ab); return NULL; } + status = pci_osc_control_set (OSC_PCI_EXPRESS_NATIVE_HP_CONTROL); + if (ACPI_FAILURE(status)) { + dbg("%s: status %x\n", __FUNCTION__, status); + } else { + run__osc_success = 1; + osc_exist = 1; + } + dbg("%s: status %x run__osc_success %x osc_exist %x \n", + __FUNCTION__, status, run__osc_success, osc_exist); + build_a_bridge(ab, ab); return ab; @@ -1141,6 +1161,23 @@ int pciehprm_init(enum php_ctlr_type ctlr_type) if (rc) return rc; + if (!osc_exist) { + if (!oshp_exist) { + err("Both _OSC and OSHP methods do not exist\n"); + rc = -ENODEV; + } else if (!run_oshp_success) { + err("Fails to run OSHP to gain control of native hot-plug\n"); + rc = -ENODEV; + } + } else if (!run__osc_success) { + err("Fails to run _OSC to gain control of native hot-plug\n"); + rc = -ENODEV; + } + dbg("%s: run__osc_success %x osc_exist %x\n", __FUNCTION__, + run__osc_success, osc_exist); + dbg("%s: run_oshp_success %x oshp_exist %x", __FUNCTION__, + run_oshp_success, oshp_exist); + dbg("pciehprm ACPI init %s\n", (rc)?"fail":"success"); return rc; } diff --git a/drivers/pci/hotplug/pcihp_skeleton.c b/drivers/pci/hotplug/pcihp_skeleton.c index f413495a2..6605d6bda 100644 --- a/drivers/pci/hotplug/pcihp_skeleton.c +++ b/drivers/pci/hotplug/pcihp_skeleton.c @@ -70,7 +70,7 @@ static int num_slots; MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -module_param(debug, bool, 644); +module_param(debug, bool, 0644); MODULE_PARM_DESC(debug, "Debugging mode enabled or not"); static int enable_slot (struct hotplug_slot *slot); diff --git a/drivers/pci/hotplug/rpadlpar_core.c b/drivers/pci/hotplug/rpadlpar_core.c index ed4b23c3c..8de2f8a2d 100644 --- a/drivers/pci/hotplug/rpadlpar_core.c +++ b/drivers/pci/hotplug/rpadlpar_core.c @@ -25,6 +25,10 @@ static DECLARE_MUTEX(rpadlpar_sem); +#define NODE_TYPE_VIO 1 +#define NODE_TYPE_SLOT 2 +#define NODE_TYPE_PHB 3 + static struct device_node *find_php_slot_vio_node(char *drc_name) { struct device_node *child; @@ -44,21 +48,50 @@ static struct device_node *find_php_slot_vio_node(char *drc_name) return NULL; } -static struct device_node *find_php_slot_pci_node(char *drc_name) +/* Find dlpar-capable pci node that contains the specified name and type */ +static struct device_node *find_php_slot_pci_node(char *drc_name, + char *drc_type) { struct device_node *np = NULL; char *name; + char *type; + int rc; - while ((np = of_find_node_by_type(np, "pci"))) - if (is_hotplug_capable(np)) { - name = rpaphp_get_drc_name(np); - if (name && (!strcmp(drc_name, name))) + while ((np = of_find_node_by_type(np, "pci"))) { + rc = rpaphp_get_drc_props(np, NULL, &name, &type, NULL); + if (rc == 0) + if (!strcmp(drc_name, name) && !strcmp(drc_type, type)) break; - } + } return np; } +static struct device_node *find_newly_added_node(char *drc_name, int *node_type) +{ + struct device_node *dn; + + dn = find_php_slot_pci_node(drc_name, "SLOT"); + if (dn) { + *node_type = NODE_TYPE_SLOT; + return dn; + } + + dn = find_php_slot_pci_node(drc_name, "PHB"); + if (dn) { + *node_type = NODE_TYPE_PHB; + return dn; + } + + dn = find_php_slot_vio_node(drc_name); + if (dn) { + *node_type = NODE_TYPE_VIO; + return dn; + } + + return NULL; +} + static struct slot *find_slot(char *drc_name) { struct list_head *tmp, *n; @@ -125,12 +158,8 @@ static int pci_add_secondary_bus(struct device_node *dn, dn->bussubno = child->number; - /* ioremap() for child bus */ - if (remap_bus_range(child)) { - printk(KERN_ERR "%s: could not ioremap() child bus\n", - __FUNCTION__); - return 1; - } + /* ioremap() for child bus, which may or may not succeed */ + (void) remap_bus_range(child); return 0; } @@ -205,6 +234,71 @@ static inline int dlpar_add_pci_slot(char *drc_name, struct device_node *dn) return 0; } +static int dlpar_remove_root_bus(struct pci_controller *phb) +{ + struct pci_bus *phb_bus; + int rc; + + phb_bus = phb->bus; + if (!(list_empty(&phb_bus->children) && + list_empty(&phb_bus->devices))) { + return -EBUSY; + } + + rc = pcibios_remove_root_bus(phb); + if (rc) + return -EIO; + + device_unregister(phb_bus->bridge); + pci_remove_bus(phb_bus); + + return 0; +} + +static int dlpar_remove_phb(struct slot *slot) +{ + struct pci_controller *phb; + struct device_node *dn; + int rc = 0; + + dn = slot->dn; + if (!dn) { + printk(KERN_ERR "%s: unexpected NULL slot device node\n", + __FUNCTION__); + return -EIO; + } + + phb = dn->phb; + if (!phb) { + printk(KERN_ERR "%s: unexpected NULL phb pointer\n", + __FUNCTION__); + return -EIO; + } + + if (rpaphp_remove_slot(slot)) { + printk(KERN_ERR "%s: unable to remove hotplug slot %s\n", + __FUNCTION__, slot->location); + return -EIO; + } + + rc = dlpar_remove_root_bus(phb); + if (rc) + return rc; + + return 0; +} + +static int dlpar_add_phb(struct device_node *dn) +{ + struct pci_controller *phb; + + phb = init_phb_dynamic(dn); + if (!phb) + return 1; + + return 0; +} + /** * dlpar_add_slot - DLPAR add an I/O Slot * @drc_name: drc-name of newly added slot @@ -220,7 +314,8 @@ static inline int dlpar_add_pci_slot(char *drc_name, struct device_node *dn) */ int dlpar_add_slot(char *drc_name) { - struct device_node *dn; + struct device_node *dn = NULL; + int node_type; int rc = 0; if (down_interruptible(&rpadlpar_sem)) @@ -232,18 +327,27 @@ int dlpar_add_slot(char *drc_name) goto exit; } - dn = find_php_slot_vio_node(drc_name); + dn = find_newly_added_node(drc_name, &node_type); if (!dn) { - dn = find_php_slot_pci_node(drc_name); - if (dn) + rc = -ENODEV; + goto exit; + } + + switch (node_type) { + case NODE_TYPE_VIO: + /* Just add hotplug slot */ + break; + case NODE_TYPE_SLOT: rc = dlpar_add_pci_slot(drc_name, dn); - else { - rc = -ENODEV; - goto exit; - } + break; + case NODE_TYPE_PHB: + rc = dlpar_add_phb(dn); + break; + default: + printk("%s: unexpected node type\n", __FUNCTION__); + return -EIO; } - /* Add hotplug slot for new VIOA or PCI */ if (!rc && rpaphp_add_slot(dn)) { printk(KERN_ERR "%s: unable to add hotplug slot %s\n", __FUNCTION__, drc_name); @@ -337,7 +441,8 @@ int dlpar_remove_slot(char *drc_name) return -ERESTARTSYS; if (!find_php_slot_vio_node(drc_name) && - !find_php_slot_pci_node(drc_name)) { + !find_php_slot_pci_node(drc_name, "SLOT") && + !find_php_slot_pci_node(drc_name, "PHB")) { rc = -ENODEV; goto exit; } @@ -348,17 +453,18 @@ int dlpar_remove_slot(char *drc_name) goto exit; } - switch (slot->dev_type) { - case PCI_DEV: - rc = dlpar_remove_pci_slot(slot, drc_name); - break; - - case VIO_DEV: - rc = dlpar_remove_vio_slot(slot, drc_name); - break; + if (slot->type == PHB) { + rc = dlpar_remove_phb(slot); + } else { + switch (slot->dev_type) { + case PCI_DEV: + rc = dlpar_remove_pci_slot(slot, drc_name); + break; - default: - rc = -EIO; + case VIO_DEV: + rc = dlpar_remove_vio_slot(slot, drc_name); + break; + } } exit: up(&rpadlpar_sem); diff --git a/drivers/pci/hotplug/rpaphp.h b/drivers/pci/hotplug/rpaphp.h index e155c4c97..1a2a018bf 100644 --- a/drivers/pci/hotplug/rpaphp.h +++ b/drivers/pci/hotplug/rpaphp.h @@ -30,6 +30,7 @@ #include #include "pci_hotplug.h" +#define PHB 2 #define HOTPLUG 1 #define EMBEDDED 0 @@ -129,7 +130,8 @@ extern struct hotplug_slot *rpaphp_find_hotplug_slot(struct pci_dev *dev); /* rpaphp_core.c */ extern int rpaphp_add_slot(struct device_node *dn); extern int rpaphp_remove_slot(struct slot *slot); -extern char *rpaphp_get_drc_name(struct device_node *dn); +extern int rpaphp_get_drc_props(struct device_node *dn, int *drc_index, + char **drc_name, char **drc_type, int *drc_power_domain); /* rpaphp_vio.c */ extern int rpaphp_get_vio_adapter_status(struct slot *slot, int is_init, u8 * value); diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c index dd6dcdc73..8830f66cc 100644 --- a/drivers/pci/hotplug/rpaphp_core.c +++ b/drivers/pci/hotplug/rpaphp_core.c @@ -54,8 +54,6 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -void eeh_register_disable_func(int (*)(struct pci_dev *)); - module_param(debug, bool, 0644); static int enable_slot(struct hotplug_slot *slot); @@ -65,7 +63,6 @@ static int get_power_status(struct hotplug_slot *slot, u8 * value); static int get_attention_status(struct hotplug_slot *slot, u8 * value); static int get_adapter_status(struct hotplug_slot *slot, u8 * value); static int get_max_bus_speed(struct hotplug_slot *hotplug_slot, enum pci_bus_speed *value); -static int rpaphp_disable_slot(struct pci_dev *dev); struct hotplug_slot_ops rpaphp_hotplug_slot_ops = { .owner = THIS_MODULE, @@ -214,32 +211,91 @@ int rpaphp_remove_slot(struct slot *slot) return deregister_slot(slot); } -static int get_dn_properties(struct device_node *dn, int **indexes, int **names, - int **types, int **power_domains) +static int get_children_props(struct device_node *dn, int **drc_indexes, + int **drc_names, int **drc_types, int **drc_power_domains) +{ + int *indexes, *names; + int *types, *domains; + + indexes = (int *) get_property(dn, "ibm,drc-indexes", NULL); + names = (int *) get_property(dn, "ibm,drc-names", NULL); + types = (int *) get_property(dn, "ibm,drc-types", NULL); + domains = (int *) get_property(dn, "ibm,drc-power-domains", NULL); + + if (!indexes || !names || !types || !domains) { + /* Slot does not have dynamically-removable children */ + return 1; + } + if (drc_indexes) + *drc_indexes = indexes; + if (drc_names) + /* &drc_names[1] contains NULL terminated slot names */ + *drc_names = names; + if (drc_types) + /* &drc_types[1] contains NULL terminated slot types */ + *drc_types = types; + if (drc_power_domains) + *drc_power_domains = domains; + + return 0; +} + +/* To get the DRC props describing the current node, first obtain it's + * my-drc-index property. Next obtain the DRC list from it's parent. Use + * the my-drc-index for correlation, and obtain the requested properties. + */ +int rpaphp_get_drc_props(struct device_node *dn, int *drc_index, + char **drc_name, char **drc_type, int *drc_power_domain) { - *indexes = (int *) get_property(dn, "ibm,drc-indexes", NULL); + int *indexes, *names; + int *types, *domains; + unsigned int *my_index; + char *name_tmp, *type_tmp; + int i, rc; + + my_index = (int *) get_property(dn, "ibm,my-drc-index", NULL); + if (!my_index) { + /* Node isn't DLPAR/hotplug capable */ + return 1; + } - /* &names[1] contains NULL terminated slot names */ - *names = (int *) get_property(dn, "ibm,drc-names", NULL); + rc = get_children_props(dn->parent, &indexes, &names, &types, &domains); + if (rc) { + return 1; + } - /* &types[1] contains NULL terminated slot types */ - *types = (int *) get_property(dn, "ibm,drc-types", NULL); + name_tmp = (char *) &names[1]; + type_tmp = (char *) &types[1]; + + /* Iterate through parent properties, looking for my-drc-index */ + for (i = 0; i < indexes[0]; i++) { + if ((unsigned int) indexes[i + 1] == *my_index) { + if (drc_name) + *drc_name = name_tmp; + if (drc_type) + *drc_type = type_tmp; + if (drc_index) + *drc_index = *my_index; + if (drc_power_domain) + *drc_power_domain = domains[i+1]; + return 0; + } + name_tmp += (strlen(name_tmp) + 1); + type_tmp += (strlen(type_tmp) + 1); + } - /* power_domains[1...n] are the slot power domains */ - *power_domains = (int *) get_property(dn, "ibm,drc-power-domains", NULL); - - if (*indexes && *names && *types && *power_domains) - return (1); - - return (0); + return 1; } static int is_php_dn(struct device_node *dn, int **indexes, int **names, int **types, int **power_domains) { + int rc; + if (!is_hotplug_capable(dn)) return (0); - if (!get_dn_properties(dn, indexes, names, types, power_domains)) + rc = get_children_props(dn, indexes, names, types, power_domains); + if (rc) return (0); return (1); } @@ -247,8 +303,7 @@ static int is_php_dn(struct device_node *dn, int **indexes, int **names, int **t static int is_dr_dn(struct device_node *dn, int **indexes, int **names, int **types, int **power_domains, int **my_drc_index) { - if (!is_hotplug_capable(dn)) - return (0); + int rc; *my_drc_index = (int *) get_property(dn, "ibm,my-drc-index", NULL); if(!*my_drc_index) @@ -257,7 +312,9 @@ static int is_dr_dn(struct device_node *dn, int **indexes, int **names, int **ty if (!dn->parent) return (0); - return get_dn_properties(dn->parent, indexes, names, types, power_domains); + rc = get_children_props(dn->parent, indexes, names, types, + power_domains); + return (rc == 0); } static inline int is_vdevice_root(struct device_node *dn) @@ -265,34 +322,10 @@ static inline int is_vdevice_root(struct device_node *dn) return !strcmp(dn->name, "vdevice"); } -char *rpaphp_get_drc_name(struct device_node *dn) +int is_dlpar_type(const char *type_str) { - char *name, *ptr = NULL; - int *drc_names, *drc_indexes, i; - struct device_node *parent = dn->parent; - u32 *my_drc_index; - - if (!parent) - return NULL; - - my_drc_index = (u32 *) get_property(dn, "ibm,my-drc-index", NULL); - if (!my_drc_index) - return NULL; - - drc_names = (int *) get_property(parent, "ibm,drc-names", NULL); - drc_indexes = (int *) get_property(parent, "ibm,drc-indexes", NULL); - if (!drc_names || !drc_indexes) - return NULL; - - name = (char *) &drc_names[1]; - for (i = 0; i < drc_indexes[0]; i++, name += (strlen(name) + 1)) { - if (drc_indexes[i + 1] == *my_drc_index) { - ptr = (char *) name; - break; - } - } - - return ptr; + /* Only register DLPAR-capable nodes of drc-type PHB or SLOT */ + return (!strcmp(type_str, "PHB") || !strcmp(type_str, "SLOT")); } /**************************************************************** @@ -331,15 +364,18 @@ int rpaphp_add_slot(struct device_node *dn) for (i = 0; i < indexes[0]; i++, name += (strlen(name) + 1), type += (strlen(type) + 1)) { - if ( slot_type == HOTPLUG || - (slot_type == EMBEDDED && indexes[i + 1] == my_drc_index[0])) { - + if (slot_type == HOTPLUG || + (slot_type == EMBEDDED && + indexes[i + 1] == my_drc_index[0] && + is_dlpar_type(type))) { if (!(slot = alloc_slot_struct(dn, indexes[i + 1], name, power_domains[i + 1]))) { retval = -ENOMEM; goto exit; } - if (slot_type == EMBEDDED) + if (!strcmp(type, "PHB")) + slot->type = PHB; + else if (slot_type == EMBEDDED) slot->type = EMBEDDED; else slot->type = simple_strtoul(type, NULL, 10); @@ -407,18 +443,12 @@ static int __init rpaphp_init(void) { info(DRIVER_DESC " version: " DRIVER_VERSION "\n"); - /* let EEH know they can use hotplug */ - eeh_register_disable_func(&rpaphp_disable_slot); - /* read all the PRA info from the system */ return init_rpa(); } static void __exit rpaphp_exit(void) { - /* let EEH know we are going away */ - eeh_register_disable_func(NULL); - cleanup_slots(); } @@ -450,14 +480,9 @@ exit: return retval; } -static int rpaphp_disable_slot(struct pci_dev *dev) -{ - return disable_slot(rpaphp_find_hotplug_slot(dev)); -} - static int disable_slot(struct hotplug_slot *hotplug_slot) { - int retval; + int retval = -EINVAL; struct slot *slot = (struct slot *)hotplug_slot->private; dbg("%s - Entry: slot[%s]\n", __FUNCTION__, slot->name); @@ -491,4 +516,4 @@ module_exit(rpaphp_exit); EXPORT_SYMBOL_GPL(rpaphp_add_slot); EXPORT_SYMBOL_GPL(rpaphp_remove_slot); EXPORT_SYMBOL_GPL(rpaphp_slot_head); -EXPORT_SYMBOL_GPL(rpaphp_get_drc_name); +EXPORT_SYMBOL_GPL(rpaphp_get_drc_props); diff --git a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c index 0dd2d2369..c80d2fd1a 100644 --- a/drivers/pci/hotplug/rpaphp_pci.c +++ b/drivers/pci/hotplug/rpaphp_pci.c @@ -117,33 +117,40 @@ static int rpaphp_get_sensor_state(struct slot *slot, int *state) int rpaphp_get_pci_adapter_status(struct slot *slot, int is_init, u8 * value) { int state, rc; - *value = NOT_VALID; + struct device_node *child_dn; + struct pci_dev *child_dev; + *value = NOT_VALID; rc = rpaphp_get_sensor_state(slot, &state); if (rc) goto exit; - if (state == PRESENT) { + + if ((state == EMPTY) || (slot->type == PHB)) { + dbg("slot is empty\n"); + *value = EMPTY; + } + else if (state == PRESENT) { if (!is_init) /* at run-time slot->state can be changed by */ /* config/unconfig adapter */ *value = slot->state; else { - if (!slot->dn->child) + child_dn = slot->dn->child; + if (child_dn) + child_dev = rpaphp_find_pci_dev(child_dn); + + if (child_dev) + *value = CONFIGURED; + else if (!child_dn) dbg("%s: %s is not valid OFDT node\n", __FUNCTION__, slot->dn->full_name); - else if (rpaphp_find_pci_dev(slot->dn->child)) - *value = CONFIGURED; else { err("%s: can't find pdev of adapter in slot[%s]\n", __FUNCTION__, slot->dn->full_name); *value = NOT_CONFIGURED; } } - } else if (state == EMPTY) { - dbg("slot is empty\n"); - *value = state; } - exit: return rc; } @@ -186,7 +193,7 @@ static struct pci_dev * rpaphp_pci_config_slot(struct device_node *dn, struct pci_bus *bus) { struct device_node *eads_first_child = dn->child; - struct pci_dev *dev; + struct pci_dev *dev = NULL; int num; dbg("Enter %s: dn=%s bus=%s\n", __FUNCTION__, dn->full_name, bus->name); @@ -341,7 +348,6 @@ exit: return rc; } - static void rpaphp_eeh_remove_bus_device(struct pci_dev *dev) { eeh_remove_device(dev); @@ -363,7 +369,7 @@ static void rpaphp_eeh_remove_bus_device(struct pci_dev *dev) int rpaphp_unconfig_pci_adapter(struct slot *slot) { int retval = 0; - struct list_head *ln; + struct list_head *ln, *tmp; dbg("Entry %s: slot[%s]\n", __FUNCTION__, slot->name); if (list_empty(&slot->dev.pci_funcs)) { @@ -374,7 +380,7 @@ int rpaphp_unconfig_pci_adapter(struct slot *slot) goto exit; } /* remove the devices from the pci core */ - list_for_each (ln, &slot->dev.pci_funcs) { + list_for_each_safe (ln, tmp, &slot->dev.pci_funcs) { struct rpaphp_pci_func *func; func = list_entry(ln, struct rpaphp_pci_func, sibling); @@ -409,15 +415,52 @@ static int setup_pci_hotplug_slot_info(struct slot *slot) return 0; } +static int set_phb_slot_name(struct slot *slot) +{ + struct device_node *dn; + struct pci_controller *phb; + struct pci_bus *bus; + + dn = slot->dn; + if (!dn) { + return 1; + } + phb = dn->phb; + if (!phb) { + return 1; + } + bus = phb->bus; + if (!bus) { + return 1; + } + + sprintf(slot->name, "%04x:%02x:%02x.%x", pci_domain_nr(bus), + bus->number, 0, 0); + return 0; +} + static int setup_pci_slot(struct slot *slot) { - slot->bridge = rpaphp_find_bridge_pdev(slot); - if (!slot->bridge) { /* slot being added doesn't have pci_dev yet */ - err("%s: no pci_dev for bridge dn %s\n", __FUNCTION__, slot->name); - goto exit_rc; + int rc; + + if (slot->type == PHB) { + rc = set_phb_slot_name(slot); + if (rc) { + err("%s: failed to set phb slot name\n", __FUNCTION__); + goto exit_rc; + } + } else { + slot->bridge = rpaphp_find_bridge_pdev(slot); + if (!slot->bridge) { + /* slot being added doesn't have pci_dev yet */ + err("%s: no pci_dev for bridge dn %s\n", + __FUNCTION__, slot->name); + goto exit_rc; + } + dbg("%s set slot->name to %s\n", __FUNCTION__, + pci_name(slot->bridge)); + strcpy(slot->name, pci_name(slot->bridge)); } - dbg("%s set slot->name to %s\n", __FUNCTION__, pci_name(slot->bridge)); - strcpy(slot->name, pci_name(slot->bridge)); /* find slot's pci_dev if it's not empty */ if (slot->hotplug_slot->info->adapter_status == EMPTY) { @@ -430,10 +473,26 @@ static int setup_pci_slot(struct slot *slot) __FUNCTION__, slot->name); goto exit_rc; } - if (init_slot_pci_funcs(slot)) { - err("%s: init_slot_pci_funcs failed\n", __FUNCTION__); + + if (slot->hotplug_slot->info->adapter_status == NOT_CONFIGURED) { + dbg("%s CONFIGURING pci adapter in slot[%s]\n", + __FUNCTION__, slot->name); + if (rpaphp_config_pci_adapter(slot)) { + err("%s: CONFIG pci adapter failed\n", __FUNCTION__); + goto exit_rc; + } + } else if (slot->hotplug_slot->info->adapter_status == CONFIGURED) { + if (init_slot_pci_funcs(slot)) { + err("%s: init_slot_pci_funcs failed\n", __FUNCTION__); + goto exit_rc; + } + + } else { + err("%s: slot[%s]'s adapter_status is NOT_VALID.\n", + __FUNCTION__, slot->name); goto exit_rc; } + print_slot_pci_funcs(slot); if (!list_empty(&slot->dev.pci_funcs)) { slot->state = CONFIGURED; @@ -455,10 +514,10 @@ int register_pci_slot(struct slot *slot) int rc = 1; slot->dev_type = PCI_DEV; - if (slot->type == EMBEDDED) - slot->removable = EMBEDDED; + if ((slot->type == EMBEDDED) || (slot->type == PHB)) + slot->removable = 0; else - slot->removable = HOTPLUG; + slot->removable = 1; INIT_LIST_HEAD(&slot->dev.pci_funcs); if (setup_pci_hotplug_slot_info(slot)) goto exit_rc; diff --git a/drivers/pci/hotplug/rpaphp_slot.c b/drivers/pci/hotplug/rpaphp_slot.c index c58541add..2bbd87ef4 100644 --- a/drivers/pci/hotplug/rpaphp_slot.c +++ b/drivers/pci/hotplug/rpaphp_slot.c @@ -244,18 +244,21 @@ int register_slot(struct slot *slot) int rpaphp_get_power_status(struct slot *slot, u8 * value) { - int rc = 0; + int rc = 0, level; - if (slot->type == EMBEDDED) { - dbg("%s set to POWER_ON for EMBEDDED slot %s\n", - __FUNCTION__, slot->location); - *value = POWER_ON; - } - else { - rc = rtas_get_power_level(slot->power_domain, (int *) value); - if (rc) + if (slot->type == HOTPLUG) { + rc = rtas_get_power_level(slot->power_domain, &level); + if (!rc) { + dbg("%s the power level of slot %s(pwd-domain:0x%x) is %d\n", + __FUNCTION__, slot->name, slot->power_domain, level); + *value = level; + } else err("failed to get power-level for slot(%s), rc=0x%x\n", - slot->location, rc); + slot->location, rc); + } else { + dbg("%s report POWER_ON for EMBEDDED or PHB slot %s\n", + __FUNCTION__, slot->location); + *value = (u8) POWER_ON; } return rc; diff --git a/drivers/pci/hotplug/rpaphp_vio.c b/drivers/pci/hotplug/rpaphp_vio.c index d82b6649e..561c87cf2 100644 --- a/drivers/pci/hotplug/rpaphp_vio.c +++ b/drivers/pci/hotplug/rpaphp_vio.c @@ -74,8 +74,8 @@ int register_vio_slot(struct device_node *dn) int rc = 1; struct slot *slot = NULL; - name = rpaphp_get_drc_name(dn); - if (!name) + rc = rpaphp_get_drc_props(dn, NULL, &name, NULL, NULL); + if (rc) goto exit_rc; index = (u32 *) get_property(dn, "ibm,my-drc-index", NULL); if (!index) diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c index 7f34ec941..4f7a11d87 100644 --- a/drivers/pci/hotplug/shpchp_core.c +++ b/drivers/pci/hotplug/shpchp_core.c @@ -57,9 +57,9 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -module_param(shpchp_debug, bool, 644); -module_param(shpchp_poll_mode, bool, 644); -module_param(shpchp_poll_time, int, 644); +module_param(shpchp_debug, bool, 0644); +module_param(shpchp_poll_mode, bool, 0644); +module_param(shpchp_poll_time, int, 0644); MODULE_PARM_DESC(shpchp_debug, "Debugging mode enabled or not"); MODULE_PARM_DESC(shpchp_poll_mode, "Using polling mechanism for hot-plug events or not"); MODULE_PARM_DESC(shpchp_poll_time, "Polling mechanism frequency, in seconds"); diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c index 7ca8e9369..33889e130 100644 --- a/drivers/pci/hotplug/shpchp_ctrl.c +++ b/drivers/pci/hotplug/shpchp_ctrl.c @@ -1050,7 +1050,64 @@ static int is_bridge(struct pci_func * func) /* The following routines constitute the bulk of the hotplug controller logic */ +static u32 change_bus_speed(struct controller *ctrl, struct slot *p_slot, enum pci_bus_speed speed) +{ + u32 rc = 0; + dbg("%s: change to speed %d\n", __FUNCTION__, speed); + down(&ctrl->crit_sect); + if ((rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, speed))) { + err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); + up(&ctrl->crit_sect); + return WRONG_BUS_FREQUENCY; + } + wait_for_ctrl_irq (ctrl); + + if ((rc = p_slot->hpc_ops->check_cmd_status(ctrl))) { + err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", + __FUNCTION__); + err("%s: Error code (%d)\n", __FUNCTION__, rc); + up(&ctrl->crit_sect); + return WRONG_BUS_FREQUENCY; + } + up(&ctrl->crit_sect); + return rc; +} + +static u32 fix_bus_speed(struct controller *ctrl, struct slot *pslot, u8 flag, +enum pci_bus_speed asp, enum pci_bus_speed bsp, enum pci_bus_speed msp) +{ + u32 rc = 0; + + if (flag != 0) { /* Other slots on the same bus are occupied */ + if ( asp < bsp ) { + err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bsp, asp); + return WRONG_BUS_FREQUENCY; + } + } else { + /* Other slots on the same bus are empty */ + if (msp == bsp) { + /* if adapter_speed >= bus_speed, do nothing */ + if (asp < bsp) { + /* + * Try to lower bus speed to accommodate the adapter if other slots + * on the same controller are empty + */ + if ((rc = change_bus_speed(ctrl, pslot, asp))) + return rc; + } + } else { + if (asp < msp) { + if ((rc = change_bus_speed(ctrl, pslot, asp))) + return rc; + } else { + if ((rc = change_bus_speed(ctrl, pslot, msp))) + return rc; + } + } + } + return rc; +} /** * board_added - Called after a board has been added to the system. @@ -1061,14 +1118,13 @@ static int is_bridge(struct pci_func * func) */ static u32 board_added(struct pci_func * func, struct controller * ctrl) { - u8 hp_slot, slot; + u8 hp_slot; u8 slots_not_empty = 0; int index; u32 temp_register = 0xFFFFFFFF; u32 retval, rc = 0; struct pci_func *new_func = NULL; - struct pci_func *t_func = NULL; - struct slot *p_slot, *pslot; + struct slot *p_slot; struct resource_lists res_lists; enum pci_bus_speed adapter_speed, bus_speed, max_bus_speed; u8 pi, mode; @@ -1101,6 +1157,40 @@ static u32 board_added(struct pci_func * func, struct controller * ctrl) return -1; } + + if ((ctrl->pci_dev->vendor == 0x8086) && (ctrl->pci_dev->device == 0x0332)) { + if (slots_not_empty) + return WRONG_BUS_FREQUENCY; + + if ((rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, PCI_SPEED_33MHz))) { + err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); + up(&ctrl->crit_sect); + return WRONG_BUS_FREQUENCY; + } + wait_for_ctrl_irq (ctrl); + + if ((rc = p_slot->hpc_ops->check_cmd_status(ctrl))) { + err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", + __FUNCTION__); + err("%s: Error code (%d)\n", __FUNCTION__, rc); + up(&ctrl->crit_sect); + return WRONG_BUS_FREQUENCY; + } + /* turn on board, blink green LED, turn off Amber LED */ + if ((rc = p_slot->hpc_ops->slot_enable(p_slot))) { + err("%s: Issue of Slot Enable command failed\n", __FUNCTION__); + up(&ctrl->crit_sect); + return rc; + } + wait_for_ctrl_irq (ctrl); + + if ((rc = p_slot->hpc_ops->check_cmd_status(ctrl))) { + err("%s: Failed to enable slot, error code(%d)\n", __FUNCTION__, rc); + up(&ctrl->crit_sect); + return rc; + } + } + rc = p_slot->hpc_ops->get_adapter_speed(p_slot, &adapter_speed); /* 0 = PCI 33Mhz, 1 = PCI 66 Mhz, 2 = PCI-X 66 PA, 4 = PCI-X 66 ECC, */ /* 5 = PCI-X 133 PA, 7 = PCI-X 133 ECC, 0xa = PCI-X 133 Mhz 266, */ @@ -1132,258 +1222,72 @@ static u32 board_added(struct pci_func * func, struct controller * ctrl) /* Done with exclusive hardware access */ up(&ctrl->crit_sect); - rc = p_slot->hpc_ops->get_prog_int(p_slot, &pi); - if (rc) { + if ((rc = p_slot->hpc_ops->get_prog_int(p_slot, &pi))) { err("%s: Can't get controller programming interface, set it to 1\n", __FUNCTION__); pi = 1; } + + /* Check if there are other slots or devices on the same bus */ + if (!list_empty(&ctrl->pci_dev->subordinate->devices)) + slots_not_empty = 1; + + dbg("%s: slots_not_empty %d, pi %d\n", __FUNCTION__, + slots_not_empty, pi); + dbg("adapter_speed %d, bus_speed %d, max_bus_speed %d\n", + adapter_speed, bus_speed, max_bus_speed); + if (pi == 2) { - for ( slot = 0; slot < ctrl->num_slots; slot++) { - if (slot != hp_slot) { - pslot = shpchp_find_slot(ctrl, slot + ctrl->slot_device_offset); - t_func = shpchp_slot_find(pslot->bus, pslot->device, 0); - slots_not_empty |= t_func->is_a_board; - } + dbg("%s: In PI = %d\n", __FUNCTION__, pi); + if ((rc = p_slot->hpc_ops->get_mode1_ECC_cap(p_slot, &mode))) { + err("%s: Can't get Mode1_ECC, set mode to 0\n", __FUNCTION__); + mode = 0; } switch (adapter_speed) { - case PCI_SPEED_133MHz_PCIX_533: + case PCI_SPEED_133MHz_PCIX_533: case PCI_SPEED_133MHz_PCIX_266: - if ((( bus_speed < 0xa ) || (bus_speed < 0xd)) && (max_bus_speed > bus_speed) && - ((max_bus_speed <= 0xa) || (max_bus_speed <= 0xd)) && (!slots_not_empty)) { - - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - } - break; + if ((bus_speed != adapter_speed) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; + break; case PCI_SPEED_133MHz_PCIX_ECC: case PCI_SPEED_133MHz_PCIX: - - rc = p_slot->hpc_ops->get_mode1_ECC_cap(p_slot, &mode); - - if (rc) { - err("%s: PI is 1 \n", __FUNCTION__); - return WRONG_BUS_FREQUENCY; - } - if (mode) { /* Bus - Mode 1 ECC */ - - if (bus_speed > 0x7) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; - } - - if ((bus_speed < 0x7) && (max_bus_speed <= 0x7) && - (bus_speed < max_bus_speed) && (!slots_not_empty)) { - - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - } + if ((bus_speed != 0x7) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; } else { - if (bus_speed > 0x4) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; - } - - if ((bus_speed < 0x4) && (max_bus_speed <= 0x4) && - (bus_speed < max_bus_speed) && (!slots_not_empty)) { - - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - } + if ((bus_speed != 0x4) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; } break; case PCI_SPEED_66MHz_PCIX_ECC: case PCI_SPEED_66MHz_PCIX: - - rc = p_slot->hpc_ops->get_mode1_ECC_cap(p_slot, &mode); - - if (rc) { - err("%s: PI is 1 \n", __FUNCTION__); - return WRONG_BUS_FREQUENCY; - } - if (mode) { /* Bus - Mode 1 ECC */ - - if (bus_speed > 0x5) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; - } - - if ((bus_speed < 0x5) && (max_bus_speed <= 0x5) && - (bus_speed < max_bus_speed) && (!slots_not_empty)) { - - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - } + if ((bus_speed != 0x5) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; } else { - if (bus_speed > 0x2) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; - } - - if ((bus_speed < 0x2) && (max_bus_speed <= 0x2) && - (bus_speed < max_bus_speed) && (!slots_not_empty)) { - - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - } + if ((bus_speed != 0x2) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; } break; case PCI_SPEED_66MHz: - if (bus_speed > 0x1) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; - } - if (bus_speed == 0x1) - ; - if ((bus_speed == 0x0) && ( max_bus_speed == 0x1)) { - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - } + if ((bus_speed != 0x1) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; break; case PCI_SPEED_33MHz: if (bus_speed > 0x0) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; + if (slots_not_empty == 0) { + if ((rc = change_bus_speed(ctrl, p_slot, adapter_speed))) + return rc; + } else { + err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); + return WRONG_BUS_FREQUENCY; + } } break; default: @@ -1391,133 +1295,34 @@ static u32 board_added(struct pci_func * func, struct controller * ctrl) return WRONG_BUS_FREQUENCY; } } else { - /* if adpater_speed == bus_speed, nothing to do here */ - if (adapter_speed != bus_speed) { - for ( slot = 0; slot < ctrl->num_slots; slot++) { - if (slot != hp_slot) { - pslot = shpchp_find_slot(ctrl, slot + ctrl->slot_device_offset); - t_func = shpchp_slot_find(pslot->bus, pslot->device, 0); - slots_not_empty |= t_func->is_a_board; - } - } - - if (slots_not_empty != 0) { /* Other slots on the same bus are occupied */ - if ( adapter_speed < bus_speed ) { - err("%s: speed of bus %x and adapter %x mismatch\n", __FUNCTION__, bus_speed, adapter_speed); - return WRONG_BUS_FREQUENCY; - } - /* Do nothing if adapter_speed >= bus_speed */ - } - } - - if ((adapter_speed != bus_speed) && (slots_not_empty == 0)) { - /* Other slots on the same bus are empty */ - - rc = p_slot->hpc_ops->get_max_bus_speed(p_slot, &max_bus_speed); - if (rc || max_bus_speed == PCI_SPEED_UNKNOWN) { - err("%s: Can't get max bus operation speed\n", __FUNCTION__); - max_bus_speed = bus_speed; - } - - if (max_bus_speed == bus_speed) { - /* if adapter_speed >= bus_speed, do nothing */ - if (adapter_speed < bus_speed) { - /* - * Try to lower bus speed to accommodate the adapter if other slots - * on the same controller are empty - */ - - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, adapter_speed); - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - - } - } else { - /* Wait for exclusive access to hardware */ - down(&ctrl->crit_sect); - - /* max_bus_speed != bus_speed. Note: max_bus_speed should be > than bus_speed */ - if (adapter_speed < max_bus_speed) - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, adapter_speed); - else - rc = p_slot->hpc_ops->set_bus_speed_mode(p_slot, max_bus_speed); - - if (rc) { - err("%s: Issue of set bus speed mode command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - - /* Wait for the command to complete */ - wait_for_ctrl_irq (ctrl); - - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { - err("%s: Can't set bus speed/mode in the case of adapter & bus mismatch\n", - __FUNCTION__); - err("%s: Error code (%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - return WRONG_BUS_FREQUENCY; - } - /* Done with exclusive hardware access */ - up(&ctrl->crit_sect); - - } - } + /* If adpater_speed == bus_speed, nothing to do here */ + dbg("%s: In PI = %d\n", __FUNCTION__, pi); + if ((adapter_speed != bus_speed) && + ((rc = fix_bus_speed(ctrl, p_slot, slots_not_empty, adapter_speed, bus_speed, max_bus_speed)))) + return rc; } - /* Wait for exclusive access to hardware */ down(&ctrl->crit_sect); - /* turn on board, blink green LED, turn off Amber LED */ - rc = p_slot->hpc_ops->slot_enable(p_slot); - - if (rc) { + if ((rc = p_slot->hpc_ops->slot_enable(p_slot))) { err("%s: Issue of Slot Enable command failed\n", __FUNCTION__); - /* Done with exclusive hardware access */ up(&ctrl->crit_sect); return rc; } - /* Wait for the command to complete */ wait_for_ctrl_irq (ctrl); - rc = p_slot->hpc_ops->check_cmd_status(ctrl); - if (rc) { + if ((rc = p_slot->hpc_ops->check_cmd_status(ctrl))) { err("%s: Failed to enable slot, error code(%d)\n", __FUNCTION__, rc); - /* Done with exclusive hardware access */ up(&ctrl->crit_sect); return rc; } - /* Done with exclusive hardware access */ up(&ctrl->crit_sect); /* Wait for ~1 second */ dbg("%s: before long_delay\n", __FUNCTION__); wait_for_ctrl_irq (ctrl); - dbg("%s: afterlong_delay\n", __FUNCTION__); + dbg("%s: after long_delay\n", __FUNCTION__); dbg("%s: func status = %x\n", __FUNCTION__, func->status); /* Check for a power fault */ @@ -1890,7 +1695,7 @@ int shpchp_event_start_thread (void) event_finished=0; init_MUTEX_LOCKED(&event_semaphore); - pid = kernel_thread(event_thread, NULL, 0); + pid = kernel_thread(event_thread, 0, 0); if (pid < 0) { err ("Can't start up our event thread\n"); @@ -2163,12 +1968,14 @@ int shpchp_disable_slot (struct slot *p_slot) u32 rc = 0; int ret = 0; unsigned int devfn; - struct pci_bus *pci_bus = p_slot->ctrl->pci_dev->subordinate; + struct pci_bus *pci_bus; struct pci_func *func; if (!p_slot->ctrl) return 1; + pci_bus = p_slot->ctrl->pci_dev->subordinate; + /* Check to see if (latch closed, card present, power on) */ down(&p_slot->ctrl->crit_sect); diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c index b1fab4532..2487b4128 100644 --- a/drivers/pci/hotplug/shpchp_hpc.c +++ b/drivers/pci/hotplug/shpchp_hpc.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include "shpchp.h" @@ -300,8 +301,7 @@ static int shpc_write_cmd(struct slot *slot, u8 t_slot, u8 cmd) if (!(cmd_status & 0x1)) break; /* Check every 0.1 sec for a total of 1 sec*/ - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); } cmd_status = readw(php_ctlr->creg + CMD_STATUS); @@ -792,6 +792,7 @@ static void hpc_release_ctlr(struct controller *ctrl) if (php_ctlr->irq) { free_irq(php_ctlr->irq, ctrl); php_ctlr->irq = 0; + pci_disable_msi(php_ctlr->pci_dev); } } if (php_ctlr->pci_dev) { @@ -1158,7 +1159,7 @@ static irqreturn_t shpc_isr(int IRQ, void *dev_id, struct pt_regs *regs) hp_slot, php_ctlr->callback_instance_id); /* Clear all slot events */ - temp_dword = 0xe01fffff; + temp_dword = 0xe01f3fff; dbg("%s: Clearing slot events, temp_dword = %x\n", __FUNCTION__, temp_dword); writel(temp_dword, php_ctlr->creg + SLOT1 + (4*hp_slot)); @@ -1539,7 +1540,7 @@ int shpc_init(struct controller * ctrl, slot_reg = readl(php_ctlr->creg + SLOT1 + 4*hp_slot ); dbg("%s: Default Logical Slot Register %d value %x\n", __FUNCTION__, hp_slot, slot_reg); - tempdword = 0xffffffff; + tempdword = 0xffff3fff; writel(tempdword, php_ctlr->creg + SLOT1 + (4*hp_slot)); } @@ -1592,7 +1593,7 @@ int shpc_init(struct controller * ctrl, slot_reg = readl(php_ctlr->creg + SLOT1 + 4*hp_slot ); dbg("%s: Default Logical Slot Register %d value %x\n", __FUNCTION__, hp_slot, slot_reg); - tempdword = 0xe01fffff; + tempdword = 0xe01f3fff; writel(tempdword, php_ctlr->creg + SLOT1 + (4*hp_slot)); } if (!shpchp_poll_mode) { diff --git a/drivers/pci/hotplug/shpchprm_acpi.c b/drivers/pci/hotplug/shpchprm_acpi.c index 6ea1703c2..f1c51f092 100644 --- a/drivers/pci/hotplug/shpchprm_acpi.c +++ b/drivers/pci/hotplug/shpchprm_acpi.c @@ -1396,17 +1396,19 @@ static int configure_existing_function( static int bind_pci_resources_to_slots ( struct controller *ctrl) { struct pci_func *func, new_func; - int busn = ctrl->bus; + int busn = ctrl->slot_bus; int devn, funn; u32 vid; for (devn = 0; devn < 32; devn++) { for (funn = 0; funn < 8; funn++) { + /* if (devn == ctrl->device && funn == ctrl->function) continue; + */ /* find out if this entry is for an occupied slot */ vid = 0xFFFFFFFF; - pci_bus_read_config_dword(ctrl->pci_bus, PCI_DEVFN(devn, funn), PCI_VENDOR_ID, &vid); + pci_bus_read_config_dword(ctrl->pci_dev->subordinate, PCI_DEVFN(devn, funn), PCI_VENDOR_ID, &vid); if (vid != 0xFFFFFFFF) { func = shpchp_slot_find(busn, devn, funn); diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 9936879eb..64195d6d6 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -299,10 +299,23 @@ static int pci_device_suspend(struct device * dev, u32 state) { struct pci_dev * pci_dev = to_pci_dev(dev); struct pci_driver * drv = pci_dev->driver; + u32 dev_state; int i = 0; + /* Translate PM_SUSPEND_xx states to PCI device states */ + static u32 state_conversion[] = { + [PM_SUSPEND_ON] = 0, + [PM_SUSPEND_STANDBY] = 1, + [PM_SUSPEND_MEM] = 3, + [PM_SUSPEND_DISK] = 3, + }; + + if (state >= sizeof(state_conversion) / sizeof(state_conversion[1])) + return -EINVAL; + + dev_state = state_conversion[state]; if (drv && drv->suspend) - i = drv->suspend(pci_dev,state); + i = drv->suspend(pci_dev, dev_state); pci_save_state(pci_dev, pci_dev->saved_config_space); return i; @@ -390,10 +403,9 @@ pci_populate_driver_dir(struct pci_driver *drv) * pci_register_driver - register a new pci driver * @drv: the driver structure to register * - * Adds the driver structure to the list of registered drivers - * Returns the number of pci devices which were claimed by the driver - * during registration. The driver remains registered even if the - * return value is zero. + * Adds the driver structure to the list of registered drivers. + * Returns a negative value on error. The driver remains registered + * even if no device was claimed during registration. */ int pci_register_driver(struct pci_driver *drv) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 05daa8cff..46d56c8cc 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -291,10 +291,7 @@ pci_set_power_state(struct pci_dev *dev, int state) /* Mandatory power management transition delays */ /* see PCI PM 1.1 5.6.1 table 18 */ if(state == 3 || dev->current_state == 3) - { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/100); - } + msleep(10); else if(state == 2 || dev->current_state == 2) udelay(200); dev->current_state = state; @@ -748,7 +745,7 @@ static int __devinit pci_init(void) struct pci_dev *dev = NULL; while ((dev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) { - pci_fixup_device(PCI_FIXUP_FINAL, dev); + pci_fixup_device(pci_fixup_final, dev); } return 0; } diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index a9b243770..35d336f30 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -61,5 +61,5 @@ extern int pci_visit_dev(struct pci_visit *fn, /* Lock for read/write access to pci device and bus lists */ extern spinlock_t pci_bus_lock; -extern int pciehp_msi_quirk; +extern int pcie_mch_quirk; extern struct device_attribute pci_dev_attrs[]; diff --git a/drivers/pci/pci.ids b/drivers/pci/pci.ids index c1f3d74cc..9670ed404 100644 --- a/drivers/pci/pci.ids +++ b/drivers/pci/pci.ids @@ -7,7 +7,7 @@ # so if you have anything to contribute, please visit the home page or # send a diff -u against the most recent pci.ids to pci-ids@ucw.cz. # -# Daily snapshot on Thu 2004-04-15 10:00:04 +# Daily snapshot on Mon 2004-07-12 10:00:27 # # Vendors, devices and subsystems. Please keep sorted. @@ -150,37 +150,58 @@ 0e11 4082 Smart Array 532 0e11 4083 Smart Array 5312 b1a4 NC7131 Gigabit Server Adapter + b203 Integrated Lights Out Controller + b204 Integrated Lights Out Processor f130 NetFlex-3/P ThunderLAN 1.0 f150 NetFlex-3/P ThunderLAN 2.3 0e55 HaSoTec GmbH # Formerly NCR 1000 LSI Logic / Symbios Logic 0001 53c810 - 1000 1000 8100S + 1000 1000 LSI53C810AE PCI to SCSI I/O Processor 0002 53c820 0003 53c825 + 1000 1000 LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) 0004 53c815 0005 53c810AP 0006 53c860 + 1000 1000 LSI53C860E PCI to Ultra SCSI I/O Processor 000a 53c1510 - 000b 53c896 + 1000 1000 LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) + 000b 53C896/897 + 1000 1000 LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller + 1000 1010 LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter + 1000 1020 LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter +# multifunction PCI card: Dual U2W SCSI, dual 10/100TX, graphics + 13e9 1000 6221L-4U 000c 53c895 + 1000 1010 LSI8951U PCI to Ultra2 SCSI host adapter + 1000 1020 LSI8952U PCI to Ultra2 SCSI host adapter + 1de1 3906 DC-390U2B SCSI adapter 1de1 3907 DC-390U2W 000d 53c885 000f 53c875 0e11 7004 Embedded Ultra Wide SCSI Controller + 1000 1000 LSI53C876/E PCI to Dual Channel SCSI Controller + 1000 1010 LSI22801 PCI to Dual Channel Ultra SCSI host adapter + 1000 1020 LSI22802 PCI to Dual Channel Ultra SCSI host adapter 1092 8760 FirePort 40 Dual SCSI Controller - 1de1 3904 DC390F Ultra Wide SCSI Controller + 1de1 3904 DC390F/U Ultra Wide SCSI Adapter 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 4c53 1050 CT7 mainboard - 0010 53c895 + 0010 53C1510 0e11 4040 Integrated Array Controller 0e11 4048 Integrated Array Controller + 1000 1000 53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) 0012 53c895a + 1000 1000 LSI53C895A PCI to Ultra2 SCSI Controller 0013 53c875a + 1000 1000 LSI53C875A PCI to Ultra SCSI Controller 0020 53c1010 Ultra3 SCSI Adapter + 1000 1000 LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller 1de1 1020 DC-390U3W 0021 53c1010 66MHz Ultra3 SCSI Adapter + 1000 1000 LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller 124b 1070 PMC-USCSI3 4c53 1080 CT8 mainboard 4c53 1300 P017 mezzanine (32-bit PMC) @@ -191,6 +212,7 @@ 1028 1010 LSI U320 SCSI Controller 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI + 1000 1000 LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller 0033 1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI 0040 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI 1000 0033 MegaRAID SCSI 320-2XR @@ -203,8 +225,22 @@ 1000 0530 MegaRAID 530 SCSI 320-0X RAID Controller 1000 0531 MegaRAID 531 SCSI 320-4X RAID Controller 1000 0532 MegaRAID 532 SCSI 320-2X RAID Controller - 1028 0533 PowerEgde Expandable RAID Controller 4/QC - 8086 0532 Storage RAID Controller SRCU42X + 1028 0531 PowerEdge Expandable RAID Controller 4/QC + 8086 0530 MegaRAID Intel RAID Controller SRCZCRX + 8086 0532 MegaRAID Intel RAID Controller SRCU42X + 0408 MegaRAID + 1000 0001 MegaRAID SCSI 320-1E RAID Controller + 1000 0002 MegaRAID SCSI 320-2E RAID Controller + 1028 0001 Dell PowerEdge RAID Controller PERC4e/SC + 1028 0002 Dell PowerEdge RAID Controller PERC4e/DC + 1734 1065 FSC MegaRAID PCI Express ROMB + 8086 0002 MegaRAID Intel RAID Controller SRCU42E + 0409 MegaRAID + 1000 3004 MegaRAID SATA 300-4X RAID Controller + 1000 3008 MegaRAID SATA 300-8X RAID Controller + 8086 3008 MegaRAID Intel RAID Controller SRCS28X + 8086 3431 MegaRAID Intel RAID Controller Alief SROMBU42E + 8086 3499 MegaRAID Intel RAID Controller Harwich SROMBU42E 0621 FC909 Fibre Channel Adapter 0622 FC929 Fibre Channel Adapter 1000 1020 44929 O Dual Fibre Channel card @@ -228,13 +264,16 @@ 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller 1000 0520 MegaRAID 520 SCSI 320-1 Controller - 1000 0522 MegaRAID 522 i4133 RAID Controller + 1000 0522 MegaRAID 522 i4 133 RAID Controller 1000 0523 MegaRAID SATA 150-6 RAID Controller 1000 4523 MegaRAID SATA 150-4 RAID Controller 1000 a520 MegaRAID ZCR SCSI 320-0 Controller 1028 0518 MegaRAID 518 DELL PERC 4/DC RAID Controller 1028 0520 MegaRAID 520 DELL PERC 4/SC RAID Controller 1028 0531 PowerEdge Expandable RAID Controller 4/QC + 1028 0533 PowerEdge Expandable RAID Controller 4/QC + 8086 0520 MegaRAID Intel RAID Controller SRCU41L + 8086 0523 MegaRAID Intel RAID Controller SRCS16 1001 Kolter Electronic 0010 PCI 1616 Measurement card with 32 digital I/O lines 0011 OPTO-PCI Opto-Isolated digital I/O board @@ -350,6 +389,8 @@ 1002 8008 Rage XL 1028 00ce PowerEdge 1400 1028 00d1 PowerEdge 2550 + 8086 3411 SDS2 Mainboard + 8086 3427 S875WP1-E mainboard 4753 Rage XC 1002 4753 Rage XC 4754 3D Rage I/II 215GT [Mach64 GT] @@ -435,10 +476,12 @@ 4e44 Radeon R300 ND [Radeon 9700 Pro] 4e45 Radeon R300 NE [Radeon 9500 Pro] 1002 0002 Radeon R300 NE [Radeon 9500 Pro] + 1681 0002 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] # New PCI ID provided by ATI developer relations (correction to above) 4e46 RV350 NF [Radeon 9600] 4e47 Radeon R300 NG [FireGL X1] - 4e48 Radeon R350 [Radeon 9800] +# (added pro) + 4e48 Radeon R350 [Radeon 9800 Pro] # New PCI ID provided by ATI developer relations 4e49 Radeon R350 [Radeon 9800] 4e4a RV350 NJ [Radeon 9800 XT] @@ -451,10 +494,12 @@ 4e64 Radeon R300 [Radeon 9700 Pro] (Secondary) 4e65 Radeon R300 [Radeon 9500 Pro] (Secondary) 1002 0003 Radeon R300 NE [Radeon 9500 Pro] + 1681 0003 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) # New PCI ID provided by ATI developer relations (correction to above) 4e66 RV350 NF [Radeon 9600] (Secondary) 4e67 Radeon R300 [FireGL X1] (Secondary) - 4e68 Radeon R350 [Radeon 9800] (Secondary) +# (added pro) + 4e68 Radeon R350 [Radeon 9800 Pro] (Secondary) # New PCI ID provided by ATI developer relations 4e69 Radeon R350 [Radeon 9800] (Secondary) 4e6a RV350 NJ [Radeon 9800 XT] (Secondary) @@ -535,6 +580,7 @@ 148c 2024 RV200 QW [Radeon 7500LE Dual Display] 148c 2025 RV200 QW [Radeon 7500 Evil Master Multi Display Edition] 148c 2036 RV200 QW [Radeon 7500 PCI Dual Display] + 174b 7146 RV200 QW [Radeon 7500 LE] 174b 7147 RV200 QW [Sapphire Radeon 7500LE] 174b 7161 Radeon RV200 QW [Radeon 7500 LE] 17af 0202 RV200 QW [Excalibur Radeon 7500LE] @@ -624,6 +670,7 @@ 5d44 RV280 [Radeon 9200 SE] (Secondary) 700f PCI Bridge [IGP 320M] 7010 PCI Bridge [IGP 340M] + 7c37 RV350 AQ [Radeon 9600 SE] cab0 AGP Bridge [IGP 320M] cab2 RS200/RS200M AGP Bridge [IGP 340M] 1003 ULSI Systems @@ -865,6 +912,8 @@ 1014 002e ServeRAID-3x 1014 022e ServeRAID-4H 0031 2 Port Serial Adapter +# AS400 iSeries PCI sync serial card + 1014 0031 2721 WAN IOA - 2 Port Sync Serial Adapter 0036 Miami 003a CPU to PCI Bridge 003c GXT250P/GXT255P Graphics Adapter @@ -924,6 +973,7 @@ 0180 Snipe chipset SCSI controller 1014 0241 iSeries 2757 DASD IOA 1014 0264 Quad Channel PCI-X U320 SCSI RAID Adapter (2780) + 1014 02BD Quad Channel PCI-X U320 DDR SCSI RAID Adapter (570F) 01a7 PCI-X to PCI-X Bridge 01bd ServeRAID Controller 1014 01be ServeRAID-4M @@ -946,7 +996,9 @@ 0266 PCI-X Dual Channel SCSI 0268 Gigabit Ethernet-SX Adapter (PCI-X) 0269 10/100/1000 Base-TX Ethernet Adapter (PCI-X) - 0302 XA-32 chipset [Summit] + 028C Citrine chipset SCSI controller + 1014 02BE Dual Channel PCI-X U320 DDR SCSI RAID Adapter (571B) + 0302 X-Architecture Bridge [Summit] ffff MPIC-2 interrupt controller 1015 LSI Logic Corp of Canada 1016 ICL Personal Systems @@ -1059,20 +1111,27 @@ 7454 AMD-8151 System Controller 7455 AMD-8151 AGP Bridge 7460 AMD-8111 PCI + 161f 3017 HDAMB 7461 AMD-8111 USB 7462 AMD-8111 Ethernet 7464 AMD-8111 USB + 161f 3017 HDAMB 7468 AMD-8111 LPC + 161f 3017 HDAMB 7469 AMD-8111 IDE + 161f 3017 HDAMB 746a AMD-8111 SMBus 2.0 746b AMD-8111 ACPI + 161f 3017 HDAMB 746d AMD-8111 AC97 Audio + 161f 3017 HDAMB 746e AMD-8111 MC97 Modem 756b AMD-8111 ACPI 1023 Trident Microsystems 0194 82C194 2000 4DWave DX 2001 4DWave NX + 122d 1400 Trident PCI288-Q3DII (NX) 2100 CyberBlade XP4m32 8400 CyberBlade/i7 1023 8400 CyberBlade i7 AGP @@ -1083,7 +1142,7 @@ 0e11 b16e CyberBlade i1 AGP 1023 8520 CyberBlade i1 AGP 8620 CyberBlade/i1 - 1014 0502 ThinkPad T30 + 1014 0502 ThinkPad R30/T30 8820 CyberBlade XPAi1 9320 TGUI 9320 9350 GUI Accelerator @@ -1179,34 +1238,32 @@ 5453 M5453 PCI AC-Link Controller Modem Device 7101 M7101 PCI PMU Power Management Controller 10b9 7101 M7101 PCI PMU Power Management Controller -1028 Dell Computer Corporation +1028 Dell 0001 PowerEdge Expandable RAID Controller 2/Si - 1028 0001 PowerEdge Expandable RAID Controller 2/Si - 0002 PowerEdge Expandable RAID Controller 3 - 1028 0002 PowerEdge Expandable RAID Controller 3/Di - 1028 00d1 PowerEdge Expandable RAID Controller 3/Di - 1028 00d9 PowerEdge Expandable RAID Controller 3/Di + 1028 0001 PowerEdge 2400 + 0002 PowerEdge Expandable RAID Controller 3/Di + 1028 0002 PowerEdge 4400 0003 PowerEdge Expandable RAID Controller 3/Si - 1028 0003 PowerEdge Expandable RAID Controller 3/Si - 0004 PowerEdge Expandable RAID Controller 3/Si - 1028 00d0 PowerEdge Expandable RAID Controller 3/Si + 1028 0003 PowerEdge 2450 0006 PowerEdge Expandable RAID Controller 3/Di - 0007 Remote Access Controller:DRAC III - 0008 Remote Access Controller - 0009 BMC/SMIC device not present - 000a PowerEdge Expandable RAID Controller 3 - 1028 0106 PowerEdge Expandable RAID Controller 3/Di - 1028 011b PowerEdge Expandable RAID Controller 3/Di - 1028 0121 PowerEdge Expandable RAID Controller 3/Di - 000c Remote Access Controller:ERA or ERA/O - 000d BMC/SMIC device - 000e PowerEdge Expandable RAID controller 4 - 1028 0123 PowerEdge Expandable RAID Controller 4/Di - 000f PowerEdge Expandable RAID controller 4 - 1028 013b MegaRAID DELL PERC 4/Di RAID On Motherboard - 1028 014a PowerEdge Expandable RAID Controller 4/Di - 1028 014c MegaRAID DELL PERC 4/Di RAID On Motherboard - 1028 014d MegaRAID DELL PERC 4/Di RAID On Motherboard + 0007 Remote Access Card III + 0008 Remote Access Card III + 0009 Remote Access Card III: BMC/SMIC device not present + 000a PowerEdge Expandable RAID Controller 3/Di + 000c Embedded Remote Access or ERA/O + 000d Embedded Remote Access: BMC/SMIC device + 000e PowerEdge Expandable RAID controller 4/Di + 000f PowerEdge Expandable RAID controller 4/Di + 0010 Remote Access Card 4 + 0011 Remote Access Card 4 Daughter Card + 0012 Remote Access Card 4 Daughter Card Virtual UART + 0013 PowerEdge Expandable RAID controller 4 + 1028 016c PowerEdge Expandable RAID Controller 4e/Si + 1028 016d PowerEdge Expandable RAID Controller 4e/Di + 1028 016e PowerEdge Expandable RAID Controller 4e/Di + 1028 016f PowerEdge Expandable RAID Controller 4e/Di + 1028 0170 PowerEdge Expandable RAID Controller 4e/Di + 0014 Remote Access Card 4 Daughter Card SMIC interface 1029 Siemens Nixdorf IS 102a LSI Logic 0000 HYDRA @@ -1518,6 +1575,7 @@ 1039 5513 SiS5513 EIDE Controller (A,B step) 1043 8035 CUSI-FX motherboard 5517 5517 + 5518 5518 [IDE] 5571 5571 5581 5581 Pentium Chipset 5582 5582 @@ -1542,6 +1600,7 @@ 1092 4920 SpeedStar A70 1569 6326 SiS6326 GUI Accelerator 6330 661FX/M661FX/M661MX/741/M741/760/M760 PCI/AGP + 1039 6330 [M]661FX/M661MX/[M]741/[M]760 PCI/AGP VGA Display Adapter 7001 USB 1.0 Controller 1039 7000 Onboard USB Controller 7002 USB 2.0 Controller @@ -1604,7 +1663,7 @@ 103c 1049 Tosca Console 103c 104a Tosca Secondary 103c 104b Maestro SP2 - 103c 1223 Halfdome Console + 103c 1223 Superdome Console 103c 1226 Keystone SP2 103c 1227 Powerbar SP2 103c 1282 Everest SP2 @@ -1642,7 +1701,7 @@ 4057 v8200 GeForce 3 8043 v8240 PAL 128M [P4T] Motherboard 807b v9280/TD [Geforce4 TI4200 8X With TV-Out and DVI] -1044 Distributed Processing Technology +1044 Adaptec (formerly DPT) 1012 Domino RAID Engine a400 SmartCache/Raid I-IV Controller a500 PCI Bridge @@ -1683,6 +1742,7 @@ 1044 c065 3010S Ultra3 Four Channel 1044 c066 3010S Fibre Channel a511 SmartRAID V Controller + 1044 c032 ASR-2005S I2O Zero Channel 1045 OPTi Inc. a0f8 82C750 [Vendetta] USB Controller c101 92C264 @@ -1786,6 +1846,7 @@ 1028 00e6 PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) 8029 PCI4510 IEEE-1394 Controller 1071 8160 MIM2900 + 802e PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller 8400 ACX 100 22Mbps Wireless Interface 00fc 16ec U.S. Robotics 22 Mbps Wireless PC Card (model 2210) 00fd 16ec U.S. Robotics 22Mbps Wireless PCI Adapter (model 2216) @@ -1894,6 +1955,8 @@ 0003 MPC8240 [Kahlua] 0004 MPC107 0006 MPC8245 [Unity] + 0008 MPC8540 + 0009 MPC8560 0100 MC145575 [HFC-PCI] 0431 KTI829c 100VG 1801 DSP56301 Digital Signal Processor @@ -1939,44 +2002,49 @@ 1058 Electronics & Telecommunications RSH 1059 Teknor Industrial Computers Inc 105a Promise Technology, Inc. - 0d30 20265 +# more correct description from promise linux sources + 0d30 PDC20265 (FastTrak100 Lite/Ultra100) 105a 4d33 Ultra100 0d38 20263 105a 4d39 Fasttrak66 1275 20275 3318 PDC20318 (SATA150 TX4) - 3319 PDC20319 (SATA150 TX4) - 3373 PDC20378 (SATA150 TX) + 3319 PDC20319 (FastTrak S150 TX4) + 8086 3427 S875WP1-E mainboard + 3371 PDC20371 (FastTrak S150 TX2plus) + 3373 PDC20378 (FastTrak 378/SATA 378) + 1043 80f5 PC-DL Deluxe motherboard 1462 702e K8T NEO FIS2R motherboard 3375 PDC20375 (SATA150 TX2plus) - 3376 PDC20376 + 3376 PDC20376 (FastTrak 376) 1043 809e A7V8X motherboard - 4d30 20267 + 4d30 PDC20267 (FastTrak100/Ultra100) 105a 4d33 Ultra100 - 105a 4d39 Fasttrak100 + 105a 4d39 FastTrak100 4d33 20246 105a 4d33 20246 IDE Controller - 4d38 20262 + 4d38 PDC20262 (FastTrak66/Ultra66) 105a 4d30 Ultra Device on SuperTrak 105a 4d33 Ultra66 - 105a 4d39 Fasttrak66 - 4d68 20268 + 105a 4d39 FastTrak66 + 4d68 PDC20268 (Ultra100 TX2) 105a 4d68 Ultra100TX2 4d69 20269 105a 4d68 Ultra133TX2 - 5275 PDC20276 IDE + 5275 PDC20276 (MBFastTrak133 Lite) 105a 0275 SuperTrak SX6000 IDE 105a 1275 MBFastTrak133 Lite (tm) Controller (RAID mode) 1458 b001 MBUltra 133 5300 DC5300 - 6268 20268R - 6269 PDC20271 + 6268 PDC20270 (FastTrak100 LP/TX2/TX4) + 105a 4d68 FastTrak100 TX2 + 6269 PDC20271 (FastTrak TX2000) 105a 6269 FastTrak TX2/TX2000 - 6621 PDC20621 [SX4000] 4 Channel IDE RAID Controller + 6621 PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite) 6622 PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller - 6626 PDC20618 Ultra 618 - 6629 PDC20619 FastTrak TX4000 RAID - 7275 PDC20277 + 6626 PDC20618 (Ultra 618) + 6629 PDC20619 (FastTrak TX4000) + 7275 PDC20277 (SBFastTrak133 Lite) 105b Foxconn International, Inc. 105c Wipro Infotech Limited 105d Number 9 Computer Company @@ -2070,6 +2138,8 @@ 1014 0242 iSeries 2872 DASD IOA 1014 0266 Dual Channel PCI-X U320 SCSI Adapter 1014 0278 Dual Channel PCI-X U320 SCSI RAID Adapter + 1014 02D3 Dual Channel PCI-X U320 SCSI Adapter + 1014 02D4 Dual Channel PCI-X U320 SCSI RAID Adapter ba55 eXtremeRAID 1100 support Device ba56 eXtremeRAID 2000/3000 support Device 106a Aten Research Inc @@ -2199,6 +2269,7 @@ 107c LG Electronics [Lucky Goldstar Co. Ltd] 107d LeadTek Research Inc. 0000 P86C850 + 2134 WinFast 3D S320 II 107e Interphase Corporation 0001 5515 ATM Adapter [Flipper] 0002 100 VG AnyLan Controller @@ -2348,10 +2419,10 @@ 0673 USB0673 0680 PCI0680 Ultra ATA-133 Host Controller 1095 3680 Winic W-680 (Silicon Image 680 based) - 3112 Silicon Image Serial ATARaid Controller [ CMD/Sil 3112/3112A ] + 3112 SiI 3112 [SATALink/SATARaid] Serial ATA Controller 1095 6112 Asus A7N8X - 3114 Silicon Image SiI 3114 SATARaid - 3512 Silicon Image Serial ATARaid Controller [ CMD/Sil 3512 ] + 3114 SiI 3114 [SATALink/SATARaid] Serial ATA Controller + 3512 SiI 3512 [SATALink/SATARaid] Serial ATA Controller 1096 Alacron 1097 Appian Technology 1098 Quantum Designs (H.K.) Ltd @@ -2742,6 +2813,7 @@ 10b7 7000 10/100 Mini PCI Ethernet Adapter 10f1 2466 Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) 9201 3C920B-EMB Integrated Fast Ethernet Controller [Tornado] + 1043 80ab A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller 9202 3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller 9210 3C920B-EMB-WNM Integrated Fast Ethernet Controller 9300 3CSOHO100B-TX 910-A01 [tulip] @@ -2837,6 +2909,7 @@ 5219 M5219 5225 M5225 5229 M5229 IDE + 1014 050f ThinkPad R30 1043 8053 A7A266 Motherboard IDE 5235 M5225 5237 USB 1.1 Controller @@ -2859,8 +2932,8 @@ 545a SmartLink SmartPCI563 56K Modem 5471 M5471 Memory Stick Controller 5473 M5473 SD-MMC Controller - 7101 M7101 PMU - 10b9 7101 ALI M7101 Power Management Controller + 7101 M7101 Power Management Controller [PMU] + 1014 0510 ThinkPad R30 10ba Mitsubishi Electric Corp. 0301 AccelGraphics AccelECLIPSE 0304 AccelGALAXY A2100 [OEM Evans & Sutherland] @@ -3001,6 +3074,7 @@ 1043 0205 PCI-V3800 1043 4000 AGP-V3800PRO 1048 0c21 Synergy II + 107d 2134 WinFast 3D S320 II + TV-Out 1092 4804 Viper V770 1092 4a00 Viper V770 1092 4a02 Viper V770 Ultra @@ -3041,11 +3115,13 @@ 1554 1041 Pixelview RIVA TNT2 M64 002e NV6 [Vanta] 002f NV6 [Vanta] + 0041 NV40 OS1RT00B30 0060 nForce2 ISA Bridge 1043 80ad A7N8X Mainboard 0064 nForce2 SMBus (MCP) 0065 nForce2 IDE 0066 nForce2 Ethernet Controller + 1043 80a7 A7N8X Mainboard onboard nForce2 Ethernet 0067 nForce2 USB Controller 1043 0c11 A7N8X Mainboard 0068 nForce2 USB Controller @@ -3292,6 +3368,7 @@ 1071 8160 MIM2000 10bd 0320 EP-320X-R 10ec 8139 RT8139 + 1113 ec01 FNC-0107TX 1186 1300 DFE-538TX 1186 1320 SN5200 1186 8139 DRN-32TX @@ -3342,7 +3419,7 @@ 10f9 PC Direct 10fa Truevision 000c TARGA 1000 -10fb Thesys Gesellschaft für Mikroelektronik mbH +10fb Thesys Gesellschaft für Mikroelektronik mbH 186f TH 6255 10fc I-O Data Device, Inc. # What's in the cardbus end of a Sony ACR-A01 card, comes with newer Vaio CD-RW drives @@ -3358,6 +3435,7 @@ 9400 INI-940 9401 INI-950 9500 360P + 9502 Initio INI-9100UW Ultra Wide SCSI Controller INIC-950P chip 1102 Creative Labs 0002 SB Live! EMU10k1 1102 0020 CT4850 SBLive! Value @@ -3507,13 +3585,16 @@ 0e11 0097 SoundMax Digital Integrated Audio 0e11 b194 Soundmax integrated digital audio 1019 0985 P6VXA Motherboard + 1043 1106 A7V133/A7V133-C Mainboard 1106 4511 Onboard Audio on EP7KXA 1458 7600 Onboard Audio 1462 3091 MS-6309 Onboard Audio + 1462 3300 MS-6330 Onboard Audio 15dd 7609 Onboard Audio 3059 VT8233/A/8235/8237 AC97 Audio Controller 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) 1043 8095 A7V8X Motherboard (Realtek ALC650 codec) + 1043 80a1 A7V8X-X Motherboard 1043 80b0 A7V600 motherboard (ADI AD1980 codec [SoundMAX]) 1106 3059 L7VMM2 Motherboard 1297 c160 FX41 motherboard (Realtek ALC650 codec) @@ -3526,6 +3607,7 @@ 1186 1401 DFE-530TX rev B 13b9 1421 LD-10/100AL PCI Fast Ethernet Adapter (rev.B) 3068 Intel 537 [AC97 Modem] + 1462 309e MS-6309 Saturn Motherboard 3074 VT8233 PCI to ISA Bridge 1043 8052 VT8233A 3091 VT8633 [Apollo Pro266] @@ -3906,7 +3988,15 @@ 1133 1c0b Diva Server V-PRI/T1-24 Cornet NQ 3 1133 1c0c Diva Server V-PRI/E1-30 Cornet NQ 3 e01e Diva Server 2PRI + 1133 1e00 Diva Server V-2PRI/E1-60 + 1133 1e01 Diva Server V-2PRI/T1-48 + 1133 1e02 Diva Server 2PRI/E1-60 + 1133 1e03 Diva Server 2PRI/T1-48 e020 Diva Server 4PRI + 1133 2000 Diva Server V-4PRI/E1-120 + 1133 2001 Diva Server V-4PRI/T1-96 + 1133 2002 Diva Server 4PRI/E1-120 + 1133 2003 Diva Server 4PRI/T1-96 e024 Diva Server Analog-4P e028 Diva Server Analog-8P 1134 Mercury Computer Systems @@ -4145,6 +4235,7 @@ 1165 Imagraph Corporation 0001 Motion TPEG Recorder/Player with audio 1166 ServerWorks + 0000 CMIC-LE 0005 CNB20-LE Host Bridge 0006 CNB20HE Host Bridge 0007 CNB20-LE Host Bridge @@ -4152,13 +4243,13 @@ 0009 CNB20LE Host Bridge 0010 CIOB30 0011 CMIC-HE - 0012 CMIC-LE + 0012 CMIC-WS Host Bridge (GC-LE chipset) 0013 CNB20-HE Host Bridge - 0014 CNB20-HE Host Bridge + 0014 CMIC-LE Host Bridge (GC-LE chipset) 0015 CMIC-GC Host Bridge 0016 CMIC-GC Host Bridge 0017 GCNB-LE Host Bridge - 0101 CIOB-X2 + 0101 CIOB-X2 PCI-X I/O Bridge 0110 CIOB-E I/O Bridge with Gigabit Ethernet 0200 OSB4 South Bridge 0201 CSB5 South Bridge @@ -4255,6 +4346,7 @@ 1186 1300 DFE-538TX 10/100 Ethernet Adapter 1186 1301 DFE-530TX+ 10/100 Ethernet Adapter 1340 DFE-690TXD CardBus PC Card + 1541 DFE-680TXD CardBus PC Card 1561 DRP-32TXD Cardbus PC Card 3300 DWL-510 2.4GHz Wireless PCI Adapter 3b05 DWL-G650+ CardBus PC Card @@ -4337,9 +4429,10 @@ 11a9 InnoSys Inc. 4240 AMCC S933Q Intelligent Serial Card 11aa Actel -# (formerly Galileo technologies) -11ab Marvell +# Formerly Galileo Technology, Inc. +11ab Marvell Technology Group Ltd. 0146 GT-64010/64010A System Controller + 1fa6 Marvell W8300 802.11 Adapter 4320 Yukon Gigabit Ethernet 10/100/1000Base-T Adapter 4611 GT-64115 System Controller 4620 GT-64120/64120A/64121A System Controller @@ -4677,6 +4770,7 @@ 6933 OZ6933 Cardbus Controller 1025 1016 Travelmate 612 TX 6972 OZ6912 Cardbus Controller + 1014 020c ThinkPad R30 1179 0001 Magnia Z310 7110 OZ711Mx MultiMediaBay Accelerator 7112 OZ711EC1/M1 SmartCardBus MultiMediaBay Controller @@ -4762,6 +4856,7 @@ 122c Sican GmbH 122d Aztech System Ltd 1206 368DSP + 1400 Trident PCI288-Q3DII (NX) 50dc 3328 Audio 122d 0001 3328 Audio 80da 3328 Audio @@ -4905,11 +5000,15 @@ 3873 Prism 2.5 Wavelan chipset 1186 3501 DWL-520 Wireless PCI Adapter 1186 3700 DWL-520 Wireless PCI Adapter, Rev E1 + 1385 4105 MA311 802.11b wireless adapter 1668 0414 HWP01170-01 802.11b PCI Wireless Adapter 16a5 1601 AIR.mate PC-400 PCI Wireless LAN Adapter 1737 3874 WMP11 Wireless 802.11b PCI Adapter 8086 2513 Wireless 802.11b MiniPCI Adapter + 3886 ISL3886 [Prism Javelin/Prism Xbow] 3890 Intersil ISL3890 [Prism GT/Prism Duette] + 10b8 a835 SMC2835W V2 Wireless Cardbus Adapter + 16a5 1605 ALLNET ALL0271 Wireless PCI Adapter 17cf 0014 Ovislink WL-5400PCM, Prism GT 8130 HMP8130 NTSC/PAL Video Decoder 8131 HMP8131 NTSC/PAL Video Decoder @@ -5155,7 +5254,7 @@ 9132 Ethernet 100/10 MBit 1283 Integrated Technology Express, Inc. 673a IT8330G - 8212 IT/ITE8212 Dual channel ATA RAID + 8212 IT/ITE8212 Dual channel ATA RAID controller 8330 IT8330G 8872 IT8874F PCI Dual Serial Port Controller 8888 IT8888F PCI to ISA Bridge with SMB @@ -5466,7 +5565,8 @@ 0985 NC100 Network Everywhere Fast Ethernet 10/100 1985 21x4x DEC-Tulip compatible 10/100 Ethernet 2850 HSP MicroModem 56 - 8201 [ADMtek] SP906B_V2 Wireless LAN adapter + 8201 ADMtek ADM8211 802.11b Wireless Interface + 10b8 2635 SMC2635W 802.11b (11Mbps) wireless lan pcmcia (cardbus) card 1317 8201 SMC2635W 802.11b (11mbps) wireless lan pcmcia (cardbus) card 9511 21x4x DEC-Tulip compatible 10/100 Ethernet 1318 Packet Engines Inc. @@ -5535,7 +5635,6 @@ 132d Integrated Silicon Solution, Inc. 1330 MMC Networks 1331 Radisys Corp. - 0030 ENP-2611 8200 82600 Host Bridge 8201 82600 IDE 8202 82600 USB @@ -5659,9 +5758,11 @@ 1385 Netgear 4100 802.11b Wireless Adapter (MA301) 4105 MA311 802.11b wireless adapter + 4a00 WAG311 802.11abg Wireless Adapter 620a GA620 Gigabit Ethernet 622a GA622 630a GA630 Gigabit Ethernet + f004 FA310TX 1386 Video Domain Technologies 1387 Systran Corp 1388 Hitachi Information Technology Co Ltd @@ -5720,6 +5821,7 @@ 13a6 Videonics Inc 13a7 Teles AG 13a8 Exar Corp. + 0154 XR17C154 Quad UART 0158 XR17C158 Octal UART 13a9 Siemens Medical Systems, Ultrasound Group 13aa Broadband Networks Inc @@ -5752,6 +5854,7 @@ 13c1 3ware Inc 1000 3ware ATA-RAID 1001 3ware 7000-series ATA-RAID + 13c1 1001 3ware Inc 3ware 7xxx/8xxx-series PATA/SATA-RAID 1002 3ware ATA-RAID 13c2 Technotrend Systemtechnik GmbH 13c3 Janz Computer AG @@ -5884,10 +5987,11 @@ 140f Salient Systems Corp 1410 Midas lab Inc 1411 Ikos Systems Inc -1412 IC Ensemble Inc - 1712 ICE1712 [Envy24] +# formerly IC Ensemble Inc. +1412 VIA Technologies Inc. + 1712 ICE1712 [Envy24] PCI Multi-Channel I/O Controller 1412 d638 M-Audio Delta 410 - 1724 ICE1724 [Envy24HT] + 1724 VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller 1413 Addonics 1414 Microsoft Corporation 1415 Oxford Semiconductor Ltd @@ -5990,6 +6094,7 @@ 1460 DYNARC INC 1461 Avermedia Technologies Inc 1462 Micro-Star International Co., Ltd. + 6825 PCI Card wireless 11g [PC54G] 8725 NVIDIA NV25 [GeForce4 Ti 4600] VGA Adapter # MSI G4Ti4800, 128MB DDR SDRAM, TV-Out, DVI-I 9000 NVIDIA NV28 [GeForce4 Ti 4800] VGA Adapter @@ -6150,8 +6255,9 @@ 14d6 Accusys Inc 14d7 Hirakawa Hewtech Corp 14d8 HOPF Elektronik GmBH -14d9 Alpha Processor Inc - 0010 AP1011 HyperTransport-PCI Bridge [Sturgeon] +# Formerly SiPackets, Inc., formerly API NetWorks, Inc., formerly Alpha Processor, Inc. +14d9 Alliance Semiconductor Corporation + 0010 AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon] 14da National Aerospace Laboratories 14db AFAVLAB Technology Inc 2120 TK9902 @@ -6175,6 +6281,14 @@ 14e2 INFOLIBRIA 14e3 AMTELCO 14e4 Broadcom Corporation + 0800 Sentry5 Chipcommon I/O Controller + 0804 Sentry5 PCI Bridge + 0805 Sentry5 MIPS32 CPU + 0806 Sentry5 Ethernet Controller + 080b Sentry5 Crypto Accelerator + 080f Sentry5 DDR/SDR RAM Controller + 0811 Sentry5 External Interface Core + 0816 BCM3302 Sentry5 MIPS32 CPU 1644 NetXtreme BCM5700 Gigabit Ethernet 1014 0277 Broadcom Vigil B5700 1000Base-T 1028 00d1 Broadcom BCM5700 @@ -6241,21 +6355,14 @@ 164d NetXtreme BCM5702FE Gigabit Ethernet 1653 NetXtreme BCM5705 Gigabit Ethernet 1654 NetXtreme BCM5705_2 Gigabit Ethernet - 1658 NetXtreme BCM5720 Gigabit Ethernet - 1659 NetXtreme BCM5721 Gigabit Ethernet + 1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express 165d NetXtreme BCM5705M Gigabit Ethernet 165e NetXtreme BCM5705M_2 Gigabit Ethernet - 166e NetXtreme BCM5705F Gigabit Ethernet - 1676 NetXtreme BCM5750 Gigabit Ethernet - 1677 NetXtreme BCM5751 Gigabit Ethernet - 167c NetXtreme BCM5750M Gigabit Ethernet - 167d NetXtreme BCM5751M Gigabit Ethernet - 167e NetXtreme BCM5751F Gigabit Ethernet + 1677 NetXtreme BCM5751 Gigabit Ethernet PCI Express 1696 NetXtreme BCM5782 Gigabit Ethernet 103c 12bc HP d530 CMT (DG746A) 14e4 000d NetXtreme BCM5782 1000Base-T 169c NetXtreme BCM5788 Gigabit Ethernet - 169d NetXtreme BCM5789 Gigabit Ethernet 16a6 NetXtreme BCM5702X Gigabit Ethernet 0e11 00bb NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) 1028 0126 BCM5702 1000Base-T @@ -6279,13 +6386,17 @@ 103c 12ca HP Combo FC/GigE-T [A9784A] 14e4 0009 NetXtreme BCM5703 1000Base-T 14e4 000a NetXtreme BCM5703 1000Base-SX - 170d NetXtreme BCM5901 Gigabit Ethernet - 170e NetXtreme BCM5901_2 Gigabit Ethernet + 170c BCM4401-B0 100Base-TX + 170d NetXtreme BCM5901 100Base-TX + 170e NetXtreme BCM5901 100Base-TX + 3352 BCM3352 + 3360 BCM3360 4210 BCM4210 iLine10 HomePNA 2.0 4211 BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem 4212 BCM4212 v.90 56k modem 4301 BCM4301 802.11b - 4320 BCM94306 802.11g + 4307 BCM4307 802.11b Wireless LAN Controller + 4320 BCM4306 802.11b/g Wireless LAN Controller 1028 0001 TrueMobile 1300 WLAN Mini-PCI Card 1737 4320 WPC54G 4324 BCM4309 802.11a/b/g @@ -6293,12 +6404,47 @@ 4401 BCM4401 100Base-T 1043 80a8 A7V8X motherboard 4402 BCM4402 Integrated 10/100BaseT + 4403 BCM4402 V.90 56k Modem 4410 BCM4413 iLine32 HomePNA 2.0 4411 BCM4413 V.90 56k modem 4412 BCM4413 10/100BaseT + 4430 BCM44xx CardBus iLine32 HomePNA 2.0 + 4432 BCM44xx CardBus 10/100BaseT + 4610 BCM4610 Sentry5 PCI to SB Bridge + 4611 BCM4610 Sentry5 iLine32 HomePNA 1.0 + 4612 BCM4610 Sentry5 V.90 56k Modem + 4613 BCM4610 Sentry5 Ethernet Controller + 4614 BCM4610 Sentry5 External Interface + 4615 BCM4610 Sentry5 USB Controller + 4704 BCM4704 PCI to SB Bridge + 4708 BCM4708 Sentry5 PCI to SB Bridge + 4710 BCM4710 Sentry5 PCI to SB Bridge + 4711 BCM47xx Sentry5 iLine32 HomePNA 2.0 + 4712 Sentry5 UART + 4713 Sentry5 Ethernet Controller + 4714 BCM47xx Sentry5 External Interface + 4715 Sentry5 USB Controller + 4716 BCM47xx Sentry5 USB Host Controller + 4717 BCM47xx Sentry5 USB Device Controller + 4718 Sentry5 Crypto Accelerator + 5365 BCM5365P Sentry5 Host Bridge + 5600 BCM5600 StrataSwitch 24+2 Ethernet Switch Controller + 5605 BCM5605 StrataSwitch 24+2 Ethernet Switch Controller + 5615 BCM5615 StrataSwitch 24+2 Ethernet Switch Controller + 5625 BCM5625 StrataSwitch 24+2 Ethernet Switch Controller + 5645 BCM5645 StrataSwitch 24+2 Ethernet Switch Controller + 5670 BCM5670 8-Port 10GE Ethernet Switch Fabric + 5680 BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller 5690 BCM5690 12-port Multi-Layer Gigabit Ethernet Switch + 5691 BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller 5820 BCM5820 Crypto Accelerator 5821 BCM5821 Crypto Accelerator + 5822 BCM5822 Crypto Accelerator + 5823 BCM5823 Crypto Accelerator + 5824 BCM5824 Crypto Accelerator + 5840 BCM5840 Crypto Accelerator + 5841 BCM5841 Crypto Accelerator + 5850 BCM5850 Crypto Accelerator 14e5 Pixelfusion Ltd 14e6 SHINING Technology Inc 14e7 3CX @@ -6823,11 +6969,16 @@ 1619 FarSite Communications Ltd 0400 FarSync T2P (2 port X.21/V.35/V.24) 0440 FarSync T4P (4 port X.21/V.35/V.24) +# www.rioworks.com +161f Rioworks 1626 TDK Semiconductor Corp. 8410 RTL81xx Fast Ethernet 1629 Kongsberg Spacetec AS 1003 Format synchronizer v3.0 2002 Fast Universal Data Output +# This seems to occur on their 802.11b Wireless card WMP-11 +1637 Linksys + 3874 Linksys 802.11b WMP11 PCI Wireless card 1638 Standard Microsystems Corp [SMC] 1100 SMC2602W EZConnect/Addtron AWA-100/Eumitcom WL11000 163c Smart Link Ltd. @@ -6862,6 +7013,7 @@ 168c 0013 WG511T Wireless CardBus Adapter 168c 1025 DWL-G650B2 Wireless CardBus Adapter 1014 AR5212 802.11abg NIC +16a5 Tekram Technology Co.,Ltd. 16ab Global Sun Technology Inc 1100 GL24110P 1101 PLX9052 PCMCIA-to-PCI Wireless LAN @@ -6874,9 +7026,13 @@ 16cd Densitron Technologies # www.pikatechnologies.com 16df PIKA Technologies Inc. +16e3 European Space Agency + 1e0f LEON2FT Processor 16ec U.S. Robotics 00ff USR997900 10/100 Mbps PCI Network Card 3685 Wireless Access PCI Adapter Model 022415 +16f4 Vweb Corp + 8000 VW2010 16f6 VideoTele.com, Inc. # www.internetmachines.com 1702 Internet Machines Corporation (IMC) @@ -6884,8 +7040,12 @@ 170b NetOctave 0100 NSP2000-SSL crypto accelerator 170c YottaYotta Inc. +# Seems to be a 2nd ID for Vitesse Semiconductor +1725 Vitesse Semiconductor + 7174 VSC7174 PCI/PCI-X Serial ATA Host Bus Controller 172a Accelerated Encryption 1737 Linksys + 0013 WMP54G Wireless Pci Card 1032 Gigabit Network Adapter 1737 0015 EG1032 v2 Instant Gigabit Network Adapter 1064 Gigabit Network Adapter @@ -6914,10 +7074,12 @@ 0004 CAMAC Controller 0005 PROFIBUS 0006 AMCC HOTlink +1797 JumpTec h, GMBH 1799 Belkin 6001 Wireless PCI Card - F5D6001 6020 Wireless PCMCIA Card - F5D6020 6060 Wireless PDA Card - F5D6060 + 7000 Wireless PCI Card - F5D7000 17af Hightech Information System Ltd. 17b3 Hawking Technologies ab08 PN672TX 10/100 Ethernet @@ -6929,6 +7091,9 @@ 2280 USB 2.0 # S2io ships 10Gb PCI-X Ethernet adapters www.s2io.com 17d5 S2io Inc. +# Supplying full name for a currently green entry +17fe Linksys, A Division of Cisco Systems + 2220 [AirConn] INPROCOMM IPN 2220 WLAN Adapter (rev 01) 1813 Ambient Technologies Inc 4000 HaM controllerless modem 16be 0001 V9x HAM Data Fax Modem @@ -6937,6 +7102,8 @@ 1814 RaLink 0101 Wireless PCI Adpator RT2400 / RT2460 0201 Ralink RT2500 802.11 Cardbus Reference Card +1820 InfiniCon Systems Inc. +1822 Twinhan Technology Co. Ltd 1830 Credence Systems Corporation 1851 Microtune, Inc. 1852 Anritsu Corp. @@ -6952,6 +7119,8 @@ # found e.g. on KNC DVB-S card 1894 KNC One 18a1 Astute Networks Inc. +18bc Info-Tek Corp. +18c9 ARVOO Engineering BV 18ca XGI - Xabre Graphics Inc 0040 Volari V8 18e6 MPL AG @@ -7018,6 +7187,7 @@ 0008 GLINT Gamma G1 0009 Permedia II 2D+3D 1040 0011 AccelStar II + 13e9 1000 6221L-4U 3d3d 0100 AccelStar II 3D Accelerator 3d3d 0111 Permedia 3:16 3d3d 0114 Santa Ana @@ -7269,10 +7439,11 @@ 5555 Genroco, Inc 0003 TURBOstor HFP-832 [HiPPI NIC] 5654 VoiceTronix Pty Ltd + 3132 OpenSwitch12 5700 Netpower 5851 Exacq Technologies 6356 UltraStor -6374 c't Magazin für Computertechnik +6374 c't Magazin für Computertechnik 6773 GPPCI 6409 Logitec Corp. 6666 Decision Computer International Co. @@ -7292,6 +7463,8 @@ 0008 1000 WorldMark 4300 INCA ASIC 0039 21145 Fast Ethernet 0122 82437FX + 0309 80303 I/O Processor PCI-to-PCI Bridge + 030d 80312 I/O Companion Chip PCI-to-PCI Bridge 0326 PCI Bridge Hub I/OxAPIC Interrupt Controller A 0327 PCI Bridge Hub I/OxAPIC Interrupt Controller B 0329 PCI Bridge Hub A @@ -7315,13 +7488,38 @@ 0340 41210 [Lanai] Serial to Parallel PCI Bridge # B-segment bridge 0341 41210 [Lanai] Serial to Parallel PCI Bridge - 0482 82375EB - 0483 82424ZX [Saturn] - 0484 82378IB [SIO ISA Bridge] - 0486 82430ZX [Aries] - 04a3 82434LX [Mercury/Neptune] + 0482 82375EB/SB PCI to EISA Bridge + 0483 82424TX/ZX [Saturn] CPU to PCI bridge + 0484 82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge + 0486 82425EX/ZX [Aries] PCIset with ISA bridge + 04a3 82434LX/NX [Mercury/Neptune] Processor to PCI bridge 04d0 82437FX [Triton FX] + 0500 E8870 Processor bus control + 0501 E8870 Memory controller +# and registers common to both SPs + 0502 E8870 Scalability Port 0 +# and global performance monitoring + 0503 E8870 Scalability Port 1 + 0510 E8870IO Hub Interface Port 0 registers (8-bit compatibility port) + 0511 E8870IO Hub Interface Port 1 registers + 0512 E8870IO Hub Interface Port 2 registers + 0513 E8870IO Hub Interface Port 3 registers + 0514 E8870IO Hub Interface Port 4 registers + 0515 E8870IO General SIOH registers + 0516 E8870IO RAS registers + 0530 E8870SP Scalability Port 0 registers + 0531 E8870SP Scalability Port 1 registers + 0532 E8870SP Scalability Port 2 registers + 0533 E8870SP Scalability Port 3 registers + 0534 E8870SP Scalability Port 4 registers + 0535 E8870SP Scalability Port 5 registers +# (bi-interleave 0) and global registers that are neither per-port nor per-interleave + 0536 E8870SP Interleave registers 0 and 1 +# (bi-interleave 1) + 0537 E8870SP Interleave registers 2 and 3 0600 RAID Controller + 8086 01c1 ICP Vortex GDT8546RZ + 8086 01f7 SCRU32 0960 80960RP [i960 RP Microprocessor/Bridge] 0962 80960RM [i960RM Bridge] 0964 80960RP [i960 RP Microprocessor/Bridge] @@ -7406,6 +7604,7 @@ 1019 82547EI Gigabit Ethernet Controller (LOM) 1458 1019 GA-8IPE1000 Pro2 motherboard (865PE) 8086 1019 PRO/1000 CT Desktop Connection + 8086 3427 S875WP1-E mainboard 101d 82546EB Gigabit Ethernet Controller 8086 1000 PRO/1000 MT Quad Port Server Adapter 101e 82540EP Gigabit Ethernet Controller (Mobile) @@ -7453,13 +7652,16 @@ 16be 1040 V.9X DSP Data Fax Modem 1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter 8086 2527 MIM2000/Centrino - 1048 Intel(R) PRO/10GbE LR Server Adapter + 1048 PRO/10GbE LR Server Adapter 8086 a01f PRO/10GbE LR Server Adapter 8086 a11f PRO/10GbE LR Server Adapter 1050 82562EZ 10/100 Ethernet Controller 1462 728c 865PE Neo2 (MS-6728) + 1462 758c MS-6758 (875P Neo) + 8086 3427 S875WP1-E mainboard 1051 82801EB/ER (ICH5/ICH5R) integrated LAN Controller 1059 82551QM Ethernet Controller + 1065 82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller # Updated controller name from 82547EI to 82547GI 1075 82547GI Gigabit Ethernet Controller 8086 0075 PRO/1000 CT Network Connection @@ -7516,8 +7718,8 @@ 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 4c53 1070 PC6 mainboard - 1221 82092AA_0 - 1222 82092AA_1 + 1221 82092AA PCI to PCMCIA Bridge + 1222 82092AA IDE Controller 1223 SAA7116 1225 82452KX/GX [Orion] 1226 82596 PRO/10 PCI @@ -7587,6 +7789,7 @@ 1259 2560 AT-2560 100 1259 2561 AT-2560 100 FX Ethernet Adapter 1266 0001 NE10/100 Adapter + 13e9 1000 6221L-4U 144d 2501 SEM-2000 MiniPCI LAN Adapter 144d 2502 SEM-2100IL MiniPCI LAN Adapter 1668 1100 EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) @@ -7675,6 +7878,7 @@ 8086 3010 EtherExpress PRO/100 S Network Connection 8086 3011 EtherExpress PRO/100 S Network Connection 8086 3012 EtherExpress PRO/100 Network Connection + 8086 3411 SDS2 Mainboard 122d 430FX - 82437FX TSC [Triton I] 122e 82371FB PIIX ISA [Triton I] 1230 82371FB PIIX IDE [Triton I] @@ -7682,13 +7886,15 @@ 1234 430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) 1235 430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP) 1237 440FX - 82441FX PMC [Natoma] - 1239 82371FB - 123b 82380PB - 123c 82380AB + 1239 82371FB PIIX IDE Interface + 123b 82380PB PCI to PCI Docking Bridge + 123c 82380AB (MISA) Mobile PCI-to-ISA Bridge 123d 683053 Programmable Interrupt Device +# in" hidden" mode + 123e 82466GX (IHPC) Integrated Hot-Plug Controller 123f 82466GX Integrated Hot-Plug Controller (IHPC) - 1240 752 AGP - 124b 82380FB + 1240 82752 (752) AGP Graphics Accelerator + 124b 82380FB (MPCI2) Mobile Docking Controller 1250 430HX - 82439HX TXC [Triton II] 1360 82806AA PCI64 Hub PCI Bridge 1361 82806AA PCI64 Hub Controller (HRes) @@ -7782,7 +7988,7 @@ 2446 Intel 537 [82801BA/BAM AC'97 Modem] 1025 1016 Travelmate 612 TX 104d 80df Vaio PCG-FX403 - 2448 82801BAM/CAM PCI Bridge + 2448 82801 PCI Bridge 2449 82801BA/BAM/CA/CAM Ethernet Controller 0e11 0012 EtherExpress PRO/100 VM 0e11 0091 EtherExpress PRO/100 VE @@ -7824,7 +8030,7 @@ 8086 4532 D815EEA2 mainboard 8086 4557 D815EGEW Mainboard 244c 82801BAM ISA Bridge (LPC) - 244e 82801BA/CA/DB/EB/ER Hub interface to PCI Bridge + 244e 82801 PCI Bridge 1014 0267 NetVista A30p 2450 82801E ISA Bridge (LPC) 2452 82801E USB @@ -7879,45 +8085,45 @@ 248b 82801CA Ultra ATA Storage Controller 15d9 3480 P4DP6 248c 82801CAM ISA Bridge (LPC) - 24c0 82801DB (ICH4) LPC Bridge + 24c0 82801DB/DBL (ICH4/ICH4-L) LPC Bridge 1014 0267 NetVista A30p 1462 5800 845PE Max (MS-6580) - 24c2 82801DB (ICH4) USB UHCI #1 + 24c2 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 1014 0267 NetVista A30p 1071 8160 MIM2000 1462 5800 845PE Max (MS-6580) - 24c3 82801DB/DBM (ICH4) SMBus Controller + 24c3 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller 1014 0267 NetVista A30p 1071 8160 MIM2000 1458 24c2 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) 4c53 1090 Cx9 / Vx9 mainboard - 24c4 82801DB (ICH4) USB UHCI #2 + 24c4 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 1014 0267 NetVista A30p 1071 8160 MIM2000 1462 5800 845PE Max (MS-6580) 4c53 1090 Cx9 / Vx9 mainboard - 24c5 82801DB (ICH4) AC'97 Audio Controller + 24c5 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller 0e11 00b8 Analog Devices Inc. codec [SoundMAX] 1014 0267 NetVista A30p 1071 8160 MIM2000 1458 a002 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) - 24c6 82801DB (ICH4) AC'97 Modem Controller + 24c6 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller 1071 8160 MIM2000 - 24c7 82801DB (ICH4) USB UHCI #3 + 24c7 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 1014 0267 NetVista A30p 1071 8160 MIM2000 1462 5800 845PE Max (MS-6580) 24ca 82801DBM (ICH4) Ultra ATA Storage Controller 1071 8160 MIM2000 - 24cb 82801DB (ICH4) Ultra ATA 100 Storage Controller + 24cb 82801DB/DBL (ICH4/ICH4-L) UltraATA-100 IDE Controller 1014 0267 NetVista A30p 1458 24c2 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) 4c53 1090 Cx9 / Vx9 mainboard 24cc 82801DBM LPC Interface Controller - 24cd 82801DB (ICH4) USB2 EHCI Controller + 24cd 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller 1014 0267 NetVista A30p 1071 8160 MIM2000 1462 3981 845PE Max (MS-6580) @@ -7927,19 +8133,23 @@ 103c 12bc d530 CMT (DG746A) 1458 24d1 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24d2 82801EB/ER (ICH5/ICH5R) USB UHCI #1 103c 12bc d530 CMT (DG746A) 1043 80a6 P4P800 Mainboard 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24d3 82801EB/ER (ICH5/ICH5R) SMBus Controller 1043 80a6 P4P800 Mainboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24d4 82801EB/ER (ICH5/ICH5R) USB UHCI #2 103c 12bc d530 CMT (DG746A) 1043 80a6 P4P800 Mainboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24d5 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller 103c 12bc Analog Devices codec [SoundMAX Integrated Digital Audio] 1043 80f3 P4P800 Mainboard @@ -7950,22 +8160,26 @@ 1043 80a6 P4P800 Mainboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24db 82801EB/ER (ICH5/ICH5R) Ultra ATA 100 Storage Controller 103c 12bc d530 CMT (DG746A) 1043 80a6 P4P800 Mainboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7580 MSI 875P + 8086 3427 S875WP1-E mainboard 24dc 82801EB LPC Interface Controller 24dd 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller 103c 12bc d530 CMT (DG746A) 1043 80a6 P4P800 Mainboard 1458 5006 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24de 82801EB/ER (ICH5/ICH5R) USB UHCI #4 1043 80a6 P4P800 Mainboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) + 8086 3427 S875WP1-E mainboard 24df 82801EB (ICH5R) SATA (cc=RAID) 2500 82820 820 (Camino) Chipset Host Bridge (MCH) 1028 0095 Precision Workstation 220 Chipset @@ -7984,23 +8198,23 @@ 2534 82860 860 (Wombat) Chipset PCI Bridge 2540 E7500 Memory Controller Hub 15d9 3480 P4DP6 - 2541 E7000 Series Host RASUM Controller + 2541 E7500/E7501 Host RASUM Controller 15d9 3480 P4DP6 4c53 1090 Cx9 / Vx9 mainboard - 2543 E7000 Series Hub Interface B PCI-to-PCI Bridge - 2544 E7000 Series Hub Interface B RASUM Controller + 2543 E7500/E7501 Hub Interface B PCI-to-PCI Bridge + 2544 E7500/E7501 Hub Interface B RASUM Controller 4c53 1090 Cx9 / Vx9 mainboard - 2545 E7000 Series Hub Interface C PCI-to-PCI Bridge - 2546 E7000 Series Hub Interface C RASUM Controller - 2547 E7000 Series Hub Interface D PCI-to-PCI Bridge - 2548 E7000 Series Hub Interface D RASUM Controller + 2545 E7500/E7501 Hub Interface C PCI-to-PCI Bridge + 2546 E7500/E7501 Hub Interface C RASUM Controller + 2547 E7500/E7501 Hub Interface D PCI-to-PCI Bridge + 2548 E7500/E7501 Hub Interface D RASUM Controller 254c E7501 Memory Controller Hub 4c53 1090 Cx9 / Vx9 mainboard 2550 E7505 Memory Controller Hub - 2551 E7000 Series RAS Controller - 2552 E7000 Series Processor to AGP Controller - 2553 E7000 Series Hub Interface B PCI-to-PCI Bridge - 2554 E7000 Series Hub Interface B PCI-to-PCI Bridge RAS Controller + 2551 E7505/E7205 Series RAS Controller + 2552 E7505/E7205 PCI-to-AGP Bridge + 2553 E7505 Hub Interface B PCI-to-PCI Bridge + 2554 E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller 255d E7205 Memory Controller Hub 2560 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface 1458 2560 GA-8PE667 Ultra @@ -8022,14 +8236,17 @@ 2579 82875P Processor to AGP Controller 257b 82875P Processor to PCI to CSA Bridge 257e 82875P Processor to I/O Memory Interface - 2580 Memory Controller Hub - 2581 Memory Controller Hub PCI Express Port - 2582 Graphics Controller - 2584 Workstation Memory Controller Hub - 2585 Workstation Memory Controller Hub PCI Express Port + 2580 915G/P/GV Processor to I/O Controller + 2581 915G/P/GV PCI Express Root Port + 2582 82915G Express Chipset Family Graphics Controller + 2584 925X Memory Controller Hub + 2585 925X PCI Express Root Port 2588 Server Memory Controller Hub 2589 Server Memory Controller Hub PCI Express Port 258a Graphics Controller + 2590 Mobile Memory Controller Hub + 2591 Mobile Memory Controller Hub PCI Express Port + 2592 Mobile Graphics Controller 25a1 6300ESB LPC Interface Controller 25a2 6300ESB PATA Storage Controller 25a3 6300ESB SATA Storage Controller @@ -8043,26 +8260,63 @@ 25ad 6300ESB USB2 Enhanced Host Controller 25ae 6300ESB 64-bit PCI-X Bridge 25b0 6300ESB SATA RAID Controller - 2640 I/O Controller Hub LPC - 2641 I/O Controller Hub LPC - 2642 I/O Controller Hub LPC - 2651 I/O Controller Hub SATA cc=ide - 2652 I/O Controller Hub SATA cc=raid - 2658 I/O Controller Hub USB - 2659 I/O Controller Hub USB - 265a I/O Controller Hub USB - 265b I/O Controller Hub USB - 265c I/O Controller Hub USB2 - 2660 I/O Controller Hub PCI Express Port 0 - 2662 I/O Controller Hub PCI Express Port 1 - 2664 I/O Controller Hub PCI Express Port 2 - 2666 I/O Controller Hub PCI Express Port 3 - 2668 I/O Controller Hub Audio - 266a I/O Controller Hub SMBus - 266d I/O Controller Hub Modem - 266e I/O Controller Hub Audio - 266f I/O Controller Hub PATA - 2782 Graphics Controller + 2600 Server Hub Interface + 2601 Server Hub PCI Express x4 Port D + 2602 Server Hub PCI Express x4 Port C0 + 2603 Server Hub PCI Express x4 Port C1 + 2604 Server Hub PCI Express x4 Port B0 + 2605 Server Hub PCI Express x4 Port B1 + 2606 Server Hub PCI Express x4 Port A0 + 2607 Server Hub PCI Express x4 Port A1 + 2608 Server Hub PCI Express x8 Port C + 2609 Server Hub PCI Express x8 Port B + 260a Server Hub PCI Express x8 Port A + 260c Server Hub IMI Registers + 2610 Server Hub System Bus, Boot, and Interrupt Registers + 2611 Server Hub Address Mapping Registers + 2612 Server Hub RAS Registers + 2613 Server Hub Performance Monitoring Registers + 2614 Server Hub Performance Monitoring Registers + 2615 Server Hub Performance Monitoring Registers + 2617 Server Hub Debug Registers + 2618 Server Hub Debug Registers + 2619 Server Hub Debug Registers + 261a Server Hub Debug Registers + 261b Server Hub Debug Registers + 261c Server Hub Debug Registers + 261d Server Hub Debug Registers + 261e Server Hub Debug Registers + 2620 External Memory Bridge + 2621 External Memory Bridge Control Registers + 2622 External Memory Bridge Memory Interleaving Registers + 2623 External Memory Bridge DDR Initialization and Calibration + 2624 External Memory Bridge Reserved Registers + 2625 External Memory Bridge Reserved Registers + 2626 External Memory Bridge Reserved Registers + 2627 External Memory Bridge Reserved Registers + 2640 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge + 2641 82801FBM (ICH6M) LPC Interface Bridge + 2642 82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge + 2651 82801FB/FW (ICH6/ICH6W) SATA Controller + 2652 82801FR/FRW (ICH6R/ICH6RW) SATA Controller + 2653 82801FBM (ICH6M) SATA Controller + 2658 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 + 2659 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 + 265a 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 + 265b 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 + 265c 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller + 2660 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 + 2662 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 + 2664 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 + 2666 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 + 2668 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller + 266a 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller + 266c 82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller + 266d 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller + 266e 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller + 266f 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller + 2782 82915G Express Chipset Family Graphics Controller + 2792 Mobile Graphics Controller 3092 Integrated RAID 3200 GD31244 PCI-X SATA HBA 3340 82855PM Processor to I/O Controller @@ -8092,7 +8346,7 @@ 359a Memory Controller Hub PCI Express Port C1 359b Memory Controller Hub Extended Configuration Registers 359e Workstation Memory Controller Hub - 4220 Intel(R) PRO/Wireless 2200BG + 4220 PRO/Wireless 2200BG 5200 EtherExpress PRO/100 Intelligent Server 5201 EtherExpress PRO/100 Intelligent Server 8086 0001 EtherExpress PRO/100 Server Ethernet Adapter @@ -8155,7 +8409,7 @@ 7601 82372FB PIIX5 IDE 7602 82372FB PIIX5 USB 7603 82372FB PIIX5 SMBus - 7800 i740 + 7800 82740 (i740) AGP Graphics Accelerator 003d 0008 Starfighter AGP 003d 000b Starfighter AGP 1092 0100 Stealth II G460 @@ -8175,7 +8429,9 @@ 84e6 460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB) 84ea 460GX - 84460GX AGP Bridge (GXB function 1) 8500 IXP4xx Family Network Processor (IXP420, 421, 422, 425 and IXC1100) - 9000 Intel IXP2000 Familly Network Processor + 9000 Intel IXP2000 Family Network Processor + 9001 Intel IXP2400 Network Processor + 9004 Intel IXP2800 Network Processor 9621 Integrated RAID 9622 Integrated RAID 9641 Integrated RAID @@ -8184,10 +8440,12 @@ # observed, and documented in Intel revision note; new mask of 1011:0026 b154 21154 PCI-to-PCI Bridge b555 21555 Non transparent PCI-to-PCI Bridge + 1331 0030 Radisys ENP-2611 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard e4bf 1000 CC8-1-BLUES ffff 450NX/GX [Orion] - 82453KX/GX Memory controller [BUG] +8401 TRENDware International Inc. 8800 Trigem Computer Inc. 2008 Video assistent component 8866 T-Square Design Inc. @@ -8352,15 +8610,18 @@ 00c1 AIC-7899B U160/m 00c3 AIC-7899D U160/m 00c5 RAID subsystem HBA - 1028 00c5 PowerEdge 2550 + 1028 00c5 PowerEdge 2400,2500,2550,4400 00cf AIC-7899P U160/m 1028 00ce PowerEdge 1400 1028 00d1 PowerEdge 2550 10f1 2462 Thunder K7 S2462 15d9 9005 Onboard SCSI Host Adapter + 8086 3411 SDS2 Mainboard 0250 ServeRAID Controller 1014 0279 ServeRAID-xx 1014 028c ServeRAID-xx +# from kernel sources + 0279 ServeRAID 6M 0283 AAC-RAID 9005 0283 Catapult 0284 AAC-RAID @@ -8429,7 +8690,7 @@ 1000 0012 1P2S 9845 PCI 9845 Multi-I/O Controller 1000 0006 0P6S (6 port 16550a serial card) - 9855 PCI 9855 Multi-I/O Controller 4 Serial 1 Parallel + 9855 PCI 9855 Multi-I/O Controller 1000 0014 1P4S 9902 Stargen Inc. 0001 SG2010 PCI over Starfabric Bridge @@ -8444,6 +8705,7 @@ a304 Sony a727 3Com Corporation aa42 Scitex Digital Video ac1e Digital Receiver Technology Inc +aecb Adrienne Electronics Corporation b1b3 Shiva Europe Limited # Pinnacle should be 11bd, but they got it wrong several times --mj bd11 Pinnacle Systems, Inc. (Wrong ID) @@ -8464,9 +8726,9 @@ d84d Exsys dead Indigita Corporation e000 Winbond e000 W89C940 -# see : http://www.schoenfeld.de/inside/Inside_CWMK3.txt -e159 Individual Computers - Jens Schoenfeld - 0001 Intel 537 +# see also : http://www.schoenfeld.de/inside/Inside_CWMK3.txt maybe a misuse of TJN id or it use the TJN 3XX chip for other applic +e159 Tiger Jet Network Inc. + 0001 Tiger3XX Modem/ISDN interface 0059 0001 128k ISDN-S/T Adapter 0059 0003 128k ISDN-U Adapter 0002 Tiger100APC ISDN chipset diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index ee7b9feb6..e88017d6f 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -373,7 +373,10 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev * dev, int max child->bridge_ctl = bctl; cmax = pci_scan_child_bus(child); - if (cmax > max) max = cmax; + if (cmax > max) + max = cmax; + if (child->subordinate > max) + max = child->subordinate; } else { /* * We need to assign a number to this bus which we always @@ -571,6 +574,11 @@ static int pci_cfg_space_size(struct pci_dev *dev) return PCI_CFG_SPACE_SIZE; } +static void pci_release_bus_bridge_dev(struct device *dev) +{ + kfree(dev); +} + /* * Read the config data for a PCI device, sanity-check it * and fill in the dev structure... @@ -640,7 +648,7 @@ pci_scan_single_device(struct pci_bus *bus, int devfn) return NULL; /* Fix up broken headers */ - pci_fixup_device(PCI_FIXUP_HEADER, dev); + pci_fixup_device(pci_fixup_header, dev); /* * Add the device to our list of discovered devices @@ -772,6 +780,7 @@ struct pci_bus * __devinit pci_scan_bus_parented(struct device *parent, int bus, memset(dev, 0, sizeof(*dev)); dev->parent = parent; + dev->release = pci_release_bus_bridge_dev; sprintf(dev->bus_id, "pci%04x:%02x", pci_domain_nr(b), bus); device_register(dev); b->bridge = get_device(dev); diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 6e7c35013..47c4b43ab 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1,10 +1,10 @@ /* - * $Id: quirks.c,v 1.5 1998/05/02 19:24:14 mj Exp $ - * * This file contains work-arounds for many known PCI hardware * bugs. Devices present only on certain architectures (host * bridges et cetera) should be handled in arch-specific code. * + * Note: any quirks for hotpluggable devices must _NOT_ be declared __init. + * * Copyright (c) 1999 Martin Mares * * The bridge optimization stuff has been removed. If you really @@ -39,6 +39,7 @@ static void __devinit quirk_passive_release(struct pci_dev *dev) } } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release ); /* The VIA VP2/VP3/MVP3 seem to have some 'features'. There may be a workaround but VIA don't answer queries. If you happen to have good contacts at VIA @@ -46,8 +47,6 @@ static void __devinit quirk_passive_release(struct pci_dev *dev) This appears to be BIOS not version dependent. So presumably there is a chipset level fix */ - - int isa_dma_bridge_buggy; /* Exported */ static void __devinit quirk_isa_dma_hangs(struct pci_dev *dev) @@ -57,34 +56,47 @@ static void __devinit quirk_isa_dma_hangs(struct pci_dev *dev) printk(KERN_INFO "Activating ISA DMA hang workarounds.\n"); } } + /* + * Its not totally clear which chipsets are the problematic ones + * We know 82C586 and 82C596 variants are affected. + */ +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596, quirk_isa_dma_hangs ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371SB_0, quirk_isa_dma_hangs ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, quirk_isa_dma_hangs ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_dma_hangs ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs ); int pci_pci_problems; /* * Chipsets where PCI->PCI transfers vanish or hang */ - static void __devinit quirk_nopcipci(struct pci_dev *dev) { - if((pci_pci_problems&PCIPCI_FAIL)==0) - { + if ((pci_pci_problems & PCIPCI_FAIL)==0) { printk(KERN_INFO "Disabling direct PCI/PCI transfers.\n"); - pci_pci_problems|=PCIPCI_FAIL; + pci_pci_problems |= PCIPCI_FAIL; } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci ); /* * Triton requires workarounds to be used by the drivers */ - static void __devinit quirk_triton(struct pci_dev *dev) { - if((pci_pci_problems&PCIPCI_TRITON)==0) - { + if ((pci_pci_problems&PCIPCI_TRITON)==0) { printk(KERN_INFO "Limiting direct PCI/PCI transfers.\n"); - pci_pci_problems|=PCIPCI_TRITON; + pci_pci_problems |= PCIPCI_TRITON; } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_triton ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437VX, quirk_triton ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82439, quirk_triton ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82439TX, quirk_triton ); /* * VIA Apollo KT133 needs PCI latency patch @@ -104,19 +116,16 @@ static void __devinit quirk_vialatency(struct pci_dev *dev) /* Ok we have a potential problem chipset here. Now see if we have a buggy southbridge */ - p=pci_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, NULL); - if(p!=NULL) - { + p = pci_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, NULL); + if (p!=NULL) { pci_read_config_byte(p, PCI_CLASS_REVISION, &rev); /* 0x40 - 0x4f == 686B, 0x10 - 0x2f == 686A; thanks Dan Hollis */ /* Check for buggy part revisions */ if (rev < 0x40 || rev > 0x42) return; - } - else - { + } else { p = pci_find_device(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8231, NULL); - if(p==NULL) /* No problem parts */ + if (p==NULL) /* No problem parts */ return; pci_read_config_byte(p, PCI_CLASS_REVISION, &rev); /* Check for buggy part revisions */ @@ -145,27 +154,30 @@ static void __devinit quirk_vialatency(struct pci_dev *dev) pci_write_config_byte(dev, 0x76, busarb); printk(KERN_INFO "Applying VIA southbridge workaround.\n"); } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, quirk_vialatency ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8371_1, quirk_vialatency ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, quirk_vialatency ); /* * VIA Apollo VP3 needs ETBF on BT848/878 */ - static void __devinit quirk_viaetbf(struct pci_dev *dev) { - if((pci_pci_problems&PCIPCI_VIAETBF)==0) - { + if ((pci_pci_problems&PCIPCI_VIAETBF)==0) { printk(KERN_INFO "Limiting direct PCI/PCI transfers.\n"); - pci_pci_problems|=PCIPCI_VIAETBF; + pci_pci_problems |= PCIPCI_VIAETBF; } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_viaetbf ); + static void __devinit quirk_vsfx(struct pci_dev *dev) { - if((pci_pci_problems&PCIPCI_VSFX)==0) - { + if ((pci_pci_problems&PCIPCI_VSFX)==0) { printk(KERN_INFO "Limiting direct PCI/PCI transfers.\n"); - pci_pci_problems|=PCIPCI_VSFX; + pci_pci_problems |= PCIPCI_VSFX; } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576, quirk_vsfx ); /* * Ali Magik requires workarounds to be used by the drivers @@ -173,36 +185,38 @@ static void __devinit quirk_vsfx(struct pci_dev *dev) * workaround applied too * [Info kindly provided by ALi] */ - static void __init quirk_alimagik(struct pci_dev *dev) { - if((pci_pci_problems&PCIPCI_ALIMAGIK)==0) - { + if ((pci_pci_problems&PCIPCI_ALIMAGIK)==0) { printk(KERN_INFO "Limiting direct PCI/PCI transfers.\n"); - pci_pci_problems|=PCIPCI_ALIMAGIK|PCIPCI_TRITON; + pci_pci_problems |= PCIPCI_ALIMAGIK|PCIPCI_TRITON; } } - +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1647, quirk_alimagik ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1651, quirk_alimagik ); /* * Natoma has some interesting boundary conditions with Zoran stuff * at least */ - static void __devinit quirk_natoma(struct pci_dev *dev) { - if((pci_pci_problems&PCIPCI_NATOMA)==0) - { + if ((pci_pci_problems&PCIPCI_NATOMA)==0) { printk(KERN_INFO "Limiting direct PCI/PCI transfers.\n"); - pci_pci_problems|=PCIPCI_NATOMA; + pci_pci_problems |= PCIPCI_NATOMA; } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_natoma ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443LX_0, quirk_natoma ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443LX_1, quirk_natoma ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_0, quirk_natoma ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_1, quirk_natoma ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2, quirk_natoma ); /* * S3 868 and 968 chips report region size equal to 32M, but they decode 64M. * If it's needed, re-allocate the region. */ - static void __devinit quirk_s3_64M(struct pci_dev *dev) { struct resource *r = &dev->resource[0]; @@ -212,6 +226,8 @@ static void __devinit quirk_s3_64M(struct pci_dev *dev) r->end = 0x3ffffff; } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_S3, PCI_DEVICE_ID_S3_868, quirk_s3_64M ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_S3, PCI_DEVICE_ID_S3_968, quirk_s3_64M ); static void __devinit quirk_io_region(struct pci_dev *dev, unsigned region, unsigned size, int nr) { @@ -231,7 +247,6 @@ static void __devinit quirk_io_region(struct pci_dev *dev, unsigned region, unsi * ATI Northbridge setups MCE the processor if you even * read somewhere between 0x3b0->0x3bb or read 0x3d3 */ - static void __devinit quirk_ati_exploding_mce(struct pci_dev *dev) { printk(KERN_INFO "ATI Northbridge, reserving I/O ports 0x3b0 to 0x3bb.\n"); @@ -239,6 +254,7 @@ static void __devinit quirk_ati_exploding_mce(struct pci_dev *dev) request_region(0x3b0, 0x0C, "RadeonIGP"); request_region(0x3d3, 0x01, "RadeonIGP"); } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_exploding_mce ); /* * Let's make the southbridge information explicit instead @@ -260,6 +276,7 @@ static void __devinit quirk_ali7101_acpi(struct pci_dev *dev) pci_read_config_word(dev, 0xE2, ®ion); quirk_io_region(dev, region, 32, PCI_BRIDGE_RESOURCES+1); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101, quirk_ali7101_acpi ); /* * PIIX4 ACPI: Two IO regions pointed to by longwords at @@ -275,6 +292,7 @@ static void __devinit quirk_piix4_acpi(struct pci_dev *dev) pci_read_config_dword(dev, 0x90, ®ion); quirk_io_region(dev, region, 32, PCI_BRIDGE_RESOURCES+1); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, quirk_piix4_acpi ); /* * ICH4, ICH4-M, ICH5, ICH5-M ACPI: Three IO regions pointed to by longwords at @@ -291,6 +309,15 @@ static void __devinit quirk_ich4_lpc_acpi(struct pci_dev *dev) pci_read_config_dword(dev, 0x58, ®ion); quirk_io_region(dev, region, 64, PCI_BRIDGE_RESOURCES+1); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_10, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, quirk_ich4_lpc_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, quirk_ich4_lpc_acpi ); /* * VIA ACPI: One IO region pointed to by longword at @@ -308,6 +335,7 @@ static void __devinit quirk_vt82c586_acpi(struct pci_dev *dev) quirk_io_region(dev, region, 256, PCI_BRIDGE_RESOURCES); } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_vt82c586_acpi ); /* * VIA VT82C686 ACPI: Three IO region pointed to by (long)words at @@ -330,6 +358,7 @@ static void __devinit quirk_vt82c686_acpi(struct pci_dev *dev) smb &= PCI_BASE_ADDRESS_IO_MASK; quirk_io_region(dev, smb, 16, PCI_BRIDGE_RESOURCES + 2); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_vt82c686_acpi ); #ifdef CONFIG_X86_IO_APIC @@ -358,6 +387,7 @@ static void __devinit quirk_via_ioapic(struct pci_dev *dev) /* Offset 0x58: External APIC IRQ output control */ pci_write_config_byte (dev, 0x58, tmp); } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_ioapic ); /* * The AMD io apic can hang the box when an apic irq is masked. @@ -368,30 +398,29 @@ static void __devinit quirk_via_ioapic(struct pci_dev *dev) * noapic specified. For the moment we assume its the errata. We may be wrong * of course. However the advice is demonstrably good even if so.. */ - static void __devinit quirk_amd_ioapic(struct pci_dev *dev) { u8 rev; pci_read_config_byte(dev, PCI_REVISION_ID, &rev); - if(rev >= 0x02) - { + if (rev >= 0x02) { printk(KERN_WARNING "I/O APIC: AMD Errata #22 may be present. In the event of instability try\n"); printk(KERN_WARNING " : booting with the \"noapic\" option.\n"); } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic ); static void __init quirk_ioapic_rmw(struct pci_dev *dev) { if (dev->devfn == 0 && dev->bus->number == 0) sis_apic_bug = 1; } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_SI, PCI_ANY_ID, quirk_ioapic_rmw ); #define AMD8131_revA0 0x01 #define AMD8131_revB0 0x11 #define AMD8131_MISC 0x40 #define AMD8131_NIOAMODE_BIT 0 - static void __init quirk_amd_8131_ioapic(struct pci_dev *dev) { unsigned char revid, tmp; @@ -407,6 +436,7 @@ static void __init quirk_amd_8131_ioapic(struct pci_dev *dev) pci_write_config_byte( dev, AMD8131_MISC, tmp); } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_APIC, quirk_amd_8131_ioapic ); #endif /* CONFIG_X86_IO_APIC */ @@ -444,8 +474,10 @@ static void __devinit quirk_via_acpi(struct pci_dev *d) if (irq && (irq != 2)) d->irq = irq; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_acpi ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_acpi ); -static void __devinit quirk_via_irqpic(struct pci_dev *dev) +static void quirk_via_irqpic(struct pci_dev *dev) { u8 irq, new_irq = dev->irq & 0xf; @@ -459,6 +491,10 @@ static void __devinit quirk_via_irqpic(struct pci_dev *dev) pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8233_5, quirk_via_irqpic ); /* @@ -480,6 +516,8 @@ static void __devinit quirk_piix3_usb(struct pci_dev *dev) legsup &= 0x50ef; pci_write_config_word(dev, 0xc0, legsup); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371SB_2, quirk_piix3_usb ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_2, quirk_piix3_usb ); /* * VIA VT82C598 has its device ID settable and many BIOSes @@ -492,6 +530,7 @@ static void __devinit quirk_vt82c598_id(struct pci_dev *dev) pci_write_config_byte(dev, 0xfc, 0); pci_read_config_word(dev, PCI_DEVICE_ID, &dev->device); } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id ); /* * CardBus controllers have a legacy base address that enables them @@ -505,6 +544,7 @@ static void __devinit quirk_cardbus_legacy(struct pci_dev *dev) return; pci_write_config_dword(dev, PCI_CB_LEGACY_MODE_BASE, 0); } +DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, quirk_cardbus_legacy ); /* * Following the PCI ordering rules is optional on the AMD762. I'm not @@ -513,13 +553,11 @@ static void __devinit quirk_cardbus_legacy(struct pci_dev *dev) * To be fair to AMD, it follows the spec by default, its BIOS people * who turn it off! */ - static void __devinit quirk_amd_ordering(struct pci_dev *dev) { u32 pcic; pci_read_config_dword(dev, 0x4C, &pcic); - if((pcic&6)!=6) - { + if ((pcic&6)!=6) { pcic |= 6; printk(KERN_WARNING "BIOS failed to enable PCI standards compliance, fixing this error.\n"); pci_write_config_dword(dev, 0x4C, pcic); @@ -528,6 +566,7 @@ static void __devinit quirk_amd_ordering(struct pci_dev *dev) pci_write_config_dword(dev, 0x84, pcic); } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_FE_GATE_700C, quirk_amd_ordering ); /* * DreamWorks provided workaround for Dunord I-3000 problem @@ -536,18 +575,26 @@ static void __devinit quirk_amd_ordering(struct pci_dev *dev) * assigned to it. We force a larger allocation to ensure that * nothing gets put too close to it. */ - static void __devinit quirk_dunord ( struct pci_dev * dev ) { - struct resource * r = & dev -> resource [ 1 ]; - r -> start = 0; - r -> end = 0xffffff; + struct resource *r = &dev->resource [1]; + r->start = 0; + r->end = 0xffffff; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DUNORD, PCI_DEVICE_ID_DUNORD_I3000, quirk_dunord ); +/* + * i82380FB mobile docking controller: its PCI-to-PCI bridge + * is subtractive decoding (transparent), and does indicate this + * in the ProgIf. Unfortunately, the ProgIf value is wrong - 0x80 + * instead of 0x01. + */ static void __devinit quirk_transparent_bridge(struct pci_dev *dev) { dev->transparent = 1; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82380FB, quirk_transparent_bridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_TOSHIBA, 0x605, quirk_transparent_bridge ); /* * Common misconfiguration of the MediaGX/Geode PCI master that will @@ -555,7 +602,6 @@ static void __devinit quirk_transparent_bridge(struct pci_dev *dev) * datasheets found at http://www.national.com/ds/GX for info on what * these bits do. */ - static void __init quirk_mediagx_master(struct pci_dev *dev) { u8 reg; @@ -566,6 +612,7 @@ static void __init quirk_mediagx_master(struct pci_dev *dev) pci_write_config_byte(dev, 0x41, reg); } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_PCI_MASTER, quirk_mediagx_master ); /* * As per PCI spec, ignore base address registers 0-3 of the IDE controllers @@ -584,7 +631,6 @@ static void __init quirk_mediagx_master(struct pci_dev *dev) * we do now ? We don't want is pci_enable_device to come along * and assign new resources. Both approaches work for that. */ - static void __devinit quirk_ide_bases(struct pci_dev *dev) { struct resource *res; @@ -616,34 +662,33 @@ static void __devinit quirk_ide_bases(struct pci_dev *dev) printk(KERN_INFO "PCI: Ignoring BAR%d-%d of IDE controller %s\n", first_bar, last_bar, pci_name(dev)); } +DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, quirk_ide_bases ); /* * Ensure C0 rev restreaming is off. This is normally done by * the BIOS but in the odd case it is not the results are corruption * hence the presence of a Linux check */ - static void __init quirk_disable_pxb(struct pci_dev *pdev) { u16 config; u8 rev; pci_read_config_byte(pdev, PCI_REVISION_ID, &rev); - if(rev != 0x04) /* Only C0 requires this */ + if (rev != 0x04) /* Only C0 requires this */ return; pci_read_config_word(pdev, 0x40, &config); - if(config & (1<<6)) - { + if (config & (1<<6)) { config &= ~(1<<6); pci_write_config_word(pdev, 0x40, config); printk(KERN_INFO "PCI: C0 revision 450NX. Disabling PCI restreaming.\n"); } } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb ); /* * VIA northbridges care about PCI_INTERRUPT_LINE */ - int interrupt_line_quirk; static void __devinit quirk_via_bridge(struct pci_dev *pdev) @@ -651,6 +696,7 @@ static void __devinit quirk_via_bridge(struct pci_dev *pdev) if(pdev->devfn == 0) interrupt_line_quirk = 1; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge ); /* * Serverworks CSB5 IDE does not fully support native mode @@ -667,15 +713,16 @@ static void __init quirk_svwks_csb5ide(struct pci_dev *pdev) quirk_ide_bases(pdev); } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE, quirk_svwks_csb5ide ); /* This was originally an Alpha specific thing, but it really fits here. * The i82375 PCI/EISA bridge appears as non-classified. Fix that. */ - static void __init quirk_eisa_bridge(struct pci_dev *dev) { dev->class = PCI_CLASS_BRIDGE_EISA << 8; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge ); /* * On ASUS P4B boards, the SMBus PCI Device within the ICH2/4 southbridge @@ -689,7 +736,6 @@ static void __init quirk_eisa_bridge(struct pci_dev *dev) * becomes necessary to do this tweak in two steps -- I've chosen the Host * bridge as trigger. */ - static int __initdata asus_hides_smbus = 0; static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) @@ -699,6 +745,7 @@ static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) switch(dev->subsystem_device) { case 0x8070: /* P4B */ case 0x8088: /* P4B533 */ + case 0x1626: /* L3C notebook */ asus_hides_smbus = 1; } if (dev->device == PCI_DEVICE_ID_INTEL_82845G_HB) @@ -730,8 +777,20 @@ static void __init asus_hides_smbus_hostbridge(struct pci_dev *dev) case 0x0890: /* HP Compaq nc6000 */ asus_hides_smbus = 1; } + if (dev->device == PCI_DEVICE_ID_INTEL_82865_HB) + switch (dev->subsystem_device) { + case 0x12bc: /* HP D330L */ + asus_hides_smbus = 1; + } } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845_HB, asus_hides_smbus_hostbridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845G_HB, asus_hides_smbus_hostbridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82850_HB, asus_hides_smbus_hostbridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82865_HB, asus_hides_smbus_hostbridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_7205_0, asus_hides_smbus_hostbridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855PM_HB, asus_hides_smbus_hostbridge ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge ); static void __init asus_hides_smbus_lpc(struct pci_dev *dev) { @@ -744,12 +803,60 @@ static void __init asus_hides_smbus_lpc(struct pci_dev *dev) if (val & 0x8) { pci_write_config_word(dev, 0xF2, val & (~0x8)); pci_read_config_word(dev, 0xF2, &val); - if(val & 0x8) + if (val & 0x8) printk(KERN_INFO "PCI: i801 SMBus device continues to play 'hide and seek'! 0x%x\n", val); else printk(KERN_INFO "PCI: Enabled i801 SMBus device\n"); } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, asus_hides_smbus_lpc ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, asus_hides_smbus_lpc ); + +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) +#include + +void __devinit quirk_intel_irqbalance(struct pci_dev *dev) +{ + u8 config, rev; + u32 word; + extern struct pci_raw_ops *raw_pci_ops; + + pci_read_config_byte(dev, PCI_CLASS_REVISION, &rev); + if (rev > 0x9) + return; + + printk(KERN_INFO "Intel E7520/7320/7525 detected."); + + /* enable access to config space*/ + pci_read_config_byte(dev, 0xf4, &config); + config |= 0x2; + pci_write_config_byte(dev, 0xf4, config); + + /* read xTPR register */ + raw_pci_ops->read(0, 0, 0x40, 0x4c, 2, &word); + + if (!(word & (1 << 13))) { + printk(KERN_INFO "Disabling irq balancing and affinity\n"); +#ifdef __i386__ +#ifdef CONFIG_IRQBALANCE + irqbalance_disable(""); +#endif + noirqdebug_setup(""); +#endif + no_irq_affinity = 1; + } + + config &= ~0x2; + /* disable access to config space*/ + pci_write_config_byte(dev, 0xf4, config); +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7520_MCH, quirk_intel_irqbalance); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7320_MCH, quirk_intel_irqbalance); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7525_MCH, quirk_intel_irqbalance); +#endif /* * SiS 96x south bridge: BIOS typically hides SMBus device... @@ -803,6 +910,19 @@ static void __init quirk_sis_96x_compatible(struct pci_dev *dev) { sis_96x_compatible = 1; } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_645, quirk_sis_96x_compatible ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_646, quirk_sis_96x_compatible ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_648, quirk_sis_96x_compatible ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_650, quirk_sis_96x_compatible ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_651, quirk_sis_96x_compatible ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_735, quirk_sis_96x_compatible ); + +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 ); + +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus ); +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus ); #ifdef CONFIG_X86_IO_APIC static void __init quirk_alder_ioapic(struct pci_dev *pdev) @@ -815,20 +935,21 @@ static void __init quirk_alder_ioapic(struct pci_dev *pdev) /* the first BAR is the location of the IO APIC...we must * not touch this (and it's already covered by the fixmap), so * forcibly insert it into the resource tree */ - if(pci_resource_start(pdev, 0) && pci_resource_len(pdev, 0)) + if (pci_resource_start(pdev, 0) && pci_resource_len(pdev, 0)) insert_resource(&iomem_resource, &pdev->resource[0]); /* The next five BARs all seem to be rubbish, so just clean * them out */ - for(i=1; i < 6; i++) { + for (i=1; i < 6; i++) { memset(&pdev->resource[i], 0, sizeof(pdev->resource[i])); } } +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic ); #endif -#ifdef CONFIG_SCSI_SATA -static void __init quirk_intel_ide_combined(struct pci_dev *pdev) +#ifdef CONFIG_IDE_GENERIC +static void __devinit quirk_intel_ide_combined(struct pci_dev *pdev) { u8 prog, comb, tmp; int ich = 0; @@ -898,171 +1019,58 @@ static void __init quirk_intel_ide_combined(struct pci_dev *pdev) else request_region(0x170, 8, "libata"); /* port 1 */ } -#endif /* CONFIG_SCSI_SATA */ +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_intel_ide_combined ); +#endif /* CONFIG_IDE_GENERIC */ -int pciehp_msi_quirk; +int pcie_mch_quirk; -static void __devinit quirk_pciehp_msi(struct pci_dev *pdev) +static void __devinit quirk_pcie_mch(struct pci_dev *pdev) { - pciehp_msi_quirk = 1; + pcie_mch_quirk = 1; } +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7520_MCH, quirk_pcie_mch ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7320_MCH, quirk_pcie_mch ); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_E7525_MCH, quirk_pcie_mch ); -/* - * The main table of quirks. - * - * Note: any hooks for hotpluggable devices in this table must _NOT_ - * be declared __init. - */ - -static struct pci_fixup pci_fixups[] __devinitdata = { - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_DUNORD, PCI_DEVICE_ID_DUNORD_I3000, quirk_dunord }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release }, - /* - * Its not totally clear which chipsets are the problematic ones - * We know 82C586 and 82C596 variants are affected. - */ - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_0, quirk_isa_dma_hangs }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C596, quirk_isa_dma_hangs }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371SB_0, quirk_isa_dma_hangs }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, quirk_isa_dma_hangs }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454NX, quirk_disable_pxb }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_1, quirk_isa_dma_hangs }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_2, quirk_isa_dma_hangs }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_NEC, PCI_DEVICE_ID_NEC_CBUS_3, quirk_isa_dma_hangs }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_S3, PCI_DEVICE_ID_S3_868, quirk_s3_64M }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_S3, PCI_DEVICE_ID_S3_968, quirk_s3_64M }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437, quirk_triton }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437VX, quirk_triton }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82439, quirk_triton }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82439TX, quirk_triton }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_natoma }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443LX_0, quirk_natoma }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443LX_1, quirk_natoma }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_0, quirk_natoma }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_1, quirk_natoma }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2, quirk_natoma }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_503, quirk_sis_503 }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_645, quirk_sis_96x_compatible }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_646, quirk_sis_96x_compatible }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_648, quirk_sis_96x_compatible }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_650, quirk_sis_96x_compatible }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_651, quirk_sis_96x_compatible }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_735, quirk_sis_96x_compatible }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_961, quirk_sis_96x_smbus }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_smbus }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1647, quirk_alimagik }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1651, quirk_alimagik }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, quirk_vialatency }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8371_1, quirk_vialatency }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361, quirk_vialatency }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C576, quirk_vsfx }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_viaetbf }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_vt82c586_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_vt82c686_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, quirk_piix4_acpi }, - - /* Intel LPC interface bridges all have 128 bytes of magic ACPI/TCO regs and 64 bytes of GPIO */ - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AA_0, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801AB_0, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_10, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_0, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801CA_12, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, quirk_ich4_lpc_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801EB_0, quirk_ich4_lpc_acpi }, - - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M7101, quirk_ali7101_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371SB_2, quirk_piix3_usb }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_2, quirk_piix3_usb }, - { PCI_FIXUP_HEADER, PCI_ANY_ID, PCI_ANY_ID, quirk_ide_bases }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_bridge }, - { PCI_FIXUP_FINAL, PCI_ANY_ID, PCI_ANY_ID, quirk_cardbus_legacy }, - -#ifdef CONFIG_X86_IO_APIC - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_ioapic }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7410, quirk_amd_ioapic }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_ANY_ID, quirk_ioapic_rmw }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_8131_APIC, - quirk_amd_8131_ioapic }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_EESSC, quirk_alder_ioapic }, -#endif - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_via_acpi }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_acpi }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_2, quirk_via_irqpic }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irqpic }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_6, quirk_via_irqpic }, - - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_FE_GATE_700C, quirk_amd_ordering }, - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_RS100, quirk_ati_exploding_mce }, - /* - * i82380FB mobile docking controller: its PCI-to-PCI bridge - * is subtractive decoding (transparent), and does indicate this - * in the ProgIf. Unfortunately, the ProgIf value is wrong - 0x80 - * instead of 0x01. - */ - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82380FB, quirk_transparent_bridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_TOSHIBA, 0x605, quirk_transparent_bridge }, - - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_PCI_MASTER, quirk_mediagx_master }, - - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE, quirk_svwks_csb5ide }, - - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82375, quirk_eisa_bridge }, - - /* - * on Asus P4B boards, the i801SMBus device is disabled at startup. - * this also goes for boards in HP Compaq nc6000 and nc8000 notebooks. - */ - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845_HB, asus_hides_smbus_hostbridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82845G_HB, asus_hides_smbus_hostbridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82850_HB, asus_hides_smbus_hostbridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_7205_0, asus_hides_smbus_hostbridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855PM_HB, asus_hides_smbus_hostbridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82855GM_HB, asus_hides_smbus_hostbridge }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_0, asus_hides_smbus_lpc }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801BA_0, asus_hides_smbus_lpc }, - { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82801DB_12, asus_hides_smbus_lpc }, - -#ifdef CONFIG_SCSI_SATA - /* Fixup BIOSes that configure Parallel ATA (PATA / IDE) and - * Serial ATA (SATA) into the same PCI ID. - */ - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_ANY_ID, - quirk_intel_ide_combined }, -#endif /* CONFIG_SCSI_SATA */ - - { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SMCH, quirk_pciehp_msi }, - - { 0 } -}; - - -static void pci_do_fixups(struct pci_dev *dev, int pass, struct pci_fixup *f) +static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end) { - while (f->pass) { - if (f->pass == pass && - (f->vendor == dev->vendor || f->vendor == (u16) PCI_ANY_ID) && + while (f < end) { + if ((f->vendor == dev->vendor || f->vendor == (u16) PCI_ANY_ID) && (f->device == dev->device || f->device == (u16) PCI_ANY_ID)) { -#ifdef DEBUG - printk(KERN_INFO "PCI: Calling quirk %p for %s\n", f->hook, pci_name(dev)); -#endif + pr_debug(KERN_INFO "PCI: Calling quirk %p for %s\n", f->hook, pci_name(dev)); f->hook(dev); } f++; } } -void pci_fixup_device(int pass, struct pci_dev *dev) +extern struct pci_fixup __start_pci_fixups_header[]; +extern struct pci_fixup __end_pci_fixups_header[]; +extern struct pci_fixup __start_pci_fixups_final[]; +extern struct pci_fixup __end_pci_fixups_final[]; + +void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev) { - pci_do_fixups(dev, pass, pcibios_fixups); - pci_do_fixups(dev, pass, pci_fixups); + struct pci_fixup *start, *end; + + switch(pass) { + case pci_fixup_header: + start = __start_pci_fixups_header; + end = __end_pci_fixups_header; + break; + + case pci_fixup_final: + start = __start_pci_fixups_final; + end = __end_pci_fixups_final; + break; + default: + /* stupid compiler warning, you would think with an enum... */ + return; + } + pci_do_fixups(dev, start, end); } -EXPORT_SYMBOL(pciehp_msi_quirk); +EXPORT_SYMBOL(pcie_mch_quirk); +#ifdef CONFIG_HOTPLUG +EXPORT_SYMBOL(pci_fixup_device); +#endif diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c index 4dab2ffc8..1b86c6d3a 100644 --- a/drivers/pcmcia/cardbus.c +++ b/drivers/pcmcia/cardbus.c @@ -85,7 +85,7 @@ =====================================================================*/ -static u_int xlate_rom_addr(u_char * b, u_int addr) +static u_int xlate_rom_addr(void __iomem *b, u_int addr) { u_int img = 0, ofs = 0, sz; u_short data; diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c index b78d41a3c..317ca50a3 100644 --- a/drivers/pcmcia/cistpl.c +++ b/drivers/pcmcia/cistpl.c @@ -103,7 +103,7 @@ void release_cis_mem(struct pcmcia_socket *s) * If flags & MAP_ATTRIB, map the attribute space, otherwise * map the memory space. */ -static unsigned char * +static void __iomem * set_cis_map(struct pcmcia_socket *s, unsigned int card_offset, unsigned int flags) { pccard_mem_map *mem = &s->cis_mem; @@ -114,8 +114,6 @@ set_cis_map(struct pcmcia_socket *s, unsigned int card_offset, unsigned int flag printk(KERN_NOTICE "cs: unable to map card memory!\n"); return NULL; } - mem->sys_start = mem->res->start; - mem->sys_stop = mem->res->end; s->cis_virt = ioremap(mem->res->start, s->map_size); } mem->card_start = card_offset; @@ -124,7 +122,7 @@ set_cis_map(struct pcmcia_socket *s, unsigned int card_offset, unsigned int flag if (s->features & SS_CAP_STATIC_MAP) { if (s->cis_virt) iounmap(s->cis_virt); - s->cis_virt = ioremap(mem->sys_start, s->map_size); + s->cis_virt = ioremap(mem->static_start, s->map_size); } return s->cis_virt; } @@ -143,7 +141,8 @@ set_cis_map(struct pcmcia_socket *s, unsigned int card_offset, unsigned int flag int read_cis_mem(struct pcmcia_socket *s, int attr, u_int addr, u_int len, void *ptr) { - u_char *sys, *end, *buf = ptr; + void __iomem *sys, *end; + unsigned char *buf = ptr; cs_dbg(s, 3, "read_cis_mem(%d, %#x, %u)\n", attr, addr, len); @@ -206,7 +205,8 @@ int read_cis_mem(struct pcmcia_socket *s, int attr, u_int addr, void write_cis_mem(struct pcmcia_socket *s, int attr, u_int addr, u_int len, void *ptr) { - u_char *sys, *end, *buf = ptr; + void __iomem *sys, *end; + unsigned char *buf = ptr; cs_dbg(s, 3, "write_cis_mem(%d, %#x, %u)\n", attr, addr, len); diff --git a/drivers/pcmcia/cs.c b/drivers/pcmcia/cs.c index f796bc99c..c33ac2756 100644 --- a/drivers/pcmcia/cs.c +++ b/drivers/pcmcia/cs.c @@ -427,8 +427,6 @@ static int send_event(struct pcmcia_socket *s, event_t event, int priority) return ret; } /* send_event */ -#define cs_to_timeout(cs) (((cs) * HZ + 99) / 100) - static void socket_remove_drivers(struct pcmcia_socket *skt) { client_t *client; @@ -448,8 +446,7 @@ static void socket_shutdown(struct pcmcia_socket *skt) socket_remove_drivers(skt); skt->state &= SOCKET_INUSE|SOCKET_PRESENT; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(shutdown_delay)); + msleep(shutdown_delay * 10); skt->state &= SOCKET_INUSE; shutdown_socket(skt); } @@ -467,8 +464,7 @@ static int socket_reset(struct pcmcia_socket *skt) skt->socket.flags &= ~SS_RESET; skt->ops->set_socket(skt, &skt->socket); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(unreset_delay)); + msleep(unreset_delay * 10); for (i = 0; i < unreset_limit; i++) { skt->ops->get_status(skt, &status); @@ -478,8 +474,7 @@ static int socket_reset(struct pcmcia_socket *skt) if (status & SS_READY) return CS_SUCCESS; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(unreset_check)); + msleep(unreset_check * 10); } cs_err(skt, "time out after reset.\n"); @@ -496,8 +491,7 @@ static int socket_setup(struct pcmcia_socket *skt, int initial_delay) if (!(status & SS_DETECT)) return CS_NO_CARD; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(initial_delay)); + msleep(initial_delay * 10); for (i = 0; i < 100; i++) { skt->ops->get_status(skt, &status); @@ -507,8 +501,7 @@ static int socket_setup(struct pcmcia_socket *skt, int initial_delay) if (!(status & SS_PENDING)) break; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(10)); + msleep(100); } if (status & SS_PENDING) { @@ -541,8 +534,7 @@ static int socket_setup(struct pcmcia_socket *skt, int initial_delay) /* * Wait "vcc_settle" for the supply to stabilise. */ - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(vcc_settle)); + msleep(vcc_settle * 10); skt->ops->get_status(skt, &status); if (!(status & SS_POWERON)) { @@ -659,10 +651,8 @@ static void socket_detect_change(struct pcmcia_socket *skt) if (!(skt->state & SOCKET_SUSPEND)) { int status; - if (!(skt->state & SOCKET_PRESENT)) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(cs_to_timeout(2)); - } + if (!(skt->state & SOCKET_PRESENT)) + msleep(20); skt->ops->get_status(skt, &status); if ((skt->state & SOCKET_PRESENT) && @@ -1886,11 +1876,6 @@ int pcmcia_request_window(client_handle_t *handle, win_req_t *req, window_handle (*handle)->dev_info, s); if (!win->ctl.res) return CS_IN_USE; - win->ctl.sys_start = win->ctl.res->start; - win->ctl.sys_stop = win->ctl.res->end; - } else { - win->ctl.sys_start = req->Base; - win->ctl.sys_stop = req->Base + req->Size - 1; } (*handle)->state |= CLIENT_WIN_REQ(w); @@ -1912,7 +1897,11 @@ int pcmcia_request_window(client_handle_t *handle, win_req_t *req, window_handle s->state |= SOCKET_WIN_REQ(w); /* Return window handle */ - req->Base = win->ctl.sys_start; + if (s->features & SS_CAP_STATIC_MAP) { + req->Base = win->ctl.static_start; + } else { + req->Base = win->ctl.res->start; + } *wh = win; return CS_SUCCESS; diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c index 71592c71d..b4f741a12 100644 --- a/drivers/pcmcia/ds.c +++ b/drivers/pcmcia/ds.c @@ -50,6 +50,7 @@ #include #include #include +#include #include #include @@ -133,7 +134,7 @@ static dev_info_t dev_info = "Driver Services"; static int major_dev = -1; -extern struct proc_dir_entry *proc_pccard; +static struct proc_dir_entry *proc_pccard; /*====================================================================*/ @@ -1080,8 +1081,7 @@ static int __devinit pcmcia_bus_add_socket(struct class_device *class_dev) * Ugly. But we want to wait for the socket threads to have started up. * We really should let the drivers themselves drive some of this.. */ - current->state = TASK_INTERRUPTIBLE; - schedule_timeout(HZ/4); + msleep(250); init_waitqueue_head(&s->queue); init_waitqueue_head(&s->request); diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c index 3115eb3bc..eb255238a 100644 --- a/drivers/pcmcia/i82092.c +++ b/drivers/pcmcia/i82092.c @@ -422,7 +422,7 @@ static int i82092aa_init(struct pcmcia_socket *sock) int i; struct resource res = { .start = 0, .end = 0x0fff }; pccard_io_map io = { 0, 0, 0, 0, 1 }; - pccard_mem_map mem = { .res = &res, .sys_stop = 0x0fff, }; + pccard_mem_map mem = { .res = &res, }; enter("i82092aa_init"); @@ -706,11 +706,15 @@ static int i82092aa_set_io_map(struct pcmcia_socket *socket, struct pccard_io_ma static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_map *mem) { - unsigned int sock = container_of(socket, struct socket_info, socket)->number; + struct socket_info *sock_info = container_of(socket, struct socket_info, socket); + unsigned int sock = sock_info->number; + struct pci_bus_region region; unsigned short base, i; unsigned char map; enter("i82092aa_set_mem_map"); + + pcibios_resource_to_bus(sock_info->dev, ®ion, mem->res); map = mem->map; if (map > 4) { @@ -719,10 +723,10 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ } - if ( (mem->card_start > 0x3ffffff) || (mem->sys_start > mem->sys_stop) || + if ( (mem->card_start > 0x3ffffff) || (region.start > region.end) || (mem->speed > 1000) ) { leave("i82092aa_set_mem_map: invalid address / speed"); - printk("invalid mem map for socket %i : %lx to %lx with a start of %x \n",sock,mem->sys_start, mem->sys_stop, mem->card_start); + printk("invalid mem map for socket %i : %lx to %lx with a start of %x \n",sock,region.start, region.end, mem->card_start); return -EINVAL; } @@ -731,11 +735,11 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ indirect_resetbit(sock, I365_ADDRWIN, I365_ENA_MEM(map)); -/* printk("set_mem_map: Setting map %i range to %x - %x on socket %i, speed is %i, active = %i \n",map, mem->sys_start,mem->sys_stop,sock,mem->speed,mem->flags & MAP_ACTIVE); */ +/* printk("set_mem_map: Setting map %i range to %x - %x on socket %i, speed is %i, active = %i \n",map, region.start,region.end,sock,mem->speed,mem->flags & MAP_ACTIVE); */ /* write the start address */ base = I365_MEM(map); - i = (mem->sys_start >> 12) & 0x0fff; + i = (region.start >> 12) & 0x0fff; if (mem->flags & MAP_16BIT) i |= I365_MEM_16BIT; if (mem->flags & MAP_0WS) @@ -744,7 +748,7 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ /* write the stop address */ - i= (mem->sys_stop >> 12) & 0x0fff; + i= (region.end >> 12) & 0x0fff; switch (to_cycles(mem->speed)) { case 0: break; @@ -763,7 +767,7 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_ /* card start */ - i = ((mem->card_start - mem->sys_start) >> 12) & 0x3fff; + i = ((mem->card_start - region.start) >> 12) & 0x3fff; if (mem->flags & MAP_WRPROT) i |= I365_MEM_WRPROT; if (mem->flags & MAP_ATTRIB) { diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c index b753c3186..561974efb 100644 --- a/drivers/pcmcia/i82365.c +++ b/drivers/pcmcia/i82365.c @@ -513,8 +513,7 @@ static u_int __init test_irq(u_short sock, int irq) if (request_irq(irq, i365_count_irq, 0, "scan", i365_count_irq) != 0) return 1; irq_hits = 0; irq_sock = sock; - __set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/100); + msleep(10); if (irq_hits) { free_irq(irq, i365_count_irq); debug(2, " spurious hit!\n"); @@ -1159,13 +1158,13 @@ static int i365_set_mem_map(u_short sock, struct pccard_mem_map *mem) debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, %#5.5lx-%#5.5" "lx, %#5.5x)\n", sock, mem->map, mem->flags, mem->speed, - mem->sys_start, mem->sys_stop, mem->card_start); + mem->res->start, mem->res->end, mem->card_start); map = mem->map; if ((map > 4) || (mem->card_start > 0x3ffffff) || - (mem->sys_start > mem->sys_stop) || (mem->speed > 1000)) + (mem->res->start > mem->res->end) || (mem->speed > 1000)) return -EINVAL; - if ((mem->sys_start > 0xffffff) || (mem->sys_stop > 0xffffff)) + if ((mem->res->start > 0xffffff) || (mem->res->end > 0xffffff)) return -EINVAL; /* Turn off the window before changing anything */ @@ -1173,12 +1172,12 @@ static int i365_set_mem_map(u_short sock, struct pccard_mem_map *mem) i365_bclr(sock, I365_ADDRWIN, I365_ENA_MEM(map)); base = I365_MEM(map); - i = (mem->sys_start >> 12) & 0x0fff; + i = (mem->res->start >> 12) & 0x0fff; if (mem->flags & MAP_16BIT) i |= I365_MEM_16BIT; if (mem->flags & MAP_0WS) i |= I365_MEM_0WS; i365_set_pair(sock, base+I365_W_START, i); - i = (mem->sys_stop >> 12) & 0x0fff; + i = (mem->res->end >> 12) & 0x0fff; switch (to_cycles(mem->speed)) { case 0: break; case 1: i |= I365_MEM_WS0; break; @@ -1187,7 +1186,7 @@ static int i365_set_mem_map(u_short sock, struct pccard_mem_map *mem) } i365_set_pair(sock, base+I365_W_STOP, i); - i = ((mem->card_start - mem->sys_start) >> 12) & 0x3fff; + i = ((mem->card_start - mem->res->start) >> 12) & 0x3fff; if (mem->flags & MAP_WRPROT) i |= I365_MEM_WRPROT; if (mem->flags & MAP_ATTRIB) i |= I365_MEM_REG; i365_set_pair(sock, base+I365_W_OFF, i); @@ -1309,7 +1308,7 @@ static int pcic_init(struct pcmcia_socket *s) int i; struct resource res = { .start = 0, .end = 0x1000 }; pccard_io_map io = { 0, 0, 0, 0, 1 }; - pccard_mem_map mem = { .res = &res, .sys_stop = 0x1000, }; + pccard_mem_map mem = { .res = &res, }; for (i = 0; i < 2; i++) { io.map = i; diff --git a/drivers/pcmcia/rsrc_mgr.c b/drivers/pcmcia/rsrc_mgr.c index 6869e209d..620b20f7e 100644 --- a/drivers/pcmcia/rsrc_mgr.c +++ b/drivers/pcmcia/rsrc_mgr.c @@ -88,6 +88,9 @@ static resource_map_t io_db = { }; static DECLARE_MUTEX(rsrc_sem); +static unsigned int rsrc_mem_probe; +#define MEM_PROBE_LOW (1 << 0) +#define MEM_PROBE_HIGH (1 << 1) #ifdef CONFIG_PCMCIA_PROBE @@ -301,8 +304,6 @@ static int readable(struct pcmcia_socket *s, struct resource *res, cisinfo_t *in { int ret = -1; - s->cis_mem.sys_start = res->start; - s->cis_mem.sys_stop = res->end; s->cis_mem.res = res; s->cis_virt = ioremap(res->start, s->map_size); if (s->cis_virt) { @@ -312,8 +313,6 @@ static int readable(struct pcmcia_socket *s, struct resource *res, cisinfo_t *in s->cis_virt = NULL; destroy_cis_cache(s); } - s->cis_mem.sys_start = 0; - s->cis_mem.sys_stop = 0; s->cis_mem.res = NULL; if ((ret != 0) || (info->Chains == 0)) return 0; @@ -325,15 +324,13 @@ static int checksum(struct pcmcia_socket *s, struct resource *res) { pccard_mem_map map; int i, a = 0, b = -1, d; - void *virt; + void __iomem *virt; virt = ioremap(res->start, s->map_size); if (virt) { map.map = 0; map.flags = MAP_ACTIVE; map.speed = 0; - map.sys_start = res->start; - map.sys_stop = res->end; map.res = res; map.card_start = 0; s->ops->set_mem_map(s, &map); @@ -457,24 +454,21 @@ static u_long inv_probe(resource_map_t *m, struct pcmcia_socket *s) return do_mem_probe(m->base, m->num, s); } -static void validate_mem(struct pcmcia_socket *s) +static void validate_mem(struct pcmcia_socket *s, unsigned int probe_mask) { resource_map_t *m, mm; static u_char order[] = { 0xd0, 0xe0, 0xc0, 0xf0 }; - static int hi = 0, lo = 0; u_long b, i, ok = 0; - int force_low = !(s->features & SS_CAP_PAGE_REGS); - down(&rsrc_sem); /* We do up to four passes through the list */ - if (!force_low) { - if (hi++ || (inv_probe(mem_db.next, s) > 0)) - goto out; + if (probe_mask & MEM_PROBE_HIGH) { + if (inv_probe(mem_db.next, s) > 0) + return; printk(KERN_NOTICE "cs: warning: no high memory space " "available!\n"); } - if (lo++) - goto out; + if ((probe_mask & MEM_PROBE_LOW) == 0) + return; for (m = mem_db.next; m != &mem_db; m = mm.next) { mm = *m; /* Only probe < 1 MB */ @@ -494,38 +488,51 @@ static void validate_mem(struct pcmcia_socket *s) } } } - out: - up(&rsrc_sem); } #else /* CONFIG_PCMCIA_PROBE */ -static void validate_mem(struct pcmcia_socket *s) +static void validate_mem(struct pcmcia_socket *s, unsigned int probe_mask) { - resource_map_t *m, mm; - static int done = 0; + resource_map_t *m, mm; - if (done++ == 0) { - down(&rsrc_sem); for (m = mem_db.next; m != &mem_db; m = mm.next) { - mm = *m; - if (do_mem_probe(mm.base, mm.num, s)) - break; + mm = *m; + if (do_mem_probe(mm.base, mm.num, s)) + break; } - up(&rsrc_sem); - } } #endif /* CONFIG_PCMCIA_PROBE */ +/* + * Locking note: this is the only place where we take + * both rsrc_sem and skt_sem. + */ void pcmcia_validate_mem(struct pcmcia_socket *s) { - down(&s->skt_sem); + if (probe_mem) { + unsigned int probe_mask; + + down(&rsrc_sem); + + probe_mask = MEM_PROBE_LOW; + if (s->features & SS_CAP_PAGE_REGS) + probe_mask = MEM_PROBE_HIGH; + + if (probe_mask & ~rsrc_mem_probe) { + rsrc_mem_probe |= probe_mask; - if (probe_mem && s->state & SOCKET_PRESENT) - validate_mem(s); + down(&s->skt_sem); - up(&s->skt_sem); + if (s->state & SOCKET_PRESENT) + validate_mem(s, probe_mask); + + up(&s->skt_sem); + } + + up(&rsrc_sem); + } } EXPORT_SYMBOL(pcmcia_validate_mem); diff --git a/drivers/pcmcia/sa1100_h3600.c b/drivers/pcmcia/sa1100_h3600.c index e442953b3..64fd5e37f 100644 --- a/drivers/pcmcia/sa1100_h3600.c +++ b/drivers/pcmcia/sa1100_h3600.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -96,8 +97,7 @@ static void h3600_pcmcia_socket_init(struct soc_pcmcia_socket *skt) set_h3600_egpio(IPAQ_EGPIO_OPT_ON); clr_h3600_egpio(IPAQ_EGPIO_OPT_RESET); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(10*HZ / 1000); + msleep(10); soc_pcmcia_enable_irqs(skt, irqs, ARRAY_SIZE(irqs)); } diff --git a/drivers/pcmcia/tcic.c b/drivers/pcmcia/tcic.c index f3b38e96d..d986d13f2 100644 --- a/drivers/pcmcia/tcic.c +++ b/drivers/pcmcia/tcic.c @@ -829,15 +829,15 @@ static int tcic_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *m debug(1, "SetMemMap(%d, %d, %#2.2x, %d ns, " "%#5.5lx-%#5.5lx, %#5.5x)\n", psock, mem->map, mem->flags, - mem->speed, mem->sys_start, mem->sys_stop, mem->card_start); + mem->speed, mem->res->start, mem->res->end, mem->card_start); if ((mem->map > 3) || (mem->card_start > 0x3ffffff) || - (mem->sys_start > 0xffffff) || (mem->sys_stop > 0xffffff) || - (mem->sys_start > mem->sys_stop) || (mem->speed > 1000)) + (mem->res->start > 0xffffff) || (mem->res->end > 0xffffff) || + (mem->res->start > mem->res->end) || (mem->speed > 1000)) return -EINVAL; tcic_setw(TCIC_ADDR+2, TCIC_ADR2_INDREG | (psock << TCIC_SS_SHFT)); addr = TCIC_MWIN(psock, mem->map); - base = mem->sys_start; len = mem->sys_stop - mem->sys_start; + base = mem->res->start; len = mem->res->end - mem->res->start; if ((len & (len+1)) || (base & len)) return -EINVAL; if (len == 0x0fff) base = (base >> TCIC_MBASE_HA_SHFT) | TCIC_MBASE_4K_BIT; @@ -846,7 +846,7 @@ static int tcic_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *m tcic_setw(TCIC_ADDR, addr + TCIC_MBASE_X); tcic_setw(TCIC_DATA, base); - mmap = mem->card_start - mem->sys_start; + mmap = mem->card_start - mem->res->start; mmap = (mmap >> TCIC_MMAP_CA_SHFT) & TCIC_MMAP_CA_MASK; if (mem->flags & MAP_ATTRIB) mmap |= TCIC_MMAP_REG; tcic_setw(TCIC_ADDR, addr + TCIC_MMAP_X); @@ -870,7 +870,7 @@ static int tcic_init(struct pcmcia_socket *s) int i; struct resource res = { .start = 0, .end = 0x1000 }; pccard_io_map io = { 0, 0, 0, 0, 1 }; - pccard_mem_map mem = { .res = &res, .sys_stop = 0x1000, }; + pccard_mem_map mem = { .res = &res, }; for (i = 0; i < 2; i++) { io.map = i; diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c index 4c8a7a572..496f71166 100644 --- a/drivers/pcmcia/yenta_socket.c +++ b/drivers/pcmcia/yenta_socket.c @@ -343,14 +343,17 @@ static int yenta_set_io_map(struct pcmcia_socket *sock, struct pccard_io_map *io static int yenta_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *mem) { struct yenta_socket *socket = container_of(sock, struct yenta_socket, socket); + struct pci_bus_region region; int map; unsigned char addr, enable; unsigned int start, stop, card_start; unsigned short word; + pcibios_resource_to_bus(socket->dev, ®ion, mem->res); + map = mem->map; - start = mem->sys_start; - stop = mem->sys_stop; + start = region.start; + stop = region.end; card_start = mem->card_start; if (map > 4 || start > stop || ((start ^ stop) >> 24) || @@ -447,7 +450,7 @@ static void yenta_clear_maps(struct yenta_socket *socket) int i; struct resource res = { .start = 0, .end = 0x0fff }; pccard_io_map io = { 0, 0, 0, 0, 1 }; - pccard_mem_map mem = { .res = &res, .sys_stop = 0x0fff, }; + pccard_mem_map mem = { .res = &res, }; yenta_set_socket(&socket->socket, &dead_socket); for (i = 0; i < 2; i++) { @@ -1088,6 +1091,8 @@ static struct pci_device_id yenta_table [] = { CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4410, TI12XX), CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4450, TI12XX), CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4451, TI12XX), + CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_4520, TI12XX), + CB_ID(PCI_VENDOR_ID_TI, 0x8036, TI12XX), CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1250, TI1250), CB_ID(PCI_VENDOR_ID_TI, PCI_DEVICE_ID_TI_1410, TI1250), diff --git a/drivers/pnp/isapnp/core.c b/drivers/pnp/isapnp/core.c index ee6d1ed50..bf52990a8 100644 --- a/drivers/pnp/isapnp/core.c +++ b/drivers/pnp/isapnp/core.c @@ -655,8 +655,10 @@ static int __init isapnp_create_device(struct pnp_card *card, if ((dev = isapnp_parse_device(card, size, number++)) == NULL) return 1; option = pnp_register_independent_option(dev); - if (!option) + if (!option) { + kfree(dev); return 1; + } pnp_add_card_device(card,dev); while (1) { diff --git a/drivers/pnp/pnpbios/bioscalls.c b/drivers/pnp/pnpbios/bioscalls.c index c224f74fa..6b7583f49 100644 --- a/drivers/pnp/pnpbios/bioscalls.c +++ b/drivers/pnp/pnpbios/bioscalls.c @@ -69,14 +69,14 @@ __asm__( #define Q_SET_SEL(cpu, selname, address, size) \ do { \ -set_base(cpu_gdt_table[cpu][(selname) >> 3], __va((u32)(address))); \ -set_limit(cpu_gdt_table[cpu][(selname) >> 3], size); \ +set_base(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], __va((u32)(address))); \ +set_limit(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], size); \ } while(0) #define Q2_SET_SEL(cpu, selname, address, size) \ do { \ -set_base(cpu_gdt_table[cpu][(selname) >> 3], (u32)(address)); \ -set_limit(cpu_gdt_table[cpu][(selname) >> 3], size); \ +set_base(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], (u32)(address)); \ +set_limit(per_cpu(cpu_gdt_table,cpu)[(selname) >> 3], size); \ } while(0) static struct desc_struct bad_bios_desc = { 0, 0x00409200 }; @@ -115,8 +115,8 @@ static inline u16 call_pnp_bios(u16 func, u16 arg1, u16 arg2, u16 arg3, return PNP_FUNCTION_NOT_SUPPORTED; cpu = get_cpu(); - save_desc_40 = cpu_gdt_table[cpu][0x40 / 8]; - cpu_gdt_table[cpu][0x40 / 8] = bad_bios_desc; + save_desc_40 = per_cpu(cpu_gdt_table,cpu)[0x40 / 8]; + per_cpu(cpu_gdt_table,cpu)[0x40 / 8] = bad_bios_desc; /* On some boxes IRQ's during PnP BIOS calls are deadly. */ spin_lock_irqsave(&pnp_bios_lock, flags); @@ -158,14 +158,14 @@ static inline u16 call_pnp_bios(u16 func, u16 arg1, u16 arg2, u16 arg3, ); spin_unlock_irqrestore(&pnp_bios_lock, flags); - cpu_gdt_table[cpu][0x40 / 8] = save_desc_40; + per_cpu(cpu_gdt_table,cpu)[0x40 / 8] = save_desc_40; put_cpu(); /* If we get here and this is set then the PnP BIOS faulted on us. */ if(pnp_bios_is_utter_crap) { printk(KERN_ERR "PnPBIOS: Warning! Your PnP BIOS caused a fatal error. Attempting to continue\n"); - printk(KERN_ERR "PnPBIOS: You may need to reboot with the \"nobiospnp\" option to operate stably\n"); + printk(KERN_ERR "PnPBIOS: You may need to reboot with the \"pnpbios=off\" option to operate stably\n"); printk(KERN_ERR "PnPBIOS: Check with your vendor for an updated BIOS\n"); } diff --git a/drivers/pnp/pnpbios/core.c b/drivers/pnp/pnpbios/core.c index 6c9866346..c89cade57 100644 --- a/drivers/pnp/pnpbios/core.c +++ b/drivers/pnp/pnpbios/core.c @@ -252,8 +252,10 @@ static int pnpbios_set_resources(struct pnp_dev * dev, struct pnp_resource_table node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL); if (!node) return -1; - if (pnp_bios_get_dev_node(&nodenum, (char )PNPMODE_DYNAMIC, node)) + if (pnp_bios_get_dev_node(&nodenum, (char )PNPMODE_DYNAMIC, node)) { + kfree(node); return -ENODEV; + } if(pnpbios_write_resources_to_node(res, node)<0) { kfree(node); return -1; @@ -536,6 +538,12 @@ int __init pnpbios_init(void) return -ENODEV; } + if (!acpi_disabled) { + pnpbios_disabled = 1; + printk(KERN_INFO "PnPBIOS: Disabled by ACPI\n"); + return -ENODEV; + } + /* scan the system for pnpbios support */ if (!pnpbios_probe_system()) return -ENODEV; diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index 2249b7848..c90519389 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c @@ -7,7 +7,7 @@ * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999-2001 * - * $Revision: 1.147 $ + * $Revision: 1.149 $ */ #include @@ -1103,13 +1103,16 @@ static void dasd_end_request_cb(struct dasd_ccw_req * cqr, void *data) { struct request *req; + struct dasd_device *device; + int status; req = (struct request *) data; - dasd_profile_end(cqr->device, cqr, req); - spin_lock_irq(&cqr->device->request_queue_lock); - dasd_end_request(req, (cqr->status == DASD_CQR_DONE)); - spin_unlock_irq(&cqr->device->request_queue_lock); - dasd_sfree_request(cqr, cqr->device); + device = cqr->device; + dasd_profile_end(device, cqr, req); + status = cqr->device->discipline->free_cp(cqr,req); + spin_lock_irq(&device->request_queue_lock); + dasd_end_request(req, status); + spin_unlock_irq(&device->request_queue_lock); } diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c index 812bb0066..5134fb423 100644 --- a/drivers/s390/block/dasd_devmap.c +++ b/drivers/s390/block/dasd_devmap.c @@ -11,7 +11,7 @@ * functions may not be called from interrupt context. In particular * dasd_get_device is a no-no from interrupt context. * - * $Revision: 1.30 $ + * $Revision: 1.33 $ */ #include @@ -26,6 +26,9 @@ #include "dasd_int.h" +kmem_cache_t *dasd_page_cache; +EXPORT_SYMBOL(dasd_page_cache); + /* * dasd_devmap_t is used to store the features and the relation * between device number and device index. To find a dasd_devmap_t @@ -204,94 +207,142 @@ dasd_feature_list(char *str, char **endp) } /* - * Read comma separated list of dasd ranges. + * Try to match the first element on the comma separated parse string + * with one of the known keywords. If a keyword is found, take the approprate + * action and return a pointer to the residual string. If the first element + * could not be matched to any keyword then return an error code. */ -static inline int -dasd_ranges_list(char *str) -{ +static char * +dasd_parse_keyword( char *parsestring ) { + + char *nextcomma, *residual_str; + int length; + + nextcomma = strchr(parsestring,','); + if (nextcomma) { + length = nextcomma - parsestring; + residual_str = nextcomma + 1; + } else { + length = strlen(parsestring); + residual_str = parsestring + length; + } + if (strncmp ("autodetect", parsestring, length) == 0) { + dasd_autodetect = 1; + MESSAGE (KERN_INFO, "%s", + "turning to autodetection mode"); + return residual_str; + } + if (strncmp ("probeonly", parsestring, length) == 0) { + dasd_probeonly = 1; + MESSAGE(KERN_INFO, "%s", + "turning to probeonly mode"); + return residual_str; + } + if (strncmp ("fixedbuffers", parsestring, length) == 0) { + dasd_page_cache = + kmem_cache_create("dasd_page_cache", PAGE_SIZE, 0, + SLAB_CACHE_DMA, NULL, NULL ); + if (!dasd_page_cache) + MESSAGE(KERN_WARNING, "%s", "Failed to create slab, " + "fixed buffer mode disabled."); + else + MESSAGE (KERN_INFO, "%s", + "turning on fixed buffer mode"); + return residual_str; + } + return ERR_PTR(-EINVAL); +} + +/* + * Try to interprete the first element on the comma separated parse string + * as a device number or a range of devices. If the interpretation is + * successfull, create the matching dasd_devmap entries and return a pointer + * to the residual string. + * If interpretation fails or in case of an error, return an error code. + */ +static char * +dasd_parse_range( char *parsestring ) { + struct dasd_devmap *devmap; int from, from_id0, from_id1; int to, to_id0, to_id1; int features, rc; - char bus_id[BUS_ID_SIZE+1], *orig_str; - - orig_str = str; - while (1) { - rc = dasd_busid(&str, &from_id0, &from_id1, &from); - if (rc == 0) { - to = from; - to_id0 = from_id0; - to_id1 = from_id1; - if (*str == '-') { - str++; - rc = dasd_busid(&str, &to_id0, &to_id1, &to); - } + char bus_id[BUS_ID_SIZE+1], *str; + + str = parsestring; + rc = dasd_busid(&str, &from_id0, &from_id1, &from); + if (rc == 0) { + to = from; + to_id0 = from_id0; + to_id1 = from_id1; + if (*str == '-') { + str++; + rc = dasd_busid(&str, &to_id0, &to_id1, &to); } - if (rc == 0 && - (from_id0 != to_id0 || from_id1 != to_id1 || from > to)) - rc = -EINVAL; - if (rc) { - MESSAGE(KERN_ERR, "Invalid device range %s", orig_str); - return rc; - } - features = dasd_feature_list(str, &str); - if (features < 0) - return -EINVAL; - while (from <= to) { - sprintf(bus_id, "%01x.%01x.%04x", - from_id0, from_id1, from++); - devmap = dasd_add_busid(bus_id, features); - if (IS_ERR(devmap)) - return PTR_ERR(devmap); - } - if (*str != ',') - break; - str++; } - if (*str != '\0') { - MESSAGE(KERN_WARNING, - "junk at end of dasd parameter string: %s\n", str); - return -EINVAL; + if (rc == 0 && + (from_id0 != to_id0 || from_id1 != to_id1 || from > to)) + rc = -EINVAL; + if (rc) { + MESSAGE(KERN_ERR, "Invalid device range %s", parsestring); + return ERR_PTR(rc); } - return 0; + features = dasd_feature_list(str, &str); + if (features < 0) + return ERR_PTR(-EINVAL); + while (from <= to) { + sprintf(bus_id, "%01x.%01x.%04x", + from_id0, from_id1, from++); + devmap = dasd_add_busid(bus_id, features); + if (IS_ERR(devmap)) + return (char *)devmap; + } + if (*str == ',') + return str + 1; + if (*str == '\0') + return str; + MESSAGE(KERN_WARNING, + "junk at end of dasd parameter string: %s\n", str); + return ERR_PTR(-EINVAL); } -/* - * Parse a single dasd= parameter. - */ -static int -dasd_parameter(char *str) -{ - if (strcmp ("autodetect", str) == 0) { - dasd_autodetect = 1; - MESSAGE (KERN_INFO, "%s", - "turning to autodetection mode"); - return 0; - } - if (strcmp ("probeonly", str) == 0) { - dasd_probeonly = 1; - MESSAGE(KERN_INFO, "%s", - "turning to probeonly mode"); - return 0; - } - /* turn off autodetect mode and scan for dasd ranges */ - dasd_autodetect = 0; - return dasd_ranges_list(str); +static inline char * +dasd_parse_next_element( char *parsestring ) { + char * residual_str; + residual_str = dasd_parse_keyword(parsestring); + if (!IS_ERR(residual_str)) + return residual_str; + residual_str = dasd_parse_range(parsestring); + return residual_str; } /* - * Parse parameters stored in dasd[] and dasd_disciplines[]. + * Parse parameters stored in dasd[] + * The 'dasd=...' parameter allows to specify a comma separated list of + * keywords and device ranges. When the dasd driver is build into the kernel, + * the complete list will be stored as one element of the dasd[] array. + * When the dasd driver is build as a module, then the list is broken into + * it's elements and each dasd[] entry contains one element. */ int dasd_parse(void) { int rc, i; + char *parsestring; rc = 0; for (i = 0; i < 256; i++) { if (dasd[i] == NULL) break; - rc = dasd_parameter(dasd[i]); + parsestring = dasd[i]; + /* loop over the comma separated list in the parsestring */ + while (*parsestring) { + parsestring = dasd_parse_next_element(parsestring); + if(IS_ERR(parsestring)) { + rc = PTR_ERR(parsestring); + break; + } + } if (rc) { DBF_EVENT(DBF_ALERT, "%s", "invalid range found"); break; diff --git a/drivers/s390/block/dasd_diag.c b/drivers/s390/block/dasd_diag.c index cc79775b0..fb81ea495 100644 --- a/drivers/s390/block/dasd_diag.c +++ b/drivers/s390/block/dasd_diag.c @@ -6,7 +6,7 @@ * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.37 $ + * $Revision: 1.39 $ */ #include @@ -304,8 +304,11 @@ dasd_diag_check_device(struct dasd_device *device) (device->bp_block >> 10), (device->blocks << device->s2b_shift) >> 1); rc = 0; - } else + } else { + DEV_MESSAGE(KERN_WARNING, device, "%s", + "volume has incompatible disk layout"); rc = -EMEDIUMTYPE; + } free_page((long) label); return rc; } @@ -410,6 +413,16 @@ dasd_diag_build_cp(struct dasd_device * device, struct request *req) return cqr; } +static int +dasd_diag_free_cp(struct dasd_ccw_req *cqr, struct request *req) +{ + int status; + + status = cqr->status == DASD_CQR_DONE; + dasd_sfree_request(cqr, cqr->device); + return status; +} + static int dasd_diag_fill_info(struct dasd_device * device, struct dasd_information2_t * info) @@ -472,6 +485,7 @@ struct dasd_discipline dasd_diag_discipline = { .erp_action = dasd_diag_erp_action, .erp_postaction = dasd_diag_erp_postaction, .build_cp = dasd_diag_build_cp, + .free_cp = dasd_diag_free_cp, .dump_sense = dasd_diag_dump_sense, .fill_info = dasd_diag_fill_info, }; diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 27bf674af..cfd5884f5 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c @@ -7,7 +7,7 @@ * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.57 $ + * $Revision: 1.63 $ */ #include @@ -68,6 +68,10 @@ static struct ccw_device_id dasd_eckd_ids[] = { { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3380, 0), driver_info: 0x4}, { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3380, 0), driver_info: 0x5}, { CCW_DEVICE_DEVTYPE (0x9343, 0, 0x9345, 0), driver_info: 0x6}, + { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3390, 0), driver_info: 0x7}, + { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3380, 0), driver_info: 0x8}, + { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3390, 0), driver_info: 0x9}, + { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3380, 0), driver_info: 0xa}, { /* end of list */ }, }; @@ -274,9 +278,11 @@ define_extent(struct ccw1 * ccw, struct DE_eckd_data * data, int trk, data->attributes.mode = 0x3; /* ECKD */ - if (private->rdc_data.cu_type == 0x2105 + if ((private->rdc_data.cu_type == 0x2105 || + private->rdc_data.cu_type == 0x2107 || + private->rdc_data.cu_type == 0x1750) && !(private->uses_cdl && trk < 2)) - data->ga_extended |= 0x40; + data->ga_extended |= 0x40; /* Regular Data Format Mode */ geo.cyl = private->rdc_data.no_cyl; geo.head = private->rdc_data.trk_per_cyl; @@ -499,11 +505,13 @@ dasd_eckd_check_characteristics(struct dasd_device *device) "sizes of configuration data mismatch" "%d (read) vs %ld (expected)", conf_len, sizeof (struct dasd_eckd_confdata)); + + kfree(conf_data); /* allocated by read_conf_data() */ return 0; /* no errror */ } memcpy(&private->conf_data, conf_data, sizeof (struct dasd_eckd_confdata)); - + kfree(conf_data); /* allocated by read_conf_data() */ return 0; } @@ -903,6 +911,8 @@ dasd_eckd_examine_error(struct dasd_ccw_req * cqr, struct irb * irb) switch (cdev->id.cu_type) { case 0x3990: case 0x2105: + case 0x2107: + case 0x1750: return dasd_3990_erp_examine(cqr, irb); case 0x9343: return dasd_9343_erp_examine(cqr, irb); @@ -923,6 +933,8 @@ dasd_eckd_erp_action(struct dasd_ccw_req * cqr) switch (cdev->id.cu_type) { case 0x3990: case 0x2105: + case 0x2107: + case 0x1750: return dasd_3990_erp_action; case 0x9343: /* Return dasd_9343_erp_action; */ @@ -1023,6 +1035,14 @@ dasd_eckd_build_cp(struct dasd_device * device, struct request *req) } rq_for_each_bio(bio, req) bio_for_each_segment(bv, bio, i) { dst = page_address(bv->bv_page) + bv->bv_offset; + if (dasd_page_cache) { + char *copy = kmem_cache_alloc(dasd_page_cache, + SLAB_ATOMIC | SLAB_DMA | __GFP_NOWARN); + if (copy && rq_data_dir(req) == WRITE) + memcpy(copy + bv->bv_offset, dst, bv->bv_len); + if (copy) + dst = copy + bv->bv_offset; + } for (off = 0; off < bv->bv_len; off += blksize) { sector_t trkid = recid; unsigned int recoffs = sector_div(trkid, blk_per_trk); @@ -1076,6 +1096,58 @@ dasd_eckd_build_cp(struct dasd_device * device, struct request *req) return cqr; } +static int +dasd_eckd_free_cp(struct dasd_ccw_req *cqr, struct request *req) +{ + struct dasd_eckd_private *private; + struct ccw1 *ccw; + struct bio *bio; + struct bio_vec *bv; + char *dst, *cda; + unsigned int blksize, blk_per_trk, off; + sector_t recid; + int i, status; + + if (!dasd_page_cache) + goto out; + private = (struct dasd_eckd_private *) cqr->device->private; + blksize = cqr->device->bp_block; + blk_per_trk = recs_per_track(&private->rdc_data, 0, blksize); + recid = req->sector >> cqr->device->s2b_shift; + ccw = cqr->cpaddr; + /* Skip over define extent & locate record. */ + ccw++; + if (private->uses_cdl == 0 || recid > 2*blk_per_trk) + ccw++; + rq_for_each_bio(bio, req) bio_for_each_segment(bv, bio, i) { + dst = page_address(bv->bv_page) + bv->bv_offset; + for (off = 0; off < bv->bv_len; off += blksize) { + /* Skip locate record. */ + if (private->uses_cdl && recid <= 2*blk_per_trk) + ccw++; + if (dst) { + if (ccw->flags & CCW_FLAG_IDA) + cda = *((char **)((addr_t) ccw->cda)); + else + cda = (char *)((addr_t) ccw->cda); + if (dst != cda) { + if (rq_data_dir(req) == READ) + memcpy(dst, cda, bv->bv_len); + kmem_cache_free(dasd_page_cache, + (void *)((addr_t)cda & PAGE_MASK)); + } + dst = NULL; + } + ccw++; + recid++; + } + } +out: + status = cqr->status == DASD_CQR_DONE; + dasd_sfree_request(cqr, cqr->device); + return status; +} + static int dasd_eckd_fill_info(struct dasd_device * device, struct dasd_information2_t * info) @@ -1462,6 +1534,7 @@ static struct dasd_discipline dasd_eckd_discipline = { .erp_action = dasd_eckd_erp_action, .erp_postaction = dasd_eckd_erp_postaction, .build_cp = dasd_eckd_build_cp, + .free_cp = dasd_eckd_free_cp, .dump_sense = dasd_eckd_dump_sense, .fill_info = dasd_eckd_fill_info, }; diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c index 8116381cf..c08055eb2 100644 --- a/drivers/s390/block/dasd_fba.c +++ b/drivers/s390/block/dasd_fba.c @@ -4,7 +4,7 @@ * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.34 $ + * $Revision: 1.36 $ */ #include @@ -311,6 +311,14 @@ dasd_fba_build_cp(struct dasd_device * device, struct request *req) recid = first_rec; rq_for_each_bio(bio, req) bio_for_each_segment(bv, bio, i) { dst = page_address(bv->bv_page) + bv->bv_offset; + if (dasd_page_cache) { + char *copy = kmem_cache_alloc(dasd_page_cache, + SLAB_ATOMIC | SLAB_DMA | __GFP_NOWARN); + if (copy && rq_data_dir(req) == WRITE) + memcpy(copy + bv->bv_offset, dst, bv->bv_len); + if (copy) + dst = copy + bv->bv_offset; + } for (off = 0; off < bv->bv_len; off += blksize) { /* Locate record for stupid devices. */ if (private->rdc_data.mode.bits.data_chain == 0) { @@ -347,6 +355,54 @@ dasd_fba_build_cp(struct dasd_device * device, struct request *req) return cqr; } +static int +dasd_fba_free_cp(struct dasd_ccw_req *cqr, struct request *req) +{ + struct dasd_fba_private *private; + struct ccw1 *ccw; + struct bio *bio; + struct bio_vec *bv; + char *dst, *cda; + unsigned int blksize, off; + int i, status; + + if (!dasd_page_cache) + goto out; + private = (struct dasd_fba_private *) cqr->device->private; + blksize = cqr->device->bp_block; + ccw = cqr->cpaddr; + /* Skip over define extent & locate record. */ + ccw++; + if (private->rdc_data.mode.bits.data_chain != 0) + ccw++; + rq_for_each_bio(bio, req) bio_for_each_segment(bv, bio, i) { + dst = page_address(bv->bv_page) + bv->bv_offset; + for (off = 0; off < bv->bv_len; off += blksize) { + /* Skip locate record. */ + if (private->rdc_data.mode.bits.data_chain == 0) + ccw++; + if (dst) { + if (ccw->flags & CCW_FLAG_IDA) + cda = *((char **)((addr_t) ccw->cda)); + else + cda = (char *)((addr_t) ccw->cda); + if (dst != cda) { + if (rq_data_dir(req) == READ) + memcpy(dst, cda, bv->bv_len); + kmem_cache_free(dasd_page_cache, + (void *)((addr_t)cda & PAGE_MASK)); + } + dst = NULL; + } + ccw++; + } + } +out: + status = cqr->status == DASD_CQR_DONE; + dasd_sfree_request(cqr, cqr->device); + return status; +} + static int dasd_fba_fill_info(struct dasd_device * device, struct dasd_information2_t * info) @@ -410,6 +466,7 @@ static struct dasd_discipline dasd_fba_discipline = { .erp_action = dasd_fba_erp_action, .erp_postaction = dasd_fba_erp_postaction, .build_cp = dasd_fba_build_cp, + .free_cp = dasd_fba_free_cp, .dump_sense = dasd_fba_dump_sense, .fill_info = dasd_fba_fill_info, }; diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index 9bdf82fca..7e1f435b5 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h @@ -6,7 +6,7 @@ * Bugreports.to..: * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 * - * $Revision: 1.60 $ + * $Revision: 1.61 $ */ #ifndef DASD_INT_H @@ -240,7 +240,7 @@ struct dasd_discipline { int (*term_IO) (struct dasd_ccw_req *); struct dasd_ccw_req *(*format_device) (struct dasd_device *, struct format_data_t *); - + int (*free_cp) (struct dasd_ccw_req *, struct request *); /* * Error recovery functions. examine_error() returns a value that * indicates what to do for an error condition. If examine_error() @@ -438,6 +438,8 @@ extern struct dasd_profile_info_t dasd_global_profile; extern unsigned int dasd_profile_level; extern struct block_device_operations dasd_device_operations; +extern kmem_cache_t *dasd_page_cache; + struct dasd_ccw_req * dasd_kmalloc_request(char *, int, int, struct dasd_device *); struct dasd_ccw_req * diff --git a/drivers/s390/char/sclp.c b/drivers/s390/char/sclp.c index 047d305cc..ca0f875bf 100644 --- a/drivers/s390/char/sclp.c +++ b/drivers/s390/char/sclp.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -60,6 +61,7 @@ static volatile unsigned long sclp_status = 0; #define SCLP_INIT 0 #define SCLP_RUNNING 1 #define SCLP_READING 2 +#define SCLP_SHUTDOWN 3 #define SCLP_INIT_POLL_INTERVAL 1 #define SCLP_BUSY_POLL_INTERVAL 1 @@ -606,10 +608,12 @@ sclp_init_mask(void) sccb->mask_length = sizeof(sccb_mask_t); /* copy in the sccb mask of the registered event types */ spin_lock_irqsave(&sclp_lock, flags); - list_for_each(l, &sclp_reg_list) { - t = list_entry(l, struct sclp_register, list); - sccb->receive_mask |= t->receive_mask; - sccb->send_mask |= t->send_mask; + if (!test_bit(SCLP_SHUTDOWN, &sclp_status)) { + list_for_each(l, &sclp_reg_list) { + t = list_entry(l, struct sclp_register, list); + sccb->receive_mask |= t->receive_mask; + sccb->send_mask |= t->send_mask; + } } sccb->sclp_receive_mask = 0; sccb->sclp_send_mask = 0; @@ -647,9 +651,10 @@ sclp_init_mask(void) /* WRITEMASK failed - we cannot rely on receiving a state change event, so initially, polling is the only alternative for us to ever become operational. */ - if (!timer_pending(&retry_timer) || - !mod_timer(&retry_timer, - jiffies + SCLP_INIT_POLL_INTERVAL*HZ)) { + if (!test_bit(SCLP_SHUTDOWN, &sclp_status) && + (!timer_pending(&retry_timer) || + !mod_timer(&retry_timer, + jiffies + SCLP_INIT_POLL_INTERVAL*HZ))) { retry_timer.function = sclp_init_mask_retry; retry_timer.data = 0; retry_timer.expires = jiffies + @@ -671,6 +676,26 @@ sclp_init_mask_retry(unsigned long data) sclp_init_mask(); } +/* Reboot event handler - reset send and receive mask to prevent pending SCLP + * events from interfering with rebooted system. */ +static int +sclp_reboot_event(struct notifier_block *this, unsigned long event, void *ptr) +{ + unsigned long flags; + + /* Note: need spinlock to maintain atomicity when accessing global + * variables. */ + spin_lock_irqsave(&sclp_lock, flags); + set_bit(SCLP_SHUTDOWN, &sclp_status); + spin_unlock_irqrestore(&sclp_lock, flags); + sclp_init_mask(); + return NOTIFY_DONE; +} + +static struct notifier_block sclp_reboot_notifier = { + .notifier_call = sclp_reboot_event +}; + /* * sclp setup function. Called early (no kmalloc!) from sclp_console_init(). */ @@ -691,6 +716,10 @@ sclp_init(void) list_add(&sclp_state_change_event.list, &sclp_reg_list); list_add(&sclp_quiesce_event.list, &sclp_reg_list); + rc = register_reboot_notifier(&sclp_reboot_notifier); + if (rc) + return rc; + /* * request the 0x2401 external interrupt * The sclp driver is initialized early (before kmalloc works). We diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 38e59dd24..fa6f0b105 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c @@ -1,7 +1,7 @@ /* * drivers/s390/cio/cio.c * S/390 common I/O routines -- low level i/o calls - * $Revision: 1.123 $ + * $Revision: 1.128 $ * * Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH, * IBM Corporation @@ -17,8 +17,8 @@ #include #include #include +#include -#include #include #include #include @@ -141,6 +141,7 @@ cio_tpi(void) sch = (struct subchannel *)(unsigned long)tpi_info->intparm; if (!sch) return 1; + local_bh_disable(); irq_enter (); spin_lock(&sch->lock); memcpy (&sch->schib.scsw, &irb->scsw, sizeof (struct scsw)); @@ -148,6 +149,7 @@ cio_tpi(void) sch->driver->irq(&sch->dev); spin_unlock(&sch->lock); irq_exit (); + __local_bh_enable(); return 1; } @@ -409,10 +411,10 @@ cio_enable_subchannel (struct subchannel *sch, unsigned int isc) if (ccode) return -ENODEV; - sch->schib.pmcw.ena = 1; - sch->schib.pmcw.isc = isc; - sch->schib.pmcw.intparm = (__u32)(unsigned long)sch; for (retry = 5, ret = 0; retry > 0; retry--) { + sch->schib.pmcw.ena = 1; + sch->schib.pmcw.isc = isc; + sch->schib.pmcw.intparm = (__u32)(unsigned long)sch; ret = cio_modify(sch); if (ret == -ENODEV) break; @@ -463,9 +465,8 @@ cio_disable_subchannel (struct subchannel *sch) */ return -EBUSY; - - sch->schib.pmcw.ena = 0; for (retry = 5, ret = 0; retry > 0; retry--) { + sch->schib.pmcw.ena = 0; ret = cio_modify(sch); if (ret == -ENODEV) break; diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c index 788ae49c5..1708a16e4 100644 --- a/drivers/s390/cio/cmf.c +++ b/drivers/s390/cio/cmf.c @@ -1,5 +1,5 @@ /* - * linux/drivers/s390/cio/cmf.c ($Revision: 1.15 $) + * linux/drivers/s390/cio/cmf.c ($Revision: 1.16 $) * * Linux on zSeries Channel Measurement Facility support * @@ -526,29 +526,26 @@ readall_cmb (struct ccw_device *cdev, struct cmbdata *data) time = get_clock() - cdev->private->cmb_start_time; spin_unlock_irqrestore(cdev->ccwlock, flags); - *data = (struct cmbdata) { - /* we only know values before device_busy_time */ - .size = offsetof(struct cmbdata, device_busy_time), - - /* conver to nanoseconds */ - .elapsed_time = (time * 1000) >> 12, - - /* copy data to new structure */ - .ssch_rsch_count = cmb.ssch_rsch_count, - .sample_count = cmb.sample_count, - - /* time fields are converted to nanoseconds while copying */ - .device_connect_time - = time_to_nsec(cmb.device_connect_time), - .function_pending_time - = time_to_nsec(cmb.function_pending_time), - .device_disconnect_time - = time_to_nsec(cmb.device_disconnect_time), - .control_unit_queuing_time - = time_to_nsec(cmb.control_unit_queuing_time), - .device_active_only_time - = time_to_nsec(cmb.device_active_only_time), - }; + memset(data, sizeof(struct cmbdata), 0); + + /* we only know values before device_busy_time */ + data->size = offsetof(struct cmbdata, device_busy_time); + + /* convert to nanoseconds */ + data->elapsed_time = (time * 1000) >> 12; + + /* copy data to new structure */ + data->ssch_rsch_count = cmb.ssch_rsch_count; + data->sample_count = cmb.sample_count; + + /* time fields are converted to nanoseconds while copying */ + data->device_connect_time = time_to_nsec(cmb.device_connect_time); + data->function_pending_time = time_to_nsec(cmb.function_pending_time); + data->device_disconnect_time = time_to_nsec(cmb.device_disconnect_time); + data->control_unit_queuing_time + = time_to_nsec(cmb.control_unit_queuing_time); + data->device_active_only_time + = time_to_nsec(cmb.device_active_only_time); return 0; } @@ -739,33 +736,29 @@ readall_cmbe (struct ccw_device *cdev, struct cmbdata *data) time = get_clock() - cdev->private->cmb_start_time; spin_unlock_irqrestore(cdev->ccwlock, flags); - *data = (struct cmbdata) { - /* we only know values before device_busy_time */ - .size = offsetof(struct cmbdata, device_busy_time), - - /* conver to nanoseconds */ - .elapsed_time = (time * 1000) >> 12, - - /* copy data to new structure */ - .ssch_rsch_count = cmb.ssch_rsch_count, - .sample_count = cmb.sample_count, - - /* time fields are converted to nanoseconds while copying */ - .device_connect_time - = time_to_nsec(cmb.device_connect_time), - .function_pending_time - = time_to_nsec(cmb.function_pending_time), - .device_disconnect_time - = time_to_nsec(cmb.device_disconnect_time), - .control_unit_queuing_time - = time_to_nsec(cmb.control_unit_queuing_time), - .device_active_only_time - = time_to_nsec(cmb.device_active_only_time), - .device_busy_time - = time_to_nsec(cmb.device_busy_time), - .initial_command_response_time - = time_to_nsec(cmb.initial_command_response_time), - }; + memset (data, sizeof(struct cmbdata), 0); + + /* we only know values before device_busy_time */ + data->size = offsetof(struct cmbdata, device_busy_time); + + /* conver to nanoseconds */ + data->elapsed_time = (time * 1000) >> 12; + + /* copy data to new structure */ + data->ssch_rsch_count = cmb.ssch_rsch_count; + data->sample_count = cmb.sample_count; + + /* time fields are converted to nanoseconds while copying */ + data->device_connect_time = time_to_nsec(cmb.device_connect_time); + data->function_pending_time = time_to_nsec(cmb.function_pending_time); + data->device_disconnect_time = time_to_nsec(cmb.device_disconnect_time); + data->control_unit_queuing_time + = time_to_nsec(cmb.control_unit_queuing_time); + data->device_active_only_time + = time_to_nsec(cmb.device_active_only_time); + data->device_busy_time = time_to_nsec(cmb.device_busy_time); + data->initial_command_response_time + = time_to_nsec(cmb.initial_command_response_time); return 0; } diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index dba1bfb9a..dd12416e8 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c @@ -1,7 +1,7 @@ /* * drivers/s390/cio/css.c * driver for channel subsystem - * $Revision: 1.80 $ + * $Revision: 1.82 $ * * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, * IBM Corporation @@ -278,7 +278,7 @@ css_rescan_devices(void) { int irq, ret; - for (irq = 0; irq <= __MAX_SUBCHANNELS; irq++) { + for (irq = 0; irq < __MAX_SUBCHANNELS; irq++) { ret = css_evaluate_subchannel(irq, 1); /* No more memory. It doesn't make sense to continue. No * panic because this can happen in midflight and just @@ -521,6 +521,7 @@ css_enqueue_subchannel_slow(unsigned long schid) new_slow_sch = kmalloc(sizeof(struct slow_subchannel), GFP_ATOMIC); if (!new_slow_sch) return -ENOMEM; + memset(new_slow_sch, sizeof(struct slow_subchannel), 0); new_slow_sch->schid = schid; spin_lock_irqsave(&slow_subchannel_lock, flags); list_add_tail(&new_slow_sch->slow_list, &slow_subchannels_head); diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index a921b1fea..bf652fa34 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -1,7 +1,7 @@ /* * drivers/s390/cio/device.c * bus driver for ccw devices - * $Revision: 1.120 $ + * $Revision: 1.124 $ * * Copyright (C) 2002 IBM Deutschland Entwicklung GmbH, * IBM Corporation @@ -540,6 +540,8 @@ get_disc_ccwdev_by_devno(unsigned int devno, struct ccw_device *sibling) return cdev; } +extern int css_get_ssd_info(struct subchannel *sch); + void ccw_device_do_unreg_rereg(void *data) { @@ -581,6 +583,8 @@ ccw_device_do_unreg_rereg(void *data) device_unregister(&other_sch->dev); } } + /* Update ssd info here. */ + css_get_ssd_info(sch); cdev->private->devno = sch->schib.pmcw.dev; } else need_rename = 0; @@ -633,7 +637,8 @@ io_subchannel_register(void *data) sch->dev.driver_data = 0; kfree (cdev->private); kfree (cdev); - goto out; + put_device(&sch->dev); + return; } ret = subchannel_add_files(cdev->dev.parent); @@ -707,18 +712,19 @@ static int io_subchannel_recog(struct ccw_device *cdev, struct subchannel *sch) { int rc; + struct ccw_device_private *priv; sch->dev.driver_data = cdev; sch->driver = &io_subchannel_driver; cdev->ccwlock = &sch->lock; - *cdev->private = (struct ccw_device_private) { - .devno = sch->schib.pmcw.dev, - .irq = sch->irq, - .state = DEV_STATE_NOT_OPER, - .cmb_list = LIST_HEAD_INIT(cdev->private->cmb_list), - }; - init_waitqueue_head(&cdev->private->wait_q); - init_timer(&cdev->private->timer); + /* Init private data. */ + priv = cdev->private; + priv->devno = sch->schib.pmcw.dev; + priv->irq = sch->irq; + priv->state = DEV_STATE_NOT_OPER; + INIT_LIST_HEAD(&priv->cmb_list); + init_waitqueue_head(&priv->wait_q); + init_timer(&priv->timer); /* Set an initial name for the device. */ snprintf (cdev->dev.bus_id, BUS_ID_SIZE, "0.0.%04x", diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index 6a8db8450..03b569b4b 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c @@ -995,6 +995,7 @@ device_trigger_reprobe(struct subchannel *sch) if ((sch->lpm & (sch->lpm - 1)) != 0) sch->schib.pmcw.mp = 1; sch->schib.pmcw.intparm = (__u32)(unsigned long)sch; + /* We should also udate ssd info, but this has to wait. */ ccw_device_start_id(cdev, 0); spin_unlock_irqrestore(&sch->lock, flags); } diff --git a/drivers/s390/cio/device_id.c b/drivers/s390/cio/device_id.c index 32365959c..f6cb89728 100644 --- a/drivers/s390/cio/device_id.c +++ b/drivers/s390/cio/device_id.c @@ -303,10 +303,10 @@ ccw_device_sense_id_irq(struct ccw_device *cdev, enum dev_event dev_event) sch = to_subchannel(cdev->dev.parent); irb = (struct irb *) __LC_IRB; - /* Retry sense id for cc=1. */ + /* Retry sense id, if needed. */ if (irb->scsw.stctl == (SCSW_STCTL_STATUS_PEND | SCSW_STCTL_ALERT_STATUS)) { - if (irb->scsw.cc == 1) { + if ((irb->scsw.cc == 1) || !irb->scsw.actl) { ret = __ccw_device_sense_id_start(cdev); if (ret && ret != -EBUSY) ccw_device_sense_id_done(cdev, ret); diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c index f35bf0409..c9dc6ecbc 100644 --- a/drivers/s390/cio/qdio.c +++ b/drivers/s390/cio/qdio.c @@ -56,7 +56,7 @@ #include "ioasm.h" #include "chsc.h" -#define VERSION_QDIO_C "$Revision: 1.84 $" +#define VERSION_QDIO_C "$Revision: 1.86 $" /****************** MODULE PARAMETER VARIABLES ********************/ MODULE_AUTHOR("Utz Bacher "); @@ -365,7 +365,7 @@ qdio_stop_polling(struct qdio_q *q) * small window we can miss between resetting it and * checking for PRIMED state */ - if (q->is_iqdio_q) + if (q->is_thinint_q) tiqdio_set_summary_bit((__u32*)q->dev_st_chg_ind); return 0; diff --git a/drivers/s390/net/ctctty.c b/drivers/s390/net/ctctty.c index 6290b5c56..2806b2d15 100644 --- a/drivers/s390/net/ctctty.c +++ b/drivers/s390/net/ctctty.c @@ -307,10 +307,7 @@ ctc_tty_tint(ctc_tty_info * info) info->flags &= ~CTC_ASYNC_TX_LINESTAT; if (tty) { - if (wake && (tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); } } return (skb_queue_empty(&info->tx_queue) ? 0 : 1); @@ -589,9 +586,7 @@ ctc_tty_flush_buffer(struct tty_struct *tty) info->lsr |= UART_LSR_TEMT; spin_unlock_irqrestore(&ctc_tty_lock, flags); wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup) (tty); + tty_wakeup(tty); ex: DBF_TEXT_(trace, 2, "ex: %s ", __FUNCTION__); return; @@ -1066,8 +1061,7 @@ ctc_tty_close(struct tty_struct *tty, struct file *filp) skb_queue_purge(&info->tx_queue); info->lsr |= UART_LSR_TEMT; } - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); info->tty = 0; tty->closing = 0; if (info->blocked_open) { diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c index cac57951a..6b22b356c 100644 --- a/drivers/s390/net/lcs.c +++ b/drivers/s390/net/lcs.c @@ -11,7 +11,7 @@ * Frank Pavlic (pavlic@de.ibm.com) and * Martin Schwidefsky * - * $Revision: 1.85 $ $Date: 2004/08/04 11:05:43 $ + * $Revision: 1.92 $ $Date: 2004/09/03 08:06:11 $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -59,7 +59,7 @@ /** * initialization string for output */ -#define VERSION_LCS_C "$Revision: 1.85 $" +#define VERSION_LCS_C "$Revision: 1.92 $" static char version[] __initdata = "LCS driver ("VERSION_LCS_C "/" VERSION_LCS_H ")"; static char debug_buffer[255]; @@ -70,6 +70,7 @@ static char debug_buffer[255]; static void lcs_tasklet(unsigned long); static void lcs_start_kernel_thread(struct lcs_card *card); static void lcs_get_frames_cb(struct lcs_channel *, struct lcs_buffer *); +static int lcs_send_delipm(struct lcs_card *, struct lcs_ipm_list *); /** * Debug Facility Stuff @@ -100,9 +101,9 @@ lcs_register_debug_facility(void) return -ENOMEM; } debug_register_view(lcs_dbf_setup, &debug_hex_ascii_view); - debug_set_level(lcs_dbf_setup, 2); + debug_set_level(lcs_dbf_setup, 4); debug_register_view(lcs_dbf_trace, &debug_hex_ascii_view); - debug_set_level(lcs_dbf_trace, 2); + debug_set_level(lcs_dbf_trace, 4); return 0; } @@ -316,7 +317,106 @@ lcs_setup_write(struct lcs_card *card) init_waitqueue_head(&card->write.wait_q); } +static void +lcs_set_allowed_threads(struct lcs_card *card, unsigned long threads) +{ + unsigned long flags; + + spin_lock_irqsave(&card->mask_lock, flags); + card->thread_allowed_mask = threads; + spin_unlock_irqrestore(&card->mask_lock, flags); + wake_up(&card->wait_q); +} +static inline int +lcs_threads_running(struct lcs_card *card, unsigned long threads) +{ + unsigned long flags; + int rc = 0; + + spin_lock_irqsave(&card->mask_lock, flags); + rc = (card->thread_running_mask & threads); + spin_unlock_irqrestore(&card->mask_lock, flags); + return rc; +} + +static int +lcs_wait_for_threads(struct lcs_card *card, unsigned long threads) +{ + return wait_event_interruptible(card->wait_q, + lcs_threads_running(card, threads) == 0); +} + +static inline int +lcs_set_thread_start_bit(struct lcs_card *card, unsigned long thread) +{ + unsigned long flags; + + spin_lock_irqsave(&card->mask_lock, flags); + if ( !(card->thread_allowed_mask & thread) || + (card->thread_start_mask & thread) ) { + spin_unlock_irqrestore(&card->mask_lock, flags); + return -EPERM; + } + card->thread_start_mask |= thread; + spin_unlock_irqrestore(&card->mask_lock, flags); + return 0; +} + +static void +lcs_clear_thread_running_bit(struct lcs_card *card, unsigned long thread) +{ + unsigned long flags; + spin_lock_irqsave(&card->mask_lock, flags); + card->thread_running_mask &= ~thread; + spin_unlock_irqrestore(&card->mask_lock, flags); + wake_up(&card->wait_q); +} + +static inline int +__lcs_do_run_thread(struct lcs_card *card, unsigned long thread) +{ + unsigned long flags; + int rc = 0; + + spin_lock_irqsave(&card->mask_lock, flags); + if (card->thread_start_mask & thread){ + if ((card->thread_allowed_mask & thread) && + !(card->thread_running_mask & thread)){ + rc = 1; + card->thread_start_mask &= ~thread; + card->thread_running_mask |= thread; + } else + rc = -EPERM; + } + spin_unlock_irqrestore(&card->mask_lock, flags); + return rc; +} + +static int +lcs_do_run_thread(struct lcs_card *card, unsigned long thread) +{ + int rc = 0; + wait_event(card->wait_q, + (rc = __lcs_do_run_thread(card, thread)) >= 0); + return rc; +} + +static int +lcs_do_start_thread(struct lcs_card *card, unsigned long thread) +{ + unsigned long flags; + int rc = 0; + + spin_lock_irqsave(&card->mask_lock, flags); + LCS_DBF_TEXT_(4, trace, " %02x%02x%02x", + (u8) card->thread_start_mask, + (u8) card->thread_allowed_mask, + (u8) card->thread_running_mask); + rc = (card->thread_start_mask & thread); + spin_unlock_irqrestore(&card->mask_lock, flags); + return rc; +} /** * Initialize channels,card and state machines. @@ -337,34 +437,53 @@ lcs_setup_card(struct lcs_card *card) /* Initialize kernel thread task used for LGW commands. */ INIT_WORK(&card->kernel_thread_starter, (void *)lcs_start_kernel_thread,card); - card->thread_mask = 0; + card->thread_start_mask = 0; + card->thread_allowed_mask = 0; + card->thread_running_mask = 0; + init_waitqueue_head(&card->wait_q); spin_lock_init(&card->lock); spin_lock_init(&card->ipm_lock); + spin_lock_init(&card->mask_lock); #ifdef CONFIG_IP_MULTICAST INIT_LIST_HEAD(&card->ipm_list); #endif INIT_LIST_HEAD(&card->lancmd_waiters); } +static inline void +lcs_clear_multicast_list(struct lcs_card *card) +{ +#ifdef CONFIG_IP_MULTICAST + struct lcs_ipm_list *ipm; + unsigned long flags; + + /* Free multicast list. */ + LCS_DBF_TEXT(3, setup, "clmclist"); + spin_lock_irqsave(&card->ipm_lock, flags); + while (!list_empty(&card->ipm_list)){ + ipm = list_entry(card->ipm_list.next, + struct lcs_ipm_list, list); + list_del(&ipm->list); + if (ipm->ipm_state != LCS_IPM_STATE_SET_REQUIRED){ + spin_unlock_irqrestore(&card->ipm_lock, flags); + lcs_send_delipm(card, ipm); + spin_lock_irqsave(&card->ipm_lock, flags); + } + kfree(ipm); + } + spin_unlock_irqrestore(&card->ipm_lock, flags); +#endif +} /** * Cleanup channels,card and state machines. */ static void lcs_cleanup_card(struct lcs_card *card) { - struct list_head *l, *n; - struct lcs_ipm_list *ipm_list; LCS_DBF_TEXT(3, setup, "cleancrd"); LCS_DBF_HEX(2,setup,&card,sizeof(void*)); -#ifdef CONFIG_IP_MULTICAST - /* Free multicast list. */ - list_for_each_safe(l, n, &card->ipm_list) { - ipm_list = list_entry(l, struct lcs_ipm_list, list); - list_del(&ipm_list->list); - kfree(ipm_list); - } -#endif + if (card->dev != NULL) free_netdev(card->dev); /* Cleanup channels. */ @@ -430,6 +549,7 @@ lcs_stop_channel(struct lcs_channel *channel) return 0; LCS_DBF_TEXT(4,trace,"haltsch"); LCS_DBF_TEXT_(4,trace,"%s", channel->ccwdev->dev.bus_id); + channel->state = CH_STATE_INIT; spin_lock_irqsave(get_ccwdev_lock(channel->ccwdev), flags); rc = ccw_device_halt(channel->ccwdev, (addr_t) channel); spin_unlock_irqrestore(get_ccwdev_lock(channel->ccwdev), flags); @@ -651,6 +771,44 @@ lcs_get_lancmd(struct lcs_card *card, int count) return buffer; } + +static void +lcs_get_reply(struct lcs_reply *reply) +{ + WARN_ON(atomic_read(&reply->refcnt) <= 0); + atomic_inc(&reply->refcnt); +} + +static void +lcs_put_reply(struct lcs_reply *reply) +{ + WARN_ON(atomic_read(&reply->refcnt) <= 0); + if (atomic_dec_and_test(&reply->refcnt)) { + kfree(reply); + } + +} + +static struct lcs_reply * +lcs_alloc_reply(struct lcs_cmd *cmd) +{ + struct lcs_reply *reply; + + LCS_DBF_TEXT(4, trace, "getreply"); + + reply = kmalloc(sizeof(struct lcs_reply), GFP_ATOMIC); + if (!reply) + return NULL; + memset(reply,0,sizeof(struct lcs_reply)); + atomic_set(&reply->refcnt,1); + reply->sequence_no = cmd->sequence_no; + reply->received = 0; + reply->rc = 0; + init_waitqueue_head(&reply->wait_q); + + return reply; +} + /** * Notifier function for lancmd replies. Called from read irq. */ @@ -665,12 +823,14 @@ lcs_notify_lancmd_waiters(struct lcs_card *card, struct lcs_cmd *cmd) list_for_each_safe(l, n, &card->lancmd_waiters) { reply = list_entry(l, struct lcs_reply, list); if (reply->sequence_no == cmd->sequence_no) { - list_del(&reply->list); + lcs_get_reply(reply); + list_del_init(&reply->list); if (reply->callback != NULL) reply->callback(card, cmd); reply->received = 1; reply->rc = cmd->return_code; wake_up(&reply->wait_q); + lcs_put_reply(reply); break; } } @@ -683,50 +843,66 @@ lcs_notify_lancmd_waiters(struct lcs_card *card, struct lcs_cmd *cmd) void lcs_lancmd_timeout(unsigned long data) { - struct lcs_reply *reply; + struct lcs_reply *reply, *list_reply, *r; + unsigned long flags; LCS_DBF_TEXT(4, trace, "timeout"); reply = (struct lcs_reply *) data; - list_del(&reply->list); - reply->received = 1; - reply->rc = -ETIME; - wake_up(&reply->wait_q); + spin_lock_irqsave(&reply->card->lock, flags); + list_for_each_entry_safe(list_reply, r, + &reply->card->lancmd_waiters,list) { + if (reply == list_reply) { + lcs_get_reply(reply); + list_del_init(&reply->list); + spin_unlock_irqrestore(&reply->card->lock, flags); + reply->received = 1; + reply->rc = -ETIME; + wake_up(&reply->wait_q); + lcs_put_reply(reply); + return; + } + } + spin_unlock_irqrestore(&reply->card->lock, flags); } static int lcs_send_lancmd(struct lcs_card *card, struct lcs_buffer *buffer, void (*reply_callback)(struct lcs_card *, struct lcs_cmd *)) { - struct lcs_reply reply; + struct lcs_reply *reply; struct lcs_cmd *cmd; struct timer_list timer; + unsigned long flags; int rc; LCS_DBF_TEXT(4, trace, "sendcmd"); cmd = (struct lcs_cmd *) buffer->data; - cmd->sequence_no = ++card->sequence_no; cmd->return_code = 0; - reply.sequence_no = cmd->sequence_no; - reply.callback = reply_callback; - reply.received = 0; - reply.rc = 0; - init_waitqueue_head(&reply.wait_q); - spin_lock(&card->lock); - list_add_tail(&reply.list, &card->lancmd_waiters); - spin_unlock(&card->lock); + cmd->sequence_no = card->sequence_no++; + reply = lcs_alloc_reply(cmd); + if (!reply) + return -ENOMEM; + reply->callback = reply_callback; + reply->card = card; + spin_lock_irqsave(&card->lock, flags); + list_add_tail(&reply->list, &card->lancmd_waiters); + spin_unlock_irqrestore(&card->lock, flags); + buffer->callback = lcs_release_buffer; rc = lcs_ready_buffer(&card->write, buffer); if (rc) return rc; init_timer(&timer); timer.function = lcs_lancmd_timeout; - timer.data = (unsigned long) &reply; + timer.data = (unsigned long) reply; timer.expires = jiffies + HZ*card->lancmd_timeout; add_timer(&timer); - wait_event(reply.wait_q, reply.received); - del_timer(&timer); - LCS_DBF_TEXT_(4, trace, "rc:%d",reply.rc); - return reply.rc ? -EIO : 0; + wait_event(reply->wait_q, reply->received); + del_timer_sync(&timer); + LCS_DBF_TEXT_(4, trace, "rc:%d",reply->rc); + rc = reply->rc; + lcs_put_reply(reply); + return rc ? -EIO : 0; } /** @@ -940,33 +1116,56 @@ lcs_check_multicast_support(struct lcs_card *card) static void lcs_fix_multicast_list(struct lcs_card *card) { - struct list_head *l, *n; - struct lcs_ipm_list *ipm; + struct list_head failed_list; + struct lcs_ipm_list *ipm, *tmp; + unsigned long flags; + int rc; LCS_DBF_TEXT(4,trace, "fixipm"); - spin_lock(&card->ipm_lock); - list_for_each_safe(l, n, &card->ipm_list) { - ipm = list_entry(l, struct lcs_ipm_list, list); + INIT_LIST_HEAD(&failed_list); + spin_lock_irqsave(&card->ipm_lock, flags); +list_modified: + list_for_each_entry_safe(ipm, tmp, &card->ipm_list, list){ switch (ipm->ipm_state) { case LCS_IPM_STATE_SET_REQUIRED: - if (lcs_send_setipm(card, ipm)) + /* del from ipm_list so noone else can tamper with + * this entry */ + list_del_init(&ipm->list); + spin_unlock_irqrestore(&card->ipm_lock, flags); + rc = lcs_send_setipm(card, ipm); + spin_lock_irqsave(&card->ipm_lock, flags); + if (rc) { PRINT_INFO("Adding multicast address failed." "Table possibly full!\n"); - else + /* store ipm in failed list -> will be added + * to ipm_list again, so a retry will be done + * during the next call of this function */ + list_add_tail(&ipm->list, &failed_list); + } else { ipm->ipm_state = LCS_IPM_STATE_ON_CARD; - break; + /* re-insert into ipm_list */ + list_add_tail(&ipm->list, &card->ipm_list); + } + goto list_modified; case LCS_IPM_STATE_DEL_REQUIRED: - lcs_send_delipm(card, ipm); list_del(&ipm->list); + spin_unlock_irqrestore(&card->ipm_lock, flags); + lcs_send_delipm(card, ipm); + spin_lock_irqsave(&card->ipm_lock, flags); kfree(ipm); - break; + goto list_modified; case LCS_IPM_STATE_ON_CARD: break; } } + /* re-insert all entries from the failed_list into ipm_list */ + list_for_each_entry(ipm, &failed_list, list) { + list_del_init(&ipm->list); + list_add_tail(&ipm->list, &card->ipm_list); + } + spin_unlock_irqrestore(&card->ipm_lock, flags); if (card->state == DEV_STATE_UP) netif_wake_queue(card->dev); - spin_unlock(&card->ipm_lock); } /** @@ -985,51 +1184,67 @@ lcs_get_mac_for_ipm(__u32 ipm, char *mac, struct net_device *dev) /** * function called by net device to handle multicast address relevant things */ -static int -lcs_register_mc_addresses(void *data) +static inline void +lcs_remove_mc_addresses(struct lcs_card *card, struct in_device *in4_dev) { - struct lcs_card *card; - char buf[MAX_ADDR_LEN]; - struct list_head *l; struct ip_mc_list *im4; - struct in_device *in4_dev; - struct lcs_ipm_list *ipm, *tmp; - - daemonize("regipm"); - LCS_DBF_TEXT(4, trace, "regmulti"); + struct list_head *l; + struct lcs_ipm_list *ipm; + unsigned long flags; + char buf[MAX_ADDR_LEN]; - card = (struct lcs_card *) data; - in4_dev = in_dev_get(card->dev); - if (in4_dev == NULL) - return 0; - read_lock(&in4_dev->lock); - spin_lock(&card->ipm_lock); - /* Check for multicast addresses to be removed. */ + LCS_DBF_TEXT(4, trace, "remmclst"); + spin_lock_irqsave(&card->ipm_lock, flags); list_for_each(l, &card->ipm_list) { ipm = list_entry(l, struct lcs_ipm_list, list); for (im4 = in4_dev->mc_list; im4 != NULL; im4 = im4->next) { lcs_get_mac_for_ipm(im4->multiaddr, buf, card->dev); - if (memcmp(buf, &ipm->ipm.mac_addr, - LCS_MAC_LENGTH) == 0 && - ipm->ipm.ip_addr == im4->multiaddr) + if ( (ipm->ipm.ip_addr == im4->multiaddr) && + (memcmp(buf, &ipm->ipm.mac_addr, + LCS_MAC_LENGTH) == 0) ) break; } if (im4 == NULL) ipm->ipm_state = LCS_IPM_STATE_DEL_REQUIRED; } - /* Check for multicast addresses to be added. */ + spin_unlock_irqrestore(&card->ipm_lock, flags); +} + +static inline struct lcs_ipm_list * +lcs_check_addr_entry(struct lcs_card *card, struct ip_mc_list *im4, char *buf) +{ + struct lcs_ipm_list *tmp, *ipm = NULL; + struct list_head *l; + unsigned long flags; + + LCS_DBF_TEXT(4, trace, "chkmcent"); + spin_lock_irqsave(&card->ipm_lock, flags); + list_for_each(l, &card->ipm_list) { + tmp = list_entry(l, struct lcs_ipm_list, list); + if ( (tmp->ipm.ip_addr == im4->multiaddr) && + (memcmp(buf, &tmp->ipm.mac_addr, + LCS_MAC_LENGTH) == 0) ) { + ipm = tmp; + break; + } + } + spin_unlock_irqrestore(&card->ipm_lock, flags); + return ipm; +} + +static inline void +lcs_set_mc_addresses(struct lcs_card *card, struct in_device *in4_dev) +{ + + struct ip_mc_list *im4; + struct lcs_ipm_list *ipm; + char buf[MAX_ADDR_LEN]; + unsigned long flags; + + LCS_DBF_TEXT(4, trace, "setmclst"); for (im4 = in4_dev->mc_list; im4; im4 = im4->next) { lcs_get_mac_for_ipm(im4->multiaddr, buf, card->dev); - ipm = NULL; - list_for_each(l, &card->ipm_list) { - tmp = list_entry(l, struct lcs_ipm_list, list); - if (memcmp(buf, &tmp->ipm.mac_addr, - LCS_MAC_LENGTH) == 0 && - tmp->ipm.ip_addr == im4->multiaddr) { - ipm = tmp; - break; - } - } + ipm = lcs_check_addr_entry(card, im4, buf); if (ipm != NULL) continue; /* Address already in list. */ ipm = (struct lcs_ipm_list *) @@ -1043,12 +1258,37 @@ lcs_register_mc_addresses(void *data) memcpy(&ipm->ipm.mac_addr, buf, LCS_MAC_LENGTH); ipm->ipm.ip_addr = im4->multiaddr; ipm->ipm_state = LCS_IPM_STATE_SET_REQUIRED; + spin_lock_irqsave(&card->ipm_lock, flags); list_add(&ipm->list, &card->ipm_list); + spin_unlock_irqrestore(&card->ipm_lock, flags); } - spin_unlock(&card->ipm_lock); - read_unlock(&in4_dev->lock); +} + +static int +lcs_register_mc_addresses(void *data) +{ + struct lcs_card *card; + struct in_device *in4_dev; + + card = (struct lcs_card *) data; + daemonize("regipm"); + + if (!lcs_do_run_thread(card, LCS_SET_MC_THREAD)) + return 0; + LCS_DBF_TEXT(4, trace, "regmulti"); + + in4_dev = in_dev_get(card->dev); + if (in4_dev == NULL) + goto out; + read_lock(&in4_dev->mc_list_lock); + lcs_remove_mc_addresses(card,in4_dev); + lcs_set_mc_addresses(card, in4_dev); + read_unlock(&in4_dev->mc_list_lock); in_dev_put(in4_dev); + lcs_fix_multicast_list(card); +out: + lcs_clear_thread_running_bit(card, LCS_SET_MC_THREAD); return 0; } /** @@ -1062,8 +1302,10 @@ lcs_set_multicast_list(struct net_device *dev) LCS_DBF_TEXT(4, trace, "setmulti"); card = (struct lcs_card *) dev->priv; - set_bit(3, &card->thread_mask); - schedule_work(&card->kernel_thread_starter); + + if (!lcs_set_thread_start_bit(card, LCS_SET_MC_THREAD)) { + schedule_work(&card->kernel_thread_starter); + } } #endif /* CONFIG_IP_MULTICAST */ @@ -1116,6 +1358,7 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) LCS_DBF_TEXT_(5, trace, "Rint%s",cdev->dev.bus_id); LCS_DBF_TEXT_(5, trace, "%4x%4x",irb->scsw.cstat, irb->scsw.dstat); + LCS_DBF_TEXT_(5, trace, "%4x%4x",irb->scsw.fctl, irb->scsw.actl); /* How far in the ccw chain have we processed? */ if ((channel->state != CH_STATE_INIT) && @@ -1383,8 +1626,6 @@ lcs_detect(struct lcs_card *card) /* start/reset card */ if (card->dev) netif_stop_queue(card->dev); - card->write.state = CH_STATE_INIT; - card->read.state = CH_STATE_INIT; rc = lcs_stop_channels(card); if (rc == 0) { rc = lcs_start_channels(card); @@ -1427,6 +1668,7 @@ lcs_resetcard(struct lcs_card *card) return -EIO; } + /** * LCS Stop card */ @@ -1440,6 +1682,7 @@ lcs_stopcard(struct lcs_card *card) if (card->read.state != CH_STATE_STOPPED && card->write.state != CH_STATE_STOPPED && card->state == DEV_STATE_UP) { + lcs_clear_multicast_list(card); rc = lcs_send_stoplan(card,LCS_INITIATOR_TCPIP); rc = lcs_send_shutdown(card); } @@ -1459,6 +1702,9 @@ lcs_lgw_startlan_thread(void *data) card = (struct lcs_card *) data; daemonize("lgwstpln"); + + if (!lcs_do_run_thread(card, LCS_STARTLAN_THREAD)) + return 0; LCS_DBF_TEXT(4, trace, "lgwstpln"); if (card->dev) netif_stop_queue(card->dev); @@ -1471,6 +1717,7 @@ lcs_lgw_startlan_thread(void *data) } else PRINT_ERR("LCS Startlan for device %s failed!\n", card->dev->name); + lcs_clear_thread_running_bit(card, LCS_STARTLAN_THREAD); return 0; } @@ -1485,8 +1732,11 @@ lcs_lgw_startup_thread(void *data) struct lcs_card *card; card = (struct lcs_card *) data; - daemonize("lgwstpln"); - LCS_DBF_TEXT(4, trace, "lgwstpln"); + daemonize("lgwstaln"); + + if (!lcs_do_run_thread(card, LCS_STARTUP_THREAD)) + return 0; + LCS_DBF_TEXT(4, trace, "lgwstaln"); if (card->dev) netif_stop_queue(card->dev); rc = lcs_send_startup(card, LCS_INITIATOR_LGW); @@ -1511,6 +1761,7 @@ Done: else PRINT_ERR("LCS Startup for device %s failed!\n", card->dev->name); + lcs_clear_thread_running_bit(card, LCS_STARTUP_THREAD); return 0; } @@ -1526,6 +1777,9 @@ lcs_lgw_stoplan_thread(void *data) card = (struct lcs_card *) data; daemonize("lgwstop"); + + if (!lcs_do_run_thread(card, LCS_STOPLAN_THREAD)) + return 0; LCS_DBF_TEXT(4, trace, "lgwstop"); if (card->dev) netif_stop_queue(card->dev); @@ -1539,6 +1793,7 @@ lcs_lgw_stoplan_thread(void *data) rc = lcs_resetcard(card); if (rc != 0) rc = lcs_stopcard(card); + lcs_clear_thread_running_bit(card, LCS_STOPLAN_THREAD); return rc; } @@ -1549,14 +1804,14 @@ static void lcs_start_kernel_thread(struct lcs_card *card) { LCS_DBF_TEXT(5, trace, "krnthrd"); - if (test_and_clear_bit(0, &card->thread_mask)) + if (lcs_do_start_thread(card, LCS_STARTUP_THREAD)) kernel_thread(lcs_lgw_startup_thread, (void *) card, SIGCHLD); - if (test_and_clear_bit(1, &card->thread_mask)) + if (lcs_do_start_thread(card, LCS_STARTLAN_THREAD)) kernel_thread(lcs_lgw_startlan_thread, (void *) card, SIGCHLD); - if (test_and_clear_bit(2, &card->thread_mask)) + if (lcs_do_start_thread(card, LCS_STOPLAN_THREAD)) kernel_thread(lcs_lgw_stoplan_thread, (void *) card, SIGCHLD); #ifdef CONFIG_IP_MULTICAST - if (test_and_clear_bit(3, &card->thread_mask)) + if (lcs_do_start_thread(card, LCS_SET_MC_THREAD)) kernel_thread(lcs_register_mc_addresses, (void *) card, SIGCHLD); #endif } @@ -1571,16 +1826,19 @@ lcs_get_control(struct lcs_card *card, struct lcs_cmd *cmd) if (cmd->initiator == LCS_INITIATOR_LGW) { switch(cmd->cmd_code) { case LCS_CMD_STARTUP: - set_bit(0, &card->thread_mask); - schedule_work(&card->kernel_thread_starter); + if (!lcs_set_thread_start_bit(card, + LCS_STARTUP_THREAD)) + schedule_work(&card->kernel_thread_starter); break; case LCS_CMD_STARTLAN: - set_bit(1, &card->thread_mask); - schedule_work(&card->kernel_thread_starter); + if (!lcs_set_thread_start_bit(card, + LCS_STARTLAN_THREAD)) + schedule_work(&card->kernel_thread_starter); break; case LCS_CMD_STOPLAN: - set_bit(2, &card->thread_mask); - schedule_work(&card->kernel_thread_starter); + if (!lcs_set_thread_start_bit(card, + LCS_STOPLAN_THREAD)) + schedule_work(&card->kernel_thread_starter); break; default: PRINT_INFO("UNRECOGNIZED LGW COMMAND\n"); @@ -1953,7 +2211,9 @@ netdev_out: card->dev->set_multicast_list = lcs_set_multicast_list; #endif netif_stop_queue(card->dev); + lcs_set_allowed_threads(card,0xffffffff); if (recover_state == DEV_STATE_RECOVER) { + lcs_set_multicast_list(card->dev); card->dev->flags |= IFF_UP; netif_wake_queue(card->dev); card->state = DEV_STATE_UP; @@ -1982,7 +2242,9 @@ lcs_shutdown_device(struct ccwgroup_device *ccwgdev) card = (struct lcs_card *)ccwgdev->dev.driver_data; if (!card) return -ENODEV; - + lcs_set_allowed_threads(card, 0); + if (lcs_wait_for_threads(card, LCS_SET_MC_THREAD)) + return -ERESTARTSYS; LCS_DBF_HEX(3, setup, &card, sizeof(void*)); recover_state = card->state; diff --git a/drivers/s390/net/lcs.h b/drivers/s390/net/lcs.h index 44cf99060..bd3fee027 100644 --- a/drivers/s390/net/lcs.h +++ b/drivers/s390/net/lcs.h @@ -6,7 +6,7 @@ #include #include -#define VERSION_LCS_H "$Revision: 1.17 $" +#define VERSION_LCS_H "$Revision: 1.18 $" #define LCS_DBF_TEXT(level, name, text) \ do { \ @@ -152,6 +152,12 @@ enum lcs_dev_states { DEV_STATE_RECOVER, }; +enum lcs_threads { + LCS_SET_MC_THREAD = 1, + LCS_STARTLAN_THREAD = 2, + LCS_STOPLAN_THREAD = 4, + LCS_STARTUP_THREAD = 8, +}; /** * LCS struct declarations */ @@ -247,9 +253,11 @@ struct lcs_buffer { struct lcs_reply { struct list_head list; __u16 sequence_no; + atomic_t refcnt; /* Callback for completion notification. */ void (*callback)(struct lcs_card *, struct lcs_cmd *); wait_queue_head_t wait_q; + struct lcs_card *card; int received; int rc; }; @@ -268,6 +276,7 @@ struct lcs_channel { int buf_idx; }; + /** * definition of the lcs card */ @@ -287,7 +296,11 @@ struct lcs_card { int lancmd_timeout; struct work_struct kernel_thread_starter; - unsigned long thread_mask; + spinlock_t mask_lock; + unsigned long thread_start_mask; + unsigned long thread_running_mask; + unsigned long thread_allowed_mask; + wait_queue_head_t wait_q; #ifdef CONFIG_IP_MULTICAST struct list_head ipm_list; diff --git a/drivers/s390/net/qeth.h b/drivers/s390/net/qeth.h index eaae2afab..6b43f593d 100644 --- a/drivers/s390/net/qeth.h +++ b/drivers/s390/net/qeth.h @@ -525,6 +525,7 @@ enum qeth_ip_types { QETH_IP_TYPE_NORMAL, QETH_IP_TYPE_VIPA, QETH_IP_TYPE_RXIP, + QETH_IP_TYPE_DEL_ALL_MC, }; enum qeth_cmd_buffer_state { @@ -679,8 +680,7 @@ struct qeth_card_options { */ enum qeth_threads { QETH_SET_IP_THREAD = 1, - QETH_SET_MC_THREAD = 2, - QETH_RECOVER_THREAD = 4, + QETH_RECOVER_THREAD = 2, }; struct qeth_card { @@ -714,7 +714,7 @@ struct qeth_card { volatile unsigned long thread_running_mask; spinlock_t ip_lock; struct list_head ip_list; - struct list_head ip_tbd_list; + struct list_head *ip_tbd_list; struct qeth_ipato ipato; struct list_head cmd_waiter_list; /* QDIO buffer handling */ diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 17f0f67d8..711cba4f8 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c @@ -1,6 +1,6 @@ /* * - * linux/drivers/s390/net/qeth_main.c ($Revision: 1.130 $) + * linux/drivers/s390/net/qeth_main.c ($Revision: 1.145 $) * * Linux on zSeries OSA Express and HiperSockets support * @@ -12,7 +12,7 @@ * Frank Pavlic (pavlic@de.ibm.com) and * Thomas Spatzier * - * $Revision: 1.130 $ $Date: 2004/08/05 11:21:50 $ + * $Revision: 1.145 $ $Date: 2004/10/08 15:08:40 $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -73,12 +73,13 @@ qeth_eyecatcher(void) #include #include #include +#include #include "qeth.h" #include "qeth_mpc.h" #include "qeth_fs.h" -#define VERSION_QETH_C "$Revision: 1.130 $" +#define VERSION_QETH_C "$Revision: 1.145 $" static const char *version = "qeth S/390 OSA-Express driver"; /** @@ -159,6 +160,9 @@ qeth_set_online(struct ccwgroup_device *); static struct qeth_ipaddr * qeth_get_addr_buffer(enum qeth_prot_versions); +static void +qeth_set_multicast_list(struct net_device *); + static void qeth_notify_processes(void) { @@ -660,7 +664,10 @@ __qeth_insert_ip_todo(struct qeth_card *card, struct qeth_ipaddr *addr, int add) struct qeth_ipaddr *tmp, *t; int found = 0; - list_for_each_entry_safe(tmp, t, &card->ip_tbd_list, entry) { + list_for_each_entry_safe(tmp, t, card->ip_tbd_list, entry) { + if ((addr->type == QETH_IP_TYPE_DEL_ALL_MC) && + (tmp->type == QETH_IP_TYPE_DEL_ALL_MC)) + return 0; if ((tmp->proto == QETH_PROT_IPV4) && (addr->proto == QETH_PROT_IPV4) && (tmp->type == addr->type) && @@ -692,14 +699,18 @@ __qeth_insert_ip_todo(struct qeth_card *card, struct qeth_ipaddr *addr, int add) } return 0; } else { - if (addr->users == 0) - addr->users += add? 1:-1; - if (add && (addr->type == QETH_IP_TYPE_NORMAL) && - qeth_is_addr_covered_by_ipato(card, addr)){ - QETH_DBF_TEXT(trace, 2, "tkovaddr"); - addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG; + if (addr->type == QETH_IP_TYPE_DEL_ALL_MC) + list_add(&addr->entry, card->ip_tbd_list); + else { + if (addr->users == 0) + addr->users += add? 1:-1; + if (add && (addr->type == QETH_IP_TYPE_NORMAL) && + qeth_is_addr_covered_by_ipato(card, addr)){ + QETH_DBF_TEXT(trace, 2, "tkovaddr"); + addr->set_flags |= QETH_IPA_SETIP_TAKEOVER_FLAG; + } + list_add_tail(&addr->entry, card->ip_tbd_list); } - list_add_tail(&addr->entry, &card->ip_tbd_list); return 1; } } @@ -717,8 +728,8 @@ qeth_delete_ip(struct qeth_card *card, struct qeth_ipaddr *addr) if (addr->proto == QETH_PROT_IPV4) QETH_DBF_HEX(trace,4,&addr->u.a4.addr,4); else { - QETH_DBF_HEX(trace,4,&addr->u.a6.addr,4); - QETH_DBF_HEX(trace,4,((char *)&addr->u.a6.addr)+4,4); + QETH_DBF_HEX(trace,4,&addr->u.a6.addr,8); + QETH_DBF_HEX(trace,4,((char *)&addr->u.a6.addr)+8,8); } spin_lock_irqsave(&card->ip_lock, flags); rc = __qeth_insert_ip_todo(card, addr, 0); @@ -736,8 +747,8 @@ qeth_add_ip(struct qeth_card *card, struct qeth_ipaddr *addr) if (addr->proto == QETH_PROT_IPV4) QETH_DBF_HEX(trace,4,&addr->u.a4.addr,4); else { - QETH_DBF_HEX(trace,4,&addr->u.a6.addr,4); - QETH_DBF_HEX(trace,4,((char *)&addr->u.a6.addr)+4,4); + QETH_DBF_HEX(trace,4,&addr->u.a6.addr,8); + QETH_DBF_HEX(trace,4,((char *)&addr->u.a6.addr)+8,8); } spin_lock_irqsave(&card->ip_lock, flags); rc = __qeth_insert_ip_todo(card, addr, 1); @@ -745,19 +756,21 @@ qeth_add_ip(struct qeth_card *card, struct qeth_ipaddr *addr) return rc; } -static void -qeth_reinsert_todos(struct qeth_card *card, struct list_head *todos) +static inline void +__qeth_delete_all_mc(struct qeth_card *card, unsigned long *flags) { - struct qeth_ipaddr *todo, *tmp; + struct qeth_ipaddr *addr, *tmp; + int rc; - list_for_each_entry_safe(todo, tmp, todos, entry){ - list_del_init(&todo->entry); - if (todo->users < 0) { - if (!qeth_delete_ip(card, todo)) - kfree(todo); - } else { - if (!qeth_add_ip(card, todo)) - kfree(todo); + list_for_each_entry_safe(addr, tmp, &card->ip_list, entry) { + if (addr->is_multicast) { + spin_unlock_irqrestore(&card->ip_lock, *flags); + rc = qeth_deregister_addr_entry(card, addr); + spin_lock_irqsave(&card->ip_lock, *flags); + if (!rc) { + list_del(&addr->entry); + kfree(addr); + } } } } @@ -765,7 +778,7 @@ qeth_reinsert_todos(struct qeth_card *card, struct list_head *todos) static void qeth_set_ip_addr_list(struct qeth_card *card) { - struct list_head failed_todos; + struct list_head *tbd_list; struct qeth_ipaddr *todo, *addr; unsigned long flags; int rc; @@ -773,13 +786,25 @@ qeth_set_ip_addr_list(struct qeth_card *card) QETH_DBF_TEXT(trace, 2, "sdiplist"); QETH_DBF_HEX(trace, 2, &card, sizeof(void *)); - INIT_LIST_HEAD(&failed_todos); - spin_lock_irqsave(&card->ip_lock, flags); - while (!list_empty(&card->ip_tbd_list)) { - todo = list_entry(card->ip_tbd_list.next, - struct qeth_ipaddr, entry); - list_del_init(&todo->entry); + tbd_list = card->ip_tbd_list; + card->ip_tbd_list = kmalloc(sizeof(struct list_head), GFP_ATOMIC); + if (!card->ip_tbd_list) { + QETH_DBF_TEXT(trace, 0, "silnomem"); + card->ip_tbd_list = tbd_list; + spin_unlock_irqrestore(&card->ip_lock, flags); + return; + } else + INIT_LIST_HEAD(card->ip_tbd_list); + + while (!list_empty(tbd_list)){ + todo = list_entry(tbd_list->next, struct qeth_ipaddr, entry); + list_del(&todo->entry); + if (todo->type == QETH_IP_TYPE_DEL_ALL_MC){ + __qeth_delete_all_mc(card, &flags); + kfree(todo); + continue; + } rc = __qeth_ref_ip_on_card(card, todo, &addr); if (rc == 0) { /* nothing to be done; only adjusted refcount */ @@ -792,24 +817,22 @@ qeth_set_ip_addr_list(struct qeth_card *card) if (!rc) list_add_tail(&todo->entry, &card->ip_list); else - list_add_tail(&todo->entry, &failed_todos); + kfree(todo); } else if (rc == -1) { /* on-card entry to be removed */ list_del_init(&addr->entry); spin_unlock_irqrestore(&card->ip_lock, flags); rc = qeth_deregister_addr_entry(card, addr); spin_lock_irqsave(&card->ip_lock, flags); - if (!rc) { + if (!rc) kfree(addr); - kfree(todo); - } else { + else list_add_tail(&addr->entry, &card->ip_list); - list_add_tail(&todo->entry, &failed_todos); - } + kfree(todo); } } spin_unlock_irqrestore(&card->ip_lock, flags); - qeth_reinsert_todos(card, &failed_todos); + kfree(tbd_list); } static void qeth_delete_mc_addresses(struct qeth_card *); @@ -887,28 +910,7 @@ qeth_do_run_thread(struct qeth_card *card, unsigned long thread) } static int -qeth_register_mc_addresses(void *ptr) -{ - struct qeth_card *card; - - card = (struct qeth_card *) ptr; - daemonize("qeth_reg_mcaddrs"); - QETH_DBF_TEXT(trace,4,"regmcth1"); - if (!qeth_do_run_thread(card, QETH_SET_MC_THREAD)) - return 0; - QETH_DBF_TEXT(trace,4,"regmcth2"); - qeth_delete_mc_addresses(card); - qeth_add_multicast_ipv4(card); -#ifdef CONFIG_QETH_IPV6 - qeth_add_multicast_ipv6(card); -#endif - qeth_set_ip_addr_list(card); - qeth_clear_thread_running_bit(card, QETH_SET_MC_THREAD); - return 0; -} - -static int -qeth_register_ip_address(void *ptr) +qeth_register_ip_addresses(void *ptr) { struct qeth_card *card; @@ -988,9 +990,7 @@ qeth_start_kernel_thread(struct qeth_card *card) return; if (qeth_do_start_thread(card, QETH_SET_IP_THREAD)) - kernel_thread(qeth_register_ip_address, (void *) card, SIGCHLD); - if (qeth_do_start_thread(card, QETH_SET_MC_THREAD)) - kernel_thread(qeth_register_mc_addresses, (void *)card,SIGCHLD); + kernel_thread(qeth_register_ip_addresses, (void *)card,SIGCHLD); if (qeth_do_start_thread(card, QETH_RECOVER_THREAD)) kernel_thread(qeth_recover, (void *) card, SIGCHLD); } @@ -1040,7 +1040,12 @@ qeth_setup_card(struct qeth_card *card) INIT_WORK(&card->kernel_thread_starter, (void *)qeth_start_kernel_thread,card); INIT_LIST_HEAD(&card->ip_list); - INIT_LIST_HEAD(&card->ip_tbd_list); + card->ip_tbd_list = kmalloc(sizeof(struct list_head), GFP_KERNEL); + if (!card->ip_tbd_list) { + QETH_DBF_TEXT(setup, 0, "iptbdnom"); + return -ENOMEM; + } + INIT_LIST_HEAD(card->ip_tbd_list); INIT_LIST_HEAD(&card->cmd_waiter_list); init_waitqueue_head(&card->wait_q); /* intial options */ @@ -1574,9 +1579,8 @@ qeth_reset_ip_addresses(struct qeth_card *card) QETH_DBF_TEXT(trace, 2, "rstipadd"); qeth_clear_ip_list(card, 0, 1); - if ( (qeth_set_thread_start_bit(card, QETH_SET_IP_THREAD) == 0) || - (qeth_set_thread_start_bit(card, QETH_SET_MC_THREAD) == 0) ) - schedule_work(&card->kernel_thread_starter); + /* this function will also schedule the SET_IP_THREAD */ + qeth_set_multicast_list(card->dev); } static struct qeth_ipa_cmd * @@ -2147,7 +2151,7 @@ qeth_type_trans(struct sk_buff *skb, struct net_device *dev) skb->mac.raw = skb->data; skb_pull(skb, ETH_ALEN * 2 + sizeof (short)); - eth = skb->mac.ethernet; + eth = eth_hdr(skb); if (*eth->h_dest & 1) { if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0) @@ -2258,6 +2262,7 @@ qeth_rebuild_skb(struct qeth_card *card, struct sk_buff *skb, default: skb->pkt_type = PACKET_HOST; } + qeth_rebuild_skb_vlan(card, skb, hdr); if (card->options.fake_ll) qeth_rebuild_skb_fake_ll(card, skb, hdr); else @@ -2273,7 +2278,6 @@ qeth_rebuild_skb(struct qeth_card *card, struct sk_buff *skb, else skb->ip_summed = SW_CHECKSUMMING; } - qeth_rebuild_skb_vlan(card, skb, hdr); } static inline void @@ -3834,6 +3838,7 @@ qeth_do_send_packet(struct qeth_card *card, struct qeth_qdio_out_q *queue, /* return EBUSY because we sent old packet, not * the current one */ rc = -EBUSY; + atomic_set(&queue->state, QETH_OUT_Q_UNLOCKED); goto out; } } @@ -3883,6 +3888,12 @@ qeth_send_packet(struct qeth_card *card, struct sk_buff *skb) ipv = qeth_get_ip_version(skb); cast_type = qeth_get_cast_type(card, skb); + if ((cast_type == RTN_BROADCAST) && (card->info.broadcast_capable == 0)){ + card->stats.tx_dropped++; + card->stats.tx_errors++; + dev_kfree_skb_any(skb); + return 0; + } queue = card->qdio.out_qs [qeth_get_priority_queue(card, skb, ipv, cast_type)]; @@ -4372,12 +4383,13 @@ qeth_snmp_command(struct qeth_card *card, char *udata) /* skip 4 bytes (data_len struct member) to get req_len */ if (copy_from_user(&req_len, udata + sizeof(int), sizeof(int))) return -EFAULT; - ureq = kmalloc(req_len, GFP_KERNEL); + ureq = kmalloc(req_len+sizeof(struct qeth_snmp_ureq_hdr), GFP_KERNEL); if (!ureq) { QETH_DBF_TEXT(trace, 2, "snmpnome"); return -ENOMEM; } - if (copy_from_user(ureq, udata, req_len)){ + if (copy_from_user(ureq, udata, + req_len+sizeof(struct qeth_snmp_ureq_hdr))){ kfree(ureq); return -EFAULT; } @@ -4546,7 +4558,8 @@ qeth_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) if (!card) return -ENODEV; - if (card->state != CARD_STATE_UP) + if ((card->state != CARD_STATE_UP) && + (card->state != CARD_STATE_SOFTSETUP)) return -ENODEV; switch (cmd){ @@ -4733,9 +4746,10 @@ qeth_free_vlan_addresses4(struct qeth_card *card, unsigned short vid) QETH_DBF_TEXT(trace, 4, "frvaddr4"); if (!card->vlangrp) return; - in_dev = in_dev_get(card->vlangrp->vlan_devices[vid]); + rcu_read_lock(); + in_dev = __in_dev_get(card->vlangrp->vlan_devices[vid]); if (!in_dev) - return; + goto out; for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next){ addr = qeth_get_addr_buffer(QETH_PROT_IPV4); if (addr){ @@ -4746,9 +4760,11 @@ qeth_free_vlan_addresses4(struct qeth_card *card, unsigned short vid) kfree(addr); } } - in_dev_put(in_dev); +out: + rcu_read_unlock(); } +#ifdef CONFIG_QETH_IPV6 static void qeth_free_vlan_addresses6(struct qeth_card *card, unsigned short vid) { @@ -4775,6 +4791,9 @@ qeth_free_vlan_addresses6(struct qeth_card *card, unsigned short vid) } in6_dev_put(in6_dev); } +#else +#define qeth_free_vlan_addresses6(card, vid) do{ ; }while(0) +#endif static void qeth_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) @@ -4794,12 +4813,28 @@ qeth_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) if (card->vlangrp) card->vlangrp->vlan_devices[vid] = NULL; spin_unlock_irqrestore(&card->vlanlock, flags); - if ( (qeth_set_thread_start_bit(card, QETH_SET_IP_THREAD) == 0) || - (qeth_set_thread_start_bit(card, QETH_SET_MC_THREAD) == 0) ) - schedule_work(&card->kernel_thread_starter); + qeth_set_multicast_list(card->dev); } #endif +/** + * set multicast address on card + */ +static void +qeth_set_multicast_list(struct net_device *dev) +{ + struct qeth_card *card = (struct qeth_card *) dev->priv; + + QETH_DBF_TEXT(trace,3,"setmulti"); + qeth_delete_mc_addresses(card); + qeth_add_multicast_ipv4(card); +#ifdef CONFIG_QETH_IPV6 + qeth_add_multicast_ipv6(card); +#endif + if (qeth_set_thread_start_bit(card, QETH_SET_IP_THREAD) == 0) + schedule_work(&card->kernel_thread_starter); +} + static int qeth_neigh_setup(struct net_device *dev, struct neigh_parms *np) { @@ -4855,24 +4890,19 @@ qeth_get_addr_buffer(enum qeth_prot_versions prot) static void qeth_delete_mc_addresses(struct qeth_card *card) { - struct qeth_ipaddr *ipm, *iptodo; + struct qeth_ipaddr *iptodo; unsigned long flags; QETH_DBF_TEXT(trace,4,"delmc"); - spin_lock_irqsave(&card->ip_lock, flags); - list_for_each_entry(ipm, &card->ip_list, entry){ - if (!ipm->is_multicast) - continue; - iptodo = qeth_get_addr_buffer(ipm->proto); - if (!iptodo) { - QETH_DBF_TEXT(trace, 2, "dmcnomem"); - continue; - } - memcpy(iptodo, ipm, sizeof(struct qeth_ipaddr)); - iptodo->users = iptodo->users * -1; - if (!__qeth_insert_ip_todo(card, iptodo, 0)) - kfree(iptodo); + iptodo = qeth_get_addr_buffer(QETH_PROT_IPV4); + if (!iptodo) { + QETH_DBF_TEXT(trace, 2, "dmcnomem"); + return; } + iptodo->type = QETH_IP_TYPE_DEL_ALL_MC; + spin_lock_irqsave(&card->ip_lock, flags); + if (!__qeth_insert_ip_todo(card, iptodo, 0)) + kfree(iptodo); spin_unlock_irqrestore(&card->ip_lock, flags); } @@ -4918,9 +4948,9 @@ qeth_add_vlan_mc(struct qeth_card *card) in_dev = in_dev_get(vg->vlan_devices[i]); if (!in_dev) continue; - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); qeth_add_mc(card,in_dev); - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); in_dev_put(in_dev); } #endif @@ -4935,10 +4965,10 @@ qeth_add_multicast_ipv4(struct qeth_card *card) in4_dev = in_dev_get(card->dev); if (in4_dev == NULL) return; - read_lock(&in4_dev->lock); + read_lock(&in4_dev->mc_list_lock); qeth_add_mc(card, in4_dev); qeth_add_vlan_mc(card); - read_unlock(&in4_dev->lock); + read_unlock(&in4_dev->mc_list_lock); in_dev_put(in4_dev); } @@ -5014,21 +5044,6 @@ qeth_add_multicast_ipv6(struct qeth_card *card) } #endif /* CONFIG_QETH_IPV6 */ -/** - * set multicast address on card - */ -static void -qeth_set_multicast_list(struct net_device *dev) -{ - struct qeth_card *card; - - QETH_DBF_TEXT(trace,3,"setmulti"); - card = (struct qeth_card *) dev->priv; - - if (qeth_set_thread_start_bit(card, QETH_SET_MC_THREAD) == 0) - schedule_work(&card->kernel_thread_starter); -} - static void qeth_fill_ipacmd_header(struct qeth_card *card, struct qeth_ipa_cmd *cmd, __u8 command, enum qeth_prot_versions prot) @@ -5739,7 +5754,7 @@ qeth_start_ipa_ip_fragmentation(struct qeth_card *card) QETH_DBF_TEXT(trace,3,"ipaipfrg"); if (!qeth_is_supported(card, IPA_IP_FRAGMENTATION)) { - PRINT_INFO("IP fragmentation not supported on %s\n", + PRINT_INFO("Hardware IP fragmentation not supported on %s\n", card->info.if_name); return -EOPNOTSUPP; } @@ -5747,11 +5762,11 @@ qeth_start_ipa_ip_fragmentation(struct qeth_card *card) rc = qeth_send_simple_setassparms(card, IPA_IP_FRAGMENTATION, IPA_CMD_ASS_START, 0); if (rc) { - PRINT_WARN("Could not start IP fragmentation " + PRINT_WARN("Could not start Hardware IP fragmentation " "assist on %s: 0x%x\n", card->info.if_name, rc); } else - PRINT_INFO("IP fragmentation enabled \n"); + PRINT_INFO("Hardware IP fragmentation enabled \n"); return rc; } @@ -6249,7 +6264,7 @@ qeth_clear_ip_list(struct qeth_card *card, int clean, int recover) QETH_DBF_TEXT(trace,4,"clearip"); spin_lock_irqsave(&card->ip_lock, flags); /* clear todo list */ - list_for_each_entry_safe(addr, tmp, &card->ip_tbd_list, entry){ + list_for_each_entry_safe(addr, tmp, card->ip_tbd_list, entry){ list_del(&addr->entry); kfree(addr); } @@ -6267,7 +6282,7 @@ qeth_clear_ip_list(struct qeth_card *card, int clean, int recover) kfree(addr); continue; } - list_add_tail(&addr->entry, &card->ip_tbd_list); + list_add_tail(&addr->entry, card->ip_tbd_list); } spin_unlock_irqrestore(&card->ip_lock, flags); } @@ -6497,8 +6512,7 @@ qeth_start_again(struct qeth_card *card) rtnl_lock(); dev_open(card->dev); rtnl_unlock(); - if (qeth_set_thread_start_bit(card, QETH_SET_MC_THREAD) == 0) - schedule_work(&card->kernel_thread_starter); + qeth_set_multicast_list(card->dev); } static int @@ -6706,19 +6720,26 @@ static int qeth_arp_constructor(struct neighbour *neigh) { struct net_device *dev = neigh->dev; - struct in_device *in_dev = in_dev_get(dev); + struct in_device *in_dev; + struct neigh_parms *parms; - if (in_dev == NULL) - return -EINVAL; if (!qeth_verify_dev(dev)) { - in_dev_put(in_dev); return qeth_old_arp_constructor(neigh); } + rcu_read_lock(); + in_dev = rcu_dereference(__in_dev_get(dev)); + if (in_dev == NULL) { + rcu_read_unlock(); + return -EINVAL; + } + + parms = in_dev->arp_parms; + __neigh_parms_put(neigh->parms); + neigh->parms = neigh_parms_clone(parms); + rcu_read_unlock(); + neigh->type = inet_addr_type(*(u32 *) neigh->primary_key); - if (in_dev->arp_parms) - neigh->parms = in_dev->arp_parms; - in_dev_put(in_dev); neigh->nud_state = NUD_NOARP; neigh->ops = arp_direct_ops; neigh->output = neigh->ops->queue_xmit; @@ -6875,7 +6896,7 @@ qeth_add_vipa(struct qeth_card *card, enum qeth_prot_versions proto, return -ENOMEM; spin_lock_irqsave(&card->ip_lock, flags); if (__qeth_address_exists_in_list(&card->ip_list, ipaddr, 0) || - __qeth_address_exists_in_list(&card->ip_tbd_list, ipaddr, 0)) + __qeth_address_exists_in_list(card->ip_tbd_list, ipaddr, 0)) rc = -EEXIST; spin_unlock_irqrestore(&card->ip_lock, flags); if (rc){ @@ -6948,7 +6969,7 @@ qeth_add_rxip(struct qeth_card *card, enum qeth_prot_versions proto, return -ENOMEM; spin_lock_irqsave(&card->ip_lock, flags); if (__qeth_address_exists_in_list(&card->ip_list, ipaddr, 0) || - __qeth_address_exists_in_list(&card->ip_tbd_list, ipaddr, 0)) + __qeth_address_exists_in_list(card->ip_tbd_list, ipaddr, 0)) rc = -EEXIST; spin_unlock_irqrestore(&card->ip_lock, flags); if (rc){ diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c index dad02890e..48a5e9529 100644 --- a/drivers/s390/scsi/zfcp_aux.c +++ b/drivers/s390/scsi/zfcp_aux.c @@ -29,7 +29,7 @@ */ /* this drivers version (do not edit !!! generated and updated by cvs) */ -#define ZFCP_AUX_REVISION "$Revision: 1.115 $" +#define ZFCP_AUX_REVISION "$Revision: 1.129 $" #include "zfcp_ext.h" @@ -47,11 +47,11 @@ static void zfcp_ns_gid_pn_handler(unsigned long); /* miscellaneous */ static inline int zfcp_sg_list_alloc(struct zfcp_sg_list *, size_t); -static inline int zfcp_sg_list_free(struct zfcp_sg_list *); -static inline int zfcp_sg_list_copy_from_user(struct zfcp_sg_list *, void *, - size_t); -static inline int zfcp_sg_list_copy_to_user(void *, struct zfcp_sg_list *, - size_t); +static inline void zfcp_sg_list_free(struct zfcp_sg_list *); +static inline int zfcp_sg_list_copy_from_user(struct zfcp_sg_list *, + void __user *, size_t); +static inline int zfcp_sg_list_copy_to_user(void __user *, + struct zfcp_sg_list *, size_t); static int zfcp_cfdc_dev_ioctl(struct inode *, struct file *, unsigned int, unsigned long); @@ -95,7 +95,7 @@ MODULE_PARM_DESC(device, "specify initial device"); module_param(loglevel, uint, 0); MODULE_PARM_DESC(loglevel, "log levels, 8 nibbles: " - "(unassigned) ERP QDIO DIO Config FSF SCSI Other, " + "FC ERP QDIO CIO Config FSF SCSI Other, " "levels: 0=none 1=normal 2=devel 3=trace"); #ifdef ZFCP_PRINT_FLAGS @@ -257,24 +257,20 @@ zfcp_device_setup(char *str) static void __init zfcp_init_device_configure(void) { - int found = 0; struct zfcp_adapter *adapter; struct zfcp_port *port; struct zfcp_unit *unit; down(&zfcp_data.config_sema); read_lock_irq(&zfcp_data.config_lock); - list_for_each_entry(adapter, &zfcp_data.adapter_list_head, list) - if (strcmp(zfcp_data.init_busid, - zfcp_get_busid_by_adapter(adapter)) == 0) { - zfcp_adapter_get(adapter); - found = 1; - break; - } + adapter = zfcp_get_adapter_by_busid(zfcp_data.init_busid); + if (adapter) + zfcp_adapter_get(adapter); read_unlock_irq(&zfcp_data.config_lock); - if (!found) + + if (adapter == NULL) goto out_adapter; - port = zfcp_port_enqueue(adapter, zfcp_data.init_wwpn, 0); + port = zfcp_port_enqueue(adapter, zfcp_data.init_wwpn, 0, 0); if (!port) goto out_port; unit = zfcp_unit_enqueue(port, zfcp_data.init_fcp_lun); @@ -377,12 +373,13 @@ zfcp_module_init(void) * -ENOMEM - Insufficient memory * -EFAULT - User space memory I/O operation fault * -EPERM - Cannot create or queue FSF request or create SBALs + * -ERESTARTSYS- Received signal (is mapped to EAGAIN by VFS) */ static int zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, unsigned int command, unsigned long buffer) { - struct zfcp_cfdc_sense_data sense_data, *sense_data_user; + struct zfcp_cfdc_sense_data *sense_data, __user *sense_data_user; struct zfcp_adapter *adapter = NULL; struct zfcp_fsf_req *fsf_req = NULL; struct zfcp_sg_list *sg_list = NULL; @@ -390,6 +387,12 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, char *bus_id = NULL; int retval = 0; + sense_data = kmalloc(sizeof(struct zfcp_cfdc_sense_data), GFP_KERNEL); + if (sense_data == NULL) { + retval = -ENOMEM; + goto out; + } + sg_list = kmalloc(sizeof(struct zfcp_sg_list), GFP_KERNEL); if (sg_list == NULL) { retval = -ENOMEM; @@ -403,27 +406,27 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, goto out; } - if ((sense_data_user = (struct zfcp_cfdc_sense_data*)buffer) == NULL) { + if ((sense_data_user = (void __user *) buffer) == NULL) { ZFCP_LOG_INFO("sense data record is required\n"); retval = -EINVAL; goto out; } - retval = copy_from_user(&sense_data, sense_data_user, + retval = copy_from_user(sense_data, sense_data_user, sizeof(struct zfcp_cfdc_sense_data)); if (retval) { retval = -EFAULT; goto out; } - if (sense_data.signature != ZFCP_CFDC_SIGNATURE) { + if (sense_data->signature != ZFCP_CFDC_SIGNATURE) { ZFCP_LOG_INFO("invalid sense data request signature 0x%08x\n", ZFCP_CFDC_SIGNATURE); retval = -EINVAL; goto out; } - switch (sense_data.command) { + switch (sense_data->command) { case ZFCP_CFDC_CMND_DOWNLOAD_NORMAL: fsf_command = FSF_QTCB_DOWNLOAD_CONTROL_FILE; @@ -452,7 +455,7 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, default: ZFCP_LOG_INFO("invalid command code 0x%08x\n", - sense_data.command); + sense_data->command); retval = -EINVAL; goto out; } @@ -463,30 +466,25 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, goto out; } snprintf(bus_id, BUS_ID_SIZE, "%d.%d.%04x", - (sense_data.devno >> 24), - (sense_data.devno >> 16) & 0xFF, - (sense_data.devno & 0xFFFF)); + (sense_data->devno >> 24), + (sense_data->devno >> 16) & 0xFF, + (sense_data->devno & 0xFFFF)); - retval = -ENXIO; read_lock_irq(&zfcp_data.config_lock); - list_for_each_entry(adapter, &zfcp_data.adapter_list_head, list) { - if (strncmp(bus_id, zfcp_get_busid_by_adapter(adapter), - BUS_ID_SIZE) == 0) { - zfcp_adapter_get(adapter); - retval = 0; - break; - } - } + adapter = zfcp_get_adapter_by_busid(bus_id); + if (adapter) + zfcp_adapter_get(adapter); read_unlock_irq(&zfcp_data.config_lock); kfree(bus_id); - if (retval != 0) { + if (adapter == NULL) { ZFCP_LOG_INFO("invalid adapter\n"); + retval = -ENXIO; goto out; } - if (sense_data.command & ZFCP_CFDC_WITH_CONTROL_FILE) { + if (sense_data->command & ZFCP_CFDC_WITH_CONTROL_FILE) { retval = zfcp_sg_list_alloc(sg_list, ZFCP_CFDC_MAX_CONTROL_FILE_SIZE); if (retval) { @@ -495,8 +493,8 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, } } - if ((sense_data.command & ZFCP_CFDC_DOWNLOAD) && - (sense_data.command & ZFCP_CFDC_WITH_CONTROL_FILE)) { + if ((sense_data->command & ZFCP_CFDC_DOWNLOAD) && + (sense_data->command & ZFCP_CFDC_WITH_CONTROL_FILE)) { retval = zfcp_sg_list_copy_from_user( sg_list, &sense_data_user->control_file, ZFCP_CFDC_MAX_CONTROL_FILE_SIZE); @@ -520,20 +518,26 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, wait_event(fsf_req->completion_wq, fsf_req->status & ZFCP_STATUS_FSFREQ_COMPLETED); - sense_data.fsf_status = fsf_req->qtcb->header.fsf_status; - memcpy(&sense_data.fsf_status_qual, + if ((fsf_req->qtcb->prefix.prot_status != FSF_PROT_GOOD) && + (fsf_req->qtcb->prefix.prot_status != FSF_PROT_FSF_STATUS_PRESENTED)) { + retval = -ENXIO; + goto out; + } + + sense_data->fsf_status = fsf_req->qtcb->header.fsf_status; + memcpy(&sense_data->fsf_status_qual, &fsf_req->qtcb->header.fsf_status_qual, sizeof(union fsf_status_qual)); - memcpy(&sense_data.payloads, &fsf_req->qtcb->bottom.support.els, 256); + memcpy(&sense_data->payloads, &fsf_req->qtcb->bottom.support.els, 256); - retval = copy_to_user(sense_data_user, &sense_data, + retval = copy_to_user(sense_data_user, sense_data, sizeof(struct zfcp_cfdc_sense_data)); if (retval) { retval = -EFAULT; goto out; } - if (sense_data.command & ZFCP_CFDC_UPLOAD) { + if (sense_data->command & ZFCP_CFDC_UPLOAD) { retval = zfcp_sg_list_copy_to_user( &sense_data_user->control_file, sg_list, ZFCP_CFDC_MAX_CONTROL_FILE_SIZE); @@ -555,17 +559,23 @@ zfcp_cfdc_dev_ioctl(struct inode *inode, struct file *file, kfree(sg_list); } + if (sense_data != NULL) + kfree(sense_data); + return retval; } -/* - * function: zfcp_sg_list_alloc - * - * purpose: Create a scatter-gather list of the specified size +/** + * zfcp_sg_list_alloc - create a scatter-gather list of the specified size + * @sg_list: structure describing a scatter gather list + * @size: size of scatter-gather list + * Return: 0 on success, else -ENOMEM * - * returns: 0 - Scatter gather list is created - * -ENOMEM - Insufficient memory (*list_ptr is then set to NULL) + * In sg_list->sg a pointer to the created scatter-gather list is returned, + * or NULL if we run out of memory. sg_list->count specifies the number of + * elements of the scatter-gather list. The maximum size of a single element + * in the scatter-gather list is PAGE_SIZE. */ static inline int zfcp_sg_list_alloc(struct zfcp_sg_list *sg_list, size_t size) @@ -573,6 +583,9 @@ zfcp_sg_list_alloc(struct zfcp_sg_list *sg_list, size_t size) struct scatterlist *sg; unsigned int i; int retval = 0; + void *address; + + BUG_ON(sg_list == NULL); sg_list->count = size >> PAGE_SHIFT; if (size & ~PAGE_MASK) @@ -588,7 +601,8 @@ zfcp_sg_list_alloc(struct zfcp_sg_list *sg_list, size_t size) for (i = 0, sg = sg_list->sg; i < sg_list->count; i++, sg++) { sg->length = min(size, PAGE_SIZE); sg->offset = 0; - sg->page = alloc_pages(GFP_KERNEL, 0); + address = (void *) get_zeroed_page(GFP_KERNEL); + zfcp_address_to_sg(address, sg); if (sg->page == NULL) { sg_list->count = i; zfcp_sg_list_free(sg_list); @@ -603,41 +617,61 @@ zfcp_sg_list_alloc(struct zfcp_sg_list *sg_list, size_t size) } -/* - * function: zfcp_sg_list_free - * - * purpose: Destroy a scatter-gather list and release memory +/** + * zfcp_sg_list_free - free memory of a scatter-gather list + * @sg_list: structure describing a scatter-gather list * - * returns: Always 0 + * Memory for each element in the scatter-gather list is freed. + * Finally sg_list->sg is freed itself and sg_list->count is reset. */ -static inline int +static inline void zfcp_sg_list_free(struct zfcp_sg_list *sg_list) { struct scatterlist *sg; unsigned int i; - int retval = 0; BUG_ON(sg_list == NULL); for (i = 0, sg = sg_list->sg; i < sg_list->count; i++, sg++) __free_pages(sg->page, 0); + sg_list->count = 0; kfree(sg_list->sg); +} - return retval; +/** + * zfcp_sg_size - determine size of a scatter-gather list + * @sg: array of (struct scatterlist) + * @sg_count: elements in array + * Return: size of entire scatter-gather list + */ +size_t +zfcp_sg_size(struct scatterlist *sg, unsigned int sg_count) +{ + unsigned int i; + struct scatterlist *p; + size_t size; + + size = 0; + for (i = 0, p = sg; i < sg_count; i++, p++) { + BUG_ON(p == NULL); + size += p->length; + } + + return size; } -/* - * function: zfcp_sg_list_copy_from_user - * - * purpose: Copy data from user space memory to the scatter-gather list - * - * returns: 0 - The data has been copied from user - * -EFAULT - Memory I/O operation fault +/** + * zfcp_sg_list_copy_from_user -copy data from user space to scatter-gather list + * @sg_list: structure describing a scatter-gather list + * @user_buffer: pointer to buffer in user space + * @size: number of bytes to be copied + * Return: 0 on success, -EFAULT if copy_from_user fails. */ static inline int -zfcp_sg_list_copy_from_user(struct zfcp_sg_list *sg_list, void *user_buffer, +zfcp_sg_list_copy_from_user(struct zfcp_sg_list *sg_list, + void __user *user_buffer, size_t size) { struct scatterlist *sg; @@ -645,10 +679,14 @@ zfcp_sg_list_copy_from_user(struct zfcp_sg_list *sg_list, void *user_buffer, void *zfcp_buffer; int retval = 0; + BUG_ON(sg_list == NULL); + + if (zfcp_sg_size(sg_list->sg, sg_list->count) < size) + return -EFAULT; + for (sg = sg_list->sg; size > 0; sg++) { length = min((unsigned int)size, sg->length); - zfcp_buffer = (void*) - ((page_to_pfn(sg->page) << PAGE_SHIFT) + sg->offset); + zfcp_buffer = zfcp_sg_to_address(sg); if (copy_from_user(zfcp_buffer, user_buffer, length)) { retval = -EFAULT; goto out; @@ -662,16 +700,16 @@ zfcp_sg_list_copy_from_user(struct zfcp_sg_list *sg_list, void *user_buffer, } -/* - * function: zfcp_sg_list_copy_to_user - * - * purpose: Copy data from the scatter-gather list to user space memory - * - * returns: 0 - The data has been copied to user - * -EFAULT - Memory I/O operation fault +/** + * zfcp_sg_list_copy_to_user - copy data from scatter-gather list to user space + * @user_buffer: pointer to buffer in user space + * @sg_list: structure describing a scatter-gather list + * @size: number of bytes to be copied + * Return: 0 on success, -EFAULT if copy_to_user fails */ static inline int -zfcp_sg_list_copy_to_user(void *user_buffer, struct zfcp_sg_list *sg_list, +zfcp_sg_list_copy_to_user(void __user *user_buffer, + struct zfcp_sg_list *sg_list, size_t size) { struct scatterlist *sg; @@ -679,10 +717,14 @@ zfcp_sg_list_copy_to_user(void *user_buffer, struct zfcp_sg_list *sg_list, void *zfcp_buffer; int retval = 0; + BUG_ON(sg_list == NULL); + + if (zfcp_sg_size(sg_list->sg, sg_list->count) < size) + return -EFAULT; + for (sg = sg_list->sg; size > 0; sg++) { - length = min((unsigned int)size, sg->length); - zfcp_buffer = (void*) - ((page_to_pfn(sg->page) << PAGE_SHIFT) + sg->offset); + length = min((unsigned int) size, sg->length); + zfcp_buffer = zfcp_sg_to_address(sg); if (copy_to_user(user_buffer, zfcp_buffer, length)) { retval = -EFAULT; goto out; @@ -705,13 +747,12 @@ zfcp_sg_list_copy_to_user(void *user_buffer, struct zfcp_sg_list *sg_list, #define ZFCP_LOG_AREA ZFCP_LOG_AREA_CONFIG /** - * zfcp_get_unit_by_lun - find unit in unit list of port by fcp lun + * zfcp_get_unit_by_lun - find unit in unit list of port by FCP LUN * @port: pointer to port to search for unit - * @fcp_lun: lun to search for - * Traverses list of all units of a port and returns pointer to a unit - * if lun of a unit matches. + * @fcp_lun: FCP LUN to search for + * Traverse list of all units of a port and return pointer to a unit + * with the given FCP LUN. */ - struct zfcp_unit * zfcp_get_unit_by_lun(struct zfcp_port *port, fcp_lun_t fcp_lun) { @@ -730,13 +771,12 @@ zfcp_get_unit_by_lun(struct zfcp_port *port, fcp_lun_t fcp_lun) } /** - * zfcp_get_port_by_wwpn - find unit in unit list of port by fcp lun + * zfcp_get_port_by_wwpn - find port in port list of adapter by wwpn * @adapter: pointer to adapter to search for port * @wwpn: wwpn to search for - * Traverses list of all ports of an adapter and returns a pointer to a port - * if wwpn of a port matches. + * Traverse list of all ports of an adapter and return pointer to a port + * with the given wwpn. */ - struct zfcp_port * zfcp_get_port_by_wwpn(struct zfcp_adapter *adapter, wwn_t wwpn) { @@ -745,6 +785,30 @@ zfcp_get_port_by_wwpn(struct zfcp_adapter *adapter, wwn_t wwpn) list_for_each_entry(port, &adapter->port_list_head, list) { if ((port->wwpn == wwpn) && + !(atomic_read(&port->status) & + (ZFCP_STATUS_PORT_NO_WWPN | ZFCP_STATUS_COMMON_REMOVE))) { + found = 1; + break; + } + } + return found ? port : NULL; +} + +/** + * zfcp_get_port_by_did - find port in port list of adapter by d_id + * @adapter: pointer to adapter to search for port + * @d_id: d_id to search for + * Traverse list of all ports of an adapter and return pointer to a port + * with the given d_id. + */ +struct zfcp_port * +zfcp_get_port_by_did(struct zfcp_adapter *adapter, u32 d_id) +{ + struct zfcp_port *port; + int found = 0; + + list_for_each_entry(port, &adapter->port_list_head, list) { + if ((port->d_id == d_id) && !atomic_test_mask(ZFCP_STATUS_COMMON_REMOVE, &port->status)) { found = 1; @@ -754,14 +818,38 @@ zfcp_get_port_by_wwpn(struct zfcp_adapter *adapter, wwn_t wwpn) return found ? port : NULL; } -/* - * Enqueues a logical unit at the end of the unit list associated with the - * specified port. Also sets up some unit internal structures. +/** + * zfcp_get_adapter_by_busid - find adpater in adapter list by bus_id + * @bus_id: bus_id to search for + * Traverse list of all adapters and return pointer to an adapter + * with the given bus_id. + */ +struct zfcp_adapter * +zfcp_get_adapter_by_busid(char *bus_id) +{ + struct zfcp_adapter *adapter; + int found = 0; + + list_for_each_entry(adapter, &zfcp_data.adapter_list_head, list) { + if ((strncmp(bus_id, zfcp_get_busid_by_adapter(adapter), + BUS_ID_SIZE) == 0) && + !atomic_test_mask(ZFCP_STATUS_COMMON_REMOVE, + &adapter->status)){ + found = 1; + break; + } + } + return found ? adapter : NULL; +} + +/** + * zfcp_unit_enqueue - enqueue unit to unit list of a port. + * @port: pointer to port where unit is added + * @fcp_lun: FCP LUN of unit to be enqueued + * Return: pointer to enqueued unit on success, NULL on error + * Locks: config_sema must be held to serialize changes to the unit list * - * returns: pointer to unit with a usecount of 1 if a new unit was - * successfully enqueued - * NULL otherwise - * locks: config_sema must be held to serialise changes to the unit list + * Sets up some unit internal structures and creates sysfs entry. */ struct zfcp_unit * zfcp_unit_enqueue(struct zfcp_port *port, fcp_lun_t fcp_lun) @@ -1022,6 +1110,12 @@ zfcp_adapter_debug_unregister(struct zfcp_adapter *adapter) debug_unregister(adapter->in_els_dbf); } +void +zfcp_dummy_release(struct device *dev) +{ + return; +} + /* * Enqueues an adapter at the end of the adapter list in the driver data. * All adapter internal structures are set up. @@ -1113,6 +1207,14 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device) if (zfcp_sysfs_adapter_create_files(&ccw_device->dev)) goto sysfs_failed; + adapter->generic_services.parent = &adapter->ccw_device->dev; + adapter->generic_services.release = zfcp_dummy_release; + snprintf(adapter->generic_services.bus_id, BUS_ID_SIZE, + "generic_services"); + + if (device_register(&adapter->generic_services)) + goto generic_services_failed; + /* put allocated adapter at list tail */ write_lock_irq(&zfcp_data.config_lock); atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &adapter->status); @@ -1123,6 +1225,8 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device) goto out; + generic_services_failed: + zfcp_sysfs_adapter_remove_files(&adapter->ccw_device->dev); sysfs_failed: dev_set_drvdata(&ccw_device->dev, NULL); failed_low_mem_buffers: @@ -1153,6 +1257,7 @@ zfcp_adapter_dequeue(struct zfcp_adapter *adapter) int retval = 0; unsigned long flags; + device_unregister(&adapter->generic_services); zfcp_sysfs_adapter_remove_files(&adapter->ccw_device->dev); dev_set_drvdata(&adapter->ccw_device->dev, NULL); /* sanity check: no pending FSF requests */ @@ -1195,15 +1300,22 @@ zfcp_adapter_dequeue(struct zfcp_adapter *adapter) return; } -/* - * Enqueues a remote port to the port list. All port internal structures - * are set up and the sysfs entry is also generated. +/** + * zfcp_port_enqueue - enqueue port to port list of adapter + * @adapter: adapter where remote port is added + * @wwpn: WWPN of the remote port to be enqueued + * @status: initial status for the port + * @d_id: destination id of the remote port to be enqueued + * Return: pointer to enqueued port on success, NULL on error + * Locks: config_sema must be held to serialize changes to the port list * - * returns: pointer to port or NULL - * locks: config_sema must be held to serialise changes to the port list + * All port internal structures are set up and the sysfs entry is generated. + * d_id is used to enqueue ports with a well known address like the Directory + * Service for nameserver lookup. */ struct zfcp_port * -zfcp_port_enqueue(struct zfcp_adapter *adapter, wwn_t wwpn, u32 status) +zfcp_port_enqueue(struct zfcp_adapter *adapter, wwn_t wwpn, u32 status, + u32 d_id) { struct zfcp_port *port, *tmp_port; int check_wwpn; @@ -1243,12 +1355,39 @@ zfcp_port_enqueue(struct zfcp_adapter *adapter, wwn_t wwpn, u32 status) atomic_set_mask(status, &port->status); /* setup for sysfs registration */ - if (status & ZFCP_STATUS_PORT_NAMESERVER) - snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, "nameserver"); - else + if (status & ZFCP_STATUS_PORT_WKA) { + switch (d_id) { + case ZFCP_DID_DIRECTORY_SERVICE: + snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, + "directory"); + break; + case ZFCP_DID_MANAGEMENT_SERVICE: + snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, + "management"); + break; + case ZFCP_DID_KEY_DISTRIBUTION_SERVICE: + snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, + "key_distribution"); + break; + case ZFCP_DID_ALIAS_SERVICE: + snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, + "alias"); + break; + case ZFCP_DID_TIME_SERVICE: + snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, + "time"); + break; + default: + kfree(port); + return NULL; + } + port->d_id = d_id; + port->sysfs_device.parent = &adapter->generic_services; + } else { snprintf(port->sysfs_device.bus_id, BUS_ID_SIZE, "0x%016llx", wwpn); port->sysfs_device.parent = &adapter->ccw_device->dev; + } port->sysfs_device.release = zfcp_sysfs_port_release; dev_set_drvdata(&port->sysfs_device, port); @@ -1287,9 +1426,12 @@ zfcp_port_enqueue(struct zfcp_adapter *adapter, wwn_t wwpn, u32 status) list_add_tail(&port->list, &adapter->port_list_head); atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &port->status); atomic_set_mask(ZFCP_STATUS_COMMON_RUNNING, &port->status); + if (d_id == ZFCP_DID_DIRECTORY_SERVICE) + if (!adapter->nameserver_port) + adapter->nameserver_port = port; + adapter->ports++; write_unlock_irq(&zfcp_data.config_lock); - adapter->ports++; zfcp_adapter_get(adapter); return port; @@ -1301,8 +1443,8 @@ zfcp_port_dequeue(struct zfcp_port *port) zfcp_port_wait(port); write_lock_irq(&zfcp_data.config_lock); list_del(&port->list); - write_unlock_irq(&zfcp_data.config_lock); port->adapter->ports--; + write_unlock_irq(&zfcp_data.config_lock); zfcp_adapter_put(port->adapter); zfcp_sysfs_port_remove_files(&port->sysfs_device, atomic_read(&port->status)); @@ -1315,17 +1457,14 @@ zfcp_nameserver_enqueue(struct zfcp_adapter *adapter) { struct zfcp_port *port; - /* generate port structure */ - port = zfcp_port_enqueue(adapter, 0, ZFCP_STATUS_PORT_NAMESERVER); + port = zfcp_port_enqueue(adapter, 0, ZFCP_STATUS_PORT_WKA, + ZFCP_DID_DIRECTORY_SERVICE); if (!port) { ZFCP_LOG_INFO("error: enqueue of nameserver port for " "adapter %s failed\n", zfcp_get_busid_by_adapter(adapter)); return -ENXIO; } - /* set special D_ID */ - port->d_id = ZFCP_DID_NAMESERVER; - adapter->nameserver_port = port; zfcp_port_put(port); return 0; @@ -1389,7 +1528,7 @@ zfcp_fsf_incoming_els_rscn(struct zfcp_adapter *adapter, read_lock_irqsave(&zfcp_data.config_lock, flags); list_for_each_entry(port, &adapter->port_list_head, list) { if (atomic_test_mask - (ZFCP_STATUS_PORT_NAMESERVER, &port->status)) + (ZFCP_STATUS_PORT_WKA, &port->status)) continue; /* Do we know this port? If not skip it. */ if (!atomic_test_mask @@ -1646,15 +1785,10 @@ static void zfcp_ns_gid_pn_handler(unsigned long data) ct_iu_req = zfcp_sg_to_address(ct->req); ct_iu_resp = zfcp_sg_to_address(ct->resp); - if (ct_iu_resp->header.revision != ZFCP_CT_REVISION) - goto failed; - if (ct_iu_resp->header.gs_type != ZFCP_CT_DIRECTORY_SERVICE) - goto failed; - if (ct_iu_resp->header.gs_subtype != ZFCP_CT_NAME_SERVER) - goto failed; - if (ct_iu_resp->header.options != ZFCP_CT_SYNCHRONOUS) - goto failed; - if (ct_iu_resp->header.cmd_rsp_code != ZFCP_CT_ACCEPT) { + if (ct->status) + goto failed; + + if (zfcp_check_ct_response(&ct_iu_resp->header)) { /* FIXME: do we need some specific erp entry points */ atomic_set_mask(ZFCP_STATUS_PORT_INVALID_WWPN, &port->status); goto failed; @@ -1665,7 +1799,7 @@ static void zfcp_ns_gid_pn_handler(unsigned long data) "lookup does not match expected wwpn 0x%016Lx " "for adapter %s\n", ct_iu_req->wwpn, port->wwpn, zfcp_get_busid_by_port(port)); - goto failed; + goto mismatch; } /* looks like a valid d_id */ @@ -1675,19 +1809,185 @@ static void zfcp_ns_gid_pn_handler(unsigned long data) zfcp_get_busid_by_port(port), port->wwpn, port->d_id); goto out; -failed: - ZFCP_LOG_NORMAL("warning: failed gid_pn nameserver request for wwpn " - "0x%016Lx for adapter %s\n", - port->wwpn, zfcp_get_busid_by_port(port)); + mismatch: ZFCP_LOG_DEBUG("CT IUs do not match:\n"); ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, (char *) ct_iu_req, sizeof(struct ct_iu_gid_pn_req)); ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, (char *) ct_iu_resp, sizeof(struct ct_iu_gid_pn_resp)); + failed: + ZFCP_LOG_NORMAL("warning: failed gid_pn nameserver request for wwpn " + "0x%016Lx for adapter %s\n", + port->wwpn, zfcp_get_busid_by_port(port)); out: zfcp_gid_pn_buffers_free(gid_pn); return; } +/* reject CT_IU reason codes acc. to FC-GS-4 */ +static const struct zfcp_rc_entry zfcp_ct_rc[] = { + {0x01, "invalid command code"}, + {0x02, "invalid version level"}, + {0x03, "logical error"}, + {0x04, "invalid CT_IU size"}, + {0x05, "logical busy"}, + {0x07, "protocol error"}, + {0x09, "unable to perform command request"}, + {0x0b, "command not supported"}, + {0x0d, "server not available"}, + {0x0e, "session could not be established"}, + {0xff, "vendor specific error"}, + {0, NULL}, +}; + +/* LS_RJT reason codes acc. to FC-FS */ +static const struct zfcp_rc_entry zfcp_ls_rjt_rc[] = { + {0x01, "invalid LS_Command code"}, + {0x03, "logical error"}, + {0x05, "logical busy"}, + {0x07, "protocol error"}, + {0x09, "unable to perform command request"}, + {0x0b, "command not supported"}, + {0x0e, "command already in progress"}, + {0xff, "vendor specific error"}, + {0, NULL}, +}; + +/* reject reason codes according to FC-PH/FC-FS */ +static const struct zfcp_rc_entry zfcp_p_rjt_rc[] = { + {0x01, "invalid D_ID"}, + {0x02, "invalid S_ID"}, + {0x03, "Nx_Port not available, temporary"}, + {0x04, "Nx_Port not available, permament"}, + {0x05, "class not supported"}, + {0x06, "delimiter usage error"}, + {0x07, "TYPE not supported"}, + {0x08, "invalid Link_Control"}, + {0x09, "invalid R_CTL field"}, + {0x0a, "invalid F_CTL field"}, + {0x0b, "invalid OX_ID"}, + {0x0c, "invalid RX_ID"}, + {0x0d, "invalid SEQ_ID"}, + {0x0e, "invalid DF_CTL"}, + {0x0f, "invalid SEQ_CNT"}, + {0x10, "invalid parameter field"}, + {0x11, "exchange error"}, + {0x12, "protocol error"}, + {0x13, "incorrect length"}, + {0x14, "unsupported ACK"}, + {0x15, "class of service not supported by entity at FFFFFE"}, + {0x16, "login required"}, + {0x17, "excessive sequences attempted"}, + {0x18, "unable to establish exchange"}, + {0x1a, "fabric path not available"}, + {0x1b, "invalid VC_ID (class 4)"}, + {0x1c, "invalid CS_CTL field"}, + {0x1d, "insufficient resources for VC (class 4)"}, + {0x1f, "invalid class of service"}, + {0x20, "preemption request rejected"}, + {0x21, "preemption not enabled"}, + {0x22, "multicast error"}, + {0x23, "multicast error terminate"}, + {0x24, "process login required"}, + {0xff, "vendor specific reject"}, + {0, NULL}, +}; + +/** + * zfcp_rc_description - return description for given reaon code + * @code: reason code + * @rc_table: table of reason codes and descriptions + */ +static inline const char * +zfcp_rc_description(u8 code, const struct zfcp_rc_entry *rc_table) +{ + const char *descr = "unknown reason code"; + + do { + if (code == rc_table->code) { + descr = rc_table->description; + break; + } + rc_table++; + } while (rc_table->code && rc_table->description); + + return descr; +} + +/** + * zfcp_check_ct_response - evaluate reason code for CT_IU + * @rjt: response payload to an CT_IU request + * Return: 0 for accept CT_IU, 1 for reject CT_IU or invlid response code + */ +int +zfcp_check_ct_response(struct ct_hdr *rjt) +{ + if (rjt->cmd_rsp_code == ZFCP_CT_ACCEPT) + return 0; + + if (rjt->cmd_rsp_code != ZFCP_CT_REJECT) { + ZFCP_LOG_NORMAL("error: invalid Generic Service command/" + "response code (0x%04hx)\n", + rjt->cmd_rsp_code); + return 1; + } + + ZFCP_LOG_INFO("Generic Service command rejected\n"); + ZFCP_LOG_INFO("%s (0x%02x, 0x%02x, 0x%02x)\n", + zfcp_rc_description(rjt->reason_code, zfcp_ct_rc), + (u32) rjt->reason_code, (u32) rjt->reason_code_expl, + (u32) rjt->vendor_unique); + + return 1; +} + +/** + * zfcp_print_els_rjt - print reject parameter and description for ELS reject + * @rjt_par: reject parameter acc. to FC-PH/FC-FS + * @rc_table: table of reason codes and descriptions + */ +static inline void +zfcp_print_els_rjt(struct zfcp_ls_rjt_par *rjt_par, + const struct zfcp_rc_entry *rc_table) +{ + ZFCP_LOG_INFO("%s (%02x %02x %02x %02x)\n", + zfcp_rc_description(rjt_par->reason_code, rc_table), + (u32) rjt_par->action, (u32) rjt_par->reason_code, + (u32) rjt_par->reason_expl, (u32) rjt_par->vendor_unique); +} + +/** + * zfcp_fsf_handle_els_rjt - evaluate status qualifier/reason code on ELS reject + * @sq: status qualifier word + * @rjt_par: reject parameter as described in FC-PH and FC-FS + * Return: -EROMTEIO for LS_RJT, -EREMCHG for invalid D_ID, -EIO else + */ +int +zfcp_handle_els_rjt(u32 sq, struct zfcp_ls_rjt_par *rjt_par) +{ + int ret = -EIO; + + if (sq == FSF_IOSTAT_NPORT_RJT) { + ZFCP_LOG_INFO("ELS rejected (P_RJT)\n"); + zfcp_print_els_rjt(rjt_par, zfcp_p_rjt_rc); + /* invalid d_id */ + if (rjt_par->reason_code == 0x01) + ret = -EREMCHG; + } else if (sq == FSF_IOSTAT_FABRIC_RJT) { + ZFCP_LOG_INFO("ELS rejected (F_RJT)\n"); + zfcp_print_els_rjt(rjt_par, zfcp_p_rjt_rc); + /* invalid d_id */ + if (rjt_par->reason_code == 0x01) + ret = -EREMCHG; + } else if (sq == FSF_IOSTAT_LS_RJT) { + ZFCP_LOG_INFO("ELS rejected (LS_RJT)\n"); + zfcp_print_els_rjt(rjt_par, zfcp_ls_rjt_rc); + ret = -EREMOTEIO; + } else + ZFCP_LOG_INFO("unexpected SQ: 0x%02x\n", sq); + + return ret; +} + #undef ZFCP_LOG_AREA diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h index dda20bf00..22f69d6bf 100644 --- a/drivers/s390/scsi/zfcp_def.h +++ b/drivers/s390/scsi/zfcp_def.h @@ -33,7 +33,7 @@ #define ZFCP_DEF_H /* this drivers version (do not edit !!! generated and updated by cvs) */ -#define ZFCP_DEF_REVISION "$Revision: 1.81 $" +#define ZFCP_DEF_REVISION "$Revision: 1.91 $" /*************************** INCLUDES *****************************************/ @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -72,12 +73,22 @@ /* zfcp version number, it consists of major, minor, and patch-level number */ #define ZFCP_VERSION "4.1.3" +/** + * zfcp_sg_to_address - determine kernel address from struct scatterlist + * @list: struct scatterlist + * Return: kernel address + */ static inline void * zfcp_sg_to_address(struct scatterlist *list) { return (void *) (page_address(list->page) + list->offset); } +/** + * zfcp_address_to_sg - set up struct scatterlist from kernel address + * @address: kernel address + * @list: struct scatterlist + */ static inline void zfcp_address_to_sg(void *address, struct scatterlist *list) { @@ -146,6 +157,9 @@ typedef u32 scsi_lun_t; #define ZFCP_EXCHANGE_CONFIG_DATA_RETRIES 6 #define ZFCP_EXCHANGE_CONFIG_DATA_SLEEP 50 +/* timeout value for "default timer" for fsf requests */ +#define ZFCP_FSF_REQUEST_TIMEOUT (60*HZ); + /*************** FIBRE CHANNEL PROTOCOL SPECIFIC DEFINES ********************/ typedef unsigned long long wwn_t; @@ -158,7 +172,6 @@ typedef unsigned int fcp_dl_t; /* timeout for name-server lookup (in seconds) */ #define ZFCP_NS_GID_PN_TIMEOUT 10 -#define ZFCP_NS_GA_NXT_TIMEOUT 120 /* largest SCSI command we can process */ /* FCP-2 (FCP_CMND IU) allows up to (255-3+16) */ @@ -276,33 +289,17 @@ struct fcp_logo { #define R_A_TOV 10 /* seconds */ #define ZFCP_ELS_TIMEOUT (2 * R_A_TOV) -#define ZFCP_LS_RJT 0x01 -#define ZFCP_LS_ACC 0x02 #define ZFCP_LS_RTV 0x0E #define ZFCP_LS_RLS 0x0F #define ZFCP_LS_PDISC 0x50 #define ZFCP_LS_ADISC 0x52 -#define ZFCP_LS_RSCN 0x61 -#define ZFCP_LS_RNID 0x78 -#define ZFCP_LS_RLIR 0x7A #define ZFCP_LS_RTV_E_D_TOV_FLAG 0x04000000 -/* LS_ACC Reason Codes */ -#define ZFCP_LS_RJT_INVALID_COMMAND_CODE 0x01 -#define ZFCP_LS_RJT_LOGICAL_ERROR 0x03 -#define ZFCP_LS_RJT_LOGICAL_BUSY 0x05 -#define ZFCP_LS_RJT_PROTOCOL_ERROR 0x07 -#define ZFCP_LS_RJT_UNABLE_TO_PERFORM 0x09 -#define ZFCP_LS_RJT_COMMAND_NOT_SUPPORTED 0x0B -#define ZFCP_LS_RJT_VENDOR_UNIQUE_ERROR 0xFF - -struct zfcp_ls_rjt { - u8 code; - u8 field[3]; - u8 reserved; - u8 reason_code; - u8 reason_expl; - u8 vendor_unique; +struct zfcp_ls_rjt_par { + u8 action; + u8 reason_code; + u8 reason_expl; + u8 vendor_unique; } __attribute__ ((packed)); struct zfcp_ls_rtv { @@ -383,45 +380,10 @@ struct zfcp_ls_adisc_acc { fc_id_t nport_id; } __attribute__ ((packed)); -struct zfcp_ls_rnid { - u8 code; - u8 field[3]; - u8 node_id_format; - u8 reserved[3]; -} __attribute__((packed)); - -/* common identification data */ -struct zfcp_ls_rnid_common_id { - u64 n_port_name; - u64 node_name; -} __attribute__((packed)); - -/* general topology specific identification data */ -struct zfcp_ls_rnid_general_topology_id { - u8 vendor_unique[16]; - u32 associated_type; - u32 physical_port_number; - u32 nr_attached_nodes; - u8 node_management; - u8 ip_version; - u16 port_number; - u8 ip_address[16]; - u8 reserved[2]; - u16 vendor_specific; -} __attribute__((packed)); - -struct zfcp_ls_rnid_acc { - u8 code; - u8 field[3]; - u8 node_id_format; - u8 common_id_length; - u8 reserved; - u8 specific_id_length; - struct zfcp_ls_rnid_common_id - common_id; - struct zfcp_ls_rnid_general_topology_id - specific_id; -} __attribute__((packed)); +struct zfcp_rc_entry { + u8 code; + const char *description; +}; /* * FC-GS-2 stuff @@ -431,9 +393,9 @@ struct zfcp_ls_rnid_acc { #define ZFCP_CT_NAME_SERVER 0x02 #define ZFCP_CT_SYNCHRONOUS 0x00 #define ZFCP_CT_GID_PN 0x0121 -#define ZFCP_CT_GA_NXT 0x0100 #define ZFCP_CT_MAX_SIZE 0x1020 #define ZFCP_CT_ACCEPT 0x8002 +#define ZFCP_CT_REJECT 0x8001 /* * FC-GS-4 stuff @@ -530,23 +492,29 @@ struct zfcp_ls_rnid_acc { __LINE__ , ##args); #define ZFCP_LOG(level, fmt, args...) \ +do { \ if (ZFCP_LOG_CHECK(level)) \ - _ZFCP_LOG(fmt , ##args) + _ZFCP_LOG(fmt, ##args); \ +} while (0) #if ZFCP_LOG_LEVEL_LIMIT < ZFCP_LOG_LEVEL_NORMAL # define ZFCP_LOG_NORMAL(fmt, args...) #else # define ZFCP_LOG_NORMAL(fmt, args...) \ +do { \ if (ZFCP_LOG_CHECK(ZFCP_LOG_LEVEL_NORMAL)) \ - printk(KERN_ERR ZFCP_NAME": " fmt , ##args); + printk(KERN_ERR ZFCP_NAME": " fmt, ##args); \ +} while (0) #endif #if ZFCP_LOG_LEVEL_LIMIT < ZFCP_LOG_LEVEL_INFO # define ZFCP_LOG_INFO(fmt, args...) #else # define ZFCP_LOG_INFO(fmt, args...) \ +do { \ if (ZFCP_LOG_CHECK(ZFCP_LOG_LEVEL_INFO)) \ - printk(KERN_ERR ZFCP_NAME": " fmt , ##args); + printk(KERN_ERR ZFCP_NAME": " fmt, ##args); \ +} while (0) #endif #if ZFCP_LOG_LEVEL_LIMIT < ZFCP_LOG_LEVEL_DEBUG @@ -568,8 +536,10 @@ struct zfcp_ls_rnid_acc { #else extern u32 flags_dump; # define ZFCP_LOG_FLAGS(level, fmt, args...) \ +do { \ if (level <= flags_dump) \ - _ZFCP_LOG(fmt , ##args) + _ZFCP_LOG(fmt, ##args); \ +} while (0) #endif /*************** ADAPTER/PORT/UNIT AND FSF_REQ STATUS FLAGS ******************/ @@ -606,7 +576,12 @@ extern u32 flags_dump; ZFCP_STATUS_ADAPTER_REGISTERED) -#define ZFCP_DID_NAMESERVER 0xFFFFFC +/* FC-PH/FC-GS well-known address identifiers for generic services */ +#define ZFCP_DID_MANAGEMENT_SERVICE 0xFFFFFA +#define ZFCP_DID_TIME_SERVICE 0xFFFFFB +#define ZFCP_DID_DIRECTORY_SERVICE 0xFFFFFC +#define ZFCP_DID_ALIAS_SERVICE 0xFFFFF8 +#define ZFCP_DID_KEY_DISTRIBUTION_SERVICE 0xFFFFF7 /* remote port status */ #define ZFCP_STATUS_PORT_PHYS_OPEN 0x00000001 @@ -616,7 +591,8 @@ extern u32 flags_dump; #define ZFCP_STATUS_PORT_NO_SCSI_ID 0x00000010 #define ZFCP_STATUS_PORT_INVALID_WWPN 0x00000020 -#define ZFCP_STATUS_PORT_NAMESERVER \ +/* for ports with well known addresses */ +#define ZFCP_STATUS_PORT_WKA \ (ZFCP_STATUS_PORT_NO_WWPN | \ ZFCP_STATUS_PORT_NO_SCSI_ID) @@ -789,43 +765,29 @@ struct ct_iu_gid_pn_req { wwn_t wwpn; } __attribute__ ((packed)); -/* nameserver request CT_IU -- for requests where - * a port identifier is required */ -struct ct_iu_ga_nxt_req { - struct ct_hdr header; - fc_id_t d_id; -} __attribute__ ((packed)); - /* FS_ACC IU and data unit for GID_PN nameserver request */ struct ct_iu_gid_pn_resp { struct ct_hdr header; fc_id_t d_id; } __attribute__ ((packed)); -/* FS_ACC IU and data unit for GA_NXT nameserver request */ -struct ct_iu_ga_nxt_resp { - struct ct_hdr header; - u8 port_type; - u8 port_id[3]; - u64 port_wwn; - u8 port_symbolic_name_length; - u8 port_symbolic_name[255]; - u64 node_wwn; - u8 node_symbolic_name_length; - u8 node_symbolic_name[255]; - u64 initial_process_associator; - u8 node_ip[16]; - u32 cos; - u8 fc4_types[32]; - u8 port_ip[16]; - u64 fabric_wwn; - u8 reserved; - u8 hard_address[3]; -} __attribute__ ((packed)); - typedef void (*zfcp_send_ct_handler_t)(unsigned long); -/* used to pass parameters to zfcp_send_ct() */ +/** + * struct zfcp_send_ct - used to pass parameters to function zfcp_fsf_send_ct + * @port: port where the request is sent to + * @req: scatter-gather list for request + * @resp: scatter-gather list for response + * @req_count: number of elements in request scatter-gather list + * @resp_count: number of elements in response scatter-gather list + * @handler: handler function (called for response to the request) + * @handler_data: data passed to handler function + * @pool: pointer to memory pool for ct request structure + * @timeout: FSF timeout for this request + * @timer: timer (e.g. for request initiated by erp) + * @completion: completion for synchronization purposes + * @status: used to pass error status to calling function + */ struct zfcp_send_ct { struct zfcp_port *port; struct scatterlist *req; @@ -834,7 +796,7 @@ struct zfcp_send_ct { unsigned int resp_count; zfcp_send_ct_handler_t handler; unsigned long handler_data; - mempool_t *pool; /* mempool for ct not for fsf_req */ + mempool_t *pool; int timeout; struct timer_list *timer; struct completion *completion; @@ -851,10 +813,22 @@ struct zfcp_gid_pn_data { struct zfcp_port *port; }; -typedef int (*zfcp_send_els_handler_t)(unsigned long); - -/* used to pass parameters to zfcp_send_els() */ -/* ToDo merge send_ct() and send_els() and corresponding structs */ +typedef void (*zfcp_send_els_handler_t)(unsigned long); + +/** + * struct zfcp_send_els - used to pass parameters to function zfcp_fsf_send_els + * @port: port where the request is sent to + * @req: scatter-gather list for request + * @resp: scatter-gather list for response + * @req_count: number of elements in request scatter-gather list + * @resp_count: number of elements in response scatter-gather list + * @handler: handler function (called for response to the request) + * @handler_data: data passed to handler function + * @timer: timer (e.g. for request initiated by erp) + * @completion: completion for synchronization purposes + * @ls_code: hex code of ELS command + * @status: used to pass error status to calling function + */ struct zfcp_send_els { struct zfcp_port *port; struct scatterlist *req; @@ -863,6 +837,7 @@ struct zfcp_send_els { unsigned int resp_count; zfcp_send_els_handler_t handler; unsigned long handler_data; + struct timer_list *timer; struct completion *completion; int ls_code; int status; @@ -892,6 +867,7 @@ union zfcp_req_data { struct zfcp_send_ct *send_ct; struct zfcp_send_els *send_els; struct zfcp_status_read status_read; + struct fsf_qtcb_bottom_port *port_data; }; struct zfcp_qdio_queue { @@ -979,6 +955,7 @@ struct zfcp_adapter { rwlock_t cmd_dbf_lock; struct zfcp_adapter_mempool pool; /* Adapter memory pools */ struct qdio_initialize qdio_init_data; /* for qdio_establish */ + struct device generic_services; /* directory for WKA ports */ }; /* @@ -1080,6 +1057,11 @@ struct zfcp_data { fcp_lun_t init_fcp_lun; }; +/** + * struct zfcp_sg_list - struct describing a scatter-gather list + * @sg: pointer to array of (struct scatterlist) + * @count: number of elements in scatter-gather list + */ struct zfcp_sg_list { struct scatterlist *sg; unsigned int count; diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c index e0766777e..55759e83f 100644 --- a/drivers/s390/scsi/zfcp_erp.c +++ b/drivers/s390/scsi/zfcp_erp.c @@ -31,12 +31,12 @@ #define ZFCP_LOG_AREA ZFCP_LOG_AREA_ERP /* this drivers version (do not edit !!! generated and updated by cvs) */ -#define ZFCP_ERP_REVISION "$Revision: 1.61 $" +#define ZFCP_ERP_REVISION "$Revision: 1.65 $" #include "zfcp_ext.h" static int zfcp_els(struct zfcp_port *, u8); -static int zfcp_els_handler(unsigned long); +static void zfcp_els_handler(unsigned long); static int zfcp_erp_adapter_reopen_internal(struct zfcp_adapter *, int); static int zfcp_erp_port_forced_reopen_internal(struct zfcp_port *, int); @@ -126,6 +126,25 @@ static void zfcp_erp_memwait_handler(unsigned long); static void zfcp_erp_timeout_handler(unsigned long); static inline void zfcp_erp_timeout_init(struct zfcp_erp_action *); +/** + * zfcp_fsf_request_timeout_handler - called if a request timed out + * @data: pointer to adapter for handler function + * + * This function needs to be called if requests (ELS, Generic Service, + * or SCSI commands) exceed a certain time limit. The assumption is + * that after the time limit the adapter get stuck. So we trigger a reopen of + * the adapter. This should not be used for error recovery, SCSI abort + * commands and SCSI requests from SCSI mid-layer. + */ +void +zfcp_fsf_request_timeout_handler(unsigned long data) +{ + struct zfcp_adapter *adapter; + + adapter = (struct zfcp_adapter *) data; + + zfcp_erp_adapter_reopen(adapter, 0); +} /* * function: zfcp_fsf_scsi_er_timeout_handler @@ -324,6 +343,7 @@ zfcp_els(struct zfcp_port *port, u8 ls_code) send_els->completion = NULL; req = zfcp_sg_to_address(send_els->req); + memset(req, 0, PAGE_SIZE); *(u32*)req = 0; *(u8*)req = ls_code; @@ -412,185 +432,99 @@ out: } -/* - * function: zfcp_els_handler - * - * purpose: Handler for all kind of ELSs - * - * returns: 0 - Operation completed successfuly - * -ENXIO - ELS has been rejected - * -EPERM - Port forced reopen failed +/** + * zfcp_els_handler - handler for ELS commands + * @data: pointer to struct zfcp_send_els + * If ELS failed (LS_RJT or timed out) forced reopen of the port is triggered. */ -int +void zfcp_els_handler(unsigned long data) { struct zfcp_send_els *send_els = (struct zfcp_send_els*)data; struct zfcp_port *port = send_els->port; - struct zfcp_ls_rjt *rjt; struct zfcp_ls_rtv_acc *rtv; struct zfcp_ls_rls_acc *rls; struct zfcp_ls_pdisc_acc *pdisc; struct zfcp_ls_adisc_acc *adisc; void *req, *resp; - u8 req_code, resp_code; - int retval = 0; + u8 req_code; + /* request rejected or timed out */ if (send_els->status != 0) { ZFCP_LOG_NORMAL("ELS request timed out, force physical port " "reopen of port 0x%016Lx on adapter %s\n", port->wwpn, zfcp_get_busid_by_port(port)); debug_text_event(port->adapter->erp_dbf, 3, "forcreop"); - retval = zfcp_erp_port_forced_reopen(port, 0); - if (retval != 0) { + if (zfcp_erp_port_forced_reopen(port, 0)) ZFCP_LOG_NORMAL("reopen of remote port 0x%016Lx " "on adapter %s failed\n", port->wwpn, zfcp_get_busid_by_port(port)); - retval = -EPERM; - } - goto skip_fsfstatus; + goto out; } - req = (void*)((page_to_pfn(send_els->req->page) << PAGE_SHIFT) + send_els->req->offset); - resp = (void*)((page_to_pfn(send_els->resp->page) << PAGE_SHIFT) + send_els->resp->offset); + req = zfcp_sg_to_address(send_els->req); + resp = zfcp_sg_to_address(send_els->resp); req_code = *(u8*)req; - resp_code = *(u8*)resp; - - switch (resp_code) { - - case ZFCP_LS_RJT: - rjt = (struct zfcp_ls_rjt*)resp; - - switch (rjt->reason_code) { - - case ZFCP_LS_RJT_INVALID_COMMAND_CODE: - ZFCP_LOG_INFO("invalid LS command code " - "(wwpn=0x%016Lx, command=0x%02x)\n", - port->wwpn, req_code); - break; - - case ZFCP_LS_RJT_LOGICAL_ERROR: - ZFCP_LOG_INFO("logical error (wwpn=0x%016Lx, " - "reason_expl=0x%02x)\n", - port->wwpn, rjt->reason_expl); - break; - - case ZFCP_LS_RJT_LOGICAL_BUSY: - ZFCP_LOG_INFO("logical busy (wwpn=0x%016Lx, " - "reason_expl=0x%02x)\n", - port->wwpn, rjt->reason_expl); - break; - - case ZFCP_LS_RJT_PROTOCOL_ERROR: - ZFCP_LOG_INFO("protocol error (wwpn=0x%016Lx, " - "reason_expl=0x%02x)\n", - port->wwpn, rjt->reason_expl); - break; - case ZFCP_LS_RJT_UNABLE_TO_PERFORM: - ZFCP_LOG_INFO("unable to perform command requested " - "(wwpn=0x%016Lx, reason_expl=0x%02x)\n", - port->wwpn, rjt->reason_expl); - break; - - case ZFCP_LS_RJT_COMMAND_NOT_SUPPORTED: - ZFCP_LOG_INFO("command not supported (wwpn=0x%016Lx, " - "command=0x%02x)\n", - port->wwpn, req_code); - break; + switch (req_code) { - case ZFCP_LS_RJT_VENDOR_UNIQUE_ERROR: - ZFCP_LOG_INFO("vendor specific error (wwpn=0x%016Lx, " - "vendor_unique=0x%02x)\n", - port->wwpn, rjt->vendor_unique); - break; - - default: - ZFCP_LOG_NORMAL("ELS rejected by remote port 0x%016Lx " - "on adapter %s (reason_code=0x%02x)\n", - port->wwpn, - zfcp_get_busid_by_port(port), - rjt->reason_code); - } - retval = -ENXIO; + case ZFCP_LS_RTV: + rtv = (struct zfcp_ls_rtv_acc*)resp; + ZFCP_LOG_INFO("RTV response from d_id 0x%08x to s_id " + "0x%08x (R_A_TOV=%ds E_D_TOV=%d%cs)\n", + port->d_id, port->adapter->s_id, + rtv->r_a_tov, rtv->e_d_tov, + rtv->qualifier & + ZFCP_LS_RTV_E_D_TOV_FLAG ? 'n' : 'm'); break; - case ZFCP_LS_ACC: - switch (req_code) { - - case ZFCP_LS_RTV: - rtv = (struct zfcp_ls_rtv_acc*)resp; - ZFCP_LOG_INFO("RTV response from d_id 0x%08x to s_id " - "0x%08x (R_A_TOV=%ds E_D_TOV=%d%cs)\n", - port->d_id, port->adapter->s_id, - rtv->r_a_tov, rtv->e_d_tov, - rtv->qualifier & - ZFCP_LS_RTV_E_D_TOV_FLAG ? 'n' : 'm'); - break; - - case ZFCP_LS_RLS: - rls = (struct zfcp_ls_rls_acc*)resp; - ZFCP_LOG_INFO("RLS response from d_id 0x%08x to s_id " - "0x%08x (link_failure_count=%u, " - "loss_of_sync_count=%u, " - "loss_of_signal_count=%u, " - "primitive_sequence_protocol_error=%u, " - "invalid_transmition_word=%u, " - "invalid_crc_count=%u)\n", - port->d_id, port->adapter->s_id, - rls->link_failure_count, - rls->loss_of_sync_count, - rls->loss_of_signal_count, - rls->prim_seq_prot_error, - rls->invalid_transmition_word, - rls->invalid_crc_count); - break; - - case ZFCP_LS_PDISC: - pdisc = (struct zfcp_ls_pdisc_acc*)resp; - ZFCP_LOG_INFO("PDISC response from d_id 0x%08x to s_id " - "0x%08x (wwpn=0x%016Lx, wwnn=0x%016Lx, " - "vendor='%-16s')\n", port->d_id, - port->adapter->s_id, pdisc->wwpn, - pdisc->wwnn, pdisc->vendor_version); - break; + case ZFCP_LS_RLS: + rls = (struct zfcp_ls_rls_acc*)resp; + ZFCP_LOG_INFO("RLS response from d_id 0x%08x to s_id " + "0x%08x (link_failure_count=%u, " + "loss_of_sync_count=%u, " + "loss_of_signal_count=%u, " + "primitive_sequence_protocol_error=%u, " + "invalid_transmition_word=%u, " + "invalid_crc_count=%u)\n", + port->d_id, port->adapter->s_id, + rls->link_failure_count, + rls->loss_of_sync_count, + rls->loss_of_signal_count, + rls->prim_seq_prot_error, + rls->invalid_transmition_word, + rls->invalid_crc_count); + break; - case ZFCP_LS_ADISC: - adisc = (struct zfcp_ls_adisc_acc*)resp; - ZFCP_LOG_INFO("ADISC response from d_id 0x%08x to s_id " - "0x%08x (wwpn=0x%016Lx, wwnn=0x%016Lx, " - "hard_nport_id=0x%08x, " - "nport_id=0x%08x)\n", port->d_id, - port->adapter->s_id, adisc->wwpn, - adisc->wwnn, adisc->hard_nport_id, - adisc->nport_id); - /* FIXME: set wwnn in during open port */ - if (port->wwnn == 0) - port->wwnn = adisc->wwnn; - break; - } + case ZFCP_LS_PDISC: + pdisc = (struct zfcp_ls_pdisc_acc*)resp; + ZFCP_LOG_INFO("PDISC response from d_id 0x%08x to s_id " + "0x%08x (wwpn=0x%016Lx, wwnn=0x%016Lx, " + "vendor='%-16s')\n", port->d_id, + port->adapter->s_id, pdisc->wwpn, + pdisc->wwnn, pdisc->vendor_version); break; - default: - ZFCP_LOG_NORMAL("unknown payload code 0x%02x received for " - "request 0x%02x to d_id 0x%08x, reopen needed " - "for port 0x%016Lx on adapter %s\n", resp_code, - req_code, port->d_id, port->wwpn, - zfcp_get_busid_by_port(port)); - retval = zfcp_erp_port_forced_reopen(port, 0); - if (retval != 0) { - ZFCP_LOG_NORMAL("reopen of remote port 0x%016Lx on " - "adapter %s failed\n", port->wwpn, - zfcp_get_busid_by_port(port)); - retval = -EPERM; - } + case ZFCP_LS_ADISC: + adisc = (struct zfcp_ls_adisc_acc*)resp; + ZFCP_LOG_INFO("ADISC response from d_id 0x%08x to s_id " + "0x%08x (wwpn=0x%016Lx, wwnn=0x%016Lx, " + "hard_nport_id=0x%08x, " + "nport_id=0x%08x)\n", port->d_id, + port->adapter->s_id, adisc->wwpn, + adisc->wwnn, adisc->hard_nport_id, + adisc->nport_id); + /* FIXME: set wwnn in during open port */ + if (port->wwnn == 0) + port->wwnn = adisc->wwnn; + break; } -skip_fsfstatus: + out: __free_pages(send_els->req->page, 0); kfree(send_els->req); kfree(send_els->resp); - - return retval; + kfree(send_els); } @@ -735,14 +669,15 @@ zfcp_erp_port_reopen_internal(struct zfcp_port *port, int clear_mask) return retval; } -/* - * function: - * - * purpose: Wrappper for zfcp_erp_port_reopen_internal - * used to ensure the correct locking +/** + * zfcp_erp_port_reopen - initiate reopen of a remote port + * @port: port to be reopened + * @clear_mask: specifies flags in port status to be cleared + * Return: 0 on success, < 0 on error * - * returns: 0 - initiated action succesfully - * <0 - failed to initiate action + * This is a wrappper function for zfcp_erp_port_reopen_internal. It ensures + * correct locking. An error recovery task is initiated to do the reopen. + * To wait for the completion of the reopen zfcp_erp_wait should be used. */ int zfcp_erp_port_reopen(struct zfcp_port *port, int clear_mask) @@ -802,14 +737,15 @@ zfcp_erp_unit_reopen_internal(struct zfcp_unit *unit, int clear_mask) return retval; } -/* - * function: - * - * purpose: Wrappper for zfcp_erp_unit_reopen_internal - * used to ensure the correct locking +/** + * zfcp_erp_unit_reopen - initiate reopen of a unit + * @unit: unit to be reopened + * @clear_mask: specifies flags in unit status to be cleared + * Return: 0 on success, < 0 on error * - * returns: 0 - initiated action succesfully - * <0 - failed to initiate action + * This is a wrappper for zfcp_erp_unit_reopen_internal. It ensures correct + * locking. An error recovery task is initiated to do the reopen. + * To wait for the completion of the reopen zfcp_erp_wait should be used. */ int zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear_mask) @@ -1987,12 +1923,10 @@ zfcp_erp_strategy_check_queues(struct zfcp_adapter *adapter) return retval; } -/* - * function: - * - * purpose: - * - * returns: +/** + * zfcp_erp_wait - wait for completion of error recovery on an adapter + * @adapter: adapter for which to wait for completion of its error recovery + * Return: 0 */ int zfcp_erp_wait(struct zfcp_adapter *adapter) @@ -2130,7 +2064,7 @@ zfcp_erp_port_reopen_all_internal(struct zfcp_adapter *adapter, int clear_mask) struct zfcp_port *port; list_for_each_entry(port, &adapter->port_list_head, list) - if (!atomic_test_mask(ZFCP_STATUS_PORT_NAMESERVER, &port->status)) + if (!atomic_test_mask(ZFCP_STATUS_PORT_WKA, &port->status)) zfcp_erp_port_reopen_internal(port, clear_mask); return retval; @@ -2725,7 +2659,7 @@ zfcp_erp_port_strategy_open(struct zfcp_erp_action *erp_action) { int retval; - if (atomic_test_mask(ZFCP_STATUS_PORT_NAMESERVER, + if (atomic_test_mask(ZFCP_STATUS_PORT_WKA, &erp_action->port->status)) retval = zfcp_erp_port_strategy_open_nameserver(erp_action); else @@ -2863,10 +2797,10 @@ zfcp_erp_port_strategy_open_nameserver(struct zfcp_erp_action *erp_action) case ZFCP_ERP_STEP_PORT_OPENING: if (atomic_test_mask(ZFCP_STATUS_COMMON_OPEN, &port->status)) { - ZFCP_LOG_DEBUG("nameserver port is open\n"); + ZFCP_LOG_DEBUG("WKA port is open\n"); retval = ZFCP_ERP_SUCCEEDED; } else { - ZFCP_LOG_DEBUG("open failed for nameserver port\n"); + ZFCP_LOG_DEBUG("open failed for WKA port\n"); retval = ZFCP_ERP_FAILED; } /* this is needed anyway (dont care for retval of wakeup) */ diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h index d99005c01..35c6104ec 100644 --- a/drivers/s390/scsi/zfcp_ext.h +++ b/drivers/s390/scsi/zfcp_ext.h @@ -31,7 +31,7 @@ #ifndef ZFCP_EXT_H #define ZFCP_EXT_H /* this drivers version (do not edit !!! generated and updated by cvs) */ -#define ZFCP_EXT_REVISION "$Revision: 1.51 $" +#define ZFCP_EXT_REVISION "$Revision: 1.57 $" #include "zfcp_def.h" @@ -50,15 +50,16 @@ extern void zfcp_sysfs_port_release(struct device *); extern void zfcp_sysfs_unit_release(struct device *); /**************************** CONFIGURATION *********************************/ -extern struct zfcp_unit *zfcp_get_unit_by_lun(struct zfcp_port *, - fcp_lun_t fcp_lun); -extern struct zfcp_port *zfcp_get_port_by_wwpn(struct zfcp_adapter *, - wwn_t wwpn); +extern struct zfcp_unit *zfcp_get_unit_by_lun(struct zfcp_port *, fcp_lun_t); +extern struct zfcp_port *zfcp_get_port_by_wwpn(struct zfcp_adapter *, wwn_t); +extern struct zfcp_port *zfcp_get_port_by_did(struct zfcp_adapter *, u32); +struct zfcp_adapter *zfcp_get_adapter_by_busid(char *); extern struct zfcp_adapter *zfcp_adapter_enqueue(struct ccw_device *); extern int zfcp_adapter_debug_register(struct zfcp_adapter *); extern void zfcp_adapter_dequeue(struct zfcp_adapter *); extern void zfcp_adapter_debug_unregister(struct zfcp_adapter *); -extern struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *, wwn_t, u32); +extern struct zfcp_port *zfcp_port_enqueue(struct zfcp_adapter *, wwn_t, + u32, u32); extern void zfcp_port_dequeue(struct zfcp_port *); extern struct zfcp_unit *zfcp_unit_enqueue(struct zfcp_port *, fcp_lun_t); extern void zfcp_unit_dequeue(struct zfcp_unit *); @@ -94,8 +95,11 @@ extern int zfcp_fsf_open_unit(struct zfcp_erp_action *); extern int zfcp_fsf_close_unit(struct zfcp_erp_action *); extern int zfcp_fsf_exchange_config_data(struct zfcp_erp_action *); +extern int zfcp_fsf_exchange_port_data(struct zfcp_adapter *, + struct fsf_qtcb_bottom_port *); extern int zfcp_fsf_control_file(struct zfcp_adapter *, struct zfcp_fsf_req **, u32, u32, struct zfcp_sg_list *); +extern void zfcp_fsf_request_timeout_handler(unsigned long); extern void zfcp_fsf_scsi_er_timeout_handler(unsigned long); extern int zfcp_fsf_req_dismiss_all(struct zfcp_adapter *); extern int zfcp_fsf_status_read(struct zfcp_adapter *, int); @@ -108,7 +112,7 @@ extern int zfcp_fsf_req_wait_and_cleanup(struct zfcp_fsf_req *, int, u32 *); extern int zfcp_fsf_send_fcp_command_task(struct zfcp_adapter *, struct zfcp_unit *, struct scsi_cmnd *, - int); + struct timer_list*, int); extern int zfcp_fsf_req_complete(struct zfcp_fsf_req *); extern void zfcp_fsf_incoming_els(struct zfcp_fsf_req *); extern void zfcp_fsf_req_cleanup(struct zfcp_fsf_req *); @@ -117,9 +121,11 @@ extern struct zfcp_fsf_req *zfcp_fsf_send_fcp_command_task_management( extern struct zfcp_fsf_req *zfcp_fsf_abort_fcp_command( unsigned long, struct zfcp_adapter *, struct zfcp_unit *, int); -/******************************** FCP ****************************************/ +/******************************* FC/FCP **************************************/ extern int zfcp_nameserver_enqueue(struct zfcp_adapter *); extern int zfcp_ns_gid_pn_request(struct zfcp_erp_action *); +extern int zfcp_check_ct_response(struct ct_hdr *); +extern int zfcp_handle_els_rjt(u32, struct zfcp_ls_rjt_par *); /******************************* SCSI ****************************************/ extern int zfcp_adapter_scsi_register(struct zfcp_adapter *); @@ -132,10 +138,10 @@ extern char *zfcp_get_fcp_sns_info_ptr(struct fcp_rsp_iu *); extern void zfcp_fsf_start_scsi_er_timer(struct zfcp_adapter *); extern fcp_dl_t zfcp_get_fcp_dl(struct fcp_cmnd_iu *); -extern int zfcp_scsi_command_async(struct zfcp_adapter *,struct zfcp_unit *unit, - struct scsi_cmnd *scsi_cmnd); -extern int zfcp_scsi_command_sync(struct zfcp_unit *unit, - struct scsi_cmnd *scsi_cmnd); +extern int zfcp_scsi_command_async(struct zfcp_adapter *,struct zfcp_unit *, + struct scsi_cmnd *, struct timer_list *); +extern int zfcp_scsi_command_sync(struct zfcp_unit *, struct scsi_cmnd *, + struct timer_list *); extern struct scsi_transport_template *zfcp_transport_template; extern struct fc_function_template zfcp_transport_functions; diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c index 79451af65..44c646cca 100644 --- a/drivers/s390/scsi/zfcp_fsf.c +++ b/drivers/s390/scsi/zfcp_fsf.c @@ -29,11 +29,12 @@ */ /* this drivers version (do not edit !!! generated and updated by cvs) */ -#define ZFCP_FSF_C_REVISION "$Revision: 1.55 $" +#define ZFCP_FSF_C_REVISION "$Revision: 1.65 $" #include "zfcp_ext.h" static int zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *); +static void zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *); static int zfcp_fsf_open_port_handler(struct zfcp_fsf_req *); static int zfcp_fsf_close_port_handler(struct zfcp_fsf_req *); static int zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *); @@ -48,7 +49,7 @@ static int zfcp_fsf_status_read_handler(struct zfcp_fsf_req *); static int zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *); static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *); static int zfcp_fsf_control_file_handler(struct zfcp_fsf_req *); -static inline int zfcp_fsf_req_create_sbal_check( +static inline int zfcp_fsf_req_sbal_check( unsigned long *, struct zfcp_qdio_queue *, int); static inline int zfcp_use_one_sbal( struct scatterlist *, int, struct scatterlist *, int); @@ -79,10 +80,9 @@ static u32 fsf_qtcb_type[] = { }; static const char zfcp_act_subtable_type[5][8] = { - {"unknown"}, {"OS"}, {"WWPN"}, {"DID"}, {"LUN"} + "unknown", "OS", "WWPN", "DID", "LUN" }; - /****************************************************************/ /*************** FSF related Functions *************************/ /****************************************************************/ @@ -684,13 +684,11 @@ zfcp_fsf_fsfstatus_qual_eval(struct zfcp_fsf_req *fsf_req) break; case FSF_SQ_ULP_PROGRAMMING_ERROR: ZFCP_LOG_FLAGS(0, "FSF_SQ_ULP_PROGRAMMING_ERROR\n"); - ZFCP_LOG_NORMAL("bug: An illegal amount of data was attempted " - "to be sent to the adapter %s " - "Stopping all operations on this adapter. ", + ZFCP_LOG_NORMAL("error: not enough SBALs for data transfer " + "(adapter %s)\n", zfcp_get_busid_by_adapter(fsf_req->adapter)); debug_text_exception(fsf_req->adapter->erp_dbf, 0, "fsf_sq_ulp_err"); - zfcp_erp_adapter_shutdown(fsf_req->adapter, 0); fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: @@ -785,6 +783,11 @@ zfcp_fsf_req_dispatch(struct zfcp_fsf_req *fsf_req) zfcp_fsf_exchange_config_data_handler(fsf_req); break; + case FSF_QTCB_EXCHANGE_PORT_DATA : + ZFCP_LOG_FLAGS(2, "FSF_QTCB_EXCHANGE_PORT_DATA\n"); + zfcp_fsf_exchange_port_data_handler(fsf_req); + break; + case FSF_QTCB_SEND_ELS : ZFCP_LOG_FLAGS(2, "FSF_QTCB_SEND_ELS\n"); zfcp_fsf_send_els_handler(fsf_req); @@ -1624,26 +1627,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; - case FSF_REQUEST_BUF_NOT_VALID : - ZFCP_LOG_FLAGS(2, "FSF_REQUEST_BUF_NOT_VALID\n"); - ZFCP_LOG_NORMAL("error: The port 0x%016Lx on adapter %s has " - "rejected a generic services command " - "due to invalid request buffer.\n", - port->wwpn, zfcp_get_busid_by_port(port)); - debug_text_event(adapter->erp_dbf, 1, "fsf_s_reqiv"); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; - break; - - case FSF_RESPONSE_BUF_NOT_VALID : - ZFCP_LOG_FLAGS(2, "FSF_RESPONSE_BUF_NOT_VALID\n"); - ZFCP_LOG_NORMAL("error: The port 0x%016Lx on adapter %s has " - "rejected a generic services command " - "due to invalid response buffer.\n", - port->wwpn, zfcp_get_busid_by_port(port)); - debug_text_event(adapter->erp_dbf, 1, "fsf_s_resiv"); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; - break; - case FSF_PORT_BOXED : ZFCP_LOG_FLAGS(2, "FSF_PORT_BOXED\n"); ZFCP_LOG_INFO("The remote port 0x%016Lx on adapter %s " @@ -1665,9 +1648,10 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) } skip_fsfstatus: - if (send_ct->handler != NULL) { + send_ct->status = retval; + + if (send_ct->handler != NULL) send_ct->handler(send_ct->handler_data); - } return retval; } @@ -1769,7 +1753,7 @@ zfcp_fsf_send_els(struct zfcp_send_els *els) sbale = zfcp_qdio_sbale_req(fsf_req, fsf_req->sbal_curr, 0); /* start QDIO request for this FSF request */ - ret = zfcp_fsf_req_send(fsf_req, NULL); + ret = zfcp_fsf_req_send(fsf_req, els->timer); if (ret) { ZFCP_LOG_DEBUG("error: initiation of ELS request failed " "(adapter %s, port 0x%016Lx)\n", @@ -1863,6 +1847,10 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) /* ERP strategy will escalate */ debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ulp"); fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; + retval = + zfcp_handle_els_rjt(header->fsf_status_qual.word[1], + (struct zfcp_ls_rjt_par *) + &header->fsf_status_qual.word[2]); break; case FSF_SQ_RETRY_IF_POSSIBLE: ZFCP_LOG_FLAGS(2, "FSF_SQ_RETRY_IF_POSSIBLE\n"); @@ -1921,15 +1909,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) bottom->resp_buf_length); break; - case FSF_UNKNOWN_COMMAND: - ZFCP_LOG_FLAGS(2, "FSF_UNKNOWN_COMMAND\n"); - ZFCP_LOG_INFO( - "FSF command 0x%x is not supported by FCP adapter " - "(adapter: %s)\n", fsf_req->fsf_command, - zfcp_get_busid_by_port(port)); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; - break; - case FSF_ACCESS_DENIED: ZFCP_LOG_FLAGS(2, "FSF_ACCESS_DENIED\n"); ZFCP_LOG_NORMAL("Access denied, cannot send ELS " @@ -1971,8 +1950,6 @@ skip_fsfstatus: if (send_els->handler != 0) send_els->handler(send_els->handler_data); - kfree(send_els); - return retval; } @@ -2219,6 +2196,111 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) return 0; } +/** + * zfcp_fsf_exchange_port_data - request information about local port + * @adapter: for which port data is requested + * @data: response to exchange port data request + */ +int +zfcp_fsf_exchange_port_data(struct zfcp_adapter *adapter, + struct fsf_qtcb_bottom_port *data) +{ + volatile struct qdio_buffer_element *sbale; + int retval = 0; + unsigned long lock_flags; + struct zfcp_fsf_req *fsf_req; + struct timer_list *timer; + + if(!(adapter->supported_features & FSF_FEATURE_HBAAPI_MANAGEMENT)){ + ZFCP_LOG_INFO("error: exchange port data " + "command not supported by adapter %s\n", + zfcp_get_busid_by_adapter(adapter)); + return -EOPNOTSUPP; + } + + timer = kmalloc(sizeof(struct timer_list), GFP_KERNEL); + if (!timer) + return -ENOMEM; + + /* setup new FSF request */ + retval = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_PORT_DATA, + 0, 0, &lock_flags, &fsf_req); + if (retval < 0) { + ZFCP_LOG_INFO("error: Out of resources. Could not create an " + "exchange port data request for" + "the adapter %s.\n", + zfcp_get_busid_by_adapter(adapter)); + write_unlock_irqrestore(&adapter->request_queue.queue_lock, + lock_flags); + goto out; + } + + sbale = zfcp_qdio_sbale_req(fsf_req, fsf_req->sbal_curr, 0); + sbale[0].flags |= SBAL_FLAGS0_TYPE_READ; + sbale[1].flags |= SBAL_FLAGS_LAST_ENTRY; + + fsf_req->data.port_data = data; + + init_timer(timer); + timer->function = zfcp_fsf_request_timeout_handler; + timer->data = (unsigned long) adapter; + timer->expires = ZFCP_FSF_REQUEST_TIMEOUT; + + retval = zfcp_fsf_req_send(fsf_req, timer); + if (retval) { + ZFCP_LOG_INFO("error: Could not send an exchange port data " + "command on the adapter %s\n", + zfcp_get_busid_by_adapter(adapter)); + zfcp_fsf_req_free(fsf_req); + write_unlock_irqrestore(&adapter->request_queue.queue_lock, + lock_flags); + goto out; + } + + ZFCP_LOG_DEBUG("Exchange Port Data request initiated (adapter %s)\n", + zfcp_get_busid_by_adapter(adapter)); + + write_unlock_irqrestore(&adapter->request_queue.queue_lock, + lock_flags); + + wait_event(fsf_req->completion_wq, + fsf_req->status & ZFCP_STATUS_FSFREQ_COMPLETED); + del_timer_sync(timer); + zfcp_fsf_req_cleanup(fsf_req); + out: + kfree(timer); + return retval; +} + + +/** + * zfcp_fsf_exchange_port_data_handler - handler for exchange_port_data request + * @fsf_req: pointer to struct zfcp_fsf_req + */ +static void +zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *fsf_req) +{ + struct fsf_qtcb_bottom_port *bottom; + struct fsf_qtcb_bottom_port *data = fsf_req->data.port_data; + + if (fsf_req->status & ZFCP_STATUS_FSFREQ_ERROR) + return; + + switch (fsf_req->qtcb->header.fsf_status) { + case FSF_GOOD : + ZFCP_LOG_FLAGS(2,"FSF_GOOD\n"); + bottom = &fsf_req->qtcb->bottom.port; + memcpy(data, bottom, sizeof(*data)); + break; + + default: + debug_text_event(fsf_req->adapter->erp_dbf, 0, "xchg-port-ng"); + debug_event(fsf_req->adapter->erp_dbf, 0, + &fsf_req->qtcb->header.fsf_status, sizeof(u32)); + } +} + + /* * function: zfcp_fsf_open_port * @@ -3319,19 +3401,19 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) return retval; } -/* - * function: zfcp_fsf_send_fcp_command_task - * - * purpose: - * - * returns: - * - * note: we do not employ linked commands (not supported by HBA anyway) +/** + * zfcp_fsf_send_fcp_command_task - initiate an FCP command (for a SCSI command) + * @adapter: adapter where scsi command is issued + * @unit: unit where command is sent to + * @scsi_cmnd: scsi command to be sent + * @timer: timer to be started when request is initiated + * @req_flags: flags for fsf_request */ int zfcp_fsf_send_fcp_command_task(struct zfcp_adapter *adapter, struct zfcp_unit *unit, - struct scsi_cmnd * scsi_cmnd, int req_flags) + struct scsi_cmnd * scsi_cmnd, + struct timer_list *timer, int req_flags) { struct zfcp_fsf_req *fsf_req = NULL; struct fcp_cmnd_iu *fcp_cmnd_iu; @@ -3486,7 +3568,7 @@ zfcp_fsf_send_fcp_command_task(struct zfcp_adapter *adapter, * start QDIO request for this FSF request * covered by an SBALE) */ - retval = zfcp_fsf_req_send(fsf_req, NULL); + retval = zfcp_fsf_req_send(fsf_req, timer); if (unlikely(retval < 0)) { ZFCP_LOG_INFO("error: Could not send FCP command request " "on adapter %s, port 0x%016Lx, unit 0x%016Lx\n", @@ -3788,44 +3870,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; break; - /* FIXME: this should be obsolete, isn' it? */ - case FSF_INBOUND_DATA_LENGTH_NOT_VALID: - ZFCP_LOG_FLAGS(0, "FSF_INBOUND_DATA_LENGTH_NOT_VALID\n"); - ZFCP_LOG_NORMAL("bug: An invalid inbound data length field " - "was found in a command for unit 0x%016Lx " - "on port 0x%016Lx on adapter %s.\n", - unit->fcp_lun, - unit->port->wwpn, zfcp_get_busid_by_unit(unit)); - /* stop operation for this adapter */ - debug_text_event(fsf_req->adapter->erp_dbf, 0, - "fsf_s_in_dl_nv"); - zfcp_erp_adapter_shutdown(unit->port->adapter, 0); - zfcp_cmd_dbf_event_fsf("idleninv", - fsf_req, - &header->fsf_status_qual, - sizeof (union fsf_status_qual)); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; - break; - - /* FIXME: this should be obsolete, isn' it? */ - case FSF_OUTBOUND_DATA_LENGTH_NOT_VALID: - ZFCP_LOG_FLAGS(0, "FSF_OUTBOUND_DATA_LENGTH_NOT_VALID\n"); - ZFCP_LOG_NORMAL("bug: An invalid outbound data length field " - "was found in a command unit 0x%016Lx on port " - "0x%016Lx on adapter %s\n", - unit->fcp_lun, - unit->port->wwpn, - zfcp_get_busid_by_unit(unit)); - /* stop operation for this adapter */ - debug_text_event(fsf_req->adapter->erp_dbf, 0, - "fsf_s_out_dl_nv"); - zfcp_erp_adapter_shutdown(unit->port->adapter, 0); - zfcp_cmd_dbf_event_fsf("odleninv", fsf_req, - &header->fsf_status_qual, - sizeof (union fsf_status_qual)); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; - break; - case FSF_CMND_LENGTH_NOT_VALID: ZFCP_LOG_FLAGS(0, "FSF_CMND_LENGTH_NOT_VALID\n"); ZFCP_LOG_NORMAL @@ -4157,87 +4201,6 @@ zfcp_fsf_send_fcp_command_task_handler(struct zfcp_fsf_req *fsf_req) } skip_fsfstatus: -#if 0 - /* - * This nasty chop at the problem is not working anymore - * as we do not adjust the retry count anylonger in order - * to have a number of retries that avoids I/O errors. - * The manipulation of the retry count has been removed - * in favour of a safe tape device handling. We must not - * sent SCSI commands more than once to a device if no - * retries are permitted by the high level driver. Generally - * speaking, it was a mess to change retry counts. So it is - * fine that this sort of workaround is gone. - * Then, we had to face a certain number of immediate retries in case of - * busy and queue full conditions (see below). - * This is not acceptable - * for the latter. Queue full conditions are used - * by devices to indicate to a host that the host can rely - * on the completion (or timeout) of at least one outstanding - * command as a suggested trigger for command retries. - * Busy conditions require a different trigger since - * no commands are outstanding for that initiator from the - * devices perspective. - * The drawback of mapping a queue full condition to a - * busy condition is the chance of wasting all retries prior - * to the time when the device indicates that a command - * rejected due to a queue full condition should be re-driven. - * This case would lead to unnecessary I/O errors that - * have to be considered fatal if for example ext3's - * journaling would be torpedoed by such an avoidable - * I/O error. - * So, what issues are there with not mapping a queue-full - * condition to a busy condition? - * Due to the 'exclusive LUN' - * policy enforced by the zSeries FCP channel, this - * Linux instance is the only initiator with regard to - * this adapter. It is safe to rely on the information - * 'don't disturb me now ... and btw. no other commands - * pending for you' (= queue full) sent by the LU, - * since no other Linux can use this LUN via this adapter - * at the same time. If there is a potential race - * introduced by the FCP channel by not inhibiting Linux A - * to give up a LU with commands pending while Linux B - * grabs this LU and sends commands - thus providing - * an exploit at the 'exclusive LUN' policy - then this - * issue has to be considered a hardware problem. It should - * be tracked as such if it really occurs. Even if the - * FCP Channel spec. begs exploiters to wait for the - * completion of all request sent to a LU prior to - * closing this LU connection. - * This spec. statement in conjunction with - * the 'exclusive LUN' policy is not consistent design. - * Another issue is how resource constraints for SCSI commands - * might be handled by the FCP channel (just guessing for now). - * If the FCP channel would always map resource constraints, - * e.g. no free FC exchange ID due to I/O stress caused by - * other sharing Linux instances, to faked queue-full - * conditions then this would be a misinterpretation and - * violation of SCSI standards. - * If there are SCSI stack races as indicated below - * then they need to be fixed just there. - * Providing all issue above are not applicable or will - * be fixed appropriately, removing the following hack - * is the right thing to do. - */ - - /* - * Note: This is a rather nasty chop at the problem. We cannot - * risk adding to the mlqueue however as this will block the - * device. If it is the last outstanding command for this host - * it will remain blocked indefinitely. This would be quite possible - * on the zSeries FCP adapter. - * Also, there exists a race with scsi_insert_special relying on - * scsi_request_fn to recalculate some command data which may not - * happen when q->plugged is true in scsi_request_fn - */ - if (status_byte(scpnt->result) == QUEUE_FULL) { - ZFCP_LOG_DEBUG("Changing QUEUE_FULL to BUSY....\n"); - scpnt->result &= ~(QUEUE_FULL << 1); - scpnt->result |= (BUSY << 1); - } -#endif - ZFCP_LOG_DEBUG("scpnt->result =0x%x\n", scpnt->result); zfcp_cmd_dbf_event_scsi("response", scpnt); @@ -4585,16 +4548,6 @@ zfcp_fsf_control_file_handler(struct zfcp_fsf_req *fsf_req) retval = -EIO; break; - case FSF_UNKNOWN_COMMAND: - ZFCP_LOG_FLAGS(2, "FSF_UNKNOWN_COMMAND\n"); - ZFCP_LOG_NORMAL( - "FSF command 0x%x is not supported by the adapter %s\n", - fsf_req->fsf_command, - zfcp_get_busid_by_adapter(adapter)); - fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; - retval = -EINVAL; - break; - case FSF_UNKNOWN_OP_SUBTYPE: ZFCP_LOG_FLAGS(2, "FSF_UNKNOWN_OP_SUBTYPE\n"); ZFCP_LOG_NORMAL( @@ -4682,8 +4635,8 @@ zfcp_fsf_req_wait_and_cleanup(struct zfcp_fsf_req *fsf_req, } static inline int -zfcp_fsf_req_create_sbal_check(unsigned long *flags, - struct zfcp_qdio_queue *queue, int needed) +zfcp_fsf_req_sbal_check(unsigned long *flags, + struct zfcp_qdio_queue *queue, int needed) { write_lock_irqsave(&queue->queue_lock, *flags); if (likely(atomic_read(&queue->free_count) >= needed)) @@ -4712,30 +4665,25 @@ zfcp_fsf_req_qtcb_init(struct zfcp_fsf_req *fsf_req, u32 fsf_cmd) * zfcp_fsf_req_sbal_get - try to get one SBAL in the request queue * @adapter: adapter for which request queue is examined * @req_flags: flags indicating whether to wait for needed SBAL or not - * @lock_flags: lock_flags is queue_lock is taken - * - * locking: on success the queue_lock for the request queue of the adapter - * is held + * @lock_flags: lock_flags if queue_lock is taken + * Return: 0 on success, otherwise -EIO, or -ERESTARTSYS + * Locks: lock adapter->request_queue->queue_lock on success */ static int zfcp_fsf_req_sbal_get(struct zfcp_adapter *adapter, int req_flags, unsigned long *lock_flags) { - int condition; + long ret; struct zfcp_qdio_queue *req_queue = &adapter->request_queue; if (unlikely(req_flags & ZFCP_WAIT_FOR_SBAL)) { - wait_event_interruptible_timeout(adapter->request_wq, - (condition = - zfcp_fsf_req_create_sbal_check - (lock_flags, req_queue, 1)), - ZFCP_SBAL_TIMEOUT); - if (!condition) { - return -EIO; - } - } else if (!zfcp_fsf_req_create_sbal_check(lock_flags, req_queue, 1)) { + ret = wait_event_interruptible_timeout(adapter->request_wq, + zfcp_fsf_req_sbal_check(lock_flags, req_queue, 1), + ZFCP_SBAL_TIMEOUT); + if (ret < 0) + return ret; + } else if (!zfcp_fsf_req_sbal_check(lock_flags, req_queue, 1)) return -EIO; - } return 0; } diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c index d0a879f0a..060c89a83 100644 --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c @@ -31,7 +31,7 @@ #define ZFCP_LOG_AREA ZFCP_LOG_AREA_SCSI /* this drivers version (do not edit !!! generated and updated by cvs) */ -#define ZFCP_SCSI_REVISION "$Revision: 1.65 $" +#define ZFCP_SCSI_REVISION "$Revision: 1.68 $" #include "zfcp_ext.h" @@ -48,6 +48,8 @@ static int zfcp_task_management_function(struct zfcp_unit *, u8); static struct zfcp_unit *zfcp_unit_lookup(struct zfcp_adapter *, int, scsi_id_t, scsi_lun_t); +static struct zfcp_port * zfcp_port_lookup(struct zfcp_adapter *, int, + scsi_id_t); static struct device_attribute *zfcp_sysfs_sdev_attrs[]; @@ -247,15 +249,16 @@ zfcp_scsi_command_fail(struct scsi_cmnd *scpnt, int result) /** * zfcp_scsi_command_async - worker for zfcp_scsi_queuecommand and * zfcp_scsi_command_sync - * @adapter: adapter for where scsi command is issued + * @adapter: adapter where scsi command is issued * @unit: unit to which scsi command is sent * @scpnt: scsi command to be sent + * @timer: timer to be started if request is successfully initiated * * Note: In scsi_done function must be set in scpnt. */ int zfcp_scsi_command_async(struct zfcp_adapter *adapter, struct zfcp_unit *unit, - struct scsi_cmnd *scpnt) + struct scsi_cmnd *scpnt, struct timer_list *timer) { int tmp; int retval; @@ -291,7 +294,7 @@ zfcp_scsi_command_async(struct zfcp_adapter *adapter, struct zfcp_unit *unit, goto out; } - tmp = zfcp_fsf_send_fcp_command_task(adapter, unit, scpnt, + tmp = zfcp_fsf_send_fcp_command_task(adapter, unit, scpnt, timer, ZFCP_REQ_AUTO_CLEANUP); if (unlikely(tmp < 0)) { @@ -313,18 +316,28 @@ zfcp_scsi_command_sync_handler(struct scsi_cmnd *scpnt) /** * zfcp_scsi_command_sync - send a SCSI command and wait for completion - * returns 0, errors are indicated by scsi_cmnd->result + * @unit: unit where command is sent to + * @scpnt: scsi command to be sent + * @timer: timer to be started if request is successfully initiated + * Return: 0 + * + * Errors are indicated in scpnt->result */ int -zfcp_scsi_command_sync(struct zfcp_unit *unit, struct scsi_cmnd *scpnt) +zfcp_scsi_command_sync(struct zfcp_unit *unit, struct scsi_cmnd *scpnt, + struct timer_list *timer) { + int ret; DECLARE_COMPLETION(wait); scpnt->SCp.ptr = (void *) &wait; /* silent re-use */ - scpnt->done = zfcp_scsi_command_sync_handler; - zfcp_scsi_command_async(unit->port->adapter, unit, scpnt); + scpnt->scsi_done = zfcp_scsi_command_sync_handler; + ret = zfcp_scsi_command_async(unit->port->adapter, unit, scpnt, timer); + if ((ret == 0) && (scpnt->result == 0)) wait_for_completion(&wait); + scpnt->SCp.ptr = NULL; + return 0; } @@ -355,7 +368,7 @@ zfcp_scsi_queuecommand(struct scsi_cmnd *scpnt, adapter = (struct zfcp_adapter *) scpnt->device->host->hostdata[0]; unit = (struct zfcp_unit *) scpnt->device->hostdata; - return zfcp_scsi_command_async(adapter, unit, scpnt); + return zfcp_scsi_command_async(adapter, unit, scpnt, NULL); } /* @@ -387,6 +400,26 @@ zfcp_unit_lookup(struct zfcp_adapter *adapter, int channel, scsi_id_t id, out: return retval; } +/* + * function: zfcp_unit_tgt_lookup + * + * purpose: + * + * returns: + * + * context: + */ +static struct zfcp_port * +zfcp_port_lookup(struct zfcp_adapter *adapter, int channel, scsi_id_t id) +{ + struct zfcp_port *port; + + list_for_each_entry(port, &adapter->port_list_head, list) { + if (id == port->scsi_id) + return port; + } + return (struct zfcp_port *)NULL; +} /* * function: zfcp_scsi_eh_abort_handler @@ -430,7 +463,7 @@ zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt) u64 dbf_fsf_req = 0; u64 dbf_fsf_status = 0; u64 dbf_fsf_qual[2] = { 0, 0 }; - char dbf_result[ZFCP_ABORT_DBF_LENGTH] = { "##undef" }; + char dbf_result[ZFCP_ABORT_DBF_LENGTH] = "##undef"; memset(dbf_opcode, 0, ZFCP_ABORT_DBF_LENGTH); memcpy(dbf_opcode, @@ -828,39 +861,63 @@ zfcp_fsf_start_scsi_er_timer(struct zfcp_adapter *adapter) * Support functions for FC transport class */ static void -zfcp_get_port_id(struct scsi_device *sdev) +zfcp_get_port_id(struct scsi_target *starget) { - struct zfcp_unit *unit; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct zfcp_adapter *adapter = (struct zfcp_adapter *)shost->hostdata[0]; + struct zfcp_port *port; + unsigned long flags; - unit = (struct zfcp_unit *) sdev->hostdata; - fc_port_id(sdev) = unit->port->d_id; + read_lock_irqsave(&zfcp_data.config_lock, flags); + port = zfcp_port_lookup(adapter, starget->channel, starget->id); + if (port) + fc_starget_port_id(starget) = port->d_id; + else + fc_starget_port_id(starget) = -1; + read_unlock_irqrestore(&zfcp_data.config_lock, flags); } static void -zfcp_get_port_name(struct scsi_device *sdev) +zfcp_get_port_name(struct scsi_target *starget) { - struct zfcp_unit *unit; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct zfcp_adapter *adapter = (struct zfcp_adapter *)shost->hostdata[0]; + struct zfcp_port *port; + unsigned long flags; - unit = (struct zfcp_unit *) sdev->hostdata; - fc_port_name(sdev) = unit->port->wwpn; + read_lock_irqsave(&zfcp_data.config_lock, flags); + port = zfcp_port_lookup(adapter, starget->channel, starget->id); + if (port) + fc_starget_port_name(starget) = port->wwpn; + else + fc_starget_port_name(starget) = -1; + read_unlock_irqrestore(&zfcp_data.config_lock, flags); } static void -zfcp_get_node_name(struct scsi_device *sdev) +zfcp_get_node_name(struct scsi_target *starget) { - struct zfcp_unit *unit; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct zfcp_adapter *adapter = (struct zfcp_adapter *)shost->hostdata[0]; + struct zfcp_port *port; + unsigned long flags; - unit = (struct zfcp_unit *) sdev->hostdata; - fc_node_name(sdev) = unit->port->wwnn; + read_lock_irqsave(&zfcp_data.config_lock, flags); + port = zfcp_port_lookup(adapter, starget->channel, starget->id); + if (port) + fc_starget_node_name(starget) = port->wwnn; + else + fc_starget_node_name(starget) = -1; + read_unlock_irqrestore(&zfcp_data.config_lock, flags); } struct fc_function_template zfcp_transport_functions = { - .get_port_id = zfcp_get_port_id, - .get_port_name = zfcp_get_port_name, - .get_node_name = zfcp_get_node_name, - .show_port_id = 1, - .show_port_name = 1, - .show_node_name = 1, + .get_starget_port_id = zfcp_get_port_id, + .get_starget_port_name = zfcp_get_port_name, + .get_starget_node_name = zfcp_get_node_name, + .show_starget_port_id = 1, + .show_starget_port_name = 1, + .show_starget_node_name = 1, }; /** diff --git a/drivers/s390/scsi/zfcp_sysfs_adapter.c b/drivers/s390/scsi/zfcp_sysfs_adapter.c index d7536a11a..f92ec32d7 100644 --- a/drivers/s390/scsi/zfcp_sysfs_adapter.c +++ b/drivers/s390/scsi/zfcp_sysfs_adapter.c @@ -26,18 +26,18 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define ZFCP_SYSFS_ADAPTER_C_REVISION "$Revision: 1.33 $" +#define ZFCP_SYSFS_ADAPTER_C_REVISION "$Revision: 1.37 $" #include "zfcp_ext.h" #define ZFCP_LOG_AREA ZFCP_LOG_AREA_CONFIG static const char fc_topologies[5][25] = { - {""}, - {"point-to-point"}, - {"fabric"}, - {"arbitrated loop"}, - {"fabric (virt. adapter)"} + "", + "point-to-point", + "fabric", + "arbitrated loop", + "fabric (virt. adapter)" }; /** @@ -74,29 +74,8 @@ ZFCP_DEFINE_ADAPTER_ATTR(hardware_version, "0x%08x\n", adapter->hardware_version); ZFCP_DEFINE_ADAPTER_ATTR(serial_number, "%17s\n", adapter->serial_number); ZFCP_DEFINE_ADAPTER_ATTR(scsi_host_no, "0x%x\n", adapter->scsi_host_no); - -/** - * zfcp_sysfs_adapter_in_recovery_show - recovery state of adapter - * @dev: pointer to belonging device - * @buf: pointer to input buffer - * - * Show function of "in_recovery" attribute of adapter. Will be - * "0" if no error recovery is pending for adapter, otherwise "1". - */ -static ssize_t -zfcp_sysfs_adapter_in_recovery_show(struct device *dev, char *buf) -{ - struct zfcp_adapter *adapter; - - adapter = dev_get_drvdata(dev); - if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status)) - return sprintf(buf, "1\n"); - else - return sprintf(buf, "0\n"); -} - -static DEVICE_ATTR(in_recovery, S_IRUGO, - zfcp_sysfs_adapter_in_recovery_show, NULL); +ZFCP_DEFINE_ADAPTER_ATTR(in_recovery, "%d\n", atomic_test_mask + (ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status)); /** * zfcp_sysfs_port_add_store - add a port to sysfs tree @@ -127,7 +106,7 @@ zfcp_sysfs_port_add_store(struct device *dev, const char *buf, size_t count) if ((endp + 1) < (buf + count)) goto out; - port = zfcp_port_enqueue(adapter, wwpn, 0); + port = zfcp_port_enqueue(adapter, wwpn, 0, 0); if (!port) goto out; @@ -138,7 +117,7 @@ zfcp_sysfs_port_add_store(struct device *dev, const char *buf, size_t count) zfcp_port_put(port); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } static DEVICE_ATTR(port_add, S_IWUSR, NULL, zfcp_sysfs_port_add_store); @@ -197,7 +176,7 @@ zfcp_sysfs_port_remove_store(struct device *dev, const char *buf, size_t count) zfcp_port_dequeue(port); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } static DEVICE_ATTR(port_remove, S_IWUSR, NULL, zfcp_sysfs_port_remove_store); @@ -241,7 +220,7 @@ zfcp_sysfs_adapter_failed_store(struct device *dev, zfcp_erp_wait(adapter); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } /** diff --git a/drivers/s390/scsi/zfcp_sysfs_driver.c b/drivers/s390/scsi/zfcp_sysfs_driver.c index e0d6eecfe..ffd55176f 100644 --- a/drivers/s390/scsi/zfcp_sysfs_driver.c +++ b/drivers/s390/scsi/zfcp_sysfs_driver.c @@ -26,7 +26,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define ZFCP_SYSFS_DRIVER_C_REVISION "$Revision: 1.14 $" +#define ZFCP_SYSFS_DRIVER_C_REVISION "$Revision: 1.15 $" #include "zfcp_ext.h" @@ -65,7 +65,7 @@ static ssize_t zfcp_sysfs_loglevel_##_name##_store(struct device_driver *drv, \ static ssize_t zfcp_sysfs_loglevel_##_name##_show(struct device_driver *dev, \ char *buf) \ { \ - return sprintf(buf,"%d\n", \ + return sprintf(buf,"%d\n", (unsigned int) \ ZFCP_GET_LOG_VALUE(ZFCP_LOG_AREA_##_define)); \ } \ \ diff --git a/drivers/s390/scsi/zfcp_sysfs_port.c b/drivers/s390/scsi/zfcp_sysfs_port.c index 11a27c1ff..10b66cd8c 100644 --- a/drivers/s390/scsi/zfcp_sysfs_port.c +++ b/drivers/s390/scsi/zfcp_sysfs_port.c @@ -26,7 +26,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define ZFCP_SYSFS_PORT_C_REVISION "$Revision: 1.41 $" +#define ZFCP_SYSFS_PORT_C_REVISION "$Revision: 1.44 $" #include "zfcp_ext.h" @@ -66,6 +66,8 @@ ZFCP_DEFINE_PORT_ATTR(status, "0x%08x\n", atomic_read(&port->status)); ZFCP_DEFINE_PORT_ATTR(wwnn, "0x%016llx\n", port->wwnn); ZFCP_DEFINE_PORT_ATTR(d_id, "0x%06x\n", port->d_id); ZFCP_DEFINE_PORT_ATTR(scsi_id, "0x%x\n", port->scsi_id); +ZFCP_DEFINE_PORT_ATTR(in_recovery, "%d\n", atomic_test_mask + (ZFCP_STATUS_COMMON_ERP_INUSE, &port->status)); /** * zfcp_sysfs_unit_add_store - add a unit to sysfs tree @@ -107,7 +109,7 @@ zfcp_sysfs_unit_add_store(struct device *dev, const char *buf, size_t count) zfcp_unit_put(unit); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } static DEVICE_ATTR(unit_add, S_IWUSR, NULL, zfcp_sysfs_unit_add_store); @@ -164,7 +166,7 @@ zfcp_sysfs_unit_remove_store(struct device *dev, const char *buf, size_t count) zfcp_unit_dequeue(unit); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } static DEVICE_ATTR(unit_remove, S_IWUSR, NULL, zfcp_sysfs_unit_remove_store); @@ -206,7 +208,7 @@ zfcp_sysfs_port_failed_store(struct device *dev, const char *buf, size_t count) zfcp_erp_wait(port->adapter); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } /** @@ -232,29 +234,6 @@ zfcp_sysfs_port_failed_show(struct device *dev, char *buf) static DEVICE_ATTR(failed, S_IWUSR | S_IRUGO, zfcp_sysfs_port_failed_show, zfcp_sysfs_port_failed_store); -/** - * zfcp_sysfs_port_in_recovery_show - recovery state of port - * @dev: pointer to belonging device - * @buf: pointer to input buffer - * - * Show function of "in_recovery" attribute of port. Will be - * "0" if no error recovery is pending for port, otherwise "1". - */ -static ssize_t -zfcp_sysfs_port_in_recovery_show(struct device *dev, char *buf) -{ - struct zfcp_port *port; - - port = dev_get_drvdata(dev); - if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &port->status)) - return sprintf(buf, "1\n"); - else - return sprintf(buf, "0\n"); -} - -static DEVICE_ATTR(in_recovery, S_IRUGO, zfcp_sysfs_port_in_recovery_show, - NULL); - /** * zfcp_port_common_attrs * sysfs attributes that are common for all kind of fc ports. @@ -300,7 +279,7 @@ zfcp_sysfs_port_create_files(struct device *dev, u32 flags) retval = sysfs_create_group(&dev->kobj, &zfcp_port_common_attr_group); - if ((flags & ZFCP_STATUS_PORT_NAMESERVER) || retval) + if ((flags & ZFCP_STATUS_PORT_WKA) || retval) return retval; retval = sysfs_create_group(&dev->kobj, &zfcp_port_no_ns_attr_group); @@ -320,7 +299,7 @@ void zfcp_sysfs_port_remove_files(struct device *dev, u32 flags) { sysfs_remove_group(&dev->kobj, &zfcp_port_common_attr_group); - if (!(flags & ZFCP_STATUS_PORT_NAMESERVER)) + if (!(flags & ZFCP_STATUS_PORT_WKA)) sysfs_remove_group(&dev->kobj, &zfcp_port_no_ns_attr_group); } diff --git a/drivers/s390/scsi/zfcp_sysfs_unit.c b/drivers/s390/scsi/zfcp_sysfs_unit.c index 904c8aead..bad3b7f2c 100644 --- a/drivers/s390/scsi/zfcp_sysfs_unit.c +++ b/drivers/s390/scsi/zfcp_sysfs_unit.c @@ -26,7 +26,7 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#define ZFCP_SYSFS_UNIT_C_REVISION "$Revision: 1.25 $" +#define ZFCP_SYSFS_UNIT_C_REVISION "$Revision: 1.27 $" #include "zfcp_ext.h" @@ -64,6 +64,8 @@ static DEVICE_ATTR(_name, S_IRUGO, zfcp_sysfs_unit_##_name##_show, NULL); ZFCP_DEFINE_UNIT_ATTR(status, "0x%08x\n", atomic_read(&unit->status)); ZFCP_DEFINE_UNIT_ATTR(scsi_lun, "0x%x\n", unit->scsi_lun); +ZFCP_DEFINE_UNIT_ATTR(in_recovery, "%d\n", atomic_test_mask + (ZFCP_STATUS_COMMON_ERP_INUSE, &unit->status)); /** * zfcp_sysfs_unit_failed_store - failed state of unit @@ -101,7 +103,7 @@ zfcp_sysfs_unit_failed_store(struct device *dev, const char *buf, size_t count) zfcp_erp_wait(unit->port->adapter); out: up(&zfcp_data.config_sema); - return retval ? retval : count; + return retval ? retval : (ssize_t) count; } /** @@ -127,29 +129,6 @@ zfcp_sysfs_unit_failed_show(struct device *dev, char *buf) static DEVICE_ATTR(failed, S_IWUSR | S_IRUGO, zfcp_sysfs_unit_failed_show, zfcp_sysfs_unit_failed_store); -/** - * zfcp_sysfs_unit_in_recovery_show - recovery state of unit - * @dev: pointer to belonging device - * @buf: pointer to input buffer - * - * Show function of "in_recovery" attribute of unit. Will be - * "0" if no error recovery is pending for unit, otherwise "1". - */ -static ssize_t -zfcp_sysfs_unit_in_recovery_show(struct device *dev, char *buf) -{ - struct zfcp_unit *unit; - - unit = dev_get_drvdata(dev); - if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &unit->status)) - return sprintf(buf, "1\n"); - else - return sprintf(buf, "0\n"); -} - -static DEVICE_ATTR(in_recovery, S_IRUGO, zfcp_sysfs_unit_in_recovery_show, - NULL); - static struct attribute *zfcp_unit_attrs[] = { &dev_attr_scsi_lun.attr, &dev_attr_failed.attr, diff --git a/drivers/sbus/char/cpwatchdog.c b/drivers/sbus/char/cpwatchdog.c index ad870a300..9fcf180ba 100644 --- a/drivers/sbus/char/cpwatchdog.c +++ b/drivers/sbus/char/cpwatchdog.c @@ -118,40 +118,26 @@ * UNKNOWN, MAGICAL MYSTERY REGISTER * */ -struct wd_timer_regblk { - volatile __u16 dcntr; /* down counter - hw */ - volatile __u16 dcntr_pad; - volatile __u16 limit; /* limit register - hw */ - volatile __u16 limit_pad; - volatile __u8 status; /* status register - b */ - volatile __u8 status_pad; - volatile __u16 status_pad2; - volatile __u32 pad32; /* yet more padding */ -}; +#define WD_TIMER_REGSZ 16 +#define WD0_OFF 0 +#define WD1_OFF (WD_TIMER_REGSZ * 1) +#define WD2_OFF (WD_TIMER_REGSZ * 2) +#define PLD_OFF (WD_TIMER_REGSZ * 3) -struct wd_pld_regblk { - volatile __u8 intr_mask; /* interrupt mask - b */ - volatile __u8 intr_mask_pad; - volatile __u16 intr_mask_pad2; - volatile __u8 status; /* device status - b */ - volatile __u8 status_pad; - volatile __u16 status_pad2; -}; +#define WD_DCNTR 0x00 +#define WD_LIMIT 0x04 +#define WD_STATUS 0x08 -struct wd_regblk { - volatile struct wd_timer_regblk wd0_regs; - volatile struct wd_timer_regblk wd1_regs; - volatile struct wd_timer_regblk wd2_regs; - volatile struct wd_pld_regblk pld_regs; -}; +#define PLD_IMASK (PLD_OFF + 0x00) +#define PLD_STATUS (PLD_OFF + 0x04) /* Individual timer structure */ struct wd_timer { __u16 timeout; __u8 intr_mask; - unsigned char runstatus; - volatile struct wd_timer_regblk* regs; + unsigned char runstatus; + void __iomem *regs; }; /* Device structure @@ -165,7 +151,7 @@ struct wd_device { unsigned short opt_timeout; unsigned char initialized; struct wd_timer watchdog[WD_NUMDEVS]; - volatile struct wd_regblk* regs; + void __iomem *regs; }; static struct wd_device wd_dev = { @@ -495,12 +481,12 @@ static void wd_dumpregs(void) i, wd_getstatus(&wd_dev.watchdog[i])); } - printk("\tintr_mask at 0x%lx: 0x%x\n", - (unsigned long)(&wd_dev.regs->pld_regs.intr_mask), - readb(&wd_dev.regs->pld_regs.intr_mask)); - printk("\tpld_status at 0x%lx: 0x%x\n", - (unsigned long)(&wd_dev.regs->pld_regs.status), - readb(&wd_dev.regs->pld_regs.status)); + printk("\tintr_mask at %p: 0x%x\n", + wd_dev.regs + PLD_IMASK, + readb(wd_dev.regs + PLD_IMASK)); + printk("\tpld_status at %p: 0x%x\n", + wd_dev.regs + PLD_STATUS, + readb(wd_dev.regs + PLD_STATUS)); } #endif @@ -513,7 +499,7 @@ static void wd_dumpregs(void) */ static void wd_toggleintr(struct wd_timer* pTimer, int enable) { - unsigned char curregs = wd_readb(&wd_dev.regs->pld_regs.intr_mask); + unsigned char curregs = wd_readb(wd_dev.regs + PLD_IMASK); unsigned char setregs = (NULL == pTimer) ? (WD0_INTR_MASK | WD1_INTR_MASK | WD2_INTR_MASK) : @@ -523,7 +509,7 @@ static void wd_toggleintr(struct wd_timer* pTimer, int enable) (curregs &= ~setregs): (curregs |= setregs); - wd_writeb(curregs, &wd_dev.regs->pld_regs.intr_mask); + wd_writeb(curregs, wd_dev.regs + PLD_IMASK); return; } @@ -534,8 +520,8 @@ static void wd_toggleintr(struct wd_timer* pTimer, int enable) */ static void wd_pingtimer(struct wd_timer* pTimer) { - if(wd_readb(&pTimer->regs->status) & WD_S_RUNNING) { - wd_readw(&pTimer->regs->dcntr); + if (wd_readb(pTimer->regs + WD_STATUS) & WD_S_RUNNING) { + wd_readw(pTimer->regs + WD_DCNTR); } } @@ -547,7 +533,7 @@ static void wd_pingtimer(struct wd_timer* pTimer) */ static void wd_stoptimer(struct wd_timer* pTimer) { - if(wd_readb(&pTimer->regs->status) & WD_S_RUNNING) { + if(wd_readb(pTimer->regs + WD_STATUS) & WD_S_RUNNING) { wd_toggleintr(pTimer, WD_INTR_OFF); if(wd_dev.isbaddoggie) { @@ -574,7 +560,7 @@ static void wd_starttimer(struct wd_timer* pTimer) } pTimer->runstatus &= ~WD_STAT_SVCD; - wd_writew(pTimer->timeout, &pTimer->regs->limit); + wd_writew(pTimer->timeout, pTimer->regs + WD_LIMIT); wd_toggleintr(pTimer, WD_INTR_ON); } @@ -584,7 +570,7 @@ static void wd_starttimer(struct wd_timer* pTimer) static void wd_resetbrokentimer(struct wd_timer* pTimer) { wd_toggleintr(pTimer, WD_INTR_ON); - wd_writew(WD_BLIMIT, &pTimer->regs->limit); + wd_writew(WD_BLIMIT, pTimer->regs + WD_LIMIT); } /* Timer device initialization helper. @@ -593,7 +579,7 @@ static void wd_resetbrokentimer(struct wd_timer* pTimer) static int wd_inittimer(int whichdog) { struct miscdevice *whichmisc; - volatile struct wd_timer_regblk *whichregs; + void __iomem *whichregs; char whichident[8]; int whichmask; __u16 whichlimit; @@ -603,7 +589,7 @@ static int wd_inittimer(int whichdog) case WD0_ID: whichmisc = &wd0_miscdev; strcpy(whichident, "RIC"); - whichregs = &wd_dev.regs->wd0_regs; + whichregs = wd_dev.regs + WD0_OFF; whichmask = WD0_INTR_MASK; whichlimit= (0 == wd0_timeout) ? (wd_dev.opt_timeout): @@ -612,7 +598,7 @@ static int wd_inittimer(int whichdog) case WD1_ID: whichmisc = &wd1_miscdev; strcpy(whichident, "XIR"); - whichregs = &wd_dev.regs->wd1_regs; + whichregs = wd_dev.regs + WD1_OFF; whichmask = WD1_INTR_MASK; whichlimit= (0 == wd1_timeout) ? (wd_dev.opt_timeout): @@ -621,7 +607,7 @@ static int wd_inittimer(int whichdog) case WD2_ID: whichmisc = &wd2_miscdev; strcpy(whichident, "POR"); - whichregs = &wd_dev.regs->wd2_regs; + whichregs = wd_dev.regs + WD2_OFF; whichmask = WD2_INTR_MASK; whichlimit= (0 == wd2_timeout) ? (wd_dev.opt_timeout): @@ -686,8 +672,8 @@ static void wd_brokentimer(unsigned long data) static int wd_getstatus(struct wd_timer* pTimer) { - unsigned char stat = wd_readb(&pTimer->regs->status); - unsigned char intr = wd_readb(&wd_dev.regs->pld_regs.intr_mask); + unsigned char stat = wd_readb(pTimer->regs + WD_STATUS); + unsigned char intr = wd_readb(wd_dev.regs + PLD_IMASK); unsigned char ret = WD_STOPPED; /* determine STOPPED */ @@ -805,7 +791,7 @@ static void __exit wd_cleanup(void) * also now eventually trip. */ for(id = WD0_ID; id < WD_NUMDEVS; ++id) { - if(WD_S_RUNNING == wd_readb(&wd_dev.watchdog[id].regs->status)) { + if(WD_S_RUNNING == wd_readb(wd_dev.watchdog[id].regs + WD_STATUS)) { if(wd_dev.opt_enable) { printk(KERN_WARNING "%s%i: timer not stopped at release\n", WD_OBPNAME, id); @@ -818,7 +804,7 @@ static void __exit wd_cleanup(void) "%s%i: defect workaround disabled at release, "\ "timer expires in ~%01i sec\n", WD_OBPNAME, id, - wd_readw(&wd_dev.watchdog[id].regs->limit) / 10); + wd_readw(wd_dev.watchdog[id].regs + WD_LIMIT) / 10); } } } diff --git a/drivers/sbus/char/display7seg.c b/drivers/sbus/char/display7seg.c index e8ac0b4d3..adb30d5d3 100644 --- a/drivers/sbus/char/display7seg.c +++ b/drivers/sbus/char/display7seg.c @@ -70,7 +70,7 @@ MODULE_SUPPORTED_DEVICE * FLIP - Inverts display for upside-down mounted board * bits 0-4 - 7-segment display contents */ -volatile u8* d7s_regs = NULL; +static void __iomem* d7s_regs; static inline void d7s_free(void) { diff --git a/drivers/sbus/char/envctrl.c b/drivers/sbus/char/envctrl.c index cd6e2d39f..f6ed35b24 100644 --- a/drivers/sbus/char/envctrl.c +++ b/drivers/sbus/char/envctrl.c @@ -130,10 +130,8 @@ static int errno; */ #define ENVCTRL_CPCI_IGNORED_NODE 0x70 -struct pcf8584_reg { - unsigned char data; - unsigned char csr; -}; +#define PCF8584_DATA 0x00 +#define PCF8584_CSR 0x01 /* Each child device can be monitored by up to PCF8584_MAX_CHANNELS. * Property of a port or channel as defined by the firmware. @@ -175,7 +173,7 @@ struct i2c_child_t { char mon_type[PCF8584_MAX_CHANNELS]; }; -volatile static struct pcf8584_reg *i2c = NULL; +static void __iomem *i2c; static struct i2c_child_t i2c_childlist[ENVCTRL_MAX_CPU*2]; static unsigned char chnls_mask[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; static unsigned int warning_temperature = 0; @@ -185,22 +183,6 @@ static char read_cpu; /* Forward declarations. */ static struct i2c_child_t *envctrl_get_i2c_child(unsigned char); -/* Function description: Read a byte from an i2c controller register. - * Return: A byte from the passed in address. - */ -static inline unsigned char envctrl_readb(volatile unsigned char *p) -{ - return readb(p); -} - -/* Function description: Write a byte to an i2c controller register. - * Return: Nothing. - */ -static inline void envctrl_writeb(unsigned char val, volatile unsigned char *p) -{ - writeb(val, p); -} - /* Function Description: Test the PIN bit (Pending Interrupt Not) * to test when serial transmission is completed . * Return : None. @@ -210,7 +192,7 @@ static void envtrl_i2c_test_pin(void) int limit = 1000000; while (--limit > 0) { - if (!(envctrl_readb(&i2c->csr) & STATUS_PIN)) + if (!(readb(i2c + PCF8584_CSR) & STATUS_PIN)) break; udelay(1); } @@ -228,7 +210,7 @@ static void envctrl_i2c_test_bb(void) while (--limit > 0) { /* Busy bit 0 means busy. */ - if (envctrl_readb(&i2c->csr) & STATUS_BB) + if (readb(i2c + PCF8584_CSR) & STATUS_BB) break; udelay(1); } @@ -245,20 +227,20 @@ static int envctrl_i2c_read_addr(unsigned char addr) envctrl_i2c_test_bb(); /* Load address. */ - envctrl_writeb(addr + 1, &i2c->data); + writeb(addr + 1, i2c + PCF8584_DATA); envctrl_i2c_test_bb(); - envctrl_writeb(OBD_SEND_START, &i2c->csr); + writeb(OBD_SEND_START, i2c + PCF8584_CSR); /* Wait for PIN. */ envtrl_i2c_test_pin(); /* CSR 0 means acknowledged. */ - if (!(envctrl_readb(&i2c->csr) & STATUS_LRB)) { - return envctrl_readb(&i2c->data); + if (!(readb(i2c + PCF8584_CSR) & STATUS_LRB)) { + return readb(i2c + PCF8584_DATA); } else { - envctrl_writeb(OBD_SEND_STOP, &i2c->csr); + writeb(OBD_SEND_STOP, i2c + PCF8584_CSR); return 0; } } @@ -269,10 +251,10 @@ static int envctrl_i2c_read_addr(unsigned char addr) static void envctrl_i2c_write_addr(unsigned char addr) { envctrl_i2c_test_bb(); - envctrl_writeb(addr, &i2c->data); + writeb(addr, i2c + PCF8584_DATA); /* Generate Start condition. */ - envctrl_writeb(OBD_SEND_START, &i2c->csr); + writeb(OBD_SEND_START, i2c + PCF8584_CSR); } /* Function Description: Read 1 byte of data from addr @@ -282,8 +264,8 @@ static void envctrl_i2c_write_addr(unsigned char addr) static unsigned char envctrl_i2c_read_data(void) { envtrl_i2c_test_pin(); - envctrl_writeb(CONTROL_ES0, &i2c->csr); /* Send neg ack. */ - return envctrl_readb(&i2c->data); + writeb(CONTROL_ES0, i2c + PCF8584_CSR); /* Send neg ack. */ + return readb(i2c + PCF8584_DATA); } /* Function Description: Instruct the device which port to read data from. @@ -292,7 +274,7 @@ static unsigned char envctrl_i2c_read_data(void) static void envctrl_i2c_write_data(unsigned char port) { envtrl_i2c_test_pin(); - envctrl_writeb(port, &i2c->data); + writeb(port, i2c + PCF8584_DATA); } /* Function Description: Generate Stop condition after last byte is sent. @@ -301,7 +283,7 @@ static void envctrl_i2c_write_data(unsigned char port) static void envctrl_i2c_stop(void) { envtrl_i2c_test_pin(); - envctrl_writeb(OBD_SEND_STOP, &i2c->csr); + writeb(OBD_SEND_STOP, i2c + PCF8584_CSR); } /* Function Description: Read adc device. @@ -323,7 +305,7 @@ static unsigned char envctrl_i2c_read_8591(unsigned char addr, unsigned char por envctrl_i2c_read_data(); envctrl_i2c_stop(); - return envctrl_readb(&i2c->data); + return readb(i2c + PCF8584_DATA); } /* Function Description: Read gpio device. @@ -1084,8 +1066,7 @@ static int __init envctrl_init(void) for_each_ebus(ebus) { for_each_ebusdev(edev, ebus) { if (!strcmp(edev->prom_name, "i2c")) { - i2c = ioremap( edev->resource[0].start, - sizeof(struct pcf8584_reg)); + i2c = ioremap(edev->resource[0].start, 0x2); for_each_edevchild(edev, edev_child) { if (!strcmp("gpio", edev_child->prom_name)) { i2c_childlist[i].i2ctype = I2C_GPIO; @@ -1108,15 +1089,15 @@ done: } /* Set device address. */ - envctrl_writeb(CONTROL_PIN, &i2c->csr); - envctrl_writeb(PCF8584_ADDRESS, &i2c->data); + writeb(CONTROL_PIN, i2c + PCF8584_CSR); + writeb(PCF8584_ADDRESS, i2c + PCF8584_DATA); /* Set system clock and SCL frequencies. */ - envctrl_writeb(CONTROL_PIN | CONTROL_ES1, &i2c->csr); - envctrl_writeb(CLK_4_43 | BUS_CLK_90, &i2c->data); + writeb(CONTROL_PIN | CONTROL_ES1, i2c + PCF8584_CSR); + writeb(CLK_4_43 | BUS_CLK_90, i2c + PCF8584_DATA); /* Enable serial interface. */ - envctrl_writeb(CONTROL_PIN | CONTROL_ES0 | CONTROL_ACK, &i2c->csr); + writeb(CONTROL_PIN | CONTROL_ES0 | CONTROL_ACK, i2c + PCF8584_CSR); udelay(200); /* Register the device as a minor miscellaneous device. */ diff --git a/drivers/sbus/char/flash.c b/drivers/sbus/char/flash.c index f35cb3276..0d4295044 100644 --- a/drivers/sbus/char/flash.c +++ b/drivers/sbus/char/flash.c @@ -22,6 +22,7 @@ #include #include #include +#include static spinlock_t flash_lock = SPIN_LOCK_UNLOCKED; static struct { @@ -115,7 +116,7 @@ flash_read(struct file * file, char __user * buf, count = flash.read_size - p; for (i = 0; i < count; i++) { - u8 data = readb(flash.read_base + p + i); + u8 data = upa_readb(flash.read_base + p + i); if (put_user(data, buf)) return -EFAULT; buf++; diff --git a/drivers/sbus/dvma.c b/drivers/sbus/dvma.c index c095308db..378a1d680 100644 --- a/drivers/sbus/dvma.c +++ b/drivers/sbus/dvma.c @@ -17,14 +17,6 @@ struct sbus_dma *dma_chain; -/* Print out the current values in the DMA control registers */ -extern __inline__ void dump_dma_regs(unsigned long dregs) -{ - printk("DMA CONTROL<%08x> ADDR<%08x> CNT<%08x> TEST<%08x>\n", - sbus_readl(dregs + DMA_CSR), sbus_readl(dregs + DMA_ADDR), - sbus_readl(dregs + DMA_COUNT), sbus_readl(dregs + DMA_TEST)); -} - void __init init_one_dvma(struct sbus_dma *dma, int num_dma) { printk("dma%d: ", num_dma); @@ -64,9 +56,6 @@ void __init init_one_dvma(struct sbus_dma *dma, int num_dma) break; } printk("\n"); -#if 0 /* Clutters up the screen */ - dump_dma_regs(dma->regs); -#endif } /* Probe this SBus DMA module(s) */ diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c index b8731f204..dda684df0 100644 --- a/drivers/scsi/3w-xxxx.c +++ b/drivers/scsi/3w-xxxx.c @@ -248,7 +248,7 @@ static struct file_operations tw_fops = { }; /* Globals */ -char *tw_driver_version="1.26.00.039"; +#define TW_DRIVER_VERSION "1.26.00.039" TW_Device_Extension *tw_device_extension_list[TW_MAX_SLOT]; int tw_device_extension_count = 0; static int twe_major = -1; @@ -257,6 +257,7 @@ static int cmds_per_lun; /* Module parameters */ module_param(cmds_per_lun, int, 0); MODULE_PARM_DESC(cmds_per_lun, "Maximum commands per LUN"); +MODULE_VERSION(TW_DRIVER_VERSION); /* Functions */ @@ -551,7 +552,7 @@ int tw_aen_read_queue(TW_Device_Extension *tw_dev, int request_id) /* Now post the command packet */ if ((status_reg_value & TW_STATUS_COMMAND_QUEUE_FULL) == 0) { dprintk(KERN_WARNING "3w-xxxx: tw_aen_read_queue(): Post succeeded.\n"); - tw_dev->srb[request_id] = 0; /* Flag internal command */ + tw_dev->srb[request_id] = NULL; /* Flag internal command */ tw_dev->state[request_id] = TW_S_POSTED; outl(command_que_value, command_que_addr); } else { @@ -718,7 +719,7 @@ static int tw_chrdev_ioctl(struct inode *inode, struct file *file, unsigned int tw_state_request_start(tw_dev, &request_id); /* Flag internal command */ - tw_dev->srb[request_id] = 0; + tw_dev->srb[request_id] = NULL; /* Flag chrdev ioctl */ tw_dev->chrdev_request_id = request_id; @@ -2406,7 +2407,7 @@ int tw_scsi_detect(Scsi_Host_Template *tw_host) dprintk(KERN_NOTICE "3w-xxxx: tw_scsi_detect()\n"); - printk(KERN_WARNING "3ware Storage Controller device driver for Linux v%s.\n", tw_driver_version); + printk(KERN_WARNING "3ware Storage Controller device driver for Linux v%s.\n", TW_DRIVER_VERSION); ret = tw_findcards(tw_host); @@ -2569,7 +2570,7 @@ int tw_scsi_proc_info(struct Scsi_Host *shost, char *buffer, char **start, *start = buffer; } tw_copy_info(&info, "scsi%d: 3ware Storage Controller\n", shost->host_no); - tw_copy_info(&info, "Driver version: %s\n", tw_driver_version); + tw_copy_info(&info, "Driver version: %s\n", TW_DRIVER_VERSION); tw_copy_info(&info, "Current commands posted: %3d\n", tw_dev->posted_request_count); tw_copy_info(&info, "Max commands posted: %3d\n", tw_dev->max_posted_request_count); tw_copy_info(&info, "Current pending commands: %3d\n", tw_dev->pending_request_count); @@ -2692,7 +2693,7 @@ int tw_scsi_release(struct Scsi_Host *tw_host) /* Fake like we just shut down, so notify the card that * we "shut down cleanly". */ - tw_halt(0, 0, 0); // parameters aren't actually used + tw_halt(NULL, 0, NULL); // parameters aren't actually used /* Free up the IO region */ release_region((tw_dev->tw_pci_dev->resource[0].start), TW_IO_ADDRESS_RANGE); @@ -2796,7 +2797,7 @@ int tw_scsiop_inquiry_complete(TW_Device_Extension *tw_dev, int request_id) request_buffer[4] = 31; /* Additional length */ memcpy(&request_buffer[8], "3ware ", 8); /* Vendor ID */ sprintf(&request_buffer[16], "Logical Disk %-2d ", tw_dev->srb[request_id]->device->id); - memcpy(&request_buffer[32], tw_driver_version, 3); + memcpy(&request_buffer[32], TW_DRIVER_VERSION, 3); param = (TW_Param *)tw_dev->alignment_virtual_address[request_id]; if (param == NULL) { diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index 1495f0f8d..2ab94819b 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c @@ -287,8 +287,9 @@ NCR_700_get_SXFER(struct scsi_device *SDp) struct NCR_700_Host_Parameters *hostdata = (struct NCR_700_Host_Parameters *)SDp->host->hostdata[0]; - return NCR_700_offset_period_to_sxfer(hostdata, spi_offset(SDp), - spi_period(SDp)); + return NCR_700_offset_period_to_sxfer(hostdata, + spi_offset(SDp->sdev_target), + spi_period(SDp->sdev_target)); } struct Scsi_Host * @@ -403,6 +404,8 @@ NCR_700_detect(struct scsi_host_template *tpnt, (hostdata->fast ? "53c700-66" : "53c700"), hostdata->rev, hostdata->differential ? "(Differential)" : ""); + spi_signalling(host) = hostdata->differential ? SPI_SIGNAL_HVD : + SPI_SIGNAL_SE; /* reset the chip */ NCR_700_chip_reset(host); @@ -803,7 +806,7 @@ process_extended_message(struct Scsi_Host *host, } if(NCR_700_is_flag_set(SCp->device, NCR_700_DEV_PRINT_SYNC_NEGOTIATION)) { - if(spi_offset(SCp->device) != 0) + if(spi_offset(SCp->device->sdev_target) != 0) printk(KERN_INFO "scsi%d: (%d:%d) Synchronous at offset %d, period %dns\n", host->host_no, pun, lun, offset, period*4); @@ -813,8 +816,8 @@ process_extended_message(struct Scsi_Host *host, NCR_700_clear_flag(SCp->device, NCR_700_DEV_PRINT_SYNC_NEGOTIATION); } - spi_offset(SCp->device) = offset; - spi_period(SCp->device) = period; + spi_offset(SCp->device->sdev_target) = offset; + spi_period(SCp->device->sdev_target) = period; NCR_700_set_flag(SCp->device, NCR_700_DEV_NEGOTIATED_SYNC); @@ -894,7 +897,8 @@ process_message(struct Scsi_Host *host, struct NCR_700_Host_Parameters *hostdata case A_REJECT_MSG: if(SCp != NULL && NCR_700_is_flag_set(SCp->device, NCR_700_DEV_BEGIN_SYNC_NEGOTIATION)) { /* Rejected our sync negotiation attempt */ - spi_period(SCp->device) = spi_offset(SCp->device) = 0; + spi_period(SCp->device->sdev_target) = + spi_offset(SCp->device->sdev_target) = 0; NCR_700_set_flag(SCp->device, NCR_700_DEV_NEGOTIATED_SYNC); NCR_700_clear_flag(SCp->device, NCR_700_DEV_BEGIN_SYNC_NEGOTIATION); } else if(SCp != NULL && NCR_700_is_flag_set(SCp->device, NCR_700_DEV_BEGIN_TAG_QUEUEING)) { @@ -1420,8 +1424,8 @@ NCR_700_start_command(struct scsi_cmnd *SCp) NCR_700_is_flag_clear(SCp->device, NCR_700_DEV_NEGOTIATED_SYNC)) { memcpy(&hostdata->msgout[count], NCR_700_SDTR_msg, sizeof(NCR_700_SDTR_msg)); - hostdata->msgout[count+3] = spi_period(SCp->device); - hostdata->msgout[count+4] = spi_offset(SCp->device); + hostdata->msgout[count+3] = spi_period(SCp->device->sdev_target); + hostdata->msgout[count+4] = spi_offset(SCp->device->sdev_target); count += sizeof(NCR_700_SDTR_msg); NCR_700_set_flag(SCp->device, NCR_700_DEV_BEGIN_SYNC_NEGOTIATION); } @@ -1999,10 +2003,11 @@ NCR_700_host_reset(struct scsi_cmnd * SCp) } STATIC void -NCR_700_set_period(struct scsi_device *SDp, int period) +NCR_700_set_period(struct scsi_target *STp, int period) { + struct Scsi_Host *SHp = dev_to_shost(STp->dev.parent); struct NCR_700_Host_Parameters *hostdata = - (struct NCR_700_Host_Parameters *)SDp->host->hostdata[0]; + (struct NCR_700_Host_Parameters *)SHp->hostdata[0]; if(!hostdata->fast) return; @@ -2010,17 +2015,18 @@ NCR_700_set_period(struct scsi_device *SDp, int period) if(period < hostdata->min_period) period = hostdata->min_period; - spi_period(SDp) = period; - NCR_700_clear_flag(SDp, NCR_700_DEV_NEGOTIATED_SYNC); - NCR_700_clear_flag(SDp, NCR_700_DEV_BEGIN_SYNC_NEGOTIATION); - NCR_700_set_flag(SDp, NCR_700_DEV_PRINT_SYNC_NEGOTIATION); + spi_period(STp) = period; + spi_flags(STp) &= ~(NCR_700_DEV_NEGOTIATED_SYNC | + NCR_700_DEV_BEGIN_SYNC_NEGOTIATION); + spi_flags(STp) |= NCR_700_DEV_PRINT_SYNC_NEGOTIATION; } STATIC void -NCR_700_set_offset(struct scsi_device *SDp, int offset) +NCR_700_set_offset(struct scsi_target *STp, int offset) { + struct Scsi_Host *SHp = dev_to_shost(STp->dev.parent); struct NCR_700_Host_Parameters *hostdata = - (struct NCR_700_Host_Parameters *)SDp->host->hostdata[0]; + (struct NCR_700_Host_Parameters *)SHp->hostdata[0]; int max_offset = hostdata->chip710 ? NCR_710_MAX_OFFSET : NCR_700_MAX_OFFSET; @@ -2031,14 +2037,14 @@ NCR_700_set_offset(struct scsi_device *SDp, int offset) offset = max_offset; /* if we're currently async, make sure the period is reasonable */ - if(spi_offset(SDp) == 0 && (spi_period(SDp) < hostdata->min_period || - spi_period(SDp) > 0xff)) - spi_period(SDp) = hostdata->min_period; - - spi_offset(SDp) = offset; - NCR_700_clear_flag(SDp, NCR_700_DEV_NEGOTIATED_SYNC); - NCR_700_clear_flag(SDp, NCR_700_DEV_BEGIN_SYNC_NEGOTIATION); - NCR_700_set_flag(SDp, NCR_700_DEV_PRINT_SYNC_NEGOTIATION); + if(spi_offset(STp) == 0 && (spi_period(STp) < hostdata->min_period || + spi_period(STp) > 0xff)) + spi_period(STp) = hostdata->min_period; + + spi_offset(STp) = offset; + spi_flags(STp) &= ~(NCR_700_DEV_NEGOTIATED_SYNC | + NCR_700_DEV_BEGIN_SYNC_NEGOTIATION); + spi_flags(STp) |= NCR_700_DEV_PRINT_SYNC_NEGOTIATION; } @@ -2058,10 +2064,11 @@ NCR_700_slave_configure(struct scsi_device *SDp) } if(hostdata->fast) { /* Find the correct offset and period via domain validation */ - spi_dv_device(SDp); + if (!spi_initial_dv(SDp->sdev_target)) + spi_dv_device(SDp); } else { - spi_offset(SDp) = 0; - spi_period(SDp) = 0; + spi_offset(SDp->sdev_target) = 0; + spi_period(SDp->sdev_target) = 0; } return 0; } diff --git a/drivers/scsi/53c700.h b/drivers/scsi/53c700.h index b357a4aeb..da3b10a73 100644 --- a/drivers/scsi/53c700.h +++ b/drivers/scsi/53c700.h @@ -121,22 +121,22 @@ NCR_700_get_depth(struct scsi_device *SDp) static inline int NCR_700_is_flag_set(struct scsi_device *SDp, __u32 flag) { - return (((unsigned long)SDp->hostdata) & flag) == flag; + return (spi_flags(SDp->sdev_target) & flag) == flag; } static inline int NCR_700_is_flag_clear(struct scsi_device *SDp, __u32 flag) { - return (((unsigned long)SDp->hostdata) & flag) == 0; + return (spi_flags(SDp->sdev_target) & flag) == 0; } static inline void NCR_700_set_flag(struct scsi_device *SDp, __u32 flag) { - SDp->hostdata = (void *)((long)SDp->hostdata | (flag & 0xffff0000)); + spi_flags(SDp->sdev_target) |= flag; } static inline void NCR_700_clear_flag(struct scsi_device *SDp, __u32 flag) { - SDp->hostdata = (void *)((long)SDp->hostdata & ~(flag & 0xffff0000)); + spi_flags(SDp->sdev_target) &= ~flag; } struct NCR_700_command_slot { diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c index e4d60d1d1..06faeb228 100644 --- a/drivers/scsi/BusLogic.c +++ b/drivers/scsi/BusLogic.c @@ -142,11 +142,8 @@ static char *BusLogic_CommandFailureReason; static void BusLogic_AnnounceDriver(struct BusLogic_HostAdapter *HostAdapter) { - BusLogic_Announce("***** BusLogic SCSI Driver Version " - BusLogic_DriverVersion " of " - BusLogic_DriverDate " *****\n", HostAdapter); - BusLogic_Announce("Copyright 1995-1998 by Leonard N. Zubkoff " - "\n", HostAdapter); + BusLogic_Announce("***** BusLogic SCSI Driver Version " BusLogic_DriverVersion " of " BusLogic_DriverDate " *****\n", HostAdapter); + BusLogic_Announce("Copyright 1995-1998 by Leonard N. Zubkoff " "\n", HostAdapter); } @@ -157,9 +154,8 @@ static void BusLogic_AnnounceDriver(struct BusLogic_HostAdapter *HostAdapter) static const char *BusLogic_DriverInfo(struct Scsi_Host *Host) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) Host->hostdata; - return HostAdapter->FullModelName; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) Host->hostdata; + return HostAdapter->FullModelName; } @@ -170,17 +166,14 @@ static const char *BusLogic_DriverInfo(struct Scsi_Host *Host) static void __init BusLogic_RegisterHostAdapter(struct BusLogic_HostAdapter *HostAdapter) { - HostAdapter->Next = NULL; - if (BusLogic_FirstRegisteredHostAdapter == NULL) - { - BusLogic_FirstRegisteredHostAdapter = HostAdapter; - BusLogic_LastRegisteredHostAdapter = HostAdapter; - } - else - { - BusLogic_LastRegisteredHostAdapter->Next = HostAdapter; - BusLogic_LastRegisteredHostAdapter = HostAdapter; - } + HostAdapter->Next = NULL; + if (BusLogic_FirstRegisteredHostAdapter == NULL) { + BusLogic_FirstRegisteredHostAdapter = HostAdapter; + BusLogic_LastRegisteredHostAdapter = HostAdapter; + } else { + BusLogic_LastRegisteredHostAdapter->Next = HostAdapter; + BusLogic_LastRegisteredHostAdapter = HostAdapter; + } } @@ -191,24 +184,18 @@ static void __init BusLogic_RegisterHostAdapter(struct BusLogic_HostAdapter *Hos static void BusLogic_UnregisterHostAdapter(struct BusLogic_HostAdapter *HostAdapter) { - if (HostAdapter == BusLogic_FirstRegisteredHostAdapter) - { - BusLogic_FirstRegisteredHostAdapter = - BusLogic_FirstRegisteredHostAdapter->Next; - if (HostAdapter == BusLogic_LastRegisteredHostAdapter) - BusLogic_LastRegisteredHostAdapter = NULL; - } - else - { - struct BusLogic_HostAdapter *PreviousHostAdapter = - BusLogic_FirstRegisteredHostAdapter; - while (PreviousHostAdapter != NULL && - PreviousHostAdapter->Next != HostAdapter) - PreviousHostAdapter = PreviousHostAdapter->Next; - if (PreviousHostAdapter != NULL) - PreviousHostAdapter->Next = HostAdapter->Next; - } - HostAdapter->Next = NULL; + if (HostAdapter == BusLogic_FirstRegisteredHostAdapter) { + BusLogic_FirstRegisteredHostAdapter = BusLogic_FirstRegisteredHostAdapter->Next; + if (HostAdapter == BusLogic_LastRegisteredHostAdapter) + BusLogic_LastRegisteredHostAdapter = NULL; + } else { + struct BusLogic_HostAdapter *PreviousHostAdapter = BusLogic_FirstRegisteredHostAdapter; + while (PreviousHostAdapter != NULL && PreviousHostAdapter->Next != HostAdapter) + PreviousHostAdapter = PreviousHostAdapter->Next; + if (PreviousHostAdapter != NULL) + PreviousHostAdapter->Next = HostAdapter->Next; + } + HostAdapter->Next = NULL; } @@ -218,33 +205,29 @@ static void BusLogic_UnregisterHostAdapter(struct BusLogic_HostAdapter *HostAdap created CCBs are added to Host Adapter's free list. */ -static void BusLogic_InitializeCCBs(struct BusLogic_HostAdapter *HostAdapter, - void *BlockPointer, int BlockSize, - dma_addr_t BlockPointerHandle) +static void BusLogic_InitializeCCBs(struct BusLogic_HostAdapter *HostAdapter, void *BlockPointer, int BlockSize, dma_addr_t BlockPointerHandle) { - struct BusLogic_CCB *CCB = (struct BusLogic_CCB *) BlockPointer; - unsigned int offset = 0; - memset(BlockPointer, 0, BlockSize); - CCB->AllocationGroupHead = BlockPointerHandle; - CCB->AllocationGroupSize = BlockSize; - while ((BlockSize -= sizeof(struct BusLogic_CCB)) >= 0) - { - CCB->Status = BusLogic_CCB_Free; - CCB->HostAdapter = HostAdapter; - CCB->DMA_Handle = (u32)BlockPointerHandle + offset; - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) - { - CCB->CallbackFunction = BusLogic_QueueCompletedCCB; - CCB->BaseAddress = HostAdapter->FlashPointInfo.BaseAddress; + struct BusLogic_CCB *CCB = (struct BusLogic_CCB *) BlockPointer; + unsigned int offset = 0; + memset(BlockPointer, 0, BlockSize); + CCB->AllocationGroupHead = BlockPointerHandle; + CCB->AllocationGroupSize = BlockSize; + while ((BlockSize -= sizeof(struct BusLogic_CCB)) >= 0) { + CCB->Status = BusLogic_CCB_Free; + CCB->HostAdapter = HostAdapter; + CCB->DMA_Handle = (u32) BlockPointerHandle + offset; + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) { + CCB->CallbackFunction = BusLogic_QueueCompletedCCB; + CCB->BaseAddress = HostAdapter->FlashPointInfo.BaseAddress; + } + CCB->Next = HostAdapter->Free_CCBs; + CCB->NextAll = HostAdapter->All_CCBs; + HostAdapter->Free_CCBs = CCB; + HostAdapter->All_CCBs = CCB; + HostAdapter->AllocatedCCBs++; + CCB++; + offset += sizeof(struct BusLogic_CCB); } - CCB->Next = HostAdapter->Free_CCBs; - CCB->NextAll = HostAdapter->All_CCBs; - HostAdapter->Free_CCBs = CCB; - HostAdapter->All_CCBs = CCB; - HostAdapter->AllocatedCCBs++; - CCB++; - offset += sizeof(struct BusLogic_CCB); - } } @@ -254,23 +237,18 @@ static void BusLogic_InitializeCCBs(struct BusLogic_HostAdapter *HostAdapter, static boolean __init BusLogic_CreateInitialCCBs(struct BusLogic_HostAdapter *HostAdapter) { - int BlockSize = BusLogic_CCB_AllocationGroupSize * sizeof(struct BusLogic_CCB); - void *BlockPointer; - dma_addr_t BlockPointerHandle; - while (HostAdapter->AllocatedCCBs < HostAdapter->InitialCCBs) - { - BlockPointer = pci_alloc_consistent(HostAdapter->PCI_Device, BlockSize, - &BlockPointerHandle); - if (BlockPointer == NULL) - { - BusLogic_Error("UNABLE TO ALLOCATE CCB GROUP - DETACHING\n", - HostAdapter); - return false; + int BlockSize = BusLogic_CCB_AllocationGroupSize * sizeof(struct BusLogic_CCB); + void *BlockPointer; + dma_addr_t BlockPointerHandle; + while (HostAdapter->AllocatedCCBs < HostAdapter->InitialCCBs) { + BlockPointer = pci_alloc_consistent(HostAdapter->PCI_Device, BlockSize, &BlockPointerHandle); + if (BlockPointer == NULL) { + BusLogic_Error("UNABLE TO ALLOCATE CCB GROUP - DETACHING\n", HostAdapter); + return false; + } + BusLogic_InitializeCCBs(HostAdapter, BlockPointer, BlockSize, BlockPointerHandle); } - BusLogic_InitializeCCBs(HostAdapter, BlockPointer, BlockSize, - BlockPointerHandle); - } - return true; + return true; } @@ -280,25 +258,19 @@ static boolean __init BusLogic_CreateInitialCCBs(struct BusLogic_HostAdapter *Ho static void BusLogic_DestroyCCBs(struct BusLogic_HostAdapter *HostAdapter) { - struct BusLogic_CCB *NextCCB = HostAdapter->All_CCBs, *CCB, *Last_CCB = NULL; - HostAdapter->All_CCBs = NULL; - HostAdapter->Free_CCBs = NULL; - while ((CCB = NextCCB) != NULL) - { - NextCCB = CCB->NextAll; - if (CCB->AllocationGroupHead) - { - if (Last_CCB) - pci_free_consistent(HostAdapter->PCI_Device, - Last_CCB->AllocationGroupSize, Last_CCB, - Last_CCB->AllocationGroupHead); - Last_CCB = CCB; + struct BusLogic_CCB *NextCCB = HostAdapter->All_CCBs, *CCB, *Last_CCB = NULL; + HostAdapter->All_CCBs = NULL; + HostAdapter->Free_CCBs = NULL; + while ((CCB = NextCCB) != NULL) { + NextCCB = CCB->NextAll; + if (CCB->AllocationGroupHead) { + if (Last_CCB) + pci_free_consistent(HostAdapter->PCI_Device, Last_CCB->AllocationGroupSize, Last_CCB, Last_CCB->AllocationGroupHead); + Last_CCB = CCB; + } } - } - if (Last_CCB) - pci_free_consistent(HostAdapter->PCI_Device, - Last_CCB->AllocationGroupSize, Last_CCB, - Last_CCB->AllocationGroupHead); + if (Last_CCB) + pci_free_consistent(HostAdapter->PCI_Device, Last_CCB->AllocationGroupSize, Last_CCB, Last_CCB->AllocationGroupHead); } @@ -309,40 +281,30 @@ static void BusLogic_DestroyCCBs(struct BusLogic_HostAdapter *HostAdapter) multiple host adapters share the same IRQ Channel. */ -static void BusLogic_CreateAdditionalCCBs(struct BusLogic_HostAdapter *HostAdapter, - int AdditionalCCBs, - boolean SuccessMessageP) +static void BusLogic_CreateAdditionalCCBs(struct BusLogic_HostAdapter *HostAdapter, int AdditionalCCBs, boolean SuccessMessageP) { - int BlockSize = BusLogic_CCB_AllocationGroupSize * sizeof(struct BusLogic_CCB); - int PreviouslyAllocated = HostAdapter->AllocatedCCBs; - void *BlockPointer; - dma_addr_t BlockPointerHandle; - if (AdditionalCCBs <= 0) return; - while (HostAdapter->AllocatedCCBs - PreviouslyAllocated < AdditionalCCBs) - { - BlockPointer = pci_alloc_consistent(HostAdapter->PCI_Device, BlockSize, - &BlockPointerHandle); - if (BlockPointer == NULL) break; - BusLogic_InitializeCCBs(HostAdapter, BlockPointer, BlockSize, - BlockPointerHandle); - } - if (HostAdapter->AllocatedCCBs > PreviouslyAllocated) - { - if (SuccessMessageP) - BusLogic_Notice("Allocated %d additional CCBs (total now %d)\n", - HostAdapter, - HostAdapter->AllocatedCCBs - PreviouslyAllocated, - HostAdapter->AllocatedCCBs); - return; - } - BusLogic_Notice("Failed to allocate additional CCBs\n", HostAdapter); - if (HostAdapter->DriverQueueDepth > - HostAdapter->AllocatedCCBs - HostAdapter->TargetDeviceCount) - { - HostAdapter->DriverQueueDepth = - HostAdapter->AllocatedCCBs - HostAdapter->TargetDeviceCount; - HostAdapter->SCSI_Host->can_queue = HostAdapter->DriverQueueDepth; - } + int BlockSize = BusLogic_CCB_AllocationGroupSize * sizeof(struct BusLogic_CCB); + int PreviouslyAllocated = HostAdapter->AllocatedCCBs; + void *BlockPointer; + dma_addr_t BlockPointerHandle; + if (AdditionalCCBs <= 0) + return; + while (HostAdapter->AllocatedCCBs - PreviouslyAllocated < AdditionalCCBs) { + BlockPointer = pci_alloc_consistent(HostAdapter->PCI_Device, BlockSize, &BlockPointerHandle); + if (BlockPointer == NULL) + break; + BusLogic_InitializeCCBs(HostAdapter, BlockPointer, BlockSize, BlockPointerHandle); + } + if (HostAdapter->AllocatedCCBs > PreviouslyAllocated) { + if (SuccessMessageP) + BusLogic_Notice("Allocated %d additional CCBs (total now %d)\n", HostAdapter, HostAdapter->AllocatedCCBs - PreviouslyAllocated, HostAdapter->AllocatedCCBs); + return; + } + BusLogic_Notice("Failed to allocate additional CCBs\n", HostAdapter); + if (HostAdapter->DriverQueueDepth > HostAdapter->AllocatedCCBs - HostAdapter->TargetDeviceCount) { + HostAdapter->DriverQueueDepth = HostAdapter->AllocatedCCBs - HostAdapter->TargetDeviceCount; + HostAdapter->SCSI_Host->can_queue = HostAdapter->DriverQueueDepth; + } } /* @@ -352,31 +314,27 @@ static void BusLogic_CreateAdditionalCCBs(struct BusLogic_HostAdapter *HostAdapt */ static struct BusLogic_CCB *BusLogic_AllocateCCB(struct BusLogic_HostAdapter - *HostAdapter) + *HostAdapter) { - static unsigned long SerialNumber = 0; - struct BusLogic_CCB *CCB; - CCB = HostAdapter->Free_CCBs; - if (CCB != NULL) - { - CCB->SerialNumber = ++SerialNumber; - HostAdapter->Free_CCBs = CCB->Next; - CCB->Next = NULL; - if (HostAdapter->Free_CCBs == NULL) - BusLogic_CreateAdditionalCCBs(HostAdapter, - HostAdapter->IncrementalCCBs, - true); - return CCB; - } - BusLogic_CreateAdditionalCCBs(HostAdapter, - HostAdapter->IncrementalCCBs, - true); - CCB = HostAdapter->Free_CCBs; - if (CCB == NULL) return NULL; - CCB->SerialNumber = ++SerialNumber; - HostAdapter->Free_CCBs = CCB->Next; - CCB->Next = NULL; - return CCB; + static unsigned long SerialNumber = 0; + struct BusLogic_CCB *CCB; + CCB = HostAdapter->Free_CCBs; + if (CCB != NULL) { + CCB->SerialNumber = ++SerialNumber; + HostAdapter->Free_CCBs = CCB->Next; + CCB->Next = NULL; + if (HostAdapter->Free_CCBs == NULL) + BusLogic_CreateAdditionalCCBs(HostAdapter, HostAdapter->IncrementalCCBs, true); + return CCB; + } + BusLogic_CreateAdditionalCCBs(HostAdapter, HostAdapter->IncrementalCCBs, true); + CCB = HostAdapter->Free_CCBs; + if (CCB == NULL) + return NULL; + CCB->SerialNumber = ++SerialNumber; + HostAdapter->Free_CCBs = CCB->Next; + CCB->Next = NULL; + return CCB; } @@ -388,26 +346,17 @@ static struct BusLogic_CCB *BusLogic_AllocateCCB(struct BusLogic_HostAdapter static void BusLogic_DeallocateCCB(struct BusLogic_CCB *CCB) { - struct BusLogic_HostAdapter *HostAdapter = CCB->HostAdapter; - if (CCB->Command->use_sg != 0) - { - pci_unmap_sg(HostAdapter->PCI_Device, - (struct scatterlist *)CCB->Command->request_buffer, - CCB->Command->use_sg, - scsi_to_pci_dma_dir(CCB->Command->sc_data_direction)); - } - else if (CCB->Command->request_bufflen != 0) - { - pci_unmap_single(HostAdapter->PCI_Device, CCB->DataPointer, - CCB->DataLength, - scsi_to_pci_dma_dir(CCB->Command->sc_data_direction)); - } - pci_unmap_single(HostAdapter->PCI_Device, CCB->SenseDataPointer, - CCB->SenseDataLength, PCI_DMA_FROMDEVICE); - CCB->Command = NULL; - CCB->Status = BusLogic_CCB_Free; - CCB->Next = HostAdapter->Free_CCBs; - HostAdapter->Free_CCBs = CCB; + struct BusLogic_HostAdapter *HostAdapter = CCB->HostAdapter; + if (CCB->Command->use_sg != 0) { + pci_unmap_sg(HostAdapter->PCI_Device, (struct scatterlist *) CCB->Command->request_buffer, CCB->Command->use_sg, scsi_to_pci_dma_dir(CCB->Command->sc_data_direction)); + } else if (CCB->Command->request_bufflen != 0) { + pci_unmap_single(HostAdapter->PCI_Device, CCB->DataPointer, CCB->DataLength, scsi_to_pci_dma_dir(CCB->Command->sc_data_direction)); + } + pci_unmap_single(HostAdapter->PCI_Device, CCB->SenseDataPointer, CCB->SenseDataLength, PCI_DMA_FROMDEVICE); + CCB->Command = NULL; + CCB->Status = BusLogic_CCB_Free; + CCB->Next = HostAdapter->Free_CCBs; + HostAdapter->Free_CCBs = CCB; } @@ -429,228 +378,205 @@ static void BusLogic_DeallocateCCB(struct BusLogic_CCB *CCB) waiting for the Host Adapter Ready bit to be set in the Status Register. */ -static int BusLogic_Command(struct BusLogic_HostAdapter *HostAdapter, - enum BusLogic_OperationCode OperationCode, - void *ParameterData, - int ParameterLength, - void *ReplyData, - int ReplyLength) +static int BusLogic_Command(struct BusLogic_HostAdapter *HostAdapter, enum BusLogic_OperationCode OperationCode, void *ParameterData, int ParameterLength, void *ReplyData, int ReplyLength) { - unsigned char *ParameterPointer = (unsigned char *) ParameterData; - unsigned char *ReplyPointer = (unsigned char *) ReplyData; - union BusLogic_StatusRegister StatusRegister; - union BusLogic_InterruptRegister InterruptRegister; - unsigned long ProcessorFlags = 0; - int ReplyBytes = 0, Result; - long TimeoutCounter; - /* - Clear out the Reply Data if provided. - */ - if (ReplyLength > 0) - memset(ReplyData, 0, ReplyLength); - /* - If the IRQ Channel has not yet been acquired, then interrupts must be - disabled while issuing host adapter commands since a Command Complete - interrupt could occur if the IRQ Channel was previously enabled by another - BusLogic Host Adapter or another driver sharing the same IRQ Channel. - */ - if (!HostAdapter->IRQ_ChannelAcquired) - { - local_irq_save(ProcessorFlags); - local_irq_disable(); - } - /* - Wait for the Host Adapter Ready bit to be set and the Command/Parameter - Register Busy bit to be reset in the Status Register. - */ - TimeoutCounter = 10000; - while (--TimeoutCounter >= 0) - { - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (StatusRegister.sr.HostAdapterReady && - !StatusRegister.sr.CommandParameterRegisterBusy) - break; - udelay(100); - } - if (TimeoutCounter < 0) - { - BusLogic_CommandFailureReason = "Timeout waiting for Host Adapter Ready"; - Result = -2; - goto Done; - } - /* - Write the OperationCode to the Command/Parameter Register. - */ - HostAdapter->HostAdapterCommandCompleted = false; - BusLogic_WriteCommandParameterRegister(HostAdapter, OperationCode); - /* - Write any additional Parameter Bytes. - */ - TimeoutCounter = 10000; - while (ParameterLength > 0 && --TimeoutCounter >= 0) - { - /* - Wait 100 microseconds to give the Host Adapter enough time to determine - whether the last value written to the Command/Parameter Register was - valid or not. If the Command Complete bit is set in the Interrupt - Register, then the Command Invalid bit in the Status Register will be - reset if the Operation Code or Parameter was valid and the command - has completed, or set if the Operation Code or Parameter was invalid. - If the Data In Register Ready bit is set in the Status Register, then - the Operation Code was valid, and data is waiting to be read back - from the Host Adapter. Otherwise, wait for the Command/Parameter - Register Busy bit in the Status Register to be reset. - */ - udelay(100); - InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (InterruptRegister.ir.CommandComplete) break; - if (HostAdapter->HostAdapterCommandCompleted) break; - if (StatusRegister.sr.DataInRegisterReady) break; - if (StatusRegister.sr.CommandParameterRegisterBusy) continue; - BusLogic_WriteCommandParameterRegister(HostAdapter, *ParameterPointer++); - ParameterLength--; - } - if (TimeoutCounter < 0) - { - BusLogic_CommandFailureReason = - "Timeout waiting for Parameter Acceptance"; - Result = -2; - goto Done; - } - /* - The Modify I/O Address command does not cause a Command Complete Interrupt. - */ - if (OperationCode == BusLogic_ModifyIOAddress) - { - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (StatusRegister.sr.CommandInvalid) - { - BusLogic_CommandFailureReason = "Modify I/O Address Invalid"; - Result = -1; - goto Done; + unsigned char *ParameterPointer = (unsigned char *) ParameterData; + unsigned char *ReplyPointer = (unsigned char *) ReplyData; + union BusLogic_StatusRegister StatusRegister; + union BusLogic_InterruptRegister InterruptRegister; + unsigned long ProcessorFlags = 0; + int ReplyBytes = 0, Result; + long TimeoutCounter; + /* + Clear out the Reply Data if provided. + */ + if (ReplyLength > 0) + memset(ReplyData, 0, ReplyLength); + /* + If the IRQ Channel has not yet been acquired, then interrupts must be + disabled while issuing host adapter commands since a Command Complete + interrupt could occur if the IRQ Channel was previously enabled by another + BusLogic Host Adapter or another driver sharing the same IRQ Channel. + */ + if (!HostAdapter->IRQ_ChannelAcquired) { + local_irq_save(ProcessorFlags); + local_irq_disable(); + } + /* + Wait for the Host Adapter Ready bit to be set and the Command/Parameter + Register Busy bit to be reset in the Status Register. + */ + TimeoutCounter = 10000; + while (--TimeoutCounter >= 0) { + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (StatusRegister.sr.HostAdapterReady && !StatusRegister.sr.CommandParameterRegisterBusy) + break; + udelay(100); + } + if (TimeoutCounter < 0) { + BusLogic_CommandFailureReason = "Timeout waiting for Host Adapter Ready"; + Result = -2; + goto Done; + } + /* + Write the OperationCode to the Command/Parameter Register. + */ + HostAdapter->HostAdapterCommandCompleted = false; + BusLogic_WriteCommandParameterRegister(HostAdapter, OperationCode); + /* + Write any additional Parameter Bytes. + */ + TimeoutCounter = 10000; + while (ParameterLength > 0 && --TimeoutCounter >= 0) { + /* + Wait 100 microseconds to give the Host Adapter enough time to determine + whether the last value written to the Command/Parameter Register was + valid or not. If the Command Complete bit is set in the Interrupt + Register, then the Command Invalid bit in the Status Register will be + reset if the Operation Code or Parameter was valid and the command + has completed, or set if the Operation Code or Parameter was invalid. + If the Data In Register Ready bit is set in the Status Register, then + the Operation Code was valid, and data is waiting to be read back + from the Host Adapter. Otherwise, wait for the Command/Parameter + Register Busy bit in the Status Register to be reset. + */ + udelay(100); + InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (InterruptRegister.ir.CommandComplete) + break; + if (HostAdapter->HostAdapterCommandCompleted) + break; + if (StatusRegister.sr.DataInRegisterReady) + break; + if (StatusRegister.sr.CommandParameterRegisterBusy) + continue; + BusLogic_WriteCommandParameterRegister(HostAdapter, *ParameterPointer++); + ParameterLength--; } - if (BusLogic_GlobalOptions.TraceConfiguration) - BusLogic_Notice("BusLogic_Command(%02X) Status = %02X: " - "(Modify I/O Address)\n", HostAdapter, - OperationCode, StatusRegister.All); - Result = 0; - goto Done; - } - /* - Select an appropriate timeout value for awaiting command completion. - */ - switch (OperationCode) - { - case BusLogic_InquireInstalledDevicesID0to7: - case BusLogic_InquireInstalledDevicesID8to15: - case BusLogic_InquireTargetDevices: - /* Approximately 60 seconds. */ - TimeoutCounter = 60*10000; - break; - default: - /* Approximately 1 second. */ - TimeoutCounter = 10000; - break; - } - /* - Receive any Reply Bytes, waiting for either the Command Complete bit to - be set in the Interrupt Register, or for the Interrupt Handler to set the - Host Adapter Command Completed bit in the Host Adapter structure. - */ - while (--TimeoutCounter >= 0) - { - InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (InterruptRegister.ir.CommandComplete) break; - if (HostAdapter->HostAdapterCommandCompleted) break; - if (StatusRegister.sr.DataInRegisterReady) - { - if (++ReplyBytes <= ReplyLength) - *ReplyPointer++ = BusLogic_ReadDataInRegister(HostAdapter); - else BusLogic_ReadDataInRegister(HostAdapter); + if (TimeoutCounter < 0) { + BusLogic_CommandFailureReason = "Timeout waiting for Parameter Acceptance"; + Result = -2; + goto Done; } - if (OperationCode == BusLogic_FetchHostAdapterLocalRAM && - StatusRegister.sr.HostAdapterReady) break; - udelay(100); - } - if (TimeoutCounter < 0) - { - BusLogic_CommandFailureReason = "Timeout waiting for Command Complete"; - Result = -2; - goto Done; - } - /* - Clear any pending Command Complete Interrupt. - */ - BusLogic_InterruptReset(HostAdapter); - /* - Provide tracing information if requested. - */ - if (BusLogic_GlobalOptions.TraceConfiguration) - { - int i; - BusLogic_Notice("BusLogic_Command(%02X) Status = %02X: %2d ==> %2d:", - HostAdapter, OperationCode, - StatusRegister.All, ReplyLength, ReplyBytes); - if (ReplyLength > ReplyBytes) ReplyLength = ReplyBytes; - for (i = 0; i < ReplyLength; i++) - BusLogic_Notice(" %02X", HostAdapter, - ((unsigned char *) ReplyData)[i]); - BusLogic_Notice("\n", HostAdapter); - } - /* - Process Command Invalid conditions. - */ - if (StatusRegister.sr.CommandInvalid) - { - /* - Some early BusLogic Host Adapters may not recover properly from - a Command Invalid condition, so if this appears to be the case, - a Soft Reset is issued to the Host Adapter. Potentially invalid - commands are never attempted after Mailbox Initialization is - performed, so there should be no Host Adapter state lost by a - Soft Reset in response to a Command Invalid condition. - */ - udelay(1000); - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (StatusRegister.sr.CommandInvalid || - StatusRegister.sr.Reserved || - StatusRegister.sr.DataInRegisterReady || - StatusRegister.sr.CommandParameterRegisterBusy || - !StatusRegister.sr.HostAdapterReady || - !StatusRegister.sr.InitializationRequired || - StatusRegister.sr.DiagnosticActive || - StatusRegister.sr.DiagnosticFailure) - { - BusLogic_SoftReset(HostAdapter); - udelay(1000); + /* + The Modify I/O Address command does not cause a Command Complete Interrupt. + */ + if (OperationCode == BusLogic_ModifyIOAddress) { + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (StatusRegister.sr.CommandInvalid) { + BusLogic_CommandFailureReason = "Modify I/O Address Invalid"; + Result = -1; + goto Done; + } + if (BusLogic_GlobalOptions.TraceConfiguration) + BusLogic_Notice("BusLogic_Command(%02X) Status = %02X: " "(Modify I/O Address)\n", HostAdapter, OperationCode, StatusRegister.All); + Result = 0; + goto Done; + } + /* + Select an appropriate timeout value for awaiting command completion. + */ + switch (OperationCode) { + case BusLogic_InquireInstalledDevicesID0to7: + case BusLogic_InquireInstalledDevicesID8to15: + case BusLogic_InquireTargetDevices: + /* Approximately 60 seconds. */ + TimeoutCounter = 60 * 10000; + break; + default: + /* Approximately 1 second. */ + TimeoutCounter = 10000; + break; } - BusLogic_CommandFailureReason = "Command Invalid"; - Result = -1; - goto Done; - } - /* - Handle Excess Parameters Supplied conditions. - */ - if (ParameterLength > 0) - { - BusLogic_CommandFailureReason = "Excess Parameters Supplied"; - Result = -1; - goto Done; - } - /* - Indicate the command completed successfully. - */ - BusLogic_CommandFailureReason = NULL; - Result = ReplyBytes; - /* - Restore the interrupt status if necessary and return. - */ -Done: - if (!HostAdapter->IRQ_ChannelAcquired) - local_irq_restore(ProcessorFlags); - return Result; + /* + Receive any Reply Bytes, waiting for either the Command Complete bit to + be set in the Interrupt Register, or for the Interrupt Handler to set the + Host Adapter Command Completed bit in the Host Adapter structure. + */ + while (--TimeoutCounter >= 0) { + InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (InterruptRegister.ir.CommandComplete) + break; + if (HostAdapter->HostAdapterCommandCompleted) + break; + if (StatusRegister.sr.DataInRegisterReady) { + if (++ReplyBytes <= ReplyLength) + *ReplyPointer++ = BusLogic_ReadDataInRegister(HostAdapter); + else + BusLogic_ReadDataInRegister(HostAdapter); + } + if (OperationCode == BusLogic_FetchHostAdapterLocalRAM && StatusRegister.sr.HostAdapterReady) + break; + udelay(100); + } + if (TimeoutCounter < 0) { + BusLogic_CommandFailureReason = "Timeout waiting for Command Complete"; + Result = -2; + goto Done; + } + /* + Clear any pending Command Complete Interrupt. + */ + BusLogic_InterruptReset(HostAdapter); + /* + Provide tracing information if requested. + */ + if (BusLogic_GlobalOptions.TraceConfiguration) { + int i; + BusLogic_Notice("BusLogic_Command(%02X) Status = %02X: %2d ==> %2d:", HostAdapter, OperationCode, StatusRegister.All, ReplyLength, ReplyBytes); + if (ReplyLength > ReplyBytes) + ReplyLength = ReplyBytes; + for (i = 0; i < ReplyLength; i++) + BusLogic_Notice(" %02X", HostAdapter, ((unsigned char *) ReplyData)[i]); + BusLogic_Notice("\n", HostAdapter); + } + /* + Process Command Invalid conditions. + */ + if (StatusRegister.sr.CommandInvalid) { + /* + Some early BusLogic Host Adapters may not recover properly from + a Command Invalid condition, so if this appears to be the case, + a Soft Reset is issued to the Host Adapter. Potentially invalid + commands are never attempted after Mailbox Initialization is + performed, so there should be no Host Adapter state lost by a + Soft Reset in response to a Command Invalid condition. + */ + udelay(1000); + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (StatusRegister.sr.CommandInvalid || + StatusRegister.sr.Reserved || + StatusRegister.sr.DataInRegisterReady || + StatusRegister.sr.CommandParameterRegisterBusy || !StatusRegister.sr.HostAdapterReady || !StatusRegister.sr.InitializationRequired || StatusRegister.sr.DiagnosticActive || StatusRegister.sr.DiagnosticFailure) { + BusLogic_SoftReset(HostAdapter); + udelay(1000); + } + BusLogic_CommandFailureReason = "Command Invalid"; + Result = -1; + goto Done; + } + /* + Handle Excess Parameters Supplied conditions. + */ + if (ParameterLength > 0) { + BusLogic_CommandFailureReason = "Excess Parameters Supplied"; + Result = -1; + goto Done; + } + /* + Indicate the command completed successfully. + */ + BusLogic_CommandFailureReason = NULL; + Result = ReplyBytes; + /* + Restore the interrupt status if necessary and return. + */ + Done: + if (!HostAdapter->IRQ_ChannelAcquired) + local_irq_restore(ProcessorFlags); + return Result; } @@ -662,13 +588,14 @@ Done: static void __init BusLogic_AppendProbeAddressISA(unsigned long IO_Address) { - struct BusLogic_ProbeInfo *ProbeInfo; - if (BusLogic_ProbeInfoCount >= BusLogic_MaxHostAdapters) return; - ProbeInfo = &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount++]; - ProbeInfo->HostAdapterType = BusLogic_MultiMaster; - ProbeInfo->HostAdapterBusType = BusLogic_ISA_Bus; - ProbeInfo->IO_Address = IO_Address; - ProbeInfo->PCI_Device = NULL; + struct BusLogic_ProbeInfo *ProbeInfo; + if (BusLogic_ProbeInfoCount >= BusLogic_MaxHostAdapters) + return; + ProbeInfo = &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount++]; + ProbeInfo->HostAdapterType = BusLogic_MultiMaster; + ProbeInfo->HostAdapterBusType = BusLogic_ISA_Bus; + ProbeInfo->IO_Address = IO_Address; + ProbeInfo->PCI_Device = NULL; } @@ -681,38 +608,27 @@ static void __init BusLogic_AppendProbeAddressISA(unsigned long IO_Address) static void __init BusLogic_InitializeProbeInfoListISA(struct BusLogic_HostAdapter *PrototypeHostAdapter) { - /* - If BusLogic Driver Options specifications requested that ISA Bus Probes - be inhibited, do not proceed further. - */ - if (BusLogic_ProbeOptions.NoProbeISA) return; - /* - Append the list of standard BusLogic MultiMaster ISA I/O Addresses. - */ - if (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe330 - : check_region(0x330, BusLogic_MultiMasterAddressCount) == 0) - BusLogic_AppendProbeAddressISA(0x330); - if (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe334 - : check_region(0x334, BusLogic_MultiMasterAddressCount) == 0) - BusLogic_AppendProbeAddressISA(0x334); - if (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe230 - : check_region(0x230, BusLogic_MultiMasterAddressCount) == 0) - BusLogic_AppendProbeAddressISA(0x230); - if (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe234 - : check_region(0x234, BusLogic_MultiMasterAddressCount) == 0) - BusLogic_AppendProbeAddressISA(0x234); - if (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe130 - : check_region(0x130, BusLogic_MultiMasterAddressCount) == 0) - BusLogic_AppendProbeAddressISA(0x130); - if (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe134 - : check_region(0x134, BusLogic_MultiMasterAddressCount) == 0) - BusLogic_AppendProbeAddressISA(0x134); + /* + If BusLogic Driver Options specifications requested that ISA Bus Probes + be inhibited, do not proceed further. + */ + if (BusLogic_ProbeOptions.NoProbeISA) + return; + /* + Append the list of standard BusLogic MultiMaster ISA I/O Addresses. + */ + if (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe330 : check_region(0x330, BusLogic_MultiMasterAddressCount) == 0) + BusLogic_AppendProbeAddressISA(0x330); + if (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe334 : check_region(0x334, BusLogic_MultiMasterAddressCount) == 0) + BusLogic_AppendProbeAddressISA(0x334); + if (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe230 : check_region(0x230, BusLogic_MultiMasterAddressCount) == 0) + BusLogic_AppendProbeAddressISA(0x230); + if (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe234 : check_region(0x234, BusLogic_MultiMasterAddressCount) == 0) + BusLogic_AppendProbeAddressISA(0x234); + if (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe130 : check_region(0x130, BusLogic_MultiMasterAddressCount) == 0) + BusLogic_AppendProbeAddressISA(0x130); + if (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe134 : check_region(0x134, BusLogic_MultiMasterAddressCount) == 0) + BusLogic_AppendProbeAddressISA(0x134); } @@ -724,30 +640,24 @@ static void __init BusLogic_InitializeProbeInfoListISA(struct BusLogic_HostAdapt of increasing PCI Bus and Device Number. */ -static void __init BusLogic_SortProbeInfo(struct BusLogic_ProbeInfo *ProbeInfoList, - int ProbeInfoCount) +static void __init BusLogic_SortProbeInfo(struct BusLogic_ProbeInfo *ProbeInfoList, int ProbeInfoCount) { - int LastInterchange = ProbeInfoCount-1, Bound, j; - while (LastInterchange > 0) - { - Bound = LastInterchange; - LastInterchange = 0; - for (j = 0; j < Bound; j++) - { - struct BusLogic_ProbeInfo *ProbeInfo1 = &ProbeInfoList[j]; - struct BusLogic_ProbeInfo *ProbeInfo2 = &ProbeInfoList[j+1]; - if (ProbeInfo1->Bus > ProbeInfo2->Bus || - (ProbeInfo1->Bus == ProbeInfo2->Bus && - (ProbeInfo1->Device > ProbeInfo2->Device))) - { - struct BusLogic_ProbeInfo TempProbeInfo; - memcpy(&TempProbeInfo, ProbeInfo1, sizeof(struct BusLogic_ProbeInfo)); - memcpy(ProbeInfo1, ProbeInfo2, sizeof(struct BusLogic_ProbeInfo)); - memcpy(ProbeInfo2, &TempProbeInfo, sizeof(struct BusLogic_ProbeInfo)); - LastInterchange = j; - } + int LastInterchange = ProbeInfoCount - 1, Bound, j; + while (LastInterchange > 0) { + Bound = LastInterchange; + LastInterchange = 0; + for (j = 0; j < Bound; j++) { + struct BusLogic_ProbeInfo *ProbeInfo1 = &ProbeInfoList[j]; + struct BusLogic_ProbeInfo *ProbeInfo2 = &ProbeInfoList[j + 1]; + if (ProbeInfo1->Bus > ProbeInfo2->Bus || (ProbeInfo1->Bus == ProbeInfo2->Bus && (ProbeInfo1->Device > ProbeInfo2->Device))) { + struct BusLogic_ProbeInfo TempProbeInfo; + memcpy(&TempProbeInfo, ProbeInfo1, sizeof(struct BusLogic_ProbeInfo)); + memcpy(ProbeInfo1, ProbeInfo2, sizeof(struct BusLogic_ProbeInfo)); + memcpy(ProbeInfo2, &TempProbeInfo, sizeof(struct BusLogic_ProbeInfo)); + LastInterchange = j; + } + } } - } } @@ -762,292 +672,226 @@ static void __init BusLogic_SortProbeInfo(struct BusLogic_ProbeInfo *ProbeInfoLi static int __init BusLogic_InitializeMultiMasterProbeInfo(struct BusLogic_HostAdapter *PrototypeHostAdapter) { - struct BusLogic_ProbeInfo *PrimaryProbeInfo = - &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount]; - int NonPrimaryPCIMultiMasterIndex = BusLogic_ProbeInfoCount + 1; - int NonPrimaryPCIMultiMasterCount = 0, PCIMultiMasterCount = 0; - boolean ForceBusDeviceScanningOrder = false; - boolean ForceBusDeviceScanningOrderChecked = false; - boolean StandardAddressSeen[6]; - struct pci_dev *PCI_Device = NULL; - int i; - if (BusLogic_ProbeInfoCount >= BusLogic_MaxHostAdapters) return 0; - BusLogic_ProbeInfoCount++; - for (i = 0; i < 6; i++) - StandardAddressSeen[i] = false; - /* - Iterate over the MultiMaster PCI Host Adapters. For each enumerated host - adapter, determine whether its ISA Compatible I/O Port is enabled and if - so, whether it is assigned the Primary I/O Address. A host adapter that is - assigned the Primary I/O Address will always be the preferred boot device. - The MultiMaster BIOS will first recognize a host adapter at the Primary I/O - Address, then any other PCI host adapters, and finally any host adapters - located at the remaining standard ISA I/O Addresses. When a PCI host - adapter is found with its ISA Compatible I/O Port enabled, a command is - issued to disable the ISA Compatible I/O Port, and it is noted that the - particular standard ISA I/O Address need not be probed. - */ - PrimaryProbeInfo->IO_Address = 0; - while ((PCI_Device = pci_find_device(PCI_VENDOR_ID_BUSLOGIC, - PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER, - PCI_Device)) != NULL) - { - struct BusLogic_HostAdapter *HostAdapter = PrototypeHostAdapter; - struct BusLogic_PCIHostAdapterInformation PCIHostAdapterInformation; - enum BusLogic_ISACompatibleIOPort ModifyIOAddressRequest; - unsigned char Bus; - unsigned char Device; - unsigned int IRQ_Channel; - unsigned long BaseAddress0; - unsigned long BaseAddress1; - unsigned long IO_Address; - unsigned long PCI_Address; - - if (pci_enable_device(PCI_Device)) - continue; - - if (pci_set_dma_mask(PCI_Device, (u64)0xffffffff)) - continue; - - Bus = PCI_Device->bus->number; - Device = PCI_Device->devfn >> 3; - IRQ_Channel = PCI_Device->irq; - IO_Address = BaseAddress0 = pci_resource_start(PCI_Device, 0); - PCI_Address = BaseAddress1 = pci_resource_start(PCI_Device, 1); - - if (pci_resource_flags(PCI_Device, 0) & IORESOURCE_MEM) - { - BusLogic_Error("BusLogic: Base Address0 0x%X not I/O for " - "MultiMaster Host Adapter\n", NULL, BaseAddress0); - BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", - NULL, Bus, Device, IO_Address); - continue; - } - if (pci_resource_flags(PCI_Device,1) & IORESOURCE_IO) - { - BusLogic_Error("BusLogic: Base Address1 0x%X not Memory for " - "MultiMaster Host Adapter\n", NULL, BaseAddress1); - BusLogic_Error("at PCI Bus %d Device %d PCI Address 0x%X\n", - NULL, Bus, Device, PCI_Address); - continue; - } - if (IRQ_Channel == 0) - { - BusLogic_Error("BusLogic: IRQ Channel %d invalid for " - "MultiMaster Host Adapter\n", NULL, IRQ_Channel); - BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", - NULL, Bus, Device, IO_Address); - continue; - } - if (BusLogic_GlobalOptions.TraceProbe) - { - BusLogic_Notice("BusLogic: PCI MultiMaster Host Adapter " - "detected at\n", NULL); - BusLogic_Notice("BusLogic: PCI Bus %d Device %d I/O Address " - "0x%X PCI Address 0x%X\n", NULL, - Bus, Device, IO_Address, PCI_Address); - } - /* - Issue the Inquire PCI Host Adapter Information command to determine - the ISA Compatible I/O Port. If the ISA Compatible I/O Port is - known and enabled, note that the particular Standard ISA I/O - Address should not be probed. - */ - HostAdapter->IO_Address = IO_Address; - BusLogic_InterruptReset(HostAdapter); - if (BusLogic_Command(HostAdapter, - BusLogic_InquirePCIHostAdapterInformation, - NULL, 0, &PCIHostAdapterInformation, - sizeof(PCIHostAdapterInformation)) - == sizeof(PCIHostAdapterInformation)) - { - if (PCIHostAdapterInformation.ISACompatibleIOPort < 6) - StandardAddressSeen[PCIHostAdapterInformation - .ISACompatibleIOPort] = true; - } - else PCIHostAdapterInformation.ISACompatibleIOPort = - BusLogic_IO_Disable; - /* - * Issue the Modify I/O Address command to disable the ISA Compatible - * I/O Port. On PCI Host Adapters, the Modify I/O Address command - * allows modification of the ISA compatible I/O Address that the Host - * Adapter responds to; it does not affect the PCI compliant I/O Address - * assigned at system initialization. - */ - ModifyIOAddressRequest = BusLogic_IO_Disable; - BusLogic_Command(HostAdapter, BusLogic_ModifyIOAddress, - &ModifyIOAddressRequest, - sizeof(ModifyIOAddressRequest), NULL, 0); - /* - For the first MultiMaster Host Adapter enumerated, issue the Fetch - Host Adapter Local RAM command to read byte 45 of the AutoSCSI area, - for the setting of the "Use Bus And Device # For PCI Scanning Seq." - option. Issue the Inquire Board ID command since this option is - only valid for the BT-948/958/958D. - */ - if (!ForceBusDeviceScanningOrderChecked) - { - struct BusLogic_FetchHostAdapterLocalRAMRequest - FetchHostAdapterLocalRAMRequest; - struct BusLogic_AutoSCSIByte45 AutoSCSIByte45; - struct BusLogic_BoardID BoardID; - FetchHostAdapterLocalRAMRequest.ByteOffset = - BusLogic_AutoSCSI_BaseOffset + 45; - FetchHostAdapterLocalRAMRequest.ByteCount = - sizeof(AutoSCSIByte45); - BusLogic_Command(HostAdapter, - BusLogic_FetchHostAdapterLocalRAM, - &FetchHostAdapterLocalRAMRequest, - sizeof(FetchHostAdapterLocalRAMRequest), - &AutoSCSIByte45, sizeof(AutoSCSIByte45)); - BusLogic_Command(HostAdapter, BusLogic_InquireBoardID, - NULL, 0, &BoardID, sizeof(BoardID)); - if (BoardID.FirmwareVersion1stDigit == '5') - ForceBusDeviceScanningOrder = - AutoSCSIByte45.ForceBusDeviceScanningOrder; - ForceBusDeviceScanningOrderChecked = true; - } - /* - Determine whether this MultiMaster Host Adapter has its ISA - Compatible I/O Port enabled and is assigned the Primary I/O Address. - If it does, then it is the Primary MultiMaster Host Adapter and must - be recognized first. If it does not, then it is added to the list - for probing after any Primary MultiMaster Host Adapter is probed. - */ - if (PCIHostAdapterInformation.ISACompatibleIOPort == BusLogic_IO_330) - { - PrimaryProbeInfo->HostAdapterType = BusLogic_MultiMaster; - PrimaryProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; - PrimaryProbeInfo->IO_Address = IO_Address; - PrimaryProbeInfo->PCI_Address = PCI_Address; - PrimaryProbeInfo->Bus = Bus; - PrimaryProbeInfo->Device = Device; - PrimaryProbeInfo->IRQ_Channel = IRQ_Channel; - PrimaryProbeInfo->PCI_Device = PCI_Device; - PCIMultiMasterCount++; + struct BusLogic_ProbeInfo *PrimaryProbeInfo = &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount]; + int NonPrimaryPCIMultiMasterIndex = BusLogic_ProbeInfoCount + 1; + int NonPrimaryPCIMultiMasterCount = 0, PCIMultiMasterCount = 0; + boolean ForceBusDeviceScanningOrder = false; + boolean ForceBusDeviceScanningOrderChecked = false; + boolean StandardAddressSeen[6]; + struct pci_dev *PCI_Device = NULL; + int i; + if (BusLogic_ProbeInfoCount >= BusLogic_MaxHostAdapters) + return 0; + BusLogic_ProbeInfoCount++; + for (i = 0; i < 6; i++) + StandardAddressSeen[i] = false; + /* + Iterate over the MultiMaster PCI Host Adapters. For each enumerated host + adapter, determine whether its ISA Compatible I/O Port is enabled and if + so, whether it is assigned the Primary I/O Address. A host adapter that is + assigned the Primary I/O Address will always be the preferred boot device. + The MultiMaster BIOS will first recognize a host adapter at the Primary I/O + Address, then any other PCI host adapters, and finally any host adapters + located at the remaining standard ISA I/O Addresses. When a PCI host + adapter is found with its ISA Compatible I/O Port enabled, a command is + issued to disable the ISA Compatible I/O Port, and it is noted that the + particular standard ISA I/O Address need not be probed. + */ + PrimaryProbeInfo->IO_Address = 0; + while ((PCI_Device = pci_find_device(PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER, PCI_Device)) != NULL) { + struct BusLogic_HostAdapter *HostAdapter = PrototypeHostAdapter; + struct BusLogic_PCIHostAdapterInformation PCIHostAdapterInformation; + enum BusLogic_ISACompatibleIOPort ModifyIOAddressRequest; + unsigned char Bus; + unsigned char Device; + unsigned int IRQ_Channel; + unsigned long BaseAddress0; + unsigned long BaseAddress1; + unsigned long IO_Address; + unsigned long PCI_Address; + + if (pci_enable_device(PCI_Device)) + continue; + + if (pci_set_dma_mask(PCI_Device, (u64) 0xffffffff)) + continue; + + Bus = PCI_Device->bus->number; + Device = PCI_Device->devfn >> 3; + IRQ_Channel = PCI_Device->irq; + IO_Address = BaseAddress0 = pci_resource_start(PCI_Device, 0); + PCI_Address = BaseAddress1 = pci_resource_start(PCI_Device, 1); + + if (pci_resource_flags(PCI_Device, 0) & IORESOURCE_MEM) { + BusLogic_Error("BusLogic: Base Address0 0x%X not I/O for " "MultiMaster Host Adapter\n", NULL, BaseAddress0); + BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", NULL, Bus, Device, IO_Address); + continue; + } + if (pci_resource_flags(PCI_Device, 1) & IORESOURCE_IO) { + BusLogic_Error("BusLogic: Base Address1 0x%X not Memory for " "MultiMaster Host Adapter\n", NULL, BaseAddress1); + BusLogic_Error("at PCI Bus %d Device %d PCI Address 0x%X\n", NULL, Bus, Device, PCI_Address); + continue; + } + if (IRQ_Channel == 0) { + BusLogic_Error("BusLogic: IRQ Channel %d invalid for " "MultiMaster Host Adapter\n", NULL, IRQ_Channel); + BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", NULL, Bus, Device, IO_Address); + continue; + } + if (BusLogic_GlobalOptions.TraceProbe) { + BusLogic_Notice("BusLogic: PCI MultiMaster Host Adapter " "detected at\n", NULL); + BusLogic_Notice("BusLogic: PCI Bus %d Device %d I/O Address " "0x%X PCI Address 0x%X\n", NULL, Bus, Device, IO_Address, PCI_Address); + } + /* + Issue the Inquire PCI Host Adapter Information command to determine + the ISA Compatible I/O Port. If the ISA Compatible I/O Port is + known and enabled, note that the particular Standard ISA I/O + Address should not be probed. + */ + HostAdapter->IO_Address = IO_Address; + BusLogic_InterruptReset(HostAdapter); + if (BusLogic_Command(HostAdapter, BusLogic_InquirePCIHostAdapterInformation, NULL, 0, &PCIHostAdapterInformation, sizeof(PCIHostAdapterInformation)) + == sizeof(PCIHostAdapterInformation)) { + if (PCIHostAdapterInformation.ISACompatibleIOPort < 6) + StandardAddressSeen[PCIHostAdapterInformation.ISACompatibleIOPort] = true; + } else + PCIHostAdapterInformation.ISACompatibleIOPort = BusLogic_IO_Disable; + /* + * Issue the Modify I/O Address command to disable the ISA Compatible + * I/O Port. On PCI Host Adapters, the Modify I/O Address command + * allows modification of the ISA compatible I/O Address that the Host + * Adapter responds to; it does not affect the PCI compliant I/O Address + * assigned at system initialization. + */ + ModifyIOAddressRequest = BusLogic_IO_Disable; + BusLogic_Command(HostAdapter, BusLogic_ModifyIOAddress, &ModifyIOAddressRequest, sizeof(ModifyIOAddressRequest), NULL, 0); + /* + For the first MultiMaster Host Adapter enumerated, issue the Fetch + Host Adapter Local RAM command to read byte 45 of the AutoSCSI area, + for the setting of the "Use Bus And Device # For PCI Scanning Seq." + option. Issue the Inquire Board ID command since this option is + only valid for the BT-948/958/958D. + */ + if (!ForceBusDeviceScanningOrderChecked) { + struct BusLogic_FetchHostAdapterLocalRAMRequest FetchHostAdapterLocalRAMRequest; + struct BusLogic_AutoSCSIByte45 AutoSCSIByte45; + struct BusLogic_BoardID BoardID; + FetchHostAdapterLocalRAMRequest.ByteOffset = BusLogic_AutoSCSI_BaseOffset + 45; + FetchHostAdapterLocalRAMRequest.ByteCount = sizeof(AutoSCSIByte45); + BusLogic_Command(HostAdapter, BusLogic_FetchHostAdapterLocalRAM, &FetchHostAdapterLocalRAMRequest, sizeof(FetchHostAdapterLocalRAMRequest), &AutoSCSIByte45, sizeof(AutoSCSIByte45)); + BusLogic_Command(HostAdapter, BusLogic_InquireBoardID, NULL, 0, &BoardID, sizeof(BoardID)); + if (BoardID.FirmwareVersion1stDigit == '5') + ForceBusDeviceScanningOrder = AutoSCSIByte45.ForceBusDeviceScanningOrder; + ForceBusDeviceScanningOrderChecked = true; + } + /* + Determine whether this MultiMaster Host Adapter has its ISA + Compatible I/O Port enabled and is assigned the Primary I/O Address. + If it does, then it is the Primary MultiMaster Host Adapter and must + be recognized first. If it does not, then it is added to the list + for probing after any Primary MultiMaster Host Adapter is probed. + */ + if (PCIHostAdapterInformation.ISACompatibleIOPort == BusLogic_IO_330) { + PrimaryProbeInfo->HostAdapterType = BusLogic_MultiMaster; + PrimaryProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; + PrimaryProbeInfo->IO_Address = IO_Address; + PrimaryProbeInfo->PCI_Address = PCI_Address; + PrimaryProbeInfo->Bus = Bus; + PrimaryProbeInfo->Device = Device; + PrimaryProbeInfo->IRQ_Channel = IRQ_Channel; + PrimaryProbeInfo->PCI_Device = PCI_Device; + PCIMultiMasterCount++; + } else if (BusLogic_ProbeInfoCount < BusLogic_MaxHostAdapters) { + struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount++]; + ProbeInfo->HostAdapterType = BusLogic_MultiMaster; + ProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; + ProbeInfo->IO_Address = IO_Address; + ProbeInfo->PCI_Address = PCI_Address; + ProbeInfo->Bus = Bus; + ProbeInfo->Device = Device; + ProbeInfo->IRQ_Channel = IRQ_Channel; + ProbeInfo->PCI_Device = PCI_Device; + NonPrimaryPCIMultiMasterCount++; + PCIMultiMasterCount++; + } else + BusLogic_Warning("BusLogic: Too many Host Adapters " "detected\n", NULL); } - else if (BusLogic_ProbeInfoCount < BusLogic_MaxHostAdapters) - { - struct BusLogic_ProbeInfo *ProbeInfo = - &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount++]; - ProbeInfo->HostAdapterType = BusLogic_MultiMaster; - ProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; - ProbeInfo->IO_Address = IO_Address; - ProbeInfo->PCI_Address = PCI_Address; - ProbeInfo->Bus = Bus; - ProbeInfo->Device = Device; - ProbeInfo->IRQ_Channel = IRQ_Channel; - ProbeInfo->PCI_Device = PCI_Device; - NonPrimaryPCIMultiMasterCount++; - PCIMultiMasterCount++; + /* + If the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option is ON + for the first enumerated MultiMaster Host Adapter, and if that host adapter + is a BT-948/958/958D, then the MultiMaster BIOS will recognize MultiMaster + Host Adapters in the order of increasing PCI Bus and Device Number. In + that case, sort the probe information into the same order the BIOS uses. + If this option is OFF, then the MultiMaster BIOS will recognize MultiMaster + Host Adapters in the order they are enumerated by the PCI BIOS, and hence + no sorting is necessary. + */ + if (ForceBusDeviceScanningOrder) + BusLogic_SortProbeInfo(&BusLogic_ProbeInfoList[NonPrimaryPCIMultiMasterIndex], NonPrimaryPCIMultiMasterCount); + /* + If no PCI MultiMaster Host Adapter is assigned the Primary I/O Address, + then the Primary I/O Address must be probed explicitly before any PCI + host adapters are probed. + */ + if (!BusLogic_ProbeOptions.NoProbeISA) + if (PrimaryProbeInfo->IO_Address == 0 && (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe330 : check_region(0x330, BusLogic_MultiMasterAddressCount) == 0)) { + PrimaryProbeInfo->HostAdapterType = BusLogic_MultiMaster; + PrimaryProbeInfo->HostAdapterBusType = BusLogic_ISA_Bus; + PrimaryProbeInfo->IO_Address = 0x330; + } + /* + Append the list of standard BusLogic MultiMaster ISA I/O Addresses, + omitting the Primary I/O Address which has already been handled. + */ + if (!BusLogic_ProbeOptions.NoProbeISA) { + if (!StandardAddressSeen[1] && (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe334 : check_region(0x334, BusLogic_MultiMasterAddressCount) == 0)) + BusLogic_AppendProbeAddressISA(0x334); + if (!StandardAddressSeen[2] && (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe230 : check_region(0x230, BusLogic_MultiMasterAddressCount) == 0)) + BusLogic_AppendProbeAddressISA(0x230); + if (!StandardAddressSeen[3] && (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe234 : check_region(0x234, BusLogic_MultiMasterAddressCount) == 0)) + BusLogic_AppendProbeAddressISA(0x234); + if (!StandardAddressSeen[4] && (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe130 : check_region(0x130, BusLogic_MultiMasterAddressCount) == 0)) + BusLogic_AppendProbeAddressISA(0x130); + if (!StandardAddressSeen[5] && (BusLogic_ProbeOptions.LimitedProbeISA ? BusLogic_ProbeOptions.Probe134 : check_region(0x134, BusLogic_MultiMasterAddressCount) == 0)) + BusLogic_AppendProbeAddressISA(0x134); } - else BusLogic_Warning("BusLogic: Too many Host Adapters " - "detected\n", NULL); - } - /* - If the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option is ON - for the first enumerated MultiMaster Host Adapter, and if that host adapter - is a BT-948/958/958D, then the MultiMaster BIOS will recognize MultiMaster - Host Adapters in the order of increasing PCI Bus and Device Number. In - that case, sort the probe information into the same order the BIOS uses. - If this option is OFF, then the MultiMaster BIOS will recognize MultiMaster - Host Adapters in the order they are enumerated by the PCI BIOS, and hence - no sorting is necessary. - */ - if (ForceBusDeviceScanningOrder) - BusLogic_SortProbeInfo(&BusLogic_ProbeInfoList[ - NonPrimaryPCIMultiMasterIndex], - NonPrimaryPCIMultiMasterCount); - /* - If no PCI MultiMaster Host Adapter is assigned the Primary I/O Address, - then the Primary I/O Address must be probed explicitly before any PCI - host adapters are probed. - */ - if (!BusLogic_ProbeOptions.NoProbeISA) - if (PrimaryProbeInfo->IO_Address == 0 && - (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe330 - : check_region(0x330, BusLogic_MultiMasterAddressCount) == 0)) - { - PrimaryProbeInfo->HostAdapterType = BusLogic_MultiMaster; - PrimaryProbeInfo->HostAdapterBusType = BusLogic_ISA_Bus; - PrimaryProbeInfo->IO_Address = 0x330; - } - /* - Append the list of standard BusLogic MultiMaster ISA I/O Addresses, - omitting the Primary I/O Address which has already been handled. - */ - if (!BusLogic_ProbeOptions.NoProbeISA) - { - if (!StandardAddressSeen[1] && - (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe334 - : check_region(0x334, BusLogic_MultiMasterAddressCount) == 0)) - BusLogic_AppendProbeAddressISA(0x334); - if (!StandardAddressSeen[2] && - (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe230 - : check_region(0x230, BusLogic_MultiMasterAddressCount) == 0)) - BusLogic_AppendProbeAddressISA(0x230); - if (!StandardAddressSeen[3] && - (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe234 - : check_region(0x234, BusLogic_MultiMasterAddressCount) == 0)) - BusLogic_AppendProbeAddressISA(0x234); - if (!StandardAddressSeen[4] && - (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe130 - : check_region(0x130, BusLogic_MultiMasterAddressCount) == 0)) - BusLogic_AppendProbeAddressISA(0x130); - if (!StandardAddressSeen[5] && - (BusLogic_ProbeOptions.LimitedProbeISA - ? BusLogic_ProbeOptions.Probe134 - : check_region(0x134, BusLogic_MultiMasterAddressCount) == 0)) - BusLogic_AppendProbeAddressISA(0x134); - } - /* - Iterate over the older non-compliant MultiMaster PCI Host Adapters, - noting the PCI bus location and assigned IRQ Channel. - */ - PCI_Device = NULL; - while ((PCI_Device = pci_find_device(PCI_VENDOR_ID_BUSLOGIC, - PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC, - PCI_Device)) != NULL) - { - unsigned char Bus; - unsigned char Device; - unsigned int IRQ_Channel; - unsigned long IO_Address; - - if (pci_enable_device(PCI_Device)) - continue; - - if (pci_set_dma_mask(PCI_Device, (u64)0xffffffff)) - continue; - - Bus = PCI_Device->bus->number; - Device = PCI_Device->devfn >> 3; - IRQ_Channel = PCI_Device->irq; - IO_Address = pci_resource_start(PCI_Device, 0); - - if (IO_Address == 0 || IRQ_Channel == 0) continue; - for (i = 0; i < BusLogic_ProbeInfoCount; i++) - { - struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[i]; - if (ProbeInfo->IO_Address == IO_Address && - ProbeInfo->HostAdapterType == BusLogic_MultiMaster) - { - ProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; - ProbeInfo->PCI_Address = 0; - ProbeInfo->Bus = Bus; - ProbeInfo->Device = Device; - ProbeInfo->IRQ_Channel = IRQ_Channel; - ProbeInfo->PCI_Device = PCI_Device; - break; - } + /* + Iterate over the older non-compliant MultiMaster PCI Host Adapters, + noting the PCI bus location and assigned IRQ Channel. + */ + PCI_Device = NULL; + while ((PCI_Device = pci_find_device(PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER_NC, PCI_Device)) != NULL) { + unsigned char Bus; + unsigned char Device; + unsigned int IRQ_Channel; + unsigned long IO_Address; + + if (pci_enable_device(PCI_Device)) + continue; + + if (pci_set_dma_mask(PCI_Device, (u64) 0xffffffff)) + continue; + + Bus = PCI_Device->bus->number; + Device = PCI_Device->devfn >> 3; + IRQ_Channel = PCI_Device->irq; + IO_Address = pci_resource_start(PCI_Device, 0); + + if (IO_Address == 0 || IRQ_Channel == 0) + continue; + for (i = 0; i < BusLogic_ProbeInfoCount; i++) { + struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[i]; + if (ProbeInfo->IO_Address == IO_Address && ProbeInfo->HostAdapterType == BusLogic_MultiMaster) { + ProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; + ProbeInfo->PCI_Address = 0; + ProbeInfo->Bus = Bus; + ProbeInfo->Device = Device; + ProbeInfo->IRQ_Channel = IRQ_Channel; + ProbeInfo->PCI_Device = PCI_Device; + break; + } + } } - } - return PCIMultiMasterCount; + return PCIMultiMasterCount; } @@ -1061,100 +905,77 @@ static int __init BusLogic_InitializeMultiMasterProbeInfo(struct BusLogic_HostAd static int __init BusLogic_InitializeFlashPointProbeInfo(struct BusLogic_HostAdapter *PrototypeHostAdapter) { - int FlashPointIndex = BusLogic_ProbeInfoCount, FlashPointCount = 0; - struct pci_dev *PCI_Device = NULL; - /* - Interrogate PCI Configuration Space for any FlashPoint Host Adapters. - */ - while ((PCI_Device = pci_find_device(PCI_VENDOR_ID_BUSLOGIC, - PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT, - PCI_Device)) != NULL) - { - unsigned char Bus; - unsigned char Device; - unsigned int IRQ_Channel; - unsigned long BaseAddress0; - unsigned long BaseAddress1; - unsigned long IO_Address; - unsigned long PCI_Address; - - if (pci_enable_device(PCI_Device)) - continue; - - if (pci_set_dma_mask(PCI_Device, (u64)0xffffffff)) - continue; - - Bus = PCI_Device->bus->number; - Device = PCI_Device->devfn >> 3; - IRQ_Channel = PCI_Device->irq; - IO_Address = BaseAddress0 = pci_resource_start(PCI_Device, 0); - PCI_Address = BaseAddress1 = pci_resource_start(PCI_Device, 1); + int FlashPointIndex = BusLogic_ProbeInfoCount, FlashPointCount = 0; + struct pci_dev *PCI_Device = NULL; + /* + Interrogate PCI Configuration Space for any FlashPoint Host Adapters. + */ + while ((PCI_Device = pci_find_device(PCI_VENDOR_ID_BUSLOGIC, PCI_DEVICE_ID_BUSLOGIC_FLASHPOINT, PCI_Device)) != NULL) { + unsigned char Bus; + unsigned char Device; + unsigned int IRQ_Channel; + unsigned long BaseAddress0; + unsigned long BaseAddress1; + unsigned long IO_Address; + unsigned long PCI_Address; + + if (pci_enable_device(PCI_Device)) + continue; + + if (pci_set_dma_mask(PCI_Device, (u64) 0xffffffff)) + continue; + + Bus = PCI_Device->bus->number; + Device = PCI_Device->devfn >> 3; + IRQ_Channel = PCI_Device->irq; + IO_Address = BaseAddress0 = pci_resource_start(PCI_Device, 0); + PCI_Address = BaseAddress1 = pci_resource_start(PCI_Device, 1); #ifndef CONFIG_SCSI_OMIT_FLASHPOINT - if (pci_resource_flags(PCI_Device, 0) & IORESOURCE_MEM) - { - BusLogic_Error("BusLogic: Base Address0 0x%X not I/O for " - "FlashPoint Host Adapter\n", NULL, BaseAddress0); - BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", - NULL, Bus, Device, IO_Address); - continue; - } - if (pci_resource_flags(PCI_Device, 1) & IORESOURCE_IO) - { - BusLogic_Error("BusLogic: Base Address1 0x%X not Memory for " - "FlashPoint Host Adapter\n", NULL, BaseAddress1); - BusLogic_Error("at PCI Bus %d Device %d PCI Address 0x%X\n", - NULL, Bus, Device, PCI_Address); - continue; - } - if (IRQ_Channel == 0) - { - BusLogic_Error("BusLogic: IRQ Channel %d invalid for " - "FlashPoint Host Adapter\n", NULL, IRQ_Channel); - BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", - NULL, Bus, Device, IO_Address); - continue; - } - if (BusLogic_GlobalOptions.TraceProbe) - { - BusLogic_Notice("BusLogic: FlashPoint Host Adapter " - "detected at\n", NULL); - BusLogic_Notice("BusLogic: PCI Bus %d Device %d I/O Address " - "0x%X PCI Address 0x%X\n", NULL, - Bus, Device, IO_Address, PCI_Address); - } - if (BusLogic_ProbeInfoCount < BusLogic_MaxHostAdapters) - { - struct BusLogic_ProbeInfo *ProbeInfo = - &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount++]; - ProbeInfo->HostAdapterType = BusLogic_FlashPoint; - ProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; - ProbeInfo->IO_Address = IO_Address; - ProbeInfo->PCI_Address = PCI_Address; - ProbeInfo->Bus = Bus; - ProbeInfo->Device = Device; - ProbeInfo->IRQ_Channel = IRQ_Channel; - ProbeInfo->PCI_Device = PCI_Device; - FlashPointCount++; - } - else BusLogic_Warning("BusLogic: Too many Host Adapters " - "detected\n", NULL); + if (pci_resource_flags(PCI_Device, 0) & IORESOURCE_MEM) { + BusLogic_Error("BusLogic: Base Address0 0x%X not I/O for " "FlashPoint Host Adapter\n", NULL, BaseAddress0); + BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", NULL, Bus, Device, IO_Address); + continue; + } + if (pci_resource_flags(PCI_Device, 1) & IORESOURCE_IO) { + BusLogic_Error("BusLogic: Base Address1 0x%X not Memory for " "FlashPoint Host Adapter\n", NULL, BaseAddress1); + BusLogic_Error("at PCI Bus %d Device %d PCI Address 0x%X\n", NULL, Bus, Device, PCI_Address); + continue; + } + if (IRQ_Channel == 0) { + BusLogic_Error("BusLogic: IRQ Channel %d invalid for " "FlashPoint Host Adapter\n", NULL, IRQ_Channel); + BusLogic_Error("at PCI Bus %d Device %d I/O Address 0x%X\n", NULL, Bus, Device, IO_Address); + continue; + } + if (BusLogic_GlobalOptions.TraceProbe) { + BusLogic_Notice("BusLogic: FlashPoint Host Adapter " "detected at\n", NULL); + BusLogic_Notice("BusLogic: PCI Bus %d Device %d I/O Address " "0x%X PCI Address 0x%X\n", NULL, Bus, Device, IO_Address, PCI_Address); + } + if (BusLogic_ProbeInfoCount < BusLogic_MaxHostAdapters) { + struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[BusLogic_ProbeInfoCount++]; + ProbeInfo->HostAdapterType = BusLogic_FlashPoint; + ProbeInfo->HostAdapterBusType = BusLogic_PCI_Bus; + ProbeInfo->IO_Address = IO_Address; + ProbeInfo->PCI_Address = PCI_Address; + ProbeInfo->Bus = Bus; + ProbeInfo->Device = Device; + ProbeInfo->IRQ_Channel = IRQ_Channel; + ProbeInfo->PCI_Device = PCI_Device; + FlashPointCount++; + } else + BusLogic_Warning("BusLogic: Too many Host Adapters " "detected\n", NULL); #else - BusLogic_Error("BusLogic: FlashPoint Host Adapter detected at " - "PCI Bus %d Device %d\n", NULL, Bus, Device); - BusLogic_Error("BusLogic: I/O Address 0x%X PCI Address 0x%X, irq %d, " - "but FlashPoint\n", NULL, IO_Address, PCI_Address, IRQ_Channel); - BusLogic_Error("BusLogic: support was omitted in this kernel " - "configuration.\n", NULL); + BusLogic_Error("BusLogic: FlashPoint Host Adapter detected at " "PCI Bus %d Device %d\n", NULL, Bus, Device); + BusLogic_Error("BusLogic: I/O Address 0x%X PCI Address 0x%X, irq %d, " "but FlashPoint\n", NULL, IO_Address, PCI_Address, IRQ_Channel); + BusLogic_Error("BusLogic: support was omitted in this kernel " "configuration.\n", NULL); #endif - } - /* - The FlashPoint BIOS will scan for FlashPoint Host Adapters in the order of - increasing PCI Bus and Device Number, so sort the probe information into - the same order the BIOS uses. - */ - BusLogic_SortProbeInfo(&BusLogic_ProbeInfoList[FlashPointIndex], - FlashPointCount); - return FlashPointCount; + } + /* + The FlashPoint BIOS will scan for FlashPoint Host Adapters in the order of + increasing PCI Bus and Device Number, so sort the probe information into + the same order the BIOS uses. + */ + BusLogic_SortProbeInfo(&BusLogic_ProbeInfoList[FlashPointIndex], FlashPointCount); + return FlashPointCount; } @@ -1174,106 +995,70 @@ static int __init BusLogic_InitializeFlashPointProbeInfo(struct BusLogic_HostAda static void __init BusLogic_InitializeProbeInfoList(struct BusLogic_HostAdapter *PrototypeHostAdapter) { - /* - If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint - Host Adapters; otherwise, default to the standard ISA MultiMaster probe. - */ - if (!BusLogic_ProbeOptions.NoProbePCI) - { - if (BusLogic_ProbeOptions.MultiMasterFirst) - { - BusLogic_InitializeMultiMasterProbeInfo(PrototypeHostAdapter); - BusLogic_InitializeFlashPointProbeInfo(PrototypeHostAdapter); - } - else if (BusLogic_ProbeOptions.FlashPointFirst) - { - BusLogic_InitializeFlashPointProbeInfo(PrototypeHostAdapter); - BusLogic_InitializeMultiMasterProbeInfo(PrototypeHostAdapter); - } - else - { - int FlashPointCount = - BusLogic_InitializeFlashPointProbeInfo(PrototypeHostAdapter); - int PCIMultiMasterCount = - BusLogic_InitializeMultiMasterProbeInfo(PrototypeHostAdapter); - if (FlashPointCount > 0 && PCIMultiMasterCount > 0) - { - struct BusLogic_ProbeInfo *ProbeInfo = - &BusLogic_ProbeInfoList[FlashPointCount]; - struct BusLogic_HostAdapter *HostAdapter = PrototypeHostAdapter; - struct BusLogic_FetchHostAdapterLocalRAMRequest - FetchHostAdapterLocalRAMRequest; - struct BusLogic_BIOSDriveMapByte Drive0MapByte; - while (ProbeInfo->HostAdapterBusType != BusLogic_PCI_Bus) - ProbeInfo++; - HostAdapter->IO_Address = ProbeInfo->IO_Address; - FetchHostAdapterLocalRAMRequest.ByteOffset = - BusLogic_BIOS_BaseOffset + BusLogic_BIOS_DriveMapOffset + 0; - FetchHostAdapterLocalRAMRequest.ByteCount = - sizeof(Drive0MapByte); - BusLogic_Command(HostAdapter, - BusLogic_FetchHostAdapterLocalRAM, - &FetchHostAdapterLocalRAMRequest, - sizeof(FetchHostAdapterLocalRAMRequest), - &Drive0MapByte, sizeof(Drive0MapByte)); - /* - If the Map Byte for BIOS Drive 0 indicates that BIOS Drive 0 - is controlled by this PCI MultiMaster Host Adapter, then - reverse the probe order so that MultiMaster Host Adapters are - probed before FlashPoint Host Adapters. - */ - if (Drive0MapByte.DiskGeometry != - BusLogic_BIOS_Disk_Not_Installed) - { - struct BusLogic_ProbeInfo - SavedProbeInfo[BusLogic_MaxHostAdapters]; - int MultiMasterCount = - BusLogic_ProbeInfoCount - FlashPointCount; - memcpy(SavedProbeInfo, - BusLogic_ProbeInfoList, - BusLogic_ProbeInfoCount - * sizeof(struct BusLogic_ProbeInfo)); - memcpy(&BusLogic_ProbeInfoList[0], - &SavedProbeInfo[FlashPointCount], - MultiMasterCount * sizeof(struct BusLogic_ProbeInfo)); - memcpy(&BusLogic_ProbeInfoList[MultiMasterCount], - &SavedProbeInfo[0], - FlashPointCount * sizeof(struct BusLogic_ProbeInfo)); + /* + If a PCI BIOS is present, interrogate it for MultiMaster and FlashPoint + Host Adapters; otherwise, default to the standard ISA MultiMaster probe. + */ + if (!BusLogic_ProbeOptions.NoProbePCI) { + if (BusLogic_ProbeOptions.MultiMasterFirst) { + BusLogic_InitializeMultiMasterProbeInfo(PrototypeHostAdapter); + BusLogic_InitializeFlashPointProbeInfo(PrototypeHostAdapter); + } else if (BusLogic_ProbeOptions.FlashPointFirst) { + BusLogic_InitializeFlashPointProbeInfo(PrototypeHostAdapter); + BusLogic_InitializeMultiMasterProbeInfo(PrototypeHostAdapter); + } else { + int FlashPointCount = BusLogic_InitializeFlashPointProbeInfo(PrototypeHostAdapter); + int PCIMultiMasterCount = BusLogic_InitializeMultiMasterProbeInfo(PrototypeHostAdapter); + if (FlashPointCount > 0 && PCIMultiMasterCount > 0) { + struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[FlashPointCount]; + struct BusLogic_HostAdapter *HostAdapter = PrototypeHostAdapter; + struct BusLogic_FetchHostAdapterLocalRAMRequest FetchHostAdapterLocalRAMRequest; + struct BusLogic_BIOSDriveMapByte Drive0MapByte; + while (ProbeInfo->HostAdapterBusType != BusLogic_PCI_Bus) + ProbeInfo++; + HostAdapter->IO_Address = ProbeInfo->IO_Address; + FetchHostAdapterLocalRAMRequest.ByteOffset = BusLogic_BIOS_BaseOffset + BusLogic_BIOS_DriveMapOffset + 0; + FetchHostAdapterLocalRAMRequest.ByteCount = sizeof(Drive0MapByte); + BusLogic_Command(HostAdapter, BusLogic_FetchHostAdapterLocalRAM, &FetchHostAdapterLocalRAMRequest, sizeof(FetchHostAdapterLocalRAMRequest), &Drive0MapByte, sizeof(Drive0MapByte)); + /* + If the Map Byte for BIOS Drive 0 indicates that BIOS Drive 0 + is controlled by this PCI MultiMaster Host Adapter, then + reverse the probe order so that MultiMaster Host Adapters are + probed before FlashPoint Host Adapters. + */ + if (Drive0MapByte.DiskGeometry != BusLogic_BIOS_Disk_Not_Installed) { + struct BusLogic_ProbeInfo SavedProbeInfo[BusLogic_MaxHostAdapters]; + int MultiMasterCount = BusLogic_ProbeInfoCount - FlashPointCount; + memcpy(SavedProbeInfo, BusLogic_ProbeInfoList, BusLogic_ProbeInfoCount * sizeof(struct BusLogic_ProbeInfo)); + memcpy(&BusLogic_ProbeInfoList[0], &SavedProbeInfo[FlashPointCount], MultiMasterCount * sizeof(struct BusLogic_ProbeInfo)); + memcpy(&BusLogic_ProbeInfoList[MultiMasterCount], &SavedProbeInfo[0], FlashPointCount * sizeof(struct BusLogic_ProbeInfo)); + } + } } - } - } - } - else BusLogic_InitializeProbeInfoListISA(PrototypeHostAdapter); + } else + BusLogic_InitializeProbeInfoListISA(PrototypeHostAdapter); } -#endif /* CONFIG_PCI */ +#endif /* CONFIG_PCI */ /* BusLogic_Failure prints a standardized error message, and then returns false. */ -static boolean BusLogic_Failure(struct BusLogic_HostAdapter *HostAdapter, - char *ErrorMessage) +static boolean BusLogic_Failure(struct BusLogic_HostAdapter *HostAdapter, char *ErrorMessage) { - BusLogic_AnnounceDriver(HostAdapter); - if (HostAdapter->HostAdapterBusType == BusLogic_PCI_Bus) - { - BusLogic_Error("While configuring BusLogic PCI Host Adapter at\n", - HostAdapter); - BusLogic_Error("Bus %d Device %d I/O Address 0x%X PCI Address 0x%X:\n", - HostAdapter, HostAdapter->Bus, HostAdapter->Device, - HostAdapter->IO_Address, HostAdapter->PCI_Address); - } - else BusLogic_Error("While configuring BusLogic Host Adapter at " - "I/O Address 0x%X:\n", HostAdapter, - HostAdapter->IO_Address); - BusLogic_Error("%s FAILED - DETACHING\n", HostAdapter, ErrorMessage); - if (BusLogic_CommandFailureReason != NULL) - BusLogic_Error("ADDITIONAL FAILURE INFO - %s\n", HostAdapter, - BusLogic_CommandFailureReason); - return false; + BusLogic_AnnounceDriver(HostAdapter); + if (HostAdapter->HostAdapterBusType == BusLogic_PCI_Bus) { + BusLogic_Error("While configuring BusLogic PCI Host Adapter at\n", HostAdapter); + BusLogic_Error("Bus %d Device %d I/O Address 0x%X PCI Address 0x%X:\n", HostAdapter, HostAdapter->Bus, HostAdapter->Device, HostAdapter->IO_Address, HostAdapter->PCI_Address); + } else + BusLogic_Error("While configuring BusLogic Host Adapter at " "I/O Address 0x%X:\n", HostAdapter, HostAdapter->IO_Address); + BusLogic_Error("%s FAILED - DETACHING\n", HostAdapter, ErrorMessage); + if (BusLogic_CommandFailureReason != NULL) + BusLogic_Error("ADDITIONAL FAILURE INFO - %s\n", HostAdapter, BusLogic_CommandFailureReason); + return false; } @@ -1283,81 +1068,64 @@ static boolean BusLogic_Failure(struct BusLogic_HostAdapter *HostAdapter, static boolean __init BusLogic_ProbeHostAdapter(struct BusLogic_HostAdapter *HostAdapter) { - union BusLogic_StatusRegister StatusRegister; - union BusLogic_InterruptRegister InterruptRegister; - union BusLogic_GeometryRegister GeometryRegister; - /* - FlashPoint Host Adapters are Probed by the FlashPoint SCCB Manager. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) - { - struct FlashPoint_Info *FlashPointInfo = &HostAdapter->FlashPointInfo; - FlashPointInfo->BaseAddress = - (u32) HostAdapter->IO_Address; - FlashPointInfo->IRQ_Channel = HostAdapter->IRQ_Channel; - FlashPointInfo->Present = false; - if (!(FlashPoint_ProbeHostAdapter(FlashPointInfo) == 0 && - FlashPointInfo->Present)) - { - BusLogic_Error("BusLogic: FlashPoint Host Adapter detected at " - "PCI Bus %d Device %d\n", HostAdapter, - HostAdapter->Bus, HostAdapter->Device); - BusLogic_Error("BusLogic: I/O Address 0x%X PCI Address 0x%X, " - "but FlashPoint\n", HostAdapter, - HostAdapter->IO_Address, HostAdapter->PCI_Address); - BusLogic_Error("BusLogic: Probe Function failed to validate it.\n", - HostAdapter); - return false; + union BusLogic_StatusRegister StatusRegister; + union BusLogic_InterruptRegister InterruptRegister; + union BusLogic_GeometryRegister GeometryRegister; + /* + FlashPoint Host Adapters are Probed by the FlashPoint SCCB Manager. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) { + struct FlashPoint_Info *FlashPointInfo = &HostAdapter->FlashPointInfo; + FlashPointInfo->BaseAddress = (u32) HostAdapter->IO_Address; + FlashPointInfo->IRQ_Channel = HostAdapter->IRQ_Channel; + FlashPointInfo->Present = false; + if (!(FlashPoint_ProbeHostAdapter(FlashPointInfo) == 0 && FlashPointInfo->Present)) { + BusLogic_Error("BusLogic: FlashPoint Host Adapter detected at " "PCI Bus %d Device %d\n", HostAdapter, HostAdapter->Bus, HostAdapter->Device); + BusLogic_Error("BusLogic: I/O Address 0x%X PCI Address 0x%X, " "but FlashPoint\n", HostAdapter, HostAdapter->IO_Address, HostAdapter->PCI_Address); + BusLogic_Error("BusLogic: Probe Function failed to validate it.\n", HostAdapter); + return false; + } + if (BusLogic_GlobalOptions.TraceProbe) + BusLogic_Notice("BusLogic_Probe(0x%X): FlashPoint Found\n", HostAdapter, HostAdapter->IO_Address); + /* + Indicate the Host Adapter Probe completed successfully. + */ + return true; } - if (BusLogic_GlobalOptions.TraceProbe) - BusLogic_Notice("BusLogic_Probe(0x%X): FlashPoint Found\n", - HostAdapter, HostAdapter->IO_Address); - /* - Indicate the Host Adapter Probe completed successfully. - */ - return true; - } - /* - Read the Status, Interrupt, and Geometry Registers to test if there are I/O - ports that respond, and to check the values to determine if they are from a - BusLogic Host Adapter. A nonexistent I/O port will return 0xFF, in which - case there is definitely no BusLogic Host Adapter at this base I/O Address. - The test here is a subset of that used by the BusLogic Host Adapter BIOS. - */ - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); - GeometryRegister.All = BusLogic_ReadGeometryRegister(HostAdapter); - if (BusLogic_GlobalOptions.TraceProbe) - BusLogic_Notice("BusLogic_Probe(0x%X): Status 0x%02X, Interrupt 0x%02X, " - "Geometry 0x%02X\n", HostAdapter, - HostAdapter->IO_Address, StatusRegister.All, - InterruptRegister.All, GeometryRegister.All); - if (StatusRegister.All == 0 || - StatusRegister.sr.DiagnosticActive || - StatusRegister.sr.CommandParameterRegisterBusy || - StatusRegister.sr.Reserved || - StatusRegister.sr.CommandInvalid || - InterruptRegister.ir.Reserved != 0) - return false; - /* - Check the undocumented Geometry Register to test if there is an I/O port - that responded. Adaptec Host Adapters do not implement the Geometry - Register, so this test helps serve to avoid incorrectly recognizing an - Adaptec 1542A or 1542B as a BusLogic. Unfortunately, the Adaptec 1542C - series does respond to the Geometry Register I/O port, but it will be - rejected later when the Inquire Extended Setup Information command is - issued in BusLogic_CheckHostAdapter. The AMI FastDisk Host Adapter is a - BusLogic clone that implements the same interface as earlier BusLogic - Host Adapters, including the undocumented commands, and is therefore - supported by this driver. However, the AMI FastDisk always returns 0x00 - upon reading the Geometry Register, so the extended translation option - should always be left disabled on the AMI FastDisk. - */ - if (GeometryRegister.All == 0xFF) return false; - /* - Indicate the Host Adapter Probe completed successfully. - */ - return true; + /* + Read the Status, Interrupt, and Geometry Registers to test if there are I/O + ports that respond, and to check the values to determine if they are from a + BusLogic Host Adapter. A nonexistent I/O port will return 0xFF, in which + case there is definitely no BusLogic Host Adapter at this base I/O Address. + The test here is a subset of that used by the BusLogic Host Adapter BIOS. + */ + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); + GeometryRegister.All = BusLogic_ReadGeometryRegister(HostAdapter); + if (BusLogic_GlobalOptions.TraceProbe) + BusLogic_Notice("BusLogic_Probe(0x%X): Status 0x%02X, Interrupt 0x%02X, " "Geometry 0x%02X\n", HostAdapter, HostAdapter->IO_Address, StatusRegister.All, InterruptRegister.All, GeometryRegister.All); + if (StatusRegister.All == 0 || StatusRegister.sr.DiagnosticActive || StatusRegister.sr.CommandParameterRegisterBusy || StatusRegister.sr.Reserved || StatusRegister.sr.CommandInvalid || InterruptRegister.ir.Reserved != 0) + return false; + /* + Check the undocumented Geometry Register to test if there is an I/O port + that responded. Adaptec Host Adapters do not implement the Geometry + Register, so this test helps serve to avoid incorrectly recognizing an + Adaptec 1542A or 1542B as a BusLogic. Unfortunately, the Adaptec 1542C + series does respond to the Geometry Register I/O port, but it will be + rejected later when the Inquire Extended Setup Information command is + issued in BusLogic_CheckHostAdapter. The AMI FastDisk Host Adapter is a + BusLogic clone that implements the same interface as earlier BusLogic + Host Adapters, including the undocumented commands, and is therefore + supported by this driver. However, the AMI FastDisk always returns 0x00 + upon reading the Geometry Register, so the extended translation option + should always be left disabled on the AMI FastDisk. + */ + if (GeometryRegister.All == 0xFF) + return false; + /* + Indicate the Host Adapter Probe completed successfully. + */ + return true; } @@ -1370,113 +1138,101 @@ static boolean __init BusLogic_ProbeHostAdapter(struct BusLogic_HostAdapter *Hos */ static boolean BusLogic_HardwareResetHostAdapter(struct BusLogic_HostAdapter - *HostAdapter, - boolean HardReset) + *HostAdapter, boolean HardReset) { - union BusLogic_StatusRegister StatusRegister; - int TimeoutCounter; - /* - FlashPoint Host Adapters are Hard Reset by the FlashPoint SCCB Manager. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) - { - struct FlashPoint_Info *FlashPointInfo = &HostAdapter->FlashPointInfo; - FlashPointInfo->HostSoftReset = !HardReset; - FlashPointInfo->ReportDataUnderrun = true; - HostAdapter->CardHandle = - FlashPoint_HardwareResetHostAdapter(FlashPointInfo); - if (HostAdapter->CardHandle == FlashPoint_BadCardHandle) return false; - /* - Indicate the Host Adapter Hard Reset completed successfully. - */ - return true; - } - /* - Issue a Hard Reset or Soft Reset Command to the Host Adapter. The Host - Adapter should respond by setting Diagnostic Active in the Status Register. - */ - if (HardReset) - BusLogic_HardReset(HostAdapter); - else BusLogic_SoftReset(HostAdapter); - /* - Wait until Diagnostic Active is set in the Status Register. - */ - TimeoutCounter = 5*10000; - while (--TimeoutCounter >= 0) - { - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (StatusRegister.sr.DiagnosticActive) break; - udelay(100); - } - if (BusLogic_GlobalOptions.TraceHardwareReset) - BusLogic_Notice("BusLogic_HardwareReset(0x%X): Diagnostic Active, " - "Status 0x%02X\n", HostAdapter, - HostAdapter->IO_Address, StatusRegister.All); - if (TimeoutCounter < 0) return false; - /* - Wait 100 microseconds to allow completion of any initial diagnostic - activity which might leave the contents of the Status Register - unpredictable. - */ - udelay(100); - /* - Wait until Diagnostic Active is reset in the Status Register. - */ - TimeoutCounter = 10*10000; - while (--TimeoutCounter >= 0) - { - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (!StatusRegister.sr.DiagnosticActive) break; - udelay(100); - } - if (BusLogic_GlobalOptions.TraceHardwareReset) - BusLogic_Notice("BusLogic_HardwareReset(0x%X): Diagnostic Completed, " - "Status 0x%02X\n", HostAdapter, - HostAdapter->IO_Address, StatusRegister.All); - if (TimeoutCounter < 0) return false; - /* - Wait until at least one of the Diagnostic Failure, Host Adapter Ready, - or Data In Register Ready bits is set in the Status Register. - */ - TimeoutCounter = 10000; - while (--TimeoutCounter >= 0) - { - StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); - if (StatusRegister.sr.DiagnosticFailure || - StatusRegister.sr.HostAdapterReady || - StatusRegister.sr.DataInRegisterReady) - break; - udelay(100); - } - if (BusLogic_GlobalOptions.TraceHardwareReset) - BusLogic_Notice("BusLogic_HardwareReset(0x%X): Host Adapter Ready, " - "Status 0x%02X\n", HostAdapter, - HostAdapter->IO_Address, StatusRegister.All); - if (TimeoutCounter < 0) return false; - /* - If Diagnostic Failure is set or Host Adapter Ready is reset, then an - error occurred during the Host Adapter diagnostics. If Data In Register - Ready is set, then there is an Error Code available. - */ - if (StatusRegister.sr.DiagnosticFailure || - !StatusRegister.sr.HostAdapterReady) - { - BusLogic_CommandFailureReason = NULL; - BusLogic_Failure(HostAdapter, "HARD RESET DIAGNOSTICS"); - BusLogic_Error("HOST ADAPTER STATUS REGISTER = %02X\n", - HostAdapter, StatusRegister.All); - if (StatusRegister.sr.DataInRegisterReady) - { - unsigned char ErrorCode = BusLogic_ReadDataInRegister(HostAdapter); - BusLogic_Error("HOST ADAPTER ERROR CODE = %d\n", - HostAdapter, ErrorCode); + union BusLogic_StatusRegister StatusRegister; + int TimeoutCounter; + /* + FlashPoint Host Adapters are Hard Reset by the FlashPoint SCCB Manager. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) { + struct FlashPoint_Info *FlashPointInfo = &HostAdapter->FlashPointInfo; + FlashPointInfo->HostSoftReset = !HardReset; + FlashPointInfo->ReportDataUnderrun = true; + HostAdapter->CardHandle = FlashPoint_HardwareResetHostAdapter(FlashPointInfo); + if (HostAdapter->CardHandle == FlashPoint_BadCardHandle) + return false; + /* + Indicate the Host Adapter Hard Reset completed successfully. + */ + return true; + } + /* + Issue a Hard Reset or Soft Reset Command to the Host Adapter. The Host + Adapter should respond by setting Diagnostic Active in the Status Register. + */ + if (HardReset) + BusLogic_HardReset(HostAdapter); + else + BusLogic_SoftReset(HostAdapter); + /* + Wait until Diagnostic Active is set in the Status Register. + */ + TimeoutCounter = 5 * 10000; + while (--TimeoutCounter >= 0) { + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (StatusRegister.sr.DiagnosticActive) + break; + udelay(100); } - return false; - } - /* - Indicate the Host Adapter Hard Reset completed successfully. - */ - return true; + if (BusLogic_GlobalOptions.TraceHardwareReset) + BusLogic_Notice("BusLogic_HardwareReset(0x%X): Diagnostic Active, " "Status 0x%02X\n", HostAdapter, HostAdapter->IO_Address, StatusRegister.All); + if (TimeoutCounter < 0) + return false; + /* + Wait 100 microseconds to allow completion of any initial diagnostic + activity which might leave the contents of the Status Register + unpredictable. + */ + udelay(100); + /* + Wait until Diagnostic Active is reset in the Status Register. + */ + TimeoutCounter = 10 * 10000; + while (--TimeoutCounter >= 0) { + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (!StatusRegister.sr.DiagnosticActive) + break; + udelay(100); + } + if (BusLogic_GlobalOptions.TraceHardwareReset) + BusLogic_Notice("BusLogic_HardwareReset(0x%X): Diagnostic Completed, " "Status 0x%02X\n", HostAdapter, HostAdapter->IO_Address, StatusRegister.All); + if (TimeoutCounter < 0) + return false; + /* + Wait until at least one of the Diagnostic Failure, Host Adapter Ready, + or Data In Register Ready bits is set in the Status Register. + */ + TimeoutCounter = 10000; + while (--TimeoutCounter >= 0) { + StatusRegister.All = BusLogic_ReadStatusRegister(HostAdapter); + if (StatusRegister.sr.DiagnosticFailure || StatusRegister.sr.HostAdapterReady || StatusRegister.sr.DataInRegisterReady) + break; + udelay(100); + } + if (BusLogic_GlobalOptions.TraceHardwareReset) + BusLogic_Notice("BusLogic_HardwareReset(0x%X): Host Adapter Ready, " "Status 0x%02X\n", HostAdapter, HostAdapter->IO_Address, StatusRegister.All); + if (TimeoutCounter < 0) + return false; + /* + If Diagnostic Failure is set or Host Adapter Ready is reset, then an + error occurred during the Host Adapter diagnostics. If Data In Register + Ready is set, then there is an Error Code available. + */ + if (StatusRegister.sr.DiagnosticFailure || !StatusRegister.sr.HostAdapterReady) { + BusLogic_CommandFailureReason = NULL; + BusLogic_Failure(HostAdapter, "HARD RESET DIAGNOSTICS"); + BusLogic_Error("HOST ADAPTER STATUS REGISTER = %02X\n", HostAdapter, StatusRegister.All); + if (StatusRegister.sr.DataInRegisterReady) { + unsigned char ErrorCode = BusLogic_ReadDataInRegister(HostAdapter); + BusLogic_Error("HOST ADAPTER ERROR CODE = %d\n", HostAdapter, ErrorCode); + } + return false; + } + /* + Indicate the Host Adapter Hard Reset completed successfully. + */ + return true; } @@ -1487,35 +1243,30 @@ static boolean BusLogic_HardwareResetHostAdapter(struct BusLogic_HostAdapter static boolean __init BusLogic_CheckHostAdapter(struct BusLogic_HostAdapter *HostAdapter) { - struct BusLogic_ExtendedSetupInformation ExtendedSetupInformation; - unsigned char RequestedReplyLength; - boolean Result = true; - /* - FlashPoint Host Adapters do not require this protection. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) return true; - /* - Issue the Inquire Extended Setup Information command. Only genuine - BusLogic Host Adapters and true clones support this command. Adaptec 1542C - series Host Adapters that respond to the Geometry Register I/O port will - fail this command. - */ - RequestedReplyLength = sizeof(ExtendedSetupInformation); - if (BusLogic_Command(HostAdapter, - BusLogic_InquireExtendedSetupInformation, - &RequestedReplyLength, - sizeof(RequestedReplyLength), - &ExtendedSetupInformation, - sizeof(ExtendedSetupInformation)) - != sizeof(ExtendedSetupInformation)) - Result = false; - /* - Provide tracing information if requested and return. - */ - if (BusLogic_GlobalOptions.TraceProbe) - BusLogic_Notice("BusLogic_Check(0x%X): MultiMaster %s\n", HostAdapter, - HostAdapter->IO_Address, (Result ? "Found" : "Not Found")); - return Result; + struct BusLogic_ExtendedSetupInformation ExtendedSetupInformation; + unsigned char RequestedReplyLength; + boolean Result = true; + /* + FlashPoint Host Adapters do not require this protection. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) + return true; + /* + Issue the Inquire Extended Setup Information command. Only genuine + BusLogic Host Adapters and true clones support this command. Adaptec 1542C + series Host Adapters that respond to the Geometry Register I/O port will + fail this command. + */ + RequestedReplyLength = sizeof(ExtendedSetupInformation); + if (BusLogic_Command(HostAdapter, BusLogic_InquireExtendedSetupInformation, &RequestedReplyLength, sizeof(RequestedReplyLength), &ExtendedSetupInformation, sizeof(ExtendedSetupInformation)) + != sizeof(ExtendedSetupInformation)) + Result = false; + /* + Provide tracing information if requested and return. + */ + if (BusLogic_GlobalOptions.TraceProbe) + BusLogic_Notice("BusLogic_Check(0x%X): MultiMaster %s\n", HostAdapter, HostAdapter->IO_Address, (Result ? "Found" : "Not Found")); + return Result; } @@ -1527,513 +1278,442 @@ static boolean __init BusLogic_CheckHostAdapter(struct BusLogic_HostAdapter *Hos static boolean __init BusLogic_ReadHostAdapterConfiguration(struct BusLogic_HostAdapter *HostAdapter) { - struct BusLogic_BoardID BoardID; - struct BusLogic_Configuration Configuration; - struct BusLogic_SetupInformation SetupInformation; - struct BusLogic_ExtendedSetupInformation ExtendedSetupInformation; - unsigned char HostAdapterModelNumber[5]; - unsigned char FirmwareVersion3rdDigit; - unsigned char FirmwareVersionLetter; - struct BusLogic_PCIHostAdapterInformation PCIHostAdapterInformation; - struct BusLogic_FetchHostAdapterLocalRAMRequest FetchHostAdapterLocalRAMRequest; - struct BusLogic_AutoSCSIData AutoSCSIData; - union BusLogic_GeometryRegister GeometryRegister; - unsigned char RequestedReplyLength; - unsigned char *TargetPointer, Character; - int TargetID, i; - /* - Configuration Information for FlashPoint Host Adapters is provided in the - FlashPoint_Info structure by the FlashPoint SCCB Manager's Probe Function. - Initialize fields in the Host Adapter structure from the FlashPoint_Info - structure. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) - { - struct FlashPoint_Info *FlashPointInfo = &HostAdapter->FlashPointInfo; - TargetPointer = HostAdapter->ModelName; - *TargetPointer++ = 'B'; - *TargetPointer++ = 'T'; - *TargetPointer++ = '-'; - for (i = 0; i < sizeof(FlashPointInfo->ModelNumber); i++) - *TargetPointer++ = FlashPointInfo->ModelNumber[i]; - *TargetPointer++ = '\0'; - strcpy(HostAdapter->FirmwareVersion, FlashPoint_FirmwareVersion); - HostAdapter->SCSI_ID = FlashPointInfo->SCSI_ID; - HostAdapter->ExtendedTranslationEnabled = - FlashPointInfo->ExtendedTranslationEnabled; - HostAdapter->ParityCheckingEnabled = - FlashPointInfo->ParityCheckingEnabled; - HostAdapter->BusResetEnabled = !FlashPointInfo->HostSoftReset; - HostAdapter->LevelSensitiveInterrupt = true; - HostAdapter->HostWideSCSI = FlashPointInfo->HostWideSCSI; - HostAdapter->HostDifferentialSCSI = false; - HostAdapter->HostSupportsSCAM = true; - HostAdapter->HostUltraSCSI = true; - HostAdapter->ExtendedLUNSupport = true; - HostAdapter->TerminationInfoValid = true; - HostAdapter->LowByteTerminated = FlashPointInfo->LowByteTerminated; - HostAdapter->HighByteTerminated = FlashPointInfo->HighByteTerminated; - HostAdapter->SCAM_Enabled = FlashPointInfo->SCAM_Enabled; - HostAdapter->SCAM_Level2 = FlashPointInfo->SCAM_Level2; - HostAdapter->DriverScatterGatherLimit = BusLogic_ScatterGatherLimit; - HostAdapter->MaxTargetDevices = (HostAdapter->HostWideSCSI ? 16 : 8); - HostAdapter->MaxLogicalUnits = 32; - HostAdapter->InitialCCBs = 4 * BusLogic_CCB_AllocationGroupSize; - HostAdapter->IncrementalCCBs = BusLogic_CCB_AllocationGroupSize; - HostAdapter->DriverQueueDepth = 255; - HostAdapter->HostAdapterQueueDepth = HostAdapter->DriverQueueDepth; - HostAdapter->SynchronousPermitted = FlashPointInfo->SynchronousPermitted; - HostAdapter->FastPermitted = FlashPointInfo->FastPermitted; - HostAdapter->UltraPermitted = FlashPointInfo->UltraPermitted; - HostAdapter->WidePermitted = FlashPointInfo->WidePermitted; - HostAdapter->DisconnectPermitted = FlashPointInfo->DisconnectPermitted; - HostAdapter->TaggedQueuingPermitted = 0xFFFF; - goto Common; - } - /* - Issue the Inquire Board ID command. - */ - if (BusLogic_Command(HostAdapter, BusLogic_InquireBoardID, NULL, 0, - &BoardID, sizeof(BoardID)) != sizeof(BoardID)) - return BusLogic_Failure(HostAdapter, "INQUIRE BOARD ID"); - /* - Issue the Inquire Configuration command. - */ - if (BusLogic_Command(HostAdapter, BusLogic_InquireConfiguration, NULL, 0, - &Configuration, sizeof(Configuration)) - != sizeof(Configuration)) - return BusLogic_Failure(HostAdapter, "INQUIRE CONFIGURATION"); - /* - Issue the Inquire Setup Information command. - */ - RequestedReplyLength = sizeof(SetupInformation); - if (BusLogic_Command(HostAdapter, BusLogic_InquireSetupInformation, - &RequestedReplyLength, sizeof(RequestedReplyLength), - &SetupInformation, sizeof(SetupInformation)) - != sizeof(SetupInformation)) - return BusLogic_Failure(HostAdapter, "INQUIRE SETUP INFORMATION"); - /* - Issue the Inquire Extended Setup Information command. - */ - RequestedReplyLength = sizeof(ExtendedSetupInformation); - if (BusLogic_Command(HostAdapter, BusLogic_InquireExtendedSetupInformation, - &RequestedReplyLength, sizeof(RequestedReplyLength), - &ExtendedSetupInformation, - sizeof(ExtendedSetupInformation)) - != sizeof(ExtendedSetupInformation)) - return BusLogic_Failure(HostAdapter, "INQUIRE EXTENDED SETUP INFORMATION"); - /* - Issue the Inquire Firmware Version 3rd Digit command. - */ - FirmwareVersion3rdDigit = '\0'; - if (BoardID.FirmwareVersion1stDigit > '0') - if (BusLogic_Command(HostAdapter, BusLogic_InquireFirmwareVersion3rdDigit, - NULL, 0, &FirmwareVersion3rdDigit, - sizeof(FirmwareVersion3rdDigit)) - != sizeof(FirmwareVersion3rdDigit)) - return BusLogic_Failure(HostAdapter, "INQUIRE FIRMWARE 3RD DIGIT"); - /* - Issue the Inquire Host Adapter Model Number command. - */ - if (ExtendedSetupInformation.BusType == 'A' && - BoardID.FirmwareVersion1stDigit == '2') - /* BusLogic BT-542B ISA 2.xx */ - strcpy(HostAdapterModelNumber, "542B"); - else if (ExtendedSetupInformation.BusType == 'E' && - BoardID.FirmwareVersion1stDigit == '2' && - (BoardID.FirmwareVersion2ndDigit <= '1' || - (BoardID.FirmwareVersion2ndDigit == '2' && - FirmwareVersion3rdDigit == '0'))) - /* BusLogic BT-742A EISA 2.1x or 2.20 */ - strcpy(HostAdapterModelNumber, "742A"); - else if (ExtendedSetupInformation.BusType == 'E' && - BoardID.FirmwareVersion1stDigit == '0') - /* AMI FastDisk EISA Series 441 0.x */ - strcpy(HostAdapterModelNumber, "747A"); - else - { - RequestedReplyLength = sizeof(HostAdapterModelNumber); - if (BusLogic_Command(HostAdapter, BusLogic_InquireHostAdapterModelNumber, - &RequestedReplyLength, sizeof(RequestedReplyLength), - &HostAdapterModelNumber, - sizeof(HostAdapterModelNumber)) - != sizeof(HostAdapterModelNumber)) - return BusLogic_Failure(HostAdapter, - "INQUIRE HOST ADAPTER MODEL NUMBER"); - } - /* - BusLogic MultiMaster Host Adapters can be identified by their model number - and the major version number of their firmware as follows: - - 5.xx BusLogic "W" Series Host Adapters: - BT-948/958/958D - 4.xx BusLogic "C" Series Host Adapters: - BT-946C/956C/956CD/747C/757C/757CD/445C/545C/540CF - 3.xx BusLogic "S" Series Host Adapters: - BT-747S/747D/757S/757D/445S/545S/542D - BT-542B/742A (revision H) - 2.xx BusLogic "A" Series Host Adapters: - BT-542B/742A (revision G and below) - 0.xx AMI FastDisk VLB/EISA BusLogic Clone Host Adapter - */ - /* - Save the Model Name and Host Adapter Name in the Host Adapter structure. - */ - TargetPointer = HostAdapter->ModelName; - *TargetPointer++ = 'B'; - *TargetPointer++ = 'T'; - *TargetPointer++ = '-'; - for (i = 0; i < sizeof(HostAdapterModelNumber); i++) - { - Character = HostAdapterModelNumber[i]; - if (Character == ' ' || Character == '\0') break; - *TargetPointer++ = Character; - } - *TargetPointer++ = '\0'; - /* - Save the Firmware Version in the Host Adapter structure. - */ - TargetPointer = HostAdapter->FirmwareVersion; - *TargetPointer++ = BoardID.FirmwareVersion1stDigit; - *TargetPointer++ = '.'; - *TargetPointer++ = BoardID.FirmwareVersion2ndDigit; - if (FirmwareVersion3rdDigit != ' ' && FirmwareVersion3rdDigit != '\0') - *TargetPointer++ = FirmwareVersion3rdDigit; - *TargetPointer = '\0'; - /* - Issue the Inquire Firmware Version Letter command. - */ - if (strcmp(HostAdapter->FirmwareVersion, "3.3") >= 0) - { - if (BusLogic_Command(HostAdapter, BusLogic_InquireFirmwareVersionLetter, - NULL, 0, &FirmwareVersionLetter, - sizeof(FirmwareVersionLetter)) - != sizeof(FirmwareVersionLetter)) - return BusLogic_Failure(HostAdapter, - "INQUIRE FIRMWARE VERSION LETTER"); - if (FirmwareVersionLetter != ' ' && FirmwareVersionLetter != '\0') - *TargetPointer++ = FirmwareVersionLetter; - *TargetPointer = '\0'; - } - /* - Save the Host Adapter SCSI ID in the Host Adapter structure. - */ - HostAdapter->SCSI_ID = Configuration.HostAdapterID; - /* - Determine the Bus Type and save it in the Host Adapter structure, determine - and save the IRQ Channel if necessary, and determine and save the DMA - Channel for ISA Host Adapters. - */ - HostAdapter->HostAdapterBusType = - BusLogic_HostAdapterBusTypes[HostAdapter->ModelName[3] - '4']; - if (HostAdapter->IRQ_Channel == 0) - { - if (Configuration.IRQ_Channel9) - HostAdapter->IRQ_Channel = 9; - else if (Configuration.IRQ_Channel10) - HostAdapter->IRQ_Channel = 10; - else if (Configuration.IRQ_Channel11) - HostAdapter->IRQ_Channel = 11; - else if (Configuration.IRQ_Channel12) - HostAdapter->IRQ_Channel = 12; - else if (Configuration.IRQ_Channel14) - HostAdapter->IRQ_Channel = 14; - else if (Configuration.IRQ_Channel15) - HostAdapter->IRQ_Channel = 15; - } - if (HostAdapter->HostAdapterBusType == BusLogic_ISA_Bus) - { - if (Configuration.DMA_Channel5) - HostAdapter->DMA_Channel = 5; - else if (Configuration.DMA_Channel6) - HostAdapter->DMA_Channel = 6; - else if (Configuration.DMA_Channel7) - HostAdapter->DMA_Channel = 7; - } - /* - Determine whether Extended Translation is enabled and save it in - the Host Adapter structure. - */ - GeometryRegister.All = BusLogic_ReadGeometryRegister(HostAdapter); - HostAdapter->ExtendedTranslationEnabled = - GeometryRegister.gr.ExtendedTranslationEnabled; - /* - Save the Scatter Gather Limits, Level Sensitive Interrupt flag, Wide - SCSI flag, Differential SCSI flag, SCAM Supported flag, and - Ultra SCSI flag in the Host Adapter structure. - */ - HostAdapter->HostAdapterScatterGatherLimit = - ExtendedSetupInformation.ScatterGatherLimit; - HostAdapter->DriverScatterGatherLimit = - HostAdapter->HostAdapterScatterGatherLimit; - if (HostAdapter->HostAdapterScatterGatherLimit > BusLogic_ScatterGatherLimit) - HostAdapter->DriverScatterGatherLimit = BusLogic_ScatterGatherLimit; - if (ExtendedSetupInformation.Misc.LevelSensitiveInterrupt) - HostAdapter->LevelSensitiveInterrupt = true; - HostAdapter->HostWideSCSI = ExtendedSetupInformation.HostWideSCSI; - HostAdapter->HostDifferentialSCSI = - ExtendedSetupInformation.HostDifferentialSCSI; - HostAdapter->HostSupportsSCAM = ExtendedSetupInformation.HostSupportsSCAM; - HostAdapter->HostUltraSCSI = ExtendedSetupInformation.HostUltraSCSI; - /* - Determine whether Extended LUN Format CCBs are supported and save the - information in the Host Adapter structure. - */ - if (HostAdapter->FirmwareVersion[0] == '5' || - (HostAdapter->FirmwareVersion[0] == '4' && HostAdapter->HostWideSCSI)) - HostAdapter->ExtendedLUNSupport = true; - /* - Issue the Inquire PCI Host Adapter Information command to read the - Termination Information from "W" series MultiMaster Host Adapters. - */ - if (HostAdapter->FirmwareVersion[0] == '5') - { - if (BusLogic_Command(HostAdapter, - BusLogic_InquirePCIHostAdapterInformation, - NULL, 0, &PCIHostAdapterInformation, - sizeof(PCIHostAdapterInformation)) - != sizeof(PCIHostAdapterInformation)) - return BusLogic_Failure(HostAdapter, - "INQUIRE PCI HOST ADAPTER INFORMATION"); - /* - Save the Termination Information in the Host Adapter structure. - */ - if (PCIHostAdapterInformation.GenericInfoValid) - { - HostAdapter->TerminationInfoValid = true; - HostAdapter->LowByteTerminated = - PCIHostAdapterInformation.LowByteTerminated; - HostAdapter->HighByteTerminated = - PCIHostAdapterInformation.HighByteTerminated; + struct BusLogic_BoardID BoardID; + struct BusLogic_Configuration Configuration; + struct BusLogic_SetupInformation SetupInformation; + struct BusLogic_ExtendedSetupInformation ExtendedSetupInformation; + unsigned char HostAdapterModelNumber[5]; + unsigned char FirmwareVersion3rdDigit; + unsigned char FirmwareVersionLetter; + struct BusLogic_PCIHostAdapterInformation PCIHostAdapterInformation; + struct BusLogic_FetchHostAdapterLocalRAMRequest FetchHostAdapterLocalRAMRequest; + struct BusLogic_AutoSCSIData AutoSCSIData; + union BusLogic_GeometryRegister GeometryRegister; + unsigned char RequestedReplyLength; + unsigned char *TargetPointer, Character; + int TargetID, i; + /* + Configuration Information for FlashPoint Host Adapters is provided in the + FlashPoint_Info structure by the FlashPoint SCCB Manager's Probe Function. + Initialize fields in the Host Adapter structure from the FlashPoint_Info + structure. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) { + struct FlashPoint_Info *FlashPointInfo = &HostAdapter->FlashPointInfo; + TargetPointer = HostAdapter->ModelName; + *TargetPointer++ = 'B'; + *TargetPointer++ = 'T'; + *TargetPointer++ = '-'; + for (i = 0; i < sizeof(FlashPointInfo->ModelNumber); i++) + *TargetPointer++ = FlashPointInfo->ModelNumber[i]; + *TargetPointer++ = '\0'; + strcpy(HostAdapter->FirmwareVersion, FlashPoint_FirmwareVersion); + HostAdapter->SCSI_ID = FlashPointInfo->SCSI_ID; + HostAdapter->ExtendedTranslationEnabled = FlashPointInfo->ExtendedTranslationEnabled; + HostAdapter->ParityCheckingEnabled = FlashPointInfo->ParityCheckingEnabled; + HostAdapter->BusResetEnabled = !FlashPointInfo->HostSoftReset; + HostAdapter->LevelSensitiveInterrupt = true; + HostAdapter->HostWideSCSI = FlashPointInfo->HostWideSCSI; + HostAdapter->HostDifferentialSCSI = false; + HostAdapter->HostSupportsSCAM = true; + HostAdapter->HostUltraSCSI = true; + HostAdapter->ExtendedLUNSupport = true; + HostAdapter->TerminationInfoValid = true; + HostAdapter->LowByteTerminated = FlashPointInfo->LowByteTerminated; + HostAdapter->HighByteTerminated = FlashPointInfo->HighByteTerminated; + HostAdapter->SCAM_Enabled = FlashPointInfo->SCAM_Enabled; + HostAdapter->SCAM_Level2 = FlashPointInfo->SCAM_Level2; + HostAdapter->DriverScatterGatherLimit = BusLogic_ScatterGatherLimit; + HostAdapter->MaxTargetDevices = (HostAdapter->HostWideSCSI ? 16 : 8); + HostAdapter->MaxLogicalUnits = 32; + HostAdapter->InitialCCBs = 4 * BusLogic_CCB_AllocationGroupSize; + HostAdapter->IncrementalCCBs = BusLogic_CCB_AllocationGroupSize; + HostAdapter->DriverQueueDepth = 255; + HostAdapter->HostAdapterQueueDepth = HostAdapter->DriverQueueDepth; + HostAdapter->SynchronousPermitted = FlashPointInfo->SynchronousPermitted; + HostAdapter->FastPermitted = FlashPointInfo->FastPermitted; + HostAdapter->UltraPermitted = FlashPointInfo->UltraPermitted; + HostAdapter->WidePermitted = FlashPointInfo->WidePermitted; + HostAdapter->DisconnectPermitted = FlashPointInfo->DisconnectPermitted; + HostAdapter->TaggedQueuingPermitted = 0xFFFF; + goto Common; + } + /* + Issue the Inquire Board ID command. + */ + if (BusLogic_Command(HostAdapter, BusLogic_InquireBoardID, NULL, 0, &BoardID, sizeof(BoardID)) != sizeof(BoardID)) + return BusLogic_Failure(HostAdapter, "INQUIRE BOARD ID"); + /* + Issue the Inquire Configuration command. + */ + if (BusLogic_Command(HostAdapter, BusLogic_InquireConfiguration, NULL, 0, &Configuration, sizeof(Configuration)) + != sizeof(Configuration)) + return BusLogic_Failure(HostAdapter, "INQUIRE CONFIGURATION"); + /* + Issue the Inquire Setup Information command. + */ + RequestedReplyLength = sizeof(SetupInformation); + if (BusLogic_Command(HostAdapter, BusLogic_InquireSetupInformation, &RequestedReplyLength, sizeof(RequestedReplyLength), &SetupInformation, sizeof(SetupInformation)) + != sizeof(SetupInformation)) + return BusLogic_Failure(HostAdapter, "INQUIRE SETUP INFORMATION"); + /* + Issue the Inquire Extended Setup Information command. + */ + RequestedReplyLength = sizeof(ExtendedSetupInformation); + if (BusLogic_Command(HostAdapter, BusLogic_InquireExtendedSetupInformation, &RequestedReplyLength, sizeof(RequestedReplyLength), &ExtendedSetupInformation, sizeof(ExtendedSetupInformation)) + != sizeof(ExtendedSetupInformation)) + return BusLogic_Failure(HostAdapter, "INQUIRE EXTENDED SETUP INFORMATION"); + /* + Issue the Inquire Firmware Version 3rd Digit command. + */ + FirmwareVersion3rdDigit = '\0'; + if (BoardID.FirmwareVersion1stDigit > '0') + if (BusLogic_Command(HostAdapter, BusLogic_InquireFirmwareVersion3rdDigit, NULL, 0, &FirmwareVersion3rdDigit, sizeof(FirmwareVersion3rdDigit)) + != sizeof(FirmwareVersion3rdDigit)) + return BusLogic_Failure(HostAdapter, "INQUIRE FIRMWARE 3RD DIGIT"); + /* + Issue the Inquire Host Adapter Model Number command. + */ + if (ExtendedSetupInformation.BusType == 'A' && BoardID.FirmwareVersion1stDigit == '2') + /* BusLogic BT-542B ISA 2.xx */ + strcpy(HostAdapterModelNumber, "542B"); + else if (ExtendedSetupInformation.BusType == 'E' && BoardID.FirmwareVersion1stDigit == '2' && (BoardID.FirmwareVersion2ndDigit <= '1' || (BoardID.FirmwareVersion2ndDigit == '2' && FirmwareVersion3rdDigit == '0'))) + /* BusLogic BT-742A EISA 2.1x or 2.20 */ + strcpy(HostAdapterModelNumber, "742A"); + else if (ExtendedSetupInformation.BusType == 'E' && BoardID.FirmwareVersion1stDigit == '0') + /* AMI FastDisk EISA Series 441 0.x */ + strcpy(HostAdapterModelNumber, "747A"); + else { + RequestedReplyLength = sizeof(HostAdapterModelNumber); + if (BusLogic_Command(HostAdapter, BusLogic_InquireHostAdapterModelNumber, &RequestedReplyLength, sizeof(RequestedReplyLength), &HostAdapterModelNumber, sizeof(HostAdapterModelNumber)) + != sizeof(HostAdapterModelNumber)) + return BusLogic_Failure(HostAdapter, "INQUIRE HOST ADAPTER MODEL NUMBER"); } - } - /* - Issue the Fetch Host Adapter Local RAM command to read the AutoSCSI data - from "W" and "C" series MultiMaster Host Adapters. - */ - if (HostAdapter->FirmwareVersion[0] >= '4') - { - FetchHostAdapterLocalRAMRequest.ByteOffset = - BusLogic_AutoSCSI_BaseOffset; - FetchHostAdapterLocalRAMRequest.ByteCount = sizeof(AutoSCSIData); - if (BusLogic_Command(HostAdapter, - BusLogic_FetchHostAdapterLocalRAM, - &FetchHostAdapterLocalRAMRequest, - sizeof(FetchHostAdapterLocalRAMRequest), - &AutoSCSIData, sizeof(AutoSCSIData)) - != sizeof(AutoSCSIData)) - return BusLogic_Failure(HostAdapter, "FETCH HOST ADAPTER LOCAL RAM"); - /* - Save the Parity Checking Enabled, Bus Reset Enabled, and Termination - Information in the Host Adapter structure. - */ - HostAdapter->ParityCheckingEnabled = AutoSCSIData.ParityCheckingEnabled; - HostAdapter->BusResetEnabled = AutoSCSIData.BusResetEnabled; - if (HostAdapter->FirmwareVersion[0] == '4') - { - HostAdapter->TerminationInfoValid = true; - HostAdapter->LowByteTerminated = AutoSCSIData.LowByteTerminated; - HostAdapter->HighByteTerminated = AutoSCSIData.HighByteTerminated; + /* + BusLogic MultiMaster Host Adapters can be identified by their model number + and the major version number of their firmware as follows: + + 5.xx BusLogic "W" Series Host Adapters: + BT-948/958/958D + 4.xx BusLogic "C" Series Host Adapters: + BT-946C/956C/956CD/747C/757C/757CD/445C/545C/540CF + 3.xx BusLogic "S" Series Host Adapters: + BT-747S/747D/757S/757D/445S/545S/542D + BT-542B/742A (revision H) + 2.xx BusLogic "A" Series Host Adapters: + BT-542B/742A (revision G and below) + 0.xx AMI FastDisk VLB/EISA BusLogic Clone Host Adapter + */ + /* + Save the Model Name and Host Adapter Name in the Host Adapter structure. + */ + TargetPointer = HostAdapter->ModelName; + *TargetPointer++ = 'B'; + *TargetPointer++ = 'T'; + *TargetPointer++ = '-'; + for (i = 0; i < sizeof(HostAdapterModelNumber); i++) { + Character = HostAdapterModelNumber[i]; + if (Character == ' ' || Character == '\0') + break; + *TargetPointer++ = Character; + } + *TargetPointer++ = '\0'; + /* + Save the Firmware Version in the Host Adapter structure. + */ + TargetPointer = HostAdapter->FirmwareVersion; + *TargetPointer++ = BoardID.FirmwareVersion1stDigit; + *TargetPointer++ = '.'; + *TargetPointer++ = BoardID.FirmwareVersion2ndDigit; + if (FirmwareVersion3rdDigit != ' ' && FirmwareVersion3rdDigit != '\0') + *TargetPointer++ = FirmwareVersion3rdDigit; + *TargetPointer = '\0'; + /* + Issue the Inquire Firmware Version Letter command. + */ + if (strcmp(HostAdapter->FirmwareVersion, "3.3") >= 0) { + if (BusLogic_Command(HostAdapter, BusLogic_InquireFirmwareVersionLetter, NULL, 0, &FirmwareVersionLetter, sizeof(FirmwareVersionLetter)) + != sizeof(FirmwareVersionLetter)) + return BusLogic_Failure(HostAdapter, "INQUIRE FIRMWARE VERSION LETTER"); + if (FirmwareVersionLetter != ' ' && FirmwareVersionLetter != '\0') + *TargetPointer++ = FirmwareVersionLetter; + *TargetPointer = '\0'; } - /* - Save the Wide Permitted, Fast Permitted, Synchronous Permitted, - Disconnect Permitted, Ultra Permitted, and SCAM Information in the - Host Adapter structure. - */ - HostAdapter->WidePermitted = AutoSCSIData.WidePermitted; - HostAdapter->FastPermitted = AutoSCSIData.FastPermitted; - HostAdapter->SynchronousPermitted = - AutoSCSIData.SynchronousPermitted; - HostAdapter->DisconnectPermitted = - AutoSCSIData.DisconnectPermitted; - if (HostAdapter->HostUltraSCSI) - HostAdapter->UltraPermitted = AutoSCSIData.UltraPermitted; - if (HostAdapter->HostSupportsSCAM) - { - HostAdapter->SCAM_Enabled = AutoSCSIData.SCAM_Enabled; - HostAdapter->SCAM_Level2 = AutoSCSIData.SCAM_Level2; + /* + Save the Host Adapter SCSI ID in the Host Adapter structure. + */ + HostAdapter->SCSI_ID = Configuration.HostAdapterID; + /* + Determine the Bus Type and save it in the Host Adapter structure, determine + and save the IRQ Channel if necessary, and determine and save the DMA + Channel for ISA Host Adapters. + */ + HostAdapter->HostAdapterBusType = BusLogic_HostAdapterBusTypes[HostAdapter->ModelName[3] - '4']; + if (HostAdapter->IRQ_Channel == 0) { + if (Configuration.IRQ_Channel9) + HostAdapter->IRQ_Channel = 9; + else if (Configuration.IRQ_Channel10) + HostAdapter->IRQ_Channel = 10; + else if (Configuration.IRQ_Channel11) + HostAdapter->IRQ_Channel = 11; + else if (Configuration.IRQ_Channel12) + HostAdapter->IRQ_Channel = 12; + else if (Configuration.IRQ_Channel14) + HostAdapter->IRQ_Channel = 14; + else if (Configuration.IRQ_Channel15) + HostAdapter->IRQ_Channel = 15; + } + if (HostAdapter->HostAdapterBusType == BusLogic_ISA_Bus) { + if (Configuration.DMA_Channel5) + HostAdapter->DMA_Channel = 5; + else if (Configuration.DMA_Channel6) + HostAdapter->DMA_Channel = 6; + else if (Configuration.DMA_Channel7) + HostAdapter->DMA_Channel = 7; } - } - /* - Initialize fields in the Host Adapter structure for "S" and "A" series - MultiMaster Host Adapters. - */ - if (HostAdapter->FirmwareVersion[0] < '4') - { - if (SetupInformation.SynchronousInitiationEnabled) - { - HostAdapter->SynchronousPermitted = 0xFF; - if (HostAdapter->HostAdapterBusType == BusLogic_EISA_Bus) - { - if (ExtendedSetupInformation.Misc.FastOnEISA) - HostAdapter->FastPermitted = 0xFF; - if (strcmp(HostAdapter->ModelName, "BT-757") == 0) - HostAdapter->WidePermitted = 0xFF; - } + /* + Determine whether Extended Translation is enabled and save it in + the Host Adapter structure. + */ + GeometryRegister.All = BusLogic_ReadGeometryRegister(HostAdapter); + HostAdapter->ExtendedTranslationEnabled = GeometryRegister.gr.ExtendedTranslationEnabled; + /* + Save the Scatter Gather Limits, Level Sensitive Interrupt flag, Wide + SCSI flag, Differential SCSI flag, SCAM Supported flag, and + Ultra SCSI flag in the Host Adapter structure. + */ + HostAdapter->HostAdapterScatterGatherLimit = ExtendedSetupInformation.ScatterGatherLimit; + HostAdapter->DriverScatterGatherLimit = HostAdapter->HostAdapterScatterGatherLimit; + if (HostAdapter->HostAdapterScatterGatherLimit > BusLogic_ScatterGatherLimit) + HostAdapter->DriverScatterGatherLimit = BusLogic_ScatterGatherLimit; + if (ExtendedSetupInformation.Misc.LevelSensitiveInterrupt) + HostAdapter->LevelSensitiveInterrupt = true; + HostAdapter->HostWideSCSI = ExtendedSetupInformation.HostWideSCSI; + HostAdapter->HostDifferentialSCSI = ExtendedSetupInformation.HostDifferentialSCSI; + HostAdapter->HostSupportsSCAM = ExtendedSetupInformation.HostSupportsSCAM; + HostAdapter->HostUltraSCSI = ExtendedSetupInformation.HostUltraSCSI; + /* + Determine whether Extended LUN Format CCBs are supported and save the + information in the Host Adapter structure. + */ + if (HostAdapter->FirmwareVersion[0] == '5' || (HostAdapter->FirmwareVersion[0] == '4' && HostAdapter->HostWideSCSI)) + HostAdapter->ExtendedLUNSupport = true; + /* + Issue the Inquire PCI Host Adapter Information command to read the + Termination Information from "W" series MultiMaster Host Adapters. + */ + if (HostAdapter->FirmwareVersion[0] == '5') { + if (BusLogic_Command(HostAdapter, BusLogic_InquirePCIHostAdapterInformation, NULL, 0, &PCIHostAdapterInformation, sizeof(PCIHostAdapterInformation)) + != sizeof(PCIHostAdapterInformation)) + return BusLogic_Failure(HostAdapter, "INQUIRE PCI HOST ADAPTER INFORMATION"); + /* + Save the Termination Information in the Host Adapter structure. + */ + if (PCIHostAdapterInformation.GenericInfoValid) { + HostAdapter->TerminationInfoValid = true; + HostAdapter->LowByteTerminated = PCIHostAdapterInformation.LowByteTerminated; + HostAdapter->HighByteTerminated = PCIHostAdapterInformation.HighByteTerminated; + } + } + /* + Issue the Fetch Host Adapter Local RAM command to read the AutoSCSI data + from "W" and "C" series MultiMaster Host Adapters. + */ + if (HostAdapter->FirmwareVersion[0] >= '4') { + FetchHostAdapterLocalRAMRequest.ByteOffset = BusLogic_AutoSCSI_BaseOffset; + FetchHostAdapterLocalRAMRequest.ByteCount = sizeof(AutoSCSIData); + if (BusLogic_Command(HostAdapter, BusLogic_FetchHostAdapterLocalRAM, &FetchHostAdapterLocalRAMRequest, sizeof(FetchHostAdapterLocalRAMRequest), &AutoSCSIData, sizeof(AutoSCSIData)) + != sizeof(AutoSCSIData)) + return BusLogic_Failure(HostAdapter, "FETCH HOST ADAPTER LOCAL RAM"); + /* + Save the Parity Checking Enabled, Bus Reset Enabled, and Termination + Information in the Host Adapter structure. + */ + HostAdapter->ParityCheckingEnabled = AutoSCSIData.ParityCheckingEnabled; + HostAdapter->BusResetEnabled = AutoSCSIData.BusResetEnabled; + if (HostAdapter->FirmwareVersion[0] == '4') { + HostAdapter->TerminationInfoValid = true; + HostAdapter->LowByteTerminated = AutoSCSIData.LowByteTerminated; + HostAdapter->HighByteTerminated = AutoSCSIData.HighByteTerminated; + } + /* + Save the Wide Permitted, Fast Permitted, Synchronous Permitted, + Disconnect Permitted, Ultra Permitted, and SCAM Information in the + Host Adapter structure. + */ + HostAdapter->WidePermitted = AutoSCSIData.WidePermitted; + HostAdapter->FastPermitted = AutoSCSIData.FastPermitted; + HostAdapter->SynchronousPermitted = AutoSCSIData.SynchronousPermitted; + HostAdapter->DisconnectPermitted = AutoSCSIData.DisconnectPermitted; + if (HostAdapter->HostUltraSCSI) + HostAdapter->UltraPermitted = AutoSCSIData.UltraPermitted; + if (HostAdapter->HostSupportsSCAM) { + HostAdapter->SCAM_Enabled = AutoSCSIData.SCAM_Enabled; + HostAdapter->SCAM_Level2 = AutoSCSIData.SCAM_Level2; + } + } + /* + Initialize fields in the Host Adapter structure for "S" and "A" series + MultiMaster Host Adapters. + */ + if (HostAdapter->FirmwareVersion[0] < '4') { + if (SetupInformation.SynchronousInitiationEnabled) { + HostAdapter->SynchronousPermitted = 0xFF; + if (HostAdapter->HostAdapterBusType == BusLogic_EISA_Bus) { + if (ExtendedSetupInformation.Misc.FastOnEISA) + HostAdapter->FastPermitted = 0xFF; + if (strcmp(HostAdapter->ModelName, "BT-757") == 0) + HostAdapter->WidePermitted = 0xFF; + } + } + HostAdapter->DisconnectPermitted = 0xFF; + HostAdapter->ParityCheckingEnabled = SetupInformation.ParityCheckingEnabled; + HostAdapter->BusResetEnabled = true; + } + /* + Determine the maximum number of Target IDs and Logical Units supported by + this driver for Wide and Narrow Host Adapters. + */ + HostAdapter->MaxTargetDevices = (HostAdapter->HostWideSCSI ? 16 : 8); + HostAdapter->MaxLogicalUnits = (HostAdapter->ExtendedLUNSupport ? 32 : 8); + /* + Select appropriate values for the Mailbox Count, Driver Queue Depth, + Initial CCBs, and Incremental CCBs variables based on whether or not Strict + Round Robin Mode is supported. If Strict Round Robin Mode is supported, + then there is no performance degradation in using the maximum possible + number of Outgoing and Incoming Mailboxes and allowing the Tagged and + Untagged Queue Depths to determine the actual utilization. If Strict Round + Robin Mode is not supported, then the Host Adapter must scan all the + Outgoing Mailboxes whenever an Outgoing Mailbox entry is made, which can + cause a substantial performance penalty. The host adapters actually have + room to store the following number of CCBs internally; that is, they can + internally queue and manage this many active commands on the SCSI bus + simultaneously. Performance measurements demonstrate that the Driver Queue + Depth should be set to the Mailbox Count, rather than the Host Adapter + Queue Depth (internal CCB capacity), as it is more efficient to have the + queued commands waiting in Outgoing Mailboxes if necessary than to block + the process in the higher levels of the SCSI Subsystem. + + 192 BT-948/958/958D + 100 BT-946C/956C/956CD/747C/757C/757CD/445C + 50 BT-545C/540CF + 30 BT-747S/747D/757S/757D/445S/545S/542D/542B/742A + */ + if (HostAdapter->FirmwareVersion[0] == '5') + HostAdapter->HostAdapterQueueDepth = 192; + else if (HostAdapter->FirmwareVersion[0] == '4') + HostAdapter->HostAdapterQueueDepth = (HostAdapter->HostAdapterBusType != BusLogic_ISA_Bus ? 100 : 50); + else + HostAdapter->HostAdapterQueueDepth = 30; + if (strcmp(HostAdapter->FirmwareVersion, "3.31") >= 0) { + HostAdapter->StrictRoundRobinModeSupport = true; + HostAdapter->MailboxCount = BusLogic_MaxMailboxes; + } else { + HostAdapter->StrictRoundRobinModeSupport = false; + HostAdapter->MailboxCount = 32; + } + HostAdapter->DriverQueueDepth = HostAdapter->MailboxCount; + HostAdapter->InitialCCBs = 4 * BusLogic_CCB_AllocationGroupSize; + HostAdapter->IncrementalCCBs = BusLogic_CCB_AllocationGroupSize; + /* + Tagged Queuing support is available and operates properly on all "W" series + MultiMaster Host Adapters, on "C" series MultiMaster Host Adapters with + firmware version 4.22 and above, and on "S" series MultiMaster Host + Adapters with firmware version 3.35 and above. + */ + HostAdapter->TaggedQueuingPermitted = 0; + switch (HostAdapter->FirmwareVersion[0]) { + case '5': + HostAdapter->TaggedQueuingPermitted = 0xFFFF; + break; + case '4': + if (strcmp(HostAdapter->FirmwareVersion, "4.22") >= 0) + HostAdapter->TaggedQueuingPermitted = 0xFFFF; + break; + case '3': + if (strcmp(HostAdapter->FirmwareVersion, "3.35") >= 0) + HostAdapter->TaggedQueuingPermitted = 0xFFFF; + break; } - HostAdapter->DisconnectPermitted = 0xFF; - HostAdapter->ParityCheckingEnabled = - SetupInformation.ParityCheckingEnabled; - HostAdapter->BusResetEnabled = true; - } - /* - Determine the maximum number of Target IDs and Logical Units supported by - this driver for Wide and Narrow Host Adapters. - */ - HostAdapter->MaxTargetDevices = (HostAdapter->HostWideSCSI ? 16 : 8); - HostAdapter->MaxLogicalUnits = (HostAdapter->ExtendedLUNSupport ? 32 : 8); - /* - Select appropriate values for the Mailbox Count, Driver Queue Depth, - Initial CCBs, and Incremental CCBs variables based on whether or not Strict - Round Robin Mode is supported. If Strict Round Robin Mode is supported, - then there is no performance degradation in using the maximum possible - number of Outgoing and Incoming Mailboxes and allowing the Tagged and - Untagged Queue Depths to determine the actual utilization. If Strict Round - Robin Mode is not supported, then the Host Adapter must scan all the - Outgoing Mailboxes whenever an Outgoing Mailbox entry is made, which can - cause a substantial performance penalty. The host adapters actually have - room to store the following number of CCBs internally; that is, they can - internally queue and manage this many active commands on the SCSI bus - simultaneously. Performance measurements demonstrate that the Driver Queue - Depth should be set to the Mailbox Count, rather than the Host Adapter - Queue Depth (internal CCB capacity), as it is more efficient to have the - queued commands waiting in Outgoing Mailboxes if necessary than to block - the process in the higher levels of the SCSI Subsystem. - - 192 BT-948/958/958D - 100 BT-946C/956C/956CD/747C/757C/757CD/445C - 50 BT-545C/540CF - 30 BT-747S/747D/757S/757D/445S/545S/542D/542B/742A - */ - if (HostAdapter->FirmwareVersion[0] == '5') - HostAdapter->HostAdapterQueueDepth = 192; - else if (HostAdapter->FirmwareVersion[0] == '4') - HostAdapter->HostAdapterQueueDepth = - (HostAdapter->HostAdapterBusType != BusLogic_ISA_Bus ? 100 : 50); - else HostAdapter->HostAdapterQueueDepth = 30; - if (strcmp(HostAdapter->FirmwareVersion, "3.31") >= 0) - { - HostAdapter->StrictRoundRobinModeSupport = true; - HostAdapter->MailboxCount = BusLogic_MaxMailboxes; - } - else - { - HostAdapter->StrictRoundRobinModeSupport = false; - HostAdapter->MailboxCount = 32; - } - HostAdapter->DriverQueueDepth = HostAdapter->MailboxCount; - HostAdapter->InitialCCBs = 4 * BusLogic_CCB_AllocationGroupSize; - HostAdapter->IncrementalCCBs = BusLogic_CCB_AllocationGroupSize; - /* - Tagged Queuing support is available and operates properly on all "W" series - MultiMaster Host Adapters, on "C" series MultiMaster Host Adapters with - firmware version 4.22 and above, and on "S" series MultiMaster Host - Adapters with firmware version 3.35 and above. - */ - HostAdapter->TaggedQueuingPermitted = 0; - switch (HostAdapter->FirmwareVersion[0]) - { - case '5': - HostAdapter->TaggedQueuingPermitted = 0xFFFF; - break; - case '4': - if (strcmp(HostAdapter->FirmwareVersion, "4.22") >= 0) - HostAdapter->TaggedQueuingPermitted = 0xFFFF; - break; - case '3': - if (strcmp(HostAdapter->FirmwareVersion, "3.35") >= 0) - HostAdapter->TaggedQueuingPermitted = 0xFFFF; - break; - } - /* - Determine the Host Adapter BIOS Address if the BIOS is enabled and - save it in the Host Adapter structure. The BIOS is disabled if the - BIOS_Address is 0. - */ - HostAdapter->BIOS_Address = ExtendedSetupInformation.BIOS_Address << 12; - /* - ISA Host Adapters require Bounce Buffers if there is more than 16MB memory. - */ - if (HostAdapter->HostAdapterBusType == BusLogic_ISA_Bus && - (void *) high_memory > (void *) MAX_DMA_ADDRESS) - HostAdapter->BounceBuffersRequired = true; - /* - BusLogic BT-445S Host Adapters prior to board revision E have a hardware - bug whereby when the BIOS is enabled, transfers to/from the same address - range the BIOS occupies modulo 16MB are handled incorrectly. Only properly - functioning BT-445S Host Adapters have firmware version 3.37, so require - that ISA Bounce Buffers be used for the buggy BT-445S models if there is - more than 16MB memory. - */ - if (HostAdapter->BIOS_Address > 0 && - strcmp(HostAdapter->ModelName, "BT-445S") == 0 && - strcmp(HostAdapter->FirmwareVersion, "3.37") < 0 && - (void *) high_memory > (void *) MAX_DMA_ADDRESS) - HostAdapter->BounceBuffersRequired = true; - /* - Initialize parameters common to MultiMaster and FlashPoint Host Adapters. - */ -Common: - /* - Initialize the Host Adapter Full Model Name from the Model Name. - */ - strcpy(HostAdapter->FullModelName, "BusLogic "); - strcat(HostAdapter->FullModelName, HostAdapter->ModelName); - /* - Select an appropriate value for the Tagged Queue Depth either from a - BusLogic Driver Options specification, or based on whether this Host - Adapter requires that ISA Bounce Buffers be used. The Tagged Queue Depth - is left at 0 for automatic determination in BusLogic_SelectQueueDepths. - Initialize the Untagged Queue Depth. - */ - for (TargetID = 0; TargetID < BusLogic_MaxTargetDevices; TargetID++) - { - unsigned char QueueDepth = 0; - if (HostAdapter->DriverOptions != NULL && - HostAdapter->DriverOptions->QueueDepth[TargetID] > 0) - QueueDepth = HostAdapter->DriverOptions->QueueDepth[TargetID]; - else if (HostAdapter->BounceBuffersRequired) - QueueDepth = BusLogic_TaggedQueueDepthBB; - HostAdapter->QueueDepth[TargetID] = QueueDepth; - } - if (HostAdapter->BounceBuffersRequired) - HostAdapter->UntaggedQueueDepth = BusLogic_UntaggedQueueDepthBB; - else HostAdapter->UntaggedQueueDepth = BusLogic_UntaggedQueueDepth; - if (HostAdapter->DriverOptions != NULL) - HostAdapter->CommonQueueDepth = - HostAdapter->DriverOptions->CommonQueueDepth; - if (HostAdapter->CommonQueueDepth > 0 && - HostAdapter->CommonQueueDepth < HostAdapter->UntaggedQueueDepth) - HostAdapter->UntaggedQueueDepth = HostAdapter->CommonQueueDepth; - /* - Tagged Queuing is only allowed if Disconnect/Reconnect is permitted. - Therefore, mask the Tagged Queuing Permitted Default bits with the - Disconnect/Reconnect Permitted bits. - */ - HostAdapter->TaggedQueuingPermitted &= HostAdapter->DisconnectPermitted; - /* - Combine the default Tagged Queuing Permitted bits with any BusLogic Driver - Options Tagged Queuing specification. - */ - if (HostAdapter->DriverOptions != NULL) - HostAdapter->TaggedQueuingPermitted = - (HostAdapter->DriverOptions->TaggedQueuingPermitted & - HostAdapter->DriverOptions->TaggedQueuingPermittedMask) | - (HostAdapter->TaggedQueuingPermitted & - ~HostAdapter->DriverOptions->TaggedQueuingPermittedMask); - - /* - Select an appropriate value for Bus Settle Time either from a BusLogic - Driver Options specification, or from BusLogic_DefaultBusSettleTime. - */ - if (HostAdapter->DriverOptions != NULL && - HostAdapter->DriverOptions->BusSettleTime > 0) - HostAdapter->BusSettleTime = HostAdapter->DriverOptions->BusSettleTime; - else HostAdapter->BusSettleTime = BusLogic_DefaultBusSettleTime; - /* - Indicate reading the Host Adapter Configuration completed successfully. - */ - return true; + /* + Determine the Host Adapter BIOS Address if the BIOS is enabled and + save it in the Host Adapter structure. The BIOS is disabled if the + BIOS_Address is 0. + */ + HostAdapter->BIOS_Address = ExtendedSetupInformation.BIOS_Address << 12; + /* + ISA Host Adapters require Bounce Buffers if there is more than 16MB memory. + */ + if (HostAdapter->HostAdapterBusType == BusLogic_ISA_Bus && (void *) high_memory > (void *) MAX_DMA_ADDRESS) + HostAdapter->BounceBuffersRequired = true; + /* + BusLogic BT-445S Host Adapters prior to board revision E have a hardware + bug whereby when the BIOS is enabled, transfers to/from the same address + range the BIOS occupies modulo 16MB are handled incorrectly. Only properly + functioning BT-445S Host Adapters have firmware version 3.37, so require + that ISA Bounce Buffers be used for the buggy BT-445S models if there is + more than 16MB memory. + */ + if (HostAdapter->BIOS_Address > 0 && strcmp(HostAdapter->ModelName, "BT-445S") == 0 && strcmp(HostAdapter->FirmwareVersion, "3.37") < 0 && (void *) high_memory > (void *) MAX_DMA_ADDRESS) + HostAdapter->BounceBuffersRequired = true; + /* + Initialize parameters common to MultiMaster and FlashPoint Host Adapters. + */ + Common: + /* + Initialize the Host Adapter Full Model Name from the Model Name. + */ + strcpy(HostAdapter->FullModelName, "BusLogic "); + strcat(HostAdapter->FullModelName, HostAdapter->ModelName); + /* + Select an appropriate value for the Tagged Queue Depth either from a + BusLogic Driver Options specification, or based on whether this Host + Adapter requires that ISA Bounce Buffers be used. The Tagged Queue Depth + is left at 0 for automatic determination in BusLogic_SelectQueueDepths. + Initialize the Untagged Queue Depth. + */ + for (TargetID = 0; TargetID < BusLogic_MaxTargetDevices; TargetID++) { + unsigned char QueueDepth = 0; + if (HostAdapter->DriverOptions != NULL && HostAdapter->DriverOptions->QueueDepth[TargetID] > 0) + QueueDepth = HostAdapter->DriverOptions->QueueDepth[TargetID]; + else if (HostAdapter->BounceBuffersRequired) + QueueDepth = BusLogic_TaggedQueueDepthBB; + HostAdapter->QueueDepth[TargetID] = QueueDepth; + } + if (HostAdapter->BounceBuffersRequired) + HostAdapter->UntaggedQueueDepth = BusLogic_UntaggedQueueDepthBB; + else + HostAdapter->UntaggedQueueDepth = BusLogic_UntaggedQueueDepth; + if (HostAdapter->DriverOptions != NULL) + HostAdapter->CommonQueueDepth = HostAdapter->DriverOptions->CommonQueueDepth; + if (HostAdapter->CommonQueueDepth > 0 && HostAdapter->CommonQueueDepth < HostAdapter->UntaggedQueueDepth) + HostAdapter->UntaggedQueueDepth = HostAdapter->CommonQueueDepth; + /* + Tagged Queuing is only allowed if Disconnect/Reconnect is permitted. + Therefore, mask the Tagged Queuing Permitted Default bits with the + Disconnect/Reconnect Permitted bits. + */ + HostAdapter->TaggedQueuingPermitted &= HostAdapter->DisconnectPermitted; + /* + Combine the default Tagged Queuing Permitted bits with any BusLogic Driver + Options Tagged Queuing specification. + */ + if (HostAdapter->DriverOptions != NULL) + HostAdapter->TaggedQueuingPermitted = + (HostAdapter->DriverOptions->TaggedQueuingPermitted & HostAdapter->DriverOptions->TaggedQueuingPermittedMask) | (HostAdapter->TaggedQueuingPermitted & ~HostAdapter->DriverOptions->TaggedQueuingPermittedMask); + + /* + Select an appropriate value for Bus Settle Time either from a BusLogic + Driver Options specification, or from BusLogic_DefaultBusSettleTime. + */ + if (HostAdapter->DriverOptions != NULL && HostAdapter->DriverOptions->BusSettleTime > 0) + HostAdapter->BusSettleTime = HostAdapter->DriverOptions->BusSettleTime; + else + HostAdapter->BusSettleTime = BusLogic_DefaultBusSettleTime; + /* + Indicate reading the Host Adapter Configuration completed successfully. + */ + return true; } @@ -2045,210 +1725,144 @@ Common: static boolean __init BusLogic_ReportHostAdapterConfiguration(struct BusLogic_HostAdapter *HostAdapter) { - unsigned short AllTargetsMask = (1 << HostAdapter->MaxTargetDevices) - 1; - unsigned short SynchronousPermitted, FastPermitted; - unsigned short UltraPermitted, WidePermitted; - unsigned short DisconnectPermitted, TaggedQueuingPermitted; - boolean CommonSynchronousNegotiation, CommonTaggedQueueDepth; - char SynchronousString[BusLogic_MaxTargetDevices+1]; - char WideString[BusLogic_MaxTargetDevices+1]; - char DisconnectString[BusLogic_MaxTargetDevices+1]; - char TaggedQueuingString[BusLogic_MaxTargetDevices+1]; - char *SynchronousMessage = SynchronousString; - char *WideMessage = WideString; - char *DisconnectMessage = DisconnectString; - char *TaggedQueuingMessage = TaggedQueuingString; - int TargetID; - BusLogic_Info("Configuring BusLogic Model %s %s%s%s%s SCSI Host Adapter\n", - HostAdapter, HostAdapter->ModelName, - BusLogic_HostAdapterBusNames[HostAdapter->HostAdapterBusType], - (HostAdapter->HostWideSCSI ? " Wide" : ""), - (HostAdapter->HostDifferentialSCSI ? " Differential" : ""), - (HostAdapter->HostUltraSCSI ? " Ultra" : "")); - BusLogic_Info(" Firmware Version: %s, I/O Address: 0x%X, " - "IRQ Channel: %d/%s\n", HostAdapter, - HostAdapter->FirmwareVersion, - HostAdapter->IO_Address, HostAdapter->IRQ_Channel, - (HostAdapter->LevelSensitiveInterrupt ? "Level" : "Edge")); - if (HostAdapter->HostAdapterBusType != BusLogic_PCI_Bus) - { - BusLogic_Info(" DMA Channel: ", HostAdapter); - if (HostAdapter->DMA_Channel > 0) - BusLogic_Info("%d, ", HostAdapter, HostAdapter->DMA_Channel); - else BusLogic_Info("None, ", HostAdapter); - if (HostAdapter->BIOS_Address > 0) - BusLogic_Info("BIOS Address: 0x%X, ", HostAdapter, - HostAdapter->BIOS_Address); - else BusLogic_Info("BIOS Address: None, ", HostAdapter); - } - else - { - BusLogic_Info(" PCI Bus: %d, Device: %d, Address: ", - HostAdapter, HostAdapter->Bus, HostAdapter->Device); - if (HostAdapter->PCI_Address > 0) - BusLogic_Info("0x%X, ", HostAdapter, HostAdapter->PCI_Address); - else BusLogic_Info("Unassigned, ", HostAdapter); - } - BusLogic_Info("Host Adapter SCSI ID: %d\n", HostAdapter, - HostAdapter->SCSI_ID); - BusLogic_Info(" Parity Checking: %s, Extended Translation: %s\n", - HostAdapter, - (HostAdapter->ParityCheckingEnabled - ? "Enabled" : "Disabled"), - (HostAdapter->ExtendedTranslationEnabled - ? "Enabled" : "Disabled")); - AllTargetsMask &= ~(1 << HostAdapter->SCSI_ID); - SynchronousPermitted = HostAdapter->SynchronousPermitted & AllTargetsMask; - FastPermitted = HostAdapter->FastPermitted & AllTargetsMask; - UltraPermitted = HostAdapter->UltraPermitted & AllTargetsMask; - if ((BusLogic_MultiMasterHostAdapterP(HostAdapter) && - (HostAdapter->FirmwareVersion[0] >= '4' || - HostAdapter->HostAdapterBusType == BusLogic_EISA_Bus)) || - BusLogic_FlashPointHostAdapterP(HostAdapter)) - { - CommonSynchronousNegotiation = false; - if (SynchronousPermitted == 0) - { - SynchronousMessage = "Disabled"; - CommonSynchronousNegotiation = true; - } - else if (SynchronousPermitted == AllTargetsMask) - { - if (FastPermitted == 0) - { - SynchronousMessage = "Slow"; - CommonSynchronousNegotiation = true; - } - else if (FastPermitted == AllTargetsMask) - { - if (UltraPermitted == 0) - { - SynchronousMessage = "Fast"; - CommonSynchronousNegotiation = true; + unsigned short AllTargetsMask = (1 << HostAdapter->MaxTargetDevices) - 1; + unsigned short SynchronousPermitted, FastPermitted; + unsigned short UltraPermitted, WidePermitted; + unsigned short DisconnectPermitted, TaggedQueuingPermitted; + boolean CommonSynchronousNegotiation, CommonTaggedQueueDepth; + char SynchronousString[BusLogic_MaxTargetDevices + 1]; + char WideString[BusLogic_MaxTargetDevices + 1]; + char DisconnectString[BusLogic_MaxTargetDevices + 1]; + char TaggedQueuingString[BusLogic_MaxTargetDevices + 1]; + char *SynchronousMessage = SynchronousString; + char *WideMessage = WideString; + char *DisconnectMessage = DisconnectString; + char *TaggedQueuingMessage = TaggedQueuingString; + int TargetID; + BusLogic_Info("Configuring BusLogic Model %s %s%s%s%s SCSI Host Adapter\n", + HostAdapter, HostAdapter->ModelName, + BusLogic_HostAdapterBusNames[HostAdapter->HostAdapterBusType], (HostAdapter->HostWideSCSI ? " Wide" : ""), (HostAdapter->HostDifferentialSCSI ? " Differential" : ""), (HostAdapter->HostUltraSCSI ? " Ultra" : "")); + BusLogic_Info(" Firmware Version: %s, I/O Address: 0x%X, " "IRQ Channel: %d/%s\n", HostAdapter, HostAdapter->FirmwareVersion, HostAdapter->IO_Address, HostAdapter->IRQ_Channel, (HostAdapter->LevelSensitiveInterrupt ? "Level" : "Edge")); + if (HostAdapter->HostAdapterBusType != BusLogic_PCI_Bus) { + BusLogic_Info(" DMA Channel: ", HostAdapter); + if (HostAdapter->DMA_Channel > 0) + BusLogic_Info("%d, ", HostAdapter, HostAdapter->DMA_Channel); + else + BusLogic_Info("None, ", HostAdapter); + if (HostAdapter->BIOS_Address > 0) + BusLogic_Info("BIOS Address: 0x%X, ", HostAdapter, HostAdapter->BIOS_Address); + else + BusLogic_Info("BIOS Address: None, ", HostAdapter); + } else { + BusLogic_Info(" PCI Bus: %d, Device: %d, Address: ", HostAdapter, HostAdapter->Bus, HostAdapter->Device); + if (HostAdapter->PCI_Address > 0) + BusLogic_Info("0x%X, ", HostAdapter, HostAdapter->PCI_Address); + else + BusLogic_Info("Unassigned, ", HostAdapter); + } + BusLogic_Info("Host Adapter SCSI ID: %d\n", HostAdapter, HostAdapter->SCSI_ID); + BusLogic_Info(" Parity Checking: %s, Extended Translation: %s\n", HostAdapter, (HostAdapter->ParityCheckingEnabled ? "Enabled" : "Disabled"), (HostAdapter->ExtendedTranslationEnabled ? "Enabled" : "Disabled")); + AllTargetsMask &= ~(1 << HostAdapter->SCSI_ID); + SynchronousPermitted = HostAdapter->SynchronousPermitted & AllTargetsMask; + FastPermitted = HostAdapter->FastPermitted & AllTargetsMask; + UltraPermitted = HostAdapter->UltraPermitted & AllTargetsMask; + if ((BusLogic_MultiMasterHostAdapterP(HostAdapter) && (HostAdapter->FirmwareVersion[0] >= '4' || HostAdapter->HostAdapterBusType == BusLogic_EISA_Bus)) || BusLogic_FlashPointHostAdapterP(HostAdapter)) { + CommonSynchronousNegotiation = false; + if (SynchronousPermitted == 0) { + SynchronousMessage = "Disabled"; + CommonSynchronousNegotiation = true; + } else if (SynchronousPermitted == AllTargetsMask) { + if (FastPermitted == 0) { + SynchronousMessage = "Slow"; + CommonSynchronousNegotiation = true; + } else if (FastPermitted == AllTargetsMask) { + if (UltraPermitted == 0) { + SynchronousMessage = "Fast"; + CommonSynchronousNegotiation = true; + } else if (UltraPermitted == AllTargetsMask) { + SynchronousMessage = "Ultra"; + CommonSynchronousNegotiation = true; + } + } } - else if (UltraPermitted == AllTargetsMask) - { - SynchronousMessage = "Ultra"; - CommonSynchronousNegotiation = true; + if (!CommonSynchronousNegotiation) { + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + SynchronousString[TargetID] = ((!(SynchronousPermitted & (1 << TargetID))) ? 'N' : (!(FastPermitted & (1 << TargetID)) ? 'S' : (!(UltraPermitted & (1 << TargetID)) ? 'F' : 'U'))); + SynchronousString[HostAdapter->SCSI_ID] = '#'; + SynchronousString[HostAdapter->MaxTargetDevices] = '\0'; } - } - } - if (!CommonSynchronousNegotiation) - { - for (TargetID = 0; - TargetID < HostAdapter->MaxTargetDevices; - TargetID++) - SynchronousString[TargetID] = - ((!(SynchronousPermitted & (1 << TargetID))) ? 'N' : - (!(FastPermitted & (1 << TargetID)) ? 'S' : - (!(UltraPermitted & (1 << TargetID)) ? 'F' : 'U'))); - SynchronousString[HostAdapter->SCSI_ID] = '#'; - SynchronousString[HostAdapter->MaxTargetDevices] = '\0'; + } else + SynchronousMessage = (SynchronousPermitted == 0 ? "Disabled" : "Enabled"); + WidePermitted = HostAdapter->WidePermitted & AllTargetsMask; + if (WidePermitted == 0) + WideMessage = "Disabled"; + else if (WidePermitted == AllTargetsMask) + WideMessage = "Enabled"; + else { + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + WideString[TargetID] = ((WidePermitted & (1 << TargetID)) ? 'Y' : 'N'); + WideString[HostAdapter->SCSI_ID] = '#'; + WideString[HostAdapter->MaxTargetDevices] = '\0'; + } + DisconnectPermitted = HostAdapter->DisconnectPermitted & AllTargetsMask; + if (DisconnectPermitted == 0) + DisconnectMessage = "Disabled"; + else if (DisconnectPermitted == AllTargetsMask) + DisconnectMessage = "Enabled"; + else { + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + DisconnectString[TargetID] = ((DisconnectPermitted & (1 << TargetID)) ? 'Y' : 'N'); + DisconnectString[HostAdapter->SCSI_ID] = '#'; + DisconnectString[HostAdapter->MaxTargetDevices] = '\0'; + } + TaggedQueuingPermitted = HostAdapter->TaggedQueuingPermitted & AllTargetsMask; + if (TaggedQueuingPermitted == 0) + TaggedQueuingMessage = "Disabled"; + else if (TaggedQueuingPermitted == AllTargetsMask) + TaggedQueuingMessage = "Enabled"; + else { + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + TaggedQueuingString[TargetID] = ((TaggedQueuingPermitted & (1 << TargetID)) ? 'Y' : 'N'); + TaggedQueuingString[HostAdapter->SCSI_ID] = '#'; + TaggedQueuingString[HostAdapter->MaxTargetDevices] = '\0'; + } + BusLogic_Info(" Synchronous Negotiation: %s, Wide Negotiation: %s\n", HostAdapter, SynchronousMessage, WideMessage); + BusLogic_Info(" Disconnect/Reconnect: %s, Tagged Queuing: %s\n", HostAdapter, DisconnectMessage, TaggedQueuingMessage); + if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) { + BusLogic_Info(" Scatter/Gather Limit: %d of %d segments, " "Mailboxes: %d\n", HostAdapter, HostAdapter->DriverScatterGatherLimit, HostAdapter->HostAdapterScatterGatherLimit, HostAdapter->MailboxCount); + BusLogic_Info(" Driver Queue Depth: %d, " "Host Adapter Queue Depth: %d\n", HostAdapter, HostAdapter->DriverQueueDepth, HostAdapter->HostAdapterQueueDepth); + } else + BusLogic_Info(" Driver Queue Depth: %d, " "Scatter/Gather Limit: %d segments\n", HostAdapter, HostAdapter->DriverQueueDepth, HostAdapter->DriverScatterGatherLimit); + BusLogic_Info(" Tagged Queue Depth: ", HostAdapter); + CommonTaggedQueueDepth = true; + for (TargetID = 1; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + if (HostAdapter->QueueDepth[TargetID] != HostAdapter->QueueDepth[0]) { + CommonTaggedQueueDepth = false; + break; + } + if (CommonTaggedQueueDepth) { + if (HostAdapter->QueueDepth[0] > 0) + BusLogic_Info("%d", HostAdapter, HostAdapter->QueueDepth[0]); + else + BusLogic_Info("Automatic", HostAdapter); + } else + BusLogic_Info("Individual", HostAdapter); + BusLogic_Info(", Untagged Queue Depth: %d\n", HostAdapter, HostAdapter->UntaggedQueueDepth); + if (HostAdapter->TerminationInfoValid) { + if (HostAdapter->HostWideSCSI) + BusLogic_Info(" SCSI Bus Termination: %s", HostAdapter, (HostAdapter->LowByteTerminated ? (HostAdapter->HighByteTerminated ? "Both Enabled" : "Low Enabled") + : (HostAdapter->HighByteTerminated ? "High Enabled" : "Both Disabled"))); + else + BusLogic_Info(" SCSI Bus Termination: %s", HostAdapter, (HostAdapter->LowByteTerminated ? "Enabled" : "Disabled")); + if (HostAdapter->HostSupportsSCAM) + BusLogic_Info(", SCAM: %s", HostAdapter, (HostAdapter->SCAM_Enabled ? (HostAdapter->SCAM_Level2 ? "Enabled, Level 2" : "Enabled, Level 1") + : "Disabled")); + BusLogic_Info("\n", HostAdapter); } - } - else SynchronousMessage = - (SynchronousPermitted == 0 ? "Disabled" : "Enabled"); - WidePermitted = HostAdapter->WidePermitted & AllTargetsMask; - if (WidePermitted == 0) - WideMessage = "Disabled"; - else if (WidePermitted == AllTargetsMask) - WideMessage = "Enabled"; - else - { - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - WideString[TargetID] = - ((WidePermitted & (1 << TargetID)) ? 'Y' : 'N'); - WideString[HostAdapter->SCSI_ID] = '#'; - WideString[HostAdapter->MaxTargetDevices] = '\0'; - } - DisconnectPermitted = HostAdapter->DisconnectPermitted & AllTargetsMask; - if (DisconnectPermitted == 0) - DisconnectMessage = "Disabled"; - else if (DisconnectPermitted == AllTargetsMask) - DisconnectMessage = "Enabled"; - else - { - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - DisconnectString[TargetID] = - ((DisconnectPermitted & (1 << TargetID)) ? 'Y' : 'N'); - DisconnectString[HostAdapter->SCSI_ID] = '#'; - DisconnectString[HostAdapter->MaxTargetDevices] = '\0'; - } - TaggedQueuingPermitted = - HostAdapter->TaggedQueuingPermitted & AllTargetsMask; - if (TaggedQueuingPermitted == 0) - TaggedQueuingMessage = "Disabled"; - else if (TaggedQueuingPermitted == AllTargetsMask) - TaggedQueuingMessage = "Enabled"; - else - { - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - TaggedQueuingString[TargetID] = - ((TaggedQueuingPermitted & (1 << TargetID)) ? 'Y' : 'N'); - TaggedQueuingString[HostAdapter->SCSI_ID] = '#'; - TaggedQueuingString[HostAdapter->MaxTargetDevices] = '\0'; - } - BusLogic_Info(" Synchronous Negotiation: %s, Wide Negotiation: %s\n", - HostAdapter, SynchronousMessage, WideMessage); - BusLogic_Info(" Disconnect/Reconnect: %s, Tagged Queuing: %s\n", - HostAdapter, DisconnectMessage, TaggedQueuingMessage); - if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) - { - BusLogic_Info(" Scatter/Gather Limit: %d of %d segments, " - "Mailboxes: %d\n", HostAdapter, - HostAdapter->DriverScatterGatherLimit, - HostAdapter->HostAdapterScatterGatherLimit, - HostAdapter->MailboxCount); - BusLogic_Info(" Driver Queue Depth: %d, " - "Host Adapter Queue Depth: %d\n", - HostAdapter, HostAdapter->DriverQueueDepth, - HostAdapter->HostAdapterQueueDepth); - } - else BusLogic_Info(" Driver Queue Depth: %d, " - "Scatter/Gather Limit: %d segments\n", - HostAdapter, HostAdapter->DriverQueueDepth, - HostAdapter->DriverScatterGatherLimit); - BusLogic_Info(" Tagged Queue Depth: ", HostAdapter); - CommonTaggedQueueDepth = true; - for (TargetID = 1; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - if (HostAdapter->QueueDepth[TargetID] != HostAdapter->QueueDepth[0]) - { - CommonTaggedQueueDepth = false; - break; - } - if (CommonTaggedQueueDepth) - { - if (HostAdapter->QueueDepth[0] > 0) - BusLogic_Info("%d", HostAdapter, HostAdapter->QueueDepth[0]); - else BusLogic_Info("Automatic", HostAdapter); - } - else BusLogic_Info("Individual", HostAdapter); - BusLogic_Info(", Untagged Queue Depth: %d\n", HostAdapter, - HostAdapter->UntaggedQueueDepth); - if (HostAdapter->TerminationInfoValid) - { - if (HostAdapter->HostWideSCSI) - BusLogic_Info(" SCSI Bus Termination: %s", HostAdapter, - (HostAdapter->LowByteTerminated - ? (HostAdapter->HighByteTerminated - ? "Both Enabled" : "Low Enabled") - : (HostAdapter->HighByteTerminated - ? "High Enabled" : "Both Disabled"))); - else BusLogic_Info(" SCSI Bus Termination: %s", HostAdapter, - (HostAdapter->LowByteTerminated ? - "Enabled" : "Disabled")); - if (HostAdapter->HostSupportsSCAM) - BusLogic_Info(", SCAM: %s", HostAdapter, - (HostAdapter->SCAM_Enabled - ? (HostAdapter->SCAM_Level2 - ? "Enabled, Level 2" : "Enabled, Level 1") - : "Disabled")); - BusLogic_Info("\n", HostAdapter); - } - /* - Indicate reporting the Host Adapter configuration completed successfully. - */ - return true; + /* + Indicate reporting the Host Adapter configuration completed successfully. + */ + return true; } @@ -2259,43 +1873,34 @@ static boolean __init BusLogic_ReportHostAdapterConfiguration(struct BusLogic_Ho static boolean __init BusLogic_AcquireResources(struct BusLogic_HostAdapter *HostAdapter) { - if (HostAdapter->IRQ_Channel == 0) - { - BusLogic_Error("NO LEGAL INTERRUPT CHANNEL ASSIGNED - DETACHING\n", - HostAdapter); - return false; - } - /* - Acquire shared access to the IRQ Channel. - */ - if (request_irq(HostAdapter->IRQ_Channel, BusLogic_InterruptHandler, - SA_SHIRQ, HostAdapter->FullModelName, HostAdapter) < 0) - { - BusLogic_Error("UNABLE TO ACQUIRE IRQ CHANNEL %d - DETACHING\n", - HostAdapter, HostAdapter->IRQ_Channel); - return false; - } - HostAdapter->IRQ_ChannelAcquired = true; - /* - Acquire exclusive access to the DMA Channel. - */ - if (HostAdapter->DMA_Channel > 0) - { - if (request_dma(HostAdapter->DMA_Channel, - HostAdapter->FullModelName) < 0) - { - BusLogic_Error("UNABLE TO ACQUIRE DMA CHANNEL %d - DETACHING\n", - HostAdapter, HostAdapter->DMA_Channel); - return false; + if (HostAdapter->IRQ_Channel == 0) { + BusLogic_Error("NO LEGAL INTERRUPT CHANNEL ASSIGNED - DETACHING\n", HostAdapter); + return false; } - set_dma_mode(HostAdapter->DMA_Channel, DMA_MODE_CASCADE); - enable_dma(HostAdapter->DMA_Channel); - HostAdapter->DMA_ChannelAcquired = true; - } - /* - Indicate the System Resource Acquisition completed successfully, - */ - return true; + /* + Acquire shared access to the IRQ Channel. + */ + if (request_irq(HostAdapter->IRQ_Channel, BusLogic_InterruptHandler, SA_SHIRQ, HostAdapter->FullModelName, HostAdapter) < 0) { + BusLogic_Error("UNABLE TO ACQUIRE IRQ CHANNEL %d - DETACHING\n", HostAdapter, HostAdapter->IRQ_Channel); + return false; + } + HostAdapter->IRQ_ChannelAcquired = true; + /* + Acquire exclusive access to the DMA Channel. + */ + if (HostAdapter->DMA_Channel > 0) { + if (request_dma(HostAdapter->DMA_Channel, HostAdapter->FullModelName) < 0) { + BusLogic_Error("UNABLE TO ACQUIRE DMA CHANNEL %d - DETACHING\n", HostAdapter, HostAdapter->DMA_Channel); + return false; + } + set_dma_mode(HostAdapter->DMA_Channel, DMA_MODE_CASCADE); + enable_dma(HostAdapter->DMA_Channel); + HostAdapter->DMA_ChannelAcquired = true; + } + /* + Indicate the System Resource Acquisition completed successfully, + */ + return true; } @@ -2306,26 +1911,24 @@ static boolean __init BusLogic_AcquireResources(struct BusLogic_HostAdapter *Hos static void BusLogic_ReleaseResources(struct BusLogic_HostAdapter *HostAdapter) { - /* - Release shared access to the IRQ Channel. - */ - if (HostAdapter->IRQ_ChannelAcquired) - free_irq(HostAdapter->IRQ_Channel, HostAdapter); - /* - Release exclusive access to the DMA Channel. - */ - if (HostAdapter->DMA_ChannelAcquired) - free_dma(HostAdapter->DMA_Channel); - /* - Release any allocated memory structs not released elsewhere - */ - if (HostAdapter->MailboxSpace) - pci_free_consistent(HostAdapter->PCI_Device, HostAdapter->MailboxSize, - HostAdapter->MailboxSpace, - HostAdapter->MailboxSpaceHandle); - HostAdapter->MailboxSpace = NULL; - HostAdapter->MailboxSpaceHandle = 0; - HostAdapter->MailboxSize = 0; + /* + Release shared access to the IRQ Channel. + */ + if (HostAdapter->IRQ_ChannelAcquired) + free_irq(HostAdapter->IRQ_Channel, HostAdapter); + /* + Release exclusive access to the DMA Channel. + */ + if (HostAdapter->DMA_ChannelAcquired) + free_dma(HostAdapter->DMA_Channel); + /* + Release any allocated memory structs not released elsewhere + */ + if (HostAdapter->MailboxSpace) + pci_free_consistent(HostAdapter->PCI_Device, HostAdapter->MailboxSize, HostAdapter->MailboxSpace, HostAdapter->MailboxSpaceHandle); + HostAdapter->MailboxSpace = NULL; + HostAdapter->MailboxSpaceHandle = 0; + HostAdapter->MailboxSize = 0; } @@ -2338,114 +1941,94 @@ static void BusLogic_ReleaseResources(struct BusLogic_HostAdapter *HostAdapter) static boolean BusLogic_InitializeHostAdapter(struct BusLogic_HostAdapter *HostAdapter) { - struct BusLogic_ExtendedMailboxRequest ExtendedMailboxRequest; - enum BusLogic_RoundRobinModeRequest RoundRobinModeRequest; - enum BusLogic_SetCCBFormatRequest SetCCBFormatRequest; - int TargetID; - /* - Initialize the pointers to the first and last CCBs that are queued for - completion processing. - */ - HostAdapter->FirstCompletedCCB = NULL; - HostAdapter->LastCompletedCCB = NULL; - /* - Initialize the Bus Device Reset Pending CCB, Tagged Queuing Active, - Command Successful Flag, Active Commands, and Commands Since Reset - for each Target Device. - */ - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - { - HostAdapter->BusDeviceResetPendingCCB[TargetID] = NULL; - HostAdapter->TargetFlags[TargetID].TaggedQueuingActive = false; - HostAdapter->TargetFlags[TargetID].CommandSuccessfulFlag = false; - HostAdapter->ActiveCommands[TargetID] = 0; - HostAdapter->CommandsSinceReset[TargetID] = 0; - } - /* - FlashPoint Host Adapters do not use Outgoing and Incoming Mailboxes. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) goto Done; - /* - Initialize the Outgoing and Incoming Mailbox pointers. - */ - HostAdapter->MailboxSize = HostAdapter->MailboxCount * - (sizeof(struct BusLogic_OutgoingMailbox) + sizeof(struct BusLogic_IncomingMailbox)); - HostAdapter->MailboxSpace = pci_alloc_consistent(HostAdapter->PCI_Device, - HostAdapter->MailboxSize, &HostAdapter->MailboxSpaceHandle); - if (HostAdapter->MailboxSpace == NULL) - return BusLogic_Failure(HostAdapter, "MAILBOX ALLOCATION"); - HostAdapter->FirstOutgoingMailbox = - (struct BusLogic_OutgoingMailbox *) HostAdapter->MailboxSpace; - HostAdapter->LastOutgoingMailbox = - HostAdapter->FirstOutgoingMailbox + HostAdapter->MailboxCount - 1; - HostAdapter->NextOutgoingMailbox = HostAdapter->FirstOutgoingMailbox; - HostAdapter->FirstIncomingMailbox = - (struct BusLogic_IncomingMailbox *) (HostAdapter->LastOutgoingMailbox + 1); - HostAdapter->LastIncomingMailbox = - HostAdapter->FirstIncomingMailbox + HostAdapter->MailboxCount - 1; - HostAdapter->NextIncomingMailbox = HostAdapter->FirstIncomingMailbox; - - /* - Initialize the Outgoing and Incoming Mailbox structures. - */ - memset(HostAdapter->FirstOutgoingMailbox, 0, - HostAdapter->MailboxCount * sizeof(struct BusLogic_OutgoingMailbox)); - memset(HostAdapter->FirstIncomingMailbox, 0, - HostAdapter->MailboxCount * sizeof(struct BusLogic_IncomingMailbox)); - /* - Initialize the Host Adapter's Pointer to the Outgoing/Incoming Mailboxes. - */ - ExtendedMailboxRequest.MailboxCount = HostAdapter->MailboxCount; - ExtendedMailboxRequest.BaseMailboxAddress = - (u32) HostAdapter->MailboxSpaceHandle; - if (BusLogic_Command(HostAdapter, BusLogic_InitializeExtendedMailbox, - &ExtendedMailboxRequest, - sizeof(ExtendedMailboxRequest), NULL, 0) < 0) - return BusLogic_Failure(HostAdapter, "MAILBOX INITIALIZATION"); - /* - Enable Strict Round Robin Mode if supported by the Host Adapter. In - Strict Round Robin Mode, the Host Adapter only looks at the next Outgoing - Mailbox for each new command, rather than scanning through all the - Outgoing Mailboxes to find any that have new commands in them. Strict - Round Robin Mode is significantly more efficient. - */ - if (HostAdapter->StrictRoundRobinModeSupport) - { - RoundRobinModeRequest = BusLogic_StrictRoundRobinMode; - if (BusLogic_Command(HostAdapter, BusLogic_EnableStrictRoundRobinMode, - &RoundRobinModeRequest, - sizeof(RoundRobinModeRequest), NULL, 0) < 0) - return BusLogic_Failure(HostAdapter, "ENABLE STRICT ROUND ROBIN MODE"); - } - /* - For Host Adapters that support Extended LUN Format CCBs, issue the Set CCB - Format command to allow 32 Logical Units per Target Device. - */ - if (HostAdapter->ExtendedLUNSupport) - { - SetCCBFormatRequest = BusLogic_ExtendedLUNFormatCCB; - if (BusLogic_Command(HostAdapter, BusLogic_SetCCBFormat, - &SetCCBFormatRequest, sizeof(SetCCBFormatRequest), - NULL, 0) < 0) - return BusLogic_Failure(HostAdapter, "SET CCB FORMAT"); - } - /* - Announce Successful Initialization. - */ -Done: - if (!HostAdapter->HostAdapterInitialized) - { - BusLogic_Info("*** %s Initialized Successfully ***\n", - HostAdapter, HostAdapter->FullModelName); - BusLogic_Info("\n", HostAdapter); - } - else BusLogic_Warning("*** %s Initialized Successfully ***\n", - HostAdapter, HostAdapter->FullModelName); - HostAdapter->HostAdapterInitialized = true; - /* - Indicate the Host Adapter Initialization completed successfully. - */ - return true; + struct BusLogic_ExtendedMailboxRequest ExtendedMailboxRequest; + enum BusLogic_RoundRobinModeRequest RoundRobinModeRequest; + enum BusLogic_SetCCBFormatRequest SetCCBFormatRequest; + int TargetID; + /* + Initialize the pointers to the first and last CCBs that are queued for + completion processing. + */ + HostAdapter->FirstCompletedCCB = NULL; + HostAdapter->LastCompletedCCB = NULL; + /* + Initialize the Bus Device Reset Pending CCB, Tagged Queuing Active, + Command Successful Flag, Active Commands, and Commands Since Reset + for each Target Device. + */ + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) { + HostAdapter->BusDeviceResetPendingCCB[TargetID] = NULL; + HostAdapter->TargetFlags[TargetID].TaggedQueuingActive = false; + HostAdapter->TargetFlags[TargetID].CommandSuccessfulFlag = false; + HostAdapter->ActiveCommands[TargetID] = 0; + HostAdapter->CommandsSinceReset[TargetID] = 0; + } + /* + FlashPoint Host Adapters do not use Outgoing and Incoming Mailboxes. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) + goto Done; + /* + Initialize the Outgoing and Incoming Mailbox pointers. + */ + HostAdapter->MailboxSize = HostAdapter->MailboxCount * (sizeof(struct BusLogic_OutgoingMailbox) + sizeof(struct BusLogic_IncomingMailbox)); + HostAdapter->MailboxSpace = pci_alloc_consistent(HostAdapter->PCI_Device, HostAdapter->MailboxSize, &HostAdapter->MailboxSpaceHandle); + if (HostAdapter->MailboxSpace == NULL) + return BusLogic_Failure(HostAdapter, "MAILBOX ALLOCATION"); + HostAdapter->FirstOutgoingMailbox = (struct BusLogic_OutgoingMailbox *) HostAdapter->MailboxSpace; + HostAdapter->LastOutgoingMailbox = HostAdapter->FirstOutgoingMailbox + HostAdapter->MailboxCount - 1; + HostAdapter->NextOutgoingMailbox = HostAdapter->FirstOutgoingMailbox; + HostAdapter->FirstIncomingMailbox = (struct BusLogic_IncomingMailbox *) (HostAdapter->LastOutgoingMailbox + 1); + HostAdapter->LastIncomingMailbox = HostAdapter->FirstIncomingMailbox + HostAdapter->MailboxCount - 1; + HostAdapter->NextIncomingMailbox = HostAdapter->FirstIncomingMailbox; + + /* + Initialize the Outgoing and Incoming Mailbox structures. + */ + memset(HostAdapter->FirstOutgoingMailbox, 0, HostAdapter->MailboxCount * sizeof(struct BusLogic_OutgoingMailbox)); + memset(HostAdapter->FirstIncomingMailbox, 0, HostAdapter->MailboxCount * sizeof(struct BusLogic_IncomingMailbox)); + /* + Initialize the Host Adapter's Pointer to the Outgoing/Incoming Mailboxes. + */ + ExtendedMailboxRequest.MailboxCount = HostAdapter->MailboxCount; + ExtendedMailboxRequest.BaseMailboxAddress = (u32) HostAdapter->MailboxSpaceHandle; + if (BusLogic_Command(HostAdapter, BusLogic_InitializeExtendedMailbox, &ExtendedMailboxRequest, sizeof(ExtendedMailboxRequest), NULL, 0) < 0) + return BusLogic_Failure(HostAdapter, "MAILBOX INITIALIZATION"); + /* + Enable Strict Round Robin Mode if supported by the Host Adapter. In + Strict Round Robin Mode, the Host Adapter only looks at the next Outgoing + Mailbox for each new command, rather than scanning through all the + Outgoing Mailboxes to find any that have new commands in them. Strict + Round Robin Mode is significantly more efficient. + */ + if (HostAdapter->StrictRoundRobinModeSupport) { + RoundRobinModeRequest = BusLogic_StrictRoundRobinMode; + if (BusLogic_Command(HostAdapter, BusLogic_EnableStrictRoundRobinMode, &RoundRobinModeRequest, sizeof(RoundRobinModeRequest), NULL, 0) < 0) + return BusLogic_Failure(HostAdapter, "ENABLE STRICT ROUND ROBIN MODE"); + } + /* + For Host Adapters that support Extended LUN Format CCBs, issue the Set CCB + Format command to allow 32 Logical Units per Target Device. + */ + if (HostAdapter->ExtendedLUNSupport) { + SetCCBFormatRequest = BusLogic_ExtendedLUNFormatCCB; + if (BusLogic_Command(HostAdapter, BusLogic_SetCCBFormat, &SetCCBFormatRequest, sizeof(SetCCBFormatRequest), NULL, 0) < 0) + return BusLogic_Failure(HostAdapter, "SET CCB FORMAT"); + } + /* + Announce Successful Initialization. + */ + Done: + if (!HostAdapter->HostAdapterInitialized) { + BusLogic_Info("*** %s Initialized Successfully ***\n", HostAdapter, HostAdapter->FullModelName); + BusLogic_Info("\n", HostAdapter); + } else + BusLogic_Warning("*** %s Initialized Successfully ***\n", HostAdapter, HostAdapter->FullModelName); + HostAdapter->HostAdapterInitialized = true; + /* + Indicate the Host Adapter Initialization completed successfully. + */ + return true; } @@ -2457,127 +2040,106 @@ Done: static boolean __init BusLogic_TargetDeviceInquiry(struct BusLogic_HostAdapter *HostAdapter) { - u16 InstalledDevices; - u8 InstalledDevicesID0to7[8]; - struct BusLogic_SetupInformation SetupInformation; - u8 SynchronousPeriod[BusLogic_MaxTargetDevices]; - unsigned char RequestedReplyLength; - int TargetID; - /* - Wait a few seconds between the Host Adapter Hard Reset which initiates - a SCSI Bus Reset and issuing any SCSI Commands. Some SCSI devices get - confused if they receive SCSI Commands too soon after a SCSI Bus Reset. - */ - BusLogic_Delay(HostAdapter->BusSettleTime); - /* - FlashPoint Host Adapters do not provide for Target Device Inquiry. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) return true; - /* - Inhibit the Target Device Inquiry if requested. - */ - if (HostAdapter->DriverOptions != NULL && - HostAdapter->DriverOptions->LocalOptions.InhibitTargetInquiry) - return true; - /* - Issue the Inquire Target Devices command for host adapters with firmware - version 4.25 or later, or the Inquire Installed Devices ID 0 to 7 command - for older host adapters. This is necessary to force Synchronous Transfer - Negotiation so that the Inquire Setup Information and Inquire Synchronous - Period commands will return valid data. The Inquire Target Devices command - is preferable to Inquire Installed Devices ID 0 to 7 since it only probes - Logical Unit 0 of each Target Device. - */ - if (strcmp(HostAdapter->FirmwareVersion, "4.25") >= 0) - { - - /* - * Issue a Inquire Target Devices command. Inquire Target Devices only - * tests Logical Unit 0 of each Target Device unlike the Inquire Installed - * Devices commands which test Logical Units 0 - 7. Two bytes are - * returned, where byte 0 bit 0 set indicates that Target Device 0 exists, - * and so on. - */ - - if (BusLogic_Command(HostAdapter, BusLogic_InquireTargetDevices, NULL, 0, - &InstalledDevices, sizeof(InstalledDevices)) - != sizeof(InstalledDevices)) - return BusLogic_Failure(HostAdapter, "INQUIRE TARGET DEVICES"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - HostAdapter->TargetFlags[TargetID].TargetExists = - (InstalledDevices & (1 << TargetID) ? true : false); - } - else - { - - /* - * Issue an Inquire Installed Devices command. For each Target Device, - * a byte is returned where bit 0 set indicates that Logical Unit 0 - * exists, bit 1 set indicates that Logical Unit 1 exists, and so on. - */ - - if (BusLogic_Command(HostAdapter, BusLogic_InquireInstalledDevicesID0to7, - NULL, 0, &InstalledDevicesID0to7, - sizeof(InstalledDevicesID0to7)) - != sizeof(InstalledDevicesID0to7)) - return BusLogic_Failure(HostAdapter, - "INQUIRE INSTALLED DEVICES ID 0 TO 7"); - for (TargetID = 0; TargetID < 8; TargetID++) - HostAdapter->TargetFlags[TargetID].TargetExists = - (InstalledDevicesID0to7[TargetID] != 0 ? true : false); - } - /* - Issue the Inquire Setup Information command. - */ - RequestedReplyLength = sizeof(SetupInformation); - if (BusLogic_Command(HostAdapter, BusLogic_InquireSetupInformation, - &RequestedReplyLength, sizeof(RequestedReplyLength), - &SetupInformation, sizeof(SetupInformation)) - != sizeof(SetupInformation)) - return BusLogic_Failure(HostAdapter, "INQUIRE SETUP INFORMATION"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - HostAdapter->SynchronousOffset[TargetID] = - (TargetID < 8 - ? SetupInformation.SynchronousValuesID0to7[TargetID].Offset - : SetupInformation.SynchronousValuesID8to15[TargetID-8].Offset); - if (strcmp(HostAdapter->FirmwareVersion, "5.06L") >= 0) - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - HostAdapter->TargetFlags[TargetID].WideTransfersActive = - (TargetID < 8 - ? (SetupInformation.WideTransfersActiveID0to7 & (1 << TargetID) - ? true : false) - : (SetupInformation.WideTransfersActiveID8to15 & (1 << (TargetID-8)) - ? true : false)); - /* - Issue the Inquire Synchronous Period command. - */ - if (HostAdapter->FirmwareVersion[0] >= '3') - { - - /* Issue a Inquire Synchronous Period command. For each Target Device, - * a byte is returned which represents the Synchronous Transfer Period - * in units of 10 nanoseconds. - */ - - RequestedReplyLength = sizeof(SynchronousPeriod); - if (BusLogic_Command(HostAdapter, BusLogic_InquireSynchronousPeriod, - &RequestedReplyLength, sizeof(RequestedReplyLength), - &SynchronousPeriod, sizeof(SynchronousPeriod)) - != sizeof(SynchronousPeriod)) - return BusLogic_Failure(HostAdapter, "INQUIRE SYNCHRONOUS PERIOD"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - HostAdapter->SynchronousPeriod[TargetID] = SynchronousPeriod[TargetID]; - } - else - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - if (SetupInformation.SynchronousValuesID0to7[TargetID].Offset > 0) - HostAdapter->SynchronousPeriod[TargetID] = - 20 + 5 * SetupInformation.SynchronousValuesID0to7[TargetID] - .TransferPeriod; - /* - Indicate the Target Device Inquiry completed successfully. - */ - return true; + u16 InstalledDevices; + u8 InstalledDevicesID0to7[8]; + struct BusLogic_SetupInformation SetupInformation; + u8 SynchronousPeriod[BusLogic_MaxTargetDevices]; + unsigned char RequestedReplyLength; + int TargetID; + /* + Wait a few seconds between the Host Adapter Hard Reset which initiates + a SCSI Bus Reset and issuing any SCSI Commands. Some SCSI devices get + confused if they receive SCSI Commands too soon after a SCSI Bus Reset. + */ + BusLogic_Delay(HostAdapter->BusSettleTime); + /* + FlashPoint Host Adapters do not provide for Target Device Inquiry. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) + return true; + /* + Inhibit the Target Device Inquiry if requested. + */ + if (HostAdapter->DriverOptions != NULL && HostAdapter->DriverOptions->LocalOptions.InhibitTargetInquiry) + return true; + /* + Issue the Inquire Target Devices command for host adapters with firmware + version 4.25 or later, or the Inquire Installed Devices ID 0 to 7 command + for older host adapters. This is necessary to force Synchronous Transfer + Negotiation so that the Inquire Setup Information and Inquire Synchronous + Period commands will return valid data. The Inquire Target Devices command + is preferable to Inquire Installed Devices ID 0 to 7 since it only probes + Logical Unit 0 of each Target Device. + */ + if (strcmp(HostAdapter->FirmwareVersion, "4.25") >= 0) { + + /* + * Issue a Inquire Target Devices command. Inquire Target Devices only + * tests Logical Unit 0 of each Target Device unlike the Inquire Installed + * Devices commands which test Logical Units 0 - 7. Two bytes are + * returned, where byte 0 bit 0 set indicates that Target Device 0 exists, + * and so on. + */ + + if (BusLogic_Command(HostAdapter, BusLogic_InquireTargetDevices, NULL, 0, &InstalledDevices, sizeof(InstalledDevices)) + != sizeof(InstalledDevices)) + return BusLogic_Failure(HostAdapter, "INQUIRE TARGET DEVICES"); + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + HostAdapter->TargetFlags[TargetID].TargetExists = (InstalledDevices & (1 << TargetID) ? true : false); + } else { + + /* + * Issue an Inquire Installed Devices command. For each Target Device, + * a byte is returned where bit 0 set indicates that Logical Unit 0 + * exists, bit 1 set indicates that Logical Unit 1 exists, and so on. + */ + + if (BusLogic_Command(HostAdapter, BusLogic_InquireInstalledDevicesID0to7, NULL, 0, &InstalledDevicesID0to7, sizeof(InstalledDevicesID0to7)) + != sizeof(InstalledDevicesID0to7)) + return BusLogic_Failure(HostAdapter, "INQUIRE INSTALLED DEVICES ID 0 TO 7"); + for (TargetID = 0; TargetID < 8; TargetID++) + HostAdapter->TargetFlags[TargetID].TargetExists = (InstalledDevicesID0to7[TargetID] != 0 ? true : false); + } + /* + Issue the Inquire Setup Information command. + */ + RequestedReplyLength = sizeof(SetupInformation); + if (BusLogic_Command(HostAdapter, BusLogic_InquireSetupInformation, &RequestedReplyLength, sizeof(RequestedReplyLength), &SetupInformation, sizeof(SetupInformation)) + != sizeof(SetupInformation)) + return BusLogic_Failure(HostAdapter, "INQUIRE SETUP INFORMATION"); + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + HostAdapter->SynchronousOffset[TargetID] = (TargetID < 8 ? SetupInformation.SynchronousValuesID0to7[TargetID].Offset : SetupInformation.SynchronousValuesID8to15[TargetID - 8].Offset); + if (strcmp(HostAdapter->FirmwareVersion, "5.06L") >= 0) + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + HostAdapter->TargetFlags[TargetID].WideTransfersActive = (TargetID < 8 ? (SetupInformation.WideTransfersActiveID0to7 & (1 << TargetID) + ? true : false) + : (SetupInformation.WideTransfersActiveID8to15 & (1 << (TargetID - 8)) + ? true : false)); + /* + Issue the Inquire Synchronous Period command. + */ + if (HostAdapter->FirmwareVersion[0] >= '3') { + + /* Issue a Inquire Synchronous Period command. For each Target Device, + * a byte is returned which represents the Synchronous Transfer Period + * in units of 10 nanoseconds. + */ + + RequestedReplyLength = sizeof(SynchronousPeriod); + if (BusLogic_Command(HostAdapter, BusLogic_InquireSynchronousPeriod, &RequestedReplyLength, sizeof(RequestedReplyLength), &SynchronousPeriod, sizeof(SynchronousPeriod)) + != sizeof(SynchronousPeriod)) + return BusLogic_Failure(HostAdapter, "INQUIRE SYNCHRONOUS PERIOD"); + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + HostAdapter->SynchronousPeriod[TargetID] = SynchronousPeriod[TargetID]; + } else + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + if (SetupInformation.SynchronousValuesID0to7[TargetID].Offset > 0) + HostAdapter->SynchronousPeriod[TargetID] = 20 + 5 * SetupInformation.SynchronousValuesID0to7[TargetID] + .TransferPeriod; + /* + Indicate the Target Device Inquiry completed successfully. + */ + return true; } /* @@ -2590,18 +2152,17 @@ static boolean __init BusLogic_TargetDeviceInquiry(struct BusLogic_HostAdapter */ static void __init BusLogic_InitializeHostStructure(struct BusLogic_HostAdapter - *HostAdapter, - struct Scsi_Host *Host) + *HostAdapter, struct Scsi_Host *Host) { - Host->max_id = HostAdapter->MaxTargetDevices; - Host->max_lun = HostAdapter->MaxLogicalUnits; - Host->max_channel = 0; - Host->unique_id = HostAdapter->IO_Address; - Host->this_id = HostAdapter->SCSI_ID; - Host->can_queue = HostAdapter->DriverQueueDepth; - Host->sg_tablesize = HostAdapter->DriverScatterGatherLimit; - Host->unchecked_isa_dma = HostAdapter->BounceBuffersRequired; - Host->cmd_per_lun = HostAdapter->UntaggedQueueDepth; + Host->max_id = HostAdapter->MaxTargetDevices; + Host->max_lun = HostAdapter->MaxLogicalUnits; + Host->max_channel = 0; + Host->unique_id = HostAdapter->IO_Address; + Host->this_id = HostAdapter->SCSI_ID; + Host->can_queue = HostAdapter->DriverQueueDepth; + Host->sg_tablesize = HostAdapter->DriverScatterGatherLimit; + Host->unchecked_isa_dma = HostAdapter->BounceBuffersRequired; + Host->cmd_per_lun = HostAdapter->UntaggedQueueDepth; } /* @@ -2614,38 +2175,29 @@ static void __init BusLogic_InitializeHostStructure(struct BusLogic_HostAdapter */ static int BusLogic_SlaveConfigure(struct scsi_device *Device) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) Device->host->hostdata; - int TargetID = Device->id; - int QueueDepth = HostAdapter->QueueDepth[TargetID]; - - if (HostAdapter->TargetFlags[TargetID].TaggedQueuingSupported && - (HostAdapter->TaggedQueuingPermitted & (1 << TargetID))) - { - if (QueueDepth == 0) - QueueDepth = BusLogic_MaxAutomaticTaggedQueueDepth; - HostAdapter->QueueDepth[TargetID] = QueueDepth; - scsi_adjust_queue_depth(Device, MSG_SIMPLE_TAG, QueueDepth); - } - else - { - HostAdapter->TaggedQueuingPermitted &= ~(1 << TargetID); - QueueDepth = HostAdapter->UntaggedQueueDepth; - HostAdapter->QueueDepth[TargetID] = QueueDepth; - scsi_adjust_queue_depth(Device, 0, QueueDepth); - } - QueueDepth = 0; - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - if (HostAdapter->TargetFlags[TargetID].TargetExists) - { - QueueDepth += HostAdapter->QueueDepth[TargetID]; - } - if (QueueDepth > HostAdapter->AllocatedCCBs) - BusLogic_CreateAdditionalCCBs(HostAdapter, - QueueDepth - - HostAdapter->AllocatedCCBs, - false); - return 0; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) Device->host->hostdata; + int TargetID = Device->id; + int QueueDepth = HostAdapter->QueueDepth[TargetID]; + + if (HostAdapter->TargetFlags[TargetID].TaggedQueuingSupported && (HostAdapter->TaggedQueuingPermitted & (1 << TargetID))) { + if (QueueDepth == 0) + QueueDepth = BusLogic_MaxAutomaticTaggedQueueDepth; + HostAdapter->QueueDepth[TargetID] = QueueDepth; + scsi_adjust_queue_depth(Device, MSG_SIMPLE_TAG, QueueDepth); + } else { + HostAdapter->TaggedQueuingPermitted &= ~(1 << TargetID); + QueueDepth = HostAdapter->UntaggedQueueDepth; + HostAdapter->QueueDepth[TargetID] = QueueDepth; + scsi_adjust_queue_depth(Device, 0, QueueDepth); + } + QueueDepth = 0; + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) + if (HostAdapter->TargetFlags[TargetID].TargetExists) { + QueueDepth += HostAdapter->QueueDepth[TargetID]; + } + if (QueueDepth > HostAdapter->AllocatedCCBs) + BusLogic_CreateAdditionalCCBs(HostAdapter, QueueDepth - HostAdapter->AllocatedCCBs, false); + return 0; } /* @@ -2658,162 +2210,145 @@ static int BusLogic_SlaveConfigure(struct scsi_device *Device) static int __init BusLogic_DetectHostAdapter(struct scsi_host_template *HostTemplate) { - int BusLogicHostAdapterCount = 0, DriverOptionsIndex = 0, ProbeIndex; - struct BusLogic_HostAdapter *PrototypeHostAdapter; - if (BusLogic_ProbeOptions.NoProbe) return 0; - BusLogic_ProbeInfoList = (struct BusLogic_ProbeInfo *) - kmalloc(BusLogic_MaxHostAdapters * sizeof(struct BusLogic_ProbeInfo), - GFP_ATOMIC); - if (BusLogic_ProbeInfoList == NULL) - { - BusLogic_Error("BusLogic: Unable to allocate Probe Info List\n", NULL); - return 0; - } - memset(BusLogic_ProbeInfoList, 0, - BusLogic_MaxHostAdapters * sizeof(struct BusLogic_ProbeInfo)); - PrototypeHostAdapter = (struct BusLogic_HostAdapter *) - kmalloc(sizeof(struct BusLogic_HostAdapter), GFP_ATOMIC); - if (PrototypeHostAdapter == NULL) - { - kfree(BusLogic_ProbeInfoList); - BusLogic_Error("BusLogic: Unable to allocate Prototype " - "Host Adapter\n", NULL); - return 0; - } - memset(PrototypeHostAdapter, 0, sizeof(struct BusLogic_HostAdapter)); + int BusLogicHostAdapterCount = 0, DriverOptionsIndex = 0, ProbeIndex; + struct BusLogic_HostAdapter *PrototypeHostAdapter; + if (BusLogic_ProbeOptions.NoProbe) + return 0; + BusLogic_ProbeInfoList = (struct BusLogic_ProbeInfo *) + kmalloc(BusLogic_MaxHostAdapters * sizeof(struct BusLogic_ProbeInfo), GFP_ATOMIC); + if (BusLogic_ProbeInfoList == NULL) { + BusLogic_Error("BusLogic: Unable to allocate Probe Info List\n", NULL); + return 0; + } + memset(BusLogic_ProbeInfoList, 0, BusLogic_MaxHostAdapters * sizeof(struct BusLogic_ProbeInfo)); + PrototypeHostAdapter = (struct BusLogic_HostAdapter *) + kmalloc(sizeof(struct BusLogic_HostAdapter), GFP_ATOMIC); + if (PrototypeHostAdapter == NULL) { + kfree(BusLogic_ProbeInfoList); + BusLogic_Error("BusLogic: Unable to allocate Prototype " "Host Adapter\n", NULL); + return 0; + } + memset(PrototypeHostAdapter, 0, sizeof(struct BusLogic_HostAdapter)); #ifdef MODULE - if (BusLogic != NULL) - BusLogic_Setup(BusLogic); + if (BusLogic != NULL) + BusLogic_Setup(BusLogic); #endif - BusLogic_InitializeProbeInfoList(PrototypeHostAdapter); - for (ProbeIndex = 0; ProbeIndex < BusLogic_ProbeInfoCount; ProbeIndex++) - { - struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[ProbeIndex]; - struct BusLogic_HostAdapter *HostAdapter = PrototypeHostAdapter; - struct Scsi_Host *Host; - if (ProbeInfo->IO_Address == 0) continue; - memset(HostAdapter, 0, sizeof(struct BusLogic_HostAdapter)); - HostAdapter->HostAdapterType = ProbeInfo->HostAdapterType; - HostAdapter->HostAdapterBusType = ProbeInfo->HostAdapterBusType; - HostAdapter->IO_Address = ProbeInfo->IO_Address; - HostAdapter->PCI_Address = ProbeInfo->PCI_Address; - HostAdapter->Bus = ProbeInfo->Bus; - HostAdapter->Device = ProbeInfo->Device; - HostAdapter->IRQ_Channel = ProbeInfo->IRQ_Channel; - HostAdapter->AddressCount = - BusLogic_HostAdapterAddressCount[HostAdapter->HostAdapterType]; - /* - Probe the Host Adapter. If unsuccessful, abort further initialization. - */ - if (!BusLogic_ProbeHostAdapter(HostAdapter)) continue; - /* - Hard Reset the Host Adapter. If unsuccessful, abort further - initialization. - */ - if (!BusLogic_HardwareResetHostAdapter(HostAdapter, true)) continue; - /* - Check the Host Adapter. If unsuccessful, abort further initialization. - */ - if (!BusLogic_CheckHostAdapter(HostAdapter)) continue; - /* - Initialize the Driver Options field if provided. - */ - if (DriverOptionsIndex < BusLogic_DriverOptionsCount) - HostAdapter->DriverOptions = - &BusLogic_DriverOptions[DriverOptionsIndex++]; - /* - Announce the Driver Version and Date, Author's Name, Copyright Notice, - and Electronic Mail Address. - */ - BusLogic_AnnounceDriver(HostAdapter); - /* - Register usage of the I/O Address range. From this point onward, any - failure will be assumed to be due to a problem with the Host Adapter, - rather than due to having mistakenly identified this port as belonging - to a BusLogic Host Adapter. The I/O Address range will not be - released, thereby preventing it from being incorrectly identified as - any other type of Host Adapter. - */ - if (!request_region(HostAdapter->IO_Address, HostAdapter->AddressCount, - "BusLogic")) continue; - /* - Register the SCSI Host structure. - */ - - Host = scsi_host_alloc(HostTemplate, sizeof(struct BusLogic_HostAdapter)); - if(Host==NULL) - { - release_region(HostAdapter->IO_Address, HostAdapter->AddressCount); - continue; - } - HostAdapter = (struct BusLogic_HostAdapter *) Host->hostdata; - memcpy(HostAdapter, PrototypeHostAdapter, sizeof(struct BusLogic_HostAdapter)); - HostAdapter->SCSI_Host = Host; - HostAdapter->HostNumber = Host->host_no; - /* - Add Host Adapter to the end of the list of registered BusLogic - Host Adapters. - */ - BusLogic_RegisterHostAdapter(HostAdapter); - /* - Read the Host Adapter Configuration, Configure the Host Adapter, - Acquire the System Resources necessary to use the Host Adapter, then - Create the Initial CCBs, Initialize the Host Adapter, and finally - perform Target Device Inquiry. - */ - if (BusLogic_ReadHostAdapterConfiguration(HostAdapter) && - BusLogic_ReportHostAdapterConfiguration(HostAdapter) && - BusLogic_AcquireResources(HostAdapter) && - BusLogic_CreateInitialCCBs(HostAdapter) && - BusLogic_InitializeHostAdapter(HostAdapter) && - BusLogic_TargetDeviceInquiry(HostAdapter)) - { - /* - Initialization has been completed successfully. Release and - re-register usage of the I/O Address range so that the Model - Name of the Host Adapter will appear, and initialize the SCSI - Host structure. - */ - release_region(HostAdapter->IO_Address, - HostAdapter->AddressCount); - if(!request_region(HostAdapter->IO_Address, - HostAdapter->AddressCount, - HostAdapter->FullModelName)) { - printk(KERN_WARNING "BusLogic: Release and re-register of " - "port 0x%04lx failed \n", - (unsigned long)HostAdapter->IO_Address); - BusLogic_DestroyCCBs(HostAdapter); - BusLogic_ReleaseResources(HostAdapter); - BusLogic_UnregisterHostAdapter(HostAdapter); - scsi_host_put(Host); - } - else { - BusLogic_InitializeHostStructure(HostAdapter, Host); - scsi_add_host(Host, NULL); - scsi_scan_host(Host); - BusLogicHostAdapterCount++; - } - } - else - { - /* - An error occurred during Host Adapter Configuration Querying, Host - Adapter Configuration, Resource Acquisition, CCB Creation, Host - Adapter Initialization, or Target Device Inquiry, so remove Host - Adapter from the list of registered BusLogic Host Adapters, destroy - the CCBs, Release the System Resources, and Unregister the SCSI - Host. - */ - BusLogic_DestroyCCBs(HostAdapter); - BusLogic_ReleaseResources(HostAdapter); - BusLogic_UnregisterHostAdapter(HostAdapter); - scsi_host_put(Host); + BusLogic_InitializeProbeInfoList(PrototypeHostAdapter); + for (ProbeIndex = 0; ProbeIndex < BusLogic_ProbeInfoCount; ProbeIndex++) { + struct BusLogic_ProbeInfo *ProbeInfo = &BusLogic_ProbeInfoList[ProbeIndex]; + struct BusLogic_HostAdapter *HostAdapter = PrototypeHostAdapter; + struct Scsi_Host *Host; + if (ProbeInfo->IO_Address == 0) + continue; + memset(HostAdapter, 0, sizeof(struct BusLogic_HostAdapter)); + HostAdapter->HostAdapterType = ProbeInfo->HostAdapterType; + HostAdapter->HostAdapterBusType = ProbeInfo->HostAdapterBusType; + HostAdapter->IO_Address = ProbeInfo->IO_Address; + HostAdapter->PCI_Address = ProbeInfo->PCI_Address; + HostAdapter->Bus = ProbeInfo->Bus; + HostAdapter->Device = ProbeInfo->Device; + HostAdapter->IRQ_Channel = ProbeInfo->IRQ_Channel; + HostAdapter->AddressCount = BusLogic_HostAdapterAddressCount[HostAdapter->HostAdapterType]; + /* + Probe the Host Adapter. If unsuccessful, abort further initialization. + */ + if (!BusLogic_ProbeHostAdapter(HostAdapter)) + continue; + /* + Hard Reset the Host Adapter. If unsuccessful, abort further + initialization. + */ + if (!BusLogic_HardwareResetHostAdapter(HostAdapter, true)) + continue; + /* + Check the Host Adapter. If unsuccessful, abort further initialization. + */ + if (!BusLogic_CheckHostAdapter(HostAdapter)) + continue; + /* + Initialize the Driver Options field if provided. + */ + if (DriverOptionsIndex < BusLogic_DriverOptionsCount) + HostAdapter->DriverOptions = &BusLogic_DriverOptions[DriverOptionsIndex++]; + /* + Announce the Driver Version and Date, Author's Name, Copyright Notice, + and Electronic Mail Address. + */ + BusLogic_AnnounceDriver(HostAdapter); + /* + Register usage of the I/O Address range. From this point onward, any + failure will be assumed to be due to a problem with the Host Adapter, + rather than due to having mistakenly identified this port as belonging + to a BusLogic Host Adapter. The I/O Address range will not be + released, thereby preventing it from being incorrectly identified as + any other type of Host Adapter. + */ + if (!request_region(HostAdapter->IO_Address, HostAdapter->AddressCount, "BusLogic")) + continue; + /* + Register the SCSI Host structure. + */ + + Host = scsi_host_alloc(HostTemplate, sizeof(struct BusLogic_HostAdapter)); + if (Host == NULL) { + release_region(HostAdapter->IO_Address, HostAdapter->AddressCount); + continue; + } + HostAdapter = (struct BusLogic_HostAdapter *) Host->hostdata; + memcpy(HostAdapter, PrototypeHostAdapter, sizeof(struct BusLogic_HostAdapter)); + HostAdapter->SCSI_Host = Host; + HostAdapter->HostNumber = Host->host_no; + /* + Add Host Adapter to the end of the list of registered BusLogic + Host Adapters. + */ + BusLogic_RegisterHostAdapter(HostAdapter); + /* + Read the Host Adapter Configuration, Configure the Host Adapter, + Acquire the System Resources necessary to use the Host Adapter, then + Create the Initial CCBs, Initialize the Host Adapter, and finally + perform Target Device Inquiry. + */ + if (BusLogic_ReadHostAdapterConfiguration(HostAdapter) && + BusLogic_ReportHostAdapterConfiguration(HostAdapter) && BusLogic_AcquireResources(HostAdapter) && BusLogic_CreateInitialCCBs(HostAdapter) && BusLogic_InitializeHostAdapter(HostAdapter) && BusLogic_TargetDeviceInquiry(HostAdapter)) { + /* + Initialization has been completed successfully. Release and + re-register usage of the I/O Address range so that the Model + Name of the Host Adapter will appear, and initialize the SCSI + Host structure. + */ + release_region(HostAdapter->IO_Address, HostAdapter->AddressCount); + if (!request_region(HostAdapter->IO_Address, HostAdapter->AddressCount, HostAdapter->FullModelName)) { + printk(KERN_WARNING "BusLogic: Release and re-register of " "port 0x%04lx failed \n", (unsigned long) HostAdapter->IO_Address); + BusLogic_DestroyCCBs(HostAdapter); + BusLogic_ReleaseResources(HostAdapter); + BusLogic_UnregisterHostAdapter(HostAdapter); + scsi_host_put(Host); + } else { + BusLogic_InitializeHostStructure(HostAdapter, Host); + scsi_add_host(Host, NULL); + scsi_scan_host(Host); + BusLogicHostAdapterCount++; + } + } else { + /* + An error occurred during Host Adapter Configuration Querying, Host + Adapter Configuration, Resource Acquisition, CCB Creation, Host + Adapter Initialization, or Target Device Inquiry, so remove Host + Adapter from the list of registered BusLogic Host Adapters, destroy + the CCBs, Release the System Resources, and Unregister the SCSI + Host. + */ + BusLogic_DestroyCCBs(HostAdapter); + BusLogic_ReleaseResources(HostAdapter); + BusLogic_UnregisterHostAdapter(HostAdapter); + scsi_host_put(Host); + } } - } - kfree(PrototypeHostAdapter); - kfree(BusLogic_ProbeInfoList); - BusLogic_ProbeInfoList = NULL; - return BusLogicHostAdapterCount; + kfree(PrototypeHostAdapter); + kfree(BusLogic_ProbeInfoList); + BusLogic_ProbeInfoList = NULL; + return BusLogicHostAdapterCount; } @@ -2825,29 +2360,28 @@ static int __init BusLogic_DetectHostAdapter(struct scsi_host_template *HostTemp static int __exit BusLogic_ReleaseHostAdapter(struct Scsi_Host *Host) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) Host->hostdata; - /* - FlashPoint Host Adapters must first be released by the FlashPoint - SCCB Manager. - */ - if (BusLogic_FlashPointHostAdapterP(HostAdapter)) - FlashPoint_ReleaseHostAdapter(HostAdapter->CardHandle); - /* - Destroy the CCBs and release any system resources acquired to - support Host Adapter. - */ - BusLogic_DestroyCCBs(HostAdapter); - BusLogic_ReleaseResources(HostAdapter); - /* - Release usage of the I/O Address range. - */ - release_region(HostAdapter->IO_Address, HostAdapter->AddressCount); - /* - Remove Host Adapter from the list of registered BusLogic Host Adapters. - */ - BusLogic_UnregisterHostAdapter(HostAdapter); - return 0; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) Host->hostdata; + /* + FlashPoint Host Adapters must first be released by the FlashPoint + SCCB Manager. + */ + if (BusLogic_FlashPointHostAdapterP(HostAdapter)) + FlashPoint_ReleaseHostAdapter(HostAdapter->CardHandle); + /* + Destroy the CCBs and release any system resources acquired to + support Host Adapter. + */ + BusLogic_DestroyCCBs(HostAdapter); + BusLogic_ReleaseResources(HostAdapter); + /* + Release usage of the I/O Address range. + */ + release_region(HostAdapter->IO_Address, HostAdapter->AddressCount); + /* + Remove Host Adapter from the list of registered BusLogic Host Adapters. + */ + BusLogic_UnregisterHostAdapter(HostAdapter); + return 0; } @@ -2857,20 +2391,17 @@ static int __exit BusLogic_ReleaseHostAdapter(struct Scsi_Host *Host) static void BusLogic_QueueCompletedCCB(struct BusLogic_CCB *CCB) { - struct BusLogic_HostAdapter *HostAdapter = CCB->HostAdapter; - CCB->Status = BusLogic_CCB_Completed; - CCB->Next = NULL; - if (HostAdapter->FirstCompletedCCB == NULL) - { - HostAdapter->FirstCompletedCCB = CCB; - HostAdapter->LastCompletedCCB = CCB; - } - else - { - HostAdapter->LastCompletedCCB->Next = CCB; - HostAdapter->LastCompletedCCB = CCB; - } - HostAdapter->ActiveCommands[CCB->TargetID]--; + struct BusLogic_HostAdapter *HostAdapter = CCB->HostAdapter; + CCB->Status = BusLogic_CCB_Completed; + CCB->Next = NULL; + if (HostAdapter->FirstCompletedCCB == NULL) { + HostAdapter->FirstCompletedCCB = CCB; + HostAdapter->LastCompletedCCB = CCB; + } else { + HostAdapter->LastCompletedCCB->Next = CCB; + HostAdapter->LastCompletedCCB = CCB; + } + HostAdapter->ActiveCommands[CCB->TargetID]--; } @@ -2879,57 +2410,50 @@ static void BusLogic_QueueCompletedCCB(struct BusLogic_CCB *CCB) the Host Adapter Status and Target Device Status. */ -static int BusLogic_ComputeResultCode(struct BusLogic_HostAdapter *HostAdapter, - enum BusLogic_HostAdapterStatus - HostAdapterStatus, - enum BusLogic_TargetDeviceStatus - TargetDeviceStatus) +static int BusLogic_ComputeResultCode(struct BusLogic_HostAdapter *HostAdapter, enum BusLogic_HostAdapterStatus HostAdapterStatus, enum BusLogic_TargetDeviceStatus TargetDeviceStatus) { - int HostStatus; - switch (HostAdapterStatus) - { - case BusLogic_CommandCompletedNormally: - case BusLogic_LinkedCommandCompleted: - case BusLogic_LinkedCommandCompletedWithFlag: - HostStatus = DID_OK; - break; - case BusLogic_SCSISelectionTimeout: - HostStatus = DID_TIME_OUT; - break; - case BusLogic_InvalidOutgoingMailboxActionCode: - case BusLogic_InvalidCommandOperationCode: - case BusLogic_InvalidCommandParameter: - BusLogic_Warning("BusLogic Driver Protocol Error 0x%02X\n", - HostAdapter, HostAdapterStatus); - case BusLogic_DataUnderRun: - case BusLogic_DataOverRun: - case BusLogic_UnexpectedBusFree: - case BusLogic_LinkedCCBhasInvalidLUN: - case BusLogic_AutoRequestSenseFailed: - case BusLogic_TaggedQueuingMessageRejected: - case BusLogic_UnsupportedMessageReceived: - case BusLogic_HostAdapterHardwareFailed: - case BusLogic_TargetDeviceReconnectedImproperly: - case BusLogic_AbortQueueGenerated: - case BusLogic_HostAdapterSoftwareError: - case BusLogic_HostAdapterHardwareTimeoutError: - case BusLogic_SCSIParityErrorDetected: - HostStatus = DID_ERROR; - break; - case BusLogic_InvalidBusPhaseRequested: - case BusLogic_TargetFailedResponseToATN: - case BusLogic_HostAdapterAssertedRST: - case BusLogic_OtherDeviceAssertedRST: - case BusLogic_HostAdapterAssertedBusDeviceReset: - HostStatus = DID_RESET; - break; - default: - BusLogic_Warning("Unknown Host Adapter Status 0x%02X\n", - HostAdapter, HostAdapterStatus); - HostStatus = DID_ERROR; - break; - } - return (HostStatus << 16) | TargetDeviceStatus; + int HostStatus; + switch (HostAdapterStatus) { + case BusLogic_CommandCompletedNormally: + case BusLogic_LinkedCommandCompleted: + case BusLogic_LinkedCommandCompletedWithFlag: + HostStatus = DID_OK; + break; + case BusLogic_SCSISelectionTimeout: + HostStatus = DID_TIME_OUT; + break; + case BusLogic_InvalidOutgoingMailboxActionCode: + case BusLogic_InvalidCommandOperationCode: + case BusLogic_InvalidCommandParameter: + BusLogic_Warning("BusLogic Driver Protocol Error 0x%02X\n", HostAdapter, HostAdapterStatus); + case BusLogic_DataUnderRun: + case BusLogic_DataOverRun: + case BusLogic_UnexpectedBusFree: + case BusLogic_LinkedCCBhasInvalidLUN: + case BusLogic_AutoRequestSenseFailed: + case BusLogic_TaggedQueuingMessageRejected: + case BusLogic_UnsupportedMessageReceived: + case BusLogic_HostAdapterHardwareFailed: + case BusLogic_TargetDeviceReconnectedImproperly: + case BusLogic_AbortQueueGenerated: + case BusLogic_HostAdapterSoftwareError: + case BusLogic_HostAdapterHardwareTimeoutError: + case BusLogic_SCSIParityErrorDetected: + HostStatus = DID_ERROR; + break; + case BusLogic_InvalidBusPhaseRequested: + case BusLogic_TargetFailedResponseToATN: + case BusLogic_HostAdapterAssertedRST: + case BusLogic_OtherDeviceAssertedRST: + case BusLogic_HostAdapterAssertedBusDeviceReset: + HostStatus = DID_RESET; + break; + default: + BusLogic_Warning("Unknown Host Adapter Status 0x%02X\n", HostAdapter, HostAdapterStatus); + HostStatus = DID_ERROR; + break; + } + return (HostStatus << 16) | TargetDeviceStatus; } @@ -2940,62 +2464,51 @@ static int BusLogic_ComputeResultCode(struct BusLogic_HostAdapter *HostAdapter, static void BusLogic_ScanIncomingMailboxes(struct BusLogic_HostAdapter *HostAdapter) { - /* - Scan through the Incoming Mailboxes in Strict Round Robin fashion, saving - any completed CCBs for further processing. It is essential that for each - CCB and SCSI Command issued, command completion processing is performed - exactly once. Therefore, only Incoming Mailboxes with completion code - Command Completed Without Error, Command Completed With Error, or Command - Aborted At Host Request are saved for completion processing. When an - Incoming Mailbox has a completion code of Aborted Command Not Found, the - CCB had already completed or been aborted before the current Abort request - was processed, and so completion processing has already occurred and no - further action should be taken. - */ - struct BusLogic_IncomingMailbox *NextIncomingMailbox = - HostAdapter->NextIncomingMailbox; - enum BusLogic_CompletionCode CompletionCode; - while ((CompletionCode = NextIncomingMailbox->CompletionCode) != - BusLogic_IncomingMailboxFree) - { - /* - We are only allowed to do this because we limit our architectures we - run on to machines where bus_to_virt() actually works. There *needs* - to be a dma_addr_to_virt() in the new PCI DMA mapping interface to - replace bus_to_virt() or else this code is going to become very - innefficient. - */ - struct BusLogic_CCB *CCB = (struct BusLogic_CCB *) - Bus_to_Virtual(NextIncomingMailbox->CCB); - if (CompletionCode != BusLogic_AbortedCommandNotFound) - { - if (CCB->Status == BusLogic_CCB_Active || - CCB->Status == BusLogic_CCB_Reset) - { - /* - Save the Completion Code for this CCB and queue the CCB - for completion processing. - */ - CCB->CompletionCode = CompletionCode; - BusLogic_QueueCompletedCCB(CCB); - } - else - { - /* - If a CCB ever appears in an Incoming Mailbox and is not marked - as status Active or Reset, then there is most likely a bug in - the Host Adapter firmware. - */ - BusLogic_Warning("Illegal CCB #%ld status %d in " - "Incoming Mailbox\n", HostAdapter, - CCB->SerialNumber, CCB->Status); - } + /* + Scan through the Incoming Mailboxes in Strict Round Robin fashion, saving + any completed CCBs for further processing. It is essential that for each + CCB and SCSI Command issued, command completion processing is performed + exactly once. Therefore, only Incoming Mailboxes with completion code + Command Completed Without Error, Command Completed With Error, or Command + Aborted At Host Request are saved for completion processing. When an + Incoming Mailbox has a completion code of Aborted Command Not Found, the + CCB had already completed or been aborted before the current Abort request + was processed, and so completion processing has already occurred and no + further action should be taken. + */ + struct BusLogic_IncomingMailbox *NextIncomingMailbox = HostAdapter->NextIncomingMailbox; + enum BusLogic_CompletionCode CompletionCode; + while ((CompletionCode = NextIncomingMailbox->CompletionCode) != BusLogic_IncomingMailboxFree) { + /* + We are only allowed to do this because we limit our architectures we + run on to machines where bus_to_virt() actually works. There *needs* + to be a dma_addr_to_virt() in the new PCI DMA mapping interface to + replace bus_to_virt() or else this code is going to become very + innefficient. + */ + struct BusLogic_CCB *CCB = (struct BusLogic_CCB *) Bus_to_Virtual(NextIncomingMailbox->CCB); + if (CompletionCode != BusLogic_AbortedCommandNotFound) { + if (CCB->Status == BusLogic_CCB_Active || CCB->Status == BusLogic_CCB_Reset) { + /* + Save the Completion Code for this CCB and queue the CCB + for completion processing. + */ + CCB->CompletionCode = CompletionCode; + BusLogic_QueueCompletedCCB(CCB); + } else { + /* + If a CCB ever appears in an Incoming Mailbox and is not marked + as status Active or Reset, then there is most likely a bug in + the Host Adapter firmware. + */ + BusLogic_Warning("Illegal CCB #%ld status %d in " "Incoming Mailbox\n", HostAdapter, CCB->SerialNumber, CCB->Status); + } + } + NextIncomingMailbox->CompletionCode = BusLogic_IncomingMailboxFree; + if (++NextIncomingMailbox > HostAdapter->LastIncomingMailbox) + NextIncomingMailbox = HostAdapter->FirstIncomingMailbox; } - NextIncomingMailbox->CompletionCode = BusLogic_IncomingMailboxFree; - if (++NextIncomingMailbox > HostAdapter->LastIncomingMailbox) - NextIncomingMailbox = HostAdapter->FirstIncomingMailbox; - } - HostAdapter->NextIncomingMailbox = NextIncomingMailbox; + HostAdapter->NextIncomingMailbox = NextIncomingMailbox; } @@ -3008,153 +2521,126 @@ static void BusLogic_ScanIncomingMailboxes(struct BusLogic_HostAdapter *HostAdap static void BusLogic_ProcessCompletedCCBs(struct BusLogic_HostAdapter *HostAdapter) { - if (HostAdapter->ProcessCompletedCCBsActive) return; - HostAdapter->ProcessCompletedCCBsActive = true; - while (HostAdapter->FirstCompletedCCB != NULL) - { - struct BusLogic_CCB *CCB = HostAdapter->FirstCompletedCCB; - struct scsi_cmnd *Command = CCB->Command; - HostAdapter->FirstCompletedCCB = CCB->Next; - if (HostAdapter->FirstCompletedCCB == NULL) - HostAdapter->LastCompletedCCB = NULL; - /* - Process the Completed CCB. - */ - if (CCB->Opcode == BusLogic_BusDeviceReset) - { - int TargetID = CCB->TargetID; - BusLogic_Warning("Bus Device Reset CCB #%ld to Target " - "%d Completed\n", HostAdapter, - CCB->SerialNumber, TargetID); - BusLogic_IncrementErrorCounter( - &HostAdapter->TargetStatistics[TargetID].BusDeviceResetsCompleted); - HostAdapter->TargetFlags[TargetID].TaggedQueuingActive = false; - HostAdapter->CommandsSinceReset[TargetID] = 0; - HostAdapter->LastResetCompleted[TargetID] = jiffies; - /* - Place CCB back on the Host Adapter's free list. - */ - BusLogic_DeallocateCCB(CCB); -#if 0 /* this needs to be redone different for new EH */ - /* - Bus Device Reset CCBs have the Command field non-NULL only when a - Bus Device Reset was requested for a Command that did not have a - currently active CCB in the Host Adapter (i.e., a Synchronous - Bus Device Reset), and hence would not have its Completion Routine - called otherwise. - */ - while (Command != NULL) - { - struct scsi_cmnd *NextCommand = Command->reset_chain; - Command->reset_chain = NULL; - Command->result = DID_RESET << 16; - Command->scsi_done(Command); - Command = NextCommand; - } + if (HostAdapter->ProcessCompletedCCBsActive) + return; + HostAdapter->ProcessCompletedCCBsActive = true; + while (HostAdapter->FirstCompletedCCB != NULL) { + struct BusLogic_CCB *CCB = HostAdapter->FirstCompletedCCB; + struct scsi_cmnd *Command = CCB->Command; + HostAdapter->FirstCompletedCCB = CCB->Next; + if (HostAdapter->FirstCompletedCCB == NULL) + HostAdapter->LastCompletedCCB = NULL; + /* + Process the Completed CCB. + */ + if (CCB->Opcode == BusLogic_BusDeviceReset) { + int TargetID = CCB->TargetID; + BusLogic_Warning("Bus Device Reset CCB #%ld to Target " "%d Completed\n", HostAdapter, CCB->SerialNumber, TargetID); + BusLogic_IncrementErrorCounter(&HostAdapter->TargetStatistics[TargetID].BusDeviceResetsCompleted); + HostAdapter->TargetFlags[TargetID].TaggedQueuingActive = false; + HostAdapter->CommandsSinceReset[TargetID] = 0; + HostAdapter->LastResetCompleted[TargetID] = jiffies; + /* + Place CCB back on the Host Adapter's free list. + */ + BusLogic_DeallocateCCB(CCB); +#if 0 /* this needs to be redone different for new EH */ + /* + Bus Device Reset CCBs have the Command field non-NULL only when a + Bus Device Reset was requested for a Command that did not have a + currently active CCB in the Host Adapter (i.e., a Synchronous + Bus Device Reset), and hence would not have its Completion Routine + called otherwise. + */ + while (Command != NULL) { + struct scsi_cmnd *NextCommand = Command->reset_chain; + Command->reset_chain = NULL; + Command->result = DID_RESET << 16; + Command->scsi_done(Command); + Command = NextCommand; + } #endif - /* - Iterate over the CCBs for this Host Adapter performing completion - processing for any CCBs marked as Reset for this Target. - */ - for (CCB = HostAdapter->All_CCBs; CCB != NULL; CCB = CCB->NextAll) - if (CCB->Status == BusLogic_CCB_Reset && CCB->TargetID == TargetID) - { - Command = CCB->Command; - BusLogic_DeallocateCCB(CCB); - HostAdapter->ActiveCommands[TargetID]--; - Command->result = DID_RESET << 16; - Command->scsi_done(Command); - } - HostAdapter->BusDeviceResetPendingCCB[TargetID] = NULL; - } - else - { - /* - Translate the Completion Code, Host Adapter Status, and Target - Device Status into a SCSI Subsystem Result Code. - */ - switch (CCB->CompletionCode) - { - case BusLogic_IncomingMailboxFree: - case BusLogic_AbortedCommandNotFound: - case BusLogic_InvalidCCB: - BusLogic_Warning("CCB #%ld to Target %d Impossible State\n", - HostAdapter, CCB->SerialNumber, CCB->TargetID); - break; - case BusLogic_CommandCompletedWithoutError: - HostAdapter->TargetStatistics[CCB->TargetID] - .CommandsCompleted++; - HostAdapter->TargetFlags[CCB->TargetID] - .CommandSuccessfulFlag = true; - Command->result = DID_OK << 16; - break; - case BusLogic_CommandAbortedAtHostRequest: - BusLogic_Warning("CCB #%ld to Target %d Aborted\n", - HostAdapter, CCB->SerialNumber, CCB->TargetID); - BusLogic_IncrementErrorCounter( - &HostAdapter->TargetStatistics[CCB->TargetID] - .CommandAbortsCompleted); - Command->result = DID_ABORT << 16; - break; - case BusLogic_CommandCompletedWithError: - Command->result = - BusLogic_ComputeResultCode(HostAdapter, - CCB->HostAdapterStatus, - CCB->TargetDeviceStatus); - if (CCB->HostAdapterStatus != BusLogic_SCSISelectionTimeout) - { - HostAdapter->TargetStatistics[CCB->TargetID] - .CommandsCompleted++; - if (BusLogic_GlobalOptions.TraceErrors) - { - int i; - BusLogic_Notice("CCB #%ld Target %d: Result %X Host " - "Adapter Status %02X " - "Target Status %02X\n", - HostAdapter, CCB->SerialNumber, - CCB->TargetID, Command->result, - CCB->HostAdapterStatus, - CCB->TargetDeviceStatus); - BusLogic_Notice("CDB ", HostAdapter); - for (i = 0; i < CCB->CDB_Length; i++) - BusLogic_Notice(" %02X", HostAdapter, CCB->CDB[i]); - BusLogic_Notice("\n", HostAdapter); - BusLogic_Notice("Sense ", HostAdapter); - for (i = 0; i < CCB->SenseDataLength; i++) - BusLogic_Notice(" %02X", HostAdapter, - Command->sense_buffer[i]); - BusLogic_Notice("\n", HostAdapter); - } + /* + Iterate over the CCBs for this Host Adapter performing completion + processing for any CCBs marked as Reset for this Target. + */ + for (CCB = HostAdapter->All_CCBs; CCB != NULL; CCB = CCB->NextAll) + if (CCB->Status == BusLogic_CCB_Reset && CCB->TargetID == TargetID) { + Command = CCB->Command; + BusLogic_DeallocateCCB(CCB); + HostAdapter->ActiveCommands[TargetID]--; + Command->result = DID_RESET << 16; + Command->scsi_done(Command); + } + HostAdapter->BusDeviceResetPendingCCB[TargetID] = NULL; + } else { + /* + Translate the Completion Code, Host Adapter Status, and Target + Device Status into a SCSI Subsystem Result Code. + */ + switch (CCB->CompletionCode) { + case BusLogic_IncomingMailboxFree: + case BusLogic_AbortedCommandNotFound: + case BusLogic_InvalidCCB: + BusLogic_Warning("CCB #%ld to Target %d Impossible State\n", HostAdapter, CCB->SerialNumber, CCB->TargetID); + break; + case BusLogic_CommandCompletedWithoutError: + HostAdapter->TargetStatistics[CCB->TargetID] + .CommandsCompleted++; + HostAdapter->TargetFlags[CCB->TargetID] + .CommandSuccessfulFlag = true; + Command->result = DID_OK << 16; + break; + case BusLogic_CommandAbortedAtHostRequest: + BusLogic_Warning("CCB #%ld to Target %d Aborted\n", HostAdapter, CCB->SerialNumber, CCB->TargetID); + BusLogic_IncrementErrorCounter(&HostAdapter->TargetStatistics[CCB->TargetID] + .CommandAbortsCompleted); + Command->result = DID_ABORT << 16; + break; + case BusLogic_CommandCompletedWithError: + Command->result = BusLogic_ComputeResultCode(HostAdapter, CCB->HostAdapterStatus, CCB->TargetDeviceStatus); + if (CCB->HostAdapterStatus != BusLogic_SCSISelectionTimeout) { + HostAdapter->TargetStatistics[CCB->TargetID] + .CommandsCompleted++; + if (BusLogic_GlobalOptions.TraceErrors) { + int i; + BusLogic_Notice("CCB #%ld Target %d: Result %X Host " + "Adapter Status %02X " "Target Status %02X\n", HostAdapter, CCB->SerialNumber, CCB->TargetID, Command->result, CCB->HostAdapterStatus, CCB->TargetDeviceStatus); + BusLogic_Notice("CDB ", HostAdapter); + for (i = 0; i < CCB->CDB_Length; i++) + BusLogic_Notice(" %02X", HostAdapter, CCB->CDB[i]); + BusLogic_Notice("\n", HostAdapter); + BusLogic_Notice("Sense ", HostAdapter); + for (i = 0; i < CCB->SenseDataLength; i++) + BusLogic_Notice(" %02X", HostAdapter, Command->sense_buffer[i]); + BusLogic_Notice("\n", HostAdapter); + } + } + break; + } + /* + When an INQUIRY command completes normally, save the + CmdQue (Tagged Queuing Supported) and WBus16 (16 Bit + Wide Data Transfers Supported) bits. + */ + if (CCB->CDB[0] == INQUIRY && CCB->CDB[1] == 0 && CCB->HostAdapterStatus == BusLogic_CommandCompletedNormally) { + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[CCB->TargetID]; + struct SCSI_Inquiry *InquiryResult = (struct SCSI_Inquiry *) Command->request_buffer; + TargetFlags->TargetExists = true; + TargetFlags->TaggedQueuingSupported = InquiryResult->CmdQue; + TargetFlags->WideTransfersSupported = InquiryResult->WBus16; + } + /* + Place CCB back on the Host Adapter's free list. + */ + BusLogic_DeallocateCCB(CCB); + /* + Call the SCSI Command Completion Routine. + */ + Command->scsi_done(Command); } - break; - } - /* - When an INQUIRY command completes normally, save the - CmdQue (Tagged Queuing Supported) and WBus16 (16 Bit - Wide Data Transfers Supported) bits. - */ - if (CCB->CDB[0] == INQUIRY && CCB->CDB[1] == 0 && - CCB->HostAdapterStatus == BusLogic_CommandCompletedNormally) - { - struct BusLogic_TargetFlags *TargetFlags = - &HostAdapter->TargetFlags[CCB->TargetID]; - struct SCSI_Inquiry *InquiryResult = - (struct SCSI_Inquiry *) Command->request_buffer; - TargetFlags->TargetExists = true; - TargetFlags->TaggedQueuingSupported = InquiryResult->CmdQue; - TargetFlags->WideTransfersSupported = InquiryResult->WBus16; - } - /* - Place CCB back on the Host Adapter's free list. - */ - BusLogic_DeallocateCCB(CCB); - /* - Call the SCSI Command Completion Routine. - */ - Command->scsi_done(Command); } - } - HostAdapter->ProcessCompletedCCBsActive = false; + HostAdapter->ProcessCompletedCCBsActive = false; } @@ -3163,97 +2649,83 @@ static void BusLogic_ProcessCompletedCCBs(struct BusLogic_HostAdapter *HostAdapt Adapters. */ -static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, - void *DeviceIdentifier, - struct pt_regs *InterruptRegisters) +static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, void *DeviceIdentifier, struct pt_regs *InterruptRegisters) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) DeviceIdentifier; - unsigned long ProcessorFlags; - /* - Acquire exclusive access to Host Adapter. - */ - BusLogic_AcquireHostAdapterLockIH(HostAdapter, &ProcessorFlags); - /* - Handle Interrupts appropriately for each Host Adapter type. - */ - if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) - { - union BusLogic_InterruptRegister InterruptRegister; - /* - Read the Host Adapter Interrupt Register. - */ - InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); - if (InterruptRegister.ir.InterruptValid) - { - /* - Acknowledge the interrupt and reset the Host Adapter - Interrupt Register. - */ - BusLogic_InterruptReset(HostAdapter); - /* - Process valid External SCSI Bus Reset and Incoming Mailbox - Loaded Interrupts. Command Complete Interrupts are noted, - and Outgoing Mailbox Available Interrupts are ignored, as - they are never enabled. - */ - if (InterruptRegister.ir.ExternalBusReset) - HostAdapter->HostAdapterExternalReset = true; - else if (InterruptRegister.ir.IncomingMailboxLoaded) - BusLogic_ScanIncomingMailboxes(HostAdapter); - else if (InterruptRegister.ir.CommandComplete) - HostAdapter->HostAdapterCommandCompleted = true; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) DeviceIdentifier; + unsigned long ProcessorFlags; + /* + Acquire exclusive access to Host Adapter. + */ + BusLogic_AcquireHostAdapterLockIH(HostAdapter, &ProcessorFlags); + /* + Handle Interrupts appropriately for each Host Adapter type. + */ + if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) { + union BusLogic_InterruptRegister InterruptRegister; + /* + Read the Host Adapter Interrupt Register. + */ + InterruptRegister.All = BusLogic_ReadInterruptRegister(HostAdapter); + if (InterruptRegister.ir.InterruptValid) { + /* + Acknowledge the interrupt and reset the Host Adapter + Interrupt Register. + */ + BusLogic_InterruptReset(HostAdapter); + /* + Process valid External SCSI Bus Reset and Incoming Mailbox + Loaded Interrupts. Command Complete Interrupts are noted, + and Outgoing Mailbox Available Interrupts are ignored, as + they are never enabled. + */ + if (InterruptRegister.ir.ExternalBusReset) + HostAdapter->HostAdapterExternalReset = true; + else if (InterruptRegister.ir.IncomingMailboxLoaded) + BusLogic_ScanIncomingMailboxes(HostAdapter); + else if (InterruptRegister.ir.CommandComplete) + HostAdapter->HostAdapterCommandCompleted = true; + } + } else { + /* + Check if there is a pending interrupt for this Host Adapter. + */ + if (FlashPoint_InterruptPending(HostAdapter->CardHandle)) + switch (FlashPoint_HandleInterrupt(HostAdapter->CardHandle)) { + case FlashPoint_NormalInterrupt: + break; + case FlashPoint_ExternalBusReset: + HostAdapter->HostAdapterExternalReset = true; + break; + case FlashPoint_InternalError: + BusLogic_Warning("Internal FlashPoint Error detected" " - Resetting Host Adapter\n", HostAdapter); + HostAdapter->HostAdapterInternalError = true; + break; + } + } + /* + Process any completed CCBs. + */ + if (HostAdapter->FirstCompletedCCB != NULL) + BusLogic_ProcessCompletedCCBs(HostAdapter); + /* + Reset the Host Adapter if requested. + */ + if (HostAdapter->HostAdapterExternalReset) { + BusLogic_Warning("Resetting %s due to External SCSI Bus Reset\n", HostAdapter, HostAdapter->FullModelName); + BusLogic_IncrementErrorCounter(&HostAdapter->ExternalHostAdapterResets); + BusLogic_ResetHostAdapter(HostAdapter, false); + HostAdapter->HostAdapterExternalReset = false; + } else if (HostAdapter->HostAdapterInternalError) { + BusLogic_Warning("Resetting %s due to Host Adapter Internal Error\n", HostAdapter, HostAdapter->FullModelName); + BusLogic_IncrementErrorCounter(&HostAdapter->HostAdapterInternalErrors); + BusLogic_ResetHostAdapter(HostAdapter, true); + HostAdapter->HostAdapterInternalError = false; } - } - else - { - /* - Check if there is a pending interrupt for this Host Adapter. - */ - if (FlashPoint_InterruptPending(HostAdapter->CardHandle)) - switch (FlashPoint_HandleInterrupt(HostAdapter->CardHandle)) - { - case FlashPoint_NormalInterrupt: - break; - case FlashPoint_ExternalBusReset: - HostAdapter->HostAdapterExternalReset = true; - break; - case FlashPoint_InternalError: - BusLogic_Warning("Internal FlashPoint Error detected" - " - Resetting Host Adapter\n", HostAdapter); - HostAdapter->HostAdapterInternalError = true; - break; - } - } - /* - Process any completed CCBs. - */ - if (HostAdapter->FirstCompletedCCB != NULL) - BusLogic_ProcessCompletedCCBs(HostAdapter); - /* - Reset the Host Adapter if requested. - */ - if (HostAdapter->HostAdapterExternalReset) - { - BusLogic_Warning("Resetting %s due to External SCSI Bus Reset\n", - HostAdapter, HostAdapter->FullModelName); - BusLogic_IncrementErrorCounter(&HostAdapter->ExternalHostAdapterResets); - BusLogic_ResetHostAdapter(HostAdapter, false); - HostAdapter->HostAdapterExternalReset = false; - } - else if (HostAdapter->HostAdapterInternalError) - { - BusLogic_Warning("Resetting %s due to Host Adapter Internal Error\n", - HostAdapter, HostAdapter->FullModelName); - BusLogic_IncrementErrorCounter(&HostAdapter->HostAdapterInternalErrors); - BusLogic_ResetHostAdapter(HostAdapter, true); - HostAdapter->HostAdapterInternalError = false; - } - /* - Release exclusive access to Host Adapter. - */ - BusLogic_ReleaseHostAdapterLockIH(HostAdapter, &ProcessorFlags); - return IRQ_HANDLED; + /* + Release exclusive access to Host Adapter. + */ + BusLogic_ReleaseHostAdapterLockIH(HostAdapter, &ProcessorFlags); + return IRQ_HANDLED; } @@ -3264,43 +2736,38 @@ static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, */ static boolean BusLogic_WriteOutgoingMailbox(struct BusLogic_HostAdapter - *HostAdapter, - enum BusLogic_ActionCode ActionCode, - struct BusLogic_CCB *CCB) + *HostAdapter, enum BusLogic_ActionCode ActionCode, struct BusLogic_CCB *CCB) { - struct BusLogic_OutgoingMailbox *NextOutgoingMailbox; - NextOutgoingMailbox = HostAdapter->NextOutgoingMailbox; - if (NextOutgoingMailbox->ActionCode == BusLogic_OutgoingMailboxFree) - { - CCB->Status = BusLogic_CCB_Active; - /* - The CCB field must be written before the Action Code field since - the Host Adapter is operating asynchronously and the locking code - does not protect against simultaneous access by the Host Adapter. - */ - NextOutgoingMailbox->CCB = CCB->DMA_Handle; - NextOutgoingMailbox->ActionCode = ActionCode; - BusLogic_StartMailboxCommand(HostAdapter); - if (++NextOutgoingMailbox > HostAdapter->LastOutgoingMailbox) - NextOutgoingMailbox = HostAdapter->FirstOutgoingMailbox; - HostAdapter->NextOutgoingMailbox = NextOutgoingMailbox; - if (ActionCode == BusLogic_MailboxStartCommand) - { - HostAdapter->ActiveCommands[CCB->TargetID]++; - if (CCB->Opcode != BusLogic_BusDeviceReset) - HostAdapter->TargetStatistics[CCB->TargetID].CommandsAttempted++; + struct BusLogic_OutgoingMailbox *NextOutgoingMailbox; + NextOutgoingMailbox = HostAdapter->NextOutgoingMailbox; + if (NextOutgoingMailbox->ActionCode == BusLogic_OutgoingMailboxFree) { + CCB->Status = BusLogic_CCB_Active; + /* + The CCB field must be written before the Action Code field since + the Host Adapter is operating asynchronously and the locking code + does not protect against simultaneous access by the Host Adapter. + */ + NextOutgoingMailbox->CCB = CCB->DMA_Handle; + NextOutgoingMailbox->ActionCode = ActionCode; + BusLogic_StartMailboxCommand(HostAdapter); + if (++NextOutgoingMailbox > HostAdapter->LastOutgoingMailbox) + NextOutgoingMailbox = HostAdapter->FirstOutgoingMailbox; + HostAdapter->NextOutgoingMailbox = NextOutgoingMailbox; + if (ActionCode == BusLogic_MailboxStartCommand) { + HostAdapter->ActiveCommands[CCB->TargetID]++; + if (CCB->Opcode != BusLogic_BusDeviceReset) + HostAdapter->TargetStatistics[CCB->TargetID].CommandsAttempted++; + } + return true; } - return true; - } - return false; + return false; } /* Error Handling (EH) support */ -static int BusLogic_host_reset(Scsi_Cmnd *SCpnt) +static int BusLogic_host_reset(Scsi_Cmnd * SCpnt) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) SCpnt->device->host->hostdata; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) SCpnt->device->host->hostdata; unsigned int id = SCpnt->device->id; struct BusLogic_TargetStatistics *stats = &HostAdapter->TargetStatistics[id]; @@ -3314,237 +2781,190 @@ static int BusLogic_host_reset(Scsi_Cmnd *SCpnt) Outgoing Mailbox for execution by the associated Host Adapter. */ -static int BusLogic_QueueCommand(struct scsi_cmnd *Command, - void (*CompletionRoutine)(struct scsi_cmnd *)) +static int BusLogic_QueueCommand(struct scsi_cmnd *Command, void (*CompletionRoutine) (struct scsi_cmnd *)) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) Command->device->host->hostdata; - struct BusLogic_TargetFlags *TargetFlags = - &HostAdapter->TargetFlags[Command->device->id]; - struct BusLogic_TargetStatistics *TargetStatistics = - HostAdapter->TargetStatistics; - unsigned char *CDB = Command->cmnd; - int CDB_Length = Command->cmd_len; - int TargetID = Command->device->id; - int LogicalUnit = Command->device->lun; - void *BufferPointer = Command->request_buffer; - int BufferLength = Command->request_bufflen; - int SegmentCount = Command->use_sg; - struct BusLogic_CCB *CCB; - /* - SCSI REQUEST_SENSE commands will be executed automatically by the Host - Adapter for any errors, so they should not be executed explicitly unless - the Sense Data is zero indicating that no error occurred. - */ - if (CDB[0] == REQUEST_SENSE && Command->sense_buffer[0] != 0) - { - Command->result = DID_OK << 16; - CompletionRoutine(Command); - return 0; - } - /* - Allocate a CCB from the Host Adapter's free list. In the unlikely event - that there are none available and memory allocation fails, wait 1 second - and try again. If that fails, the Host Adapter is probably hung so signal - an error as a Host Adapter Hard Reset should be initiated soon. - */ - CCB = BusLogic_AllocateCCB(HostAdapter); - if (CCB == NULL) - { - BusLogic_ReleaseHostAdapterLock(HostAdapter); - BusLogic_Delay(1); - BusLogic_AcquireHostAdapterLock(HostAdapter); - CCB = BusLogic_AllocateCCB(HostAdapter); - if (CCB == NULL) - { - Command->result = DID_ERROR << 16; - CompletionRoutine(Command); - return 0; - } - } - /* - Initialize the fields in the BusLogic Command Control Block (CCB). - */ - if (SegmentCount == 0 && BufferLength != 0) - { - CCB->Opcode = BusLogic_InitiatorCCB; - CCB->DataLength = BufferLength; - CCB->DataPointer = - pci_map_single(HostAdapter->PCI_Device, BufferPointer, BufferLength, - scsi_to_pci_dma_dir(Command->sc_data_direction)); - } - else if (SegmentCount != 0) - { - struct scatterlist *ScatterList = (struct scatterlist *) BufferPointer; - int Segment, Count; - - Count = pci_map_sg(HostAdapter->PCI_Device, ScatterList, SegmentCount, - scsi_to_pci_dma_dir(Command->sc_data_direction)); - CCB->Opcode = BusLogic_InitiatorCCB_ScatterGather; - CCB->DataLength = Count * sizeof(struct BusLogic_ScatterGatherSegment); - if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) - CCB->DataPointer = (unsigned int)CCB->DMA_Handle + - ((unsigned long)&CCB->ScatterGatherList - - (unsigned long)CCB); - else CCB->DataPointer = Virtual_to_32Bit_Virtual(CCB->ScatterGatherList); - for (Segment = 0; Segment < Count; Segment++) - { - CCB->ScatterGatherList[Segment].SegmentByteCount = - sg_dma_len(ScatterList+Segment); - CCB->ScatterGatherList[Segment].SegmentDataPointer = - sg_dma_address(ScatterList+Segment); - } - } - else - { - CCB->Opcode = BusLogic_InitiatorCCB; - CCB->DataLength = BufferLength; - CCB->DataPointer = 0; - } - switch (CDB[0]) - { - case READ_6: - case READ_10: - CCB->DataDirection = BusLogic_DataInLengthChecked; - TargetStatistics[TargetID].ReadCommands++; - BusLogic_IncrementByteCounter( - &TargetStatistics[TargetID].TotalBytesRead, BufferLength); - BusLogic_IncrementSizeBucket( - TargetStatistics[TargetID].ReadCommandSizeBuckets, BufferLength); - break; - case WRITE_6: - case WRITE_10: - CCB->DataDirection = BusLogic_DataOutLengthChecked; - TargetStatistics[TargetID].WriteCommands++; - BusLogic_IncrementByteCounter( - &TargetStatistics[TargetID].TotalBytesWritten, BufferLength); - BusLogic_IncrementSizeBucket( - TargetStatistics[TargetID].WriteCommandSizeBuckets, BufferLength); - break; - default: - CCB->DataDirection = BusLogic_UncheckedDataTransfer; - break; - } - CCB->CDB_Length = CDB_Length; - CCB->HostAdapterStatus = 0; - CCB->TargetDeviceStatus = 0; - CCB->TargetID = TargetID; - CCB->LogicalUnit = LogicalUnit; - CCB->TagEnable = false; - CCB->LegacyTagEnable = false; - /* - BusLogic recommends that after a Reset the first couple of commands that - are sent to a Target Device be sent in a non Tagged Queue fashion so that - the Host Adapter and Target Device can establish Synchronous and Wide - Transfer before Queue Tag messages can interfere with the Synchronous and - Wide Negotiation messages. By waiting to enable Tagged Queuing until after - the first BusLogic_MaxTaggedQueueDepth commands have been queued, it is - assured that after a Reset any pending commands are requeued before Tagged - Queuing is enabled and that the Tagged Queuing message will not occur while - the partition table is being printed. In addition, some devices do not - properly handle the transition from non-tagged to tagged commands, so it is - necessary to wait until there are no pending commands for a target device - before queuing tagged commands. - */ - if (HostAdapter->CommandsSinceReset[TargetID]++ >= - BusLogic_MaxTaggedQueueDepth && - !TargetFlags->TaggedQueuingActive && - HostAdapter->ActiveCommands[TargetID] == 0 && - TargetFlags->TaggedQueuingSupported && - (HostAdapter->TaggedQueuingPermitted & (1 << TargetID))) - { - TargetFlags->TaggedQueuingActive = true; - BusLogic_Notice("Tagged Queuing now active for Target %d\n", - HostAdapter, TargetID); - } - if (TargetFlags->TaggedQueuingActive) - { - enum BusLogic_QueueTag QueueTag = BusLogic_SimpleQueueTag; - /* - When using Tagged Queuing with Simple Queue Tags, it appears that disk - drive controllers do not guarantee that a queued command will not - remain in a disconnected state indefinitely if commands that read or - write nearer the head position continue to arrive without interruption. - Therefore, for each Target Device this driver keeps track of the last - time either the queue was empty or an Ordered Queue Tag was issued. If - more than 4 seconds (one fifth of the 20 second disk timeout) have - elapsed since this last sequence point, this command will be issued - with an Ordered Queue Tag rather than a Simple Queue Tag, which forces - the Target Device to complete all previously queued commands before - this command may be executed. - */ - if (HostAdapter->ActiveCommands[TargetID] == 0) - HostAdapter->LastSequencePoint[TargetID] = jiffies; - else if (jiffies - HostAdapter->LastSequencePoint[TargetID] > 4*HZ) - { - HostAdapter->LastSequencePoint[TargetID] = jiffies; - QueueTag = BusLogic_OrderedQueueTag; - } - if (HostAdapter->ExtendedLUNSupport) - { - CCB->TagEnable = true; - CCB->QueueTag = QueueTag; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) Command->device->host->hostdata; + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[Command->device->id]; + struct BusLogic_TargetStatistics *TargetStatistics = HostAdapter->TargetStatistics; + unsigned char *CDB = Command->cmnd; + int CDB_Length = Command->cmd_len; + int TargetID = Command->device->id; + int LogicalUnit = Command->device->lun; + void *BufferPointer = Command->request_buffer; + int BufferLength = Command->request_bufflen; + int SegmentCount = Command->use_sg; + struct BusLogic_CCB *CCB; + /* + SCSI REQUEST_SENSE commands will be executed automatically by the Host + Adapter for any errors, so they should not be executed explicitly unless + the Sense Data is zero indicating that no error occurred. + */ + if (CDB[0] == REQUEST_SENSE && Command->sense_buffer[0] != 0) { + Command->result = DID_OK << 16; + CompletionRoutine(Command); + return 0; } - else - { - CCB->LegacyTagEnable = true; - CCB->LegacyQueueTag = QueueTag; + /* + Allocate a CCB from the Host Adapter's free list. In the unlikely event + that there are none available and memory allocation fails, wait 1 second + and try again. If that fails, the Host Adapter is probably hung so signal + an error as a Host Adapter Hard Reset should be initiated soon. + */ + CCB = BusLogic_AllocateCCB(HostAdapter); + if (CCB == NULL) { + BusLogic_ReleaseHostAdapterLock(HostAdapter); + BusLogic_Delay(1); + BusLogic_AcquireHostAdapterLock(HostAdapter); + CCB = BusLogic_AllocateCCB(HostAdapter); + if (CCB == NULL) { + Command->result = DID_ERROR << 16; + CompletionRoutine(Command); + return 0; + } } - } - memcpy(CCB->CDB, CDB, CDB_Length); - CCB->SenseDataLength = sizeof(Command->sense_buffer); - CCB->SenseDataPointer = pci_map_single(HostAdapter->PCI_Device, - Command->sense_buffer, - CCB->SenseDataLength, - PCI_DMA_FROMDEVICE); - CCB->Command = Command; - Command->scsi_done = CompletionRoutine; - if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) - { - /* - Place the CCB in an Outgoing Mailbox. The higher levels of the SCSI - Subsystem should not attempt to queue more commands than can be placed - in Outgoing Mailboxes, so there should always be one free. In the - unlikely event that there are none available, wait 1 second and try - again. If that fails, the Host Adapter is probably hung so signal an - error as a Host Adapter Hard Reset should be initiated soon. - */ - if (!BusLogic_WriteOutgoingMailbox( - HostAdapter, BusLogic_MailboxStartCommand, CCB)) - { - BusLogic_ReleaseHostAdapterLock(HostAdapter); - BusLogic_Warning("Unable to write Outgoing Mailbox - " - "Pausing for 1 second\n", HostAdapter); - BusLogic_Delay(1); - BusLogic_AcquireHostAdapterLock(HostAdapter); - if (!BusLogic_WriteOutgoingMailbox( - HostAdapter, BusLogic_MailboxStartCommand, CCB)) - { - BusLogic_Warning("Still unable to write Outgoing Mailbox - " - "Host Adapter Dead?\n", HostAdapter); - BusLogic_DeallocateCCB(CCB); - Command->result = DID_ERROR << 16; - Command->scsi_done(Command); - } + /* + Initialize the fields in the BusLogic Command Control Block (CCB). + */ + if (SegmentCount == 0 && BufferLength != 0) { + CCB->Opcode = BusLogic_InitiatorCCB; + CCB->DataLength = BufferLength; + CCB->DataPointer = pci_map_single(HostAdapter->PCI_Device, BufferPointer, BufferLength, scsi_to_pci_dma_dir(Command->sc_data_direction)); + } else if (SegmentCount != 0) { + struct scatterlist *ScatterList = (struct scatterlist *) BufferPointer; + int Segment, Count; + + Count = pci_map_sg(HostAdapter->PCI_Device, ScatterList, SegmentCount, scsi_to_pci_dma_dir(Command->sc_data_direction)); + CCB->Opcode = BusLogic_InitiatorCCB_ScatterGather; + CCB->DataLength = Count * sizeof(struct BusLogic_ScatterGatherSegment); + if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) + CCB->DataPointer = (unsigned int) CCB->DMA_Handle + ((unsigned long) &CCB->ScatterGatherList - (unsigned long) CCB); + else + CCB->DataPointer = Virtual_to_32Bit_Virtual(CCB->ScatterGatherList); + for (Segment = 0; Segment < Count; Segment++) { + CCB->ScatterGatherList[Segment].SegmentByteCount = sg_dma_len(ScatterList + Segment); + CCB->ScatterGatherList[Segment].SegmentDataPointer = sg_dma_address(ScatterList + Segment); + } + } else { + CCB->Opcode = BusLogic_InitiatorCCB; + CCB->DataLength = BufferLength; + CCB->DataPointer = 0; + } + switch (CDB[0]) { + case READ_6: + case READ_10: + CCB->DataDirection = BusLogic_DataInLengthChecked; + TargetStatistics[TargetID].ReadCommands++; + BusLogic_IncrementByteCounter(&TargetStatistics[TargetID].TotalBytesRead, BufferLength); + BusLogic_IncrementSizeBucket(TargetStatistics[TargetID].ReadCommandSizeBuckets, BufferLength); + break; + case WRITE_6: + case WRITE_10: + CCB->DataDirection = BusLogic_DataOutLengthChecked; + TargetStatistics[TargetID].WriteCommands++; + BusLogic_IncrementByteCounter(&TargetStatistics[TargetID].TotalBytesWritten, BufferLength); + BusLogic_IncrementSizeBucket(TargetStatistics[TargetID].WriteCommandSizeBuckets, BufferLength); + break; + default: + CCB->DataDirection = BusLogic_UncheckedDataTransfer; + break; + } + CCB->CDB_Length = CDB_Length; + CCB->HostAdapterStatus = 0; + CCB->TargetDeviceStatus = 0; + CCB->TargetID = TargetID; + CCB->LogicalUnit = LogicalUnit; + CCB->TagEnable = false; + CCB->LegacyTagEnable = false; + /* + BusLogic recommends that after a Reset the first couple of commands that + are sent to a Target Device be sent in a non Tagged Queue fashion so that + the Host Adapter and Target Device can establish Synchronous and Wide + Transfer before Queue Tag messages can interfere with the Synchronous and + Wide Negotiation messages. By waiting to enable Tagged Queuing until after + the first BusLogic_MaxTaggedQueueDepth commands have been queued, it is + assured that after a Reset any pending commands are requeued before Tagged + Queuing is enabled and that the Tagged Queuing message will not occur while + the partition table is being printed. In addition, some devices do not + properly handle the transition from non-tagged to tagged commands, so it is + necessary to wait until there are no pending commands for a target device + before queuing tagged commands. + */ + if (HostAdapter->CommandsSinceReset[TargetID]++ >= + BusLogic_MaxTaggedQueueDepth && !TargetFlags->TaggedQueuingActive && HostAdapter->ActiveCommands[TargetID] == 0 && TargetFlags->TaggedQueuingSupported && (HostAdapter->TaggedQueuingPermitted & (1 << TargetID))) { + TargetFlags->TaggedQueuingActive = true; + BusLogic_Notice("Tagged Queuing now active for Target %d\n", HostAdapter, TargetID); + } + if (TargetFlags->TaggedQueuingActive) { + enum BusLogic_QueueTag QueueTag = BusLogic_SimpleQueueTag; + /* + When using Tagged Queuing with Simple Queue Tags, it appears that disk + drive controllers do not guarantee that a queued command will not + remain in a disconnected state indefinitely if commands that read or + write nearer the head position continue to arrive without interruption. + Therefore, for each Target Device this driver keeps track of the last + time either the queue was empty or an Ordered Queue Tag was issued. If + more than 4 seconds (one fifth of the 20 second disk timeout) have + elapsed since this last sequence point, this command will be issued + with an Ordered Queue Tag rather than a Simple Queue Tag, which forces + the Target Device to complete all previously queued commands before + this command may be executed. + */ + if (HostAdapter->ActiveCommands[TargetID] == 0) + HostAdapter->LastSequencePoint[TargetID] = jiffies; + else if (jiffies - HostAdapter->LastSequencePoint[TargetID] > 4 * HZ) { + HostAdapter->LastSequencePoint[TargetID] = jiffies; + QueueTag = BusLogic_OrderedQueueTag; + } + if (HostAdapter->ExtendedLUNSupport) { + CCB->TagEnable = true; + CCB->QueueTag = QueueTag; + } else { + CCB->LegacyTagEnable = true; + CCB->LegacyQueueTag = QueueTag; + } } - } - else - { - /* - Call the FlashPoint SCCB Manager to start execution of the CCB. - */ - CCB->Status = BusLogic_CCB_Active; - HostAdapter->ActiveCommands[TargetID]++; - TargetStatistics[TargetID].CommandsAttempted++; - FlashPoint_StartCCB(HostAdapter->CardHandle, CCB); - /* - The Command may have already completed and BusLogic_QueueCompletedCCB - been called, or it may still be pending. - */ - if (CCB->Status == BusLogic_CCB_Completed) - BusLogic_ProcessCompletedCCBs(HostAdapter); - } - return 0; + memcpy(CCB->CDB, CDB, CDB_Length); + CCB->SenseDataLength = sizeof(Command->sense_buffer); + CCB->SenseDataPointer = pci_map_single(HostAdapter->PCI_Device, Command->sense_buffer, CCB->SenseDataLength, PCI_DMA_FROMDEVICE); + CCB->Command = Command; + Command->scsi_done = CompletionRoutine; + if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) { + /* + Place the CCB in an Outgoing Mailbox. The higher levels of the SCSI + Subsystem should not attempt to queue more commands than can be placed + in Outgoing Mailboxes, so there should always be one free. In the + unlikely event that there are none available, wait 1 second and try + again. If that fails, the Host Adapter is probably hung so signal an + error as a Host Adapter Hard Reset should be initiated soon. + */ + if (!BusLogic_WriteOutgoingMailbox(HostAdapter, BusLogic_MailboxStartCommand, CCB)) { + BusLogic_ReleaseHostAdapterLock(HostAdapter); + BusLogic_Warning("Unable to write Outgoing Mailbox - " "Pausing for 1 second\n", HostAdapter); + BusLogic_Delay(1); + BusLogic_AcquireHostAdapterLock(HostAdapter); + if (!BusLogic_WriteOutgoingMailbox(HostAdapter, BusLogic_MailboxStartCommand, CCB)) { + BusLogic_Warning("Still unable to write Outgoing Mailbox - " "Host Adapter Dead?\n", HostAdapter); + BusLogic_DeallocateCCB(CCB); + Command->result = DID_ERROR << 16; + Command->scsi_done(Command); + } + } + } else { + /* + Call the FlashPoint SCCB Manager to start execution of the CCB. + */ + CCB->Status = BusLogic_CCB_Active; + HostAdapter->ActiveCommands[TargetID]++; + TargetStatistics[TargetID].CommandsAttempted++; + FlashPoint_StartCCB(HostAdapter->CardHandle, CCB); + /* + The Command may have already completed and BusLogic_QueueCompletedCCB + been called, or it may still be pending. + */ + if (CCB->Status == BusLogic_CCB_Completed) + BusLogic_ProcessCompletedCCBs(HostAdapter); + } + return 0; } @@ -3554,105 +2974,75 @@ static int BusLogic_QueueCommand(struct scsi_cmnd *Command, static int BusLogic_AbortCommand(struct scsi_cmnd *Command) { - struct BusLogic_HostAdapter *HostAdapter = - (struct BusLogic_HostAdapter *) Command->device->host->hostdata; - - int TargetID = Command->device->id; - struct BusLogic_CCB *CCB; - BusLogic_IncrementErrorCounter( - &HostAdapter->TargetStatistics[TargetID].CommandAbortsRequested); - /* - If this Command has already completed, then no Abort is necessary. - */ - if (Command->serial_number != Command->serial_number_at_timeout) - { - BusLogic_Warning("Unable to Abort Command to Target %d - " - "Already Completed\n", HostAdapter, TargetID); - return SUCCESS; - } - /* - Attempt to find an Active CCB for this Command. If no Active CCB for this - Command is found, then no Abort is necessary. - */ - for (CCB = HostAdapter->All_CCBs; CCB != NULL; CCB = CCB->NextAll) - if (CCB->Command == Command) break; - if (CCB == NULL) - { - BusLogic_Warning("Unable to Abort Command to Target %d - " - "No CCB Found\n", HostAdapter, TargetID); - return SUCCESS; - } - else if (CCB->Status == BusLogic_CCB_Completed) - { - BusLogic_Warning("Unable to Abort Command to Target %d - " - "CCB Completed\n", HostAdapter, TargetID); - return SUCCESS; - } - else if (CCB->Status == BusLogic_CCB_Reset) - { - BusLogic_Warning("Unable to Abort Command to Target %d - " - "CCB Reset\n", HostAdapter, TargetID); - return SUCCESS; - } - if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) - { - /* - Attempt to Abort this CCB. MultiMaster Firmware versions prior to 5.xx - do not generate Abort Tag messages, but only generate the non-tagged - Abort message. Since non-tagged commands are not sent by the Host - Adapter until the queue of outstanding tagged commands has completed, - and the Abort message is treated as a non-tagged command, it is - effectively impossible to abort commands when Tagged Queuing is active. - Firmware version 5.xx does generate Abort Tag messages, so it is - possible to abort commands when Tagged Queuing is active. - */ - if (HostAdapter->TargetFlags[TargetID].TaggedQueuingActive && - HostAdapter->FirmwareVersion[0] < '5') - { - BusLogic_Warning("Unable to Abort CCB #%ld to Target %d - " - "Abort Tag Not Supported\n", - HostAdapter, CCB->SerialNumber, TargetID); - return FAILURE; - } - else if (BusLogic_WriteOutgoingMailbox( - HostAdapter, BusLogic_MailboxAbortCommand, CCB)) - { - BusLogic_Warning("Aborting CCB #%ld to Target %d\n", - HostAdapter, CCB->SerialNumber, TargetID); - BusLogic_IncrementErrorCounter( - &HostAdapter->TargetStatistics[TargetID].CommandAbortsAttempted); - return SUCCESS; - } - else - { - BusLogic_Warning("Unable to Abort CCB #%ld to Target %d - " - "No Outgoing Mailboxes\n", - HostAdapter, CCB->SerialNumber, TargetID); - return FAILURE; + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) Command->device->host->hostdata; + + int TargetID = Command->device->id; + struct BusLogic_CCB *CCB; + BusLogic_IncrementErrorCounter(&HostAdapter->TargetStatistics[TargetID].CommandAbortsRequested); + /* + If this Command has already completed, then no Abort is necessary. + */ + if (Command->serial_number != Command->serial_number_at_timeout) { + BusLogic_Warning("Unable to Abort Command to Target %d - " "Already Completed\n", HostAdapter, TargetID); + return SUCCESS; } - } - else - { - /* - Call the FlashPoint SCCB Manager to abort execution of the CCB. - */ - BusLogic_Warning("Aborting CCB #%ld to Target %d\n", - HostAdapter, CCB->SerialNumber, TargetID); - BusLogic_IncrementErrorCounter( - &HostAdapter->TargetStatistics[TargetID].CommandAbortsAttempted); - FlashPoint_AbortCCB(HostAdapter->CardHandle, CCB); - /* - The Abort may have already been completed and - BusLogic_QueueCompletedCCB been called, or it - may still be pending. - */ - if (CCB->Status == BusLogic_CCB_Completed) - { - BusLogic_ProcessCompletedCCBs(HostAdapter); + /* + Attempt to find an Active CCB for this Command. If no Active CCB for this + Command is found, then no Abort is necessary. + */ + for (CCB = HostAdapter->All_CCBs; CCB != NULL; CCB = CCB->NextAll) + if (CCB->Command == Command) + break; + if (CCB == NULL) { + BusLogic_Warning("Unable to Abort Command to Target %d - " "No CCB Found\n", HostAdapter, TargetID); + return SUCCESS; + } else if (CCB->Status == BusLogic_CCB_Completed) { + BusLogic_Warning("Unable to Abort Command to Target %d - " "CCB Completed\n", HostAdapter, TargetID); + return SUCCESS; + } else if (CCB->Status == BusLogic_CCB_Reset) { + BusLogic_Warning("Unable to Abort Command to Target %d - " "CCB Reset\n", HostAdapter, TargetID); + return SUCCESS; + } + if (BusLogic_MultiMasterHostAdapterP(HostAdapter)) { + /* + Attempt to Abort this CCB. MultiMaster Firmware versions prior to 5.xx + do not generate Abort Tag messages, but only generate the non-tagged + Abort message. Since non-tagged commands are not sent by the Host + Adapter until the queue of outstanding tagged commands has completed, + and the Abort message is treated as a non-tagged command, it is + effectively impossible to abort commands when Tagged Queuing is active. + Firmware version 5.xx does generate Abort Tag messages, so it is + possible to abort commands when Tagged Queuing is active. + */ + if (HostAdapter->TargetFlags[TargetID].TaggedQueuingActive && HostAdapter->FirmwareVersion[0] < '5') { + BusLogic_Warning("Unable to Abort CCB #%ld to Target %d - " "Abort Tag Not Supported\n", HostAdapter, CCB->SerialNumber, TargetID); + return FAILURE; + } else if (BusLogic_WriteOutgoingMailbox(HostAdapter, BusLogic_MailboxAbortCommand, CCB)) { + BusLogic_Warning("Aborting CCB #%ld to Target %d\n", HostAdapter, CCB->SerialNumber, TargetID); + BusLogic_IncrementErrorCounter(&HostAdapter->TargetStatistics[TargetID].CommandAbortsAttempted); + return SUCCESS; + } else { + BusLogic_Warning("Unable to Abort CCB #%ld to Target %d - " "No Outgoing Mailboxes\n", HostAdapter, CCB->SerialNumber, TargetID); + return FAILURE; + } + } else { + /* + Call the FlashPoint SCCB Manager to abort execution of the CCB. + */ + BusLogic_Warning("Aborting CCB #%ld to Target %d\n", HostAdapter, CCB->SerialNumber, TargetID); + BusLogic_IncrementErrorCounter(&HostAdapter->TargetStatistics[TargetID].CommandAbortsAttempted); + FlashPoint_AbortCCB(HostAdapter->CardHandle, CCB); + /* + The Abort may have already been completed and + BusLogic_QueueCompletedCCB been called, or it + may still be pending. + */ + if (CCB->Status == BusLogic_CCB_Completed) { + BusLogic_ProcessCompletedCCBs(HostAdapter); + } + return SUCCESS; } - return SUCCESS; - } - return SUCCESS; + return SUCCESS; } /* @@ -3660,8 +3050,7 @@ static int BusLogic_AbortCommand(struct scsi_cmnd *Command) currently executing SCSI Commands as having been Reset. */ -static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *HostAdapter, - boolean HardReset) +static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *HostAdapter, boolean HardReset) { struct BusLogic_CCB *CCB; int TargetID; @@ -3670,10 +3059,8 @@ static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *HostAdapter, * Attempt to Reset and Reinitialize the Host Adapter. */ - if (!(BusLogic_HardwareResetHostAdapter(HostAdapter, HardReset) && - BusLogic_InitializeHostAdapter(HostAdapter))) { - BusLogic_Error("Resetting %s Failed\n", HostAdapter, - HostAdapter->FullModelName); + if (!(BusLogic_HardwareResetHostAdapter(HostAdapter, HardReset) && BusLogic_InitializeHostAdapter(HostAdapter))) { + BusLogic_Error("Resetting %s Failed\n", HostAdapter, HostAdapter->FullModelName); return FAILURE; } @@ -3721,98 +3108,70 @@ static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *HostAdapter, the BIOS, and a warning may be displayed. */ -static int BusLogic_BIOSDiskParameters(struct scsi_device *sdev, struct block_device *Device, - sector_t capacity, int *Parameters) +static int BusLogic_BIOSDiskParameters(struct scsi_device *sdev, struct block_device *Device, sector_t capacity, int *Parameters) { - struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) sdev->host->hostdata; - struct BIOS_DiskParameters *DiskParameters = (struct BIOS_DiskParameters *) Parameters; - unsigned char *buf; - if (HostAdapter->ExtendedTranslationEnabled && - capacity >= 2*1024*1024 /* 1 GB in 512 byte sectors */) - { - if (capacity >= 4*1024*1024 /* 2 GB in 512 byte sectors */) - { - DiskParameters->Heads = 255; - DiskParameters->Sectors = 63; - } - else - { - DiskParameters->Heads = 128; - DiskParameters->Sectors = 32; - } - } - else - { - DiskParameters->Heads = 64; - DiskParameters->Sectors = 32; - } - DiskParameters->Cylinders = - (unsigned long)capacity / (DiskParameters->Heads * DiskParameters->Sectors); - buf = scsi_bios_ptable(Device); - if (buf == NULL) return 0; - /* - If the boot sector partition table flag is valid, search for a partition - table entry whose end_head matches one of the standard BusLogic geometry - translations (64/32, 128/32, or 255/63). - */ - if (*(unsigned short *) (buf+64) == 0xAA55) - { - struct partition *FirstPartitionEntry = (struct partition *) buf; - struct partition *PartitionEntry = FirstPartitionEntry; - int SavedCylinders = DiskParameters->Cylinders, PartitionNumber; - unsigned char PartitionEntryEndHead=0, PartitionEntryEndSector=0; - for (PartitionNumber = 0; PartitionNumber < 4; PartitionNumber++) - { - PartitionEntryEndHead = PartitionEntry->end_head; - PartitionEntryEndSector = PartitionEntry->end_sector & 0x3F; - if (PartitionEntryEndHead == 64-1) - { - DiskParameters->Heads = 64; - DiskParameters->Sectors = 32; - break; - } - else if (PartitionEntryEndHead == 128-1) - { - DiskParameters->Heads = 128; - DiskParameters->Sectors = 32; - break; - } - else if (PartitionEntryEndHead == 255-1) - { - DiskParameters->Heads = 255; - DiskParameters->Sectors = 63; - break; - } - PartitionEntry++; - } - if (PartitionNumber == 4) - { - PartitionEntryEndHead = FirstPartitionEntry->end_head; - PartitionEntryEndSector = FirstPartitionEntry->end_sector & 0x3F; - } - DiskParameters->Cylinders = - (unsigned long)capacity / (DiskParameters->Heads * DiskParameters->Sectors); - if (PartitionNumber < 4 && - PartitionEntryEndSector == DiskParameters->Sectors) - { - if (DiskParameters->Cylinders != SavedCylinders) - BusLogic_Warning("Adopting Geometry %d/%d from Partition Table\n", - HostAdapter, - DiskParameters->Heads, DiskParameters->Sectors); + struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) sdev->host->hostdata; + struct BIOS_DiskParameters *DiskParameters = (struct BIOS_DiskParameters *) Parameters; + unsigned char *buf; + if (HostAdapter->ExtendedTranslationEnabled && capacity >= 2 * 1024 * 1024 /* 1 GB in 512 byte sectors */ ) { + if (capacity >= 4 * 1024 * 1024 /* 2 GB in 512 byte sectors */ ) { + DiskParameters->Heads = 255; + DiskParameters->Sectors = 63; + } else { + DiskParameters->Heads = 128; + DiskParameters->Sectors = 32; + } + } else { + DiskParameters->Heads = 64; + DiskParameters->Sectors = 32; } - else if (PartitionEntryEndHead > 0 || PartitionEntryEndSector > 0) - { - BusLogic_Warning("Warning: Partition Table appears to " - "have Geometry %d/%d which is\n", HostAdapter, - PartitionEntryEndHead + 1, - PartitionEntryEndSector); - BusLogic_Warning("not compatible with current BusLogic " - "Host Adapter Geometry %d/%d\n", HostAdapter, - DiskParameters->Heads, DiskParameters->Sectors); + DiskParameters->Cylinders = (unsigned long) capacity / (DiskParameters->Heads * DiskParameters->Sectors); + buf = scsi_bios_ptable(Device); + if (buf == NULL) + return 0; + /* + If the boot sector partition table flag is valid, search for a partition + table entry whose end_head matches one of the standard BusLogic geometry + translations (64/32, 128/32, or 255/63). + */ + if (*(unsigned short *) (buf + 64) == 0xAA55) { + struct partition *FirstPartitionEntry = (struct partition *) buf; + struct partition *PartitionEntry = FirstPartitionEntry; + int SavedCylinders = DiskParameters->Cylinders, PartitionNumber; + unsigned char PartitionEntryEndHead = 0, PartitionEntryEndSector = 0; + for (PartitionNumber = 0; PartitionNumber < 4; PartitionNumber++) { + PartitionEntryEndHead = PartitionEntry->end_head; + PartitionEntryEndSector = PartitionEntry->end_sector & 0x3F; + if (PartitionEntryEndHead == 64 - 1) { + DiskParameters->Heads = 64; + DiskParameters->Sectors = 32; + break; + } else if (PartitionEntryEndHead == 128 - 1) { + DiskParameters->Heads = 128; + DiskParameters->Sectors = 32; + break; + } else if (PartitionEntryEndHead == 255 - 1) { + DiskParameters->Heads = 255; + DiskParameters->Sectors = 63; + break; + } + PartitionEntry++; + } + if (PartitionNumber == 4) { + PartitionEntryEndHead = FirstPartitionEntry->end_head; + PartitionEntryEndSector = FirstPartitionEntry->end_sector & 0x3F; + } + DiskParameters->Cylinders = (unsigned long) capacity / (DiskParameters->Heads * DiskParameters->Sectors); + if (PartitionNumber < 4 && PartitionEntryEndSector == DiskParameters->Sectors) { + if (DiskParameters->Cylinders != SavedCylinders) + BusLogic_Warning("Adopting Geometry %d/%d from Partition Table\n", HostAdapter, DiskParameters->Heads, DiskParameters->Sectors); + } else if (PartitionEntryEndHead > 0 || PartitionEntryEndSector > 0) { + BusLogic_Warning("Warning: Partition Table appears to " "have Geometry %d/%d which is\n", HostAdapter, PartitionEntryEndHead + 1, PartitionEntryEndSector); + BusLogic_Warning("not compatible with current BusLogic " "Host Adapter Geometry %d/%d\n", HostAdapter, DiskParameters->Heads, DiskParameters->Sectors); + } } - } - kfree(buf); - return 0; + kfree(buf); + return 0; } @@ -3820,178 +3179,124 @@ static int BusLogic_BIOSDiskParameters(struct scsi_device *sdev, struct block_de BugLogic_ProcDirectoryInfo implements /proc/scsi/BusLogic/. */ -static int BusLogic_ProcDirectoryInfo(struct Scsi_Host *shost, char *ProcBuffer, - char **StartPointer, off_t Offset, - int BytesAvailable, int WriteFlag) +static int BusLogic_ProcDirectoryInfo(struct Scsi_Host *shost, char *ProcBuffer, char **StartPointer, off_t Offset, int BytesAvailable, int WriteFlag) { - struct BusLogic_HostAdapter *HostAdapter; - struct BusLogic_TargetStatistics *TargetStatistics; - int TargetID, Length; - char *Buffer; - for (HostAdapter = BusLogic_FirstRegisteredHostAdapter; - HostAdapter != NULL; - HostAdapter = HostAdapter->Next) - if (HostAdapter->HostNumber == shost->host_no) break; - if (HostAdapter == NULL) - { - BusLogic_Error("Cannot find Host Adapter for SCSI Host %d\n", - NULL, shost->host_no); - return 0; - } - TargetStatistics = HostAdapter->TargetStatistics; - if (WriteFlag) - { - HostAdapter->ExternalHostAdapterResets = 0; - HostAdapter->HostAdapterInternalErrors = 0; - memset(TargetStatistics, 0, - BusLogic_MaxTargetDevices * sizeof(struct BusLogic_TargetStatistics)); - return 0; - } - Buffer = HostAdapter->MessageBuffer; - Length = HostAdapter->MessageBufferLength; - Length += sprintf(&Buffer[Length], "\n\ + struct BusLogic_HostAdapter *HostAdapter; + struct BusLogic_TargetStatistics *TargetStatistics; + int TargetID, Length; + char *Buffer; + for (HostAdapter = BusLogic_FirstRegisteredHostAdapter; HostAdapter != NULL; HostAdapter = HostAdapter->Next) + if (HostAdapter->HostNumber == shost->host_no) + break; + if (HostAdapter == NULL) { + BusLogic_Error("Cannot find Host Adapter for SCSI Host %d\n", NULL, shost->host_no); + return 0; + } + TargetStatistics = HostAdapter->TargetStatistics; + if (WriteFlag) { + HostAdapter->ExternalHostAdapterResets = 0; + HostAdapter->HostAdapterInternalErrors = 0; + memset(TargetStatistics, 0, BusLogic_MaxTargetDevices * sizeof(struct BusLogic_TargetStatistics)); + return 0; + } + Buffer = HostAdapter->MessageBuffer; + Length = HostAdapter->MessageBufferLength; + Length += sprintf(&Buffer[Length], "\n\ Current Driver Queue Depth: %d\n\ -Currently Allocated CCBs: %d\n", - HostAdapter->DriverQueueDepth, - HostAdapter->AllocatedCCBs); - Length += sprintf(&Buffer[Length], "\n\n\ +Currently Allocated CCBs: %d\n", HostAdapter->DriverQueueDepth, HostAdapter->AllocatedCCBs); + Length += sprintf(&Buffer[Length], "\n\n\ DATA TRANSFER STATISTICS\n\ \n\ Target Tagged Queuing Queue Depth Active Attempted Completed\n\ ====== ============== =========== ====== ========= =========\n"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - { - struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; - if (!TargetFlags->TargetExists) continue; - Length += - sprintf(&Buffer[Length], " %2d %s", TargetID, - (TargetFlags->TaggedQueuingSupported - ? (TargetFlags->TaggedQueuingActive - ? " Active" - : (HostAdapter->TaggedQueuingPermitted & (1 << TargetID) - ? " Permitted" : " Disabled")) - : "Not Supported")); - Length += sprintf(&Buffer[Length], - " %3d %3u %9u %9u\n", - HostAdapter->QueueDepth[TargetID], - HostAdapter->ActiveCommands[TargetID], - TargetStatistics[TargetID].CommandsAttempted, - TargetStatistics[TargetID].CommandsCompleted); - } - Length += sprintf(&Buffer[Length], "\n\ + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) { + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; + if (!TargetFlags->TargetExists) + continue; + Length += sprintf(&Buffer[Length], " %2d %s", TargetID, (TargetFlags->TaggedQueuingSupported ? (TargetFlags->TaggedQueuingActive ? " Active" : (HostAdapter->TaggedQueuingPermitted & (1 << TargetID) + ? " Permitted" : " Disabled")) + : "Not Supported")); + Length += sprintf(&Buffer[Length], + " %3d %3u %9u %9u\n", HostAdapter->QueueDepth[TargetID], HostAdapter->ActiveCommands[TargetID], TargetStatistics[TargetID].CommandsAttempted, TargetStatistics[TargetID].CommandsCompleted); + } + Length += sprintf(&Buffer[Length], "\n\ Target Read Commands Write Commands Total Bytes Read Total Bytes Written\n\ ====== ============= ============== =================== ===================\n"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - { - struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; - if (!TargetFlags->TargetExists) continue; - Length += - sprintf(&Buffer[Length], " %2d %9u %9u", TargetID, - TargetStatistics[TargetID].ReadCommands, - TargetStatistics[TargetID].WriteCommands); - if (TargetStatistics[TargetID].TotalBytesRead.Billions > 0) - Length += - sprintf(&Buffer[Length], " %9u%09u", - TargetStatistics[TargetID].TotalBytesRead.Billions, - TargetStatistics[TargetID].TotalBytesRead.Units); - else - Length += - sprintf(&Buffer[Length], " %9u", - TargetStatistics[TargetID].TotalBytesRead.Units); - if (TargetStatistics[TargetID].TotalBytesWritten.Billions > 0) - Length += - sprintf(&Buffer[Length], " %9u%09u\n", - TargetStatistics[TargetID].TotalBytesWritten.Billions, - TargetStatistics[TargetID].TotalBytesWritten.Units); - else - Length += - sprintf(&Buffer[Length], " %9u\n", - TargetStatistics[TargetID].TotalBytesWritten.Units); - } - Length += sprintf(&Buffer[Length], "\n\ + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) { + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; + if (!TargetFlags->TargetExists) + continue; + Length += sprintf(&Buffer[Length], " %2d %9u %9u", TargetID, TargetStatistics[TargetID].ReadCommands, TargetStatistics[TargetID].WriteCommands); + if (TargetStatistics[TargetID].TotalBytesRead.Billions > 0) + Length += sprintf(&Buffer[Length], " %9u%09u", TargetStatistics[TargetID].TotalBytesRead.Billions, TargetStatistics[TargetID].TotalBytesRead.Units); + else + Length += sprintf(&Buffer[Length], " %9u", TargetStatistics[TargetID].TotalBytesRead.Units); + if (TargetStatistics[TargetID].TotalBytesWritten.Billions > 0) + Length += sprintf(&Buffer[Length], " %9u%09u\n", TargetStatistics[TargetID].TotalBytesWritten.Billions, TargetStatistics[TargetID].TotalBytesWritten.Units); + else + Length += sprintf(&Buffer[Length], " %9u\n", TargetStatistics[TargetID].TotalBytesWritten.Units); + } + Length += sprintf(&Buffer[Length], "\n\ Target Command 0-1KB 1-2KB 2-4KB 4-8KB 8-16KB\n\ ====== ======= ========= ========= ========= ========= =========\n"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - { - struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; - if (!TargetFlags->TargetExists) continue; - Length += - sprintf(&Buffer[Length], - " %2d Read %9u %9u %9u %9u %9u\n", TargetID, - TargetStatistics[TargetID].ReadCommandSizeBuckets[0], - TargetStatistics[TargetID].ReadCommandSizeBuckets[1], - TargetStatistics[TargetID].ReadCommandSizeBuckets[2], - TargetStatistics[TargetID].ReadCommandSizeBuckets[3], - TargetStatistics[TargetID].ReadCommandSizeBuckets[4]); - Length += - sprintf(&Buffer[Length], - " %2d Write %9u %9u %9u %9u %9u\n", TargetID, - TargetStatistics[TargetID].WriteCommandSizeBuckets[0], - TargetStatistics[TargetID].WriteCommandSizeBuckets[1], - TargetStatistics[TargetID].WriteCommandSizeBuckets[2], - TargetStatistics[TargetID].WriteCommandSizeBuckets[3], - TargetStatistics[TargetID].WriteCommandSizeBuckets[4]); - } - Length += sprintf(&Buffer[Length], "\n\ + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) { + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; + if (!TargetFlags->TargetExists) + continue; + Length += + sprintf(&Buffer[Length], + " %2d Read %9u %9u %9u %9u %9u\n", TargetID, + TargetStatistics[TargetID].ReadCommandSizeBuckets[0], + TargetStatistics[TargetID].ReadCommandSizeBuckets[1], TargetStatistics[TargetID].ReadCommandSizeBuckets[2], TargetStatistics[TargetID].ReadCommandSizeBuckets[3], TargetStatistics[TargetID].ReadCommandSizeBuckets[4]); + Length += + sprintf(&Buffer[Length], + " %2d Write %9u %9u %9u %9u %9u\n", TargetID, + TargetStatistics[TargetID].WriteCommandSizeBuckets[0], + TargetStatistics[TargetID].WriteCommandSizeBuckets[1], TargetStatistics[TargetID].WriteCommandSizeBuckets[2], TargetStatistics[TargetID].WriteCommandSizeBuckets[3], TargetStatistics[TargetID].WriteCommandSizeBuckets[4]); + } + Length += sprintf(&Buffer[Length], "\n\ Target Command 16-32KB 32-64KB 64-128KB 128-256KB 256KB+\n\ ====== ======= ========= ========= ========= ========= =========\n"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - { - struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; - if (!TargetFlags->TargetExists) continue; - Length += - sprintf(&Buffer[Length], - " %2d Read %9u %9u %9u %9u %9u\n", TargetID, - TargetStatistics[TargetID].ReadCommandSizeBuckets[5], - TargetStatistics[TargetID].ReadCommandSizeBuckets[6], - TargetStatistics[TargetID].ReadCommandSizeBuckets[7], - TargetStatistics[TargetID].ReadCommandSizeBuckets[8], - TargetStatistics[TargetID].ReadCommandSizeBuckets[9]); - Length += - sprintf(&Buffer[Length], - " %2d Write %9u %9u %9u %9u %9u\n", TargetID, - TargetStatistics[TargetID].WriteCommandSizeBuckets[5], - TargetStatistics[TargetID].WriteCommandSizeBuckets[6], - TargetStatistics[TargetID].WriteCommandSizeBuckets[7], - TargetStatistics[TargetID].WriteCommandSizeBuckets[8], - TargetStatistics[TargetID].WriteCommandSizeBuckets[9]); - } - Length += sprintf(&Buffer[Length], "\n\n\ + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) { + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; + if (!TargetFlags->TargetExists) + continue; + Length += + sprintf(&Buffer[Length], + " %2d Read %9u %9u %9u %9u %9u\n", TargetID, + TargetStatistics[TargetID].ReadCommandSizeBuckets[5], + TargetStatistics[TargetID].ReadCommandSizeBuckets[6], TargetStatistics[TargetID].ReadCommandSizeBuckets[7], TargetStatistics[TargetID].ReadCommandSizeBuckets[8], TargetStatistics[TargetID].ReadCommandSizeBuckets[9]); + Length += + sprintf(&Buffer[Length], + " %2d Write %9u %9u %9u %9u %9u\n", TargetID, + TargetStatistics[TargetID].WriteCommandSizeBuckets[5], + TargetStatistics[TargetID].WriteCommandSizeBuckets[6], TargetStatistics[TargetID].WriteCommandSizeBuckets[7], TargetStatistics[TargetID].WriteCommandSizeBuckets[8], TargetStatistics[TargetID].WriteCommandSizeBuckets[9]); + } + Length += sprintf(&Buffer[Length], "\n\n\ ERROR RECOVERY STATISTICS\n\ \n\ Command Aborts Bus Device Resets Host Adapter Resets\n\ Target Requested Completed Requested Completed Requested Completed\n\ ID \\\\\\\\ Attempted //// \\\\\\\\ Attempted //// \\\\\\\\ Attempted ////\n\ ====== ===== ===== ===== ===== ===== ===== ===== ===== =====\n"); - for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) - { - struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; - if (!TargetFlags->TargetExists) continue; - Length += - sprintf(&Buffer[Length], "\ - %2d %5d %5d %5d %5d %5d %5d %5d %5d %5d\n", TargetID, - TargetStatistics[TargetID].CommandAbortsRequested, - TargetStatistics[TargetID].CommandAbortsAttempted, - TargetStatistics[TargetID].CommandAbortsCompleted, - TargetStatistics[TargetID].BusDeviceResetsRequested, - TargetStatistics[TargetID].BusDeviceResetsAttempted, - TargetStatistics[TargetID].BusDeviceResetsCompleted, - TargetStatistics[TargetID].HostAdapterResetsRequested, - TargetStatistics[TargetID].HostAdapterResetsAttempted, - TargetStatistics[TargetID].HostAdapterResetsCompleted); - } - Length += sprintf(&Buffer[Length], "\nExternal Host Adapter Resets: %d\n", - HostAdapter->ExternalHostAdapterResets); - Length += sprintf(&Buffer[Length], "Host Adapter Internal Errors: %d\n", - HostAdapter->HostAdapterInternalErrors); - if (Length >= BusLogic_MessageBufferSize) - BusLogic_Error("Message Buffer length %d exceeds size %d\n", - HostAdapter, Length, BusLogic_MessageBufferSize); - if ((Length -= Offset) <= 0) return 0; - if (Length >= BytesAvailable) Length = BytesAvailable; - memcpy(ProcBuffer, HostAdapter->MessageBuffer + Offset, Length); - *StartPointer = ProcBuffer; - return Length; + for (TargetID = 0; TargetID < HostAdapter->MaxTargetDevices; TargetID++) { + struct BusLogic_TargetFlags *TargetFlags = &HostAdapter->TargetFlags[TargetID]; + if (!TargetFlags->TargetExists) + continue; + Length += sprintf(&Buffer[Length], "\ + %2d %5d %5d %5d %5d %5d %5d %5d %5d %5d\n", TargetID, TargetStatistics[TargetID].CommandAbortsRequested, TargetStatistics[TargetID].CommandAbortsAttempted, TargetStatistics[TargetID].CommandAbortsCompleted, TargetStatistics[TargetID].BusDeviceResetsRequested, TargetStatistics[TargetID].BusDeviceResetsAttempted, TargetStatistics[TargetID].BusDeviceResetsCompleted, TargetStatistics[TargetID].HostAdapterResetsRequested, TargetStatistics[TargetID].HostAdapterResetsAttempted, TargetStatistics[TargetID].HostAdapterResetsCompleted); + } + Length += sprintf(&Buffer[Length], "\nExternal Host Adapter Resets: %d\n", HostAdapter->ExternalHostAdapterResets); + Length += sprintf(&Buffer[Length], "Host Adapter Internal Errors: %d\n", HostAdapter->HostAdapterInternalErrors); + if (Length >= BusLogic_MessageBufferSize) + BusLogic_Error("Message Buffer length %d exceeds size %d\n", HostAdapter, Length, BusLogic_MessageBufferSize); + if ((Length -= Offset) <= 0) + return 0; + if (Length >= BytesAvailable) + Length = BytesAvailable; + memcpy(ProcBuffer, HostAdapter->MessageBuffer + Offset, Length); + *StartPointer = ProcBuffer; + return Length; } @@ -3999,52 +3304,39 @@ Target Requested Completed Requested Completed Requested Completed\n\ BusLogic_Message prints Driver Messages. */ -static void BusLogic_Message(enum BusLogic_MessageLevel MessageLevel, - char *Format, - struct BusLogic_HostAdapter *HostAdapter, - ...) +static void BusLogic_Message(enum BusLogic_MessageLevel MessageLevel, char *Format, struct BusLogic_HostAdapter *HostAdapter, ...) { - static char Buffer[BusLogic_LineBufferSize]; - static boolean BeginningOfLine = true; - va_list Arguments; - int Length = 0; - va_start(Arguments, HostAdapter); - Length = vsprintf(Buffer, Format, Arguments); - va_end(Arguments); - if (MessageLevel == BusLogic_AnnounceLevel) - { - static int AnnouncementLines = 0; - strcpy(&HostAdapter->MessageBuffer[HostAdapter->MessageBufferLength], - Buffer); - HostAdapter->MessageBufferLength += Length; - if (++AnnouncementLines <= 2) - printk("%sscsi: %s", BusLogic_MessageLevelMap[MessageLevel], Buffer); - } - else if (MessageLevel == BusLogic_InfoLevel) - { - strcpy(&HostAdapter->MessageBuffer[HostAdapter->MessageBufferLength], - Buffer); - HostAdapter->MessageBufferLength += Length; - if (BeginningOfLine) - { - if (Buffer[0] != '\n' || Length > 1) - printk("%sscsi%d: %s", BusLogic_MessageLevelMap[MessageLevel], - HostAdapter->HostNumber, Buffer); - } - else printk("%s", Buffer); - } - else - { - if (BeginningOfLine) - { - if (HostAdapter != NULL && HostAdapter->HostAdapterInitialized) - printk("%sscsi%d: %s", BusLogic_MessageLevelMap[MessageLevel], - HostAdapter->HostNumber, Buffer); - else printk("%s%s", BusLogic_MessageLevelMap[MessageLevel], Buffer); - } - else printk("%s", Buffer); - } - BeginningOfLine = (Buffer[Length-1] == '\n'); + static char Buffer[BusLogic_LineBufferSize]; + static boolean BeginningOfLine = true; + va_list Arguments; + int Length = 0; + va_start(Arguments, HostAdapter); + Length = vsprintf(Buffer, Format, Arguments); + va_end(Arguments); + if (MessageLevel == BusLogic_AnnounceLevel) { + static int AnnouncementLines = 0; + strcpy(&HostAdapter->MessageBuffer[HostAdapter->MessageBufferLength], Buffer); + HostAdapter->MessageBufferLength += Length; + if (++AnnouncementLines <= 2) + printk("%sscsi: %s", BusLogic_MessageLevelMap[MessageLevel], Buffer); + } else if (MessageLevel == BusLogic_InfoLevel) { + strcpy(&HostAdapter->MessageBuffer[HostAdapter->MessageBufferLength], Buffer); + HostAdapter->MessageBufferLength += Length; + if (BeginningOfLine) { + if (Buffer[0] != '\n' || Length > 1) + printk("%sscsi%d: %s", BusLogic_MessageLevelMap[MessageLevel], HostAdapter->HostNumber, Buffer); + } else + printk("%s", Buffer); + } else { + if (BeginningOfLine) { + if (HostAdapter != NULL && HostAdapter->HostAdapterInitialized) + printk("%sscsi%d: %s", BusLogic_MessageLevelMap[MessageLevel], HostAdapter->HostNumber, Buffer); + else + printk("%s%s", BusLogic_MessageLevelMap[MessageLevel], Buffer); + } else + printk("%s", Buffer); + } + BeginningOfLine = (Buffer[Length - 1] == '\n'); } @@ -4055,19 +3347,19 @@ static void BusLogic_Message(enum BusLogic_MessageLevel MessageLevel, static boolean __init BusLogic_ParseKeyword(char **StringPointer, char *Keyword) { - char *Pointer = *StringPointer; - while (*Keyword != '\0') - { - char StringChar = *Pointer++; - char KeywordChar = *Keyword++; - if (StringChar >= 'A' && StringChar <= 'Z') - StringChar += 'a' - 'Z'; - if (KeywordChar >= 'A' && KeywordChar <= 'Z') - KeywordChar += 'a' - 'Z'; - if (StringChar != KeywordChar) return false; - } - *StringPointer = Pointer; - return true; + char *Pointer = *StringPointer; + while (*Keyword != '\0') { + char StringChar = *Pointer++; + char KeywordChar = *Keyword++; + if (StringChar >= 'A' && StringChar <= 'Z') + StringChar += 'a' - 'Z'; + if (KeywordChar >= 'A' && KeywordChar <= 'Z') + KeywordChar += 'a' - 'Z'; + if (StringChar != KeywordChar) + return false; + } + *StringPointer = Pointer; + return true; } @@ -4090,225 +3382,165 @@ static boolean __init BusLogic_ParseKeyword(char **StringPointer, char *Keyword) static int __init BusLogic_ParseDriverOptions(char *OptionsString) { - while (true) - { - struct BusLogic_DriverOptions *DriverOptions = - &BusLogic_DriverOptions[BusLogic_DriverOptionsCount++]; - int TargetID; - memset(DriverOptions, 0, sizeof(struct BusLogic_DriverOptions)); - while (*OptionsString != '\0' && *OptionsString != ';') - { - /* Probing Options. */ - if (BusLogic_ParseKeyword(&OptionsString, "IO:")) - { - unsigned long IO_Address = - simple_strtoul(OptionsString, &OptionsString, 0); - BusLogic_ProbeOptions.LimitedProbeISA = true; - switch (IO_Address) - { - case 0x330: - BusLogic_ProbeOptions.Probe330 = true; - break; - case 0x334: - BusLogic_ProbeOptions.Probe334 = true; - break; - case 0x230: - BusLogic_ProbeOptions.Probe230 = true; - break; - case 0x234: - BusLogic_ProbeOptions.Probe234 = true; - break; - case 0x130: - BusLogic_ProbeOptions.Probe130 = true; - break; - case 0x134: - BusLogic_ProbeOptions.Probe134 = true; - break; - default: - BusLogic_Error("BusLogic: Invalid Driver Options " - "(invalid I/O Address 0x%X)\n", - NULL, IO_Address); - return 0; - } - } - else if (BusLogic_ParseKeyword(&OptionsString, "NoProbeISA")) - BusLogic_ProbeOptions.NoProbeISA = true; - else if (BusLogic_ParseKeyword(&OptionsString, "NoProbePCI")) - BusLogic_ProbeOptions.NoProbePCI = true; - else if (BusLogic_ParseKeyword(&OptionsString, "NoProbe")) - BusLogic_ProbeOptions.NoProbe = true; - else if (BusLogic_ParseKeyword(&OptionsString, "NoSortPCI")) - BusLogic_ProbeOptions.NoSortPCI = true; - else if (BusLogic_ParseKeyword(&OptionsString, "MultiMasterFirst")) - BusLogic_ProbeOptions.MultiMasterFirst = true; - else if (BusLogic_ParseKeyword(&OptionsString, "FlashPointFirst")) - BusLogic_ProbeOptions.FlashPointFirst = true; - /* Tagged Queuing Options. */ - else if (BusLogic_ParseKeyword(&OptionsString, "QueueDepth:[") || - BusLogic_ParseKeyword(&OptionsString, "QD:[")) - { - for (TargetID = 0; - TargetID < BusLogic_MaxTargetDevices; - TargetID++) - { - unsigned short QueueDepth = - simple_strtoul(OptionsString, &OptionsString, 0); - if (QueueDepth > BusLogic_MaxTaggedQueueDepth) - { - BusLogic_Error("BusLogic: Invalid Driver Options " - "(invalid Queue Depth %d)\n", - NULL, QueueDepth); - return 0; - } - DriverOptions->QueueDepth[TargetID] = QueueDepth; - if (*OptionsString == ',') - OptionsString++; - else if (*OptionsString == ']') - break; - else - { - BusLogic_Error("BusLogic: Invalid Driver Options " - "(',' or ']' expected at '%s')\n", - NULL, OptionsString); - return 0; - } - } - if (*OptionsString != ']') - { - BusLogic_Error("BusLogic: Invalid Driver Options " - "(']' expected at '%s')\n", - NULL, OptionsString); - return 0; - } - else OptionsString++; - } - else if (BusLogic_ParseKeyword(&OptionsString, "QueueDepth:") || - BusLogic_ParseKeyword(&OptionsString, "QD:")) - { - unsigned short QueueDepth = - simple_strtoul(OptionsString, &OptionsString, 0); - if (QueueDepth == 0 || QueueDepth > BusLogic_MaxTaggedQueueDepth) - { - BusLogic_Error("BusLogic: Invalid Driver Options " - "(invalid Queue Depth %d)\n", - NULL, QueueDepth); - return 0; + while (true) { + struct BusLogic_DriverOptions *DriverOptions = &BusLogic_DriverOptions[BusLogic_DriverOptionsCount++]; + int TargetID; + memset(DriverOptions, 0, sizeof(struct BusLogic_DriverOptions)); + while (*OptionsString != '\0' && *OptionsString != ';') { + /* Probing Options. */ + if (BusLogic_ParseKeyword(&OptionsString, "IO:")) { + unsigned long IO_Address = simple_strtoul(OptionsString, &OptionsString, 0); + BusLogic_ProbeOptions.LimitedProbeISA = true; + switch (IO_Address) { + case 0x330: + BusLogic_ProbeOptions.Probe330 = true; + break; + case 0x334: + BusLogic_ProbeOptions.Probe334 = true; + break; + case 0x230: + BusLogic_ProbeOptions.Probe230 = true; + break; + case 0x234: + BusLogic_ProbeOptions.Probe234 = true; + break; + case 0x130: + BusLogic_ProbeOptions.Probe130 = true; + break; + case 0x134: + BusLogic_ProbeOptions.Probe134 = true; + break; + default: + BusLogic_Error("BusLogic: Invalid Driver Options " "(invalid I/O Address 0x%X)\n", NULL, IO_Address); + return 0; + } + } else if (BusLogic_ParseKeyword(&OptionsString, "NoProbeISA")) + BusLogic_ProbeOptions.NoProbeISA = true; + else if (BusLogic_ParseKeyword(&OptionsString, "NoProbePCI")) + BusLogic_ProbeOptions.NoProbePCI = true; + else if (BusLogic_ParseKeyword(&OptionsString, "NoProbe")) + BusLogic_ProbeOptions.NoProbe = true; + else if (BusLogic_ParseKeyword(&OptionsString, "NoSortPCI")) + BusLogic_ProbeOptions.NoSortPCI = true; + else if (BusLogic_ParseKeyword(&OptionsString, "MultiMasterFirst")) + BusLogic_ProbeOptions.MultiMasterFirst = true; + else if (BusLogic_ParseKeyword(&OptionsString, "FlashPointFirst")) + BusLogic_ProbeOptions.FlashPointFirst = true; + /* Tagged Queuing Options. */ + else if (BusLogic_ParseKeyword(&OptionsString, "QueueDepth:[") || BusLogic_ParseKeyword(&OptionsString, "QD:[")) { + for (TargetID = 0; TargetID < BusLogic_MaxTargetDevices; TargetID++) { + unsigned short QueueDepth = simple_strtoul(OptionsString, &OptionsString, 0); + if (QueueDepth > BusLogic_MaxTaggedQueueDepth) { + BusLogic_Error("BusLogic: Invalid Driver Options " "(invalid Queue Depth %d)\n", NULL, QueueDepth); + return 0; + } + DriverOptions->QueueDepth[TargetID] = QueueDepth; + if (*OptionsString == ',') + OptionsString++; + else if (*OptionsString == ']') + break; + else { + BusLogic_Error("BusLogic: Invalid Driver Options " "(',' or ']' expected at '%s')\n", NULL, OptionsString); + return 0; + } + } + if (*OptionsString != ']') { + BusLogic_Error("BusLogic: Invalid Driver Options " "(']' expected at '%s')\n", NULL, OptionsString); + return 0; + } else + OptionsString++; + } else if (BusLogic_ParseKeyword(&OptionsString, "QueueDepth:") || BusLogic_ParseKeyword(&OptionsString, "QD:")) { + unsigned short QueueDepth = simple_strtoul(OptionsString, &OptionsString, 0); + if (QueueDepth == 0 || QueueDepth > BusLogic_MaxTaggedQueueDepth) { + BusLogic_Error("BusLogic: Invalid Driver Options " "(invalid Queue Depth %d)\n", NULL, QueueDepth); + return 0; + } + DriverOptions->CommonQueueDepth = QueueDepth; + for (TargetID = 0; TargetID < BusLogic_MaxTargetDevices; TargetID++) + DriverOptions->QueueDepth[TargetID] = QueueDepth; + } else if (BusLogic_ParseKeyword(&OptionsString, "TaggedQueuing:") || BusLogic_ParseKeyword(&OptionsString, "TQ:")) { + if (BusLogic_ParseKeyword(&OptionsString, "Default")) { + DriverOptions->TaggedQueuingPermitted = 0x0000; + DriverOptions->TaggedQueuingPermittedMask = 0x0000; + } else if (BusLogic_ParseKeyword(&OptionsString, "Enable")) { + DriverOptions->TaggedQueuingPermitted = 0xFFFF; + DriverOptions->TaggedQueuingPermittedMask = 0xFFFF; + } else if (BusLogic_ParseKeyword(&OptionsString, "Disable")) { + DriverOptions->TaggedQueuingPermitted = 0x0000; + DriverOptions->TaggedQueuingPermittedMask = 0xFFFF; + } else { + unsigned short TargetBit; + for (TargetID = 0, TargetBit = 1; TargetID < BusLogic_MaxTargetDevices; TargetID++, TargetBit <<= 1) + switch (*OptionsString++) { + case 'Y': + DriverOptions->TaggedQueuingPermitted |= TargetBit; + DriverOptions->TaggedQueuingPermittedMask |= TargetBit; + break; + case 'N': + DriverOptions->TaggedQueuingPermitted &= ~TargetBit; + DriverOptions->TaggedQueuingPermittedMask |= TargetBit; + break; + case 'X': + break; + default: + OptionsString--; + TargetID = BusLogic_MaxTargetDevices; + break; + } + } + } + /* Miscellaneous Options. */ + else if (BusLogic_ParseKeyword(&OptionsString, "BusSettleTime:") || BusLogic_ParseKeyword(&OptionsString, "BST:")) { + unsigned short BusSettleTime = simple_strtoul(OptionsString, &OptionsString, 0); + if (BusSettleTime > 5 * 60) { + BusLogic_Error("BusLogic: Invalid Driver Options " "(invalid Bus Settle Time %d)\n", NULL, BusSettleTime); + return 0; + } + DriverOptions->BusSettleTime = BusSettleTime; + } else if (BusLogic_ParseKeyword(&OptionsString, "InhibitTargetInquiry")) + DriverOptions->LocalOptions.InhibitTargetInquiry = true; + /* Debugging Options. */ + else if (BusLogic_ParseKeyword(&OptionsString, "TraceProbe")) + BusLogic_GlobalOptions.TraceProbe = true; + else if (BusLogic_ParseKeyword(&OptionsString, "TraceHardwareReset")) + BusLogic_GlobalOptions.TraceHardwareReset = true; + else if (BusLogic_ParseKeyword(&OptionsString, "TraceConfiguration")) + BusLogic_GlobalOptions.TraceConfiguration = true; + else if (BusLogic_ParseKeyword(&OptionsString, "TraceErrors")) + BusLogic_GlobalOptions.TraceErrors = true; + else if (BusLogic_ParseKeyword(&OptionsString, "Debug")) { + BusLogic_GlobalOptions.TraceProbe = true; + BusLogic_GlobalOptions.TraceHardwareReset = true; + BusLogic_GlobalOptions.TraceConfiguration = true; + BusLogic_GlobalOptions.TraceErrors = true; + } + if (*OptionsString == ',') + OptionsString++; + else if (*OptionsString != ';' && *OptionsString != '\0') { + BusLogic_Error("BusLogic: Unexpected Driver Option '%s' " "ignored\n", NULL, OptionsString); + *OptionsString = '\0'; + } } - DriverOptions->CommonQueueDepth = QueueDepth; - for (TargetID = 0; - TargetID < BusLogic_MaxTargetDevices; - TargetID++) - DriverOptions->QueueDepth[TargetID] = QueueDepth; - } - else if (BusLogic_ParseKeyword(&OptionsString, "TaggedQueuing:") || - BusLogic_ParseKeyword(&OptionsString, "TQ:")) - { - if (BusLogic_ParseKeyword(&OptionsString, "Default")) - { - DriverOptions->TaggedQueuingPermitted = 0x0000; - DriverOptions->TaggedQueuingPermittedMask = 0x0000; + if (!(BusLogic_DriverOptionsCount == 0 || BusLogic_ProbeInfoCount == 0 || BusLogic_DriverOptionsCount == BusLogic_ProbeInfoCount)) { + BusLogic_Error("BusLogic: Invalid Driver Options " "(all or no I/O Addresses must be specified)\n", NULL); + return 0; } - else if (BusLogic_ParseKeyword(&OptionsString, "Enable")) - { - DriverOptions->TaggedQueuingPermitted = 0xFFFF; - DriverOptions->TaggedQueuingPermittedMask = 0xFFFF; - } - else if (BusLogic_ParseKeyword(&OptionsString, "Disable")) - { - DriverOptions->TaggedQueuingPermitted = 0x0000; - DriverOptions->TaggedQueuingPermittedMask = 0xFFFF; - } - else - { - unsigned short TargetBit; - for (TargetID = 0, TargetBit = 1; - TargetID < BusLogic_MaxTargetDevices; - TargetID++, TargetBit <<= 1) - switch (*OptionsString++) - { - case 'Y': - DriverOptions->TaggedQueuingPermitted |= TargetBit; - DriverOptions->TaggedQueuingPermittedMask |= TargetBit; - break; - case 'N': - DriverOptions->TaggedQueuingPermitted &= ~TargetBit; - DriverOptions->TaggedQueuingPermittedMask |= TargetBit; - break; - case 'X': - break; - default: - OptionsString--; - TargetID = BusLogic_MaxTargetDevices; - break; - } - } - } - /* Miscellaneous Options. */ - else if (BusLogic_ParseKeyword(&OptionsString, "BusSettleTime:") || - BusLogic_ParseKeyword(&OptionsString, "BST:")) - { - unsigned short BusSettleTime = - simple_strtoul(OptionsString, &OptionsString, 0); - if (BusSettleTime > 5 * 60) - { - BusLogic_Error("BusLogic: Invalid Driver Options " - "(invalid Bus Settle Time %d)\n", - NULL, BusSettleTime); - return 0; - } - DriverOptions->BusSettleTime = BusSettleTime; - } - else if (BusLogic_ParseKeyword(&OptionsString, - "InhibitTargetInquiry")) - DriverOptions->LocalOptions.InhibitTargetInquiry = true; - /* Debugging Options. */ - else if (BusLogic_ParseKeyword(&OptionsString, "TraceProbe")) - BusLogic_GlobalOptions.TraceProbe = true; - else if (BusLogic_ParseKeyword(&OptionsString, "TraceHardwareReset")) - BusLogic_GlobalOptions.TraceHardwareReset = true; - else if (BusLogic_ParseKeyword(&OptionsString, "TraceConfiguration")) - BusLogic_GlobalOptions.TraceConfiguration = true; - else if (BusLogic_ParseKeyword(&OptionsString, "TraceErrors")) - BusLogic_GlobalOptions.TraceErrors = true; - else if (BusLogic_ParseKeyword(&OptionsString, "Debug")) - { - BusLogic_GlobalOptions.TraceProbe = true; - BusLogic_GlobalOptions.TraceHardwareReset = true; - BusLogic_GlobalOptions.TraceConfiguration = true; - BusLogic_GlobalOptions.TraceErrors = true; - } - if (*OptionsString == ',') - OptionsString++; - else if (*OptionsString != ';' && *OptionsString != '\0') - { - BusLogic_Error("BusLogic: Unexpected Driver Option '%s' " - "ignored\n", NULL, OptionsString); - *OptionsString = '\0'; - } - } - if (!(BusLogic_DriverOptionsCount == 0 || - BusLogic_ProbeInfoCount == 0 || - BusLogic_DriverOptionsCount == BusLogic_ProbeInfoCount)) - { - BusLogic_Error("BusLogic: Invalid Driver Options " - "(all or no I/O Addresses must be specified)\n", NULL); - return 0; - } - /* - Tagged Queuing is disabled when the Queue Depth is 1 since queuing - multiple commands is not possible. - */ - for (TargetID = 0; TargetID < BusLogic_MaxTargetDevices; TargetID++) - if (DriverOptions->QueueDepth[TargetID] == 1) - { - unsigned short TargetBit = 1 << TargetID; - DriverOptions->TaggedQueuingPermitted &= ~TargetBit; - DriverOptions->TaggedQueuingPermittedMask |= TargetBit; - } - if (*OptionsString == ';') OptionsString++; - if (*OptionsString == '\0') return 0; - } - return 1; + /* + Tagged Queuing is disabled when the Queue Depth is 1 since queuing + multiple commands is not possible. + */ + for (TargetID = 0; TargetID < BusLogic_MaxTargetDevices; TargetID++) + if (DriverOptions->QueueDepth[TargetID] == 1) { + unsigned short TargetBit = 1 << TargetID; + DriverOptions->TaggedQueuingPermitted &= ~TargetBit; + DriverOptions->TaggedQueuingPermittedMask |= TargetBit; + } + if (*OptionsString == ';') + OptionsString++; + if (*OptionsString == '\0') + return 0; + } + return 1; } /* @@ -4316,21 +3548,21 @@ static int __init BusLogic_ParseDriverOptions(char *OptionsString) */ static struct scsi_host_template driver_template = { - .module = THIS_MODULE, - .proc_name = "BusLogic", - .proc_info = BusLogic_ProcDirectoryInfo, - .name = "BusLogic", - .info = BusLogic_DriverInfo, - .queuecommand = BusLogic_QueueCommand, - .slave_configure = BusLogic_SlaveConfigure, - .bios_param = BusLogic_BIOSDiskParameters, - .eh_host_reset_handler = BusLogic_host_reset, + .module = THIS_MODULE, + .proc_name = "BusLogic", + .proc_info = BusLogic_ProcDirectoryInfo, + .name = "BusLogic", + .info = BusLogic_DriverInfo, + .queuecommand = BusLogic_QueueCommand, + .slave_configure = BusLogic_SlaveConfigure, + .bios_param = BusLogic_BIOSDiskParameters, + .eh_host_reset_handler = BusLogic_host_reset, #if 0 - .eh_abort_handler = BusLogic_AbortCommand, + .eh_abort_handler = BusLogic_AbortCommand, #endif - .unchecked_isa_dma = 1, - .max_sectors = 128, - .use_clustering = ENABLE_CLUSTERING, + .unchecked_isa_dma = 1, + .max_sectors = 128, + .use_clustering = ENABLE_CLUSTERING, }; /* @@ -4341,11 +3573,10 @@ static int __init BusLogic_Setup(char *str) { int ints[3]; - (void)get_options(str, ARRAY_SIZE(ints), ints); + (void) get_options(str, ARRAY_SIZE(ints), ints); if (ints[0] != 0) { - BusLogic_Error("BusLogic: Obsolete Command Line Entry " - "Format Ignored\n", NULL); + BusLogic_Error("BusLogic: Obsolete Command Line Entry " "Format Ignored\n", NULL); return 0; } if (str == NULL || *str == '\0') @@ -4357,13 +3588,14 @@ static int __init BusLogic_Setup(char *str) * Initialization function */ -static int __init BusLogic_init(void) { +static int __init BusLogic_init(void) +{ #ifdef MODULE if (BusLogic) BusLogic_Setup(BusLogic); #endif - + return BusLogic_DetectHostAdapter(&driver_template) ? 0 : -ENODEV; } @@ -4374,14 +3606,12 @@ static int __init BusLogic_init(void) { static void __exit BusLogic_exit(void) { struct BusLogic_HostAdapter *HostAdapter; - for (HostAdapter = BusLogic_FirstRegisteredHostAdapter; - HostAdapter != NULL; HostAdapter = HostAdapter->Next) { + for (HostAdapter = BusLogic_FirstRegisteredHostAdapter; HostAdapter != NULL; HostAdapter = HostAdapter->Next) { struct Scsi_Host *host = HostAdapter->SCSI_Host; scsi_remove_host(host); } - for (HostAdapter = BusLogic_FirstRegisteredHostAdapter; - HostAdapter != NULL; HostAdapter = HostAdapter->Next) { + for (HostAdapter = BusLogic_FirstRegisteredHostAdapter; HostAdapter != NULL; HostAdapter = HostAdapter->Next) { struct Scsi_Host *host = HostAdapter->SCSI_Host; BusLogic_ReleaseHostAdapter(host); } diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 711865972..de5a70853 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig @@ -320,7 +320,7 @@ source "drivers/scsi/aic7xxx/Kconfig.aic7xxx" config SCSI_AIC7XXX_OLD tristate "Adaptec AIC7xxx support (old driver)" - depends on SCSI + depends on (ISA || EISA || PCI ) && SCSI help WARNING This driver is an older aic7xxx driver and is no longer under active development. Adaptec, Inc. is writing a new driver to @@ -395,15 +395,7 @@ config SCSI_IN2000 To compile this driver as a module, choose M here: the module will be called in2000. -config SCSI_MEGARAID - tristate "AMI MegaRAID support" - depends on PCI && SCSI - help - This driver supports the AMI MegaRAID 418, 428, 438, 466, 762, 490 - and 467 SCSI host adapters. - - To compile this driver as a module, choose M here: the - module will be called megaraid. +source "drivers/scsi/megaraid/Kconfig.megaraid" config SCSI_SATA bool "Serial ATA (SATA) support" @@ -414,6 +406,14 @@ config SCSI_SATA If unsure, say N. +config SCSI_SATA_AHCI + tristate "AHCI SATA support" + depends on SCSI_SATA && PCI && EXPERIMENTAL + help + This option enables support for AHCI Serial ATA. + + If unsure, say N. + config SCSI_SATA_SVW tristate "ServerWorks Frodo / Apple K2 SATA support (EXPERIMENTAL)" depends on SCSI_SATA && PCI && EXPERIMENTAL @@ -595,7 +595,7 @@ config SCSI_EATA_MAX_TAGS config SCSI_EATA_PIO tristate "EATA-PIO (old DPT PM2001, PM2012A) support" - depends on SCSI + depends on (ISA || EISA || PCI) && SCSI ---help--- This driver supports all EATA-PIO protocol compliant SCSI Host Adapters like the DPT PM2001 and the PM2012A. EATA-DMA compliant @@ -607,6 +607,13 @@ config SCSI_EATA_PIO To compile this driver as a module, choose M here: the module will be called eata_pio. +config SCSI_LPFC + tristate "Emulex LightPulse Fibre Channel Support" + depends on PCI && SCSI + help + This lpfc driver supports the Emulex LightPulse + family of Fibre Channel PCI host adapters. + config SCSI_FUTURE_DOMAIN tristate "Future Domain 16xx SCSI/AHA-2920A support" depends on (ISA || PCI) && SCSI @@ -780,9 +787,18 @@ config SCSI_IPS To compile this driver as a module, choose M here: the module will be called ips. +config SCSI_IBMVSCSI + tristate "IBM Virtual SCSI support" + depends on PPC_PSERIES || PPC_ISERIES + help + This is the IBM POWER Virtual SCSI Client + + To compile this driver as a module, choose M here: the + module will be called ibmvscsic. + config SCSI_INITIO tristate "Initio 9100U(W) support" - depends on PCI && SCSI && BROKEN + depends on PCI && SCSI help This is support for the Initio 91XXU(W) SCSI host adapter. Please read the SCSI-HOWTO, available from @@ -1462,7 +1478,7 @@ config SCSI_DEBUG config SCSI_MESH tristate "MESH (Power Mac internal SCSI) support" - depends on PPC_PMAC && SCSI + depends on PPC32 && PPC_PMAC && SCSI help Many Power Macintoshes and clones have a MESH (Macintosh Enhanced SCSI Hardware) SCSI bus adaptor (the 7200 doesn't, but all of the @@ -1507,7 +1523,7 @@ source "drivers/scsi/arm/Kconfig" config JAZZ_ESP bool "MIPS JAZZ FAS216 SCSI support" - depends on MIPS_JAZZ && SCSI + depends on MACH_JAZZ && SCSI help This is the driver for the onboard SCSI host adapter of MIPS Magnum 4000, Acer PICA, Olivetti M700-10 and a few other identical OEM diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile index 7aebabba4..47ee56e4d 100644 --- a/drivers/scsi/Makefile +++ b/drivers/scsi/Makefile @@ -95,7 +95,8 @@ obj-$(CONFIG_SCSI_IBMMCA) += ibmmca.o obj-$(CONFIG_SCSI_EATA) += eata.o obj-$(CONFIG_SCSI_DC395x) += dc395x.o obj-$(CONFIG_SCSI_DC390T) += tmscsim.o -obj-$(CONFIG_SCSI_MEGARAID) += megaraid.o +obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o +obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/ obj-$(CONFIG_SCSI_ACARD) += atp870u.o obj-$(CONFIG_SCSI_SUNESP) += esp.o obj-$(CONFIG_SCSI_GDTH) += gdth.o @@ -119,6 +120,8 @@ obj-$(CONFIG_SCSI_CPQFCTS) += cpqfc.o obj-$(CONFIG_SCSI_LASI700) += 53c700.o lasi700.o obj-$(CONFIG_SCSI_NSP32) += nsp32.o obj-$(CONFIG_SCSI_IPR) += ipr.o +obj-$(CONFIG_SCSI_IBMVSCSI) += ibmvscsi/ +obj-$(CONFIG_SCSI_SATA_AHCI) += libata.o ahci.o obj-$(CONFIG_SCSI_SATA_SVW) += libata.o sata_svw.o obj-$(CONFIG_SCSI_ATA_PIIX) += libata.o ata_piix.o obj-$(CONFIG_SCSI_SATA_PROMISE) += libata.o sata_promise.o @@ -128,6 +131,7 @@ obj-$(CONFIG_SCSI_SATA_VITESSE) += libata.o sata_vsc.o obj-$(CONFIG_SCSI_SATA_SIS) += libata.o sata_sis.o obj-$(CONFIG_SCSI_SATA_SX4) += libata.o sata_sx4.o obj-$(CONFIG_SCSI_SATA_NV) += libata.o sata_nv.o +obj-$(CONFIG_SCSI_LPFC) += lpfc/ obj-$(CONFIG_ARM) += arm/ diff --git a/drivers/scsi/NCR53C9x.c b/drivers/scsi/NCR53C9x.c index 9f70a7b0b..9cd6f27d7 100644 --- a/drivers/scsi/NCR53C9x.c +++ b/drivers/scsi/NCR53C9x.c @@ -94,7 +94,7 @@ enum { }; /* The master ring of all esp hosts we are managing in this driver. */ -struct NCR_ESP *espchain = 0; +struct NCR_ESP *espchain; int nesps = 0, esps_in_use = 0, esps_running = 0; irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs); @@ -555,7 +555,7 @@ struct NCR_ESP* esp_allocate(Scsi_Host_Template *tpnt, void *esp_dev) } else { espchain = esp; } - esp->next = 0; + esp->next = NULL; return esp; } @@ -565,7 +565,7 @@ void esp_deallocate(struct NCR_ESP *esp) struct NCR_ESP *elink; if(espchain == esp) { - espchain = 0; + espchain = NULL; } else { for(elink = espchain; elink && (elink->next != esp); elink = elink->next); if(elink) @@ -708,9 +708,9 @@ void esp_initialize(struct NCR_ESP *esp) } /* Initialize the command queues */ - esp->current_SC = 0; - esp->disconnected_SC = 0; - esp->issue_SC = 0; + esp->current_SC = NULL; + esp->disconnected_SC = NULL; + esp->issue_SC = NULL; /* Clear the state machines. */ esp->targets_present = 0; @@ -1728,7 +1728,7 @@ static inline void esp_reconnect(struct NCR_ESP *esp, Scsi_Cmnd *sp) ESPLOG(("esp%d: Weird, being reselected but disconnected " "command queue is empty.\n", esp->esp_id)); esp->snip = 0; - esp->current_SC = 0; + esp->current_SC = NULL; sp->SCp.phase = not_issued; append_SC(&esp->issue_SC, sp); } @@ -3393,7 +3393,7 @@ static int esp_work_bus(struct NCR_ESP *esp, struct ESP_regs *eregs) } static espfunc_t isvc_vector[] = { - 0, + NULL, esp_do_phase_determine, esp_do_resetbus, esp_finish_reset, diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c index 3f457dc1b..c407e8643 100644 --- a/drivers/scsi/NCR53c406a.c +++ b/drivers/scsi/NCR53c406a.c @@ -606,22 +606,24 @@ static int NCR53c406a_release(struct Scsi_Host *shost) } /* called from init/main.c */ -static void __init NCR53c406a_setup(char *str, int *ints) +static int __init NCR53c406a_setup(char *str) { static size_t setup_idx = 0; size_t i; + int ints[4]; DEB(printk("NCR53c406a: Setup called\n"); ); if (setup_idx >= PORT_COUNT - 1) { printk("NCR53c406a: Setup called too many times. Bad LILO params?\n"); - return; + return 0; } + get_options(str, 4, ints); if (ints[0] < 1 || ints[0] > 3) { printk("NCR53c406a: Malformed command line\n"); printk("NCR53c406a: Usage: ncr53c406a=[,[,]]\n"); - return; + return 0; } for (i = 0; i < PORT_COUNT && !port_base; i++) if (ports[i] == ints[1]) { @@ -631,7 +633,7 @@ static void __init NCR53c406a_setup(char *str, int *ints) } if (!port_base) { printk("NCR53c406a: Invalid PORTBASE 0x%x specified\n", ints[1]); - return; + return 0; } if (ints[0] > 1) { @@ -654,6 +656,7 @@ static void __init NCR53c406a_setup(char *str, int *ints) fast_pio = ints[3]; DEB(printk("NCR53c406a: port_base=0x%x, irq=%d, fast_pio=%d\n", port_base, irq_level, fast_pio);) + return 1; } __setup("ncr53c406a=", NCR53c406a_setup); diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c index 802f907a5..fce63c7bb 100644 --- a/drivers/scsi/NCR_D700.c +++ b/drivers/scsi/NCR_D700.c @@ -99,6 +99,9 @@ #include #include #include +#include +#include +#include #include "53c700.h" #include "NCR_D700.h" diff --git a/drivers/scsi/NCR_Q720.c b/drivers/scsi/NCR_Q720.c index d47a86ef5..862014d7b 100644 --- a/drivers/scsi/NCR_Q720.c +++ b/drivers/scsi/NCR_Q720.c @@ -216,7 +216,21 @@ NCR_Q720_probe(struct device *dev) goto out_free; } - mem_base = (__u32)ioremap(base_addr, mem_size); + if (dma_declare_coherent_memory(dev, base_addr, base_addr, + mem_size, DMA_MEMORY_MAP) + != DMA_MEMORY_MAP) { + printk(KERN_ERR "NCR_Q720: DMA declare memory failed\n"); + goto out_release_region; + } + + /* The first 1k of the memory buffer is a memory map of the registers + */ + mem_base = (__u32)dma_mark_declared_memory_occupied(dev, base_addr, + 1024); + if (IS_ERR((void *)mem_base)) { + printk("NCR_Q720 failed to reserve memory mapped region\n"); + goto out_release; + } /* now also enable accesses in asr 2 */ asr2 = inb(io_base + 0x0a); @@ -296,7 +310,8 @@ NCR_Q720_probe(struct device *dev) return 0; out_release: - iounmap((void *)mem_base); + dma_release_declared_memory(dev); + out_release_region: release_mem_region(base_addr, mem_size); out_free: kfree(p); @@ -321,7 +336,7 @@ NCR_Q720_remove(struct device *dev) if(p->hosts[i]) NCR_Q720_remove_one(p->hosts[i]); - iounmap((void *)p->mem_base); + dma_release_declared_memory(dev); release_mem_region(p->phys_mem_base, p->mem_size); free_irq(p->irq, p); kfree(p); diff --git a/drivers/scsi/aacraid/README b/drivers/scsi/aacraid/README index 6abbe026b..52015523c 100644 --- a/drivers/scsi/aacraid/README +++ b/drivers/scsi/aacraid/README @@ -10,14 +10,23 @@ the original). Supported Cards/Chipsets ------------------------- - AAR-2410SA SATA + Adaptec 2020S + Adaptec 2025S Adaptec 2120S Adaptec 2200S Adaptec 2230S + Adaptec 2240S + Adaptec 2410SA + Adaptec 2610SA + Adaptec 2810SA + Adaptec 21610SA Adaptec 3230S Adaptec 3240S + Adaptec 4000SAS + Adaptec 4005SAS + Adaptec 4800SAS + Adaptec 4805SAS Adaptec 5400S - ASR-2020S PCI-X Dell PERC 2 Quad Channel Dell PERC 2/Si Dell PERC 3/Si @@ -49,7 +58,6 @@ Adaptec Unix OEM Product Group Mailing List ------------------------- linux-scsi@vger.kernel.org (Interested parties troll here) -http://mbserver.adaptec.com/ (Currently more Community Support than Devel Support) Also note this is very different to Brian's original driver so don't expect him to support it. Adaptec does support this driver. Contact either tech support or Mark Salyzyn. diff --git a/drivers/scsi/aacraid/aachba.c b/drivers/scsi/aacraid/aachba.c index 7b02a48a2..bb03a95fa 100644 --- a/drivers/scsi/aacraid/aachba.c +++ b/drivers/scsi/aacraid/aachba.c @@ -179,6 +179,20 @@ static int aac_send_srb_fib(struct scsi_cmnd* scsicmd); static char *aac_get_status_string(u32 status); #endif +/* + * Non dasd selection is handled entirely in aachba now + */ + +MODULE_PARM(nondasd, "i"); +MODULE_PARM_DESC(nondasd, "Control scanning of hba for nondasd devices. 0=off, 1=on"); +MODULE_PARM(dacmode, "i"); +MODULE_PARM_DESC(dacmode, "Control whether dma addressing is using 64 bit DAC. 0=off, 1=on"); +MODULE_PARM(commit, "i"); +MODULE_PARM_DESC(commit, "Control whether a COMMIT_CONFIG is issued to the adapter for foreign arrays.\nThis is typically needed in systems that do not have a BIOS. 0=off, 1=on"); + +static int nondasd = -1; +static int dacmode = -1; + /** * aac_get_containers - list containers * @common: adapter to probe @@ -481,8 +495,7 @@ int aac_get_adapter_info(struct aac_dev* dev) dev->nondasd_support = 0; if(dev->adapter_info.options & AAC_OPT_NONDASD){ -// dev->nondasd_support = 1; -// dmb - temporarily disable nondasd + dev->nondasd_support = 1; } if(nondasd != -1) { dev->nondasd_support = (nondasd!=0); @@ -491,18 +504,30 @@ int aac_get_adapter_info(struct aac_dev* dev) printk(KERN_INFO "%s%d: Non-DASD support enabled.\n",dev->name, dev->id); } - dev->pae_support = 0; + dev->dac_support = 0; if( (sizeof(dma_addr_t) > 4) && (dev->adapter_info.options & AAC_OPT_SGMAP_HOST64)){ printk(KERN_INFO "%s%d: 64bit support enabled.\n", dev->name, dev->id); - dev->pae_support = 1; + dev->dac_support = 1; } - if(paemode != -1){ - dev->pae_support = (paemode!=0); + if(dacmode != -1) { + dev->dac_support = (dacmode!=0); } - if(dev->pae_support != 0) { - printk(KERN_INFO"%s%d: 64 Bit PAE enabled\n", dev->name, dev->id); - pci_set_dma_mask(dev->pdev, (dma_addr_t)0xFFFFFFFFFFFFFFFFULL); + if(dev->dac_support != 0) { + if (!pci_set_dma_mask(dev->pdev, 0xFFFFFFFFFFFFFFFFULL) && + !pci_set_consistent_dma_mask(dev->pdev, 0xFFFFFFFFFFFFFFFFULL)) { + printk(KERN_INFO"%s%d: 64 Bit DAC enabled\n", + dev->name, dev->id); + } else if (!pci_set_dma_mask(dev->pdev, 0xFFFFFFFFULL) && + !pci_set_consistent_dma_mask(dev->pdev, 0xFFFFFFFFULL)) { + printk(KERN_INFO"%s%d: DMA mask set failed, 64 Bit DAC disabled\n", + dev->name, dev->id); + dev->dac_support = 0; + } else { + printk(KERN_WARNING"%s%d: No suitable DMA available.\n", + dev->name, dev->id); + rcode = -ENOMEM; + } } fib_complete(fibptr); @@ -537,7 +562,7 @@ static void read_callback(void *context, struct fib * fibptr) scsicmd->use_sg, scsicmd->sc_data_direction); else if(scsicmd->request_bufflen) - pci_unmap_single(dev->pdev, (dma_addr_t)(ulong)scsicmd->SCp.ptr, + pci_unmap_single(dev->pdev, scsicmd->SCp.dma_handle, scsicmd->request_bufflen, scsicmd->sc_data_direction); readreply = (struct aac_read_reply *)fib_data(fibptr); @@ -582,7 +607,7 @@ static void write_callback(void *context, struct fib * fibptr) scsicmd->use_sg, scsicmd->sc_data_direction); else if(scsicmd->request_bufflen) - pci_unmap_single(dev->pdev, (dma_addr_t)(ulong)scsicmd->SCp.ptr, + pci_unmap_single(dev->pdev, scsicmd->SCp.dma_handle, scsicmd->request_bufflen, scsicmd->sc_data_direction); @@ -644,7 +669,7 @@ int aac_read(struct scsi_cmnd * scsicmd, int cid) fib_init(cmd_fibcontext); - if(dev->pae_support == 1){ + if(dev->dac_support == 1) { struct aac_read64 *readcmd; readcmd = (struct aac_read64 *) fib_data(cmd_fibcontext); readcmd->command = cpu_to_le32(VM_CtHostRead64); @@ -752,7 +777,7 @@ static int aac_write(struct scsi_cmnd * scsicmd, int cid) } fib_init(cmd_fibcontext); - if(dev->pae_support == 1){ + if(dev->dac_support == 1) { struct aac_write64 *writecmd; writecmd = (struct aac_write64 *) fib_data(cmd_fibcontext); writecmd->command = cpu_to_le32(VM_CtHostWrite64); @@ -1220,7 +1245,7 @@ static void aac_srb_callback(void *context, struct fib * fibptr) scsicmd->use_sg, scsicmd->sc_data_direction); else if(scsicmd->request_bufflen) - pci_unmap_single(dev->pdev, (ulong)scsicmd->SCp.ptr, scsicmd->request_bufflen, + pci_unmap_single(dev->pdev, scsicmd->SCp.dma_handle, scsicmd->request_bufflen, scsicmd->sc_data_direction); /* @@ -1348,7 +1373,12 @@ static void aac_srb_callback(void *context, struct fib * fibptr) case SRB_STATUS_DOMAIN_VALIDATION_FAIL: default: #ifdef AAC_DETAILED_STATUS_INFO - printk("aacraid: SRB ERROR(%u) %s scsi cmd 0x%x - scsi status 0x%x\n",le32_to_cpu(srbreply->srb_status&0x3f),aac_get_status_string(le32_to_cpu(srbreply->srb_status)), scsicmd->cmnd[0], le32_to_cpu(srbreply->scsi_status) ); + printk("aacraid: SRB ERROR(%u) %s scsi cmd 0x%x - scsi status 0x%x\n", + le32_to_cpu(srbreply->srb_status & 0x3F), + aac_get_status_string( + le32_to_cpu(srbreply->srb_status) & 0x3F), + scsicmd->cmnd[0], + le32_to_cpu(srbreply->scsi_status)); #endif scsicmd->result = DID_ERROR << 16 | COMMAND_COMPLETE << 8; break; @@ -1358,7 +1388,10 @@ static void aac_srb_callback(void *context, struct fib * fibptr) scsicmd->result |= SAM_STAT_CHECK_CONDITION; len = (srbreply->sense_data_size > sizeof(scsicmd->sense_buffer))? sizeof(scsicmd->sense_buffer):srbreply->sense_data_size; - dprintk((KERN_WARNING "aac_srb_callback: check condition, status = %d len=%d\n", le32_to_cpu(srbreply->status), len)); +#ifdef AAC_DETAILED_STATUS_INFO + dprintk((KERN_WARNING "aac_srb_callback: check condition, status = %d len=%d\n", + le32_to_cpu(srbreply->status), len)); +#endif memcpy(scsicmd->sense_buffer, srbreply->sense_data, len); } @@ -1437,7 +1470,7 @@ static int aac_send_srb_fib(struct scsi_cmnd* scsicmd) srbcmd->retry_limit =cpu_to_le32(0); // Obsolete parameter srbcmd->cdb_size = cpu_to_le32(scsicmd->cmd_len); - if( dev->pae_support ==1 ) { + if( dev->dac_support == 1 ) { aac_build_sg64(scsicmd, (struct sgmap64*) &srbcmd->sg); srbcmd->count = cpu_to_le32(scsicmd->request_bufflen); @@ -1532,7 +1565,7 @@ static unsigned long aac_build_sg(struct scsi_cmnd* scsicmd, struct sgmap* psg) psg->count = cpu_to_le32(1); psg->sg[0].addr = cpu_to_le32(addr); psg->sg[0].count = cpu_to_le32(scsicmd->request_bufflen); - scsicmd->SCp.ptr = (char *)(ulong)addr; + scsicmd->SCp.dma_handle = addr; byte_count = scsicmd->request_bufflen; } return byte_count; @@ -1593,7 +1626,7 @@ static unsigned long aac_build_sg64(struct scsi_cmnd* scsicmd, struct sgmap64* p psg->sg[0].addr[1] = (u32)(le_addr>>32); psg->sg[0].addr[0] = (u32)(le_addr & 0xffffffff); psg->sg[0].count = cpu_to_le32(scsicmd->request_bufflen); - scsicmd->SCp.ptr = (char *)(ulong)addr; + scsicmd->SCp.dma_handle = addr; byte_count = scsicmd->request_bufflen; } return byte_count; diff --git a/drivers/scsi/aacraid/aacraid.h b/drivers/scsi/aacraid/aacraid.h index 8b077f224..20302a3e8 100644 --- a/drivers/scsi/aacraid/aacraid.h +++ b/drivers/scsi/aacraid/aacraid.h @@ -28,10 +28,7 @@ #define aac_phys_to_logical(x) (x+1) #define aac_logical_to_phys(x) (x?x-1:0) -#define AAC_DETAILED_STATUS_INFO - -extern int nondasd; -extern int paemode; +/* #define AAC_DETAILED_STATUS_INFO */ struct diskparm { @@ -404,15 +401,15 @@ struct aac_init }; enum aac_log_level { - LOG_INIT = 10, - LOG_INFORMATIONAL = 20, - LOG_WARNING = 30, - LOG_LOW_ERROR = 40, - LOG_MEDIUM_ERROR = 50, - LOG_HIGH_ERROR = 60, - LOG_PANIC = 70, - LOG_DEBUG = 80, - LOG_WINDBG_PRINT = 90 + LOG_AAC_INIT = 10, + LOG_AAC_INFORMATIONAL = 20, + LOG_AAC_WARNING = 30, + LOG_AAC_LOW_ERROR = 40, + LOG_AAC_MEDIUM_ERROR = 50, + LOG_AAC_HIGH_ERROR = 60, + LOG_AAC_PANIC = 70, + LOG_AAC_DEBUG = 80, + LOG_AAC_WINDBG_PRINT = 90 }; #define FSAFS_NTC_GET_ADAPTER_FIB_CONTEXT 0x030b @@ -841,7 +838,7 @@ struct aac_dev * lets break them out so we don't have to do an AND to check them */ u8 nondasd_support; - u8 pae_support; + u8 dac_support; }; #define AllocateAndMapFibSpace(dev, MapFibContext) \ diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c index 36ae4af39..7f3a22200 100644 --- a/drivers/scsi/aacraid/commctrl.c +++ b/drivers/scsi/aacraid/commctrl.c @@ -480,7 +480,7 @@ int aac_send_raw_srb(struct aac_dev* dev, void __user * arg) default: data_dir = DMA_NONE; } - if (dev->pae_support == 1) { + if (dev->dac_support == 1) { struct sgmap64* psg = (struct sgmap64*)&srbcmd->sg; byte_count = 0; diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c index b5ac3c270..a379bc9a1 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c @@ -761,35 +761,13 @@ void aac_printf(struct aac_dev *dev, u32 val) length = 255; if (cp[length] != 0) cp[length] = 0; - if (level == LOG_HIGH_ERROR) + if (level == LOG_AAC_HIGH_ERROR) printk(KERN_WARNING "aacraid:%s", cp); else printk(KERN_INFO "aacraid:%s", cp); memset(cp, 0, 256); } - -/** - * aac_handle_aif - Handle a message from the firmware - * @dev: Which adapter this fib is from - * @fibptr: Pointer to fibptr from adapter - * - * This routine handles a driver notify fib from the adapter and - * dispatches it to the appropriate routine for handling. - */ - -static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) -{ - struct hw_fib * hw_fib = fibptr->hw_fib; - /* - * Set the status of this FIB to be Invalid parameter. - * - * *(u32 *)fib->data = ST_INVAL; - */ - *(u32 *)hw_fib->data = cpu_to_le32(ST_OK); - fib_adapter_complete(fibptr, sizeof(u32)); -} - /** * aac_command_thread - command processing thread * @dev: Adapter to monitor @@ -859,7 +837,6 @@ int aac_command_thread(struct aac_dev * dev) aifcmd = (struct aac_aifcmd *) hw_fib->data; if (aifcmd->command == cpu_to_le32(AifCmdDriverNotify)) { /* Handle Driver Notify Events */ - aac_handle_aif(dev, fib); *(u32 *)hw_fib->data = cpu_to_le32(ST_OK); fib_adapter_complete(fib, sizeof(u32)); } else { @@ -870,10 +847,6 @@ int aac_command_thread(struct aac_dev * dev) u32 time_now, time_last; unsigned long flagv; - /* Sniff events */ - if (aifcmd->command == cpu_to_le32(AifCmdEventNotify)) - aac_handle_aif(dev, fib); - time_now = jiffies/HZ; spin_lock_irqsave(&dev->fib_lock, flagv); diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index c55219142..04a8a571a 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c @@ -44,6 +44,7 @@ #include #include #include +#include #include #include @@ -62,15 +63,7 @@ MODULE_DESCRIPTION("Dell PERC2, 2/Si, 3/Si, 3/Di, " "Adaptec Advanced Raid Products, " "and HP NetRAID-4M SCSI driver"); MODULE_LICENSE("GPL"); - - -int nondasd = -1; -module_param(nondasd, int, S_IRUGO|S_IWUSR); -MODULE_PARM_DESC(nondasd, "Control scanning of hba for nondasd devices. 0=off, 1=on"); - -int paemode = -1; -module_param(paemode, int, S_IRUGO|S_IWUSR); -MODULE_PARM_DESC(paemode, "Control whether dma addressing is using PAE. 0=off, 1=on"); +MODULE_VERSION(AAC_DRIVER_VERSION); struct aac_dev *aac_devices[MAXIMUM_NUM_ADAPTERS]; static unsigned aac_count; @@ -83,44 +76,54 @@ static int aac_cfg_major = -1; * Note: The last field is used to index into aac_drivers below. */ static struct pci_device_id aac_pci_tbl[] = { - { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si */ - { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di */ - { 0x1028, 0x0003, 0x1028, 0x0003, 0, 0, 2 }, /* PERC 3/Si */ - { 0x1028, 0x0004, 0x1028, 0x00d0, 0, 0, 3 }, /* PERC 3/Si */ - { 0x1028, 0x0002, 0x1028, 0x00d1, 0, 0, 4 }, /* PERC 3/Di */ - { 0x1028, 0x0002, 0x1028, 0x00d9, 0, 0, 5 }, /* PERC 3/Di */ - { 0x1028, 0x000a, 0x1028, 0x0106, 0, 0, 6 }, /* PERC 3/Di */ - { 0x1028, 0x000a, 0x1028, 0x011b, 0, 0, 7 }, /* PERC 3/Di */ - { 0x1028, 0x000a, 0x1028, 0x0121, 0, 0, 8 }, /* PERC 3/Di */ - { 0x9005, 0x0283, 0x9005, 0x0283, 0, 0, 9 }, /* catapult*/ - { 0x9005, 0x0284, 0x9005, 0x0284, 0, 0, 10 }, /* tomcat*/ - { 0x9005, 0x0285, 0x9005, 0x0286, 0, 0, 11 }, /* Adaptec 2120S (Crusader)*/ - { 0x9005, 0x0285, 0x9005, 0x0285, 0, 0, 12 }, /* Adaptec 2200S (Vulcan)*/ - { 0x9005, 0x0285, 0x9005, 0x0287, 0, 0, 13 }, /* Adaptec 2200S (Vulcan-2m)*/ - { 0x9005, 0x0285, 0x17aa, 0x0286, 0, 0, 14 }, /* Legend S220*/ - { 0x9005, 0x0285, 0x17aa, 0x0287, 0, 0, 15 }, /* Legend S230*/ - - { 0x9005, 0x0285, 0x9005, 0x0288, 0, 0, 16 }, /* Adaptec 3230S (Harrier)*/ - { 0x9005, 0x0285, 0x9005, 0x0289, 0, 0, 17 }, /* Adaptec 3240S (Tornado)*/ - { 0x9005, 0x0285, 0x9005, 0x028a, 0, 0, 18 }, /* ASR-2020 ZCR PCI-X U320 */ - { 0x9005, 0x0285, 0x9005, 0x028b, 0, 0, 19 }, /* ASR-2025 ZCR DIMM U320 */ - { 0x9005, 0x0285, 0x9005, 0x0290, 0, 0, 20 }, /* AAR-2410SA PCI SATA 4ch (Jaguar II)*/ - - { 0x9005, 0x0285, 0x1028, 0x0287, 0, 0, 21 }, /* Perc 320/DC*/ - { 0x1011, 0x0046, 0x9005, 0x0365, 0, 0, 22 }, /* Adaptec 5400S (Mustang)*/ - { 0x1011, 0x0046, 0x9005, 0x0364, 0, 0, 23 }, /* Adaptec 5400S (Mustang)*/ - { 0x1011, 0x0046, 0x9005, 0x1364, 0, 0, 24 }, /* Dell PERC2 "Quad Channel" */ - { 0x1011, 0x0046, 0x103c, 0x10c2, 0, 0, 25 }, /* HP NetRAID-4M */ - + { 0x1028, 0x0001, 0x1028, 0x0001, 0, 0, 0 }, /* PERC 2/Si (Iguana/PERC2Si) */ + { 0x1028, 0x0002, 0x1028, 0x0002, 0, 0, 1 }, /* PERC 3/Di (Opal/PERC3Di) */ + { 0x1028, 0x0003, 0x1028, 0x0003, 0, 0, 2 }, /* PERC 3/Si (SlimFast/PERC3Si */ + { 0x1028, 0x0004, 0x1028, 0x00d0, 0, 0, 3 }, /* PERC 3/Di (Iguana FlipChip/PERC3DiF */ + { 0x1028, 0x0002, 0x1028, 0x00d1, 0, 0, 4 }, /* PERC 3/Di (Viper/PERC3DiV) */ + { 0x1028, 0x0002, 0x1028, 0x00d9, 0, 0, 5 }, /* PERC 3/Di (Lexus/PERC3DiL) */ + { 0x1028, 0x000a, 0x1028, 0x0106, 0, 0, 6 }, /* PERC 3/Di (Jaguar/PERC3DiJ) */ + { 0x1028, 0x000a, 0x1028, 0x011b, 0, 0, 7 }, /* PERC 3/Di (Dagger/PERC3DiD) */ + { 0x1028, 0x000a, 0x1028, 0x0121, 0, 0, 8 }, /* PERC 3/Di (Boxster/PERC3DiB) */ + { 0x9005, 0x0283, 0x9005, 0x0283, 0, 0, 9 }, /* catapult */ + { 0x9005, 0x0284, 0x9005, 0x0284, 0, 0, 10 }, /* tomcat */ + { 0x9005, 0x0285, 0x9005, 0x0286, 0, 0, 11 }, /* Adaptec 2120S (Crusader) */ + { 0x9005, 0x0285, 0x9005, 0x0285, 0, 0, 12 }, /* Adaptec 2200S (Vulcan) */ + { 0x9005, 0x0285, 0x9005, 0x0287, 0, 0, 13 }, /* Adaptec 2200S (Vulcan-2m) */ + { 0x9005, 0x0285, 0x17aa, 0x0286, 0, 0, 14 }, /* Legend S220 (Legend Crusader) */ + { 0x9005, 0x0285, 0x17aa, 0x0287, 0, 0, 15 }, /* Legend S230 (Legend Vulcan) */ + + { 0x9005, 0x0285, 0x9005, 0x0288, 0, 0, 16 }, /* Adaptec 3230S (Harrier) */ + { 0x9005, 0x0285, 0x9005, 0x0289, 0, 0, 17 }, /* Adaptec 3240S (Tornado) */ + { 0x9005, 0x0285, 0x9005, 0x028a, 0, 0, 18 }, /* ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk) */ + { 0x9005, 0x0285, 0x9005, 0x028b, 0, 0, 19 }, /* ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator) */ + { 0x9005, 0x0286, 0x9005, 0x028c, 0, 0, 20 }, /* ASR-2230S + ASR-2230SLP PCI-X (Lancer) */ + { 0x9005, 0x0286, 0x9005, 0x028d, 0, 0, 21 }, /* ASR-2130S (Lancer) */ + { 0x9005, 0x0286, 0x9005, 0x0800, 0, 0, 22 }, /* Jupiter Platform */ + { 0x9005, 0x0285, 0x9005, 0x028e, 0, 0, 23 }, /* ASR-2020SA SATA PCI-X ZCR (Skyhawk) */ + { 0x9005, 0x0285, 0x9005, 0x028f, 0, 0, 24 }, /* ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) */ + { 0x9005, 0x0285, 0x9005, 0x0290, 0, 0, 25 }, /* AAR-2410SA PCI SATA 4ch (Jaguar II) */ { 0x9005, 0x0285, 0x1028, 0x0291, 0, 0, 26 }, /* CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) */ { 0x9005, 0x0285, 0x9005, 0x0292, 0, 0, 27 }, /* AAR-2810SA PCI SATA 8ch (Corsair-8) */ { 0x9005, 0x0285, 0x9005, 0x0293, 0, 0, 28 }, /* AAR-21610SA PCI SATA 16ch (Corsair-16) */ { 0x9005, 0x0285, 0x9005, 0x0294, 0, 0, 29 }, /* ESD SO-DIMM PCI-X SATA ZCR (Prowler) */ - { 0x9005, 0x0285, 0x0E11, 0x0295, 0, 0, 30 }, /* SATA 6Ch (Bearcat) */ - - { 0x9005, 0x0286, 0x9005, 0x028c, 0, 0, 31 }, /* ASR-2230S + ASR-2230SLP PCI-X (Lancer) */ - { 0x9005, 0x0285, 0x9005, 0x028e, 0, 0, 32 }, /* ASR-2020SA (ZCR PCI-X SATA) */ - { 0x9005, 0x0285, 0x9005, 0x028f, 0, 0, 33 }, /* ASR-2025SA (ZCR DIMM SATA) */ + { 0x9005, 0x0285, 0x0E11, 0x0295, 0, 0, 30 }, /* AAR-2610SA PCI SATA 6ch */ + { 0x9005, 0x0285, 0x9005, 0x0296, 0, 0, 31 }, /* ASR-2240S */ + { 0x9005, 0x0285, 0x9005, 0x0296, 0, 0, 32 }, /* ASR-4005SAS */ + { 0x9005, 0x0285, 0x9005, 0x0296, 0, 0, 33 }, /* ASR-4000SAS */ + { 0x9005, 0x0285, 0x9005, 0x0296, 0, 0, 34 }, /* ASR-4800SAS */ + { 0x9005, 0x0285, 0x9005, 0x0296, 0, 0, 35 }, /* ASR-4805SAS */ + + { 0x9005, 0x0285, 0x1028, 0x0287, 0, 0, 36 }, /* Perc 320/DC*/ + { 0x1011, 0x0046, 0x9005, 0x0365, 0, 0, 37 }, /* Adaptec 5400S (Mustang)*/ + { 0x1011, 0x0046, 0x9005, 0x0364, 0, 0, 38 }, /* Adaptec 5400S (Mustang)*/ + { 0x1011, 0x0046, 0x9005, 0x1364, 0, 0, 39 }, /* Dell PERC2/QC */ + { 0x1011, 0x0046, 0x103c, 0x10c2, 0, 0, 40 }, /* HP NetRAID-4M */ + + { 0x9005, 0x0285, 0x1028, PCI_ANY_ID, 0, 0, 41 }, /* Dell Catchall */ + { 0x9005, 0x0285, 0x17aa, PCI_ANY_ID, 0, 0, 42 }, /* Legend Catchall */ + { 0x9005, 0x0285, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 43 }, /* Adaptec Catch All */ + { 0x9005, 0x0286, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 44 }, /* Adaptec Rocket Catch All */ { 0,} }; MODULE_DEVICE_TABLE(pci, aac_pci_tbl); @@ -131,44 +134,54 @@ MODULE_DEVICE_TABLE(pci, aac_pci_tbl); * for the card. At that time we can remove the channels from here */ static struct aac_driver_ident aac_drivers[] = { - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 2/Si */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Si */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Si */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di */ - { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di */ - { aac_rx_init, "aacraid", "ADAPTEC ", "catapult ", 2, AAC_QUIRK_31BIT }, /* catapult*/ - { aac_rx_init, "aacraid", "ADAPTEC ", "tomcat ", 2, AAC_QUIRK_31BIT }, /* tomcat*/ - { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, AAC_QUIRK_31BIT }, /* Adaptec 2120S (Crusader)*/ - { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT }, /* Adaptec 2200S (Vulcan)*/ - { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT }, /* Adaptec 2200S (Vulcan-2m)*/ - { aac_rx_init, "aacraid", "Legend ", "Legend S220 ", 1, AAC_QUIRK_31BIT }, /* Legend S220*/ - { aac_rx_init, "aacraid", "Legend ", "Legend S230 ", 2, AAC_QUIRK_31BIT }, /* Legend S230*/ - - { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 3230S ", 2 }, /* Adaptec 3230S (Harrier)*/ - { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 3240S ", 2 }, /* Adaptec 3240S (Tornado)*/ - { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2020ZCR ", 2 }, /* ASR-2020 ZCR PCI-X U320 */ - { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2025ZCR ", 2 }, /* ASR-2025 ZCR DIMM U320 */ - { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2410SA SATA ", 2 }, /* AAR-2410SA PCI SATA 4ch (Jaguar II)*/ - - { aac_rx_init, "percraid", "DELL ", "PERC 320/DC ", 2, AAC_QUIRK_31BIT }, /* Perc 320/DC*/ - { aac_sa_init, "aacraid", "ADAPTEC ", "Adaptec 5400S ", 4 }, /* Adaptec 5400S (Mustang)*/ - { aac_sa_init, "aacraid", "ADAPTEC ", "AAC-364 ", 4 }, /* Adaptec 5400S (Mustang)*/ - { aac_sa_init, "percraid", "DELL ", "PERCRAID ", 4, AAC_QUIRK_31BIT }, /* Dell PERC2 "Quad Channel" */ - { aac_sa_init, "hpnraid", "HP ", "NetRAID ", 4 }, /* HP NetRAID-4M */ - + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 2/Si (Iguana/PERC2Si) */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di (Opal/PERC3Di) */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Si (SlimFast/PERC3Si */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di (Iguana FlipChip/PERC3DiF */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di (Viper/PERC3DiV) */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di (Lexus/PERC3DiL) */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 1, AAC_QUIRK_31BIT }, /* PERC 3/Di (Jaguar/PERC3DiJ) */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di (Dagger/PERC3DiD) */ + { aac_rx_init, "percraid", "DELL ", "PERCRAID ", 2, AAC_QUIRK_31BIT }, /* PERC 3/Di (Boxster/PERC3DiB) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "catapult ", 2, AAC_QUIRK_31BIT }, /* catapult */ + { aac_rx_init, "aacraid", "ADAPTEC ", "tomcat ", 2, AAC_QUIRK_31BIT }, /* tomcat */ + { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2120S ", 1, AAC_QUIRK_31BIT }, /* Adaptec 2120S (Crusader) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT }, /* Adaptec 2200S (Vulcan) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 2200S ", 2, AAC_QUIRK_31BIT }, /* Adaptec 2200S (Vulcan-2m) */ + { aac_rx_init, "aacraid", "Legend ", "Legend S220 ", 1, AAC_QUIRK_31BIT }, /* Legend S220 (Legend Crusader) */ + { aac_rx_init, "aacraid", "Legend ", "Legend S230 ", 2, AAC_QUIRK_31BIT }, /* Legend S230 (Legend Vulcan) */ + + { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 3230S ", 2 }, /* Adaptec 3230S (Harrier) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "Adaptec 3240S ", 2 }, /* Adaptec 3240S (Tornado) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2020ZCR ", 2 }, /* ASR-2020ZCR SCSI PCI-X ZCR (Skyhawk) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2025ZCR ", 2 }, /* ASR-2025ZCR SCSI SO-DIMM PCI-X ZCR (Terminator) */ + { aac_rkt_init, "aacraid", "ADAPTEC ", "ASR-2230S PCI-X ", 2 }, /* ASR-2230S + ASR-2230SLP PCI-X (Lancer) */ + { aac_rkt_init, "aacraid", "ADAPTEC ", "ASR-2130S PCI-X ", 1 }, /* ASR-2130S (Lancer) */ + { aac_rkt_init, "aacraid", "ADAPTEC ", "Callisto ", 2 }, /* Jupiter Platform */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2020SA ", 1 }, /* ASR-2020SA SATA PCI-X ZCR (Skyhawk) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2025SA ", 1 }, /* ASR-2025SA SATA SO-DIMM PCI-X ZCR (Terminator) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2410SA SATA ", 1 }, /* AAR-2410SA PCI SATA 4ch (Jaguar II) */ { aac_rx_init, "aacraid", "DELL ", "CERC SR2 ", 1 }, /* CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) */ { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2810SA SATA ", 1 }, /* AAR-2810SA PCI SATA 8ch (Corsair-8) */ { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-21610SA SATA", 1 }, /* AAR-21610SA PCI SATA 16ch (Corsair-16) */ { aac_rx_init, "aacraid", "ADAPTEC ", "SO-DIMM SATA ZCR", 1 }, /* ESD SO-DIMM PCI-X SATA ZCR (Prowler) */ - { aac_rx_init, "aacraid", "ADAPTEC ", "SATA 6Channel ", 1 }, /* SATA 6Ch (Bearcat) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "AAR-2610SA ", 1 }, /* SATA 6Ch (Bearcat) */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2240S ", 1 }, /* ASR-2240S */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-4005SAS ", 1 }, /* ASR-4005SAS */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-4000SAS ", 1 }, /* ASR-4000SAS */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-4800SAS ", 1 }, /* ASR-4800SAS */ + { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-4805SAS ", 1 }, /* ASR-4805SAS */ - { aac_rkt_init,"aacraid", "ADAPTEC ", "ASR-2230S PCI-X ", 2 }, /* ASR-2230S + ASR-2230SLP PCI-X (Lancer) */ - { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2020SA ", 1 }, /* ASR-2020SA (ZCR PCI-X SATA) */ - { aac_rx_init, "aacraid", "ADAPTEC ", "ASR-2025SA ", 1 }, /* ASR-2025SA (ZCR DIMM SATA) */ + { aac_rx_init, "percraid", "DELL ", "PERC 320/DC ", 2, AAC_QUIRK_31BIT }, /* Perc 320/DC*/ + { aac_sa_init, "aacraid", "ADAPTEC ", "Adaptec 5400S ", 4 }, /* Adaptec 5400S (Mustang)*/ + { aac_sa_init, "aacraid", "ADAPTEC ", "AAC-364 ", 4 }, /* Adaptec 5400S (Mustang)*/ + { aac_sa_init, "percraid", "DELL ", "PERCRAID ", 4, AAC_QUIRK_31BIT }, /* Dell PERC2/QC */ + { aac_sa_init, "hpnraid", "HP ", "NetRAID ", 4 }, /* HP NetRAID-4M */ + + { aac_rx_init, "aacraid", "DELL ", "RAID ", 2, AAC_QUIRK_31BIT }, /* Dell Catchall */ + { aac_rx_init, "aacraid", "Legend ", "RAID ", 2, AAC_QUIRK_31BIT }, /* Legend Catchall */ + { aac_rx_init, "aacraid", "ADAPTEC ", "RAID ", 2, AAC_QUIRK_31BIT }, /* Adaptec Catch All */ + { aac_rkt_init, "aacraid", "ADAPTEC ", "RAID ", 2 } /* Adaptec Rocket Catch All */ }; #ifdef CONFIG_COMPAT @@ -408,15 +421,17 @@ static int aac_eh_reset(struct scsi_cmnd* cmd) } } spin_unlock_irqrestore(&dev->list_lock, flags); + if (active) + break; - /* - * We can exit If all the commands are complete - */ - if (active == 0) - return SUCCESS; } + /* + * We can exit If all the commands are complete + */ + if (active == 0) + return SUCCESS; spin_unlock_irq(host->host_lock); - scsi_sleep(HZ); + ssleep(1); spin_lock_irq(host->host_lock); } printk(KERN_ERR "%s: SCSI bus appears hung\n", AAC_DRIVERNAME); diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index d796cac2a..40d282fb7 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c @@ -15,16 +15,6 @@ * As of March 8, 2000 Advanced System Products, Inc. (AdvanSys) * changed its name to ConnectCom Solutions, Inc. * - * There is an AdvanSys Linux WWW page at: - * http://www.connectcom.net/downloads/software/os/linux.html - * http://www.advansys.com/linux.html - * - * The latest released version of the AdvanSys driver is available at: - * ftp://ftp.advansys.com/pub/linux/linux.tgz - * ftp://ftp.connectcom.net/pub/linux/linux.tgz - * - * Please send questions, comments, bug reports to: - * support@connectcom.net */ /* @@ -41,7 +31,6 @@ H. Release History I. Known Problems/Fix List J. Credits (Chronological Order) - K. ConnectCom (AdvanSys) Contact Information A. Linux Kernels Supported by this Driver @@ -2032,9 +2021,6 @@ STATIC ASC_DCNT AscGetMaxDmaCount(ushort); #define ADV_LIB_VERSION_MAJOR 5 #define ADV_LIB_VERSION_MINOR 14 -/* d_os_dep.h */ -#define ADV_OS_LINUX - /* * Define Adv Library required special types. */ @@ -3370,9 +3356,9 @@ do { \ /* * Default EEPROM Configuration structure defined in a_init.c. */ -extern ADVEEP_3550_CONFIG Default_3550_EEPROM_Config; -extern ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config; -extern ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config; +static ADVEEP_3550_CONFIG Default_3550_EEPROM_Config; +static ADVEEP_38C0800_CONFIG Default_38C0800_EEPROM_Config; +static ADVEEP_38C1600_CONFIG Default_38C1600_EEPROM_Config; /* * DvcGetPhyAddr() flag arguments diff --git a/drivers/scsi/advansys.h b/drivers/scsi/advansys.h index 5230ba01c..3f4bde023 100644 --- a/drivers/scsi/advansys.h +++ b/drivers/scsi/advansys.h @@ -13,37 +13,11 @@ * As of March 8, 2000 Advanced System Products, Inc. (AdvanSys) * changed its name to ConnectCom Solutions, Inc. * - * There is an AdvanSys Linux WWW page at: - * http://www.connectcom.net/downloads/software/os/linux.html - * http://www.advansys.com/linux.html - * - * The latest released version of the AdvanSys driver is available at: - * ftp://ftp.advansys.com/pub/linux/linux.tgz - * ftp://ftp.connectcom.net/pub/linux/linux.tgz - * - * Please send questions, comments, bug reports to: - * linux@connectcom.net or bfrey@turbolinux.com.cn */ #ifndef _ADVANSYS_H #define _ADVANSYS_H -#include -#ifndef LINUX_VERSION_CODE -#include -#endif /* LINUX_VERSION_CODE */ - -/* Convert Linux Version, Patch-level, Sub-level to LINUX_VERSION_CODE. */ -#define ASC_LINUX_VERSION(V, P, S) (((V) * 65536) + ((P) * 256) + (S)) -/* Driver supported only in version 2.2 and version >= 2.4. */ -#if LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,2,0) || \ - (LINUX_VERSION_CODE > ASC_LINUX_VERSION(2,3,0) && \ - LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,4,0)) -#error "AdvanSys driver supported only in 2.2 and 2.4 or greater kernels." -#endif -#define ASC_LINUX_KERNEL22 (LINUX_VERSION_CODE < ASC_LINUX_VERSION(2,4,0)) -#define ASC_LINUX_KERNEL24 (LINUX_VERSION_CODE >= ASC_LINUX_VERSION(2,4,0)) - /* * Scsi_Host_Template function prototypes. */ diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c index 4c5e9c38f..8b93d6e43 100644 --- a/drivers/scsi/aha1542.c +++ b/drivers/scsi/aha1542.c @@ -1479,7 +1479,7 @@ static int aha1542_bus_reset(Scsi_Cmnd * SCpnt) * we are pretty desperate anyways. */ spin_unlock_irq(SCpnt->device->host->host_lock); - scsi_sleep(4 * HZ); + ssleep(4); spin_lock_irq(SCpnt->device->host->host_lock); WAIT(STATUS(SCpnt->device->host->io_port), @@ -1543,7 +1543,7 @@ static int aha1542_host_reset(Scsi_Cmnd * SCpnt) * we are pretty desperate anyways. */ spin_unlock_irq(SCpnt->device->host->host_lock); - scsi_sleep(4 * HZ); + ssleep(4); spin_lock_irq(SCpnt->device->host->host_lock); WAIT(STATUS(SCpnt->device->host->io_port), diff --git a/drivers/scsi/aic7xxx/aic79xx_core.c b/drivers/scsi/aic7xxx/aic79xx_core.c index 4440afca5..3f1ae1802 100644 --- a/drivers/scsi/aic7xxx/aic79xx_core.c +++ b/drivers/scsi/aic7xxx/aic79xx_core.c @@ -5270,7 +5270,6 @@ ahd_free(struct ahd_softc *ahd) default: case 5: ahd_shutdown(ahd); - TAILQ_REMOVE(&ahd_tailq, ahd, links); /* FALLTHROUGH */ case 4: ahd_dmamap_unload(ahd, ahd->shared_data_dmat, diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c index 68b4539a4..f0de8fa72 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c @@ -61,6 +61,7 @@ #endif #include /* For fetching system memory size */ +#include /* For ssleep/msleep */ /* * Lock protecting manipulation of the ahd softc list. @@ -415,7 +416,6 @@ uint32_t aic79xx_periodic_otag; /* * Module information and settable options. */ -#ifdef MODULE static char *aic79xx = NULL; /* * Just in case someone uses commas to separate items on the insmod @@ -426,9 +426,8 @@ static char dummy_buffer[60] = "Please don't trounce on me insmod!!\n"; MODULE_AUTHOR("Maintainer: Justin T. Gibbs "); MODULE_DESCRIPTION("Adaptec Aic790X U320 SCSI Host Bus Adapter driver"); -#ifdef MODULE_LICENSE MODULE_LICENSE("Dual BSD/GPL"); -#endif +MODULE_VERSION(AIC79XX_DRIVER_VERSION); MODULE_PARM(aic79xx, "s"); MODULE_PARM_DESC(aic79xx, "period delimited, options string.\n" @@ -463,7 +462,6 @@ MODULE_PARM_DESC(aic79xx, " Change Read Streaming for Controller's 2 and 3\n" "\n" " options aic79xx 'aic79xx=rd_strm:{..0xFFF0.0xC0F0}'"); -#endif static void ahd_linux_handle_scsi_status(struct ahd_softc *, struct ahd_linux_device *, @@ -513,9 +511,6 @@ static void ahd_linux_dv_su(struct ahd_softc *ahd, struct scsi_cmnd *cmd, struct ahd_devinfo *devinfo, struct ahd_linux_target *targ); -static __inline int - ahd_linux_dv_fallback(struct ahd_softc *ahd, - struct ahd_devinfo *devinfo); static int ahd_linux_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo); static __inline int ahd_linux_dv_fallback(struct ahd_softc *ahd, @@ -856,6 +851,7 @@ ahd_linux_detect(Scsi_Host_Template *template) { struct ahd_softc *ahd; int found; + int error = 0; #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* @@ -907,7 +903,9 @@ ahd_linux_detect(Scsi_Host_Template *template) ahd_list_lockinit(); #ifdef CONFIG_PCI - ahd_linux_pci_init(); + error = ahd_linux_pci_init(); + if (error) + return error; #endif /* @@ -924,7 +922,7 @@ ahd_linux_detect(Scsi_Host_Template *template) spin_lock_irq(&io_request_lock); #endif aic79xx_detect_complete++; - return (found); + return 0; } #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) @@ -1565,6 +1563,8 @@ ahd_linux_dev_reset(Scsi_Cmnd *cmd) ahd = *(struct ahd_softc **)cmd->device->host->hostdata; recovery_cmd = malloc(sizeof(struct scsi_cmnd), M_DEVBUF, M_WAITOK); + if (!recovery_cmd) + return (FAILED); memset(recovery_cmd, 0, sizeof(struct scsi_cmnd)); recovery_cmd->device = cmd->device; recovery_cmd->scsi_done = ahd_linux_dev_reset_complete; @@ -1580,10 +1580,12 @@ ahd_linux_dev_reset(Scsi_Cmnd *cmd) cmd->device->lun, /*alloc*/FALSE); if (dev == NULL) { ahd_midlayer_entrypoint_unlock(ahd, &s); + kfree(recovery_cmd); return (FAILED); } if ((scb = ahd_get_scb(ahd, AHD_NEVER_COL_IDX)) == NULL) { ahd_midlayer_entrypoint_unlock(ahd, &s); + kfree(recovery_cmd); return (FAILED); } tinfo = ahd_fetch_transinfo(ahd, 'A', ahd->our_id, @@ -1778,6 +1780,7 @@ ahd_dmamem_alloc(struct ahd_softc *ahd, bus_dma_tag_t dmat, void** vaddr, if (ahd->dev_softc != NULL) if (ahd_pci_set_dma_mask(ahd->dev_softc, 0xFFFFFFFF)) { printk(KERN_WARNING "aic79xx: No suitable DMA available.\n"); + kfree(map); return (ENODEV); } *vaddr = pci_alloc_consistent(ahd->dev_softc, @@ -1786,6 +1789,7 @@ ahd_dmamem_alloc(struct ahd_softc *ahd, bus_dma_tag_t dmat, void** vaddr, if (ahd_pci_set_dma_mask(ahd->dev_softc, ahd->platform_data->hw_dma_mask)) { printk(KERN_WARNING "aic79xx: No suitable DMA available.\n"); + kfree(map); return (ENODEV); } #else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0) */ @@ -2915,6 +2919,19 @@ out: ahd_unlock(ahd, &s); } +static __inline int +ahd_linux_dv_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo) +{ + u_long s; + int retval; + + ahd_lock(ahd, &s); + retval = ahd_linux_fallback(ahd, devinfo); + ahd_unlock(ahd, &s); + + return (retval); +} + static void ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd, struct ahd_devinfo *devinfo, @@ -3163,7 +3180,7 @@ ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd, break; } if (status & SSQ_DELAY) - scsi_sleep(1 * HZ); + ssleep(1); break; case SS_START: @@ -3323,7 +3340,7 @@ ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd, } if (targ->dv_state_retry <= 10) { if ((status & (SSQ_DELAY_RANDOM|SSQ_DELAY))!= 0) - scsi_sleep(ahd->our_id*HZ/10); + msleep(ahd->our_id*1000/10); break; } #ifdef AHD_DEBUG @@ -3367,7 +3384,7 @@ ahd_linux_dv_transition(struct ahd_softc *ahd, struct scsi_cmnd *cmd, targ->dv_state_retry--; } else if (targ->dv_state_retry < 60) { if ((status & SSQ_DELAY) != 0) - scsi_sleep(1 * HZ); + ssleep(1); } else { #ifdef AHD_DEBUG if (ahd_debug & AHD_SHOW_DV) { @@ -3551,19 +3568,6 @@ ahd_linux_dv_su(struct ahd_softc *ahd, struct scsi_cmnd *cmd, cmd->cmnd[4] = le | SSS_START; } -static __inline int -ahd_linux_dv_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo) -{ - u_long s; - int retval; - - ahd_lock(ahd, &s); - retval = ahd_linux_fallback(ahd, devinfo); - ahd_unlock(ahd, &s); - - return (retval); -} - static int ahd_linux_fallback(struct ahd_softc *ahd, struct ahd_devinfo *devinfo) { @@ -5078,7 +5082,7 @@ static int __init ahd_linux_init(void) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) - return (ahd_linux_detect(&aic79xx_driver_template) ? 0 : -ENODEV); + return ahd_linux_detect(&aic79xx_driver_template); #else scsi_register_module(MODULE_SCSI_HA, &aic79xx_driver_template); if (aic79xx_driver_template.present == 0) { @@ -5095,7 +5099,6 @@ static void __exit ahd_linux_exit(void) { struct ahd_softc *ahd; - u_long l; /* * Shutdown DV threads before going into the SCSI mid-layer. @@ -5103,12 +5106,11 @@ ahd_linux_exit(void) * kernel so that waiting for our DV threads to exit leads * to deadlock. */ - ahd_list_lock(&l); TAILQ_FOREACH(ahd, &ahd_tailq, links) { ahd_linux_kill_dv_thread(ahd); } - ahd_list_unlock(&l); + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* * In 2.4 we have to unregister from the PCI core _after_ diff --git a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c index d30823d00..780cfe9dd 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm_pci.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm_pci.c @@ -64,6 +64,10 @@ static struct pci_device_id ahd_linux_pci_id_table[] = { 0x9005, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_SCSI << 8, 0xFFFF00, 0 }, + { + 0x9005, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, + PCI_CLASS_STORAGE_RAID << 8, 0xFFFF00, 0 + }, { 0 } }; @@ -92,12 +96,14 @@ ahd_linux_pci_dev_remove(struct pci_dev *pdev) if (ahd != NULL) { u_long s; + TAILQ_REMOVE(&ahd_tailq, ahd, links); + ahd_list_unlock(&l); ahd_lock(ahd, &s); ahd_intr_enable(ahd, FALSE); ahd_unlock(ahd, &s); ahd_free(ahd); - } - ahd_list_unlock(&l); + } else + ahd_list_unlock(&l); } #endif /* !LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) */ diff --git a/drivers/scsi/aic7xxx/aic79xx_pci.c b/drivers/scsi/aic7xxx/aic79xx_pci.c index 7cc83dafa..7e535095c 100644 --- a/drivers/scsi/aic7xxx/aic79xx_pci.c +++ b/drivers/scsi/aic7xxx/aic79xx_pci.c @@ -65,10 +65,10 @@ ahd_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor) } #define ID_ALL_MASK 0xFFFFFFFFFFFFFFFFull -#define ID_ALL_IROC_MASK 0xFFFFFF7FFFFFFFFFull +#define ID_ALL_IROC_MASK 0xFF7FFFFFFFFFFFFFull #define ID_DEV_VENDOR_MASK 0xFFFFFFFF00000000ull #define ID_9005_GENERIC_MASK 0xFFF0FFFF00000000ull -#define ID_9005_GENERIC_IROC_MASK 0xFFF0FF7F00000000ull +#define ID_9005_GENERIC_IROC_MASK 0xFF70FFFF00000000ull #define ID_AIC7901 0x800F9005FFFF9005ull #define ID_AHA_29320A 0x8000900500609005ull @@ -92,6 +92,8 @@ ahd_compose_id(u_int device, u_int vendor, u_int subdevice, u_int subvendor) #define ID_AIC7902_PCI_REV_B0 0x10 #define SUBID_HP 0x0E11 +#define DEVID_9005_HOSTRAID(id) ((id) & 0x80) + #define DEVID_9005_TYPE(id) ((id) & 0xF) #define DEVID_9005_TYPE_HBA 0x0 /* Standard Card */ #define DEVID_9005_TYPE_HBA_2EXT 0x1 /* 2 External Ports */ @@ -134,18 +136,18 @@ struct ahd_pci_identity ahd_pci_ident_table [] = "Adaptec 29320ALP Ultra320 SCSI adapter", ahd_aic7901_setup }, - /* aic7901A based controllers */ + /* aic7902 based controllers */ { ID_AHA_29320, ID_ALL_MASK, "Adaptec 29320 Ultra320 SCSI adapter", - ahd_aic7901A_setup + ahd_aic7902_setup }, { ID_AHA_29320B, ID_ALL_MASK, "Adaptec 29320B Ultra320 SCSI adapter", - ahd_aic7901A_setup + ahd_aic7902_setup }, { ID_AHA_29320LP, @@ -153,7 +155,6 @@ struct ahd_pci_identity ahd_pci_ident_table [] = "Adaptec 29320LP Ultra320 SCSI adapter", ahd_aic7901A_setup }, - /* aic7902 based controllers */ { ID_AHA_39320, ID_ALL_MASK, @@ -196,22 +197,10 @@ struct ahd_pci_identity ahd_pci_ident_table [] = "Adaptec (HP OEM) 39320D Ultra320 SCSI adapter", ahd_aic7902_setup }, - { - ID_AHA_29320, - ID_ALL_MASK, - "Adaptec 29320 Ultra320 SCSI adapter", - ahd_aic7902_setup - }, - { - ID_AHA_29320B, - ID_ALL_MASK, - "Adaptec 29320B Ultra320 SCSI adapter", - ahd_aic7902_setup - }, /* Generic chip probes for devices we don't know 'exactly' */ { - ID_AIC7901 & ID_DEV_VENDOR_MASK, - ID_DEV_VENDOR_MASK, + ID_AIC7901 & ID_9005_GENERIC_MASK, + ID_9005_GENERIC_MASK, "Adaptec AIC7901 Ultra320 SCSI adapter", ahd_aic7901_setup }, @@ -294,6 +283,12 @@ ahd_find_pci_device(ahd_dev_softc_t pci) subdevice, subvendor); + /* + * Controllers, mask out the IROC/HostRAID bit + */ + + full_id &= ID_ALL_IROC_MASK; + for (i = 0; i < ahd_num_pci_devs; i++) { entry = &ahd_pci_ident_table[i]; if (entry->full_id == (full_id & entry->id_mask)) { diff --git a/drivers/scsi/aic7xxx/aic7xxx_core.c b/drivers/scsi/aic7xxx/aic7xxx_core.c index 22944e89f..32b9af6ba 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_core.c +++ b/drivers/scsi/aic7xxx/aic7xxx_core.c @@ -3973,7 +3973,6 @@ ahc_free(struct ahc_softc *ahc) default: case 5: ahc_shutdown(ahc); - TAILQ_REMOVE(&ahc_tailq, ahc, links); /* FALLTHROUGH */ case 4: ahc_dmamap_unload(ahc, ahc->shared_data_dmat, diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c index 3c7a4854d..d870af08e 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c @@ -140,6 +140,7 @@ #include /* For fetching system memory size */ #include /* For block_size() */ +#include /* For ssleep/msleep */ /* * Lock protecting manipulation of the ahc softc list. @@ -436,7 +437,6 @@ uint32_t aic7xxx_periodic_otag; /* * Module information and settable options. */ -#ifdef MODULE static char *aic7xxx = NULL; /* * Just in case someone uses commas to separate items on the insmod @@ -447,9 +447,8 @@ static char dummy_buffer[60] = "Please don't trounce on me insmod!!\n"; MODULE_AUTHOR("Maintainer: Justin T. Gibbs "); MODULE_DESCRIPTION("Adaptec Aic77XX/78XX SCSI Host Bus Adapter driver"); -#ifdef MODULE_LICENSE MODULE_LICENSE("Dual BSD/GPL"); -#endif +MODULE_VERSION(AIC7XXX_DRIVER_VERSION); MODULE_PARM(aic7xxx, "s"); MODULE_PARM_DESC(aic7xxx, "period delimited, options string.\n" @@ -479,7 +478,6 @@ MODULE_PARM_DESC(aic7xxx, "\n" " options aic7xxx 'aic7xxx=probe_eisa_vl.tag_info:{{}.{.10}}.seltime:1'\n" ); -#endif static void ahc_linux_handle_scsi_status(struct ahc_softc *, struct ahc_linux_device *, @@ -1410,6 +1408,7 @@ ahc_dmamem_alloc(struct ahc_softc *ahc, bus_dma_tag_t dmat, void** vaddr, if (ahc->dev_softc != NULL) if (ahc_pci_set_dma_mask(ahc->dev_softc, 0xFFFFFFFF)) { printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); + kfree(map); return (ENODEV); } *vaddr = pci_alloc_consistent(ahc->dev_softc, @@ -1418,6 +1417,7 @@ ahc_dmamem_alloc(struct ahc_softc *ahc, bus_dma_tag_t dmat, void** vaddr, if (ahc_pci_set_dma_mask(ahc->dev_softc, ahc->platform_data->hw_dma_mask)) { printk(KERN_WARNING "aic7xxx: No suitable DMA available.\n"); + kfree(map); return (ENODEV); } #else /* LINUX_VERSION_CODE < KERNEL_VERSION(2,3,0) */ @@ -2825,7 +2825,7 @@ ahc_linux_dv_transition(struct ahc_softc *ahc, struct scsi_cmnd *cmd, break; } if (status & SSQ_DELAY) - scsi_sleep(1 * HZ); + ssleep(1); break; case SS_START: @@ -2985,7 +2985,7 @@ ahc_linux_dv_transition(struct ahc_softc *ahc, struct scsi_cmnd *cmd, } if (targ->dv_state_retry <= 10) { if ((status & (SSQ_DELAY_RANDOM|SSQ_DELAY))!= 0) - scsi_sleep(ahc->our_id*HZ/10); + msleep(ahc->our_id*1000/10); break; } #ifdef AHC_DEBUG @@ -3029,7 +3029,7 @@ ahc_linux_dv_transition(struct ahc_softc *ahc, struct scsi_cmnd *cmd, targ->dv_state_retry--; } else if (targ->dv_state_retry < 60) { if ((status & SSQ_DELAY) != 0) - scsi_sleep(1 * HZ); + ssleep(1); } else { #ifdef AHC_DEBUG if (ahc_debug & AHC_SHOW_DV) { @@ -5100,7 +5100,6 @@ static void ahc_linux_exit(void) { struct ahc_softc *ahc; - u_long l; /* * Shutdown DV threads before going into the SCSI mid-layer. @@ -5108,12 +5107,10 @@ ahc_linux_exit(void) * kernel so that waiting for our DV threads to exit leads * to deadlock. */ - ahc_list_lock(&l); TAILQ_FOREACH(ahc, &ahc_tailq, links) { ahc_linux_kill_dv_thread(ahc); } - ahc_list_unlock(&l); #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c index 2a6fc40a8..36b35936d 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm_pci.c @@ -95,12 +95,14 @@ ahc_linux_pci_dev_remove(struct pci_dev *pdev) if (ahc != NULL) { u_long s; + TAILQ_REMOVE(&ahc_tailq, ahc, links); + ahc_list_unlock(&l); ahc_lock(ahc, &s); ahc_intr_enable(ahc, FALSE); ahc_unlock(ahc, &s); ahc_free(ahc); - } - ahc_list_unlock(&l); + } else + ahc_list_unlock(&l); } #endif /* !LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) */ diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c index 3d6149675..c92226b8c 100644 --- a/drivers/scsi/aic7xxx_old.c +++ b/drivers/scsi/aic7xxx_old.c @@ -10489,7 +10489,7 @@ aic7xxx_bus_device_reset(Scsi_Cmnd *cmd) aic_outb(p, lastphase | ATNO, SCSISIGO); unpause_sequencer(p, FALSE); spin_unlock_irq(p->host->host_lock); - scsi_sleep(HZ); + ssleep(1); spin_lock_irq(p->host->host_lock); if(aic_dev->flags & BUS_DEVICE_RESET_PENDING) return FAILED; @@ -10548,7 +10548,7 @@ aic7xxx_bus_device_reset(Scsi_Cmnd *cmd) aic_outb(p, saved_scbptr, SCBPTR); unpause_sequencer(p, FALSE); spin_unlock_irq(p->host->host_lock); - scsi_sleep(HZ/4); + msleep(1000/4); spin_lock_irq(p->host->host_lock); if(aic_dev->flags & BUS_DEVICE_RESET_PENDING) return FAILED; @@ -10786,7 +10786,7 @@ aic7xxx_abort(Scsi_Cmnd *cmd) } unpause_sequencer(p, FALSE); spin_unlock_irq(p->host->host_lock); - scsi_sleep(HZ/4); + msleep(1000/4); spin_lock_irq(p->host->host_lock); if (p->flags & AHC_ABORT_PENDING) { @@ -10887,7 +10887,7 @@ aic7xxx_reset(Scsi_Cmnd *cmd) aic7xxx_run_done_queue(p, TRUE); unpause_sequencer(p, FALSE); spin_unlock_irq(p->host->host_lock); - scsi_sleep(2 * HZ); + ssleep(2); spin_lock_irq(p->host->host_lock); return SUCCESS; } @@ -11139,6 +11139,7 @@ aic7xxx_print_scratch_ram(struct aic7xxx_host *p) #include "aic7xxx_old/aic7xxx_proc.c" MODULE_LICENSE("Dual BSD/GPL"); +MODULE_VERSION(AIC7XXX_H_VERSION); static Scsi_Host_Template driver_template = { diff --git a/drivers/scsi/arm/cumana_1.c b/drivers/scsi/arm/cumana_1.c index 6dad72222..27271bfc0 100644 --- a/drivers/scsi/arm/cumana_1.c +++ b/drivers/scsi/arm/cumana_1.c @@ -321,6 +321,7 @@ static void __devexit cumanascsi1_remove(struct expansion_card *ec) scsi_remove_host(host); free_irq(host->irq, host); + NCR5380_exit(host); release_region(host->io_port, host->n_io_port); scsi_host_put(host); } diff --git a/drivers/scsi/arm/ecoscsi.c b/drivers/scsi/arm/ecoscsi.c index 57e79614f..303648a84 100644 --- a/drivers/scsi/arm/ecoscsi.c +++ b/drivers/scsi/arm/ecoscsi.c @@ -222,6 +222,7 @@ static void __exit ecoscsi_exit(void) if (shpnt->irq != IRQ_NONE) free_irq(shpnt->irq, NULL); + NCR5380_exit(host); if (shpnt->io_port) release_region(shpnt->io_port, shpnt->n_io_port); diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c index 530b59c01..5f037d24c 100644 --- a/drivers/scsi/arm/eesox.c +++ b/drivers/scsi/arm/eesox.c @@ -231,7 +231,8 @@ static void eesoxscsi_buffer_in(void *buf, int length, void *base) * Align buffer. */ if (((u32)buf) & 2 && status >= 2) { - *((u16 *)buf)++ = readl(reg_dmadata); + *(u16 *)buf = readl(reg_dmadata); + buf += 2; status -= 2; length -= 2; } @@ -243,8 +244,10 @@ static void eesoxscsi_buffer_in(void *buf, int length, void *base) l1 |= readl(reg_dmadata) << 16; l2 = readl(reg_dmadata) & mask; l2 |= readl(reg_dmadata) << 16; - *((u32 *)buf)++ = l1; - *((u32 *)buf)++ = l2; + *(u32 *)buf = l1; + buf += 4; + *(u32 *)buf = l2; + buf += 4; length -= 8; continue; } @@ -255,13 +258,15 @@ static void eesoxscsi_buffer_in(void *buf, int length, void *base) l1 = readl(reg_dmadata) & mask; l1 |= readl(reg_dmadata) << 16; - *((u32 *)buf)++ = l1; + *(u32 *)buf = l1; + buf += 4; length -= 4; continue; } if (status >= 2) { - *((u16 *)buf)++ = readl(reg_dmadata); + *(u16 *)buf = readl(reg_dmadata); + buf += 2; length -= 2; } } while (length); @@ -305,7 +310,8 @@ static void eesoxscsi_buffer_out(void *buf, int length, void *base) * Align buffer. */ if (((u32)buf) & 2 && status >= 2) { - writel(*((u16 *)buf)++ << 16, reg_dmadata); + writel(*(u16 *)buf << 16, reg_dmadata); + buf += 2; status -= 2; length -= 2; } @@ -313,8 +319,10 @@ static void eesoxscsi_buffer_out(void *buf, int length, void *base) if (status >= 8) { unsigned long l1, l2; - l1 = *((u32 *)buf)++; - l2 = *((u32 *)buf)++; + l1 = *(u32 *)buf; + buf += 4; + l2 = *(u32 *)buf; + buf += 4; writel(l1 << 16, reg_dmadata); writel(l1, reg_dmadata); @@ -327,7 +335,8 @@ static void eesoxscsi_buffer_out(void *buf, int length, void *base) if (status >= 4) { unsigned long l1; - l1 = *((u32 *)buf)++; + l1 = *(u32 *)buf; + buf += 4; writel(l1 << 16, reg_dmadata); writel(l1, reg_dmadata); @@ -336,7 +345,8 @@ static void eesoxscsi_buffer_out(void *buf, int length, void *base) } if (status >= 2) { - writel(*((u16 *)buf)++ << 16, reg_dmadata); + writel(*(u16 *)buf << 16, reg_dmadata); + buf += 2; length -= 2; } } while (length); diff --git a/drivers/scsi/arm/fas216.c b/drivers/scsi/arm/fas216.c index f54b47025..bd607455e 100644 --- a/drivers/scsi/arm/fas216.c +++ b/drivers/scsi/arm/fas216.c @@ -2681,7 +2681,7 @@ int fas216_eh_host_reset(Scsi_Cmnd *SCpnt) * IRQs after the sleep. */ spin_unlock_irq(info->host->host_lock); - scsi_sleep(50 * HZ/100); + msleep(50 * 1000/100); spin_lock_irq(info->host->host_lock); /* @@ -2920,7 +2920,7 @@ int fas216_add(struct Scsi_Host *host, struct device *dev) * scsi standard says wait 250ms */ spin_unlock_irq(info->host->host_lock); - scsi_sleep(100*HZ/100); + msleep(100*1000/100); spin_lock_irq(info->host->host_lock); fas216_writeb(info, REG_CNTL1, info->scsi.cfg[0]); diff --git a/drivers/scsi/arm/oak.c b/drivers/scsi/arm/oak.c index ecfee930c..ff2554f4c 100644 --- a/drivers/scsi/arm/oak.c +++ b/drivers/scsi/arm/oak.c @@ -179,6 +179,7 @@ static void __devexit oakscsi_remove(struct expansion_card *ec) ecard_set_drvdata(ec, NULL); scsi_remove_host(host); + NCR5380_exit(host); release_region(host->io_port, host->n_io_port); scsi_host_put(host); } diff --git a/drivers/scsi/ata_piix.c b/drivers/scsi/ata_piix.c index c030c0a68..cf455fe44 100644 --- a/drivers/scsi/ata_piix.c +++ b/drivers/scsi/ata_piix.c @@ -39,6 +39,7 @@ enum { ICH5_PMR = 0x90, /* port mapping register */ ICH5_PCS = 0x92, /* port control and status */ + PIIX_FLAG_AHCI = (1 << 28), /* AHCI possible */ PIIX_FLAG_CHECKINTR = (1 << 29), /* make sure PCI INTx enabled */ PIIX_FLAG_COMBINED = (1 << 30), /* combined mode possible */ @@ -58,6 +59,7 @@ enum { ich5_sata = 1, piix4_pata = 2, ich6_sata = 3, + ich6_sata_rm = 4, }; static int piix_init_one (struct pci_dev *pdev, @@ -65,10 +67,8 @@ static int piix_init_one (struct pci_dev *pdev, static void piix_pata_phy_reset(struct ata_port *ap); static void piix_sata_phy_reset(struct ata_port *ap); -static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev, - unsigned int pio); -static void piix_set_udmamode (struct ata_port *ap, struct ata_device *adev, - unsigned int udma); +static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev); +static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev); static unsigned int in_module_init = 1; @@ -87,13 +87,9 @@ static struct pci_device_id piix_pci_tbl[] = { { 0x8086, 0x24df, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata }, { 0x8086, 0x25a3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata }, { 0x8086, 0x25b0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich5_sata }, - - /* ICH6 operates in two modes, "looks-like-ICH5" mode, - * and enhanced mode, with queueing and other fancy stuff. - * This is distinguished by PCI class code. - */ { 0x8086, 0x2651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata }, - { 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata }, + { 0x8086, 0x2652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_rm }, + { 0x8086, 0x2653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_rm }, { } /* terminate list */ }; @@ -108,6 +104,7 @@ static struct pci_driver piix_pci_driver = { static Scsi_Host_Template piix_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -126,17 +123,18 @@ static Scsi_Host_Template piix_sht = { static struct ata_port_operations piix_pata_ops = { .port_disable = ata_port_disable, .set_piomode = piix_set_piomode, - .set_udmamode = piix_set_udmamode, + .set_dmamode = piix_set_dmamode, - .tf_load = ata_tf_load_pio, - .tf_read = ata_tf_read_pio, - .check_status = ata_check_status_pio, - .exec_command = ata_exec_command_pio, + .tf_load = ata_tf_load, + .tf_read = ata_tf_read, + .check_status = ata_check_status, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, .phy_reset = piix_pata_phy_reset, - .bmdma_setup = ata_bmdma_setup_pio, - .bmdma_start = ata_bmdma_start_pio, + .bmdma_setup = ata_bmdma_setup, + .bmdma_start = ata_bmdma_start, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, @@ -151,18 +149,17 @@ static struct ata_port_operations piix_pata_ops = { static struct ata_port_operations piix_sata_ops = { .port_disable = ata_port_disable, - .set_piomode = piix_set_piomode, - .set_udmamode = piix_set_udmamode, - .tf_load = ata_tf_load_pio, - .tf_read = ata_tf_read_pio, - .check_status = ata_check_status_pio, - .exec_command = ata_exec_command_pio, + .tf_load = ata_tf_load, + .tf_read = ata_tf_read, + .check_status = ata_check_status, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, .phy_reset = piix_sata_phy_reset, - .bmdma_setup = ata_bmdma_setup_pio, - .bmdma_start = ata_bmdma_start_pio, + .bmdma_setup = ata_bmdma_setup, + .bmdma_start = ata_bmdma_start, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, @@ -181,8 +178,13 @@ static struct ata_port_info piix_port_info[] = { .sht = &piix_sht, .host_flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | PIIX_FLAG_CHECKINTR, - .pio_mask = 0x03, /* pio3-4 */ - .udma_mask = ATA_UDMA_MASK_40C, /* FIXME: cbl det */ + .pio_mask = 0x1f, /* pio0-4 */ +#if 0 + .mwdma_mask = 0x06, /* mwdma1-2 */ +#else + .mwdma_mask = 0x00, /* mwdma broken */ +#endif + .udma_mask = 0x3f, /* udma0-5 */ .port_ops = &piix_pata_ops, }, @@ -191,8 +193,9 @@ static struct ata_port_info piix_port_info[] = { .sht = &piix_sht, .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST | PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR, - .pio_mask = 0x03, /* pio3-4 */ - .udma_mask = 0x7f, /* udma0-6 ; FIXME */ + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ + .udma_mask = 0x7f, /* udma0-6 */ .port_ops = &piix_sata_ops, }, @@ -200,8 +203,13 @@ static struct ata_port_info piix_port_info[] = { { .sht = &piix_sht, .host_flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST, - .pio_mask = 0x03, /* pio3-4 */ - .udma_mask = ATA_UDMA_MASK_40C, /* FIXME: cbl det */ + .pio_mask = 0x1f, /* pio0-4 */ +#if 0 + .mwdma_mask = 0x06, /* mwdma1-2 */ +#else + .mwdma_mask = 0x00, /* mwdma broken */ +#endif + .udma_mask = ATA_UDMA_MASK_40C, .port_ops = &piix_pata_ops, }, @@ -211,8 +219,21 @@ static struct ata_port_info piix_port_info[] = { .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST | PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR | ATA_FLAG_SLAVE_POSS, - .pio_mask = 0x03, /* pio3-4 */ - .udma_mask = 0x7f, /* udma0-6 ; FIXME */ + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ + .udma_mask = 0x7f, /* udma0-6 */ + .port_ops = &piix_sata_ops, + }, + + /* ich6_sata_rm */ + { + .sht = &piix_sht, + .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST | + PIIX_FLAG_COMBINED | PIIX_FLAG_CHECKINTR | + ATA_FLAG_SLAVE_POSS | PIIX_FLAG_AHCI, + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ + .udma_mask = 0x7f, /* udma0-6 */ .port_ops = &piix_sata_ops, }, }; @@ -226,12 +247,13 @@ MODULE_AUTHOR("Andre Hedrick, Alan Cox, Andrzej Krzysztofowicz, Jeff Garzik"); MODULE_DESCRIPTION("SCSI low-level driver for Intel PIIX/ICH ATA controllers"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, piix_pci_tbl); +MODULE_VERSION(DRV_VERSION); /** * piix_pata_cbl_detect - Probe host controller cable detect info * @ap: Port for which cable detect info is desired * - * Read 80c cable indicator from SATA PCI device's PCI config + * Read 80c cable indicator from ATA PCI device's PCI config * register. This register is normally set by firmware (BIOS). * * LOCKING: @@ -247,7 +269,7 @@ static void piix_pata_cbl_detect(struct ata_port *ap) goto cbl40; /* check BIOS cable detect results */ - mask = ap->port_no == 0 ? PIIX_80C_PRI : PIIX_80C_SEC; + mask = ap->hard_port_no == 0 ? PIIX_80C_PRI : PIIX_80C_SEC; pci_read_config_byte(pdev, PIIX_IOCFG, &tmp); if ((tmp & mask) == 0) goto cbl40; @@ -273,7 +295,7 @@ cbl40: static void piix_pata_phy_reset(struct ata_port *ap) { if (!pci_test_config_bits(ap->host_set->pdev, - &piix_enable_bits[ap->port_no])) { + &piix_enable_bits[ap->hard_port_no])) { ata_port_disable(ap); printk(KERN_INFO "ata%u: port disabled. ignoring.\n", ap->id); return; @@ -306,8 +328,8 @@ static int piix_sata_probe (struct ata_port *ap) int orig_mask, mask, i; u8 pcs; - mask = (PIIX_PORT_PRESENT << ap->port_no) | - (PIIX_PORT_ENABLED << ap->port_no); + mask = (PIIX_PORT_PRESENT << ap->hard_port_no) | + (PIIX_PORT_ENABLED << ap->hard_port_no); pci_read_config_byte(pdev, ICH5_PCS, &pcs); orig_mask = (int) pcs & 0xff; @@ -324,7 +346,7 @@ static int piix_sata_probe (struct ata_port *ap) mask = (PIIX_PORT_PRESENT << i) | (PIIX_PORT_ENABLED << i); if ((orig_mask & mask) == mask) - if (combined || (i == ap->port_no)) + if (combined || (i == ap->hard_port_no)) return 1; } @@ -368,12 +390,12 @@ static void piix_sata_phy_reset(struct ata_port *ap) * None (inherited from caller). */ -static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev, - unsigned int pio) +static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev) { + unsigned int pio = adev->pio_mode - XFER_PIO_0; struct pci_dev *dev = ap->host_set->pdev; - unsigned int is_slave = (adev->flags & ATA_DFLAG_MASTER) ? 0 : 1; - unsigned int master_port= ap->port_no ? 0x42 : 0x40; + unsigned int is_slave = (adev->devno != 0); + unsigned int master_port= ap->hard_port_no ? 0x42 : 0x40; unsigned int slave_port = 0x44; u16 master_data; u8 slave_data; @@ -391,10 +413,10 @@ static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev, /* enable PPE, IE and TIME */ master_data |= 0x0070; pci_read_config_byte(dev, slave_port, &slave_data); - slave_data &= (ap->port_no ? 0x0f : 0xf0); + slave_data &= (ap->hard_port_no ? 0x0f : 0xf0); slave_data |= (timings[pio][0] << 2) | - (timings[pio][1] << (ap->port_no ? 4 : 0)); + (timings[pio][1] << (ap->hard_port_no ? 4 : 0)); } else { master_data &= 0xccf8; /* enable PPE, IE and TIME */ @@ -409,7 +431,7 @@ static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev, } /** - * piix_set_udmamode - Initialize host controller PATA PIO timings + * piix_set_dmamode - Initialize host controller PATA PIO timings * @ap: Port whose timings we are configuring * @adev: um * @udma: udma mode, 0 - 6 @@ -420,13 +442,13 @@ static void piix_set_piomode (struct ata_port *ap, struct ata_device *adev, * None (inherited from caller). */ -static void piix_set_udmamode (struct ata_port *ap, struct ata_device *adev, - unsigned int udma) +static void piix_set_dmamode (struct ata_port *ap, struct ata_device *adev) { + unsigned int udma = adev->dma_mode; /* FIXME: MWDMA too */ struct pci_dev *dev = ap->host_set->pdev; - u8 maslave = ap->port_no ? 0x42 : 0x40; + u8 maslave = ap->hard_port_no ? 0x42 : 0x40; u8 speed = udma; - unsigned int drive_dn = (ap->port_no ? 2 : 0) + adev->devno; + unsigned int drive_dn = (ap->hard_port_no ? 2 : 0) + adev->devno; int a_speed = 3 << (drive_dn * 4); int u_flag = 1 << drive_dn; int v_flag = 0x01 << drive_dn; @@ -452,25 +474,38 @@ static void piix_set_udmamode (struct ata_port *ap, struct ata_device *adev, case XFER_UDMA_3: case XFER_UDMA_1: u_speed = 1 << (drive_dn * 4); break; case XFER_UDMA_0: u_speed = 0 << (drive_dn * 4); break; + case XFER_MW_DMA_2: + case XFER_MW_DMA_1: break; default: BUG(); return; } - if (!(reg48 & u_flag)) - pci_write_config_byte(dev, 0x48, reg48 | u_flag); - if (speed == XFER_UDMA_5) { - pci_write_config_byte(dev, 0x55, (u8) reg55|w_flag); + if (speed >= XFER_UDMA_0) { + if (!(reg48 & u_flag)) + pci_write_config_byte(dev, 0x48, reg48 | u_flag); + if (speed == XFER_UDMA_5) { + pci_write_config_byte(dev, 0x55, (u8) reg55|w_flag); + } else { + pci_write_config_byte(dev, 0x55, (u8) reg55 & ~w_flag); + } + if ((reg4a & a_speed) != u_speed) + pci_write_config_word(dev, 0x4a, (reg4a & ~a_speed) | u_speed); + if (speed > XFER_UDMA_2) { + if (!(reg54 & v_flag)) + pci_write_config_byte(dev, 0x54, reg54 | v_flag); + } else + pci_write_config_byte(dev, 0x54, reg54 & ~v_flag); } else { - pci_write_config_byte(dev, 0x55, (u8) reg55 & ~w_flag); + if (reg48 & u_flag) + pci_write_config_byte(dev, 0x48, reg48 & ~u_flag); + if (reg4a & a_speed) + pci_write_config_word(dev, 0x4a, reg4a & ~a_speed); + if (reg54 & v_flag) + pci_write_config_byte(dev, 0x54, reg54 & ~v_flag); + if (reg55 & w_flag) + pci_write_config_byte(dev, 0x55, (u8) reg55 & ~w_flag); } - if ((reg4a & a_speed) != u_speed) - pci_write_config_word(dev, 0x4a, (reg4a & ~a_speed) | u_speed); - if (speed > XFER_UDMA_2) { - if (!(reg54 & v_flag)) - pci_write_config_byte(dev, 0x54, reg54 | v_flag); - } else - pci_write_config_byte(dev, 0x54, reg54 & ~v_flag); } /* move to PCI layer, integrate w/ MSI stuff */ @@ -485,6 +520,42 @@ static void pci_enable_intx(struct pci_dev *pdev) } } +#define AHCI_PCI_BAR 5 +#define AHCI_GLOBAL_CTL 0x04 +#define AHCI_ENABLE (1 << 31) +static int piix_disable_ahci(struct pci_dev *pdev) +{ + void *mmio; + unsigned long addr; + u32 tmp; + int rc = 0; + + /* BUG: pci_enable_device has not yet been called. This + * works because this device is usually set up by BIOS. + */ + + addr = pci_resource_start(pdev, AHCI_PCI_BAR); + if (!addr || !pci_resource_len(pdev, AHCI_PCI_BAR)) + return 0; + + mmio = ioremap(addr, 64); + if (!mmio) + return -ENOMEM; + + tmp = readl(mmio + AHCI_GLOBAL_CTL); + if (tmp & AHCI_ENABLE) { + tmp &= ~AHCI_ENABLE; + writel(tmp, mmio + AHCI_GLOBAL_CTL); + + tmp = readl(mmio + AHCI_GLOBAL_CTL); + if (tmp & AHCI_ENABLE) + rc = -EIO; + } + + iounmap(mmio); + return rc; +} + /** * piix_init_one - Register PIIX ATA PCI device with kernel services * @pdev: PCI device to register @@ -517,6 +588,12 @@ static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) port_info[0] = &piix_port_info[ent->driver_data]; port_info[1] = NULL; + if (port_info[0]->host_flags & PIIX_FLAG_AHCI) { + int rc = piix_disable_ahci(pdev); + if (rc) + return rc; + } + if (port_info[0]->host_flags & PIIX_FLAG_COMBINED) { u8 tmp; pci_read_config_byte(pdev, ICH5_PMR, &tmp); diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c index 9cf23b9f2..49feb64cd 100644 --- a/drivers/scsi/atp870u.c +++ b/drivers/scsi/atp870u.c @@ -363,7 +363,7 @@ go_42: /* * Clear it off the queue */ - dev->id[target_id].curr_req = 0; + dev->id[target_id].curr_req = NULL; dev->working--; spin_unlock_irqrestore(dev->host->host_lock, flags); /* @@ -2263,10 +2263,10 @@ static int atp870u_init_tables(struct Scsi_Host *host) dev->in_snd = 0; dev->in_int = 0; for (k = 0; k < qcnt; k++) { - dev->querequ[k] = 0; + dev->querequ[k] = NULL; } for (k = 0; k < 16; k++) { - dev->id[k].curr_req = 0; + dev->id[k].curr_req = NULL; dev->sp[k] = 0x04; } return 0; diff --git a/drivers/scsi/cpqfcTScontrol.c b/drivers/scsi/cpqfcTScontrol.c index a69bd792e..bd94c70f4 100644 --- a/drivers/scsi/cpqfcTScontrol.c +++ b/drivers/scsi/cpqfcTScontrol.c @@ -116,7 +116,6 @@ int CpqTsCreateTachLiteQues( void* pHBA, int opcode) cpqfcHBAdata->fcLQ = pci_alloc_consistent(cpqfcHBAdata->PciDev, sizeof( FC_LINK_QUE), &cpqfcHBAdata->fcLQ_dma_handle); /* printk("@ %p (%u elements)\n", cpqfcHBAdata->fcLQ, FC_LINKQ_DEPTH); */ - memset( cpqfcHBAdata->fcLQ, 0, sizeof( FC_LINK_QUE)); if( cpqfcHBAdata->fcLQ == NULL ) // fatal error!! { diff --git a/drivers/scsi/cpqfcTSinit.c b/drivers/scsi/cpqfcTSinit.c index 8778aac34..58d140cd1 100644 --- a/drivers/scsi/cpqfcTSinit.c +++ b/drivers/scsi/cpqfcTSinit.c @@ -302,10 +302,16 @@ int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate) cpqfc_boards[i].device_id, PciDev))) { + if (pci_enable_device(PciDev)) { + printk(KERN_ERR + "cpqfc: can't enable PCI device at %s\n", pci_name(PciDev)); + goto err_continue; + } + if (pci_set_dma_mask(PciDev, CPQFCTS_DMA_MASK) != 0) { printk(KERN_WARNING "cpqfc: HBA cannot support required DMA mask, skipping.\n"); - continue; + goto err_disable_dev; } // NOTE: (kernel 2.2.12-32) limits allocation to 128k bytes... @@ -314,8 +320,11 @@ int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate) HostAdapter = scsi_register( ScsiHostTemplate, sizeof( CPQFCHBA ) ); - if(HostAdapter == NULL) - continue; + if(HostAdapter == NULL) { + printk(KERN_WARNING + "cpqfc: can't register SCSI HBA, skipping.\n"); + goto err_disable_dev; + } DEBUG_PCI( printk(" HBA found!\n")); DEBUG_PCI( printk(" HostAdapter->PciDev->irq = %u\n", PciDev->irq) ); DEBUG_PCI(printk(" PciDev->baseaddress[0]= %lx\n", @@ -367,9 +376,8 @@ int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate) DEV_NAME, HostAdapter) ) { - printk(" IRQ %u already used\n", HostAdapter->irq); - scsi_unregister( HostAdapter); - continue; + printk(KERN_WARNING "cpqfc: IRQ %u already used\n", HostAdapter->irq); + goto err_unregister; } // Since we have two 256-byte I/O port ranges (upper @@ -377,22 +385,17 @@ int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate) if( !request_region( cpqfcHBAdata->fcChip.Registers.IOBaseU, 0xff, DEV_NAME ) ) { - printk(" cpqfcTS address in use: %x\n", + printk(KERN_WARNING "cpqfc: address in use: %x\n", cpqfcHBAdata->fcChip.Registers.IOBaseU); - free_irq( HostAdapter->irq, HostAdapter); - scsi_unregister( HostAdapter); - continue; + goto err_free_irq; } if( !request_region( cpqfcHBAdata->fcChip.Registers.IOBaseL, 0xff, DEV_NAME ) ) { - printk(" cpqfcTS address in use: %x\n", + printk(KERN_WARNING "cpqfc: address in use: %x\n", cpqfcHBAdata->fcChip.Registers.IOBaseL); - release_region( cpqfcHBAdata->fcChip.Registers.IOBaseU, 0xff ); - free_irq( HostAdapter->irq, HostAdapter); - scsi_unregister( HostAdapter); - continue; + goto err_release_region_U; } // OK, we have grabbed everything we need now. @@ -424,7 +427,7 @@ int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate) // now initialize our hardware... if (cpqfcHBAdata->fcChip.InitializeTachyon( cpqfcHBAdata, 1,1)) { printk(KERN_WARNING "cpqfc: initialization of HBA hardware failed.\n"); - // FIXME: might want to do something better than nothing here. + goto err_release_region_L; } cpqfcHBAdata->fcStatsTime = jiffies; // (for FC Statistics delta) @@ -455,6 +458,21 @@ int cpqfcTS_detect(Scsi_Host_Template *ScsiHostTemplate) spin_lock_irq(HostAdapter->host_lock); NumberOfAdapters++; spin_unlock_irq(HostAdapter->host_lock); + + continue; + +err_release_region_L: + release_region( cpqfcHBAdata->fcChip.Registers.IOBaseL, 0xff ); +err_release_region_U: + release_region( cpqfcHBAdata->fcChip.Registers.IOBaseU, 0xff ); +err_free_irq: + free_irq( HostAdapter->irq, HostAdapter); +err_unregister: + scsi_unregister( HostAdapter); +err_disable_dev: + pci_disable_device( PciDev ); +err_continue: + continue; } // end of while() } @@ -811,6 +829,7 @@ int cpqfcTS_release(struct Scsi_Host *HostAdapter) cpqfcHBAdata->fcChip.Registers.ReMapMemBase) vfree( cpqfcHBAdata->fcChip.Registers.ReMapMemBase); */ + pci_disable_device( cpqfcHBAdata->PciDev); LEAVE("cpqfcTS_release"); return 0; diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c index bde847c73..b08c3e6b1 100644 --- a/drivers/scsi/dc395x.c +++ b/drivers/scsi/dc395x.c @@ -376,6 +376,8 @@ static void disconnect(struct AdapterCtlBlk *acb); static void reselect(struct AdapterCtlBlk *acb); static u8 start_scsi(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb); +static inline void enable_msgout_abort(struct AdapterCtlBlk *acb, + struct ScsiReqBlk *srb); static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb); static void doing_srb_done(struct AdapterCtlBlk *acb, u8 did_code, @@ -384,13 +386,11 @@ static void scsi_reset_detect(struct AdapterCtlBlk *acb); static void pci_unmap_srb(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb); static void pci_unmap_srb_sense(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb); -static inline void enable_msgout_abort(struct AdapterCtlBlk *acb, - struct ScsiReqBlk *srb); static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb); static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb); -static inline void set_xfer_rate(struct AdapterCtlBlk *acb, +static void set_xfer_rate(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb); static void waiting_timeout(unsigned long ptr); @@ -989,7 +989,7 @@ static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb, srb->sg_count = 0; srb->total_xfer_length = 0; srb->sg_bus_addr = 0; - srb->virt_addr = 0; + srb->virt_addr = NULL; srb->sg_index = 0; srb->adapter_status = 0; srb->target_status = 0; @@ -1676,6 +1676,23 @@ static u8 start_scsi(struct AdapterCtlBlk* acb, struct DeviceCtlBlk* dcb, } +#define DC395x_ENABLE_MSGOUT \ + DC395x_write16 (acb, TRM_S1040_SCSI_CONTROL, DO_SETATN); \ + srb->state |= SRB_MSGOUT + + +/* abort command */ +static inline void enable_msgout_abort(struct AdapterCtlBlk *acb, + struct ScsiReqBlk *srb) +{ + srb->msgout_buf[0] = ABORT; + srb->msg_count = 1; + DC395x_ENABLE_MSGOUT; + srb->state &= ~SRB_MSGIN; + srb->state |= SRB_MSGOUT; +} + + /** * dc395x_handle_interrupt - Handle an interrupt that has been confirmed to * have been triggered for this card. @@ -1999,7 +2016,7 @@ static void sg_update_list(struct ScsiReqBlk *srb, u32 left) } dprintkl(KERN_ERR, "sg_update_list: sg_to_virt failed\n"); - srb->virt_addr = 0; + srb->virt_addr = NULL; } @@ -2583,11 +2600,6 @@ static inline u8 msgin_completed(u8 * msgbuf, u32 len) return 1; } -#define DC395x_ENABLE_MSGOUT \ - DC395x_write16 (acb, TRM_S1040_SCSI_CONTROL, DO_SETATN); \ - srb->state |= SRB_MSGOUT - - /* reject_msg */ static inline void msgin_reject(struct AdapterCtlBlk *acb, struct ScsiReqBlk *srb) @@ -2603,18 +2615,6 @@ static inline void msgin_reject(struct AdapterCtlBlk *acb, } -/* abort command */ -static inline void enable_msgout_abort(struct AdapterCtlBlk *acb, - struct ScsiReqBlk *srb) -{ - srb->msgout_buf[0] = ABORT; - srb->msg_count = 1; - DC395x_ENABLE_MSGOUT; - srb->state &= ~SRB_MSGIN; - srb->state |= SRB_MSGOUT; -} - - static struct ScsiReqBlk *msgin_qtag(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb, u8 tag) { @@ -3656,7 +3656,7 @@ static void scsi_reset_detect(struct AdapterCtlBlk *acb) } else { acb->acb_flag |= RESET_DETECT; reset_dev_param(acb); - doing_srb_done(acb, DID_RESET, 0, 1); + doing_srb_done(acb, DID_RESET, NULL, 1); /*DC395x_RecoverSRB( acb ); */ acb->active_dcb = NULL; acb->acb_flag = 0; diff --git a/drivers/scsi/dmx3191d.c b/drivers/scsi/dmx3191d.c index 26e060bb8..21a701c6c 100644 --- a/drivers/scsi/dmx3191d.c +++ b/drivers/scsi/dmx3191d.c @@ -106,9 +106,10 @@ static const char * dmx3191d_info(struct Scsi_Host *host) { static int dmx3191d_release_resources(struct Scsi_Host *instance) { - release_region(instance->io_port, DMX3191D_REGION); if(instance->irq!=SCSI_IRQ_NONE) free_irq(instance->irq, instance); + NCR5380_exit(instance); + release_region(instance->io_port, DMX3191D_REGION); return 0; } diff --git a/drivers/scsi/dtc.c b/drivers/scsi/dtc.c index 624c7ee5d..6611113a2 100644 --- a/drivers/scsi/dtc.c +++ b/drivers/scsi/dtc.c @@ -451,6 +451,7 @@ static int dtc_release(struct Scsi_Host *shost) { if (shost->irq) free_irq(shost->irq, NULL); + NCR5380_exit(shost); if (shost->io_port && shost->n_io_port) release_region(shost->io_port, shost->n_io_port); scsi_unregister(shost); diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c index e2c07fca0..0ee49dc50 100644 --- a/drivers/scsi/eata_pio.c +++ b/drivers/scsi/eata_pio.c @@ -59,6 +59,8 @@ #include #include #include +#include + #include #include @@ -511,8 +513,7 @@ static int eata_pio_host_reset(struct scsi_cmnd *cmd) HD(cmd)->state = RESET; spin_unlock_irq(host->host_lock); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(3 * HZ); + msleep(3000); spin_lock_irq(host->host_lock); DBG(DBG_ABNORM, printk(KERN_WARNING "eata_pio_reset: interrupts disabled, " "loops %d.\n", limit)); diff --git a/drivers/scsi/esp.h b/drivers/scsi/esp.h index 85beb4750..73f7d6968 100644 --- a/drivers/scsi/esp.h +++ b/drivers/scsi/esp.h @@ -77,8 +77,8 @@ struct scsi_cmnd; /* We get one of these for each ESP probed. */ struct esp { - unsigned long eregs; /* ESP controller registers */ - unsigned long dregs; /* DMA controller registers */ + void __iomem *eregs; /* ESP controller registers */ + void __iomem *dregs; /* DMA controller registers */ struct sbus_dma *dma; /* DMA controller sw state */ struct Scsi_Host *ehost; /* Backpointer to SCSI Host */ struct sbus_dev *sdev; /* Pointer to SBus entry */ diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c index 763e33b13..32e0cd597 100644 --- a/drivers/scsi/fd_mcs.c +++ b/drivers/scsi/fd_mcs.c @@ -78,6 +78,7 @@ **************************************************************************/ #include +#include #include #include #include @@ -288,7 +289,7 @@ static irqreturn_t fd_mcs_intr(int irq, void *dev_id, struct pt_regs *regs); static unsigned long addresses[] = { 0xc8000, 0xca000, 0xce000, 0xde000 }; static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 }; -static unsigned short ints[] = { 3, 5, 10, 11, 12, 14, 15, 0 }; +static unsigned short interrupts[] = { 3, 5, 10, 11, 12, 14, 15, 0 }; /* host information */ static int found = 0; @@ -297,16 +298,20 @@ static struct Scsi_Host *hosts[FD_MAX_HOSTS + 1] = { NULL }; static int user_fifo_count = 0; static int user_fifo_size = 0; -static void fd_mcs_setup(char *str, int *ints) +static int __init fd_mcs_setup(char *str) { static int done_setup = 0; + int ints[3]; + get_options(str, 3, ints); if (done_setup++ || ints[0] < 1 || ints[0] > 2 || ints[1] < 1 || ints[1] > 16) { printk("fd_mcs: usage: fd_mcs=FIFO_COUNT, FIFO_SIZE\n"); + return 0; } user_fifo_count = ints[0] >= 1 ? ints[1] : 0; user_fifo_size = ints[0] >= 2 ? ints[2] : 0; + return 1; } __setup("fd_mcs=", fd_mcs_setup); @@ -391,7 +396,7 @@ static int fd_mcs_detect(Scsi_Host_Template * tpnt) } else { bios = addresses[pos2 >> 6]; port = ports[(pos2 >> 4) & 0x03]; - irq = ints[(pos2 >> 1) & 0x07]; + irq = interrupts[(pos2 >> 1) & 0x07]; } if (irq) { diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c index 6529f0c55..a78b6f257 100644 --- a/drivers/scsi/fdomain.c +++ b/drivers/scsi/fdomain.c @@ -733,17 +733,20 @@ static int fdomain_isa_detect( int *irq, int *iobase ) printk( " %x,", base ); #endif - for (flag = 0, i = 0; !flag && i < PORT_COUNT; i++) { - if (base == ports[i]) - ++flag; + for (i = 0; i < PORT_COUNT; i++) { + if (base == ports[i]) { + if (!request_region(base, 0x10, "fdomain")) + break; + if (!fdomain_is_valid_port(base)) { + release_region(base, 0x10); + break; + } + *irq = fdomain_get_irq( base ); + *iobase = base; + return 1; + } } - if (flag && fdomain_is_valid_port( base )) { - *irq = fdomain_get_irq( base ); - *iobase = base; - return 1; - } - /* This is a bad sign. It usually means that someone patched the BIOS signature list (the signatures variable) to contain a BIOS signature for a board *OTHER THAN* the TMC-1660/TMC-1680. */ @@ -764,7 +767,7 @@ static int fdomain_isa_detect( int *irq, int *iobase ) for (i = 0; i < PORT_COUNT; i++) { base = ports[i]; - if (check_region( base, 0x10 )) { + if (!request_region(base, 0x10, "fdomain")) { #if DEBUG_DETECT printk( " (%x inuse),", base ); #endif @@ -773,7 +776,10 @@ static int fdomain_isa_detect( int *irq, int *iobase ) #if DEBUG_DETECT printk( " %x,", base ); #endif - if ((flag = fdomain_is_valid_port( base ))) break; + flag = fdomain_is_valid_port(base); + if (flag) + break; + release_region(base, 0x10); } #if DEBUG_DETECT @@ -832,6 +838,9 @@ static int fdomain_pci_bios_detect( int *irq, int *iobase, struct pci_dev **ret_ pci_base = pci_resource_start(pdev, 0); pci_irq = pdev->irq; + if (!request_region( pci_base, 0x10, "fdomain" )) + return 0; + /* Now we have the I/O base address and interrupt from the PCI configuration registers. */ @@ -844,8 +853,9 @@ static int fdomain_pci_bios_detect( int *irq, int *iobase, struct pci_dev **ret_ " IRQ = %d, I/O base = 0x%x [0x%lx]\n", *irq, *iobase, pci_base ); #endif - if (!fdomain_is_valid_port( *iobase )) { + if (!fdomain_is_valid_port(pci_base)) { printk(KERN_ERR "scsi: PCI card detected, but driver not loaded (invalid port)\n" ); + release_region(pci_base, 0x10); return 0; } @@ -870,10 +880,16 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt ) printk( "scsi: No BIOS, using port_base = 0x%x, irq = %d\n", port_base, interrupt_level ); #endif + if (!request_region(port_base, 0x10, "fdomain")) { + printk( "scsi: port 0x%x is busy\n", port_base ); + printk( "scsi: Bad LILO/INSMOD parameters?\n" ); + return NULL; + } if (!fdomain_is_valid_port( port_base )) { printk( "scsi: Cannot locate chip at port base 0x%x\n", port_base ); printk( "scsi: Bad LILO/INSMOD parameters?\n" ); + release_region(port_base, 0x10); return NULL; } } else { @@ -915,6 +931,7 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt ) if (setup_called) { printk(KERN_ERR "scsi: Bad LILO/INSMOD parameters?\n"); } + release_region(port_base, 0x10); return NULL; } @@ -935,8 +952,10 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt ) get resources. */ shpnt = scsi_register( tpnt, 0 ); - if(shpnt == NULL) + if(shpnt == NULL) { + release_region(port_base, 0x10); return NULL; + } shpnt->irq = interrupt_level; shpnt->io_port = port_base; scsi_set_device(shpnt, &pdev->dev); @@ -946,6 +965,7 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt ) /* Log IRQ with kernel */ if (!interrupt_level) { printk(KERN_ERR "scsi: Card Detected, but driver not loaded (no IRQ)\n" ); + release_region(port_base, 0x10); return NULL; } else { /* Register the IRQ with the kernel */ @@ -967,13 +987,10 @@ struct Scsi_Host *__fdomain_16x0_detect(struct scsi_host_template *tpnt ) printk(KERN_ERR " Send mail to faith@acm.org\n" ); } printk(KERN_ERR "scsi: Detected, but driver not loaded (IRQ)\n" ); + release_region(port_base, 0x10); return NULL; } } - - /* Log I/O ports with kernel */ - request_region( port_base, 0x10, "fdomain" ); - return shpnt; } diff --git a/drivers/scsi/g_NCR5380.c b/drivers/scsi/g_NCR5380.c index bcf97ec03..9c1f8cc4d 100644 --- a/drivers/scsi/g_NCR5380.c +++ b/drivers/scsi/g_NCR5380.c @@ -501,6 +501,10 @@ int generic_NCR5380_release_resources(struct Scsi_Host *instance) { NCR5380_local_declare(); NCR5380_setup(instance); + + if (instance->irq != SCSI_IRQ_NONE) + free_irq(instance->irq, NULL); + NCR5380_exit(instance); #ifndef CONFIG_SCSI_G_NCR5380_MEM release_region(instance->NCR5380_instance_name, instance->n_io_port); @@ -508,8 +512,6 @@ int generic_NCR5380_release_resources(struct Scsi_Host *instance) release_mem_region(instance->NCR5380_instance_name, NCR5380_region_size); #endif - if (instance->irq != SCSI_IRQ_NONE) - free_irq(instance->irq, NULL); return 0; } diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c index 6cb8fa2bd..c3a2418bb 100644 --- a/drivers/scsi/gdth.c +++ b/drivers/scsi/gdth.c @@ -571,12 +571,12 @@ static struct timer_list gdth_timer; #define BUS_L2P(a,b) ((b)>(a)->virt_bus ? (b-1):(b)) -#define gdth_readb(addr) readb((ulong)(addr)) -#define gdth_readw(addr) readw((ulong)(addr)) -#define gdth_readl(addr) (ulong32)readl((ulong)(addr)) -#define gdth_writeb(b,addr) writeb((b),(ulong)(addr)) -#define gdth_writew(b,addr) writew((b),(ulong)(addr)) -#define gdth_writel(b,addr) writel((ulong32)(b),(ulong)(addr)) +#define gdth_readb(addr) readb(addr) +#define gdth_readw(addr) readw(addr) +#define gdth_readl(addr) readl(addr) +#define gdth_writeb(b,addr) writeb((b),(addr)) +#define gdth_writew(b,addr) writew((b),(addr)) +#define gdth_writel(b,addr) writel((b),(addr)) static unchar gdth_drq_tab[4] = {5,6,7,7}; /* DRQ table */ static unchar gdth_irq_tab[6] = {0,10,11,12,14,0}; /* IRQ table */ @@ -618,9 +618,6 @@ static unchar gdth_direction_tab[0x100] = { }; /* __initfunc, __initdata macros */ -#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) -#define __devinitdata -#endif #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) #define GDTH_INITFUNC(type, func) type __init func #include @@ -694,6 +691,7 @@ MODULE_PARM(force_dma32, "i"); MODULE_AUTHOR("Achim Leubner"); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,11) MODULE_LICENSE("GPL"); +MODULE_VERSION(GDTH_VERSION_STR); #endif #endif @@ -778,7 +776,7 @@ GDTH_INITFUNC(static int, gdth_search_eisa(ushort eisa_adr)) GDTH_INITFUNC(static int, gdth_search_isa(ulong32 bios_adr)) { - void *addr; + void __iomem *addr; ulong32 id; TRACE(("gdth_search_isa() bios adr. %x\n",bios_adr)); @@ -1053,7 +1051,7 @@ GDTH_INITFUNC(static int, gdth_init_eisa(ushort eisa_adr,gdth_ha_str *ha)) GDTH_INITFUNC(static int, gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha)) { - register gdt2_dpram_str *dp2_ptr; + register gdt2_dpram_str __iomem *dp2_ptr; int i; unchar irq_drq,prot_ver; ulong32 retries; @@ -1065,10 +1063,10 @@ GDTH_INITFUNC(static int, gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha)) printk("GDT-ISA: Initialization error (DPMEM remap error)\n"); return 0; } - dp2_ptr = (gdt2_dpram_str *)ha->brd; + dp2_ptr = ha->brd; gdth_writeb(1, &dp2_ptr->io.memlock); /* switch off write protection */ /* reset interface area */ - memset_io((char *)&dp2_ptr->u,0,sizeof(dp2_ptr->u)); + memset_io(&dp2_ptr->u, 0, sizeof(dp2_ptr->u)); if (gdth_readl(&dp2_ptr->u) != 0) { printk("GDT-ISA: Initialization error (DPMEM write error)\n"); iounmap(ha->brd); @@ -1153,9 +1151,9 @@ GDTH_INITFUNC(static int, gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha)) GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) { - register gdt6_dpram_str *dp6_ptr; - register gdt6c_dpram_str *dp6c_ptr; - register gdt6m_dpram_str *dp6m_ptr; + register gdt6_dpram_str __iomem *dp6_ptr; + register gdt6c_dpram_str __iomem *dp6c_ptr; + register gdt6m_dpram_str __iomem *dp6m_ptr; ulong32 retries; unchar prot_ver; ushort command; @@ -1183,7 +1181,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) return 0; } /* check and reset interface area */ - dp6_ptr = (gdt6_dpram_str *)ha->brd; + dp6_ptr = ha->brd; gdth_writel(DPMEM_MAGIC, &dp6_ptr->u); if (gdth_readl(&dp6_ptr->u) != DPMEM_MAGIC) { printk("GDT-PCI: Cannot access DPMEM at 0x%lx (shadowed?)\n", @@ -1208,7 +1206,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; } - dp6_ptr = (gdt6_dpram_str *)ha->brd; + dp6_ptr = ha->brd; gdth_writel(DPMEM_MAGIC, &dp6_ptr->u); if (gdth_readl(&dp6_ptr->u) == DPMEM_MAGIC) { printk("GDT-PCI: Use free address at 0x%x\n", i); @@ -1222,7 +1220,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) return 0; } } - memset_io((char *)&dp6_ptr->u,0,sizeof(dp6_ptr->u)); + memset_io(&dp6_ptr->u, 0, sizeof(dp6_ptr->u)); if (gdth_readl(&dp6_ptr->u) != 0) { printk("GDT-PCI: Initialization error (DPMEM write error)\n"); iounmap(ha->brd); @@ -1293,7 +1291,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) return 0; } /* check and reset interface area */ - dp6c_ptr = (gdt6c_dpram_str *)ha->brd; + dp6c_ptr = ha->brd; gdth_writel(DPMEM_MAGIC, &dp6c_ptr->u); if (gdth_readl(&dp6c_ptr->u) != DPMEM_MAGIC) { printk("GDT-PCI: Cannot access DPMEM at 0x%lx (shadowed?)\n", @@ -1318,7 +1316,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; } - dp6c_ptr = (gdt6c_dpram_str *)ha->brd; + dp6c_ptr = ha->brd; gdth_writel(DPMEM_MAGIC, &dp6c_ptr->u); if (gdth_readl(&dp6c_ptr->u) == DPMEM_MAGIC) { printk("GDT-PCI: Use free address at 0x%x\n", i); @@ -1332,7 +1330,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) return 0; } } - memset_io((char *)&dp6c_ptr->u,0,sizeof(dp6c_ptr->u)); + memset_io(&dp6c_ptr->u, 0, sizeof(dp6c_ptr->u)); if (gdth_readl(&dp6c_ptr->u) != 0) { printk("GDT-PCI: Initialization error (DPMEM write error)\n"); iounmap(ha->brd); @@ -1428,13 +1426,14 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) pcistr->pdev->rom_address); #endif + dp6m_ptr = ha->brd; + /* Ensure that it is safe to access the non HW portions of DPMEM. * Aditional check needed for Xscale based RAID controllers */ - while( ((int)gdth_readb(&((gdt6m_dpram_str *)ha->brd)->i960r.sema0_reg) ) & 3 ) + while( ((int)gdth_readb(&dp6m_ptr->i960r.sema0_reg) ) & 3 ) gdth_delay(1); /* check and reset interface area */ - dp6m_ptr = (gdt6m_dpram_str *)ha->brd; gdth_writel(DPMEM_MAGIC, &dp6m_ptr->u); if (gdth_readl(&dp6m_ptr->u) != DPMEM_MAGIC) { printk("GDT-PCI: Cannot access DPMEM at 0x%lx (shadowed?)\n", @@ -1459,7 +1458,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) printk("GDT-PCI: Initialization error (DPMEM remap error)\n"); return 0; } - dp6m_ptr = (gdt6m_dpram_str *)ha->brd; + dp6m_ptr = ha->brd; gdth_writel(DPMEM_MAGIC, &dp6m_ptr->u); if (gdth_readl(&dp6m_ptr->u) == DPMEM_MAGIC) { printk("GDT-PCI: Use free address at 0x%x\n", i); @@ -1473,7 +1472,7 @@ GDTH_INITFUNC(static int, gdth_init_pci(gdth_pci_str *pcistr,gdth_ha_str *ha)) return 0; } } - memset_io((char *)&dp6m_ptr->u,0,sizeof(dp6m_ptr->u)); + memset_io(&dp6m_ptr->u, 0, sizeof(dp6m_ptr->u)); /* disable board interrupts, deinit services */ gdth_writeb(gdth_readb(&dp6m_ptr->i960r.edoor_en_reg) | 4, @@ -1556,9 +1555,9 @@ GDTH_INITFUNC(static void, gdth_enable_int(int hanum)) { gdth_ha_str *ha; ulong flags; - gdt2_dpram_str *dp2_ptr; - gdt6_dpram_str *dp6_ptr; - gdt6m_dpram_str *dp6m_ptr; + gdt2_dpram_str __iomem *dp2_ptr; + gdt6_dpram_str __iomem *dp6_ptr; + gdt6m_dpram_str __iomem *dp6m_ptr; TRACE(("gdth_enable_int() hanum %d\n",hanum)); ha = HADATA(gdth_ctr_tab[hanum]); @@ -1569,12 +1568,12 @@ GDTH_INITFUNC(static void, gdth_enable_int(int hanum)) outb(0xff, ha->bmic + EDENABREG); outb(0x01, ha->bmic + EINTENABREG); } else if (ha->type == GDT_ISA) { - dp2_ptr = (gdt2_dpram_str *)ha->brd; + dp2_ptr = ha->brd; gdth_writeb(1, &dp2_ptr->io.irqdel); gdth_writeb(0, &dp2_ptr->u.ic.Cmd_Index); gdth_writeb(1, &dp2_ptr->io.irqen); } else if (ha->type == GDT_PCI) { - dp6_ptr = (gdt6_dpram_str *)ha->brd; + dp6_ptr = ha->brd; gdth_writeb(1, &dp6_ptr->io.irqdel); gdth_writeb(0, &dp6_ptr->u.ic.Cmd_Index); gdth_writeb(1, &dp6_ptr->io.irqen); @@ -1582,7 +1581,7 @@ GDTH_INITFUNC(static void, gdth_enable_int(int hanum)) outb(0xff, PTR2USHORT(&ha->plx->edoor_reg)); outb(0x03, PTR2USHORT(&ha->plx->control1)); } else if (ha->type == GDT_PCIMPR) { - dp6m_ptr = (gdt6m_dpram_str *)ha->brd; + dp6m_ptr = ha->brd; gdth_writeb(0xff, &dp6m_ptr->i960r.edoor_reg); gdth_writeb(gdth_readb(&dp6m_ptr->i960r.edoor_en_reg) & ~4, &dp6m_ptr->i960r.edoor_en_reg); @@ -1608,15 +1607,15 @@ static int gdth_get_status(unchar *pIStatus,int irq) *pIStatus = inb((ushort)ha->bmic + EDOORREG); else if (ha->type == GDT_ISA) *pIStatus = - gdth_readb(&((gdt2_dpram_str *)ha->brd)->u.ic.Cmd_Index); + gdth_readb(&((gdt2_dpram_str __iomem *)ha->brd)->u.ic.Cmd_Index); else if (ha->type == GDT_PCI) *pIStatus = - gdth_readb(&((gdt6_dpram_str *)ha->brd)->u.ic.Cmd_Index); + gdth_readb(&((gdt6_dpram_str __iomem *)ha->brd)->u.ic.Cmd_Index); else if (ha->type == GDT_PCINEW) *pIStatus = inb(PTR2USHORT(&ha->plx->edoor_reg)); else if (ha->type == GDT_PCIMPR) *pIStatus = - gdth_readb(&((gdt6m_dpram_str *)ha->brd)->i960r.edoor_reg); + gdth_readb(&((gdt6m_dpram_str __iomem *)ha->brd)->i960r.edoor_reg); if (*pIStatus) return i; /* board found */ @@ -1636,14 +1635,14 @@ static int gdth_test_busy(int hanum) if (ha->type == GDT_EISA) gdtsema0 = (int)inb(ha->bmic + SEMA0REG); else if (ha->type == GDT_ISA) - gdtsema0 = (int)gdth_readb(&((gdt2_dpram_str *)ha->brd)->u.ic.Sema0); + gdtsema0 = (int)gdth_readb(&((gdt2_dpram_str __iomem *)ha->brd)->u.ic.Sema0); else if (ha->type == GDT_PCI) - gdtsema0 = (int)gdth_readb(&((gdt6_dpram_str *)ha->brd)->u.ic.Sema0); + gdtsema0 = (int)gdth_readb(&((gdt6_dpram_str __iomem *)ha->brd)->u.ic.Sema0); else if (ha->type == GDT_PCINEW) gdtsema0 = (int)inb(PTR2USHORT(&ha->plx->sema0_reg)); else if (ha->type == GDT_PCIMPR) gdtsema0 = - (int)gdth_readb(&((gdt6m_dpram_str *)ha->brd)->i960r.sema0_reg); + (int)gdth_readb(&((gdt6m_dpram_str __iomem *)ha->brd)->i960r.sema0_reg); return (gdtsema0 & 1); } @@ -1679,13 +1678,13 @@ static void gdth_set_sema0(int hanum) if (ha->type == GDT_EISA) { outb(1, ha->bmic + SEMA0REG); } else if (ha->type == GDT_ISA) { - gdth_writeb(1, &((gdt2_dpram_str *)ha->brd)->u.ic.Sema0); + gdth_writeb(1, &((gdt2_dpram_str __iomem *)ha->brd)->u.ic.Sema0); } else if (ha->type == GDT_PCI) { - gdth_writeb(1, &((gdt6_dpram_str *)ha->brd)->u.ic.Sema0); + gdth_writeb(1, &((gdt6_dpram_str __iomem *)ha->brd)->u.ic.Sema0); } else if (ha->type == GDT_PCINEW) { outb(1, PTR2USHORT(&ha->plx->sema0_reg)); } else if (ha->type == GDT_PCIMPR) { - gdth_writeb(1, &((gdt6m_dpram_str *)ha->brd)->i960r.sema0_reg); + gdth_writeb(1, &((gdt6m_dpram_str __iomem *)ha->brd)->i960r.sema0_reg); } } @@ -1694,10 +1693,10 @@ static void gdth_copy_command(int hanum) { register gdth_ha_str *ha; register gdth_cmd_str *cmd_ptr; - register gdt6m_dpram_str *dp6m_ptr; - register gdt6c_dpram_str *dp6c_ptr; - gdt6_dpram_str *dp6_ptr; - gdt2_dpram_str *dp2_ptr; + register gdt6m_dpram_str __iomem *dp6m_ptr; + register gdt6c_dpram_str __iomem *dp6c_ptr; + gdt6_dpram_str __iomem *dp6_ptr; + gdt2_dpram_str __iomem *dp2_ptr; ushort cp_count,dp_offset,cmd_no; TRACE(("gdth_copy_command() hanum %d\n",hanum)); @@ -1720,28 +1719,28 @@ static void gdth_copy_command(int hanum) /* set offset and service, copy command to DPMEM */ if (ha->type == GDT_ISA) { - dp2_ptr = (gdt2_dpram_str *)ha->brd; + dp2_ptr = ha->brd; gdth_writew(dp_offset + DPMEM_COMMAND_OFFSET, &dp2_ptr->u.ic.comm_queue[cmd_no].offset); gdth_writew((ushort)cmd_ptr->Service, &dp2_ptr->u.ic.comm_queue[cmd_no].serv_id); memcpy_toio(&dp2_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); } else if (ha->type == GDT_PCI) { - dp6_ptr = (gdt6_dpram_str *)ha->brd; + dp6_ptr = ha->brd; gdth_writew(dp_offset + DPMEM_COMMAND_OFFSET, &dp6_ptr->u.ic.comm_queue[cmd_no].offset); gdth_writew((ushort)cmd_ptr->Service, &dp6_ptr->u.ic.comm_queue[cmd_no].serv_id); memcpy_toio(&dp6_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); } else if (ha->type == GDT_PCINEW) { - dp6c_ptr = (gdt6c_dpram_str *)ha->brd; + dp6c_ptr = ha->brd; gdth_writew(dp_offset + DPMEM_COMMAND_OFFSET, &dp6c_ptr->u.ic.comm_queue[cmd_no].offset); gdth_writew((ushort)cmd_ptr->Service, &dp6c_ptr->u.ic.comm_queue[cmd_no].serv_id); memcpy_toio(&dp6c_ptr->u.ic.gdt_dpr_cmd[dp_offset],cmd_ptr,cp_count); } else if (ha->type == GDT_PCIMPR) { - dp6m_ptr = (gdt6m_dpram_str *)ha->brd; + dp6m_ptr = ha->brd; gdth_writew(dp_offset + DPMEM_COMMAND_OFFSET, &dp6m_ptr->u.ic.comm_queue[cmd_no].offset); gdth_writew((ushort)cmd_ptr->Service, @@ -1780,13 +1779,13 @@ static void gdth_release_event(int hanum) outl(ha->ccb_phys, ha->bmic + MAILBOXREG); outb(ha->pccb->Service, ha->bmic + LDOORREG); } else if (ha->type == GDT_ISA) { - gdth_writeb(0, &((gdt2_dpram_str *)ha->brd)->io.event); + gdth_writeb(0, &((gdt2_dpram_str __iomem *)ha->brd)->io.event); } else if (ha->type == GDT_PCI) { - gdth_writeb(0, &((gdt6_dpram_str *)ha->brd)->io.event); + gdth_writeb(0, &((gdt6_dpram_str __iomem *)ha->brd)->io.event); } else if (ha->type == GDT_PCINEW) { outb(1, PTR2USHORT(&ha->plx->ldoor_reg)); } else if (ha->type == GDT_PCIMPR) { - gdth_writeb(1, &((gdt6m_dpram_str *)ha->brd)->i960r.ldoor_reg); + gdth_writeb(1, &((gdt6m_dpram_str __iomem *)ha->brd)->i960r.ldoor_reg); } } @@ -3419,7 +3418,7 @@ static gdth_evt_str *gdth_store_event(gdth_ha_str *ha, ushort source, /* no GDTH_LOCK_HA() ! */ TRACE2(("gdth_store_event() source %d idx %d\n", source, idx)); if (source == 0) /* no source -> no event */ - return 0; + return NULL; if (ebuffer[elastidx].event_source == source && ebuffer[elastidx].event_idx == idx && @@ -3538,9 +3537,9 @@ static void gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) #endif { register gdth_ha_str *ha; - gdt6m_dpram_str *dp6m_ptr = NULL; - gdt6_dpram_str *dp6_ptr; - gdt2_dpram_str *dp2_ptr; + gdt6m_dpram_str __iomem *dp6m_ptr = NULL; + gdt6_dpram_str __iomem *dp6_ptr; + gdt2_dpram_str __iomem *dp2_ptr; Scsi_Cmnd *scp; int hanum, rval, i; unchar IStatus; @@ -3619,7 +3618,7 @@ static void gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) outb(0xff, ha->bmic + EDOORREG); /* acknowledge interrupt */ outb(0x00, ha->bmic + SEMA1REG); /* reset status semaphore */ } else if (ha->type == GDT_ISA) { - dp2_ptr = (gdt2_dpram_str *)ha->brd; + dp2_ptr = ha->brd; if (IStatus & 0x80) { /* error flag */ IStatus &= ~0x80; ha->status = gdth_readw(&dp2_ptr->u.ic.Status); @@ -3634,7 +3633,7 @@ static void gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) gdth_writeb(0, &dp2_ptr->u.ic.Cmd_Index);/* reset command index */ gdth_writeb(0, &dp2_ptr->io.Sema1); /* reset status semaphore */ } else if (ha->type == GDT_PCI) { - dp6_ptr = (gdt6_dpram_str *)ha->brd; + dp6_ptr = ha->brd; if (IStatus & 0x80) { /* error flag */ IStatus &= ~0x80; ha->status = gdth_readw(&dp6_ptr->u.ic.Status); @@ -3662,7 +3661,7 @@ static void gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) outb(0xff, PTR2USHORT(&ha->plx->edoor_reg)); outb(0x00, PTR2USHORT(&ha->plx->sema1_reg)); } else if (ha->type == GDT_PCIMPR) { - dp6m_ptr = (gdt6m_dpram_str *)ha->brd; + dp6m_ptr = ha->brd; if (IStatus & 0x80) { /* error flag */ IStatus &= ~0x80; #ifdef INT_COAL @@ -3692,10 +3691,10 @@ static void gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) if (ha->service != SCREENSERVICE && (ha->fw_vers & 0xff) >= 0x1a) { ha->dvr.severity = gdth_readb - (&((gdt6m_dpram_str *)ha->brd)->i960r.severity); + (&((gdt6m_dpram_str __iomem *)ha->brd)->i960r.severity); for (i = 0; i < 256; ++i) { ha->dvr.event_string[i] = gdth_readb - (&((gdt6m_dpram_str *)ha->brd)->i960r.evt_str[i]); + (&((gdt6m_dpram_str __iomem *)ha->brd)->i960r.evt_str[i]); if (ha->dvr.event_string[i] == 0) break; } diff --git a/drivers/scsi/gdth.h b/drivers/scsi/gdth.h index 78a93cbac..bf269f05e 100644 --- a/drivers/scsi/gdth.h +++ b/drivers/scsi/gdth.h @@ -868,7 +868,7 @@ typedef struct { ushort raw_feat; /* feat. raw service (s/g,..)*/ ushort screen_feat; /* feat. raw service (s/g,..)*/ ushort bmic; /* BMIC address (EISA) */ - void *brd; /* DPRAM address */ + void __iomem *brd; /* DPRAM address */ ulong32 brd_phys; /* slot number/BIOS address */ gdt6c_plx_regs *plx; /* PLX regs (new PCI contr.) */ gdth_cmd_str *pccb; /* address command structure */ diff --git a/drivers/scsi/hosts.c b/drivers/scsi/hosts.c index 12c5245c2..8d8cc698b 100644 --- a/drivers/scsi/hosts.c +++ b/drivers/scsi/hosts.c @@ -50,11 +50,6 @@ static struct class shost_class = { .release = scsi_host_cls_release, }; -static int scsi_device_cancel_cb(struct device *dev, void *data) -{ - return scsi_device_cancel(to_scsi_device(dev), *(int *)data); -} - /** * scsi_host_cancel - cancel outstanding IO to this host * @shost: pointer to struct Scsi_Host @@ -62,9 +57,12 @@ static int scsi_device_cancel_cb(struct device *dev, void *data) **/ void scsi_host_cancel(struct Scsi_Host *shost, int recovery) { + struct scsi_device *sdev; + set_bit(SHOST_CANCEL, &shost->shost_state); - device_for_each_child(&shost->shost_gendev, &recovery, - scsi_device_cancel_cb); + shost_for_each_device(sdev, shost) { + scsi_device_cancel(sdev, recovery); + } wait_event(shost->host_wait, (!test_bit(SHOST_RECOVERY, &shost->shost_state))); } @@ -75,13 +73,17 @@ void scsi_host_cancel(struct Scsi_Host *shost, int recovery) **/ void scsi_remove_host(struct Scsi_Host *shost) { + scsi_forget_host(shost); scsi_host_cancel(shost, 0); scsi_proc_host_rm(shost); - scsi_forget_host(shost); set_bit(SHOST_DEL, &shost->shost_state); + if (shost->transportt->host_destroy) + shost->transportt->host_destroy(shost); class_device_unregister(&shost->shost_classdev); + if (shost->transport_classdev.class) + class_device_unregister(&shost->transport_classdev); device_del(&shost->shost_gendev); } @@ -96,7 +98,7 @@ void scsi_remove_host(struct Scsi_Host *shost) int scsi_add_host(struct Scsi_Host *shost, struct device *dev) { struct scsi_host_template *sht = shost->hostt; - int error; + int error = -EINVAL; printk(KERN_INFO "scsi%d : %s\n", shost->host_no, sht->info ? sht->info(shost) : sht->name); @@ -104,7 +106,7 @@ int scsi_add_host(struct Scsi_Host *shost, struct device *dev) if (!shost->can_queue) { printk(KERN_ERR "%s: can_queue = 0 no longer supported\n", sht->name); - return -EINVAL; + goto out; } if (!shost->shost_gendev.parent) @@ -123,13 +125,24 @@ int scsi_add_host(struct Scsi_Host *shost, struct device *dev) get_device(&shost->shost_gendev); + if (shost->transportt->host_size && + (shost->shost_data = kmalloc(shost->transportt->host_size, + GFP_KERNEL)) == NULL) + goto out_del_classdev; + + if (shost->transportt->host_setup) + shost->transportt->host_setup(shost); + error = scsi_sysfs_add_host(shost); if (error) - goto out_del_classdev; + goto out_destroy_host; scsi_proc_host_add(shost); return error; + out_destroy_host: + if (shost->transportt->host_destroy) + shost->transportt->host_destroy(shost); out_del_classdev: class_device_del(&shost->shost_classdev); out_del_gendev: @@ -154,6 +167,7 @@ static void scsi_host_dev_release(struct device *dev) scsi_proc_hostdir_rm(shost->hostt); scsi_destroy_command_freelist(shost); + kfree(shost->shost_data); /* * Some drivers (eg aha1542) do scsi_register()/scsi_unregister() @@ -221,10 +235,8 @@ struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize) shost->max_id = 8; shost->max_lun = 8; - /* Give each shost a default transportt if the driver - * doesn't yet support Transport Attributes */ - if (!shost->transportt) - shost->transportt = &blank_transport_template; + /* Give each shost a default transportt */ + shost->transportt = &blank_transport_template; /* * All drivers right now should be able to handle 12 byte @@ -284,6 +296,7 @@ struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int privsize) goto fail_destroy_freelist; wait_for_completion(&complete); shost->eh_notify = NULL; + scsi_proc_hostdir_add(shost->hostt); return shost; diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 2d05c1461..5f07bbf71 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c @@ -936,7 +936,7 @@ abort: if (rq) kfree (rq); cmd->result = DID_ERROR << 16; done(cmd); - return 1; + return 0; } static int idescsi_eh_abort (Scsi_Cmnd *cmd) diff --git a/drivers/scsi/imm.c b/drivers/scsi/imm.c index 915d593fb..eda703d73 100644 --- a/drivers/scsi/imm.c +++ b/drivers/scsi/imm.c @@ -758,7 +758,7 @@ static void imm_interrupt(void *data) case DID_OK: break; case DID_NO_CONNECT: - printk("imm: no device at SCSI ID %i\n", cmd->target); + printk("imm: no device at SCSI ID %i\n", cmd->device->id); break; case DID_BUS_BUSY: printk("imm: BUS BUSY - EPP timeout detected\n"); diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c index dc110cc80..f96c49066 100644 --- a/drivers/scsi/ips.c +++ b/drivers/scsi/ips.c @@ -133,6 +133,10 @@ /* 6.10.00 - Remove 1G Addressing Limitations */ /* 6.11.xx - Get VersionInfo buffer off the stack ! DDTS 60401 */ /* 6.11.xx - Make Logical Drive Info structure safe for DMA DDTS 60639 */ +/* 7.10.xx - Add highmem_io flag in SCSI Templete for 2.4 kernels */ +/* - Fix path/name for scsi_hosts.h include for 2.6 kernels */ +/* - Fix sort order of 7k */ +/* - Remove 3 unused "inline" functions */ /*****************************************************************************/ /* @@ -176,7 +180,13 @@ #include #include "scsi.h" + +#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,5,0) +#include "hosts.h" +#else #include +#endif + #include "ips.h" #include @@ -191,14 +201,14 @@ #ifdef MODULE static char *ips = NULL; -MODULE_PARM(ips, "s"); +module_param(ips, charp, 0); #endif /* * DRIVER_VER */ -#define IPS_VERSION_HIGH "7.00" -#define IPS_VERSION_LOW ".15 " +#define IPS_VERSION_HIGH "7.10" +#define IPS_VERSION_LOW ".18 " #if !defined(__i386__) && !defined(__ia64__) && !defined(__x86_64__) #warning "This driver has only been tested on the x86/ia64/x86_64 platforms" @@ -215,7 +225,7 @@ MODULE_PARM(ips, "s"); #endif #else #define IPS_SG_ADDRESS(sg) (page_address((sg)->page) ? \ - page_address((sg)->page)+(sg)->offset : 0) + page_address((sg)->page)+(sg)->offset : NULL) #define IPS_LOCK_SAVE(lock,flags) do{spin_lock(lock);(void)flags;}while(0) #define IPS_UNLOCK_RESTORE(lock,flags) do{spin_unlock(lock);(void)flags;}while(0) #endif @@ -278,6 +288,9 @@ static Scsi_Host_Template ips_driver_template = { #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) .use_new_eh_code = 1, #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) && LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) + .highmem_io = 1, +#endif }; IPS_DEFINE_COMPAT_TABLE( Compatable ); /* Version Compatability Table */ @@ -474,21 +487,17 @@ static uint32_t ips_statupd_copperhead(ips_ha_t *); static uint32_t ips_statupd_copperhead_memio(ips_ha_t *); static uint32_t ips_statupd_morpheus(ips_ha_t *); static ips_scb_t *ips_getscb(ips_ha_t *); -static inline void ips_putq_scb_head(ips_scb_queue_t *, ips_scb_t *); -static inline void ips_putq_scb_tail(ips_scb_queue_t *, ips_scb_t *); -static inline void ips_putq_wait_head(ips_wait_queue_t *, Scsi_Cmnd *); -static inline void ips_putq_wait_tail(ips_wait_queue_t *, Scsi_Cmnd *); -static inline void ips_putq_copp_head(ips_copp_queue_t *, +static void ips_putq_scb_head(ips_scb_queue_t *, ips_scb_t *); +static void ips_putq_wait_tail(ips_wait_queue_t *, Scsi_Cmnd *); +static void ips_putq_copp_tail(ips_copp_queue_t *, ips_copp_wait_item_t *); -static inline void ips_putq_copp_tail(ips_copp_queue_t *, - ips_copp_wait_item_t *); -static inline ips_scb_t *ips_removeq_scb_head(ips_scb_queue_t *); -static inline ips_scb_t *ips_removeq_scb(ips_scb_queue_t *, ips_scb_t *); -static inline Scsi_Cmnd *ips_removeq_wait_head(ips_wait_queue_t *); -static inline Scsi_Cmnd *ips_removeq_wait(ips_wait_queue_t *, Scsi_Cmnd *); -static inline ips_copp_wait_item_t *ips_removeq_copp(ips_copp_queue_t *, +static ips_scb_t *ips_removeq_scb_head(ips_scb_queue_t *); +static ips_scb_t *ips_removeq_scb(ips_scb_queue_t *, ips_scb_t *); +static Scsi_Cmnd *ips_removeq_wait_head(ips_wait_queue_t *); +static Scsi_Cmnd *ips_removeq_wait(ips_wait_queue_t *, Scsi_Cmnd *); +static ips_copp_wait_item_t *ips_removeq_copp(ips_copp_queue_t *, ips_copp_wait_item_t *); -static inline ips_copp_wait_item_t *ips_removeq_copp_head(ips_copp_queue_t *); +static ips_copp_wait_item_t *ips_removeq_copp_head(ips_copp_queue_t *); static int ips_is_passthru(Scsi_Cmnd *); static int ips_make_passthru(ips_ha_t *, Scsi_Cmnd *, ips_scb_t *, int); @@ -1885,7 +1894,7 @@ ips_flash_bios(ips_ha_t * ha, ips_passthru_t * pt, ips_scb_t * scb) /* Fill in a single scb sg_list element from an address */ /* return a -1 if a breakup occurred */ /****************************************************************************/ -static inline int +static int ips_fill_scb_sg_single(ips_ha_t * ha, dma_addr_t busaddr, ips_scb_t * scb, int indx, unsigned int e_len) { @@ -2950,7 +2959,7 @@ ips_next(ips_ha_t * ha, int intr) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline void +static void ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item) { METHOD_TRACE("ips_putq_scb_head", 1); @@ -2967,38 +2976,6 @@ ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item) queue->count++; } -/****************************************************************************/ -/* */ -/* Routine Name: ips_putq_scb_tail */ -/* */ -/* Routine Description: */ -/* */ -/* Add an item to the tail of the queue */ -/* */ -/* ASSUMED to be called from within the HA lock */ -/* */ -/****************************************************************************/ -static inline void -ips_putq_scb_tail(ips_scb_queue_t * queue, ips_scb_t * item) -{ - METHOD_TRACE("ips_putq_scb_tail", 1); - - if (!item) - return; - - item->q_next = NULL; - - if (queue->tail) - queue->tail->q_next = item; - - queue->tail = item; - - if (!queue->head) - queue->head = item; - - queue->count++; -} - /****************************************************************************/ /* */ /* Routine Name: ips_removeq_scb_head */ @@ -3010,7 +2987,7 @@ ips_putq_scb_tail(ips_scb_queue_t * queue, ips_scb_t * item) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline ips_scb_t * +static ips_scb_t * ips_removeq_scb_head(ips_scb_queue_t * queue) { ips_scb_t *item; @@ -3045,7 +3022,7 @@ ips_removeq_scb_head(ips_scb_queue_t * queue) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline ips_scb_t * +static ips_scb_t * ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item) { ips_scb_t *p; @@ -3080,34 +3057,6 @@ ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item) return (NULL); } -/****************************************************************************/ -/* */ -/* Routine Name: ips_putq_wait_head */ -/* */ -/* Routine Description: */ -/* */ -/* Add an item to the head of the queue */ -/* */ -/* ASSUMED to be called from within the HA lock */ -/* */ -/****************************************************************************/ -static inline void -ips_putq_wait_head(ips_wait_queue_t * queue, Scsi_Cmnd * item) -{ - METHOD_TRACE("ips_putq_wait_head", 1); - - if (!item) - return; - - item->host_scribble = (char *) queue->head; - queue->head = item; - - if (!queue->tail) - queue->tail = item; - - queue->count++; -} - /****************************************************************************/ /* */ /* Routine Name: ips_putq_wait_tail */ @@ -3119,7 +3068,7 @@ ips_putq_wait_head(ips_wait_queue_t * queue, Scsi_Cmnd * item) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline void +static void ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item) { METHOD_TRACE("ips_putq_wait_tail", 1); @@ -3151,7 +3100,7 @@ ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline Scsi_Cmnd * +static Scsi_Cmnd * ips_removeq_wait_head(ips_wait_queue_t * queue) { Scsi_Cmnd *item; @@ -3186,7 +3135,7 @@ ips_removeq_wait_head(ips_wait_queue_t * queue) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline Scsi_Cmnd * +static Scsi_Cmnd * ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item) { Scsi_Cmnd *p; @@ -3221,34 +3170,6 @@ ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item) return (NULL); } -/****************************************************************************/ -/* */ -/* Routine Name: ips_putq_copp_head */ -/* */ -/* Routine Description: */ -/* */ -/* Add an item to the head of the queue */ -/* */ -/* ASSUMED to be called from within the HA lock */ -/* */ -/****************************************************************************/ -static inline void -ips_putq_copp_head(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) -{ - METHOD_TRACE("ips_putq_copp_head", 1); - - if (!item) - return; - - item->next = queue->head; - queue->head = item; - - if (!queue->tail) - queue->tail = item; - - queue->count++; -} - /****************************************************************************/ /* */ /* Routine Name: ips_putq_copp_tail */ @@ -3260,7 +3181,7 @@ ips_putq_copp_head(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline void +static void ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) { METHOD_TRACE("ips_putq_copp_tail", 1); @@ -3292,7 +3213,7 @@ ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline ips_copp_wait_item_t * +static ips_copp_wait_item_t * ips_removeq_copp_head(ips_copp_queue_t * queue) { ips_copp_wait_item_t *item; @@ -3327,7 +3248,7 @@ ips_removeq_copp_head(ips_copp_queue_t * queue) /* ASSUMED to be called from within the HA lock */ /* */ /****************************************************************************/ -static inline ips_copp_wait_item_t * +static ips_copp_wait_item_t * ips_removeq_copp(ips_copp_queue_t * queue, ips_copp_wait_item_t * item) { ips_copp_wait_item_t *p; @@ -6946,8 +6867,8 @@ ips_abort_init(ips_ha_t * ha, int index) { ha->active = 0; ips_free(ha); - ips_ha[index] = 0; - ips_sh[index] = 0; + ips_ha[index] = NULL; + ips_sh[index] = NULL; return -1; } @@ -6996,7 +6917,6 @@ ips_order_controllers(void) for (j = position; j < ips_num_controllers; j++) { switch (ips_ha[j]->ad_type) { case IPS_ADTYPE_SERVERAID6M: - case IPS_ADTYPE_SERVERAID7k: case IPS_ADTYPE_SERVERAID7M: if (nvram->adapter_order[i] == 'M') { ips_shift_controllers(position, @@ -7017,6 +6937,7 @@ ips_order_controllers(void) case IPS_ADTYPE_SERVERAID6I: case IPS_ADTYPE_SERVERAID5I2: case IPS_ADTYPE_SERVERAID5I1: + case IPS_ADTYPE_SERVERAID7k: if (nvram->adapter_order[i] == 'S') { ips_shift_controllers(position, j); @@ -7254,8 +7175,8 @@ ips_init_phase1(struct pci_dev *pci_dev, int *indexPtr) int j; int index; dma_addr_t dma_address; - char *ioremap_ptr; - char *mem_ptr; + char __iomem *ioremap_ptr; + char __iomem *mem_ptr; uint32_t IsDead; METHOD_TRACE("ips_init_phase1", 1); @@ -7545,6 +7466,13 @@ ips_init_phase2(int index) MODULE_LICENSE("GPL"); #endif +MODULE_DESCRIPTION("IBM ServeRAID Adapter Driver " IPS_VER_STRING); + +#ifdef MODULE_VERSION +MODULE_VERSION(IPS_VER_STRING); +#endif + + /* * Overrides for Emacs so that we almost follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically diff --git a/drivers/scsi/ips.h b/drivers/scsi/ips.h index afa57b7e4..d1553a0a3 100644 --- a/drivers/scsi/ips.h +++ b/drivers/scsi/ips.h @@ -96,7 +96,11 @@ #endif #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) - typedef void irqreturn_t; + + #ifndef irqreturn_t + typedef void irqreturn_t; + #endif + #define IRQ_NONE #define IRQ_HANDLED #define IRQ_RETVAL(x) @@ -1113,8 +1117,8 @@ typedef struct ips_ha { uint32_t mem_addr; /* Memory mapped address */ uint32_t io_len; /* Size of IO Address */ uint32_t mem_len; /* Size of memory address */ - char *mem_ptr; /* Memory mapped Ptr */ - char *ioremap_ptr; /* ioremapped memory pointer */ + char __iomem *mem_ptr; /* Memory mapped Ptr */ + char __iomem *ioremap_ptr;/* ioremapped memory pointer */ ips_hw_func_t func; /* hw function pointers */ struct pci_dev *pcidev; /* PCI device handle */ char *flash_data; /* Save Area for flash data */ @@ -1210,13 +1214,13 @@ typedef struct { #define IPS_VER_MAJOR 7 #define IPS_VER_MAJOR_STRING "7" -#define IPS_VER_MINOR 00 -#define IPS_VER_MINOR_STRING "00" -#define IPS_VER_BUILD 15 -#define IPS_VER_BUILD_STRING "15" -#define IPS_VER_STRING "7.00.15" +#define IPS_VER_MINOR 10 +#define IPS_VER_MINOR_STRING "10" +#define IPS_VER_BUILD 18 +#define IPS_VER_BUILD_STRING "18" +#define IPS_VER_STRING "7.10.18" #define IPS_RELEASE_ID 0x00020000 -#define IPS_BUILD_IDENT 625 +#define IPS_BUILD_IDENT 731 #define IPS_LEGALCOPYRIGHT_STRING "(C) Copyright IBM Corp. 1994, 2002. All Rights Reserved." #define IPS_ADAPTECCOPYRIGHT_STRING "(c) Copyright Adaptec, Inc. 2002 to 2004. All Rights Reserved." #define IPS_DELLCOPYRIGHT_STRING "(c) Copyright Dell 2004. All Rights Reserved." @@ -1227,32 +1231,35 @@ typedef struct { #define IPS_VER_SERVERAID2 "2.88.13" #define IPS_VER_NAVAJO "2.88.13" #define IPS_VER_SERVERAID3 "6.10.24" -#define IPS_VER_SERVERAID4H "7.00.15" -#define IPS_VER_SERVERAID4MLx "7.00.15" -#define IPS_VER_SARASOTA "7.00.15" -#define IPS_VER_MARCO "7.00.15" -#define IPS_VER_SEBRING "7.00.15" +#define IPS_VER_SERVERAID4H "7.10.11" +#define IPS_VER_SERVERAID4MLx "7.10.18" +#define IPS_VER_SARASOTA "7.10.18" +#define IPS_VER_MARCO "7.10.18" +#define IPS_VER_SEBRING "7.10.18" +#define IPS_VER_KEYWEST "7.10.18" /* Compatability IDs for various adapters */ #define IPS_COMPAT_UNKNOWN "" -#define IPS_COMPAT_CURRENT "SB610" +#define IPS_COMPAT_CURRENT "KW710" #define IPS_COMPAT_SERVERAID1 "2.25.01" #define IPS_COMPAT_SERVERAID2 "2.88.13" #define IPS_COMPAT_NAVAJO "2.88.13" #define IPS_COMPAT_KIOWA "2.88.13" #define IPS_COMPAT_SERVERAID3H "SB610" #define IPS_COMPAT_SERVERAID3L "SB610" -#define IPS_COMPAT_SERVERAID4H "SB610" -#define IPS_COMPAT_SERVERAID4M "SB610" -#define IPS_COMPAT_SERVERAID4L "SB610" -#define IPS_COMPAT_SERVERAID4Mx "SB610" -#define IPS_COMPAT_SERVERAID4Lx "SB610" -#define IPS_COMPAT_SARASOTA "SB610" -#define IPS_COMPAT_MARCO "SB610" -#define IPS_COMPAT_SEBRING "SB610" -#define IPS_COMPAT_BIOS "SB610" - -#define IPS_COMPAT_MAX_ADAPTER_TYPE 16 +#define IPS_COMPAT_SERVERAID4H "KW710" +#define IPS_COMPAT_SERVERAID4M "KW710" +#define IPS_COMPAT_SERVERAID4L "KW710" +#define IPS_COMPAT_SERVERAID4Mx "KW710" +#define IPS_COMPAT_SERVERAID4Lx "KW710" +#define IPS_COMPAT_SARASOTA "KW710" +#define IPS_COMPAT_MARCO "KW710" +#define IPS_COMPAT_SEBRING "KW710" +#define IPS_COMPAT_TAMPA "KW710" +#define IPS_COMPAT_KEYWEST "KW710" +#define IPS_COMPAT_BIOS "KW710" + +#define IPS_COMPAT_MAX_ADAPTER_TYPE 18 #define IPS_COMPAT_ID_LENGTH 8 #define IPS_DEFINE_COMPAT_TABLE(tablename) \ @@ -1272,7 +1279,9 @@ typedef struct { IPS_COMPAT_SARASOTA, /* one-channel variety of SARASOTA */ \ IPS_COMPAT_SARASOTA, /* two-channel variety of SARASOTA */ \ IPS_COMPAT_MARCO, \ - IPS_COMPAT_SEBRING \ + IPS_COMPAT_SEBRING, \ + IPS_COMPAT_TAMPA, \ + IPS_COMPAT_KEYWEST \ } diff --git a/drivers/scsi/lasi700.c b/drivers/scsi/lasi700.c index 874010865..9f8683e37 100644 --- a/drivers/scsi/lasi700.c +++ b/drivers/scsi/lasi700.c @@ -50,6 +50,9 @@ #include #include +#include +#include +#include #include "lasi700.h" #include "53c700.h" diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index 7f2d11d87..64095d009 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c @@ -39,22 +39,27 @@ #include #include #include "scsi.h" +#include "scsi_priv.h" #include #include #include #include +#include #include "libata.h" static unsigned int ata_busy_sleep (struct ata_port *ap, unsigned long tmout_pat, unsigned long tmout); -static void __ata_dev_select (struct ata_port *ap, unsigned int device); -static void ata_host_set_pio(struct ata_port *ap); -static void ata_host_set_udma(struct ata_port *ap); -static void ata_dev_set_pio(struct ata_port *ap, unsigned int device); -static void ata_dev_set_udma(struct ata_port *ap, unsigned int device); static void ata_set_mode(struct ata_port *ap); +static void ata_dev_set_xfermode(struct ata_port *ap, struct ata_device *dev); +static unsigned int ata_get_mode_mask(struct ata_port *ap, int shift); +static int fgb(u32 bitmap); +static int ata_choose_xfer_mode(struct ata_port *ap, + u8 *xfer_mode_out, + unsigned int *xfer_shift_out); +static int ata_qc_complete_noop(struct ata_queued_cmd *qc, u8 drv_stat); +static void __ata_qc_complete(struct ata_queued_cmd *qc); static unsigned int ata_unique_id = 1; static struct workqueue_struct *ata_wq; @@ -62,19 +67,20 @@ static struct workqueue_struct *ata_wq; MODULE_AUTHOR("Jeff Garzik"); MODULE_DESCRIPTION("Library module for ATA devices"); MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); /** - * ata_tf_load_pio - send taskfile registers to host controller + * ata_tf_load - send taskfile registers to host controller * @ap: Port to which output is sent * @tf: ATA taskfile register set * - * Outputs ATA taskfile to standard ATA host controller using PIO. + * Outputs ATA taskfile to standard ATA host controller. * * LOCKING: * Inherited from caller. */ -void ata_tf_load_pio(struct ata_port *ap, struct ata_taskfile *tf) +static void ata_tf_load_pio(struct ata_port *ap, struct ata_taskfile *tf) { struct ata_ioports *ioaddr = &ap->ioaddr; unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; @@ -132,23 +138,23 @@ void ata_tf_load_pio(struct ata_port *ap, struct ata_taskfile *tf) * Inherited from caller. */ -void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf) +static void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf) { struct ata_ioports *ioaddr = &ap->ioaddr; unsigned int is_addr = tf->flags & ATA_TFLAG_ISADDR; if (tf->ctl != ap->last_ctl) { - writeb(tf->ctl, ap->ioaddr.ctl_addr); + writeb(tf->ctl, (void __iomem *) ap->ioaddr.ctl_addr); ap->last_ctl = tf->ctl; ata_wait_idle(ap); } if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) { - writeb(tf->hob_feature, (void *) ioaddr->feature_addr); - writeb(tf->hob_nsect, (void *) ioaddr->nsect_addr); - writeb(tf->hob_lbal, (void *) ioaddr->lbal_addr); - writeb(tf->hob_lbam, (void *) ioaddr->lbam_addr); - writeb(tf->hob_lbah, (void *) ioaddr->lbah_addr); + writeb(tf->hob_feature, (void __iomem *) ioaddr->feature_addr); + writeb(tf->hob_nsect, (void __iomem *) ioaddr->nsect_addr); + writeb(tf->hob_lbal, (void __iomem *) ioaddr->lbal_addr); + writeb(tf->hob_lbam, (void __iomem *) ioaddr->lbam_addr); + writeb(tf->hob_lbah, (void __iomem *) ioaddr->lbah_addr); VPRINTK("hob: feat 0x%X nsect 0x%X, lba 0x%X 0x%X 0x%X\n", tf->hob_feature, tf->hob_nsect, @@ -158,11 +164,11 @@ void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf) } if (is_addr) { - writeb(tf->feature, (void *) ioaddr->feature_addr); - writeb(tf->nsect, (void *) ioaddr->nsect_addr); - writeb(tf->lbal, (void *) ioaddr->lbal_addr); - writeb(tf->lbam, (void *) ioaddr->lbam_addr); - writeb(tf->lbah, (void *) ioaddr->lbah_addr); + writeb(tf->feature, (void __iomem *) ioaddr->feature_addr); + writeb(tf->nsect, (void __iomem *) ioaddr->nsect_addr); + writeb(tf->lbal, (void __iomem *) ioaddr->lbal_addr); + writeb(tf->lbam, (void __iomem *) ioaddr->lbam_addr); + writeb(tf->lbah, (void __iomem *) ioaddr->lbah_addr); VPRINTK("feat 0x%X nsect 0x%X lba 0x%X 0x%X 0x%X\n", tf->feature, tf->nsect, @@ -172,26 +178,34 @@ void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf) } if (tf->flags & ATA_TFLAG_DEVICE) { - writeb(tf->device, (void *) ioaddr->device_addr); + writeb(tf->device, (void __iomem *) ioaddr->device_addr); VPRINTK("device 0x%X\n", tf->device); } ata_wait_idle(ap); } +void ata_tf_load(struct ata_port *ap, struct ata_taskfile *tf) +{ + if (ap->flags & ATA_FLAG_MMIO) + ata_tf_load_mmio(ap, tf); + else + ata_tf_load_pio(ap, tf); +} + /** - * ata_exec_command_pio - issue ATA command to host controller + * ata_exec_command - issue ATA command to host controller * @ap: port to which command is being issued * @tf: ATA taskfile register set * - * Issues PIO write to ATA command register, with proper + * Issues PIO/MMIO write to ATA command register, with proper * synchronization with interrupt handler / other threads. * * LOCKING: * spin_lock_irqsave(host_set lock) */ -void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf) +static void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf) { DPRINTK("ata%u: cmd 0x%X\n", ap->id, tf->command); @@ -212,20 +226,28 @@ void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf) * spin_lock_irqsave(host_set lock) */ -void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf) +static void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf) { DPRINTK("ata%u: cmd 0x%X\n", ap->id, tf->command); - writeb(tf->command, (void *) ap->ioaddr.command_addr); + writeb(tf->command, (void __iomem *) ap->ioaddr.command_addr); ata_pause(ap); } +void ata_exec_command(struct ata_port *ap, struct ata_taskfile *tf) +{ + if (ap->flags & ATA_FLAG_MMIO) + ata_exec_command_mmio(ap, tf); + else + ata_exec_command_pio(ap, tf); +} + /** * ata_exec - issue ATA command to host controller * @ap: port to which command is being issued * @tf: ATA taskfile register set * - * Issues PIO write to ATA command register, with proper + * Issues PIO/MMIO write to ATA command register, with proper * synchronization with interrupt handler / other threads. * * LOCKING: @@ -248,7 +270,7 @@ static inline void ata_exec(struct ata_port *ap, struct ata_taskfile *tf) * @tf: ATA taskfile register set * * Issues ATA taskfile register set to ATA host controller, - * via PIO, with proper synchronization with interrupt handler and + * with proper synchronization with interrupt handler and * other threads. * * LOCKING: @@ -268,7 +290,7 @@ static void ata_tf_to_host(struct ata_port *ap, struct ata_taskfile *tf) * @tf: ATA taskfile register set * * Issues ATA taskfile register set to ATA host controller, - * via PIO, with proper synchronization with interrupt handler and + * with proper synchronization with interrupt handler and * other threads. * * LOCKING: @@ -282,18 +304,18 @@ void ata_tf_to_host_nolock(struct ata_port *ap, struct ata_taskfile *tf) } /** - * ata_tf_read_pio - input device's ATA taskfile shadow registers + * ata_tf_read - input device's ATA taskfile shadow registers * @ap: Port from which input is read * @tf: ATA taskfile register set for storing input * * Reads ATA taskfile registers for currently-selected device - * into @tf via PIO. + * into @tf. * * LOCKING: * Inherited from caller. */ -void ata_tf_read_pio(struct ata_port *ap, struct ata_taskfile *tf) +static void ata_tf_read_pio(struct ata_port *ap, struct ata_taskfile *tf) { struct ata_ioports *ioaddr = &ap->ioaddr; @@ -325,38 +347,46 @@ void ata_tf_read_pio(struct ata_port *ap, struct ata_taskfile *tf) * Inherited from caller. */ -void ata_tf_read_mmio(struct ata_port *ap, struct ata_taskfile *tf) +static void ata_tf_read_mmio(struct ata_port *ap, struct ata_taskfile *tf) { struct ata_ioports *ioaddr = &ap->ioaddr; - tf->nsect = readb((void *)ioaddr->nsect_addr); - tf->lbal = readb((void *)ioaddr->lbal_addr); - tf->lbam = readb((void *)ioaddr->lbam_addr); - tf->lbah = readb((void *)ioaddr->lbah_addr); - tf->device = readb((void *)ioaddr->device_addr); + tf->nsect = readb((void __iomem *)ioaddr->nsect_addr); + tf->lbal = readb((void __iomem *)ioaddr->lbal_addr); + tf->lbam = readb((void __iomem *)ioaddr->lbam_addr); + tf->lbah = readb((void __iomem *)ioaddr->lbah_addr); + tf->device = readb((void __iomem *)ioaddr->device_addr); if (tf->flags & ATA_TFLAG_LBA48) { - writeb(tf->ctl | ATA_HOB, ap->ioaddr.ctl_addr); - tf->hob_feature = readb((void *)ioaddr->error_addr); - tf->hob_nsect = readb((void *)ioaddr->nsect_addr); - tf->hob_lbal = readb((void *)ioaddr->lbal_addr); - tf->hob_lbam = readb((void *)ioaddr->lbam_addr); - tf->hob_lbah = readb((void *)ioaddr->lbah_addr); + writeb(tf->ctl | ATA_HOB, (void __iomem *) ap->ioaddr.ctl_addr); + tf->hob_feature = readb((void __iomem *)ioaddr->error_addr); + tf->hob_nsect = readb((void __iomem *)ioaddr->nsect_addr); + tf->hob_lbal = readb((void __iomem *)ioaddr->lbal_addr); + tf->hob_lbam = readb((void __iomem *)ioaddr->lbam_addr); + tf->hob_lbah = readb((void __iomem *)ioaddr->lbah_addr); } } +void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) +{ + if (ap->flags & ATA_FLAG_MMIO) + ata_tf_read_mmio(ap, tf); + else + ata_tf_read_pio(ap, tf); +} + /** - * ata_check_status_pio - Read device status reg & clear interrupt + * ata_check_status - Read device status reg & clear interrupt * @ap: port where the device is * * Reads ATA taskfile status register for currently-selected device - * via PIO and return it's value. This also clears pending interrupts + * and return it's value. This also clears pending interrupts * from this device * * LOCKING: * Inherited from caller. */ -u8 ata_check_status_pio(struct ata_port *ap) +static u8 ata_check_status_pio(struct ata_port *ap) { return inb(ap->ioaddr.status_addr); } @@ -372,9 +402,16 @@ u8 ata_check_status_pio(struct ata_port *ap) * LOCKING: * Inherited from caller. */ -u8 ata_check_status_mmio(struct ata_port *ap) +static u8 ata_check_status_mmio(struct ata_port *ap) +{ + return readb((void __iomem *) ap->ioaddr.status_addr); +} + +u8 ata_check_status(struct ata_port *ap) { - return readb((void *) ap->ioaddr.status_addr); + if (ap->flags & ATA_FLAG_MMIO) + return ata_check_status_mmio(ap); + return ata_check_status_pio(ap); } /** @@ -524,7 +561,7 @@ static void ata_dev_set_protocol(struct ata_device *dev) dev->write_cmd = (cmd >> 8) & 0xff; } -static const char * udma_str[] = { +static const char * xfer_mode_str[] = { "UDMA/16", "UDMA/25", "UDMA/33", @@ -533,6 +570,14 @@ static const char * udma_str[] = { "UDMA/100", "UDMA/133", "UDMA7", + "MWDMA0", + "MWDMA1", + "MWDMA2", + "PIO0", + "PIO1", + "PIO2", + "PIO3", + "PIO4", }; /** @@ -550,16 +595,24 @@ static const char * udma_str[] = { * @udma_mask, or the constant C string "". */ -static const char *ata_udma_string(unsigned int udma_mask) +static const char *ata_mode_string(unsigned int mask) { int i; - for (i = 7; i >= 0; i--) { - if (udma_mask & (1 << i)) - return udma_str[i]; - } + for (i = 7; i >= 0; i--) + if (mask & (1 << i)) + goto out; + for (i = ATA_SHIFT_MWDMA + 2; i >= ATA_SHIFT_MWDMA; i--) + if (mask & (1 << i)) + goto out; + for (i = ATA_SHIFT_PIO + 4; i >= ATA_SHIFT_PIO; i--) + if (mask & (1 << i)) + goto out; return ""; + +out: + return xfer_mode_str[i]; } /** @@ -586,7 +639,7 @@ static unsigned int ata_pio_devchk(struct ata_port *ap, struct ata_ioports *ioaddr = &ap->ioaddr; u8 nsect, lbal; - __ata_dev_select(ap, device); + ap->ops->dev_select(ap, device); outb(0x55, ioaddr->nsect_addr); outb(0xaa, ioaddr->lbal_addr); @@ -630,19 +683,19 @@ static unsigned int ata_mmio_devchk(struct ata_port *ap, struct ata_ioports *ioaddr = &ap->ioaddr; u8 nsect, lbal; - __ata_dev_select(ap, device); + ap->ops->dev_select(ap, device); - writeb(0x55, (void *) ioaddr->nsect_addr); - writeb(0xaa, (void *) ioaddr->lbal_addr); + writeb(0x55, (void __iomem *) ioaddr->nsect_addr); + writeb(0xaa, (void __iomem *) ioaddr->lbal_addr); - writeb(0xaa, (void *) ioaddr->nsect_addr); - writeb(0x55, (void *) ioaddr->lbal_addr); + writeb(0xaa, (void __iomem *) ioaddr->nsect_addr); + writeb(0x55, (void __iomem *) ioaddr->lbal_addr); - writeb(0x55, (void *) ioaddr->nsect_addr); - writeb(0xaa, (void *) ioaddr->lbal_addr); + writeb(0x55, (void __iomem *) ioaddr->nsect_addr); + writeb(0xaa, (void __iomem *) ioaddr->lbal_addr); - nsect = readb((void *) ioaddr->nsect_addr); - lbal = readb((void *) ioaddr->lbal_addr); + nsect = readb((void __iomem *) ioaddr->nsect_addr); + lbal = readb((void __iomem *) ioaddr->lbal_addr); if ((nsect == 0x55) && (lbal == 0xaa)) return 1; /* we found a device */ @@ -651,7 +704,7 @@ static unsigned int ata_mmio_devchk(struct ata_port *ap, } /** - * ata_dev_devchk - PATA device presence detection + * ata_devchk - PATA device presence detection * @ap: ATA channel to examine * @device: Device to examine (starting at zero) * @@ -663,7 +716,7 @@ static unsigned int ata_mmio_devchk(struct ata_port *ap, * caller. */ -static unsigned int ata_dev_devchk(struct ata_port *ap, +static unsigned int ata_devchk(struct ata_port *ap, unsigned int device) { if (ap->flags & ATA_FLAG_MMIO) @@ -687,7 +740,7 @@ static unsigned int ata_dev_devchk(struct ata_port *ap, * the event of failure. */ -static unsigned int ata_dev_classify(struct ata_taskfile *tf) +unsigned int ata_dev_classify(struct ata_taskfile *tf) { /* Apple's open source Darwin code hints that some devices only * put a proper signature into the LBA mid/high registers, @@ -735,7 +788,7 @@ static u8 ata_dev_try_classify(struct ata_port *ap, unsigned int device) unsigned int class; u8 err; - __ata_dev_select(ap, device); + ap->ops->dev_select(ap, device); memset(&tf, 0, sizeof(tf)); @@ -779,17 +832,17 @@ static u8 ata_dev_try_classify(struct ata_port *ap, unsigned int device) * caller. */ -void ata_dev_id_string(struct ata_device *dev, unsigned char *s, +void ata_dev_id_string(u16 *id, unsigned char *s, unsigned int ofs, unsigned int len) { unsigned int c; while (len > 0) { - c = dev->id[ofs] >> 8; + c = id[ofs] >> 8; *s = c; s++; - c = dev->id[ofs] & 0xff; + c = id[ofs] & 0xff; *s = c; s++; @@ -798,8 +851,12 @@ void ata_dev_id_string(struct ata_device *dev, unsigned char *s, } } +void ata_noop_dev_select (struct ata_port *ap, unsigned int device) +{ +} + /** - * __ata_dev_select - Select device 0/1 on ATA bus + * ata_std_dev_select - Select device 0/1 on ATA bus * @ap: ATA channel to manipulate * @device: ATA device (numbered from zero) to select * @@ -811,7 +868,7 @@ void ata_dev_id_string(struct ata_device *dev, unsigned char *s, * caller. */ -static void __ata_dev_select (struct ata_port *ap, unsigned int device) +void ata_std_dev_select (struct ata_port *ap, unsigned int device) { u8 tmp; @@ -821,7 +878,7 @@ static void __ata_dev_select (struct ata_port *ap, unsigned int device) tmp = ATA_DEVICE_OBS | ATA_DEV1; if (ap->flags & ATA_FLAG_MMIO) { - writeb(tmp, (void *) ap->ioaddr.device_addr); + writeb(tmp, (void __iomem *) ap->ioaddr.device_addr); } else { outb(tmp, ap->ioaddr.device_addr); } @@ -839,7 +896,7 @@ static void __ata_dev_select (struct ata_port *ap, unsigned int device) * make either device 0, or device 1, active on the * ATA channel. * - * This is a high-level version of __ata_dev_select(), + * This is a high-level version of ata_std_dev_select(), * which additionally provides the services of inserting * the proper pauses and status polling, where needed. * @@ -856,7 +913,7 @@ void ata_dev_select(struct ata_port *ap, unsigned int device, if (wait) ata_wait_idle(ap); - __ata_dev_select(ap, device); + ap->ops->dev_select(ap, device); if (wait) { if (can_sleep && ap->device[device].class == ATA_DEV_ATAPI) @@ -930,10 +987,14 @@ static void ata_dev_identify(struct ata_port *ap, unsigned int device) { struct ata_device *dev = &ap->device[device]; unsigned int i; - u16 tmp, udma_modes; + u16 tmp; + unsigned long xfer_modes; u8 status; - struct ata_taskfile tf; unsigned int using_edd; + DECLARE_COMPLETION(wait); + struct ata_queued_cmd *qc; + unsigned long flags; + int rc; if (!ata_dev_present(dev)) { DPRINTK("ENTER/EXIT (host %u, dev %u) -- nodev\n", @@ -953,27 +1014,34 @@ static void ata_dev_identify(struct ata_port *ap, unsigned int device) ata_dev_select(ap, device, 1, 1); /* select device 0/1 */ -retry: - ata_tf_init(ap, &tf, device); - tf.ctl |= ATA_NIEN; - tf.protocol = ATA_PROT_PIO; + qc = ata_qc_new_init(ap, dev); + BUG_ON(qc == NULL); + + ata_sg_init_one(qc, dev->id, sizeof(dev->id)); + qc->pci_dma_dir = PCI_DMA_FROMDEVICE; + qc->tf.protocol = ATA_PROT_PIO; + qc->nsect = 1; +retry: if (dev->class == ATA_DEV_ATA) { - tf.command = ATA_CMD_ID_ATA; + qc->tf.command = ATA_CMD_ID_ATA; DPRINTK("do ATA identify\n"); } else { - tf.command = ATA_CMD_ID_ATAPI; + qc->tf.command = ATA_CMD_ID_ATAPI; DPRINTK("do ATAPI identify\n"); } - ata_tf_to_host(ap, &tf); + qc->waiting = &wait; + qc->complete_fn = ata_qc_complete_noop; - /* crazy ATAPI devices... */ - if (dev->class == ATA_DEV_ATAPI) - msleep(150); + spin_lock_irqsave(&ap->host_set->lock, flags); + rc = ata_qc_issue(qc); + spin_unlock_irqrestore(&ap->host_set->lock, flags); - if (ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT)) + if (rc) goto err_out; + else + wait_for_completion(&wait); status = ata_chk_status(ap); if (status & ATA_ERR) { @@ -988,44 +1056,21 @@ retry: * ATA software reset (SRST, the default) does not appear * to have this problem. */ - if ((using_edd) && (tf.command == ATA_CMD_ID_ATA)) { + if ((using_edd) && (qc->tf.command == ATA_CMD_ID_ATA)) { u8 err = ata_chk_err(ap); if (err & ATA_ABORTED) { dev->class = ATA_DEV_ATAPI; + qc->cursg = 0; + qc->cursg_ofs = 0; + qc->cursect = 0; + qc->nsect = 1; goto retry; } } goto err_out; } - /* make sure we have BSY=0, DRQ=1 */ - if ((status & ATA_DRQ) == 0) { - printk(KERN_WARNING "ata%u: dev %u (ATA%s?) not returning id page (0x%x)\n", - ap->id, device, - dev->class == ATA_DEV_ATA ? "" : "PI", - status); - goto err_out; - } - - /* read IDENTIFY [X] DEVICE page */ - if (ap->flags & ATA_FLAG_MMIO) { - for (i = 0; i < ATA_ID_WORDS; i++) - dev->id[i] = readw((void *)ap->ioaddr.data_addr); - } else - for (i = 0; i < ATA_ID_WORDS; i++) - dev->id[i] = inw(ap->ioaddr.data_addr); - - /* wait for host_idle */ - status = ata_wait_idle(ap); - if (status & (ATA_BUSY | ATA_DRQ)) { - printk(KERN_WARNING "ata%u: dev %u (ATA%s?) error after id page (0x%x)\n", - ap->id, device, - dev->class == ATA_DEV_ATA ? "" : "PI", - status); - goto err_out; - } - - ata_irq_on(ap); /* re-enable interrupts */ + swap_buf_le16(dev->id, ATA_ID_WORDS); /* print device capabilities */ printk(KERN_DEBUG "ata%u: dev %u cfg " @@ -1040,24 +1085,25 @@ retry: */ /* we require LBA and DMA support (bits 8 & 9 of word 49) */ - if (!ata_id_has_dma(dev) || !ata_id_has_lba(dev)) { + if (!ata_id_has_dma(dev->id) || !ata_id_has_lba(dev->id)) { printk(KERN_DEBUG "ata%u: no dma/lba\n", ap->id); goto err_out_nosup; } - /* we require UDMA support */ - udma_modes = - tmp = dev->id[ATA_ID_UDMA_MODES]; - if ((tmp & 0xff) == 0) { - printk(KERN_DEBUG "ata%u: no udma\n", ap->id); - goto err_out_nosup; + /* quick-n-dirty find max transfer mode; for printk only */ + xfer_modes = dev->id[ATA_ID_UDMA_MODES]; + if (!xfer_modes) + xfer_modes = (dev->id[ATA_ID_MWDMA_MODES]) << ATA_SHIFT_MWDMA; + if (!xfer_modes) { + xfer_modes = (dev->id[ATA_ID_PIO_MODES]) << (ATA_SHIFT_PIO + 3); + xfer_modes |= (0x7 << ATA_SHIFT_PIO); } ata_dump_id(dev); /* ATA-specific feature tests */ if (dev->class == ATA_DEV_ATA) { - if (!ata_id_is_ata(dev)) /* sanity check */ + if (!ata_id_is_ata(dev->id)) /* sanity check */ goto err_out_nosup; tmp = dev->id[ATA_ID_MAJOR_VER]; @@ -1071,11 +1117,11 @@ retry: goto err_out_nosup; } - if (ata_id_has_lba48(dev)) { + if (ata_id_has_lba48(dev->id)) { dev->flags |= ATA_DFLAG_LBA48; - dev->n_sectors = ata_id_u64(dev, 100); + dev->n_sectors = ata_id_u64(dev->id, 100); } else { - dev->n_sectors = ata_id_u32(dev, 60); + dev->n_sectors = ata_id_u32(dev->id, 60); } ap->host->max_cmd_len = 16; @@ -1083,25 +1129,28 @@ retry: /* print device info to dmesg */ printk(KERN_INFO "ata%u: dev %u ATA, max %s, %Lu sectors:%s\n", ap->id, device, - ata_udma_string(udma_modes), + ata_mode_string(xfer_modes), (unsigned long long)dev->n_sectors, dev->flags & ATA_DFLAG_LBA48 ? " lba48" : ""); } /* ATAPI-specific feature tests */ else { - if (ata_id_is_ata(dev)) /* sanity check */ + if (ata_id_is_ata(dev->id)) /* sanity check */ goto err_out_nosup; - /* see if 16-byte commands supported */ - tmp = dev->id[0] & 0x3; - if (tmp == 1) - ap->host->max_cmd_len = 16; + rc = atapi_cdb_len(dev->id); + if ((rc < 12) || (rc > ATAPI_CDB_LEN)) { + printk(KERN_WARNING "ata%u: unsupported CDB len\n", ap->id); + goto err_out_nosup; + } + ap->cdb_len = (unsigned int) rc; + ap->host->max_cmd_len = (unsigned char) ap->cdb_len; /* print device info to dmesg */ printk(KERN_INFO "ata%u: dev %u ATAPI, max %s\n", ap->id, device, - ata_udma_string(udma_modes)); + ata_mode_string(xfer_modes)); } DPRINTK("EXIT, drv_stat = 0x%x\n", ata_chk_status(ap)); @@ -1171,13 +1220,13 @@ void ata_port_probe(struct ata_port *ap) } /** - * sata_phy_reset - + * __sata_phy_reset - * @ap: * * LOCKING: * */ -void sata_phy_reset(struct ata_port *ap) +void __sata_phy_reset(struct ata_port *ap) { u32 sstatus; unsigned long timeout = jiffies + (HZ * 5); @@ -1215,6 +1264,21 @@ void sata_phy_reset(struct ata_port *ap) return; } + ap->cbl = ATA_CBL_SATA; +} + +/** + * __sata_phy_reset - + * @ap: + * + * LOCKING: + * + */ +void sata_phy_reset(struct ata_port *ap) +{ + __sata_phy_reset(ap); + if (ap->flags & ATA_FLAG_PORT_DISABLED) + return; ata_bus_reset(ap); } @@ -1232,6 +1296,101 @@ void ata_port_disable(struct ata_port *ap) ap->flags |= ATA_FLAG_PORT_DISABLED; } +static struct { + unsigned int shift; + u8 base; +} xfer_mode_classes[] = { + { ATA_SHIFT_UDMA, XFER_UDMA_0 }, + { ATA_SHIFT_MWDMA, XFER_MW_DMA_0 }, + { ATA_SHIFT_PIO, XFER_PIO_0 }, +}; + +static inline u8 base_from_shift(unsigned int shift) +{ + int i; + + for (i = 0; i < ARRAY_SIZE(xfer_mode_classes); i++) + if (xfer_mode_classes[i].shift == shift) + return xfer_mode_classes[i].base; + + return 0xff; +} + +static void ata_dev_set_mode(struct ata_port *ap, struct ata_device *dev) +{ + int ofs, idx; + u8 base; + + if (!ata_dev_present(dev) || (ap->flags & ATA_FLAG_PORT_DISABLED)) + return; + + if (dev->xfer_shift == ATA_SHIFT_PIO) + dev->flags |= ATA_DFLAG_PIO; + + ata_dev_set_xfermode(ap, dev); + + base = base_from_shift(dev->xfer_shift); + ofs = dev->xfer_mode - base; + idx = ofs + dev->xfer_shift; + WARN_ON(idx >= ARRAY_SIZE(xfer_mode_str)); + + DPRINTK("idx=%d xfer_shift=%u, xfer_mode=0x%x, base=0x%x, offset=%d\n", + idx, dev->xfer_shift, (int)dev->xfer_mode, (int)base, ofs); + + printk(KERN_INFO "ata%u: dev %u configured for %s\n", + ap->id, dev->devno, xfer_mode_str[idx]); +} + +static int ata_host_set_pio(struct ata_port *ap) +{ + unsigned int mask; + int x, i; + u8 base, xfer_mode; + + mask = ata_get_mode_mask(ap, ATA_SHIFT_PIO); + x = fgb(mask); + if (x < 0) { + printk(KERN_WARNING "ata%u: no PIO support\n", ap->id); + return -1; + } + + base = base_from_shift(ATA_SHIFT_PIO); + xfer_mode = base + x; + + DPRINTK("base 0x%x xfer_mode 0x%x mask 0x%x x %d\n", + (int)base, (int)xfer_mode, mask, x); + + for (i = 0; i < ATA_MAX_DEVICES; i++) { + struct ata_device *dev = &ap->device[i]; + if (ata_dev_present(dev)) { + dev->pio_mode = xfer_mode; + dev->xfer_mode = xfer_mode; + dev->xfer_shift = ATA_SHIFT_PIO; + if (ap->ops->set_piomode) + ap->ops->set_piomode(ap, dev); + } + } + + return 0; +} + +static void ata_host_set_dma(struct ata_port *ap, u8 xfer_mode, + unsigned int xfer_shift) +{ + int i; + + for (i = 0; i < ATA_MAX_DEVICES; i++) { + struct ata_device *dev = &ap->device[i]; + if (ata_dev_present(dev)) { + dev->dma_mode = xfer_mode; + dev->xfer_mode = xfer_mode; + dev->xfer_shift = xfer_shift; + if (ap->ops->set_dmamode) + ap->ops->set_dmamode(ap, dev); + } + } +} + /** * ata_set_mode - Program timings and issue SET FEATURES - XFER * @ap: port on which timings will be programmed @@ -1241,29 +1400,28 @@ void ata_port_disable(struct ata_port *ap) */ static void ata_set_mode(struct ata_port *ap) { - unsigned int force_pio, i; + unsigned int i, xfer_shift; + u8 xfer_mode; + int rc; - ata_host_set_pio(ap); - if (ap->flags & ATA_FLAG_PORT_DISABLED) - return; + /* step 1: always set host PIO timings */ + rc = ata_host_set_pio(ap); + if (rc) + goto err_out; - ata_host_set_udma(ap); - if (ap->flags & ATA_FLAG_PORT_DISABLED) - return; + /* step 2: choose the best data xfer mode */ + xfer_mode = xfer_shift = 0; + rc = ata_choose_xfer_mode(ap, &xfer_mode, &xfer_shift); + if (rc) + goto err_out; -#ifdef ATA_FORCE_PIO - force_pio = 1; -#else - force_pio = 0; -#endif + /* step 3: if that xfer mode isn't PIO, set host DMA timings */ + if (xfer_shift != ATA_SHIFT_PIO) + ata_host_set_dma(ap, xfer_mode, xfer_shift); - if (force_pio) { - ata_dev_set_pio(ap, 0); - ata_dev_set_pio(ap, 1); - } else { - ata_dev_set_udma(ap, 0); - ata_dev_set_udma(ap, 1); - } + /* step 4: update devices' xfer mode */ + ata_dev_set_mode(ap, &ap->device[0]); + ata_dev_set_mode(ap, &ap->device[1]); if (ap->flags & ATA_FLAG_PORT_DISABLED) return; @@ -1275,6 +1433,11 @@ static void ata_set_mode(struct ata_port *ap) struct ata_device *dev = &ap->device[i]; ata_dev_set_protocol(dev); } + + return; + +err_out: + ata_port_disable(ap); } /** @@ -1328,23 +1491,23 @@ static void ata_bus_post_reset(struct ata_port *ap, unsigned int devmask) unsigned int dev1 = devmask & (1 << 1); unsigned long timeout; - /* if device 0 was found in ata_dev_devchk, wait for its + /* if device 0 was found in ata_devchk, wait for its * BSY bit to clear */ if (dev0) ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT); - /* if device 1 was found in ata_dev_devchk, wait for + /* if device 1 was found in ata_devchk, wait for * register access, then wait for BSY to clear */ timeout = jiffies + ATA_TMOUT_BOOT; while (dev1) { u8 nsect, lbal; - __ata_dev_select(ap, 1); + ap->ops->dev_select(ap, 1); if (ap->flags & ATA_FLAG_MMIO) { - nsect = readb((void *) ioaddr->nsect_addr); - lbal = readb((void *) ioaddr->lbal_addr); + nsect = readb((void __iomem *) ioaddr->nsect_addr); + lbal = readb((void __iomem *) ioaddr->lbal_addr); } else { nsect = inb(ioaddr->nsect_addr); lbal = inb(ioaddr->lbal_addr); @@ -1361,11 +1524,11 @@ static void ata_bus_post_reset(struct ata_port *ap, unsigned int devmask) ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT); /* is all this really necessary? */ - __ata_dev_select(ap, 0); + ap->ops->dev_select(ap, 0); if (dev1) - __ata_dev_select(ap, 1); + ap->ops->dev_select(ap, 1); if (dev0) - __ata_dev_select(ap, 0); + ap->ops->dev_select(ap, 0); } /** @@ -1408,11 +1571,11 @@ static unsigned int ata_bus_softreset(struct ata_port *ap, /* software reset. causes dev0 to be selected */ if (ap->flags & ATA_FLAG_MMIO) { - writeb(ap->ctl, ioaddr->ctl_addr); + writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr); udelay(20); /* FIXME: flush */ - writeb(ap->ctl | ATA_SRST, ioaddr->ctl_addr); + writeb(ap->ctl | ATA_SRST, (void __iomem *) ioaddr->ctl_addr); udelay(20); /* FIXME: flush */ - writeb(ap->ctl, ioaddr->ctl_addr); + writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr); } else { outb(ap->ctl, ioaddr->ctl_addr); udelay(10); @@ -1469,9 +1632,9 @@ void ata_bus_reset(struct ata_port *ap) if (ap->flags & ATA_FLAG_SATA_RESET) dev0 = 1; else { - dev0 = ata_dev_devchk(ap, 0); + dev0 = ata_devchk(ap, 0); if (slave_possible) - dev1 = ata_dev_devchk(ap, 1); + dev1 = ata_devchk(ap, 1); } if (dev0) @@ -1480,7 +1643,7 @@ void ata_bus_reset(struct ata_port *ap) devmask |= (1 << 1); /* select device 0 again */ - __ata_dev_select(ap, 0); + ap->ops->dev_select(ap, 0); /* issue bus reset */ if (ap->flags & ATA_FLAG_SRST) @@ -1488,7 +1651,7 @@ void ata_bus_reset(struct ata_port *ap) else if ((ap->flags & ATA_FLAG_SATA_RESET) == 0) { /* set up device control */ if (ap->flags & ATA_FLAG_MMIO) - writeb(ap->ctl, ioaddr->ctl_addr); + writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr); else outb(ap->ctl, ioaddr->ctl_addr); rc = ata_bus_edd(ap); @@ -1509,9 +1672,9 @@ void ata_bus_reset(struct ata_port *ap) /* is double-select really necessary? */ if (ap->device[1].class != ATA_DEV_NONE) - __ata_dev_select(ap, 1); + ap->ops->dev_select(ap, 1); if (ap->device[0].class != ATA_DEV_NONE) - __ata_dev_select(ap, 0); + ap->ops->dev_select(ap, 0); /* if no devices were detected, disable this port */ if ((ap->device[0].class == ATA_DEV_NONE) && @@ -1521,7 +1684,7 @@ void ata_bus_reset(struct ata_port *ap) if (ap->flags & (ATA_FLAG_SATA_RESET | ATA_FLAG_SRST)) { /* set up device control for ATA_FLAG_SATA_RESET */ if (ap->flags & ATA_FLAG_MMIO) - writeb(ap->ctl, ioaddr->ctl_addr); + writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr); else outb(ap->ctl, ioaddr->ctl_addr); } @@ -1536,116 +1699,102 @@ err_out: DPRINTK("EXIT\n"); } -/** - * ata_host_set_pio - - * @ap: - * - * LOCKING: - */ - -static void ata_host_set_pio(struct ata_port *ap) +static unsigned int ata_get_mode_mask(struct ata_port *ap, int shift) { struct ata_device *master, *slave; - unsigned int pio, i; - u16 mask; + unsigned int mask; master = &ap->device[0]; slave = &ap->device[1]; assert (ata_dev_present(master) || ata_dev_present(slave)); - mask = ap->pio_mask; - if (ata_dev_present(master)) - mask &= (master->id[ATA_ID_PIO_MODES] & 0x03); - if (ata_dev_present(slave)) - mask &= (slave->id[ATA_ID_PIO_MODES] & 0x03); - - /* require pio mode 3 or 4 support for host and all devices */ - if (mask == 0) { - printk(KERN_WARNING "ata%u: no PIO3/4 support, ignoring\n", - ap->id); - goto err_out; + if (shift == ATA_SHIFT_UDMA) { + mask = ap->udma_mask; + if (ata_dev_present(master)) + mask &= (master->id[ATA_ID_UDMA_MODES] & 0xff); + if (ata_dev_present(slave)) + mask &= (slave->id[ATA_ID_UDMA_MODES] & 0xff); + } + else if (shift == ATA_SHIFT_MWDMA) { + mask = ap->mwdma_mask; + if (ata_dev_present(master)) + mask &= (master->id[ATA_ID_MWDMA_MODES] & 0x07); + if (ata_dev_present(slave)) + mask &= (slave->id[ATA_ID_MWDMA_MODES] & 0x07); + } + else if (shift == ATA_SHIFT_PIO) { + mask = ap->pio_mask; + if (ata_dev_present(master)) { + /* spec doesn't return explicit support for + * PIO0-2, so we fake it + */ + u16 tmp_mode = master->id[ATA_ID_PIO_MODES] & 0x03; + tmp_mode <<= 3; + tmp_mode |= 0x7; + mask &= tmp_mode; + } + if (ata_dev_present(slave)) { + /* spec doesn't return explicit support for + * PIO0-2, so we fake it + */ + u16 tmp_mode = slave->id[ATA_ID_PIO_MODES] & 0x03; + tmp_mode <<= 3; + tmp_mode |= 0x7; + mask &= tmp_mode; + } + } + else { + mask = 0xffffffff; /* shut up compiler warning */ + BUG(); } - pio = (mask & ATA_ID_PIO4) ? 4 : 3; - for (i = 0; i < ATA_MAX_DEVICES; i++) - if (ata_dev_present(&ap->device[i])) { - ap->device[i].pio_mode = (pio == 3) ? - XFER_PIO_3 : XFER_PIO_4; - if (ap->ops->set_piomode) - ap->ops->set_piomode(ap, &ap->device[i], pio); - } + return mask; +} - return; +/* find greatest bit */ +static int fgb(u32 bitmap) +{ + unsigned int i; + int x = -1; -err_out: - ap->ops->port_disable(ap); + for (i = 0; i < 32; i++) + if (bitmap & (1 << i)) + x = i; + + return x; } /** - * ata_host_set_udma - + * ata_choose_xfer_mode - * @ap: * * LOCKING: + * + * RETURNS: + * Zero on success, negative on error. */ -static void ata_host_set_udma(struct ata_port *ap) +static int ata_choose_xfer_mode(struct ata_port *ap, + u8 *xfer_mode_out, + unsigned int *xfer_shift_out) { - struct ata_device *master, *slave; - u16 mask; - unsigned int i, j; - int udma_mode = -1; + unsigned int mask, shift; + int x, i; - master = &ap->device[0]; - slave = &ap->device[1]; + for (i = 0; i < ARRAY_SIZE(xfer_mode_classes); i++) { + shift = xfer_mode_classes[i].shift; + mask = ata_get_mode_mask(ap, shift); - assert (ata_dev_present(master) || ata_dev_present(slave)); - assert ((ap->flags & ATA_FLAG_PORT_DISABLED) == 0); - - DPRINTK("udma masks: host 0x%X, master 0x%X, slave 0x%X\n", - ap->udma_mask, - (!ata_dev_present(master)) ? 0xff : - (master->id[ATA_ID_UDMA_MODES] & 0xff), - (!ata_dev_present(slave)) ? 0xff : - (slave->id[ATA_ID_UDMA_MODES] & 0xff)); - - mask = ap->udma_mask; - if (ata_dev_present(master)) - mask &= (master->id[ATA_ID_UDMA_MODES] & 0xff); - if (ata_dev_present(slave)) - mask &= (slave->id[ATA_ID_UDMA_MODES] & 0xff); - - i = XFER_UDMA_7; - while (i >= XFER_UDMA_0) { - j = i - XFER_UDMA_0; - DPRINTK("mask 0x%X i 0x%X j %u\n", mask, i, j); - if (mask & (1 << j)) { - udma_mode = i; - break; + x = fgb(mask); + if (x >= 0) { + *xfer_mode_out = xfer_mode_classes[i].base + x; + *xfer_shift_out = shift; + return 0; } - - i--; - } - - /* require udma for host and all attached devices */ - if (udma_mode < 0) { - printk(KERN_WARNING "ata%u: no UltraDMA support, ignoring\n", - ap->id); - goto err_out; } - for (i = 0; i < ATA_MAX_DEVICES; i++) - if (ata_dev_present(&ap->device[i])) { - ap->device[i].udma_mode = udma_mode; - if (ap->ops->set_udmamode) - ap->ops->set_udmamode(ap, &ap->device[i], - udma_mode); - } - - return; - -err_out: - ap->ops->port_disable(ap); + return -1; } /** @@ -1658,88 +1807,38 @@ err_out: static void ata_dev_set_xfermode(struct ata_port *ap, struct ata_device *dev) { - struct ata_taskfile tf; + DECLARE_COMPLETION(wait); + struct ata_queued_cmd *qc; + int rc; + unsigned long flags; /* set up set-features taskfile */ DPRINTK("set features - xfer mode\n"); - ata_tf_init(ap, &tf, dev->devno); - tf.ctl |= ATA_NIEN; - tf.command = ATA_CMD_SET_FEATURES; - tf.feature = SETFEATURES_XFER; - tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - tf.protocol = ATA_PROT_NODATA; - if (dev->flags & ATA_DFLAG_PIO) - tf.nsect = dev->pio_mode; - else - tf.nsect = dev->udma_mode; - /* do bus reset */ - ata_tf_to_host(ap, &tf); + qc = ata_qc_new_init(ap, dev); + BUG_ON(qc == NULL); - /* crazy ATAPI devices... */ - if (dev->class == ATA_DEV_ATAPI) - msleep(150); + qc->tf.command = ATA_CMD_SET_FEATURES; + qc->tf.feature = SETFEATURES_XFER; + qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; + qc->tf.protocol = ATA_PROT_NODATA; + qc->tf.nsect = dev->xfer_mode; - ata_busy_sleep(ap, ATA_TMOUT_BOOT_QUICK, ATA_TMOUT_BOOT); + qc->waiting = &wait; + qc->complete_fn = ata_qc_complete_noop; - ata_irq_on(ap); /* re-enable interrupts */ + spin_lock_irqsave(&ap->host_set->lock, flags); + rc = ata_qc_issue(qc); + spin_unlock_irqrestore(&ap->host_set->lock, flags); - ata_wait_idle(ap); + if (rc) + ata_port_disable(ap); + else + wait_for_completion(&wait); DPRINTK("EXIT\n"); } -/** - * ata_dev_set_udma - Set ATA device's transfer mode to Ultra DMA - * @ap: Port associated with device @dev - * @device: Device whose mode will be set - * - * LOCKING: - */ - -static void ata_dev_set_udma(struct ata_port *ap, unsigned int device) -{ - struct ata_device *dev = &ap->device[device]; - - if (!ata_dev_present(dev) || (ap->flags & ATA_FLAG_PORT_DISABLED)) - return; - - ata_dev_set_xfermode(ap, dev); - - assert((dev->udma_mode >= XFER_UDMA_0) && - (dev->udma_mode <= XFER_UDMA_7)); - printk(KERN_INFO "ata%u: dev %u configured for %s\n", - ap->id, device, - udma_str[dev->udma_mode - XFER_UDMA_0]); -} - -/** - * ata_dev_set_pio - Set ATA device's transfer mode to PIO - * @ap: Port associated with device @dev - * @device: Device whose mode will be set - * - * LOCKING: - */ - -static void ata_dev_set_pio(struct ata_port *ap, unsigned int device) -{ - struct ata_device *dev = &ap->device[device]; - - if (!ata_dev_present(dev) || (ap->flags & ATA_FLAG_PORT_DISABLED)) - return; - - /* force PIO mode */ - dev->flags |= ATA_DFLAG_PIO; - - ata_dev_set_xfermode(ap, dev); - - assert((dev->pio_mode >= XFER_PIO_3) && - (dev->pio_mode <= XFER_PIO_4)); - printk(KERN_INFO "ata%u: dev %u configured for PIO%c\n", - ap->id, device, - dev->pio_mode == 3 ? '3' : '4'); -} - /** * ata_sg_clean - * @qc: @@ -1789,7 +1888,7 @@ static void ata_fill_sg(struct ata_queued_cmd *qc) idx = 0; for (nelem = qc->n_elem; nelem; nelem--,sg++) { - u32 addr, boundary; + u32 addr, offset; u32 sg_len, len; /* determine if physical DMA addr spans 64K boundary. @@ -1800,10 +1899,10 @@ static void ata_fill_sg(struct ata_queued_cmd *qc) sg_len = sg_dma_len(sg); while (sg_len) { - boundary = (addr & ~0xffff) + (0xffff + 1); + offset = addr & 0xffff; len = sg_len; - if ((addr + sg_len) > boundary) - len = boundary - addr; + if ((offset + sg_len) > 0x10000) + len = 0x10000 - offset; ap->prd[idx].addr = cpu_to_le32(addr); ap->prd[idx].flags_len = cpu_to_le32(len & 0xffff); @@ -1849,8 +1948,6 @@ void ata_sg_init_one(struct ata_queued_cmd *qc, void *buf, unsigned int buflen) sg->page = virt_to_page(buf); sg->offset = (unsigned long) buf & ~PAGE_MASK; sg_dma_len(sg) = buflen; - - WARN_ON(buflen > PAGE_SIZE); } void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg, @@ -2003,7 +2100,7 @@ static void ata_pio_complete (struct ata_port *ap) } drv_stat = ata_wait_idle(ap); - if (drv_stat & (ATA_BUSY | ATA_DRQ)) { + if (!ata_ok(drv_stat)) { ap->pio_task_state = PIO_ST_ERR; return; } @@ -2018,6 +2115,176 @@ static void ata_pio_complete (struct ata_port *ap) ata_qc_complete(qc, drv_stat); } +void swap_buf_le16(u16 *buf, unsigned int buf_words) +{ +#ifdef __BIG_ENDIAN + unsigned int i; + + for (i = 0; i < buf_words; i++) + buf[i] = le16_to_cpu(buf[i]); +#endif /* __BIG_ENDIAN */ +} + +static void ata_mmio_data_xfer(struct ata_port *ap, unsigned char *buf, + unsigned int buflen, int write_data) +{ + unsigned int i; + unsigned int words = buflen >> 1; + u16 *buf16 = (u16 *) buf; + void __iomem *mmio = (void __iomem *)ap->ioaddr.data_addr; + + if (write_data) { + for (i = 0; i < words; i++) + writew(le16_to_cpu(buf16[i]), mmio); + } else { + for (i = 0; i < words; i++) + buf16[i] = cpu_to_le16(readw(mmio)); + } +} + +static void ata_pio_data_xfer(struct ata_port *ap, unsigned char *buf, + unsigned int buflen, int write_data) +{ + unsigned int dwords = buflen >> 1; + + if (write_data) + outsw(ap->ioaddr.data_addr, buf, dwords); + else + insw(ap->ioaddr.data_addr, buf, dwords); +} + +static void ata_data_xfer(struct ata_port *ap, unsigned char *buf, + unsigned int buflen, int do_write) +{ + if (ap->flags & ATA_FLAG_MMIO) + ata_mmio_data_xfer(ap, buf, buflen, do_write); + else + ata_pio_data_xfer(ap, buf, buflen, do_write); +} + +static void ata_pio_sector(struct ata_queued_cmd *qc) +{ + int do_write = (qc->tf.flags & ATA_TFLAG_WRITE); + struct scatterlist *sg = qc->sg; + struct ata_port *ap = qc->ap; + struct page *page; + unsigned int offset; + unsigned char *buf; + + if (qc->cursect == (qc->nsect - 1)) + ap->pio_task_state = PIO_ST_LAST; + + page = sg[qc->cursg].page; + offset = sg[qc->cursg].offset + qc->cursg_ofs * ATA_SECT_SIZE; + + /* get the current page and offset */ + page = nth_page(page, (offset >> PAGE_SHIFT)); + offset %= PAGE_SIZE; + + buf = kmap(page) + offset; + + qc->cursect++; + qc->cursg_ofs++; + + if ((qc->cursg_ofs * ATA_SECT_SIZE) == sg_dma_len(&sg[qc->cursg])) { + qc->cursg++; + qc->cursg_ofs = 0; + } + + DPRINTK("data %s\n", qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read"); + + /* do the actual data transfer */ + do_write = (qc->tf.flags & ATA_TFLAG_WRITE); + ata_data_xfer(ap, buf, ATA_SECT_SIZE, do_write); + + kunmap(page); +} + +static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) +{ + int do_write = (qc->tf.flags & ATA_TFLAG_WRITE); + struct scatterlist *sg = qc->sg; + struct ata_port *ap = qc->ap; + struct page *page; + unsigned char *buf; + unsigned int offset, count; + + if (qc->curbytes == qc->nbytes - bytes) + ap->pio_task_state = PIO_ST_LAST; + +next_sg: + sg = &qc->sg[qc->cursg]; + +next_page: + page = sg->page; + offset = sg->offset + qc->cursg_ofs; + + /* get the current page and offset */ + page = nth_page(page, (offset >> PAGE_SHIFT)); + offset %= PAGE_SIZE; + + count = min(sg_dma_len(sg) - qc->cursg_ofs, bytes); + + /* don't cross page boundaries */ + count = min(count, (unsigned int)PAGE_SIZE - offset); + + buf = kmap(page) + offset; + + bytes -= count; + qc->curbytes += count; + qc->cursg_ofs += count; + + if (qc->cursg_ofs == sg_dma_len(sg)) { + qc->cursg++; + qc->cursg_ofs = 0; + } + + DPRINTK("data %s\n", qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read"); + + /* do the actual data transfer */ + ata_data_xfer(ap, buf, count, do_write); + + kunmap(page); + + if (bytes) { + if (qc->cursg_ofs < sg_dma_len(sg)) + goto next_page; + goto next_sg; + } +} + +static void atapi_pio_bytes(struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + struct ata_device *dev = qc->dev; + unsigned int ireason, bc_lo, bc_hi, bytes; + int i_write, do_write = (qc->tf.flags & ATA_TFLAG_WRITE) ? 1 : 0; + + ap->ops->tf_read(ap, &qc->tf); + ireason = qc->tf.nsect; + bc_lo = qc->tf.lbam; + bc_hi = qc->tf.lbah; + bytes = (bc_hi << 8) | bc_lo; + + /* shall be cleared to zero, indicating xfer of data */ + if (ireason & (1 << 0)) + goto err_out; + + /* make sure transfer direction matches expected */ + i_write = ((ireason & (1 << 1)) == 0) ? 1 : 0; + if (do_write != i_write) + goto err_out; + + __atapi_pio_bytes(qc, bytes); + + return; + +err_out: + printk(KERN_INFO "ata%u: dev %u: ATAPI check failed\n", + ap->id, dev->devno); + ap->pio_task_state = PIO_ST_ERR; +} + /** * ata_pio_sector - * @ap: @@ -2025,12 +2292,9 @@ static void ata_pio_complete (struct ata_port *ap) * LOCKING: */ -static void ata_pio_sector(struct ata_port *ap) +static void ata_pio_block(struct ata_port *ap) { struct ata_queued_cmd *qc; - struct scatterlist *sg; - struct page *page; - unsigned char *buf; u8 status; /* @@ -2052,45 +2316,49 @@ static void ata_pio_sector(struct ata_port *ap) } } - /* handle BSY=0, DRQ=0 as error */ - if ((status & ATA_DRQ) == 0) { - ap->pio_task_state = PIO_ST_ERR; - return; - } - qc = ata_qc_from_tag(ap, ap->active_tag); assert(qc != NULL); - sg = qc->sg; - - if (qc->cursect == (qc->nsect - 1)) - ap->pio_task_state = PIO_ST_LAST; + if (is_atapi_taskfile(&qc->tf)) { + /* no more data to transfer or unsupported ATAPI command */ + if ((status & ATA_DRQ) == 0) { + ap->pio_task_state = PIO_ST_IDLE; - page = sg[qc->cursg].page; - buf = kmap(page) + - sg[qc->cursg].offset + (qc->cursg_ofs * ATA_SECT_SIZE); + ata_irq_on(ap); - qc->cursect++; - qc->cursg_ofs++; + ata_qc_complete(qc, status); + return; + } - if (qc->flags & ATA_QCFLAG_SG) - if ((qc->cursg_ofs * ATA_SECT_SIZE) == sg_dma_len(&sg[qc->cursg])) { - qc->cursg++; - qc->cursg_ofs = 0; + atapi_pio_bytes(qc); + } else { + /* handle BSY=0, DRQ=0 as error */ + if ((status & ATA_DRQ) == 0) { + ap->pio_task_state = PIO_ST_ERR; + return; } - DPRINTK("data %s, drv_stat 0x%X\n", - qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read", - status); + ata_pio_sector(qc); + } +} - /* do the actual data transfer */ - /* FIXME: mmio-ize */ - if (qc->tf.flags & ATA_TFLAG_WRITE) - outsl(ap->ioaddr.data_addr, buf, ATA_SECT_DWORDS); - else - insl(ap->ioaddr.data_addr, buf, ATA_SECT_DWORDS); +static void ata_pio_error(struct ata_port *ap) +{ + struct ata_queued_cmd *qc; + u8 drv_stat; - kunmap(page); + qc = ata_qc_from_tag(ap, ap->active_tag); + assert(qc != NULL); + + drv_stat = ata_chk_status(ap); + printk(KERN_WARNING "ata%u: PIO error, drv_stat 0x%x\n", + ap->id, drv_stat); + + ap->pio_task_state = PIO_ST_IDLE; + + ata_irq_on(ap); + + ata_qc_complete(qc, drv_stat | ATA_ERR); } static void ata_pio_task(void *_data) @@ -2100,7 +2368,7 @@ static void ata_pio_task(void *_data) switch (ap->pio_task_state) { case PIO_ST: - ata_pio_sector(ap); + ata_pio_block(ap); break; case PIO_ST_LAST: @@ -2113,15 +2381,8 @@ static void ata_pio_task(void *_data) break; case PIO_ST_TMOUT: - printk(KERN_ERR "ata%d: FIXME: PIO_ST_TMOUT\n", /* FIXME */ - ap->id); - timeout = 11 * HZ; - break; - case PIO_ST_ERR: - printk(KERN_ERR "ata%d: FIXME: PIO_ST_ERR\n", /* FIXME */ - ap->id); - timeout = 11 * HZ; + ata_pio_error(ap); break; } @@ -2136,6 +2397,59 @@ static void ata_pio_task(void *_data) } } +static void atapi_request_sense(struct ata_port *ap, struct ata_device *dev, + struct scsi_cmnd *cmd) +{ + DECLARE_COMPLETION(wait); + struct ata_queued_cmd *qc; + unsigned long flags; + int using_pio = dev->flags & ATA_DFLAG_PIO; + int rc; + + DPRINTK("ATAPI request sense\n"); + + qc = ata_qc_new_init(ap, dev); + BUG_ON(qc == NULL); + + /* FIXME: is this needed? */ + memset(cmd->sense_buffer, 0, sizeof(cmd->sense_buffer)); + + ata_sg_init_one(qc, cmd->sense_buffer, sizeof(cmd->sense_buffer)); + qc->pci_dma_dir = PCI_DMA_FROMDEVICE; + + memset(&qc->cdb, 0, sizeof(ap->cdb_len)); + qc->cdb[0] = REQUEST_SENSE; + qc->cdb[4] = SCSI_SENSE_BUFFERSIZE; + + qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; + qc->tf.command = ATA_CMD_PACKET; + + if (using_pio) { + qc->tf.protocol = ATA_PROT_ATAPI; + qc->tf.lbam = (8 * 1024) & 0xff; + qc->tf.lbah = (8 * 1024) >> 8; + + qc->nbytes = SCSI_SENSE_BUFFERSIZE; + } else { + qc->tf.protocol = ATA_PROT_ATAPI_DMA; + qc->tf.feature |= ATAPI_PKT_DMA; + } + + qc->waiting = &wait; + qc->complete_fn = ata_qc_complete_noop; + + spin_lock_irqsave(&ap->host_set->lock, flags); + rc = ata_qc_issue(qc); + spin_unlock_irqrestore(&ap->host_set->lock, flags); + + if (rc) + ata_port_disable(ap); + else + wait_for_completion(&wait); + + DPRINTK("EXIT\n"); +} + /** * ata_qc_timeout - Handle timeout of queued command * @qc: Command that timed out @@ -2157,10 +2471,29 @@ static void ata_pio_task(void *_data) static void ata_qc_timeout(struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; + struct ata_device *dev = qc->dev; u8 host_stat = 0, drv_stat; DPRINTK("ENTER\n"); + /* FIXME: doesn't this conflict with timeout handling? */ + if (qc->dev->class == ATA_DEV_ATAPI && qc->scsicmd) { + struct scsi_cmnd *cmd = qc->scsicmd; + + if (!scsi_eh_eflags_chk(cmd, SCSI_EH_CANCEL_CMD)) { + + /* finish completing original command */ + __ata_qc_complete(qc); + + atapi_request_sense(ap, dev, cmd); + + cmd->result = (CHECK_CONDITION << 1) | (DID_OK << 16); + scsi_finish_command(cmd); + + goto out; + } + } + /* hack alert! We cannot use the supplied completion * function from inside the ->eh_strategy_handler() thread. * libata is the only user of ->eh_strategy_handler() in @@ -2180,7 +2513,6 @@ static void ata_qc_timeout(struct ata_queued_cmd *qc) /* fall through */ - case ATA_PROT_NODATA: default: ata_altstatus(ap); drv_stat = ata_chk_status(ap); @@ -2195,7 +2527,7 @@ static void ata_qc_timeout(struct ata_queued_cmd *qc) ata_qc_complete(qc, drv_stat); break; } - +out: DPRINTK("EXIT\n"); } @@ -2284,11 +2616,10 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap, qc->dev = dev; qc->cursect = qc->cursg = qc->cursg_ofs = 0; qc->nsect = 0; + qc->nbytes = qc->curbytes = 0; ata_tf_init(ap, &qc->tf, dev->devno); - if (likely((dev->flags & ATA_DFLAG_PIO) == 0)) - qc->flags |= ATA_QCFLAG_DMA; if (dev->flags & ATA_DFLAG_LBA48) qc->tf.flags |= ATA_TFLAG_LBA48; } @@ -2296,6 +2627,35 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap, return qc; } +static int ata_qc_complete_noop(struct ata_queued_cmd *qc, u8 drv_stat) +{ + return 0; +} + +static void __ata_qc_complete(struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + unsigned int tag, do_clear = 0; + + qc->flags = 0; + tag = qc->tag; + if (likely(ata_tag_valid(tag))) { + if (tag == ap->active_tag) + ap->active_tag = ATA_TAG_POISON; + qc->tag = ATA_TAG_POISON; + do_clear = 1; + } + + if (qc->waiting) { + struct completion *waiting = qc->waiting; + qc->waiting = NULL; + complete(waiting); + } + + if (likely(do_clear)) + clear_bit(tag, &ap->qactive); +} + /** * ata_qc_complete - Complete an active ATA command * @qc: Command to complete @@ -2307,8 +2667,6 @@ struct ata_queued_cmd *ata_qc_new_init(struct ata_port *ap, void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat) { - struct ata_port *ap = qc->ap; - unsigned int tag, do_clear = 0; int rc; assert(qc != NULL); /* ata_qc_from_tag _might_ return NULL */ @@ -2326,20 +2684,33 @@ void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat) if (rc != 0) return; - qc->flags = 0; - tag = qc->tag; - if (likely(ata_tag_valid(tag))) { - if (tag == ap->active_tag) - ap->active_tag = ATA_TAG_POISON; - qc->tag = ATA_TAG_POISON; - do_clear = 1; - } + __ata_qc_complete(qc); - if (qc->waiting) - complete(qc->waiting); + VPRINTK("EXIT\n"); +} - if (likely(do_clear)) - clear_bit(tag, &ap->qactive); +static inline int ata_should_dma_map(struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + + switch (qc->tf.protocol) { + case ATA_PROT_DMA: + case ATA_PROT_ATAPI_DMA: + return 1; + + case ATA_PROT_ATAPI: + case ATA_PROT_PIO: + case ATA_PROT_PIO_MULT: + if (ap->flags & ATA_FLAG_PIO_DMA) + return 1; + + /* fall through */ + + default: + return 0; + } + + /* never reached */ } /** @@ -2362,12 +2733,16 @@ int ata_qc_issue(struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; - if (qc->flags & ATA_QCFLAG_SG) { - if (ata_sg_setup(qc)) - goto err_out; - } else if (qc->flags & ATA_QCFLAG_SINGLE) { - if (ata_sg_setup_one(qc)) - goto err_out; + if (ata_should_dma_map(qc)) { + if (qc->flags & ATA_QCFLAG_SG) { + if (ata_sg_setup(qc)) + goto err_out; + } else if (qc->flags & ATA_QCFLAG_SINGLE) { + if (ata_sg_setup_one(qc)) + goto err_out; + } + } else { + qc->flags &= ~ATA_QCFLAG_DMAMAP; } ap->ops->qc_prep(qc); @@ -2422,6 +2797,12 @@ int ata_qc_issue_prot(struct ata_queued_cmd *qc) break; case ATA_PROT_ATAPI: + ata_qc_set_polling(qc); + ata_tf_to_host_nolock(ap, &qc->tf); + queue_work(ata_wq, &ap->packet_task); + break; + + case ATA_PROT_ATAPI_NODATA: ata_tf_to_host_nolock(ap, &qc->tf); queue_work(ata_wq, &ap->packet_task); break; @@ -2441,19 +2822,19 @@ int ata_qc_issue_prot(struct ata_queued_cmd *qc) } /** - * ata_bmdma_setup_mmio - Set up PCI IDE BMDMA transaction (MMIO) + * ata_bmdma_setup - Set up PCI IDE BMDMA transaction * @qc: Info associated with this ATA transaction. * * LOCKING: * spin_lock_irqsave(host_set lock) */ -void ata_bmdma_setup_mmio (struct ata_queued_cmd *qc) +static void ata_bmdma_setup_mmio (struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; unsigned int rw = (qc->tf.flags & ATA_TFLAG_WRITE); u8 dmactl; - void *mmio = (void *) ap->ioaddr.bmdma_addr; + void __iomem *mmio = (void __iomem *) ap->ioaddr.bmdma_addr; /* load PRD table addr. */ mb(); /* make sure PRD table writes are visible to controller */ @@ -2471,17 +2852,17 @@ void ata_bmdma_setup_mmio (struct ata_queued_cmd *qc) } /** - * ata_bmdma_start_mmio - Start a PCI IDE BMDMA transaction (MMIO) + * ata_bmdma_start - Start a PCI IDE BMDMA transaction * @qc: Info associated with this ATA transaction. * * LOCKING: * spin_lock_irqsave(host_set lock) */ -void ata_bmdma_start_mmio (struct ata_queued_cmd *qc) +static void ata_bmdma_start_mmio (struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; - void *mmio = (void *) ap->ioaddr.bmdma_addr; + void __iomem *mmio = (void __iomem *) ap->ioaddr.bmdma_addr; u8 dmactl; /* start host DMA transaction */ @@ -2509,7 +2890,7 @@ void ata_bmdma_start_mmio (struct ata_queued_cmd *qc) * spin_lock_irqsave(host_set lock) */ -void ata_bmdma_setup_pio (struct ata_queued_cmd *qc) +static void ata_bmdma_setup_pio (struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; unsigned int rw = (qc->tf.flags & ATA_TFLAG_WRITE); @@ -2537,7 +2918,7 @@ void ata_bmdma_setup_pio (struct ata_queued_cmd *qc) * spin_lock_irqsave(host_set lock) */ -void ata_bmdma_start_pio (struct ata_queued_cmd *qc) +static void ata_bmdma_start_pio (struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; u8 dmactl; @@ -2548,6 +2929,22 @@ void ata_bmdma_start_pio (struct ata_queued_cmd *qc) ap->ioaddr.bmdma_addr + ATA_DMA_CMD); } +void ata_bmdma_start(struct ata_queued_cmd *qc) +{ + if (qc->ap->flags & ATA_FLAG_MMIO) + ata_bmdma_start_mmio(qc); + else + ata_bmdma_start_pio(qc); +} + +void ata_bmdma_setup(struct ata_queued_cmd *qc) +{ + if (qc->ap->flags & ATA_FLAG_MMIO) + ata_bmdma_setup_mmio(qc); + else + ata_bmdma_setup_pio(qc); +} + void ata_bmdma_irq_clear(struct ata_port *ap) { ata_bmdma_ack_irq(ap); @@ -2581,7 +2978,7 @@ inline unsigned int ata_host_intr (struct ata_port *ap, case ATA_PROT_ATAPI: /* check status of DMA engine */ host_stat = ata_bmdma_status(ap); - VPRINTK("BUS_DMA (host_stat 0x%X)\n", host_stat); + VPRINTK("ata%u: host_stat 0x%X\n", ap->id, host_stat); /* if it's not our irq... */ if (!(host_stat & ATA_DMA_INTR)) @@ -2592,6 +2989,7 @@ inline unsigned int ata_host_intr (struct ata_port *ap, /* fall through */ + case ATA_PROT_ATAPI_NODATA: case ATA_PROT_NODATA: /* check altstatus */ status = ata_altstatus(ap); @@ -2602,7 +3000,8 @@ inline unsigned int ata_host_intr (struct ata_port *ap, status = ata_chk_status(ap); if (unlikely(status & ATA_BUSY)) goto idle_irq; - DPRINTK("BUS_NODATA (dev_stat 0x%X)\n", status); + DPRINTK("ata%u: protocol %d (dev_stat 0x%X)\n", + ap->id, qc->tf.protocol, status); /* ack bmdma irq events */ ata_bmdma_ack_irq(ap); @@ -2701,21 +3100,20 @@ static void atapi_packet_task(void *_data) /* make sure DRQ is set */ status = ata_chk_status(ap); - if ((status & ATA_DRQ) == 0) + if ((status & (ATA_BUSY | ATA_DRQ)) != ATA_DRQ) goto err_out; /* send SCSI cdb */ - /* FIXME: mmio-ize */ DPRINTK("send cdb\n"); - outsl(ap->ioaddr.data_addr, - qc->scsicmd->cmnd, ap->host->max_cmd_len / 4); + assert(ap->cdb_len >= 12); + ata_data_xfer(ap, qc->cdb, ap->cdb_len, 1); /* if we are DMA'ing, irq handler takes over from here */ if (qc->tf.protocol == ATA_PROT_ATAPI_DMA) ap->ops->bmdma_start(qc); /* initiate bmdma */ /* non-data commands are also handled via irq */ - else if (qc->scsicmd->sc_data_direction == SCSI_DATA_NONE) { + else if (qc->tf.protocol == ATA_PROT_ATAPI_NODATA) { /* do nothing */ } @@ -2803,12 +3201,14 @@ static void ata_host_init(struct ata_port *ap, struct Scsi_Host *host, ap->ctl = ATA_DEVCTL_OBS; ap->host_set = host_set; ap->port_no = port_no; + ap->hard_port_no = + ent->legacy_mode ? ent->hard_port_no : port_no; ap->pio_mask = ent->pio_mask; + ap->mwdma_mask = ent->mwdma_mask; ap->udma_mask = ent->udma_mask; ap->flags |= ent->host_flags; ap->ops = ent->port_ops; ap->cbl = ATA_CBL_NONE; - ap->device[0].flags = ATA_DFLAG_MASTER; ap->active_tag = ATA_TAG_POISON; ap->last_ctl = 0xFF; @@ -2901,19 +3301,23 @@ int ata_device_add(struct ata_probe_ent *ent) /* register each port bound to this device */ for (i = 0; i < ent->n_ports; i++) { struct ata_port *ap; + unsigned long xfer_mode_mask; ap = ata_host_add(ent, host_set, i); if (!ap) goto err_out; host_set->ports[i] = ap; + xfer_mode_mask =(ap->udma_mask << ATA_SHIFT_UDMA) | + (ap->mwdma_mask << ATA_SHIFT_MWDMA) | + (ap->pio_mask << ATA_SHIFT_PIO); /* print per-port info to dmesg */ printk(KERN_INFO "ata%u: %cATA max %s cmd 0x%lX ctl 0x%lX " "bmdma 0x%lX irq %lu\n", ap->id, ap->flags & ATA_FLAG_SATA ? 'S' : 'P', - ata_udma_string(ent->udma_mask), + ata_mode_string(xfer_mode_mask), ap->ioaddr.cmd_addr, ap->ioaddr.ctl_addr, ap->ioaddr.bmdma_addr, @@ -3035,6 +3439,101 @@ void ata_std_ports(struct ata_ioports *ioaddr) ioaddr->command_addr = ioaddr->cmd_addr + ATA_REG_CMD; } +static struct ata_probe_ent * +ata_probe_ent_alloc(int n, struct pci_dev *pdev, struct ata_port_info **port) +{ + struct ata_probe_ent *probe_ent; + int i; + + probe_ent = kmalloc(sizeof(*probe_ent) * n, GFP_KERNEL); + if (!probe_ent) { + printk(KERN_ERR DRV_NAME "(%s): out of memory\n", + pci_name(pdev)); + return NULL; + } + + memset(probe_ent, 0, sizeof(*probe_ent) * n); + + for (i = 0; i < n; i++) { + INIT_LIST_HEAD(&probe_ent[i].node); + probe_ent[i].pdev = pdev; + + probe_ent[i].sht = port[i]->sht; + probe_ent[i].host_flags = port[i]->host_flags; + probe_ent[i].pio_mask = port[i]->pio_mask; + probe_ent[i].mwdma_mask = port[i]->mwdma_mask; + probe_ent[i].udma_mask = port[i]->udma_mask; + probe_ent[i].port_ops = port[i]->port_ops; + + } + + return probe_ent; +} + +struct ata_probe_ent * +ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port) +{ + struct ata_probe_ent *probe_ent = ata_probe_ent_alloc(1, pdev, port); + if (!probe_ent) + return NULL; + + probe_ent->n_ports = 2; + probe_ent->irq = pdev->irq; + probe_ent->irq_flags = SA_SHIRQ; + + probe_ent->port[0].cmd_addr = pci_resource_start(pdev, 0); + probe_ent->port[0].altstatus_addr = + probe_ent->port[0].ctl_addr = + pci_resource_start(pdev, 1) | ATA_PCI_CTL_OFS; + probe_ent->port[0].bmdma_addr = pci_resource_start(pdev, 4); + + probe_ent->port[1].cmd_addr = pci_resource_start(pdev, 2); + probe_ent->port[1].altstatus_addr = + probe_ent->port[1].ctl_addr = + pci_resource_start(pdev, 3) | ATA_PCI_CTL_OFS; + probe_ent->port[1].bmdma_addr = pci_resource_start(pdev, 4) + 8; + + ata_std_ports(&probe_ent->port[0]); + ata_std_ports(&probe_ent->port[1]); + + return probe_ent; +} + +struct ata_probe_ent * +ata_pci_init_legacy_mode(struct pci_dev *pdev, struct ata_port_info **port) +{ + struct ata_probe_ent *probe_ent = ata_probe_ent_alloc(2, pdev, port); + if (!probe_ent) + return NULL; + + probe_ent[0].n_ports = 1; + probe_ent[0].irq = 14; + + probe_ent[0].hard_port_no = 0; + probe_ent[0].legacy_mode = 1; + + probe_ent[1].n_ports = 1; + probe_ent[1].irq = 15; + + probe_ent[1].hard_port_no = 1; + probe_ent[1].legacy_mode = 1; + + probe_ent[0].port[0].cmd_addr = 0x1f0; + probe_ent[0].port[0].altstatus_addr = + probe_ent[0].port[0].ctl_addr = 0x3f6; + probe_ent[0].port[0].bmdma_addr = pci_resource_start(pdev, 4); + + probe_ent[1].port[0].cmd_addr = 0x170; + probe_ent[1].port[0].altstatus_addr = + probe_ent[1].port[0].ctl_addr = 0x376; + probe_ent[1].port[0].bmdma_addr = pci_resource_start(pdev, 4)+8; + + ata_std_ports(&probe_ent[0].port[0]); + ata_std_ports(&probe_ent[1].port[0]); + + return probe_ent; +} + /** * ata_pci_init_one - Initialize/register PCI IDE host controller * @pdev: Controller to be initialized @@ -3052,20 +3551,20 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, unsigned int n_ports) { struct ata_probe_ent *probe_ent, *probe_ent2 = NULL; - struct ata_port_info *port0, *port1; + struct ata_port_info *port[2]; u8 tmp8, mask; unsigned int legacy_mode = 0; int rc; DPRINTK("ENTER\n"); - port0 = port_info[0]; + port[0] = port_info[0]; if (n_ports > 1) - port1 = port_info[1]; + port[1] = port_info[1]; else - port1 = port0; + port[1] = port[0]; - if ((port0->host_flags & ATA_FLAG_NO_LEGACY) == 0) { + if ((port[0]->host_flags & ATA_FLAG_NO_LEGACY) == 0) { /* TODO: support transitioning to native mode? */ pci_read_config_byte(pdev, PCI_CLASS_PROG, &tmp8); mask = (1 << 2) | (1 << 0); @@ -3126,75 +3625,17 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, if (rc) goto err_out_regions; - probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL); + if (legacy_mode) { + probe_ent = ata_pci_init_legacy_mode(pdev, port); + if (probe_ent) + probe_ent2 = &probe_ent[1]; + } else + probe_ent = ata_pci_init_native_mode(pdev, port); if (!probe_ent) { rc = -ENOMEM; goto err_out_regions; } - memset(probe_ent, 0, sizeof(*probe_ent)); - probe_ent->pdev = pdev; - INIT_LIST_HEAD(&probe_ent->node); - - if (legacy_mode) { - probe_ent2 = kmalloc(sizeof(*probe_ent), GFP_KERNEL); - if (!probe_ent2) { - rc = -ENOMEM; - goto err_out_free_ent; - } - - memset(probe_ent2, 0, sizeof(*probe_ent)); - probe_ent2->pdev = pdev; - INIT_LIST_HEAD(&probe_ent2->node); - } - - probe_ent->port[0].bmdma_addr = pci_resource_start(pdev, 4); - probe_ent->sht = port0->sht; - probe_ent->host_flags = port0->host_flags; - probe_ent->pio_mask = port0->pio_mask; - probe_ent->udma_mask = port0->udma_mask; - probe_ent->port_ops = port0->port_ops; - - if (legacy_mode) { - probe_ent->port[0].cmd_addr = 0x1f0; - probe_ent->port[0].altstatus_addr = - probe_ent->port[0].ctl_addr = 0x3f6; - probe_ent->n_ports = 1; - probe_ent->irq = 14; - ata_std_ports(&probe_ent->port[0]); - - probe_ent2->port[0].cmd_addr = 0x170; - probe_ent2->port[0].altstatus_addr = - probe_ent2->port[0].ctl_addr = 0x376; - probe_ent2->port[0].bmdma_addr = pci_resource_start(pdev, 4)+8; - probe_ent2->n_ports = 1; - probe_ent2->irq = 15; - ata_std_ports(&probe_ent2->port[0]); - - probe_ent2->sht = port1->sht; - probe_ent2->host_flags = port1->host_flags; - probe_ent2->pio_mask = port1->pio_mask; - probe_ent2->udma_mask = port1->udma_mask; - probe_ent2->port_ops = port1->port_ops; - } else { - probe_ent->port[0].cmd_addr = pci_resource_start(pdev, 0); - ata_std_ports(&probe_ent->port[0]); - probe_ent->port[0].altstatus_addr = - probe_ent->port[0].ctl_addr = - pci_resource_start(pdev, 1) | ATA_PCI_CTL_OFS; - - probe_ent->port[1].cmd_addr = pci_resource_start(pdev, 2); - ata_std_ports(&probe_ent->port[1]); - probe_ent->port[1].altstatus_addr = - probe_ent->port[1].ctl_addr = - pci_resource_start(pdev, 3) | ATA_PCI_CTL_OFS; - probe_ent->port[1].bmdma_addr = pci_resource_start(pdev, 4) + 8; - - probe_ent->n_ports = 2; - probe_ent->irq = pdev->irq; - probe_ent->irq_flags = SA_SHIRQ; - } - pci_set_master(pdev); /* FIXME: check ata_device_add return */ @@ -3203,17 +3644,13 @@ int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_info, ata_device_add(probe_ent); if (legacy_mode & (1 << 1)) ata_device_add(probe_ent2); - kfree(probe_ent2); } else { ata_device_add(probe_ent); - assert(probe_ent2 == NULL); } kfree(probe_ent); return 0; -err_out_free_ent: - kfree(probe_ent); err_out_regions: if (legacy_mode & (1 << 0)) release_region(0x1f0, 8); @@ -3363,34 +3800,36 @@ EXPORT_SYMBOL_GPL(ata_sg_init_one); EXPORT_SYMBOL_GPL(ata_qc_complete); EXPORT_SYMBOL_GPL(ata_qc_issue_prot); EXPORT_SYMBOL_GPL(ata_eng_timeout); -EXPORT_SYMBOL_GPL(ata_tf_load_pio); -EXPORT_SYMBOL_GPL(ata_tf_load_mmio); -EXPORT_SYMBOL_GPL(ata_tf_read_pio); -EXPORT_SYMBOL_GPL(ata_tf_read_mmio); +EXPORT_SYMBOL_GPL(ata_tf_load); +EXPORT_SYMBOL_GPL(ata_tf_read); +EXPORT_SYMBOL_GPL(ata_noop_dev_select); +EXPORT_SYMBOL_GPL(ata_std_dev_select); EXPORT_SYMBOL_GPL(ata_tf_to_fis); EXPORT_SYMBOL_GPL(ata_tf_from_fis); -EXPORT_SYMBOL_GPL(ata_check_status_pio); -EXPORT_SYMBOL_GPL(ata_check_status_mmio); -EXPORT_SYMBOL_GPL(ata_exec_command_pio); -EXPORT_SYMBOL_GPL(ata_exec_command_mmio); +EXPORT_SYMBOL_GPL(ata_pci_init_legacy_mode); +EXPORT_SYMBOL_GPL(ata_pci_init_native_mode); +EXPORT_SYMBOL_GPL(ata_check_status); +EXPORT_SYMBOL_GPL(ata_exec_command); EXPORT_SYMBOL_GPL(ata_port_start); EXPORT_SYMBOL_GPL(ata_port_stop); EXPORT_SYMBOL_GPL(ata_interrupt); EXPORT_SYMBOL_GPL(ata_qc_prep); -EXPORT_SYMBOL_GPL(ata_bmdma_setup_pio); -EXPORT_SYMBOL_GPL(ata_bmdma_start_pio); -EXPORT_SYMBOL_GPL(ata_bmdma_setup_mmio); -EXPORT_SYMBOL_GPL(ata_bmdma_start_mmio); +EXPORT_SYMBOL_GPL(ata_bmdma_setup); +EXPORT_SYMBOL_GPL(ata_bmdma_start); EXPORT_SYMBOL_GPL(ata_bmdma_irq_clear); EXPORT_SYMBOL_GPL(ata_port_probe); EXPORT_SYMBOL_GPL(sata_phy_reset); +EXPORT_SYMBOL_GPL(__sata_phy_reset); EXPORT_SYMBOL_GPL(ata_bus_reset); EXPORT_SYMBOL_GPL(ata_port_disable); EXPORT_SYMBOL_GPL(ata_pci_init_one); EXPORT_SYMBOL_GPL(ata_pci_remove_one); +EXPORT_SYMBOL_GPL(ata_scsi_ioctl); EXPORT_SYMBOL_GPL(ata_scsi_queuecmd); EXPORT_SYMBOL_GPL(ata_scsi_error); EXPORT_SYMBOL_GPL(ata_scsi_slave_config); EXPORT_SYMBOL_GPL(ata_scsi_release); EXPORT_SYMBOL_GPL(ata_host_intr); +EXPORT_SYMBOL_GPL(ata_dev_classify); EXPORT_SYMBOL_GPL(ata_dev_id_string); +EXPORT_SYMBOL_GPL(ata_scsi_simulate); diff --git a/drivers/scsi/libata-scsi.c b/drivers/scsi/libata-scsi.c index b3340607b..d1d2062e9 100644 --- a/drivers/scsi/libata-scsi.c +++ b/drivers/scsi/libata-scsi.c @@ -29,13 +29,13 @@ #include "scsi.h" #include #include +#include #include "libata.h" typedef unsigned int (*ata_xlat_func_t)(struct ata_queued_cmd *qc, u8 *scsicmd); -static void ata_scsi_simulate(struct ata_port *ap, struct ata_device *dev, - struct scsi_cmnd *cmd, - void (*done)(struct scsi_cmnd *)); +static struct ata_device * +ata_scsi_find_dev(struct ata_port *ap, struct scsi_device *scsidev); /** @@ -67,6 +67,43 @@ int ata_std_bios_param(struct scsi_device *sdev, struct block_device *bdev, return 0; } +int ata_scsi_ioctl(struct scsi_device *scsidev, int cmd, void __user *arg) +{ + struct ata_port *ap; + struct ata_device *dev; + int val = -EINVAL, rc = -EINVAL; + + ap = (struct ata_port *) &scsidev->host->hostdata[0]; + if (!ap) + goto out; + + dev = ata_scsi_find_dev(ap, scsidev); + if (!dev) { + rc = -ENODEV; + goto out; + } + + switch (cmd) { + case ATA_IOC_GET_IO32: + val = 0; + if (copy_to_user(arg, &val, 1)) + return -EFAULT; + return 0; + + case ATA_IOC_SET_IO32: + val = (unsigned long) arg; + if (val != 0) + return -EINVAL; + return 0; + + default: + rc = -ENOTTY; + break; + } + +out: + return rc; +} /** * ata_scsi_qc_new - acquire new ata_queued_cmd reference @@ -120,34 +157,158 @@ struct ata_queued_cmd *ata_scsi_qc_new(struct ata_port *ap, * ata_to_sense_error - convert ATA error to SCSI error * @qc: Command that we are erroring out * - * Converts an ATA error into a SCSI error. - * - * Right now, this routine is laughably primitive. We - * don't even examine what ATA told us, we just look at - * the command data direction, and return a fatal SCSI - * sense error based on that. + * Converts an ATA error into a SCSI error. While we are at it + * we decode and dump the ATA error for the user so that they + * have some idea what really happened at the non make-believe + * layer. * * LOCKING: * spin_lock_irqsave(host_set lock) */ -void ata_to_sense_error(struct ata_queued_cmd *qc) +void ata_to_sense_error(struct ata_queued_cmd *qc, u8 drv_stat) { struct scsi_cmnd *cmd = qc->scsicmd; + u8 err = 0; + unsigned char *sb = cmd->sense_buffer; + /* Based on the 3ware driver translation table */ + static unsigned char sense_table[][4] = { + /* BBD|ECC|ID|MAR */ + {0xd1, ABORTED_COMMAND, 0x00, 0x00}, // Device busy Aborted command + /* BBD|ECC|ID */ + {0xd0, ABORTED_COMMAND, 0x00, 0x00}, // Device busy Aborted command + /* ECC|MC|MARK */ + {0x61, HARDWARE_ERROR, 0x00, 0x00}, // Device fault Hardware error + /* ICRC|ABRT */ /* NB: ICRC & !ABRT is BBD */ + {0x84, ABORTED_COMMAND, 0x47, 0x00}, // Data CRC error SCSI parity error + /* MC|ID|ABRT|TRK0|MARK */ + {0x37, NOT_READY, 0x04, 0x00}, // Unit offline Not ready + /* MCR|MARK */ + {0x09, NOT_READY, 0x04, 0x00}, // Unrecovered disk error Not ready + /* Bad address mark */ + {0x01, MEDIUM_ERROR, 0x13, 0x00}, // Address mark not found Address mark not found for data field + /* TRK0 */ + {0x02, HARDWARE_ERROR, 0x00, 0x00}, // Track 0 not found Hardware error + /* Abort & !ICRC */ + {0x04, ABORTED_COMMAND, 0x00, 0x00}, // Aborted command Aborted command + /* Media change request */ + {0x08, NOT_READY, 0x04, 0x00}, // Media change request FIXME: faking offline + /* SRV */ + {0x10, ABORTED_COMMAND, 0x14, 0x00}, // ID not found Recorded entity not found + /* Media change */ + {0x08, NOT_READY, 0x04, 0x00}, // Media change FIXME: faking offline + /* ECC */ + {0x40, MEDIUM_ERROR, 0x11, 0x04}, // Uncorrectable ECC error Unrecovered read error + /* BBD - block marked bad */ + {0x80, MEDIUM_ERROR, 0x11, 0x04}, // Block marked bad Medium error, unrecovered read error + {0xFF, 0xFF, 0xFF, 0xFF}, // END mark + }; + static unsigned char stat_table[][4] = { + /* Must be first because BUSY means no other bits valid */ + {0x80, ABORTED_COMMAND, 0x47, 0x00}, // Busy, fake parity for now + {0x20, HARDWARE_ERROR, 0x00, 0x00}, // Device fault + {0x08, ABORTED_COMMAND, 0x47, 0x00}, // Timed out in xfer, fake parity for now + {0x04, RECOVERED_ERROR, 0x11, 0x00}, // Recovered ECC error Medium error, recovered + {0xFF, 0xFF, 0xFF, 0xFF}, // END mark + }; + int i = 0; cmd->result = SAM_STAT_CHECK_CONDITION; - - cmd->sense_buffer[0] = 0x70; - cmd->sense_buffer[2] = MEDIUM_ERROR; - cmd->sense_buffer[7] = 14 - 8; /* addnl. sense len. FIXME: correct? */ - + + /* + * Is this an error we can process/parse + */ + + if(drv_stat & ATA_ERR) + /* Read the err bits */ + err = ata_chk_err(qc->ap); + + /* Display the ATA level error info */ + + printk(KERN_WARNING "ata%u: status=0x%02x { ", qc->ap->id, drv_stat); + if(drv_stat & 0x80) + { + printk("Busy "); + err = 0; /* Data is not valid in this case */ + } + else { + if(drv_stat & 0x40) printk("DriveReady "); + if(drv_stat & 0x20) printk("DeviceFault "); + if(drv_stat & 0x10) printk("SeekComplete "); + if(drv_stat & 0x08) printk("DataRequest "); + if(drv_stat & 0x04) printk("CorrectedError "); + if(drv_stat & 0x02) printk("Index "); + if(drv_stat & 0x01) printk("Error "); + } + printk("}\n"); + + if(err) + { + printk(KERN_WARNING "ata%u: error=0x%02x { ", qc->ap->id, err); + if(err & 0x04) printk("DriveStatusError "); + if(err & 0x80) + { + if(err & 0x04) + printk("BadCRC "); + else + printk("Sector "); + } + if(err & 0x40) printk("UncorrectableError "); + if(err & 0x10) printk("SectorIdNotFound "); + if(err & 0x02) printk("TrackZeroNotFound "); + if(err & 0x01) printk("AddrMarkNotFound "); + printk("}\n"); + + /* Should we dump sector info here too ?? */ + } + + + /* Look for err */ + while(sense_table[i][0] != 0xFF) + { + /* Look for best matches first */ + if((sense_table[i][0] & err) == sense_table[i][0]) + { + sb[0] = 0x70; + sb[2] = sense_table[i][1]; + sb[7] = 0x0a; + sb[12] = sense_table[i][2]; + sb[13] = sense_table[i][3]; + return; + } + i++; + } + /* No immediate match */ + if(err) + printk(KERN_DEBUG "ata%u: no sense translation for 0x%02x\n", qc->ap->id, err); + + /* Fall back to interpreting status bits */ + while(stat_table[i][0] != 0xFF) + { + if(stat_table[i][0] & drv_stat) + { + sb[0] = 0x70; + sb[2] = stat_table[i][1]; + sb[7] = 0x0a; + sb[12] = stat_table[i][2]; + sb[13] = stat_table[i][3]; + return; + } + i++; + } + /* No error ?? */ + printk(KERN_ERR "ata%u: called with no error (%02X)!\n", qc->ap->id, drv_stat); /* additional-sense-code[-qualifier] */ + + sb[0] = 0x70; + sb[2] = MEDIUM_ERROR; + sb[7] = 0x0A; if (cmd->sc_data_direction == SCSI_DATA_READ) { - cmd->sense_buffer[12] = 0x11; /* "unrecovered read error" */ - cmd->sense_buffer[13] = 0x04; + sb[12] = 0x11; /* "unrecovered read error" */ + sb[13] = 0x04; } else { - cmd->sense_buffer[12] = 0x0C; /* "write error - */ - cmd->sense_buffer[13] = 0x02; /* auto-reallocation failed" */ + sb[12] = 0x0C; /* "write error - */ + sb[13] = 0x02; /* auto-reallocation failed" */ } } @@ -214,10 +375,134 @@ int ata_scsi_error(struct Scsi_Host *host) ap = (struct ata_port *) &host->hostdata[0]; ap->ops->eng_timeout(ap); + /* TODO: this is per-command; when queueing is supported + * this code will either change or move to a more + * appropriate place + */ + host->host_failed--; + DPRINTK("EXIT\n"); return 0; } +/** + * ata_scsi_flush_xlat - Translate SCSI SYNCHRONIZE CACHE command + * @qc: Storage for translated ATA taskfile + * @scsicmd: SCSI command to translate (ignored) + * + * Sets up an ATA taskfile to issue FLUSH CACHE or + * FLUSH CACHE EXT. + * + * LOCKING: + * spin_lock_irqsave(host_set lock) + * + * RETURNS: + * Zero on success, non-zero on error. + */ + +static unsigned int ata_scsi_flush_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) +{ + struct ata_taskfile *tf = &qc->tf; + + tf->flags |= ATA_TFLAG_DEVICE; + tf->protocol = ATA_PROT_NODATA; + + if ((tf->flags & ATA_TFLAG_LBA48) && + (ata_id_has_flush_ext(qc->dev->id))) + tf->command = ATA_CMD_FLUSH_EXT; + else + tf->command = ATA_CMD_FLUSH; + + return 0; +} + +/** + * ata_scsi_verify_xlat - Translate SCSI VERIFY command into an ATA one + * @qc: Storage for translated ATA taskfile + * @scsicmd: SCSI command to translate + * + * Converts SCSI VERIFY command to an ATA READ VERIFY command. + * + * LOCKING: + * spin_lock_irqsave(host_set lock) + * + * RETURNS: + * Zero on success, non-zero on error. + */ + +static unsigned int ata_scsi_verify_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) +{ + struct ata_taskfile *tf = &qc->tf; + unsigned int lba48 = tf->flags & ATA_TFLAG_LBA48; + u64 dev_sectors = qc->dev->n_sectors; + u64 sect = 0; + u32 n_sect = 0; + + tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; + tf->protocol = ATA_PROT_NODATA; + tf->device |= ATA_LBA; + + if (scsicmd[0] == VERIFY) { + sect |= ((u64)scsicmd[2]) << 24; + sect |= ((u64)scsicmd[3]) << 16; + sect |= ((u64)scsicmd[4]) << 8; + sect |= ((u64)scsicmd[5]); + + n_sect |= ((u32)scsicmd[7]) << 8; + n_sect |= ((u32)scsicmd[8]); + } + + else if (scsicmd[0] == VERIFY_16) { + sect |= ((u64)scsicmd[2]) << 56; + sect |= ((u64)scsicmd[3]) << 48; + sect |= ((u64)scsicmd[4]) << 40; + sect |= ((u64)scsicmd[5]) << 32; + sect |= ((u64)scsicmd[6]) << 24; + sect |= ((u64)scsicmd[7]) << 16; + sect |= ((u64)scsicmd[8]) << 8; + sect |= ((u64)scsicmd[9]); + + n_sect |= ((u32)scsicmd[10]) << 24; + n_sect |= ((u32)scsicmd[11]) << 16; + n_sect |= ((u32)scsicmd[12]) << 8; + n_sect |= ((u32)scsicmd[13]); + } + + else + return 1; + + if (!n_sect) + return 1; + if (sect >= dev_sectors) + return 1; + if ((sect + n_sect) > dev_sectors) + return 1; + if (lba48) { + if (n_sect > (64 * 1024)) + return 1; + } else { + if (n_sect > 256) + return 1; + } + + if (lba48) { + tf->hob_nsect = (n_sect >> 8) & 0xff; + + tf->hob_lbah = (sect >> 40) & 0xff; + tf->hob_lbam = (sect >> 32) & 0xff; + tf->hob_lbal = (sect >> 24) & 0xff; + } else + tf->device |= (sect >> 24) & 0xf; + + tf->nsect = n_sect & 0xff; + + tf->hob_lbah = (sect >> 16) & 0xff; + tf->hob_lbam = (sect >> 8) & 0xff; + tf->hob_lbal = sect & 0xff; + + return 0; +} + /** * ata_scsi_rw_xlat - Translate SCSI r/w command into an ATA one * @qc: Storage for translated ATA taskfile @@ -244,10 +529,6 @@ static unsigned int ata_scsi_rw_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) unsigned int lba48 = tf->flags & ATA_TFLAG_LBA48; tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; - tf->hob_nsect = 0; - tf->hob_lbal = 0; - tf->hob_lbam = 0; - tf->hob_lbah = 0; tf->protocol = qc->dev->xfer_protocol; tf->device |= ATA_LBA; @@ -339,14 +620,10 @@ static int ata_scsi_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat) { struct scsi_cmnd *cmd = qc->scsicmd; - if (unlikely(drv_stat & (ATA_ERR | ATA_BUSY | ATA_DRQ))) { - if (is_atapi_taskfile(&qc->tf)) - cmd->result = SAM_STAT_CHECK_CONDITION; - else - ata_to_sense_error(qc); - } else { + if (unlikely(drv_stat & (ATA_ERR | ATA_BUSY | ATA_DRQ))) + ata_to_sense_error(qc, drv_stat); + else cmd->result = SAM_STAT_GOOD; - } qc->scsidone(cmd); @@ -451,7 +728,6 @@ static unsigned int ata_scsi_rbuf_get(struct scsi_cmnd *cmd, u8 **buf_out) buflen = cmd->request_bufflen; } - memset(buf, 0, buflen); *buf_out = buf; return buflen; } @@ -466,19 +742,19 @@ static unsigned int ata_scsi_rbuf_get(struct scsi_cmnd *cmd, u8 **buf_out) * spin_lock_irqsave(host_set lock) */ -static inline void ata_scsi_rbuf_put(struct scsi_cmnd *cmd) +static inline void ata_scsi_rbuf_put(struct scsi_cmnd *cmd, u8 *buf) { if (cmd->use_sg) { struct scatterlist *sg; sg = (struct scatterlist *) cmd->request_buffer; - kunmap_atomic(sg->page, KM_USER0); + kunmap_atomic(buf - sg->offset, KM_USER0); } } /** * ata_scsi_rbuf_fill - wrapper for SCSI command simulators - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @actor: Callback hook for desired SCSI command simulator * * Takes care of the hard work of simulating a SCSI command... @@ -500,8 +776,9 @@ void ata_scsi_rbuf_fill(struct ata_scsi_args *args, struct scsi_cmnd *cmd = args->cmd; buflen = ata_scsi_rbuf_get(cmd, &rbuf); + memset(rbuf, 0, buflen); rc = actor(args, rbuf, buflen); - ata_scsi_rbuf_put(cmd); + ata_scsi_rbuf_put(cmd, rbuf); if (rc) ata_bad_cdb(cmd, args->done); @@ -513,7 +790,7 @@ void ata_scsi_rbuf_fill(struct ata_scsi_args *args, /** * ata_scsiop_inq_std - Simulate INQUIRY command - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -527,28 +804,26 @@ void ata_scsi_rbuf_fill(struct ata_scsi_args *args, unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf, unsigned int buflen) { - struct ata_device *dev = args->dev; - u8 hdr[] = { TYPE_DISK, 0, 0x5, /* claim SPC-3 version compatibility */ 2, - 96 - 4 + 95 - 4 }; /* set scsi removeable (RMB) bit per ata bit */ - if (ata_id_removeable(dev)) + if (ata_id_removeable(args->id)) hdr[1] |= (1 << 7); VPRINTK("ENTER\n"); memcpy(rbuf, hdr, sizeof(hdr)); - if (buflen > 36) { + if (buflen > 35) { memcpy(&rbuf[8], "ATA ", 8); - ata_dev_id_string(dev, &rbuf[16], ATA_ID_PROD_OFS, 16); - ata_dev_id_string(dev, &rbuf[32], ATA_ID_FW_REV_OFS, 4); + ata_dev_id_string(args->id, &rbuf[16], ATA_ID_PROD_OFS, 16); + ata_dev_id_string(args->id, &rbuf[32], ATA_ID_FW_REV_OFS, 4); if (rbuf[32] == 0 || rbuf[32] == ' ') memcpy(&rbuf[32], "n/a ", 4); } @@ -572,7 +847,7 @@ unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf, /** * ata_scsiop_inq_00 - Simulate INQUIRY EVPD page 0, list of pages - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -600,7 +875,7 @@ unsigned int ata_scsiop_inq_00(struct ata_scsi_args *args, u8 *rbuf, /** * ata_scsiop_inq_80 - Simulate INQUIRY EVPD page 80, device serial number - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -621,8 +896,8 @@ unsigned int ata_scsiop_inq_80(struct ata_scsi_args *args, u8 *rbuf, }; memcpy(rbuf, hdr, sizeof(hdr)); - if (buflen > (ATA_SERNO_LEN + 4)) - ata_dev_id_string(args->dev, (unsigned char *) &rbuf[4], + if (buflen > (ATA_SERNO_LEN + 4 - 1)) + ata_dev_id_string(args->id, (unsigned char *) &rbuf[4], ATA_ID_SERNO_OFS, ATA_SERNO_LEN); return 0; @@ -632,7 +907,7 @@ static const char *inq_83_str = "Linux ATA-SCSI simulator"; /** * ata_scsiop_inq_83 - Simulate INQUIRY EVPD page 83, device identity - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -650,7 +925,7 @@ unsigned int ata_scsiop_inq_83(struct ata_scsi_args *args, u8 *rbuf, rbuf[3] = 4 + strlen(inq_83_str); /* page len */ /* our one and only identification descriptor (vendor-specific) */ - if (buflen > (strlen(inq_83_str) + 4 + 4)) { + if (buflen > (strlen(inq_83_str) + 4 + 4 - 1)) { rbuf[4 + 0] = 2; /* code set: ASCII */ rbuf[4 + 3] = strlen(inq_83_str); memcpy(rbuf + 4 + 4, inq_83_str, strlen(inq_83_str)); @@ -661,7 +936,7 @@ unsigned int ata_scsiop_inq_83(struct ata_scsi_args *args, u8 *rbuf, /** * ata_scsiop_noop - - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -709,7 +984,7 @@ static void ata_msense_push(u8 **ptr_io, const u8 *last, /** * ata_msense_caching - Simulate MODE SENSE caching info page - * @dev: Device associated with this MODE SENSE command + * @id: device IDENTIFY data * @ptr_io: (input/output) Location to store more output data * @last: End of output data buffer * @@ -721,7 +996,7 @@ static void ata_msense_push(u8 **ptr_io, const u8 *last, * None. */ -static unsigned int ata_msense_caching(struct ata_device *dev, u8 **ptr_io, +static unsigned int ata_msense_caching(u16 *id, u8 **ptr_io, const u8 *last) { u8 page[] = { @@ -731,9 +1006,9 @@ static unsigned int ata_msense_caching(struct ata_device *dev, u8 **ptr_io, 0, 0, 0, 0, 0, 0, 0, 0 /* 8 zeroes */ }; - if (ata_id_wcache_enabled(dev)) + if (ata_id_wcache_enabled(id)) page[2] |= (1 << 2); /* write cache enable */ - if (!ata_id_rahead_enabled(dev)) + if (!ata_id_rahead_enabled(id)) page[12] |= (1 << 5); /* disable read ahead */ ata_msense_push(ptr_io, last, page, sizeof(page)); @@ -787,7 +1062,7 @@ static unsigned int ata_msense_rw_recovery(u8 **ptr_io, const u8 *last) /** * ata_scsiop_mode_sense - Simulate MODE SENSE 6, 10 commands - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -801,7 +1076,6 @@ unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf, unsigned int buflen) { u8 *scsicmd = args->cmd->cmnd, *p, *last; - struct ata_device *dev = args->dev; unsigned int page_control, six_byte, output_len; VPRINTK("ENTER\n"); @@ -829,7 +1103,7 @@ unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf, break; case 0x08: /* caching */ - output_len += ata_msense_caching(dev, &p, last); + output_len += ata_msense_caching(args->id, &p, last); break; case 0x0a: { /* control mode */ @@ -839,7 +1113,7 @@ unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf, case 0x3f: /* all pages */ output_len += ata_msense_rw_recovery(&p, last); - output_len += ata_msense_caching(dev, &p, last); + output_len += ata_msense_caching(args->id, &p, last); output_len += ata_msense_ctl_mode(&p, last); break; @@ -861,7 +1135,7 @@ unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf, /** * ata_scsiop_read_cap - Simulate READ CAPACITY[ 16] commands - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -874,11 +1148,15 @@ unsigned int ata_scsiop_mode_sense(struct ata_scsi_args *args, u8 *rbuf, unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf, unsigned int buflen) { - u64 n_sectors = args->dev->n_sectors; + u64 n_sectors; u32 tmp; VPRINTK("ENTER\n"); + if (ata_id_has_lba48(args->id)) + n_sectors = ata_id_u64(args->id, 100); + else + n_sectors = ata_id_u32(args->id, 60); n_sectors--; /* ATA TotalUserSectors - 1 */ tmp = n_sectors; /* note: truncates, if lba48 */ @@ -916,7 +1194,7 @@ unsigned int ata_scsiop_read_cap(struct ata_scsi_args *args, u8 *rbuf, /** * ata_scsiop_report_luns - Simulate REPORT LUNS command - * @args: Port / device / SCSI command of interest. + * @args: device IDENTIFY data / SCSI command of interest. * @rbuf: Response buffer, to which simulated SCSI cmd output is sent. * @buflen: Response buffer length. * @@ -964,6 +1242,37 @@ void ata_scsi_badcmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *), u8 done(cmd); } +static int atapi_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat) +{ + struct scsi_cmnd *cmd = qc->scsicmd; + + if (unlikely(drv_stat & (ATA_ERR | ATA_BUSY | ATA_DRQ))) { + DPRINTK("request check condition\n"); + + cmd->result = SAM_STAT_CHECK_CONDITION; + + qc->scsidone(cmd); + + return 1; + } else { + u8 *scsicmd = cmd->cmnd; + + if (scsicmd[0] == INQUIRY) { + u8 *buf = NULL; + unsigned int buflen; + + buflen = ata_scsi_rbuf_get(cmd, &buf); + buf[2] = 0x5; + buf[3] = (buf[3] & 0xf0) | 2; + ata_scsi_rbuf_put(cmd, buf); + } + cmd->result = SAM_STAT_GOOD; + } + + qc->scsidone(cmd); + + return 0; +} /** * atapi_xlat - Initialize PACKET taskfile * @qc: command structure to be initialized @@ -979,6 +1288,13 @@ void ata_scsi_badcmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *), u8 static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) { struct scsi_cmnd *cmd = qc->scsicmd; + struct ata_device *dev = qc->dev; + int using_pio = (dev->flags & ATA_DFLAG_PIO); + int nodata = (cmd->sc_data_direction == SCSI_DATA_NONE); + + memcpy(&qc->cdb, scsicmd, qc->ap->cdb_len); + + qc->complete_fn = atapi_qc_complete; qc->tf.flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; if (cmd->sc_data_direction == SCSI_DATA_WRITE) { @@ -988,19 +1304,18 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) qc->tf.command = ATA_CMD_PACKET; - /* no data - interrupt-driven */ - if (cmd->sc_data_direction == SCSI_DATA_NONE) - qc->tf.protocol = ATA_PROT_ATAPI; - - /* PIO data xfer - polling */ - else if ((qc->flags & ATA_QCFLAG_DMA) == 0) { - ata_qc_set_polling(qc); - qc->tf.protocol = ATA_PROT_ATAPI; + /* no data, or PIO data xfer */ + if (using_pio || nodata) { + if (nodata) + qc->tf.protocol = ATA_PROT_ATAPI_NODATA; + else + qc->tf.protocol = ATA_PROT_ATAPI; qc->tf.lbam = (8 * 1024) & 0xff; qc->tf.lbah = (8 * 1024) >> 8; + } - /* DMA data xfer - interrupt-driven */ - } else { + /* DMA data xfer */ + else { qc->tf.protocol = ATA_PROT_ATAPI_DMA; qc->tf.feature |= ATAPI_PKT_DMA; @@ -1011,6 +1326,8 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) #endif } + qc->nbytes = cmd->bufflen; + return 0; } @@ -1031,19 +1348,19 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc, u8 *scsicmd) * Associated ATA device, or %NULL if not found. */ -static inline struct ata_device * -ata_scsi_find_dev(struct ata_port *ap, struct scsi_cmnd *cmd) +static struct ata_device * +ata_scsi_find_dev(struct ata_port *ap, struct scsi_device *scsidev) { struct ata_device *dev; /* skip commands not addressed to targets we simulate */ - if (likely(cmd->device->id < ATA_MAX_DEVICES)) - dev = &ap->device[cmd->device->id]; + if (likely(scsidev->id < ATA_MAX_DEVICES)) + dev = &ap->device[scsidev->id]; else return NULL; - if (unlikely((cmd->device->channel != 0) || - (cmd->device->lun != 0))) + if (unlikely((scsidev->channel != 0) || + (scsidev->lun != 0))) return NULL; if (unlikely(!ata_dev_present(dev))) @@ -1059,6 +1376,7 @@ ata_scsi_find_dev(struct ata_port *ap, struct scsi_cmnd *cmd) /** * ata_get_xlat_func - check if SCSI to ATA translation is possible + * @dev: ATA device * @cmd: SCSI command opcode to consider * * Look up the SCSI command given, and determine whether the @@ -1068,7 +1386,7 @@ ata_scsi_find_dev(struct ata_port *ap, struct scsi_cmnd *cmd) * Pointer to translation function if possible, %NULL if not. */ -static inline ata_xlat_func_t ata_get_xlat_func(u8 cmd) +static inline ata_xlat_func_t ata_get_xlat_func(struct ata_device *dev, u8 cmd) { switch (cmd) { case READ_6: @@ -1079,6 +1397,15 @@ static inline ata_xlat_func_t ata_get_xlat_func(u8 cmd) case WRITE_10: case WRITE_16: return ata_scsi_rw_xlat; + + case SYNCHRONIZE_CACHE: + if (ata_try_flush_cache(dev)) + return ata_scsi_flush_xlat; + break; + + case VERIFY: + case VERIFY_16: + return ata_scsi_verify_xlat; } return NULL; @@ -1096,11 +1423,12 @@ static inline void ata_scsi_dump_cdb(struct ata_port *ap, struct scsi_cmnd *cmd) { #ifdef ATA_DEBUG + struct scsi_device *scsidev = cmd->device; u8 *scsicmd = cmd->cmnd; DPRINTK("CDB (%u:%d,%d,%d) %02x %02x %02x %02x %02x %02x %02x %02x %02x\n", ap->id, - cmd->device->channel, cmd->device->id, cmd->device->lun, + scsidev->channel, scsidev->id, scsidev->lun, scsicmd[0], scsicmd[1], scsicmd[2], scsicmd[3], scsicmd[4], scsicmd[5], scsicmd[6], scsicmd[7], scsicmd[8]); @@ -1130,12 +1458,13 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) { struct ata_port *ap; struct ata_device *dev; + struct scsi_device *scsidev = cmd->device; - ap = (struct ata_port *) &cmd->device->host->hostdata[0]; + ap = (struct ata_port *) &scsidev->host->hostdata[0]; ata_scsi_dump_cdb(ap, cmd); - dev = ata_scsi_find_dev(ap, cmd); + dev = ata_scsi_find_dev(ap, scsidev); if (unlikely(!dev)) { cmd->result = (DID_BAD_TARGET << 16); done(cmd); @@ -1143,12 +1472,13 @@ int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) } if (dev->class == ATA_DEV_ATA) { - ata_xlat_func_t xlat_func = ata_get_xlat_func(cmd->cmnd[0]); + ata_xlat_func_t xlat_func = ata_get_xlat_func(dev, + cmd->cmnd[0]); if (xlat_func) ata_scsi_translate(ap, dev, cmd, done, xlat_func); else - ata_scsi_simulate(ap, dev, cmd, done); + ata_scsi_simulate(dev->id, cmd, done); } else ata_scsi_translate(ap, dev, cmd, done, atapi_xlat); @@ -1158,8 +1488,7 @@ out_unlock: /** * ata_scsi_simulate - simulate SCSI command on ATA device - * @ap: Port to which ATA device is attached. - * @dev: Target device for CDB. + * @id: current IDENTIFY data for target device. * @cmd: SCSI command being sent to device. * @done: SCSI command completion function. * @@ -1170,21 +1499,20 @@ out_unlock: * spin_lock_irqsave(host_set lock) */ -static void ata_scsi_simulate(struct ata_port *ap, struct ata_device *dev, - struct scsi_cmnd *cmd, - void (*done)(struct scsi_cmnd *)) +void ata_scsi_simulate(u16 *id, + struct scsi_cmnd *cmd, + void (*done)(struct scsi_cmnd *)) { struct ata_scsi_args args; u8 *scsicmd = cmd->cmnd; - args.ap = ap; - args.dev = dev; + args.id = id; args.cmd = cmd; args.done = done; switch(scsicmd[0]) { /* no-op's, complete with success */ - case SYNCHRONIZE_CACHE: /* FIXME: temporary */ + case SYNCHRONIZE_CACHE: case REZERO_UNIT: case SEEK_6: case SEEK_10: diff --git a/drivers/scsi/libata.h b/drivers/scsi/libata.h index 460c72c1b..6c3b13ec9 100644 --- a/drivers/scsi/libata.h +++ b/drivers/scsi/libata.h @@ -29,9 +29,8 @@ #define DRV_VERSION "1.02" /* must be exactly four chars */ struct ata_scsi_args { - struct ata_port *ap; - struct ata_device *dev; - struct scsi_cmnd *cmd; + u16 *id; + struct scsi_cmnd *cmd; void (*done)(struct scsi_cmnd *); }; @@ -42,10 +41,11 @@ extern int ata_qc_issue(struct ata_queued_cmd *qc); extern void ata_dev_select(struct ata_port *ap, unsigned int device, unsigned int wait, unsigned int can_sleep); extern void ata_tf_to_host_nolock(struct ata_port *ap, struct ata_taskfile *tf); +extern void swap_buf_le16(u16 *buf, unsigned int buf_words); /* libata-scsi.c */ -extern void ata_to_sense_error(struct ata_queued_cmd *qc); +extern void ata_to_sense_error(struct ata_queued_cmd *qc, u8 drv_stat); extern int ata_scsi_error(struct Scsi_Host *host); extern unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf, unsigned int buflen); diff --git a/drivers/scsi/mac_scsi.c b/drivers/scsi/mac_scsi.c index f343fc704..ef6a0c807 100644 --- a/drivers/scsi/mac_scsi.c +++ b/drivers/scsi/mac_scsi.c @@ -326,6 +326,7 @@ int macscsi_release (struct Scsi_Host *shpnt) { if (shpnt->irq != SCSI_IRQ_NONE) free_irq (shpnt->irq, NCR5380_intr); + NCR5380_exit(shpnt); return 0; } diff --git a/drivers/scsi/mca_53c9x.c b/drivers/scsi/mca_53c9x.c index e64b8ec2f..d959c627a 100644 --- a/drivers/scsi/mca_53c9x.c +++ b/drivers/scsi/mca_53c9x.c @@ -238,15 +238,15 @@ int mca_esp_detect(Scsi_Host_Template *tpnt) /* Optional functions */ - esp->dma_barrier = 0; - esp->dma_drain = 0; - esp->dma_invalidate = 0; - esp->dma_irq_entry = 0; - esp->dma_irq_exit = 0; + esp->dma_barrier = NULL; + esp->dma_drain = NULL; + esp->dma_invalidate = NULL; + esp->dma_irq_entry = NULL; + esp->dma_irq_exit = NULL; esp->dma_led_on = dma_led_on; esp->dma_led_off = dma_led_off; - esp->dma_poll = 0; - esp->dma_reset = 0; + esp->dma_poll = NULL; + esp->dma_reset = NULL; /* Set the command buffer */ diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c index 34d71ed50..bdab1b659 100644 --- a/drivers/scsi/megaraid.c +++ b/drivers/scsi/megaraid.c @@ -25,11 +25,8 @@ * 518, 520, 531, 532 * * This driver is supported by LSI Logic, with assistance from Red Hat, Dell, - * and others. Please send updates to the public mailing list - * linux-megaraid-devel@dell.com, and subscribe to and read archives of this - * list at http://lists.us.dell.com/. - * - * For history of changes, see ChangeLog.megaraid. + * and others. Please send updates to the mailing list + * linux-scsi@vger.kernel.org . * */ @@ -53,9 +50,12 @@ #include "megaraid.h" +#define MEGARAID_MODULE_VERSION "2.00.3" + MODULE_AUTHOR ("LSI Logic Corporation"); MODULE_DESCRIPTION ("LSI Logic MegaRAID driver"); MODULE_LICENSE ("GPL"); +MODULE_VERSION(MEGARAID_MODULE_VERSION); static unsigned int max_cmd_per_lun = DEF_CMD_PER_LUN; MODULE_PARM(max_cmd_per_lun, "i"); @@ -4601,21 +4601,6 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) pci_bus = pdev->bus->number; pci_dev_func = pdev->devfn; - - if(pdev->vendor == PCI_VENDOR_ID_INTEL) /* The megaraid3 stuff reports the id of the intel - part which is not remotely specific to the megaraid */ - { - u16 magic; - /* Don't fall over the Compaq management cards using the same PCI identifier */ - if(pdev->subsystem_vendor == PCI_VENDOR_ID_COMPAQ && - pdev->subsystem_device == 0xC000) - return -ENODEV; - /* Now check the magic signature byte */ - pci_read_config_word(pdev, PCI_CONF_AMISIG, &magic); - if(magic != HBA_SIGNATURE_471 && magic != HBA_SIGNATURE) - return -ENODEV; - /* Ok it is probably a megaraid */ - } /* * The megaraid3 stuff reports the ID of the Intel part which is not diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c index b43feb93c..9735d05ad 100644 --- a/drivers/scsi/nsp32.c +++ b/drivers/scsi/nsp32.c @@ -267,8 +267,8 @@ static void nsp32_prom_stop (nsp32_hw_data *); static int nsp32_prom_read (nsp32_hw_data *, int); static int nsp32_prom_read_bit (nsp32_hw_data *); static void nsp32_prom_write_bit(nsp32_hw_data *, int); -static inline void nsp32_prom_set (nsp32_hw_data *, int, int); -static inline int nsp32_prom_get (nsp32_hw_data *, int); +static void nsp32_prom_set (nsp32_hw_data *, int, int); +static int nsp32_prom_get (nsp32_hw_data *, int); /* debug/warning/info message */ static void nsp32_message (const char *, int, char *, char *, ...); @@ -3342,7 +3342,7 @@ static int nsp32_prom_read(nsp32_hw_data *data, int romaddr) return val; } -static inline void nsp32_prom_set(nsp32_hw_data *data, int bit, int val) +static void nsp32_prom_set(nsp32_hw_data *data, int bit, int val) { int base = data->BaseAddress; int tmp; @@ -3360,7 +3360,7 @@ static inline void nsp32_prom_set(nsp32_hw_data *data, int bit, int val) udelay(10); } -static inline int nsp32_prom_get(nsp32_hw_data *data, int bit) +static int nsp32_prom_get(nsp32_hw_data *data, int bit) { int base = data->BaseAddress; int tmp, ret; diff --git a/drivers/scsi/nsp32.h b/drivers/scsi/nsp32.h index eddb950c5..e5568f24b 100644 --- a/drivers/scsi/nsp32.h +++ b/drivers/scsi/nsp32.h @@ -22,7 +22,6 @@ * VENDOR/DEVICE ID */ #define PCI_VENDOR_ID_IODATA 0x10fc -#define PCI_VENDOR_ID_WORKBIT 0x1145 #define PCI_DEVICE_ID_NINJASCSI_32BI_CBSC_II 0x0005 #define PCI_DEVICE_ID_NINJASCSI_32BI_KME 0xf007 diff --git a/drivers/scsi/pas16.c b/drivers/scsi/pas16.c index 1c9788e2d..78127896a 100644 --- a/drivers/scsi/pas16.c +++ b/drivers/scsi/pas16.c @@ -605,6 +605,7 @@ static int pas16_release(struct Scsi_Host *shost) { if (shost->irq) free_irq(shost->irq, NULL); + NCR5380_exit(shost); if (shost->dma_channel != 0xff) free_dma(shost->dma_channel); if (shost->io_port && shost->n_io_port) diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c index 363d79399..75648dcb6 100644 --- a/drivers/scsi/pcmcia/nsp_cs.c +++ b/drivers/scsi/pcmcia/nsp_cs.c @@ -1528,7 +1528,7 @@ nsp_proc_info( thislength = pos - (buffer + offset); if(thislength < 0) { - *start = 0; + *start = NULL; return 0; } diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c index 917a208d1..34de3fb0e 100644 --- a/drivers/scsi/qla1280.c +++ b/drivers/scsi/qla1280.c @@ -4,7 +4,7 @@ * QLogic QLA1280 (Ultra2) and QLA12160 (Ultra3) SCSI driver * Copyright (C) 2000 Qlogic Corporation (www.qlogic.com) * Copyright (C) 2001-2004 Jes Sorensen, Wild Open Source Inc. -* Copyright (C) 2003 Christoph Hellwig +* Copyright (C) 2003-2004 Christoph Hellwig * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -17,9 +17,12 @@ * General Public License for more details. * ******************************************************************************/ -#define QLA1280_VERSION "3.24.3" +#define QLA1280_VERSION "3.24.4" /***************************************************************************** Revision History: + Rev 3.24.4 June 7, 2004 Christoph Hellwig + - restructure firmware loading, cleanup initialization code + - prepare support for ISP1020/1040 chips Rev 3.24.3 January 19, 2004, Jes Sorensen - Handle PCI DMA mask settings correctly - Correct order of error handling in probe_one, free_irq should not @@ -361,6 +364,10 @@ #include "sd.h" #endif +#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) +#include +#endif + #if LINUX_VERSION_CODE < 0x020407 #error "Kernels older than 2.4.7 are no longer supported" #endif @@ -419,13 +426,6 @@ #define QLA_64BIT_PTR 1 #endif -#if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) -#include -/* Ugly hack needed for the virtual channel fix on SN2 */ -extern int snia_pcibr_rrb_alloc(struct pci_dev *pci_dev, - int *count_vchan0, int *count_vchan1); -#endif - #ifdef QLA_64BIT_PTR #define pci_dma_hi32(a) ((a >> 16) >> 16) #else @@ -485,6 +485,14 @@ static inline void scsi_host_put(struct Scsi_Host *h) #define ia64_platform_is(foo) (!strcmp(x, platform_name)) #endif + +#define IS_ISP1040(ha) (ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP1020) +#define IS_ISP1x40(ha) (ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP1020 || \ + ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP1240) +#define IS_ISP1x160(ha) (ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP10160 || \ + ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP12160) + + static int qla1280_probe_one(struct pci_dev *, const struct pci_device_id *); static void qla1280_remove_one(struct pci_dev *); @@ -501,9 +509,7 @@ static int qla1280_setup(char *s) __init; /* * QLogic ISP1280 Hardware Support Function Prototypes. */ -static int qla1280_isp_firmware(struct scsi_qla_host *); -static int qla1280_chip_diag(struct scsi_qla_host *); -static int qla1280_setup_chip(struct scsi_qla_host *); +static int qla1280_load_firmware(struct scsi_qla_host *); static int qla1280_init_rings(struct scsi_qla_host *); static int qla1280_nvram_config(struct scsi_qla_host *); static int qla1280_mailbox_command(struct scsi_qla_host *, @@ -1384,16 +1390,10 @@ qla1280_set_target_parameters(struct scsi_qla_host *ha, int bus, int target) uint8_t mr; uint16_t mb[MAILBOX_REGISTER_COUNT]; struct nvram *nv; - int is1x160, status; + int status; nv = &ha->nvram; - if (ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP12160 || - ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP10160) - is1x160 = 1; - else - is1x160 = 0; - mr = BIT_3 | BIT_2 | BIT_1 | BIT_0; /* Set Target Parameters. */ @@ -1403,17 +1403,16 @@ qla1280_set_target_parameters(struct scsi_qla_host *ha, int bus, int target) mb[2] = (nv->bus[bus].target[target].parameter.c << 8); - if (is1x160) - mb[3] = nv->bus[bus].target[target].flags.flags1x160.sync_offset << 8; - else - mb[3] = nv->bus[bus].target[target].flags.flags1x80.sync_offset << 8; - mb[3] |= nv->bus[bus].target[target].sync_period; - - if (is1x160) { + if (IS_ISP1x160(ha)) { mb[2] |= nv->bus[bus].target[target].ppr_1x160.flags.enable_ppr << 5; - mb[6] = nv->bus[bus].target[target].ppr_1x160.flags.ppr_options << 8; - mb[6] |= nv->bus[bus].target[target].ppr_1x160.flags.ppr_bus_width; + mb[3] = (nv->bus[bus].target[target].flags.flags1x160.sync_offset << 8) | + nv->bus[bus].target[target].sync_period; + mb[6] = (nv->bus[bus].target[target].ppr_1x160.flags.ppr_options << 8) | + nv->bus[bus].target[target].ppr_1x160.flags.ppr_bus_width; mr |= BIT_6; + } else { + mb[3] = (nv->bus[bus].target[target].flags.flags1x80.sync_offset << 8) | + nv->bus[bus].target[target].sync_period; } status = qla1280_mailbox_command(ha, mr, &mb[0]); @@ -1476,8 +1475,7 @@ qla1280_slave_configure(struct scsi_device *device) (driver_setup.wide_mask && (~driver_setup.wide_mask & (1 << target)))) nv->bus[bus].target[target].parameter.f.enable_wide = 0; - if (ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP12160 || - ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP10160) { + if (IS_ISP1x160(ha)) { if (driver_setup.no_ppr || (driver_setup.ppr_mask && (~driver_setup.ppr_mask & (1 << target)))) @@ -1761,19 +1759,7 @@ qla1280_initialize_adapter(struct scsi_qla_host *ha) ha->flags.ints_enabled = 0; #if defined(CONFIG_IA64_GENERIC) || defined(CONFIG_IA64_SGI_SN2) if (ia64_platform_is("sn2")) { - int count1, count2; - int c; - - count1 = 3; - count2 = 3; - printk(KERN_INFO "scsi(%li): Enabling SN2 PCI DMA " - "dual channel lockup workaround\n", ha->host_no); - if ((c = snia_pcibr_rrb_alloc(ha->pdev, &count1, &count2)) < 0) - printk(KERN_ERR "scsi(%li): Unable to allocate SN2 " - "virtual DMA channels\n", ha->host_no); - else - ha->flags.use_pci_vchannel = 1; - + ha->flags.use_pci_vchannel = 1; driver_setup.no_nvram = 1; } #endif @@ -1802,17 +1788,8 @@ qla1280_initialize_adapter(struct scsi_qla_host *ha) */ spin_lock_irqsave(HOST_LOCK, flags); #endif - /* If firmware needs to be loaded */ - if (qla1280_isp_firmware(ha)) { - if (!(status = qla1280_chip_diag(ha))) { - status = qla1280_setup_chip(ha); - } - } else { - printk(KERN_ERR "scsi(%li): isp_firmware() failed!\n", - ha->host_no); - status = 1; - } + status = qla1280_load_firmware(ha); if (status) { printk(KERN_ERR "scsi(%li): initialize: pci probe failed!\n", ha->host_no); @@ -1823,36 +1800,24 @@ qla1280_initialize_adapter(struct scsi_qla_host *ha) dprintk(1, "scsi(%ld): Configure NVRAM parameters\n", ha->host_no); qla1280_nvram_config(ha); - if (!ha->flags.disable_host_adapter && !qla1280_init_rings(ha)) { - /* Issue SCSI reset. */ - /* dg 03/13 if we can't reset twice then bus is dead */ - for (bus = 0; bus < ha->ports; bus++) { - if (!ha->bus_settings[bus].disable_scsi_reset){ - if (qla1280_bus_reset(ha, bus)) { - if (qla1280_bus_reset(ha, bus)) { - ha->bus_settings[bus].scsi_bus_dead = 1; - } - } - } - } + if (ha->flags.disable_host_adapter) { + status = 1; + goto out; + } - /* - * qla1280_bus_reset() will take care of issueing markers, - * no need to do that here as well! - */ -#if 0 - /* Issue marker command. */ - ha->flags.reset_marker = 0; - for (bus = 0; bus < ha->ports; bus++) { - ha->bus_settings[bus].reset_marker = 0; - qla1280_marker(ha, bus, 0, 0, MK_SYNC_ALL); - } -#endif + status = qla1280_init_rings(ha); + if (status) + goto out; - ha->flags.online = 1; - } else - status = 1; + /* Issue SCSI reset, if we can't reset twice then bus is dead */ + for (bus = 0; bus < ha->ports; bus++) { + if (!ha->bus_settings[bus].disable_scsi_reset && + qla1280_bus_reset(ha, bus) && + qla1280_bus_reset(ha, bus)) + ha->bus_settings[bus].scsi_bus_dead = 1; + } + ha->flags.online = 1; out: #if LINUX_VERSION_CODE >= 0x020500 spin_unlock_irqrestore(HOST_LOCK, flags); @@ -1945,13 +1910,13 @@ qla1280_chip_diag(struct scsi_qla_host *ha) int status = 0; int cnt; uint16_t data; - dprintk(3, "qla1280_chip_diag: testing device at 0x%p \n", ®->id_l); dprintk(1, "scsi(%ld): Verifying chip\n", ha->host_no); /* Soft reset chip and wait for it to finish. */ WRT_REG_WORD(®->ictrl, ISP_RESET); + /* * We can't do a traditional PCI write flush here by reading * back the register. The card will not respond once the reset @@ -1969,145 +1934,138 @@ qla1280_chip_diag(struct scsi_qla_host *ha) data = RD_REG_WORD(®->ictrl); } - if (cnt) { - /* Reset register cleared by chip reset. */ - dprintk(3, "qla1280_chip_diag: reset register cleared by " - "chip reset\n"); + if (!cnt) + goto fail; - WRT_REG_WORD(®->cfg_1, 0); + /* Reset register cleared by chip reset. */ + dprintk(3, "qla1280_chip_diag: reset register cleared by chip reset\n"); - /* Reset RISC and disable BIOS which - allows RISC to execute out of RAM. */ -#if 0 - WRT_REG_WORD(®->host_cmd, HC_RESET_RISC); - RD_REG_WORD(®->id_l); /* Flush PCI write */ - WRT_REG_WORD(®->host_cmd, HC_RELEASE_RISC); - RD_REG_WORD(®->id_l); /* Flush PCI write */ - WRT_REG_WORD(®->host_cmd, HC_DISABLE_BIOS); -#else - WRT_REG_WORD(®->host_cmd, HC_RESET_RISC | - HC_RELEASE_RISC | HC_DISABLE_BIOS); -#endif - RD_REG_WORD(®->id_l); /* Flush PCI write */ - data = qla1280_debounce_register(®->mailbox0); - /* - * I *LOVE* this code! - */ - for (cnt = 1000000; cnt && data == MBS_BUSY; cnt--) { - udelay(5); - data = RD_REG_WORD(®->mailbox0); - } + WRT_REG_WORD(®->cfg_1, 0); - if (cnt) { - /* Check product ID of chip */ - dprintk(3, "qla1280_chip_diag: Checking product " - "ID of chip\n"); - - if (RD_REG_WORD(®->mailbox1) != PROD_ID_1 || - (RD_REG_WORD(®->mailbox2) != PROD_ID_2 && - RD_REG_WORD(®->mailbox2) != PROD_ID_2a) || - RD_REG_WORD(®->mailbox3) != PROD_ID_3 || - RD_REG_WORD(®->mailbox4) != PROD_ID_4) { - printk(KERN_INFO "qla1280: Wrong product ID = " - "0x%x,0x%x,0x%x,0x%x\n", - RD_REG_WORD(®->mailbox1), - RD_REG_WORD(®->mailbox2), - RD_REG_WORD(®->mailbox3), - RD_REG_WORD(®->mailbox4)); - status = 1; - } else { - /* - * Enable ints early!!! - */ - qla1280_enable_intrs(ha); - - dprintk(1, "qla1280_chip_diag: Checking " - "mailboxes of chip\n"); - /* Wrap Incoming Mailboxes Test. */ - mb[0] = MBC_MAILBOX_REGISTER_TEST; - mb[1] = 0xAAAA; - mb[2] = 0x5555; - mb[3] = 0xAA55; - mb[4] = 0x55AA; - mb[5] = 0xA5A5; - mb[6] = 0x5A5A; - mb[7] = 0x2525; - if (!(status = qla1280_mailbox_command(ha, - 0xff, - &mb - [0]))) { - if (mb[1] != 0xAAAA || - mb[2] != 0x5555 || - mb[3] != 0xAA55 || - mb[4] != 0x55AA || - mb[5] != 0xA5A5 || - mb[6] != 0x5A5A || - mb[7] != 0x2525) { - status = 1; - printk(KERN_INFO "qla1280: " - "Failed mbox check\n"); - } - } - } - } else - status = 1; - } else - status = 1; + /* Reset RISC and disable BIOS which + allows RISC to execute out of RAM. */ + WRT_REG_WORD(®->host_cmd, HC_RESET_RISC | + HC_RELEASE_RISC | HC_DISABLE_BIOS); + RD_REG_WORD(®->id_l); /* Flush PCI write */ + data = qla1280_debounce_register(®->mailbox0); + + /* + * I *LOVE* this code! + */ + for (cnt = 1000000; cnt && data == MBS_BUSY; cnt--) { + udelay(5); + data = RD_REG_WORD(®->mailbox0); + } + + if (!cnt) + goto fail; + + /* Check product ID of chip */ + dprintk(3, "qla1280_chip_diag: Checking product ID of chip\n"); + + if (RD_REG_WORD(®->mailbox1) != PROD_ID_1 || + (RD_REG_WORD(®->mailbox2) != PROD_ID_2 && + RD_REG_WORD(®->mailbox2) != PROD_ID_2a) || + RD_REG_WORD(®->mailbox3) != PROD_ID_3 || + RD_REG_WORD(®->mailbox4) != PROD_ID_4) { + printk(KERN_INFO "qla1280: Wrong product ID = " + "0x%x,0x%x,0x%x,0x%x\n", + RD_REG_WORD(®->mailbox1), + RD_REG_WORD(®->mailbox2), + RD_REG_WORD(®->mailbox3), + RD_REG_WORD(®->mailbox4)); + goto fail; + } + + /* + * Enable ints early!!! + */ + qla1280_enable_intrs(ha); + + dprintk(1, "qla1280_chip_diag: Checking mailboxes of chip\n"); + /* Wrap Incoming Mailboxes Test. */ + mb[0] = MBC_MAILBOX_REGISTER_TEST; + mb[1] = 0xAAAA; + mb[2] = 0x5555; + mb[3] = 0xAA55; + mb[4] = 0x55AA; + mb[5] = 0xA5A5; + mb[6] = 0x5A5A; + mb[7] = 0x2525; + + status = qla1280_mailbox_command(ha, 0xff, mb); if (status) - dprintk(2, "qla1280_chip_diag: **** FAILED ****\n"); - else - dprintk(3, "qla1280_chip_diag: exiting normally\n"); + goto fail; + + if (mb[1] != 0xAAAA || mb[2] != 0x5555 || mb[3] != 0xAA55 || + mb[4] != 0x55AA || mb[5] != 0xA5A5 || mb[6] != 0x5A5A || + mb[7] != 0x2525) { + printk(KERN_INFO "qla1280: Failed mbox check\n"); + goto fail; + } + dprintk(3, "qla1280_chip_diag: exiting normally\n"); + return 0; + fail: + dprintk(2, "qla1280_chip_diag: **** FAILED ****\n"); return status; } -/* - * Setup chip - * Load and start RISC firmware. - * - * Input: - * ha = adapter block pointer. - * - * Returns: - * 0 = success. - */ -#define DUMP_IT_BACK 0 /* for debug of RISC loading */ static int -qla1280_setup_chip(struct scsi_qla_host *ha) +qla1280_load_firmware_pio(struct scsi_qla_host *ha) { - int status = 0; - uint16_t risc_address; - uint16_t *risc_code_address; - int risc_code_size; - uint16_t mb[MAILBOX_REGISTER_COUNT]; - uint16_t cnt; - int num, i; -#if DUMP_IT_BACK - uint8_t *sp; - uint8_t *tbuf; - dma_addr_t p_tbuf; -#endif + uint16_t risc_address, *risc_code_address, risc_code_size; + uint16_t mb[MAILBOX_REGISTER_COUNT], i; + int err; - ENTER("qla1280_setup_chip"); + /* Load RISC code. */ + risc_address = *ql1280_board_tbl[ha->devnum].fwstart; + risc_code_address = ql1280_board_tbl[ha->devnum].fwcode; + risc_code_size = *ql1280_board_tbl[ha->devnum].fwlen; + + for (i = 0; i < risc_code_size; i++) { + mb[0] = MBC_WRITE_RAM_WORD; + mb[1] = risc_address + i; + mb[2] = risc_code_address[i]; + + err = qla1280_mailbox_command(ha, BIT_0 | BIT_1 | BIT_2, mb); + if (err) { + printk(KERN_ERR "scsi(%li): Failed to load firmware\n", + ha->host_no); + return err; + } + } - dprintk(1, "scsi(%ld): Setup chip\n", ha->host_no); + return 0; +} +#define DUMP_IT_BACK 0 /* for debug of RISC loading */ +static int +qla1280_load_firmware_dma(struct scsi_qla_host *ha) +{ + uint16_t risc_address, *risc_code_address, risc_code_size; + uint16_t mb[MAILBOX_REGISTER_COUNT], cnt; + int err = 0, num, i; #if DUMP_IT_BACK - /* get consistent memory allocated for setup_chip */ + uint8_t *sp, *tbuf; + dma_addr_t p_tbuf; + tbuf = pci_alloc_consistent(ha->pdev, 8000, &p_tbuf); + if (!tbuf) + return -ENOMEM; #endif /* Load RISC code. */ risc_address = *ql1280_board_tbl[ha->devnum].fwstart; risc_code_address = ql1280_board_tbl[ha->devnum].fwcode; - risc_code_size = (int) *ql1280_board_tbl[ha->devnum].fwlen; + risc_code_size = *ql1280_board_tbl[ha->devnum].fwlen; - dprintk(1, "qla1280_setup_chip: DMA RISC code (%i) words\n", - risc_code_size); + dprintk(1, "%s: DMA RISC code (%i) words\n", + __FUNCTION__, risc_code_size); num = 0; - while (risc_code_size > 0 && !status) { + while (risc_code_size > 0) { int warn __attribute__((unused)) = 0; cnt = 2000 >> 1; @@ -2129,15 +2087,16 @@ qla1280_setup_chip(struct scsi_qla_host *ha) mb[2] = (ha->request_dma >> 16) & 0xffff; mb[7] = pci_dma_hi32(ha->request_dma) & 0xffff; mb[6] = pci_dma_hi32(ha->request_dma) >> 16; - dprintk(2, "qla1280_setup_chip: op=%d 0x%p = 0x%4x,0x%4x," - "0x%4x,0x%4x\n", mb[0], (void *)(long)ha->request_dma, - mb[6], mb[7], mb[2], mb[3]); - if ((status = qla1280_mailbox_command(ha, BIT_4 | BIT_3 | - BIT_2 | BIT_1 | BIT_0, - &mb[0]))) { + dprintk(2, "%s: op=%d 0x%p = 0x%4x,0x%4x,0x%4x,0x%4x\n", + __FUNCTION__, mb[0], + (void *)(long)ha->request_dma, + mb[6], mb[7], mb[2], mb[3]); + err = qla1280_mailbox_command(ha, BIT_4 | BIT_3 | BIT_2 | + BIT_1 | BIT_0, mb); + if (err) { printk(KERN_ERR "scsi(%li): Failed to load partial " "segment of f\n", ha->host_no); - break; + goto out; } #if DUMP_IT_BACK @@ -2149,22 +2108,22 @@ qla1280_setup_chip(struct scsi_qla_host *ha) mb[7] = pci_dma_hi32(p_tbuf) & 0xffff; mb[6] = pci_dma_hi32(p_tbuf) >> 16; - if ((status = qla1280_mailbox_command(ha, - BIT_4 | BIT_3 | BIT_2 | - BIT_1 | BIT_0, - &mb[0]))) { + err = qla1280_mailbox_command(ha, BIT_4 | BIT_3 | BIT_2 | + BIT_1 | BIT_0, mb); + if (err) { printk(KERN_ERR "Failed to dump partial segment of f/w\n"); - break; + goto out; } sp = (uint8_t *)ha->request_ring; for (i = 0; i < (cnt << 1); i++) { if (tbuf[i] != sp[i] && warn++ < 10) { - printk(KERN_ERR "qla1280_setup_chip: FW " - "compare error @ byte(0x%x) loop#=%x\n", - i, num); - printk(KERN_ERR "setup_chip: FWbyte=%x " - "FWfromChip=%x\n", sp[i], tbuf[i]); + printk(KERN_ERR "%s: FW compare error @ " + "byte(0x%x) loop#=%x\n", + __FUNCTION__, i, num); + printk(KERN_ERR "%s: FWbyte=%x " + "FWfromChip=%x\n", + __FUNCTION__, sp[i], tbuf[i]); /*break; */ } } @@ -2175,37 +2134,69 @@ qla1280_setup_chip(struct scsi_qla_host *ha) num++; } + out: +#if DUMP_IT_BACK + pci_free_consistent(ha->pdev, 8000, tbuf, p_tbuf); +#endif + return err; +} + +static int +qla1280_start_firmware(struct scsi_qla_host *ha) +{ + uint16_t mb[MAILBOX_REGISTER_COUNT]; + int err; + + dprintk(1, "%s: Verifying checksum of loaded RISC code.\n", + __FUNCTION__); + /* Verify checksum of loaded RISC code. */ - if (!status) { - dprintk(1, "qla1280_setup_chip: Verifying checksum of " - "loaded RISC code.\n"); - mb[0] = MBC_VERIFY_CHECKSUM; - /* mb[1] = ql12_risc_code_addr01; */ - mb[1] = *ql1280_board_tbl[ha->devnum].fwstart; + mb[0] = MBC_VERIFY_CHECKSUM; + /* mb[1] = ql12_risc_code_addr01; */ + mb[1] = *ql1280_board_tbl[ha->devnum].fwstart; + err = qla1280_mailbox_command(ha, BIT_1 | BIT_0, mb); + if (err) { + printk(KERN_ERR "scsi(%li): Failed checksum\n", ha->host_no); + return err; + } - if (!(status = - qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]))) { - /* Start firmware execution. */ - dprintk(1, - "qla1280_setup_chip: start firmware running.\n"); - mb[0] = MBC_EXECUTE_FIRMWARE; - mb[1] = *ql1280_board_tbl[ha->devnum].fwstart; - qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); - } else - printk(KERN_ERR "scsi(%li): qla1280_setup_chip: " - "Failed checksum\n", ha->host_no); + /* Start firmware execution. */ + dprintk(1, "%s: start firmware running.\n", __FUNCTION__); + mb[0] = MBC_EXECUTE_FIRMWARE; + mb[1] = *ql1280_board_tbl[ha->devnum].fwstart; + err = qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); + if (err) { + printk(KERN_ERR "scsi(%li): Failed to start firmware\n", + ha->host_no); } -#if DUMP_IT_BACK - /* free consistent memory allocated for setup_chip */ - pci_free_consistent(ha->pdev, 8000, tbuf, p_tbuf); -#endif + return err; +} - if (status) - dprintk(2, "qla1280_setup_chip: **** FAILED ****\n"); +static int +qla1280_load_firmware(struct scsi_qla_host *ha) +{ + int err = -ENODEV; - LEAVE("qla1280_setup_chip"); - return status; + /* If firmware needs to be loaded */ + if (!qla1280_isp_firmware(ha)) { + printk(KERN_ERR "scsi(%li): isp_firmware() failed!\n", + ha->host_no); + goto out; + } + + err = qla1280_chip_diag(ha); + if (err) + goto out; + if (IS_ISP1040(ha)) + err = qla1280_load_firmware_pio(ha); + else + err = qla1280_load_firmware_dma(ha); + if (err) + goto out; + err = qla1280_start_firmware(ha); + out: + return err; } /* @@ -2271,123 +2262,9 @@ qla1280_init_rings(struct scsi_qla_host *ha) return status; } -/* - * NVRAM configuration. - * - * Input: - * ha = adapter block pointer. - * ha->request_ring = request ring virtual address - * - * Output: - * host adapters parameters in host adapter block - * - * Returns: - * 0 = success. - */ -static int -qla1280_nvram_config(struct scsi_qla_host *ha) +static void +qla1280_print_settings(struct nvram *nv) { - struct device_reg *reg = ha->iobase; - struct nvram *nv; - int is1x160, status = 0; - int bus, target, lun; - uint16_t mb[MAILBOX_REGISTER_COUNT]; - uint16_t mask; - - ENTER("qla1280_nvram_config"); - - if (ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP12160 || - ha->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP10160) - is1x160 = 1; - else - is1x160 = 0; - - nv = &ha->nvram; - if (!ha->nvram_valid) { - dprintk(1, "Using defaults for NVRAM: \n"); - memset(nv, 0, sizeof(struct nvram)); - - /* nv->cntr_flags_1.disable_loading_risc_code = 1; */ - nv->firmware_feature.f.enable_fast_posting = 1; - nv->firmware_feature.f.disable_synchronous_backoff = 1; - - nv->termination.f.scsi_bus_0_control = 3; - nv->termination.f.scsi_bus_1_control = 3; - nv->termination.f.auto_term_support = 1; - - /* - * Set default FIFO magic - What appropriate values - * would be here is unknown. This is what I have found - * testing with 12160s. - * Now, I would love the magic decoder ring for this one, - * the header file provided by QLogic seems to be bogus - * or incomplete at best. - */ - nv->isp_config.c = 0x44; - - if (is1x160) - nv->isp_parameter = 0x01; - - for (bus = 0; bus < MAX_BUSES; bus++) { - nv->bus[bus].config_1.initiator_id = 7; - nv->bus[bus].bus_reset_delay = 5; - /* 8 = 5.0 clocks */ - nv->bus[bus].config_2.async_data_setup_time = 8; - nv->bus[bus].config_2.req_ack_active_negation = 1; - nv->bus[bus].config_2.data_line_active_negation = 1; - nv->bus[bus].selection_timeout = 250; - nv->bus[bus].max_queue_depth = 256; - - for (target = 0; target < MAX_TARGETS; target++) { - nv->bus[bus].target[target].parameter.f. - renegotiate_on_error = 1; - nv->bus[bus].target[target].parameter.f. - auto_request_sense = 1; - nv->bus[bus].target[target].parameter.f. - tag_queuing = 1; - nv->bus[bus].target[target].parameter.f. - enable_sync = 1; -#if 1 /* Some SCSI Processors do not seem to like this */ - nv->bus[bus].target[target].parameter.f. - enable_wide = 1; -#endif - nv->bus[bus].target[target].parameter.f. - parity_checking = 1; - nv->bus[bus].target[target].parameter.f. - disconnect_allowed = 1; - nv->bus[bus].target[target].execution_throttle= - nv->bus[bus].max_queue_depth - 1; - if (is1x160) { - nv->bus[bus].target[target].flags. - flags1x160.device_enable = 1; - nv->bus[bus].target[target].flags. - flags1x160.sync_offset = 0x0e; - nv->bus[bus].target[target]. - sync_period = 9; - nv->bus[bus].target[target]. - ppr_1x160.flags.enable_ppr = 1; - nv->bus[bus].target[target].ppr_1x160. - flags.ppr_options = 2; - nv->bus[bus].target[target].ppr_1x160. - flags.ppr_bus_width = 1; - } else { - nv->bus[bus].target[target].flags. - flags1x80.device_enable = 1; - nv->bus[bus].target[target].flags. - flags1x80.sync_offset = 0x8; - nv->bus[bus].target[target]. - sync_period = 10; - } - } - } - } else { - /* Always force AUTO sense for LINUX SCSI */ - for (bus = 0; bus < MAX_BUSES; bus++) - for (target = 0; target < MAX_TARGETS; target++) { - nv->bus[bus].target[target].parameter.f. - auto_request_sense = 1; - } - } dprintk(1, "qla1280 : initiator scsi id bus[0]=%d\n", nv->bus[0].config_1.initiator_id); dprintk(1, "qla1280 : initiator scsi id bus[1]=%d\n", @@ -2433,36 +2310,264 @@ qla1280_nvram_config(struct scsi_qla_host *ha) nv->bus[0].max_queue_depth); dprintk(1, "qla1280 : max queue depth[1]=%d\n", nv->bus[1].max_queue_depth); +} + +static void +qla1280_set_target_defaults(struct scsi_qla_host *ha, int bus, int target) +{ + struct nvram *nv = &ha->nvram; + + nv->bus[bus].target[target].parameter.f.renegotiate_on_error = 1; + nv->bus[bus].target[target].parameter.f.auto_request_sense = 1; + nv->bus[bus].target[target].parameter.f.tag_queuing = 1; + nv->bus[bus].target[target].parameter.f.enable_sync = 1; +#if 1 /* Some SCSI Processors do not seem to like this */ + nv->bus[bus].target[target].parameter.f.enable_wide = 1; +#endif + if (!IS_ISP1040(ha)) + nv->bus[bus].target[target].parameter.f.parity_checking = 1; + + nv->bus[bus].target[target].parameter.f.disconnect_allowed = 1; + nv->bus[bus].target[target].execution_throttle = + nv->bus[bus].max_queue_depth - 1; + + if (IS_ISP1x160(ha)) { + nv->bus[bus].target[target].flags.flags1x160.device_enable = 1; + nv->bus[bus].target[target].flags.flags1x160.sync_offset = 0x0e; + nv->bus[bus].target[target].sync_period = 9; + nv->bus[bus].target[target].ppr_1x160.flags.enable_ppr = 1; + nv->bus[bus].target[target].ppr_1x160.flags.ppr_options = 2; + nv->bus[bus].target[target].ppr_1x160.flags.ppr_bus_width = 1; + } else { + nv->bus[bus].target[target].flags.flags1x80.device_enable = 1; + nv->bus[bus].target[target].flags.flags1x80.sync_offset = 12; + nv->bus[bus].target[target].sync_period = 10; + } +} + +static void +qla1280_set_defaults(struct scsi_qla_host *ha) +{ + struct nvram *nv = &ha->nvram; + int bus, target; + + dprintk(1, "Using defaults for NVRAM: \n"); + memset(nv, 0, sizeof(struct nvram)); + + /* nv->cntr_flags_1.disable_loading_risc_code = 1; */ + nv->firmware_feature.f.enable_fast_posting = 1; + nv->firmware_feature.f.disable_synchronous_backoff = 1; + nv->termination.f.scsi_bus_0_control = 3; + nv->termination.f.scsi_bus_1_control = 3; + nv->termination.f.auto_term_support = 1; + + /* + * Set default FIFO magic - What appropriate values would be here + * is unknown. This is what I have found testing with 12160s. + * + * Now, I would love the magic decoder ring for this one, the + * header file provided by QLogic seems to be bogus or incomplete + * at best. + */ + nv->isp_config.c = ISP_CFG1_BENAB|ISP_CFG1_F128; + if (IS_ISP1x160(ha)) + nv->isp_parameter = 0x01; /* fast memory enable */ + + for (bus = 0; bus < MAX_BUSES; bus++) { + nv->bus[bus].config_1.initiator_id = 7; + nv->bus[bus].config_2.req_ack_active_negation = 1; + nv->bus[bus].config_2.data_line_active_negation = 1; + nv->bus[bus].selection_timeout = 250; + nv->bus[bus].max_queue_depth = 256; + + if (IS_ISP1040(ha)) { + nv->bus[bus].bus_reset_delay = 3; + nv->bus[bus].config_2.async_data_setup_time = 6; + nv->bus[bus].retry_delay = 1; + } else { + nv->bus[bus].bus_reset_delay = 5; + nv->bus[bus].config_2.async_data_setup_time = 8; + } + + for (target = 0; target < MAX_TARGETS; target++) + qla1280_set_target_defaults(ha, bus, target); + } +} + +static int +qla1280_config_target(struct scsi_qla_host *ha, int bus, int target) +{ + struct nvram *nv = &ha->nvram; + uint16_t mb[MAILBOX_REGISTER_COUNT]; + int status, lun; + + /* Set Target Parameters. */ + mb[0] = MBC_SET_TARGET_PARAMETERS; + mb[1] = (uint16_t) (bus ? target | BIT_7 : target); + mb[1] <<= 8; + + /* + * Do not enable wide, sync, and ppr for the initial + * INQUIRY run. We enable this later if we determine + * the target actually supports it. + */ + nv->bus[bus].target[target].parameter.f. + auto_request_sense = 1; + nv->bus[bus].target[target].parameter.f. + stop_queue_on_check = 0; + + if (IS_ISP1x160(ha)) + nv->bus[bus].target[target].ppr_1x160. + flags.enable_ppr = 0; + + /* + * No sync, wide, etc. while probing + */ + mb[2] = (nv->bus[bus].target[target].parameter.c << 8) & + ~(TP_SYNC /*| TP_WIDE | TP_PPR*/); + + if (IS_ISP1x160(ha)) + mb[3] = nv->bus[bus].target[target].flags.flags1x160.sync_offset << 8; + else + mb[3] = nv->bus[bus].target[target].flags.flags1x80.sync_offset << 8; + mb[3] |= nv->bus[bus].target[target].sync_period; + + status = qla1280_mailbox_command(ha, BIT_3 | BIT_2 | BIT_1 | BIT_0, &mb[0]); + + /* Save Tag queuing enable flag. */ + mb[0] = BIT_0 << target; + if (nv->bus[bus].target[target].parameter.f.tag_queuing) + ha->bus_settings[bus].qtag_enables |= mb[0]; + + /* Save Device enable flag. */ + if (IS_ISP1x160(ha)) { + if (nv->bus[bus].target[target].flags.flags1x160.device_enable) + ha->bus_settings[bus].device_enables |= mb[0]; + ha->bus_settings[bus].lun_disables |= 0; + } else { + if (nv->bus[bus].target[target].flags.flags1x80.device_enable) + ha->bus_settings[bus].device_enables |= mb[0]; + /* Save LUN disable flag. */ + if (nv->bus[bus].target[target].flags.flags1x80.lun_disable) + ha->bus_settings[bus].lun_disables |= mb[0]; + } + + /* Set Device Queue Parameters. */ + for (lun = 0; lun < MAX_LUNS; lun++) { + mb[0] = MBC_SET_DEVICE_QUEUE; + mb[1] = (uint16_t)(bus ? target | BIT_7 : target); + mb[1] = mb[1] << 8 | lun; + mb[2] = nv->bus[bus].max_queue_depth; + mb[3] = nv->bus[bus].target[target].execution_throttle; + status |= qla1280_mailbox_command(ha, 0x0f, &mb[0]); + } + + return status; +} + +static int +qla1280_config_bus(struct scsi_qla_host *ha, int bus) +{ + struct nvram *nv = &ha->nvram; + uint16_t mb[MAILBOX_REGISTER_COUNT]; + int target, status; + + /* SCSI Reset Disable. */ + ha->bus_settings[bus].disable_scsi_reset = + nv->bus[bus].config_1.scsi_reset_disable; + + /* Initiator ID. */ + ha->bus_settings[bus].id = nv->bus[bus].config_1.initiator_id; + mb[0] = MBC_SET_INITIATOR_ID; + mb[1] = bus ? ha->bus_settings[bus].id | BIT_7 : + ha->bus_settings[bus].id; + status = qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); + + /* Reset Delay. */ + ha->bus_settings[bus].bus_reset_delay = + nv->bus[bus].bus_reset_delay; + + /* Command queue depth per device. */ + ha->bus_settings[bus].hiwat = nv->bus[bus].max_queue_depth - 1; + + /* Set target parameters. */ + for (target = 0; target < MAX_TARGETS; target++) + status |= qla1280_config_target(ha, bus, target); + + return status; +} + +static int +qla1280_nvram_config(struct scsi_qla_host *ha) +{ + struct device_reg *reg = ha->iobase; + struct nvram *nv = &ha->nvram; + int bus, target, status = 0; + uint16_t mb[MAILBOX_REGISTER_COUNT]; + uint16_t mask; + + ENTER("qla1280_nvram_config"); + + if (ha->nvram_valid) { + /* Always force AUTO sense for LINUX SCSI */ + for (bus = 0; bus < MAX_BUSES; bus++) + for (target = 0; target < MAX_TARGETS; target++) { + nv->bus[bus].target[target].parameter.f. + auto_request_sense = 1; + } + } else { + qla1280_set_defaults(ha); + } + + qla1280_print_settings(nv); /* Disable RISC load of firmware. */ ha->flags.disable_risc_code_load = nv->cntr_flags_1.disable_loading_risc_code; - /* Set ISP hardware DMA burst */ - mb[0] = nv->isp_config.c; - /* Enable DMA arbitration on dual channel controllers */ - if (ha->ports > 1) - mb[0] |= BIT_13; - WRT_REG_WORD(®->cfg_1, mb[0]); - -#if 1 /* Is this safe? */ - /* Set SCSI termination. */ - WRT_REG_WORD(®->gpio_enable, (BIT_3 + BIT_2 + BIT_1 + BIT_0)); - mb[0] = nv->termination.c & (BIT_3 + BIT_2 + BIT_1 + BIT_0); - WRT_REG_WORD(®->gpio_data, mb[0]); -#endif + if (IS_ISP1040(ha)) { + uint16_t hwrev, cfg1, cdma_conf, ddma_conf; + + hwrev = RD_REG_WORD(®->cfg_0) & ISP_CFG0_HWMSK; + + cfg1 = RD_REG_WORD(®->cfg_1); + cdma_conf = RD_REG_WORD(®->cdma_cfg); + ddma_conf = RD_REG_WORD(®->ddma_cfg); + + /* Busted fifo, says mjacob. */ + if (hwrev == ISP_CFG0_1040A) + WRT_REG_WORD(®->cfg_1, cfg1 | ISP_CFG1_F64); + else + WRT_REG_WORD(®->cfg_1, cfg1 | ISP_CFG1_F64 | ISP_CFG1_BENAB); + + WRT_REG_WORD(®->cdma_cfg, cdma_conf | CDMA_CONF_BENAB); + WRT_REG_WORD(®->ddma_cfg, cdma_conf | DDMA_CONF_BENAB); + } else { + /* Set ISP hardware DMA burst */ + mb[0] = nv->isp_config.c; + /* Enable DMA arbitration on dual channel controllers */ + if (ha->ports > 1) + mb[0] |= BIT_13; + WRT_REG_WORD(®->cfg_1, mb[0]); + + /* Set SCSI termination. */ + WRT_REG_WORD(®->gpio_enable, (BIT_3 + BIT_2 + BIT_1 + BIT_0)); + mb[0] = nv->termination.c & (BIT_3 + BIT_2 + BIT_1 + BIT_0); + WRT_REG_WORD(®->gpio_data, mb[0]); + } /* ISP parameter word. */ mb[0] = MBC_SET_SYSTEM_PARAMETER; mb[1] = nv->isp_parameter; status |= qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); -#if 0 - /* clock rate - for qla1240 and older, only */ - mb[0] = MBC_SET_CLOCK_RATE; - mb[1] = 0x50; - status |= qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); -#endif + if (IS_ISP1x40(ha)) { + /* clock rate - for qla1240 and older, only */ + mb[0] = MBC_SET_CLOCK_RATE; + mb[1] = 40; + status |= qla1280_mailbox_command(ha, BIT_1 | BIT_0, mb); + } + /* Firmware feature word. */ mb[0] = MBC_SET_FIRMWARE_FEATURES; mask = BIT_5 | BIT_1 | BIT_0; @@ -2515,112 +2620,18 @@ qla1280_nvram_config(struct scsi_qla_host *ha) mb[2] = 2; /* Command DMA Channel Burst Enable */ status |= qla1280_mailbox_command(ha, BIT_2 | BIT_1 | BIT_0, &mb[0]); + mb[0] = MBC_SET_TAG_AGE_LIMIT; + mb[1] = 8; + status |= qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); + /* Selection timeout. */ mb[0] = MBC_SET_SELECTION_TIMEOUT; mb[1] = nv->bus[0].selection_timeout; mb[2] = nv->bus[1].selection_timeout; status |= qla1280_mailbox_command(ha, BIT_2 | BIT_1 | BIT_0, &mb[0]); - for (bus = 0; bus < ha->ports; bus++) { - /* SCSI Reset Disable. */ - ha->bus_settings[bus].disable_scsi_reset = - nv->bus[bus].config_1.scsi_reset_disable; - - /* Initiator ID. */ - ha->bus_settings[bus].id = nv->bus[bus].config_1.initiator_id; - mb[0] = MBC_SET_INITIATOR_ID; - mb[1] = bus ? ha->bus_settings[bus].id | BIT_7 : - ha->bus_settings[bus].id; - status |= qla1280_mailbox_command(ha, BIT_1 | BIT_0, &mb[0]); - - /* Reset Delay. */ - ha->bus_settings[bus].bus_reset_delay = - nv->bus[bus].bus_reset_delay; - - /* Command queue depth per device. */ - ha->bus_settings[bus].hiwat = nv->bus[bus].max_queue_depth - 1; - - /* Set target parameters. */ - for (target = 0; target < MAX_TARGETS; target++) { - uint8_t mr = BIT_2 | BIT_1 | BIT_0; - - /* Set Target Parameters. */ - mb[0] = MBC_SET_TARGET_PARAMETERS; - mb[1] = (uint16_t) (bus ? target | BIT_7 : target); - mb[1] <<= 8; - /* - * Do not enable wide, sync, and ppr for the initial - * INQUIRY run. We enable this later if we determine - * the target actually supports it. - */ - nv->bus[bus].target[target].parameter.f. - auto_request_sense = 1; - nv->bus[bus].target[target].parameter.f. - stop_queue_on_check = 0; - - if (is1x160) - nv->bus[bus].target[target].ppr_1x160. - flags.enable_ppr = 0; - /* - * No sync, wide, etc. while probing - */ - mb[2] = (nv->bus[bus].target[target].parameter.c << 8)& - ~(TP_SYNC /*| TP_WIDE | TP_PPR*/); - - if (is1x160) - mb[3] = nv->bus[bus].target[target].flags.flags1x160.sync_offset << 8; - else - mb[3] = nv->bus[bus].target[target].flags.flags1x80.sync_offset << 8; - mb[3] |= nv->bus[bus].target[target].sync_period; - mr |= BIT_3; - - /* - * We don't want to enable ppr etc. before we have - * determined that the target actually supports it - */ -#if 0 - if (is1x160) { - mb[2] |= nv->bus[bus].target[target].ppr_1x160.flags.enable_ppr << 5; - - mb[6] = nv->bus[bus].target[target].ppr_1x160.flags.ppr_options << 8; - mb[6] |= nv->bus[bus].target[target].ppr_1x160.flags.ppr_bus_width; - mr |= BIT_6; - } -#endif - - status = qla1280_mailbox_command(ha, mr, &mb[0]); - - /* Save Tag queuing enable flag. */ - mb[0] = BIT_0 << target; - if (nv->bus[bus].target[target].parameter.f.tag_queuing) - ha->bus_settings[bus].qtag_enables |= mb[0]; - - /* Save Device enable flag. */ - if (is1x160) { - if (nv->bus[bus].target[target].flags.flags1x160.device_enable) - ha->bus_settings[bus].device_enables |= mb[0]; - ha->bus_settings[bus].lun_disables |= 0; - } else { - if (nv->bus[bus].target[target].flags.flags1x80.device_enable) - ha->bus_settings[bus].device_enables |= mb[0]; - /* Save LUN disable flag. */ - if (nv->bus[bus].target[target].flags.flags1x80.lun_disable) - ha->bus_settings[bus].lun_disables |= mb[0]; - } - - - /* Set Device Queue Parameters. */ - for (lun = 0; lun < MAX_LUNS; lun++) { - mb[0] = MBC_SET_DEVICE_QUEUE; - mb[1] = (uint16_t)(bus ? target | BIT_7 : target); - mb[1] = mb[1] << 8 | lun; - mb[2] = nv->bus[bus].max_queue_depth; - mb[3] = nv->bus[bus].target[target].execution_throttle; - status |= qla1280_mailbox_command(ha, 0x0f, - &mb[0]); - } - } - } + for (bus = 0; bus < ha->ports; bus++) + status |= qla1280_config_bus(ha, bus); if (status) dprintk(2, "qla1280_nvram_config: **** FAILED ****\n"); @@ -4231,6 +4242,7 @@ qla1280_error_entry(struct scsi_qla_host *ha, struct response *pkt, static int qla1280_abort_isp(struct scsi_qla_host *ha) { + struct device_reg *reg = ha->iobase; struct srb *sp; int status = 0; int cnt; @@ -4238,69 +4250,53 @@ qla1280_abort_isp(struct scsi_qla_host *ha) ENTER("qla1280_abort_isp"); - if (!ha->flags.abort_isp_active && ha->flags.online) { - struct device_reg *reg = ha->iobase; - ha->flags.abort_isp_active = 1; - - /* Disable ISP interrupts. */ - qla1280_disable_intrs(ha); - WRT_REG_WORD(®->host_cmd, HC_PAUSE_RISC); - RD_REG_WORD(®->id_l); + if (ha->flags.abort_isp_active || !ha->flags.online) + goto out; + + ha->flags.abort_isp_active = 1; - printk(KERN_INFO "scsi(%li): dequeuing outstanding commands\n", - ha->host_no); - /* Dequeue all commands in outstanding command list. */ - for (cnt = 0; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) { - struct scsi_cmnd *cmd; - sp = ha->outstanding_cmds[cnt]; - if (sp) { + /* Disable ISP interrupts. */ + qla1280_disable_intrs(ha); + WRT_REG_WORD(®->host_cmd, HC_PAUSE_RISC); + RD_REG_WORD(®->id_l); - cmd = sp->cmd; - CMD_RESULT(cmd) = DID_RESET << 16; + printk(KERN_INFO "scsi(%li): dequeuing outstanding commands\n", + ha->host_no); + /* Dequeue all commands in outstanding command list. */ + for (cnt = 0; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) { + struct scsi_cmnd *cmd; + sp = ha->outstanding_cmds[cnt]; + if (sp) { - sp->cmd = NULL; - ha->outstanding_cmds[cnt] = NULL; + cmd = sp->cmd; + CMD_RESULT(cmd) = DID_RESET << 16; - (*cmd->scsi_done)(cmd); + sp->cmd = NULL; + ha->outstanding_cmds[cnt] = NULL; - sp->flags = 0; - } - } + (*cmd->scsi_done)(cmd); - /* If firmware needs to be loaded */ - if (qla1280_isp_firmware (ha)) { - if (!(status = qla1280_chip_diag(ha))) - status = qla1280_setup_chip(ha); + sp->flags = 0; } + } - if (!status) { - /* Setup adapter based on NVRAM parameters. */ - qla1280_nvram_config (ha); + status = qla1280_load_firmware(ha); + if (status) + goto out; - if (!(status = qla1280_init_rings(ha))) { - /* Issue SCSI reset. */ - for (bus = 0; bus < ha->ports; bus++) { - qla1280_bus_reset(ha, bus); - } - /* - * qla1280_bus_reset() will do the marker - * dance - no reason to repeat here! - */ -#if 0 - /* Issue marker command. */ - ha->flags.reset_marker = 0; - for (bus = 0; bus < ha->ports; bus++) { - ha->bus_settings[bus]. - reset_marker = 0; - qla1280_marker(ha, bus, 0, 0, - MK_SYNC_ALL); - } -#endif - ha->flags.abort_isp_active = 0; - } - } - } + /* Setup adapter based on NVRAM parameters. */ + qla1280_nvram_config (ha); + status = qla1280_init_rings(ha); + if (status) + goto out; + + /* Issue SCSI reset. */ + for (bus = 0; bus < ha->ports; bus++) + qla1280_bus_reset(ha, bus); + + ha->flags.abort_isp_active = 0; + out: if (status) { printk(KERN_WARNING "qla1280: ISP error recovery failed, board disabled"); @@ -4936,6 +4932,7 @@ module_exit(qla1280_exit); MODULE_AUTHOR("Qlogic & Jes Sorensen"); MODULE_DESCRIPTION("Qlogic ISP SCSI (qla1x80/qla1x160) driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA1280_VERSION); /* * Overrides for Emacs so that we almost follow Linus's tabbing style. diff --git a/drivers/scsi/qla1280.h b/drivers/scsi/qla1280.h index 0027485bf..5dc7ca3da 100644 --- a/drivers/scsi/qla1280.h +++ b/drivers/scsi/qla1280.h @@ -62,6 +62,7 @@ #define WRT_REG_WORD(addr, data) writew(data, addr) #else /* MEMORY_MAPPED_IO */ #define RD_REG_WORD(addr) inw((unsigned long)addr) +#define RD_REG_WORD_dmasync(addr) RD_REG_WORD(addr) #define WRT_REG_WORD(addr, data) outw(data, (unsigned long)addr) #endif /* MEMORY_MAPPED_IO */ @@ -126,7 +127,20 @@ struct device_reg { uint16_t id_l; /* ID low */ uint16_t id_h; /* ID high */ uint16_t cfg_0; /* Configuration 0 */ +#define ISP_CFG0_HWMSK 0x000f /* Hardware revision mask */ +#define ISP_CFG0_1020 BIT_0 /* ISP1020 */ +#define ISP_CFG0_1020A BIT_1 /* ISP1020A */ +#define ISP_CFG0_1040 BIT_2 /* ISP1040 */ +#define ISP_CFG0_1040A BIT_3 /* ISP1040A */ +#define ISP_CFG0_1040B BIT_4 /* ISP1040B */ +#define ISP_CFG0_1040C BIT_5 /* ISP1040C */ uint16_t cfg_1; /* Configuration 1 */ +#define ISP_CFG1_F128 BIT_6 /* 128-byte FIFO threshold */ +#define ISP_CFG1_F64 BIT_4|BIT_5 /* 128-byte FIFO threshold */ +#define ISP_CFG1_F32 BIT_5 /* 128-byte FIFO threshold */ +#define ISP_CFG1_F16 BIT_4 /* 128-byte FIFO threshold */ +#define ISP_CFG1_BENAB BIT_2 /* Global Bus burst enable */ +#define ISP_CFG1_SXP BIT_0 /* SXP register select */ uint16_t ictrl; /* Interface control */ #define ISP_RESET BIT_0 /* ISP soft reset */ #define ISP_EN_INT BIT_1 /* ISP enable interrupts. */ @@ -147,7 +161,42 @@ struct device_reg { uint16_t flash_data; /* Flash BIOS data */ uint16_t flash_address; /* Flash BIOS address */ - uint16_t unused_1[0x2e]; /* 0x14-0x6f Gap */ + uint16_t unused_1[0x06]; + + /* cdma_* and ddma_* are 1040 only */ + uint16_t cdma_cfg; +#define CDMA_CONF_SENAB BIT_3 /* SXP to DMA Data enable */ +#define CDMA_CONF_RIRQ BIT_2 /* RISC interrupt enable */ +#define CDMA_CONF_BENAB BIT_1 /* Bus burst enable */ +#define CDMA_CONF_DIR BIT_0 /* DMA direction (0=fifo->host 1=host->fifo) */ + uint16_t cdma_ctrl; + uint16_t cdma_status; + uint16_t cdma_fifo_status; + uint16_t cdma_count; + uint16_t cdma_reserved; + uint16_t cdma_address_count_0; + uint16_t cdma_address_count_1; + uint16_t cdma_address_count_2; + uint16_t cdma_address_count_3; + + uint16_t unused_2[0x06]; + + uint16_t ddma_cfg; +#define DDMA_CONF_SENAB BIT_3 /* SXP to DMA Data enable */ +#define DDMA_CONF_RIRQ BIT_2 /* RISC interrupt enable */ +#define DDMA_CONF_BENAB BIT_1 /* Bus burst enable */ +#define DDMA_CONF_DIR BIT_0 /* DMA direction (0=fifo->host 1=host->fifo) */ + uint16_t ddma_ctrl; + uint16_t ddma_status; + uint16_t ddma_fifo_status; + uint16_t ddma_xfer_count_low; + uint16_t ddma_xfer_count_high; + uint16_t ddma_addr_count_0; + uint16_t ddma_addr_count_1; + uint16_t ddma_addr_count_2; + uint16_t ddma_addr_count_3; + + uint16_t unused_3[0x0e]; uint16_t mailbox0; /* Mailbox 0 */ uint16_t mailbox1; /* Mailbox 1 */ @@ -158,18 +207,18 @@ struct device_reg { uint16_t mailbox6; /* Mailbox 6 */ uint16_t mailbox7; /* Mailbox 7 */ - uint16_t unused_2[0x20];/* 0x80-0xbf Gap */ + uint16_t unused_4[0x20];/* 0x80-0xbf Gap */ uint16_t host_cmd; /* Host command and control */ #define HOST_INT BIT_7 /* host interrupt bit */ #define BIOS_ENABLE BIT_0 - uint16_t unused_6[0x5]; /* 0xc2-0xcb Gap */ + uint16_t unused_5[0x5]; /* 0xc2-0xcb Gap */ uint16_t gpio_data; uint16_t gpio_enable; - uint16_t unused_7[0x11]; /* d0-f0 */ + uint16_t unused_6[0x11]; /* d0-f0 */ uint16_t scsiControlPins; /* f2 */ }; diff --git a/drivers/scsi/qla2xxx/ql2100.c b/drivers/scsi/qla2xxx/ql2100.c index 77de0f4f9..ea136a61a 100644 --- a/drivers/scsi/qla2xxx/ql2100.c +++ b/drivers/scsi/qla2xxx/ql2100.c @@ -89,3 +89,4 @@ module_exit(qla2100_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic ISP21xx FC-SCSI Host Bus Adapter driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/ql2200.c b/drivers/scsi/qla2xxx/ql2200.c index c254daaa0..2f5698d52 100644 --- a/drivers/scsi/qla2xxx/ql2200.c +++ b/drivers/scsi/qla2xxx/ql2200.c @@ -89,3 +89,4 @@ module_exit(qla2200_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic ISP22xx FC-SCSI Host Bus Adapter driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/ql2300.c b/drivers/scsi/qla2xxx/ql2300.c index 177aa3617..1f6fc895c 100644 --- a/drivers/scsi/qla2xxx/ql2300.c +++ b/drivers/scsi/qla2xxx/ql2300.c @@ -100,3 +100,4 @@ module_exit(qla2300_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic ISP2300 FC-SCSI Host Bus Adapter driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/ql2300_fw.c b/drivers/scsi/qla2xxx/ql2300_fw.c index 9563c67cf..2486c1c18 100644 --- a/drivers/scsi/qla2xxx/ql2300_fw.c +++ b/drivers/scsi/qla2xxx/ql2300_fw.c @@ -18,25 +18,25 @@ *************************************************************************/ /* - * Firmware Version 3.02.30 (07:51 Jun 16, 2004) + * Firmware Version 3.03.02 (16:50 Aug 10, 2004) */ #ifdef UNIQUE_FW_NAME -unsigned short fw2300ipx_version = 3*1024+2; +unsigned short fw2300ipx_version = 3*1024+3; #else -unsigned short risc_code_version = 3*1024+2; +unsigned short risc_code_version = 3*1024+3; #endif #ifdef UNIQUE_FW_NAME -unsigned char fw2300ipx_version_str[] = {3, 2,30}; +unsigned char fw2300ipx_version_str[] = {3, 3, 2}; #else -unsigned char firmware_version[] = {3, 2,30}; +unsigned char firmware_version[] = {3, 3, 2}; #endif #ifdef UNIQUE_FW_NAME -#define fw2300ipx_VERSION_STRING "3.02.30" +#define fw2300ipx_VERSION_STRING "3.03.02" #else -#define FW_VERSION_STRING "3.02.30" +#define FW_VERSION_STRING "3.03.02" #endif #ifdef UNIQUE_FW_NAME @@ -50,12 +50,12 @@ unsigned short fw2300ipx_code01[] = { #else unsigned short risc_code01[] = { #endif - 0x0470, 0x0000, 0x0000, 0xe9e8, 0x0000, 0x0003, 0x0002, 0x001e, + 0x0470, 0x0000, 0x0000, 0xea02, 0x0000, 0x0003, 0x0003, 0x0002, 0x0137, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, - 0x332e, 0x3032, 0x2e33, 0x3020, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x332e, 0x3033, 0x2e30, 0x3220, 0x2020, 0x2020, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, @@ -64,7 +64,7 @@ unsigned short risc_code01[] = { 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, 0x0000, 0x20c1, 0x0004, 0x20c9, 0x1bff, 0x2059, 0x0000, 0x2b78, - 0x7883, 0x0004, 0x2089, 0x2d2b, 0x2051, 0x1800, 0x2a70, 0x20e1, + 0x7883, 0x0004, 0x2089, 0x2d36, 0x2051, 0x1800, 0x2a70, 0x20e1, 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e51, 0x2029, 0x4d00, 0x2031, 0xffff, 0x2039, 0x4cd0, 0x2021, 0x0200, 0x20e9, 0x0001, 0x20a1, 0x0000, 0x20a9, 0x0800, 0x900e, 0x4104, 0x20e9, @@ -78,161 +78,161 @@ unsigned short risc_code01[] = { 0x1800, 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, 0x20a9, 0x0800, 0x4104, 0x8211, 0x1dd8, 0x080c, 0x0f17, 0x080c, - 0x6031, 0x080c, 0xae07, 0x080c, 0x10ce, 0x080c, 0x12ed, 0x080c, - 0x1ba6, 0x080c, 0x0d69, 0x080c, 0x1053, 0x080c, 0x3427, 0x080c, - 0x76a1, 0x080c, 0x699f, 0x080c, 0x86df, 0x080c, 0x8413, 0x080c, - 0x247a, 0x080c, 0x8f81, 0x080c, 0x7d6b, 0x080c, 0x22b3, 0x080c, - 0x23e7, 0x080c, 0x246f, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, + 0x603b, 0x080c, 0xadf5, 0x080c, 0x10ce, 0x080c, 0x12ed, 0x080c, + 0x1bb1, 0x080c, 0x0d69, 0x080c, 0x1053, 0x080c, 0x3432, 0x080c, + 0x76ad, 0x080c, 0x69ad, 0x080c, 0x86fc, 0x080c, 0x8430, 0x080c, + 0x2485, 0x080c, 0x8fa0, 0x080c, 0x7d78, 0x080c, 0x22be, 0x080c, + 0x23f2, 0x080c, 0x247a, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x091f, 0x7880, 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, 0x0010, 0x0e04, 0x0913, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x2071, 0x1800, 0x7003, 0x0000, 0x2071, 0x1800, 0x7000, 0x908e, 0x0003, - 0x1178, 0x080c, 0x4bd9, 0x080c, 0x344e, 0x080c, 0x7712, 0x080c, - 0x6ed0, 0x080c, 0x87bd, 0x080c, 0x843c, 0x080c, 0x2c95, 0x0c58, + 0x1178, 0x080c, 0x4be3, 0x080c, 0x3459, 0x080c, 0x771e, 0x080c, + 0x6ede, 0x080c, 0x87da, 0x080c, 0x8459, 0x080c, 0x2ca0, 0x0c58, 0x000b, 0x0c78, 0x0944, 0x0945, 0x0ae7, 0x0942, 0x0bae, 0x0d68, 0x0d68, 0x0d68, 0x080c, 0x0dd5, 0x0005, 0x0126, 0x00f6, 0x2091, - 0x8000, 0x7000, 0x9086, 0x0001, 0x1904, 0x0aba, 0x080c, 0x56e7, + 0x8000, 0x7000, 0x9086, 0x0001, 0x1904, 0x0aba, 0x080c, 0x56f1, 0x1130, 0x0026, 0x2011, 0x0080, 0x080c, 0x0edf, 0x002e, 0x080c, - 0x73a5, 0x0150, 0x080c, 0x73c8, 0x15a0, 0x2079, 0x0100, 0x7828, - 0x9085, 0x1800, 0x782a, 0x0468, 0x080c, 0x72d7, 0x7000, 0x9086, + 0x73b3, 0x0150, 0x080c, 0x73d6, 0x15a0, 0x2079, 0x0100, 0x7828, + 0x9085, 0x1800, 0x782a, 0x0468, 0x080c, 0x72e5, 0x7000, 0x9086, 0x0001, 0x1904, 0x0aba, 0x7098, 0x9086, 0x0028, 0x1904, 0x0aba, - 0x080c, 0x840b, 0x080c, 0x83fd, 0x2001, 0x0161, 0x2003, 0x0001, + 0x080c, 0x8428, 0x080c, 0x841a, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, 0xffff, 0x7a28, 0x9295, 0x5e2f, 0x7a2a, - 0x2011, 0x723b, 0x080c, 0x84dc, 0x2011, 0x722e, 0x080c, 0x85b6, - 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x2011, 0x8030, 0x901e, 0x7396, - 0x04d0, 0x080c, 0x5739, 0x2079, 0x0100, 0x7844, 0x9005, 0x1904, - 0x0aba, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x2011, 0x723b, 0x080c, - 0x84dc, 0x2011, 0x722e, 0x080c, 0x85b6, 0x2001, 0x0265, 0x2001, + 0x2011, 0x7249, 0x080c, 0x84f9, 0x2011, 0x723c, 0x080c, 0x85d3, + 0x2011, 0x5e96, 0x080c, 0x84f9, 0x2011, 0x8030, 0x901e, 0x7396, + 0x04d0, 0x080c, 0x5743, 0x2079, 0x0100, 0x7844, 0x9005, 0x1904, + 0x0aba, 0x2011, 0x5e96, 0x080c, 0x84f9, 0x2011, 0x7249, 0x080c, + 0x84f9, 0x2011, 0x723c, 0x080c, 0x85d3, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, 0x7840, 0x9084, 0xfffb, 0x7842, 0x2001, 0x19a5, 0x2004, 0x9005, 0x1140, 0x00c6, 0x2061, 0x0100, 0x080c, - 0x5fd9, 0x00ce, 0x0804, 0x0aba, 0x780f, 0x006b, 0x7a28, 0x080c, - 0x73ad, 0x0118, 0x9295, 0x5e2f, 0x0010, 0x9295, 0x402f, 0x7a2a, + 0x5fe3, 0x00ce, 0x0804, 0x0aba, 0x780f, 0x006b, 0x7a28, 0x080c, + 0x73bb, 0x0118, 0x9295, 0x5e2f, 0x0010, 0x9295, 0x402f, 0x7a2a, 0x2011, 0x8010, 0x73d8, 0x2001, 0x19a6, 0x2003, 0x0001, 0x080c, - 0x2b5b, 0x080c, 0x4b14, 0x7248, 0xc284, 0x724a, 0x2001, 0x180c, - 0x200c, 0xc1ac, 0xc1cc, 0x2102, 0x080c, 0xa51e, 0x2011, 0x0004, - 0x080c, 0xcb5a, 0x080c, 0x682b, 0x080c, 0x73a5, 0x1120, 0x080c, - 0x2b9f, 0x02e0, 0x0400, 0x080c, 0x5fe0, 0x0140, 0x7097, 0x0001, - 0x70d3, 0x0000, 0x080c, 0x5906, 0x0804, 0x0aba, 0x080c, 0x56d8, + 0x2b66, 0x080c, 0x4b1e, 0x7248, 0xc284, 0x724a, 0x2001, 0x180c, + 0x200c, 0xc1ac, 0xc1cc, 0x2102, 0x080c, 0xa52f, 0x2011, 0x0004, + 0x080c, 0xcb6a, 0x080c, 0x6839, 0x080c, 0x73b3, 0x1120, 0x080c, + 0x2baa, 0x02e0, 0x0400, 0x080c, 0x5fea, 0x0140, 0x7097, 0x0001, + 0x70d3, 0x0000, 0x080c, 0x5910, 0x0804, 0x0aba, 0x080c, 0x56e2, 0xd094, 0x0188, 0x2011, 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, - 0x56dc, 0xd0d4, 0x1118, 0x080c, 0x2b9f, 0x1270, 0x2011, 0x180c, - 0x2204, 0xc0bc, 0x00a8, 0x080c, 0x56dc, 0xd0d4, 0x1db8, 0x2011, + 0x56e6, 0xd0d4, 0x1118, 0x080c, 0x2baa, 0x1270, 0x2011, 0x180c, + 0x2204, 0xc0bc, 0x00a8, 0x080c, 0x56e6, 0xd0d4, 0x1db8, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x0060, 0x2011, 0x180c, 0x2204, 0xc0bd, - 0x2012, 0x080c, 0x6973, 0x1128, 0xd0a4, 0x0118, 0x2204, 0xc0fd, - 0x2012, 0x080c, 0x6939, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x00a8, - 0x707f, 0x0000, 0x080c, 0x73a5, 0x1130, 0x70b0, 0x9005, 0x1168, - 0x080c, 0xcf9b, 0x0050, 0x080c, 0xcf9b, 0x70dc, 0xd09c, 0x1128, - 0x70b0, 0x9005, 0x0110, 0x080c, 0x5fb6, 0x70e7, 0x0000, 0x70e3, - 0x0000, 0x70a7, 0x0000, 0x080c, 0x2ba7, 0x0228, 0x2011, 0x0101, - 0x2204, 0xc0c4, 0x2012, 0x72dc, 0x080c, 0x73a5, 0x1178, 0x9016, - 0x0016, 0x080c, 0x2958, 0x2019, 0x196c, 0x211a, 0x001e, 0x705f, + 0x2012, 0x080c, 0x6981, 0x1128, 0xd0a4, 0x0118, 0x2204, 0xc0fd, + 0x2012, 0x080c, 0x6947, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x00a8, + 0x707f, 0x0000, 0x080c, 0x73b3, 0x1130, 0x70b0, 0x9005, 0x1168, + 0x080c, 0xcfab, 0x0050, 0x080c, 0xcfab, 0x70dc, 0xd09c, 0x1128, + 0x70b0, 0x9005, 0x0110, 0x080c, 0x5fc0, 0x70e7, 0x0000, 0x70e3, + 0x0000, 0x70a7, 0x0000, 0x080c, 0x2bb2, 0x0228, 0x2011, 0x0101, + 0x2204, 0xc0c4, 0x2012, 0x72dc, 0x080c, 0x73b3, 0x1178, 0x9016, + 0x0016, 0x080c, 0x2963, 0x2019, 0x196c, 0x211a, 0x001e, 0x705f, 0xffff, 0x7063, 0x00ef, 0x7083, 0x0000, 0x0020, 0x2019, 0x196c, 0x201b, 0x0000, 0x2079, 0x1847, 0x7804, 0xd0ac, 0x0108, 0xc295, - 0x72de, 0x080c, 0x73a5, 0x0118, 0x9296, 0x0004, 0x0548, 0x2011, - 0x0001, 0x080c, 0xcb5a, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, + 0x72de, 0x080c, 0x73b3, 0x0118, 0x9296, 0x0004, 0x0548, 0x2011, + 0x0001, 0x080c, 0xcb6a, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, - 0x782a, 0x00fe, 0x080c, 0x2f98, 0x2011, 0x0005, 0x080c, 0xa654, - 0x080c, 0x9687, 0x080c, 0x73a5, 0x0148, 0x00c6, 0x2061, 0x0100, - 0x0016, 0x080c, 0x2958, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, + 0x782a, 0x00fe, 0x080c, 0x2fa3, 0x2011, 0x0005, 0x080c, 0xa63e, + 0x080c, 0x96a6, 0x080c, 0x73b3, 0x0148, 0x00c6, 0x2061, 0x0100, + 0x0016, 0x080c, 0x2963, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, 0x782a, 0x00fe, - 0x2011, 0x0005, 0x080c, 0xa654, 0x080c, 0x9687, 0x080c, 0x73a5, - 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2958, 0x61e2, + 0x2011, 0x0005, 0x080c, 0xa63e, 0x080c, 0x96a6, 0x080c, 0x73b3, + 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, 0x2963, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x00b6, 0x080c, - 0x73a5, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, - 0x73a5, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, 0x0138, + 0x73b3, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, + 0x73b3, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, 0x0138, 0x9180, 0x1000, 0x2004, 0x905d, 0x0110, 0xb800, 0xd0bc, 0x090c, - 0x32bd, 0x8108, 0x1f04, 0x0ace, 0x707f, 0x0000, 0x7080, 0x9084, + 0x32c8, 0x8108, 0x1f04, 0x0ace, 0x707f, 0x0000, 0x7080, 0x9084, 0x00ff, 0x7082, 0x70b3, 0x0000, 0x00be, 0x00ce, 0x0005, 0x00b6, 0x0126, 0x2091, 0x8000, 0x7000, 0x9086, 0x0002, 0x1904, 0x0bab, - 0x70ac, 0x9086, 0xffff, 0x0130, 0x080c, 0x2f98, 0x080c, 0x9687, + 0x70ac, 0x9086, 0xffff, 0x0130, 0x080c, 0x2fa3, 0x080c, 0x96a6, 0x0804, 0x0bab, 0x70dc, 0xd0ac, 0x1110, 0xd09c, 0x0558, 0xd084, 0x0548, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0xd08c, - 0x0508, 0x080c, 0x3320, 0x11d0, 0x70e0, 0x9086, 0xffff, 0x01b0, - 0x080c, 0x312d, 0x080c, 0x9687, 0x70dc, 0xd094, 0x1904, 0x0bab, - 0x2011, 0x0001, 0x080c, 0xd24a, 0x0110, 0x2011, 0x0003, 0x901e, - 0x080c, 0x3167, 0x080c, 0x9687, 0x0804, 0x0bab, 0x70e4, 0x9005, + 0x0508, 0x080c, 0x332b, 0x11d0, 0x70e0, 0x9086, 0xffff, 0x01b0, + 0x080c, 0x3138, 0x080c, 0x96a6, 0x70dc, 0xd094, 0x1904, 0x0bab, + 0x2011, 0x0001, 0x080c, 0xd25a, 0x0110, 0x2011, 0x0003, 0x901e, + 0x080c, 0x3172, 0x080c, 0x96a6, 0x0804, 0x0bab, 0x70e4, 0x9005, 0x1904, 0x0bab, 0x70a8, 0x9005, 0x1904, 0x0bab, 0x70dc, 0xd0a4, - 0x0118, 0xd0b4, 0x0904, 0x0bab, 0x080c, 0x6939, 0x1904, 0x0bab, - 0x080c, 0x698c, 0x1904, 0x0bab, 0x080c, 0x6973, 0x01c0, 0x0156, - 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6608, 0x1118, + 0x0118, 0xd0b4, 0x0904, 0x0bab, 0x080c, 0x6947, 0x1904, 0x0bab, + 0x080c, 0x699a, 0x1904, 0x0bab, 0x080c, 0x6981, 0x01c0, 0x0156, + 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6616, 0x1118, 0xb800, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0b44, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0bab, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0x2011, 0x19b2, 0x080c, 0x0f87, 0x2011, 0x19cc, 0x080c, 0x0f87, 0x7030, 0xc08c, 0x7032, - 0x7003, 0x0003, 0x70af, 0xffff, 0x080c, 0x56e7, 0x1130, 0x0026, - 0x2011, 0x0040, 0x080c, 0x0edf, 0x002e, 0x9006, 0x080c, 0x27ec, - 0x080c, 0x3320, 0x0118, 0x080c, 0x4cb1, 0x0050, 0x0036, 0x0046, - 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x4ccb, 0x004e, 0x003e, - 0x00f6, 0x2079, 0x0100, 0x080c, 0x73c8, 0x0150, 0x080c, 0x73a5, + 0x7003, 0x0003, 0x70af, 0xffff, 0x080c, 0x56f1, 0x1130, 0x0026, + 0x2011, 0x0040, 0x080c, 0x0edf, 0x002e, 0x9006, 0x080c, 0x27f7, + 0x080c, 0x332b, 0x0118, 0x080c, 0x4cbb, 0x0050, 0x0036, 0x0046, + 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x4cd5, 0x004e, 0x003e, + 0x00f6, 0x2079, 0x0100, 0x080c, 0x73d6, 0x0150, 0x080c, 0x73b3, 0x7828, 0x0118, 0x9084, 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, 0x00fe, 0x2001, 0x19e7, 0x2004, 0x9086, 0x0005, 0x1120, 0x2011, - 0x0000, 0x080c, 0xa654, 0x2011, 0x0000, 0x080c, 0xa65e, 0x080c, - 0x9687, 0x080c, 0x97b5, 0x012e, 0x00be, 0x0005, 0x0016, 0x0046, + 0x0000, 0x080c, 0xa63e, 0x2011, 0x0000, 0x080c, 0xa648, 0x080c, + 0x96a6, 0x080c, 0x97d4, 0x012e, 0x00be, 0x0005, 0x0016, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, 0x918c, - 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x5f9f, 0x7940, 0x918c, + 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x5fa9, 0x7940, 0x918c, 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, 0xd19c, 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, 0xd1ac, 0x1904, 0x0c3b, 0x2001, 0x19a6, 0x2004, 0x9005, 0x1518, 0x080c, - 0x2c22, 0x1148, 0x2001, 0x0001, 0x080c, 0x2b8a, 0x2001, 0x0001, - 0x080c, 0x2b6d, 0x00b8, 0x080c, 0x2c2a, 0x1138, 0x9006, 0x080c, - 0x2b8a, 0x9006, 0x080c, 0x2b6d, 0x0068, 0x080c, 0x2c32, 0x1d50, - 0x2001, 0x1997, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x2984, - 0x0804, 0x0d1a, 0x080c, 0x73b6, 0x0148, 0x080c, 0x73c8, 0x1118, - 0x080c, 0x769c, 0x0050, 0x080c, 0x73ad, 0x0dd0, 0x080c, 0x7697, - 0x080c, 0x768d, 0x080c, 0x72d7, 0x0058, 0x080c, 0x73a5, 0x0140, - 0x2009, 0x00f8, 0x080c, 0x5f9f, 0x7843, 0x0090, 0x7843, 0x0010, - 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x73a5, 0x0138, + 0x2c2d, 0x1148, 0x2001, 0x0001, 0x080c, 0x2b95, 0x2001, 0x0001, + 0x080c, 0x2b78, 0x00b8, 0x080c, 0x2c35, 0x1138, 0x9006, 0x080c, + 0x2b95, 0x9006, 0x080c, 0x2b78, 0x0068, 0x080c, 0x2c3d, 0x1d50, + 0x2001, 0x1997, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x298f, + 0x0804, 0x0d1a, 0x080c, 0x73c4, 0x0148, 0x080c, 0x73d6, 0x1118, + 0x080c, 0x76a8, 0x0050, 0x080c, 0x73bb, 0x0dd0, 0x080c, 0x76a3, + 0x080c, 0x7699, 0x080c, 0x72e5, 0x0058, 0x080c, 0x73b3, 0x0140, + 0x2009, 0x00f8, 0x080c, 0x5fa9, 0x7843, 0x0090, 0x7843, 0x0010, + 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x73b3, 0x0138, 0x7824, 0xd0ac, 0x1904, 0x0d1f, 0x1f04, 0x0c1a, 0x0070, 0x7824, - 0x080c, 0x73bf, 0x0118, 0xd0ac, 0x1904, 0x0d1f, 0x9084, 0x1800, + 0x080c, 0x73cd, 0x0118, 0xd0ac, 0x1904, 0x0d1f, 0x9084, 0x1800, 0x0d98, 0x7003, 0x0001, 0x0804, 0x0d1f, 0x2001, 0x0001, 0x080c, - 0x27ec, 0x0804, 0x0d32, 0x2001, 0x19a6, 0x2004, 0x9005, 0x1518, - 0x080c, 0x2c22, 0x1148, 0x2001, 0x0001, 0x080c, 0x2b8a, 0x2001, - 0x0001, 0x080c, 0x2b6d, 0x00b8, 0x080c, 0x2c2a, 0x1138, 0x9006, - 0x080c, 0x2b8a, 0x9006, 0x080c, 0x2b6d, 0x0068, 0x080c, 0x2c32, + 0x27f7, 0x0804, 0x0d32, 0x2001, 0x19a6, 0x2004, 0x9005, 0x1518, + 0x080c, 0x2c2d, 0x1148, 0x2001, 0x0001, 0x080c, 0x2b95, 0x2001, + 0x0001, 0x080c, 0x2b78, 0x00b8, 0x080c, 0x2c35, 0x1138, 0x9006, + 0x080c, 0x2b95, 0x9006, 0x080c, 0x2b78, 0x0068, 0x080c, 0x2c3d, 0x1d50, 0x2001, 0x1997, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, - 0x2984, 0x0804, 0x0d1a, 0x7850, 0x9085, 0x0040, 0x7852, 0x7938, - 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2c3a, 0x9085, 0x2000, - 0x7852, 0x793a, 0x20a9, 0x0046, 0x1d04, 0x0c74, 0x080c, 0x8596, + 0x298f, 0x0804, 0x0d1a, 0x7850, 0x9085, 0x0040, 0x7852, 0x7938, + 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2c45, 0x9085, 0x2000, + 0x7852, 0x793a, 0x20a9, 0x0046, 0x1d04, 0x0c74, 0x080c, 0x85b3, 0x1f04, 0x0c74, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x7852, - 0x793a, 0x080c, 0x73b6, 0x0148, 0x080c, 0x73c8, 0x1118, 0x080c, - 0x769c, 0x0050, 0x080c, 0x73ad, 0x0dd0, 0x080c, 0x7697, 0x080c, - 0x768d, 0x080c, 0x72d7, 0x0020, 0x2009, 0x00f8, 0x080c, 0x5f9f, + 0x793a, 0x080c, 0x73c4, 0x0148, 0x080c, 0x73d6, 0x1118, 0x080c, + 0x76a8, 0x0050, 0x080c, 0x73bb, 0x0dd0, 0x080c, 0x76a3, 0x080c, + 0x7699, 0x080c, 0x72e5, 0x0020, 0x2009, 0x00f8, 0x080c, 0x5fa9, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x0c9a, 0x7850, 0x9085, 0x1400, - 0x7852, 0x080c, 0x73a5, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, - 0x2021, 0xe678, 0x2019, 0xea60, 0x0d0c, 0x8596, 0x7820, 0xd09c, - 0x1580, 0x080c, 0x73a5, 0x0904, 0x0cff, 0x7824, 0xd0ac, 0x1904, - 0x0d1f, 0x080c, 0x73c8, 0x1528, 0x0046, 0x2021, 0x0320, 0x8421, - 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x2c3a, 0x7824, 0x9084, + 0x7852, 0x080c, 0x73b3, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, + 0x2021, 0xe678, 0x2019, 0xea60, 0x0d0c, 0x85b3, 0x7820, 0xd09c, + 0x1580, 0x080c, 0x73b3, 0x0904, 0x0cff, 0x7824, 0xd0ac, 0x1904, + 0x0d1f, 0x080c, 0x73d6, 0x1528, 0x0046, 0x2021, 0x0320, 0x8421, + 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x2c45, 0x7824, 0x9084, 0x1800, 0x1160, 0x9484, 0x0fff, 0x1138, 0x2001, 0x1810, 0x2004, 0xd0fc, 0x0110, 0x080c, 0x0d45, 0x8421, 0x1158, 0x1d04, 0x0cda, - 0x080c, 0x8596, 0x080c, 0x7697, 0x080c, 0x768d, 0x7003, 0x0001, - 0x04f0, 0x8319, 0x1948, 0x1d04, 0x0ce7, 0x080c, 0x8596, 0x2009, + 0x080c, 0x85b3, 0x080c, 0x76a3, 0x080c, 0x7699, 0x7003, 0x0001, + 0x04f0, 0x8319, 0x1948, 0x1d04, 0x0ce7, 0x080c, 0x85b3, 0x2009, 0x199a, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, 0x1178, 0x200b, - 0x000a, 0x7827, 0x0048, 0x20a9, 0x0002, 0x080c, 0x2c1b, 0x7924, - 0x080c, 0x2c3a, 0xd19c, 0x0110, 0x080c, 0x2b5b, 0x00d8, 0x080c, - 0x73b6, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, 0x737d, 0x7003, - 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x2c3a, 0x7824, 0x080c, - 0x73bf, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, 0x0950, 0x7003, - 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x27ec, 0x0078, 0x2009, + 0x000a, 0x7827, 0x0048, 0x20a9, 0x0002, 0x080c, 0x2c26, 0x7924, + 0x080c, 0x2c45, 0xd19c, 0x0110, 0x080c, 0x2b66, 0x00d8, 0x080c, + 0x73c4, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, 0x738b, 0x7003, + 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x2c45, 0x7824, 0x080c, + 0x73cd, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, 0x0950, 0x7003, + 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x27f7, 0x0078, 0x2009, 0x180c, 0x210c, 0xd19c, 0x1120, 0x7904, 0x918d, 0x0002, 0x7906, 0x7827, 0x0048, 0x7828, 0x9085, 0x0028, 0x782a, 0x7850, 0x9085, 0x0400, 0x7852, 0x2001, 0x19a6, 0x2003, 0x0000, 0x9006, 0x78f2, - 0x015e, 0x003e, 0x000e, 0x080c, 0x56e7, 0x1110, 0x080c, 0x0e62, + 0x015e, 0x003e, 0x000e, 0x080c, 0x56f1, 0x1110, 0x080c, 0x0e62, 0x012e, 0x00fe, 0x004e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0036, 0x0046, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0069, - 0x0d0c, 0x8596, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, + 0x0d0c, 0x85b3, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x004e, 0x003e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x189e, - 0x7004, 0x9086, 0x0001, 0x1110, 0x080c, 0x344e, 0x00ee, 0x0005, - 0x0005, 0x2a70, 0x2061, 0x19aa, 0x2063, 0x0003, 0x6007, 0x0002, - 0x600b, 0x001e, 0x600f, 0x0137, 0x2001, 0x197b, 0x900e, 0x2102, + 0x7004, 0x9086, 0x0001, 0x1110, 0x080c, 0x3459, 0x00ee, 0x0005, + 0x0005, 0x2a70, 0x2061, 0x19aa, 0x2063, 0x0003, 0x6007, 0x0003, + 0x600b, 0x0002, 0x600f, 0x0137, 0x2001, 0x197b, 0x900e, 0x2102, 0x7196, 0x2001, 0x0100, 0x2004, 0x9082, 0x0002, 0x0218, 0x705f, 0xffff, 0x0008, 0x715e, 0x7067, 0xffff, 0x717e, 0x7182, 0x080c, - 0xcf9b, 0x2061, 0x196b, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, + 0xcfab, 0x2061, 0x196b, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x001f, 0x611a, 0x601f, 0x07d0, 0x2061, 0x1973, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, 0x1988, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, - 0x2020, 0x2001, 0x182c, 0x2102, 0x0005, 0x9016, 0x080c, 0x6608, + 0x2020, 0x2001, 0x182c, 0x2102, 0x0005, 0x9016, 0x080c, 0x6616, 0x1178, 0xb804, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, 0x98c6, 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, 0x9186, 0x0800, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, @@ -251,11 +251,11 @@ unsigned short risc_code01[] = { 0x1800, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, 0x1a18, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, - 0x2003, 0x1001, 0x080c, 0x56e7, 0x1110, 0x080c, 0x0e99, 0x0cd0, + 0x2003, 0x1001, 0x080c, 0x56f1, 0x1110, 0x080c, 0x0e99, 0x0cd0, 0x0005, 0x918c, 0x03ff, 0x2001, 0x0003, 0x2004, 0x9084, 0x0600, 0x1118, 0x918d, 0x2800, 0x0010, 0x918d, 0x2000, 0x2001, 0x017f, 0x2102, 0x0005, 0x00f6, 0x0006, 0x2079, 0x1827, 0x2f04, 0x8000, - 0x207a, 0x080c, 0x2c32, 0x1150, 0x0006, 0x2001, 0x1997, 0x2004, + 0x207a, 0x080c, 0x2c3d, 0x1150, 0x0006, 0x2001, 0x1997, 0x2004, 0xd0fc, 0x000e, 0x1118, 0x9082, 0x7530, 0x0010, 0x9082, 0x000f, 0x0258, 0x9006, 0x207a, 0x2079, 0x182a, 0x2f04, 0x9084, 0x0001, 0x9086, 0x0001, 0x207a, 0x0090, 0x2079, 0x182a, 0x2f7c, 0x8fff, @@ -266,8 +266,8 @@ unsigned short risc_code01[] = { 0x080c, 0x0f00, 0x0c80, 0x7038, 0xd0b4, 0x1128, 0x0026, 0x2011, 0x0040, 0x0469, 0x002e, 0x0005, 0x7038, 0xd0b4, 0x1128, 0x0026, 0x2011, 0x0080, 0x0421, 0x002e, 0x0005, 0x0026, 0x70ef, 0x0000, - 0x0459, 0x1148, 0x080c, 0x2c32, 0x1118, 0x2011, 0x8484, 0x0058, - 0x2011, 0x8282, 0x0040, 0x080c, 0x2c32, 0x1118, 0x2011, 0xcdc5, + 0x0459, 0x1148, 0x080c, 0x2c3d, 0x1118, 0x2011, 0x8484, 0x0058, + 0x2011, 0x8282, 0x0040, 0x080c, 0x2c3d, 0x1118, 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, 0x00e9, 0x002e, 0x0005, 0xd0b4, 0x0130, 0x0006, 0x3b00, 0x9084, 0xff3f, 0x20d8, 0x000e, 0x0005, 0x0016, 0x3b08, 0x3a00, 0x9104, 0x918d, 0x00c0, 0x21d8, 0x9084, 0xff3f, @@ -315,7 +315,7 @@ unsigned short risc_code01[] = { 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x0016, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0xa862, 0x9184, 0xffc0, 0xa85e, 0x001e, 0x0020, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x702c, - 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x83fd, + 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, 0x012e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9026, 0x2009, 0x0000, 0x2049, 0x0400, 0x2900, 0x702e, 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, 0x0440, 0x0120, 0x2848, 0x9188, @@ -380,15 +380,15 @@ unsigned short risc_code01[] = { 0x080c, 0x1108, 0x0005, 0x00de, 0x009e, 0x080c, 0x1108, 0x0005, 0xa8a8, 0xd08c, 0x0005, 0x0096, 0xa0a0, 0x904d, 0x090c, 0x0dd5, 0xa06c, 0x908e, 0x0100, 0x0130, 0xa87b, 0x0030, 0xa883, 0x0000, - 0xa897, 0x4002, 0x080c, 0x6c7a, 0xa09f, 0x0000, 0xa0a3, 0x0000, + 0xa897, 0x4002, 0x080c, 0x6c88, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x2848, 0x080c, 0x1031, 0x009e, 0x0005, 0x00a6, 0xa0a0, 0x904d, 0x090c, 0x0dd5, 0xa06c, 0x908e, 0x0100, 0x0128, 0xa87b, 0x0001, 0xa883, 0x0000, 0x00c0, 0xa80c, 0x2050, 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, 0x8006, 0x8006, 0x8007, 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xa076, 0xa172, 0xb000, 0xa07a, 0x2810, 0x080c, 0x10e9, 0x00e8, 0xa97c, 0xa894, 0x0016, 0x0006, 0x080c, - 0x6c7a, 0x000e, 0x001e, 0xd1fc, 0x1138, 0xd1f4, 0x0128, 0x00c6, - 0x2060, 0x080c, 0xae71, 0x00ce, 0x7008, 0x2048, 0xa89f, 0x0000, + 0x6c88, 0x000e, 0x001e, 0xd1fc, 0x1138, 0xd1f4, 0x0128, 0x00c6, + 0x2060, 0x080c, 0xae5f, 0x00ce, 0x7008, 0x2048, 0xa89f, 0x0000, 0xa8a3, 0x0000, 0x080c, 0x1031, 0x7007, 0x0000, 0x080c, 0x1108, 0x00ae, 0x0005, 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, 0x012e, 0x0005, 0x0096, 0x2001, @@ -397,12 +397,12 @@ unsigned short risc_code01[] = { 0x8000, 0x782b, 0x0041, 0x7007, 0x0003, 0x7000, 0xc084, 0x7002, 0x2900, 0x700a, 0x012e, 0x009e, 0x0005, 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, 0x0040, 0x0096, 0x2001, 0x192e, 0x204c, 0xaa7c, - 0x009e, 0x080c, 0x89f5, 0x2009, 0x188c, 0x2104, 0x9084, 0xfffc, - 0x200a, 0x080c, 0x8868, 0x7007, 0x0000, 0x080c, 0x1119, 0x0005, + 0x009e, 0x080c, 0x8a12, 0x2009, 0x188c, 0x2104, 0x9084, 0xfffc, + 0x200a, 0x080c, 0x8885, 0x7007, 0x0000, 0x080c, 0x1119, 0x0005, 0x7007, 0x0000, 0x080c, 0x1119, 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, 0x0300, 0x2071, 0x1a61, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x781b, 0x4800, 0x00c1, 0x7803, 0x0003, 0x780f, 0x0000, 0x20a9, - 0x03d0, 0x2061, 0xea39, 0x2c0d, 0x7912, 0xe104, 0x9ce0, 0x0002, + 0x03d0, 0x2061, 0xea53, 0x2c0d, 0x7912, 0xe104, 0x9ce0, 0x0002, 0x7916, 0x1f04, 0x1303, 0x7807, 0x0007, 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, 0x0005, 0x00c6, 0x7803, 0x0000, 0x7808, 0xd09c, 0x0120, 0x7820, 0x080c, 0x1362, 0x0cc8, 0x2001, 0x1a62, 0x2003, @@ -411,13 +411,13 @@ unsigned short risc_code01[] = { 0x782b, 0x1a81, 0x781f, 0xff00, 0x781b, 0xb700, 0x2001, 0x0200, 0x2004, 0xd0dc, 0x0110, 0x781f, 0x0303, 0x2061, 0x1a81, 0x602f, 0x1cd0, 0x2001, 0x181a, 0x2004, 0x9082, 0x1cd0, 0x6032, 0x603b, - 0x2092, 0x2001, 0x3327, 0xd0fc, 0x190c, 0x0dd5, 0x2001, 0x0003, - 0x2004, 0xd0d4, 0x1118, 0x783f, 0x3327, 0x0020, 0x9084, 0xc000, - 0x783f, 0xb327, 0x604f, 0x193c, 0x2001, 0x1927, 0x2004, 0x6042, + 0x209d, 0x2001, 0x3332, 0xd0fc, 0x190c, 0x0dd5, 0x2001, 0x0003, + 0x2004, 0xd0d4, 0x1118, 0x783f, 0x3332, 0x0020, 0x9084, 0xc000, + 0x783f, 0xb332, 0x604f, 0x193c, 0x2001, 0x1927, 0x2004, 0x6042, 0x00ce, 0x0005, 0x9086, 0x000d, 0x11d0, 0x7808, 0xd09c, 0x01b8, - 0x7820, 0x0026, 0x2010, 0x080c, 0xcb38, 0x0180, 0x2260, 0x6000, + 0x7820, 0x0026, 0x2010, 0x080c, 0xcb48, 0x0180, 0x2260, 0x6000, 0x9086, 0x0004, 0x1158, 0x0016, 0x6120, 0x9186, 0x0009, 0x0108, - 0x0020, 0x2009, 0x004c, 0x080c, 0xaeec, 0x001e, 0x002e, 0x0005, + 0x0020, 0x2009, 0x004c, 0x080c, 0xaeda, 0x001e, 0x002e, 0x0005, 0x0126, 0x2091, 0x2200, 0x7908, 0x9184, 0x0070, 0x190c, 0x0dce, 0xd19c, 0x0158, 0x7820, 0x908c, 0xf000, 0x15e8, 0x908a, 0x0024, 0x1a0c, 0x0dd5, 0x0023, 0x012e, 0x0005, 0x012e, 0x0005, 0x13bb, @@ -426,18 +426,18 @@ unsigned short risc_code01[] = { 0x155d, 0x1568, 0x156f, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13e2, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13bb, 0x13bf, 0x13bd, 0x080c, 0x0dd5, 0x080c, 0x0dce, 0x080c, - 0x157a, 0x2009, 0x1a7a, 0x2104, 0x8000, 0x200a, 0x080c, 0x7e3f, - 0x080c, 0x1aab, 0x0005, 0x2009, 0x0048, 0x2060, 0x080c, 0xaeec, + 0x157a, 0x2009, 0x1a7a, 0x2104, 0x8000, 0x200a, 0x080c, 0x7e4c, + 0x080c, 0x1abb, 0x0005, 0x2009, 0x0048, 0x2060, 0x080c, 0xaeda, 0x012e, 0x0005, 0x7004, 0xc085, 0xc0b5, 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, 0x080c, 0x157a, 0x080c, 0x16bd, 0x0005, 0x080c, 0x0dd5, 0x080c, 0x157a, 0x2060, 0x6014, 0x0096, 0x2048, - 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0xaeec, 0x2001, + 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0xaeda, 0x2001, 0x015d, 0x2003, 0x0000, 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, 0x157f, 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, 0x7006, 0x0005, 0x080c, 0x157a, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, - 0xaeec, 0x0005, 0x080c, 0x157a, 0x080c, 0x0dd5, 0x080c, 0x157a, + 0xaeda, 0x0005, 0x080c, 0x157a, 0x080c, 0x0dd5, 0x080c, 0x157a, 0x080c, 0x14d6, 0x7827, 0x0018, 0x79ac, 0xd1dc, 0x0904, 0x1487, 0x7827, 0x0015, 0x7828, 0x782b, 0x0000, 0x9065, 0x0140, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0804, 0x148d, 0x7004, @@ -446,20 +446,20 @@ unsigned short risc_code01[] = { 0x2003, 0x0020, 0x0804, 0x14bb, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x14ef, 0x0005, 0x7827, 0x0018, 0xa001, 0x7828, 0x7827, 0x0011, 0xa001, 0x7928, 0x9106, 0x0110, 0x79ac, 0x08e0, 0x00e6, - 0x2071, 0x0200, 0x702c, 0xd0c4, 0x0140, 0x00ee, 0x080c, 0x1aab, + 0x2071, 0x0200, 0x702c, 0xd0c4, 0x0140, 0x00ee, 0x080c, 0x1abb, 0x080c, 0x1313, 0x7803, 0x0001, 0x0005, 0x7037, 0x0001, 0xa001, 0x7150, 0x00ee, 0x918c, 0xff00, 0x9186, 0x0500, 0x0110, 0x79ac, 0x0810, 0x7004, 0xc09d, 0x7006, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x14ef, 0x2001, 0x020d, 0x2003, 0x0020, 0x0005, 0x7828, 0x782b, 0x0000, 0x9065, 0x090c, 0x0dd5, 0x6014, 0x2048, 0x78ab, - 0x0004, 0x918c, 0x0700, 0x01a8, 0x080c, 0x7e3f, 0x080c, 0x1aab, - 0x080c, 0xcb4a, 0x0158, 0xa9ac, 0xa936, 0xa9b0, 0xa93a, 0xa83f, + 0x0004, 0x918c, 0x0700, 0x01a8, 0x080c, 0x7e4c, 0x080c, 0x1abb, + 0x080c, 0xcb5a, 0x0158, 0xa9ac, 0xa936, 0xa9b0, 0xa93a, 0xa83f, 0xffff, 0xa843, 0xffff, 0xa880, 0xc0bd, 0xa882, 0x080c, 0xc77b, 0x0005, 0x6020, 0x9086, 0x0009, 0x1128, 0x2009, 0x004c, 0x080c, - 0xaeec, 0x0048, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, - 0x6024, 0x190c, 0xcf34, 0x2029, 0x00c8, 0x8529, 0x0128, 0x2001, - 0x0201, 0x2004, 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xe9e2, 0xd5a4, - 0x1118, 0x080c, 0x157f, 0x0005, 0x080c, 0x7e3f, 0x080c, 0x1aab, + 0xaeda, 0x0048, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, + 0x6024, 0x190c, 0xcf44, 0x2029, 0x00c8, 0x8529, 0x0128, 0x2001, + 0x0201, 0x2004, 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xe9fc, 0xd5a4, + 0x1118, 0x080c, 0x157f, 0x0005, 0x080c, 0x7e4c, 0x080c, 0x1abb, 0x0005, 0x781f, 0x0300, 0x7803, 0x0001, 0x0005, 0x0016, 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, 0x7908, 0x918c, 0x0007, 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, 0x080c, 0x15f0, 0x00fe, 0x007e, @@ -477,9 +477,9 @@ unsigned short risc_code01[] = { 0x0040, 0x2001, 0x020d, 0x2003, 0x0020, 0x080c, 0x1313, 0x7803, 0x0001, 0x00ee, 0x001e, 0x0005, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0461, 0x0ca8, 0x0429, 0x2060, 0x2009, 0x0053, - 0x080c, 0xaeec, 0x0005, 0x0005, 0x0005, 0x00e1, 0x2008, 0x00d1, - 0x0006, 0x7004, 0xc09d, 0x7006, 0x000e, 0x080c, 0x8d52, 0x0005, - 0x0089, 0x9005, 0x0118, 0x080c, 0x8955, 0x0cd0, 0x0005, 0x2001, + 0x080c, 0xaeda, 0x0005, 0x0005, 0x0005, 0x00e1, 0x2008, 0x00d1, + 0x0006, 0x7004, 0xc09d, 0x7006, 0x000e, 0x080c, 0x8d71, 0x0005, + 0x0089, 0x9005, 0x0118, 0x080c, 0x8972, 0x0cd0, 0x0005, 0x2001, 0x0036, 0x2009, 0x1820, 0x210c, 0x2011, 0x181f, 0x2214, 0x080c, 0x15f0, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, 0x080c, 0x14d6, 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, 0x0510, @@ -489,7 +489,7 @@ unsigned short risc_code01[] = { 0x080c, 0x15e2, 0x6827, 0x0001, 0x8109, 0x1dd0, 0x04d9, 0x6827, 0x0002, 0x04c1, 0x6804, 0x9005, 0x1130, 0x682c, 0xd0e4, 0x1500, 0x6804, 0x9005, 0x0de8, 0x79b8, 0xd1ec, 0x1130, 0x08c0, 0x080c, - 0x7e3f, 0x080c, 0x1aab, 0x0090, 0x7827, 0x0015, 0x782b, 0x0000, + 0x7e4c, 0x080c, 0x1abb, 0x0090, 0x7827, 0x0015, 0x782b, 0x0000, 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, 0x020d, 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, 0x0001, 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, 0x0d30, 0x7827, 0x0015, @@ -505,17 +505,17 @@ unsigned short risc_code01[] = { 0x1669, 0x9284, 0x0048, 0x9086, 0x0008, 0x1904, 0x1669, 0x2001, 0x0109, 0x2004, 0xd08c, 0x01f0, 0x0006, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x0126, 0x2091, 0x2800, 0x00f6, 0x0026, 0x0016, - 0x2009, 0x1a7c, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x908b, + 0x2009, 0x1a7c, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x90aa, 0x001e, 0x002e, 0x00fe, 0x012e, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x000e, 0x2001, 0x009b, 0x2004, 0xd0fc, 0x01d0, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x00f6, 0x0016, - 0x2009, 0x1a7d, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x1eb6, + 0x2009, 0x1a7d, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0x1ec1, 0x001e, 0x00fe, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x7818, 0xd0bc, 0x1904, 0x1619, 0x0005, 0x2001, 0x180c, 0x2004, 0xd0f4, 0x1528, 0x7a18, 0x9284, 0x0030, 0x0508, 0x9284, 0x0048, 0x9086, 0x0008, 0x11e0, 0x2001, 0x19f5, 0x2004, 0x9005, 0x01b8, 0x2001, 0x1a65, 0x2004, 0x9086, 0x0000, 0x0188, 0x2009, - 0x1a7b, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0xa2f8, 0x2009, + 0x1a7b, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, 0xa30d, 0x2009, 0x180c, 0x2104, 0xc0f5, 0x200a, 0x2009, 0xff00, 0x0804, 0x1619, 0x9085, 0x0001, 0x0005, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x080c, 0x1612, 0x1108, 0x0005, 0x792c, 0x3900, 0x8000, 0x2004, @@ -526,32 +526,32 @@ unsigned short risc_code01[] = { 0x171c, 0x7017, 0x0000, 0x2001, 0x0264, 0x2004, 0xd0bc, 0x0904, 0x171c, 0x2001, 0x0268, 0x00c6, 0x2064, 0x6104, 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, 0x171c, 0x9c06, 0x15f0, 0x0126, 0x2091, - 0x2600, 0x080c, 0x7d86, 0x012e, 0x7358, 0x745c, 0x6014, 0x905d, + 0x2600, 0x080c, 0x7d93, 0x012e, 0x7358, 0x745c, 0x6014, 0x905d, 0x0598, 0x2b48, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, - 0x190c, 0xcf0f, 0xab42, 0xac3e, 0x2001, 0x1869, 0x2004, 0xd0b4, + 0x190c, 0xcf1f, 0xab42, 0xac3e, 0x2001, 0x1869, 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, 0x1158, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1120, 0xa83b, 0x7fff, 0xa837, 0xffff, 0x080c, - 0x20b2, 0x1190, 0x080c, 0x1909, 0x2a00, 0xa816, 0x0130, 0x2800, + 0x20bd, 0x1190, 0x080c, 0x1909, 0x2a00, 0xa816, 0x0130, 0x2800, 0xa80e, 0x2c05, 0xa80a, 0x2c00, 0xa812, 0x7037, 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, 0x0005, 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, 0x157f, 0x0005, 0x080c, 0x0dd5, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0x903e, 0x2730, 0xa864, 0x2068, 0xa81a, 0x9d84, 0x000f, 0x9088, - 0x2092, 0x2165, 0x0002, 0x1752, 0x17c0, 0x1752, 0x1752, 0x1756, + 0x209d, 0x2165, 0x0002, 0x1752, 0x17c0, 0x1752, 0x1752, 0x1756, 0x17a1, 0x1752, 0x1776, 0x174b, 0x17b7, 0x1752, 0x1752, 0x175b, 0x18ac, 0x178a, 0x1780, 0xa964, 0x918c, 0x00ff, 0x918e, 0x0048, 0x0904, 0x17b7, 0x9085, 0x0001, 0x0804, 0x18a3, 0xa87c, 0xd0ac, 0x0dc8, 0x0804, 0x17c7, 0xa87c, 0xd0ac, 0x0da0, 0x0804, 0x1832, 0xa898, 0x901d, 0x1108, 0xab9c, 0x9016, 0xaab2, 0xaa3e, 0xaa42, - 0x3e00, 0x9080, 0x0008, 0x2004, 0x9080, 0x8f19, 0x2005, 0x9005, + 0x3e00, 0x9080, 0x0008, 0x2004, 0x9080, 0x8f38, 0x2005, 0x9005, 0x090c, 0x0dd5, 0x2004, 0xa8ae, 0x0804, 0x188b, 0xa87c, 0xd0bc, 0x09c8, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x17c7, 0xa87c, 0xd0bc, 0x0978, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x1832, 0xa87c, 0xd0bc, 0x0928, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa804, 0x9045, 0x090c, 0x0dd5, 0xa164, 0xa91a, 0x91ec, - 0x000f, 0x9d80, 0x2092, 0x2065, 0xa888, 0xd19c, 0x1904, 0x1832, + 0x000f, 0x9d80, 0x209d, 0x2065, 0xa888, 0xd19c, 0x1904, 0x1832, 0x0430, 0xa87c, 0xd0ac, 0x0904, 0x1752, 0xa804, 0x9045, 0x090c, - 0x0dd5, 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x2092, 0x2065, + 0x0dd5, 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x209d, 0x2065, 0x9006, 0xa842, 0xa83e, 0xd19c, 0x1904, 0x1832, 0x0080, 0xa87c, 0xd0ac, 0x0904, 0x1752, 0x9006, 0xa842, 0xa83e, 0x0804, 0x1832, 0xa87c, 0xd0ac, 0x0904, 0x1752, 0x9006, 0xa842, 0xa83e, 0x2c05, @@ -585,7 +585,7 @@ unsigned short risc_code01[] = { 0xc0dd, 0xa87e, 0x9006, 0x00ce, 0x012e, 0x0005, 0x2800, 0xa80e, 0xab0a, 0x2c00, 0xa812, 0x0c78, 0x0804, 0x1752, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0xa80e, - 0x2061, 0x208d, 0xa813, 0x208d, 0x2c05, 0xa80a, 0xa964, 0xa91a, + 0x2061, 0x2098, 0xa813, 0x2098, 0x2c05, 0xa80a, 0xa964, 0xa91a, 0xa87c, 0xd0ac, 0x090c, 0x0dd5, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0dd5, 0xadcc, 0xacd0, 0xafd4, 0xaed8, 0xabdc, 0xaae0, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, @@ -594,7 +594,7 @@ unsigned short risc_code01[] = { 0x0002, 0xa916, 0x1158, 0x3e60, 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, 0x00ce, 0x012e, 0x0005, 0xa804, 0x9045, 0x090c, 0x0dd5, 0xa80e, 0xa064, 0xa81a, 0x9084, 0x000f, 0x9080, - 0x2092, 0x2015, 0x82ff, 0x090c, 0x0dd5, 0xaa12, 0x2205, 0xa80a, + 0x209d, 0x2015, 0x82ff, 0x090c, 0x0dd5, 0xaa12, 0x2205, 0xa80a, 0x0c10, 0x903e, 0x2730, 0xa880, 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x1a33, 0x1960, 0x1960, 0x1a33, 0x1960, 0x1a2d, 0x1a33, 0x1960, 0x19d0, 0x19d0, 0x19d0, 0x1a33, 0x19d0, 0x1a33, 0x1a2a, 0x19d0, @@ -631,5534 +631,5534 @@ unsigned short risc_code01[] = { 0x9d86, 0x000c, 0x0510, 0xa3ac, 0xa2b0, 0x00f8, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0x9d86, 0x000c, 0x01c0, 0xa3c4, 0xa2c8, 0x00a8, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, 0x9d86, 0x000c, 0x0170, 0xa3dc, - 0xa2e0, 0x0058, 0x9d86, 0x000e, 0x1130, 0x080c, 0x204a, 0x1904, + 0xa2e0, 0x0058, 0x9d86, 0x000e, 0x1130, 0x080c, 0x2055, 0x1904, 0x1909, 0x900e, 0x0050, 0x080c, 0x0dd5, 0xab2e, 0xaa32, 0xad1e, - 0xac22, 0xaf26, 0xae2a, 0x080c, 0x204a, 0x0005, 0x6014, 0x2048, + 0xac22, 0xaf26, 0xae2a, 0x080c, 0x2055, 0x0005, 0x6014, 0x2048, 0x6118, 0x810c, 0x810c, 0x810c, 0x81ff, 0x1118, 0xa887, 0x0001, - 0x0008, 0xa986, 0x601b, 0x0002, 0xa974, 0xd1dc, 0x1108, 0x0005, + 0x0008, 0xa986, 0x601b, 0x0002, 0xa874, 0x9084, 0x00ff, 0x9084, + 0x0008, 0x0150, 0x00e9, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, + 0x0048, 0x080c, 0xaeda, 0x0005, 0xa974, 0xd1dc, 0x1108, 0x0005, 0xa934, 0xa88c, 0x9106, 0x1158, 0xa938, 0xa890, 0x9106, 0x1138, - 0x601c, 0xc084, 0x601e, 0x2009, 0x0048, 0x0804, 0xaeec, 0x0005, + 0x601c, 0xc084, 0x601e, 0x2009, 0x0048, 0x0804, 0xaeda, 0x0005, 0x0126, 0x00c6, 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, 0x0007, 0x9186, 0x0000, 0x05b0, 0x9186, 0x0003, 0x0598, 0x6020, 0x6023, 0x0000, 0x0006, 0x2031, 0x0008, 0x00c6, 0x781f, 0x0808, 0x7808, 0xd09c, 0x0120, 0x080c, 0x1380, 0x8631, 0x1db8, 0x00ce, 0x781f, 0x0800, 0x2031, 0x0168, 0x00c6, 0x7808, 0xd09c, 0x190c, 0x1380, - 0x00ce, 0x2001, 0x0038, 0x080c, 0x1b38, 0x7930, 0x9186, 0x0040, + 0x00ce, 0x2001, 0x0038, 0x080c, 0x1b43, 0x7930, 0x9186, 0x0040, 0x0160, 0x9186, 0x0042, 0x190c, 0x0dd5, 0x2001, 0x001e, 0x8001, - 0x1df0, 0x8631, 0x1d40, 0x080c, 0x1b47, 0x000e, 0x6022, 0x012e, - 0x0005, 0x080c, 0x1b34, 0x7827, 0x0015, 0x7828, 0x9c06, 0x1db8, + 0x1df0, 0x8631, 0x1d40, 0x080c, 0x1b52, 0x000e, 0x6022, 0x012e, + 0x0005, 0x080c, 0x1b3f, 0x7827, 0x0015, 0x7828, 0x9c06, 0x1db8, 0x782b, 0x0000, 0x0ca0, 0x00f6, 0x2079, 0x0300, 0x7803, 0x0000, - 0x78ab, 0x0004, 0x00fe, 0x080c, 0x73a5, 0x11b0, 0x2001, 0x0138, + 0x78ab, 0x0004, 0x00fe, 0x080c, 0x73b3, 0x1188, 0x2001, 0x0138, 0x2003, 0x0000, 0x2001, 0x0160, 0x2003, 0x0000, 0x2011, 0x012c, - 0xa001, 0xa001, 0x8211, 0x1de0, 0x0081, 0x0066, 0x2031, 0x0000, - 0x080c, 0x7455, 0x006e, 0x0005, 0x0479, 0x0039, 0x2001, 0x0160, - 0x2502, 0x2001, 0x0138, 0x2202, 0x0005, 0x00e6, 0x2071, 0x0200, - 0x080c, 0x2c46, 0x2009, 0x003c, 0x080c, 0x23d4, 0x2001, 0x015d, - 0x2003, 0x0000, 0x7000, 0x9084, 0x003c, 0x1de0, 0x080c, 0x83fd, - 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, 0x709e, 0x2001, 0x020d, - 0x2003, 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, 0x1313, 0x7803, - 0x0001, 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, - 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x73a5, - 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, 0xd3dc, - 0x1168, 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, 0x1160, 0x2001, - 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x2001, 0x015d, - 0x2003, 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, 0x2003, 0x0048, - 0xa001, 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, 0x8421, 0x1db0, - 0x004e, 0x0c60, 0x004e, 0x0c40, 0x601c, 0xc084, 0x601e, 0x0005, - 0x2c08, 0x621c, 0x080c, 0x15f0, 0x7930, 0x0005, 0x2c08, 0x621c, - 0x080c, 0x169b, 0x7930, 0x0005, 0x8001, 0x1df0, 0x0005, 0x2031, - 0x0005, 0x781c, 0x9084, 0x0007, 0x0170, 0x2001, 0x0038, 0x0c41, - 0x9186, 0x0040, 0x0904, 0x1ba5, 0x2001, 0x001e, 0x0c69, 0x8631, - 0x1d80, 0x080c, 0x0dd5, 0x781f, 0x0202, 0x2001, 0x015d, 0x2003, - 0x0000, 0x2001, 0x0b10, 0x0c01, 0x781c, 0xd084, 0x0110, 0x0861, - 0x04e0, 0x2001, 0x0030, 0x0891, 0x9186, 0x0040, 0x0568, 0x781c, - 0xd084, 0x1da8, 0x781f, 0x0101, 0x2001, 0x0014, 0x0869, 0x2001, - 0x0037, 0x0821, 0x9186, 0x0040, 0x0140, 0x2001, 0x0030, 0x080c, - 0x1b3e, 0x9186, 0x0040, 0x190c, 0x0dd5, 0x00d6, 0x2069, 0x0200, - 0x692c, 0xd1f4, 0x1170, 0xd1c4, 0x0160, 0xd19c, 0x0130, 0x6800, - 0x9085, 0x1800, 0x6802, 0x00de, 0x0080, 0x6908, 0x9184, 0x0007, - 0x1db0, 0x00de, 0x781f, 0x0100, 0x791c, 0x9184, 0x0007, 0x090c, - 0x0dd5, 0xa001, 0xa001, 0x781f, 0x0200, 0x0005, 0x0126, 0x2091, - 0x2400, 0x2071, 0x1a65, 0x2079, 0x0090, 0x012e, 0x0005, 0x9280, - 0x0005, 0x2004, 0x2048, 0xa97c, 0xd1dc, 0x1904, 0x1c47, 0xa964, - 0x9184, 0x0007, 0x0002, 0x1bc3, 0x1c32, 0x1bda, 0x1bdc, 0x1bda, - 0x1c1a, 0x1bfa, 0x1be9, 0x918c, 0x00ff, 0x9186, 0x0008, 0x1170, - 0xa87c, 0xd0b4, 0x0904, 0x1e71, 0x9006, 0xa842, 0xa83e, 0xa988, - 0x2900, 0xa85a, 0xa813, 0x208d, 0x0804, 0x1c43, 0x9186, 0x0048, - 0x0904, 0x1c32, 0x080c, 0x0dd5, 0x9184, 0x00ff, 0x9086, 0x0013, - 0x0904, 0x1c32, 0x9184, 0x00ff, 0x9086, 0x001b, 0x0904, 0x1c32, - 0x0c88, 0xa87c, 0xd0b4, 0x0904, 0x1e71, 0xa890, 0xa842, 0xa83a, - 0xa88c, 0xa83e, 0xa836, 0xa8ac, 0xa846, 0xa8b0, 0xa84a, 0xa988, - 0x0804, 0x1c3a, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x19d0, - 0xa87c, 0xd0b4, 0x0904, 0x1e71, 0xa890, 0xa842, 0xa83a, 0xa88c, - 0xa83e, 0xa836, 0xa8ac, 0xa846, 0xa8b0, 0xa84a, 0xa804, 0xa85a, - 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x2092, 0x2005, 0xa812, - 0xa988, 0x0448, 0x918c, 0x00ff, 0x9186, 0x0015, 0x1540, 0xa87c, - 0xd0b4, 0x0904, 0x1e71, 0xa804, 0xa85a, 0x2040, 0xa064, 0x9084, - 0x000f, 0x9080, 0x2092, 0x2005, 0xa812, 0xa988, 0x9006, 0xa842, - 0xa83e, 0x0088, 0xa87c, 0xd0b4, 0x0904, 0x1e71, 0xa988, 0x9006, - 0xa842, 0xa83e, 0x2900, 0xa85a, 0xa864, 0x9084, 0x000f, 0x9080, - 0x2092, 0x2005, 0xa812, 0xa916, 0xa87c, 0xc0dd, 0xa87e, 0x0005, - 0x00f6, 0x2079, 0x0090, 0x782c, 0xd0fc, 0x190c, 0x1eb6, 0x00e6, - 0x2071, 0x1a65, 0x7000, 0x9005, 0x1904, 0x1cb0, 0x7206, 0x9280, - 0x0005, 0x204c, 0x9280, 0x0004, 0x2004, 0x782b, 0x0004, 0x00f6, - 0x2079, 0x0200, 0x7803, 0x0040, 0x00fe, 0x00b6, 0x2058, 0xb86c, - 0x7836, 0xb890, 0x00be, 0x00f6, 0x2079, 0x0200, 0x7803, 0x0040, - 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x781a, 0x2079, - 0x0100, 0x8004, 0x78d6, 0x00fe, 0xa814, 0x2050, 0xa858, 0x2040, - 0xa810, 0x2060, 0xa064, 0x90ec, 0x000f, 0xa944, 0x791a, 0x7116, - 0xa848, 0x781e, 0x701a, 0x9006, 0x700e, 0x7012, 0x7004, 0xa940, - 0xa838, 0x9106, 0x1500, 0xa93c, 0xa834, 0x9106, 0x11e0, 0x0006, - 0x0016, 0xa938, 0xa834, 0x9105, 0x0118, 0x001e, 0x000e, 0x0098, - 0x001e, 0x000e, 0x8aff, 0x01c8, 0x0126, 0x2091, 0x8000, 0x2009, - 0x0306, 0x200b, 0x0808, 0x00d9, 0x0108, 0x00c9, 0x012e, 0x9006, - 0x00ee, 0x00fe, 0x0005, 0x0036, 0x0046, 0xab38, 0xac34, 0x080c, - 0x20b2, 0x004e, 0x003e, 0x0d30, 0x0c98, 0x9085, 0x0001, 0x0c80, - 0x2009, 0x0306, 0x200b, 0x4800, 0x7027, 0x0000, 0x0005, 0x0076, - 0x0066, 0x0056, 0x0046, 0x0036, 0x0026, 0x8aff, 0x0904, 0x1e6a, - 0x700c, 0x7214, 0x923a, 0x7010, 0x7218, 0x9203, 0x0a04, 0x1e69, - 0x9705, 0x0904, 0x1e69, 0x903e, 0x2730, 0xa880, 0xd0fc, 0x1190, - 0x2d00, 0x0002, 0x1df3, 0x1d32, 0x1d32, 0x1df3, 0x1df3, 0x1dd0, - 0x1df3, 0x1d32, 0x1dd7, 0x1d81, 0x1d81, 0x1df3, 0x1df3, 0x1df3, - 0x1dca, 0x1d81, 0xc0fc, 0xa882, 0xab2c, 0xaa30, 0xad1c, 0xac20, - 0xdd9c, 0x0904, 0x1e00, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0dd5, - 0x9082, 0x001b, 0x0002, 0x1d1e, 0x1d1c, 0x1d1c, 0x1d1c, 0x1d1c, - 0x1d1c, 0x1d22, 0x1d1c, 0x1d1c, 0x1d1c, 0x1d1c, 0x1d1c, 0x1d26, - 0x1d1c, 0x1d1c, 0x1d1c, 0x1d1c, 0x1d1c, 0x1d2a, 0x1d1c, 0x1d1c, - 0x1d1c, 0x1d1c, 0x1d1c, 0x1d2e, 0x080c, 0x0dd5, 0xa774, 0xa678, - 0x0804, 0x1e00, 0xa78c, 0xa690, 0x0804, 0x1e00, 0xa7a4, 0xa6a8, - 0x0804, 0x1e00, 0xa7bc, 0xa6c0, 0x0804, 0x1e00, 0xa7d4, 0xa6d8, - 0x0804, 0x1e00, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0dd5, 0x9082, - 0x001b, 0x0002, 0x1d55, 0x1d55, 0x1d57, 0x1d55, 0x1d55, 0x1d55, - 0x1d5d, 0x1d55, 0x1d55, 0x1d55, 0x1d63, 0x1d55, 0x1d55, 0x1d55, - 0x1d69, 0x1d55, 0x1d55, 0x1d55, 0x1d6f, 0x1d55, 0x1d55, 0x1d55, - 0x1d75, 0x1d55, 0x1d55, 0x1d55, 0x1d7b, 0x080c, 0x0dd5, 0xa574, - 0xa478, 0xa37c, 0xa280, 0x0804, 0x1e00, 0xa584, 0xa488, 0xa38c, - 0xa290, 0x0804, 0x1e00, 0xa594, 0xa498, 0xa39c, 0xa2a0, 0x0804, - 0x1e00, 0xa5a4, 0xa4a8, 0xa3ac, 0xa2b0, 0x0804, 0x1e00, 0xa5b4, - 0xa4b8, 0xa3bc, 0xa2c0, 0x0804, 0x1e00, 0xa5c4, 0xa4c8, 0xa3cc, - 0xa2d0, 0x0804, 0x1e00, 0xa5d4, 0xa4d8, 0xa3dc, 0xa2e0, 0x0804, - 0x1e00, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0dd5, 0x9082, 0x001b, - 0x0002, 0x1da4, 0x1da2, 0x1da2, 0x1da2, 0x1da2, 0x1da2, 0x1dac, - 0x1da2, 0x1da2, 0x1da2, 0x1da2, 0x1da2, 0x1db4, 0x1da2, 0x1da2, - 0x1da2, 0x1da2, 0x1da2, 0x1dbc, 0x1da2, 0x1da2, 0x1da2, 0x1da2, - 0x1da2, 0x1dc3, 0x080c, 0x0dd5, 0xa56c, 0xa470, 0xa774, 0xa678, - 0xa37c, 0xa280, 0x0804, 0x1e00, 0xa584, 0xa488, 0xa78c, 0xa690, - 0xa394, 0xa298, 0x0804, 0x1e00, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, - 0xa3ac, 0xa2b0, 0x0804, 0x1e00, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, - 0xa3c4, 0xa2c8, 0x04e8, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, 0xa3dc, - 0xa2e0, 0x04b0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x1518, - 0x080c, 0x204a, 0x1904, 0x1ccd, 0x900e, 0x0804, 0x1e6a, 0xab64, - 0x939c, 0x00ff, 0x9386, 0x0048, 0x1180, 0x00c6, 0x7004, 0x2060, - 0x6004, 0x9086, 0x0043, 0x00ce, 0x0904, 0x1d81, 0xab9c, 0x9016, - 0xad8c, 0xac90, 0xaf94, 0xae98, 0x0098, 0x9386, 0x0008, 0x0904, - 0x1d81, 0x080c, 0x0dd5, 0xa964, 0x918c, 0x00ff, 0x9186, 0x0013, - 0x0904, 0x1d32, 0x9186, 0x001b, 0x0904, 0x1d81, 0x080c, 0x0dd5, - 0x2009, 0x030f, 0x2104, 0xd0fc, 0x0530, 0x0066, 0x2009, 0x0306, - 0x2104, 0x9084, 0x0030, 0x15c8, 0x2031, 0x1000, 0x200b, 0x4000, - 0x2600, 0x9302, 0x928b, 0x0000, 0xa82e, 0xa932, 0x0278, 0x9105, - 0x0168, 0x2011, 0x0000, 0x2618, 0x2600, 0x9500, 0xa81e, 0x9481, - 0x0000, 0xa822, 0xa880, 0xc0fd, 0xa882, 0x0020, 0xa82f, 0x0000, - 0xa833, 0x0000, 0x006e, 0x7b12, 0x7a16, 0x7d02, 0x7c06, 0x7f0a, - 0x7e0e, 0x782b, 0x0001, 0x7000, 0x8000, 0x7002, 0xa83c, 0x9300, - 0xa83e, 0xa840, 0x9201, 0xa842, 0x700c, 0x9300, 0x700e, 0x7010, - 0x9201, 0x7012, 0x080c, 0x204a, 0x0428, 0x2031, 0x0080, 0x9584, - 0x007f, 0x0108, 0x9632, 0x7124, 0x7000, 0x9086, 0x0000, 0x1198, - 0xc185, 0x7126, 0x2009, 0x0306, 0x2104, 0xd0b4, 0x1904, 0x1e10, - 0x200b, 0x4040, 0x2009, 0x1a7e, 0x2104, 0x8000, 0x0a04, 0x1e10, - 0x200a, 0x0804, 0x1e10, 0xc18d, 0x7126, 0xd184, 0x1d58, 0x0804, - 0x1e10, 0x9006, 0x002e, 0x003e, 0x004e, 0x005e, 0x006e, 0x007e, - 0x0005, 0x080c, 0x0dd5, 0x0026, 0x2001, 0x0105, 0x2003, 0x0010, - 0x782b, 0x0004, 0x7003, 0x0000, 0x7004, 0x0016, 0x080c, 0x1cc0, - 0x001e, 0x2060, 0x6014, 0x2048, 0x080c, 0xcb4a, 0x0118, 0xa880, - 0xc0bd, 0xa882, 0x6020, 0x9086, 0x0006, 0x1180, 0x2061, 0x0100, - 0x62c8, 0x2001, 0x00fa, 0x8001, 0x1df0, 0x60c8, 0x9206, 0x1dc0, - 0x60c4, 0xa89a, 0x60c8, 0xa896, 0x7004, 0x2060, 0x00c6, 0x080c, - 0xc77b, 0x00ce, 0x2001, 0x19f5, 0x2004, 0x9c06, 0x1160, 0x2009, - 0x0040, 0x080c, 0x23d4, 0x080c, 0xa7cd, 0x2011, 0x0000, 0x080c, - 0xa65e, 0x080c, 0x97b5, 0x002e, 0x0804, 0x1ffa, 0x0126, 0x2091, - 0x2400, 0xa858, 0x2040, 0x792c, 0x782b, 0x0002, 0x9184, 0x0700, - 0x1904, 0x1e73, 0x7000, 0x0002, 0x1ffa, 0x1ec8, 0x1f48, 0x1ff8, - 0x8001, 0x7002, 0x7027, 0x0000, 0xd19c, 0x1158, 0x8aff, 0x0904, - 0x1f15, 0x080c, 0x1cc7, 0x0904, 0x1ffa, 0x080c, 0x1cc7, 0x0804, - 0x1ffa, 0x782b, 0x0004, 0xd194, 0x0148, 0xa880, 0xc0fc, 0xa882, - 0x8aff, 0x1518, 0xa87c, 0xc0f5, 0xa87e, 0x00f8, 0x0026, 0x0036, - 0xab3c, 0xaa40, 0x0016, 0x7910, 0xa82c, 0x9100, 0xa82e, 0x7914, - 0xa830, 0x9101, 0xa832, 0x001e, 0x7810, 0x931a, 0x7814, 0x9213, - 0x7800, 0xa81e, 0x7804, 0xa822, 0xab3e, 0xaa42, 0x003e, 0x002e, - 0x080c, 0x2065, 0xa880, 0xc0fd, 0xa882, 0x2a00, 0xa816, 0x2800, - 0xa85a, 0x2c00, 0xa812, 0x7003, 0x0000, 0x2009, 0x0306, 0x200b, - 0x4800, 0x7027, 0x0000, 0x0804, 0x1ffa, 0x00f6, 0x0026, 0x781c, - 0x0006, 0x7818, 0x0006, 0x2079, 0x0100, 0x7a14, 0x9284, 0x1984, - 0x9085, 0x0012, 0x7816, 0x0036, 0x2019, 0x1000, 0x8319, 0x090c, - 0x0dd5, 0x7820, 0xd0bc, 0x1dd0, 0x003e, 0x79c8, 0x000e, 0x9102, - 0x001e, 0x0006, 0x0016, 0x79c4, 0x000e, 0x9103, 0x78c6, 0x000e, - 0x78ca, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x002e, 0x00fe, - 0x782b, 0x0008, 0x7003, 0x0000, 0x080c, 0x1cc0, 0x0804, 0x1ffa, - 0x8001, 0x7002, 0x7024, 0x8004, 0x7026, 0xd194, 0x0170, 0x782c, - 0xd0fc, 0x1904, 0x1ebb, 0xd19c, 0x1904, 0x1ff6, 0x8aff, 0x0904, - 0x1ffa, 0x080c, 0x1cc7, 0x0804, 0x1ffa, 0x0026, 0x0036, 0xab3c, - 0xaa40, 0x080c, 0x2065, 0xdd9c, 0x1904, 0x1fb5, 0x2c05, 0x908a, - 0x0036, 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x1f89, 0x1f89, - 0x1f8b, 0x1f89, 0x1f89, 0x1f89, 0x1f91, 0x1f89, 0x1f89, 0x1f89, - 0x1f97, 0x1f89, 0x1f89, 0x1f89, 0x1f9d, 0x1f89, 0x1f89, 0x1f89, - 0x1fa3, 0x1f89, 0x1f89, 0x1f89, 0x1fa9, 0x1f89, 0x1f89, 0x1f89, - 0x1faf, 0x080c, 0x0dd5, 0xa07c, 0x931a, 0xa080, 0x9213, 0x0804, - 0x1eea, 0xa08c, 0x931a, 0xa090, 0x9213, 0x0804, 0x1eea, 0xa09c, - 0x931a, 0xa0a0, 0x9213, 0x0804, 0x1eea, 0xa0ac, 0x931a, 0xa0b0, - 0x9213, 0x0804, 0x1eea, 0xa0bc, 0x931a, 0xa0c0, 0x9213, 0x0804, - 0x1eea, 0xa0cc, 0x931a, 0xa0d0, 0x9213, 0x0804, 0x1eea, 0xa0dc, - 0x931a, 0xa0e0, 0x9213, 0x0804, 0x1eea, 0x2c05, 0x908a, 0x0034, - 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x1fd8, 0x1fd6, 0x1fd6, - 0x1fd6, 0x1fd6, 0x1fd6, 0x1fde, 0x1fd6, 0x1fd6, 0x1fd6, 0x1fd6, - 0x1fd6, 0x1fe4, 0x1fd6, 0x1fd6, 0x1fd6, 0x1fd6, 0x1fd6, 0x1fea, - 0x1fd6, 0x1fd6, 0x1fd6, 0x1fd6, 0x1fd6, 0x1ff0, 0x080c, 0x0dd5, - 0xa07c, 0x931a, 0xa080, 0x9213, 0x0804, 0x1eea, 0xa094, 0x931a, - 0xa098, 0x9213, 0x0804, 0x1eea, 0xa0ac, 0x931a, 0xa0b0, 0x9213, - 0x0804, 0x1eea, 0xa0c4, 0x931a, 0xa0c8, 0x9213, 0x0804, 0x1eea, - 0xa0dc, 0x931a, 0xa0e0, 0x9213, 0x0804, 0x1eea, 0x0804, 0x1ee6, - 0x080c, 0x0dd5, 0x012e, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a65, - 0x7000, 0x9086, 0x0000, 0x0904, 0x2045, 0x2079, 0x0090, 0x2009, - 0x0207, 0x210c, 0xd194, 0x01b8, 0x2009, 0x020c, 0x210c, 0x9184, - 0x0003, 0x0188, 0x080c, 0xea2b, 0x2001, 0x0133, 0x2004, 0x9005, - 0x090c, 0x0dd5, 0x0016, 0x2009, 0x0040, 0x080c, 0x23d4, 0x001e, - 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, - 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x23d4, 0x782c, - 0xd0fc, 0x09a8, 0x080c, 0x1eb6, 0x7000, 0x9086, 0x0000, 0x1978, - 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, - 0x23d4, 0x782b, 0x0002, 0x7003, 0x0000, 0x080c, 0x1cc0, 0x00ee, - 0x00fe, 0x0005, 0xa880, 0xd0fc, 0x11a8, 0x8c60, 0x2c05, 0x9005, - 0x0110, 0x8a51, 0x0005, 0xa004, 0x9005, 0x0168, 0xa85a, 0x2040, - 0xa064, 0x9084, 0x000f, 0x9080, 0x2092, 0x2065, 0x8cff, 0x090c, - 0x0dd5, 0x8a51, 0x0005, 0x2050, 0x0005, 0xa880, 0xd0fc, 0x11b8, - 0x8a50, 0x8c61, 0x2c05, 0x9005, 0x1190, 0x2800, 0x9906, 0x0120, - 0xa000, 0x9005, 0x1108, 0x2900, 0x2040, 0xa85a, 0xa064, 0x9084, - 0x000f, 0x9080, 0x20a2, 0x2065, 0x8cff, 0x090c, 0x0dd5, 0x0005, - 0x0000, 0x001d, 0x0021, 0x0025, 0x0029, 0x002d, 0x0031, 0x0035, - 0x0000, 0x001b, 0x0021, 0x0027, 0x002d, 0x0033, 0x0000, 0x0000, - 0x0023, 0x0000, 0x0000, 0x2085, 0x2081, 0x2085, 0x2085, 0x208f, - 0x0000, 0x2085, 0x208c, 0x208c, 0x2089, 0x208c, 0x208c, 0x0000, - 0x208f, 0x208c, 0x0000, 0x2087, 0x2087, 0x0000, 0x2087, 0x208f, - 0x0000, 0x2087, 0x208d, 0x208d, 0x208d, 0x0000, 0x208d, 0x0000, - 0x208f, 0x208d, 0x00c6, 0x00d6, 0x0086, 0xab42, 0xac3e, 0xa888, - 0x9055, 0x0904, 0x2291, 0x2940, 0xa064, 0x90ec, 0x000f, 0x9084, - 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, 0x208d, 0x00d0, 0x9de0, - 0x2092, 0x9d86, 0x0007, 0x0130, 0x9d86, 0x000e, 0x0118, 0x9d86, - 0x000f, 0x1120, 0xa08c, 0x9422, 0xa090, 0x931b, 0x2c05, 0x9065, - 0x1140, 0x0310, 0x0804, 0x2291, 0xa004, 0x9045, 0x0904, 0x2291, - 0x08d8, 0x2c05, 0x9005, 0x0904, 0x2179, 0xdd9c, 0x1904, 0x2135, - 0x908a, 0x0036, 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x210a, - 0x210a, 0x210c, 0x210a, 0x210a, 0x210a, 0x2112, 0x210a, 0x210a, - 0x210a, 0x2118, 0x210a, 0x210a, 0x210a, 0x211e, 0x210a, 0x210a, - 0x210a, 0x2124, 0x210a, 0x210a, 0x210a, 0x212a, 0x210a, 0x210a, - 0x210a, 0x2130, 0x080c, 0x0dd5, 0xa07c, 0x9422, 0xa080, 0x931b, - 0x0804, 0x216f, 0xa08c, 0x9422, 0xa090, 0x931b, 0x0804, 0x216f, - 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, 0x216f, 0xa0ac, 0x9422, - 0xa0b0, 0x931b, 0x0804, 0x216f, 0xa0bc, 0x9422, 0xa0c0, 0x931b, - 0x0804, 0x216f, 0xa0cc, 0x9422, 0xa0d0, 0x931b, 0x0804, 0x216f, - 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x04d0, 0x908a, 0x0034, 0x1a0c, - 0x0dd5, 0x9082, 0x001b, 0x0002, 0x2157, 0x2155, 0x2155, 0x2155, - 0x2155, 0x2155, 0x215c, 0x2155, 0x2155, 0x2155, 0x2155, 0x2155, - 0x2161, 0x2155, 0x2155, 0x2155, 0x2155, 0x2155, 0x2166, 0x2155, - 0x2155, 0x2155, 0x2155, 0x2155, 0x216b, 0x080c, 0x0dd5, 0xa07c, - 0x9422, 0xa080, 0x931b, 0x0098, 0xa094, 0x9422, 0xa098, 0x931b, - 0x0070, 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0048, 0xa0c4, 0x9422, - 0xa0c8, 0x931b, 0x0020, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x0630, - 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, 0x2291, 0x8c60, 0x0804, - 0x20e1, 0xa004, 0x9045, 0x0904, 0x2291, 0x0804, 0x20bc, 0x8a51, - 0x0904, 0x2291, 0x8c60, 0x2c05, 0x9005, 0x1158, 0xa004, 0x9045, - 0x0904, 0x2291, 0xa064, 0x90ec, 0x000f, 0x9de0, 0x2092, 0x2c05, - 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, 0x2286, 0x2c05, 0x8422, - 0x8420, 0x831a, 0x9399, 0x0000, 0xac2e, 0xab32, 0xdd9c, 0x1904, - 0x2223, 0x9082, 0x001b, 0x0002, 0x21bf, 0x21bf, 0x21c1, 0x21bf, - 0x21bf, 0x21bf, 0x21cf, 0x21bf, 0x21bf, 0x21bf, 0x21dd, 0x21bf, - 0x21bf, 0x21bf, 0x21eb, 0x21bf, 0x21bf, 0x21bf, 0x21f9, 0x21bf, - 0x21bf, 0x21bf, 0x2207, 0x21bf, 0x21bf, 0x21bf, 0x2215, 0x080c, - 0x0dd5, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, - 0x0dd5, 0xa074, 0x9420, 0xa078, 0x9319, 0x0804, 0x2281, 0xa18c, - 0x2400, 0x9122, 0xa190, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa084, - 0x9420, 0xa088, 0x9319, 0x0804, 0x2281, 0xa19c, 0x2400, 0x9122, - 0xa1a0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa094, 0x9420, 0xa098, - 0x9319, 0x0804, 0x2281, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, - 0x911b, 0x0a0c, 0x0dd5, 0xa0a4, 0x9420, 0xa0a8, 0x9319, 0x0804, - 0x2281, 0xa1bc, 0x2400, 0x9122, 0xa1c0, 0x2300, 0x911b, 0x0a0c, - 0x0dd5, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0804, 0x2281, 0xa1cc, - 0x2400, 0x9122, 0xa1d0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa0c4, - 0x9420, 0xa0c8, 0x9319, 0x0804, 0x2281, 0xa1dc, 0x2400, 0x9122, - 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa0d4, 0x9420, 0xa0d8, - 0x9319, 0x0804, 0x2281, 0x9082, 0x001b, 0x0002, 0x2241, 0x223f, - 0x223f, 0x223f, 0x223f, 0x223f, 0x224e, 0x223f, 0x223f, 0x223f, - 0x223f, 0x223f, 0x225b, 0x223f, 0x223f, 0x223f, 0x223f, 0x223f, - 0x2268, 0x223f, 0x223f, 0x223f, 0x223f, 0x223f, 0x2275, 0x080c, - 0x0dd5, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, - 0x0dd5, 0xa06c, 0x9420, 0xa070, 0x9319, 0x0498, 0xa194, 0x2400, - 0x9122, 0xa198, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa084, 0x9420, - 0xa088, 0x9319, 0x0430, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, - 0x911b, 0x0a0c, 0x0dd5, 0xa09c, 0x9420, 0xa0a0, 0x9319, 0x00c8, - 0xa1c4, 0x2400, 0x9122, 0xa1c8, 0x2300, 0x911b, 0x0a0c, 0x0dd5, - 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0060, 0xa1dc, 0x2400, 0x9122, - 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa0cc, 0x9420, 0xa0d0, - 0x9319, 0xac1e, 0xab22, 0xa880, 0xc0fd, 0xa882, 0x2800, 0xa85a, - 0x2c00, 0xa812, 0x2a00, 0xa816, 0x000e, 0x000e, 0x000e, 0x9006, - 0x0028, 0x008e, 0x00de, 0x00ce, 0x9085, 0x0001, 0x0005, 0x2001, - 0x0005, 0x2004, 0xd0bc, 0x190c, 0x0dce, 0x9084, 0x0007, 0x0002, - 0x22b2, 0x1eb6, 0x22b2, 0x22a8, 0x22ab, 0x22ae, 0x22ab, 0x22ae, - 0x080c, 0x1eb6, 0x0005, 0x080c, 0x11a3, 0x0005, 0x080c, 0x1eb6, - 0x080c, 0x11a3, 0x0005, 0x0126, 0x2091, 0x2600, 0x2079, 0x0200, - 0x2071, 0x0260, 0x2069, 0x1800, 0x7817, 0x0000, 0x789b, 0x0814, - 0x78a3, 0x0406, 0x789f, 0x0410, 0x2009, 0x013b, 0x200b, 0x0400, - 0x781b, 0x0002, 0x783b, 0x001f, 0x7837, 0x0020, 0x7803, 0x1600, - 0x012e, 0x0005, 0x2091, 0x2600, 0x781c, 0xd0a4, 0x190c, 0x23d1, - 0x7900, 0xd1dc, 0x1118, 0x9084, 0x0006, 0x001a, 0x9084, 0x000e, - 0x0002, 0x22f9, 0x22f1, 0x7d86, 0x22f1, 0x22f3, 0x22f3, 0x22f3, - 0x22f3, 0x7d6c, 0x22f1, 0x22f5, 0x22f1, 0x22f3, 0x22f1, 0x22f3, - 0x22f1, 0x080c, 0x0dd5, 0x0031, 0x0020, 0x080c, 0x7d6c, 0x080c, - 0x7d86, 0x0005, 0x0006, 0x0016, 0x0026, 0x080c, 0xea2b, 0x7930, - 0x9184, 0x0003, 0x01c0, 0x2001, 0x19f5, 0x2004, 0x9005, 0x0170, - 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0dd5, 0x00c6, 0x2001, - 0x19f5, 0x2064, 0x080c, 0xc77b, 0x00ce, 0x00f8, 0x2009, 0x0040, - 0x080c, 0x23d4, 0x00d0, 0x9184, 0x0014, 0x01a0, 0x6a00, 0x9286, - 0x0003, 0x0160, 0x080c, 0x73a5, 0x1138, 0x080c, 0x768d, 0x080c, - 0x6023, 0x080c, 0x72d7, 0x0010, 0x080c, 0x5ee2, 0x080c, 0x7e35, - 0x0041, 0x0018, 0x9184, 0x9540, 0x1dc8, 0x002e, 0x001e, 0x000e, - 0x0005, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a61, 0x080c, - 0x1aab, 0x005e, 0x004e, 0x003e, 0x00ee, 0x0005, 0x0126, 0x2091, - 0x2e00, 0x2071, 0x1800, 0x7128, 0x2001, 0x196e, 0x2102, 0x2001, - 0x1976, 0x2102, 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, 0x2001, - 0x0201, 0x789e, 0x78a3, 0x0200, 0x9198, 0x0007, 0x831c, 0x831c, - 0x831c, 0x9398, 0x0005, 0x2320, 0x9182, 0x0204, 0x1230, 0x2011, - 0x0008, 0x8423, 0x8423, 0x8423, 0x0488, 0x9182, 0x024c, 0x1240, - 0x2011, 0x0007, 0x8403, 0x8003, 0x9400, 0x9400, 0x9420, 0x0430, - 0x9182, 0x02bc, 0x1238, 0x2011, 0x0006, 0x8403, 0x8003, 0x9400, - 0x9420, 0x00e0, 0x9182, 0x034c, 0x1230, 0x2011, 0x0005, 0x8403, - 0x8003, 0x9420, 0x0098, 0x9182, 0x042c, 0x1228, 0x2011, 0x0004, - 0x8423, 0x8423, 0x0058, 0x9182, 0x059c, 0x1228, 0x2011, 0x0003, - 0x8403, 0x9420, 0x0018, 0x2011, 0x0002, 0x8423, 0x9482, 0x0228, - 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, 0x8217, - 0x8203, 0x9405, 0x789a, 0x012e, 0x0005, 0x0006, 0x00d6, 0x2069, - 0x0200, 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x00de, 0x000e, - 0x0005, 0x00d6, 0x2069, 0x0200, 0x9005, 0x6810, 0x0110, 0xc0a5, - 0x0008, 0xc0a4, 0x6812, 0x00de, 0x0005, 0x0006, 0x00d6, 0x2069, - 0x0200, 0x6810, 0x9084, 0xfff8, 0x910d, 0x6912, 0x00de, 0x000e, - 0x0005, 0x7938, 0x080c, 0x0dce, 0x00f6, 0x2079, 0x0200, 0x7902, - 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x7902, 0xa001, - 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x00fe, 0x0005, 0x0126, - 0x2091, 0x2800, 0x2061, 0x0100, 0x2071, 0x1800, 0x2009, 0x0000, - 0x080c, 0x2c40, 0x080c, 0x2b5b, 0x6054, 0x8004, 0x8004, 0x8004, - 0x8004, 0x9084, 0x000c, 0x6150, 0x918c, 0xfff3, 0x9105, 0x6052, - 0x6050, 0x9084, 0xb17f, 0x9085, 0x2000, 0x6052, 0x2009, 0x199c, - 0x2011, 0x199d, 0x6358, 0x939c, 0x38f0, 0x2320, 0x080c, 0x2b9f, - 0x1238, 0x939d, 0x4003, 0x94a5, 0x8603, 0x230a, 0x2412, 0x0030, - 0x939d, 0x0203, 0x94a5, 0x8603, 0x230a, 0x2412, 0x9006, 0x080c, - 0x2b8a, 0x9006, 0x080c, 0x2b6d, 0x20a9, 0x0012, 0x1d04, 0x2426, - 0x2091, 0x6000, 0x1f04, 0x2426, 0x602f, 0x0100, 0x602f, 0x0000, - 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x6024, 0x6026, - 0x080c, 0x2879, 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x2889, - 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0008, 0x604b, 0xf7f7, 0x6043, - 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, 0x6007, 0x349f, 0x60bb, - 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, 0x1f04, 0x2453, 0x60bb, - 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x60bf, 0x0405, 0x60bf, - 0x0014, 0x60bf, 0x0320, 0x60bf, 0x0018, 0x601b, 0x00f0, 0x601f, - 0x001e, 0x600f, 0x006b, 0x602b, 0x402f, 0x012e, 0x0005, 0x00f6, - 0x2079, 0x0140, 0x78c3, 0x0080, 0x78c3, 0x0083, 0x78c3, 0x0000, - 0x00fe, 0x0005, 0x2001, 0x1835, 0x2003, 0x0000, 0x2001, 0x1834, - 0x2003, 0x0001, 0x0005, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, - 0x0026, 0x6124, 0x0066, 0x2031, 0x1837, 0x2634, 0x96b4, 0x0028, - 0x006e, 0x1138, 0x6020, 0xd1bc, 0x0120, 0xd0bc, 0x1168, 0xd0b4, - 0x1198, 0x9184, 0x5e2c, 0x1118, 0x9184, 0x0007, 0x00aa, 0x9195, - 0x0004, 0x9284, 0x0007, 0x0082, 0x0016, 0x2001, 0x188b, 0x200c, - 0xd184, 0x001e, 0x0d70, 0x0c98, 0x0016, 0x2001, 0x188b, 0x200c, - 0xd194, 0x001e, 0x0d30, 0x0c58, 0x24d6, 0x24bc, 0x24bf, 0x24c2, - 0x24c7, 0x24c9, 0x24cd, 0x24d1, 0x080c, 0x8fbe, 0x00b8, 0x080c, - 0x908b, 0x00a0, 0x080c, 0x908b, 0x080c, 0x8fbe, 0x0078, 0x0099, - 0x0068, 0x080c, 0x8fbe, 0x0079, 0x0048, 0x080c, 0x908b, 0x0059, - 0x0028, 0x080c, 0x908b, 0x080c, 0x8fbe, 0x0029, 0x002e, 0x001e, - 0x000e, 0x012e, 0x0005, 0x00a6, 0x6124, 0x6028, 0xd09c, 0x0118, - 0xd19c, 0x1904, 0x273e, 0xd1f4, 0x190c, 0x0dce, 0x080c, 0x73a5, - 0x0904, 0x2531, 0x080c, 0xd24a, 0x1120, 0x7000, 0x9086, 0x0003, - 0x0570, 0x6024, 0x9084, 0x1800, 0x0550, 0x080c, 0x73c8, 0x0118, - 0x080c, 0x73b6, 0x1520, 0x6027, 0x0020, 0x6043, 0x0000, 0x080c, - 0xd24a, 0x0168, 0x080c, 0x73c8, 0x1150, 0x2001, 0x19a6, 0x2003, - 0x0001, 0x6027, 0x1800, 0x080c, 0x723b, 0x0804, 0x2741, 0x70a4, - 0x9005, 0x1150, 0x70a7, 0x0001, 0x00d6, 0x2069, 0x0140, 0x080c, - 0x73fc, 0x00de, 0x1904, 0x2741, 0x080c, 0x7697, 0x0428, 0x080c, - 0x73c8, 0x1590, 0x6024, 0x9084, 0x1800, 0x1108, 0x0468, 0x080c, - 0x7697, 0x080c, 0x768d, 0x080c, 0x6023, 0x080c, 0x72d7, 0x0804, - 0x273e, 0xd1ac, 0x1508, 0x6024, 0xd0dc, 0x1170, 0xd0e4, 0x1178, - 0xd0d4, 0x1190, 0xd0cc, 0x0130, 0x7098, 0x9086, 0x0028, 0x1110, - 0x080c, 0x757a, 0x0804, 0x273e, 0x080c, 0x7692, 0x0048, 0x2001, - 0x197c, 0x2003, 0x0002, 0x0020, 0x080c, 0x74df, 0x0804, 0x273e, - 0x080c, 0x7615, 0x0804, 0x273e, 0x6220, 0xd1bc, 0x0138, 0xd2bc, - 0x1904, 0x27b1, 0xd2b4, 0x1904, 0x27c4, 0x0000, 0xd1ac, 0x0904, - 0x2653, 0x0036, 0x6328, 0xc3bc, 0x632a, 0x003e, 0x080c, 0x73a5, - 0x11c0, 0x6027, 0x0020, 0x0006, 0x0026, 0x0036, 0x080c, 0x73bf, - 0x1158, 0x080c, 0x768d, 0x080c, 0x6023, 0x080c, 0x72d7, 0x003e, - 0x002e, 0x000e, 0x00ae, 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, - 0x737d, 0x0016, 0x0046, 0x00c6, 0x644c, 0x9486, 0xf0f0, 0x1138, - 0x2061, 0x0100, 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, 0x74da, - 0x948c, 0xff00, 0x7038, 0xd084, 0x0178, 0x9186, 0xf800, 0x1160, - 0x7048, 0xd084, 0x1148, 0xc085, 0x704a, 0x0036, 0x2418, 0x2011, - 0x8016, 0x080c, 0x4b14, 0x003e, 0x080c, 0xd243, 0x1904, 0x2630, - 0x9196, 0xff00, 0x05a8, 0x7060, 0x9084, 0x00ff, 0x810f, 0x81ff, - 0x0110, 0x9116, 0x0568, 0x7130, 0xd184, 0x1550, 0x080c, 0x331b, - 0x0128, 0xc18d, 0x7132, 0x080c, 0x6973, 0x1510, 0x6240, 0x9294, - 0x0010, 0x0130, 0x6248, 0x9294, 0xff00, 0x9296, 0xff00, 0x01c0, - 0x7030, 0xd08c, 0x0904, 0x2630, 0x7038, 0xd08c, 0x1140, 0x2001, - 0x180c, 0x200c, 0xd1ac, 0x1904, 0x2630, 0xc1ad, 0x2102, 0x0036, - 0x73d8, 0x2011, 0x8013, 0x080c, 0x4b14, 0x003e, 0x0804, 0x2630, - 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, - 0x2630, 0xc1ad, 0x2102, 0x0036, 0x73d8, 0x2011, 0x8013, 0x080c, - 0x4b14, 0x003e, 0x7130, 0xc185, 0x7132, 0x2011, 0x1848, 0x220c, - 0xd1a4, 0x01f0, 0x0016, 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, - 0x86c6, 0x2019, 0x000e, 0x00c6, 0x2061, 0x0000, 0x080c, 0xe543, - 0x00ce, 0x9484, 0x00ff, 0x9080, 0x3327, 0x200d, 0x918c, 0xff00, - 0x810f, 0x2120, 0x9006, 0x2009, 0x000e, 0x080c, 0xe5cf, 0x001e, - 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, 0x318c, 0x001e, - 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x6608, - 0x1110, 0x080c, 0x603d, 0x8108, 0x1f04, 0x2626, 0x00be, 0x015e, - 0x00ce, 0x004e, 0x080c, 0xade2, 0x60e3, 0x0000, 0x001e, 0x2001, - 0x1800, 0x2014, 0x9296, 0x0004, 0x1170, 0xd19c, 0x11a0, 0x2011, - 0x180c, 0x2214, 0xd29c, 0x1120, 0x6204, 0x9295, 0x0002, 0x6206, - 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, 0x2001, 0x1826, 0x2003, - 0x0000, 0x6027, 0x0020, 0xd194, 0x0904, 0x273e, 0x0016, 0x6220, - 0xd2b4, 0x0904, 0x26db, 0x080c, 0x8562, 0x080c, 0xa274, 0x6027, - 0x0004, 0x00f6, 0x2019, 0x19ef, 0x2304, 0x907d, 0x0904, 0x26aa, - 0x7804, 0x9086, 0x0032, 0x15f0, 0x00d6, 0x00c6, 0x00e6, 0x0096, - 0x2069, 0x0140, 0x782c, 0x685e, 0x7808, 0x685a, 0x6043, 0x0002, - 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x2001, 0x003c, - 0x8001, 0x1df0, 0x080c, 0x2d01, 0x2001, 0x001e, 0x8001, 0x0240, - 0x20a9, 0x0009, 0x080c, 0x2c1b, 0x6904, 0xd1dc, 0x1140, 0x0cb0, - 0x2001, 0x0100, 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x080c, - 0x957b, 0x080c, 0x9687, 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, - 0x080c, 0xae71, 0x009e, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, - 0x00ae, 0x0005, 0x00fe, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, - 0x4000, 0x0110, 0x080c, 0x2d01, 0x00de, 0x00c6, 0x2061, 0x19e6, - 0x6028, 0x080c, 0xd24a, 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, - 0x909a, 0x00c8, 0x1238, 0x8000, 0x602a, 0x00ce, 0x080c, 0xa250, - 0x0804, 0x273d, 0x2061, 0x0100, 0x62c0, 0x080c, 0xac68, 0x2019, - 0x19ef, 0x2304, 0x9065, 0x0120, 0x2009, 0x0027, 0x080c, 0xaeec, - 0x00ce, 0x0804, 0x273d, 0xd2bc, 0x0904, 0x2724, 0x080c, 0x856f, - 0x6014, 0x9084, 0x1984, 0x9085, 0x0010, 0x6016, 0x6027, 0x0004, - 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, - 0x2d01, 0x00de, 0x00c6, 0x2061, 0x19e6, 0x6044, 0x080c, 0xd24a, - 0x0120, 0x909a, 0x0003, 0x1658, 0x0018, 0x909a, 0x00c8, 0x1638, - 0x8000, 0x6046, 0x603c, 0x00ce, 0x9005, 0x05b8, 0x2009, 0x07d0, - 0x080c, 0x8567, 0x9080, 0x0008, 0x2004, 0x9086, 0x0006, 0x1138, - 0x6114, 0x918c, 0x1984, 0x918d, 0x0012, 0x6116, 0x0430, 0x9080, - 0x0008, 0x2004, 0x9086, 0x0009, 0x0d98, 0x6114, 0x918c, 0x1984, - 0x918d, 0x0016, 0x6116, 0x00c8, 0x6027, 0x0004, 0x00b0, 0x0036, - 0x2019, 0x0001, 0x080c, 0xa5b7, 0x003e, 0x2019, 0x19f5, 0x2304, - 0x9065, 0x0150, 0x2009, 0x004f, 0x6020, 0x9086, 0x0009, 0x1110, - 0x2009, 0x004f, 0x080c, 0xaeec, 0x00ce, 0x001e, 0xd19c, 0x0904, - 0x27ac, 0x7038, 0xd0ac, 0x1904, 0x2785, 0x0016, 0x0156, 0x6027, - 0x0008, 0x6050, 0x9085, 0x0040, 0x6052, 0x6050, 0x9084, 0xfbcf, - 0x6052, 0x080c, 0x2c3a, 0x9085, 0x2000, 0x6052, 0x20a9, 0x0012, - 0x1d04, 0x2758, 0x080c, 0x8596, 0x1f04, 0x2758, 0x6050, 0x9085, - 0x0400, 0x9084, 0xdfbf, 0x6052, 0x20a9, 0x0028, 0xa001, 0x1f04, - 0x2766, 0x6150, 0x9185, 0x1400, 0x6052, 0x20a9, 0x0366, 0x1d04, - 0x276f, 0x080c, 0x8596, 0x6020, 0xd09c, 0x1130, 0x015e, 0x6152, - 0x001e, 0x6027, 0x0008, 0x0480, 0x080c, 0x2c02, 0x1f04, 0x276f, - 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x0016, 0x6028, 0xc09c, - 0x602a, 0x080c, 0xade2, 0x60e3, 0x0000, 0x080c, 0xea0a, 0x080c, - 0xea25, 0x080c, 0x56dc, 0xd0fc, 0x1138, 0x080c, 0xd243, 0x1120, - 0x9085, 0x0001, 0x080c, 0x73ec, 0x9006, 0x080c, 0x2cf1, 0x2009, - 0x0002, 0x080c, 0x2c40, 0x2001, 0x1800, 0x2003, 0x0004, 0x6027, - 0x0008, 0x080c, 0x0bae, 0x001e, 0x918c, 0xffd0, 0x6126, 0x00ae, - 0x0005, 0x0016, 0x2001, 0x188b, 0x200c, 0xd184, 0x001e, 0x0904, - 0x255e, 0x0016, 0x2009, 0x27bd, 0x00d0, 0x2001, 0x188b, 0x200c, - 0xc184, 0x2102, 0x001e, 0x0c40, 0x0016, 0x2001, 0x188b, 0x200c, - 0xd194, 0x001e, 0x0904, 0x255e, 0x0016, 0x2009, 0x27d0, 0x0038, - 0x2001, 0x188b, 0x200c, 0xc194, 0x2102, 0x001e, 0x08a8, 0x6028, - 0xc0bc, 0x602a, 0x2001, 0x0156, 0x2003, 0xbc91, 0x8000, 0x2003, - 0xffff, 0x6043, 0x0001, 0x080c, 0x2c3a, 0x6027, 0x0080, 0x6017, - 0x0000, 0x6043, 0x0000, 0x0817, 0x0006, 0x0016, 0x0026, 0x0036, - 0x00e6, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x71d0, - 0x70d2, 0x9116, 0x05e8, 0x81ff, 0x01a0, 0x2009, 0x0000, 0x080c, - 0x2c40, 0x2011, 0x8011, 0x2019, 0x010e, 0x231c, 0x939e, 0x0007, - 0x1118, 0x2019, 0x0001, 0x0010, 0x2019, 0x0000, 0x080c, 0x4b14, - 0x0438, 0x2001, 0x19a7, 0x200c, 0x81ff, 0x1140, 0x2001, 0x0109, - 0x2004, 0xd0b4, 0x0118, 0x2019, 0x0003, 0x0008, 0x2118, 0x2011, - 0x8012, 0x080c, 0x4b14, 0x080c, 0x56dc, 0xd0fc, 0x1188, 0x080c, - 0xd243, 0x1170, 0x00c6, 0x080c, 0x28d4, 0x080c, 0xa51e, 0x2061, - 0x0100, 0x2019, 0x0028, 0x2009, 0x0002, 0x080c, 0x318c, 0x00ce, - 0x012e, 0x00fe, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, - 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x11f0, 0x2011, - 0x1837, 0x2214, 0xd2ac, 0x11c8, 0x81ff, 0x01e8, 0x2011, 0x181f, - 0x2204, 0x9106, 0x1190, 0x2011, 0x1820, 0x2214, 0x9294, 0xff00, - 0x9584, 0xff00, 0x9206, 0x1148, 0x2011, 0x1820, 0x2214, 0x9294, - 0x00ff, 0x9584, 0x00ff, 0x9206, 0x1120, 0x2500, 0x080c, 0x80a7, - 0x0048, 0x9584, 0x00ff, 0x9080, 0x3327, 0x200d, 0x918c, 0xff00, - 0x810f, 0x9006, 0x0005, 0x9080, 0x3327, 0x200d, 0x918c, 0x00ff, - 0x0005, 0x00d6, 0x2069, 0x0140, 0x2001, 0x1818, 0x2003, 0x00ef, - 0x20a9, 0x0010, 0x9006, 0x6852, 0x6856, 0x1f04, 0x2884, 0x00de, - 0x0005, 0x0006, 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, 0x1818, - 0x2102, 0x8114, 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, - 0x0000, 0x9006, 0x82ff, 0x1128, 0x9184, 0x000f, 0x9080, 0xf1d7, - 0x2005, 0x6856, 0x8211, 0x1f04, 0x2899, 0x002e, 0x00de, 0x000e, - 0x0005, 0x00c6, 0x2061, 0x1800, 0x6030, 0x0110, 0xc09d, 0x0008, - 0xc09c, 0x6032, 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, - 0x0006, 0x2069, 0x0140, 0x6980, 0x9116, 0x0180, 0x9112, 0x1230, - 0x8212, 0x8210, 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, - 0x0404, 0x680e, 0x1f04, 0x28c9, 0x680f, 0x0000, 0x000e, 0x001e, - 0x002e, 0x00de, 0x015e, 0x0005, 0x080c, 0x56d8, 0xd0c4, 0x0150, - 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, - 0xe5cf, 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, - 0x78c4, 0xd0dc, 0x0904, 0x2940, 0x080c, 0x2b9f, 0x0660, 0x9084, - 0x0700, 0x908e, 0x0600, 0x1120, 0x2011, 0x4000, 0x900e, 0x0458, - 0x908e, 0x0500, 0x1120, 0x2011, 0x8000, 0x900e, 0x0420, 0x908e, - 0x0400, 0x1120, 0x9016, 0x2009, 0x0001, 0x00e8, 0x908e, 0x0300, - 0x1120, 0x9016, 0x2009, 0x0002, 0x00b0, 0x908e, 0x0200, 0x1120, - 0x9016, 0x2009, 0x0004, 0x0078, 0x908e, 0x0100, 0x1548, 0x9016, - 0x2009, 0x0008, 0x0040, 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, - 0x2011, 0x0030, 0x0058, 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, - 0x8f51, 0x928c, 0xff00, 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, - 0x9085, 0x004c, 0x78c2, 0x2009, 0x0138, 0x220a, 0x080c, 0x73a5, - 0x1118, 0x2009, 0x196c, 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, - 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, - 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, - 0x0110, 0x080c, 0x0dce, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, - 0x2001, 0x0171, 0x2004, 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, - 0x918c, 0x00ff, 0x918e, 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, - 0x810f, 0x0005, 0x900e, 0x2001, 0x0227, 0x2004, 0x8007, 0x9084, - 0x00ff, 0x8004, 0x9108, 0x2001, 0x0226, 0x2004, 0x8007, 0x9084, - 0x00ff, 0x8004, 0x9108, 0x0005, 0x0018, 0x000c, 0x0018, 0x0020, - 0x1000, 0x0800, 0x1000, 0x1800, 0x0156, 0x0006, 0x0016, 0x0026, - 0x00e6, 0x2001, 0x198f, 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0dd5, - 0x0033, 0x00ee, 0x002e, 0x001e, 0x000e, 0x015e, 0x0005, 0x299e, - 0x29bc, 0x29e0, 0x29e2, 0x2a0b, 0x2a0d, 0x2a0f, 0x2001, 0x0001, - 0x080c, 0x27ec, 0x080c, 0x2bfd, 0x2001, 0x1991, 0x2003, 0x0000, - 0x7828, 0x9084, 0xe1d7, 0x782a, 0x9006, 0x20a9, 0x0009, 0x080c, - 0x2bbb, 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, - 0x2a10, 0x080c, 0x8574, 0x0005, 0x2009, 0x1994, 0x200b, 0x0000, - 0x2001, 0x1999, 0x2003, 0x0036, 0x2001, 0x1998, 0x2003, 0x002a, - 0x2001, 0x1991, 0x2003, 0x0001, 0x9006, 0x080c, 0x2b6d, 0x2001, - 0xffff, 0x20a9, 0x0009, 0x080c, 0x2bbb, 0x2001, 0x198f, 0x2003, - 0x0006, 0x2009, 0x001e, 0x2011, 0x2a10, 0x080c, 0x8574, 0x0005, - 0x080c, 0x0dd5, 0x2001, 0x1999, 0x2003, 0x0036, 0x2001, 0x1991, - 0x2003, 0x0003, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, - 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2b6d, 0x2001, 0x1995, - 0x2003, 0x0000, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x2bbb, - 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2a10, - 0x080c, 0x8574, 0x0005, 0x080c, 0x0dd5, 0x080c, 0x0dd5, 0x0005, - 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0156, 0x0126, 0x2091, - 0x8000, 0x2079, 0x0100, 0x2001, 0x1991, 0x2004, 0x908a, 0x0007, - 0x1a0c, 0x0dd5, 0x0043, 0x012e, 0x015e, 0x00fe, 0x00ee, 0x002e, - 0x001e, 0x000e, 0x0005, 0x2a32, 0x2a52, 0x2a92, 0x2ac2, 0x2ae6, - 0x2af6, 0x2af8, 0x080c, 0x2baf, 0x11b0, 0x7850, 0x9084, 0xefff, - 0x7852, 0x2009, 0x1997, 0x2104, 0x7a38, 0x9294, 0x0005, 0x9296, - 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, 0x200a, 0x2001, 0x198f, - 0x2003, 0x0001, 0x0030, 0x080c, 0x2b1c, 0x2001, 0xffff, 0x080c, - 0x29ad, 0x0005, 0x080c, 0x2afa, 0x05e0, 0x2009, 0x1998, 0x2104, - 0x8001, 0x200a, 0x080c, 0x2baf, 0x1178, 0x7850, 0x9084, 0xefff, - 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0518, 0x2009, - 0x1997, 0x2104, 0xc085, 0x200a, 0x2009, 0x1994, 0x2104, 0x8000, - 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, 0x2b02, 0x00c0, 0x200b, - 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0004, 0x0110, 0x9006, - 0x0010, 0x2001, 0x0001, 0x080c, 0x2b8a, 0x2001, 0x1991, 0x2003, - 0x0002, 0x0028, 0x2001, 0x198f, 0x2003, 0x0003, 0x0010, 0x080c, - 0x29cf, 0x0005, 0x080c, 0x2afa, 0x0560, 0x2009, 0x1998, 0x2104, - 0x8001, 0x200a, 0x080c, 0x2baf, 0x1168, 0x7850, 0x9084, 0xefff, - 0x7852, 0x2001, 0x198f, 0x2003, 0x0003, 0x2001, 0x1990, 0x2003, - 0x0000, 0x00b8, 0x2009, 0x1998, 0x2104, 0x9005, 0x1118, 0x080c, - 0x2b3f, 0x0010, 0x080c, 0x2b0f, 0x080c, 0x2b02, 0x2009, 0x1994, - 0x200b, 0x0000, 0x2001, 0x1991, 0x2003, 0x0001, 0x080c, 0x29cf, - 0x0000, 0x0005, 0x04b9, 0x0508, 0x080c, 0x2baf, 0x11b8, 0x7850, - 0x9084, 0xefff, 0x7852, 0x2009, 0x1995, 0x2104, 0x8000, 0x200a, - 0x9086, 0x0007, 0x0108, 0x0078, 0x2001, 0x199a, 0x2003, 0x000a, - 0x2009, 0x1997, 0x2104, 0xc0fd, 0x200a, 0x0038, 0x0419, 0x2001, - 0x1991, 0x2003, 0x0004, 0x080c, 0x29fa, 0x0005, 0x0099, 0x0168, - 0x080c, 0x2baf, 0x1138, 0x7850, 0x9084, 0xefff, 0x7852, 0x080c, - 0x29e6, 0x0018, 0x0079, 0x080c, 0x29fa, 0x0005, 0x080c, 0x0dd5, - 0x080c, 0x0dd5, 0x2009, 0x1999, 0x2104, 0x8001, 0x200a, 0x090c, - 0x2b5b, 0x0005, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, - 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2b8a, 0x0005, 0x7a38, - 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x2b6d, 0x0005, 0x2009, 0x1994, 0x2104, 0x8000, - 0x200a, 0x9086, 0x0005, 0x0108, 0x0068, 0x200b, 0x0000, 0x7a38, - 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x04d9, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, - 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2b8a, 0x0005, 0x0086, - 0x2001, 0x1997, 0x2004, 0x9084, 0x7fff, 0x090c, 0x0dd5, 0x2009, - 0x1996, 0x2144, 0x8846, 0x280a, 0x9844, 0x0dd8, 0xd08c, 0x1120, - 0xd084, 0x1120, 0x080c, 0x0dd5, 0x9006, 0x0010, 0x2001, 0x0001, - 0x00a1, 0x008e, 0x0005, 0x0006, 0x0156, 0x2001, 0x198f, 0x20a9, - 0x0009, 0x2003, 0x0000, 0x8000, 0x1f04, 0x2b61, 0x2001, 0x1996, - 0x2003, 0x8000, 0x015e, 0x000e, 0x0005, 0x00f6, 0x2079, 0x0100, - 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfff9, 0x9085, 0x0004, - 0x783a, 0x2009, 0x199c, 0x210c, 0x795a, 0x0050, 0x7838, 0x9084, - 0xfffb, 0x9085, 0x0006, 0x783a, 0x2009, 0x199d, 0x210c, 0x795a, - 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0138, - 0x7838, 0x9084, 0xfffa, 0x9085, 0x0004, 0x783a, 0x0030, 0x7838, - 0x9084, 0xfffb, 0x9085, 0x0005, 0x783a, 0x00fe, 0x0005, 0x0006, - 0x2001, 0x0100, 0x2004, 0x9082, 0x0007, 0x000e, 0x0005, 0x0006, - 0x2001, 0x0100, 0x2004, 0x9082, 0x0009, 0x000e, 0x0005, 0x0156, - 0x20a9, 0x0064, 0x7820, 0x080c, 0x2c3a, 0xd09c, 0x1110, 0x1f04, - 0x2bb2, 0x015e, 0x0005, 0x0126, 0x0016, 0x0006, 0x2091, 0x8000, - 0x7850, 0x9085, 0x0040, 0x7852, 0x7850, 0x9084, 0xfbcf, 0x7852, - 0x080c, 0x2c3a, 0x9085, 0x2000, 0x7852, 0x000e, 0x2008, 0x9186, - 0x0000, 0x1118, 0x783b, 0x0007, 0x0090, 0x9186, 0x0001, 0x1118, - 0x783b, 0x0006, 0x0060, 0x9186, 0x0002, 0x1118, 0x783b, 0x0005, - 0x0030, 0x9186, 0x0003, 0x1118, 0x783b, 0x0004, 0x0000, 0x0006, - 0x1d04, 0x2be8, 0x080c, 0x8596, 0x1f04, 0x2be8, 0x7850, 0x9085, - 0x0400, 0x9084, 0xdfbf, 0x7852, 0x080c, 0x2c3a, 0x9085, 0x1000, - 0x7852, 0x000e, 0x001e, 0x012e, 0x0005, 0x7850, 0x9084, 0xffcf, - 0x7852, 0x0005, 0x0006, 0x0156, 0x00f6, 0x2079, 0x0100, 0x20a9, - 0x000a, 0x7854, 0xd0ac, 0x1130, 0x7820, 0xd0e4, 0x1140, 0x1f04, - 0x2c0c, 0x0028, 0x7854, 0xd08c, 0x1110, 0x1f04, 0x2c12, 0x00fe, - 0x015e, 0x000e, 0x0005, 0x1d04, 0x2c1b, 0x080c, 0x8596, 0x1f04, - 0x2c1b, 0x0005, 0x0006, 0x2001, 0x199b, 0x2004, 0x9086, 0x0000, - 0x000e, 0x0005, 0x0006, 0x2001, 0x199b, 0x2004, 0x9086, 0x0001, - 0x000e, 0x0005, 0x0006, 0x2001, 0x199b, 0x2004, 0x9086, 0x0002, - 0x000e, 0x0005, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, - 0x0006, 0x2001, 0x19a7, 0x2102, 0x000e, 0x0005, 0x2009, 0x0171, - 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, - 0xa001, 0xa001, 0x200a, 0x0005, 0x0036, 0x0046, 0x2001, 0x0141, - 0x200c, 0x918c, 0xff00, 0x9186, 0x2000, 0x0118, 0x9186, 0x0100, - 0x1588, 0x2009, 0x00a2, 0x080c, 0x0e51, 0x2019, 0x0160, 0x2324, - 0x2011, 0x0003, 0x2009, 0x0169, 0x2104, 0x9084, 0x0007, 0x210c, - 0x918c, 0x0007, 0x910e, 0x1db0, 0x9086, 0x0003, 0x11b8, 0x2304, - 0x9402, 0x02a0, 0x1d60, 0x8211, 0x1d68, 0x84ff, 0x0170, 0x2001, - 0x0141, 0x200c, 0x918c, 0xff00, 0x9186, 0x0100, 0x0130, 0x2009, - 0x180c, 0x2104, 0xc0dd, 0x200a, 0x0008, 0x0419, 0x2009, 0x0000, - 0x080c, 0x0e51, 0x004e, 0x003e, 0x0005, 0x2001, 0x180c, 0x2004, - 0xd0dc, 0x01b0, 0x2001, 0x0160, 0x2004, 0x9005, 0x0140, 0x2001, - 0x0141, 0x2004, 0x9084, 0xff00, 0x9086, 0x0100, 0x1148, 0x0126, - 0x2091, 0x8000, 0x0016, 0x0026, 0x0021, 0x002e, 0x001e, 0x012e, - 0x0005, 0x00c6, 0x2061, 0x0100, 0x6014, 0x0006, 0x2001, 0x0161, - 0x2003, 0x0000, 0x6017, 0x0018, 0xa001, 0xa001, 0x602f, 0x0008, - 0x6104, 0x918e, 0x0010, 0x6106, 0x918e, 0x0010, 0x6106, 0x6017, - 0x0040, 0x04b9, 0x001e, 0x9184, 0x0003, 0x01e0, 0x0036, 0x0016, - 0x2019, 0x0141, 0x6124, 0x918c, 0x0028, 0x1120, 0x2304, 0x9084, - 0x2800, 0x0dc0, 0x001e, 0x919c, 0xffe4, 0x9184, 0x0001, 0x0118, - 0x9385, 0x0009, 0x6016, 0x9184, 0x0002, 0x0118, 0x9385, 0x0012, - 0x6016, 0x003e, 0x2001, 0x180c, 0x200c, 0xc1dc, 0x2102, 0x00ce, - 0x0005, 0x0016, 0x0026, 0x080c, 0x73bf, 0x0108, 0xc0bc, 0x2009, - 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, - 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, - 0x9285, 0x1000, 0x200a, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, - 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, - 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, 0x2009, 0x0140, 0x2104, - 0x1128, 0x080c, 0x73bf, 0x0110, 0xc0bc, 0x0008, 0xc0bd, 0x200a, - 0x001e, 0x000e, 0x0005, 0x2f97, 0x2f97, 0x2dbb, 0x2dbb, 0x2dc7, - 0x2dc7, 0x2dd3, 0x2dd3, 0x2de1, 0x2de1, 0x2ded, 0x2ded, 0x2dfb, - 0x2dfb, 0x2e09, 0x2e09, 0x2e1b, 0x2e1b, 0x2e27, 0x2e27, 0x2e35, - 0x2e35, 0x2e53, 0x2e53, 0x2e73, 0x2e73, 0x2e43, 0x2e43, 0x2e63, - 0x2e63, 0x2e81, 0x2e81, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e93, 0x2e93, 0x2e9f, 0x2e9f, 0x2ead, - 0x2ead, 0x2ebb, 0x2ebb, 0x2ecb, 0x2ecb, 0x2ed9, 0x2ed9, 0x2ee9, - 0x2ee9, 0x2ef9, 0x2ef9, 0x2f0b, 0x2f0b, 0x2f19, 0x2f19, 0x2f29, - 0x2f29, 0x2f4b, 0x2f4b, 0x2f6d, 0x2f6d, 0x2f39, 0x2f39, 0x2f5c, - 0x2f5c, 0x2f7c, 0x2f7c, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, 0x2e19, - 0x2e19, 0x2e19, 0x2e19, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2483, 0x0804, 0x2f8f, 0x0106, - 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2297, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2297, 0x080c, 0x2483, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2483, 0x080c, - 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2297, 0x080c, 0x22d2, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2297, 0x080c, 0x2483, 0x080c, 0x22d2, 0x0804, - 0x2f8f, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x1380, 0x0804, 0x2f8f, 0x0106, + 0xa001, 0xa001, 0x8211, 0x1de0, 0x0059, 0x0804, 0x7463, 0x0479, + 0x0039, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0005, + 0x00e6, 0x2071, 0x0200, 0x080c, 0x2c51, 0x2009, 0x003c, 0x080c, + 0x23df, 0x2001, 0x015d, 0x2003, 0x0000, 0x7000, 0x9084, 0x003c, + 0x1de0, 0x080c, 0x841a, 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, + 0x709e, 0x2001, 0x020d, 0x2003, 0x0020, 0x00f6, 0x2079, 0x0300, + 0x080c, 0x1313, 0x7803, 0x0001, 0x00fe, 0x00ee, 0x0005, 0x2001, + 0x0138, 0x2014, 0x2003, 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, + 0x0000, 0x080c, 0x73b3, 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, + 0x0141, 0x201c, 0xd3dc, 0x1168, 0x2001, 0x0109, 0x201c, 0x939c, + 0x0048, 0x1160, 0x2001, 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, + 0x1d70, 0x2001, 0x015d, 0x2003, 0x0000, 0x0005, 0x0046, 0x2021, + 0x0019, 0x2003, 0x0048, 0xa001, 0xa001, 0x201c, 0x939c, 0x0048, + 0x0120, 0x8421, 0x1db0, 0x004e, 0x0c60, 0x004e, 0x0c40, 0x601c, + 0xc084, 0x601e, 0x0005, 0x2c08, 0x621c, 0x080c, 0x15f0, 0x7930, + 0x0005, 0x2c08, 0x621c, 0x080c, 0x169b, 0x7930, 0x0005, 0x8001, + 0x1df0, 0x0005, 0x2031, 0x0005, 0x781c, 0x9084, 0x0007, 0x0170, + 0x2001, 0x0038, 0x0c41, 0x9186, 0x0040, 0x0904, 0x1bb0, 0x2001, + 0x001e, 0x0c69, 0x8631, 0x1d80, 0x080c, 0x0dd5, 0x781f, 0x0202, + 0x2001, 0x015d, 0x2003, 0x0000, 0x2001, 0x0b10, 0x0c01, 0x781c, + 0xd084, 0x0110, 0x0861, 0x04e0, 0x2001, 0x0030, 0x0891, 0x9186, + 0x0040, 0x0568, 0x781c, 0xd084, 0x1da8, 0x781f, 0x0101, 0x2001, + 0x0014, 0x0869, 0x2001, 0x0037, 0x0821, 0x9186, 0x0040, 0x0140, + 0x2001, 0x0030, 0x080c, 0x1b49, 0x9186, 0x0040, 0x190c, 0x0dd5, + 0x00d6, 0x2069, 0x0200, 0x692c, 0xd1f4, 0x1170, 0xd1c4, 0x0160, + 0xd19c, 0x0130, 0x6800, 0x9085, 0x1800, 0x6802, 0x00de, 0x0080, + 0x6908, 0x9184, 0x0007, 0x1db0, 0x00de, 0x781f, 0x0100, 0x791c, + 0x9184, 0x0007, 0x090c, 0x0dd5, 0xa001, 0xa001, 0x781f, 0x0200, + 0x0005, 0x0126, 0x2091, 0x2400, 0x2071, 0x1a65, 0x2079, 0x0090, + 0x012e, 0x0005, 0x9280, 0x0005, 0x2004, 0x2048, 0xa97c, 0xd1dc, + 0x1904, 0x1c52, 0xa964, 0x9184, 0x0007, 0x0002, 0x1bce, 0x1c3d, + 0x1be5, 0x1be7, 0x1be5, 0x1c25, 0x1c05, 0x1bf4, 0x918c, 0x00ff, + 0x9186, 0x0008, 0x1170, 0xa87c, 0xd0b4, 0x0904, 0x1e7c, 0x9006, + 0xa842, 0xa83e, 0xa988, 0x2900, 0xa85a, 0xa813, 0x2098, 0x0804, + 0x1c4e, 0x9186, 0x0048, 0x0904, 0x1c3d, 0x080c, 0x0dd5, 0x9184, + 0x00ff, 0x9086, 0x0013, 0x0904, 0x1c3d, 0x9184, 0x00ff, 0x9086, + 0x001b, 0x0904, 0x1c3d, 0x0c88, 0xa87c, 0xd0b4, 0x0904, 0x1e7c, + 0xa890, 0xa842, 0xa83a, 0xa88c, 0xa83e, 0xa836, 0xa8ac, 0xa846, + 0xa8b0, 0xa84a, 0xa988, 0x0804, 0x1c45, 0xa864, 0x9084, 0x00ff, + 0x9086, 0x001e, 0x19d0, 0xa87c, 0xd0b4, 0x0904, 0x1e7c, 0xa890, + 0xa842, 0xa83a, 0xa88c, 0xa83e, 0xa836, 0xa8ac, 0xa846, 0xa8b0, + 0xa84a, 0xa804, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, + 0x209d, 0x2005, 0xa812, 0xa988, 0x0448, 0x918c, 0x00ff, 0x9186, + 0x0015, 0x1540, 0xa87c, 0xd0b4, 0x0904, 0x1e7c, 0xa804, 0xa85a, + 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x209d, 0x2005, 0xa812, + 0xa988, 0x9006, 0xa842, 0xa83e, 0x0088, 0xa87c, 0xd0b4, 0x0904, + 0x1e7c, 0xa988, 0x9006, 0xa842, 0xa83e, 0x2900, 0xa85a, 0xa864, + 0x9084, 0x000f, 0x9080, 0x209d, 0x2005, 0xa812, 0xa916, 0xa87c, + 0xc0dd, 0xa87e, 0x0005, 0x00f6, 0x2079, 0x0090, 0x782c, 0xd0fc, + 0x190c, 0x1ec1, 0x00e6, 0x2071, 0x1a65, 0x7000, 0x9005, 0x1904, + 0x1cbb, 0x7206, 0x9280, 0x0005, 0x204c, 0x9280, 0x0004, 0x2004, + 0x782b, 0x0004, 0x00f6, 0x2079, 0x0200, 0x7803, 0x0040, 0x00fe, + 0x00b6, 0x2058, 0xb86c, 0x7836, 0xb890, 0x00be, 0x00f6, 0x2079, + 0x0200, 0x7803, 0x0040, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, + 0xa001, 0x781a, 0x2079, 0x0100, 0x8004, 0x78d6, 0x00fe, 0xa814, + 0x2050, 0xa858, 0x2040, 0xa810, 0x2060, 0xa064, 0x90ec, 0x000f, + 0xa944, 0x791a, 0x7116, 0xa848, 0x781e, 0x701a, 0x9006, 0x700e, + 0x7012, 0x7004, 0xa940, 0xa838, 0x9106, 0x1500, 0xa93c, 0xa834, + 0x9106, 0x11e0, 0x0006, 0x0016, 0xa938, 0xa834, 0x9105, 0x0118, + 0x001e, 0x000e, 0x0098, 0x001e, 0x000e, 0x8aff, 0x01c8, 0x0126, + 0x2091, 0x8000, 0x2009, 0x0306, 0x200b, 0x0808, 0x00d9, 0x0108, + 0x00c9, 0x012e, 0x9006, 0x00ee, 0x00fe, 0x0005, 0x0036, 0x0046, + 0xab38, 0xac34, 0x080c, 0x20bd, 0x004e, 0x003e, 0x0d30, 0x0c98, + 0x9085, 0x0001, 0x0c80, 0x2009, 0x0306, 0x200b, 0x4800, 0x7027, + 0x0000, 0x0005, 0x0076, 0x0066, 0x0056, 0x0046, 0x0036, 0x0026, + 0x8aff, 0x0904, 0x1e75, 0x700c, 0x7214, 0x923a, 0x7010, 0x7218, + 0x9203, 0x0a04, 0x1e74, 0x9705, 0x0904, 0x1e74, 0x903e, 0x2730, + 0xa880, 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x1dfe, 0x1d3d, 0x1d3d, + 0x1dfe, 0x1dfe, 0x1ddb, 0x1dfe, 0x1d3d, 0x1de2, 0x1d8c, 0x1d8c, + 0x1dfe, 0x1dfe, 0x1dfe, 0x1dd5, 0x1d8c, 0xc0fc, 0xa882, 0xab2c, + 0xaa30, 0xad1c, 0xac20, 0xdd9c, 0x0904, 0x1e0b, 0x2c05, 0x908a, + 0x0034, 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x1d29, 0x1d27, + 0x1d27, 0x1d27, 0x1d27, 0x1d27, 0x1d2d, 0x1d27, 0x1d27, 0x1d27, + 0x1d27, 0x1d27, 0x1d31, 0x1d27, 0x1d27, 0x1d27, 0x1d27, 0x1d27, + 0x1d35, 0x1d27, 0x1d27, 0x1d27, 0x1d27, 0x1d27, 0x1d39, 0x080c, + 0x0dd5, 0xa774, 0xa678, 0x0804, 0x1e0b, 0xa78c, 0xa690, 0x0804, + 0x1e0b, 0xa7a4, 0xa6a8, 0x0804, 0x1e0b, 0xa7bc, 0xa6c0, 0x0804, + 0x1e0b, 0xa7d4, 0xa6d8, 0x0804, 0x1e0b, 0x2c05, 0x908a, 0x0036, + 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x1d60, 0x1d60, 0x1d62, + 0x1d60, 0x1d60, 0x1d60, 0x1d68, 0x1d60, 0x1d60, 0x1d60, 0x1d6e, + 0x1d60, 0x1d60, 0x1d60, 0x1d74, 0x1d60, 0x1d60, 0x1d60, 0x1d7a, + 0x1d60, 0x1d60, 0x1d60, 0x1d80, 0x1d60, 0x1d60, 0x1d60, 0x1d86, + 0x080c, 0x0dd5, 0xa574, 0xa478, 0xa37c, 0xa280, 0x0804, 0x1e0b, + 0xa584, 0xa488, 0xa38c, 0xa290, 0x0804, 0x1e0b, 0xa594, 0xa498, + 0xa39c, 0xa2a0, 0x0804, 0x1e0b, 0xa5a4, 0xa4a8, 0xa3ac, 0xa2b0, + 0x0804, 0x1e0b, 0xa5b4, 0xa4b8, 0xa3bc, 0xa2c0, 0x0804, 0x1e0b, + 0xa5c4, 0xa4c8, 0xa3cc, 0xa2d0, 0x0804, 0x1e0b, 0xa5d4, 0xa4d8, + 0xa3dc, 0xa2e0, 0x0804, 0x1e0b, 0x2c05, 0x908a, 0x0034, 0x1a0c, + 0x0dd5, 0x9082, 0x001b, 0x0002, 0x1daf, 0x1dad, 0x1dad, 0x1dad, + 0x1dad, 0x1dad, 0x1db7, 0x1dad, 0x1dad, 0x1dad, 0x1dad, 0x1dad, + 0x1dbf, 0x1dad, 0x1dad, 0x1dad, 0x1dad, 0x1dad, 0x1dc7, 0x1dad, + 0x1dad, 0x1dad, 0x1dad, 0x1dad, 0x1dce, 0x080c, 0x0dd5, 0xa56c, + 0xa470, 0xa774, 0xa678, 0xa37c, 0xa280, 0x0804, 0x1e0b, 0xa584, + 0xa488, 0xa78c, 0xa690, 0xa394, 0xa298, 0x0804, 0x1e0b, 0xa59c, + 0xa4a0, 0xa7a4, 0xa6a8, 0xa3ac, 0xa2b0, 0x0804, 0x1e0b, 0xa5b4, + 0xa4b8, 0xa7bc, 0xa6c0, 0xa3c4, 0xa2c8, 0x04e8, 0xa5cc, 0xa4d0, + 0xa7d4, 0xa6d8, 0xa3dc, 0xa2e0, 0x04b0, 0xa864, 0x9084, 0x00ff, + 0x9086, 0x001e, 0x1518, 0x080c, 0x2055, 0x1904, 0x1cd8, 0x900e, + 0x0804, 0x1e75, 0xab64, 0x939c, 0x00ff, 0x9386, 0x0048, 0x1180, + 0x00c6, 0x7004, 0x2060, 0x6004, 0x9086, 0x0043, 0x00ce, 0x0904, + 0x1d8c, 0xab9c, 0x9016, 0xad8c, 0xac90, 0xaf94, 0xae98, 0x0098, + 0x9386, 0x0008, 0x0904, 0x1d8c, 0x080c, 0x0dd5, 0xa964, 0x918c, + 0x00ff, 0x9186, 0x0013, 0x0904, 0x1d3d, 0x9186, 0x001b, 0x0904, + 0x1d8c, 0x080c, 0x0dd5, 0x2009, 0x030f, 0x2104, 0xd0fc, 0x0530, + 0x0066, 0x2009, 0x0306, 0x2104, 0x9084, 0x0030, 0x15c8, 0x2031, + 0x1000, 0x200b, 0x4000, 0x2600, 0x9302, 0x928b, 0x0000, 0xa82e, + 0xa932, 0x0278, 0x9105, 0x0168, 0x2011, 0x0000, 0x2618, 0x2600, + 0x9500, 0xa81e, 0x9481, 0x0000, 0xa822, 0xa880, 0xc0fd, 0xa882, + 0x0020, 0xa82f, 0x0000, 0xa833, 0x0000, 0x006e, 0x7b12, 0x7a16, + 0x7d02, 0x7c06, 0x7f0a, 0x7e0e, 0x782b, 0x0001, 0x7000, 0x8000, + 0x7002, 0xa83c, 0x9300, 0xa83e, 0xa840, 0x9201, 0xa842, 0x700c, + 0x9300, 0x700e, 0x7010, 0x9201, 0x7012, 0x080c, 0x2055, 0x0428, + 0x2031, 0x0080, 0x9584, 0x007f, 0x0108, 0x9632, 0x7124, 0x7000, + 0x9086, 0x0000, 0x1198, 0xc185, 0x7126, 0x2009, 0x0306, 0x2104, + 0xd0b4, 0x1904, 0x1e1b, 0x200b, 0x4040, 0x2009, 0x1a7e, 0x2104, + 0x8000, 0x0a04, 0x1e1b, 0x200a, 0x0804, 0x1e1b, 0xc18d, 0x7126, + 0xd184, 0x1d58, 0x0804, 0x1e1b, 0x9006, 0x002e, 0x003e, 0x004e, + 0x005e, 0x006e, 0x007e, 0x0005, 0x080c, 0x0dd5, 0x0026, 0x2001, + 0x0105, 0x2003, 0x0010, 0x782b, 0x0004, 0x7003, 0x0000, 0x7004, + 0x0016, 0x080c, 0x1ccb, 0x001e, 0x2060, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x0118, 0xa880, 0xc0bd, 0xa882, 0x6020, 0x9086, 0x0006, + 0x1180, 0x2061, 0x0100, 0x62c8, 0x2001, 0x00fa, 0x8001, 0x1df0, + 0x60c8, 0x9206, 0x1dc0, 0x60c4, 0xa89a, 0x60c8, 0xa896, 0x7004, + 0x2060, 0x00c6, 0x080c, 0xc77b, 0x00ce, 0x2001, 0x19f5, 0x2004, + 0x9c06, 0x1160, 0x2009, 0x0040, 0x080c, 0x23df, 0x080c, 0xa7b7, + 0x2011, 0x0000, 0x080c, 0xa648, 0x080c, 0x97d4, 0x002e, 0x0804, + 0x2005, 0x0126, 0x2091, 0x2400, 0xa858, 0x2040, 0x792c, 0x782b, + 0x0002, 0x9184, 0x0700, 0x1904, 0x1e7e, 0x7000, 0x0002, 0x2005, + 0x1ed3, 0x1f53, 0x2003, 0x8001, 0x7002, 0x7027, 0x0000, 0xd19c, + 0x1158, 0x8aff, 0x0904, 0x1f20, 0x080c, 0x1cd2, 0x0904, 0x2005, + 0x080c, 0x1cd2, 0x0804, 0x2005, 0x782b, 0x0004, 0xd194, 0x0148, + 0xa880, 0xc0fc, 0xa882, 0x8aff, 0x1518, 0xa87c, 0xc0f5, 0xa87e, + 0x00f8, 0x0026, 0x0036, 0xab3c, 0xaa40, 0x0016, 0x7910, 0xa82c, + 0x9100, 0xa82e, 0x7914, 0xa830, 0x9101, 0xa832, 0x001e, 0x7810, + 0x931a, 0x7814, 0x9213, 0x7800, 0xa81e, 0x7804, 0xa822, 0xab3e, + 0xaa42, 0x003e, 0x002e, 0x080c, 0x2070, 0xa880, 0xc0fd, 0xa882, + 0x2a00, 0xa816, 0x2800, 0xa85a, 0x2c00, 0xa812, 0x7003, 0x0000, + 0x2009, 0x0306, 0x200b, 0x4800, 0x7027, 0x0000, 0x0804, 0x2005, + 0x00f6, 0x0026, 0x781c, 0x0006, 0x7818, 0x0006, 0x2079, 0x0100, + 0x7a14, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x0036, 0x2019, + 0x1000, 0x8319, 0x090c, 0x0dd5, 0x7820, 0xd0bc, 0x1dd0, 0x003e, + 0x79c8, 0x000e, 0x9102, 0x001e, 0x0006, 0x0016, 0x79c4, 0x000e, + 0x9103, 0x78c6, 0x000e, 0x78ca, 0x9284, 0x1984, 0x9085, 0x0012, + 0x7816, 0x002e, 0x00fe, 0x782b, 0x0008, 0x7003, 0x0000, 0x080c, + 0x1ccb, 0x0804, 0x2005, 0x8001, 0x7002, 0x7024, 0x8004, 0x7026, + 0xd194, 0x0170, 0x782c, 0xd0fc, 0x1904, 0x1ec6, 0xd19c, 0x1904, + 0x2001, 0x8aff, 0x0904, 0x2005, 0x080c, 0x1cd2, 0x0804, 0x2005, + 0x0026, 0x0036, 0xab3c, 0xaa40, 0x080c, 0x2070, 0xdd9c, 0x1904, + 0x1fc0, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0dd5, 0x9082, 0x001b, + 0x0002, 0x1f94, 0x1f94, 0x1f96, 0x1f94, 0x1f94, 0x1f94, 0x1f9c, + 0x1f94, 0x1f94, 0x1f94, 0x1fa2, 0x1f94, 0x1f94, 0x1f94, 0x1fa8, + 0x1f94, 0x1f94, 0x1f94, 0x1fae, 0x1f94, 0x1f94, 0x1f94, 0x1fb4, + 0x1f94, 0x1f94, 0x1f94, 0x1fba, 0x080c, 0x0dd5, 0xa07c, 0x931a, + 0xa080, 0x9213, 0x0804, 0x1ef5, 0xa08c, 0x931a, 0xa090, 0x9213, + 0x0804, 0x1ef5, 0xa09c, 0x931a, 0xa0a0, 0x9213, 0x0804, 0x1ef5, + 0xa0ac, 0x931a, 0xa0b0, 0x9213, 0x0804, 0x1ef5, 0xa0bc, 0x931a, + 0xa0c0, 0x9213, 0x0804, 0x1ef5, 0xa0cc, 0x931a, 0xa0d0, 0x9213, + 0x0804, 0x1ef5, 0xa0dc, 0x931a, 0xa0e0, 0x9213, 0x0804, 0x1ef5, + 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, + 0x1fe3, 0x1fe1, 0x1fe1, 0x1fe1, 0x1fe1, 0x1fe1, 0x1fe9, 0x1fe1, + 0x1fe1, 0x1fe1, 0x1fe1, 0x1fe1, 0x1fef, 0x1fe1, 0x1fe1, 0x1fe1, + 0x1fe1, 0x1fe1, 0x1ff5, 0x1fe1, 0x1fe1, 0x1fe1, 0x1fe1, 0x1fe1, + 0x1ffb, 0x080c, 0x0dd5, 0xa07c, 0x931a, 0xa080, 0x9213, 0x0804, + 0x1ef5, 0xa094, 0x931a, 0xa098, 0x9213, 0x0804, 0x1ef5, 0xa0ac, + 0x931a, 0xa0b0, 0x9213, 0x0804, 0x1ef5, 0xa0c4, 0x931a, 0xa0c8, + 0x9213, 0x0804, 0x1ef5, 0xa0dc, 0x931a, 0xa0e0, 0x9213, 0x0804, + 0x1ef5, 0x0804, 0x1ef1, 0x080c, 0x0dd5, 0x012e, 0x0005, 0x00f6, + 0x00e6, 0x2071, 0x1a65, 0x7000, 0x9086, 0x0000, 0x0904, 0x2050, + 0x2079, 0x0090, 0x2009, 0x0207, 0x210c, 0xd194, 0x01b8, 0x2009, + 0x020c, 0x210c, 0x9184, 0x0003, 0x0188, 0x080c, 0xea45, 0x2001, + 0x0133, 0x2004, 0x9005, 0x090c, 0x0dd5, 0x0016, 0x2009, 0x0040, + 0x080c, 0x23df, 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, + 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, + 0x080c, 0x23df, 0x782c, 0xd0fc, 0x09a8, 0x080c, 0x1ec1, 0x7000, + 0x9086, 0x0000, 0x1978, 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, + 0x2009, 0x0040, 0x080c, 0x23df, 0x782b, 0x0002, 0x7003, 0x0000, + 0x080c, 0x1ccb, 0x00ee, 0x00fe, 0x0005, 0xa880, 0xd0fc, 0x11a8, + 0x8c60, 0x2c05, 0x9005, 0x0110, 0x8a51, 0x0005, 0xa004, 0x9005, + 0x0168, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x209d, + 0x2065, 0x8cff, 0x090c, 0x0dd5, 0x8a51, 0x0005, 0x2050, 0x0005, + 0xa880, 0xd0fc, 0x11b8, 0x8a50, 0x8c61, 0x2c05, 0x9005, 0x1190, + 0x2800, 0x9906, 0x0120, 0xa000, 0x9005, 0x1108, 0x2900, 0x2040, + 0xa85a, 0xa064, 0x9084, 0x000f, 0x9080, 0x20ad, 0x2065, 0x8cff, + 0x090c, 0x0dd5, 0x0005, 0x0000, 0x001d, 0x0021, 0x0025, 0x0029, + 0x002d, 0x0031, 0x0035, 0x0000, 0x001b, 0x0021, 0x0027, 0x002d, + 0x0033, 0x0000, 0x0000, 0x0023, 0x0000, 0x0000, 0x2090, 0x208c, + 0x2090, 0x2090, 0x209a, 0x0000, 0x2090, 0x2097, 0x2097, 0x2094, + 0x2097, 0x2097, 0x0000, 0x209a, 0x2097, 0x0000, 0x2092, 0x2092, + 0x0000, 0x2092, 0x209a, 0x0000, 0x2092, 0x2098, 0x2098, 0x2098, + 0x0000, 0x2098, 0x0000, 0x209a, 0x2098, 0x00c6, 0x00d6, 0x0086, + 0xab42, 0xac3e, 0xa888, 0x9055, 0x0904, 0x229c, 0x2940, 0xa064, + 0x90ec, 0x000f, 0x9084, 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, + 0x2098, 0x00d0, 0x9de0, 0x209d, 0x9d86, 0x0007, 0x0130, 0x9d86, + 0x000e, 0x0118, 0x9d86, 0x000f, 0x1120, 0xa08c, 0x9422, 0xa090, + 0x931b, 0x2c05, 0x9065, 0x1140, 0x0310, 0x0804, 0x229c, 0xa004, + 0x9045, 0x0904, 0x229c, 0x08d8, 0x2c05, 0x9005, 0x0904, 0x2184, + 0xdd9c, 0x1904, 0x2140, 0x908a, 0x0036, 0x1a0c, 0x0dd5, 0x9082, + 0x001b, 0x0002, 0x2115, 0x2115, 0x2117, 0x2115, 0x2115, 0x2115, + 0x211d, 0x2115, 0x2115, 0x2115, 0x2123, 0x2115, 0x2115, 0x2115, + 0x2129, 0x2115, 0x2115, 0x2115, 0x212f, 0x2115, 0x2115, 0x2115, + 0x2135, 0x2115, 0x2115, 0x2115, 0x213b, 0x080c, 0x0dd5, 0xa07c, + 0x9422, 0xa080, 0x931b, 0x0804, 0x217a, 0xa08c, 0x9422, 0xa090, + 0x931b, 0x0804, 0x217a, 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, + 0x217a, 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0804, 0x217a, 0xa0bc, + 0x9422, 0xa0c0, 0x931b, 0x0804, 0x217a, 0xa0cc, 0x9422, 0xa0d0, + 0x931b, 0x0804, 0x217a, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x04d0, + 0x908a, 0x0034, 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x2162, + 0x2160, 0x2160, 0x2160, 0x2160, 0x2160, 0x2167, 0x2160, 0x2160, + 0x2160, 0x2160, 0x2160, 0x216c, 0x2160, 0x2160, 0x2160, 0x2160, + 0x2160, 0x2171, 0x2160, 0x2160, 0x2160, 0x2160, 0x2160, 0x2176, + 0x080c, 0x0dd5, 0xa07c, 0x9422, 0xa080, 0x931b, 0x0098, 0xa094, + 0x9422, 0xa098, 0x931b, 0x0070, 0xa0ac, 0x9422, 0xa0b0, 0x931b, + 0x0048, 0xa0c4, 0x9422, 0xa0c8, 0x931b, 0x0020, 0xa0dc, 0x9422, + 0xa0e0, 0x931b, 0x0630, 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, + 0x229c, 0x8c60, 0x0804, 0x20ec, 0xa004, 0x9045, 0x0904, 0x229c, + 0x0804, 0x20c7, 0x8a51, 0x0904, 0x229c, 0x8c60, 0x2c05, 0x9005, + 0x1158, 0xa004, 0x9045, 0x0904, 0x229c, 0xa064, 0x90ec, 0x000f, + 0x9de0, 0x209d, 0x2c05, 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, + 0x2291, 0x2c05, 0x8422, 0x8420, 0x831a, 0x9399, 0x0000, 0xac2e, + 0xab32, 0xdd9c, 0x1904, 0x222e, 0x9082, 0x001b, 0x0002, 0x21ca, + 0x21ca, 0x21cc, 0x21ca, 0x21ca, 0x21ca, 0x21da, 0x21ca, 0x21ca, + 0x21ca, 0x21e8, 0x21ca, 0x21ca, 0x21ca, 0x21f6, 0x21ca, 0x21ca, + 0x21ca, 0x2204, 0x21ca, 0x21ca, 0x21ca, 0x2212, 0x21ca, 0x21ca, + 0x21ca, 0x2220, 0x080c, 0x0dd5, 0xa17c, 0x2400, 0x9122, 0xa180, + 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa074, 0x9420, 0xa078, 0x9319, + 0x0804, 0x228c, 0xa18c, 0x2400, 0x9122, 0xa190, 0x2300, 0x911b, + 0x0a0c, 0x0dd5, 0xa084, 0x9420, 0xa088, 0x9319, 0x0804, 0x228c, + 0xa19c, 0x2400, 0x9122, 0xa1a0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, + 0xa094, 0x9420, 0xa098, 0x9319, 0x0804, 0x228c, 0xa1ac, 0x2400, + 0x9122, 0xa1b0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa0a4, 0x9420, + 0xa0a8, 0x9319, 0x0804, 0x228c, 0xa1bc, 0x2400, 0x9122, 0xa1c0, + 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa0b4, 0x9420, 0xa0b8, 0x9319, + 0x0804, 0x228c, 0xa1cc, 0x2400, 0x9122, 0xa1d0, 0x2300, 0x911b, + 0x0a0c, 0x0dd5, 0xa0c4, 0x9420, 0xa0c8, 0x9319, 0x0804, 0x228c, + 0xa1dc, 0x2400, 0x9122, 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, + 0xa0d4, 0x9420, 0xa0d8, 0x9319, 0x0804, 0x228c, 0x9082, 0x001b, + 0x0002, 0x224c, 0x224a, 0x224a, 0x224a, 0x224a, 0x224a, 0x2259, + 0x224a, 0x224a, 0x224a, 0x224a, 0x224a, 0x2266, 0x224a, 0x224a, + 0x224a, 0x224a, 0x224a, 0x2273, 0x224a, 0x224a, 0x224a, 0x224a, + 0x224a, 0x2280, 0x080c, 0x0dd5, 0xa17c, 0x2400, 0x9122, 0xa180, + 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa06c, 0x9420, 0xa070, 0x9319, + 0x0498, 0xa194, 0x2400, 0x9122, 0xa198, 0x2300, 0x911b, 0x0a0c, + 0x0dd5, 0xa084, 0x9420, 0xa088, 0x9319, 0x0430, 0xa1ac, 0x2400, + 0x9122, 0xa1b0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, 0xa09c, 0x9420, + 0xa0a0, 0x9319, 0x00c8, 0xa1c4, 0x2400, 0x9122, 0xa1c8, 0x2300, + 0x911b, 0x0a0c, 0x0dd5, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0060, + 0xa1dc, 0x2400, 0x9122, 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0dd5, + 0xa0cc, 0x9420, 0xa0d0, 0x9319, 0xac1e, 0xab22, 0xa880, 0xc0fd, + 0xa882, 0x2800, 0xa85a, 0x2c00, 0xa812, 0x2a00, 0xa816, 0x000e, + 0x000e, 0x000e, 0x9006, 0x0028, 0x008e, 0x00de, 0x00ce, 0x9085, + 0x0001, 0x0005, 0x2001, 0x0005, 0x2004, 0xd0bc, 0x190c, 0x0dce, + 0x9084, 0x0007, 0x0002, 0x22bd, 0x1ec1, 0x22bd, 0x22b3, 0x22b6, + 0x22b9, 0x22b6, 0x22b9, 0x080c, 0x1ec1, 0x0005, 0x080c, 0x11a3, + 0x0005, 0x080c, 0x1ec1, 0x080c, 0x11a3, 0x0005, 0x0126, 0x2091, + 0x2600, 0x2079, 0x0200, 0x2071, 0x0260, 0x2069, 0x1800, 0x7817, + 0x0000, 0x789b, 0x0814, 0x78a3, 0x0406, 0x789f, 0x0410, 0x2009, + 0x013b, 0x200b, 0x0400, 0x781b, 0x0002, 0x783b, 0x001f, 0x7837, + 0x0020, 0x7803, 0x1600, 0x012e, 0x0005, 0x2091, 0x2600, 0x781c, + 0xd0a4, 0x190c, 0x23dc, 0x7900, 0xd1dc, 0x1118, 0x9084, 0x0006, + 0x001a, 0x9084, 0x000e, 0x0002, 0x2304, 0x22fc, 0x7d93, 0x22fc, + 0x22fe, 0x22fe, 0x22fe, 0x22fe, 0x7d79, 0x22fc, 0x2300, 0x22fc, + 0x22fe, 0x22fc, 0x22fe, 0x22fc, 0x080c, 0x0dd5, 0x0031, 0x0020, + 0x080c, 0x7d79, 0x080c, 0x7d93, 0x0005, 0x0006, 0x0016, 0x0026, + 0x080c, 0xea45, 0x7930, 0x9184, 0x0003, 0x01c0, 0x2001, 0x19f5, + 0x2004, 0x9005, 0x0170, 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, + 0x0dd5, 0x00c6, 0x2001, 0x19f5, 0x2064, 0x080c, 0xc77b, 0x00ce, + 0x00f8, 0x2009, 0x0040, 0x080c, 0x23df, 0x00d0, 0x9184, 0x0014, + 0x01a0, 0x6a00, 0x9286, 0x0003, 0x0160, 0x080c, 0x73b3, 0x1138, + 0x080c, 0x7699, 0x080c, 0x602d, 0x080c, 0x72e5, 0x0010, 0x080c, + 0x5eec, 0x080c, 0x7e42, 0x0041, 0x0018, 0x9184, 0x9540, 0x1dc8, + 0x002e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x0036, 0x0046, 0x0056, + 0x2071, 0x1a61, 0x080c, 0x1abb, 0x005e, 0x004e, 0x003e, 0x00ee, + 0x0005, 0x0126, 0x2091, 0x2e00, 0x2071, 0x1800, 0x7128, 0x2001, + 0x196e, 0x2102, 0x2001, 0x1976, 0x2102, 0x2001, 0x013b, 0x2102, + 0x2079, 0x0200, 0x2001, 0x0201, 0x789e, 0x78a3, 0x0200, 0x9198, + 0x0007, 0x831c, 0x831c, 0x831c, 0x9398, 0x0005, 0x2320, 0x9182, + 0x0204, 0x1230, 0x2011, 0x0008, 0x8423, 0x8423, 0x8423, 0x0488, + 0x9182, 0x024c, 0x1240, 0x2011, 0x0007, 0x8403, 0x8003, 0x9400, + 0x9400, 0x9420, 0x0430, 0x9182, 0x02bc, 0x1238, 0x2011, 0x0006, + 0x8403, 0x8003, 0x9400, 0x9420, 0x00e0, 0x9182, 0x034c, 0x1230, + 0x2011, 0x0005, 0x8403, 0x8003, 0x9420, 0x0098, 0x9182, 0x042c, + 0x1228, 0x2011, 0x0004, 0x8423, 0x8423, 0x0058, 0x9182, 0x059c, + 0x1228, 0x2011, 0x0003, 0x8403, 0x9420, 0x0018, 0x2011, 0x0002, + 0x8423, 0x9482, 0x0228, 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, + 0x0208, 0x8321, 0x8217, 0x8203, 0x9405, 0x789a, 0x012e, 0x0005, + 0x0006, 0x00d6, 0x2069, 0x0200, 0x6814, 0x9084, 0xffc0, 0x910d, + 0x6916, 0x00de, 0x000e, 0x0005, 0x00d6, 0x2069, 0x0200, 0x9005, + 0x6810, 0x0110, 0xc0a5, 0x0008, 0xc0a4, 0x6812, 0x00de, 0x0005, + 0x0006, 0x00d6, 0x2069, 0x0200, 0x6810, 0x9084, 0xfff8, 0x910d, + 0x6912, 0x00de, 0x000e, 0x0005, 0x7938, 0x080c, 0x0dce, 0x00f6, + 0x2079, 0x0200, 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, + 0xa001, 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, + 0x00fe, 0x0005, 0x0126, 0x2091, 0x2800, 0x2061, 0x0100, 0x2071, + 0x1800, 0x2009, 0x0000, 0x080c, 0x2c4b, 0x080c, 0x2b66, 0x6054, + 0x8004, 0x8004, 0x8004, 0x8004, 0x9084, 0x000c, 0x6150, 0x918c, + 0xfff3, 0x9105, 0x6052, 0x6050, 0x9084, 0xb17f, 0x9085, 0x2000, + 0x6052, 0x2009, 0x199c, 0x2011, 0x199d, 0x6358, 0x939c, 0x38f0, + 0x2320, 0x080c, 0x2baa, 0x1238, 0x939d, 0x4003, 0x94a5, 0x8603, + 0x230a, 0x2412, 0x0030, 0x939d, 0x0203, 0x94a5, 0x8603, 0x230a, + 0x2412, 0x9006, 0x080c, 0x2b95, 0x9006, 0x080c, 0x2b78, 0x20a9, + 0x0012, 0x1d04, 0x2431, 0x2091, 0x6000, 0x1f04, 0x2431, 0x602f, + 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, + 0x6052, 0x6024, 0x6026, 0x080c, 0x2884, 0x2009, 0x00ef, 0x6132, + 0x6136, 0x080c, 0x2894, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0008, + 0x604b, 0xf7f7, 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, + 0x6007, 0x349f, 0x60bb, 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, + 0x1f04, 0x245e, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, + 0x60bf, 0x0405, 0x60bf, 0x0014, 0x60bf, 0x0320, 0x60bf, 0x0018, + 0x601b, 0x00f0, 0x601f, 0x001e, 0x600f, 0x006b, 0x602b, 0x402f, + 0x012e, 0x0005, 0x00f6, 0x2079, 0x0140, 0x78c3, 0x0080, 0x78c3, + 0x0083, 0x78c3, 0x0000, 0x00fe, 0x0005, 0x2001, 0x1835, 0x2003, + 0x0000, 0x2001, 0x1834, 0x2003, 0x0001, 0x0005, 0x0126, 0x2091, + 0x2800, 0x0006, 0x0016, 0x0026, 0x6124, 0x0066, 0x2031, 0x1837, + 0x2634, 0x96b4, 0x0028, 0x006e, 0x1138, 0x6020, 0xd1bc, 0x0120, + 0xd0bc, 0x1168, 0xd0b4, 0x1198, 0x9184, 0x5e2c, 0x1118, 0x9184, + 0x0007, 0x00aa, 0x9195, 0x0004, 0x9284, 0x0007, 0x0082, 0x0016, + 0x2001, 0x188b, 0x200c, 0xd184, 0x001e, 0x0d70, 0x0c98, 0x0016, + 0x2001, 0x188b, 0x200c, 0xd194, 0x001e, 0x0d30, 0x0c58, 0x24e1, + 0x24c7, 0x24ca, 0x24cd, 0x24d2, 0x24d4, 0x24d8, 0x24dc, 0x080c, + 0x8fdd, 0x00b8, 0x080c, 0x90aa, 0x00a0, 0x080c, 0x90aa, 0x080c, + 0x8fdd, 0x0078, 0x0099, 0x0068, 0x080c, 0x8fdd, 0x0079, 0x0048, + 0x080c, 0x90aa, 0x0059, 0x0028, 0x080c, 0x90aa, 0x080c, 0x8fdd, + 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x00a6, 0x6124, + 0x6028, 0xd09c, 0x0118, 0xd19c, 0x1904, 0x2749, 0xd1f4, 0x190c, + 0x0dce, 0x080c, 0x73b3, 0x0904, 0x253c, 0x080c, 0xd25a, 0x1120, + 0x7000, 0x9086, 0x0003, 0x0570, 0x6024, 0x9084, 0x1800, 0x0550, + 0x080c, 0x73d6, 0x0118, 0x080c, 0x73c4, 0x1520, 0x6027, 0x0020, + 0x6043, 0x0000, 0x080c, 0xd25a, 0x0168, 0x080c, 0x73d6, 0x1150, + 0x2001, 0x19a6, 0x2003, 0x0001, 0x6027, 0x1800, 0x080c, 0x7249, + 0x0804, 0x274c, 0x70a4, 0x9005, 0x1150, 0x70a7, 0x0001, 0x00d6, + 0x2069, 0x0140, 0x080c, 0x740a, 0x00de, 0x1904, 0x274c, 0x080c, + 0x76a3, 0x0428, 0x080c, 0x73d6, 0x1590, 0x6024, 0x9084, 0x1800, + 0x1108, 0x0468, 0x080c, 0x76a3, 0x080c, 0x7699, 0x080c, 0x602d, + 0x080c, 0x72e5, 0x0804, 0x2749, 0xd1ac, 0x1508, 0x6024, 0xd0dc, + 0x1170, 0xd0e4, 0x1178, 0xd0d4, 0x1190, 0xd0cc, 0x0130, 0x7098, + 0x9086, 0x0028, 0x1110, 0x080c, 0x7586, 0x0804, 0x2749, 0x080c, + 0x769e, 0x0048, 0x2001, 0x197c, 0x2003, 0x0002, 0x0020, 0x080c, + 0x74eb, 0x0804, 0x2749, 0x080c, 0x7621, 0x0804, 0x2749, 0x6220, + 0xd1bc, 0x0138, 0xd2bc, 0x1904, 0x27bc, 0xd2b4, 0x1904, 0x27cf, + 0x0000, 0xd1ac, 0x0904, 0x265e, 0x0036, 0x6328, 0xc3bc, 0x632a, + 0x003e, 0x080c, 0x73b3, 0x11c0, 0x6027, 0x0020, 0x0006, 0x0026, + 0x0036, 0x080c, 0x73cd, 0x1158, 0x080c, 0x7699, 0x080c, 0x602d, + 0x080c, 0x72e5, 0x003e, 0x002e, 0x000e, 0x00ae, 0x0005, 0x003e, + 0x002e, 0x000e, 0x080c, 0x738b, 0x0016, 0x0046, 0x00c6, 0x644c, + 0x9486, 0xf0f0, 0x1138, 0x2061, 0x0100, 0x644a, 0x6043, 0x0090, + 0x6043, 0x0010, 0x74da, 0x948c, 0xff00, 0x7038, 0xd084, 0x0178, + 0x9186, 0xf800, 0x1160, 0x7048, 0xd084, 0x1148, 0xc085, 0x704a, + 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x4b1e, 0x003e, 0x080c, + 0xd253, 0x1904, 0x263b, 0x9196, 0xff00, 0x05a8, 0x7060, 0x9084, + 0x00ff, 0x810f, 0x81ff, 0x0110, 0x9116, 0x0568, 0x7130, 0xd184, + 0x1550, 0x080c, 0x3326, 0x0128, 0xc18d, 0x7132, 0x080c, 0x6981, + 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, 0x9294, 0xff00, + 0x9296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, 0x263b, 0x7038, + 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, 0x263b, + 0xc1ad, 0x2102, 0x0036, 0x73d8, 0x2011, 0x8013, 0x080c, 0x4b1e, + 0x003e, 0x0804, 0x263b, 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, + 0x200c, 0xd1ac, 0x1904, 0x263b, 0xc1ad, 0x2102, 0x0036, 0x73d8, + 0x2011, 0x8013, 0x080c, 0x4b1e, 0x003e, 0x7130, 0xc185, 0x7132, + 0x2011, 0x1848, 0x220c, 0xd1a4, 0x01f0, 0x0016, 0x2009, 0x0001, + 0x2011, 0x0100, 0x080c, 0x86e3, 0x2019, 0x000e, 0x00c6, 0x2061, + 0x0000, 0x080c, 0xe55d, 0x00ce, 0x9484, 0x00ff, 0x9080, 0x3332, + 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, 0x9006, 0x2009, 0x000e, + 0x080c, 0xe5e9, 0x001e, 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, + 0x080c, 0x3197, 0x001e, 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, + 0x900e, 0x080c, 0x6616, 0x1110, 0x080c, 0x6047, 0x8108, 0x1f04, + 0x2631, 0x00be, 0x015e, 0x00ce, 0x004e, 0x080c, 0xadd0, 0x60e3, + 0x0000, 0x001e, 0x2001, 0x1800, 0x2014, 0x9296, 0x0004, 0x1170, + 0xd19c, 0x11a0, 0x2011, 0x180c, 0x2214, 0xd29c, 0x1120, 0x6204, + 0x9295, 0x0002, 0x6206, 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, + 0x2001, 0x1826, 0x2003, 0x0000, 0x6027, 0x0020, 0xd194, 0x0904, + 0x2749, 0x0016, 0x6220, 0xd2b4, 0x0904, 0x26e6, 0x080c, 0x857f, + 0x080c, 0xa28f, 0x6027, 0x0004, 0x00f6, 0x2019, 0x19ef, 0x2304, + 0x907d, 0x0904, 0x26b5, 0x7804, 0x9086, 0x0032, 0x15f0, 0x00d6, + 0x00c6, 0x00e6, 0x0096, 0x2069, 0x0140, 0x782c, 0x685e, 0x7808, + 0x685a, 0x6043, 0x0002, 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, + 0x0000, 0x2001, 0x003c, 0x8001, 0x1df0, 0x080c, 0x2d0c, 0x2001, + 0x001e, 0x8001, 0x0240, 0x20a9, 0x0009, 0x080c, 0x2c26, 0x6904, + 0xd1dc, 0x1140, 0x0cb0, 0x2001, 0x0100, 0x080c, 0x2cfc, 0x9006, + 0x080c, 0x2cfc, 0x080c, 0x959a, 0x080c, 0x96a6, 0x7814, 0x2048, + 0xa867, 0x0103, 0x2f60, 0x080c, 0xae5f, 0x009e, 0x00ee, 0x00ce, + 0x00de, 0x00fe, 0x001e, 0x00ae, 0x0005, 0x00fe, 0x00d6, 0x2069, + 0x0140, 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, 0x2d0c, 0x00de, + 0x00c6, 0x2061, 0x19e6, 0x6028, 0x080c, 0xd25a, 0x0120, 0x909a, + 0x0003, 0x1258, 0x0018, 0x909a, 0x00c8, 0x1238, 0x8000, 0x602a, + 0x00ce, 0x080c, 0xa26b, 0x0804, 0x2748, 0x2061, 0x0100, 0x62c0, + 0x080c, 0xac56, 0x2019, 0x19ef, 0x2304, 0x9065, 0x0120, 0x2009, + 0x0027, 0x080c, 0xaeda, 0x00ce, 0x0804, 0x2748, 0xd2bc, 0x0904, + 0x272f, 0x080c, 0x858c, 0x6014, 0x9084, 0x1984, 0x9085, 0x0010, + 0x6016, 0x6027, 0x0004, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, + 0x4000, 0x0110, 0x080c, 0x2d0c, 0x00de, 0x00c6, 0x2061, 0x19e6, + 0x6044, 0x080c, 0xd25a, 0x0120, 0x909a, 0x0003, 0x1658, 0x0018, + 0x909a, 0x00c8, 0x1638, 0x8000, 0x6046, 0x603c, 0x00ce, 0x9005, + 0x05b8, 0x2009, 0x07d0, 0x080c, 0x8584, 0x9080, 0x0008, 0x2004, + 0x9086, 0x0006, 0x1138, 0x6114, 0x918c, 0x1984, 0x918d, 0x0012, + 0x6116, 0x0430, 0x9080, 0x0008, 0x2004, 0x9086, 0x0009, 0x0d98, + 0x6114, 0x918c, 0x1984, 0x918d, 0x0016, 0x6116, 0x00c8, 0x6027, + 0x0004, 0x00b0, 0x0036, 0x2019, 0x0001, 0x080c, 0xa5c8, 0x003e, + 0x2019, 0x19f5, 0x2304, 0x9065, 0x0150, 0x2009, 0x004f, 0x6020, + 0x9086, 0x0009, 0x1110, 0x2009, 0x004f, 0x080c, 0xaeda, 0x00ce, + 0x001e, 0xd19c, 0x0904, 0x27b7, 0x7038, 0xd0ac, 0x1904, 0x2790, + 0x0016, 0x0156, 0x6027, 0x0008, 0x6050, 0x9085, 0x0040, 0x6052, + 0x6050, 0x9084, 0xfbcf, 0x6052, 0x080c, 0x2c45, 0x9085, 0x2000, + 0x6052, 0x20a9, 0x0012, 0x1d04, 0x2763, 0x080c, 0x85b3, 0x1f04, + 0x2763, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x6052, 0x20a9, + 0x0028, 0xa001, 0x1f04, 0x2771, 0x6150, 0x9185, 0x1400, 0x6052, + 0x20a9, 0x0366, 0x1d04, 0x277a, 0x080c, 0x85b3, 0x6020, 0xd09c, + 0x1130, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x0480, 0x080c, + 0x2c0d, 0x1f04, 0x277a, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, + 0x0016, 0x6028, 0xc09c, 0x602a, 0x080c, 0xadd0, 0x60e3, 0x0000, + 0x080c, 0xea24, 0x080c, 0xea3f, 0x080c, 0x56e6, 0xd0fc, 0x1138, + 0x080c, 0xd253, 0x1120, 0x9085, 0x0001, 0x080c, 0x73fa, 0x9006, + 0x080c, 0x2cfc, 0x2009, 0x0002, 0x080c, 0x2c4b, 0x2001, 0x1800, + 0x2003, 0x0004, 0x6027, 0x0008, 0x080c, 0x0bae, 0x001e, 0x918c, + 0xffd0, 0x6126, 0x00ae, 0x0005, 0x0016, 0x2001, 0x188b, 0x200c, + 0xd184, 0x001e, 0x0904, 0x2569, 0x0016, 0x2009, 0x27c8, 0x00d0, + 0x2001, 0x188b, 0x200c, 0xc184, 0x2102, 0x001e, 0x0c40, 0x0016, + 0x2001, 0x188b, 0x200c, 0xd194, 0x001e, 0x0904, 0x2569, 0x0016, + 0x2009, 0x27db, 0x0038, 0x2001, 0x188b, 0x200c, 0xc194, 0x2102, + 0x001e, 0x08a8, 0x6028, 0xc0bc, 0x602a, 0x2001, 0x0156, 0x2003, + 0xbc91, 0x8000, 0x2003, 0xffff, 0x6043, 0x0001, 0x080c, 0x2c45, + 0x6027, 0x0080, 0x6017, 0x0000, 0x6043, 0x0000, 0x0817, 0x0006, + 0x0016, 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, 0x2091, 0x8000, + 0x2071, 0x1800, 0x71d0, 0x70d2, 0x9116, 0x05e8, 0x81ff, 0x01a0, + 0x2009, 0x0000, 0x080c, 0x2c4b, 0x2011, 0x8011, 0x2019, 0x010e, + 0x231c, 0x939e, 0x0007, 0x1118, 0x2019, 0x0001, 0x0010, 0x2019, + 0x0000, 0x080c, 0x4b1e, 0x0438, 0x2001, 0x19a7, 0x200c, 0x81ff, + 0x1140, 0x2001, 0x0109, 0x2004, 0xd0b4, 0x0118, 0x2019, 0x0003, + 0x0008, 0x2118, 0x2011, 0x8012, 0x080c, 0x4b1e, 0x080c, 0x56e6, + 0xd0fc, 0x1188, 0x080c, 0xd253, 0x1170, 0x00c6, 0x080c, 0x28df, + 0x080c, 0xa52f, 0x2061, 0x0100, 0x2019, 0x0028, 0x2009, 0x0002, + 0x080c, 0x3197, 0x00ce, 0x012e, 0x00fe, 0x00ee, 0x003e, 0x002e, + 0x001e, 0x000e, 0x0005, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, + 0xff00, 0x11f0, 0x2011, 0x1837, 0x2214, 0xd2ac, 0x11c8, 0x81ff, + 0x01e8, 0x2011, 0x181f, 0x2204, 0x9106, 0x1190, 0x2011, 0x1820, + 0x2214, 0x9294, 0xff00, 0x9584, 0xff00, 0x9206, 0x1148, 0x2011, + 0x1820, 0x2214, 0x9294, 0x00ff, 0x9584, 0x00ff, 0x9206, 0x1120, + 0x2500, 0x080c, 0x80b4, 0x0048, 0x9584, 0x00ff, 0x9080, 0x3332, + 0x200d, 0x918c, 0xff00, 0x810f, 0x9006, 0x0005, 0x9080, 0x3332, + 0x200d, 0x918c, 0x00ff, 0x0005, 0x00d6, 0x2069, 0x0140, 0x2001, + 0x1818, 0x2003, 0x00ef, 0x20a9, 0x0010, 0x9006, 0x6852, 0x6856, + 0x1f04, 0x288f, 0x00de, 0x0005, 0x0006, 0x00d6, 0x0026, 0x2069, + 0x0140, 0x2001, 0x1818, 0x2102, 0x8114, 0x8214, 0x8214, 0x8214, + 0x20a9, 0x0010, 0x6853, 0x0000, 0x9006, 0x82ff, 0x1128, 0x9184, + 0x000f, 0x9080, 0xf1f1, 0x2005, 0x6856, 0x8211, 0x1f04, 0x28a4, + 0x002e, 0x00de, 0x000e, 0x0005, 0x00c6, 0x2061, 0x1800, 0x6030, + 0x0110, 0xc09d, 0x0008, 0xc09c, 0x6032, 0x00ce, 0x0005, 0x0156, + 0x00d6, 0x0026, 0x0016, 0x0006, 0x2069, 0x0140, 0x6980, 0x9116, + 0x0180, 0x9112, 0x1230, 0x8212, 0x8210, 0x22a8, 0x2001, 0x0402, + 0x0018, 0x22a8, 0x2001, 0x0404, 0x680e, 0x1f04, 0x28d4, 0x680f, + 0x0000, 0x000e, 0x001e, 0x002e, 0x00de, 0x015e, 0x0005, 0x080c, + 0x56e2, 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, + 0x2009, 0x002e, 0x080c, 0xe5e9, 0x004e, 0x0005, 0x00f6, 0x0016, + 0x0026, 0x2079, 0x0140, 0x78c4, 0xd0dc, 0x0904, 0x294b, 0x080c, + 0x2baa, 0x0660, 0x9084, 0x0700, 0x908e, 0x0600, 0x1120, 0x2011, + 0x4000, 0x900e, 0x0458, 0x908e, 0x0500, 0x1120, 0x2011, 0x8000, + 0x900e, 0x0420, 0x908e, 0x0400, 0x1120, 0x9016, 0x2009, 0x0001, + 0x00e8, 0x908e, 0x0300, 0x1120, 0x9016, 0x2009, 0x0002, 0x00b0, + 0x908e, 0x0200, 0x1120, 0x9016, 0x2009, 0x0004, 0x0078, 0x908e, + 0x0100, 0x1548, 0x9016, 0x2009, 0x0008, 0x0040, 0x9084, 0x0700, + 0x908e, 0x0300, 0x1500, 0x2011, 0x0030, 0x0058, 0x2300, 0x9080, + 0x0020, 0x2018, 0x080c, 0x8f70, 0x928c, 0xff00, 0x0110, 0x2011, + 0x00ff, 0x2200, 0x8007, 0x9085, 0x004c, 0x78c2, 0x2009, 0x0138, + 0x220a, 0x080c, 0x73b3, 0x1118, 0x2009, 0x196c, 0x220a, 0x002e, + 0x001e, 0x00fe, 0x0005, 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, + 0x2800, 0x0006, 0x0016, 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, + 0x2014, 0x9184, 0x0003, 0x0110, 0x080c, 0x0dce, 0x002e, 0x001e, + 0x000e, 0x012e, 0x0005, 0x2001, 0x0171, 0x2004, 0xd0dc, 0x0168, + 0x2001, 0x0170, 0x200c, 0x918c, 0x00ff, 0x918e, 0x004c, 0x1128, + 0x200c, 0x918c, 0xff00, 0x810f, 0x0005, 0x900e, 0x2001, 0x0227, + 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, 0x2001, 0x0226, + 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, 0x0005, 0x0018, + 0x000c, 0x0018, 0x0020, 0x1000, 0x0800, 0x1000, 0x1800, 0x0156, + 0x0006, 0x0016, 0x0026, 0x00e6, 0x2001, 0x198f, 0x2004, 0x908a, + 0x0007, 0x1a0c, 0x0dd5, 0x0033, 0x00ee, 0x002e, 0x001e, 0x000e, + 0x015e, 0x0005, 0x29a9, 0x29c7, 0x29eb, 0x29ed, 0x2a16, 0x2a18, + 0x2a1a, 0x2001, 0x0001, 0x080c, 0x27f7, 0x080c, 0x2c08, 0x2001, + 0x1991, 0x2003, 0x0000, 0x7828, 0x9084, 0xe1d7, 0x782a, 0x9006, + 0x20a9, 0x0009, 0x080c, 0x2bc6, 0x2001, 0x198f, 0x2003, 0x0006, + 0x2009, 0x001e, 0x2011, 0x2a1b, 0x080c, 0x8591, 0x0005, 0x2009, + 0x1994, 0x200b, 0x0000, 0x2001, 0x1999, 0x2003, 0x0036, 0x2001, + 0x1998, 0x2003, 0x002a, 0x2001, 0x1991, 0x2003, 0x0001, 0x9006, + 0x080c, 0x2b78, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x2bc6, + 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2a1b, + 0x080c, 0x8591, 0x0005, 0x080c, 0x0dd5, 0x2001, 0x1999, 0x2003, + 0x0036, 0x2001, 0x1991, 0x2003, 0x0003, 0x7a38, 0x9294, 0x0005, + 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, + 0x2b78, 0x2001, 0x1995, 0x2003, 0x0000, 0x2001, 0xffff, 0x20a9, + 0x0009, 0x080c, 0x2bc6, 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, + 0x001e, 0x2011, 0x2a1b, 0x080c, 0x8591, 0x0005, 0x080c, 0x0dd5, + 0x080c, 0x0dd5, 0x0005, 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, + 0x0156, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x2001, 0x1991, + 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0dd5, 0x0043, 0x012e, 0x015e, + 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, 0x2a3d, 0x2a5d, + 0x2a9d, 0x2acd, 0x2af1, 0x2b01, 0x2b03, 0x080c, 0x2bba, 0x11b0, + 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x1997, 0x2104, 0x7a38, + 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, + 0x200a, 0x2001, 0x198f, 0x2003, 0x0001, 0x0030, 0x080c, 0x2b27, + 0x2001, 0xffff, 0x080c, 0x29b8, 0x0005, 0x080c, 0x2b05, 0x05e0, + 0x2009, 0x1998, 0x2104, 0x8001, 0x200a, 0x080c, 0x2bba, 0x1178, + 0x7850, 0x9084, 0xefff, 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, + 0x0005, 0x0518, 0x2009, 0x1997, 0x2104, 0xc085, 0x200a, 0x2009, + 0x1994, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, + 0x2b0d, 0x00c0, 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, + 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2b95, + 0x2001, 0x1991, 0x2003, 0x0002, 0x0028, 0x2001, 0x198f, 0x2003, + 0x0003, 0x0010, 0x080c, 0x29da, 0x0005, 0x080c, 0x2b05, 0x0560, + 0x2009, 0x1998, 0x2104, 0x8001, 0x200a, 0x080c, 0x2bba, 0x1168, + 0x7850, 0x9084, 0xefff, 0x7852, 0x2001, 0x198f, 0x2003, 0x0003, + 0x2001, 0x1990, 0x2003, 0x0000, 0x00b8, 0x2009, 0x1998, 0x2104, + 0x9005, 0x1118, 0x080c, 0x2b4a, 0x0010, 0x080c, 0x2b1a, 0x080c, + 0x2b0d, 0x2009, 0x1994, 0x200b, 0x0000, 0x2001, 0x1991, 0x2003, + 0x0001, 0x080c, 0x29da, 0x0000, 0x0005, 0x04b9, 0x0508, 0x080c, + 0x2bba, 0x11b8, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x1995, + 0x2104, 0x8000, 0x200a, 0x9086, 0x0007, 0x0108, 0x0078, 0x2001, + 0x199a, 0x2003, 0x000a, 0x2009, 0x1997, 0x2104, 0xc0fd, 0x200a, + 0x0038, 0x0419, 0x2001, 0x1991, 0x2003, 0x0004, 0x080c, 0x2a05, + 0x0005, 0x0099, 0x0168, 0x080c, 0x2bba, 0x1138, 0x7850, 0x9084, + 0xefff, 0x7852, 0x080c, 0x29f1, 0x0018, 0x0079, 0x080c, 0x2a05, + 0x0005, 0x080c, 0x0dd5, 0x080c, 0x0dd5, 0x2009, 0x1999, 0x2104, + 0x8001, 0x200a, 0x090c, 0x2b66, 0x0005, 0x7a38, 0x9294, 0x0005, + 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, + 0x2b95, 0x0005, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2b78, 0x0005, 0x2009, + 0x1994, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, 0x0108, 0x0068, + 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x04d9, 0x7a38, 0x9294, 0x0005, + 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, + 0x2b95, 0x0005, 0x0086, 0x2001, 0x1997, 0x2004, 0x9084, 0x7fff, + 0x090c, 0x0dd5, 0x2009, 0x1996, 0x2144, 0x8846, 0x280a, 0x9844, + 0x0dd8, 0xd08c, 0x1120, 0xd084, 0x1120, 0x080c, 0x0dd5, 0x9006, + 0x0010, 0x2001, 0x0001, 0x00a1, 0x008e, 0x0005, 0x0006, 0x0156, + 0x2001, 0x198f, 0x20a9, 0x0009, 0x2003, 0x0000, 0x8000, 0x1f04, + 0x2b6c, 0x2001, 0x1996, 0x2003, 0x8000, 0x015e, 0x000e, 0x0005, + 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, + 0xfff9, 0x9085, 0x0004, 0x783a, 0x2009, 0x199c, 0x210c, 0x795a, + 0x0050, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0006, 0x783a, 0x2009, + 0x199d, 0x210c, 0x795a, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, + 0x9085, 0x0000, 0x0138, 0x7838, 0x9084, 0xfffa, 0x9085, 0x0004, + 0x783a, 0x0030, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0005, 0x783a, + 0x00fe, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0007, + 0x000e, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0009, + 0x000e, 0x0005, 0x0156, 0x20a9, 0x0064, 0x7820, 0x080c, 0x2c45, + 0xd09c, 0x1110, 0x1f04, 0x2bbd, 0x015e, 0x0005, 0x0126, 0x0016, + 0x0006, 0x2091, 0x8000, 0x7850, 0x9085, 0x0040, 0x7852, 0x7850, + 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2c45, 0x9085, 0x2000, 0x7852, + 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, 0x0007, 0x0090, + 0x9186, 0x0001, 0x1118, 0x783b, 0x0006, 0x0060, 0x9186, 0x0002, + 0x1118, 0x783b, 0x0005, 0x0030, 0x9186, 0x0003, 0x1118, 0x783b, + 0x0004, 0x0000, 0x0006, 0x1d04, 0x2bf3, 0x080c, 0x85b3, 0x1f04, + 0x2bf3, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x7852, 0x080c, + 0x2c45, 0x9085, 0x1000, 0x7852, 0x000e, 0x001e, 0x012e, 0x0005, + 0x7850, 0x9084, 0xffcf, 0x7852, 0x0005, 0x0006, 0x0156, 0x00f6, + 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd0ac, 0x1130, 0x7820, + 0xd0e4, 0x1140, 0x1f04, 0x2c17, 0x0028, 0x7854, 0xd08c, 0x1110, + 0x1f04, 0x2c1d, 0x00fe, 0x015e, 0x000e, 0x0005, 0x1d04, 0x2c26, + 0x080c, 0x85b3, 0x1f04, 0x2c26, 0x0005, 0x0006, 0x2001, 0x199b, + 0x2004, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, 0x2001, 0x199b, + 0x2004, 0x9086, 0x0001, 0x000e, 0x0005, 0x0006, 0x2001, 0x199b, + 0x2004, 0x9086, 0x0002, 0x000e, 0x0005, 0xa001, 0xa001, 0xa001, + 0xa001, 0xa001, 0x0005, 0x0006, 0x2001, 0x19a7, 0x2102, 0x000e, + 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, + 0x2104, 0x200b, 0x0080, 0xa001, 0xa001, 0x200a, 0x0005, 0x0036, + 0x0046, 0x2001, 0x0141, 0x200c, 0x918c, 0xff00, 0x9186, 0x2000, + 0x0118, 0x9186, 0x0100, 0x1588, 0x2009, 0x00a2, 0x080c, 0x0e51, + 0x2019, 0x0160, 0x2324, 0x2011, 0x0003, 0x2009, 0x0169, 0x2104, + 0x9084, 0x0007, 0x210c, 0x918c, 0x0007, 0x910e, 0x1db0, 0x9086, + 0x0003, 0x11b8, 0x2304, 0x9402, 0x02a0, 0x1d60, 0x8211, 0x1d68, + 0x84ff, 0x0170, 0x2001, 0x0141, 0x200c, 0x918c, 0xff00, 0x9186, + 0x0100, 0x0130, 0x2009, 0x180c, 0x2104, 0xc0dd, 0x200a, 0x0008, + 0x0419, 0x2009, 0x0000, 0x080c, 0x0e51, 0x004e, 0x003e, 0x0005, + 0x2001, 0x180c, 0x2004, 0xd0dc, 0x01b0, 0x2001, 0x0160, 0x2004, + 0x9005, 0x0140, 0x2001, 0x0141, 0x2004, 0x9084, 0xff00, 0x9086, + 0x0100, 0x1148, 0x0126, 0x2091, 0x8000, 0x0016, 0x0026, 0x0021, + 0x002e, 0x001e, 0x012e, 0x0005, 0x00c6, 0x2061, 0x0100, 0x6014, + 0x0006, 0x2001, 0x0161, 0x2003, 0x0000, 0x6017, 0x0018, 0xa001, + 0xa001, 0x602f, 0x0008, 0x6104, 0x918e, 0x0010, 0x6106, 0x918e, + 0x0010, 0x6106, 0x6017, 0x0040, 0x04b9, 0x001e, 0x9184, 0x0003, + 0x01e0, 0x0036, 0x0016, 0x2019, 0x0141, 0x6124, 0x918c, 0x0028, + 0x1120, 0x2304, 0x9084, 0x2800, 0x0dc0, 0x001e, 0x919c, 0xffe4, + 0x9184, 0x0001, 0x0118, 0x9385, 0x0009, 0x6016, 0x9184, 0x0002, + 0x0118, 0x9385, 0x0012, 0x6016, 0x003e, 0x2001, 0x180c, 0x200c, + 0xc1dc, 0x2102, 0x00ce, 0x0005, 0x0016, 0x0026, 0x080c, 0x73cd, + 0x0108, 0xc0bc, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, + 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, + 0x2114, 0x9294, 0x0001, 0x9285, 0x1000, 0x200a, 0x220a, 0x002e, + 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, + 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, + 0x2009, 0x0140, 0x2104, 0x1128, 0x080c, 0x73cd, 0x0110, 0xc0bc, + 0x0008, 0xc0bd, 0x200a, 0x001e, 0x000e, 0x0005, 0x2fa2, 0x2fa2, + 0x2dc6, 0x2dc6, 0x2dd2, 0x2dd2, 0x2dde, 0x2dde, 0x2dec, 0x2dec, + 0x2df8, 0x2df8, 0x2e06, 0x2e06, 0x2e14, 0x2e14, 0x2e26, 0x2e26, + 0x2e32, 0x2e32, 0x2e40, 0x2e40, 0x2e5e, 0x2e5e, 0x2e7e, 0x2e7e, + 0x2e4e, 0x2e4e, 0x2e6e, 0x2e6e, 0x2e8c, 0x2e8c, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e9e, 0x2e9e, + 0x2eaa, 0x2eaa, 0x2eb8, 0x2eb8, 0x2ec6, 0x2ec6, 0x2ed6, 0x2ed6, + 0x2ee4, 0x2ee4, 0x2ef4, 0x2ef4, 0x2f04, 0x2f04, 0x2f16, 0x2f16, + 0x2f24, 0x2f24, 0x2f34, 0x2f34, 0x2f56, 0x2f56, 0x2f78, 0x2f78, + 0x2f44, 0x2f44, 0x2f67, 0x2f67, 0x2f87, 0x2f87, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, + 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x2e24, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x248e, + 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x22a2, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22a2, + 0x080c, 0x248e, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22dd, 0x0804, 0x2f9a, + 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, + 0x080c, 0x248e, 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22a2, + 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22a2, 0x080c, 0x248e, + 0x080c, 0x22dd, 0x0804, 0x2f9a, 0xa001, 0x0cf0, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1380, + 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x248e, 0x080c, 0x1380, 0x0804, 0x2f9a, + 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, + 0x080c, 0x22a2, 0x080c, 0x1380, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x248e, + 0x080c, 0x1380, 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22a2, + 0x080c, 0x248e, 0x080c, 0x1380, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22a2, + 0x080c, 0x1380, 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1380, + 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x22a2, 0x080c, 0x248e, + 0x080c, 0x1380, 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, + 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x248e, 0x0804, 0x2f9a, + 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, + 0x080c, 0x294e, 0x080c, 0x22a2, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, + 0x080c, 0x22a2, 0x080c, 0x248e, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, + 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x248e, + 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x22a2, + 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x22a2, + 0x080c, 0x248e, 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, + 0x080c, 0x1380, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x248e, + 0x080c, 0x1380, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x22a2, + 0x080c, 0x1380, 0x0804, 0x2f9a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, 0x080c, 0x248e, + 0x080c, 0x1380, 0x080c, 0x22dd, 0x0804, 0x2f9a, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x294e, + 0x080c, 0x22a2, 0x080c, 0x248e, 0x080c, 0x1380, 0x0498, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2483, 0x080c, 0x1380, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2297, 0x080c, - 0x1380, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2483, 0x080c, 0x1380, 0x080c, - 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2297, 0x080c, 0x2483, 0x080c, - 0x1380, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2297, 0x080c, 0x1380, 0x080c, - 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x1380, 0x080c, 0x22d2, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2297, 0x080c, 0x2483, 0x080c, 0x1380, 0x080c, - 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x0804, 0x2f8f, 0x0106, + 0x294e, 0x080c, 0x22a2, 0x080c, 0x1380, 0x080c, 0x22dd, 0x0410, + 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, + 0x080c, 0x294e, 0x080c, 0x1380, 0x080c, 0x22dd, 0x0098, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2943, 0x080c, 0x2483, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, - 0x2297, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, 0x080c, - 0x2483, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, 0x22d2, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2943, 0x080c, 0x2483, 0x080c, 0x22d2, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, 0x080c, 0x22d2, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, 0x080c, 0x2483, 0x080c, - 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, 0x1380, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2943, 0x080c, 0x2483, 0x080c, 0x1380, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, 0x080c, 0x1380, 0x0804, - 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2943, 0x080c, 0x2483, 0x080c, 0x1380, 0x080c, - 0x22d2, 0x0804, 0x2f8f, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, 0x080c, - 0x2483, 0x080c, 0x1380, 0x0498, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, - 0x080c, 0x1380, 0x080c, 0x22d2, 0x0410, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, - 0x1380, 0x080c, 0x22d2, 0x0098, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2943, 0x080c, 0x2297, - 0x080c, 0x2483, 0x080c, 0x1380, 0x080c, 0x22d2, 0x0000, 0x015e, - 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x010e, 0x000d, - 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, 0x080c, 0x6939, 0x1904, - 0x30a8, 0x72dc, 0x2001, 0x197b, 0x2004, 0x9005, 0x1110, 0xd29c, - 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x30a8, 0x080c, 0x30ad, - 0x0804, 0x30a8, 0xd2cc, 0x1904, 0x30a8, 0x080c, 0x73a5, 0x1120, - 0x70af, 0xffff, 0x0804, 0x30a8, 0xd294, 0x0120, 0x70af, 0xffff, - 0x0804, 0x30a8, 0x080c, 0x3316, 0x0160, 0x080c, 0xd24a, 0x0128, - 0x2001, 0x1818, 0x203c, 0x0804, 0x3035, 0x70af, 0xffff, 0x0804, - 0x30a8, 0x2001, 0x1818, 0x203c, 0x7294, 0xd284, 0x0904, 0x3035, - 0xd28c, 0x1904, 0x3035, 0x0036, 0x73ac, 0x938e, 0xffff, 0x1110, - 0x2019, 0x0001, 0x8314, 0x92e0, 0x1c80, 0x2c04, 0x938c, 0x0001, - 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x970e, - 0x05d0, 0x908e, 0x0000, 0x05b8, 0x908e, 0x00ff, 0x1150, 0x7230, - 0xd284, 0x15b0, 0x7294, 0xc28d, 0x7296, 0x70af, 0xffff, 0x003e, - 0x04a0, 0x900e, 0x080c, 0x2840, 0x080c, 0x65a7, 0x1538, 0x9006, - 0xb8bb, 0x0520, 0xb8ac, 0x9005, 0x0148, 0x00c6, 0x2060, 0x080c, - 0x896a, 0x00ce, 0x090c, 0x8d0e, 0xb8af, 0x0000, 0x080c, 0x697b, - 0x1168, 0x7030, 0xd08c, 0x0130, 0xb800, 0xd0bc, 0x0138, 0x080c, - 0x6828, 0x0120, 0x080c, 0x30c6, 0x0148, 0x0028, 0x080c, 0x3206, - 0x080c, 0x30f2, 0x0118, 0x8318, 0x0804, 0x2fe2, 0x73ae, 0x0010, - 0x70af, 0xffff, 0x003e, 0x0804, 0x30a8, 0x9780, 0x3327, 0x203d, - 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, 0x70ac, 0x9096, 0xffff, - 0x1118, 0x900e, 0x28a8, 0x0050, 0x9812, 0x0220, 0x2008, 0x9802, - 0x20a8, 0x0020, 0x70af, 0xffff, 0x0804, 0x30a8, 0x2700, 0x0156, - 0x0016, 0x9106, 0x0904, 0x309d, 0xc484, 0x080c, 0x6608, 0x0148, - 0x080c, 0xd24a, 0x1904, 0x309d, 0x080c, 0x65a7, 0x1904, 0x30a5, - 0x0008, 0xc485, 0xb8bb, 0x0520, 0xb8ac, 0x9005, 0x0148, 0x00c6, - 0x2060, 0x080c, 0x896a, 0x00ce, 0x090c, 0x8d0e, 0xb8af, 0x0000, - 0x080c, 0x697b, 0x1130, 0x7030, 0xd08c, 0x01f8, 0xb800, 0xd0bc, - 0x11e0, 0x7294, 0xd28c, 0x0180, 0x080c, 0x697b, 0x9082, 0x0006, - 0x02e0, 0xd484, 0x1118, 0x080c, 0x65cc, 0x0028, 0x080c, 0x3292, - 0x01a0, 0x080c, 0x32bd, 0x0088, 0x080c, 0x3206, 0x080c, 0xd24a, - 0x1160, 0x080c, 0x30f2, 0x0188, 0x0040, 0x080c, 0xd24a, 0x1118, - 0x080c, 0x3292, 0x0110, 0x0451, 0x0140, 0x001e, 0x8108, 0x015e, - 0x1f04, 0x304e, 0x70af, 0xffff, 0x0018, 0x001e, 0x015e, 0x71ae, - 0x004e, 0x002e, 0x00ce, 0x00be, 0x0005, 0x00c6, 0x0016, 0x70af, - 0x0001, 0x2009, 0x007e, 0x080c, 0x65a7, 0x1168, 0xb813, 0x00ff, - 0xb817, 0xfffe, 0x080c, 0x3206, 0x04a9, 0x0128, 0x70dc, 0xc0bd, - 0x70de, 0x080c, 0xcf9b, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, - 0x00d6, 0x00c6, 0x2001, 0x184c, 0x2004, 0x9084, 0x00ff, 0xb842, - 0x080c, 0xaebf, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xcfc4, 0x6023, - 0x0001, 0x9006, 0x080c, 0x6544, 0x2001, 0x0000, 0x080c, 0x6558, - 0x0126, 0x2091, 0x8000, 0x70a8, 0x8000, 0x70aa, 0x012e, 0x2009, - 0x0004, 0x080c, 0xaeec, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, - 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x184c, - 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, 0xaebf, 0x0548, 0x2b00, - 0x6012, 0xb800, 0xc0c4, 0xb802, 0xb8a0, 0x9086, 0x007e, 0x0140, - 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, 0x31c1, - 0x080c, 0xcfc4, 0x6023, 0x0001, 0x9006, 0x080c, 0x6544, 0x2001, - 0x0002, 0x080c, 0x6558, 0x0126, 0x2091, 0x8000, 0x70a8, 0x8000, - 0x70aa, 0x012e, 0x2009, 0x0002, 0x080c, 0xaeec, 0x9085, 0x0001, - 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00b6, 0x00c6, 0x0026, - 0x2009, 0x0080, 0x080c, 0x65a7, 0x1140, 0xb813, 0x00ff, 0xb817, - 0xfffc, 0x0039, 0x0110, 0x70e3, 0xffff, 0x002e, 0x00ce, 0x00be, - 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x080c, 0xae1b, 0x01d0, - 0x2b00, 0x6012, 0x080c, 0xcfc4, 0x6023, 0x0001, 0x9006, 0x080c, - 0x6544, 0x2001, 0x0002, 0x080c, 0x6558, 0x0126, 0x2091, 0x8000, - 0x70e4, 0x8000, 0x70e6, 0x012e, 0x2009, 0x0002, 0x080c, 0xaeec, - 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, - 0x00d6, 0x0126, 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x65a7, - 0x11b8, 0xb813, 0x00ff, 0xb817, 0xfffd, 0xb8cf, 0x0004, 0x080c, - 0xae1b, 0x0170, 0x2b00, 0x6012, 0x6316, 0x6023, 0x0001, 0x620a, - 0x080c, 0xcfc4, 0x2009, 0x0022, 0x080c, 0xaeec, 0x9085, 0x0001, - 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, 0x0036, - 0x0026, 0x00b6, 0x21f0, 0x080c, 0x9289, 0x080c, 0x9209, 0x080c, - 0xacaf, 0x080c, 0xbd8a, 0x3e08, 0x2130, 0x81ff, 0x0120, 0x20a9, - 0x007e, 0x900e, 0x0018, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, - 0x6608, 0x1140, 0x9686, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1110, - 0x080c, 0x603d, 0x001e, 0x8108, 0x1f04, 0x31a6, 0x9686, 0x0001, - 0x190c, 0x32ea, 0x00be, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, - 0x0005, 0x00e6, 0x00c6, 0x0046, 0x0036, 0x0026, 0x0016, 0x00b6, - 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, 0x927e, - 0x0076, 0x2039, 0x0000, 0x080c, 0x9151, 0x2c08, 0x080c, 0xe30c, - 0x007e, 0x001e, 0xba10, 0xbb14, 0xbcc0, 0x080c, 0x603d, 0xba12, - 0xbb16, 0xbcc2, 0x00be, 0x001e, 0x002e, 0x003e, 0x004e, 0x00ce, - 0x00ee, 0x0005, 0x00e6, 0x0006, 0x00b6, 0x6010, 0x2058, 0xb8a0, - 0x00be, 0x9086, 0x0080, 0x0150, 0x2071, 0x1800, 0x70a8, 0x9005, - 0x0110, 0x8001, 0x70aa, 0x000e, 0x00ee, 0x0005, 0x2071, 0x1800, - 0x70e4, 0x9005, 0x0dc0, 0x8001, 0x70e6, 0x0ca8, 0xb800, 0xc08c, - 0xb802, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x0036, - 0x0026, 0x0016, 0x0156, 0x2178, 0x81ff, 0x1118, 0x20a9, 0x0001, - 0x0078, 0x080c, 0x56d8, 0xd0c4, 0x0140, 0xd0a4, 0x0130, 0x9006, - 0x2020, 0x2009, 0x002d, 0x080c, 0xe5cf, 0x20a9, 0x0800, 0x9016, - 0x0026, 0x928e, 0x007e, 0x0904, 0x3271, 0x928e, 0x007f, 0x0904, - 0x3271, 0x928e, 0x0080, 0x05e8, 0x9288, 0x1000, 0x210c, 0x81ff, - 0x05c0, 0x8fff, 0x1148, 0x2001, 0x198d, 0x0006, 0x2003, 0x0001, - 0x04f1, 0x000e, 0x2003, 0x0000, 0x00b6, 0x00c6, 0x2158, 0x2001, - 0x0001, 0x080c, 0x6945, 0x00ce, 0x00be, 0x2019, 0x0029, 0x080c, - 0x927e, 0x0076, 0x2039, 0x0000, 0x080c, 0x9151, 0x00b6, 0x00c6, - 0x0026, 0x2158, 0xba04, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1118, - 0xb807, 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, 0x9215, 0xba06, - 0x002e, 0x00ce, 0x00be, 0x0016, 0x2c08, 0x080c, 0xe30c, 0x001e, - 0x007e, 0x002e, 0x8210, 0x1f04, 0x3228, 0x015e, 0x001e, 0x002e, - 0x003e, 0x004e, 0x00be, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0046, - 0x0026, 0x0016, 0x080c, 0x56d8, 0xd0c4, 0x0140, 0xd0a4, 0x0130, - 0x9006, 0x2220, 0x2009, 0x0029, 0x080c, 0xe5cf, 0x001e, 0x002e, - 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x7294, 0x82ff, - 0x01e8, 0x080c, 0x6973, 0x11d0, 0x2100, 0x080c, 0x2873, 0x81ff, - 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1c80, 0x2c04, 0xd384, - 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x9116, - 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, 0x0c68, 0x9085, 0x0001, - 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0016, 0x00c6, 0x0126, - 0x2091, 0x8000, 0x0036, 0x2019, 0x0029, 0x00a9, 0x003e, 0x9180, - 0x1000, 0x2004, 0x9065, 0x0158, 0x0016, 0x00c6, 0x2061, 0x1aaf, - 0x001e, 0x6112, 0x080c, 0x31c1, 0x001e, 0x080c, 0x65cc, 0x012e, - 0x00ce, 0x001e, 0x0005, 0x0016, 0x0026, 0x2110, 0x080c, 0xa80e, - 0x080c, 0xe938, 0x002e, 0x001e, 0x0005, 0x2001, 0x1837, 0x2004, - 0xd0cc, 0x0005, 0x00c6, 0x00b6, 0x080c, 0x73a5, 0x1118, 0x20a9, - 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, 0x73a5, 0x1110, 0x900e, - 0x0010, 0x2009, 0x007e, 0x9180, 0x1000, 0x2004, 0x905d, 0x0130, - 0x86ff, 0x0110, 0xb800, 0xd0bc, 0x090c, 0x65cc, 0x8108, 0x1f04, - 0x32fb, 0x2061, 0x1800, 0x607f, 0x0000, 0x6080, 0x9084, 0x00ff, - 0x6082, 0x60b3, 0x0000, 0x00be, 0x00ce, 0x0005, 0x2001, 0x1869, - 0x2004, 0xd0bc, 0x0005, 0x2011, 0x1848, 0x2214, 0xd2ec, 0x0005, - 0x0026, 0x2011, 0x1867, 0x2214, 0xd2dc, 0x002e, 0x0005, 0x7eef, - 0x7de8, 0x7ce4, 0x80e2, 0x7be1, 0x80e0, 0x80dc, 0x80da, 0x7ad9, - 0x80d6, 0x80d5, 0x80d4, 0x80d3, 0x80d2, 0x80d1, 0x79ce, 0x78cd, - 0x80cc, 0x80cb, 0x80ca, 0x80c9, 0x80c7, 0x80c6, 0x77c5, 0x76c3, - 0x80bc, 0x80ba, 0x75b9, 0x80b6, 0x74b5, 0x73b4, 0x72b3, 0x80b2, - 0x80b1, 0x80ae, 0x71ad, 0x80ac, 0x70ab, 0x6faa, 0x6ea9, 0x80a7, - 0x6da6, 0x6ca5, 0x6ba3, 0x6a9f, 0x699e, 0x689d, 0x809b, 0x8098, - 0x6797, 0x6690, 0x658f, 0x6488, 0x6384, 0x6282, 0x8081, 0x8080, - 0x617c, 0x607a, 0x8079, 0x5f76, 0x8075, 0x8074, 0x8073, 0x8072, - 0x8071, 0x806e, 0x5e6d, 0x806c, 0x5d6b, 0x5c6a, 0x5b69, 0x8067, - 0x5a66, 0x5965, 0x5863, 0x575c, 0x565a, 0x5559, 0x8056, 0x8055, - 0x5454, 0x5353, 0x5252, 0x5151, 0x504e, 0x4f4d, 0x804c, 0x804b, - 0x4e4a, 0x4d49, 0x8047, 0x4c46, 0x8045, 0x8043, 0x803c, 0x803a, - 0x8039, 0x8036, 0x4b35, 0x8034, 0x4a33, 0x4932, 0x4831, 0x802e, - 0x472d, 0x462c, 0x452b, 0x442a, 0x4329, 0x4227, 0x8026, 0x8025, - 0x4123, 0x401f, 0x3f1e, 0x3e1d, 0x3d1b, 0x3c18, 0x8017, 0x8010, - 0x3b0f, 0x3a08, 0x8004, 0x3902, 0x8001, 0x8000, 0x8000, 0x3800, - 0x3700, 0x3600, 0x8000, 0x3500, 0x8000, 0x8000, 0x8000, 0x3400, - 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x3300, 0x3200, - 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x3100, 0x3000, - 0x8000, 0x8000, 0x2f00, 0x8000, 0x2e00, 0x2d00, 0x2c00, 0x8000, - 0x8000, 0x8000, 0x2b00, 0x8000, 0x2a00, 0x2900, 0x2800, 0x8000, - 0x2700, 0x2600, 0x2500, 0x2400, 0x2300, 0x2200, 0x8000, 0x8000, - 0x2100, 0x2000, 0x1f00, 0x1e00, 0x1d00, 0x1c00, 0x8000, 0x8000, - 0x1b00, 0x1a00, 0x8000, 0x1900, 0x8000, 0x8000, 0x8000, 0x8000, - 0x8000, 0x8000, 0x1800, 0x8000, 0x1700, 0x1600, 0x1500, 0x8000, - 0x1400, 0x1300, 0x1200, 0x1100, 0x1000, 0x0f00, 0x8000, 0x8000, - 0x0e00, 0x0d00, 0x0c00, 0x0b00, 0x0a00, 0x0900, 0x8000, 0x8000, - 0x0800, 0x0700, 0x8000, 0x0600, 0x8000, 0x8000, 0x8000, 0x0500, - 0x0400, 0x0300, 0x8000, 0x0200, 0x8000, 0x8000, 0x8000, 0x0100, - 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, + 0x294e, 0x080c, 0x22a2, 0x080c, 0x248e, 0x080c, 0x1380, 0x080c, + 0x22dd, 0x0000, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, + 0x000e, 0x010e, 0x000d, 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, + 0x080c, 0x6947, 0x1904, 0x30b3, 0x72dc, 0x2001, 0x197b, 0x2004, + 0x9005, 0x1110, 0xd29c, 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, + 0x30b3, 0x080c, 0x30b8, 0x0804, 0x30b3, 0xd2cc, 0x1904, 0x30b3, + 0x080c, 0x73b3, 0x1120, 0x70af, 0xffff, 0x0804, 0x30b3, 0xd294, + 0x0120, 0x70af, 0xffff, 0x0804, 0x30b3, 0x080c, 0x3321, 0x0160, + 0x080c, 0xd25a, 0x0128, 0x2001, 0x1818, 0x203c, 0x0804, 0x3040, + 0x70af, 0xffff, 0x0804, 0x30b3, 0x2001, 0x1818, 0x203c, 0x7294, + 0xd284, 0x0904, 0x3040, 0xd28c, 0x1904, 0x3040, 0x0036, 0x73ac, + 0x938e, 0xffff, 0x1110, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1c80, + 0x2c04, 0x938c, 0x0001, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, + 0x9084, 0x00ff, 0x970e, 0x05d0, 0x908e, 0x0000, 0x05b8, 0x908e, + 0x00ff, 0x1150, 0x7230, 0xd284, 0x15b0, 0x7294, 0xc28d, 0x7296, + 0x70af, 0xffff, 0x003e, 0x04a0, 0x900e, 0x080c, 0x284b, 0x080c, + 0x65b5, 0x1538, 0x9006, 0xb8bb, 0x0520, 0xb8ac, 0x9005, 0x0148, + 0x00c6, 0x2060, 0x080c, 0x8987, 0x00ce, 0x090c, 0x8d2d, 0xb8af, + 0x0000, 0x080c, 0x6989, 0x1168, 0x7030, 0xd08c, 0x0130, 0xb800, + 0xd0bc, 0x0138, 0x080c, 0x6836, 0x0120, 0x080c, 0x30d1, 0x0148, + 0x0028, 0x080c, 0x3211, 0x080c, 0x30fd, 0x0118, 0x8318, 0x0804, + 0x2fed, 0x73ae, 0x0010, 0x70af, 0xffff, 0x003e, 0x0804, 0x30b3, + 0x9780, 0x3332, 0x203d, 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, + 0x70ac, 0x9096, 0xffff, 0x1118, 0x900e, 0x28a8, 0x0050, 0x9812, + 0x0220, 0x2008, 0x9802, 0x20a8, 0x0020, 0x70af, 0xffff, 0x0804, + 0x30b3, 0x2700, 0x0156, 0x0016, 0x9106, 0x0904, 0x30a8, 0xc484, + 0x080c, 0x6616, 0x0148, 0x080c, 0xd25a, 0x1904, 0x30a8, 0x080c, + 0x65b5, 0x1904, 0x30b0, 0x0008, 0xc485, 0xb8bb, 0x0520, 0xb8ac, + 0x9005, 0x0148, 0x00c6, 0x2060, 0x080c, 0x8987, 0x00ce, 0x090c, + 0x8d2d, 0xb8af, 0x0000, 0x080c, 0x6989, 0x1130, 0x7030, 0xd08c, + 0x01f8, 0xb800, 0xd0bc, 0x11e0, 0x7294, 0xd28c, 0x0180, 0x080c, + 0x6989, 0x9082, 0x0006, 0x02e0, 0xd484, 0x1118, 0x080c, 0x65da, + 0x0028, 0x080c, 0x329d, 0x01a0, 0x080c, 0x32c8, 0x0088, 0x080c, + 0x3211, 0x080c, 0xd25a, 0x1160, 0x080c, 0x30fd, 0x0188, 0x0040, + 0x080c, 0xd25a, 0x1118, 0x080c, 0x329d, 0x0110, 0x0451, 0x0140, + 0x001e, 0x8108, 0x015e, 0x1f04, 0x3059, 0x70af, 0xffff, 0x0018, + 0x001e, 0x015e, 0x71ae, 0x004e, 0x002e, 0x00ce, 0x00be, 0x0005, + 0x00c6, 0x0016, 0x70af, 0x0001, 0x2009, 0x007e, 0x080c, 0x65b5, + 0x1168, 0xb813, 0x00ff, 0xb817, 0xfffe, 0x080c, 0x3211, 0x04a9, + 0x0128, 0x70dc, 0xc0bd, 0x70de, 0x080c, 0xcfab, 0x001e, 0x00ce, + 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x184c, 0x2004, + 0x9084, 0x00ff, 0xb842, 0x080c, 0xaead, 0x01d0, 0x2b00, 0x6012, + 0x080c, 0xcfd4, 0x6023, 0x0001, 0x9006, 0x080c, 0x6552, 0x2001, + 0x0000, 0x080c, 0x6566, 0x0126, 0x2091, 0x8000, 0x70a8, 0x8000, + 0x70aa, 0x012e, 0x2009, 0x0004, 0x080c, 0xaeda, 0x9085, 0x0001, + 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, + 0x00c6, 0x2001, 0x184c, 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, + 0xaead, 0x0548, 0x2b00, 0x6012, 0xb800, 0xc0c4, 0xb802, 0xb8a0, + 0x9086, 0x007e, 0x0140, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, + 0x1110, 0x080c, 0x31cc, 0x080c, 0xcfd4, 0x6023, 0x0001, 0x9006, + 0x080c, 0x6552, 0x2001, 0x0002, 0x080c, 0x6566, 0x0126, 0x2091, + 0x8000, 0x70a8, 0x8000, 0x70aa, 0x012e, 0x2009, 0x0002, 0x080c, + 0xaeda, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, + 0x00b6, 0x00c6, 0x0026, 0x2009, 0x0080, 0x080c, 0x65b5, 0x1140, + 0xb813, 0x00ff, 0xb817, 0xfffc, 0x0039, 0x0110, 0x70e3, 0xffff, + 0x002e, 0x00ce, 0x00be, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, + 0x080c, 0xae09, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xcfd4, 0x6023, + 0x0001, 0x9006, 0x080c, 0x6552, 0x2001, 0x0002, 0x080c, 0x6566, + 0x0126, 0x2091, 0x8000, 0x70e4, 0x8000, 0x70e6, 0x012e, 0x2009, + 0x0002, 0x080c, 0xaeda, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, + 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2009, + 0x007f, 0x080c, 0x65b5, 0x11b8, 0xb813, 0x00ff, 0xb817, 0xfffd, + 0xb8cf, 0x0004, 0x080c, 0xae09, 0x0170, 0x2b00, 0x6012, 0x6316, + 0x6023, 0x0001, 0x620a, 0x080c, 0xcfd4, 0x2009, 0x0022, 0x080c, + 0xaeda, 0x9085, 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, + 0x00c6, 0x0066, 0x0036, 0x0026, 0x00b6, 0x21f0, 0x080c, 0x92a8, + 0x080c, 0x9228, 0x080c, 0xac9d, 0x080c, 0xbd87, 0x3e08, 0x2130, + 0x81ff, 0x0120, 0x20a9, 0x007e, 0x900e, 0x0018, 0x20a9, 0x007f, + 0x900e, 0x0016, 0x080c, 0x6616, 0x1140, 0x9686, 0x0002, 0x1118, + 0xb800, 0xd0bc, 0x1110, 0x080c, 0x6047, 0x001e, 0x8108, 0x1f04, + 0x31b1, 0x9686, 0x0001, 0x190c, 0x32f5, 0x00be, 0x002e, 0x003e, + 0x006e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0046, 0x0036, + 0x0026, 0x0016, 0x00b6, 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, + 0x0029, 0x080c, 0x929d, 0x0076, 0x2039, 0x0000, 0x080c, 0x9170, + 0x2c08, 0x080c, 0xe326, 0x007e, 0x001e, 0xba10, 0xbb14, 0xbcc0, + 0x080c, 0x6047, 0xba12, 0xbb16, 0xbcc2, 0x00be, 0x001e, 0x002e, + 0x003e, 0x004e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x00b6, + 0x6010, 0x2058, 0xb8a0, 0x00be, 0x9086, 0x0080, 0x0150, 0x2071, + 0x1800, 0x70a8, 0x9005, 0x0110, 0x8001, 0x70aa, 0x000e, 0x00ee, + 0x0005, 0x2071, 0x1800, 0x70e4, 0x9005, 0x0dc0, 0x8001, 0x70e6, + 0x0ca8, 0xb800, 0xc08c, 0xb802, 0x0005, 0x00f6, 0x00e6, 0x00c6, + 0x00b6, 0x0046, 0x0036, 0x0026, 0x0016, 0x0156, 0x2178, 0x81ff, + 0x1118, 0x20a9, 0x0001, 0x0078, 0x080c, 0x56e2, 0xd0c4, 0x0140, + 0xd0a4, 0x0130, 0x9006, 0x2020, 0x2009, 0x002d, 0x080c, 0xe5e9, + 0x20a9, 0x0800, 0x9016, 0x0026, 0x928e, 0x007e, 0x0904, 0x327c, + 0x928e, 0x007f, 0x0904, 0x327c, 0x928e, 0x0080, 0x05e8, 0x9288, + 0x1000, 0x210c, 0x81ff, 0x05c0, 0x8fff, 0x1148, 0x2001, 0x198d, + 0x0006, 0x2003, 0x0001, 0x04f1, 0x000e, 0x2003, 0x0000, 0x00b6, + 0x00c6, 0x2158, 0x2001, 0x0001, 0x080c, 0x6953, 0x00ce, 0x00be, + 0x2019, 0x0029, 0x080c, 0x929d, 0x0076, 0x2039, 0x0000, 0x080c, + 0x9170, 0x00b6, 0x00c6, 0x0026, 0x2158, 0xba04, 0x9294, 0x00ff, + 0x9286, 0x0006, 0x1118, 0xb807, 0x0404, 0x0028, 0x2001, 0x0004, + 0x8007, 0x9215, 0xba06, 0x002e, 0x00ce, 0x00be, 0x0016, 0x2c08, + 0x080c, 0xe326, 0x001e, 0x007e, 0x002e, 0x8210, 0x1f04, 0x3233, + 0x015e, 0x001e, 0x002e, 0x003e, 0x004e, 0x00be, 0x00ce, 0x00ee, + 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, 0x080c, 0x56e2, 0xd0c4, + 0x0140, 0xd0a4, 0x0130, 0x9006, 0x2220, 0x2009, 0x0029, 0x080c, + 0xe5e9, 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x7294, 0x82ff, 0x01e8, 0x080c, 0x6981, 0x11d0, 0x2100, + 0x080c, 0x287e, 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, + 0x1c80, 0x2c04, 0xd384, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, + 0x9084, 0x00ff, 0x9116, 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, + 0x0c68, 0x9085, 0x0001, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, + 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x0036, 0x2019, 0x0029, + 0x00a9, 0x003e, 0x9180, 0x1000, 0x2004, 0x9065, 0x0158, 0x0016, + 0x00c6, 0x2061, 0x1aaf, 0x001e, 0x6112, 0x080c, 0x31cc, 0x001e, + 0x080c, 0x65da, 0x012e, 0x00ce, 0x001e, 0x0005, 0x0016, 0x0026, + 0x2110, 0x080c, 0xa7f8, 0x080c, 0xe952, 0x002e, 0x001e, 0x0005, + 0x2001, 0x1837, 0x2004, 0xd0cc, 0x0005, 0x00c6, 0x00b6, 0x080c, + 0x73b3, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, + 0x73b3, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x9180, 0x1000, + 0x2004, 0x905d, 0x0130, 0x86ff, 0x0110, 0xb800, 0xd0bc, 0x090c, + 0x65da, 0x8108, 0x1f04, 0x3306, 0x2061, 0x1800, 0x607f, 0x0000, + 0x6080, 0x9084, 0x00ff, 0x6082, 0x60b3, 0x0000, 0x00be, 0x00ce, + 0x0005, 0x2001, 0x1869, 0x2004, 0xd0bc, 0x0005, 0x2011, 0x1848, + 0x2214, 0xd2ec, 0x0005, 0x0026, 0x2011, 0x1867, 0x2214, 0xd2dc, + 0x002e, 0x0005, 0x7eef, 0x7de8, 0x7ce4, 0x80e2, 0x7be1, 0x80e0, + 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, 0x80d4, 0x80d3, 0x80d2, + 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, 0x80ca, 0x80c9, 0x80c7, + 0x80c6, 0x77c5, 0x76c3, 0x80bc, 0x80ba, 0x75b9, 0x80b6, 0x74b5, + 0x73b4, 0x72b3, 0x80b2, 0x80b1, 0x80ae, 0x71ad, 0x80ac, 0x70ab, + 0x6faa, 0x6ea9, 0x80a7, 0x6da6, 0x6ca5, 0x6ba3, 0x6a9f, 0x699e, + 0x689d, 0x809b, 0x8098, 0x6797, 0x6690, 0x658f, 0x6488, 0x6384, + 0x6282, 0x8081, 0x8080, 0x617c, 0x607a, 0x8079, 0x5f76, 0x8075, + 0x8074, 0x8073, 0x8072, 0x8071, 0x806e, 0x5e6d, 0x806c, 0x5d6b, + 0x5c6a, 0x5b69, 0x8067, 0x5a66, 0x5965, 0x5863, 0x575c, 0x565a, + 0x5559, 0x8056, 0x8055, 0x5454, 0x5353, 0x5252, 0x5151, 0x504e, + 0x4f4d, 0x804c, 0x804b, 0x4e4a, 0x4d49, 0x8047, 0x4c46, 0x8045, + 0x8043, 0x803c, 0x803a, 0x8039, 0x8036, 0x4b35, 0x8034, 0x4a33, + 0x4932, 0x4831, 0x802e, 0x472d, 0x462c, 0x452b, 0x442a, 0x4329, + 0x4227, 0x8026, 0x8025, 0x4123, 0x401f, 0x3f1e, 0x3e1d, 0x3d1b, + 0x3c18, 0x8017, 0x8010, 0x3b0f, 0x3a08, 0x8004, 0x3902, 0x8001, + 0x8000, 0x8000, 0x3800, 0x3700, 0x3600, 0x8000, 0x3500, 0x8000, + 0x8000, 0x8000, 0x3400, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x3300, 0x3200, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x3100, 0x3000, 0x8000, 0x8000, 0x2f00, 0x8000, 0x2e00, + 0x2d00, 0x2c00, 0x8000, 0x8000, 0x8000, 0x2b00, 0x8000, 0x2a00, + 0x2900, 0x2800, 0x8000, 0x2700, 0x2600, 0x2500, 0x2400, 0x2300, + 0x2200, 0x8000, 0x8000, 0x2100, 0x2000, 0x1f00, 0x1e00, 0x1d00, + 0x1c00, 0x8000, 0x8000, 0x1b00, 0x1a00, 0x8000, 0x1900, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x1800, 0x8000, 0x1700, + 0x1600, 0x1500, 0x8000, 0x1400, 0x1300, 0x1200, 0x1100, 0x1000, + 0x0f00, 0x8000, 0x8000, 0x0e00, 0x0d00, 0x0c00, 0x0b00, 0x0a00, + 0x0900, 0x8000, 0x8000, 0x0800, 0x0700, 0x8000, 0x0600, 0x8000, + 0x8000, 0x8000, 0x0500, 0x0400, 0x0300, 0x8000, 0x0200, 0x8000, + 0x8000, 0x8000, 0x0100, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, - 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x2071, - 0x189e, 0x7003, 0x0002, 0x9006, 0x7016, 0x701a, 0x704a, 0x704e, - 0x700e, 0x7042, 0x7046, 0x703b, 0x18ba, 0x703f, 0x18ba, 0x7007, - 0x0001, 0x080c, 0x1018, 0x090c, 0x0dd5, 0x2900, 0x706a, 0xa867, - 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x1018, 0x090c, 0x0dd5, 0x2900, - 0x706e, 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x189e, - 0x7004, 0x0002, 0x3456, 0x3457, 0x346a, 0x347e, 0x0005, 0x1004, - 0x3467, 0x0e04, 0x3467, 0x2079, 0x0000, 0x0126, 0x2091, 0x8000, - 0x700c, 0x9005, 0x1128, 0x700f, 0x0001, 0x012e, 0x0468, 0x0005, - 0x012e, 0x0ce8, 0x2079, 0x0000, 0x2061, 0x18b8, 0x2c4c, 0xa86c, - 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, 0x0904, 0x3552, 0x0005, - 0x7018, 0x2048, 0x2061, 0x1800, 0x701c, 0x0807, 0x7014, 0x2048, - 0xa864, 0x9094, 0x00ff, 0x9296, 0x0029, 0x1120, 0xaa78, 0xd2fc, - 0x0128, 0x0005, 0x9086, 0x0103, 0x0108, 0x0005, 0x2079, 0x0000, - 0x2061, 0x1800, 0x701c, 0x0807, 0x2061, 0x1800, 0x7880, 0x908a, - 0x0040, 0x1210, 0x61d0, 0x0042, 0x2100, 0x908a, 0x003f, 0x1a04, - 0x354f, 0x61d0, 0x0804, 0x34e4, 0x3526, 0x355e, 0x354f, 0x3568, - 0x3572, 0x3578, 0x357c, 0x358c, 0x3590, 0x35a6, 0x35ac, 0x35b2, - 0x35bd, 0x35c8, 0x35d7, 0x35e6, 0x35f4, 0x360b, 0x3626, 0x354f, - 0x36cf, 0x370d, 0x37b3, 0x37c4, 0x37e7, 0x354f, 0x354f, 0x354f, - 0x381f, 0x383b, 0x3844, 0x3873, 0x3879, 0x354f, 0x38bf, 0x354f, - 0x354f, 0x354f, 0x354f, 0x354f, 0x38ca, 0x38d3, 0x38db, 0x38dd, - 0x354f, 0x354f, 0x354f, 0x354f, 0x354f, 0x354f, 0x3909, 0x354f, - 0x354f, 0x354f, 0x354f, 0x354f, 0x3926, 0x3987, 0x354f, 0x354f, - 0x354f, 0x354f, 0x354f, 0x354f, 0x0002, 0x39b1, 0x39b4, 0x3a13, - 0x3a2c, 0x3a5c, 0x3cfa, 0x354f, 0x52b1, 0x354f, 0x354f, 0x354f, - 0x354f, 0x354f, 0x354f, 0x354f, 0x354f, 0x35a6, 0x35ac, 0x421b, - 0x56fc, 0x4239, 0x5340, 0x5391, 0x5494, 0x354f, 0x54f6, 0x5532, - 0x5563, 0x5667, 0x5590, 0x55e7, 0x354f, 0x423d, 0x43fe, 0x4414, - 0x4439, 0x449e, 0x4512, 0x4532, 0x45a9, 0x4605, 0x4661, 0x4664, - 0x4689, 0x4726, 0x478c, 0x4794, 0x48c6, 0x4a3e, 0x4a72, 0x4cd6, - 0x354f, 0x4cf4, 0x4d99, 0x4e7b, 0x4ed5, 0x354f, 0x4f8a, 0x354f, - 0x4ff0, 0x500b, 0x4794, 0x5251, 0x714c, 0x0000, 0x2021, 0x4000, - 0x080c, 0x4af0, 0x0126, 0x2091, 0x8000, 0x0e04, 0x3530, 0x0010, - 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, - 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, 0x7a8a, 0x7b8e, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x7007, - 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x2021, - 0x4001, 0x08b0, 0x2021, 0x4002, 0x0898, 0x2021, 0x4003, 0x0880, - 0x2021, 0x4005, 0x0868, 0x2021, 0x4006, 0x0850, 0x2039, 0x0001, - 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x4afd, - 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, - 0x0804, 0x4b00, 0x7984, 0x7888, 0x2114, 0x200a, 0x0804, 0x3526, - 0x7984, 0x2114, 0x0804, 0x3526, 0x20e1, 0x0000, 0x2099, 0x0021, - 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, 0x001f, 0x4003, 0x7984, - 0x7a88, 0x7b8c, 0x0804, 0x3526, 0x7884, 0x2060, 0x0804, 0x35d9, - 0x2009, 0x0003, 0x2011, 0x0002, 0x2019, 0x001e, 0x789b, 0x0137, - 0x7893, 0xffff, 0x2001, 0x188f, 0x2004, 0x9005, 0x0118, 0x7896, - 0x0804, 0x3526, 0x7897, 0x0001, 0x0804, 0x3526, 0x2039, 0x0001, - 0x7d98, 0x7c9c, 0x0804, 0x3562, 0x2039, 0x0001, 0x7d98, 0x7c9c, - 0x0804, 0x356c, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x355b, - 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x3562, 0x79a0, 0x9182, 0x0040, - 0x0210, 0x0804, 0x355b, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x356c, - 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x355b, 0x21e8, 0x7984, - 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, 0x0804, 0x3526, 0x2061, - 0x0800, 0xe10c, 0x9006, 0x2c15, 0x9200, 0x8c60, 0x8109, 0x1dd8, - 0x2010, 0x9005, 0x0904, 0x3526, 0x0804, 0x3555, 0x79a0, 0x9182, - 0x0040, 0x0210, 0x0804, 0x355b, 0x21e0, 0x20a9, 0x0001, 0x7984, - 0x2198, 0x4012, 0x0804, 0x3526, 0x2069, 0x1847, 0x7884, 0x7990, - 0x911a, 0x1a04, 0x355b, 0x8019, 0x0904, 0x355b, 0x684a, 0x6942, - 0x788c, 0x6852, 0x7888, 0x6856, 0x9006, 0x685a, 0x685e, 0x080c, - 0x76be, 0x0804, 0x3526, 0x2069, 0x1847, 0x7884, 0x7994, 0x911a, - 0x1a04, 0x355b, 0x8019, 0x0904, 0x355b, 0x684e, 0x6946, 0x788c, - 0x6862, 0x7888, 0x6866, 0x9006, 0x686a, 0x686e, 0x0126, 0x2091, - 0x8000, 0x080c, 0x69e1, 0x012e, 0x0804, 0x3526, 0x902e, 0x2520, - 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3558, 0x7984, 0x7b88, - 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, 0x20a1, 0x18a6, 0x4101, - 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, 0x0804, 0x3558, 0x2009, - 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4afd, 0x701f, - 0x364a, 0x0005, 0xa864, 0x2008, 0x9084, 0x00ff, 0x9096, 0x0011, - 0x0168, 0x9096, 0x0019, 0x0150, 0x9096, 0x0015, 0x0138, 0x9096, - 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, 0x3558, 0x810f, 0x918c, - 0x00ff, 0x0904, 0x3558, 0x7112, 0x7010, 0x8001, 0x0560, 0x7012, - 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, 0x0804, 0x3558, 0x2009, - 0x0020, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0x9290, - 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, - 0x9080, 0x0019, 0xaf60, 0x080c, 0x4afd, 0x701f, 0x3688, 0x0005, - 0xa864, 0x9084, 0x00ff, 0x9096, 0x0002, 0x0120, 0x9096, 0x000a, - 0x1904, 0x3558, 0x0888, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, - 0xa864, 0x9084, 0x00ff, 0x9096, 0x0029, 0x1160, 0xc2fd, 0xaa7a, - 0x080c, 0x6194, 0x0150, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, - 0x012e, 0x0050, 0x080c, 0x64bd, 0x1128, 0x7007, 0x0003, 0x701f, - 0x36b4, 0x0005, 0x080c, 0x6eb9, 0x0126, 0x2091, 0x8000, 0x20a9, - 0x0005, 0x20e1, 0x0001, 0x2099, 0x18a6, 0x400a, 0x2100, 0x9210, - 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, 0x9080, - 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, 0x0804, 0x4b00, 0x2091, - 0x8000, 0x7837, 0x4000, 0x7833, 0x0010, 0x7883, 0x4000, 0x7887, - 0x4953, 0x788b, 0x5020, 0x788f, 0x2020, 0x2009, 0x017f, 0x2104, - 0x7892, 0x3f00, 0x7896, 0x2061, 0x0100, 0x6200, 0x2061, 0x0200, - 0x603c, 0x8007, 0x9205, 0x789a, 0x2009, 0x04fd, 0x2104, 0x789e, - 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x0180, 0x2001, 0x1a18, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, - 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, - 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, 0x81ff, 0x1904, 0x3558, - 0x7984, 0x080c, 0x6608, 0x1904, 0x355b, 0x7e98, 0x9684, 0x3fff, - 0x9082, 0x4000, 0x1a04, 0x355b, 0x7c88, 0x7d8c, 0x080c, 0x676b, - 0x080c, 0x673a, 0x0000, 0x1518, 0x2061, 0x1cd0, 0x0126, 0x2091, - 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, - 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0150, 0x012e, 0x9ce0, - 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a04, 0x3558, 0x0c30, - 0x080c, 0xc77b, 0x012e, 0x0904, 0x3558, 0x0804, 0x3526, 0x900e, - 0x2001, 0x0005, 0x080c, 0x6eb9, 0x0126, 0x2091, 0x8000, 0x080c, - 0xce44, 0x080c, 0x6c86, 0x012e, 0x0804, 0x3526, 0x00a6, 0x2950, - 0xb198, 0x080c, 0x6608, 0x1904, 0x37a0, 0xb6a4, 0x9684, 0x3fff, - 0x9082, 0x4000, 0x16e8, 0xb49c, 0xb5a0, 0x080c, 0x676b, 0x080c, - 0x673a, 0x1520, 0x2061, 0x1cd0, 0x0126, 0x2091, 0x8000, 0x6000, - 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, - 0x1118, 0xa870, 0x9506, 0x0158, 0x012e, 0x9ce0, 0x0018, 0x2001, - 0x181a, 0x2004, 0x9c02, 0x2009, 0x000d, 0x12b0, 0x0c28, 0x080c, - 0xc77b, 0x012e, 0x2009, 0x0003, 0x0178, 0x00e0, 0x900e, 0x2001, - 0x0005, 0x080c, 0x6eb9, 0x0126, 0x2091, 0x8000, 0x080c, 0xce44, - 0x080c, 0x6c7a, 0x012e, 0x0070, 0xb097, 0x4005, 0xb19a, 0x0010, - 0xb097, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x2a48, - 0x00ae, 0x0005, 0xb097, 0x4000, 0x9006, 0x918d, 0x0001, 0x2008, - 0x2a48, 0x00ae, 0x0005, 0x81ff, 0x1904, 0x3558, 0x080c, 0x4acb, - 0x0904, 0x355b, 0x080c, 0x66cf, 0x0904, 0x3558, 0x080c, 0x6771, - 0x0904, 0x3558, 0x0804, 0x4529, 0x81ff, 0x1904, 0x3558, 0x080c, - 0x4ae7, 0x0904, 0x355b, 0x080c, 0x67ff, 0x0904, 0x3558, 0x2019, - 0x0005, 0x79a8, 0x080c, 0x678c, 0x0904, 0x3558, 0x7888, 0x908a, - 0x1000, 0x1a04, 0x355b, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, - 0x84ea, 0x7984, 0xd184, 0x1904, 0x3526, 0x0804, 0x4529, 0x0126, - 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, 0x0001, 0x0450, 0x2029, - 0x07ff, 0x645c, 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, 0x6608, - 0x11d8, 0x080c, 0x67ff, 0x1128, 0x2009, 0x0002, 0x62c0, 0x2518, - 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, 0x678c, 0x1118, 0x2009, - 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, 0x1270, 0x8003, 0x800b, - 0x810b, 0x9108, 0x080c, 0x84ea, 0x8529, 0x1ae0, 0x012e, 0x0804, - 0x3526, 0x012e, 0x0804, 0x3558, 0x012e, 0x0804, 0x355b, 0x080c, - 0x4acb, 0x0904, 0x355b, 0x080c, 0x66cf, 0x0904, 0x3558, 0xbaa0, - 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, 0x927e, 0x0076, 0x903e, - 0x080c, 0x9151, 0x900e, 0x080c, 0xe30c, 0x007e, 0x00ce, 0x080c, - 0x676b, 0x0804, 0x3526, 0x080c, 0x4acb, 0x0904, 0x355b, 0x080c, - 0x676b, 0x2208, 0x0804, 0x3526, 0x0156, 0x00d6, 0x00e6, 0x2069, - 0x1910, 0x6810, 0x6914, 0x910a, 0x1208, 0x900e, 0x6816, 0x9016, - 0x901e, 0x20a9, 0x007e, 0x2069, 0x1000, 0x2d04, 0x905d, 0x0118, - 0xb84c, 0x0059, 0x9210, 0x8d68, 0x1f04, 0x3855, 0x2300, 0x9218, - 0x00ee, 0x00de, 0x015e, 0x0804, 0x3526, 0x00f6, 0x0016, 0x907d, - 0x0138, 0x9006, 0x8000, 0x2f0c, 0x81ff, 0x0110, 0x2178, 0x0cd0, - 0x001e, 0x00fe, 0x0005, 0x2069, 0x1910, 0x6910, 0x62bc, 0x0804, - 0x3526, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3558, 0x0126, - 0x2091, 0x8000, 0x080c, 0x56ec, 0x0128, 0x2009, 0x0007, 0x012e, - 0x0804, 0x3558, 0x012e, 0x615c, 0x9190, 0x3327, 0x2215, 0x9294, - 0x00ff, 0x637c, 0x83ff, 0x0108, 0x6280, 0x67dc, 0x97c4, 0x000a, - 0x98c6, 0x000a, 0x1118, 0x2031, 0x0001, 0x00e8, 0x97c4, 0x0022, - 0x98c6, 0x0022, 0x1118, 0x2031, 0x0003, 0x00a8, 0x97c4, 0x0012, - 0x98c6, 0x0012, 0x1118, 0x2031, 0x0002, 0x0068, 0x080c, 0x73a5, - 0x1118, 0x2031, 0x0004, 0x0038, 0xd79c, 0x0120, 0x2009, 0x0005, - 0x0804, 0x3558, 0x9036, 0x7e9a, 0x7f9e, 0x0804, 0x3526, 0x614c, - 0x6250, 0x2019, 0x1985, 0x231c, 0x2001, 0x1986, 0x2004, 0x789a, - 0x0804, 0x3526, 0x0126, 0x2091, 0x8000, 0x6138, 0x623c, 0x6340, - 0x012e, 0x0804, 0x3526, 0x080c, 0x4ae7, 0x0904, 0x355b, 0xba44, - 0xbb38, 0x0804, 0x3526, 0x080c, 0x0dd5, 0x080c, 0x4ae7, 0x2110, - 0x0904, 0x355b, 0xb804, 0x908c, 0x00ff, 0x918e, 0x0006, 0x0140, - 0x9084, 0xff00, 0x9086, 0x0600, 0x2009, 0x0009, 0x1904, 0x3558, - 0x0126, 0x2091, 0x8000, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, - 0xa80e, 0x080c, 0x927e, 0x0076, 0x903e, 0x080c, 0x9151, 0x900e, - 0x080c, 0xe30c, 0x007e, 0x00ce, 0xb807, 0x0407, 0x012e, 0x0804, - 0x3526, 0x614c, 0x6250, 0x7884, 0x604e, 0x7b88, 0x6352, 0x2069, - 0x1847, 0x831f, 0x9305, 0x6816, 0x788c, 0x2069, 0x1985, 0x2d1c, - 0x206a, 0x7e98, 0x9682, 0x0014, 0x1210, 0x2031, 0x07d0, 0x2069, - 0x1986, 0x2d04, 0x266a, 0x789a, 0x0804, 0x3526, 0x0126, 0x2091, - 0x8000, 0x7884, 0x603a, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, 0x2009, - 0x199c, 0x200a, 0x78ac, 0x2011, 0x199d, 0x2012, 0x2069, 0x0100, - 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, 0x6a5a, 0x0010, 0x210c, - 0x695a, 0x00de, 0x7884, 0xd0b4, 0x0120, 0x3b00, 0x9084, 0xff3f, - 0x20d8, 0x7888, 0x603e, 0x2011, 0x0114, 0x220c, 0x7888, 0xd08c, - 0x0118, 0x918d, 0x0080, 0x0010, 0x918c, 0xff7f, 0x2112, 0x788c, - 0x6042, 0x9084, 0x0020, 0x0130, 0x78b4, 0x6046, 0x9084, 0x0001, - 0x090c, 0x421b, 0x6040, 0xd0cc, 0x0120, 0x78b0, 0x2011, 0x0114, - 0x2012, 0x012e, 0x0804, 0x3526, 0x00f6, 0x2079, 0x1800, 0x7a38, - 0xa898, 0x9084, 0xfebf, 0x9215, 0xa89c, 0x9084, 0xfebf, 0x8002, - 0x9214, 0x7838, 0x9084, 0x0140, 0x9215, 0x7a3a, 0xa897, 0x4000, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x00fe, 0x0005, 0x7898, - 0x9005, 0x01a8, 0x7888, 0x9025, 0x0904, 0x355b, 0x788c, 0x902d, - 0x0904, 0x355b, 0x900e, 0x080c, 0x6608, 0x1120, 0xba44, 0xbb38, - 0xbc46, 0xbd3a, 0x9186, 0x07ff, 0x0190, 0x8108, 0x0ca0, 0x080c, - 0x4ae7, 0x0904, 0x355b, 0x7888, 0x900d, 0x0904, 0x355b, 0x788c, - 0x9005, 0x0904, 0x355b, 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, - 0x3526, 0x2011, 0xbc09, 0x0010, 0x2011, 0xbc05, 0x080c, 0x56ec, - 0x1904, 0x3558, 0x00c6, 0x2061, 0x0100, 0x7984, 0x9186, 0x00ff, - 0x1130, 0x2001, 0x1818, 0x2004, 0x9085, 0xff00, 0x0088, 0x9182, - 0x007f, 0x16e0, 0x9188, 0x3327, 0x210d, 0x918c, 0x00ff, 0x2001, - 0x1818, 0x2004, 0x0026, 0x9116, 0x002e, 0x0580, 0x810f, 0x9105, - 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0xae1b, 0x000e, 0x0510, - 0x602e, 0x620a, 0x7984, 0x00b6, 0x080c, 0x65ad, 0x2b08, 0x00be, - 0x1500, 0x6112, 0x6023, 0x0001, 0x080c, 0x4ab4, 0x01d0, 0x9006, - 0xa866, 0x7007, 0x0003, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x701f, - 0x3a0c, 0x2900, 0x6016, 0x2009, 0x0032, 0x080c, 0xaeec, 0x012e, - 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x3558, 0x00ce, 0x0804, - 0x355b, 0x080c, 0xae71, 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, - 0x3558, 0x0804, 0x3526, 0x2061, 0x1a70, 0x0126, 0x2091, 0x8000, - 0x6000, 0xd084, 0x0170, 0x6104, 0x6208, 0x2061, 0x1800, 0x6354, - 0x6074, 0x789a, 0x60c0, 0x789e, 0x60bc, 0x78aa, 0x012e, 0x0804, - 0x3526, 0x900e, 0x2110, 0x0c88, 0x81ff, 0x1904, 0x3558, 0x080c, - 0x73a5, 0x0904, 0x3558, 0x0126, 0x2091, 0x8000, 0x6254, 0x6074, - 0x9202, 0x0248, 0x9085, 0x0001, 0x080c, 0x28a9, 0x080c, 0x5906, - 0x012e, 0x0804, 0x3526, 0x012e, 0x0804, 0x355b, 0x0006, 0x0016, - 0x00c6, 0x00e6, 0x2001, 0x19a8, 0x2070, 0x2061, 0x1847, 0x6008, - 0x2072, 0x900e, 0x2011, 0x1400, 0x080c, 0x8f51, 0x7206, 0x00ee, - 0x00ce, 0x001e, 0x000e, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, - 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x3528, 0x7884, 0xd0fc, - 0x0148, 0x2001, 0x002a, 0x2004, 0x9082, 0x00e1, 0x0288, 0x012e, - 0x0804, 0x355b, 0x2001, 0x002a, 0x2004, 0x2069, 0x1847, 0x6908, - 0x9102, 0x1230, 0x012e, 0x0804, 0x355b, 0x012e, 0x0804, 0x3558, - 0x080c, 0xaddb, 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x3ad7, 0x00c6, - 0x080c, 0x4ab4, 0x00ce, 0x0d88, 0xa867, 0x0000, 0x7884, 0xa80a, - 0x7898, 0xa80e, 0x789c, 0xa812, 0x2001, 0x002e, 0x2004, 0xa81a, - 0x2001, 0x002f, 0x2004, 0xa81e, 0x2001, 0x0030, 0x2004, 0xa822, - 0x2001, 0x0031, 0x2004, 0xa826, 0x2001, 0x0034, 0x2004, 0xa82a, - 0x2001, 0x0035, 0x2004, 0xa82e, 0x2001, 0x002a, 0x2004, 0x9080, - 0x0003, 0x9084, 0x00fc, 0x8004, 0xa816, 0x080c, 0x3c5d, 0x0928, - 0x7014, 0x2048, 0xad2c, 0xac28, 0xab1c, 0xaa18, 0xa930, 0xa808, - 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, - 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, - 0x4afd, 0x701f, 0x3b9a, 0x7023, 0x0001, 0x012e, 0x0005, 0x0046, - 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, - 0x080c, 0x3a46, 0x2001, 0x199e, 0x2003, 0x0000, 0x2021, 0x000a, - 0x2061, 0x0100, 0x6104, 0x0016, 0x60bb, 0x0000, 0x60bf, 0x32e1, - 0x60bf, 0x0012, 0x080c, 0x3ccc, 0x080c, 0x3c8b, 0x00f6, 0x00e6, - 0x0086, 0x2940, 0x2071, 0x1a65, 0x2079, 0x0090, 0x00d6, 0x2069, - 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, 0x0035, 0x2004, 0x780e, - 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, - 0x405f, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3f8c, 0x080c, 0x3e91, - 0x05b8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1db8, 0x080c, - 0x40d3, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, - 0x1560, 0x2071, 0x0200, 0x7037, 0x0000, 0x7050, 0x9084, 0xff00, - 0x9086, 0x3200, 0x1510, 0x7037, 0x0001, 0x7050, 0x9084, 0xff00, - 0x9086, 0xe100, 0x11d0, 0x7037, 0x0000, 0x7054, 0x7037, 0x0000, - 0x715c, 0x9106, 0x1190, 0x2001, 0x1820, 0x2004, 0x9106, 0x1168, - 0x00c6, 0x2061, 0x0100, 0x6024, 0x9084, 0x1e00, 0x00ce, 0x0138, - 0x080c, 0x3e9b, 0x080c, 0x3c86, 0x0058, 0x080c, 0x3c86, 0x080c, - 0x3ff7, 0x080c, 0x3f82, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, - 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, - 0x001e, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x60bb, 0x0000, - 0x60bf, 0x0108, 0x60bf, 0x0012, 0x2001, 0x0004, 0x200c, 0x918c, - 0xfffd, 0x2102, 0x080c, 0x12ed, 0x2009, 0x0028, 0x080c, 0x23d4, - 0x2001, 0x0227, 0x200c, 0x2102, 0x00fe, 0x00ee, 0x00de, 0x00ce, - 0x00be, 0x00ae, 0x009e, 0x008e, 0x004e, 0x2001, 0x199e, 0x2004, - 0x9005, 0x1118, 0x012e, 0x0804, 0x3526, 0x012e, 0x2021, 0x400c, - 0x0804, 0x3528, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, - 0x0086, 0x0096, 0x00d6, 0x0156, 0x7014, 0x2048, 0x7020, 0x20a8, - 0x8000, 0x7022, 0xa804, 0x9005, 0x0904, 0x3bf6, 0x2048, 0x1f04, - 0x3baa, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0xa930, - 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x0096, - 0x7014, 0x2048, 0xa864, 0x009e, 0x9086, 0x0103, 0x0170, 0x8906, - 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, - 0x080c, 0x4afd, 0x701f, 0x3b9a, 0x00b0, 0x8906, 0x8006, 0x8007, - 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, - 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0f7c, 0x000e, 0x080c, - 0x4b00, 0x701f, 0x3b9a, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, - 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x7014, 0x2048, - 0xa864, 0x9086, 0x0103, 0x1118, 0x701f, 0x3c5b, 0x0450, 0x7014, - 0x2048, 0xa868, 0xc0fd, 0xa86a, 0x2009, 0x007f, 0x080c, 0x65a7, - 0x0110, 0x9006, 0x0030, 0xb813, 0x00ff, 0xb817, 0xfffd, 0x080c, - 0xd013, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, - 0x003e, 0x002e, 0x001e, 0x0904, 0x3558, 0x0016, 0x0026, 0x0036, - 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, 0x0156, 0x701f, - 0x3c2d, 0x7007, 0x0003, 0x0804, 0x3beb, 0xa830, 0x9086, 0x0100, - 0x2021, 0x400c, 0x0904, 0x3528, 0x0076, 0xad10, 0xac0c, 0xab24, - 0xaa20, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, + 0x8000, 0x8000, 0x2071, 0x189e, 0x7003, 0x0002, 0x9006, 0x7016, + 0x701a, 0x704a, 0x704e, 0x700e, 0x7042, 0x7046, 0x703b, 0x18ba, + 0x703f, 0x18ba, 0x7007, 0x0001, 0x080c, 0x1018, 0x090c, 0x0dd5, + 0x2900, 0x706a, 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x1018, + 0x090c, 0x0dd5, 0x2900, 0x706e, 0xa867, 0x0002, 0xa8ab, 0xdcb0, + 0x0005, 0x2071, 0x189e, 0x7004, 0x0002, 0x3461, 0x3462, 0x3475, + 0x3489, 0x0005, 0x1004, 0x3472, 0x0e04, 0x3472, 0x2079, 0x0000, + 0x0126, 0x2091, 0x8000, 0x700c, 0x9005, 0x1128, 0x700f, 0x0001, + 0x012e, 0x0468, 0x0005, 0x012e, 0x0ce8, 0x2079, 0x0000, 0x2061, + 0x18b8, 0x2c4c, 0xa86c, 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, + 0x0904, 0x355d, 0x0005, 0x7018, 0x2048, 0x2061, 0x1800, 0x701c, + 0x0807, 0x7014, 0x2048, 0xa864, 0x9094, 0x00ff, 0x9296, 0x0029, + 0x1120, 0xaa78, 0xd2fc, 0x0128, 0x0005, 0x9086, 0x0103, 0x0108, + 0x0005, 0x2079, 0x0000, 0x2061, 0x1800, 0x701c, 0x0807, 0x2061, + 0x1800, 0x7880, 0x908a, 0x0040, 0x1210, 0x61d0, 0x0042, 0x2100, + 0x908a, 0x003f, 0x1a04, 0x355a, 0x61d0, 0x0804, 0x34ef, 0x3531, + 0x3569, 0x355a, 0x3573, 0x357d, 0x3583, 0x3587, 0x3597, 0x359b, + 0x35b1, 0x35b7, 0x35bd, 0x35c8, 0x35d3, 0x35e2, 0x35f1, 0x35ff, + 0x3616, 0x3631, 0x355a, 0x36da, 0x3718, 0x37be, 0x37cf, 0x37f2, + 0x355a, 0x355a, 0x355a, 0x382a, 0x3846, 0x384f, 0x387e, 0x3884, + 0x355a, 0x38ca, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x38d5, + 0x38de, 0x38e6, 0x38e8, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, + 0x355a, 0x3914, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x3931, + 0x3992, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x0002, + 0x39bc, 0x39bf, 0x3a1e, 0x3a37, 0x3a67, 0x3d05, 0x355a, 0x52bb, + 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, 0x355a, + 0x35b1, 0x35b7, 0x4226, 0x5706, 0x4244, 0x534a, 0x539b, 0x549e, + 0x355a, 0x5500, 0x553c, 0x556d, 0x5671, 0x559a, 0x55f1, 0x355a, + 0x4248, 0x4409, 0x441f, 0x4444, 0x44a9, 0x451d, 0x453d, 0x45b4, + 0x4610, 0x466c, 0x466f, 0x4694, 0x4730, 0x4796, 0x479e, 0x48d0, + 0x4a48, 0x4a7c, 0x4ce0, 0x355a, 0x4cfe, 0x4da3, 0x4e85, 0x4edf, + 0x355a, 0x4f94, 0x355a, 0x4ffa, 0x5015, 0x479e, 0x525b, 0x714c, + 0x0000, 0x2021, 0x4000, 0x080c, 0x4afa, 0x0126, 0x2091, 0x8000, + 0x0e04, 0x353b, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, + 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, + 0x7a8a, 0x7b8e, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x119b, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, + 0x012e, 0x0005, 0x2021, 0x4001, 0x08b0, 0x2021, 0x4002, 0x0898, + 0x2021, 0x4003, 0x0880, 0x2021, 0x4005, 0x0868, 0x2021, 0x4006, + 0x0850, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, + 0x7990, 0x0804, 0x4b07, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, + 0x7a8c, 0x7884, 0x7990, 0x0804, 0x4b0a, 0x7984, 0x7888, 0x2114, + 0x200a, 0x0804, 0x3531, 0x7984, 0x2114, 0x0804, 0x3531, 0x20e1, + 0x0000, 0x2099, 0x0021, 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, + 0x001f, 0x4003, 0x7984, 0x7a88, 0x7b8c, 0x0804, 0x3531, 0x7884, + 0x2060, 0x0804, 0x35e4, 0x2009, 0x0003, 0x2011, 0x0003, 0x2019, + 0x0002, 0x789b, 0x0137, 0x7893, 0xffff, 0x2001, 0x188f, 0x2004, + 0x9005, 0x0118, 0x7896, 0x0804, 0x3531, 0x7897, 0x0001, 0x0804, + 0x3531, 0x2039, 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x356d, 0x2039, + 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x3577, 0x79a0, 0x9182, 0x0040, + 0x0210, 0x0804, 0x3566, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x356d, + 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x3566, 0x2138, 0x7d98, + 0x7c9c, 0x0804, 0x3577, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, + 0x3566, 0x21e8, 0x7984, 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, + 0x0804, 0x3531, 0x2061, 0x0800, 0xe10c, 0x9006, 0x2c15, 0x9200, + 0x8c60, 0x8109, 0x1dd8, 0x2010, 0x9005, 0x0904, 0x3531, 0x0804, + 0x3560, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x3566, 0x21e0, + 0x20a9, 0x0001, 0x7984, 0x2198, 0x4012, 0x0804, 0x3531, 0x2069, + 0x1847, 0x7884, 0x7990, 0x911a, 0x1a04, 0x3566, 0x8019, 0x0904, + 0x3566, 0x684a, 0x6942, 0x788c, 0x6852, 0x7888, 0x6856, 0x9006, + 0x685a, 0x685e, 0x080c, 0x76ca, 0x0804, 0x3531, 0x2069, 0x1847, + 0x7884, 0x7994, 0x911a, 0x1a04, 0x3566, 0x8019, 0x0904, 0x3566, + 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, 0x6866, 0x9006, 0x686a, + 0x686e, 0x0126, 0x2091, 0x8000, 0x080c, 0x69ef, 0x012e, 0x0804, + 0x3531, 0x902e, 0x2520, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, + 0x3563, 0x7984, 0x7b88, 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, + 0x20a1, 0x18a6, 0x4101, 0x080c, 0x4abe, 0x1120, 0x2009, 0x0002, + 0x0804, 0x3563, 0x2009, 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, + 0x080c, 0x4b07, 0x701f, 0x3655, 0x0005, 0xa864, 0x2008, 0x9084, + 0x00ff, 0x9096, 0x0011, 0x0168, 0x9096, 0x0019, 0x0150, 0x9096, + 0x0015, 0x0138, 0x9096, 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, + 0x3563, 0x810f, 0x918c, 0x00ff, 0x0904, 0x3563, 0x7112, 0x7010, + 0x8001, 0x0560, 0x7012, 0x080c, 0x4abe, 0x1120, 0x2009, 0x0002, + 0x0804, 0x3563, 0x2009, 0x0020, 0x7068, 0x2040, 0xa28c, 0xa390, + 0xa494, 0xa598, 0x9290, 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, + 0x95a9, 0x0000, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4b07, + 0x701f, 0x3693, 0x0005, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0002, + 0x0120, 0x9096, 0x000a, 0x1904, 0x3563, 0x0888, 0x7014, 0x2048, + 0xa868, 0xc0fd, 0xa86a, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0029, + 0x1160, 0xc2fd, 0xaa7a, 0x080c, 0x619e, 0x0150, 0x0126, 0x2091, + 0x8000, 0xa87a, 0xa982, 0x012e, 0x0050, 0x080c, 0x64cb, 0x1128, + 0x7007, 0x0003, 0x701f, 0x36bf, 0x0005, 0x080c, 0x6ec7, 0x0126, + 0x2091, 0x8000, 0x20a9, 0x0005, 0x20e1, 0x0001, 0x2099, 0x18a6, + 0x400a, 0x2100, 0x9210, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, + 0x0000, 0xa85c, 0x9080, 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, + 0x0804, 0x4b0a, 0x2091, 0x8000, 0x7837, 0x4000, 0x7833, 0x0010, + 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, 0x5020, 0x788f, 0x2020, + 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, 0x7896, 0x2061, 0x0100, + 0x6200, 0x2061, 0x0200, 0x603c, 0x8007, 0x9205, 0x789a, 0x2009, + 0x04fd, 0x2104, 0x789e, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, 0x1a18, 0x2004, 0x9005, + 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, + 0x2003, 0x0002, 0x2003, 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, + 0x81ff, 0x1904, 0x3563, 0x7984, 0x080c, 0x6616, 0x1904, 0x3566, + 0x7e98, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1a04, 0x3566, 0x7c88, + 0x7d8c, 0x080c, 0x6779, 0x080c, 0x6748, 0x0000, 0x1518, 0x2061, + 0x1cd0, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, + 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, + 0x0150, 0x012e, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, + 0x1a04, 0x3563, 0x0c30, 0x080c, 0xc77b, 0x012e, 0x0904, 0x3563, + 0x0804, 0x3531, 0x900e, 0x2001, 0x0005, 0x080c, 0x6ec7, 0x0126, + 0x2091, 0x8000, 0x080c, 0xce54, 0x080c, 0x6c94, 0x012e, 0x0804, + 0x3531, 0x00a6, 0x2950, 0xb198, 0x080c, 0x6616, 0x1904, 0x37ab, + 0xb6a4, 0x9684, 0x3fff, 0x9082, 0x4000, 0x16e8, 0xb49c, 0xb5a0, + 0x080c, 0x6779, 0x080c, 0x6748, 0x1520, 0x2061, 0x1cd0, 0x0126, + 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, + 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0158, 0x012e, + 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, 0x2009, 0x000d, + 0x12b0, 0x0c28, 0x080c, 0xc77b, 0x012e, 0x2009, 0x0003, 0x0178, + 0x00e0, 0x900e, 0x2001, 0x0005, 0x080c, 0x6ec7, 0x0126, 0x2091, + 0x8000, 0x080c, 0xce54, 0x080c, 0x6c88, 0x012e, 0x0070, 0xb097, + 0x4005, 0xb19a, 0x0010, 0xb097, 0x4006, 0x900e, 0x9085, 0x0001, + 0x2001, 0x0030, 0x2a48, 0x00ae, 0x0005, 0xb097, 0x4000, 0x9006, + 0x918d, 0x0001, 0x2008, 0x2a48, 0x00ae, 0x0005, 0x81ff, 0x1904, + 0x3563, 0x080c, 0x4ad5, 0x0904, 0x3566, 0x080c, 0x66dd, 0x0904, + 0x3563, 0x080c, 0x677f, 0x0904, 0x3563, 0x0804, 0x4534, 0x81ff, + 0x1904, 0x3563, 0x080c, 0x4af1, 0x0904, 0x3566, 0x080c, 0x680d, + 0x0904, 0x3563, 0x2019, 0x0005, 0x79a8, 0x080c, 0x679a, 0x0904, + 0x3563, 0x7888, 0x908a, 0x1000, 0x1a04, 0x3566, 0x8003, 0x800b, + 0x810b, 0x9108, 0x080c, 0x8507, 0x7984, 0xd184, 0x1904, 0x3531, + 0x0804, 0x4534, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, + 0x0001, 0x0450, 0x2029, 0x07ff, 0x645c, 0x2400, 0x9506, 0x01f8, + 0x2508, 0x080c, 0x6616, 0x11d8, 0x080c, 0x680d, 0x1128, 0x2009, + 0x0002, 0x62c0, 0x2518, 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, + 0x679a, 0x1118, 0x2009, 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, + 0x1270, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x8507, 0x8529, + 0x1ae0, 0x012e, 0x0804, 0x3531, 0x012e, 0x0804, 0x3563, 0x012e, + 0x0804, 0x3566, 0x080c, 0x4ad5, 0x0904, 0x3566, 0x080c, 0x66dd, + 0x0904, 0x3563, 0xbaa0, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, + 0x929d, 0x0076, 0x903e, 0x080c, 0x9170, 0x900e, 0x080c, 0xe326, + 0x007e, 0x00ce, 0x080c, 0x6779, 0x0804, 0x3531, 0x080c, 0x4ad5, + 0x0904, 0x3566, 0x080c, 0x6779, 0x2208, 0x0804, 0x3531, 0x0156, + 0x00d6, 0x00e6, 0x2069, 0x1910, 0x6810, 0x6914, 0x910a, 0x1208, + 0x900e, 0x6816, 0x9016, 0x901e, 0x20a9, 0x007e, 0x2069, 0x1000, + 0x2d04, 0x905d, 0x0118, 0xb84c, 0x0059, 0x9210, 0x8d68, 0x1f04, + 0x3860, 0x2300, 0x9218, 0x00ee, 0x00de, 0x015e, 0x0804, 0x3531, + 0x00f6, 0x0016, 0x907d, 0x0138, 0x9006, 0x8000, 0x2f0c, 0x81ff, + 0x0110, 0x2178, 0x0cd0, 0x001e, 0x00fe, 0x0005, 0x2069, 0x1910, + 0x6910, 0x62bc, 0x0804, 0x3531, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x3563, 0x0126, 0x2091, 0x8000, 0x080c, 0x56f6, 0x0128, + 0x2009, 0x0007, 0x012e, 0x0804, 0x3563, 0x012e, 0x615c, 0x9190, + 0x3332, 0x2215, 0x9294, 0x00ff, 0x637c, 0x83ff, 0x0108, 0x6280, + 0x67dc, 0x97c4, 0x000a, 0x98c6, 0x000a, 0x1118, 0x2031, 0x0001, + 0x00e8, 0x97c4, 0x0022, 0x98c6, 0x0022, 0x1118, 0x2031, 0x0003, + 0x00a8, 0x97c4, 0x0012, 0x98c6, 0x0012, 0x1118, 0x2031, 0x0002, + 0x0068, 0x080c, 0x73b3, 0x1118, 0x2031, 0x0004, 0x0038, 0xd79c, + 0x0120, 0x2009, 0x0005, 0x0804, 0x3563, 0x9036, 0x7e9a, 0x7f9e, + 0x0804, 0x3531, 0x614c, 0x6250, 0x2019, 0x1985, 0x231c, 0x2001, + 0x1986, 0x2004, 0x789a, 0x0804, 0x3531, 0x0126, 0x2091, 0x8000, + 0x6138, 0x623c, 0x6340, 0x012e, 0x0804, 0x3531, 0x080c, 0x4af1, + 0x0904, 0x3566, 0xba44, 0xbb38, 0x0804, 0x3531, 0x080c, 0x0dd5, + 0x080c, 0x4af1, 0x2110, 0x0904, 0x3566, 0xb804, 0x908c, 0x00ff, + 0x918e, 0x0006, 0x0140, 0x9084, 0xff00, 0x9086, 0x0600, 0x2009, + 0x0009, 0x1904, 0x3563, 0x0126, 0x2091, 0x8000, 0x2019, 0x0005, + 0x00c6, 0x9066, 0x080c, 0xa7f8, 0x080c, 0x929d, 0x0076, 0x903e, + 0x080c, 0x9170, 0x900e, 0x080c, 0xe326, 0x007e, 0x00ce, 0xb807, + 0x0407, 0x012e, 0x0804, 0x3531, 0x614c, 0x6250, 0x7884, 0x604e, + 0x7b88, 0x6352, 0x2069, 0x1847, 0x831f, 0x9305, 0x6816, 0x788c, + 0x2069, 0x1985, 0x2d1c, 0x206a, 0x7e98, 0x9682, 0x0014, 0x1210, + 0x2031, 0x07d0, 0x2069, 0x1986, 0x2d04, 0x266a, 0x789a, 0x0804, + 0x3531, 0x0126, 0x2091, 0x8000, 0x7884, 0x603a, 0xd0c4, 0x01a8, + 0x00d6, 0x78a8, 0x2009, 0x199c, 0x200a, 0x78ac, 0x2011, 0x199d, + 0x2012, 0x2069, 0x0100, 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, + 0x6a5a, 0x0010, 0x210c, 0x695a, 0x00de, 0x7884, 0xd0b4, 0x0120, + 0x3b00, 0x9084, 0xff3f, 0x20d8, 0x7888, 0x603e, 0x2011, 0x0114, + 0x220c, 0x7888, 0xd08c, 0x0118, 0x918d, 0x0080, 0x0010, 0x918c, + 0xff7f, 0x2112, 0x788c, 0x6042, 0x9084, 0x0020, 0x0130, 0x78b4, + 0x6046, 0x9084, 0x0001, 0x090c, 0x4226, 0x6040, 0xd0cc, 0x0120, + 0x78b0, 0x2011, 0x0114, 0x2012, 0x012e, 0x0804, 0x3531, 0x00f6, + 0x2079, 0x1800, 0x7a38, 0xa898, 0x9084, 0xfebf, 0x9215, 0xa89c, + 0x9084, 0xfebf, 0x8002, 0x9214, 0x7838, 0x9084, 0x0140, 0x9215, + 0x7a3a, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, + 0x00fe, 0x0005, 0x7898, 0x9005, 0x01a8, 0x7888, 0x9025, 0x0904, + 0x3566, 0x788c, 0x902d, 0x0904, 0x3566, 0x900e, 0x080c, 0x6616, + 0x1120, 0xba44, 0xbb38, 0xbc46, 0xbd3a, 0x9186, 0x07ff, 0x0190, + 0x8108, 0x0ca0, 0x080c, 0x4af1, 0x0904, 0x3566, 0x7888, 0x900d, + 0x0904, 0x3566, 0x788c, 0x9005, 0x0904, 0x3566, 0xba44, 0xb946, + 0xbb38, 0xb83a, 0x0804, 0x3531, 0x2011, 0xbc09, 0x0010, 0x2011, + 0xbc05, 0x080c, 0x56f6, 0x1904, 0x3563, 0x00c6, 0x2061, 0x0100, + 0x7984, 0x9186, 0x00ff, 0x1130, 0x2001, 0x1818, 0x2004, 0x9085, + 0xff00, 0x0088, 0x9182, 0x007f, 0x16e0, 0x9188, 0x3332, 0x210d, + 0x918c, 0x00ff, 0x2001, 0x1818, 0x2004, 0x0026, 0x9116, 0x002e, + 0x0580, 0x810f, 0x9105, 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, + 0xae09, 0x000e, 0x0510, 0x602e, 0x620a, 0x7984, 0x00b6, 0x080c, + 0x65bb, 0x2b08, 0x00be, 0x1500, 0x6112, 0x6023, 0x0001, 0x080c, + 0x4abe, 0x01d0, 0x9006, 0xa866, 0x7007, 0x0003, 0xa832, 0xa868, + 0xc0fd, 0xa86a, 0x701f, 0x3a17, 0x2900, 0x6016, 0x2009, 0x0032, + 0x080c, 0xaeda, 0x012e, 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, + 0x3563, 0x00ce, 0x0804, 0x3566, 0x080c, 0xae5f, 0x0cb0, 0xa830, + 0x9086, 0x0100, 0x0904, 0x3563, 0x0804, 0x3531, 0x2061, 0x1a70, + 0x0126, 0x2091, 0x8000, 0x6000, 0xd084, 0x0170, 0x6104, 0x6208, + 0x2061, 0x1800, 0x6354, 0x6074, 0x789a, 0x60c0, 0x789e, 0x60bc, + 0x78aa, 0x012e, 0x0804, 0x3531, 0x900e, 0x2110, 0x0c88, 0x81ff, + 0x1904, 0x3563, 0x080c, 0x73b3, 0x0904, 0x3563, 0x0126, 0x2091, + 0x8000, 0x6254, 0x6074, 0x9202, 0x0248, 0x9085, 0x0001, 0x080c, + 0x28b4, 0x080c, 0x5910, 0x012e, 0x0804, 0x3531, 0x012e, 0x0804, + 0x3566, 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, 0x19a8, 0x2070, + 0x2061, 0x1847, 0x6008, 0x2072, 0x900e, 0x2011, 0x1400, 0x080c, + 0x8f70, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, + 0x3533, 0x7884, 0xd0fc, 0x0148, 0x2001, 0x002a, 0x2004, 0x9082, + 0x00e1, 0x0288, 0x012e, 0x0804, 0x3566, 0x2001, 0x002a, 0x2004, + 0x2069, 0x1847, 0x6908, 0x9102, 0x1230, 0x012e, 0x0804, 0x3566, + 0x012e, 0x0804, 0x3563, 0x080c, 0xadc9, 0x0dd0, 0x7884, 0xd0fc, + 0x0904, 0x3ae2, 0x00c6, 0x080c, 0x4abe, 0x00ce, 0x0d88, 0xa867, + 0x0000, 0x7884, 0xa80a, 0x7898, 0xa80e, 0x789c, 0xa812, 0x2001, + 0x002e, 0x2004, 0xa81a, 0x2001, 0x002f, 0x2004, 0xa81e, 0x2001, + 0x0030, 0x2004, 0xa822, 0x2001, 0x0031, 0x2004, 0xa826, 0x2001, + 0x0034, 0x2004, 0xa82a, 0x2001, 0x0035, 0x2004, 0xa82e, 0x2001, + 0x002a, 0x2004, 0x9080, 0x0003, 0x9084, 0x00fc, 0x8004, 0xa816, + 0x080c, 0x3c68, 0x0928, 0x7014, 0x2048, 0xad2c, 0xac28, 0xab1c, + 0xaa18, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, - 0x9080, 0x001b, 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, - 0x080c, 0x0f7c, 0x000e, 0x080c, 0x4b00, 0x007e, 0x701f, 0x3b9a, - 0x7023, 0x0001, 0x0005, 0x0804, 0x3526, 0x0156, 0x00c6, 0xa814, - 0x908a, 0x001e, 0x0218, 0xa833, 0x001e, 0x0010, 0xa832, 0x0078, - 0x81ff, 0x0168, 0x0016, 0x080c, 0x4ab4, 0x001e, 0x0130, 0xa800, - 0x2040, 0xa008, 0xa80a, 0x2100, 0x0c58, 0x9006, 0x0010, 0x9085, - 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, 0x00f6, 0x2079, 0x0000, - 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, 0x0005, 0x2001, 0x199e, - 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, - 0x2001, 0x19a9, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x19a8, - 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x080c, 0x4ab4, 0xa813, - 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, - 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2061, 0x0090, 0x2079, - 0x0100, 0x2001, 0x19a8, 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, - 0x23d4, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x601a, - 0xa873, 0x0000, 0x601f, 0x0000, 0x78ca, 0x9006, 0x600a, 0x600e, - 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x080c, 0x4ab4, 0x2940, - 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, - 0x2004, 0xa866, 0x2001, 0x0031, 0x2004, 0xa86a, 0x2001, 0x002a, - 0x2004, 0x9084, 0xfff8, 0xa86e, 0xa873, 0x0000, 0x2001, 0x032a, - 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, - 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, - 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0148, 0x080c, - 0x2c32, 0x1130, 0x9006, 0x080c, 0x2b8a, 0x9006, 0x080c, 0x2b6d, - 0x7884, 0x9084, 0x0007, 0x0002, 0x3d17, 0x3d20, 0x3d29, 0x3d14, - 0x3d14, 0x3d14, 0x3d14, 0x3d14, 0x012e, 0x0804, 0x355b, 0x2009, - 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, 0x080c, 0x3ee5, 0x00c0, - 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, 0x200a, 0x080c, 0x3ee5, - 0x0078, 0x080c, 0x73a5, 0x1128, 0x012e, 0x2009, 0x0016, 0x0804, - 0x3558, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x3528, - 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, - 0x080c, 0x3a46, 0x2009, 0x0101, 0x210c, 0x0016, 0x7ec8, 0x7dcc, - 0x9006, 0x2068, 0x2060, 0x2058, 0x080c, 0x41ae, 0x080c, 0x40fe, - 0x903e, 0x2720, 0x00f6, 0x00e6, 0x0086, 0x2940, 0x2071, 0x1a65, - 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, - 0x68d4, 0x780e, 0x68d0, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, - 0x405f, 0x080c, 0x2c3a, 0x080c, 0x2c3a, 0x080c, 0x2c3a, 0x080c, - 0x2c3a, 0x080c, 0x405f, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3f8c, - 0x2009, 0x9c40, 0x8109, 0x11b0, 0x080c, 0x3e9b, 0x2001, 0x0004, - 0x200c, 0x918c, 0xfffd, 0x2102, 0x001e, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x2009, 0x0017, 0x080c, - 0x3558, 0x0cf8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1d10, - 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, 0xd0bc, 0x0178, 0x2001, - 0x0201, 0x200c, 0x81ff, 0x0150, 0x080c, 0x3f6a, 0x2d00, 0x9c05, - 0x9b05, 0x0120, 0x080c, 0x3e9b, 0x0804, 0x3e48, 0x080c, 0x40d3, - 0x080c, 0x3ff7, 0x080c, 0x3f4d, 0x080c, 0x3f82, 0x00f6, 0x2079, - 0x0100, 0x7824, 0xd0ac, 0x0130, 0x8b58, 0x080c, 0x3e9b, 0x00fe, - 0x0804, 0x3e48, 0x00fe, 0x080c, 0x3e91, 0x1150, 0x8d68, 0x2001, - 0x0032, 0x2602, 0x2001, 0x0033, 0x2502, 0x080c, 0x3e9b, 0x0080, - 0x87ff, 0x0138, 0x2001, 0x0201, 0x2004, 0x9005, 0x1908, 0x8739, - 0x0038, 0x2001, 0x1a61, 0x2004, 0x9086, 0x0000, 0x1904, 0x3d98, - 0x2001, 0x032f, 0x2003, 0x00f6, 0x8631, 0x1208, 0x8529, 0x2500, - 0x9605, 0x0904, 0x3e48, 0x7884, 0xd0bc, 0x0128, 0x2d00, 0x9c05, - 0x9b05, 0x1904, 0x3e48, 0xa013, 0x0019, 0x2001, 0x032a, 0x2003, - 0x0004, 0x7884, 0xd0ac, 0x1148, 0x2001, 0x1a61, 0x2003, 0x0003, - 0x2001, 0x032a, 0x2003, 0x0009, 0x0030, 0xa017, 0x0001, 0x78b4, - 0x9005, 0x0108, 0xa016, 0x2800, 0xa05a, 0x2009, 0x0040, 0x080c, - 0x23d4, 0x2900, 0xa85a, 0xa813, 0x0019, 0x7884, 0xd0a4, 0x1180, - 0xa817, 0x0000, 0x00c6, 0x20a9, 0x0004, 0x2061, 0x0090, 0x602b, - 0x0008, 0x2001, 0x0203, 0x2004, 0x1f04, 0x3e1f, 0x00ce, 0x0030, - 0xa817, 0x0001, 0x78b0, 0x9005, 0x0108, 0xa816, 0x00f6, 0x00c6, - 0x2079, 0x0100, 0x2061, 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, - 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, - 0x601e, 0x78c6, 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3d52, - 0x001e, 0x00c6, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, - 0x6027, 0x0002, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, - 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, 0x12ed, 0x7884, - 0x9084, 0x0003, 0x9086, 0x0002, 0x01a0, 0x2009, 0x0028, 0x080c, - 0x23d4, 0x2001, 0x0227, 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ef, - 0x6052, 0x602f, 0x0000, 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, - 0x0010, 0x00ce, 0x2d08, 0x2c10, 0x2b18, 0x2b00, 0x9c05, 0x9d05, + 0x9080, 0x001b, 0x080c, 0x4b07, 0x701f, 0x3ba5, 0x7023, 0x0001, + 0x012e, 0x0005, 0x0046, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, + 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x3a51, 0x2001, 0x199e, 0x2003, + 0x0000, 0x2021, 0x000a, 0x2061, 0x0100, 0x6104, 0x0016, 0x60bb, + 0x0000, 0x60bf, 0x32e1, 0x60bf, 0x0012, 0x080c, 0x3cd7, 0x080c, + 0x3c96, 0x00f6, 0x00e6, 0x0086, 0x2940, 0x2071, 0x1a65, 0x2079, + 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, + 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, + 0x2011, 0x0001, 0x080c, 0x406a, 0x008e, 0x00ee, 0x00fe, 0x080c, + 0x3f97, 0x080c, 0x3e9c, 0x05b8, 0x2001, 0x020b, 0x2004, 0x9084, + 0x0140, 0x1db8, 0x080c, 0x40de, 0x00f6, 0x2079, 0x0300, 0x78bc, + 0x00fe, 0x908c, 0x0070, 0x1560, 0x2071, 0x0200, 0x7037, 0x0000, + 0x7050, 0x9084, 0xff00, 0x9086, 0x3200, 0x1510, 0x7037, 0x0001, + 0x7050, 0x9084, 0xff00, 0x9086, 0xe100, 0x11d0, 0x7037, 0x0000, + 0x7054, 0x7037, 0x0000, 0x715c, 0x9106, 0x1190, 0x2001, 0x1820, + 0x2004, 0x9106, 0x1168, 0x00c6, 0x2061, 0x0100, 0x6024, 0x9084, + 0x1e00, 0x00ce, 0x0138, 0x080c, 0x3ea6, 0x080c, 0x3c91, 0x0058, + 0x080c, 0x3c91, 0x080c, 0x4002, 0x080c, 0x3f8d, 0x2001, 0x020b, + 0x2004, 0xd0e4, 0x0dd8, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, + 0x0100, 0x6027, 0x0002, 0x001e, 0x6106, 0x2011, 0x020d, 0x2013, + 0x0020, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x2001, + 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, 0x12ed, 0x2009, + 0x0028, 0x080c, 0x23df, 0x2001, 0x0227, 0x200c, 0x2102, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x004e, + 0x2001, 0x199e, 0x2004, 0x9005, 0x1118, 0x012e, 0x0804, 0x3531, + 0x012e, 0x2021, 0x400c, 0x0804, 0x3533, 0x0016, 0x0026, 0x0036, + 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, 0x0156, 0x7014, + 0x2048, 0x7020, 0x20a8, 0x8000, 0x7022, 0xa804, 0x9005, 0x0904, + 0x3c01, 0x2048, 0x1f04, 0x3bb5, 0x7068, 0x2040, 0xa28c, 0xa390, + 0xa494, 0xa598, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, + 0x2021, 0x0000, 0x0096, 0x7014, 0x2048, 0xa864, 0x009e, 0x9086, + 0x0103, 0x0170, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, + 0xffc0, 0x9080, 0x001b, 0x080c, 0x4b07, 0x701f, 0x3ba5, 0x00b0, + 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, + 0x001b, 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, + 0x0f7c, 0x000e, 0x080c, 0x4b0a, 0x701f, 0x3ba5, 0x015e, 0x00de, + 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, + 0x0005, 0x7014, 0x2048, 0xa864, 0x9086, 0x0103, 0x1118, 0x701f, + 0x3c66, 0x0450, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, 0x2009, + 0x007f, 0x080c, 0x65b5, 0x0110, 0x9006, 0x0030, 0xb813, 0x00ff, + 0xb817, 0xfffd, 0x080c, 0xd023, 0x015e, 0x00de, 0x009e, 0x008e, + 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0904, 0x3563, + 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, + 0x00d6, 0x0156, 0x701f, 0x3c38, 0x7007, 0x0003, 0x0804, 0x3bf6, + 0xa830, 0x9086, 0x0100, 0x2021, 0x400c, 0x0904, 0x3533, 0x0076, + 0xad10, 0xac0c, 0xab24, 0xaa20, 0xa930, 0xa808, 0xd0b4, 0x1120, + 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, + 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, 0x2098, + 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0f7c, 0x000e, 0x080c, 0x4b0a, + 0x007e, 0x701f, 0x3ba5, 0x7023, 0x0001, 0x0005, 0x0804, 0x3531, + 0x0156, 0x00c6, 0xa814, 0x908a, 0x001e, 0x0218, 0xa833, 0x001e, + 0x0010, 0xa832, 0x0078, 0x81ff, 0x0168, 0x0016, 0x080c, 0x4abe, + 0x001e, 0x0130, 0xa800, 0x2040, 0xa008, 0xa80a, 0x2100, 0x0c58, + 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, + 0x00f6, 0x2079, 0x0000, 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, + 0x0005, 0x2001, 0x199e, 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, + 0x00c6, 0x2061, 0x0200, 0x2001, 0x19a9, 0x2004, 0x601a, 0x2061, + 0x0100, 0x2001, 0x19a8, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, + 0x080c, 0x4abe, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, + 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, + 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x19a8, 0x2004, 0x6036, + 0x2009, 0x0040, 0x080c, 0x23df, 0x2001, 0x002a, 0x2004, 0x9084, + 0xfff8, 0xa86e, 0x601a, 0xa873, 0x0000, 0x601f, 0x0000, 0x78ca, + 0x9006, 0x600a, 0x600e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, + 0x080c, 0x4abe, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, + 0xa05a, 0x2001, 0x0030, 0x2004, 0xa866, 0x2001, 0x0031, 0x2004, + 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0xa873, + 0x0000, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, + 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, + 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, + 0x81ff, 0x0148, 0x080c, 0x2c3d, 0x1130, 0x9006, 0x080c, 0x2b95, + 0x9006, 0x080c, 0x2b78, 0x7884, 0x9084, 0x0007, 0x0002, 0x3d22, + 0x3d2b, 0x3d34, 0x3d1f, 0x3d1f, 0x3d1f, 0x3d1f, 0x3d1f, 0x012e, + 0x0804, 0x3566, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, + 0x080c, 0x3ef0, 0x00c0, 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, + 0x200a, 0x080c, 0x3ef0, 0x0078, 0x080c, 0x73b3, 0x1128, 0x012e, + 0x2009, 0x0016, 0x0804, 0x3563, 0x81ff, 0x0128, 0x012e, 0x2021, + 0x400b, 0x0804, 0x3533, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, + 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x3a51, 0x2009, 0x0101, 0x210c, + 0x0016, 0x7ec8, 0x7dcc, 0x9006, 0x2068, 0x2060, 0x2058, 0x080c, + 0x41b9, 0x080c, 0x4109, 0x903e, 0x2720, 0x00f6, 0x00e6, 0x0086, + 0x2940, 0x2071, 0x1a65, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, + 0x6884, 0xd0b4, 0x0120, 0x68d4, 0x780e, 0x68d0, 0x780a, 0x00de, + 0x2011, 0x0001, 0x080c, 0x406a, 0x080c, 0x2c45, 0x080c, 0x2c45, + 0x080c, 0x2c45, 0x080c, 0x2c45, 0x080c, 0x406a, 0x008e, 0x00ee, + 0x00fe, 0x080c, 0x3f97, 0x2009, 0x9c40, 0x8109, 0x11b0, 0x080c, + 0x3ea6, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x001e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, - 0x1118, 0x012e, 0x0804, 0x3526, 0x012e, 0x2021, 0x400c, 0x0804, - 0x3528, 0x9085, 0x0001, 0x1d04, 0x3e9a, 0x2091, 0x6000, 0x8420, - 0x9486, 0x0064, 0x0005, 0x2001, 0x0105, 0x2003, 0x0010, 0x2001, - 0x032a, 0x2003, 0x0004, 0x2001, 0x1a61, 0x2003, 0x0000, 0x0071, - 0x2009, 0x0048, 0x080c, 0x23d4, 0x2001, 0x0227, 0x2024, 0x2402, - 0x2001, 0x0109, 0x2003, 0x4000, 0x9026, 0x0005, 0x00f6, 0x00e6, - 0x2071, 0x1a65, 0x7000, 0x9086, 0x0000, 0x0520, 0x2079, 0x0090, - 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, - 0x2009, 0x0040, 0x080c, 0x23d4, 0x782c, 0xd0fc, 0x0d88, 0x080c, - 0x40d3, 0x7000, 0x9086, 0x0000, 0x1d58, 0x782b, 0x0004, 0x782c, - 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x23d4, 0x782b, 0x0002, - 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, - 0x2001, 0x1818, 0x200c, 0x7932, 0x7936, 0x080c, 0x2889, 0x7850, - 0x9084, 0xfbff, 0x9085, 0x0030, 0x7852, 0x2019, 0x01f4, 0x8319, - 0x1df0, 0x9084, 0xffcf, 0x9085, 0x2000, 0x7852, 0x20a9, 0x0046, - 0x1d04, 0x3f00, 0x2091, 0x6000, 0x1f04, 0x3f00, 0x7850, 0x9085, - 0x0400, 0x9084, 0xdfff, 0x7852, 0x2001, 0x0021, 0x2004, 0x9084, - 0x0003, 0x9086, 0x0001, 0x1120, 0x7850, 0x9084, 0xdfff, 0x7852, - 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x0028, - 0xa001, 0x1f04, 0x3f20, 0x7850, 0x9085, 0x1400, 0x7852, 0x2019, - 0x61a8, 0x7854, 0xa001, 0xa001, 0xd08c, 0x1110, 0x8319, 0x1dc8, - 0x7827, 0x0048, 0x7850, 0x9085, 0x0400, 0x7852, 0x7843, 0x0040, - 0x2019, 0x01f4, 0xa001, 0xa001, 0x8319, 0x1de0, 0x2001, 0x0100, - 0x080c, 0x2cf1, 0x7827, 0x0020, 0x7843, 0x0000, 0x9006, 0x080c, - 0x2cf1, 0x7827, 0x0048, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, - 0x00f6, 0x00e6, 0x2071, 0x1a61, 0x2079, 0x0320, 0x2001, 0x0201, - 0x2004, 0x9005, 0x0160, 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, - 0xd0bc, 0x0108, 0x8738, 0x7003, 0x0003, 0x782b, 0x0019, 0x00ee, - 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, - 0x0070, 0x0178, 0x2009, 0x0032, 0x260a, 0x2009, 0x0033, 0x250a, - 0xd0b4, 0x0108, 0x8c60, 0xd0ac, 0x0108, 0x8d68, 0xd0a4, 0x0108, - 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, - 0x7837, 0x0050, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, - 0x19a9, 0x2004, 0x70e2, 0x080c, 0x3c7c, 0x1188, 0x2001, 0x1820, - 0x2004, 0x2009, 0x181f, 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, - 0x7066, 0x918d, 0x3200, 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, - 0x9085, 0x0002, 0x702e, 0x2009, 0x1818, 0x210c, 0x716e, 0x7063, - 0x0100, 0x7166, 0x719e, 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, - 0x0008, 0x7078, 0x9080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, - 0x7087, 0xaaaa, 0x9006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, - 0x0036, 0x70af, 0x95d5, 0x7014, 0x9084, 0x1984, 0x9085, 0x0092, - 0x7016, 0x080c, 0x40d3, 0x00f6, 0x2071, 0x1a61, 0x2079, 0x0320, - 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, - 0x6898, 0x780a, 0x00de, 0x2009, 0x03e8, 0x8109, 0x1df0, 0x792c, - 0xd1fc, 0x0110, 0x782b, 0x0004, 0x2011, 0x0011, 0x080c, 0x405f, - 0x2011, 0x0001, 0x080c, 0x405f, 0x00fe, 0x00ee, 0x0005, 0x00f6, - 0x00e6, 0x2071, 0x1a61, 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, - 0x405c, 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, 0x4058, 0x7000, - 0x0002, 0x405c, 0x400d, 0x403d, 0x4058, 0xd1bc, 0x1170, 0xd1dc, - 0x1190, 0x8001, 0x7002, 0x2011, 0x0001, 0x080c, 0x405f, 0x0904, - 0x405c, 0x080c, 0x405f, 0x0804, 0x405c, 0x00f6, 0x2079, 0x0300, - 0x78bf, 0x0000, 0x00fe, 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, - 0x7916, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x3f6a, - 0x2009, 0x0001, 0x00f6, 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, - 0x0110, 0x2009, 0x0011, 0x792a, 0x00f8, 0x8001, 0x7002, 0x9184, - 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, 0x4001, 0x2011, 0x0001, - 0x00b1, 0x0090, 0xa010, 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, - 0xa000, 0xa05a, 0x2011, 0x0031, 0xa212, 0xd1dc, 0x1960, 0x0828, - 0x782b, 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0xa014, - 0x9005, 0x0550, 0x8001, 0x0036, 0x0096, 0xa016, 0xa058, 0x2048, - 0xa010, 0x2009, 0x0031, 0x911a, 0x831c, 0x831c, 0x938a, 0x0007, - 0x1a0c, 0x0dd5, 0x9398, 0x408d, 0x231d, 0x083f, 0x9080, 0x0004, - 0x7a2a, 0x7100, 0x8108, 0x7102, 0x009e, 0x003e, 0x908a, 0x0035, - 0x1140, 0x0096, 0xa058, 0x2048, 0xa804, 0xa05a, 0x2001, 0x0019, - 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, 0x40ca, 0x40c1, 0x40b8, - 0x40af, 0x40a6, 0x409d, 0x4094, 0xa964, 0x7902, 0xa968, 0x7906, - 0xa96c, 0x7912, 0xa970, 0x7916, 0x0005, 0xa974, 0x7902, 0xa978, - 0x7906, 0xa97c, 0x7912, 0xa980, 0x7916, 0x0005, 0xa984, 0x7902, - 0xa988, 0x7906, 0xa98c, 0x7912, 0xa990, 0x7916, 0x0005, 0xa994, - 0x7902, 0xa998, 0x7906, 0xa99c, 0x7912, 0xa9a0, 0x7916, 0x0005, - 0xa9a4, 0x7902, 0xa9a8, 0x7906, 0xa9ac, 0x7912, 0xa9b0, 0x7916, - 0x0005, 0xa9b4, 0x7902, 0xa9b8, 0x7906, 0xa9bc, 0x7912, 0xa9c0, - 0x7916, 0x0005, 0xa9c4, 0x7902, 0xa9c8, 0x7906, 0xa9cc, 0x7912, - 0xa9d0, 0x7916, 0x0005, 0x00f6, 0x00e6, 0x0086, 0x2071, 0x1a65, - 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01e8, 0x782b, 0x0002, 0x2940, - 0x9026, 0x7000, 0x0002, 0x40fa, 0x40e6, 0x40f1, 0x8001, 0x7002, - 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, 0x405f, 0x190c, 0x405f, - 0x0048, 0x8001, 0x7002, 0x782c, 0xd0fc, 0x1d38, 0x2011, 0x0001, - 0x080c, 0x405f, 0x008e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, - 0x00c6, 0x0086, 0x2061, 0x0200, 0x2001, 0x19a9, 0x2004, 0x601a, - 0x2061, 0x0100, 0x2001, 0x19a8, 0x2004, 0x60ce, 0x6104, 0xc1ac, - 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, 0x0520, 0x2038, 0x2001, - 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, 0x080c, 0x4ab4, 0xa813, - 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, - 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, - 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x4176, 0x1d68, 0x2900, - 0xa85a, 0x00d0, 0x080c, 0x4ab4, 0xa813, 0x0019, 0xa817, 0x0001, - 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, - 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, - 0x2001, 0x002b, 0x2004, 0xa872, 0x2061, 0x0090, 0x2079, 0x0100, - 0x2001, 0x19a8, 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, 0x23d4, - 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, - 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, - 0x600e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, - 0x0080, 0xaa60, 0x22e8, 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, - 0x702b, 0x0026, 0x7402, 0x7306, 0x9006, 0x700a, 0x700e, 0x810b, - 0x810b, 0x21a8, 0x810b, 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, - 0x0de8, 0x702b, 0x0002, 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, - 0x87ff, 0x0190, 0x0086, 0x0096, 0x2940, 0x0086, 0x080c, 0x4ab4, - 0x008e, 0xa058, 0x00a6, 0x2050, 0x2900, 0xb006, 0xa05a, 0x00ae, - 0x009e, 0x008e, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x2001, - 0x002d, 0x2004, 0x9005, 0x0528, 0x2038, 0x2001, 0x0030, 0x2024, - 0x2001, 0x0031, 0x201c, 0x080c, 0x4ab4, 0x2940, 0xa813, 0x0019, - 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, - 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, 0xa85c, - 0x9080, 0x0019, 0x009e, 0x080c, 0x4176, 0x1d68, 0x2900, 0xa85a, - 0x00d8, 0x080c, 0x4ab4, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, - 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa066, 0x2001, 0x0031, - 0x2004, 0xa06a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa06e, - 0x2001, 0x002b, 0x2004, 0xa072, 0x2001, 0x032a, 0x2003, 0x0004, - 0x7884, 0xd0ac, 0x1180, 0x2001, 0x0101, 0x200c, 0x918d, 0x0200, - 0x2102, 0xa017, 0x0000, 0x2001, 0x1a61, 0x2003, 0x0003, 0x2001, - 0x032a, 0x2003, 0x0009, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, - 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, - 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0007, - 0x20a1, 0x1840, 0x20e9, 0x0001, 0x9006, 0x4004, 0x20a9, 0x000c, - 0x20a1, 0xfff4, 0x20e9, 0x0000, 0x9006, 0x4004, 0x2009, 0x013c, - 0x200a, 0x012e, 0x7880, 0x9086, 0x0052, 0x0108, 0x0005, 0x0804, - 0x3526, 0x7d98, 0x7c9c, 0x0804, 0x3628, 0x080c, 0x73a5, 0x190c, - 0x5fe8, 0x6040, 0x9084, 0x0020, 0x09b1, 0x2069, 0x1847, 0x2d00, - 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, - 0x080c, 0x4afd, 0x701f, 0x4255, 0x0005, 0x080c, 0x56e7, 0x1130, - 0x3b00, 0x3a08, 0xc194, 0xc095, 0x20d8, 0x21d0, 0x2069, 0x1847, - 0x6800, 0x9005, 0x0904, 0x355b, 0x6804, 0xd0ac, 0x0118, 0xd0a4, - 0x0904, 0x355b, 0xd094, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0138, - 0x6200, 0x9292, 0x0005, 0x0218, 0x918c, 0xffdf, 0x0010, 0x918d, - 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, 0x2061, 0x0100, 0x6104, - 0x0118, 0x918d, 0x0010, 0x0010, 0x918c, 0xffef, 0x6106, 0x00ce, - 0xd084, 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, 0x355b, 0x9288, - 0x3327, 0x210d, 0x918c, 0x00ff, 0x6166, 0xd0dc, 0x0130, 0x6828, - 0x908a, 0x007f, 0x1a04, 0x355b, 0x605e, 0x6888, 0x9084, 0x0030, - 0x8004, 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, 0x19b0, 0x9080, - 0x297c, 0x2005, 0x200a, 0x000e, 0x2009, 0x19b1, 0x9080, 0x2980, - 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, 0x0a04, 0x355b, 0x908a, - 0x0841, 0x1a04, 0x355b, 0x9084, 0x0007, 0x1904, 0x355b, 0x680c, - 0x9005, 0x0904, 0x355b, 0x6810, 0x9005, 0x0904, 0x355b, 0x6848, - 0x6940, 0x910a, 0x1a04, 0x355b, 0x8001, 0x0904, 0x355b, 0x684c, - 0x6944, 0x910a, 0x1a04, 0x355b, 0x8001, 0x0904, 0x355b, 0x2009, - 0x1980, 0x200b, 0x0000, 0x2001, 0x1869, 0x2004, 0xd0c4, 0x0140, - 0x7884, 0x200a, 0x2009, 0x017f, 0x200a, 0x3b00, 0xc085, 0x20d8, - 0x6814, 0x908c, 0x00ff, 0x614e, 0x8007, 0x9084, 0x00ff, 0x6052, - 0x080c, 0x76be, 0x080c, 0x69ad, 0x080c, 0x69e1, 0x6808, 0x602a, - 0x080c, 0x2346, 0x2009, 0x0170, 0x200b, 0x0080, 0xa001, 0xa001, - 0x200b, 0x0000, 0x0036, 0x6b08, 0x080c, 0x28e3, 0x003e, 0x6000, - 0x9086, 0x0000, 0x1904, 0x43ec, 0x6818, 0x691c, 0x6a20, 0x6b24, - 0x8007, 0x810f, 0x8217, 0x831f, 0x6016, 0x611a, 0x621e, 0x6322, - 0x6c04, 0xd4f4, 0x0148, 0x6830, 0x6934, 0x6a38, 0x6b3c, 0x8007, - 0x810f, 0x8217, 0x831f, 0x0010, 0x9084, 0xf0ff, 0x6006, 0x610a, - 0x620e, 0x6312, 0x8007, 0x810f, 0x8217, 0x831f, 0x20a9, 0x0004, - 0x20a1, 0x19b2, 0x20e9, 0x0001, 0x4001, 0x20a9, 0x0004, 0x20a1, - 0x19cc, 0x20e9, 0x0001, 0x4001, 0x080c, 0x85d8, 0x00c6, 0x900e, - 0x20a9, 0x0001, 0x6b70, 0xd384, 0x0510, 0x0068, 0x2009, 0x0100, - 0x210c, 0x918e, 0x0008, 0x1110, 0x839d, 0x0010, 0x83f5, 0x3e18, - 0x12b0, 0x3508, 0x8109, 0x080c, 0x7c74, 0x6878, 0x6016, 0x6874, - 0x2008, 0x9084, 0xff00, 0x8007, 0x600a, 0x9184, 0x00ff, 0x6006, - 0x8108, 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, - 0x4346, 0x00ce, 0x00c6, 0x2061, 0x199b, 0x6a88, 0x9284, 0xc000, - 0x2010, 0x9286, 0x0000, 0x1158, 0x2063, 0x0000, 0x2001, 0x0001, - 0x080c, 0x2b8a, 0x2001, 0x0001, 0x080c, 0x2b6d, 0x0088, 0x9286, - 0x4000, 0x1148, 0x2063, 0x0001, 0x9006, 0x080c, 0x2b8a, 0x9006, - 0x080c, 0x2b6d, 0x0028, 0x9286, 0x8000, 0x1d30, 0x2063, 0x0002, - 0x00ce, 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, 0x9085, - 0x0100, 0x2012, 0x6a80, 0x9284, 0x0030, 0x9086, 0x0030, 0x1128, - 0x9294, 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, 0x197b, 0x6a80, - 0x9294, 0x0030, 0x928e, 0x0000, 0x0170, 0x928e, 0x0010, 0x0118, - 0x928e, 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, 0x2958, 0x2001, - 0x196c, 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, - 0x0040, 0x602f, 0x0000, 0x00ce, 0x080c, 0x73a5, 0x0128, 0x080c, - 0x4fe4, 0x0110, 0x080c, 0x28a9, 0x60d4, 0x9005, 0x01c0, 0x6003, - 0x0001, 0x2009, 0x43d4, 0x00e0, 0x080c, 0x73a5, 0x1168, 0x2011, - 0x723b, 0x080c, 0x84dc, 0x2011, 0x722e, 0x080c, 0x85b6, 0x080c, - 0x7692, 0x080c, 0x72d7, 0x0040, 0x080c, 0x5ee2, 0x0028, 0x6003, - 0x0004, 0x2009, 0x43ec, 0x0020, 0x080c, 0x68dd, 0x0804, 0x3526, - 0x2001, 0x0170, 0x2004, 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, - 0x2091, 0x30bd, 0x0817, 0x2091, 0x303d, 0x0817, 0x6000, 0x9086, - 0x0000, 0x0904, 0x3558, 0x2069, 0x1847, 0x7890, 0x6842, 0x7894, - 0x6846, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, - 0x2039, 0x0001, 0x0804, 0x4b00, 0x9006, 0x080c, 0x28a9, 0x81ff, - 0x1904, 0x3558, 0x080c, 0x73a5, 0x11b0, 0x080c, 0x768d, 0x080c, - 0x6023, 0x080c, 0x331b, 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, - 0xd24a, 0x0130, 0x080c, 0x73c8, 0x1118, 0x080c, 0x737d, 0x0038, - 0x080c, 0x72d7, 0x0020, 0x080c, 0x5fe8, 0x080c, 0x5ee2, 0x0804, - 0x3526, 0x81ff, 0x1904, 0x3558, 0x080c, 0x73a5, 0x1110, 0x0804, - 0x3558, 0x6194, 0x81ff, 0x01a8, 0x704f, 0x0000, 0x2001, 0x1c80, - 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0126, 0x2091, - 0x8000, 0x2039, 0x0001, 0x080c, 0x4b00, 0x701f, 0x3524, 0x012e, - 0x0005, 0x704f, 0x0001, 0x00d6, 0x2069, 0x1c80, 0x20a9, 0x0040, - 0x20e9, 0x0001, 0x20a1, 0x1c80, 0x2019, 0xffff, 0x4304, 0x655c, - 0x9588, 0x3327, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, - 0x0002, 0x2100, 0x9506, 0x01a8, 0x080c, 0x6608, 0x1190, 0xb814, - 0x821c, 0x0238, 0x9398, 0x1c80, 0x9085, 0xff00, 0x8007, 0x201a, - 0x0038, 0x9398, 0x1c80, 0x2324, 0x94a4, 0xff00, 0x9405, 0x201a, - 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, - 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, 0x1c80, - 0x2099, 0x1c80, 0x080c, 0x5f73, 0x0804, 0x4446, 0x080c, 0x4ae7, - 0x0904, 0x355b, 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, 0x0804, - 0x3558, 0x080c, 0x56d8, 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, - 0x0538, 0x908e, 0x007f, 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, - 0x3316, 0x1148, 0xb800, 0xd08c, 0x11d8, 0xb804, 0x9084, 0x00ff, - 0x9086, 0x0006, 0x11a8, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, - 0x080c, 0xcd13, 0x1120, 0x2009, 0x0003, 0x0804, 0x3558, 0x7007, - 0x0003, 0x701f, 0x44d4, 0x0005, 0x080c, 0x4ae7, 0x0904, 0x355b, - 0x20a9, 0x002b, 0xb8c4, 0x20e0, 0xb8c8, 0x2098, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, - 0x0006, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, - 0x080c, 0x0f7c, 0x0070, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x000a, - 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, - 0x0f7c, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, - 0x9080, 0x0002, 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, - 0x0804, 0x4b00, 0x81ff, 0x1904, 0x3558, 0x080c, 0x4acb, 0x0904, - 0x355b, 0x080c, 0x677a, 0x0904, 0x3558, 0x0058, 0xa878, 0x9005, - 0x0120, 0x2009, 0x0004, 0x0804, 0x3558, 0xa974, 0xaa94, 0x0804, - 0x3526, 0x080c, 0x56e0, 0x0904, 0x3526, 0x701f, 0x451e, 0x7007, - 0x0003, 0x0005, 0x81ff, 0x1904, 0x3558, 0x7888, 0x908a, 0x1000, - 0x1a04, 0x355b, 0x080c, 0x4ae7, 0x0904, 0x355b, 0x080c, 0x697b, - 0x0120, 0x080c, 0x6983, 0x1904, 0x355b, 0x080c, 0x67ff, 0x0904, - 0x3558, 0x2019, 0x0004, 0x900e, 0x080c, 0x678c, 0x0904, 0x3558, - 0x7984, 0x7a88, 0x04c9, 0x08a8, 0xa89c, 0x908a, 0x1000, 0x12f8, - 0x080c, 0x4ae5, 0x01e0, 0x080c, 0x697b, 0x0118, 0x080c, 0x6983, - 0x11b0, 0x080c, 0x67ff, 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, - 0x2019, 0x0004, 0x080c, 0x678c, 0x2009, 0x0003, 0x0120, 0xa998, - 0xaa9c, 0x00d1, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, - 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, - 0x4000, 0x080c, 0x56e0, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, - 0x0001, 0x2001, 0x0000, 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, - 0x0060, 0x2029, 0x007e, 0x2061, 0x1800, 0x645c, 0x2400, 0x9506, - 0x0110, 0x2508, 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x6608, - 0x1138, 0x2200, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x84ea, - 0x0005, 0x81ff, 0x1904, 0x3558, 0x798c, 0x2001, 0x197f, 0x918c, - 0x8000, 0x2102, 0x080c, 0x4acb, 0x0904, 0x355b, 0x080c, 0x697b, - 0x0120, 0x080c, 0x6983, 0x1904, 0x355b, 0x080c, 0x66cf, 0x0904, - 0x3558, 0x080c, 0x6783, 0x0904, 0x3558, 0x2001, 0x197f, 0x2004, - 0xd0fc, 0x1904, 0x3526, 0x0804, 0x4529, 0xa9a0, 0x2001, 0x197f, - 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x4ad8, 0x01a0, 0x080c, - 0x697b, 0x0118, 0x080c, 0x6983, 0x1170, 0x080c, 0x66cf, 0x2009, - 0x0002, 0x0128, 0x080c, 0x6783, 0x1170, 0x2009, 0x0003, 0xa897, + 0x2009, 0x0017, 0x080c, 0x3563, 0x0cf8, 0x2001, 0x020b, 0x2004, + 0x9084, 0x0140, 0x1d10, 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, + 0xd0bc, 0x0178, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0150, 0x080c, + 0x3f75, 0x2d00, 0x9c05, 0x9b05, 0x0120, 0x080c, 0x3ea6, 0x0804, + 0x3e53, 0x080c, 0x40de, 0x080c, 0x4002, 0x080c, 0x3f58, 0x080c, + 0x3f8d, 0x00f6, 0x2079, 0x0100, 0x7824, 0xd0ac, 0x0130, 0x8b58, + 0x080c, 0x3ea6, 0x00fe, 0x0804, 0x3e53, 0x00fe, 0x080c, 0x3e9c, + 0x1150, 0x8d68, 0x2001, 0x0032, 0x2602, 0x2001, 0x0033, 0x2502, + 0x080c, 0x3ea6, 0x0080, 0x87ff, 0x0138, 0x2001, 0x0201, 0x2004, + 0x9005, 0x1908, 0x8739, 0x0038, 0x2001, 0x1a61, 0x2004, 0x9086, + 0x0000, 0x1904, 0x3da3, 0x2001, 0x032f, 0x2003, 0x00f6, 0x8631, + 0x1208, 0x8529, 0x2500, 0x9605, 0x0904, 0x3e53, 0x7884, 0xd0bc, + 0x0128, 0x2d00, 0x9c05, 0x9b05, 0x1904, 0x3e53, 0xa013, 0x0019, + 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1148, 0x2001, + 0x1a61, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x0030, + 0xa017, 0x0001, 0x78b4, 0x9005, 0x0108, 0xa016, 0x2800, 0xa05a, + 0x2009, 0x0040, 0x080c, 0x23df, 0x2900, 0xa85a, 0xa813, 0x0019, + 0x7884, 0xd0a4, 0x1180, 0xa817, 0x0000, 0x00c6, 0x20a9, 0x0004, + 0x2061, 0x0090, 0x602b, 0x0008, 0x2001, 0x0203, 0x2004, 0x1f04, + 0x3e2a, 0x00ce, 0x0030, 0xa817, 0x0001, 0x78b0, 0x9005, 0x0108, + 0xa816, 0x00f6, 0x00c6, 0x2079, 0x0100, 0x2061, 0x0090, 0x7827, + 0x0002, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, + 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, 0x00ce, + 0x00fe, 0x0804, 0x3d5d, 0x001e, 0x00c6, 0x2001, 0x032a, 0x2003, + 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x6106, 0x2011, 0x020d, + 0x2013, 0x0020, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, + 0x080c, 0x12ed, 0x7884, 0x9084, 0x0003, 0x9086, 0x0002, 0x01a0, + 0x2009, 0x0028, 0x080c, 0x23df, 0x2001, 0x0227, 0x200c, 0x2102, + 0x6050, 0x9084, 0xb7ef, 0x6052, 0x602f, 0x0000, 0x604b, 0xf7f7, + 0x6043, 0x0090, 0x6043, 0x0010, 0x00ce, 0x2d08, 0x2c10, 0x2b18, + 0x2b00, 0x9c05, 0x9d05, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, + 0x00ae, 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, 0x3531, 0x012e, + 0x2021, 0x400c, 0x0804, 0x3533, 0x9085, 0x0001, 0x1d04, 0x3ea5, + 0x2091, 0x6000, 0x8420, 0x9486, 0x0064, 0x0005, 0x2001, 0x0105, + 0x2003, 0x0010, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x1a61, + 0x2003, 0x0000, 0x0071, 0x2009, 0x0048, 0x080c, 0x23df, 0x2001, + 0x0227, 0x2024, 0x2402, 0x2001, 0x0109, 0x2003, 0x4000, 0x9026, + 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a65, 0x7000, 0x9086, 0x0000, + 0x0520, 0x2079, 0x0090, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, + 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x23df, 0x782c, + 0xd0fc, 0x0d88, 0x080c, 0x40de, 0x7000, 0x9086, 0x0000, 0x1d58, + 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, + 0x23df, 0x782b, 0x0002, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, + 0x00f6, 0x2079, 0x0100, 0x2001, 0x1818, 0x200c, 0x7932, 0x7936, + 0x080c, 0x2894, 0x7850, 0x9084, 0xfbff, 0x9085, 0x0030, 0x7852, + 0x2019, 0x01f4, 0x8319, 0x1df0, 0x9084, 0xffcf, 0x9085, 0x2000, + 0x7852, 0x20a9, 0x0046, 0x1d04, 0x3f0b, 0x2091, 0x6000, 0x1f04, + 0x3f0b, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfff, 0x7852, 0x2001, + 0x0021, 0x2004, 0x9084, 0x0003, 0x9086, 0x0001, 0x1120, 0x7850, + 0x9084, 0xdfff, 0x7852, 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, + 0x0010, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x3f2b, 0x7850, 0x9085, + 0x1400, 0x7852, 0x2019, 0x61a8, 0x7854, 0xa001, 0xa001, 0xd08c, + 0x1110, 0x8319, 0x1dc8, 0x7827, 0x0048, 0x7850, 0x9085, 0x0400, + 0x7852, 0x7843, 0x0040, 0x2019, 0x01f4, 0xa001, 0xa001, 0x8319, + 0x1de0, 0x2001, 0x0100, 0x080c, 0x2cfc, 0x7827, 0x0020, 0x7843, + 0x0000, 0x9006, 0x080c, 0x2cfc, 0x7827, 0x0048, 0x00fe, 0x0005, + 0x7884, 0xd0ac, 0x11c8, 0x00f6, 0x00e6, 0x2071, 0x1a61, 0x2079, + 0x0320, 0x2001, 0x0201, 0x2004, 0x9005, 0x0160, 0x7000, 0x9086, + 0x0000, 0x1140, 0x0051, 0xd0bc, 0x0108, 0x8738, 0x7003, 0x0003, + 0x782b, 0x0019, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0300, + 0x78bc, 0x00fe, 0x908c, 0x0070, 0x0178, 0x2009, 0x0032, 0x260a, + 0x2009, 0x0033, 0x250a, 0xd0b4, 0x0108, 0x8c60, 0xd0ac, 0x0108, + 0x8d68, 0xd0a4, 0x0108, 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, + 0x781c, 0xd084, 0x0110, 0x7837, 0x0050, 0x00fe, 0x0005, 0x00e6, + 0x2071, 0x0100, 0x2001, 0x19a9, 0x2004, 0x70e2, 0x080c, 0x3c87, + 0x1188, 0x2001, 0x1820, 0x2004, 0x2009, 0x181f, 0x210c, 0x918c, + 0x00ff, 0x706e, 0x716a, 0x7066, 0x918d, 0x3200, 0x7162, 0x7073, + 0xe109, 0x0080, 0x702c, 0x9085, 0x0002, 0x702e, 0x2009, 0x1818, + 0x210c, 0x716e, 0x7063, 0x0100, 0x7166, 0x719e, 0x706b, 0x0000, + 0x7073, 0x0809, 0x7077, 0x0008, 0x7078, 0x9080, 0x0100, 0x707a, + 0x7080, 0x8000, 0x7082, 0x7087, 0xaaaa, 0x9006, 0x708a, 0x708e, + 0x707e, 0x70d6, 0x70ab, 0x0036, 0x70af, 0x95d5, 0x7014, 0x9084, + 0x1984, 0x9085, 0x0092, 0x7016, 0x080c, 0x40de, 0x00f6, 0x2071, + 0x1a61, 0x2079, 0x0320, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, + 0x0120, 0x689c, 0x780e, 0x6898, 0x780a, 0x00de, 0x2009, 0x03e8, + 0x8109, 0x1df0, 0x792c, 0xd1fc, 0x0110, 0x782b, 0x0004, 0x2011, + 0x0011, 0x080c, 0x406a, 0x2011, 0x0001, 0x080c, 0x406a, 0x00fe, + 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a61, 0x2079, 0x0320, + 0x792c, 0xd1fc, 0x0904, 0x4067, 0x782b, 0x0002, 0x9026, 0xd19c, + 0x1904, 0x4063, 0x7000, 0x0002, 0x4067, 0x4018, 0x4048, 0x4063, + 0xd1bc, 0x1170, 0xd1dc, 0x1190, 0x8001, 0x7002, 0x2011, 0x0001, + 0x080c, 0x406a, 0x0904, 0x4067, 0x080c, 0x406a, 0x0804, 0x4067, + 0x00f6, 0x2079, 0x0300, 0x78bf, 0x0000, 0x00fe, 0x7810, 0x7914, + 0x782b, 0x0004, 0x7812, 0x7916, 0x2001, 0x0201, 0x200c, 0x81ff, + 0x0de8, 0x080c, 0x3f75, 0x2009, 0x0001, 0x00f6, 0x2079, 0x0300, + 0x78b8, 0x00fe, 0xd0ec, 0x0110, 0x2009, 0x0011, 0x792a, 0x00f8, + 0x8001, 0x7002, 0x9184, 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, + 0x400c, 0x2011, 0x0001, 0x00b1, 0x0090, 0xa010, 0x9092, 0x0004, + 0x9086, 0x0015, 0x1120, 0xa000, 0xa05a, 0x2011, 0x0031, 0xa212, + 0xd1dc, 0x1960, 0x0828, 0x782b, 0x0004, 0x7003, 0x0000, 0x00ee, + 0x00fe, 0x0005, 0xa014, 0x9005, 0x0550, 0x8001, 0x0036, 0x0096, + 0xa016, 0xa058, 0x2048, 0xa010, 0x2009, 0x0031, 0x911a, 0x831c, + 0x831c, 0x938a, 0x0007, 0x1a0c, 0x0dd5, 0x9398, 0x4098, 0x231d, + 0x083f, 0x9080, 0x0004, 0x7a2a, 0x7100, 0x8108, 0x7102, 0x009e, + 0x003e, 0x908a, 0x0035, 0x1140, 0x0096, 0xa058, 0x2048, 0xa804, + 0xa05a, 0x2001, 0x0019, 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, + 0x40d5, 0x40cc, 0x40c3, 0x40ba, 0x40b1, 0x40a8, 0x409f, 0xa964, + 0x7902, 0xa968, 0x7906, 0xa96c, 0x7912, 0xa970, 0x7916, 0x0005, + 0xa974, 0x7902, 0xa978, 0x7906, 0xa97c, 0x7912, 0xa980, 0x7916, + 0x0005, 0xa984, 0x7902, 0xa988, 0x7906, 0xa98c, 0x7912, 0xa990, + 0x7916, 0x0005, 0xa994, 0x7902, 0xa998, 0x7906, 0xa99c, 0x7912, + 0xa9a0, 0x7916, 0x0005, 0xa9a4, 0x7902, 0xa9a8, 0x7906, 0xa9ac, + 0x7912, 0xa9b0, 0x7916, 0x0005, 0xa9b4, 0x7902, 0xa9b8, 0x7906, + 0xa9bc, 0x7912, 0xa9c0, 0x7916, 0x0005, 0xa9c4, 0x7902, 0xa9c8, + 0x7906, 0xa9cc, 0x7912, 0xa9d0, 0x7916, 0x0005, 0x00f6, 0x00e6, + 0x0086, 0x2071, 0x1a65, 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01e8, + 0x782b, 0x0002, 0x2940, 0x9026, 0x7000, 0x0002, 0x4105, 0x40f1, + 0x40fc, 0x8001, 0x7002, 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, + 0x406a, 0x190c, 0x406a, 0x0048, 0x8001, 0x7002, 0x782c, 0xd0fc, + 0x1d38, 0x2011, 0x0001, 0x080c, 0x406a, 0x008e, 0x00ee, 0x00fe, + 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x2061, 0x0200, 0x2001, + 0x19a9, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x19a8, 0x2004, + 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, + 0x0520, 0x2038, 0x2001, 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, + 0x080c, 0x4abe, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, + 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, + 0x0096, 0xa858, 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, + 0x4181, 0x1d68, 0x2900, 0xa85a, 0x00d0, 0x080c, 0x4abe, 0xa813, + 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, + 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, + 0x9084, 0xfff8, 0xa86e, 0x2001, 0x002b, 0x2004, 0xa872, 0x2061, + 0x0090, 0x2079, 0x0100, 0x2001, 0x19a8, 0x2004, 0x6036, 0x2009, + 0x0040, 0x080c, 0x23df, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, + 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, + 0x78ca, 0x9006, 0x600a, 0x600e, 0x008e, 0x00ce, 0x00ee, 0x00fe, + 0x0005, 0x00e6, 0x2071, 0x0080, 0xaa60, 0x22e8, 0x20a0, 0x20e1, + 0x0000, 0x2099, 0x0088, 0x702b, 0x0026, 0x7402, 0x7306, 0x9006, + 0x700a, 0x700e, 0x810b, 0x810b, 0x21a8, 0x810b, 0x7112, 0x702b, + 0x0041, 0x702c, 0xd0fc, 0x0de8, 0x702b, 0x0002, 0x702b, 0x0040, + 0x4005, 0x7400, 0x7304, 0x87ff, 0x0190, 0x0086, 0x0096, 0x2940, + 0x0086, 0x080c, 0x4abe, 0x008e, 0xa058, 0x00a6, 0x2050, 0x2900, + 0xb006, 0xa05a, 0x00ae, 0x009e, 0x008e, 0x9085, 0x0001, 0x00ee, + 0x0005, 0x00e6, 0x2001, 0x002d, 0x2004, 0x9005, 0x0528, 0x2038, + 0x2001, 0x0030, 0x2024, 0x2001, 0x0031, 0x201c, 0x080c, 0x4abe, + 0x2940, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, + 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, + 0xa858, 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x4181, + 0x1d68, 0x2900, 0xa85a, 0x00d8, 0x080c, 0x4abe, 0x2940, 0xa013, + 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, + 0xa066, 0x2001, 0x0031, 0x2004, 0xa06a, 0x2001, 0x002a, 0x2004, + 0x9084, 0xfff8, 0xa06e, 0x2001, 0x002b, 0x2004, 0xa072, 0x2001, + 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1180, 0x2001, 0x0101, + 0x200c, 0x918d, 0x0200, 0x2102, 0xa017, 0x0000, 0x2001, 0x1a61, + 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x2001, 0x0300, + 0x2003, 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, + 0x200c, 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, + 0x8000, 0x20a9, 0x0007, 0x20a1, 0x1840, 0x20e9, 0x0001, 0x9006, + 0x4004, 0x20a9, 0x0014, 0x20a1, 0xffec, 0x20e9, 0x0000, 0x9006, + 0x4004, 0x2009, 0x013c, 0x200a, 0x012e, 0x7880, 0x9086, 0x0052, + 0x0108, 0x0005, 0x0804, 0x3531, 0x7d98, 0x7c9c, 0x0804, 0x3633, + 0x080c, 0x73b3, 0x190c, 0x5ff2, 0x6040, 0x9084, 0x0020, 0x09b1, + 0x2069, 0x1847, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, + 0x7d98, 0x2039, 0x0001, 0x080c, 0x4b07, 0x701f, 0x4260, 0x0005, + 0x080c, 0x56f1, 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, 0x20d8, + 0x21d0, 0x2069, 0x1847, 0x6800, 0x9005, 0x0904, 0x3566, 0x6804, + 0xd0ac, 0x0118, 0xd0a4, 0x0904, 0x3566, 0xd094, 0x00c6, 0x2061, + 0x0100, 0x6104, 0x0138, 0x6200, 0x9292, 0x0005, 0x0218, 0x918c, + 0xffdf, 0x0010, 0x918d, 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, + 0x2061, 0x0100, 0x6104, 0x0118, 0x918d, 0x0010, 0x0010, 0x918c, + 0xffef, 0x6106, 0x00ce, 0xd084, 0x0158, 0x6a28, 0x928a, 0x007f, + 0x1a04, 0x3566, 0x9288, 0x3332, 0x210d, 0x918c, 0x00ff, 0x6166, + 0xd0dc, 0x0130, 0x6828, 0x908a, 0x007f, 0x1a04, 0x3566, 0x605e, + 0x6888, 0x9084, 0x0030, 0x8004, 0x8004, 0x8004, 0x8004, 0x0006, + 0x2009, 0x19b0, 0x9080, 0x2987, 0x2005, 0x200a, 0x000e, 0x2009, + 0x19b1, 0x9080, 0x298b, 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, + 0x0a04, 0x3566, 0x908a, 0x0841, 0x1a04, 0x3566, 0x9084, 0x0007, + 0x1904, 0x3566, 0x680c, 0x9005, 0x0904, 0x3566, 0x6810, 0x9005, + 0x0904, 0x3566, 0x6848, 0x6940, 0x910a, 0x1a04, 0x3566, 0x8001, + 0x0904, 0x3566, 0x684c, 0x6944, 0x910a, 0x1a04, 0x3566, 0x8001, + 0x0904, 0x3566, 0x2009, 0x1980, 0x200b, 0x0000, 0x2001, 0x1869, + 0x2004, 0xd0c4, 0x0140, 0x7884, 0x200a, 0x2009, 0x017f, 0x200a, + 0x3b00, 0xc085, 0x20d8, 0x6814, 0x908c, 0x00ff, 0x614e, 0x8007, + 0x9084, 0x00ff, 0x6052, 0x080c, 0x76ca, 0x080c, 0x69bb, 0x080c, + 0x69ef, 0x6808, 0x602a, 0x080c, 0x2351, 0x2009, 0x0170, 0x200b, + 0x0080, 0xa001, 0xa001, 0x200b, 0x0000, 0x0036, 0x6b08, 0x080c, + 0x28ee, 0x003e, 0x6000, 0x9086, 0x0000, 0x1904, 0x43f7, 0x6818, + 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, 0x831f, 0x6016, + 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, 0x6830, 0x6934, + 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, 0x0010, 0x9084, + 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, 0x810f, 0x8217, + 0x831f, 0x20a9, 0x0004, 0x20a1, 0x19b2, 0x20e9, 0x0001, 0x4001, + 0x20a9, 0x0004, 0x20a1, 0x19cc, 0x20e9, 0x0001, 0x4001, 0x080c, + 0x85f5, 0x00c6, 0x900e, 0x20a9, 0x0001, 0x6b70, 0xd384, 0x0510, + 0x0068, 0x2009, 0x0100, 0x210c, 0x918e, 0x0008, 0x1110, 0x839d, + 0x0010, 0x83f5, 0x3e18, 0x12b0, 0x3508, 0x8109, 0x080c, 0x7c81, + 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, 0xff00, 0x8007, 0x600a, + 0x9184, 0x00ff, 0x6006, 0x8108, 0x1118, 0x6003, 0x0003, 0x0010, + 0x6003, 0x0001, 0x1f04, 0x4351, 0x00ce, 0x00c6, 0x2061, 0x199b, + 0x6a88, 0x9284, 0xc000, 0x2010, 0x9286, 0x0000, 0x1158, 0x2063, + 0x0000, 0x2001, 0x0001, 0x080c, 0x2b95, 0x2001, 0x0001, 0x080c, + 0x2b78, 0x0088, 0x9286, 0x4000, 0x1148, 0x2063, 0x0001, 0x9006, + 0x080c, 0x2b95, 0x9006, 0x080c, 0x2b78, 0x0028, 0x9286, 0x8000, + 0x1d30, 0x2063, 0x0002, 0x00ce, 0x6888, 0xd0ec, 0x0130, 0x2011, + 0x0114, 0x2204, 0x9085, 0x0100, 0x2012, 0x6a80, 0x9284, 0x0030, + 0x9086, 0x0030, 0x1128, 0x9294, 0xffcf, 0x9295, 0x0020, 0x6a82, + 0x2001, 0x197b, 0x6a80, 0x9294, 0x0030, 0x928e, 0x0000, 0x0170, + 0x928e, 0x0010, 0x0118, 0x928e, 0x0020, 0x0140, 0x2003, 0xaaaa, + 0x080c, 0x2963, 0x2001, 0x196c, 0x2102, 0x0008, 0x2102, 0x00c6, + 0x2061, 0x0100, 0x602f, 0x0040, 0x602f, 0x0000, 0x00ce, 0x080c, + 0x73b3, 0x0128, 0x080c, 0x4fee, 0x0110, 0x080c, 0x28b4, 0x60d4, + 0x9005, 0x01c0, 0x6003, 0x0001, 0x2009, 0x43df, 0x00e0, 0x080c, + 0x73b3, 0x1168, 0x2011, 0x7249, 0x080c, 0x84f9, 0x2011, 0x723c, + 0x080c, 0x85d3, 0x080c, 0x769e, 0x080c, 0x72e5, 0x0040, 0x080c, + 0x5eec, 0x0028, 0x6003, 0x0004, 0x2009, 0x43f7, 0x0020, 0x080c, + 0x68eb, 0x0804, 0x3531, 0x2001, 0x0170, 0x2004, 0x9084, 0x00ff, + 0x9086, 0x004c, 0x1118, 0x2091, 0x30bd, 0x0817, 0x2091, 0x303d, + 0x0817, 0x6000, 0x9086, 0x0000, 0x0904, 0x3563, 0x2069, 0x1847, + 0x7890, 0x6842, 0x7894, 0x6846, 0x2d00, 0x2009, 0x0030, 0x7a8c, + 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x0804, 0x4b0a, 0x9006, + 0x080c, 0x28b4, 0x81ff, 0x1904, 0x3563, 0x080c, 0x73b3, 0x11b0, + 0x080c, 0x7699, 0x080c, 0x602d, 0x080c, 0x3326, 0x0118, 0x6130, + 0xc18d, 0x6132, 0x080c, 0xd25a, 0x0130, 0x080c, 0x73d6, 0x1118, + 0x080c, 0x738b, 0x0038, 0x080c, 0x72e5, 0x0020, 0x080c, 0x5ff2, + 0x080c, 0x5eec, 0x0804, 0x3531, 0x81ff, 0x1904, 0x3563, 0x080c, + 0x73b3, 0x1110, 0x0804, 0x3563, 0x6194, 0x81ff, 0x01a8, 0x704f, + 0x0000, 0x2001, 0x1c80, 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, + 0x7d98, 0x0126, 0x2091, 0x8000, 0x2039, 0x0001, 0x080c, 0x4b0a, + 0x701f, 0x352f, 0x012e, 0x0005, 0x704f, 0x0001, 0x00d6, 0x2069, + 0x1c80, 0x20a9, 0x0040, 0x20e9, 0x0001, 0x20a1, 0x1c80, 0x2019, + 0xffff, 0x4304, 0x655c, 0x9588, 0x3332, 0x210d, 0x918c, 0x00ff, + 0x216a, 0x900e, 0x2011, 0x0002, 0x2100, 0x9506, 0x01a8, 0x080c, + 0x6616, 0x1190, 0xb814, 0x821c, 0x0238, 0x9398, 0x1c80, 0x9085, + 0xff00, 0x8007, 0x201a, 0x0038, 0x9398, 0x1c80, 0x2324, 0x94a4, + 0xff00, 0x9405, 0x201a, 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, + 0x0c18, 0x8201, 0x8007, 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, + 0x0040, 0x20a1, 0x1c80, 0x2099, 0x1c80, 0x080c, 0x5f7d, 0x0804, + 0x4451, 0x080c, 0x4af1, 0x0904, 0x3566, 0x080c, 0x4abe, 0x1120, + 0x2009, 0x0002, 0x0804, 0x3563, 0x080c, 0x56e2, 0xd0b4, 0x0558, + 0x7884, 0x908e, 0x007e, 0x0538, 0x908e, 0x007f, 0x0520, 0x908e, + 0x0080, 0x0508, 0x080c, 0x3321, 0x1148, 0xb800, 0xd08c, 0x11d8, + 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x11a8, 0xa867, 0x0000, + 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xcd23, 0x1120, 0x2009, 0x0003, + 0x0804, 0x3563, 0x7007, 0x0003, 0x701f, 0x44df, 0x0005, 0x080c, + 0x4af1, 0x0904, 0x3566, 0x20a9, 0x002b, 0xb8c4, 0x20e0, 0xb8c8, + 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, + 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, + 0x9080, 0x0006, 0x2098, 0x080c, 0x0f7c, 0x0070, 0x20a9, 0x0004, + 0xa85c, 0x9080, 0x000a, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, + 0x000a, 0x2098, 0x080c, 0x0f7c, 0x8906, 0x8006, 0x8007, 0x90bc, + 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0x7a8c, + 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b0a, 0x81ff, 0x1904, 0x3563, + 0x080c, 0x4ad5, 0x0904, 0x3566, 0x080c, 0x6788, 0x0904, 0x3563, + 0x0058, 0xa878, 0x9005, 0x0120, 0x2009, 0x0004, 0x0804, 0x3563, + 0xa974, 0xaa94, 0x0804, 0x3531, 0x080c, 0x56ea, 0x0904, 0x3531, + 0x701f, 0x4529, 0x7007, 0x0003, 0x0005, 0x81ff, 0x1904, 0x3563, + 0x7888, 0x908a, 0x1000, 0x1a04, 0x3566, 0x080c, 0x4af1, 0x0904, + 0x3566, 0x080c, 0x6989, 0x0120, 0x080c, 0x6991, 0x1904, 0x3566, + 0x080c, 0x680d, 0x0904, 0x3563, 0x2019, 0x0004, 0x900e, 0x080c, + 0x679a, 0x0904, 0x3563, 0x7984, 0x7a88, 0x04c9, 0x08a8, 0xa89c, + 0x908a, 0x1000, 0x12f8, 0x080c, 0x4aef, 0x01e0, 0x080c, 0x6989, + 0x0118, 0x080c, 0x6991, 0x11b0, 0x080c, 0x680d, 0x2009, 0x0002, + 0x0168, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, 0x679a, 0x2009, + 0x0003, 0x0120, 0xa998, 0xaa9c, 0x00d1, 0x0060, 0xa897, 0x4005, + 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, + 0x0030, 0x0005, 0xa897, 0x4000, 0x080c, 0x56ea, 0x0110, 0x9006, + 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x9186, + 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, 0x007e, 0x2061, 0x1800, + 0x645c, 0x2400, 0x9506, 0x0110, 0x2508, 0x0019, 0x8529, 0x1ec8, + 0x0005, 0x080c, 0x6616, 0x1138, 0x2200, 0x8003, 0x800b, 0x810b, + 0x9108, 0x080c, 0x8507, 0x0005, 0x81ff, 0x1904, 0x3563, 0x798c, + 0x2001, 0x197f, 0x918c, 0x8000, 0x2102, 0x080c, 0x4ad5, 0x0904, + 0x3566, 0x080c, 0x6989, 0x0120, 0x080c, 0x6991, 0x1904, 0x3566, + 0x080c, 0x66dd, 0x0904, 0x3563, 0x080c, 0x6791, 0x0904, 0x3563, + 0x2001, 0x197f, 0x2004, 0xd0fc, 0x1904, 0x3531, 0x0804, 0x4534, + 0xa9a0, 0x2001, 0x197f, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, + 0x4ae2, 0x01a0, 0x080c, 0x6989, 0x0118, 0x080c, 0x6991, 0x1170, + 0x080c, 0x66dd, 0x2009, 0x0002, 0x0128, 0x080c, 0x6791, 0x1170, + 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, + 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, + 0x2001, 0x197f, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56ea, 0x0110, + 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, + 0x81ff, 0x1904, 0x3563, 0x798c, 0x2001, 0x197e, 0x918c, 0x8000, + 0x2102, 0x080c, 0x4ad5, 0x0904, 0x3566, 0x080c, 0x6989, 0x0120, + 0x080c, 0x6991, 0x1904, 0x3566, 0x080c, 0x66dd, 0x0904, 0x3563, + 0x080c, 0x677f, 0x0904, 0x3563, 0x2001, 0x197e, 0x2004, 0xd0fc, + 0x1904, 0x3531, 0x0804, 0x4534, 0xa9a0, 0x2001, 0x197e, 0x918c, + 0x8000, 0xc18d, 0x2102, 0x080c, 0x4ae2, 0x01a0, 0x080c, 0x6989, + 0x0118, 0x080c, 0x6991, 0x1170, 0x080c, 0x66dd, 0x2009, 0x0002, + 0x0128, 0x080c, 0x677f, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, + 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, + 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x197e, 0x2004, 0xd0fc, + 0x1128, 0x080c, 0x56ea, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, + 0x0001, 0x2001, 0x0000, 0x0005, 0x6100, 0x0804, 0x3531, 0x080c, + 0x4af1, 0x0904, 0x3566, 0x080c, 0x56f6, 0x1904, 0x3563, 0x79a8, + 0xd184, 0x1158, 0xb834, 0x8007, 0x789e, 0xb830, 0x8007, 0x789a, + 0xbb2c, 0x831f, 0xba28, 0x8217, 0x0050, 0xb824, 0x8007, 0x789e, + 0xb820, 0x8007, 0x789a, 0xbb1c, 0x831f, 0xba18, 0x8217, 0xb900, + 0x918c, 0x0200, 0x0804, 0x3531, 0x78a8, 0x909c, 0x0003, 0xd0ac, + 0x1150, 0xd0b4, 0x1140, 0x939a, 0x0003, 0x1a04, 0x3563, 0x625c, + 0x7884, 0x9206, 0x15e8, 0x080c, 0x85df, 0x2001, 0xffec, 0x7a8c, + 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0000, 0x0006, 0x78a8, 0x9084, + 0x0080, 0x11c8, 0x0006, 0x0036, 0x2001, 0x1a7e, 0x201c, 0x7b9a, + 0x2003, 0x0000, 0x2001, 0x1a7f, 0x201c, 0x7b9e, 0x2003, 0x0000, + 0x2001, 0x1a80, 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, 0x000e, + 0x000e, 0x0804, 0x4b0a, 0x000e, 0x2031, 0x0000, 0x2061, 0x18b8, + 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, 0xa496, + 0xa59a, 0x080c, 0x10e9, 0x7007, 0x0002, 0x701f, 0x4700, 0x0005, + 0x81ff, 0x1904, 0x3563, 0x080c, 0x4af1, 0x0904, 0x3566, 0x080c, + 0x6989, 0x1904, 0x3563, 0x00c6, 0x080c, 0x4abe, 0x00ce, 0x0904, + 0x3563, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7ea8, 0x080c, + 0xccc9, 0x0904, 0x3563, 0x7007, 0x0003, 0x701f, 0x471a, 0x0005, + 0x080c, 0x4226, 0x0006, 0x0036, 0x2001, 0x1a7e, 0x201c, 0x7b9a, + 0x2003, 0x0000, 0x2001, 0x1a7f, 0x201c, 0x7b9e, 0x2003, 0x0000, + 0x2001, 0x1a80, 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, 0x000e, + 0x0804, 0x3531, 0xa830, 0x9086, 0x0100, 0x0904, 0x3563, 0x8906, + 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, + 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b0a, + 0x9006, 0x080c, 0x28b4, 0x78a8, 0x9084, 0x00ff, 0x9086, 0x00ff, + 0x0118, 0x81ff, 0x1904, 0x3563, 0x080c, 0x73b3, 0x0110, 0x080c, + 0x5ff2, 0x7888, 0x908a, 0x1000, 0x1a04, 0x3566, 0x7984, 0x9186, + 0x00ff, 0x0138, 0x9182, 0x007f, 0x1a04, 0x3566, 0x2100, 0x080c, + 0x287e, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, 0x19f9, + 0x601b, 0x0000, 0x601f, 0x0000, 0x6073, 0x0000, 0x6077, 0x0000, + 0x080c, 0x73b3, 0x1158, 0x080c, 0x7699, 0x080c, 0x602d, 0x9085, + 0x0001, 0x080c, 0x73fa, 0x080c, 0x72e5, 0x00d0, 0x080c, 0xadd0, + 0x2061, 0x0100, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x810f, + 0x9105, 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1998, + 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x5f18, 0x080c, 0x8591, + 0x7984, 0x080c, 0x73b3, 0x1110, 0x2009, 0x00ff, 0x7a88, 0x080c, + 0x4597, 0x012e, 0x00ce, 0x002e, 0x0804, 0x3531, 0x7984, 0x080c, + 0x65b5, 0x2b08, 0x1904, 0x3566, 0x0804, 0x3531, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x3563, 0x60dc, 0xd0ac, 0x1130, 0xd09c, + 0x1120, 0x2009, 0x0005, 0x0804, 0x3563, 0x080c, 0x4abe, 0x1120, + 0x2009, 0x0002, 0x0804, 0x3563, 0x7984, 0x9192, 0x0021, 0x1a04, + 0x3566, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, + 0x702a, 0xaf60, 0x7736, 0x080c, 0x4b07, 0x701f, 0x47ce, 0x7880, + 0x9086, 0x006e, 0x0110, 0x701f, 0x51a0, 0x0005, 0x2009, 0x0080, + 0x080c, 0x6616, 0x1118, 0x080c, 0x6989, 0x0120, 0x2021, 0x400a, + 0x0804, 0x3533, 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, 0xac74, + 0xad78, 0xae7c, 0xa884, 0x90be, 0x0100, 0x0904, 0x4867, 0x90be, + 0x0112, 0x0904, 0x4867, 0x90be, 0x0113, 0x0904, 0x4867, 0x90be, + 0x0114, 0x0904, 0x4867, 0x90be, 0x0117, 0x0904, 0x4867, 0x90be, + 0x011a, 0x0904, 0x4867, 0x90be, 0x011c, 0x0904, 0x4867, 0x90be, + 0x0121, 0x0904, 0x484e, 0x90be, 0x0131, 0x0904, 0x484e, 0x90be, + 0x0171, 0x0904, 0x4867, 0x90be, 0x0173, 0x0904, 0x4867, 0x90be, + 0x01a1, 0x1128, 0xa894, 0x8007, 0xa896, 0x0804, 0x4872, 0x90be, + 0x0212, 0x0904, 0x485b, 0x90be, 0x0213, 0x05e8, 0x90be, 0x0214, + 0x0500, 0x90be, 0x0217, 0x0188, 0x90be, 0x021a, 0x1120, 0xa89c, + 0x8007, 0xa89e, 0x04e0, 0x90be, 0x021f, 0x05c8, 0x90be, 0x0300, + 0x05b0, 0x009e, 0x00de, 0x0804, 0x3566, 0x7028, 0x9080, 0x0010, + 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0007, 0x080c, + 0x48b0, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, + 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48b0, 0x00c8, 0x7028, 0x9080, + 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, + 0x080c, 0x48bd, 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, + 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48bd, 0x7028, + 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, + 0x0001, 0x04f1, 0x00c6, 0x080c, 0x4abe, 0x0550, 0xa868, 0xc0fd, + 0xa86a, 0xa867, 0x0119, 0x9006, 0xa882, 0xa87f, 0x0020, 0xa88b, + 0x0001, 0x810b, 0xa9ae, 0xa8b2, 0xaab6, 0xabba, 0xacbe, 0xadc2, + 0xa9c6, 0xa8ca, 0x00ce, 0x009e, 0x00de, 0xa866, 0xa822, 0xa868, + 0xc0fd, 0xa86a, 0xa804, 0x2048, 0x080c, 0xcce4, 0x1120, 0x2009, + 0x0003, 0x0804, 0x3563, 0x7007, 0x0003, 0x701f, 0x48a7, 0x0005, + 0x00ce, 0x009e, 0x00de, 0x2009, 0x0002, 0x0804, 0x3563, 0xa820, + 0x9086, 0x8001, 0x1904, 0x3531, 0x2009, 0x0004, 0x0804, 0x3563, + 0x0016, 0x0026, 0x3510, 0x20a9, 0x0002, 0x4002, 0x4104, 0x4004, + 0x8211, 0x1dc8, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x0036, + 0x0046, 0x3520, 0x20a9, 0x0004, 0x4002, 0x4304, 0x4204, 0x4104, + 0x4004, 0x8421, 0x1db8, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3563, 0x60dc, 0xd0ac, + 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x3563, 0x7984, + 0x78a8, 0x2040, 0x080c, 0xadc9, 0x1120, 0x9182, 0x007f, 0x0a04, + 0x3566, 0x9186, 0x00ff, 0x0904, 0x3566, 0x9182, 0x0800, 0x1a04, + 0x3566, 0x7a8c, 0x7b88, 0x607c, 0x9306, 0x1158, 0x6080, 0x924e, + 0x0904, 0x3566, 0x080c, 0xadc9, 0x1120, 0x99cc, 0xff00, 0x0904, + 0x3566, 0x0126, 0x2091, 0x8000, 0x080c, 0x49d1, 0x0904, 0x4951, + 0x0086, 0x90c6, 0x4000, 0x008e, 0x1538, 0x00c6, 0x0006, 0x0036, + 0xb818, 0xbb1c, 0x9305, 0xbb20, 0x9305, 0xbb24, 0x9305, 0xbb28, + 0x9305, 0xbb2c, 0x9305, 0xbb30, 0x9305, 0xbb34, 0x9305, 0x003e, + 0x0570, 0xd88c, 0x1128, 0x080c, 0x6989, 0x0110, 0xc89d, 0x0438, + 0x900e, 0x080c, 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, + 0xc18d, 0x000e, 0x00ce, 0x00b8, 0x90c6, 0x4007, 0x1110, 0x2408, + 0x0090, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0060, 0x90c6, + 0x4009, 0x1108, 0x0040, 0x90c6, 0x4006, 0x1108, 0x0020, 0x2001, + 0x4005, 0x2009, 0x000a, 0x2020, 0x012e, 0x0804, 0x3533, 0x000e, + 0x00ce, 0x2b00, 0x7026, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, + 0x080c, 0xaead, 0x0904, 0x49a6, 0x2b00, 0x6012, 0x080c, 0xcfd4, + 0x2e58, 0x00ee, 0x00e6, 0x00c6, 0x080c, 0x4abe, 0x00ce, 0x2b70, + 0x1158, 0x080c, 0xae5f, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, + 0x2009, 0x0002, 0x0804, 0x3563, 0x900e, 0xa966, 0xa96a, 0x2900, + 0x6016, 0xa932, 0xa868, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0xa86a, + 0xd89c, 0x1110, 0x080c, 0x31cc, 0x6023, 0x0001, 0x9006, 0x080c, + 0x6552, 0xd89c, 0x0138, 0x2001, 0x0004, 0x080c, 0x6566, 0x2009, + 0x0003, 0x0030, 0x2001, 0x0002, 0x080c, 0x6566, 0x2009, 0x0002, + 0x080c, 0xaeda, 0x78a8, 0xd094, 0x0138, 0x00ee, 0x7024, 0x00e6, + 0x2058, 0xb8cc, 0xc08d, 0xb8ce, 0x9085, 0x0001, 0x00ee, 0x00ce, + 0x00be, 0x001e, 0x012e, 0x1120, 0x2009, 0x0003, 0x0804, 0x3563, + 0x7007, 0x0003, 0x701f, 0x49b5, 0x0005, 0xa830, 0x9086, 0x0100, + 0x7024, 0x2058, 0x1138, 0x2009, 0x0004, 0xba04, 0x9294, 0x00ff, + 0x0804, 0x563f, 0x900e, 0xa868, 0xd0f4, 0x1904, 0x3531, 0x080c, + 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, + 0x3531, 0x00e6, 0x00d6, 0x0096, 0x83ff, 0x0904, 0x4a20, 0x902e, + 0x080c, 0xadc9, 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, + 0x0030, 0x2021, 0x007f, 0x20a9, 0x0781, 0x2071, 0x107f, 0x2e04, + 0x9005, 0x11b8, 0x2100, 0x9406, 0x1904, 0x4a31, 0x2428, 0x94ce, + 0x007f, 0x1120, 0x92ce, 0xfffd, 0x1558, 0x0030, 0x94ce, 0x0080, + 0x1130, 0x92ce, 0xfffc, 0x1520, 0x93ce, 0x00ff, 0x1508, 0xc5fd, + 0x0480, 0x2058, 0xbf10, 0x2700, 0x9306, 0x11e8, 0xbe14, 0x2600, + 0x9206, 0x11c8, 0x2400, 0x9106, 0x1180, 0xd884, 0x0598, 0xd894, + 0x1588, 0x080c, 0x6929, 0x1570, 0x2001, 0x4000, 0x0460, 0x080c, + 0x6989, 0x1540, 0x2001, 0x4000, 0x0430, 0x2001, 0x4007, 0x0418, + 0x2001, 0x4006, 0x0400, 0x2400, 0x9106, 0x1158, 0xbe14, 0x87ff, + 0x1128, 0x86ff, 0x0918, 0x080c, 0xadc9, 0x1900, 0x2001, 0x4008, + 0x0090, 0x8420, 0x8e70, 0x1f04, 0x49e7, 0x85ff, 0x1130, 0x2001, + 0x4009, 0x0048, 0x2001, 0x0001, 0x0030, 0x080c, 0x65b5, 0x1dd0, + 0xbb12, 0xba16, 0x9006, 0x9005, 0x009e, 0x00de, 0x00ee, 0x0005, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3563, 0x080c, 0x4abe, + 0x1120, 0x2009, 0x0002, 0x0804, 0x3563, 0xa867, 0x0000, 0xa868, + 0xc0fd, 0xa86a, 0x7884, 0x9005, 0x0904, 0x3566, 0x9096, 0x00ff, + 0x0120, 0x9092, 0x0004, 0x1a04, 0x3566, 0x2010, 0x2918, 0x080c, + 0x3172, 0x1120, 0x2009, 0x0003, 0x0804, 0x3563, 0x7007, 0x0003, + 0x701f, 0x4a73, 0x0005, 0xa830, 0x9086, 0x0100, 0x1904, 0x3531, + 0x2009, 0x0004, 0x0804, 0x3563, 0x7984, 0x080c, 0xadc9, 0x1120, + 0x9182, 0x007f, 0x0a04, 0x3566, 0x9186, 0x00ff, 0x0904, 0x3566, + 0x9182, 0x0800, 0x1a04, 0x3566, 0x2001, 0x9000, 0x080c, 0x569a, + 0x1904, 0x3563, 0x0804, 0x3531, 0xa998, 0x080c, 0xadc9, 0x1118, + 0x9182, 0x007f, 0x0280, 0x9186, 0x00ff, 0x0168, 0x9182, 0x0800, + 0x1250, 0x2001, 0x9000, 0x080c, 0x569a, 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, - 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x197f, 0x2004, - 0xd0fc, 0x1128, 0x080c, 0x56e0, 0x0110, 0x9006, 0x0018, 0x900e, - 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x81ff, 0x1904, 0x3558, - 0x798c, 0x2001, 0x197e, 0x918c, 0x8000, 0x2102, 0x080c, 0x4acb, - 0x0904, 0x355b, 0x080c, 0x697b, 0x0120, 0x080c, 0x6983, 0x1904, - 0x355b, 0x080c, 0x66cf, 0x0904, 0x3558, 0x080c, 0x6771, 0x0904, - 0x3558, 0x2001, 0x197e, 0x2004, 0xd0fc, 0x1904, 0x3526, 0x0804, - 0x4529, 0xa9a0, 0x2001, 0x197e, 0x918c, 0x8000, 0xc18d, 0x2102, - 0x080c, 0x4ad8, 0x01a0, 0x080c, 0x697b, 0x0118, 0x080c, 0x6983, - 0x1170, 0x080c, 0x66cf, 0x2009, 0x0002, 0x0128, 0x080c, 0x6771, - 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, - 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, - 0x4000, 0x2001, 0x197e, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56e0, - 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, - 0x0005, 0x6100, 0x0804, 0x3526, 0x080c, 0x4ae7, 0x0904, 0x355b, - 0x080c, 0x56ec, 0x1904, 0x3558, 0x79a8, 0xd184, 0x1158, 0xb834, - 0x8007, 0x789e, 0xb830, 0x8007, 0x789a, 0xbb2c, 0x831f, 0xba28, - 0x8217, 0x0050, 0xb824, 0x8007, 0x789e, 0xb820, 0x8007, 0x789a, - 0xbb1c, 0x831f, 0xba18, 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, - 0x3526, 0x78a8, 0x909c, 0x0003, 0xd0b4, 0x1148, 0x939a, 0x0003, - 0x1a04, 0x3558, 0x625c, 0x7884, 0x9206, 0x1904, 0x46d6, 0x080c, - 0x85c2, 0x2001, 0xfff4, 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, - 0x7d98, 0x2039, 0x0000, 0x0006, 0x78a8, 0x9084, 0x0080, 0x11c8, - 0x0006, 0x0036, 0x2001, 0x1a7e, 0x201c, 0x7b9a, 0x2003, 0x0000, - 0x2001, 0x1a7f, 0x201c, 0x7b9e, 0x2003, 0x0000, 0x2001, 0x1a80, - 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, 0x000e, 0x000e, 0x0804, - 0x4b00, 0x000e, 0x2031, 0x0000, 0x2061, 0x18b8, 0x2c44, 0xa66a, + 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, + 0x2001, 0x0000, 0x0005, 0x2009, 0x000a, 0x0c48, 0x080c, 0x0fff, + 0x0198, 0x9006, 0xa802, 0x7014, 0x9005, 0x1120, 0x2900, 0x7016, + 0x701a, 0x0040, 0x7018, 0xa802, 0x0086, 0x2040, 0x2900, 0xa006, + 0x701a, 0x008e, 0x9085, 0x0001, 0x0005, 0x7984, 0x080c, 0x6616, + 0x1130, 0x7e88, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, + 0x8bff, 0x0005, 0xa998, 0x080c, 0x6616, 0x1130, 0xae9c, 0x9684, + 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xae98, + 0x0008, 0x7e84, 0x2608, 0x080c, 0x6616, 0x1108, 0x0008, 0x905e, + 0x8bff, 0x0005, 0x0016, 0x7114, 0x81ff, 0x0128, 0x2148, 0xa904, + 0x080c, 0x1031, 0x0cc8, 0x7116, 0x711a, 0x001e, 0x0005, 0x2031, + 0x0001, 0x0010, 0x2031, 0x0000, 0x2061, 0x18b8, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, - 0x10e9, 0x7007, 0x0002, 0x701f, 0x46f6, 0x0005, 0x81ff, 0x1904, - 0x3558, 0x080c, 0x4ae7, 0x0904, 0x355b, 0x080c, 0x697b, 0x1904, - 0x3558, 0x00c6, 0x080c, 0x4ab4, 0x00ce, 0x0904, 0x3558, 0xa867, - 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7ea8, 0x080c, 0xccb9, 0x0904, - 0x3558, 0x7007, 0x0003, 0x701f, 0x4710, 0x0005, 0x080c, 0x421b, - 0x0006, 0x0036, 0x2001, 0x1a7e, 0x201c, 0x7b9a, 0x2003, 0x0000, - 0x2001, 0x1a7f, 0x201c, 0x7b9e, 0x2003, 0x0000, 0x2001, 0x1a80, - 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, 0x000e, 0x0804, 0x3526, - 0xa830, 0x9086, 0x0100, 0x0904, 0x3558, 0x8906, 0x8006, 0x8007, - 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x2009, 0x000c, - 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b00, 0x9006, 0x080c, - 0x28a9, 0x78a8, 0x9084, 0x00ff, 0x9086, 0x00ff, 0x0118, 0x81ff, - 0x1904, 0x3558, 0x080c, 0x73a5, 0x0110, 0x080c, 0x5fe8, 0x7888, - 0x908a, 0x1000, 0x1a04, 0x355b, 0x7984, 0x9186, 0x00ff, 0x0138, - 0x9182, 0x007f, 0x1a04, 0x355b, 0x2100, 0x080c, 0x2873, 0x0026, - 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, 0x19f9, 0x601b, 0x0000, - 0x601f, 0x0000, 0x6073, 0x0000, 0x6077, 0x0000, 0x080c, 0x73a5, - 0x1158, 0x080c, 0x768d, 0x080c, 0x6023, 0x9085, 0x0001, 0x080c, - 0x73ec, 0x080c, 0x72d7, 0x00d0, 0x080c, 0xade2, 0x2061, 0x0100, - 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x810f, 0x9105, 0x604a, - 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1998, 0x200b, 0x0000, - 0x2009, 0x002d, 0x2011, 0x5f0e, 0x080c, 0x8574, 0x7984, 0x080c, - 0x73a5, 0x1110, 0x2009, 0x00ff, 0x7a88, 0x080c, 0x458c, 0x012e, - 0x00ce, 0x002e, 0x0804, 0x3526, 0x7984, 0x080c, 0x65a7, 0x2b08, - 0x1904, 0x355b, 0x0804, 0x3526, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x3558, 0x60dc, 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, - 0x0005, 0x0804, 0x3558, 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, - 0x0804, 0x3558, 0x7984, 0x9192, 0x0021, 0x1a04, 0x355b, 0x7a8c, - 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0x702a, 0xaf60, - 0x7736, 0x080c, 0x4afd, 0x701f, 0x47c4, 0x7880, 0x9086, 0x006e, - 0x0110, 0x701f, 0x5196, 0x0005, 0x2009, 0x0080, 0x080c, 0x6608, - 0x1118, 0x080c, 0x697b, 0x0120, 0x2021, 0x400a, 0x0804, 0x3528, - 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, 0xac74, 0xad78, 0xae7c, - 0xa884, 0x90be, 0x0100, 0x0904, 0x485d, 0x90be, 0x0112, 0x0904, - 0x485d, 0x90be, 0x0113, 0x0904, 0x485d, 0x90be, 0x0114, 0x0904, - 0x485d, 0x90be, 0x0117, 0x0904, 0x485d, 0x90be, 0x011a, 0x0904, - 0x485d, 0x90be, 0x011c, 0x0904, 0x485d, 0x90be, 0x0121, 0x0904, - 0x4844, 0x90be, 0x0131, 0x0904, 0x4844, 0x90be, 0x0171, 0x0904, - 0x485d, 0x90be, 0x0173, 0x0904, 0x485d, 0x90be, 0x01a1, 0x1128, - 0xa894, 0x8007, 0xa896, 0x0804, 0x4868, 0x90be, 0x0212, 0x0904, - 0x4851, 0x90be, 0x0213, 0x05e8, 0x90be, 0x0214, 0x0500, 0x90be, - 0x0217, 0x0188, 0x90be, 0x021a, 0x1120, 0xa89c, 0x8007, 0xa89e, - 0x04e0, 0x90be, 0x021f, 0x05c8, 0x90be, 0x0300, 0x05b0, 0x009e, - 0x00de, 0x0804, 0x355b, 0x7028, 0x9080, 0x0010, 0x2098, 0x20a0, - 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0007, 0x080c, 0x48a6, 0x7028, - 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, - 0x0001, 0x080c, 0x48a6, 0x00c8, 0x7028, 0x9080, 0x000c, 0x2098, - 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48b3, - 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, - 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48b3, 0x7028, 0x9080, 0x000c, - 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x04f1, - 0x00c6, 0x080c, 0x4ab4, 0x0550, 0xa868, 0xc0fd, 0xa86a, 0xa867, - 0x0119, 0x9006, 0xa882, 0xa87f, 0x0020, 0xa88b, 0x0001, 0x810b, - 0xa9ae, 0xa8b2, 0xaab6, 0xabba, 0xacbe, 0xadc2, 0xa9c6, 0xa8ca, - 0x00ce, 0x009e, 0x00de, 0xa866, 0xa822, 0xa868, 0xc0fd, 0xa86a, - 0xa804, 0x2048, 0x080c, 0xccd4, 0x1120, 0x2009, 0x0003, 0x0804, - 0x3558, 0x7007, 0x0003, 0x701f, 0x489d, 0x0005, 0x00ce, 0x009e, - 0x00de, 0x2009, 0x0002, 0x0804, 0x3558, 0xa820, 0x9086, 0x8001, - 0x1904, 0x3526, 0x2009, 0x0004, 0x0804, 0x3558, 0x0016, 0x0026, - 0x3510, 0x20a9, 0x0002, 0x4002, 0x4104, 0x4004, 0x8211, 0x1dc8, - 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x0036, 0x0046, 0x3520, - 0x20a9, 0x0004, 0x4002, 0x4304, 0x4204, 0x4104, 0x4004, 0x8421, - 0x1db8, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x81ff, 0x0120, - 0x2009, 0x0001, 0x0804, 0x3558, 0x60dc, 0xd0ac, 0x1130, 0xd09c, - 0x1120, 0x2009, 0x0005, 0x0804, 0x3558, 0x7984, 0x78a8, 0x2040, - 0x080c, 0xaddb, 0x1120, 0x9182, 0x007f, 0x0a04, 0x355b, 0x9186, - 0x00ff, 0x0904, 0x355b, 0x9182, 0x0800, 0x1a04, 0x355b, 0x7a8c, - 0x7b88, 0x607c, 0x9306, 0x1158, 0x6080, 0x924e, 0x0904, 0x355b, - 0x080c, 0xaddb, 0x1120, 0x99cc, 0xff00, 0x0904, 0x355b, 0x0126, - 0x2091, 0x8000, 0x080c, 0x49c7, 0x0904, 0x4947, 0x0086, 0x90c6, - 0x4000, 0x008e, 0x1538, 0x00c6, 0x0006, 0x0036, 0xb818, 0xbb1c, - 0x9305, 0xbb20, 0x9305, 0xbb24, 0x9305, 0xbb28, 0x9305, 0xbb2c, - 0x9305, 0xbb30, 0x9305, 0xbb34, 0x9305, 0x003e, 0x0570, 0xd88c, - 0x1128, 0x080c, 0x697b, 0x0110, 0xc89d, 0x0438, 0x900e, 0x080c, - 0x6828, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x000e, - 0x00ce, 0x00b8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x0090, 0x90c6, - 0x4008, 0x1118, 0x2708, 0x2610, 0x0060, 0x90c6, 0x4009, 0x1108, - 0x0040, 0x90c6, 0x4006, 0x1108, 0x0020, 0x2001, 0x4005, 0x2009, - 0x000a, 0x2020, 0x012e, 0x0804, 0x3528, 0x000e, 0x00ce, 0x2b00, - 0x7026, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, 0x080c, 0xaebf, - 0x0904, 0x499c, 0x2b00, 0x6012, 0x080c, 0xcfc4, 0x2e58, 0x00ee, - 0x00e6, 0x00c6, 0x080c, 0x4ab4, 0x00ce, 0x2b70, 0x1158, 0x080c, - 0xae71, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x2009, 0x0002, - 0x0804, 0x3558, 0x900e, 0xa966, 0xa96a, 0x2900, 0x6016, 0xa932, - 0xa868, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0xa86a, 0xd89c, 0x1110, - 0x080c, 0x31c1, 0x6023, 0x0001, 0x9006, 0x080c, 0x6544, 0xd89c, - 0x0138, 0x2001, 0x0004, 0x080c, 0x6558, 0x2009, 0x0003, 0x0030, - 0x2001, 0x0002, 0x080c, 0x6558, 0x2009, 0x0002, 0x080c, 0xaeec, - 0x78a8, 0xd094, 0x0138, 0x00ee, 0x7024, 0x00e6, 0x2058, 0xb8cc, - 0xc08d, 0xb8ce, 0x9085, 0x0001, 0x00ee, 0x00ce, 0x00be, 0x001e, - 0x012e, 0x1120, 0x2009, 0x0003, 0x0804, 0x3558, 0x7007, 0x0003, - 0x701f, 0x49ab, 0x0005, 0xa830, 0x9086, 0x0100, 0x7024, 0x2058, - 0x1138, 0x2009, 0x0004, 0xba04, 0x9294, 0x00ff, 0x0804, 0x5635, - 0x900e, 0xa868, 0xd0f4, 0x1904, 0x3526, 0x080c, 0x6828, 0x1108, - 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3526, 0x00e6, - 0x00d6, 0x0096, 0x83ff, 0x0904, 0x4a16, 0x902e, 0x080c, 0xaddb, - 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, - 0x007f, 0x20a9, 0x0781, 0x2071, 0x107f, 0x2e04, 0x9005, 0x11b8, - 0x2100, 0x9406, 0x1904, 0x4a27, 0x2428, 0x94ce, 0x007f, 0x1120, - 0x92ce, 0xfffd, 0x1558, 0x0030, 0x94ce, 0x0080, 0x1130, 0x92ce, - 0xfffc, 0x1520, 0x93ce, 0x00ff, 0x1508, 0xc5fd, 0x0480, 0x2058, - 0xbf10, 0x2700, 0x9306, 0x11e8, 0xbe14, 0x2600, 0x9206, 0x11c8, - 0x2400, 0x9106, 0x1180, 0xd884, 0x0598, 0xd894, 0x1588, 0x080c, - 0x691b, 0x1570, 0x2001, 0x4000, 0x0460, 0x080c, 0x697b, 0x1540, - 0x2001, 0x4000, 0x0430, 0x2001, 0x4007, 0x0418, 0x2001, 0x4006, - 0x0400, 0x2400, 0x9106, 0x1158, 0xbe14, 0x87ff, 0x1128, 0x86ff, - 0x0918, 0x080c, 0xaddb, 0x1900, 0x2001, 0x4008, 0x0090, 0x8420, - 0x8e70, 0x1f04, 0x49dd, 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, - 0x2001, 0x0001, 0x0030, 0x080c, 0x65a7, 0x1dd0, 0xbb12, 0xba16, - 0x9006, 0x9005, 0x009e, 0x00de, 0x00ee, 0x0005, 0x81ff, 0x0120, - 0x2009, 0x0001, 0x0804, 0x3558, 0x080c, 0x4ab4, 0x1120, 0x2009, - 0x0002, 0x0804, 0x3558, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, - 0x7884, 0x9005, 0x0904, 0x355b, 0x9096, 0x00ff, 0x0120, 0x9092, - 0x0004, 0x1a04, 0x355b, 0x2010, 0x2918, 0x080c, 0x3167, 0x1120, - 0x2009, 0x0003, 0x0804, 0x3558, 0x7007, 0x0003, 0x701f, 0x4a69, - 0x0005, 0xa830, 0x9086, 0x0100, 0x1904, 0x3526, 0x2009, 0x0004, - 0x0804, 0x3558, 0x7984, 0x080c, 0xaddb, 0x1120, 0x9182, 0x007f, - 0x0a04, 0x355b, 0x9186, 0x00ff, 0x0904, 0x355b, 0x9182, 0x0800, - 0x1a04, 0x355b, 0x2001, 0x9000, 0x080c, 0x5690, 0x1904, 0x3558, - 0x0804, 0x3526, 0xa998, 0x080c, 0xaddb, 0x1118, 0x9182, 0x007f, - 0x0280, 0x9186, 0x00ff, 0x0168, 0x9182, 0x0800, 0x1250, 0x2001, - 0x9000, 0x080c, 0x5690, 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, - 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, - 0x0005, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, - 0x0005, 0x2009, 0x000a, 0x0c48, 0x080c, 0x0fff, 0x0198, 0x9006, - 0xa802, 0x7014, 0x9005, 0x1120, 0x2900, 0x7016, 0x701a, 0x0040, - 0x7018, 0xa802, 0x0086, 0x2040, 0x2900, 0xa006, 0x701a, 0x008e, - 0x9085, 0x0001, 0x0005, 0x7984, 0x080c, 0x6608, 0x1130, 0x7e88, - 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, - 0xa998, 0x080c, 0x6608, 0x1130, 0xae9c, 0x9684, 0x3fff, 0x9082, - 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xae98, 0x0008, 0x7e84, - 0x2608, 0x080c, 0x6608, 0x1108, 0x0008, 0x905e, 0x8bff, 0x0005, - 0x0016, 0x7114, 0x81ff, 0x0128, 0x2148, 0xa904, 0x080c, 0x1031, - 0x0cc8, 0x7116, 0x711a, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, - 0x2031, 0x0000, 0x2061, 0x18b8, 0x2c44, 0xa66a, 0xa17a, 0xa772, - 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x10e9, 0x7007, - 0x0002, 0x701f, 0x3526, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, - 0x2079, 0x0000, 0x2001, 0x18b0, 0x2004, 0x9005, 0x1190, 0x0e04, - 0x4b31, 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, 0x7c8a, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x0804, - 0x4b97, 0x0016, 0x0086, 0x0096, 0x00c6, 0x00e6, 0x2071, 0x189e, - 0x7044, 0x9005, 0x1540, 0x7148, 0x9182, 0x0010, 0x0288, 0x7038, - 0x2060, 0x080c, 0x0fff, 0x0904, 0x4b8f, 0xa84b, 0x0000, 0x2900, - 0x7046, 0x2001, 0x0002, 0x9080, 0x2092, 0x2005, 0xa846, 0x0098, - 0x7038, 0x90e0, 0x0004, 0x2001, 0x18ba, 0x9c82, 0x18fa, 0x0210, - 0x2061, 0x18ba, 0x2c00, 0x703a, 0x7148, 0x81ff, 0x1108, 0x703e, - 0x8108, 0x714a, 0x0460, 0x7148, 0x8108, 0x714a, 0x7044, 0x2040, - 0xa144, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0dd5, 0x2060, - 0x001e, 0x8108, 0x2105, 0x9005, 0xa146, 0x1520, 0x080c, 0x0fff, - 0x1130, 0x8109, 0xa946, 0x7148, 0x8109, 0x714a, 0x00d8, 0x9006, - 0xa806, 0xa84a, 0xa046, 0x2800, 0xa802, 0x2900, 0xa006, 0x7046, - 0x2001, 0x0002, 0x9080, 0x2092, 0x2005, 0xa846, 0x0058, 0x2262, - 0x6306, 0x640a, 0x00ee, 0x00ce, 0x009e, 0x008e, 0x001e, 0x012e, - 0x00fe, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4bb9, 0x4bb9, - 0x4bbb, 0x4bb9, 0x4bb9, 0x4bb9, 0x4bbf, 0x4bb9, 0x4bb9, 0x4bb9, - 0x4bc3, 0x4bb9, 0x4bb9, 0x4bb9, 0x4bc7, 0x4bb9, 0x4bb9, 0x4bb9, - 0x4bcb, 0x4bb9, 0x4bb9, 0x4bb9, 0x4bcf, 0x4bb9, 0x4bb9, 0x4bb9, - 0x4bd4, 0x080c, 0x0dd5, 0xa276, 0xa37a, 0xa47e, 0x0898, 0xa286, - 0xa38a, 0xa48e, 0x0878, 0xa296, 0xa39a, 0xa49e, 0x0858, 0xa2a6, - 0xa3aa, 0xa4ae, 0x0838, 0xa2b6, 0xa3ba, 0xa4be, 0x0818, 0xa2c6, - 0xa3ca, 0xa4ce, 0x0804, 0x4b92, 0xa2d6, 0xa3da, 0xa4de, 0x0804, - 0x4b92, 0x00e6, 0x2071, 0x189e, 0x7048, 0x9005, 0x0904, 0x4c6b, - 0x0126, 0x2091, 0x8000, 0x0e04, 0x4c6a, 0x00f6, 0x2079, 0x0000, - 0x00c6, 0x0096, 0x0086, 0x0076, 0x9006, 0x2038, 0x7040, 0x2048, - 0x9005, 0x0500, 0xa948, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, - 0x0dd5, 0x2060, 0x001e, 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, - 0x4c6d, 0xa804, 0x9005, 0x090c, 0x0dd5, 0x7042, 0x2938, 0x2040, - 0xa003, 0x0000, 0x2001, 0x0002, 0x9080, 0x2092, 0x2005, 0xa04a, - 0x0804, 0x4c6d, 0x703c, 0x2060, 0x2c14, 0x6304, 0x6408, 0x650c, - 0x2200, 0x7836, 0x7833, 0x0012, 0x7882, 0x2300, 0x7886, 0x2400, - 0x788a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x119b, 0x87ff, 0x0118, 0x2748, 0x080c, 0x1031, 0x7048, 0x8001, - 0x704a, 0x9005, 0x1170, 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, - 0x1031, 0x9006, 0x7042, 0x7046, 0x703b, 0x18ba, 0x703f, 0x18ba, - 0x0420, 0x7040, 0x9005, 0x1508, 0x7238, 0x2c00, 0x9206, 0x0148, - 0x9c80, 0x0004, 0x90fa, 0x18fa, 0x0210, 0x2001, 0x18ba, 0x703e, - 0x00a0, 0x9006, 0x703e, 0x703a, 0x7044, 0x9005, 0x090c, 0x0dd5, - 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, - 0x9080, 0x2092, 0x2005, 0xa84a, 0x0000, 0x007e, 0x008e, 0x009e, - 0x00ce, 0x00fe, 0x012e, 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, - 0x0002, 0x4c8c, 0x4c8c, 0x4c8e, 0x4c8c, 0x4c8c, 0x4c8c, 0x4c93, - 0x4c8c, 0x4c8c, 0x4c8c, 0x4c98, 0x4c8c, 0x4c8c, 0x4c8c, 0x4c9d, - 0x4c8c, 0x4c8c, 0x4c8c, 0x4ca2, 0x4c8c, 0x4c8c, 0x4c8c, 0x4ca7, - 0x4c8c, 0x4c8c, 0x4c8c, 0x4cac, 0x080c, 0x0dd5, 0xaa74, 0xab78, - 0xac7c, 0x0804, 0x4c18, 0xaa84, 0xab88, 0xac8c, 0x0804, 0x4c18, - 0xaa94, 0xab98, 0xac9c, 0x0804, 0x4c18, 0xaaa4, 0xaba8, 0xacac, - 0x0804, 0x4c18, 0xaab4, 0xabb8, 0xacbc, 0x0804, 0x4c18, 0xaac4, - 0xabc8, 0xaccc, 0x0804, 0x4c18, 0xaad4, 0xabd8, 0xacdc, 0x0804, - 0x4c18, 0x0016, 0x0026, 0x0036, 0x00b6, 0x00c6, 0x2009, 0x007e, - 0x080c, 0x6608, 0x2019, 0x0001, 0xb85c, 0xd0ac, 0x0110, 0x2019, - 0x0000, 0x2011, 0x801b, 0x080c, 0x4b14, 0x00ce, 0x00be, 0x003e, - 0x002e, 0x001e, 0x0005, 0x0026, 0x080c, 0x56d8, 0xd0c4, 0x0120, - 0x2011, 0x8014, 0x080c, 0x4b14, 0x002e, 0x0005, 0x81ff, 0x1904, - 0x3558, 0x0126, 0x2091, 0x8000, 0x6030, 0xc08d, 0xc085, 0xc0ac, - 0x6032, 0x080c, 0x73a5, 0x1158, 0x080c, 0x768d, 0x080c, 0x6023, - 0x9085, 0x0001, 0x080c, 0x73ec, 0x080c, 0x72d7, 0x0010, 0x080c, - 0x5ee2, 0x012e, 0x0804, 0x3526, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x3558, 0x080c, 0x56ec, 0x0120, 0x2009, 0x0007, 0x0804, - 0x3558, 0x080c, 0x6973, 0x0120, 0x2009, 0x0008, 0x0804, 0x3558, - 0x7984, 0x080c, 0x65a7, 0x1904, 0x355b, 0x2b00, 0x7026, 0x080c, - 0x697b, 0x7888, 0x1170, 0x9084, 0x0005, 0x1158, 0x900e, 0x080c, - 0x6828, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, - 0x3526, 0x080c, 0x4ab4, 0x0904, 0x3558, 0x9006, 0xa866, 0xa832, - 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xcd72, 0x0904, 0x3558, 0x7888, - 0xd094, 0x0118, 0xb8cc, 0xc08d, 0xb8ce, 0x7007, 0x0003, 0x701f, - 0x4d86, 0x0005, 0x2061, 0x1800, 0x080c, 0x56ec, 0x2009, 0x0007, - 0x1578, 0x080c, 0x6973, 0x0118, 0x2009, 0x0008, 0x0448, 0x080c, - 0x3316, 0x0120, 0xa998, 0x080c, 0x65a7, 0x1530, 0x080c, 0x4ae5, - 0x0518, 0x080c, 0x697b, 0xa89c, 0x1168, 0x9084, 0x0005, 0x1150, - 0x900e, 0x080c, 0x6828, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, - 0xc18d, 0x00d0, 0xa868, 0xc0fc, 0xa86a, 0x080c, 0xcd72, 0x11e0, - 0xa89c, 0xd094, 0x0118, 0xb8cc, 0xc08d, 0xb8ce, 0x2009, 0x0003, - 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, - 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0xa99a, 0x9006, - 0x918d, 0x0001, 0x2008, 0x0005, 0x9006, 0x0005, 0xa830, 0x9086, - 0x0100, 0x7024, 0x2058, 0x1110, 0x0804, 0x5635, 0x900e, 0x080c, - 0x6828, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, - 0x3526, 0x080c, 0x56ec, 0x0120, 0x2009, 0x0007, 0x0804, 0x3558, - 0x7f84, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, 0x4ab4, 0x1120, - 0x2009, 0x0002, 0x0804, 0x3558, 0x900e, 0x2130, 0x7126, 0x7132, - 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, 0x0005, 0x702a, 0x20a0, - 0x080c, 0x6608, 0x1904, 0x4e28, 0x080c, 0x697b, 0x0138, 0x080c, - 0x6983, 0x0120, 0x080c, 0x691b, 0x1904, 0x4e28, 0xd794, 0x1110, - 0xd784, 0x01a8, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, - 0x3400, 0xd794, 0x0160, 0x20a9, 0x0008, 0x4003, 0x2098, 0x20a0, - 0x3d00, 0x20e0, 0x20a9, 0x0002, 0x080c, 0x48b3, 0x0048, 0x20a9, - 0x0004, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x48b3, - 0x9186, 0x007e, 0x0170, 0x9186, 0x0080, 0x0158, 0x080c, 0x697b, - 0x90c2, 0x0006, 0x1210, 0xc1fd, 0x0020, 0x080c, 0x6828, 0x1108, - 0xc1fd, 0x4104, 0xc1fc, 0xd794, 0x0528, 0xb8c4, 0x20e0, 0xb8c8, - 0x2060, 0x9c80, 0x0000, 0x2098, 0x20a9, 0x0002, 0x4003, 0x9c80, - 0x0003, 0x2098, 0x20a9, 0x0001, 0x4005, 0x9c80, 0x0004, 0x2098, - 0x3400, 0x20a9, 0x0002, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, - 0x080c, 0x48a6, 0x9c80, 0x0026, 0x2098, 0xb8c4, 0x20e0, 0x20a9, - 0x0002, 0x4003, 0xd794, 0x0110, 0x96b0, 0x000b, 0x96b0, 0x0005, - 0x8108, 0x080c, 0xaddb, 0x0118, 0x9186, 0x0800, 0x0040, 0xd78c, - 0x0120, 0x9186, 0x0800, 0x0170, 0x0018, 0x9186, 0x007e, 0x0150, - 0xd794, 0x0118, 0x9686, 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, - 0x0804, 0x4db8, 0x86ff, 0x1120, 0x7124, 0x810b, 0x0804, 0x3526, - 0x7033, 0x0001, 0x7122, 0x7024, 0x9600, 0x7026, 0x772e, 0x2061, - 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xa67a, 0x7034, 0xa072, 0x7028, - 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x10e9, 0x7007, - 0x0002, 0x701f, 0x4e64, 0x0005, 0x7030, 0x9005, 0x1180, 0x7120, - 0x7028, 0x20a0, 0x772c, 0x9036, 0x7034, 0x20e8, 0x2061, 0x18b8, - 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x0804, 0x4db8, 0x7124, - 0x810b, 0x0804, 0x3526, 0x2029, 0x007e, 0x7984, 0x7a88, 0x7b8c, - 0x7c98, 0x9184, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x355b, - 0x9502, 0x0a04, 0x355b, 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, - 0x355b, 0x9502, 0x0a04, 0x355b, 0x9284, 0xff00, 0x8007, 0x90e2, - 0x0020, 0x0a04, 0x355b, 0x9502, 0x0a04, 0x355b, 0x9284, 0x00ff, - 0x90e2, 0x0020, 0x0a04, 0x355b, 0x9502, 0x0a04, 0x355b, 0x9384, - 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x355b, 0x9502, 0x0a04, - 0x355b, 0x9384, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x355b, 0x9502, - 0x0a04, 0x355b, 0x9484, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, - 0x355b, 0x9502, 0x0a04, 0x355b, 0x9484, 0x00ff, 0x90e2, 0x0020, - 0x0a04, 0x355b, 0x9502, 0x0a04, 0x355b, 0x2061, 0x1988, 0x6102, - 0x6206, 0x630a, 0x640e, 0x0804, 0x3526, 0x080c, 0x4ab4, 0x0904, - 0x3558, 0x2009, 0x0016, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, - 0x9080, 0x0019, 0xaf60, 0x080c, 0x4afd, 0x701f, 0x4ee8, 0x0005, - 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, 0x2071, 0x0300, 0x701c, - 0xd0a4, 0x1de8, 0x00ee, 0x20a9, 0x0016, 0x896e, 0x8d6e, 0x8d6f, - 0x9d84, 0xffc0, 0x9080, 0x0019, 0x2098, 0x9d84, 0x003f, 0x20e0, - 0x2069, 0x1877, 0x20e9, 0x0001, 0x2da0, 0x4003, 0x6800, 0x9005, - 0x0904, 0x4f69, 0x6804, 0x2008, 0x918c, 0xfff8, 0x1904, 0x4f69, - 0x680c, 0x9005, 0x0904, 0x4f69, 0x9082, 0xff01, 0x1a04, 0x4f69, - 0x6810, 0x9082, 0x005c, 0x0a04, 0x4f69, 0x6824, 0x2008, 0x9082, - 0x0008, 0x0a04, 0x4f69, 0x9182, 0x0400, 0x1a04, 0x4f69, 0x0056, - 0x2029, 0x0000, 0x080c, 0x8ae4, 0x005e, 0x6944, 0x6820, 0x9102, - 0x06c0, 0x6820, 0x9082, 0x0019, 0x16a0, 0x6828, 0x6944, 0x810c, - 0x9102, 0x0678, 0x6840, 0x9082, 0x000f, 0x1658, 0x080c, 0x1018, - 0x2900, 0x0904, 0x4f83, 0x684e, 0x00e6, 0x2071, 0x1930, 0x00b6, - 0x2059, 0x0000, 0x080c, 0x89a0, 0x00be, 0x00ee, 0x0558, 0x080c, - 0x86fa, 0x080c, 0x8740, 0x11e0, 0x6857, 0x0000, 0x00c6, 0x2061, - 0x0100, 0x6104, 0x918d, 0x2000, 0x6106, 0x6b10, 0x2061, 0x1a61, - 0x630a, 0x00ce, 0x080c, 0x2958, 0x2001, 0x0138, 0x2102, 0x0804, - 0x3526, 0x080c, 0x2958, 0x2001, 0x0138, 0x2102, 0x0804, 0x355b, - 0x00e6, 0x2071, 0x1930, 0x080c, 0x8b75, 0x080c, 0x8b84, 0x080c, - 0x898f, 0x00ee, 0x2001, 0x188a, 0x204c, 0x080c, 0x1031, 0x2001, - 0x188a, 0x2003, 0x0000, 0x080c, 0x2958, 0x2001, 0x0138, 0x2102, - 0x0804, 0x3558, 0x2001, 0x1924, 0x200c, 0x918e, 0x0000, 0x0904, - 0x4fe2, 0x080c, 0x898a, 0x0904, 0x4fe2, 0x2001, 0x0101, 0x200c, - 0x918c, 0xdfff, 0x2102, 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, - 0x2071, 0x0300, 0x701c, 0xd0a4, 0x1de8, 0x00ee, 0x080c, 0x898f, - 0x2001, 0x0035, 0x080c, 0x15f0, 0x00c6, 0x2061, 0x193c, 0x6004, - 0x6100, 0x9106, 0x1de0, 0x00ce, 0x080c, 0x2958, 0x2001, 0x0138, - 0x2102, 0x00e6, 0x00f6, 0x2071, 0x1923, 0x080c, 0x88cb, 0x0120, - 0x2f00, 0x080c, 0x8955, 0x0cc8, 0x00fe, 0x00ee, 0x0126, 0x2091, - 0x8000, 0x2001, 0x188a, 0x200c, 0x81ff, 0x0138, 0x2148, 0x080c, - 0x1031, 0x2001, 0x188a, 0x2003, 0x0000, 0x2001, 0x183c, 0x2003, - 0x0020, 0x00e6, 0x2071, 0x1930, 0x080c, 0x8b75, 0x080c, 0x8b84, - 0x00ee, 0x012e, 0x0804, 0x3526, 0x0006, 0x080c, 0x56d8, 0xd0cc, - 0x000e, 0x0005, 0x0006, 0x080c, 0x56dc, 0xd0bc, 0x000e, 0x0005, - 0x6174, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, 0x0804, 0x3526, - 0x83ff, 0x1904, 0x355b, 0x2001, 0xfff0, 0x9200, 0x1a04, 0x355b, - 0x2019, 0xffff, 0x6078, 0x9302, 0x9200, 0x0a04, 0x355b, 0x7986, - 0x6276, 0x0804, 0x3526, 0x080c, 0x56ec, 0x1904, 0x3558, 0x7c88, - 0x7d84, 0x7e98, 0x7f8c, 0x080c, 0x4ab4, 0x0904, 0x3558, 0x900e, - 0x901e, 0x7326, 0x7332, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, - 0x0003, 0x702a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, - 0x080c, 0x697b, 0x0118, 0x080c, 0x6983, 0x1148, 0x20a9, 0x0001, - 0xb814, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, - 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0170, 0x0c20, 0x83ff, - 0x1148, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, 0x8f51, 0x2208, - 0x0804, 0x3526, 0x7033, 0x0001, 0x7122, 0x7024, 0x9300, 0x7026, - 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xa37a, 0x7028, 0xa076, - 0x7034, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0x080c, 0x10e9, - 0x7007, 0x0002, 0x701f, 0x5065, 0x0005, 0x7030, 0x9005, 0x1178, - 0x7120, 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, 0x2061, 0x18b8, - 0x2c44, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0804, 0x5023, 0x7224, - 0x900e, 0x2001, 0x0003, 0x080c, 0x8f51, 0x2208, 0x0804, 0x3526, - 0x00f6, 0x00e6, 0x080c, 0x56ec, 0x2009, 0x0007, 0x1904, 0x50f8, - 0x2071, 0x189e, 0x745c, 0x84ff, 0x2009, 0x000e, 0x1904, 0x50f8, - 0xac9c, 0xad98, 0xaea4, 0xafa0, 0x0096, 0x080c, 0x1018, 0x2009, - 0x0002, 0x0904, 0x50f8, 0x2900, 0x705e, 0x900e, 0x901e, 0x7356, - 0x7362, 0xa860, 0x7066, 0xa85c, 0x9080, 0x0003, 0x705a, 0x20a0, - 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x697b, 0x0118, - 0x080c, 0x6983, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, - 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, - 0x9386, 0x003c, 0x01e8, 0x0c20, 0x83ff, 0x11c0, 0x7254, 0x900e, - 0x2001, 0x0003, 0x080c, 0x8f51, 0x2208, 0x009e, 0xa897, 0x4000, - 0xa99a, 0x715c, 0x81ff, 0x090c, 0x0dd5, 0x2148, 0x080c, 0x1031, - 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0x0418, 0x7063, 0x0001, - 0x7152, 0x7054, 0x9300, 0x7056, 0x2061, 0x18b9, 0x2c44, 0xa37a, - 0x7058, 0xa076, 0x7064, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, - 0xa09f, 0x5104, 0x000e, 0xa0a2, 0x080c, 0x10e9, 0x9006, 0x0048, - 0x009e, 0xa897, 0x4005, 0xa99a, 0x900e, 0x9085, 0x0001, 0x2001, - 0x0030, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0xa0a0, 0x904d, 0x090c, - 0x0dd5, 0x00e6, 0x2071, 0x189e, 0xa06c, 0x908e, 0x0100, 0x0138, - 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x00d8, 0x7060, - 0x9005, 0x1158, 0x7150, 0x7058, 0x20a0, 0x901e, 0x7064, 0x20e8, - 0xa48c, 0xa590, 0xa694, 0xa798, 0x0428, 0xa87b, 0x0000, 0xa883, - 0x0000, 0xa897, 0x4000, 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, - 0x8f51, 0xaa9a, 0x715c, 0x81ff, 0x090c, 0x0dd5, 0x2148, 0x080c, - 0x1031, 0x705f, 0x0000, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6c86, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x00ee, - 0x00fe, 0x0005, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, - 0x697b, 0x0118, 0x080c, 0x6983, 0x1148, 0xb814, 0x20a9, 0x0001, + 0x10e9, 0x7007, 0x0002, 0x701f, 0x3531, 0x0005, 0x00f6, 0x0126, + 0x2091, 0x8000, 0x2079, 0x0000, 0x2001, 0x18b0, 0x2004, 0x9005, + 0x1190, 0x0e04, 0x4b3b, 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, + 0x7c8a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x119b, 0x0804, 0x4ba1, 0x0016, 0x0086, 0x0096, 0x00c6, 0x00e6, + 0x2071, 0x189e, 0x7044, 0x9005, 0x1540, 0x7148, 0x9182, 0x0010, + 0x0288, 0x7038, 0x2060, 0x080c, 0x0fff, 0x0904, 0x4b99, 0xa84b, + 0x0000, 0x2900, 0x7046, 0x2001, 0x0002, 0x9080, 0x209d, 0x2005, + 0xa846, 0x0098, 0x7038, 0x90e0, 0x0004, 0x2001, 0x18ba, 0x9c82, + 0x18fa, 0x0210, 0x2061, 0x18ba, 0x2c00, 0x703a, 0x7148, 0x81ff, + 0x1108, 0x703e, 0x8108, 0x714a, 0x0460, 0x7148, 0x8108, 0x714a, + 0x7044, 0x2040, 0xa144, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, + 0x0dd5, 0x2060, 0x001e, 0x8108, 0x2105, 0x9005, 0xa146, 0x1520, + 0x080c, 0x0fff, 0x1130, 0x8109, 0xa946, 0x7148, 0x8109, 0x714a, + 0x00d8, 0x9006, 0xa806, 0xa84a, 0xa046, 0x2800, 0xa802, 0x2900, + 0xa006, 0x7046, 0x2001, 0x0002, 0x9080, 0x209d, 0x2005, 0xa846, + 0x0058, 0x2262, 0x6306, 0x640a, 0x00ee, 0x00ce, 0x009e, 0x008e, + 0x001e, 0x012e, 0x00fe, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, + 0x4bc3, 0x4bc3, 0x4bc5, 0x4bc3, 0x4bc3, 0x4bc3, 0x4bc9, 0x4bc3, + 0x4bc3, 0x4bc3, 0x4bcd, 0x4bc3, 0x4bc3, 0x4bc3, 0x4bd1, 0x4bc3, + 0x4bc3, 0x4bc3, 0x4bd5, 0x4bc3, 0x4bc3, 0x4bc3, 0x4bd9, 0x4bc3, + 0x4bc3, 0x4bc3, 0x4bde, 0x080c, 0x0dd5, 0xa276, 0xa37a, 0xa47e, + 0x0898, 0xa286, 0xa38a, 0xa48e, 0x0878, 0xa296, 0xa39a, 0xa49e, + 0x0858, 0xa2a6, 0xa3aa, 0xa4ae, 0x0838, 0xa2b6, 0xa3ba, 0xa4be, + 0x0818, 0xa2c6, 0xa3ca, 0xa4ce, 0x0804, 0x4b9c, 0xa2d6, 0xa3da, + 0xa4de, 0x0804, 0x4b9c, 0x00e6, 0x2071, 0x189e, 0x7048, 0x9005, + 0x0904, 0x4c75, 0x0126, 0x2091, 0x8000, 0x0e04, 0x4c74, 0x00f6, + 0x2079, 0x0000, 0x00c6, 0x0096, 0x0086, 0x0076, 0x9006, 0x2038, + 0x7040, 0x2048, 0x9005, 0x0500, 0xa948, 0x2105, 0x0016, 0x908a, + 0x0036, 0x1a0c, 0x0dd5, 0x2060, 0x001e, 0x8108, 0x2105, 0x9005, + 0xa94a, 0x1904, 0x4c77, 0xa804, 0x9005, 0x090c, 0x0dd5, 0x7042, + 0x2938, 0x2040, 0xa003, 0x0000, 0x2001, 0x0002, 0x9080, 0x209d, + 0x2005, 0xa04a, 0x0804, 0x4c77, 0x703c, 0x2060, 0x2c14, 0x6304, + 0x6408, 0x650c, 0x2200, 0x7836, 0x7833, 0x0012, 0x7882, 0x2300, + 0x7886, 0x2400, 0x788a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x119b, 0x87ff, 0x0118, 0x2748, 0x080c, 0x1031, + 0x7048, 0x8001, 0x704a, 0x9005, 0x1170, 0x7040, 0x2048, 0x9005, + 0x0128, 0x080c, 0x1031, 0x9006, 0x7042, 0x7046, 0x703b, 0x18ba, + 0x703f, 0x18ba, 0x0420, 0x7040, 0x9005, 0x1508, 0x7238, 0x2c00, + 0x9206, 0x0148, 0x9c80, 0x0004, 0x90fa, 0x18fa, 0x0210, 0x2001, + 0x18ba, 0x703e, 0x00a0, 0x9006, 0x703e, 0x703a, 0x7044, 0x9005, + 0x090c, 0x0dd5, 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, 0x7042, + 0x2001, 0x0002, 0x9080, 0x209d, 0x2005, 0xa84a, 0x0000, 0x007e, + 0x008e, 0x009e, 0x00ce, 0x00fe, 0x012e, 0x00ee, 0x0005, 0x2c00, + 0x9082, 0x001b, 0x0002, 0x4c96, 0x4c96, 0x4c98, 0x4c96, 0x4c96, + 0x4c96, 0x4c9d, 0x4c96, 0x4c96, 0x4c96, 0x4ca2, 0x4c96, 0x4c96, + 0x4c96, 0x4ca7, 0x4c96, 0x4c96, 0x4c96, 0x4cac, 0x4c96, 0x4c96, + 0x4c96, 0x4cb1, 0x4c96, 0x4c96, 0x4c96, 0x4cb6, 0x080c, 0x0dd5, + 0xaa74, 0xab78, 0xac7c, 0x0804, 0x4c22, 0xaa84, 0xab88, 0xac8c, + 0x0804, 0x4c22, 0xaa94, 0xab98, 0xac9c, 0x0804, 0x4c22, 0xaaa4, + 0xaba8, 0xacac, 0x0804, 0x4c22, 0xaab4, 0xabb8, 0xacbc, 0x0804, + 0x4c22, 0xaac4, 0xabc8, 0xaccc, 0x0804, 0x4c22, 0xaad4, 0xabd8, + 0xacdc, 0x0804, 0x4c22, 0x0016, 0x0026, 0x0036, 0x00b6, 0x00c6, + 0x2009, 0x007e, 0x080c, 0x6616, 0x2019, 0x0001, 0xb85c, 0xd0ac, + 0x0110, 0x2019, 0x0000, 0x2011, 0x801b, 0x080c, 0x4b1e, 0x00ce, + 0x00be, 0x003e, 0x002e, 0x001e, 0x0005, 0x0026, 0x080c, 0x56e2, + 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x4b1e, 0x002e, 0x0005, + 0x81ff, 0x1904, 0x3563, 0x0126, 0x2091, 0x8000, 0x6030, 0xc08d, + 0xc085, 0xc0ac, 0x6032, 0x080c, 0x73b3, 0x1158, 0x080c, 0x7699, + 0x080c, 0x602d, 0x9085, 0x0001, 0x080c, 0x73fa, 0x080c, 0x72e5, + 0x0010, 0x080c, 0x5eec, 0x012e, 0x0804, 0x3531, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x3563, 0x080c, 0x56f6, 0x0120, 0x2009, + 0x0007, 0x0804, 0x3563, 0x080c, 0x6981, 0x0120, 0x2009, 0x0008, + 0x0804, 0x3563, 0x7984, 0x080c, 0x65b5, 0x1904, 0x3566, 0x2b00, + 0x7026, 0x080c, 0x6989, 0x7888, 0x1170, 0x9084, 0x0005, 0x1158, + 0x900e, 0x080c, 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, + 0xc18d, 0x0804, 0x3531, 0x080c, 0x4abe, 0x0904, 0x3563, 0x9006, + 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xcd82, 0x0904, + 0x3563, 0x7888, 0xd094, 0x0118, 0xb8cc, 0xc08d, 0xb8ce, 0x7007, + 0x0003, 0x701f, 0x4d90, 0x0005, 0x2061, 0x1800, 0x080c, 0x56f6, + 0x2009, 0x0007, 0x1578, 0x080c, 0x6981, 0x0118, 0x2009, 0x0008, + 0x0448, 0x080c, 0x3321, 0x0120, 0xa998, 0x080c, 0x65b5, 0x1530, + 0x080c, 0x4aef, 0x0518, 0x080c, 0x6989, 0xa89c, 0x1168, 0x9084, + 0x0005, 0x1150, 0x900e, 0x080c, 0x6836, 0x1108, 0xc185, 0xb800, + 0xd0bc, 0x0108, 0xc18d, 0x00d0, 0xa868, 0xc0fc, 0xa86a, 0x080c, + 0xcd82, 0x11e0, 0xa89c, 0xd094, 0x0118, 0xb8cc, 0xc08d, 0xb8ce, + 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, + 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, + 0xa99a, 0x9006, 0x918d, 0x0001, 0x2008, 0x0005, 0x9006, 0x0005, + 0xa830, 0x9086, 0x0100, 0x7024, 0x2058, 0x1110, 0x0804, 0x563f, + 0x900e, 0x080c, 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, + 0xc18d, 0x0804, 0x3531, 0x080c, 0x56f6, 0x0120, 0x2009, 0x0007, + 0x0804, 0x3563, 0x7f84, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, + 0x4abe, 0x1120, 0x2009, 0x0002, 0x0804, 0x3563, 0x900e, 0x2130, + 0x7126, 0x7132, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, 0x0005, + 0x702a, 0x20a0, 0x080c, 0x6616, 0x1904, 0x4e32, 0x080c, 0x6989, + 0x0138, 0x080c, 0x6991, 0x0120, 0x080c, 0x6929, 0x1904, 0x4e32, + 0xd794, 0x1110, 0xd784, 0x01a8, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, + 0x0006, 0x2098, 0x3400, 0xd794, 0x0160, 0x20a9, 0x0008, 0x4003, + 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x20a9, 0x0002, 0x080c, 0x48bd, + 0x0048, 0x20a9, 0x0004, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, + 0x080c, 0x48bd, 0x9186, 0x007e, 0x0170, 0x9186, 0x0080, 0x0158, + 0x080c, 0x6989, 0x90c2, 0x0006, 0x1210, 0xc1fd, 0x0020, 0x080c, + 0x6836, 0x1108, 0xc1fd, 0x4104, 0xc1fc, 0xd794, 0x0528, 0xb8c4, + 0x20e0, 0xb8c8, 0x2060, 0x9c80, 0x0000, 0x2098, 0x20a9, 0x0002, + 0x4003, 0x9c80, 0x0003, 0x2098, 0x20a9, 0x0001, 0x4005, 0x9c80, + 0x0004, 0x2098, 0x3400, 0x20a9, 0x0002, 0x4003, 0x2098, 0x20a0, + 0x3d00, 0x20e0, 0x080c, 0x48b0, 0x9c80, 0x0026, 0x2098, 0xb8c4, + 0x20e0, 0x20a9, 0x0002, 0x4003, 0xd794, 0x0110, 0x96b0, 0x000b, + 0x96b0, 0x0005, 0x8108, 0x080c, 0xadc9, 0x0118, 0x9186, 0x0800, + 0x0040, 0xd78c, 0x0120, 0x9186, 0x0800, 0x0170, 0x0018, 0x9186, + 0x007e, 0x0150, 0xd794, 0x0118, 0x9686, 0x0020, 0x0010, 0x9686, + 0x0028, 0x0150, 0x0804, 0x4dc2, 0x86ff, 0x1120, 0x7124, 0x810b, + 0x0804, 0x3531, 0x7033, 0x0001, 0x7122, 0x7024, 0x9600, 0x7026, + 0x772e, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xa67a, 0x7034, + 0xa072, 0x7028, 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, + 0x10e9, 0x7007, 0x0002, 0x701f, 0x4e6e, 0x0005, 0x7030, 0x9005, + 0x1180, 0x7120, 0x7028, 0x20a0, 0x772c, 0x9036, 0x7034, 0x20e8, + 0x2061, 0x18b8, 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x0804, + 0x4dc2, 0x7124, 0x810b, 0x0804, 0x3531, 0x2029, 0x007e, 0x7984, + 0x7a88, 0x7b8c, 0x7c98, 0x9184, 0xff00, 0x8007, 0x90e2, 0x0020, + 0x0a04, 0x3566, 0x9502, 0x0a04, 0x3566, 0x9184, 0x00ff, 0x90e2, + 0x0020, 0x0a04, 0x3566, 0x9502, 0x0a04, 0x3566, 0x9284, 0xff00, + 0x8007, 0x90e2, 0x0020, 0x0a04, 0x3566, 0x9502, 0x0a04, 0x3566, + 0x9284, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x3566, 0x9502, 0x0a04, + 0x3566, 0x9384, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x3566, + 0x9502, 0x0a04, 0x3566, 0x9384, 0x00ff, 0x90e2, 0x0020, 0x0a04, + 0x3566, 0x9502, 0x0a04, 0x3566, 0x9484, 0xff00, 0x8007, 0x90e2, + 0x0020, 0x0a04, 0x3566, 0x9502, 0x0a04, 0x3566, 0x9484, 0x00ff, + 0x90e2, 0x0020, 0x0a04, 0x3566, 0x9502, 0x0a04, 0x3566, 0x2061, + 0x1988, 0x6102, 0x6206, 0x630a, 0x640e, 0x0804, 0x3531, 0x080c, + 0x4abe, 0x0904, 0x3563, 0x2009, 0x0016, 0x7a8c, 0x7b88, 0x7c9c, + 0x7d98, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4b07, 0x701f, + 0x4ef2, 0x0005, 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, 0x2071, + 0x0300, 0x701c, 0xd0a4, 0x1de8, 0x00ee, 0x20a9, 0x0016, 0x896e, + 0x8d6e, 0x8d6f, 0x9d84, 0xffc0, 0x9080, 0x0019, 0x2098, 0x9d84, + 0x003f, 0x20e0, 0x2069, 0x1877, 0x20e9, 0x0001, 0x2da0, 0x4003, + 0x6800, 0x9005, 0x0904, 0x4f73, 0x6804, 0x2008, 0x918c, 0xfff8, + 0x1904, 0x4f73, 0x680c, 0x9005, 0x0904, 0x4f73, 0x9082, 0xff01, + 0x1a04, 0x4f73, 0x6810, 0x9082, 0x005c, 0x0a04, 0x4f73, 0x6824, + 0x2008, 0x9082, 0x0008, 0x0a04, 0x4f73, 0x9182, 0x0400, 0x1a04, + 0x4f73, 0x0056, 0x2029, 0x0000, 0x080c, 0x8b01, 0x005e, 0x6944, + 0x6820, 0x9102, 0x06c0, 0x6820, 0x9082, 0x0019, 0x16a0, 0x6828, + 0x6944, 0x810c, 0x9102, 0x0678, 0x6840, 0x9082, 0x000f, 0x1658, + 0x080c, 0x1018, 0x2900, 0x0904, 0x4f8d, 0x684e, 0x00e6, 0x2071, + 0x1930, 0x00b6, 0x2059, 0x0000, 0x080c, 0x89bd, 0x00be, 0x00ee, + 0x0558, 0x080c, 0x8717, 0x080c, 0x875d, 0x11e0, 0x6857, 0x0000, + 0x00c6, 0x2061, 0x0100, 0x6104, 0x918d, 0x2000, 0x6106, 0x6b10, + 0x2061, 0x1a61, 0x630a, 0x00ce, 0x080c, 0x2963, 0x2001, 0x0138, + 0x2102, 0x0804, 0x3531, 0x080c, 0x2963, 0x2001, 0x0138, 0x2102, + 0x0804, 0x3566, 0x00e6, 0x2071, 0x1930, 0x080c, 0x8b92, 0x080c, + 0x8ba1, 0x080c, 0x89ac, 0x00ee, 0x2001, 0x188a, 0x204c, 0x080c, + 0x1031, 0x2001, 0x188a, 0x2003, 0x0000, 0x080c, 0x2963, 0x2001, + 0x0138, 0x2102, 0x0804, 0x3563, 0x2001, 0x1924, 0x200c, 0x918e, + 0x0000, 0x0904, 0x4fec, 0x080c, 0x89a7, 0x0904, 0x4fec, 0x2001, + 0x0101, 0x200c, 0x918c, 0xdfff, 0x2102, 0x2001, 0x0138, 0x2003, + 0x0000, 0x00e6, 0x2071, 0x0300, 0x701c, 0xd0a4, 0x1de8, 0x00ee, + 0x080c, 0x89ac, 0x2001, 0x0035, 0x080c, 0x15f0, 0x00c6, 0x2061, + 0x193c, 0x6004, 0x6100, 0x9106, 0x1de0, 0x00ce, 0x080c, 0x2963, + 0x2001, 0x0138, 0x2102, 0x00e6, 0x00f6, 0x2071, 0x1923, 0x080c, + 0x88e8, 0x0120, 0x2f00, 0x080c, 0x8972, 0x0cc8, 0x00fe, 0x00ee, + 0x0126, 0x2091, 0x8000, 0x2001, 0x188a, 0x200c, 0x81ff, 0x0138, + 0x2148, 0x080c, 0x1031, 0x2001, 0x188a, 0x2003, 0x0000, 0x2001, + 0x183c, 0x2003, 0x0020, 0x00e6, 0x2071, 0x1930, 0x080c, 0x8b92, + 0x080c, 0x8ba1, 0x00ee, 0x012e, 0x0804, 0x3531, 0x0006, 0x080c, + 0x56e2, 0xd0cc, 0x000e, 0x0005, 0x0006, 0x080c, 0x56e6, 0xd0bc, + 0x000e, 0x0005, 0x6174, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, + 0x0804, 0x3531, 0x83ff, 0x1904, 0x3566, 0x2001, 0xfff0, 0x9200, + 0x1a04, 0x3566, 0x2019, 0xffff, 0x6078, 0x9302, 0x9200, 0x0a04, + 0x3566, 0x7986, 0x6276, 0x0804, 0x3531, 0x080c, 0x56f6, 0x1904, + 0x3563, 0x7c88, 0x7d84, 0x7e98, 0x7f8c, 0x080c, 0x4abe, 0x0904, + 0x3563, 0x900e, 0x901e, 0x7326, 0x7332, 0xa860, 0x20e8, 0x7036, + 0xa85c, 0x9080, 0x0003, 0x702a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, + 0x8bff, 0x0178, 0x080c, 0x6989, 0x0118, 0x080c, 0x6991, 0x1148, + 0x20a9, 0x0001, 0xb814, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, + 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0170, + 0x0c20, 0x83ff, 0x1148, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, + 0x8f70, 0x2208, 0x0804, 0x3531, 0x7033, 0x0001, 0x7122, 0x7024, + 0x9300, 0x7026, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xa37a, + 0x7028, 0xa076, 0x7034, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, + 0x080c, 0x10e9, 0x7007, 0x0002, 0x701f, 0x506f, 0x0005, 0x7030, + 0x9005, 0x1178, 0x7120, 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, + 0x2061, 0x18b8, 0x2c44, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0804, + 0x502d, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, 0x8f70, 0x2208, + 0x0804, 0x3531, 0x00f6, 0x00e6, 0x080c, 0x56f6, 0x2009, 0x0007, + 0x1904, 0x5102, 0x2071, 0x189e, 0x745c, 0x84ff, 0x2009, 0x000e, + 0x1904, 0x5102, 0xac9c, 0xad98, 0xaea4, 0xafa0, 0x0096, 0x080c, + 0x1018, 0x2009, 0x0002, 0x0904, 0x5102, 0x2900, 0x705e, 0x900e, + 0x901e, 0x7356, 0x7362, 0xa860, 0x7066, 0xa85c, 0x9080, 0x0003, + 0x705a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, + 0x6989, 0x0118, 0x080c, 0x6991, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, - 0x0800, 0x0120, 0x9386, 0x003c, 0x0518, 0x0c20, 0x83ff, 0x11f0, - 0x7154, 0x810c, 0xa99a, 0xa897, 0x4000, 0x715c, 0x81ff, 0x090c, - 0x0dd5, 0x2148, 0x080c, 0x1031, 0x9006, 0x705e, 0x918d, 0x0001, - 0x2008, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c86, - 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x0070, 0x7063, 0x0001, - 0x7152, 0x7054, 0x9300, 0x7056, 0xa37a, 0xa48e, 0xa592, 0xa696, - 0xa79a, 0x080c, 0x10e9, 0x9006, 0x00ee, 0x0005, 0x0096, 0xa88c, - 0x90be, 0x7000, 0x0148, 0x90be, 0x7100, 0x0130, 0x90be, 0x7200, - 0x0118, 0x009e, 0x0804, 0x355b, 0xa884, 0xa988, 0x080c, 0x2840, - 0x1518, 0x080c, 0x65a7, 0x1500, 0x7126, 0xbe12, 0xbd16, 0xae7c, - 0x080c, 0x4ab4, 0x01c8, 0x080c, 0x4ab4, 0x01b0, 0x009e, 0xa867, - 0x0000, 0xa868, 0xc0fd, 0xa86a, 0xa823, 0x0000, 0xa804, 0x2048, - 0x080c, 0xccf4, 0x1120, 0x2009, 0x0003, 0x0804, 0x3558, 0x7007, - 0x0003, 0x701f, 0x51d1, 0x0005, 0x009e, 0x2009, 0x0002, 0x0804, - 0x3558, 0x7124, 0x080c, 0x32bd, 0xa820, 0x9086, 0x8001, 0x1120, - 0x2009, 0x0004, 0x0804, 0x3558, 0x2900, 0x7022, 0xa804, 0x0096, - 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, - 0x009e, 0x9080, 0x0002, 0x0076, 0x0006, 0x2098, 0x20a0, 0x27e0, - 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0f7c, 0xaa6c, 0xab70, 0xac74, - 0xad78, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xae64, 0xaf8c, - 0x97c6, 0x7000, 0x0118, 0x97c6, 0x7100, 0x1148, 0x96c2, 0x0004, - 0x0600, 0x2009, 0x0004, 0x000e, 0x007e, 0x0804, 0x4b00, 0x97c6, - 0x7200, 0x11b8, 0x96c2, 0x0054, 0x02a0, 0x000e, 0x007e, 0x2061, - 0x18b8, 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, 0xa28e, 0xa392, - 0xa496, 0xa59a, 0x080c, 0x10e9, 0x7007, 0x0002, 0x701f, 0x522d, - 0x0005, 0x000e, 0x007e, 0x0804, 0x355b, 0x7020, 0x2048, 0xa804, - 0x2048, 0xa804, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, - 0x9084, 0xffc0, 0x9080, 0x0002, 0x2098, 0x20a0, 0x27e0, 0x27e8, - 0x20a9, 0x002a, 0x080c, 0x0f7c, 0x2100, 0x2238, 0x2061, 0x18b8, - 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x2009, 0x002a, 0x0804, - 0x4b00, 0x81ff, 0x1904, 0x3558, 0x798c, 0x2001, 0x197d, 0x918c, - 0x8000, 0x2102, 0x080c, 0x4acb, 0x0904, 0x355b, 0x080c, 0x697b, - 0x0120, 0x080c, 0x6983, 0x1904, 0x355b, 0x080c, 0x66cf, 0x0904, - 0x3558, 0x0126, 0x2091, 0x8000, 0x080c, 0x6795, 0x012e, 0x0904, - 0x3558, 0x2001, 0x197d, 0x2004, 0xd0fc, 0x1904, 0x3526, 0x0804, - 0x4529, 0xa9a0, 0x2001, 0x197d, 0x918c, 0x8000, 0xc18d, 0x2102, - 0x080c, 0x4ad8, 0x01a0, 0x080c, 0x697b, 0x0118, 0x080c, 0x6983, - 0x1170, 0x080c, 0x66cf, 0x2009, 0x0002, 0x0128, 0x080c, 0x6795, - 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, - 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, - 0x4000, 0x2001, 0x197d, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56e0, - 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, - 0x0005, 0x78a8, 0xd08c, 0x1118, 0xd084, 0x0904, 0x449e, 0x080c, - 0x4ae7, 0x0904, 0x355b, 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, - 0x0804, 0x3558, 0x080c, 0x697b, 0x0130, 0x908e, 0x0004, 0x0118, - 0x908e, 0x0005, 0x15a0, 0x78a8, 0xd08c, 0x0120, 0xb800, 0xc08c, - 0xb802, 0x0028, 0x080c, 0x56d8, 0xd0b4, 0x0904, 0x44d8, 0x7884, - 0x908e, 0x007e, 0x0904, 0x44d8, 0x908e, 0x007f, 0x0904, 0x44d8, - 0x908e, 0x0080, 0x0904, 0x44d8, 0xb800, 0xd08c, 0x1904, 0x44d8, - 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xcd13, 0x1120, - 0x2009, 0x0003, 0x0804, 0x3558, 0x7007, 0x0003, 0x701f, 0x52f9, - 0x0005, 0x080c, 0x4ae7, 0x0904, 0x355b, 0x0804, 0x44d8, 0x080c, - 0x3316, 0x0108, 0x0005, 0x2009, 0x1834, 0x210c, 0x81ff, 0x0120, - 0x2009, 0x0001, 0x0804, 0x3558, 0x080c, 0x56ec, 0x0120, 0x2009, - 0x0007, 0x0804, 0x3558, 0x080c, 0x6973, 0x0120, 0x2009, 0x0008, - 0x0804, 0x3558, 0xb89c, 0xd0a4, 0x1118, 0xd0ac, 0x1904, 0x44d8, - 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xcd72, - 0x1120, 0x2009, 0x0003, 0x0804, 0x3558, 0x7007, 0x0003, 0x701f, - 0x5332, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, - 0x0804, 0x5635, 0x080c, 0x4ae7, 0x0904, 0x355b, 0x0804, 0x52cb, - 0x81ff, 0x2009, 0x0001, 0x1904, 0x3558, 0x080c, 0x56ec, 0x2009, - 0x0007, 0x1904, 0x3558, 0x080c, 0x6973, 0x0120, 0x2009, 0x0008, - 0x0804, 0x3558, 0x080c, 0x4ae7, 0x0904, 0x355b, 0x080c, 0x697b, - 0x2009, 0x0009, 0x1904, 0x3558, 0x080c, 0x4ab4, 0x2009, 0x0002, - 0x0904, 0x3558, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, - 0x7988, 0x9194, 0xff00, 0x918c, 0x00ff, 0x9006, 0x82ff, 0x1128, - 0xc0ed, 0xa952, 0x798c, 0xa956, 0x0038, 0x928e, 0x0100, 0x1904, - 0x355b, 0xc0e5, 0xa952, 0xa956, 0xa83e, 0x080c, 0xcfc5, 0x2009, - 0x0003, 0x0904, 0x3558, 0x7007, 0x0003, 0x701f, 0x5388, 0x0005, - 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, 0x3558, 0x0804, - 0x3526, 0x7aa8, 0x9284, 0xc000, 0x0148, 0xd2ec, 0x01a0, 0x080c, - 0x56ec, 0x1188, 0x2009, 0x0014, 0x0804, 0x3558, 0xd2dc, 0x1568, - 0x81ff, 0x2009, 0x0001, 0x1904, 0x3558, 0x080c, 0x56ec, 0x2009, - 0x0007, 0x1904, 0x3558, 0xd2f4, 0x0130, 0x9284, 0x5000, 0x080c, - 0x56b3, 0x0804, 0x3526, 0xd2fc, 0x0158, 0x080c, 0x4ae7, 0x0904, - 0x355b, 0x7984, 0x9284, 0x9000, 0x080c, 0x5690, 0x0804, 0x3526, - 0x080c, 0x4ae7, 0x0904, 0x355b, 0xb804, 0x9084, 0x00ff, 0x9086, - 0x0006, 0x2009, 0x0009, 0x1904, 0x5471, 0x080c, 0x4ab4, 0x2009, - 0x0002, 0x0904, 0x5471, 0xa85c, 0x9080, 0x001b, 0xaf60, 0x2009, - 0x0008, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, 0x4afd, 0x701f, - 0x53e2, 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, 0xa870, 0x9005, - 0x1120, 0xa874, 0x9084, 0xff00, 0x0110, 0x1904, 0x355b, 0xa866, - 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0x4ae7, 0x1110, 0x0804, - 0x355b, 0x2009, 0x0043, 0x080c, 0xd02d, 0x2009, 0x0003, 0x0904, - 0x5471, 0x7007, 0x0003, 0x701f, 0x5406, 0x0005, 0xa830, 0x9086, - 0x0100, 0x2009, 0x0004, 0x0904, 0x5471, 0x7984, 0x7aa8, 0x9284, - 0x1000, 0x080c, 0x5690, 0x0804, 0x3526, 0x00c6, 0xaab0, 0x9284, - 0xc000, 0x0140, 0xd2ec, 0x0168, 0x080c, 0x56ec, 0x1150, 0x2009, - 0x0014, 0x04f0, 0x2061, 0x1800, 0x080c, 0x56ec, 0x2009, 0x0007, - 0x15b8, 0xd2f4, 0x0128, 0x9284, 0x5000, 0x080c, 0x56b3, 0x0050, - 0xd2fc, 0x0178, 0x080c, 0x4ae5, 0x0588, 0xa998, 0x9284, 0x9000, - 0x080c, 0x5690, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, - 0x0438, 0x080c, 0x4ae5, 0x0510, 0x080c, 0x697b, 0x2009, 0x0009, - 0x11b8, 0xa8c4, 0x9086, 0x0500, 0x11c8, 0xa8c8, 0x9005, 0x11b0, - 0xa8cc, 0x9084, 0xff00, 0x1190, 0x080c, 0x4ae5, 0x1108, 0x0070, - 0x2009, 0x004b, 0x080c, 0xd02d, 0x2009, 0x0003, 0x0108, 0x0078, - 0x0429, 0x19c0, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ce, 0x0005, 0x9006, - 0x0ce0, 0x7aa8, 0xd2dc, 0x0904, 0x3558, 0x0016, 0x7984, 0x9284, - 0x1000, 0xc0fd, 0x080c, 0x5690, 0x001e, 0x1904, 0x3558, 0x0804, - 0x3526, 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, 0xaab0, 0xd2dc, - 0x0150, 0x0016, 0xa998, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5690, - 0x001e, 0x9085, 0x0001, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x3558, 0x080c, 0x56ec, 0x0120, 0x2009, 0x0007, 0x0804, - 0x3558, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, 0x6608, 0x1904, - 0x355b, 0x9186, 0x007f, 0x0138, 0x080c, 0x697b, 0x0120, 0x2009, - 0x0009, 0x0804, 0x3558, 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, - 0x0804, 0x3558, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x2001, - 0x0100, 0x8007, 0xa80a, 0x080c, 0xcd2d, 0x1120, 0x2009, 0x0003, - 0x0804, 0x3558, 0x7007, 0x0003, 0x701f, 0x54cf, 0x0005, 0xa808, - 0x8007, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x3558, - 0xa8e0, 0xa866, 0xa810, 0x8007, 0x9084, 0x00ff, 0x800c, 0xa814, - 0x8007, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, 0x9108, 0x8906, - 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0004, - 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b00, 0x080c, 0x4ab4, - 0x1120, 0x2009, 0x0002, 0x0804, 0x3558, 0x7984, 0x9194, 0xff00, - 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, 0x19b2, 0x0040, - 0x92c6, 0x0001, 0x1118, 0x7023, 0x19cc, 0x0010, 0x0804, 0x355b, - 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, - 0x0019, 0xaf60, 0x080c, 0x4afd, 0x701f, 0x551f, 0x0005, 0x2001, - 0x182e, 0x2003, 0x0001, 0xa85c, 0x9080, 0x0019, 0x2098, 0xa860, - 0x20e0, 0x20a9, 0x001a, 0x7020, 0x20a0, 0x20e9, 0x0001, 0x4003, - 0x0804, 0x3526, 0x080c, 0x4ab4, 0x1120, 0x2009, 0x0002, 0x0804, - 0x3558, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, - 0x1118, 0x2099, 0x19b2, 0x0040, 0x92c6, 0x0001, 0x1118, 0x2099, - 0x19cc, 0x0010, 0x0804, 0x355b, 0xa85c, 0x9080, 0x0019, 0x20a0, - 0xa860, 0x20e8, 0x20a9, 0x001a, 0x20e1, 0x0001, 0x4003, 0x2009, - 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, - 0xaf60, 0x0804, 0x4b00, 0x7884, 0x908a, 0x1000, 0x1a04, 0x355b, - 0x0126, 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, 0x9108, 0x00c6, - 0x2061, 0x19f9, 0x6142, 0x00ce, 0x012e, 0x0804, 0x3526, 0x00c6, - 0x080c, 0x73a5, 0x1160, 0x080c, 0x768d, 0x080c, 0x6023, 0x9085, - 0x0001, 0x080c, 0x73ec, 0x080c, 0x72d7, 0x080c, 0x0dd5, 0x2061, - 0x1800, 0x6030, 0xc09d, 0x6032, 0x080c, 0x5ee2, 0x00ce, 0x0005, - 0x00c6, 0x2001, 0x1800, 0x2004, 0x908e, 0x0000, 0x0904, 0x3558, - 0x7884, 0x9005, 0x0188, 0x7888, 0x2061, 0x199b, 0x2c0c, 0x2062, - 0x080c, 0x2c22, 0x01a0, 0x080c, 0x2c2a, 0x0188, 0x080c, 0x2c32, - 0x0170, 0x2162, 0x0804, 0x355b, 0x2061, 0x0100, 0x6038, 0x9086, - 0x0007, 0x1118, 0x2009, 0x0001, 0x0010, 0x2009, 0x0000, 0x7884, - 0x9086, 0x0002, 0x1548, 0x2061, 0x0100, 0x6028, 0xc09c, 0x602a, - 0x0026, 0x2011, 0x0003, 0x080c, 0xa654, 0x2011, 0x0002, 0x080c, - 0xa65e, 0x002e, 0x080c, 0xa541, 0x0036, 0x901e, 0x080c, 0xa5b7, - 0x003e, 0x60e3, 0x0000, 0x080c, 0xea0a, 0x080c, 0xea25, 0x9085, - 0x0001, 0x080c, 0x73ec, 0x9006, 0x080c, 0x2cf1, 0x2001, 0x1800, - 0x2003, 0x0004, 0x6027, 0x0008, 0x00ce, 0x0804, 0x3526, 0x81ff, - 0x0120, 0x2009, 0x0001, 0x0804, 0x3558, 0x080c, 0x56ec, 0x0120, - 0x2009, 0x0007, 0x0804, 0x3558, 0x7984, 0x7ea8, 0x96b4, 0x00ff, - 0x080c, 0x6608, 0x1904, 0x355b, 0x9186, 0x007f, 0x0138, 0x080c, - 0x697b, 0x0120, 0x2009, 0x0009, 0x0804, 0x3558, 0x080c, 0x4ab4, - 0x1120, 0x2009, 0x0002, 0x0804, 0x3558, 0xa867, 0x0000, 0xa868, - 0xc0fd, 0xa86a, 0x080c, 0xcd30, 0x1120, 0x2009, 0x0003, 0x0804, - 0x3558, 0x7007, 0x0003, 0x701f, 0x561e, 0x0005, 0xa830, 0x9086, - 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x3558, 0xa8e0, 0xa866, - 0xa834, 0x8007, 0x800c, 0xa85c, 0x9080, 0x000c, 0x7a8c, 0x7b88, - 0x7c9c, 0x7d98, 0xaf60, 0x0804, 0x4b00, 0xa898, 0x9086, 0x000d, - 0x1904, 0x3558, 0x2021, 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, - 0x5642, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, - 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7883, 0x4005, 0xa998, - 0x7986, 0xa9a4, 0x799a, 0xa9a8, 0x799e, 0x080c, 0x4af0, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x7007, - 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x0126, - 0x2091, 0x8000, 0x00c6, 0x2061, 0x19f9, 0x7984, 0x6152, 0x614e, - 0x6057, 0x0000, 0x604b, 0x0009, 0x7898, 0x606a, 0x789c, 0x6066, - 0x7888, 0x6062, 0x788c, 0x605e, 0x2001, 0x1a07, 0x2044, 0x2001, - 0x1a0e, 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, 0xa07f, 0x0002, - 0xa06b, 0x0000, 0xa09f, 0x0000, 0x00ce, 0x012e, 0x0804, 0x3526, - 0x0126, 0x2091, 0x8000, 0x00b6, 0x00c6, 0x90e4, 0xc000, 0x0128, - 0x0006, 0x080c, 0xcb97, 0x000e, 0x1198, 0xd0e4, 0x0160, 0x9180, - 0x1000, 0x2004, 0x905d, 0x0160, 0x080c, 0x603d, 0x080c, 0xaddb, - 0x0110, 0xb817, 0x0000, 0x9006, 0x00ce, 0x00be, 0x012e, 0x0005, - 0x9085, 0x0001, 0x0cc8, 0x0126, 0x2091, 0x8000, 0x0156, 0x2010, - 0x900e, 0x20a9, 0x0800, 0x0016, 0x9180, 0x1000, 0x2004, 0x9005, - 0x0180, 0x9186, 0x007e, 0x0168, 0x9186, 0x007f, 0x0150, 0x9186, - 0x0080, 0x0138, 0x9186, 0x00ff, 0x0120, 0x0026, 0x2200, 0x0801, - 0x002e, 0x001e, 0x8108, 0x1f04, 0x56bb, 0x015e, 0x012e, 0x0005, - 0x2001, 0x1848, 0x2004, 0x0005, 0x2001, 0x1867, 0x2004, 0x0005, - 0x0006, 0x2001, 0x1810, 0x2004, 0xd0d4, 0x000e, 0x0005, 0x2001, - 0x180e, 0x2004, 0xd0b4, 0x0005, 0x2001, 0x1800, 0x2004, 0x9086, - 0x0003, 0x0005, 0x0016, 0x00e6, 0x2071, 0x189e, 0x7108, 0x910d, - 0x710a, 0x00ee, 0x001e, 0x0005, 0x79a4, 0x9182, 0x0081, 0x1a04, - 0x355b, 0x810c, 0x0016, 0x080c, 0x4ab4, 0x080c, 0x0f07, 0x2100, - 0x2238, 0x7d84, 0x7c88, 0x7b8c, 0x7a90, 0x001e, 0x080c, 0x4afd, - 0x701f, 0x5713, 0x0005, 0x2079, 0x0000, 0x7d94, 0x7c98, 0x7ba8, - 0x7aac, 0x79a4, 0x810c, 0x2061, 0x18b8, 0x2c44, 0xa770, 0xa074, - 0x2071, 0x189e, 0x080c, 0x4b00, 0x701f, 0x5727, 0x0005, 0x2061, - 0x18b8, 0x2c44, 0x0016, 0x0026, 0xa270, 0xa174, 0x080c, 0x0f0f, - 0x002e, 0x001e, 0x080c, 0x0fbc, 0x9006, 0xa802, 0xa806, 0x0804, - 0x3526, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, 0x0200, 0x2071, - 0x1800, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, 0x080c, 0x58e2, - 0x0068, 0xd08c, 0x0118, 0x080c, 0x57eb, 0x0040, 0xd094, 0x0118, - 0x080c, 0x57bb, 0x0018, 0xd09c, 0x0108, 0x0099, 0x00fe, 0x00ee, - 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x012e, - 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, 0x612a, 0x001e, - 0x0c68, 0x0006, 0x7098, 0x9005, 0x000e, 0x0120, 0x709b, 0x0000, - 0x7093, 0x0000, 0x624c, 0x9286, 0xf0f0, 0x1150, 0x6048, 0x9086, - 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, 0x0490, - 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7138, 0xd1a4, 0x1160, - 0x6240, 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, 0x0128, 0x2009, - 0x00f7, 0x080c, 0x5f9f, 0x00f0, 0x6040, 0x9084, 0x0010, 0x9085, - 0x0140, 0x6042, 0x6043, 0x0000, 0x7087, 0x0000, 0x70a3, 0x0001, - 0x70c7, 0x0000, 0x70df, 0x0000, 0x2009, 0x1c80, 0x200b, 0x0000, - 0x7097, 0x0000, 0x708b, 0x000f, 0x2009, 0x000f, 0x2011, 0x5e85, - 0x080c, 0x8574, 0x0005, 0x2001, 0x1869, 0x2004, 0xd08c, 0x0110, - 0x705f, 0xffff, 0x7088, 0x9005, 0x1528, 0x2011, 0x5e85, 0x080c, - 0x84dc, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, 0x20a9, - 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x57d1, 0x6242, 0x709b, - 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, 0x6042, 0x6242, - 0x0048, 0x6242, 0x709b, 0x0000, 0x708f, 0x0000, 0x9006, 0x080c, - 0x6028, 0x0000, 0x0005, 0x708c, 0x908a, 0x0003, 0x1a0c, 0x0dd5, - 0x000b, 0x0005, 0x57f5, 0x5846, 0x58e1, 0x00f6, 0x0016, 0x6900, - 0x918c, 0x0800, 0x708f, 0x0001, 0x2001, 0x015d, 0x2003, 0x0000, - 0x6803, 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, - 0x1f04, 0x5804, 0x080c, 0x0dd5, 0x68a0, 0x68a2, 0x689c, 0x689e, - 0x6898, 0x689a, 0xa001, 0x918d, 0x1600, 0x6902, 0x001e, 0x6837, - 0x0020, 0x080c, 0x6004, 0x2079, 0x1c00, 0x7833, 0x1101, 0x7837, - 0x0000, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0001, 0x20a1, - 0x1c0e, 0x20a9, 0x0004, 0x4003, 0x080c, 0xab2c, 0x20e1, 0x0001, - 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, - 0x4003, 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, 0x5eb6, 0x00fe, - 0x9006, 0x7092, 0x6043, 0x0008, 0x6042, 0x0005, 0x00f6, 0x7090, - 0x7093, 0x0000, 0x9025, 0x0904, 0x58be, 0x6020, 0xd0b4, 0x1904, - 0x58bc, 0x71a0, 0x81ff, 0x0904, 0x58aa, 0x9486, 0x000c, 0x1904, - 0x58b7, 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, 0x5ffd, 0x2011, - 0x0260, 0x2019, 0x1c00, 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, - 0x8318, 0x1f04, 0x5863, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, - 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0006, 0x708f, - 0x0002, 0x709b, 0x0002, 0x2009, 0x07d0, 0x2011, 0x5e8c, 0x080c, - 0x8574, 0x080c, 0x6004, 0x04c0, 0x080c, 0x5ffd, 0x2079, 0x0260, - 0x7930, 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, 0x1540, 0x7900, - 0x918c, 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, 0x080c, 0x5ffd, - 0x2011, 0x026e, 0x2019, 0x1805, 0x20a9, 0x0004, 0x220c, 0x2304, - 0x9102, 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, 0x589e, 0x0078, - 0x70a3, 0x0000, 0x080c, 0x5ffd, 0x20e1, 0x0000, 0x2099, 0x0260, - 0x20e9, 0x0001, 0x20a1, 0x1c00, 0x20a9, 0x0014, 0x4003, 0x6043, - 0x0008, 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, 0x6040, 0x9085, - 0x0100, 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, 0xab2c, 0x20e1, - 0x0001, 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, - 0x0014, 0x4003, 0x60c3, 0x000c, 0x2011, 0x19f0, 0x2013, 0x0000, - 0x7093, 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0xa26b, - 0x08d8, 0x0005, 0x7098, 0x908a, 0x001d, 0x1a0c, 0x0dd5, 0x000b, - 0x0005, 0x5913, 0x5926, 0x594f, 0x596f, 0x5995, 0x59c4, 0x59ea, - 0x5a22, 0x5a48, 0x5a76, 0x5ab1, 0x5ae9, 0x5b07, 0x5b32, 0x5b54, - 0x5b6f, 0x5b79, 0x5bad, 0x5bd3, 0x5c02, 0x5c28, 0x5c60, 0x5ca4, - 0x5ce1, 0x5d02, 0x5d5b, 0x5d7d, 0x5dab, 0x5dab, 0x00c6, 0x2061, - 0x1800, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0x9084, 0xfff9, - 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, - 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0002, 0x709b, 0x0001, 0x2009, - 0x07d0, 0x2011, 0x5e8c, 0x080c, 0x8574, 0x0005, 0x00f6, 0x7090, - 0x9086, 0x0014, 0x1510, 0x6042, 0x6020, 0xd0b4, 0x11f0, 0x080c, - 0x5ffd, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x11a0, 0x7834, - 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, - 0x70c7, 0x0001, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x709b, 0x0010, - 0x080c, 0x5b79, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x00f6, - 0x709b, 0x0003, 0x6043, 0x0004, 0x2011, 0x5e8c, 0x080c, 0x84dc, - 0x080c, 0x5f81, 0x2079, 0x0240, 0x7833, 0x1102, 0x7837, 0x0000, - 0x20a9, 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, 0x8108, 0x1f04, - 0x5964, 0x60c3, 0x0014, 0x080c, 0x5eb6, 0x00fe, 0x0005, 0x00f6, - 0x7090, 0x9005, 0x0500, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x9086, - 0x0014, 0x11b8, 0x080c, 0x5ffd, 0x2079, 0x0260, 0x7a30, 0x9296, - 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, - 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x0004, 0x0029, - 0x0010, 0x080c, 0x5fd9, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0005, - 0x080c, 0x5f81, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, - 0x080c, 0x5ffd, 0x080c, 0x5fe0, 0x1170, 0x7084, 0x9005, 0x1158, - 0x715c, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5e39, - 0x0168, 0x080c, 0x5fb6, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x0800, 0x0120, 0x9386, 0x003c, 0x01e8, 0x0c20, 0x83ff, 0x11c0, + 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, 0x8f70, 0x2208, 0x009e, + 0xa897, 0x4000, 0xa99a, 0x715c, 0x81ff, 0x090c, 0x0dd5, 0x2148, + 0x080c, 0x1031, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0x0418, + 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, 0x7056, 0x2061, 0x18b9, + 0x2c44, 0xa37a, 0x7058, 0xa076, 0x7064, 0xa072, 0xa48e, 0xa592, + 0xa696, 0xa79a, 0xa09f, 0x510e, 0x000e, 0xa0a2, 0x080c, 0x10e9, + 0x9006, 0x0048, 0x009e, 0xa897, 0x4005, 0xa99a, 0x900e, 0x9085, + 0x0001, 0x2001, 0x0030, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0xa0a0, + 0x904d, 0x090c, 0x0dd5, 0x00e6, 0x2071, 0x189e, 0xa06c, 0x908e, + 0x0100, 0x0138, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, + 0x00d8, 0x7060, 0x9005, 0x1158, 0x7150, 0x7058, 0x20a0, 0x901e, + 0x7064, 0x20e8, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0428, 0xa87b, + 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x7254, 0x900e, 0x2001, + 0x0003, 0x080c, 0x8f70, 0xaa9a, 0x715c, 0x81ff, 0x090c, 0x0dd5, + 0x2148, 0x080c, 0x1031, 0x705f, 0x0000, 0xa0a0, 0x2048, 0x0126, + 0x2091, 0x8000, 0x080c, 0x6c94, 0x012e, 0xa09f, 0x0000, 0xa0a3, + 0x0000, 0x00ee, 0x00fe, 0x0005, 0x91d8, 0x1000, 0x2b5c, 0x8bff, + 0x0178, 0x080c, 0x6989, 0x0118, 0x080c, 0x6991, 0x1148, 0xb814, + 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, + 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0518, 0x0c20, + 0x83ff, 0x11f0, 0x7154, 0x810c, 0xa99a, 0xa897, 0x4000, 0x715c, + 0x81ff, 0x090c, 0x0dd5, 0x2148, 0x080c, 0x1031, 0x9006, 0x705e, + 0x918d, 0x0001, 0x2008, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, + 0x080c, 0x6c94, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x0070, + 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, 0x7056, 0xa37a, 0xa48e, + 0xa592, 0xa696, 0xa79a, 0x080c, 0x10e9, 0x9006, 0x00ee, 0x0005, + 0x0096, 0xa88c, 0x90be, 0x7000, 0x0148, 0x90be, 0x7100, 0x0130, + 0x90be, 0x7200, 0x0118, 0x009e, 0x0804, 0x3566, 0xa884, 0xa988, + 0x080c, 0x284b, 0x1518, 0x080c, 0x65b5, 0x1500, 0x7126, 0xbe12, + 0xbd16, 0xae7c, 0x080c, 0x4abe, 0x01c8, 0x080c, 0x4abe, 0x01b0, + 0x009e, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0xa823, 0x0000, + 0xa804, 0x2048, 0x080c, 0xcd04, 0x1120, 0x2009, 0x0003, 0x0804, + 0x3563, 0x7007, 0x0003, 0x701f, 0x51db, 0x0005, 0x009e, 0x2009, + 0x0002, 0x0804, 0x3563, 0x7124, 0x080c, 0x32c8, 0xa820, 0x9086, + 0x8001, 0x1120, 0x2009, 0x0004, 0x0804, 0x3563, 0x2900, 0x7022, + 0xa804, 0x0096, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, + 0x9084, 0xffc0, 0x009e, 0x9080, 0x0002, 0x0076, 0x0006, 0x2098, + 0x20a0, 0x27e0, 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0f7c, 0xaa6c, + 0xab70, 0xac74, 0xad78, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, + 0xae64, 0xaf8c, 0x97c6, 0x7000, 0x0118, 0x97c6, 0x7100, 0x1148, + 0x96c2, 0x0004, 0x0600, 0x2009, 0x0004, 0x000e, 0x007e, 0x0804, + 0x4b0a, 0x97c6, 0x7200, 0x11b8, 0x96c2, 0x0054, 0x02a0, 0x000e, + 0x007e, 0x2061, 0x18b8, 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, + 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x10e9, 0x7007, 0x0002, + 0x701f, 0x5237, 0x0005, 0x000e, 0x007e, 0x0804, 0x3566, 0x7020, + 0x2048, 0xa804, 0x2048, 0xa804, 0x2048, 0x8906, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2098, 0x20a0, + 0x27e0, 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0f7c, 0x2100, 0x2238, + 0x2061, 0x18b8, 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x2009, + 0x002a, 0x0804, 0x4b0a, 0x81ff, 0x1904, 0x3563, 0x798c, 0x2001, + 0x197d, 0x918c, 0x8000, 0x2102, 0x080c, 0x4ad5, 0x0904, 0x3566, + 0x080c, 0x6989, 0x0120, 0x080c, 0x6991, 0x1904, 0x3566, 0x080c, + 0x66dd, 0x0904, 0x3563, 0x0126, 0x2091, 0x8000, 0x080c, 0x67a3, + 0x012e, 0x0904, 0x3563, 0x2001, 0x197d, 0x2004, 0xd0fc, 0x1904, + 0x3531, 0x0804, 0x4534, 0xa9a0, 0x2001, 0x197d, 0x918c, 0x8000, + 0xc18d, 0x2102, 0x080c, 0x4ae2, 0x01a0, 0x080c, 0x6989, 0x0118, + 0x080c, 0x6991, 0x1170, 0x080c, 0x66dd, 0x2009, 0x0002, 0x0128, + 0x080c, 0x67a3, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, + 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, + 0x0005, 0xa897, 0x4000, 0x2001, 0x197d, 0x2004, 0xd0fc, 0x1128, + 0x080c, 0x56ea, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, + 0x2001, 0x0000, 0x0005, 0x78a8, 0xd08c, 0x1118, 0xd084, 0x0904, + 0x44a9, 0x080c, 0x4af1, 0x0904, 0x3566, 0x080c, 0x4abe, 0x1120, + 0x2009, 0x0002, 0x0804, 0x3563, 0x080c, 0x6989, 0x0130, 0x908e, + 0x0004, 0x0118, 0x908e, 0x0005, 0x15a0, 0x78a8, 0xd08c, 0x0120, + 0xb800, 0xc08c, 0xb802, 0x0028, 0x080c, 0x56e2, 0xd0b4, 0x0904, + 0x44e3, 0x7884, 0x908e, 0x007e, 0x0904, 0x44e3, 0x908e, 0x007f, + 0x0904, 0x44e3, 0x908e, 0x0080, 0x0904, 0x44e3, 0xb800, 0xd08c, + 0x1904, 0x44e3, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, + 0xcd23, 0x1120, 0x2009, 0x0003, 0x0804, 0x3563, 0x7007, 0x0003, + 0x701f, 0x5303, 0x0005, 0x080c, 0x4af1, 0x0904, 0x3566, 0x0804, + 0x44e3, 0x080c, 0x3321, 0x0108, 0x0005, 0x2009, 0x1834, 0x210c, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3563, 0x080c, 0x56f6, + 0x0120, 0x2009, 0x0007, 0x0804, 0x3563, 0x080c, 0x6981, 0x0120, + 0x2009, 0x0008, 0x0804, 0x3563, 0xb89c, 0xd0a4, 0x1118, 0xd0ac, + 0x1904, 0x44e3, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, + 0x080c, 0xcd82, 0x1120, 0x2009, 0x0003, 0x0804, 0x3563, 0x7007, + 0x0003, 0x701f, 0x533c, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, + 0x2009, 0x0004, 0x0804, 0x563f, 0x080c, 0x4af1, 0x0904, 0x3566, + 0x0804, 0x52d5, 0x81ff, 0x2009, 0x0001, 0x1904, 0x3563, 0x080c, + 0x56f6, 0x2009, 0x0007, 0x1904, 0x3563, 0x080c, 0x6981, 0x0120, + 0x2009, 0x0008, 0x0804, 0x3563, 0x080c, 0x4af1, 0x0904, 0x3566, + 0x080c, 0x6989, 0x2009, 0x0009, 0x1904, 0x3563, 0x080c, 0x4abe, + 0x2009, 0x0002, 0x0904, 0x3563, 0x9006, 0xa866, 0xa832, 0xa868, + 0xc0fd, 0xa86a, 0x7988, 0x9194, 0xff00, 0x918c, 0x00ff, 0x9006, + 0x82ff, 0x1128, 0xc0ed, 0xa952, 0x798c, 0xa956, 0x0038, 0x928e, + 0x0100, 0x1904, 0x3566, 0xc0e5, 0xa952, 0xa956, 0xa83e, 0x080c, + 0xcfd5, 0x2009, 0x0003, 0x0904, 0x3563, 0x7007, 0x0003, 0x701f, + 0x5392, 0x0005, 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, + 0x3563, 0x0804, 0x3531, 0x7aa8, 0x9284, 0xc000, 0x0148, 0xd2ec, + 0x01a0, 0x080c, 0x56f6, 0x1188, 0x2009, 0x0014, 0x0804, 0x3563, + 0xd2dc, 0x1568, 0x81ff, 0x2009, 0x0001, 0x1904, 0x3563, 0x080c, + 0x56f6, 0x2009, 0x0007, 0x1904, 0x3563, 0xd2f4, 0x0130, 0x9284, + 0x5000, 0x080c, 0x56bd, 0x0804, 0x3531, 0xd2fc, 0x0158, 0x080c, + 0x4af1, 0x0904, 0x3566, 0x7984, 0x9284, 0x9000, 0x080c, 0x569a, + 0x0804, 0x3531, 0x080c, 0x4af1, 0x0904, 0x3566, 0xb804, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x2009, 0x0009, 0x1904, 0x547b, 0x080c, + 0x4abe, 0x2009, 0x0002, 0x0904, 0x547b, 0xa85c, 0x9080, 0x001b, + 0xaf60, 0x2009, 0x0008, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, + 0x4b07, 0x701f, 0x53ec, 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, + 0xa870, 0x9005, 0x1120, 0xa874, 0x9084, 0xff00, 0x0110, 0x1904, + 0x3566, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0x4af1, + 0x1110, 0x0804, 0x3566, 0x2009, 0x0043, 0x080c, 0xd03d, 0x2009, + 0x0003, 0x0904, 0x547b, 0x7007, 0x0003, 0x701f, 0x5410, 0x0005, + 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, 0x547b, 0x7984, + 0x7aa8, 0x9284, 0x1000, 0x080c, 0x569a, 0x0804, 0x3531, 0x00c6, + 0xaab0, 0x9284, 0xc000, 0x0140, 0xd2ec, 0x0168, 0x080c, 0x56f6, + 0x1150, 0x2009, 0x0014, 0x04f0, 0x2061, 0x1800, 0x080c, 0x56f6, + 0x2009, 0x0007, 0x15b8, 0xd2f4, 0x0128, 0x9284, 0x5000, 0x080c, + 0x56bd, 0x0050, 0xd2fc, 0x0178, 0x080c, 0x4aef, 0x0588, 0xa998, + 0x9284, 0x9000, 0x080c, 0x569a, 0xa87b, 0x0000, 0xa883, 0x0000, + 0xa897, 0x4000, 0x0438, 0x080c, 0x4aef, 0x0510, 0x080c, 0x6989, + 0x2009, 0x0009, 0x11b8, 0xa8c4, 0x9086, 0x0500, 0x11c8, 0xa8c8, + 0x9005, 0x11b0, 0xa8cc, 0x9084, 0xff00, 0x1190, 0x080c, 0x4aef, + 0x1108, 0x0070, 0x2009, 0x004b, 0x080c, 0xd03d, 0x2009, 0x0003, + 0x0108, 0x0078, 0x0429, 0x19c0, 0xa897, 0x4005, 0xa99a, 0x0010, + 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ce, + 0x0005, 0x9006, 0x0ce0, 0x7aa8, 0xd2dc, 0x0904, 0x3563, 0x0016, + 0x7984, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x569a, 0x001e, 0x1904, + 0x3563, 0x0804, 0x3531, 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, + 0xaab0, 0xd2dc, 0x0150, 0x0016, 0xa998, 0x9284, 0x1000, 0xc0fd, + 0x080c, 0x569a, 0x001e, 0x9085, 0x0001, 0x0005, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x3563, 0x080c, 0x56f6, 0x0120, 0x2009, + 0x0007, 0x0804, 0x3563, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, + 0x6616, 0x1904, 0x3566, 0x9186, 0x007f, 0x0138, 0x080c, 0x6989, + 0x0120, 0x2009, 0x0009, 0x0804, 0x3563, 0x080c, 0x4abe, 0x1120, + 0x2009, 0x0002, 0x0804, 0x3563, 0xa867, 0x0000, 0xa868, 0xc0fd, + 0xa86a, 0x2001, 0x0100, 0x8007, 0xa80a, 0x080c, 0xcd3d, 0x1120, + 0x2009, 0x0003, 0x0804, 0x3563, 0x7007, 0x0003, 0x701f, 0x54d9, + 0x0005, 0xa808, 0x8007, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, + 0x0804, 0x3563, 0xa8e0, 0xa866, 0xa810, 0x8007, 0x9084, 0x00ff, + 0x800c, 0xa814, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, + 0x9108, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, + 0x9080, 0x0004, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b0a, + 0x080c, 0x4abe, 0x1120, 0x2009, 0x0002, 0x0804, 0x3563, 0x7984, + 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, + 0x19b2, 0x0040, 0x92c6, 0x0001, 0x1118, 0x7023, 0x19cc, 0x0010, + 0x0804, 0x3566, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4b07, 0x701f, 0x5529, + 0x0005, 0x2001, 0x182e, 0x2003, 0x0001, 0xa85c, 0x9080, 0x0019, + 0x2098, 0xa860, 0x20e0, 0x20a9, 0x001a, 0x7020, 0x20a0, 0x20e9, + 0x0001, 0x4003, 0x0804, 0x3531, 0x080c, 0x4abe, 0x1120, 0x2009, + 0x0002, 0x0804, 0x3563, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, + 0x8217, 0x82ff, 0x1118, 0x2099, 0x19b2, 0x0040, 0x92c6, 0x0001, + 0x1118, 0x2099, 0x19cc, 0x0010, 0x0804, 0x3566, 0xa85c, 0x9080, + 0x0019, 0x20a0, 0xa860, 0x20e8, 0x20a9, 0x001a, 0x20e1, 0x0001, + 0x4003, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, + 0x9080, 0x0019, 0xaf60, 0x0804, 0x4b0a, 0x7884, 0x908a, 0x1000, + 0x1a04, 0x3566, 0x0126, 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, + 0x9108, 0x00c6, 0x2061, 0x19f9, 0x6142, 0x00ce, 0x012e, 0x0804, + 0x3531, 0x00c6, 0x080c, 0x73b3, 0x1160, 0x080c, 0x7699, 0x080c, + 0x602d, 0x9085, 0x0001, 0x080c, 0x73fa, 0x080c, 0x72e5, 0x080c, + 0x0dd5, 0x2061, 0x1800, 0x6030, 0xc09d, 0x6032, 0x080c, 0x5eec, + 0x00ce, 0x0005, 0x00c6, 0x2001, 0x1800, 0x2004, 0x908e, 0x0000, + 0x0904, 0x3563, 0x7884, 0x9005, 0x0188, 0x7888, 0x2061, 0x199b, + 0x2c0c, 0x2062, 0x080c, 0x2c2d, 0x01a0, 0x080c, 0x2c35, 0x0188, + 0x080c, 0x2c3d, 0x0170, 0x2162, 0x0804, 0x3566, 0x2061, 0x0100, + 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, 0x0001, 0x0010, 0x2009, + 0x0000, 0x7884, 0x9086, 0x0002, 0x1548, 0x2061, 0x0100, 0x6028, + 0xc09c, 0x602a, 0x0026, 0x2011, 0x0003, 0x080c, 0xa63e, 0x2011, + 0x0002, 0x080c, 0xa648, 0x002e, 0x080c, 0xa552, 0x0036, 0x901e, + 0x080c, 0xa5c8, 0x003e, 0x60e3, 0x0000, 0x080c, 0xea24, 0x080c, + 0xea3f, 0x9085, 0x0001, 0x080c, 0x73fa, 0x9006, 0x080c, 0x2cfc, + 0x2001, 0x1800, 0x2003, 0x0004, 0x6027, 0x0008, 0x00ce, 0x0804, + 0x3531, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3563, 0x080c, + 0x56f6, 0x0120, 0x2009, 0x0007, 0x0804, 0x3563, 0x7984, 0x7ea8, + 0x96b4, 0x00ff, 0x080c, 0x6616, 0x1904, 0x3566, 0x9186, 0x007f, + 0x0138, 0x080c, 0x6989, 0x0120, 0x2009, 0x0009, 0x0804, 0x3563, + 0x080c, 0x4abe, 0x1120, 0x2009, 0x0002, 0x0804, 0x3563, 0xa867, + 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xcd40, 0x1120, 0x2009, + 0x0003, 0x0804, 0x3563, 0x7007, 0x0003, 0x701f, 0x5628, 0x0005, + 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x3563, + 0xa8e0, 0xa866, 0xa834, 0x8007, 0x800c, 0xa85c, 0x9080, 0x000c, + 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xaf60, 0x0804, 0x4b0a, 0xa898, + 0x9086, 0x000d, 0x1904, 0x3563, 0x2021, 0x4005, 0x0126, 0x2091, + 0x8000, 0x0e04, 0x564c, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, + 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7883, + 0x4005, 0xa998, 0x7986, 0xa9a4, 0x799a, 0xa9a8, 0x799e, 0x080c, + 0x4afa, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x119b, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x00c6, 0x2061, 0x19f9, 0x7984, + 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, 0x7898, 0x606a, + 0x789c, 0x6066, 0x7888, 0x6062, 0x788c, 0x605e, 0x2001, 0x1a07, + 0x2044, 0x2001, 0x1a0e, 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, + 0xa07f, 0x0002, 0xa06b, 0x0000, 0xa09f, 0x0000, 0x00ce, 0x012e, + 0x0804, 0x3531, 0x0126, 0x2091, 0x8000, 0x00b6, 0x00c6, 0x90e4, + 0xc000, 0x0128, 0x0006, 0x080c, 0xcba7, 0x000e, 0x1198, 0xd0e4, + 0x0160, 0x9180, 0x1000, 0x2004, 0x905d, 0x0160, 0x080c, 0x6047, + 0x080c, 0xadc9, 0x0110, 0xb817, 0x0000, 0x9006, 0x00ce, 0x00be, + 0x012e, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x0126, 0x2091, 0x8000, + 0x0156, 0x2010, 0x900e, 0x20a9, 0x0800, 0x0016, 0x9180, 0x1000, + 0x2004, 0x9005, 0x0180, 0x9186, 0x007e, 0x0168, 0x9186, 0x007f, + 0x0150, 0x9186, 0x0080, 0x0138, 0x9186, 0x00ff, 0x0120, 0x0026, + 0x2200, 0x0801, 0x002e, 0x001e, 0x8108, 0x1f04, 0x56c5, 0x015e, + 0x012e, 0x0005, 0x2001, 0x1848, 0x2004, 0x0005, 0x2001, 0x1867, + 0x2004, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0d4, 0x000e, + 0x0005, 0x2001, 0x180e, 0x2004, 0xd0b4, 0x0005, 0x2001, 0x1800, + 0x2004, 0x9086, 0x0003, 0x0005, 0x0016, 0x00e6, 0x2071, 0x189e, + 0x7108, 0x910d, 0x710a, 0x00ee, 0x001e, 0x0005, 0x79a4, 0x9182, + 0x0081, 0x1a04, 0x3566, 0x810c, 0x0016, 0x080c, 0x4abe, 0x080c, + 0x0f07, 0x2100, 0x2238, 0x7d84, 0x7c88, 0x7b8c, 0x7a90, 0x001e, + 0x080c, 0x4b07, 0x701f, 0x571d, 0x0005, 0x2079, 0x0000, 0x7d94, + 0x7c98, 0x7ba8, 0x7aac, 0x79a4, 0x810c, 0x2061, 0x18b8, 0x2c44, + 0xa770, 0xa074, 0x2071, 0x189e, 0x080c, 0x4b0a, 0x701f, 0x5731, + 0x0005, 0x2061, 0x18b8, 0x2c44, 0x0016, 0x0026, 0xa270, 0xa174, + 0x080c, 0x0f0f, 0x002e, 0x001e, 0x080c, 0x0fbc, 0x9006, 0xa802, + 0xa806, 0x0804, 0x3531, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, + 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, + 0x0200, 0x2071, 0x1800, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, + 0x080c, 0x58ec, 0x0068, 0xd08c, 0x0118, 0x080c, 0x57f5, 0x0040, + 0xd094, 0x0118, 0x080c, 0x57c5, 0x0018, 0xd09c, 0x0108, 0x0099, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, + 0x015e, 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, + 0x612a, 0x001e, 0x0c68, 0x0006, 0x7098, 0x9005, 0x000e, 0x0120, + 0x709b, 0x0000, 0x7093, 0x0000, 0x624c, 0x9286, 0xf0f0, 0x1150, + 0x6048, 0x9086, 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, + 0x0010, 0x0490, 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7138, + 0xd1a4, 0x1160, 0x6240, 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, + 0x0128, 0x2009, 0x00f7, 0x080c, 0x5fa9, 0x00f0, 0x6040, 0x9084, + 0x0010, 0x9085, 0x0140, 0x6042, 0x6043, 0x0000, 0x7087, 0x0000, + 0x70a3, 0x0001, 0x70c7, 0x0000, 0x70df, 0x0000, 0x2009, 0x1c80, + 0x200b, 0x0000, 0x7097, 0x0000, 0x708b, 0x000f, 0x2009, 0x000f, + 0x2011, 0x5e8f, 0x080c, 0x8591, 0x0005, 0x2001, 0x1869, 0x2004, + 0xd08c, 0x0110, 0x705f, 0xffff, 0x7088, 0x9005, 0x1528, 0x2011, + 0x5e8f, 0x080c, 0x84f9, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, + 0x6042, 0x20a9, 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x57db, + 0x6242, 0x709b, 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, + 0x6042, 0x6242, 0x0048, 0x6242, 0x709b, 0x0000, 0x708f, 0x0000, + 0x9006, 0x080c, 0x6032, 0x0000, 0x0005, 0x708c, 0x908a, 0x0003, + 0x1a0c, 0x0dd5, 0x000b, 0x0005, 0x57ff, 0x5850, 0x58eb, 0x00f6, + 0x0016, 0x6900, 0x918c, 0x0800, 0x708f, 0x0001, 0x2001, 0x015d, + 0x2003, 0x0000, 0x6803, 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, + 0x00fc, 0x0120, 0x1f04, 0x580e, 0x080c, 0x0dd5, 0x68a0, 0x68a2, + 0x689c, 0x689e, 0x6898, 0x689a, 0xa001, 0x918d, 0x1600, 0x6902, + 0x001e, 0x6837, 0x0020, 0x080c, 0x600e, 0x2079, 0x1c00, 0x7833, + 0x1101, 0x7837, 0x0000, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, + 0x0001, 0x20a1, 0x1c0e, 0x20a9, 0x0004, 0x4003, 0x080c, 0xab1a, + 0x20e1, 0x0001, 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, + 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, + 0x5ec0, 0x00fe, 0x9006, 0x7092, 0x6043, 0x0008, 0x6042, 0x0005, + 0x00f6, 0x7090, 0x7093, 0x0000, 0x9025, 0x0904, 0x58c8, 0x6020, + 0xd0b4, 0x1904, 0x58c6, 0x71a0, 0x81ff, 0x0904, 0x58b4, 0x9486, + 0x000c, 0x1904, 0x58c1, 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, + 0x6007, 0x2011, 0x0260, 0x2019, 0x1c00, 0x220c, 0x2304, 0x9106, + 0x11e8, 0x8210, 0x8318, 0x1f04, 0x586d, 0x6043, 0x0004, 0x2061, + 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, + 0x0006, 0x708f, 0x0002, 0x709b, 0x0002, 0x2009, 0x07d0, 0x2011, + 0x5e96, 0x080c, 0x8591, 0x080c, 0x600e, 0x04c0, 0x080c, 0x6007, + 0x2079, 0x0260, 0x7930, 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, + 0x1540, 0x7900, 0x918c, 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, + 0x080c, 0x6007, 0x2011, 0x026e, 0x2019, 0x1805, 0x20a9, 0x0004, + 0x220c, 0x2304, 0x9102, 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, + 0x58a8, 0x0078, 0x70a3, 0x0000, 0x080c, 0x6007, 0x20e1, 0x0000, + 0x2099, 0x0260, 0x20e9, 0x0001, 0x20a1, 0x1c00, 0x20a9, 0x0014, + 0x4003, 0x6043, 0x0008, 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, + 0x6040, 0x9085, 0x0100, 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, + 0xab1a, 0x20e1, 0x0001, 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, 0x2011, 0x19f0, + 0x2013, 0x0000, 0x7093, 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, + 0x080c, 0xa286, 0x08d8, 0x0005, 0x7098, 0x908a, 0x001d, 0x1a0c, + 0x0dd5, 0x000b, 0x0005, 0x591d, 0x5930, 0x5959, 0x5979, 0x599f, + 0x59ce, 0x59f4, 0x5a2c, 0x5a52, 0x5a80, 0x5abb, 0x5af3, 0x5b11, + 0x5b3c, 0x5b5e, 0x5b79, 0x5b83, 0x5bb7, 0x5bdd, 0x5c0c, 0x5c32, + 0x5c6a, 0x5cae, 0x5ceb, 0x5d0c, 0x5d65, 0x5d87, 0x5db5, 0x5db5, + 0x00c6, 0x2061, 0x1800, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, + 0x9084, 0xfff9, 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, + 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0002, 0x709b, + 0x0001, 0x2009, 0x07d0, 0x2011, 0x5e96, 0x080c, 0x8591, 0x0005, + 0x00f6, 0x7090, 0x9086, 0x0014, 0x1510, 0x6042, 0x6020, 0xd0b4, + 0x11f0, 0x080c, 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, + 0x11a0, 0x7834, 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70c4, + 0x9005, 0x1110, 0x70c7, 0x0001, 0x2011, 0x5e96, 0x080c, 0x84f9, + 0x709b, 0x0010, 0x080c, 0x5b83, 0x0010, 0x7093, 0x0000, 0x00fe, + 0x0005, 0x00f6, 0x709b, 0x0003, 0x6043, 0x0004, 0x2011, 0x5e96, + 0x080c, 0x84f9, 0x080c, 0x5f8b, 0x2079, 0x0240, 0x7833, 0x1102, + 0x7837, 0x0000, 0x20a9, 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, + 0x8108, 0x1f04, 0x596e, 0x60c3, 0x0014, 0x080c, 0x5ec0, 0x00fe, + 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5e96, 0x080c, + 0x84f9, 0x9086, 0x0014, 0x11b8, 0x080c, 0x6007, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, + 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, + 0x0004, 0x0029, 0x0010, 0x080c, 0x5fe3, 0x00fe, 0x0005, 0x00f6, + 0x709b, 0x0005, 0x080c, 0x5f8b, 0x2079, 0x0240, 0x7833, 0x1103, + 0x7837, 0x0000, 0x080c, 0x6007, 0x080c, 0x5fea, 0x1170, 0x7084, + 0x9005, 0x1158, 0x715c, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, + 0x080c, 0x5e43, 0x0168, 0x080c, 0x5fc0, 0x20a9, 0x0008, 0x20e1, + 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, + 0x60c3, 0x0014, 0x080c, 0x5ec0, 0x00fe, 0x0005, 0x00f6, 0x7090, + 0x9005, 0x0500, 0x2011, 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0014, + 0x11b8, 0x080c, 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, + 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, + 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x0006, 0x0029, 0x0010, + 0x080c, 0x5fe3, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0007, 0x080c, + 0x5f8b, 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, + 0x6007, 0x080c, 0x5fea, 0x11b8, 0x7084, 0x9005, 0x11a0, 0x7164, + 0x9186, 0xffff, 0x0180, 0x9180, 0x3332, 0x200d, 0x918c, 0xff00, + 0x810f, 0x2011, 0x0008, 0x080c, 0x5e43, 0x0180, 0x080c, 0x4ff4, + 0x0110, 0x080c, 0x28b4, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, - 0x080c, 0x5eb6, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, - 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x9086, 0x0014, 0x11b8, 0x080c, - 0x5ffd, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, + 0x080c, 0x5ec0, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, + 0x2011, 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, - 0x70c7, 0x0001, 0x709b, 0x0006, 0x0029, 0x0010, 0x080c, 0x5fd9, - 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0007, 0x080c, 0x5f81, 0x2079, - 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x5ffd, 0x080c, - 0x5fe0, 0x11b8, 0x7084, 0x9005, 0x11a0, 0x7164, 0x9186, 0xffff, - 0x0180, 0x9180, 0x3327, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, - 0x0008, 0x080c, 0x5e39, 0x0180, 0x080c, 0x4fea, 0x0110, 0x080c, - 0x28a9, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, - 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb6, - 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5e8c, - 0x080c, 0x84dc, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5ffd, 0x2079, - 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, - 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, - 0x709b, 0x0008, 0x0029, 0x0010, 0x080c, 0x5fd9, 0x00fe, 0x0005, - 0x00f6, 0x709b, 0x0009, 0x080c, 0x5f81, 0x2079, 0x0240, 0x7833, - 0x1105, 0x7837, 0x0100, 0x080c, 0x5fe0, 0x1150, 0x7084, 0x9005, - 0x1138, 0x080c, 0x5dac, 0x1188, 0x9085, 0x0001, 0x080c, 0x28a9, - 0x20a9, 0x0008, 0x080c, 0x5ffd, 0x20e1, 0x0000, 0x2099, 0x026e, - 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, - 0x5eb6, 0x0010, 0x080c, 0x5906, 0x00fe, 0x0005, 0x00f6, 0x7090, - 0x9005, 0x05a8, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x9086, 0x0014, - 0x1560, 0x080c, 0x5ffd, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, - 0x1520, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, 0x921e, 0x1160, - 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, - 0x709b, 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, - 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x7097, 0x0000, - 0x709b, 0x000e, 0x080c, 0x5b54, 0x0010, 0x080c, 0x5fd9, 0x00fe, - 0x0005, 0x00f6, 0x709b, 0x000b, 0x2011, 0x1c0e, 0x20e9, 0x0001, - 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, 0x080c, 0x5f81, - 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5fe0, - 0x0118, 0x2013, 0x0000, 0x0020, 0x7060, 0x9085, 0x0100, 0x2012, - 0x20a9, 0x0040, 0x2009, 0x024e, 0x2011, 0x1c0e, 0x220e, 0x8210, - 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, - 0x0240, 0x1f04, 0x5ad6, 0x60c3, 0x0084, 0x080c, 0x5eb6, 0x00fe, - 0x0005, 0x00f6, 0x7090, 0x9005, 0x01c0, 0x2011, 0x5e8c, 0x080c, - 0x84dc, 0x9086, 0x0084, 0x1178, 0x080c, 0x5ffd, 0x2079, 0x0260, - 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x709b, - 0x000c, 0x0029, 0x0010, 0x080c, 0x5fd9, 0x00fe, 0x0005, 0x00f6, - 0x709b, 0x000d, 0x080c, 0x5f81, 0x2079, 0x0240, 0x7833, 0x1107, - 0x7837, 0x0000, 0x080c, 0x5ffd, 0x20a9, 0x0040, 0x2011, 0x026e, - 0x2009, 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, - 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, - 0x2011, 0x0260, 0x1f04, 0x5b1a, 0x60c3, 0x0084, 0x080c, 0x5eb6, - 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x01e0, 0x2011, 0x5e8c, - 0x080c, 0x84dc, 0x9086, 0x0084, 0x1198, 0x080c, 0x5ffd, 0x2079, - 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, - 0x7097, 0x0001, 0x080c, 0x5f53, 0x709b, 0x000e, 0x0029, 0x0010, - 0x080c, 0x5fd9, 0x00fe, 0x0005, 0x918d, 0x0001, 0x080c, 0x6028, - 0x709b, 0x000f, 0x7093, 0x0000, 0x2061, 0x0140, 0x605b, 0xbc85, - 0x605f, 0xb5b5, 0x2061, 0x0100, 0x6043, 0x0005, 0x6043, 0x0004, - 0x2009, 0x07d0, 0x2011, 0x5e8c, 0x080c, 0x84d0, 0x0005, 0x7090, - 0x9005, 0x0130, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x709b, 0x0000, - 0x0005, 0x709b, 0x0011, 0x080c, 0xab2c, 0x080c, 0x5ffd, 0x20e1, - 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x7490, - 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, - 0x4003, 0x080c, 0x5fe0, 0x11a0, 0x717c, 0x81ff, 0x0188, 0x900e, - 0x7080, 0x9084, 0x00ff, 0x0160, 0x080c, 0x2840, 0x9186, 0x007e, - 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, 0x080c, 0x5e39, - 0x60c3, 0x0014, 0x080c, 0x5eb6, 0x0005, 0x00f6, 0x7090, 0x9005, - 0x0500, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x9086, 0x0014, 0x11b8, - 0x080c, 0x5ffd, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, - 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, - 0x1110, 0x70c7, 0x0001, 0x709b, 0x0012, 0x0029, 0x0010, 0x7093, - 0x0000, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0013, 0x080c, 0x5f8f, - 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, 0x5ffd, - 0x080c, 0x5fe0, 0x1170, 0x7084, 0x9005, 0x1158, 0x715c, 0x9186, - 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5e39, 0x0168, 0x080c, - 0x5fb6, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, - 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb6, - 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5e8c, - 0x080c, 0x84dc, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5ffd, 0x2079, - 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, + 0x70c7, 0x0001, 0x709b, 0x0008, 0x0029, 0x0010, 0x080c, 0x5fe3, + 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0009, 0x080c, 0x5f8b, 0x2079, + 0x0240, 0x7833, 0x1105, 0x7837, 0x0100, 0x080c, 0x5fea, 0x1150, + 0x7084, 0x9005, 0x1138, 0x080c, 0x5db6, 0x1188, 0x9085, 0x0001, + 0x080c, 0x28b4, 0x20a9, 0x0008, 0x080c, 0x6007, 0x20e1, 0x0000, + 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, + 0x0014, 0x080c, 0x5ec0, 0x0010, 0x080c, 0x5910, 0x00fe, 0x0005, + 0x00f6, 0x7090, 0x9005, 0x05a8, 0x2011, 0x5e96, 0x080c, 0x84f9, + 0x9086, 0x0014, 0x1560, 0x080c, 0x6007, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1105, 0x1520, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, + 0x921e, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, + 0x70c7, 0x0001, 0x709b, 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, - 0x709b, 0x0014, 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, - 0x00f6, 0x709b, 0x0015, 0x080c, 0x5f8f, 0x2079, 0x0240, 0x7833, - 0x1104, 0x7837, 0x0000, 0x080c, 0x5ffd, 0x080c, 0x5fe0, 0x11b8, - 0x7084, 0x9005, 0x11a0, 0x7164, 0x9186, 0xffff, 0x0180, 0x9180, - 0x3327, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, - 0x5e39, 0x0180, 0x080c, 0x4fea, 0x0110, 0x080c, 0x28a9, 0x20a9, - 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, - 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb6, 0x00fe, 0x0005, - 0x00f6, 0x7090, 0x9005, 0x05f0, 0x2011, 0x5e8c, 0x080c, 0x84dc, - 0x9086, 0x0014, 0x15a8, 0x080c, 0x5ffd, 0x2079, 0x0260, 0x7a30, - 0x9296, 0x1105, 0x1568, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, - 0x921e, 0x1168, 0x9085, 0x0001, 0x080c, 0x6028, 0x7a38, 0xd2fc, - 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x0080, 0x9005, - 0x11b8, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, - 0x0001, 0x9085, 0x0001, 0x080c, 0x6028, 0x7097, 0x0000, 0x7a38, - 0xd2f4, 0x0110, 0x70df, 0x0008, 0x709b, 0x0016, 0x0029, 0x0010, - 0x7093, 0x0000, 0x00fe, 0x0005, 0x080c, 0xab2c, 0x080c, 0x5ffd, - 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, - 0x20a9, 0x000e, 0x4003, 0x2011, 0x026d, 0x2204, 0x9084, 0x0100, - 0x2011, 0x024d, 0x2012, 0x2011, 0x026e, 0x709b, 0x0017, 0x080c, - 0x5fe0, 0x1150, 0x7084, 0x9005, 0x1138, 0x080c, 0x5dac, 0x1188, - 0x9085, 0x0001, 0x080c, 0x28a9, 0x20a9, 0x0008, 0x080c, 0x5ffd, - 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, - 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb6, 0x0010, 0x080c, 0x5906, - 0x0005, 0x00f6, 0x7090, 0x9005, 0x01d8, 0x2011, 0x5e8c, 0x080c, - 0x84dc, 0x9086, 0x0084, 0x1190, 0x080c, 0x5ffd, 0x2079, 0x0260, - 0x7a30, 0x9296, 0x1106, 0x1150, 0x7834, 0x9005, 0x1138, 0x9006, - 0x080c, 0x6028, 0x709b, 0x0018, 0x0029, 0x0010, 0x7093, 0x0000, - 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0019, 0x080c, 0x5f8f, 0x2079, - 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5ffd, 0x2009, - 0x026e, 0x2039, 0x1c0e, 0x20a9, 0x0040, 0x213e, 0x8738, 0x8108, - 0x9186, 0x0280, 0x1128, 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, - 0x1f04, 0x5d15, 0x2039, 0x1c0e, 0x080c, 0x5fe0, 0x11e8, 0x2728, - 0x2514, 0x8207, 0x9084, 0x00ff, 0x8000, 0x2018, 0x9294, 0x00ff, - 0x8007, 0x9205, 0x202a, 0x7060, 0x2310, 0x8214, 0x92a0, 0x1c0e, - 0x2414, 0x938c, 0x0001, 0x0118, 0x9294, 0xff00, 0x0018, 0x9294, - 0x00ff, 0x8007, 0x9215, 0x2222, 0x20a9, 0x0040, 0x2009, 0x024e, - 0x270e, 0x8738, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, - 0x6812, 0x2009, 0x0240, 0x1f04, 0x5d48, 0x60c3, 0x0084, 0x080c, - 0x5eb6, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x01e0, 0x2011, - 0x5e8c, 0x080c, 0x84dc, 0x9086, 0x0084, 0x1198, 0x080c, 0x5ffd, - 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, - 0x1140, 0x7097, 0x0001, 0x080c, 0x5f53, 0x709b, 0x001a, 0x0029, - 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x9085, 0x0001, 0x080c, - 0x6028, 0x709b, 0x001b, 0x080c, 0xab2c, 0x080c, 0x5ffd, 0x2011, - 0x0260, 0x2009, 0x0240, 0x7490, 0x9480, 0x0018, 0x9080, 0x0007, - 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, 0x8108, 0x9186, + 0x7097, 0x0000, 0x709b, 0x000e, 0x080c, 0x5b5e, 0x0010, 0x080c, + 0x5fe3, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x000b, 0x2011, 0x1c0e, + 0x20e9, 0x0001, 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, + 0x080c, 0x5f8b, 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, + 0x080c, 0x5fea, 0x0118, 0x2013, 0x0000, 0x0020, 0x7060, 0x9085, + 0x0100, 0x2012, 0x20a9, 0x0040, 0x2009, 0x024e, 0x2011, 0x1c0e, + 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, + 0x6812, 0x2009, 0x0240, 0x1f04, 0x5ae0, 0x60c3, 0x0084, 0x080c, + 0x5ec0, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x01c0, 0x2011, + 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0084, 0x1178, 0x080c, 0x6007, + 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, + 0x1120, 0x709b, 0x000c, 0x0029, 0x0010, 0x080c, 0x5fe3, 0x00fe, + 0x0005, 0x00f6, 0x709b, 0x000d, 0x080c, 0x5f8b, 0x2079, 0x0240, + 0x7833, 0x1107, 0x7837, 0x0000, 0x080c, 0x6007, 0x20a9, 0x0040, + 0x2011, 0x026e, 0x2009, 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, - 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5d94, 0x60c3, 0x0084, - 0x080c, 0x5eb6, 0x0005, 0x0005, 0x0086, 0x0096, 0x2029, 0x1848, - 0x252c, 0x20a9, 0x0008, 0x2041, 0x1c0e, 0x20e9, 0x0001, 0x28a0, - 0x080c, 0x5ffd, 0x20e1, 0x0000, 0x2099, 0x026e, 0x4003, 0x20a9, - 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0108, 0x9016, 0x2800, 0x9200, - 0x200c, 0x91a6, 0xffff, 0x1148, 0xd5d4, 0x0110, 0x8210, 0x0008, - 0x8211, 0x1f04, 0x5dc6, 0x0804, 0x5e35, 0x82ff, 0x1160, 0xd5d4, - 0x0120, 0x91a6, 0x3fff, 0x0d90, 0x0020, 0x91a6, 0x3fff, 0x0904, - 0x5e35, 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, 0xd5d4, - 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, 0x8423, 0x0008, - 0x8424, 0x1240, 0xd5d4, 0x0110, 0x8319, 0x0008, 0x8318, 0x1f04, - 0x5dec, 0x04d8, 0x23a8, 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, - 0x5dfe, 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, 0x0006, 0x2039, - 0x0007, 0x2200, 0x973a, 0x000e, 0x27a8, 0x95a8, 0x0010, 0x1f04, - 0x5e0d, 0x755e, 0x95c8, 0x3327, 0x292d, 0x95ac, 0x00ff, 0x7582, - 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x2889, 0x001e, 0x60e7, - 0x0000, 0x65ea, 0x2018, 0x2304, 0x9405, 0x201a, 0x7087, 0x0001, - 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20e1, 0x0001, 0x2898, 0x20a9, - 0x0008, 0x4003, 0x9085, 0x0001, 0x0008, 0x9006, 0x009e, 0x008e, - 0x0005, 0x0156, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x22a8, 0x20e1, - 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x2011, 0x024e, 0x22a0, - 0x4003, 0x014e, 0x013e, 0x01de, 0x01ce, 0x015e, 0x2118, 0x9026, - 0x2001, 0x0007, 0x939a, 0x0010, 0x0218, 0x8420, 0x8001, 0x0cd0, - 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, 0x1de0, 0x2021, - 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0x9238, 0x2029, - 0x026e, 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, 0x203a, 0x715e, - 0x91a0, 0x3327, 0x242d, 0x95ac, 0x00ff, 0x7582, 0x6532, 0x6536, - 0x0016, 0x2508, 0x080c, 0x2889, 0x001e, 0x60e7, 0x0000, 0x65ea, - 0x7087, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1800, - 0x708b, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, 0x2079, 0x0100, - 0x2071, 0x0140, 0x080c, 0x5f42, 0x080c, 0xa274, 0x7004, 0x9084, - 0x4000, 0x0110, 0x080c, 0x2d01, 0x0126, 0x2091, 0x8000, 0x2071, - 0x1826, 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, 0x2009, 0x00f7, - 0x080c, 0x5f9f, 0x001e, 0x9094, 0x0010, 0x9285, 0x0080, 0x7842, - 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, 0x0126, 0x2091, - 0x8000, 0x080c, 0x2ba7, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, - 0x2012, 0x2011, 0x19f0, 0x2013, 0x0000, 0x7093, 0x0000, 0x012e, - 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0xa26b, 0x6144, 0xd184, - 0x0120, 0x7198, 0x918d, 0x2000, 0x0018, 0x718c, 0x918d, 0x1000, - 0x2011, 0x1998, 0x2112, 0x2009, 0x07d0, 0x2011, 0x5e8c, 0x080c, - 0x8574, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0xade2, 0x2009, 0x00f7, 0x080c, 0x5f9f, 0x2061, 0x19f9, - 0x900e, 0x611a, 0x611e, 0x6172, 0x6176, 0x2061, 0x1800, 0x6003, - 0x0001, 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, - 0x1998, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x5f0e, 0x080c, - 0x84d0, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, - 0x0126, 0x2091, 0x8000, 0x0471, 0x2071, 0x0100, 0x080c, 0xa274, - 0x2071, 0x0140, 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, 0x2d01, - 0x080c, 0x73ad, 0x0188, 0x080c, 0x73c8, 0x1170, 0x080c, 0x7697, - 0x0016, 0x080c, 0x2958, 0x2001, 0x196c, 0x2102, 0x001e, 0x080c, - 0x7692, 0x080c, 0x72d7, 0x0050, 0x2009, 0x0001, 0x080c, 0x2c40, - 0x2001, 0x0001, 0x080c, 0x27ec, 0x080c, 0x5ee2, 0x012e, 0x000e, - 0x00ee, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0bc, 0x0158, 0x0026, - 0x0036, 0x2011, 0x8017, 0x2001, 0x1998, 0x201c, 0x080c, 0x4b14, - 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, 0x0001, 0x20a1, - 0x1c80, 0x080c, 0x5ffd, 0x20e9, 0x0000, 0x2099, 0x026e, 0x0099, - 0x20a9, 0x0020, 0x080c, 0x5ff7, 0x2099, 0x0260, 0x20a1, 0x1c92, - 0x0051, 0x20a9, 0x000e, 0x080c, 0x5ffa, 0x2099, 0x0260, 0x20a1, - 0x1cb2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, 0x3308, 0x2104, - 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5f77, 0x002e, 0x001e, - 0x0005, 0x080c, 0xab2c, 0x20e1, 0x0001, 0x2099, 0x1c00, 0x20e9, - 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, 0x080c, - 0xab2c, 0x080c, 0x5ffd, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, - 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, 0x00c6, - 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1834, 0x2004, 0x9005, - 0x1138, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x9105, 0x0010, - 0x9185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, 0x0016, 0x0046, - 0x080c, 0x6977, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, - 0xe5cf, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, - 0x900e, 0x080c, 0x318c, 0x080c, 0xd24a, 0x0140, 0x0036, 0x2019, - 0xffff, 0x2021, 0x0007, 0x080c, 0x4ccb, 0x003e, 0x004e, 0x001e, - 0x0005, 0x080c, 0x5ee2, 0x709b, 0x0000, 0x7093, 0x0000, 0x0005, - 0x0006, 0x2001, 0x180c, 0x2004, 0xd09c, 0x0100, 0x000e, 0x0005, - 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, 0x0101, 0x200c, - 0x918d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, 0x0005, 0x2009, - 0x0001, 0x0020, 0x2009, 0x0002, 0x0008, 0x900e, 0x6814, 0x9084, - 0xffc0, 0x910d, 0x6916, 0x0005, 0x00f6, 0x0156, 0x0146, 0x01d6, - 0x9006, 0x20a9, 0x0080, 0x20e9, 0x0001, 0x20a1, 0x1c00, 0x4004, - 0x2079, 0x1c00, 0x7803, 0x2200, 0x7807, 0x00ef, 0x780f, 0x00ef, - 0x7813, 0x0138, 0x7823, 0xffff, 0x7827, 0xffff, 0x01de, 0x014e, - 0x015e, 0x00fe, 0x0005, 0x2001, 0x1800, 0x2003, 0x0001, 0x0005, - 0x2001, 0x19a5, 0x0118, 0x2003, 0x0001, 0x0010, 0x2003, 0x0000, - 0x0005, 0x0156, 0x20a9, 0x0800, 0x2009, 0x1000, 0x9006, 0x200a, - 0x8108, 0x1f04, 0x6037, 0x015e, 0x0005, 0x00d6, 0x0036, 0x0156, - 0x0136, 0x0146, 0x2069, 0x1847, 0x9006, 0xb802, 0xb8ce, 0xb807, - 0x0707, 0xb80a, 0xb80e, 0xb812, 0x9198, 0x3327, 0x231d, 0x939c, - 0x00ff, 0xbb16, 0x0016, 0x0026, 0xb8c2, 0x080c, 0xaddb, 0x1120, - 0x9192, 0x007e, 0x1208, 0xbbc2, 0x20a9, 0x0004, 0xb8c4, 0x20e8, - 0xb9c8, 0x9198, 0x0006, 0x9006, 0x23a0, 0x4004, 0x20a9, 0x0004, - 0x9198, 0x000a, 0x23a0, 0x4004, 0x002e, 0x001e, 0xb83e, 0xb842, - 0xb84e, 0xb852, 0xb856, 0xb85a, 0xb85e, 0xb862, 0xb866, 0xb86a, - 0xb86f, 0x0100, 0xb872, 0xb876, 0xb87a, 0xb88a, 0xb88e, 0xb893, - 0x0008, 0xb896, 0xb89a, 0xb89e, 0xb8be, 0xb9a2, 0x0096, 0xb8a4, - 0x904d, 0x0110, 0x080c, 0x1031, 0xb8a7, 0x0000, 0x009e, 0x9006, - 0xb84a, 0x6810, 0xb83a, 0x680c, 0xb846, 0xb8bb, 0x0520, 0xb8ac, - 0x9005, 0x0198, 0x00c6, 0x2060, 0x9c82, 0x1cd0, 0x0a0c, 0x0dd5, - 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a0c, 0x0dd5, 0x080c, 0x896a, - 0x00ce, 0x090c, 0x8d0e, 0xb8af, 0x0000, 0x6814, 0x9084, 0x00ff, - 0xb842, 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, - 0x2091, 0x8000, 0xa974, 0xae78, 0x9684, 0x3fff, 0x9082, 0x4000, - 0x1a04, 0x6125, 0x9182, 0x0800, 0x1a04, 0x6129, 0x2001, 0x180c, - 0x2004, 0x9084, 0x0003, 0x1904, 0x612f, 0x9188, 0x1000, 0x2104, - 0x905d, 0x0518, 0xb804, 0x9084, 0x00ff, 0x908e, 0x0006, 0x1508, - 0xb8a4, 0x900d, 0x1904, 0x6141, 0xb850, 0x900d, 0x1148, 0xa802, - 0x2900, 0xb852, 0xb84e, 0x080c, 0x90f6, 0x9006, 0x012e, 0x0005, - 0x00a6, 0x2150, 0x2900, 0xb002, 0xa803, 0x0000, 0x00ae, 0xb852, - 0x0c90, 0x2001, 0x0005, 0x900e, 0x04b8, 0x2001, 0x0028, 0x900e, - 0x0498, 0x9082, 0x0006, 0x1290, 0x080c, 0xaddb, 0x1160, 0xb8a0, - 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0990, 0x2001, 0x0029, - 0x2009, 0x1000, 0x0408, 0x2001, 0x0028, 0x00a8, 0x2009, 0x180c, - 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, 0xd184, 0x0118, - 0x2001, 0x0004, 0x0040, 0x2001, 0x0029, 0xb900, 0xd1fc, 0x0118, - 0x2009, 0x1000, 0x0048, 0x900e, 0x0038, 0x2001, 0x0029, 0x900e, - 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x012e, 0x0005, 0x2001, - 0x180c, 0x2004, 0xd084, 0x19d0, 0x9188, 0x1000, 0x2104, 0x905d, - 0x09a8, 0x080c, 0x697b, 0x1990, 0xb800, 0xd0bc, 0x0978, 0x0804, - 0x60d8, 0x080c, 0x67a4, 0x0904, 0x60f1, 0x0804, 0x60dc, 0x00b6, - 0x00e6, 0x0126, 0x2091, 0x8000, 0xa874, 0x908e, 0x00ff, 0x1120, - 0x2001, 0x196a, 0x205c, 0x0060, 0xa974, 0x9182, 0x0800, 0x1690, - 0x9188, 0x1000, 0x2104, 0x905d, 0x01d0, 0x080c, 0x691b, 0x11d0, - 0x080c, 0xae1b, 0x0570, 0x2b00, 0x6012, 0x2900, 0x6016, 0x6023, - 0x0009, 0x600b, 0x0000, 0xa874, 0x908e, 0x00ff, 0x1110, 0x600b, - 0x8000, 0x2009, 0x0043, 0x080c, 0xaeec, 0x9006, 0x00b0, 0x2001, - 0x0028, 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, - 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, - 0x0029, 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, 0x00ee, 0x00be, - 0x0005, 0x2001, 0x002c, 0x0cc0, 0x00b6, 0x00e6, 0x0126, 0x2091, - 0x8000, 0xa974, 0x9182, 0x0800, 0x1a04, 0x620f, 0x9188, 0x1000, - 0x2104, 0x905d, 0x0904, 0x61e7, 0xb8a0, 0x9086, 0x007f, 0x0178, - 0x080c, 0x6983, 0x0160, 0xa994, 0x81ff, 0x0130, 0x908e, 0x0004, - 0x0130, 0x908e, 0x0005, 0x0118, 0x080c, 0x697b, 0x1598, 0xa87c, - 0xd0fc, 0x01e0, 0xa894, 0x9005, 0x01c8, 0x2060, 0x0026, 0x2010, - 0x080c, 0xcb38, 0x002e, 0x1120, 0x2001, 0x0008, 0x0804, 0x6211, - 0x6020, 0x9086, 0x000a, 0x0120, 0x2001, 0x0008, 0x0804, 0x6211, - 0x601a, 0x6003, 0x0008, 0x2900, 0x6016, 0x0058, 0x080c, 0xae1b, - 0x05e8, 0x2b00, 0x6012, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, - 0x000a, 0x2009, 0x0003, 0x080c, 0xaeec, 0x9006, 0x0458, 0x2001, - 0x0028, 0x0438, 0x9082, 0x0006, 0x1290, 0x080c, 0xaddb, 0x1160, - 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0900, 0x2001, - 0x0029, 0x2009, 0x1000, 0x00a8, 0x2001, 0x0028, 0x0090, 0x2009, - 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0050, 0xd184, - 0x0118, 0x2001, 0x0004, 0x0028, 0x2001, 0x0029, 0x0010, 0x2001, - 0x0029, 0x9005, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2001, 0x002c, - 0x0cc0, 0x00f6, 0x00b6, 0x0126, 0x2091, 0x8000, 0xa8e0, 0x9005, - 0x1550, 0xa8dc, 0x9082, 0x0101, 0x1630, 0xa8c8, 0x9005, 0x1518, - 0xa8c4, 0x9082, 0x0101, 0x12f8, 0xa974, 0x2079, 0x1800, 0x9182, - 0x0800, 0x12e8, 0x7830, 0x9084, 0x0003, 0x1130, 0xaa98, 0xab94, - 0xa878, 0x9084, 0x0007, 0x00ea, 0x7930, 0xd18c, 0x0118, 0x2001, - 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, - 0x0029, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, - 0x0029, 0x900e, 0x9006, 0x0008, 0x9005, 0x012e, 0x00be, 0x00fe, - 0x0005, 0x62a6, 0x6261, 0x6278, 0x62a6, 0x62a6, 0x62a6, 0x62a6, - 0x62a6, 0x2100, 0x9082, 0x007e, 0x1278, 0x080c, 0x65a7, 0x0148, - 0x9046, 0xb810, 0x9306, 0x1904, 0x62ae, 0xb814, 0x9206, 0x15f0, - 0x0028, 0xbb12, 0xba16, 0x0010, 0x080c, 0x49c7, 0x0150, 0x04b0, - 0x080c, 0x6608, 0x1598, 0xb810, 0x9306, 0x1580, 0xb814, 0x9206, - 0x1568, 0x080c, 0xae1b, 0x0530, 0x2b00, 0x6012, 0x080c, 0xcfc4, - 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, 0xa878, 0x9086, - 0x0001, 0x1170, 0x080c, 0x31c1, 0x9006, 0x080c, 0x6544, 0x2001, - 0x0002, 0x080c, 0x6558, 0x2001, 0x0200, 0xb86e, 0xb893, 0x0002, - 0x2009, 0x0003, 0x080c, 0xaeec, 0x9006, 0x0068, 0x2001, 0x0001, - 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, 0x0028, - 0x900e, 0x9005, 0x0000, 0x012e, 0x00be, 0x00fe, 0x0005, 0x00b6, - 0x00f6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa894, 0x90c6, 0x0015, - 0x0904, 0x6495, 0x90c6, 0x0056, 0x0904, 0x6499, 0x90c6, 0x0066, - 0x0904, 0x649d, 0x90c6, 0x0067, 0x0904, 0x64a1, 0x90c6, 0x0068, - 0x0904, 0x64a5, 0x90c6, 0x0071, 0x0904, 0x64a9, 0x90c6, 0x0074, - 0x0904, 0x64ad, 0x90c6, 0x007c, 0x0904, 0x64b1, 0x90c6, 0x007e, - 0x0904, 0x64b5, 0x90c6, 0x0037, 0x0904, 0x64b9, 0x9016, 0x2079, - 0x1800, 0xa974, 0x9186, 0x00ff, 0x0904, 0x6490, 0x9182, 0x0800, - 0x1a04, 0x6490, 0x080c, 0x6608, 0x1198, 0xb804, 0x9084, 0x00ff, - 0x9082, 0x0006, 0x1268, 0xa894, 0x90c6, 0x006f, 0x0148, 0x080c, - 0xaddb, 0x1904, 0x6479, 0xb8a0, 0x9084, 0xff80, 0x1904, 0x6479, - 0xa894, 0x90c6, 0x006f, 0x0158, 0x90c6, 0x005e, 0x0904, 0x63d9, - 0x90c6, 0x0064, 0x0904, 0x6402, 0x2008, 0x0804, 0x639b, 0xa998, - 0xa8b0, 0x2040, 0x080c, 0xaddb, 0x1120, 0x9182, 0x007f, 0x0a04, - 0x639b, 0x9186, 0x00ff, 0x0904, 0x639b, 0x9182, 0x0800, 0x1a04, - 0x639b, 0xaaa0, 0xab9c, 0x787c, 0x9306, 0x1188, 0x7880, 0x0096, - 0x924e, 0x1128, 0x2208, 0x2310, 0x009e, 0x0804, 0x639b, 0x99cc, - 0xff00, 0x009e, 0x1120, 0x2208, 0x2310, 0x0804, 0x639b, 0x080c, - 0x49c7, 0x0904, 0x63a5, 0x900e, 0x9016, 0x90c6, 0x4000, 0x15e0, - 0x0006, 0x080c, 0x6828, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, - 0xc18d, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, - 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, - 0x0f7c, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0035, - 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, - 0x0f7c, 0xa8c4, 0xabc8, 0x9305, 0xabcc, 0x9305, 0xabd0, 0x9305, - 0xabd4, 0x9305, 0xabd8, 0x9305, 0xabdc, 0x9305, 0xabe0, 0x9305, - 0x9005, 0x0510, 0x000e, 0x00c8, 0x90c6, 0x4007, 0x1110, 0x2408, - 0x00a0, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0070, 0x90c6, - 0x4009, 0x1108, 0x0050, 0x90c6, 0x4006, 0x0138, 0x2001, 0x4005, - 0x2009, 0x000a, 0x0010, 0x2001, 0x4006, 0xa896, 0xa99a, 0xaa9e, - 0x2001, 0x0030, 0x900e, 0x0478, 0x000e, 0x080c, 0xae1b, 0x1130, - 0x2001, 0x4005, 0x2009, 0x0003, 0x9016, 0x0c78, 0x2b00, 0x6012, - 0x080c, 0xcfc4, 0x2900, 0x6016, 0x6023, 0x0001, 0xa868, 0xd88c, - 0x0108, 0xc0f5, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, 0x31c1, - 0x012e, 0x9006, 0x080c, 0x6544, 0x2001, 0x0002, 0x080c, 0x6558, - 0x2009, 0x0002, 0x080c, 0xaeec, 0xa8b0, 0xd094, 0x0118, 0xb8cc, - 0xc08d, 0xb8ce, 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, 0x00be, - 0x0005, 0x080c, 0x56ec, 0x0118, 0x2009, 0x0007, 0x00f8, 0xa998, - 0xaeb0, 0x080c, 0x6608, 0x1904, 0x6396, 0x9186, 0x007f, 0x0130, - 0x080c, 0x697b, 0x0118, 0x2009, 0x0009, 0x0080, 0x0096, 0x080c, - 0x0fff, 0x1120, 0x009e, 0x2009, 0x0002, 0x0040, 0x2900, 0x009e, - 0xa806, 0x080c, 0xcd30, 0x19b0, 0x2009, 0x0003, 0x2001, 0x4005, - 0x0804, 0x639d, 0xa998, 0xaeb0, 0x080c, 0x6608, 0x1904, 0x6396, - 0x0096, 0x080c, 0x0fff, 0x1128, 0x009e, 0x2009, 0x0002, 0x0804, - 0x6456, 0x2900, 0x009e, 0xa806, 0x0096, 0x2048, 0x20a9, 0x002b, - 0xb8c4, 0x20e0, 0xb8c8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, - 0xbbc8, 0x9398, 0x0006, 0x2398, 0x080c, 0x0f7c, 0x009e, 0xa87b, - 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xd684, 0x1168, 0x080c, - 0x56d8, 0xd0b4, 0x1118, 0xa89b, 0x000b, 0x00e0, 0xb800, 0xd08c, - 0x0118, 0xa89b, 0x000c, 0x00b0, 0x080c, 0x697b, 0x0118, 0xa89b, - 0x0009, 0x0080, 0x080c, 0x56ec, 0x0118, 0xa89b, 0x0007, 0x0050, - 0x080c, 0xcd13, 0x1904, 0x63d2, 0x2009, 0x0003, 0x2001, 0x4005, - 0x0804, 0x639d, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa804, 0x8006, - 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, - 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, - 0x2041, 0x1243, 0x080c, 0xb38b, 0x1904, 0x63d2, 0x2009, 0x0002, - 0x08e8, 0x2001, 0x0028, 0x900e, 0x0804, 0x63d3, 0x2009, 0x180c, - 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, - 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0804, 0x63d3, - 0x2001, 0x0029, 0x900e, 0x0804, 0x63d3, 0x080c, 0x3756, 0x0804, - 0x63d4, 0x080c, 0x5415, 0x0804, 0x63d4, 0x080c, 0x4554, 0x0804, - 0x63d4, 0x080c, 0x45cd, 0x0804, 0x63d4, 0x080c, 0x4629, 0x0804, - 0x63d4, 0x080c, 0x4a8a, 0x0804, 0x63d4, 0x080c, 0x4d3a, 0x0804, - 0x63d4, 0x080c, 0x5080, 0x0804, 0x63d4, 0x080c, 0x5279, 0x0804, - 0x63d4, 0x080c, 0x396c, 0x0804, 0x63d4, 0x00b6, 0xa974, 0xae78, - 0x9684, 0x3fff, 0x9082, 0x4000, 0x1618, 0x9182, 0x0800, 0x1268, - 0x9188, 0x1000, 0x2104, 0x905d, 0x0140, 0x080c, 0x697b, 0x1148, - 0x00e9, 0x080c, 0x6733, 0x9006, 0x00b0, 0x2001, 0x0028, 0x900e, - 0x0090, 0x9082, 0x0006, 0x1240, 0xb900, 0xd1fc, 0x0d88, 0x2001, - 0x0029, 0x2009, 0x1000, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, - 0x2001, 0x0029, 0x900e, 0x9005, 0x00be, 0x0005, 0x0126, 0x2091, - 0x8000, 0xb850, 0x900d, 0x0150, 0x2900, 0x0096, 0x2148, 0xa802, - 0x009e, 0xa803, 0x0000, 0xb852, 0x012e, 0x0005, 0x2900, 0xb852, - 0xb84e, 0xa803, 0x0000, 0x0cc0, 0x0126, 0x2091, 0x8000, 0xb84c, - 0x9005, 0x0170, 0x00e6, 0x2071, 0x19e6, 0x7004, 0x9086, 0x0002, - 0x0168, 0x00ee, 0xb84c, 0xa802, 0x2900, 0xb84e, 0x012e, 0x0005, - 0x2900, 0xb852, 0xb84e, 0xa803, 0x0000, 0x0cc0, 0x701c, 0x9b06, - 0x1d80, 0xb84c, 0x00a6, 0x2050, 0xb000, 0xa802, 0x2900, 0xb002, - 0x00ae, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0xb84c, - 0x904d, 0x0130, 0xa800, 0x9005, 0x1108, 0xb852, 0xb84e, 0x9905, - 0x012e, 0x0005, 0xb84c, 0x904d, 0x0130, 0xa800, 0x9005, 0x1108, - 0xb852, 0xb84e, 0x9905, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x0026, - 0x2091, 0x8000, 0x6210, 0x2258, 0xba00, 0x9005, 0x0110, 0xc285, - 0x0008, 0xc284, 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, - 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, - 0x0006, 0x9086, 0x0006, 0x1170, 0xb89c, 0xd0ac, 0x0158, 0x080c, - 0x6977, 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, 0x1110, - 0x2011, 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, 0xba06, 0x0006, - 0x9086, 0x0006, 0x1120, 0xba90, 0x82ff, 0x090c, 0x0dd5, 0x000e, - 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, - 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1168, - 0xb89c, 0xd0a4, 0x0150, 0x080c, 0x6973, 0x1138, 0x9284, 0x00ff, - 0x9086, 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, 0x9294, 0x00ff, - 0x8007, 0x9215, 0xba06, 0x00ce, 0x012e, 0x00be, 0x0005, 0x9182, - 0x0800, 0x0218, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0026, 0x9190, - 0x1000, 0x2204, 0x905d, 0x1188, 0x0096, 0x080c, 0x0fff, 0x2958, - 0x009e, 0x0168, 0x2b00, 0x2012, 0xb85c, 0xb8ca, 0xb860, 0xb8c6, - 0x9006, 0xb8a6, 0xb8ae, 0x080c, 0x603d, 0x9006, 0x0010, 0x9085, - 0x0001, 0x002e, 0x00de, 0x0005, 0x00b6, 0x0096, 0x0126, 0x2091, - 0x8000, 0x0026, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0458, - 0x00d6, 0x9190, 0x1000, 0x2204, 0x905d, 0x0518, 0x2013, 0x0000, - 0xb8a4, 0x904d, 0x0110, 0x080c, 0x1031, 0x00d6, 0x00c6, 0xb8bc, - 0x2060, 0x8cff, 0x0168, 0x600c, 0x0006, 0x6014, 0x2048, 0x080c, - 0xcb4a, 0x0110, 0x080c, 0x0fb1, 0x080c, 0xae71, 0x00ce, 0x0c88, - 0x00ce, 0x00de, 0x2b48, 0xb8c8, 0xb85e, 0xb8c4, 0xb862, 0x080c, - 0x1041, 0x00de, 0x9006, 0x002e, 0x012e, 0x009e, 0x00be, 0x0005, - 0x0016, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, - 0x1000, 0x2104, 0x905d, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, - 0x0156, 0x0136, 0x0146, 0x9006, 0xb80a, 0xb80e, 0xb800, 0xc08c, - 0xb802, 0x080c, 0x73a5, 0x1510, 0xb8a0, 0x9086, 0x007e, 0x0120, - 0x080c, 0xaddb, 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, 0x00c6, - 0x2061, 0x1981, 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, 0x600a, - 0x7054, 0x600e, 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, 0x1110, - 0x2001, 0x0001, 0x6886, 0x2069, 0x1800, 0x68b6, 0x7040, 0xb85e, - 0x7048, 0xb862, 0x704c, 0xb866, 0x20e1, 0x0000, 0x2099, 0x0276, - 0xb8c4, 0x20e8, 0xb8c8, 0x9088, 0x000a, 0x21a0, 0x20a9, 0x0004, - 0x4003, 0x2099, 0x027a, 0x9088, 0x0006, 0x21a0, 0x20a9, 0x0004, - 0x4003, 0x2069, 0x0200, 0x6817, 0x0001, 0x7040, 0xb86a, 0x7144, - 0xb96e, 0x7048, 0xb872, 0x7050, 0xb876, 0x2069, 0x0200, 0x6817, - 0x0000, 0xb8a0, 0x9086, 0x007e, 0x1110, 0x7144, 0xb96e, 0x9182, - 0x0211, 0x1218, 0x2009, 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, - 0x2009, 0x0007, 0x00d0, 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, - 0x00a0, 0x9182, 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, - 0x0421, 0x1218, 0x2009, 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, - 0x2009, 0x0003, 0x0010, 0x2009, 0x0002, 0xb992, 0x014e, 0x013e, - 0x015e, 0x00de, 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, - 0x7034, 0xb896, 0x703c, 0xb89a, 0x7054, 0xb89e, 0x0036, 0xbbcc, - 0xc384, 0xba00, 0x2009, 0x1867, 0x210c, 0xd0bc, 0x0120, 0xd1ec, - 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0148, 0xd1e4, 0x0138, - 0xc2bd, 0xd0cc, 0x0128, 0xd38c, 0x1108, 0xc385, 0x0008, 0xc2bc, - 0xba02, 0xbbce, 0x003e, 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, - 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0578, 0xa900, 0x81ff, - 0x15c0, 0xaa04, 0x9282, 0x0010, 0x16c8, 0x0136, 0x0146, 0x01c6, - 0x01d6, 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, - 0xffc0, 0x9080, 0x0004, 0x2098, 0x2009, 0x0010, 0x20a9, 0x0001, - 0x4002, 0x9086, 0xffff, 0x0120, 0x8109, 0x1dd0, 0x080c, 0x0dd5, - 0x3c00, 0x20e8, 0x3300, 0x8001, 0x20a0, 0x4604, 0x8210, 0xaa06, - 0x01de, 0x01ce, 0x014e, 0x013e, 0x0060, 0x080c, 0x0fff, 0x0170, - 0x2900, 0xb8a6, 0xa803, 0x0000, 0x080c, 0x67c4, 0xa807, 0x0001, - 0xae12, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, - 0x0126, 0x2091, 0x8000, 0x0096, 0xb8a4, 0x904d, 0x0188, 0xa800, - 0x9005, 0x1150, 0x080c, 0x67d3, 0x1158, 0xa804, 0x908a, 0x0002, - 0x0218, 0x8001, 0xa806, 0x0020, 0x080c, 0x1031, 0xb8a7, 0x0000, - 0x009e, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x90f6, - 0x012e, 0x0005, 0x901e, 0x0010, 0x2019, 0x0001, 0x900e, 0x0126, - 0x2091, 0x8000, 0xb84c, 0x2048, 0xb800, 0xd0dc, 0x1170, 0x89ff, - 0x0500, 0x83ff, 0x0120, 0xa878, 0x9606, 0x0158, 0x0030, 0xa86c, - 0x9406, 0x1118, 0xa870, 0x9506, 0x0120, 0x2908, 0xa800, 0x2048, - 0x0c70, 0x080c, 0xa693, 0xaa00, 0xb84c, 0x9906, 0x1110, 0xba4e, - 0x0020, 0x00a6, 0x2150, 0xb202, 0x00ae, 0x82ff, 0x1110, 0xb952, - 0x89ff, 0x012e, 0x0005, 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, - 0x0005, 0x080c, 0x6828, 0x0128, 0x080c, 0xcc07, 0x0010, 0x9085, - 0x0001, 0x0005, 0x080c, 0x6828, 0x0128, 0x080c, 0xcbac, 0x0010, - 0x9085, 0x0001, 0x0005, 0x080c, 0x6828, 0x0128, 0x080c, 0xcc04, - 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6828, 0x0128, 0x080c, - 0xcbcb, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6828, 0x0128, - 0x080c, 0xcc48, 0x0010, 0x9085, 0x0001, 0x0005, 0xb8a4, 0x900d, - 0x1118, 0x9085, 0x0001, 0x0005, 0x0136, 0x01c6, 0xa800, 0x9005, - 0x11b8, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, - 0xffc0, 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, - 0x4002, 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0008, - 0x9006, 0x01ce, 0x013e, 0x0005, 0x0146, 0x01d6, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0004, 0x20a0, 0x20a9, 0x0010, 0x2009, 0xffff, - 0x4104, 0x01de, 0x014e, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, - 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, - 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, - 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0068, 0x0146, - 0x01d6, 0x3300, 0x8001, 0x20a0, 0x3c00, 0x20e8, 0x2001, 0xffff, - 0x4004, 0x01de, 0x014e, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0096, - 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x1128, 0x080c, 0x0fff, - 0x0168, 0x2900, 0xb8a6, 0x080c, 0x67c4, 0xa803, 0x0001, 0xa807, - 0x0000, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, - 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0130, 0xb8a7, - 0x0000, 0x080c, 0x1031, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, - 0xb89c, 0xd0a4, 0x0005, 0x00b6, 0x00f6, 0x080c, 0x73a5, 0x01b0, - 0x71c4, 0x81ff, 0x1198, 0x71dc, 0xd19c, 0x0180, 0x2001, 0x007e, - 0x9080, 0x1000, 0x2004, 0x905d, 0x0148, 0xb804, 0x9084, 0x00ff, - 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x2079, 0x1847, - 0x7804, 0xd0a4, 0x01d0, 0x0156, 0x20a9, 0x007f, 0x900e, 0x0016, - 0x080c, 0x6608, 0x1168, 0xb804, 0x9084, 0xff00, 0x8007, 0x9096, - 0x0004, 0x0118, 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, - 0x001e, 0x8108, 0x1f04, 0x684f, 0x015e, 0x080c, 0x6939, 0x0120, - 0x2001, 0x1984, 0x200c, 0x0038, 0x2079, 0x1847, 0x7804, 0xd0a4, - 0x0130, 0x2009, 0x07d0, 0x2011, 0x687a, 0x080c, 0x8574, 0x00fe, - 0x00be, 0x0005, 0x00b6, 0x2011, 0x687a, 0x080c, 0x84dc, 0x080c, - 0x6939, 0x01d8, 0x2001, 0x107e, 0x2004, 0x2058, 0xb900, 0xc1ec, - 0xb902, 0x080c, 0x6977, 0x0130, 0x2009, 0x07d0, 0x2011, 0x687a, - 0x080c, 0x8574, 0x00e6, 0x2071, 0x1800, 0x9006, 0x707e, 0x7060, - 0x7082, 0x080c, 0x2f98, 0x00ee, 0x04b0, 0x0156, 0x00c6, 0x20a9, - 0x007f, 0x900e, 0x0016, 0x080c, 0x6608, 0x1538, 0xb800, 0xd0ec, - 0x0520, 0x0046, 0xbaa0, 0x2220, 0x9006, 0x2009, 0x0029, 0x080c, - 0xe5cf, 0xb800, 0xc0e5, 0xc0ec, 0xb802, 0x080c, 0x6973, 0x2001, - 0x0707, 0x1128, 0xb804, 0x9084, 0x00ff, 0x9085, 0x0700, 0xb806, - 0x2019, 0x0029, 0x080c, 0x927e, 0x0076, 0x903e, 0x080c, 0x9151, - 0x900e, 0x080c, 0xe30c, 0x007e, 0x004e, 0x001e, 0x8108, 0x1f04, - 0x68a2, 0x00ce, 0x015e, 0x00be, 0x0005, 0x00b6, 0x6010, 0x2058, - 0xb800, 0xc0ec, 0xb802, 0x00be, 0x0005, 0x00b6, 0x00c6, 0x0096, - 0x080c, 0x1018, 0x090c, 0x0dd5, 0x2958, 0x009e, 0x2001, 0x196a, - 0x2b02, 0x8b07, 0x8006, 0x8006, 0x908c, 0x003f, 0xb9c6, 0x908c, - 0xffc0, 0xb9ca, 0xb8af, 0x0000, 0x2009, 0x00ff, 0x080c, 0x603d, - 0xb807, 0x0006, 0xb813, 0x00ff, 0xb817, 0xffff, 0xb86f, 0x0200, - 0xb86c, 0xb893, 0x0002, 0xb8bb, 0x0520, 0xb8a3, 0x00ff, 0xb8af, - 0x0000, 0x00ce, 0x00be, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0ac, 0x0005, 0x6010, 0x00b6, 0x905d, 0x0108, 0xb800, - 0x00be, 0xd0bc, 0x0005, 0x0006, 0x0016, 0x0026, 0xb804, 0x908c, - 0x00ff, 0x9196, 0x0006, 0x0188, 0x9196, 0x0004, 0x0170, 0x9196, - 0x0005, 0x0158, 0x908c, 0xff00, 0x810f, 0x9196, 0x0006, 0x0128, - 0x9196, 0x0004, 0x0110, 0x9196, 0x0005, 0x002e, 0x001e, 0x000e, - 0x0005, 0x00b6, 0x00f6, 0x2001, 0x107e, 0x2004, 0x905d, 0x0110, - 0xb800, 0xd0ec, 0x00fe, 0x00be, 0x0005, 0x0126, 0x0026, 0x2091, - 0x8000, 0x0006, 0xbaa0, 0x9290, 0x1000, 0x2204, 0x9b06, 0x190c, - 0x0dd5, 0x000e, 0xba00, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, - 0xba02, 0x002e, 0x012e, 0x0005, 0x2011, 0x1837, 0x2204, 0xd0cc, - 0x0138, 0x2001, 0x1982, 0x200c, 0x2011, 0x6969, 0x080c, 0x8574, - 0x0005, 0x2011, 0x6969, 0x080c, 0x84dc, 0x2011, 0x1837, 0x2204, - 0xc0cc, 0x2012, 0x0005, 0x080c, 0x56d8, 0xd0ac, 0x0005, 0x080c, - 0x56d8, 0xd0a4, 0x0005, 0x0016, 0xb904, 0x9184, 0x00ff, 0x908e, - 0x0006, 0x001e, 0x0005, 0x0016, 0xb904, 0x9184, 0xff00, 0x8007, - 0x908e, 0x0006, 0x001e, 0x0005, 0x00b6, 0x00f6, 0x080c, 0xd24a, - 0x0158, 0x70dc, 0x9084, 0x0028, 0x0138, 0x2001, 0x107f, 0x2004, - 0x905d, 0x0110, 0xb8cc, 0xd094, 0x00fe, 0x00be, 0x0005, 0x2071, - 0x1910, 0x7003, 0x0001, 0x7007, 0x0000, 0x9006, 0x7012, 0x7016, - 0x701a, 0x701e, 0x700a, 0x7046, 0x0005, 0x0016, 0x00e6, 0x2071, - 0x1947, 0x900e, 0x710a, 0x080c, 0x56d8, 0xd0fc, 0x1140, 0x080c, - 0x56d8, 0x900e, 0xd09c, 0x0108, 0x8108, 0x7102, 0x00f8, 0x2001, - 0x1867, 0x200c, 0x9184, 0x0007, 0x0002, 0x69b7, 0x69b7, 0x69b7, - 0x69b7, 0x69b7, 0x69cd, 0x69db, 0x69b7, 0x7003, 0x0003, 0x2009, - 0x1868, 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, - 0x0002, 0x7006, 0x0018, 0x7003, 0x0005, 0x0c88, 0x00ee, 0x001e, - 0x0005, 0x00e6, 0x2071, 0x0050, 0x684c, 0x9005, 0x1150, 0x00e6, - 0x2071, 0x1910, 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, - 0x0488, 0x6844, 0x9005, 0x0158, 0x080c, 0x76ff, 0x6a60, 0x9200, - 0x7002, 0x6864, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6860, - 0x7002, 0x6864, 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, - 0x9005, 0x1110, 0x7012, 0x7016, 0x684c, 0x701a, 0x701c, 0x9085, - 0x0040, 0x701e, 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, - 0x1910, 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, - 0x00ee, 0x9006, 0x00ee, 0x0005, 0x00e6, 0x0026, 0x2071, 0x1947, - 0x7000, 0x9015, 0x0904, 0x6c8b, 0x9286, 0x0003, 0x0904, 0x6b21, - 0x9286, 0x0005, 0x0904, 0x6b21, 0x2071, 0x1877, 0xa87c, 0x9005, - 0x0904, 0x6a82, 0x7140, 0xa868, 0x9102, 0x0a04, 0x6c8b, 0xa878, - 0xd084, 0x15d8, 0xa853, 0x0019, 0x2001, 0x8023, 0xa84e, 0x2071, - 0x1910, 0x701c, 0x9005, 0x1904, 0x6e21, 0x0e04, 0x6e8f, 0x2071, - 0x0000, 0xa850, 0x7032, 0xa84c, 0x7082, 0xa870, 0x7086, 0xa86c, - 0x708a, 0xa880, 0x708e, 0x7036, 0x0146, 0x01d6, 0x0136, 0x01c6, - 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, 0xa868, 0x20a8, 0xa860, - 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x4003, 0x015e, 0x01ce, - 0x013e, 0x01de, 0x014e, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x119b, 0x0804, 0x6b04, 0xa853, 0x001b, 0x2001, - 0x8027, 0x0820, 0x7004, 0xd08c, 0x1904, 0x6c8b, 0xa853, 0x001a, - 0x2001, 0x8024, 0x0804, 0x6a46, 0x00e6, 0x0026, 0x2071, 0x1947, - 0x7000, 0x9015, 0x0904, 0x6c8b, 0x9286, 0x0003, 0x0904, 0x6b21, - 0x9286, 0x0005, 0x0904, 0x6b21, 0xa84f, 0x8022, 0xa853, 0x0018, - 0x0804, 0x6ae9, 0xa868, 0xd0fc, 0x11d8, 0x00e6, 0x0026, 0x2001, - 0x1947, 0x2004, 0x9005, 0x0904, 0x6c8b, 0xa87c, 0xd0bc, 0x1904, - 0x6c8b, 0xa978, 0xa874, 0x9105, 0x1904, 0x6c8b, 0x2001, 0x1947, - 0x2004, 0x0002, 0x6c8b, 0x6ae5, 0x6b21, 0x6b21, 0x6c8b, 0x6b21, - 0x0005, 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, 0x1947, - 0x210c, 0x81ff, 0x0904, 0x6c8b, 0xa87c, 0xd0cc, 0x0904, 0x6c8b, - 0xa880, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x6c8b, 0x9186, - 0x0003, 0x0904, 0x6b21, 0x9186, 0x0005, 0x0904, 0x6b21, 0xa84f, - 0x8021, 0xa853, 0x0017, 0x0028, 0x0005, 0xa84f, 0x8020, 0xa853, - 0x0016, 0x2071, 0x1910, 0x701c, 0x9005, 0x1904, 0x6e21, 0x0e04, - 0x6e8f, 0x2071, 0x0000, 0xa84c, 0x7082, 0xa850, 0x7032, 0xa86c, - 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x119b, 0x2071, 0x1800, 0x2011, 0x0001, - 0xa804, 0x900d, 0x702c, 0x1158, 0xa802, 0x2900, 0x702e, 0x70c0, - 0x9200, 0x70c2, 0x080c, 0x83fd, 0x002e, 0x00ee, 0x0005, 0x0096, - 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x009e, - 0x0c58, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1910, - 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x6c10, 0x782c, 0x908c, - 0x0780, 0x190c, 0x6fdb, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, - 0x0002, 0x6b3f, 0x6c10, 0x6b64, 0x6bab, 0x080c, 0x0dd5, 0x2071, - 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1170, 0x2071, 0x19f9, - 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, - 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, - 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, - 0x70c2, 0x080c, 0x83fd, 0x0c10, 0x2071, 0x1800, 0x2900, 0x7822, - 0xa804, 0x900d, 0x1580, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, - 0xd19c, 0x1148, 0x2009, 0x1830, 0x210c, 0x918a, 0x0020, 0x0218, - 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, - 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x83fd, 0x782c, 0x9094, - 0x0780, 0x190c, 0x6fdb, 0xd0a4, 0x19f0, 0x2071, 0x19f9, 0x703c, + 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5b24, 0x60c3, 0x0084, + 0x080c, 0x5ec0, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x01e0, + 0x2011, 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0084, 0x1198, 0x080c, + 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, + 0x9005, 0x1140, 0x7097, 0x0001, 0x080c, 0x5f5d, 0x709b, 0x000e, + 0x0029, 0x0010, 0x080c, 0x5fe3, 0x00fe, 0x0005, 0x918d, 0x0001, + 0x080c, 0x6032, 0x709b, 0x000f, 0x7093, 0x0000, 0x2061, 0x0140, + 0x605b, 0xbc85, 0x605f, 0xb5b5, 0x2061, 0x0100, 0x6043, 0x0005, + 0x6043, 0x0004, 0x2009, 0x07d0, 0x2011, 0x5e96, 0x080c, 0x84ed, + 0x0005, 0x7090, 0x9005, 0x0130, 0x2011, 0x5e96, 0x080c, 0x84f9, + 0x709b, 0x0000, 0x0005, 0x709b, 0x0011, 0x080c, 0xab1a, 0x080c, + 0x6007, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x7490, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, + 0x8004, 0x20a8, 0x4003, 0x080c, 0x5fea, 0x11a0, 0x717c, 0x81ff, + 0x0188, 0x900e, 0x7080, 0x9084, 0x00ff, 0x0160, 0x080c, 0x284b, + 0x9186, 0x007e, 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, + 0x080c, 0x5e43, 0x60c3, 0x0014, 0x080c, 0x5ec0, 0x0005, 0x00f6, + 0x7090, 0x9005, 0x0500, 0x2011, 0x5e96, 0x080c, 0x84f9, 0x9086, + 0x0014, 0x11b8, 0x080c, 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, + 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x0012, 0x0029, + 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0013, + 0x080c, 0x5f99, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, + 0x080c, 0x6007, 0x080c, 0x5fea, 0x1170, 0x7084, 0x9005, 0x1158, + 0x715c, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5e43, + 0x0168, 0x080c, 0x5fc0, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, + 0x080c, 0x5ec0, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, + 0x2011, 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, + 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, + 0x70c7, 0x0001, 0x709b, 0x0014, 0x0029, 0x0010, 0x7093, 0x0000, + 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0015, 0x080c, 0x5f99, 0x2079, + 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x6007, 0x080c, + 0x5fea, 0x11b8, 0x7084, 0x9005, 0x11a0, 0x7164, 0x9186, 0xffff, + 0x0180, 0x9180, 0x3332, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, + 0x0008, 0x080c, 0x5e43, 0x0180, 0x080c, 0x4ff4, 0x0110, 0x080c, + 0x28b4, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, + 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5ec0, + 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x05f0, 0x2011, 0x5e96, + 0x080c, 0x84f9, 0x9086, 0x0014, 0x15a8, 0x080c, 0x6007, 0x2079, + 0x0260, 0x7a30, 0x9296, 0x1105, 0x1568, 0x7834, 0x9084, 0x0100, + 0x2011, 0x0100, 0x921e, 0x1168, 0x9085, 0x0001, 0x080c, 0x6032, + 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, + 0x0080, 0x9005, 0x11b8, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, + 0x1110, 0x70c7, 0x0001, 0x9085, 0x0001, 0x080c, 0x6032, 0x7097, + 0x0000, 0x7a38, 0xd2f4, 0x0110, 0x70df, 0x0008, 0x709b, 0x0016, + 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x080c, 0xab1a, + 0x080c, 0x6007, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, + 0x20a1, 0x0240, 0x20a9, 0x000e, 0x4003, 0x2011, 0x026d, 0x2204, + 0x9084, 0x0100, 0x2011, 0x024d, 0x2012, 0x2011, 0x026e, 0x709b, + 0x0017, 0x080c, 0x5fea, 0x1150, 0x7084, 0x9005, 0x1138, 0x080c, + 0x5db6, 0x1188, 0x9085, 0x0001, 0x080c, 0x28b4, 0x20a9, 0x0008, + 0x080c, 0x6007, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, + 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5ec0, 0x0010, + 0x080c, 0x5910, 0x0005, 0x00f6, 0x7090, 0x9005, 0x01d8, 0x2011, + 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0084, 0x1190, 0x080c, 0x6007, + 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1150, 0x7834, 0x9005, + 0x1138, 0x9006, 0x080c, 0x6032, 0x709b, 0x0018, 0x0029, 0x0010, + 0x7093, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0019, 0x080c, + 0x5f99, 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, + 0x6007, 0x2009, 0x026e, 0x2039, 0x1c0e, 0x20a9, 0x0040, 0x213e, + 0x8738, 0x8108, 0x9186, 0x0280, 0x1128, 0x6814, 0x8000, 0x6816, + 0x2009, 0x0260, 0x1f04, 0x5d1f, 0x2039, 0x1c0e, 0x080c, 0x5fea, + 0x11e8, 0x2728, 0x2514, 0x8207, 0x9084, 0x00ff, 0x8000, 0x2018, + 0x9294, 0x00ff, 0x8007, 0x9205, 0x202a, 0x7060, 0x2310, 0x8214, + 0x92a0, 0x1c0e, 0x2414, 0x938c, 0x0001, 0x0118, 0x9294, 0xff00, + 0x0018, 0x9294, 0x00ff, 0x8007, 0x9215, 0x2222, 0x20a9, 0x0040, + 0x2009, 0x024e, 0x270e, 0x8738, 0x8108, 0x9186, 0x0260, 0x1128, + 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x1f04, 0x5d52, 0x60c3, + 0x0084, 0x080c, 0x5ec0, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, + 0x01e0, 0x2011, 0x5e96, 0x080c, 0x84f9, 0x9086, 0x0084, 0x1198, + 0x080c, 0x6007, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, + 0x7834, 0x9005, 0x1140, 0x7097, 0x0001, 0x080c, 0x5f5d, 0x709b, + 0x001a, 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x9085, + 0x0001, 0x080c, 0x6032, 0x709b, 0x001b, 0x080c, 0xab1a, 0x080c, + 0x6007, 0x2011, 0x0260, 0x2009, 0x0240, 0x7490, 0x9480, 0x0018, + 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, + 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, + 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5d9e, + 0x60c3, 0x0084, 0x080c, 0x5ec0, 0x0005, 0x0005, 0x0086, 0x0096, + 0x2029, 0x1848, 0x252c, 0x20a9, 0x0008, 0x2041, 0x1c0e, 0x20e9, + 0x0001, 0x28a0, 0x080c, 0x6007, 0x20e1, 0x0000, 0x2099, 0x026e, + 0x4003, 0x20a9, 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0108, 0x9016, + 0x2800, 0x9200, 0x200c, 0x91a6, 0xffff, 0x1148, 0xd5d4, 0x0110, + 0x8210, 0x0008, 0x8211, 0x1f04, 0x5dd0, 0x0804, 0x5e3f, 0x82ff, + 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, 0x0d90, 0x0020, 0x91a6, + 0x3fff, 0x0904, 0x5e3f, 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, + 0x0001, 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, + 0x8423, 0x0008, 0x8424, 0x1240, 0xd5d4, 0x0110, 0x8319, 0x0008, + 0x8318, 0x1f04, 0x5df6, 0x04d8, 0x23a8, 0x2021, 0x0001, 0x8426, + 0x8425, 0x1f04, 0x5e08, 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, + 0x0006, 0x2039, 0x0007, 0x2200, 0x973a, 0x000e, 0x27a8, 0x95a8, + 0x0010, 0x1f04, 0x5e17, 0x755e, 0x95c8, 0x3332, 0x292d, 0x95ac, + 0x00ff, 0x7582, 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x2894, + 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, 0x9405, 0x201a, + 0x7087, 0x0001, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20e1, 0x0001, + 0x2898, 0x20a9, 0x0008, 0x4003, 0x9085, 0x0001, 0x0008, 0x9006, + 0x009e, 0x008e, 0x0005, 0x0156, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x22a8, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x2011, + 0x024e, 0x22a0, 0x4003, 0x014e, 0x013e, 0x01de, 0x01ce, 0x015e, + 0x2118, 0x9026, 0x2001, 0x0007, 0x939a, 0x0010, 0x0218, 0x8420, + 0x8001, 0x0cd0, 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, + 0x1de0, 0x2021, 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, + 0x9238, 0x2029, 0x026e, 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, + 0x203a, 0x715e, 0x91a0, 0x3332, 0x242d, 0x95ac, 0x00ff, 0x7582, + 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x2894, 0x001e, 0x60e7, + 0x0000, 0x65ea, 0x7087, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, + 0x2071, 0x1800, 0x708b, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, + 0x2079, 0x0100, 0x2071, 0x0140, 0x080c, 0x5f4c, 0x080c, 0xa28f, + 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, 0x2d0c, 0x0126, 0x2091, + 0x8000, 0x2071, 0x1826, 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, + 0x2009, 0x00f7, 0x080c, 0x5fa9, 0x001e, 0x9094, 0x0010, 0x9285, + 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, + 0x0126, 0x2091, 0x8000, 0x080c, 0x2bb2, 0x0228, 0x2011, 0x0101, + 0x2204, 0xc0c5, 0x2012, 0x2011, 0x19f0, 0x2013, 0x0000, 0x7093, + 0x0000, 0x012e, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0xa286, + 0x6144, 0xd184, 0x0120, 0x7198, 0x918d, 0x2000, 0x0018, 0x718c, + 0x918d, 0x1000, 0x2011, 0x1998, 0x2112, 0x2009, 0x07d0, 0x2011, + 0x5e96, 0x080c, 0x8591, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x080c, 0xadd0, 0x2009, 0x00f7, 0x080c, 0x5fa9, + 0x2061, 0x19f9, 0x900e, 0x611a, 0x611e, 0x6172, 0x6176, 0x2061, + 0x1800, 0x6003, 0x0001, 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, + 0x0010, 0x2009, 0x1998, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, + 0x5f18, 0x080c, 0x84ed, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, + 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x0471, 0x2071, 0x0100, + 0x080c, 0xa28f, 0x2071, 0x0140, 0x7004, 0x9084, 0x4000, 0x0110, + 0x080c, 0x2d0c, 0x080c, 0x73bb, 0x0188, 0x080c, 0x73d6, 0x1170, + 0x080c, 0x76a3, 0x0016, 0x080c, 0x2963, 0x2001, 0x196c, 0x2102, + 0x001e, 0x080c, 0x769e, 0x080c, 0x72e5, 0x0050, 0x2009, 0x0001, + 0x080c, 0x2c4b, 0x2001, 0x0001, 0x080c, 0x27f7, 0x080c, 0x5eec, + 0x012e, 0x000e, 0x00ee, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0bc, + 0x0158, 0x0026, 0x0036, 0x2011, 0x8017, 0x2001, 0x1998, 0x201c, + 0x080c, 0x4b1e, 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, + 0x0001, 0x20a1, 0x1c80, 0x080c, 0x6007, 0x20e9, 0x0000, 0x2099, + 0x026e, 0x0099, 0x20a9, 0x0020, 0x080c, 0x6001, 0x2099, 0x0260, + 0x20a1, 0x1c92, 0x0051, 0x20a9, 0x000e, 0x080c, 0x6004, 0x2099, + 0x0260, 0x20a1, 0x1cb2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, + 0x3308, 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5f81, + 0x002e, 0x001e, 0x0005, 0x080c, 0xab1a, 0x20e1, 0x0001, 0x2099, + 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, + 0x0005, 0x080c, 0xab1a, 0x080c, 0x6007, 0x20e1, 0x0000, 0x2099, + 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, + 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1834, + 0x2004, 0x9005, 0x1138, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, + 0x9105, 0x0010, 0x9185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, + 0x0016, 0x0046, 0x080c, 0x6985, 0x0158, 0x9006, 0x2020, 0x2009, + 0x002a, 0x080c, 0xe5e9, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, + 0x2019, 0x002a, 0x900e, 0x080c, 0x3197, 0x080c, 0xd25a, 0x0140, + 0x0036, 0x2019, 0xffff, 0x2021, 0x0007, 0x080c, 0x4cd5, 0x003e, + 0x004e, 0x001e, 0x0005, 0x080c, 0x5eec, 0x709b, 0x0000, 0x7093, + 0x0000, 0x0005, 0x0006, 0x2001, 0x180c, 0x2004, 0xd09c, 0x0100, + 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, + 0x0101, 0x200c, 0x918d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, + 0x0005, 0x2009, 0x0001, 0x0020, 0x2009, 0x0002, 0x0008, 0x900e, + 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x0005, 0x00f6, 0x0156, + 0x0146, 0x01d6, 0x9006, 0x20a9, 0x0080, 0x20e9, 0x0001, 0x20a1, + 0x1c00, 0x4004, 0x2079, 0x1c00, 0x7803, 0x2200, 0x7807, 0x00ef, + 0x780f, 0x00ef, 0x7813, 0x0138, 0x7823, 0xffff, 0x7827, 0xffff, + 0x01de, 0x014e, 0x015e, 0x00fe, 0x0005, 0x2001, 0x1800, 0x2003, + 0x0001, 0x0005, 0x2001, 0x19a5, 0x0118, 0x2003, 0x0001, 0x0010, + 0x2003, 0x0000, 0x0005, 0x0156, 0x20a9, 0x0800, 0x2009, 0x1000, + 0x9006, 0x200a, 0x8108, 0x1f04, 0x6041, 0x015e, 0x0005, 0x00d6, + 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0x1847, 0x9006, 0xb802, + 0xb8ce, 0xb807, 0x0707, 0xb80a, 0xb80e, 0xb812, 0x9198, 0x3332, + 0x231d, 0x939c, 0x00ff, 0xbb16, 0x0016, 0x0026, 0xb8c2, 0x080c, + 0xadc9, 0x1120, 0x9192, 0x007e, 0x1208, 0xbbc2, 0x20a9, 0x0004, + 0xb8c4, 0x20e8, 0xb9c8, 0x9198, 0x0006, 0x9006, 0x23a0, 0x4004, + 0x20a9, 0x0004, 0x9198, 0x000a, 0x23a0, 0x4004, 0x002e, 0x001e, + 0xb83e, 0xb842, 0xb84e, 0xb852, 0xb856, 0xb85a, 0xb85e, 0xb862, + 0xb866, 0xb86a, 0xb86f, 0x0100, 0xb872, 0xb876, 0xb87a, 0xb88a, + 0xb88e, 0xb893, 0x0008, 0xb896, 0xb89a, 0xb89e, 0xb8be, 0xb9a2, + 0x0096, 0xb8a4, 0x904d, 0x0110, 0x080c, 0x1031, 0xb8a7, 0x0000, + 0x009e, 0x9006, 0xb84a, 0x6810, 0xb83a, 0x680c, 0xb846, 0xb8bb, + 0x0520, 0xb8ac, 0x9005, 0x0198, 0x00c6, 0x2060, 0x9c82, 0x1cd0, + 0x0a0c, 0x0dd5, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a0c, 0x0dd5, + 0x080c, 0x8987, 0x00ce, 0x090c, 0x8d2d, 0xb8af, 0x0000, 0x6814, + 0x9084, 0x00ff, 0xb842, 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, + 0x0005, 0x0126, 0x2091, 0x8000, 0xa974, 0xae78, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x1a04, 0x612f, 0x9182, 0x0800, 0x1a04, 0x6133, + 0x2001, 0x180c, 0x2004, 0x9084, 0x0003, 0x1904, 0x6139, 0x9188, + 0x1000, 0x2104, 0x905d, 0x0518, 0xb804, 0x9084, 0x00ff, 0x908e, + 0x0006, 0x1508, 0xb8a4, 0x900d, 0x1904, 0x614b, 0xb850, 0x900d, + 0x1148, 0xa802, 0x2900, 0xb852, 0xb84e, 0x080c, 0x9115, 0x9006, + 0x012e, 0x0005, 0x00a6, 0x2150, 0x2900, 0xb002, 0xa803, 0x0000, + 0x00ae, 0xb852, 0x0c90, 0x2001, 0x0005, 0x900e, 0x04b8, 0x2001, + 0x0028, 0x900e, 0x0498, 0x9082, 0x0006, 0x1290, 0x080c, 0xadc9, + 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0990, + 0x2001, 0x0029, 0x2009, 0x1000, 0x0408, 0x2001, 0x0028, 0x00a8, + 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, + 0xd184, 0x0118, 0x2001, 0x0004, 0x0040, 0x2001, 0x0029, 0xb900, + 0xd1fc, 0x0118, 0x2009, 0x1000, 0x0048, 0x900e, 0x0038, 0x2001, + 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x012e, + 0x0005, 0x2001, 0x180c, 0x2004, 0xd084, 0x19d0, 0x9188, 0x1000, + 0x2104, 0x905d, 0x09a8, 0x080c, 0x6989, 0x1990, 0xb800, 0xd0bc, + 0x0978, 0x0804, 0x60e2, 0x080c, 0x67b2, 0x0904, 0x60fb, 0x0804, + 0x60e6, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa874, 0x908e, + 0x00ff, 0x1120, 0x2001, 0x196a, 0x205c, 0x0060, 0xa974, 0x9182, + 0x0800, 0x1690, 0x9188, 0x1000, 0x2104, 0x905d, 0x01d0, 0x080c, + 0x6929, 0x11d0, 0x080c, 0xae09, 0x0570, 0x2b00, 0x6012, 0x2900, + 0x6016, 0x6023, 0x0009, 0x600b, 0x0000, 0xa874, 0x908e, 0x00ff, + 0x1110, 0x600b, 0x8000, 0x2009, 0x0043, 0x080c, 0xaeda, 0x9006, + 0x00b0, 0x2001, 0x0028, 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, + 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0010, 0x2001, 0x0029, 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, + 0x00ee, 0x00be, 0x0005, 0x2001, 0x002c, 0x0cc0, 0x00b6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0xa974, 0x9182, 0x0800, 0x1a04, 0x6219, + 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, 0x61f1, 0xb8a0, 0x9086, + 0x007f, 0x0178, 0x080c, 0x6991, 0x0160, 0xa994, 0x81ff, 0x0130, + 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x080c, 0x6989, + 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, 0x9005, 0x01c8, 0x2060, + 0x0026, 0x2010, 0x080c, 0xcb48, 0x002e, 0x1120, 0x2001, 0x0008, + 0x0804, 0x621b, 0x6020, 0x9086, 0x000a, 0x0120, 0x2001, 0x0008, + 0x0804, 0x621b, 0x601a, 0x6003, 0x0008, 0x2900, 0x6016, 0x0058, + 0x080c, 0xae09, 0x05e8, 0x2b00, 0x6012, 0x2900, 0x6016, 0x600b, + 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, 0x080c, 0xaeda, 0x9006, + 0x0458, 0x2001, 0x0028, 0x0438, 0x9082, 0x0006, 0x1290, 0x080c, + 0xadc9, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, + 0x0900, 0x2001, 0x0029, 0x2009, 0x1000, 0x00a8, 0x2001, 0x0028, + 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, + 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, 0x0028, 0x2001, 0x0029, + 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, 0x00ee, 0x00be, 0x0005, + 0x2001, 0x002c, 0x0cc0, 0x00f6, 0x00b6, 0x0126, 0x2091, 0x8000, + 0xa8e0, 0x9005, 0x1550, 0xa8dc, 0x9082, 0x0101, 0x1630, 0xa8c8, + 0x9005, 0x1518, 0xa8c4, 0x9082, 0x0101, 0x12f8, 0xa974, 0x2079, + 0x1800, 0x9182, 0x0800, 0x12e8, 0x7830, 0x9084, 0x0003, 0x1130, + 0xaa98, 0xab94, 0xa878, 0x9084, 0x0007, 0x00ea, 0x7930, 0xd18c, + 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0010, 0x2001, 0x0029, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, + 0x0018, 0x2001, 0x0029, 0x900e, 0x9006, 0x0008, 0x9005, 0x012e, + 0x00be, 0x00fe, 0x0005, 0x62b0, 0x626b, 0x6282, 0x62b0, 0x62b0, + 0x62b0, 0x62b0, 0x62b0, 0x2100, 0x9082, 0x007e, 0x1278, 0x080c, + 0x65b5, 0x0148, 0x9046, 0xb810, 0x9306, 0x1904, 0x62b8, 0xb814, + 0x9206, 0x15f0, 0x0028, 0xbb12, 0xba16, 0x0010, 0x080c, 0x49d1, + 0x0150, 0x04b0, 0x080c, 0x6616, 0x1598, 0xb810, 0x9306, 0x1580, + 0xb814, 0x9206, 0x1568, 0x080c, 0xae09, 0x0530, 0x2b00, 0x6012, + 0x080c, 0xcfd4, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, + 0xa878, 0x9086, 0x0001, 0x1170, 0x080c, 0x31cc, 0x9006, 0x080c, + 0x6552, 0x2001, 0x0002, 0x080c, 0x6566, 0x2001, 0x0200, 0xb86e, + 0xb893, 0x0002, 0x2009, 0x0003, 0x080c, 0xaeda, 0x9006, 0x0068, + 0x2001, 0x0001, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, + 0x2001, 0x0028, 0x900e, 0x9005, 0x0000, 0x012e, 0x00be, 0x00fe, + 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa894, + 0x90c6, 0x0015, 0x0904, 0x64a3, 0x90c6, 0x0056, 0x0904, 0x64a7, + 0x90c6, 0x0066, 0x0904, 0x64ab, 0x90c6, 0x0067, 0x0904, 0x64af, + 0x90c6, 0x0068, 0x0904, 0x64b3, 0x90c6, 0x0071, 0x0904, 0x64b7, + 0x90c6, 0x0074, 0x0904, 0x64bb, 0x90c6, 0x007c, 0x0904, 0x64bf, + 0x90c6, 0x007e, 0x0904, 0x64c3, 0x90c6, 0x0037, 0x0904, 0x64c7, + 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, 0x00ff, 0x0904, 0x649e, + 0x9182, 0x0800, 0x1a04, 0x649e, 0x080c, 0x6616, 0x1198, 0xb804, + 0x9084, 0x00ff, 0x9082, 0x0006, 0x1268, 0xa894, 0x90c6, 0x006f, + 0x0148, 0x080c, 0xadc9, 0x1904, 0x6487, 0xb8a0, 0x9084, 0xff80, + 0x1904, 0x6487, 0xa894, 0x90c6, 0x006f, 0x0158, 0x90c6, 0x005e, + 0x0904, 0x63e7, 0x90c6, 0x0064, 0x0904, 0x6410, 0x2008, 0x0804, + 0x63a9, 0xa998, 0xa8b0, 0x2040, 0x080c, 0xadc9, 0x1120, 0x9182, + 0x007f, 0x0a04, 0x63a9, 0x9186, 0x00ff, 0x0904, 0x63a9, 0x9182, + 0x0800, 0x1a04, 0x63a9, 0xaaa0, 0xab9c, 0x787c, 0x9306, 0x11a8, + 0x7880, 0x0096, 0x924e, 0x1128, 0x2208, 0x2310, 0x009e, 0x0804, + 0x63a9, 0x080c, 0xadc9, 0x1140, 0x99cc, 0xff00, 0x009e, 0x1128, + 0x2208, 0x2310, 0x0804, 0x63a9, 0x009e, 0x080c, 0x49d1, 0x0904, + 0x63b3, 0x900e, 0x9016, 0x90c6, 0x4000, 0x15e0, 0x0006, 0x080c, + 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x20a9, + 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8c4, + 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0f7c, 0x20a9, + 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8c4, + 0x20e0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0f7c, 0xa8c4, + 0xabc8, 0x9305, 0xabcc, 0x9305, 0xabd0, 0x9305, 0xabd4, 0x9305, + 0xabd8, 0x9305, 0xabdc, 0x9305, 0xabe0, 0x9305, 0x9005, 0x0510, + 0x000e, 0x00c8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x00a0, 0x90c6, + 0x4008, 0x1118, 0x2708, 0x2610, 0x0070, 0x90c6, 0x4009, 0x1108, + 0x0050, 0x90c6, 0x4006, 0x0138, 0x2001, 0x4005, 0x2009, 0x000a, + 0x0010, 0x2001, 0x4006, 0xa896, 0xa99a, 0xaa9e, 0x2001, 0x0030, + 0x900e, 0x0478, 0x000e, 0x080c, 0xae09, 0x1130, 0x2001, 0x4005, + 0x2009, 0x0003, 0x9016, 0x0c78, 0x2b00, 0x6012, 0x080c, 0xcfd4, + 0x2900, 0x6016, 0x6023, 0x0001, 0xa868, 0xd88c, 0x0108, 0xc0f5, + 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, 0x31cc, 0x012e, 0x9006, + 0x080c, 0x6552, 0x2001, 0x0002, 0x080c, 0x6566, 0x2009, 0x0002, + 0x080c, 0xaeda, 0xa8b0, 0xd094, 0x0118, 0xb8cc, 0xc08d, 0xb8ce, + 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x080c, + 0x56f6, 0x0118, 0x2009, 0x0007, 0x00f8, 0xa998, 0xaeb0, 0x080c, + 0x6616, 0x1904, 0x63a4, 0x9186, 0x007f, 0x0130, 0x080c, 0x6989, + 0x0118, 0x2009, 0x0009, 0x0080, 0x0096, 0x080c, 0x0fff, 0x1120, + 0x009e, 0x2009, 0x0002, 0x0040, 0x2900, 0x009e, 0xa806, 0x080c, + 0xcd40, 0x19b0, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x63ab, + 0xa998, 0xaeb0, 0x080c, 0x6616, 0x1904, 0x63a4, 0x0096, 0x080c, + 0x0fff, 0x1128, 0x009e, 0x2009, 0x0002, 0x0804, 0x6464, 0x2900, + 0x009e, 0xa806, 0x0096, 0x2048, 0x20a9, 0x002b, 0xb8c4, 0x20e0, + 0xb8c8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, + 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xbbc8, 0x9398, + 0x0006, 0x2398, 0x080c, 0x0f7c, 0x009e, 0xa87b, 0x0000, 0xa883, + 0x0000, 0xa897, 0x4000, 0xd684, 0x1168, 0x080c, 0x56e2, 0xd0b4, + 0x1118, 0xa89b, 0x000b, 0x00e0, 0xb800, 0xd08c, 0x0118, 0xa89b, + 0x000c, 0x00b0, 0x080c, 0x6989, 0x0118, 0xa89b, 0x0009, 0x0080, + 0x080c, 0x56f6, 0x0118, 0xa89b, 0x0007, 0x0050, 0x080c, 0xcd23, + 0x1904, 0x63e0, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x63ab, + 0xa87b, 0x0030, 0xa897, 0x4005, 0xa804, 0x8006, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, + 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1243, + 0x080c, 0xb379, 0x1904, 0x63e0, 0x2009, 0x0002, 0x08e8, 0x2001, + 0x0028, 0x900e, 0x0804, 0x63e1, 0x2009, 0x180c, 0x210c, 0xd18c, + 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0010, 0x2001, 0x0029, 0x900e, 0x0804, 0x63e1, 0x2001, 0x0029, + 0x900e, 0x0804, 0x63e1, 0x080c, 0x3761, 0x0804, 0x63e2, 0x080c, + 0x541f, 0x0804, 0x63e2, 0x080c, 0x455f, 0x0804, 0x63e2, 0x080c, + 0x45d8, 0x0804, 0x63e2, 0x080c, 0x4634, 0x0804, 0x63e2, 0x080c, + 0x4a94, 0x0804, 0x63e2, 0x080c, 0x4d44, 0x0804, 0x63e2, 0x080c, + 0x508a, 0x0804, 0x63e2, 0x080c, 0x5283, 0x0804, 0x63e2, 0x080c, + 0x3977, 0x0804, 0x63e2, 0x00b6, 0xa974, 0xae78, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x1618, 0x9182, 0x0800, 0x1268, 0x9188, 0x1000, + 0x2104, 0x905d, 0x0140, 0x080c, 0x6989, 0x1148, 0x00e9, 0x080c, + 0x6741, 0x9006, 0x00b0, 0x2001, 0x0028, 0x900e, 0x0090, 0x9082, + 0x0006, 0x1240, 0xb900, 0xd1fc, 0x0d88, 0x2001, 0x0029, 0x2009, + 0x1000, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, + 0x900e, 0x9005, 0x00be, 0x0005, 0x0126, 0x2091, 0x8000, 0xb850, + 0x900d, 0x0150, 0x2900, 0x0096, 0x2148, 0xa802, 0x009e, 0xa803, + 0x0000, 0xb852, 0x012e, 0x0005, 0x2900, 0xb852, 0xb84e, 0xa803, + 0x0000, 0x0cc0, 0x0126, 0x2091, 0x8000, 0xb84c, 0x9005, 0x0170, + 0x00e6, 0x2071, 0x19e6, 0x7004, 0x9086, 0x0002, 0x0168, 0x00ee, + 0xb84c, 0xa802, 0x2900, 0xb84e, 0x012e, 0x0005, 0x2900, 0xb852, + 0xb84e, 0xa803, 0x0000, 0x0cc0, 0x701c, 0x9b06, 0x1d80, 0xb84c, + 0x00a6, 0x2050, 0xb000, 0xa802, 0x2900, 0xb002, 0x00ae, 0x00ee, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0xb84c, 0x904d, 0x0130, + 0xa800, 0x9005, 0x1108, 0xb852, 0xb84e, 0x9905, 0x012e, 0x0005, + 0xb84c, 0x904d, 0x0130, 0xa800, 0x9005, 0x1108, 0xb852, 0xb84e, + 0x9905, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x0026, 0x2091, 0x8000, + 0x6210, 0x2258, 0xba00, 0x9005, 0x0110, 0xc285, 0x0008, 0xc284, + 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, + 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, + 0x0006, 0x1170, 0xb89c, 0xd0ac, 0x0158, 0x080c, 0x6985, 0x0140, + 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, 0x1110, 0x2011, 0x0600, + 0x000e, 0x9294, 0xff00, 0x9215, 0xba06, 0x0006, 0x9086, 0x0006, + 0x1120, 0xba90, 0x82ff, 0x090c, 0x0dd5, 0x000e, 0x00ce, 0x012e, + 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, + 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1168, 0xb89c, 0xd0a4, + 0x0150, 0x080c, 0x6981, 0x1138, 0x9284, 0x00ff, 0x9086, 0x0007, + 0x1110, 0x2011, 0x0006, 0x000e, 0x9294, 0x00ff, 0x8007, 0x9215, + 0xba06, 0x00ce, 0x012e, 0x00be, 0x0005, 0x9182, 0x0800, 0x0218, + 0x9085, 0x0001, 0x0005, 0x00d6, 0x0026, 0x9190, 0x1000, 0x2204, + 0x905d, 0x1188, 0x0096, 0x080c, 0x0fff, 0x2958, 0x009e, 0x0168, + 0x2b00, 0x2012, 0xb85c, 0xb8ca, 0xb860, 0xb8c6, 0x9006, 0xb8a6, + 0xb8ae, 0x080c, 0x6047, 0x9006, 0x0010, 0x9085, 0x0001, 0x002e, + 0x00de, 0x0005, 0x00b6, 0x0096, 0x0126, 0x2091, 0x8000, 0x0026, + 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0458, 0x00d6, 0x9190, + 0x1000, 0x2204, 0x905d, 0x0518, 0x2013, 0x0000, 0xb8a4, 0x904d, + 0x0110, 0x080c, 0x1031, 0x00d6, 0x00c6, 0xb8bc, 0x2060, 0x8cff, + 0x0168, 0x600c, 0x0006, 0x6014, 0x2048, 0x080c, 0xcb5a, 0x0110, + 0x080c, 0x0fb1, 0x080c, 0xae5f, 0x00ce, 0x0c88, 0x00ce, 0x00de, + 0x2b48, 0xb8c8, 0xb85e, 0xb8c4, 0xb862, 0x080c, 0x1041, 0x00de, + 0x9006, 0x002e, 0x012e, 0x009e, 0x00be, 0x0005, 0x0016, 0x9182, + 0x0800, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, 0x2104, + 0x905d, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, 0x0136, + 0x0146, 0x9006, 0xb80a, 0xb80e, 0xb800, 0xc08c, 0xb802, 0x080c, + 0x73b3, 0x1510, 0xb8a0, 0x9086, 0x007e, 0x0120, 0x080c, 0xadc9, + 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, 0x00c6, 0x2061, 0x1981, + 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, 0x600a, 0x7054, 0x600e, + 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, 0x1110, 0x2001, 0x0001, + 0x6886, 0x2069, 0x1800, 0x68b6, 0x7040, 0xb85e, 0x7048, 0xb862, + 0x704c, 0xb866, 0x20e1, 0x0000, 0x2099, 0x0276, 0xb8c4, 0x20e8, + 0xb8c8, 0x9088, 0x000a, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2099, + 0x027a, 0x9088, 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2069, + 0x0200, 0x6817, 0x0001, 0x7040, 0xb86a, 0x7144, 0xb96e, 0x7048, + 0xb872, 0x7050, 0xb876, 0x2069, 0x0200, 0x6817, 0x0000, 0xb8a0, + 0x9086, 0x007e, 0x1110, 0x7144, 0xb96e, 0x9182, 0x0211, 0x1218, + 0x2009, 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, 0x0007, + 0x00d0, 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0x9182, + 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, 0x1218, + 0x2009, 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, 0x0003, + 0x0010, 0x2009, 0x0002, 0xb992, 0x014e, 0x013e, 0x015e, 0x00de, + 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, 0xb896, + 0x703c, 0xb89a, 0x7054, 0xb89e, 0x0036, 0xbbcc, 0xc384, 0xba00, + 0x2009, 0x1867, 0x210c, 0xd0bc, 0x0120, 0xd1ec, 0x0110, 0xc2ad, + 0x0008, 0xc2ac, 0xd0c4, 0x0148, 0xd1e4, 0x0138, 0xc2bd, 0xd0cc, + 0x0128, 0xd38c, 0x1108, 0xc385, 0x0008, 0xc2bc, 0xba02, 0xbbce, + 0x003e, 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, 0x0126, 0x2091, + 0x8000, 0xb8a4, 0x904d, 0x0578, 0xa900, 0x81ff, 0x15c0, 0xaa04, + 0x9282, 0x0010, 0x16c8, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x8906, + 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9080, + 0x0004, 0x2098, 0x2009, 0x0010, 0x20a9, 0x0001, 0x4002, 0x9086, + 0xffff, 0x0120, 0x8109, 0x1dd0, 0x080c, 0x0dd5, 0x3c00, 0x20e8, + 0x3300, 0x8001, 0x20a0, 0x4604, 0x8210, 0xaa06, 0x01de, 0x01ce, + 0x014e, 0x013e, 0x0060, 0x080c, 0x0fff, 0x0170, 0x2900, 0xb8a6, + 0xa803, 0x0000, 0x080c, 0x67d2, 0xa807, 0x0001, 0xae12, 0x9085, + 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0126, 0x2091, + 0x8000, 0x0096, 0xb8a4, 0x904d, 0x0188, 0xa800, 0x9005, 0x1150, + 0x080c, 0x67e1, 0x1158, 0xa804, 0x908a, 0x0002, 0x0218, 0x8001, + 0xa806, 0x0020, 0x080c, 0x1031, 0xb8a7, 0x0000, 0x009e, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x9115, 0x012e, 0x0005, + 0x901e, 0x0010, 0x2019, 0x0001, 0x900e, 0x0126, 0x2091, 0x8000, + 0xb84c, 0x2048, 0xb800, 0xd0dc, 0x1170, 0x89ff, 0x0500, 0x83ff, + 0x0120, 0xa878, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, 0x1118, + 0xa870, 0x9506, 0x0120, 0x2908, 0xa800, 0x2048, 0x0c70, 0x080c, + 0xa67d, 0xaa00, 0xb84c, 0x9906, 0x1110, 0xba4e, 0x0020, 0x00a6, + 0x2150, 0xb202, 0x00ae, 0x82ff, 0x1110, 0xb952, 0x89ff, 0x012e, + 0x0005, 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, 0x080c, + 0x6836, 0x0128, 0x080c, 0xcc17, 0x0010, 0x9085, 0x0001, 0x0005, + 0x080c, 0x6836, 0x0128, 0x080c, 0xcbbc, 0x0010, 0x9085, 0x0001, + 0x0005, 0x080c, 0x6836, 0x0128, 0x080c, 0xcc14, 0x0010, 0x9085, + 0x0001, 0x0005, 0x080c, 0x6836, 0x0128, 0x080c, 0xcbdb, 0x0010, + 0x9085, 0x0001, 0x0005, 0x080c, 0x6836, 0x0128, 0x080c, 0xcc58, + 0x0010, 0x9085, 0x0001, 0x0005, 0xb8a4, 0x900d, 0x1118, 0x9085, + 0x0001, 0x0005, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, + 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, + 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, + 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0008, 0x9006, 0x01ce, + 0x013e, 0x0005, 0x0146, 0x01d6, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0004, 0x20a0, 0x20a9, 0x0010, 0x2009, 0xffff, 0x4104, 0x01de, + 0x014e, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, + 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, + 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, 0x0128, + 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0068, 0x0146, 0x01d6, 0x3300, + 0x8001, 0x20a0, 0x3c00, 0x20e8, 0x2001, 0xffff, 0x4004, 0x01de, + 0x014e, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0096, 0x0126, 0x2091, + 0x8000, 0xb8a4, 0x904d, 0x1128, 0x080c, 0x0fff, 0x0168, 0x2900, + 0xb8a6, 0x080c, 0x67d2, 0xa803, 0x0001, 0xa807, 0x0000, 0x9085, + 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0096, 0x0126, + 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0130, 0xb8a7, 0x0000, 0x080c, + 0x1031, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0xb89c, 0xd0a4, + 0x0005, 0x00b6, 0x00f6, 0x080c, 0x73b3, 0x01b0, 0x71c4, 0x81ff, + 0x1198, 0x71dc, 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, 0x1000, + 0x2004, 0x905d, 0x0148, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, + 0x1118, 0xb800, 0xc0ed, 0xb802, 0x2079, 0x1847, 0x7804, 0xd0a4, + 0x01d0, 0x0156, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6616, + 0x1168, 0xb804, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, 0x0118, + 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x001e, 0x8108, + 0x1f04, 0x685d, 0x015e, 0x080c, 0x6947, 0x0120, 0x2001, 0x1984, + 0x200c, 0x0038, 0x2079, 0x1847, 0x7804, 0xd0a4, 0x0130, 0x2009, + 0x07d0, 0x2011, 0x6888, 0x080c, 0x8591, 0x00fe, 0x00be, 0x0005, + 0x00b6, 0x2011, 0x6888, 0x080c, 0x84f9, 0x080c, 0x6947, 0x01d8, + 0x2001, 0x107e, 0x2004, 0x2058, 0xb900, 0xc1ec, 0xb902, 0x080c, + 0x6985, 0x0130, 0x2009, 0x07d0, 0x2011, 0x6888, 0x080c, 0x8591, + 0x00e6, 0x2071, 0x1800, 0x9006, 0x707e, 0x7060, 0x7082, 0x080c, + 0x2fa3, 0x00ee, 0x04b0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, + 0x0016, 0x080c, 0x6616, 0x1538, 0xb800, 0xd0ec, 0x0520, 0x0046, + 0xbaa0, 0x2220, 0x9006, 0x2009, 0x0029, 0x080c, 0xe5e9, 0xb800, + 0xc0e5, 0xc0ec, 0xb802, 0x080c, 0x6981, 0x2001, 0x0707, 0x1128, + 0xb804, 0x9084, 0x00ff, 0x9085, 0x0700, 0xb806, 0x2019, 0x0029, + 0x080c, 0x929d, 0x0076, 0x903e, 0x080c, 0x9170, 0x900e, 0x080c, + 0xe326, 0x007e, 0x004e, 0x001e, 0x8108, 0x1f04, 0x68b0, 0x00ce, + 0x015e, 0x00be, 0x0005, 0x00b6, 0x6010, 0x2058, 0xb800, 0xc0ec, + 0xb802, 0x00be, 0x0005, 0x00b6, 0x00c6, 0x0096, 0x080c, 0x1018, + 0x090c, 0x0dd5, 0x2958, 0x009e, 0x2001, 0x196a, 0x2b02, 0x8b07, + 0x8006, 0x8006, 0x908c, 0x003f, 0xb9c6, 0x908c, 0xffc0, 0xb9ca, + 0xb8af, 0x0000, 0x2009, 0x00ff, 0x080c, 0x6047, 0xb807, 0x0006, + 0xb813, 0x00ff, 0xb817, 0xffff, 0xb86f, 0x0200, 0xb86c, 0xb893, + 0x0002, 0xb8bb, 0x0520, 0xb8a3, 0x00ff, 0xb8af, 0x0000, 0x00ce, + 0x00be, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ac, + 0x0005, 0x6010, 0x00b6, 0x905d, 0x0108, 0xb800, 0x00be, 0xd0bc, + 0x0005, 0x0006, 0x0016, 0x0026, 0xb804, 0x908c, 0x00ff, 0x9196, + 0x0006, 0x0188, 0x9196, 0x0004, 0x0170, 0x9196, 0x0005, 0x0158, + 0x908c, 0xff00, 0x810f, 0x9196, 0x0006, 0x0128, 0x9196, 0x0004, + 0x0110, 0x9196, 0x0005, 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, + 0x00f6, 0x2001, 0x107e, 0x2004, 0x905d, 0x0110, 0xb800, 0xd0ec, + 0x00fe, 0x00be, 0x0005, 0x0126, 0x0026, 0x2091, 0x8000, 0x0006, + 0xbaa0, 0x9290, 0x1000, 0x2204, 0x9b06, 0x190c, 0x0dd5, 0x000e, + 0xba00, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, 0xba02, 0x002e, + 0x012e, 0x0005, 0x2011, 0x1837, 0x2204, 0xd0cc, 0x0138, 0x2001, + 0x1982, 0x200c, 0x2011, 0x6977, 0x080c, 0x8591, 0x0005, 0x2011, + 0x6977, 0x080c, 0x84f9, 0x2011, 0x1837, 0x2204, 0xc0cc, 0x2012, + 0x0005, 0x080c, 0x56e2, 0xd0ac, 0x0005, 0x080c, 0x56e2, 0xd0a4, + 0x0005, 0x0016, 0xb904, 0x9184, 0x00ff, 0x908e, 0x0006, 0x001e, + 0x0005, 0x0016, 0xb904, 0x9184, 0xff00, 0x8007, 0x908e, 0x0006, + 0x001e, 0x0005, 0x00b6, 0x00f6, 0x080c, 0xd25a, 0x0158, 0x70dc, + 0x9084, 0x0028, 0x0138, 0x2001, 0x107f, 0x2004, 0x905d, 0x0110, + 0xb8cc, 0xd094, 0x00fe, 0x00be, 0x0005, 0x2071, 0x1910, 0x7003, + 0x0001, 0x7007, 0x0000, 0x9006, 0x7012, 0x7016, 0x701a, 0x701e, + 0x700a, 0x7046, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1947, 0x900e, + 0x710a, 0x080c, 0x56e2, 0xd0fc, 0x1140, 0x080c, 0x56e2, 0x900e, + 0xd09c, 0x0108, 0x8108, 0x7102, 0x00f8, 0x2001, 0x1867, 0x200c, + 0x9184, 0x0007, 0x0002, 0x69c5, 0x69c5, 0x69c5, 0x69c5, 0x69c5, + 0x69db, 0x69e9, 0x69c5, 0x7003, 0x0003, 0x2009, 0x1868, 0x210c, + 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, 0x0002, 0x7006, + 0x0018, 0x7003, 0x0005, 0x0c88, 0x00ee, 0x001e, 0x0005, 0x00e6, + 0x2071, 0x0050, 0x684c, 0x9005, 0x1150, 0x00e6, 0x2071, 0x1910, + 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, 0x0488, 0x6844, + 0x9005, 0x0158, 0x080c, 0x770b, 0x6a60, 0x9200, 0x7002, 0x6864, + 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6860, 0x7002, 0x6864, + 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, 0x9005, 0x1110, + 0x7012, 0x7016, 0x684c, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, + 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, 0x1910, 0x7028, + 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, 0x00ee, 0x9006, + 0x00ee, 0x0005, 0x00e6, 0x0026, 0x2071, 0x1947, 0x7000, 0x9015, + 0x0904, 0x6c99, 0x9286, 0x0003, 0x0904, 0x6b2f, 0x9286, 0x0005, + 0x0904, 0x6b2f, 0x2071, 0x1877, 0xa87c, 0x9005, 0x0904, 0x6a90, + 0x7140, 0xa868, 0x9102, 0x0a04, 0x6c99, 0xa878, 0xd084, 0x15d8, + 0xa853, 0x0019, 0x2001, 0x8023, 0xa84e, 0x2071, 0x1910, 0x701c, + 0x9005, 0x1904, 0x6e2f, 0x0e04, 0x6e9d, 0x2071, 0x0000, 0xa850, + 0x7032, 0xa84c, 0x7082, 0xa870, 0x7086, 0xa86c, 0x708a, 0xa880, + 0x708e, 0x7036, 0x0146, 0x01d6, 0x0136, 0x01c6, 0x0156, 0x20e9, + 0x0000, 0x20a1, 0x002a, 0xa868, 0x20a8, 0xa860, 0x20e0, 0xa85c, + 0x9080, 0x0021, 0x2098, 0x4003, 0x015e, 0x01ce, 0x013e, 0x01de, + 0x014e, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x119b, 0x0804, 0x6b12, 0xa853, 0x001b, 0x2001, 0x8027, 0x0820, + 0x7004, 0xd08c, 0x1904, 0x6c99, 0xa853, 0x001a, 0x2001, 0x8024, + 0x0804, 0x6a54, 0x00e6, 0x0026, 0x2071, 0x1947, 0x7000, 0x9015, + 0x0904, 0x6c99, 0x9286, 0x0003, 0x0904, 0x6b2f, 0x9286, 0x0005, + 0x0904, 0x6b2f, 0xa84f, 0x8022, 0xa853, 0x0018, 0x0804, 0x6af7, + 0xa868, 0xd0fc, 0x11d8, 0x00e6, 0x0026, 0x2001, 0x1947, 0x2004, + 0x9005, 0x0904, 0x6c99, 0xa87c, 0xd0bc, 0x1904, 0x6c99, 0xa978, + 0xa874, 0x9105, 0x1904, 0x6c99, 0x2001, 0x1947, 0x2004, 0x0002, + 0x6c99, 0x6af3, 0x6b2f, 0x6b2f, 0x6c99, 0x6b2f, 0x0005, 0xa868, + 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, 0x1947, 0x210c, 0x81ff, + 0x0904, 0x6c99, 0xa87c, 0xd0cc, 0x0904, 0x6c99, 0xa880, 0x9084, + 0x00ff, 0x9086, 0x0001, 0x1904, 0x6c99, 0x9186, 0x0003, 0x0904, + 0x6b2f, 0x9186, 0x0005, 0x0904, 0x6b2f, 0xa84f, 0x8021, 0xa853, + 0x0017, 0x0028, 0x0005, 0xa84f, 0x8020, 0xa853, 0x0016, 0x2071, + 0x1910, 0x701c, 0x9005, 0x1904, 0x6e2f, 0x0e04, 0x6e9d, 0x2071, + 0x0000, 0xa84c, 0x7082, 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, + 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x119b, 0x2071, 0x1800, 0x2011, 0x0001, 0xa804, 0x900d, + 0x702c, 0x1158, 0xa802, 0x2900, 0x702e, 0x70c0, 0x9200, 0x70c2, + 0x080c, 0x841a, 0x002e, 0x00ee, 0x0005, 0x0096, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x009e, 0x0c58, 0xa84f, + 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1910, 0xa803, 0x0000, + 0x7010, 0x9005, 0x1904, 0x6c1e, 0x782c, 0x908c, 0x0780, 0x190c, + 0x6fe9, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, 0x6b4d, + 0x6c1e, 0x6b72, 0x6bb9, 0x080c, 0x0dd5, 0x2071, 0x1800, 0x2900, + 0x7822, 0xa804, 0x900d, 0x1170, 0x2071, 0x19f9, 0x703c, 0x9005, + 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, + 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, + 0x841a, 0x0c10, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, + 0x1580, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, + 0x2009, 0x1830, 0x210c, 0x918a, 0x0020, 0x0218, 0x7022, 0x00ee, + 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, + 0x8000, 0x70c2, 0x080c, 0x841a, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6fe9, 0xd0a4, 0x19f0, 0x2071, 0x19f9, 0x703c, 0x9005, 0x1328, + 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x841a, + 0x0800, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x1d60, 0x00ee, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd09c, 0x11a0, 0x009e, + 0x2900, 0x7822, 0xa804, 0x900d, 0x1560, 0x2071, 0x19f9, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, + 0x002e, 0x00ee, 0x0005, 0x009e, 0x2908, 0x7010, 0x8000, 0x7012, + 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, + 0xa804, 0x900d, 0x1170, 0x2071, 0x19f9, 0x703c, 0x9005, 0x1328, + 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, - 0x080c, 0x83fd, 0x0800, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, - 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, - 0x080c, 0x83fd, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, - 0x1d60, 0x00ee, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd09c, - 0x11a0, 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x1560, 0x2071, - 0x19f9, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, - 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x009e, 0x2908, 0x7010, + 0x080c, 0x841a, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, - 0x711e, 0x2148, 0xa804, 0x900d, 0x1170, 0x2071, 0x19f9, 0x703c, + 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6c73, 0x782c, 0x9094, + 0x0780, 0x190c, 0x6fe9, 0xd09c, 0x1198, 0x701c, 0x904d, 0x0180, + 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, 0x701e, 0x2900, + 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd09c, 0x0d68, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x01b0, 0x00e6, + 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, + 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, 0x782c, 0x9094, 0x0780, + 0x190c, 0x6fe9, 0xd0a4, 0x1d60, 0x00ee, 0x2071, 0x19f9, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, - 0x9200, 0x70c2, 0x080c, 0x83fd, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, - 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6c65, - 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd09c, 0x1198, 0x701c, - 0x904d, 0x0180, 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, - 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, - 0xd09c, 0x0d68, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, - 0x01b0, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, - 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x83fd, 0x782c, - 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, 0x1d60, 0x00ee, 0x2071, - 0x19f9, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, - 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, - 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x83fd, 0x00ee, - 0x0804, 0x6c20, 0xa868, 0xd0fc, 0x1560, 0x0096, 0xa804, 0xa807, - 0x0000, 0x904d, 0x190c, 0x0fb1, 0x009e, 0x0018, 0xa868, 0xd0fc, - 0x1500, 0x00e6, 0x0026, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, - 0x2071, 0x1910, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x6d9f, - 0x782c, 0x908c, 0x0780, 0x190c, 0x6fdb, 0x8004, 0x8004, 0x8004, - 0x9084, 0x0003, 0x0002, 0x6caa, 0x6d9f, 0x6cc5, 0x6d32, 0x080c, - 0x0dd5, 0x0005, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, - 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, - 0x9200, 0x70c2, 0x080c, 0x83fd, 0x0c60, 0x2071, 0x1800, 0x2900, - 0x7822, 0xa804, 0x900d, 0x1904, 0x6d21, 0x7830, 0x8007, 0x9084, - 0x001f, 0x9082, 0x0001, 0x1220, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, - 0x1830, 0x210c, 0x918a, 0x0020, 0x0218, 0x7022, 0x00ee, 0x0058, - 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, - 0x70c2, 0x080c, 0x83fd, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, - 0xd0a4, 0x19f0, 0x0e04, 0x6d18, 0x7838, 0x7938, 0x910e, 0x1de0, - 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2001, - 0x1921, 0x200c, 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x119b, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x2001, 0x1921, 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, 0x00ee, - 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, - 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x83fd, - 0x0804, 0x6cd8, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, - 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, - 0x83fd, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, 0x1d60, - 0x00ee, 0x0e04, 0x6d72, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, - 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, - 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x119b, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd09c, 0x1170, - 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x11e0, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x0c58, 0x009e, 0x2908, - 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, - 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, - 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, - 0x70c2, 0x080c, 0x83fd, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, - 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, - 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6e0c, 0x782c, - 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd09c, 0x11b0, 0x701c, 0x904d, - 0x0198, 0xa84c, 0x9005, 0x1180, 0x7010, 0x8001, 0x7012, 0x1108, - 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6fdb, 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, 0x190c, - 0x6fdb, 0xd0a4, 0x05a8, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, + 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, + 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, + 0x70c0, 0x9200, 0x70c2, 0x080c, 0x841a, 0x00ee, 0x0804, 0x6c2e, + 0xa868, 0xd0fc, 0x1560, 0x0096, 0xa804, 0xa807, 0x0000, 0x904d, + 0x190c, 0x0fb1, 0x009e, 0x0018, 0xa868, 0xd0fc, 0x1500, 0x00e6, + 0x0026, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1910, + 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x6dad, 0x782c, 0x908c, + 0x0780, 0x190c, 0x6fe9, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, + 0x0002, 0x6cb8, 0x6dad, 0x6cd3, 0x6d40, 0x080c, 0x0dd5, 0x0005, + 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1120, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, + 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, + 0x080c, 0x841a, 0x0c60, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, + 0x900d, 0x1904, 0x6d2f, 0x7830, 0x8007, 0x9084, 0x001f, 0x9082, + 0x0001, 0x1220, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7824, 0x00e6, + 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, 0x1830, 0x210c, + 0x918a, 0x0020, 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, - 0x83fd, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, 0x1d60, - 0x00ee, 0x0e04, 0x6e05, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, - 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, - 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x119b, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, - 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, + 0x841a, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x19f0, + 0x0e04, 0x6d26, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, + 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2001, 0x1921, 0x200c, + 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x119b, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2001, 0x1921, + 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, - 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x83fd, 0x00ee, 0x0804, - 0x6daf, 0x2071, 0x1910, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, + 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x841a, 0x0804, 0x6ce6, + 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, + 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x1d60, 0x00ee, 0x0e04, + 0x6d80, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, + 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd09c, 0x1170, 0x009e, 0x2900, + 0x7822, 0xa804, 0x900d, 0x11e0, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x7044, 0xc085, 0x7046, 0x0c58, 0x009e, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, - 0x2148, 0xa804, 0x900d, 0x1128, 0x1e04, 0x6e4c, 0x002e, 0x00ee, - 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, - 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, - 0x080c, 0x83fd, 0x0e04, 0x6e36, 0x2071, 0x1910, 0x701c, 0x2048, - 0xa84c, 0x900d, 0x0d18, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, - 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0xa850, 0x9082, 0x0019, - 0x1278, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x119b, 0x2071, 0x1910, 0x080c, 0x6fc7, 0x002e, 0x00ee, 0x0005, - 0xa850, 0x9082, 0x001c, 0x1e68, 0xa880, 0x708e, 0x7036, 0x0146, - 0x01d6, 0x0136, 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, - 0xa868, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, - 0x4003, 0x015e, 0x01ce, 0x013e, 0x01de, 0x014e, 0x0890, 0x2071, + 0x2148, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, + 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, + 0x841a, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, + 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, + 0x2148, 0xa804, 0x900d, 0x1904, 0x6e1a, 0x782c, 0x9094, 0x0780, + 0x190c, 0x6fe9, 0xd09c, 0x11b0, 0x701c, 0x904d, 0x0198, 0xa84c, + 0x9005, 0x1180, 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, + 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, + 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, + 0x05a8, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, + 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x1d60, 0x00ee, 0x0e04, + 0x6e13, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, + 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, + 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, + 0x9200, 0x70c2, 0x080c, 0x841a, 0x00ee, 0x0804, 0x6dbd, 0x2071, 0x1910, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, - 0x900d, 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, - 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, - 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x83fd, 0x002e, 0x00ee, - 0x0005, 0x0006, 0xa87c, 0x0006, 0xa867, 0x0103, 0x20a9, 0x001c, - 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001d, 0x20a0, 0x9006, 0x4004, - 0x000e, 0x9084, 0x00ff, 0xa87e, 0x000e, 0xa87a, 0xa982, 0x0005, - 0x2071, 0x1910, 0x7004, 0x0002, 0x6eda, 0x6edb, 0x6fc6, 0x6edb, - 0x0dd5, 0x6fc6, 0x0005, 0x2001, 0x1947, 0x2004, 0x0002, 0x6ee5, - 0x6ee5, 0x6f5f, 0x6f60, 0x6ee5, 0x6f60, 0x0126, 0x2091, 0x8000, - 0x1e0c, 0x6fe6, 0x701c, 0x904d, 0x0508, 0xa84c, 0x9005, 0x0904, - 0x6f30, 0x0e04, 0x6f0e, 0xa94c, 0x2071, 0x0000, 0x7182, 0xa850, - 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0xa850, 0x9082, - 0x0019, 0x1278, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x119b, 0x2071, 0x1910, 0x080c, 0x6fc7, 0x012e, 0x0804, - 0x6f5e, 0xa850, 0x9082, 0x001c, 0x1e68, 0xa880, 0x708e, 0x7036, - 0x0146, 0x01d6, 0x0136, 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, - 0x002a, 0xa868, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, - 0x2098, 0x4003, 0x015e, 0x01ce, 0x013e, 0x01de, 0x014e, 0x0890, - 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd09c, - 0x2071, 0x1910, 0x1510, 0x2071, 0x1910, 0x700f, 0x0001, 0xa964, - 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, - 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, - 0x00de, 0x2071, 0x1910, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, - 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, - 0x00d6, 0x2008, 0x2069, 0x19f9, 0x683c, 0x9005, 0x0760, 0x0158, - 0x9186, 0x0003, 0x0540, 0x2001, 0x1815, 0x2004, 0x2009, 0x1ac7, - 0x210c, 0x9102, 0x1500, 0x0126, 0x2091, 0x8000, 0x2069, 0x0050, - 0x693c, 0x6838, 0x9106, 0x0190, 0x0e04, 0x6f92, 0x2069, 0x0000, - 0x6837, 0x8040, 0x6833, 0x0012, 0x6883, 0x8040, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x2069, 0x19f9, - 0x683f, 0xffff, 0x012e, 0x00de, 0x0126, 0x2091, 0x8000, 0x1e0c, - 0x7047, 0x701c, 0x904d, 0x0540, 0x2001, 0x005b, 0x2004, 0x9094, - 0x0780, 0x15c9, 0xd09c, 0x1500, 0x2071, 0x1910, 0x700f, 0x0001, - 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, - 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, - 0x6822, 0x00de, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, - 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x0126, - 0x2091, 0x8000, 0x701c, 0x904d, 0x0160, 0x7010, 0x8001, 0x7012, - 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, 0x1031, - 0x0005, 0x012e, 0x0005, 0x2091, 0x8000, 0x0e04, 0x6fdd, 0x0006, - 0x0016, 0x2001, 0x8004, 0x0006, 0x0804, 0x0dde, 0x0096, 0x00f6, - 0x2079, 0x0050, 0x7044, 0xd084, 0x01c0, 0xc084, 0x7046, 0x7838, - 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, - 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x119b, 0x00fe, 0x009e, 0x0005, 0x782c, 0x9094, 0x0780, - 0x1991, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x00e6, - 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, 0x1830, 0x210c, - 0x918a, 0x0020, 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, - 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, - 0x83fd, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, 0x19f0, - 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, - 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x119b, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x00f6, - 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, 0x7838, - 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, - 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x119b, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, 0x190c, - 0x6fdb, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x2048, - 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, - 0x83fd, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fdb, 0xd0a4, 0x1d70, - 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, 0x1947, 0x6808, 0x690a, - 0x2069, 0x19f9, 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, 0x2001, - 0x1948, 0x200c, 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, 0x0005, - 0x7098, 0x908a, 0x0029, 0x1a0c, 0x0dd5, 0x9082, 0x001d, 0x001b, - 0x6027, 0x1e00, 0x0005, 0x716f, 0x70f5, 0x7111, 0x713b, 0x715e, - 0x719e, 0x71b0, 0x7111, 0x7186, 0x70b0, 0x70de, 0x70af, 0x0005, - 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, 0x1180, 0x6808, 0x9005, - 0x1518, 0x709b, 0x0028, 0x2069, 0x198e, 0x2d04, 0x7002, 0x080c, - 0x74df, 0x6028, 0x9085, 0x0600, 0x602a, 0x00b0, 0x709b, 0x0028, - 0x2069, 0x198e, 0x2d04, 0x7002, 0x6028, 0x9085, 0x0600, 0x602a, - 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a61, 0x080c, 0x1aab, - 0x005e, 0x004e, 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, 0x2069, - 0x0200, 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, 0x709b, - 0x0028, 0x2069, 0x198e, 0x2d04, 0x7002, 0x080c, 0x757a, 0x6028, - 0x9085, 0x0600, 0x602a, 0x00de, 0x0005, 0x0006, 0x2001, 0x0090, - 0x080c, 0x2cf1, 0x000e, 0x6124, 0xd1e4, 0x1190, 0x080c, 0x721d, - 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x709b, 0x0020, - 0x080c, 0x721d, 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, - 0x0005, 0x2001, 0x0088, 0x080c, 0x2cf1, 0x6124, 0xd1cc, 0x11e8, - 0xd1dc, 0x11c0, 0xd1e4, 0x1198, 0x9184, 0x1e00, 0x11d8, 0x080c, - 0x1ad5, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x73d1, - 0x2001, 0x0080, 0x080c, 0x2cf1, 0x709b, 0x0028, 0x0058, 0x709b, - 0x001e, 0x0040, 0x709b, 0x001d, 0x0028, 0x709b, 0x0020, 0x0010, - 0x709b, 0x001f, 0x0005, 0x080c, 0x1ad5, 0x60e3, 0x0001, 0x600c, - 0xc0b4, 0x600e, 0x080c, 0x73d1, 0x2001, 0x0080, 0x080c, 0x2cf1, - 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, 0x9184, - 0x1e00, 0x1158, 0x709b, 0x0028, 0x0040, 0x709b, 0x001e, 0x0028, - 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, 0x2001, 0x00a0, - 0x080c, 0x2cf1, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, - 0x1ad5, 0x709b, 0x001e, 0x0010, 0x709b, 0x001d, 0x0005, 0x080c, - 0x72a0, 0x6124, 0xd1dc, 0x1188, 0x080c, 0x721d, 0x0016, 0x080c, - 0x1ad5, 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x709b, 0x001e, - 0x0020, 0x709b, 0x001f, 0x080c, 0x721d, 0x0005, 0x0006, 0x2001, - 0x00a0, 0x080c, 0x2cf1, 0x000e, 0x6124, 0xd1d4, 0x1160, 0xd1cc, + 0x900d, 0x1128, 0x1e04, 0x6e5a, 0x002e, 0x00ee, 0x0005, 0x2071, + 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x841a, + 0x0e04, 0x6e44, 0x2071, 0x1910, 0x701c, 0x2048, 0xa84c, 0x900d, + 0x0d18, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, + 0x7036, 0xa870, 0x708a, 0xa850, 0x9082, 0x0019, 0x1278, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, 0x2071, + 0x1910, 0x080c, 0x6fd5, 0x002e, 0x00ee, 0x0005, 0xa850, 0x9082, + 0x001c, 0x1e68, 0xa880, 0x708e, 0x7036, 0x0146, 0x01d6, 0x0136, + 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, 0xa868, 0x20a8, + 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x4003, 0x015e, + 0x01ce, 0x013e, 0x01de, 0x014e, 0x0890, 0x2071, 0x1910, 0xa803, + 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, + 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1118, + 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, + 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, + 0x9200, 0x70c2, 0x080c, 0x841a, 0x002e, 0x00ee, 0x0005, 0x0006, + 0xa87c, 0x0006, 0xa867, 0x0103, 0x20a9, 0x001c, 0xa860, 0x20e8, + 0xa85c, 0x9080, 0x001d, 0x20a0, 0x9006, 0x4004, 0x000e, 0x9084, + 0x00ff, 0xa87e, 0x000e, 0xa87a, 0xa982, 0x0005, 0x2071, 0x1910, + 0x7004, 0x0002, 0x6ee8, 0x6ee9, 0x6fd4, 0x6ee9, 0x0dd5, 0x6fd4, + 0x0005, 0x2001, 0x1947, 0x2004, 0x0002, 0x6ef3, 0x6ef3, 0x6f6d, + 0x6f6e, 0x6ef3, 0x6f6e, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x6ff4, + 0x701c, 0x904d, 0x0508, 0xa84c, 0x9005, 0x0904, 0x6f3e, 0x0e04, + 0x6f1c, 0xa94c, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, + 0x7086, 0x7036, 0xa870, 0x708a, 0xa850, 0x9082, 0x0019, 0x1278, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, + 0x2071, 0x1910, 0x080c, 0x6fd5, 0x012e, 0x0804, 0x6f6c, 0xa850, + 0x9082, 0x001c, 0x1e68, 0xa880, 0x708e, 0x7036, 0x0146, 0x01d6, + 0x0136, 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, 0xa868, + 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x4003, + 0x015e, 0x01ce, 0x013e, 0x01de, 0x014e, 0x0890, 0x2001, 0x005b, + 0x2004, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd09c, 0x2071, 0x1910, + 0x1510, 0x2071, 0x1910, 0x700f, 0x0001, 0xa964, 0x9184, 0x00ff, + 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, + 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, 0x2071, + 0x1910, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, + 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x00d6, 0x2008, + 0x2069, 0x19f9, 0x683c, 0x9005, 0x0760, 0x0158, 0x9186, 0x0003, + 0x0540, 0x2001, 0x1815, 0x2004, 0x2009, 0x1ac7, 0x210c, 0x9102, + 0x1500, 0x0126, 0x2091, 0x8000, 0x2069, 0x0050, 0x693c, 0x6838, + 0x9106, 0x0190, 0x0e04, 0x6fa0, 0x2069, 0x0000, 0x6837, 0x8040, + 0x6833, 0x0012, 0x6883, 0x8040, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x119b, 0x2069, 0x19f9, 0x683f, 0xffff, + 0x012e, 0x00de, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x7055, 0x701c, + 0x904d, 0x0540, 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x15c9, + 0xd09c, 0x1500, 0x2071, 0x1910, 0x700f, 0x0001, 0xa964, 0x9184, + 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, + 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, + 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, + 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x0126, 0x2091, 0x8000, + 0x701c, 0x904d, 0x0160, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, + 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, 0x1031, 0x0005, 0x012e, + 0x0005, 0x2091, 0x8000, 0x0e04, 0x6feb, 0x0006, 0x0016, 0x2001, + 0x8004, 0x0006, 0x0804, 0x0dde, 0x0096, 0x00f6, 0x2079, 0x0050, + 0x7044, 0xd084, 0x01c0, 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, + 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, + 0x00fe, 0x009e, 0x0005, 0x782c, 0x9094, 0x0780, 0x1991, 0xd0a4, + 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x00e6, 0x2071, 0x0040, + 0x712c, 0xd19c, 0x1148, 0x2009, 0x1830, 0x210c, 0x918a, 0x0020, + 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, + 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x19f0, 0x7838, 0x7938, + 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, + 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x119b, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x00f6, 0x2079, 0x0050, + 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, + 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x119b, + 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, + 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x2048, 0x702c, 0xa802, + 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x841a, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6fe9, 0xd0a4, 0x1d70, 0x00d6, 0x2069, + 0x0050, 0x693c, 0x2069, 0x1947, 0x6808, 0x690a, 0x2069, 0x19f9, + 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, 0x2001, 0x1948, 0x200c, + 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x7098, 0x908a, + 0x0029, 0x1a0c, 0x0dd5, 0x9082, 0x001d, 0x001b, 0x6027, 0x1e00, + 0x0005, 0x717d, 0x7103, 0x711f, 0x7149, 0x716c, 0x71ac, 0x71be, + 0x711f, 0x7194, 0x70be, 0x70ec, 0x70bd, 0x0005, 0x00d6, 0x2069, + 0x0200, 0x6804, 0x9005, 0x1180, 0x6808, 0x9005, 0x1518, 0x709b, + 0x0028, 0x2069, 0x198e, 0x2d04, 0x7002, 0x080c, 0x74eb, 0x6028, + 0x9085, 0x0600, 0x602a, 0x00b0, 0x709b, 0x0028, 0x2069, 0x198e, + 0x2d04, 0x7002, 0x6028, 0x9085, 0x0600, 0x602a, 0x00e6, 0x0036, + 0x0046, 0x0056, 0x2071, 0x1a61, 0x080c, 0x1abb, 0x005e, 0x004e, + 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, + 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, 0x709b, 0x0028, 0x2069, + 0x198e, 0x2d04, 0x7002, 0x080c, 0x7586, 0x6028, 0x9085, 0x0600, + 0x602a, 0x00de, 0x0005, 0x0006, 0x2001, 0x0090, 0x080c, 0x2cfc, + 0x000e, 0x6124, 0xd1e4, 0x1190, 0x080c, 0x722b, 0xd1d4, 0x1160, + 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x709b, 0x0020, 0x080c, 0x722b, + 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, 0x2001, + 0x0088, 0x080c, 0x2cfc, 0x6124, 0xd1cc, 0x11e8, 0xd1dc, 0x11c0, + 0xd1e4, 0x1198, 0x9184, 0x1e00, 0x11d8, 0x080c, 0x1ae0, 0x60e3, + 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x73df, 0x2001, 0x0080, + 0x080c, 0x2cfc, 0x709b, 0x0028, 0x0058, 0x709b, 0x001e, 0x0040, + 0x709b, 0x001d, 0x0028, 0x709b, 0x0020, 0x0010, 0x709b, 0x001f, + 0x0005, 0x080c, 0x1ae0, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, + 0x080c, 0x73df, 0x2001, 0x0080, 0x080c, 0x2cfc, 0x6124, 0xd1d4, + 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, 0x9184, 0x1e00, 0x1158, + 0x709b, 0x0028, 0x0040, 0x709b, 0x001e, 0x0028, 0x709b, 0x001d, + 0x0010, 0x709b, 0x001f, 0x0005, 0x2001, 0x00a0, 0x080c, 0x2cfc, + 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, 0x1ae0, 0x709b, + 0x001e, 0x0010, 0x709b, 0x001d, 0x0005, 0x080c, 0x72ae, 0x6124, + 0xd1dc, 0x1188, 0x080c, 0x722b, 0x0016, 0x080c, 0x1ae0, 0x001e, + 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x709b, 0x001e, 0x0020, 0x709b, + 0x001f, 0x080c, 0x722b, 0x0005, 0x0006, 0x2001, 0x00a0, 0x080c, + 0x2cfc, 0x000e, 0x6124, 0xd1d4, 0x1160, 0xd1cc, 0x1150, 0xd1dc, + 0x1128, 0xd1e4, 0x0140, 0x709b, 0x001e, 0x0028, 0x709b, 0x001d, + 0x0010, 0x709b, 0x0021, 0x0005, 0x080c, 0x72ae, 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x709b, 0x001e, 0x0028, - 0x709b, 0x001d, 0x0010, 0x709b, 0x0021, 0x0005, 0x080c, 0x72a0, - 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x709b, - 0x001e, 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, - 0x0006, 0x2001, 0x0090, 0x080c, 0x2cf1, 0x000e, 0x6124, 0xd1d4, - 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x709b, - 0x001e, 0x0040, 0x709b, 0x001d, 0x0028, 0x709b, 0x0020, 0x0010, - 0x709b, 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, - 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, - 0x080c, 0x73a5, 0x11d8, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x01b0, - 0xc1b4, 0x2102, 0x6027, 0x0200, 0x080c, 0x2c3a, 0x6024, 0xd0cc, - 0x0148, 0x2001, 0x00a0, 0x080c, 0x2cf1, 0x080c, 0x768d, 0x080c, - 0x6023, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, 0x73bf, - 0x0150, 0x080c, 0x73b6, 0x1138, 0x2001, 0x0001, 0x080c, 0x27ec, - 0x080c, 0x737d, 0x00a0, 0x080c, 0x729d, 0x0178, 0x2001, 0x0001, - 0x080c, 0x27ec, 0x7098, 0x9086, 0x001e, 0x0120, 0x7098, 0x9086, - 0x0022, 0x1118, 0x709b, 0x0025, 0x0010, 0x709b, 0x0021, 0x012e, - 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, 0x722e, - 0x080c, 0x85b6, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, 0x2011, - 0x722e, 0x080c, 0x85ad, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00f6, - 0x0016, 0x080c, 0xa274, 0x2071, 0x1800, 0x080c, 0x71cb, 0x001e, - 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, - 0x00e6, 0x00f6, 0x0126, 0x080c, 0xa274, 0x2061, 0x0100, 0x2069, - 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x6028, 0xc09c, 0x602a, - 0x2011, 0x0003, 0x080c, 0xa654, 0x2011, 0x0002, 0x080c, 0xa65e, - 0x080c, 0xa541, 0x080c, 0x8562, 0x0036, 0x901e, 0x080c, 0xa5b7, - 0x003e, 0x60e3, 0x0000, 0x080c, 0xea0a, 0x080c, 0xea25, 0x2009, - 0x0004, 0x080c, 0x2c40, 0x080c, 0x2b5b, 0x2001, 0x1800, 0x2003, - 0x0004, 0x6027, 0x0008, 0x2011, 0x722e, 0x080c, 0x85b6, 0x080c, - 0x73bf, 0x0118, 0x9006, 0x080c, 0x2cf1, 0x080c, 0x0bae, 0x2001, - 0x0001, 0x080c, 0x27ec, 0x012e, 0x00fe, 0x00ee, 0x00de, 0x00ce, - 0x003e, 0x002e, 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, 0x723b, - 0x2071, 0x19f9, 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, 0x0110, - 0x9085, 0x0001, 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, 0x0005, - 0x6800, 0x9084, 0xfffe, 0x9086, 0x00c0, 0x0170, 0x2001, 0x00c0, - 0x080c, 0x2cf1, 0x0156, 0x20a9, 0x002d, 0x1d04, 0x72ad, 0x2091, - 0x6000, 0x1f04, 0x72ad, 0x015e, 0x0005, 0x00c6, 0x00d6, 0x00e6, - 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x769c, - 0x2001, 0x196c, 0x2003, 0x0000, 0x9006, 0x709a, 0x60e2, 0x6886, - 0x080c, 0x28b4, 0x9006, 0x080c, 0x2cf1, 0x080c, 0x5ee2, 0x6027, - 0xffff, 0x602b, 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, + 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, 0x0006, 0x2001, + 0x0090, 0x080c, 0x2cfc, 0x000e, 0x6124, 0xd1d4, 0x1178, 0xd1cc, + 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x709b, 0x001e, 0x0040, + 0x709b, 0x001d, 0x0028, 0x709b, 0x0020, 0x0010, 0x709b, 0x001f, + 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, 0x2061, 0x0100, + 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x080c, 0x73b3, + 0x11d8, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x01b0, 0xc1b4, 0x2102, + 0x6027, 0x0200, 0x080c, 0x2c45, 0x6024, 0xd0cc, 0x0148, 0x2001, + 0x00a0, 0x080c, 0x2cfc, 0x080c, 0x7699, 0x080c, 0x602d, 0x0428, + 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, 0x73cd, 0x0150, 0x080c, + 0x73c4, 0x1138, 0x2001, 0x0001, 0x080c, 0x27f7, 0x080c, 0x738b, + 0x00a0, 0x080c, 0x72ab, 0x0178, 0x2001, 0x0001, 0x080c, 0x27f7, + 0x7098, 0x9086, 0x001e, 0x0120, 0x7098, 0x9086, 0x0022, 0x1118, + 0x709b, 0x0025, 0x0010, 0x709b, 0x0021, 0x012e, 0x00ee, 0x00de, + 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, 0x723c, 0x080c, 0x85d3, + 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, 0x2011, 0x723c, 0x080c, + 0x85ca, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00f6, 0x0016, 0x080c, + 0xa28f, 0x2071, 0x1800, 0x080c, 0x71d9, 0x001e, 0x00fe, 0x00ee, + 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x0126, 0x080c, 0xa28f, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, + 0x1800, 0x2091, 0x8000, 0x6028, 0xc09c, 0x602a, 0x2011, 0x0003, + 0x080c, 0xa63e, 0x2011, 0x0002, 0x080c, 0xa648, 0x080c, 0xa552, + 0x080c, 0x857f, 0x0036, 0x901e, 0x080c, 0xa5c8, 0x003e, 0x60e3, + 0x0000, 0x080c, 0xea24, 0x080c, 0xea3f, 0x2009, 0x0004, 0x080c, + 0x2c4b, 0x080c, 0x2b66, 0x2001, 0x1800, 0x2003, 0x0004, 0x6027, + 0x0008, 0x2011, 0x723c, 0x080c, 0x85d3, 0x080c, 0x73cd, 0x0118, + 0x9006, 0x080c, 0x2cfc, 0x080c, 0x0bae, 0x2001, 0x0001, 0x080c, + 0x27f7, 0x012e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, 0x7249, 0x2071, 0x19f9, + 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, 0x0110, 0x9085, 0x0001, + 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, 0x0005, 0x6800, 0x9084, + 0xfffe, 0x9086, 0x00c0, 0x0170, 0x2001, 0x00c0, 0x080c, 0x2cfc, + 0x0156, 0x20a9, 0x002d, 0x1d04, 0x72bb, 0x2091, 0x6000, 0x1f04, + 0x72bb, 0x015e, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, + 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x76a8, 0x2001, 0x196c, + 0x2003, 0x0000, 0x9006, 0x709a, 0x60e2, 0x6886, 0x080c, 0x28bf, + 0x9006, 0x080c, 0x2cfc, 0x080c, 0x5eec, 0x6027, 0xffff, 0x602b, + 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2001, 0x197c, + 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, 0x0158, 0x9186, + 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, 0x737b, 0x709b, + 0x0022, 0x0040, 0x709b, 0x0021, 0x0028, 0x709b, 0x0023, 0x0010, + 0x709b, 0x0024, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, + 0x080c, 0x28bf, 0x0026, 0x080c, 0xadd0, 0x002e, 0x7000, 0x908e, + 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, 0x0020, 0x0156, + 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, 0xd0ac, 0x0150, + 0x012e, 0x015e, 0x080c, 0xd25a, 0x0118, 0x9006, 0x080c, 0x2d26, + 0x0804, 0x7387, 0x6800, 0x9084, 0x00a1, 0xc0bd, 0x6802, 0x080c, + 0x2c45, 0x6904, 0xd1d4, 0x1140, 0x2001, 0x0100, 0x080c, 0x2cfc, + 0x1f04, 0x7325, 0x080c, 0x740a, 0x012e, 0x015e, 0x080c, 0x73c4, + 0x01a8, 0x6044, 0x9005, 0x0168, 0x6050, 0x0006, 0x9085, 0x0020, + 0x6052, 0x080c, 0x740a, 0x9006, 0x8001, 0x1df0, 0x000e, 0x6052, + 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, 0x740a, 0x080c, 0xd25a, + 0x0118, 0x9006, 0x080c, 0x2d26, 0x0016, 0x0026, 0x7000, 0x908e, + 0x0004, 0x0130, 0x2009, 0x00c8, 0x2011, 0x7249, 0x080c, 0x8591, + 0x002e, 0x001e, 0x080c, 0x8411, 0x7034, 0xc085, 0x7036, 0x2001, + 0x197c, 0x2003, 0x0004, 0x080c, 0x70a6, 0x080c, 0x73c4, 0x0138, + 0x6804, 0xd0d4, 0x1120, 0xd0dc, 0x1100, 0x080c, 0x769e, 0x00ee, + 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, + 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x8428, 0x080c, 0x841a, + 0x080c, 0x76a8, 0x2001, 0x196c, 0x2003, 0x0000, 0x9006, 0x709a, + 0x60e2, 0x6886, 0x080c, 0x28bf, 0x9006, 0x080c, 0x2cfc, 0x6043, + 0x0090, 0x6043, 0x0010, 0x6027, 0xffff, 0x602b, 0x182f, 0x00ee, + 0x00de, 0x00ce, 0x0005, 0x0006, 0x2001, 0x197b, 0x2004, 0x9086, + 0xaaaa, 0x000e, 0x0005, 0x0006, 0x080c, 0x56e6, 0x9084, 0x0030, + 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, 0x080c, 0x56e6, 0x9084, + 0x0030, 0x9086, 0x0030, 0x000e, 0x0005, 0x0006, 0x080c, 0x56e6, + 0x9084, 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, 0x0006, 0x080c, + 0x56e6, 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, 0x0036, + 0x0016, 0x2001, 0x180c, 0x2004, 0x908c, 0x0013, 0x0180, 0x0020, + 0x080c, 0x28df, 0x900e, 0x0028, 0x080c, 0x6981, 0x1dc8, 0x2009, + 0x0002, 0x2019, 0x0028, 0x080c, 0x3197, 0x9006, 0x0019, 0x001e, + 0x003e, 0x0005, 0x00e6, 0x2071, 0x180c, 0x2e04, 0x0130, 0x080c, + 0xd253, 0x1128, 0x9085, 0x0010, 0x0010, 0x9084, 0xffef, 0x2072, + 0x00ee, 0x0005, 0x6050, 0x0006, 0x60ec, 0x0006, 0x600c, 0x0006, + 0x6004, 0x0006, 0x6028, 0x0006, 0x0016, 0x6138, 0x6050, 0x9084, + 0xfbff, 0x9085, 0x2000, 0x6052, 0x613a, 0x20a9, 0x0012, 0x1d04, + 0x741f, 0x2091, 0x6000, 0x1f04, 0x741f, 0x602f, 0x0100, 0x602f, + 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x613a, + 0x001e, 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, 0x602a, 0x000e, + 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x60e3, 0x0000, 0x6887, + 0x0001, 0x2001, 0x0001, 0x080c, 0x28bf, 0x2001, 0x00a0, 0x0006, + 0x080c, 0xd25a, 0x000e, 0x0130, 0x080c, 0x2d1a, 0x9006, 0x080c, + 0x2d26, 0x0010, 0x080c, 0x2cfc, 0x000e, 0x6052, 0x6050, 0x0006, + 0xc0e5, 0x6052, 0x00f6, 0x2079, 0x0100, 0x080c, 0x2bba, 0x00fe, + 0x000e, 0x6052, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, - 0x2001, 0x197c, 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, - 0x0158, 0x9186, 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, - 0x736d, 0x709b, 0x0022, 0x0040, 0x709b, 0x0021, 0x0028, 0x709b, - 0x0023, 0x0010, 0x709b, 0x0024, 0x60e3, 0x0000, 0x6887, 0x0001, - 0x2001, 0x0001, 0x080c, 0x28b4, 0x0026, 0x080c, 0xade2, 0x002e, - 0x7000, 0x908e, 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, - 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, - 0xd0ac, 0x0150, 0x012e, 0x015e, 0x080c, 0xd24a, 0x0118, 0x9006, - 0x080c, 0x2d1b, 0x0804, 0x7379, 0x6800, 0x9084, 0x00a1, 0xc0bd, - 0x6802, 0x080c, 0x2c3a, 0x6904, 0xd1d4, 0x1140, 0x2001, 0x0100, - 0x080c, 0x2cf1, 0x1f04, 0x7317, 0x080c, 0x73fc, 0x012e, 0x015e, - 0x080c, 0x73b6, 0x01a8, 0x6044, 0x9005, 0x0168, 0x6050, 0x0006, - 0x9085, 0x0020, 0x6052, 0x080c, 0x73fc, 0x9006, 0x8001, 0x1df0, - 0x000e, 0x6052, 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, 0x73fc, - 0x080c, 0xd24a, 0x0118, 0x9006, 0x080c, 0x2d1b, 0x0016, 0x0026, - 0x7000, 0x908e, 0x0004, 0x0130, 0x2009, 0x00c8, 0x2011, 0x723b, - 0x080c, 0x8574, 0x002e, 0x001e, 0x080c, 0x83f4, 0x7034, 0xc085, - 0x7036, 0x2001, 0x197c, 0x2003, 0x0004, 0x080c, 0x7098, 0x080c, - 0x73b6, 0x0138, 0x6804, 0xd0d4, 0x1120, 0xd0dc, 0x1100, 0x080c, - 0x7692, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, - 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x840b, - 0x080c, 0x83fd, 0x080c, 0x769c, 0x2001, 0x196c, 0x2003, 0x0000, - 0x9006, 0x709a, 0x60e2, 0x6886, 0x080c, 0x28b4, 0x9006, 0x080c, - 0x2cf1, 0x6043, 0x0090, 0x6043, 0x0010, 0x6027, 0xffff, 0x602b, - 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0006, 0x2001, 0x197b, - 0x2004, 0x9086, 0xaaaa, 0x000e, 0x0005, 0x0006, 0x080c, 0x56dc, - 0x9084, 0x0030, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, 0x080c, - 0x56dc, 0x9084, 0x0030, 0x9086, 0x0030, 0x000e, 0x0005, 0x0006, - 0x080c, 0x56dc, 0x9084, 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, - 0x0006, 0x080c, 0x56dc, 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, - 0x0005, 0x0036, 0x0016, 0x2001, 0x180c, 0x2004, 0x908c, 0x0013, - 0x0180, 0x0020, 0x080c, 0x28d4, 0x900e, 0x0028, 0x080c, 0x6973, - 0x1dc8, 0x2009, 0x0002, 0x2019, 0x0028, 0x080c, 0x318c, 0x9006, - 0x0019, 0x001e, 0x003e, 0x0005, 0x00e6, 0x2071, 0x180c, 0x2e04, - 0x0130, 0x080c, 0xd243, 0x1128, 0x9085, 0x0010, 0x0010, 0x9084, - 0xffef, 0x2072, 0x00ee, 0x0005, 0x6050, 0x0006, 0x60ec, 0x0006, - 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, 0x0016, 0x6138, - 0x6050, 0x9084, 0xfbff, 0x9085, 0x2000, 0x6052, 0x613a, 0x20a9, - 0x0012, 0x1d04, 0x7411, 0x2091, 0x6000, 0x1f04, 0x7411, 0x602f, - 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, - 0x6052, 0x613a, 0x001e, 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, - 0x602a, 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x60e3, - 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x28b4, 0x2001, - 0x00a0, 0x0006, 0x080c, 0xd24a, 0x000e, 0x0130, 0x080c, 0x2d0f, - 0x9006, 0x080c, 0x2d1b, 0x0010, 0x080c, 0x2cf1, 0x000e, 0x6052, - 0x6050, 0x0006, 0xc0e5, 0x6052, 0x00f6, 0x2079, 0x0100, 0x080c, - 0x2baf, 0x00fe, 0x000e, 0x6052, 0x0005, 0x0156, 0x0016, 0x0026, - 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, - 0x2071, 0x1800, 0x6020, 0x9084, 0x0080, 0x0138, 0x2001, 0x180c, - 0x200c, 0xc1c5, 0x2102, 0x0804, 0x74d1, 0x2001, 0x180c, 0x200c, - 0xc1c4, 0x2102, 0x6028, 0x9084, 0xe1ff, 0x602a, 0x6027, 0x0200, - 0x2001, 0x0090, 0x080c, 0x2cf1, 0x20a9, 0x0366, 0x6024, 0xd0cc, - 0x1518, 0x1d04, 0x747e, 0x2091, 0x6000, 0x1f04, 0x747e, 0x2011, - 0x0003, 0x080c, 0xa654, 0x2011, 0x0002, 0x080c, 0xa65e, 0x080c, - 0xa541, 0x901e, 0x080c, 0xa5b7, 0x2001, 0x00a0, 0x080c, 0x2cf1, - 0x080c, 0x768d, 0x080c, 0x6023, 0x080c, 0xd24a, 0x0110, 0x080c, - 0x0d45, 0x9085, 0x0001, 0x0498, 0x86ff, 0x1110, 0x080c, 0x1ad5, - 0x60e3, 0x0000, 0x2001, 0x196c, 0x2004, 0x080c, 0x28b4, 0x60e2, - 0x2001, 0x0080, 0x080c, 0x2cf1, 0x20a9, 0x0366, 0x6027, 0x1e00, - 0x2009, 0x1e00, 0x080c, 0x2c3a, 0x6024, 0x910c, 0x0138, 0x1d04, - 0x74b6, 0x2091, 0x6000, 0x1f04, 0x74b6, 0x0808, 0x6028, 0x9085, - 0x1e00, 0x602a, 0x70b4, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, - 0x6886, 0x080c, 0xd24a, 0x0110, 0x080c, 0x0d45, 0x9006, 0x00ee, - 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, - 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, - 0x2071, 0x1800, 0x7000, 0x9086, 0x0003, 0x1168, 0x2001, 0x020b, - 0x2004, 0x9084, 0x5540, 0x9086, 0x5540, 0x1128, 0x2069, 0x1a78, - 0x2d04, 0x8000, 0x206a, 0x2069, 0x0140, 0x6020, 0x9084, 0x00c0, - 0x0120, 0x6884, 0x9005, 0x1904, 0x7544, 0x2001, 0x0088, 0x080c, - 0x2cf1, 0x9006, 0x60e2, 0x6886, 0x080c, 0x28b4, 0x2069, 0x0200, - 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x01c0, 0x6028, 0x9084, - 0xfbff, 0x602a, 0x6027, 0x0400, 0x2069, 0x198e, 0x7000, 0x206a, - 0x709b, 0x0026, 0x7003, 0x0001, 0x20a9, 0x0002, 0x1d04, 0x7526, - 0x2091, 0x6000, 0x1f04, 0x7526, 0x0804, 0x7572, 0x2069, 0x0140, - 0x20a9, 0x0384, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, 0x2c3a, - 0x6024, 0x910c, 0x0508, 0x9084, 0x1a00, 0x11f0, 0x1d04, 0x7532, - 0x2091, 0x6000, 0x1f04, 0x7532, 0x2011, 0x0003, 0x080c, 0xa654, - 0x2011, 0x0002, 0x080c, 0xa65e, 0x080c, 0xa541, 0x901e, 0x080c, - 0xa5b7, 0x2001, 0x00a0, 0x080c, 0x2cf1, 0x080c, 0x768d, 0x080c, - 0x6023, 0x9085, 0x0001, 0x00b0, 0x2001, 0x0080, 0x080c, 0x2cf1, - 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b4, 0x9005, 0x1118, 0x6887, - 0x0001, 0x0008, 0x6886, 0x2001, 0x196c, 0x2004, 0x080c, 0x28b4, - 0x60e2, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, - 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, - 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x6020, 0x9084, 0x00c0, - 0x01c8, 0x2011, 0x0003, 0x080c, 0xa654, 0x2011, 0x0002, 0x080c, - 0xa65e, 0x080c, 0xa541, 0x901e, 0x080c, 0xa5b7, 0x2069, 0x0140, - 0x2001, 0x00a0, 0x080c, 0x2cf1, 0x080c, 0x768d, 0x080c, 0x6023, - 0x0804, 0x760d, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x1160, 0xc1b5, - 0x2102, 0x080c, 0x7223, 0x2069, 0x0140, 0x2001, 0x0080, 0x080c, - 0x2cf1, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, - 0x6808, 0x9005, 0x0180, 0x6028, 0x9084, 0xfdff, 0x602a, 0x6027, - 0x0200, 0x2069, 0x198e, 0x7000, 0x206a, 0x709b, 0x0027, 0x7003, - 0x0001, 0x0804, 0x760d, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, - 0x2c3a, 0x6024, 0x910c, 0x01c8, 0x9084, 0x1c00, 0x11b0, 0x1d04, - 0x75cb, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, 0x843c, - 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, 0x19f9, - 0x7018, 0x00ee, 0x9005, 0x19f8, 0x0500, 0x0026, 0x2011, 0x723b, - 0x080c, 0x84dc, 0x2011, 0x722e, 0x080c, 0x85b6, 0x002e, 0x2069, - 0x0140, 0x60e3, 0x0000, 0x70b4, 0x9005, 0x1118, 0x6887, 0x0001, - 0x0008, 0x6886, 0x2001, 0x196c, 0x2004, 0x080c, 0x28b4, 0x60e2, - 0x2001, 0x180c, 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, 0x00ce, - 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, - 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, - 0x080c, 0xd243, 0x1904, 0x767b, 0x7130, 0xd184, 0x1170, 0x080c, - 0x331b, 0x0138, 0xc18d, 0x7132, 0x2011, 0x1848, 0x2214, 0xd2ac, - 0x1120, 0x7030, 0xd08c, 0x0904, 0x767b, 0x2011, 0x1848, 0x220c, - 0xd1a4, 0x0538, 0x0016, 0x2019, 0x000e, 0x080c, 0xe543, 0x0156, - 0x00b6, 0x20a9, 0x007f, 0x900e, 0x9186, 0x007e, 0x01a0, 0x9186, - 0x0080, 0x0188, 0x080c, 0x6608, 0x1170, 0x2120, 0x9006, 0x0016, - 0x2009, 0x000e, 0x080c, 0xe5cf, 0x2009, 0x0001, 0x2011, 0x0100, - 0x080c, 0x86c6, 0x001e, 0x8108, 0x1f04, 0x7644, 0x00be, 0x015e, - 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, - 0x080c, 0x318c, 0x001e, 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, - 0x900e, 0x080c, 0x6608, 0x1110, 0x080c, 0x603d, 0x8108, 0x1f04, - 0x7671, 0x00be, 0x015e, 0x080c, 0x1ad5, 0x080c, 0xade2, 0x60e3, - 0x0000, 0x080c, 0x6023, 0x080c, 0x72d7, 0x00ee, 0x00ce, 0x004e, - 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, 0x197c, 0x2003, - 0x0001, 0x0005, 0x2001, 0x197c, 0x2003, 0x0000, 0x0005, 0x2001, - 0x197b, 0x2003, 0xaaaa, 0x0005, 0x2001, 0x197b, 0x2003, 0x0000, - 0x0005, 0x2071, 0x18fa, 0x7003, 0x0000, 0x7007, 0x0000, 0x080c, - 0x1018, 0x090c, 0x0dd5, 0xa8ab, 0xdcb0, 0x2900, 0x704e, 0x080c, - 0x1018, 0x090c, 0x0dd5, 0xa8ab, 0xdcb0, 0x2900, 0x7052, 0xa867, - 0x0000, 0xa86b, 0x0001, 0xa89f, 0x0000, 0x0005, 0x00e6, 0x2071, - 0x0040, 0x6848, 0x9005, 0x1118, 0x9085, 0x0001, 0x04b0, 0x6840, - 0x9005, 0x0150, 0x04a1, 0x6a50, 0x9200, 0x7002, 0x6854, 0x9101, - 0x7006, 0x9006, 0x7012, 0x7016, 0x6850, 0x7002, 0x6854, 0x7006, - 0x6858, 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, 0x1110, 0x7012, - 0x7016, 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x2001, - 0x0019, 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, 0x200c, 0x918c, - 0xfff7, 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, 0x18fa, 0x6807, - 0x0001, 0x00de, 0x080c, 0x7c79, 0x9006, 0x00ee, 0x0005, 0x900e, - 0x0156, 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, 0x2214, 0x9296, - 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x1f04, 0x7703, - 0x015e, 0x0005, 0x2079, 0x0040, 0x2071, 0x18fa, 0x7004, 0x0002, - 0x7722, 0x7723, 0x775a, 0x77b5, 0x78c5, 0x7720, 0x7720, 0x78ef, - 0x080c, 0x0dd5, 0x0005, 0x2079, 0x0040, 0x782c, 0x908c, 0x0780, - 0x190c, 0x7d5b, 0xd0a4, 0x01f0, 0x7824, 0x2048, 0x9006, 0xa802, - 0xa806, 0xa864, 0x9084, 0x00ff, 0x908a, 0x0040, 0x0608, 0x00b8, - 0x2001, 0x1800, 0x200c, 0x9186, 0x0003, 0x1160, 0x7104, 0x9186, - 0x0004, 0x0140, 0x9186, 0x0007, 0x0128, 0x9186, 0x0003, 0x19e8, - 0x080c, 0x77b5, 0x782c, 0xd09c, 0x090c, 0x7c79, 0x0005, 0x9082, - 0x005a, 0x1218, 0x2100, 0x003b, 0x0c18, 0x080c, 0x77eb, 0x0c90, - 0x00e3, 0x08f0, 0x0005, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, - 0x77eb, 0x77eb, 0x77eb, 0x780d, 0x77eb, 0x77eb, 0x77eb, 0x77eb, - 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, - 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77f7, - 0x77eb, 0x79e0, 0x77eb, 0x77eb, 0x77eb, 0x780d, 0x77eb, 0x77f7, - 0x7a21, 0x7a62, 0x7aa9, 0x7abd, 0x77eb, 0x77eb, 0x780d, 0x77f7, - 0x7821, 0x77eb, 0x7899, 0x7b68, 0x7b83, 0x77eb, 0x780d, 0x77eb, - 0x7821, 0x77eb, 0x77eb, 0x788f, 0x7b83, 0x77eb, 0x77eb, 0x77eb, - 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x7835, 0x77eb, - 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, - 0x7cff, 0x77eb, 0x7ca9, 0x77eb, 0x7ca9, 0x77eb, 0x784a, 0x77eb, - 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x77eb, 0x2079, 0x0040, 0x7004, - 0x9086, 0x0003, 0x1198, 0x782c, 0x080c, 0x7ca2, 0xd0a4, 0x0170, + 0x6020, 0x9084, 0x0080, 0x0138, 0x2001, 0x180c, 0x200c, 0xc1c5, + 0x2102, 0x0804, 0x74dd, 0x2001, 0x180c, 0x200c, 0xc1c4, 0x2102, + 0x6028, 0x9084, 0xe1ff, 0x602a, 0x6027, 0x0200, 0x2001, 0x0090, + 0x080c, 0x2cfc, 0x20a9, 0x0366, 0x6024, 0xd0cc, 0x1518, 0x1d04, + 0x748c, 0x2091, 0x6000, 0x1f04, 0x748c, 0x2011, 0x0003, 0x080c, + 0xa63e, 0x2011, 0x0002, 0x080c, 0xa648, 0x080c, 0xa552, 0x901e, + 0x080c, 0xa5c8, 0x2001, 0x00a0, 0x080c, 0x2cfc, 0x080c, 0x7699, + 0x080c, 0x602d, 0x080c, 0xd25a, 0x0110, 0x080c, 0x0d45, 0x9085, + 0x0001, 0x0488, 0x080c, 0x1ae0, 0x60e3, 0x0000, 0x2001, 0x196c, + 0x2004, 0x080c, 0x28bf, 0x60e2, 0x2001, 0x0080, 0x080c, 0x2cfc, + 0x20a9, 0x0366, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, 0x2c45, + 0x6024, 0x910c, 0x0138, 0x1d04, 0x74c2, 0x2091, 0x6000, 0x1f04, + 0x74c2, 0x0818, 0x6028, 0x9085, 0x1e00, 0x602a, 0x70b4, 0x9005, + 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x080c, 0xd25a, 0x0110, + 0x080c, 0x0d45, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, + 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x7000, 0x9086, + 0x0003, 0x1168, 0x2001, 0x020b, 0x2004, 0x9084, 0x5540, 0x9086, + 0x5540, 0x1128, 0x2069, 0x1a78, 0x2d04, 0x8000, 0x206a, 0x2069, + 0x0140, 0x6020, 0x9084, 0x00c0, 0x0120, 0x6884, 0x9005, 0x1904, + 0x7550, 0x2001, 0x0088, 0x080c, 0x2cfc, 0x9006, 0x60e2, 0x6886, + 0x080c, 0x28bf, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, + 0x9005, 0x01c0, 0x6028, 0x9084, 0xfbff, 0x602a, 0x6027, 0x0400, + 0x2069, 0x198e, 0x7000, 0x206a, 0x709b, 0x0026, 0x7003, 0x0001, + 0x20a9, 0x0002, 0x1d04, 0x7532, 0x2091, 0x6000, 0x1f04, 0x7532, + 0x0804, 0x757e, 0x2069, 0x0140, 0x20a9, 0x0384, 0x6027, 0x1e00, + 0x2009, 0x1e00, 0x080c, 0x2c45, 0x6024, 0x910c, 0x0508, 0x9084, + 0x1a00, 0x11f0, 0x1d04, 0x753e, 0x2091, 0x6000, 0x1f04, 0x753e, + 0x2011, 0x0003, 0x080c, 0xa63e, 0x2011, 0x0002, 0x080c, 0xa648, + 0x080c, 0xa552, 0x901e, 0x080c, 0xa5c8, 0x2001, 0x00a0, 0x080c, + 0x2cfc, 0x080c, 0x7699, 0x080c, 0x602d, 0x9085, 0x0001, 0x00b0, + 0x2001, 0x0080, 0x080c, 0x2cfc, 0x2069, 0x0140, 0x60e3, 0x0000, + 0x70b4, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, + 0x196c, 0x2004, 0x080c, 0x28bf, 0x60e2, 0x9006, 0x00ee, 0x00de, + 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, + 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, + 0x1800, 0x6020, 0x9084, 0x00c0, 0x01c8, 0x2011, 0x0003, 0x080c, + 0xa63e, 0x2011, 0x0002, 0x080c, 0xa648, 0x080c, 0xa552, 0x901e, + 0x080c, 0xa5c8, 0x2069, 0x0140, 0x2001, 0x00a0, 0x080c, 0x2cfc, + 0x080c, 0x7699, 0x080c, 0x602d, 0x0804, 0x7619, 0x2001, 0x180c, + 0x200c, 0xd1b4, 0x1160, 0xc1b5, 0x2102, 0x080c, 0x7231, 0x2069, + 0x0140, 0x2001, 0x0080, 0x080c, 0x2cfc, 0x60e3, 0x0000, 0x2069, + 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x0180, 0x6028, + 0x9084, 0xfdff, 0x602a, 0x6027, 0x0200, 0x2069, 0x198e, 0x7000, + 0x206a, 0x709b, 0x0027, 0x7003, 0x0001, 0x0804, 0x7619, 0x6027, + 0x1e00, 0x2009, 0x1e00, 0x080c, 0x2c45, 0x6024, 0x910c, 0x01c8, + 0x9084, 0x1c00, 0x11b0, 0x1d04, 0x75d7, 0x0006, 0x0016, 0x00c6, + 0x00d6, 0x00e6, 0x080c, 0x8459, 0x00ee, 0x00de, 0x00ce, 0x001e, + 0x000e, 0x00e6, 0x2071, 0x19f9, 0x7070, 0x00ee, 0x9005, 0x19f8, + 0x0400, 0x0026, 0x2011, 0x7249, 0x080c, 0x84f9, 0x2011, 0x723c, + 0x080c, 0x85d3, 0x002e, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b4, + 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x196c, + 0x2004, 0x080c, 0x28bf, 0x60e2, 0x2001, 0x180c, 0x200c, 0xc1b4, + 0x2102, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x0046, 0x00c6, 0x00e6, + 0x2061, 0x0100, 0x2071, 0x1800, 0x080c, 0xd253, 0x1904, 0x7687, + 0x7130, 0xd184, 0x1170, 0x080c, 0x3326, 0x0138, 0xc18d, 0x7132, + 0x2011, 0x1848, 0x2214, 0xd2ac, 0x1120, 0x7030, 0xd08c, 0x0904, + 0x7687, 0x2011, 0x1848, 0x220c, 0xd1a4, 0x0538, 0x0016, 0x2019, + 0x000e, 0x080c, 0xe55d, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, + 0x9186, 0x007e, 0x01a0, 0x9186, 0x0080, 0x0188, 0x080c, 0x6616, + 0x1170, 0x2120, 0x9006, 0x0016, 0x2009, 0x000e, 0x080c, 0xe5e9, + 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x86e3, 0x001e, 0x8108, + 0x1f04, 0x7650, 0x00be, 0x015e, 0x001e, 0xd1ac, 0x1148, 0x0016, + 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, 0x3197, 0x001e, 0x0078, + 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x6616, 0x1110, + 0x080c, 0x6047, 0x8108, 0x1f04, 0x767d, 0x00be, 0x015e, 0x080c, + 0x1ae0, 0x080c, 0xadd0, 0x60e3, 0x0000, 0x080c, 0x602d, 0x080c, + 0x72e5, 0x00ee, 0x00ce, 0x004e, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0005, 0x2001, 0x197c, 0x2003, 0x0001, 0x0005, 0x2001, 0x197c, + 0x2003, 0x0000, 0x0005, 0x2001, 0x197b, 0x2003, 0xaaaa, 0x0005, + 0x2001, 0x197b, 0x2003, 0x0000, 0x0005, 0x2071, 0x18fa, 0x7003, + 0x0000, 0x7007, 0x0000, 0x080c, 0x1018, 0x090c, 0x0dd5, 0xa8ab, + 0xdcb0, 0x2900, 0x704e, 0x080c, 0x1018, 0x090c, 0x0dd5, 0xa8ab, + 0xdcb0, 0x2900, 0x7052, 0xa867, 0x0000, 0xa86b, 0x0001, 0xa89f, + 0x0000, 0x0005, 0x00e6, 0x2071, 0x0040, 0x6848, 0x9005, 0x1118, + 0x9085, 0x0001, 0x04b0, 0x6840, 0x9005, 0x0150, 0x04a1, 0x6a50, + 0x9200, 0x7002, 0x6854, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, + 0x6850, 0x7002, 0x6854, 0x7006, 0x6858, 0x700a, 0x685c, 0x700e, + 0x6840, 0x9005, 0x1110, 0x7012, 0x7016, 0x6848, 0x701a, 0x701c, + 0x9085, 0x0040, 0x701e, 0x2001, 0x0019, 0x7036, 0x702b, 0x0001, + 0x2001, 0x0004, 0x200c, 0x918c, 0xfff7, 0x918d, 0x8000, 0x2102, + 0x00d6, 0x2069, 0x18fa, 0x6807, 0x0001, 0x00de, 0x080c, 0x7c86, + 0x9006, 0x00ee, 0x0005, 0x900e, 0x0156, 0x20a9, 0x0006, 0x8003, + 0x2011, 0x0100, 0x2214, 0x9296, 0x0008, 0x1110, 0x818d, 0x0010, + 0x81f5, 0x3e08, 0x1f04, 0x770f, 0x015e, 0x0005, 0x2079, 0x0040, + 0x2071, 0x18fa, 0x7004, 0x0002, 0x772e, 0x772f, 0x7767, 0x77c2, + 0x78d2, 0x772c, 0x772c, 0x78fc, 0x080c, 0x0dd5, 0x0005, 0x2079, + 0x0040, 0x782c, 0x908c, 0x0780, 0x190c, 0x7d68, 0xd0a4, 0x01f8, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, - 0x908a, 0x001a, 0x1210, 0x002b, 0x0c50, 0x00e9, 0x080c, 0x7c79, - 0x0005, 0x77eb, 0x77f7, 0x79cc, 0x77eb, 0x77f7, 0x77eb, 0x77f7, - 0x77f7, 0x77eb, 0x77f7, 0x79cc, 0x77f7, 0x77f7, 0x77f7, 0x77f7, - 0x77f7, 0x77eb, 0x77f7, 0x79cc, 0x77eb, 0x77eb, 0x77f7, 0x77eb, - 0x77eb, 0x77eb, 0x77f7, 0x00e6, 0x2071, 0x18fa, 0x2009, 0x0400, - 0x0071, 0x00ee, 0x0005, 0x2009, 0x1000, 0x0049, 0x0005, 0x2009, - 0x2000, 0x0029, 0x0005, 0x2009, 0x0800, 0x0009, 0x0005, 0x7007, - 0x0001, 0xa868, 0x9084, 0x00ff, 0x9105, 0xa86a, 0x0126, 0x2091, - 0x8000, 0x080c, 0x6c86, 0x012e, 0x0005, 0xa864, 0x8007, 0x9084, - 0x00ff, 0x0d08, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x796e, - 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x796e, - 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0968, 0x8001, 0x1120, - 0x7007, 0x0001, 0x0804, 0x7989, 0x7007, 0x0003, 0x7012, 0x2900, - 0x7016, 0x701a, 0x704b, 0x7989, 0x0005, 0xa864, 0x8007, 0x9084, - 0x00ff, 0x0904, 0x77f3, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, - 0x79a5, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, - 0x79a5, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, - 0x1904, 0x77f3, 0x7007, 0x0001, 0x2009, 0x1834, 0x210c, 0x81ff, - 0x11a8, 0xa868, 0x9084, 0x00ff, 0xa86a, 0xa883, 0x0000, 0x080c, - 0x62b7, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, - 0xa87a, 0xa982, 0x080c, 0x6c86, 0x012e, 0x0ca0, 0xa994, 0x9186, - 0x0071, 0x0d38, 0x9186, 0x0064, 0x0d20, 0x9186, 0x007c, 0x0d08, - 0x9186, 0x0028, 0x09f0, 0x9186, 0x0038, 0x09d8, 0x9186, 0x0078, - 0x09c0, 0x9186, 0x005f, 0x09a8, 0x9186, 0x0056, 0x0990, 0xa897, - 0x4005, 0xa89b, 0x0001, 0x2001, 0x0030, 0x900e, 0x08a0, 0xa87c, - 0x9084, 0x00c0, 0x9086, 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, - 0x7b9a, 0x2900, 0x7016, 0x701a, 0x20a9, 0x0004, 0xa860, 0x20e0, - 0xa85c, 0x9080, 0x0030, 0x2098, 0x7050, 0x2040, 0xa060, 0x20e8, - 0xa05c, 0x9080, 0x0023, 0x20a0, 0x4003, 0xa888, 0x7012, 0x9082, - 0x0401, 0x1a04, 0x77fb, 0xaab4, 0x928a, 0x0002, 0x1a04, 0x77fb, - 0x82ff, 0x1138, 0xa8b8, 0xa9bc, 0x9105, 0x0118, 0x2001, 0x792c, - 0x0018, 0x9280, 0x7922, 0x2005, 0x7056, 0x7010, 0x9015, 0x0904, - 0x790d, 0x080c, 0x1018, 0x1118, 0x7007, 0x0004, 0x0005, 0x2900, - 0x7022, 0x7054, 0x2060, 0xe000, 0xa866, 0x7050, 0x2040, 0xa95c, - 0xe004, 0x9100, 0xa076, 0xa860, 0xa072, 0xe008, 0x920a, 0x1210, - 0x900e, 0x2200, 0x7112, 0xe20c, 0x8003, 0x800b, 0x9296, 0x0004, - 0x0108, 0x9108, 0xa17a, 0x810b, 0xa17e, 0x080c, 0x10e9, 0xa06c, - 0x908e, 0x0100, 0x0170, 0x9086, 0x0200, 0x0118, 0x7007, 0x0007, - 0x0005, 0x7020, 0x2048, 0x080c, 0x1031, 0x7014, 0x2048, 0x0804, - 0x77fb, 0x7020, 0x2048, 0x7018, 0xa802, 0xa807, 0x0000, 0x2908, - 0x2048, 0xa906, 0x711a, 0x0804, 0x78c5, 0x7014, 0x2048, 0x7007, - 0x0001, 0xa8b4, 0x9005, 0x1128, 0xa8b8, 0xa9bc, 0x9105, 0x0108, - 0x00b9, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x0904, 0x7b9a, - 0x0804, 0x796e, 0x7924, 0x7928, 0x0002, 0x001d, 0x0007, 0x0004, - 0x000a, 0x001b, 0x0005, 0x0006, 0x000a, 0x001d, 0x0005, 0x0004, - 0x0076, 0x0066, 0xafb8, 0xaebc, 0xa804, 0x2050, 0xb0c0, 0xb0e2, - 0xb0bc, 0xb0de, 0xb0b8, 0xb0d2, 0xb0b4, 0xb0ce, 0xb6da, 0xb7d6, - 0xb0b0, 0xb0ca, 0xb0ac, 0xb0c6, 0xb0a8, 0xb0ba, 0xb0a4, 0xb0b6, - 0xb6c2, 0xb7be, 0xb0a0, 0xb0b2, 0xb09c, 0xb0ae, 0xb098, 0xb0a2, - 0xb094, 0xb09e, 0xb6aa, 0xb7a6, 0xb090, 0xb09a, 0xb08c, 0xb096, - 0xb088, 0xb08a, 0xb084, 0xb086, 0xb692, 0xb78e, 0xb080, 0xb082, - 0xb07c, 0xb07e, 0xb078, 0xb072, 0xb074, 0xb06e, 0xb67a, 0xb776, - 0xb004, 0x9055, 0x1958, 0x006e, 0x007e, 0x0005, 0x2009, 0x1834, - 0x210c, 0x81ff, 0x1178, 0x080c, 0x60b7, 0x1108, 0x0005, 0x080c, - 0x6eb9, 0x0126, 0x2091, 0x8000, 0x080c, 0xce3e, 0x080c, 0x6c86, - 0x012e, 0x0ca0, 0x080c, 0xd243, 0x1d70, 0x2001, 0x0028, 0x900e, - 0x0c70, 0x2009, 0x1834, 0x210c, 0x81ff, 0x1188, 0xa888, 0x9005, - 0x0188, 0xa883, 0x0000, 0x080c, 0x6147, 0x1108, 0x0005, 0xa87a, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6c86, 0x012e, 0x0cb8, 0x2001, - 0x0028, 0x0ca8, 0x2001, 0x0000, 0x0c90, 0x2009, 0x1834, 0x210c, - 0x81ff, 0x11d8, 0xa888, 0x9005, 0x01e0, 0xa883, 0x0000, 0xa87c, - 0xd0f4, 0x0120, 0x080c, 0x6219, 0x1138, 0x0005, 0x9006, 0xa87a, - 0x080c, 0x6194, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0xa87a, - 0xa982, 0x080c, 0x6c86, 0x012e, 0x0cb0, 0x2001, 0x0028, 0x900e, - 0x0c98, 0x2001, 0x0000, 0x0c80, 0x7018, 0xa802, 0x2908, 0x2048, - 0xa906, 0x711a, 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, - 0x0030, 0x7014, 0x2048, 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, - 0x00b6, 0x7007, 0x0001, 0xa974, 0xa878, 0x9084, 0x00ff, 0x9096, - 0x0004, 0x0540, 0x20a9, 0x0001, 0x9096, 0x0001, 0x0190, 0x900e, - 0x20a9, 0x0800, 0x9096, 0x0002, 0x0160, 0x9005, 0x11d8, 0xa974, - 0x080c, 0x6608, 0x11b8, 0x0066, 0xae80, 0x080c, 0x6718, 0x006e, - 0x0088, 0x0046, 0x2011, 0x180c, 0x2224, 0xc484, 0x2412, 0x004e, - 0x00c6, 0x080c, 0x6608, 0x1110, 0x080c, 0x6818, 0x8108, 0x1f04, - 0x7a09, 0x00ce, 0xa87c, 0xd084, 0x1120, 0x080c, 0x1031, 0x00be, - 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c86, 0x012e, 0x00be, - 0x0005, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6977, - 0x0580, 0x2061, 0x1a70, 0x6100, 0xd184, 0x0178, 0xa888, 0x9084, - 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, - 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, 0xa890, - 0x9005, 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, 0xa888, 0x9084, - 0x00ff, 0x0178, 0x6006, 0xa888, 0x8007, 0x9084, 0x00ff, 0x0148, - 0x600a, 0xa888, 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, - 0x7c63, 0x012e, 0x0804, 0x7c5d, 0x012e, 0x0804, 0x7c57, 0x012e, - 0x0804, 0x7c5a, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, - 0x6977, 0x05e0, 0x2061, 0x1a70, 0x6000, 0xd084, 0x05b8, 0x6204, - 0x6308, 0xd08c, 0x1530, 0xac78, 0x9484, 0x0003, 0x0170, 0xa988, - 0x918c, 0x00ff, 0x8001, 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, - 0x8001, 0x1508, 0x2100, 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, - 0xa988, 0x810f, 0x918c, 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, - 0x9318, 0x0288, 0x0030, 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, - 0x0250, 0xa890, 0x9005, 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, - 0x012e, 0x0804, 0x7c63, 0x012e, 0x0804, 0x7c60, 0x012e, 0x0804, - 0x7c5d, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2061, 0x1a70, - 0x6300, 0xd38c, 0x1120, 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, - 0x0804, 0x7c71, 0x012e, 0x0804, 0x7c60, 0x00b6, 0x0126, 0x00c6, - 0x2091, 0x8000, 0x7007, 0x0001, 0xa87c, 0xd0ac, 0x0148, 0x00c6, - 0x2061, 0x1a70, 0x6000, 0x9084, 0xfcff, 0x6002, 0x00ce, 0x0440, - 0xa888, 0x9005, 0x05d8, 0xa88c, 0x9065, 0x0598, 0x2001, 0x1834, - 0x2004, 0x9005, 0x0118, 0x080c, 0xaea2, 0x0068, 0x6017, 0xf400, - 0x605b, 0x0000, 0xa97c, 0xd1a4, 0x0110, 0xa980, 0x615a, 0x2009, - 0x0041, 0x080c, 0xaeec, 0xa988, 0x918c, 0xff00, 0x9186, 0x2000, - 0x1138, 0x0026, 0x900e, 0x2011, 0xfdff, 0x080c, 0x86c6, 0x002e, - 0xa87c, 0xd0c4, 0x0148, 0x2061, 0x1a70, 0x6000, 0xd08c, 0x1120, - 0x6008, 0x8000, 0x0208, 0x600a, 0x00ce, 0x012e, 0x00be, 0x0804, - 0x7c63, 0x00ce, 0x012e, 0x00be, 0x0804, 0x7c5d, 0xa984, 0x9186, - 0x002e, 0x0d30, 0x9186, 0x002d, 0x0d18, 0x9186, 0x0045, 0x0510, - 0x9186, 0x002a, 0x1130, 0x2001, 0x180c, 0x200c, 0xc194, 0x2102, - 0x08b8, 0x9186, 0x0020, 0x0158, 0x9186, 0x0029, 0x1d10, 0xa974, - 0x080c, 0x6608, 0x1968, 0xb800, 0xc0e4, 0xb802, 0x0848, 0xa88c, - 0x9065, 0x09b8, 0x6007, 0x0024, 0x2001, 0x1985, 0x2004, 0x601a, - 0x0804, 0x7af8, 0xa88c, 0x9065, 0x0960, 0x00e6, 0xa890, 0x9075, - 0x2001, 0x1834, 0x2004, 0x9005, 0x0150, 0x080c, 0xaea2, 0x8eff, - 0x0118, 0x2e60, 0x080c, 0xaea2, 0x00ee, 0x0804, 0x7af8, 0x6024, - 0xc0dc, 0xc0d5, 0x6026, 0x2e60, 0x6007, 0x003a, 0xa8a0, 0x9005, - 0x0130, 0x6007, 0x003b, 0xa8a4, 0x602e, 0xa8a8, 0x6016, 0x6003, - 0x0001, 0x080c, 0x90d9, 0x080c, 0x9687, 0x00ee, 0x0804, 0x7af8, - 0x2061, 0x1a70, 0x6000, 0xd084, 0x0190, 0xd08c, 0x1904, 0x7c71, - 0x0126, 0x2091, 0x8000, 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, - 0x0804, 0x7c71, 0x012e, 0xa883, 0x0016, 0x0804, 0x7c6a, 0xa883, - 0x0007, 0x0804, 0x7c6a, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0130, - 0x8001, 0x1138, 0x7007, 0x0001, 0x0069, 0x0005, 0x080c, 0x77f3, - 0x0040, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, - 0x7b9a, 0x0005, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, - 0x2061, 0x1800, 0x61d0, 0x81ff, 0x1904, 0x7c1c, 0x6130, 0xd194, - 0x1904, 0x7c46, 0xa878, 0x2070, 0x9e82, 0x1cd0, 0x0a04, 0x7c10, - 0x6068, 0x9e02, 0x1a04, 0x7c10, 0x7120, 0x9186, 0x0006, 0x1904, - 0x7c02, 0x7010, 0x905d, 0x0904, 0x7c1c, 0xb800, 0xd0e4, 0x1904, - 0x7c40, 0x2061, 0x1a70, 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, - 0x15a0, 0x7024, 0xd0dc, 0x1904, 0x7c49, 0xa883, 0x0000, 0xa803, - 0x0000, 0x2908, 0x7014, 0x9005, 0x1198, 0x7116, 0xa87c, 0xd0f4, - 0x1904, 0x7c4c, 0x080c, 0x56d8, 0xd09c, 0x1118, 0xa87c, 0xc0cc, - 0xa87e, 0x2e60, 0x080c, 0x85e6, 0x012e, 0x00ee, 0x00be, 0x0005, - 0x2048, 0xa800, 0x9005, 0x1de0, 0xa902, 0x2148, 0xa87c, 0xd0f4, - 0x1904, 0x7c4c, 0x012e, 0x00ee, 0x00be, 0x0005, 0x012e, 0x00ee, - 0xa883, 0x0006, 0x00be, 0x0804, 0x7c6a, 0xd184, 0x0db8, 0xd1c4, - 0x1190, 0x00a0, 0xa974, 0x080c, 0x6608, 0x15d0, 0xb800, 0xd0e4, - 0x15b8, 0x7120, 0x9186, 0x0007, 0x1118, 0xa883, 0x0002, 0x0490, - 0xa883, 0x0008, 0x0478, 0xa883, 0x000e, 0x0460, 0xa883, 0x0017, - 0x0448, 0xa883, 0x0035, 0x0430, 0x080c, 0x56dc, 0xd0fc, 0x01e8, - 0xa878, 0x2070, 0x9e82, 0x1cd0, 0x02c0, 0x6068, 0x9e02, 0x12a8, - 0x7120, 0x9186, 0x0006, 0x1188, 0x7010, 0x905d, 0x0170, 0xb800, - 0xd0bc, 0x0158, 0x2039, 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, - 0x7ba6, 0x7003, 0x0002, 0x0804, 0x7ba6, 0xa883, 0x0028, 0x0010, - 0xa883, 0x0029, 0x012e, 0x00ee, 0x00be, 0x0420, 0xa883, 0x002a, - 0x0cc8, 0xa883, 0x0045, 0x0cb0, 0x2e60, 0x2019, 0x0002, 0x601b, - 0x0014, 0x080c, 0xe155, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2009, - 0x003e, 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, - 0x2009, 0x0016, 0x0010, 0x2009, 0x0001, 0xa884, 0x9084, 0xff00, - 0x9105, 0xa886, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c86, 0x012e, - 0x0005, 0x080c, 0x1031, 0x0005, 0x00d6, 0x080c, 0x85dd, 0x00de, - 0x0005, 0x00d6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, - 0x702c, 0xd084, 0x01d8, 0x908c, 0x0780, 0x190c, 0x7d5b, 0xd09c, - 0x11a8, 0x2071, 0x1800, 0x70c0, 0x90ea, 0x0020, 0x0278, 0x8001, - 0x70c2, 0x702c, 0x2048, 0xa800, 0x702e, 0x9006, 0xa802, 0xa806, - 0x2071, 0x0040, 0x2900, 0x7022, 0x702c, 0x0c28, 0x012e, 0x00ee, - 0x00de, 0x0005, 0x0006, 0x9084, 0x0780, 0x190c, 0x7d5b, 0x000e, - 0x0005, 0xa898, 0x9084, 0x0003, 0x05a8, 0x080c, 0xae1b, 0x05d8, - 0x2900, 0x6016, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0035, 0x1138, - 0x6008, 0xc0fd, 0x600a, 0x2001, 0x196a, 0x2004, 0x0098, 0xa8a0, - 0x9084, 0x00ff, 0xa99c, 0x918c, 0xff00, 0x9105, 0xa99c, 0x918c, - 0x00ff, 0x080c, 0x2840, 0x1540, 0x00b6, 0x080c, 0x6608, 0x2b00, - 0x00be, 0x1510, 0x6012, 0x6023, 0x0001, 0x2009, 0x0040, 0xa864, - 0x9084, 0x00ff, 0x9086, 0x0035, 0x0110, 0x2009, 0x0041, 0x080c, - 0xaeec, 0x0005, 0xa87b, 0x0101, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6c86, 0x012e, 0x0005, 0xa87b, 0x002c, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6c86, 0x012e, 0x0005, 0xa87b, 0x0028, 0x0126, 0x2091, - 0x8000, 0x080c, 0x6c86, 0x012e, 0x080c, 0xae71, 0x0005, 0x00d6, - 0x00c6, 0x0036, 0x0026, 0x0016, 0x00b6, 0x7007, 0x0001, 0xaa74, - 0x9282, 0x0004, 0x1a04, 0x7d4c, 0xa97c, 0x9188, 0x1000, 0x2104, - 0x905d, 0xb804, 0xd284, 0x0140, 0x05e8, 0x8007, 0x9084, 0x00ff, - 0x9084, 0x0006, 0x1108, 0x04b0, 0x2b10, 0x080c, 0xae1b, 0x1118, - 0x080c, 0xaebf, 0x05a8, 0x6212, 0xa874, 0x0002, 0x7d2a, 0x7d2f, - 0x7d32, 0x7d38, 0x2019, 0x0002, 0x080c, 0xe543, 0x0060, 0x080c, - 0xe4df, 0x0048, 0x2019, 0x0002, 0xa980, 0x080c, 0xe4fa, 0x0018, - 0xa980, 0x080c, 0xe4df, 0x080c, 0xae71, 0xa887, 0x0000, 0x0126, - 0x2091, 0x8000, 0x080c, 0x6c86, 0x012e, 0x00be, 0x001e, 0x002e, - 0x003e, 0x00ce, 0x00de, 0x0005, 0xa887, 0x0006, 0x0c80, 0xa887, - 0x0002, 0x0c68, 0xa887, 0x0005, 0x0c50, 0xa887, 0x0004, 0x0c38, - 0xa887, 0x0007, 0x0c20, 0x2091, 0x8000, 0x0e04, 0x7d5d, 0x0006, - 0x0016, 0x2001, 0x8003, 0x0006, 0x0804, 0x0dde, 0x2001, 0x1834, - 0x2004, 0x9005, 0x0005, 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, - 0x0200, 0x200c, 0xc1e5, 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, - 0xd1ec, 0x1120, 0x080c, 0x157f, 0x00fe, 0x0005, 0x2001, 0x020d, - 0x2003, 0x0020, 0x781f, 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, - 0x0904, 0x7ddd, 0x68c0, 0x90aa, 0x0005, 0x0a04, 0x83f4, 0x7d44, - 0x7c40, 0x9584, 0x00f6, 0x1510, 0x9484, 0x7000, 0x0140, 0x908a, - 0x2000, 0x1260, 0x9584, 0x0700, 0x8007, 0x0804, 0x7de4, 0x7000, - 0x9084, 0xff00, 0x9086, 0x8100, 0x0da8, 0x00b0, 0x9484, 0x0fff, - 0x1130, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11c0, 0x080c, - 0xe9e2, 0x080c, 0x82e9, 0x7817, 0x0140, 0x00a8, 0x9584, 0x0076, - 0x1118, 0x080c, 0x8347, 0x19c0, 0xd5a4, 0x0148, 0x0046, 0x0056, - 0x080c, 0x7e3f, 0x080c, 0x2339, 0x005e, 0x004e, 0x0020, 0x080c, - 0xe9e2, 0x7817, 0x0140, 0x080c, 0x73a5, 0x0168, 0x2001, 0x0111, - 0x2004, 0xd08c, 0x0140, 0x6893, 0x0000, 0x2001, 0x0110, 0x2003, - 0x0008, 0x2003, 0x0000, 0x080c, 0x7e20, 0x2001, 0x19ef, 0x2004, - 0x9005, 0x090c, 0x9687, 0x0005, 0x0002, 0x7df6, 0x810b, 0x7ded, - 0x7ded, 0x7ded, 0x7ded, 0x7ded, 0x7ded, 0x7817, 0x0140, 0x2001, - 0x19ef, 0x2004, 0x9005, 0x090c, 0x9687, 0x0005, 0x7000, 0x908c, - 0xff00, 0x9194, 0xf000, 0x810f, 0x9484, 0x0fff, 0x6892, 0x9286, - 0x2000, 0x1150, 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, 0x5739, - 0x0070, 0x080c, 0x7e5f, 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, - 0x8046, 0x0028, 0x9286, 0x8000, 0x1110, 0x080c, 0x8219, 0x7817, - 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, 0x090c, 0x9687, 0x0005, - 0x2001, 0x1810, 0x2004, 0xd08c, 0x0178, 0x2001, 0x1800, 0x2004, - 0x9086, 0x0003, 0x1148, 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, - 0x080c, 0x4b14, 0x003e, 0x002e, 0x0005, 0x0036, 0x0046, 0x0056, - 0x00f6, 0x2079, 0x0200, 0x2019, 0xfffe, 0x7c30, 0x0050, 0x0036, - 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, 0x7d44, 0x7c40, 0x2019, - 0xffff, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0160, 0x2001, 0x1800, - 0x2004, 0x9086, 0x0003, 0x1130, 0x0026, 0x2011, 0x8048, 0x080c, - 0x4b14, 0x002e, 0x00fe, 0x005e, 0x004e, 0x003e, 0x0005, 0x00b6, - 0x00c6, 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, 0x0001, 0x0120, - 0x9096, 0x0023, 0x1904, 0x8017, 0x9186, 0x0023, 0x15c0, 0x080c, - 0x82ae, 0x0904, 0x8017, 0x6120, 0x9186, 0x0001, 0x0150, 0x9186, - 0x0004, 0x0138, 0x9186, 0x0008, 0x0120, 0x9186, 0x000a, 0x1904, - 0x8017, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1130, 0x2009, - 0x0015, 0x080c, 0xaeec, 0x0804, 0x8017, 0x908e, 0x0214, 0x0118, - 0x908e, 0x0210, 0x1130, 0x2009, 0x0015, 0x080c, 0xaeec, 0x0804, - 0x8017, 0x908e, 0x0100, 0x1904, 0x8017, 0x7034, 0x9005, 0x1904, - 0x8017, 0x2009, 0x0016, 0x080c, 0xaeec, 0x0804, 0x8017, 0x9186, - 0x0022, 0x1904, 0x8017, 0x7030, 0x908e, 0x0300, 0x1580, 0x68dc, - 0xd0a4, 0x0528, 0xc0b5, 0x68de, 0x7100, 0x918c, 0x00ff, 0x697e, - 0x7004, 0x6882, 0x00f6, 0x2079, 0x0100, 0x79e6, 0x78ea, 0x0006, - 0x9084, 0x00ff, 0x0016, 0x2008, 0x080c, 0x2889, 0x7932, 0x7936, - 0x001e, 0x000e, 0x00fe, 0x080c, 0x2840, 0x695e, 0x703c, 0x00e6, - 0x2071, 0x0140, 0x7086, 0x2071, 0x1800, 0x70b6, 0x00ee, 0x7034, - 0x9005, 0x1904, 0x8017, 0x2009, 0x0017, 0x0804, 0x7fc7, 0x908e, - 0x0400, 0x1190, 0x7034, 0x9005, 0x1904, 0x8017, 0x080c, 0x73a5, - 0x0120, 0x2009, 0x001d, 0x0804, 0x7fc7, 0x68dc, 0xc0a5, 0x68de, - 0x2009, 0x0030, 0x0804, 0x7fc7, 0x908e, 0x0500, 0x1140, 0x7034, - 0x9005, 0x1904, 0x8017, 0x2009, 0x0018, 0x0804, 0x7fc7, 0x908e, - 0x2010, 0x1120, 0x2009, 0x0019, 0x0804, 0x7fc7, 0x908e, 0x2110, - 0x1120, 0x2009, 0x001a, 0x0804, 0x7fc7, 0x908e, 0x5200, 0x1140, - 0x7034, 0x9005, 0x1904, 0x8017, 0x2009, 0x001b, 0x0804, 0x7fc7, - 0x908e, 0x5000, 0x1140, 0x7034, 0x9005, 0x1904, 0x8017, 0x2009, - 0x001c, 0x0804, 0x7fc7, 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, - 0x0804, 0x7fc7, 0x908e, 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, - 0x8017, 0x2009, 0x0024, 0x0804, 0x7fc7, 0x908c, 0xff00, 0x918e, - 0x2400, 0x1170, 0x2009, 0x002d, 0x2001, 0x1810, 0x2004, 0xd09c, - 0x0904, 0x7fc7, 0x080c, 0xd924, 0x1904, 0x8017, 0x0804, 0x7fc5, - 0x908c, 0xff00, 0x918e, 0x5300, 0x1120, 0x2009, 0x002a, 0x0804, - 0x7fc7, 0x908e, 0x0f00, 0x1120, 0x2009, 0x0020, 0x0804, 0x7fc7, - 0x908e, 0x6104, 0x1530, 0x2029, 0x0205, 0x2011, 0x026d, 0x8208, - 0x2204, 0x9082, 0x0004, 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, - 0x211c, 0x8108, 0x0046, 0x2124, 0x080c, 0x4b14, 0x004e, 0x8108, - 0x0f04, 0x7f7b, 0x9186, 0x0280, 0x1d88, 0x2504, 0x8000, 0x202a, - 0x2009, 0x0260, 0x0c58, 0x202b, 0x0000, 0x2009, 0x0023, 0x0804, - 0x7fc7, 0x908e, 0x6000, 0x1120, 0x2009, 0x003f, 0x0804, 0x7fc7, - 0x908e, 0x5400, 0x1138, 0x080c, 0x83a4, 0x1904, 0x8017, 0x2009, - 0x0046, 0x04a8, 0x908e, 0x5500, 0x1148, 0x080c, 0x83cc, 0x1118, - 0x2009, 0x0041, 0x0460, 0x2009, 0x0042, 0x0448, 0x908e, 0x7800, - 0x1118, 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, 0x1118, 0x2009, - 0x004e, 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, 0x004a, 0x00b8, - 0x908c, 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, 0x004f, 0x0078, - 0x908c, 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, 0x0050, 0x0038, - 0x2009, 0x001d, 0x6838, 0xd0d4, 0x0110, 0x2009, 0x004c, 0x0016, - 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2840, 0x1904, - 0x801a, 0x080c, 0x65a7, 0x1904, 0x801a, 0xbe12, 0xbd16, 0x001e, - 0x0016, 0x080c, 0x73a5, 0x01c0, 0x68dc, 0xd08c, 0x1148, 0x7000, - 0x9084, 0x00ff, 0x1188, 0x7004, 0x9084, 0xff00, 0x1168, 0x0040, - 0x687c, 0x9606, 0x1148, 0x6880, 0x9506, 0x9084, 0xff00, 0x1120, - 0x9584, 0x00ff, 0xb8c2, 0x0080, 0xb8c0, 0x9005, 0x1168, 0x9186, - 0x0046, 0x1150, 0x687c, 0x9606, 0x1138, 0x6880, 0x9506, 0x9084, - 0xff00, 0x1110, 0x001e, 0x0098, 0x080c, 0xae1b, 0x01a8, 0x2b08, - 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x9186, 0x004c, - 0x1110, 0x6023, 0x000a, 0x0016, 0x001e, 0x080c, 0xaeec, 0x00ce, - 0x00be, 0x0005, 0x001e, 0x0cd8, 0x2001, 0x180e, 0x2004, 0xd0ec, - 0x0120, 0x2011, 0x8049, 0x080c, 0x4b14, 0x080c, 0xaebf, 0x0d90, - 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x0016, - 0x9186, 0x0017, 0x0118, 0x9186, 0x0030, 0x1128, 0x6007, 0x0009, - 0x6017, 0x2900, 0x0020, 0x6007, 0x0051, 0x6017, 0x0000, 0x602f, - 0x0009, 0x6003, 0x0001, 0x080c, 0x9121, 0x08a0, 0x080c, 0x32e5, - 0x1140, 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, 0x0008, 0x1108, - 0x0009, 0x0005, 0x00b6, 0x00c6, 0x0046, 0x7000, 0x908c, 0xff00, - 0x810f, 0x9186, 0x0033, 0x11e8, 0x080c, 0x82ae, 0x0904, 0x80a3, - 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, 0x9005, - 0x15d0, 0x2009, 0x0015, 0x080c, 0xaeec, 0x04a8, 0x908e, 0x0100, - 0x1590, 0x7034, 0x9005, 0x1578, 0x2009, 0x0016, 0x080c, 0xaeec, - 0x0450, 0x9186, 0x0032, 0x1538, 0x7030, 0x908e, 0x1400, 0x1518, - 0x2009, 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, - 0x080c, 0x2840, 0x11b8, 0x080c, 0x65a7, 0x11a0, 0xbe12, 0xbd16, - 0x080c, 0xae1b, 0x0178, 0x2b08, 0x6112, 0x080c, 0xcfc4, 0x6023, - 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0xaeec, 0x080c, 0x9687, - 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x00be, 0x0005, 0x00b6, - 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b8, - 0x9592, 0xfffc, 0x02a0, 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, - 0x0804, 0x8105, 0x9596, 0xfffe, 0x1120, 0x2009, 0x007e, 0x0804, - 0x8105, 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x04f0, 0x2011, - 0x0000, 0x2019, 0x1837, 0x231c, 0xd3ac, 0x0130, 0x9026, 0x20a9, - 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, 0x077f, - 0x2071, 0x1081, 0x2e1c, 0x93dd, 0x0000, 0x1140, 0x82ff, 0x11d0, - 0x9496, 0x00ff, 0x01b8, 0x2410, 0xc2fd, 0x00a0, 0xbf10, 0x2600, - 0x9706, 0xb814, 0x1120, 0x9546, 0x1110, 0x2408, 0x00b0, 0x9745, - 0x1148, 0x94c6, 0x007e, 0x0130, 0x94c6, 0x007f, 0x0118, 0x94c6, - 0x0080, 0x1d20, 0x8420, 0x8e70, 0x1f04, 0x80da, 0x82ff, 0x1118, - 0x9085, 0x0001, 0x0018, 0xc2fc, 0x2208, 0x9006, 0x00de, 0x00ee, - 0x004e, 0x00be, 0x0005, 0x7000, 0x908c, 0xff00, 0x810f, 0x9184, - 0x000f, 0x0002, 0x8122, 0x8122, 0x8122, 0x82c0, 0x8122, 0x812b, - 0x8156, 0x81e4, 0x8122, 0x8122, 0x8122, 0x8122, 0x8122, 0x8122, - 0x8122, 0x8122, 0x7817, 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, - 0x090c, 0x9687, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7120, - 0x2160, 0x9c8c, 0x0007, 0x11c0, 0x9c8a, 0x1cd0, 0x02a8, 0x6868, - 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, - 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, - 0x2009, 0x0046, 0x080c, 0xaeec, 0x7817, 0x0140, 0x2001, 0x19ef, - 0x2004, 0x9005, 0x090c, 0x9687, 0x00be, 0x0005, 0x00b6, 0x00c6, - 0x9484, 0x0fff, 0x0904, 0x81ba, 0x7110, 0xd1bc, 0x1904, 0x81ba, - 0x7108, 0x700c, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, - 0x15b0, 0x81ff, 0x15a0, 0x9080, 0x3327, 0x200d, 0x918c, 0xff00, - 0x810f, 0x2001, 0x0080, 0x9106, 0x0904, 0x81ba, 0x080c, 0x65a7, - 0x1904, 0x81ba, 0xbe12, 0xbd16, 0xb800, 0xd0ec, 0x15d8, 0xba04, - 0x9294, 0xff00, 0x9286, 0x0600, 0x11a0, 0x080c, 0xae1b, 0x05e8, - 0x2b08, 0x7028, 0x604a, 0x702c, 0x6046, 0x6112, 0x6023, 0x0006, - 0x7120, 0x610a, 0x7130, 0x6156, 0x2009, 0x0044, 0x080c, 0xdb84, - 0x0408, 0x080c, 0x697b, 0x1138, 0xb807, 0x0606, 0x0c30, 0x190c, - 0x80a7, 0x11c0, 0x0898, 0x080c, 0xae1b, 0x2b08, 0x0198, 0x6112, - 0x6023, 0x0004, 0x7120, 0x610a, 0x9286, 0x0400, 0x1118, 0x6007, - 0x0005, 0x0010, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x9121, - 0x080c, 0x9687, 0x7817, 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, - 0x090c, 0x9687, 0x00ce, 0x00be, 0x0005, 0x2001, 0x180e, 0x2004, - 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x4b14, 0x080c, 0xaebf, - 0x0d48, 0x2b08, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, - 0x6156, 0x6017, 0xf300, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x08b0, 0x00b6, 0x7110, 0xd1bc, 0x01e8, - 0x7020, 0x2060, 0x9c84, 0x0007, 0x11c0, 0x9c82, 0x1cd0, 0x02a8, - 0x6868, 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, - 0xb910, 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, - 0x610a, 0x2009, 0x0045, 0x080c, 0xaeec, 0x7817, 0x0140, 0x2001, - 0x19ef, 0x2004, 0x9005, 0x090c, 0x9687, 0x00be, 0x0005, 0x6120, - 0x9186, 0x0002, 0x0128, 0x9186, 0x0005, 0x0110, 0x9085, 0x0001, - 0x0005, 0x080c, 0x32e5, 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, - 0x9086, 0x0000, 0x1130, 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, - 0x000b, 0x0005, 0x8230, 0x8231, 0x8230, 0x8230, 0x8290, 0x829f, - 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, 0x0904, - 0x828e, 0x700c, 0x7108, 0x080c, 0x2840, 0x1904, 0x828e, 0x080c, - 0x65a7, 0x1904, 0x828e, 0xbe12, 0xbd16, 0x7110, 0xd1bc, 0x01d8, - 0x080c, 0x697b, 0x0118, 0x9086, 0x0004, 0x1588, 0x00c6, 0x080c, - 0x82ae, 0x00ce, 0x05d8, 0x080c, 0xae1b, 0x2b08, 0x05b8, 0x6112, - 0x080c, 0xcfc4, 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, 0x0088, - 0x080c, 0xaeec, 0x0458, 0x080c, 0x697b, 0x0148, 0x9086, 0x0004, - 0x0130, 0x080c, 0x6983, 0x0118, 0x9086, 0x0004, 0x1180, 0x080c, - 0xae1b, 0x2b08, 0x01d8, 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0005, - 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0xaeec, 0x0078, 0x080c, - 0xae1b, 0x2b08, 0x0158, 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0004, - 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, 0xaeec, 0x00be, 0x0005, - 0x7110, 0xd1bc, 0x0158, 0x00d1, 0x0148, 0x080c, 0x820f, 0x1130, - 0x7124, 0x610a, 0x2009, 0x0089, 0x080c, 0xaeec, 0x0005, 0x7110, - 0xd1bc, 0x0158, 0x0059, 0x0148, 0x080c, 0x820f, 0x1130, 0x7124, - 0x610a, 0x2009, 0x008a, 0x080c, 0xaeec, 0x0005, 0x7020, 0x2060, - 0x9c84, 0x0007, 0x1158, 0x9c82, 0x1cd0, 0x0240, 0x2001, 0x181a, - 0x2004, 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, - 0x00b6, 0x7110, 0xd1bc, 0x11d8, 0x7024, 0x2060, 0x9c84, 0x0007, - 0x11b0, 0x9c82, 0x1cd0, 0x0298, 0x6868, 0x9c02, 0x1280, 0x7008, - 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1140, 0x700c, - 0xb914, 0x9106, 0x1120, 0x2009, 0x0051, 0x080c, 0xaeec, 0x7817, - 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, 0x090c, 0x9687, 0x00be, - 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, 0x0206, 0x0049, - 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, 0x0213, 0x0009, - 0x0005, 0x00c6, 0x0096, 0x00f6, 0x7000, 0x9084, 0xf000, 0x9086, - 0xc000, 0x05d0, 0x080c, 0xae1b, 0x05b8, 0x0066, 0x00c6, 0x0046, - 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2840, 0x15a0, - 0x080c, 0x65a7, 0x1588, 0xbe12, 0xbd16, 0x2b00, 0x004e, 0x00ce, - 0x6012, 0x080c, 0xcfc4, 0x080c, 0x0fff, 0x0510, 0x2900, 0x605a, - 0x9006, 0xa802, 0xa866, 0xac6a, 0xa85c, 0x90f8, 0x001b, 0x20a9, - 0x000e, 0xa860, 0x20e8, 0x20e1, 0x0000, 0x2fa0, 0x2e98, 0x4003, - 0x006e, 0x6616, 0x6007, 0x003e, 0x6023, 0x0001, 0x6003, 0x0001, - 0x080c, 0x9121, 0x080c, 0x9687, 0x00fe, 0x009e, 0x00ce, 0x0005, - 0x080c, 0xae71, 0x006e, 0x0cc0, 0x004e, 0x00ce, 0x0cc8, 0x00c6, - 0x7000, 0x908c, 0xff00, 0x9184, 0xf000, 0x810f, 0x9086, 0x2000, - 0x1904, 0x839e, 0x9186, 0x0022, 0x15f0, 0x2001, 0x0111, 0x2004, - 0x9005, 0x1904, 0x83a0, 0x7030, 0x908e, 0x0400, 0x0904, 0x83a0, - 0x908e, 0x6000, 0x05e8, 0x908e, 0x5400, 0x05d0, 0x908e, 0x0300, - 0x11d8, 0x2009, 0x1837, 0x210c, 0xd18c, 0x1590, 0xd1a4, 0x1580, - 0x080c, 0x6939, 0x0558, 0x68b0, 0x9084, 0x00ff, 0x7100, 0x918c, - 0x00ff, 0x9106, 0x1518, 0x6880, 0x69b0, 0x918c, 0xff00, 0x9105, - 0x7104, 0x9106, 0x11d8, 0x00e0, 0x2009, 0x0103, 0x210c, 0xd1b4, - 0x11a8, 0x908e, 0x5200, 0x09e8, 0x908e, 0x0500, 0x09d0, 0x908e, - 0x5000, 0x09b8, 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, 0x82ae, - 0x0128, 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, - 0x9085, 0x0001, 0x00ce, 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, - 0x7038, 0x2020, 0x8427, 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, - 0x0004, 0x2019, 0x1805, 0x2011, 0x027a, 0x080c, 0xbe1c, 0x1178, - 0xd48c, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1801, 0x2011, 0x027e, - 0x080c, 0xbe1c, 0x1120, 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, - 0x001e, 0x004e, 0x015e, 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, - 0x7038, 0x2020, 0x8427, 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, - 0x0004, 0x2019, 0x1805, 0x2011, 0x0272, 0x080c, 0xbe1c, 0x1178, - 0xd48c, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1801, 0x2011, 0x0276, - 0x080c, 0xbe1c, 0x1120, 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, - 0x001e, 0x004e, 0x015e, 0x0005, 0x00f6, 0x2079, 0x0200, 0x7800, - 0xc0e5, 0xc0cc, 0x7802, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x1800, - 0x7834, 0xd084, 0x1130, 0x2079, 0x0200, 0x7800, 0x9085, 0x1200, - 0x7802, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7034, 0xc084, - 0x7036, 0x00ee, 0x0005, 0x2071, 0x19f9, 0x7003, 0x0003, 0x700f, - 0x0361, 0x9006, 0x701a, 0x7072, 0x7012, 0x7017, 0x1cd0, 0x7007, - 0x0000, 0x7026, 0x702b, 0xa28a, 0x7032, 0x7037, 0xa2f8, 0x703f, - 0xffff, 0x7042, 0x7047, 0x5577, 0x704a, 0x705b, 0x857d, 0x080c, - 0x1018, 0x090c, 0x0dd5, 0x2900, 0x703a, 0xa867, 0x0003, 0xa86f, - 0x0100, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x19f9, 0x1d04, 0x84cb, - 0x2091, 0x6000, 0x700c, 0x8001, 0x700e, 0x1530, 0x2001, 0x013c, - 0x2004, 0x9005, 0x190c, 0x85c2, 0x2001, 0x1869, 0x2004, 0xd0c4, - 0x0158, 0x3a00, 0xd08c, 0x1140, 0x20d1, 0x0000, 0x20d1, 0x0001, - 0x20d1, 0x0000, 0x080c, 0x0dd5, 0x700f, 0x0361, 0x7007, 0x0001, - 0x0126, 0x2091, 0x8000, 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, - 0x1130, 0x7044, 0x080f, 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, - 0x900d, 0x0188, 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, - 0x8109, 0x7126, 0x9186, 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, - 0x1110, 0x7028, 0x080f, 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, - 0x702e, 0x1160, 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, - 0x007f, 0x090c, 0xa419, 0x0010, 0x7034, 0x080f, 0x703c, 0x9005, - 0x0118, 0x0310, 0x8001, 0x703e, 0x704c, 0x900d, 0x0168, 0x7048, - 0x8001, 0x704a, 0x1148, 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, - 0x7150, 0x714e, 0x7058, 0x080f, 0x7018, 0x900d, 0x01d8, 0x0016, - 0x7070, 0x900d, 0x0158, 0x706c, 0x8001, 0x706e, 0x1138, 0x706f, - 0x0009, 0x8109, 0x7172, 0x1110, 0x7074, 0x080f, 0x001e, 0x7008, - 0x8001, 0x700a, 0x1138, 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, - 0x701c, 0x080f, 0x012e, 0x7004, 0x0002, 0x84f3, 0x84f4, 0x8510, - 0x00e6, 0x2071, 0x19f9, 0x7018, 0x9005, 0x1120, 0x711a, 0x721e, - 0x700b, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x19f9, - 0x701c, 0x9206, 0x1120, 0x701a, 0x701e, 0x7072, 0x7076, 0x000e, - 0x00ee, 0x0005, 0x00e6, 0x2071, 0x19f9, 0xb888, 0x9102, 0x0208, - 0xb98a, 0x00ee, 0x0005, 0x0005, 0x00b6, 0x7110, 0x080c, 0x6608, - 0x1168, 0xb888, 0x8001, 0x0250, 0xb88a, 0x1140, 0x0126, 0x2091, - 0x8000, 0x0016, 0x080c, 0x9687, 0x001e, 0x012e, 0x8108, 0x9182, - 0x0800, 0x0218, 0x900e, 0x7007, 0x0002, 0x7112, 0x00be, 0x0005, - 0x7014, 0x2060, 0x0126, 0x2091, 0x8000, 0x6040, 0x9005, 0x0128, - 0x8001, 0x6042, 0x1110, 0x080c, 0xce55, 0x6018, 0x9005, 0x0558, - 0x8001, 0x601a, 0x1540, 0x6120, 0x9186, 0x0003, 0x0148, 0x9186, - 0x0006, 0x0130, 0x9186, 0x0009, 0x11e0, 0x611c, 0xd1c4, 0x1100, - 0x080c, 0xcb4a, 0x01b0, 0x6014, 0x2048, 0xa884, 0x908a, 0x199a, - 0x0280, 0x9082, 0x1999, 0xa886, 0x908a, 0x199a, 0x0210, 0x2001, - 0x1999, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0xa87c, 0xd0e4, - 0x0110, 0x080c, 0xc846, 0x012e, 0x9c88, 0x0018, 0x7116, 0x2001, - 0x181a, 0x2004, 0x9102, 0x0220, 0x7017, 0x1cd0, 0x7007, 0x0000, - 0x0005, 0x00e6, 0x2071, 0x19f9, 0x7027, 0x07d0, 0x7023, 0x0009, - 0x00ee, 0x0005, 0x2001, 0x1a02, 0x2003, 0x0000, 0x0005, 0x00e6, - 0x2071, 0x19f9, 0x7132, 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, - 0x1a05, 0x2013, 0x0000, 0x0005, 0x00e6, 0x2071, 0x19f9, 0x711a, - 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, 0x0086, 0x0026, 0x7054, - 0x8000, 0x7056, 0x2001, 0x1a07, 0x2044, 0xa06c, 0x9086, 0x0000, - 0x0150, 0x7068, 0xa09a, 0x7064, 0xa096, 0x7060, 0xa092, 0x705c, - 0xa08e, 0x080c, 0x10e9, 0x002e, 0x008e, 0x0005, 0x0006, 0x0016, - 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, - 0x080c, 0x843c, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, - 0x00ae, 0x009e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x19f9, - 0x7172, 0x7276, 0x706f, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, - 0x2071, 0x19f9, 0x7074, 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, - 0x00ee, 0x0005, 0x0016, 0x00c6, 0x2009, 0xfffc, 0x210d, 0x2061, - 0x0100, 0x60f0, 0x9100, 0x60f3, 0x0000, 0x2009, 0xfffc, 0x200f, - 0x1220, 0x8108, 0x2105, 0x8000, 0x200f, 0x00ce, 0x001e, 0x0005, - 0x00c6, 0x2061, 0x1a70, 0x00ce, 0x0005, 0x9184, 0x000f, 0x8003, - 0x8003, 0x8003, 0x9080, 0x1a70, 0x2060, 0x0005, 0xa884, 0x908a, - 0x199a, 0x1638, 0x9005, 0x1150, 0x00c6, 0x2061, 0x1a70, 0x6014, - 0x00ce, 0x9005, 0x1130, 0x2001, 0x001e, 0x0018, 0x908e, 0xffff, - 0x01b0, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0xa87c, 0x908c, - 0x00c0, 0x918e, 0x00c0, 0x0904, 0x8670, 0xd0b4, 0x1168, 0xd0bc, - 0x1904, 0x8649, 0x2009, 0x0006, 0x080c, 0x869d, 0x0005, 0x900e, - 0x0c60, 0x2001, 0x1999, 0x08b0, 0xd0fc, 0x0160, 0x908c, 0x0003, - 0x0120, 0x918e, 0x0003, 0x1904, 0x8697, 0x908c, 0x2020, 0x918e, - 0x2020, 0x01a8, 0x6024, 0xd0d4, 0x11e8, 0x2009, 0x1869, 0x2104, - 0xd084, 0x1138, 0x87ff, 0x1120, 0x2009, 0x0043, 0x0804, 0xaeec, - 0x0005, 0x87ff, 0x1de8, 0x2009, 0x0042, 0x0804, 0xaeec, 0x6110, - 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6024, 0xc0cd, - 0x6026, 0x0c00, 0xc0d4, 0x6026, 0xa890, 0x602e, 0xa88c, 0x6032, - 0x08e0, 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, - 0x1904, 0x8697, 0x908c, 0x2020, 0x918e, 0x2020, 0x0170, 0x0076, - 0x00f6, 0x2c78, 0x080c, 0x1727, 0x00fe, 0x007e, 0x87ff, 0x1120, - 0x2009, 0x0042, 0x080c, 0xaeec, 0x0005, 0x6110, 0x00b6, 0x2158, - 0xb900, 0x00be, 0xd1ac, 0x0d58, 0x6124, 0xc1cd, 0x6126, 0x0c38, - 0xd0fc, 0x0188, 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x9084, - 0x0003, 0x908e, 0x0002, 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, - 0x080c, 0xaeec, 0x0005, 0x00b9, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, - 0x0043, 0x080c, 0xaeec, 0x0cb0, 0x6110, 0x00b6, 0x2158, 0xb900, - 0x00be, 0xd1ac, 0x0d20, 0x6124, 0xc1cd, 0x6126, 0x0c00, 0x2009, - 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, 0x0096, 0x080c, 0xcb4a, - 0x0518, 0x6014, 0x2048, 0xa982, 0xa800, 0x6016, 0x9186, 0x0001, - 0x1188, 0xa97c, 0x918c, 0x8100, 0x918e, 0x8100, 0x1158, 0x00c6, - 0x2061, 0x1a70, 0x6200, 0xd28c, 0x1120, 0x6204, 0x8210, 0x0208, - 0x6206, 0x00ce, 0x080c, 0x6ac1, 0x6014, 0x904d, 0x0076, 0x2039, - 0x0000, 0x190c, 0x85e6, 0x007e, 0x009e, 0x0005, 0x0156, 0x00c6, - 0x2061, 0x1a70, 0x6000, 0x81ff, 0x0110, 0x9205, 0x0008, 0x9204, - 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, 0x1138, 0x6808, - 0x9005, 0x0120, 0x8001, 0x680a, 0x9085, 0x0001, 0x0005, 0x2071, - 0x1923, 0x7003, 0x0006, 0x7007, 0x0000, 0x700f, 0x0000, 0x7013, - 0x0001, 0x080c, 0x1018, 0x090c, 0x0dd5, 0xa867, 0x0006, 0xa86b, - 0x0001, 0xa8ab, 0xdcb0, 0xa89f, 0x0000, 0x2900, 0x702e, 0x7033, - 0x0000, 0x0005, 0x0096, 0x00e6, 0x2071, 0x1923, 0x702c, 0x2048, - 0x6a2c, 0x721e, 0x6b30, 0x7322, 0x6834, 0x7026, 0xa896, 0x6838, - 0x702a, 0xa89a, 0x6824, 0x7016, 0x683c, 0x701a, 0x2009, 0x0028, - 0x200a, 0x9005, 0x0148, 0x900e, 0x9188, 0x000c, 0x8001, 0x1de0, - 0x2100, 0x9210, 0x1208, 0x8318, 0xaa8e, 0xab92, 0x7010, 0xd084, - 0x0178, 0xc084, 0x7007, 0x0001, 0x700f, 0x0000, 0x0006, 0x2009, - 0x181d, 0x2104, 0x9082, 0x0007, 0x2009, 0x1ac7, 0x200a, 0x000e, - 0xc095, 0x7012, 0x2008, 0x2001, 0x003b, 0x080c, 0x15f0, 0x9006, - 0x2071, 0x193c, 0x7002, 0x7006, 0x702a, 0x00ee, 0x009e, 0x0005, - 0x00e6, 0x0126, 0x0156, 0x2091, 0x8000, 0x2071, 0x1800, 0x7154, - 0x2001, 0x0008, 0x910a, 0x0638, 0x2001, 0x187d, 0x20ac, 0x9006, - 0x9080, 0x0008, 0x1f04, 0x8750, 0x71c0, 0x9102, 0x02e0, 0x2071, - 0x1877, 0x20a9, 0x0007, 0x00c6, 0x080c, 0xae1b, 0x6023, 0x0009, - 0x6003, 0x0004, 0x601f, 0x0101, 0x0089, 0x0126, 0x2091, 0x8000, - 0x080c, 0x88d6, 0x012e, 0x1f04, 0x875c, 0x9006, 0x00ce, 0x015e, - 0x012e, 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x00e6, 0x00b6, - 0x0096, 0x0086, 0x0056, 0x0046, 0x0026, 0x7118, 0x720c, 0x7620, - 0x7004, 0xd084, 0x1128, 0x2021, 0x0024, 0x2029, 0x0002, 0x0020, - 0x2021, 0x002c, 0x2029, 0x000a, 0x080c, 0x0fff, 0x090c, 0x0dd5, - 0x2900, 0x6016, 0x2058, 0xac66, 0x9006, 0xa802, 0xa806, 0xa86a, - 0xa87a, 0xa8aa, 0xa887, 0x0005, 0xa87f, 0x0020, 0x7008, 0xa89a, - 0x7010, 0xa89e, 0xae8a, 0xa8af, 0xffff, 0xa8b3, 0x0000, 0x8109, - 0x0160, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0xad66, 0x2b00, 0xa802, - 0x2900, 0xb806, 0x2058, 0x8109, 0x1da0, 0x002e, 0x004e, 0x005e, - 0x008e, 0x009e, 0x00be, 0x00ee, 0x0005, 0x2079, 0x0000, 0x2071, - 0x1923, 0x7004, 0x004b, 0x700c, 0x0002, 0x87c8, 0x87c1, 0x87c1, - 0x0005, 0x87d2, 0x8833, 0x8833, 0x8833, 0x8834, 0x8845, 0x8845, - 0x700c, 0x0cba, 0x0126, 0x2091, 0x8000, 0x78a0, 0x79a0, 0x9106, - 0x0128, 0x78a0, 0x79a0, 0x9106, 0x1904, 0x8826, 0x2001, 0x0005, - 0x2004, 0xd0bc, 0x0130, 0x2011, 0x0004, 0x2204, 0xc0c5, 0x2012, - 0x0ca8, 0x012e, 0x7018, 0x910a, 0x1130, 0x7030, 0x9005, 0x05a8, - 0x080c, 0x8874, 0x0490, 0x1210, 0x7114, 0x910a, 0x9192, 0x000a, - 0x0210, 0x2009, 0x000a, 0x2001, 0x1888, 0x2014, 0x2001, 0x1935, - 0x2004, 0x9100, 0x9202, 0x0e48, 0x080c, 0x89c0, 0x2200, 0x9102, - 0x0208, 0x2208, 0x0096, 0x702c, 0x2048, 0xa873, 0x0001, 0xa976, - 0x080c, 0x8ac9, 0x2100, 0xa87e, 0xa86f, 0x0000, 0x009e, 0x0126, - 0x2091, 0x8000, 0x2009, 0x1a17, 0x2104, 0xc085, 0x200a, 0x700f, - 0x0002, 0x012e, 0x080c, 0x1108, 0x1de8, 0x0005, 0x2001, 0x0005, - 0x2004, 0xd0bc, 0x0130, 0x2011, 0x0004, 0x2204, 0xc0c5, 0x2012, - 0x0ca8, 0x012e, 0x0005, 0x0005, 0x700c, 0x0002, 0x8839, 0x883c, - 0x883b, 0x080c, 0x87d0, 0x0005, 0x8001, 0x700e, 0x0096, 0x702c, - 0x2048, 0xa974, 0x009e, 0x0011, 0x0ca0, 0x0005, 0x0096, 0x702c, - 0x2048, 0x7018, 0x9100, 0x7214, 0x921a, 0x1130, 0x701c, 0xa88e, - 0x7020, 0xa892, 0x9006, 0x0068, 0x0006, 0x080c, 0x8ac9, 0x2100, - 0xaa8c, 0x9210, 0xaa8e, 0x1220, 0xa890, 0x9081, 0x0000, 0xa892, - 0x000e, 0x009e, 0x2f08, 0x9188, 0x0028, 0x200a, 0x701a, 0x0005, - 0x00e6, 0x2071, 0x1923, 0x700c, 0x0002, 0x8872, 0x8872, 0x8870, - 0x700f, 0x0001, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x7030, - 0x9005, 0x0508, 0x2078, 0x7814, 0x2048, 0xae88, 0x00b6, 0x2059, - 0x0000, 0x080c, 0x88df, 0x00be, 0x01b0, 0x00e6, 0x2071, 0x193c, - 0x080c, 0x8926, 0x00ee, 0x0178, 0x0096, 0x080c, 0x1018, 0x2900, - 0x009e, 0x0148, 0xa8aa, 0x04b9, 0x0041, 0x2001, 0x1946, 0x2003, - 0x0000, 0x012e, 0x08c8, 0x012e, 0x0005, 0x00d6, 0x00c6, 0x0086, - 0x00a6, 0x2940, 0x2650, 0x2600, 0x9005, 0x0180, 0xa864, 0x9084, - 0x000f, 0x2068, 0x9d88, 0x2092, 0x2165, 0x0056, 0x2029, 0x0000, - 0x080c, 0x8a4e, 0x080c, 0x204a, 0x1dd8, 0x005e, 0x00ae, 0x2001, - 0x187f, 0x2004, 0xa88a, 0x080c, 0x1727, 0x781f, 0x0101, 0x7813, - 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, 0x8935, 0x012e, 0x008e, - 0x00ce, 0x00de, 0x0005, 0x7030, 0x9005, 0x0138, 0x2078, 0x780c, - 0x7032, 0x2001, 0x1946, 0x2003, 0x0001, 0x0005, 0x00e6, 0x2071, - 0x1923, 0x7030, 0x600e, 0x2c00, 0x7032, 0x00ee, 0x0005, 0x00d6, - 0x00c6, 0x0026, 0x9b80, 0x8ba8, 0x2005, 0x906d, 0x090c, 0x0dd5, - 0x9b80, 0x8ba0, 0x2005, 0x9065, 0x090c, 0x0dd5, 0x6114, 0x2600, - 0x9102, 0x0248, 0x6828, 0x9102, 0x02f0, 0x9085, 0x0001, 0x002e, - 0x00ce, 0x00de, 0x0005, 0x6804, 0xd094, 0x0148, 0x6854, 0xd084, - 0x1178, 0xc085, 0x6856, 0x2011, 0x8026, 0x080c, 0x4b14, 0x684c, - 0x0096, 0x904d, 0x090c, 0x0dd5, 0xa804, 0x8000, 0xa806, 0x009e, - 0x9006, 0x2030, 0x0c20, 0x6854, 0xd08c, 0x1d08, 0xc08d, 0x6856, - 0x2011, 0x8025, 0x080c, 0x4b14, 0x684c, 0x0096, 0x904d, 0x090c, - 0x0dd5, 0xa800, 0x8000, 0xa802, 0x009e, 0x0888, 0x7000, 0x2019, - 0x0008, 0x8319, 0x7104, 0x9102, 0x1118, 0x2300, 0x9005, 0x0020, - 0x0210, 0x9302, 0x0008, 0x8002, 0x0005, 0x00d6, 0x7814, 0x9005, - 0x090c, 0x0dd5, 0x781c, 0x9084, 0x0101, 0x9086, 0x0101, 0x190c, - 0x0dd5, 0x2069, 0x193c, 0x6804, 0x9080, 0x193e, 0x2f08, 0x2102, - 0x6904, 0x8108, 0x9182, 0x0008, 0x0208, 0x900e, 0x6906, 0x9180, - 0x193e, 0x2003, 0x0000, 0x00de, 0x0005, 0x0096, 0x00c6, 0x2060, - 0x6014, 0x2048, 0xa8a8, 0x0096, 0x2048, 0x9005, 0x190c, 0x1031, - 0x009e, 0xa8ab, 0x0000, 0x080c, 0x0fb1, 0x080c, 0xae71, 0x00ce, - 0x009e, 0x0005, 0x6020, 0x9086, 0x0009, 0x1128, 0x601c, 0xd0c4, - 0x0110, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x6000, 0x9086, - 0x0000, 0x0178, 0x6010, 0x9005, 0x0150, 0x00b6, 0x2058, 0x080c, - 0x8cdb, 0x00be, 0x6013, 0x0000, 0x601b, 0x0000, 0x0010, 0x2c00, - 0x0861, 0x0005, 0x2009, 0x1927, 0x210c, 0xd194, 0x0005, 0x00e6, - 0x2071, 0x1923, 0x7110, 0xc194, 0xd19c, 0x1118, 0xc185, 0x7007, - 0x0000, 0x7112, 0x2001, 0x003b, 0x080c, 0x15f0, 0x00ee, 0x0005, - 0x0096, 0x00d6, 0x9006, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, - 0x7016, 0x702a, 0x7026, 0x702f, 0x0000, 0x080c, 0x8b28, 0x0170, - 0x080c, 0x8b5d, 0x0158, 0x2900, 0x7002, 0x700a, 0x701a, 0x7013, - 0x0001, 0x701f, 0x000a, 0x00de, 0x009e, 0x0005, 0x900e, 0x0cd8, - 0x00e6, 0x0096, 0x0086, 0x00d6, 0x00c6, 0x2071, 0x1930, 0x721c, - 0x2100, 0x9202, 0x1618, 0x080c, 0x8b5d, 0x090c, 0x0dd5, 0x7018, - 0x9005, 0x1160, 0x2900, 0x7002, 0x700a, 0x701a, 0x9006, 0x7006, - 0x700e, 0xa806, 0xa802, 0x7012, 0x701e, 0x0038, 0x2040, 0xa806, - 0x2900, 0xa002, 0x701a, 0xa803, 0x0000, 0x7010, 0x8000, 0x7012, - 0x701c, 0x9080, 0x000a, 0x701e, 0x721c, 0x08d0, 0x721c, 0x00ce, - 0x00de, 0x008e, 0x009e, 0x00ee, 0x0005, 0x0096, 0x0156, 0x0136, - 0x0146, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1930, 0x7300, - 0x831f, 0x831e, 0x831e, 0x9384, 0x003f, 0x20e8, 0x939c, 0xffc0, - 0x9398, 0x0003, 0x7104, 0x080c, 0x8ac9, 0x810c, 0x2100, 0x9318, - 0x8003, 0x2228, 0x2021, 0x0078, 0x9402, 0x9532, 0x0208, 0x2028, - 0x2500, 0x8004, 0x20a8, 0x23a0, 0xa001, 0xa001, 0x4005, 0x2508, - 0x080c, 0x8ad2, 0x2130, 0x7014, 0x9600, 0x7016, 0x2600, 0x711c, - 0x9102, 0x701e, 0x7004, 0x9600, 0x2008, 0x9082, 0x000a, 0x1190, - 0x7000, 0x2048, 0xa800, 0x9005, 0x1148, 0x2009, 0x0001, 0x0026, - 0x080c, 0x89c0, 0x002e, 0x7000, 0x2048, 0xa800, 0x7002, 0x7007, - 0x0000, 0x0008, 0x7106, 0x2500, 0x9212, 0x1904, 0x89ff, 0x012e, - 0x00ee, 0x014e, 0x013e, 0x015e, 0x009e, 0x0005, 0x0016, 0x0026, - 0x00e6, 0x0126, 0x2091, 0x8000, 0x9580, 0x8ba0, 0x2005, 0x9075, - 0x090c, 0x0dd5, 0x080c, 0x8aa4, 0x012e, 0x9580, 0x8b9c, 0x2005, - 0x9075, 0x090c, 0x0dd5, 0x0156, 0x0136, 0x01c6, 0x0146, 0x01d6, - 0x831f, 0x831e, 0x831e, 0x9384, 0x003f, 0x20e0, 0x9384, 0xffc0, - 0x9100, 0x2098, 0xa860, 0x20e8, 0xa95c, 0x2c05, 0x9100, 0x20a0, - 0x20a9, 0x0002, 0x4003, 0x2e0c, 0x2d00, 0x0002, 0x8a8e, 0x8a8e, - 0x8a90, 0x8a8e, 0x8a90, 0x8a8e, 0x8a8e, 0x8a8e, 0x8a8e, 0x8a8e, - 0x8a96, 0x8a8e, 0x8a96, 0x8a8e, 0x8a8e, 0x8a8e, 0x080c, 0x0dd5, - 0x4104, 0x20a9, 0x0002, 0x4002, 0x4003, 0x0028, 0x20a9, 0x0002, - 0x4003, 0x4104, 0x4003, 0x01de, 0x014e, 0x01ce, 0x013e, 0x015e, - 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, 0x7014, 0x8001, 0x7016, - 0x710c, 0x2110, 0x00f1, 0x810c, 0x9188, 0x0003, 0x7308, 0x8210, - 0x9282, 0x000a, 0x1198, 0x7008, 0x2048, 0xa800, 0x9005, 0x0158, - 0x0006, 0x080c, 0x8b6c, 0x009e, 0xa807, 0x0000, 0x2900, 0x700a, - 0x7010, 0x8001, 0x7012, 0x700f, 0x0000, 0x0008, 0x720e, 0x009e, - 0x0005, 0x0006, 0x810b, 0x810b, 0x2100, 0x810b, 0x9100, 0x2008, - 0x000e, 0x0005, 0x0006, 0x0026, 0x2100, 0x9005, 0x0158, 0x9092, - 0x000c, 0x0240, 0x900e, 0x8108, 0x9082, 0x000c, 0x1de0, 0x002e, - 0x000e, 0x0005, 0x900e, 0x0cd8, 0x2d00, 0x90b8, 0x0008, 0x690c, - 0x6810, 0x2019, 0x0001, 0x2031, 0x8b12, 0x9112, 0x0220, 0x0118, - 0x8318, 0x2208, 0x0cd0, 0x6808, 0x9005, 0x0108, 0x8318, 0x233a, - 0x6804, 0xd084, 0x2300, 0x2021, 0x0001, 0x1150, 0x9082, 0x0003, - 0x0967, 0x0a67, 0x8420, 0x9082, 0x0007, 0x0967, 0x0a67, 0x0cd0, - 0x9082, 0x0002, 0x0967, 0x0a67, 0x8420, 0x9082, 0x0005, 0x0967, - 0x0a67, 0x0cd0, 0x6c1a, 0x2d00, 0x90b8, 0x0007, 0x00e6, 0x2071, - 0x1800, 0x7128, 0x6810, 0x2019, 0x0001, 0x910a, 0x0118, 0x0210, - 0x8318, 0x0cd8, 0x2031, 0x8b25, 0x0870, 0x6c16, 0x00ee, 0x0005, - 0x0096, 0x0046, 0x0126, 0x2091, 0x8000, 0x2b00, 0x9080, 0x8ba4, - 0x2005, 0x9005, 0x090c, 0x0dd5, 0x2004, 0x90a0, 0x000a, 0x080c, - 0x1018, 0x01d0, 0x2900, 0x7026, 0xa803, 0x0000, 0xa807, 0x0000, - 0x080c, 0x1018, 0x0188, 0x7024, 0xa802, 0xa807, 0x0000, 0x2900, - 0x7026, 0x94a2, 0x000a, 0x0110, 0x0208, 0x0c90, 0x9085, 0x0001, - 0x012e, 0x004e, 0x009e, 0x0005, 0x7024, 0x9005, 0x0dc8, 0x2048, - 0xac00, 0x080c, 0x1031, 0x2400, 0x0cc0, 0x0126, 0x2091, 0x8000, - 0x7024, 0x2048, 0x9005, 0x0130, 0xa800, 0x7026, 0xa803, 0x0000, - 0xa807, 0x0000, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x7024, - 0xa802, 0x2900, 0x7026, 0x012e, 0x0005, 0x0096, 0x9e80, 0x0009, - 0x2004, 0x9005, 0x0138, 0x2048, 0xa800, 0x0006, 0x080c, 0x1031, - 0x000e, 0x0cb8, 0x009e, 0x0005, 0x0096, 0x7008, 0x9005, 0x0138, - 0x2048, 0xa800, 0x0006, 0x080c, 0x1031, 0x000e, 0x0cb8, 0x9006, - 0x7002, 0x700a, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x702a, - 0x7026, 0x702e, 0x009e, 0x0005, 0x1a63, 0x0000, 0x0000, 0x0000, - 0x1930, 0x0000, 0x0000, 0x0000, 0x1888, 0x0000, 0x0000, 0x0000, - 0x1877, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00c6, 0x00b6, 0x00a6, - 0xa8a8, 0x2040, 0x2071, 0x1877, 0x080c, 0x8cc6, 0xa067, 0x0023, - 0x6010, 0x905d, 0x0904, 0x8c9b, 0xb814, 0xa06e, 0xb910, 0xa172, - 0xb9a0, 0xa176, 0x2001, 0x0003, 0xa07e, 0xa834, 0xa082, 0xa07b, - 0x0000, 0xa898, 0x9005, 0x0118, 0xa078, 0xc085, 0xa07a, 0x2858, - 0x2031, 0x0018, 0xa068, 0x908a, 0x0019, 0x1a0c, 0x0dd5, 0x2020, - 0x2050, 0x2940, 0xa864, 0x90bc, 0x00ff, 0x908c, 0x000f, 0x91e0, - 0x2092, 0x2c65, 0x9786, 0x0024, 0x2c05, 0x1590, 0x908a, 0x0036, - 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x8c08, 0x8c08, 0x8c0a, - 0x8c08, 0x8c08, 0x8c08, 0x8c0c, 0x8c08, 0x8c08, 0x8c08, 0x8c0e, - 0x8c08, 0x8c08, 0x8c08, 0x8c10, 0x8c08, 0x8c08, 0x8c08, 0x8c12, - 0x8c08, 0x8c08, 0x8c08, 0x8c14, 0x8c08, 0x8c08, 0x8c08, 0x8c16, - 0x080c, 0x0dd5, 0xa180, 0x04b8, 0xa190, 0x04a8, 0xa1a0, 0x0498, - 0xa1b0, 0x0488, 0xa1c0, 0x0478, 0xa1d0, 0x0468, 0xa1e0, 0x0458, - 0x908a, 0x0034, 0x1a0c, 0x0dd5, 0x9082, 0x001b, 0x0002, 0x8c3a, - 0x8c38, 0x8c38, 0x8c38, 0x8c38, 0x8c38, 0x8c3c, 0x8c38, 0x8c38, - 0x8c38, 0x8c38, 0x8c38, 0x8c3e, 0x8c38, 0x8c38, 0x8c38, 0x8c38, - 0x8c38, 0x8c40, 0x8c38, 0x8c38, 0x8c38, 0x8c38, 0x8c38, 0x8c42, - 0x080c, 0x0dd5, 0xa180, 0x0038, 0xa198, 0x0028, 0xa1b0, 0x0018, - 0xa1c8, 0x0008, 0xa1e0, 0x2600, 0x0002, 0x8c5e, 0x8c60, 0x8c62, - 0x8c64, 0x8c66, 0x8c68, 0x8c6a, 0x8c6c, 0x8c6e, 0x8c70, 0x8c72, - 0x8c74, 0x8c76, 0x8c78, 0x8c7a, 0x8c7c, 0x8c7e, 0x8c80, 0x8c82, - 0x8c84, 0x8c86, 0x8c88, 0x8c8a, 0x8c8c, 0x8c8e, 0x080c, 0x0dd5, - 0xb9e2, 0x0468, 0xb9de, 0x0458, 0xb9da, 0x0448, 0xb9d6, 0x0438, - 0xb9d2, 0x0428, 0xb9ce, 0x0418, 0xb9ca, 0x0408, 0xb9c6, 0x00f8, - 0xb9c2, 0x00e8, 0xb9be, 0x00d8, 0xb9ba, 0x00c8, 0xb9b6, 0x00b8, - 0xb9b2, 0x00a8, 0xb9ae, 0x0098, 0xb9aa, 0x0088, 0xb9a6, 0x0078, - 0xb9a2, 0x0068, 0xb99e, 0x0058, 0xb99a, 0x0048, 0xb996, 0x0038, - 0xb992, 0x0028, 0xb98e, 0x0018, 0xb98a, 0x0008, 0xb986, 0x8631, - 0x8421, 0x0120, 0x080c, 0x204a, 0x0804, 0x8be2, 0x00ae, 0x00be, - 0x00ce, 0x00ee, 0x0005, 0xa86c, 0xa06e, 0xa870, 0xa072, 0xa077, - 0x00ff, 0x9006, 0x0804, 0x8bc4, 0x0006, 0x0016, 0x00b6, 0x6010, - 0x2058, 0xb810, 0x9005, 0x01b0, 0x2001, 0x1924, 0x2004, 0x9005, - 0x0188, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, - 0x0046, 0xbba0, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, 0x4b14, - 0x004e, 0x003e, 0x00be, 0x001e, 0x000e, 0x0005, 0x9016, 0x710c, - 0xa834, 0x910a, 0xa936, 0x7008, 0x9005, 0x0120, 0x8210, 0x910a, - 0x0238, 0x0130, 0x7010, 0x8210, 0x910a, 0x0210, 0x0108, 0x0cd8, - 0xaa8a, 0xa26a, 0x0005, 0x00f6, 0x00d6, 0x0036, 0x2079, 0x0300, - 0x781b, 0x0200, 0x7818, 0xd094, 0x1dd8, 0x781b, 0x0202, 0xa001, - 0xa001, 0x7818, 0xd094, 0x1da0, 0xb8ac, 0x9005, 0x01b8, 0x2068, - 0x2079, 0x0000, 0x2c08, 0x911e, 0x1118, 0x680c, 0xb8ae, 0x0060, - 0x9106, 0x0140, 0x2d00, 0x2078, 0x680c, 0x9005, 0x090c, 0x0dd5, - 0x2068, 0x0cb0, 0x6b0c, 0x7b0e, 0x600f, 0x0000, 0x2079, 0x0300, - 0x781b, 0x0200, 0x003e, 0x00de, 0x00fe, 0x0005, 0x00e6, 0x00d6, - 0x0096, 0x00c6, 0x0036, 0x0126, 0x2091, 0x8000, 0x0156, 0x20a9, - 0x01ff, 0x2071, 0x0300, 0x701b, 0x0200, 0x7018, 0xd094, 0x0110, - 0x1f04, 0x8d1b, 0x701b, 0x0202, 0xa001, 0xa001, 0x7018, 0xd094, - 0x1d90, 0xb8ac, 0x9005, 0x01d0, 0x2060, 0x600c, 0xb8ae, 0x6003, - 0x0004, 0x601b, 0x0000, 0x6013, 0x0000, 0x601f, 0x0101, 0x6014, - 0x2048, 0xa88b, 0x0000, 0xa8a8, 0xa8ab, 0x0000, 0x904d, 0x090c, - 0x0dd5, 0x080c, 0x1031, 0x080c, 0x88d6, 0x0c18, 0x2071, 0x0300, - 0x701b, 0x0200, 0x015e, 0x012e, 0x003e, 0x00ce, 0x009e, 0x00de, - 0x00ee, 0x0005, 0x00c6, 0x00b6, 0x0016, 0x0006, 0x0156, 0x080c, - 0x2840, 0x015e, 0x11b0, 0x080c, 0x65a7, 0x190c, 0x0dd5, 0x000e, - 0x001e, 0xb912, 0xb816, 0x080c, 0xae1b, 0x0140, 0x2b00, 0x6012, - 0x6023, 0x0001, 0x2009, 0x0001, 0x080c, 0xaeec, 0x00be, 0x00ce, - 0x0005, 0x000e, 0x001e, 0x0cd0, 0x0066, 0x6000, 0x90b2, 0x0016, - 0x1a0c, 0x0dd5, 0x0013, 0x006e, 0x0005, 0x8d8d, 0x8d8d, 0x8d8d, - 0x8d8f, 0x8de0, 0x8d8d, 0x8d8d, 0x8d8d, 0x8e43, 0x8d8d, 0x8e80, - 0x8d8d, 0x8d8d, 0x8d8d, 0x8d8d, 0x8d8d, 0x080c, 0x0dd5, 0x9182, - 0x0040, 0x0002, 0x8da2, 0x8da2, 0x8da2, 0x8da2, 0x8da2, 0x8da2, - 0x8da2, 0x8da2, 0x8da2, 0x8da4, 0x8db9, 0x8da2, 0x8da2, 0x8da2, - 0x8da2, 0x8dcc, 0x080c, 0x0dd5, 0x0096, 0x080c, 0x9637, 0x080c, - 0x97b5, 0x6114, 0x2148, 0xa87b, 0x0000, 0x6010, 0x00b6, 0x2058, - 0xb8bb, 0x0500, 0x00be, 0x080c, 0x6a8c, 0x080c, 0xae71, 0x009e, - 0x0005, 0x080c, 0x9637, 0x00d6, 0x6114, 0x080c, 0xcb4a, 0x0130, - 0x0096, 0x6114, 0x2148, 0x080c, 0x6c86, 0x009e, 0x00de, 0x080c, - 0xae71, 0x080c, 0x97b5, 0x0005, 0x080c, 0x9637, 0x080c, 0x31c1, - 0x6114, 0x0096, 0x2148, 0x080c, 0xcb4a, 0x0120, 0xa87b, 0x0029, - 0x080c, 0x6c86, 0x009e, 0x080c, 0xae71, 0x080c, 0x97b5, 0x0005, - 0x601b, 0x0000, 0x9182, 0x0040, 0x0096, 0x0002, 0x8dfb, 0x8dfb, - 0x8dfb, 0x8dfb, 0x8dfb, 0x8dfb, 0x8dfb, 0x8dfb, 0x8dfd, 0x8dfb, - 0x8dfb, 0x8dfb, 0x8e3f, 0x8dfb, 0x8dfb, 0x8dfb, 0x8dfb, 0x8dfb, - 0x8dfb, 0x8e03, 0x8dfb, 0x080c, 0x0dd5, 0x6114, 0x2148, 0xa938, - 0x918e, 0xffff, 0x05e0, 0x00e6, 0x6114, 0x2148, 0x080c, 0x8bac, - 0x0096, 0xa8a8, 0x2048, 0x080c, 0x6a24, 0x009e, 0xa8ab, 0x0000, - 0x6010, 0x9005, 0x0128, 0x00b6, 0x2058, 0x080c, 0x8cdb, 0x00be, - 0xae88, 0x00b6, 0x2059, 0x0000, 0x080c, 0x88df, 0x00be, 0x01e0, - 0x2071, 0x193c, 0x080c, 0x8926, 0x01b8, 0x9086, 0x0001, 0x1128, - 0x2001, 0x1946, 0x2004, 0x9005, 0x1178, 0x0096, 0x080c, 0x0fff, - 0x2900, 0x009e, 0x0148, 0xa8aa, 0x00f6, 0x2c78, 0x080c, 0x889d, - 0x00fe, 0x00ee, 0x009e, 0x0005, 0x080c, 0x88d6, 0x0cd0, 0x080c, - 0x8eed, 0x009e, 0x0005, 0x9182, 0x0040, 0x0096, 0x0002, 0x8e57, - 0x8e57, 0x8e57, 0x8e59, 0x8e57, 0x8e57, 0x8e57, 0x8e7e, 0x8e57, - 0x8e57, 0x8e57, 0x8e57, 0x8e57, 0x8e57, 0x8e57, 0x8e57, 0x080c, - 0x0dd5, 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa8ac, 0xa846, - 0xa8b0, 0xa84a, 0xa837, 0x0000, 0xa83b, 0x0000, 0xa884, 0x9092, - 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, - 0x621a, 0x2c10, 0x080c, 0x1baf, 0x080c, 0x913e, 0x0126, 0x2091, - 0x8000, 0x080c, 0x97b5, 0x012e, 0x009e, 0x0005, 0x080c, 0x0dd5, - 0x080c, 0x9637, 0x080c, 0x97b5, 0x6114, 0x2148, 0xa87b, 0x0000, - 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, 0x080c, 0x6c86, - 0x080c, 0xae71, 0x009e, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, - 0x0dd5, 0x0096, 0x0013, 0x009e, 0x0005, 0x8ead, 0x8ead, 0x8ead, - 0x8eaf, 0x8ec0, 0x8ead, 0x8ead, 0x8ead, 0x8ead, 0x8ead, 0x8ead, - 0x8ead, 0x8ead, 0x8ead, 0x8ead, 0x8ead, 0x080c, 0x0dd5, 0x080c, - 0xa7cd, 0x6114, 0x2148, 0xa87b, 0x0006, 0x6010, 0x00b6, 0x2058, - 0xb8bb, 0x0500, 0x00be, 0x080c, 0x6c86, 0x080c, 0xae71, 0x0005, - 0x0461, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, 0x0096, - 0x0013, 0x009e, 0x0005, 0x8edb, 0x8edb, 0x8edb, 0x8edd, 0x8eed, - 0x8edb, 0x8edb, 0x8edb, 0x8edb, 0x8edb, 0x8edb, 0x8edb, 0x8edb, - 0x8edb, 0x8edb, 0x8edb, 0x080c, 0x0dd5, 0x0036, 0x00e6, 0x2071, - 0x19e6, 0x703c, 0x9c06, 0x1120, 0x2019, 0x0000, 0x080c, 0xa5b7, - 0x080c, 0xa7cd, 0x00ee, 0x003e, 0x0005, 0x00f6, 0x00e6, 0x601b, - 0x0000, 0x6014, 0x2048, 0x6010, 0x9005, 0x0128, 0x00b6, 0x2058, - 0x080c, 0x8cdb, 0x00be, 0x2071, 0x193c, 0x080c, 0x8926, 0x0160, - 0x2001, 0x187f, 0x2004, 0xa88a, 0x2031, 0x0000, 0x2c78, 0x080c, - 0x889d, 0x00ee, 0x00fe, 0x0005, 0x0096, 0xa88b, 0x0000, 0xa8a8, - 0x2048, 0x080c, 0x1031, 0x009e, 0xa8ab, 0x0000, 0x080c, 0x88d6, - 0x0c80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x187a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, 0x0010, - 0x9006, 0x8004, 0x2019, 0x0100, 0x231c, 0x93a6, 0x0008, 0x1118, - 0x8086, 0x818e, 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x1208, - 0x9200, 0x1f04, 0x8f32, 0x93a6, 0x0008, 0x1118, 0x8086, 0x818e, - 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x004e, 0x003e, 0x012e, - 0x0005, 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, - 0x9005, 0x0510, 0x911a, 0x1600, 0x8213, 0x2039, 0x0100, 0x273c, - 0x97be, 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x0228, - 0x911a, 0x1220, 0x1f04, 0x8f5c, 0x0028, 0x911a, 0x2308, 0x8210, - 0x1f04, 0x8f5c, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, - 0x015e, 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, - 0x0ca8, 0x0126, 0x2091, 0x2800, 0x2079, 0x19e6, 0x012e, 0x00d6, - 0x2069, 0x19e6, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, - 0x0000, 0x2069, 0x0200, 0x080c, 0xab2c, 0x0401, 0x080c, 0xab17, - 0x00e9, 0x080c, 0xab1a, 0x00d1, 0x080c, 0xab1d, 0x00b9, 0x080c, - 0xab20, 0x00a1, 0x080c, 0xab23, 0x0089, 0x080c, 0xab26, 0x0071, - 0x080c, 0xab29, 0x0059, 0x01de, 0x014e, 0x015e, 0x2069, 0x0004, - 0x2d04, 0x9085, 0x8001, 0x206a, 0x00de, 0x0005, 0x20a9, 0x0020, - 0x20a1, 0x0240, 0x2001, 0x0000, 0x4004, 0x0005, 0x00c6, 0x6027, - 0x0001, 0x7804, 0x9084, 0x0007, 0x0002, 0x8fcf, 0x8ff3, 0x9032, - 0x8fd5, 0x8ff3, 0x8fcf, 0x8fcd, 0x8fcd, 0x080c, 0x0dd5, 0x080c, - 0x8562, 0x080c, 0x9687, 0x00ce, 0x0005, 0x62c0, 0x82ff, 0x1110, - 0x00ce, 0x0005, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x7828, 0x9092, - 0x00c8, 0x1228, 0x8000, 0x782a, 0x080c, 0x5ecc, 0x0c88, 0x62c0, - 0x080c, 0xac68, 0x080c, 0x5e8c, 0x7807, 0x0003, 0x7827, 0x0000, - 0x782b, 0x0000, 0x0c28, 0x080c, 0x8562, 0x6220, 0xd2a4, 0x0160, + 0x908a, 0x0040, 0x0610, 0x00c0, 0x2001, 0x1800, 0x200c, 0x9186, + 0x0003, 0x1168, 0x7004, 0x0002, 0x7757, 0x7731, 0x7757, 0x7755, + 0x7757, 0x7757, 0x7757, 0x7757, 0x7757, 0x080c, 0x77c2, 0x782c, + 0xd09c, 0x090c, 0x7c86, 0x0005, 0x9082, 0x005a, 0x1218, 0x2100, + 0x003b, 0x0c10, 0x080c, 0x77f8, 0x0c90, 0x00e3, 0x08e8, 0x0005, + 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, + 0x781a, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, + 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, + 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x7804, 0x77f8, 0x79ed, 0x77f8, + 0x77f8, 0x77f8, 0x781a, 0x77f8, 0x7804, 0x7a2e, 0x7a6f, 0x7ab6, + 0x7aca, 0x77f8, 0x77f8, 0x781a, 0x7804, 0x782e, 0x77f8, 0x78a6, + 0x7b75, 0x7b90, 0x77f8, 0x781a, 0x77f8, 0x782e, 0x77f8, 0x77f8, + 0x789c, 0x7b90, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, + 0x77f8, 0x77f8, 0x77f8, 0x7842, 0x77f8, 0x77f8, 0x77f8, 0x77f8, + 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x77f8, 0x7d0c, 0x77f8, 0x7cb6, + 0x77f8, 0x7cb6, 0x77f8, 0x7857, 0x77f8, 0x77f8, 0x77f8, 0x77f8, + 0x77f8, 0x77f8, 0x2079, 0x0040, 0x7004, 0x9086, 0x0003, 0x1198, + 0x782c, 0x080c, 0x7caf, 0xd0a4, 0x0170, 0x7824, 0x2048, 0x9006, + 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, 0x908a, 0x001a, 0x1210, + 0x002b, 0x0c50, 0x00e9, 0x080c, 0x7c86, 0x0005, 0x77f8, 0x7804, + 0x79d9, 0x77f8, 0x7804, 0x77f8, 0x7804, 0x7804, 0x77f8, 0x7804, + 0x79d9, 0x7804, 0x7804, 0x7804, 0x7804, 0x7804, 0x77f8, 0x7804, + 0x79d9, 0x77f8, 0x77f8, 0x7804, 0x77f8, 0x77f8, 0x77f8, 0x7804, + 0x00e6, 0x2071, 0x18fa, 0x2009, 0x0400, 0x0071, 0x00ee, 0x0005, + 0x2009, 0x1000, 0x0049, 0x0005, 0x2009, 0x2000, 0x0029, 0x0005, + 0x2009, 0x0800, 0x0009, 0x0005, 0x7007, 0x0001, 0xa868, 0x9084, + 0x00ff, 0x9105, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c94, + 0x012e, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0d08, 0x8001, + 0x1120, 0x7007, 0x0001, 0x0804, 0x797b, 0x7007, 0x0003, 0x7012, + 0x2900, 0x7016, 0x701a, 0x704b, 0x797b, 0x0005, 0xa864, 0x8007, + 0x9084, 0x00ff, 0x0968, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, + 0x7996, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, + 0x7996, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0904, 0x7800, + 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x79b2, 0x7007, 0x0003, + 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x79b2, 0x0005, 0xa864, + 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x7800, 0x7007, + 0x0001, 0x2009, 0x1834, 0x210c, 0x81ff, 0x11a8, 0xa868, 0x9084, + 0x00ff, 0xa86a, 0xa883, 0x0000, 0x080c, 0x62c1, 0x1108, 0x0005, + 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, 0xa87a, 0xa982, 0x080c, + 0x6c94, 0x012e, 0x0ca0, 0xa994, 0x9186, 0x0071, 0x0d38, 0x9186, + 0x0064, 0x0d20, 0x9186, 0x007c, 0x0d08, 0x9186, 0x0028, 0x09f0, + 0x9186, 0x0038, 0x09d8, 0x9186, 0x0078, 0x09c0, 0x9186, 0x005f, + 0x09a8, 0x9186, 0x0056, 0x0990, 0xa897, 0x4005, 0xa89b, 0x0001, + 0x2001, 0x0030, 0x900e, 0x08a0, 0xa87c, 0x9084, 0x00c0, 0x9086, + 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x7ba7, 0x2900, 0x7016, + 0x701a, 0x20a9, 0x0004, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0030, + 0x2098, 0x7050, 0x2040, 0xa060, 0x20e8, 0xa05c, 0x9080, 0x0023, + 0x20a0, 0x4003, 0xa888, 0x7012, 0x9082, 0x0401, 0x1a04, 0x7808, + 0xaab4, 0x928a, 0x0002, 0x1a04, 0x7808, 0x82ff, 0x1138, 0xa8b8, + 0xa9bc, 0x9105, 0x0118, 0x2001, 0x7939, 0x0018, 0x9280, 0x792f, + 0x2005, 0x7056, 0x7010, 0x9015, 0x0904, 0x791a, 0x080c, 0x1018, + 0x1118, 0x7007, 0x0004, 0x0005, 0x2900, 0x7022, 0x7054, 0x2060, + 0xe000, 0xa866, 0x7050, 0x2040, 0xa95c, 0xe004, 0x9100, 0xa076, + 0xa860, 0xa072, 0xe008, 0x920a, 0x1210, 0x900e, 0x2200, 0x7112, + 0xe20c, 0x8003, 0x800b, 0x9296, 0x0004, 0x0108, 0x9108, 0xa17a, + 0x810b, 0xa17e, 0x080c, 0x10e9, 0xa06c, 0x908e, 0x0100, 0x0170, + 0x9086, 0x0200, 0x0118, 0x7007, 0x0007, 0x0005, 0x7020, 0x2048, + 0x080c, 0x1031, 0x7014, 0x2048, 0x0804, 0x7808, 0x7020, 0x2048, + 0x7018, 0xa802, 0xa807, 0x0000, 0x2908, 0x2048, 0xa906, 0x711a, + 0x0804, 0x78d2, 0x7014, 0x2048, 0x7007, 0x0001, 0xa8b4, 0x9005, + 0x1128, 0xa8b8, 0xa9bc, 0x9105, 0x0108, 0x00b9, 0xa864, 0x9084, + 0x00ff, 0x9086, 0x001e, 0x0904, 0x7ba7, 0x0804, 0x797b, 0x7931, + 0x7935, 0x0002, 0x001d, 0x0007, 0x0004, 0x000a, 0x001b, 0x0005, + 0x0006, 0x000a, 0x001d, 0x0005, 0x0004, 0x0076, 0x0066, 0xafb8, + 0xaebc, 0xa804, 0x2050, 0xb0c0, 0xb0e2, 0xb0bc, 0xb0de, 0xb0b8, + 0xb0d2, 0xb0b4, 0xb0ce, 0xb6da, 0xb7d6, 0xb0b0, 0xb0ca, 0xb0ac, + 0xb0c6, 0xb0a8, 0xb0ba, 0xb0a4, 0xb0b6, 0xb6c2, 0xb7be, 0xb0a0, + 0xb0b2, 0xb09c, 0xb0ae, 0xb098, 0xb0a2, 0xb094, 0xb09e, 0xb6aa, + 0xb7a6, 0xb090, 0xb09a, 0xb08c, 0xb096, 0xb088, 0xb08a, 0xb084, + 0xb086, 0xb692, 0xb78e, 0xb080, 0xb082, 0xb07c, 0xb07e, 0xb078, + 0xb072, 0xb074, 0xb06e, 0xb67a, 0xb776, 0xb004, 0x9055, 0x1958, + 0x006e, 0x007e, 0x0005, 0x2009, 0x1834, 0x210c, 0x81ff, 0x1178, + 0x080c, 0x60c1, 0x1108, 0x0005, 0x080c, 0x6ec7, 0x0126, 0x2091, + 0x8000, 0x080c, 0xce4e, 0x080c, 0x6c94, 0x012e, 0x0ca0, 0x080c, + 0xd253, 0x1d70, 0x2001, 0x0028, 0x900e, 0x0c70, 0x2009, 0x1834, + 0x210c, 0x81ff, 0x1188, 0xa888, 0x9005, 0x0188, 0xa883, 0x0000, + 0x080c, 0x6151, 0x1108, 0x0005, 0xa87a, 0x0126, 0x2091, 0x8000, + 0x080c, 0x6c94, 0x012e, 0x0cb8, 0x2001, 0x0028, 0x0ca8, 0x2001, + 0x0000, 0x0c90, 0x2009, 0x1834, 0x210c, 0x81ff, 0x11d8, 0xa888, + 0x9005, 0x01e0, 0xa883, 0x0000, 0xa87c, 0xd0f4, 0x0120, 0x080c, + 0x6223, 0x1138, 0x0005, 0x9006, 0xa87a, 0x080c, 0x619e, 0x1108, + 0x0005, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, 0x080c, 0x6c94, + 0x012e, 0x0cb0, 0x2001, 0x0028, 0x900e, 0x0c98, 0x2001, 0x0000, + 0x0c80, 0x7018, 0xa802, 0x2908, 0x2048, 0xa906, 0x711a, 0x7010, + 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, 0x0030, 0x7014, 0x2048, + 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x00b6, 0x7007, 0x0001, + 0xa974, 0xa878, 0x9084, 0x00ff, 0x9096, 0x0004, 0x0540, 0x20a9, + 0x0001, 0x9096, 0x0001, 0x0190, 0x900e, 0x20a9, 0x0800, 0x9096, + 0x0002, 0x0160, 0x9005, 0x11d8, 0xa974, 0x080c, 0x6616, 0x11b8, + 0x0066, 0xae80, 0x080c, 0x6726, 0x006e, 0x0088, 0x0046, 0x2011, + 0x180c, 0x2224, 0xc484, 0x2412, 0x004e, 0x00c6, 0x080c, 0x6616, + 0x1110, 0x080c, 0x6826, 0x8108, 0x1f04, 0x7a16, 0x00ce, 0xa87c, + 0xd084, 0x1120, 0x080c, 0x1031, 0x00be, 0x0005, 0x0126, 0x2091, + 0x8000, 0x080c, 0x6c94, 0x012e, 0x00be, 0x0005, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x080c, 0x6985, 0x0580, 0x2061, 0x1a70, + 0x6100, 0xd184, 0x0178, 0xa888, 0x9084, 0x00ff, 0x1550, 0x6000, + 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, 0x6003, 0x0000, 0x600b, + 0x0000, 0x00c8, 0x2011, 0x0001, 0xa890, 0x9005, 0x1110, 0x2001, + 0x001e, 0x8000, 0x6016, 0xa888, 0x9084, 0x00ff, 0x0178, 0x6006, + 0xa888, 0x8007, 0x9084, 0x00ff, 0x0148, 0x600a, 0xa888, 0x8000, + 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, 0x7c70, 0x012e, 0x0804, + 0x7c6a, 0x012e, 0x0804, 0x7c64, 0x012e, 0x0804, 0x7c67, 0x0126, + 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6985, 0x05e0, 0x2061, + 0x1a70, 0x6000, 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, + 0xac78, 0x9484, 0x0003, 0x0170, 0xa988, 0x918c, 0x00ff, 0x8001, + 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, + 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, 0xa988, 0x810f, 0x918c, + 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, 0x9318, 0x0288, 0x0030, + 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, 0x0250, 0xa890, 0x9005, + 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, 0x7c70, + 0x012e, 0x0804, 0x7c6d, 0x012e, 0x0804, 0x7c6a, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x2061, 0x1a70, 0x6300, 0xd38c, 0x1120, + 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, 0x0804, 0x7c7e, 0x012e, + 0x0804, 0x7c6d, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, + 0x0001, 0xa87c, 0xd0ac, 0x0148, 0x00c6, 0x2061, 0x1a70, 0x6000, + 0x9084, 0xfcff, 0x6002, 0x00ce, 0x0440, 0xa888, 0x9005, 0x05d8, + 0xa88c, 0x9065, 0x0598, 0x2001, 0x1834, 0x2004, 0x9005, 0x0118, + 0x080c, 0xae90, 0x0068, 0x6017, 0xf400, 0x605b, 0x0000, 0xa97c, + 0xd1a4, 0x0110, 0xa980, 0x615a, 0x2009, 0x0041, 0x080c, 0xaeda, + 0xa988, 0x918c, 0xff00, 0x9186, 0x2000, 0x1138, 0x0026, 0x900e, + 0x2011, 0xfdff, 0x080c, 0x86e3, 0x002e, 0xa87c, 0xd0c4, 0x0148, + 0x2061, 0x1a70, 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, + 0x600a, 0x00ce, 0x012e, 0x00be, 0x0804, 0x7c70, 0x00ce, 0x012e, + 0x00be, 0x0804, 0x7c6a, 0xa984, 0x9186, 0x002e, 0x0d30, 0x9186, + 0x002d, 0x0d18, 0x9186, 0x0045, 0x0510, 0x9186, 0x002a, 0x1130, + 0x2001, 0x180c, 0x200c, 0xc194, 0x2102, 0x08b8, 0x9186, 0x0020, + 0x0158, 0x9186, 0x0029, 0x1d10, 0xa974, 0x080c, 0x6616, 0x1968, + 0xb800, 0xc0e4, 0xb802, 0x0848, 0xa88c, 0x9065, 0x09b8, 0x6007, + 0x0024, 0x2001, 0x1985, 0x2004, 0x601a, 0x0804, 0x7b05, 0xa88c, + 0x9065, 0x0960, 0x00e6, 0xa890, 0x9075, 0x2001, 0x1834, 0x2004, + 0x9005, 0x0150, 0x080c, 0xae90, 0x8eff, 0x0118, 0x2e60, 0x080c, + 0xae90, 0x00ee, 0x0804, 0x7b05, 0x6024, 0xc0dc, 0xc0d5, 0x6026, + 0x2e60, 0x6007, 0x003a, 0xa8a0, 0x9005, 0x0130, 0x6007, 0x003b, + 0xa8a4, 0x602e, 0xa8a8, 0x6016, 0x6003, 0x0001, 0x080c, 0x90f8, + 0x080c, 0x96a6, 0x00ee, 0x0804, 0x7b05, 0x2061, 0x1a70, 0x6000, + 0xd084, 0x0190, 0xd08c, 0x1904, 0x7c7e, 0x0126, 0x2091, 0x8000, + 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x7c7e, 0x012e, + 0xa883, 0x0016, 0x0804, 0x7c77, 0xa883, 0x0007, 0x0804, 0x7c77, + 0xa864, 0x8007, 0x9084, 0x00ff, 0x0130, 0x8001, 0x1138, 0x7007, + 0x0001, 0x0069, 0x0005, 0x080c, 0x7800, 0x0040, 0x7007, 0x0003, + 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x7ba7, 0x0005, 0x00b6, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, 0x2061, 0x1800, 0x61d0, + 0x81ff, 0x1904, 0x7c29, 0x6130, 0xd194, 0x1904, 0x7c53, 0xa878, + 0x2070, 0x9e82, 0x1cd0, 0x0a04, 0x7c1d, 0x6068, 0x9e02, 0x1a04, + 0x7c1d, 0x7120, 0x9186, 0x0006, 0x1904, 0x7c0f, 0x7010, 0x905d, + 0x0904, 0x7c29, 0xb800, 0xd0e4, 0x1904, 0x7c4d, 0x2061, 0x1a70, + 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, 0x15a0, 0x7024, 0xd0dc, + 0x1904, 0x7c56, 0xa883, 0x0000, 0xa803, 0x0000, 0x2908, 0x7014, + 0x9005, 0x1198, 0x7116, 0xa87c, 0xd0f4, 0x1904, 0x7c59, 0x080c, + 0x56e2, 0xd09c, 0x1118, 0xa87c, 0xc0cc, 0xa87e, 0x2e60, 0x080c, + 0x8603, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2048, 0xa800, 0x9005, + 0x1de0, 0xa902, 0x2148, 0xa87c, 0xd0f4, 0x1904, 0x7c59, 0x012e, + 0x00ee, 0x00be, 0x0005, 0x012e, 0x00ee, 0xa883, 0x0006, 0x00be, + 0x0804, 0x7c77, 0xd184, 0x0db8, 0xd1c4, 0x1190, 0x00a0, 0xa974, + 0x080c, 0x6616, 0x15d0, 0xb800, 0xd0e4, 0x15b8, 0x7120, 0x9186, + 0x0007, 0x1118, 0xa883, 0x0002, 0x0490, 0xa883, 0x0008, 0x0478, + 0xa883, 0x000e, 0x0460, 0xa883, 0x0017, 0x0448, 0xa883, 0x0035, + 0x0430, 0x080c, 0x56e6, 0xd0fc, 0x01e8, 0xa878, 0x2070, 0x9e82, + 0x1cd0, 0x02c0, 0x6068, 0x9e02, 0x12a8, 0x7120, 0x9186, 0x0006, + 0x1188, 0x7010, 0x905d, 0x0170, 0xb800, 0xd0bc, 0x0158, 0x2039, + 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, 0x7bb3, 0x7003, 0x0002, + 0x0804, 0x7bb3, 0xa883, 0x0028, 0x0010, 0xa883, 0x0029, 0x012e, + 0x00ee, 0x00be, 0x0420, 0xa883, 0x002a, 0x0cc8, 0xa883, 0x0045, + 0x0cb0, 0x2e60, 0x2019, 0x0002, 0x601b, 0x0014, 0x080c, 0xe16f, + 0x012e, 0x00ee, 0x00be, 0x0005, 0x2009, 0x003e, 0x0058, 0x2009, + 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, 0x2009, 0x0016, 0x0010, + 0x2009, 0x0001, 0xa884, 0x9084, 0xff00, 0x9105, 0xa886, 0x0126, + 0x2091, 0x8000, 0x080c, 0x6c94, 0x012e, 0x0005, 0x080c, 0x1031, + 0x0005, 0x00d6, 0x080c, 0x85fa, 0x00de, 0x0005, 0x00d6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, 0x702c, 0xd084, 0x01d8, + 0x908c, 0x0780, 0x190c, 0x7d68, 0xd09c, 0x11a8, 0x2071, 0x1800, + 0x70c0, 0x90ea, 0x0020, 0x0278, 0x8001, 0x70c2, 0x702c, 0x2048, + 0xa800, 0x702e, 0x9006, 0xa802, 0xa806, 0x2071, 0x0040, 0x2900, + 0x7022, 0x702c, 0x0c28, 0x012e, 0x00ee, 0x00de, 0x0005, 0x0006, + 0x9084, 0x0780, 0x190c, 0x7d68, 0x000e, 0x0005, 0xa898, 0x9084, + 0x0003, 0x05a8, 0x080c, 0xae09, 0x05d8, 0x2900, 0x6016, 0xa864, + 0x9084, 0x00ff, 0x9086, 0x0035, 0x1138, 0x6008, 0xc0fd, 0x600a, + 0x2001, 0x196a, 0x2004, 0x0098, 0xa8a0, 0x9084, 0x00ff, 0xa99c, + 0x918c, 0xff00, 0x9105, 0xa99c, 0x918c, 0x00ff, 0x080c, 0x284b, + 0x1540, 0x00b6, 0x080c, 0x6616, 0x2b00, 0x00be, 0x1510, 0x6012, + 0x6023, 0x0001, 0x2009, 0x0040, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x0035, 0x0110, 0x2009, 0x0041, 0x080c, 0xaeda, 0x0005, 0xa87b, + 0x0101, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c94, 0x012e, 0x0005, + 0xa87b, 0x002c, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c94, 0x012e, + 0x0005, 0xa87b, 0x0028, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c94, + 0x012e, 0x080c, 0xae5f, 0x0005, 0x00d6, 0x00c6, 0x0036, 0x0026, + 0x0016, 0x00b6, 0x7007, 0x0001, 0xaa74, 0x9282, 0x0004, 0x1a04, + 0x7d59, 0xa97c, 0x9188, 0x1000, 0x2104, 0x905d, 0xb804, 0xd284, + 0x0140, 0x05e8, 0x8007, 0x9084, 0x00ff, 0x9084, 0x0006, 0x1108, + 0x04b0, 0x2b10, 0x080c, 0xae09, 0x1118, 0x080c, 0xaead, 0x05a8, + 0x6212, 0xa874, 0x0002, 0x7d37, 0x7d3c, 0x7d3f, 0x7d45, 0x2019, + 0x0002, 0x080c, 0xe55d, 0x0060, 0x080c, 0xe4f9, 0x0048, 0x2019, + 0x0002, 0xa980, 0x080c, 0xe514, 0x0018, 0xa980, 0x080c, 0xe4f9, + 0x080c, 0xae5f, 0xa887, 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, + 0x6c94, 0x012e, 0x00be, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00de, + 0x0005, 0xa887, 0x0006, 0x0c80, 0xa887, 0x0002, 0x0c68, 0xa887, + 0x0005, 0x0c50, 0xa887, 0x0004, 0x0c38, 0xa887, 0x0007, 0x0c20, + 0x2091, 0x8000, 0x0e04, 0x7d6a, 0x0006, 0x0016, 0x2001, 0x8003, + 0x0006, 0x0804, 0x0dde, 0x2001, 0x1834, 0x2004, 0x9005, 0x0005, + 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, 0x0200, 0x200c, 0xc1e5, + 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, 0xd1ec, 0x1120, 0x080c, + 0x157f, 0x00fe, 0x0005, 0x2001, 0x020d, 0x2003, 0x0020, 0x781f, + 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, 0x0904, 0x7dea, 0x68c0, + 0x90aa, 0x0005, 0x0a04, 0x8411, 0x7d44, 0x7c40, 0x9584, 0x00f6, + 0x1510, 0x9484, 0x7000, 0x0140, 0x908a, 0x2000, 0x1260, 0x9584, + 0x0700, 0x8007, 0x0804, 0x7df1, 0x7000, 0x9084, 0xff00, 0x9086, + 0x8100, 0x0da8, 0x00b0, 0x9484, 0x0fff, 0x1130, 0x7000, 0x9084, + 0xff00, 0x9086, 0x8100, 0x11c0, 0x080c, 0xe9fc, 0x080c, 0x82f6, + 0x7817, 0x0140, 0x00a8, 0x9584, 0x0076, 0x1118, 0x080c, 0x8354, + 0x19c0, 0xd5a4, 0x0148, 0x0046, 0x0056, 0x080c, 0x7e4c, 0x080c, + 0x2344, 0x005e, 0x004e, 0x0020, 0x080c, 0xe9fc, 0x7817, 0x0140, + 0x080c, 0x73b3, 0x0168, 0x2001, 0x0111, 0x2004, 0xd08c, 0x0140, + 0x6893, 0x0000, 0x2001, 0x0110, 0x2003, 0x0008, 0x2003, 0x0000, + 0x080c, 0x7e2d, 0x2001, 0x19ef, 0x2004, 0x9005, 0x090c, 0x96a6, + 0x0005, 0x0002, 0x7e03, 0x8118, 0x7dfa, 0x7dfa, 0x7dfa, 0x7dfa, + 0x7dfa, 0x7dfa, 0x7817, 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, + 0x090c, 0x96a6, 0x0005, 0x7000, 0x908c, 0xff00, 0x9194, 0xf000, + 0x810f, 0x9484, 0x0fff, 0x6892, 0x9286, 0x2000, 0x1150, 0x6800, + 0x9086, 0x0001, 0x1118, 0x080c, 0x5743, 0x0070, 0x080c, 0x7e6c, + 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, 0x8053, 0x0028, 0x9286, + 0x8000, 0x1110, 0x080c, 0x8226, 0x7817, 0x0140, 0x2001, 0x19ef, + 0x2004, 0x9005, 0x090c, 0x96a6, 0x0005, 0x2001, 0x1810, 0x2004, + 0xd08c, 0x0178, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1148, + 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, 0x4b1e, 0x003e, + 0x002e, 0x0005, 0x0036, 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, + 0x2019, 0xfffe, 0x7c30, 0x0050, 0x0036, 0x0046, 0x0056, 0x00f6, + 0x2079, 0x0200, 0x7d44, 0x7c40, 0x2019, 0xffff, 0x2001, 0x1810, + 0x2004, 0xd08c, 0x0160, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, + 0x1130, 0x0026, 0x2011, 0x8048, 0x080c, 0x4b1e, 0x002e, 0x00fe, + 0x005e, 0x004e, 0x003e, 0x0005, 0x00b6, 0x00c6, 0x7010, 0x9084, + 0xff00, 0x8007, 0x9096, 0x0001, 0x0120, 0x9096, 0x0023, 0x1904, + 0x8024, 0x9186, 0x0023, 0x15c0, 0x080c, 0x82bb, 0x0904, 0x8024, + 0x6120, 0x9186, 0x0001, 0x0150, 0x9186, 0x0004, 0x0138, 0x9186, + 0x0008, 0x0120, 0x9186, 0x000a, 0x1904, 0x8024, 0x7124, 0x610a, + 0x7030, 0x908e, 0x0200, 0x1130, 0x2009, 0x0015, 0x080c, 0xaeda, + 0x0804, 0x8024, 0x908e, 0x0214, 0x0118, 0x908e, 0x0210, 0x1130, + 0x2009, 0x0015, 0x080c, 0xaeda, 0x0804, 0x8024, 0x908e, 0x0100, + 0x1904, 0x8024, 0x7034, 0x9005, 0x1904, 0x8024, 0x2009, 0x0016, + 0x080c, 0xaeda, 0x0804, 0x8024, 0x9186, 0x0022, 0x1904, 0x8024, + 0x7030, 0x908e, 0x0300, 0x1580, 0x68dc, 0xd0a4, 0x0528, 0xc0b5, + 0x68de, 0x7100, 0x918c, 0x00ff, 0x697e, 0x7004, 0x6882, 0x00f6, + 0x2079, 0x0100, 0x79e6, 0x78ea, 0x0006, 0x9084, 0x00ff, 0x0016, + 0x2008, 0x080c, 0x2894, 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, + 0x080c, 0x284b, 0x695e, 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, + 0x2071, 0x1800, 0x70b6, 0x00ee, 0x7034, 0x9005, 0x1904, 0x8024, + 0x2009, 0x0017, 0x0804, 0x7fd4, 0x908e, 0x0400, 0x1190, 0x7034, + 0x9005, 0x1904, 0x8024, 0x080c, 0x73b3, 0x0120, 0x2009, 0x001d, + 0x0804, 0x7fd4, 0x68dc, 0xc0a5, 0x68de, 0x2009, 0x0030, 0x0804, + 0x7fd4, 0x908e, 0x0500, 0x1140, 0x7034, 0x9005, 0x1904, 0x8024, + 0x2009, 0x0018, 0x0804, 0x7fd4, 0x908e, 0x2010, 0x1120, 0x2009, + 0x0019, 0x0804, 0x7fd4, 0x908e, 0x2110, 0x1120, 0x2009, 0x001a, + 0x0804, 0x7fd4, 0x908e, 0x5200, 0x1140, 0x7034, 0x9005, 0x1904, + 0x8024, 0x2009, 0x001b, 0x0804, 0x7fd4, 0x908e, 0x5000, 0x1140, + 0x7034, 0x9005, 0x1904, 0x8024, 0x2009, 0x001c, 0x0804, 0x7fd4, + 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x7fd4, 0x908e, + 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, 0x8024, 0x2009, 0x0024, + 0x0804, 0x7fd4, 0x908c, 0xff00, 0x918e, 0x2400, 0x1170, 0x2009, + 0x002d, 0x2001, 0x1810, 0x2004, 0xd09c, 0x0904, 0x7fd4, 0x080c, + 0xd934, 0x1904, 0x8024, 0x0804, 0x7fd2, 0x908c, 0xff00, 0x918e, + 0x5300, 0x1120, 0x2009, 0x002a, 0x0804, 0x7fd4, 0x908e, 0x0f00, + 0x1120, 0x2009, 0x0020, 0x0804, 0x7fd4, 0x908e, 0x6104, 0x1530, + 0x2029, 0x0205, 0x2011, 0x026d, 0x8208, 0x2204, 0x9082, 0x0004, + 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, 0x211c, 0x8108, 0x0046, + 0x2124, 0x080c, 0x4b1e, 0x004e, 0x8108, 0x0f04, 0x7f88, 0x9186, + 0x0280, 0x1d88, 0x2504, 0x8000, 0x202a, 0x2009, 0x0260, 0x0c58, + 0x202b, 0x0000, 0x2009, 0x0023, 0x0804, 0x7fd4, 0x908e, 0x6000, + 0x1120, 0x2009, 0x003f, 0x0804, 0x7fd4, 0x908e, 0x5400, 0x1138, + 0x080c, 0x83c1, 0x1904, 0x8024, 0x2009, 0x0046, 0x04a8, 0x908e, + 0x5500, 0x1148, 0x080c, 0x83e9, 0x1118, 0x2009, 0x0041, 0x0460, + 0x2009, 0x0042, 0x0448, 0x908e, 0x7800, 0x1118, 0x2009, 0x0045, + 0x0418, 0x908e, 0x1000, 0x1118, 0x2009, 0x004e, 0x00e8, 0x908e, + 0x6300, 0x1118, 0x2009, 0x004a, 0x00b8, 0x908c, 0xff00, 0x918e, + 0x5600, 0x1118, 0x2009, 0x004f, 0x0078, 0x908c, 0xff00, 0x918e, + 0x5700, 0x1118, 0x2009, 0x0050, 0x0038, 0x2009, 0x001d, 0x6838, + 0xd0d4, 0x0110, 0x2009, 0x004c, 0x0016, 0x2011, 0x0263, 0x2204, + 0x8211, 0x220c, 0x080c, 0x284b, 0x1904, 0x8027, 0x080c, 0x65b5, + 0x1904, 0x8027, 0xbe12, 0xbd16, 0x001e, 0x0016, 0x080c, 0x73b3, + 0x01c0, 0x68dc, 0xd08c, 0x1148, 0x7000, 0x9084, 0x00ff, 0x1188, + 0x7004, 0x9084, 0xff00, 0x1168, 0x0040, 0x687c, 0x9606, 0x1148, + 0x6880, 0x9506, 0x9084, 0xff00, 0x1120, 0x9584, 0x00ff, 0xb8c2, + 0x0080, 0xb8c0, 0x9005, 0x1168, 0x9186, 0x0046, 0x1150, 0x687c, + 0x9606, 0x1138, 0x6880, 0x9506, 0x9084, 0xff00, 0x1110, 0x001e, + 0x0098, 0x080c, 0xae09, 0x01a8, 0x2b08, 0x6112, 0x6023, 0x0004, + 0x7120, 0x610a, 0x001e, 0x9186, 0x004c, 0x1110, 0x6023, 0x000a, + 0x0016, 0x001e, 0x080c, 0xaeda, 0x00ce, 0x00be, 0x0005, 0x001e, + 0x0cd8, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, + 0x080c, 0x4b1e, 0x080c, 0xaead, 0x0d90, 0x2b08, 0x6112, 0x6023, + 0x0004, 0x7120, 0x610a, 0x001e, 0x0016, 0x9186, 0x0017, 0x0118, + 0x9186, 0x0030, 0x1128, 0x6007, 0x0009, 0x6017, 0x2900, 0x0020, + 0x6007, 0x0051, 0x6017, 0x0000, 0x602f, 0x0009, 0x6003, 0x0001, + 0x080c, 0x9140, 0x08a0, 0x080c, 0x32f0, 0x1140, 0x7010, 0x9084, + 0xff00, 0x8007, 0x908e, 0x0008, 0x1108, 0x0009, 0x0005, 0x00b6, + 0x00c6, 0x0046, 0x7000, 0x908c, 0xff00, 0x810f, 0x9186, 0x0033, + 0x11e8, 0x080c, 0x82bb, 0x0904, 0x80b0, 0x7124, 0x610a, 0x7030, + 0x908e, 0x0200, 0x1140, 0x7034, 0x9005, 0x15d0, 0x2009, 0x0015, + 0x080c, 0xaeda, 0x04a8, 0x908e, 0x0100, 0x1590, 0x7034, 0x9005, + 0x1578, 0x2009, 0x0016, 0x080c, 0xaeda, 0x0450, 0x9186, 0x0032, + 0x1538, 0x7030, 0x908e, 0x1400, 0x1518, 0x2009, 0x0038, 0x0016, + 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x284b, 0x11b8, + 0x080c, 0x65b5, 0x11a0, 0xbe12, 0xbd16, 0x080c, 0xae09, 0x0178, + 0x2b08, 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0004, 0x7120, 0x610a, + 0x001e, 0x080c, 0xaeda, 0x080c, 0x96a6, 0x0010, 0x00ce, 0x001e, + 0x004e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x0046, 0x00e6, 0x00d6, + 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b8, 0x9592, 0xfffc, 0x02a0, + 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, 0x0804, 0x8112, 0x9596, + 0xfffe, 0x1120, 0x2009, 0x007e, 0x0804, 0x8112, 0x9596, 0xfffc, + 0x1118, 0x2009, 0x0080, 0x04f0, 0x2011, 0x0000, 0x2019, 0x1837, + 0x231c, 0xd3ac, 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, + 0x0030, 0x2021, 0x0081, 0x20a9, 0x077f, 0x2071, 0x1081, 0x2e1c, + 0x93dd, 0x0000, 0x1140, 0x82ff, 0x11d0, 0x9496, 0x00ff, 0x01b8, + 0x2410, 0xc2fd, 0x00a0, 0xbf10, 0x2600, 0x9706, 0xb814, 0x1120, + 0x9546, 0x1110, 0x2408, 0x00b0, 0x9745, 0x1148, 0x94c6, 0x007e, + 0x0130, 0x94c6, 0x007f, 0x0118, 0x94c6, 0x0080, 0x1d20, 0x8420, + 0x8e70, 0x1f04, 0x80e7, 0x82ff, 0x1118, 0x9085, 0x0001, 0x0018, + 0xc2fc, 0x2208, 0x9006, 0x00de, 0x00ee, 0x004e, 0x00be, 0x0005, + 0x7000, 0x908c, 0xff00, 0x810f, 0x9184, 0x000f, 0x0002, 0x812f, + 0x812f, 0x812f, 0x82cd, 0x812f, 0x8138, 0x8163, 0x81f1, 0x812f, + 0x812f, 0x812f, 0x812f, 0x812f, 0x812f, 0x812f, 0x812f, 0x7817, + 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, 0x090c, 0x96a6, 0x0005, + 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7120, 0x2160, 0x9c8c, 0x0007, + 0x11c0, 0x9c8a, 0x1cd0, 0x02a8, 0x6868, 0x9c02, 0x1290, 0x7008, + 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1150, 0x700c, + 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, 0x0046, 0x080c, + 0xaeda, 0x7817, 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, 0x090c, + 0x96a6, 0x00be, 0x0005, 0x00b6, 0x00c6, 0x9484, 0x0fff, 0x0904, + 0x81c7, 0x7110, 0xd1bc, 0x1904, 0x81c7, 0x7108, 0x700c, 0x2028, + 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x15b0, 0x81ff, 0x15a0, + 0x9080, 0x3332, 0x200d, 0x918c, 0xff00, 0x810f, 0x2001, 0x0080, + 0x9106, 0x0904, 0x81c7, 0x080c, 0x65b5, 0x1904, 0x81c7, 0xbe12, + 0xbd16, 0xb800, 0xd0ec, 0x15d8, 0xba04, 0x9294, 0xff00, 0x9286, + 0x0600, 0x11a0, 0x080c, 0xae09, 0x05e8, 0x2b08, 0x7028, 0x604a, + 0x702c, 0x6046, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, + 0x6156, 0x2009, 0x0044, 0x080c, 0xdb94, 0x0408, 0x080c, 0x6989, + 0x1138, 0xb807, 0x0606, 0x0c30, 0x190c, 0x80b4, 0x11c0, 0x0898, + 0x080c, 0xae09, 0x2b08, 0x0198, 0x6112, 0x6023, 0x0004, 0x7120, + 0x610a, 0x9286, 0x0400, 0x1118, 0x6007, 0x0005, 0x0010, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, 0x96a6, 0x7817, + 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, 0x090c, 0x96a6, 0x00ce, + 0x00be, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, + 0x8049, 0x080c, 0x4b1e, 0x080c, 0xaead, 0x0d48, 0x2b08, 0x6112, + 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x6156, 0x6017, 0xf300, + 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x90f8, 0x080c, 0x96a6, + 0x08b0, 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7020, 0x2060, 0x9c84, + 0x0007, 0x11c0, 0x9c82, 0x1cd0, 0x02a8, 0x6868, 0x9c02, 0x1290, + 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1150, + 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, 0x0045, + 0x080c, 0xaeda, 0x7817, 0x0140, 0x2001, 0x19ef, 0x2004, 0x9005, + 0x090c, 0x96a6, 0x00be, 0x0005, 0x6120, 0x9186, 0x0002, 0x0128, + 0x9186, 0x0005, 0x0110, 0x9085, 0x0001, 0x0005, 0x080c, 0x32f0, + 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, 0x9086, 0x0000, 0x1130, + 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, 0x000b, 0x0005, 0x823d, + 0x823e, 0x823d, 0x823d, 0x829d, 0x82ac, 0x0005, 0x00b6, 0x7110, + 0xd1bc, 0x0120, 0x702c, 0xd084, 0x0904, 0x829b, 0x700c, 0x7108, + 0x080c, 0x284b, 0x1904, 0x829b, 0x080c, 0x65b5, 0x1904, 0x829b, + 0xbe12, 0xbd16, 0x7110, 0xd1bc, 0x01d8, 0x080c, 0x6989, 0x0118, + 0x9086, 0x0004, 0x1588, 0x00c6, 0x080c, 0x82bb, 0x00ce, 0x05d8, + 0x080c, 0xae09, 0x2b08, 0x05b8, 0x6112, 0x080c, 0xcfd4, 0x6023, + 0x0002, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0xaeda, 0x0458, + 0x080c, 0x6989, 0x0148, 0x9086, 0x0004, 0x0130, 0x080c, 0x6991, + 0x0118, 0x9086, 0x0004, 0x1180, 0x080c, 0xae09, 0x2b08, 0x01d8, + 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0005, 0x7120, 0x610a, 0x2009, + 0x0088, 0x080c, 0xaeda, 0x0078, 0x080c, 0xae09, 0x2b08, 0x0158, + 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0004, 0x7120, 0x610a, 0x2009, + 0x0001, 0x080c, 0xaeda, 0x00be, 0x0005, 0x7110, 0xd1bc, 0x0158, + 0x00d1, 0x0148, 0x080c, 0x821c, 0x1130, 0x7124, 0x610a, 0x2009, + 0x0089, 0x080c, 0xaeda, 0x0005, 0x7110, 0xd1bc, 0x0158, 0x0059, + 0x0148, 0x080c, 0x821c, 0x1130, 0x7124, 0x610a, 0x2009, 0x008a, + 0x080c, 0xaeda, 0x0005, 0x7020, 0x2060, 0x9c84, 0x0007, 0x1158, + 0x9c82, 0x1cd0, 0x0240, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1218, + 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, 0x00b6, 0x7110, 0xd1bc, + 0x11d8, 0x7024, 0x2060, 0x9c84, 0x0007, 0x11b0, 0x9c82, 0x1cd0, + 0x0298, 0x6868, 0x9c02, 0x1280, 0x7008, 0x9084, 0x00ff, 0x6110, + 0x2158, 0xb910, 0x9106, 0x1140, 0x700c, 0xb914, 0x9106, 0x1120, + 0x2009, 0x0051, 0x080c, 0xaeda, 0x7817, 0x0140, 0x2001, 0x19ef, + 0x2004, 0x9005, 0x090c, 0x96a6, 0x00be, 0x0005, 0x2031, 0x0105, + 0x0069, 0x0005, 0x2031, 0x0206, 0x0049, 0x0005, 0x2031, 0x0207, + 0x0029, 0x0005, 0x2031, 0x0213, 0x0009, 0x0005, 0x00c6, 0x0096, + 0x00f6, 0x7000, 0x9084, 0xf000, 0x9086, 0xc000, 0x05d0, 0x080c, + 0xae09, 0x05b8, 0x0066, 0x00c6, 0x0046, 0x2011, 0x0263, 0x2204, + 0x8211, 0x220c, 0x080c, 0x284b, 0x15a0, 0x080c, 0x65b5, 0x1588, + 0xbe12, 0xbd16, 0x2b00, 0x004e, 0x00ce, 0x6012, 0x080c, 0xcfd4, + 0x080c, 0x0fff, 0x0510, 0x2900, 0x605a, 0x9006, 0xa802, 0xa866, + 0xac6a, 0xa85c, 0x90f8, 0x001b, 0x20a9, 0x000e, 0xa860, 0x20e8, + 0x20e1, 0x0000, 0x2fa0, 0x2e98, 0x4003, 0x006e, 0x6616, 0x6007, + 0x003e, 0x6023, 0x0001, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, + 0x96a6, 0x00fe, 0x009e, 0x00ce, 0x0005, 0x080c, 0xae5f, 0x006e, + 0x0cc0, 0x004e, 0x00ce, 0x0cc8, 0x00c6, 0x7000, 0x908c, 0xff00, + 0x9184, 0xf000, 0x810f, 0x9086, 0x2000, 0x1904, 0x83ab, 0x9186, + 0x0022, 0x15f0, 0x2001, 0x0111, 0x2004, 0x9005, 0x1904, 0x83ad, + 0x7030, 0x908e, 0x0400, 0x0904, 0x83ad, 0x908e, 0x6000, 0x05e8, + 0x908e, 0x5400, 0x05d0, 0x908e, 0x0300, 0x11d8, 0x2009, 0x1837, + 0x210c, 0xd18c, 0x1590, 0xd1a4, 0x1580, 0x080c, 0x6947, 0x0588, + 0x68b0, 0x9084, 0x00ff, 0x7100, 0x918c, 0x00ff, 0x9106, 0x1518, + 0x6880, 0x69b0, 0x918c, 0xff00, 0x9105, 0x7104, 0x9106, 0x11d8, + 0x00e0, 0x2009, 0x0103, 0x210c, 0xd1b4, 0x11a8, 0x908e, 0x5200, + 0x09e8, 0x908e, 0x0500, 0x09d0, 0x908e, 0x5000, 0x09b8, 0x0058, + 0x9186, 0x0023, 0x1140, 0x080c, 0x82bb, 0x0128, 0x6004, 0x9086, + 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, + 0x0005, 0x7030, 0x908e, 0x0300, 0x0118, 0x908e, 0x5200, 0x1d98, + 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, 0x9086, 0x0008, 0x0d68, + 0x0c50, 0x0156, 0x0046, 0x0016, 0x0036, 0x7038, 0x2020, 0x8427, + 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1805, + 0x2011, 0x027a, 0x080c, 0xbe19, 0x1178, 0xd48c, 0x0148, 0x20a9, + 0x0004, 0x2019, 0x1801, 0x2011, 0x027e, 0x080c, 0xbe19, 0x1120, + 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, 0x001e, 0x004e, 0x015e, + 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, 0x7038, 0x2020, 0x8427, + 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1805, + 0x2011, 0x0272, 0x080c, 0xbe19, 0x1178, 0xd48c, 0x0148, 0x20a9, + 0x0004, 0x2019, 0x1801, 0x2011, 0x0276, 0x080c, 0xbe19, 0x1120, + 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, 0x001e, 0x004e, 0x015e, + 0x0005, 0x00f6, 0x2079, 0x0200, 0x7800, 0xc0e5, 0xc0cc, 0x7802, + 0x00fe, 0x0005, 0x00f6, 0x2079, 0x1800, 0x7834, 0xd084, 0x1130, + 0x2079, 0x0200, 0x7800, 0x9085, 0x1200, 0x7802, 0x00fe, 0x0005, + 0x00e6, 0x2071, 0x1800, 0x7034, 0xc084, 0x7036, 0x00ee, 0x0005, + 0x2071, 0x19f9, 0x7003, 0x0003, 0x700f, 0x0361, 0x9006, 0x701a, + 0x7072, 0x7012, 0x7017, 0x1cd0, 0x7007, 0x0000, 0x7026, 0x702b, + 0xa2a5, 0x7032, 0x7037, 0xa30d, 0x703f, 0xffff, 0x7042, 0x7047, + 0x5581, 0x704a, 0x705b, 0x859a, 0x080c, 0x1018, 0x090c, 0x0dd5, + 0x2900, 0x703a, 0xa867, 0x0003, 0xa86f, 0x0100, 0xa8ab, 0xdcb0, + 0x0005, 0x2071, 0x19f9, 0x1d04, 0x84e8, 0x2091, 0x6000, 0x700c, + 0x8001, 0x700e, 0x1530, 0x2001, 0x013c, 0x2004, 0x9005, 0x190c, + 0x85df, 0x2001, 0x1869, 0x2004, 0xd0c4, 0x0158, 0x3a00, 0xd08c, + 0x1140, 0x20d1, 0x0000, 0x20d1, 0x0001, 0x20d1, 0x0000, 0x080c, + 0x0dd5, 0x700f, 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, 0x8000, + 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, 0x1130, 0x7044, 0x080f, + 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, 0x900d, 0x0188, 0x7020, + 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, 0x7126, 0x9186, + 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, 0x7028, 0x080f, + 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, 0x702e, 0x1160, 0x702f, + 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, 0x007f, 0x090c, 0xa42a, + 0x0010, 0x7034, 0x080f, 0x703c, 0x9005, 0x0118, 0x0310, 0x8001, + 0x703e, 0x704c, 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, + 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, + 0x080f, 0x7018, 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, 0x0158, + 0x706c, 0x8001, 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, 0x7172, + 0x1110, 0x7074, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, + 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, + 0x7004, 0x0002, 0x8510, 0x8511, 0x852d, 0x00e6, 0x2071, 0x19f9, + 0x7018, 0x9005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, + 0x0005, 0x00e6, 0x0006, 0x2071, 0x19f9, 0x701c, 0x9206, 0x1120, + 0x701a, 0x701e, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0x19f9, 0xb888, 0x9102, 0x0208, 0xb98a, 0x00ee, 0x0005, + 0x0005, 0x00b6, 0x7110, 0x080c, 0x6616, 0x1168, 0xb888, 0x8001, + 0x0250, 0xb88a, 0x1140, 0x0126, 0x2091, 0x8000, 0x0016, 0x080c, + 0x96a6, 0x001e, 0x012e, 0x8108, 0x9182, 0x0800, 0x0218, 0x900e, + 0x7007, 0x0002, 0x7112, 0x00be, 0x0005, 0x7014, 0x2060, 0x0126, + 0x2091, 0x8000, 0x6040, 0x9005, 0x0128, 0x8001, 0x6042, 0x1110, + 0x080c, 0xce65, 0x6018, 0x9005, 0x0558, 0x8001, 0x601a, 0x1540, + 0x6120, 0x9186, 0x0003, 0x0148, 0x9186, 0x0006, 0x0130, 0x9186, + 0x0009, 0x11e0, 0x611c, 0xd1c4, 0x1100, 0x080c, 0xcb5a, 0x01b0, + 0x6014, 0x2048, 0xa884, 0x908a, 0x199a, 0x0280, 0x9082, 0x1999, + 0xa886, 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x800b, + 0x810b, 0x9108, 0x611a, 0xa87c, 0xd0e4, 0x0110, 0x080c, 0xc846, + 0x012e, 0x9c88, 0x0018, 0x7116, 0x2001, 0x181a, 0x2004, 0x9102, + 0x0220, 0x7017, 0x1cd0, 0x7007, 0x0000, 0x0005, 0x00e6, 0x2071, + 0x19f9, 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, 0x2001, + 0x1a02, 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, 0x19f9, 0x7132, + 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, 0x1a05, 0x2013, 0x0000, + 0x0005, 0x00e6, 0x2071, 0x19f9, 0x711a, 0x721e, 0x700b, 0x0009, + 0x00ee, 0x0005, 0x0086, 0x0026, 0x7054, 0x8000, 0x7056, 0x2001, + 0x1a07, 0x2044, 0xa06c, 0x9086, 0x0000, 0x0150, 0x7068, 0xa09a, + 0x7064, 0xa096, 0x7060, 0xa092, 0x705c, 0xa08e, 0x080c, 0x10e9, + 0x002e, 0x008e, 0x0005, 0x0006, 0x0016, 0x0096, 0x00a6, 0x00b6, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x080c, 0x8459, 0x015e, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x001e, + 0x000e, 0x0005, 0x00e6, 0x2071, 0x19f9, 0x7172, 0x7276, 0x706f, + 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x19f9, 0x7074, + 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x0016, + 0x00c6, 0x2009, 0xfff4, 0x210d, 0x2061, 0x0100, 0x60f0, 0x9100, + 0x60f3, 0x0000, 0x2009, 0xfff4, 0x200f, 0x1220, 0x8108, 0x2105, + 0x8000, 0x200f, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x2061, 0x1a70, + 0x00ce, 0x0005, 0x9184, 0x000f, 0x8003, 0x8003, 0x8003, 0x9080, + 0x1a70, 0x2060, 0x0005, 0xa884, 0x908a, 0x199a, 0x1638, 0x9005, + 0x1150, 0x00c6, 0x2061, 0x1a70, 0x6014, 0x00ce, 0x9005, 0x1130, + 0x2001, 0x001e, 0x0018, 0x908e, 0xffff, 0x01b0, 0x8003, 0x800b, + 0x810b, 0x9108, 0x611a, 0xa87c, 0x908c, 0x00c0, 0x918e, 0x00c0, + 0x0904, 0x868d, 0xd0b4, 0x1168, 0xd0bc, 0x1904, 0x8666, 0x2009, + 0x0006, 0x080c, 0x86ba, 0x0005, 0x900e, 0x0c60, 0x2001, 0x1999, + 0x08b0, 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, + 0x1904, 0x86b4, 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x6024, + 0xd0d4, 0x11e8, 0x2009, 0x1869, 0x2104, 0xd084, 0x1138, 0x87ff, + 0x1120, 0x2009, 0x0043, 0x0804, 0xaeda, 0x0005, 0x87ff, 0x1de8, + 0x2009, 0x0042, 0x0804, 0xaeda, 0x6110, 0x00b6, 0x2158, 0xb900, + 0x00be, 0xd1ac, 0x0d20, 0x6024, 0xc0cd, 0x6026, 0x0c00, 0xc0d4, + 0x6026, 0xa890, 0x602e, 0xa88c, 0x6032, 0x08e0, 0xd0fc, 0x0160, + 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, 0x86b4, 0x908c, + 0x2020, 0x918e, 0x2020, 0x0170, 0x0076, 0x00f6, 0x2c78, 0x080c, + 0x1727, 0x00fe, 0x007e, 0x87ff, 0x1120, 0x2009, 0x0042, 0x080c, + 0xaeda, 0x0005, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, + 0x0d58, 0x6124, 0xc1cd, 0x6126, 0x0c38, 0xd0fc, 0x0188, 0x908c, + 0x2020, 0x918e, 0x2020, 0x01a8, 0x9084, 0x0003, 0x908e, 0x0002, + 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, 0x080c, 0xaeda, 0x0005, + 0x00b9, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, 0x0043, 0x080c, 0xaeda, + 0x0cb0, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, + 0x6124, 0xc1cd, 0x6126, 0x0c00, 0x2009, 0x0004, 0x0019, 0x0005, + 0x2009, 0x0001, 0x0096, 0x080c, 0xcb5a, 0x0518, 0x6014, 0x2048, + 0xa982, 0xa800, 0x6016, 0x9186, 0x0001, 0x1188, 0xa97c, 0x918c, + 0x8100, 0x918e, 0x8100, 0x1158, 0x00c6, 0x2061, 0x1a70, 0x6200, + 0xd28c, 0x1120, 0x6204, 0x8210, 0x0208, 0x6206, 0x00ce, 0x080c, + 0x6acf, 0x6014, 0x904d, 0x0076, 0x2039, 0x0000, 0x190c, 0x8603, + 0x007e, 0x009e, 0x0005, 0x0156, 0x00c6, 0x2061, 0x1a70, 0x6000, + 0x81ff, 0x0110, 0x9205, 0x0008, 0x9204, 0x6002, 0x00ce, 0x015e, + 0x0005, 0x6800, 0xd08c, 0x1138, 0x6808, 0x9005, 0x0120, 0x8001, + 0x680a, 0x9085, 0x0001, 0x0005, 0x2071, 0x1923, 0x7003, 0x0006, + 0x7007, 0x0000, 0x700f, 0x0000, 0x7013, 0x0001, 0x080c, 0x1018, + 0x090c, 0x0dd5, 0xa867, 0x0006, 0xa86b, 0x0001, 0xa8ab, 0xdcb0, + 0xa89f, 0x0000, 0x2900, 0x702e, 0x7033, 0x0000, 0x0005, 0x0096, + 0x00e6, 0x2071, 0x1923, 0x702c, 0x2048, 0x6a2c, 0x721e, 0x6b30, + 0x7322, 0x6834, 0x7026, 0xa896, 0x6838, 0x702a, 0xa89a, 0x6824, + 0x7016, 0x683c, 0x701a, 0x2009, 0x0028, 0x200a, 0x9005, 0x0148, + 0x900e, 0x9188, 0x000c, 0x8001, 0x1de0, 0x2100, 0x9210, 0x1208, + 0x8318, 0xaa8e, 0xab92, 0x7010, 0xd084, 0x0178, 0xc084, 0x7007, + 0x0001, 0x700f, 0x0000, 0x0006, 0x2009, 0x181d, 0x2104, 0x9082, + 0x0007, 0x2009, 0x1ac7, 0x200a, 0x000e, 0xc095, 0x7012, 0x2008, + 0x2001, 0x003b, 0x080c, 0x15f0, 0x9006, 0x2071, 0x193c, 0x7002, + 0x7006, 0x702a, 0x00ee, 0x009e, 0x0005, 0x00e6, 0x0126, 0x0156, + 0x2091, 0x8000, 0x2071, 0x1800, 0x7154, 0x2001, 0x0008, 0x910a, + 0x0638, 0x2001, 0x187d, 0x20ac, 0x9006, 0x9080, 0x0008, 0x1f04, + 0x876d, 0x71c0, 0x9102, 0x02e0, 0x2071, 0x1877, 0x20a9, 0x0007, + 0x00c6, 0x080c, 0xae09, 0x6023, 0x0009, 0x6003, 0x0004, 0x601f, + 0x0101, 0x0089, 0x0126, 0x2091, 0x8000, 0x080c, 0x88f3, 0x012e, + 0x1f04, 0x8779, 0x9006, 0x00ce, 0x015e, 0x012e, 0x00ee, 0x0005, + 0x9085, 0x0001, 0x0cc8, 0x00e6, 0x00b6, 0x0096, 0x0086, 0x0056, + 0x0046, 0x0026, 0x7118, 0x720c, 0x7620, 0x7004, 0xd084, 0x1128, + 0x2021, 0x0024, 0x2029, 0x0002, 0x0020, 0x2021, 0x002c, 0x2029, + 0x000a, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0x2900, 0x6016, 0x2058, + 0xac66, 0x9006, 0xa802, 0xa806, 0xa86a, 0xa87a, 0xa8aa, 0xa887, + 0x0005, 0xa87f, 0x0020, 0x7008, 0xa89a, 0x7010, 0xa89e, 0xae8a, + 0xa8af, 0xffff, 0xa8b3, 0x0000, 0x8109, 0x0160, 0x080c, 0x0fff, + 0x090c, 0x0dd5, 0xad66, 0x2b00, 0xa802, 0x2900, 0xb806, 0x2058, + 0x8109, 0x1da0, 0x002e, 0x004e, 0x005e, 0x008e, 0x009e, 0x00be, + 0x00ee, 0x0005, 0x2079, 0x0000, 0x2071, 0x1923, 0x7004, 0x004b, + 0x700c, 0x0002, 0x87e5, 0x87de, 0x87de, 0x0005, 0x87ef, 0x8850, + 0x8850, 0x8850, 0x8851, 0x8862, 0x8862, 0x700c, 0x0cba, 0x0126, + 0x2091, 0x8000, 0x78a0, 0x79a0, 0x9106, 0x0128, 0x78a0, 0x79a0, + 0x9106, 0x1904, 0x8843, 0x2001, 0x0005, 0x2004, 0xd0bc, 0x0130, + 0x2011, 0x0004, 0x2204, 0xc0c5, 0x2012, 0x0ca8, 0x012e, 0x7018, + 0x910a, 0x1130, 0x7030, 0x9005, 0x05a8, 0x080c, 0x8891, 0x0490, + 0x1210, 0x7114, 0x910a, 0x9192, 0x000a, 0x0210, 0x2009, 0x000a, + 0x2001, 0x1888, 0x2014, 0x2001, 0x1935, 0x2004, 0x9100, 0x9202, + 0x0e48, 0x080c, 0x89dd, 0x2200, 0x9102, 0x0208, 0x2208, 0x0096, + 0x702c, 0x2048, 0xa873, 0x0001, 0xa976, 0x080c, 0x8ae6, 0x2100, + 0xa87e, 0xa86f, 0x0000, 0x009e, 0x0126, 0x2091, 0x8000, 0x2009, + 0x1a17, 0x2104, 0xc085, 0x200a, 0x700f, 0x0002, 0x012e, 0x080c, + 0x1108, 0x1de8, 0x0005, 0x2001, 0x0005, 0x2004, 0xd0bc, 0x0130, + 0x2011, 0x0004, 0x2204, 0xc0c5, 0x2012, 0x0ca8, 0x012e, 0x0005, + 0x0005, 0x700c, 0x0002, 0x8856, 0x8859, 0x8858, 0x080c, 0x87ed, + 0x0005, 0x8001, 0x700e, 0x0096, 0x702c, 0x2048, 0xa974, 0x009e, + 0x0011, 0x0ca0, 0x0005, 0x0096, 0x702c, 0x2048, 0x7018, 0x9100, + 0x7214, 0x921a, 0x1130, 0x701c, 0xa88e, 0x7020, 0xa892, 0x9006, + 0x0068, 0x0006, 0x080c, 0x8ae6, 0x2100, 0xaa8c, 0x9210, 0xaa8e, + 0x1220, 0xa890, 0x9081, 0x0000, 0xa892, 0x000e, 0x009e, 0x2f08, + 0x9188, 0x0028, 0x200a, 0x701a, 0x0005, 0x00e6, 0x2071, 0x1923, + 0x700c, 0x0002, 0x888f, 0x888f, 0x888d, 0x700f, 0x0001, 0x00ee, + 0x0005, 0x0126, 0x2091, 0x8000, 0x7030, 0x9005, 0x0508, 0x2078, + 0x7814, 0x2048, 0xae88, 0x00b6, 0x2059, 0x0000, 0x080c, 0x88fc, + 0x00be, 0x01b0, 0x00e6, 0x2071, 0x193c, 0x080c, 0x8943, 0x00ee, + 0x0178, 0x0096, 0x080c, 0x1018, 0x2900, 0x009e, 0x0148, 0xa8aa, + 0x04b9, 0x0041, 0x2001, 0x1946, 0x2003, 0x0000, 0x012e, 0x08c8, + 0x012e, 0x0005, 0x00d6, 0x00c6, 0x0086, 0x00a6, 0x2940, 0x2650, + 0x2600, 0x9005, 0x0180, 0xa864, 0x9084, 0x000f, 0x2068, 0x9d88, + 0x209d, 0x2165, 0x0056, 0x2029, 0x0000, 0x080c, 0x8a6b, 0x080c, + 0x2055, 0x1dd8, 0x005e, 0x00ae, 0x2001, 0x187f, 0x2004, 0xa88a, + 0x080c, 0x1727, 0x781f, 0x0101, 0x7813, 0x0000, 0x0126, 0x2091, + 0x8000, 0x080c, 0x8952, 0x012e, 0x008e, 0x00ce, 0x00de, 0x0005, + 0x7030, 0x9005, 0x0138, 0x2078, 0x780c, 0x7032, 0x2001, 0x1946, + 0x2003, 0x0001, 0x0005, 0x00e6, 0x2071, 0x1923, 0x7030, 0x600e, + 0x2c00, 0x7032, 0x00ee, 0x0005, 0x00d6, 0x00c6, 0x0026, 0x9b80, + 0x8bc5, 0x2005, 0x906d, 0x090c, 0x0dd5, 0x9b80, 0x8bbd, 0x2005, + 0x9065, 0x090c, 0x0dd5, 0x6114, 0x2600, 0x9102, 0x0248, 0x6828, + 0x9102, 0x02f0, 0x9085, 0x0001, 0x002e, 0x00ce, 0x00de, 0x0005, + 0x6804, 0xd094, 0x0148, 0x6854, 0xd084, 0x1178, 0xc085, 0x6856, + 0x2011, 0x8026, 0x080c, 0x4b1e, 0x684c, 0x0096, 0x904d, 0x090c, + 0x0dd5, 0xa804, 0x8000, 0xa806, 0x009e, 0x9006, 0x2030, 0x0c20, + 0x6854, 0xd08c, 0x1d08, 0xc08d, 0x6856, 0x2011, 0x8025, 0x080c, + 0x4b1e, 0x684c, 0x0096, 0x904d, 0x090c, 0x0dd5, 0xa800, 0x8000, + 0xa802, 0x009e, 0x0888, 0x7000, 0x2019, 0x0008, 0x8319, 0x7104, + 0x9102, 0x1118, 0x2300, 0x9005, 0x0020, 0x0210, 0x9302, 0x0008, + 0x8002, 0x0005, 0x00d6, 0x7814, 0x9005, 0x090c, 0x0dd5, 0x781c, + 0x9084, 0x0101, 0x9086, 0x0101, 0x190c, 0x0dd5, 0x2069, 0x193c, + 0x6804, 0x9080, 0x193e, 0x2f08, 0x2102, 0x6904, 0x8108, 0x9182, + 0x0008, 0x0208, 0x900e, 0x6906, 0x9180, 0x193e, 0x2003, 0x0000, + 0x00de, 0x0005, 0x0096, 0x00c6, 0x2060, 0x6014, 0x2048, 0xa8a8, + 0x0096, 0x2048, 0x9005, 0x190c, 0x1031, 0x009e, 0xa8ab, 0x0000, + 0x080c, 0x0fb1, 0x080c, 0xae5f, 0x00ce, 0x009e, 0x0005, 0x6020, + 0x9086, 0x0009, 0x1128, 0x601c, 0xd0c4, 0x0110, 0x9006, 0x0005, + 0x9085, 0x0001, 0x0005, 0x6000, 0x9086, 0x0000, 0x0178, 0x6010, + 0x9005, 0x0150, 0x00b6, 0x2058, 0x080c, 0x8cfa, 0x00be, 0x6013, + 0x0000, 0x601b, 0x0000, 0x0010, 0x2c00, 0x0861, 0x0005, 0x2009, + 0x1927, 0x210c, 0xd194, 0x0005, 0x00e6, 0x2071, 0x1923, 0x7110, + 0xc194, 0xd19c, 0x1118, 0xc185, 0x7007, 0x0000, 0x7112, 0x2001, + 0x003b, 0x080c, 0x15f0, 0x00ee, 0x0005, 0x0096, 0x00d6, 0x9006, + 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x7016, 0x702a, 0x7026, + 0x702f, 0x0000, 0x080c, 0x8b45, 0x0170, 0x080c, 0x8b7a, 0x0158, + 0x2900, 0x7002, 0x700a, 0x701a, 0x7013, 0x0001, 0x701f, 0x000a, + 0x00de, 0x009e, 0x0005, 0x900e, 0x0cd8, 0x00e6, 0x0096, 0x0086, + 0x00d6, 0x00c6, 0x2071, 0x1930, 0x721c, 0x2100, 0x9202, 0x1618, + 0x080c, 0x8b7a, 0x090c, 0x0dd5, 0x7018, 0x9005, 0x1160, 0x2900, + 0x7002, 0x700a, 0x701a, 0x9006, 0x7006, 0x700e, 0xa806, 0xa802, + 0x7012, 0x701e, 0x0038, 0x2040, 0xa806, 0x2900, 0xa002, 0x701a, + 0xa803, 0x0000, 0x7010, 0x8000, 0x7012, 0x701c, 0x9080, 0x000a, + 0x701e, 0x721c, 0x08d0, 0x721c, 0x00ce, 0x00de, 0x008e, 0x009e, + 0x00ee, 0x0005, 0x0096, 0x0156, 0x0136, 0x0146, 0x00e6, 0x0126, + 0x2091, 0x8000, 0x2071, 0x1930, 0x7300, 0x831f, 0x831e, 0x831e, + 0x9384, 0x003f, 0x20e8, 0x939c, 0xffc0, 0x9398, 0x0003, 0x7104, + 0x080c, 0x8ae6, 0x810c, 0x2100, 0x9318, 0x8003, 0x2228, 0x2021, + 0x0078, 0x9402, 0x9532, 0x0208, 0x2028, 0x2500, 0x8004, 0x20a8, + 0x23a0, 0xa001, 0xa001, 0x4005, 0x2508, 0x080c, 0x8aef, 0x2130, + 0x7014, 0x9600, 0x7016, 0x2600, 0x711c, 0x9102, 0x701e, 0x7004, + 0x9600, 0x2008, 0x9082, 0x000a, 0x1190, 0x7000, 0x2048, 0xa800, + 0x9005, 0x1148, 0x2009, 0x0001, 0x0026, 0x080c, 0x89dd, 0x002e, + 0x7000, 0x2048, 0xa800, 0x7002, 0x7007, 0x0000, 0x0008, 0x7106, + 0x2500, 0x9212, 0x1904, 0x8a1c, 0x012e, 0x00ee, 0x014e, 0x013e, + 0x015e, 0x009e, 0x0005, 0x0016, 0x0026, 0x00e6, 0x0126, 0x2091, + 0x8000, 0x9580, 0x8bbd, 0x2005, 0x9075, 0x090c, 0x0dd5, 0x080c, + 0x8ac1, 0x012e, 0x9580, 0x8bb9, 0x2005, 0x9075, 0x090c, 0x0dd5, + 0x0156, 0x0136, 0x01c6, 0x0146, 0x01d6, 0x831f, 0x831e, 0x831e, + 0x9384, 0x003f, 0x20e0, 0x9384, 0xffc0, 0x9100, 0x2098, 0xa860, + 0x20e8, 0xa95c, 0x2c05, 0x9100, 0x20a0, 0x20a9, 0x0002, 0x4003, + 0x2e0c, 0x2d00, 0x0002, 0x8aab, 0x8aab, 0x8aad, 0x8aab, 0x8aad, + 0x8aab, 0x8aab, 0x8aab, 0x8aab, 0x8aab, 0x8ab3, 0x8aab, 0x8ab3, + 0x8aab, 0x8aab, 0x8aab, 0x080c, 0x0dd5, 0x4104, 0x20a9, 0x0002, + 0x4002, 0x4003, 0x0028, 0x20a9, 0x0002, 0x4003, 0x4104, 0x4003, + 0x01de, 0x014e, 0x01ce, 0x013e, 0x015e, 0x00ee, 0x002e, 0x001e, + 0x0005, 0x0096, 0x7014, 0x8001, 0x7016, 0x710c, 0x2110, 0x00f1, + 0x810c, 0x9188, 0x0003, 0x7308, 0x8210, 0x9282, 0x000a, 0x1198, + 0x7008, 0x2048, 0xa800, 0x9005, 0x0158, 0x0006, 0x080c, 0x8b89, + 0x009e, 0xa807, 0x0000, 0x2900, 0x700a, 0x7010, 0x8001, 0x7012, + 0x700f, 0x0000, 0x0008, 0x720e, 0x009e, 0x0005, 0x0006, 0x810b, + 0x810b, 0x2100, 0x810b, 0x9100, 0x2008, 0x000e, 0x0005, 0x0006, + 0x0026, 0x2100, 0x9005, 0x0158, 0x9092, 0x000c, 0x0240, 0x900e, + 0x8108, 0x9082, 0x000c, 0x1de0, 0x002e, 0x000e, 0x0005, 0x900e, + 0x0cd8, 0x2d00, 0x90b8, 0x0008, 0x690c, 0x6810, 0x2019, 0x0001, + 0x2031, 0x8b2f, 0x9112, 0x0220, 0x0118, 0x8318, 0x2208, 0x0cd0, + 0x6808, 0x9005, 0x0108, 0x8318, 0x233a, 0x6804, 0xd084, 0x2300, + 0x2021, 0x0001, 0x1150, 0x9082, 0x0003, 0x0967, 0x0a67, 0x8420, + 0x9082, 0x0007, 0x0967, 0x0a67, 0x0cd0, 0x9082, 0x0002, 0x0967, + 0x0a67, 0x8420, 0x9082, 0x0005, 0x0967, 0x0a67, 0x0cd0, 0x6c1a, + 0x2d00, 0x90b8, 0x0007, 0x00e6, 0x2071, 0x1800, 0x7128, 0x6810, + 0x2019, 0x0001, 0x910a, 0x0118, 0x0210, 0x8318, 0x0cd8, 0x2031, + 0x8b42, 0x0870, 0x6c16, 0x00ee, 0x0005, 0x0096, 0x0046, 0x0126, + 0x2091, 0x8000, 0x2b00, 0x9080, 0x8bc1, 0x2005, 0x9005, 0x090c, + 0x0dd5, 0x2004, 0x90a0, 0x000a, 0x080c, 0x1018, 0x01d0, 0x2900, + 0x7026, 0xa803, 0x0000, 0xa807, 0x0000, 0x080c, 0x1018, 0x0188, + 0x7024, 0xa802, 0xa807, 0x0000, 0x2900, 0x7026, 0x94a2, 0x000a, + 0x0110, 0x0208, 0x0c90, 0x9085, 0x0001, 0x012e, 0x004e, 0x009e, + 0x0005, 0x7024, 0x9005, 0x0dc8, 0x2048, 0xac00, 0x080c, 0x1031, + 0x2400, 0x0cc0, 0x0126, 0x2091, 0x8000, 0x7024, 0x2048, 0x9005, + 0x0130, 0xa800, 0x7026, 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x7024, 0xa802, 0x2900, 0x7026, + 0x012e, 0x0005, 0x0096, 0x9e80, 0x0009, 0x2004, 0x9005, 0x0138, + 0x2048, 0xa800, 0x0006, 0x080c, 0x1031, 0x000e, 0x0cb8, 0x009e, + 0x0005, 0x0096, 0x7008, 0x9005, 0x0138, 0x2048, 0xa800, 0x0006, + 0x080c, 0x1031, 0x000e, 0x0cb8, 0x9006, 0x7002, 0x700a, 0x7006, + 0x700e, 0x701a, 0x701e, 0x7022, 0x702a, 0x7026, 0x702e, 0x009e, + 0x0005, 0x1a63, 0x0000, 0x0000, 0x0000, 0x1930, 0x0000, 0x0000, + 0x0000, 0x1888, 0x0000, 0x0000, 0x0000, 0x1877, 0x0000, 0x0000, + 0x0000, 0x00e6, 0x00c6, 0x00b6, 0x00a6, 0xa8a8, 0x2040, 0x2071, + 0x1877, 0x080c, 0x8ce5, 0xa067, 0x0023, 0x6010, 0x905d, 0x0904, + 0x8cba, 0xb814, 0xa06e, 0xb910, 0xa172, 0xb9a0, 0xa176, 0x2001, + 0x0003, 0xa07e, 0xa834, 0xa082, 0xa07b, 0x0000, 0xa898, 0x9005, + 0x0118, 0xa078, 0xc085, 0xa07a, 0x2858, 0x2031, 0x0018, 0xa068, + 0x908a, 0x0019, 0x1a0c, 0x0dd5, 0x2020, 0x2050, 0x2940, 0xa864, + 0x90bc, 0x00ff, 0x908c, 0x000f, 0x91e0, 0x209d, 0x2c65, 0x9786, + 0x0024, 0x2c05, 0x1590, 0x908a, 0x0036, 0x1a0c, 0x0dd5, 0x9082, + 0x001b, 0x0002, 0x8c25, 0x8c25, 0x8c27, 0x8c25, 0x8c25, 0x8c25, + 0x8c29, 0x8c25, 0x8c25, 0x8c25, 0x8c2b, 0x8c25, 0x8c25, 0x8c25, + 0x8c2d, 0x8c25, 0x8c25, 0x8c25, 0x8c2f, 0x8c25, 0x8c25, 0x8c25, + 0x8c31, 0x8c25, 0x8c25, 0x8c25, 0x8c33, 0x080c, 0x0dd5, 0xa180, + 0x04b8, 0xa190, 0x04a8, 0xa1a0, 0x0498, 0xa1b0, 0x0488, 0xa1c0, + 0x0478, 0xa1d0, 0x0468, 0xa1e0, 0x0458, 0x908a, 0x0034, 0x1a0c, + 0x0dd5, 0x9082, 0x001b, 0x0002, 0x8c57, 0x8c55, 0x8c55, 0x8c55, + 0x8c55, 0x8c55, 0x8c59, 0x8c55, 0x8c55, 0x8c55, 0x8c55, 0x8c55, + 0x8c5b, 0x8c55, 0x8c55, 0x8c55, 0x8c55, 0x8c55, 0x8c5d, 0x8c55, + 0x8c55, 0x8c55, 0x8c55, 0x8c55, 0x8c5f, 0x080c, 0x0dd5, 0xa180, + 0x0038, 0xa198, 0x0028, 0xa1b0, 0x0018, 0xa1c8, 0x0008, 0xa1e0, + 0x2600, 0x0002, 0x8c7b, 0x8c7d, 0x8c7f, 0x8c81, 0x8c83, 0x8c85, + 0x8c87, 0x8c89, 0x8c8b, 0x8c8d, 0x8c8f, 0x8c91, 0x8c93, 0x8c95, + 0x8c97, 0x8c99, 0x8c9b, 0x8c9d, 0x8c9f, 0x8ca1, 0x8ca3, 0x8ca5, + 0x8ca7, 0x8ca9, 0x8cab, 0x080c, 0x0dd5, 0xb9e2, 0x0468, 0xb9de, + 0x0458, 0xb9da, 0x0448, 0xb9d6, 0x0438, 0xb9d2, 0x0428, 0xb9ce, + 0x0418, 0xb9ca, 0x0408, 0xb9c6, 0x00f8, 0xb9c2, 0x00e8, 0xb9be, + 0x00d8, 0xb9ba, 0x00c8, 0xb9b6, 0x00b8, 0xb9b2, 0x00a8, 0xb9ae, + 0x0098, 0xb9aa, 0x0088, 0xb9a6, 0x0078, 0xb9a2, 0x0068, 0xb99e, + 0x0058, 0xb99a, 0x0048, 0xb996, 0x0038, 0xb992, 0x0028, 0xb98e, + 0x0018, 0xb98a, 0x0008, 0xb986, 0x8631, 0x8421, 0x0130, 0x080c, + 0x2055, 0x090c, 0x0dd5, 0x0804, 0x8bff, 0x00ae, 0x00be, 0x00ce, + 0x00ee, 0x0005, 0xa86c, 0xa06e, 0xa870, 0xa072, 0xa077, 0x00ff, + 0x9006, 0x0804, 0x8be1, 0x0006, 0x0016, 0x00b6, 0x6010, 0x2058, + 0xb810, 0x9005, 0x01b0, 0x2001, 0x1924, 0x2004, 0x9005, 0x0188, + 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, + 0xbba0, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, 0x4b1e, 0x004e, + 0x003e, 0x00be, 0x001e, 0x000e, 0x0005, 0x9016, 0x710c, 0xa834, + 0x910a, 0xa936, 0x7008, 0x9005, 0x0120, 0x8210, 0x910a, 0x0238, + 0x0130, 0x7010, 0x8210, 0x910a, 0x0210, 0x0108, 0x0cd8, 0xaa8a, + 0xa26a, 0x0005, 0x00f6, 0x00d6, 0x0036, 0x2079, 0x0300, 0x781b, + 0x0200, 0x7818, 0xd094, 0x1dd8, 0x781b, 0x0202, 0xa001, 0xa001, + 0x7818, 0xd094, 0x1da0, 0xb8ac, 0x9005, 0x01b8, 0x2068, 0x2079, + 0x0000, 0x2c08, 0x911e, 0x1118, 0x680c, 0xb8ae, 0x0060, 0x9106, + 0x0140, 0x2d00, 0x2078, 0x680c, 0x9005, 0x090c, 0x0dd5, 0x2068, + 0x0cb0, 0x6b0c, 0x7b0e, 0x600f, 0x0000, 0x2079, 0x0300, 0x781b, + 0x0200, 0x003e, 0x00de, 0x00fe, 0x0005, 0x00e6, 0x00d6, 0x0096, + 0x00c6, 0x0036, 0x0126, 0x2091, 0x8000, 0x0156, 0x20a9, 0x01ff, + 0x2071, 0x0300, 0x701b, 0x0200, 0x7018, 0xd094, 0x0110, 0x1f04, + 0x8d3a, 0x701b, 0x0202, 0xa001, 0xa001, 0x7018, 0xd094, 0x1d90, + 0xb8ac, 0x9005, 0x01d0, 0x2060, 0x600c, 0xb8ae, 0x6003, 0x0004, + 0x601b, 0x0000, 0x6013, 0x0000, 0x601f, 0x0101, 0x6014, 0x2048, + 0xa88b, 0x0000, 0xa8a8, 0xa8ab, 0x0000, 0x904d, 0x090c, 0x0dd5, + 0x080c, 0x1031, 0x080c, 0x88f3, 0x0c18, 0x2071, 0x0300, 0x701b, + 0x0200, 0x015e, 0x012e, 0x003e, 0x00ce, 0x009e, 0x00de, 0x00ee, + 0x0005, 0x00c6, 0x00b6, 0x0016, 0x0006, 0x0156, 0x080c, 0x284b, + 0x015e, 0x11b0, 0x080c, 0x65b5, 0x190c, 0x0dd5, 0x000e, 0x001e, + 0xb912, 0xb816, 0x080c, 0xae09, 0x0140, 0x2b00, 0x6012, 0x6023, + 0x0001, 0x2009, 0x0001, 0x080c, 0xaeda, 0x00be, 0x00ce, 0x0005, + 0x000e, 0x001e, 0x0cd0, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0dd5, 0x0013, 0x006e, 0x0005, 0x8dac, 0x8dac, 0x8dac, 0x8dae, + 0x8dff, 0x8dac, 0x8dac, 0x8dac, 0x8e62, 0x8dac, 0x8e9f, 0x8dac, + 0x8dac, 0x8dac, 0x8dac, 0x8dac, 0x080c, 0x0dd5, 0x9182, 0x0040, + 0x0002, 0x8dc1, 0x8dc1, 0x8dc1, 0x8dc1, 0x8dc1, 0x8dc1, 0x8dc1, + 0x8dc1, 0x8dc1, 0x8dc3, 0x8dd8, 0x8dc1, 0x8dc1, 0x8dc1, 0x8dc1, + 0x8deb, 0x080c, 0x0dd5, 0x0096, 0x080c, 0x9656, 0x080c, 0x97d4, + 0x6114, 0x2148, 0xa87b, 0x0000, 0x6010, 0x00b6, 0x2058, 0xb8bb, + 0x0500, 0x00be, 0x080c, 0x6a9a, 0x080c, 0xae5f, 0x009e, 0x0005, + 0x080c, 0x9656, 0x00d6, 0x6114, 0x080c, 0xcb5a, 0x0130, 0x0096, + 0x6114, 0x2148, 0x080c, 0x6c94, 0x009e, 0x00de, 0x080c, 0xae5f, + 0x080c, 0x97d4, 0x0005, 0x080c, 0x9656, 0x080c, 0x31cc, 0x6114, + 0x0096, 0x2148, 0x080c, 0xcb5a, 0x0120, 0xa87b, 0x0029, 0x080c, + 0x6c94, 0x009e, 0x080c, 0xae5f, 0x080c, 0x97d4, 0x0005, 0x601b, + 0x0000, 0x9182, 0x0040, 0x0096, 0x0002, 0x8e1a, 0x8e1a, 0x8e1a, + 0x8e1a, 0x8e1a, 0x8e1a, 0x8e1a, 0x8e1a, 0x8e1c, 0x8e1a, 0x8e1a, + 0x8e1a, 0x8e5e, 0x8e1a, 0x8e1a, 0x8e1a, 0x8e1a, 0x8e1a, 0x8e1a, + 0x8e22, 0x8e1a, 0x080c, 0x0dd5, 0x6114, 0x2148, 0xa938, 0x918e, + 0xffff, 0x05e0, 0x00e6, 0x6114, 0x2148, 0x080c, 0x8bc9, 0x0096, + 0xa8a8, 0x2048, 0x080c, 0x6a32, 0x009e, 0xa8ab, 0x0000, 0x6010, + 0x9005, 0x0128, 0x00b6, 0x2058, 0x080c, 0x8cfa, 0x00be, 0xae88, + 0x00b6, 0x2059, 0x0000, 0x080c, 0x88fc, 0x00be, 0x01e0, 0x2071, + 0x193c, 0x080c, 0x8943, 0x01b8, 0x9086, 0x0001, 0x1128, 0x2001, + 0x1946, 0x2004, 0x9005, 0x1178, 0x0096, 0x080c, 0x0fff, 0x2900, + 0x009e, 0x0148, 0xa8aa, 0x00f6, 0x2c78, 0x080c, 0x88ba, 0x00fe, + 0x00ee, 0x009e, 0x0005, 0x080c, 0x88f3, 0x0cd0, 0x080c, 0x8f0c, + 0x009e, 0x0005, 0x9182, 0x0040, 0x0096, 0x0002, 0x8e76, 0x8e76, + 0x8e76, 0x8e78, 0x8e76, 0x8e76, 0x8e76, 0x8e9d, 0x8e76, 0x8e76, + 0x8e76, 0x8e76, 0x8e76, 0x8e76, 0x8e76, 0x8e76, 0x080c, 0x0dd5, + 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa8ac, 0xa846, 0xa8b0, + 0xa84a, 0xa837, 0x0000, 0xa83b, 0x0000, 0xa884, 0x9092, 0x199a, + 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, + 0x2c10, 0x080c, 0x1bba, 0x080c, 0x915d, 0x0126, 0x2091, 0x8000, + 0x080c, 0x97d4, 0x012e, 0x009e, 0x0005, 0x080c, 0x0dd5, 0x080c, + 0x9656, 0x080c, 0x97d4, 0x6114, 0x2148, 0xa87b, 0x0000, 0x6010, + 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, 0x080c, 0x6c94, 0x080c, + 0xae5f, 0x009e, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, + 0x0096, 0x0013, 0x009e, 0x0005, 0x8ecc, 0x8ecc, 0x8ecc, 0x8ece, + 0x8edf, 0x8ecc, 0x8ecc, 0x8ecc, 0x8ecc, 0x8ecc, 0x8ecc, 0x8ecc, + 0x8ecc, 0x8ecc, 0x8ecc, 0x8ecc, 0x080c, 0x0dd5, 0x080c, 0xa7b7, + 0x6114, 0x2148, 0xa87b, 0x0006, 0x6010, 0x00b6, 0x2058, 0xb8bb, + 0x0500, 0x00be, 0x080c, 0x6c94, 0x080c, 0xae5f, 0x0005, 0x0461, + 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, 0x0096, 0x0013, + 0x009e, 0x0005, 0x8efa, 0x8efa, 0x8efa, 0x8efc, 0x8f0c, 0x8efa, + 0x8efa, 0x8efa, 0x8efa, 0x8efa, 0x8efa, 0x8efa, 0x8efa, 0x8efa, + 0x8efa, 0x8efa, 0x080c, 0x0dd5, 0x0036, 0x00e6, 0x2071, 0x19e6, + 0x703c, 0x9c06, 0x1120, 0x2019, 0x0000, 0x080c, 0xa5c8, 0x080c, + 0xa7b7, 0x00ee, 0x003e, 0x0005, 0x00f6, 0x00e6, 0x601b, 0x0000, + 0x6014, 0x2048, 0x6010, 0x9005, 0x0128, 0x00b6, 0x2058, 0x080c, + 0x8cfa, 0x00be, 0x2071, 0x193c, 0x080c, 0x8943, 0x0160, 0x2001, + 0x187f, 0x2004, 0xa88a, 0x2031, 0x0000, 0x2c78, 0x080c, 0x88ba, + 0x00ee, 0x00fe, 0x0005, 0x0096, 0xa88b, 0x0000, 0xa8a8, 0x2048, + 0x080c, 0x1031, 0x009e, 0xa8ab, 0x0000, 0x080c, 0x88f3, 0x0c80, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x187a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, 0x0010, 0x9006, + 0x8004, 0x2019, 0x0100, 0x231c, 0x93a6, 0x0008, 0x1118, 0x8086, + 0x818e, 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x1208, 0x9200, + 0x1f04, 0x8f51, 0x93a6, 0x0008, 0x1118, 0x8086, 0x818e, 0x0020, + 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x004e, 0x003e, 0x012e, 0x0005, + 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, 0x9005, + 0x0510, 0x911a, 0x1600, 0x8213, 0x2039, 0x0100, 0x273c, 0x97be, + 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x0228, 0x911a, + 0x1220, 0x1f04, 0x8f7b, 0x0028, 0x911a, 0x2308, 0x8210, 0x1f04, + 0x8f7b, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, 0x015e, + 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, 0x0ca8, + 0x0126, 0x2091, 0x2800, 0x2079, 0x19e6, 0x012e, 0x00d6, 0x2069, + 0x19e6, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, 0x0000, + 0x2069, 0x0200, 0x080c, 0xab1a, 0x0401, 0x080c, 0xab05, 0x00e9, + 0x080c, 0xab08, 0x00d1, 0x080c, 0xab0b, 0x00b9, 0x080c, 0xab0e, + 0x00a1, 0x080c, 0xab11, 0x0089, 0x080c, 0xab14, 0x0071, 0x080c, + 0xab17, 0x0059, 0x01de, 0x014e, 0x015e, 0x2069, 0x0004, 0x2d04, + 0x9085, 0x8001, 0x206a, 0x00de, 0x0005, 0x20a9, 0x0020, 0x20a1, + 0x0240, 0x2001, 0x0000, 0x4004, 0x0005, 0x00c6, 0x6027, 0x0001, + 0x7804, 0x9084, 0x0007, 0x0002, 0x8fee, 0x9012, 0x9051, 0x8ff4, + 0x9012, 0x8fee, 0x8fec, 0x8fec, 0x080c, 0x0dd5, 0x080c, 0x857f, + 0x080c, 0x96a6, 0x00ce, 0x0005, 0x62c0, 0x82ff, 0x1110, 0x00ce, + 0x0005, 0x2011, 0x5e96, 0x080c, 0x84f9, 0x7828, 0x9092, 0x00c8, + 0x1228, 0x8000, 0x782a, 0x080c, 0x5ed6, 0x0c88, 0x62c0, 0x080c, + 0xac56, 0x080c, 0x5e96, 0x7807, 0x0003, 0x7827, 0x0000, 0x782b, + 0x0000, 0x0c28, 0x080c, 0x857f, 0x6220, 0xd2a4, 0x0160, 0x782b, + 0x0000, 0x7824, 0x9065, 0x090c, 0x0dd5, 0x2009, 0x0013, 0x080c, + 0xaeda, 0x00ce, 0x0005, 0x00c6, 0x7824, 0x9065, 0x090c, 0x0dd5, + 0x7828, 0x9092, 0xc350, 0x12c0, 0x8000, 0x782a, 0x00ce, 0x080c, + 0x2bb2, 0x0278, 0x00c6, 0x7924, 0x2160, 0x6010, 0x906d, 0x090c, + 0x0dd5, 0x7807, 0x0000, 0x7827, 0x0000, 0x00ce, 0x080c, 0x96a6, + 0x0c00, 0x080c, 0xa26b, 0x08e8, 0x2011, 0x0130, 0x2214, 0x080c, + 0xac56, 0x080c, 0xea39, 0x2009, 0x0014, 0x080c, 0xaeda, 0x00ce, + 0x0880, 0x2001, 0x1a02, 0x2003, 0x0000, 0x62c0, 0x82ff, 0x1160, 0x782b, 0x0000, 0x7824, 0x9065, 0x090c, 0x0dd5, 0x2009, 0x0013, - 0x080c, 0xaeec, 0x00ce, 0x0005, 0x00c6, 0x7824, 0x9065, 0x090c, - 0x0dd5, 0x7828, 0x9092, 0xc350, 0x12c0, 0x8000, 0x782a, 0x00ce, - 0x080c, 0x2ba7, 0x0278, 0x00c6, 0x7924, 0x2160, 0x6010, 0x906d, - 0x090c, 0x0dd5, 0x7807, 0x0000, 0x7827, 0x0000, 0x00ce, 0x080c, - 0x9687, 0x0c00, 0x080c, 0xa250, 0x08e8, 0x2011, 0x0130, 0x2214, - 0x080c, 0xac68, 0x080c, 0xea1f, 0x2009, 0x0014, 0x080c, 0xaeec, - 0x00ce, 0x0880, 0x2001, 0x1a02, 0x2003, 0x0000, 0x62c0, 0x82ff, - 0x1160, 0x782b, 0x0000, 0x7824, 0x9065, 0x090c, 0x0dd5, 0x2009, - 0x0013, 0x080c, 0xaf3e, 0x00ce, 0x0005, 0x00b6, 0x00c6, 0x00d6, - 0x7824, 0x9005, 0x090c, 0x0dd5, 0x7828, 0x9092, 0xc350, 0x1648, - 0x8000, 0x782a, 0x00de, 0x00ce, 0x00be, 0x080c, 0x2ba7, 0x02f0, - 0x00b6, 0x00c6, 0x00d6, 0x781c, 0x905d, 0x090c, 0x0dd5, 0xb800, - 0xc0dc, 0xb802, 0x7924, 0x2160, 0x080c, 0xae71, 0xb93c, 0x81ff, - 0x090c, 0x0dd5, 0x8109, 0xb93e, 0x7807, 0x0000, 0x7827, 0x0000, - 0x00de, 0x00ce, 0x00be, 0x080c, 0x9687, 0x0868, 0x080c, 0xa250, - 0x0850, 0x2011, 0x0130, 0x2214, 0x080c, 0xac68, 0x080c, 0xea1f, - 0x7824, 0x9065, 0x2009, 0x0014, 0x080c, 0xaeec, 0x00de, 0x00ce, - 0x00be, 0x0804, 0x9043, 0x00c6, 0x2001, 0x009b, 0x2004, 0xd0fc, - 0x190c, 0x1eb6, 0x6024, 0x6027, 0x0002, 0xd0f4, 0x15b8, 0x62c8, - 0x60c4, 0x9205, 0x1170, 0x783c, 0x9065, 0x0130, 0x2009, 0x0049, - 0x080c, 0xaeec, 0x00ce, 0x0005, 0x2011, 0x1a05, 0x2013, 0x0000, - 0x0cc8, 0x793c, 0x81ff, 0x0dc0, 0x7944, 0x9192, 0x7530, 0x1628, - 0x8108, 0x7946, 0x793c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, - 0x1138, 0x6014, 0x9084, 0x1984, 0x9085, 0x0012, 0x6016, 0x0c10, - 0x793c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0009, 0x0d90, 0x6014, - 0x9084, 0x1984, 0x9085, 0x0016, 0x6016, 0x08a0, 0x793c, 0x2160, - 0x2009, 0x004a, 0x080c, 0xaeec, 0x0868, 0x7848, 0xc085, 0x784a, - 0x0848, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, - 0x0000, 0x2c08, 0x2061, 0x19e6, 0x6020, 0x8000, 0x6022, 0x6010, - 0x9005, 0x0148, 0x9080, 0x0003, 0x2102, 0x6112, 0x012e, 0x00ce, - 0x001e, 0x000e, 0x0005, 0x6116, 0x6112, 0x0cc0, 0x00d6, 0x2069, - 0x19e6, 0xb800, 0xd0d4, 0x0168, 0x6820, 0x8000, 0x6822, 0x9086, - 0x0001, 0x1110, 0x2b00, 0x681e, 0x00de, 0x0804, 0x9687, 0x00de, - 0x0005, 0xc0d5, 0xb802, 0x6818, 0x9005, 0x0168, 0xb856, 0xb85b, - 0x0000, 0x0086, 0x0006, 0x2b00, 0x681a, 0x008e, 0xa05a, 0x008e, - 0x2069, 0x19e6, 0x0c08, 0xb856, 0xb85a, 0x2b00, 0x681a, 0x681e, - 0x08d8, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, - 0x0000, 0x2c08, 0x2061, 0x19e6, 0x6020, 0x8000, 0x6022, 0x6008, - 0x9005, 0x0148, 0x9080, 0x0003, 0x2102, 0x610a, 0x012e, 0x00ce, - 0x001e, 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, 0x00c6, 0x600f, - 0x0000, 0x2c08, 0x2061, 0x19e6, 0x6034, 0x9005, 0x0130, 0x9080, - 0x0003, 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, 0x6136, 0x00ce, - 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00b6, 0x0096, 0x0076, - 0x0066, 0x0056, 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, - 0x2071, 0x19e6, 0x7638, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, - 0x0904, 0x91cd, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x91c8, - 0x87ff, 0x0120, 0x6054, 0x9106, 0x1904, 0x91c8, 0x703c, 0x9c06, - 0x1178, 0x0036, 0x2019, 0x0001, 0x080c, 0xa5b7, 0x7033, 0x0000, - 0x9006, 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x2029, 0x0001, - 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, - 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, - 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, - 0x600f, 0x0000, 0x080c, 0xcb4a, 0x01f0, 0x6014, 0x2048, 0x6020, - 0x9086, 0x0003, 0x15b8, 0x6004, 0x9086, 0x0040, 0x090c, 0xa7bd, - 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, 0x0076, - 0x080c, 0xce3e, 0x080c, 0xe929, 0x080c, 0x6c86, 0x007e, 0x003e, - 0x001e, 0x080c, 0xcd33, 0x080c, 0xaea2, 0x00ce, 0x0804, 0x9167, - 0x2c78, 0x600c, 0x2060, 0x0804, 0x9167, 0x85ff, 0x0120, 0x0036, - 0x080c, 0x97b5, 0x003e, 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, - 0x005e, 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, - 0x0076, 0x080c, 0xe929, 0x080c, 0xe572, 0x007e, 0x003e, 0x001e, - 0x0890, 0x6020, 0x9086, 0x0009, 0x1168, 0xa87b, 0x0006, 0x0016, - 0x0036, 0x0076, 0x080c, 0x6c86, 0x080c, 0xae71, 0x007e, 0x003e, - 0x001e, 0x0818, 0x6020, 0x9086, 0x000a, 0x0904, 0x91b2, 0x0804, - 0x91ab, 0x0006, 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, 0x9036, - 0x0126, 0x2091, 0x8000, 0x2079, 0x19e6, 0x7838, 0x9065, 0x0904, - 0x925e, 0x600c, 0x0006, 0x600f, 0x0000, 0x783c, 0x9c06, 0x1168, - 0x0036, 0x2019, 0x0001, 0x080c, 0xa5b7, 0x7833, 0x0000, 0x901e, - 0x7b3e, 0x7b42, 0x7b46, 0x7b4a, 0x003e, 0x080c, 0xcb4a, 0x0548, - 0x6014, 0x2048, 0x6020, 0x9086, 0x0003, 0x1590, 0x3e08, 0x918e, - 0x0002, 0x1188, 0x6010, 0x9005, 0x0170, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0140, 0x6040, 0x9005, 0x11a8, 0x2001, 0x1987, - 0x2004, 0x6042, 0x0080, 0x6004, 0x9086, 0x0040, 0x090c, 0xa7bd, - 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c7a, 0x080c, - 0xcd33, 0x080c, 0xaea2, 0x000e, 0x0804, 0x9216, 0x7e3a, 0x7e36, - 0x012e, 0x00fe, 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, - 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xe572, 0x0c50, 0x6020, - 0x9086, 0x0009, 0x1130, 0xab7a, 0x080c, 0x6c86, 0x080c, 0xae71, - 0x0c10, 0x6020, 0x9086, 0x000a, 0x09a8, 0x0868, 0x0016, 0x0026, - 0x0086, 0x9046, 0x0099, 0x080c, 0x9367, 0x008e, 0x002e, 0x001e, - 0x0005, 0x00f6, 0x0126, 0x2079, 0x19e6, 0x2091, 0x8000, 0x080c, - 0x93fe, 0x080c, 0x948c, 0x012e, 0x00fe, 0x0005, 0x00b6, 0x0096, - 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0016, 0x0006, 0x0126, - 0x2091, 0x8000, 0x2071, 0x19e6, 0x7614, 0x2660, 0x2678, 0x8cff, - 0x0904, 0x932c, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x9327, - 0x88ff, 0x0120, 0x6054, 0x9106, 0x1904, 0x9327, 0x7024, 0x9c06, - 0x1558, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, 0x8562, - 0x080c, 0xa274, 0x68c3, 0x0000, 0x080c, 0xa7bd, 0x7027, 0x0000, - 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x2069, 0x0100, - 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0028, 0x6003, - 0x0009, 0x630a, 0x0804, 0x9327, 0x7014, 0x9c36, 0x1110, 0x660c, - 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, - 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, - 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, 0x2048, - 0x080c, 0xcb4a, 0x01e8, 0x6020, 0x9086, 0x0003, 0x1580, 0x080c, - 0xcd50, 0x1118, 0x080c, 0xb824, 0x0098, 0xa867, 0x0103, 0xab7a, - 0xa877, 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, 0xce3e, 0x080c, - 0xe929, 0x080c, 0x6c86, 0x008e, 0x003e, 0x001e, 0x080c, 0xcd33, - 0x080c, 0xaea2, 0x080c, 0xa693, 0x00ce, 0x0804, 0x92a7, 0x2c78, - 0x600c, 0x2060, 0x0804, 0x92a7, 0x012e, 0x000e, 0x001e, 0x006e, - 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, 0x00be, 0x0005, 0x6020, - 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xe929, - 0x080c, 0xe572, 0x008e, 0x003e, 0x001e, 0x08d0, 0x080c, 0xb824, - 0x6020, 0x9086, 0x0002, 0x1160, 0x6004, 0x0006, 0x9086, 0x0085, - 0x000e, 0x0904, 0x930d, 0x9086, 0x008b, 0x0904, 0x930d, 0x0840, - 0x6020, 0x9086, 0x0005, 0x1920, 0x6004, 0x0006, 0x9086, 0x0085, - 0x000e, 0x09c8, 0x9086, 0x008b, 0x09b0, 0x0804, 0x9320, 0x00b6, - 0x00a6, 0x0096, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x9280, - 0x1000, 0x2004, 0x905d, 0x0904, 0x93f7, 0x00f6, 0x00e6, 0x00d6, - 0x0066, 0x2071, 0x19e6, 0xbe54, 0x7018, 0x9b06, 0x1108, 0x761a, - 0x701c, 0x9b06, 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, - 0x761e, 0xb858, 0x904d, 0x0108, 0xae56, 0x96d5, 0x0000, 0x0110, - 0x2900, 0xb05a, 0xb857, 0x0000, 0xb85b, 0x0000, 0xb800, 0xc0d4, - 0xc0dc, 0xb802, 0x080c, 0x653a, 0x0904, 0x93f3, 0x7624, 0x86ff, - 0x0904, 0x93e2, 0x9680, 0x0005, 0x2004, 0x9906, 0x15d8, 0x00d6, - 0x2069, 0x0100, 0x68c0, 0x9005, 0x0560, 0x080c, 0x8562, 0x080c, - 0xa274, 0x68c3, 0x0000, 0x080c, 0xa7bd, 0x7027, 0x0000, 0x0036, + 0x080c, 0xaf2c, 0x00ce, 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x7824, + 0x9005, 0x090c, 0x0dd5, 0x7828, 0x9092, 0xc350, 0x1648, 0x8000, + 0x782a, 0x00de, 0x00ce, 0x00be, 0x080c, 0x2bb2, 0x02f0, 0x00b6, + 0x00c6, 0x00d6, 0x781c, 0x905d, 0x090c, 0x0dd5, 0xb800, 0xc0dc, + 0xb802, 0x7924, 0x2160, 0x080c, 0xae5f, 0xb93c, 0x81ff, 0x090c, + 0x0dd5, 0x8109, 0xb93e, 0x7807, 0x0000, 0x7827, 0x0000, 0x00de, + 0x00ce, 0x00be, 0x080c, 0x96a6, 0x0868, 0x080c, 0xa26b, 0x0850, + 0x2011, 0x0130, 0x2214, 0x080c, 0xac56, 0x080c, 0xea39, 0x7824, + 0x9065, 0x2009, 0x0014, 0x080c, 0xaeda, 0x00de, 0x00ce, 0x00be, + 0x0804, 0x9062, 0x00c6, 0x2001, 0x009b, 0x2004, 0xd0fc, 0x190c, + 0x1ec1, 0x6024, 0x6027, 0x0002, 0xd0f4, 0x15b8, 0x62c8, 0x60c4, + 0x9205, 0x1170, 0x783c, 0x9065, 0x0130, 0x2009, 0x0049, 0x080c, + 0xaeda, 0x00ce, 0x0005, 0x2011, 0x1a05, 0x2013, 0x0000, 0x0cc8, + 0x793c, 0x81ff, 0x0dc0, 0x7944, 0x9192, 0x7530, 0x1628, 0x8108, + 0x7946, 0x793c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, 0x1138, + 0x6014, 0x9084, 0x1984, 0x9085, 0x0012, 0x6016, 0x0c10, 0x793c, + 0x9188, 0x0008, 0x210c, 0x918e, 0x0009, 0x0d90, 0x6014, 0x9084, + 0x1984, 0x9085, 0x0016, 0x6016, 0x08a0, 0x793c, 0x2160, 0x2009, + 0x004a, 0x080c, 0xaeda, 0x0868, 0x7848, 0xc085, 0x784a, 0x0848, + 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, + 0x2c08, 0x2061, 0x19e6, 0x6020, 0x8000, 0x6022, 0x6010, 0x9005, + 0x0148, 0x9080, 0x0003, 0x2102, 0x6112, 0x012e, 0x00ce, 0x001e, + 0x000e, 0x0005, 0x6116, 0x6112, 0x0cc0, 0x00d6, 0x2069, 0x19e6, + 0xb800, 0xd0d4, 0x0168, 0x6820, 0x8000, 0x6822, 0x9086, 0x0001, + 0x1110, 0x2b00, 0x681e, 0x00de, 0x0804, 0x96a6, 0x00de, 0x0005, + 0xc0d5, 0xb802, 0x6818, 0x9005, 0x0168, 0xb856, 0xb85b, 0x0000, + 0x0086, 0x0006, 0x2b00, 0x681a, 0x008e, 0xa05a, 0x008e, 0x2069, + 0x19e6, 0x0c08, 0xb856, 0xb85a, 0x2b00, 0x681a, 0x681e, 0x08d8, + 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, + 0x2c08, 0x2061, 0x19e6, 0x6020, 0x8000, 0x6022, 0x6008, 0x9005, + 0x0148, 0x9080, 0x0003, 0x2102, 0x610a, 0x012e, 0x00ce, 0x001e, + 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, 0x00c6, 0x600f, 0x0000, + 0x2c08, 0x2061, 0x19e6, 0x6034, 0x9005, 0x0130, 0x9080, 0x0003, + 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, 0x6136, 0x00ce, 0x0005, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00b6, 0x0096, 0x0076, 0x0066, + 0x0056, 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, 0x2071, + 0x19e6, 0x7638, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, + 0x91ec, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x91e7, 0x87ff, + 0x0120, 0x6054, 0x9106, 0x1904, 0x91e7, 0x703c, 0x9c06, 0x1178, + 0x0036, 0x2019, 0x0001, 0x080c, 0xa5c8, 0x7033, 0x0000, 0x9006, + 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x2029, 0x0001, 0x7038, + 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x080c, 0xcb5a, 0x01f0, 0x6014, 0x2048, 0x6020, 0x9086, + 0x0003, 0x15b8, 0x6004, 0x9086, 0x0040, 0x090c, 0xa7a7, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, + 0xce4e, 0x080c, 0xe943, 0x080c, 0x6c94, 0x007e, 0x003e, 0x001e, + 0x080c, 0xcd43, 0x080c, 0xae90, 0x00ce, 0x0804, 0x9186, 0x2c78, + 0x600c, 0x2060, 0x0804, 0x9186, 0x85ff, 0x0120, 0x0036, 0x080c, + 0x97d4, 0x003e, 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, 0x005e, + 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0076, + 0x080c, 0xe943, 0x080c, 0xe58c, 0x007e, 0x003e, 0x001e, 0x0890, + 0x6020, 0x9086, 0x0009, 0x1168, 0xa87b, 0x0006, 0x0016, 0x0036, + 0x0076, 0x080c, 0x6c94, 0x080c, 0xae5f, 0x007e, 0x003e, 0x001e, + 0x0818, 0x6020, 0x9086, 0x000a, 0x0904, 0x91d1, 0x0804, 0x91ca, + 0x0006, 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, 0x9036, 0x0126, + 0x2091, 0x8000, 0x2079, 0x19e6, 0x7838, 0x9065, 0x0904, 0x927d, + 0x600c, 0x0006, 0x600f, 0x0000, 0x783c, 0x9c06, 0x1168, 0x0036, + 0x2019, 0x0001, 0x080c, 0xa5c8, 0x7833, 0x0000, 0x901e, 0x7b3e, + 0x7b42, 0x7b46, 0x7b4a, 0x003e, 0x080c, 0xcb5a, 0x0548, 0x6014, + 0x2048, 0x6020, 0x9086, 0x0003, 0x1590, 0x3e08, 0x918e, 0x0002, + 0x1188, 0x6010, 0x9005, 0x0170, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x0140, 0x6040, 0x9005, 0x11a8, 0x2001, 0x1987, 0x2004, + 0x6042, 0x0080, 0x6004, 0x9086, 0x0040, 0x090c, 0xa7a7, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c88, 0x080c, 0xcd43, + 0x080c, 0xae90, 0x000e, 0x0804, 0x9235, 0x7e3a, 0x7e36, 0x012e, + 0x00fe, 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, 0x6020, + 0x9086, 0x0006, 0x1118, 0x080c, 0xe58c, 0x0c50, 0x6020, 0x9086, + 0x0009, 0x1130, 0xab7a, 0x080c, 0x6c94, 0x080c, 0xae5f, 0x0c10, + 0x6020, 0x9086, 0x000a, 0x09a8, 0x0868, 0x0016, 0x0026, 0x0086, + 0x9046, 0x0099, 0x080c, 0x9386, 0x008e, 0x002e, 0x001e, 0x0005, + 0x00f6, 0x0126, 0x2079, 0x19e6, 0x2091, 0x8000, 0x080c, 0x941d, + 0x080c, 0x94ab, 0x012e, 0x00fe, 0x0005, 0x00b6, 0x0096, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0016, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2071, 0x19e6, 0x7614, 0x2660, 0x2678, 0x8cff, 0x0904, + 0x934b, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x9346, 0x88ff, + 0x0120, 0x6054, 0x9106, 0x1904, 0x9346, 0x7024, 0x9c06, 0x1558, + 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, 0x857f, 0x080c, + 0xa28f, 0x68c3, 0x0000, 0x080c, 0xa7a7, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, - 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x2069, 0x0100, 0x6824, - 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x00de, 0x00c6, 0xb83c, - 0x9005, 0x0110, 0x8001, 0xb83e, 0x2660, 0x080c, 0xaea2, 0x00ce, - 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, - 0x0804, 0x939a, 0x89ff, 0x0158, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x080c, 0xce3e, 0x080c, 0xe929, 0x080c, 0x6c86, 0x080c, - 0xa693, 0x0804, 0x939a, 0x006e, 0x00de, 0x00ee, 0x00fe, 0x012e, - 0x000e, 0x00ce, 0x009e, 0x00ae, 0x00be, 0x0005, 0x0096, 0x0006, - 0x0066, 0x00c6, 0x00d6, 0x9036, 0x7814, 0x9065, 0x0904, 0x945f, - 0x600c, 0x0006, 0x600f, 0x0000, 0x7824, 0x9c06, 0x1570, 0x2069, - 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, 0x8562, 0x080c, 0xa274, - 0x68c3, 0x0000, 0x080c, 0xa7bd, 0x7827, 0x0000, 0x0036, 0x2069, + 0x080c, 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x2069, 0x0100, 0x6824, + 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0028, 0x6003, 0x0009, + 0x630a, 0x0804, 0x9346, 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, + 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, + 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x01e8, 0x6020, 0x9086, 0x0003, 0x1580, 0x080c, 0xcd60, + 0x1118, 0x080c, 0xb821, 0x0098, 0xa867, 0x0103, 0xab7a, 0xa877, + 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, 0xce4e, 0x080c, 0xe943, + 0x080c, 0x6c94, 0x008e, 0x003e, 0x001e, 0x080c, 0xcd43, 0x080c, + 0xae90, 0x080c, 0xa67d, 0x00ce, 0x0804, 0x92c6, 0x2c78, 0x600c, + 0x2060, 0x0804, 0x92c6, 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x009e, 0x00be, 0x0005, 0x6020, 0x9086, + 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xe943, 0x080c, + 0xe58c, 0x008e, 0x003e, 0x001e, 0x08d0, 0x080c, 0xb821, 0x6020, + 0x9086, 0x0002, 0x1160, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, + 0x0904, 0x932c, 0x9086, 0x008b, 0x0904, 0x932c, 0x0840, 0x6020, + 0x9086, 0x0005, 0x1920, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, + 0x09c8, 0x9086, 0x008b, 0x09b0, 0x0804, 0x933f, 0x00b6, 0x00a6, + 0x0096, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x9280, 0x1000, + 0x2004, 0x905d, 0x0904, 0x9416, 0x00f6, 0x00e6, 0x00d6, 0x0066, + 0x2071, 0x19e6, 0xbe54, 0x7018, 0x9b06, 0x1108, 0x761a, 0x701c, + 0x9b06, 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, 0x761e, + 0xb858, 0x904d, 0x0108, 0xae56, 0x96d5, 0x0000, 0x0110, 0x2900, + 0xb05a, 0xb857, 0x0000, 0xb85b, 0x0000, 0xb800, 0xc0d4, 0xc0dc, + 0xb802, 0x080c, 0x6548, 0x0904, 0x9412, 0x7624, 0x86ff, 0x0904, + 0x9401, 0x9680, 0x0005, 0x2004, 0x9906, 0x15d8, 0x00d6, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x0560, 0x080c, 0x857f, 0x080c, 0xa28f, + 0x68c3, 0x0000, 0x080c, 0xa7a7, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, - 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x2069, 0x0100, 0x6824, 0xd084, - 0x0110, 0x6827, 0x0001, 0x003e, 0x0040, 0x080c, 0x6913, 0x1520, - 0x6003, 0x0009, 0x630a, 0x2c30, 0x00f8, 0x6014, 0x2048, 0x080c, - 0xcb48, 0x01b0, 0x6020, 0x9086, 0x0003, 0x1508, 0x080c, 0xcd50, - 0x1118, 0x080c, 0xb824, 0x0060, 0x080c, 0x6913, 0x1168, 0xa867, - 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c86, 0x080c, 0xcd33, - 0x080c, 0xaea2, 0x080c, 0xa693, 0x000e, 0x0804, 0x9405, 0x7e16, - 0x7e12, 0x00de, 0x00ce, 0x006e, 0x000e, 0x009e, 0x0005, 0x6020, - 0x9086, 0x0006, 0x1118, 0x080c, 0xe572, 0x0c50, 0x080c, 0xb824, - 0x6020, 0x9086, 0x0002, 0x1150, 0x6004, 0x0006, 0x9086, 0x0085, - 0x000e, 0x0990, 0x9086, 0x008b, 0x0978, 0x08d0, 0x6020, 0x9086, - 0x0005, 0x19b0, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0d18, - 0x9086, 0x008b, 0x0d00, 0x0860, 0x0006, 0x0066, 0x0096, 0x00b6, - 0x00c6, 0x00d6, 0x7818, 0x905d, 0x0904, 0x950c, 0xb854, 0x0006, - 0x9006, 0xb856, 0xb85a, 0xb800, 0xc0d4, 0xc0dc, 0xb802, 0x080c, - 0x653a, 0x0904, 0x9509, 0x7e24, 0x86ff, 0x0904, 0x94fc, 0x9680, - 0x0005, 0x2004, 0x9906, 0x1904, 0x94fc, 0x00d6, 0x2069, 0x0100, - 0x68c0, 0x9005, 0x0904, 0x94f3, 0x080c, 0x8562, 0x080c, 0xa274, - 0x68c3, 0x0000, 0x080c, 0xa7bd, 0x7827, 0x0000, 0x0036, 0x2069, - 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, - 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x2069, 0x0100, 0x6824, 0xd084, - 0x0110, 0x6827, 0x0001, 0x003e, 0x00de, 0x00c6, 0x3e08, 0x918e, - 0x0002, 0x1168, 0xb800, 0xd0bc, 0x0150, 0x9680, 0x0010, 0x200c, - 0x81ff, 0x1518, 0x2009, 0x1987, 0x210c, 0x2102, 0x00f0, 0xb83c, - 0x9005, 0x0110, 0x8001, 0xb83e, 0x2660, 0x600f, 0x0000, 0x080c, - 0xaea2, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, - 0x630a, 0x00ce, 0x0804, 0x949f, 0x89ff, 0x0138, 0xa867, 0x0103, - 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c86, 0x080c, 0xa693, 0x0804, - 0x949f, 0x000e, 0x0804, 0x9493, 0x781e, 0x781a, 0x00de, 0x00ce, - 0x00be, 0x009e, 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0096, - 0x0066, 0xb800, 0xd0dc, 0x01a0, 0xb84c, 0x904d, 0x0188, 0xa878, - 0x9606, 0x1170, 0x2071, 0x19e6, 0x7024, 0x9035, 0x0148, 0x9080, - 0x0005, 0x2004, 0x9906, 0x1120, 0xb800, 0xc0dc, 0xb802, 0x0029, - 0x006e, 0x009e, 0x00de, 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, - 0x78c0, 0x9005, 0x1138, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, - 0x00ce, 0x04b8, 0x080c, 0xa274, 0x78c3, 0x0000, 0x080c, 0xa7bd, - 0x7027, 0x0000, 0x0036, 0x2079, 0x0140, 0x7b04, 0x9384, 0x1000, - 0x0138, 0x2001, 0x0100, 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, - 0x2079, 0x0100, 0x7824, 0xd084, 0x0110, 0x7827, 0x0001, 0x080c, - 0xa7bd, 0x003e, 0x080c, 0x653a, 0x00c6, 0xb83c, 0x9005, 0x0110, - 0x8001, 0xb83e, 0x2660, 0x080c, 0xae71, 0x00ce, 0xa867, 0x0103, - 0xab7a, 0xa877, 0x0000, 0x080c, 0xce3e, 0x080c, 0x6c86, 0x080c, - 0xa693, 0x00fe, 0x0005, 0x00b6, 0x00e6, 0x00c6, 0x2011, 0x0101, - 0x2204, 0xc0c4, 0x2012, 0x2001, 0x180c, 0x2014, 0xc2e4, 0x2202, - 0x2071, 0x19e6, 0x7004, 0x9084, 0x0007, 0x0002, 0x9598, 0x959c, - 0x95ba, 0x95e3, 0x9621, 0x9598, 0x95b3, 0x9596, 0x080c, 0x0dd5, - 0x00ce, 0x00ee, 0x00be, 0x0005, 0x7024, 0x9065, 0x0148, 0x7020, - 0x8001, 0x7022, 0x600c, 0x9015, 0x0158, 0x7216, 0x600f, 0x0000, - 0x7007, 0x0000, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, - 0x7216, 0x7212, 0x0ca8, 0x7007, 0x0000, 0x7027, 0x0000, 0x7020, - 0x9005, 0x0070, 0x6010, 0x2058, 0x080c, 0x653a, 0xb800, 0xc0dc, - 0xb802, 0x7007, 0x0000, 0x7027, 0x0000, 0x7020, 0x8001, 0x7022, - 0x1148, 0x2001, 0x180c, 0x2014, 0xd2ec, 0x1180, 0x00ce, 0x00ee, - 0x00be, 0x0005, 0xb854, 0x9015, 0x0120, 0x721e, 0x080c, 0x9687, - 0x0ca8, 0x7218, 0x721e, 0x080c, 0x9687, 0x0c80, 0xc2ec, 0x2202, - 0x080c, 0x97b5, 0x0c58, 0x7024, 0x9065, 0x05b8, 0x700c, 0x9c06, - 0x1160, 0x080c, 0xa693, 0x600c, 0x9015, 0x0120, 0x720e, 0x600f, - 0x0000, 0x0448, 0x720e, 0x720a, 0x0430, 0x7014, 0x9c06, 0x1160, - 0x080c, 0xa693, 0x600c, 0x9015, 0x0120, 0x7216, 0x600f, 0x0000, - 0x00d0, 0x7216, 0x7212, 0x00b8, 0x6020, 0x9086, 0x0003, 0x1198, - 0x6010, 0x2058, 0x080c, 0x653a, 0xb800, 0xc0dc, 0xb802, 0x080c, - 0xa693, 0x701c, 0x9065, 0x0138, 0xb854, 0x9015, 0x0110, 0x721e, - 0x0010, 0x7218, 0x721e, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, - 0x0005, 0x7024, 0x9065, 0x0140, 0x080c, 0xa693, 0x600c, 0x9015, - 0x0158, 0x720e, 0x600f, 0x0000, 0x080c, 0xa7bd, 0x7027, 0x0000, - 0x00ce, 0x00ee, 0x00be, 0x0005, 0x720e, 0x720a, 0x0ca8, 0x00d6, - 0x2069, 0x19e6, 0x6830, 0x9084, 0x0003, 0x0002, 0x9644, 0x9646, - 0x966a, 0x9642, 0x080c, 0x0dd5, 0x00de, 0x0005, 0x00c6, 0x6840, - 0x9086, 0x0001, 0x01b8, 0x683c, 0x9065, 0x0130, 0x600c, 0x9015, - 0x0170, 0x6a3a, 0x600f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, - 0x2011, 0x1a05, 0x2013, 0x0000, 0x00ce, 0x00de, 0x0005, 0x683a, - 0x6836, 0x0c90, 0x6843, 0x0000, 0x6838, 0x9065, 0x0d68, 0x6003, - 0x0003, 0x0c50, 0x00c6, 0x9006, 0x6842, 0x6846, 0x684a, 0x683c, - 0x9065, 0x0160, 0x600c, 0x9015, 0x0130, 0x6a3a, 0x600f, 0x0000, - 0x683f, 0x0000, 0x0018, 0x683e, 0x683a, 0x6836, 0x00ce, 0x00de, - 0x0005, 0x2001, 0x180c, 0x200c, 0xc1e5, 0x2102, 0x0005, 0x2001, - 0x180c, 0x200c, 0xd1ec, 0x0120, 0xc1ec, 0x2102, 0x080c, 0x97b5, - 0x2001, 0x19f2, 0x2004, 0x9086, 0x0001, 0x0d58, 0x00d6, 0x2069, - 0x19e6, 0x6804, 0x9084, 0x0007, 0x0006, 0x9005, 0x11c8, 0x2001, - 0x1837, 0x2004, 0x9084, 0x0028, 0x1198, 0x2001, 0x197b, 0x2004, - 0x9086, 0xaaaa, 0x0168, 0x2001, 0x188b, 0x2004, 0xd08c, 0x1118, - 0xd084, 0x1118, 0x0028, 0x080c, 0x97b5, 0x000e, 0x00de, 0x0005, - 0x000e, 0x0002, 0x96c4, 0x9783, 0x9783, 0x9783, 0x9783, 0x9785, - 0x9783, 0x96c2, 0x080c, 0x0dd5, 0x6820, 0x9005, 0x1110, 0x00de, - 0x0005, 0x00c6, 0x680c, 0x9065, 0x0520, 0x6114, 0x0096, 0x2148, - 0xa964, 0x009e, 0x918c, 0x00ff, 0x918e, 0x0035, 0x1180, 0x2009, - 0x1837, 0x210c, 0x918c, 0x0028, 0x1150, 0x080c, 0x73a5, 0x0138, - 0x0006, 0x2009, 0x188b, 0x2104, 0xc095, 0x200a, 0x000e, 0x6807, - 0x0004, 0x6826, 0x682b, 0x0000, 0x080c, 0x9862, 0x00ce, 0x00de, - 0x0005, 0x6814, 0x9065, 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, - 0x0000, 0x080c, 0x9862, 0x00ce, 0x00de, 0x0005, 0x00b6, 0x00e6, - 0x6a1c, 0x92dd, 0x0000, 0x0904, 0x976d, 0xb84c, 0x900d, 0x0118, - 0xb888, 0x9005, 0x01a0, 0xb854, 0x905d, 0x0120, 0x920e, 0x0904, - 0x976d, 0x0028, 0x6818, 0x920e, 0x0904, 0x976d, 0x2058, 0xb84c, - 0x900d, 0x0d88, 0xb888, 0x9005, 0x1d70, 0x2b00, 0x681e, 0xbb3c, - 0xb838, 0x9302, 0x1e40, 0x080c, 0xae48, 0x0904, 0x976d, 0x8318, - 0xbb3e, 0x6116, 0x2b10, 0x6212, 0x0096, 0x2148, 0xa880, 0x9084, - 0x00ff, 0x605e, 0xa883, 0x0000, 0xa884, 0x009e, 0x908a, 0x199a, - 0x0210, 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, + 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x2069, 0x0100, 0x6824, 0xd084, + 0x0110, 0x6827, 0x0001, 0x003e, 0x00de, 0x00c6, 0xb83c, 0x9005, + 0x0110, 0x8001, 0xb83e, 0x2660, 0x080c, 0xae90, 0x00ce, 0x0048, + 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, + 0x93b9, 0x89ff, 0x0158, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, + 0x080c, 0xce4e, 0x080c, 0xe943, 0x080c, 0x6c94, 0x080c, 0xa67d, + 0x0804, 0x93b9, 0x006e, 0x00de, 0x00ee, 0x00fe, 0x012e, 0x000e, + 0x00ce, 0x009e, 0x00ae, 0x00be, 0x0005, 0x0096, 0x0006, 0x0066, + 0x00c6, 0x00d6, 0x9036, 0x7814, 0x9065, 0x0904, 0x947e, 0x600c, + 0x0006, 0x600f, 0x0000, 0x7824, 0x9c06, 0x1570, 0x2069, 0x0100, + 0x6820, 0xd0a4, 0x1508, 0x080c, 0x857f, 0x080c, 0xa28f, 0x68c3, + 0x0000, 0x080c, 0xa7a7, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2cfc, + 0x9006, 0x080c, 0x2cfc, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x0040, 0x080c, 0x6921, 0x1520, 0x6003, + 0x0009, 0x630a, 0x2c30, 0x00f8, 0x6014, 0x2048, 0x080c, 0xcb58, + 0x01b0, 0x6020, 0x9086, 0x0003, 0x1508, 0x080c, 0xcd60, 0x1118, + 0x080c, 0xb821, 0x0060, 0x080c, 0x6921, 0x1168, 0xa867, 0x0103, + 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c94, 0x080c, 0xcd43, 0x080c, + 0xae90, 0x080c, 0xa67d, 0x000e, 0x0804, 0x9424, 0x7e16, 0x7e12, + 0x00de, 0x00ce, 0x006e, 0x000e, 0x009e, 0x0005, 0x6020, 0x9086, + 0x0006, 0x1118, 0x080c, 0xe58c, 0x0c50, 0x080c, 0xb821, 0x6020, + 0x9086, 0x0002, 0x1150, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, + 0x0990, 0x9086, 0x008b, 0x0978, 0x08d0, 0x6020, 0x9086, 0x0005, + 0x19b0, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0d18, 0x9086, + 0x008b, 0x0d00, 0x0860, 0x0006, 0x0066, 0x0096, 0x00b6, 0x00c6, + 0x00d6, 0x7818, 0x905d, 0x0904, 0x952b, 0xb854, 0x0006, 0x9006, + 0xb856, 0xb85a, 0xb800, 0xc0d4, 0xc0dc, 0xb802, 0x080c, 0x6548, + 0x0904, 0x9528, 0x7e24, 0x86ff, 0x0904, 0x951b, 0x9680, 0x0005, + 0x2004, 0x9906, 0x1904, 0x951b, 0x00d6, 0x2069, 0x0100, 0x68c0, + 0x9005, 0x0904, 0x9512, 0x080c, 0x857f, 0x080c, 0xa28f, 0x68c3, + 0x0000, 0x080c, 0xa7a7, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2cfc, + 0x9006, 0x080c, 0x2cfc, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x00de, 0x00c6, 0x3e08, 0x918e, 0x0002, + 0x1168, 0xb800, 0xd0bc, 0x0150, 0x9680, 0x0010, 0x200c, 0x81ff, + 0x1518, 0x2009, 0x1987, 0x210c, 0x2102, 0x00f0, 0xb83c, 0x9005, + 0x0110, 0x8001, 0xb83e, 0x2660, 0x600f, 0x0000, 0x080c, 0xae90, + 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, + 0x00ce, 0x0804, 0x94be, 0x89ff, 0x0138, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x080c, 0x6c94, 0x080c, 0xa67d, 0x0804, 0x94be, + 0x000e, 0x0804, 0x94b2, 0x781e, 0x781a, 0x00de, 0x00ce, 0x00be, + 0x009e, 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0096, 0x0066, + 0xb800, 0xd0dc, 0x01a0, 0xb84c, 0x904d, 0x0188, 0xa878, 0x9606, + 0x1170, 0x2071, 0x19e6, 0x7024, 0x9035, 0x0148, 0x9080, 0x0005, + 0x2004, 0x9906, 0x1120, 0xb800, 0xc0dc, 0xb802, 0x0029, 0x006e, + 0x009e, 0x00de, 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, + 0x9005, 0x1138, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, + 0x04b8, 0x080c, 0xa28f, 0x78c3, 0x0000, 0x080c, 0xa7a7, 0x7027, + 0x0000, 0x0036, 0x2079, 0x0140, 0x7b04, 0x9384, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x2079, + 0x0100, 0x7824, 0xd084, 0x0110, 0x7827, 0x0001, 0x080c, 0xa7a7, + 0x003e, 0x080c, 0x6548, 0x00c6, 0xb83c, 0x9005, 0x0110, 0x8001, + 0xb83e, 0x2660, 0x080c, 0xae5f, 0x00ce, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x080c, 0xce4e, 0x080c, 0x6c94, 0x080c, 0xa67d, + 0x00fe, 0x0005, 0x00b6, 0x00e6, 0x00c6, 0x2011, 0x0101, 0x2204, + 0xc0c4, 0x2012, 0x2001, 0x180c, 0x2014, 0xc2e4, 0x2202, 0x2071, + 0x19e6, 0x7004, 0x9084, 0x0007, 0x0002, 0x95b7, 0x95bb, 0x95d9, + 0x9602, 0x9640, 0x95b7, 0x95d2, 0x95b5, 0x080c, 0x0dd5, 0x00ce, + 0x00ee, 0x00be, 0x0005, 0x7024, 0x9065, 0x0148, 0x7020, 0x8001, + 0x7022, 0x600c, 0x9015, 0x0158, 0x7216, 0x600f, 0x0000, 0x7007, + 0x0000, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, 0x7216, + 0x7212, 0x0ca8, 0x7007, 0x0000, 0x7027, 0x0000, 0x7020, 0x9005, + 0x0070, 0x6010, 0x2058, 0x080c, 0x6548, 0xb800, 0xc0dc, 0xb802, + 0x7007, 0x0000, 0x7027, 0x0000, 0x7020, 0x8001, 0x7022, 0x1148, + 0x2001, 0x180c, 0x2014, 0xd2ec, 0x1180, 0x00ce, 0x00ee, 0x00be, + 0x0005, 0xb854, 0x9015, 0x0120, 0x721e, 0x080c, 0x96a6, 0x0ca8, + 0x7218, 0x721e, 0x080c, 0x96a6, 0x0c80, 0xc2ec, 0x2202, 0x080c, + 0x97d4, 0x0c58, 0x7024, 0x9065, 0x05b8, 0x700c, 0x9c06, 0x1160, + 0x080c, 0xa67d, 0x600c, 0x9015, 0x0120, 0x720e, 0x600f, 0x0000, + 0x0448, 0x720e, 0x720a, 0x0430, 0x7014, 0x9c06, 0x1160, 0x080c, + 0xa67d, 0x600c, 0x9015, 0x0120, 0x7216, 0x600f, 0x0000, 0x00d0, + 0x7216, 0x7212, 0x00b8, 0x6020, 0x9086, 0x0003, 0x1198, 0x6010, + 0x2058, 0x080c, 0x6548, 0xb800, 0xc0dc, 0xb802, 0x080c, 0xa67d, + 0x701c, 0x9065, 0x0138, 0xb854, 0x9015, 0x0110, 0x721e, 0x0010, + 0x7218, 0x721e, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, + 0x7024, 0x9065, 0x0140, 0x080c, 0xa67d, 0x600c, 0x9015, 0x0158, + 0x720e, 0x600f, 0x0000, 0x080c, 0xa7a7, 0x7027, 0x0000, 0x00ce, + 0x00ee, 0x00be, 0x0005, 0x720e, 0x720a, 0x0ca8, 0x00d6, 0x2069, + 0x19e6, 0x6830, 0x9084, 0x0003, 0x0002, 0x9663, 0x9665, 0x9689, + 0x9661, 0x080c, 0x0dd5, 0x00de, 0x0005, 0x00c6, 0x6840, 0x9086, + 0x0001, 0x01b8, 0x683c, 0x9065, 0x0130, 0x600c, 0x9015, 0x0170, + 0x6a3a, 0x600f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, 0x2011, + 0x1a05, 0x2013, 0x0000, 0x00ce, 0x00de, 0x0005, 0x683a, 0x6836, + 0x0c90, 0x6843, 0x0000, 0x6838, 0x9065, 0x0d68, 0x6003, 0x0003, + 0x0c50, 0x00c6, 0x9006, 0x6842, 0x6846, 0x684a, 0x683c, 0x9065, + 0x0160, 0x600c, 0x9015, 0x0130, 0x6a3a, 0x600f, 0x0000, 0x683f, + 0x0000, 0x0018, 0x683e, 0x683a, 0x6836, 0x00ce, 0x00de, 0x0005, + 0x2001, 0x180c, 0x200c, 0xc1e5, 0x2102, 0x0005, 0x2001, 0x180c, + 0x200c, 0xd1ec, 0x0120, 0xc1ec, 0x2102, 0x080c, 0x97d4, 0x2001, + 0x19f2, 0x2004, 0x9086, 0x0001, 0x0d58, 0x00d6, 0x2069, 0x19e6, + 0x6804, 0x9084, 0x0007, 0x0006, 0x9005, 0x11c8, 0x2001, 0x1837, + 0x2004, 0x9084, 0x0028, 0x1198, 0x2001, 0x197b, 0x2004, 0x9086, + 0xaaaa, 0x0168, 0x2001, 0x188b, 0x2004, 0xd08c, 0x1118, 0xd084, + 0x1118, 0x0028, 0x080c, 0x97d4, 0x000e, 0x00de, 0x0005, 0x000e, + 0x0002, 0x96e3, 0x97a2, 0x97a2, 0x97a2, 0x97a2, 0x97a4, 0x97a2, + 0x96e1, 0x080c, 0x0dd5, 0x6820, 0x9005, 0x1110, 0x00de, 0x0005, + 0x00c6, 0x680c, 0x9065, 0x0520, 0x6114, 0x0096, 0x2148, 0xa964, + 0x009e, 0x918c, 0x00ff, 0x918e, 0x0035, 0x1180, 0x2009, 0x1837, + 0x210c, 0x918c, 0x0028, 0x1150, 0x080c, 0x73b3, 0x0138, 0x0006, + 0x2009, 0x188b, 0x2104, 0xc095, 0x200a, 0x000e, 0x6807, 0x0004, + 0x6826, 0x682b, 0x0000, 0x080c, 0x987d, 0x00ce, 0x00de, 0x0005, + 0x6814, 0x9065, 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, 0x0000, + 0x080c, 0x987d, 0x00ce, 0x00de, 0x0005, 0x00b6, 0x00e6, 0x6a1c, + 0x92dd, 0x0000, 0x0904, 0x978c, 0xb84c, 0x900d, 0x0118, 0xb888, + 0x9005, 0x01a0, 0xb854, 0x905d, 0x0120, 0x920e, 0x0904, 0x978c, + 0x0028, 0x6818, 0x920e, 0x0904, 0x978c, 0x2058, 0xb84c, 0x900d, + 0x0d88, 0xb888, 0x9005, 0x1d70, 0x2b00, 0x681e, 0xbb3c, 0xb838, + 0x9302, 0x1e40, 0x080c, 0xae36, 0x0904, 0x978c, 0x8318, 0xbb3e, + 0x6116, 0x2b10, 0x6212, 0x0096, 0x2148, 0xa880, 0x9084, 0x00ff, + 0x605e, 0xa883, 0x0000, 0xa884, 0x009e, 0x908a, 0x199a, 0x0210, + 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, 0x6114, + 0x0096, 0x2148, 0xa964, 0x009e, 0x918c, 0x00ff, 0x918e, 0x0048, + 0x0538, 0x00f6, 0x2c78, 0x2061, 0x0100, 0xbac0, 0x629a, 0x2069, + 0x0200, 0x2071, 0x0240, 0x080c, 0x9dca, 0x2069, 0x19e6, 0xbb00, + 0xc3dd, 0xbb02, 0x6807, 0x0002, 0x2f18, 0x6b26, 0x682b, 0x0000, + 0x7823, 0x0003, 0x7803, 0x0001, 0x7807, 0x0040, 0x00fe, 0x00ee, + 0x00be, 0x00ce, 0x00de, 0x0005, 0x00ee, 0x00be, 0x00ce, 0x0cd0, + 0x6807, 0x0006, 0x2c18, 0x6b26, 0x6820, 0x8001, 0x6822, 0x682b, + 0x0000, 0x080c, 0x6548, 0x080c, 0xac76, 0x00ee, 0x00be, 0x00ce, + 0x00de, 0x0005, 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0508, 0x6114, 0x0096, 0x2148, 0xa964, 0x009e, 0x918c, 0x00ff, 0x918e, - 0x0048, 0x0538, 0x00f6, 0x2c78, 0x2061, 0x0100, 0xbac0, 0x629a, - 0x2069, 0x0200, 0x2071, 0x0240, 0x080c, 0x9daf, 0x2069, 0x19e6, - 0xbb00, 0xc3dd, 0xbb02, 0x6807, 0x0002, 0x2f18, 0x6b26, 0x682b, - 0x0000, 0x7823, 0x0003, 0x7803, 0x0001, 0x7807, 0x0040, 0x00fe, - 0x00ee, 0x00be, 0x00ce, 0x00de, 0x0005, 0x00ee, 0x00be, 0x00ce, - 0x0cd0, 0x6807, 0x0006, 0x2c18, 0x6b26, 0x6820, 0x8001, 0x6822, - 0x682b, 0x0000, 0x080c, 0x653a, 0x080c, 0xac88, 0x00ee, 0x00be, - 0x00ce, 0x00de, 0x0005, 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, - 0x0508, 0x6114, 0x0096, 0x2148, 0xa964, 0x009e, 0x918c, 0x00ff, - 0x918e, 0x0035, 0x1180, 0x2009, 0x1837, 0x210c, 0x918c, 0x0028, - 0x1150, 0x080c, 0x73a5, 0x0138, 0x0006, 0x2009, 0x188b, 0x2104, - 0xc095, 0x200a, 0x000e, 0x6807, 0x0004, 0x6826, 0x682b, 0x0000, - 0x080c, 0x9862, 0x00ce, 0x00de, 0x0005, 0x2001, 0x180c, 0x2014, - 0xc2ed, 0x2202, 0x00de, 0x00fe, 0x0005, 0x00f6, 0x00d6, 0x2069, - 0x19e6, 0x6830, 0x9086, 0x0000, 0x1570, 0x2001, 0x180c, 0x2014, - 0xd2e4, 0x0130, 0xc2e4, 0x2202, 0x080c, 0x9696, 0x2069, 0x19e6, - 0x2001, 0x180c, 0x200c, 0xd1c4, 0x1508, 0x6838, 0x907d, 0x01d8, - 0x6a04, 0x9296, 0x0000, 0x1904, 0x9856, 0x7920, 0x918e, 0x0009, - 0x0588, 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, - 0x0126, 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1c48, 0x1178, - 0x012e, 0x080c, 0xa0d1, 0x00de, 0x00fe, 0x0005, 0xc1c4, 0x2102, - 0x0066, 0x2031, 0x0001, 0x080c, 0x7455, 0x006e, 0x08b0, 0x012e, - 0x6843, 0x0000, 0x7803, 0x0002, 0x780c, 0x9015, 0x0140, 0x6a3a, - 0x780f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, 0x0c20, 0x683a, - 0x6836, 0x0cc0, 0x7908, 0xd1fc, 0x1198, 0x6833, 0x0001, 0x683e, - 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, 0x00f6, 0x2091, 0x2400, - 0x002e, 0x080c, 0x1c48, 0x19d8, 0x012e, 0x080c, 0xa052, 0x0858, - 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x1188, 0x2001, 0x197b, - 0x2004, 0x9086, 0xaaaa, 0x0158, 0x2001, 0x19e7, 0x2004, 0x9005, - 0x11f0, 0x2001, 0x188b, 0x200c, 0xc185, 0xc18c, 0x2102, 0x2f00, + 0x0035, 0x1180, 0x2009, 0x1837, 0x210c, 0x918c, 0x0028, 0x1150, + 0x080c, 0x73b3, 0x0138, 0x0006, 0x2009, 0x188b, 0x2104, 0xc095, + 0x200a, 0x000e, 0x6807, 0x0004, 0x6826, 0x682b, 0x0000, 0x080c, + 0x987d, 0x00ce, 0x00de, 0x0005, 0x2001, 0x180c, 0x2014, 0xc2ed, + 0x2202, 0x00de, 0x00fe, 0x0005, 0x00f6, 0x00d6, 0x2069, 0x19e6, + 0x6830, 0x9086, 0x0000, 0x1570, 0x2001, 0x180c, 0x2014, 0xd2e4, + 0x0130, 0xc2e4, 0x2202, 0x080c, 0x96b5, 0x2069, 0x19e6, 0x2001, + 0x180c, 0x200c, 0xd1c4, 0x1508, 0x6838, 0x907d, 0x01d8, 0x6a04, + 0x9296, 0x0000, 0x1904, 0x9871, 0x7920, 0x918e, 0x0009, 0x0568, + 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, + 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1c53, 0x1158, 0x012e, + 0x080c, 0xa0ec, 0x00de, 0x00fe, 0x0005, 0xc1c4, 0x2102, 0x080c, + 0x7463, 0x08d0, 0x012e, 0x6843, 0x0000, 0x7803, 0x0002, 0x780c, + 0x9015, 0x0140, 0x6a3a, 0x780f, 0x0000, 0x6833, 0x0000, 0x683f, + 0x0000, 0x0c40, 0x683a, 0x6836, 0x0cc0, 0x7908, 0xd1fc, 0x1198, 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, - 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1c48, 0x1904, 0x97f7, - 0x012e, 0x6a3c, 0x2278, 0x080c, 0x9fdc, 0x0804, 0x97eb, 0x2011, - 0x188b, 0x2204, 0xc08d, 0x2012, 0x0804, 0x97eb, 0x6a04, 0x9296, - 0x0006, 0x1904, 0x97ad, 0x6a30, 0x9296, 0x0000, 0x0904, 0x97d5, - 0x0804, 0x97ad, 0x6020, 0x9084, 0x000f, 0x000b, 0x0005, 0x9876, - 0x987b, 0x9ce9, 0x9d78, 0x987b, 0x9ce9, 0x9d78, 0x9876, 0x987b, - 0x9876, 0x9876, 0x9876, 0x9876, 0x9876, 0x9876, 0x080c, 0x957b, - 0x080c, 0x9687, 0x0005, 0x00b6, 0x0156, 0x0136, 0x0146, 0x01c6, - 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, - 0x0240, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0dd5, 0x6110, 0x2158, - 0xb9c0, 0x2c78, 0x2061, 0x0100, 0x619a, 0x908a, 0x0040, 0x1a04, - 0x98e7, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, - 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0x9a6c, 0x9aa7, 0x9ad0, - 0x9b78, 0x9b9a, 0x9ba0, 0x9bad, 0x9bb5, 0x9bc1, 0x9bc7, 0x9bd8, - 0x9bc7, 0x9c30, 0x9bb5, 0x9c3c, 0x9c42, 0x9bc1, 0x9c42, 0x9c4e, - 0x98e5, 0x98e5, 0x98e5, 0x98e5, 0x98e5, 0x98e5, 0x98e5, 0x98e5, - 0x98e5, 0x98e5, 0x98e5, 0xa46e, 0xa491, 0xa4a2, 0xa4c2, 0xa4f4, - 0x9bad, 0x98e5, 0x9bad, 0x9bc7, 0x98e5, 0x9ad0, 0x9b78, 0x98e5, - 0xa8b4, 0x9bc7, 0x98e5, 0xa8d0, 0x9bc7, 0x98e5, 0x9bc1, 0x9a66, - 0x9908, 0x98e5, 0xa8ec, 0xa959, 0xaa30, 0x98e5, 0xaa3d, 0x9baa, - 0xaa68, 0x98e5, 0xa4fe, 0xaa95, 0x98e5, 0x080c, 0x0dd5, 0x2100, - 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, - 0x013e, 0x015e, 0x00be, 0x0005, 0xab30, 0xabe2, 0x9906, 0x992f, - 0x99db, 0x99e6, 0x9906, 0x9bad, 0x9906, 0x9a2d, 0x9a39, 0x994a, - 0x9906, 0x9965, 0x9999, 0xad4f, 0xad94, 0x9bc7, 0x080c, 0x0dd5, - 0x00d6, 0x0096, 0x080c, 0x9c61, 0x7003, 0x2414, 0x7007, 0x0018, - 0x700b, 0x0800, 0x7814, 0x2048, 0xa83c, 0x700e, 0xa850, 0x7022, - 0xa854, 0x7026, 0x60c3, 0x0018, 0x080c, 0xa248, 0x009e, 0x00de, - 0x0005, 0x7810, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x080c, 0xaddb, - 0x1118, 0x9084, 0xff80, 0x0110, 0x9085, 0x0001, 0x0005, 0x00d6, - 0x0096, 0x080c, 0x9c61, 0x7003, 0x0500, 0x7814, 0x2048, 0xa874, - 0x700a, 0xa878, 0x700e, 0xa87c, 0x7012, 0xa880, 0x7016, 0xa884, - 0x701a, 0xa888, 0x701e, 0x60c3, 0x0010, 0x080c, 0xa248, 0x009e, - 0x00de, 0x0005, 0x00d6, 0x0096, 0x080c, 0x9c61, 0x7003, 0x0500, - 0x7814, 0x2048, 0xa8cc, 0x700a, 0xa8d0, 0x700e, 0xa8d4, 0x7012, - 0xa8d8, 0x7016, 0xa8dc, 0x701a, 0xa8e0, 0x701e, 0x60c3, 0x0010, - 0x080c, 0xa248, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, - 0x2091, 0x8000, 0x080c, 0x9c61, 0x20e9, 0x0000, 0x2001, 0x19a2, - 0x2003, 0x0000, 0x7814, 0x2048, 0xa814, 0x8003, 0x60c2, 0xa830, - 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, 0x2098, 0x2001, - 0x19a2, 0x0016, 0x200c, 0x2001, 0x0001, 0x080c, 0x23b9, 0x080c, - 0xd886, 0x9006, 0x080c, 0x23b9, 0x001e, 0xa804, 0x9005, 0x0110, - 0x2048, 0x0c28, 0x04d9, 0x080c, 0xa248, 0x012e, 0x009e, 0x00de, - 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, 0x9cac, - 0x20e9, 0x0000, 0x2001, 0x19a2, 0x2003, 0x0000, 0x7814, 0x2048, - 0xa86f, 0x0200, 0xa873, 0x0000, 0xa814, 0x8003, 0x60c2, 0xa830, - 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, 0x2098, 0x2001, - 0x19a2, 0x0016, 0x200c, 0x080c, 0xd886, 0x001e, 0xa804, 0x9005, - 0x0110, 0x2048, 0x0c60, 0x0051, 0x7814, 0x2048, 0x080c, 0x0fb1, - 0x080c, 0xa248, 0x012e, 0x009e, 0x00de, 0x0005, 0x60c0, 0x8004, - 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, 0x0004, 0x20a3, 0x0000, - 0x8000, 0x1de0, 0x0005, 0x080c, 0x9c61, 0x7003, 0x7800, 0x7808, - 0x8007, 0x700a, 0x60c3, 0x0008, 0x0804, 0xa248, 0x00d6, 0x00e6, - 0x080c, 0x9cac, 0x7814, 0x9084, 0xff00, 0x2073, 0x0200, 0x8e70, - 0x8e70, 0x9095, 0x0010, 0x2272, 0x8e70, 0x2073, 0x0034, 0x8e70, - 0x2069, 0x1805, 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, - 0x99fc, 0x2069, 0x1801, 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, - 0x1f04, 0x9a05, 0x2069, 0x19b2, 0x9086, 0xdf00, 0x0110, 0x2069, - 0x19cc, 0x20a9, 0x001a, 0x9e86, 0x0260, 0x1148, 0x00c6, 0x2061, - 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, 0x2071, 0x0240, 0x2d04, - 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, 0x9a13, 0x60c3, 0x004c, - 0x080c, 0xa248, 0x00ee, 0x00de, 0x0005, 0x080c, 0x9c61, 0x7003, - 0x6300, 0x7007, 0x0028, 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, - 0xa248, 0x00d6, 0x0026, 0x0016, 0x080c, 0x9cac, 0x7003, 0x0200, - 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, 0x2009, 0x0001, 0x2011, - 0x000c, 0x2069, 0x1923, 0x6810, 0xd084, 0x1148, 0x2073, 0x0500, - 0x8e70, 0x2073, 0x0000, 0x8e70, 0x8108, 0x9290, 0x0004, 0x2073, - 0x0800, 0x8e70, 0x2073, 0x0000, 0x00ee, 0x7206, 0x710a, 0x62c2, - 0x080c, 0xa248, 0x001e, 0x002e, 0x00de, 0x0005, 0x2001, 0x1818, - 0x2004, 0x609a, 0x0804, 0xa248, 0x080c, 0x9c61, 0x7003, 0x5200, - 0x2069, 0x1847, 0x6804, 0xd084, 0x0130, 0x6828, 0x0016, 0x080c, - 0x2873, 0x710e, 0x001e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, - 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x20a9, 0x0004, - 0x2099, 0x1801, 0x20a1, 0x0254, 0x4003, 0x080c, 0xaddb, 0x1120, - 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x7032, - 0x2001, 0x1820, 0x2004, 0x7036, 0x0030, 0x2001, 0x1818, 0x2004, - 0x9084, 0x00ff, 0x7036, 0x60c3, 0x001c, 0x0804, 0xa248, 0x080c, - 0x9c61, 0x7003, 0x0500, 0x080c, 0xaddb, 0x1120, 0xb8a0, 0x9082, - 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x700a, 0x2001, 0x1820, - 0x2004, 0x700e, 0x0030, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, - 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, - 0x0000, 0x20a1, 0x0250, 0x4003, 0x60c3, 0x0010, 0x0804, 0xa248, - 0x080c, 0x9c61, 0x9006, 0x080c, 0x6945, 0xb8a0, 0x9086, 0x007e, - 0x1130, 0x7003, 0x0400, 0x620c, 0xc2b4, 0x620e, 0x0058, 0x7814, - 0x0096, 0x904d, 0x0120, 0x9006, 0xa89a, 0xa8a6, 0xa8aa, 0x009e, - 0x7003, 0x0300, 0xb8a0, 0x9086, 0x007e, 0x1904, 0x9b3f, 0x00d6, - 0x2069, 0x196b, 0x2001, 0x1837, 0x2004, 0xd0a4, 0x0188, 0x6800, - 0x700a, 0x6808, 0x9084, 0x2000, 0x7012, 0x080c, 0xadf2, 0x680c, - 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, 0x681c, 0x7026, 0x0090, - 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, 0x080c, 0x73a5, 0x1118, - 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, 0x7012, 0x080c, 0xadf2, - 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, - 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, - 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x00d6, 0x080c, 0xab17, - 0x2069, 0x1973, 0x2071, 0x024e, 0x6800, 0xc0dd, 0x7002, 0x080c, - 0x56dc, 0xd0e4, 0x0110, 0x680c, 0x700e, 0x00de, 0x04a8, 0x2001, - 0x1837, 0x2004, 0xd0a4, 0x0170, 0x0016, 0x2001, 0x196c, 0x200c, - 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, 0x0000, 0x080c, 0x28b4, - 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, 0x196b, 0x20e9, 0x0000, - 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, 0x20a9, 0x0004, 0x2099, - 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, - 0x20a1, 0x025a, 0x4003, 0x080c, 0xab17, 0x20a1, 0x024e, 0x20a9, - 0x0008, 0x2099, 0x1973, 0x4003, 0x60c3, 0x0074, 0x0804, 0xa248, - 0x080c, 0x9c61, 0x7003, 0x2010, 0x7007, 0x0014, 0x700b, 0x0800, - 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, 0x1847, 0x7904, 0x00fe, - 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, 0x0110, 0x9085, 0x0010, - 0x9085, 0x0002, 0x00d6, 0x0804, 0x9c11, 0x7026, 0x60c3, 0x0014, - 0x0804, 0xa248, 0x080c, 0x9c61, 0x7003, 0x5000, 0x0804, 0x9aea, - 0x080c, 0x9c61, 0x7003, 0x2110, 0x7007, 0x0014, 0x60c3, 0x0014, - 0x0804, 0xa248, 0x080c, 0x9ca3, 0x0010, 0x080c, 0x9cac, 0x7003, - 0x0200, 0x60c3, 0x0004, 0x0804, 0xa248, 0x080c, 0x9cac, 0x7003, + 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1c53, 0x19d8, 0x012e, + 0x080c, 0xa06d, 0x0878, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, + 0x1188, 0x2001, 0x197b, 0x2004, 0x9086, 0xaaaa, 0x0158, 0x2001, + 0x19e7, 0x2004, 0x9005, 0x11f0, 0x2001, 0x188b, 0x200c, 0xc185, + 0xc18c, 0x2102, 0x2f00, 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, + 0x684b, 0x0000, 0x0126, 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, + 0x1c53, 0x1904, 0x9812, 0x012e, 0x6a3c, 0x2278, 0x080c, 0x9ff7, + 0x0804, 0x980a, 0x2011, 0x188b, 0x2204, 0xc08d, 0x2012, 0x0804, + 0x980a, 0x6a04, 0x9296, 0x0006, 0x1904, 0x97cc, 0x6a30, 0x9296, + 0x0000, 0x0904, 0x97f4, 0x0804, 0x97cc, 0x6020, 0x9084, 0x000f, + 0x000b, 0x0005, 0x9891, 0x9896, 0x9d04, 0x9d93, 0x9896, 0x9d04, + 0x9d93, 0x9891, 0x9896, 0x9891, 0x9891, 0x9891, 0x9891, 0x9891, + 0x9891, 0x080c, 0x959a, 0x080c, 0x96a6, 0x0005, 0x00b6, 0x0156, + 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0053, 0x1a0c, + 0x0dd5, 0x6110, 0x2158, 0xb9c0, 0x2c78, 0x2061, 0x0100, 0x619a, + 0x908a, 0x0040, 0x1a04, 0x9902, 0x005b, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, + 0x9a87, 0x9ac2, 0x9aeb, 0x9b93, 0x9bb5, 0x9bbb, 0x9bc8, 0x9bd0, + 0x9bdc, 0x9be2, 0x9bf3, 0x9be2, 0x9c4b, 0x9bd0, 0x9c57, 0x9c5d, + 0x9bdc, 0x9c5d, 0x9c69, 0x9900, 0x9900, 0x9900, 0x9900, 0x9900, + 0x9900, 0x9900, 0x9900, 0x9900, 0x9900, 0x9900, 0xa47f, 0xa4a2, + 0xa4b3, 0xa4d3, 0xa505, 0x9bc8, 0x9900, 0x9bc8, 0x9be2, 0x9900, + 0x9aeb, 0x9b93, 0x9900, 0xa89e, 0x9be2, 0x9900, 0xa8ba, 0x9be2, + 0x9900, 0x9bdc, 0x9a81, 0x9923, 0x9900, 0xa8d6, 0xa943, 0xaa1e, + 0x9900, 0xaa2b, 0x9bc5, 0xaa56, 0x9900, 0xa50f, 0xaa83, 0x9900, + 0x080c, 0x0dd5, 0x2100, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0xab1e, + 0xabd0, 0x9921, 0x994a, 0x99f6, 0x9a01, 0x9921, 0x9bc8, 0x9921, + 0x9a48, 0x9a54, 0x9965, 0x9921, 0x9980, 0x99b4, 0xad3d, 0xad82, + 0x9be2, 0x080c, 0x0dd5, 0x00d6, 0x0096, 0x080c, 0x9c7c, 0x7003, + 0x2414, 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, 0x2048, 0xa83c, + 0x700e, 0xa850, 0x7022, 0xa854, 0x7026, 0x60c3, 0x0018, 0x080c, + 0xa263, 0x009e, 0x00de, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb8a0, + 0x00be, 0x080c, 0xadc9, 0x1118, 0x9084, 0xff80, 0x0110, 0x9085, + 0x0001, 0x0005, 0x00d6, 0x0096, 0x080c, 0x9c7c, 0x7003, 0x0500, + 0x7814, 0x2048, 0xa874, 0x700a, 0xa878, 0x700e, 0xa87c, 0x7012, + 0xa880, 0x7016, 0xa884, 0x701a, 0xa888, 0x701e, 0x60c3, 0x0010, + 0x080c, 0xa263, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x080c, + 0x9c7c, 0x7003, 0x0500, 0x7814, 0x2048, 0xa8cc, 0x700a, 0xa8d0, + 0x700e, 0xa8d4, 0x7012, 0xa8d8, 0x7016, 0xa8dc, 0x701a, 0xa8e0, + 0x701e, 0x60c3, 0x0010, 0x080c, 0xa263, 0x009e, 0x00de, 0x0005, + 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, 0x9c7c, 0x20e9, + 0x0000, 0x2001, 0x19a2, 0x2003, 0x0000, 0x7814, 0x2048, 0xa814, + 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x001b, 0x2098, 0x2001, 0x19a2, 0x0016, 0x200c, 0x2001, 0x0001, + 0x080c, 0x23c4, 0x080c, 0xd896, 0x9006, 0x080c, 0x23c4, 0x001e, + 0xa804, 0x9005, 0x0110, 0x2048, 0x0c28, 0x04d9, 0x080c, 0xa263, + 0x012e, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, + 0x8000, 0x080c, 0x9cc7, 0x20e9, 0x0000, 0x2001, 0x19a2, 0x2003, + 0x0000, 0x7814, 0x2048, 0xa86f, 0x0200, 0xa873, 0x0000, 0xa814, + 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x001b, 0x2098, 0x2001, 0x19a2, 0x0016, 0x200c, 0x080c, 0xd896, + 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c60, 0x0051, 0x7814, + 0x2048, 0x080c, 0x0fb1, 0x080c, 0xa263, 0x012e, 0x009e, 0x00de, + 0x0005, 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, + 0x0004, 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, 0x080c, 0x9c7c, + 0x7003, 0x7800, 0x7808, 0x8007, 0x700a, 0x60c3, 0x0008, 0x0804, + 0xa263, 0x00d6, 0x00e6, 0x080c, 0x9cc7, 0x7814, 0x9084, 0xff00, + 0x2073, 0x0200, 0x8e70, 0x8e70, 0x9095, 0x0010, 0x2272, 0x8e70, + 0x2073, 0x0034, 0x8e70, 0x2069, 0x1805, 0x20a9, 0x0004, 0x2d76, + 0x8d68, 0x8e70, 0x1f04, 0x9a17, 0x2069, 0x1801, 0x20a9, 0x0004, + 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x9a20, 0x2069, 0x19b2, 0x9086, + 0xdf00, 0x0110, 0x2069, 0x19cc, 0x20a9, 0x001a, 0x9e86, 0x0260, + 0x1148, 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, + 0x2071, 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, + 0x9a2e, 0x60c3, 0x004c, 0x080c, 0xa263, 0x00ee, 0x00de, 0x0005, + 0x080c, 0x9c7c, 0x7003, 0x6300, 0x7007, 0x0028, 0x7808, 0x700e, + 0x60c3, 0x0008, 0x0804, 0xa263, 0x00d6, 0x0026, 0x0016, 0x080c, + 0x9cc7, 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, + 0x2009, 0x0001, 0x2011, 0x000c, 0x2069, 0x1923, 0x6810, 0xd084, + 0x1148, 0x2073, 0x0500, 0x8e70, 0x2073, 0x0000, 0x8e70, 0x8108, + 0x9290, 0x0004, 0x2073, 0x0800, 0x8e70, 0x2073, 0x0000, 0x00ee, + 0x7206, 0x710a, 0x62c2, 0x080c, 0xa263, 0x001e, 0x002e, 0x00de, + 0x0005, 0x2001, 0x1818, 0x2004, 0x609a, 0x0804, 0xa263, 0x080c, + 0x9c7c, 0x7003, 0x5200, 0x2069, 0x1847, 0x6804, 0xd084, 0x0130, + 0x6828, 0x0016, 0x080c, 0x287e, 0x710e, 0x001e, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x0254, 0x4003, + 0x080c, 0xadc9, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, + 0x181f, 0x2004, 0x7032, 0x2001, 0x1820, 0x2004, 0x7036, 0x0030, + 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x001c, + 0x0804, 0xa263, 0x080c, 0x9c7c, 0x7003, 0x0500, 0x080c, 0xadc9, + 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, + 0x700a, 0x2001, 0x1820, 0x2004, 0x700e, 0x0030, 0x2001, 0x1818, + 0x2004, 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, + 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x60c3, + 0x0010, 0x0804, 0xa263, 0x080c, 0x9c7c, 0x9006, 0x080c, 0x6953, + 0xb8a0, 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, 0x620c, 0xc2b4, + 0x620e, 0x0058, 0x7814, 0x0096, 0x904d, 0x0120, 0x9006, 0xa89a, + 0xa8a6, 0xa8aa, 0x009e, 0x7003, 0x0300, 0xb8a0, 0x9086, 0x007e, + 0x1904, 0x9b5a, 0x00d6, 0x2069, 0x196b, 0x2001, 0x1837, 0x2004, + 0xd0a4, 0x0188, 0x6800, 0x700a, 0x6808, 0x9084, 0x2000, 0x7012, + 0x080c, 0xade0, 0x680c, 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, + 0x681c, 0x7026, 0x0090, 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, + 0x080c, 0x73b3, 0x1118, 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, + 0x7012, 0x080c, 0xade0, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, + 0x00d6, 0x080c, 0xab05, 0x2069, 0x1973, 0x2071, 0x024e, 0x6800, + 0xc0dd, 0x7002, 0x080c, 0x56e6, 0xd0e4, 0x0110, 0x680c, 0x700e, + 0x00de, 0x04a8, 0x2001, 0x1837, 0x2004, 0xd0a4, 0x0170, 0x0016, + 0x2001, 0x196c, 0x200c, 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, + 0x0000, 0x080c, 0x28bf, 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, + 0x196b, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, + 0x20a9, 0x0004, 0x2099, 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, + 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x080c, 0xab05, + 0x20a1, 0x024e, 0x20a9, 0x0008, 0x2099, 0x1973, 0x4003, 0x60c3, + 0x0074, 0x0804, 0xa263, 0x080c, 0x9c7c, 0x7003, 0x2010, 0x7007, + 0x0014, 0x700b, 0x0800, 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, + 0x1847, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, + 0x0110, 0x9085, 0x0010, 0x9085, 0x0002, 0x00d6, 0x0804, 0x9c2c, + 0x7026, 0x60c3, 0x0014, 0x0804, 0xa263, 0x080c, 0x9c7c, 0x7003, + 0x5000, 0x0804, 0x9b05, 0x080c, 0x9c7c, 0x7003, 0x2110, 0x7007, + 0x0014, 0x60c3, 0x0014, 0x0804, 0xa263, 0x080c, 0x9cbe, 0x0010, + 0x080c, 0x9cc7, 0x7003, 0x0200, 0x60c3, 0x0004, 0x0804, 0xa263, + 0x080c, 0x9cc7, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, + 0x60c3, 0x0008, 0x0804, 0xa263, 0x080c, 0x9cc7, 0x7003, 0x0200, + 0x0804, 0x9b05, 0x080c, 0x9cc7, 0x7003, 0x0100, 0x782c, 0x9005, + 0x0110, 0x700a, 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, + 0x0008, 0x0804, 0xa263, 0x00d6, 0x080c, 0x9cc7, 0x7003, 0x0210, + 0x7007, 0x0014, 0x700b, 0x0800, 0xb894, 0x9086, 0x0014, 0x1198, + 0xb99c, 0x9184, 0x0030, 0x0190, 0xb998, 0x9184, 0xc000, 0x1140, + 0xd1ec, 0x0118, 0x700f, 0x2100, 0x0058, 0x700f, 0x0100, 0x0040, + 0x700f, 0x0400, 0x0028, 0x700f, 0x0700, 0x0010, 0x700f, 0x0800, + 0x00f6, 0x2079, 0x1847, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, + 0x0020, 0xd1a4, 0x0110, 0x9085, 0x0010, 0x2009, 0x1869, 0x210c, + 0xd184, 0x1110, 0x9085, 0x0002, 0x0026, 0x2009, 0x1867, 0x210c, + 0xd1e4, 0x0150, 0xc0c5, 0xbacc, 0xd28c, 0x1108, 0xc0cd, 0x9094, + 0x0030, 0x9296, 0x0010, 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, + 0x9296, 0x0010, 0x0108, 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, + 0x00de, 0x0804, 0xa263, 0x080c, 0x9cc7, 0x7003, 0x0210, 0x7007, + 0x0014, 0x700f, 0x0100, 0x60c3, 0x0014, 0x0804, 0xa263, 0x080c, + 0x9cc7, 0x7003, 0x0200, 0x0804, 0x9a8b, 0x080c, 0x9cc7, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, - 0xa248, 0x080c, 0x9cac, 0x7003, 0x0200, 0x0804, 0x9aea, 0x080c, - 0x9cac, 0x7003, 0x0100, 0x782c, 0x9005, 0x0110, 0x700a, 0x0010, - 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, 0xa248, - 0x00d6, 0x080c, 0x9cac, 0x7003, 0x0210, 0x7007, 0x0014, 0x700b, - 0x0800, 0xb894, 0x9086, 0x0014, 0x1198, 0xb99c, 0x9184, 0x0030, - 0x0190, 0xb998, 0x9184, 0xc000, 0x1140, 0xd1ec, 0x0118, 0x700f, - 0x2100, 0x0058, 0x700f, 0x0100, 0x0040, 0x700f, 0x0400, 0x0028, - 0x700f, 0x0700, 0x0010, 0x700f, 0x0800, 0x00f6, 0x2079, 0x1847, - 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, 0x0110, - 0x9085, 0x0010, 0x2009, 0x1869, 0x210c, 0xd184, 0x1110, 0x9085, - 0x0002, 0x0026, 0x2009, 0x1867, 0x210c, 0xd1e4, 0x0150, 0xc0c5, - 0xbacc, 0xd28c, 0x1108, 0xc0cd, 0x9094, 0x0030, 0x9296, 0x0010, - 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, 0x9296, 0x0010, 0x0108, - 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, 0x00de, 0x0804, 0xa248, - 0x080c, 0x9cac, 0x7003, 0x0210, 0x7007, 0x0014, 0x700f, 0x0100, - 0x60c3, 0x0014, 0x0804, 0xa248, 0x080c, 0x9cac, 0x7003, 0x0200, - 0x0804, 0x9a70, 0x080c, 0x9cac, 0x7003, 0x0100, 0x700b, 0x0003, - 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, 0xa248, 0x080c, 0x9cac, - 0x7003, 0x0100, 0x700b, 0x000b, 0x60c3, 0x0008, 0x0804, 0xa248, - 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, - 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, - 0x0100, 0x080c, 0xab2c, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, - 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x9485, 0x0029, - 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0xa236, 0x721a, 0x9f95, - 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, 0x024c, 0x002e, 0x0005, - 0x0026, 0x080c, 0xab2c, 0x7003, 0x02ff, 0x7007, 0xfffc, 0x00d6, - 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x00de, 0x7013, - 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, 0x0000, 0x700b, 0xfc02, - 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, - 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, - 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, 0xab2c, 0xb810, 0x9305, - 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0xb810, 0x9005, 0x1140, - 0xb814, 0x9005, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0020, - 0x687c, 0x700a, 0x6880, 0x700e, 0x0000, 0x9485, 0x0098, 0x7012, - 0x004e, 0x003e, 0x00de, 0x080c, 0xa236, 0x721a, 0x7a08, 0x7222, - 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, 0x0005, 0x080c, 0xa236, - 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, 0x2071, 0x024c, 0x002e, - 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, - 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0dd5, 0x908a, - 0x0092, 0x1a0c, 0x0dd5, 0x6110, 0x2158, 0xb9c0, 0x2c78, 0x2061, - 0x0100, 0x619a, 0x9082, 0x0085, 0x0033, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x00be, 0x0005, 0x9d1a, 0x9d29, 0x9d34, 0x9d18, 0x9d18, - 0x9d18, 0x9d1a, 0x9d18, 0x9d18, 0x9d18, 0x9d18, 0x9d18, 0x9d18, - 0x080c, 0x0dd5, 0x0411, 0x60c3, 0x0000, 0x0026, 0x080c, 0x2ba7, - 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, 0x002e, 0x0804, - 0xa248, 0x0431, 0x7808, 0x700a, 0x7814, 0x700e, 0x7017, 0xffff, - 0x60c3, 0x000c, 0x0804, 0xa248, 0x0479, 0x7003, 0x0003, 0x7007, - 0x0300, 0x60c3, 0x0004, 0x0804, 0xa248, 0x0026, 0x080c, 0xab2c, - 0xb810, 0x9085, 0x8100, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, - 0x687c, 0x700a, 0x6880, 0x700e, 0x7013, 0x0009, 0x0804, 0x9c7c, - 0x0026, 0x080c, 0xab2c, 0xb810, 0x9085, 0x8400, 0x7002, 0xb814, - 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x2001, - 0x0099, 0x7012, 0x0804, 0x9cde, 0x0026, 0x080c, 0xab2c, 0xb810, - 0x9085, 0x8500, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, - 0x700a, 0x6880, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x9cde, - 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2c78, 0x2069, 0x0200, - 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, 0x0a0c, 0x0dd5, 0x908a, - 0x0054, 0x1a0c, 0x0dd5, 0x7910, 0x2158, 0xb9c0, 0x2061, 0x0100, - 0x619a, 0x9082, 0x0040, 0x0033, 0x00fe, 0x00ee, 0x00de, 0x00ce, - 0x00be, 0x0005, 0x9daf, 0x9e6b, 0x9e3e, 0x9f8d, 0x9dad, 0x9dad, - 0x9dad, 0x9dad, 0x9dad, 0x9dad, 0x9dad, 0xa670, 0xa678, 0xa680, - 0xa688, 0x9dad, 0xaa74, 0x9dad, 0xa668, 0x080c, 0x0dd5, 0x0096, - 0x780b, 0xffff, 0x080c, 0x9e1a, 0x7914, 0x2148, 0xa978, 0x7956, - 0xae64, 0x96b4, 0x00ff, 0x9686, 0x0008, 0x1148, 0xa8b4, 0x7032, - 0xa8b8, 0x7036, 0xa8bc, 0x703a, 0xa8c0, 0x703e, 0x0008, 0x7132, - 0xa97c, 0x9184, 0x000f, 0x1118, 0x2001, 0x0005, 0x0040, 0xd184, - 0x0118, 0x2001, 0x0004, 0x0018, 0x9084, 0x0006, 0x8004, 0x2010, - 0x785c, 0x9084, 0x00ff, 0x8007, 0x9205, 0x7042, 0xd1ac, 0x0158, - 0x7047, 0x0002, 0x9686, 0x0008, 0x1118, 0x080c, 0x18ae, 0x0010, - 0x080c, 0x1727, 0x0050, 0xd1b4, 0x0118, 0x7047, 0x0001, 0x0028, - 0x7047, 0x0000, 0x9016, 0x2230, 0x0010, 0xaab0, 0xaeac, 0x726a, - 0x766e, 0x20a9, 0x0008, 0x20e9, 0x0000, 0xa860, 0x20e0, 0xa85c, - 0x9080, 0x0023, 0x2098, 0x20a1, 0x0252, 0x2069, 0x0200, 0x6813, - 0x0018, 0x4003, 0x6813, 0x0008, 0x60c3, 0x0020, 0x6017, 0x0009, - 0x2001, 0x1a02, 0x2003, 0x07d0, 0x2001, 0x1a01, 0x2003, 0x0009, - 0x009e, 0x0005, 0x6813, 0x0008, 0xba8c, 0x8210, 0xb8cc, 0xd084, - 0x0128, 0x7a46, 0x7b14, 0x7b4a, 0x722e, 0x732a, 0x9294, 0x00ff, - 0xba8e, 0x8217, 0x721a, 0xba10, 0x9295, 0x0600, 0x7202, 0xba14, - 0x7206, 0x2069, 0x1800, 0x6a7c, 0x720a, 0x6a80, 0x720e, 0x7013, - 0x0829, 0x2f10, 0x7222, 0x7027, 0xffff, 0x0005, 0x00d6, 0x0096, - 0x0081, 0x7814, 0x2048, 0xa890, 0x7002, 0xa88c, 0x7006, 0xa8b0, - 0x700a, 0xa8ac, 0x700e, 0x60c3, 0x000c, 0x009e, 0x00de, 0x0804, - 0xa248, 0x6813, 0x0008, 0xb810, 0x9085, 0x0500, 0x7002, 0xb814, + 0xa263, 0x080c, 0x9cc7, 0x7003, 0x0100, 0x700b, 0x000b, 0x60c3, + 0x0008, 0x0804, 0xa263, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, + 0x3200, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, + 0x2019, 0x2200, 0x2021, 0x0100, 0x080c, 0xab1a, 0xb810, 0x9305, + 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, + 0x700e, 0x9485, 0x0029, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, + 0xa251, 0x721a, 0x9f95, 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, + 0x024c, 0x002e, 0x0005, 0x0026, 0x080c, 0xab1a, 0x7003, 0x02ff, + 0x7007, 0xfffc, 0x00d6, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, + 0x700e, 0x00de, 0x7013, 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, + 0x0000, 0x700b, 0xfc02, 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, + 0x0036, 0x0046, 0x2019, 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, + 0x00d6, 0x0036, 0x0046, 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, + 0xab1a, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, + 0xb810, 0x9005, 0x1140, 0xb814, 0x9005, 0x1128, 0x700b, 0x00ff, + 0x700f, 0xfffe, 0x0020, 0x687c, 0x700a, 0x6880, 0x700e, 0x0000, + 0x9485, 0x0098, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0xa251, + 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, + 0x0005, 0x080c, 0xa251, 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, + 0x2071, 0x024c, 0x002e, 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x00e6, + 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, + 0x0a0c, 0x0dd5, 0x908a, 0x0092, 0x1a0c, 0x0dd5, 0x6110, 0x2158, + 0xb9c0, 0x2c78, 0x2061, 0x0100, 0x619a, 0x9082, 0x0085, 0x0033, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x9d35, 0x9d44, + 0x9d4f, 0x9d33, 0x9d33, 0x9d33, 0x9d35, 0x9d33, 0x9d33, 0x9d33, + 0x9d33, 0x9d33, 0x9d33, 0x080c, 0x0dd5, 0x0411, 0x60c3, 0x0000, + 0x0026, 0x080c, 0x2bb2, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, + 0x2012, 0x002e, 0x0804, 0xa263, 0x0431, 0x7808, 0x700a, 0x7814, + 0x700e, 0x7017, 0xffff, 0x60c3, 0x000c, 0x0804, 0xa263, 0x0479, + 0x7003, 0x0003, 0x7007, 0x0300, 0x60c3, 0x0004, 0x0804, 0xa263, + 0x0026, 0x080c, 0xab1a, 0xb810, 0x9085, 0x8100, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x7013, - 0x0889, 0x080c, 0xa236, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, - 0x2071, 0x024c, 0x0005, 0x00d6, 0x0096, 0x080c, 0x9f6b, 0x7814, - 0x2048, 0x080c, 0xcb48, 0x1130, 0x7814, 0x9084, 0x0700, 0x8007, - 0x0033, 0x0010, 0x9006, 0x001b, 0x009e, 0x00de, 0x0005, 0x9e89, - 0x9ef2, 0x9f02, 0x9f28, 0x9f34, 0x9f45, 0x9f4d, 0x9e87, 0x080c, - 0x0dd5, 0x0016, 0x0036, 0xa97c, 0x918c, 0x0003, 0x0118, 0x9186, - 0x0003, 0x1198, 0xaba8, 0x7824, 0xd0cc, 0x1168, 0x7316, 0xa898, - 0x701a, 0xa894, 0x701e, 0x003e, 0x001e, 0x2001, 0x19b0, 0x2004, - 0x60c2, 0x0804, 0xa248, 0xc3e5, 0x0c88, 0x9186, 0x0001, 0x190c, - 0x0dd5, 0xaba8, 0x7824, 0xd0cc, 0x1904, 0x9eef, 0x7316, 0xa898, - 0x701a, 0xa894, 0x701e, 0xa8a4, 0x7026, 0xa8ac, 0x702e, 0x2009, - 0x0018, 0x9384, 0x0300, 0x0570, 0xd3c4, 0x0110, 0xa8ac, 0x9108, - 0xd3cc, 0x0110, 0xa8a4, 0x9108, 0x6810, 0x9085, 0x0010, 0x6812, - 0x2011, 0x0258, 0x20e9, 0x0000, 0x22a0, 0x0156, 0x20a9, 0x0008, - 0xa860, 0x20e0, 0xa85c, 0x9080, 0x002c, 0x2098, 0x4003, 0x6810, - 0x8000, 0x6812, 0x2011, 0x0240, 0x22a0, 0x20a9, 0x0005, 0x4003, - 0x6810, 0xc084, 0x6812, 0x015e, 0x9184, 0x0003, 0x0118, 0x2019, - 0x0245, 0x201a, 0x61c2, 0x003e, 0x001e, 0x0804, 0xa248, 0xc3e5, - 0x0804, 0x9eae, 0x2011, 0x0008, 0x2001, 0x180f, 0x2004, 0xd0a4, - 0x0110, 0x2011, 0x0028, 0x7824, 0xd0cc, 0x1110, 0x7216, 0x0470, - 0x0ce8, 0xc2e5, 0x2011, 0x0302, 0x0016, 0x782c, 0x701a, 0x7930, - 0x711e, 0x9105, 0x0108, 0xc2dd, 0x001e, 0x7824, 0xd0cc, 0x0108, - 0xc2e5, 0x7216, 0x7027, 0x0012, 0x702f, 0x0008, 0x7043, 0x7000, - 0x7047, 0x0500, 0x704f, 0x000a, 0x2069, 0x0200, 0x6813, 0x0009, - 0x2071, 0x0240, 0x700b, 0x2500, 0x60c3, 0x0032, 0x0804, 0xa248, - 0x2011, 0x0028, 0x7824, 0xd0cc, 0x1128, 0x7216, 0x60c3, 0x0018, - 0x0804, 0xa248, 0x0cd0, 0xc2e5, 0x2011, 0x0100, 0x7824, 0xd0cc, - 0x0108, 0xc2e5, 0x7216, 0x702f, 0x0008, 0x7858, 0x9084, 0x00ff, - 0x7036, 0x60c3, 0x0020, 0x0804, 0xa248, 0x2011, 0x0008, 0x7824, - 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x0c08, 0x0036, 0x7b14, 0x9384, - 0xff00, 0x7816, 0x9384, 0x00ff, 0x8001, 0x1138, 0x7824, 0xd0cc, - 0x0108, 0xc2e5, 0x7216, 0x003e, 0x0888, 0x0046, 0x2021, 0x0800, - 0x0006, 0x7824, 0xd0cc, 0x000e, 0x0108, 0xc4e5, 0x7416, 0x004e, - 0x701e, 0x003e, 0x0818, 0x00d6, 0x6813, 0x0008, 0xb810, 0x9085, - 0x0700, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, - 0x6880, 0x700e, 0x7824, 0xd0cc, 0x1168, 0x7013, 0x0898, 0x080c, - 0xa236, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, - 0x00de, 0x0005, 0x7013, 0x0889, 0x0c90, 0x0016, 0x7814, 0x9084, - 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, 0x9f9d, 0x9f9d, 0x9f9f, - 0x9f9d, 0x9f9d, 0x9f9d, 0x9fb9, 0x9f9d, 0x080c, 0x0dd5, 0x7914, - 0x918c, 0x08ff, 0x918d, 0xf600, 0x7916, 0x2009, 0x0003, 0x00b9, - 0x2069, 0x1847, 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, 0x00ff, - 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, 0x60c3, 0x0001, 0x0804, - 0xa248, 0x2009, 0x0003, 0x0019, 0x7033, 0x7f00, 0x0cb0, 0x0016, - 0x080c, 0xab2c, 0x001e, 0xb810, 0x9085, 0x0100, 0x7002, 0xb814, - 0x7006, 0x2069, 0x1800, 0x6a7c, 0x720a, 0x6a80, 0x720e, 0x7013, - 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, 0xa236, 0x721a, 0x7a08, - 0x7222, 0x2f10, 0x7226, 0x0005, 0x00b6, 0x00e6, 0x00d6, 0x00c6, - 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, - 0x7160, 0x7810, 0x2058, 0x76dc, 0x96b4, 0x0028, 0x0110, 0x737c, - 0x7480, 0x2500, 0x76dc, 0x96b4, 0x0028, 0x0140, 0x2001, 0x04ff, - 0x6062, 0x6067, 0xffff, 0x636a, 0x646e, 0x0050, 0x2001, 0x00ff, - 0x9085, 0x0400, 0x6062, 0x6067, 0xffff, 0x606b, 0x0000, 0x616e, - 0xb8b8, 0x6073, 0x0530, 0x6077, 0x0008, 0xb88c, 0x8000, 0x9084, - 0x00ff, 0xb88e, 0x8007, 0x9085, 0x0020, 0x607a, 0x607f, 0x0000, - 0x2b00, 0x6082, 0x6087, 0xffff, 0x7814, 0x0096, 0x2048, 0xa838, - 0x608a, 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0x009e, - 0xb86c, 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, 0x0000, - 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x0128, 0x609f, 0x0000, - 0x2001, 0x0092, 0x0048, 0x6028, 0xc0bd, 0x602a, 0x609f, 0x00ff, - 0x6027, 0xffff, 0x2001, 0x00b2, 0x6016, 0x2009, 0x07d0, 0x080c, - 0x8567, 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, - 0x00be, 0x0005, 0x00b6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, - 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, 0x7160, 0x7810, - 0x2058, 0xb8a0, 0x2028, 0x76dc, 0xd6ac, 0x1168, 0x9582, 0x007e, - 0x1250, 0x2500, 0x9094, 0xff80, 0x1130, 0x9080, 0x3327, 0x2015, - 0x9294, 0x00ff, 0x0020, 0xb910, 0xba14, 0x737c, 0x7480, 0x70dc, - 0xd0ac, 0x1130, 0x9582, 0x007e, 0x1218, 0x9584, 0xff80, 0x0138, - 0x9185, 0x0400, 0x6062, 0x6266, 0x636a, 0x646e, 0x0030, 0x6063, - 0x0400, 0x6266, 0x606b, 0x0000, 0x616e, 0xb8b8, 0x6072, 0x6077, - 0x0000, 0xb864, 0xd0a4, 0x0110, 0x6077, 0x0008, 0xb88c, 0x8000, - 0x9084, 0x00ff, 0xb88e, 0x8007, 0x9085, 0x0020, 0x607a, 0x607f, - 0x0000, 0x2b00, 0x6082, 0x6087, 0xffff, 0x7814, 0x0096, 0x2048, + 0x0009, 0x0804, 0x9c97, 0x0026, 0x080c, 0xab1a, 0xb810, 0x9085, + 0x8400, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, + 0x6880, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x9cf9, 0x0026, + 0x080c, 0xab1a, 0xb810, 0x9085, 0x8500, 0x7002, 0xb814, 0x7006, + 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x2001, 0x0099, + 0x7012, 0x0804, 0x9cf9, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x2c78, 0x2069, 0x0200, 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, + 0x0a0c, 0x0dd5, 0x908a, 0x0054, 0x1a0c, 0x0dd5, 0x7910, 0x2158, + 0xb9c0, 0x2061, 0x0100, 0x619a, 0x9082, 0x0040, 0x0033, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x9dca, 0x9e86, 0x9e59, + 0x9fa8, 0x9dc8, 0x9dc8, 0x9dc8, 0x9dc8, 0x9dc8, 0x9dc8, 0x9dc8, + 0xa65a, 0xa662, 0xa66a, 0xa672, 0x9dc8, 0xaa62, 0x9dc8, 0xa652, + 0x080c, 0x0dd5, 0x0096, 0x780b, 0xffff, 0x080c, 0x9e35, 0x7914, + 0x2148, 0xa978, 0x7956, 0xae64, 0x96b4, 0x00ff, 0x9686, 0x0008, + 0x1148, 0xa8b4, 0x7032, 0xa8b8, 0x7036, 0xa8bc, 0x703a, 0xa8c0, + 0x703e, 0x0008, 0x7132, 0xa97c, 0x9184, 0x000f, 0x1118, 0x2001, + 0x0005, 0x0040, 0xd184, 0x0118, 0x2001, 0x0004, 0x0018, 0x9084, + 0x0006, 0x8004, 0x2010, 0x785c, 0x9084, 0x00ff, 0x8007, 0x9205, + 0x7042, 0xd1ac, 0x0158, 0x7047, 0x0002, 0x9686, 0x0008, 0x1118, + 0x080c, 0x18ae, 0x0010, 0x080c, 0x1727, 0x0050, 0xd1b4, 0x0118, + 0x7047, 0x0001, 0x0028, 0x7047, 0x0000, 0x9016, 0x2230, 0x0010, + 0xaab0, 0xaeac, 0x726a, 0x766e, 0x20a9, 0x0008, 0x20e9, 0x0000, + 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, 0x2098, 0x20a1, 0x0252, + 0x2069, 0x0200, 0x6813, 0x0018, 0x4003, 0x6813, 0x0008, 0x60c3, + 0x0020, 0x6017, 0x0009, 0x2001, 0x1a02, 0x2003, 0x07d0, 0x2001, + 0x1a01, 0x2003, 0x0009, 0x009e, 0x0005, 0x6813, 0x0008, 0xba8c, + 0x8210, 0xb8cc, 0xd084, 0x0128, 0x7a46, 0x7b14, 0x7b4a, 0x722e, + 0x732a, 0x9294, 0x00ff, 0xba8e, 0x8217, 0x721a, 0xba10, 0x9295, + 0x0600, 0x7202, 0xba14, 0x7206, 0x2069, 0x1800, 0x6a7c, 0x720a, + 0x6a80, 0x720e, 0x7013, 0x0829, 0x2f10, 0x7222, 0x7027, 0xffff, + 0x0005, 0x00d6, 0x0096, 0x0081, 0x7814, 0x2048, 0xa890, 0x7002, + 0xa88c, 0x7006, 0xa8b0, 0x700a, 0xa8ac, 0x700e, 0x60c3, 0x000c, + 0x009e, 0x00de, 0x0804, 0xa263, 0x6813, 0x0008, 0xb810, 0x9085, + 0x0500, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, + 0x6880, 0x700e, 0x7013, 0x0889, 0x080c, 0xa251, 0x721a, 0x7a08, + 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x0005, 0x00d6, 0x0096, + 0x080c, 0x9f86, 0x7814, 0x2048, 0x080c, 0xcb58, 0x1130, 0x7814, + 0x9084, 0x0700, 0x8007, 0x0033, 0x0010, 0x9006, 0x001b, 0x009e, + 0x00de, 0x0005, 0x9ea4, 0x9f0d, 0x9f1d, 0x9f43, 0x9f4f, 0x9f60, + 0x9f68, 0x9ea2, 0x080c, 0x0dd5, 0x0016, 0x0036, 0xa97c, 0x918c, + 0x0003, 0x0118, 0x9186, 0x0003, 0x1198, 0xaba8, 0x7824, 0xd0cc, + 0x1168, 0x7316, 0xa898, 0x701a, 0xa894, 0x701e, 0x003e, 0x001e, + 0x2001, 0x19b0, 0x2004, 0x60c2, 0x0804, 0xa263, 0xc3e5, 0x0c88, + 0x9186, 0x0001, 0x190c, 0x0dd5, 0xaba8, 0x7824, 0xd0cc, 0x1904, + 0x9f0a, 0x7316, 0xa898, 0x701a, 0xa894, 0x701e, 0xa8a4, 0x7026, + 0xa8ac, 0x702e, 0x2009, 0x0018, 0x9384, 0x0300, 0x0570, 0xd3c4, + 0x0110, 0xa8ac, 0x9108, 0xd3cc, 0x0110, 0xa8a4, 0x9108, 0x6810, + 0x9085, 0x0010, 0x6812, 0x2011, 0x0258, 0x20e9, 0x0000, 0x22a0, + 0x0156, 0x20a9, 0x0008, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x002c, + 0x2098, 0x4003, 0x6810, 0x8000, 0x6812, 0x2011, 0x0240, 0x22a0, + 0x20a9, 0x0005, 0x4003, 0x6810, 0xc084, 0x6812, 0x015e, 0x9184, + 0x0003, 0x0118, 0x2019, 0x0245, 0x201a, 0x61c2, 0x003e, 0x001e, + 0x0804, 0xa263, 0xc3e5, 0x0804, 0x9ec9, 0x2011, 0x0008, 0x2001, + 0x180f, 0x2004, 0xd0a4, 0x0110, 0x2011, 0x0028, 0x7824, 0xd0cc, + 0x1110, 0x7216, 0x0470, 0x0ce8, 0xc2e5, 0x2011, 0x0302, 0x0016, + 0x782c, 0x701a, 0x7930, 0x711e, 0x9105, 0x0108, 0xc2dd, 0x001e, + 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x7027, 0x0012, 0x702f, + 0x0008, 0x7043, 0x7000, 0x7047, 0x0500, 0x704f, 0x000a, 0x2069, + 0x0200, 0x6813, 0x0009, 0x2071, 0x0240, 0x700b, 0x2500, 0x60c3, + 0x0032, 0x0804, 0xa263, 0x2011, 0x0028, 0x7824, 0xd0cc, 0x1128, + 0x7216, 0x60c3, 0x0018, 0x0804, 0xa263, 0x0cd0, 0xc2e5, 0x2011, + 0x0100, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x702f, 0x0008, + 0x7858, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x0020, 0x0804, 0xa263, + 0x2011, 0x0008, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x0c08, + 0x0036, 0x7b14, 0x9384, 0xff00, 0x7816, 0x9384, 0x00ff, 0x8001, + 0x1138, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x003e, 0x0888, + 0x0046, 0x2021, 0x0800, 0x0006, 0x7824, 0xd0cc, 0x000e, 0x0108, + 0xc4e5, 0x7416, 0x004e, 0x701e, 0x003e, 0x0818, 0x00d6, 0x6813, + 0x0008, 0xb810, 0x9085, 0x0700, 0x7002, 0xb814, 0x7006, 0x2069, + 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x7824, 0xd0cc, 0x1168, + 0x7013, 0x0898, 0x080c, 0xa251, 0x721a, 0x7a08, 0x7222, 0x2f10, + 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, 0x7013, 0x0889, 0x0c90, + 0x0016, 0x7814, 0x9084, 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, + 0x9fb8, 0x9fb8, 0x9fba, 0x9fb8, 0x9fb8, 0x9fb8, 0x9fd4, 0x9fb8, + 0x080c, 0x0dd5, 0x7914, 0x918c, 0x08ff, 0x918d, 0xf600, 0x7916, + 0x2009, 0x0003, 0x00b9, 0x2069, 0x1847, 0x6804, 0xd0bc, 0x0130, + 0x682c, 0x9084, 0x00ff, 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, + 0x60c3, 0x0001, 0x0804, 0xa263, 0x2009, 0x0003, 0x0019, 0x7033, + 0x7f00, 0x0cb0, 0x0016, 0x080c, 0xab1a, 0x001e, 0xb810, 0x9085, + 0x0100, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6a7c, 0x720a, + 0x6a80, 0x720e, 0x7013, 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, + 0xa251, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x0005, 0x00b6, + 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, + 0x0100, 0x2071, 0x1800, 0x7160, 0x7810, 0x2058, 0x76dc, 0x96b4, + 0x0028, 0x0110, 0x737c, 0x7480, 0x2500, 0x76dc, 0x96b4, 0x0028, + 0x0140, 0x2001, 0x04ff, 0x6062, 0x6067, 0xffff, 0x636a, 0x646e, + 0x0050, 0x2001, 0x00ff, 0x9085, 0x0400, 0x6062, 0x6067, 0xffff, + 0x606b, 0x0000, 0x616e, 0xb8b8, 0x6073, 0x0530, 0x6077, 0x0008, + 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x9085, 0x0020, + 0x607a, 0x607f, 0x0000, 0x2b00, 0x6082, 0x6087, 0xffff, 0x7814, + 0x0096, 0x2048, 0xa838, 0x608a, 0xa834, 0x608e, 0xa848, 0x60c6, + 0xa844, 0x60ca, 0x009e, 0xb86c, 0x60ce, 0x60ab, 0x0036, 0x60af, + 0x95d5, 0x60d7, 0x0000, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, + 0x0128, 0x609f, 0x0000, 0x2001, 0x0092, 0x0048, 0x6028, 0xc0bd, + 0x602a, 0x609f, 0x00ff, 0x6027, 0xffff, 0x2001, 0x00b2, 0x6016, + 0x2009, 0x07d0, 0x080c, 0x8584, 0x003e, 0x004e, 0x005e, 0x006e, + 0x00ce, 0x00de, 0x00ee, 0x00be, 0x0005, 0x00b6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, + 0x1800, 0x7160, 0x7810, 0x2058, 0xb8a0, 0x2028, 0x76dc, 0xd6ac, + 0x1168, 0x9582, 0x007e, 0x1250, 0x2500, 0x9094, 0xff80, 0x1130, + 0x9080, 0x3332, 0x2015, 0x9294, 0x00ff, 0x0020, 0xb910, 0xba14, + 0x737c, 0x7480, 0x70dc, 0xd0ac, 0x1130, 0x9582, 0x007e, 0x1218, + 0x9584, 0xff80, 0x0138, 0x9185, 0x0400, 0x6062, 0x6266, 0x636a, + 0x646e, 0x0030, 0x6063, 0x0400, 0x6266, 0x606b, 0x0000, 0x616e, + 0xb8b8, 0x6072, 0x6077, 0x0000, 0xb864, 0xd0a4, 0x0110, 0x6077, + 0x0008, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x9085, + 0x0020, 0x607a, 0x607f, 0x0000, 0x2b00, 0x6082, 0x6087, 0xffff, + 0x7814, 0x0096, 0x2048, 0xa838, 0x608a, 0xa834, 0x608e, 0xa848, + 0x60c6, 0xa844, 0x60ca, 0x009e, 0xb86c, 0x60ce, 0x60ab, 0x0036, + 0x60af, 0x95d5, 0x60d7, 0x0000, 0xbac0, 0x629e, 0x00f6, 0x2079, + 0x0140, 0x7803, 0x0000, 0x00fe, 0x2009, 0x0092, 0x6116, 0x2009, + 0x07d0, 0x080c, 0x8584, 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, + 0x00de, 0x00ee, 0x00be, 0x0005, 0x00b6, 0x0096, 0x00e6, 0x00d6, + 0x00c6, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, + 0x7810, 0x2058, 0xb8a0, 0x2028, 0xb910, 0xba14, 0x737c, 0x7480, + 0x7820, 0x90be, 0x0006, 0x0904, 0xa1c0, 0x90be, 0x000a, 0x1904, + 0xa17c, 0xb8c0, 0x609e, 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, + 0xaf90, 0x9784, 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, + 0x0006, 0x7814, 0x2048, 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, + 0xaf94, 0x87ff, 0x0198, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, + 0x6082, 0x2f00, 0x6086, 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, + 0x0129, 0x6077, 0x0000, 0xb8c0, 0x609e, 0x0050, 0x2039, 0x0029, + 0x9705, 0x6072, 0x0cc0, 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, + 0xa87c, 0xd0fc, 0x0118, 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, + 0x7808, 0x6086, 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, + 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0xa838, 0x608a, 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, - 0x009e, 0xb86c, 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, - 0x0000, 0xbac0, 0x629e, 0x00f6, 0x2079, 0x0140, 0x7803, 0x0000, - 0x00fe, 0x2009, 0x0092, 0x6116, 0x2009, 0x07d0, 0x080c, 0x8567, - 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, - 0x0005, 0x00b6, 0x0096, 0x00e6, 0x00d6, 0x00c6, 0x0056, 0x0046, - 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, 0x7810, 0x2058, 0xb8a0, - 0x2028, 0xb910, 0xba14, 0x737c, 0x7480, 0x7820, 0x90be, 0x0006, - 0x0904, 0xa1a5, 0x90be, 0x000a, 0x1904, 0xa161, 0xb8c0, 0x609e, - 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, 0xaf90, 0x9784, 0xff00, - 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, 0x0006, 0x7814, 0x2048, - 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, 0xaf94, 0x87ff, 0x0198, - 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, 0x6082, 0x2f00, 0x6086, - 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, 0x0129, 0x6077, 0x0000, - 0xb8c0, 0x609e, 0x0050, 0x2039, 0x0029, 0x9705, 0x6072, 0x0cc0, - 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, 0xa87c, 0xd0fc, 0x0118, - 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, 0x7808, 0x6086, 0x6266, - 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, 0x8000, 0x9084, 0x00ff, - 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0xa838, 0x608a, 0xa834, - 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, 0x60af, - 0x95d5, 0x60d7, 0x0000, 0x080c, 0xab11, 0x2009, 0x07d0, 0x60c4, - 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x8567, - 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x009e, 0x00be, - 0x0005, 0x7804, 0x9086, 0x0040, 0x0904, 0xa1e1, 0x9185, 0x0100, - 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0809, 0x6077, 0x0008, - 0x60af, 0x95d5, 0x60d7, 0x0000, 0xb88c, 0x8000, 0x9084, 0x00ff, - 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6082, 0x7808, - 0x6086, 0x7814, 0x2048, 0xa838, 0x608a, 0xa834, 0x608e, 0xa848, - 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, 0xbac0, 0x629e, 0x080c, - 0xab11, 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, - 0x2009, 0x1b58, 0x080c, 0x8567, 0x003e, 0x004e, 0x005e, 0x00ce, - 0x00de, 0x00ee, 0x009e, 0x00be, 0x0005, 0x7814, 0x2048, 0xa87c, - 0x9084, 0x0003, 0x9086, 0x0002, 0x0904, 0xa1fd, 0x9185, 0x0100, - 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0880, 0x6077, 0x0008, - 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x7838, - 0x607e, 0x2f00, 0x6086, 0x7808, 0x6082, 0xa890, 0x608a, 0xa88c, - 0x608e, 0xa8b0, 0x60c6, 0xa8ac, 0x60ca, 0xa8ac, 0x7930, 0x9108, - 0x7932, 0xa8b0, 0x792c, 0x9109, 0x792e, 0xb86c, 0x60ce, 0x60af, - 0x95d5, 0x60d7, 0x0000, 0xbac0, 0x629e, 0x080c, 0xaaee, 0x0804, - 0xa191, 0xb8cc, 0xd084, 0x0148, 0xb88c, 0x7814, 0x2048, 0xb88c, - 0x7846, 0xa836, 0x2900, 0xa83a, 0xb04a, 0x9185, 0x0600, 0x6062, - 0x6266, 0x636a, 0x646e, 0x6073, 0x0829, 0x6077, 0x0000, 0x60af, - 0x9575, 0x60d7, 0x0000, 0x0804, 0xa174, 0x9185, 0x0700, 0x6062, - 0x6266, 0x636a, 0x646e, 0x7824, 0xd0cc, 0x7826, 0x0118, 0x6073, - 0x0889, 0x0010, 0x6073, 0x0898, 0x6077, 0x0000, 0xb88c, 0x8000, - 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, - 0x6086, 0x7808, 0x6082, 0xa838, 0x608a, 0xa834, 0x608e, 0xa848, - 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, 0x60af, 0x95d5, 0x60d7, - 0x0000, 0xbac0, 0x629e, 0x7824, 0xd0cc, 0x0120, 0x080c, 0xab11, - 0x0804, 0xa191, 0x080c, 0xaaee, 0x0804, 0xa191, 0x7a10, 0x00b6, - 0x2258, 0xba8c, 0x8210, 0x9294, 0x00ff, 0xba8e, 0x00be, 0x8217, - 0x0005, 0x00d6, 0x2069, 0x19e6, 0x6843, 0x0001, 0x00de, 0x0005, - 0x60a3, 0x0056, 0x60a7, 0x9575, 0x00f1, 0x080c, 0x8559, 0x0005, - 0x0016, 0x2001, 0x180c, 0x200c, 0x9184, 0x0600, 0x9086, 0x0600, - 0x0128, 0x0089, 0x080c, 0x8559, 0x001e, 0x0005, 0xc1e5, 0x2001, - 0x180c, 0x2102, 0x2001, 0x19e7, 0x2003, 0x0000, 0x2001, 0x19ef, - 0x2003, 0x0000, 0x0c88, 0x0006, 0x6014, 0x9084, 0x1804, 0x9085, - 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, 0x00c6, 0x0006, 0x2061, - 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, 0x9084, 0x1804, 0x9085, - 0x0008, 0x6016, 0x000e, 0xa001, 0xa001, 0xa001, 0x61a6, 0x00ce, - 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, 0x0026, 0x2061, 0x0100, - 0x2069, 0x0140, 0x080c, 0x73a5, 0x11e8, 0x2001, 0x1a02, 0x2004, - 0x9005, 0x1904, 0xa2da, 0x0066, 0x2031, 0x0001, 0x080c, 0x7455, - 0x006e, 0x1160, 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, 0x6024, - 0xd084, 0x090c, 0x0dd5, 0x080c, 0x8559, 0x0460, 0x00c6, 0x2061, - 0x19e6, 0x00d0, 0x6904, 0x9194, 0x4000, 0x0548, 0x080c, 0xa274, - 0x080c, 0x2d01, 0x00c6, 0x2061, 0x19e6, 0x6128, 0x9192, 0x0008, - 0x1258, 0x8108, 0x612a, 0x6124, 0x00ce, 0x81ff, 0x0198, 0x080c, - 0x8559, 0x080c, 0xa26b, 0x0070, 0x6124, 0x91e5, 0x0000, 0x0140, - 0x080c, 0xea1f, 0x080c, 0x8562, 0x2009, 0x0014, 0x080c, 0xaeec, - 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, 0x00ce, 0x0005, 0x2001, - 0x1a02, 0x2004, 0x9005, 0x1db0, 0x00c6, 0x2061, 0x19e6, 0x6128, - 0x9192, 0x0003, 0x1e08, 0x8108, 0x612a, 0x00ce, 0x080c, 0x8559, - 0x080c, 0x5ee2, 0x2009, 0x1846, 0x2114, 0x8210, 0x220a, 0x0c10, - 0x0096, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x0026, 0x080c, 0x856f, - 0x2071, 0x19e6, 0x713c, 0x81ff, 0x0904, 0xa37e, 0x2061, 0x0100, - 0x2069, 0x0140, 0x080c, 0x73a5, 0x1500, 0x0036, 0x2019, 0x0002, - 0x080c, 0xa5b7, 0x003e, 0x713c, 0x2160, 0x080c, 0xea1f, 0x2009, - 0x004a, 0x6220, 0x9296, 0x0009, 0x1130, 0x6114, 0x2148, 0xa87b, - 0x0006, 0x2009, 0x004a, 0x080c, 0xaeec, 0x0066, 0x2031, 0x0001, - 0x080c, 0x7455, 0x006e, 0x0804, 0xa37e, 0x080c, 0xa38a, 0x0904, - 0xa37e, 0x6904, 0xd1f4, 0x0904, 0xa385, 0x080c, 0x2d01, 0x00c6, - 0x703c, 0x9065, 0x090c, 0x0dd5, 0x6020, 0x00ce, 0x9086, 0x0006, - 0x1528, 0x61c8, 0x60c4, 0x9105, 0x1508, 0x2009, 0x180c, 0x2104, - 0xd0d4, 0x01e0, 0x6214, 0x9294, 0x1800, 0x1128, 0x6224, 0x9294, - 0x0002, 0x1560, 0x0030, 0xc0d4, 0x200a, 0xd0cc, 0x0110, 0x080c, - 0x2c54, 0x6014, 0x9084, 0xe7fd, 0x9085, 0x0010, 0x6016, 0x703c, - 0x2060, 0x2009, 0x0049, 0x080c, 0xaeec, 0x00c0, 0x0036, 0x2019, - 0x0001, 0x080c, 0xa5b7, 0x003e, 0x713c, 0x2160, 0x080c, 0xea1f, - 0x2009, 0x004a, 0x6220, 0x9296, 0x0009, 0x1130, 0x6114, 0x2148, - 0xa87b, 0x0006, 0x2009, 0x004a, 0x080c, 0xaeec, 0x002e, 0x001e, - 0x00ee, 0x00de, 0x00ce, 0x009e, 0x0005, 0xd1ec, 0x1904, 0xa335, - 0x0804, 0xa337, 0x00d6, 0x00c6, 0x0096, 0x703c, 0x9065, 0x090c, - 0x0dd5, 0x2001, 0x1837, 0x2004, 0xd09c, 0x1904, 0xa416, 0x2001, - 0x0306, 0x200c, 0x9184, 0x0030, 0x0904, 0xa416, 0x9184, 0x0048, - 0x9086, 0x0008, 0x1904, 0xa416, 0x2001, 0x020b, 0x2004, 0xd0fc, - 0x0904, 0xa416, 0xd08c, 0x0904, 0xa416, 0x2009, 0x1a7f, 0x2104, - 0x8000, 0x0208, 0x200a, 0x2069, 0x0100, 0x6914, 0x918c, 0x0184, - 0x918d, 0x0010, 0x6916, 0x69c8, 0x2011, 0x0020, 0x68c8, 0x9106, - 0x1570, 0x8211, 0x1dd8, 0x2001, 0x0306, 0x2003, 0x4800, 0x2001, - 0x009a, 0x2003, 0x0004, 0x2001, 0x1a65, 0x2003, 0x0000, 0x2001, - 0x1a6e, 0x2003, 0x0000, 0x6a88, 0x698c, 0x2200, 0x9105, 0x1120, - 0x2c10, 0x080c, 0x1baf, 0x0040, 0x6014, 0x2048, 0xaa3a, 0xa936, - 0x6ac4, 0x69c8, 0xa946, 0xaa4a, 0x0126, 0x00c6, 0x2091, 0x2400, - 0x002e, 0x080c, 0x1c48, 0x190c, 0x0dd5, 0x012e, 0x0090, 0x2009, - 0x1a80, 0x2104, 0x8000, 0x0208, 0x200a, 0x69c8, 0x2011, 0x0020, - 0x8211, 0x1df0, 0x68c8, 0x9106, 0x1dc0, 0x69c4, 0x68c8, 0x9105, - 0x0160, 0x6824, 0xd08c, 0x0110, 0x6827, 0x0002, 0x7048, 0xc085, - 0x704a, 0x0079, 0x7048, 0xc084, 0x704a, 0x2009, 0x07d0, 0x080c, - 0x8567, 0x9006, 0x009e, 0x00ce, 0x00de, 0x0005, 0x9085, 0x0001, - 0x0cc8, 0x0026, 0x00e6, 0x2071, 0x19e6, 0x7048, 0xd084, 0x01d8, - 0x713c, 0x81ff, 0x01c0, 0x2071, 0x0100, 0x9188, 0x0008, 0x2114, - 0x928e, 0x0006, 0x1138, 0x7014, 0x9084, 0x1984, 0x9085, 0x0012, - 0x7016, 0x0048, 0x928e, 0x0009, 0x0db0, 0x7014, 0x9084, 0x1984, - 0x9085, 0x0016, 0x7016, 0x00ee, 0x002e, 0x0005, 0x00b6, 0x00e6, - 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0006, 0x0126, 0x2091, - 0x8000, 0x6010, 0x2058, 0xbca0, 0x2071, 0x19e6, 0x7018, 0x2058, - 0x8bff, 0x0190, 0xb8a0, 0x9406, 0x0118, 0xb854, 0x2058, 0x0cc0, - 0x6014, 0x0096, 0x2048, 0xac6c, 0xad70, 0xae78, 0x009e, 0x080c, - 0x673a, 0x0110, 0x9085, 0x0001, 0x012e, 0x000e, 0x004e, 0x005e, - 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, 0x0005, 0x080c, 0x9c61, - 0x7003, 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, 0x00c6, 0x7820, - 0x9086, 0x0004, 0x1148, 0x7810, 0x9005, 0x0130, 0x00b6, 0x2058, - 0xb810, 0xb914, 0x00be, 0x0020, 0x2061, 0x1800, 0x607c, 0x6180, - 0x9084, 0x00ff, 0x700a, 0x710e, 0x00ce, 0x60c3, 0x002c, 0x0804, - 0xa248, 0x080c, 0x9c61, 0x7003, 0x0f00, 0x7808, 0xd09c, 0x0128, - 0xb810, 0x9084, 0x00ff, 0x700a, 0xb814, 0x700e, 0x60c3, 0x0008, - 0x0804, 0xa248, 0x0156, 0x080c, 0x9cac, 0x7003, 0x0200, 0x080c, - 0x85c2, 0x20a9, 0x0006, 0x2011, 0xfff4, 0x2019, 0xfff5, 0x9ef0, - 0x0002, 0x2305, 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, - 0x0002, 0x9290, 0x0002, 0x1f04, 0xa4b1, 0x60c3, 0x001c, 0x015e, - 0x0804, 0xa248, 0x0016, 0x0026, 0x080c, 0x9c88, 0x080c, 0x9c9a, - 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, 0x0096, 0x2048, - 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, - 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, - 0x4003, 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, 0xa248, 0x002e, - 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, 0xab17, 0x20a1, - 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x9c61, 0x7003, 0x6200, - 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0xa248, 0x0016, 0x0026, - 0x080c, 0x9c61, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, 0x0096, - 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, - 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x4003, 0x8003, - 0x60c2, 0x080c, 0xa248, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00c6, - 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x700c, 0x2060, - 0x8cff, 0x0178, 0x080c, 0xcd50, 0x1110, 0x080c, 0xb824, 0x600c, - 0x0006, 0x080c, 0xcfbc, 0x080c, 0xae71, 0x080c, 0xa693, 0x00ce, - 0x0c78, 0x2c00, 0x700e, 0x700a, 0x012e, 0x000e, 0x00ce, 0x00ee, - 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, - 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, - 0x918c, 0xe7ff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, - 0x19e6, 0x7024, 0x2060, 0x8cff, 0x01f8, 0x080c, 0xa274, 0x6ac0, - 0x68c3, 0x0000, 0x080c, 0x8562, 0x00c6, 0x2061, 0x0100, 0x080c, - 0xac68, 0x00ce, 0x20a9, 0x01f4, 0x0461, 0x2009, 0x0013, 0x080c, - 0xaeec, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, 0x1800, 0x2004, 0x9096, - 0x0001, 0x0d78, 0x9096, 0x0004, 0x0d60, 0x080c, 0x8562, 0x6814, - 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, 0x68c3, - 0x0000, 0x2011, 0x5e8c, 0x080c, 0x84dc, 0x20a9, 0x01f4, 0x0009, - 0x08c0, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, 0x9084, - 0x4000, 0x190c, 0x2d01, 0x0090, 0xd084, 0x0118, 0x6827, 0x0001, - 0x0010, 0x1f04, 0xa599, 0x7804, 0x9084, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x0005, 0x0126, - 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0016, - 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, 0x918c, 0xdbff, - 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, 0x19e6, 0x703c, - 0x2060, 0x8cff, 0x0904, 0xa649, 0x9386, 0x0002, 0x1128, 0x6814, - 0x9084, 0x0002, 0x0904, 0xa649, 0x68af, 0x95f5, 0x6817, 0x0010, - 0x2009, 0x00fa, 0x8109, 0x1df0, 0x69c6, 0x68cb, 0x0008, 0x080c, - 0x856f, 0x080c, 0x1ffc, 0x0046, 0x2009, 0x00a5, 0x080c, 0x0e51, - 0x2021, 0x0169, 0x2404, 0x9084, 0x000f, 0x9086, 0x0004, 0x11f8, - 0x68af, 0x95f5, 0x68c6, 0x68cb, 0x0008, 0x00e6, 0x00f6, 0x2079, - 0x0090, 0x2071, 0x1a65, 0x6814, 0x9084, 0x1984, 0x9085, 0x0012, - 0x6816, 0x782b, 0x0008, 0x7003, 0x0000, 0x00fe, 0x00ee, 0x9386, - 0x0002, 0x1128, 0x7884, 0x9005, 0x1110, 0x7887, 0x0001, 0x2001, - 0x1980, 0x200c, 0x080c, 0x0e51, 0x004e, 0x20a9, 0x03e8, 0x6824, - 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, - 0x2d01, 0x0090, 0xd08c, 0x0118, 0x6827, 0x0002, 0x0010, 0x1f04, - 0xa61f, 0x7804, 0x9084, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, - 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x6827, 0x4000, 0x6824, 0x83ff, - 0x1140, 0x2009, 0x0049, 0x6020, 0x9086, 0x0009, 0x0110, 0x080c, - 0xaeec, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, - 0x2069, 0x19e6, 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, - 0x2091, 0x8000, 0x2069, 0x19e6, 0x6a32, 0x012e, 0x00de, 0x0005, - 0x080c, 0x9e1a, 0x7854, 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, - 0x080c, 0x9e1a, 0x7854, 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, - 0x080c, 0x9e1a, 0x7854, 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, - 0x080c, 0x9e1a, 0x7854, 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, - 0x080c, 0x9e1a, 0x7854, 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, - 0x0020, 0x0804, 0xa248, 0x00e6, 0x2071, 0x19e6, 0x7020, 0x9005, - 0x0110, 0x8001, 0x7022, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00d6, - 0x00c6, 0x0076, 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, - 0x19e6, 0x7614, 0x2660, 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, - 0xa738, 0x8cff, 0x0904, 0xa738, 0x6020, 0x9086, 0x0006, 0x1904, - 0xa733, 0x88ff, 0x0138, 0x2800, 0x9c06, 0x1904, 0xa733, 0x2039, - 0x0000, 0x0050, 0x6010, 0x9b06, 0x1904, 0xa733, 0x85ff, 0x0120, - 0x6054, 0x9106, 0x1904, 0xa733, 0x7024, 0x9c06, 0x15b0, 0x2069, - 0x0100, 0x68c0, 0x9005, 0x1160, 0x6824, 0xd084, 0x0148, 0x6827, - 0x0001, 0x080c, 0x8562, 0x080c, 0xa7bd, 0x7027, 0x0000, 0x0428, - 0x080c, 0x8562, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, - 0x0008, 0x68c3, 0x0000, 0x080c, 0xa7bd, 0x7027, 0x0000, 0x0036, - 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, - 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, 0x2069, 0x0100, 0x6824, - 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x7014, 0x9c36, 0x1110, - 0x660c, 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, - 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, - 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x89ff, 0x1168, 0x600f, - 0x0000, 0x6014, 0x0096, 0x2048, 0x080c, 0xcb48, 0x0110, 0x080c, - 0xe572, 0x009e, 0x080c, 0xaea2, 0x080c, 0xa693, 0x88ff, 0x1190, - 0x00ce, 0x0804, 0xa6ae, 0x2c78, 0x600c, 0x2060, 0x0804, 0xa6ae, - 0x9006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, 0x0001, 0x0c88, - 0x00f6, 0x00e6, 0x00d6, 0x0096, 0x00c6, 0x0066, 0x0026, 0x0006, - 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7638, 0x2660, 0x2678, - 0x8cff, 0x0904, 0xa7ac, 0x6020, 0x9086, 0x0006, 0x1904, 0xa7a7, - 0x87ff, 0x0128, 0x2700, 0x9c06, 0x1904, 0xa7a7, 0x0040, 0x6010, - 0x9b06, 0x15e8, 0x85ff, 0x0118, 0x6054, 0x9106, 0x15c0, 0x703c, - 0x9c06, 0x1168, 0x0036, 0x2019, 0x0001, 0x080c, 0xa5b7, 0x7033, - 0x0000, 0x9006, 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x7038, - 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, - 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, - 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, - 0x0000, 0x6014, 0x2048, 0x080c, 0xcb48, 0x0110, 0x080c, 0xe572, - 0x080c, 0xaea2, 0x87ff, 0x1198, 0x00ce, 0x0804, 0xa758, 0x2c78, - 0x600c, 0x2060, 0x0804, 0xa758, 0x9006, 0x012e, 0x000e, 0x002e, - 0x006e, 0x00ce, 0x009e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, - 0x0000, 0x00ce, 0x97bd, 0x0001, 0x0c80, 0x00e6, 0x2071, 0x19e6, - 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1118, 0x7007, 0x0005, - 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00c6, - 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, - 0x2c10, 0x7638, 0x2660, 0x2678, 0x8cff, 0x0540, 0x2200, 0x9c06, - 0x1508, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, + 0xb86c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0xaaff, + 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, + 0x1b58, 0x080c, 0x8584, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, + 0x00ee, 0x009e, 0x00be, 0x0005, 0x7804, 0x9086, 0x0040, 0x0904, + 0xa1fc, 0x9185, 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x0809, 0x6077, 0x0008, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xb88c, + 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, + 0x2f00, 0x6082, 0x7808, 0x6086, 0x7814, 0x2048, 0xa838, 0x608a, + 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, + 0xbac0, 0x629e, 0x080c, 0xaaff, 0x2009, 0x07d0, 0x60c4, 0x9084, + 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x8584, 0x003e, + 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x009e, 0x00be, 0x0005, + 0x7814, 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0904, + 0xa218, 0x9185, 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x0880, 0x6077, 0x0008, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, + 0x8007, 0x607a, 0x7838, 0x607e, 0x2f00, 0x6086, 0x7808, 0x6082, + 0xa890, 0x608a, 0xa88c, 0x608e, 0xa8b0, 0x60c6, 0xa8ac, 0x60ca, + 0xa8ac, 0x7930, 0x9108, 0x7932, 0xa8b0, 0x792c, 0x9109, 0x792e, + 0xb86c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xbac0, 0x629e, + 0x080c, 0xaadc, 0x0804, 0xa1ac, 0xb8cc, 0xd084, 0x0148, 0xb88c, + 0x7814, 0x2048, 0xb88c, 0x7846, 0xa836, 0x2900, 0xa83a, 0xb04a, + 0x9185, 0x0600, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0829, + 0x6077, 0x0000, 0x60af, 0x9575, 0x60d7, 0x0000, 0x0804, 0xa18f, + 0x9185, 0x0700, 0x6062, 0x6266, 0x636a, 0x646e, 0x7824, 0xd0cc, + 0x7826, 0x0118, 0x6073, 0x0889, 0x0010, 0x6073, 0x0898, 0x6077, + 0x0000, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, + 0x607f, 0x0000, 0x2f00, 0x6086, 0x7808, 0x6082, 0xa838, 0x608a, + 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, + 0x60af, 0x95d5, 0x60d7, 0x0000, 0xbac0, 0x629e, 0x7824, 0xd0cc, + 0x0120, 0x080c, 0xaaff, 0x0804, 0xa1ac, 0x080c, 0xaadc, 0x0804, + 0xa1ac, 0x7a10, 0x00b6, 0x2258, 0xba8c, 0x8210, 0x9294, 0x00ff, + 0xba8e, 0x00be, 0x8217, 0x0005, 0x00d6, 0x2069, 0x19e6, 0x6843, + 0x0001, 0x00de, 0x0005, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x00f1, + 0x080c, 0x8576, 0x0005, 0x0016, 0x2001, 0x180c, 0x200c, 0x9184, + 0x0600, 0x9086, 0x0600, 0x0128, 0x0089, 0x080c, 0x8576, 0x001e, + 0x0005, 0xc1e5, 0x2001, 0x180c, 0x2102, 0x2001, 0x19e7, 0x2003, + 0x0000, 0x2001, 0x19ef, 0x2003, 0x0000, 0x0c88, 0x0006, 0x6014, + 0x9084, 0x1804, 0x9085, 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, + 0x00c6, 0x0006, 0x2061, 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, + 0x9084, 0x1804, 0x9085, 0x0008, 0x6016, 0x000e, 0xa001, 0xa001, + 0xa001, 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, + 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x73b3, 0x11c0, + 0x2001, 0x1a02, 0x2004, 0x9005, 0x15d0, 0x080c, 0x7463, 0x1160, + 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, 0x6024, 0xd084, 0x090c, + 0x0dd5, 0x080c, 0x8576, 0x0458, 0x00c6, 0x2061, 0x19e6, 0x00c8, + 0x6904, 0x9194, 0x4000, 0x0540, 0x0811, 0x080c, 0x2d0c, 0x00c6, + 0x2061, 0x19e6, 0x6128, 0x9192, 0x0008, 0x1258, 0x8108, 0x612a, + 0x6124, 0x00ce, 0x81ff, 0x0198, 0x080c, 0x8576, 0x080c, 0xa286, + 0x0070, 0x6124, 0x91e5, 0x0000, 0x0140, 0x080c, 0xea39, 0x080c, + 0x857f, 0x2009, 0x0014, 0x080c, 0xaeda, 0x00ce, 0x0000, 0x002e, + 0x001e, 0x00de, 0x00ce, 0x0005, 0x2001, 0x1a02, 0x2004, 0x9005, + 0x1db0, 0x00c6, 0x2061, 0x19e6, 0x6128, 0x9192, 0x0003, 0x1e08, + 0x8108, 0x612a, 0x00ce, 0x080c, 0x8576, 0x080c, 0x5eec, 0x2009, + 0x1846, 0x2114, 0x8210, 0x220a, 0x0c10, 0x0096, 0x00c6, 0x00d6, + 0x00e6, 0x0016, 0x0026, 0x080c, 0x858c, 0x2071, 0x19e6, 0x713c, + 0x81ff, 0x0904, 0xa38f, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, + 0x73b3, 0x11e0, 0x0036, 0x2019, 0x0002, 0x080c, 0xa5c8, 0x003e, + 0x713c, 0x2160, 0x080c, 0xea39, 0x2009, 0x004a, 0x6220, 0x9296, + 0x0009, 0x1130, 0x6114, 0x2148, 0xa87b, 0x0006, 0x2009, 0x004a, + 0x080c, 0xaeda, 0x080c, 0x7463, 0x0804, 0xa38f, 0x080c, 0xa39b, + 0x0904, 0xa38f, 0x6904, 0xd1f4, 0x0904, 0xa396, 0x080c, 0x2d0c, + 0x00c6, 0x703c, 0x9065, 0x090c, 0x0dd5, 0x6020, 0x00ce, 0x9086, + 0x0006, 0x1528, 0x61c8, 0x60c4, 0x9105, 0x1508, 0x2009, 0x180c, + 0x2104, 0xd0d4, 0x01e0, 0x6214, 0x9294, 0x1800, 0x1128, 0x6224, + 0x9294, 0x0002, 0x1560, 0x0030, 0xc0d4, 0x200a, 0xd0cc, 0x0110, + 0x080c, 0x2c5f, 0x6014, 0x9084, 0xe7fd, 0x9085, 0x0010, 0x6016, + 0x703c, 0x2060, 0x2009, 0x0049, 0x080c, 0xaeda, 0x00c0, 0x0036, + 0x2019, 0x0001, 0x080c, 0xa5c8, 0x003e, 0x713c, 0x2160, 0x080c, + 0xea39, 0x2009, 0x004a, 0x6220, 0x9296, 0x0009, 0x1130, 0x6114, + 0x2148, 0xa87b, 0x0006, 0x2009, 0x004a, 0x080c, 0xaeda, 0x002e, + 0x001e, 0x00ee, 0x00de, 0x00ce, 0x009e, 0x0005, 0xd1ec, 0x1904, + 0xa346, 0x0804, 0xa348, 0x00d6, 0x00c6, 0x0096, 0x703c, 0x9065, + 0x090c, 0x0dd5, 0x2001, 0x1837, 0x2004, 0xd09c, 0x1904, 0xa427, + 0x2001, 0x0306, 0x200c, 0x9184, 0x0030, 0x0904, 0xa427, 0x9184, + 0x0048, 0x9086, 0x0008, 0x1904, 0xa427, 0x2001, 0x020b, 0x2004, + 0xd0fc, 0x0904, 0xa427, 0xd08c, 0x0904, 0xa427, 0x2009, 0x1a7f, + 0x2104, 0x8000, 0x0208, 0x200a, 0x2069, 0x0100, 0x6914, 0x918c, + 0x0184, 0x918d, 0x0010, 0x6916, 0x69c8, 0x2011, 0x0020, 0x68c8, + 0x9106, 0x1570, 0x8211, 0x1dd8, 0x2001, 0x0306, 0x2003, 0x4800, + 0x2001, 0x009a, 0x2003, 0x0004, 0x2001, 0x1a65, 0x2003, 0x0000, + 0x2001, 0x1a6e, 0x2003, 0x0000, 0x6a88, 0x698c, 0x2200, 0x9105, + 0x1120, 0x2c10, 0x080c, 0x1bba, 0x0040, 0x6014, 0x2048, 0xaa3a, + 0xa936, 0x6ac4, 0x69c8, 0xa946, 0xaa4a, 0x0126, 0x00c6, 0x2091, + 0x2400, 0x002e, 0x080c, 0x1c53, 0x190c, 0x0dd5, 0x012e, 0x0090, + 0x2009, 0x1a80, 0x2104, 0x8000, 0x0208, 0x200a, 0x69c8, 0x2011, + 0x0020, 0x8211, 0x1df0, 0x68c8, 0x9106, 0x1dc0, 0x69c4, 0x68c8, + 0x9105, 0x0160, 0x6824, 0xd08c, 0x0110, 0x6827, 0x0002, 0x7048, + 0xc085, 0x704a, 0x0079, 0x7048, 0xc084, 0x704a, 0x2009, 0x07d0, + 0x080c, 0x8584, 0x9006, 0x009e, 0x00ce, 0x00de, 0x0005, 0x9085, + 0x0001, 0x0cc8, 0x0026, 0x00e6, 0x2071, 0x19e6, 0x7048, 0xd084, + 0x01d8, 0x713c, 0x81ff, 0x01c0, 0x2071, 0x0100, 0x9188, 0x0008, + 0x2114, 0x928e, 0x0006, 0x1138, 0x7014, 0x9084, 0x1984, 0x9085, + 0x0012, 0x7016, 0x0048, 0x928e, 0x0009, 0x0db0, 0x7014, 0x9084, + 0x1984, 0x9085, 0x0016, 0x7016, 0x00ee, 0x002e, 0x0005, 0x00b6, + 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0006, 0x0126, + 0x2091, 0x8000, 0x6010, 0x2058, 0xbca0, 0x2071, 0x19e6, 0x7018, + 0x2058, 0x8bff, 0x0190, 0xb8a0, 0x9406, 0x0118, 0xb854, 0x2058, + 0x0cc0, 0x6014, 0x0096, 0x2048, 0xac6c, 0xad70, 0xae78, 0x009e, + 0x080c, 0x6748, 0x0110, 0x9085, 0x0001, 0x012e, 0x000e, 0x004e, + 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, 0x0005, 0x080c, + 0x9c7c, 0x7003, 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, 0x00c6, + 0x7820, 0x9086, 0x0004, 0x1148, 0x7810, 0x9005, 0x0130, 0x00b6, + 0x2058, 0xb810, 0xb914, 0x00be, 0x0020, 0x2061, 0x1800, 0x607c, + 0x6180, 0x9084, 0x00ff, 0x700a, 0x710e, 0x00ce, 0x60c3, 0x002c, + 0x0804, 0xa263, 0x080c, 0x9c7c, 0x7003, 0x0f00, 0x7808, 0xd09c, + 0x0128, 0xb810, 0x9084, 0x00ff, 0x700a, 0xb814, 0x700e, 0x60c3, + 0x0008, 0x0804, 0xa263, 0x0156, 0x080c, 0x9cc7, 0x7003, 0x0200, + 0x080c, 0x85df, 0x20a9, 0x0006, 0x2011, 0xffec, 0x2019, 0xffed, + 0x9ef0, 0x0002, 0x2305, 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, + 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0xa4c2, 0x60c3, 0x001c, + 0x015e, 0x0804, 0xa263, 0x0016, 0x0026, 0x080c, 0x9ca3, 0x080c, + 0x9cb5, 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, 0x0096, + 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, + 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, + 0x1250, 0x4003, 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, 0xa263, + 0x002e, 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, 0xab05, + 0x20a1, 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x9c7c, 0x7003, + 0x6200, 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0xa263, 0x0016, + 0x0026, 0x080c, 0x9c7c, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, + 0x0096, 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x0023, 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x4003, + 0x8003, 0x60c2, 0x080c, 0xa263, 0x002e, 0x001e, 0x0005, 0x00e6, + 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x700c, + 0x2060, 0x8cff, 0x0178, 0x080c, 0xcd60, 0x1110, 0x080c, 0xb821, + 0x600c, 0x0006, 0x080c, 0xcfcc, 0x080c, 0xae5f, 0x080c, 0xa67d, + 0x00ce, 0x0c78, 0x2c00, 0x700e, 0x700a, 0x012e, 0x000e, 0x00ce, + 0x00ee, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, + 0x200c, 0x918c, 0xe7ff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, + 0x2071, 0x19e6, 0x7024, 0x2060, 0x8cff, 0x01f8, 0x080c, 0xa28f, + 0x6ac0, 0x68c3, 0x0000, 0x080c, 0x857f, 0x00c6, 0x2061, 0x0100, + 0x080c, 0xac56, 0x00ce, 0x20a9, 0x01f4, 0x0461, 0x2009, 0x0013, + 0x080c, 0xaeda, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, 0x1800, 0x2004, + 0x9096, 0x0001, 0x0d78, 0x9096, 0x0004, 0x0d60, 0x080c, 0x857f, + 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, + 0x68c3, 0x0000, 0x2011, 0x5e96, 0x080c, 0x84f9, 0x20a9, 0x01f4, + 0x0009, 0x08c0, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, + 0x9084, 0x4000, 0x190c, 0x2d0c, 0x0090, 0xd084, 0x0118, 0x6827, + 0x0001, 0x0010, 0x1f04, 0xa5aa, 0x7804, 0x9084, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x0005, + 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, + 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, 0x918c, + 0xdbff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, 0x19e6, + 0x703c, 0x2060, 0x8cff, 0x0904, 0xa633, 0x9386, 0x0002, 0x1128, + 0x6814, 0x9084, 0x0002, 0x0904, 0xa633, 0x68af, 0x95f5, 0x6817, + 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, 0x69c6, 0x68cb, 0x0008, + 0x080c, 0x858c, 0x080c, 0x2007, 0x2001, 0x0032, 0x6920, 0xd1bc, + 0x0130, 0x8001, 0x1dd8, 0x692c, 0x918d, 0x0008, 0x692e, 0x20a9, + 0x03e8, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, 0x9084, + 0x4000, 0x190c, 0x2d0c, 0x0090, 0xd08c, 0x0118, 0x6827, 0x0002, + 0x0010, 0x1f04, 0xa609, 0x7804, 0x9084, 0x1000, 0x0138, 0x2001, + 0x0100, 0x080c, 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x6827, 0x4000, + 0x6824, 0x83ff, 0x1140, 0x2009, 0x0049, 0x6020, 0x9086, 0x0009, + 0x0110, 0x080c, 0xaeda, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x2069, 0x19e6, 0x6a06, 0x012e, 0x00de, 0x0005, + 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, 0x19e6, 0x6a32, 0x012e, + 0x00de, 0x0005, 0x080c, 0x9e35, 0x7854, 0x7032, 0x7042, 0x7047, + 0x1000, 0x00f8, 0x080c, 0x9e35, 0x7854, 0x7032, 0x7042, 0x7047, + 0x4000, 0x00b8, 0x080c, 0x9e35, 0x7854, 0x7032, 0x7042, 0x7047, + 0x2000, 0x0078, 0x080c, 0x9e35, 0x7854, 0x7032, 0x7042, 0x7047, + 0x0400, 0x0038, 0x080c, 0x9e35, 0x7854, 0x7032, 0x7042, 0x7047, + 0x0200, 0x60c3, 0x0020, 0x0804, 0xa263, 0x00e6, 0x2071, 0x19e6, + 0x7020, 0x9005, 0x0110, 0x8001, 0x7022, 0x00ee, 0x0005, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2071, 0x19e6, 0x7614, 0x2660, 0x2678, 0x2039, 0x0001, + 0x87ff, 0x0904, 0xa722, 0x8cff, 0x0904, 0xa722, 0x6020, 0x9086, + 0x0006, 0x1904, 0xa71d, 0x88ff, 0x0138, 0x2800, 0x9c06, 0x1904, + 0xa71d, 0x2039, 0x0000, 0x0050, 0x6010, 0x9b06, 0x1904, 0xa71d, + 0x85ff, 0x0120, 0x6054, 0x9106, 0x1904, 0xa71d, 0x7024, 0x9c06, + 0x15b0, 0x2069, 0x0100, 0x68c0, 0x9005, 0x1160, 0x6824, 0xd084, + 0x0148, 0x6827, 0x0001, 0x080c, 0x857f, 0x080c, 0xa7a7, 0x7027, + 0x0000, 0x0428, 0x080c, 0x857f, 0x6820, 0xd0b4, 0x0110, 0x68a7, + 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x080c, 0xa7a7, 0x7027, + 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x7014, + 0x9c36, 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x89ff, + 0x1168, 0x600f, 0x0000, 0x6014, 0x0096, 0x2048, 0x080c, 0xcb58, + 0x0110, 0x080c, 0xe58c, 0x009e, 0x080c, 0xae90, 0x080c, 0xa67d, + 0x88ff, 0x1190, 0x00ce, 0x0804, 0xa698, 0x2c78, 0x600c, 0x2060, + 0x0804, 0xa698, 0x9006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, + 0x0001, 0x0c88, 0x00f6, 0x00e6, 0x00d6, 0x0096, 0x00c6, 0x0066, + 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7638, + 0x2660, 0x2678, 0x8cff, 0x0904, 0xa796, 0x6020, 0x9086, 0x0006, + 0x1904, 0xa791, 0x87ff, 0x0128, 0x2700, 0x9c06, 0x1904, 0xa791, + 0x0040, 0x6010, 0x9b06, 0x15e8, 0x85ff, 0x0118, 0x6054, 0x9106, + 0x15c0, 0x703c, 0x9c06, 0x1168, 0x0036, 0x2019, 0x0001, 0x080c, + 0xa5c8, 0x7033, 0x0000, 0x9006, 0x703e, 0x7042, 0x7046, 0x704a, + 0x003e, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, - 0x0000, 0x660c, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, - 0x600f, 0x0000, 0x6004, 0x9086, 0x0040, 0x090c, 0x957b, 0x9085, - 0x0001, 0x0020, 0x2c78, 0x600c, 0x2060, 0x08b0, 0x012e, 0x000e, - 0x002e, 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0096, 0x00f6, - 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, - 0x8000, 0x2071, 0x19e6, 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, - 0xa8a3, 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x1904, - 0xa89e, 0x7024, 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, - 0x0904, 0xa875, 0x080c, 0xa274, 0x68c3, 0x0000, 0x080c, 0xa7bd, - 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, - 0x0138, 0x2001, 0x0100, 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, - 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, - 0x700c, 0x9c36, 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, - 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, - 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, - 0x600f, 0x0000, 0x080c, 0xcd3f, 0x1180, 0x080c, 0x31ea, 0x080c, - 0xcd50, 0x1518, 0x080c, 0xb824, 0x0400, 0x080c, 0xa7bd, 0x6824, - 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xcd50, 0x1118, - 0x080c, 0xb824, 0x0090, 0x6014, 0x2048, 0x080c, 0xcb48, 0x0168, - 0x6020, 0x9086, 0x0003, 0x1508, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x080c, 0x6c7a, 0x080c, 0xcd33, 0x080c, 0xcfbc, 0x080c, - 0xaea2, 0x080c, 0xa693, 0x00ce, 0x0804, 0xa81e, 0x2c78, 0x600c, - 0x2060, 0x0804, 0xa81e, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, - 0x00de, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1d20, 0x080c, 0xe572, 0x0c08, 0x00d6, 0x080c, 0x9cac, 0x7003, - 0x0200, 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, 0x2099, - 0x1988, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, 0x0004, 0x4003, - 0x7023, 0x0004, 0x7027, 0x7878, 0x080c, 0xa248, 0x00de, 0x0005, - 0x080c, 0x9cac, 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, 0x700e, - 0x7814, 0x9084, 0x00ff, 0x7022, 0x782c, 0x7026, 0x7858, 0x9084, - 0x00ff, 0x9085, 0x0200, 0x7002, 0x7858, 0x9084, 0xff00, 0x8007, - 0x7006, 0x60c2, 0x0804, 0xa248, 0x00b6, 0x00d6, 0x0016, 0x00d6, - 0x2f68, 0x2009, 0x0035, 0x080c, 0xd1c2, 0x00de, 0x1904, 0xa951, - 0x080c, 0x9c61, 0x7003, 0x1300, 0x782c, 0x080c, 0xaa53, 0x2068, - 0x6820, 0x9086, 0x0003, 0x0560, 0x7810, 0x2058, 0xbaa0, 0x080c, - 0xaddb, 0x11d8, 0x9286, 0x007e, 0x1128, 0x700b, 0x00ff, 0x700f, - 0xfffe, 0x0498, 0x9286, 0x007f, 0x1128, 0x700b, 0x00ff, 0x700f, - 0xfffd, 0x0458, 0x9284, 0xff80, 0x0180, 0x9286, 0x0080, 0x1128, - 0x700b, 0x00ff, 0x700f, 0xfffc, 0x0400, 0x92d8, 0x1000, 0x2b5c, - 0xb810, 0x700a, 0xb814, 0x700e, 0x00c0, 0x6098, 0x700e, 0x00a8, - 0x080c, 0xaddb, 0x1130, 0x7810, 0x2058, 0xb8a0, 0x9082, 0x007e, - 0x0250, 0x00d6, 0x2069, 0x181f, 0x2d04, 0x700a, 0x8d68, 0x2d04, - 0x700e, 0x00de, 0x0010, 0x6034, 0x700e, 0x7838, 0x7012, 0x783c, - 0x7016, 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, 0xa248, 0x00be, - 0x0005, 0x781b, 0x0001, 0x7803, 0x0006, 0x001e, 0x00de, 0x00be, - 0x0005, 0x792c, 0x9180, 0x0008, 0x200c, 0x9186, 0x0006, 0x01c0, - 0x9186, 0x0003, 0x0904, 0xa9cb, 0x9186, 0x0005, 0x0904, 0xa9b4, - 0x9186, 0x0004, 0x05d8, 0x9186, 0x0008, 0x0904, 0xa9bc, 0x7807, - 0x0037, 0x782f, 0x0003, 0x7817, 0x1700, 0x080c, 0xaa30, 0x0005, - 0x080c, 0xa9f1, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, - 0x6800, 0x0002, 0xa995, 0xa9a0, 0xa997, 0xa9a0, 0xa99c, 0xa995, - 0xa995, 0xa9a0, 0xa9a0, 0xa9a0, 0xa9a0, 0xa995, 0xa995, 0xa995, - 0xa995, 0xa995, 0xa9a0, 0xa995, 0xa9a0, 0x080c, 0x0dd5, 0x6824, - 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0x900e, 0x0010, 0x2009, 0x2000, - 0x682c, 0x7022, 0x6830, 0x7026, 0x0804, 0xa9ea, 0x080c, 0xa9f1, - 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6a00, 0x9286, - 0x0002, 0x1108, 0x900e, 0x04b0, 0x04e1, 0x00d6, 0x0026, 0x792c, - 0x2168, 0x2009, 0x4000, 0x0470, 0x04a1, 0x00d6, 0x0026, 0x792c, - 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, 0x0118, 0x9286, 0x0002, - 0x1108, 0x900e, 0x00f8, 0x0429, 0x00d6, 0x0026, 0x792c, 0x2168, - 0x6814, 0x0096, 0x2048, 0xa9ac, 0xa834, 0x9112, 0xa9b0, 0xa838, - 0x009e, 0x9103, 0x7022, 0x7226, 0x792c, 0x9180, 0x0000, 0x2004, - 0x908e, 0x0002, 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, - 0x0008, 0x900e, 0x712a, 0x60c3, 0x0018, 0x002e, 0x00de, 0x0804, - 0xa248, 0x00b6, 0x0036, 0x0046, 0x0056, 0x0066, 0x080c, 0x9cac, - 0x9006, 0x7003, 0x0200, 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, - 0x2058, 0xb8a0, 0x080c, 0xaddb, 0x1118, 0x9092, 0x007e, 0x0268, - 0x00d6, 0x2069, 0x181f, 0x2d2c, 0x8d68, 0x2d34, 0x90d8, 0x1000, - 0x2b5c, 0xbb10, 0xbc14, 0x00de, 0x0028, 0x901e, 0x6498, 0x2029, - 0x0000, 0x6634, 0x782c, 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, - 0x1128, 0x7512, 0x7616, 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, - 0x751a, 0x761e, 0x006e, 0x005e, 0x004e, 0x003e, 0x00be, 0x0005, - 0x080c, 0x9cac, 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, - 0x700e, 0x60c3, 0x0008, 0x0804, 0xa248, 0x080c, 0x9c58, 0x7003, - 0x1400, 0x7838, 0x700a, 0x0079, 0x783c, 0x700e, 0x782c, 0x7012, - 0x7830, 0x7016, 0x7834, 0x9084, 0x00ff, 0x8007, 0x701a, 0x60c3, - 0x0010, 0x0804, 0xa248, 0x00e6, 0x2071, 0x0240, 0x0006, 0x00f6, - 0x2078, 0x7810, 0x00b6, 0x2058, 0xb8cc, 0xd084, 0x0120, 0x7848, - 0x702a, 0x7844, 0x702e, 0x00be, 0x00fe, 0x000e, 0x00ee, 0x0005, - 0x080c, 0x9ca3, 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, - 0x60c3, 0x0008, 0x0804, 0xa248, 0x0021, 0x60c3, 0x0000, 0x0804, - 0xa248, 0x00d6, 0x080c, 0xab2c, 0xb810, 0x9085, 0x0300, 0x7002, - 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, - 0x7013, 0x0819, 0x080c, 0xa236, 0x721a, 0x2f10, 0x7222, 0x7a08, - 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, 0x00a9, 0x7914, 0x712a, - 0x60c3, 0x0000, 0x60a7, 0x9575, 0x0026, 0x080c, 0x2ba7, 0x0228, - 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, 0x002e, 0x080c, 0xa26b, - 0x080c, 0x8559, 0x0005, 0x0036, 0x0096, 0x00d6, 0x00e6, 0x7858, - 0x2048, 0xaa7c, 0x9296, 0x00c0, 0x9294, 0xfffd, 0xaa7e, 0xaa80, - 0x9294, 0x0300, 0xaa82, 0xa96c, 0x9194, 0x00ff, 0xab74, 0x9384, - 0x00ff, 0x908d, 0xc200, 0xa96e, 0x9384, 0xff00, 0x9215, 0xaa76, - 0xa870, 0xaa78, 0xa87a, 0xaa72, 0x00d6, 0x2069, 0x0200, 0x080c, - 0xab2c, 0x00de, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000a, - 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, 0x2098, 0x4003, 0x60a3, - 0x0035, 0xaa68, 0x9294, 0x7000, 0x9286, 0x3000, 0x0110, 0x60a3, - 0x0037, 0x00ee, 0x00de, 0x009e, 0x003e, 0x0005, 0x900e, 0x7814, - 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x01c0, 0x9084, 0x0003, 0x11a8, - 0x2001, 0x180c, 0x2004, 0xd0bc, 0x0180, 0x7824, 0xd0cc, 0x1168, - 0xd0c4, 0x1158, 0xa8a8, 0x9005, 0x1140, 0x2001, 0x180c, 0x200c, - 0xc1d5, 0x2102, 0x2009, 0x19b1, 0x210c, 0x009e, 0x918d, 0x0092, - 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, 0x6116, 0x0005, 0x2009, - 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, 0x2009, 0x000b, 0x0070, - 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, 0x0040, 0x2009, 0x000e, - 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, 0x0008, 0x6912, 0x0005, - 0x080c, 0x9c61, 0x0016, 0x0026, 0x0096, 0x00d6, 0x7814, 0x2048, - 0x7013, 0x0138, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x1138, - 0x2001, 0x197b, 0x2004, 0x9086, 0xaaaa, 0x1904, 0xabd1, 0x7003, - 0x5400, 0x00c6, 0x2061, 0x1800, 0x607c, 0x9084, 0x00ff, 0xa998, - 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, 0x6080, 0x700e, 0xa998, - 0x918c, 0xff00, 0x7112, 0x20a9, 0x0004, 0x2009, 0x1805, 0x2e10, - 0x9290, 0x0006, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0xab62, - 0x20a9, 0x0004, 0x2009, 0x1801, 0x2104, 0x2012, 0x8108, 0x8210, - 0x1f04, 0xab6c, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0029, 0x2098, - 0x2009, 0x0006, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, - 0x8109, 0x1dc0, 0x00d6, 0x2069, 0x0200, 0x080c, 0xab17, 0x00de, - 0x2071, 0x0240, 0x2011, 0x0240, 0x2009, 0x0002, 0x20a9, 0x0001, - 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0x2009, 0x0008, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x6014, 0x2048, 0x080c, 0xcb58, 0x0110, + 0x080c, 0xe58c, 0x080c, 0xae90, 0x87ff, 0x1198, 0x00ce, 0x0804, + 0xa742, 0x2c78, 0x600c, 0x2060, 0x0804, 0xa742, 0x9006, 0x012e, + 0x000e, 0x002e, 0x006e, 0x00ce, 0x009e, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x601b, 0x0000, 0x00ce, 0x97bd, 0x0001, 0x0c80, 0x00e6, + 0x2071, 0x19e6, 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1118, + 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2071, 0x19e6, 0x2c10, 0x7638, 0x2660, 0x2678, 0x8cff, 0x0540, + 0x2200, 0x9c06, 0x1508, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, + 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, + 0x0010, 0x7037, 0x0000, 0x660c, 0x2c00, 0x9f06, 0x0110, 0x7e0e, + 0x0008, 0x2678, 0x600f, 0x0000, 0x6004, 0x9086, 0x0040, 0x090c, + 0x959a, 0x9085, 0x0001, 0x0020, 0x2c78, 0x600c, 0x2060, 0x08b0, + 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, + 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, + 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x760c, 0x2660, 0x2678, + 0x8cff, 0x0904, 0xa88d, 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, + 0x9206, 0x1904, 0xa888, 0x7024, 0x9c06, 0x1520, 0x2069, 0x0100, + 0x68c0, 0x9005, 0x0904, 0xa85f, 0x080c, 0xa28f, 0x68c3, 0x0000, + 0x080c, 0xa7a7, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2cfc, 0x9006, + 0x080c, 0x2cfc, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x700c, 0x9c36, 0x1110, 0x660c, 0x760e, 0x7008, + 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700a, 0x0010, + 0x700b, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, + 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xcd4f, 0x1180, 0x080c, + 0x31f5, 0x080c, 0xcd60, 0x1518, 0x080c, 0xb821, 0x0400, 0x080c, + 0xa7a7, 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, + 0xcd60, 0x1118, 0x080c, 0xb821, 0x0090, 0x6014, 0x2048, 0x080c, + 0xcb58, 0x0168, 0x6020, 0x9086, 0x0003, 0x1508, 0xa867, 0x0103, + 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c88, 0x080c, 0xcd43, 0x080c, + 0xcfcc, 0x080c, 0xae90, 0x080c, 0xa67d, 0x00ce, 0x0804, 0xa808, + 0x2c78, 0x600c, 0x2060, 0x0804, 0xa808, 0x012e, 0x000e, 0x002e, + 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x6020, + 0x9086, 0x0006, 0x1d20, 0x080c, 0xe58c, 0x0c08, 0x00d6, 0x080c, + 0x9cc7, 0x7003, 0x0200, 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, + 0x0001, 0x2099, 0x1988, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, + 0x0004, 0x4003, 0x7023, 0x0004, 0x7027, 0x7878, 0x080c, 0xa263, + 0x00de, 0x0005, 0x080c, 0x9cc7, 0x700b, 0x0800, 0x7814, 0x9084, + 0xff00, 0x700e, 0x7814, 0x9084, 0x00ff, 0x7022, 0x782c, 0x7026, + 0x7858, 0x9084, 0x00ff, 0x9085, 0x0200, 0x7002, 0x7858, 0x9084, + 0xff00, 0x8007, 0x7006, 0x60c2, 0x0804, 0xa263, 0x00b6, 0x00d6, + 0x0016, 0x00d6, 0x2f68, 0x2009, 0x0035, 0x080c, 0xd1d2, 0x00de, + 0x1904, 0xa93b, 0x080c, 0x9c7c, 0x7003, 0x1300, 0x782c, 0x080c, + 0xaa41, 0x2068, 0x6820, 0x9086, 0x0003, 0x0560, 0x7810, 0x2058, + 0xbaa0, 0x080c, 0xadc9, 0x11d8, 0x9286, 0x007e, 0x1128, 0x700b, + 0x00ff, 0x700f, 0xfffe, 0x0498, 0x9286, 0x007f, 0x1128, 0x700b, + 0x00ff, 0x700f, 0xfffd, 0x0458, 0x9284, 0xff80, 0x0180, 0x9286, + 0x0080, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffc, 0x0400, 0x92d8, + 0x1000, 0x2b5c, 0xb810, 0x700a, 0xb814, 0x700e, 0x00c0, 0x6098, + 0x700e, 0x00a8, 0x080c, 0xadc9, 0x1130, 0x7810, 0x2058, 0xb8a0, + 0x9082, 0x007e, 0x0250, 0x00d6, 0x2069, 0x181f, 0x2d04, 0x700a, + 0x8d68, 0x2d04, 0x700e, 0x00de, 0x0010, 0x6034, 0x700e, 0x7838, + 0x7012, 0x783c, 0x7016, 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, + 0xa263, 0x00be, 0x0005, 0x781b, 0x0001, 0x7803, 0x0006, 0x001e, + 0x00de, 0x00be, 0x0005, 0x792c, 0x9180, 0x0008, 0x200c, 0x9186, + 0x0006, 0x01c0, 0x9186, 0x0003, 0x0904, 0xa9b6, 0x9186, 0x0005, + 0x0904, 0xa99e, 0x9186, 0x0004, 0x05d8, 0x9186, 0x0008, 0x0904, + 0xa9a7, 0x7807, 0x0037, 0x782f, 0x0003, 0x7817, 0x1700, 0x080c, + 0xaa1e, 0x0005, 0x080c, 0xa9df, 0x00d6, 0x0026, 0x792c, 0x2168, + 0x2009, 0x4000, 0x6800, 0x0002, 0xa97f, 0xa98a, 0xa981, 0xa98a, + 0xa986, 0xa97f, 0xa97f, 0xa98a, 0xa98a, 0xa98a, 0xa98a, 0xa97f, + 0xa97f, 0xa97f, 0xa97f, 0xa97f, 0xa98a, 0xa97f, 0xa98a, 0x080c, + 0x0dd5, 0x6824, 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0x900e, 0x0010, + 0x2009, 0x2000, 0x682c, 0x7022, 0x6830, 0x7026, 0x0804, 0xa9d8, + 0x080c, 0xa9df, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, + 0x6a00, 0x9286, 0x0002, 0x1108, 0x900e, 0x04d0, 0x080c, 0xa9df, + 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x0488, 0x04b9, + 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, + 0x0118, 0x9286, 0x0002, 0x1108, 0x900e, 0x0410, 0x0441, 0x00d6, + 0x0026, 0x792c, 0x2168, 0x6814, 0x6924, 0xc185, 0x6926, 0x0096, + 0x2048, 0xa9ac, 0xa834, 0x9112, 0xa9b0, 0xa838, 0x009e, 0x9103, + 0x7022, 0x7226, 0x792c, 0x9180, 0x0000, 0x2004, 0x908e, 0x0002, + 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, 0x0008, 0x900e, + 0x712a, 0x60c3, 0x0018, 0x002e, 0x00de, 0x0804, 0xa263, 0x00b6, + 0x0036, 0x0046, 0x0056, 0x0066, 0x080c, 0x9cc7, 0x9006, 0x7003, + 0x0200, 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, 0x2058, 0xb8a0, + 0x080c, 0xadc9, 0x1118, 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, + 0x181f, 0x2d2c, 0x8d68, 0x2d34, 0x90d8, 0x1000, 0x2b5c, 0xbb10, + 0xbc14, 0x00de, 0x0028, 0x901e, 0x6498, 0x2029, 0x0000, 0x6634, + 0x782c, 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, + 0x7616, 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, + 0x006e, 0x005e, 0x004e, 0x003e, 0x00be, 0x0005, 0x080c, 0x9cc7, + 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x700e, 0x60c3, + 0x0008, 0x0804, 0xa263, 0x080c, 0x9c73, 0x7003, 0x1400, 0x7838, + 0x700a, 0x0079, 0x783c, 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, + 0x7834, 0x9084, 0x00ff, 0x8007, 0x701a, 0x60c3, 0x0010, 0x0804, + 0xa263, 0x00e6, 0x2071, 0x0240, 0x0006, 0x00f6, 0x2078, 0x7810, + 0x00b6, 0x2058, 0xb8cc, 0xd084, 0x0120, 0x7848, 0x702a, 0x7844, + 0x702e, 0x00be, 0x00fe, 0x000e, 0x00ee, 0x0005, 0x080c, 0x9cbe, + 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, + 0x0804, 0xa263, 0x0021, 0x60c3, 0x0000, 0x0804, 0xa263, 0x00d6, + 0x080c, 0xab1a, 0xb810, 0x9085, 0x0300, 0x7002, 0xb814, 0x7006, + 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x7013, 0x0819, + 0x080c, 0xa251, 0x721a, 0x2f10, 0x7222, 0x7a08, 0x7226, 0x2071, + 0x024c, 0x00de, 0x0005, 0x00a9, 0x7914, 0x712a, 0x60c3, 0x0000, + 0x60a7, 0x9575, 0x0026, 0x080c, 0x2bb2, 0x0228, 0x2011, 0x0101, + 0x2204, 0xc0c5, 0x2012, 0x002e, 0x080c, 0xa286, 0x080c, 0x8576, + 0x0005, 0x0036, 0x0096, 0x00d6, 0x00e6, 0x7858, 0x2048, 0xaa7c, + 0x9296, 0x00c0, 0x9294, 0xfffd, 0xaa7e, 0xaa80, 0x9294, 0x0300, + 0xaa82, 0xa96c, 0x9194, 0x00ff, 0xab74, 0x9384, 0x00ff, 0x908d, + 0xc200, 0xa96e, 0x9384, 0xff00, 0x9215, 0xaa76, 0xa870, 0xaa78, + 0xa87a, 0xaa72, 0x00d6, 0x2069, 0x0200, 0x080c, 0xab1a, 0x00de, + 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000a, 0xa860, 0x20e0, + 0xa85c, 0x9080, 0x001b, 0x2098, 0x4003, 0x60a3, 0x0035, 0xaa68, + 0x9294, 0x7000, 0x9286, 0x3000, 0x0110, 0x60a3, 0x0037, 0x00ee, + 0x00de, 0x009e, 0x003e, 0x0005, 0x900e, 0x7814, 0x0096, 0x2048, + 0xa87c, 0xd0fc, 0x01c0, 0x9084, 0x0003, 0x11a8, 0x2001, 0x180c, + 0x2004, 0xd0bc, 0x0180, 0x7824, 0xd0cc, 0x1168, 0xd0c4, 0x1158, + 0xa8a8, 0x9005, 0x1140, 0x2001, 0x180c, 0x200c, 0xc1d5, 0x2102, + 0x2009, 0x19b1, 0x210c, 0x009e, 0x918d, 0x0092, 0x0010, 0x2009, + 0x0096, 0x60ab, 0x0036, 0x6116, 0x0005, 0x2009, 0x0009, 0x00a0, + 0x2009, 0x000a, 0x0088, 0x2009, 0x000b, 0x0070, 0x2009, 0x000c, + 0x0058, 0x2009, 0x000d, 0x0040, 0x2009, 0x000e, 0x0028, 0x2009, + 0x000f, 0x0010, 0x2009, 0x0008, 0x6912, 0x0005, 0x080c, 0x9c7c, + 0x0016, 0x0026, 0x0096, 0x00d6, 0x7814, 0x2048, 0x7013, 0x0138, + 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x1138, 0x2001, 0x197b, + 0x2004, 0x9086, 0xaaaa, 0x1904, 0xabbf, 0x7003, 0x5400, 0x00c6, + 0x2061, 0x1800, 0x607c, 0x9084, 0x00ff, 0xa998, 0x810f, 0x918c, + 0xff00, 0x9105, 0x700a, 0x6080, 0x700e, 0xa998, 0x918c, 0xff00, + 0x7112, 0x20a9, 0x0004, 0x2009, 0x1805, 0x2e10, 0x9290, 0x0006, + 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0xab50, 0x20a9, 0x0004, + 0x2009, 0x1801, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0xab5a, + 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0029, 0x2098, 0x2009, 0x0006, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, - 0xa85c, 0x9080, 0x0031, 0x2098, 0x2009, 0x0008, 0x20a9, 0x0001, - 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0x00ce, 0x60c3, - 0x004c, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x2001, 0x1837, 0x2004, - 0x9084, 0x0028, 0x1168, 0x080c, 0x73a5, 0x0150, 0x6028, 0xc0bd, - 0x602a, 0x6014, 0x9084, 0x1804, 0x9085, 0x0029, 0x6016, 0x0010, - 0x080c, 0xa248, 0x080c, 0x8559, 0x00de, 0x009e, 0x002e, 0x001e, - 0x0005, 0x00e6, 0x2071, 0x0240, 0x2001, 0x2200, 0x9085, 0x00ff, - 0x7002, 0x7007, 0xffff, 0x2071, 0x0100, 0x709b, 0x00ff, 0x00ee, - 0x0804, 0xab47, 0x080c, 0x9c61, 0x0016, 0x0026, 0x0096, 0x00d6, - 0x7814, 0x2048, 0x7013, 0x0138, 0x7003, 0x5500, 0x00c6, 0xa89c, - 0x9084, 0x00ff, 0xa998, 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, - 0xa99c, 0x918c, 0xff00, 0xa8a0, 0x9084, 0x00ff, 0x9105, 0x700e, - 0xa998, 0x918c, 0xff00, 0x2061, 0x1800, 0x607c, 0x9084, 0x00ff, - 0x910d, 0x7112, 0x6180, 0x7116, 0x2009, 0x0008, 0xa860, 0x20e0, - 0xa85c, 0x9080, 0x0029, 0x2098, 0x2e10, 0x9290, 0x0006, 0x20a9, - 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0x20a9, - 0x0004, 0x2009, 0x1805, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, - 0xac23, 0x20a9, 0x0002, 0x2009, 0x1801, 0x2104, 0x2012, 0x8108, - 0x8210, 0x1f04, 0xac2d, 0x00d6, 0x0016, 0x2069, 0x0200, 0x080c, - 0xab17, 0x001e, 0x00de, 0x2071, 0x0240, 0x20a9, 0x0002, 0x2009, - 0x1803, 0x2011, 0x0240, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, - 0xac43, 0x2009, 0x0008, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, - 0x1dd0, 0x9006, 0x20a9, 0x0008, 0x2012, 0x8210, 0x1f04, 0xac54, - 0x00ce, 0x60c3, 0x004c, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, - 0xa248, 0x080c, 0x8559, 0x00de, 0x009e, 0x002e, 0x001e, 0x0005, - 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, 0x0200, - 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, 0x0020, - 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, 0x4004, - 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, 0x0005, - 0x00d6, 0x0096, 0x6014, 0x2048, 0xa878, 0x6056, 0x9006, 0xa836, - 0xa83a, 0xa99c, 0xa946, 0xa84a, 0x6023, 0x0003, 0x6007, 0x0040, - 0x6003, 0x0003, 0x600b, 0xffff, 0xa817, 0x0001, 0xa842, 0xa83e, - 0x2900, 0xa85a, 0xa813, 0x2090, 0x080c, 0x913e, 0x0126, 0x2091, - 0x8000, 0x080c, 0x97b5, 0x012e, 0x009e, 0x00de, 0x0005, 0x00f6, - 0x00e6, 0x00d6, 0x00c6, 0x00a6, 0x0096, 0x0066, 0x0126, 0x2091, - 0x8000, 0x2071, 0x19e6, 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, - 0xad3b, 0x7024, 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, - 0x0904, 0xad0d, 0x080c, 0xa274, 0x68c3, 0x0000, 0x080c, 0xa7bd, - 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, - 0x0138, 0x2001, 0x0100, 0x080c, 0x2cf1, 0x9006, 0x080c, 0x2cf1, - 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, - 0x700c, 0x9c36, 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, - 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, - 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, - 0x600f, 0x0000, 0x080c, 0xcd3f, 0x1180, 0x080c, 0x31ea, 0x080c, - 0xcd50, 0x1518, 0x080c, 0xb824, 0x0400, 0x080c, 0xa7bd, 0x6824, - 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xcd50, 0x1118, - 0x080c, 0xb824, 0x0090, 0x6014, 0x2048, 0x080c, 0xcb48, 0x0168, - 0x6020, 0x9086, 0x0003, 0x1520, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x080c, 0x6c86, 0x080c, 0xcd33, 0x080c, 0xcfbc, 0x080c, - 0xaea2, 0x080c, 0xa693, 0x00ce, 0x0804, 0xacbe, 0x2c78, 0x600c, - 0x2060, 0x0804, 0xacbe, 0x700f, 0x0000, 0x700b, 0x0000, 0x012e, - 0x006e, 0x009e, 0x00ae, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, - 0x6020, 0x9086, 0x0006, 0x1d08, 0x080c, 0xe572, 0x08f0, 0x00d6, - 0x0156, 0x080c, 0x9cac, 0x7a14, 0x82ff, 0x0138, 0x7003, 0x0100, - 0x700b, 0x0003, 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, 0x7007, - 0x0000, 0x2069, 0x1800, 0x901e, 0x6800, 0x9086, 0x0004, 0x1110, - 0xc38d, 0x0060, 0x080c, 0x73a5, 0x1110, 0xc3ad, 0x0008, 0xc3a5, - 0x6adc, 0xd29c, 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, 0x080c, - 0x85c2, 0x20a9, 0x0006, 0x2011, 0xfff4, 0x2019, 0xfff5, 0x2071, - 0x0250, 0x2305, 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, - 0x0002, 0x9290, 0x0002, 0x1f04, 0xad81, 0x60c3, 0x0020, 0x080c, - 0xa248, 0x015e, 0x00de, 0x0005, 0x0156, 0x080c, 0x9cac, 0x7a14, - 0x82ff, 0x0168, 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, 0x1238, - 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0488, 0x7003, - 0x0200, 0x7007, 0x001c, 0x700f, 0x0001, 0x2011, 0x19bc, 0x2204, - 0x8007, 0x701a, 0x8210, 0x2204, 0x8007, 0x701e, 0x0421, 0x1120, - 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x7022, - 0x2001, 0x1820, 0x2004, 0x7026, 0x0030, 0x2001, 0x1818, 0x2004, - 0x9084, 0x00ff, 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, - 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, - 0x015e, 0x0804, 0xa248, 0x0006, 0x2001, 0x1837, 0x2004, 0xd0ac, - 0x000e, 0x0005, 0x2011, 0x0003, 0x080c, 0xa654, 0x2011, 0x0002, - 0x080c, 0xa65e, 0x080c, 0xa541, 0x0036, 0x901e, 0x080c, 0xa5b7, - 0x003e, 0x0005, 0x080c, 0x3320, 0x0188, 0x0016, 0x00b6, 0x00c6, - 0x7010, 0x9085, 0x0020, 0x7012, 0x2009, 0x007e, 0x080c, 0x6608, - 0xb85c, 0xc0ac, 0xb85e, 0x00ce, 0x00be, 0x001e, 0x0005, 0x2071, - 0x188d, 0x7000, 0x9005, 0x0140, 0x2001, 0x0976, 0x2071, 0x1800, - 0x7076, 0x707a, 0x706b, 0xffe0, 0x2071, 0x1800, 0x7074, 0x7056, - 0x705b, 0x1cd0, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, - 0x8000, 0x7554, 0x9582, 0x0010, 0x0608, 0x7058, 0x2060, 0x6000, + 0x00d6, 0x2069, 0x0200, 0x080c, 0xab05, 0x00de, 0x2071, 0x0240, + 0x2011, 0x0240, 0x2009, 0x0002, 0x20a9, 0x0001, 0x4002, 0x8007, + 0x2012, 0x8210, 0x8109, 0x1dc0, 0x2009, 0x0008, 0x20a9, 0x0001, + 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0xa85c, 0x9080, + 0x0031, 0x2098, 0x2009, 0x0008, 0x20a9, 0x0001, 0x4002, 0x8007, + 0x2012, 0x8210, 0x8109, 0x1dc0, 0x00ce, 0x60c3, 0x004c, 0x60a3, + 0x0056, 0x60a7, 0x9575, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, + 0x1168, 0x080c, 0x73b3, 0x0150, 0x6028, 0xc0bd, 0x602a, 0x6014, + 0x9084, 0x1804, 0x9085, 0x0029, 0x6016, 0x0010, 0x080c, 0xa263, + 0x080c, 0x8576, 0x00de, 0x009e, 0x002e, 0x001e, 0x0005, 0x00e6, + 0x2071, 0x0240, 0x2001, 0x2200, 0x9085, 0x00ff, 0x7002, 0x7007, + 0xffff, 0x2071, 0x0100, 0x709b, 0x00ff, 0x00ee, 0x0804, 0xab35, + 0x080c, 0x9c7c, 0x0016, 0x0026, 0x0096, 0x00d6, 0x7814, 0x2048, + 0x7013, 0x0138, 0x7003, 0x5500, 0x00c6, 0xa89c, 0x9084, 0x00ff, + 0xa998, 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, 0xa99c, 0x918c, + 0xff00, 0xa8a0, 0x9084, 0x00ff, 0x9105, 0x700e, 0xa998, 0x918c, + 0xff00, 0x2061, 0x1800, 0x607c, 0x9084, 0x00ff, 0x910d, 0x7112, + 0x6180, 0x7116, 0x2009, 0x0008, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x0029, 0x2098, 0x2e10, 0x9290, 0x0006, 0x20a9, 0x0001, 0x4002, + 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0x20a9, 0x0004, 0x2009, + 0x1805, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0xac11, 0x20a9, + 0x0002, 0x2009, 0x1801, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, + 0xac1b, 0x00d6, 0x0016, 0x2069, 0x0200, 0x080c, 0xab05, 0x001e, + 0x00de, 0x2071, 0x0240, 0x20a9, 0x0002, 0x2009, 0x1803, 0x2011, + 0x0240, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, 0xac31, 0x2009, + 0x0008, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dd0, 0x9006, + 0x20a9, 0x0008, 0x2012, 0x8210, 0x1f04, 0xac42, 0x00ce, 0x60c3, + 0x004c, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0xa263, 0x080c, + 0x8576, 0x00de, 0x009e, 0x002e, 0x001e, 0x0005, 0x00d6, 0x9290, + 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, 0x0200, 0x6813, 0x0000, + 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, 0x0020, 0x9292, 0x0020, + 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, 0x4004, 0x82ff, 0x0120, + 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, 0x0005, 0x00d6, 0x0096, + 0x6014, 0x2048, 0xa878, 0x6056, 0x9006, 0xa836, 0xa83a, 0xa99c, + 0xa946, 0xa84a, 0x6023, 0x0003, 0x6007, 0x0040, 0x6003, 0x0003, + 0x600b, 0xffff, 0xa817, 0x0001, 0xa842, 0xa83e, 0x2900, 0xa85a, + 0xa813, 0x209b, 0x080c, 0x915d, 0x0126, 0x2091, 0x8000, 0x080c, + 0x97d4, 0x012e, 0x009e, 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x00a6, 0x0096, 0x0066, 0x0126, 0x2091, 0x8000, 0x2071, + 0x19e6, 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, 0xad29, 0x7024, + 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0xacfb, + 0x080c, 0xa28f, 0x68c3, 0x0000, 0x080c, 0xa7a7, 0x7027, 0x0000, + 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, + 0x0100, 0x080c, 0x2cfc, 0x9006, 0x080c, 0x2cfc, 0x2069, 0x0100, + 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x700c, 0x9c36, + 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, 0x2c00, 0x9f36, + 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, 0x660c, 0x0066, + 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, + 0x080c, 0xcd4f, 0x1180, 0x080c, 0x31f5, 0x080c, 0xcd60, 0x1518, + 0x080c, 0xb821, 0x0400, 0x080c, 0xa7a7, 0x6824, 0xd084, 0x09b0, + 0x6827, 0x0001, 0x0898, 0x080c, 0xcd60, 0x1118, 0x080c, 0xb821, + 0x0090, 0x6014, 0x2048, 0x080c, 0xcb58, 0x0168, 0x6020, 0x9086, + 0x0003, 0x1520, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, + 0x6c94, 0x080c, 0xcd43, 0x080c, 0xcfcc, 0x080c, 0xae90, 0x080c, + 0xa67d, 0x00ce, 0x0804, 0xacac, 0x2c78, 0x600c, 0x2060, 0x0804, + 0xacac, 0x700f, 0x0000, 0x700b, 0x0000, 0x012e, 0x006e, 0x009e, + 0x00ae, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, + 0x0006, 0x1d08, 0x080c, 0xe58c, 0x08f0, 0x00d6, 0x0156, 0x080c, + 0x9cc7, 0x7a14, 0x82ff, 0x0138, 0x7003, 0x0100, 0x700b, 0x0003, + 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, 0x7007, 0x0000, 0x2069, + 0x1800, 0x901e, 0x6800, 0x9086, 0x0004, 0x1110, 0xc38d, 0x0060, + 0x080c, 0x73b3, 0x1110, 0xc3ad, 0x0008, 0xc3a5, 0x6adc, 0xd29c, + 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, 0x080c, 0x85df, 0x20a9, + 0x0006, 0x2011, 0xffec, 0x2019, 0xffed, 0x2071, 0x0250, 0x2305, + 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, 0x0002, 0x9290, + 0x0002, 0x1f04, 0xad6f, 0x60c3, 0x0020, 0x080c, 0xa263, 0x015e, + 0x00de, 0x0005, 0x0156, 0x080c, 0x9cc7, 0x7a14, 0x82ff, 0x0168, + 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, 0x1238, 0x7003, 0x0100, + 0x700b, 0x0003, 0x60c3, 0x0008, 0x0488, 0x7003, 0x0200, 0x7007, + 0x001c, 0x700f, 0x0001, 0x2011, 0x19bc, 0x2204, 0x8007, 0x701a, + 0x8210, 0x2204, 0x8007, 0x701e, 0x0421, 0x1120, 0xb8a0, 0x9082, + 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x7022, 0x2001, 0x1820, + 0x2004, 0x7026, 0x0030, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, + 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, + 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x015e, 0x0804, + 0xa263, 0x0006, 0x2001, 0x1837, 0x2004, 0xd0ac, 0x000e, 0x0005, + 0x2011, 0x0003, 0x080c, 0xa63e, 0x2011, 0x0002, 0x080c, 0xa648, + 0x080c, 0xa552, 0x0036, 0x901e, 0x080c, 0xa5c8, 0x003e, 0x0005, + 0x080c, 0x332b, 0x0188, 0x0016, 0x00b6, 0x00c6, 0x7010, 0x9085, + 0x0020, 0x7012, 0x2009, 0x007e, 0x080c, 0x6616, 0xb85c, 0xc0ac, + 0xb85e, 0x00ce, 0x00be, 0x001e, 0x0005, 0x2071, 0x188d, 0x7000, + 0x9005, 0x0140, 0x2001, 0x0976, 0x2071, 0x1800, 0x7076, 0x707a, + 0x706b, 0xffe0, 0x2071, 0x1800, 0x7074, 0x7056, 0x705b, 0x1cd0, + 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7554, + 0x9582, 0x0010, 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, + 0x0148, 0x9ce0, 0x0018, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, + 0x1cd0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7556, 0x9ca8, 0x0018, + 0x7068, 0x9502, 0x1230, 0x755a, 0x9085, 0x0001, 0x012e, 0x00ee, + 0x0005, 0x705b, 0x1cd0, 0x0cc0, 0x9006, 0x0cc0, 0x00e6, 0x2071, + 0x1800, 0x7554, 0x9582, 0x0010, 0x0600, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1cd0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7556, - 0x9ca8, 0x0018, 0x7068, 0x9502, 0x1230, 0x755a, 0x9085, 0x0001, - 0x012e, 0x00ee, 0x0005, 0x705b, 0x1cd0, 0x0cc0, 0x9006, 0x0cc0, - 0x00e6, 0x2071, 0x1800, 0x7554, 0x9582, 0x0010, 0x0600, 0x7058, + 0x9ca8, 0x0018, 0x7068, 0x9502, 0x1228, 0x755a, 0x9085, 0x0001, + 0x00ee, 0x0005, 0x705b, 0x1cd0, 0x0cc8, 0x9006, 0x0cc8, 0x9c82, + 0x1cd0, 0x0a0c, 0x0dd5, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a0c, + 0x0dd5, 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, 0x601a, 0x6012, + 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, 0x6056, 0x605a, 0x6026, + 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, 0x6042, 0x602a, + 0x2061, 0x1800, 0x6054, 0x8000, 0x6056, 0x9086, 0x0001, 0x0108, + 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x96a6, 0x012e, 0x0cc0, + 0x0006, 0x6000, 0x9086, 0x0000, 0x01b0, 0x601c, 0xd084, 0x190c, + 0x1a70, 0x6017, 0x0000, 0x6023, 0x0007, 0x2001, 0x1985, 0x2004, + 0x0006, 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, 0x601a, 0x080c, + 0xe846, 0x6043, 0x0000, 0x000e, 0x0005, 0x00e6, 0x0126, 0x2071, + 0x1800, 0x2091, 0x8000, 0x7554, 0x9582, 0x0001, 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1cd0, 0x0c98, 0x6003, 0x0008, - 0x8529, 0x7556, 0x9ca8, 0x0018, 0x7068, 0x9502, 0x1228, 0x755a, - 0x9085, 0x0001, 0x00ee, 0x0005, 0x705b, 0x1cd0, 0x0cc8, 0x9006, - 0x0cc8, 0x9c82, 0x1cd0, 0x0a0c, 0x0dd5, 0x2001, 0x181a, 0x2004, - 0x9c02, 0x1a0c, 0x0dd5, 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, - 0x601a, 0x6012, 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, 0x6056, - 0x605a, 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, - 0x6042, 0x602a, 0x2061, 0x1800, 0x6054, 0x8000, 0x6056, 0x9086, - 0x0001, 0x0108, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x9687, - 0x012e, 0x0cc0, 0x0006, 0x6000, 0x9086, 0x0000, 0x01b0, 0x601c, - 0xd084, 0x190c, 0x1a60, 0x6017, 0x0000, 0x6023, 0x0007, 0x2001, - 0x1985, 0x2004, 0x0006, 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, - 0x601a, 0x080c, 0xe82c, 0x6043, 0x0000, 0x000e, 0x0005, 0x00e6, - 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7554, 0x9582, 0x0001, - 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, - 0x0018, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1cd0, 0x0c98, - 0x6003, 0x0008, 0x8529, 0x7556, 0x9ca8, 0x0018, 0x7068, 0x9502, - 0x1230, 0x755a, 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x705b, - 0x1cd0, 0x0cc0, 0x9006, 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, - 0xaeff, 0xaf08, 0xaf23, 0xaf3e, 0xd270, 0xd28d, 0xd2a8, 0xaeff, - 0xaf08, 0x8d74, 0xaf5a, 0xaeff, 0xaeff, 0xaeff, 0xaeff, 0x9186, - 0x0013, 0x1128, 0x080c, 0x957b, 0x080c, 0x9687, 0x0005, 0x0005, + 0x8529, 0x7556, 0x9ca8, 0x0018, 0x7068, 0x9502, 0x1230, 0x755a, + 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x705b, 0x1cd0, 0x0cc0, + 0x9006, 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, 0xaeed, 0xaef6, + 0xaf11, 0xaf2c, 0xd280, 0xd29d, 0xd2b8, 0xaeed, 0xaef6, 0x8d93, + 0xaf48, 0xaeed, 0xaeed, 0xaeed, 0xaeed, 0x9186, 0x0013, 0x1128, + 0x080c, 0x959a, 0x080c, 0x96a6, 0x0005, 0x0005, 0x0066, 0x6000, + 0x90b2, 0x0016, 0x1a0c, 0x0dd5, 0x0013, 0x006e, 0x0005, 0xaf0f, + 0xb68b, 0xb868, 0xaf0f, 0xb8fe, 0xb22b, 0xaf0f, 0xaf0f, 0xb60d, + 0xbe65, 0xaf0f, 0xaf0f, 0xaf0f, 0xaf0f, 0xaf0f, 0xaf0f, 0x080c, + 0x0dd5, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0dd5, 0x0013, + 0x006e, 0x0005, 0xaf2a, 0xc53c, 0xaf2a, 0xaf2a, 0xaf2a, 0xaf2a, + 0xaf2a, 0xaf2a, 0xc4de, 0xc6be, 0xaf2a, 0xc57d, 0xc5fc, 0xc57d, + 0xc5fc, 0xaf2a, 0x080c, 0x0dd5, 0x6000, 0x9082, 0x0016, 0x1a0c, + 0x0dd5, 0x6000, 0x0002, 0xaf46, 0xbeac, 0xbf91, 0xc0c1, 0xc26c, + 0xaf46, 0xaf46, 0xaf46, 0xbe80, 0xc46a, 0xc46d, 0xaf46, 0xaf46, + 0xaf46, 0xaf46, 0xc49c, 0xaf46, 0xaf46, 0xaf46, 0x080c, 0x0dd5, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0dd5, 0x0013, 0x006e, - 0x0005, 0xaf21, 0xb690, 0xb86b, 0xaf21, 0xb901, 0xb23d, 0xaf21, - 0xaf21, 0xb612, 0xbe68, 0xaf21, 0xaf21, 0xaf21, 0xaf21, 0xaf21, - 0xaf21, 0x080c, 0x0dd5, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, - 0x0dd5, 0x0013, 0x006e, 0x0005, 0xaf3c, 0xc53c, 0xaf3c, 0xaf3c, - 0xaf3c, 0xaf3c, 0xaf3c, 0xaf3c, 0xc4e1, 0xc6be, 0xaf3c, 0xc57d, - 0xc5fc, 0xc57d, 0xc5fc, 0xaf3c, 0x080c, 0x0dd5, 0x6000, 0x9082, - 0x0016, 0x1a0c, 0x0dd5, 0x6000, 0x0002, 0xaf58, 0xbeaf, 0xbf94, - 0xc0c4, 0xc26f, 0xaf58, 0xaf58, 0xaf58, 0xbe83, 0xc46d, 0xc470, - 0xaf58, 0xaf58, 0xaf58, 0xaf58, 0xc49f, 0xaf58, 0xaf58, 0xaf58, - 0x080c, 0x0dd5, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0dd5, - 0x0013, 0x006e, 0x0005, 0xaf73, 0xaf73, 0xafb6, 0xb055, 0xb0ea, - 0xaf73, 0xaf73, 0xaf73, 0xaf75, 0xaf73, 0xaf73, 0xaf73, 0xaf73, - 0xaf73, 0xaf73, 0xaf73, 0x080c, 0x0dd5, 0x9186, 0x004c, 0x0588, - 0x9186, 0x0003, 0x190c, 0x0dd5, 0x0096, 0x601c, 0xc0ed, 0x601e, - 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa87c, 0x9084, 0xa000, - 0xc0b5, 0xa87e, 0xa8ac, 0xa846, 0xa8b0, 0xa84a, 0x9006, 0xa836, - 0xa83a, 0xa884, 0x9092, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, - 0x8013, 0x8213, 0x9210, 0x621a, 0x009e, 0x2c10, 0x080c, 0x1baf, - 0x080c, 0x913e, 0x0126, 0x2091, 0x8000, 0x080c, 0x97b5, 0x012e, - 0x0005, 0x6010, 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, - 0xb10c, 0x080c, 0xd262, 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, - 0x00f6, 0x2079, 0x1800, 0x7a90, 0x6014, 0x2048, 0xa87c, 0xd0ec, - 0x1110, 0x9290, 0x0018, 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, - 0x1140, 0xa8dc, 0x921a, 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, - 0x0028, 0xa87b, 0x0015, 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, - 0x0000, 0xaa02, 0x0006, 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, - 0x00f6, 0x2400, 0x9005, 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, - 0x1118, 0x2001, 0x0001, 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, - 0x2001, 0x0001, 0x002a, 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, - 0xb01d, 0xb01d, 0xb018, 0xb01b, 0xb01d, 0xb015, 0xb008, 0xb008, - 0xb008, 0xb008, 0xb008, 0xb008, 0xb008, 0xb008, 0xb008, 0xb008, - 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, - 0x00fe, 0x009e, 0x00de, 0x080c, 0x0dd5, 0x080c, 0xbac0, 0x0028, - 0x080c, 0xbba5, 0x0010, 0x080c, 0xbc9b, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x002e, 0x001e, 0x2c00, 0xa896, 0x000e, 0x080c, 0xb1ca, - 0x0530, 0xa804, 0xa80e, 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, - 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, - 0xaacc, 0xabd0, 0xacd4, 0xadd8, 0x2031, 0x0000, 0x2041, 0x125d, - 0x080c, 0xb38b, 0x0160, 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, - 0x00de, 0x0005, 0x00fe, 0x009e, 0x00de, 0x0804, 0xae71, 0x2001, - 0x002c, 0x900e, 0x080c, 0xb230, 0x0c70, 0x91b6, 0x0015, 0x0170, - 0x91b6, 0x0016, 0x0158, 0x91b2, 0x0047, 0x0a0c, 0x0dd5, 0x91b2, - 0x0050, 0x1a0c, 0x0dd5, 0x9182, 0x0047, 0x00ca, 0x2001, 0x0109, - 0x2004, 0xd08c, 0x0198, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, - 0x0026, 0x080c, 0x908b, 0x002e, 0x001e, 0x000e, 0x012e, 0xa001, - 0x6000, 0x9086, 0x0002, 0x1110, 0x0804, 0xafb6, 0x0005, 0xb088, - 0xb088, 0xb08a, 0xb0c0, 0xb088, 0xb088, 0xb088, 0xb088, 0xb0d3, - 0x080c, 0x0dd5, 0x00d6, 0x0016, 0x0096, 0x080c, 0x9637, 0x080c, - 0x97b5, 0x6003, 0x0004, 0x6114, 0x2148, 0xa87c, 0xd0fc, 0x01c0, - 0xa878, 0xc0fc, 0x9005, 0x1158, 0xa894, 0x9005, 0x0140, 0x2001, - 0x0000, 0x900e, 0x080c, 0xb230, 0x080c, 0xae71, 0x00a8, 0x6003, - 0x0002, 0xa8a4, 0xa9a8, 0x9105, 0x1178, 0xa8ae, 0xa8b2, 0x0c78, - 0xa87f, 0x0020, 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, 0xa8b2, - 0xa8c7, 0x0000, 0xa8cb, 0x0000, 0x009e, 0x001e, 0x00de, 0x0005, - 0x080c, 0x9637, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xcb4a, - 0x0120, 0xa87b, 0x0006, 0x080c, 0x6c86, 0x009e, 0x00de, 0x080c, - 0xae71, 0x0804, 0x97b5, 0x080c, 0x9637, 0x080c, 0x31c1, 0x080c, - 0xd25f, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xcb4a, 0x0120, - 0xa87b, 0x0029, 0x080c, 0x6c86, 0x009e, 0x00de, 0x080c, 0xae71, - 0x0804, 0x97b5, 0x9182, 0x0047, 0x0002, 0xb0fa, 0xb0fc, 0xb0fa, - 0xb0fa, 0xb0fa, 0xb0fa, 0xb0fa, 0xb0fa, 0xb0fa, 0xb0fa, 0xb0fa, - 0xb0fa, 0xb0fc, 0x080c, 0x0dd5, 0x00d6, 0x0096, 0x601f, 0x0000, - 0x6114, 0x2148, 0xa87b, 0x0000, 0xa883, 0x0000, 0x080c, 0x6c86, - 0x009e, 0x00de, 0x0804, 0xae71, 0x0026, 0x0036, 0x0056, 0x0066, - 0x0096, 0x00a6, 0x00f6, 0x0006, 0x080c, 0x0fff, 0x000e, 0x090c, + 0x0005, 0xaf61, 0xaf61, 0xafa4, 0xb043, 0xb0d8, 0xaf61, 0xaf61, + 0xaf61, 0xaf63, 0xaf61, 0xaf61, 0xaf61, 0xaf61, 0xaf61, 0xaf61, + 0xaf61, 0x080c, 0x0dd5, 0x9186, 0x004c, 0x0588, 0x9186, 0x0003, + 0x190c, 0x0dd5, 0x0096, 0x601c, 0xc0ed, 0x601e, 0x6003, 0x0003, + 0x6106, 0x6014, 0x2048, 0xa87c, 0x9084, 0xa000, 0xc0b5, 0xa87e, + 0xa8ac, 0xa846, 0xa8b0, 0xa84a, 0x9006, 0xa836, 0xa83a, 0xa884, + 0x9092, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, + 0x9210, 0x621a, 0x009e, 0x2c10, 0x080c, 0x1bba, 0x080c, 0x915d, + 0x0126, 0x2091, 0x8000, 0x080c, 0x97d4, 0x012e, 0x0005, 0x6010, + 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, 0xb0fa, 0x080c, + 0xd272, 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, 0x00f6, 0x2079, + 0x1800, 0x7a90, 0x6014, 0x2048, 0xa87c, 0xd0ec, 0x1110, 0x9290, + 0x0018, 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, 0x1140, 0xa8dc, + 0x921a, 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, 0x0028, 0xa87b, + 0x0015, 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, 0x0000, 0xaa02, + 0x0006, 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2400, + 0x9005, 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, 0x1118, 0x2001, + 0x0001, 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, 0x2001, 0x0001, + 0x002a, 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, 0xb00b, 0xb00b, + 0xb006, 0xb009, 0xb00b, 0xb003, 0xaff6, 0xaff6, 0xaff6, 0xaff6, + 0xaff6, 0xaff6, 0xaff6, 0xaff6, 0xaff6, 0xaff6, 0x00fe, 0x00ee, + 0x00de, 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, 0x00fe, 0x009e, + 0x00de, 0x080c, 0x0dd5, 0x080c, 0xbabd, 0x0028, 0x080c, 0xbba2, + 0x0010, 0x080c, 0xbc98, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, + 0x001e, 0x2c00, 0xa896, 0x000e, 0x080c, 0xb1b8, 0x0530, 0xa804, + 0xa80e, 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xaacc, 0xabd0, + 0xacd4, 0xadd8, 0x2031, 0x0000, 0x2041, 0x125d, 0x080c, 0xb379, + 0x0160, 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, 0x00de, 0x0005, + 0x00fe, 0x009e, 0x00de, 0x0804, 0xae5f, 0x2001, 0x002c, 0x900e, + 0x080c, 0xb21e, 0x0c70, 0x91b6, 0x0015, 0x0170, 0x91b6, 0x0016, + 0x0158, 0x91b2, 0x0047, 0x0a0c, 0x0dd5, 0x91b2, 0x0050, 0x1a0c, + 0x0dd5, 0x9182, 0x0047, 0x00ca, 0x2001, 0x0109, 0x2004, 0xd08c, + 0x0198, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, + 0x90aa, 0x002e, 0x001e, 0x000e, 0x012e, 0xa001, 0x6000, 0x9086, + 0x0002, 0x1110, 0x0804, 0xafa4, 0x0005, 0xb076, 0xb076, 0xb078, + 0xb0ae, 0xb076, 0xb076, 0xb076, 0xb076, 0xb0c1, 0x080c, 0x0dd5, + 0x00d6, 0x0016, 0x0096, 0x080c, 0x9656, 0x080c, 0x97d4, 0x6003, + 0x0004, 0x6114, 0x2148, 0xa87c, 0xd0fc, 0x01c0, 0xa878, 0xc0fc, + 0x9005, 0x1158, 0xa894, 0x9005, 0x0140, 0x2001, 0x0000, 0x900e, + 0x080c, 0xb21e, 0x080c, 0xae5f, 0x00a8, 0x6003, 0x0002, 0xa8a4, + 0xa9a8, 0x9105, 0x1178, 0xa8ae, 0xa8b2, 0x0c78, 0xa87f, 0x0020, + 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, 0xa8b2, 0xa8c7, 0x0000, + 0xa8cb, 0x0000, 0x009e, 0x001e, 0x00de, 0x0005, 0x080c, 0x9656, + 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xcb5a, 0x0120, 0xa87b, + 0x0006, 0x080c, 0x6c94, 0x009e, 0x00de, 0x080c, 0xae5f, 0x0804, + 0x97d4, 0x080c, 0x9656, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x00d6, + 0x0096, 0x6114, 0x2148, 0x080c, 0xcb5a, 0x0120, 0xa87b, 0x0029, + 0x080c, 0x6c94, 0x009e, 0x00de, 0x080c, 0xae5f, 0x0804, 0x97d4, + 0x9182, 0x0047, 0x0002, 0xb0e8, 0xb0ea, 0xb0e8, 0xb0e8, 0xb0e8, + 0xb0e8, 0xb0e8, 0xb0e8, 0xb0e8, 0xb0e8, 0xb0e8, 0xb0e8, 0xb0ea, + 0x080c, 0x0dd5, 0x00d6, 0x0096, 0x601f, 0x0000, 0x6114, 0x2148, + 0xa87b, 0x0000, 0xa883, 0x0000, 0x080c, 0x6c94, 0x009e, 0x00de, + 0x0804, 0xae5f, 0x0026, 0x0036, 0x0056, 0x0066, 0x0096, 0x00a6, + 0x00f6, 0x0006, 0x080c, 0x0fff, 0x000e, 0x090c, 0x0dd5, 0xa960, + 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, 0x20a9, 0x0020, + 0x4104, 0xa87a, 0x2079, 0x1800, 0x7990, 0x9188, 0x0018, 0x918c, + 0x0fff, 0xa972, 0xac76, 0x2950, 0x00a6, 0x2001, 0x0205, 0x2003, + 0x0000, 0x901e, 0x2029, 0x0001, 0x9182, 0x0034, 0x1228, 0x2011, + 0x001f, 0x080c, 0xc743, 0x04c0, 0x2130, 0x2009, 0x0034, 0x2011, + 0x001f, 0x080c, 0xc743, 0x96b2, 0x0034, 0xb004, 0x904d, 0x0110, + 0x080c, 0x0fb1, 0x080c, 0x0fff, 0x01d0, 0x8528, 0xa867, 0x0110, + 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, 0x1230, 0x2608, + 0x2011, 0x001b, 0x080c, 0xc743, 0x00b8, 0x96b2, 0x003c, 0x2009, + 0x003c, 0x2950, 0x2011, 0x001b, 0x080c, 0xc743, 0x0c18, 0x2001, + 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, + 0xb070, 0xc0fd, 0xb072, 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, + 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, 0x2a48, 0xa804, 0xa807, + 0x0000, 0x0006, 0x080c, 0x6c94, 0x000e, 0x2048, 0x9005, 0x1db0, + 0x00fe, 0x00ae, 0x009e, 0x006e, 0x005e, 0x003e, 0x002e, 0x0005, + 0x00d6, 0x00f6, 0x0096, 0x0006, 0x080c, 0x0fff, 0x000e, 0x090c, 0x0dd5, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, - 0x20a9, 0x0020, 0x4104, 0xa87a, 0x2079, 0x1800, 0x7990, 0x9188, - 0x0018, 0x918c, 0x0fff, 0xa972, 0xac76, 0x2950, 0x00a6, 0x2001, - 0x0205, 0x2003, 0x0000, 0x901e, 0x2029, 0x0001, 0x9182, 0x0034, - 0x1228, 0x2011, 0x001f, 0x080c, 0xc743, 0x04c0, 0x2130, 0x2009, - 0x0034, 0x2011, 0x001f, 0x080c, 0xc743, 0x96b2, 0x0034, 0xb004, - 0x904d, 0x0110, 0x080c, 0x0fb1, 0x080c, 0x0fff, 0x01d0, 0x8528, - 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, - 0x1230, 0x2608, 0x2011, 0x001b, 0x080c, 0xc743, 0x00b8, 0x96b2, - 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, 0x080c, 0xc743, - 0x0c18, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, - 0x0050, 0xb566, 0xb070, 0xc0fd, 0xb072, 0x0048, 0x2001, 0x0205, - 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, 0x2a48, - 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x6c86, 0x000e, 0x2048, - 0x9005, 0x1db0, 0x00fe, 0x00ae, 0x009e, 0x006e, 0x005e, 0x003e, - 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0096, 0x0006, 0x080c, 0x0fff, - 0x000e, 0x090c, 0x0dd5, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, - 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, 0xaa66, 0xa87a, 0x2079, - 0x1800, 0x7990, 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, - 0x2009, 0x001a, 0x21a8, 0x810b, 0xa972, 0xac76, 0x2e98, 0xa85c, - 0x9080, 0x001f, 0x20a0, 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, - 0x2102, 0x4003, 0x2003, 0x0000, 0x080c, 0x6c86, 0x009e, 0x00fe, - 0x00de, 0x0005, 0x0016, 0x00d6, 0x00f6, 0x0096, 0x0016, 0x2001, - 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x001e, 0x2079, 0x0200, - 0x2e98, 0xa87c, 0xd0ec, 0x0118, 0x9e80, 0x000c, 0x2098, 0x2021, - 0x003e, 0x901e, 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, 0x2018, - 0x9486, 0x003e, 0x1170, 0x0096, 0x080c, 0x0fff, 0x2900, 0x009e, - 0x05c0, 0xa806, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, - 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, 0x9102, - 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, 0x1228, - 0x2400, 0x9202, 0x2410, 0x9318, 0x9006, 0x2020, 0x22a8, 0xa800, - 0x9200, 0xa802, 0x20e1, 0x0000, 0x4003, 0x83ff, 0x0180, 0x3300, - 0x9086, 0x0280, 0x1130, 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, - 0x2e98, 0x2310, 0x84ff, 0x0904, 0xb1df, 0x0804, 0xb1e1, 0x9085, - 0x0001, 0x7817, 0x0000, 0x009e, 0x00fe, 0x00de, 0x001e, 0x0005, - 0x00d6, 0x0036, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x080c, - 0x6c7a, 0x009e, 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, - 0x080c, 0xae71, 0x0030, 0x91b6, 0x0016, 0x190c, 0x0dd5, 0x080c, - 0xae71, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, - 0x0096, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x20a0, 0x009e, 0x4003, - 0x0136, 0x9080, 0x001b, 0x20a0, 0x2011, 0x0006, 0x20a9, 0x0001, - 0x3418, 0x8318, 0x23a0, 0x4003, 0x3318, 0x8318, 0x2398, 0x8211, - 0x1db8, 0x2011, 0x0006, 0x013e, 0x20a0, 0x3318, 0x8318, 0x2398, - 0x4003, 0x3418, 0x8318, 0x23a0, 0x8211, 0x1db8, 0x0096, 0x080c, - 0xcb4a, 0x0130, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0x009e, 0x0804, 0xae71, 0x0096, 0x00d6, 0x0036, 0x7330, 0x9386, - 0x0200, 0x11a8, 0x6010, 0x00b6, 0x2058, 0xb8cf, 0x0000, 0x00be, - 0x6014, 0x9005, 0x0130, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xab32, 0x080c, 0xae71, 0x003e, 0x00de, 0x009e, 0x0005, 0x0011, - 0x1d48, 0x0cc8, 0x0006, 0x0016, 0x080c, 0xd24a, 0x0188, 0x6014, - 0x9005, 0x1170, 0x600b, 0x0003, 0x601b, 0x0000, 0x6043, 0x0000, - 0x2009, 0x0022, 0x080c, 0xb668, 0x9006, 0x001e, 0x000e, 0x0005, - 0x9085, 0x0001, 0x0cd0, 0x0096, 0x0016, 0x20a9, 0x0014, 0x9e80, - 0x000c, 0x20e1, 0x0000, 0x2098, 0x6014, 0x2048, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, - 0x0001, 0x2099, 0x0260, 0x20a9, 0x0016, 0x4003, 0x20a9, 0x000a, - 0xa804, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, - 0x4003, 0x2001, 0x0205, 0x2003, 0x0002, 0x2099, 0x0260, 0x20a9, - 0x0020, 0x4003, 0x2003, 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, - 0xa867, 0x0103, 0x080c, 0xae71, 0x001e, 0x009e, 0x0005, 0x0096, - 0x0016, 0x900e, 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, - 0x00ff, 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, - 0x9108, 0x810b, 0x2011, 0x0002, 0x2019, 0x000c, 0x6014, 0x2048, - 0x080c, 0xc743, 0x080c, 0xcb4a, 0x0140, 0x6014, 0x2048, 0xa807, - 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0xae71, 0x001e, - 0x009e, 0x0005, 0x0016, 0x2009, 0x0000, 0x7030, 0x9086, 0x0200, - 0x0110, 0x2009, 0x0001, 0x0096, 0x6014, 0x904d, 0x090c, 0x0dd5, - 0xa97a, 0x080c, 0x6c86, 0x009e, 0x080c, 0xae71, 0x001e, 0x0005, - 0x0016, 0x0096, 0x7030, 0x9086, 0x0100, 0x1118, 0x2009, 0x0004, - 0x0010, 0x7034, 0x800c, 0x810b, 0x2011, 0x000c, 0x2019, 0x000c, - 0x6014, 0x2048, 0xa804, 0x0096, 0x9005, 0x0108, 0x2048, 0x080c, - 0xc743, 0x009e, 0x080c, 0xcb4a, 0x0148, 0xa804, 0x9005, 0x1158, - 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0xae71, - 0x009e, 0x001e, 0x0005, 0x0086, 0x2040, 0xa030, 0x8007, 0x9086, - 0x0100, 0x1118, 0x080c, 0xb824, 0x00e0, 0xa034, 0x8007, 0x800c, - 0x8806, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, - 0x000c, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xaaa0, - 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1243, 0x0019, - 0x0d08, 0x008e, 0x0898, 0x0096, 0x0006, 0x080c, 0x0fff, 0x000e, - 0x01b0, 0xa8ab, 0x0dcb, 0xa876, 0x000e, 0xa8a2, 0x0006, 0xae6a, - 0x2800, 0xa89e, 0xa97a, 0xaf72, 0xaa8e, 0xab92, 0xac96, 0xad9a, - 0x0086, 0x2940, 0x080c, 0x10e9, 0x008e, 0x9085, 0x0001, 0x009e, - 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, - 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1520, 0x700c, 0x6210, - 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x11e0, 0x6043, 0x0000, - 0x2c68, 0x0016, 0x2009, 0x0035, 0x080c, 0xd1c2, 0x001e, 0x1158, - 0x622c, 0x2268, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, 0x0130, - 0x9386, 0x0006, 0x0128, 0x080c, 0xae71, 0x0020, 0x0039, 0x0010, - 0x080c, 0xb49d, 0x002e, 0x00de, 0x00ee, 0x0005, 0x0096, 0x6814, - 0x2048, 0x9186, 0x0015, 0x0904, 0xb485, 0x918e, 0x0016, 0x1904, - 0xb49b, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, - 0x0300, 0x1904, 0xb45f, 0x89ff, 0x1138, 0x6800, 0x9086, 0x000f, - 0x0904, 0xb442, 0x0804, 0xb499, 0x6808, 0x9086, 0xffff, 0x1904, - 0xb487, 0xa87c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0xa83c, - 0xa940, 0x9105, 0x1904, 0xb487, 0x6824, 0xd0b4, 0x1904, 0xb487, - 0x080c, 0xcd33, 0x685c, 0xa882, 0xa87c, 0xc0dc, 0xc0f4, 0xc0d4, - 0xa87e, 0x0026, 0x900e, 0x6a18, 0x2001, 0x000a, 0x080c, 0x8f51, - 0xa884, 0x920a, 0x0208, 0x8011, 0xaa86, 0x82ff, 0x002e, 0x1138, - 0x00c6, 0x2d60, 0x080c, 0xc86d, 0x00ce, 0x0804, 0xb499, 0x00c6, - 0xa868, 0xd0fc, 0x1118, 0x080c, 0x60b7, 0x0010, 0x080c, 0x64bd, - 0x00ce, 0x1904, 0xb487, 0x00c6, 0x2d60, 0x080c, 0xae71, 0x00ce, - 0x0804, 0xb499, 0x00c6, 0x080c, 0xaebf, 0x0198, 0x6017, 0x0000, - 0x6810, 0x6012, 0x080c, 0xcfc4, 0x6023, 0x0003, 0x6904, 0x00c6, - 0x2d60, 0x080c, 0xae71, 0x00ce, 0x080c, 0xaeec, 0x00ce, 0x0804, - 0xb499, 0x2001, 0x1987, 0x2004, 0x6842, 0x00ce, 0x04d0, 0x7008, - 0x9086, 0x000b, 0x11c8, 0x6010, 0x00b6, 0x2058, 0xb900, 0xc1bc, - 0xb902, 0x00be, 0x00c6, 0x2d60, 0xa87b, 0x0003, 0x080c, 0xd204, - 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, 0x90d9, - 0x080c, 0x9687, 0x00ce, 0x00e8, 0x700c, 0x9086, 0x2a00, 0x1138, - 0x2001, 0x1987, 0x2004, 0x6842, 0x00a0, 0x0479, 0x00a0, 0x89ff, - 0x090c, 0x0dd5, 0x00c6, 0x00d6, 0x2d60, 0xa867, 0x0103, 0xa87b, - 0x0003, 0x080c, 0x6aa2, 0x080c, 0xcd33, 0x080c, 0xaea2, 0x00de, - 0x00ce, 0x080c, 0xae71, 0x009e, 0x0005, 0x9186, 0x0015, 0x1128, - 0x2001, 0x1987, 0x2004, 0x6842, 0x0068, 0x918e, 0x0016, 0x1160, - 0x00c6, 0x2d00, 0x2060, 0x080c, 0xe82c, 0x080c, 0x869b, 0x080c, - 0xae71, 0x00ce, 0x080c, 0xae71, 0x0005, 0x0026, 0x0036, 0x0046, - 0x7228, 0xacb0, 0xabac, 0xd2f4, 0x0130, 0x2001, 0x1987, 0x2004, - 0x6842, 0x0804, 0xb517, 0x00c6, 0x2d60, 0x080c, 0xc76e, 0x00ce, - 0x6804, 0x9086, 0x0050, 0x1168, 0x00c6, 0x2d00, 0x2060, 0x6003, - 0x0001, 0x6007, 0x0050, 0x080c, 0x90d9, 0x080c, 0x9687, 0x00ce, - 0x04f0, 0x6800, 0x9086, 0x000f, 0x01a8, 0x89ff, 0x090c, 0x0dd5, - 0x6800, 0x9086, 0x0004, 0x1190, 0xa87c, 0xd0ac, 0x0178, 0xa843, - 0x0fff, 0xa83f, 0x0fff, 0xa880, 0xc0fc, 0xa882, 0x2001, 0x0001, - 0x6832, 0x0400, 0x2001, 0x0007, 0x6832, 0x00e0, 0xa87c, 0xd0b4, - 0x1150, 0xd0ac, 0x0db8, 0x6824, 0xd0f4, 0x1d48, 0xa838, 0xa934, - 0x9105, 0x0d80, 0x0c20, 0xd2ec, 0x1d68, 0x7024, 0x9306, 0x1118, - 0x7020, 0x9406, 0x0d38, 0x7020, 0x683e, 0x7024, 0x683a, 0x2001, - 0x0005, 0x6832, 0x080c, 0xcebb, 0x080c, 0x9687, 0x0010, 0x080c, - 0xae71, 0x004e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x0026, - 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, - 0x9206, 0x1904, 0xb582, 0x700c, 0x6210, 0x00b6, 0x2258, 0xba14, - 0x00be, 0x9206, 0x1904, 0xb582, 0x6038, 0x2068, 0x6824, 0xc0dc, - 0x6826, 0x6a20, 0x9286, 0x0007, 0x0904, 0xb582, 0x9286, 0x0002, - 0x0904, 0xb582, 0x9286, 0x0000, 0x05e8, 0x6808, 0x633c, 0x9306, - 0x15c8, 0x2071, 0x026c, 0x9186, 0x0015, 0x0570, 0x918e, 0x0016, - 0x1100, 0x00c6, 0x6038, 0x2060, 0x6104, 0x9186, 0x004b, 0x01c0, - 0x9186, 0x004c, 0x01a8, 0x9186, 0x004d, 0x0190, 0x9186, 0x004e, - 0x0178, 0x9186, 0x0052, 0x0160, 0x6014, 0x0096, 0x2048, 0x080c, - 0xcb4a, 0x090c, 0x0dd5, 0xa87b, 0x0003, 0x009e, 0x080c, 0xd204, - 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, 0x90d9, - 0x080c, 0x9687, 0x00ce, 0x0030, 0x6038, 0x2070, 0x2001, 0x1987, - 0x2004, 0x7042, 0x080c, 0xae71, 0x002e, 0x00de, 0x00ee, 0x0005, - 0x00b6, 0x0096, 0x00f6, 0x6014, 0x2048, 0x6010, 0x2058, 0x91b6, - 0x0015, 0x0130, 0xba08, 0xbb0c, 0xbc00, 0xc48c, 0xbc02, 0x0460, - 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0010, 0x2019, - 0x000a, 0x20a9, 0x0004, 0x080c, 0xbe30, 0x002e, 0x003e, 0x015e, - 0x009e, 0x1904, 0xb5f1, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, - 0x9e90, 0x0014, 0x2019, 0x0006, 0x20a9, 0x0004, 0x080c, 0xbe30, - 0x002e, 0x003e, 0x015e, 0x009e, 0x15a0, 0x7238, 0xba0a, 0x733c, - 0xbb0e, 0xbc00, 0xc48d, 0xbc02, 0xa804, 0x9005, 0x1128, 0x00fe, - 0x009e, 0x00be, 0x0804, 0xb276, 0x0096, 0x2048, 0xaa12, 0xab16, - 0xac0a, 0x009e, 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, - 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, - 0xada4, 0x2031, 0x0000, 0x2041, 0x1243, 0x080c, 0xb38b, 0x0130, - 0x00fe, 0x009e, 0x080c, 0xae71, 0x00be, 0x0005, 0x080c, 0xb824, - 0x0cb8, 0x2b78, 0x00f6, 0x080c, 0x31c1, 0x080c, 0xd25f, 0x00fe, - 0x00c6, 0x080c, 0xae1b, 0x2f00, 0x6012, 0x6017, 0x0000, 0x6023, - 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, 0x080c, - 0x6558, 0x080c, 0x6584, 0x080c, 0x9121, 0x080c, 0x9687, 0x00ce, - 0x0804, 0xb5c4, 0x2100, 0x91b2, 0x0053, 0x1a0c, 0x0dd5, 0x91b2, - 0x0040, 0x1a04, 0xb67a, 0x0002, 0xb668, 0xb668, 0xb65e, 0xb668, - 0xb668, 0xb668, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, - 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, - 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, - 0xb65c, 0xb65c, 0xb65c, 0xb668, 0xb65c, 0xb668, 0xb668, 0xb65c, - 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65e, 0xb65c, 0xb65c, 0xb65c, - 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb668, 0xb668, - 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, 0xb65c, - 0xb65c, 0xb668, 0xb65c, 0xb65c, 0x080c, 0x0dd5, 0x0066, 0x00b6, - 0x6610, 0x2658, 0xb8cc, 0xc08c, 0xb8ce, 0x00be, 0x006e, 0x0000, - 0x6003, 0x0001, 0x6106, 0x9186, 0x0032, 0x0118, 0x080c, 0x9121, - 0x0010, 0x080c, 0x90d9, 0x0126, 0x2091, 0x8000, 0x080c, 0x9687, - 0x012e, 0x0005, 0x2600, 0x0002, 0xb668, 0xb668, 0xb68e, 0xb668, - 0xb668, 0xb68e, 0xb68e, 0xb68e, 0xb68e, 0xb668, 0xb68e, 0xb668, - 0xb68e, 0xb668, 0xb68e, 0xb68e, 0xb68e, 0xb68e, 0x080c, 0x0dd5, - 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0dd5, 0x91b6, 0x0013, 0x0904, - 0xb752, 0x91b6, 0x0027, 0x1904, 0xb70d, 0x080c, 0x957b, 0x6004, - 0x080c, 0xcd3f, 0x01b0, 0x080c, 0xcd50, 0x01a8, 0x908e, 0x0021, - 0x0904, 0xb70a, 0x908e, 0x0022, 0x1130, 0x080c, 0xb2a2, 0x0904, - 0xb706, 0x0804, 0xb707, 0x908e, 0x003d, 0x0904, 0xb70a, 0x0804, - 0xb700, 0x080c, 0x31ea, 0x2001, 0x0007, 0x080c, 0x6558, 0x6010, - 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, 0xb824, 0x9186, 0x007e, - 0x1148, 0x2001, 0x1837, 0x2014, 0xc285, 0x080c, 0x73a5, 0x1108, - 0xc2ad, 0x2202, 0x0036, 0x0026, 0x2019, 0x0028, 0x2110, 0x080c, - 0xe938, 0x002e, 0x003e, 0x0016, 0x0026, 0x0036, 0x2110, 0x2019, - 0x0028, 0x080c, 0x927e, 0x0076, 0x903e, 0x080c, 0x9151, 0x6010, - 0x00b6, 0x905d, 0x0100, 0x00be, 0x2c08, 0x080c, 0xe30c, 0x007e, - 0x003e, 0x002e, 0x001e, 0x080c, 0xd25f, 0x0016, 0x080c, 0xcfbc, - 0x080c, 0xae71, 0x001e, 0x080c, 0x32bd, 0x080c, 0x9687, 0x0030, - 0x080c, 0xcfbc, 0x080c, 0xae71, 0x080c, 0x9687, 0x0005, 0x080c, - 0xb824, 0x0cb0, 0x080c, 0xb860, 0x0c98, 0x9186, 0x0014, 0x1db0, - 0x080c, 0x957b, 0x6004, 0x908e, 0x0022, 0x1118, 0x080c, 0xb2a2, - 0x0d68, 0x080c, 0x31c1, 0x080c, 0xd25f, 0x080c, 0xcd3f, 0x1190, - 0x080c, 0x31ea, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, - 0xb824, 0x9186, 0x007e, 0x1128, 0x2001, 0x1837, 0x200c, 0xc185, - 0x2102, 0x0870, 0x080c, 0xcd50, 0x1118, 0x080c, 0xb824, 0x0840, - 0x6004, 0x908e, 0x0032, 0x1160, 0x00e6, 0x00f6, 0x2071, 0x189e, - 0x2079, 0x0000, 0x080c, 0x3558, 0x00fe, 0x00ee, 0x0804, 0xb700, - 0x6004, 0x908e, 0x0021, 0x0d48, 0x908e, 0x0022, 0x090c, 0xb824, - 0x0804, 0xb700, 0x90b2, 0x0040, 0x1a04, 0xb800, 0x2008, 0x0002, - 0xb79a, 0xb79b, 0xb79e, 0xb7a1, 0xb7a4, 0xb7a7, 0xb798, 0xb798, - 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, - 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, - 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb7aa, 0xb7b5, - 0xb798, 0xb7b7, 0xb7b5, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, - 0xb7b5, 0xb7b5, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, 0xb798, - 0xb798, 0xb798, 0xb7e7, 0xb7b5, 0xb798, 0xb7b1, 0xb798, 0xb798, - 0xb798, 0xb7b2, 0xb798, 0xb798, 0xb798, 0xb7b5, 0xb7de, 0xb798, - 0x080c, 0x0dd5, 0x00d0, 0x2001, 0x000b, 0x0410, 0x2001, 0x0003, - 0x00f8, 0x2001, 0x0005, 0x00e0, 0x2001, 0x0001, 0x00c8, 0x2001, - 0x0009, 0x00b0, 0x080c, 0x957b, 0x6003, 0x0005, 0x080c, 0x9687, - 0x0070, 0x0018, 0x0010, 0x080c, 0x6558, 0x0804, 0xb7f8, 0x080c, - 0x957b, 0x080c, 0xd262, 0x6003, 0x0004, 0x080c, 0x9687, 0x0005, - 0x080c, 0x6558, 0x080c, 0x957b, 0x6003, 0x0002, 0x0036, 0x2019, - 0x1852, 0x2304, 0x9084, 0xff00, 0x1120, 0x2001, 0x1985, 0x201c, - 0x0040, 0x8007, 0x909a, 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, - 0x9318, 0x631a, 0x003e, 0x080c, 0x9687, 0x0c08, 0x080c, 0x957b, - 0x080c, 0xcfbc, 0x080c, 0xae71, 0x080c, 0x9687, 0x08c0, 0x00e6, - 0x00f6, 0x2071, 0x189e, 0x2079, 0x0000, 0x080c, 0x3558, 0x00fe, - 0x00ee, 0x080c, 0x957b, 0x080c, 0xae71, 0x080c, 0x9687, 0x0838, - 0x080c, 0x957b, 0x6003, 0x0002, 0x080c, 0xd262, 0x0804, 0x9687, - 0x2600, 0x2008, 0x0002, 0xb817, 0xb7f8, 0xb815, 0xb7f8, 0xb7f8, - 0xb815, 0xb815, 0xb815, 0xb815, 0xb7f8, 0xb815, 0xb7f8, 0xb815, - 0xb7f8, 0xb815, 0xb815, 0xb815, 0xb815, 0x080c, 0x0dd5, 0x080c, - 0x957b, 0x0096, 0x6014, 0x2048, 0x080c, 0x6c86, 0x009e, 0x080c, - 0xae71, 0x080c, 0x9687, 0x0005, 0x00e6, 0x0096, 0x0026, 0x0016, - 0x080c, 0xcb4a, 0x0568, 0x6014, 0x2048, 0xa864, 0x9086, 0x0139, - 0x11a8, 0xa894, 0x9086, 0x0056, 0x1148, 0x080c, 0x5481, 0x0130, - 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x0028, 0x2001, 0x0030, - 0x900e, 0x2011, 0x4005, 0x080c, 0xd129, 0x0090, 0xa868, 0xd0fc, - 0x0178, 0xa807, 0x0000, 0x0016, 0x6004, 0x908e, 0x0021, 0x0168, - 0x908e, 0x003d, 0x0150, 0x001e, 0xa867, 0x0103, 0xa833, 0x0100, - 0x001e, 0x002e, 0x009e, 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc0, - 0x0096, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0xa823, - 0x8001, 0x009e, 0x0005, 0x00b6, 0x6610, 0x2658, 0xb804, 0x9084, - 0x00ff, 0x90b2, 0x000c, 0x1a0c, 0x0dd5, 0x6604, 0x96b6, 0x004d, - 0x1120, 0x080c, 0xd048, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x0043, - 0x1120, 0x080c, 0xd091, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x004b, - 0x1120, 0x080c, 0xd0bd, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x0033, - 0x1120, 0x080c, 0xcfde, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x0028, - 0x1120, 0x080c, 0xcd8e, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x0029, - 0x1120, 0x080c, 0xcdcf, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x001f, - 0x1120, 0x080c, 0xb24a, 0x0804, 0xb8f0, 0x6604, 0x96b6, 0x0000, - 0x1118, 0x080c, 0xb588, 0x04e0, 0x6604, 0x96b6, 0x0022, 0x1118, - 0x080c, 0xb283, 0x04a8, 0x6604, 0x96b6, 0x0035, 0x1118, 0x080c, - 0xb3a9, 0x0470, 0x6604, 0x96b6, 0x0039, 0x1118, 0x080c, 0xb51d, - 0x0438, 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, 0xb2bb, 0x0400, - 0x6604, 0x96b6, 0x0044, 0x1118, 0x080c, 0xb2f7, 0x00c8, 0x6604, - 0x96b6, 0x0049, 0x1118, 0x080c, 0xb338, 0x0090, 0x6604, 0x96b6, - 0x0041, 0x1118, 0x080c, 0xb322, 0x0058, 0x91b6, 0x0015, 0x1110, - 0x0063, 0x0030, 0x91b6, 0x0016, 0x1128, 0x00be, 0x0804, 0xbb4c, - 0x00be, 0x0005, 0x080c, 0xaf07, 0x0cd8, 0xb90d, 0xb910, 0xb90d, - 0xb957, 0xb90d, 0xbac0, 0xbb59, 0xb90d, 0xb90d, 0xbb22, 0xb90d, - 0xbb38, 0x0096, 0x601f, 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, - 0xa867, 0x0103, 0x009e, 0x0804, 0xae71, 0xa001, 0xa001, 0x0005, - 0x00e6, 0x2071, 0x1800, 0x7090, 0x9086, 0x0074, 0x1540, 0x080c, - 0xe2dd, 0x11b0, 0x6010, 0x00b6, 0x2058, 0x7030, 0xd08c, 0x0128, - 0xb800, 0xd0bc, 0x0110, 0xc0c5, 0xb802, 0x00f9, 0x00be, 0x2001, - 0x0006, 0x080c, 0x6558, 0x080c, 0x31ea, 0x080c, 0xae71, 0x0098, - 0x2001, 0x000a, 0x080c, 0x6558, 0x080c, 0x31ea, 0x6003, 0x0001, - 0x6007, 0x0001, 0x080c, 0x9121, 0x080c, 0x9687, 0x0020, 0x2001, - 0x0001, 0x080c, 0xba90, 0x00ee, 0x0005, 0x00d6, 0xb800, 0xd084, - 0x0160, 0x9006, 0x080c, 0x6544, 0x2069, 0x1847, 0x6804, 0xd0a4, - 0x0120, 0x2001, 0x0006, 0x080c, 0x6584, 0x00de, 0x0005, 0x00b6, - 0x0096, 0x00d6, 0x2011, 0x1824, 0x2204, 0x9086, 0x0074, 0x1904, - 0xba65, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x007e, 0x1120, 0x080c, - 0xbca6, 0x0804, 0xb9c9, 0x080c, 0xbc9b, 0x6010, 0x2058, 0xbaa0, - 0x9286, 0x0080, 0x1510, 0x6014, 0x9005, 0x01a8, 0x2048, 0xa864, - 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0000, 0x900e, - 0x2011, 0x4000, 0x080c, 0xd129, 0x0030, 0xa807, 0x0000, 0xa867, - 0x0103, 0xa833, 0x0200, 0x2001, 0x0006, 0x080c, 0x6558, 0x080c, - 0x31ea, 0x080c, 0xae71, 0x0804, 0xba6a, 0x080c, 0xba78, 0x6014, - 0x9005, 0x0190, 0x2048, 0xa868, 0xd0f4, 0x01e8, 0xa864, 0x9084, - 0x00ff, 0x9086, 0x0039, 0x1d08, 0x2001, 0x0000, 0x900e, 0x2011, - 0x4000, 0x080c, 0xd129, 0x08f8, 0x080c, 0xba6e, 0x0160, 0x9006, - 0x080c, 0x6544, 0x2001, 0x0004, 0x080c, 0x6584, 0x2001, 0x0007, - 0x080c, 0x6558, 0x08a0, 0x2001, 0x0004, 0x080c, 0x6558, 0x6003, - 0x0001, 0x6007, 0x0003, 0x080c, 0x9121, 0x080c, 0x9687, 0x0804, - 0xba6a, 0xb85c, 0xd0e4, 0x01d8, 0x080c, 0xcf5e, 0x080c, 0x73a5, - 0x0118, 0xd0dc, 0x1904, 0xb98b, 0x2011, 0x1837, 0x2204, 0xc0ad, - 0x2012, 0x2001, 0x196c, 0x2004, 0x00f6, 0x2079, 0x0100, 0x78e3, - 0x0000, 0x080c, 0x28b4, 0x78e2, 0x00fe, 0x0804, 0xb98b, 0x080c, - 0xcf9b, 0x2011, 0x1837, 0x2204, 0xc0a5, 0x2012, 0x0006, 0x080c, - 0xe462, 0x000e, 0x1904, 0xb98b, 0xc0b5, 0x2012, 0x2001, 0x0006, - 0x080c, 0x6558, 0x9006, 0x080c, 0x6544, 0x00c6, 0x2001, 0x180f, - 0x2004, 0xd09c, 0x0520, 0x00f6, 0x2079, 0x0100, 0x00e6, 0x2071, - 0x1800, 0x700c, 0x9084, 0x00ff, 0x78e6, 0x707e, 0x7010, 0x78ea, - 0x7082, 0x908c, 0x00ff, 0x00ee, 0x780c, 0xc0b5, 0x780e, 0x00fe, - 0x080c, 0x2889, 0x00f6, 0x2100, 0x900e, 0x080c, 0x2840, 0x795e, - 0x00fe, 0x9186, 0x0081, 0x01d8, 0x2009, 0x0081, 0x00c8, 0x2009, - 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, 0x7932, 0x7936, 0x780c, - 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x2889, 0x00f6, 0x2079, 0x1800, - 0x7982, 0x2100, 0x900e, 0x080c, 0x2840, 0x795e, 0x00fe, 0x8108, - 0x080c, 0x65a7, 0x2b00, 0x00ce, 0x1904, 0xb98b, 0x6012, 0x2009, - 0x180f, 0x210c, 0xd19c, 0x0150, 0x2009, 0x027c, 0x210c, 0x918c, - 0x00ff, 0xb912, 0x2009, 0x027d, 0x210c, 0xb916, 0x2001, 0x0002, - 0x080c, 0x6558, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, - 0x080c, 0x9121, 0x080c, 0x9687, 0x0028, 0x080c, 0xb824, 0x2001, - 0x0001, 0x0431, 0x00de, 0x009e, 0x00be, 0x0005, 0x2001, 0x1810, - 0x2004, 0xd0a4, 0x0120, 0x2001, 0x1848, 0x2004, 0xd0ac, 0x0005, - 0x00e6, 0x080c, 0xe991, 0x0190, 0x2071, 0x0260, 0x7108, 0x720c, - 0x918c, 0x00ff, 0x1118, 0x9284, 0xff00, 0x0140, 0x6010, 0x2058, - 0xb8a0, 0x9084, 0xff80, 0x1110, 0xb912, 0xba16, 0x00ee, 0x0005, - 0x2030, 0x9005, 0x0158, 0x2001, 0x0007, 0x080c, 0x6558, 0x080c, - 0x56ec, 0x1120, 0x2001, 0x0007, 0x080c, 0x6584, 0x2600, 0x9005, - 0x11b0, 0x6014, 0x0096, 0x2048, 0xa868, 0x009e, 0xd0fc, 0x1178, - 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, - 0x0004, 0x2011, 0x8014, 0x080c, 0x4b14, 0x004e, 0x003e, 0x080c, - 0x31ea, 0x6020, 0x9086, 0x000a, 0x1108, 0x0005, 0x0804, 0xae71, - 0x00b6, 0x00e6, 0x0026, 0x0016, 0x2071, 0x1800, 0x7090, 0x9086, - 0x0014, 0x1904, 0xbb18, 0x080c, 0x56ec, 0x1170, 0x6014, 0x9005, - 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, 0xbba0, 0x2021, 0x0006, - 0x080c, 0x4ccb, 0x004e, 0x003e, 0x00d6, 0x6010, 0x2058, 0x080c, - 0x66a3, 0x080c, 0xb945, 0x00de, 0x080c, 0xbd6c, 0x1588, 0x6010, - 0x2058, 0xb890, 0x9005, 0x0560, 0x2001, 0x0006, 0x080c, 0x6558, - 0x0096, 0x6014, 0x904d, 0x01d0, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x20a9, 0x0020, 0x4104, 0xaa66, 0xa87a, 0x2079, 0x1800, 0x7990, + 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, 0x2009, 0x001a, + 0x21a8, 0x810b, 0xa972, 0xac76, 0x2e98, 0xa85c, 0x9080, 0x001f, + 0x20a0, 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x4003, + 0x2003, 0x0000, 0x080c, 0x6c94, 0x009e, 0x00fe, 0x00de, 0x0005, + 0x0016, 0x00d6, 0x00f6, 0x0096, 0x0016, 0x2001, 0x0205, 0x200c, + 0x918d, 0x0080, 0x2102, 0x001e, 0x2079, 0x0200, 0x2e98, 0xa87c, + 0xd0ec, 0x0118, 0x9e80, 0x000c, 0x2098, 0x2021, 0x003e, 0x901e, + 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, 0x2018, 0x9486, 0x003e, + 0x1170, 0x0096, 0x080c, 0x0fff, 0x2900, 0x009e, 0x05c0, 0xa806, + 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x3300, + 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, 0x9102, 0x920a, 0x0218, + 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, 0x1228, 0x2400, 0x9202, + 0x2410, 0x9318, 0x9006, 0x2020, 0x22a8, 0xa800, 0x9200, 0xa802, + 0x20e1, 0x0000, 0x4003, 0x83ff, 0x0180, 0x3300, 0x9086, 0x0280, + 0x1130, 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, 0x2e98, 0x2310, + 0x84ff, 0x0904, 0xb1cd, 0x0804, 0xb1cf, 0x9085, 0x0001, 0x7817, + 0x0000, 0x009e, 0x00fe, 0x00de, 0x001e, 0x0005, 0x00d6, 0x0036, + 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x080c, 0x6c88, 0x009e, + 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, 0x080c, 0xae5f, + 0x0030, 0x91b6, 0x0016, 0x190c, 0x0dd5, 0x080c, 0xae5f, 0x0005, + 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, 0x0096, 0x2048, + 0xa860, 0x20e8, 0xa85c, 0x20a0, 0x009e, 0x4003, 0x0136, 0x9080, + 0x001b, 0x20a0, 0x2011, 0x0006, 0x20a9, 0x0001, 0x3418, 0x8318, + 0x23a0, 0x4003, 0x3318, 0x8318, 0x2398, 0x8211, 0x1db8, 0x2011, + 0x0006, 0x013e, 0x20a0, 0x3318, 0x8318, 0x2398, 0x4003, 0x3418, + 0x8318, 0x23a0, 0x8211, 0x1db8, 0x0096, 0x080c, 0xcb5a, 0x0130, + 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0x009e, 0x0804, + 0xae5f, 0x0096, 0x00d6, 0x0036, 0x7330, 0x9386, 0x0200, 0x11a8, + 0x6010, 0x00b6, 0x2058, 0xb8cf, 0x0000, 0x00be, 0x6014, 0x9005, + 0x0130, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0xab32, 0x080c, + 0xae5f, 0x003e, 0x00de, 0x009e, 0x0005, 0x0011, 0x1d48, 0x0cc8, + 0x0006, 0x0016, 0x080c, 0xd25a, 0x0188, 0x6014, 0x9005, 0x1170, + 0x600b, 0x0003, 0x601b, 0x0000, 0x6043, 0x0000, 0x2009, 0x0022, + 0x080c, 0xb663, 0x9006, 0x001e, 0x000e, 0x0005, 0x9085, 0x0001, + 0x0cd0, 0x0096, 0x0016, 0x20a9, 0x0014, 0x9e80, 0x000c, 0x20e1, + 0x0000, 0x2098, 0x6014, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, 0x0001, 0x2099, + 0x0260, 0x20a9, 0x0016, 0x4003, 0x20a9, 0x000a, 0xa804, 0x2048, + 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, + 0x0205, 0x2003, 0x0002, 0x2099, 0x0260, 0x20a9, 0x0020, 0x4003, + 0x2003, 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, + 0x080c, 0xae5f, 0x001e, 0x009e, 0x0005, 0x0096, 0x0016, 0x900e, + 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, 0x00ff, 0x800c, + 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, 0x9108, 0x810b, + 0x2011, 0x0002, 0x2019, 0x000c, 0x6014, 0x2048, 0x080c, 0xc743, + 0x080c, 0xcb5a, 0x0140, 0x6014, 0x2048, 0xa807, 0x0000, 0xa864, + 0xa8e2, 0xa867, 0x0103, 0x080c, 0xae5f, 0x001e, 0x009e, 0x0005, + 0x0016, 0x2009, 0x0000, 0x7030, 0x9086, 0x0200, 0x0110, 0x2009, + 0x0001, 0x0096, 0x6014, 0x904d, 0x090c, 0x0dd5, 0xa97a, 0x080c, + 0x6c94, 0x009e, 0x080c, 0xae5f, 0x001e, 0x0005, 0x0016, 0x0096, + 0x7030, 0x9086, 0x0100, 0x1118, 0x2009, 0x0004, 0x0010, 0x7034, + 0x800c, 0x810b, 0x2011, 0x000c, 0x2019, 0x000c, 0x6014, 0x2048, + 0xa804, 0x0096, 0x9005, 0x0108, 0x2048, 0x080c, 0xc743, 0x009e, + 0x080c, 0xcb5a, 0x0148, 0xa804, 0x9005, 0x1158, 0xa807, 0x0000, + 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0xae5f, 0x009e, 0x001e, + 0x0005, 0x0086, 0x2040, 0xa030, 0x8007, 0x9086, 0x0100, 0x1118, + 0x080c, 0xb821, 0x00e0, 0xa034, 0x8007, 0x800c, 0x8806, 0x8006, + 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x000c, 0xa87b, + 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xaaa0, 0xab9c, 0xaca8, + 0xada4, 0x2031, 0x0000, 0x2041, 0x1243, 0x0019, 0x0d08, 0x008e, + 0x0898, 0x0096, 0x0006, 0x080c, 0x0fff, 0x000e, 0x01b0, 0xa8ab, + 0x0dcb, 0xa876, 0x000e, 0xa8a2, 0x0006, 0xae6a, 0x2800, 0xa89e, + 0xa97a, 0xaf72, 0xaa8e, 0xab92, 0xac96, 0xad9a, 0x0086, 0x2940, + 0x080c, 0x10e9, 0x008e, 0x9085, 0x0001, 0x009e, 0x0005, 0x00e6, + 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, + 0xba10, 0x00be, 0x9206, 0x1520, 0x700c, 0x6210, 0x00b6, 0x2258, + 0xba14, 0x00be, 0x9206, 0x11e0, 0x6043, 0x0000, 0x2c68, 0x0016, + 0x2009, 0x0035, 0x080c, 0xd1d2, 0x001e, 0x1158, 0x622c, 0x2268, + 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, 0x0130, 0x9386, 0x0006, + 0x0128, 0x080c, 0xae5f, 0x0020, 0x0039, 0x0010, 0x080c, 0xb498, + 0x002e, 0x00de, 0x00ee, 0x0005, 0x0096, 0x6814, 0x2048, 0x9186, + 0x0015, 0x0904, 0xb480, 0x918e, 0x0016, 0x1904, 0xb496, 0x700c, + 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, 0x0300, 0x1904, + 0xb45a, 0x89ff, 0x1138, 0x6800, 0x9086, 0x000f, 0x0904, 0xb43d, + 0x0804, 0xb494, 0x6808, 0x9086, 0xffff, 0x1904, 0xb482, 0xa87c, + 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0xa83c, 0xa940, 0x9105, + 0x1904, 0xb482, 0x6824, 0xd084, 0x1904, 0xb482, 0xd0b4, 0x0158, + 0x0016, 0x2001, 0x1985, 0x200c, 0x6018, 0x9102, 0x9082, 0x0005, + 0x001e, 0x1a04, 0xb482, 0x080c, 0xcd43, 0x685c, 0xa882, 0xa87c, + 0xc0dc, 0xc0f4, 0xc0d4, 0xa87e, 0x0026, 0x900e, 0x6a18, 0x2001, + 0x000a, 0x080c, 0x8f70, 0xa884, 0x920a, 0x0208, 0x8011, 0xaa86, + 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xc86d, 0x00ce, + 0x0804, 0xb494, 0x00c6, 0xa868, 0xd0fc, 0x1118, 0x080c, 0x60c1, + 0x0010, 0x080c, 0x64cb, 0x00ce, 0x1904, 0xb482, 0x00c6, 0x2d60, + 0x080c, 0xae5f, 0x00ce, 0x0804, 0xb494, 0x00c6, 0x080c, 0xaead, + 0x0198, 0x6017, 0x0000, 0x6810, 0x6012, 0x080c, 0xcfd4, 0x6023, + 0x0003, 0x6904, 0x00c6, 0x2d60, 0x080c, 0xae5f, 0x00ce, 0x080c, + 0xaeda, 0x00ce, 0x0804, 0xb494, 0x2001, 0x1987, 0x2004, 0x6842, + 0x00ce, 0x04d0, 0x7008, 0x9086, 0x000b, 0x11c8, 0x6010, 0x00b6, + 0x2058, 0xb900, 0xc1bc, 0xb902, 0x00be, 0x00c6, 0x2d60, 0xa87b, + 0x0003, 0x080c, 0xd214, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x00ce, 0x00e8, 0x700c, + 0x9086, 0x2a00, 0x1138, 0x2001, 0x1987, 0x2004, 0x6842, 0x00a0, + 0x0479, 0x00a0, 0x89ff, 0x090c, 0x0dd5, 0x00c6, 0x00d6, 0x2d60, + 0xa867, 0x0103, 0xa87b, 0x0003, 0x080c, 0x6ab0, 0x080c, 0xcd43, + 0x080c, 0xae90, 0x00de, 0x00ce, 0x080c, 0xae5f, 0x009e, 0x0005, + 0x9186, 0x0015, 0x1128, 0x2001, 0x1987, 0x2004, 0x6842, 0x0068, + 0x918e, 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, 0xe846, + 0x080c, 0x86b8, 0x080c, 0xae5f, 0x00ce, 0x080c, 0xae5f, 0x0005, + 0x0026, 0x0036, 0x0046, 0x7228, 0xacb0, 0xabac, 0xd2f4, 0x0130, + 0x2001, 0x1987, 0x2004, 0x6842, 0x0804, 0xb512, 0x00c6, 0x2d60, + 0x080c, 0xc76e, 0x00ce, 0x6804, 0x9086, 0x0050, 0x1168, 0x00c6, + 0x2d00, 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x90f8, + 0x080c, 0x96a6, 0x00ce, 0x04f0, 0x6800, 0x9086, 0x000f, 0x01a8, + 0x89ff, 0x090c, 0x0dd5, 0x6800, 0x9086, 0x0004, 0x1190, 0xa87c, + 0xd0ac, 0x0178, 0xa843, 0x0fff, 0xa83f, 0x0fff, 0xa880, 0xc0fc, + 0xa882, 0x2001, 0x0001, 0x6832, 0x0400, 0x2001, 0x0007, 0x6832, + 0x00e0, 0xa87c, 0xd0b4, 0x1150, 0xd0ac, 0x0db8, 0x6824, 0xd0f4, + 0x1d48, 0xa838, 0xa934, 0x9105, 0x0d80, 0x0c20, 0xd2ec, 0x1d68, + 0x7024, 0x9306, 0x1118, 0x7020, 0x9406, 0x0d38, 0x7020, 0x683e, + 0x7024, 0x683a, 0x2001, 0x0005, 0x6832, 0x080c, 0xcecb, 0x080c, + 0x96a6, 0x0010, 0x080c, 0xae5f, 0x004e, 0x003e, 0x002e, 0x0005, + 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, + 0x2258, 0xba10, 0x00be, 0x9206, 0x1904, 0xb57d, 0x700c, 0x6210, + 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x1904, 0xb57d, 0x6038, + 0x2068, 0x6824, 0xc0dc, 0x6826, 0x6a20, 0x9286, 0x0007, 0x0904, + 0xb57d, 0x9286, 0x0002, 0x0904, 0xb57d, 0x9286, 0x0000, 0x05e8, + 0x6808, 0x633c, 0x9306, 0x15c8, 0x2071, 0x026c, 0x9186, 0x0015, + 0x0570, 0x918e, 0x0016, 0x1100, 0x00c6, 0x6038, 0x2060, 0x6104, + 0x9186, 0x004b, 0x01c0, 0x9186, 0x004c, 0x01a8, 0x9186, 0x004d, + 0x0190, 0x9186, 0x004e, 0x0178, 0x9186, 0x0052, 0x0160, 0x6014, + 0x0096, 0x2048, 0x080c, 0xcb5a, 0x090c, 0x0dd5, 0xa87b, 0x0003, + 0x009e, 0x080c, 0xd214, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x00ce, 0x0030, 0x6038, + 0x2070, 0x2001, 0x1987, 0x2004, 0x7042, 0x080c, 0xae5f, 0x002e, + 0x00de, 0x00ee, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x6014, 0x2048, + 0x6010, 0x2058, 0x91b6, 0x0015, 0x0130, 0xba08, 0xbb0c, 0xbc00, + 0xc48c, 0xbc02, 0x0460, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, + 0x9e90, 0x0010, 0x2019, 0x000a, 0x20a9, 0x0004, 0x080c, 0xbe2d, + 0x002e, 0x003e, 0x015e, 0x009e, 0x1904, 0xb5ec, 0x0096, 0x0156, + 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0014, 0x2019, 0x0006, 0x20a9, + 0x0004, 0x080c, 0xbe2d, 0x002e, 0x003e, 0x015e, 0x009e, 0x15a0, + 0x7238, 0xba0a, 0x733c, 0xbb0e, 0xbc00, 0xc48d, 0xbc02, 0xa804, + 0x9005, 0x1128, 0x00fe, 0x009e, 0x00be, 0x0804, 0xb264, 0x0096, + 0x2048, 0xaa12, 0xab16, 0xac0a, 0x009e, 0x8006, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, + 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1243, + 0x080c, 0xb379, 0x0130, 0x00fe, 0x009e, 0x080c, 0xae5f, 0x00be, + 0x0005, 0x080c, 0xb821, 0x0cb8, 0x2b78, 0x00f6, 0x080c, 0x31cc, + 0x080c, 0xd26f, 0x00fe, 0x00c6, 0x080c, 0xae09, 0x2f00, 0x6012, + 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, + 0x2001, 0x0007, 0x080c, 0x6566, 0x080c, 0x6592, 0x080c, 0x9140, + 0x080c, 0x96a6, 0x00ce, 0x0804, 0xb5bf, 0x2100, 0x91b2, 0x0053, + 0x1a0c, 0x0dd5, 0x91b2, 0x0040, 0x1a04, 0xb675, 0x0002, 0xb663, + 0xb663, 0xb659, 0xb663, 0xb663, 0xb663, 0xb657, 0xb657, 0xb657, + 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, + 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, + 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb663, 0xb657, + 0xb663, 0xb663, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb659, + 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, + 0xb657, 0xb663, 0xb663, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, + 0xb657, 0xb657, 0xb657, 0xb657, 0xb663, 0xb657, 0xb657, 0x080c, + 0x0dd5, 0x0066, 0x00b6, 0x6610, 0x2658, 0xb8cc, 0xc08c, 0xb8ce, + 0x00be, 0x006e, 0x0000, 0x6003, 0x0001, 0x6106, 0x9186, 0x0032, + 0x0118, 0x080c, 0x9140, 0x0010, 0x080c, 0x90f8, 0x0126, 0x2091, + 0x8000, 0x080c, 0x96a6, 0x012e, 0x0005, 0x2600, 0x0002, 0xb663, + 0xb663, 0xb689, 0xb663, 0xb663, 0xb689, 0xb689, 0xb689, 0xb689, + 0xb663, 0xb689, 0xb663, 0xb689, 0xb663, 0xb689, 0xb689, 0xb689, + 0xb689, 0x080c, 0x0dd5, 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0dd5, + 0x91b6, 0x0013, 0x0904, 0xb74d, 0x91b6, 0x0027, 0x1904, 0xb708, + 0x080c, 0x959a, 0x6004, 0x080c, 0xcd4f, 0x01b0, 0x080c, 0xcd60, + 0x01a8, 0x908e, 0x0021, 0x0904, 0xb705, 0x908e, 0x0022, 0x1130, + 0x080c, 0xb290, 0x0904, 0xb701, 0x0804, 0xb702, 0x908e, 0x003d, + 0x0904, 0xb705, 0x0804, 0xb6fb, 0x080c, 0x31f5, 0x2001, 0x0007, + 0x080c, 0x6566, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, + 0xb821, 0x9186, 0x007e, 0x1148, 0x2001, 0x1837, 0x2014, 0xc285, + 0x080c, 0x73b3, 0x1108, 0xc2ad, 0x2202, 0x0036, 0x0026, 0x2019, + 0x0028, 0x2110, 0x080c, 0xe952, 0x002e, 0x003e, 0x0016, 0x0026, + 0x0036, 0x2110, 0x2019, 0x0028, 0x080c, 0x929d, 0x0076, 0x903e, + 0x080c, 0x9170, 0x6010, 0x00b6, 0x905d, 0x0100, 0x00be, 0x2c08, + 0x080c, 0xe326, 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, 0xd26f, + 0x0016, 0x080c, 0xcfcc, 0x080c, 0xae5f, 0x001e, 0x080c, 0x32c8, + 0x080c, 0x96a6, 0x0030, 0x080c, 0xcfcc, 0x080c, 0xae5f, 0x080c, + 0x96a6, 0x0005, 0x080c, 0xb821, 0x0cb0, 0x080c, 0xb85d, 0x0c98, + 0x9186, 0x0014, 0x1db0, 0x080c, 0x959a, 0x6004, 0x908e, 0x0022, + 0x1118, 0x080c, 0xb290, 0x0d68, 0x080c, 0x31cc, 0x080c, 0xd26f, + 0x080c, 0xcd4f, 0x1190, 0x080c, 0x31f5, 0x6010, 0x00b6, 0x2058, + 0xb9a0, 0x00be, 0x080c, 0xb821, 0x9186, 0x007e, 0x1128, 0x2001, + 0x1837, 0x200c, 0xc185, 0x2102, 0x0870, 0x080c, 0xcd60, 0x1118, + 0x080c, 0xb821, 0x0840, 0x6004, 0x908e, 0x0032, 0x1160, 0x00e6, + 0x00f6, 0x2071, 0x189e, 0x2079, 0x0000, 0x080c, 0x3563, 0x00fe, + 0x00ee, 0x0804, 0xb6fb, 0x6004, 0x908e, 0x0021, 0x0d48, 0x908e, + 0x0022, 0x090c, 0xb821, 0x0804, 0xb6fb, 0x90b2, 0x0040, 0x1a04, + 0xb7fd, 0x2008, 0x0002, 0xb795, 0xb796, 0xb799, 0xb79c, 0xb79f, + 0xb7a2, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, + 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, + 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, + 0xb793, 0xb7a5, 0xb7b2, 0xb793, 0xb7b4, 0xb7b2, 0xb793, 0xb793, + 0xb793, 0xb793, 0xb793, 0xb7b2, 0xb7b2, 0xb793, 0xb793, 0xb793, + 0xb793, 0xb793, 0xb793, 0xb793, 0xb793, 0xb7e4, 0xb7b2, 0xb793, + 0xb7ae, 0xb793, 0xb793, 0xb793, 0xb7af, 0xb793, 0xb793, 0xb793, + 0xb7b2, 0xb7db, 0xb793, 0x080c, 0x0dd5, 0x00e0, 0x2001, 0x000b, + 0x0420, 0x2001, 0x0003, 0x0408, 0x2001, 0x0005, 0x00f0, 0x2001, + 0x0001, 0x00d8, 0x2001, 0x0009, 0x00c0, 0x080c, 0x959a, 0x6003, + 0x0005, 0x080c, 0xd272, 0x080c, 0x96a6, 0x0070, 0x0018, 0x0010, + 0x080c, 0x6566, 0x0804, 0xb7f5, 0x080c, 0x959a, 0x080c, 0xd272, + 0x6003, 0x0004, 0x080c, 0x96a6, 0x0005, 0x080c, 0x6566, 0x080c, + 0x959a, 0x6003, 0x0002, 0x0036, 0x2019, 0x1852, 0x2304, 0x9084, + 0xff00, 0x1120, 0x2001, 0x1985, 0x201c, 0x0040, 0x8007, 0x909a, + 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, 0x003e, + 0x080c, 0x96a6, 0x0c08, 0x080c, 0x959a, 0x080c, 0xcfcc, 0x080c, + 0xae5f, 0x080c, 0x96a6, 0x08c0, 0x00e6, 0x00f6, 0x2071, 0x189e, + 0x2079, 0x0000, 0x080c, 0x3563, 0x00fe, 0x00ee, 0x080c, 0x959a, + 0x080c, 0xae5f, 0x080c, 0x96a6, 0x0838, 0x080c, 0x959a, 0x6003, + 0x0002, 0x080c, 0xd272, 0x0804, 0x96a6, 0x2600, 0x2008, 0x0002, + 0xb814, 0xb7f5, 0xb812, 0xb7f5, 0xb7f5, 0xb812, 0xb812, 0xb812, + 0xb812, 0xb7f5, 0xb812, 0xb7f5, 0xb812, 0xb7f5, 0xb812, 0xb812, + 0xb812, 0xb812, 0x080c, 0x0dd5, 0x080c, 0x959a, 0x0096, 0x6014, + 0x2048, 0x080c, 0x6c94, 0x009e, 0x080c, 0xae5f, 0x080c, 0x96a6, + 0x0005, 0x00e6, 0x0096, 0x0026, 0x0016, 0x080c, 0xcb5a, 0x0568, + 0x6014, 0x2048, 0xa864, 0x9086, 0x0139, 0x11a8, 0xa894, 0x9086, + 0x0056, 0x1148, 0x080c, 0x548b, 0x0130, 0x2001, 0x0000, 0x900e, + 0x2011, 0x4000, 0x0028, 0x2001, 0x0030, 0x900e, 0x2011, 0x4005, + 0x080c, 0xd139, 0x0090, 0xa868, 0xd0fc, 0x0178, 0xa807, 0x0000, + 0x0016, 0x6004, 0x908e, 0x0021, 0x0168, 0x908e, 0x003d, 0x0150, + 0x001e, 0xa867, 0x0103, 0xa833, 0x0100, 0x001e, 0x002e, 0x009e, + 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc0, 0x0096, 0x6014, 0x2048, + 0xa800, 0x2048, 0xa867, 0x0103, 0xa823, 0x8001, 0x009e, 0x0005, + 0x00b6, 0x6610, 0x2658, 0xb804, 0x9084, 0x00ff, 0x90b2, 0x000c, + 0x1a0c, 0x0dd5, 0x6604, 0x96b6, 0x004d, 0x1120, 0x080c, 0xd058, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x0043, 0x1120, 0x080c, 0xd0a1, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x004b, 0x1120, 0x080c, 0xd0cd, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x0033, 0x1120, 0x080c, 0xcfee, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x0028, 0x1120, 0x080c, 0xcd9e, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x0029, 0x1120, 0x080c, 0xcddf, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x001f, 0x1120, 0x080c, 0xb238, + 0x0804, 0xb8ed, 0x6604, 0x96b6, 0x0000, 0x1118, 0x080c, 0xb583, + 0x04e0, 0x6604, 0x96b6, 0x0022, 0x1118, 0x080c, 0xb271, 0x04a8, + 0x6604, 0x96b6, 0x0035, 0x1118, 0x080c, 0xb397, 0x0470, 0x6604, + 0x96b6, 0x0039, 0x1118, 0x080c, 0xb518, 0x0438, 0x6604, 0x96b6, + 0x003d, 0x1118, 0x080c, 0xb2a9, 0x0400, 0x6604, 0x96b6, 0x0044, + 0x1118, 0x080c, 0xb2e5, 0x00c8, 0x6604, 0x96b6, 0x0049, 0x1118, + 0x080c, 0xb326, 0x0090, 0x6604, 0x96b6, 0x0041, 0x1118, 0x080c, + 0xb310, 0x0058, 0x91b6, 0x0015, 0x1110, 0x0063, 0x0030, 0x91b6, + 0x0016, 0x1128, 0x00be, 0x0804, 0xbb49, 0x00be, 0x0005, 0x080c, + 0xaef5, 0x0cd8, 0xb90a, 0xb90d, 0xb90a, 0xb954, 0xb90a, 0xbabd, + 0xbb56, 0xb90a, 0xb90a, 0xbb1f, 0xb90a, 0xbb35, 0x0096, 0x601f, + 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0x009e, + 0x0804, 0xae5f, 0xa001, 0xa001, 0x0005, 0x00e6, 0x2071, 0x1800, + 0x7090, 0x9086, 0x0074, 0x1540, 0x080c, 0xe2f7, 0x11b0, 0x6010, + 0x00b6, 0x2058, 0x7030, 0xd08c, 0x0128, 0xb800, 0xd0bc, 0x0110, + 0xc0c5, 0xb802, 0x00f9, 0x00be, 0x2001, 0x0006, 0x080c, 0x6566, + 0x080c, 0x31f5, 0x080c, 0xae5f, 0x0098, 0x2001, 0x000a, 0x080c, + 0x6566, 0x080c, 0x31f5, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, + 0x9140, 0x080c, 0x96a6, 0x0020, 0x2001, 0x0001, 0x080c, 0xba8d, + 0x00ee, 0x0005, 0x00d6, 0xb800, 0xd084, 0x0160, 0x9006, 0x080c, + 0x6552, 0x2069, 0x1847, 0x6804, 0xd0a4, 0x0120, 0x2001, 0x0006, + 0x080c, 0x6592, 0x00de, 0x0005, 0x00b6, 0x0096, 0x00d6, 0x2011, + 0x1824, 0x2204, 0x9086, 0x0074, 0x1904, 0xba62, 0x6010, 0x2058, + 0xbaa0, 0x9286, 0x007e, 0x1120, 0x080c, 0xbca3, 0x0804, 0xb9c6, + 0x080c, 0xbc98, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x0080, 0x1510, + 0x6014, 0x9005, 0x01a8, 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, - 0xd129, 0x0060, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0029, 0x0130, - 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, 0x009e, 0x080c, - 0x31ea, 0x6020, 0x9086, 0x000a, 0x0140, 0x080c, 0xae71, 0x0028, - 0x080c, 0xb824, 0x9006, 0x080c, 0xba90, 0x001e, 0x002e, 0x00ee, - 0x00be, 0x0005, 0x2011, 0x1824, 0x2204, 0x9086, 0x0014, 0x1160, - 0x2001, 0x0002, 0x080c, 0x6558, 0x6003, 0x0001, 0x6007, 0x0001, - 0x080c, 0x9121, 0x0804, 0x9687, 0x2001, 0x0001, 0x0804, 0xba90, - 0x2030, 0x2011, 0x1824, 0x2204, 0x9086, 0x0004, 0x1148, 0x96b6, - 0x000b, 0x1120, 0x2001, 0x0007, 0x080c, 0x6558, 0x0804, 0xae71, - 0x2001, 0x0001, 0x0804, 0xba90, 0x0002, 0xb90d, 0xbb64, 0xb90d, - 0xbba5, 0xb90d, 0xbc52, 0xbb59, 0xb90d, 0xb90d, 0xbc66, 0xb90d, - 0xbc78, 0x6604, 0x9686, 0x0003, 0x0904, 0xbac0, 0x96b6, 0x001e, - 0x1110, 0x080c, 0xae71, 0x0005, 0x00b6, 0x00d6, 0x00c6, 0x080c, - 0xbc8a, 0x11a0, 0x9006, 0x080c, 0x6544, 0x080c, 0x31c1, 0x080c, - 0xd25f, 0x2001, 0x0002, 0x080c, 0x6558, 0x6003, 0x0001, 0x6007, - 0x0002, 0x080c, 0x9121, 0x080c, 0x9687, 0x0418, 0x2009, 0x026e, - 0x2104, 0x9086, 0x0009, 0x1160, 0x6010, 0x2058, 0xb840, 0x9084, - 0x00ff, 0x9005, 0x0170, 0x8001, 0xb842, 0x601b, 0x000a, 0x0088, - 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x1900, 0x1108, - 0x08a0, 0x080c, 0x31c1, 0x080c, 0xd25f, 0x2001, 0x0001, 0x080c, - 0xba90, 0x00ce, 0x00de, 0x00be, 0x0005, 0x0096, 0x00b6, 0x0026, - 0x9016, 0x080c, 0xbc98, 0x00d6, 0x2069, 0x197b, 0x2d04, 0x9005, - 0x0168, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x2069, - 0x1820, 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, 0x00de, 0x0088, - 0x9006, 0x080c, 0x6544, 0x2001, 0x0002, 0x080c, 0x6558, 0x6003, - 0x0001, 0x6007, 0x0002, 0x080c, 0x9121, 0x080c, 0x9687, 0x0804, - 0xbc22, 0x080c, 0xcb4a, 0x01b0, 0x6014, 0x2048, 0xa864, 0x2010, - 0x9086, 0x0139, 0x1138, 0x6007, 0x0016, 0x2001, 0x0002, 0x080c, - 0xd183, 0x00b0, 0x6014, 0x2048, 0xa864, 0xd0fc, 0x0118, 0x2001, - 0x0001, 0x0ca8, 0x2001, 0x180e, 0x2004, 0xd0dc, 0x0148, 0x6010, - 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x1110, 0x9006, 0x0c38, - 0x080c, 0xb824, 0x2009, 0x026e, 0x2134, 0x96b4, 0x00ff, 0x9686, - 0x0005, 0x0520, 0x9686, 0x000b, 0x01c8, 0x2009, 0x026f, 0x2104, - 0x9084, 0xff00, 0x1118, 0x9686, 0x0009, 0x01c0, 0x9086, 0x1900, - 0x1168, 0x9686, 0x0009, 0x0190, 0x2001, 0x0004, 0x080c, 0x6558, - 0x2001, 0x0028, 0x601a, 0x6007, 0x0052, 0x0020, 0x2001, 0x0001, - 0x080c, 0xba90, 0x002e, 0x00be, 0x009e, 0x0005, 0x9286, 0x0139, - 0x0160, 0x6014, 0x2048, 0x080c, 0xcb4a, 0x0140, 0xa864, 0x9086, - 0x0139, 0x0118, 0xa868, 0xd0fc, 0x0108, 0x0c40, 0x6010, 0x2058, - 0xb840, 0x9084, 0x00ff, 0x9005, 0x0138, 0x8001, 0xb842, 0x601b, - 0x000a, 0x6007, 0x0016, 0x08f0, 0xb8a0, 0x9086, 0x007e, 0x1138, - 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fb6, 0x00ee, 0x0010, 0x080c, - 0x31c1, 0x0860, 0x080c, 0xbc98, 0x1160, 0x2001, 0x0004, 0x080c, - 0x6558, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x9121, 0x0804, - 0x9687, 0x080c, 0xb824, 0x9006, 0x0804, 0xba90, 0x0489, 0x1160, - 0x2001, 0x0008, 0x080c, 0x6558, 0x6003, 0x0001, 0x6007, 0x0005, - 0x080c, 0x9121, 0x0804, 0x9687, 0x2001, 0x0001, 0x0804, 0xba90, - 0x00f9, 0x1160, 0x2001, 0x000a, 0x080c, 0x6558, 0x6003, 0x0001, - 0x6007, 0x0001, 0x080c, 0x9121, 0x0804, 0x9687, 0x2001, 0x0001, - 0x0804, 0xba90, 0x2009, 0x026e, 0x2104, 0x9086, 0x0003, 0x1138, - 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x2a00, 0x0005, - 0x9085, 0x0001, 0x0005, 0x00b6, 0x00c6, 0x0016, 0x6110, 0x2158, - 0x080c, 0x6617, 0x001e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x00f6, - 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6010, 0x2058, 0x2009, 0x1837, - 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, 0xbd3e, 0x0560, 0x2009, - 0x1837, 0x2104, 0xc0cd, 0x200a, 0x080c, 0x6977, 0x0158, 0x9006, - 0x2020, 0x2009, 0x002a, 0x080c, 0xe5cf, 0x2001, 0x180c, 0x200c, - 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0001, 0x080c, 0x318c, - 0x00e6, 0x2071, 0x1800, 0x080c, 0x2f98, 0x00ee, 0x00c6, 0x0156, - 0x20a9, 0x0781, 0x2009, 0x007f, 0x080c, 0x32bd, 0x8108, 0x1f04, - 0xbcdc, 0x015e, 0x00ce, 0x080c, 0xbc9b, 0x2071, 0x0260, 0x2079, - 0x0200, 0x7817, 0x0001, 0x2001, 0x1837, 0x200c, 0xc1c5, 0x7018, - 0xd0fc, 0x0110, 0xd0dc, 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, - 0x7817, 0x0000, 0x2001, 0x1837, 0x2102, 0x2079, 0x0100, 0x2e04, - 0x9084, 0x00ff, 0x2069, 0x181f, 0x206a, 0x78e6, 0x0006, 0x8e70, - 0x2e04, 0x2069, 0x1820, 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, - 0x9084, 0xff00, 0x001e, 0x9105, 0x2009, 0x182c, 0x200a, 0x2200, - 0x9084, 0x00ff, 0x2008, 0x080c, 0x2889, 0x080c, 0x73a5, 0x0170, - 0x2071, 0x0260, 0x2069, 0x1981, 0x7048, 0x206a, 0x704c, 0x6806, - 0x7050, 0x680a, 0x7054, 0x680e, 0x080c, 0xcf5e, 0x0040, 0x2001, - 0x0006, 0x080c, 0x6558, 0x080c, 0x31ea, 0x080c, 0xae71, 0x001e, - 0x003e, 0x00de, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x0096, 0x0026, - 0x0036, 0x00e6, 0x0156, 0x2019, 0x182c, 0x231c, 0x83ff, 0x01f0, - 0x2071, 0x0260, 0x7200, 0x9294, 0x00ff, 0x7004, 0x9084, 0xff00, - 0x9205, 0x9306, 0x1198, 0x2011, 0x0276, 0x20a9, 0x0004, 0x2b48, - 0x2019, 0x000a, 0x080c, 0xbe30, 0x1148, 0x2011, 0x027a, 0x20a9, - 0x0004, 0x2019, 0x0006, 0x080c, 0xbe30, 0x1100, 0x015e, 0x00ee, - 0x003e, 0x002e, 0x009e, 0x0005, 0x00e6, 0x2071, 0x0260, 0x7034, - 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, 0x0800, 0x1188, 0x703c, - 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, 0x0100, 0x1138, 0x7054, - 0xd0a4, 0x1110, 0xd0ac, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, - 0x00ee, 0x0005, 0x00e6, 0x0096, 0x00c6, 0x0076, 0x0056, 0x0046, - 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2029, 0x19ef, 0x252c, - 0x2021, 0x19f5, 0x2424, 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7254, - 0x7074, 0x9202, 0x1a04, 0xbdfc, 0x080c, 0x896a, 0x0904, 0xbdf5, - 0x080c, 0xe600, 0x0904, 0xbdf5, 0x6720, 0x9786, 0x0007, 0x0904, - 0xbdf5, 0x2500, 0x9c06, 0x0904, 0xbdf5, 0x2400, 0x9c06, 0x05e8, - 0x3e08, 0x9186, 0x0002, 0x1148, 0x6010, 0x9005, 0x0130, 0x00b6, - 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1580, 0x00c6, 0x6000, 0x9086, - 0x0004, 0x1110, 0x080c, 0x1a60, 0x9786, 0x000a, 0x0148, 0x080c, - 0xcd50, 0x1130, 0x00ce, 0x080c, 0xb824, 0x080c, 0xaea2, 0x00e8, - 0x6014, 0x2048, 0x080c, 0xcb4a, 0x01a8, 0x9786, 0x0003, 0x1530, - 0xa867, 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, - 0x080c, 0x0fb1, 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c7a, - 0x080c, 0xcd33, 0x080c, 0xaea2, 0x00ce, 0x9ce0, 0x0018, 0x7068, - 0x9c02, 0x1210, 0x0804, 0xbd9f, 0x012e, 0x000e, 0x002e, 0x004e, - 0x005e, 0x007e, 0x00ce, 0x009e, 0x00ee, 0x0005, 0x9786, 0x0006, - 0x1118, 0x080c, 0xe572, 0x0c30, 0x9786, 0x0009, 0x1148, 0x6000, - 0x9086, 0x0004, 0x0d08, 0x2009, 0x004c, 0x080c, 0xaeec, 0x08e0, - 0x9786, 0x000a, 0x0938, 0x0820, 0x220c, 0x2304, 0x9106, 0x1130, - 0x8210, 0x8318, 0x1f04, 0xbe1c, 0x9006, 0x0005, 0x2304, 0x9102, - 0x0218, 0x2001, 0x0001, 0x0008, 0x9006, 0x918d, 0x0001, 0x0005, - 0x0136, 0x01c6, 0x0016, 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, - 0x21e0, 0x9084, 0xffc0, 0x9300, 0x2098, 0x3518, 0x20a9, 0x0001, - 0x220c, 0x4002, 0x910e, 0x1140, 0x8210, 0x8319, 0x1dc8, 0x9006, - 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, 0x9102, 0x0218, 0x2001, - 0x0001, 0x0010, 0x2001, 0x0000, 0x918d, 0x0001, 0x001e, 0x01ce, - 0x013e, 0x0005, 0x220c, 0x810f, 0x2304, 0x9106, 0x1130, 0x8210, - 0x8318, 0x1f04, 0xbe5a, 0x9006, 0x0005, 0x918d, 0x0001, 0x0005, - 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0dd5, 0x080c, 0xcd3f, 0x0120, - 0x080c, 0xcd50, 0x0168, 0x0028, 0x080c, 0x31ea, 0x080c, 0xcd50, - 0x0138, 0x080c, 0x957b, 0x080c, 0xae71, 0x080c, 0x9687, 0x0005, - 0x080c, 0xb824, 0x0cb0, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, - 0x0208, 0x000a, 0x0005, 0xbe9f, 0xbe9f, 0xbe9f, 0xbe9f, 0xbe9f, - 0xbe9f, 0xbe9f, 0xbe9f, 0xbe9f, 0xbe9f, 0xbe9f, 0xbea1, 0xbea1, - 0xbea1, 0xbea1, 0xbe9f, 0xbe9f, 0xbe9f, 0xbea1, 0xbe9f, 0x080c, - 0x0dd5, 0x600b, 0xffff, 0x6003, 0x0001, 0x6106, 0x080c, 0x90d9, - 0x0126, 0x2091, 0x8000, 0x080c, 0x9687, 0x012e, 0x0005, 0x9186, - 0x0013, 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, 0xbf56, 0x9186, - 0x0027, 0x1520, 0x080c, 0x957b, 0x080c, 0x31c1, 0x080c, 0xd25f, - 0x0096, 0x6114, 0x2148, 0x080c, 0xcb4a, 0x0198, 0x080c, 0xcd50, - 0x1118, 0x080c, 0xb824, 0x0068, 0xa867, 0x0103, 0xa87b, 0x0029, - 0xa877, 0x0000, 0xa97c, 0xc1c5, 0xa97e, 0x080c, 0x6c86, 0x080c, - 0xcd33, 0x009e, 0x080c, 0xae71, 0x0804, 0x9687, 0x9186, 0x0014, - 0x1120, 0x6004, 0x9082, 0x0040, 0x04a0, 0x9186, 0x0046, 0x0150, - 0x9186, 0x0045, 0x0138, 0x9186, 0x0053, 0x0120, 0x9186, 0x0048, - 0x190c, 0x0dd5, 0x2001, 0x0109, 0x2004, 0xd084, 0x0508, 0x0126, - 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x0036, 0x00f6, 0x00e6, - 0x00c6, 0x2079, 0x19e6, 0x2071, 0x1800, 0x2061, 0x0100, 0x080c, - 0x8fbe, 0x00ce, 0x00ee, 0x00fe, 0x003e, 0x002e, 0x001e, 0x000e, - 0x012e, 0xa001, 0x6000, 0x9086, 0x0002, 0x1110, 0x0804, 0xbf94, - 0x0005, 0x0002, 0xbf30, 0xbf2e, 0xbf2e, 0xbf2e, 0xbf2e, 0xbf2e, - 0xbf2e, 0xbf2e, 0xbf2e, 0xbf2e, 0xbf2e, 0xbf4b, 0xbf4b, 0xbf4b, - 0xbf4b, 0xbf2e, 0xbf4b, 0xbf2e, 0xbf4b, 0xbf2e, 0x080c, 0x0dd5, - 0x080c, 0x957b, 0x0096, 0x6114, 0x2148, 0x080c, 0xcb4a, 0x0168, - 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ec, - 0xa882, 0x080c, 0x6c86, 0x080c, 0xcd33, 0x009e, 0x080c, 0xae71, - 0x080c, 0x9687, 0x0005, 0x080c, 0x957b, 0x080c, 0xcd50, 0x090c, - 0xb824, 0x080c, 0xae71, 0x080c, 0x9687, 0x0005, 0x0002, 0xbf6d, - 0xbf6b, 0xbf6b, 0xbf6b, 0xbf6b, 0xbf6b, 0xbf6b, 0xbf6b, 0xbf6b, - 0xbf6b, 0xbf6b, 0xbf84, 0xbf84, 0xbf84, 0xbf84, 0xbf6b, 0xbf8e, - 0xbf6b, 0xbf84, 0xbf6b, 0x080c, 0x0dd5, 0x0096, 0x080c, 0x957b, - 0x6014, 0x2048, 0x2001, 0x1987, 0x2004, 0x6042, 0xa97c, 0xd1ac, - 0x0140, 0x6003, 0x0004, 0xa87c, 0x9085, 0x0400, 0xa87e, 0x009e, - 0x0005, 0x6003, 0x0002, 0x0cb8, 0x080c, 0x957b, 0x080c, 0xd262, - 0x080c, 0xd267, 0x6003, 0x000f, 0x0804, 0x9687, 0x080c, 0x957b, - 0x080c, 0xae71, 0x0804, 0x9687, 0x9182, 0x0054, 0x1220, 0x9182, - 0x0040, 0x0208, 0x000a, 0x0005, 0xbfb0, 0xbfb0, 0xbfb0, 0xbfb0, - 0xbfb0, 0xbfb2, 0xc08f, 0xbfb0, 0xc0c3, 0xbfb0, 0xbfb0, 0xbfb0, - 0xbfb0, 0xbfb0, 0xbfb0, 0xbfb0, 0xbfb0, 0xbfb0, 0xbfb0, 0xc0c3, - 0x080c, 0x0dd5, 0x00b6, 0x0096, 0x6114, 0x2148, 0x7644, 0x96b4, - 0x0fff, 0x86ff, 0x1528, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, - 0xc07e, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0xa87c, 0xd0ac, - 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xc258, 0x080c, 0x6aa2, - 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x7044, - 0xd0e4, 0x1904, 0xc062, 0x080c, 0xae71, 0x009e, 0x00be, 0x0005, - 0x968c, 0x0c00, 0x0150, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, - 0xc066, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, - 0x0002, 0x0508, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00e8, - 0xd6dc, 0x01a0, 0xa87b, 0x0015, 0xa87c, 0xd0ac, 0x0170, 0xa938, - 0xaa34, 0x2100, 0x9205, 0x0148, 0x7048, 0x9106, 0x1118, 0x704c, - 0x9206, 0x0118, 0xa992, 0xaa8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, - 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, - 0x901e, 0xd6c4, 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, - 0x1118, 0xc6c4, 0x0804, 0xbfb9, 0x735c, 0xab86, 0x83ff, 0x0170, - 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, - 0x0018, 0x2011, 0x0025, 0x080c, 0xc743, 0x003e, 0xd6cc, 0x0904, - 0xbfce, 0x7154, 0xa98a, 0x81ff, 0x0904, 0xbfce, 0x9192, 0x0021, - 0x1278, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xc743, - 0x2011, 0x0205, 0x2013, 0x0000, 0x080c, 0xd1ef, 0x0804, 0xbfce, - 0xa868, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c50, 0x00a6, - 0x2950, 0x080c, 0xc6e2, 0x00ae, 0x080c, 0xd1ef, 0x080c, 0xc733, - 0x0804, 0xbfd0, 0x080c, 0xce48, 0x0804, 0xbfdd, 0xa87c, 0xd0ac, - 0x0904, 0xbfe9, 0xa880, 0xd0bc, 0x1904, 0xbfe9, 0x7348, 0xa838, - 0x9306, 0x11c8, 0x734c, 0xa834, 0x931e, 0x0904, 0xbfe9, 0xd6d4, - 0x0190, 0xab38, 0x9305, 0x0904, 0xbfe9, 0x0068, 0xa87c, 0xd0ac, - 0x0904, 0xbfc1, 0xa838, 0xa934, 0x9105, 0x0904, 0xbfc1, 0xa880, - 0xd0bc, 0x1904, 0xbfc1, 0x080c, 0xce82, 0x0804, 0xbfdd, 0x0096, - 0x00f6, 0x6003, 0x0003, 0x6007, 0x0043, 0x2079, 0x026c, 0x7c04, - 0x7b00, 0x7e0c, 0x7d08, 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0140, - 0x6003, 0x0002, 0x00fe, 0x009e, 0x0005, 0x2130, 0x2228, 0x0058, - 0x2400, 0xa9ac, 0x910a, 0x2300, 0xaab0, 0x9213, 0x2600, 0x9102, - 0x2500, 0x9203, 0x0e90, 0xac36, 0xab3a, 0xae46, 0xad4a, 0x00fe, - 0x6043, 0x0000, 0x2c10, 0x080c, 0x1baf, 0x080c, 0x913e, 0x080c, - 0x97b5, 0x009e, 0x0005, 0x0005, 0x9182, 0x0054, 0x1220, 0x9182, - 0x0040, 0x0208, 0x000a, 0x0005, 0xc0e0, 0xc0e0, 0xc0e0, 0xc0e0, - 0xc0e0, 0xc0e2, 0xc178, 0xc0e0, 0xc0e0, 0xc18f, 0xc21b, 0xc0e0, - 0xc0e0, 0xc0e0, 0xc0e0, 0xc230, 0xc0e0, 0xc0e0, 0xc0e0, 0xc0e0, + 0xd139, 0x0030, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, + 0x2001, 0x0006, 0x080c, 0x6566, 0x080c, 0x31f5, 0x080c, 0xae5f, + 0x0804, 0xba67, 0x080c, 0xba75, 0x6014, 0x9005, 0x0190, 0x2048, + 0xa868, 0xd0f4, 0x01e8, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, + 0x1d08, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xd139, + 0x08f8, 0x080c, 0xba6b, 0x0160, 0x9006, 0x080c, 0x6552, 0x2001, + 0x0004, 0x080c, 0x6592, 0x2001, 0x0007, 0x080c, 0x6566, 0x08a0, + 0x2001, 0x0004, 0x080c, 0x6566, 0x6003, 0x0001, 0x6007, 0x0003, + 0x080c, 0x9140, 0x080c, 0x96a6, 0x0804, 0xba67, 0xb85c, 0xd0e4, + 0x01d8, 0x080c, 0xcf6e, 0x080c, 0x73b3, 0x0118, 0xd0dc, 0x1904, + 0xb988, 0x2011, 0x1837, 0x2204, 0xc0ad, 0x2012, 0x2001, 0x196c, + 0x2004, 0x00f6, 0x2079, 0x0100, 0x78e3, 0x0000, 0x080c, 0x28bf, + 0x78e2, 0x00fe, 0x0804, 0xb988, 0x080c, 0xcfab, 0x2011, 0x1837, + 0x2204, 0xc0a5, 0x2012, 0x0006, 0x080c, 0xe47c, 0x000e, 0x1904, + 0xb988, 0xc0b5, 0x2012, 0x2001, 0x0006, 0x080c, 0x6566, 0x9006, + 0x080c, 0x6552, 0x00c6, 0x2001, 0x180f, 0x2004, 0xd09c, 0x0520, + 0x00f6, 0x2079, 0x0100, 0x00e6, 0x2071, 0x1800, 0x700c, 0x9084, + 0x00ff, 0x78e6, 0x707e, 0x7010, 0x78ea, 0x7082, 0x908c, 0x00ff, + 0x00ee, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x2894, 0x00f6, + 0x2100, 0x900e, 0x080c, 0x284b, 0x795e, 0x00fe, 0x9186, 0x0081, + 0x01d8, 0x2009, 0x0081, 0x00c8, 0x2009, 0x00ef, 0x00f6, 0x2079, + 0x0100, 0x79ea, 0x7932, 0x7936, 0x780c, 0xc0b5, 0x780e, 0x00fe, + 0x080c, 0x2894, 0x00f6, 0x2079, 0x1800, 0x7982, 0x2100, 0x900e, + 0x080c, 0x284b, 0x795e, 0x00fe, 0x8108, 0x080c, 0x65b5, 0x2b00, + 0x00ce, 0x1904, 0xb988, 0x6012, 0x2009, 0x180f, 0x210c, 0xd19c, + 0x0150, 0x2009, 0x027c, 0x210c, 0x918c, 0x00ff, 0xb912, 0x2009, + 0x027d, 0x210c, 0xb916, 0x2001, 0x0002, 0x080c, 0x6566, 0x6023, + 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9140, 0x080c, + 0x96a6, 0x0028, 0x080c, 0xb821, 0x2001, 0x0001, 0x0431, 0x00de, + 0x009e, 0x00be, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0a4, 0x0120, + 0x2001, 0x1848, 0x2004, 0xd0ac, 0x0005, 0x00e6, 0x080c, 0xe9ab, + 0x0190, 0x2071, 0x0260, 0x7108, 0x720c, 0x918c, 0x00ff, 0x1118, + 0x9284, 0xff00, 0x0140, 0x6010, 0x2058, 0xb8a0, 0x9084, 0xff80, + 0x1110, 0xb912, 0xba16, 0x00ee, 0x0005, 0x2030, 0x9005, 0x0158, + 0x2001, 0x0007, 0x080c, 0x6566, 0x080c, 0x56f6, 0x1120, 0x2001, + 0x0007, 0x080c, 0x6592, 0x2600, 0x9005, 0x11b0, 0x6014, 0x0096, + 0x2048, 0xa868, 0x009e, 0xd0fc, 0x1178, 0x0036, 0x0046, 0x6010, + 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, 0x0004, 0x2011, 0x8014, + 0x080c, 0x4b1e, 0x004e, 0x003e, 0x080c, 0x31f5, 0x6020, 0x9086, + 0x000a, 0x1108, 0x0005, 0x0804, 0xae5f, 0x00b6, 0x00e6, 0x0026, + 0x0016, 0x2071, 0x1800, 0x7090, 0x9086, 0x0014, 0x1904, 0xbb15, + 0x080c, 0x56f6, 0x1170, 0x6014, 0x9005, 0x1158, 0x0036, 0x0046, + 0x6010, 0x2058, 0xbba0, 0x2021, 0x0006, 0x080c, 0x4cd5, 0x004e, + 0x003e, 0x00d6, 0x6010, 0x2058, 0x080c, 0x66b1, 0x080c, 0xb942, + 0x00de, 0x080c, 0xbd69, 0x1588, 0x6010, 0x2058, 0xb890, 0x9005, + 0x0560, 0x2001, 0x0006, 0x080c, 0x6566, 0x0096, 0x6014, 0x904d, + 0x01d0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, + 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xd139, 0x0060, 0xa864, + 0x9084, 0x00ff, 0x9086, 0x0029, 0x0130, 0xa807, 0x0000, 0xa867, + 0x0103, 0xa833, 0x0200, 0x009e, 0x080c, 0x31f5, 0x6020, 0x9086, + 0x000a, 0x0140, 0x080c, 0xae5f, 0x0028, 0x080c, 0xb821, 0x9006, + 0x080c, 0xba8d, 0x001e, 0x002e, 0x00ee, 0x00be, 0x0005, 0x2011, + 0x1824, 0x2204, 0x9086, 0x0014, 0x1160, 0x2001, 0x0002, 0x080c, + 0x6566, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9140, 0x0804, + 0x96a6, 0x2001, 0x0001, 0x0804, 0xba8d, 0x2030, 0x2011, 0x1824, + 0x2204, 0x9086, 0x0004, 0x1148, 0x96b6, 0x000b, 0x1120, 0x2001, + 0x0007, 0x080c, 0x6566, 0x0804, 0xae5f, 0x2001, 0x0001, 0x0804, + 0xba8d, 0x0002, 0xb90a, 0xbb61, 0xb90a, 0xbba2, 0xb90a, 0xbc4f, + 0xbb56, 0xb90a, 0xb90a, 0xbc63, 0xb90a, 0xbc75, 0x6604, 0x9686, + 0x0003, 0x0904, 0xbabd, 0x96b6, 0x001e, 0x1110, 0x080c, 0xae5f, + 0x0005, 0x00b6, 0x00d6, 0x00c6, 0x080c, 0xbc87, 0x11a0, 0x9006, + 0x080c, 0x6552, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x2001, 0x0002, + 0x080c, 0x6566, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9140, + 0x080c, 0x96a6, 0x0418, 0x2009, 0x026e, 0x2104, 0x9086, 0x0009, + 0x1160, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0170, + 0x8001, 0xb842, 0x601b, 0x000a, 0x0088, 0x2009, 0x026f, 0x2104, + 0x9084, 0xff00, 0x9086, 0x1900, 0x1108, 0x08a0, 0x080c, 0x31cc, + 0x080c, 0xd26f, 0x2001, 0x0001, 0x080c, 0xba8d, 0x00ce, 0x00de, + 0x00be, 0x0005, 0x0096, 0x00b6, 0x0026, 0x9016, 0x080c, 0xbc95, + 0x00d6, 0x2069, 0x197b, 0x2d04, 0x9005, 0x0168, 0x6010, 0x2058, + 0xb8a0, 0x9086, 0x007e, 0x1138, 0x2069, 0x1820, 0x2d04, 0x8000, + 0x206a, 0x00de, 0x0010, 0x00de, 0x0088, 0x9006, 0x080c, 0x6552, + 0x2001, 0x0002, 0x080c, 0x6566, 0x6003, 0x0001, 0x6007, 0x0002, + 0x080c, 0x9140, 0x080c, 0x96a6, 0x0804, 0xbc1f, 0x080c, 0xcb5a, + 0x01b0, 0x6014, 0x2048, 0xa864, 0x2010, 0x9086, 0x0139, 0x1138, + 0x6007, 0x0016, 0x2001, 0x0002, 0x080c, 0xd193, 0x00b0, 0x6014, + 0x2048, 0xa864, 0xd0fc, 0x0118, 0x2001, 0x0001, 0x0ca8, 0x2001, + 0x180e, 0x2004, 0xd0dc, 0x0148, 0x6010, 0x2058, 0xb840, 0x9084, + 0x00ff, 0x9005, 0x1110, 0x9006, 0x0c38, 0x080c, 0xb821, 0x2009, + 0x026e, 0x2134, 0x96b4, 0x00ff, 0x9686, 0x0005, 0x0520, 0x9686, + 0x000b, 0x01c8, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x1118, + 0x9686, 0x0009, 0x01c0, 0x9086, 0x1900, 0x1168, 0x9686, 0x0009, + 0x0190, 0x2001, 0x0004, 0x080c, 0x6566, 0x2001, 0x0028, 0x601a, + 0x6007, 0x0052, 0x0020, 0x2001, 0x0001, 0x080c, 0xba8d, 0x002e, + 0x00be, 0x009e, 0x0005, 0x9286, 0x0139, 0x0160, 0x6014, 0x2048, + 0x080c, 0xcb5a, 0x0140, 0xa864, 0x9086, 0x0139, 0x0118, 0xa868, + 0xd0fc, 0x0108, 0x0c40, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, + 0x9005, 0x0138, 0x8001, 0xb842, 0x601b, 0x000a, 0x6007, 0x0016, + 0x08f0, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x00e6, 0x2071, 0x1800, + 0x080c, 0x5fc0, 0x00ee, 0x0010, 0x080c, 0x31cc, 0x0860, 0x080c, + 0xbc95, 0x1160, 0x2001, 0x0004, 0x080c, 0x6566, 0x6003, 0x0001, + 0x6007, 0x0003, 0x080c, 0x9140, 0x0804, 0x96a6, 0x080c, 0xb821, + 0x9006, 0x0804, 0xba8d, 0x0489, 0x1160, 0x2001, 0x0008, 0x080c, + 0x6566, 0x6003, 0x0001, 0x6007, 0x0005, 0x080c, 0x9140, 0x0804, + 0x96a6, 0x2001, 0x0001, 0x0804, 0xba8d, 0x00f9, 0x1160, 0x2001, + 0x000a, 0x080c, 0x6566, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, + 0x9140, 0x0804, 0x96a6, 0x2001, 0x0001, 0x0804, 0xba8d, 0x2009, + 0x026e, 0x2104, 0x9086, 0x0003, 0x1138, 0x2009, 0x026f, 0x2104, + 0x9084, 0xff00, 0x9086, 0x2a00, 0x0005, 0x9085, 0x0001, 0x0005, + 0x00b6, 0x00c6, 0x0016, 0x6110, 0x2158, 0x080c, 0x6625, 0x001e, + 0x00ce, 0x00be, 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x00d6, 0x0036, + 0x0016, 0x6010, 0x2058, 0x2009, 0x1837, 0x2104, 0x9085, 0x0003, + 0x200a, 0x080c, 0xbd3b, 0x0560, 0x2009, 0x1837, 0x2104, 0xc0cd, + 0x200a, 0x080c, 0x6985, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, + 0x080c, 0xe5e9, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, + 0x002a, 0x2009, 0x0001, 0x080c, 0x3197, 0x00e6, 0x2071, 0x1800, + 0x080c, 0x2fa3, 0x00ee, 0x00c6, 0x0156, 0x20a9, 0x0781, 0x2009, + 0x007f, 0x080c, 0x32c8, 0x8108, 0x1f04, 0xbcd9, 0x015e, 0x00ce, + 0x080c, 0xbc98, 0x2071, 0x0260, 0x2079, 0x0200, 0x7817, 0x0001, + 0x2001, 0x1837, 0x200c, 0xc1c5, 0x7018, 0xd0fc, 0x0110, 0xd0dc, + 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, 0x7817, 0x0000, 0x2001, + 0x1837, 0x2102, 0x2079, 0x0100, 0x2e04, 0x9084, 0x00ff, 0x2069, + 0x181f, 0x206a, 0x78e6, 0x0006, 0x8e70, 0x2e04, 0x2069, 0x1820, + 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, 0x9084, 0xff00, 0x001e, + 0x9105, 0x2009, 0x182c, 0x200a, 0x2200, 0x9084, 0x00ff, 0x2008, + 0x080c, 0x2894, 0x080c, 0x73b3, 0x0170, 0x2071, 0x0260, 0x2069, + 0x1981, 0x7048, 0x206a, 0x704c, 0x6806, 0x7050, 0x680a, 0x7054, + 0x680e, 0x080c, 0xcf6e, 0x0040, 0x2001, 0x0006, 0x080c, 0x6566, + 0x080c, 0x31f5, 0x080c, 0xae5f, 0x001e, 0x003e, 0x00de, 0x00ee, + 0x00fe, 0x00be, 0x0005, 0x0096, 0x0026, 0x0036, 0x00e6, 0x0156, + 0x2019, 0x182c, 0x231c, 0x83ff, 0x01f0, 0x2071, 0x0260, 0x7200, + 0x9294, 0x00ff, 0x7004, 0x9084, 0xff00, 0x9205, 0x9306, 0x1198, + 0x2011, 0x0276, 0x20a9, 0x0004, 0x2b48, 0x2019, 0x000a, 0x080c, + 0xbe2d, 0x1148, 0x2011, 0x027a, 0x20a9, 0x0004, 0x2019, 0x0006, + 0x080c, 0xbe2d, 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, 0x009e, + 0x0005, 0x00e6, 0x2071, 0x0260, 0x7034, 0x9086, 0x0014, 0x11a8, + 0x7038, 0x9086, 0x0800, 0x1188, 0x703c, 0xd0ec, 0x0160, 0x9084, + 0x0f00, 0x9086, 0x0100, 0x1138, 0x7054, 0xd0a4, 0x1110, 0xd0ac, + 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, + 0x0096, 0x00c6, 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2029, 0x19ef, 0x252c, 0x2021, 0x19f5, 0x2424, + 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7254, 0x7074, 0x9202, 0x1a04, + 0xbdf9, 0x080c, 0x8987, 0x0904, 0xbdf2, 0x080c, 0xe61a, 0x0904, + 0xbdf2, 0x6720, 0x9786, 0x0007, 0x0904, 0xbdf2, 0x2500, 0x9c06, + 0x0904, 0xbdf2, 0x2400, 0x9c06, 0x05e8, 0x3e08, 0x9186, 0x0002, + 0x1148, 0x6010, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x1580, 0x00c6, 0x6000, 0x9086, 0x0004, 0x1110, 0x080c, + 0x1a70, 0x9786, 0x000a, 0x0148, 0x080c, 0xcd60, 0x1130, 0x00ce, + 0x080c, 0xb821, 0x080c, 0xae90, 0x00e8, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x01a8, 0x9786, 0x0003, 0x1530, 0xa867, 0x0103, 0xa87c, + 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fb1, 0x009e, + 0xab7a, 0xa877, 0x0000, 0x080c, 0x6c88, 0x080c, 0xcd43, 0x080c, + 0xae90, 0x00ce, 0x9ce0, 0x0018, 0x7068, 0x9c02, 0x1210, 0x0804, + 0xbd9c, 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, + 0x009e, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, 0x080c, 0xe58c, + 0x0c30, 0x9786, 0x0009, 0x1148, 0x6000, 0x9086, 0x0004, 0x0d08, + 0x2009, 0x004c, 0x080c, 0xaeda, 0x08e0, 0x9786, 0x000a, 0x0938, + 0x0820, 0x220c, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, + 0xbe19, 0x9006, 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, + 0x0008, 0x9006, 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, 0x0016, + 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, + 0x9300, 0x2098, 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, 0x910e, + 0x1140, 0x8210, 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, 0x013e, + 0x0005, 0x220c, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, + 0x0000, 0x918d, 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, + 0x810f, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xbe57, + 0x9006, 0x0005, 0x918d, 0x0001, 0x0005, 0x6004, 0x908a, 0x0053, + 0x1a0c, 0x0dd5, 0x080c, 0xcd4f, 0x0120, 0x080c, 0xcd60, 0x0168, + 0x0028, 0x080c, 0x31f5, 0x080c, 0xcd60, 0x0138, 0x080c, 0x959a, + 0x080c, 0xae5f, 0x080c, 0x96a6, 0x0005, 0x080c, 0xb821, 0x0cb0, + 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, + 0xbe9c, 0xbe9c, 0xbe9c, 0xbe9c, 0xbe9c, 0xbe9c, 0xbe9c, 0xbe9c, + 0xbe9c, 0xbe9c, 0xbe9c, 0xbe9e, 0xbe9e, 0xbe9e, 0xbe9e, 0xbe9c, + 0xbe9c, 0xbe9c, 0xbe9e, 0xbe9c, 0x080c, 0x0dd5, 0x600b, 0xffff, + 0x6003, 0x0001, 0x6106, 0x080c, 0x90f8, 0x0126, 0x2091, 0x8000, + 0x080c, 0x96a6, 0x012e, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, + 0x9082, 0x0040, 0x0804, 0xbf53, 0x9186, 0x0027, 0x1520, 0x080c, + 0x959a, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x0096, 0x6114, 0x2148, + 0x080c, 0xcb5a, 0x0198, 0x080c, 0xcd60, 0x1118, 0x080c, 0xb821, + 0x0068, 0xa867, 0x0103, 0xa87b, 0x0029, 0xa877, 0x0000, 0xa97c, + 0xc1c5, 0xa97e, 0x080c, 0x6c94, 0x080c, 0xcd43, 0x009e, 0x080c, + 0xae5f, 0x0804, 0x96a6, 0x9186, 0x0014, 0x1120, 0x6004, 0x9082, + 0x0040, 0x04a0, 0x9186, 0x0046, 0x0150, 0x9186, 0x0045, 0x0138, + 0x9186, 0x0053, 0x0120, 0x9186, 0x0048, 0x190c, 0x0dd5, 0x2001, + 0x0109, 0x2004, 0xd084, 0x0508, 0x0126, 0x2091, 0x2800, 0x0006, + 0x0016, 0x0026, 0x0036, 0x00f6, 0x00e6, 0x00c6, 0x2079, 0x19e6, + 0x2071, 0x1800, 0x2061, 0x0100, 0x080c, 0x8fdd, 0x00ce, 0x00ee, + 0x00fe, 0x003e, 0x002e, 0x001e, 0x000e, 0x012e, 0xa001, 0x6000, + 0x9086, 0x0002, 0x1110, 0x0804, 0xbf91, 0x0005, 0x0002, 0xbf2d, + 0xbf2b, 0xbf2b, 0xbf2b, 0xbf2b, 0xbf2b, 0xbf2b, 0xbf2b, 0xbf2b, + 0xbf2b, 0xbf2b, 0xbf48, 0xbf48, 0xbf48, 0xbf48, 0xbf2b, 0xbf48, + 0xbf2b, 0xbf48, 0xbf2b, 0x080c, 0x0dd5, 0x080c, 0x959a, 0x0096, + 0x6114, 0x2148, 0x080c, 0xcb5a, 0x0168, 0xa867, 0x0103, 0xa87b, + 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ec, 0xa882, 0x080c, 0x6c94, + 0x080c, 0xcd43, 0x009e, 0x080c, 0xae5f, 0x080c, 0x96a6, 0x0005, + 0x080c, 0x959a, 0x080c, 0xcd60, 0x090c, 0xb821, 0x080c, 0xae5f, + 0x080c, 0x96a6, 0x0005, 0x0002, 0xbf6a, 0xbf68, 0xbf68, 0xbf68, + 0xbf68, 0xbf68, 0xbf68, 0xbf68, 0xbf68, 0xbf68, 0xbf68, 0xbf81, + 0xbf81, 0xbf81, 0xbf81, 0xbf68, 0xbf8b, 0xbf68, 0xbf81, 0xbf68, + 0x080c, 0x0dd5, 0x0096, 0x080c, 0x959a, 0x6014, 0x2048, 0x2001, + 0x1987, 0x2004, 0x6042, 0xa97c, 0xd1ac, 0x0140, 0x6003, 0x0004, + 0xa87c, 0x9085, 0x0400, 0xa87e, 0x009e, 0x0005, 0x6003, 0x0002, + 0x0cb8, 0x080c, 0x959a, 0x080c, 0xd272, 0x080c, 0xd277, 0x6003, + 0x000f, 0x0804, 0x96a6, 0x080c, 0x959a, 0x080c, 0xae5f, 0x0804, + 0x96a6, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, + 0x0005, 0xbfad, 0xbfad, 0xbfad, 0xbfad, 0xbfad, 0xbfaf, 0xc08c, + 0xbfad, 0xc0c0, 0xbfad, 0xbfad, 0xbfad, 0xbfad, 0xbfad, 0xbfad, + 0xbfad, 0xbfad, 0xbfad, 0xbfad, 0xc0c0, 0x080c, 0x0dd5, 0x00b6, + 0x0096, 0x6114, 0x2148, 0x7644, 0x96b4, 0x0fff, 0x86ff, 0x1528, + 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xc07b, 0xa87b, 0x0000, + 0xa867, 0x0103, 0xae76, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, + 0x9115, 0x190c, 0xc255, 0x080c, 0x6ab0, 0x6210, 0x2258, 0xba3c, + 0x82ff, 0x0110, 0x8211, 0xba3e, 0x7044, 0xd0e4, 0x1904, 0xc05f, + 0x080c, 0xae5f, 0x009e, 0x00be, 0x0005, 0x968c, 0x0c00, 0x0150, + 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xc063, 0x7348, 0xab92, + 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0508, 0x9186, + 0x0028, 0x1118, 0xa87b, 0x001c, 0x00e8, 0xd6dc, 0x01a0, 0xa87b, + 0x0015, 0xa87c, 0xd0ac, 0x0170, 0xa938, 0xaa34, 0x2100, 0x9205, + 0x0148, 0x7048, 0x9106, 0x1118, 0x704c, 0x9206, 0x0118, 0xa992, + 0xaa8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, + 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0x901e, 0xd6c4, 0x01d8, + 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, 0x0804, + 0xbfb6, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, + 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, + 0x080c, 0xc743, 0x003e, 0xd6cc, 0x0904, 0xbfcb, 0x7154, 0xa98a, + 0x81ff, 0x0904, 0xbfcb, 0x9192, 0x0021, 0x1278, 0x8304, 0x9098, + 0x0018, 0x2011, 0x0029, 0x080c, 0xc743, 0x2011, 0x0205, 0x2013, + 0x0000, 0x080c, 0xd1ff, 0x0804, 0xbfcb, 0xa868, 0xd0fc, 0x0120, + 0x2009, 0x0020, 0xa98a, 0x0c50, 0x00a6, 0x2950, 0x080c, 0xc6e2, + 0x00ae, 0x080c, 0xd1ff, 0x080c, 0xc733, 0x0804, 0xbfcd, 0x080c, + 0xce58, 0x0804, 0xbfda, 0xa87c, 0xd0ac, 0x0904, 0xbfe6, 0xa880, + 0xd0bc, 0x1904, 0xbfe6, 0x7348, 0xa838, 0x9306, 0x11c8, 0x734c, + 0xa834, 0x931e, 0x0904, 0xbfe6, 0xd6d4, 0x0190, 0xab38, 0x9305, + 0x0904, 0xbfe6, 0x0068, 0xa87c, 0xd0ac, 0x0904, 0xbfbe, 0xa838, + 0xa934, 0x9105, 0x0904, 0xbfbe, 0xa880, 0xd0bc, 0x1904, 0xbfbe, + 0x080c, 0xce92, 0x0804, 0xbfda, 0x0096, 0x00f6, 0x6003, 0x0003, + 0x6007, 0x0043, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, + 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0140, 0x6003, 0x0002, 0x00fe, + 0x009e, 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0xa9ac, 0x910a, + 0x2300, 0xaab0, 0x9213, 0x2600, 0x9102, 0x2500, 0x9203, 0x0e90, + 0xac36, 0xab3a, 0xae46, 0xad4a, 0x00fe, 0x6043, 0x0000, 0x2c10, + 0x080c, 0x1bba, 0x080c, 0x915d, 0x080c, 0x97d4, 0x009e, 0x0005, + 0x0005, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, + 0x0005, 0xc0dd, 0xc0dd, 0xc0dd, 0xc0dd, 0xc0dd, 0xc0df, 0xc175, + 0xc0dd, 0xc0dd, 0xc18c, 0xc218, 0xc0dd, 0xc0dd, 0xc0dd, 0xc0dd, + 0xc22d, 0xc0dd, 0xc0dd, 0xc0dd, 0xc0dd, 0x080c, 0x0dd5, 0x0076, + 0x00a6, 0x00e6, 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, 0x7644, + 0xb676, 0x96b4, 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, + 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, + 0x0904, 0xc170, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, + 0xb092, 0x704c, 0xb08e, 0x9284, 0x0300, 0x0904, 0xc170, 0x080c, + 0x0fff, 0x090c, 0x0dd5, 0x2900, 0xb07a, 0xb77c, 0xc7cd, 0xb77e, + 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, + 0xae76, 0x968c, 0x0c00, 0x0120, 0x7348, 0xab92, 0x734c, 0xab8e, + 0x968c, 0x00ff, 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, + 0xa87b, 0x001c, 0x0060, 0xd6dc, 0x0118, 0xa87b, 0x0015, 0x0038, + 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xaf7e, + 0xb080, 0xa882, 0xb084, 0xa886, 0x901e, 0xd6c4, 0x0190, 0x735c, + 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, + 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, 0xc743, + 0x003e, 0xd6cc, 0x01e8, 0x7154, 0xa98a, 0x81ff, 0x01c8, 0x9192, + 0x0021, 0x1260, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, + 0xc743, 0x2011, 0x0205, 0x2013, 0x0000, 0x0050, 0xb068, 0xd0fc, + 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c68, 0x2950, 0x080c, 0xc6e2, + 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, 0x00f6, 0x00a6, 0x6003, + 0x0003, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x6014, + 0x2050, 0xb436, 0xb33a, 0xb646, 0xb54a, 0x00ae, 0x00fe, 0x2c10, + 0x080c, 0x1bba, 0x0804, 0xa25c, 0x6003, 0x0002, 0x6004, 0x9086, + 0x0040, 0x11c8, 0x0096, 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0160, + 0x601c, 0xd084, 0x1130, 0x00f6, 0x2c00, 0x2078, 0x080c, 0x1727, + 0x00fe, 0x6003, 0x0004, 0x0010, 0x6003, 0x0002, 0x009e, 0x080c, + 0x959a, 0x080c, 0x96a6, 0x0096, 0x2001, 0x1987, 0x2004, 0x6042, + 0x080c, 0x9656, 0x080c, 0x97d4, 0x6114, 0x2148, 0xa97c, 0xd1e4, + 0x0904, 0xc213, 0xd1cc, 0x05a8, 0xa978, 0xa868, 0xd0fc, 0x0538, + 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x0019, 0x20a0, 0x810e, 0x810e, 0x810f, 0x9184, 0x003f, + 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0019, 0x2098, 0x0156, 0x20a9, + 0x0020, 0x4003, 0x015e, 0x000e, 0xa882, 0x000e, 0xa87e, 0x001e, + 0xa874, 0x0006, 0x2148, 0x080c, 0x0fb1, 0x001e, 0x0440, 0x0016, + 0x080c, 0x0fb1, 0x009e, 0xa974, 0x0016, 0x080c, 0xc733, 0x001e, + 0x00f0, 0xa867, 0x0103, 0xa974, 0x9184, 0x00ff, 0x90b6, 0x0002, + 0x0180, 0x9086, 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, 0xd1dc, + 0x0118, 0xa87b, 0x0015, 0x0038, 0xd1d4, 0x0118, 0xa87b, 0x0007, + 0x0010, 0xa87b, 0x0000, 0x0016, 0x080c, 0x6ab0, 0x001e, 0xd1e4, + 0x1120, 0x080c, 0xae5f, 0x009e, 0x0005, 0x080c, 0xce58, 0x0cd8, + 0x6004, 0x9086, 0x0040, 0x1120, 0x080c, 0x959a, 0x080c, 0x96a6, + 0x2019, 0x0001, 0x080c, 0xa5c8, 0x6003, 0x0002, 0x080c, 0xd277, + 0x080c, 0x9656, 0x080c, 0x97d4, 0x0005, 0x6004, 0x9086, 0x0040, + 0x1120, 0x080c, 0x959a, 0x080c, 0x96a6, 0x2019, 0x0001, 0x080c, + 0xa5c8, 0x080c, 0x9656, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x0096, + 0x6114, 0x2148, 0x080c, 0xcb5a, 0x0150, 0xa867, 0x0103, 0xa87b, + 0x0029, 0xa877, 0x0000, 0x080c, 0x6c94, 0x080c, 0xcd43, 0x009e, + 0x080c, 0xae5f, 0x080c, 0x97d4, 0x0005, 0xa87b, 0x0015, 0xd1fc, + 0x0180, 0xa87b, 0x0007, 0x8002, 0x8000, 0x810a, 0x9189, 0x0000, + 0x0006, 0x0016, 0x2009, 0x1a79, 0x2104, 0x8000, 0x200a, 0x001e, + 0x000e, 0xa992, 0xa88e, 0x0005, 0x9182, 0x0054, 0x1220, 0x9182, + 0x0040, 0x0208, 0x000a, 0x0005, 0xc288, 0xc288, 0xc288, 0xc288, + 0xc288, 0xc28a, 0xc288, 0xc288, 0xc330, 0xc288, 0xc288, 0xc288, + 0xc288, 0xc288, 0xc288, 0xc288, 0xc288, 0xc288, 0xc288, 0xc461, 0x080c, 0x0dd5, 0x0076, 0x00a6, 0x00e6, 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, 0x7644, 0xb676, 0x96b4, 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, - 0xba3e, 0x00be, 0x86ff, 0x0904, 0xc173, 0x9694, 0xff00, 0x9284, + 0xba3e, 0x00be, 0x86ff, 0x0904, 0xc329, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0xb092, 0x704c, 0xb08e, 0x9284, 0x0300, - 0x0904, 0xc173, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0x2900, 0xb07a, - 0xb77c, 0xc7cd, 0xb77e, 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, - 0xa86e, 0xb070, 0xa872, 0xae76, 0x968c, 0x0c00, 0x0120, 0x7348, - 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0180, - 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, 0xd6dc, 0x0118, - 0xa87b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, - 0xa87b, 0x0000, 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, 0x901e, - 0xd6c4, 0x0190, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, - 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, - 0x0025, 0x080c, 0xc743, 0x003e, 0xd6cc, 0x01e8, 0x7154, 0xa98a, - 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, 0x0018, - 0x2011, 0x0029, 0x080c, 0xc743, 0x2011, 0x0205, 0x2013, 0x0000, - 0x0050, 0xb068, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c68, - 0x2950, 0x080c, 0xc6e2, 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, - 0x00f6, 0x00a6, 0x6003, 0x0003, 0x2079, 0x026c, 0x7c04, 0x7b00, - 0x7e0c, 0x7d08, 0x6014, 0x2050, 0xb436, 0xb33a, 0xb646, 0xb54a, - 0x00ae, 0x00fe, 0x2c10, 0x080c, 0x1baf, 0x0804, 0xa241, 0x6003, - 0x0002, 0x6004, 0x9086, 0x0040, 0x11c8, 0x0096, 0x6014, 0x2048, - 0xa87c, 0xd0ac, 0x0160, 0x601c, 0xd084, 0x1130, 0x00f6, 0x2c00, - 0x2078, 0x080c, 0x1727, 0x00fe, 0x6003, 0x0004, 0x0010, 0x6003, - 0x0002, 0x009e, 0x080c, 0x957b, 0x080c, 0x9687, 0x0096, 0x2001, - 0x1987, 0x2004, 0x6042, 0x080c, 0x9637, 0x080c, 0x97b5, 0x6114, - 0x2148, 0xa97c, 0xd1e4, 0x0904, 0xc216, 0xd1cc, 0x05a8, 0xa978, - 0xa868, 0xd0fc, 0x0538, 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, - 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, 0x20a0, 0x810e, 0x810e, - 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0019, - 0x2098, 0x0156, 0x20a9, 0x0020, 0x4003, 0x015e, 0x000e, 0xa882, - 0x000e, 0xa87e, 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, 0x0fb1, - 0x001e, 0x0440, 0x0016, 0x080c, 0x0fb1, 0x009e, 0xa974, 0x0016, - 0x080c, 0xc733, 0x001e, 0x00f0, 0xa867, 0x0103, 0xa974, 0x9184, - 0x00ff, 0x90b6, 0x0002, 0x0180, 0x9086, 0x0028, 0x1118, 0xa87b, - 0x001c, 0x0060, 0xd1dc, 0x0118, 0xa87b, 0x0015, 0x0038, 0xd1d4, - 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0x0016, 0x080c, - 0x6aa2, 0x001e, 0xd1e4, 0x1120, 0x080c, 0xae71, 0x009e, 0x0005, - 0x080c, 0xce48, 0x0cd8, 0x6004, 0x9086, 0x0040, 0x1120, 0x080c, - 0x957b, 0x080c, 0x9687, 0x2019, 0x0001, 0x080c, 0xa5b7, 0x6003, - 0x0002, 0x080c, 0xd267, 0x080c, 0x9637, 0x080c, 0x97b5, 0x0005, - 0x6004, 0x9086, 0x0040, 0x1120, 0x080c, 0x957b, 0x080c, 0x9687, - 0x2019, 0x0001, 0x080c, 0xa5b7, 0x080c, 0x9637, 0x080c, 0x31c1, - 0x080c, 0xd25f, 0x0096, 0x6114, 0x2148, 0x080c, 0xcb4a, 0x0150, - 0xa867, 0x0103, 0xa87b, 0x0029, 0xa877, 0x0000, 0x080c, 0x6c86, - 0x080c, 0xcd33, 0x009e, 0x080c, 0xae71, 0x080c, 0x97b5, 0x0005, - 0xa87b, 0x0015, 0xd1fc, 0x0180, 0xa87b, 0x0007, 0x8002, 0x8000, - 0x810a, 0x9189, 0x0000, 0x0006, 0x0016, 0x2009, 0x1a79, 0x2104, - 0x8000, 0x200a, 0x001e, 0x000e, 0xa992, 0xa88e, 0x0005, 0x9182, - 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xc28b, - 0xc28b, 0xc28b, 0xc28b, 0xc28b, 0xc28d, 0xc28b, 0xc28b, 0xc333, - 0xc28b, 0xc28b, 0xc28b, 0xc28b, 0xc28b, 0xc28b, 0xc28b, 0xc28b, - 0xc28b, 0xc28b, 0xc464, 0x080c, 0x0dd5, 0x0076, 0x00a6, 0x00e6, - 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, 0x7644, 0xb676, 0x96b4, - 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, 0x2258, 0xba3c, - 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, 0x0904, 0xc32c, - 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0xb092, 0x704c, - 0xb08e, 0x9284, 0x0300, 0x0904, 0xc32c, 0x9686, 0x0100, 0x1130, - 0x7064, 0x9005, 0x1118, 0xc6c4, 0xb676, 0x0c38, 0x080c, 0x0fff, - 0x090c, 0x0dd5, 0x2900, 0xb07a, 0xb77c, 0x97bd, 0x0200, 0xb77e, - 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, - 0x7044, 0x9084, 0xf000, 0x9635, 0xae76, 0x968c, 0x0c00, 0x0120, - 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, - 0x0180, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, 0xd6dc, - 0x0118, 0xa87b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, - 0x0010, 0xa87b, 0x0000, 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, - 0x901e, 0xd6c4, 0x0190, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, - 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, - 0x2011, 0x0025, 0x080c, 0xc743, 0x003e, 0xd6cc, 0x01e8, 0x7154, - 0xa98a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, - 0x0018, 0x2011, 0x0029, 0x080c, 0xc743, 0x2011, 0x0205, 0x2013, - 0x0000, 0x0050, 0xb068, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, - 0x0c68, 0x2950, 0x080c, 0xc6e2, 0x080c, 0x1a3e, 0x009e, 0x00ee, - 0x00ae, 0x007e, 0x0005, 0x2001, 0x1987, 0x2004, 0x6042, 0x0096, - 0x6114, 0x2148, 0xa83c, 0xa940, 0x9105, 0x1118, 0xa87c, 0xc0dc, - 0xa87e, 0x6003, 0x0002, 0xa97c, 0xd1e4, 0x0904, 0xc45f, 0x6043, - 0x0000, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1500, - 0xd1cc, 0x0904, 0xc42e, 0xa978, 0xa868, 0xd0fc, 0x0904, 0xc3ef, - 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, 0x00a6, 0x2150, 0xb174, - 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0904, 0xc3bd, 0x9086, 0x0028, - 0x1904, 0xc3a9, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x0804, 0xc3c5, - 0x6024, 0xd0f4, 0x11d0, 0xa838, 0xaa34, 0x9205, 0x09c8, 0xa838, - 0xaa90, 0x9206, 0x1120, 0xa88c, 0xaa34, 0x9206, 0x0988, 0x6024, - 0xd0d4, 0x1148, 0xa9ac, 0xa834, 0x9102, 0x603a, 0xa9b0, 0xa838, - 0x9103, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x6010, 0x00b6, 0x2058, - 0xb83c, 0x8000, 0xb83e, 0x00be, 0x9006, 0xa876, 0xa892, 0xa88e, - 0xa87c, 0xc0e4, 0xa87e, 0xd0cc, 0x0140, 0xc0cc, 0xa87e, 0x0096, - 0xa878, 0x2048, 0x080c, 0x0fb1, 0x009e, 0x080c, 0xce82, 0x0804, - 0xc45f, 0xd1dc, 0x0158, 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, - 0xd112, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, - 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, - 0xa834, 0xa938, 0x9115, 0x190c, 0xc258, 0xa87c, 0xb07e, 0xa890, - 0xb092, 0xa88c, 0xb08e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, - 0x20a0, 0x20a9, 0x0020, 0x8a06, 0x8006, 0x8007, 0x9094, 0x003f, - 0x22e0, 0x9084, 0xffc0, 0x9080, 0x0019, 0x2098, 0x4003, 0x00ae, - 0x000e, 0xa882, 0x000e, 0xa87e, 0x080c, 0xd1ef, 0x001e, 0xa874, - 0x0006, 0x2148, 0x080c, 0x0fb1, 0x001e, 0x0804, 0xc45b, 0x0016, - 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01e0, - 0x9086, 0x0028, 0x1128, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x00e0, - 0xd1dc, 0x0158, 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, 0xd112, - 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, - 0x0007, 0xb07b, 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, - 0xa938, 0x9115, 0x190c, 0xc258, 0xa890, 0xb092, 0xa88c, 0xb08e, - 0xa87c, 0xb07e, 0x00ae, 0x080c, 0x0fb1, 0x009e, 0x080c, 0xd1ef, - 0xa974, 0x0016, 0x080c, 0xc733, 0x001e, 0x0468, 0xa867, 0x0103, - 0xa974, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01b0, 0x9086, 0x0028, - 0x1118, 0xa87b, 0x001c, 0x00d0, 0xd1dc, 0x0148, 0xa87b, 0x0015, - 0x080c, 0xd112, 0x0118, 0xa974, 0xc1dc, 0xa976, 0x0078, 0xd1d4, - 0x0118, 0xa87b, 0x0007, 0x0050, 0xa87b, 0x0000, 0xa87c, 0xd0ac, - 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xc258, 0xa974, 0x0016, - 0x080c, 0x6aa2, 0x001e, 0xd1e4, 0x1120, 0x080c, 0xae71, 0x009e, - 0x0005, 0x080c, 0xce48, 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, - 0xd1e4, 0x190c, 0x1a4c, 0x009e, 0x0005, 0x080c, 0x957b, 0x0010, - 0x080c, 0x9637, 0x080c, 0xcb4a, 0x01f0, 0x0096, 0x6114, 0x2148, - 0x080c, 0xcd50, 0x1118, 0x080c, 0xb824, 0x00a0, 0xa867, 0x0103, - 0x2009, 0x180c, 0x210c, 0xd18c, 0x11b8, 0xd184, 0x1190, 0x6108, - 0xa97a, 0x918e, 0x0029, 0x1110, 0x080c, 0xe929, 0xa877, 0x0000, - 0x080c, 0x6c86, 0x009e, 0x080c, 0xae71, 0x080c, 0x9687, 0x0804, - 0x97b5, 0xa87b, 0x0004, 0x0c90, 0xa87b, 0x0004, 0x0c78, 0x9182, - 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xc4bb, - 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bd, 0xc4bb, 0xc4bb, 0xc4bb, - 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bb, 0xc4bb, - 0xc4bb, 0xc4bb, 0xc4bb, 0x080c, 0x0dd5, 0x080c, 0x56e0, 0x01f8, - 0x6014, 0x7144, 0x918c, 0x0fff, 0x9016, 0xd1c4, 0x0118, 0x7264, - 0x9294, 0x00ff, 0x0096, 0x904d, 0x0188, 0xa87b, 0x0000, 0xa864, - 0x9086, 0x0139, 0x0128, 0xa867, 0x0103, 0xa976, 0xaa96, 0x0030, - 0xa897, 0x4000, 0xa99a, 0xaa9e, 0x080c, 0x6c86, 0x009e, 0x0804, - 0xae71, 0x9182, 0x0085, 0x0002, 0xc4f3, 0xc4f1, 0xc4f1, 0xc4ff, - 0xc4f1, 0xc4f1, 0xc4f1, 0xc4f1, 0xc4f1, 0xc4f1, 0xc4f1, 0xc4f1, - 0xc4f1, 0x080c, 0x0dd5, 0x6003, 0x0001, 0x6106, 0x080c, 0x90d9, - 0x0126, 0x2091, 0x8000, 0x080c, 0x9687, 0x012e, 0x0005, 0x0026, - 0x0056, 0x00d6, 0x00e6, 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, - 0x080c, 0xcb38, 0x01a0, 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, - 0x6010, 0x6d10, 0x952e, 0x1158, 0x00c6, 0x2d60, 0x080c, 0xc76e, - 0x00ce, 0x0128, 0x6803, 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, - 0x0087, 0x6003, 0x0001, 0x080c, 0x90d9, 0x080c, 0x9687, 0x9280, - 0x0004, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, 0x6824, - 0xd0ec, 0x0128, 0x00c6, 0x2260, 0x080c, 0xce82, 0x00ce, 0x00ee, + 0x0904, 0xc329, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, + 0xc6c4, 0xb676, 0x0c38, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0x2900, + 0xb07a, 0xb77c, 0x97bd, 0x0200, 0xb77e, 0xa867, 0x0103, 0xb068, + 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, 0x7044, 0x9084, 0xf000, + 0x9635, 0xae76, 0x968c, 0x0c00, 0x0120, 0x7348, 0xab92, 0x734c, + 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, + 0x1118, 0xa87b, 0x001c, 0x0060, 0xd6dc, 0x0118, 0xa87b, 0x0015, + 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, + 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, 0x901e, 0xd6c4, 0x0190, + 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, + 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, + 0xc743, 0x003e, 0xd6cc, 0x01e8, 0x7154, 0xa98a, 0x81ff, 0x01c8, + 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, + 0x080c, 0xc743, 0x2011, 0x0205, 0x2013, 0x0000, 0x0050, 0xb068, + 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c68, 0x2950, 0x080c, + 0xc6e2, 0x080c, 0x1a3e, 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, + 0x2001, 0x1987, 0x2004, 0x6042, 0x0096, 0x6114, 0x2148, 0xa83c, + 0xa940, 0x9105, 0x1118, 0xa87c, 0xc0dc, 0xa87e, 0x6003, 0x0002, + 0xa97c, 0xd1e4, 0x0904, 0xc45c, 0x6043, 0x0000, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1500, 0xd1cc, 0x0904, 0xc42b, + 0xa978, 0xa868, 0xd0fc, 0x0904, 0xc3ec, 0x0016, 0xa87c, 0x0006, + 0xa880, 0x0006, 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, 0x90b6, + 0x0002, 0x0904, 0xc3ba, 0x9086, 0x0028, 0x1904, 0xc3a6, 0xa87b, + 0x001c, 0xb07b, 0x001c, 0x0804, 0xc3c2, 0x6024, 0xd0f4, 0x11d0, + 0xa838, 0xaa34, 0x9205, 0x09c8, 0xa838, 0xaa90, 0x9206, 0x1120, + 0xa88c, 0xaa34, 0x9206, 0x0988, 0x6024, 0xd0d4, 0x1148, 0xa9ac, + 0xa834, 0x9102, 0x603a, 0xa9b0, 0xa838, 0x9103, 0x603e, 0x6024, + 0xc0f5, 0x6026, 0x6010, 0x00b6, 0x2058, 0xb83c, 0x8000, 0xb83e, + 0x00be, 0x9006, 0xa876, 0xa892, 0xa88e, 0xa87c, 0xc0e4, 0xa87e, + 0xd0cc, 0x0140, 0xc0cc, 0xa87e, 0x0096, 0xa878, 0x2048, 0x080c, + 0x0fb1, 0x009e, 0x080c, 0xce92, 0x0804, 0xc45c, 0xd1dc, 0x0158, + 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, 0xd122, 0x0118, 0xb174, + 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, + 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, + 0x190c, 0xc255, 0xa87c, 0xb07e, 0xa890, 0xb092, 0xa88c, 0xb08e, + 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, 0x20a0, 0x20a9, 0x0020, + 0x8a06, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e0, 0x9084, 0xffc0, + 0x9080, 0x0019, 0x2098, 0x4003, 0x00ae, 0x000e, 0xa882, 0x000e, + 0xa87e, 0x080c, 0xd1ff, 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, + 0x0fb1, 0x001e, 0x0804, 0xc458, 0x0016, 0x00a6, 0x2150, 0xb174, + 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01e0, 0x9086, 0x0028, 0x1128, + 0xa87b, 0x001c, 0xb07b, 0x001c, 0x00e0, 0xd1dc, 0x0158, 0xa87b, + 0x0015, 0xb07b, 0x0015, 0x080c, 0xd122, 0x0118, 0xb174, 0xc1dc, + 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, + 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, + 0xc255, 0xa890, 0xb092, 0xa88c, 0xb08e, 0xa87c, 0xb07e, 0x00ae, + 0x080c, 0x0fb1, 0x009e, 0x080c, 0xd1ff, 0xa974, 0x0016, 0x080c, + 0xc733, 0x001e, 0x0468, 0xa867, 0x0103, 0xa974, 0x9184, 0x00ff, + 0x90b6, 0x0002, 0x01b0, 0x9086, 0x0028, 0x1118, 0xa87b, 0x001c, + 0x00d0, 0xd1dc, 0x0148, 0xa87b, 0x0015, 0x080c, 0xd122, 0x0118, + 0xa974, 0xc1dc, 0xa976, 0x0078, 0xd1d4, 0x0118, 0xa87b, 0x0007, + 0x0050, 0xa87b, 0x0000, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, + 0x9115, 0x190c, 0xc255, 0xa974, 0x0016, 0x080c, 0x6ab0, 0x001e, + 0xd1e4, 0x1120, 0x080c, 0xae5f, 0x009e, 0x0005, 0x080c, 0xce58, + 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, 0xd1e4, 0x190c, 0x1a5c, + 0x009e, 0x0005, 0x080c, 0x959a, 0x0010, 0x080c, 0x9656, 0x080c, + 0xcb5a, 0x01f0, 0x0096, 0x6114, 0x2148, 0x080c, 0xcd60, 0x1118, + 0x080c, 0xb821, 0x00a0, 0xa867, 0x0103, 0x2009, 0x180c, 0x210c, + 0xd18c, 0x11b8, 0xd184, 0x1190, 0x6108, 0xa97a, 0x918e, 0x0029, + 0x1110, 0x080c, 0xe943, 0xa877, 0x0000, 0x080c, 0x6c94, 0x009e, + 0x080c, 0xae5f, 0x080c, 0x96a6, 0x0804, 0x97d4, 0xa87b, 0x0004, + 0x0c90, 0xa87b, 0x0004, 0x0c78, 0x9182, 0x0054, 0x1220, 0x9182, + 0x0040, 0x0208, 0x000a, 0x0005, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, + 0xc4b8, 0xc4ba, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, + 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, 0xc4b8, + 0x080c, 0x0dd5, 0x080c, 0x56ea, 0x01f8, 0x6014, 0x7144, 0x918c, + 0x0fff, 0x9016, 0xd1c4, 0x0118, 0x7264, 0x9294, 0x00ff, 0x0096, + 0x904d, 0x0188, 0xa87b, 0x0000, 0xa864, 0x9086, 0x0139, 0x0128, + 0xa867, 0x0103, 0xa976, 0xaa96, 0x0030, 0xa897, 0x4000, 0xa99a, + 0xaa9e, 0x080c, 0x6c94, 0x009e, 0x0804, 0xae5f, 0x9182, 0x0085, + 0x0002, 0xc4f0, 0xc4ee, 0xc4ee, 0xc4fc, 0xc4ee, 0xc4ee, 0xc4ee, + 0xc4ee, 0xc4ee, 0xc4ee, 0xc4ee, 0xc4ee, 0xc4ee, 0x080c, 0x0dd5, + 0x6003, 0x0001, 0x6106, 0x080c, 0x90f8, 0x0126, 0x2091, 0x8000, + 0x080c, 0x96a6, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, 0x00e6, + 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xcb48, 0x01a0, + 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, 0x6010, 0x6d10, 0x952e, + 0x1158, 0x00c6, 0x2d60, 0x080c, 0xc76e, 0x00ce, 0x0128, 0x6803, + 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, 0x0001, + 0x080c, 0x90f8, 0x080c, 0x96a6, 0x7220, 0x080c, 0xcb48, 0x0178, + 0x6810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, 0x6824, + 0xd0ec, 0x0128, 0x00c6, 0x2d60, 0x080c, 0xce92, 0x00ce, 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0dd5, 0x908a, 0x0092, 0x1a0c, 0x0dd5, 0x9082, 0x0085, 0x00e2, 0x9186, 0x0027, 0x0120, 0x9186, 0x0014, - 0x190c, 0x0dd5, 0x080c, 0x957b, 0x0096, 0x6014, 0x2048, 0x080c, - 0xcb4a, 0x0140, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, - 0x080c, 0x6c86, 0x009e, 0x080c, 0xaea2, 0x0804, 0x9687, 0xc574, + 0x190c, 0x0dd5, 0x080c, 0x959a, 0x0096, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x0140, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, + 0x080c, 0x6c94, 0x009e, 0x080c, 0xae90, 0x0804, 0x96a6, 0xc574, 0xc576, 0xc576, 0xc574, 0xc574, 0xc574, 0xc574, 0xc574, 0xc574, - 0xc574, 0xc574, 0xc574, 0xc574, 0x080c, 0x0dd5, 0x080c, 0x957b, - 0x080c, 0xaea2, 0x080c, 0x9687, 0x0005, 0x9186, 0x0013, 0x1128, + 0xc574, 0xc574, 0xc574, 0xc574, 0x080c, 0x0dd5, 0x080c, 0x959a, + 0x080c, 0xae90, 0x080c, 0x96a6, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, 0x04b8, 0x9186, 0x0027, 0x11f8, - 0x080c, 0x957b, 0x080c, 0x31c1, 0x080c, 0xd25f, 0x0096, 0x6014, - 0x2048, 0x080c, 0xcb4a, 0x0150, 0xa867, 0x0103, 0xa877, 0x0000, - 0xa87b, 0x0029, 0x080c, 0x6c86, 0x080c, 0xcd33, 0x009e, 0x080c, - 0xae71, 0x080c, 0x9687, 0x0005, 0x080c, 0xaf07, 0x0ce0, 0x9186, - 0x0014, 0x1dd0, 0x080c, 0x957b, 0x0096, 0x6014, 0x2048, 0x080c, - 0xcb4a, 0x0d60, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0006, + 0x080c, 0x959a, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x0096, 0x6014, + 0x2048, 0x080c, 0xcb5a, 0x0150, 0xa867, 0x0103, 0xa877, 0x0000, + 0xa87b, 0x0029, 0x080c, 0x6c94, 0x080c, 0xcd43, 0x009e, 0x080c, + 0xae5f, 0x080c, 0x96a6, 0x0005, 0x080c, 0xaef5, 0x0ce0, 0x9186, + 0x0014, 0x1dd0, 0x080c, 0x959a, 0x0096, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x0d60, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0006, 0xa880, 0xc0ec, 0xa882, 0x08f0, 0x0002, 0xc5cc, 0xc5ca, 0xc5ca, 0xc5ca, 0xc5ca, 0xc5ca, 0xc5e4, 0xc5ca, 0xc5ca, 0xc5ca, 0xc5ca, - 0xc5ca, 0xc5ca, 0x080c, 0x0dd5, 0x080c, 0x957b, 0x6034, 0x908c, + 0xc5ca, 0xc5ca, 0x080c, 0x0dd5, 0x080c, 0x959a, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1985, 0x0010, 0x2001, 0x1986, 0x2004, 0x601a, 0x6003, - 0x000c, 0x080c, 0x9687, 0x0005, 0x080c, 0x957b, 0x6034, 0x908c, + 0x000c, 0x080c, 0x96a6, 0x0005, 0x080c, 0x959a, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1985, 0x0010, 0x2001, 0x1986, 0x2004, 0x601a, 0x6003, - 0x000e, 0x080c, 0x9687, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, - 0x0085, 0x0208, 0x0012, 0x0804, 0xaf07, 0xc612, 0xc612, 0xc612, + 0x000e, 0x080c, 0x96a6, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, + 0x0085, 0x0208, 0x0012, 0x0804, 0xaef5, 0xc612, 0xc612, 0xc612, 0xc612, 0xc614, 0xc661, 0xc612, 0xc612, 0xc612, 0xc612, 0xc612, 0xc612, 0xc612, 0x080c, 0x0dd5, 0x0096, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0168, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x009e, 0x0804, - 0xc675, 0x080c, 0xcb4a, 0x1118, 0x080c, 0xcd33, 0x0068, 0x6014, - 0x2048, 0xa87c, 0xd0e4, 0x1110, 0x080c, 0xcd33, 0xa867, 0x0103, - 0x080c, 0xd22a, 0x080c, 0x6c86, 0x00d6, 0x2c68, 0x080c, 0xae1b, + 0xc675, 0x080c, 0xcb5a, 0x1118, 0x080c, 0xcd43, 0x0068, 0x6014, + 0x2048, 0xa87c, 0xd0e4, 0x1110, 0x080c, 0xcd43, 0xa867, 0x0103, + 0x080c, 0xd23a, 0x080c, 0x6c94, 0x00d6, 0x2c68, 0x080c, 0xae09, 0x01d0, 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, 0xffff, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x6910, - 0x6112, 0x080c, 0xcfc4, 0x6954, 0x6156, 0x6023, 0x0001, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x2d60, 0x00de, 0x080c, 0xae71, 0x009e, + 0x6112, 0x080c, 0xcfd4, 0x6954, 0x6156, 0x6023, 0x0001, 0x080c, + 0x90f8, 0x080c, 0x96a6, 0x2d60, 0x00de, 0x080c, 0xae5f, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x05a0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, 0x0130, 0x9186, 0x001e, 0x0118, 0x9186, 0x0039, 0x1538, 0x00d6, 0x2c68, 0x080c, - 0xd1c2, 0x11f0, 0x080c, 0xae1b, 0x01d8, 0x6106, 0x6003, 0x0001, + 0xd1d2, 0x11f0, 0x080c, 0xae09, 0x01d8, 0x6106, 0x6003, 0x0001, 0x6023, 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, 0x6930, 0x6132, 0x6934, 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, 0x693c, 0x613e, - 0x6954, 0x6156, 0x080c, 0xcfc4, 0x080c, 0x90d9, 0x080c, 0x9687, - 0x2d60, 0x00de, 0x0804, 0xae71, 0x0096, 0x6014, 0x2048, 0x080c, - 0xcb4a, 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, 0x0128, 0xc0ec, + 0x6954, 0x6156, 0x080c, 0xcfd4, 0x080c, 0x90f8, 0x080c, 0x96a6, + 0x2d60, 0x00de, 0x0804, 0xae5f, 0x0096, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, 0x0128, 0xc0ec, 0xa882, 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, - 0x0020, 0xa87b, 0x0005, 0x080c, 0xce44, 0xa877, 0x0000, 0x080c, - 0x6c86, 0x080c, 0xcd33, 0x009e, 0x0804, 0xae71, 0x0016, 0x0096, - 0x6014, 0x2048, 0x080c, 0xcb4a, 0x0140, 0xa867, 0x0103, 0xa87b, - 0x0028, 0xa877, 0x0000, 0x080c, 0x6c86, 0x009e, 0x001e, 0x9186, + 0x0020, 0xa87b, 0x0005, 0x080c, 0xce54, 0xa877, 0x0000, 0x080c, + 0x6c94, 0x080c, 0xcd43, 0x009e, 0x0804, 0xae5f, 0x0016, 0x0096, + 0x6014, 0x2048, 0x080c, 0xcb5a, 0x0140, 0xa867, 0x0103, 0xa87b, + 0x0028, 0xa877, 0x0000, 0x080c, 0x6c94, 0x009e, 0x001e, 0x9186, 0x0013, 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, - 0x080c, 0xaf07, 0x0030, 0x080c, 0x957b, 0x080c, 0xaea2, 0x080c, - 0x9687, 0x0005, 0x0056, 0x0066, 0x0096, 0x00a6, 0x2029, 0x0001, + 0x080c, 0xaef5, 0x0030, 0x080c, 0x959a, 0x080c, 0xae90, 0x080c, + 0x96a6, 0x0005, 0x0056, 0x0066, 0x0096, 0x00a6, 0x2029, 0x0001, 0x9182, 0x0101, 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, 0x8304, 0x9098, 0x0018, 0x2009, 0x0020, 0x2011, 0x0029, 0x080c, 0xc743, 0x96b2, 0x0020, 0xb004, 0x904d, 0x0110, 0x080c, 0x0fb1, 0x080c, @@ -6169,8 +6169,8 @@ unsigned short risc_code01[] = { 0x95ad, 0x0003, 0xb566, 0x95ac, 0x0000, 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, 0x009e, 0x006e, 0x005e, 0x0005, 0x00a6, 0x89ff, 0x0158, 0xa804, 0x9055, - 0x0130, 0xa807, 0x0000, 0x080c, 0x6c86, 0x2a48, 0x0cb8, 0x080c, - 0x6c86, 0x00ae, 0x0005, 0x00f6, 0x2079, 0x0200, 0x7814, 0x9085, + 0x0130, 0xa807, 0x0000, 0x080c, 0x6c94, 0x2a48, 0x0cb8, 0x080c, + 0x6c94, 0x00ae, 0x0005, 0x00f6, 0x2079, 0x0200, 0x7814, 0x9085, 0x0080, 0x7816, 0xd184, 0x0108, 0x8108, 0x810c, 0x20a9, 0x0001, 0xa860, 0x20e8, 0xa85c, 0x9200, 0x20a0, 0x20e1, 0x0000, 0x2300, 0x9e00, 0x2098, 0x4003, 0x8318, 0x9386, 0x0020, 0x1148, 0x2018, @@ -6180,58 +6180,58 @@ unsigned short risc_code01[] = { 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, 0xc7a9, 0xc7a9, 0xc7a4, 0xc7cb, 0xc797, 0xc7a4, 0xc7cb, 0xc7a4, - 0xc797, 0x8ec2, 0xc7a4, 0xc7a4, 0xc7a4, 0xc797, 0xc797, 0x080c, - 0x0dd5, 0x0036, 0x2019, 0x0010, 0x080c, 0xe155, 0x6023, 0x0006, + 0xc797, 0x8ee1, 0xc7a4, 0xc7a4, 0xc7a4, 0xc797, 0xc797, 0x080c, + 0x0dd5, 0x0036, 0x2019, 0x0010, 0x080c, 0xe16f, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, 0x9085, 0x0001, - 0x0005, 0x0096, 0x86ff, 0x11d8, 0x6014, 0x2048, 0x080c, 0xcb4a, + 0x0005, 0x0096, 0x86ff, 0x11d8, 0x6014, 0x2048, 0x080c, 0xcb5a, 0x01c0, 0xa864, 0x9086, 0x0139, 0x1128, 0xa87b, 0x0005, 0xa883, - 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, 0x6eb9, 0x080c, - 0xce44, 0x080c, 0x6c7a, 0x080c, 0xaea2, 0x9085, 0x0001, 0x009e, + 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, 0x6ec7, 0x080c, + 0xce54, 0x080c, 0x6c88, 0x080c, 0xae90, 0x9085, 0x0001, 0x009e, 0x0005, 0x9006, 0x0ce0, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, 0x0002, 0xc7e1, 0xc80f, 0xc7e3, 0xc830, 0xc80a, 0xc7e1, 0xc7a4, 0xc7a9, 0xc7a9, 0xc7a4, 0xc7a4, 0xc7a4, 0xc7a4, 0xc7a4, 0xc7a4, 0xc7a4, 0x080c, 0x0dd5, 0x86ff, 0x1510, 0x6020, 0x9086, 0x0006, - 0x01f0, 0x0096, 0x6014, 0x2048, 0x080c, 0xcb4a, 0x0158, 0xa87c, + 0x01f0, 0x0096, 0x6014, 0x2048, 0x080c, 0xcb5a, 0x0158, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fb1, 0x009e, - 0x080c, 0xce44, 0x009e, 0x080c, 0xd204, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x080c, 0x90d9, 0x080c, 0x9687, 0x9085, - 0x0001, 0x0005, 0x0066, 0x080c, 0x1a60, 0x006e, 0x08a0, 0x00e6, - 0x2071, 0x19e6, 0x7024, 0x9c06, 0x1120, 0x080c, 0xa541, 0x00ee, + 0x080c, 0xce54, 0x009e, 0x080c, 0xd214, 0x6007, 0x0085, 0x6003, + 0x000b, 0x6023, 0x0002, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x9085, + 0x0001, 0x0005, 0x0066, 0x080c, 0x1a70, 0x006e, 0x08a0, 0x00e6, + 0x2071, 0x19e6, 0x7024, 0x9c06, 0x1120, 0x080c, 0xa552, 0x00ee, 0x0850, 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, 0x1150, 0x0086, - 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0xa69d, 0x009e, 0x008e, - 0x0010, 0x080c, 0xa43e, 0x00ee, 0x1904, 0xc7e3, 0x0804, 0xc7a4, + 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0xa687, 0x009e, 0x008e, + 0x0010, 0x080c, 0xa44f, 0x00ee, 0x1904, 0xc7e3, 0x0804, 0xc7a4, 0x0036, 0x00e6, 0x2071, 0x19e6, 0x703c, 0x9c06, 0x1138, 0x901e, - 0x080c, 0xa5b7, 0x00ee, 0x003e, 0x0804, 0xc7e3, 0x080c, 0xa7cd, + 0x080c, 0xa5c8, 0x00ee, 0x003e, 0x0804, 0xc7e3, 0x080c, 0xa7b7, 0x00ee, 0x003e, 0x1904, 0xc7e3, 0x0804, 0xc7a4, 0x00c6, 0x6020, - 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xc863, 0xc92e, 0xca95, - 0xc86d, 0xaea2, 0xc863, 0xe147, 0xd26c, 0xc92e, 0x8e94, 0xcb14, - 0xc85c, 0xc85c, 0xc85c, 0xc85c, 0x080c, 0x0dd5, 0x080c, 0xcd50, - 0x1110, 0x080c, 0xb824, 0x0005, 0x080c, 0x957b, 0x080c, 0x9687, - 0x0804, 0xae71, 0x601b, 0x0001, 0x0005, 0x080c, 0xcb4a, 0x0130, + 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xc863, 0xc92e, 0xca98, + 0xc86d, 0xae90, 0xc863, 0xe161, 0xd27c, 0xc92e, 0x8eb3, 0xcb24, + 0xc85c, 0xc85c, 0xc85c, 0xc85c, 0x080c, 0x0dd5, 0x080c, 0xcd60, + 0x1110, 0x080c, 0xb821, 0x0005, 0x080c, 0x959a, 0x080c, 0x96a6, + 0x0804, 0xae5f, 0x601b, 0x0001, 0x0005, 0x080c, 0xcb5a, 0x0130, 0x6014, 0x0096, 0x2048, 0x2c00, 0xa896, 0x009e, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, 0x0002, 0xc88c, 0xc88e, 0xc8b2, 0xc8c6, 0xc8ec, 0xc88c, 0xc863, 0xc863, 0xc863, 0xc8c6, 0xc8c6, 0xc88c, 0xc88c, 0xc88c, 0xc88c, 0xc8d0, 0x080c, 0x0dd5, 0x00e6, 0x6014, 0x0096, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, 0x2071, 0x19e6, - 0x7024, 0x9c06, 0x01a0, 0x080c, 0xa43e, 0x080c, 0xd204, 0x6007, + 0x7024, 0x9c06, 0x01a0, 0x080c, 0xa44f, 0x080c, 0xd214, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, 0x1986, 0x2004, - 0x601a, 0x080c, 0x90d9, 0x080c, 0x9687, 0x00ee, 0x0005, 0x601b, + 0x601a, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x00ee, 0x0005, 0x601b, 0x0001, 0x0cd8, 0x0096, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, - 0x009e, 0x080c, 0xd204, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, - 0x0002, 0x080c, 0x90d9, 0x080c, 0x9687, 0x0005, 0x0096, 0x601b, + 0x009e, 0x080c, 0xd214, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0005, 0x0096, 0x601b, 0x0001, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, 0x0005, - 0x080c, 0x56e0, 0x01b8, 0x6014, 0x0096, 0x904d, 0x0190, 0xa864, + 0x080c, 0x56ea, 0x01b8, 0x6014, 0x0096, 0x904d, 0x0190, 0xa864, 0xa867, 0x0103, 0xa87b, 0x0006, 0x9086, 0x0139, 0x1150, 0xa867, 0x0139, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa89b, 0x0004, 0x080c, - 0x6c86, 0x009e, 0x0804, 0xae71, 0x6014, 0x0096, 0x904d, 0x05c8, + 0x6c94, 0x009e, 0x0804, 0xae5f, 0x6014, 0x0096, 0x904d, 0x05c8, 0xa97c, 0xd1e4, 0x05b0, 0x2001, 0x180f, 0x2004, 0xd0c4, 0x0110, 0x009e, 0x0005, 0xa884, 0x009e, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x2001, 0x0030, 0x2c08, 0x080c, 0x15f0, 0x2001, 0x030c, 0x2004, 0x9086, 0x0041, 0x11a0, 0x6014, 0x0096, 0x904d, 0x090c, 0x0dd5, 0xa880, 0xd0f4, 0x1130, 0xc0f5, 0xa882, 0x009e, 0x601b, 0x0002, 0x0070, 0x009e, 0x2001, 0x0037, 0x2c08, 0x080c, 0x15f0, - 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0xaeec, - 0x0005, 0x009e, 0x080c, 0x1a60, 0x0804, 0xc8b2, 0x6000, 0x908a, + 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0xaeda, + 0x0005, 0x009e, 0x080c, 0x1a70, 0x0804, 0xc8b2, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, 0x000b, 0x0005, 0xc945, 0xc86a, 0xc947, 0xc945, 0xc947, 0xc947, 0xc864, 0xc945, 0xc85e, 0xc85e, 0xc945, 0xc945, 0xc945, 0xc945, 0xc945, 0xc945, 0x080c, 0x0dd5, 0x6010, @@ -6240,175 +6240,177 @@ unsigned short risc_code01[] = { 0xc964, 0xc9a4, 0xc964, 0xc9a4, 0xc964, 0xc972, 0xc962, 0xc9a4, 0xc962, 0xc993, 0x080c, 0x0dd5, 0x6004, 0x908e, 0x0016, 0x05c0, 0x908e, 0x0004, 0x05a8, 0x908e, 0x0002, 0x0590, 0x908e, 0x0052, - 0x0904, 0xca2b, 0x6004, 0x080c, 0xcd50, 0x0904, 0xca48, 0x908e, - 0x0004, 0x1110, 0x080c, 0x31ea, 0x908e, 0x0021, 0x0904, 0xca4c, - 0x908e, 0x0022, 0x0904, 0xca90, 0x908e, 0x003d, 0x0904, 0xca4c, + 0x0904, 0xca2b, 0x6004, 0x080c, 0xcd60, 0x0904, 0xca48, 0x908e, + 0x0004, 0x1110, 0x080c, 0x31f5, 0x908e, 0x0021, 0x0904, 0xca4c, + 0x908e, 0x0022, 0x0904, 0xca93, 0x908e, 0x003d, 0x0904, 0xca4c, 0x908e, 0x0039, 0x0904, 0xca50, 0x908e, 0x0035, 0x0904, 0xca50, 0x908e, 0x001e, 0x0178, 0x908e, 0x0001, 0x1140, 0x6010, 0x2058, - 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0110, 0x080c, 0x31c1, - 0x080c, 0xb824, 0x0804, 0xaea2, 0x00c6, 0x00d6, 0x6104, 0x9186, + 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0110, 0x080c, 0x31cc, + 0x080c, 0xb821, 0x0804, 0xae90, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0904, 0xca1c, 0x9186, 0x0002, 0x1904, 0xc9f1, 0x2001, - 0x1837, 0x2004, 0xd08c, 0x11c8, 0x080c, 0x73a5, 0x11b0, 0x080c, - 0xd24a, 0x0138, 0x080c, 0x73c8, 0x1120, 0x080c, 0x72b5, 0x0804, - 0xca79, 0x2001, 0x197c, 0x2003, 0x0001, 0x2001, 0x1800, 0x2003, - 0x0001, 0x080c, 0x72d7, 0x0804, 0xca79, 0x6010, 0x2058, 0x2001, - 0x1837, 0x2004, 0xd0ac, 0x1904, 0xca79, 0xb8a0, 0x9084, 0xff80, - 0x1904, 0xca79, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0190, 0x8001, + 0x1837, 0x2004, 0xd08c, 0x11c8, 0x080c, 0x73b3, 0x11b0, 0x080c, + 0xd25a, 0x0138, 0x080c, 0x73d6, 0x1120, 0x080c, 0x72c3, 0x0804, + 0xca7c, 0x2001, 0x197c, 0x2003, 0x0001, 0x2001, 0x1800, 0x2003, + 0x0001, 0x080c, 0x72e5, 0x0804, 0xca7c, 0x6010, 0x2058, 0x2001, + 0x1837, 0x2004, 0xd0ac, 0x1904, 0xca7c, 0xb8a0, 0x9084, 0xff80, + 0x1904, 0xca7c, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0190, 0x8001, 0xb842, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, - 0x0000, 0x080c, 0xae1b, 0x0128, 0x2b00, 0x6012, 0x6023, 0x0001, + 0x0000, 0x080c, 0xae09, 0x0128, 0x2b00, 0x6012, 0x6023, 0x0001, 0x0458, 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, 0x11a0, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1170, 0x2009, 0x1837, 0x2104, - 0xc085, 0x200a, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fb6, 0x00ee, - 0x080c, 0xb824, 0x0030, 0x080c, 0xb824, 0x080c, 0x31c1, 0x080c, - 0xd25f, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x31ea, 0x012e, - 0x00ee, 0x080c, 0xaea2, 0x0005, 0x2001, 0x0002, 0x080c, 0x6558, - 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9121, 0x080c, 0x9687, - 0x00de, 0x00ce, 0x0c80, 0x080c, 0x31ea, 0x0804, 0xc9a0, 0x00c6, + 0xc085, 0x200a, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fc0, 0x00ee, + 0x080c, 0xb821, 0x0030, 0x080c, 0xb821, 0x080c, 0x31cc, 0x080c, + 0xd26f, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x31f5, 0x012e, + 0x00ee, 0x080c, 0xae90, 0x0005, 0x2001, 0x0002, 0x080c, 0x6566, + 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9140, 0x080c, 0x96a6, + 0x00de, 0x00ce, 0x0c80, 0x080c, 0x31f5, 0x0804, 0xc9a0, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0d38, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0904, 0xc9f1, 0x8001, 0xb842, 0x6003, - 0x0001, 0x080c, 0x9121, 0x080c, 0x9687, 0x00de, 0x00ce, 0x0898, - 0x080c, 0xb824, 0x0804, 0xc9a2, 0x080c, 0xb860, 0x0804, 0xc9a2, - 0x00d6, 0x2c68, 0x6104, 0x080c, 0xd1c2, 0x00de, 0x0118, 0x080c, - 0xae71, 0x00f0, 0x6004, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, + 0x0001, 0x080c, 0x9140, 0x080c, 0x96a6, 0x00de, 0x00ce, 0x0898, + 0x080c, 0xb821, 0x0804, 0xc9a2, 0x080c, 0xb85d, 0x0804, 0xc9a2, + 0x00d6, 0x2c68, 0x6104, 0x080c, 0xd1d2, 0x00de, 0x0118, 0x080c, + 0xae5f, 0x0408, 0x6004, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x603c, 0x600a, 0x2001, 0x1986, 0x2004, 0x601a, 0x602c, 0x2c08, 0x2060, - 0x6024, 0xc0b5, 0x6026, 0x2160, 0x080c, 0x90d9, 0x080c, 0x9687, - 0x0005, 0x00de, 0x00ce, 0x080c, 0xb824, 0x080c, 0x31c1, 0x00e6, - 0x0126, 0x2091, 0x8000, 0x080c, 0x31ea, 0x6017, 0x0000, 0x6023, - 0x0007, 0x601b, 0x0398, 0x6043, 0x0000, 0x012e, 0x00ee, 0x0005, - 0x080c, 0xb2a2, 0x1904, 0xca48, 0x0005, 0x6000, 0x908a, 0x0016, - 0x1a0c, 0x0dd5, 0x0096, 0x00d6, 0x001b, 0x00de, 0x009e, 0x0005, - 0xcab0, 0xcab0, 0xcab0, 0xcab0, 0xcab0, 0xcab0, 0xcab0, 0xcab0, - 0xcab0, 0xc863, 0xcab0, 0xc86a, 0xcab2, 0xc86a, 0xcabf, 0xcab0, - 0x080c, 0x0dd5, 0x6004, 0x9086, 0x008b, 0x0148, 0x6007, 0x008b, - 0x6003, 0x000d, 0x080c, 0x90d9, 0x080c, 0x9687, 0x0005, 0x080c, - 0xd23e, 0x0118, 0x080c, 0xd251, 0x0010, 0x080c, 0xd25f, 0x080c, - 0xcd33, 0x080c, 0xcb4a, 0x0570, 0x080c, 0x31c1, 0x080c, 0xcb4a, + 0x6024, 0xd0b4, 0x0108, 0xc085, 0xc0b5, 0x6026, 0x2160, 0x080c, + 0x90f8, 0x080c, 0x96a6, 0x0005, 0x00de, 0x00ce, 0x080c, 0xb821, + 0x080c, 0x31cc, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x31f5, + 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, 0x0000, + 0x012e, 0x00ee, 0x0005, 0x080c, 0xb290, 0x1904, 0xca48, 0x0005, + 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0dd5, 0x0096, 0x00d6, 0x001b, + 0x00de, 0x009e, 0x0005, 0xcab3, 0xcab3, 0xcab3, 0xcab3, 0xcab3, + 0xcab3, 0xcab3, 0xcab3, 0xcab3, 0xc863, 0xcab3, 0xc86a, 0xcab5, + 0xc86a, 0xcacf, 0xcab3, 0x080c, 0x0dd5, 0x6004, 0x9086, 0x008b, + 0x01b0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, 0x1130, + 0x602c, 0x9080, 0x0009, 0x200c, 0xc185, 0x2102, 0x6007, 0x008b, + 0x6003, 0x000d, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0005, 0x080c, + 0xd24e, 0x0118, 0x080c, 0xd261, 0x0010, 0x080c, 0xd26f, 0x080c, + 0xcd43, 0x080c, 0xcb5a, 0x0570, 0x080c, 0x31cc, 0x080c, 0xcb5a, 0x0168, 0x6014, 0x2048, 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, - 0x0000, 0xa880, 0xc0ed, 0xa882, 0x080c, 0x6c86, 0x2c68, 0x080c, - 0xae1b, 0x0150, 0x6810, 0x6012, 0x080c, 0xcfc4, 0x00c6, 0x2d60, - 0x080c, 0xaea2, 0x00ce, 0x0008, 0x2d60, 0x6017, 0x0000, 0x6023, - 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x9121, 0x080c, - 0x9687, 0x00c8, 0x080c, 0xd23e, 0x0138, 0x6034, 0x9086, 0x4000, - 0x1118, 0x080c, 0x31c1, 0x08d0, 0x6034, 0x908c, 0xff00, 0x810f, - 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x080c, 0x31c1, - 0x0868, 0x080c, 0xaea2, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, - 0x0dd5, 0x0002, 0xcb2a, 0xcb2a, 0xcb2c, 0xcb2c, 0xcb2c, 0xcb2a, - 0xcb2a, 0xaea2, 0xcb2a, 0xcb2a, 0xcb2a, 0xcb2a, 0xcb2a, 0xcb2a, - 0xcb2a, 0xcb2a, 0x080c, 0x0dd5, 0x080c, 0xa7cd, 0x6114, 0x0096, - 0x2148, 0xa87b, 0x0006, 0x080c, 0x6c86, 0x009e, 0x0804, 0xae71, + 0x0000, 0xa880, 0xc0ed, 0xa882, 0x080c, 0x6c94, 0x2c68, 0x080c, + 0xae09, 0x0150, 0x6810, 0x6012, 0x080c, 0xcfd4, 0x00c6, 0x2d60, + 0x080c, 0xae90, 0x00ce, 0x0008, 0x2d60, 0x6017, 0x0000, 0x6023, + 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, + 0x96a6, 0x00c8, 0x080c, 0xd24e, 0x0138, 0x6034, 0x9086, 0x4000, + 0x1118, 0x080c, 0x31cc, 0x08d0, 0x6034, 0x908c, 0xff00, 0x810f, + 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x080c, 0x31cc, + 0x0868, 0x080c, 0xae90, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, + 0x0dd5, 0x0002, 0xcb3a, 0xcb3a, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3a, + 0xcb3a, 0xae90, 0xcb3a, 0xcb3a, 0xcb3a, 0xcb3a, 0xcb3a, 0xcb3a, + 0xcb3a, 0xcb3a, 0x080c, 0x0dd5, 0x080c, 0xa7b7, 0x6114, 0x0096, + 0x2148, 0xa87b, 0x0006, 0x080c, 0x6c94, 0x009e, 0x0804, 0xae5f, 0x9284, 0x0007, 0x1158, 0x9282, 0x1cd0, 0x0240, 0x2001, 0x181a, 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, 0x0096, 0x0028, 0x0096, 0x0006, 0x6014, 0x2048, 0x000e, 0x0006, 0x9984, 0xf000, 0x9086, 0xf000, 0x0110, 0x080c, 0x10aa, 0x000e, 0x009e, 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, 0x8000, 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7354, 0x7074, 0x9302, - 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, 0xd24a, 0x0180, 0x9286, - 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, 0x1148, 0x080c, 0x31c1, - 0x080c, 0xd25f, 0x00c6, 0x080c, 0xaea2, 0x00ce, 0x0060, 0x080c, - 0xcf3e, 0x0148, 0x080c, 0xcd50, 0x1110, 0x080c, 0xb824, 0x00c6, - 0x080c, 0xae71, 0x00ce, 0x9ce0, 0x0018, 0x7068, 0x9c02, 0x1208, + 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, 0xd25a, 0x0180, 0x9286, + 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, 0x1148, 0x080c, 0x31cc, + 0x080c, 0xd26f, 0x00c6, 0x080c, 0xae90, 0x00ce, 0x0060, 0x080c, + 0xcf4e, 0x0148, 0x080c, 0xcd60, 0x1110, 0x080c, 0xb821, 0x00c6, + 0x080c, 0xae5f, 0x00ce, 0x9ce0, 0x0018, 0x7068, 0x9c02, 0x1208, 0x08a0, 0x012e, 0x000e, 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0016, 0x9188, 0x1000, 0x210c, 0x81ff, 0x0128, 0x2061, - 0x1aaf, 0x6112, 0x080c, 0x31c1, 0x9006, 0x0010, 0x9085, 0x0001, + 0x1aaf, 0x6112, 0x080c, 0x31cc, 0x9006, 0x0010, 0x9085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0xae1b, 0x01b0, 0x6656, 0x2b00, 0x6012, 0x080c, 0x56e0, - 0x0118, 0x080c, 0xcc77, 0x0168, 0x080c, 0xcfc4, 0x6023, 0x0003, - 0x2009, 0x004b, 0x080c, 0xaeec, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x080c, 0xae09, 0x01b0, 0x6656, 0x2b00, 0x6012, 0x080c, 0x56ea, + 0x0118, 0x080c, 0xcc87, 0x0168, 0x080c, 0xcfd4, 0x6023, 0x0003, + 0x2009, 0x004b, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0xbaa0, - 0x080c, 0xaebf, 0x0560, 0x6057, 0x0000, 0x2b00, 0x6012, 0x080c, - 0xcfc4, 0x6023, 0x0003, 0x0016, 0x080c, 0x927e, 0x0076, 0x903e, - 0x080c, 0x9151, 0x2c08, 0x080c, 0xe30c, 0x007e, 0x001e, 0xd184, - 0x0128, 0x080c, 0xae71, 0x9085, 0x0001, 0x0070, 0x080c, 0x56e0, - 0x0128, 0xd18c, 0x1170, 0x080c, 0xcc77, 0x0148, 0x2009, 0x004c, - 0x080c, 0xaeec, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, + 0x080c, 0xaead, 0x0560, 0x6057, 0x0000, 0x2b00, 0x6012, 0x080c, + 0xcfd4, 0x6023, 0x0003, 0x0016, 0x080c, 0x929d, 0x0076, 0x903e, + 0x080c, 0x9170, 0x2c08, 0x080c, 0xe326, 0x007e, 0x001e, 0xd184, + 0x0128, 0x080c, 0xae5f, 0x9085, 0x0001, 0x0070, 0x080c, 0x56ea, + 0x0128, 0xd18c, 0x1170, 0x080c, 0xcc87, 0x0148, 0x2009, 0x004c, + 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2900, 0x6016, 0x0c90, 0x2009, 0x004d, 0x0010, 0x2009, - 0x004e, 0x00f6, 0x00c6, 0x0046, 0x0016, 0x080c, 0xae1b, 0x2c78, + 0x004e, 0x00f6, 0x00c6, 0x0046, 0x0016, 0x080c, 0xae09, 0x2c78, 0x0590, 0x7e56, 0x2b00, 0x7812, 0x7823, 0x0003, 0x2021, 0x0005, - 0x080c, 0xcc89, 0x9186, 0x004d, 0x0118, 0x9186, 0x004e, 0x0148, - 0x2001, 0x197f, 0x200c, 0xd1fc, 0x0168, 0x2f60, 0x080c, 0xae71, + 0x080c, 0xcc99, 0x9186, 0x004d, 0x0118, 0x9186, 0x004e, 0x0148, + 0x2001, 0x197f, 0x200c, 0xd1fc, 0x0168, 0x2f60, 0x080c, 0xae5f, 0x00d0, 0x2001, 0x197e, 0x200c, 0xd1fc, 0x0120, 0x2f60, 0x080c, - 0xae71, 0x0088, 0x2f60, 0x080c, 0x56e0, 0x0138, 0xd18c, 0x1118, + 0xae5f, 0x0088, 0x2f60, 0x080c, 0x56ea, 0x0138, 0xd18c, 0x1118, 0x04f1, 0x0148, 0x0010, 0x2900, 0x7816, 0x001e, 0x0016, 0x080c, - 0xaeec, 0x9085, 0x0001, 0x001e, 0x004e, 0x00ce, 0x00fe, 0x0005, - 0x00f6, 0x00c6, 0x0046, 0x080c, 0xae1b, 0x2c78, 0x0508, 0x7e56, + 0xaeda, 0x9085, 0x0001, 0x001e, 0x004e, 0x00ce, 0x00fe, 0x0005, + 0x00f6, 0x00c6, 0x0046, 0x080c, 0xae09, 0x2c78, 0x0508, 0x7e56, 0x2b00, 0x7812, 0x7823, 0x0003, 0x0096, 0x2021, 0x0004, 0x0489, 0x009e, 0x2001, 0x197d, 0x200c, 0xd1fc, 0x0120, 0x2f60, 0x080c, - 0xae71, 0x0060, 0x2f60, 0x080c, 0x56e0, 0x0120, 0xd18c, 0x1160, - 0x0071, 0x0130, 0x2009, 0x0052, 0x080c, 0xaeec, 0x9085, 0x0001, + 0xae5f, 0x0060, 0x2f60, 0x080c, 0x56ea, 0x0120, 0xd18c, 0x1160, + 0x0071, 0x0130, 0x2009, 0x0052, 0x080c, 0xaeda, 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x2900, 0x7816, 0x0c98, 0x00c6, - 0x080c, 0x4ab4, 0x00ce, 0x1120, 0x080c, 0xae71, 0x9006, 0x0005, + 0x080c, 0x4abe, 0x00ce, 0x1120, 0x080c, 0xae5f, 0x9006, 0x0005, 0xa867, 0x0000, 0xa86b, 0x8000, 0x2900, 0x6016, 0x9085, 0x0001, - 0x0005, 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0x673c, - 0x0158, 0x2001, 0xcc8e, 0x0006, 0x900e, 0x2400, 0x080c, 0x6eb9, - 0x080c, 0x6c86, 0x000e, 0x0807, 0x2418, 0x080c, 0x9515, 0xbaa0, - 0x0086, 0x2041, 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x9296, - 0x008e, 0x080c, 0x9151, 0x2f08, 0x2648, 0x080c, 0xe30c, 0xb93c, - 0x81ff, 0x090c, 0x9367, 0x080c, 0x9687, 0x012e, 0x007e, 0x009e, - 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xae1b, 0x0190, - 0x660a, 0x2b08, 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0001, 0x2900, - 0x6016, 0x2009, 0x001f, 0x080c, 0xaeec, 0x9085, 0x0001, 0x012e, + 0x0005, 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0x674a, + 0x0158, 0x2001, 0xcc9e, 0x0006, 0x900e, 0x2400, 0x080c, 0x6ec7, + 0x080c, 0x6c94, 0x000e, 0x0807, 0x2418, 0x080c, 0x9534, 0xbaa0, + 0x0086, 0x2041, 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x92b5, + 0x008e, 0x080c, 0x9170, 0x2f08, 0x2648, 0x080c, 0xe326, 0xb93c, + 0x81ff, 0x090c, 0x9386, 0x080c, 0x96a6, 0x012e, 0x007e, 0x009e, + 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xae09, 0x0190, + 0x660a, 0x2b08, 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0001, 0x2900, + 0x6016, 0x2009, 0x001f, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0xaebf, 0x01b8, 0x660a, 0x2b08, 0x6112, 0x080c, 0xcfc4, + 0x080c, 0xaead, 0x01b8, 0x660a, 0x2b08, 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0008, 0x2900, 0x6016, 0x00f6, 0x2c78, 0x080c, 0x1727, - 0x00fe, 0x2009, 0x0021, 0x080c, 0xaeec, 0x9085, 0x0001, 0x012e, + 0x00fe, 0x2009, 0x0021, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x003d, 0x00c6, 0x0126, - 0x0016, 0x2091, 0x8000, 0x080c, 0xae1b, 0x0198, 0x660a, 0x2b08, - 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, - 0x0016, 0x080c, 0xaeec, 0x9085, 0x0001, 0x001e, 0x012e, 0x00ce, + 0x0016, 0x2091, 0x8000, 0x080c, 0xae09, 0x0198, 0x660a, 0x2b08, + 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, + 0x0016, 0x080c, 0xaeda, 0x9085, 0x0001, 0x001e, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, - 0xaebf, 0x0188, 0x2b08, 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0001, - 0x2900, 0x6016, 0x2009, 0x0000, 0x080c, 0xaeec, 0x9085, 0x0001, + 0xaead, 0x0188, 0x2b08, 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0001, + 0x2900, 0x6016, 0x2009, 0x0000, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x0044, 0x0830, 0x2009, 0x0049, 0x0818, 0x0026, 0x00b6, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x002e, 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, 0x0003, 0x0128, 0x908e, 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, 0x0086, 0x0096, 0x6020, 0x9086, 0x0004, 0x01a8, 0x6014, - 0x904d, 0x080c, 0xcb4a, 0x0180, 0xa864, 0x9086, 0x0139, 0x0170, + 0x904d, 0x080c, 0xcb5a, 0x0180, 0xa864, 0x9086, 0x0139, 0x0170, 0x6020, 0x90c6, 0x0003, 0x0140, 0x90c6, 0x0002, 0x0128, 0xa868, 0xd0fc, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, 0x009e, 0x008e, - 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xaebf, - 0x0198, 0x2b08, 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0001, 0x2900, - 0x6016, 0x080c, 0x31c1, 0x2009, 0x0028, 0x080c, 0xaeec, 0x9085, + 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xaead, + 0x0198, 0x2b08, 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0001, 0x2900, + 0x6016, 0x080c, 0x31cc, 0x2009, 0x0028, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x9186, 0x0015, 0x11a8, 0x2011, 0x1824, 0x2204, 0x9086, 0x0074, 0x1178, 0x00b6, - 0x080c, 0xba78, 0x00be, 0x080c, 0xbc9b, 0x6003, 0x0001, 0x6007, - 0x0029, 0x080c, 0x9121, 0x080c, 0x9687, 0x0078, 0x6014, 0x0096, + 0x080c, 0xba75, 0x00be, 0x080c, 0xbc98, 0x6003, 0x0001, 0x6007, + 0x0029, 0x080c, 0x9140, 0x080c, 0x96a6, 0x0078, 0x6014, 0x0096, 0x2048, 0xa868, 0x009e, 0xd0fc, 0x0148, 0x2001, 0x0001, 0x080c, - 0xd183, 0x080c, 0xb824, 0x080c, 0xae71, 0x0005, 0x0096, 0x6014, + 0xd193, 0x080c, 0xb821, 0x080c, 0xae5f, 0x0005, 0x0096, 0x6014, 0x904d, 0x090c, 0x0dd5, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6c86, 0x012e, 0x009e, 0x080c, 0xae71, 0x0c30, 0x0096, - 0x9186, 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, 0x6558, 0x00e8, + 0x080c, 0x6c94, 0x012e, 0x009e, 0x080c, 0xae5f, 0x0c30, 0x0096, + 0x9186, 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, 0x6566, 0x00e8, 0x9186, 0x0015, 0x1510, 0x2011, 0x1824, 0x2204, 0x9086, 0x0014, - 0x11e0, 0x6010, 0x00b6, 0x2058, 0x080c, 0x66a3, 0x00be, 0x080c, - 0xbd6c, 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, 0x00be, 0x9005, - 0x0160, 0x2001, 0x0006, 0x080c, 0x6558, 0x6014, 0x2048, 0xa868, - 0xd0fc, 0x0170, 0x080c, 0xb276, 0x0048, 0x6014, 0x2048, 0xa868, - 0xd0fc, 0x0528, 0x080c, 0xb824, 0x080c, 0xae71, 0x009e, 0x0005, + 0x11e0, 0x6010, 0x00b6, 0x2058, 0x080c, 0x66b1, 0x00be, 0x080c, + 0xbd69, 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, 0x00be, 0x9005, + 0x0160, 0x2001, 0x0006, 0x080c, 0x6566, 0x6014, 0x2048, 0xa868, + 0xd0fc, 0x0170, 0x080c, 0xb264, 0x0048, 0x6014, 0x2048, 0xa868, + 0xd0fc, 0x0528, 0x080c, 0xb821, 0x080c, 0xae5f, 0x009e, 0x0005, 0x6014, 0x6310, 0x2358, 0x904d, 0x090c, 0x0dd5, 0xa87b, 0x0000, - 0xa883, 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, 0x6828, 0x1108, + 0xa883, 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xa99a, 0x0126, 0x2091, - 0x8000, 0x080c, 0x6c86, 0x012e, 0x080c, 0xae71, 0x08f8, 0x6014, + 0x8000, 0x080c, 0x6c94, 0x012e, 0x080c, 0xae5f, 0x08f8, 0x6014, 0x904d, 0x090c, 0x0dd5, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6c86, 0x012e, 0x080c, 0xae71, 0x0840, 0xa878, 0x9086, + 0x080c, 0x6c94, 0x012e, 0x080c, 0xae5f, 0x0840, 0xa878, 0x9086, 0x0005, 0x1108, 0x0009, 0x0005, 0xa880, 0xc0ad, 0xa882, 0x0005, 0x6043, 0x0000, 0x6017, 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, - 0x080c, 0x90d9, 0x080c, 0x9687, 0x0005, 0x00c6, 0x6010, 0x00b6, + 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0005, 0x00c6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0120, 0x6020, 0x9084, 0x000f, - 0x0013, 0x00ce, 0x0005, 0xc863, 0xce74, 0xce74, 0xce77, 0xe61e, - 0xe639, 0xe63c, 0xc863, 0xc863, 0xc863, 0xc863, 0xc863, 0xc863, + 0x0013, 0x00ce, 0x0005, 0xc863, 0xce84, 0xce84, 0xce87, 0xe638, + 0xe653, 0xe656, 0xc863, 0xc863, 0xc863, 0xc863, 0xc863, 0xc863, 0xc863, 0xc863, 0x080c, 0x0dd5, 0xa001, 0xa001, 0x0005, 0x0096, 0x6014, 0x904d, 0x0118, 0xa87c, 0xd0e4, 0x1110, 0x009e, 0x0010, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0550, 0x2001, 0x1834, 0x2004, 0x9005, 0x1540, 0x00f6, 0x2c78, - 0x080c, 0xae1b, 0x0508, 0x7810, 0x6012, 0x080c, 0xcfc4, 0x7820, + 0x080c, 0xae09, 0x0508, 0x7810, 0x6012, 0x080c, 0xcfd4, 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, 0x603e, 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, 0x0001, 0x6007, - 0x0035, 0x6003, 0x0001, 0x7954, 0x6156, 0x080c, 0x90d9, 0x080c, - 0x9687, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, 0x2001, 0x1987, + 0x0035, 0x6003, 0x0001, 0x7954, 0x6156, 0x080c, 0x90f8, 0x080c, + 0x96a6, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, 0x2001, 0x1987, 0x2004, 0x6042, 0x0005, 0x0016, 0x0096, 0x6814, 0x2048, 0xa87c, 0xd0e4, 0x0180, 0xc0e4, 0xa87e, 0xa877, 0x0000, 0xa893, 0x0000, 0xa88f, 0x0000, 0xd0cc, 0x0130, 0xc0cc, 0xa87e, 0xa878, 0x2048, @@ -6419,7 +6421,7 @@ unsigned short risc_code01[] = { 0x693c, 0x9103, 0x1e48, 0x683c, 0x602e, 0x6838, 0x9084, 0xfffc, 0x683a, 0x6032, 0x2d00, 0x603a, 0x6808, 0x603e, 0x6910, 0x6112, 0x6954, 0x6156, 0x6023, 0x0001, 0x6007, 0x0039, 0x6003, 0x0001, - 0x080c, 0x90d9, 0x080c, 0x9687, 0x009e, 0x001e, 0x0005, 0x6024, + 0x080c, 0x90f8, 0x080c, 0x96a6, 0x009e, 0x001e, 0x0005, 0x6024, 0xd0d4, 0x0510, 0xd0f4, 0x11f8, 0x6038, 0x940a, 0x603c, 0x9303, 0x0230, 0x9105, 0x0120, 0x6024, 0xc0d4, 0xc0f5, 0x0098, 0x643a, 0x633e, 0xac3e, 0xab42, 0x0046, 0x0036, 0x2400, 0xacac, 0x9402, @@ -6431,273 +6433,273 @@ unsigned short risc_code01[] = { 0x908e, 0x0039, 0x0140, 0x908e, 0x003a, 0x0128, 0x908e, 0x003b, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, 0x1981, 0x200c, 0x8000, 0x2014, - 0x2001, 0x0032, 0x080c, 0x8f51, 0x2001, 0x1985, 0x82ff, 0x1110, + 0x2001, 0x0032, 0x080c, 0x8f70, 0x2001, 0x1985, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1983, 0x200c, 0x8000, 0x2014, - 0x2071, 0x196b, 0x711a, 0x721e, 0x2001, 0x0064, 0x080c, 0x8f51, + 0x2071, 0x196b, 0x711a, 0x721e, 0x2001, 0x0064, 0x080c, 0x8f70, 0x2001, 0x1986, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1987, 0x9288, 0x000a, 0x2102, 0x2001, 0x1a90, 0x2102, 0x2001, - 0x0032, 0x080c, 0x15f0, 0x080c, 0x695c, 0x00ee, 0x003e, 0x002e, + 0x0032, 0x080c, 0x15f0, 0x080c, 0x696a, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x00e6, 0x2001, 0x1985, 0x2003, 0x0028, 0x2001, 0x1986, 0x2003, 0x0014, 0x2071, 0x196b, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, 0x1987, 0x2009, 0x001e, 0x2102, 0x2001, 0x1a90, 0x2102, 0x2001, 0x0032, 0x080c, 0x15f0, 0x00ee, 0x001e, 0x000e, 0x0005, 0x0096, 0x6058, 0x904d, 0x0110, 0x080c, 0x1031, 0x009e, 0x0005, 0x0005, 0x00c6, 0x0126, 0x2091, - 0x8000, 0x080c, 0xae1b, 0x0180, 0x2b08, 0x6112, 0x0ca9, 0x6023, - 0x0001, 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, 0xaeec, 0x9085, + 0x8000, 0x080c, 0xae09, 0x0180, 0x2b08, 0x6112, 0x0ca9, 0x6023, + 0x0001, 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1500, 0x7090, 0x9086, 0x0018, 0x11e0, 0x6014, 0x2048, 0xaa3c, 0xd2e4, 0x1160, 0x2c78, - 0x080c, 0x9921, 0x01d8, 0x707c, 0xaa50, 0x9206, 0x1160, 0x7080, + 0x080c, 0x993c, 0x01d8, 0x707c, 0xaa50, 0x9206, 0x1160, 0x7080, 0xaa54, 0x9206, 0x1140, 0x6210, 0x00b6, 0x2258, 0xbaa0, 0x00be, - 0x900e, 0x080c, 0x320a, 0x080c, 0xb276, 0x0020, 0x080c, 0xb824, - 0x080c, 0xae71, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaa54, + 0x900e, 0x080c, 0x3215, 0x080c, 0xb264, 0x0020, 0x080c, 0xb821, + 0x080c, 0xae5f, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaa54, 0x9206, 0x0d48, 0x0c80, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, - 0xae1b, 0x0188, 0x2b08, 0x6112, 0x080c, 0xcfc4, 0x6023, 0x0001, - 0x2900, 0x6016, 0x2009, 0x004d, 0x080c, 0xaeec, 0x9085, 0x0001, + 0xae09, 0x0188, 0x2b08, 0x6112, 0x080c, 0xcfd4, 0x6023, 0x0001, + 0x2900, 0x6016, 0x2009, 0x004d, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, - 0x8000, 0x0016, 0x080c, 0xae1b, 0x0180, 0x2b08, 0x6112, 0x080c, - 0xcfc4, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x080c, 0xaeec, + 0x8000, 0x0016, 0x080c, 0xae09, 0x0180, 0x2b08, 0x6112, 0x080c, + 0xcfd4, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x080c, 0xaeda, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, 0x9006, 0x0cd0, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1568, 0x7190, 0x6014, 0x2048, 0xa814, 0x8003, 0x9106, 0x1530, 0x20e1, 0x0000, 0x2001, 0x199f, 0x2003, 0x0000, 0x6014, 0x2048, 0xa830, 0x20a8, 0x8906, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e8, 0x9084, 0xffc0, 0x9080, - 0x001b, 0x20a0, 0x2001, 0x199f, 0x0016, 0x200c, 0x080c, 0xd83a, + 0x001b, 0x20a0, 0x2001, 0x199f, 0x0016, 0x200c, 0x080c, 0xd84a, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c38, 0x6014, 0x2048, - 0xa867, 0x0103, 0x0010, 0x080c, 0xb824, 0x080c, 0xae71, 0x00fe, + 0xa867, 0x0103, 0x0010, 0x080c, 0xb821, 0x080c, 0xae5f, 0x00fe, 0x00ee, 0x009e, 0x006e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x11b8, 0x7090, 0x9086, 0x0004, 0x1198, 0x6014, 0x2048, 0x2c78, - 0x080c, 0x9921, 0x01a8, 0x707c, 0xaa74, 0x9206, 0x1130, 0x7080, - 0xaa78, 0x9206, 0x1110, 0x080c, 0x31c1, 0x080c, 0xb276, 0x0020, - 0x080c, 0xb824, 0x080c, 0xae71, 0x00fe, 0x00ee, 0x009e, 0x0005, + 0x080c, 0x993c, 0x01a8, 0x707c, 0xaa74, 0x9206, 0x1130, 0x7080, + 0xaa78, 0x9206, 0x1110, 0x080c, 0x31cc, 0x080c, 0xb264, 0x0020, + 0x080c, 0xb821, 0x080c, 0xae5f, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaa78, 0x9206, 0x0d78, 0x0c80, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1550, 0x7090, 0x9086, 0x0004, - 0x1530, 0x6014, 0x2048, 0x2c78, 0x080c, 0x9921, 0x05f0, 0x707c, + 0x1530, 0x6014, 0x2048, 0x2c78, 0x080c, 0x993c, 0x05f0, 0x707c, 0xaacc, 0x9206, 0x1180, 0x7080, 0xaad0, 0x9206, 0x1160, 0x080c, - 0x31c1, 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, 0xc0fd, 0x080c, - 0x5690, 0x001e, 0x0010, 0x080c, 0x5481, 0x080c, 0xcb4a, 0x0508, + 0x31cc, 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, 0xc0fd, 0x080c, + 0x569a, 0x001e, 0x0010, 0x080c, 0x548b, 0x080c, 0xcb5a, 0x0508, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0080, 0x080c, - 0xcb4a, 0x01b8, 0x6014, 0x2048, 0x080c, 0x5481, 0x1d70, 0xa87b, + 0xcb5a, 0x01b8, 0x6014, 0x2048, 0x080c, 0x548b, 0x1d70, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0x0126, - 0x2091, 0x8000, 0xa867, 0x0139, 0x080c, 0x6c86, 0x012e, 0x080c, - 0xae71, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaad0, 0x9206, + 0x2091, 0x8000, 0xa867, 0x0139, 0x080c, 0x6c94, 0x012e, 0x080c, + 0xae5f, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaad0, 0x9206, 0x0930, 0x0888, 0x0016, 0x0026, 0xa87c, 0xd0ac, 0x0178, 0xa938, 0xaa34, 0x2100, 0x9205, 0x0150, 0xa890, 0x9106, 0x1118, 0xa88c, 0x9206, 0x0120, 0xa992, 0xaa8e, 0x9085, 0x0001, 0x002e, 0x001e, - 0x0005, 0x00b6, 0x00d6, 0x0036, 0x080c, 0xcb4a, 0x0904, 0xd17f, + 0x0005, 0x00b6, 0x00d6, 0x0036, 0x080c, 0xcb5a, 0x0904, 0xd18f, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x929e, 0x4000, 0x1580, 0x6310, 0x00c6, 0x2358, 0x2009, 0x0000, 0xa868, 0xd0f4, 0x1140, - 0x080c, 0x6828, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, + 0x080c, 0x6836, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xaa96, 0xa99a, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0f7c, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0f7c, 0x00ce, 0x0090, 0xaa96, 0x3918, 0x9398, 0x0007, 0x231c, 0x6004, 0x9086, 0x0016, 0x0110, 0xa89b, 0x0004, 0xaba2, 0x6310, 0x2358, 0xb804, 0x9084, - 0x00ff, 0xa89e, 0x080c, 0x6c7a, 0x6017, 0x0000, 0x009e, 0x003e, + 0x00ff, 0xa89e, 0x080c, 0x6c88, 0x6017, 0x0000, 0x009e, 0x003e, 0x00de, 0x00be, 0x0005, 0x0026, 0x0036, 0x0046, 0x00b6, 0x0096, 0x00f6, 0x6214, 0x2248, 0x6210, 0x2258, 0x2079, 0x0260, 0x9096, - 0x0000, 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, 0x080c, 0x2840, + 0x0000, 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, 0x080c, 0x284b, 0x2118, 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, 0x00ff, 0x931d, - 0x7c3c, 0x2011, 0x8018, 0x080c, 0x4b14, 0x00a8, 0x9096, 0x0001, + 0x7c3c, 0x2011, 0x8018, 0x080c, 0x4b1e, 0x00a8, 0x9096, 0x0001, 0x1148, 0x89ff, 0x0180, 0xa89b, 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, 0x0048, 0x9096, 0x0002, 0x1130, 0xa89b, 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, 0x00fe, 0x009e, 0x00be, 0x004e, 0x003e, 0x002e, 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, 0x0035, 0x0110, - 0x6a38, 0x0008, 0x6a2c, 0x080c, 0xcb38, 0x01f0, 0x2260, 0x6120, + 0x6a38, 0x0008, 0x6a2c, 0x080c, 0xcb48, 0x01f0, 0x2260, 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, 0x6838, 0x9206, 0x0140, 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, 0x9106, 0x1140, 0x0020, 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, 0x6910, 0x9106, 0x001e, 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, 0x0cc8, 0xa974, 0xd1cc, 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, 0x1160, 0xa9a8, 0x918c, 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, 0xa834, 0xa938, - 0x9115, 0x190c, 0xc258, 0x0005, 0x0036, 0x2019, 0x0001, 0x0010, - 0x0036, 0x901e, 0x0499, 0x01e0, 0x080c, 0xcb4a, 0x01c8, 0x080c, - 0xcd33, 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, 0x0096, 0x2048, - 0xa87c, 0x080c, 0xcd50, 0x1118, 0x080c, 0xb824, 0x0040, 0xa867, - 0x0103, 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, 0x6c86, 0x009e, + 0x9115, 0x190c, 0xc255, 0x0005, 0x0036, 0x2019, 0x0001, 0x0010, + 0x0036, 0x901e, 0x0499, 0x01e0, 0x080c, 0xcb5a, 0x01c8, 0x080c, + 0xcd43, 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, 0x0096, 0x2048, + 0xa87c, 0x080c, 0xcd60, 0x1118, 0x080c, 0xb821, 0x0040, 0xa867, + 0x0103, 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, 0x6c94, 0x009e, 0x003e, 0x0005, 0xa880, 0xd0b4, 0x0128, 0xa87b, 0x0006, 0xc0ec, 0xa882, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, 0x0020, 0xa87b, - 0x0005, 0x080c, 0xce44, 0xa877, 0x0000, 0x0005, 0x2001, 0x1810, + 0x0005, 0x080c, 0xce54, 0xa877, 0x0000, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0ec, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0f4, 0x000e, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0e4, 0x000e, 0x0005, 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, - 0x2021, 0x0007, 0x080c, 0x4ccb, 0x004e, 0x003e, 0x0005, 0x0c51, + 0x2021, 0x0007, 0x080c, 0x4cd5, 0x004e, 0x003e, 0x0005, 0x0c51, 0x1d81, 0x0005, 0x2001, 0x1985, 0x2004, 0x601a, 0x0005, 0x2001, - 0x1987, 0x2004, 0x6042, 0x0005, 0x080c, 0xae71, 0x0804, 0x9687, + 0x1987, 0x2004, 0x6042, 0x0005, 0x080c, 0xae5f, 0x0804, 0x96a6, 0x00b6, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0dd5, 0x001b, - 0x006e, 0x00be, 0x0005, 0xd28b, 0xd997, 0xdaf4, 0xd28b, 0xd28b, - 0xd28b, 0xd28b, 0xd28b, 0xd2c2, 0xdb78, 0xd28b, 0xd28b, 0xd28b, - 0xd28b, 0xd28b, 0xd28b, 0x080c, 0x0dd5, 0x0066, 0x6000, 0x90b2, - 0x0016, 0x1a0c, 0x0dd5, 0x0013, 0x006e, 0x0005, 0xd2a6, 0xe0e0, - 0xd2a6, 0xd2a6, 0xd2a6, 0xd2a6, 0xd2a6, 0xd2a6, 0xe08d, 0xe134, - 0xd2a6, 0xe759, 0xe78f, 0xe759, 0xe78f, 0xd2a6, 0x080c, 0x0dd5, + 0x006e, 0x00be, 0x0005, 0xd29b, 0xd9a7, 0xdb04, 0xd29b, 0xd29b, + 0xd29b, 0xd29b, 0xd29b, 0xd2d2, 0xdb88, 0xd29b, 0xd29b, 0xd29b, + 0xd29b, 0xd29b, 0xd29b, 0x080c, 0x0dd5, 0x0066, 0x6000, 0x90b2, + 0x0016, 0x1a0c, 0x0dd5, 0x0013, 0x006e, 0x0005, 0xd2b6, 0xe0fa, + 0xd2b6, 0xd2b6, 0xd2b6, 0xd2b6, 0xd2b6, 0xd2b6, 0xe0a7, 0xe14e, + 0xd2b6, 0xe773, 0xe7a9, 0xe773, 0xe7a9, 0xd2b6, 0x080c, 0x0dd5, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0dd5, 0x6000, 0x000a, 0x0005, - 0xd2c0, 0xdd55, 0xde45, 0xde67, 0xdf26, 0xd2c0, 0xe004, 0xdfae, - 0xdb84, 0xe063, 0xe078, 0xd2c0, 0xd2c0, 0xd2c0, 0xd2c0, 0xd2c0, + 0xd2d0, 0xdd66, 0xde58, 0xde7b, 0xdf3b, 0xd2d0, 0xe01a, 0xdfc3, + 0xdb94, 0xe07d, 0xe092, 0xd2d0, 0xd2d0, 0xd2d0, 0xd2d0, 0xd2d0, 0x080c, 0x0dd5, 0x91b2, 0x0053, 0x1a0c, 0x0dd5, 0x2100, 0x91b2, - 0x0040, 0x1a04, 0xd70b, 0x0002, 0xd30c, 0xd4fc, 0xd30c, 0xd30c, - 0xd30c, 0xd505, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, - 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, - 0xd30c, 0xd30c, 0xd30c, 0xd30e, 0xd371, 0xd380, 0xd3e4, 0xd40f, - 0xd488, 0xd4e7, 0xd30c, 0xd30c, 0xd508, 0xd30c, 0xd30c, 0xd51d, - 0xd52a, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd30c, 0xd5ad, 0xd30c, - 0xd30c, 0xd5c1, 0xd30c, 0xd30c, 0xd57c, 0xd30c, 0xd30c, 0xd30c, - 0xd5d9, 0xd30c, 0xd30c, 0xd30c, 0xd656, 0xd30c, 0xd30c, 0xd30c, - 0xd30c, 0xd30c, 0xd30c, 0xd6d3, 0x080c, 0x0dd5, 0x080c, 0x6939, + 0x0040, 0x1a04, 0xd71b, 0x0002, 0xd31c, 0xd50c, 0xd31c, 0xd31c, + 0xd31c, 0xd515, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, + 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, + 0xd31c, 0xd31c, 0xd31c, 0xd31e, 0xd381, 0xd390, 0xd3f4, 0xd41f, + 0xd498, 0xd4f7, 0xd31c, 0xd31c, 0xd518, 0xd31c, 0xd31c, 0xd52d, + 0xd53a, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd31c, 0xd5bd, 0xd31c, + 0xd31c, 0xd5d1, 0xd31c, 0xd31c, 0xd58c, 0xd31c, 0xd31c, 0xd31c, + 0xd5e9, 0xd31c, 0xd31c, 0xd31c, 0xd666, 0xd31c, 0xd31c, 0xd31c, + 0xd31c, 0xd31c, 0xd31c, 0xd6e3, 0x080c, 0x0dd5, 0x080c, 0x6947, 0x1150, 0x2001, 0x1837, 0x2004, 0xd0cc, 0x1128, 0x9084, 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, 0x0009, 0x6017, - 0x0000, 0x0804, 0xd4f5, 0x080c, 0x68d5, 0x00e6, 0x00c6, 0x0036, + 0x0000, 0x0804, 0xd505, 0x080c, 0x68e3, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, 0x0029, - 0x080c, 0x927e, 0x0076, 0x903e, 0x080c, 0x9151, 0x2c08, 0x080c, - 0xe30c, 0x007e, 0x001e, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, - 0x6610, 0x2658, 0x080c, 0x6617, 0xbe04, 0x9684, 0x00ff, 0x9082, + 0x080c, 0x929d, 0x0076, 0x903e, 0x080c, 0x9170, 0x2c08, 0x080c, + 0xe326, 0x007e, 0x001e, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, + 0x6610, 0x2658, 0x080c, 0x6625, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x1268, 0x0016, 0x0026, 0x6210, 0x00b6, 0x2258, 0xbaa0, - 0x00be, 0x2c08, 0x080c, 0xe9b8, 0x002e, 0x001e, 0x1178, 0x080c, - 0xe23e, 0x1904, 0xd3dc, 0x080c, 0xe1da, 0x1120, 0x6007, 0x0008, - 0x0804, 0xd4f5, 0x6007, 0x0009, 0x0804, 0xd4f5, 0x080c, 0xe462, - 0x0128, 0x080c, 0xe23e, 0x0d78, 0x0804, 0xd3dc, 0x6017, 0x1900, - 0x0c88, 0x080c, 0x32e5, 0x1904, 0xd708, 0x6106, 0x080c, 0xe18f, - 0x6007, 0x0006, 0x0804, 0xd4f5, 0x6007, 0x0007, 0x0804, 0xd4f5, - 0x080c, 0xe7cb, 0x1904, 0xd708, 0x080c, 0x32e5, 0x1904, 0xd708, + 0x00be, 0x2c08, 0x080c, 0xe9d2, 0x002e, 0x001e, 0x1178, 0x080c, + 0xe258, 0x1904, 0xd3ec, 0x080c, 0xe1f4, 0x1120, 0x6007, 0x0008, + 0x0804, 0xd505, 0x6007, 0x0009, 0x0804, 0xd505, 0x080c, 0xe47c, + 0x0128, 0x080c, 0xe258, 0x0d78, 0x0804, 0xd3ec, 0x6017, 0x1900, + 0x0c88, 0x080c, 0x32f0, 0x1904, 0xd718, 0x6106, 0x080c, 0xe1a9, + 0x6007, 0x0006, 0x0804, 0xd505, 0x6007, 0x0007, 0x0804, 0xd505, + 0x080c, 0xe7e5, 0x1904, 0xd718, 0x080c, 0x32f0, 0x1904, 0xd718, 0x00d6, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, - 0x1220, 0x2001, 0x0001, 0x080c, 0x6544, 0x96b4, 0xff00, 0x8637, + 0x1220, 0x2001, 0x0001, 0x080c, 0x6552, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, 0x0128, 0x9686, 0x0005, 0x0110, 0x00de, 0x0480, 0x00e6, 0x2071, 0x0260, 0x7034, 0x9084, 0x0003, 0x1140, 0x7034, 0x9082, 0x0014, 0x0220, 0x7030, 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, 0x0007, - 0x00b0, 0x00ee, 0x080c, 0xe2a2, 0x1190, 0x9686, 0x0006, 0x1140, - 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x320a, 0x002e, - 0x080c, 0x66a3, 0x6007, 0x000a, 0x00de, 0x0804, 0xd4f5, 0x6007, - 0x000b, 0x00de, 0x0804, 0xd4f5, 0x080c, 0x31c1, 0x080c, 0xd25f, - 0x6007, 0x0001, 0x0804, 0xd4f5, 0x080c, 0xe7cb, 0x1904, 0xd708, - 0x080c, 0x32e5, 0x1904, 0xd708, 0x2071, 0x0260, 0x7034, 0x90b4, + 0x00b0, 0x00ee, 0x080c, 0xe2bc, 0x1190, 0x9686, 0x0006, 0x1140, + 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x3215, 0x002e, + 0x080c, 0x66b1, 0x6007, 0x000a, 0x00de, 0x0804, 0xd505, 0x6007, + 0x000b, 0x00de, 0x0804, 0xd505, 0x080c, 0x31cc, 0x080c, 0xd26f, + 0x6007, 0x0001, 0x0804, 0xd505, 0x080c, 0xe7e5, 0x1904, 0xd718, + 0x080c, 0x32f0, 0x1904, 0xd718, 0x2071, 0x0260, 0x7034, 0x90b4, 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, 0x0003, 0x1910, 0x6610, 0x2658, 0xbe04, 0x9686, 0x0707, 0x09e8, 0x0026, - 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x320a, 0x002e, 0x6007, - 0x000c, 0x2001, 0x0001, 0x080c, 0xe998, 0x0804, 0xd4f5, 0x080c, - 0x6939, 0x1140, 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, 0x9086, - 0x0008, 0x1110, 0x0804, 0xd31b, 0x080c, 0x68d5, 0x6610, 0x2658, + 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x3215, 0x002e, 0x6007, + 0x000c, 0x2001, 0x0001, 0x080c, 0xe9b2, 0x0804, 0xd505, 0x080c, + 0x6947, 0x1140, 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, 0x9086, + 0x0008, 0x1110, 0x0804, 0xd32b, 0x080c, 0x68e3, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06c8, 0x1138, 0x0026, - 0x2001, 0x0006, 0x080c, 0x6584, 0x002e, 0x0050, 0x96b4, 0xff00, - 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xd3dc, - 0x080c, 0xe2af, 0x1120, 0x6007, 0x000e, 0x0804, 0xd4f5, 0x0046, - 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x31c1, 0x080c, 0xd25f, + 0x2001, 0x0006, 0x080c, 0x6592, 0x002e, 0x0050, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xd3ec, + 0x080c, 0xe2c9, 0x1120, 0x6007, 0x000e, 0x0804, 0xd505, 0x0046, + 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x004e, 0x0016, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, 0x0148, - 0x2009, 0x0029, 0x080c, 0xe5cf, 0x6010, 0x2058, 0xb800, 0xc0e5, - 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xd4f5, 0x2001, - 0x0001, 0x080c, 0x6544, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, - 0x0004, 0x2019, 0x1805, 0x2011, 0x0270, 0x080c, 0xbe1c, 0x003e, + 0x2009, 0x0029, 0x080c, 0xe5e9, 0x6010, 0x2058, 0xb800, 0xc0e5, + 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xd505, 0x2001, + 0x0001, 0x080c, 0x6552, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, + 0x0004, 0x2019, 0x1805, 0x2011, 0x0270, 0x080c, 0xbe19, 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, - 0x9682, 0x0004, 0x0a04, 0xd3dc, 0x9682, 0x0007, 0x0a04, 0xd438, - 0x0804, 0xd3dc, 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xd4f5, - 0x080c, 0x6939, 0x1140, 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, - 0x9086, 0x0008, 0x1110, 0x0804, 0xd31b, 0x080c, 0x68d5, 0x6610, + 0x9682, 0x0004, 0x0a04, 0xd3ec, 0x9682, 0x0007, 0x0a04, 0xd448, + 0x0804, 0xd3ec, 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xd505, + 0x080c, 0x6947, 0x1140, 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, + 0x9086, 0x0008, 0x1110, 0x0804, 0xd32b, 0x080c, 0x68e3, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x0006, 0x9086, 0x0001, 0x000e, 0x0170, 0x9082, 0x0006, 0x0698, 0x0150, 0x96b4, 0xff00, 0x8637, - 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xd3dc, 0x080c, - 0xe2dd, 0x1130, 0x080c, 0xe1da, 0x1118, 0x6007, 0x0010, 0x04e8, - 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x31c1, 0x080c, - 0xd25f, 0x004e, 0x0016, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, - 0x0148, 0x2009, 0x0029, 0x080c, 0xe5cf, 0x6010, 0x2058, 0xb800, + 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xd3ec, 0x080c, + 0xe2f7, 0x1130, 0x080c, 0xe1f4, 0x1118, 0x6007, 0x0010, 0x04e8, + 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x31cc, 0x080c, + 0xd26f, 0x004e, 0x0016, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, + 0x0148, 0x2009, 0x0029, 0x080c, 0xe5e9, 0x6010, 0x2058, 0xb800, 0xc0e5, 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, - 0xe462, 0x0140, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0978, - 0x0804, 0xd3dc, 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, - 0x32e5, 0x1904, 0xd708, 0x080c, 0xe7cb, 0x1904, 0xd708, 0x080c, - 0xd8d5, 0x1904, 0xd3dc, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, - 0x9121, 0x080c, 0x9687, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, - 0x080c, 0x9121, 0x080c, 0x9687, 0x0cb0, 0x6007, 0x0005, 0x0c68, - 0x080c, 0xe7cb, 0x1904, 0xd708, 0x080c, 0x32e5, 0x1904, 0xd708, - 0x080c, 0xd8d5, 0x1904, 0xd3dc, 0x6007, 0x0020, 0x6003, 0x0001, - 0x080c, 0x9121, 0x080c, 0x9687, 0x0005, 0x080c, 0x32e5, 0x1904, - 0xd708, 0x6007, 0x0023, 0x6003, 0x0001, 0x080c, 0x9121, 0x080c, - 0x9687, 0x0005, 0x080c, 0xe7cb, 0x1904, 0xd708, 0x080c, 0x32e5, - 0x1904, 0xd708, 0x080c, 0xd8d5, 0x1904, 0xd3dc, 0x0016, 0x0026, + 0xe47c, 0x0140, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0978, + 0x0804, 0xd3ec, 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, + 0x32f0, 0x1904, 0xd718, 0x080c, 0xe7e5, 0x1904, 0xd718, 0x080c, + 0xd8e5, 0x1904, 0xd3ec, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, + 0x9140, 0x080c, 0x96a6, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, + 0x080c, 0x9140, 0x080c, 0x96a6, 0x0cb0, 0x6007, 0x0005, 0x0c68, + 0x080c, 0xe7e5, 0x1904, 0xd718, 0x080c, 0x32f0, 0x1904, 0xd718, + 0x080c, 0xd8e5, 0x1904, 0xd3ec, 0x6007, 0x0020, 0x6003, 0x0001, + 0x080c, 0x9140, 0x080c, 0x96a6, 0x0005, 0x080c, 0x32f0, 0x1904, + 0xd718, 0x6007, 0x0023, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, + 0x96a6, 0x0005, 0x080c, 0xe7e5, 0x1904, 0xd718, 0x080c, 0x32f0, + 0x1904, 0xd718, 0x080c, 0xd8e5, 0x1904, 0xd3ec, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, - 0x080c, 0xcb38, 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, + 0x080c, 0xcb48, 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, 0x6010, 0x9190, 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, - 0x2c08, 0x9006, 0x080c, 0xe599, 0x1180, 0x7244, 0x9286, 0xffff, + 0x2c08, 0x9006, 0x080c, 0xe5b3, 0x1180, 0x7244, 0x9286, 0xffff, 0x01b0, 0x2160, 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, 0xffff, 0x1180, 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, - 0x1d80, 0x6004, 0x9086, 0x0024, 0x1110, 0x080c, 0xae71, 0x2160, - 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, 0x9121, 0x080c, 0x9687, - 0x00ee, 0x002e, 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x6544, + 0x1d80, 0x6004, 0x9086, 0x0024, 0x1110, 0x080c, 0xae5f, 0x2160, + 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, 0x96a6, + 0x00ee, 0x002e, 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x6552, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, - 0x2011, 0x0276, 0x080c, 0xbe1c, 0x003e, 0x002e, 0x001e, 0x015e, - 0x0120, 0x6007, 0x0031, 0x0804, 0xd4f5, 0x080c, 0xba90, 0x080c, - 0x73a5, 0x1190, 0x0006, 0x0026, 0x0036, 0x080c, 0x73bf, 0x1138, - 0x080c, 0x768d, 0x080c, 0x6023, 0x080c, 0x72d7, 0x0010, 0x080c, - 0x737d, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, 0x32e5, 0x1904, - 0xd708, 0x080c, 0xd8d5, 0x1904, 0xd3dc, 0x6106, 0x080c, 0xd8f1, - 0x1120, 0x6007, 0x002b, 0x0804, 0xd4f5, 0x6007, 0x002c, 0x0804, - 0xd4f5, 0x080c, 0xe7cb, 0x1904, 0xd708, 0x080c, 0x32e5, 0x1904, - 0xd708, 0x080c, 0xd8d5, 0x1904, 0xd3dc, 0x6106, 0x080c, 0xd8f6, - 0x1120, 0x6007, 0x002e, 0x0804, 0xd4f5, 0x6007, 0x002f, 0x0804, - 0xd4f5, 0x080c, 0x32e5, 0x1904, 0xd708, 0x00e6, 0x00d6, 0x00c6, + 0x2011, 0x0276, 0x080c, 0xbe19, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0120, 0x6007, 0x0031, 0x0804, 0xd505, 0x080c, 0xba8d, 0x080c, + 0x73b3, 0x1190, 0x0006, 0x0026, 0x0036, 0x080c, 0x73cd, 0x1138, + 0x080c, 0x7699, 0x080c, 0x602d, 0x080c, 0x72e5, 0x0010, 0x080c, + 0x738b, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, 0x32f0, 0x1904, + 0xd718, 0x080c, 0xd8e5, 0x1904, 0xd3ec, 0x6106, 0x080c, 0xd901, + 0x1120, 0x6007, 0x002b, 0x0804, 0xd505, 0x6007, 0x002c, 0x0804, + 0xd505, 0x080c, 0xe7e5, 0x1904, 0xd718, 0x080c, 0x32f0, 0x1904, + 0xd718, 0x080c, 0xd8e5, 0x1904, 0xd3ec, 0x6106, 0x080c, 0xd906, + 0x1120, 0x6007, 0x002e, 0x0804, 0xd505, 0x6007, 0x002f, 0x0804, + 0xd505, 0x080c, 0x32f0, 0x1904, 0xd718, 0x00e6, 0x00d6, 0x00c6, 0x6010, 0x2058, 0xb904, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, 0x9184, 0xff00, 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, - 0x00ee, 0x0804, 0xd4fc, 0x080c, 0x56dc, 0xd0e4, 0x0904, 0xd653, + 0x00ee, 0x0804, 0xd50c, 0x080c, 0x56e6, 0xd0e4, 0x0904, 0xd663, 0x2071, 0x026c, 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, - 0x080c, 0x6977, 0x0140, 0x6010, 0x2058, 0xb810, 0x9106, 0x1118, - 0xb814, 0x9206, 0x0510, 0x080c, 0x6973, 0x15b8, 0x2069, 0x1800, + 0x080c, 0x6985, 0x0140, 0x6010, 0x2058, 0xb810, 0x9106, 0x1118, + 0xb814, 0x9206, 0x0510, 0x080c, 0x6981, 0x15b8, 0x2069, 0x1800, 0x6880, 0x9206, 0x1590, 0x687c, 0x9106, 0x1578, 0x7210, 0x080c, - 0xcb38, 0x0590, 0x080c, 0xd7c0, 0x0578, 0x080c, 0xe64b, 0x0560, - 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x90d9, 0x080c, - 0x9687, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, - 0x0150, 0x080c, 0xcb38, 0x01c0, 0x9280, 0x0002, 0x2004, 0x7110, + 0xcb48, 0x0590, 0x080c, 0xd7d0, 0x0578, 0x080c, 0xe665, 0x0560, + 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x90f8, 0x080c, + 0x96a6, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, + 0x0150, 0x080c, 0xcb48, 0x01c0, 0x9280, 0x0002, 0x2004, 0x7110, 0x9106, 0x1190, 0x08e0, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, - 0xe599, 0x2c10, 0x2160, 0x0140, 0x0890, 0x6007, 0x0037, 0x602f, + 0xe5b3, 0x2c10, 0x2160, 0x0140, 0x0890, 0x6007, 0x0037, 0x602f, 0x0009, 0x6017, 0x1500, 0x08b8, 0x6007, 0x0037, 0x602f, 0x0003, - 0x6017, 0x1700, 0x0880, 0x6007, 0x0012, 0x0868, 0x080c, 0x32e5, - 0x1904, 0xd708, 0x6010, 0x2058, 0xb804, 0x9084, 0xff00, 0x8007, - 0x9086, 0x0006, 0x1904, 0xd4fc, 0x00e6, 0x00d6, 0x00c6, 0x080c, - 0x56dc, 0xd0e4, 0x0904, 0xd6cb, 0x2069, 0x1800, 0x2071, 0x026c, + 0x6017, 0x1700, 0x0880, 0x6007, 0x0012, 0x0868, 0x080c, 0x32f0, + 0x1904, 0xd718, 0x6010, 0x2058, 0xb804, 0x9084, 0xff00, 0x8007, + 0x9086, 0x0006, 0x1904, 0xd50c, 0x00e6, 0x00d6, 0x00c6, 0x080c, + 0x56e6, 0xd0e4, 0x0904, 0xd6db, 0x2069, 0x1800, 0x2071, 0x026c, 0x7008, 0x603a, 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, - 0x00c6, 0x2c08, 0x9085, 0x0001, 0x080c, 0xe599, 0x2c10, 0x00ce, - 0x05e8, 0x080c, 0xcb38, 0x05d0, 0x7108, 0x9280, 0x0002, 0x2004, + 0x00c6, 0x2c08, 0x9085, 0x0001, 0x080c, 0xe5b3, 0x2c10, 0x00ce, + 0x05e8, 0x080c, 0xcb48, 0x05d0, 0x7108, 0x9280, 0x0002, 0x2004, 0x9106, 0x15a0, 0x00c6, 0x0026, 0x2260, 0x080c, 0xc76e, 0x002e, 0x00ce, 0x7118, 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0178, 0x9186, 0x0005, 0x0118, 0x9186, 0x0007, 0x1198, 0x9280, 0x0005, - 0x2004, 0x9005, 0x0170, 0x080c, 0xd7c0, 0x0904, 0xd64c, 0x0056, - 0x7510, 0x7614, 0x080c, 0xe664, 0x005e, 0x00ce, 0x00de, 0x00ee, + 0x2004, 0x9005, 0x0170, 0x080c, 0xd7d0, 0x0904, 0xd65c, 0x0056, + 0x7510, 0x7614, 0x080c, 0xe67e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, - 0x0001, 0x080c, 0x90d9, 0x080c, 0x9687, 0x0c78, 0x6007, 0x003b, - 0x602f, 0x0003, 0x6017, 0x0300, 0x6003, 0x0001, 0x080c, 0x90d9, - 0x080c, 0x9687, 0x0c10, 0x6007, 0x003b, 0x602f, 0x000b, 0x6017, - 0x0000, 0x0804, 0xd623, 0x00e6, 0x0026, 0x080c, 0x6939, 0x0550, - 0x080c, 0x68d5, 0x080c, 0xe83d, 0x1518, 0x2071, 0x1800, 0x70dc, + 0x0001, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0c78, 0x6007, 0x003b, + 0x602f, 0x0003, 0x6017, 0x0300, 0x6003, 0x0001, 0x080c, 0x90f8, + 0x080c, 0x96a6, 0x0c10, 0x6007, 0x003b, 0x602f, 0x000b, 0x6017, + 0x0000, 0x0804, 0xd633, 0x00e6, 0x0026, 0x080c, 0x6947, 0x0550, + 0x080c, 0x68e3, 0x080c, 0xe857, 0x1518, 0x2071, 0x1800, 0x70dc, 0x9085, 0x0003, 0x70de, 0x00f6, 0x2079, 0x0100, 0x72b0, 0x9284, 0x00ff, 0x707e, 0x78e6, 0x9284, 0xff00, 0x7280, 0x9205, 0x7082, - 0x78ea, 0x00fe, 0x70e7, 0x0000, 0x080c, 0x6977, 0x0120, 0x2011, - 0x19ff, 0x2013, 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2f98, 0x0010, - 0x080c, 0xe86f, 0x002e, 0x00ee, 0x080c, 0xae71, 0x0804, 0xd4fb, - 0x080c, 0xae71, 0x0005, 0x2600, 0x0002, 0xd71f, 0xd750, 0xd761, - 0xd71f, 0xd71f, 0xd721, 0xd772, 0xd71f, 0xd71f, 0xd71f, 0xd73e, - 0xd71f, 0xd71f, 0xd71f, 0xd77d, 0xd78a, 0xd7bb, 0xd71f, 0x080c, - 0x0dd5, 0x080c, 0xe7cb, 0x1d20, 0x080c, 0x32e5, 0x1d08, 0x080c, - 0xd8d5, 0x1148, 0x7038, 0x6016, 0x6007, 0x0045, 0x6003, 0x0001, - 0x080c, 0x9121, 0x0005, 0x080c, 0x31c1, 0x080c, 0xd25f, 0x6007, - 0x0001, 0x6003, 0x0001, 0x080c, 0x9121, 0x0005, 0x080c, 0xe7cb, - 0x1938, 0x080c, 0x32e5, 0x1920, 0x080c, 0xd8d5, 0x1d60, 0x703c, - 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x9121, 0x0005, - 0x080c, 0x32e5, 0x1904, 0xd708, 0x2009, 0x0041, 0x080c, 0xe878, - 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x9121, 0x080c, 0x9687, - 0x0005, 0x080c, 0x32e5, 0x1904, 0xd708, 0x2009, 0x0042, 0x080c, - 0xe878, 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x9121, 0x080c, - 0x9687, 0x0005, 0x080c, 0x32e5, 0x1904, 0xd708, 0x2009, 0x0046, - 0x080c, 0xe878, 0x080c, 0xae71, 0x0005, 0x080c, 0xd7dd, 0x0904, - 0xd708, 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, 0x9121, 0x080c, - 0x9687, 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, 0x7134, 0x918c, + 0x78ea, 0x00fe, 0x70e7, 0x0000, 0x080c, 0x6985, 0x0120, 0x2011, + 0x19ff, 0x2013, 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2fa3, 0x0010, + 0x080c, 0xe889, 0x002e, 0x00ee, 0x080c, 0xae5f, 0x0804, 0xd50b, + 0x080c, 0xae5f, 0x0005, 0x2600, 0x0002, 0xd72f, 0xd760, 0xd771, + 0xd72f, 0xd72f, 0xd731, 0xd782, 0xd72f, 0xd72f, 0xd72f, 0xd74e, + 0xd72f, 0xd72f, 0xd72f, 0xd78d, 0xd79a, 0xd7cb, 0xd72f, 0x080c, + 0x0dd5, 0x080c, 0xe7e5, 0x1d20, 0x080c, 0x32f0, 0x1d08, 0x080c, + 0xd8e5, 0x1148, 0x7038, 0x6016, 0x6007, 0x0045, 0x6003, 0x0001, + 0x080c, 0x9140, 0x0005, 0x080c, 0x31cc, 0x080c, 0xd26f, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x9140, 0x0005, 0x080c, 0xe7e5, + 0x1938, 0x080c, 0x32f0, 0x1920, 0x080c, 0xd8e5, 0x1d60, 0x703c, + 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x9140, 0x0005, + 0x080c, 0x32f0, 0x1904, 0xd718, 0x2009, 0x0041, 0x080c, 0xe892, + 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, 0x96a6, + 0x0005, 0x080c, 0x32f0, 0x1904, 0xd718, 0x2009, 0x0042, 0x080c, + 0xe892, 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, + 0x96a6, 0x0005, 0x080c, 0x32f0, 0x1904, 0xd718, 0x2009, 0x0046, + 0x080c, 0xe892, 0x080c, 0xae5f, 0x0005, 0x080c, 0xd7ed, 0x0904, + 0xd718, 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, 0x9140, 0x080c, + 0x96a6, 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, 0x7134, 0x918c, 0x00ff, 0x81ff, 0x0508, 0x9186, 0x0001, 0x1160, 0x7140, 0x2001, 0x19bc, 0x2004, 0x9106, 0x11b0, 0x7144, 0x2001, 0x19bd, 0x2004, 0x9106, 0x0190, 0x9186, 0x0002, 0x1168, 0x2011, 0x0276, 0x20a9, - 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xbe30, - 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, 0x9121, - 0x080c, 0x9687, 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, 0x0ca0, + 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xbe2d, + 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, 0x9140, + 0x080c, 0x96a6, 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, 0x0ca0, 0x0016, 0x00e6, 0x2071, 0x0260, 0x00b6, 0x00c6, 0x2260, 0x6010, 0x2058, 0xb8cc, 0xd084, 0x0150, 0x7128, 0x6048, 0x9106, 0x1120, 0x712c, 0x6044, 0x9106, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, @@ -6714,831 +6716,833 @@ unsigned short risc_code01[] = { 0x0048, 0x2071, 0x1800, 0x7093, 0x0000, 0x6014, 0x2048, 0x080c, 0x0fb1, 0x9006, 0x012e, 0x01de, 0x01ce, 0x00ee, 0x008e, 0x009e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x918c, - 0xffff, 0x11a8, 0x080c, 0x23ad, 0x2099, 0x026c, 0x2001, 0x0014, + 0xffff, 0x11a8, 0x080c, 0x23b8, 0x2099, 0x026c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x00f8, 0x20a8, 0x4003, - 0x22a8, 0x8108, 0x080c, 0x23ad, 0x2099, 0x0260, 0x0ca8, 0x080c, - 0x23ad, 0x2061, 0x199f, 0x6004, 0x2098, 0x6008, 0x3518, 0x9312, + 0x22a8, 0x8108, 0x080c, 0x23b8, 0x2099, 0x0260, 0x0ca8, 0x080c, + 0x23b8, 0x2061, 0x199f, 0x6004, 0x2098, 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, 0x4003, 0x22a8, 0x8108, - 0x080c, 0x23ad, 0x2099, 0x0260, 0x0ca8, 0x2061, 0x199f, 0x2019, + 0x080c, 0x23b8, 0x2099, 0x0260, 0x0ca8, 0x2061, 0x199f, 0x2019, 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0260, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, - 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, 0x080c, 0x23c5, 0x20a1, + 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, 0x080c, 0x23d0, 0x20a1, 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, 0x22a8, 0x8108, 0x080c, - 0x23c5, 0x20a1, 0x0240, 0x0c98, 0x080c, 0x23c5, 0x2061, 0x19a2, + 0x23d0, 0x20a1, 0x0240, 0x0c98, 0x080c, 0x23d0, 0x2061, 0x19a2, 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, 0x22a8, 0x8108, 0x080c, - 0x23c5, 0x20a1, 0x0240, 0x0c98, 0x2061, 0x19a2, 0x2019, 0x0260, + 0x23d0, 0x20a1, 0x0240, 0x0c98, 0x2061, 0x19a2, 0x2019, 0x0260, 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0240, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, 0x0066, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0170, 0x9686, 0x0004, 0x0158, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, 0x0001, 0x006e, 0x00be, - 0x0005, 0x00d6, 0x080c, 0xd96d, 0x00de, 0x0005, 0x00d6, 0x080c, - 0xd97a, 0x1520, 0x680c, 0x908c, 0xff00, 0x6820, 0x9084, 0x00ff, + 0x0005, 0x00d6, 0x080c, 0xd97d, 0x00de, 0x0005, 0x00d6, 0x080c, + 0xd98a, 0x1520, 0x680c, 0x908c, 0xff00, 0x6820, 0x9084, 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, 0x0130, 0x9006, 0x080c, - 0xe998, 0x2009, 0x0001, 0x0078, 0xd1ec, 0x0180, 0x6920, 0x918c, - 0x00ff, 0x6824, 0x080c, 0x2840, 0x1148, 0x2001, 0x0001, 0x080c, - 0xe998, 0x2110, 0x900e, 0x080c, 0x320a, 0x0018, 0x9085, 0x0001, - 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00c6, 0x080c, 0xaebf, + 0xe9b2, 0x2009, 0x0001, 0x0078, 0xd1ec, 0x0180, 0x6920, 0x918c, + 0x00ff, 0x6824, 0x080c, 0x284b, 0x1148, 0x2001, 0x0001, 0x080c, + 0xe9b2, 0x2110, 0x900e, 0x080c, 0x3215, 0x0018, 0x9085, 0x0001, + 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00c6, 0x080c, 0xaead, 0x05a8, 0x0016, 0x0026, 0x00c6, 0x2011, 0x0263, 0x2204, 0x8211, - 0x220c, 0x080c, 0x2840, 0x1578, 0x080c, 0x65a7, 0x1560, 0xbe12, - 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, 0x6012, 0x080c, 0xe7cb, - 0x11d8, 0x080c, 0x32e5, 0x11c0, 0x080c, 0xd8d5, 0x0510, 0x2001, - 0x0007, 0x080c, 0x6558, 0x2001, 0x0007, 0x080c, 0x6584, 0x6017, + 0x220c, 0x080c, 0x284b, 0x1578, 0x080c, 0x65b5, 0x1560, 0xbe12, + 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, 0x6012, 0x080c, 0xe7e5, + 0x11d8, 0x080c, 0x32f0, 0x11c0, 0x080c, 0xd8e5, 0x0510, 0x2001, + 0x0007, 0x080c, 0x6566, 0x2001, 0x0007, 0x080c, 0x6592, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, - 0x9121, 0x080c, 0x9687, 0x0010, 0x080c, 0xae71, 0x9085, 0x0001, - 0x00ce, 0x00be, 0x0005, 0x080c, 0xae71, 0x00ce, 0x002e, 0x001e, - 0x0ca8, 0x080c, 0xae71, 0x9006, 0x0c98, 0x2069, 0x026d, 0x6800, + 0x9140, 0x080c, 0x96a6, 0x0010, 0x080c, 0xae5f, 0x9085, 0x0001, + 0x00ce, 0x00be, 0x0005, 0x080c, 0xae5f, 0x00ce, 0x002e, 0x001e, + 0x0ca8, 0x080c, 0xae5f, 0x9006, 0x0c98, 0x2069, 0x026d, 0x6800, 0x9082, 0x0010, 0x1228, 0x6017, 0x0000, 0x9085, 0x0001, 0x0008, 0x9006, 0x0005, 0x6017, 0x0000, 0x2069, 0x026c, 0x6808, 0x9084, 0xff00, 0x9086, 0x0800, 0x1190, 0x6904, 0x9186, 0x0018, 0x0118, 0x9186, 0x0014, 0x1158, 0x810f, 0x6800, 0x9084, 0x00ff, 0x910d, 0x615a, 0x908e, 0x0014, 0x0110, 0x908e, 0x0010, 0x0005, 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0dd5, 0x91b6, 0x0013, 0x1130, 0x2008, - 0x91b2, 0x0040, 0x1a04, 0xdac4, 0x0092, 0x91b6, 0x0027, 0x0120, - 0x91b6, 0x0014, 0x190c, 0x0dd5, 0x2001, 0x0007, 0x080c, 0x6584, - 0x080c, 0x957b, 0x080c, 0xaea2, 0x080c, 0x9687, 0x0005, 0xd9f7, - 0xd9f9, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f9, 0xda08, 0xdabd, 0xda5a, - 0xdabd, 0xda6e, 0xdabd, 0xda08, 0xdabd, 0xdab5, 0xdabd, 0xdab5, - 0xdabd, 0xdabd, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, - 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f9, 0xd9f7, 0xdabd, - 0xd9f7, 0xd9f7, 0xdabd, 0xd9f7, 0xdaba, 0xdabd, 0xd9f7, 0xd9f7, - 0xd9f7, 0xd9f7, 0xdabd, 0xdabd, 0xd9f7, 0xdabd, 0xdabd, 0xd9f7, - 0xda03, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, 0xdab9, 0xdabd, 0xd9f7, - 0xd9f7, 0xdabd, 0xdabd, 0xd9f7, 0xd9f7, 0xd9f7, 0xd9f7, 0x080c, - 0x0dd5, 0x080c, 0x957b, 0x080c, 0xd262, 0x6003, 0x0002, 0x080c, - 0x9687, 0x0804, 0xdac3, 0x9006, 0x080c, 0x6544, 0x0804, 0xdabd, - 0x080c, 0x6973, 0x1904, 0xdabd, 0x9006, 0x080c, 0x6544, 0x6010, + 0x91b2, 0x0040, 0x1a04, 0xdad4, 0x0092, 0x91b6, 0x0027, 0x0120, + 0x91b6, 0x0014, 0x190c, 0x0dd5, 0x2001, 0x0007, 0x080c, 0x6592, + 0x080c, 0x959a, 0x080c, 0xae90, 0x080c, 0x96a6, 0x0005, 0xda07, + 0xda09, 0xda07, 0xda07, 0xda07, 0xda09, 0xda18, 0xdacd, 0xda6a, + 0xdacd, 0xda7e, 0xdacd, 0xda18, 0xdacd, 0xdac5, 0xdacd, 0xdac5, + 0xdacd, 0xdacd, 0xda07, 0xda07, 0xda07, 0xda07, 0xda07, 0xda07, + 0xda07, 0xda07, 0xda07, 0xda07, 0xda07, 0xda09, 0xda07, 0xdacd, + 0xda07, 0xda07, 0xdacd, 0xda07, 0xdaca, 0xdacd, 0xda07, 0xda07, + 0xda07, 0xda07, 0xdacd, 0xdacd, 0xda07, 0xdacd, 0xdacd, 0xda07, + 0xda13, 0xda07, 0xda07, 0xda07, 0xda07, 0xdac9, 0xdacd, 0xda07, + 0xda07, 0xdacd, 0xdacd, 0xda07, 0xda07, 0xda07, 0xda07, 0x080c, + 0x0dd5, 0x080c, 0x959a, 0x080c, 0xd272, 0x6003, 0x0002, 0x080c, + 0x96a6, 0x0804, 0xdad3, 0x9006, 0x080c, 0x6552, 0x0804, 0xdacd, + 0x080c, 0x6981, 0x1904, 0xdacd, 0x9006, 0x080c, 0x6552, 0x6010, 0x2058, 0xb810, 0x9086, 0x00ff, 0x1140, 0x00f6, 0x2079, 0x1800, 0x78a8, 0x8000, 0x78aa, 0x00fe, 0x0428, 0x6010, 0x2058, 0xb8c0, - 0x9005, 0x1178, 0x080c, 0xd24a, 0x1904, 0xdabd, 0x0036, 0x0046, - 0xbba0, 0x2021, 0x0007, 0x080c, 0x4ccb, 0x004e, 0x003e, 0x0804, - 0xdabd, 0x080c, 0x3316, 0x1904, 0xdabd, 0x2001, 0x1800, 0x2004, + 0x9005, 0x1178, 0x080c, 0xd25a, 0x1904, 0xdacd, 0x0036, 0x0046, + 0xbba0, 0x2021, 0x0007, 0x080c, 0x4cd5, 0x004e, 0x003e, 0x0804, + 0xdacd, 0x080c, 0x3321, 0x1904, 0xdacd, 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1138, 0x00f6, 0x2079, 0x1800, 0x78a8, 0x8000, - 0x78aa, 0x00fe, 0x2001, 0x0002, 0x080c, 0x6558, 0x080c, 0x957b, - 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9121, - 0x080c, 0x9687, 0x6110, 0x2158, 0x2009, 0x0001, 0x080c, 0x84ea, - 0x0804, 0xdac3, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, - 0x9686, 0x0006, 0x0904, 0xdabd, 0x9686, 0x0004, 0x0904, 0xdabd, - 0x080c, 0x8ca4, 0x2001, 0x0004, 0x0804, 0xdabb, 0x2001, 0x1800, + 0x78aa, 0x00fe, 0x2001, 0x0002, 0x080c, 0x6566, 0x080c, 0x959a, + 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9140, + 0x080c, 0x96a6, 0x6110, 0x2158, 0x2009, 0x0001, 0x080c, 0x8507, + 0x0804, 0xdad3, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, + 0x9686, 0x0006, 0x0904, 0xdacd, 0x9686, 0x0004, 0x0904, 0xdacd, + 0x080c, 0x8cc3, 0x2001, 0x0004, 0x0804, 0xdacb, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, - 0xbba0, 0x2021, 0x0006, 0x080c, 0x4ccb, 0x004e, 0x003e, 0x2001, - 0x0006, 0x080c, 0xdae1, 0x6610, 0x2658, 0xbe04, 0x0066, 0x96b4, + 0xbba0, 0x2021, 0x0006, 0x080c, 0x4cd5, 0x004e, 0x003e, 0x2001, + 0x0006, 0x080c, 0xdaf1, 0x6610, 0x2658, 0xbe04, 0x0066, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x006e, 0x0168, 0x2001, 0x0006, - 0x080c, 0x6584, 0x9284, 0x00ff, 0x908e, 0x0007, 0x1120, 0x2001, - 0x0006, 0x080c, 0x6558, 0x080c, 0x6973, 0x11f8, 0x2001, 0x1837, + 0x080c, 0x6592, 0x9284, 0x00ff, 0x908e, 0x0007, 0x1120, 0x2001, + 0x0006, 0x080c, 0x6566, 0x080c, 0x6981, 0x11f8, 0x2001, 0x1837, 0x2004, 0xd0a4, 0x01d0, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x01a0, 0x00f6, 0x2079, 0x1800, 0x78a8, 0x8000, 0x78aa, 0x00fe, - 0x0804, 0xda42, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, 0x0449, - 0x0020, 0x0018, 0x0010, 0x080c, 0x6584, 0x080c, 0x957b, 0x080c, - 0xae71, 0x080c, 0x9687, 0x0005, 0x2600, 0x0002, 0xdad8, 0xdad8, - 0xdad8, 0xdad8, 0xdad8, 0xdada, 0xdad8, 0xdada, 0xdad8, 0xdad8, - 0xdada, 0xdad8, 0xdad8, 0xdad8, 0xdada, 0xdada, 0xdada, 0xdada, - 0x080c, 0x0dd5, 0x080c, 0x957b, 0x080c, 0xae71, 0x080c, 0x9687, + 0x0804, 0xda52, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, 0x0449, + 0x0020, 0x0018, 0x0010, 0x080c, 0x6592, 0x080c, 0x959a, 0x080c, + 0xae5f, 0x080c, 0x96a6, 0x0005, 0x2600, 0x0002, 0xdae8, 0xdae8, + 0xdae8, 0xdae8, 0xdae8, 0xdaea, 0xdae8, 0xdaea, 0xdae8, 0xdae8, + 0xdaea, 0xdae8, 0xdae8, 0xdae8, 0xdaea, 0xdaea, 0xdaea, 0xdaea, + 0x080c, 0x0dd5, 0x080c, 0x959a, 0x080c, 0xae5f, 0x080c, 0x96a6, 0x0005, 0x0016, 0x00b6, 0x00d6, 0x6110, 0x2158, 0xb900, 0xd184, - 0x0138, 0x080c, 0x6558, 0x9006, 0x080c, 0x6544, 0x080c, 0x31ea, + 0x0138, 0x080c, 0x6566, 0x9006, 0x080c, 0x6552, 0x080c, 0x31f5, 0x00de, 0x00be, 0x001e, 0x0005, 0x6610, 0x2658, 0xb804, 0x9084, 0xff00, 0x8007, 0x90b2, 0x000c, 0x1a0c, 0x0dd5, 0x91b6, 0x0015, 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, 0x0dd5, 0x006b, - 0x0005, 0xb90d, 0xb90d, 0xb90d, 0xb90d, 0xdb76, 0xb90d, 0xdb60, - 0xdb21, 0xb90d, 0xb90d, 0xb90d, 0xb90d, 0xb90d, 0xb90d, 0xb90d, - 0xb90d, 0xdb76, 0xb90d, 0xdb60, 0xdb67, 0xb90d, 0xb90d, 0xb90d, - 0xb90d, 0x00f6, 0x080c, 0x6973, 0x11d8, 0x080c, 0xd24a, 0x11c0, + 0x0005, 0xb90a, 0xb90a, 0xb90a, 0xb90a, 0xdb86, 0xb90a, 0xdb70, + 0xdb31, 0xb90a, 0xb90a, 0xb90a, 0xb90a, 0xb90a, 0xb90a, 0xb90a, + 0xb90a, 0xdb86, 0xb90a, 0xdb70, 0xdb77, 0xb90a, 0xb90a, 0xb90a, + 0xb90a, 0x00f6, 0x080c, 0x6981, 0x11d8, 0x080c, 0xd25a, 0x11c0, 0x6010, 0x905d, 0x01a8, 0xb8c0, 0x9005, 0x0190, 0x9006, 0x080c, - 0x6544, 0x2001, 0x0002, 0x080c, 0x6558, 0x6023, 0x0001, 0x6003, - 0x0001, 0x6007, 0x0002, 0x080c, 0x9121, 0x080c, 0x9687, 0x00f0, - 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2840, 0x11b0, - 0x080c, 0x6608, 0x0118, 0x080c, 0xae71, 0x0080, 0xb810, 0x0006, - 0xb814, 0x0006, 0xb8c0, 0x0006, 0x080c, 0x603d, 0x000e, 0xb8c2, - 0x000e, 0xb816, 0x000e, 0xb812, 0x080c, 0xae71, 0x00fe, 0x0005, - 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, 0xae71, 0x0005, 0x080c, - 0xbc98, 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9121, - 0x080c, 0x9687, 0x0010, 0x080c, 0xae71, 0x0005, 0x0804, 0xae71, - 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0dd5, 0x080c, 0x957b, 0x080c, - 0xaea2, 0x080c, 0x9687, 0x0005, 0x9182, 0x0040, 0x0002, 0xdb9a, - 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9c, 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9a, - 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9a, 0xdb9a, - 0xdb9a, 0xdb9a, 0x080c, 0x0dd5, 0x0096, 0x00b6, 0x00d6, 0x00e6, - 0x00f6, 0x0046, 0x0026, 0x6210, 0x2258, 0xb8bc, 0x9005, 0x11a8, - 0x6106, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, 0xdc02, - 0x080c, 0xe98c, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, 0x0001, - 0x2011, 0x0200, 0x080c, 0x86c6, 0x0020, 0x9026, 0x080c, 0xe810, - 0x0c38, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0x6003, 0x0007, 0xa867, - 0x010d, 0x9006, 0xa802, 0xa86a, 0xac8a, 0x2c00, 0xa88e, 0x6008, - 0xa8e2, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa97a, 0x0016, 0xa876, - 0xa87f, 0x0000, 0xa883, 0x0000, 0xa887, 0x0036, 0x080c, 0x6c86, - 0x001e, 0x080c, 0xe98c, 0x1904, 0xdc62, 0x9486, 0x2000, 0x1130, - 0x2019, 0x0017, 0x080c, 0xe543, 0x0804, 0xdc62, 0x9486, 0x0200, - 0x1120, 0x080c, 0xe4df, 0x0804, 0xdc62, 0x9486, 0x0400, 0x0120, - 0x9486, 0x1000, 0x1904, 0xdc62, 0x2019, 0x0002, 0x080c, 0xe4fa, - 0x0804, 0xdc62, 0x2069, 0x1a70, 0x6a00, 0xd284, 0x0904, 0xdccc, - 0x9284, 0x0300, 0x1904, 0xdcc5, 0x6804, 0x9005, 0x0904, 0xdcad, - 0x2d78, 0x6003, 0x0007, 0x080c, 0x1018, 0x0904, 0xdc6e, 0x7800, - 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, 0x2001, - 0x180f, 0x2004, 0xd084, 0x1904, 0xdcd0, 0x9006, 0xa802, 0xa867, - 0x0116, 0xa86a, 0x6008, 0xa8e2, 0x2c00, 0xa87a, 0x6010, 0x2058, - 0xb8a0, 0x7130, 0xa9b6, 0xa876, 0xb928, 0xa9ba, 0xb92c, 0xa9be, - 0xb930, 0xa9c2, 0xb934, 0xa9c6, 0xa883, 0x003d, 0x7044, 0x9084, - 0x0003, 0x9080, 0xdc6a, 0x2005, 0xa87e, 0x20a9, 0x000a, 0x2001, - 0x0270, 0xaa5c, 0x9290, 0x0021, 0x2009, 0x0205, 0x200b, 0x0080, - 0x20e1, 0x0000, 0xab60, 0x23e8, 0x2098, 0x22a0, 0x4003, 0x200b, - 0x0000, 0x2001, 0x027a, 0x200c, 0xa9b2, 0x8000, 0x200c, 0xa9ae, - 0x080c, 0x6c86, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, 0x00be, - 0x009e, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, 0x1810, - 0x2004, 0xd084, 0x0120, 0x080c, 0x0fff, 0x1904, 0xdc17, 0x6017, - 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x90d9, 0x080c, - 0x9687, 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, 0x9086, - 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, 0x918c, - 0xf700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, 0x0043, - 0x080c, 0x90d9, 0x080c, 0x9687, 0x0828, 0x6868, 0x602e, 0x686c, - 0x6032, 0x6017, 0xf200, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x0804, 0xdc62, 0x2001, 0x180e, 0x2004, - 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x4b14, 0x6017, 0xf300, - 0x0010, 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x0804, 0xdc62, 0x6017, 0xf500, 0x0c98, - 0x6017, 0xf600, 0x0804, 0xdc82, 0x6017, 0xf200, 0x0804, 0xdc82, - 0xa867, 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, 0xa87a, - 0x7044, 0x9084, 0x0003, 0x9080, 0xdc6a, 0x2005, 0xa87e, 0x2928, - 0x6010, 0x2058, 0xb8a0, 0xa876, 0xb828, 0xa88a, 0xb82c, 0xa88e, - 0xb830, 0xa892, 0xb834, 0xa896, 0xa883, 0x003d, 0x2009, 0x0205, - 0x2104, 0x9085, 0x0080, 0x200a, 0x20e1, 0x0000, 0x2011, 0x0210, - 0x2214, 0x9294, 0x0fff, 0xaaa2, 0x9282, 0x0111, 0x1a0c, 0x0dd5, - 0x8210, 0x821c, 0x2001, 0x026c, 0x2098, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0029, 0x20a0, 0x2011, 0xdd4c, 0x2041, 0x0001, 0x223d, - 0x9784, 0x00ff, 0x9322, 0x1208, 0x2300, 0x20a8, 0x4003, 0x931a, - 0x0530, 0x8210, 0xd7fc, 0x1130, 0x8d68, 0x2d0a, 0x2001, 0x0260, - 0x2098, 0x0c68, 0x2950, 0x080c, 0x1018, 0x0170, 0x2900, 0xb002, - 0xa867, 0x0147, 0xa86b, 0x0000, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x001b, 0x20a0, 0x8840, 0x08d8, 0x2548, 0xa800, 0x902d, 0x0118, - 0x080c, 0x1031, 0x0cc8, 0x080c, 0x1031, 0x0804, 0xdc6e, 0x2548, - 0x8847, 0x9885, 0x0046, 0xa866, 0x2009, 0x0205, 0x200b, 0x0000, - 0x080c, 0xe572, 0x0804, 0xdc62, 0x8010, 0x0004, 0x801a, 0x0006, - 0x8018, 0x0008, 0x8016, 0x000a, 0x8014, 0x9186, 0x0013, 0x1160, - 0x6004, 0x908a, 0x0054, 0x1a0c, 0x0dd5, 0x9082, 0x0040, 0x0a0c, - 0x0dd5, 0x2008, 0x0804, 0xddfd, 0x9186, 0x0051, 0x0108, 0x00c0, - 0x2001, 0x0109, 0x2004, 0xd084, 0x0904, 0xddae, 0x0126, 0x2091, - 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, 0x8fbe, 0x002e, 0x001e, - 0x000e, 0x012e, 0x6000, 0x9086, 0x0002, 0x1580, 0x0804, 0xde45, - 0x9186, 0x0027, 0x0530, 0x9186, 0x0048, 0x0128, 0x9186, 0x0014, - 0x0500, 0x190c, 0x0dd5, 0x2001, 0x0109, 0x2004, 0xd084, 0x01f0, - 0x00c6, 0x0126, 0x2091, 0x2800, 0x00c6, 0x2061, 0x0100, 0x0006, - 0x0016, 0x0026, 0x080c, 0x8fbe, 0x002e, 0x001e, 0x000e, 0x00ce, - 0x012e, 0x00ce, 0x6000, 0x9086, 0x0004, 0x190c, 0x0dd5, 0x0804, - 0xdf26, 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, 0x080c, 0xaf07, - 0x0005, 0xddc4, 0xddc6, 0xddc6, 0xdded, 0xddc4, 0xddc4, 0xddc4, - 0xddc4, 0xddc4, 0xddc4, 0xddc4, 0xddc4, 0xddc4, 0xddc4, 0xddc4, - 0xddc4, 0xddc4, 0xddc4, 0xddc4, 0x080c, 0x0dd5, 0x080c, 0x957b, - 0x080c, 0x9687, 0x0036, 0x0096, 0x6014, 0x904d, 0x01d8, 0x080c, - 0xcb4a, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, 0xe572, 0x6017, - 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x1986, 0x2004, 0x601a, - 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x0096, 0x080c, 0x957b, - 0x080c, 0x9687, 0x080c, 0xcb4a, 0x0120, 0x6014, 0x2048, 0x080c, - 0x1031, 0x080c, 0xaea2, 0x009e, 0x0005, 0x0002, 0xde11, 0xde28, - 0xde13, 0xde3f, 0xde11, 0xde11, 0xde11, 0xde11, 0xde11, 0xde11, - 0xde11, 0xde11, 0xde11, 0xde11, 0xde11, 0xde11, 0xde11, 0xde11, - 0xde11, 0x080c, 0x0dd5, 0x0096, 0x080c, 0x957b, 0x6014, 0x2048, - 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, 0x080c, - 0xaeec, 0x0010, 0x6003, 0x0004, 0x080c, 0x9687, 0x009e, 0x0005, - 0x080c, 0x957b, 0x080c, 0xcb4a, 0x0138, 0x6114, 0x0096, 0x2148, - 0xa97c, 0x009e, 0xd1ec, 0x1138, 0x080c, 0x869b, 0x080c, 0xae71, - 0x080c, 0x9687, 0x0005, 0x080c, 0xe7d4, 0x0db0, 0x0cc8, 0x080c, - 0x957b, 0x2009, 0x0041, 0x0804, 0xdfae, 0x9182, 0x0040, 0x0002, - 0xde5b, 0xde5d, 0xde5b, 0xde5b, 0xde5b, 0xde5b, 0xde5b, 0xde5b, - 0xde5b, 0xde5b, 0xde5b, 0xde5b, 0xde5b, 0xde5b, 0xde5b, 0xde5b, - 0xde5b, 0xde5e, 0xde5b, 0x080c, 0x0dd5, 0x0005, 0x00d6, 0x080c, - 0x869b, 0x00de, 0x080c, 0xe82c, 0x080c, 0xae71, 0x0005, 0x9182, - 0x0040, 0x0002, 0xde7d, 0xde7d, 0xde7d, 0xde7d, 0xde7d, 0xde7d, - 0xde7d, 0xde7d, 0xde7d, 0xde7f, 0xdeee, 0xde7d, 0xde7d, 0xde7d, - 0xde7d, 0xdeee, 0xde7d, 0xde7d, 0xde7d, 0x080c, 0x0dd5, 0x2001, - 0x0105, 0x2004, 0x9084, 0x1800, 0x01c8, 0x2001, 0x0132, 0x200c, - 0x2001, 0x0131, 0x2004, 0x9105, 0x1904, 0xdeee, 0x2009, 0x180c, - 0x2104, 0xd0d4, 0x0904, 0xdeee, 0xc0d4, 0x200a, 0x2009, 0x0105, - 0x2104, 0x9084, 0xe7fd, 0x9085, 0x0010, 0x200a, 0x2001, 0x1867, - 0x2004, 0xd0e4, 0x1528, 0x603b, 0x0000, 0x080c, 0x9637, 0x6014, - 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x0188, 0x908c, 0x0003, 0x918e, - 0x0002, 0x0508, 0x2001, 0x180c, 0x2004, 0xd0d4, 0x11e0, 0x080c, - 0x97b5, 0x2009, 0x0041, 0x009e, 0x0804, 0xdfae, 0x080c, 0x97b5, - 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x869b, 0x009e, 0x0005, - 0x2001, 0x0100, 0x2004, 0x9082, 0x0005, 0x0aa8, 0x2001, 0x011f, - 0x2004, 0x603a, 0x0890, 0x2001, 0x180c, 0x200c, 0xc1d4, 0x2102, - 0xd1cc, 0x0110, 0x080c, 0x2c54, 0x080c, 0x97b5, 0x6014, 0x2048, - 0xa97c, 0xd1ec, 0x1130, 0x080c, 0x869b, 0x080c, 0xae71, 0x009e, - 0x0005, 0x080c, 0xe7d4, 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, - 0x200c, 0xc1d4, 0x2102, 0x0036, 0x080c, 0x9637, 0x080c, 0x97b5, - 0x6014, 0x0096, 0x2048, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, - 0xd0bc, 0x0188, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, - 0xa8ac, 0x6330, 0x931a, 0x6332, 0xa8b0, 0x632c, 0x931b, 0x632e, - 0x6003, 0x0002, 0x0080, 0x2019, 0x0004, 0x080c, 0xe572, 0x6018, - 0x9005, 0x1128, 0x2001, 0x1986, 0x2004, 0x8003, 0x601a, 0x6017, - 0x0000, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, - 0x0002, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, - 0xdf3d, 0xdf3f, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, - 0xdf3d, 0xdf3d, 0xdf3d, 0xdf3d, 0xdf8a, 0x080c, 0x0dd5, 0x6014, - 0x0096, 0x2048, 0xa834, 0xaa38, 0x6110, 0x00b6, 0x2158, 0xb900, - 0x00be, 0xd1bc, 0x1190, 0x920d, 0x1518, 0xa87c, 0xd0fc, 0x0128, - 0x2009, 0x0041, 0x009e, 0x0804, 0xdfae, 0x6003, 0x0007, 0x601b, - 0x0000, 0x080c, 0x869b, 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, - 0x0006, 0x0046, 0xacac, 0x9422, 0xa9b0, 0x2200, 0x910b, 0x6030, - 0x9420, 0x6432, 0x602c, 0x9109, 0x612e, 0x004e, 0x000e, 0x08d8, - 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1178, 0x2009, - 0x180e, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, - 0x0006, 0x00e9, 0x080c, 0x869d, 0x009e, 0x0005, 0x6003, 0x0002, - 0x009e, 0x0005, 0x6024, 0xd0f4, 0x0128, 0x080c, 0x15e7, 0x1904, - 0xdf3f, 0x0005, 0x6014, 0x0096, 0x2048, 0xa834, 0xa938, 0x009e, - 0x9105, 0x1120, 0x080c, 0x15e7, 0x1904, 0xdf3f, 0x0005, 0xd2fc, - 0x0140, 0x8002, 0x8000, 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, - 0x0010, 0x2009, 0x0015, 0xaa9a, 0xa896, 0x0005, 0x9182, 0x0040, - 0x0208, 0x0062, 0x9186, 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, - 0x0dd5, 0x6024, 0xd0dc, 0x090c, 0x0dd5, 0x0005, 0xdfd1, 0xdfdd, - 0xdfe9, 0xdff5, 0xdfd1, 0xdfd1, 0xdfd1, 0xdfd1, 0xdfd8, 0xdfd3, - 0xdfd3, 0xdfd1, 0xdfd1, 0xdfd1, 0xdfd1, 0xdfd3, 0xdfd1, 0xdfd3, - 0xdfd1, 0x080c, 0x0dd5, 0x6024, 0xd0dc, 0x090c, 0x0dd5, 0x0005, - 0x6014, 0x9005, 0x190c, 0x0dd5, 0x0005, 0x6003, 0x0001, 0x6106, - 0x080c, 0x90d9, 0x0126, 0x2091, 0x8000, 0x080c, 0x9687, 0x012e, - 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x90d9, 0x0126, 0x2091, - 0x8000, 0x080c, 0x9687, 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, - 0x2c10, 0x080c, 0x1baf, 0x0126, 0x2091, 0x8000, 0x080c, 0x913e, - 0x080c, 0x97b5, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, - 0x0096, 0x9182, 0x0040, 0x0023, 0x009e, 0x003e, 0x012e, 0x0005, - 0xe020, 0xe022, 0xe034, 0xe04e, 0xe020, 0xe020, 0xe020, 0xe020, - 0xe020, 0xe020, 0xe020, 0xe020, 0xe020, 0xe020, 0xe020, 0xe020, - 0x080c, 0x0dd5, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x01f8, 0x909c, - 0x0003, 0x939e, 0x0003, 0x01d0, 0x6003, 0x0001, 0x6106, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x0470, 0x6014, 0x2048, 0xa87c, 0xd0fc, - 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, 0x6003, 0x0001, - 0x6106, 0x080c, 0x90d9, 0x080c, 0x9687, 0x00e0, 0x901e, 0x6316, - 0x631a, 0x2019, 0x0004, 0x080c, 0xe572, 0x00a0, 0x6014, 0x2048, - 0xa87c, 0xd0fc, 0x0d98, 0x909c, 0x0003, 0x939e, 0x0003, 0x0d70, - 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x1baf, 0x080c, 0x913e, - 0x080c, 0x97b5, 0x0005, 0x080c, 0x957b, 0x6114, 0x81ff, 0x0158, - 0x0096, 0x2148, 0x080c, 0xe929, 0x0036, 0x2019, 0x0029, 0x080c, - 0xe572, 0x003e, 0x009e, 0x080c, 0xaea2, 0x080c, 0x9687, 0x0005, - 0x080c, 0x9637, 0x6114, 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, - 0xe929, 0x0036, 0x2019, 0x0029, 0x080c, 0xe572, 0x003e, 0x009e, - 0x080c, 0xaea2, 0x080c, 0x97b5, 0x0005, 0x9182, 0x0085, 0x0002, - 0xe09f, 0xe09d, 0xe09d, 0xe0ab, 0xe09d, 0xe09d, 0xe09d, 0xe09d, - 0xe09d, 0xe09d, 0xe09d, 0xe09d, 0xe09d, 0x080c, 0x0dd5, 0x6003, - 0x000b, 0x6106, 0x080c, 0x90d9, 0x0126, 0x2091, 0x8000, 0x080c, - 0x9687, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, 0xe7cb, 0x0118, - 0x080c, 0xae71, 0x0450, 0x2071, 0x0260, 0x7224, 0x6216, 0x2001, - 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, 0x00b6, 0x2058, 0xbca0, - 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0xb192, 0x7220, 0x080c, - 0xe418, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, 0x0087, 0x7224, - 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, 0x0001, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x080c, 0x97b5, 0x00ee, 0x002e, 0x0005, - 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0dd5, - 0x908a, 0x0092, 0x1a0c, 0x0dd5, 0x9082, 0x0085, 0x00a2, 0x9186, - 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, 0xaf07, 0x0050, - 0x2001, 0x0007, 0x080c, 0x6584, 0x080c, 0x957b, 0x080c, 0xaea2, - 0x080c, 0x9687, 0x0005, 0xe110, 0xe112, 0xe112, 0xe110, 0xe110, - 0xe110, 0xe110, 0xe110, 0xe110, 0xe110, 0xe110, 0xe110, 0xe110, - 0x080c, 0x0dd5, 0x080c, 0x957b, 0x080c, 0xaea2, 0x080c, 0x9687, - 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0dd5, 0x9182, 0x0092, 0x1a0c, - 0x0dd5, 0x9182, 0x0085, 0x0002, 0xe131, 0xe131, 0xe131, 0xe133, - 0xe131, 0xe131, 0xe131, 0xe131, 0xe131, 0xe131, 0xe131, 0xe131, - 0xe131, 0x080c, 0x0dd5, 0x0005, 0x9186, 0x0013, 0x0148, 0x9186, - 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, 0xaf07, 0x0030, - 0x080c, 0x957b, 0x080c, 0xaea2, 0x080c, 0x9687, 0x0005, 0x0036, - 0x080c, 0xe82c, 0x6043, 0x0000, 0x2019, 0x000b, 0x0031, 0x6023, - 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, 0x0036, 0x2091, - 0x8000, 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, 0xa69d, 0x009e, - 0x008e, 0x1550, 0x0076, 0x2c38, 0x080c, 0xa748, 0x007e, 0x1520, - 0x6000, 0x9086, 0x0000, 0x0500, 0x6020, 0x9086, 0x0007, 0x01e0, - 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xe82c, 0x080c, 0xd262, - 0x080c, 0x1a60, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, 0xcb4a, - 0x0110, 0x080c, 0xe572, 0x009e, 0x6017, 0x0000, 0x080c, 0xe82c, - 0x6023, 0x0007, 0x080c, 0xd262, 0x003e, 0x012e, 0x0005, 0x00f6, - 0x00c6, 0x00b6, 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, 0x783c, - 0x080c, 0x2840, 0x15c8, 0x0016, 0x00c6, 0x080c, 0x6608, 0x1590, - 0x001e, 0x00c6, 0x2160, 0x080c, 0xd25f, 0x00ce, 0x002e, 0x0026, - 0x0016, 0x2019, 0x0029, 0x080c, 0xa80e, 0x080c, 0x927e, 0x0076, - 0x903e, 0x080c, 0x9151, 0x007e, 0x001e, 0x0076, 0x903e, 0x080c, - 0xe30c, 0x007e, 0x0026, 0xba04, 0x9294, 0xff00, 0x8217, 0x9286, - 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, 0xbaa0, 0x080c, 0x327f, - 0x002e, 0xbcc0, 0x001e, 0x080c, 0x603d, 0xbe12, 0xbd16, 0xbcc2, - 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, 0x00be, 0x00ce, - 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, 0x0016, 0x2009, 0x1824, - 0x2104, 0x9086, 0x0074, 0x1904, 0xe233, 0x2069, 0x0260, 0x6944, - 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, 0x8000, 0x0904, 0xe230, - 0x2001, 0x197b, 0x2004, 0x9005, 0x1140, 0x6010, 0x2058, 0xb8c0, - 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, 0x6948, 0x918a, 0x0001, - 0x0648, 0x080c, 0xe991, 0x0118, 0x6978, 0xd1fc, 0x11b8, 0x2009, - 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, 0x6944, 0x9182, - 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, 0x918a, 0x0001, - 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, 0x6017, 0x0100, - 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, 0x0070, 0x6017, - 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, 0x0b00, 0x0028, - 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, 0x0001, 0x0008, - 0x9006, 0x001e, 0x00be, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00b6, - 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, 0xbb04, 0x9394, 0x00ff, - 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, 0x0168, 0x9394, 0xff00, - 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, 0x0004, 0x0120, 0x080c, - 0x6617, 0x0804, 0xe29b, 0x2011, 0x0276, 0x20a9, 0x0004, 0x0096, - 0x2b48, 0x2019, 0x000a, 0x080c, 0xbe30, 0x009e, 0x15a8, 0x2011, - 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, - 0xbe30, 0x009e, 0x1548, 0x0046, 0x0016, 0xbaa0, 0x2220, 0x9006, - 0x2009, 0x1848, 0x210c, 0xd1a4, 0x0138, 0x2009, 0x0029, 0x080c, - 0xe5cf, 0xb800, 0xc0e5, 0xb802, 0x2019, 0x0029, 0x080c, 0x927e, - 0x0076, 0x2039, 0x0000, 0x080c, 0x9151, 0x2c08, 0x080c, 0xe30c, - 0x007e, 0x2001, 0x0007, 0x080c, 0x6584, 0x2001, 0x0007, 0x080c, - 0x6558, 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, 0x002e, 0x00be, - 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, 0x9086, 0x0800, - 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, - 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, 0x026c, 0x7930, - 0x7834, 0x080c, 0x2840, 0x11d0, 0x080c, 0x6608, 0x11b8, 0x2011, - 0x0270, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, - 0xbe30, 0x009e, 0x1158, 0x2011, 0x0274, 0x20a9, 0x0004, 0x0096, - 0x2b48, 0x2019, 0x0006, 0x080c, 0xbe30, 0x009e, 0x015e, 0x003e, - 0x002e, 0x001e, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x0006, 0x0016, - 0x0026, 0x0036, 0x0156, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, - 0x080c, 0x2840, 0x11d0, 0x080c, 0x6608, 0x11b8, 0x2011, 0x0276, - 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbe30, - 0x009e, 0x1158, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, - 0x2019, 0x0006, 0x080c, 0xbe30, 0x009e, 0x015e, 0x003e, 0x002e, - 0x001e, 0x000e, 0x00be, 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, - 0x0066, 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, - 0x2029, 0x19ef, 0x252c, 0x2021, 0x19f5, 0x2424, 0x2061, 0x1cd0, - 0x2071, 0x1800, 0x7654, 0x7074, 0x81ff, 0x0150, 0x0006, 0x9186, - 0x1aaf, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, 0xe3a9, 0x0018, - 0x9606, 0x0904, 0xe3a9, 0x080c, 0x896a, 0x0904, 0xe3a0, 0x2100, - 0x9c06, 0x0904, 0xe3a0, 0x080c, 0xe610, 0x1904, 0xe3a0, 0x080c, - 0xe9ae, 0x0904, 0xe3a0, 0x080c, 0xe600, 0x0904, 0xe3a0, 0x6720, - 0x9786, 0x0001, 0x1148, 0x080c, 0x3316, 0x0904, 0xe3e8, 0x6004, - 0x9086, 0x0000, 0x1904, 0xe3e8, 0x9786, 0x0004, 0x0904, 0xe3e8, - 0x9786, 0x0007, 0x0904, 0xe3a0, 0x2500, 0x9c06, 0x0904, 0xe3a0, - 0x2400, 0x9c06, 0x05e8, 0x88ff, 0x0118, 0x6054, 0x9906, 0x15c0, - 0x0096, 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x1a60, - 0x001e, 0x9786, 0x000a, 0x0148, 0x080c, 0xcd50, 0x1130, 0x080c, - 0xb824, 0x009e, 0x080c, 0xaea2, 0x0418, 0x6014, 0x2048, 0x080c, - 0xcb4a, 0x01d8, 0x9786, 0x0003, 0x1570, 0xa867, 0x0103, 0xa87c, - 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fb1, 0x009e, - 0xab7a, 0xa877, 0x0000, 0x080c, 0xe929, 0x0016, 0x080c, 0xce3e, - 0x080c, 0x6c7a, 0x001e, 0x080c, 0xcd33, 0x009e, 0x080c, 0xaea2, - 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1210, 0x0804, - 0xe320, 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, - 0x00ce, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1150, 0x9386, 0x0005, - 0x0128, 0x080c, 0xe929, 0x080c, 0xe572, 0x08f8, 0x009e, 0x0c00, - 0x9786, 0x0009, 0x11f8, 0x6000, 0x9086, 0x0004, 0x01c0, 0x6000, - 0x9086, 0x0003, 0x11a0, 0x080c, 0x9637, 0x0096, 0x6114, 0x2148, - 0x080c, 0xcb4a, 0x0118, 0x6010, 0x080c, 0x6c86, 0x009e, 0x00c6, - 0x080c, 0xae71, 0x00ce, 0x0036, 0x080c, 0x97b5, 0x003e, 0x009e, - 0x0804, 0xe3a0, 0x9786, 0x000a, 0x0904, 0xe387, 0x0804, 0xe385, - 0x81ff, 0x0904, 0xe3a0, 0x9180, 0x0001, 0x2004, 0x9086, 0x0018, - 0x0138, 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, 0x1904, 0xe3a0, - 0x6000, 0x9086, 0x0002, 0x1904, 0xe3a0, 0x080c, 0xcd3f, 0x0138, - 0x080c, 0xcd50, 0x1904, 0xe3a0, 0x080c, 0xb824, 0x0038, 0x080c, - 0x31ea, 0x080c, 0xcd50, 0x1110, 0x080c, 0xb824, 0x080c, 0xaea2, - 0x0804, 0xe3a0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x0005, - 0x00c6, 0x00e6, 0x0016, 0x2c08, 0x2170, 0x9006, 0x080c, 0xe599, - 0x001e, 0x0120, 0x6020, 0x9084, 0x000f, 0x001b, 0x00ee, 0x00ce, - 0x0005, 0xe437, 0xe437, 0xe437, 0xe437, 0xe437, 0xe437, 0xe439, - 0xe437, 0xe437, 0xe437, 0xe437, 0xaea2, 0xaea2, 0xe437, 0x9006, - 0x0005, 0x0036, 0x0046, 0x0016, 0x7010, 0x00b6, 0x2058, 0xbca0, - 0x00be, 0x2c00, 0x2009, 0x0020, 0x080c, 0xe5cf, 0x001e, 0x004e, - 0x2019, 0x0002, 0x080c, 0xe155, 0x003e, 0x9085, 0x0001, 0x0005, - 0x0096, 0x080c, 0xcb4a, 0x0140, 0x6014, 0x904d, 0x080c, 0xc77b, - 0x687b, 0x0005, 0x080c, 0x6c86, 0x009e, 0x080c, 0xaea2, 0x9085, - 0x0001, 0x0005, 0x2001, 0x0001, 0x080c, 0x6544, 0x0156, 0x0016, - 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, - 0x080c, 0xbe1c, 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0005, - 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x00b6, 0x0126, - 0x2091, 0x8000, 0x2740, 0x2061, 0x1cd0, 0x2079, 0x0001, 0x8fff, - 0x0904, 0xe4d2, 0x2071, 0x1800, 0x7654, 0x7074, 0x8001, 0x9602, - 0x1a04, 0xe4d2, 0x88ff, 0x0120, 0x2800, 0x9c06, 0x1590, 0x2078, - 0x080c, 0xe600, 0x0570, 0x2400, 0x9c06, 0x0558, 0x6720, 0x9786, - 0x0006, 0x1538, 0x9786, 0x0007, 0x0520, 0x88ff, 0x1140, 0x6010, - 0x9b06, 0x11f8, 0x85ff, 0x0118, 0x6054, 0x9106, 0x11d0, 0x0096, - 0x601c, 0xd084, 0x0140, 0x080c, 0xe82c, 0x080c, 0xd262, 0x080c, - 0x1a60, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, 0xcb4a, 0x0120, - 0x0046, 0x080c, 0xe572, 0x004e, 0x009e, 0x080c, 0xaea2, 0x88ff, - 0x1198, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1210, - 0x0804, 0xe487, 0x9006, 0x012e, 0x00be, 0x006e, 0x007e, 0x008e, - 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x98c5, 0x0001, 0x0ca0, 0x00b6, - 0x0076, 0x0056, 0x0086, 0x9046, 0x2029, 0x0001, 0x2c20, 0x2019, - 0x0002, 0x6210, 0x2258, 0x0096, 0x904e, 0x080c, 0xa69d, 0x009e, - 0x008e, 0x903e, 0x080c, 0xa748, 0x080c, 0xe478, 0x005e, 0x007e, - 0x00be, 0x0005, 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, - 0x2c20, 0x2128, 0x20a9, 0x007f, 0x900e, 0x0016, 0x0036, 0x080c, - 0x6608, 0x1190, 0x0056, 0x0086, 0x9046, 0x2508, 0x2029, 0x0001, - 0x0096, 0x904e, 0x080c, 0xa69d, 0x009e, 0x008e, 0x903e, 0x080c, - 0xa748, 0x080c, 0xe478, 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, - 0xe505, 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, 0x00be, 0x0005, - 0x00b6, 0x0076, 0x0056, 0x6210, 0x2258, 0x0086, 0x9046, 0x2029, - 0x0001, 0x2019, 0x0048, 0x0096, 0x904e, 0x080c, 0xa69d, 0x009e, - 0x008e, 0x903e, 0x080c, 0xa748, 0x2c20, 0x080c, 0xe478, 0x005e, - 0x007e, 0x00be, 0x0005, 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, - 0x0156, 0x2c20, 0x20a9, 0x0800, 0x900e, 0x0016, 0x0036, 0x080c, - 0x6608, 0x11a0, 0x0086, 0x9046, 0x2828, 0x0046, 0x2021, 0x0001, - 0x080c, 0xe810, 0x004e, 0x0096, 0x904e, 0x080c, 0xa69d, 0x009e, - 0x008e, 0x903e, 0x080c, 0xa748, 0x080c, 0xe478, 0x003e, 0x001e, - 0x8108, 0x1f04, 0xe54d, 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, - 0x00be, 0x0005, 0x0016, 0x00f6, 0x080c, 0xcb48, 0x0198, 0xa864, - 0x9084, 0x00ff, 0x9086, 0x0046, 0x0180, 0xa800, 0x907d, 0x0138, - 0xa803, 0x0000, 0xab82, 0x080c, 0x6c86, 0x2f48, 0x0cb0, 0xab82, - 0x080c, 0x6c86, 0x00fe, 0x001e, 0x0005, 0xa800, 0x907d, 0x0130, - 0xa803, 0x0000, 0x080c, 0x6c86, 0x2f48, 0x0cb8, 0x080c, 0x6c86, - 0x0c88, 0x00e6, 0x0046, 0x0036, 0x2061, 0x1cd0, 0x9005, 0x1138, - 0x2071, 0x1800, 0x7454, 0x7074, 0x8001, 0x9402, 0x12f8, 0x2100, - 0x9c06, 0x0188, 0x6000, 0x9086, 0x0000, 0x0168, 0x6008, 0x9206, - 0x1150, 0x6320, 0x9386, 0x0009, 0x01b0, 0x6010, 0x91a0, 0x0004, - 0x2424, 0x9406, 0x0140, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, - 0x9c02, 0x1220, 0x0c20, 0x9085, 0x0001, 0x0008, 0x9006, 0x003e, - 0x004e, 0x00ee, 0x0005, 0x631c, 0xd3c4, 0x1d68, 0x0c30, 0x0096, - 0x0006, 0x080c, 0x0fff, 0x000e, 0x090c, 0x0dd5, 0xaae2, 0xa867, - 0x010d, 0xa88e, 0x0026, 0x2010, 0x080c, 0xcb38, 0x2001, 0x0000, - 0x0120, 0x2200, 0x9080, 0x0015, 0x2004, 0x002e, 0xa87a, 0x9186, - 0x0020, 0x0110, 0xa8e3, 0xffff, 0xa986, 0xac76, 0xa87f, 0x0000, - 0x2001, 0x198d, 0x2004, 0xa882, 0x9006, 0xa802, 0xa86a, 0xa88a, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6c86, 0x012e, 0x009e, 0x0005, - 0x6700, 0x9786, 0x0000, 0x0158, 0x9786, 0x0001, 0x0140, 0x9786, - 0x000a, 0x0128, 0x9786, 0x0009, 0x0110, 0x9085, 0x0001, 0x0005, - 0x00e6, 0x6010, 0x9075, 0x0138, 0x00b6, 0x2058, 0xb8a0, 0x00be, - 0x9206, 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cd8, 0x0016, 0x6004, - 0x908e, 0x001e, 0x11a0, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, - 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0005, 0x2001, - 0x1986, 0x2004, 0x601a, 0x080c, 0x90d9, 0x080c, 0x9687, 0x001e, - 0x0005, 0xa001, 0xa001, 0x0005, 0x6024, 0xd0e4, 0x0158, 0xd0cc, - 0x0118, 0x080c, 0xce82, 0x0030, 0x080c, 0xe82c, 0x080c, 0x869b, - 0x080c, 0xae71, 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, - 0x0002, 0xe65f, 0xe65f, 0xe65f, 0xe661, 0xe65f, 0xe661, 0xe661, - 0xe65f, 0xe661, 0xe65f, 0xe65f, 0xe65f, 0xe65f, 0xe65f, 0x9006, - 0x0005, 0x9085, 0x0001, 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, - 0x000f, 0x0002, 0xe678, 0xe678, 0xe678, 0xe678, 0xe678, 0xe678, - 0xe685, 0xe678, 0xe678, 0xe678, 0xe678, 0xe678, 0xe678, 0xe678, - 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, - 0x080c, 0x90d9, 0x080c, 0x9687, 0x0005, 0x0096, 0x00c6, 0x2260, - 0x080c, 0xe82c, 0x6043, 0x0000, 0x6024, 0xc0f4, 0xc0e4, 0x6026, - 0x603b, 0x0000, 0x00ce, 0x00d6, 0x2268, 0x9186, 0x0007, 0x1904, - 0xe6de, 0x6814, 0x9005, 0x0138, 0x2048, 0xa87c, 0xd0fc, 0x1118, - 0x00de, 0x009e, 0x08a8, 0x6007, 0x003a, 0x6003, 0x0001, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, - 0x1904, 0xe755, 0x6014, 0x9005, 0x1138, 0x6000, 0x9086, 0x0007, - 0x190c, 0x0dd5, 0x0804, 0xe755, 0x2048, 0x080c, 0xcb4a, 0x1130, - 0x0028, 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, 0x2048, 0xa87c, - 0x9084, 0x0003, 0x9086, 0x0002, 0x1168, 0xa87c, 0xc0dc, 0xc0f4, - 0xa87e, 0xa880, 0xc0fc, 0xa882, 0x2009, 0x0043, 0x080c, 0xdfae, - 0x0804, 0xe755, 0x2009, 0x0041, 0x0804, 0xe74f, 0x9186, 0x0005, - 0x15a0, 0x6814, 0x2048, 0xa87c, 0xd0bc, 0x1120, 0x00de, 0x009e, - 0x0804, 0xe678, 0xd0b4, 0x0128, 0xd0fc, 0x090c, 0x0dd5, 0x0804, - 0xe699, 0x6007, 0x003a, 0x6003, 0x0001, 0x080c, 0x90d9, 0x080c, - 0x9687, 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, - 0x0004, 0x1904, 0xe755, 0x6814, 0x2048, 0xa97c, 0xc1f4, 0xc1dc, - 0xa97e, 0xa980, 0xc1fc, 0xc1bc, 0xa982, 0x00f6, 0x2c78, 0x080c, - 0x1727, 0x00fe, 0x2009, 0x0042, 0x04d0, 0x0036, 0x080c, 0x0fff, - 0x090c, 0x0dd5, 0xa867, 0x010d, 0x9006, 0xa802, 0xa86a, 0xa88a, - 0x2d18, 0xab8e, 0xa887, 0x0045, 0x2c00, 0xa892, 0x6038, 0xa8a2, - 0x2360, 0x6024, 0xc0dd, 0x6026, 0x6010, 0x00b6, 0x2058, 0xb8a0, - 0x00be, 0x2004, 0x6354, 0xab7a, 0xa876, 0x9006, 0xa87e, 0xa882, - 0xad9a, 0xae96, 0xa89f, 0x0001, 0x080c, 0x6c86, 0x2019, 0x0045, - 0x6008, 0x2068, 0x080c, 0xe155, 0x2d00, 0x600a, 0x6023, 0x0006, - 0x6003, 0x0007, 0x901e, 0x631a, 0x6342, 0x003e, 0x0038, 0x6043, - 0x0000, 0x6003, 0x0007, 0x080c, 0xdfae, 0x00ce, 0x00de, 0x009e, - 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, - 0x00c2, 0x9186, 0x0027, 0x1178, 0x080c, 0x957b, 0x0036, 0x0096, - 0x6014, 0x2048, 0x2019, 0x0004, 0x080c, 0xe572, 0x009e, 0x003e, - 0x080c, 0x9687, 0x0005, 0x9186, 0x0014, 0x0d70, 0x080c, 0xaf07, - 0x0005, 0xe788, 0xe786, 0xe786, 0xe786, 0xe786, 0xe786, 0xe788, - 0xe786, 0xe786, 0xe786, 0xe786, 0xe786, 0xe786, 0x080c, 0x0dd5, - 0x080c, 0x957b, 0x6003, 0x000c, 0x080c, 0x9687, 0x0005, 0x9182, - 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x001a, 0x080c, 0xaf07, - 0x0005, 0xe7a6, 0xe7a6, 0xe7a6, 0xe7a6, 0xe7a8, 0xe7c8, 0xe7a6, - 0xe7a6, 0xe7a6, 0xe7a6, 0xe7a6, 0xe7a6, 0xe7a6, 0x080c, 0x0dd5, - 0x00d6, 0x2c68, 0x080c, 0xae1b, 0x01b0, 0x6003, 0x0001, 0x6007, - 0x001e, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, - 0x613e, 0x600b, 0xffff, 0x6910, 0x6112, 0x6023, 0x0004, 0x080c, - 0x90d9, 0x080c, 0x9687, 0x2d60, 0x080c, 0xae71, 0x00de, 0x0005, - 0x080c, 0xae71, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0ec, 0x00ee, 0x0005, 0x2009, 0x1867, 0x210c, 0xd1ec, - 0x05b0, 0x6003, 0x0002, 0x6024, 0xc0e5, 0x6026, 0xd0cc, 0x0150, - 0x2001, 0x1987, 0x2004, 0x6042, 0x2009, 0x1867, 0x210c, 0xd1f4, - 0x1520, 0x00a0, 0x2009, 0x1867, 0x210c, 0xd1f4, 0x0128, 0x6024, - 0xc0e4, 0x6026, 0x9006, 0x00d8, 0x2001, 0x1987, 0x200c, 0x2001, - 0x1985, 0x2004, 0x9100, 0x9080, 0x000a, 0x6042, 0x6010, 0x00b6, - 0x2058, 0xb8bc, 0x00be, 0x0008, 0x2104, 0x9005, 0x0118, 0x9088, - 0x0003, 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0x9085, 0x0001, 0x0005, - 0x0016, 0x00c6, 0x00e6, 0x6154, 0xb8bc, 0x2060, 0x8cff, 0x0180, - 0x84ff, 0x1118, 0x6054, 0x9106, 0x1138, 0x600c, 0x2072, 0x080c, - 0x869b, 0x080c, 0xae71, 0x0010, 0x9cf0, 0x0003, 0x2e64, 0x0c70, - 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x00b6, 0x6010, 0x2058, - 0xb8bc, 0x2068, 0x9005, 0x0130, 0x9c06, 0x0110, 0x680c, 0x0cd0, - 0x600c, 0x680e, 0x00be, 0x00de, 0x0005, 0x0026, 0x0036, 0x0156, - 0x2011, 0x182c, 0x2204, 0x9084, 0x00ff, 0x2019, 0x026e, 0x2334, - 0x9636, 0x1508, 0x8318, 0x2334, 0x2204, 0x9084, 0xff00, 0x9636, - 0x11d0, 0x2011, 0x0270, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, - 0x2019, 0x000a, 0x080c, 0xbe30, 0x009e, 0x1168, 0x2011, 0x0274, - 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x0006, 0x080c, - 0xbe30, 0x009e, 0x1100, 0x015e, 0x003e, 0x002e, 0x0005, 0x00e6, - 0x2071, 0x1800, 0x080c, 0x5fb6, 0x080c, 0x2f98, 0x00ee, 0x0005, - 0x0096, 0x0026, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0xa85c, 0x9080, - 0x001a, 0x20a0, 0x20a9, 0x000c, 0xa860, 0x20e8, 0x9006, 0x4004, - 0x9186, 0x0046, 0x1118, 0xa867, 0x0136, 0x0038, 0xa867, 0x0138, - 0x9186, 0x0041, 0x0110, 0xa87b, 0x0001, 0x7038, 0x9084, 0xff00, - 0x7240, 0x9294, 0xff00, 0x8007, 0x9215, 0xaa9a, 0x9186, 0x0046, - 0x1168, 0x7038, 0x9084, 0x00ff, 0x723c, 0x9294, 0xff00, 0x9215, - 0xaa9e, 0x723c, 0x9294, 0x00ff, 0xaaa2, 0x0060, 0x7040, 0x9084, - 0x00ff, 0x7244, 0x9294, 0xff00, 0x9215, 0xaa9e, 0x7244, 0x9294, - 0x00ff, 0xaaa2, 0x9186, 0x0046, 0x1118, 0x9e90, 0x0012, 0x0010, - 0x9e90, 0x001a, 0x2204, 0x8007, 0xa8a6, 0x8210, 0x2204, 0x8007, - 0xa8aa, 0x8210, 0x2204, 0x8007, 0xa8ae, 0x8210, 0x2204, 0x8007, - 0xa8b2, 0x8210, 0x9186, 0x0046, 0x11b8, 0x9e90, 0x0016, 0x2204, - 0x8007, 0xa8b6, 0x8210, 0x2204, 0x8007, 0xa8ba, 0x8210, 0x2204, - 0x8007, 0xa8be, 0x8210, 0x2204, 0x8007, 0xa8c2, 0x8210, 0x2011, - 0x0205, 0x2013, 0x0001, 0x00b0, 0x9e90, 0x001e, 0x2204, 0x8007, - 0xa8b6, 0x8210, 0x2204, 0x8007, 0xa8ba, 0x2011, 0x0205, 0x2013, - 0x0001, 0x2011, 0x0260, 0x2204, 0x8007, 0xa8be, 0x8210, 0x2204, - 0x8007, 0xa8c2, 0x9186, 0x0046, 0x1118, 0x2011, 0x0262, 0x0010, - 0x2011, 0x026a, 0x0146, 0x01d6, 0x0036, 0x20a9, 0x0001, 0x2019, - 0x0008, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, 0x2204, - 0x8007, 0x4004, 0x8210, 0x8319, 0x1dd0, 0x003e, 0x01ce, 0x013e, - 0x2011, 0x0205, 0x2013, 0x0000, 0x002e, 0x080c, 0x6c86, 0x009e, - 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0fc, - 0x0108, 0x0011, 0x00ee, 0x0005, 0xa880, 0xc0e5, 0xa882, 0x0005, - 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, - 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, 0x19ef, 0x252c, 0x2021, - 0x19f5, 0x2424, 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7654, 0x7074, - 0x9606, 0x0578, 0x6720, 0x9786, 0x0001, 0x0118, 0x9786, 0x0008, - 0x1500, 0x2500, 0x9c06, 0x01e8, 0x2400, 0x9c06, 0x01d0, 0x080c, - 0xe600, 0x01b8, 0x080c, 0xe610, 0x11a0, 0x6000, 0x9086, 0x0004, - 0x1120, 0x0016, 0x080c, 0x1a60, 0x001e, 0x080c, 0xcd3f, 0x1110, - 0x080c, 0x31ea, 0x080c, 0xcd50, 0x1110, 0x080c, 0xb824, 0x080c, - 0xaea2, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1208, - 0x0858, 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, - 0x00ce, 0x00de, 0x00ee, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0dc, - 0x0005, 0x0006, 0x2001, 0x1837, 0x2004, 0xd09c, 0x000e, 0x0005, - 0x0006, 0x0036, 0x0046, 0x080c, 0xd24a, 0x0168, 0x2019, 0xffff, - 0x9005, 0x0128, 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, - 0x0004, 0x080c, 0x4ccb, 0x004e, 0x003e, 0x000e, 0x6004, 0x9086, - 0x0001, 0x1128, 0x080c, 0xa80e, 0x080c, 0xaea2, 0x9006, 0x0005, - 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x2061, 0x1cd0, 0x2071, 0x1800, - 0x7454, 0x7074, 0x8001, 0x9402, 0x12b8, 0x2100, 0x9c06, 0x0148, - 0x6000, 0x9086, 0x0000, 0x0128, 0x6010, 0x2058, 0xb8a0, 0x9206, - 0x0140, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1220, - 0x0c60, 0x9085, 0x0001, 0x0008, 0x9006, 0x004e, 0x00be, 0x00ce, - 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, - 0x2071, 0x1840, 0xd5a4, 0x0118, 0x7004, 0x8000, 0x7006, 0xd5b4, - 0x0118, 0x7000, 0x8000, 0x7002, 0xd5ac, 0x0178, 0x2500, 0x9084, - 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, 0x0130, 0x908e, - 0x0005, 0x0118, 0x2071, 0xfffe, 0x0089, 0x001e, 0x00ee, 0x000e, - 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, - 0xfff6, 0x0021, 0x00ee, 0x000e, 0x012e, 0x0005, 0x2e05, 0x8000, - 0x2077, 0x1220, 0x8e70, 0x2e05, 0x8000, 0x2077, 0x0005, 0x00e6, - 0x2071, 0xfff4, 0x0c99, 0x00ee, 0x0005, 0x00e6, 0x2071, 0xfff8, - 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, - 0x2071, 0x1840, 0x7014, 0x8000, 0x7016, 0x00ee, 0x000e, 0x012e, - 0x0005, 0x0003, 0x000b, 0x079e, 0x0000, 0xc000, 0x0001, 0x8064, - 0x0008, 0x0010, 0x0000, 0x8066, 0x0000, 0x0101, 0x0008, 0x4407, - 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, 0x580d, 0x000b, 0x79a8, - 0x000b, 0x50ee, 0x000b, 0x4c0a, 0x0003, 0xbac0, 0x0009, 0x008a, - 0x0000, 0x0c0a, 0x000b, 0x15fe, 0x0008, 0x340a, 0x0003, 0xc4c0, - 0x0009, 0x7000, 0x0000, 0xffa0, 0x0001, 0x2000, 0x0000, 0x1668, - 0x000b, 0x808c, 0x0008, 0x0001, 0x0000, 0x0000, 0x0007, 0x4028, - 0x0000, 0x4047, 0x000a, 0x808c, 0x0008, 0x0002, 0x0000, 0x0822, - 0x0003, 0x4022, 0x0000, 0x0028, 0x000b, 0x4122, 0x0008, 0x94c0, - 0x0009, 0xff00, 0x0008, 0xffe0, 0x0009, 0x0500, 0x0008, 0x0a93, - 0x000b, 0x4447, 0x0002, 0x0e90, 0x0003, 0x0bfe, 0x0008, 0x11a0, - 0x0001, 0x126e, 0x0003, 0x0ca0, 0x0001, 0x126e, 0x0003, 0x9180, - 0x0001, 0x0004, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, - 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4436, 0x000b, 0x808c, - 0x0008, 0x0000, 0x0008, 0x0060, 0x0008, 0x8062, 0x0008, 0x0004, - 0x0000, 0x8066, 0x0000, 0x0411, 0x0000, 0x443e, 0x0003, 0x03fe, - 0x0000, 0x43e0, 0x0001, 0x0e6b, 0x000b, 0xc2c0, 0x0009, 0x00ff, - 0x0008, 0x02e0, 0x0001, 0x0e6b, 0x000b, 0x9180, 0x0001, 0x0005, - 0x0008, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, - 0x0000, 0x0019, 0x0000, 0x444d, 0x000b, 0x0240, 0x0002, 0x0a68, - 0x0003, 0x00fe, 0x0000, 0x326b, 0x000b, 0x0248, 0x000a, 0x085c, - 0x0003, 0x9180, 0x0001, 0x0006, 0x0008, 0x7f62, 0x0008, 0x8002, - 0x0008, 0x0003, 0x0008, 0x8066, 0x0000, 0x020a, 0x0000, 0x445b, - 0x0003, 0x112a, 0x0000, 0x002e, 0x0008, 0x022c, 0x0008, 0x3a44, - 0x0002, 0x0c0a, 0x000b, 0x808c, 0x0008, 0x0002, 0x0000, 0x1760, - 0x0008, 0x8062, 0x0008, 0x000f, 0x0008, 0x8066, 0x0000, 0x0011, - 0x0008, 0x4468, 0x0003, 0x01fe, 0x0008, 0x42e0, 0x0009, 0x0e5c, - 0x0003, 0x00fe, 0x0000, 0x43e0, 0x0001, 0x0e5c, 0x0003, 0x1734, - 0x0000, 0x1530, 0x0000, 0x1632, 0x0008, 0x0d2a, 0x0008, 0x9880, - 0x0001, 0x0010, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, - 0x0008, 0x8066, 0x0000, 0x1e0a, 0x0008, 0x447a, 0x0003, 0x808a, - 0x0008, 0x0003, 0x0008, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0002, - 0x0000, 0x5880, 0x000b, 0x8066, 0x0000, 0x3679, 0x0000, 0x4483, - 0x0003, 0x5884, 0x0003, 0x3efe, 0x0008, 0x7f4f, 0x0002, 0x088a, - 0x000b, 0x0d00, 0x0000, 0x0092, 0x000c, 0x8054, 0x0008, 0x0011, - 0x0008, 0x8074, 0x0000, 0x1010, 0x0008, 0x1efe, 0x0000, 0x300a, - 0x000b, 0x00c8, 0x000c, 0x000a, 0x000b, 0x00fe, 0x0000, 0x349a, - 0x0003, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0007, 0x0000, 0x8066, - 0x0000, 0x0231, 0x0008, 0x4499, 0x000b, 0x03fe, 0x0000, 0x04d0, - 0x0001, 0x0cc0, 0x000b, 0x82c0, 0x0001, 0x1f00, 0x0000, 0xffa0, - 0x0001, 0x0400, 0x0000, 0x08af, 0x0003, 0x14c0, 0x000b, 0x01fe, - 0x0008, 0x0580, 0x0009, 0x7f06, 0x0000, 0x02fe, 0x0008, 0xffc0, - 0x0001, 0x00ff, 0x0008, 0x0690, 0x0001, 0x10af, 0x0003, 0x7f08, - 0x0008, 0x84c0, 0x0001, 0xff00, 0x0008, 0x08c0, 0x0003, 0x00fe, - 0x0000, 0x34b6, 0x000b, 0x8072, 0x0000, 0x1010, 0x0008, 0x3944, - 0x0002, 0x08b1, 0x0003, 0x00ba, 0x0003, 0x8072, 0x0000, 0x2020, - 0x0008, 0x3945, 0x000a, 0x08b6, 0x000b, 0x3946, 0x000a, 0x0cc7, - 0x0003, 0x0000, 0x0007, 0x3943, 0x000a, 0x08c7, 0x000b, 0x00ba, - 0x0003, 0x00fe, 0x0000, 0x34c5, 0x0003, 0x8072, 0x0000, 0x1000, - 0x0000, 0x00c7, 0x0003, 0x8072, 0x0000, 0x2000, 0x0000, 0x4000, - 0x000f, 0x1c60, 0x0000, 0x1b62, 0x0000, 0x8066, 0x0000, 0x0231, - 0x0008, 0x44cc, 0x000b, 0x58cd, 0x000b, 0x0140, 0x0008, 0x0242, - 0x0000, 0x1f43, 0x0002, 0x0cdb, 0x000b, 0x0d44, 0x0000, 0x0d46, - 0x0008, 0x0348, 0x0008, 0x044a, 0x0008, 0x030a, 0x0008, 0x040c, - 0x0000, 0x0d06, 0x0000, 0x0d08, 0x0008, 0x00df, 0x0003, 0x0344, - 0x0008, 0x0446, 0x0008, 0x0548, 0x0008, 0x064a, 0x0000, 0x1948, - 0x000a, 0x08e2, 0x0003, 0x0d4a, 0x0008, 0x58e2, 0x0003, 0x3efe, - 0x0008, 0x7f4f, 0x0002, 0x08e9, 0x000b, 0x8000, 0x0000, 0x0001, - 0x0000, 0x0092, 0x000c, 0x8054, 0x0008, 0x0001, 0x0000, 0x8074, - 0x0000, 0x2020, 0x0008, 0x4000, 0x000f, 0x3a40, 0x000a, 0x0c0d, - 0x0003, 0x2b24, 0x0008, 0x2b24, 0x0008, 0x58f2, 0x000b, 0x8054, - 0x0008, 0x0002, 0x0000, 0x1242, 0x0002, 0x0940, 0x0003, 0x3a45, - 0x000a, 0x092f, 0x0003, 0x8072, 0x0000, 0x1000, 0x0000, 0x3945, - 0x000a, 0x08ff, 0x0003, 0x8072, 0x0000, 0x3010, 0x0000, 0x1e10, - 0x000a, 0x7f3c, 0x0000, 0x092a, 0x0003, 0x1d00, 0x0002, 0x7f3a, - 0x0000, 0x0d60, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, - 0x0008, 0x4508, 0x000b, 0x00fe, 0x0000, 0x3527, 0x000b, 0x1c60, + 0x6552, 0x2001, 0x0002, 0x080c, 0x6566, 0x6023, 0x0001, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x9140, 0x080c, 0x96a6, 0x00f0, + 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x284b, 0x11b0, + 0x080c, 0x6616, 0x0118, 0x080c, 0xae5f, 0x0080, 0xb810, 0x0006, + 0xb814, 0x0006, 0xb8c0, 0x0006, 0x080c, 0x6047, 0x000e, 0xb8c2, + 0x000e, 0xb816, 0x000e, 0xb812, 0x080c, 0xae5f, 0x00fe, 0x0005, + 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, 0xae5f, 0x0005, 0x080c, + 0xbc95, 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9140, + 0x080c, 0x96a6, 0x0010, 0x080c, 0xae5f, 0x0005, 0x0804, 0xae5f, + 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0dd5, 0x080c, 0x959a, 0x080c, + 0xae90, 0x080c, 0x96a6, 0x0005, 0x9182, 0x0040, 0x0002, 0xdbab, + 0xdbab, 0xdbab, 0xdbab, 0xdbad, 0xdbab, 0xdbab, 0xdbab, 0xdbab, + 0xdbab, 0xdbab, 0xdbab, 0xdbab, 0xdbab, 0xdbab, 0xdbab, 0xdbab, + 0xdbab, 0xdbab, 0xdbab, 0x080c, 0x0dd5, 0x0096, 0x00b6, 0x00d6, + 0x00e6, 0x00f6, 0x0046, 0x0026, 0x6210, 0x2258, 0xb8bc, 0x9005, + 0x11a8, 0x6106, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, + 0xdc13, 0x080c, 0xe9a6, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, + 0x0001, 0x2011, 0x0200, 0x080c, 0x86e3, 0x0020, 0x9026, 0x080c, + 0xe82a, 0x0c38, 0x080c, 0x0fff, 0x090c, 0x0dd5, 0x6003, 0x0007, + 0xa867, 0x010d, 0x9006, 0xa802, 0xa86a, 0xac8a, 0x2c00, 0xa88e, + 0x6008, 0xa8e2, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa97a, 0x0016, + 0xa876, 0xa87f, 0x0000, 0xa883, 0x0000, 0xa887, 0x0036, 0x080c, + 0x6c94, 0x001e, 0x080c, 0xe9a6, 0x1904, 0xdc73, 0x9486, 0x2000, + 0x1130, 0x2019, 0x0017, 0x080c, 0xe55d, 0x0804, 0xdc73, 0x9486, + 0x0200, 0x1120, 0x080c, 0xe4f9, 0x0804, 0xdc73, 0x9486, 0x0400, + 0x0120, 0x9486, 0x1000, 0x1904, 0xdc73, 0x2019, 0x0002, 0x080c, + 0xe514, 0x0804, 0xdc73, 0x2069, 0x1a70, 0x6a00, 0xd284, 0x0904, + 0xdcdd, 0x9284, 0x0300, 0x1904, 0xdcd6, 0x6804, 0x9005, 0x0904, + 0xdcbe, 0x2d78, 0x6003, 0x0007, 0x080c, 0x1018, 0x0904, 0xdc7f, + 0x7800, 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, + 0x2001, 0x180f, 0x2004, 0xd084, 0x1904, 0xdce1, 0x9006, 0xa802, + 0xa867, 0x0116, 0xa86a, 0x6008, 0xa8e2, 0x2c00, 0xa87a, 0x6010, + 0x2058, 0xb8a0, 0x7130, 0xa9b6, 0xa876, 0xb928, 0xa9ba, 0xb92c, + 0xa9be, 0xb930, 0xa9c2, 0xb934, 0xa9c6, 0xa883, 0x003d, 0x7044, + 0x9084, 0x0003, 0x9080, 0xdc7b, 0x2005, 0xa87e, 0x20a9, 0x000a, + 0x2001, 0x0270, 0xaa5c, 0x9290, 0x0021, 0x2009, 0x0205, 0x200b, + 0x0080, 0x20e1, 0x0000, 0xab60, 0x23e8, 0x2098, 0x22a0, 0x4003, + 0x200b, 0x0000, 0x2001, 0x027a, 0x200c, 0xa9b2, 0x8000, 0x200c, + 0xa9ae, 0x080c, 0x6c94, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, + 0x00be, 0x009e, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, + 0x1810, 0x2004, 0xd084, 0x0120, 0x080c, 0x0fff, 0x1904, 0xdc28, + 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x90f8, + 0x080c, 0x96a6, 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, + 0x9086, 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, + 0x918c, 0xf700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, + 0x0043, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0828, 0x6868, 0x602e, + 0x686c, 0x6032, 0x6017, 0xf200, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0804, 0xdc73, 0x2001, 0x180e, + 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x4b1e, 0x6017, + 0xf300, 0x0010, 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, + 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0804, 0xdc73, 0x6017, 0xf500, + 0x0c98, 0x6017, 0xf600, 0x0804, 0xdc93, 0x6017, 0xf200, 0x0804, + 0xdc93, 0xa867, 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, + 0xa87a, 0x7044, 0x9084, 0x0003, 0x9080, 0xdc7b, 0x2005, 0xa87e, + 0x2928, 0x6010, 0x2058, 0xb8a0, 0xa876, 0xb828, 0xa88a, 0xb82c, + 0xa88e, 0xb830, 0xa892, 0xb834, 0xa896, 0xa883, 0x003d, 0x2009, + 0x0205, 0x2104, 0x9085, 0x0080, 0x200a, 0x20e1, 0x0000, 0x2011, + 0x0210, 0x2214, 0x9294, 0x0fff, 0xaaa2, 0x9282, 0x0111, 0x1a0c, + 0x0dd5, 0x8210, 0x821c, 0x2001, 0x026c, 0x2098, 0xa860, 0x20e8, + 0xa85c, 0x9080, 0x0029, 0x20a0, 0x2011, 0xdd5d, 0x2041, 0x0001, + 0x223d, 0x9784, 0x00ff, 0x9322, 0x1208, 0x2300, 0x20a8, 0x4003, + 0x931a, 0x0530, 0x8210, 0xd7fc, 0x1130, 0x8d68, 0x2d0a, 0x2001, + 0x0260, 0x2098, 0x0c68, 0x2950, 0x080c, 0x1018, 0x0170, 0x2900, + 0xb002, 0xa867, 0x0147, 0xa86b, 0x0000, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x001b, 0x20a0, 0x8840, 0x08d8, 0x2548, 0xa800, 0x902d, + 0x0118, 0x080c, 0x1031, 0x0cc8, 0x080c, 0x1031, 0x0804, 0xdc7f, + 0x2548, 0x8847, 0x9885, 0x0046, 0xa866, 0x2009, 0x0205, 0x200b, + 0x0000, 0x080c, 0xe58c, 0x0804, 0xdc73, 0x8010, 0x0004, 0x801a, + 0x0006, 0x8018, 0x0008, 0x8016, 0x000a, 0x8014, 0x9186, 0x0013, + 0x1160, 0x6004, 0x908a, 0x0054, 0x1a0c, 0x0dd5, 0x9082, 0x0040, + 0x0a0c, 0x0dd5, 0x2008, 0x0804, 0xde0f, 0x9186, 0x0051, 0x0108, + 0x00c0, 0x2001, 0x0109, 0x2004, 0xd084, 0x0904, 0xddbf, 0x0126, + 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, 0x8fdd, 0x002e, + 0x001e, 0x000e, 0x012e, 0x6000, 0x9086, 0x0002, 0x1580, 0x0804, + 0xde58, 0x9186, 0x0027, 0x0530, 0x9186, 0x0048, 0x0128, 0x9186, + 0x0014, 0x0500, 0x190c, 0x0dd5, 0x2001, 0x0109, 0x2004, 0xd084, + 0x01f0, 0x00c6, 0x0126, 0x2091, 0x2800, 0x00c6, 0x2061, 0x0100, + 0x0006, 0x0016, 0x0026, 0x080c, 0x8fdd, 0x002e, 0x001e, 0x000e, + 0x00ce, 0x012e, 0x00ce, 0x6000, 0x9086, 0x0004, 0x190c, 0x0dd5, + 0x0804, 0xdf3b, 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, 0x080c, + 0xaef5, 0x0005, 0xddd6, 0xddd8, 0xddd8, 0xddff, 0xddd6, 0xddd6, + 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0xddd6, + 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0xddd6, 0x080c, 0x0dd5, + 0x080c, 0x959a, 0x080c, 0x96a6, 0x0036, 0x0096, 0x6014, 0x904d, + 0x01d8, 0x080c, 0xcb5a, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, + 0xe58c, 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x1986, + 0x2004, 0x601a, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x0096, + 0x080c, 0x959a, 0x080c, 0x96a6, 0x080c, 0xcb5a, 0x0120, 0x6014, + 0x2048, 0x080c, 0x1031, 0x080c, 0xae90, 0x009e, 0x0005, 0x0002, + 0xde24, 0xde3b, 0xde26, 0xde52, 0xde24, 0xde24, 0xde24, 0xde24, + 0xde24, 0xde24, 0xde24, 0xde24, 0xde24, 0xde24, 0xde24, 0xde24, + 0xde24, 0xde24, 0xde24, 0xde24, 0x080c, 0x0dd5, 0x0096, 0x080c, + 0x959a, 0x6014, 0x2048, 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, + 0x2009, 0x0043, 0x080c, 0xaeda, 0x0010, 0x6003, 0x0004, 0x080c, + 0x96a6, 0x009e, 0x0005, 0x080c, 0x959a, 0x080c, 0xcb5a, 0x0138, + 0x6114, 0x0096, 0x2148, 0xa97c, 0x009e, 0xd1ec, 0x1138, 0x080c, + 0x86b8, 0x080c, 0xae5f, 0x080c, 0x96a6, 0x0005, 0x080c, 0xe7ee, + 0x0db0, 0x0cc8, 0x080c, 0x959a, 0x2009, 0x0041, 0x0804, 0xdfc3, + 0x9182, 0x0040, 0x0002, 0xde6f, 0xde71, 0xde6f, 0xde6f, 0xde6f, + 0xde6f, 0xde6f, 0xde6f, 0xde6f, 0xde6f, 0xde6f, 0xde6f, 0xde6f, + 0xde6f, 0xde6f, 0xde6f, 0xde6f, 0xde72, 0xde6f, 0xde6f, 0x080c, + 0x0dd5, 0x0005, 0x00d6, 0x080c, 0x86b8, 0x00de, 0x080c, 0xe846, + 0x080c, 0xae5f, 0x0005, 0x9182, 0x0040, 0x0002, 0xde92, 0xde92, + 0xde92, 0xde92, 0xde92, 0xde92, 0xde92, 0xde92, 0xde92, 0xde94, + 0xdf03, 0xde92, 0xde92, 0xde92, 0xde92, 0xdf03, 0xde92, 0xde92, + 0xde92, 0xde92, 0x080c, 0x0dd5, 0x2001, 0x0105, 0x2004, 0x9084, + 0x1800, 0x01c8, 0x2001, 0x0132, 0x200c, 0x2001, 0x0131, 0x2004, + 0x9105, 0x1904, 0xdf03, 0x2009, 0x180c, 0x2104, 0xd0d4, 0x0904, + 0xdf03, 0xc0d4, 0x200a, 0x2009, 0x0105, 0x2104, 0x9084, 0xe7fd, + 0x9085, 0x0010, 0x200a, 0x2001, 0x1867, 0x2004, 0xd0e4, 0x1528, + 0x603b, 0x0000, 0x080c, 0x9656, 0x6014, 0x0096, 0x2048, 0xa87c, + 0xd0fc, 0x0188, 0x908c, 0x0003, 0x918e, 0x0002, 0x0508, 0x2001, + 0x180c, 0x2004, 0xd0d4, 0x11e0, 0x080c, 0x97d4, 0x2009, 0x0041, + 0x009e, 0x0804, 0xdfc3, 0x080c, 0x97d4, 0x6003, 0x0007, 0x601b, + 0x0000, 0x080c, 0x86b8, 0x009e, 0x0005, 0x2001, 0x0100, 0x2004, + 0x9082, 0x0005, 0x0aa8, 0x2001, 0x011f, 0x2004, 0x603a, 0x0890, + 0x2001, 0x180c, 0x200c, 0xc1d4, 0x2102, 0xd1cc, 0x0110, 0x080c, + 0x2c5f, 0x080c, 0x97d4, 0x6014, 0x2048, 0xa97c, 0xd1ec, 0x1130, + 0x080c, 0x86b8, 0x080c, 0xae5f, 0x009e, 0x0005, 0x080c, 0xe7ee, + 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, 0x200c, 0xc1d4, 0x2102, + 0x0036, 0x080c, 0x9656, 0x080c, 0x97d4, 0x6014, 0x0096, 0x2048, + 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0188, 0xa87c, + 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, 0xa8ac, 0x6330, 0x931a, + 0x6332, 0xa8b0, 0x632c, 0x931b, 0x632e, 0x6003, 0x0002, 0x0080, + 0x2019, 0x0004, 0x080c, 0xe58c, 0x6018, 0x9005, 0x1128, 0x2001, + 0x1986, 0x2004, 0x8003, 0x601a, 0x6017, 0x0000, 0x6003, 0x0007, + 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, 0xdf52, 0xdf52, + 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf54, 0xdf52, + 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf52, 0xdf52, + 0xdf52, 0xdf9f, 0x080c, 0x0dd5, 0x6014, 0x0096, 0x2048, 0xa834, + 0xaa38, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1190, + 0x920d, 0x1518, 0xa87c, 0xd0fc, 0x0128, 0x2009, 0x0041, 0x009e, + 0x0804, 0xdfc3, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x86b8, + 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, 0xacac, + 0x9422, 0xa9b0, 0x2200, 0x910b, 0x6030, 0x9420, 0x6432, 0x602c, + 0x9109, 0x612e, 0x004e, 0x000e, 0x08d8, 0x6110, 0x00b6, 0x2158, + 0xb900, 0x00be, 0xd1bc, 0x1178, 0x2009, 0x180e, 0x210c, 0xd19c, + 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, 0x0006, 0x00e9, 0x080c, + 0x86ba, 0x009e, 0x0005, 0x6003, 0x0002, 0x009e, 0x0005, 0x6024, + 0xd0f4, 0x0128, 0x080c, 0x15e7, 0x1904, 0xdf54, 0x0005, 0x6014, + 0x0096, 0x2048, 0xa834, 0xa938, 0x009e, 0x9105, 0x1120, 0x080c, + 0x15e7, 0x1904, 0xdf54, 0x0005, 0xd2fc, 0x0140, 0x8002, 0x8000, + 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, 0x0010, 0x2009, 0x0015, + 0xaa9a, 0xa896, 0x0005, 0x9182, 0x0040, 0x0208, 0x0062, 0x9186, + 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, 0x0dd5, 0x6024, 0xd0dc, + 0x090c, 0x0dd5, 0x0005, 0xdfe7, 0xdff3, 0xdfff, 0xe00b, 0xdfe7, + 0xdfe7, 0xdfe7, 0xdfe7, 0xdfee, 0xdfe9, 0xdfe9, 0xdfe7, 0xdfe7, + 0xdfe7, 0xdfe7, 0xdfe9, 0xdfe7, 0xdfe9, 0xdfe7, 0xdfee, 0x080c, + 0x0dd5, 0x6024, 0xd0dc, 0x090c, 0x0dd5, 0x0005, 0x6014, 0x9005, + 0x190c, 0x0dd5, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x90f8, + 0x0126, 0x2091, 0x8000, 0x080c, 0x96a6, 0x012e, 0x0005, 0x6003, + 0x0001, 0x6106, 0x080c, 0x90f8, 0x0126, 0x2091, 0x8000, 0x080c, + 0x96a6, 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, + 0x1bba, 0x0126, 0x2091, 0x8000, 0x080c, 0x915d, 0x080c, 0x97d4, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, 0x0096, 0x9182, + 0x0040, 0x0023, 0x009e, 0x003e, 0x012e, 0x0005, 0xe03a, 0xe03c, + 0xe04e, 0xe068, 0xe03a, 0xe03a, 0xe03a, 0xe03a, 0xe03a, 0xe03a, + 0xe03a, 0xe03a, 0xe03a, 0xe03a, 0xe03a, 0xe03a, 0xe03a, 0xe03a, + 0xe03a, 0xe03a, 0x080c, 0x0dd5, 0x6014, 0x2048, 0xa87c, 0xd0fc, + 0x01f8, 0x909c, 0x0003, 0x939e, 0x0003, 0x01d0, 0x6003, 0x0001, + 0x6106, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0470, 0x6014, 0x2048, + 0xa87c, 0xd0fc, 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, + 0x6003, 0x0001, 0x6106, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x00e0, + 0x901e, 0x6316, 0x631a, 0x2019, 0x0004, 0x080c, 0xe58c, 0x00a0, + 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0d98, 0x909c, 0x0003, 0x939e, + 0x0003, 0x0d70, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x1bba, + 0x080c, 0x915d, 0x080c, 0x97d4, 0x0005, 0x080c, 0x959a, 0x6114, + 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, 0xe943, 0x0036, 0x2019, + 0x0029, 0x080c, 0xe58c, 0x003e, 0x009e, 0x080c, 0xae90, 0x080c, + 0x96a6, 0x0005, 0x080c, 0x9656, 0x6114, 0x81ff, 0x0158, 0x0096, + 0x2148, 0x080c, 0xe943, 0x0036, 0x2019, 0x0029, 0x080c, 0xe58c, + 0x003e, 0x009e, 0x080c, 0xae90, 0x080c, 0x97d4, 0x0005, 0x9182, + 0x0085, 0x0002, 0xe0b9, 0xe0b7, 0xe0b7, 0xe0c5, 0xe0b7, 0xe0b7, + 0xe0b7, 0xe0b7, 0xe0b7, 0xe0b7, 0xe0b7, 0xe0b7, 0xe0b7, 0x080c, + 0x0dd5, 0x6003, 0x000b, 0x6106, 0x080c, 0x90f8, 0x0126, 0x2091, + 0x8000, 0x080c, 0x96a6, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, + 0xe7e5, 0x0118, 0x080c, 0xae5f, 0x0450, 0x2071, 0x0260, 0x7224, + 0x6216, 0x2001, 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, 0x00b6, + 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0xb180, + 0x7220, 0x080c, 0xe432, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, + 0x0087, 0x7224, 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, + 0x0001, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x080c, 0x97d4, 0x00ee, + 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, + 0x0a0c, 0x0dd5, 0x908a, 0x0092, 0x1a0c, 0x0dd5, 0x9082, 0x0085, + 0x00a2, 0x9186, 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, + 0xaef5, 0x0050, 0x2001, 0x0007, 0x080c, 0x6592, 0x080c, 0x959a, + 0x080c, 0xae90, 0x080c, 0x96a6, 0x0005, 0xe12a, 0xe12c, 0xe12c, + 0xe12a, 0xe12a, 0xe12a, 0xe12a, 0xe12a, 0xe12a, 0xe12a, 0xe12a, + 0xe12a, 0xe12a, 0x080c, 0x0dd5, 0x080c, 0x959a, 0x080c, 0xae90, + 0x080c, 0x96a6, 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0dd5, 0x9182, + 0x0092, 0x1a0c, 0x0dd5, 0x9182, 0x0085, 0x0002, 0xe14b, 0xe14b, + 0xe14b, 0xe14d, 0xe14b, 0xe14b, 0xe14b, 0xe14b, 0xe14b, 0xe14b, + 0xe14b, 0xe14b, 0xe14b, 0x080c, 0x0dd5, 0x0005, 0x9186, 0x0013, + 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, + 0xaef5, 0x0030, 0x080c, 0x959a, 0x080c, 0xae90, 0x080c, 0x96a6, + 0x0005, 0x0036, 0x080c, 0xe846, 0x6043, 0x0000, 0x2019, 0x000b, + 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, + 0x0036, 0x2091, 0x8000, 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, + 0xa687, 0x009e, 0x008e, 0x1550, 0x0076, 0x2c38, 0x080c, 0xa732, + 0x007e, 0x1520, 0x6000, 0x9086, 0x0000, 0x0500, 0x6020, 0x9086, + 0x0007, 0x01e0, 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xe846, + 0x080c, 0xd272, 0x080c, 0x1a70, 0x6023, 0x0007, 0x6014, 0x2048, + 0x080c, 0xcb5a, 0x0110, 0x080c, 0xe58c, 0x009e, 0x6017, 0x0000, + 0x080c, 0xe846, 0x6023, 0x0007, 0x080c, 0xd272, 0x003e, 0x012e, + 0x0005, 0x00f6, 0x00c6, 0x00b6, 0x0036, 0x0156, 0x2079, 0x0260, + 0x7938, 0x783c, 0x080c, 0x284b, 0x15c8, 0x0016, 0x00c6, 0x080c, + 0x6616, 0x1590, 0x001e, 0x00c6, 0x2160, 0x080c, 0xd26f, 0x00ce, + 0x002e, 0x0026, 0x0016, 0x2019, 0x0029, 0x080c, 0xa7f8, 0x080c, + 0x929d, 0x0076, 0x903e, 0x080c, 0x9170, 0x007e, 0x001e, 0x0076, + 0x903e, 0x080c, 0xe326, 0x007e, 0x0026, 0xba04, 0x9294, 0xff00, + 0x8217, 0x9286, 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, 0xbaa0, + 0x080c, 0x328a, 0x002e, 0xbcc0, 0x001e, 0x080c, 0x6047, 0xbe12, + 0xbd16, 0xbcc2, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, + 0x00be, 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, 0x0016, + 0x2009, 0x1824, 0x2104, 0x9086, 0x0074, 0x1904, 0xe24d, 0x2069, + 0x0260, 0x6944, 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, 0x8000, + 0x0904, 0xe24a, 0x2001, 0x197b, 0x2004, 0x9005, 0x1140, 0x6010, + 0x2058, 0xb8c0, 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, 0x6948, + 0x918a, 0x0001, 0x0648, 0x080c, 0xe9ab, 0x0118, 0x6978, 0xd1fc, + 0x11b8, 0x2009, 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, + 0x6944, 0x9182, 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, + 0x918a, 0x0001, 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, + 0x6017, 0x0100, 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, + 0x0070, 0x6017, 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, + 0x0b00, 0x0028, 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, + 0x0001, 0x0008, 0x9006, 0x001e, 0x00be, 0x00de, 0x00ce, 0x0005, + 0x00c6, 0x00b6, 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, 0xbb04, + 0x9394, 0x00ff, 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, 0x0168, + 0x9394, 0xff00, 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, 0x0004, + 0x0120, 0x080c, 0x6625, 0x0804, 0xe2b5, 0x2011, 0x0276, 0x20a9, + 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbe2d, 0x009e, + 0x15a8, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, + 0x0006, 0x080c, 0xbe2d, 0x009e, 0x1548, 0x0046, 0x0016, 0xbaa0, + 0x2220, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, 0x0138, 0x2009, + 0x0029, 0x080c, 0xe5e9, 0xb800, 0xc0e5, 0xb802, 0x2019, 0x0029, + 0x080c, 0x929d, 0x0076, 0x2039, 0x0000, 0x080c, 0x9170, 0x2c08, + 0x080c, 0xe326, 0x007e, 0x2001, 0x0007, 0x080c, 0x6592, 0x2001, + 0x0007, 0x080c, 0x6566, 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, + 0x002e, 0x00be, 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, + 0x9086, 0x0800, 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, + 0x0005, 0x00b6, 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, + 0x026c, 0x7930, 0x7834, 0x080c, 0x284b, 0x11d0, 0x080c, 0x6616, + 0x11b8, 0x2011, 0x0270, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, + 0x000a, 0x080c, 0xbe2d, 0x009e, 0x1158, 0x2011, 0x0274, 0x20a9, + 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, 0xbe2d, 0x009e, + 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, 0x00be, 0x0005, 0x00b6, + 0x0006, 0x0016, 0x0026, 0x0036, 0x0156, 0x2011, 0x0263, 0x2204, + 0x8211, 0x220c, 0x080c, 0x284b, 0x11d0, 0x080c, 0x6616, 0x11b8, + 0x2011, 0x0276, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, + 0x080c, 0xbe2d, 0x009e, 0x1158, 0x2011, 0x027a, 0x20a9, 0x0004, + 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, 0xbe2d, 0x009e, 0x015e, + 0x003e, 0x002e, 0x001e, 0x000e, 0x00be, 0x0005, 0x00e6, 0x00c6, + 0x0086, 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, + 0x8000, 0x2740, 0x2029, 0x19ef, 0x252c, 0x2021, 0x19f5, 0x2424, + 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7654, 0x7074, 0x81ff, 0x0150, + 0x0006, 0x9186, 0x1aaf, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, + 0xe3c3, 0x0018, 0x9606, 0x0904, 0xe3c3, 0x080c, 0x8987, 0x0904, + 0xe3ba, 0x2100, 0x9c06, 0x0904, 0xe3ba, 0x080c, 0xe62a, 0x1904, + 0xe3ba, 0x080c, 0xe9c8, 0x0904, 0xe3ba, 0x080c, 0xe61a, 0x0904, + 0xe3ba, 0x6720, 0x9786, 0x0001, 0x1148, 0x080c, 0x3321, 0x0904, + 0xe402, 0x6004, 0x9086, 0x0000, 0x1904, 0xe402, 0x9786, 0x0004, + 0x0904, 0xe402, 0x9786, 0x0007, 0x0904, 0xe3ba, 0x2500, 0x9c06, + 0x0904, 0xe3ba, 0x2400, 0x9c06, 0x05e8, 0x88ff, 0x0118, 0x6054, + 0x9906, 0x15c0, 0x0096, 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, + 0x080c, 0x1a70, 0x001e, 0x9786, 0x000a, 0x0148, 0x080c, 0xcd60, + 0x1130, 0x080c, 0xb821, 0x009e, 0x080c, 0xae90, 0x0418, 0x6014, + 0x2048, 0x080c, 0xcb5a, 0x01d8, 0x9786, 0x0003, 0x1570, 0xa867, + 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, + 0x0fb1, 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, 0xe943, 0x0016, + 0x080c, 0xce4e, 0x080c, 0x6c88, 0x001e, 0x080c, 0xcd43, 0x009e, + 0x080c, 0xae90, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, 0x9c02, + 0x1210, 0x0804, 0xe33a, 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, + 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1150, + 0x9386, 0x0005, 0x0128, 0x080c, 0xe943, 0x080c, 0xe58c, 0x08f8, + 0x009e, 0x0c00, 0x9786, 0x0009, 0x11f8, 0x6000, 0x9086, 0x0004, + 0x01c0, 0x6000, 0x9086, 0x0003, 0x11a0, 0x080c, 0x9656, 0x0096, + 0x6114, 0x2148, 0x080c, 0xcb5a, 0x0118, 0x6010, 0x080c, 0x6c94, + 0x009e, 0x00c6, 0x080c, 0xae5f, 0x00ce, 0x0036, 0x080c, 0x97d4, + 0x003e, 0x009e, 0x0804, 0xe3ba, 0x9786, 0x000a, 0x0904, 0xe3a1, + 0x0804, 0xe39f, 0x81ff, 0x0904, 0xe3ba, 0x9180, 0x0001, 0x2004, + 0x9086, 0x0018, 0x0138, 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, + 0x1904, 0xe3ba, 0x6000, 0x9086, 0x0002, 0x1904, 0xe3ba, 0x080c, + 0xcd4f, 0x0138, 0x080c, 0xcd60, 0x1904, 0xe3ba, 0x080c, 0xb821, + 0x0038, 0x080c, 0x31f5, 0x080c, 0xcd60, 0x1110, 0x080c, 0xb821, + 0x080c, 0xae90, 0x0804, 0xe3ba, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x0039, 0x0005, 0x00c6, 0x00e6, 0x0016, 0x2c08, 0x2170, 0x9006, + 0x080c, 0xe5b3, 0x001e, 0x0120, 0x6020, 0x9084, 0x000f, 0x001b, + 0x00ee, 0x00ce, 0x0005, 0xe451, 0xe451, 0xe451, 0xe451, 0xe451, + 0xe451, 0xe453, 0xe451, 0xe451, 0xe451, 0xe451, 0xae90, 0xae90, + 0xe451, 0x9006, 0x0005, 0x0036, 0x0046, 0x0016, 0x7010, 0x00b6, + 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2009, 0x0020, 0x080c, 0xe5e9, + 0x001e, 0x004e, 0x2019, 0x0002, 0x080c, 0xe16f, 0x003e, 0x9085, + 0x0001, 0x0005, 0x0096, 0x080c, 0xcb5a, 0x0140, 0x6014, 0x904d, + 0x080c, 0xc77b, 0x687b, 0x0005, 0x080c, 0x6c94, 0x009e, 0x080c, + 0xae90, 0x9085, 0x0001, 0x0005, 0x2001, 0x0001, 0x080c, 0x6552, + 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, + 0x2011, 0x0276, 0x080c, 0xbe19, 0x003e, 0x002e, 0x001e, 0x015e, + 0x9005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, + 0x00b6, 0x0126, 0x2091, 0x8000, 0x2740, 0x2061, 0x1cd0, 0x2079, + 0x0001, 0x8fff, 0x0904, 0xe4ec, 0x2071, 0x1800, 0x7654, 0x7074, + 0x8001, 0x9602, 0x1a04, 0xe4ec, 0x88ff, 0x0120, 0x2800, 0x9c06, + 0x1590, 0x2078, 0x080c, 0xe61a, 0x0570, 0x2400, 0x9c06, 0x0558, + 0x6720, 0x9786, 0x0006, 0x1538, 0x9786, 0x0007, 0x0520, 0x88ff, + 0x1140, 0x6010, 0x9b06, 0x11f8, 0x85ff, 0x0118, 0x6054, 0x9106, + 0x11d0, 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xe846, 0x080c, + 0xd272, 0x080c, 0x1a70, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, + 0xcb5a, 0x0120, 0x0046, 0x080c, 0xe58c, 0x004e, 0x009e, 0x080c, + 0xae90, 0x88ff, 0x1198, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, + 0x9c02, 0x1210, 0x0804, 0xe4a1, 0x9006, 0x012e, 0x00be, 0x006e, + 0x007e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x98c5, 0x0001, + 0x0ca0, 0x00b6, 0x0076, 0x0056, 0x0086, 0x9046, 0x2029, 0x0001, + 0x2c20, 0x2019, 0x0002, 0x6210, 0x2258, 0x0096, 0x904e, 0x080c, + 0xa687, 0x009e, 0x008e, 0x903e, 0x080c, 0xa732, 0x080c, 0xe492, + 0x005e, 0x007e, 0x00be, 0x0005, 0x00b6, 0x0046, 0x0056, 0x0076, + 0x00c6, 0x0156, 0x2c20, 0x2128, 0x20a9, 0x007f, 0x900e, 0x0016, + 0x0036, 0x080c, 0x6616, 0x1190, 0x0056, 0x0086, 0x9046, 0x2508, + 0x2029, 0x0001, 0x0096, 0x904e, 0x080c, 0xa687, 0x009e, 0x008e, + 0x903e, 0x080c, 0xa732, 0x080c, 0xe492, 0x005e, 0x003e, 0x001e, + 0x8108, 0x1f04, 0xe51f, 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, + 0x00be, 0x0005, 0x00b6, 0x0076, 0x0056, 0x6210, 0x2258, 0x0086, + 0x9046, 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, 0x904e, 0x080c, + 0xa687, 0x009e, 0x008e, 0x903e, 0x080c, 0xa732, 0x2c20, 0x080c, + 0xe492, 0x005e, 0x007e, 0x00be, 0x0005, 0x00b6, 0x0046, 0x0056, + 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, 0x0800, 0x900e, 0x0016, + 0x0036, 0x080c, 0x6616, 0x11a0, 0x0086, 0x9046, 0x2828, 0x0046, + 0x2021, 0x0001, 0x080c, 0xe82a, 0x004e, 0x0096, 0x904e, 0x080c, + 0xa687, 0x009e, 0x008e, 0x903e, 0x080c, 0xa732, 0x080c, 0xe492, + 0x003e, 0x001e, 0x8108, 0x1f04, 0xe567, 0x015e, 0x00ce, 0x007e, + 0x005e, 0x004e, 0x00be, 0x0005, 0x0016, 0x00f6, 0x080c, 0xcb58, + 0x0198, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0046, 0x0180, 0xa800, + 0x907d, 0x0138, 0xa803, 0x0000, 0xab82, 0x080c, 0x6c94, 0x2f48, + 0x0cb0, 0xab82, 0x080c, 0x6c94, 0x00fe, 0x001e, 0x0005, 0xa800, + 0x907d, 0x0130, 0xa803, 0x0000, 0x080c, 0x6c94, 0x2f48, 0x0cb8, + 0x080c, 0x6c94, 0x0c88, 0x00e6, 0x0046, 0x0036, 0x2061, 0x1cd0, + 0x9005, 0x1138, 0x2071, 0x1800, 0x7454, 0x7074, 0x8001, 0x9402, + 0x12f8, 0x2100, 0x9c06, 0x0188, 0x6000, 0x9086, 0x0000, 0x0168, + 0x6008, 0x9206, 0x1150, 0x6320, 0x9386, 0x0009, 0x01b0, 0x6010, + 0x91a0, 0x0004, 0x2424, 0x9406, 0x0140, 0x9ce0, 0x0018, 0x2001, + 0x181a, 0x2004, 0x9c02, 0x1220, 0x0c20, 0x9085, 0x0001, 0x0008, + 0x9006, 0x003e, 0x004e, 0x00ee, 0x0005, 0x631c, 0xd3c4, 0x1d68, + 0x0c30, 0x0096, 0x0006, 0x080c, 0x0fff, 0x000e, 0x090c, 0x0dd5, + 0xaae2, 0xa867, 0x010d, 0xa88e, 0x0026, 0x2010, 0x080c, 0xcb48, + 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, 0x0015, 0x2004, 0x002e, + 0xa87a, 0x9186, 0x0020, 0x0110, 0xa8e3, 0xffff, 0xa986, 0xac76, + 0xa87f, 0x0000, 0x2001, 0x198d, 0x2004, 0xa882, 0x9006, 0xa802, + 0xa86a, 0xa88a, 0x0126, 0x2091, 0x8000, 0x080c, 0x6c94, 0x012e, + 0x009e, 0x0005, 0x6700, 0x9786, 0x0000, 0x0158, 0x9786, 0x0001, + 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, 0x0009, 0x0110, 0x9085, + 0x0001, 0x0005, 0x00e6, 0x6010, 0x9075, 0x0138, 0x00b6, 0x2058, + 0xb8a0, 0x00be, 0x9206, 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cd8, + 0x0016, 0x6004, 0x908e, 0x001e, 0x11a0, 0x8007, 0x6134, 0x918c, + 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0005, 0x2001, 0x1986, 0x2004, 0x601a, 0x080c, 0x90f8, 0x080c, + 0x96a6, 0x001e, 0x0005, 0xa001, 0xa001, 0x0005, 0x6024, 0xd0e4, + 0x0158, 0xd0cc, 0x0118, 0x080c, 0xce92, 0x0030, 0x080c, 0xe846, + 0x080c, 0x86b8, 0x080c, 0xae5f, 0x0005, 0x9280, 0x0008, 0x2004, + 0x9084, 0x000f, 0x0002, 0xe679, 0xe679, 0xe679, 0xe67b, 0xe679, + 0xe67b, 0xe67b, 0xe679, 0xe67b, 0xe679, 0xe679, 0xe679, 0xe679, + 0xe679, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x9280, 0x0008, + 0x2004, 0x9084, 0x000f, 0x0002, 0xe692, 0xe692, 0xe692, 0xe692, + 0xe692, 0xe692, 0xe69f, 0xe692, 0xe692, 0xe692, 0xe692, 0xe692, + 0xe692, 0xe692, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, + 0x6003, 0x0001, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x0005, 0x0096, + 0x00c6, 0x2260, 0x080c, 0xe846, 0x6043, 0x0000, 0x6024, 0xc0f4, + 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, 0x00d6, 0x2268, 0x9186, + 0x0007, 0x1904, 0xe6f8, 0x6814, 0x9005, 0x0138, 0x2048, 0xa87c, + 0xd0fc, 0x1118, 0x00de, 0x009e, 0x08a8, 0x6007, 0x003a, 0x6003, + 0x0001, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x00c6, 0x2d60, 0x6100, + 0x9186, 0x0002, 0x1904, 0xe76f, 0x6014, 0x9005, 0x1138, 0x6000, + 0x9086, 0x0007, 0x190c, 0x0dd5, 0x0804, 0xe76f, 0x2048, 0x080c, + 0xcb5a, 0x1130, 0x0028, 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, + 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x1168, 0xa87c, + 0xc0dc, 0xc0f4, 0xa87e, 0xa880, 0xc0fc, 0xa882, 0x2009, 0x0043, + 0x080c, 0xdfc3, 0x0804, 0xe76f, 0x2009, 0x0041, 0x0804, 0xe769, + 0x9186, 0x0005, 0x15a0, 0x6814, 0x2048, 0xa87c, 0xd0bc, 0x1120, + 0x00de, 0x009e, 0x0804, 0xe692, 0xd0b4, 0x0128, 0xd0fc, 0x090c, + 0x0dd5, 0x0804, 0xe6b3, 0x6007, 0x003a, 0x6003, 0x0001, 0x080c, + 0x90f8, 0x080c, 0x96a6, 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, + 0x0120, 0x9186, 0x0004, 0x1904, 0xe76f, 0x6814, 0x2048, 0xa97c, + 0xc1f4, 0xc1dc, 0xa97e, 0xa980, 0xc1fc, 0xc1bc, 0xa982, 0x00f6, + 0x2c78, 0x080c, 0x1727, 0x00fe, 0x2009, 0x0042, 0x04d0, 0x0036, + 0x080c, 0x0fff, 0x090c, 0x0dd5, 0xa867, 0x010d, 0x9006, 0xa802, + 0xa86a, 0xa88a, 0x2d18, 0xab8e, 0xa887, 0x0045, 0x2c00, 0xa892, + 0x6038, 0xa8a2, 0x2360, 0x6024, 0xc0dd, 0x6026, 0x6010, 0x00b6, + 0x2058, 0xb8a0, 0x00be, 0x2004, 0x6354, 0xab7a, 0xa876, 0x9006, + 0xa87e, 0xa882, 0xad9a, 0xae96, 0xa89f, 0x0001, 0x080c, 0x6c94, + 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, 0xe16f, 0x2d00, 0x600a, + 0x6023, 0x0006, 0x6003, 0x0007, 0x901e, 0x631a, 0x6342, 0x003e, + 0x0038, 0x6043, 0x0000, 0x6003, 0x0007, 0x080c, 0xdfc3, 0x00ce, + 0x00de, 0x009e, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, + 0x0085, 0x2008, 0x00c2, 0x9186, 0x0027, 0x1178, 0x080c, 0x959a, + 0x0036, 0x0096, 0x6014, 0x2048, 0x2019, 0x0004, 0x080c, 0xe58c, + 0x009e, 0x003e, 0x080c, 0x96a6, 0x0005, 0x9186, 0x0014, 0x0d70, + 0x080c, 0xaef5, 0x0005, 0xe7a2, 0xe7a0, 0xe7a0, 0xe7a0, 0xe7a0, + 0xe7a0, 0xe7a2, 0xe7a0, 0xe7a0, 0xe7a0, 0xe7a0, 0xe7a0, 0xe7a0, + 0x080c, 0x0dd5, 0x080c, 0x959a, 0x6003, 0x000c, 0x080c, 0x96a6, + 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x001a, + 0x080c, 0xaef5, 0x0005, 0xe7c0, 0xe7c0, 0xe7c0, 0xe7c0, 0xe7c2, + 0xe7e2, 0xe7c0, 0xe7c0, 0xe7c0, 0xe7c0, 0xe7c0, 0xe7c0, 0xe7c0, + 0x080c, 0x0dd5, 0x00d6, 0x2c68, 0x080c, 0xae09, 0x01b0, 0x6003, + 0x0001, 0x6007, 0x001e, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, + 0x026f, 0x210c, 0x613e, 0x600b, 0xffff, 0x6910, 0x6112, 0x6023, + 0x0004, 0x080c, 0x90f8, 0x080c, 0x96a6, 0x2d60, 0x080c, 0xae5f, + 0x00de, 0x0005, 0x080c, 0xae5f, 0x0005, 0x00e6, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0ec, 0x00ee, 0x0005, 0x2009, 0x1867, + 0x210c, 0xd1ec, 0x05b0, 0x6003, 0x0002, 0x6024, 0xc0e5, 0x6026, + 0xd0cc, 0x0150, 0x2001, 0x1987, 0x2004, 0x6042, 0x2009, 0x1867, + 0x210c, 0xd1f4, 0x1520, 0x00a0, 0x2009, 0x1867, 0x210c, 0xd1f4, + 0x0128, 0x6024, 0xc0e4, 0x6026, 0x9006, 0x00d8, 0x2001, 0x1987, + 0x200c, 0x2001, 0x1985, 0x2004, 0x9100, 0x9080, 0x000a, 0x6042, + 0x6010, 0x00b6, 0x2058, 0xb8bc, 0x00be, 0x0008, 0x2104, 0x9005, + 0x0118, 0x9088, 0x0003, 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0x9085, + 0x0001, 0x0005, 0x0016, 0x00c6, 0x00e6, 0x6154, 0xb8bc, 0x2060, + 0x8cff, 0x0180, 0x84ff, 0x1118, 0x6054, 0x9106, 0x1138, 0x600c, + 0x2072, 0x080c, 0x86b8, 0x080c, 0xae5f, 0x0010, 0x9cf0, 0x0003, + 0x2e64, 0x0c70, 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x00b6, + 0x6010, 0x2058, 0xb8bc, 0x2068, 0x9005, 0x0130, 0x9c06, 0x0110, + 0x680c, 0x0cd0, 0x600c, 0x680e, 0x00be, 0x00de, 0x0005, 0x0026, + 0x0036, 0x0156, 0x2011, 0x182c, 0x2204, 0x9084, 0x00ff, 0x2019, + 0x026e, 0x2334, 0x9636, 0x1508, 0x8318, 0x2334, 0x2204, 0x9084, + 0xff00, 0x9636, 0x11d0, 0x2011, 0x0270, 0x20a9, 0x0004, 0x6010, + 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xbe2d, 0x009e, 0x1168, + 0x2011, 0x0274, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, + 0x0006, 0x080c, 0xbe2d, 0x009e, 0x1100, 0x015e, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fc0, 0x080c, 0x2fa3, + 0x00ee, 0x0005, 0x0096, 0x0026, 0x080c, 0x0fff, 0x090c, 0x0dd5, + 0xa85c, 0x9080, 0x001a, 0x20a0, 0x20a9, 0x000c, 0xa860, 0x20e8, + 0x9006, 0x4004, 0x9186, 0x0046, 0x1118, 0xa867, 0x0136, 0x0038, + 0xa867, 0x0138, 0x9186, 0x0041, 0x0110, 0xa87b, 0x0001, 0x7038, + 0x9084, 0xff00, 0x7240, 0x9294, 0xff00, 0x8007, 0x9215, 0xaa9a, + 0x9186, 0x0046, 0x1168, 0x7038, 0x9084, 0x00ff, 0x723c, 0x9294, + 0xff00, 0x9215, 0xaa9e, 0x723c, 0x9294, 0x00ff, 0xaaa2, 0x0060, + 0x7040, 0x9084, 0x00ff, 0x7244, 0x9294, 0xff00, 0x9215, 0xaa9e, + 0x7244, 0x9294, 0x00ff, 0xaaa2, 0x9186, 0x0046, 0x1118, 0x9e90, + 0x0012, 0x0010, 0x9e90, 0x001a, 0x2204, 0x8007, 0xa8a6, 0x8210, + 0x2204, 0x8007, 0xa8aa, 0x8210, 0x2204, 0x8007, 0xa8ae, 0x8210, + 0x2204, 0x8007, 0xa8b2, 0x8210, 0x9186, 0x0046, 0x11b8, 0x9e90, + 0x0016, 0x2204, 0x8007, 0xa8b6, 0x8210, 0x2204, 0x8007, 0xa8ba, + 0x8210, 0x2204, 0x8007, 0xa8be, 0x8210, 0x2204, 0x8007, 0xa8c2, + 0x8210, 0x2011, 0x0205, 0x2013, 0x0001, 0x00b0, 0x9e90, 0x001e, + 0x2204, 0x8007, 0xa8b6, 0x8210, 0x2204, 0x8007, 0xa8ba, 0x2011, + 0x0205, 0x2013, 0x0001, 0x2011, 0x0260, 0x2204, 0x8007, 0xa8be, + 0x8210, 0x2204, 0x8007, 0xa8c2, 0x9186, 0x0046, 0x1118, 0x2011, + 0x0262, 0x0010, 0x2011, 0x026a, 0x0146, 0x01d6, 0x0036, 0x20a9, + 0x0001, 0x2019, 0x0008, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, + 0x20a0, 0x2204, 0x8007, 0x4004, 0x8210, 0x8319, 0x1dd0, 0x003e, + 0x01ce, 0x013e, 0x2011, 0x0205, 0x2013, 0x0000, 0x002e, 0x080c, + 0x6c94, 0x009e, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, + 0x00be, 0xd0fc, 0x0108, 0x0011, 0x00ee, 0x0005, 0xa880, 0xc0e5, + 0xa882, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, + 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, 0x19ef, + 0x252c, 0x2021, 0x19f5, 0x2424, 0x2061, 0x1cd0, 0x2071, 0x1800, + 0x7654, 0x7074, 0x9606, 0x0578, 0x6720, 0x9786, 0x0001, 0x0118, + 0x9786, 0x0008, 0x1500, 0x2500, 0x9c06, 0x01e8, 0x2400, 0x9c06, + 0x01d0, 0x080c, 0xe61a, 0x01b8, 0x080c, 0xe62a, 0x11a0, 0x6000, + 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x1a70, 0x001e, 0x080c, + 0xcd4f, 0x1110, 0x080c, 0x31f5, 0x080c, 0xcd60, 0x1110, 0x080c, + 0xb821, 0x080c, 0xae90, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, + 0x9c02, 0x1208, 0x0858, 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, + 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x2001, 0x1810, + 0x2004, 0xd0dc, 0x0005, 0x0006, 0x2001, 0x1837, 0x2004, 0xd09c, + 0x000e, 0x0005, 0x0006, 0x0036, 0x0046, 0x080c, 0xd25a, 0x0168, + 0x2019, 0xffff, 0x9005, 0x0128, 0x6010, 0x00b6, 0x2058, 0xbba0, + 0x00be, 0x2021, 0x0004, 0x080c, 0x4cd5, 0x004e, 0x003e, 0x000e, + 0x6004, 0x9086, 0x0001, 0x1128, 0x080c, 0xa7f8, 0x080c, 0xae90, + 0x9006, 0x0005, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x2061, 0x1cd0, + 0x2071, 0x1800, 0x7454, 0x7074, 0x8001, 0x9402, 0x12b8, 0x2100, + 0x9c06, 0x0148, 0x6000, 0x9086, 0x0000, 0x0128, 0x6010, 0x2058, + 0xb8a0, 0x9206, 0x0140, 0x9ce0, 0x0018, 0x2001, 0x181a, 0x2004, + 0x9c02, 0x1220, 0x0c60, 0x9085, 0x0001, 0x0008, 0x9006, 0x004e, + 0x00be, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, + 0x2091, 0x8000, 0x2071, 0x1840, 0xd5a4, 0x0118, 0x7004, 0x8000, + 0x7006, 0xd5b4, 0x0118, 0x7000, 0x8000, 0x7002, 0xd5ac, 0x0178, + 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, + 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, 0xfff6, 0x0089, 0x001e, + 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, + 0x8000, 0x2071, 0xffee, 0x0021, 0x00ee, 0x000e, 0x012e, 0x0005, + 0x2e05, 0x8000, 0x2077, 0x1220, 0x8e70, 0x2e05, 0x8000, 0x2077, + 0x0005, 0x00e6, 0x2071, 0xffec, 0x0c99, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0xfff0, 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, + 0x2091, 0x8000, 0x2071, 0x1840, 0x7014, 0x8000, 0x7016, 0x00ee, + 0x000e, 0x012e, 0x0005, 0x0003, 0x000b, 0x079e, 0x0000, 0xc000, + 0x0001, 0x8064, 0x0008, 0x0010, 0x0000, 0x8066, 0x0000, 0x0101, + 0x0008, 0x4407, 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, 0x580d, + 0x000b, 0x79a8, 0x000b, 0x50ee, 0x000b, 0x4c0a, 0x0003, 0xbac0, + 0x0009, 0x008a, 0x0000, 0x0c0a, 0x000b, 0x15fe, 0x0008, 0x340a, + 0x0003, 0xc4c0, 0x0009, 0x7000, 0x0000, 0xffa0, 0x0001, 0x2000, + 0x0000, 0x1668, 0x000b, 0x808c, 0x0008, 0x0001, 0x0000, 0x0000, + 0x0007, 0x4028, 0x0000, 0x4047, 0x000a, 0x808c, 0x0008, 0x0002, + 0x0000, 0x0822, 0x0003, 0x4022, 0x0000, 0x0028, 0x000b, 0x4122, + 0x0008, 0x94c0, 0x0009, 0xff00, 0x0008, 0xffe0, 0x0009, 0x0500, + 0x0008, 0x0a93, 0x000b, 0x4447, 0x0002, 0x0e90, 0x0003, 0x0bfe, + 0x0008, 0x11a0, 0x0001, 0x126e, 0x0003, 0x0ca0, 0x0001, 0x126e, + 0x0003, 0x9180, 0x0001, 0x0004, 0x0000, 0x8060, 0x0000, 0x0400, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4436, + 0x000b, 0x808c, 0x0008, 0x0000, 0x0008, 0x0060, 0x0008, 0x8062, + 0x0008, 0x0004, 0x0000, 0x8066, 0x0000, 0x0411, 0x0000, 0x443e, + 0x0003, 0x03fe, 0x0000, 0x43e0, 0x0001, 0x0e6b, 0x000b, 0xc2c0, + 0x0009, 0x00ff, 0x0008, 0x02e0, 0x0001, 0x0e6b, 0x000b, 0x9180, + 0x0001, 0x0005, 0x0008, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0019, 0x0000, 0x444d, 0x000b, 0x0240, + 0x0002, 0x0a68, 0x0003, 0x00fe, 0x0000, 0x326b, 0x000b, 0x0248, + 0x000a, 0x085c, 0x0003, 0x9180, 0x0001, 0x0006, 0x0008, 0x7f62, + 0x0008, 0x8002, 0x0008, 0x0003, 0x0008, 0x8066, 0x0000, 0x020a, + 0x0000, 0x445b, 0x0003, 0x112a, 0x0000, 0x002e, 0x0008, 0x022c, + 0x0008, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x808c, 0x0008, 0x0002, + 0x0000, 0x1760, 0x0008, 0x8062, 0x0008, 0x000f, 0x0008, 0x8066, + 0x0000, 0x0011, 0x0008, 0x4468, 0x0003, 0x01fe, 0x0008, 0x42e0, + 0x0009, 0x0e5c, 0x0003, 0x00fe, 0x0000, 0x43e0, 0x0001, 0x0e5c, + 0x0003, 0x1734, 0x0000, 0x1530, 0x0000, 0x1632, 0x0008, 0x0d2a, + 0x0008, 0x9880, 0x0001, 0x0010, 0x0000, 0x8060, 0x0000, 0x0400, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x1e0a, 0x0008, 0x447a, + 0x0003, 0x808a, 0x0008, 0x0003, 0x0008, 0x1a60, 0x0000, 0x8062, + 0x0008, 0x0002, 0x0000, 0x5880, 0x000b, 0x8066, 0x0000, 0x3679, + 0x0000, 0x4483, 0x0003, 0x5884, 0x0003, 0x3efe, 0x0008, 0x7f4f, + 0x0002, 0x088a, 0x000b, 0x0d00, 0x0000, 0x0092, 0x000c, 0x8054, + 0x0008, 0x0011, 0x0008, 0x8074, 0x0000, 0x1010, 0x0008, 0x1efe, + 0x0000, 0x300a, 0x000b, 0x00c8, 0x000c, 0x000a, 0x000b, 0x00fe, + 0x0000, 0x349a, 0x0003, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0007, + 0x0000, 0x8066, 0x0000, 0x0231, 0x0008, 0x4499, 0x000b, 0x03fe, + 0x0000, 0x04d0, 0x0001, 0x0cc0, 0x000b, 0x82c0, 0x0001, 0x1f00, + 0x0000, 0xffa0, 0x0001, 0x0400, 0x0000, 0x08af, 0x0003, 0x14c0, + 0x000b, 0x01fe, 0x0008, 0x0580, 0x0009, 0x7f06, 0x0000, 0x02fe, + 0x0008, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x0690, 0x0001, 0x10af, + 0x0003, 0x7f08, 0x0008, 0x84c0, 0x0001, 0xff00, 0x0008, 0x08c0, + 0x0003, 0x00fe, 0x0000, 0x34b6, 0x000b, 0x8072, 0x0000, 0x1010, + 0x0008, 0x3944, 0x0002, 0x08b1, 0x0003, 0x00ba, 0x0003, 0x8072, + 0x0000, 0x2020, 0x0008, 0x3945, 0x000a, 0x08b6, 0x000b, 0x3946, + 0x000a, 0x0cc7, 0x0003, 0x0000, 0x0007, 0x3943, 0x000a, 0x08c7, + 0x000b, 0x00ba, 0x0003, 0x00fe, 0x0000, 0x34c5, 0x0003, 0x8072, + 0x0000, 0x1000, 0x0000, 0x00c7, 0x0003, 0x8072, 0x0000, 0x2000, + 0x0000, 0x4000, 0x000f, 0x1c60, 0x0000, 0x1b62, 0x0000, 0x8066, + 0x0000, 0x0231, 0x0008, 0x44cc, 0x000b, 0x58cd, 0x000b, 0x0140, + 0x0008, 0x0242, 0x0000, 0x1f43, 0x0002, 0x0cdb, 0x000b, 0x0d44, + 0x0000, 0x0d46, 0x0008, 0x0348, 0x0008, 0x044a, 0x0008, 0x030a, + 0x0008, 0x040c, 0x0000, 0x0d06, 0x0000, 0x0d08, 0x0008, 0x00df, + 0x0003, 0x0344, 0x0008, 0x0446, 0x0008, 0x0548, 0x0008, 0x064a, + 0x0000, 0x1948, 0x000a, 0x08e2, 0x0003, 0x0d4a, 0x0008, 0x58e2, + 0x0003, 0x3efe, 0x0008, 0x7f4f, 0x0002, 0x08e9, 0x000b, 0x8000, + 0x0000, 0x0001, 0x0000, 0x0092, 0x000c, 0x8054, 0x0008, 0x0001, + 0x0000, 0x8074, 0x0000, 0x2020, 0x0008, 0x4000, 0x000f, 0x3a40, + 0x000a, 0x0c0d, 0x0003, 0x2b24, 0x0008, 0x2b24, 0x0008, 0x58f2, + 0x000b, 0x8054, 0x0008, 0x0002, 0x0000, 0x1242, 0x0002, 0x0940, + 0x0003, 0x3a45, 0x000a, 0x092f, 0x0003, 0x8072, 0x0000, 0x1000, + 0x0000, 0x3945, 0x000a, 0x08ff, 0x0003, 0x8072, 0x0000, 0x3010, + 0x0000, 0x1e10, 0x000a, 0x7f3c, 0x0000, 0x092a, 0x0003, 0x1d00, + 0x0002, 0x7f3a, 0x0000, 0x0d60, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0009, 0x0008, 0x4508, 0x000b, 0x00fe, 0x0000, 0x3527, + 0x000b, 0x1c60, 0x0000, 0x8062, 0x0008, 0x0001, 0x0000, 0x8066, + 0x0000, 0x0009, 0x0008, 0x4510, 0x000b, 0x00fe, 0x0000, 0x3243, + 0x000b, 0x0038, 0x0000, 0x0060, 0x0008, 0x8062, 0x0008, 0x0019, + 0x0000, 0x8066, 0x0000, 0x0009, 0x0008, 0x4519, 0x000b, 0x80c0, + 0x0009, 0x00ff, 0x0008, 0x7f3e, 0x0008, 0x0d60, 0x0000, 0x0efe, + 0x0008, 0x1f80, 0x0001, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, + 0x0008, 0x4523, 0x000b, 0x003a, 0x0008, 0x1dfe, 0x0000, 0x0104, + 0x000b, 0x0036, 0x0008, 0x00c8, 0x000c, 0x0140, 0x000b, 0x8074, + 0x0000, 0x2000, 0x0000, 0x8072, 0x0000, 0x2000, 0x0000, 0x0140, + 0x000b, 0x3a44, 0x0002, 0x0a71, 0x000b, 0x8074, 0x0000, 0x1000, + 0x0000, 0x8072, 0x0000, 0x1000, 0x0000, 0x2d0e, 0x0000, 0x2d0e, + 0x0000, 0x3640, 0x0003, 0x26fe, 0x0008, 0x26fe, 0x0008, 0x2700, + 0x0008, 0x2700, 0x0008, 0x00d0, 0x0009, 0x0d52, 0x000b, 0x8074, + 0x0000, 0x4040, 0x0008, 0x5940, 0x0003, 0x50ee, 0x000b, 0x3a46, + 0x000a, 0x0d52, 0x000b, 0x3a47, 0x0002, 0x094d, 0x000b, 0x8054, + 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, 0x8000, 0x0000, 0x8072, + 0x0000, 0x3000, 0x0008, 0x019c, 0x0003, 0x92c0, 0x0009, 0x0fc8, + 0x0000, 0x080a, 0x0003, 0x1246, 0x000a, 0x0e3a, 0x0003, 0x1a60, + 0x0000, 0x8062, 0x0008, 0x0002, 0x0000, 0x8066, 0x0000, 0x362a, + 0x0000, 0x4557, 0x000b, 0x2000, 0x0000, 0x2000, 0x0000, 0x2102, + 0x0000, 0x2102, 0x0000, 0x2204, 0x0000, 0x2204, 0x0000, 0x2306, + 0x0000, 0x2306, 0x0000, 0x2408, 0x0000, 0x2408, 0x0000, 0x250a, + 0x0000, 0x250a, 0x0000, 0x260c, 0x0000, 0x260c, 0x0000, 0x270e, + 0x0000, 0x270e, 0x0000, 0x2810, 0x0000, 0x2810, 0x0000, 0x2912, + 0x0000, 0x2912, 0x0000, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0007, + 0x0000, 0x8066, 0x0000, 0x0052, 0x0000, 0x4571, 0x0003, 0x92c0, + 0x0009, 0x0780, 0x0008, 0x0e56, 0x0003, 0x124b, 0x0002, 0x097a, + 0x0003, 0x2e4d, 0x0002, 0x2e4d, 0x0002, 0x0a40, 0x0003, 0x3a46, + 0x000a, 0x0d8a, 0x000b, 0x597c, 0x0003, 0x8054, 0x0008, 0x0004, + 0x0000, 0x1243, 0x000a, 0x0998, 0x0003, 0x8010, 0x0008, 0x000d, + 0x0000, 0x021b, 0x000c, 0x1948, 0x000a, 0x0987, 0x000b, 0x0210, + 0x0004, 0x1810, 0x0000, 0x021b, 0x000c, 0x0198, 0x000b, 0x1948, + 0x000a, 0x098e, 0x000b, 0x1243, 0x000a, 0x0a43, 0x0003, 0x194d, + 0x000a, 0x0992, 0x0003, 0x1243, 0x000a, 0x0a4a, 0x0003, 0x5992, + 0x0003, 0x8054, 0x0008, 0x0004, 0x0000, 0x0210, 0x0004, 0x1810, + 0x0000, 0x021b, 0x000c, 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, + 0x0000, 0x3000, 0x0008, 0x0d30, 0x0000, 0x3a42, 0x0002, 0x0da2, + 0x000b, 0x15fe, 0x0008, 0x3461, 0x000b, 0x000a, 0x000b, 0x8074, + 0x0000, 0x0501, 0x0000, 0x8010, 0x0008, 0x000c, 0x0008, 0x021b, + 0x000c, 0x000a, 0x000b, 0xbbe0, 0x0009, 0x0030, 0x0008, 0x0db8, + 0x0003, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x09b5, 0x0003, 0x15fe, + 0x0008, 0x3ce0, 0x0009, 0x09b5, 0x0003, 0x020b, 0x0004, 0x8076, + 0x0008, 0x0040, 0x0000, 0x0208, 0x000b, 0x8076, 0x0008, 0x0041, + 0x0008, 0x0208, 0x000b, 0xbbe0, 0x0009, 0x0032, 0x0000, 0x0dbd, + 0x0003, 0x3c1e, 0x0008, 0x0208, 0x000b, 0xbbe0, 0x0009, 0x003b, + 0x0000, 0x0dc2, 0x000b, 0x3c20, 0x0000, 0x0208, 0x000b, 0xbbe0, + 0x0009, 0x0035, 0x0008, 0x0dc8, 0x000b, 0x8072, 0x0000, 0x8000, + 0x0000, 0x0384, 0x000b, 0xbbe0, 0x0009, 0x0036, 0x0008, 0x0aa5, + 0x000b, 0xbbe0, 0x0009, 0x0037, 0x0000, 0x0de9, 0x000b, 0x18fe, + 0x0000, 0x3ce0, 0x0009, 0x0db5, 0x000b, 0x8076, 0x0008, 0x0040, + 0x0000, 0x1a60, 0x0000, 0x8062, 0x0008, 0x000d, 0x0000, 0x2604, + 0x0008, 0x2604, 0x0008, 0x2706, 0x0008, 0x2706, 0x0008, 0x2808, + 0x0000, 0x2808, 0x0000, 0x290a, 0x0000, 0x290a, 0x0000, 0x8066, + 0x0000, 0x0422, 0x0000, 0x45e0, 0x000b, 0x0210, 0x0004, 0x8054, + 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, + 0x0000, 0xb000, 0x0000, 0x019c, 0x0003, 0xbbe0, 0x0009, 0x0038, + 0x0000, 0x0dfb, 0x000b, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x09f8, + 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x0db1, 0x0003, 0x020b, + 0x0004, 0x8076, 0x0008, 0x0040, 0x0000, 0x8072, 0x0000, 0x8000, + 0x0000, 0x0268, 0x000b, 0x8076, 0x0008, 0x0042, 0x0008, 0x0208, + 0x000b, 0xbbe0, 0x0009, 0x0016, 0x0000, 0x0e08, 0x000b, 0x8074, + 0x0000, 0x0808, 0x0008, 0x3a44, 0x0002, 0x0c0c, 0x000b, 0x8074, + 0x0000, 0x0800, 0x0000, 0x8072, 0x0000, 0x8000, 0x0000, 0x8000, + 0x000f, 0x000a, 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, 0x000a, + 0x000b, 0x3d30, 0x000a, 0x7f00, 0x0000, 0xbc80, 0x0001, 0x0007, + 0x0000, 0x0214, 0x0003, 0x1930, 0x000a, 0x7f00, 0x0000, 0x9880, + 0x0001, 0x0007, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x000a, 0x0008, 0x4619, 0x000b, 0x4000, + 0x000f, 0x221e, 0x000b, 0x0870, 0x0008, 0x4000, 0x000f, 0x7e1b, + 0x000b, 0xbbe0, 0x0009, 0x0030, 0x0008, 0x0e1b, 0x0003, 0x18fe, + 0x0000, 0x3ce0, 0x0009, 0x0a2c, 0x0003, 0x15fe, 0x0008, 0x3ce0, + 0x0009, 0x0a2c, 0x0003, 0x020b, 0x0004, 0x8076, 0x0008, 0x0040, + 0x0000, 0x022e, 0x0003, 0x8076, 0x0008, 0x0041, 0x0008, 0x8072, + 0x0000, 0x8000, 0x0000, 0x021b, 0x0003, 0xbac0, 0x0009, 0x0090, + 0x0008, 0x0a37, 0x0003, 0x8074, 0x0000, 0x0706, 0x0000, 0x0239, + 0x0003, 0x8074, 0x0000, 0x0703, 0x0000, 0x4000, 0x000f, 0x8010, + 0x0008, 0x0023, 0x0000, 0x0276, 0x000b, 0x8010, 0x0008, 0x0008, + 0x0000, 0x0276, 0x000b, 0x8010, 0x0008, 0x0022, 0x0008, 0x0276, + 0x000b, 0x0210, 0x0004, 0x8010, 0x0008, 0x0007, 0x0000, 0x021b, + 0x000c, 0x1810, 0x0000, 0x021b, 0x000c, 0x0282, 0x0003, 0x0210, + 0x0004, 0x8010, 0x0008, 0x001b, 0x0008, 0x021b, 0x000c, 0x1810, + 0x0000, 0x021b, 0x000c, 0x8074, 0x0000, 0xf080, 0x0000, 0x8072, + 0x0000, 0x3000, 0x0008, 0x0d30, 0x0000, 0x000a, 0x000b, 0x8010, + 0x0008, 0x0009, 0x0008, 0x0276, 0x000b, 0x8010, 0x0008, 0x0005, + 0x0008, 0x0276, 0x000b, 0x1648, 0x000a, 0x0c6f, 0x000b, 0x808c, + 0x0008, 0x0001, 0x0000, 0x8010, 0x0008, 0x0004, 0x0000, 0x4143, + 0x000a, 0x086f, 0x0003, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x0d2a, + 0x0008, 0x0276, 0x000b, 0x8010, 0x0008, 0x0003, 0x0008, 0x027a, + 0x000b, 0x8010, 0x0008, 0x000b, 0x0000, 0x027a, 0x000b, 0x8010, + 0x0008, 0x0002, 0x0000, 0x027a, 0x000b, 0x3a47, 0x0002, 0x0d40, + 0x000b, 0x8010, 0x0008, 0x0006, 0x0008, 0x027a, 0x000b, 0x8074, + 0x0000, 0xf000, 0x0008, 0x8072, 0x0000, 0x3000, 0x0008, 0x021b, + 0x000c, 0x0231, 0x0004, 0x3a40, 0x000a, 0x080a, 0x0003, 0x8010, + 0x0008, 0x000c, 0x0008, 0x021b, 0x000c, 0x000a, 0x000b, 0x8074, + 0x0000, 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0d30, + 0x0000, 0x2e4d, 0x0002, 0x2e4d, 0x0002, 0x0a8d, 0x000b, 0x8054, + 0x0008, 0x0019, 0x0000, 0x000a, 0x000b, 0x8054, 0x0008, 0x0009, + 0x0008, 0x000a, 0x000b, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x026b, + 0x000b, 0x808c, 0x0008, 0x0000, 0x0008, 0x4447, 0x0002, 0x0ab9, + 0x0003, 0xc0c0, 0x0001, 0x00ff, 0x0008, 0xffe0, 0x0009, 0x00ff, + 0x0008, 0x0e90, 0x0003, 0xc1e0, 0x0001, 0xffff, 0x0008, 0x0e90, + 0x0003, 0x8010, 0x0008, 0x0013, 0x0000, 0x021b, 0x000c, 0x8074, + 0x0000, 0x0202, 0x0008, 0x000a, 0x000b, 0x3a40, 0x000a, 0x0eb6, + 0x000b, 0x8074, 0x0000, 0x0200, 0x0000, 0x3d00, 0x0000, 0x3cfe, + 0x0000, 0x8072, 0x0000, 0x8000, 0x0000, 0x43e0, 0x0001, 0x0eb4, + 0x0003, 0x42fe, 0x0000, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x00e0, + 0x0009, 0x0a90, 0x000b, 0x0d08, 0x0008, 0x0309, 0x000b, 0x8072, + 0x0000, 0x8000, 0x0000, 0x000a, 0x000b, 0x038d, 0x0004, 0x808c, + 0x0008, 0x0001, 0x0000, 0x04fe, 0x0008, 0x3370, 0x0003, 0x0460, 0x0000, 0x8062, 0x0008, 0x0001, 0x0000, 0x8066, 0x0000, 0x0009, - 0x0008, 0x4510, 0x000b, 0x00fe, 0x0000, 0x3243, 0x000b, 0x0038, - 0x0000, 0x0060, 0x0008, 0x8062, 0x0008, 0x0019, 0x0000, 0x8066, - 0x0000, 0x0009, 0x0008, 0x4519, 0x000b, 0x80c0, 0x0009, 0x00ff, - 0x0008, 0x7f3e, 0x0008, 0x0d60, 0x0000, 0x0efe, 0x0008, 0x1f80, - 0x0001, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4523, - 0x000b, 0x003a, 0x0008, 0x1dfe, 0x0000, 0x0104, 0x000b, 0x0036, - 0x0008, 0x00c8, 0x000c, 0x0140, 0x000b, 0x8074, 0x0000, 0x2000, - 0x0000, 0x8072, 0x0000, 0x2000, 0x0000, 0x0140, 0x000b, 0x3a44, - 0x0002, 0x0a71, 0x000b, 0x8074, 0x0000, 0x1000, 0x0000, 0x8072, - 0x0000, 0x1000, 0x0000, 0x2d0e, 0x0000, 0x2d0e, 0x0000, 0x3640, - 0x0003, 0x26fe, 0x0008, 0x26fe, 0x0008, 0x2700, 0x0008, 0x2700, - 0x0008, 0x00d0, 0x0009, 0x0d52, 0x000b, 0x8074, 0x0000, 0x4040, - 0x0008, 0x5940, 0x0003, 0x50ee, 0x000b, 0x3a46, 0x000a, 0x0d52, - 0x000b, 0x3a47, 0x0002, 0x094d, 0x000b, 0x8054, 0x0008, 0x0004, - 0x0000, 0x8074, 0x0000, 0x8000, 0x0000, 0x8072, 0x0000, 0x3000, - 0x0008, 0x019c, 0x0003, 0x92c0, 0x0009, 0x0fc8, 0x0000, 0x080a, - 0x0003, 0x1246, 0x000a, 0x0e3a, 0x0003, 0x1a60, 0x0000, 0x8062, - 0x0008, 0x0002, 0x0000, 0x8066, 0x0000, 0x362a, 0x0000, 0x4557, - 0x000b, 0x2000, 0x0000, 0x2000, 0x0000, 0x2102, 0x0000, 0x2102, - 0x0000, 0x2204, 0x0000, 0x2204, 0x0000, 0x2306, 0x0000, 0x2306, - 0x0000, 0x2408, 0x0000, 0x2408, 0x0000, 0x250a, 0x0000, 0x250a, - 0x0000, 0x260c, 0x0000, 0x260c, 0x0000, 0x270e, 0x0000, 0x270e, - 0x0000, 0x2810, 0x0000, 0x2810, 0x0000, 0x2912, 0x0000, 0x2912, - 0x0000, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0007, 0x0000, 0x8066, - 0x0000, 0x0052, 0x0000, 0x4571, 0x0003, 0x92c0, 0x0009, 0x0780, - 0x0008, 0x0e56, 0x0003, 0x124b, 0x0002, 0x097a, 0x0003, 0x2e4d, - 0x0002, 0x2e4d, 0x0002, 0x0a40, 0x0003, 0x3a46, 0x000a, 0x0d8a, - 0x000b, 0x597c, 0x0003, 0x8054, 0x0008, 0x0004, 0x0000, 0x1243, - 0x000a, 0x0998, 0x0003, 0x8010, 0x0008, 0x000d, 0x0000, 0x021b, - 0x000c, 0x1948, 0x000a, 0x0987, 0x000b, 0x0210, 0x0004, 0x1810, - 0x0000, 0x021b, 0x000c, 0x0198, 0x000b, 0x1948, 0x000a, 0x098e, - 0x000b, 0x1243, 0x000a, 0x0a43, 0x0003, 0x194d, 0x000a, 0x0992, - 0x0003, 0x1243, 0x000a, 0x0a4a, 0x0003, 0x5992, 0x0003, 0x8054, - 0x0008, 0x0004, 0x0000, 0x0210, 0x0004, 0x1810, 0x0000, 0x021b, - 0x000c, 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, 0x0000, 0x3000, - 0x0008, 0x0d30, 0x0000, 0x3a42, 0x0002, 0x0da2, 0x000b, 0x15fe, - 0x0008, 0x3461, 0x000b, 0x000a, 0x000b, 0x8074, 0x0000, 0x0501, - 0x0000, 0x8010, 0x0008, 0x000c, 0x0008, 0x021b, 0x000c, 0x000a, - 0x000b, 0xbbe0, 0x0009, 0x0030, 0x0008, 0x0db8, 0x0003, 0x18fe, - 0x0000, 0x3ce0, 0x0009, 0x09b5, 0x0003, 0x15fe, 0x0008, 0x3ce0, - 0x0009, 0x09b5, 0x0003, 0x020b, 0x0004, 0x8076, 0x0008, 0x0040, - 0x0000, 0x0208, 0x000b, 0x8076, 0x0008, 0x0041, 0x0008, 0x0208, - 0x000b, 0xbbe0, 0x0009, 0x0032, 0x0000, 0x0dbd, 0x0003, 0x3c1e, - 0x0008, 0x0208, 0x000b, 0xbbe0, 0x0009, 0x003b, 0x0000, 0x0dc2, - 0x000b, 0x3c20, 0x0000, 0x0208, 0x000b, 0xbbe0, 0x0009, 0x0035, - 0x0008, 0x0dc8, 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, 0x0384, - 0x000b, 0xbbe0, 0x0009, 0x0036, 0x0008, 0x0aa5, 0x000b, 0xbbe0, - 0x0009, 0x0037, 0x0000, 0x0de9, 0x000b, 0x18fe, 0x0000, 0x3ce0, - 0x0009, 0x0db5, 0x000b, 0x8076, 0x0008, 0x0040, 0x0000, 0x1a60, - 0x0000, 0x8062, 0x0008, 0x000d, 0x0000, 0x2604, 0x0008, 0x2604, - 0x0008, 0x2706, 0x0008, 0x2706, 0x0008, 0x2808, 0x0000, 0x2808, - 0x0000, 0x290a, 0x0000, 0x290a, 0x0000, 0x8066, 0x0000, 0x0422, - 0x0000, 0x45e0, 0x000b, 0x0210, 0x0004, 0x8054, 0x0008, 0x0004, - 0x0000, 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, 0x0000, 0xb000, - 0x0000, 0x019c, 0x0003, 0xbbe0, 0x0009, 0x0038, 0x0000, 0x0dfb, - 0x000b, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x09f8, 0x0003, 0x15fe, - 0x0008, 0x3ce0, 0x0009, 0x0db1, 0x0003, 0x020b, 0x0004, 0x8076, - 0x0008, 0x0040, 0x0000, 0x8072, 0x0000, 0x8000, 0x0000, 0x0268, - 0x000b, 0x8076, 0x0008, 0x0042, 0x0008, 0x0208, 0x000b, 0xbbe0, - 0x0009, 0x0016, 0x0000, 0x0e08, 0x000b, 0x8074, 0x0000, 0x0808, - 0x0008, 0x3a44, 0x0002, 0x0c0c, 0x000b, 0x8074, 0x0000, 0x0800, - 0x0000, 0x8072, 0x0000, 0x8000, 0x0000, 0x8000, 0x000f, 0x000a, - 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, 0x000a, 0x000b, 0x3d30, - 0x000a, 0x7f00, 0x0000, 0xbc80, 0x0001, 0x0007, 0x0000, 0x0214, - 0x0003, 0x1930, 0x000a, 0x7f00, 0x0000, 0x9880, 0x0001, 0x0007, + 0x0008, 0x46c3, 0x0003, 0x0004, 0x0000, 0x80c0, 0x0009, 0x00ff, + 0x0008, 0x7f00, 0x0000, 0x80e0, 0x0001, 0x0004, 0x0000, 0x0add, + 0x000b, 0x80e0, 0x0001, 0x0005, 0x0008, 0x0add, 0x000b, 0x80e0, + 0x0001, 0x0006, 0x0008, 0x0add, 0x000b, 0x82c0, 0x0001, 0xff00, + 0x0008, 0x7f04, 0x0008, 0x82e0, 0x0009, 0x0600, 0x0008, 0x0add, + 0x000b, 0x82e0, 0x0009, 0x0500, 0x0008, 0x0add, 0x000b, 0x82e0, + 0x0009, 0x0400, 0x0000, 0x0f70, 0x0003, 0xc4c0, 0x0009, 0x7000, + 0x0000, 0xffe0, 0x0009, 0x1000, 0x0000, 0x0b09, 0x0003, 0x037e, + 0x0004, 0x3941, 0x0002, 0x0ae8, 0x000b, 0x8072, 0x0000, 0x0400, + 0x0000, 0x000a, 0x000b, 0x0460, 0x0000, 0x80fe, 0x0008, 0x002b, + 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x2209, 0x0008, 0x46ee, + 0x0003, 0x11fe, 0x0000, 0x3304, 0x0003, 0x9180, 0x0001, 0x0002, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, - 0x0000, 0x000a, 0x0008, 0x4619, 0x000b, 0x4000, 0x000f, 0x221e, - 0x000b, 0x0870, 0x0008, 0x4000, 0x000f, 0x7e1b, 0x000b, 0xbbe0, - 0x0009, 0x0030, 0x0008, 0x0e1b, 0x0003, 0x18fe, 0x0000, 0x3ce0, - 0x0009, 0x0a2c, 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x0a2c, - 0x0003, 0x020b, 0x0004, 0x8076, 0x0008, 0x0040, 0x0000, 0x022e, - 0x0003, 0x8076, 0x0008, 0x0041, 0x0008, 0x8072, 0x0000, 0x8000, - 0x0000, 0x021b, 0x0003, 0xbac0, 0x0009, 0x0090, 0x0008, 0x0a37, - 0x0003, 0x8074, 0x0000, 0x0706, 0x0000, 0x0239, 0x0003, 0x8074, - 0x0000, 0x0703, 0x0000, 0x4000, 0x000f, 0x8010, 0x0008, 0x0023, - 0x0000, 0x0276, 0x000b, 0x8010, 0x0008, 0x0008, 0x0000, 0x0276, - 0x000b, 0x8010, 0x0008, 0x0022, 0x0008, 0x0276, 0x000b, 0x0210, - 0x0004, 0x8010, 0x0008, 0x0007, 0x0000, 0x021b, 0x000c, 0x1810, - 0x0000, 0x021b, 0x000c, 0x0282, 0x0003, 0x0210, 0x0004, 0x8010, - 0x0008, 0x001b, 0x0008, 0x021b, 0x000c, 0x1810, 0x0000, 0x021b, - 0x000c, 0x8074, 0x0000, 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, - 0x0008, 0x0d30, 0x0000, 0x000a, 0x000b, 0x8010, 0x0008, 0x0009, - 0x0008, 0x0276, 0x000b, 0x8010, 0x0008, 0x0005, 0x0008, 0x0276, - 0x000b, 0x1648, 0x000a, 0x0c6f, 0x000b, 0x808c, 0x0008, 0x0001, - 0x0000, 0x8010, 0x0008, 0x0004, 0x0000, 0x4143, 0x000a, 0x086f, - 0x0003, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x0d2a, 0x0008, 0x0276, - 0x000b, 0x8010, 0x0008, 0x0003, 0x0008, 0x027a, 0x000b, 0x8010, - 0x0008, 0x000b, 0x0000, 0x027a, 0x000b, 0x8010, 0x0008, 0x0002, - 0x0000, 0x027a, 0x000b, 0x3a47, 0x0002, 0x0d40, 0x000b, 0x8010, - 0x0008, 0x0006, 0x0008, 0x027a, 0x000b, 0x8074, 0x0000, 0xf000, - 0x0008, 0x8072, 0x0000, 0x3000, 0x0008, 0x021b, 0x000c, 0x0231, - 0x0004, 0x3a40, 0x000a, 0x080a, 0x0003, 0x8010, 0x0008, 0x000c, - 0x0008, 0x021b, 0x000c, 0x000a, 0x000b, 0x8074, 0x0000, 0xf080, - 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0d30, 0x0000, 0x2e4d, - 0x0002, 0x2e4d, 0x0002, 0x0a8d, 0x000b, 0x8054, 0x0008, 0x0019, - 0x0000, 0x000a, 0x000b, 0x8054, 0x0008, 0x0009, 0x0008, 0x000a, - 0x000b, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x026b, 0x000b, 0x808c, - 0x0008, 0x0000, 0x0008, 0x4447, 0x0002, 0x0ab9, 0x0003, 0xc0c0, - 0x0001, 0x00ff, 0x0008, 0xffe0, 0x0009, 0x00ff, 0x0008, 0x0e90, - 0x0003, 0xc1e0, 0x0001, 0xffff, 0x0008, 0x0e90, 0x0003, 0x8010, - 0x0008, 0x0013, 0x0000, 0x021b, 0x000c, 0x8074, 0x0000, 0x0202, - 0x0008, 0x000a, 0x000b, 0x3a40, 0x000a, 0x0eb6, 0x000b, 0x8074, - 0x0000, 0x0200, 0x0000, 0x3d00, 0x0000, 0x3cfe, 0x0000, 0x8072, - 0x0000, 0x8000, 0x0000, 0x43e0, 0x0001, 0x0eb4, 0x0003, 0x42fe, - 0x0000, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x00e0, 0x0009, 0x0a90, - 0x000b, 0x0d08, 0x0008, 0x0309, 0x000b, 0x8072, 0x0000, 0x8000, - 0x0000, 0x000a, 0x000b, 0x038d, 0x0004, 0x808c, 0x0008, 0x0001, - 0x0000, 0x04fe, 0x0008, 0x3370, 0x0003, 0x0460, 0x0000, 0x8062, - 0x0008, 0x0001, 0x0000, 0x8066, 0x0000, 0x0009, 0x0008, 0x46c3, - 0x0003, 0x0004, 0x0000, 0x80c0, 0x0009, 0x00ff, 0x0008, 0x7f00, - 0x0000, 0x80e0, 0x0001, 0x0004, 0x0000, 0x0add, 0x000b, 0x80e0, - 0x0001, 0x0005, 0x0008, 0x0add, 0x000b, 0x80e0, 0x0001, 0x0006, - 0x0008, 0x0add, 0x000b, 0x82c0, 0x0001, 0xff00, 0x0008, 0x7f04, - 0x0008, 0x82e0, 0x0009, 0x0600, 0x0008, 0x0add, 0x000b, 0x82e0, - 0x0009, 0x0500, 0x0008, 0x0add, 0x000b, 0x82e0, 0x0009, 0x0400, - 0x0000, 0x0f70, 0x0003, 0xc4c0, 0x0009, 0x7000, 0x0000, 0xffe0, - 0x0009, 0x1000, 0x0000, 0x0b09, 0x0003, 0x037e, 0x0004, 0x3941, - 0x0002, 0x0ae8, 0x000b, 0x8072, 0x0000, 0x0400, 0x0000, 0x000a, - 0x000b, 0x0460, 0x0000, 0x80fe, 0x0008, 0x002b, 0x0008, 0x7f62, - 0x0008, 0x8066, 0x0000, 0x2209, 0x0008, 0x46ee, 0x0003, 0x11fe, - 0x0000, 0x3304, 0x0003, 0x9180, 0x0001, 0x0002, 0x0000, 0x8060, - 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0609, - 0x0008, 0x46f8, 0x000b, 0x42fe, 0x0000, 0xffc0, 0x0001, 0xff00, - 0x0008, 0x03e0, 0x0009, 0x0f01, 0x0003, 0x8072, 0x0000, 0x0400, - 0x0000, 0x0046, 0x0003, 0x9180, 0x0001, 0x0003, 0x0008, 0x02eb, - 0x0003, 0x8072, 0x0000, 0x0400, 0x0000, 0x8010, 0x0008, 0x0010, - 0x0000, 0x0361, 0x0003, 0x037e, 0x0004, 0x3941, 0x0002, 0x0b0f, - 0x0003, 0x8072, 0x0000, 0x0400, 0x0000, 0x000a, 0x000b, 0x0346, - 0x000c, 0x11fe, 0x0000, 0x3717, 0x0003, 0x8072, 0x0000, 0x0400, - 0x0000, 0x8010, 0x0008, 0x000e, 0x0000, 0x0361, 0x0003, 0x8060, - 0x0000, 0x0400, 0x0000, 0x04fe, 0x0008, 0x372c, 0x000b, 0x808c, - 0x0008, 0x0000, 0x0008, 0x9180, 0x0001, 0x0005, 0x0008, 0x7f62, - 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4722, 0x000b, 0x0060, - 0x0008, 0x8062, 0x0008, 0x001b, 0x0008, 0x4304, 0x0008, 0x4206, - 0x0008, 0x8066, 0x0000, 0x0412, 0x0000, 0x472a, 0x0003, 0x0343, - 0x0003, 0x808c, 0x0008, 0x0001, 0x0000, 0x0460, 0x0000, 0x8062, - 0x0008, 0x002b, 0x0008, 0x8066, 0x0000, 0x0609, 0x0008, 0x4733, - 0x000b, 0x8066, 0x0000, 0x220a, 0x0008, 0x4736, 0x000b, 0x42fe, - 0x0000, 0xffc0, 0x0001, 0xff00, 0x0008, 0x7f04, 0x0008, 0x8060, - 0x0000, 0x0400, 0x0000, 0x9180, 0x0001, 0x0002, 0x0000, 0x7f62, - 0x0008, 0x8066, 0x0000, 0x041a, 0x0008, 0x4742, 0x000b, 0x8072, - 0x0000, 0x0400, 0x0000, 0x0046, 0x0003, 0x8060, 0x0000, 0x0400, - 0x0000, 0x1362, 0x0008, 0x8066, 0x0000, 0x0411, 0x0000, 0x474b, - 0x000b, 0x02fe, 0x0008, 0x03e0, 0x0009, 0x0f51, 0x0003, 0x0d22, - 0x0000, 0x4000, 0x000f, 0x8280, 0x0009, 0x0002, 0x0000, 0x1380, - 0x0001, 0x7f62, 0x0008, 0x8066, 0x0000, 0x2209, 0x0008, 0x4757, - 0x0003, 0x0200, 0x000a, 0xffc0, 0x0001, 0x0007, 0x0000, 0x7f06, - 0x0000, 0x1362, 0x0008, 0x8066, 0x0000, 0x060a, 0x0008, 0x475f, - 0x000b, 0x4000, 0x000f, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x2f44, - 0x000a, 0x2f44, 0x000a, 0x0e6b, 0x000b, 0x808a, 0x0008, 0x0003, - 0x0008, 0x8074, 0x0000, 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, - 0x0008, 0x5b6c, 0x0003, 0x8054, 0x0008, 0x0019, 0x0000, 0x000a, - 0x000b, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x808c, 0x0008, 0x0000, - 0x0008, 0x8010, 0x0008, 0x0011, 0x0008, 0x021b, 0x000c, 0x42fe, - 0x0000, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x7f10, 0x0008, 0x021b, - 0x000c, 0x4310, 0x0008, 0x027a, 0x000b, 0x3941, 0x0002, 0x0b81, - 0x0003, 0x4000, 0x000f, 0x8072, 0x0000, 0x0404, 0x0008, 0x4000, - 0x000f, 0x8010, 0x0008, 0x0012, 0x0008, 0x021b, 0x000c, 0x0346, - 0x000c, 0x1110, 0x0000, 0x021b, 0x000c, 0x11fe, 0x0000, 0x3787, - 0x0003, 0x000a, 0x000b, 0xc2c0, 0x0009, 0x00ff, 0x0008, 0x7f00, - 0x0000, 0xc3c0, 0x0001, 0xff00, 0x0008, 0x00d0, 0x0009, 0x0bb2, - 0x0003, 0x0d0a, 0x0000, 0x8580, 0x0001, 0x1000, 0x0000, 0x7f62, - 0x0008, 0x8060, 0x0000, 0x0400, 0x0000, 0x8066, 0x0000, 0x0809, - 0x0000, 0x479c, 0x000b, 0x04fe, 0x0008, 0x33ab, 0x0003, 0x0460, - 0x0000, 0x8062, 0x0008, 0x0004, 0x0000, 0x8066, 0x0000, 0x0211, - 0x0000, 0x47a4, 0x0003, 0x01fe, 0x0008, 0x00e0, 0x0009, 0x0fab, - 0x0003, 0x02fe, 0x0008, 0x43e0, 0x0001, 0x0bb1, 0x0003, 0x0500, - 0x0002, 0x7f0a, 0x0000, 0xffe0, 0x0009, 0x0800, 0x0000, 0x0f95, - 0x000b, 0x0d08, 0x0008, 0x4000, 0x000f, 0x43fe, 0x0008, 0x3e80, - 0x0001, 0xffc0, 0x0001, 0x7fff, 0x0000, 0x0d60, 0x0000, 0x7f62, - 0x0008, 0x8066, 0x0000, 0x0809, 0x0000, 0x47ba, 0x0003, 0x8060, - 0x0000, 0x0400, 0x0000, 0x84c0, 0x0001, 0xff00, 0x0008, 0x7f60, + 0x0000, 0x0609, 0x0008, 0x46f8, 0x000b, 0x42fe, 0x0000, 0xffc0, + 0x0001, 0xff00, 0x0008, 0x03e0, 0x0009, 0x0f01, 0x0003, 0x8072, + 0x0000, 0x0400, 0x0000, 0x0046, 0x0003, 0x9180, 0x0001, 0x0003, + 0x0008, 0x02eb, 0x0003, 0x8072, 0x0000, 0x0400, 0x0000, 0x8010, + 0x0008, 0x0010, 0x0000, 0x0361, 0x0003, 0x037e, 0x0004, 0x3941, + 0x0002, 0x0b0f, 0x0003, 0x8072, 0x0000, 0x0400, 0x0000, 0x000a, + 0x000b, 0x0346, 0x000c, 0x11fe, 0x0000, 0x3717, 0x0003, 0x8072, + 0x0000, 0x0400, 0x0000, 0x8010, 0x0008, 0x000e, 0x0000, 0x0361, + 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, 0x04fe, 0x0008, 0x372c, + 0x000b, 0x808c, 0x0008, 0x0000, 0x0008, 0x9180, 0x0001, 0x0005, + 0x0008, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4722, + 0x000b, 0x0060, 0x0008, 0x8062, 0x0008, 0x001b, 0x0008, 0x4304, + 0x0008, 0x4206, 0x0008, 0x8066, 0x0000, 0x0412, 0x0000, 0x472a, + 0x0003, 0x0343, 0x0003, 0x808c, 0x0008, 0x0001, 0x0000, 0x0460, + 0x0000, 0x8062, 0x0008, 0x002b, 0x0008, 0x8066, 0x0000, 0x0609, + 0x0008, 0x4733, 0x000b, 0x8066, 0x0000, 0x220a, 0x0008, 0x4736, + 0x000b, 0x42fe, 0x0000, 0xffc0, 0x0001, 0xff00, 0x0008, 0x7f04, + 0x0008, 0x8060, 0x0000, 0x0400, 0x0000, 0x9180, 0x0001, 0x0002, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x041a, 0x0008, 0x4742, + 0x000b, 0x8072, 0x0000, 0x0400, 0x0000, 0x0046, 0x0003, 0x8060, + 0x0000, 0x0400, 0x0000, 0x1362, 0x0008, 0x8066, 0x0000, 0x0411, + 0x0000, 0x474b, 0x000b, 0x02fe, 0x0008, 0x03e0, 0x0009, 0x0f51, + 0x0003, 0x0d22, 0x0000, 0x4000, 0x000f, 0x8280, 0x0009, 0x0002, + 0x0000, 0x1380, 0x0001, 0x7f62, 0x0008, 0x8066, 0x0000, 0x2209, + 0x0008, 0x4757, 0x0003, 0x0200, 0x000a, 0xffc0, 0x0001, 0x0007, + 0x0000, 0x7f06, 0x0000, 0x1362, 0x0008, 0x8066, 0x0000, 0x060a, + 0x0008, 0x475f, 0x000b, 0x4000, 0x000f, 0x3a44, 0x0002, 0x0c0a, + 0x000b, 0x2f44, 0x000a, 0x2f44, 0x000a, 0x0e6b, 0x000b, 0x808a, + 0x0008, 0x0003, 0x0008, 0x8074, 0x0000, 0xf080, 0x0000, 0x8072, + 0x0000, 0x3000, 0x0008, 0x5b6c, 0x0003, 0x8054, 0x0008, 0x0019, + 0x0000, 0x000a, 0x000b, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x808c, + 0x0008, 0x0000, 0x0008, 0x8010, 0x0008, 0x0011, 0x0008, 0x021b, + 0x000c, 0x42fe, 0x0000, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x7f10, + 0x0008, 0x021b, 0x000c, 0x4310, 0x0008, 0x027a, 0x000b, 0x3941, + 0x0002, 0x0b81, 0x0003, 0x4000, 0x000f, 0x8072, 0x0000, 0x0404, + 0x0008, 0x4000, 0x000f, 0x8010, 0x0008, 0x0012, 0x0008, 0x021b, + 0x000c, 0x0346, 0x000c, 0x1110, 0x0000, 0x021b, 0x000c, 0x11fe, + 0x0000, 0x3787, 0x0003, 0x000a, 0x000b, 0xc2c0, 0x0009, 0x00ff, + 0x0008, 0x7f00, 0x0000, 0xc3c0, 0x0001, 0xff00, 0x0008, 0x00d0, + 0x0009, 0x0bb2, 0x0003, 0x0d0a, 0x0000, 0x8580, 0x0001, 0x1000, + 0x0000, 0x7f62, 0x0008, 0x8060, 0x0000, 0x0400, 0x0000, 0x8066, + 0x0000, 0x0809, 0x0000, 0x479c, 0x000b, 0x04fe, 0x0008, 0x33ab, + 0x0003, 0x0460, 0x0000, 0x8062, 0x0008, 0x0004, 0x0000, 0x8066, + 0x0000, 0x0211, 0x0000, 0x47a4, 0x0003, 0x01fe, 0x0008, 0x00e0, + 0x0009, 0x0fab, 0x0003, 0x02fe, 0x0008, 0x43e0, 0x0001, 0x0bb1, + 0x0003, 0x0500, 0x0002, 0x7f0a, 0x0000, 0xffe0, 0x0009, 0x0800, + 0x0000, 0x0f95, 0x000b, 0x0d08, 0x0008, 0x4000, 0x000f, 0x43fe, + 0x0008, 0x3e80, 0x0001, 0xffc0, 0x0001, 0x7fff, 0x0000, 0x0d60, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0809, 0x0000, 0x47ba, + 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, 0x84c0, 0x0001, 0xff00, + 0x0008, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, - 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0x7f60, 0x000a, 0xff80, - 0x0009, 0x1000, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0809, - 0x0000, 0x47cc, 0x000b, 0x4000, 0x000f, 0x5ff4, 0xebed, 0x0001, - 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, - 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000, 0x4464 + 0x000a, 0xff80, 0x0009, 0x1000, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0809, 0x0000, 0x47cc, 0x000b, 0x4000, 0x000f, 0x5ff4, + 0xebed, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, + 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, + 0x8000, 0x74b9 }; #ifdef UNIQUE_FW_NAME -unsigned short fw2300ipx_length01 = 0xe9e8; +unsigned short fw2300ipx_length01 = 0xea02; #else -unsigned short risc_code_length01 = 0xe9e8; +unsigned short risc_code_length01 = 0xea02; #endif diff --git a/drivers/scsi/qla2xxx/ql2322.c b/drivers/scsi/qla2xxx/ql2322.c index ebbb51ea6..70b6d75ed 100644 --- a/drivers/scsi/qla2xxx/ql2322.c +++ b/drivers/scsi/qla2xxx/ql2322.c @@ -105,3 +105,4 @@ module_exit(qla2322_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic ISP2322 FC-SCSI Host Bus Adapter driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/ql2322_fw.c b/drivers/scsi/qla2xxx/ql2322_fw.c index 796206533..a99e9632a 100644 --- a/drivers/scsi/qla2xxx/ql2322_fw.c +++ b/drivers/scsi/qla2xxx/ql2322_fw.c @@ -18,25 +18,25 @@ *************************************************************************/ /* - * Firmware Version 3.02.30 (07:55 Jun 16, 2004) + * Firmware Version 3.03.02 (16:54 Aug 10, 2004) */ #ifdef UNIQUE_FW_NAME -unsigned short fw2322ipx_version = 3*1024+2; +unsigned short fw2322ipx_version = 3*1024+3; #else -unsigned short risc_code_version = 3*1024+2; +unsigned short risc_code_version = 3*1024+3; #endif #ifdef UNIQUE_FW_NAME -unsigned char fw2322ipx_version_str[] = {3, 2,30}; +unsigned char fw2322ipx_version_str[] = {3, 3, 2}; #else -unsigned char firmware_version[] = {3, 2,30}; +unsigned char firmware_version[] = {3, 3, 2}; #endif #ifdef UNIQUE_FW_NAME -#define fw2322ipx_VERSION_STRING "3.02.30" +#define fw2322ipx_VERSION_STRING "3.03.02" #else -#define FW_VERSION_STRING "3.02.30" +#define FW_VERSION_STRING "3.03.02" #endif #ifdef UNIQUE_FW_NAME @@ -50,12 +50,12 @@ unsigned short fw2322ipx_code01[] = { #else unsigned short risc_code01[] = { #endif - 0x0470, 0x0000, 0x0000, 0xdf52, 0x0000, 0x0003, 0x0002, 0x001e, + 0x0470, 0x0000, 0x0000, 0xdf8f, 0x0000, 0x0003, 0x0003, 0x0002, 0x0137, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, - 0x332e, 0x3032, 0x2e33, 0x3020, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x332e, 0x3033, 0x2e30, 0x3220, 0x2020, 0x2020, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, @@ -64,11 +64,11 @@ unsigned short risc_code01[] = { 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, 0x0000, 0x20c1, 0x0004, 0x20c9, 0x1cff, 0x2059, 0x0000, 0x2b78, - 0x7883, 0x0004, 0x2089, 0x2ac3, 0x2051, 0x1800, 0x2a70, 0x20e1, - 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e55, 0x00f6, - 0x7888, 0x9005, 0x11f8, 0x2061, 0xc000, 0x080c, 0x2067, 0x1170, - 0x2079, 0x0300, 0x080c, 0x207d, 0x2061, 0xe000, 0x080c, 0x2067, - 0x1128, 0x2079, 0x0380, 0x080c, 0x207d, 0x0060, 0x00fe, 0x7883, + 0x7883, 0x0004, 0x2089, 0x2ae3, 0x2051, 0x1800, 0x2a70, 0x20e1, + 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e62, 0x00f6, + 0x7888, 0x9005, 0x11f8, 0x2061, 0xc000, 0x080c, 0x207f, 0x1170, + 0x2079, 0x0300, 0x080c, 0x2095, 0x2061, 0xe000, 0x080c, 0x207f, + 0x1128, 0x2079, 0x0380, 0x080c, 0x2095, 0x0060, 0x00fe, 0x7883, 0x4010, 0x7837, 0x4010, 0x7833, 0x0010, 0x2091, 0x5000, 0x2091, 0x4080, 0x0cf8, 0x00fe, 0x2029, 0x5600, 0x2031, 0xffff, 0x2039, 0x55dc, 0x2021, 0x0200, 0x20e9, 0x0001, 0x20a1, 0x0000, 0x20a9, @@ -82,146 +82,146 @@ unsigned short risc_code01[] = { 0x20a8, 0x900e, 0x4104, 0x2009, 0x1800, 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, 0x20a9, 0x0800, 0x4104, 0x8211, - 0x1dd8, 0x080c, 0x0f52, 0x080c, 0x6032, 0x080c, 0xab75, 0x080c, - 0x1109, 0x080c, 0x1333, 0x080c, 0x1bbd, 0x080c, 0x916f, 0x080c, - 0x0d0f, 0x080c, 0x108e, 0x080c, 0x3468, 0x080c, 0x77e0, 0x080c, - 0x6a8e, 0x080c, 0x88e7, 0x080c, 0x8548, 0x080c, 0x2258, 0x080c, - 0x7eb5, 0x080c, 0x2096, 0x080c, 0x21d4, 0x080c, 0x224d, 0x2091, + 0x1dd8, 0x080c, 0x0f5f, 0x080c, 0x6052, 0x080c, 0xab86, 0x080c, + 0x1116, 0x080c, 0x1340, 0x080c, 0x1bd5, 0x080c, 0x91a8, 0x080c, + 0x0d0f, 0x080c, 0x109b, 0x080c, 0x3488, 0x080c, 0x7803, 0x080c, + 0x6ab2, 0x080c, 0x891b, 0x080c, 0x857c, 0x080c, 0x2270, 0x080c, + 0x7ed9, 0x080c, 0x20ae, 0x080c, 0x21ec, 0x080c, 0x2265, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x0943, 0x7880, 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, 0x0010, 0x0e04, 0x0937, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x11e1, 0x2071, 0x1800, 0x7003, 0x0000, 0x780c, + 0xd084, 0x190c, 0x11ee, 0x2071, 0x1800, 0x7003, 0x0000, 0x780c, 0x9084, 0x0030, 0x9086, 0x0000, 0x190c, 0x0d7d, 0x2071, 0x1800, - 0x7000, 0x908e, 0x0003, 0x1168, 0x080c, 0x4bce, 0x080c, 0x348f, - 0x080c, 0x7848, 0x080c, 0x6fc6, 0x080c, 0x89c5, 0x080c, 0x8571, + 0x7000, 0x908e, 0x0003, 0x1168, 0x080c, 0x4bee, 0x080c, 0x34af, + 0x080c, 0x786b, 0x080c, 0x6fea, 0x080c, 0x89f9, 0x080c, 0x85a5, 0x0c68, 0x000b, 0x0c88, 0x096d, 0x096e, 0x0b09, 0x096b, 0x0bc3, 0x0d0e, 0x0d0e, 0x0d0e, 0x080c, 0x0d7d, 0x0005, 0x0126, 0x00f6, 0x2091, 0x8000, 0x7000, 0x9086, 0x0001, 0x1904, 0x0adc, 0x080c, - 0x0ea5, 0x080c, 0x74c8, 0x0150, 0x080c, 0x74eb, 0x15b0, 0x2079, - 0x0100, 0x7828, 0x9085, 0x1800, 0x782a, 0x0478, 0x080c, 0x73f9, + 0x0eb2, 0x080c, 0x74ec, 0x0150, 0x080c, 0x750f, 0x15b0, 0x2079, + 0x0100, 0x7828, 0x9085, 0x1800, 0x782a, 0x0478, 0x080c, 0x741d, 0x7000, 0x9086, 0x0001, 0x1904, 0x0adc, 0x7098, 0x9086, 0x0028, - 0x1904, 0x0adc, 0x080c, 0x8540, 0x080c, 0x8532, 0x2001, 0x0161, - 0x2003, 0x0001, 0x2079, 0x0100, 0x2011, 0xffff, 0x080c, 0x2a63, - 0x7a28, 0x9295, 0x5e2c, 0x7a2a, 0x2011, 0x733e, 0x080c, 0x861d, - 0x2011, 0x7331, 0x080c, 0x8729, 0x2011, 0x5e89, 0x080c, 0x861d, - 0x2011, 0x8030, 0x901e, 0x7396, 0x04d0, 0x080c, 0x5736, 0x2079, - 0x0100, 0x7844, 0x9005, 0x1904, 0x0adc, 0x2011, 0x5e89, 0x080c, - 0x861d, 0x2011, 0x733e, 0x080c, 0x861d, 0x2011, 0x7331, 0x080c, - 0x8729, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, 0x7840, + 0x1904, 0x0adc, 0x080c, 0x8574, 0x080c, 0x8566, 0x2001, 0x0161, + 0x2003, 0x0001, 0x2079, 0x0100, 0x2011, 0xffff, 0x080c, 0x2a83, + 0x7a28, 0x9295, 0x5e2c, 0x7a2a, 0x2011, 0x7362, 0x080c, 0x8651, + 0x2011, 0x7355, 0x080c, 0x875d, 0x2011, 0x5ea9, 0x080c, 0x8651, + 0x2011, 0x8030, 0x901e, 0x7396, 0x04d0, 0x080c, 0x5756, 0x2079, + 0x0100, 0x7844, 0x9005, 0x1904, 0x0adc, 0x2011, 0x5ea9, 0x080c, + 0x8651, 0x2011, 0x7362, 0x080c, 0x8651, 0x2011, 0x7355, 0x080c, + 0x875d, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, 0x7840, 0x9084, 0xfffb, 0x7842, 0x2001, 0x19a5, 0x2004, 0x9005, 0x1140, - 0x00c6, 0x2061, 0x0100, 0x080c, 0x5fda, 0x00ce, 0x0804, 0x0adc, - 0x780f, 0x006b, 0x7a28, 0x080c, 0x74d0, 0x0118, 0x9295, 0x5e2c, + 0x00c6, 0x2061, 0x0100, 0x080c, 0x5ffa, 0x00ce, 0x0804, 0x0adc, + 0x780f, 0x006b, 0x7a28, 0x080c, 0x74f4, 0x0118, 0x9295, 0x5e2c, 0x0010, 0x9295, 0x402c, 0x7a2a, 0x2011, 0x8010, 0x73d8, 0x2001, - 0x19a6, 0x2003, 0x0001, 0x080c, 0x292f, 0x080c, 0x4b09, 0x7248, + 0x19a6, 0x2003, 0x0001, 0x080c, 0x294b, 0x080c, 0x4b29, 0x7248, 0xc284, 0x724a, 0x2001, 0x180c, 0x200c, 0xc1ac, 0xc1cc, 0x2102, - 0x2001, 0x0390, 0x2003, 0x0400, 0x080c, 0xa888, 0x080c, 0xa055, - 0x2011, 0x0004, 0x080c, 0xc842, 0x080c, 0xa8a4, 0x080c, 0x6916, - 0x080c, 0x74c8, 0x1120, 0x080c, 0x2990, 0x0600, 0x0420, 0x080c, - 0x5fe1, 0x0140, 0x7097, 0x0001, 0x70d3, 0x0000, 0x080c, 0x5903, - 0x0804, 0x0adc, 0x080c, 0x56d5, 0xd094, 0x01a8, 0x2001, 0x0390, + 0x2001, 0x0390, 0x2003, 0x0400, 0x080c, 0xa899, 0x080c, 0xa08e, + 0x2011, 0x0004, 0x080c, 0xc875, 0x080c, 0xa8b5, 0x080c, 0x693a, + 0x080c, 0x74ec, 0x1120, 0x080c, 0x29ac, 0x0600, 0x0420, 0x080c, + 0x6001, 0x0140, 0x7097, 0x0001, 0x70d3, 0x0000, 0x080c, 0x5923, + 0x0804, 0x0adc, 0x080c, 0x56f5, 0xd094, 0x01a8, 0x2001, 0x0390, 0x2003, 0x0404, 0x2011, 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, - 0x56d9, 0xd0d4, 0x1118, 0x080c, 0x2990, 0x1270, 0x2011, 0x180c, - 0x2204, 0xc0bc, 0x00a8, 0x080c, 0x56d9, 0xd0d4, 0x1db8, 0x2011, + 0x56f9, 0xd0d4, 0x1118, 0x080c, 0x29ac, 0x1270, 0x2011, 0x180c, + 0x2204, 0xc0bc, 0x00a8, 0x080c, 0x56f9, 0xd0d4, 0x1db8, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x0060, 0x2011, 0x180c, 0x2204, 0xc0bd, - 0x2012, 0x080c, 0x6a62, 0x1128, 0xd0a4, 0x0118, 0x2204, 0xc0fd, - 0x2012, 0x080c, 0x6a28, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x00a8, - 0x707f, 0x0000, 0x080c, 0x74c8, 0x1130, 0x70b0, 0x9005, 0x1168, - 0x080c, 0xcc9e, 0x0050, 0x080c, 0xcc9e, 0x70dc, 0xd09c, 0x1128, - 0x70b0, 0x9005, 0x0110, 0x080c, 0x5fb7, 0x70e7, 0x0000, 0x70e3, - 0x0000, 0x70a7, 0x0000, 0x080c, 0x2998, 0x0228, 0x2011, 0x0101, - 0x2204, 0xc0c4, 0x2012, 0x72dc, 0x080c, 0x74c8, 0x1178, 0x9016, - 0x0016, 0x080c, 0x272c, 0x2019, 0x196c, 0x211a, 0x001e, 0x705f, + 0x2012, 0x080c, 0x6a86, 0x1128, 0xd0a4, 0x0118, 0x2204, 0xc0fd, + 0x2012, 0x080c, 0x6a4c, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, 0x00a8, + 0x707f, 0x0000, 0x080c, 0x74ec, 0x1130, 0x70b0, 0x9005, 0x1168, + 0x080c, 0xccd1, 0x0050, 0x080c, 0xccd1, 0x70dc, 0xd09c, 0x1128, + 0x70b0, 0x9005, 0x0110, 0x080c, 0x5fd7, 0x70e7, 0x0000, 0x70e3, + 0x0000, 0x70a7, 0x0000, 0x080c, 0x29b4, 0x0228, 0x2011, 0x0101, + 0x2204, 0xc0c4, 0x2012, 0x72dc, 0x080c, 0x74ec, 0x1178, 0x9016, + 0x0016, 0x080c, 0x2748, 0x2019, 0x196c, 0x211a, 0x001e, 0x705f, 0xffff, 0x7063, 0x00ef, 0x7083, 0x0000, 0x0020, 0x2019, 0x196c, 0x201b, 0x0000, 0x2079, 0x1847, 0x7804, 0xd0ac, 0x0108, 0xc295, - 0x72de, 0x080c, 0x74c8, 0x0118, 0x9296, 0x0004, 0x0518, 0x2011, - 0x0001, 0x080c, 0xc842, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, - 0x0002, 0x00fe, 0x080c, 0x2fc0, 0x080c, 0xa888, 0x2011, 0x0005, - 0x080c, 0xa1b1, 0x080c, 0xa8a4, 0x080c, 0x74c8, 0x0148, 0x00c6, - 0x2061, 0x0100, 0x0016, 0x080c, 0x272c, 0x61e2, 0x001e, 0x00ce, + 0x72de, 0x080c, 0x74ec, 0x0118, 0x9296, 0x0004, 0x0518, 0x2011, + 0x0001, 0x080c, 0xc875, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, + 0x0002, 0x00fe, 0x080c, 0x2fe0, 0x080c, 0xa899, 0x2011, 0x0005, + 0x080c, 0xa1be, 0x080c, 0xa8b5, 0x080c, 0x74ec, 0x0148, 0x00c6, + 0x2061, 0x0100, 0x0016, 0x080c, 0x2748, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x00e0, 0x70ab, 0x0000, 0x70af, 0xffff, 0x7003, 0x0002, - 0x080c, 0xa888, 0x2011, 0x0005, 0x080c, 0xa1b1, 0x080c, 0xa8a4, - 0x080c, 0x74c8, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, - 0x272c, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, - 0x00b6, 0x080c, 0x74c8, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, - 0x0782, 0x080c, 0x74c8, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, + 0x080c, 0xa899, 0x2011, 0x0005, 0x080c, 0xa1be, 0x080c, 0xa8b5, + 0x080c, 0x74ec, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x080c, + 0x2748, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, + 0x00b6, 0x080c, 0x74ec, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, + 0x0782, 0x080c, 0x74ec, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, 0x0138, 0x9180, 0x1000, 0x2004, 0x905d, 0x0110, 0xb800, - 0xd0bc, 0x090c, 0x32f8, 0x8108, 0x1f04, 0x0af0, 0x707f, 0x0000, + 0xd0bc, 0x090c, 0x3318, 0x8108, 0x1f04, 0x0af0, 0x707f, 0x0000, 0x7080, 0x9084, 0x00ff, 0x7082, 0x70b3, 0x0000, 0x00be, 0x00ce, 0x0005, 0x00b6, 0x0126, 0x2091, 0x8000, 0x7000, 0x9086, 0x0002, - 0x1904, 0x0bc0, 0x70ac, 0x9086, 0xffff, 0x0120, 0x080c, 0x2fc0, + 0x1904, 0x0bc0, 0x70ac, 0x9086, 0xffff, 0x0120, 0x080c, 0x2fe0, 0x0804, 0x0bc0, 0x70dc, 0xd0ac, 0x1110, 0xd09c, 0x0538, 0xd084, 0x0528, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, 0xd08c, - 0x01e8, 0x080c, 0x3361, 0x11b0, 0x70e0, 0x9086, 0xffff, 0x0190, - 0x080c, 0x3155, 0x70dc, 0xd094, 0x1904, 0x0bc0, 0x2011, 0x0001, - 0x080c, 0xcf51, 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, 0x318f, + 0x01e8, 0x080c, 0x3381, 0x11b0, 0x70e0, 0x9086, 0xffff, 0x0190, + 0x080c, 0x3175, 0x70dc, 0xd094, 0x1904, 0x0bc0, 0x2011, 0x0001, + 0x080c, 0xcf84, 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, 0x31af, 0x0804, 0x0bc0, 0x70e4, 0x9005, 0x1904, 0x0bc0, 0x70a8, 0x9005, 0x1904, 0x0bc0, 0x70dc, 0xd0a4, 0x0118, 0xd0b4, 0x0904, 0x0bc0, - 0x080c, 0x6a28, 0x1904, 0x0bc0, 0x080c, 0x6a7b, 0x1904, 0x0bc0, - 0x080c, 0x6a62, 0x01c0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, - 0x0016, 0x080c, 0x6620, 0x1118, 0xb800, 0xd0ec, 0x1138, 0x001e, + 0x080c, 0x6a4c, 0x1904, 0x0bc0, 0x080c, 0x6a9f, 0x1904, 0x0bc0, + 0x080c, 0x6a86, 0x01c0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, + 0x0016, 0x080c, 0x6644, 0x1118, 0xb800, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0b60, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0bc0, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, - 0x000e, 0x2011, 0x19b2, 0x080c, 0x0fc2, 0x2011, 0x19cc, 0x080c, - 0x0fc2, 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, 0x70af, 0xffff, - 0x080c, 0x0e79, 0x9006, 0x080c, 0x25b9, 0x080c, 0x3361, 0x0118, - 0x080c, 0x4ca6, 0x0050, 0x0036, 0x0046, 0x2019, 0xffff, 0x2021, - 0x0006, 0x080c, 0x4cc0, 0x004e, 0x003e, 0x00f6, 0x2079, 0x0100, - 0x080c, 0x74eb, 0x0150, 0x080c, 0x74c8, 0x7828, 0x0118, 0x9084, - 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, 0x00fe, 0x080c, 0xa888, + 0x000e, 0x2011, 0x19b2, 0x080c, 0x0fcf, 0x2011, 0x19cc, 0x080c, + 0x0fcf, 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, 0x70af, 0xffff, + 0x080c, 0x0e86, 0x9006, 0x080c, 0x25d5, 0x080c, 0x3381, 0x0118, + 0x080c, 0x4cc6, 0x0050, 0x0036, 0x0046, 0x2019, 0xffff, 0x2021, + 0x0006, 0x080c, 0x4ce0, 0x004e, 0x003e, 0x00f6, 0x2079, 0x0100, + 0x080c, 0x750f, 0x0150, 0x080c, 0x74ec, 0x7828, 0x0118, 0x9084, + 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, 0x00fe, 0x080c, 0xa899, 0x2001, 0x19e7, 0x2004, 0x9086, 0x0005, 0x1120, 0x2011, 0x0000, - 0x080c, 0xa1b1, 0x2011, 0x0000, 0x080c, 0xa1bb, 0x080c, 0xa8a4, + 0x080c, 0xa1be, 0x2011, 0x0000, 0x080c, 0xa1c8, 0x080c, 0xa8b5, 0x012e, 0x00be, 0x0005, 0x0016, 0x0026, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, 0x918c, 0xfffd, 0x7906, - 0x2009, 0x00f7, 0x080c, 0x5fa0, 0x7940, 0x918c, 0x0010, 0x7942, - 0x7924, 0xd1b4, 0x0120, 0x2011, 0x0040, 0x080c, 0x2a63, 0xd19c, - 0x0120, 0x2011, 0x0008, 0x080c, 0x2a63, 0x0006, 0x0036, 0x0156, - 0x0000, 0x2001, 0x19a6, 0x2004, 0x9005, 0x1518, 0x080c, 0x29f7, - 0x1148, 0x2001, 0x0001, 0x080c, 0x295e, 0x2001, 0x0001, 0x080c, - 0x2941, 0x00b8, 0x080c, 0x29ff, 0x1138, 0x9006, 0x080c, 0x295e, - 0x9006, 0x080c, 0x2941, 0x0068, 0x080c, 0x2a07, 0x1d50, 0x2001, - 0x1997, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x2758, 0x0804, - 0x0cc1, 0x080c, 0x2a86, 0x080c, 0x2ab9, 0x20a9, 0x003a, 0x1d04, - 0x0c17, 0x080c, 0x8709, 0x1f04, 0x0c17, 0x080c, 0x74d9, 0x0148, - 0x080c, 0x74eb, 0x1118, 0x080c, 0x77db, 0x0050, 0x080c, 0x74d0, - 0x0dd0, 0x080c, 0x77d6, 0x080c, 0x77cc, 0x080c, 0x73f9, 0x0020, - 0x2009, 0x00f8, 0x080c, 0x5fa0, 0x7850, 0xc0e5, 0x7852, 0x080c, - 0x74c8, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, - 0x2019, 0xea60, 0x0d0c, 0x8709, 0x7820, 0xd09c, 0x15a0, 0x080c, - 0x74c8, 0x0904, 0x0ca3, 0x7824, 0xd0ac, 0x1904, 0x0cc6, 0x080c, - 0x74eb, 0x1548, 0x0046, 0x2021, 0x0320, 0x8421, 0x1df0, 0x004e, - 0x2011, 0x1800, 0x080c, 0x2a63, 0x080c, 0x2a0f, 0x7824, 0x9084, + 0x2009, 0x00f7, 0x080c, 0x5fc0, 0x7940, 0x918c, 0x0010, 0x7942, + 0x7924, 0xd1b4, 0x0120, 0x2011, 0x0040, 0x080c, 0x2a83, 0xd19c, + 0x0120, 0x2011, 0x0008, 0x080c, 0x2a83, 0x0006, 0x0036, 0x0156, + 0x0000, 0x2001, 0x19a6, 0x2004, 0x9005, 0x1518, 0x080c, 0x2a17, + 0x1148, 0x2001, 0x0001, 0x080c, 0x297a, 0x2001, 0x0001, 0x080c, + 0x295d, 0x00b8, 0x080c, 0x2a1f, 0x1138, 0x9006, 0x080c, 0x297a, + 0x9006, 0x080c, 0x295d, 0x0068, 0x080c, 0x2a27, 0x1d50, 0x2001, + 0x1997, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x2774, 0x0804, + 0x0cc1, 0x080c, 0x2aa6, 0x080c, 0x2ad9, 0x20a9, 0x003a, 0x1d04, + 0x0c17, 0x080c, 0x873d, 0x1f04, 0x0c17, 0x080c, 0x74fd, 0x0148, + 0x080c, 0x750f, 0x1118, 0x080c, 0x77fe, 0x0050, 0x080c, 0x74f4, + 0x0dd0, 0x080c, 0x77f9, 0x080c, 0x77ef, 0x080c, 0x741d, 0x0020, + 0x2009, 0x00f8, 0x080c, 0x5fc0, 0x7850, 0xc0e5, 0x7852, 0x080c, + 0x74ec, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, + 0x2019, 0xea60, 0x0d0c, 0x873d, 0x7820, 0xd09c, 0x15a0, 0x080c, + 0x74ec, 0x0904, 0x0ca3, 0x7824, 0xd0ac, 0x1904, 0x0cc6, 0x080c, + 0x750f, 0x1548, 0x0046, 0x2021, 0x0320, 0x8421, 0x1df0, 0x004e, + 0x2011, 0x1800, 0x080c, 0x2a83, 0x080c, 0x2a2f, 0x7824, 0x9084, 0x1800, 0x1168, 0x9484, 0x0fff, 0x1140, 0x2001, 0x1810, 0x2004, 0x9084, 0x9000, 0x0110, 0x080c, 0x0ce9, 0x8421, 0x1160, 0x1d04, - 0x0c73, 0x080c, 0x8709, 0x080c, 0x77d6, 0x080c, 0x77cc, 0x7003, + 0x0c73, 0x080c, 0x873d, 0x080c, 0x77f9, 0x080c, 0x77ef, 0x7003, 0x0001, 0x0804, 0x0cc6, 0x8319, 0x1928, 0x2001, 0x1810, 0x2004, 0x9084, 0x9000, 0x0110, 0x080c, 0x0ce9, 0x1d04, 0x0c89, 0x080c, - 0x8709, 0x2009, 0x199a, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, - 0x1188, 0x200b, 0x000a, 0x2011, 0x0048, 0x080c, 0x2a63, 0x20a9, - 0x0002, 0x080c, 0x29f0, 0x7924, 0x080c, 0x2a0f, 0xd19c, 0x0110, - 0x080c, 0x292f, 0x00f0, 0x080c, 0x74d9, 0x1140, 0x94a2, 0x03e8, - 0x1128, 0x080c, 0x749c, 0x7003, 0x0001, 0x00c0, 0x2011, 0x1800, - 0x080c, 0x2a63, 0x080c, 0x2a0f, 0x7824, 0x080c, 0x74e2, 0x0110, + 0x873d, 0x2009, 0x199a, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, + 0x1188, 0x200b, 0x000a, 0x2011, 0x0048, 0x080c, 0x2a83, 0x20a9, + 0x0002, 0x080c, 0x2a10, 0x7924, 0x080c, 0x2a2f, 0xd19c, 0x0110, + 0x080c, 0x294b, 0x00f0, 0x080c, 0x74fd, 0x1140, 0x94a2, 0x03e8, + 0x1128, 0x080c, 0x74c0, 0x7003, 0x0001, 0x00c0, 0x2011, 0x1800, + 0x080c, 0x2a83, 0x080c, 0x2a2f, 0x7824, 0x080c, 0x7506, 0x0110, 0xd0ac, 0x1160, 0x9084, 0x1800, 0x0904, 0x0c7b, 0x7003, 0x0001, - 0x0028, 0x2001, 0x0001, 0x080c, 0x25b9, 0x00a0, 0x7850, 0xc0e4, + 0x0028, 0x2001, 0x0001, 0x080c, 0x25d5, 0x00a0, 0x7850, 0xc0e4, 0x7852, 0x2009, 0x180c, 0x210c, 0xd19c, 0x1120, 0x7904, 0x918d, - 0x0002, 0x7906, 0x2011, 0x0048, 0x080c, 0x2a63, 0x7828, 0x9085, + 0x0002, 0x7906, 0x2011, 0x0048, 0x080c, 0x2a83, 0x7828, 0x9085, 0x0028, 0x782a, 0x2001, 0x19a6, 0x2003, 0x0000, 0x9006, 0x78f2, 0x015e, 0x003e, 0x000e, 0x012e, 0x00fe, 0x004e, 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x0046, 0x00b6, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0071, 0x0d0c, 0x8709, 0x015e, + 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0071, 0x0d0c, 0x873d, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x004e, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x189e, 0x7004, 0x9086, - 0x0001, 0x1110, 0x080c, 0x348f, 0x00ee, 0x0005, 0x0005, 0x2a70, - 0x2061, 0x19aa, 0x2063, 0x0003, 0x6007, 0x0002, 0x600b, 0x001e, + 0x0001, 0x1110, 0x080c, 0x34af, 0x00ee, 0x0005, 0x0005, 0x2a70, + 0x2061, 0x19aa, 0x2063, 0x0003, 0x6007, 0x0003, 0x600b, 0x0002, 0x600f, 0x0137, 0x2001, 0x197b, 0x900e, 0x2102, 0x7196, 0x2001, 0x0100, 0x2004, 0x9082, 0x0002, 0x0218, 0x705f, 0xffff, 0x0008, - 0x715e, 0x7067, 0xffff, 0x717e, 0x7182, 0x080c, 0xcc9e, 0x70ef, + 0x715e, 0x7067, 0xffff, 0x717e, 0x7182, 0x080c, 0xccd1, 0x70ef, 0x00c0, 0x2061, 0x196b, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x001f, 0x611a, 0x601f, 0x07d0, 0x2061, 0x1973, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, 0x1988, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, - 0x2020, 0x2001, 0x182c, 0x2102, 0x0005, 0x9016, 0x080c, 0x6620, + 0x2020, 0x2001, 0x182c, 0x2102, 0x0005, 0x9016, 0x080c, 0x6644, 0x1178, 0xb804, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, 0x98c6, 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, 0x9186, 0x0800, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, @@ -236,447 +236,450 @@ unsigned short risc_code01[] = { 0x0108, 0x0ca8, 0x7808, 0xd09c, 0x0110, 0x2011, 0xdead, 0x2019, 0x1b32, 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, 0x2069, 0x1a79, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, - 0x8318, 0x1f04, 0x0dcc, 0x0491, 0x002e, 0x003e, 0x00de, 0x015e, - 0x2079, 0x1800, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x0180, 0x2001, 0x1a21, 0x2004, 0x9005, 0x0128, - 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, - 0x0002, 0x2003, 0x1001, 0x080c, 0x56e4, 0x1170, 0x080c, 0x0f13, - 0x0110, 0x080c, 0x0e66, 0x080c, 0x56e4, 0x1130, 0x2071, 0x1800, - 0x2011, 0x8000, 0x080c, 0x0f27, 0x0c70, 0x0005, 0x2001, 0x0382, - 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, 0x1120, 0x2001, 0x0015, - 0x080c, 0xa879, 0x2079, 0x0380, 0x2069, 0x1b03, 0x7818, 0x6802, - 0x781c, 0x6806, 0x7840, 0x680a, 0x7844, 0x680e, 0x782c, 0x6812, - 0x2019, 0x1b0e, 0x9016, 0x7808, 0xd09c, 0x0150, 0x7820, 0x201a, - 0x8210, 0x8318, 0x8210, 0x9282, 0x0011, 0x0ea8, 0x2011, 0xdead, - 0x6a2a, 0x7830, 0x681a, 0x7834, 0x681e, 0x7838, 0x6822, 0x783c, - 0x6826, 0x7803, 0x0000, 0x2069, 0x1ac3, 0x901e, 0x20a9, 0x0020, - 0x7b26, 0x7828, 0x206a, 0x8d68, 0x8318, 0x1f04, 0x0e40, 0x2069, - 0x1ae3, 0x2019, 0x00b0, 0x20a9, 0x0020, 0x7b26, 0x7828, 0x206a, - 0x8d68, 0x8318, 0x1f04, 0x0e4d, 0x0005, 0x918c, 0x03ff, 0x2001, - 0x0003, 0x2004, 0x9084, 0x0600, 0x1118, 0x918d, 0x6c00, 0x0010, - 0x918d, 0x6400, 0x2001, 0x017f, 0x2102, 0x0005, 0x0026, 0x0126, - 0x2011, 0x0080, 0x080c, 0x0f05, 0x20a9, 0x0900, 0x080c, 0x0f3b, - 0x2011, 0x0040, 0x080c, 0x0f05, 0x20a9, 0x0900, 0x080c, 0x0f3b, - 0x0c78, 0x0026, 0x080c, 0x0f13, 0x1188, 0x2011, 0x010e, 0x2214, - 0x9294, 0x0007, 0x9296, 0x0007, 0x0118, 0x2011, 0x0947, 0x0010, - 0x2011, 0x1b47, 0x080c, 0x0f27, 0x002e, 0x0005, 0x2011, 0x010e, - 0x2214, 0x9294, 0x0007, 0x9296, 0x0007, 0x0118, 0x2011, 0xa880, - 0x0010, 0x2011, 0x6840, 0xd0e4, 0x70f3, 0x0000, 0x1128, 0x70f3, - 0x0fa0, 0x080c, 0x0f18, 0x002e, 0x0005, 0x0026, 0x080c, 0x0f13, - 0x0148, 0xd0a4, 0x1138, 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, - 0x080c, 0x0f18, 0x002e, 0x0005, 0x0026, 0x70f3, 0x0000, 0x080c, - 0x0f13, 0x1130, 0x2011, 0x8040, 0x080c, 0x0f27, 0x002e, 0x0005, - 0x080c, 0x2a07, 0x1118, 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, - 0x080c, 0x0f18, 0x002e, 0x0005, 0x00e6, 0x0016, 0x0006, 0x2071, - 0x1800, 0xd0b4, 0x70ec, 0x71e8, 0x1118, 0xc0e4, 0xc1f4, 0x0050, - 0x0006, 0x3b00, 0x9084, 0xff3e, 0x20d8, 0x000e, 0x70f3, 0x0000, - 0xc0e5, 0xc1f5, 0x0099, 0x000e, 0x001e, 0x00ee, 0x0005, 0x00e6, - 0x2071, 0x1800, 0xd0e4, 0x70ec, 0x1110, 0xc0dc, 0x0008, 0xc0dd, - 0x0016, 0x71e8, 0x0019, 0x001e, 0x00ee, 0x0005, 0x70ee, 0x71ea, - 0x7000, 0x9084, 0x0007, 0x000b, 0x0005, 0x0ecb, 0x0ea5, 0x0ea5, - 0x0e79, 0x0eb4, 0x0ea5, 0x0ea5, 0x0eb4, 0xc284, 0x0016, 0x3b08, - 0x3a00, 0x9104, 0x918d, 0x00c1, 0x21d8, 0x9084, 0xff3e, 0x9205, - 0x20d0, 0x001e, 0x0005, 0x2001, 0x183b, 0x2004, 0xd0dc, 0x0005, - 0x9e86, 0x1800, 0x190c, 0x0d7d, 0x70ec, 0xd0e4, 0x0108, 0xc2e5, - 0x72ee, 0xd0e4, 0x1118, 0x9294, 0x00c1, 0x08f9, 0x0005, 0x9e86, - 0x1800, 0x190c, 0x0d7d, 0x70e8, 0xd0f4, 0x0108, 0xc2f5, 0x72ea, - 0xd0f4, 0x1140, 0x9284, 0x8000, 0x8005, 0xc284, 0x9215, 0x9294, - 0x00c1, 0x0861, 0x0005, 0x1d04, 0x0f3b, 0x2091, 0x6000, 0x1f04, - 0x0f3b, 0x0005, 0x890e, 0x810e, 0x810f, 0x9194, 0x003f, 0x918c, - 0xffc0, 0x0005, 0x0006, 0x2200, 0x914d, 0x894f, 0x894d, 0x894d, - 0x000e, 0x0005, 0x01d6, 0x0146, 0x0036, 0x0096, 0x2061, 0x188d, - 0x600b, 0x0000, 0x600f, 0x0000, 0x6003, 0x0000, 0x6007, 0x0000, - 0x2009, 0xffc0, 0x2105, 0x0006, 0x2001, 0xaaaa, 0x200f, 0x2019, - 0x5555, 0x9016, 0x2049, 0x0bff, 0xab02, 0xa001, 0xa001, 0xa800, - 0x9306, 0x1138, 0x2105, 0x9306, 0x0120, 0x8210, 0x99c8, 0x0400, - 0x0c98, 0x000e, 0x200f, 0x2001, 0x189d, 0x928a, 0x000e, 0x1638, - 0x928a, 0x0006, 0x2011, 0x0006, 0x1210, 0x2011, 0x0000, 0x2202, - 0x9006, 0x2008, 0x82ff, 0x01b0, 0x8200, 0x600a, 0x600f, 0xffff, - 0x6003, 0x0002, 0x6007, 0x0000, 0x0026, 0x2019, 0x0010, 0x9280, - 0x0001, 0x20e8, 0x21a0, 0x21a8, 0x4104, 0x8319, 0x1de0, 0x8211, - 0x1da0, 0x002e, 0x009e, 0x003e, 0x014e, 0x01de, 0x0005, 0x2011, - 0x000e, 0x08e8, 0x0016, 0x0026, 0x0096, 0x3348, 0x080c, 0x0f42, - 0x2100, 0x9300, 0x2098, 0x22e0, 0x009e, 0x002e, 0x001e, 0x0036, - 0x3518, 0x20a9, 0x0001, 0x4002, 0x8007, 0x4004, 0x8319, 0x1dd8, - 0x003e, 0x0005, 0x20e9, 0x0001, 0x71b8, 0x81ff, 0x11c0, 0x9006, - 0x2009, 0x0200, 0x20a9, 0x0002, 0x9298, 0x0018, 0x23a0, 0x4001, - 0x2009, 0x0700, 0x20a9, 0x0002, 0x9298, 0x0008, 0x23a0, 0x4001, - 0x707c, 0x8007, 0x7180, 0x810f, 0x20a9, 0x0002, 0x4001, 0x9298, - 0x000c, 0x23a0, 0x900e, 0x080c, 0x0d5d, 0x2001, 0x0000, 0x810f, - 0x20a9, 0x0002, 0x4001, 0x0005, 0x89ff, 0x0140, 0xa804, 0xa807, - 0x0000, 0x0006, 0x080c, 0x106c, 0x009e, 0x0cb0, 0x0005, 0x00e6, - 0x2071, 0x1800, 0x080c, 0x10e5, 0x090c, 0x0d7d, 0x00ee, 0x0005, - 0x0086, 0x00e6, 0x0006, 0x0026, 0x0036, 0x0126, 0x2091, 0x8000, - 0x00c9, 0x2071, 0x1800, 0x73c0, 0x702c, 0x9016, 0x9045, 0x0158, - 0x8210, 0x9906, 0x090c, 0x0d7d, 0x2300, 0x9202, 0x0120, 0x1a0c, - 0x0d7d, 0xa000, 0x0c98, 0x012e, 0x003e, 0x002e, 0x000e, 0x00ee, - 0x008e, 0x0005, 0x0086, 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, - 0x2071, 0x1910, 0x7010, 0x9005, 0x0140, 0x7018, 0x9045, 0x0128, - 0x9906, 0x090c, 0x0d7d, 0xa000, 0x0cc8, 0x012e, 0x000e, 0x00ee, - 0x008e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x0126, 0x2091, 0x8000, - 0x70c0, 0x8001, 0x0270, 0x70c2, 0x702c, 0x2048, 0x9085, 0x0001, - 0xa800, 0x702e, 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, - 0x0005, 0x904e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, - 0x1800, 0x70c0, 0x90ca, 0x0020, 0x0268, 0x8001, 0x70c2, 0x702c, - 0x2048, 0xa800, 0x702e, 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, - 0x00ee, 0x0005, 0x904e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, - 0x0016, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0xa862, 0x9184, - 0xffc0, 0xa85e, 0x001e, 0x0020, 0x00e6, 0x0126, 0x2091, 0x8000, - 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, - 0x70c2, 0x080c, 0x8532, 0x012e, 0x00ee, 0x0005, 0x2071, 0x1800, - 0x9026, 0x2009, 0x0000, 0x2049, 0x0400, 0x2900, 0x702e, 0x8940, - 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, 0x0440, - 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, 0x188d, 0x7000, - 0x9005, 0x11a0, 0x2001, 0x0558, 0xa802, 0x2048, 0x2009, 0x5600, - 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, - 0x0800, 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, 0x188d, - 0x7104, 0x7200, 0x82ff, 0x01d0, 0x7308, 0x8318, 0x831f, 0x831b, - 0x831b, 0x7312, 0x8319, 0x2001, 0x0800, 0xa802, 0x2048, 0x8900, - 0xa802, 0x2040, 0xa95e, 0xaa62, 0x8420, 0x2300, 0x9906, 0x0130, - 0x2848, 0x9188, 0x0040, 0x9291, 0x0000, 0x0c88, 0xa803, 0x0000, - 0x2071, 0x1800, 0x74be, 0x74c2, 0x0005, 0x00e6, 0x0016, 0x9984, - 0xfc00, 0x01e8, 0x908c, 0xf800, 0x1168, 0x9982, 0x0400, 0x02b8, - 0x9982, 0x0440, 0x0278, 0x9982, 0x0558, 0x0288, 0x9982, 0x0800, - 0x1270, 0x0040, 0x9982, 0x0800, 0x0250, 0x2071, 0x188d, 0x7010, - 0x9902, 0x1228, 0x9085, 0x0001, 0x001e, 0x00ee, 0x0005, 0x9006, - 0x0cd8, 0x00e6, 0x2071, 0x1a20, 0x7007, 0x0000, 0x9006, 0x701e, - 0x7022, 0x7002, 0x2071, 0x0000, 0x7010, 0x9085, 0x8044, 0x7012, - 0x2071, 0x0080, 0x9006, 0x702b, 0x0060, 0x20a9, 0x0040, 0x7022, - 0x1f04, 0x111f, 0x702b, 0x0060, 0x702b, 0x0020, 0x20a9, 0x0040, - 0x7022, 0x1f04, 0x1128, 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, - 0x2091, 0x8000, 0x00e6, 0xa06f, 0x0000, 0x2071, 0x1a20, 0x701c, - 0x9088, 0x1a2a, 0x280a, 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, - 0x9106, 0x090c, 0x0d7d, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, - 0x0080, 0x00a9, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, - 0x8000, 0x00e6, 0x2071, 0x1a20, 0x7004, 0x9005, 0x1128, 0x00f6, - 0x2079, 0x0080, 0x0021, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, - 0x9086, 0x0000, 0x1110, 0x7007, 0x0006, 0x7000, 0x0002, 0x1171, - 0x12f4, 0x116f, 0x116f, 0x12e8, 0x12e8, 0x12e8, 0x12e8, 0x080c, - 0x0d7d, 0x701c, 0x7120, 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, - 0x1120, 0xd1fc, 0x1110, 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, - 0x1a2a, 0x2004, 0x700a, 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, - 0x782b, 0x0026, 0xa88c, 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, - 0xa898, 0x780e, 0xa878, 0x700e, 0xa870, 0x7016, 0xa874, 0x701a, - 0xa868, 0x009e, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, - 0x7007, 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, - 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, - 0x8203, 0x7812, 0x782b, 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, - 0x0005, 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, - 0x7018, 0x2098, 0x20e9, 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, - 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, - 0x700e, 0x22a8, 0x4006, 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, - 0x701a, 0x782b, 0x0001, 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, - 0x0005, 0x2009, 0x1a20, 0x2104, 0xc095, 0x200a, 0x080c, 0x114e, - 0x0005, 0x0016, 0x00e6, 0x2071, 0x1a20, 0x00f6, 0x2079, 0x0080, - 0x792c, 0xd1bc, 0x190c, 0x0d76, 0x782b, 0x0002, 0xd1fc, 0x0120, - 0x918c, 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, - 0x115f, 0x1207, 0x123b, 0x1313, 0x0d7d, 0x132e, 0x0d7d, 0x918c, - 0x0700, 0x1550, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e8, 0x7018, - 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, 0x0040, 0x7010, - 0x20a8, 0x4005, 0x3400, 0x701a, 0x015e, 0x014e, 0x013e, 0x700c, - 0x9005, 0x0578, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x11a4, - 0x0005, 0x7008, 0x0096, 0x2048, 0xa86f, 0x0100, 0x009e, 0x7007, - 0x0000, 0x080c, 0x115f, 0x0005, 0x7008, 0x0096, 0x2048, 0xa86f, - 0x0200, 0x009e, 0x0ca0, 0x918c, 0x0700, 0x1150, 0x700c, 0x9005, - 0x0180, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x11b9, 0x0005, - 0x7008, 0x0096, 0x2048, 0xa86f, 0x0200, 0x009e, 0x7007, 0x0000, - 0x0080, 0x0096, 0x7008, 0x2048, 0x7800, 0xa88e, 0x7804, 0xa892, - 0x7808, 0xa896, 0x780c, 0xa89a, 0xa86f, 0x0100, 0x009e, 0x7007, - 0x0000, 0x0096, 0x00d6, 0x7008, 0x2048, 0x2001, 0x18b9, 0x2004, - 0x9906, 0x1128, 0xa89c, 0x080f, 0x00de, 0x009e, 0x00a0, 0x00de, - 0x009e, 0x0096, 0x00d6, 0x7008, 0x2048, 0x0081, 0x0150, 0xa89c, - 0x0086, 0x2940, 0x080f, 0x008e, 0x00de, 0x009e, 0x080c, 0x114e, - 0x0005, 0x00de, 0x009e, 0x080c, 0x114e, 0x0005, 0xa8a8, 0xd08c, - 0x0005, 0x0096, 0xa0a0, 0x904d, 0x090c, 0x0d7d, 0xa06c, 0x908e, - 0x0100, 0x0130, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, - 0x080c, 0x6d6f, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x2848, 0x080c, - 0x106c, 0x009e, 0x0005, 0x00a6, 0xa0a0, 0x904d, 0x090c, 0x0d7d, - 0xa06c, 0x908e, 0x0100, 0x0128, 0xa87b, 0x0001, 0xa883, 0x0000, - 0x00c0, 0xa80c, 0x2050, 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, - 0x8006, 0x8006, 0x8007, 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, - 0x0002, 0xa076, 0xa172, 0xb000, 0xa07a, 0x2810, 0x080c, 0x112f, - 0x00e8, 0xa97c, 0xa894, 0x0016, 0x0006, 0x080c, 0x6d6f, 0x000e, - 0x001e, 0xd1fc, 0x1138, 0xd1f4, 0x0128, 0x00c6, 0x2060, 0x080c, - 0xabdf, 0x00ce, 0x7008, 0x2048, 0xa89f, 0x0000, 0xa8a3, 0x0000, - 0x080c, 0x106c, 0x7007, 0x0000, 0x080c, 0x114e, 0x00ae, 0x0005, - 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, - 0xc094, 0x7002, 0x012e, 0x0005, 0x0096, 0x2001, 0x192e, 0x204c, - 0xa87c, 0x7812, 0xa88c, 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, - 0xa898, 0x780e, 0x782b, 0x0020, 0x0126, 0x2091, 0x8000, 0x782b, - 0x0041, 0x7007, 0x0003, 0x7000, 0xc084, 0x7002, 0x2900, 0x700a, - 0x012e, 0x009e, 0x0005, 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, - 0x0040, 0x0096, 0x2001, 0x192e, 0x204c, 0xaa7c, 0x009e, 0x080c, - 0x8bfd, 0x2009, 0x188c, 0x2104, 0x9084, 0xfffc, 0x200a, 0x080c, - 0x8a70, 0x7007, 0x0000, 0x080c, 0x115f, 0x0005, 0x7007, 0x0000, - 0x080c, 0x115f, 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, 0x0300, - 0x2071, 0x1a6a, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x0041, 0x7807, - 0x0007, 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, 0x0005, 0x00c6, - 0x7803, 0x0000, 0x2001, 0x0165, 0x2003, 0x4198, 0x7808, 0xd09c, - 0x0118, 0x7820, 0x04e9, 0x0cd0, 0x2001, 0x1a6b, 0x2003, 0x0000, - 0x78ab, 0x0004, 0x78ac, 0xd0ac, 0x1de8, 0x78ab, 0x0002, 0x7807, - 0x0007, 0x7827, 0x0030, 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, - 0x1a79, 0x781f, 0xff00, 0x781b, 0xff00, 0x2001, 0x0200, 0x2004, - 0xd0dc, 0x0110, 0x781f, 0x0303, 0x2061, 0x1a79, 0x602f, 0x1ddc, - 0x2001, 0x181a, 0x2004, 0x9082, 0x1ddc, 0x6032, 0x603b, 0x1e62, - 0x602b, 0x1ab9, 0x6007, 0x1a99, 0x2061, 0x1a99, 0x60af, 0x193c, - 0x2001, 0x1927, 0x2004, 0x60ba, 0x783f, 0x3368, 0x00ce, 0x0005, - 0x9086, 0x000d, 0x11d0, 0x7808, 0xd09c, 0x01b8, 0x7820, 0x0026, - 0x2010, 0x080c, 0xc820, 0x0180, 0x2260, 0x6000, 0x9086, 0x0004, - 0x1158, 0x0016, 0x6120, 0x9186, 0x0009, 0x0108, 0x0020, 0x2009, - 0x004c, 0x080c, 0xac7c, 0x001e, 0x002e, 0x0005, 0x0126, 0x2091, - 0x2200, 0x7908, 0x9184, 0x0070, 0x190c, 0x0d76, 0xd19c, 0x05a0, - 0x7820, 0x908c, 0xf000, 0x0540, 0x2060, 0x6020, 0x9086, 0x0003, - 0x1550, 0x6000, 0x9086, 0x0004, 0x1530, 0x6114, 0x2148, 0xa876, - 0xa87a, 0xa867, 0x0103, 0x080c, 0x6b91, 0x00b6, 0x6010, 0x2058, - 0xba3c, 0x8211, 0x0208, 0xba3e, 0xb8d0, 0x9005, 0x190c, 0x674b, - 0x00be, 0x6044, 0xd0fc, 0x190c, 0xa8b1, 0x080c, 0xac08, 0x7808, - 0xd09c, 0x19b0, 0x012e, 0x0005, 0x908a, 0x0024, 0x1a0c, 0x0d7d, - 0x002b, 0x012e, 0x0005, 0x04b0, 0x012e, 0x0005, 0x1412, 0x1438, - 0x1468, 0x146d, 0x1471, 0x1476, 0x149e, 0x14a2, 0x14b0, 0x14b4, - 0x1412, 0x1581, 0x1585, 0x15ea, 0x15f1, 0x1412, 0x15f2, 0x15f3, - 0x15fe, 0x1605, 0x1412, 0x1412, 0x1412, 0x1412, 0x1412, 0x1412, - 0x1412, 0x1478, 0x1412, 0x1440, 0x1465, 0x142c, 0x1412, 0x144c, - 0x1416, 0x1414, 0x080c, 0x0d7d, 0x080c, 0x0d76, 0x080c, 0x1610, - 0x2009, 0x1a78, 0x2104, 0x8000, 0x200a, 0x080c, 0x7f78, 0x080c, - 0x1ac2, 0x0005, 0x6044, 0xd0fc, 0x190c, 0xa8b1, 0x2009, 0x0055, - 0x080c, 0xac7c, 0x012e, 0x0005, 0x080c, 0x1610, 0x2060, 0x6044, - 0xd0fc, 0x190c, 0xa8b1, 0x2009, 0x0055, 0x080c, 0xac7c, 0x0005, - 0x2009, 0x0048, 0x080c, 0x1610, 0x2060, 0x080c, 0xac7c, 0x0005, - 0x2009, 0x0054, 0x080c, 0x1610, 0x2060, 0x6044, 0xd0fc, 0x190c, - 0xa8b1, 0x080c, 0xac7c, 0x0005, 0x080c, 0x1610, 0x2060, 0x0056, - 0x0066, 0x080c, 0x1610, 0x2028, 0x080c, 0x1610, 0x2030, 0x0036, - 0x0046, 0x2021, 0x0000, 0x2418, 0x2009, 0x0056, 0x080c, 0xac7c, - 0x004e, 0x003e, 0x006e, 0x005e, 0x0005, 0x080c, 0x1610, 0x0005, - 0x7004, 0xc085, 0xc0b5, 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, - 0x0005, 0x080c, 0x1610, 0x080c, 0x16d4, 0x0005, 0x080c, 0x0d7d, - 0x080c, 0x1610, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, - 0x009e, 0x2009, 0x0048, 0x080c, 0xac7c, 0x2001, 0x015d, 0x2003, - 0x0000, 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, - 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, - 0x1615, 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, - 0x7006, 0x0005, 0x080c, 0x1610, 0x2060, 0x6014, 0x0096, 0x2048, - 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0xac7c, 0x0005, - 0x080c, 0x1610, 0x080c, 0x0d7d, 0x080c, 0x1610, 0x080c, 0x156c, - 0x7827, 0x0018, 0x79ac, 0xd1dc, 0x0904, 0x151d, 0x7827, 0x0015, - 0x7828, 0x782b, 0x0000, 0x9065, 0x0140, 0x2001, 0x020d, 0x2003, - 0x0050, 0x2003, 0x0020, 0x0804, 0x1523, 0x7004, 0x9005, 0x01c8, - 0x1188, 0x78ab, 0x0004, 0x7827, 0x0018, 0x782b, 0x0000, 0xd1bc, - 0x090c, 0x0d7d, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, - 0x0804, 0x1551, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x1585, - 0x0005, 0x7827, 0x0018, 0xa001, 0x7828, 0x7827, 0x0011, 0xa001, - 0x7928, 0x9106, 0x0110, 0x79ac, 0x08e0, 0x00e6, 0x2071, 0x0200, - 0x702c, 0xd0c4, 0x0140, 0x00ee, 0x080c, 0x1ac2, 0x080c, 0x1347, - 0x7803, 0x0001, 0x0005, 0x7037, 0x0001, 0xa001, 0x7150, 0x00ee, - 0x918c, 0xff00, 0x9186, 0x0500, 0x0110, 0x79ac, 0x0810, 0x7004, - 0xc09d, 0x7006, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x1585, - 0x2001, 0x020d, 0x2003, 0x0020, 0x0005, 0x7828, 0x782b, 0x0000, - 0x9065, 0x090c, 0x0d7d, 0x6014, 0x2048, 0x78ab, 0x0004, 0x918c, - 0x0700, 0x01a8, 0x080c, 0x7f78, 0x080c, 0x1ac2, 0x080c, 0xc832, - 0x0158, 0xa9ac, 0xa936, 0xa9b0, 0xa93a, 0xa83f, 0xffff, 0xa843, - 0xffff, 0xa880, 0xc0bd, 0xa882, 0x080c, 0xc430, 0x0005, 0x6020, - 0x9086, 0x0009, 0x1128, 0x2009, 0x004c, 0x080c, 0xac7c, 0x0048, - 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x6024, 0x190c, - 0xcc33, 0x2029, 0x00c8, 0x8529, 0x0128, 0x2001, 0x0201, 0x2004, - 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xe6ea, 0xd5a4, 0x1118, 0x080c, - 0x1615, 0x0005, 0x080c, 0x7f78, 0x080c, 0x1ac2, 0x0005, 0x781f, - 0x0300, 0x7803, 0x0001, 0x0005, 0x0016, 0x0066, 0x0076, 0x00f6, - 0x2079, 0x0300, 0x7908, 0x918c, 0x0007, 0x9186, 0x0003, 0x0120, - 0x2001, 0x0016, 0x080c, 0x1686, 0x00fe, 0x007e, 0x006e, 0x001e, - 0x0005, 0x7004, 0xc09d, 0x7006, 0x0005, 0x7104, 0x9184, 0x0004, - 0x190c, 0x0d7d, 0xd184, 0x1189, 0xd19c, 0x0158, 0xc19c, 0x7106, - 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x080c, 0x1615, - 0x0005, 0x81ff, 0x190c, 0x0d7d, 0x0005, 0xc184, 0xd1b4, 0xc1b4, - 0x7106, 0x0016, 0x00e6, 0x15f0, 0x2071, 0x0200, 0x080c, 0x16c1, - 0x05c8, 0x6014, 0x9005, 0x05b0, 0x0096, 0x2048, 0xa864, 0x009e, - 0x9084, 0x00ff, 0x908e, 0x0029, 0x0160, 0x908e, 0x0048, 0x1550, - 0x601c, 0xd084, 0x11e0, 0x00f6, 0x2c78, 0x080c, 0x173e, 0x00fe, - 0x00b0, 0x00f6, 0x2c78, 0x080c, 0x18c5, 0x00fe, 0x2009, 0x01f4, - 0x8109, 0x0168, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, - 0x0218, 0x2004, 0xd0ec, 0x1118, 0x080c, 0x1615, 0x0040, 0x2001, - 0x020d, 0x2003, 0x0020, 0x080c, 0x1347, 0x7803, 0x0001, 0x00ee, - 0x001e, 0x0005, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, - 0x0461, 0x0ca8, 0x0429, 0x2060, 0x2009, 0x0053, 0x080c, 0xac7c, - 0x0005, 0x0005, 0x0005, 0x00e1, 0x2008, 0x00d1, 0x0006, 0x7004, - 0xc09d, 0x7006, 0x000e, 0x080c, 0x8f5a, 0x0005, 0x0089, 0x9005, - 0x0118, 0x080c, 0x8b5d, 0x0cd0, 0x0005, 0x2001, 0x0036, 0x2009, - 0x1820, 0x210c, 0x2011, 0x181f, 0x2214, 0x080c, 0x1686, 0x0005, - 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, 0x080c, 0x156c, 0x00d6, - 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, 0x0510, 0x6804, 0x9005, - 0x0dd8, 0x2001, 0x015d, 0x2003, 0x0000, 0x79bc, 0xd1a4, 0x1528, - 0x79b8, 0x918c, 0x0fff, 0x0180, 0x9182, 0x0841, 0x1268, 0x9188, - 0x0007, 0x918c, 0x0ff8, 0x810c, 0x810c, 0x810c, 0x080c, 0x1678, - 0x6827, 0x0001, 0x8109, 0x1dd0, 0x04d9, 0x6827, 0x0002, 0x04c1, - 0x6804, 0x9005, 0x1130, 0x682c, 0xd0e4, 0x1500, 0x6804, 0x9005, - 0x0de8, 0x79b8, 0xd1ec, 0x1130, 0x08c0, 0x080c, 0x7f78, 0x080c, - 0x1ac2, 0x0090, 0x7827, 0x0015, 0x782b, 0x0000, 0x7827, 0x0018, - 0x782b, 0x0000, 0x2001, 0x020d, 0x2003, 0x0020, 0x2001, 0x0307, - 0x2003, 0x0300, 0x7803, 0x0001, 0x00de, 0x0005, 0x682c, 0x9084, - 0x5400, 0x9086, 0x5400, 0x0d30, 0x7827, 0x0015, 0x782b, 0x0000, - 0x7803, 0x0001, 0x6800, 0x9085, 0x1800, 0x6802, 0x00de, 0x0005, - 0x6824, 0x9084, 0x0003, 0x1de0, 0x0005, 0x2001, 0x0030, 0x2c08, - 0x621c, 0x0021, 0x7830, 0x9086, 0x0041, 0x0005, 0x00f6, 0x2079, - 0x0300, 0x0006, 0x7808, 0xd09c, 0x0140, 0x0016, 0x0026, 0x00c6, - 0x080c, 0x13ae, 0x00ce, 0x002e, 0x001e, 0x000e, 0x0006, 0x7832, - 0x7936, 0x7a3a, 0x781b, 0x8080, 0x0059, 0x1118, 0x000e, 0x00fe, - 0x0005, 0x000e, 0x792c, 0x3900, 0x8000, 0x2004, 0x080c, 0x0d7d, - 0x2009, 0xff00, 0x8109, 0x0120, 0x7818, 0xd0bc, 0x1dd8, 0x0005, - 0x9085, 0x0001, 0x0005, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, - 0x0c79, 0x1108, 0x0005, 0x792c, 0x3900, 0x8000, 0x2004, 0x080c, - 0x0d7d, 0x7037, 0x0001, 0x7150, 0x7037, 0x0002, 0x7050, 0x2060, - 0xd1bc, 0x1110, 0x7054, 0x2060, 0x918c, 0xff00, 0x9186, 0x0500, - 0x0110, 0x9085, 0x0001, 0x0005, 0x00e6, 0x0016, 0x2071, 0x0200, - 0x0c41, 0x6124, 0xd1dc, 0x01f8, 0x701c, 0xd08c, 0x0904, 0x1733, - 0x7017, 0x0000, 0x2001, 0x0264, 0x2004, 0xd0bc, 0x0904, 0x1733, - 0x2001, 0x0268, 0x00c6, 0x2064, 0x6104, 0x6038, 0x00ce, 0x918e, - 0x0039, 0x1904, 0x1733, 0x9c06, 0x15f0, 0x0126, 0x2091, 0x2600, - 0x080c, 0x7ed0, 0x012e, 0x7358, 0x745c, 0x6014, 0x905d, 0x0598, - 0x2b48, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x190c, - 0xcc0e, 0xab42, 0xac3e, 0x2001, 0x1869, 0x2004, 0xd0b4, 0x1170, - 0x601c, 0xd0e4, 0x1158, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, - 0xd0bc, 0x1120, 0xa83b, 0x7fff, 0xa837, 0xffff, 0x080c, 0x1e82, - 0x1190, 0x080c, 0x1920, 0x2a00, 0xa816, 0x0130, 0x2800, 0xa80e, - 0x2c05, 0xa80a, 0x2c00, 0xa812, 0x7037, 0x0020, 0x781f, 0x0300, - 0x001e, 0x00ee, 0x0005, 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, - 0x00ee, 0x080c, 0x1615, 0x0005, 0x080c, 0x0d7d, 0x2cf0, 0x0126, - 0x2091, 0x2200, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0x903e, - 0x2730, 0xa864, 0x2068, 0xa81a, 0x9d84, 0x000f, 0x9088, 0x1e62, - 0x2165, 0x0002, 0x1769, 0x17d7, 0x1769, 0x1769, 0x176d, 0x17b8, - 0x1769, 0x178d, 0x1762, 0x17ce, 0x1769, 0x1769, 0x1772, 0x18c3, - 0x17a1, 0x1797, 0xa964, 0x918c, 0x00ff, 0x918e, 0x0048, 0x0904, - 0x17ce, 0x9085, 0x0001, 0x0804, 0x18ba, 0xa87c, 0xd0ac, 0x0dc8, - 0x0804, 0x17de, 0xa87c, 0xd0ac, 0x0da0, 0x0804, 0x1849, 0xa898, - 0x901d, 0x1108, 0xab9c, 0x9016, 0xaab2, 0xaa3e, 0xaa42, 0x3e00, - 0x9080, 0x0008, 0x2004, 0x9080, 0x9123, 0x2005, 0x9005, 0x090c, - 0x0d7d, 0x2004, 0xa8ae, 0x0804, 0x18a2, 0xa87c, 0xd0bc, 0x09c8, - 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x17de, 0xa87c, - 0xd0bc, 0x0978, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, - 0x1849, 0xa87c, 0xd0bc, 0x0928, 0xa890, 0xa842, 0xa88c, 0xa83e, - 0xa804, 0x9045, 0x090c, 0x0d7d, 0xa164, 0xa91a, 0x91ec, 0x000f, - 0x9d80, 0x1e62, 0x2065, 0xa888, 0xd19c, 0x1904, 0x1849, 0x0430, - 0xa87c, 0xd0ac, 0x0904, 0x1769, 0xa804, 0x9045, 0x090c, 0x0d7d, - 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x1e62, 0x2065, 0x9006, - 0xa842, 0xa83e, 0xd19c, 0x1904, 0x1849, 0x0080, 0xa87c, 0xd0ac, - 0x0904, 0x1769, 0x9006, 0xa842, 0xa83e, 0x0804, 0x1849, 0xa87c, - 0xd0ac, 0x0904, 0x1769, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, - 0x0036, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1801, 0x1801, - 0x1803, 0x1801, 0x1801, 0x1801, 0x180d, 0x1801, 0x1801, 0x1801, - 0x1817, 0x1801, 0x1801, 0x1801, 0x1821, 0x1801, 0x1801, 0x1801, - 0x182b, 0x1801, 0x1801, 0x1801, 0x1835, 0x1801, 0x1801, 0x1801, - 0x183f, 0x080c, 0x0d7d, 0xa574, 0xa478, 0x9d86, 0x0024, 0x0904, - 0x1777, 0xa37c, 0xa280, 0x0804, 0x18a2, 0xa584, 0xa488, 0x9d86, - 0x0024, 0x0904, 0x1777, 0xa38c, 0xa290, 0x0804, 0x18a2, 0xa594, - 0xa498, 0x9d86, 0x0024, 0x0904, 0x1777, 0xa39c, 0xa2a0, 0x0804, - 0x18a2, 0xa5a4, 0xa4a8, 0x9d86, 0x0024, 0x0904, 0x1777, 0xa3ac, - 0xa2b0, 0x0804, 0x18a2, 0xa5b4, 0xa4b8, 0x9d86, 0x0024, 0x0904, - 0x1777, 0xa3bc, 0xa2c0, 0x0804, 0x18a2, 0xa5c4, 0xa4c8, 0x9d86, - 0x0024, 0x0904, 0x1777, 0xa3cc, 0xa2d0, 0x0804, 0x18a2, 0xa5d4, - 0xa4d8, 0x9d86, 0x0024, 0x0904, 0x1777, 0xa3dc, 0xa2e0, 0x0804, - 0x18a2, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d7d, 0x9082, 0x001b, - 0x0002, 0x186c, 0x186a, 0x186a, 0x186a, 0x186a, 0x186a, 0x1877, - 0x186a, 0x186a, 0x186a, 0x186a, 0x186a, 0x1882, 0x186a, 0x186a, - 0x186a, 0x186a, 0x186a, 0x188d, 0x186a, 0x186a, 0x186a, 0x186a, - 0x186a, 0x1898, 0x080c, 0x0d7d, 0xa56c, 0xa470, 0xa774, 0xa678, - 0x9d86, 0x002c, 0x0904, 0x1777, 0xa37c, 0xa280, 0x0458, 0xa584, - 0xa488, 0xa78c, 0xa690, 0x9d86, 0x002c, 0x0904, 0x1777, 0xa394, - 0xa298, 0x0400, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0x9d86, 0x002c, - 0x0904, 0x1777, 0xa3ac, 0xa2b0, 0x00a8, 0xa5b4, 0xa4b8, 0xa7bc, - 0xa6c0, 0x9d86, 0x002c, 0x0904, 0x1777, 0xa3c4, 0xa2c8, 0x0050, - 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, 0x9d86, 0x002c, 0x0904, 0x1777, - 0xa3dc, 0xa2e0, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, - 0xa988, 0x8c60, 0x2c1d, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x8109, - 0xa916, 0x1158, 0x3e60, 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, - 0xa87e, 0x9006, 0x00ce, 0x012e, 0x0005, 0x2800, 0xa80e, 0xab0a, - 0x2c00, 0xa812, 0x0c78, 0x0804, 0x1769, 0x2ff0, 0x0126, 0x2091, - 0x2200, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0xa80e, 0x2061, - 0x1e5d, 0xa813, 0x1e5d, 0x2c05, 0xa80a, 0xa964, 0xa91a, 0xa87c, - 0xd0ac, 0x090c, 0x0d7d, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, - 0x0034, 0x1a0c, 0x0d7d, 0xadcc, 0xacd0, 0xafd4, 0xaed8, 0xabdc, - 0xaae0, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa8ac, - 0xaab0, 0xa836, 0xaa3a, 0xa988, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x0008, 0x1120, 0x8109, 0xa916, 0x0128, 0x0078, 0x918a, 0x0002, - 0xa916, 0x1158, 0x3e60, 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, - 0xa87e, 0x9006, 0x00ce, 0x012e, 0x0005, 0xa804, 0x9045, 0x090c, - 0x0d7d, 0xa80e, 0xa064, 0xa81a, 0x9084, 0x000f, 0x9080, 0x1e62, - 0x2015, 0x82ff, 0x090c, 0x0d7d, 0xaa12, 0x2205, 0xa80a, 0x0c10, - 0x903e, 0x2730, 0xa880, 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x1a4a, - 0x1977, 0x1977, 0x1a4a, 0x1977, 0x1a44, 0x1a4a, 0x1977, 0x19e7, - 0x19e7, 0x19e7, 0x1a4a, 0x19e7, 0x1a4a, 0x1a41, 0x19e7, 0xc0fc, - 0xa882, 0xab2c, 0xaa30, 0xad1c, 0xac20, 0xdd9c, 0x0904, 0x1a4c, - 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, - 0x1963, 0x1961, 0x1961, 0x1961, 0x1961, 0x1961, 0x1967, 0x1961, - 0x1961, 0x1961, 0x1961, 0x1961, 0x196b, 0x1961, 0x1961, 0x1961, - 0x1961, 0x1961, 0x196f, 0x1961, 0x1961, 0x1961, 0x1961, 0x1961, - 0x1973, 0x080c, 0x0d7d, 0xa774, 0xa678, 0x0804, 0x1a4c, 0xa78c, - 0xa690, 0x0804, 0x1a4c, 0xa7a4, 0xa6a8, 0x0804, 0x1a4c, 0xa7bc, - 0xa6c0, 0x0804, 0x1a4c, 0xa7d4, 0xa6d8, 0x0804, 0x1a4c, 0xa898, - 0x901d, 0x1108, 0xab9c, 0x9016, 0x2c05, 0x908a, 0x0036, 0x1a0c, - 0x0d7d, 0x9082, 0x001b, 0x0002, 0x199f, 0x199f, 0x19a1, 0x199f, - 0x199f, 0x199f, 0x19ab, 0x199f, 0x199f, 0x199f, 0x19b5, 0x199f, - 0x199f, 0x199f, 0x19bf, 0x199f, 0x199f, 0x199f, 0x19c9, 0x199f, - 0x199f, 0x199f, 0x19d3, 0x199f, 0x199f, 0x199f, 0x19dd, 0x080c, - 0x0d7d, 0xa574, 0xa478, 0x9d86, 0x0004, 0x0904, 0x1a4c, 0xa37c, - 0xa280, 0x0804, 0x1a4c, 0xa584, 0xa488, 0x9d86, 0x0004, 0x0904, - 0x1a4c, 0xa38c, 0xa290, 0x0804, 0x1a4c, 0xa594, 0xa498, 0x9d86, - 0x0004, 0x0904, 0x1a4c, 0xa39c, 0xa2a0, 0x0804, 0x1a4c, 0xa5a4, - 0xa4a8, 0x9d86, 0x0004, 0x0904, 0x1a4c, 0xa3ac, 0xa2b0, 0x0804, - 0x1a4c, 0xa5b4, 0xa4b8, 0x9d86, 0x0004, 0x0904, 0x1a4c, 0xa3bc, - 0xa2c0, 0x0804, 0x1a4c, 0xa5c4, 0xa4c8, 0x9d86, 0x0004, 0x0904, - 0x1a4c, 0xa3cc, 0xa2d0, 0x0804, 0x1a4c, 0xa5d4, 0xa4d8, 0x9d86, - 0x0004, 0x0904, 0x1a4c, 0xa3dc, 0xa2e0, 0x0804, 0x1a4c, 0xa898, - 0x901d, 0x1108, 0xab9c, 0x9016, 0x2c05, 0x908a, 0x0034, 0x1a0c, - 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1a0f, 0x1a0d, 0x1a0d, 0x1a0d, - 0x1a0d, 0x1a0d, 0x1a19, 0x1a0d, 0x1a0d, 0x1a0d, 0x1a0d, 0x1a0d, - 0x1a23, 0x1a0d, 0x1a0d, 0x1a0d, 0x1a0d, 0x1a0d, 0x1a2d, 0x1a0d, - 0x1a0d, 0x1a0d, 0x1a0d, 0x1a0d, 0x1a37, 0x080c, 0x0d7d, 0xa56c, - 0xa470, 0xa774, 0xa678, 0x9d86, 0x000c, 0x05b0, 0xa37c, 0xa280, - 0x0498, 0xa584, 0xa488, 0xa78c, 0xa690, 0x9d86, 0x000c, 0x0560, - 0xa394, 0xa298, 0x0448, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0x9d86, - 0x000c, 0x0510, 0xa3ac, 0xa2b0, 0x00f8, 0xa5b4, 0xa4b8, 0xa7bc, - 0xa6c0, 0x9d86, 0x000c, 0x01c0, 0xa3c4, 0xa2c8, 0x00a8, 0xa5cc, - 0xa4d0, 0xa7d4, 0xa6d8, 0x9d86, 0x000c, 0x0170, 0xa3dc, 0xa2e0, - 0x0058, 0x9d86, 0x000e, 0x1130, 0x080c, 0x1e38, 0x1904, 0x1920, - 0x900e, 0x0050, 0x080c, 0x0d7d, 0xab2e, 0xaa32, 0xad1e, 0xac22, - 0xaf26, 0xae2a, 0x080c, 0x1e38, 0x0005, 0x6014, 0x2048, 0x6118, - 0x810c, 0x810c, 0x810c, 0x81ff, 0x1118, 0xa887, 0x0001, 0x0008, - 0xa986, 0x601b, 0x0002, 0xa974, 0xd1dc, 0x1108, 0x0005, 0xa934, - 0xa88c, 0x9106, 0x1158, 0xa938, 0xa890, 0x9106, 0x1138, 0x601c, - 0xc084, 0x601e, 0x2009, 0x0048, 0x0804, 0xac7c, 0x0005, 0x0126, - 0x00c6, 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, 0x0007, 0x9186, - 0x0000, 0x05b0, 0x9186, 0x0003, 0x0598, 0x6020, 0x6023, 0x0000, - 0x0006, 0x2031, 0x0008, 0x00c6, 0x781f, 0x0808, 0x7808, 0xd09c, - 0x0120, 0x080c, 0x13ae, 0x8631, 0x1db8, 0x00ce, 0x781f, 0x0800, - 0x2031, 0x0168, 0x00c6, 0x7808, 0xd09c, 0x190c, 0x13ae, 0x00ce, - 0x2001, 0x0038, 0x080c, 0x1b4f, 0x7930, 0x9186, 0x0040, 0x0160, - 0x9186, 0x0042, 0x190c, 0x0d7d, 0x2001, 0x001e, 0x8001, 0x1df0, - 0x8631, 0x1d40, 0x080c, 0x1b5e, 0x000e, 0x6022, 0x012e, 0x0005, - 0x080c, 0x1b4b, 0x7827, 0x0015, 0x7828, 0x9c06, 0x1db8, 0x782b, - 0x0000, 0x0ca0, 0x00f6, 0x2079, 0x0300, 0x7803, 0x0000, 0x78ab, - 0x0004, 0x00fe, 0x080c, 0x74c8, 0x11b0, 0x2001, 0x0138, 0x2003, - 0x0000, 0x2001, 0x0160, 0x2003, 0x0000, 0x2011, 0x012c, 0xa001, - 0xa001, 0x8211, 0x1de0, 0x0081, 0x2001, 0x0386, 0x2003, 0x2020, - 0x080c, 0x7569, 0x0005, 0x0479, 0x0039, 0x2001, 0x0160, 0x2502, + 0x8318, 0x1f04, 0x0dcc, 0x2069, 0x1a99, 0x2019, 0x0050, 0x20a9, + 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, 0x8318, 0x1f04, 0x0dd9, + 0x0491, 0x002e, 0x003e, 0x00de, 0x015e, 0x2079, 0x1800, 0x7803, + 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x0180, + 0x2001, 0x1a21, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, + 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, 0x1001, + 0x080c, 0x5704, 0x1170, 0x080c, 0x0f20, 0x0110, 0x080c, 0x0e73, + 0x080c, 0x5704, 0x1130, 0x2071, 0x1800, 0x2011, 0x8000, 0x080c, + 0x0f34, 0x0c70, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x9086, 0x0001, 0x1120, 0x2001, 0x0015, 0x080c, 0xa88a, 0x2079, + 0x0380, 0x2069, 0x1b03, 0x7818, 0x6802, 0x781c, 0x6806, 0x7840, + 0x680a, 0x7844, 0x680e, 0x782c, 0x6812, 0x2019, 0x1b0e, 0x9016, + 0x7808, 0xd09c, 0x0150, 0x7820, 0x201a, 0x8210, 0x8318, 0x8210, + 0x9282, 0x0011, 0x0ea8, 0x2011, 0xdead, 0x6a2a, 0x7830, 0x681a, + 0x7834, 0x681e, 0x7838, 0x6822, 0x783c, 0x6826, 0x7803, 0x0000, + 0x2069, 0x1ac3, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7828, 0x206a, + 0x8d68, 0x8318, 0x1f04, 0x0e4d, 0x2069, 0x1ae3, 0x2019, 0x00b0, + 0x20a9, 0x0020, 0x7b26, 0x7828, 0x206a, 0x8d68, 0x8318, 0x1f04, + 0x0e5a, 0x0005, 0x918c, 0x03ff, 0x2001, 0x0003, 0x2004, 0x9084, + 0x0600, 0x1118, 0x918d, 0x6c00, 0x0010, 0x918d, 0x6400, 0x2001, + 0x017f, 0x2102, 0x0005, 0x0026, 0x0126, 0x2011, 0x0080, 0x080c, + 0x0f12, 0x20a9, 0x0900, 0x080c, 0x0f48, 0x2011, 0x0040, 0x080c, + 0x0f12, 0x20a9, 0x0900, 0x080c, 0x0f48, 0x0c78, 0x0026, 0x080c, + 0x0f20, 0x1188, 0x2011, 0x010e, 0x2214, 0x9294, 0x0007, 0x9296, + 0x0007, 0x0118, 0x2011, 0x0947, 0x0010, 0x2011, 0x1b47, 0x080c, + 0x0f34, 0x002e, 0x0005, 0x2011, 0x010e, 0x2214, 0x9294, 0x0007, + 0x9296, 0x0007, 0x0118, 0x2011, 0xa880, 0x0010, 0x2011, 0x6840, + 0xd0e4, 0x70f3, 0x0000, 0x1128, 0x70f3, 0x0fa0, 0x080c, 0x0f25, + 0x002e, 0x0005, 0x0026, 0x080c, 0x0f20, 0x0148, 0xd0a4, 0x1138, + 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, 0x080c, 0x0f25, 0x002e, + 0x0005, 0x0026, 0x70f3, 0x0000, 0x080c, 0x0f20, 0x1130, 0x2011, + 0x8040, 0x080c, 0x0f34, 0x002e, 0x0005, 0x080c, 0x2a27, 0x1118, + 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, 0x080c, 0x0f25, 0x002e, + 0x0005, 0x00e6, 0x0016, 0x0006, 0x2071, 0x1800, 0xd0b4, 0x70ec, + 0x71e8, 0x1118, 0xc0e4, 0xc1f4, 0x0050, 0x0006, 0x3b00, 0x9084, + 0xff3e, 0x20d8, 0x000e, 0x70f3, 0x0000, 0xc0e5, 0xc1f5, 0x0099, + 0x000e, 0x001e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0xd0e4, + 0x70ec, 0x1110, 0xc0dc, 0x0008, 0xc0dd, 0x0016, 0x71e8, 0x0019, + 0x001e, 0x00ee, 0x0005, 0x70ee, 0x71ea, 0x7000, 0x9084, 0x0007, + 0x000b, 0x0005, 0x0ed8, 0x0eb2, 0x0eb2, 0x0e86, 0x0ec1, 0x0eb2, + 0x0eb2, 0x0ec1, 0xc284, 0x0016, 0x3b08, 0x3a00, 0x9104, 0x918d, + 0x00c1, 0x21d8, 0x9084, 0xff3e, 0x9205, 0x20d0, 0x001e, 0x0005, + 0x2001, 0x183b, 0x2004, 0xd0dc, 0x0005, 0x9e86, 0x1800, 0x190c, + 0x0d7d, 0x70ec, 0xd0e4, 0x0108, 0xc2e5, 0x72ee, 0xd0e4, 0x1118, + 0x9294, 0x00c1, 0x08f9, 0x0005, 0x9e86, 0x1800, 0x190c, 0x0d7d, + 0x70e8, 0xd0f4, 0x0108, 0xc2f5, 0x72ea, 0xd0f4, 0x1140, 0x9284, + 0x8000, 0x8005, 0xc284, 0x9215, 0x9294, 0x00c1, 0x0861, 0x0005, + 0x1d04, 0x0f48, 0x2091, 0x6000, 0x1f04, 0x0f48, 0x0005, 0x890e, + 0x810e, 0x810f, 0x9194, 0x003f, 0x918c, 0xffc0, 0x0005, 0x0006, + 0x2200, 0x914d, 0x894f, 0x894d, 0x894d, 0x000e, 0x0005, 0x01d6, + 0x0146, 0x0036, 0x0096, 0x2061, 0x188d, 0x600b, 0x0000, 0x600f, + 0x0000, 0x6003, 0x0000, 0x6007, 0x0000, 0x2009, 0xffc0, 0x2105, + 0x0006, 0x2001, 0xaaaa, 0x200f, 0x2019, 0x5555, 0x9016, 0x2049, + 0x0bff, 0xab02, 0xa001, 0xa001, 0xa800, 0x9306, 0x1138, 0x2105, + 0x9306, 0x0120, 0x8210, 0x99c8, 0x0400, 0x0c98, 0x000e, 0x200f, + 0x2001, 0x189d, 0x928a, 0x000e, 0x1638, 0x928a, 0x0006, 0x2011, + 0x0006, 0x1210, 0x2011, 0x0000, 0x2202, 0x9006, 0x2008, 0x82ff, + 0x01b0, 0x8200, 0x600a, 0x600f, 0xffff, 0x6003, 0x0002, 0x6007, + 0x0000, 0x0026, 0x2019, 0x0010, 0x9280, 0x0001, 0x20e8, 0x21a0, + 0x21a8, 0x4104, 0x8319, 0x1de0, 0x8211, 0x1da0, 0x002e, 0x009e, + 0x003e, 0x014e, 0x01de, 0x0005, 0x2011, 0x000e, 0x08e8, 0x0016, + 0x0026, 0x0096, 0x3348, 0x080c, 0x0f4f, 0x2100, 0x9300, 0x2098, + 0x22e0, 0x009e, 0x002e, 0x001e, 0x0036, 0x3518, 0x20a9, 0x0001, + 0x4002, 0x8007, 0x4004, 0x8319, 0x1dd8, 0x003e, 0x0005, 0x20e9, + 0x0001, 0x71b8, 0x81ff, 0x11c0, 0x9006, 0x2009, 0x0200, 0x20a9, + 0x0002, 0x9298, 0x0018, 0x23a0, 0x4001, 0x2009, 0x0700, 0x20a9, + 0x0002, 0x9298, 0x0008, 0x23a0, 0x4001, 0x707c, 0x8007, 0x7180, + 0x810f, 0x20a9, 0x0002, 0x4001, 0x9298, 0x000c, 0x23a0, 0x900e, + 0x080c, 0x0d5d, 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x4001, + 0x0005, 0x89ff, 0x0140, 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, + 0x1079, 0x009e, 0x0cb0, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, + 0x10f2, 0x090c, 0x0d7d, 0x00ee, 0x0005, 0x0086, 0x00e6, 0x0006, + 0x0026, 0x0036, 0x0126, 0x2091, 0x8000, 0x00c9, 0x2071, 0x1800, + 0x73c0, 0x702c, 0x9016, 0x9045, 0x0158, 0x8210, 0x9906, 0x090c, + 0x0d7d, 0x2300, 0x9202, 0x0120, 0x1a0c, 0x0d7d, 0xa000, 0x0c98, + 0x012e, 0x003e, 0x002e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x0086, + 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x1910, 0x7010, + 0x9005, 0x0140, 0x7018, 0x9045, 0x0128, 0x9906, 0x090c, 0x0d7d, + 0xa000, 0x0cc8, 0x012e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x00e6, + 0x2071, 0x1800, 0x0126, 0x2091, 0x8000, 0x70c0, 0x8001, 0x0270, + 0x70c2, 0x702c, 0x2048, 0x9085, 0x0001, 0xa800, 0x702e, 0xa803, + 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, 0x0cd8, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x70c0, 0x90ca, + 0x0020, 0x0268, 0x8001, 0x70c2, 0x702c, 0x2048, 0xa800, 0x702e, + 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, + 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x0016, 0x890e, 0x810e, + 0x810f, 0x9184, 0x003f, 0xa862, 0x9184, 0xffc0, 0xa85e, 0x001e, + 0x0020, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8566, + 0x012e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9026, 0x2009, 0x0000, + 0x2049, 0x0400, 0x2900, 0x702e, 0x8940, 0x2800, 0xa802, 0xa95e, + 0xa863, 0x0001, 0x8420, 0x9886, 0x0440, 0x0120, 0x2848, 0x9188, + 0x0040, 0x0c90, 0x2071, 0x188d, 0x7000, 0x9005, 0x11a0, 0x2001, + 0x0558, 0xa802, 0x2048, 0x2009, 0x5600, 0x8940, 0x2800, 0xa802, + 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, 0x0800, 0x0120, 0x2848, + 0x9188, 0x0040, 0x0c90, 0x2071, 0x188d, 0x7104, 0x7200, 0x82ff, + 0x01d0, 0x7308, 0x8318, 0x831f, 0x831b, 0x831b, 0x7312, 0x8319, + 0x2001, 0x0800, 0xa802, 0x2048, 0x8900, 0xa802, 0x2040, 0xa95e, + 0xaa62, 0x8420, 0x2300, 0x9906, 0x0130, 0x2848, 0x9188, 0x0040, + 0x9291, 0x0000, 0x0c88, 0xa803, 0x0000, 0x2071, 0x1800, 0x74be, + 0x74c2, 0x0005, 0x00e6, 0x0016, 0x9984, 0xfc00, 0x01e8, 0x908c, + 0xf800, 0x1168, 0x9982, 0x0400, 0x02b8, 0x9982, 0x0440, 0x0278, + 0x9982, 0x0558, 0x0288, 0x9982, 0x0800, 0x1270, 0x0040, 0x9982, + 0x0800, 0x0250, 0x2071, 0x188d, 0x7010, 0x9902, 0x1228, 0x9085, + 0x0001, 0x001e, 0x00ee, 0x0005, 0x9006, 0x0cd8, 0x00e6, 0x2071, + 0x1a20, 0x7007, 0x0000, 0x9006, 0x701e, 0x7022, 0x7002, 0x2071, + 0x0000, 0x7010, 0x9085, 0x8044, 0x7012, 0x2071, 0x0080, 0x9006, + 0x702b, 0x0060, 0x20a9, 0x0040, 0x7022, 0x1f04, 0x112c, 0x702b, + 0x0060, 0x702b, 0x0020, 0x20a9, 0x0040, 0x7022, 0x1f04, 0x1135, + 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, + 0xa06f, 0x0000, 0x2071, 0x1a20, 0x701c, 0x9088, 0x1a2a, 0x280a, + 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, 0x9106, 0x090c, 0x0d7d, + 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x00a9, 0x00fe, + 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, 0x2071, + 0x1a20, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x0021, + 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, 0x9086, 0x0000, 0x1110, + 0x7007, 0x0006, 0x7000, 0x0002, 0x117e, 0x1301, 0x117c, 0x117c, + 0x12f5, 0x12f5, 0x12f5, 0x12f5, 0x080c, 0x0d7d, 0x701c, 0x7120, + 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, 0x1120, 0xd1fc, 0x1110, + 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, 0x1a2a, 0x2004, 0x700a, + 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, 0x782b, 0x0026, 0xa88c, + 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, 0xa898, 0x780e, 0xa878, + 0x700e, 0xa870, 0x7016, 0xa874, 0x701a, 0xa868, 0x009e, 0xd084, + 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, 0x7007, 0x0002, 0x00b1, + 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, + 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, 0x8203, 0x7812, 0x782b, + 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, + 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, 0x7018, 0x2098, 0x20e9, + 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, 0x710c, 0x2011, 0x0040, + 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x22a8, 0x4006, + 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, 0x701a, 0x782b, 0x0001, + 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, 0x2009, 0x1a20, + 0x2104, 0xc095, 0x200a, 0x080c, 0x115b, 0x0005, 0x0016, 0x00e6, + 0x2071, 0x1a20, 0x00f6, 0x2079, 0x0080, 0x792c, 0xd1bc, 0x190c, + 0x0d76, 0x782b, 0x0002, 0xd1fc, 0x0120, 0x918c, 0x0700, 0x7004, + 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x116c, 0x1214, 0x1248, + 0x1320, 0x0d7d, 0x133b, 0x0d7d, 0x918c, 0x0700, 0x1550, 0x0136, + 0x0146, 0x0156, 0x7014, 0x20e8, 0x7018, 0x20a0, 0x20e1, 0x0000, + 0x2099, 0x0088, 0x782b, 0x0040, 0x7010, 0x20a8, 0x4005, 0x3400, + 0x701a, 0x015e, 0x014e, 0x013e, 0x700c, 0x9005, 0x0578, 0x7800, + 0x7802, 0x7804, 0x7806, 0x080c, 0x11b1, 0x0005, 0x7008, 0x0096, + 0x2048, 0xa86f, 0x0100, 0x009e, 0x7007, 0x0000, 0x080c, 0x116c, + 0x0005, 0x7008, 0x0096, 0x2048, 0xa86f, 0x0200, 0x009e, 0x0ca0, + 0x918c, 0x0700, 0x1150, 0x700c, 0x9005, 0x0180, 0x7800, 0x7802, + 0x7804, 0x7806, 0x080c, 0x11c6, 0x0005, 0x7008, 0x0096, 0x2048, + 0xa86f, 0x0200, 0x009e, 0x7007, 0x0000, 0x0080, 0x0096, 0x7008, + 0x2048, 0x7800, 0xa88e, 0x7804, 0xa892, 0x7808, 0xa896, 0x780c, + 0xa89a, 0xa86f, 0x0100, 0x009e, 0x7007, 0x0000, 0x0096, 0x00d6, + 0x7008, 0x2048, 0x2001, 0x18b9, 0x2004, 0x9906, 0x1128, 0xa89c, + 0x080f, 0x00de, 0x009e, 0x00a0, 0x00de, 0x009e, 0x0096, 0x00d6, + 0x7008, 0x2048, 0x0081, 0x0150, 0xa89c, 0x0086, 0x2940, 0x080f, + 0x008e, 0x00de, 0x009e, 0x080c, 0x115b, 0x0005, 0x00de, 0x009e, + 0x080c, 0x115b, 0x0005, 0xa8a8, 0xd08c, 0x0005, 0x0096, 0xa0a0, + 0x904d, 0x090c, 0x0d7d, 0xa06c, 0x908e, 0x0100, 0x0130, 0xa87b, + 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x080c, 0x6d93, 0xa09f, + 0x0000, 0xa0a3, 0x0000, 0x2848, 0x080c, 0x1079, 0x009e, 0x0005, + 0x00a6, 0xa0a0, 0x904d, 0x090c, 0x0d7d, 0xa06c, 0x908e, 0x0100, + 0x0128, 0xa87b, 0x0001, 0xa883, 0x0000, 0x00c0, 0xa80c, 0x2050, + 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, 0x8006, 0x8006, 0x8007, + 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xa076, 0xa172, + 0xb000, 0xa07a, 0x2810, 0x080c, 0x113c, 0x00e8, 0xa97c, 0xa894, + 0x0016, 0x0006, 0x080c, 0x6d93, 0x000e, 0x001e, 0xd1fc, 0x1138, + 0xd1f4, 0x0128, 0x00c6, 0x2060, 0x080c, 0xabf0, 0x00ce, 0x7008, + 0x2048, 0xa89f, 0x0000, 0xa8a3, 0x0000, 0x080c, 0x1079, 0x7007, + 0x0000, 0x080c, 0x115b, 0x00ae, 0x0005, 0x0126, 0x2091, 0x8000, + 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, 0x012e, + 0x0005, 0x0096, 0x2001, 0x192e, 0x204c, 0xa87c, 0x7812, 0xa88c, + 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, 0xa898, 0x780e, 0x782b, + 0x0020, 0x0126, 0x2091, 0x8000, 0x782b, 0x0041, 0x7007, 0x0003, + 0x7000, 0xc084, 0x7002, 0x2900, 0x700a, 0x012e, 0x009e, 0x0005, + 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, 0x0040, 0x0096, 0x2001, + 0x192e, 0x204c, 0xaa7c, 0x009e, 0x080c, 0x8c34, 0x2009, 0x188c, + 0x2104, 0x9084, 0xfffc, 0x200a, 0x080c, 0x8aa4, 0x7007, 0x0000, + 0x080c, 0x116c, 0x0005, 0x7007, 0x0000, 0x080c, 0x116c, 0x0005, + 0x0126, 0x2091, 0x2200, 0x2079, 0x0300, 0x2071, 0x1a6a, 0x7003, + 0x0000, 0x78bf, 0x00f6, 0x0041, 0x7807, 0x0007, 0x7803, 0x0000, + 0x7803, 0x0001, 0x012e, 0x0005, 0x00c6, 0x7803, 0x0000, 0x2001, + 0x0165, 0x2003, 0x4198, 0x7808, 0xd09c, 0x0118, 0x7820, 0x04e9, + 0x0cd0, 0x2001, 0x1a6b, 0x2003, 0x0000, 0x78ab, 0x0004, 0x78ac, + 0xd0ac, 0x1de8, 0x78ab, 0x0002, 0x7807, 0x0007, 0x7827, 0x0030, + 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, 0x1a79, 0x781f, 0xff00, + 0x781b, 0xff00, 0x2001, 0x0200, 0x2004, 0xd0dc, 0x0110, 0x781f, + 0x0303, 0x2061, 0x1a79, 0x602f, 0x1ddc, 0x2001, 0x181a, 0x2004, + 0x9082, 0x1ddc, 0x6032, 0x603b, 0x1e7a, 0x602b, 0x1ab9, 0x6007, + 0x1a99, 0x2061, 0x1a99, 0x606f, 0x193c, 0x2001, 0x1927, 0x2004, + 0x607a, 0x783f, 0x3388, 0x00ce, 0x0005, 0x9086, 0x000d, 0x11d0, + 0x7808, 0xd09c, 0x01b8, 0x7820, 0x0026, 0x2010, 0x080c, 0xc853, + 0x0180, 0x2260, 0x6000, 0x9086, 0x0004, 0x1158, 0x0016, 0x6120, + 0x9186, 0x0009, 0x0108, 0x0020, 0x2009, 0x004c, 0x080c, 0xac8d, + 0x001e, 0x002e, 0x0005, 0x0126, 0x2091, 0x2200, 0x7908, 0x9184, + 0x0070, 0x190c, 0x0d76, 0xd19c, 0x05a0, 0x7820, 0x908c, 0xf000, + 0x0540, 0x2060, 0x6020, 0x9086, 0x0003, 0x1550, 0x6000, 0x9086, + 0x0004, 0x1530, 0x6114, 0x2148, 0xa876, 0xa87a, 0xa867, 0x0103, + 0x080c, 0x6bb5, 0x00b6, 0x6010, 0x2058, 0xba3c, 0x8211, 0x0208, + 0xba3e, 0xb8d0, 0x9005, 0x190c, 0x676f, 0x00be, 0x6044, 0xd0fc, + 0x190c, 0xa8c2, 0x080c, 0xac19, 0x7808, 0xd09c, 0x19b0, 0x012e, + 0x0005, 0x908a, 0x0024, 0x1a0c, 0x0d7d, 0x002b, 0x012e, 0x0005, + 0x04b0, 0x012e, 0x0005, 0x141f, 0x1445, 0x1475, 0x147a, 0x147e, + 0x1483, 0x14ab, 0x14af, 0x14bd, 0x14c1, 0x141f, 0x158e, 0x1592, + 0x15f7, 0x15fe, 0x141f, 0x15ff, 0x1600, 0x160b, 0x1612, 0x141f, + 0x141f, 0x141f, 0x141f, 0x141f, 0x141f, 0x141f, 0x1485, 0x141f, + 0x144d, 0x1472, 0x1439, 0x141f, 0x1459, 0x1423, 0x1421, 0x080c, + 0x0d7d, 0x080c, 0x0d76, 0x080c, 0x161d, 0x2009, 0x1a78, 0x2104, + 0x8000, 0x200a, 0x080c, 0x7f9c, 0x080c, 0x1adf, 0x0005, 0x6044, + 0xd0fc, 0x190c, 0xa8c2, 0x2009, 0x0055, 0x080c, 0xac8d, 0x012e, + 0x0005, 0x080c, 0x161d, 0x2060, 0x6044, 0xd0fc, 0x190c, 0xa8c2, + 0x2009, 0x0055, 0x080c, 0xac8d, 0x0005, 0x2009, 0x0048, 0x080c, + 0x161d, 0x2060, 0x080c, 0xac8d, 0x0005, 0x2009, 0x0054, 0x080c, + 0x161d, 0x2060, 0x6044, 0xd0fc, 0x190c, 0xa8c2, 0x080c, 0xac8d, + 0x0005, 0x080c, 0x161d, 0x2060, 0x0056, 0x0066, 0x080c, 0x161d, + 0x2028, 0x080c, 0x161d, 0x2030, 0x0036, 0x0046, 0x2021, 0x0000, + 0x2418, 0x2009, 0x0056, 0x080c, 0xac8d, 0x004e, 0x003e, 0x006e, + 0x005e, 0x0005, 0x080c, 0x161d, 0x0005, 0x7004, 0xc085, 0xc0b5, + 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, 0x080c, 0x161d, + 0x080c, 0x16e1, 0x0005, 0x080c, 0x0d7d, 0x080c, 0x161d, 0x2060, + 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, + 0x080c, 0xac8d, 0x2001, 0x015d, 0x2003, 0x0000, 0x2009, 0x03e8, + 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, + 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, 0x1622, 0x2001, 0x0307, + 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, 0x7006, 0x0005, 0x080c, + 0x161d, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, + 0x2009, 0x0048, 0x080c, 0xac8d, 0x0005, 0x080c, 0x161d, 0x080c, + 0x0d7d, 0x080c, 0x161d, 0x080c, 0x1579, 0x7827, 0x0018, 0x79ac, + 0xd1dc, 0x0904, 0x152a, 0x7827, 0x0015, 0x7828, 0x782b, 0x0000, + 0x9065, 0x0140, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, + 0x0804, 0x1530, 0x7004, 0x9005, 0x01c8, 0x1188, 0x78ab, 0x0004, + 0x7827, 0x0018, 0x782b, 0x0000, 0xd1bc, 0x090c, 0x0d7d, 0x2001, + 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0804, 0x155e, 0x78ab, + 0x0004, 0x7803, 0x0001, 0x080c, 0x1592, 0x0005, 0x7827, 0x0018, + 0xa001, 0x7828, 0x7827, 0x0011, 0xa001, 0x7928, 0x9106, 0x0110, + 0x79ac, 0x08e0, 0x00e6, 0x2071, 0x0200, 0x702c, 0xd0c4, 0x0140, + 0x00ee, 0x080c, 0x1adf, 0x080c, 0x1354, 0x7803, 0x0001, 0x0005, + 0x7037, 0x0001, 0xa001, 0x7150, 0x00ee, 0x918c, 0xff00, 0x9186, + 0x0500, 0x0110, 0x79ac, 0x0810, 0x7004, 0xc09d, 0x7006, 0x78ab, + 0x0004, 0x7803, 0x0001, 0x080c, 0x1592, 0x2001, 0x020d, 0x2003, + 0x0020, 0x0005, 0x7828, 0x782b, 0x0000, 0x9065, 0x090c, 0x0d7d, + 0x6014, 0x2048, 0x78ab, 0x0004, 0x918c, 0x0700, 0x01a8, 0x080c, + 0x7f9c, 0x080c, 0x1adf, 0x080c, 0xc865, 0x0158, 0xa9ac, 0xa936, + 0xa9b0, 0xa93a, 0xa83f, 0xffff, 0xa843, 0xffff, 0xa880, 0xc0bd, + 0xa882, 0x080c, 0xc453, 0x0005, 0x6020, 0x9086, 0x0009, 0x1128, + 0x2009, 0x004c, 0x080c, 0xac8d, 0x0048, 0x6010, 0x00b6, 0x2058, + 0xb800, 0x00be, 0xd0bc, 0x6024, 0x190c, 0xcc66, 0x2029, 0x00c8, + 0x8529, 0x0128, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x7dbc, + 0x080c, 0xe727, 0xd5a4, 0x1118, 0x080c, 0x1622, 0x0005, 0x080c, + 0x7f9c, 0x080c, 0x1adf, 0x0005, 0x781f, 0x0300, 0x7803, 0x0001, + 0x0005, 0x0016, 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, 0x7908, + 0x918c, 0x0007, 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, 0x080c, + 0x1693, 0x00fe, 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, 0xc09d, + 0x7006, 0x0005, 0x7104, 0x9184, 0x0004, 0x190c, 0x0d7d, 0xd184, + 0x1189, 0xd19c, 0x0158, 0xc19c, 0x7106, 0x2001, 0x020d, 0x2003, + 0x0050, 0x2003, 0x0020, 0x080c, 0x1622, 0x0005, 0x81ff, 0x190c, + 0x0d7d, 0x0005, 0xc184, 0xd1b4, 0xc1b4, 0x7106, 0x0016, 0x00e6, + 0x15f0, 0x2071, 0x0200, 0x080c, 0x16ce, 0x05c8, 0x6014, 0x9005, + 0x05b0, 0x0096, 0x2048, 0xa864, 0x009e, 0x9084, 0x00ff, 0x908e, + 0x0029, 0x0160, 0x908e, 0x0048, 0x1550, 0x601c, 0xd084, 0x11e0, + 0x00f6, 0x2c78, 0x080c, 0x174b, 0x00fe, 0x00b0, 0x00f6, 0x2c78, + 0x080c, 0x18d2, 0x00fe, 0x2009, 0x01f4, 0x8109, 0x0168, 0x2001, + 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, + 0x1118, 0x080c, 0x1622, 0x0040, 0x2001, 0x020d, 0x2003, 0x0020, + 0x080c, 0x1354, 0x7803, 0x0001, 0x00ee, 0x001e, 0x0005, 0x2001, + 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0461, 0x0ca8, 0x0429, + 0x2060, 0x2009, 0x0053, 0x080c, 0xac8d, 0x0005, 0x0005, 0x0005, + 0x00e1, 0x2008, 0x00d1, 0x0006, 0x7004, 0xc09d, 0x7006, 0x000e, + 0x080c, 0x8f93, 0x0005, 0x0089, 0x9005, 0x0118, 0x080c, 0x8b94, + 0x0cd0, 0x0005, 0x2001, 0x0036, 0x2009, 0x1820, 0x210c, 0x2011, + 0x181f, 0x2214, 0x080c, 0x1693, 0x0005, 0x7808, 0xd09c, 0x0de8, + 0x7820, 0x0005, 0x080c, 0x1579, 0x00d6, 0x2069, 0x0200, 0x2009, + 0x01f4, 0x8109, 0x0510, 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, + 0x2003, 0x0000, 0x79bc, 0xd1a4, 0x1528, 0x79b8, 0x918c, 0x0fff, + 0x0180, 0x9182, 0x0841, 0x1268, 0x9188, 0x0007, 0x918c, 0x0ff8, + 0x810c, 0x810c, 0x810c, 0x080c, 0x1685, 0x6827, 0x0001, 0x8109, + 0x1dd0, 0x04d9, 0x6827, 0x0002, 0x04c1, 0x6804, 0x9005, 0x1130, + 0x682c, 0xd0e4, 0x1500, 0x6804, 0x9005, 0x0de8, 0x79b8, 0xd1ec, + 0x1130, 0x08c0, 0x080c, 0x7f9c, 0x080c, 0x1adf, 0x0090, 0x7827, + 0x0015, 0x782b, 0x0000, 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, + 0x020d, 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, + 0x0001, 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, + 0x0d30, 0x7827, 0x0015, 0x782b, 0x0000, 0x7803, 0x0001, 0x6800, + 0x9085, 0x1800, 0x6802, 0x00de, 0x0005, 0x6824, 0x9084, 0x0003, + 0x1de0, 0x0005, 0x2001, 0x0030, 0x2c08, 0x621c, 0x0021, 0x7830, + 0x9086, 0x0041, 0x0005, 0x00f6, 0x2079, 0x0300, 0x0006, 0x7808, + 0xd09c, 0x0140, 0x0016, 0x0026, 0x00c6, 0x080c, 0x13bb, 0x00ce, + 0x002e, 0x001e, 0x000e, 0x0006, 0x7832, 0x7936, 0x7a3a, 0x781b, + 0x8080, 0x0059, 0x1118, 0x000e, 0x00fe, 0x0005, 0x000e, 0x792c, + 0x3900, 0x8000, 0x2004, 0x080c, 0x0d7d, 0x2009, 0xff00, 0x8109, + 0x0120, 0x7818, 0xd0bc, 0x1dd8, 0x0005, 0x9085, 0x0001, 0x0005, + 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x0c79, 0x1108, 0x0005, + 0x792c, 0x3900, 0x8000, 0x2004, 0x080c, 0x0d7d, 0x7037, 0x0001, + 0x7150, 0x7037, 0x0002, 0x7050, 0x2060, 0xd1bc, 0x1110, 0x7054, + 0x2060, 0x918c, 0xff00, 0x9186, 0x0500, 0x0110, 0x9085, 0x0001, + 0x0005, 0x00e6, 0x0016, 0x2071, 0x0200, 0x0c41, 0x6124, 0xd1dc, + 0x01f8, 0x701c, 0xd08c, 0x0904, 0x1740, 0x7017, 0x0000, 0x2001, + 0x0264, 0x2004, 0xd0bc, 0x0904, 0x1740, 0x2001, 0x0268, 0x00c6, + 0x2064, 0x6104, 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, 0x1740, + 0x9c06, 0x15f0, 0x0126, 0x2091, 0x2600, 0x080c, 0x7ef4, 0x012e, + 0x7358, 0x745c, 0x6014, 0x905d, 0x0598, 0x2b48, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x190c, 0xcc41, 0xab42, 0xac3e, + 0x2001, 0x1869, 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, 0x1158, + 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1120, 0xa83b, + 0x7fff, 0xa837, 0xffff, 0x080c, 0x1e9a, 0x1190, 0x080c, 0x192d, + 0x2a00, 0xa816, 0x0130, 0x2800, 0xa80e, 0x2c05, 0xa80a, 0x2c00, + 0xa812, 0x7037, 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, 0x0005, + 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, 0x1622, + 0x0005, 0x080c, 0x0d7d, 0x2cf0, 0x0126, 0x2091, 0x2200, 0x00c6, + 0x3e60, 0x6014, 0x2048, 0x2940, 0x903e, 0x2730, 0xa864, 0x2068, + 0xa81a, 0x9d84, 0x000f, 0x9088, 0x1e7a, 0x2165, 0x0002, 0x1776, + 0x17e4, 0x1776, 0x1776, 0x177a, 0x17c5, 0x1776, 0x179a, 0x176f, + 0x17db, 0x1776, 0x1776, 0x177f, 0x18d0, 0x17ae, 0x17a4, 0xa964, + 0x918c, 0x00ff, 0x918e, 0x0048, 0x0904, 0x17db, 0x9085, 0x0001, + 0x0804, 0x18c7, 0xa87c, 0xd0ac, 0x0dc8, 0x0804, 0x17eb, 0xa87c, + 0xd0ac, 0x0da0, 0x0804, 0x1856, 0xa898, 0x901d, 0x1108, 0xab9c, + 0x9016, 0xaab2, 0xaa3e, 0xaa42, 0x3e00, 0x9080, 0x0008, 0x2004, + 0x9080, 0x915c, 0x2005, 0x9005, 0x090c, 0x0d7d, 0x2004, 0xa8ae, + 0x0804, 0x18af, 0xa87c, 0xd0bc, 0x09c8, 0xa890, 0xa842, 0xa88c, + 0xa83e, 0xa888, 0x0804, 0x17eb, 0xa87c, 0xd0bc, 0x0978, 0xa890, + 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x1856, 0xa87c, 0xd0bc, + 0x0928, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa804, 0x9045, 0x090c, + 0x0d7d, 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x1e7a, 0x2065, + 0xa888, 0xd19c, 0x1904, 0x1856, 0x0430, 0xa87c, 0xd0ac, 0x0904, + 0x1776, 0xa804, 0x9045, 0x090c, 0x0d7d, 0xa164, 0xa91a, 0x91ec, + 0x000f, 0x9d80, 0x1e7a, 0x2065, 0x9006, 0xa842, 0xa83e, 0xd19c, + 0x1904, 0x1856, 0x0080, 0xa87c, 0xd0ac, 0x0904, 0x1776, 0x9006, + 0xa842, 0xa83e, 0x0804, 0x1856, 0xa87c, 0xd0ac, 0x0904, 0x1776, + 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0d7d, + 0x9082, 0x001b, 0x0002, 0x180e, 0x180e, 0x1810, 0x180e, 0x180e, + 0x180e, 0x181a, 0x180e, 0x180e, 0x180e, 0x1824, 0x180e, 0x180e, + 0x180e, 0x182e, 0x180e, 0x180e, 0x180e, 0x1838, 0x180e, 0x180e, + 0x180e, 0x1842, 0x180e, 0x180e, 0x180e, 0x184c, 0x080c, 0x0d7d, + 0xa574, 0xa478, 0x9d86, 0x0024, 0x0904, 0x1784, 0xa37c, 0xa280, + 0x0804, 0x18af, 0xa584, 0xa488, 0x9d86, 0x0024, 0x0904, 0x1784, + 0xa38c, 0xa290, 0x0804, 0x18af, 0xa594, 0xa498, 0x9d86, 0x0024, + 0x0904, 0x1784, 0xa39c, 0xa2a0, 0x0804, 0x18af, 0xa5a4, 0xa4a8, + 0x9d86, 0x0024, 0x0904, 0x1784, 0xa3ac, 0xa2b0, 0x0804, 0x18af, + 0xa5b4, 0xa4b8, 0x9d86, 0x0024, 0x0904, 0x1784, 0xa3bc, 0xa2c0, + 0x0804, 0x18af, 0xa5c4, 0xa4c8, 0x9d86, 0x0024, 0x0904, 0x1784, + 0xa3cc, 0xa2d0, 0x0804, 0x18af, 0xa5d4, 0xa4d8, 0x9d86, 0x0024, + 0x0904, 0x1784, 0xa3dc, 0xa2e0, 0x0804, 0x18af, 0x2c05, 0x908a, + 0x0034, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1879, 0x1877, + 0x1877, 0x1877, 0x1877, 0x1877, 0x1884, 0x1877, 0x1877, 0x1877, + 0x1877, 0x1877, 0x188f, 0x1877, 0x1877, 0x1877, 0x1877, 0x1877, + 0x189a, 0x1877, 0x1877, 0x1877, 0x1877, 0x1877, 0x18a5, 0x080c, + 0x0d7d, 0xa56c, 0xa470, 0xa774, 0xa678, 0x9d86, 0x002c, 0x0904, + 0x1784, 0xa37c, 0xa280, 0x0458, 0xa584, 0xa488, 0xa78c, 0xa690, + 0x9d86, 0x002c, 0x0904, 0x1784, 0xa394, 0xa298, 0x0400, 0xa59c, + 0xa4a0, 0xa7a4, 0xa6a8, 0x9d86, 0x002c, 0x0904, 0x1784, 0xa3ac, + 0xa2b0, 0x00a8, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0x9d86, 0x002c, + 0x0904, 0x1784, 0xa3c4, 0xa2c8, 0x0050, 0xa5cc, 0xa4d0, 0xa7d4, + 0xa6d8, 0x9d86, 0x002c, 0x0904, 0x1784, 0xa3dc, 0xa2e0, 0xab2e, + 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa988, 0x8c60, 0x2c1d, + 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x8109, 0xa916, 0x1158, 0x3e60, + 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, 0x00ce, + 0x012e, 0x0005, 0x2800, 0xa80e, 0xab0a, 0x2c00, 0xa812, 0x0c78, + 0x0804, 0x1776, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, + 0x6014, 0x2048, 0x2940, 0xa80e, 0x2061, 0x1e75, 0xa813, 0x1e75, + 0x2c05, 0xa80a, 0xa964, 0xa91a, 0xa87c, 0xd0ac, 0x090c, 0x0d7d, + 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d7d, + 0xadcc, 0xacd0, 0xafd4, 0xaed8, 0xabdc, 0xaae0, 0xab2e, 0xaa32, + 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, + 0xa988, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0008, 0x1120, 0x8109, + 0xa916, 0x0128, 0x0078, 0x918a, 0x0002, 0xa916, 0x1158, 0x3e60, + 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, 0x00ce, + 0x012e, 0x0005, 0xa804, 0x9045, 0x090c, 0x0d7d, 0xa80e, 0xa064, + 0xa81a, 0x9084, 0x000f, 0x9080, 0x1e7a, 0x2015, 0x82ff, 0x090c, + 0x0d7d, 0xaa12, 0x2205, 0xa80a, 0x0c10, 0x903e, 0x2730, 0xa880, + 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x1a57, 0x1984, 0x1984, 0x1a57, + 0x1984, 0x1a51, 0x1a57, 0x1984, 0x19f4, 0x19f4, 0x19f4, 0x1a57, + 0x19f4, 0x1a57, 0x1a4e, 0x19f4, 0xc0fc, 0xa882, 0xab2c, 0xaa30, + 0xad1c, 0xac20, 0xdd9c, 0x0904, 0x1a59, 0x2c05, 0x908a, 0x0034, + 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1970, 0x196e, 0x196e, + 0x196e, 0x196e, 0x196e, 0x1974, 0x196e, 0x196e, 0x196e, 0x196e, + 0x196e, 0x1978, 0x196e, 0x196e, 0x196e, 0x196e, 0x196e, 0x197c, + 0x196e, 0x196e, 0x196e, 0x196e, 0x196e, 0x1980, 0x080c, 0x0d7d, + 0xa774, 0xa678, 0x0804, 0x1a59, 0xa78c, 0xa690, 0x0804, 0x1a59, + 0xa7a4, 0xa6a8, 0x0804, 0x1a59, 0xa7bc, 0xa6c0, 0x0804, 0x1a59, + 0xa7d4, 0xa6d8, 0x0804, 0x1a59, 0xa898, 0x901d, 0x1108, 0xab9c, + 0x9016, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0d7d, 0x9082, 0x001b, + 0x0002, 0x19ac, 0x19ac, 0x19ae, 0x19ac, 0x19ac, 0x19ac, 0x19b8, + 0x19ac, 0x19ac, 0x19ac, 0x19c2, 0x19ac, 0x19ac, 0x19ac, 0x19cc, + 0x19ac, 0x19ac, 0x19ac, 0x19d6, 0x19ac, 0x19ac, 0x19ac, 0x19e0, + 0x19ac, 0x19ac, 0x19ac, 0x19ea, 0x080c, 0x0d7d, 0xa574, 0xa478, + 0x9d86, 0x0004, 0x0904, 0x1a59, 0xa37c, 0xa280, 0x0804, 0x1a59, + 0xa584, 0xa488, 0x9d86, 0x0004, 0x0904, 0x1a59, 0xa38c, 0xa290, + 0x0804, 0x1a59, 0xa594, 0xa498, 0x9d86, 0x0004, 0x0904, 0x1a59, + 0xa39c, 0xa2a0, 0x0804, 0x1a59, 0xa5a4, 0xa4a8, 0x9d86, 0x0004, + 0x0904, 0x1a59, 0xa3ac, 0xa2b0, 0x0804, 0x1a59, 0xa5b4, 0xa4b8, + 0x9d86, 0x0004, 0x0904, 0x1a59, 0xa3bc, 0xa2c0, 0x0804, 0x1a59, + 0xa5c4, 0xa4c8, 0x9d86, 0x0004, 0x0904, 0x1a59, 0xa3cc, 0xa2d0, + 0x0804, 0x1a59, 0xa5d4, 0xa4d8, 0x9d86, 0x0004, 0x0904, 0x1a59, + 0xa3dc, 0xa2e0, 0x0804, 0x1a59, 0xa898, 0x901d, 0x1108, 0xab9c, + 0x9016, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d7d, 0x9082, 0x001b, + 0x0002, 0x1a1c, 0x1a1a, 0x1a1a, 0x1a1a, 0x1a1a, 0x1a1a, 0x1a26, + 0x1a1a, 0x1a1a, 0x1a1a, 0x1a1a, 0x1a1a, 0x1a30, 0x1a1a, 0x1a1a, + 0x1a1a, 0x1a1a, 0x1a1a, 0x1a3a, 0x1a1a, 0x1a1a, 0x1a1a, 0x1a1a, + 0x1a1a, 0x1a44, 0x080c, 0x0d7d, 0xa56c, 0xa470, 0xa774, 0xa678, + 0x9d86, 0x000c, 0x05b0, 0xa37c, 0xa280, 0x0498, 0xa584, 0xa488, + 0xa78c, 0xa690, 0x9d86, 0x000c, 0x0560, 0xa394, 0xa298, 0x0448, + 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0x9d86, 0x000c, 0x0510, 0xa3ac, + 0xa2b0, 0x00f8, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0x9d86, 0x000c, + 0x01c0, 0xa3c4, 0xa2c8, 0x00a8, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, + 0x9d86, 0x000c, 0x0170, 0xa3dc, 0xa2e0, 0x0058, 0x9d86, 0x000e, + 0x1130, 0x080c, 0x1e50, 0x1904, 0x192d, 0x900e, 0x0050, 0x080c, + 0x0d7d, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0x080c, + 0x1e50, 0x0005, 0x6014, 0x2048, 0x6118, 0x810c, 0x810c, 0x810c, + 0x81ff, 0x1118, 0xa887, 0x0001, 0x0008, 0xa986, 0x601b, 0x0002, + 0xa874, 0x9084, 0x00ff, 0x9084, 0x0008, 0x0150, 0x00e9, 0x6000, + 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0xac8d, 0x0005, + 0xa974, 0xd1dc, 0x1108, 0x0005, 0xa934, 0xa88c, 0x9106, 0x1158, + 0xa938, 0xa890, 0x9106, 0x1138, 0x601c, 0xc084, 0x601e, 0x2009, + 0x0048, 0x0804, 0xac8d, 0x0005, 0x0126, 0x00c6, 0x2091, 0x2200, + 0x00ce, 0x7908, 0x918c, 0x0007, 0x9186, 0x0000, 0x05b0, 0x9186, + 0x0003, 0x0598, 0x6020, 0x6023, 0x0000, 0x0006, 0x2031, 0x0008, + 0x00c6, 0x781f, 0x0808, 0x7808, 0xd09c, 0x0120, 0x080c, 0x13bb, + 0x8631, 0x1db8, 0x00ce, 0x781f, 0x0800, 0x2031, 0x0168, 0x00c6, + 0x7808, 0xd09c, 0x190c, 0x13bb, 0x00ce, 0x2001, 0x0038, 0x080c, + 0x1b67, 0x7930, 0x9186, 0x0040, 0x0160, 0x9186, 0x0042, 0x190c, + 0x0d7d, 0x2001, 0x001e, 0x8001, 0x1df0, 0x8631, 0x1d40, 0x080c, + 0x1b76, 0x000e, 0x6022, 0x012e, 0x0005, 0x080c, 0x1b63, 0x7827, + 0x0015, 0x7828, 0x9c06, 0x1db8, 0x782b, 0x0000, 0x0ca0, 0x00f6, + 0x2079, 0x0300, 0x7803, 0x0000, 0x78ab, 0x0004, 0x00fe, 0x080c, + 0x74ec, 0x1188, 0x2001, 0x0138, 0x2003, 0x0000, 0x2001, 0x0160, + 0x2003, 0x0000, 0x2011, 0x012c, 0xa001, 0xa001, 0x8211, 0x1de0, + 0x0059, 0x0804, 0x7591, 0x0479, 0x0039, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0005, 0x00e6, 0x2071, 0x0200, 0x080c, - 0x2a1b, 0x2009, 0x003c, 0x080c, 0x21c1, 0x2001, 0x015d, 0x2003, - 0x0000, 0x7000, 0x9084, 0x003c, 0x1de0, 0x080c, 0x8532, 0x70a0, + 0x2a3b, 0x2009, 0x003c, 0x080c, 0x21d9, 0x2001, 0x015d, 0x2003, + 0x0000, 0x7000, 0x9084, 0x003c, 0x1de0, 0x080c, 0x8566, 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, 0x709e, 0x2001, 0x020d, 0x2003, - 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, 0x1347, 0x7803, 0x0001, + 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, 0x1354, 0x7803, 0x0001, 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, 0x0000, - 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x74c8, 0x1108, + 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x74ec, 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, 0xd3dc, 0x1168, 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, 0x1160, 0x2001, 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x2001, 0x015d, 0x2003, 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, 0x2003, 0x0048, 0xa001, 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, 0x8421, 0x1db0, 0x004e, 0x0c60, 0x004e, 0x0c40, 0x601c, 0xc084, 0x601e, 0x0005, 0x2c08, - 0x621c, 0x080c, 0x1686, 0x7930, 0x0005, 0x2c08, 0x621c, 0x080c, - 0x16b3, 0x7930, 0x0005, 0x8001, 0x1df0, 0x0005, 0x2031, 0x0005, + 0x621c, 0x080c, 0x1693, 0x7930, 0x0005, 0x2c08, 0x621c, 0x080c, + 0x16c0, 0x7930, 0x0005, 0x8001, 0x1df0, 0x0005, 0x2031, 0x0005, 0x781c, 0x9084, 0x0007, 0x0170, 0x2001, 0x0038, 0x0c41, 0x9186, - 0x0040, 0x0904, 0x1bbc, 0x2001, 0x001e, 0x0c69, 0x8631, 0x1d80, + 0x0040, 0x0904, 0x1bd4, 0x2001, 0x001e, 0x0c69, 0x8631, 0x1d80, 0x080c, 0x0d7d, 0x781f, 0x0202, 0x2001, 0x015d, 0x2003, 0x0000, 0x2001, 0x0b10, 0x0c01, 0x781c, 0xd084, 0x0110, 0x0861, 0x04e0, 0x2001, 0x0030, 0x0891, 0x9186, 0x0040, 0x0568, 0x781c, 0xd084, 0x1da8, 0x781f, 0x0101, 0x2001, 0x0014, 0x0869, 0x2001, 0x0037, - 0x0821, 0x9186, 0x0040, 0x0140, 0x2001, 0x0030, 0x080c, 0x1b55, + 0x0821, 0x9186, 0x0040, 0x0140, 0x2001, 0x0030, 0x080c, 0x1b6d, 0x9186, 0x0040, 0x190c, 0x0d7d, 0x00d6, 0x2069, 0x0200, 0x692c, 0xd1f4, 0x1170, 0xd1c4, 0x0160, 0xd19c, 0x0130, 0x6800, 0x9085, 0x1800, 0x6802, 0x00de, 0x0080, 0x6908, 0x9184, 0x0007, 0x1db0, @@ -684,42 +687,42 @@ unsigned short risc_code01[] = { 0xa001, 0xa001, 0x781f, 0x0200, 0x0005, 0x0126, 0x2091, 0x2400, 0x2079, 0x0380, 0x2001, 0x19e6, 0x2070, 0x012e, 0x0005, 0x2cf0, 0x0126, 0x2091, 0x2400, 0x3e60, 0x6014, 0x2048, 0xa964, 0xa91a, - 0x918c, 0x00ff, 0x9184, 0x000f, 0x0002, 0x1bf1, 0x1bf1, 0x1bf1, - 0x1bf3, 0x1bf1, 0x1bf1, 0x1bf1, 0x1bf1, 0x1be5, 0x1bfb, 0x1bf1, - 0x1bf7, 0x1bf1, 0x1bf1, 0x1bf1, 0x1bf1, 0x9086, 0x0008, 0x1148, - 0xa87c, 0xd0b4, 0x0904, 0x1d6b, 0x2011, 0x1e5d, 0x2205, 0xab88, + 0x918c, 0x00ff, 0x9184, 0x000f, 0x0002, 0x1c09, 0x1c09, 0x1c09, + 0x1c0b, 0x1c09, 0x1c09, 0x1c09, 0x1c09, 0x1bfd, 0x1c13, 0x1c09, + 0x1c0f, 0x1c09, 0x1c09, 0x1c09, 0x1c09, 0x9086, 0x0008, 0x1148, + 0xa87c, 0xd0b4, 0x0904, 0x1d83, 0x2011, 0x1e75, 0x2205, 0xab88, 0x00a8, 0x080c, 0x0d7d, 0x9186, 0x0013, 0x0128, 0x0cd0, 0x9186, - 0x001b, 0x0108, 0x0cb0, 0xa87c, 0xd0b4, 0x0904, 0x1d6b, 0x9184, - 0x000f, 0x9080, 0x1e62, 0x2015, 0x2205, 0xab88, 0x2908, 0xa80a, + 0x001b, 0x0108, 0x0cb0, 0xa87c, 0xd0b4, 0x0904, 0x1d83, 0x9184, + 0x000f, 0x9080, 0x1e7a, 0x2015, 0x2205, 0xab88, 0x2908, 0xa80a, 0xa90e, 0xaa12, 0xab16, 0x9006, 0xa842, 0xa83e, 0x012e, 0x0005, 0x2cf0, 0x0126, 0x2091, 0x2400, 0x3e60, 0x6014, 0x2048, 0xa88c, 0xa990, 0xaaac, 0xabb0, 0xaa36, 0xab3a, 0xa83e, 0xa942, 0xa846, 0xa94a, 0xa964, 0x918c, 0x00ff, 0x9186, 0x001e, 0x0198, 0x2940, - 0xa064, 0xa81a, 0x90ec, 0x000f, 0x9d80, 0x1e62, 0x2065, 0x2c05, + 0xa064, 0xa81a, 0x90ec, 0x000f, 0x9d80, 0x1e7a, 0x2065, 0x2c05, 0x2808, 0x2c10, 0xab88, 0xa80a, 0xa90e, 0xaa12, 0xab16, 0x012e, 0x3e60, 0x0005, 0xa804, 0x2040, 0x0c58, 0x2cf0, 0x0126, 0x2091, 0x2400, 0x3e60, 0x6014, 0x2048, 0xa97c, 0x2950, 0xd1dc, 0x1904, - 0x1d35, 0xc1dd, 0xa97e, 0x9006, 0xa842, 0xa83e, 0xa988, 0x8109, - 0xa916, 0xa964, 0xa91a, 0x9184, 0x000f, 0x9088, 0x1e62, 0x2145, - 0x0002, 0x1c69, 0x1c77, 0x1c69, 0x1c69, 0x1c69, 0x1c6b, 0x1c69, - 0x1c69, 0x1ccc, 0x1ccc, 0x1c69, 0x1c69, 0x1c69, 0x1cca, 0x1c69, - 0x1c69, 0x080c, 0x0d7d, 0xa804, 0x2050, 0xb164, 0xa91a, 0x9184, - 0x000f, 0x9080, 0x1e62, 0x2045, 0xd19c, 0x1904, 0x1ccc, 0x9036, + 0x1d4d, 0xc1dd, 0xa97e, 0x9006, 0xa842, 0xa83e, 0xa988, 0x8109, + 0xa916, 0xa964, 0xa91a, 0x9184, 0x000f, 0x9088, 0x1e7a, 0x2145, + 0x0002, 0x1c81, 0x1c8f, 0x1c81, 0x1c81, 0x1c81, 0x1c83, 0x1c81, + 0x1c81, 0x1ce4, 0x1ce4, 0x1c81, 0x1c81, 0x1c81, 0x1ce2, 0x1c81, + 0x1c81, 0x080c, 0x0d7d, 0xa804, 0x2050, 0xb164, 0xa91a, 0x9184, + 0x000f, 0x9080, 0x1e7a, 0x2045, 0xd19c, 0x1904, 0x1ce4, 0x9036, 0x2638, 0x2805, 0x908a, 0x0036, 0x1a0c, 0x0d7d, 0x9082, 0x001b, - 0x0002, 0x1c9c, 0x1c9c, 0x1c9e, 0x1c9c, 0x1c9c, 0x1c9c, 0x1ca4, - 0x1c9c, 0x1c9c, 0x1c9c, 0x1caa, 0x1c9c, 0x1c9c, 0x1c9c, 0x1cb0, - 0x1c9c, 0x1c9c, 0x1c9c, 0x1cb6, 0x1c9c, 0x1c9c, 0x1c9c, 0x1cbc, - 0x1c9c, 0x1c9c, 0x1c9c, 0x1cc2, 0x080c, 0x0d7d, 0xb574, 0xb478, - 0xb37c, 0xb280, 0x0804, 0x1d11, 0xb584, 0xb488, 0xb38c, 0xb290, - 0x0804, 0x1d11, 0xb594, 0xb498, 0xb39c, 0xb2a0, 0x0804, 0x1d11, - 0xb5a4, 0xb4a8, 0xb3ac, 0xb2b0, 0x0804, 0x1d11, 0xb5b4, 0xb4b8, - 0xb3bc, 0xb2c0, 0x0804, 0x1d11, 0xb5c4, 0xb4c8, 0xb3cc, 0xb2d0, - 0x0804, 0x1d11, 0xb5d4, 0xb4d8, 0xb3dc, 0xb2e0, 0x0804, 0x1d11, - 0x0804, 0x1d11, 0x080c, 0x0d7d, 0x2805, 0x908a, 0x0034, 0x1a0c, - 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1cef, 0x1ced, 0x1ced, 0x1ced, - 0x1ced, 0x1ced, 0x1cf6, 0x1ced, 0x1ced, 0x1ced, 0x1ced, 0x1ced, - 0x1cfd, 0x1ced, 0x1ced, 0x1ced, 0x1ced, 0x1ced, 0x1d04, 0x1ced, - 0x1ced, 0x1ced, 0x1ced, 0x1ced, 0x1d0b, 0x080c, 0x0d7d, 0xb56c, + 0x0002, 0x1cb4, 0x1cb4, 0x1cb6, 0x1cb4, 0x1cb4, 0x1cb4, 0x1cbc, + 0x1cb4, 0x1cb4, 0x1cb4, 0x1cc2, 0x1cb4, 0x1cb4, 0x1cb4, 0x1cc8, + 0x1cb4, 0x1cb4, 0x1cb4, 0x1cce, 0x1cb4, 0x1cb4, 0x1cb4, 0x1cd4, + 0x1cb4, 0x1cb4, 0x1cb4, 0x1cda, 0x080c, 0x0d7d, 0xb574, 0xb478, + 0xb37c, 0xb280, 0x0804, 0x1d29, 0xb584, 0xb488, 0xb38c, 0xb290, + 0x0804, 0x1d29, 0xb594, 0xb498, 0xb39c, 0xb2a0, 0x0804, 0x1d29, + 0xb5a4, 0xb4a8, 0xb3ac, 0xb2b0, 0x0804, 0x1d29, 0xb5b4, 0xb4b8, + 0xb3bc, 0xb2c0, 0x0804, 0x1d29, 0xb5c4, 0xb4c8, 0xb3cc, 0xb2d0, + 0x0804, 0x1d29, 0xb5d4, 0xb4d8, 0xb3dc, 0xb2e0, 0x0804, 0x1d29, + 0x0804, 0x1d29, 0x080c, 0x0d7d, 0x2805, 0x908a, 0x0034, 0x1a0c, + 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1d07, 0x1d05, 0x1d05, 0x1d05, + 0x1d05, 0x1d05, 0x1d0e, 0x1d05, 0x1d05, 0x1d05, 0x1d05, 0x1d05, + 0x1d15, 0x1d05, 0x1d05, 0x1d05, 0x1d05, 0x1d05, 0x1d1c, 0x1d05, + 0x1d05, 0x1d05, 0x1d05, 0x1d05, 0x1d23, 0x080c, 0x0d7d, 0xb56c, 0xb470, 0xb774, 0xb678, 0xb37c, 0xb280, 0x00d8, 0xb584, 0xb488, 0xb78c, 0xb690, 0xb394, 0xb298, 0x00a0, 0xb59c, 0xb4a0, 0xb7a4, 0xb6a8, 0xb3ac, 0xb2b0, 0x0068, 0xb5b4, 0xb4b8, 0xb7bc, 0xb6c0, @@ -727,23 +730,23 @@ unsigned short risc_code01[] = { 0xb2e0, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa988, 0x8109, 0xa916, 0x1118, 0x9006, 0x012e, 0x0005, 0x8840, 0x2805, 0x9005, 0x1168, 0xb004, 0x9005, 0x090c, 0x0d7d, 0x2050, 0xb164, - 0xa91a, 0x9184, 0x000f, 0x9080, 0x1e62, 0x2045, 0x2805, 0x2810, + 0xa91a, 0x9184, 0x000f, 0x9080, 0x1e7a, 0x2045, 0x2805, 0x2810, 0x2a08, 0xa80a, 0xa90e, 0xaa12, 0x0c30, 0x3e60, 0x6344, 0xd3fc, 0x190c, 0x0d7d, 0xa93c, 0xaa40, 0xa844, 0x9106, 0x1118, 0xa848, - 0x9206, 0x0508, 0x2958, 0xab48, 0xac44, 0x2940, 0x080c, 0x1e82, + 0x9206, 0x0508, 0x2958, 0xab48, 0xac44, 0x2940, 0x080c, 0x1e9a, 0x1998, 0x2850, 0x2c40, 0xab14, 0xa880, 0xd0fc, 0x1140, 0xa810, 0x2005, 0xa80a, 0x2a00, 0xa80e, 0x2009, 0x8015, 0x0070, 0x00c6, 0x3e60, 0x6044, 0xc0a4, 0x9085, 0x8005, 0x6046, 0x00ce, 0x8319, - 0xab16, 0x1904, 0x1d1e, 0x2009, 0x8005, 0x3e60, 0x6044, 0x9105, - 0x6046, 0x0804, 0x1d1b, 0x080c, 0x0d7d, 0x00f6, 0x00e6, 0x0096, + 0xab16, 0x1904, 0x1d36, 0x2009, 0x8005, 0x3e60, 0x6044, 0x9105, + 0x6046, 0x0804, 0x1d33, 0x080c, 0x0d7d, 0x00f6, 0x00e6, 0x0096, 0x00c6, 0x0026, 0x704c, 0x9c06, 0x190c, 0x0d7d, 0x2079, 0x0090, 0x2001, 0x0105, 0x2003, 0x0010, 0x782b, 0x0004, 0x7057, 0x0000, - 0x6014, 0x2048, 0x080c, 0xc832, 0x0118, 0xa880, 0xc0bd, 0xa882, + 0x6014, 0x2048, 0x080c, 0xc865, 0x0118, 0xa880, 0xc0bd, 0xa882, 0x6020, 0x9086, 0x0006, 0x1170, 0x2061, 0x0100, 0x62c8, 0x2001, 0x00fa, 0x8001, 0x1df0, 0x60c8, 0x9206, 0x1dc0, 0x60c4, 0xa89a, - 0x60c8, 0xa896, 0x704c, 0x2060, 0x00c6, 0x080c, 0xc430, 0x080c, - 0xa888, 0x00ce, 0x704c, 0x9c06, 0x1150, 0x2009, 0x0040, 0x080c, - 0x21c1, 0x080c, 0xa331, 0x2011, 0x0000, 0x080c, 0xa1bb, 0x002e, + 0x60c8, 0xa896, 0x704c, 0x2060, 0x00c6, 0x080c, 0xc453, 0x080c, + 0xa899, 0x00ce, 0x704c, 0x9c06, 0x1150, 0x2009, 0x0040, 0x080c, + 0x21d9, 0x080c, 0xa33e, 0x2011, 0x0000, 0x080c, 0xa1c8, 0x002e, 0x00ce, 0x009e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0090, 0x781c, 0x0006, 0x7818, 0x0006, 0x2079, 0x0100, 0x7a14, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x2019, 0x1000, 0x8319, 0x090c, @@ -751,75 +754,75 @@ unsigned short risc_code01[] = { 0x0006, 0x0016, 0x79c4, 0x000e, 0x9103, 0x78c6, 0x000e, 0x78ca, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x2079, 0x0090, 0x782b, 0x0008, 0x7057, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x2071, - 0x19e6, 0x7054, 0x9086, 0x0000, 0x0904, 0x1e33, 0x2079, 0x0090, + 0x19e6, 0x7054, 0x9086, 0x0000, 0x0904, 0x1e4b, 0x2079, 0x0090, 0x2009, 0x0207, 0x210c, 0xd194, 0x01b8, 0x2009, 0x020c, 0x210c, - 0x9184, 0x0003, 0x0188, 0x080c, 0xe733, 0x2001, 0x0133, 0x2004, - 0x9005, 0x090c, 0x0d7d, 0x0016, 0x2009, 0x0040, 0x080c, 0x21c1, + 0x9184, 0x0003, 0x0188, 0x080c, 0xe770, 0x2001, 0x0133, 0x2004, + 0x9005, 0x090c, 0x0d7d, 0x0016, 0x2009, 0x0040, 0x080c, 0x21d9, 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, 0x2104, 0x2009, - 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x21c1, - 0x782c, 0xd0fc, 0x09a8, 0x080c, 0xa8a4, 0x782c, 0xd0fc, 0x1de8, - 0x080c, 0xa888, 0x7054, 0x9086, 0x0000, 0x1950, 0x782b, 0x0004, - 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x21c1, 0x782b, + 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x21d9, + 0x782c, 0xd0fc, 0x09a8, 0x080c, 0xa8b5, 0x782c, 0xd0fc, 0x1de8, + 0x080c, 0xa899, 0x7054, 0x9086, 0x0000, 0x1950, 0x782b, 0x0004, + 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x21d9, 0x782b, 0x0002, 0x7057, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x080c, 0x0d7d, 0x8c60, 0x2c05, 0x9005, 0x0110, 0x8a51, 0x0005, 0xa004, 0x9005, - 0x0168, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x1e62, + 0x0168, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x1e7a, 0x2065, 0x8cff, 0x090c, 0x0d7d, 0x8a51, 0x0005, 0x2050, 0x0005, 0x0000, 0x001d, 0x0021, 0x0025, 0x0029, 0x002d, 0x0031, 0x0035, 0x0000, 0x001b, 0x0021, 0x0027, 0x002d, 0x0033, 0x0000, 0x0000, - 0x0023, 0x0000, 0x0000, 0x1e55, 0x1e51, 0x1e55, 0x1e55, 0x1e5f, - 0x0000, 0x1e55, 0x1e5c, 0x1e5c, 0x1e59, 0x1e5c, 0x1e5c, 0x0000, - 0x1e5f, 0x1e5c, 0x0000, 0x1e57, 0x1e57, 0x0000, 0x1e57, 0x1e5f, - 0x0000, 0x1e57, 0x1e5d, 0x1e5d, 0x1e5d, 0x0000, 0x1e5d, 0x0000, - 0x1e5f, 0x1e5d, 0x00c6, 0x00d6, 0x0086, 0xab42, 0xac3e, 0xa888, - 0x9055, 0x0904, 0x2061, 0x2940, 0xa064, 0x90ec, 0x000f, 0x9084, - 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, 0x1e5d, 0x00d0, 0x9de0, - 0x1e62, 0x9d86, 0x0007, 0x0130, 0x9d86, 0x000e, 0x0118, 0x9d86, + 0x0023, 0x0000, 0x0000, 0x1e6d, 0x1e69, 0x1e6d, 0x1e6d, 0x1e77, + 0x0000, 0x1e6d, 0x1e74, 0x1e74, 0x1e71, 0x1e74, 0x1e74, 0x0000, + 0x1e77, 0x1e74, 0x0000, 0x1e6f, 0x1e6f, 0x0000, 0x1e6f, 0x1e77, + 0x0000, 0x1e6f, 0x1e75, 0x1e75, 0x1e75, 0x0000, 0x1e75, 0x0000, + 0x1e77, 0x1e75, 0x00c6, 0x00d6, 0x0086, 0xab42, 0xac3e, 0xa888, + 0x9055, 0x0904, 0x2079, 0x2940, 0xa064, 0x90ec, 0x000f, 0x9084, + 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, 0x1e75, 0x00d0, 0x9de0, + 0x1e7a, 0x9d86, 0x0007, 0x0130, 0x9d86, 0x000e, 0x0118, 0x9d86, 0x000f, 0x1120, 0xa08c, 0x9422, 0xa090, 0x931b, 0x2c05, 0x9065, - 0x1140, 0x0310, 0x0804, 0x2061, 0xa004, 0x9045, 0x0904, 0x2061, - 0x08d8, 0x2c05, 0x9005, 0x0904, 0x1f49, 0xdd9c, 0x1904, 0x1f05, - 0x908a, 0x0036, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1eda, - 0x1eda, 0x1edc, 0x1eda, 0x1eda, 0x1eda, 0x1ee2, 0x1eda, 0x1eda, - 0x1eda, 0x1ee8, 0x1eda, 0x1eda, 0x1eda, 0x1eee, 0x1eda, 0x1eda, - 0x1eda, 0x1ef4, 0x1eda, 0x1eda, 0x1eda, 0x1efa, 0x1eda, 0x1eda, - 0x1eda, 0x1f00, 0x080c, 0x0d7d, 0xa07c, 0x9422, 0xa080, 0x931b, - 0x0804, 0x1f3f, 0xa08c, 0x9422, 0xa090, 0x931b, 0x0804, 0x1f3f, - 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, 0x1f3f, 0xa0ac, 0x9422, - 0xa0b0, 0x931b, 0x0804, 0x1f3f, 0xa0bc, 0x9422, 0xa0c0, 0x931b, - 0x0804, 0x1f3f, 0xa0cc, 0x9422, 0xa0d0, 0x931b, 0x0804, 0x1f3f, + 0x1140, 0x0310, 0x0804, 0x2079, 0xa004, 0x9045, 0x0904, 0x2079, + 0x08d8, 0x2c05, 0x9005, 0x0904, 0x1f61, 0xdd9c, 0x1904, 0x1f1d, + 0x908a, 0x0036, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1ef2, + 0x1ef2, 0x1ef4, 0x1ef2, 0x1ef2, 0x1ef2, 0x1efa, 0x1ef2, 0x1ef2, + 0x1ef2, 0x1f00, 0x1ef2, 0x1ef2, 0x1ef2, 0x1f06, 0x1ef2, 0x1ef2, + 0x1ef2, 0x1f0c, 0x1ef2, 0x1ef2, 0x1ef2, 0x1f12, 0x1ef2, 0x1ef2, + 0x1ef2, 0x1f18, 0x080c, 0x0d7d, 0xa07c, 0x9422, 0xa080, 0x931b, + 0x0804, 0x1f57, 0xa08c, 0x9422, 0xa090, 0x931b, 0x0804, 0x1f57, + 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, 0x1f57, 0xa0ac, 0x9422, + 0xa0b0, 0x931b, 0x0804, 0x1f57, 0xa0bc, 0x9422, 0xa0c0, 0x931b, + 0x0804, 0x1f57, 0xa0cc, 0x9422, 0xa0d0, 0x931b, 0x0804, 0x1f57, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x04d0, 0x908a, 0x0034, 0x1a0c, - 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1f27, 0x1f25, 0x1f25, 0x1f25, - 0x1f25, 0x1f25, 0x1f2c, 0x1f25, 0x1f25, 0x1f25, 0x1f25, 0x1f25, - 0x1f31, 0x1f25, 0x1f25, 0x1f25, 0x1f25, 0x1f25, 0x1f36, 0x1f25, - 0x1f25, 0x1f25, 0x1f25, 0x1f25, 0x1f3b, 0x080c, 0x0d7d, 0xa07c, + 0x0d7d, 0x9082, 0x001b, 0x0002, 0x1f3f, 0x1f3d, 0x1f3d, 0x1f3d, + 0x1f3d, 0x1f3d, 0x1f44, 0x1f3d, 0x1f3d, 0x1f3d, 0x1f3d, 0x1f3d, + 0x1f49, 0x1f3d, 0x1f3d, 0x1f3d, 0x1f3d, 0x1f3d, 0x1f4e, 0x1f3d, + 0x1f3d, 0x1f3d, 0x1f3d, 0x1f3d, 0x1f53, 0x080c, 0x0d7d, 0xa07c, 0x9422, 0xa080, 0x931b, 0x0098, 0xa094, 0x9422, 0xa098, 0x931b, 0x0070, 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0048, 0xa0c4, 0x9422, 0xa0c8, 0x931b, 0x0020, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x0630, - 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, 0x2061, 0x8c60, 0x0804, - 0x1eb1, 0xa004, 0x9045, 0x0904, 0x2061, 0x0804, 0x1e8c, 0x8a51, - 0x0904, 0x2061, 0x8c60, 0x2c05, 0x9005, 0x1158, 0xa004, 0x9045, - 0x0904, 0x2061, 0xa064, 0x90ec, 0x000f, 0x9de0, 0x1e62, 0x2c05, - 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, 0x2056, 0x2c05, 0x8422, + 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, 0x2079, 0x8c60, 0x0804, + 0x1ec9, 0xa004, 0x9045, 0x0904, 0x2079, 0x0804, 0x1ea4, 0x8a51, + 0x0904, 0x2079, 0x8c60, 0x2c05, 0x9005, 0x1158, 0xa004, 0x9045, + 0x0904, 0x2079, 0xa064, 0x90ec, 0x000f, 0x9de0, 0x1e7a, 0x2c05, + 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, 0x206e, 0x2c05, 0x8422, 0x8420, 0x831a, 0x9399, 0x0000, 0xac2e, 0xab32, 0xdd9c, 0x1904, - 0x1ff3, 0x9082, 0x001b, 0x0002, 0x1f8f, 0x1f8f, 0x1f91, 0x1f8f, - 0x1f8f, 0x1f8f, 0x1f9f, 0x1f8f, 0x1f8f, 0x1f8f, 0x1fad, 0x1f8f, - 0x1f8f, 0x1f8f, 0x1fbb, 0x1f8f, 0x1f8f, 0x1f8f, 0x1fc9, 0x1f8f, - 0x1f8f, 0x1f8f, 0x1fd7, 0x1f8f, 0x1f8f, 0x1f8f, 0x1fe5, 0x080c, + 0x200b, 0x9082, 0x001b, 0x0002, 0x1fa7, 0x1fa7, 0x1fa9, 0x1fa7, + 0x1fa7, 0x1fa7, 0x1fb7, 0x1fa7, 0x1fa7, 0x1fa7, 0x1fc5, 0x1fa7, + 0x1fa7, 0x1fa7, 0x1fd3, 0x1fa7, 0x1fa7, 0x1fa7, 0x1fe1, 0x1fa7, + 0x1fa7, 0x1fa7, 0x1fef, 0x1fa7, 0x1fa7, 0x1fa7, 0x1ffd, 0x080c, 0x0d7d, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, - 0x0d7d, 0xa074, 0x9420, 0xa078, 0x9319, 0x0804, 0x2051, 0xa18c, + 0x0d7d, 0xa074, 0x9420, 0xa078, 0x9319, 0x0804, 0x2069, 0xa18c, 0x2400, 0x9122, 0xa190, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa084, - 0x9420, 0xa088, 0x9319, 0x0804, 0x2051, 0xa19c, 0x2400, 0x9122, + 0x9420, 0xa088, 0x9319, 0x0804, 0x2069, 0xa19c, 0x2400, 0x9122, 0xa1a0, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa094, 0x9420, 0xa098, - 0x9319, 0x0804, 0x2051, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, + 0x9319, 0x0804, 0x2069, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa0a4, 0x9420, 0xa0a8, 0x9319, 0x0804, - 0x2051, 0xa1bc, 0x2400, 0x9122, 0xa1c0, 0x2300, 0x911b, 0x0a0c, - 0x0d7d, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0804, 0x2051, 0xa1cc, + 0x2069, 0xa1bc, 0x2400, 0x9122, 0xa1c0, 0x2300, 0x911b, 0x0a0c, + 0x0d7d, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0804, 0x2069, 0xa1cc, 0x2400, 0x9122, 0xa1d0, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa0c4, - 0x9420, 0xa0c8, 0x9319, 0x0804, 0x2051, 0xa1dc, 0x2400, 0x9122, + 0x9420, 0xa0c8, 0x9319, 0x0804, 0x2069, 0xa1dc, 0x2400, 0x9122, 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa0d4, 0x9420, 0xa0d8, - 0x9319, 0x0804, 0x2051, 0x9082, 0x001b, 0x0002, 0x2011, 0x200f, - 0x200f, 0x200f, 0x200f, 0x200f, 0x201e, 0x200f, 0x200f, 0x200f, - 0x200f, 0x200f, 0x202b, 0x200f, 0x200f, 0x200f, 0x200f, 0x200f, - 0x2038, 0x200f, 0x200f, 0x200f, 0x200f, 0x200f, 0x2045, 0x080c, + 0x9319, 0x0804, 0x2069, 0x9082, 0x001b, 0x0002, 0x2029, 0x2027, + 0x2027, 0x2027, 0x2027, 0x2027, 0x2036, 0x2027, 0x2027, 0x2027, + 0x2027, 0x2027, 0x2043, 0x2027, 0x2027, 0x2027, 0x2027, 0x2027, + 0x2050, 0x2027, 0x2027, 0x2027, 0x2027, 0x2027, 0x205d, 0x080c, 0x0d7d, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa06c, 0x9420, 0xa070, 0x9319, 0x0498, 0xa194, 0x2400, 0x9122, 0xa198, 0x2300, 0x911b, 0x0a0c, 0x0d7d, 0xa084, 0x9420, @@ -836,26 +839,26 @@ unsigned short risc_code01[] = { 0x000f, 0x9405, 0x001e, 0x00ce, 0x0005, 0x7803, 0x0003, 0x780f, 0x0000, 0x6004, 0x7812, 0x2c04, 0x7816, 0x9ce0, 0x0002, 0x918a, 0x0002, 0x1db8, 0x0005, 0x2001, 0x0005, 0x2004, 0xd0bc, 0x190c, - 0x0d76, 0xd094, 0x0110, 0x080c, 0x11e9, 0x0005, 0x0126, 0x2091, + 0x0d76, 0xd094, 0x0110, 0x080c, 0x11f6, 0x0005, 0x0126, 0x2091, 0x2600, 0x2079, 0x0200, 0x2071, 0x0260, 0x2069, 0x1800, 0x7817, 0x0000, 0x789b, 0x0814, 0x78a3, 0x0406, 0x789f, 0x0410, 0x2009, 0x013b, 0x200b, 0x0400, 0x781b, 0x0002, 0x783b, 0x001f, 0x7837, 0x0020, 0x7803, 0x1600, 0x012e, 0x0005, 0x2091, 0x2600, 0x781c, - 0xd0a4, 0x190c, 0x21be, 0x7900, 0xd1dc, 0x1118, 0x9084, 0x0006, - 0x001a, 0x9084, 0x000e, 0x0002, 0x20dc, 0x20d4, 0x7ed0, 0x20d4, - 0x20d6, 0x20d6, 0x20d6, 0x20d6, 0x7eb6, 0x20d4, 0x20d8, 0x20d4, - 0x20d6, 0x20d4, 0x20d6, 0x20d4, 0x080c, 0x0d7d, 0x0031, 0x0020, - 0x080c, 0x7eb6, 0x080c, 0x7ed0, 0x0005, 0x0006, 0x0016, 0x0026, - 0x080c, 0xe733, 0x7930, 0x9184, 0x0003, 0x0510, 0x080c, 0xa888, + 0xd0a4, 0x190c, 0x21d6, 0x7900, 0xd1dc, 0x1118, 0x9084, 0x0006, + 0x001a, 0x9084, 0x000e, 0x0002, 0x20f4, 0x20ec, 0x7ef4, 0x20ec, + 0x20ee, 0x20ee, 0x20ee, 0x20ee, 0x7eda, 0x20ec, 0x20f0, 0x20ec, + 0x20ee, 0x20ec, 0x20ee, 0x20ec, 0x080c, 0x0d7d, 0x0031, 0x0020, + 0x080c, 0x7eda, 0x080c, 0x7ef4, 0x0005, 0x0006, 0x0016, 0x0026, + 0x080c, 0xe770, 0x7930, 0x9184, 0x0003, 0x0510, 0x080c, 0xa899, 0x2001, 0x19f9, 0x2004, 0x9005, 0x01a0, 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0d7d, 0x00c6, 0x2001, 0x19f9, 0x2064, 0x080c, - 0xa8a4, 0x080c, 0xc430, 0x2009, 0x0040, 0x080c, 0x21c1, 0x00ce, - 0x0408, 0x2009, 0x0040, 0x080c, 0x21c1, 0x080c, 0xa8a4, 0x00d0, + 0xa8b5, 0x080c, 0xc453, 0x2009, 0x0040, 0x080c, 0x21d9, 0x00ce, + 0x0408, 0x2009, 0x0040, 0x080c, 0x21d9, 0x080c, 0xa8b5, 0x00d0, 0x9184, 0x0014, 0x01a0, 0x6a00, 0x9286, 0x0003, 0x0160, 0x080c, - 0x74c8, 0x1138, 0x080c, 0x77cc, 0x080c, 0x6024, 0x080c, 0x73f9, - 0x0010, 0x080c, 0x5edf, 0x080c, 0x7f6e, 0x0041, 0x0018, 0x9184, + 0x74ec, 0x1138, 0x080c, 0x77ef, 0x080c, 0x6044, 0x080c, 0x741d, + 0x0010, 0x080c, 0x5eff, 0x080c, 0x7f92, 0x0041, 0x0018, 0x9184, 0x9540, 0x1dc8, 0x002e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x0036, - 0x0046, 0x0056, 0x2071, 0x1a6a, 0x080c, 0x1ac2, 0x005e, 0x004e, + 0x0046, 0x0056, 0x2071, 0x1a6a, 0x080c, 0x1adf, 0x005e, 0x004e, 0x003e, 0x00ee, 0x0005, 0x0126, 0x2091, 0x2e00, 0x2071, 0x1800, 0x7128, 0x2001, 0x196e, 0x2102, 0x2001, 0x1976, 0x2102, 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, 0x2001, 0x0201, 0x789e, 0x78a3, @@ -877,18 +880,18 @@ unsigned short risc_code01[] = { 0x0d76, 0x00f6, 0x2079, 0x0200, 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x00fe, 0x0005, 0x0126, 0x2091, 0x2800, 0x2061, - 0x0100, 0x2071, 0x1800, 0x2009, 0x0000, 0x080c, 0x2a15, 0x080c, - 0x292f, 0x2001, 0x199c, 0x2003, 0x0000, 0x2001, 0x199d, 0x2003, - 0x0000, 0x080c, 0x2a86, 0x9006, 0x080c, 0x295e, 0x9006, 0x080c, - 0x2941, 0x20a9, 0x0012, 0x1d04, 0x21f3, 0x2091, 0x6000, 0x1f04, - 0x21f3, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, 0x0400, - 0x9084, 0xdfff, 0x6052, 0x6224, 0x080c, 0x2a63, 0x080c, 0x264d, - 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x265d, 0x60e7, 0x0000, + 0x0100, 0x2071, 0x1800, 0x2009, 0x0000, 0x080c, 0x2a35, 0x080c, + 0x294b, 0x2001, 0x199c, 0x2003, 0x0700, 0x2001, 0x199d, 0x2003, + 0x0700, 0x080c, 0x2aa6, 0x9006, 0x080c, 0x297a, 0x9006, 0x080c, + 0x295d, 0x20a9, 0x0012, 0x1d04, 0x220b, 0x2091, 0x6000, 0x1f04, + 0x220b, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, 0x0400, + 0x9084, 0xdfff, 0x6052, 0x6224, 0x080c, 0x2a83, 0x080c, 0x2669, + 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x2679, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0008, 0x604b, 0xf7f7, 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, 0x6007, 0x349f, 0x00c6, 0x2061, 0x0140, 0x608b, 0x000b, 0x608f, 0x10b8, 0x6093, 0x0000, 0x6097, 0x0198, 0x00ce, 0x6004, 0x9085, 0x8000, 0x6006, 0x60bb, 0x0000, 0x20a9, - 0x0018, 0x60bf, 0x0000, 0x1f04, 0x2231, 0x60bb, 0x0000, 0x60bf, + 0x0018, 0x60bf, 0x0000, 0x1f04, 0x2249, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x60bf, 0x0405, 0x60bf, 0x0014, 0x60bf, 0x0320, 0x60bf, 0x0018, 0x601b, 0x00f0, 0x601f, 0x001e, 0x600f, 0x006b, 0x602b, 0x402c, 0x012e, 0x0005, 0x00f6, 0x2079, 0x0140, @@ -900,542 +903,543 @@ unsigned short risc_code01[] = { 0x1198, 0x9184, 0x5e2c, 0x1118, 0x9184, 0x0007, 0x00aa, 0x9195, 0x0004, 0x9284, 0x0007, 0x0082, 0x0016, 0x2001, 0x0387, 0x200c, 0xd1a4, 0x001e, 0x0d70, 0x0c98, 0x0016, 0x2001, 0x0387, 0x200c, - 0xd1b4, 0x001e, 0x0d30, 0x0c58, 0x229f, 0x229c, 0x229c, 0x229c, - 0x229e, 0x229c, 0x229c, 0x229c, 0x080c, 0x0d7d, 0x0029, 0x002e, + 0xd1b4, 0x001e, 0x0d30, 0x0c58, 0x22b7, 0x22b4, 0x22b4, 0x22b4, + 0x22b6, 0x22b4, 0x22b4, 0x22b4, 0x080c, 0x0d7d, 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x00a6, 0x6124, 0x6028, 0xd09c, - 0x0118, 0xd19c, 0x1904, 0x2519, 0xd1f4, 0x190c, 0x0d76, 0x080c, - 0x74c8, 0x0904, 0x22fc, 0x080c, 0xcf51, 0x1120, 0x7000, 0x9086, - 0x0003, 0x0580, 0x6024, 0x9084, 0x1800, 0x0560, 0x080c, 0x74eb, - 0x0118, 0x080c, 0x74d9, 0x1530, 0x2011, 0x0020, 0x080c, 0x2a63, - 0x6043, 0x0000, 0x080c, 0xcf51, 0x0168, 0x080c, 0x74eb, 0x1150, - 0x2001, 0x19a6, 0x2003, 0x0001, 0x6027, 0x1800, 0x080c, 0x733e, - 0x0804, 0x251c, 0x70a4, 0x9005, 0x1150, 0x70a7, 0x0001, 0x00d6, - 0x2069, 0x0140, 0x080c, 0x751f, 0x00de, 0x1904, 0x251c, 0x080c, - 0x77d6, 0x0428, 0x080c, 0x74eb, 0x1590, 0x6024, 0x9084, 0x1800, - 0x1108, 0x0468, 0x080c, 0x77d6, 0x080c, 0x77cc, 0x080c, 0x6024, - 0x080c, 0x73f9, 0x0804, 0x2519, 0xd1ac, 0x1508, 0x6024, 0xd0dc, + 0x0118, 0xd19c, 0x1904, 0x2531, 0xd1f4, 0x190c, 0x0d76, 0x080c, + 0x74ec, 0x0904, 0x2314, 0x080c, 0xcf84, 0x1120, 0x7000, 0x9086, + 0x0003, 0x0580, 0x6024, 0x9084, 0x1800, 0x0560, 0x080c, 0x750f, + 0x0118, 0x080c, 0x74fd, 0x1530, 0x2011, 0x0020, 0x080c, 0x2a83, + 0x6043, 0x0000, 0x080c, 0xcf84, 0x0168, 0x080c, 0x750f, 0x1150, + 0x2001, 0x19a6, 0x2003, 0x0001, 0x6027, 0x1800, 0x080c, 0x7362, + 0x0804, 0x2534, 0x70a4, 0x9005, 0x1150, 0x70a7, 0x0001, 0x00d6, + 0x2069, 0x0140, 0x080c, 0x7543, 0x00de, 0x1904, 0x2534, 0x080c, + 0x77f9, 0x0428, 0x080c, 0x750f, 0x1590, 0x6024, 0x9084, 0x1800, + 0x1108, 0x0468, 0x080c, 0x77f9, 0x080c, 0x77ef, 0x080c, 0x6044, + 0x080c, 0x741d, 0x0804, 0x2531, 0xd1ac, 0x1508, 0x6024, 0xd0dc, 0x1170, 0xd0e4, 0x1178, 0xd0d4, 0x1190, 0xd0cc, 0x0130, 0x7098, - 0x9086, 0x0028, 0x1110, 0x080c, 0x76ad, 0x0804, 0x2519, 0x080c, - 0x77d1, 0x0048, 0x2001, 0x197c, 0x2003, 0x0002, 0x0020, 0x080c, - 0x760a, 0x0804, 0x2519, 0x080c, 0x7750, 0x0804, 0x2519, 0x6220, - 0xd1bc, 0x0138, 0xd2bc, 0x1904, 0x257e, 0xd2b4, 0x1904, 0x2590, - 0x0000, 0xd1ac, 0x0904, 0x2426, 0x0036, 0x6328, 0xc3bc, 0x632a, - 0x003e, 0x080c, 0x74c8, 0x11d0, 0x2011, 0x0020, 0x080c, 0x2a63, - 0x0006, 0x0026, 0x0036, 0x080c, 0x74e2, 0x1158, 0x080c, 0x77cc, - 0x080c, 0x6024, 0x080c, 0x73f9, 0x003e, 0x002e, 0x000e, 0x00ae, - 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x749c, 0x0016, 0x0046, + 0x9086, 0x0028, 0x1110, 0x080c, 0x76d0, 0x0804, 0x2531, 0x080c, + 0x77f4, 0x0048, 0x2001, 0x197c, 0x2003, 0x0002, 0x0020, 0x080c, + 0x762d, 0x0804, 0x2531, 0x080c, 0x7773, 0x0804, 0x2531, 0x6220, + 0xd1bc, 0x0138, 0xd2bc, 0x1904, 0x259a, 0xd2b4, 0x1904, 0x25ac, + 0x0000, 0xd1ac, 0x0904, 0x243e, 0x0036, 0x6328, 0xc3bc, 0x632a, + 0x003e, 0x080c, 0x74ec, 0x11d0, 0x2011, 0x0020, 0x080c, 0x2a83, + 0x0006, 0x0026, 0x0036, 0x080c, 0x7506, 0x1158, 0x080c, 0x77ef, + 0x080c, 0x6044, 0x080c, 0x741d, 0x003e, 0x002e, 0x000e, 0x00ae, + 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x74c0, 0x0016, 0x0046, 0x00c6, 0x644c, 0x9486, 0xf0f0, 0x1138, 0x2061, 0x0100, 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, 0x74da, 0x948c, 0xff00, 0x7038, 0xd084, 0x0178, 0x9186, 0xf800, 0x1160, 0x7048, 0xd084, 0x1148, - 0xc085, 0x704a, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x4b09, - 0x003e, 0x080c, 0xcf4a, 0x1904, 0x23fd, 0x9196, 0xff00, 0x05a8, + 0xc085, 0x704a, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x4b29, + 0x003e, 0x080c, 0xcf7d, 0x1904, 0x2415, 0x9196, 0xff00, 0x05a8, 0x7060, 0x9084, 0x00ff, 0x810f, 0x81ff, 0x0110, 0x9116, 0x0568, - 0x7130, 0xd184, 0x1550, 0x080c, 0x335c, 0x0128, 0xc18d, 0x7132, - 0x080c, 0x6a62, 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, + 0x7130, 0xd184, 0x1550, 0x080c, 0x337c, 0x0128, 0xc18d, 0x7132, + 0x080c, 0x6a86, 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, 0x9294, 0xff00, 0x9296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, - 0x23fd, 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, - 0x1904, 0x23fd, 0xc1ad, 0x2102, 0x0036, 0x73d8, 0x2011, 0x8013, - 0x080c, 0x4b09, 0x003e, 0x0804, 0x23fd, 0x7038, 0xd08c, 0x1140, - 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, 0x23fd, 0xc1ad, 0x2102, - 0x0036, 0x73d8, 0x2011, 0x8013, 0x080c, 0x4b09, 0x003e, 0x7130, + 0x2415, 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, + 0x1904, 0x2415, 0xc1ad, 0x2102, 0x0036, 0x73d8, 0x2011, 0x8013, + 0x080c, 0x4b29, 0x003e, 0x0804, 0x2415, 0x7038, 0xd08c, 0x1140, + 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, 0x2415, 0xc1ad, 0x2102, + 0x0036, 0x73d8, 0x2011, 0x8013, 0x080c, 0x4b29, 0x003e, 0x7130, 0xc185, 0x7132, 0x2011, 0x1848, 0x220c, 0xd1a4, 0x01f0, 0x0016, - 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x88ce, 0x2019, 0x000e, - 0x00c6, 0x2061, 0x0000, 0x080c, 0xe249, 0x00ce, 0x9484, 0x00ff, - 0x9080, 0x3368, 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, 0x9006, - 0x2009, 0x000e, 0x080c, 0xe2d9, 0x001e, 0x0016, 0x2009, 0x0002, - 0x2019, 0x0004, 0x080c, 0x31b4, 0x001e, 0x0078, 0x0156, 0x00b6, - 0x20a9, 0x007f, 0x900e, 0x080c, 0x6620, 0x1110, 0x080c, 0x603e, - 0x8108, 0x1f04, 0x23f3, 0x00be, 0x015e, 0x00ce, 0x004e, 0x080c, - 0xa888, 0x080c, 0xab50, 0x080c, 0xa8a4, 0x60e3, 0x0000, 0x001e, + 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x8902, 0x2019, 0x000e, + 0x00c6, 0x2061, 0x0000, 0x080c, 0xe286, 0x00ce, 0x9484, 0x00ff, + 0x9080, 0x3388, 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, 0x9006, + 0x2009, 0x000e, 0x080c, 0xe316, 0x001e, 0x0016, 0x2009, 0x0002, + 0x2019, 0x0004, 0x080c, 0x31d4, 0x001e, 0x0078, 0x0156, 0x00b6, + 0x20a9, 0x007f, 0x900e, 0x080c, 0x6644, 0x1110, 0x080c, 0x605e, + 0x8108, 0x1f04, 0x240b, 0x00be, 0x015e, 0x00ce, 0x004e, 0x080c, + 0xa899, 0x080c, 0xab61, 0x080c, 0xa8b5, 0x60e3, 0x0000, 0x001e, 0x2001, 0x1800, 0x2014, 0x9296, 0x0004, 0x1170, 0xd19c, 0x11b0, 0x2011, 0x180c, 0x2214, 0xd29c, 0x1120, 0x6204, 0x9295, 0x0002, 0x6206, 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, 0x2001, 0x1826, - 0x2003, 0x0000, 0x2011, 0x0020, 0x080c, 0x2a63, 0xd194, 0x0904, - 0x2519, 0x0016, 0x080c, 0xa888, 0x6220, 0xd2b4, 0x0904, 0x24b4, - 0x080c, 0x86d5, 0x080c, 0x9e16, 0x2011, 0x0004, 0x080c, 0x2a63, - 0x00f6, 0x2019, 0x19f2, 0x2304, 0x907d, 0x0904, 0x2481, 0x7804, + 0x2003, 0x0000, 0x2011, 0x0020, 0x080c, 0x2a83, 0xd194, 0x0904, + 0x2531, 0x0016, 0x080c, 0xa899, 0x6220, 0xd2b4, 0x0904, 0x24cc, + 0x080c, 0x8709, 0x080c, 0x9e4f, 0x2011, 0x0004, 0x080c, 0x2a83, + 0x00f6, 0x2019, 0x19f2, 0x2304, 0x907d, 0x0904, 0x2499, 0x7804, 0x9086, 0x0032, 0x15f0, 0x00d6, 0x00c6, 0x00e6, 0x0096, 0x2069, 0x0140, 0x782c, 0x685e, 0x7808, 0x685a, 0x6043, 0x0002, 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x2001, 0x003c, 0x8001, - 0x1df0, 0x080c, 0x2a39, 0x2001, 0x001e, 0x8001, 0x0240, 0x20a9, - 0x0009, 0x080c, 0x29f0, 0x6904, 0xd1dc, 0x1140, 0x0cb0, 0x2001, - 0x0100, 0x080c, 0x2a29, 0x9006, 0x080c, 0x2a29, 0x080c, 0x95c6, - 0x080c, 0xa8a4, 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, 0x080c, - 0xabdf, 0x009e, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x00ae, + 0x1df0, 0x080c, 0x2a59, 0x2001, 0x001e, 0x8001, 0x0240, 0x20a9, + 0x0009, 0x080c, 0x2a10, 0x6904, 0xd1dc, 0x1140, 0x0cb0, 0x2001, + 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, 0x2a49, 0x080c, 0x95ff, + 0x080c, 0xa8b5, 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, 0x080c, + 0xabf0, 0x009e, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x00ae, 0x0005, 0x00fe, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, 0x4000, - 0x0110, 0x080c, 0x2a39, 0x00de, 0x00c6, 0x2061, 0x19e6, 0x6034, - 0x080c, 0xcf51, 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, 0x909a, - 0x00c8, 0x1238, 0x8000, 0x6036, 0x00ce, 0x080c, 0x9dee, 0x0804, - 0x2516, 0x2061, 0x0100, 0x62c0, 0x080c, 0xa7b9, 0x2019, 0x19f2, + 0x0110, 0x080c, 0x2a59, 0x00de, 0x00c6, 0x2061, 0x19e6, 0x6034, + 0x080c, 0xcf84, 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, 0x909a, + 0x00c8, 0x1238, 0x8000, 0x6036, 0x00ce, 0x080c, 0x9e27, 0x0804, + 0x252e, 0x2061, 0x0100, 0x62c0, 0x080c, 0xa7ca, 0x2019, 0x19f2, 0x2304, 0x9065, 0x0130, 0x6003, 0x0001, 0x2009, 0x0027, 0x080c, - 0xac7c, 0x00ce, 0x0804, 0x2516, 0xd2bc, 0x0904, 0x24f9, 0x080c, - 0x86e2, 0x2011, 0x0004, 0x080c, 0x2a63, 0x00d6, 0x2069, 0x0140, - 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, 0x2a39, 0x00de, 0x00c6, - 0x2061, 0x19e6, 0x6050, 0x080c, 0xcf51, 0x0120, 0x909a, 0x0003, + 0xac8d, 0x00ce, 0x0804, 0x252e, 0xd2bc, 0x0904, 0x2511, 0x080c, + 0x8716, 0x2011, 0x0004, 0x080c, 0x2a83, 0x00d6, 0x2069, 0x0140, + 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, 0x2a59, 0x00de, 0x00c6, + 0x2061, 0x19e6, 0x6050, 0x080c, 0xcf84, 0x0120, 0x909a, 0x0003, 0x1668, 0x0018, 0x909a, 0x00c8, 0x1648, 0x8000, 0x6052, 0x604c, - 0x00ce, 0x9005, 0x05d8, 0x2009, 0x07d0, 0x080c, 0x86da, 0x9080, + 0x00ce, 0x9005, 0x05d8, 0x2009, 0x07d0, 0x080c, 0x870e, 0x9080, 0x0008, 0x2004, 0x9086, 0x0006, 0x1138, 0x2009, 0x1984, 0x2011, - 0x0012, 0x080c, 0x2a72, 0x0450, 0x9080, 0x0008, 0x2004, 0x9086, - 0x0009, 0x0d98, 0x2009, 0x1984, 0x2011, 0x0016, 0x080c, 0x2a72, - 0x00e8, 0x2011, 0x0004, 0x080c, 0x2a63, 0x00c0, 0x0036, 0x2019, - 0x0001, 0x080c, 0xa0fa, 0x003e, 0x2019, 0x19f9, 0x2304, 0x9065, + 0x0012, 0x080c, 0x2a92, 0x0450, 0x9080, 0x0008, 0x2004, 0x9086, + 0x0009, 0x0d98, 0x2009, 0x1984, 0x2011, 0x0016, 0x080c, 0x2a92, + 0x00e8, 0x2011, 0x0004, 0x080c, 0x2a83, 0x00c0, 0x0036, 0x2019, + 0x0001, 0x080c, 0xa133, 0x003e, 0x2019, 0x19f9, 0x2304, 0x9065, 0x0160, 0x2009, 0x004f, 0x6020, 0x9086, 0x0009, 0x1110, 0x2009, - 0x004f, 0x6003, 0x0003, 0x080c, 0xac7c, 0x00ce, 0x080c, 0xa8a4, - 0x001e, 0xd19c, 0x0904, 0x2577, 0x7038, 0xd0ac, 0x1538, 0x0016, - 0x0156, 0x2011, 0x0008, 0x080c, 0x2a63, 0x6050, 0xc0e5, 0x6052, - 0x20a9, 0x0367, 0x1f04, 0x2544, 0x1d04, 0x252c, 0x080c, 0x8709, - 0x6020, 0xd09c, 0x1db8, 0x00f6, 0x2079, 0x0100, 0x080c, 0x29a0, - 0x00fe, 0x1d80, 0x6050, 0xc0e4, 0x6052, 0x2011, 0x0008, 0x080c, - 0x2a63, 0x015e, 0x001e, 0x0498, 0x015e, 0x001e, 0x0016, 0x6028, - 0xc09c, 0x602a, 0x080c, 0xa888, 0x080c, 0xab50, 0x080c, 0xa8a4, - 0x60e3, 0x0000, 0x080c, 0xe712, 0x080c, 0xe72d, 0x080c, 0x56d9, - 0xd0fc, 0x1138, 0x080c, 0xcf4a, 0x1120, 0x9085, 0x0001, 0x080c, - 0x750f, 0x9006, 0x080c, 0x2a29, 0x2009, 0x0002, 0x080c, 0x2a15, - 0x00e6, 0x2071, 0x1800, 0x7003, 0x0004, 0x080c, 0x0eb4, 0x00ee, - 0x2011, 0x0008, 0x080c, 0x2a63, 0x080c, 0x0bc3, 0x001e, 0x918c, - 0xffd0, 0x2110, 0x080c, 0x2a63, 0x00ae, 0x0005, 0x0016, 0x2001, - 0x0387, 0x200c, 0xd1a4, 0x001e, 0x0904, 0x2329, 0x0016, 0x2009, - 0x258a, 0x00c0, 0x2001, 0x0387, 0x2003, 0x1000, 0x001e, 0x0c38, - 0x0016, 0x2001, 0x0387, 0x200c, 0xd1b4, 0x001e, 0x0904, 0x2329, - 0x0016, 0x2009, 0x259c, 0x0030, 0x2001, 0x0387, 0x2003, 0x4000, - 0x001e, 0x08a8, 0x6028, 0xc0bc, 0x602a, 0x2001, 0x0156, 0x2003, - 0xbc91, 0x8000, 0x2003, 0xffff, 0x6043, 0x0001, 0x080c, 0x2a0f, - 0x2011, 0x0080, 0x080c, 0x2a63, 0x6017, 0x0000, 0x6043, 0x0000, - 0x0817, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, - 0x2091, 0x8000, 0x2071, 0x1800, 0x71d0, 0x70d2, 0x9116, 0x0904, - 0x260c, 0x81ff, 0x01a0, 0x2009, 0x0000, 0x080c, 0x2a15, 0x2011, - 0x8011, 0x2019, 0x010e, 0x231c, 0x939e, 0x0007, 0x1118, 0x2019, - 0x0001, 0x0010, 0x2019, 0x0000, 0x080c, 0x4b09, 0x0468, 0x2001, - 0x19a7, 0x200c, 0x81ff, 0x1140, 0x2001, 0x0109, 0x2004, 0xd0b4, - 0x0118, 0x2019, 0x0003, 0x0008, 0x2118, 0x2011, 0x8012, 0x080c, - 0x4b09, 0x080c, 0x0eb4, 0x080c, 0x56d9, 0xd0fc, 0x11a8, 0x080c, - 0xcf4a, 0x1190, 0x00c6, 0x080c, 0x26a8, 0x080c, 0xa888, 0x080c, - 0xa055, 0x080c, 0xa8a4, 0x2061, 0x0100, 0x2019, 0x0028, 0x2009, - 0x0002, 0x080c, 0x31b4, 0x00ce, 0x012e, 0x00fe, 0x00ee, 0x003e, - 0x002e, 0x001e, 0x000e, 0x0005, 0x2028, 0x918c, 0x00ff, 0x2130, - 0x9094, 0xff00, 0x11f0, 0x2011, 0x1837, 0x2214, 0xd2ac, 0x11c8, - 0x81ff, 0x01e8, 0x2011, 0x181f, 0x2204, 0x9106, 0x1190, 0x2011, - 0x1820, 0x2214, 0x9294, 0xff00, 0x9584, 0xff00, 0x9206, 0x1148, - 0x2011, 0x1820, 0x2214, 0x9294, 0x00ff, 0x9584, 0x00ff, 0x9206, - 0x1120, 0x2500, 0x080c, 0x81de, 0x0048, 0x9584, 0x00ff, 0x9080, - 0x3368, 0x200d, 0x918c, 0xff00, 0x810f, 0x9006, 0x0005, 0x9080, - 0x3368, 0x200d, 0x918c, 0x00ff, 0x0005, 0x00d6, 0x2069, 0x0140, - 0x2001, 0x1818, 0x2003, 0x00ef, 0x20a9, 0x0010, 0x9006, 0x6852, - 0x6856, 0x1f04, 0x2658, 0x00de, 0x0005, 0x0006, 0x00d6, 0x0026, - 0x2069, 0x0140, 0x2001, 0x1818, 0x2102, 0x8114, 0x8214, 0x8214, - 0x8214, 0x20a9, 0x0010, 0x6853, 0x0000, 0x9006, 0x82ff, 0x1128, - 0x9184, 0x000f, 0x9080, 0xe741, 0x2005, 0x6856, 0x8211, 0x1f04, - 0x266d, 0x002e, 0x00de, 0x000e, 0x0005, 0x00c6, 0x2061, 0x1800, - 0x6030, 0x0110, 0xc09d, 0x0008, 0xc09c, 0x6032, 0x00ce, 0x0005, - 0x0156, 0x00d6, 0x0026, 0x0016, 0x0006, 0x2069, 0x0140, 0x6980, - 0x9116, 0x0180, 0x9112, 0x1230, 0x8212, 0x8210, 0x22a8, 0x2001, - 0x0402, 0x0018, 0x22a8, 0x2001, 0x0404, 0x680e, 0x1f04, 0x269d, - 0x680f, 0x0000, 0x000e, 0x001e, 0x002e, 0x00de, 0x015e, 0x0005, - 0x080c, 0x56d5, 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0x9006, 0x0046, - 0x2020, 0x2009, 0x002e, 0x080c, 0xe2d9, 0x004e, 0x0005, 0x00f6, - 0x0016, 0x0026, 0x2079, 0x0140, 0x78c4, 0xd0dc, 0x0904, 0x2714, - 0x080c, 0x2990, 0x0660, 0x9084, 0x0700, 0x908e, 0x0600, 0x1120, - 0x2011, 0x4000, 0x900e, 0x0458, 0x908e, 0x0500, 0x1120, 0x2011, - 0x8000, 0x900e, 0x0420, 0x908e, 0x0400, 0x1120, 0x9016, 0x2009, - 0x0001, 0x00e8, 0x908e, 0x0300, 0x1120, 0x9016, 0x2009, 0x0002, - 0x00b0, 0x908e, 0x0200, 0x1120, 0x9016, 0x2009, 0x0004, 0x0078, - 0x908e, 0x0100, 0x1548, 0x9016, 0x2009, 0x0008, 0x0040, 0x9084, - 0x0700, 0x908e, 0x0300, 0x1500, 0x2011, 0x0030, 0x0058, 0x2300, - 0x9080, 0x0020, 0x2018, 0x080c, 0x9148, 0x928c, 0xff00, 0x0110, - 0x2011, 0x00ff, 0x2200, 0x8007, 0x9085, 0x004c, 0x78c2, 0x2009, - 0x0138, 0x220a, 0x080c, 0x74c8, 0x1118, 0x2009, 0x196c, 0x220a, - 0x002e, 0x001e, 0x00fe, 0x0005, 0x78c3, 0x0000, 0x0cc8, 0x0126, - 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x2001, 0x0170, 0x200c, - 0x8000, 0x2014, 0x9184, 0x0003, 0x0110, 0x080c, 0x0d76, 0x002e, - 0x001e, 0x000e, 0x012e, 0x0005, 0x2001, 0x0171, 0x2004, 0xd0dc, - 0x0168, 0x2001, 0x0170, 0x200c, 0x918c, 0x00ff, 0x918e, 0x004c, - 0x1128, 0x200c, 0x918c, 0xff00, 0x810f, 0x0005, 0x900e, 0x2001, - 0x0227, 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, 0x2001, - 0x0226, 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, 0x0005, - 0x0018, 0x000c, 0x0018, 0x0020, 0x1000, 0x0800, 0x1000, 0x1800, - 0x0156, 0x0006, 0x0016, 0x0026, 0x00e6, 0x2001, 0x198f, 0x2004, - 0x908a, 0x0007, 0x1a0c, 0x0d7d, 0x0033, 0x00ee, 0x002e, 0x001e, - 0x000e, 0x015e, 0x0005, 0x2772, 0x2790, 0x27b4, 0x27b6, 0x27df, - 0x27e1, 0x27e3, 0x2001, 0x0001, 0x080c, 0x25b9, 0x080c, 0x29da, - 0x2001, 0x1991, 0x2003, 0x0000, 0x7828, 0x9084, 0xe1d7, 0x782a, - 0x9006, 0x20a9, 0x0009, 0x080c, 0x29ac, 0x2001, 0x198f, 0x2003, - 0x0006, 0x2009, 0x001e, 0x2011, 0x27e4, 0x080c, 0x86e7, 0x0005, - 0x2009, 0x1994, 0x200b, 0x0000, 0x2001, 0x1999, 0x2003, 0x0036, - 0x2001, 0x1998, 0x2003, 0x002a, 0x2001, 0x1991, 0x2003, 0x0001, - 0x9006, 0x080c, 0x2941, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, - 0x29ac, 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, - 0x27e4, 0x080c, 0x86e7, 0x0005, 0x080c, 0x0d7d, 0x2001, 0x1999, - 0x2003, 0x0036, 0x2001, 0x1991, 0x2003, 0x0003, 0x7a38, 0x9294, - 0x0005, 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, - 0x080c, 0x2941, 0x2001, 0x1995, 0x2003, 0x0000, 0x2001, 0xffff, - 0x20a9, 0x0009, 0x080c, 0x29ac, 0x2001, 0x198f, 0x2003, 0x0006, - 0x2009, 0x001e, 0x2011, 0x27e4, 0x080c, 0x86e7, 0x0005, 0x080c, - 0x0d7d, 0x080c, 0x0d7d, 0x0005, 0x0006, 0x0016, 0x0026, 0x00e6, - 0x00f6, 0x0156, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x2001, - 0x1991, 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0d7d, 0x0043, 0x012e, - 0x015e, 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, 0x2806, - 0x2826, 0x2866, 0x2896, 0x28ba, 0x28ca, 0x28cc, 0x080c, 0x29a0, - 0x11b0, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x1997, 0x2104, - 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0xc08d, 0x0008, - 0xc085, 0x200a, 0x2001, 0x198f, 0x2003, 0x0001, 0x0030, 0x080c, - 0x28f0, 0x2001, 0xffff, 0x080c, 0x2781, 0x0005, 0x080c, 0x28ce, - 0x05e0, 0x2009, 0x1998, 0x2104, 0x8001, 0x200a, 0x080c, 0x29a0, - 0x1178, 0x7850, 0x9084, 0xefff, 0x7852, 0x7a38, 0x9294, 0x0005, - 0x9296, 0x0005, 0x0518, 0x2009, 0x1997, 0x2104, 0xc085, 0x200a, - 0x2009, 0x1994, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, 0x0118, - 0x080c, 0x28d6, 0x00c0, 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, - 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, - 0x295e, 0x2001, 0x1991, 0x2003, 0x0002, 0x0028, 0x2001, 0x198f, - 0x2003, 0x0003, 0x0010, 0x080c, 0x27a3, 0x0005, 0x080c, 0x28ce, - 0x0560, 0x2009, 0x1998, 0x2104, 0x8001, 0x200a, 0x080c, 0x29a0, - 0x1168, 0x7850, 0x9084, 0xefff, 0x7852, 0x2001, 0x198f, 0x2003, - 0x0003, 0x2001, 0x1990, 0x2003, 0x0000, 0x00b8, 0x2009, 0x1998, - 0x2104, 0x9005, 0x1118, 0x080c, 0x2913, 0x0010, 0x080c, 0x28e3, - 0x080c, 0x28d6, 0x2009, 0x1994, 0x200b, 0x0000, 0x2001, 0x1991, - 0x2003, 0x0001, 0x080c, 0x27a3, 0x0000, 0x0005, 0x04b9, 0x0508, - 0x080c, 0x29a0, 0x11b8, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, - 0x1995, 0x2104, 0x8000, 0x200a, 0x9086, 0x0007, 0x0108, 0x0078, - 0x2001, 0x199a, 0x2003, 0x000a, 0x2009, 0x1997, 0x2104, 0xc0fd, - 0x200a, 0x0038, 0x0419, 0x2001, 0x1991, 0x2003, 0x0004, 0x080c, - 0x27ce, 0x0005, 0x0099, 0x0168, 0x080c, 0x29a0, 0x1138, 0x7850, - 0x9084, 0xefff, 0x7852, 0x080c, 0x27ba, 0x0018, 0x0079, 0x080c, - 0x27ce, 0x0005, 0x080c, 0x0d7d, 0x080c, 0x0d7d, 0x2009, 0x1999, - 0x2104, 0x8001, 0x200a, 0x090c, 0x292f, 0x0005, 0x7a38, 0x9294, - 0x0005, 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, - 0x080c, 0x295e, 0x0005, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, - 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2941, 0x0005, - 0x2009, 0x1994, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, 0x0108, - 0x0068, 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, - 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x04d9, 0x7a38, 0x9294, - 0x0005, 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, - 0x080c, 0x295e, 0x0005, 0x0086, 0x2001, 0x1997, 0x2004, 0x9084, - 0x7fff, 0x090c, 0x0d7d, 0x2009, 0x1996, 0x2144, 0x8846, 0x280a, - 0x9844, 0x0dd8, 0xd08c, 0x1120, 0xd084, 0x1120, 0x080c, 0x0d7d, - 0x9006, 0x0010, 0x2001, 0x0001, 0x00a1, 0x008e, 0x0005, 0x0006, - 0x0156, 0x2001, 0x198f, 0x20a9, 0x0009, 0x2003, 0x0000, 0x8000, - 0x1f04, 0x2935, 0x2001, 0x1996, 0x2003, 0x8000, 0x015e, 0x000e, - 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, - 0x9084, 0xfff9, 0x9085, 0x0004, 0x783a, 0x2009, 0x199c, 0x210c, - 0x795a, 0x0050, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0006, 0x783a, - 0x2009, 0x199d, 0x210c, 0x795a, 0x00fe, 0x0005, 0x00f6, 0x2079, - 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfffa, 0x9085, - 0x0004, 0x783a, 0x7850, 0x9084, 0xfff0, 0x7852, 0x00f8, 0x7838, - 0x9084, 0xfffb, 0x9085, 0x0005, 0x783a, 0x7850, 0x9084, 0xfff0, - 0x0016, 0x2009, 0x017f, 0x210c, 0x918e, 0x0005, 0x0140, 0x2009, - 0x0003, 0x210c, 0x918c, 0x0600, 0x918e, 0x0400, 0x0118, 0x9085, - 0x000a, 0x0010, 0x9085, 0x0000, 0x001e, 0x7852, 0x00fe, 0x0005, - 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0007, 0x000e, 0x0005, - 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0009, 0x000e, 0x0005, - 0x0156, 0x20a9, 0x0064, 0x7820, 0x080c, 0x2a0f, 0xd09c, 0x1110, - 0x1f04, 0x29a3, 0x015e, 0x0005, 0x0126, 0x0016, 0x0006, 0x2091, - 0x8000, 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, 0x0007, + 0x004f, 0x6003, 0x0003, 0x080c, 0xac8d, 0x00ce, 0x080c, 0xa8b5, + 0x001e, 0xd19c, 0x0904, 0x2593, 0x7038, 0xd0ac, 0x1558, 0x0016, + 0x0156, 0x2011, 0x0008, 0x080c, 0x2a83, 0x080c, 0x2aa6, 0x080c, + 0x2ad9, 0x6050, 0xc0e5, 0x6052, 0x20a9, 0x0367, 0x1f04, 0x2560, + 0x1d04, 0x2548, 0x080c, 0x873d, 0x6020, 0xd09c, 0x1db8, 0x00f6, + 0x2079, 0x0100, 0x080c, 0x29bc, 0x00fe, 0x1d80, 0x6050, 0xc0e4, + 0x6052, 0x2011, 0x0008, 0x080c, 0x2a83, 0x015e, 0x001e, 0x0498, + 0x015e, 0x001e, 0x0016, 0x6028, 0xc09c, 0x602a, 0x080c, 0xa899, + 0x080c, 0xab61, 0x080c, 0xa8b5, 0x60e3, 0x0000, 0x080c, 0xe74f, + 0x080c, 0xe76a, 0x080c, 0x56f9, 0xd0fc, 0x1138, 0x080c, 0xcf7d, + 0x1120, 0x9085, 0x0001, 0x080c, 0x7533, 0x9006, 0x080c, 0x2a49, + 0x2009, 0x0002, 0x080c, 0x2a35, 0x00e6, 0x2071, 0x1800, 0x7003, + 0x0004, 0x080c, 0x0ec1, 0x00ee, 0x2011, 0x0008, 0x080c, 0x2a83, + 0x080c, 0x0bc3, 0x001e, 0x918c, 0xffd0, 0x2110, 0x080c, 0x2a83, + 0x00ae, 0x0005, 0x0016, 0x2001, 0x0387, 0x200c, 0xd1a4, 0x001e, + 0x0904, 0x2341, 0x0016, 0x2009, 0x25a6, 0x00c0, 0x2001, 0x0387, + 0x2003, 0x1000, 0x001e, 0x0c38, 0x0016, 0x2001, 0x0387, 0x200c, + 0xd1b4, 0x001e, 0x0904, 0x2341, 0x0016, 0x2009, 0x25b8, 0x0030, + 0x2001, 0x0387, 0x2003, 0x4000, 0x001e, 0x08a8, 0x6028, 0xc0bc, + 0x602a, 0x2001, 0x0156, 0x2003, 0xbc91, 0x8000, 0x2003, 0xffff, + 0x6043, 0x0001, 0x080c, 0x2a2f, 0x2011, 0x0080, 0x080c, 0x2a83, + 0x6017, 0x0000, 0x6043, 0x0000, 0x0817, 0x0006, 0x0016, 0x0026, + 0x0036, 0x00e6, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, + 0x71d0, 0x70d2, 0x9116, 0x0904, 0x2628, 0x81ff, 0x01a0, 0x2009, + 0x0000, 0x080c, 0x2a35, 0x2011, 0x8011, 0x2019, 0x010e, 0x231c, + 0x939e, 0x0007, 0x1118, 0x2019, 0x0001, 0x0010, 0x2019, 0x0000, + 0x080c, 0x4b29, 0x0468, 0x2001, 0x19a7, 0x200c, 0x81ff, 0x1140, + 0x2001, 0x0109, 0x2004, 0xd0b4, 0x0118, 0x2019, 0x0003, 0x0008, + 0x2118, 0x2011, 0x8012, 0x080c, 0x4b29, 0x080c, 0x0ec1, 0x080c, + 0x56f9, 0xd0fc, 0x11a8, 0x080c, 0xcf7d, 0x1190, 0x00c6, 0x080c, + 0x26c4, 0x080c, 0xa899, 0x080c, 0xa08e, 0x080c, 0xa8b5, 0x2061, + 0x0100, 0x2019, 0x0028, 0x2009, 0x0002, 0x080c, 0x31d4, 0x00ce, + 0x012e, 0x00fe, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, + 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x11f0, 0x2011, + 0x1837, 0x2214, 0xd2ac, 0x11c8, 0x81ff, 0x01e8, 0x2011, 0x181f, + 0x2204, 0x9106, 0x1190, 0x2011, 0x1820, 0x2214, 0x9294, 0xff00, + 0x9584, 0xff00, 0x9206, 0x1148, 0x2011, 0x1820, 0x2214, 0x9294, + 0x00ff, 0x9584, 0x00ff, 0x9206, 0x1120, 0x2500, 0x080c, 0x8202, + 0x0048, 0x9584, 0x00ff, 0x9080, 0x3388, 0x200d, 0x918c, 0xff00, + 0x810f, 0x9006, 0x0005, 0x9080, 0x3388, 0x200d, 0x918c, 0x00ff, + 0x0005, 0x00d6, 0x2069, 0x0140, 0x2001, 0x1818, 0x2003, 0x00ef, + 0x20a9, 0x0010, 0x9006, 0x6852, 0x6856, 0x1f04, 0x2674, 0x00de, + 0x0005, 0x0006, 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, 0x1818, + 0x2102, 0x8114, 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, + 0x0000, 0x9006, 0x82ff, 0x1128, 0x9184, 0x000f, 0x9080, 0xe77e, + 0x2005, 0x6856, 0x8211, 0x1f04, 0x2689, 0x002e, 0x00de, 0x000e, + 0x0005, 0x00c6, 0x2061, 0x1800, 0x6030, 0x0110, 0xc09d, 0x0008, + 0xc09c, 0x6032, 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, + 0x0006, 0x2069, 0x0140, 0x6980, 0x9116, 0x0180, 0x9112, 0x1230, + 0x8212, 0x8210, 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, + 0x0404, 0x680e, 0x1f04, 0x26b9, 0x680f, 0x0000, 0x000e, 0x001e, + 0x002e, 0x00de, 0x015e, 0x0005, 0x080c, 0x56f5, 0xd0c4, 0x0150, + 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, + 0xe316, 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, + 0x78c4, 0xd0dc, 0x0904, 0x2730, 0x080c, 0x29ac, 0x0660, 0x9084, + 0x0700, 0x908e, 0x0600, 0x1120, 0x2011, 0x4000, 0x900e, 0x0458, + 0x908e, 0x0500, 0x1120, 0x2011, 0x8000, 0x900e, 0x0420, 0x908e, + 0x0400, 0x1120, 0x9016, 0x2009, 0x0001, 0x00e8, 0x908e, 0x0300, + 0x1120, 0x9016, 0x2009, 0x0002, 0x00b0, 0x908e, 0x0200, 0x1120, + 0x9016, 0x2009, 0x0004, 0x0078, 0x908e, 0x0100, 0x1548, 0x9016, + 0x2009, 0x0008, 0x0040, 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, + 0x2011, 0x0030, 0x0058, 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, + 0x9181, 0x928c, 0xff00, 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, + 0x9085, 0x004c, 0x78c2, 0x2009, 0x0138, 0x220a, 0x080c, 0x74ec, + 0x1118, 0x2009, 0x196c, 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, + 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, + 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, + 0x0110, 0x080c, 0x0d76, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, + 0x2001, 0x0171, 0x2004, 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, + 0x918c, 0x00ff, 0x918e, 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, + 0x810f, 0x0005, 0x900e, 0x2001, 0x0227, 0x2004, 0x8007, 0x9084, + 0x00ff, 0x8004, 0x9108, 0x2001, 0x0226, 0x2004, 0x8007, 0x9084, + 0x00ff, 0x8004, 0x9108, 0x0005, 0x0018, 0x000c, 0x0018, 0x0020, + 0x1000, 0x0800, 0x1000, 0x1800, 0x0156, 0x0006, 0x0016, 0x0026, + 0x00e6, 0x2001, 0x198f, 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0d7d, + 0x0033, 0x00ee, 0x002e, 0x001e, 0x000e, 0x015e, 0x0005, 0x278e, + 0x27ac, 0x27d0, 0x27d2, 0x27fb, 0x27fd, 0x27ff, 0x2001, 0x0001, + 0x080c, 0x25d5, 0x080c, 0x29fa, 0x2001, 0x1991, 0x2003, 0x0000, + 0x7828, 0x9084, 0xe1d7, 0x782a, 0x9006, 0x20a9, 0x0009, 0x080c, + 0x29c8, 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, + 0x2800, 0x080c, 0x871b, 0x0005, 0x2009, 0x1994, 0x200b, 0x0000, + 0x2001, 0x1999, 0x2003, 0x0036, 0x2001, 0x1998, 0x2003, 0x002a, + 0x2001, 0x1991, 0x2003, 0x0001, 0x9006, 0x080c, 0x295d, 0x2001, + 0xffff, 0x20a9, 0x0009, 0x080c, 0x29c8, 0x2001, 0x198f, 0x2003, + 0x0006, 0x2009, 0x001e, 0x2011, 0x2800, 0x080c, 0x871b, 0x0005, + 0x080c, 0x0d7d, 0x2001, 0x1999, 0x2003, 0x0036, 0x2001, 0x1991, + 0x2003, 0x0003, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x295d, 0x2001, 0x1995, + 0x2003, 0x0000, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x29c8, + 0x2001, 0x198f, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2800, + 0x080c, 0x871b, 0x0005, 0x080c, 0x0d7d, 0x080c, 0x0d7d, 0x0005, + 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0156, 0x0126, 0x2091, + 0x8000, 0x2079, 0x0100, 0x2001, 0x1991, 0x2004, 0x908a, 0x0007, + 0x1a0c, 0x0d7d, 0x0043, 0x012e, 0x015e, 0x00fe, 0x00ee, 0x002e, + 0x001e, 0x000e, 0x0005, 0x2822, 0x2842, 0x2882, 0x28b2, 0x28d6, + 0x28e6, 0x28e8, 0x080c, 0x29bc, 0x11b0, 0x7850, 0x9084, 0xefff, + 0x7852, 0x2009, 0x1997, 0x2104, 0x7a38, 0x9294, 0x0005, 0x9296, + 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, 0x200a, 0x2001, 0x198f, + 0x2003, 0x0001, 0x0030, 0x080c, 0x290c, 0x2001, 0xffff, 0x080c, + 0x279d, 0x0005, 0x080c, 0x28ea, 0x05e0, 0x2009, 0x1998, 0x2104, + 0x8001, 0x200a, 0x080c, 0x29bc, 0x1178, 0x7850, 0x9084, 0xefff, + 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0518, 0x2009, + 0x1997, 0x2104, 0xc085, 0x200a, 0x2009, 0x1994, 0x2104, 0x8000, + 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, 0x28f2, 0x00c0, 0x200b, + 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0004, 0x0110, 0x9006, + 0x0010, 0x2001, 0x0001, 0x080c, 0x297a, 0x2001, 0x1991, 0x2003, + 0x0002, 0x0028, 0x2001, 0x198f, 0x2003, 0x0003, 0x0010, 0x080c, + 0x27bf, 0x0005, 0x080c, 0x28ea, 0x0560, 0x2009, 0x1998, 0x2104, + 0x8001, 0x200a, 0x080c, 0x29bc, 0x1168, 0x7850, 0x9084, 0xefff, + 0x7852, 0x2001, 0x198f, 0x2003, 0x0003, 0x2001, 0x1990, 0x2003, + 0x0000, 0x00b8, 0x2009, 0x1998, 0x2104, 0x9005, 0x1118, 0x080c, + 0x292f, 0x0010, 0x080c, 0x28ff, 0x080c, 0x28f2, 0x2009, 0x1994, + 0x200b, 0x0000, 0x2001, 0x1991, 0x2003, 0x0001, 0x080c, 0x27bf, + 0x0000, 0x0005, 0x04b9, 0x0508, 0x080c, 0x29bc, 0x11b8, 0x7850, + 0x9084, 0xefff, 0x7852, 0x2009, 0x1995, 0x2104, 0x8000, 0x200a, + 0x9086, 0x0007, 0x0108, 0x0078, 0x2001, 0x199a, 0x2003, 0x000a, + 0x2009, 0x1997, 0x2104, 0xc0fd, 0x200a, 0x0038, 0x0419, 0x2001, + 0x1991, 0x2003, 0x0004, 0x080c, 0x27ea, 0x0005, 0x0099, 0x0168, + 0x080c, 0x29bc, 0x1138, 0x7850, 0x9084, 0xefff, 0x7852, 0x080c, + 0x27d6, 0x0018, 0x0079, 0x080c, 0x27ea, 0x0005, 0x080c, 0x0d7d, + 0x080c, 0x0d7d, 0x2009, 0x1999, 0x2104, 0x8001, 0x200a, 0x090c, + 0x294b, 0x0005, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x297a, 0x0005, 0x7a38, + 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, + 0x0001, 0x080c, 0x295d, 0x0005, 0x2009, 0x1994, 0x2104, 0x8000, + 0x200a, 0x9086, 0x0005, 0x0108, 0x0068, 0x200b, 0x0000, 0x7a38, + 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, + 0x0001, 0x04d9, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x297a, 0x0005, 0x0086, + 0x2001, 0x1997, 0x2004, 0x9084, 0x7fff, 0x090c, 0x0d7d, 0x2009, + 0x1996, 0x2144, 0x8846, 0x280a, 0x9844, 0x0dd8, 0xd08c, 0x1120, + 0xd084, 0x1120, 0x080c, 0x0d7d, 0x9006, 0x0010, 0x2001, 0x0001, + 0x00a1, 0x008e, 0x0005, 0x0006, 0x0156, 0x2001, 0x198f, 0x20a9, + 0x0009, 0x2003, 0x0000, 0x8000, 0x1f04, 0x2951, 0x2001, 0x1996, + 0x2003, 0x8000, 0x015e, 0x000e, 0x0005, 0x00f6, 0x2079, 0x0100, + 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfff9, 0x9085, 0x0004, + 0x783a, 0x2009, 0x199c, 0x210c, 0x795a, 0x0050, 0x7838, 0x9084, + 0xfffb, 0x9085, 0x0006, 0x783a, 0x2009, 0x199d, 0x210c, 0x795a, + 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, + 0x7838, 0x9084, 0xfffa, 0x9085, 0x0004, 0x783a, 0x7850, 0x9084, + 0xfff0, 0x7852, 0x00f8, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0005, + 0x783a, 0x7850, 0x9084, 0xfff0, 0x0016, 0x2009, 0x017f, 0x210c, + 0x918e, 0x0005, 0x0140, 0x2009, 0x0003, 0x210c, 0x918c, 0x0600, + 0x918e, 0x0400, 0x0118, 0x9085, 0x000a, 0x0010, 0x9085, 0x0000, + 0x001e, 0x7852, 0x00fe, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, + 0x9082, 0x0007, 0x000e, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, + 0x9082, 0x0009, 0x000e, 0x0005, 0x0156, 0x20a9, 0x0064, 0x7820, + 0x080c, 0x2a2f, 0xd09c, 0x1110, 0x1f04, 0x29bf, 0x015e, 0x0005, + 0x0126, 0x0016, 0x0006, 0x2091, 0x8000, 0x080c, 0x2aa6, 0x080c, + 0x2ad9, 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, 0x0007, 0x0090, 0x9186, 0x0001, 0x1118, 0x783b, 0x0006, 0x0060, 0x9186, 0x0002, 0x1118, 0x783b, 0x0005, 0x0030, 0x9186, 0x0003, 0x1118, - 0x783b, 0x0004, 0x0000, 0x0006, 0x1d04, 0x29cc, 0x080c, 0x8709, - 0x1f04, 0x29cc, 0x7850, 0x9085, 0x1000, 0x7852, 0x000e, 0x001e, - 0x012e, 0x0005, 0x080c, 0x2ab9, 0x0005, 0x0006, 0x0156, 0x00f6, + 0x783b, 0x0004, 0x0000, 0x0006, 0x1d04, 0x29ec, 0x080c, 0x873d, + 0x1f04, 0x29ec, 0x7850, 0x9085, 0x1000, 0x7852, 0x000e, 0x001e, + 0x012e, 0x0005, 0x080c, 0x2ad9, 0x0005, 0x0006, 0x0156, 0x00f6, 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd0ac, 0x1100, 0x7854, - 0xd08c, 0x1110, 0x1f04, 0x29e7, 0x00fe, 0x015e, 0x000e, 0x0005, - 0x1d04, 0x29f0, 0x080c, 0x8709, 0x1f04, 0x29f0, 0x0005, 0x0006, + 0xd08c, 0x1110, 0x1f04, 0x2a07, 0x00fe, 0x015e, 0x000e, 0x0005, + 0x1d04, 0x2a10, 0x080c, 0x873d, 0x1f04, 0x2a10, 0x0005, 0x0006, 0x2001, 0x199b, 0x2004, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, 0x2001, 0x199b, 0x2004, 0x9086, 0x0001, 0x000e, 0x0005, 0x0006, 0x2001, 0x199b, 0x2004, 0x9086, 0x0002, 0x000e, 0x0005, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, 0x0006, 0x2001, 0x19a7, 0x2102, 0x000e, 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, 0xa001, 0xa001, 0x200a, - 0x0005, 0x0016, 0x0026, 0x080c, 0x74e2, 0x0108, 0xc0bc, 0x2009, + 0x0005, 0x0016, 0x0026, 0x080c, 0x7506, 0x0108, 0xc0bc, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9285, 0x1000, 0x200a, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, 0x2009, 0x0140, 0x2104, - 0x1128, 0x080c, 0x74e2, 0x0110, 0xc0bc, 0x0008, 0xc0bd, 0x200a, + 0x1128, 0x080c, 0x7506, 0x0110, 0xc0bc, 0x0008, 0xc0bd, 0x200a, 0x001e, 0x000e, 0x0005, 0x00f6, 0x2079, 0x0380, 0x7843, 0x0101, 0x7844, 0xd084, 0x1de8, 0x2001, 0x0109, 0x2202, 0x7843, 0x0100, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0380, 0x7843, 0x0202, 0x7844, 0xd08c, 0x1de8, 0x2079, 0x0100, 0x7814, 0x9104, 0x9205, 0x7a16, 0x2079, 0x0380, 0x7843, 0x0200, 0x00fe, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x2061, 0x0100, 0x6050, 0x9084, 0xfbff, 0x9085, - 0x0040, 0x6052, 0x20a9, 0x0002, 0x080c, 0x29f0, 0x6050, 0x9085, - 0x0400, 0x9084, 0xff9f, 0x6052, 0x20a9, 0x0005, 0x080c, 0x29f0, - 0x6054, 0xd0bc, 0x090c, 0x0d7d, 0x20a9, 0x0005, 0x080c, 0x29f0, + 0x0040, 0x6052, 0x20a9, 0x0002, 0x080c, 0x2a10, 0x6050, 0x9085, + 0x0400, 0x9084, 0xff9f, 0x6052, 0x20a9, 0x0005, 0x080c, 0x2a10, + 0x6054, 0xd0bc, 0x090c, 0x0d7d, 0x20a9, 0x0005, 0x080c, 0x2a10, 0x6054, 0xd0ac, 0x090c, 0x0d7d, 0x2009, 0x19ae, 0x9084, 0x7e00, 0x8007, 0x8004, 0x8004, 0x200a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0006, 0x00c6, 0x2061, 0x0100, 0x6050, 0xc0cd, 0x6052, - 0x00ce, 0x000e, 0x0005, 0x2fbf, 0x2fbf, 0x2bc3, 0x2bc3, 0x2bcf, - 0x2bcf, 0x2bdb, 0x2bdb, 0x2be9, 0x2be9, 0x2bf5, 0x2bf5, 0x2c03, - 0x2c03, 0x2c11, 0x2c11, 0x2c23, 0x2c23, 0x2c2f, 0x2c2f, 0x2c3d, - 0x2c3d, 0x2c5b, 0x2c5b, 0x2c7b, 0x2c7b, 0x2c4b, 0x2c4b, 0x2c6b, - 0x2c6b, 0x2c89, 0x2c89, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c9b, 0x2c9b, 0x2ca7, 0x2ca7, 0x2cb5, - 0x2cb5, 0x2cc3, 0x2cc3, 0x2cd3, 0x2cd3, 0x2ce1, 0x2ce1, 0x2cf1, - 0x2cf1, 0x2d01, 0x2d01, 0x2d13, 0x2d13, 0x2d21, 0x2d21, 0x2d31, - 0x2d31, 0x2d53, 0x2d53, 0x2d77, 0x2d77, 0x2d41, 0x2d41, 0x2d65, - 0x2d65, 0x2d87, 0x2d87, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2d9b, 0x2d9b, 0x2da7, 0x2da7, 0x2db5, - 0x2db5, 0x2dc3, 0x2dc3, 0x2dd3, 0x2dd3, 0x2de1, 0x2de1, 0x2df1, - 0x2df1, 0x2e01, 0x2e01, 0x2e13, 0x2e13, 0x2e21, 0x2e21, 0x2e31, - 0x2e31, 0x2e41, 0x2e41, 0x2e53, 0x2e53, 0x2e63, 0x2e63, 0x2e75, - 0x2e75, 0x2e87, 0x2e87, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2e9b, 0x2e9b, 0x2ea9, 0x2ea9, 0x2eb9, - 0x2eb9, 0x2ec9, 0x2ec9, 0x2edb, 0x2edb, 0x2eeb, 0x2eeb, 0x2efd, - 0x2efd, 0x2f0f, 0x2f0f, 0x2f23, 0x2f23, 0x2f33, 0x2f33, 0x2f45, - 0x2f45, 0x2f57, 0x2f57, 0x2f6b, 0x2f6b, 0x2f7c, 0x2f7c, 0x2f8f, - 0x2f8f, 0x2fa2, 0x2fa2, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, 0x2c21, - 0x2c21, 0x2c21, 0x2c21, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2261, 0x0804, 0x2fb7, 0x0106, + 0x00ce, 0x000e, 0x0005, 0x2fdf, 0x2fdf, 0x2be3, 0x2be3, 0x2bef, + 0x2bef, 0x2bfb, 0x2bfb, 0x2c09, 0x2c09, 0x2c15, 0x2c15, 0x2c23, + 0x2c23, 0x2c31, 0x2c31, 0x2c43, 0x2c43, 0x2c4f, 0x2c4f, 0x2c5d, + 0x2c5d, 0x2c7b, 0x2c7b, 0x2c9b, 0x2c9b, 0x2c6b, 0x2c6b, 0x2c8b, + 0x2c8b, 0x2ca9, 0x2ca9, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2cbb, 0x2cbb, 0x2cc7, 0x2cc7, 0x2cd5, + 0x2cd5, 0x2ce3, 0x2ce3, 0x2cf3, 0x2cf3, 0x2d01, 0x2d01, 0x2d11, + 0x2d11, 0x2d21, 0x2d21, 0x2d33, 0x2d33, 0x2d41, 0x2d41, 0x2d51, + 0x2d51, 0x2d73, 0x2d73, 0x2d97, 0x2d97, 0x2d61, 0x2d61, 0x2d85, + 0x2d85, 0x2da7, 0x2da7, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2dbb, 0x2dbb, 0x2dc7, 0x2dc7, 0x2dd5, + 0x2dd5, 0x2de3, 0x2de3, 0x2df3, 0x2df3, 0x2e01, 0x2e01, 0x2e11, + 0x2e11, 0x2e21, 0x2e21, 0x2e33, 0x2e33, 0x2e41, 0x2e41, 0x2e51, + 0x2e51, 0x2e61, 0x2e61, 0x2e73, 0x2e73, 0x2e83, 0x2e83, 0x2e95, + 0x2e95, 0x2ea7, 0x2ea7, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2ebb, 0x2ebb, 0x2ec9, 0x2ec9, 0x2ed9, + 0x2ed9, 0x2ee9, 0x2ee9, 0x2efb, 0x2efb, 0x2f0b, 0x2f0b, 0x2f1d, + 0x2f1d, 0x2f2f, 0x2f2f, 0x2f43, 0x2f43, 0x2f53, 0x2f53, 0x2f65, + 0x2f65, 0x2f77, 0x2f77, 0x2f8b, 0x2f8b, 0x2f9c, 0x2f9c, 0x2faf, + 0x2faf, 0x2fc2, 0x2fc2, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, 0x2c41, + 0x2c41, 0x2c41, 0x2c41, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2279, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x208b, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, 0x2261, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2261, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x208b, 0x080c, 0x2261, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x13ae, 0x0804, 0x2fb7, 0x0106, + 0x20a3, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, 0x2279, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2279, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20a3, 0x080c, 0x2279, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2261, 0x080c, 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, - 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, 0x2261, 0x080c, - 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x13ae, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x208b, 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x0804, 0x2fb7, 0x0106, + 0x2279, 0x080c, 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, + 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, 0x2279, 0x080c, + 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x13bb, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20a3, 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2717, 0x080c, 0x2261, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, - 0x208b, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, - 0x2261, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x2261, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, 0x2261, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0x13ae, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x2261, 0x080c, 0x13ae, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, 0x13ae, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, - 0x2261, 0x080c, 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, - 0x208b, 0x080c, 0x13ae, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, + 0x2733, 0x080c, 0x2279, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, + 0x20a3, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, + 0x2279, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x2279, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, 0x2279, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0x13bb, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x2279, 0x080c, 0x13bb, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, 0x13bb, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, + 0x2279, 0x080c, 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, + 0x20a3, 0x080c, 0x13bb, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2717, 0x080c, 0x13ae, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, + 0x2733, 0x080c, 0x13bb, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2717, 0x080c, 0x208b, 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ee, 0x0804, 0x2fb7, 0x0106, + 0x2733, 0x080c, 0x20a3, 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ff, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0xa8ee, 0x080c, 0x2261, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, - 0xa8ee, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, - 0x2261, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ee, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, 0x20b5, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ee, 0x080c, 0x13ae, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, 0x13ae, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, 0x13ae, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, - 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ee, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, - 0x13ae, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x208b, 0x080c, - 0xa8ee, 0x080c, 0x13ae, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, + 0xa8ff, 0x080c, 0x2279, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, + 0xa8ff, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, + 0x2279, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ff, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x20cd, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ff, 0x080c, 0x13bb, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, 0x13bb, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x13bb, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, + 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ff, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, + 0x13bb, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x20a3, 0x080c, + 0xa8ff, 0x080c, 0x13bb, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x208b, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x0804, - 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, - 0x2261, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x080c, - 0x2261, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, - 0x208b, 0x080c, 0xa8ee, 0x080c, 0x20b5, 0x0804, 0x2fb7, 0x0106, + 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x0804, + 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, + 0x2279, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x080c, + 0x2279, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, + 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2717, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, - 0x20b5, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x080c, - 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x080c, - 0x2261, 0x080c, 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, - 0x208b, 0x080c, 0xa8ee, 0x080c, 0x13ae, 0x0804, 0x2fb7, 0x0106, + 0x2733, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, + 0x20cd, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x080c, + 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x080c, + 0x2279, 0x080c, 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, + 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2717, 0x080c, 0x208b, 0x080c, 0xa8ee, 0x080c, 0x2261, 0x080c, - 0x13ae, 0x0804, 0x2fb7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, 0x080c, - 0x13ae, 0x080c, 0x20b5, 0x04d8, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0xa8ee, - 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, 0x20b5, 0x0440, 0x0106, + 0x2733, 0x080c, 0x20a3, 0x080c, 0xa8ff, 0x080c, 0x2279, 0x080c, + 0x13bb, 0x0804, 0x2fd7, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, 0x080c, + 0x13bb, 0x080c, 0x20cd, 0x04d8, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0xa8ff, + 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, 0x20cd, 0x0440, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, - 0x2717, 0x080c, 0x208b, 0x080c, 0x13ae, 0x080c, 0xa8ee, 0x080c, - 0x20b5, 0x00a8, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2717, 0x080c, 0x208b, 0x080c, 0xa8ee, - 0x080c, 0x2261, 0x080c, 0x13ae, 0x080c, 0x20b5, 0x0000, 0x015e, + 0x2733, 0x080c, 0x20a3, 0x080c, 0x13bb, 0x080c, 0xa8ff, 0x080c, + 0x20cd, 0x00a8, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x2733, 0x080c, 0x20a3, 0x080c, 0xa8ff, + 0x080c, 0x2279, 0x080c, 0x13bb, 0x080c, 0x20cd, 0x0000, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x010e, 0x000d, - 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, 0x080c, 0x6a28, 0x1904, - 0x30d0, 0x72dc, 0x2001, 0x197b, 0x2004, 0x9005, 0x1110, 0xd29c, - 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x30d0, 0x080c, 0x30d5, - 0x0804, 0x30d0, 0xd2cc, 0x1904, 0x30d0, 0x080c, 0x74c8, 0x1120, - 0x70af, 0xffff, 0x0804, 0x30d0, 0xd294, 0x0120, 0x70af, 0xffff, - 0x0804, 0x30d0, 0x080c, 0x3357, 0x0160, 0x080c, 0xcf51, 0x0128, - 0x2001, 0x1818, 0x203c, 0x0804, 0x305d, 0x70af, 0xffff, 0x0804, - 0x30d0, 0x2001, 0x1818, 0x203c, 0x7294, 0xd284, 0x0904, 0x305d, - 0xd28c, 0x1904, 0x305d, 0x0036, 0x73ac, 0x938e, 0xffff, 0x1110, + 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, 0x080c, 0x6a4c, 0x1904, + 0x30f0, 0x72dc, 0x2001, 0x197b, 0x2004, 0x9005, 0x1110, 0xd29c, + 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x30f0, 0x080c, 0x30f5, + 0x0804, 0x30f0, 0xd2cc, 0x1904, 0x30f0, 0x080c, 0x74ec, 0x1120, + 0x70af, 0xffff, 0x0804, 0x30f0, 0xd294, 0x0120, 0x70af, 0xffff, + 0x0804, 0x30f0, 0x080c, 0x3377, 0x0160, 0x080c, 0xcf84, 0x0128, + 0x2001, 0x1818, 0x203c, 0x0804, 0x307d, 0x70af, 0xffff, 0x0804, + 0x30f0, 0x2001, 0x1818, 0x203c, 0x7294, 0xd284, 0x0904, 0x307d, + 0xd28c, 0x1904, 0x307d, 0x0036, 0x73ac, 0x938e, 0xffff, 0x1110, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1d80, 0x2c04, 0x938c, 0x0001, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x970e, 0x05d0, 0x908e, 0x0000, 0x05b8, 0x908e, 0x00ff, 0x1150, 0x7230, 0xd284, 0x15b0, 0x7294, 0xc28d, 0x7296, 0x70af, 0xffff, 0x003e, - 0x04a0, 0x900e, 0x080c, 0x2614, 0x080c, 0x65bf, 0x1538, 0x9006, + 0x04a0, 0x900e, 0x080c, 0x2630, 0x080c, 0x65e3, 0x1538, 0x9006, 0xb8bb, 0x0520, 0xb8ac, 0x9005, 0x0148, 0x00c6, 0x2060, 0x080c, - 0x8b72, 0x00ce, 0x090c, 0x8f16, 0xb8af, 0x0000, 0x080c, 0x6a6a, + 0x8ba9, 0x00ce, 0x090c, 0x8f4f, 0xb8af, 0x0000, 0x080c, 0x6a8e, 0x1168, 0x7030, 0xd08c, 0x0130, 0xb800, 0xd0bc, 0x0138, 0x080c, - 0x6913, 0x0120, 0x080c, 0x30ee, 0x0148, 0x0028, 0x080c, 0x323a, - 0x080c, 0x311a, 0x0118, 0x8318, 0x0804, 0x300a, 0x73ae, 0x0010, - 0x70af, 0xffff, 0x003e, 0x0804, 0x30d0, 0x9780, 0x3368, 0x203d, + 0x6937, 0x0120, 0x080c, 0x310e, 0x0148, 0x0028, 0x080c, 0x325a, + 0x080c, 0x313a, 0x0118, 0x8318, 0x0804, 0x302a, 0x73ae, 0x0010, + 0x70af, 0xffff, 0x003e, 0x0804, 0x30f0, 0x9780, 0x3388, 0x203d, 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, 0x70ac, 0x9096, 0xffff, 0x1118, 0x900e, 0x28a8, 0x0050, 0x9812, 0x0220, 0x2008, 0x9802, - 0x20a8, 0x0020, 0x70af, 0xffff, 0x0804, 0x30d0, 0x2700, 0x0156, - 0x0016, 0x9106, 0x0904, 0x30c5, 0xc484, 0x080c, 0x6620, 0x0148, - 0x080c, 0xcf51, 0x1904, 0x30c5, 0x080c, 0x65bf, 0x1904, 0x30cd, + 0x20a8, 0x0020, 0x70af, 0xffff, 0x0804, 0x30f0, 0x2700, 0x0156, + 0x0016, 0x9106, 0x0904, 0x30e5, 0xc484, 0x080c, 0x6644, 0x0148, + 0x080c, 0xcf84, 0x1904, 0x30e5, 0x080c, 0x65e3, 0x1904, 0x30ed, 0x0008, 0xc485, 0xb8bb, 0x0520, 0xb8ac, 0x9005, 0x0148, 0x00c6, - 0x2060, 0x080c, 0x8b72, 0x00ce, 0x090c, 0x8f16, 0xb8af, 0x0000, - 0x080c, 0x6a6a, 0x1130, 0x7030, 0xd08c, 0x01f8, 0xb800, 0xd0bc, - 0x11e0, 0x7294, 0xd28c, 0x0180, 0x080c, 0x6a6a, 0x9082, 0x0006, - 0x02e0, 0xd484, 0x1118, 0x080c, 0x65e4, 0x0028, 0x080c, 0x32cd, - 0x01a0, 0x080c, 0x32f8, 0x0088, 0x080c, 0x323a, 0x080c, 0xcf51, - 0x1160, 0x080c, 0x311a, 0x0188, 0x0040, 0x080c, 0xcf51, 0x1118, - 0x080c, 0x32cd, 0x0110, 0x0451, 0x0140, 0x001e, 0x8108, 0x015e, - 0x1f04, 0x3076, 0x70af, 0xffff, 0x0018, 0x001e, 0x015e, 0x71ae, + 0x2060, 0x080c, 0x8ba9, 0x00ce, 0x090c, 0x8f4f, 0xb8af, 0x0000, + 0x080c, 0x6a8e, 0x1130, 0x7030, 0xd08c, 0x01f8, 0xb800, 0xd0bc, + 0x11e0, 0x7294, 0xd28c, 0x0180, 0x080c, 0x6a8e, 0x9082, 0x0006, + 0x02e0, 0xd484, 0x1118, 0x080c, 0x6608, 0x0028, 0x080c, 0x32ed, + 0x01a0, 0x080c, 0x3318, 0x0088, 0x080c, 0x325a, 0x080c, 0xcf84, + 0x1160, 0x080c, 0x313a, 0x0188, 0x0040, 0x080c, 0xcf84, 0x1118, + 0x080c, 0x32ed, 0x0110, 0x0451, 0x0140, 0x001e, 0x8108, 0x015e, + 0x1f04, 0x3096, 0x70af, 0xffff, 0x0018, 0x001e, 0x015e, 0x71ae, 0x004e, 0x002e, 0x00ce, 0x00be, 0x0005, 0x00c6, 0x0016, 0x70af, - 0x0001, 0x2009, 0x007e, 0x080c, 0x65bf, 0x1168, 0xb813, 0x00ff, - 0xb817, 0xfffe, 0x080c, 0x323a, 0x04a9, 0x0128, 0x70dc, 0xc0bd, - 0x70de, 0x080c, 0xcc9e, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, + 0x0001, 0x2009, 0x007e, 0x080c, 0x65e3, 0x1168, 0xb813, 0x00ff, + 0xb817, 0xfffe, 0x080c, 0x325a, 0x04a9, 0x0128, 0x70dc, 0xc0bd, + 0x70de, 0x080c, 0xccd1, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x184c, 0x2004, 0x9084, 0x00ff, 0xb842, - 0x080c, 0xac4f, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xcccb, 0x6023, - 0x0001, 0x9006, 0x080c, 0x655c, 0x2001, 0x0000, 0x080c, 0x6570, + 0x080c, 0xac60, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xccfe, 0x6023, + 0x0001, 0x9006, 0x080c, 0x6580, 0x2001, 0x0000, 0x080c, 0x6594, 0x0126, 0x2091, 0x8000, 0x70a8, 0x8000, 0x70aa, 0x012e, 0x2009, - 0x0004, 0x080c, 0xac7c, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, + 0x0004, 0x080c, 0xac8d, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x184c, - 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, 0xac4f, 0x0548, 0x2b00, + 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, 0xac60, 0x0548, 0x2b00, 0x6012, 0xb800, 0xc0c4, 0xb802, 0xb8a0, 0x9086, 0x007e, 0x0140, - 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, 0x31ef, - 0x080c, 0xcccb, 0x6023, 0x0001, 0x9006, 0x080c, 0x655c, 0x2001, - 0x0002, 0x080c, 0x6570, 0x0126, 0x2091, 0x8000, 0x70a8, 0x8000, - 0x70aa, 0x012e, 0x2009, 0x0002, 0x080c, 0xac7c, 0x9085, 0x0001, + 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, 0x320f, + 0x080c, 0xccfe, 0x6023, 0x0001, 0x9006, 0x080c, 0x6580, 0x2001, + 0x0002, 0x080c, 0x6594, 0x0126, 0x2091, 0x8000, 0x70a8, 0x8000, + 0x70aa, 0x012e, 0x2009, 0x0002, 0x080c, 0xac8d, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00b6, 0x00c6, 0x0026, - 0x2009, 0x0080, 0x080c, 0x65bf, 0x1140, 0xb813, 0x00ff, 0xb817, + 0x2009, 0x0080, 0x080c, 0x65e3, 0x1140, 0xb813, 0x00ff, 0xb817, 0xfffc, 0x0039, 0x0110, 0x70e3, 0xffff, 0x002e, 0x00ce, 0x00be, - 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x080c, 0xab89, 0x01d0, - 0x2b00, 0x6012, 0x080c, 0xcccb, 0x6023, 0x0001, 0x9006, 0x080c, - 0x655c, 0x2001, 0x0002, 0x080c, 0x6570, 0x0126, 0x2091, 0x8000, - 0x70e4, 0x8000, 0x70e6, 0x012e, 0x2009, 0x0002, 0x080c, 0xac7c, + 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x080c, 0xab9a, 0x01d0, + 0x2b00, 0x6012, 0x080c, 0xccfe, 0x6023, 0x0001, 0x9006, 0x080c, + 0x6580, 0x2001, 0x0002, 0x080c, 0x6594, 0x0126, 0x2091, 0x8000, + 0x70e4, 0x8000, 0x70e6, 0x012e, 0x2009, 0x0002, 0x080c, 0xac8d, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, - 0x00d6, 0x0126, 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x65bf, + 0x00d6, 0x0126, 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x65e3, 0x11b8, 0xb813, 0x00ff, 0xb817, 0xfffd, 0xb8d7, 0x0004, 0x080c, - 0xab89, 0x0170, 0x2b00, 0x6012, 0x6316, 0x6023, 0x0001, 0x620a, - 0x080c, 0xcccb, 0x2009, 0x0022, 0x080c, 0xac7c, 0x9085, 0x0001, + 0xab9a, 0x0170, 0x2b00, 0x6012, 0x6316, 0x6023, 0x0001, 0x620a, + 0x080c, 0xccfe, 0x2009, 0x0022, 0x080c, 0xac8d, 0x9085, 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, 0x0036, - 0x0026, 0x00b6, 0x21f0, 0x080c, 0xa888, 0x0106, 0x080c, 0x9398, - 0x080c, 0x9309, 0x080c, 0xa7d9, 0x080c, 0xbb0c, 0x010e, 0x090c, - 0xa8a4, 0x3e08, 0x2130, 0x81ff, 0x0120, 0x20a9, 0x007e, 0x900e, - 0x0018, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6620, 0x1140, - 0x9686, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1110, 0x080c, 0x603e, - 0x001e, 0x8108, 0x1f04, 0x31d4, 0x9686, 0x0001, 0x190c, 0x332b, + 0x0026, 0x00b6, 0x21f0, 0x080c, 0xa899, 0x0106, 0x080c, 0x93d1, + 0x080c, 0x9342, 0x080c, 0xa7ea, 0x080c, 0xbb2c, 0x010e, 0x090c, + 0xa8b5, 0x3e08, 0x2130, 0x81ff, 0x0120, 0x20a9, 0x007e, 0x900e, + 0x0018, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6644, 0x1140, + 0x9686, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1110, 0x080c, 0x605e, + 0x001e, 0x8108, 0x1f04, 0x31f4, 0x9686, 0x0001, 0x190c, 0x334b, 0x00be, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, 0x0005, 0x00e6, - 0x00c6, 0x0046, 0x0036, 0x0026, 0x0016, 0x00b6, 0x080c, 0xa888, + 0x00c6, 0x0046, 0x0036, 0x0026, 0x0016, 0x00b6, 0x080c, 0xa899, 0x0106, 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, - 0x938d, 0x0076, 0x2039, 0x0000, 0x080c, 0x9256, 0x2c08, 0x080c, - 0xdffb, 0x007e, 0x001e, 0x010e, 0x090c, 0xa8a4, 0xba10, 0xbb14, - 0xbc84, 0x080c, 0x603e, 0xba12, 0xbb16, 0xbc86, 0x00be, 0x001e, + 0x93c6, 0x0076, 0x2039, 0x0000, 0x080c, 0x928f, 0x2c08, 0x080c, + 0xe038, 0x007e, 0x001e, 0x010e, 0x090c, 0xa8b5, 0xba10, 0xbb14, + 0xbc84, 0x080c, 0x605e, 0xba12, 0xbb16, 0xbc86, 0x00be, 0x001e, 0x002e, 0x003e, 0x004e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x00b6, 0x6010, 0x2058, 0xb8a0, 0x00be, 0x9086, 0x0080, 0x0150, 0x2071, 0x1800, 0x70a8, 0x9005, 0x0110, 0x8001, 0x70aa, 0x000e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x70e4, 0x9005, 0x0dc0, 0x8001, 0x70e6, 0x0ca8, 0xb800, 0xc08c, 0xb802, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x0036, 0x0026, 0x0016, 0x0156, 0x2178, - 0x080c, 0xa888, 0x0106, 0x81ff, 0x1118, 0x20a9, 0x0001, 0x0078, - 0x080c, 0x56d5, 0xd0c4, 0x0140, 0xd0a4, 0x0130, 0x9006, 0x2020, - 0x2009, 0x002d, 0x080c, 0xe2d9, 0x20a9, 0x0800, 0x9016, 0x0026, - 0x928e, 0x007e, 0x0904, 0x32a9, 0x928e, 0x007f, 0x0904, 0x32a9, + 0x080c, 0xa899, 0x0106, 0x81ff, 0x1118, 0x20a9, 0x0001, 0x0078, + 0x080c, 0x56f5, 0xd0c4, 0x0140, 0xd0a4, 0x0130, 0x9006, 0x2020, + 0x2009, 0x002d, 0x080c, 0xe316, 0x20a9, 0x0800, 0x9016, 0x0026, + 0x928e, 0x007e, 0x0904, 0x32c9, 0x928e, 0x007f, 0x0904, 0x32c9, 0x928e, 0x0080, 0x05f0, 0x9288, 0x1000, 0x210c, 0x81ff, 0x05c8, 0x8fff, 0x1150, 0x2001, 0x198d, 0x0006, 0x2003, 0x0001, 0x080c, - 0x32ba, 0x000e, 0x2003, 0x0000, 0x00b6, 0x00c6, 0x2158, 0x2001, - 0x0001, 0x080c, 0x6a34, 0x00ce, 0x00be, 0x2019, 0x0029, 0x080c, - 0x938d, 0x0076, 0x2039, 0x0000, 0x080c, 0x9256, 0x00b6, 0x00c6, + 0x32da, 0x000e, 0x2003, 0x0000, 0x00b6, 0x00c6, 0x2158, 0x2001, + 0x0001, 0x080c, 0x6a58, 0x00ce, 0x00be, 0x2019, 0x0029, 0x080c, + 0x93c6, 0x0076, 0x2039, 0x0000, 0x080c, 0x928f, 0x00b6, 0x00c6, 0x0026, 0x2158, 0xba04, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1118, 0xb807, 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, 0x9215, 0xba06, - 0x002e, 0x00ce, 0x00be, 0x0016, 0x2c08, 0x080c, 0xdffb, 0x001e, - 0x007e, 0x002e, 0x8210, 0x1f04, 0x325f, 0x010e, 0x090c, 0xa8a4, + 0x002e, 0x00ce, 0x00be, 0x0016, 0x2c08, 0x080c, 0xe038, 0x001e, + 0x007e, 0x002e, 0x8210, 0x1f04, 0x327f, 0x010e, 0x090c, 0xa8b5, 0x015e, 0x001e, 0x002e, 0x003e, 0x004e, 0x00be, 0x00ce, 0x00ee, - 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, 0x080c, 0x56d5, 0xd0c4, + 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, 0x080c, 0x56f5, 0xd0c4, 0x0140, 0xd0a4, 0x0130, 0x9006, 0x2220, 0x2009, 0x0029, 0x080c, - 0xe2d9, 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, - 0x00c6, 0x7294, 0x82ff, 0x01e8, 0x080c, 0x6a62, 0x11d0, 0x2100, - 0x080c, 0x2647, 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, + 0xe316, 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x7294, 0x82ff, 0x01e8, 0x080c, 0x6a86, 0x11d0, 0x2100, + 0x080c, 0x2663, 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1d80, 0x2c04, 0xd384, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x9116, 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, 0x0c68, 0x9085, 0x0001, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, - 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xa888, 0x0106, - 0x0036, 0x2019, 0x0029, 0x00c1, 0x003e, 0x010e, 0x090c, 0xa8a4, + 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xa899, 0x0106, + 0x0036, 0x2019, 0x0029, 0x00c1, 0x003e, 0x010e, 0x090c, 0xa8b5, 0x9180, 0x1000, 0x2004, 0x9065, 0x0158, 0x0016, 0x00c6, 0x2061, - 0x1b31, 0x001e, 0x6112, 0x080c, 0x31ef, 0x001e, 0x080c, 0x65e4, + 0x1b31, 0x001e, 0x6112, 0x080c, 0x320f, 0x001e, 0x080c, 0x6608, 0x012e, 0x00ce, 0x001e, 0x0005, 0x0016, 0x0026, 0x2110, 0x080c, - 0xa372, 0x080c, 0xe640, 0x002e, 0x001e, 0x0005, 0x2001, 0x1837, - 0x2004, 0xd0cc, 0x0005, 0x00c6, 0x00b6, 0x080c, 0x74c8, 0x1118, - 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, 0x74c8, 0x1110, + 0xa37f, 0x080c, 0xe67d, 0x002e, 0x001e, 0x0005, 0x2001, 0x1837, + 0x2004, 0xd0cc, 0x0005, 0x00c6, 0x00b6, 0x080c, 0x74ec, 0x1118, + 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, 0x74ec, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x9180, 0x1000, 0x2004, 0x905d, - 0x0130, 0x86ff, 0x0110, 0xb800, 0xd0bc, 0x090c, 0x65e4, 0x8108, - 0x1f04, 0x333c, 0x2061, 0x1800, 0x607f, 0x0000, 0x6080, 0x9084, + 0x0130, 0x86ff, 0x0110, 0xb800, 0xd0bc, 0x090c, 0x6608, 0x8108, + 0x1f04, 0x335c, 0x2061, 0x1800, 0x607f, 0x0000, 0x6080, 0x9084, 0x00ff, 0x6082, 0x60b3, 0x0000, 0x00be, 0x00ce, 0x0005, 0x2001, 0x1869, 0x2004, 0xd0bc, 0x0005, 0x2011, 0x1848, 0x2214, 0xd2ec, 0x0005, 0x0026, 0x2011, 0x1867, 0x2214, 0xd2dc, 0x002e, 0x0005, @@ -1473,89 +1477,89 @@ unsigned short risc_code01[] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x2071, 0x189e, 0x7003, 0x0002, 0x9006, 0x7016, 0x701a, 0x704a, 0x704e, 0x700e, 0x7042, 0x7046, 0x703b, 0x18ba, 0x703f, 0x18ba, - 0x7007, 0x0001, 0x080c, 0x1053, 0x090c, 0x0d7d, 0x2900, 0x706a, - 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x1053, 0x090c, 0x0d7d, + 0x7007, 0x0001, 0x080c, 0x1060, 0x090c, 0x0d7d, 0x2900, 0x706a, + 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x1060, 0x090c, 0x0d7d, 0x2900, 0x706e, 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x0005, 0x2071, - 0x189e, 0x7004, 0x0002, 0x3497, 0x3498, 0x34ab, 0x34bf, 0x0005, - 0x1004, 0x34a8, 0x0e04, 0x34a8, 0x2079, 0x0000, 0x0126, 0x2091, + 0x189e, 0x7004, 0x0002, 0x34b7, 0x34b8, 0x34cb, 0x34df, 0x0005, + 0x1004, 0x34c8, 0x0e04, 0x34c8, 0x2079, 0x0000, 0x0126, 0x2091, 0x8000, 0x700c, 0x9005, 0x1128, 0x700f, 0x0001, 0x012e, 0x0468, 0x0005, 0x012e, 0x0ce8, 0x2079, 0x0000, 0x2061, 0x18b8, 0x2c4c, - 0xa86c, 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, 0x0904, 0x3593, + 0xa86c, 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, 0x0904, 0x35b3, 0x0005, 0x7018, 0x2048, 0x2061, 0x1800, 0x701c, 0x0807, 0x7014, 0x2048, 0xa864, 0x9094, 0x00ff, 0x9296, 0x0029, 0x1120, 0xaa78, 0xd2fc, 0x0128, 0x0005, 0x9086, 0x0103, 0x0108, 0x0005, 0x2079, 0x0000, 0x2061, 0x1800, 0x701c, 0x0807, 0x2061, 0x1800, 0x7880, 0x908a, 0x0040, 0x1210, 0x61d0, 0x0042, 0x2100, 0x908a, 0x003f, - 0x1a04, 0x3590, 0x61d0, 0x0804, 0x3525, 0x3567, 0x359f, 0x3590, - 0x35a9, 0x35b3, 0x35b9, 0x35bd, 0x35cd, 0x35d1, 0x35e7, 0x35ed, - 0x35f3, 0x35fe, 0x3609, 0x3618, 0x3627, 0x3635, 0x364c, 0x3667, - 0x3590, 0x3710, 0x374e, 0x37f3, 0x3804, 0x3827, 0x3590, 0x3590, - 0x3590, 0x385f, 0x387f, 0x3888, 0x38b4, 0x38ba, 0x3590, 0x3900, - 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x390b, 0x3914, 0x391c, - 0x391e, 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x394e, - 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x396b, 0x39cf, 0x3590, - 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x0002, 0x39f9, 0x39fc, - 0x3a5b, 0x3a74, 0x3aa4, 0x3d46, 0x3590, 0x52a6, 0x3590, 0x3590, - 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x3590, 0x35e7, 0x35ed, - 0x4245, 0x56f9, 0x4263, 0x5335, 0x5386, 0x5489, 0x3590, 0x54eb, - 0x5527, 0x5558, 0x5664, 0x5585, 0x55e4, 0x3590, 0x4267, 0x441c, - 0x4432, 0x4457, 0x44bc, 0x4530, 0x4550, 0x45c7, 0x4623, 0x467f, - 0x4682, 0x46a7, 0x4717, 0x4781, 0x4789, 0x48bb, 0x4a33, 0x4a67, - 0x4ccb, 0x3590, 0x4ce9, 0x4d8e, 0x4e70, 0x4eca, 0x3590, 0x4f7f, - 0x3590, 0x4fe5, 0x5000, 0x4789, 0x5246, 0x714c, 0x0000, 0x2021, - 0x4000, 0x080c, 0x4ae5, 0x0126, 0x2091, 0x8000, 0x0e04, 0x3571, + 0x1a04, 0x35b0, 0x61d0, 0x0804, 0x3545, 0x3587, 0x35bf, 0x35b0, + 0x35c9, 0x35d3, 0x35d9, 0x35dd, 0x35ed, 0x35f1, 0x3607, 0x360d, + 0x3613, 0x361e, 0x3629, 0x3638, 0x3647, 0x3655, 0x366c, 0x3687, + 0x35b0, 0x3730, 0x376e, 0x3813, 0x3824, 0x3847, 0x35b0, 0x35b0, + 0x35b0, 0x387f, 0x389f, 0x38a8, 0x38d4, 0x38da, 0x35b0, 0x3920, + 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x392b, 0x3934, 0x393c, + 0x393e, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x396e, + 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x398b, 0x39ef, 0x35b0, + 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x0002, 0x3a19, 0x3a1c, + 0x3a7b, 0x3a94, 0x3ac4, 0x3d66, 0x35b0, 0x52c6, 0x35b0, 0x35b0, + 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x35b0, 0x3607, 0x360d, + 0x4265, 0x5719, 0x4283, 0x5355, 0x53a6, 0x54a9, 0x35b0, 0x550b, + 0x5547, 0x5578, 0x5684, 0x55a5, 0x5604, 0x35b0, 0x4287, 0x443c, + 0x4452, 0x4477, 0x44dc, 0x4550, 0x4570, 0x45e7, 0x4643, 0x469f, + 0x46a2, 0x46c7, 0x4737, 0x47a1, 0x47a9, 0x48db, 0x4a53, 0x4a87, + 0x4ceb, 0x35b0, 0x4d09, 0x4dae, 0x4e90, 0x4eea, 0x35b0, 0x4f9f, + 0x35b0, 0x5005, 0x5020, 0x47a9, 0x5266, 0x714c, 0x0000, 0x2021, + 0x4000, 0x080c, 0x4b05, 0x0126, 0x2091, 0x8000, 0x0e04, 0x3591, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, 0x7a8a, 0x7b8e, - 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11ee, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x2021, 0x4001, 0x08b0, 0x2021, 0x4002, 0x0898, 0x2021, 0x4003, 0x0880, 0x2021, 0x4005, 0x0868, 0x2021, 0x4006, 0x0850, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, - 0x4af2, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, - 0x7990, 0x0804, 0x4af5, 0x7984, 0x7888, 0x2114, 0x200a, 0x0804, - 0x3567, 0x7984, 0x2114, 0x0804, 0x3567, 0x20e1, 0x0000, 0x2099, + 0x4b12, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, + 0x7990, 0x0804, 0x4b15, 0x7984, 0x7888, 0x2114, 0x200a, 0x0804, + 0x3587, 0x7984, 0x2114, 0x0804, 0x3587, 0x20e1, 0x0000, 0x2099, 0x0021, 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, 0x001f, 0x4003, - 0x7984, 0x7a88, 0x7b8c, 0x0804, 0x3567, 0x7884, 0x2060, 0x0804, - 0x361a, 0x2009, 0x0003, 0x2011, 0x0002, 0x2019, 0x001e, 0x789b, + 0x7984, 0x7a88, 0x7b8c, 0x0804, 0x3587, 0x7884, 0x2060, 0x0804, + 0x363a, 0x2009, 0x0003, 0x2011, 0x0003, 0x2019, 0x0002, 0x789b, 0x0137, 0x7893, 0xffff, 0x2001, 0x188f, 0x2004, 0x9005, 0x0118, - 0x7896, 0x0804, 0x3567, 0x7897, 0x0001, 0x0804, 0x3567, 0x2039, - 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x35a3, 0x2039, 0x0001, 0x7d98, - 0x7c9c, 0x0804, 0x35ad, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, - 0x359c, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x35a3, 0x79a0, 0x9182, - 0x0040, 0x0210, 0x0804, 0x359c, 0x2138, 0x7d98, 0x7c9c, 0x0804, - 0x35ad, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x359c, 0x21e8, - 0x7984, 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, 0x0804, 0x3567, + 0x7896, 0x0804, 0x3587, 0x7897, 0x0001, 0x0804, 0x3587, 0x2039, + 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x35c3, 0x2039, 0x0001, 0x7d98, + 0x7c9c, 0x0804, 0x35cd, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, + 0x35bc, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x35c3, 0x79a0, 0x9182, + 0x0040, 0x0210, 0x0804, 0x35bc, 0x2138, 0x7d98, 0x7c9c, 0x0804, + 0x35cd, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x35bc, 0x21e8, + 0x7984, 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, 0x0804, 0x3587, 0x2061, 0x0800, 0xe10c, 0x9006, 0x2c15, 0x9200, 0x8c60, 0x8109, - 0x1dd8, 0x2010, 0x9005, 0x0904, 0x3567, 0x0804, 0x3596, 0x79a0, - 0x9182, 0x0040, 0x0210, 0x0804, 0x359c, 0x21e0, 0x20a9, 0x0001, - 0x7984, 0x2198, 0x4012, 0x0804, 0x3567, 0x2069, 0x1847, 0x7884, - 0x7990, 0x911a, 0x1a04, 0x359c, 0x8019, 0x0904, 0x359c, 0x684a, + 0x1dd8, 0x2010, 0x9005, 0x0904, 0x3587, 0x0804, 0x35b6, 0x79a0, + 0x9182, 0x0040, 0x0210, 0x0804, 0x35bc, 0x21e0, 0x20a9, 0x0001, + 0x7984, 0x2198, 0x4012, 0x0804, 0x3587, 0x2069, 0x1847, 0x7884, + 0x7990, 0x911a, 0x1a04, 0x35bc, 0x8019, 0x0904, 0x35bc, 0x684a, 0x6942, 0x788c, 0x6852, 0x7888, 0x6856, 0x9006, 0x685a, 0x685e, - 0x080c, 0x77fd, 0x0804, 0x3567, 0x2069, 0x1847, 0x7884, 0x7994, - 0x911a, 0x1a04, 0x359c, 0x8019, 0x0904, 0x359c, 0x684e, 0x6946, + 0x080c, 0x7820, 0x0804, 0x3587, 0x2069, 0x1847, 0x7884, 0x7994, + 0x911a, 0x1a04, 0x35bc, 0x8019, 0x0904, 0x35bc, 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, 0x6866, 0x9006, 0x686a, 0x686e, 0x0126, - 0x2091, 0x8000, 0x080c, 0x6ad0, 0x012e, 0x0804, 0x3567, 0x902e, - 0x2520, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3599, 0x7984, + 0x2091, 0x8000, 0x080c, 0x6af4, 0x012e, 0x0804, 0x3587, 0x902e, + 0x2520, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x35b9, 0x7984, 0x7b88, 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, 0x20a1, 0x18a6, - 0x4101, 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, - 0x2009, 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4af2, - 0x701f, 0x368b, 0x0005, 0xa864, 0x2008, 0x9084, 0x00ff, 0x9096, + 0x4101, 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, + 0x2009, 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4b12, + 0x701f, 0x36ab, 0x0005, 0xa864, 0x2008, 0x9084, 0x00ff, 0x9096, 0x0011, 0x0168, 0x9096, 0x0019, 0x0150, 0x9096, 0x0015, 0x0138, - 0x9096, 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, 0x3599, 0x810f, - 0x918c, 0x00ff, 0x0904, 0x3599, 0x7112, 0x7010, 0x8001, 0x0560, - 0x7012, 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, + 0x9096, 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, 0x35b9, 0x810f, + 0x918c, 0x00ff, 0x0904, 0x35b9, 0x7112, 0x7010, 0x8001, 0x0560, + 0x7012, 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0x2009, 0x0020, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0x9290, 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, - 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4af2, 0x701f, 0x36c9, + 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x4b12, 0x701f, 0x36e9, 0x0005, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0002, 0x0120, 0x9096, - 0x000a, 0x1904, 0x3599, 0x0888, 0x7014, 0x2048, 0xa868, 0xc0fd, + 0x000a, 0x1904, 0x35b9, 0x0888, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0029, 0x1160, 0xc2fd, - 0xaa7a, 0x080c, 0x6191, 0x0150, 0x0126, 0x2091, 0x8000, 0xa87a, - 0xa982, 0x012e, 0x0050, 0x080c, 0x64ba, 0x1128, 0x7007, 0x0003, - 0x701f, 0x36f5, 0x0005, 0x080c, 0x6faf, 0x0126, 0x2091, 0x8000, + 0xaa7a, 0x080c, 0x61b1, 0x0150, 0x0126, 0x2091, 0x8000, 0xa87a, + 0xa982, 0x012e, 0x0050, 0x080c, 0x64de, 0x1128, 0x7007, 0x0003, + 0x701f, 0x3715, 0x0005, 0x080c, 0x6fd3, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x20e1, 0x0001, 0x2099, 0x18a6, 0x400a, 0x2100, 0x9210, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, - 0x9080, 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, 0x0804, 0x4af5, + 0x9080, 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, 0x0804, 0x4b15, 0x2091, 0x8000, 0x7837, 0x4000, 0x7833, 0x0010, 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, 0x5020, 0x788f, 0x2020, 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, 0x7896, 0x2061, 0x0100, 0x6200, 0x2061, @@ -1564,267 +1568,267 @@ unsigned short risc_code01[] = { 0xd084, 0x0180, 0x2001, 0x1a21, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, 0x81ff, 0x1904, - 0x3599, 0x7984, 0x080c, 0x6620, 0x1904, 0x359c, 0x7e98, 0x9684, - 0x3fff, 0x9082, 0x4000, 0x1a04, 0x359c, 0x7c88, 0x7d8c, 0x080c, - 0x6856, 0x080c, 0x67e3, 0x1518, 0x2061, 0x1ddc, 0x0126, 0x2091, + 0x35b9, 0x7984, 0x080c, 0x6644, 0x1904, 0x35bc, 0x7e98, 0x9684, + 0x3fff, 0x9082, 0x4000, 0x1a04, 0x35bc, 0x7c88, 0x7d8c, 0x080c, + 0x687a, 0x080c, 0x6807, 0x1518, 0x2061, 0x1ddc, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0150, 0x012e, 0x9ce0, - 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a04, 0x3599, 0x0c30, - 0x080c, 0xc430, 0x012e, 0x0904, 0x3599, 0x0804, 0x3567, 0x900e, - 0x2001, 0x0005, 0x080c, 0x6faf, 0x0126, 0x2091, 0x8000, 0x080c, - 0xcb3b, 0x080c, 0x6d7b, 0x012e, 0x0804, 0x3567, 0x00a6, 0x2950, - 0xb198, 0x080c, 0x6620, 0x1904, 0x37e0, 0xb6a4, 0x9684, 0x3fff, - 0x9082, 0x4000, 0x16e8, 0xb49c, 0xb5a0, 0x080c, 0x6856, 0x080c, - 0x6800, 0x1520, 0x2061, 0x1ddc, 0x0126, 0x2091, 0x8000, 0x6000, + 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a04, 0x35b9, 0x0c30, + 0x080c, 0xc453, 0x012e, 0x0904, 0x35b9, 0x0804, 0x3587, 0x900e, + 0x2001, 0x0005, 0x080c, 0x6fd3, 0x0126, 0x2091, 0x8000, 0x080c, + 0xcb6e, 0x080c, 0x6d9f, 0x012e, 0x0804, 0x3587, 0x00a6, 0x2950, + 0xb198, 0x080c, 0x6644, 0x1904, 0x3800, 0xb6a4, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x16e8, 0xb49c, 0xb5a0, 0x080c, 0x687a, 0x080c, + 0x6824, 0x1520, 0x2061, 0x1ddc, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0158, 0x012e, 0x9ce0, 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x2009, 0x000d, 0x12b0, 0x0c28, 0x080c, - 0xc430, 0x012e, 0x2009, 0x0003, 0x0178, 0x00e0, 0x900e, 0x2001, - 0x0005, 0x080c, 0x6faf, 0x0126, 0x2091, 0x8000, 0x080c, 0xcb3b, - 0x080c, 0x6d6f, 0x012e, 0x0070, 0xb097, 0x4005, 0xb19a, 0x0010, + 0xc453, 0x012e, 0x2009, 0x0003, 0x0178, 0x00e0, 0x900e, 0x2001, + 0x0005, 0x080c, 0x6fd3, 0x0126, 0x2091, 0x8000, 0x080c, 0xcb6e, + 0x080c, 0x6d93, 0x012e, 0x0070, 0xb097, 0x4005, 0xb19a, 0x0010, 0xb097, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x2a48, 0x00ae, 0x0005, 0xb097, 0x4000, 0x9006, 0x918d, 0x0001, 0x2008, - 0x2a48, 0x00ae, 0x0005, 0x81ff, 0x1904, 0x3599, 0x080c, 0x4ac0, - 0x0904, 0x359c, 0x080c, 0x66e7, 0x0904, 0x3599, 0x080c, 0x685c, - 0x0904, 0x3599, 0x0804, 0x4547, 0x81ff, 0x1904, 0x3599, 0x080c, - 0x4adc, 0x0904, 0x359c, 0x080c, 0x68ea, 0x0904, 0x3599, 0x2019, - 0x0005, 0x79a8, 0x080c, 0x6877, 0x0904, 0x3599, 0x7888, 0x908a, - 0x1000, 0x1a04, 0x359c, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, - 0x862b, 0x7984, 0xd184, 0x1904, 0x3567, 0x0804, 0x4547, 0x0126, + 0x2a48, 0x00ae, 0x0005, 0x81ff, 0x1904, 0x35b9, 0x080c, 0x4ae0, + 0x0904, 0x35bc, 0x080c, 0x670b, 0x0904, 0x35b9, 0x080c, 0x6880, + 0x0904, 0x35b9, 0x0804, 0x4567, 0x81ff, 0x1904, 0x35b9, 0x080c, + 0x4afc, 0x0904, 0x35bc, 0x080c, 0x690e, 0x0904, 0x35b9, 0x2019, + 0x0005, 0x79a8, 0x080c, 0x689b, 0x0904, 0x35b9, 0x7888, 0x908a, + 0x1000, 0x1a04, 0x35bc, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, + 0x865f, 0x7984, 0xd184, 0x1904, 0x3587, 0x0804, 0x4567, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, 0x0001, 0x0450, 0x2029, - 0x07ff, 0x645c, 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, 0x6620, - 0x11d8, 0x080c, 0x68ea, 0x1128, 0x2009, 0x0002, 0x62c0, 0x2518, - 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, 0x6877, 0x1118, 0x2009, + 0x07ff, 0x645c, 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, 0x6644, + 0x11d8, 0x080c, 0x690e, 0x1128, 0x2009, 0x0002, 0x62c0, 0x2518, + 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, 0x689b, 0x1118, 0x2009, 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, 0x1270, 0x8003, 0x800b, - 0x810b, 0x9108, 0x080c, 0x862b, 0x8529, 0x1ae0, 0x012e, 0x0804, - 0x3567, 0x012e, 0x0804, 0x3599, 0x012e, 0x0804, 0x359c, 0x080c, - 0x4ac0, 0x0904, 0x359c, 0x080c, 0x66e7, 0x0904, 0x3599, 0x080c, - 0xa888, 0xbaa0, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, 0x938d, - 0x0076, 0x903e, 0x080c, 0x9256, 0x900e, 0x080c, 0xdffb, 0x007e, - 0x00ce, 0x080c, 0xa8a4, 0x080c, 0x6856, 0x0804, 0x3567, 0x080c, - 0x4ac0, 0x0904, 0x359c, 0x080c, 0x6856, 0x2208, 0x0804, 0x3567, + 0x810b, 0x9108, 0x080c, 0x865f, 0x8529, 0x1ae0, 0x012e, 0x0804, + 0x3587, 0x012e, 0x0804, 0x35b9, 0x012e, 0x0804, 0x35bc, 0x080c, + 0x4ae0, 0x0904, 0x35bc, 0x080c, 0x670b, 0x0904, 0x35b9, 0x080c, + 0xa899, 0xbaa0, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, 0x93c6, + 0x0076, 0x903e, 0x080c, 0x928f, 0x900e, 0x080c, 0xe038, 0x007e, + 0x00ce, 0x080c, 0xa8b5, 0x080c, 0x687a, 0x0804, 0x3587, 0x080c, + 0x4ae0, 0x0904, 0x35bc, 0x080c, 0x687a, 0x2208, 0x0804, 0x3587, 0x0156, 0x00d6, 0x00e6, 0x00c6, 0x2069, 0x1910, 0x6810, 0x6914, 0x910a, 0x1208, 0x900e, 0x6816, 0x9016, 0x901e, 0x2071, 0x19e6, 0x7028, 0x9065, 0x0118, 0x8210, 0x600c, 0x0cd8, 0x2300, 0x9218, - 0x00ce, 0x00ee, 0x00de, 0x015e, 0x0804, 0x3567, 0x00f6, 0x0016, + 0x00ce, 0x00ee, 0x00de, 0x015e, 0x0804, 0x3587, 0x00f6, 0x0016, 0x907d, 0x0138, 0x9006, 0x8000, 0x2f0c, 0x81ff, 0x0110, 0x2178, 0x0cd0, 0x001e, 0x00fe, 0x0005, 0x2069, 0x1910, 0x6910, 0x62bc, - 0x0804, 0x3567, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3599, - 0x0126, 0x2091, 0x8000, 0x080c, 0x56e9, 0x0128, 0x2009, 0x0007, - 0x012e, 0x0804, 0x3599, 0x012e, 0x615c, 0x9190, 0x3368, 0x2215, + 0x0804, 0x3587, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x35b9, + 0x0126, 0x2091, 0x8000, 0x080c, 0x5709, 0x0128, 0x2009, 0x0007, + 0x012e, 0x0804, 0x35b9, 0x012e, 0x615c, 0x9190, 0x3388, 0x2215, 0x9294, 0x00ff, 0x637c, 0x83ff, 0x0108, 0x6280, 0x67dc, 0x97c4, 0x000a, 0x98c6, 0x000a, 0x1118, 0x2031, 0x0001, 0x00e8, 0x97c4, 0x0022, 0x98c6, 0x0022, 0x1118, 0x2031, 0x0003, 0x00a8, 0x97c4, 0x0012, 0x98c6, 0x0012, 0x1118, 0x2031, 0x0002, 0x0068, 0x080c, - 0x74c8, 0x1118, 0x2031, 0x0004, 0x0038, 0xd79c, 0x0120, 0x2009, - 0x0005, 0x0804, 0x3599, 0x9036, 0x7e9a, 0x7f9e, 0x0804, 0x3567, + 0x74ec, 0x1118, 0x2031, 0x0004, 0x0038, 0xd79c, 0x0120, 0x2009, + 0x0005, 0x0804, 0x35b9, 0x9036, 0x7e9a, 0x7f9e, 0x0804, 0x3587, 0x614c, 0x6250, 0x2019, 0x1985, 0x231c, 0x2001, 0x1986, 0x2004, - 0x789a, 0x0804, 0x3567, 0x0126, 0x2091, 0x8000, 0x6138, 0x623c, - 0x6340, 0x012e, 0x0804, 0x3567, 0x080c, 0x4adc, 0x0904, 0x359c, - 0xba44, 0xbb38, 0x0804, 0x3567, 0x080c, 0x0d7d, 0x080c, 0x4adc, - 0x2110, 0x0904, 0x359c, 0xb804, 0x908c, 0x00ff, 0x918e, 0x0006, + 0x789a, 0x0804, 0x3587, 0x0126, 0x2091, 0x8000, 0x6138, 0x623c, + 0x6340, 0x012e, 0x0804, 0x3587, 0x080c, 0x4afc, 0x0904, 0x35bc, + 0xba44, 0xbb38, 0x0804, 0x3587, 0x080c, 0x0d7d, 0x080c, 0x4afc, + 0x2110, 0x0904, 0x35bc, 0xb804, 0x908c, 0x00ff, 0x918e, 0x0006, 0x0140, 0x9084, 0xff00, 0x9086, 0x0600, 0x2009, 0x0009, 0x1904, - 0x3599, 0x0126, 0x2091, 0x8000, 0x2019, 0x0005, 0x00c6, 0x9066, - 0x080c, 0xa888, 0x080c, 0xa372, 0x080c, 0x938d, 0x0076, 0x903e, - 0x080c, 0x9256, 0x900e, 0x080c, 0xdffb, 0x007e, 0x00ce, 0x080c, - 0xa8a4, 0xb807, 0x0407, 0x012e, 0x0804, 0x3567, 0x614c, 0x6250, + 0x35b9, 0x0126, 0x2091, 0x8000, 0x2019, 0x0005, 0x00c6, 0x9066, + 0x080c, 0xa899, 0x080c, 0xa37f, 0x080c, 0x93c6, 0x0076, 0x903e, + 0x080c, 0x928f, 0x900e, 0x080c, 0xe038, 0x007e, 0x00ce, 0x080c, + 0xa8b5, 0xb807, 0x0407, 0x012e, 0x0804, 0x3587, 0x614c, 0x6250, 0x7884, 0x604e, 0x7b88, 0x6352, 0x2069, 0x1847, 0x831f, 0x9305, 0x6816, 0x788c, 0x2069, 0x1985, 0x2d1c, 0x206a, 0x7e98, 0x9682, 0x0014, 0x1210, 0x2031, 0x07d0, 0x2069, 0x1986, 0x2d04, 0x266a, - 0x789a, 0x0804, 0x3567, 0x0126, 0x2091, 0x8000, 0x6138, 0x7884, - 0x603a, 0x910e, 0xd1b4, 0x190c, 0x0ecc, 0xd0c4, 0x01a8, 0x00d6, + 0x789a, 0x0804, 0x3587, 0x0126, 0x2091, 0x8000, 0x6138, 0x7884, + 0x603a, 0x910e, 0xd1b4, 0x190c, 0x0ed9, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, 0x2009, 0x199c, 0x200a, 0x78ac, 0x2011, 0x199d, 0x2012, 0x2069, 0x0100, 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, 0x6a5a, 0x0010, 0x210c, 0x695a, 0x00de, 0x7888, 0x603e, 0x2011, 0x0116, 0x220c, 0x7888, 0xd08c, 0x0118, 0x918d, 0x0040, 0x0010, 0x918c, 0xff7f, 0x2112, 0x6140, 0x788c, 0x6042, 0x910e, 0xd1e4, 0x190c, - 0x0ee7, 0x9084, 0x0020, 0x0130, 0x78b4, 0x6046, 0x9084, 0x0001, - 0x090c, 0x4245, 0x6040, 0xd0cc, 0x0120, 0x78b0, 0x2011, 0x0114, - 0x2012, 0x012e, 0x0804, 0x3567, 0x00f6, 0x2079, 0x1800, 0x7a38, + 0x0ef4, 0x9084, 0x0020, 0x0130, 0x78b4, 0x6046, 0x9084, 0x0001, + 0x090c, 0x4265, 0x6040, 0xd0cc, 0x0120, 0x78b0, 0x2011, 0x0114, + 0x2012, 0x012e, 0x0804, 0x3587, 0x00f6, 0x2079, 0x1800, 0x7a38, 0xa898, 0x9084, 0xfebf, 0x9215, 0xa89c, 0x9084, 0xfebf, 0x8002, 0x9214, 0x7838, 0x9084, 0x0140, 0x9215, 0x7a3a, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x00fe, 0x0005, 0x7898, - 0x9005, 0x01a8, 0x7888, 0x9025, 0x0904, 0x359c, 0x788c, 0x902d, - 0x0904, 0x359c, 0x900e, 0x080c, 0x6620, 0x1120, 0xba44, 0xbb38, + 0x9005, 0x01a8, 0x7888, 0x9025, 0x0904, 0x35bc, 0x788c, 0x902d, + 0x0904, 0x35bc, 0x900e, 0x080c, 0x6644, 0x1120, 0xba44, 0xbb38, 0xbc46, 0xbd3a, 0x9186, 0x07ff, 0x0190, 0x8108, 0x0ca0, 0x080c, - 0x4adc, 0x0904, 0x359c, 0x7888, 0x900d, 0x0904, 0x359c, 0x788c, - 0x9005, 0x0904, 0x359c, 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, - 0x3567, 0x2011, 0xbc09, 0x0010, 0x2011, 0xbc05, 0x080c, 0x56e9, - 0x1904, 0x3599, 0x00c6, 0x2061, 0x0100, 0x7984, 0x9186, 0x00ff, + 0x4afc, 0x0904, 0x35bc, 0x7888, 0x900d, 0x0904, 0x35bc, 0x788c, + 0x9005, 0x0904, 0x35bc, 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, + 0x3587, 0x2011, 0xbc09, 0x0010, 0x2011, 0xbc05, 0x080c, 0x5709, + 0x1904, 0x35b9, 0x00c6, 0x2061, 0x0100, 0x7984, 0x9186, 0x00ff, 0x1130, 0x2001, 0x1818, 0x2004, 0x9085, 0xff00, 0x0088, 0x9182, - 0x007f, 0x16e0, 0x9188, 0x3368, 0x210d, 0x918c, 0x00ff, 0x2001, + 0x007f, 0x16e0, 0x9188, 0x3388, 0x210d, 0x918c, 0x00ff, 0x2001, 0x1818, 0x2004, 0x0026, 0x9116, 0x002e, 0x0580, 0x810f, 0x9105, - 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0xab89, 0x000e, 0x0510, - 0x602e, 0x620a, 0x7984, 0x00b6, 0x080c, 0x65c5, 0x2b08, 0x00be, - 0x1500, 0x6112, 0x6023, 0x0001, 0x080c, 0x4aa9, 0x01d0, 0x9006, + 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0xab9a, 0x000e, 0x0510, + 0x602e, 0x620a, 0x7984, 0x00b6, 0x080c, 0x65e9, 0x2b08, 0x00be, + 0x1500, 0x6112, 0x6023, 0x0001, 0x080c, 0x4ac9, 0x01d0, 0x9006, 0xa866, 0x7007, 0x0003, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x701f, - 0x3a54, 0x2900, 0x6016, 0x2009, 0x0032, 0x080c, 0xac7c, 0x012e, - 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x3599, 0x00ce, 0x0804, - 0x359c, 0x080c, 0xabdf, 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, - 0x3599, 0x0804, 0x3567, 0x2061, 0x1a6e, 0x0126, 0x2091, 0x8000, + 0x3a74, 0x2900, 0x6016, 0x2009, 0x0032, 0x080c, 0xac8d, 0x012e, + 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x35b9, 0x00ce, 0x0804, + 0x35bc, 0x080c, 0xabf0, 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, + 0x35b9, 0x0804, 0x3587, 0x2061, 0x1a6e, 0x0126, 0x2091, 0x8000, 0x6000, 0xd084, 0x0170, 0x6104, 0x6208, 0x2061, 0x1800, 0x6354, 0x6074, 0x789a, 0x60c0, 0x789e, 0x60bc, 0x78aa, 0x012e, 0x0804, - 0x3567, 0x900e, 0x2110, 0x0c88, 0x81ff, 0x1904, 0x3599, 0x080c, - 0x74c8, 0x0904, 0x3599, 0x0126, 0x2091, 0x8000, 0x6254, 0x6074, - 0x9202, 0x0248, 0x9085, 0x0001, 0x080c, 0x267d, 0x080c, 0x5903, - 0x012e, 0x0804, 0x3567, 0x012e, 0x0804, 0x359c, 0x0006, 0x0016, + 0x3587, 0x900e, 0x2110, 0x0c88, 0x81ff, 0x1904, 0x35b9, 0x080c, + 0x74ec, 0x0904, 0x35b9, 0x0126, 0x2091, 0x8000, 0x6254, 0x6074, + 0x9202, 0x0248, 0x9085, 0x0001, 0x080c, 0x2699, 0x080c, 0x5923, + 0x012e, 0x0804, 0x3587, 0x012e, 0x0804, 0x35bc, 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, 0x19a8, 0x2070, 0x2061, 0x1847, 0x6008, - 0x2072, 0x900e, 0x2011, 0x1400, 0x080c, 0x9148, 0x7206, 0x00ee, + 0x2072, 0x900e, 0x2011, 0x1400, 0x080c, 0x9181, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, - 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x3569, 0x7884, 0xd0fc, + 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x3589, 0x7884, 0xd0fc, 0x0148, 0x2001, 0x002a, 0x2004, 0x9082, 0x00e1, 0x0288, 0x012e, - 0x0804, 0x359c, 0x2001, 0x002a, 0x2004, 0x2069, 0x1847, 0x6908, - 0x9102, 0x1230, 0x012e, 0x0804, 0x359c, 0x012e, 0x0804, 0x3599, - 0x080c, 0xab49, 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x3b1f, 0x00c6, - 0x080c, 0x4aa9, 0x00ce, 0x0d88, 0xa867, 0x0000, 0x7884, 0xa80a, + 0x0804, 0x35bc, 0x2001, 0x002a, 0x2004, 0x2069, 0x1847, 0x6908, + 0x9102, 0x1230, 0x012e, 0x0804, 0x35bc, 0x012e, 0x0804, 0x35b9, + 0x080c, 0xab5a, 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x3b3f, 0x00c6, + 0x080c, 0x4ac9, 0x00ce, 0x0d88, 0xa867, 0x0000, 0x7884, 0xa80a, 0x7898, 0xa80e, 0x789c, 0xa812, 0x2001, 0x002e, 0x2004, 0xa81a, 0x2001, 0x002f, 0x2004, 0xa81e, 0x2001, 0x0030, 0x2004, 0xa822, 0x2001, 0x0031, 0x2004, 0xa826, 0x2001, 0x0034, 0x2004, 0xa82a, 0x2001, 0x0035, 0x2004, 0xa82e, 0x2001, 0x002a, 0x2004, 0x9080, - 0x0003, 0x9084, 0x00fc, 0x8004, 0xa816, 0x080c, 0x3ca9, 0x0928, + 0x0003, 0x9084, 0x00fc, 0x8004, 0xa816, 0x080c, 0x3cc9, 0x0928, 0x7014, 0x2048, 0xad2c, 0xac28, 0xab1c, 0xaa18, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, - 0x4af2, 0x701f, 0x3be6, 0x7023, 0x0001, 0x012e, 0x0005, 0x080c, - 0xa888, 0x0046, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, - 0x00e6, 0x00f6, 0x080c, 0x3a8e, 0x2001, 0x199e, 0x2003, 0x0000, + 0x4b12, 0x701f, 0x3c06, 0x7023, 0x0001, 0x012e, 0x0005, 0x080c, + 0xa899, 0x0046, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x080c, 0x3aae, 0x2001, 0x199e, 0x2003, 0x0000, 0x2021, 0x000a, 0x2061, 0x0100, 0x6104, 0x0016, 0x60bb, 0x0000, - 0x60bf, 0x32e1, 0x60bf, 0x0012, 0x080c, 0x3d18, 0x080c, 0x3cd7, + 0x60bf, 0x32e1, 0x60bf, 0x0012, 0x080c, 0x3d38, 0x080c, 0x3cf7, 0x00f6, 0x00e6, 0x0086, 0x2940, 0x2071, 0x19e6, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, 0x2011, - 0x0001, 0x080c, 0x4089, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3fb6, - 0x080c, 0x3ee3, 0x05b8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, - 0x1db8, 0x080c, 0x40fd, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, + 0x0001, 0x080c, 0x40a9, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3fd6, + 0x080c, 0x3f03, 0x05b8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, + 0x1db8, 0x080c, 0x411d, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, 0x1560, 0x2071, 0x0200, 0x7037, 0x0000, 0x7050, 0x9084, 0xff00, 0x9086, 0x3200, 0x1510, 0x7037, 0x0001, 0x7050, 0x9084, 0xff00, 0x9086, 0xe100, 0x11d0, 0x7037, 0x0000, 0x7054, 0x7037, 0x0000, 0x715c, 0x9106, 0x1190, 0x2001, 0x1820, 0x2004, 0x9106, 0x1168, 0x00c6, 0x2061, 0x0100, 0x6024, 0x9084, 0x1e00, - 0x00ce, 0x0138, 0x080c, 0x3eed, 0x080c, 0x3cd2, 0x0058, 0x080c, - 0x3cd2, 0x080c, 0x4021, 0x080c, 0x3fac, 0x2001, 0x020b, 0x2004, + 0x00ce, 0x0138, 0x080c, 0x3f0d, 0x080c, 0x3cf2, 0x0058, 0x080c, + 0x3cf2, 0x080c, 0x4041, 0x080c, 0x3fcc, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x001e, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x2001, 0x0004, - 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, 0x1333, 0x2009, 0x0028, - 0x080c, 0x21c1, 0x2001, 0x0227, 0x200c, 0x2102, 0x080c, 0xa8a4, + 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, 0x1340, 0x2009, 0x0028, + 0x080c, 0x21d9, 0x2001, 0x0227, 0x200c, 0x2102, 0x080c, 0xa8b5, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x004e, 0x2001, 0x199e, 0x2004, 0x9005, 0x1118, 0x012e, 0x0804, - 0x3567, 0x012e, 0x2021, 0x400c, 0x0804, 0x3569, 0x0016, 0x0026, + 0x3587, 0x012e, 0x2021, 0x400c, 0x0804, 0x3589, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, 0x0156, 0x7014, 0x2048, 0x7020, 0x20a8, 0x8000, 0x7022, 0xa804, 0x9005, - 0x0904, 0x3c42, 0x2048, 0x1f04, 0x3bf6, 0x7068, 0x2040, 0xa28c, + 0x0904, 0x3c62, 0x2048, 0x1f04, 0x3c16, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x0096, 0x7014, 0x2048, 0xa864, 0x009e, 0x9086, 0x0103, 0x0170, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, - 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, 0x4af2, 0x701f, 0x3be6, + 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, 0x4b12, 0x701f, 0x3c06, 0x00b0, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, - 0x080c, 0x0fb7, 0x000e, 0x080c, 0x4af5, 0x701f, 0x3be6, 0x015e, + 0x080c, 0x0fc4, 0x000e, 0x080c, 0x4b15, 0x701f, 0x3c06, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x7014, 0x2048, 0xa864, 0x9086, 0x0103, 0x1118, - 0x701f, 0x3ca7, 0x0450, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, - 0x2009, 0x007f, 0x080c, 0x65bf, 0x0110, 0x9006, 0x0030, 0xb813, - 0x00ff, 0xb817, 0xfffd, 0x080c, 0xcd1a, 0x015e, 0x00de, 0x009e, + 0x701f, 0x3cc7, 0x0450, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, + 0x2009, 0x007f, 0x080c, 0x65e3, 0x0110, 0x9006, 0x0030, 0xb813, + 0x00ff, 0xb817, 0xfffd, 0x080c, 0xcd4d, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0904, - 0x3599, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, - 0x0096, 0x00d6, 0x0156, 0x701f, 0x3c79, 0x7007, 0x0003, 0x0804, - 0x3c37, 0xa830, 0x9086, 0x0100, 0x2021, 0x400c, 0x0904, 0x3569, + 0x35b9, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, + 0x0096, 0x00d6, 0x0156, 0x701f, 0x3c99, 0x7007, 0x0003, 0x0804, + 0x3c57, 0xa830, 0x9086, 0x0100, 0x2021, 0x400c, 0x0904, 0x3589, 0x0076, 0xad10, 0xac0c, 0xab24, 0xaa20, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, - 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0fb7, 0x000e, 0x080c, - 0x4af5, 0x007e, 0x701f, 0x3be6, 0x7023, 0x0001, 0x0005, 0x0804, - 0x3567, 0x0156, 0x00c6, 0xa814, 0x908a, 0x001e, 0x0218, 0xa833, + 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0fc4, 0x000e, 0x080c, + 0x4b15, 0x007e, 0x701f, 0x3c06, 0x7023, 0x0001, 0x0005, 0x0804, + 0x3587, 0x0156, 0x00c6, 0xa814, 0x908a, 0x001e, 0x0218, 0xa833, 0x001e, 0x0010, 0xa832, 0x0078, 0x81ff, 0x0168, 0x0016, 0x080c, - 0x4aa9, 0x001e, 0x0130, 0xa800, 0x2040, 0xa008, 0xa80a, 0x2100, + 0x4ac9, 0x001e, 0x0130, 0xa800, 0x2040, 0xa008, 0xa80a, 0x2100, 0x0c58, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, 0x00f6, 0x2079, 0x0000, 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, 0x0005, 0x2001, 0x199e, 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, 0x2001, 0x19a9, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x19a8, 0x2004, 0x60ce, 0x6104, 0xc1ac, - 0x6106, 0x080c, 0x4aa9, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, + 0x6106, 0x080c, 0x4ac9, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x19a8, 0x2004, - 0x6036, 0x2009, 0x0040, 0x080c, 0x21c1, 0x2001, 0x002a, 0x2004, + 0x6036, 0x2009, 0x0040, 0x080c, 0x21d9, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x601a, 0xa873, 0x0000, 0x601f, 0x0000, 0x78ca, 0x9006, 0x600a, 0x600e, 0x00ce, 0x00ee, 0x00fe, 0x0005, - 0x00e6, 0x080c, 0x4aa9, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, + 0x00e6, 0x080c, 0x4ac9, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa866, 0x2001, 0x0031, 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0xa873, 0x0000, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, - 0x8000, 0x81ff, 0x0148, 0x080c, 0x2a07, 0x1130, 0x9006, 0x080c, - 0x295e, 0x9006, 0x080c, 0x2941, 0x7884, 0x9084, 0x0007, 0x0002, - 0x3d63, 0x3d6c, 0x3d75, 0x3d60, 0x3d60, 0x3d60, 0x3d60, 0x3d60, - 0x012e, 0x0804, 0x359c, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, - 0x200a, 0x080c, 0x3f37, 0x00c0, 0x2009, 0x0114, 0x2104, 0x9085, - 0x4000, 0x200a, 0x080c, 0x3f37, 0x0078, 0x080c, 0x74c8, 0x1128, - 0x012e, 0x2009, 0x0016, 0x0804, 0x3599, 0x81ff, 0x0128, 0x012e, - 0x2021, 0x400b, 0x0804, 0x3569, 0x080c, 0xa888, 0x0086, 0x0096, - 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x3a8e, + 0x8000, 0x81ff, 0x0148, 0x080c, 0x2a27, 0x1130, 0x9006, 0x080c, + 0x297a, 0x9006, 0x080c, 0x295d, 0x7884, 0x9084, 0x0007, 0x0002, + 0x3d83, 0x3d8c, 0x3d95, 0x3d80, 0x3d80, 0x3d80, 0x3d80, 0x3d80, + 0x012e, 0x0804, 0x35bc, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, + 0x200a, 0x080c, 0x3f57, 0x00c0, 0x2009, 0x0114, 0x2104, 0x9085, + 0x4000, 0x200a, 0x080c, 0x3f57, 0x0078, 0x080c, 0x74ec, 0x1128, + 0x012e, 0x2009, 0x0016, 0x0804, 0x35b9, 0x81ff, 0x0128, 0x012e, + 0x2021, 0x400b, 0x0804, 0x3589, 0x080c, 0xa899, 0x0086, 0x0096, + 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x3aae, 0x2009, 0x0101, 0x210c, 0x0016, 0x7ec8, 0x7dcc, 0x9006, 0x2068, - 0x2060, 0x2058, 0x080c, 0x41d8, 0x080c, 0x4128, 0x903e, 0x2720, + 0x2060, 0x2058, 0x080c, 0x41f8, 0x080c, 0x4148, 0x903e, 0x2720, 0x00f6, 0x00e6, 0x0086, 0x2940, 0x2071, 0x19e6, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x68d4, 0x780e, - 0x68d0, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, 0x4089, 0x080c, - 0x2a0f, 0x080c, 0x2a0f, 0x080c, 0x2a0f, 0x080c, 0x2a0f, 0x080c, - 0x4089, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3fb6, 0x2009, 0x9c40, - 0x8109, 0x11b0, 0x080c, 0x3eed, 0x2001, 0x0004, 0x200c, 0x918c, + 0x68d0, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, 0x40a9, 0x080c, + 0x2a2f, 0x080c, 0x2a2f, 0x080c, 0x2a2f, 0x080c, 0x2a2f, 0x080c, + 0x40a9, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3fd6, 0x2009, 0x9c40, + 0x8109, 0x11b0, 0x080c, 0x3f0d, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x001e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, - 0x00ae, 0x009e, 0x008e, 0x2009, 0x0017, 0x080c, 0x3599, 0x0cf8, + 0x00ae, 0x009e, 0x008e, 0x2009, 0x0017, 0x080c, 0x35b9, 0x0cf8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1d10, 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, 0xd0bc, 0x0178, 0x2001, 0x0201, 0x200c, - 0x81ff, 0x0150, 0x080c, 0x3f94, 0x2d00, 0x9c05, 0x9b05, 0x0120, - 0x080c, 0x3eed, 0x0804, 0x3e96, 0x080c, 0x40fd, 0x080c, 0x4021, - 0x080c, 0x3f77, 0x080c, 0x3fac, 0x00f6, 0x2079, 0x0100, 0x7824, - 0xd0ac, 0x0130, 0x8b58, 0x080c, 0x3eed, 0x00fe, 0x0804, 0x3e96, - 0x00fe, 0x080c, 0x3ee3, 0x1150, 0x8d68, 0x2001, 0x0032, 0x2602, - 0x2001, 0x0033, 0x2502, 0x080c, 0x3eed, 0x0080, 0x87ff, 0x0138, + 0x81ff, 0x0150, 0x080c, 0x3fb4, 0x2d00, 0x9c05, 0x9b05, 0x0120, + 0x080c, 0x3f0d, 0x0804, 0x3eb6, 0x080c, 0x411d, 0x080c, 0x4041, + 0x080c, 0x3f97, 0x080c, 0x3fcc, 0x00f6, 0x2079, 0x0100, 0x7824, + 0xd0ac, 0x0130, 0x8b58, 0x080c, 0x3f0d, 0x00fe, 0x0804, 0x3eb6, + 0x00fe, 0x080c, 0x3f03, 0x1150, 0x8d68, 0x2001, 0x0032, 0x2602, + 0x2001, 0x0033, 0x2502, 0x080c, 0x3f0d, 0x0080, 0x87ff, 0x0138, 0x2001, 0x0201, 0x2004, 0x9005, 0x1908, 0x8739, 0x0038, 0x2001, - 0x1a6a, 0x2004, 0x9086, 0x0000, 0x1904, 0x3de6, 0x2001, 0x032f, + 0x1a6a, 0x2004, 0x9086, 0x0000, 0x1904, 0x3e06, 0x2001, 0x032f, 0x2003, 0x00f6, 0x8631, 0x1208, 0x8529, 0x2500, 0x9605, 0x0904, - 0x3e96, 0x7884, 0xd0bc, 0x0128, 0x2d00, 0x9c05, 0x9b05, 0x1904, - 0x3e96, 0xa013, 0x0019, 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, + 0x3eb6, 0x7884, 0xd0bc, 0x0128, 0x2d00, 0x9c05, 0x9b05, 0x1904, + 0x3eb6, 0xa013, 0x0019, 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1148, 0x2001, 0x1a6a, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x0030, 0xa017, 0x0001, 0x78b4, 0x9005, 0x0108, - 0xa016, 0x2800, 0xa05a, 0x2009, 0x0040, 0x080c, 0x21c1, 0x2900, + 0xa016, 0x2800, 0xa05a, 0x2009, 0x0040, 0x080c, 0x21d9, 0x2900, 0xa85a, 0xa813, 0x0019, 0x7884, 0xd0a4, 0x1180, 0xa817, 0x0000, 0x00c6, 0x20a9, 0x0004, 0x2061, 0x0090, 0x602b, 0x0008, 0x2001, - 0x0203, 0x2004, 0x1f04, 0x3e6d, 0x00ce, 0x0030, 0xa817, 0x0001, + 0x0203, 0x2004, 0x1f04, 0x3e8d, 0x00ce, 0x0030, 0xa817, 0x0001, 0x78b0, 0x9005, 0x0108, 0xa816, 0x00f6, 0x00c6, 0x2079, 0x0100, 0x2061, 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, - 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3da0, 0x001e, 0x00c6, + 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3dc0, 0x001e, 0x00c6, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, 0x0004, 0x200c, - 0x918c, 0xfffd, 0x2102, 0x080c, 0x1333, 0x7884, 0x9084, 0x0003, - 0x9086, 0x0002, 0x01b0, 0x2009, 0x0028, 0x080c, 0x21c1, 0x2001, - 0x0227, 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ff, 0x080c, 0x2ab9, + 0x918c, 0xfffd, 0x2102, 0x080c, 0x1340, 0x7884, 0x9084, 0x0003, + 0x9086, 0x0002, 0x01b0, 0x2009, 0x0028, 0x080c, 0x21d9, 0x2001, + 0x0227, 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ff, 0x080c, 0x2ad9, 0x6052, 0x602f, 0x0000, 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, - 0x0010, 0x080c, 0xa8a4, 0x00ce, 0x2d08, 0x2c10, 0x2b18, 0x2b00, + 0x0010, 0x080c, 0xa8b5, 0x00ce, 0x2d08, 0x2c10, 0x2b18, 0x2b00, 0x9c05, 0x9d05, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, - 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, 0x3567, 0x012e, 0x2021, - 0x400c, 0x0804, 0x3569, 0x9085, 0x0001, 0x1d04, 0x3eec, 0x2091, + 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, 0x3587, 0x012e, 0x2021, + 0x400c, 0x0804, 0x3589, 0x9085, 0x0001, 0x1d04, 0x3f0c, 0x2091, 0x6000, 0x8420, 0x9486, 0x0064, 0x0005, 0x2001, 0x0105, 0x2003, 0x0010, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x1a6a, 0x2003, - 0x0000, 0x0071, 0x2009, 0x0048, 0x080c, 0x21c1, 0x2001, 0x0227, + 0x0000, 0x0071, 0x2009, 0x0048, 0x080c, 0x21d9, 0x2001, 0x0227, 0x2024, 0x2402, 0x2001, 0x0109, 0x2003, 0x4000, 0x9026, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x19e6, 0x7054, 0x9086, 0x0000, 0x0520, 0x2079, 0x0090, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, - 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x21c1, 0x782c, 0xd0fc, - 0x0d88, 0x080c, 0x40fd, 0x7054, 0x9086, 0x0000, 0x1d58, 0x782b, - 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x21c1, + 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x21d9, 0x782c, 0xd0fc, + 0x0d88, 0x080c, 0x411d, 0x7054, 0x9086, 0x0000, 0x1d58, 0x782b, + 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x21d9, 0x782b, 0x0002, 0x7057, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x2001, 0x1818, 0x200c, 0x7932, 0x7936, 0x080c, - 0x265d, 0x080c, 0x2a86, 0x080c, 0x2ab9, 0x784b, 0xf7f7, 0x7843, + 0x2679, 0x080c, 0x2aa6, 0x080c, 0x2ad9, 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x7850, 0xc0e5, 0x7852, 0x2019, 0x61a8, 0x7820, 0xd09c, 0x0110, 0x8319, 0x1dd8, 0x7850, 0xc0e4, 0x7852, - 0x2011, 0x0048, 0x080c, 0x2a63, 0x7843, 0x0040, 0x2019, 0x01f4, - 0xa001, 0xa001, 0x8319, 0x1de0, 0x2001, 0x0100, 0x080c, 0x2a29, - 0x2011, 0x0020, 0x080c, 0x2a63, 0x7843, 0x0000, 0x9006, 0x080c, - 0x2a29, 0x2011, 0x0048, 0x080c, 0x2a63, 0x00fe, 0x0005, 0x7884, + 0x2011, 0x0048, 0x080c, 0x2a83, 0x7843, 0x0040, 0x2019, 0x01f4, + 0xa001, 0xa001, 0x8319, 0x1de0, 0x2001, 0x0100, 0x080c, 0x2a49, + 0x2011, 0x0020, 0x080c, 0x2a83, 0x7843, 0x0000, 0x9006, 0x080c, + 0x2a49, 0x2011, 0x0048, 0x080c, 0x2a83, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, 0x00f6, 0x00e6, 0x2071, 0x1a6a, 0x2079, 0x0320, 0x2001, 0x0201, 0x2004, 0x9005, 0x0160, 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, 0xd0bc, 0x0108, 0x8738, 0x7003, 0x0003, 0x782b, @@ -1833,7 +1837,7 @@ unsigned short risc_code01[] = { 0x0033, 0x250a, 0xd0b4, 0x0108, 0x8c60, 0xd0ac, 0x0108, 0x8d68, 0xd0a4, 0x0108, 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, 0x7837, 0x0050, 0x00fe, 0x0005, 0x00e6, 0x2071, - 0x0100, 0x2001, 0x19a9, 0x2004, 0x70e2, 0x080c, 0x3cc8, 0x1188, + 0x0100, 0x2001, 0x19a9, 0x2004, 0x70e2, 0x080c, 0x3ce8, 0x1188, 0x2001, 0x1820, 0x2004, 0x2009, 0x181f, 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, 0x7066, 0x918d, 0x3200, 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, 0x9085, 0x0002, 0x702e, 0x2009, 0x1818, 0x210c, @@ -1841,31 +1845,31 @@ unsigned short risc_code01[] = { 0x0809, 0x7077, 0x0008, 0x7078, 0x9080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, 0x7087, 0xaaaa, 0x9006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, 0x0036, 0x70af, 0x95d5, 0x7014, 0x9084, 0x1984, - 0x9085, 0x0092, 0x7016, 0x080c, 0x40fd, 0x00f6, 0x2071, 0x1a6a, + 0x9085, 0x0092, 0x7016, 0x080c, 0x411d, 0x00f6, 0x2071, 0x1a6a, 0x2079, 0x0320, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, 0x6898, 0x780a, 0x00de, 0x2009, 0x03e8, 0x8109, 0x1df0, 0x792c, 0xd1fc, 0x0110, 0x782b, 0x0004, 0x2011, 0x0011, - 0x080c, 0x4089, 0x2011, 0x0001, 0x080c, 0x4089, 0x00fe, 0x00ee, + 0x080c, 0x40a9, 0x2011, 0x0001, 0x080c, 0x40a9, 0x00fe, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a6a, 0x2079, 0x0320, 0x792c, - 0xd1fc, 0x0904, 0x4086, 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, - 0x4082, 0x7000, 0x0002, 0x4086, 0x4037, 0x4067, 0x4082, 0xd1bc, + 0xd1fc, 0x0904, 0x40a6, 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, + 0x40a2, 0x7000, 0x0002, 0x40a6, 0x4057, 0x4087, 0x40a2, 0xd1bc, 0x1170, 0xd1dc, 0x1190, 0x8001, 0x7002, 0x2011, 0x0001, 0x080c, - 0x4089, 0x0904, 0x4086, 0x080c, 0x4089, 0x0804, 0x4086, 0x00f6, + 0x40a9, 0x0904, 0x40a6, 0x080c, 0x40a9, 0x0804, 0x40a6, 0x00f6, 0x2079, 0x0300, 0x78bf, 0x0000, 0x00fe, 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, 0x7916, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, - 0x080c, 0x3f94, 0x2009, 0x0001, 0x00f6, 0x2079, 0x0300, 0x78b8, + 0x080c, 0x3fb4, 0x2009, 0x0001, 0x00f6, 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, 0x0110, 0x2009, 0x0011, 0x792a, 0x00f8, 0x8001, - 0x7002, 0x9184, 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, 0x402b, + 0x7002, 0x9184, 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, 0x404b, 0x2011, 0x0001, 0x00b1, 0x0090, 0xa010, 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, 0xa000, 0xa05a, 0x2011, 0x0031, 0xa212, 0xd1dc, 0x1960, 0x0828, 0x782b, 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0xa014, 0x9005, 0x0550, 0x8001, 0x0036, 0x0096, 0xa016, 0xa058, 0x2048, 0xa010, 0x2009, 0x0031, 0x911a, 0x831c, 0x831c, - 0x938a, 0x0007, 0x1a0c, 0x0d7d, 0x9398, 0x40b7, 0x231d, 0x083f, + 0x938a, 0x0007, 0x1a0c, 0x0d7d, 0x9398, 0x40d7, 0x231d, 0x083f, 0x9080, 0x0004, 0x7a2a, 0x7100, 0x8108, 0x7102, 0x009e, 0x003e, 0x908a, 0x0035, 0x1140, 0x0096, 0xa058, 0x2048, 0xa804, 0xa05a, - 0x2001, 0x0019, 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, 0x40f4, - 0x40eb, 0x40e2, 0x40d9, 0x40d0, 0x40c7, 0x40be, 0xa964, 0x7902, + 0x2001, 0x0019, 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, 0x4114, + 0x410b, 0x4102, 0x40f9, 0x40f0, 0x40e7, 0x40de, 0xa964, 0x7902, 0xa968, 0x7906, 0xa96c, 0x7912, 0xa970, 0x7916, 0x0005, 0xa974, 0x7902, 0xa978, 0x7906, 0xa97c, 0x7912, 0xa980, 0x7916, 0x0005, 0xa984, 0x7902, 0xa988, 0x7906, 0xa98c, 0x7912, 0xa990, 0x7916, @@ -1875,23 +1879,23 @@ unsigned short risc_code01[] = { 0x7912, 0xa9c0, 0x7916, 0x0005, 0xa9c4, 0x7902, 0xa9c8, 0x7906, 0xa9cc, 0x7912, 0xa9d0, 0x7916, 0x0005, 0x00f6, 0x00e6, 0x0086, 0x2071, 0x19e6, 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01e8, 0x782b, - 0x0002, 0x2940, 0x9026, 0x7054, 0x0002, 0x4124, 0x4110, 0x411b, - 0x8001, 0x7056, 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, 0x4089, - 0x190c, 0x4089, 0x0048, 0x8001, 0x7056, 0x782c, 0xd0fc, 0x1d38, - 0x2011, 0x0001, 0x080c, 0x4089, 0x008e, 0x00ee, 0x00fe, 0x0005, + 0x0002, 0x2940, 0x9026, 0x7054, 0x0002, 0x4144, 0x4130, 0x413b, + 0x8001, 0x7056, 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, 0x40a9, + 0x190c, 0x40a9, 0x0048, 0x8001, 0x7056, 0x782c, 0xd0fc, 0x1d38, + 0x2011, 0x0001, 0x080c, 0x40a9, 0x008e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x2061, 0x0200, 0x2001, 0x19a9, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x19a8, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, 0x0520, 0x2038, 0x2001, 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, 0x080c, - 0x4aa9, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, + 0x4ac9, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, - 0xa858, 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x41a0, - 0x1d68, 0x2900, 0xa85a, 0x00d0, 0x080c, 0x4aa9, 0xa813, 0x0019, + 0xa858, 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x41c0, + 0x1d68, 0x2900, 0xa85a, 0x00d0, 0x080c, 0x4ac9, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x2001, 0x002b, 0x2004, 0xa872, 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x19a8, 0x2004, 0x6036, 0x2009, 0x0040, - 0x080c, 0x21c1, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, + 0x080c, 0x21d9, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, 0x600e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0080, 0xaa60, 0x22e8, 0x20a0, 0x20e1, 0x0000, @@ -1899,14 +1903,14 @@ unsigned short risc_code01[] = { 0x700e, 0x810b, 0x810b, 0x21a8, 0x810b, 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, 0x0de8, 0x702b, 0x0002, 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, 0x87ff, 0x0190, 0x0086, 0x0096, 0x2940, 0x0086, - 0x080c, 0x4aa9, 0x008e, 0xa058, 0x00a6, 0x2050, 0x2900, 0xb006, + 0x080c, 0x4ac9, 0x008e, 0xa058, 0x00a6, 0x2050, 0x2900, 0xb006, 0xa05a, 0x00ae, 0x009e, 0x008e, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x2001, 0x002d, 0x2004, 0x9005, 0x0528, 0x2038, 0x2001, - 0x0030, 0x2024, 0x2001, 0x0031, 0x201c, 0x080c, 0x4aa9, 0x2940, + 0x0030, 0x2024, 0x2001, 0x0031, 0x201c, 0x080c, 0x4ac9, 0x2940, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, - 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x41a0, 0x1d68, - 0x2900, 0xa85a, 0x00d8, 0x080c, 0x4aa9, 0x2940, 0xa013, 0x0019, + 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x41c0, 0x1d68, + 0x2900, 0xa85a, 0x00d8, 0x080c, 0x4ac9, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa066, 0x2001, 0x0031, 0x2004, 0xa06a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa06e, 0x2001, 0x002b, 0x2004, 0xa072, 0x2001, 0x032a, @@ -1916,679 +1920,679 @@ unsigned short risc_code01[] = { 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0007, 0x20a1, 0x1840, 0x20e9, 0x0001, 0x9006, 0x4004, - 0x20a9, 0x000c, 0x20a1, 0xfff4, 0x20e9, 0x0000, 0x9006, 0x4004, + 0x20a9, 0x0014, 0x20a1, 0xffec, 0x20e9, 0x0000, 0x9006, 0x4004, 0x2009, 0x013c, 0x200a, 0x012e, 0x7880, 0x9086, 0x0052, 0x0108, - 0x0005, 0x0804, 0x3567, 0x7d98, 0x7c9c, 0x0804, 0x3669, 0x080c, - 0x74c8, 0x190c, 0x5fe9, 0x6040, 0x9084, 0x0020, 0x09b1, 0x2069, + 0x0005, 0x0804, 0x3587, 0x7d98, 0x7c9c, 0x0804, 0x3689, 0x080c, + 0x74ec, 0x190c, 0x6009, 0x6040, 0x9084, 0x0020, 0x09b1, 0x2069, 0x1847, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, - 0x2039, 0x0001, 0x080c, 0x4af2, 0x701f, 0x427f, 0x0005, 0x080c, - 0x56e4, 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, 0x20d8, 0x21d0, - 0x2069, 0x1847, 0x6800, 0x9005, 0x0904, 0x359c, 0x6804, 0xd0ac, - 0x0118, 0xd0a4, 0x0904, 0x359c, 0xd094, 0x00c6, 0x2061, 0x0100, + 0x2039, 0x0001, 0x080c, 0x4b12, 0x701f, 0x429f, 0x0005, 0x080c, + 0x5704, 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, 0x20d8, 0x21d0, + 0x2069, 0x1847, 0x6800, 0x9005, 0x0904, 0x35bc, 0x6804, 0xd0ac, + 0x0118, 0xd0a4, 0x0904, 0x35bc, 0xd094, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0138, 0x6200, 0x9292, 0x0005, 0x0218, 0x918c, 0xffdf, 0x0010, 0x918d, 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0118, 0x918d, 0x0010, 0x0010, 0x918c, 0xffef, 0x6106, 0x00ce, 0xd084, 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, - 0x359c, 0x9288, 0x3368, 0x210d, 0x918c, 0x00ff, 0x6166, 0xd0dc, - 0x0130, 0x6828, 0x908a, 0x007f, 0x1a04, 0x359c, 0x605e, 0x6888, + 0x35bc, 0x9288, 0x3388, 0x210d, 0x918c, 0x00ff, 0x6166, 0xd0dc, + 0x0130, 0x6828, 0x908a, 0x007f, 0x1a04, 0x35bc, 0x605e, 0x6888, 0x9084, 0x0030, 0x8004, 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, - 0x19b0, 0x9080, 0x2750, 0x2005, 0x200a, 0x2008, 0x2001, 0x0018, - 0x080c, 0xa879, 0x2009, 0x0390, 0x200b, 0x0400, 0x000e, 0x2009, - 0x19b1, 0x9080, 0x2754, 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, - 0x0a04, 0x359c, 0x908a, 0x0841, 0x1a04, 0x359c, 0x9084, 0x0007, - 0x1904, 0x359c, 0x680c, 0x9005, 0x0904, 0x359c, 0x6810, 0x9005, - 0x0904, 0x359c, 0x6848, 0x6940, 0x910a, 0x1a04, 0x359c, 0x8001, - 0x0904, 0x359c, 0x684c, 0x6944, 0x910a, 0x1a04, 0x359c, 0x8001, - 0x0904, 0x359c, 0x6814, 0x908c, 0x00ff, 0x614e, 0x8007, 0x9084, - 0x00ff, 0x6052, 0x080c, 0x77fd, 0x080c, 0x6a9c, 0x080c, 0x6ad0, - 0x6808, 0x602a, 0x080c, 0x2133, 0x2009, 0x0170, 0x200b, 0x0080, - 0xa001, 0xa001, 0x200b, 0x0000, 0x0036, 0x6b08, 0x080c, 0x26b7, - 0x003e, 0x6000, 0x9086, 0x0000, 0x1904, 0x440a, 0x6818, 0x691c, + 0x19b0, 0x9080, 0x276c, 0x2005, 0x200a, 0x2008, 0x2001, 0x0018, + 0x080c, 0xa88a, 0x2009, 0x0390, 0x200b, 0x0400, 0x000e, 0x2009, + 0x19b1, 0x9080, 0x2770, 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, + 0x0a04, 0x35bc, 0x908a, 0x0841, 0x1a04, 0x35bc, 0x9084, 0x0007, + 0x1904, 0x35bc, 0x680c, 0x9005, 0x0904, 0x35bc, 0x6810, 0x9005, + 0x0904, 0x35bc, 0x6848, 0x6940, 0x910a, 0x1a04, 0x35bc, 0x8001, + 0x0904, 0x35bc, 0x684c, 0x6944, 0x910a, 0x1a04, 0x35bc, 0x8001, + 0x0904, 0x35bc, 0x6814, 0x908c, 0x00ff, 0x614e, 0x8007, 0x9084, + 0x00ff, 0x6052, 0x080c, 0x7820, 0x080c, 0x6ac0, 0x080c, 0x6af4, + 0x6808, 0x602a, 0x080c, 0x214b, 0x2009, 0x0170, 0x200b, 0x0080, + 0xa001, 0xa001, 0x200b, 0x0000, 0x0036, 0x6b08, 0x080c, 0x26d3, + 0x003e, 0x6000, 0x9086, 0x0000, 0x1904, 0x442a, 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, 0x831f, 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, 0x6830, 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, 0x0010, 0x9084, 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, 0x810f, 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, 0x19b2, 0x20e9, 0x0001, 0x4001, 0x20a9, - 0x0004, 0x20a1, 0x19cc, 0x20e9, 0x0001, 0x4001, 0x080c, 0x87b0, + 0x0004, 0x20a1, 0x19cc, 0x20e9, 0x0001, 0x4001, 0x080c, 0x87e4, 0x00c6, 0x900e, 0x20a9, 0x0001, 0x6b70, 0xd384, 0x01c8, 0x0020, - 0x839d, 0x12b0, 0x3508, 0x8109, 0x080c, 0x7dbe, 0x6878, 0x6016, + 0x839d, 0x12b0, 0x3508, 0x8109, 0x080c, 0x7de2, 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, 0xff00, 0x8007, 0x600a, 0x9184, 0x00ff, 0x6006, 0x8108, 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, - 0x1f04, 0x4368, 0x00ce, 0x00c6, 0x2061, 0x199b, 0x6a88, 0x9284, + 0x1f04, 0x4388, 0x00ce, 0x00c6, 0x2061, 0x199b, 0x6a88, 0x9284, 0xc000, 0x2010, 0x9286, 0x0000, 0x1158, 0x2063, 0x0000, 0x2001, - 0x0001, 0x080c, 0x295e, 0x2001, 0x0001, 0x080c, 0x2941, 0x0088, - 0x9286, 0x4000, 0x1148, 0x2063, 0x0001, 0x9006, 0x080c, 0x295e, - 0x9006, 0x080c, 0x2941, 0x0028, 0x9286, 0x8000, 0x1d30, 0x2063, - 0x0002, 0x00ce, 0x00e6, 0x2c70, 0x080c, 0x0eb4, 0x00ee, 0x6888, + 0x0001, 0x080c, 0x297a, 0x2001, 0x0001, 0x080c, 0x295d, 0x0088, + 0x9286, 0x4000, 0x1148, 0x2063, 0x0001, 0x9006, 0x080c, 0x297a, + 0x9006, 0x080c, 0x295d, 0x0028, 0x9286, 0x8000, 0x1d30, 0x2063, + 0x0002, 0x00ce, 0x00e6, 0x2c70, 0x080c, 0x0ec1, 0x00ee, 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, 0x9085, 0x0180, 0x2012, 0x6a80, 0x9284, 0x0030, 0x9086, 0x0030, 0x1128, 0x9294, 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, 0x197b, 0x6a80, 0x9294, 0x0030, 0x928e, 0x0000, 0x0170, 0x928e, 0x0010, 0x0118, 0x928e, 0x0020, - 0x0140, 0x2003, 0xaaaa, 0x080c, 0x272c, 0x2001, 0x196c, 0x2102, + 0x0140, 0x2003, 0xaaaa, 0x080c, 0x2748, 0x2001, 0x196c, 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, 0x0040, 0x602f, - 0x0000, 0x00ce, 0x080c, 0x74c8, 0x0128, 0x080c, 0x4fd9, 0x0110, - 0x080c, 0x267d, 0x60d4, 0x9005, 0x01c0, 0x6003, 0x0001, 0x2009, - 0x43f2, 0x00e0, 0x080c, 0x74c8, 0x1168, 0x2011, 0x733e, 0x080c, - 0x861d, 0x2011, 0x7331, 0x080c, 0x8729, 0x080c, 0x77d1, 0x080c, - 0x73f9, 0x0040, 0x080c, 0x5edf, 0x0028, 0x6003, 0x0004, 0x2009, - 0x440a, 0x0020, 0x080c, 0x69cc, 0x0804, 0x3567, 0x2001, 0x0170, + 0x0000, 0x00ce, 0x080c, 0x74ec, 0x0128, 0x080c, 0x4ff9, 0x0110, + 0x080c, 0x2699, 0x60d4, 0x9005, 0x01c0, 0x6003, 0x0001, 0x2009, + 0x4412, 0x00e0, 0x080c, 0x74ec, 0x1168, 0x2011, 0x7362, 0x080c, + 0x8651, 0x2011, 0x7355, 0x080c, 0x875d, 0x080c, 0x77f4, 0x080c, + 0x741d, 0x0040, 0x080c, 0x5eff, 0x0028, 0x6003, 0x0004, 0x2009, + 0x442a, 0x0020, 0x080c, 0x69f0, 0x0804, 0x3587, 0x2001, 0x0170, 0x2004, 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, 0x2091, 0x31bd, 0x0817, 0x2091, 0x313d, 0x0817, 0x6000, 0x9086, 0x0000, 0x0904, - 0x3599, 0x2069, 0x1847, 0x7890, 0x6842, 0x7894, 0x6846, 0x2d00, + 0x35b9, 0x2069, 0x1847, 0x7890, 0x6842, 0x7894, 0x6846, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, - 0x0804, 0x4af5, 0x9006, 0x080c, 0x267d, 0x81ff, 0x1904, 0x3599, - 0x080c, 0x74c8, 0x11b0, 0x080c, 0x77cc, 0x080c, 0x6024, 0x080c, - 0x335c, 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, 0xcf51, 0x0130, - 0x080c, 0x74eb, 0x1118, 0x080c, 0x749c, 0x0038, 0x080c, 0x73f9, - 0x0020, 0x080c, 0x5fe9, 0x080c, 0x5edf, 0x0804, 0x3567, 0x81ff, - 0x1904, 0x3599, 0x080c, 0x74c8, 0x1110, 0x0804, 0x3599, 0x6194, + 0x0804, 0x4b15, 0x9006, 0x080c, 0x2699, 0x81ff, 0x1904, 0x35b9, + 0x080c, 0x74ec, 0x11b0, 0x080c, 0x77ef, 0x080c, 0x6044, 0x080c, + 0x337c, 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, 0xcf84, 0x0130, + 0x080c, 0x750f, 0x1118, 0x080c, 0x74c0, 0x0038, 0x080c, 0x741d, + 0x0020, 0x080c, 0x6009, 0x080c, 0x5eff, 0x0804, 0x3587, 0x81ff, + 0x1904, 0x35b9, 0x080c, 0x74ec, 0x1110, 0x0804, 0x35b9, 0x6194, 0x81ff, 0x01a8, 0x704f, 0x0000, 0x2001, 0x1d80, 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0126, 0x2091, 0x8000, 0x2039, - 0x0001, 0x080c, 0x4af5, 0x701f, 0x3565, 0x012e, 0x0005, 0x704f, + 0x0001, 0x080c, 0x4b15, 0x701f, 0x3585, 0x012e, 0x0005, 0x704f, 0x0001, 0x00d6, 0x2069, 0x1d80, 0x20a9, 0x0040, 0x20e9, 0x0001, - 0x20a1, 0x1d80, 0x2019, 0xffff, 0x4304, 0x655c, 0x9588, 0x3368, + 0x20a1, 0x1d80, 0x2019, 0xffff, 0x4304, 0x655c, 0x9588, 0x3388, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, 0x0002, 0x2100, - 0x9506, 0x01a8, 0x080c, 0x6620, 0x1190, 0xb814, 0x821c, 0x0238, + 0x9506, 0x01a8, 0x080c, 0x6644, 0x1190, 0xb814, 0x821c, 0x0238, 0x9398, 0x1d80, 0x9085, 0xff00, 0x8007, 0x201a, 0x0038, 0x9398, 0x1d80, 0x2324, 0x94a4, 0xff00, 0x9405, 0x201a, 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, 0x1d80, 0x2099, 0x1d80, - 0x080c, 0x5f74, 0x0804, 0x4464, 0x080c, 0x4adc, 0x0904, 0x359c, - 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, 0x080c, - 0x56d5, 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, 0x0538, 0x908e, - 0x007f, 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, 0x3357, 0x1148, + 0x080c, 0x5f94, 0x0804, 0x4484, 0x080c, 0x4afc, 0x0904, 0x35bc, + 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0x080c, + 0x56f5, 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, 0x0538, 0x908e, + 0x007f, 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, 0x3377, 0x1148, 0xb800, 0xd08c, 0x11d8, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, - 0x11a8, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xca01, - 0x1120, 0x2009, 0x0003, 0x0804, 0x3599, 0x7007, 0x0003, 0x701f, - 0x44f2, 0x0005, 0x080c, 0x4adc, 0x0904, 0x359c, 0x20a9, 0x002b, + 0x11a8, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xca34, + 0x1120, 0x2009, 0x0003, 0x0804, 0x35b9, 0x7007, 0x0003, 0x701f, + 0x4512, 0x0005, 0x080c, 0x4afc, 0x0904, 0x35bc, 0x20a9, 0x002b, 0xb8c4, 0x20e0, 0xb8c8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, - 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0fb7, + 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0fc4, 0x0070, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x000a, 0x20a0, 0xb8c4, - 0x20e0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0fb7, 0x8906, + 0x20e0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0fc4, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, - 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4af5, - 0x81ff, 0x1904, 0x3599, 0x080c, 0x4ac0, 0x0904, 0x359c, 0x080c, - 0x6865, 0x0904, 0x3599, 0x0058, 0xa878, 0x9005, 0x0120, 0x2009, - 0x0004, 0x0804, 0x3599, 0xa974, 0xaa94, 0x0804, 0x3567, 0x080c, - 0x56dd, 0x0904, 0x3567, 0x701f, 0x453c, 0x7007, 0x0003, 0x0005, - 0x81ff, 0x1904, 0x3599, 0x7888, 0x908a, 0x1000, 0x1a04, 0x359c, - 0x080c, 0x4adc, 0x0904, 0x359c, 0x080c, 0x6a6a, 0x0120, 0x080c, - 0x6a72, 0x1904, 0x359c, 0x080c, 0x68ea, 0x0904, 0x3599, 0x2019, - 0x0004, 0x900e, 0x080c, 0x6877, 0x0904, 0x3599, 0x7984, 0x7a88, - 0x04c9, 0x08a8, 0xa89c, 0x908a, 0x1000, 0x12f8, 0x080c, 0x4ada, - 0x01e0, 0x080c, 0x6a6a, 0x0118, 0x080c, 0x6a72, 0x11b0, 0x080c, - 0x68ea, 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, 0x2019, 0x0004, - 0x080c, 0x6877, 0x2009, 0x0003, 0x0120, 0xa998, 0xaa9c, 0x00d1, + 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b15, + 0x81ff, 0x1904, 0x35b9, 0x080c, 0x4ae0, 0x0904, 0x35bc, 0x080c, + 0x6889, 0x0904, 0x35b9, 0x0058, 0xa878, 0x9005, 0x0120, 0x2009, + 0x0004, 0x0804, 0x35b9, 0xa974, 0xaa94, 0x0804, 0x3587, 0x080c, + 0x56fd, 0x0904, 0x3587, 0x701f, 0x455c, 0x7007, 0x0003, 0x0005, + 0x81ff, 0x1904, 0x35b9, 0x7888, 0x908a, 0x1000, 0x1a04, 0x35bc, + 0x080c, 0x4afc, 0x0904, 0x35bc, 0x080c, 0x6a8e, 0x0120, 0x080c, + 0x6a96, 0x1904, 0x35bc, 0x080c, 0x690e, 0x0904, 0x35b9, 0x2019, + 0x0004, 0x900e, 0x080c, 0x689b, 0x0904, 0x35b9, 0x7984, 0x7a88, + 0x04c9, 0x08a8, 0xa89c, 0x908a, 0x1000, 0x12f8, 0x080c, 0x4afa, + 0x01e0, 0x080c, 0x6a8e, 0x0118, 0x080c, 0x6a96, 0x11b0, 0x080c, + 0x690e, 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, 0x2019, 0x0004, + 0x080c, 0x689b, 0x2009, 0x0003, 0x0120, 0xa998, 0xaa9c, 0x00d1, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x080c, - 0x56dd, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, + 0x56fd, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, 0x007e, 0x2061, 0x1800, 0x645c, 0x2400, 0x9506, 0x0110, 0x2508, - 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x6620, 0x1138, 0x2200, - 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x862b, 0x0005, 0x81ff, - 0x1904, 0x3599, 0x798c, 0x2001, 0x197f, 0x918c, 0x8000, 0x2102, - 0x080c, 0x4ac0, 0x0904, 0x359c, 0x080c, 0x6a6a, 0x0120, 0x080c, - 0x6a72, 0x1904, 0x359c, 0x080c, 0x66e7, 0x0904, 0x3599, 0x080c, - 0x686e, 0x0904, 0x3599, 0x2001, 0x197f, 0x2004, 0xd0fc, 0x1904, - 0x3567, 0x0804, 0x4547, 0xa9a0, 0x2001, 0x197f, 0x918c, 0x8000, - 0xc18d, 0x2102, 0x080c, 0x4acd, 0x01a0, 0x080c, 0x6a6a, 0x0118, - 0x080c, 0x6a72, 0x1170, 0x080c, 0x66e7, 0x2009, 0x0002, 0x0128, - 0x080c, 0x686e, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, + 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x6644, 0x1138, 0x2200, + 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x865f, 0x0005, 0x81ff, + 0x1904, 0x35b9, 0x798c, 0x2001, 0x197f, 0x918c, 0x8000, 0x2102, + 0x080c, 0x4ae0, 0x0904, 0x35bc, 0x080c, 0x6a8e, 0x0120, 0x080c, + 0x6a96, 0x1904, 0x35bc, 0x080c, 0x670b, 0x0904, 0x35b9, 0x080c, + 0x6892, 0x0904, 0x35b9, 0x2001, 0x197f, 0x2004, 0xd0fc, 0x1904, + 0x3587, 0x0804, 0x4567, 0xa9a0, 0x2001, 0x197f, 0x918c, 0x8000, + 0xc18d, 0x2102, 0x080c, 0x4aed, 0x01a0, 0x080c, 0x6a8e, 0x0118, + 0x080c, 0x6a96, 0x1170, 0x080c, 0x670b, 0x2009, 0x0002, 0x0128, + 0x080c, 0x6892, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x197f, 0x2004, 0xd0fc, 0x1128, - 0x080c, 0x56dd, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, - 0x2001, 0x0000, 0x0005, 0x81ff, 0x1904, 0x3599, 0x798c, 0x2001, - 0x197e, 0x918c, 0x8000, 0x2102, 0x080c, 0x4ac0, 0x0904, 0x359c, - 0x080c, 0x6a6a, 0x0120, 0x080c, 0x6a72, 0x1904, 0x359c, 0x080c, - 0x66e7, 0x0904, 0x3599, 0x080c, 0x685c, 0x0904, 0x3599, 0x2001, - 0x197e, 0x2004, 0xd0fc, 0x1904, 0x3567, 0x0804, 0x4547, 0xa9a0, - 0x2001, 0x197e, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x4acd, - 0x01a0, 0x080c, 0x6a6a, 0x0118, 0x080c, 0x6a72, 0x1170, 0x080c, - 0x66e7, 0x2009, 0x0002, 0x0128, 0x080c, 0x685c, 0x1170, 0x2009, + 0x080c, 0x56fd, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, + 0x2001, 0x0000, 0x0005, 0x81ff, 0x1904, 0x35b9, 0x798c, 0x2001, + 0x197e, 0x918c, 0x8000, 0x2102, 0x080c, 0x4ae0, 0x0904, 0x35bc, + 0x080c, 0x6a8e, 0x0120, 0x080c, 0x6a96, 0x1904, 0x35bc, 0x080c, + 0x670b, 0x0904, 0x35b9, 0x080c, 0x6880, 0x0904, 0x35b9, 0x2001, + 0x197e, 0x2004, 0xd0fc, 0x1904, 0x3587, 0x0804, 0x4567, 0xa9a0, + 0x2001, 0x197e, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x4aed, + 0x01a0, 0x080c, 0x6a8e, 0x0118, 0x080c, 0x6a96, 0x1170, 0x080c, + 0x670b, 0x2009, 0x0002, 0x0128, 0x080c, 0x6880, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, - 0x197e, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56dd, 0x0110, 0x9006, + 0x197e, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56fd, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x6100, - 0x0804, 0x3567, 0x080c, 0x4adc, 0x0904, 0x359c, 0x080c, 0x56e9, - 0x1904, 0x3599, 0x79a8, 0xd184, 0x1158, 0xb834, 0x8007, 0x789e, + 0x0804, 0x3587, 0x080c, 0x4afc, 0x0904, 0x35bc, 0x080c, 0x5709, + 0x1904, 0x35b9, 0x79a8, 0xd184, 0x1158, 0xb834, 0x8007, 0x789e, 0xb830, 0x8007, 0x789a, 0xbb2c, 0x831f, 0xba28, 0x8217, 0x0050, 0xb824, 0x8007, 0x789e, 0xb820, 0x8007, 0x789a, 0xbb1c, 0x831f, - 0xba18, 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, 0x3567, 0x78a8, - 0x909c, 0x0003, 0xd0b4, 0x1140, 0x939a, 0x0003, 0x1a04, 0x3599, - 0x625c, 0x7884, 0x9206, 0x1548, 0x080c, 0x879a, 0x2001, 0xfff4, - 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0000, - 0x0006, 0x78a8, 0x9084, 0x0080, 0x1118, 0x000e, 0x0804, 0x4af5, + 0xba18, 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, 0x3587, 0x78a8, + 0x909c, 0x0003, 0xd0ac, 0x1150, 0xd0b4, 0x1140, 0x939a, 0x0003, + 0x1a04, 0x35b9, 0x625c, 0x7884, 0x9206, 0x1538, 0x080c, 0x87ce, + 0x2001, 0xffec, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0000, + 0x0006, 0x78a8, 0x9084, 0x0080, 0x1118, 0x000e, 0x0804, 0x4b15, 0x000e, 0x2031, 0x0000, 0x2061, 0x18b8, 0x2c44, 0xa66a, 0xa17a, - 0xa772, 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x112f, - 0x7007, 0x0002, 0x701f, 0x46fd, 0x0005, 0x81ff, 0x1904, 0x3599, - 0x080c, 0x4adc, 0x0904, 0x359c, 0x080c, 0x6a6a, 0x1904, 0x3599, - 0x00c6, 0x080c, 0x4aa9, 0x00ce, 0x0904, 0x3599, 0xa867, 0x0000, - 0xa868, 0xc0fd, 0xa86a, 0x7ea8, 0x080c, 0xc9a7, 0x0904, 0x3599, - 0x7007, 0x0003, 0x701f, 0x4701, 0x0005, 0x080c, 0x4245, 0x0804, - 0x3567, 0xa830, 0x9086, 0x0100, 0x0904, 0x3599, 0x8906, 0x8006, + 0xa772, 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x113c, + 0x7007, 0x0002, 0x701f, 0x471d, 0x0005, 0x81ff, 0x1904, 0x35b9, + 0x080c, 0x4afc, 0x0904, 0x35bc, 0x080c, 0x6a8e, 0x1904, 0x35b9, + 0x00c6, 0x080c, 0x4ac9, 0x00ce, 0x0904, 0x35b9, 0xa867, 0x0000, + 0xa868, 0xc0fd, 0xa86a, 0x7ea8, 0x080c, 0xc9da, 0x0904, 0x35b9, + 0x7007, 0x0003, 0x701f, 0x4721, 0x0005, 0x080c, 0x4265, 0x0804, + 0x3587, 0xa830, 0x9086, 0x0100, 0x0904, 0x35b9, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x2009, - 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4af5, 0x9006, - 0x080c, 0x267d, 0x78a8, 0x9084, 0x00ff, 0x9086, 0x00ff, 0x0118, - 0x81ff, 0x1904, 0x3599, 0x080c, 0x74c8, 0x0110, 0x080c, 0x5fe9, - 0x7888, 0x908a, 0x1000, 0x1a04, 0x359c, 0x7984, 0x9186, 0x00ff, - 0x0138, 0x9182, 0x007f, 0x1a04, 0x359c, 0x2100, 0x080c, 0x2647, + 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x4b15, 0x9006, + 0x080c, 0x2699, 0x78a8, 0x9084, 0x00ff, 0x9086, 0x00ff, 0x0118, + 0x81ff, 0x1904, 0x35b9, 0x080c, 0x74ec, 0x0110, 0x080c, 0x6009, + 0x7888, 0x908a, 0x1000, 0x1a04, 0x35bc, 0x7984, 0x9186, 0x00ff, + 0x0138, 0x9182, 0x007f, 0x1a04, 0x35bc, 0x2100, 0x080c, 0x2663, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, 0x1a02, 0x601b, 0x0000, 0x601f, 0x0000, 0x6073, 0x0000, 0x6077, 0x0000, 0x080c, - 0x74c8, 0x1158, 0x080c, 0x77cc, 0x080c, 0x6024, 0x9085, 0x0001, - 0x080c, 0x750f, 0x080c, 0x73f9, 0x00f0, 0x080c, 0xa888, 0x080c, - 0xab50, 0x080c, 0xa8a4, 0x2061, 0x0100, 0x2001, 0x1818, 0x2004, + 0x74ec, 0x1158, 0x080c, 0x77ef, 0x080c, 0x6044, 0x9085, 0x0001, + 0x080c, 0x7533, 0x080c, 0x741d, 0x00f0, 0x080c, 0xa899, 0x080c, + 0xab61, 0x080c, 0xa8b5, 0x2061, 0x0100, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x810f, 0x9105, 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1998, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, - 0x5f0f, 0x080c, 0x86e7, 0x7984, 0x080c, 0x74c8, 0x1110, 0x2009, - 0x00ff, 0x7a88, 0x080c, 0x45aa, 0x012e, 0x00ce, 0x002e, 0x0804, - 0x3567, 0x7984, 0x080c, 0x65bf, 0x2b08, 0x1904, 0x359c, 0x0804, - 0x3567, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3599, 0x60dc, - 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x3599, - 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, 0x7984, - 0x9192, 0x0021, 0x1a04, 0x359c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, - 0xa85c, 0x9080, 0x0019, 0x702a, 0xaf60, 0x7736, 0x080c, 0x4af2, - 0x701f, 0x47b9, 0x7880, 0x9086, 0x006e, 0x0110, 0x701f, 0x518b, - 0x0005, 0x2009, 0x0080, 0x080c, 0x6620, 0x1118, 0x080c, 0x6a6a, - 0x0120, 0x2021, 0x400a, 0x0804, 0x3569, 0x00d6, 0x0096, 0xa964, + 0x5f2f, 0x080c, 0x871b, 0x7984, 0x080c, 0x74ec, 0x1110, 0x2009, + 0x00ff, 0x7a88, 0x080c, 0x45ca, 0x012e, 0x00ce, 0x002e, 0x0804, + 0x3587, 0x7984, 0x080c, 0x65e3, 0x2b08, 0x1904, 0x35bc, 0x0804, + 0x3587, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x35b9, 0x60dc, + 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x35b9, + 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0x7984, + 0x9192, 0x0021, 0x1a04, 0x35bc, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0xa85c, 0x9080, 0x0019, 0x702a, 0xaf60, 0x7736, 0x080c, 0x4b12, + 0x701f, 0x47d9, 0x7880, 0x9086, 0x006e, 0x0110, 0x701f, 0x51ab, + 0x0005, 0x2009, 0x0080, 0x080c, 0x6644, 0x1118, 0x080c, 0x6a8e, + 0x0120, 0x2021, 0x400a, 0x0804, 0x3589, 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, 0xac74, 0xad78, 0xae7c, 0xa884, 0x90be, 0x0100, - 0x0904, 0x4852, 0x90be, 0x0112, 0x0904, 0x4852, 0x90be, 0x0113, - 0x0904, 0x4852, 0x90be, 0x0114, 0x0904, 0x4852, 0x90be, 0x0117, - 0x0904, 0x4852, 0x90be, 0x011a, 0x0904, 0x4852, 0x90be, 0x011c, - 0x0904, 0x4852, 0x90be, 0x0121, 0x0904, 0x4839, 0x90be, 0x0131, - 0x0904, 0x4839, 0x90be, 0x0171, 0x0904, 0x4852, 0x90be, 0x0173, - 0x0904, 0x4852, 0x90be, 0x01a1, 0x1128, 0xa894, 0x8007, 0xa896, - 0x0804, 0x485d, 0x90be, 0x0212, 0x0904, 0x4846, 0x90be, 0x0213, + 0x0904, 0x4872, 0x90be, 0x0112, 0x0904, 0x4872, 0x90be, 0x0113, + 0x0904, 0x4872, 0x90be, 0x0114, 0x0904, 0x4872, 0x90be, 0x0117, + 0x0904, 0x4872, 0x90be, 0x011a, 0x0904, 0x4872, 0x90be, 0x011c, + 0x0904, 0x4872, 0x90be, 0x0121, 0x0904, 0x4859, 0x90be, 0x0131, + 0x0904, 0x4859, 0x90be, 0x0171, 0x0904, 0x4872, 0x90be, 0x0173, + 0x0904, 0x4872, 0x90be, 0x01a1, 0x1128, 0xa894, 0x8007, 0xa896, + 0x0804, 0x487d, 0x90be, 0x0212, 0x0904, 0x4866, 0x90be, 0x0213, 0x05e8, 0x90be, 0x0214, 0x0500, 0x90be, 0x0217, 0x0188, 0x90be, 0x021a, 0x1120, 0xa89c, 0x8007, 0xa89e, 0x04e0, 0x90be, 0x021f, - 0x05c8, 0x90be, 0x0300, 0x05b0, 0x009e, 0x00de, 0x0804, 0x359c, + 0x05c8, 0x90be, 0x0300, 0x05b0, 0x009e, 0x00de, 0x0804, 0x35bc, 0x7028, 0x9080, 0x0010, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, - 0x20a9, 0x0007, 0x080c, 0x489b, 0x7028, 0x9080, 0x000e, 0x2098, - 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x489b, + 0x20a9, 0x0007, 0x080c, 0x48bb, 0x7028, 0x9080, 0x000e, 0x2098, + 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48bb, 0x00c8, 0x7028, 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, - 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48a8, 0x00b8, 0x7028, 0x9080, + 0x20e8, 0x20a9, 0x0001, 0x080c, 0x48c8, 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, - 0x080c, 0x48a8, 0x7028, 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, - 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x04f1, 0x00c6, 0x080c, 0x4aa9, + 0x080c, 0x48c8, 0x7028, 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, + 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x04f1, 0x00c6, 0x080c, 0x4ac9, 0x0550, 0xa868, 0xc0fd, 0xa86a, 0xa867, 0x0119, 0x9006, 0xa882, 0xa87f, 0x0020, 0xa88b, 0x0001, 0x810b, 0xa9ae, 0xa8b2, 0xaab6, 0xabba, 0xacbe, 0xadc2, 0xa9c6, 0xa8ca, 0x00ce, 0x009e, 0x00de, 0xa866, 0xa822, 0xa868, 0xc0fd, 0xa86a, 0xa804, 0x2048, 0x080c, - 0xc9c2, 0x1120, 0x2009, 0x0003, 0x0804, 0x3599, 0x7007, 0x0003, - 0x701f, 0x4892, 0x0005, 0x00ce, 0x009e, 0x00de, 0x2009, 0x0002, - 0x0804, 0x3599, 0xa820, 0x9086, 0x8001, 0x1904, 0x3567, 0x2009, - 0x0004, 0x0804, 0x3599, 0x0016, 0x0026, 0x3510, 0x20a9, 0x0002, + 0xc9f5, 0x1120, 0x2009, 0x0003, 0x0804, 0x35b9, 0x7007, 0x0003, + 0x701f, 0x48b2, 0x0005, 0x00ce, 0x009e, 0x00de, 0x2009, 0x0002, + 0x0804, 0x35b9, 0xa820, 0x9086, 0x8001, 0x1904, 0x3587, 0x2009, + 0x0004, 0x0804, 0x35b9, 0x0016, 0x0026, 0x3510, 0x20a9, 0x0002, 0x4002, 0x4104, 0x4004, 0x8211, 0x1dc8, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x0036, 0x0046, 0x3520, 0x20a9, 0x0004, 0x4002, 0x4304, 0x4204, 0x4104, 0x4004, 0x8421, 0x1db8, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, - 0x3599, 0x60dc, 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, - 0x0804, 0x3599, 0x7984, 0x78a8, 0x2040, 0x080c, 0xab49, 0x1120, - 0x9182, 0x007f, 0x0a04, 0x359c, 0x9186, 0x00ff, 0x0904, 0x359c, - 0x9182, 0x0800, 0x1a04, 0x359c, 0x7a8c, 0x7b88, 0x607c, 0x9306, - 0x1158, 0x6080, 0x924e, 0x0904, 0x359c, 0x080c, 0xab49, 0x1120, - 0x99cc, 0xff00, 0x0904, 0x359c, 0x0126, 0x2091, 0x8000, 0x080c, - 0x49bc, 0x0904, 0x493c, 0x0086, 0x90c6, 0x4000, 0x008e, 0x1538, + 0x35b9, 0x60dc, 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, 0x0005, + 0x0804, 0x35b9, 0x7984, 0x78a8, 0x2040, 0x080c, 0xab5a, 0x1120, + 0x9182, 0x007f, 0x0a04, 0x35bc, 0x9186, 0x00ff, 0x0904, 0x35bc, + 0x9182, 0x0800, 0x1a04, 0x35bc, 0x7a8c, 0x7b88, 0x607c, 0x9306, + 0x1158, 0x6080, 0x924e, 0x0904, 0x35bc, 0x080c, 0xab5a, 0x1120, + 0x99cc, 0xff00, 0x0904, 0x35bc, 0x0126, 0x2091, 0x8000, 0x080c, + 0x49dc, 0x0904, 0x495c, 0x0086, 0x90c6, 0x4000, 0x008e, 0x1538, 0x00c6, 0x0006, 0x0036, 0xb818, 0xbb1c, 0x9305, 0xbb20, 0x9305, 0xbb24, 0x9305, 0xbb28, 0x9305, 0xbb2c, 0x9305, 0xbb30, 0x9305, - 0xbb34, 0x9305, 0x003e, 0x0570, 0xd88c, 0x1128, 0x080c, 0x6a6a, - 0x0110, 0xc89d, 0x0438, 0x900e, 0x080c, 0x6913, 0x1108, 0xc185, + 0xbb34, 0x9305, 0x003e, 0x0570, 0xd88c, 0x1128, 0x080c, 0x6a8e, + 0x0110, 0xc89d, 0x0438, 0x900e, 0x080c, 0x6937, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x000e, 0x00ce, 0x00b8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x0090, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0060, 0x90c6, 0x4009, 0x1108, 0x0040, 0x90c6, 0x4006, 0x1108, 0x0020, 0x2001, 0x4005, 0x2009, 0x000a, 0x2020, 0x012e, - 0x0804, 0x3569, 0x000e, 0x00ce, 0x2b00, 0x7026, 0x0016, 0x00b6, - 0x00c6, 0x00e6, 0x2c70, 0x080c, 0xac4f, 0x0904, 0x4991, 0x2b00, - 0x6012, 0x080c, 0xcccb, 0x2e58, 0x00ee, 0x00e6, 0x00c6, 0x080c, - 0x4aa9, 0x00ce, 0x2b70, 0x1158, 0x080c, 0xabdf, 0x00ee, 0x00ce, - 0x00be, 0x001e, 0x012e, 0x2009, 0x0002, 0x0804, 0x3599, 0x900e, + 0x0804, 0x3589, 0x000e, 0x00ce, 0x2b00, 0x7026, 0x0016, 0x00b6, + 0x00c6, 0x00e6, 0x2c70, 0x080c, 0xac60, 0x0904, 0x49b1, 0x2b00, + 0x6012, 0x080c, 0xccfe, 0x2e58, 0x00ee, 0x00e6, 0x00c6, 0x080c, + 0x4ac9, 0x00ce, 0x2b70, 0x1158, 0x080c, 0xabf0, 0x00ee, 0x00ce, + 0x00be, 0x001e, 0x012e, 0x2009, 0x0002, 0x0804, 0x35b9, 0x900e, 0xa966, 0xa96a, 0x2900, 0x6016, 0xa932, 0xa868, 0xc0fd, 0xd88c, - 0x0108, 0xc0f5, 0xa86a, 0xd89c, 0x1110, 0x080c, 0x31ef, 0x6023, - 0x0001, 0x9006, 0x080c, 0x655c, 0xd89c, 0x0138, 0x2001, 0x0004, - 0x080c, 0x6570, 0x2009, 0x0003, 0x0030, 0x2001, 0x0002, 0x080c, - 0x6570, 0x2009, 0x0002, 0x080c, 0xac7c, 0x78a8, 0xd094, 0x0138, + 0x0108, 0xc0f5, 0xa86a, 0xd89c, 0x1110, 0x080c, 0x320f, 0x6023, + 0x0001, 0x9006, 0x080c, 0x6580, 0xd89c, 0x0138, 0x2001, 0x0004, + 0x080c, 0x6594, 0x2009, 0x0003, 0x0030, 0x2001, 0x0002, 0x080c, + 0x6594, 0x2009, 0x0002, 0x080c, 0xac8d, 0x78a8, 0xd094, 0x0138, 0x00ee, 0x7024, 0x00e6, 0x2058, 0xb8d4, 0xc08d, 0xb8d6, 0x9085, 0x0001, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x1120, 0x2009, - 0x0003, 0x0804, 0x3599, 0x7007, 0x0003, 0x701f, 0x49a0, 0x0005, + 0x0003, 0x0804, 0x35b9, 0x7007, 0x0003, 0x701f, 0x49c0, 0x0005, 0xa830, 0x9086, 0x0100, 0x7024, 0x2058, 0x1138, 0x2009, 0x0004, - 0xba04, 0x9294, 0x00ff, 0x0804, 0x5632, 0x900e, 0xa868, 0xd0f4, - 0x1904, 0x3567, 0x080c, 0x6913, 0x1108, 0xc185, 0xb800, 0xd0bc, - 0x0108, 0xc18d, 0x0804, 0x3567, 0x00e6, 0x00d6, 0x0096, 0x83ff, - 0x0904, 0x4a0b, 0x902e, 0x080c, 0xab49, 0x0130, 0x9026, 0x20a9, + 0xba04, 0x9294, 0x00ff, 0x0804, 0x5652, 0x900e, 0xa868, 0xd0f4, + 0x1904, 0x3587, 0x080c, 0x6937, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0x0804, 0x3587, 0x00e6, 0x00d6, 0x0096, 0x83ff, + 0x0904, 0x4a2b, 0x902e, 0x080c, 0xab5a, 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, 0x007f, 0x20a9, 0x0781, 0x2071, 0x107f, 0x2e04, 0x9005, 0x11b8, 0x2100, 0x9406, 0x1904, - 0x4a1c, 0x2428, 0x94ce, 0x007f, 0x1120, 0x92ce, 0xfffd, 0x1558, + 0x4a3c, 0x2428, 0x94ce, 0x007f, 0x1120, 0x92ce, 0xfffd, 0x1558, 0x0030, 0x94ce, 0x0080, 0x1130, 0x92ce, 0xfffc, 0x1520, 0x93ce, 0x00ff, 0x1508, 0xc5fd, 0x0480, 0x2058, 0xbf10, 0x2700, 0x9306, 0x11e8, 0xbe14, 0x2600, 0x9206, 0x11c8, 0x2400, 0x9106, 0x1180, - 0xd884, 0x0598, 0xd894, 0x1588, 0x080c, 0x6a0a, 0x1570, 0x2001, - 0x4000, 0x0460, 0x080c, 0x6a6a, 0x1540, 0x2001, 0x4000, 0x0430, + 0xd884, 0x0598, 0xd894, 0x1588, 0x080c, 0x6a2e, 0x1570, 0x2001, + 0x4000, 0x0460, 0x080c, 0x6a8e, 0x1540, 0x2001, 0x4000, 0x0430, 0x2001, 0x4007, 0x0418, 0x2001, 0x4006, 0x0400, 0x2400, 0x9106, - 0x1158, 0xbe14, 0x87ff, 0x1128, 0x86ff, 0x0918, 0x080c, 0xab49, - 0x1900, 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, 0x49d2, + 0x1158, 0xbe14, 0x87ff, 0x1128, 0x86ff, 0x0918, 0x080c, 0xab5a, + 0x1900, 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, 0x49f2, 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, 0x0030, - 0x080c, 0x65bf, 0x1dd0, 0xbb12, 0xba16, 0x9006, 0x9005, 0x009e, + 0x080c, 0x65e3, 0x1dd0, 0xbb12, 0xba16, 0x9006, 0x9005, 0x009e, 0x00de, 0x00ee, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, - 0x3599, 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, + 0x35b9, 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7884, 0x9005, 0x0904, - 0x359c, 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, 0x1a04, 0x359c, - 0x2010, 0x2918, 0x080c, 0x318f, 0x1120, 0x2009, 0x0003, 0x0804, - 0x3599, 0x7007, 0x0003, 0x701f, 0x4a5e, 0x0005, 0xa830, 0x9086, - 0x0100, 0x1904, 0x3567, 0x2009, 0x0004, 0x0804, 0x3599, 0x7984, - 0x080c, 0xab49, 0x1120, 0x9182, 0x007f, 0x0a04, 0x359c, 0x9186, - 0x00ff, 0x0904, 0x359c, 0x9182, 0x0800, 0x1a04, 0x359c, 0x2001, - 0x9000, 0x080c, 0x568d, 0x1904, 0x3599, 0x0804, 0x3567, 0xa998, - 0x080c, 0xab49, 0x1118, 0x9182, 0x007f, 0x0280, 0x9186, 0x00ff, - 0x0168, 0x9182, 0x0800, 0x1250, 0x2001, 0x9000, 0x080c, 0x568d, + 0x35bc, 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, 0x1a04, 0x35bc, + 0x2010, 0x2918, 0x080c, 0x31af, 0x1120, 0x2009, 0x0003, 0x0804, + 0x35b9, 0x7007, 0x0003, 0x701f, 0x4a7e, 0x0005, 0xa830, 0x9086, + 0x0100, 0x1904, 0x3587, 0x2009, 0x0004, 0x0804, 0x35b9, 0x7984, + 0x080c, 0xab5a, 0x1120, 0x9182, 0x007f, 0x0a04, 0x35bc, 0x9186, + 0x00ff, 0x0904, 0x35bc, 0x9182, 0x0800, 0x1a04, 0x35bc, 0x2001, + 0x9000, 0x080c, 0x56ad, 0x1904, 0x35b9, 0x0804, 0x3587, 0xa998, + 0x080c, 0xab5a, 0x1118, 0x9182, 0x007f, 0x0280, 0x9186, 0x00ff, + 0x0168, 0x9182, 0x0800, 0x1250, 0x2001, 0x9000, 0x080c, 0x56ad, 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x2009, 0x000a, - 0x0c48, 0x080c, 0x103a, 0x0198, 0x9006, 0xa802, 0x7014, 0x9005, + 0x0c48, 0x080c, 0x1047, 0x0198, 0x9006, 0xa802, 0x7014, 0x9005, 0x1120, 0x2900, 0x7016, 0x701a, 0x0040, 0x7018, 0xa802, 0x0086, 0x2040, 0x2900, 0xa006, 0x701a, 0x008e, 0x9085, 0x0001, 0x0005, - 0x7984, 0x080c, 0x6620, 0x1130, 0x7e88, 0x9684, 0x3fff, 0x9082, - 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xa998, 0x080c, 0x6620, + 0x7984, 0x080c, 0x6644, 0x1130, 0x7e88, 0x9684, 0x3fff, 0x9082, + 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xa998, 0x080c, 0x6644, 0x1130, 0xae9c, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, - 0x8bff, 0x0005, 0xae98, 0x0008, 0x7e84, 0x2608, 0x080c, 0x6620, + 0x8bff, 0x0005, 0xae98, 0x0008, 0x7e84, 0x2608, 0x080c, 0x6644, 0x1108, 0x0008, 0x905e, 0x8bff, 0x0005, 0x0016, 0x7114, 0x81ff, - 0x0128, 0x2148, 0xa904, 0x080c, 0x106c, 0x0cc8, 0x7116, 0x711a, + 0x0128, 0x2148, 0xa904, 0x080c, 0x1079, 0x0cc8, 0x7116, 0x711a, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, 0x2031, 0x0000, 0x2061, 0x18b8, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, - 0xa496, 0xa59a, 0x080c, 0x112f, 0x7007, 0x0002, 0x701f, 0x3567, + 0xa496, 0xa59a, 0x080c, 0x113c, 0x7007, 0x0002, 0x701f, 0x3587, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0000, 0x2001, - 0x18b0, 0x2004, 0x9005, 0x1190, 0x0e04, 0x4b26, 0x7a36, 0x7833, + 0x18b0, 0x2004, 0x9005, 0x1190, 0x0e04, 0x4b46, 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, 0x7c8a, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x11e1, 0x0804, 0x4b8c, 0x0016, 0x0086, + 0x2004, 0xd084, 0x190c, 0x11ee, 0x0804, 0x4bac, 0x0016, 0x0086, 0x0096, 0x00c6, 0x00e6, 0x2071, 0x189e, 0x7044, 0x9005, 0x1540, - 0x7148, 0x9182, 0x0010, 0x0288, 0x7038, 0x2060, 0x080c, 0x103a, - 0x0904, 0x4b84, 0xa84b, 0x0000, 0x2900, 0x7046, 0x2001, 0x0002, - 0x9080, 0x1e62, 0x2005, 0xa846, 0x0098, 0x7038, 0x90e0, 0x0004, + 0x7148, 0x9182, 0x0010, 0x0288, 0x7038, 0x2060, 0x080c, 0x1047, + 0x0904, 0x4ba4, 0xa84b, 0x0000, 0x2900, 0x7046, 0x2001, 0x0002, + 0x9080, 0x1e7a, 0x2005, 0xa846, 0x0098, 0x7038, 0x90e0, 0x0004, 0x2001, 0x18ba, 0x9c82, 0x18fa, 0x0210, 0x2061, 0x18ba, 0x2c00, 0x703a, 0x7148, 0x81ff, 0x1108, 0x703e, 0x8108, 0x714a, 0x0460, 0x7148, 0x8108, 0x714a, 0x7044, 0x2040, 0xa144, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0d7d, 0x2060, 0x001e, 0x8108, 0x2105, - 0x9005, 0xa146, 0x1520, 0x080c, 0x103a, 0x1130, 0x8109, 0xa946, + 0x9005, 0xa146, 0x1520, 0x080c, 0x1047, 0x1130, 0x8109, 0xa946, 0x7148, 0x8109, 0x714a, 0x00d8, 0x9006, 0xa806, 0xa84a, 0xa046, 0x2800, 0xa802, 0x2900, 0xa006, 0x7046, 0x2001, 0x0002, 0x9080, - 0x1e62, 0x2005, 0xa846, 0x0058, 0x2262, 0x6306, 0x640a, 0x00ee, + 0x1e7a, 0x2005, 0xa846, 0x0058, 0x2262, 0x6306, 0x640a, 0x00ee, 0x00ce, 0x009e, 0x008e, 0x001e, 0x012e, 0x00fe, 0x0005, 0x2c00, - 0x9082, 0x001b, 0x0002, 0x4bae, 0x4bae, 0x4bb0, 0x4bae, 0x4bae, - 0x4bae, 0x4bb4, 0x4bae, 0x4bae, 0x4bae, 0x4bb8, 0x4bae, 0x4bae, - 0x4bae, 0x4bbc, 0x4bae, 0x4bae, 0x4bae, 0x4bc0, 0x4bae, 0x4bae, - 0x4bae, 0x4bc4, 0x4bae, 0x4bae, 0x4bae, 0x4bc9, 0x080c, 0x0d7d, + 0x9082, 0x001b, 0x0002, 0x4bce, 0x4bce, 0x4bd0, 0x4bce, 0x4bce, + 0x4bce, 0x4bd4, 0x4bce, 0x4bce, 0x4bce, 0x4bd8, 0x4bce, 0x4bce, + 0x4bce, 0x4bdc, 0x4bce, 0x4bce, 0x4bce, 0x4be0, 0x4bce, 0x4bce, + 0x4bce, 0x4be4, 0x4bce, 0x4bce, 0x4bce, 0x4be9, 0x080c, 0x0d7d, 0xa276, 0xa37a, 0xa47e, 0x0898, 0xa286, 0xa38a, 0xa48e, 0x0878, 0xa296, 0xa39a, 0xa49e, 0x0858, 0xa2a6, 0xa3aa, 0xa4ae, 0x0838, 0xa2b6, 0xa3ba, 0xa4be, 0x0818, 0xa2c6, 0xa3ca, 0xa4ce, 0x0804, - 0x4b87, 0xa2d6, 0xa3da, 0xa4de, 0x0804, 0x4b87, 0x00e6, 0x2071, - 0x189e, 0x7048, 0x9005, 0x0904, 0x4c60, 0x0126, 0x2091, 0x8000, - 0x0e04, 0x4c5f, 0x00f6, 0x2079, 0x0000, 0x00c6, 0x0096, 0x0086, + 0x4ba7, 0xa2d6, 0xa3da, 0xa4de, 0x0804, 0x4ba7, 0x00e6, 0x2071, + 0x189e, 0x7048, 0x9005, 0x0904, 0x4c80, 0x0126, 0x2091, 0x8000, + 0x0e04, 0x4c7f, 0x00f6, 0x2079, 0x0000, 0x00c6, 0x0096, 0x0086, 0x0076, 0x9006, 0x2038, 0x7040, 0x2048, 0x9005, 0x0500, 0xa948, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0d7d, 0x2060, 0x001e, - 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, 0x4c62, 0xa804, 0x9005, + 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, 0x4c82, 0xa804, 0x9005, 0x090c, 0x0d7d, 0x7042, 0x2938, 0x2040, 0xa003, 0x0000, 0x2001, - 0x0002, 0x9080, 0x1e62, 0x2005, 0xa04a, 0x0804, 0x4c62, 0x703c, + 0x0002, 0x9080, 0x1e7a, 0x2005, 0xa04a, 0x0804, 0x4c82, 0x703c, 0x2060, 0x2c14, 0x6304, 0x6408, 0x650c, 0x2200, 0x7836, 0x7833, 0x0012, 0x7882, 0x2300, 0x7886, 0x2400, 0x788a, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, 0x87ff, 0x0118, - 0x2748, 0x080c, 0x106c, 0x7048, 0x8001, 0x704a, 0x9005, 0x1170, - 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, 0x106c, 0x9006, 0x7042, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11ee, 0x87ff, 0x0118, + 0x2748, 0x080c, 0x1079, 0x7048, 0x8001, 0x704a, 0x9005, 0x1170, + 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, 0x1079, 0x9006, 0x7042, 0x7046, 0x703b, 0x18ba, 0x703f, 0x18ba, 0x0420, 0x7040, 0x9005, 0x1508, 0x7238, 0x2c00, 0x9206, 0x0148, 0x9c80, 0x0004, 0x90fa, 0x18fa, 0x0210, 0x2001, 0x18ba, 0x703e, 0x00a0, 0x9006, 0x703e, 0x703a, 0x7044, 0x9005, 0x090c, 0x0d7d, 0x2048, 0xa800, 0x9005, - 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, 0x9080, 0x1e62, 0x2005, + 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, 0x9080, 0x1e7a, 0x2005, 0xa84a, 0x0000, 0x007e, 0x008e, 0x009e, 0x00ce, 0x00fe, 0x012e, - 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4c81, 0x4c81, - 0x4c83, 0x4c81, 0x4c81, 0x4c81, 0x4c88, 0x4c81, 0x4c81, 0x4c81, - 0x4c8d, 0x4c81, 0x4c81, 0x4c81, 0x4c92, 0x4c81, 0x4c81, 0x4c81, - 0x4c97, 0x4c81, 0x4c81, 0x4c81, 0x4c9c, 0x4c81, 0x4c81, 0x4c81, - 0x4ca1, 0x080c, 0x0d7d, 0xaa74, 0xab78, 0xac7c, 0x0804, 0x4c0d, - 0xaa84, 0xab88, 0xac8c, 0x0804, 0x4c0d, 0xaa94, 0xab98, 0xac9c, - 0x0804, 0x4c0d, 0xaaa4, 0xaba8, 0xacac, 0x0804, 0x4c0d, 0xaab4, - 0xabb8, 0xacbc, 0x0804, 0x4c0d, 0xaac4, 0xabc8, 0xaccc, 0x0804, - 0x4c0d, 0xaad4, 0xabd8, 0xacdc, 0x0804, 0x4c0d, 0x0016, 0x0026, - 0x0036, 0x00b6, 0x00c6, 0x2009, 0x007e, 0x080c, 0x6620, 0x2019, + 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4ca1, 0x4ca1, + 0x4ca3, 0x4ca1, 0x4ca1, 0x4ca1, 0x4ca8, 0x4ca1, 0x4ca1, 0x4ca1, + 0x4cad, 0x4ca1, 0x4ca1, 0x4ca1, 0x4cb2, 0x4ca1, 0x4ca1, 0x4ca1, + 0x4cb7, 0x4ca1, 0x4ca1, 0x4ca1, 0x4cbc, 0x4ca1, 0x4ca1, 0x4ca1, + 0x4cc1, 0x080c, 0x0d7d, 0xaa74, 0xab78, 0xac7c, 0x0804, 0x4c2d, + 0xaa84, 0xab88, 0xac8c, 0x0804, 0x4c2d, 0xaa94, 0xab98, 0xac9c, + 0x0804, 0x4c2d, 0xaaa4, 0xaba8, 0xacac, 0x0804, 0x4c2d, 0xaab4, + 0xabb8, 0xacbc, 0x0804, 0x4c2d, 0xaac4, 0xabc8, 0xaccc, 0x0804, + 0x4c2d, 0xaad4, 0xabd8, 0xacdc, 0x0804, 0x4c2d, 0x0016, 0x0026, + 0x0036, 0x00b6, 0x00c6, 0x2009, 0x007e, 0x080c, 0x6644, 0x2019, 0x0001, 0xb85c, 0xd0ac, 0x0110, 0x2019, 0x0000, 0x2011, 0x801b, - 0x080c, 0x4b09, 0x00ce, 0x00be, 0x003e, 0x002e, 0x001e, 0x0005, - 0x0026, 0x080c, 0x56d5, 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, - 0x4b09, 0x002e, 0x0005, 0x81ff, 0x1904, 0x3599, 0x0126, 0x2091, - 0x8000, 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, 0x74c8, - 0x1158, 0x080c, 0x77cc, 0x080c, 0x6024, 0x9085, 0x0001, 0x080c, - 0x750f, 0x080c, 0x73f9, 0x0010, 0x080c, 0x5edf, 0x012e, 0x0804, - 0x3567, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3599, 0x080c, - 0x56e9, 0x0120, 0x2009, 0x0007, 0x0804, 0x3599, 0x080c, 0x6a62, - 0x0120, 0x2009, 0x0008, 0x0804, 0x3599, 0x7984, 0x080c, 0x65bf, - 0x1904, 0x359c, 0x2b00, 0x7026, 0x080c, 0x6a6a, 0x7888, 0x1170, - 0x9084, 0x0005, 0x1158, 0x900e, 0x080c, 0x6913, 0x1108, 0xc185, - 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3567, 0x080c, 0x4aa9, - 0x0904, 0x3599, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, - 0x080c, 0xca69, 0x0904, 0x3599, 0x7888, 0xd094, 0x0118, 0xb8d4, - 0xc08d, 0xb8d6, 0x7007, 0x0003, 0x701f, 0x4d7b, 0x0005, 0x2061, - 0x1800, 0x080c, 0x56e9, 0x2009, 0x0007, 0x1578, 0x080c, 0x6a62, - 0x0118, 0x2009, 0x0008, 0x0448, 0x080c, 0x3357, 0x0120, 0xa998, - 0x080c, 0x65bf, 0x1530, 0x080c, 0x4ada, 0x0518, 0x080c, 0x6a6a, - 0xa89c, 0x1168, 0x9084, 0x0005, 0x1150, 0x900e, 0x080c, 0x6913, + 0x080c, 0x4b29, 0x00ce, 0x00be, 0x003e, 0x002e, 0x001e, 0x0005, + 0x0026, 0x080c, 0x56f5, 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, + 0x4b29, 0x002e, 0x0005, 0x81ff, 0x1904, 0x35b9, 0x0126, 0x2091, + 0x8000, 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, 0x74ec, + 0x1158, 0x080c, 0x77ef, 0x080c, 0x6044, 0x9085, 0x0001, 0x080c, + 0x7533, 0x080c, 0x741d, 0x0010, 0x080c, 0x5eff, 0x012e, 0x0804, + 0x3587, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x35b9, 0x080c, + 0x5709, 0x0120, 0x2009, 0x0007, 0x0804, 0x35b9, 0x080c, 0x6a86, + 0x0120, 0x2009, 0x0008, 0x0804, 0x35b9, 0x7984, 0x080c, 0x65e3, + 0x1904, 0x35bc, 0x2b00, 0x7026, 0x080c, 0x6a8e, 0x7888, 0x1170, + 0x9084, 0x0005, 0x1158, 0x900e, 0x080c, 0x6937, 0x1108, 0xc185, + 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3587, 0x080c, 0x4ac9, + 0x0904, 0x35b9, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, + 0x080c, 0xca9c, 0x0904, 0x35b9, 0x7888, 0xd094, 0x0118, 0xb8d4, + 0xc08d, 0xb8d6, 0x7007, 0x0003, 0x701f, 0x4d9b, 0x0005, 0x2061, + 0x1800, 0x080c, 0x5709, 0x2009, 0x0007, 0x1578, 0x080c, 0x6a86, + 0x0118, 0x2009, 0x0008, 0x0448, 0x080c, 0x3377, 0x0120, 0xa998, + 0x080c, 0x65e3, 0x1530, 0x080c, 0x4afa, 0x0518, 0x080c, 0x6a8e, + 0xa89c, 0x1168, 0x9084, 0x0005, 0x1150, 0x900e, 0x080c, 0x6937, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x00d0, 0xa868, - 0xc0fc, 0xa86a, 0x080c, 0xca69, 0x11e0, 0xa89c, 0xd094, 0x0118, + 0xc0fc, 0xa86a, 0x080c, 0xca9c, 0x11e0, 0xa89c, 0xd094, 0x0118, 0xb8d4, 0xc08d, 0xb8d6, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0xa99a, 0x9006, 0x918d, 0x0001, 0x2008, 0x0005, 0x9006, 0x0005, 0xa830, 0x9086, 0x0100, 0x7024, 0x2058, - 0x1110, 0x0804, 0x5632, 0x900e, 0x080c, 0x6913, 0x1108, 0xc185, - 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3567, 0x080c, 0x56e9, - 0x0120, 0x2009, 0x0007, 0x0804, 0x3599, 0x7f84, 0x7a8c, 0x7b88, - 0x7c9c, 0x7d98, 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, - 0x3599, 0x900e, 0x2130, 0x7126, 0x7132, 0xa860, 0x20e8, 0x7036, - 0xa85c, 0x9080, 0x0005, 0x702a, 0x20a0, 0x080c, 0x6620, 0x1904, - 0x4e1d, 0x080c, 0x6a6a, 0x0138, 0x080c, 0x6a72, 0x0120, 0x080c, - 0x6a0a, 0x1904, 0x4e1d, 0xd794, 0x1110, 0xd784, 0x01a8, 0xb8c4, + 0x1110, 0x0804, 0x5652, 0x900e, 0x080c, 0x6937, 0x1108, 0xc185, + 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3587, 0x080c, 0x5709, + 0x0120, 0x2009, 0x0007, 0x0804, 0x35b9, 0x7f84, 0x7a8c, 0x7b88, + 0x7c9c, 0x7d98, 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, + 0x35b9, 0x900e, 0x2130, 0x7126, 0x7132, 0xa860, 0x20e8, 0x7036, + 0xa85c, 0x9080, 0x0005, 0x702a, 0x20a0, 0x080c, 0x6644, 0x1904, + 0x4e3d, 0x080c, 0x6a8e, 0x0138, 0x080c, 0x6a96, 0x0120, 0x080c, + 0x6a2e, 0x1904, 0x4e3d, 0xd794, 0x1110, 0xd784, 0x01a8, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x3400, 0xd794, 0x0160, 0x20a9, 0x0008, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x20a9, - 0x0002, 0x080c, 0x48a8, 0x0048, 0x20a9, 0x0004, 0x4003, 0x2098, - 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x48a8, 0x9186, 0x007e, 0x0170, - 0x9186, 0x0080, 0x0158, 0x080c, 0x6a6a, 0x90c2, 0x0006, 0x1210, - 0xc1fd, 0x0020, 0x080c, 0x6913, 0x1108, 0xc1fd, 0x4104, 0xc1fc, + 0x0002, 0x080c, 0x48c8, 0x0048, 0x20a9, 0x0004, 0x4003, 0x2098, + 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x48c8, 0x9186, 0x007e, 0x0170, + 0x9186, 0x0080, 0x0158, 0x080c, 0x6a8e, 0x90c2, 0x0006, 0x1210, + 0xc1fd, 0x0020, 0x080c, 0x6937, 0x1108, 0xc1fd, 0x4104, 0xc1fc, 0xd794, 0x0528, 0xb8c4, 0x20e0, 0xb8c8, 0x2060, 0x9c80, 0x0000, 0x2098, 0x20a9, 0x0002, 0x4003, 0x9c80, 0x0003, 0x2098, 0x20a9, 0x0001, 0x4005, 0x9c80, 0x0004, 0x2098, 0x3400, 0x20a9, 0x0002, - 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x489b, 0x9c80, + 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x48bb, 0x9c80, 0x0026, 0x2098, 0xb8c4, 0x20e0, 0x20a9, 0x0002, 0x4003, 0xd794, - 0x0110, 0x96b0, 0x000b, 0x96b0, 0x0005, 0x8108, 0x080c, 0xab49, + 0x0110, 0x96b0, 0x000b, 0x96b0, 0x0005, 0x8108, 0x080c, 0xab5a, 0x0118, 0x9186, 0x0800, 0x0040, 0xd78c, 0x0120, 0x9186, 0x0800, 0x0170, 0x0018, 0x9186, 0x007e, 0x0150, 0xd794, 0x0118, 0x9686, - 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, 0x0804, 0x4dad, 0x86ff, - 0x1120, 0x7124, 0x810b, 0x0804, 0x3567, 0x7033, 0x0001, 0x7122, + 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, 0x0804, 0x4dcd, 0x86ff, + 0x1120, 0x7124, 0x810b, 0x0804, 0x3587, 0x7033, 0x0001, 0x7122, 0x7024, 0x9600, 0x7026, 0x772e, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xa67a, 0x7034, 0xa072, 0x7028, 0xa076, 0xa28e, 0xa392, - 0xa496, 0xa59a, 0x080c, 0x112f, 0x7007, 0x0002, 0x701f, 0x4e59, + 0xa496, 0xa59a, 0x080c, 0x113c, 0x7007, 0x0002, 0x701f, 0x4e79, 0x0005, 0x7030, 0x9005, 0x1180, 0x7120, 0x7028, 0x20a0, 0x772c, 0x9036, 0x7034, 0x20e8, 0x2061, 0x18b8, 0x2c44, 0xa28c, 0xa390, - 0xa494, 0xa598, 0x0804, 0x4dad, 0x7124, 0x810b, 0x0804, 0x3567, + 0xa494, 0xa598, 0x0804, 0x4dcd, 0x7124, 0x810b, 0x0804, 0x3587, 0x2029, 0x007e, 0x7984, 0x7a88, 0x7b8c, 0x7c98, 0x9184, 0xff00, - 0x8007, 0x90e2, 0x0020, 0x0a04, 0x359c, 0x9502, 0x0a04, 0x359c, - 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x359c, 0x9502, 0x0a04, - 0x359c, 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x359c, - 0x9502, 0x0a04, 0x359c, 0x9284, 0x00ff, 0x90e2, 0x0020, 0x0a04, - 0x359c, 0x9502, 0x0a04, 0x359c, 0x9384, 0xff00, 0x8007, 0x90e2, - 0x0020, 0x0a04, 0x359c, 0x9502, 0x0a04, 0x359c, 0x9384, 0x00ff, - 0x90e2, 0x0020, 0x0a04, 0x359c, 0x9502, 0x0a04, 0x359c, 0x9484, - 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x359c, 0x9502, 0x0a04, - 0x359c, 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x359c, 0x9502, - 0x0a04, 0x359c, 0x2061, 0x1988, 0x6102, 0x6206, 0x630a, 0x640e, - 0x0804, 0x3567, 0x080c, 0x4aa9, 0x0904, 0x3599, 0x2009, 0x0016, + 0x8007, 0x90e2, 0x0020, 0x0a04, 0x35bc, 0x9502, 0x0a04, 0x35bc, + 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x35bc, 0x9502, 0x0a04, + 0x35bc, 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x35bc, + 0x9502, 0x0a04, 0x35bc, 0x9284, 0x00ff, 0x90e2, 0x0020, 0x0a04, + 0x35bc, 0x9502, 0x0a04, 0x35bc, 0x9384, 0xff00, 0x8007, 0x90e2, + 0x0020, 0x0a04, 0x35bc, 0x9502, 0x0a04, 0x35bc, 0x9384, 0x00ff, + 0x90e2, 0x0020, 0x0a04, 0x35bc, 0x9502, 0x0a04, 0x35bc, 0x9484, + 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x35bc, 0x9502, 0x0a04, + 0x35bc, 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x35bc, 0x9502, + 0x0a04, 0x35bc, 0x2061, 0x1988, 0x6102, 0x6206, 0x630a, 0x640e, + 0x0804, 0x3587, 0x080c, 0x4ac9, 0x0904, 0x35b9, 0x2009, 0x0016, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0xaf60, - 0x080c, 0x4af2, 0x701f, 0x4edd, 0x0005, 0x2001, 0x0138, 0x2003, + 0x080c, 0x4b12, 0x701f, 0x4efd, 0x0005, 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, 0x2071, 0x0300, 0x701c, 0xd0a4, 0x1de8, 0x00ee, 0x20a9, 0x0016, 0x896e, 0x8d6e, 0x8d6f, 0x9d84, 0xffc0, 0x9080, 0x0019, 0x2098, 0x9d84, 0x003f, 0x20e0, 0x2069, 0x1877, 0x20e9, - 0x0001, 0x2da0, 0x4003, 0x6800, 0x9005, 0x0904, 0x4f5e, 0x6804, - 0x2008, 0x918c, 0xfff8, 0x1904, 0x4f5e, 0x680c, 0x9005, 0x0904, - 0x4f5e, 0x9082, 0xff01, 0x1a04, 0x4f5e, 0x6810, 0x9082, 0x005c, - 0x0a04, 0x4f5e, 0x6824, 0x2008, 0x9082, 0x0008, 0x0a04, 0x4f5e, - 0x9182, 0x0400, 0x1a04, 0x4f5e, 0x0056, 0x2029, 0x0000, 0x080c, - 0x8cec, 0x005e, 0x6944, 0x6820, 0x9102, 0x06c0, 0x6820, 0x9082, + 0x0001, 0x2da0, 0x4003, 0x6800, 0x9005, 0x0904, 0x4f7e, 0x6804, + 0x2008, 0x918c, 0xfff8, 0x1904, 0x4f7e, 0x680c, 0x9005, 0x0904, + 0x4f7e, 0x9082, 0xff01, 0x1a04, 0x4f7e, 0x6810, 0x9082, 0x005c, + 0x0a04, 0x4f7e, 0x6824, 0x2008, 0x9082, 0x0008, 0x0a04, 0x4f7e, + 0x9182, 0x0400, 0x1a04, 0x4f7e, 0x0056, 0x2029, 0x0000, 0x080c, + 0x8d23, 0x005e, 0x6944, 0x6820, 0x9102, 0x06c0, 0x6820, 0x9082, 0x0019, 0x16a0, 0x6828, 0x6944, 0x810c, 0x9102, 0x0678, 0x6840, - 0x9082, 0x000f, 0x1658, 0x080c, 0x1053, 0x2900, 0x0904, 0x4f78, + 0x9082, 0x000f, 0x1658, 0x080c, 0x1060, 0x2900, 0x0904, 0x4f98, 0x684e, 0x00e6, 0x2071, 0x1930, 0x00b6, 0x2059, 0x0000, 0x080c, - 0x8ba8, 0x00be, 0x00ee, 0x0558, 0x080c, 0x8902, 0x080c, 0x8948, + 0x8bdf, 0x00be, 0x00ee, 0x0558, 0x080c, 0x8936, 0x080c, 0x897c, 0x11e0, 0x6857, 0x0000, 0x00c6, 0x2061, 0x0100, 0x6104, 0x918d, 0x2000, 0x6106, 0x6b10, 0x2061, 0x1a6a, 0x630a, 0x00ce, 0x080c, - 0x272c, 0x2001, 0x0138, 0x2102, 0x0804, 0x3567, 0x080c, 0x272c, - 0x2001, 0x0138, 0x2102, 0x0804, 0x359c, 0x00e6, 0x2071, 0x1930, - 0x080c, 0x8d7d, 0x080c, 0x8d8c, 0x080c, 0x8b97, 0x00ee, 0x2001, - 0x188a, 0x204c, 0x080c, 0x106c, 0x2001, 0x188a, 0x2003, 0x0000, - 0x080c, 0x272c, 0x2001, 0x0138, 0x2102, 0x0804, 0x3599, 0x2001, - 0x1924, 0x200c, 0x918e, 0x0000, 0x0904, 0x4fd7, 0x080c, 0x8b92, - 0x0904, 0x4fd7, 0x2001, 0x0101, 0x200c, 0x918c, 0xdfff, 0x2102, + 0x2748, 0x2001, 0x0138, 0x2102, 0x0804, 0x3587, 0x080c, 0x2748, + 0x2001, 0x0138, 0x2102, 0x0804, 0x35bc, 0x00e6, 0x2071, 0x1930, + 0x080c, 0x8db4, 0x080c, 0x8dc3, 0x080c, 0x8bce, 0x00ee, 0x2001, + 0x188a, 0x204c, 0x080c, 0x1079, 0x2001, 0x188a, 0x2003, 0x0000, + 0x080c, 0x2748, 0x2001, 0x0138, 0x2102, 0x0804, 0x35b9, 0x2001, + 0x1924, 0x200c, 0x918e, 0x0000, 0x0904, 0x4ff7, 0x080c, 0x8bc9, + 0x0904, 0x4ff7, 0x2001, 0x0101, 0x200c, 0x918c, 0xdfff, 0x2102, 0x2001, 0x0138, 0x2003, 0x0000, 0x00e6, 0x2071, 0x0300, 0x701c, - 0xd0a4, 0x1de8, 0x00ee, 0x080c, 0x8b97, 0x2001, 0x0035, 0x080c, - 0x1686, 0x00c6, 0x2061, 0x193c, 0x6004, 0x6100, 0x9106, 0x1de0, - 0x00ce, 0x080c, 0x272c, 0x2001, 0x0138, 0x2102, 0x00e6, 0x00f6, - 0x2071, 0x1923, 0x080c, 0x8ad3, 0x0120, 0x2f00, 0x080c, 0x8b5d, + 0xd0a4, 0x1de8, 0x00ee, 0x080c, 0x8bce, 0x2001, 0x0035, 0x080c, + 0x1693, 0x00c6, 0x2061, 0x193c, 0x6004, 0x6100, 0x9106, 0x1de0, + 0x00ce, 0x080c, 0x2748, 0x2001, 0x0138, 0x2102, 0x00e6, 0x00f6, + 0x2071, 0x1923, 0x080c, 0x8b0a, 0x0120, 0x2f00, 0x080c, 0x8b94, 0x0cc8, 0x00fe, 0x00ee, 0x0126, 0x2091, 0x8000, 0x2001, 0x188a, - 0x200c, 0x81ff, 0x0138, 0x2148, 0x080c, 0x106c, 0x2001, 0x188a, + 0x200c, 0x81ff, 0x0138, 0x2148, 0x080c, 0x1079, 0x2001, 0x188a, 0x2003, 0x0000, 0x2001, 0x183d, 0x2003, 0x0020, 0x00e6, 0x2071, - 0x1930, 0x080c, 0x8d7d, 0x080c, 0x8d8c, 0x00ee, 0x012e, 0x0804, - 0x3567, 0x0006, 0x080c, 0x56d5, 0xd0cc, 0x000e, 0x0005, 0x0006, - 0x080c, 0x56d9, 0xd0bc, 0x000e, 0x0005, 0x6174, 0x7a84, 0x6300, - 0x82ff, 0x1118, 0x7986, 0x0804, 0x3567, 0x83ff, 0x1904, 0x359c, - 0x2001, 0xfff0, 0x9200, 0x1a04, 0x359c, 0x2019, 0xffff, 0x6078, - 0x9302, 0x9200, 0x0a04, 0x359c, 0x7986, 0x6276, 0x0804, 0x3567, - 0x080c, 0x56e9, 0x1904, 0x3599, 0x7c88, 0x7d84, 0x7e98, 0x7f8c, - 0x080c, 0x4aa9, 0x0904, 0x3599, 0x900e, 0x901e, 0x7326, 0x7332, + 0x1930, 0x080c, 0x8db4, 0x080c, 0x8dc3, 0x00ee, 0x012e, 0x0804, + 0x3587, 0x0006, 0x080c, 0x56f5, 0xd0cc, 0x000e, 0x0005, 0x0006, + 0x080c, 0x56f9, 0xd0bc, 0x000e, 0x0005, 0x6174, 0x7a84, 0x6300, + 0x82ff, 0x1118, 0x7986, 0x0804, 0x3587, 0x83ff, 0x1904, 0x35bc, + 0x2001, 0xfff0, 0x9200, 0x1a04, 0x35bc, 0x2019, 0xffff, 0x6078, + 0x9302, 0x9200, 0x0a04, 0x35bc, 0x7986, 0x6276, 0x0804, 0x3587, + 0x080c, 0x5709, 0x1904, 0x35b9, 0x7c88, 0x7d84, 0x7e98, 0x7f8c, + 0x080c, 0x4ac9, 0x0904, 0x35b9, 0x900e, 0x901e, 0x7326, 0x7332, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, 0x0003, 0x702a, 0x20a0, - 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x6a6a, 0x0118, - 0x080c, 0x6a72, 0x1148, 0x20a9, 0x0001, 0xb814, 0x4004, 0xb810, + 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x6a8e, 0x0118, + 0x080c, 0x6a96, 0x1148, 0x20a9, 0x0001, 0xb814, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0170, 0x0c20, 0x83ff, 0x1148, 0x7224, 0x900e, - 0x2001, 0x0003, 0x080c, 0x9148, 0x2208, 0x0804, 0x3567, 0x7033, + 0x2001, 0x0003, 0x080c, 0x9181, 0x2208, 0x0804, 0x3587, 0x7033, 0x0001, 0x7122, 0x7024, 0x9300, 0x7026, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xa37a, 0x7028, 0xa076, 0x7034, 0xa072, 0xa48e, - 0xa592, 0xa696, 0xa79a, 0x080c, 0x112f, 0x7007, 0x0002, 0x701f, - 0x505a, 0x0005, 0x7030, 0x9005, 0x1178, 0x7120, 0x7028, 0x20a0, + 0xa592, 0xa696, 0xa79a, 0x080c, 0x113c, 0x7007, 0x0002, 0x701f, + 0x507a, 0x0005, 0x7030, 0x9005, 0x1178, 0x7120, 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, 0x2061, 0x18b8, 0x2c44, 0xa48c, 0xa590, - 0xa694, 0xa798, 0x0804, 0x5018, 0x7224, 0x900e, 0x2001, 0x0003, - 0x080c, 0x9148, 0x2208, 0x0804, 0x3567, 0x00f6, 0x00e6, 0x080c, - 0x56e9, 0x2009, 0x0007, 0x1904, 0x50ed, 0x2071, 0x189e, 0x745c, - 0x84ff, 0x2009, 0x000e, 0x1904, 0x50ed, 0xac9c, 0xad98, 0xaea4, - 0xafa0, 0x0096, 0x080c, 0x1053, 0x2009, 0x0002, 0x0904, 0x50ed, + 0xa694, 0xa798, 0x0804, 0x5038, 0x7224, 0x900e, 0x2001, 0x0003, + 0x080c, 0x9181, 0x2208, 0x0804, 0x3587, 0x00f6, 0x00e6, 0x080c, + 0x5709, 0x2009, 0x0007, 0x1904, 0x510d, 0x2071, 0x189e, 0x745c, + 0x84ff, 0x2009, 0x000e, 0x1904, 0x510d, 0xac9c, 0xad98, 0xaea4, + 0xafa0, 0x0096, 0x080c, 0x1060, 0x2009, 0x0002, 0x0904, 0x510d, 0x2900, 0x705e, 0x900e, 0x901e, 0x7356, 0x7362, 0xa860, 0x7066, 0xa85c, 0x9080, 0x0003, 0x705a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, - 0x8bff, 0x0178, 0x080c, 0x6a6a, 0x0118, 0x080c, 0x6a72, 0x1148, + 0x8bff, 0x0178, 0x080c, 0x6a8e, 0x0118, 0x080c, 0x6a96, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x01e8, 0x0c20, 0x83ff, 0x11c0, 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, - 0x9148, 0x2208, 0x009e, 0xa897, 0x4000, 0xa99a, 0x715c, 0x81ff, - 0x090c, 0x0d7d, 0x2148, 0x080c, 0x106c, 0x9006, 0x705e, 0x918d, + 0x9181, 0x2208, 0x009e, 0xa897, 0x4000, 0xa99a, 0x715c, 0x81ff, + 0x090c, 0x0d7d, 0x2148, 0x080c, 0x1079, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0x0418, 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, 0x7056, 0x2061, 0x18b9, 0x2c44, 0xa37a, 0x7058, 0xa076, 0x7064, - 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0xa09f, 0x50f9, 0x000e, - 0xa0a2, 0x080c, 0x112f, 0x9006, 0x0048, 0x009e, 0xa897, 0x4005, + 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0xa09f, 0x5119, 0x000e, + 0xa0a2, 0x080c, 0x113c, 0x9006, 0x0048, 0x009e, 0xa897, 0x4005, 0xa99a, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0xa0a0, 0x904d, 0x090c, 0x0d7d, 0x00e6, 0x2071, 0x189e, 0xa06c, 0x908e, 0x0100, 0x0138, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x00d8, 0x7060, 0x9005, 0x1158, 0x7150, 0x7058, 0x20a0, 0x901e, 0x7064, 0x20e8, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0428, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, - 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, 0x9148, 0xaa9a, 0x715c, - 0x81ff, 0x090c, 0x0d7d, 0x2148, 0x080c, 0x106c, 0x705f, 0x0000, - 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, + 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, 0x9181, 0xaa9a, 0x715c, + 0x81ff, 0x090c, 0x0d7d, 0x2148, 0x080c, 0x1079, 0x705f, 0x0000, + 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x91d8, - 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x6a6a, 0x0118, 0x080c, - 0x6a72, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, + 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x6a8e, 0x0118, 0x080c, + 0x6a96, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0518, 0x0c20, 0x83ff, 0x11f0, 0x7154, 0x810c, 0xa99a, 0xa897, 0x4000, 0x715c, 0x81ff, 0x090c, 0x0d7d, 0x2148, 0x080c, - 0x106c, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0xa0a0, 0x2048, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, 0xa09f, 0x0000, + 0x1079, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0xa0a0, 0x2048, + 0x0126, 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x0070, 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, - 0x7056, 0xa37a, 0xa48e, 0xa592, 0xa696, 0xa79a, 0x080c, 0x112f, + 0x7056, 0xa37a, 0xa48e, 0xa592, 0xa696, 0xa79a, 0x080c, 0x113c, 0x9006, 0x00ee, 0x0005, 0x0096, 0xa88c, 0x90be, 0x7000, 0x0148, 0x90be, 0x7100, 0x0130, 0x90be, 0x7200, 0x0118, 0x009e, 0x0804, - 0x359c, 0xa884, 0xa988, 0x080c, 0x2614, 0x1518, 0x080c, 0x65bf, - 0x1500, 0x7126, 0xbe12, 0xbd16, 0xae7c, 0x080c, 0x4aa9, 0x01c8, - 0x080c, 0x4aa9, 0x01b0, 0x009e, 0xa867, 0x0000, 0xa868, 0xc0fd, - 0xa86a, 0xa823, 0x0000, 0xa804, 0x2048, 0x080c, 0xc9e2, 0x1120, - 0x2009, 0x0003, 0x0804, 0x3599, 0x7007, 0x0003, 0x701f, 0x51c6, - 0x0005, 0x009e, 0x2009, 0x0002, 0x0804, 0x3599, 0x7124, 0x080c, - 0x32f8, 0xa820, 0x9086, 0x8001, 0x1120, 0x2009, 0x0004, 0x0804, - 0x3599, 0x2900, 0x7022, 0xa804, 0x0096, 0x2048, 0x8906, 0x8006, + 0x35bc, 0xa884, 0xa988, 0x080c, 0x2630, 0x1518, 0x080c, 0x65e3, + 0x1500, 0x7126, 0xbe12, 0xbd16, 0xae7c, 0x080c, 0x4ac9, 0x01c8, + 0x080c, 0x4ac9, 0x01b0, 0x009e, 0xa867, 0x0000, 0xa868, 0xc0fd, + 0xa86a, 0xa823, 0x0000, 0xa804, 0x2048, 0x080c, 0xca15, 0x1120, + 0x2009, 0x0003, 0x0804, 0x35b9, 0x7007, 0x0003, 0x701f, 0x51e6, + 0x0005, 0x009e, 0x2009, 0x0002, 0x0804, 0x35b9, 0x7124, 0x080c, + 0x3318, 0xa820, 0x9086, 0x8001, 0x1120, 0x2009, 0x0004, 0x0804, + 0x35b9, 0x2900, 0x7022, 0xa804, 0x0096, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x009e, 0x9080, 0x0002, 0x0076, 0x0006, 0x2098, 0x20a0, 0x27e0, 0x27e8, 0x20a9, 0x002a, - 0x080c, 0x0fb7, 0xaa6c, 0xab70, 0xac74, 0xad78, 0x2061, 0x18b8, + 0x080c, 0x0fc4, 0xaa6c, 0xab70, 0xac74, 0xad78, 0x2061, 0x18b8, 0x2c44, 0xa06b, 0x0000, 0xae64, 0xaf8c, 0x97c6, 0x7000, 0x0118, 0x97c6, 0x7100, 0x1148, 0x96c2, 0x0004, 0x0600, 0x2009, 0x0004, - 0x000e, 0x007e, 0x0804, 0x4af5, 0x97c6, 0x7200, 0x11b8, 0x96c2, + 0x000e, 0x007e, 0x0804, 0x4b15, 0x97c6, 0x7200, 0x11b8, 0x96c2, 0x0054, 0x02a0, 0x000e, 0x007e, 0x2061, 0x18b8, 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, - 0x112f, 0x7007, 0x0002, 0x701f, 0x5222, 0x0005, 0x000e, 0x007e, - 0x0804, 0x359c, 0x7020, 0x2048, 0xa804, 0x2048, 0xa804, 0x2048, + 0x113c, 0x7007, 0x0002, 0x701f, 0x5242, 0x0005, 0x000e, 0x007e, + 0x0804, 0x35bc, 0x7020, 0x2048, 0xa804, 0x2048, 0xa804, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2098, 0x20a0, 0x27e0, 0x27e8, 0x20a9, 0x002a, 0x080c, - 0x0fb7, 0x2100, 0x2238, 0x2061, 0x18b8, 0x2c44, 0xa28c, 0xa390, - 0xa494, 0xa598, 0x2009, 0x002a, 0x0804, 0x4af5, 0x81ff, 0x1904, - 0x3599, 0x798c, 0x2001, 0x197d, 0x918c, 0x8000, 0x2102, 0x080c, - 0x4ac0, 0x0904, 0x359c, 0x080c, 0x6a6a, 0x0120, 0x080c, 0x6a72, - 0x1904, 0x359c, 0x080c, 0x66e7, 0x0904, 0x3599, 0x0126, 0x2091, - 0x8000, 0x080c, 0x6880, 0x012e, 0x0904, 0x3599, 0x2001, 0x197d, - 0x2004, 0xd0fc, 0x1904, 0x3567, 0x0804, 0x4547, 0xa9a0, 0x2001, - 0x197d, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x4acd, 0x01a0, - 0x080c, 0x6a6a, 0x0118, 0x080c, 0x6a72, 0x1170, 0x080c, 0x66e7, - 0x2009, 0x0002, 0x0128, 0x080c, 0x6880, 0x1170, 0x2009, 0x0003, + 0x0fc4, 0x2100, 0x2238, 0x2061, 0x18b8, 0x2c44, 0xa28c, 0xa390, + 0xa494, 0xa598, 0x2009, 0x002a, 0x0804, 0x4b15, 0x81ff, 0x1904, + 0x35b9, 0x798c, 0x2001, 0x197d, 0x918c, 0x8000, 0x2102, 0x080c, + 0x4ae0, 0x0904, 0x35bc, 0x080c, 0x6a8e, 0x0120, 0x080c, 0x6a96, + 0x1904, 0x35bc, 0x080c, 0x670b, 0x0904, 0x35b9, 0x0126, 0x2091, + 0x8000, 0x080c, 0x68a4, 0x012e, 0x0904, 0x35b9, 0x2001, 0x197d, + 0x2004, 0xd0fc, 0x1904, 0x3587, 0x0804, 0x4567, 0xa9a0, 0x2001, + 0x197d, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x4aed, 0x01a0, + 0x080c, 0x6a8e, 0x0118, 0x080c, 0x6a96, 0x1170, 0x080c, 0x670b, + 0x2009, 0x0002, 0x0128, 0x080c, 0x68a4, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x197d, - 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56dd, 0x0110, 0x9006, 0x0018, + 0x2004, 0xd0fc, 0x1128, 0x080c, 0x56fd, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x78a8, 0xd08c, - 0x1118, 0xd084, 0x0904, 0x44bc, 0x080c, 0x4adc, 0x0904, 0x359c, - 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, 0x080c, - 0x6a6a, 0x0130, 0x908e, 0x0004, 0x0118, 0x908e, 0x0005, 0x15a0, + 0x1118, 0xd084, 0x0904, 0x44dc, 0x080c, 0x4afc, 0x0904, 0x35bc, + 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0x080c, + 0x6a8e, 0x0130, 0x908e, 0x0004, 0x0118, 0x908e, 0x0005, 0x15a0, 0x78a8, 0xd08c, 0x0120, 0xb800, 0xc08c, 0xb802, 0x0028, 0x080c, - 0x56d5, 0xd0b4, 0x0904, 0x44f6, 0x7884, 0x908e, 0x007e, 0x0904, - 0x44f6, 0x908e, 0x007f, 0x0904, 0x44f6, 0x908e, 0x0080, 0x0904, - 0x44f6, 0xb800, 0xd08c, 0x1904, 0x44f6, 0xa867, 0x0000, 0xa868, - 0xc0fd, 0xa86a, 0x080c, 0xca01, 0x1120, 0x2009, 0x0003, 0x0804, - 0x3599, 0x7007, 0x0003, 0x701f, 0x52ee, 0x0005, 0x080c, 0x4adc, - 0x0904, 0x359c, 0x0804, 0x44f6, 0x080c, 0x3357, 0x0108, 0x0005, + 0x56f5, 0xd0b4, 0x0904, 0x4516, 0x7884, 0x908e, 0x007e, 0x0904, + 0x4516, 0x908e, 0x007f, 0x0904, 0x4516, 0x908e, 0x0080, 0x0904, + 0x4516, 0xb800, 0xd08c, 0x1904, 0x4516, 0xa867, 0x0000, 0xa868, + 0xc0fd, 0xa86a, 0x080c, 0xca34, 0x1120, 0x2009, 0x0003, 0x0804, + 0x35b9, 0x7007, 0x0003, 0x701f, 0x530e, 0x0005, 0x080c, 0x4afc, + 0x0904, 0x35bc, 0x0804, 0x4516, 0x080c, 0x3377, 0x0108, 0x0005, 0x2009, 0x1834, 0x210c, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, - 0x3599, 0x080c, 0x56e9, 0x0120, 0x2009, 0x0007, 0x0804, 0x3599, - 0x080c, 0x6a62, 0x0120, 0x2009, 0x0008, 0x0804, 0x3599, 0xb89c, - 0xd0a4, 0x1118, 0xd0ac, 0x1904, 0x44f6, 0x9006, 0xa866, 0xa832, - 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xca69, 0x1120, 0x2009, 0x0003, - 0x0804, 0x3599, 0x7007, 0x0003, 0x701f, 0x5327, 0x0005, 0xa830, - 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x5632, 0x080c, - 0x4adc, 0x0904, 0x359c, 0x0804, 0x52c0, 0x81ff, 0x2009, 0x0001, - 0x1904, 0x3599, 0x080c, 0x56e9, 0x2009, 0x0007, 0x1904, 0x3599, - 0x080c, 0x6a62, 0x0120, 0x2009, 0x0008, 0x0804, 0x3599, 0x080c, - 0x4adc, 0x0904, 0x359c, 0x080c, 0x6a6a, 0x2009, 0x0009, 0x1904, - 0x3599, 0x080c, 0x4aa9, 0x2009, 0x0002, 0x0904, 0x3599, 0x9006, + 0x35b9, 0x080c, 0x5709, 0x0120, 0x2009, 0x0007, 0x0804, 0x35b9, + 0x080c, 0x6a86, 0x0120, 0x2009, 0x0008, 0x0804, 0x35b9, 0xb89c, + 0xd0a4, 0x1118, 0xd0ac, 0x1904, 0x4516, 0x9006, 0xa866, 0xa832, + 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xca9c, 0x1120, 0x2009, 0x0003, + 0x0804, 0x35b9, 0x7007, 0x0003, 0x701f, 0x5347, 0x0005, 0xa830, + 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x5652, 0x080c, + 0x4afc, 0x0904, 0x35bc, 0x0804, 0x52e0, 0x81ff, 0x2009, 0x0001, + 0x1904, 0x35b9, 0x080c, 0x5709, 0x2009, 0x0007, 0x1904, 0x35b9, + 0x080c, 0x6a86, 0x0120, 0x2009, 0x0008, 0x0804, 0x35b9, 0x080c, + 0x4afc, 0x0904, 0x35bc, 0x080c, 0x6a8e, 0x2009, 0x0009, 0x1904, + 0x35b9, 0x080c, 0x4ac9, 0x2009, 0x0002, 0x0904, 0x35b9, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x7988, 0x9194, 0xff00, 0x918c, 0x00ff, 0x9006, 0x82ff, 0x1128, 0xc0ed, 0xa952, 0x798c, - 0xa956, 0x0038, 0x928e, 0x0100, 0x1904, 0x359c, 0xc0e5, 0xa952, - 0xa956, 0xa83e, 0x080c, 0xcccc, 0x2009, 0x0003, 0x0904, 0x3599, - 0x7007, 0x0003, 0x701f, 0x537d, 0x0005, 0xa830, 0x9086, 0x0100, - 0x2009, 0x0004, 0x0904, 0x3599, 0x0804, 0x3567, 0x7aa8, 0x9284, - 0xc000, 0x0148, 0xd2ec, 0x01a0, 0x080c, 0x56e9, 0x1188, 0x2009, - 0x0014, 0x0804, 0x3599, 0xd2dc, 0x1568, 0x81ff, 0x2009, 0x0001, - 0x1904, 0x3599, 0x080c, 0x56e9, 0x2009, 0x0007, 0x1904, 0x3599, - 0xd2f4, 0x0130, 0x9284, 0x5000, 0x080c, 0x56b0, 0x0804, 0x3567, - 0xd2fc, 0x0158, 0x080c, 0x4adc, 0x0904, 0x359c, 0x7984, 0x9284, - 0x9000, 0x080c, 0x568d, 0x0804, 0x3567, 0x080c, 0x4adc, 0x0904, - 0x359c, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x2009, 0x0009, - 0x1904, 0x5466, 0x080c, 0x4aa9, 0x2009, 0x0002, 0x0904, 0x5466, + 0xa956, 0x0038, 0x928e, 0x0100, 0x1904, 0x35bc, 0xc0e5, 0xa952, + 0xa956, 0xa83e, 0x080c, 0xccff, 0x2009, 0x0003, 0x0904, 0x35b9, + 0x7007, 0x0003, 0x701f, 0x539d, 0x0005, 0xa830, 0x9086, 0x0100, + 0x2009, 0x0004, 0x0904, 0x35b9, 0x0804, 0x3587, 0x7aa8, 0x9284, + 0xc000, 0x0148, 0xd2ec, 0x01a0, 0x080c, 0x5709, 0x1188, 0x2009, + 0x0014, 0x0804, 0x35b9, 0xd2dc, 0x1568, 0x81ff, 0x2009, 0x0001, + 0x1904, 0x35b9, 0x080c, 0x5709, 0x2009, 0x0007, 0x1904, 0x35b9, + 0xd2f4, 0x0130, 0x9284, 0x5000, 0x080c, 0x56d0, 0x0804, 0x3587, + 0xd2fc, 0x0158, 0x080c, 0x4afc, 0x0904, 0x35bc, 0x7984, 0x9284, + 0x9000, 0x080c, 0x56ad, 0x0804, 0x3587, 0x080c, 0x4afc, 0x0904, + 0x35bc, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x2009, 0x0009, + 0x1904, 0x5486, 0x080c, 0x4ac9, 0x2009, 0x0002, 0x0904, 0x5486, 0xa85c, 0x9080, 0x001b, 0xaf60, 0x2009, 0x0008, 0x7a8c, 0x7b88, - 0x7c9c, 0x7d98, 0x080c, 0x4af2, 0x701f, 0x53d7, 0x0005, 0xa86c, + 0x7c9c, 0x7d98, 0x080c, 0x4b12, 0x701f, 0x53f7, 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, 0xa870, 0x9005, 0x1120, 0xa874, 0x9084, - 0xff00, 0x0110, 0x1904, 0x359c, 0xa866, 0xa832, 0xa868, 0xc0fd, - 0xa86a, 0x080c, 0x4adc, 0x1110, 0x0804, 0x359c, 0x2009, 0x0043, - 0x080c, 0xcd34, 0x2009, 0x0003, 0x0904, 0x5466, 0x7007, 0x0003, - 0x701f, 0x53fb, 0x0005, 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, - 0x0904, 0x5466, 0x7984, 0x7aa8, 0x9284, 0x1000, 0x080c, 0x568d, - 0x0804, 0x3567, 0x00c6, 0xaab0, 0x9284, 0xc000, 0x0140, 0xd2ec, - 0x0168, 0x080c, 0x56e9, 0x1150, 0x2009, 0x0014, 0x04f0, 0x2061, - 0x1800, 0x080c, 0x56e9, 0x2009, 0x0007, 0x15b8, 0xd2f4, 0x0128, - 0x9284, 0x5000, 0x080c, 0x56b0, 0x0050, 0xd2fc, 0x0178, 0x080c, - 0x4ada, 0x0588, 0xa998, 0x9284, 0x9000, 0x080c, 0x568d, 0xa87b, - 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0438, 0x080c, 0x4ada, - 0x0510, 0x080c, 0x6a6a, 0x2009, 0x0009, 0x11b8, 0xa8c4, 0x9086, + 0xff00, 0x0110, 0x1904, 0x35bc, 0xa866, 0xa832, 0xa868, 0xc0fd, + 0xa86a, 0x080c, 0x4afc, 0x1110, 0x0804, 0x35bc, 0x2009, 0x0043, + 0x080c, 0xcd67, 0x2009, 0x0003, 0x0904, 0x5486, 0x7007, 0x0003, + 0x701f, 0x541b, 0x0005, 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, + 0x0904, 0x5486, 0x7984, 0x7aa8, 0x9284, 0x1000, 0x080c, 0x56ad, + 0x0804, 0x3587, 0x00c6, 0xaab0, 0x9284, 0xc000, 0x0140, 0xd2ec, + 0x0168, 0x080c, 0x5709, 0x1150, 0x2009, 0x0014, 0x04f0, 0x2061, + 0x1800, 0x080c, 0x5709, 0x2009, 0x0007, 0x15b8, 0xd2f4, 0x0128, + 0x9284, 0x5000, 0x080c, 0x56d0, 0x0050, 0xd2fc, 0x0178, 0x080c, + 0x4afa, 0x0588, 0xa998, 0x9284, 0x9000, 0x080c, 0x56ad, 0xa87b, + 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0438, 0x080c, 0x4afa, + 0x0510, 0x080c, 0x6a8e, 0x2009, 0x0009, 0x11b8, 0xa8c4, 0x9086, 0x0500, 0x11c8, 0xa8c8, 0x9005, 0x11b0, 0xa8cc, 0x9084, 0xff00, - 0x1190, 0x080c, 0x4ada, 0x1108, 0x0070, 0x2009, 0x004b, 0x080c, - 0xcd34, 0x2009, 0x0003, 0x0108, 0x0078, 0x0429, 0x19c0, 0xa897, + 0x1190, 0x080c, 0x4afa, 0x1108, 0x0070, 0x2009, 0x004b, 0x080c, + 0xcd67, 0x2009, 0x0003, 0x0108, 0x0078, 0x0429, 0x19c0, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ce, 0x0005, 0x9006, 0x0ce0, 0x7aa8, 0xd2dc, - 0x0904, 0x3599, 0x0016, 0x7984, 0x9284, 0x1000, 0xc0fd, 0x080c, - 0x568d, 0x001e, 0x1904, 0x3599, 0x0804, 0x3567, 0x00f6, 0x2d78, + 0x0904, 0x35b9, 0x0016, 0x7984, 0x9284, 0x1000, 0xc0fd, 0x080c, + 0x56ad, 0x001e, 0x1904, 0x35b9, 0x0804, 0x3587, 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, 0xaab0, 0xd2dc, 0x0150, 0x0016, 0xa998, - 0x9284, 0x1000, 0xc0fd, 0x080c, 0x568d, 0x001e, 0x9085, 0x0001, - 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3599, 0x080c, - 0x56e9, 0x0120, 0x2009, 0x0007, 0x0804, 0x3599, 0x7984, 0x7ea8, - 0x96b4, 0x00ff, 0x080c, 0x6620, 0x1904, 0x359c, 0x9186, 0x007f, - 0x0138, 0x080c, 0x6a6a, 0x0120, 0x2009, 0x0009, 0x0804, 0x3599, - 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, 0xa867, + 0x9284, 0x1000, 0xc0fd, 0x080c, 0x56ad, 0x001e, 0x9085, 0x0001, + 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x35b9, 0x080c, + 0x5709, 0x0120, 0x2009, 0x0007, 0x0804, 0x35b9, 0x7984, 0x7ea8, + 0x96b4, 0x00ff, 0x080c, 0x6644, 0x1904, 0x35bc, 0x9186, 0x007f, + 0x0138, 0x080c, 0x6a8e, 0x0120, 0x2009, 0x0009, 0x0804, 0x35b9, + 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x2001, 0x0100, 0x8007, 0xa80a, - 0x080c, 0xca1b, 0x1120, 0x2009, 0x0003, 0x0804, 0x3599, 0x7007, - 0x0003, 0x701f, 0x54c4, 0x0005, 0xa808, 0x8007, 0x9086, 0x0100, - 0x1120, 0x2009, 0x0004, 0x0804, 0x3599, 0xa8e0, 0xa866, 0xa810, + 0x080c, 0xca4e, 0x1120, 0x2009, 0x0003, 0x0804, 0x35b9, 0x7007, + 0x0003, 0x701f, 0x54e4, 0x0005, 0xa808, 0x8007, 0x9086, 0x0100, + 0x1120, 0x2009, 0x0004, 0x0804, 0x35b9, 0xa8e0, 0xa866, 0xa810, 0x8007, 0x9084, 0x00ff, 0x800c, 0xa814, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, 0x9108, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0004, 0x7a8c, 0x7b88, 0x7c9c, - 0x7d98, 0x0804, 0x4af5, 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, - 0x0804, 0x3599, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, + 0x7d98, 0x0804, 0x4b15, 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, + 0x0804, 0x35b9, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, 0x19b2, 0x0040, 0x92c6, 0x0001, 0x1118, - 0x7023, 0x19cc, 0x0010, 0x0804, 0x359c, 0x2009, 0x001a, 0x7a8c, + 0x7023, 0x19cc, 0x0010, 0x0804, 0x35bc, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, - 0x4af2, 0x701f, 0x5514, 0x0005, 0x2001, 0x182e, 0x2003, 0x0001, + 0x4b12, 0x701f, 0x5534, 0x0005, 0x2001, 0x182e, 0x2003, 0x0001, 0xa85c, 0x9080, 0x0019, 0x2098, 0xa860, 0x20e0, 0x20a9, 0x001a, - 0x7020, 0x20a0, 0x20e9, 0x0001, 0x4003, 0x0804, 0x3567, 0x080c, - 0x4aa9, 0x1120, 0x2009, 0x0002, 0x0804, 0x3599, 0x7984, 0x9194, + 0x7020, 0x20a0, 0x20e9, 0x0001, 0x4003, 0x0804, 0x3587, 0x080c, + 0x4ac9, 0x1120, 0x2009, 0x0002, 0x0804, 0x35b9, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x2099, 0x19b2, 0x0040, 0x92c6, 0x0001, 0x1118, 0x2099, 0x19cc, 0x0010, 0x0804, - 0x359c, 0xa85c, 0x9080, 0x0019, 0x20a0, 0xa860, 0x20e8, 0x20a9, + 0x35bc, 0xa85c, 0x9080, 0x0019, 0x20a0, 0xa860, 0x20e8, 0x20a9, 0x001a, 0x20e1, 0x0001, 0x4003, 0x2009, 0x001a, 0x7a8c, 0x7b88, - 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x0804, 0x4af5, - 0x7884, 0x908a, 0x1000, 0x1a04, 0x359c, 0x0126, 0x2091, 0x8000, + 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x0804, 0x4b15, + 0x7884, 0x908a, 0x1000, 0x1a04, 0x35bc, 0x0126, 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, 0x9108, 0x00c6, 0x2061, 0x1a02, 0x6142, - 0x00ce, 0x012e, 0x0804, 0x3567, 0x00c6, 0x080c, 0x74c8, 0x1160, - 0x080c, 0x77cc, 0x080c, 0x6024, 0x9085, 0x0001, 0x080c, 0x750f, - 0x080c, 0x73f9, 0x080c, 0x0d7d, 0x2061, 0x1800, 0x6030, 0xc09d, - 0x6032, 0x080c, 0x5edf, 0x00ce, 0x0005, 0x00c6, 0x2001, 0x1800, - 0x2004, 0x908e, 0x0000, 0x0904, 0x3599, 0x7884, 0x9005, 0x0188, - 0x7888, 0x2061, 0x199b, 0x2c0c, 0x2062, 0x080c, 0x29f7, 0x01a0, - 0x080c, 0x29ff, 0x0188, 0x080c, 0x2a07, 0x0170, 0x2162, 0x0804, - 0x359c, 0x2061, 0x0100, 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, + 0x00ce, 0x012e, 0x0804, 0x3587, 0x00c6, 0x080c, 0x74ec, 0x1160, + 0x080c, 0x77ef, 0x080c, 0x6044, 0x9085, 0x0001, 0x080c, 0x7533, + 0x080c, 0x741d, 0x080c, 0x0d7d, 0x2061, 0x1800, 0x6030, 0xc09d, + 0x6032, 0x080c, 0x5eff, 0x00ce, 0x0005, 0x00c6, 0x2001, 0x1800, + 0x2004, 0x908e, 0x0000, 0x0904, 0x35b9, 0x7884, 0x9005, 0x0188, + 0x7888, 0x2061, 0x199b, 0x2c0c, 0x2062, 0x080c, 0x2a17, 0x01a0, + 0x080c, 0x2a1f, 0x0188, 0x080c, 0x2a27, 0x0170, 0x2162, 0x0804, + 0x35bc, 0x2061, 0x0100, 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, 0x0001, 0x0010, 0x2009, 0x0000, 0x7884, 0x9086, 0x0002, 0x1588, - 0x2061, 0x0100, 0x6028, 0xc09c, 0x602a, 0x080c, 0xa888, 0x0026, - 0x2011, 0x0003, 0x080c, 0xa1b1, 0x2011, 0x0002, 0x080c, 0xa1bb, - 0x002e, 0x080c, 0xa07a, 0x0036, 0x901e, 0x080c, 0xa0fa, 0x003e, - 0x080c, 0xa8a4, 0x60e3, 0x0000, 0x080c, 0xe712, 0x080c, 0xe72d, - 0x9085, 0x0001, 0x080c, 0x750f, 0x9006, 0x080c, 0x2a29, 0x2001, - 0x1800, 0x2003, 0x0004, 0x0026, 0x2011, 0x0008, 0x080c, 0x2a63, - 0x002e, 0x00ce, 0x0804, 0x3567, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x3599, 0x080c, 0x56e9, 0x0120, 0x2009, 0x0007, 0x0804, - 0x3599, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, 0x6620, 0x1904, - 0x359c, 0x9186, 0x007f, 0x0138, 0x080c, 0x6a6a, 0x0120, 0x2009, - 0x0009, 0x0804, 0x3599, 0x080c, 0x4aa9, 0x1120, 0x2009, 0x0002, - 0x0804, 0x3599, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, - 0xca1e, 0x1120, 0x2009, 0x0003, 0x0804, 0x3599, 0x7007, 0x0003, - 0x701f, 0x561b, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, - 0x0004, 0x0804, 0x3599, 0xa8e0, 0xa866, 0xa834, 0x8007, 0x800c, + 0x2061, 0x0100, 0x6028, 0xc09c, 0x602a, 0x080c, 0xa899, 0x0026, + 0x2011, 0x0003, 0x080c, 0xa1be, 0x2011, 0x0002, 0x080c, 0xa1c8, + 0x002e, 0x080c, 0xa0b3, 0x0036, 0x901e, 0x080c, 0xa133, 0x003e, + 0x080c, 0xa8b5, 0x60e3, 0x0000, 0x080c, 0xe74f, 0x080c, 0xe76a, + 0x9085, 0x0001, 0x080c, 0x7533, 0x9006, 0x080c, 0x2a49, 0x2001, + 0x1800, 0x2003, 0x0004, 0x0026, 0x2011, 0x0008, 0x080c, 0x2a83, + 0x002e, 0x00ce, 0x0804, 0x3587, 0x81ff, 0x0120, 0x2009, 0x0001, + 0x0804, 0x35b9, 0x080c, 0x5709, 0x0120, 0x2009, 0x0007, 0x0804, + 0x35b9, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, 0x6644, 0x1904, + 0x35bc, 0x9186, 0x007f, 0x0138, 0x080c, 0x6a8e, 0x0120, 0x2009, + 0x0009, 0x0804, 0x35b9, 0x080c, 0x4ac9, 0x1120, 0x2009, 0x0002, + 0x0804, 0x35b9, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, + 0xca51, 0x1120, 0x2009, 0x0003, 0x0804, 0x35b9, 0x7007, 0x0003, + 0x701f, 0x563b, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, + 0x0004, 0x0804, 0x35b9, 0xa8e0, 0xa866, 0xa834, 0x8007, 0x800c, 0xa85c, 0x9080, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xaf60, - 0x0804, 0x4af5, 0xa898, 0x9086, 0x000d, 0x1904, 0x3599, 0x2021, - 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, 0x563f, 0x0010, 0x012e, + 0x0804, 0x4b15, 0xa898, 0x9086, 0x000d, 0x1904, 0x35b9, 0x2021, + 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, 0x565f, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7883, 0x4005, 0xa998, 0x7986, 0xa9a4, 0x799a, - 0xa9a8, 0x799e, 0x080c, 0x4ae5, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x11e1, 0x7007, 0x0001, 0x2091, 0x5000, + 0xa9a8, 0x799e, 0x080c, 0x4b05, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x11ee, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00c6, 0x2061, 0x1a02, 0x7984, 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, 0x7898, 0x606a, 0x789c, 0x6066, 0x7888, 0x6062, 0x788c, 0x605e, 0x2001, 0x1a10, 0x2044, 0x2001, 0x1a17, 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, 0xa07f, 0x0002, 0xa06b, 0x0000, 0xa09f, - 0x0000, 0x00ce, 0x012e, 0x0804, 0x3567, 0x0126, 0x2091, 0x8000, - 0x00b6, 0x00c6, 0x90e4, 0xc000, 0x0128, 0x0006, 0x080c, 0xc87f, + 0x0000, 0x00ce, 0x012e, 0x0804, 0x3587, 0x0126, 0x2091, 0x8000, + 0x00b6, 0x00c6, 0x90e4, 0xc000, 0x0128, 0x0006, 0x080c, 0xc8b2, 0x000e, 0x1198, 0xd0e4, 0x0160, 0x9180, 0x1000, 0x2004, 0x905d, - 0x0160, 0x080c, 0x603e, 0x080c, 0xab49, 0x0110, 0xb817, 0x0000, + 0x0160, 0x080c, 0x605e, 0x080c, 0xab5a, 0x0110, 0xb817, 0x0000, 0x9006, 0x00ce, 0x00be, 0x012e, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x0126, 0x2091, 0x8000, 0x0156, 0x2010, 0x900e, 0x20a9, 0x0800, 0x0016, 0x9180, 0x1000, 0x2004, 0x9005, 0x0180, 0x9186, 0x007e, 0x0168, 0x9186, 0x007f, 0x0150, 0x9186, 0x0080, 0x0138, 0x9186, 0x00ff, 0x0120, 0x0026, 0x2200, 0x0801, 0x002e, 0x001e, 0x8108, - 0x1f04, 0x56b8, 0x015e, 0x012e, 0x0005, 0x2001, 0x1848, 0x2004, + 0x1f04, 0x56d8, 0x015e, 0x012e, 0x0005, 0x2001, 0x1848, 0x2004, 0x0005, 0x2001, 0x1867, 0x2004, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0d4, 0x000e, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0b4, 0x0005, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x0005, 0x0016, 0x00e6, 0x2071, 0x189e, 0x7108, 0x910d, 0x710a, 0x00ee, 0x001e, - 0x0005, 0x79a4, 0x9182, 0x0081, 0x1a04, 0x359c, 0x810c, 0x0016, - 0x080c, 0x4aa9, 0x080c, 0x0f42, 0x2100, 0x2238, 0x7d84, 0x7c88, - 0x7b8c, 0x7a90, 0x001e, 0x080c, 0x4af2, 0x701f, 0x5710, 0x0005, + 0x0005, 0x79a4, 0x9182, 0x0081, 0x1a04, 0x35bc, 0x810c, 0x0016, + 0x080c, 0x4ac9, 0x080c, 0x0f4f, 0x2100, 0x2238, 0x7d84, 0x7c88, + 0x7b8c, 0x7a90, 0x001e, 0x080c, 0x4b12, 0x701f, 0x5730, 0x0005, 0x2079, 0x0000, 0x7d94, 0x7c98, 0x7ba8, 0x7aac, 0x79a4, 0x810c, 0x2061, 0x18b8, 0x2c44, 0xa770, 0xa074, 0x2071, 0x189e, 0x080c, - 0x4af5, 0x701f, 0x5724, 0x0005, 0x2061, 0x18b8, 0x2c44, 0x0016, - 0x0026, 0xa270, 0xa174, 0x080c, 0x0f4a, 0x002e, 0x001e, 0x080c, - 0x0ff7, 0x9006, 0xa802, 0xa806, 0x0804, 0x3567, 0x0126, 0x0156, + 0x4b15, 0x701f, 0x5744, 0x0005, 0x2061, 0x18b8, 0x2c44, 0x0016, + 0x0026, 0xa270, 0xa174, 0x080c, 0x0f57, 0x002e, 0x001e, 0x080c, + 0x1004, 0x9006, 0xa802, 0xa806, 0x0804, 0x3587, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, 0x0200, 0x2071, 0x1800, 0x6044, 0xd0a4, - 0x11e8, 0xd084, 0x0118, 0x080c, 0x58df, 0x0068, 0xd08c, 0x0118, - 0x080c, 0x57e8, 0x0040, 0xd094, 0x0118, 0x080c, 0x57b8, 0x0018, + 0x11e8, 0xd084, 0x0118, 0x080c, 0x58ff, 0x0068, 0xd08c, 0x0118, + 0x080c, 0x5808, 0x0040, 0xd094, 0x0118, 0x080c, 0x57d8, 0x0018, 0xd09c, 0x0108, 0x0099, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, 0x612a, 0x001e, 0x0c68, 0x0006, 0x7098, @@ -2596,216 +2600,216 @@ unsigned short risc_code01[] = { 0x9286, 0xf0f0, 0x1150, 0x6048, 0x9086, 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, 0x0490, 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7138, 0xd1a4, 0x1160, 0x6240, 0x9295, 0x0100, - 0x6242, 0x9294, 0x0010, 0x0128, 0x2009, 0x00f7, 0x080c, 0x5fa0, + 0x6242, 0x9294, 0x0010, 0x0128, 0x2009, 0x00f7, 0x080c, 0x5fc0, 0x00f0, 0x6040, 0x9084, 0x0010, 0x9085, 0x0140, 0x6042, 0x6043, 0x0000, 0x7087, 0x0000, 0x70a3, 0x0001, 0x70c7, 0x0000, 0x70df, 0x0000, 0x2009, 0x1d80, 0x200b, 0x0000, 0x7097, 0x0000, 0x708b, - 0x000f, 0x2009, 0x000f, 0x2011, 0x5e82, 0x080c, 0x86e7, 0x0005, + 0x000f, 0x2009, 0x000f, 0x2011, 0x5ea2, 0x080c, 0x871b, 0x0005, 0x2001, 0x1869, 0x2004, 0xd08c, 0x0110, 0x705f, 0xffff, 0x7088, - 0x9005, 0x1528, 0x2011, 0x5e82, 0x080c, 0x861d, 0x6040, 0x9094, + 0x9005, 0x1528, 0x2011, 0x5ea2, 0x080c, 0x8651, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, 0x20a9, 0x00c8, 0x6044, 0xd08c, - 0x1168, 0x1f04, 0x57ce, 0x6242, 0x709b, 0x0000, 0x6040, 0x9094, + 0x1168, 0x1f04, 0x57ee, 0x6242, 0x709b, 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, 0x6042, 0x6242, 0x0048, 0x6242, 0x709b, - 0x0000, 0x708f, 0x0000, 0x9006, 0x080c, 0x6029, 0x0000, 0x0005, - 0x708c, 0x908a, 0x0003, 0x1a0c, 0x0d7d, 0x000b, 0x0005, 0x57f2, - 0x5843, 0x58de, 0x00f6, 0x0016, 0x6900, 0x918c, 0x0800, 0x708f, + 0x0000, 0x708f, 0x0000, 0x9006, 0x080c, 0x6049, 0x0000, 0x0005, + 0x708c, 0x908a, 0x0003, 0x1a0c, 0x0d7d, 0x000b, 0x0005, 0x5812, + 0x5863, 0x58fe, 0x00f6, 0x0016, 0x6900, 0x918c, 0x0800, 0x708f, 0x0001, 0x2001, 0x015d, 0x2003, 0x0000, 0x6803, 0x00fc, 0x20a9, - 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, 0x1f04, 0x5801, 0x080c, + 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, 0x1f04, 0x5821, 0x080c, 0x0d7d, 0x68a0, 0x68a2, 0x689c, 0x689e, 0x6898, 0x689a, 0xa001, - 0x918d, 0x1600, 0x6902, 0x001e, 0x6837, 0x0020, 0x080c, 0x6005, + 0x918d, 0x1600, 0x6902, 0x001e, 0x6837, 0x0020, 0x080c, 0x6025, 0x2079, 0x1d00, 0x7833, 0x1101, 0x7837, 0x0000, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0001, 0x20a1, 0x1d0e, 0x20a9, 0x0004, - 0x4003, 0x080c, 0xa67d, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, + 0x4003, 0x080c, 0xa68e, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, - 0x600f, 0x0000, 0x080c, 0x5eb3, 0x00fe, 0x9006, 0x7092, 0x6043, + 0x600f, 0x0000, 0x080c, 0x5ed3, 0x00fe, 0x9006, 0x7092, 0x6043, 0x0008, 0x6042, 0x0005, 0x00f6, 0x7090, 0x7093, 0x0000, 0x9025, - 0x0904, 0x58bb, 0x6020, 0xd0b4, 0x1904, 0x58b9, 0x71a0, 0x81ff, - 0x0904, 0x58a7, 0x9486, 0x000c, 0x1904, 0x58b4, 0x9480, 0x0018, - 0x8004, 0x20a8, 0x080c, 0x5ffe, 0x2011, 0x0260, 0x2019, 0x1d00, - 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, 0x8318, 0x1f04, 0x5860, + 0x0904, 0x58db, 0x6020, 0xd0b4, 0x1904, 0x58d9, 0x71a0, 0x81ff, + 0x0904, 0x58c7, 0x9486, 0x000c, 0x1904, 0x58d4, 0x9480, 0x0018, + 0x8004, 0x20a8, 0x080c, 0x601e, 0x2011, 0x0260, 0x2019, 0x1d00, + 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, 0x8318, 0x1f04, 0x5880, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0006, 0x708f, 0x0002, 0x709b, 0x0002, - 0x2009, 0x07d0, 0x2011, 0x5e89, 0x080c, 0x86e7, 0x080c, 0x6005, - 0x04c0, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7930, 0x918e, 0x1101, + 0x2009, 0x07d0, 0x2011, 0x5ea9, 0x080c, 0x871b, 0x080c, 0x6025, + 0x04c0, 0x080c, 0x601e, 0x2079, 0x0260, 0x7930, 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, 0x1540, 0x7900, 0x918c, 0x00ff, 0x1118, - 0x7804, 0x9005, 0x0190, 0x080c, 0x5ffe, 0x2011, 0x026e, 0x2019, + 0x7804, 0x9005, 0x0190, 0x080c, 0x601e, 0x2011, 0x026e, 0x2019, 0x1805, 0x20a9, 0x0004, 0x220c, 0x2304, 0x9102, 0x0230, 0x11a0, - 0x8210, 0x8318, 0x1f04, 0x589b, 0x0078, 0x70a3, 0x0000, 0x080c, - 0x5ffe, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0001, 0x20a1, + 0x8210, 0x8318, 0x1f04, 0x58bb, 0x0078, 0x70a3, 0x0000, 0x080c, + 0x601e, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0001, 0x20a1, 0x1d00, 0x20a9, 0x0014, 0x4003, 0x6043, 0x0008, 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, 0x6040, 0x9085, 0x0100, 0x6042, 0x6020, - 0xd0b4, 0x1db8, 0x080c, 0xa67d, 0x20e1, 0x0001, 0x2099, 0x1d00, + 0xd0b4, 0x1db8, 0x080c, 0xa68e, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, 0x2011, 0x19f3, 0x2013, 0x0000, 0x7093, 0x0000, 0x60a3, - 0x0056, 0x60a7, 0x9575, 0x080c, 0x9e09, 0x08d8, 0x0005, 0x7098, - 0x908a, 0x001d, 0x1a0c, 0x0d7d, 0x000b, 0x0005, 0x5910, 0x5923, - 0x594c, 0x596c, 0x5992, 0x59c1, 0x59e7, 0x5a1f, 0x5a45, 0x5a73, - 0x5aae, 0x5ae6, 0x5b04, 0x5b2f, 0x5b51, 0x5b6c, 0x5b76, 0x5baa, - 0x5bd0, 0x5bff, 0x5c25, 0x5c5d, 0x5ca1, 0x5cde, 0x5cff, 0x5d58, - 0x5d7a, 0x5da8, 0x5da8, 0x00c6, 0x2061, 0x1800, 0x6003, 0x0007, + 0x0056, 0x60a7, 0x9575, 0x080c, 0x9e42, 0x08d8, 0x0005, 0x7098, + 0x908a, 0x001d, 0x1a0c, 0x0d7d, 0x000b, 0x0005, 0x5930, 0x5943, + 0x596c, 0x598c, 0x59b2, 0x59e1, 0x5a07, 0x5a3f, 0x5a65, 0x5a93, + 0x5ace, 0x5b06, 0x5b24, 0x5b4f, 0x5b71, 0x5b8c, 0x5b96, 0x5bca, + 0x5bf0, 0x5c1f, 0x5c45, 0x5c7d, 0x5cc1, 0x5cfe, 0x5d1f, 0x5d78, + 0x5d9a, 0x5dc8, 0x5dc8, 0x00c6, 0x2061, 0x1800, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0x9084, 0xfff9, 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, - 0x6043, 0x0002, 0x709b, 0x0001, 0x2009, 0x07d0, 0x2011, 0x5e89, - 0x080c, 0x86e7, 0x0005, 0x00f6, 0x7090, 0x9086, 0x0014, 0x1510, - 0x6042, 0x6020, 0xd0b4, 0x11f0, 0x080c, 0x5ffe, 0x2079, 0x0260, + 0x6043, 0x0002, 0x709b, 0x0001, 0x2009, 0x07d0, 0x2011, 0x5ea9, + 0x080c, 0x871b, 0x0005, 0x00f6, 0x7090, 0x9086, 0x0014, 0x1510, + 0x6042, 0x6020, 0xd0b4, 0x11f0, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x11a0, 0x7834, 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x2011, - 0x5e89, 0x080c, 0x861d, 0x709b, 0x0010, 0x080c, 0x5b76, 0x0010, + 0x5ea9, 0x080c, 0x8651, 0x709b, 0x0010, 0x080c, 0x5b96, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0003, 0x6043, - 0x0004, 0x2011, 0x5e89, 0x080c, 0x861d, 0x080c, 0x5f82, 0x2079, + 0x0004, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x080c, 0x5fa2, 0x2079, 0x0240, 0x7833, 0x1102, 0x7837, 0x0000, 0x20a9, 0x0008, 0x9f88, - 0x000e, 0x200b, 0x0000, 0x8108, 0x1f04, 0x5961, 0x60c3, 0x0014, - 0x080c, 0x5eb3, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, - 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, 0x0014, 0x11b8, 0x080c, - 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x1178, 0x7834, + 0x000e, 0x200b, 0x0000, 0x8108, 0x1f04, 0x5981, 0x60c3, 0x0014, + 0x080c, 0x5ed3, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, + 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, - 0x70c7, 0x0001, 0x709b, 0x0004, 0x0029, 0x0010, 0x080c, 0x5fda, - 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0005, 0x080c, 0x5f82, 0x2079, - 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, 0x5ffe, 0x080c, - 0x5fe1, 0x1170, 0x7084, 0x9005, 0x1158, 0x715c, 0x9186, 0xffff, - 0x0138, 0x2011, 0x0008, 0x080c, 0x5e36, 0x0168, 0x080c, 0x5fb7, + 0x70c7, 0x0001, 0x709b, 0x0004, 0x0029, 0x0010, 0x080c, 0x5ffa, + 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0005, 0x080c, 0x5fa2, 0x2079, + 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, 0x601e, 0x080c, + 0x6001, 0x1170, 0x7084, 0x9005, 0x1158, 0x715c, 0x9186, 0xffff, + 0x0138, 0x2011, 0x0008, 0x080c, 0x5e56, 0x0168, 0x080c, 0x5fd7, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, - 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb3, 0x00fe, - 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5e89, 0x080c, - 0x861d, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5ffe, 0x2079, 0x0260, + 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5ed3, 0x00fe, + 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5ea9, 0x080c, + 0x8651, 0x9086, 0x0014, 0x11b8, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, - 0x0006, 0x0029, 0x0010, 0x080c, 0x5fda, 0x00fe, 0x0005, 0x00f6, - 0x709b, 0x0007, 0x080c, 0x5f82, 0x2079, 0x0240, 0x7833, 0x1104, - 0x7837, 0x0000, 0x080c, 0x5ffe, 0x080c, 0x5fe1, 0x11b8, 0x7084, - 0x9005, 0x11a0, 0x7164, 0x9186, 0xffff, 0x0180, 0x9180, 0x3368, - 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, 0x5e36, - 0x0180, 0x080c, 0x4fdf, 0x0110, 0x080c, 0x267d, 0x20a9, 0x0008, + 0x0006, 0x0029, 0x0010, 0x080c, 0x5ffa, 0x00fe, 0x0005, 0x00f6, + 0x709b, 0x0007, 0x080c, 0x5fa2, 0x2079, 0x0240, 0x7833, 0x1104, + 0x7837, 0x0000, 0x080c, 0x601e, 0x080c, 0x6001, 0x11b8, 0x7084, + 0x9005, 0x11a0, 0x7164, 0x9186, 0xffff, 0x0180, 0x9180, 0x3388, + 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, 0x5e56, + 0x0180, 0x080c, 0x4fff, 0x0110, 0x080c, 0x2699, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, - 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb3, 0x00fe, 0x0005, 0x00f6, - 0x7090, 0x9005, 0x0500, 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, - 0x0014, 0x11b8, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x4003, 0x60c3, 0x0014, 0x080c, 0x5ed3, 0x00fe, 0x0005, 0x00f6, + 0x7090, 0x9005, 0x0500, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, + 0x0014, 0x11b8, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x0008, 0x0029, - 0x0010, 0x080c, 0x5fda, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0009, - 0x080c, 0x5f82, 0x2079, 0x0240, 0x7833, 0x1105, 0x7837, 0x0100, - 0x080c, 0x5fe1, 0x1150, 0x7084, 0x9005, 0x1138, 0x080c, 0x5da9, - 0x1188, 0x9085, 0x0001, 0x080c, 0x267d, 0x20a9, 0x0008, 0x080c, - 0x5ffe, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, - 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb3, 0x0010, 0x080c, - 0x5903, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x05a8, 0x2011, - 0x5e89, 0x080c, 0x861d, 0x9086, 0x0014, 0x1560, 0x080c, 0x5ffe, + 0x0010, 0x080c, 0x5ffa, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0009, + 0x080c, 0x5fa2, 0x2079, 0x0240, 0x7833, 0x1105, 0x7837, 0x0100, + 0x080c, 0x6001, 0x1150, 0x7084, 0x9005, 0x1138, 0x080c, 0x5dc9, + 0x1188, 0x9085, 0x0001, 0x080c, 0x2699, 0x20a9, 0x0008, 0x080c, + 0x601e, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, + 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5ed3, 0x0010, 0x080c, + 0x5923, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, 0x05a8, 0x2011, + 0x5ea9, 0x080c, 0x8651, 0x9086, 0x0014, 0x1560, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1520, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, 0x921e, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x7097, 0x0000, 0x709b, 0x000e, 0x080c, - 0x5b51, 0x0010, 0x080c, 0x5fda, 0x00fe, 0x0005, 0x00f6, 0x709b, + 0x5b71, 0x0010, 0x080c, 0x5ffa, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x000b, 0x2011, 0x1d0e, 0x20e9, 0x0001, 0x22a0, 0x20a9, 0x0040, - 0x2019, 0xffff, 0x4304, 0x080c, 0x5f82, 0x2079, 0x0240, 0x7833, - 0x1106, 0x7837, 0x0000, 0x080c, 0x5fe1, 0x0118, 0x2013, 0x0000, + 0x2019, 0xffff, 0x4304, 0x080c, 0x5fa2, 0x2079, 0x0240, 0x7833, + 0x1106, 0x7837, 0x0000, 0x080c, 0x6001, 0x0118, 0x2013, 0x0000, 0x0020, 0x7060, 0x9085, 0x0100, 0x2012, 0x20a9, 0x0040, 0x2009, 0x024e, 0x2011, 0x1d0e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, - 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x1f04, 0x5ad3, - 0x60c3, 0x0084, 0x080c, 0x5eb3, 0x00fe, 0x0005, 0x00f6, 0x7090, - 0x9005, 0x01c0, 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, 0x0084, - 0x1178, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, + 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x1f04, 0x5af3, + 0x60c3, 0x0084, 0x080c, 0x5ed3, 0x00fe, 0x0005, 0x00f6, 0x7090, + 0x9005, 0x01c0, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, 0x0084, + 0x1178, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x709b, 0x000c, 0x0029, 0x0010, - 0x080c, 0x5fda, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x000d, 0x080c, - 0x5f82, 0x2079, 0x0240, 0x7833, 0x1107, 0x7837, 0x0000, 0x080c, - 0x5ffe, 0x20a9, 0x0040, 0x2011, 0x026e, 0x2009, 0x024e, 0x220e, + 0x080c, 0x5ffa, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x000d, 0x080c, + 0x5fa2, 0x2079, 0x0240, 0x7833, 0x1107, 0x7837, 0x0000, 0x080c, + 0x601e, 0x20a9, 0x0040, 0x2011, 0x026e, 0x2009, 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, - 0x5b17, 0x60c3, 0x0084, 0x080c, 0x5eb3, 0x00fe, 0x0005, 0x00f6, - 0x7090, 0x9005, 0x01e0, 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, - 0x0084, 0x1198, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x5b37, 0x60c3, 0x0084, 0x080c, 0x5ed3, 0x00fe, 0x0005, 0x00f6, + 0x7090, 0x9005, 0x01e0, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, + 0x0084, 0x1198, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, 0x7097, 0x0001, 0x080c, - 0x5f54, 0x709b, 0x000e, 0x0029, 0x0010, 0x080c, 0x5fda, 0x00fe, - 0x0005, 0x918d, 0x0001, 0x080c, 0x6029, 0x709b, 0x000f, 0x7093, + 0x5f74, 0x709b, 0x000e, 0x0029, 0x0010, 0x080c, 0x5ffa, 0x00fe, + 0x0005, 0x918d, 0x0001, 0x080c, 0x6049, 0x709b, 0x000f, 0x7093, 0x0000, 0x2061, 0x0140, 0x605b, 0xbc85, 0x605f, 0xb5b5, 0x2061, 0x0100, 0x6043, 0x0005, 0x6043, 0x0004, 0x2009, 0x07d0, 0x2011, - 0x5e89, 0x080c, 0x8611, 0x0005, 0x7090, 0x9005, 0x0130, 0x2011, - 0x5e89, 0x080c, 0x861d, 0x709b, 0x0000, 0x0005, 0x709b, 0x0011, - 0x080c, 0xa67d, 0x080c, 0x5ffe, 0x20e1, 0x0000, 0x2099, 0x0260, + 0x5ea9, 0x080c, 0x8645, 0x0005, 0x7090, 0x9005, 0x0130, 0x2011, + 0x5ea9, 0x080c, 0x8651, 0x709b, 0x0000, 0x0005, 0x709b, 0x0011, + 0x080c, 0xa68e, 0x080c, 0x601e, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x7490, 0x9480, 0x0018, 0x9080, - 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x4003, 0x080c, 0x5fe1, + 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x4003, 0x080c, 0x6001, 0x11a0, 0x717c, 0x81ff, 0x0188, 0x900e, 0x7080, 0x9084, 0x00ff, - 0x0160, 0x080c, 0x2614, 0x9186, 0x007e, 0x0138, 0x9186, 0x0080, - 0x0120, 0x2011, 0x0008, 0x080c, 0x5e36, 0x60c3, 0x0014, 0x080c, - 0x5eb3, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5e89, - 0x080c, 0x861d, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5ffe, 0x2079, + 0x0160, 0x080c, 0x2630, 0x9186, 0x007e, 0x0138, 0x9186, 0x0080, + 0x0120, 0x2011, 0x0008, 0x080c, 0x5e56, 0x60c3, 0x0014, 0x080c, + 0x5ed3, 0x0005, 0x00f6, 0x7090, 0x9005, 0x0500, 0x2011, 0x5ea9, + 0x080c, 0x8651, 0x9086, 0x0014, 0x11b8, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x0012, 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, - 0x00f6, 0x709b, 0x0013, 0x080c, 0x5f90, 0x2079, 0x0240, 0x7833, - 0x1103, 0x7837, 0x0000, 0x080c, 0x5ffe, 0x080c, 0x5fe1, 0x1170, + 0x00f6, 0x709b, 0x0013, 0x080c, 0x5fb0, 0x2079, 0x0240, 0x7833, + 0x1103, 0x7837, 0x0000, 0x080c, 0x601e, 0x080c, 0x6001, 0x1170, 0x7084, 0x9005, 0x1158, 0x715c, 0x9186, 0xffff, 0x0138, 0x2011, - 0x0008, 0x080c, 0x5e36, 0x0168, 0x080c, 0x5fb7, 0x20a9, 0x0008, + 0x0008, 0x080c, 0x5e56, 0x0168, 0x080c, 0x5fd7, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, - 0x4003, 0x60c3, 0x0014, 0x080c, 0x5eb3, 0x00fe, 0x0005, 0x00f6, - 0x7090, 0x9005, 0x0500, 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, - 0x0014, 0x11b8, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x4003, 0x60c3, 0x0014, 0x080c, 0x5ed3, 0x00fe, 0x0005, 0x00f6, + 0x7090, 0x9005, 0x0500, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, + 0x0014, 0x11b8, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x709b, 0x0014, 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x709b, 0x0015, - 0x080c, 0x5f90, 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, - 0x080c, 0x5ffe, 0x080c, 0x5fe1, 0x11b8, 0x7084, 0x9005, 0x11a0, - 0x7164, 0x9186, 0xffff, 0x0180, 0x9180, 0x3368, 0x200d, 0x918c, - 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, 0x5e36, 0x0180, 0x080c, - 0x4fdf, 0x0110, 0x080c, 0x267d, 0x20a9, 0x0008, 0x20e1, 0x0000, + 0x080c, 0x5fb0, 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, + 0x080c, 0x601e, 0x080c, 0x6001, 0x11b8, 0x7084, 0x9005, 0x11a0, + 0x7164, 0x9186, 0xffff, 0x0180, 0x9180, 0x3388, 0x200d, 0x918c, + 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, 0x5e56, 0x0180, 0x080c, + 0x4fff, 0x0110, 0x080c, 0x2699, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, - 0x0014, 0x080c, 0x5eb3, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, - 0x05f0, 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, 0x0014, 0x15a8, - 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1568, + 0x0014, 0x080c, 0x5ed3, 0x00fe, 0x0005, 0x00f6, 0x7090, 0x9005, + 0x05f0, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, 0x0014, 0x15a8, + 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1568, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, 0x921e, 0x1168, 0x9085, - 0x0001, 0x080c, 0x6029, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, + 0x0001, 0x080c, 0x6049, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x0080, 0x9005, 0x11b8, 0x7a38, 0xd2fc, 0x0128, 0x70c4, 0x9005, 0x1110, 0x70c7, 0x0001, 0x9085, 0x0001, - 0x080c, 0x6029, 0x7097, 0x0000, 0x7a38, 0xd2f4, 0x0110, 0x70df, + 0x080c, 0x6049, 0x7097, 0x0000, 0x7a38, 0xd2f4, 0x0110, 0x70df, 0x0008, 0x709b, 0x0016, 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, - 0x0005, 0x080c, 0xa67d, 0x080c, 0x5ffe, 0x20e1, 0x0000, 0x2099, + 0x0005, 0x080c, 0xa68e, 0x080c, 0x601e, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000e, 0x4003, 0x2011, 0x026d, 0x2204, 0x9084, 0x0100, 0x2011, 0x024d, 0x2012, - 0x2011, 0x026e, 0x709b, 0x0017, 0x080c, 0x5fe1, 0x1150, 0x7084, - 0x9005, 0x1138, 0x080c, 0x5da9, 0x1188, 0x9085, 0x0001, 0x080c, - 0x267d, 0x20a9, 0x0008, 0x080c, 0x5ffe, 0x20e1, 0x0000, 0x2099, + 0x2011, 0x026e, 0x709b, 0x0017, 0x080c, 0x6001, 0x1150, 0x7084, + 0x9005, 0x1138, 0x080c, 0x5dc9, 0x1188, 0x9085, 0x0001, 0x080c, + 0x2699, 0x20a9, 0x0008, 0x080c, 0x601e, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, - 0x080c, 0x5eb3, 0x0010, 0x080c, 0x5903, 0x0005, 0x00f6, 0x7090, - 0x9005, 0x01d8, 0x2011, 0x5e89, 0x080c, 0x861d, 0x9086, 0x0084, - 0x1190, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, - 0x1150, 0x7834, 0x9005, 0x1138, 0x9006, 0x080c, 0x6029, 0x709b, + 0x080c, 0x5ed3, 0x0010, 0x080c, 0x5923, 0x0005, 0x00f6, 0x7090, + 0x9005, 0x01d8, 0x2011, 0x5ea9, 0x080c, 0x8651, 0x9086, 0x0084, + 0x1190, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, + 0x1150, 0x7834, 0x9005, 0x1138, 0x9006, 0x080c, 0x6049, 0x709b, 0x0018, 0x0029, 0x0010, 0x7093, 0x0000, 0x00fe, 0x0005, 0x00f6, - 0x709b, 0x0019, 0x080c, 0x5f90, 0x2079, 0x0240, 0x7833, 0x1106, - 0x7837, 0x0000, 0x080c, 0x5ffe, 0x2009, 0x026e, 0x2039, 0x1d0e, + 0x709b, 0x0019, 0x080c, 0x5fb0, 0x2079, 0x0240, 0x7833, 0x1106, + 0x7837, 0x0000, 0x080c, 0x601e, 0x2009, 0x026e, 0x2039, 0x1d0e, 0x20a9, 0x0040, 0x213e, 0x8738, 0x8108, 0x9186, 0x0280, 0x1128, - 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, 0x1f04, 0x5d12, 0x2039, - 0x1d0e, 0x080c, 0x5fe1, 0x11e8, 0x2728, 0x2514, 0x8207, 0x9084, + 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, 0x1f04, 0x5d32, 0x2039, + 0x1d0e, 0x080c, 0x6001, 0x11e8, 0x2728, 0x2514, 0x8207, 0x9084, 0x00ff, 0x8000, 0x2018, 0x9294, 0x00ff, 0x8007, 0x9205, 0x202a, 0x7060, 0x2310, 0x8214, 0x92a0, 0x1d0e, 0x2414, 0x938c, 0x0001, 0x0118, 0x9294, 0xff00, 0x0018, 0x9294, 0x00ff, 0x8007, 0x9215, 0x2222, 0x20a9, 0x0040, 0x2009, 0x024e, 0x270e, 0x8738, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, - 0x1f04, 0x5d45, 0x60c3, 0x0084, 0x080c, 0x5eb3, 0x00fe, 0x0005, - 0x00f6, 0x7090, 0x9005, 0x01e0, 0x2011, 0x5e89, 0x080c, 0x861d, - 0x9086, 0x0084, 0x1198, 0x080c, 0x5ffe, 0x2079, 0x0260, 0x7a30, + 0x1f04, 0x5d65, 0x60c3, 0x0084, 0x080c, 0x5ed3, 0x00fe, 0x0005, + 0x00f6, 0x7090, 0x9005, 0x01e0, 0x2011, 0x5ea9, 0x080c, 0x8651, + 0x9086, 0x0084, 0x1198, 0x080c, 0x601e, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, 0x7097, 0x0001, - 0x080c, 0x5f54, 0x709b, 0x001a, 0x0029, 0x0010, 0x7093, 0x0000, - 0x00fe, 0x0005, 0x9085, 0x0001, 0x080c, 0x6029, 0x709b, 0x001b, - 0x080c, 0xa67d, 0x080c, 0x5ffe, 0x2011, 0x0260, 0x2009, 0x0240, + 0x080c, 0x5f74, 0x709b, 0x001a, 0x0029, 0x0010, 0x7093, 0x0000, + 0x00fe, 0x0005, 0x9085, 0x0001, 0x080c, 0x6049, 0x709b, 0x001b, + 0x080c, 0xa68e, 0x080c, 0x601e, 0x2011, 0x0260, 0x2009, 0x0240, 0x7490, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, - 0x0260, 0x1f04, 0x5d91, 0x60c3, 0x0084, 0x080c, 0x5eb3, 0x0005, + 0x0260, 0x1f04, 0x5db1, 0x60c3, 0x0084, 0x080c, 0x5ed3, 0x0005, 0x0005, 0x0086, 0x0096, 0x2029, 0x1848, 0x252c, 0x20a9, 0x0008, - 0x2041, 0x1d0e, 0x20e9, 0x0001, 0x28a0, 0x080c, 0x5ffe, 0x20e1, + 0x2041, 0x1d0e, 0x20e9, 0x0001, 0x28a0, 0x080c, 0x601e, 0x20e1, 0x0000, 0x2099, 0x026e, 0x4003, 0x20a9, 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0108, 0x9016, 0x2800, 0x9200, 0x200c, 0x91a6, 0xffff, - 0x1148, 0xd5d4, 0x0110, 0x8210, 0x0008, 0x8211, 0x1f04, 0x5dc3, - 0x0804, 0x5e32, 0x82ff, 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, - 0x0d90, 0x0020, 0x91a6, 0x3fff, 0x0904, 0x5e32, 0x918d, 0xc000, + 0x1148, 0xd5d4, 0x0110, 0x8210, 0x0008, 0x8211, 0x1f04, 0x5de3, + 0x0804, 0x5e52, 0x82ff, 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, + 0x0d90, 0x0020, 0x91a6, 0x3fff, 0x0904, 0x5e52, 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, 0x8423, 0x0008, 0x8424, 0x1240, 0xd5d4, - 0x0110, 0x8319, 0x0008, 0x8318, 0x1f04, 0x5de9, 0x04d8, 0x23a8, - 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, 0x5dfb, 0x2328, 0x8529, + 0x0110, 0x8319, 0x0008, 0x8318, 0x1f04, 0x5e09, 0x04d8, 0x23a8, + 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, 0x5e1b, 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, 0x0006, 0x2039, 0x0007, 0x2200, 0x973a, - 0x000e, 0x27a8, 0x95a8, 0x0010, 0x1f04, 0x5e0a, 0x755e, 0x95c8, - 0x3368, 0x292d, 0x95ac, 0x00ff, 0x7582, 0x6532, 0x6536, 0x0016, - 0x2508, 0x080c, 0x265d, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, + 0x000e, 0x27a8, 0x95a8, 0x0010, 0x1f04, 0x5e2a, 0x755e, 0x95c8, + 0x3388, 0x292d, 0x95ac, 0x00ff, 0x7582, 0x6532, 0x6536, 0x0016, + 0x2508, 0x080c, 0x2679, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, 0x9405, 0x201a, 0x7087, 0x0001, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20e1, 0x0001, 0x2898, 0x20a9, 0x0008, 0x4003, 0x9085, 0x0001, 0x0008, 0x9006, 0x009e, 0x008e, 0x0005, 0x0156, 0x01c6, @@ -2815,53 +2819,53 @@ unsigned short risc_code01[] = { 0x0010, 0x0218, 0x8420, 0x8001, 0x0cd0, 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, 0x1de0, 0x2021, 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0x9238, 0x2029, 0x026e, 0x9528, 0x2504, - 0x942c, 0x11b8, 0x9405, 0x203a, 0x715e, 0x91a0, 0x3368, 0x242d, + 0x942c, 0x11b8, 0x9405, 0x203a, 0x715e, 0x91a0, 0x3388, 0x242d, 0x95ac, 0x00ff, 0x7582, 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, - 0x265d, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x7087, 0x0001, 0x9084, + 0x2679, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x7087, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1800, 0x708b, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, 0x2079, 0x0100, 0x2071, 0x0140, 0x080c, - 0x5f43, 0x080c, 0x9e16, 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, - 0x2a39, 0x0126, 0x2091, 0x8000, 0x2071, 0x1826, 0x2073, 0x0000, - 0x7840, 0x0026, 0x0016, 0x2009, 0x00f7, 0x080c, 0x5fa0, 0x001e, + 0x5f63, 0x080c, 0x9e4f, 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, + 0x2a59, 0x0126, 0x2091, 0x8000, 0x2071, 0x1826, 0x2073, 0x0000, + 0x7840, 0x0026, 0x0016, 0x2009, 0x00f7, 0x080c, 0x5fc0, 0x001e, 0x9094, 0x0010, 0x9285, 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, - 0x00fe, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x2998, + 0x00fe, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x29b4, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, 0x2011, 0x19f3, 0x2013, 0x0000, 0x7093, 0x0000, 0x012e, 0x60a3, 0x0056, 0x60a7, - 0x9575, 0x080c, 0x9e09, 0x6144, 0xd184, 0x0120, 0x7198, 0x918d, + 0x9575, 0x080c, 0x9e42, 0x6144, 0xd184, 0x0120, 0x7198, 0x918d, 0x2000, 0x0018, 0x718c, 0x918d, 0x1000, 0x2011, 0x1998, 0x2112, - 0x2009, 0x07d0, 0x2011, 0x5e89, 0x080c, 0x86e7, 0x0005, 0x0016, - 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xa888, 0x080c, - 0xab50, 0x080c, 0xa8a4, 0x2009, 0x00f7, 0x080c, 0x5fa0, 0x2061, + 0x2009, 0x07d0, 0x2011, 0x5ea9, 0x080c, 0x871b, 0x0005, 0x0016, + 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xa899, 0x080c, + 0xab61, 0x080c, 0xa8b5, 0x2009, 0x00f7, 0x080c, 0x5fc0, 0x2061, 0x1a02, 0x900e, 0x611a, 0x611e, 0x6172, 0x6176, 0x2061, 0x1800, 0x6003, 0x0001, 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, 0x0010, - 0x2009, 0x1998, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x5f0f, - 0x080c, 0x8611, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, + 0x2009, 0x1998, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x5f2f, + 0x080c, 0x8645, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x0471, 0x2071, 0x0100, 0x080c, - 0x9e16, 0x2071, 0x0140, 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, - 0x2a39, 0x080c, 0x74d0, 0x0188, 0x080c, 0x74eb, 0x1170, 0x080c, - 0x77d6, 0x0016, 0x080c, 0x272c, 0x2001, 0x196c, 0x2102, 0x001e, - 0x080c, 0x77d1, 0x080c, 0x73f9, 0x0050, 0x2009, 0x0001, 0x080c, - 0x2a15, 0x2001, 0x0001, 0x080c, 0x25b9, 0x080c, 0x5edf, 0x012e, + 0x9e4f, 0x2071, 0x0140, 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, + 0x2a59, 0x080c, 0x74f4, 0x0188, 0x080c, 0x750f, 0x1170, 0x080c, + 0x77f9, 0x0016, 0x080c, 0x2748, 0x2001, 0x196c, 0x2102, 0x001e, + 0x080c, 0x77f4, 0x080c, 0x741d, 0x0050, 0x2009, 0x0001, 0x080c, + 0x2a35, 0x2001, 0x0001, 0x080c, 0x25d5, 0x080c, 0x5eff, 0x012e, 0x000e, 0x00ee, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0bc, 0x0158, 0x0026, 0x0036, 0x2011, 0x8017, 0x2001, 0x1998, 0x201c, 0x080c, - 0x4b09, 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, 0x0001, - 0x20a1, 0x1d80, 0x080c, 0x5ffe, 0x20e9, 0x0000, 0x2099, 0x026e, - 0x0099, 0x20a9, 0x0020, 0x080c, 0x5ff8, 0x2099, 0x0260, 0x20a1, - 0x1d92, 0x0051, 0x20a9, 0x000e, 0x080c, 0x5ffb, 0x2099, 0x0260, + 0x4b29, 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, 0x0001, + 0x20a1, 0x1d80, 0x080c, 0x601e, 0x20e9, 0x0000, 0x2099, 0x026e, + 0x0099, 0x20a9, 0x0020, 0x080c, 0x6018, 0x2099, 0x0260, 0x20a1, + 0x1d92, 0x0051, 0x20a9, 0x000e, 0x080c, 0x601b, 0x2099, 0x0260, 0x20a1, 0x1db2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, 0x3308, - 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5f78, 0x002e, - 0x001e, 0x0005, 0x080c, 0xa67d, 0x20e1, 0x0001, 0x2099, 0x1d00, + 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5f98, 0x002e, + 0x001e, 0x0005, 0x080c, 0xa68e, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, - 0x080c, 0xa67d, 0x080c, 0x5ffe, 0x20e1, 0x0000, 0x2099, 0x0260, + 0x080c, 0xa68e, 0x080c, 0x601e, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1834, 0x2004, 0x9005, 0x1138, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x9105, 0x0010, 0x9185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, 0x0016, - 0x0046, 0x080c, 0x6a66, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, - 0x080c, 0xe2d9, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, - 0x002a, 0x900e, 0x080c, 0x31b4, 0x080c, 0xcf51, 0x0140, 0x0036, - 0x2019, 0xffff, 0x2021, 0x0007, 0x080c, 0x4cc0, 0x003e, 0x004e, - 0x001e, 0x0005, 0x080c, 0x5edf, 0x709b, 0x0000, 0x7093, 0x0000, + 0x0046, 0x080c, 0x6a8a, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, + 0x080c, 0xe316, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, + 0x002a, 0x900e, 0x080c, 0x31d4, 0x080c, 0xcf84, 0x0140, 0x0036, + 0x2019, 0xffff, 0x2021, 0x0007, 0x080c, 0x4ce0, 0x003e, 0x004e, + 0x001e, 0x0005, 0x080c, 0x5eff, 0x709b, 0x0000, 0x7093, 0x0000, 0x0005, 0x0006, 0x2001, 0x180c, 0x2004, 0xd09c, 0x0100, 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, 0x0101, 0x200c, 0x918d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, 0x0005, @@ -2873,29 +2877,29 @@ unsigned short risc_code01[] = { 0x014e, 0x015e, 0x00fe, 0x0005, 0x2001, 0x1800, 0x2003, 0x0001, 0x0005, 0x2001, 0x19a5, 0x0118, 0x2003, 0x0001, 0x0010, 0x2003, 0x0000, 0x0005, 0x0156, 0x20a9, 0x0800, 0x2009, 0x1000, 0x9006, - 0x200a, 0x8108, 0x1f04, 0x6038, 0x015e, 0x0005, 0x00d6, 0x0036, + 0x200a, 0x8108, 0x1f04, 0x6058, 0x015e, 0x0005, 0x00d6, 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0x1847, 0x9006, 0xb802, 0xb8d6, - 0xb807, 0x0707, 0xb80a, 0xb80e, 0xb812, 0x9198, 0x3368, 0x231d, - 0x939c, 0x00ff, 0xbb16, 0x0016, 0x0026, 0xb886, 0x080c, 0xab49, + 0xb807, 0x0707, 0xb80a, 0xb80e, 0xb812, 0x9198, 0x3388, 0x231d, + 0x939c, 0x00ff, 0xbb16, 0x0016, 0x0026, 0xb886, 0x080c, 0xab5a, 0x1120, 0x9192, 0x007e, 0x1208, 0xbb86, 0x20a9, 0x0004, 0xb8c4, 0x20e8, 0xb9c8, 0x9198, 0x0006, 0x9006, 0x23a0, 0x4004, 0x20a9, 0x0004, 0x9198, 0x000a, 0x23a0, 0x4004, 0x002e, 0x001e, 0xb83e, 0xb842, 0xb8ce, 0xb8d2, 0xb85e, 0xb862, 0xb866, 0xb86a, 0xb86f, 0x0100, 0xb872, 0xb876, 0xb87a, 0xb88a, 0xb88e, 0xb893, 0x0008, 0xb896, 0xb89a, 0xb89e, 0xb8be, 0xb9a2, 0x0096, 0xb8a4, 0x904d, - 0x0110, 0x080c, 0x106c, 0xb8a7, 0x0000, 0x009e, 0x9006, 0xb84a, + 0x0110, 0x080c, 0x1079, 0xb8a7, 0x0000, 0x009e, 0x9006, 0xb84a, 0x6810, 0xb83a, 0x680c, 0xb846, 0xb8bb, 0x0520, 0xb8ac, 0x9005, 0x0198, 0x00c6, 0x2060, 0x9c82, 0x1ddc, 0x0a0c, 0x0d7d, 0x2001, - 0x181a, 0x2004, 0x9c02, 0x1a0c, 0x0d7d, 0x080c, 0x8b72, 0x00ce, - 0x090c, 0x8f16, 0xb8af, 0x0000, 0x6814, 0x9084, 0x00ff, 0xb842, + 0x181a, 0x2004, 0x9c02, 0x1a0c, 0x0d7d, 0x080c, 0x8ba9, 0x00ce, + 0x090c, 0x8f4f, 0xb8af, 0x0000, 0x6814, 0x9084, 0x00ff, 0xb842, 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, 0x2091, 0x8000, 0xa974, 0xae78, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1a04, - 0x6114, 0x9182, 0x0800, 0x1a04, 0x6118, 0x2001, 0x180c, 0x2004, - 0x9084, 0x0003, 0x1904, 0x611e, 0x9188, 0x1000, 0x2104, 0x905d, + 0x6134, 0x9182, 0x0800, 0x1a04, 0x6138, 0x2001, 0x180c, 0x2004, + 0x9084, 0x0003, 0x1904, 0x613e, 0x9188, 0x1000, 0x2104, 0x905d, 0x0198, 0xb804, 0x9084, 0x00ff, 0x908e, 0x0006, 0x1188, 0xb8a4, - 0x900d, 0x1904, 0x6130, 0x080c, 0x64e9, 0x9006, 0x012e, 0x0005, + 0x900d, 0x1904, 0x6150, 0x080c, 0x650d, 0x9006, 0x012e, 0x0005, 0x2001, 0x0005, 0x900e, 0x04b8, 0x2001, 0x0028, 0x900e, 0x0498, - 0x9082, 0x0006, 0x1290, 0x080c, 0xab49, 0x1160, 0xb8a0, 0x9084, + 0x9082, 0x0006, 0x1290, 0x080c, 0xab5a, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0d10, 0x2001, 0x0029, 0x2009, 0x1000, 0x0408, 0x2001, 0x0028, 0x00a8, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, 0xd184, 0x0118, 0x2001, @@ -2903,31 +2907,31 @@ unsigned short risc_code01[] = { 0x1000, 0x0048, 0x900e, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x012e, 0x0005, 0x2001, 0x180c, 0x2004, 0xd084, 0x19d0, 0x9188, 0x1000, 0x2104, 0x9065, 0x09a8, - 0x080c, 0x6a6a, 0x1990, 0xb800, 0xd0bc, 0x0978, 0x0804, 0x60d7, - 0x080c, 0x688f, 0x0904, 0x60e0, 0x0804, 0x60db, 0x00e6, 0x2071, + 0x080c, 0x6a8e, 0x1990, 0xb800, 0xd0bc, 0x0978, 0x0804, 0x60f7, + 0x080c, 0x68b3, 0x0904, 0x6100, 0x0804, 0x60fb, 0x00e6, 0x2071, 0x19e6, 0x7004, 0x9086, 0x0002, 0x1128, 0x7030, 0x9080, 0x0004, 0x2004, 0x9b06, 0x00ee, 0x0005, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa874, 0x908e, 0x00ff, 0x1120, 0x2001, 0x196a, 0x205c, 0x0060, 0xa974, 0x9182, 0x0800, 0x1690, 0x9188, 0x1000, 0x2104, - 0x905d, 0x01d0, 0x080c, 0x6a0a, 0x11d0, 0x080c, 0xab89, 0x0570, + 0x905d, 0x01d0, 0x080c, 0x6a2e, 0x11d0, 0x080c, 0xab9a, 0x0570, 0x2b00, 0x6012, 0x2900, 0x6016, 0x6023, 0x0009, 0x602b, 0x0000, 0xa874, 0x908e, 0x00ff, 0x1110, 0x602b, 0x8000, 0x2009, 0x0043, - 0x080c, 0xac7c, 0x9006, 0x00b0, 0x2001, 0x0028, 0x0090, 0x2009, + 0x080c, 0xac8d, 0x9006, 0x00b0, 0x2001, 0x0028, 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2001, 0x002c, 0x0cc0, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa974, 0x9182, - 0x0800, 0x1a04, 0x620c, 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, - 0x61e4, 0xb8a0, 0x9086, 0x007f, 0x0178, 0x080c, 0x6a72, 0x0160, + 0x0800, 0x1a04, 0x622c, 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, + 0x6204, 0xb8a0, 0x9086, 0x007f, 0x0178, 0x080c, 0x6a96, 0x0160, 0xa994, 0x81ff, 0x0130, 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, - 0x0118, 0x080c, 0x6a6a, 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, - 0x9005, 0x01c8, 0x2060, 0x0026, 0x2010, 0x080c, 0xc820, 0x002e, - 0x1120, 0x2001, 0x0008, 0x0804, 0x620e, 0x6020, 0x9086, 0x000a, - 0x0120, 0x2001, 0x0008, 0x0804, 0x620e, 0x601a, 0x6003, 0x0008, - 0x2900, 0x6016, 0x0058, 0x080c, 0xab89, 0x05e8, 0x2b00, 0x6012, + 0x0118, 0x080c, 0x6a8e, 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, + 0x9005, 0x01c8, 0x2060, 0x0026, 0x2010, 0x080c, 0xc853, 0x002e, + 0x1120, 0x2001, 0x0008, 0x0804, 0x622e, 0x6020, 0x9086, 0x000a, + 0x0120, 0x2001, 0x0008, 0x0804, 0x622e, 0x601a, 0x6003, 0x0008, + 0x2900, 0x6016, 0x0058, 0x080c, 0xab9a, 0x05e8, 0x2b00, 0x6012, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, - 0x080c, 0xac7c, 0x9006, 0x0458, 0x2001, 0x0028, 0x0438, 0x9082, - 0x0006, 0x1290, 0x080c, 0xab49, 0x1160, 0xb8a0, 0x9084, 0xff80, + 0x080c, 0xac8d, 0x9006, 0x0458, 0x2001, 0x0028, 0x0438, 0x9082, + 0x0006, 0x1290, 0x080c, 0xab5a, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0900, 0x2001, 0x0029, 0x2009, 0x1000, 0x00a8, 0x2001, 0x0028, 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, @@ -2940,2841 +2944,2841 @@ unsigned short risc_code01[] = { 0x00ea, 0x7930, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9006, - 0x0008, 0x9005, 0x012e, 0x00be, 0x00fe, 0x0005, 0x62a3, 0x625e, - 0x6275, 0x62a3, 0x62a3, 0x62a3, 0x62a3, 0x62a3, 0x2100, 0x9082, - 0x007e, 0x1278, 0x080c, 0x65bf, 0x0148, 0x9046, 0xb810, 0x9306, - 0x1904, 0x62ab, 0xb814, 0x9206, 0x15f0, 0x0028, 0xbb12, 0xba16, - 0x0010, 0x080c, 0x49bc, 0x0150, 0x04b0, 0x080c, 0x6620, 0x1598, - 0xb810, 0x9306, 0x1580, 0xb814, 0x9206, 0x1568, 0x080c, 0xab89, - 0x0530, 0x2b00, 0x6012, 0x080c, 0xcccb, 0x2900, 0x6016, 0x600b, + 0x0008, 0x9005, 0x012e, 0x00be, 0x00fe, 0x0005, 0x62c3, 0x627e, + 0x6295, 0x62c3, 0x62c3, 0x62c3, 0x62c3, 0x62c3, 0x2100, 0x9082, + 0x007e, 0x1278, 0x080c, 0x65e3, 0x0148, 0x9046, 0xb810, 0x9306, + 0x1904, 0x62cb, 0xb814, 0x9206, 0x15f0, 0x0028, 0xbb12, 0xba16, + 0x0010, 0x080c, 0x49dc, 0x0150, 0x04b0, 0x080c, 0x6644, 0x1598, + 0xb810, 0x9306, 0x1580, 0xb814, 0x9206, 0x1568, 0x080c, 0xab9a, + 0x0530, 0x2b00, 0x6012, 0x080c, 0xccfe, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, 0xa878, 0x9086, 0x0001, 0x1170, 0x080c, - 0x31ef, 0x9006, 0x080c, 0x655c, 0x2001, 0x0002, 0x080c, 0x6570, + 0x320f, 0x9006, 0x080c, 0x6580, 0x2001, 0x0002, 0x080c, 0x6594, 0x2001, 0x0200, 0xb86e, 0xb893, 0x0002, 0x2009, 0x0003, 0x080c, - 0xac7c, 0x9006, 0x0068, 0x2001, 0x0001, 0x900e, 0x0038, 0x2001, + 0xac8d, 0x9006, 0x0068, 0x2001, 0x0001, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, 0x0028, 0x900e, 0x9005, 0x0000, 0x012e, 0x00be, 0x00fe, 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x0126, - 0x2091, 0x8000, 0xa894, 0x90c6, 0x0015, 0x0904, 0x6492, 0x90c6, - 0x0056, 0x0904, 0x6496, 0x90c6, 0x0066, 0x0904, 0x649a, 0x90c6, - 0x0067, 0x0904, 0x649e, 0x90c6, 0x0068, 0x0904, 0x64a2, 0x90c6, - 0x0071, 0x0904, 0x64a6, 0x90c6, 0x0074, 0x0904, 0x64aa, 0x90c6, - 0x007c, 0x0904, 0x64ae, 0x90c6, 0x007e, 0x0904, 0x64b2, 0x90c6, - 0x0037, 0x0904, 0x64b6, 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, - 0x00ff, 0x0904, 0x648d, 0x9182, 0x0800, 0x1a04, 0x648d, 0x080c, - 0x6620, 0x1198, 0xb804, 0x9084, 0x00ff, 0x9082, 0x0006, 0x1268, - 0xa894, 0x90c6, 0x006f, 0x0148, 0x080c, 0xab49, 0x1904, 0x6476, - 0xb8a0, 0x9084, 0xff80, 0x1904, 0x6476, 0xa894, 0x90c6, 0x006f, - 0x0158, 0x90c6, 0x005e, 0x0904, 0x63d6, 0x90c6, 0x0064, 0x0904, - 0x63ff, 0x2008, 0x0804, 0x6398, 0xa998, 0xa8b0, 0x2040, 0x080c, - 0xab49, 0x1120, 0x9182, 0x007f, 0x0a04, 0x6398, 0x9186, 0x00ff, - 0x0904, 0x6398, 0x9182, 0x0800, 0x1a04, 0x6398, 0xaaa0, 0xab9c, - 0x787c, 0x9306, 0x1188, 0x7880, 0x0096, 0x924e, 0x1128, 0x2208, - 0x2310, 0x009e, 0x0804, 0x6398, 0x99cc, 0xff00, 0x009e, 0x1120, - 0x2208, 0x2310, 0x0804, 0x6398, 0x080c, 0x49bc, 0x0904, 0x63a2, - 0x900e, 0x9016, 0x90c6, 0x4000, 0x15e0, 0x0006, 0x080c, 0x6913, - 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x20a9, 0x0004, - 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8c4, 0x20e0, - 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0fb7, 0x20a9, 0x0004, - 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8c4, 0x20e0, - 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0fb7, 0xa8c4, 0xabc8, - 0x9305, 0xabcc, 0x9305, 0xabd0, 0x9305, 0xabd4, 0x9305, 0xabd8, - 0x9305, 0xabdc, 0x9305, 0xabe0, 0x9305, 0x9005, 0x0510, 0x000e, - 0x00c8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x00a0, 0x90c6, 0x4008, - 0x1118, 0x2708, 0x2610, 0x0070, 0x90c6, 0x4009, 0x1108, 0x0050, - 0x90c6, 0x4006, 0x0138, 0x2001, 0x4005, 0x2009, 0x000a, 0x0010, - 0x2001, 0x4006, 0xa896, 0xa99a, 0xaa9e, 0x2001, 0x0030, 0x900e, - 0x0478, 0x000e, 0x080c, 0xab89, 0x1130, 0x2001, 0x4005, 0x2009, - 0x0003, 0x9016, 0x0c78, 0x2b00, 0x6012, 0x080c, 0xcccb, 0x2900, - 0x6016, 0x6023, 0x0001, 0xa868, 0xd88c, 0x0108, 0xc0f5, 0xa86a, - 0x0126, 0x2091, 0x8000, 0x080c, 0x31ef, 0x012e, 0x9006, 0x080c, - 0x655c, 0x2001, 0x0002, 0x080c, 0x6570, 0x2009, 0x0002, 0x080c, - 0xac7c, 0xa8b0, 0xd094, 0x0118, 0xb8d4, 0xc08d, 0xb8d6, 0x9006, - 0x9005, 0x012e, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x080c, 0x56e9, - 0x0118, 0x2009, 0x0007, 0x00f8, 0xa998, 0xaeb0, 0x080c, 0x6620, - 0x1904, 0x6393, 0x9186, 0x007f, 0x0130, 0x080c, 0x6a6a, 0x0118, - 0x2009, 0x0009, 0x0080, 0x0096, 0x080c, 0x103a, 0x1120, 0x009e, - 0x2009, 0x0002, 0x0040, 0x2900, 0x009e, 0xa806, 0x080c, 0xca1e, - 0x19b0, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x639a, 0xa998, - 0xaeb0, 0x080c, 0x6620, 0x1904, 0x6393, 0x0096, 0x080c, 0x103a, - 0x1128, 0x009e, 0x2009, 0x0002, 0x0804, 0x6453, 0x2900, 0x009e, - 0xa806, 0x0096, 0x2048, 0x20a9, 0x002b, 0xb8c4, 0x20e0, 0xb8c8, - 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, - 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xbbc8, 0x9398, 0x0006, - 0x2398, 0x080c, 0x0fb7, 0x009e, 0xa87b, 0x0000, 0xa883, 0x0000, - 0xa897, 0x4000, 0xd684, 0x1168, 0x080c, 0x56d5, 0xd0b4, 0x1118, - 0xa89b, 0x000b, 0x00e0, 0xb800, 0xd08c, 0x0118, 0xa89b, 0x000c, - 0x00b0, 0x080c, 0x6a6a, 0x0118, 0xa89b, 0x0009, 0x0080, 0x080c, - 0x56e9, 0x0118, 0xa89b, 0x0007, 0x0050, 0x080c, 0xca01, 0x1904, - 0x63cf, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x639a, 0xa87b, - 0x0030, 0xa897, 0x4005, 0xa804, 0x8006, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, - 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1289, 0x080c, - 0xb103, 0x1904, 0x63cf, 0x2009, 0x0002, 0x08e8, 0x2001, 0x0028, - 0x900e, 0x0804, 0x63d0, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, - 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, - 0x2001, 0x0029, 0x900e, 0x0804, 0x63d0, 0x2001, 0x0029, 0x900e, - 0x0804, 0x63d0, 0x080c, 0x3796, 0x0804, 0x63d1, 0x080c, 0x540a, - 0x0804, 0x63d1, 0x080c, 0x4572, 0x0804, 0x63d1, 0x080c, 0x45eb, - 0x0804, 0x63d1, 0x080c, 0x4647, 0x0804, 0x63d1, 0x080c, 0x4a7f, - 0x0804, 0x63d1, 0x080c, 0x4d2f, 0x0804, 0x63d1, 0x080c, 0x5075, - 0x0804, 0x63d1, 0x080c, 0x526e, 0x0804, 0x63d1, 0x080c, 0x39b4, - 0x0804, 0x63d1, 0x00b6, 0xa974, 0xae78, 0x9684, 0x3fff, 0x9082, - 0x4000, 0x1608, 0x9182, 0x0800, 0x1258, 0x9188, 0x1000, 0x2104, - 0x905d, 0x0130, 0x080c, 0x6a6a, 0x1138, 0x00d9, 0x9006, 0x00b0, - 0x2001, 0x0028, 0x900e, 0x0090, 0x9082, 0x0006, 0x1240, 0xb900, - 0xd1fc, 0x0d98, 0x2001, 0x0029, 0x2009, 0x1000, 0x0038, 0x2001, - 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x00be, - 0x0005, 0xa877, 0x0000, 0xb8d0, 0x9005, 0x1904, 0x6550, 0xb888, - 0x9005, 0x1904, 0x6550, 0xb838, 0xb93c, 0x9102, 0x1a04, 0x6550, - 0x2b10, 0x080c, 0xabb6, 0x0904, 0x654c, 0x8108, 0xb93e, 0x6212, - 0x2900, 0x6016, 0x6023, 0x0003, 0x600b, 0xffff, 0x6007, 0x0040, - 0xa878, 0x605e, 0xa880, 0x9084, 0x00ff, 0x6066, 0xa883, 0x0000, - 0xa87c, 0xd0ac, 0x0588, 0xc0dd, 0xa87e, 0xa888, 0x8001, 0x1530, - 0xa816, 0xa864, 0x9094, 0x00f7, 0x9296, 0x0011, 0x11f8, 0x9084, - 0x00ff, 0xc0bd, 0x601e, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x2001, - 0x000f, 0x8001, 0x1df0, 0x2001, 0x8004, 0x6003, 0x0004, 0x6046, - 0x00f6, 0x2079, 0x0380, 0x7818, 0xd0bc, 0x1de8, 0x7833, 0x0010, - 0x2c00, 0x7836, 0x781b, 0x8080, 0x00fe, 0x0005, 0x080c, 0x173e, - 0x601c, 0xc0bd, 0x601e, 0x0c38, 0xd0b4, 0x190c, 0x1c3d, 0x2001, - 0x8004, 0x6003, 0x0002, 0x0c18, 0x81ff, 0x1110, 0xb88b, 0x0001, - 0x2908, 0xb8cc, 0xb9ce, 0x9005, 0x1110, 0xb9d2, 0x0020, 0x0096, - 0x2048, 0xa902, 0x009e, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x0026, - 0x2091, 0x8000, 0x6210, 0x2258, 0xba00, 0x9005, 0x0110, 0xc285, - 0x0008, 0xc284, 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, - 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, - 0x0006, 0x9086, 0x0006, 0x1170, 0xb89c, 0xd0ac, 0x0158, 0x080c, - 0x6a66, 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, 0x1110, - 0x2011, 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, 0xba06, 0x0006, - 0x9086, 0x0006, 0x1120, 0xba90, 0x82ff, 0x090c, 0x0d7d, 0x000e, + 0x2091, 0x8000, 0xa894, 0x90c6, 0x0015, 0x0904, 0x64b6, 0x90c6, + 0x0056, 0x0904, 0x64ba, 0x90c6, 0x0066, 0x0904, 0x64be, 0x90c6, + 0x0067, 0x0904, 0x64c2, 0x90c6, 0x0068, 0x0904, 0x64c6, 0x90c6, + 0x0071, 0x0904, 0x64ca, 0x90c6, 0x0074, 0x0904, 0x64ce, 0x90c6, + 0x007c, 0x0904, 0x64d2, 0x90c6, 0x007e, 0x0904, 0x64d6, 0x90c6, + 0x0037, 0x0904, 0x64da, 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, + 0x00ff, 0x0904, 0x64b1, 0x9182, 0x0800, 0x1a04, 0x64b1, 0x080c, + 0x6644, 0x1198, 0xb804, 0x9084, 0x00ff, 0x9082, 0x0006, 0x1268, + 0xa894, 0x90c6, 0x006f, 0x0148, 0x080c, 0xab5a, 0x1904, 0x649a, + 0xb8a0, 0x9084, 0xff80, 0x1904, 0x649a, 0xa894, 0x90c6, 0x006f, + 0x0158, 0x90c6, 0x005e, 0x0904, 0x63fa, 0x90c6, 0x0064, 0x0904, + 0x6423, 0x2008, 0x0804, 0x63bc, 0xa998, 0xa8b0, 0x2040, 0x080c, + 0xab5a, 0x1120, 0x9182, 0x007f, 0x0a04, 0x63bc, 0x9186, 0x00ff, + 0x0904, 0x63bc, 0x9182, 0x0800, 0x1a04, 0x63bc, 0xaaa0, 0xab9c, + 0x787c, 0x9306, 0x11a8, 0x7880, 0x0096, 0x924e, 0x1128, 0x2208, + 0x2310, 0x009e, 0x0804, 0x63bc, 0x080c, 0xab5a, 0x1140, 0x99cc, + 0xff00, 0x009e, 0x1128, 0x2208, 0x2310, 0x0804, 0x63bc, 0x009e, + 0x080c, 0x49dc, 0x0904, 0x63c6, 0x900e, 0x9016, 0x90c6, 0x4000, + 0x15e0, 0x0006, 0x080c, 0x6937, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0031, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, + 0x080c, 0x0fc4, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0035, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x000a, 0x2098, + 0x080c, 0x0fc4, 0xa8c4, 0xabc8, 0x9305, 0xabcc, 0x9305, 0xabd0, + 0x9305, 0xabd4, 0x9305, 0xabd8, 0x9305, 0xabdc, 0x9305, 0xabe0, + 0x9305, 0x9005, 0x0510, 0x000e, 0x00c8, 0x90c6, 0x4007, 0x1110, + 0x2408, 0x00a0, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0070, + 0x90c6, 0x4009, 0x1108, 0x0050, 0x90c6, 0x4006, 0x0138, 0x2001, + 0x4005, 0x2009, 0x000a, 0x0010, 0x2001, 0x4006, 0xa896, 0xa99a, + 0xaa9e, 0x2001, 0x0030, 0x900e, 0x0478, 0x000e, 0x080c, 0xab9a, + 0x1130, 0x2001, 0x4005, 0x2009, 0x0003, 0x9016, 0x0c78, 0x2b00, + 0x6012, 0x080c, 0xccfe, 0x2900, 0x6016, 0x6023, 0x0001, 0xa868, + 0xd88c, 0x0108, 0xc0f5, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x320f, 0x012e, 0x9006, 0x080c, 0x6580, 0x2001, 0x0002, 0x080c, + 0x6594, 0x2009, 0x0002, 0x080c, 0xac8d, 0xa8b0, 0xd094, 0x0118, + 0xb8d4, 0xc08d, 0xb8d6, 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, + 0x00be, 0x0005, 0x080c, 0x5709, 0x0118, 0x2009, 0x0007, 0x00f8, + 0xa998, 0xaeb0, 0x080c, 0x6644, 0x1904, 0x63b7, 0x9186, 0x007f, + 0x0130, 0x080c, 0x6a8e, 0x0118, 0x2009, 0x0009, 0x0080, 0x0096, + 0x080c, 0x1047, 0x1120, 0x009e, 0x2009, 0x0002, 0x0040, 0x2900, + 0x009e, 0xa806, 0x080c, 0xca51, 0x19b0, 0x2009, 0x0003, 0x2001, + 0x4005, 0x0804, 0x63be, 0xa998, 0xaeb0, 0x080c, 0x6644, 0x1904, + 0x63b7, 0x0096, 0x080c, 0x1047, 0x1128, 0x009e, 0x2009, 0x0002, + 0x0804, 0x6477, 0x2900, 0x009e, 0xa806, 0x0096, 0x2048, 0x20a9, + 0x002b, 0xb8c4, 0x20e0, 0xb8c8, 0x2098, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, + 0x20a0, 0xbbc8, 0x9398, 0x0006, 0x2398, 0x080c, 0x0fc4, 0x009e, + 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xd684, 0x1168, + 0x080c, 0x56f5, 0xd0b4, 0x1118, 0xa89b, 0x000b, 0x00e0, 0xb800, + 0xd08c, 0x0118, 0xa89b, 0x000c, 0x00b0, 0x080c, 0x6a8e, 0x0118, + 0xa89b, 0x0009, 0x0080, 0x080c, 0x5709, 0x0118, 0xa89b, 0x0007, + 0x0050, 0x080c, 0xca34, 0x1904, 0x63f3, 0x2009, 0x0003, 0x2001, + 0x4005, 0x0804, 0x63be, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa804, + 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, + 0x0002, 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, + 0x0000, 0x2041, 0x1296, 0x080c, 0xb114, 0x1904, 0x63f3, 0x2009, + 0x0002, 0x08e8, 0x2001, 0x0028, 0x900e, 0x0804, 0x63f4, 0x2009, + 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0804, + 0x63f4, 0x2001, 0x0029, 0x900e, 0x0804, 0x63f4, 0x080c, 0x37b6, + 0x0804, 0x63f5, 0x080c, 0x542a, 0x0804, 0x63f5, 0x080c, 0x4592, + 0x0804, 0x63f5, 0x080c, 0x460b, 0x0804, 0x63f5, 0x080c, 0x4667, + 0x0804, 0x63f5, 0x080c, 0x4a9f, 0x0804, 0x63f5, 0x080c, 0x4d4f, + 0x0804, 0x63f5, 0x080c, 0x5095, 0x0804, 0x63f5, 0x080c, 0x528e, + 0x0804, 0x63f5, 0x080c, 0x39d4, 0x0804, 0x63f5, 0x00b6, 0xa974, + 0xae78, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1608, 0x9182, 0x0800, + 0x1258, 0x9188, 0x1000, 0x2104, 0x905d, 0x0130, 0x080c, 0x6a8e, + 0x1138, 0x00d9, 0x9006, 0x00b0, 0x2001, 0x0028, 0x900e, 0x0090, + 0x9082, 0x0006, 0x1240, 0xb900, 0xd1fc, 0x0d98, 0x2001, 0x0029, + 0x2009, 0x1000, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, 0x2001, + 0x0029, 0x900e, 0x9005, 0x00be, 0x0005, 0xa877, 0x0000, 0xb8d0, + 0x9005, 0x1904, 0x6574, 0xb888, 0x9005, 0x1904, 0x6574, 0xb838, + 0xb93c, 0x9102, 0x1a04, 0x6574, 0x2b10, 0x080c, 0xabc7, 0x0904, + 0x6570, 0x8108, 0xb93e, 0x6212, 0x2900, 0x6016, 0x6023, 0x0003, + 0x600b, 0xffff, 0x6007, 0x0040, 0xa878, 0x605e, 0xa880, 0x9084, + 0x00ff, 0x6066, 0xa883, 0x0000, 0xa87c, 0xd0ac, 0x0588, 0xc0dd, + 0xa87e, 0xa888, 0x8001, 0x1530, 0xa816, 0xa864, 0x9094, 0x00f7, + 0x9296, 0x0011, 0x11f8, 0x9084, 0x00ff, 0xc0bd, 0x601e, 0xa8ac, + 0xaab0, 0xa836, 0xaa3a, 0x2001, 0x000f, 0x8001, 0x1df0, 0x2001, + 0x8004, 0x6003, 0x0004, 0x6046, 0x00f6, 0x2079, 0x0380, 0x7818, + 0xd0bc, 0x1de8, 0x7833, 0x0010, 0x2c00, 0x7836, 0x781b, 0x8080, + 0x00fe, 0x0005, 0x080c, 0x174b, 0x601c, 0xc0bd, 0x601e, 0x0c38, + 0xd0b4, 0x190c, 0x1c55, 0x2001, 0x8004, 0x6003, 0x0002, 0x0c18, + 0x81ff, 0x1110, 0xb88b, 0x0001, 0x2908, 0xb8cc, 0xb9ce, 0x9005, + 0x1110, 0xb9d2, 0x0020, 0x0096, 0x2048, 0xa902, 0x009e, 0x0005, + 0x00b6, 0x0126, 0x00c6, 0x0026, 0x2091, 0x8000, 0x6210, 0x2258, + 0xba00, 0x9005, 0x0110, 0xc285, 0x0008, 0xc284, 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, - 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1168, - 0xb89c, 0xd0a4, 0x0150, 0x080c, 0x6a62, 0x1138, 0x9284, 0x00ff, - 0x9086, 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, 0x9294, 0x00ff, - 0x8007, 0x9215, 0xba06, 0x00ce, 0x012e, 0x00be, 0x0005, 0x9182, - 0x0800, 0x0218, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0026, 0x9190, - 0x1000, 0x2204, 0x905d, 0x1188, 0x0096, 0x080c, 0x103a, 0x2958, - 0x009e, 0x0168, 0x2b00, 0x2012, 0xb85c, 0xb8ca, 0xb860, 0xb8c6, - 0x9006, 0xb8a6, 0xb8ae, 0x080c, 0x603e, 0x9006, 0x0010, 0x9085, - 0x0001, 0x002e, 0x00de, 0x0005, 0x00b6, 0x0096, 0x0126, 0x2091, - 0x8000, 0x0026, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0458, - 0x00d6, 0x9190, 0x1000, 0x2204, 0x905d, 0x0518, 0x2013, 0x0000, - 0xb8a4, 0x904d, 0x0110, 0x080c, 0x106c, 0x00d6, 0x00c6, 0xb8bc, - 0x2060, 0x8cff, 0x0168, 0x600c, 0x0006, 0x6014, 0x2048, 0x080c, - 0xc832, 0x0110, 0x080c, 0x0fec, 0x080c, 0xabdf, 0x00ce, 0x0c88, - 0x00ce, 0x00de, 0x2b48, 0xb8c8, 0xb85e, 0xb8c4, 0xb862, 0x080c, - 0x107c, 0x00de, 0x9006, 0x002e, 0x012e, 0x009e, 0x00be, 0x0005, - 0x0016, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, - 0x1000, 0x2104, 0x905d, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, - 0x0156, 0x0136, 0x0146, 0x9006, 0xb80a, 0xb80e, 0xb800, 0xc08c, - 0xb802, 0x080c, 0x74c8, 0x1510, 0xb8a0, 0x9086, 0x007e, 0x0120, - 0x080c, 0xab49, 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, 0x00c6, - 0x2061, 0x1981, 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, 0x600a, - 0x7054, 0x600e, 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, 0x1110, - 0x2001, 0x0001, 0x6886, 0x2069, 0x1800, 0x68b6, 0x7040, 0xb85e, - 0x7048, 0xb862, 0x704c, 0xb866, 0x20e1, 0x0000, 0x2099, 0x0276, - 0xb8c4, 0x20e8, 0xb8c8, 0x9088, 0x000a, 0x21a0, 0x20a9, 0x0004, - 0x4003, 0x2099, 0x027a, 0x9088, 0x0006, 0x21a0, 0x20a9, 0x0004, - 0x4003, 0x2069, 0x0200, 0x6817, 0x0001, 0x7040, 0xb86a, 0x7144, - 0xb96e, 0x7048, 0xb872, 0x7050, 0xb876, 0x2069, 0x0200, 0x6817, - 0x0000, 0xb8a0, 0x9086, 0x007e, 0x1110, 0x7144, 0xb96e, 0x9182, - 0x0211, 0x1218, 0x2009, 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, - 0x2009, 0x0007, 0x00d0, 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, - 0x00a0, 0x9182, 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, - 0x0421, 0x1218, 0x2009, 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, - 0x2009, 0x0003, 0x0010, 0x2009, 0x0002, 0xb992, 0x014e, 0x013e, - 0x015e, 0x00de, 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, - 0x7034, 0xb896, 0x703c, 0xb89a, 0x7054, 0xb89e, 0x0036, 0xbbd4, - 0xc384, 0xba00, 0x2009, 0x1867, 0x210c, 0xd0bc, 0x0120, 0xd1ec, - 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0148, 0xd1e4, 0x0138, - 0xc2bd, 0xd0cc, 0x0128, 0xd38c, 0x1108, 0xc385, 0x0008, 0xc2bc, - 0xba02, 0xbbd6, 0x003e, 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, - 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0578, 0xa900, 0x81ff, - 0x15c0, 0xaa04, 0x9282, 0x0010, 0x16c8, 0x0136, 0x0146, 0x01c6, - 0x01d6, 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, - 0xffc0, 0x9080, 0x0004, 0x2098, 0x2009, 0x0010, 0x20a9, 0x0001, - 0x4002, 0x9086, 0xffff, 0x0120, 0x8109, 0x1dd0, 0x080c, 0x0d7d, - 0x3c00, 0x20e8, 0x3300, 0x8001, 0x20a0, 0x4604, 0x8210, 0xaa06, - 0x01de, 0x01ce, 0x014e, 0x013e, 0x0060, 0x080c, 0x103a, 0x0170, - 0x2900, 0xb8a6, 0xa803, 0x0000, 0x080c, 0x68af, 0xa807, 0x0001, - 0xae12, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, - 0x0126, 0x2091, 0x8000, 0x0096, 0xb8a4, 0x904d, 0x0188, 0xa800, - 0x9005, 0x1150, 0x080c, 0x68be, 0x1158, 0xa804, 0x908a, 0x0002, - 0x0218, 0x8001, 0xa806, 0x0020, 0x080c, 0x106c, 0xb8a7, 0x0000, - 0x009e, 0x012e, 0x0005, 0x0096, 0x00c6, 0xb888, 0x9005, 0x1904, - 0x67a4, 0xb8d0, 0x904d, 0x0904, 0x67a4, 0x080c, 0xabb6, 0x0904, - 0x67a0, 0x8210, 0xba3e, 0xa800, 0xb8d2, 0x9005, 0x1108, 0xb8ce, - 0x2b00, 0x6012, 0x2900, 0x6016, 0x6023, 0x0003, 0x600b, 0xffff, - 0x6007, 0x0040, 0xa878, 0x605e, 0xa880, 0x9084, 0x00ff, 0x6066, - 0xa883, 0x0000, 0xa87c, 0xd0ac, 0x01c8, 0xc0dd, 0xa87e, 0xa888, - 0x8001, 0x1568, 0xa816, 0xa864, 0x9094, 0x00f7, 0x9296, 0x0011, - 0x1530, 0x9084, 0x00ff, 0xc0bd, 0x601e, 0xa8ac, 0xaab0, 0xa836, - 0xaa3a, 0x2001, 0x8004, 0x6003, 0x0004, 0x0030, 0x080c, 0x1c3d, - 0x2001, 0x8004, 0x6003, 0x0002, 0x6046, 0x2001, 0x0010, 0x2c08, - 0x080c, 0xa879, 0xb838, 0xba3c, 0x9202, 0x0a04, 0x6751, 0x0020, - 0x82ff, 0x1110, 0xb88b, 0x0001, 0x00ce, 0x009e, 0x0005, 0x080c, - 0x173e, 0x601c, 0xc0bd, 0x601e, 0x08e0, 0x00b6, 0x0096, 0x0016, - 0x20a9, 0x0800, 0x900e, 0x0016, 0x080c, 0x6620, 0x1158, 0xb8d0, - 0x904d, 0x0140, 0x3e00, 0x9086, 0x0002, 0x1118, 0xb800, 0xd0bc, - 0x1108, 0x0041, 0x001e, 0x8108, 0x1f04, 0x67b3, 0x001e, 0x00be, - 0x009e, 0x0005, 0x0096, 0x0016, 0xb8d0, 0x904d, 0x0188, 0xa800, - 0xb8d2, 0x9005, 0x1108, 0xb8ce, 0x9006, 0xa802, 0xa867, 0x0103, - 0xab7a, 0xa877, 0x0000, 0x080c, 0xcb35, 0x080c, 0x6d7b, 0x0c60, - 0x001e, 0x009e, 0x0005, 0x0086, 0x9046, 0xb8d0, 0x904d, 0x01b0, - 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0128, 0x2940, 0xa800, - 0x904d, 0x0160, 0x0ca8, 0xa800, 0x88ff, 0x1128, 0xb8d2, 0x9005, - 0x1118, 0xb8ce, 0x0008, 0xa002, 0xa803, 0x0000, 0x008e, 0x0005, - 0x901e, 0x0010, 0x2019, 0x0001, 0x0126, 0x2091, 0x8000, 0x00e6, - 0x0096, 0x00c6, 0x0086, 0x0026, 0x2071, 0x19e6, 0x9046, 0x7028, - 0x9065, 0x01e8, 0x6014, 0x2068, 0x83ff, 0x0120, 0x605c, 0x9606, - 0x0158, 0x0030, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0120, - 0x2c40, 0x600c, 0x2060, 0x0c60, 0x600c, 0x0006, 0x0066, 0x2830, - 0x080c, 0x9f84, 0x006e, 0x000e, 0x83ff, 0x0508, 0x0c08, 0x9046, - 0xb8d0, 0x904d, 0x01e0, 0x83ff, 0x0120, 0xa878, 0x9606, 0x0158, - 0x0030, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0120, 0x2940, - 0xa800, 0x2048, 0x0c70, 0xb8d0, 0xaa00, 0x0026, 0x9906, 0x1110, - 0xbad2, 0x0008, 0xa202, 0x000e, 0x83ff, 0x0108, 0x0c10, 0x002e, - 0x008e, 0x00ce, 0x009e, 0x00ee, 0x012e, 0x0005, 0x9016, 0x0489, - 0x1110, 0x2011, 0x0001, 0x0005, 0x080c, 0x6913, 0x0128, 0x080c, - 0xc8f3, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6913, 0x0128, - 0x080c, 0xc894, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6913, - 0x0128, 0x080c, 0xc8f0, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, - 0x6913, 0x0128, 0x080c, 0xc8b3, 0x0010, 0x9085, 0x0001, 0x0005, - 0x080c, 0x6913, 0x0128, 0x080c, 0xc934, 0x0010, 0x9085, 0x0001, - 0x0005, 0xb8a4, 0x900d, 0x1118, 0x9085, 0x0001, 0x0005, 0x0136, - 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, 0x810f, 0x9184, - 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, 0x2098, 0x20a9, - 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, 0x0128, 0x8109, 0x1dd8, - 0x9085, 0x0001, 0x0008, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0146, - 0x01d6, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0004, 0x20a0, 0x20a9, - 0x0010, 0x2009, 0xffff, 0x4104, 0x01de, 0x014e, 0x0136, 0x01c6, - 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, - 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, - 0x2009, 0x0010, 0x4002, 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, - 0x0001, 0x0068, 0x0146, 0x01d6, 0x3300, 0x8001, 0x20a0, 0x3c00, - 0x20e8, 0x2001, 0xffff, 0x4004, 0x01de, 0x014e, 0x9006, 0x01ce, - 0x013e, 0x0005, 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, - 0x1128, 0x080c, 0x103a, 0x0168, 0x2900, 0xb8a6, 0x080c, 0x68af, - 0xa803, 0x0001, 0xa807, 0x0000, 0x9085, 0x0001, 0x012e, 0x009e, - 0x0005, 0x9006, 0x0cd8, 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, - 0x904d, 0x0130, 0xb8a7, 0x0000, 0x080c, 0x106c, 0x9085, 0x0001, - 0x012e, 0x009e, 0x0005, 0xb89c, 0xd0a4, 0x0005, 0x00b6, 0x00f6, - 0x080c, 0x74c8, 0x01b0, 0x71c4, 0x81ff, 0x1198, 0x71dc, 0xd19c, - 0x0180, 0x2001, 0x007e, 0x9080, 0x1000, 0x2004, 0x905d, 0x0148, - 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, - 0xb802, 0x2079, 0x1847, 0x7804, 0xd0a4, 0x01d0, 0x0156, 0x20a9, - 0x007f, 0x900e, 0x0016, 0x080c, 0x6620, 0x1168, 0xb804, 0x9084, - 0xff00, 0x8007, 0x9096, 0x0004, 0x0118, 0x9086, 0x0006, 0x1118, - 0xb800, 0xc0ed, 0xb802, 0x001e, 0x8108, 0x1f04, 0x693a, 0x015e, - 0x080c, 0x6a28, 0x0120, 0x2001, 0x1984, 0x200c, 0x0038, 0x2079, - 0x1847, 0x7804, 0xd0a4, 0x0130, 0x2009, 0x07d0, 0x2011, 0x6965, - 0x080c, 0x86e7, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x2011, 0x6965, - 0x080c, 0x861d, 0x080c, 0x6a28, 0x01d8, 0x2001, 0x107e, 0x2004, - 0x2058, 0xb900, 0xc1ec, 0xb902, 0x080c, 0x6a66, 0x0130, 0x2009, - 0x07d0, 0x2011, 0x6965, 0x080c, 0x86e7, 0x00e6, 0x2071, 0x1800, - 0x9006, 0x707e, 0x7060, 0x7082, 0x080c, 0x2fc0, 0x00ee, 0x04d0, - 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6620, - 0x1558, 0xb800, 0xd0ec, 0x0540, 0x0046, 0xbaa0, 0x2220, 0x9006, - 0x2009, 0x0029, 0x080c, 0xe2d9, 0xb800, 0xc0e5, 0xc0ec, 0xb802, - 0x080c, 0x6a62, 0x2001, 0x0707, 0x1128, 0xb804, 0x9084, 0x00ff, - 0x9085, 0x0700, 0xb806, 0x080c, 0xa888, 0x2019, 0x0029, 0x080c, - 0x938d, 0x0076, 0x903e, 0x080c, 0x9256, 0x900e, 0x080c, 0xdffb, - 0x007e, 0x004e, 0x080c, 0xa8a4, 0x001e, 0x8108, 0x1f04, 0x698d, - 0x00ce, 0x015e, 0x00be, 0x0005, 0x00b6, 0x6010, 0x2058, 0xb800, - 0xc0ec, 0xb802, 0x00be, 0x0005, 0x00b6, 0x00c6, 0x0096, 0x080c, - 0x1053, 0x090c, 0x0d7d, 0x2958, 0x009e, 0x2001, 0x196a, 0x2b02, - 0x8b07, 0x8006, 0x8006, 0x908c, 0x003f, 0xb9c6, 0x908c, 0xffc0, - 0xb9ca, 0xb8af, 0x0000, 0x2009, 0x00ff, 0x080c, 0x603e, 0xb807, - 0x0006, 0xb813, 0x00ff, 0xb817, 0xffff, 0xb86f, 0x0200, 0xb86c, - 0xb893, 0x0002, 0xb8bb, 0x0520, 0xb8a3, 0x00ff, 0xb8af, 0x0000, - 0x00ce, 0x00be, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb800, 0x00be, - 0xd0ac, 0x0005, 0x6010, 0x00b6, 0x905d, 0x0108, 0xb800, 0x00be, - 0xd0bc, 0x0005, 0x0006, 0x0016, 0x0026, 0xb804, 0x908c, 0x00ff, - 0x9196, 0x0006, 0x0188, 0x9196, 0x0004, 0x0170, 0x9196, 0x0005, - 0x0158, 0x908c, 0xff00, 0x810f, 0x9196, 0x0006, 0x0128, 0x9196, - 0x0004, 0x0110, 0x9196, 0x0005, 0x002e, 0x001e, 0x000e, 0x0005, - 0x00b6, 0x00f6, 0x2001, 0x107e, 0x2004, 0x905d, 0x0110, 0xb800, - 0xd0ec, 0x00fe, 0x00be, 0x0005, 0x0126, 0x0026, 0x2091, 0x8000, - 0x0006, 0xbaa0, 0x9290, 0x1000, 0x2204, 0x9b06, 0x190c, 0x0d7d, - 0x000e, 0xba00, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, 0xba02, - 0x002e, 0x012e, 0x0005, 0x2011, 0x1837, 0x2204, 0xd0cc, 0x0138, - 0x2001, 0x1982, 0x200c, 0x2011, 0x6a58, 0x080c, 0x86e7, 0x0005, - 0x2011, 0x6a58, 0x080c, 0x861d, 0x2011, 0x1837, 0x2204, 0xc0cc, - 0x2012, 0x0005, 0x080c, 0x56d5, 0xd0ac, 0x0005, 0x080c, 0x56d5, - 0xd0a4, 0x0005, 0x0016, 0xb904, 0x9184, 0x00ff, 0x908e, 0x0006, - 0x001e, 0x0005, 0x0016, 0xb904, 0x9184, 0xff00, 0x8007, 0x908e, - 0x0006, 0x001e, 0x0005, 0x00b6, 0x00f6, 0x080c, 0xcf51, 0x0158, - 0x70dc, 0x9084, 0x0028, 0x0138, 0x2001, 0x107f, 0x2004, 0x905d, - 0x0110, 0xb8d4, 0xd094, 0x00fe, 0x00be, 0x0005, 0x2071, 0x1910, - 0x7003, 0x0001, 0x7007, 0x0000, 0x9006, 0x7012, 0x7016, 0x701a, - 0x701e, 0x700a, 0x7046, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1947, - 0x900e, 0x710a, 0x080c, 0x56d5, 0xd0fc, 0x1140, 0x080c, 0x56d5, - 0x900e, 0xd09c, 0x0108, 0x8108, 0x7102, 0x00f8, 0x2001, 0x1867, - 0x200c, 0x9184, 0x0007, 0x0002, 0x6aa6, 0x6aa6, 0x6aa6, 0x6aa6, - 0x6aa6, 0x6abc, 0x6aca, 0x6aa6, 0x7003, 0x0003, 0x2009, 0x1868, - 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, 0x0002, - 0x7006, 0x0018, 0x7003, 0x0005, 0x0c88, 0x00ee, 0x001e, 0x0005, - 0x00e6, 0x2071, 0x0050, 0x684c, 0x9005, 0x1150, 0x00e6, 0x2071, - 0x1910, 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, 0x0488, - 0x6844, 0x9005, 0x0158, 0x080c, 0x783e, 0x6a60, 0x9200, 0x7002, - 0x6864, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6860, 0x7002, - 0x6864, 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, 0x9005, - 0x1110, 0x7012, 0x7016, 0x684c, 0x701a, 0x701c, 0x9085, 0x0040, - 0x701e, 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, 0x1910, - 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, 0x00ee, - 0x9006, 0x00ee, 0x0005, 0x00e6, 0x0026, 0x2071, 0x1947, 0x7000, - 0x9015, 0x0904, 0x6d80, 0x9286, 0x0003, 0x0904, 0x6c10, 0x9286, - 0x0005, 0x0904, 0x6c10, 0x2071, 0x1877, 0xa87c, 0x9005, 0x0904, - 0x6b71, 0x7140, 0xa868, 0x9102, 0x0a04, 0x6d80, 0xa878, 0xd084, - 0x15d8, 0xa853, 0x0019, 0x2001, 0x8023, 0xa84e, 0x2071, 0x1910, - 0x701c, 0x9005, 0x1904, 0x6f17, 0x0e04, 0x6f85, 0x2071, 0x0000, - 0xa850, 0x7032, 0xa84c, 0x7082, 0xa870, 0x7086, 0xa86c, 0x708a, - 0xa880, 0x708e, 0x7036, 0x0146, 0x01d6, 0x0136, 0x01c6, 0x0156, - 0x20e9, 0x0000, 0x20a1, 0x002a, 0xa868, 0x20a8, 0xa860, 0x20e0, - 0xa85c, 0x9080, 0x0021, 0x2098, 0x4003, 0x015e, 0x01ce, 0x013e, - 0x01de, 0x014e, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x11e1, 0x0804, 0x6bf3, 0xa853, 0x001b, 0x2001, 0x8027, - 0x0820, 0x7004, 0xd08c, 0x1904, 0x6d80, 0xa853, 0x001a, 0x2001, - 0x8024, 0x0804, 0x6b35, 0x00e6, 0x0026, 0x2071, 0x1947, 0x7000, - 0x9015, 0x0904, 0x6d80, 0x9286, 0x0003, 0x0904, 0x6c10, 0x9286, - 0x0005, 0x0904, 0x6c10, 0xa84f, 0x8022, 0xa853, 0x0018, 0x0804, - 0x6bd8, 0xa868, 0xd0fc, 0x11d8, 0x00e6, 0x0026, 0x2001, 0x1947, - 0x2004, 0x9005, 0x0904, 0x6d80, 0xa87c, 0xd0bc, 0x1904, 0x6d80, - 0xa978, 0xa874, 0x9105, 0x1904, 0x6d80, 0x2001, 0x1947, 0x2004, - 0x0002, 0x6d80, 0x6bd4, 0x6c10, 0x6c10, 0x6d80, 0x6c10, 0x0005, - 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, 0x1947, 0x210c, - 0x81ff, 0x0904, 0x6d80, 0xa87c, 0xd0cc, 0x0904, 0x6d80, 0xa880, - 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x6d80, 0x9186, 0x0003, - 0x0904, 0x6c10, 0x9186, 0x0005, 0x0904, 0x6c10, 0xa84f, 0x8021, - 0xa853, 0x0017, 0x0028, 0x0005, 0xa84f, 0x8020, 0xa853, 0x0016, - 0x2071, 0x1910, 0x701c, 0x9005, 0x1904, 0x6f17, 0x0e04, 0x6f85, - 0x2071, 0x0000, 0xa84c, 0x7082, 0xa850, 0x7032, 0xa86c, 0x7086, - 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x11e1, 0x2071, 0x1800, 0x2011, 0x0001, 0xa804, - 0x900d, 0x702c, 0x1158, 0xa802, 0x2900, 0x702e, 0x70c0, 0x9200, - 0x70c2, 0x080c, 0x8532, 0x002e, 0x00ee, 0x0005, 0x0096, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x009e, 0x0c58, - 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1910, 0xa803, - 0x0000, 0x7010, 0x9005, 0x1904, 0x6d05, 0x782c, 0x908c, 0x0780, - 0x190c, 0x70d1, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, - 0x6c2e, 0x6d05, 0x6c53, 0x6ca0, 0x080c, 0x0d7d, 0x2071, 0x1800, - 0x2900, 0x7822, 0xa804, 0x900d, 0x1170, 0x2071, 0x1a02, 0x703c, + 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1170, + 0xb89c, 0xd0ac, 0x0158, 0x080c, 0x6a8a, 0x0140, 0x9284, 0xff00, + 0x8007, 0x9086, 0x0007, 0x1110, 0x2011, 0x0600, 0x000e, 0x9294, + 0xff00, 0x9215, 0xba06, 0x0006, 0x9086, 0x0006, 0x1120, 0xba90, + 0x82ff, 0x090c, 0x0d7d, 0x000e, 0x00ce, 0x012e, 0x00be, 0x0005, + 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, + 0x0006, 0x9086, 0x0006, 0x1168, 0xb89c, 0xd0a4, 0x0150, 0x080c, + 0x6a86, 0x1138, 0x9284, 0x00ff, 0x9086, 0x0007, 0x1110, 0x2011, + 0x0006, 0x000e, 0x9294, 0x00ff, 0x8007, 0x9215, 0xba06, 0x00ce, + 0x012e, 0x00be, 0x0005, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, + 0x0005, 0x00d6, 0x0026, 0x9190, 0x1000, 0x2204, 0x905d, 0x1188, + 0x0096, 0x080c, 0x1047, 0x2958, 0x009e, 0x0168, 0x2b00, 0x2012, + 0xb85c, 0xb8ca, 0xb860, 0xb8c6, 0x9006, 0xb8a6, 0xb8ae, 0x080c, + 0x605e, 0x9006, 0x0010, 0x9085, 0x0001, 0x002e, 0x00de, 0x0005, + 0x00b6, 0x0096, 0x0126, 0x2091, 0x8000, 0x0026, 0x9182, 0x0800, + 0x0218, 0x9085, 0x0001, 0x0458, 0x00d6, 0x9190, 0x1000, 0x2204, + 0x905d, 0x0518, 0x2013, 0x0000, 0xb8a4, 0x904d, 0x0110, 0x080c, + 0x1079, 0x00d6, 0x00c6, 0xb8bc, 0x2060, 0x8cff, 0x0168, 0x600c, + 0x0006, 0x6014, 0x2048, 0x080c, 0xc865, 0x0110, 0x080c, 0x0ff9, + 0x080c, 0xabf0, 0x00ce, 0x0c88, 0x00ce, 0x00de, 0x2b48, 0xb8c8, + 0xb85e, 0xb8c4, 0xb862, 0x080c, 0x1089, 0x00de, 0x9006, 0x002e, + 0x012e, 0x009e, 0x00be, 0x0005, 0x0016, 0x9182, 0x0800, 0x0218, + 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, 0x2104, 0x905d, 0x0dc0, + 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, 0x0136, 0x0146, 0x9006, + 0xb80a, 0xb80e, 0xb800, 0xc08c, 0xb802, 0x080c, 0x74ec, 0x1510, + 0xb8a0, 0x9086, 0x007e, 0x0120, 0x080c, 0xab5a, 0x11d8, 0x0078, + 0x7040, 0xd0e4, 0x01b8, 0x00c6, 0x2061, 0x1981, 0x7048, 0x2062, + 0x704c, 0x6006, 0x7050, 0x600a, 0x7054, 0x600e, 0x00ce, 0x703c, + 0x2069, 0x0140, 0x9005, 0x1110, 0x2001, 0x0001, 0x6886, 0x2069, + 0x1800, 0x68b6, 0x7040, 0xb85e, 0x7048, 0xb862, 0x704c, 0xb866, + 0x20e1, 0x0000, 0x2099, 0x0276, 0xb8c4, 0x20e8, 0xb8c8, 0x9088, + 0x000a, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2099, 0x027a, 0x9088, + 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2069, 0x0200, 0x6817, + 0x0001, 0x7040, 0xb86a, 0x7144, 0xb96e, 0x7048, 0xb872, 0x7050, + 0xb876, 0x2069, 0x0200, 0x6817, 0x0000, 0xb8a0, 0x9086, 0x007e, + 0x1110, 0x7144, 0xb96e, 0x9182, 0x0211, 0x1218, 0x2009, 0x0008, + 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, 0x0007, 0x00d0, 0x9182, + 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0x9182, 0x0349, 0x1218, + 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, 0x1218, 0x2009, 0x0004, + 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, 0x0003, 0x0010, 0x2009, + 0x0002, 0xb992, 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, 0x0016, + 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, 0xb896, 0x703c, 0xb89a, + 0x7054, 0xb89e, 0x0036, 0xbbd4, 0xc384, 0xba00, 0x2009, 0x1867, + 0x210c, 0xd0bc, 0x0120, 0xd1ec, 0x0110, 0xc2ad, 0x0008, 0xc2ac, + 0xd0c4, 0x0148, 0xd1e4, 0x0138, 0xc2bd, 0xd0cc, 0x0128, 0xd38c, + 0x1108, 0xc385, 0x0008, 0xc2bc, 0xba02, 0xbbd6, 0x003e, 0x00ee, + 0x002e, 0x001e, 0x0005, 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, + 0x904d, 0x0578, 0xa900, 0x81ff, 0x15c0, 0xaa04, 0x9282, 0x0010, + 0x16c8, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x8906, 0x8006, 0x8007, + 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9080, 0x0004, 0x2098, + 0x2009, 0x0010, 0x20a9, 0x0001, 0x4002, 0x9086, 0xffff, 0x0120, + 0x8109, 0x1dd0, 0x080c, 0x0d7d, 0x3c00, 0x20e8, 0x3300, 0x8001, + 0x20a0, 0x4604, 0x8210, 0xaa06, 0x01de, 0x01ce, 0x014e, 0x013e, + 0x0060, 0x080c, 0x1047, 0x0170, 0x2900, 0xb8a6, 0xa803, 0x0000, + 0x080c, 0x68d3, 0xa807, 0x0001, 0xae12, 0x9085, 0x0001, 0x012e, + 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0126, 0x2091, 0x8000, 0x0096, + 0xb8a4, 0x904d, 0x0188, 0xa800, 0x9005, 0x1150, 0x080c, 0x68e2, + 0x1158, 0xa804, 0x908a, 0x0002, 0x0218, 0x8001, 0xa806, 0x0020, + 0x080c, 0x1079, 0xb8a7, 0x0000, 0x009e, 0x012e, 0x0005, 0x0096, + 0x00c6, 0xb888, 0x9005, 0x1904, 0x67c8, 0xb8d0, 0x904d, 0x0904, + 0x67c8, 0x080c, 0xabc7, 0x0904, 0x67c4, 0x8210, 0xba3e, 0xa800, + 0xb8d2, 0x9005, 0x1108, 0xb8ce, 0x2b00, 0x6012, 0x2900, 0x6016, + 0x6023, 0x0003, 0x600b, 0xffff, 0x6007, 0x0040, 0xa878, 0x605e, + 0xa880, 0x9084, 0x00ff, 0x6066, 0xa883, 0x0000, 0xa87c, 0xd0ac, + 0x01c8, 0xc0dd, 0xa87e, 0xa888, 0x8001, 0x1568, 0xa816, 0xa864, + 0x9094, 0x00f7, 0x9296, 0x0011, 0x1530, 0x9084, 0x00ff, 0xc0bd, + 0x601e, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x2001, 0x8004, 0x6003, + 0x0004, 0x0030, 0x080c, 0x1c55, 0x2001, 0x8004, 0x6003, 0x0002, + 0x6046, 0x2001, 0x0010, 0x2c08, 0x080c, 0xa88a, 0xb838, 0xba3c, + 0x9202, 0x0a04, 0x6775, 0x0020, 0x82ff, 0x1110, 0xb88b, 0x0001, + 0x00ce, 0x009e, 0x0005, 0x080c, 0x174b, 0x601c, 0xc0bd, 0x601e, + 0x08e0, 0x00b6, 0x0096, 0x0016, 0x20a9, 0x0800, 0x900e, 0x0016, + 0x080c, 0x6644, 0x1158, 0xb8d0, 0x904d, 0x0140, 0x3e00, 0x9086, + 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1108, 0x0041, 0x001e, 0x8108, + 0x1f04, 0x67d7, 0x001e, 0x00be, 0x009e, 0x0005, 0x0096, 0x0016, + 0xb8d0, 0x904d, 0x0188, 0xa800, 0xb8d2, 0x9005, 0x1108, 0xb8ce, + 0x9006, 0xa802, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, + 0xcb68, 0x080c, 0x6d9f, 0x0c60, 0x001e, 0x009e, 0x0005, 0x0086, + 0x9046, 0xb8d0, 0x904d, 0x01b0, 0xa86c, 0x9406, 0x1118, 0xa870, + 0x9506, 0x0128, 0x2940, 0xa800, 0x904d, 0x0160, 0x0ca8, 0xa800, + 0x88ff, 0x1128, 0xb8d2, 0x9005, 0x1118, 0xb8ce, 0x0008, 0xa002, + 0xa803, 0x0000, 0x008e, 0x0005, 0x901e, 0x0010, 0x2019, 0x0001, + 0x0126, 0x2091, 0x8000, 0x00e6, 0x0096, 0x00c6, 0x0086, 0x0026, + 0x2071, 0x19e6, 0x9046, 0x7028, 0x9065, 0x01e8, 0x6014, 0x2068, + 0x83ff, 0x0120, 0x605c, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, + 0x1118, 0xa870, 0x9506, 0x0120, 0x2c40, 0x600c, 0x2060, 0x0c60, + 0x600c, 0x0006, 0x0066, 0x2830, 0x080c, 0x9fbd, 0x006e, 0x000e, + 0x83ff, 0x0508, 0x0c08, 0x9046, 0xb8d0, 0x904d, 0x01e0, 0x83ff, + 0x0120, 0xa878, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, 0x1118, + 0xa870, 0x9506, 0x0120, 0x2940, 0xa800, 0x2048, 0x0c70, 0xb8d0, + 0xaa00, 0x0026, 0x9906, 0x1110, 0xbad2, 0x0008, 0xa202, 0x000e, + 0x83ff, 0x0108, 0x0c10, 0x002e, 0x008e, 0x00ce, 0x009e, 0x00ee, + 0x012e, 0x0005, 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, + 0x080c, 0x6937, 0x0128, 0x080c, 0xc926, 0x0010, 0x9085, 0x0001, + 0x0005, 0x080c, 0x6937, 0x0128, 0x080c, 0xc8c7, 0x0010, 0x9085, + 0x0001, 0x0005, 0x080c, 0x6937, 0x0128, 0x080c, 0xc923, 0x0010, + 0x9085, 0x0001, 0x0005, 0x080c, 0x6937, 0x0128, 0x080c, 0xc8e6, + 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6937, 0x0128, 0x080c, + 0xc967, 0x0010, 0x9085, 0x0001, 0x0005, 0xb8a4, 0x900d, 0x1118, + 0x9085, 0x0001, 0x0005, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, + 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, + 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, + 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0008, 0x9006, + 0x01ce, 0x013e, 0x0005, 0x0146, 0x01d6, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x0004, 0x20a0, 0x20a9, 0x0010, 0x2009, 0xffff, 0x4104, + 0x01de, 0x014e, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, + 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, + 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, + 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0068, 0x0146, 0x01d6, + 0x3300, 0x8001, 0x20a0, 0x3c00, 0x20e8, 0x2001, 0xffff, 0x4004, + 0x01de, 0x014e, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0096, 0x0126, + 0x2091, 0x8000, 0xb8a4, 0x904d, 0x1128, 0x080c, 0x1047, 0x0168, + 0x2900, 0xb8a6, 0x080c, 0x68d3, 0xa803, 0x0001, 0xa807, 0x0000, + 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0096, + 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0130, 0xb8a7, 0x0000, + 0x080c, 0x1079, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0xb89c, + 0xd0a4, 0x0005, 0x00b6, 0x00f6, 0x080c, 0x74ec, 0x01b0, 0x71c4, + 0x81ff, 0x1198, 0x71dc, 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, + 0x1000, 0x2004, 0x905d, 0x0148, 0xb804, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x2079, 0x1847, 0x7804, + 0xd0a4, 0x01d0, 0x0156, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, + 0x6644, 0x1168, 0xb804, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, + 0x0118, 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x001e, + 0x8108, 0x1f04, 0x695e, 0x015e, 0x080c, 0x6a4c, 0x0120, 0x2001, + 0x1984, 0x200c, 0x0038, 0x2079, 0x1847, 0x7804, 0xd0a4, 0x0130, + 0x2009, 0x07d0, 0x2011, 0x6989, 0x080c, 0x871b, 0x00fe, 0x00be, + 0x0005, 0x00b6, 0x2011, 0x6989, 0x080c, 0x8651, 0x080c, 0x6a4c, + 0x01d8, 0x2001, 0x107e, 0x2004, 0x2058, 0xb900, 0xc1ec, 0xb902, + 0x080c, 0x6a8a, 0x0130, 0x2009, 0x07d0, 0x2011, 0x6989, 0x080c, + 0x871b, 0x00e6, 0x2071, 0x1800, 0x9006, 0x707e, 0x7060, 0x7082, + 0x080c, 0x2fe0, 0x00ee, 0x04d0, 0x0156, 0x00c6, 0x20a9, 0x007f, + 0x900e, 0x0016, 0x080c, 0x6644, 0x1558, 0xb800, 0xd0ec, 0x0540, + 0x0046, 0xbaa0, 0x2220, 0x9006, 0x2009, 0x0029, 0x080c, 0xe316, + 0xb800, 0xc0e5, 0xc0ec, 0xb802, 0x080c, 0x6a86, 0x2001, 0x0707, + 0x1128, 0xb804, 0x9084, 0x00ff, 0x9085, 0x0700, 0xb806, 0x080c, + 0xa899, 0x2019, 0x0029, 0x080c, 0x93c6, 0x0076, 0x903e, 0x080c, + 0x928f, 0x900e, 0x080c, 0xe038, 0x007e, 0x004e, 0x080c, 0xa8b5, + 0x001e, 0x8108, 0x1f04, 0x69b1, 0x00ce, 0x015e, 0x00be, 0x0005, + 0x00b6, 0x6010, 0x2058, 0xb800, 0xc0ec, 0xb802, 0x00be, 0x0005, + 0x00b6, 0x00c6, 0x0096, 0x080c, 0x1060, 0x090c, 0x0d7d, 0x2958, + 0x009e, 0x2001, 0x196a, 0x2b02, 0x8b07, 0x8006, 0x8006, 0x908c, + 0x003f, 0xb9c6, 0x908c, 0xffc0, 0xb9ca, 0xb8af, 0x0000, 0x2009, + 0x00ff, 0x080c, 0x605e, 0xb807, 0x0006, 0xb813, 0x00ff, 0xb817, + 0xffff, 0xb86f, 0x0200, 0xb86c, 0xb893, 0x0002, 0xb8bb, 0x0520, + 0xb8a3, 0x00ff, 0xb8af, 0x0000, 0x00ce, 0x00be, 0x0005, 0x7810, + 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ac, 0x0005, 0x6010, 0x00b6, + 0x905d, 0x0108, 0xb800, 0x00be, 0xd0bc, 0x0005, 0x0006, 0x0016, + 0x0026, 0xb804, 0x908c, 0x00ff, 0x9196, 0x0006, 0x0188, 0x9196, + 0x0004, 0x0170, 0x9196, 0x0005, 0x0158, 0x908c, 0xff00, 0x810f, + 0x9196, 0x0006, 0x0128, 0x9196, 0x0004, 0x0110, 0x9196, 0x0005, + 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, 0x00f6, 0x2001, 0x107e, + 0x2004, 0x905d, 0x0110, 0xb800, 0xd0ec, 0x00fe, 0x00be, 0x0005, + 0x0126, 0x0026, 0x2091, 0x8000, 0x0006, 0xbaa0, 0x9290, 0x1000, + 0x2204, 0x9b06, 0x190c, 0x0d7d, 0x000e, 0xba00, 0x9005, 0x0110, + 0xc2fd, 0x0008, 0xc2fc, 0xba02, 0x002e, 0x012e, 0x0005, 0x2011, + 0x1837, 0x2204, 0xd0cc, 0x0138, 0x2001, 0x1982, 0x200c, 0x2011, + 0x6a7c, 0x080c, 0x871b, 0x0005, 0x2011, 0x6a7c, 0x080c, 0x8651, + 0x2011, 0x1837, 0x2204, 0xc0cc, 0x2012, 0x0005, 0x080c, 0x56f5, + 0xd0ac, 0x0005, 0x080c, 0x56f5, 0xd0a4, 0x0005, 0x0016, 0xb904, + 0x9184, 0x00ff, 0x908e, 0x0006, 0x001e, 0x0005, 0x0016, 0xb904, + 0x9184, 0xff00, 0x8007, 0x908e, 0x0006, 0x001e, 0x0005, 0x00b6, + 0x00f6, 0x080c, 0xcf84, 0x0158, 0x70dc, 0x9084, 0x0028, 0x0138, + 0x2001, 0x107f, 0x2004, 0x905d, 0x0110, 0xb8d4, 0xd094, 0x00fe, + 0x00be, 0x0005, 0x2071, 0x1910, 0x7003, 0x0001, 0x7007, 0x0000, + 0x9006, 0x7012, 0x7016, 0x701a, 0x701e, 0x700a, 0x7046, 0x0005, + 0x0016, 0x00e6, 0x2071, 0x1947, 0x900e, 0x710a, 0x080c, 0x56f5, + 0xd0fc, 0x1140, 0x080c, 0x56f5, 0x900e, 0xd09c, 0x0108, 0x8108, + 0x7102, 0x00f8, 0x2001, 0x1867, 0x200c, 0x9184, 0x0007, 0x0002, + 0x6aca, 0x6aca, 0x6aca, 0x6aca, 0x6aca, 0x6ae0, 0x6aee, 0x6aca, + 0x7003, 0x0003, 0x2009, 0x1868, 0x210c, 0x9184, 0xff00, 0x8007, + 0x9005, 0x1110, 0x2001, 0x0002, 0x7006, 0x0018, 0x7003, 0x0005, + 0x0c88, 0x00ee, 0x001e, 0x0005, 0x00e6, 0x2071, 0x0050, 0x684c, + 0x9005, 0x1150, 0x00e6, 0x2071, 0x1910, 0x7028, 0xc085, 0x702a, + 0x00ee, 0x9085, 0x0001, 0x0488, 0x6844, 0x9005, 0x0158, 0x080c, + 0x7861, 0x6a60, 0x9200, 0x7002, 0x6864, 0x9101, 0x7006, 0x9006, + 0x7012, 0x7016, 0x6860, 0x7002, 0x6864, 0x7006, 0x6868, 0x700a, + 0x686c, 0x700e, 0x6844, 0x9005, 0x1110, 0x7012, 0x7016, 0x684c, + 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x7037, 0x0019, 0x702b, + 0x0001, 0x00e6, 0x2071, 0x1910, 0x7028, 0xc084, 0x702a, 0x7007, + 0x0001, 0x700b, 0x0000, 0x00ee, 0x9006, 0x00ee, 0x0005, 0x00e6, + 0x0026, 0x2071, 0x1947, 0x7000, 0x9015, 0x0904, 0x6da4, 0x9286, + 0x0003, 0x0904, 0x6c34, 0x9286, 0x0005, 0x0904, 0x6c34, 0x2071, + 0x1877, 0xa87c, 0x9005, 0x0904, 0x6b95, 0x7140, 0xa868, 0x9102, + 0x0a04, 0x6da4, 0xa878, 0xd084, 0x15d8, 0xa853, 0x0019, 0x2001, + 0x8023, 0xa84e, 0x2071, 0x1910, 0x701c, 0x9005, 0x1904, 0x6f3b, + 0x0e04, 0x6fa9, 0x2071, 0x0000, 0xa850, 0x7032, 0xa84c, 0x7082, + 0xa870, 0x7086, 0xa86c, 0x708a, 0xa880, 0x708e, 0x7036, 0x0146, + 0x01d6, 0x0136, 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, + 0xa868, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, + 0x4003, 0x015e, 0x01ce, 0x013e, 0x01de, 0x014e, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11ee, 0x0804, 0x6c17, + 0xa853, 0x001b, 0x2001, 0x8027, 0x0820, 0x7004, 0xd08c, 0x1904, + 0x6da4, 0xa853, 0x001a, 0x2001, 0x8024, 0x0804, 0x6b59, 0x00e6, + 0x0026, 0x2071, 0x1947, 0x7000, 0x9015, 0x0904, 0x6da4, 0x9286, + 0x0003, 0x0904, 0x6c34, 0x9286, 0x0005, 0x0904, 0x6c34, 0xa84f, + 0x8022, 0xa853, 0x0018, 0x0804, 0x6bfc, 0xa868, 0xd0fc, 0x11d8, + 0x00e6, 0x0026, 0x2001, 0x1947, 0x2004, 0x9005, 0x0904, 0x6da4, + 0xa87c, 0xd0bc, 0x1904, 0x6da4, 0xa978, 0xa874, 0x9105, 0x1904, + 0x6da4, 0x2001, 0x1947, 0x2004, 0x0002, 0x6da4, 0x6bf8, 0x6c34, + 0x6c34, 0x6da4, 0x6c34, 0x0005, 0xa868, 0xd0fc, 0x1500, 0x00e6, + 0x0026, 0x2009, 0x1947, 0x210c, 0x81ff, 0x0904, 0x6da4, 0xa87c, + 0xd0cc, 0x0904, 0x6da4, 0xa880, 0x9084, 0x00ff, 0x9086, 0x0001, + 0x1904, 0x6da4, 0x9186, 0x0003, 0x0904, 0x6c34, 0x9186, 0x0005, + 0x0904, 0x6c34, 0xa84f, 0x8021, 0xa853, 0x0017, 0x0028, 0x0005, + 0xa84f, 0x8020, 0xa853, 0x0016, 0x2071, 0x1910, 0x701c, 0x9005, + 0x1904, 0x6f3b, 0x0e04, 0x6fa9, 0x2071, 0x0000, 0xa84c, 0x7082, + 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11ee, 0x2071, + 0x1800, 0x2011, 0x0001, 0xa804, 0x900d, 0x702c, 0x1158, 0xa802, + 0x2900, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, 0x002e, + 0x00ee, 0x0005, 0x0096, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x009e, 0x0c58, 0xa84f, 0x0000, 0x00f6, 0x2079, + 0x0050, 0x2071, 0x1910, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, + 0x6d29, 0x782c, 0x908c, 0x0780, 0x190c, 0x70f5, 0x8004, 0x8004, + 0x8004, 0x9084, 0x0003, 0x0002, 0x6c52, 0x6d29, 0x6c77, 0x6cc4, + 0x080c, 0x0d7d, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, + 0x1170, 0x2071, 0x1a02, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, + 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, + 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, + 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, 0x0c10, 0x2071, + 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x15a8, 0x7824, 0x00e6, + 0x2071, 0x0040, 0x712c, 0xd19c, 0x1170, 0x2009, 0x1830, 0x210c, + 0x918a, 0x0020, 0x0240, 0x7022, 0x2001, 0x1dc0, 0x200c, 0x8108, + 0x2102, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, + 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8566, 0x782c, 0x9094, + 0x0780, 0x190c, 0x70f5, 0xd0a4, 0x19c8, 0x2071, 0x1a02, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, - 0x080c, 0x8532, 0x0c10, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, - 0x900d, 0x15a8, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, - 0x1170, 0x2009, 0x1830, 0x210c, 0x918a, 0x0020, 0x0240, 0x7022, - 0x2001, 0x1dc0, 0x200c, 0x8108, 0x2102, 0x00ee, 0x0058, 0x00ee, - 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, - 0x080c, 0x8532, 0x782c, 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, - 0x19c8, 0x2071, 0x1a02, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, - 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, - 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, - 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8532, 0x0804, 0x6c5a, - 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, - 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8532, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, 0x1d60, 0x00ee, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd09c, 0x11a0, 0x009e, 0x2900, - 0x7822, 0xa804, 0x900d, 0x1560, 0x2071, 0x1a02, 0x703c, 0x9005, - 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x009e, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, - 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, - 0x900d, 0x1170, 0x2071, 0x1a02, 0x703c, 0x9005, 0x1328, 0x2001, - 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, - 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, - 0x8532, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, - 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, - 0x2148, 0xa804, 0x900d, 0x1904, 0x6d5a, 0x782c, 0x9094, 0x0780, - 0x190c, 0x70d1, 0xd09c, 0x1198, 0x701c, 0x904d, 0x0180, 0x7010, - 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, - 0x782c, 0x9094, 0x0780, 0x190c, 0x70d1, 0xd09c, 0x0d68, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, 0x01b0, 0x00e6, 0x7824, - 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, - 0x8000, 0x70c2, 0x080c, 0x8532, 0x782c, 0x9094, 0x0780, 0x190c, - 0x70d1, 0xd0a4, 0x1d60, 0x00ee, 0x2071, 0x1a02, 0x703c, 0x9005, - 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, - 0x9200, 0x70c2, 0x080c, 0x8532, 0x00ee, 0x0804, 0x6d15, 0xa868, - 0xd0fc, 0x1560, 0x0096, 0xa804, 0xa807, 0x0000, 0x904d, 0x190c, - 0x0fec, 0x009e, 0x0018, 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, - 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, 0x1910, 0xa803, - 0x0000, 0x7010, 0x9005, 0x1904, 0x6e95, 0x782c, 0x908c, 0x0780, - 0x190c, 0x70d1, 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, - 0x6d9f, 0x6e95, 0x6dba, 0x6e28, 0x080c, 0x0d7d, 0x0005, 0x2071, - 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, - 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, - 0x8532, 0x0c60, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, - 0x1904, 0x6e17, 0x7830, 0xd0dc, 0x1120, 0x00fe, 0x002e, 0x00ee, - 0x0005, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1170, - 0x2009, 0x1830, 0x210c, 0x918a, 0x0020, 0x0240, 0x7022, 0x2001, - 0x1dc0, 0x200c, 0x8108, 0x2102, 0x00ee, 0x0058, 0x00ee, 0x2048, - 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, - 0x8532, 0x782c, 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, 0x19c8, - 0x0e04, 0x6e0e, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, - 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2001, 0x1921, 0x200c, - 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x11e1, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2001, 0x1921, - 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, - 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, - 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8532, 0x0804, 0x6dc9, - 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, - 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8532, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, 0x1d60, 0x00ee, 0x0e04, - 0x6e68, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, - 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd09c, 0x1170, 0x009e, 0x2900, - 0x7822, 0xa804, 0x900d, 0x11e0, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x7044, 0xc085, 0x7046, 0x0c58, 0x009e, 0x2908, 0x7010, 0x8000, - 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, - 0x2148, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, - 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, - 0x8532, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, - 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, - 0x2148, 0xa804, 0x900d, 0x1904, 0x6f02, 0x782c, 0x9094, 0x0780, - 0x190c, 0x70d1, 0xd09c, 0x11b0, 0x701c, 0x904d, 0x0198, 0xa84c, - 0x9005, 0x1180, 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, - 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x70d1, - 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, - 0x05a8, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, - 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8532, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, 0x1d60, 0x00ee, 0x0e04, - 0x6efb, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, - 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, - 0x9200, 0x70c2, 0x080c, 0x8532, 0x00ee, 0x0804, 0x6ea5, 0x2071, - 0x1910, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, - 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, - 0x900d, 0x1128, 0x1e04, 0x6f42, 0x002e, 0x00ee, 0x0005, 0x2071, + 0x080c, 0x8566, 0x0804, 0x6c7e, 0x0096, 0x00e6, 0x7824, 0x2048, + 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, + 0x70c2, 0x080c, 0x8566, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd0a4, 0x1d60, 0x00ee, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd09c, 0x11a0, 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x1560, + 0x2071, 0x1a02, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, + 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x009e, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1170, 0x2071, 0x1a02, + 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, 0x8005, 0x703e, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, + 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, + 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, + 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, + 0x6d7e, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, 0xd09c, 0x1198, + 0x701c, 0x904d, 0x0180, 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, + 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, + 0x70f5, 0xd09c, 0x0d68, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd0a4, 0x01b0, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8566, + 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, 0xd0a4, 0x1d60, 0x00ee, + 0x2071, 0x1a02, 0x703c, 0x9005, 0x1328, 0x2001, 0x1948, 0x2004, + 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, - 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8532, - 0x0e04, 0x6f2c, 0x2071, 0x1910, 0x701c, 0x2048, 0xa84c, 0x900d, - 0x0d18, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, - 0x7036, 0xa870, 0x708a, 0xa850, 0x9082, 0x0019, 0x1278, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, 0x2071, - 0x1910, 0x080c, 0x70bd, 0x002e, 0x00ee, 0x0005, 0xa850, 0x9082, - 0x001c, 0x1e68, 0xa880, 0x708e, 0x7036, 0x0146, 0x01d6, 0x0136, - 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, 0xa868, 0x20a8, - 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x4003, 0x015e, - 0x01ce, 0x013e, 0x01de, 0x014e, 0x0890, 0x2071, 0x1910, 0xa803, - 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, - 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1118, + 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, + 0x00ee, 0x0804, 0x6d39, 0xa868, 0xd0fc, 0x1560, 0x0096, 0xa804, + 0xa807, 0x0000, 0x904d, 0x190c, 0x0ff9, 0x009e, 0x0018, 0xa868, + 0xd0fc, 0x1500, 0x00e6, 0x0026, 0xa84f, 0x0000, 0x00f6, 0x2079, + 0x0050, 0x2071, 0x1910, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, + 0x6eb9, 0x782c, 0x908c, 0x0780, 0x190c, 0x70f5, 0x8004, 0x8004, + 0x8004, 0x9084, 0x0003, 0x0002, 0x6dc3, 0x6eb9, 0x6dde, 0x6e4c, + 0x080c, 0x0d7d, 0x0005, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, + 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, + 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, + 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, 0x0c60, 0x2071, 0x1800, + 0x2900, 0x7822, 0xa804, 0x900d, 0x1904, 0x6e3b, 0x7830, 0xd0dc, + 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7824, 0x00e6, 0x2071, + 0x0040, 0x712c, 0xd19c, 0x1170, 0x2009, 0x1830, 0x210c, 0x918a, + 0x0020, 0x0240, 0x7022, 0x2001, 0x1dc0, 0x200c, 0x8108, 0x2102, + 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, + 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8566, 0x782c, 0x9094, 0x0780, + 0x190c, 0x70f5, 0xd0a4, 0x19c8, 0x0e04, 0x6e32, 0x7838, 0x7938, + 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, + 0x00de, 0x2001, 0x1921, 0x200c, 0xc184, 0x2102, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11ee, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x2001, 0x1921, 0x200c, 0xc185, 0x2102, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, + 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, + 0x080c, 0x8566, 0x0804, 0x6ded, 0x0096, 0x00e6, 0x7824, 0x2048, + 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, + 0x70c2, 0x080c, 0x8566, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd0a4, 0x1d60, 0x00ee, 0x0e04, 0x6e8c, 0x7838, 0x7938, 0x910e, + 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, + 0x7044, 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x11ee, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd09c, 0x1170, 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x11e0, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x0c58, + 0x009e, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, + 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1120, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, + 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, + 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, + 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, + 0x6f26, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, 0xd09c, 0x11b0, + 0x701c, 0x904d, 0x0198, 0xa84c, 0x9005, 0x1180, 0x7010, 0x8001, + 0x7012, 0x1108, 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, + 0x9094, 0x0780, 0x190c, 0x70f5, 0xd09c, 0x0d50, 0x782c, 0x9094, + 0x0780, 0x190c, 0x70f5, 0xd0a4, 0x05a8, 0x00e6, 0x7824, 0x2048, + 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, + 0x70c2, 0x080c, 0x8566, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd0a4, 0x1d60, 0x00ee, 0x0e04, 0x6f1f, 0x7838, 0x7938, 0x910e, + 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, + 0x7044, 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x11ee, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, + 0xc085, 0x7046, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, + 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, + 0x00ee, 0x0804, 0x6ec9, 0x2071, 0x1910, 0xa803, 0x0000, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1128, 0x1e04, 0x6f66, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70c0, - 0x9200, 0x70c2, 0x080c, 0x8532, 0x002e, 0x00ee, 0x0005, 0x0006, - 0xa87c, 0x0006, 0xa867, 0x0103, 0x20a9, 0x001c, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x001d, 0x20a0, 0x9006, 0x4004, 0x000e, 0x9084, - 0x00ff, 0xa87e, 0x000e, 0xa87a, 0xa982, 0x0005, 0x2071, 0x1910, - 0x7004, 0x0002, 0x6fd0, 0x6fd1, 0x70bc, 0x6fd1, 0x0d7d, 0x70bc, - 0x0005, 0x2001, 0x1947, 0x2004, 0x0002, 0x6fdb, 0x6fdb, 0x7055, - 0x7056, 0x6fdb, 0x7056, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x70dc, - 0x701c, 0x904d, 0x0508, 0xa84c, 0x9005, 0x0904, 0x7026, 0x0e04, - 0x7004, 0xa94c, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, - 0x7086, 0x7036, 0xa870, 0x708a, 0xa850, 0x9082, 0x0019, 0x1278, - 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, - 0x2071, 0x1910, 0x080c, 0x70bd, 0x012e, 0x0804, 0x7054, 0xa850, - 0x9082, 0x001c, 0x1e68, 0xa880, 0x708e, 0x7036, 0x0146, 0x01d6, - 0x0136, 0x01c6, 0x0156, 0x20e9, 0x0000, 0x20a1, 0x002a, 0xa868, - 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x4003, - 0x015e, 0x01ce, 0x013e, 0x01de, 0x014e, 0x0890, 0x2001, 0x005b, - 0x2004, 0x9094, 0x0780, 0x190c, 0x70d1, 0xd09c, 0x2071, 0x1910, - 0x1510, 0x2071, 0x1910, 0x700f, 0x0001, 0xa964, 0x9184, 0x00ff, - 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, - 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, 0x2071, - 0x1910, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, - 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x00d6, 0x2008, - 0x2069, 0x1a02, 0x683c, 0x9005, 0x0760, 0x0158, 0x9186, 0x0003, - 0x0540, 0x2001, 0x1815, 0x2004, 0x2009, 0x1b4d, 0x210c, 0x9102, - 0x1500, 0x0126, 0x2091, 0x8000, 0x2069, 0x0050, 0x693c, 0x6838, - 0x9106, 0x0190, 0x0e04, 0x7088, 0x2069, 0x0000, 0x6837, 0x8040, - 0x6833, 0x0012, 0x6883, 0x8040, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x11e1, 0x2069, 0x1a02, 0x683f, 0xffff, - 0x012e, 0x00de, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x7142, 0x701c, - 0x904d, 0x0540, 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x15c9, - 0xd09c, 0x1500, 0x2071, 0x1910, 0x700f, 0x0001, 0xa964, 0x9184, - 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, - 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, - 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, - 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x0126, 0x2091, 0x8000, - 0x701c, 0x904d, 0x0160, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, - 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, 0x106c, 0x0005, 0x012e, - 0x0005, 0x2091, 0x8000, 0x0e04, 0x70d3, 0x0006, 0x0016, 0x2001, - 0x8004, 0x0006, 0x0804, 0x0d86, 0x0096, 0x00f6, 0x2079, 0x0050, - 0x7044, 0xd084, 0x01c0, 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, - 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, - 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, - 0x00fe, 0x009e, 0x0005, 0x782c, 0x9094, 0x0780, 0x1991, 0xd0a4, - 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x00e6, 0x2071, 0x0040, - 0x712c, 0xd19c, 0x1170, 0x2009, 0x1830, 0x210c, 0x918a, 0x0020, - 0x0240, 0x7022, 0x2001, 0x1dc0, 0x200c, 0x8108, 0x2102, 0x00ee, - 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, - 0x8000, 0x70c2, 0x080c, 0x8532, 0x782c, 0x9094, 0x0780, 0x190c, - 0x70d1, 0xd0a4, 0x19c8, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, - 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, 0x00ee, 0x00fe, - 0x009e, 0x0005, 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, - 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, - 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x190c, 0x11e1, 0x00fe, 0x0005, 0x782c, - 0x9094, 0x0780, 0x190c, 0x70d1, 0xd0a4, 0x0db8, 0x00e6, 0x2071, - 0x1800, 0x7824, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70c0, - 0x8000, 0x70c2, 0x080c, 0x8532, 0x782c, 0x9094, 0x0780, 0x190c, - 0x70d1, 0xd0a4, 0x1d70, 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, - 0x1947, 0x6808, 0x690a, 0x2069, 0x1a02, 0x9102, 0x1118, 0x683c, - 0x9005, 0x1328, 0x2001, 0x1948, 0x200c, 0x810d, 0x693e, 0x00de, - 0x00ee, 0x00fe, 0x0005, 0x7098, 0x908a, 0x0029, 0x1a0c, 0x0d7d, - 0x9082, 0x001d, 0x003b, 0x0026, 0x2011, 0x1e00, 0x080c, 0x2a63, - 0x002e, 0x0005, 0x726e, 0x71f4, 0x7210, 0x723a, 0x725d, 0x729d, - 0x72af, 0x7210, 0x7285, 0x71af, 0x71dd, 0x71ae, 0x0005, 0x00d6, - 0x2069, 0x0200, 0x6804, 0x9005, 0x1180, 0x6808, 0x9005, 0x1518, - 0x709b, 0x0028, 0x2069, 0x198e, 0x2d04, 0x7002, 0x080c, 0x760a, - 0x6028, 0x9085, 0x0600, 0x602a, 0x00b0, 0x709b, 0x0028, 0x2069, - 0x198e, 0x2d04, 0x7002, 0x6028, 0x9085, 0x0600, 0x602a, 0x00e6, - 0x0036, 0x0046, 0x0056, 0x2071, 0x1a6a, 0x080c, 0x1ac2, 0x005e, - 0x004e, 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, 0x2069, 0x0200, - 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, 0x709b, 0x0028, - 0x2069, 0x198e, 0x2d04, 0x7002, 0x080c, 0x76ad, 0x6028, 0x9085, - 0x0600, 0x602a, 0x00de, 0x0005, 0x0006, 0x2001, 0x0090, 0x080c, - 0x2a29, 0x000e, 0x6124, 0xd1e4, 0x1190, 0x080c, 0x7320, 0xd1d4, - 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x709b, 0x0020, 0x080c, - 0x7320, 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, - 0x2001, 0x0088, 0x080c, 0x2a29, 0x6124, 0xd1cc, 0x11e8, 0xd1dc, - 0x11c0, 0xd1e4, 0x1198, 0x9184, 0x1e00, 0x11d8, 0x080c, 0x1aec, - 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x74f4, 0x2001, - 0x0080, 0x080c, 0x2a29, 0x709b, 0x0028, 0x0058, 0x709b, 0x001e, - 0x0040, 0x709b, 0x001d, 0x0028, 0x709b, 0x0020, 0x0010, 0x709b, - 0x001f, 0x0005, 0x080c, 0x1aec, 0x60e3, 0x0001, 0x600c, 0xc0b4, - 0x600e, 0x080c, 0x74f4, 0x2001, 0x0080, 0x080c, 0x2a29, 0x6124, - 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, 0x9184, 0x1e00, - 0x1158, 0x709b, 0x0028, 0x0040, 0x709b, 0x001e, 0x0028, 0x709b, - 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, 0x2001, 0x00a0, 0x080c, - 0x2a29, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, 0x1aec, - 0x709b, 0x001e, 0x0010, 0x709b, 0x001d, 0x0005, 0x080c, 0x73a9, - 0x6124, 0xd1dc, 0x1188, 0x080c, 0x7320, 0x0016, 0x080c, 0x1aec, - 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x709b, 0x001e, 0x0020, - 0x709b, 0x001f, 0x080c, 0x7320, 0x0005, 0x0006, 0x2001, 0x00a0, - 0x080c, 0x2a29, 0x000e, 0x6124, 0xd1d4, 0x1160, 0xd1cc, 0x1150, - 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x709b, 0x001e, 0x0028, 0x709b, - 0x001d, 0x0010, 0x709b, 0x0021, 0x0005, 0x080c, 0x73a9, 0x6124, - 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x709b, 0x001e, - 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, 0x0005, 0x0006, - 0x2001, 0x0090, 0x080c, 0x2a29, 0x000e, 0x6124, 0xd1d4, 0x1178, - 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x709b, 0x001e, - 0x0040, 0x709b, 0x001d, 0x0028, 0x709b, 0x0020, 0x0010, 0x709b, - 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, 0x2061, - 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x080c, - 0x74c8, 0x11f8, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x01d0, 0xc1b4, - 0x2102, 0x0026, 0x2011, 0x0200, 0x080c, 0x2a63, 0x002e, 0x080c, - 0x2a0f, 0x6024, 0xd0cc, 0x0148, 0x2001, 0x00a0, 0x080c, 0x2a29, - 0x080c, 0x77cc, 0x080c, 0x6024, 0x0428, 0x6028, 0xc0cd, 0x602a, - 0x0408, 0x080c, 0x74e2, 0x0150, 0x080c, 0x74d9, 0x1138, 0x2001, - 0x0001, 0x080c, 0x25b9, 0x080c, 0x749c, 0x00a0, 0x080c, 0x73a6, - 0x0178, 0x2001, 0x0001, 0x080c, 0x25b9, 0x7098, 0x9086, 0x001e, - 0x0120, 0x7098, 0x9086, 0x0022, 0x1118, 0x709b, 0x0025, 0x0010, - 0x709b, 0x0021, 0x012e, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, - 0x0026, 0x2011, 0x7331, 0x080c, 0x8729, 0x002e, 0x0016, 0x0026, - 0x2009, 0x0064, 0x2011, 0x7331, 0x080c, 0x8720, 0x002e, 0x001e, - 0x0005, 0x00e6, 0x00f6, 0x0016, 0x080c, 0x9e16, 0x2071, 0x1800, - 0x080c, 0x72ca, 0x001e, 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, - 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0126, 0x080c, 0x9e16, - 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, - 0x6028, 0xc09c, 0x602a, 0x080c, 0xa888, 0x2011, 0x0003, 0x080c, - 0xa1b1, 0x2011, 0x0002, 0x080c, 0xa1bb, 0x080c, 0xa07a, 0x080c, - 0x86d5, 0x0036, 0x901e, 0x080c, 0xa0fa, 0x003e, 0x080c, 0xa8a4, - 0x60e3, 0x0000, 0x080c, 0xe712, 0x080c, 0xe72d, 0x2009, 0x0004, - 0x080c, 0x2a15, 0x080c, 0x292f, 0x2001, 0x1800, 0x2003, 0x0004, - 0x2011, 0x0008, 0x080c, 0x2a63, 0x2011, 0x7331, 0x080c, 0x8729, - 0x080c, 0x74e2, 0x0118, 0x9006, 0x080c, 0x2a29, 0x080c, 0x0bc3, - 0x2001, 0x0001, 0x080c, 0x25b9, 0x012e, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, - 0x733e, 0x2071, 0x1a02, 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, - 0x0110, 0x9085, 0x0001, 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, - 0x0005, 0x6800, 0x9084, 0xfffe, 0x9086, 0x00c0, 0x01b8, 0x2001, - 0x00c0, 0x080c, 0x2a29, 0x0156, 0x20a9, 0x002d, 0x1d04, 0x73b6, - 0x2091, 0x6000, 0x1f04, 0x73b6, 0x015e, 0x00d6, 0x2069, 0x1800, - 0x689c, 0x8001, 0x0220, 0x0118, 0x689e, 0x00de, 0x0005, 0x689f, - 0x0014, 0x68ec, 0xd0dc, 0x0dc8, 0x6800, 0x9086, 0x0001, 0x1da8, - 0x080c, 0x8735, 0x0c90, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, - 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x77db, 0x2001, 0x196c, - 0x2003, 0x0000, 0x9006, 0x709a, 0x60e2, 0x6886, 0x080c, 0x2688, - 0x9006, 0x080c, 0x2a29, 0x080c, 0x5edf, 0x0026, 0x2011, 0xffff, - 0x080c, 0x2a63, 0x002e, 0x602b, 0x182c, 0x00ee, 0x00de, 0x00ce, - 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, - 0x2071, 0x1800, 0x2001, 0x197c, 0x200c, 0x9186, 0x0000, 0x0158, - 0x9186, 0x0001, 0x0158, 0x9186, 0x0002, 0x0158, 0x9186, 0x0003, - 0x0158, 0x0804, 0x748c, 0x709b, 0x0022, 0x0040, 0x709b, 0x0021, - 0x0028, 0x709b, 0x0023, 0x0010, 0x709b, 0x0024, 0x60e3, 0x0000, - 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x2688, 0x080c, 0xa888, - 0x0026, 0x080c, 0xab50, 0x002e, 0x080c, 0xa8a4, 0x7000, 0x908e, - 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, 0x0020, 0x0156, - 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, 0xd0ac, 0x0150, - 0x012e, 0x015e, 0x080c, 0xcf51, 0x0118, 0x9006, 0x080c, 0x2a53, - 0x0804, 0x7498, 0x6800, 0x9084, 0x00a1, 0xc0bd, 0x6802, 0x080c, - 0x2a0f, 0x6904, 0xd1d4, 0x1140, 0x2001, 0x0100, 0x080c, 0x2a29, - 0x1f04, 0x743d, 0x080c, 0x751f, 0x012e, 0x015e, 0x080c, 0x74d9, - 0x0170, 0x6044, 0x9005, 0x0130, 0x080c, 0x751f, 0x9006, 0x8001, - 0x1df0, 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, 0x751f, 0x080c, - 0xcf51, 0x0118, 0x9006, 0x080c, 0x2a53, 0x0016, 0x0026, 0x7000, - 0x908e, 0x0004, 0x0130, 0x2009, 0x00c8, 0x2011, 0x733e, 0x080c, - 0x86e7, 0x002e, 0x001e, 0x080c, 0x8529, 0x7034, 0xc085, 0x7036, - 0x2001, 0x197c, 0x2003, 0x0004, 0x080c, 0x7193, 0x080c, 0x74d9, - 0x0138, 0x6804, 0xd0d4, 0x1120, 0xd0dc, 0x1100, 0x080c, 0x77d1, - 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, - 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x8540, 0x080c, - 0x8532, 0x080c, 0x77db, 0x2001, 0x196c, 0x2003, 0x0000, 0x9006, - 0x709a, 0x60e2, 0x6886, 0x080c, 0x2688, 0x9006, 0x080c, 0x2a29, - 0x6043, 0x0090, 0x6043, 0x0010, 0x0026, 0x2011, 0xffff, 0x080c, - 0x2a63, 0x002e, 0x602b, 0x182c, 0x00ee, 0x00de, 0x00ce, 0x0005, - 0x0006, 0x2001, 0x197b, 0x2004, 0x9086, 0xaaaa, 0x000e, 0x0005, - 0x0006, 0x080c, 0x56d9, 0x9084, 0x0030, 0x9086, 0x0000, 0x000e, - 0x0005, 0x0006, 0x080c, 0x56d9, 0x9084, 0x0030, 0x9086, 0x0030, - 0x000e, 0x0005, 0x0006, 0x080c, 0x56d9, 0x9084, 0x0030, 0x9086, - 0x0010, 0x000e, 0x0005, 0x0006, 0x080c, 0x56d9, 0x9084, 0x0030, - 0x9086, 0x0020, 0x000e, 0x0005, 0x0036, 0x0016, 0x2001, 0x180c, - 0x2004, 0x908c, 0x0013, 0x0180, 0x0020, 0x080c, 0x26a8, 0x900e, - 0x0028, 0x080c, 0x6a62, 0x1dc8, 0x2009, 0x0002, 0x2019, 0x0028, - 0x080c, 0x31b4, 0x9006, 0x0019, 0x001e, 0x003e, 0x0005, 0x00e6, - 0x2071, 0x180c, 0x2e04, 0x0130, 0x080c, 0xcf4a, 0x1128, 0x9085, - 0x0010, 0x0010, 0x9084, 0xffef, 0x2072, 0x00ee, 0x0005, 0x6050, - 0x0006, 0x60ec, 0x0006, 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, - 0x0006, 0x602f, 0x0100, 0x602f, 0x0000, 0x602f, 0x0040, 0x602f, - 0x0000, 0x20a9, 0x0002, 0x080c, 0x29f0, 0x0026, 0x2011, 0x0040, - 0x080c, 0x2a63, 0x002e, 0x000e, 0x602a, 0x000e, 0x6006, 0x000e, + 0x9200, 0x70c2, 0x080c, 0x8566, 0x0e04, 0x6f50, 0x2071, 0x1910, + 0x701c, 0x2048, 0xa84c, 0x900d, 0x0d18, 0x2071, 0x0000, 0x7182, + 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0xa850, + 0x9082, 0x0019, 0x1278, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, + 0xd084, 0x190c, 0x11ee, 0x2071, 0x1910, 0x080c, 0x70e1, 0x002e, + 0x00ee, 0x0005, 0xa850, 0x9082, 0x001c, 0x1e68, 0xa880, 0x708e, + 0x7036, 0x0146, 0x01d6, 0x0136, 0x01c6, 0x0156, 0x20e9, 0x0000, + 0x20a1, 0x002a, 0xa868, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x0021, 0x2098, 0x4003, 0x015e, 0x01ce, 0x013e, 0x01de, 0x014e, + 0x0890, 0x2071, 0x1910, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, + 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, + 0x2148, 0xa804, 0x900d, 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, + 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70c0, 0x9200, 0x70c2, 0x080c, 0x8566, + 0x002e, 0x00ee, 0x0005, 0x0006, 0xa87c, 0x0006, 0xa867, 0x0103, + 0x20a9, 0x001c, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001d, 0x20a0, + 0x9006, 0x4004, 0x000e, 0x9084, 0x00ff, 0xa87e, 0x000e, 0xa87a, + 0xa982, 0x0005, 0x2071, 0x1910, 0x7004, 0x0002, 0x6ff4, 0x6ff5, + 0x70e0, 0x6ff5, 0x0d7d, 0x70e0, 0x0005, 0x2001, 0x1947, 0x2004, + 0x0002, 0x6fff, 0x6fff, 0x7079, 0x707a, 0x6fff, 0x707a, 0x0126, + 0x2091, 0x8000, 0x1e0c, 0x7100, 0x701c, 0x904d, 0x0508, 0xa84c, + 0x9005, 0x0904, 0x704a, 0x0e04, 0x7028, 0xa94c, 0x2071, 0x0000, + 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, + 0xa850, 0x9082, 0x0019, 0x1278, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x11ee, 0x2071, 0x1910, 0x080c, 0x70e1, + 0x012e, 0x0804, 0x7078, 0xa850, 0x9082, 0x001c, 0x1e68, 0xa880, + 0x708e, 0x7036, 0x0146, 0x01d6, 0x0136, 0x01c6, 0x0156, 0x20e9, + 0x0000, 0x20a1, 0x002a, 0xa868, 0x20a8, 0xa860, 0x20e0, 0xa85c, + 0x9080, 0x0021, 0x2098, 0x4003, 0x015e, 0x01ce, 0x013e, 0x01de, + 0x014e, 0x0890, 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, + 0x70f5, 0xd09c, 0x2071, 0x1910, 0x1510, 0x2071, 0x1910, 0x700f, + 0x0001, 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, + 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, + 0x0050, 0x6822, 0x00de, 0x2071, 0x1910, 0x701c, 0x2048, 0x7010, + 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, + 0x0005, 0x0005, 0x00d6, 0x2008, 0x2069, 0x1a02, 0x683c, 0x9005, + 0x0760, 0x0158, 0x9186, 0x0003, 0x0540, 0x2001, 0x1815, 0x2004, + 0x2009, 0x1b4d, 0x210c, 0x9102, 0x1500, 0x0126, 0x2091, 0x8000, + 0x2069, 0x0050, 0x693c, 0x6838, 0x9106, 0x0190, 0x0e04, 0x70ac, + 0x2069, 0x0000, 0x6837, 0x8040, 0x6833, 0x0012, 0x6883, 0x8040, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11ee, + 0x2069, 0x1a02, 0x683f, 0xffff, 0x012e, 0x00de, 0x0126, 0x2091, + 0x8000, 0x1e0c, 0x7166, 0x701c, 0x904d, 0x0540, 0x2001, 0x005b, + 0x2004, 0x9094, 0x0780, 0x15c9, 0xd09c, 0x1500, 0x2071, 0x1910, + 0x700f, 0x0001, 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, + 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, + 0x2069, 0x0050, 0x6822, 0x00de, 0x701c, 0x2048, 0x7010, 0x8001, + 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, + 0x0005, 0x0126, 0x2091, 0x8000, 0x701c, 0x904d, 0x0160, 0x7010, + 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, + 0x080c, 0x1079, 0x0005, 0x012e, 0x0005, 0x2091, 0x8000, 0x0e04, + 0x70f7, 0x0006, 0x0016, 0x2001, 0x8004, 0x0006, 0x0804, 0x0d86, + 0x0096, 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01c0, 0xc084, + 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, + 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x11ee, 0x00fe, 0x009e, 0x0005, 0x782c, + 0x9094, 0x0780, 0x1991, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, + 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1170, 0x2009, + 0x1830, 0x210c, 0x918a, 0x0020, 0x0240, 0x7022, 0x2001, 0x1dc0, + 0x200c, 0x8108, 0x2102, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8566, + 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, 0xd0a4, 0x19c8, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x11ee, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x00f6, 0x2079, + 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, 0x7838, 0x7938, + 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, + 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x11ee, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, + 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x2048, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70c0, 0x8000, 0x70c2, 0x080c, 0x8566, + 0x782c, 0x9094, 0x0780, 0x190c, 0x70f5, 0xd0a4, 0x1d70, 0x00d6, + 0x2069, 0x0050, 0x693c, 0x2069, 0x1947, 0x6808, 0x690a, 0x2069, + 0x1a02, 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, 0x2001, 0x1948, + 0x200c, 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x7098, + 0x908a, 0x0029, 0x1a0c, 0x0d7d, 0x9082, 0x001d, 0x003b, 0x0026, + 0x2011, 0x1e00, 0x080c, 0x2a83, 0x002e, 0x0005, 0x7292, 0x7218, + 0x7234, 0x725e, 0x7281, 0x72c1, 0x72d3, 0x7234, 0x72a9, 0x71d3, + 0x7201, 0x71d2, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, + 0x1180, 0x6808, 0x9005, 0x1518, 0x709b, 0x0028, 0x2069, 0x198e, + 0x2d04, 0x7002, 0x080c, 0x762d, 0x6028, 0x9085, 0x0600, 0x602a, + 0x00b0, 0x709b, 0x0028, 0x2069, 0x198e, 0x2d04, 0x7002, 0x6028, + 0x9085, 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, + 0x1a6a, 0x080c, 0x1adf, 0x005e, 0x004e, 0x003e, 0x00ee, 0x00de, + 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, 0x1178, 0x6808, + 0x9005, 0x1160, 0x709b, 0x0028, 0x2069, 0x198e, 0x2d04, 0x7002, + 0x080c, 0x76d0, 0x6028, 0x9085, 0x0600, 0x602a, 0x00de, 0x0005, + 0x0006, 0x2001, 0x0090, 0x080c, 0x2a49, 0x000e, 0x6124, 0xd1e4, + 0x1190, 0x080c, 0x7344, 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, + 0x0150, 0x709b, 0x0020, 0x080c, 0x7344, 0x0028, 0x709b, 0x001d, + 0x0010, 0x709b, 0x001f, 0x0005, 0x2001, 0x0088, 0x080c, 0x2a49, + 0x6124, 0xd1cc, 0x11e8, 0xd1dc, 0x11c0, 0xd1e4, 0x1198, 0x9184, + 0x1e00, 0x11d8, 0x080c, 0x1b04, 0x60e3, 0x0001, 0x600c, 0xc0b4, + 0x600e, 0x080c, 0x7518, 0x2001, 0x0080, 0x080c, 0x2a49, 0x709b, + 0x0028, 0x0058, 0x709b, 0x001e, 0x0040, 0x709b, 0x001d, 0x0028, + 0x709b, 0x0020, 0x0010, 0x709b, 0x001f, 0x0005, 0x080c, 0x1b04, + 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x7518, 0x2001, + 0x0080, 0x080c, 0x2a49, 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, + 0xd1e4, 0x1130, 0x9184, 0x1e00, 0x1158, 0x709b, 0x0028, 0x0040, + 0x709b, 0x001e, 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x001f, + 0x0005, 0x2001, 0x00a0, 0x080c, 0x2a49, 0x6124, 0xd1dc, 0x1138, + 0xd1e4, 0x0138, 0x080c, 0x1b04, 0x709b, 0x001e, 0x0010, 0x709b, + 0x001d, 0x0005, 0x080c, 0x73cd, 0x6124, 0xd1dc, 0x1188, 0x080c, + 0x7344, 0x0016, 0x080c, 0x1b04, 0x001e, 0xd1d4, 0x1128, 0xd1e4, + 0x0138, 0x709b, 0x001e, 0x0020, 0x709b, 0x001f, 0x080c, 0x7344, + 0x0005, 0x0006, 0x2001, 0x00a0, 0x080c, 0x2a49, 0x000e, 0x6124, + 0xd1d4, 0x1160, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, + 0x709b, 0x001e, 0x0028, 0x709b, 0x001d, 0x0010, 0x709b, 0x0021, + 0x0005, 0x080c, 0x73cd, 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, + 0xd1e4, 0x0140, 0x709b, 0x001e, 0x0028, 0x709b, 0x001d, 0x0010, + 0x709b, 0x001f, 0x0005, 0x0006, 0x2001, 0x0090, 0x080c, 0x2a49, + 0x000e, 0x6124, 0xd1d4, 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, + 0xd1e4, 0x0158, 0x709b, 0x001e, 0x0040, 0x709b, 0x001d, 0x0028, + 0x709b, 0x0020, 0x0010, 0x709b, 0x001f, 0x0005, 0x0016, 0x00c6, + 0x00d6, 0x00e6, 0x0126, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, + 0x1800, 0x2091, 0x8000, 0x080c, 0x74ec, 0x11f8, 0x2001, 0x180c, + 0x200c, 0xd1b4, 0x01d0, 0xc1b4, 0x2102, 0x0026, 0x2011, 0x0200, + 0x080c, 0x2a83, 0x002e, 0x080c, 0x2a2f, 0x6024, 0xd0cc, 0x0148, + 0x2001, 0x00a0, 0x080c, 0x2a49, 0x080c, 0x77ef, 0x080c, 0x6044, + 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, 0x7506, 0x0150, + 0x080c, 0x74fd, 0x1138, 0x2001, 0x0001, 0x080c, 0x25d5, 0x080c, + 0x74c0, 0x00a0, 0x080c, 0x73ca, 0x0178, 0x2001, 0x0001, 0x080c, + 0x25d5, 0x7098, 0x9086, 0x001e, 0x0120, 0x7098, 0x9086, 0x0022, + 0x1118, 0x709b, 0x0025, 0x0010, 0x709b, 0x0021, 0x012e, 0x00ee, + 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, 0x7355, 0x080c, + 0x875d, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, 0x2011, 0x7355, + 0x080c, 0x8754, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00f6, 0x0016, + 0x080c, 0x9e4f, 0x2071, 0x1800, 0x080c, 0x72ee, 0x001e, 0x00fe, + 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, + 0x00f6, 0x0126, 0x080c, 0x9e4f, 0x2061, 0x0100, 0x2069, 0x0140, + 0x2071, 0x1800, 0x2091, 0x8000, 0x6028, 0xc09c, 0x602a, 0x080c, + 0xa899, 0x2011, 0x0003, 0x080c, 0xa1be, 0x2011, 0x0002, 0x080c, + 0xa1c8, 0x080c, 0xa0b3, 0x080c, 0x8709, 0x0036, 0x901e, 0x080c, + 0xa133, 0x003e, 0x080c, 0xa8b5, 0x60e3, 0x0000, 0x080c, 0xe74f, + 0x080c, 0xe76a, 0x2009, 0x0004, 0x080c, 0x2a35, 0x080c, 0x294b, + 0x2001, 0x1800, 0x2003, 0x0004, 0x2011, 0x0008, 0x080c, 0x2a83, + 0x2011, 0x7355, 0x080c, 0x875d, 0x080c, 0x7506, 0x0118, 0x9006, + 0x080c, 0x2a49, 0x080c, 0x0bc3, 0x2001, 0x0001, 0x080c, 0x25d5, + 0x012e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, + 0x0005, 0x0026, 0x00e6, 0x2011, 0x7362, 0x2071, 0x1a02, 0x701c, + 0x9206, 0x1118, 0x7018, 0x9005, 0x0110, 0x9085, 0x0001, 0x00ee, + 0x002e, 0x0005, 0x6020, 0xd09c, 0x0005, 0x6800, 0x9084, 0xfffe, + 0x9086, 0x00c0, 0x01b8, 0x2001, 0x00c0, 0x080c, 0x2a49, 0x0156, + 0x20a9, 0x002d, 0x1d04, 0x73da, 0x2091, 0x6000, 0x1f04, 0x73da, + 0x015e, 0x00d6, 0x2069, 0x1800, 0x689c, 0x8001, 0x0220, 0x0118, + 0x689e, 0x00de, 0x0005, 0x689f, 0x0014, 0x68ec, 0xd0dc, 0x0dc8, + 0x6800, 0x9086, 0x0001, 0x1da8, 0x080c, 0x8769, 0x0c90, 0x00c6, + 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, + 0x080c, 0x77fe, 0x2001, 0x196c, 0x2003, 0x0000, 0x9006, 0x709a, + 0x60e2, 0x6886, 0x080c, 0x26a4, 0x9006, 0x080c, 0x2a49, 0x080c, + 0x5eff, 0x0026, 0x2011, 0xffff, 0x080c, 0x2a83, 0x002e, 0x602b, + 0x182c, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2001, 0x197c, + 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, 0x0158, 0x9186, + 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, 0x74b0, 0x709b, + 0x0022, 0x0040, 0x709b, 0x0021, 0x0028, 0x709b, 0x0023, 0x0010, + 0x709b, 0x0024, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, + 0x080c, 0x26a4, 0x080c, 0xa899, 0x0026, 0x080c, 0xab61, 0x002e, + 0x080c, 0xa8b5, 0x7000, 0x908e, 0x0004, 0x0118, 0x602b, 0x0028, + 0x0010, 0x602b, 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, 0x20a9, + 0x0005, 0x6024, 0xd0ac, 0x0150, 0x012e, 0x015e, 0x080c, 0xcf84, + 0x0118, 0x9006, 0x080c, 0x2a73, 0x0804, 0x74bc, 0x6800, 0x9084, + 0x00a1, 0xc0bd, 0x6802, 0x080c, 0x2a2f, 0x6904, 0xd1d4, 0x1140, + 0x2001, 0x0100, 0x080c, 0x2a49, 0x1f04, 0x7461, 0x080c, 0x7543, + 0x012e, 0x015e, 0x080c, 0x74fd, 0x0170, 0x6044, 0x9005, 0x0130, + 0x080c, 0x7543, 0x9006, 0x8001, 0x1df0, 0x0028, 0x6804, 0xd0d4, + 0x1110, 0x080c, 0x7543, 0x080c, 0xcf84, 0x0118, 0x9006, 0x080c, + 0x2a73, 0x0016, 0x0026, 0x7000, 0x908e, 0x0004, 0x0130, 0x2009, + 0x00c8, 0x2011, 0x7362, 0x080c, 0x871b, 0x002e, 0x001e, 0x080c, + 0x855d, 0x7034, 0xc085, 0x7036, 0x2001, 0x197c, 0x2003, 0x0004, + 0x080c, 0x71b7, 0x080c, 0x74fd, 0x0138, 0x6804, 0xd0d4, 0x1120, + 0xd0dc, 0x1100, 0x080c, 0x77f4, 0x00ee, 0x00de, 0x00ce, 0x0005, + 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, + 0x1800, 0x080c, 0x8574, 0x080c, 0x8566, 0x080c, 0x77fe, 0x2001, + 0x196c, 0x2003, 0x0000, 0x9006, 0x709a, 0x60e2, 0x6886, 0x080c, + 0x26a4, 0x9006, 0x080c, 0x2a49, 0x6043, 0x0090, 0x6043, 0x0010, + 0x0026, 0x2011, 0xffff, 0x080c, 0x2a83, 0x002e, 0x602b, 0x182c, + 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0006, 0x2001, 0x197b, 0x2004, + 0x9086, 0xaaaa, 0x000e, 0x0005, 0x0006, 0x080c, 0x56f9, 0x9084, + 0x0030, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, 0x080c, 0x56f9, + 0x9084, 0x0030, 0x9086, 0x0030, 0x000e, 0x0005, 0x0006, 0x080c, + 0x56f9, 0x9084, 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, 0x0006, + 0x080c, 0x56f9, 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, + 0x0036, 0x0016, 0x2001, 0x180c, 0x2004, 0x908c, 0x0013, 0x0180, + 0x0020, 0x080c, 0x26c4, 0x900e, 0x0028, 0x080c, 0x6a86, 0x1dc8, + 0x2009, 0x0002, 0x2019, 0x0028, 0x080c, 0x31d4, 0x9006, 0x0019, + 0x001e, 0x003e, 0x0005, 0x00e6, 0x2071, 0x180c, 0x2e04, 0x0130, + 0x080c, 0xcf7d, 0x1128, 0x9085, 0x0010, 0x0010, 0x9084, 0xffef, + 0x2072, 0x00ee, 0x0005, 0x6050, 0x0006, 0x60ec, 0x0006, 0x600c, + 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, 0x080c, 0x2aa6, 0x080c, + 0x2ad9, 0x602f, 0x0100, 0x602f, 0x0000, 0x602f, 0x0040, 0x602f, + 0x0000, 0x20a9, 0x0002, 0x080c, 0x2a10, 0x0026, 0x2011, 0x0040, + 0x080c, 0x2a83, 0x002e, 0x000e, 0x602a, 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, - 0x0001, 0x080c, 0x2688, 0x2001, 0x00a0, 0x0006, 0x080c, 0xcf51, - 0x000e, 0x0130, 0x080c, 0x2a47, 0x9006, 0x080c, 0x2a53, 0x0010, - 0x080c, 0x2a29, 0x000e, 0x6052, 0x6050, 0x0006, 0xc0e5, 0x6052, - 0x00f6, 0x2079, 0x0100, 0x080c, 0x29a0, 0x00fe, 0x000e, 0x6052, + 0x0001, 0x080c, 0x26a4, 0x2001, 0x00a0, 0x0006, 0x080c, 0xcf84, + 0x000e, 0x0130, 0x080c, 0x2a67, 0x9006, 0x080c, 0x2a73, 0x0010, + 0x080c, 0x2a49, 0x000e, 0x6052, 0x6050, 0x0006, 0xc0e5, 0x6052, + 0x00f6, 0x2079, 0x0100, 0x080c, 0x29bc, 0x00fe, 0x000e, 0x6052, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, - 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0xa8e6, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0xa8f7, 0x0158, 0x2001, 0x0386, 0x2004, 0xd0b4, 0x1130, 0x2001, 0x0016, - 0x080c, 0xa879, 0x0804, 0x75fc, 0x2001, 0x180c, 0x200c, 0xc1c4, + 0x080c, 0xa88a, 0x0804, 0x761f, 0x2001, 0x180c, 0x200c, 0xc1c4, 0x2102, 0x6028, 0x9084, 0xe1ff, 0x602a, 0x2011, 0x0200, 0x080c, - 0x2a63, 0x2001, 0x0090, 0x080c, 0x2a29, 0x20a9, 0x0366, 0x6024, - 0xd0cc, 0x1558, 0x1d04, 0x7597, 0x2091, 0x6000, 0x1f04, 0x7597, - 0x080c, 0xa888, 0x2011, 0x0003, 0x080c, 0xa1b1, 0x2011, 0x0002, - 0x080c, 0xa1bb, 0x080c, 0xa07a, 0x901e, 0x080c, 0xa0fa, 0x2001, - 0x0386, 0x2003, 0x7000, 0x080c, 0xa8a4, 0x2001, 0x00a0, 0x080c, - 0x2a29, 0x080c, 0x77cc, 0x080c, 0x6024, 0x080c, 0xcf51, 0x0110, - 0x080c, 0x0ce9, 0x9085, 0x0001, 0x04e8, 0x2001, 0x0386, 0x2004, - 0xd0ac, 0x0110, 0x080c, 0x1aec, 0x60e3, 0x0000, 0x2001, 0x196c, - 0x2004, 0x080c, 0x2688, 0x60e2, 0x2001, 0x0080, 0x080c, 0x2a29, - 0x20a9, 0x0366, 0x2011, 0x1e00, 0x080c, 0x2a63, 0x2009, 0x1e00, - 0x080c, 0x2a0f, 0x6024, 0x910c, 0x0140, 0x1d04, 0x75da, 0x2091, - 0x6000, 0x1f04, 0x75da, 0x0804, 0x75a0, 0x2001, 0x0386, 0x2003, - 0x7000, 0x6028, 0x9085, 0x1e00, 0x602a, 0x70b4, 0x9005, 0x1118, - 0x6887, 0x0001, 0x0008, 0x6886, 0x080c, 0xcf51, 0x0110, 0x080c, - 0x0ce9, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, - 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, - 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x7000, 0x9086, 0x0003, - 0x1168, 0x2001, 0x020b, 0x2004, 0x9084, 0x5540, 0x9086, 0x5540, - 0x1128, 0x2069, 0x1a76, 0x2d04, 0x8000, 0x206a, 0x2069, 0x0140, - 0x6020, 0x9084, 0x00c0, 0x0120, 0x6884, 0x9005, 0x1904, 0x7673, - 0x2001, 0x0088, 0x080c, 0x2a29, 0x9006, 0x60e2, 0x6886, 0x080c, - 0x2688, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, - 0x01d0, 0x6028, 0x9084, 0xfbff, 0x602a, 0x2011, 0x0400, 0x080c, - 0x2a63, 0x2069, 0x198e, 0x7000, 0x206a, 0x709b, 0x0026, 0x7003, - 0x0001, 0x20a9, 0x0002, 0x1d04, 0x7653, 0x2091, 0x6000, 0x1f04, - 0x7653, 0x0804, 0x76a5, 0x2069, 0x0140, 0x20a9, 0x0384, 0x2011, - 0x1e00, 0x080c, 0x2a63, 0x2009, 0x1e00, 0x080c, 0x2a0f, 0x6024, - 0x910c, 0x0528, 0x9084, 0x1a00, 0x1510, 0x1d04, 0x765f, 0x2091, - 0x6000, 0x1f04, 0x765f, 0x080c, 0xa888, 0x2011, 0x0003, 0x080c, - 0xa1b1, 0x2011, 0x0002, 0x080c, 0xa1bb, 0x080c, 0xa07a, 0x901e, - 0x080c, 0xa0fa, 0x080c, 0xa8a4, 0x2001, 0x00a0, 0x080c, 0x2a29, - 0x080c, 0x77cc, 0x080c, 0x6024, 0x9085, 0x0001, 0x00b0, 0x2001, - 0x0080, 0x080c, 0x2a29, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b4, - 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x196c, - 0x2004, 0x080c, 0x2688, 0x60e2, 0x9006, 0x00ee, 0x00de, 0x00ce, + 0x2a83, 0x2001, 0x0090, 0x080c, 0x2a49, 0x20a9, 0x0366, 0x6024, + 0xd0cc, 0x1558, 0x1d04, 0x75bf, 0x2091, 0x6000, 0x1f04, 0x75bf, + 0x080c, 0xa899, 0x2011, 0x0003, 0x080c, 0xa1be, 0x2011, 0x0002, + 0x080c, 0xa1c8, 0x080c, 0xa0b3, 0x901e, 0x080c, 0xa133, 0x2001, + 0x0386, 0x2003, 0x7000, 0x080c, 0xa8b5, 0x2001, 0x00a0, 0x080c, + 0x2a49, 0x080c, 0x77ef, 0x080c, 0x6044, 0x080c, 0xcf84, 0x0110, + 0x080c, 0x0ce9, 0x9085, 0x0001, 0x04c0, 0x080c, 0x1b04, 0x60e3, + 0x0000, 0x2001, 0x196c, 0x2004, 0x080c, 0x26a4, 0x60e2, 0x2001, + 0x0080, 0x080c, 0x2a49, 0x20a9, 0x0366, 0x2011, 0x1e00, 0x080c, + 0x2a83, 0x2009, 0x1e00, 0x080c, 0x2a2f, 0x6024, 0x910c, 0x0140, + 0x1d04, 0x75fd, 0x2091, 0x6000, 0x1f04, 0x75fd, 0x0804, 0x75c8, + 0x2001, 0x0386, 0x2003, 0x7000, 0x6028, 0x9085, 0x1e00, 0x602a, + 0x70b4, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x080c, + 0xcf84, 0x0110, 0x080c, 0x0ce9, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, - 0x6020, 0x9084, 0x00c0, 0x01e8, 0x080c, 0xa888, 0x2011, 0x0003, - 0x080c, 0xa1b1, 0x2011, 0x0002, 0x080c, 0xa1bb, 0x080c, 0xa07a, - 0x901e, 0x080c, 0xa0fa, 0x080c, 0xa8a4, 0x2069, 0x0140, 0x2001, - 0x00a0, 0x080c, 0x2a29, 0x080c, 0x77cc, 0x080c, 0x6024, 0x0804, - 0x7748, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x1160, 0xc1b5, 0x2102, - 0x080c, 0x7326, 0x2069, 0x0140, 0x2001, 0x0080, 0x080c, 0x2a29, - 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, - 0x9005, 0x0190, 0x6028, 0x9084, 0xfdff, 0x602a, 0x2011, 0x0200, - 0x080c, 0x2a63, 0x2069, 0x198e, 0x7000, 0x206a, 0x709b, 0x0027, - 0x7003, 0x0001, 0x0804, 0x7748, 0x2011, 0x1e00, 0x080c, 0x2a63, - 0x2009, 0x1e00, 0x080c, 0x2a0f, 0x6024, 0x910c, 0x01c8, 0x9084, - 0x1c00, 0x11b0, 0x1d04, 0x7704, 0x0006, 0x0016, 0x00c6, 0x00d6, - 0x00e6, 0x080c, 0x8571, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, - 0x00e6, 0x2071, 0x1a02, 0x7018, 0x00ee, 0x9005, 0x19e8, 0x0500, - 0x0026, 0x2011, 0x733e, 0x080c, 0x861d, 0x2011, 0x7331, 0x080c, - 0x8729, 0x002e, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b4, 0x9005, - 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x196c, 0x2004, - 0x080c, 0x2688, 0x60e2, 0x2001, 0x180c, 0x200c, 0xc1b4, 0x2102, + 0x7000, 0x9086, 0x0003, 0x1168, 0x2001, 0x020b, 0x2004, 0x9084, + 0x5540, 0x9086, 0x5540, 0x1128, 0x2069, 0x1a76, 0x2d04, 0x8000, + 0x206a, 0x2069, 0x0140, 0x6020, 0x9084, 0x00c0, 0x0120, 0x6884, + 0x9005, 0x1904, 0x7696, 0x2001, 0x0088, 0x080c, 0x2a49, 0x9006, + 0x60e2, 0x6886, 0x080c, 0x26a4, 0x2069, 0x0200, 0x6804, 0x9005, + 0x1118, 0x6808, 0x9005, 0x01d0, 0x6028, 0x9084, 0xfbff, 0x602a, + 0x2011, 0x0400, 0x080c, 0x2a83, 0x2069, 0x198e, 0x7000, 0x206a, + 0x709b, 0x0026, 0x7003, 0x0001, 0x20a9, 0x0002, 0x1d04, 0x7676, + 0x2091, 0x6000, 0x1f04, 0x7676, 0x0804, 0x76c8, 0x2069, 0x0140, + 0x20a9, 0x0384, 0x2011, 0x1e00, 0x080c, 0x2a83, 0x2009, 0x1e00, + 0x080c, 0x2a2f, 0x6024, 0x910c, 0x0528, 0x9084, 0x1a00, 0x1510, + 0x1d04, 0x7682, 0x2091, 0x6000, 0x1f04, 0x7682, 0x080c, 0xa899, + 0x2011, 0x0003, 0x080c, 0xa1be, 0x2011, 0x0002, 0x080c, 0xa1c8, + 0x080c, 0xa0b3, 0x901e, 0x080c, 0xa133, 0x080c, 0xa8b5, 0x2001, + 0x00a0, 0x080c, 0x2a49, 0x080c, 0x77ef, 0x080c, 0x6044, 0x9085, + 0x0001, 0x00b0, 0x2001, 0x0080, 0x080c, 0x2a49, 0x2069, 0x0140, + 0x60e3, 0x0000, 0x70b4, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, + 0x6886, 0x2001, 0x196c, 0x2004, 0x080c, 0x26a4, 0x60e2, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, - 0x0156, 0x0016, 0x0026, 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, - 0x0100, 0x2071, 0x1800, 0x080c, 0xcf4a, 0x1904, 0x77b6, 0x7130, - 0xd184, 0x1170, 0x080c, 0x335c, 0x0138, 0xc18d, 0x7132, 0x2011, - 0x1848, 0x2214, 0xd2ac, 0x1120, 0x7030, 0xd08c, 0x0904, 0x77b6, - 0x2011, 0x1848, 0x220c, 0xd1a4, 0x0538, 0x0016, 0x2019, 0x000e, - 0x080c, 0xe249, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x9186, - 0x007e, 0x01a0, 0x9186, 0x0080, 0x0188, 0x080c, 0x6620, 0x1170, - 0x2120, 0x9006, 0x0016, 0x2009, 0x000e, 0x080c, 0xe2d9, 0x2009, - 0x0001, 0x2011, 0x0100, 0x080c, 0x88ce, 0x001e, 0x8108, 0x1f04, - 0x777f, 0x00be, 0x015e, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, - 0x0002, 0x2019, 0x0004, 0x080c, 0x31b4, 0x001e, 0x0078, 0x0156, - 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x6620, 0x1110, 0x080c, - 0x603e, 0x8108, 0x1f04, 0x77ac, 0x00be, 0x015e, 0x080c, 0x1aec, - 0x080c, 0xa888, 0x080c, 0xab50, 0x080c, 0xa8a4, 0x60e3, 0x0000, - 0x080c, 0x6024, 0x080c, 0x73f9, 0x00ee, 0x00ce, 0x004e, 0x003e, - 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, 0x197c, 0x2003, 0x0001, - 0x0005, 0x2001, 0x197c, 0x2003, 0x0000, 0x0005, 0x2001, 0x197b, - 0x2003, 0xaaaa, 0x0005, 0x2001, 0x197b, 0x2003, 0x0000, 0x0005, - 0x2071, 0x18fa, 0x7003, 0x0000, 0x7007, 0x0000, 0x080c, 0x1053, - 0x090c, 0x0d7d, 0xa8ab, 0xdcb0, 0x2900, 0x704e, 0x080c, 0x1053, - 0x090c, 0x0d7d, 0xa8ab, 0xdcb0, 0x2900, 0x7052, 0xa867, 0x0000, - 0xa86b, 0x0001, 0xa89f, 0x0000, 0x0005, 0x00e6, 0x2071, 0x0040, - 0x6848, 0x9005, 0x1118, 0x9085, 0x0001, 0x04b0, 0x6840, 0x9005, - 0x0150, 0x04a1, 0x6a50, 0x9200, 0x7002, 0x6854, 0x9101, 0x7006, - 0x9006, 0x7012, 0x7016, 0x6850, 0x7002, 0x6854, 0x7006, 0x6858, - 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, 0x1110, 0x7012, 0x7016, - 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x2001, 0x0019, - 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, 0x200c, 0x918c, 0xfff7, - 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, 0x18fa, 0x6807, 0x0001, - 0x00de, 0x080c, 0x7dc3, 0x9006, 0x00ee, 0x0005, 0x900e, 0x0156, - 0x20a9, 0x0006, 0x8003, 0x818d, 0x1f04, 0x7842, 0x015e, 0x0005, - 0x2079, 0x0040, 0x2071, 0x18fa, 0x7004, 0x0002, 0x7858, 0x7859, - 0x78a4, 0x78ff, 0x7a0f, 0x7856, 0x7856, 0x7a39, 0x080c, 0x0d7d, - 0x0005, 0x2079, 0x0040, 0x2001, 0x1dc0, 0x2003, 0x0000, 0x782c, - 0x908c, 0x0780, 0x190c, 0x7ea5, 0xd0a4, 0x0570, 0x2001, 0x1dc0, - 0x2004, 0x9082, 0x0080, 0x1640, 0x1d04, 0x7876, 0x2001, 0x1a05, - 0x200c, 0x8109, 0x0508, 0x2091, 0x6000, 0x2102, 0x7824, 0x2048, - 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, 0x908a, 0x0040, - 0x0608, 0x00b8, 0x2001, 0x1800, 0x200c, 0x9186, 0x0003, 0x1160, - 0x7104, 0x9186, 0x0004, 0x0140, 0x9186, 0x0007, 0x0128, 0x9186, - 0x0003, 0x1968, 0x080c, 0x78ff, 0x782c, 0xd09c, 0x090c, 0x7dc3, - 0x0005, 0x9082, 0x005a, 0x1218, 0x2100, 0x003b, 0x0c18, 0x080c, - 0x7935, 0x0c90, 0x00e3, 0x08f0, 0x0005, 0x7935, 0x7935, 0x7935, - 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7957, 0x7935, 0x7935, - 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, - 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, - 0x7935, 0x7941, 0x7935, 0x7b2a, 0x7935, 0x7935, 0x7935, 0x7957, - 0x7935, 0x7941, 0x7b6b, 0x7bac, 0x7bf3, 0x7c07, 0x7935, 0x7935, - 0x7957, 0x7941, 0x796b, 0x7935, 0x79e3, 0x7cb2, 0x7ccd, 0x7935, - 0x7957, 0x7935, 0x796b, 0x7935, 0x7935, 0x79d9, 0x7ccd, 0x7935, - 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, - 0x797f, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, - 0x7935, 0x7935, 0x7e49, 0x7935, 0x7df3, 0x7935, 0x7df3, 0x7935, - 0x7994, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x7935, 0x2079, - 0x0040, 0x7004, 0x9086, 0x0003, 0x1198, 0x782c, 0x080c, 0x7dec, - 0xd0a4, 0x0170, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, 0xa864, - 0x9084, 0x00ff, 0x908a, 0x001a, 0x1210, 0x002b, 0x0c50, 0x00e9, - 0x080c, 0x7dc3, 0x0005, 0x7935, 0x7941, 0x7b16, 0x7935, 0x7941, - 0x7935, 0x7941, 0x7941, 0x7935, 0x7941, 0x7b16, 0x7941, 0x7941, - 0x7941, 0x7941, 0x7941, 0x7935, 0x7941, 0x7b16, 0x7935, 0x7935, - 0x7941, 0x7935, 0x7935, 0x7935, 0x7941, 0x00e6, 0x2071, 0x18fa, - 0x2009, 0x0400, 0x0071, 0x00ee, 0x0005, 0x2009, 0x1000, 0x0049, - 0x0005, 0x2009, 0x2000, 0x0029, 0x0005, 0x2009, 0x0800, 0x0009, - 0x0005, 0x7007, 0x0001, 0xa868, 0x9084, 0x00ff, 0x9105, 0xa86a, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, 0x0005, 0xa864, - 0x8007, 0x9084, 0x00ff, 0x0d08, 0x8001, 0x1120, 0x7007, 0x0001, - 0x0804, 0x7ab8, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, - 0x704b, 0x7ab8, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0968, - 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x7ad3, 0x7007, 0x0003, - 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x7ad3, 0x0005, 0xa864, - 0x8007, 0x9084, 0x00ff, 0x0904, 0x793d, 0x8001, 0x1120, 0x7007, - 0x0001, 0x0804, 0x7aef, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, - 0x701a, 0x704b, 0x7aef, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, - 0x9086, 0x0001, 0x1904, 0x793d, 0x7007, 0x0001, 0x2009, 0x1834, - 0x210c, 0x81ff, 0x11a8, 0xa868, 0x9084, 0x00ff, 0xa86a, 0xa883, - 0x0000, 0x080c, 0x62b4, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, - 0xa867, 0x0139, 0xa87a, 0xa982, 0x080c, 0x6d7b, 0x012e, 0x0ca0, - 0xa994, 0x9186, 0x0071, 0x0d38, 0x9186, 0x0064, 0x0d20, 0x9186, - 0x007c, 0x0d08, 0x9186, 0x0028, 0x09f0, 0x9186, 0x0038, 0x09d8, - 0x9186, 0x0078, 0x09c0, 0x9186, 0x005f, 0x09a8, 0x9186, 0x0056, - 0x0990, 0xa897, 0x4005, 0xa89b, 0x0001, 0x2001, 0x0030, 0x900e, - 0x08a0, 0xa87c, 0x9084, 0x00c0, 0x9086, 0x00c0, 0x1120, 0x7007, - 0x0001, 0x0804, 0x7ce4, 0x2900, 0x7016, 0x701a, 0x20a9, 0x0004, - 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0030, 0x2098, 0x7050, 0x2040, - 0xa060, 0x20e8, 0xa05c, 0x9080, 0x0023, 0x20a0, 0x4003, 0xa888, - 0x7012, 0x9082, 0x0401, 0x1a04, 0x7945, 0xaab4, 0x928a, 0x0002, - 0x1a04, 0x7945, 0x82ff, 0x1138, 0xa8b8, 0xa9bc, 0x9105, 0x0118, - 0x2001, 0x7a76, 0x0018, 0x9280, 0x7a6c, 0x2005, 0x7056, 0x7010, - 0x9015, 0x0904, 0x7a57, 0x080c, 0x1053, 0x1118, 0x7007, 0x0004, - 0x0005, 0x2900, 0x7022, 0x7054, 0x2060, 0xe000, 0xa866, 0x7050, - 0x2040, 0xa95c, 0xe004, 0x9100, 0xa076, 0xa860, 0xa072, 0xe008, - 0x920a, 0x1210, 0x900e, 0x2200, 0x7112, 0xe20c, 0x8003, 0x800b, - 0x9296, 0x0004, 0x0108, 0x9108, 0xa17a, 0x810b, 0xa17e, 0x080c, - 0x112f, 0xa06c, 0x908e, 0x0100, 0x0170, 0x9086, 0x0200, 0x0118, - 0x7007, 0x0007, 0x0005, 0x7020, 0x2048, 0x080c, 0x106c, 0x7014, - 0x2048, 0x0804, 0x7945, 0x7020, 0x2048, 0x7018, 0xa802, 0xa807, - 0x0000, 0x2908, 0x2048, 0xa906, 0x711a, 0x0804, 0x7a0f, 0x7014, - 0x2048, 0x7007, 0x0001, 0xa8b4, 0x9005, 0x1128, 0xa8b8, 0xa9bc, - 0x9105, 0x0108, 0x00b9, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, - 0x0904, 0x7ce4, 0x0804, 0x7ab8, 0x7a6e, 0x7a72, 0x0002, 0x001d, - 0x0007, 0x0004, 0x000a, 0x001b, 0x0005, 0x0006, 0x000a, 0x001d, - 0x0005, 0x0004, 0x0076, 0x0066, 0xafb8, 0xaebc, 0xa804, 0x2050, - 0xb0c0, 0xb0e2, 0xb0bc, 0xb0de, 0xb0b8, 0xb0d2, 0xb0b4, 0xb0ce, - 0xb6da, 0xb7d6, 0xb0b0, 0xb0ca, 0xb0ac, 0xb0c6, 0xb0a8, 0xb0ba, - 0xb0a4, 0xb0b6, 0xb6c2, 0xb7be, 0xb0a0, 0xb0b2, 0xb09c, 0xb0ae, - 0xb098, 0xb0a2, 0xb094, 0xb09e, 0xb6aa, 0xb7a6, 0xb090, 0xb09a, - 0xb08c, 0xb096, 0xb088, 0xb08a, 0xb084, 0xb086, 0xb692, 0xb78e, - 0xb080, 0xb082, 0xb07c, 0xb07e, 0xb078, 0xb072, 0xb074, 0xb06e, - 0xb67a, 0xb776, 0xb004, 0x9055, 0x1958, 0x006e, 0x007e, 0x0005, - 0x2009, 0x1834, 0x210c, 0x81ff, 0x1178, 0x080c, 0x60b6, 0x1108, - 0x0005, 0x080c, 0x6faf, 0x0126, 0x2091, 0x8000, 0x080c, 0xcb35, - 0x080c, 0x6d7b, 0x012e, 0x0ca0, 0x080c, 0xcf4a, 0x1d70, 0x2001, - 0x0028, 0x900e, 0x0c70, 0x2009, 0x1834, 0x210c, 0x81ff, 0x1188, - 0xa888, 0x9005, 0x0188, 0xa883, 0x0000, 0x080c, 0x6144, 0x1108, - 0x0005, 0xa87a, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, - 0x0cb8, 0x2001, 0x0028, 0x0ca8, 0x2001, 0x0000, 0x0c90, 0x2009, - 0x1834, 0x210c, 0x81ff, 0x11d8, 0xa888, 0x9005, 0x01e0, 0xa883, - 0x0000, 0xa87c, 0xd0f4, 0x0120, 0x080c, 0x6216, 0x1138, 0x0005, - 0x9006, 0xa87a, 0x080c, 0x6191, 0x1108, 0x0005, 0x0126, 0x2091, - 0x8000, 0xa87a, 0xa982, 0x080c, 0x6d7b, 0x012e, 0x0cb0, 0x2001, - 0x0028, 0x900e, 0x0c98, 0x2001, 0x0000, 0x0c80, 0x7018, 0xa802, - 0x2908, 0x2048, 0xa906, 0x711a, 0x7010, 0x8001, 0x7012, 0x0118, - 0x7007, 0x0003, 0x0030, 0x7014, 0x2048, 0x7007, 0x0001, 0x7048, - 0x080f, 0x0005, 0x00b6, 0x7007, 0x0001, 0xa974, 0xa878, 0x9084, - 0x00ff, 0x9096, 0x0004, 0x0540, 0x20a9, 0x0001, 0x9096, 0x0001, - 0x0190, 0x900e, 0x20a9, 0x0800, 0x9096, 0x0002, 0x0160, 0x9005, - 0x11d8, 0xa974, 0x080c, 0x6620, 0x11b8, 0x0066, 0xae80, 0x080c, - 0x6730, 0x006e, 0x0088, 0x0046, 0x2011, 0x180c, 0x2224, 0xc484, - 0x2412, 0x004e, 0x00c6, 0x080c, 0x6620, 0x1110, 0x080c, 0x6903, - 0x8108, 0x1f04, 0x7b53, 0x00ce, 0xa87c, 0xd084, 0x1120, 0x080c, - 0x106c, 0x00be, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, - 0x012e, 0x00be, 0x0005, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, - 0x080c, 0x6a66, 0x0580, 0x2061, 0x1a6e, 0x6100, 0xd184, 0x0178, - 0xa888, 0x9084, 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, - 0x9005, 0x1538, 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, - 0x0001, 0xa890, 0x9005, 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, - 0xa888, 0x9084, 0x00ff, 0x0178, 0x6006, 0xa888, 0x8007, 0x9084, - 0x00ff, 0x0148, 0x600a, 0xa888, 0x8000, 0x1108, 0xc28d, 0x6202, - 0x012e, 0x0804, 0x7dad, 0x012e, 0x0804, 0x7da7, 0x012e, 0x0804, - 0x7da1, 0x012e, 0x0804, 0x7da4, 0x0126, 0x2091, 0x8000, 0x7007, - 0x0001, 0x080c, 0x6a66, 0x05e0, 0x2061, 0x1a6e, 0x6000, 0xd084, - 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, 0xac78, 0x9484, 0x0003, - 0x0170, 0xa988, 0x918c, 0x00ff, 0x8001, 0x1120, 0x2100, 0x9210, - 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, 0x9212, 0x02f0, 0x9484, - 0x000c, 0x0188, 0xa988, 0x810f, 0x918c, 0x00ff, 0x9082, 0x0004, - 0x1120, 0x2100, 0x9318, 0x0288, 0x0030, 0x9082, 0x0004, 0x1168, - 0x2100, 0x931a, 0x0250, 0xa890, 0x9005, 0x0110, 0x8000, 0x6016, - 0x6206, 0x630a, 0x012e, 0x0804, 0x7dad, 0x012e, 0x0804, 0x7daa, - 0x012e, 0x0804, 0x7da7, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, - 0x2061, 0x1a6e, 0x6300, 0xd38c, 0x1120, 0x6308, 0x8318, 0x0220, - 0x630a, 0x012e, 0x0804, 0x7dbb, 0x012e, 0x0804, 0x7daa, 0x00b6, - 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, 0x0001, 0xa87c, 0xd0ac, - 0x0148, 0x00c6, 0x2061, 0x1a6e, 0x6000, 0x9084, 0xfcff, 0x6002, - 0x00ce, 0x0440, 0xa888, 0x9005, 0x05d8, 0xa88c, 0x9065, 0x0598, - 0x2001, 0x1834, 0x2004, 0x9005, 0x0118, 0x080c, 0xac1a, 0x0068, - 0x6017, 0xf400, 0x6063, 0x0000, 0xa97c, 0xd1a4, 0x0110, 0xa980, - 0x6162, 0x2009, 0x0041, 0x080c, 0xac7c, 0xa988, 0x918c, 0xff00, - 0x9186, 0x2000, 0x1138, 0x0026, 0x900e, 0x2011, 0xfdff, 0x080c, - 0x88ce, 0x002e, 0xa87c, 0xd0c4, 0x0148, 0x2061, 0x1a6e, 0x6000, - 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, 0x600a, 0x00ce, 0x012e, - 0x00be, 0x0804, 0x7dad, 0x00ce, 0x012e, 0x00be, 0x0804, 0x7da7, - 0xa984, 0x9186, 0x002e, 0x0d30, 0x9186, 0x002d, 0x0d18, 0x9186, - 0x0045, 0x0510, 0x9186, 0x002a, 0x1130, 0x2001, 0x180c, 0x200c, - 0xc194, 0x2102, 0x08b8, 0x9186, 0x0020, 0x0158, 0x9186, 0x0029, - 0x1d10, 0xa974, 0x080c, 0x6620, 0x1968, 0xb800, 0xc0e4, 0xb802, - 0x0848, 0xa88c, 0x9065, 0x09b8, 0x6007, 0x0024, 0x2001, 0x1985, - 0x2004, 0x601a, 0x0804, 0x7c42, 0xa88c, 0x9065, 0x0960, 0x00e6, - 0xa890, 0x9075, 0x2001, 0x1834, 0x2004, 0x9005, 0x0150, 0x080c, - 0xac1a, 0x8eff, 0x0118, 0x2e60, 0x080c, 0xac1a, 0x00ee, 0x0804, - 0x7c42, 0x6024, 0xc0dc, 0xc0d5, 0x6026, 0x2e60, 0x6007, 0x003a, - 0xa8a0, 0x9005, 0x0130, 0x6007, 0x003b, 0xa8a4, 0x602e, 0xa8a8, - 0x6016, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x9200, 0x00ee, - 0x0804, 0x7c42, 0x2061, 0x1a6e, 0x6000, 0xd084, 0x0190, 0xd08c, - 0x1904, 0x7dbb, 0x0126, 0x2091, 0x8000, 0x6204, 0x8210, 0x0220, - 0x6206, 0x012e, 0x0804, 0x7dbb, 0x012e, 0xa883, 0x0016, 0x0804, - 0x7db4, 0xa883, 0x0007, 0x0804, 0x7db4, 0xa864, 0x8007, 0x9084, - 0x00ff, 0x0130, 0x8001, 0x1138, 0x7007, 0x0001, 0x0069, 0x0005, - 0x080c, 0x793d, 0x0040, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, - 0x701a, 0x704b, 0x7ce4, 0x0005, 0x00b6, 0x00e6, 0x0126, 0x2091, - 0x8000, 0x903e, 0x2061, 0x1800, 0x61d0, 0x81ff, 0x1904, 0x7d66, - 0x6130, 0xd194, 0x1904, 0x7d90, 0xa878, 0x2070, 0x9e82, 0x1ddc, - 0x0a04, 0x7d5a, 0x6068, 0x9e02, 0x1a04, 0x7d5a, 0x7120, 0x9186, - 0x0006, 0x1904, 0x7d4c, 0x7010, 0x905d, 0x0904, 0x7d66, 0xb800, - 0xd0e4, 0x1904, 0x7d8a, 0x2061, 0x1a6e, 0x6100, 0x9184, 0x0301, - 0x9086, 0x0001, 0x15a0, 0x7024, 0xd0dc, 0x1904, 0x7d93, 0xa883, - 0x0000, 0xa803, 0x0000, 0x2908, 0x7014, 0x9005, 0x1198, 0x7116, - 0xa87c, 0xd0f4, 0x1904, 0x7d96, 0x080c, 0x56d5, 0xd09c, 0x1118, - 0xa87c, 0xc0cc, 0xa87e, 0x2e60, 0x080c, 0x87be, 0x012e, 0x00ee, - 0x00be, 0x0005, 0x2048, 0xa800, 0x9005, 0x1de0, 0xa902, 0x2148, - 0xa87c, 0xd0f4, 0x1904, 0x7d96, 0x012e, 0x00ee, 0x00be, 0x0005, - 0x012e, 0x00ee, 0xa883, 0x0006, 0x00be, 0x0804, 0x7db4, 0xd184, - 0x0db8, 0xd1c4, 0x1190, 0x00a0, 0xa974, 0x080c, 0x6620, 0x15d0, - 0xb800, 0xd0e4, 0x15b8, 0x7120, 0x9186, 0x0007, 0x1118, 0xa883, - 0x0002, 0x0490, 0xa883, 0x0008, 0x0478, 0xa883, 0x000e, 0x0460, - 0xa883, 0x0017, 0x0448, 0xa883, 0x0035, 0x0430, 0x080c, 0x56d9, - 0xd0fc, 0x01e8, 0xa878, 0x2070, 0x9e82, 0x1ddc, 0x02c0, 0x6068, - 0x9e02, 0x12a8, 0x7120, 0x9186, 0x0006, 0x1188, 0x7010, 0x905d, - 0x0170, 0xb800, 0xd0bc, 0x0158, 0x2039, 0x0001, 0x7000, 0x9086, - 0x0007, 0x1904, 0x7cf0, 0x7003, 0x0002, 0x0804, 0x7cf0, 0xa883, - 0x0028, 0x0010, 0xa883, 0x0029, 0x012e, 0x00ee, 0x00be, 0x0420, - 0xa883, 0x002a, 0x0cc8, 0xa883, 0x0045, 0x0cb0, 0x2e60, 0x2019, - 0x0002, 0x601b, 0x0014, 0x080c, 0xde2a, 0x012e, 0x00ee, 0x00be, - 0x0005, 0x2009, 0x003e, 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, - 0x0006, 0x0028, 0x2009, 0x0016, 0x0010, 0x2009, 0x0001, 0xa884, - 0x9084, 0xff00, 0x9105, 0xa886, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6d7b, 0x012e, 0x0005, 0x080c, 0x106c, 0x0005, 0x00d6, 0x080c, - 0x87b5, 0x00de, 0x0005, 0x00d6, 0x00e6, 0x0126, 0x2091, 0x8000, - 0x2071, 0x0040, 0x702c, 0xd084, 0x01d8, 0x908c, 0x0780, 0x190c, - 0x7ea5, 0xd09c, 0x11a8, 0x2071, 0x1800, 0x70c0, 0x90ea, 0x0020, - 0x0278, 0x8001, 0x70c2, 0x702c, 0x2048, 0xa800, 0x702e, 0x9006, - 0xa802, 0xa806, 0x2071, 0x0040, 0x2900, 0x7022, 0x702c, 0x0c28, - 0x012e, 0x00ee, 0x00de, 0x0005, 0x0006, 0x9084, 0x0780, 0x190c, - 0x7ea5, 0x000e, 0x0005, 0xa898, 0x9084, 0x0003, 0x05a8, 0x080c, - 0xab89, 0x05d8, 0x2900, 0x6016, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x0035, 0x1138, 0x6028, 0xc0fd, 0x602a, 0x2001, 0x196a, 0x2004, - 0x0098, 0xa8a0, 0x9084, 0x00ff, 0xa99c, 0x918c, 0xff00, 0x9105, - 0xa99c, 0x918c, 0x00ff, 0x080c, 0x2614, 0x1540, 0x00b6, 0x080c, - 0x6620, 0x2b00, 0x00be, 0x1510, 0x6012, 0x6023, 0x0001, 0x2009, - 0x0040, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0035, 0x0110, 0x2009, - 0x0041, 0x080c, 0xac7c, 0x0005, 0xa87b, 0x0101, 0x0126, 0x2091, - 0x8000, 0x080c, 0x6d7b, 0x012e, 0x0005, 0xa87b, 0x002c, 0x0126, - 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, 0x0005, 0xa87b, 0x0028, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, 0x080c, 0xabdf, - 0x0005, 0x00d6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x00b6, 0x7007, - 0x0001, 0xaa74, 0x9282, 0x0004, 0x1a04, 0x7e96, 0xa97c, 0x9188, - 0x1000, 0x2104, 0x905d, 0xb804, 0xd284, 0x0140, 0x05e8, 0x8007, - 0x9084, 0x00ff, 0x9084, 0x0006, 0x1108, 0x04b0, 0x2b10, 0x080c, - 0xab89, 0x1118, 0x080c, 0xac4f, 0x05a8, 0x6212, 0xa874, 0x0002, - 0x7e74, 0x7e79, 0x7e7c, 0x7e82, 0x2019, 0x0002, 0x080c, 0xe249, - 0x0060, 0x080c, 0xe1d9, 0x0048, 0x2019, 0x0002, 0xa980, 0x080c, - 0xe1f8, 0x0018, 0xa980, 0x080c, 0xe1d9, 0x080c, 0xabdf, 0xa887, - 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, 0x00be, - 0x001e, 0x002e, 0x003e, 0x00ce, 0x00de, 0x0005, 0xa887, 0x0006, - 0x0c80, 0xa887, 0x0002, 0x0c68, 0xa887, 0x0005, 0x0c50, 0xa887, - 0x0004, 0x0c38, 0xa887, 0x0007, 0x0c20, 0x2091, 0x8000, 0x0e04, - 0x7ea7, 0x0006, 0x0016, 0x2001, 0x8003, 0x0006, 0x0804, 0x0d86, - 0x2001, 0x1834, 0x2004, 0x9005, 0x0005, 0x0005, 0x00f6, 0x2079, - 0x0300, 0x2001, 0x0200, 0x200c, 0xc1e5, 0xc1dc, 0x2102, 0x2009, - 0x0218, 0x210c, 0xd1ec, 0x1120, 0x080c, 0x1615, 0x00fe, 0x0005, - 0x2001, 0x020d, 0x2003, 0x0020, 0x781f, 0x0300, 0x00fe, 0x0005, - 0x781c, 0xd08c, 0x0904, 0x7f28, 0x68c0, 0x90aa, 0x0005, 0x0a04, - 0x8529, 0x7d44, 0x7c40, 0xd59c, 0x190c, 0x0d7d, 0x9584, 0x00f6, - 0x1508, 0x9484, 0x7000, 0x0138, 0x908a, 0x2000, 0x1258, 0x9584, - 0x0700, 0x8007, 0x04f0, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, - 0x0db0, 0x00b0, 0x9484, 0x0fff, 0x1130, 0x7000, 0x9084, 0xff00, - 0x9086, 0x8100, 0x11c0, 0x080c, 0xe6ea, 0x080c, 0x8420, 0x7817, - 0x0140, 0x00a8, 0x9584, 0x0076, 0x1118, 0x080c, 0x847c, 0x19c8, - 0xd5a4, 0x0148, 0x0046, 0x0056, 0x080c, 0x7f78, 0x080c, 0x2126, - 0x005e, 0x004e, 0x0020, 0x080c, 0xe6ea, 0x7817, 0x0140, 0x080c, - 0x74c8, 0x0168, 0x2001, 0x0111, 0x2004, 0xd08c, 0x0140, 0x6893, - 0x0000, 0x2001, 0x0110, 0x2003, 0x0008, 0x2003, 0x0000, 0x0489, - 0x0005, 0x0002, 0x7f35, 0x8242, 0x7f32, 0x7f32, 0x7f32, 0x7f32, - 0x7f32, 0x7f32, 0x7817, 0x0140, 0x0005, 0x7000, 0x908c, 0xff00, - 0x9194, 0xf000, 0x810f, 0x9484, 0x0fff, 0x6892, 0x9286, 0x2000, - 0x1150, 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, 0x5736, 0x0070, - 0x080c, 0x7f98, 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, 0x817f, - 0x0028, 0x9286, 0x8000, 0x1110, 0x080c, 0x8356, 0x7817, 0x0140, - 0x0005, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0178, 0x2001, 0x1800, - 0x2004, 0x9086, 0x0003, 0x1148, 0x0026, 0x0036, 0x2011, 0x8048, - 0x2518, 0x080c, 0x4b09, 0x003e, 0x002e, 0x0005, 0x0036, 0x0046, - 0x0056, 0x00f6, 0x2079, 0x0200, 0x2019, 0xfffe, 0x7c30, 0x0050, - 0x0036, 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, 0x7d44, 0x7c40, - 0x2019, 0xffff, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0160, 0x2001, - 0x1800, 0x2004, 0x9086, 0x0003, 0x1130, 0x0026, 0x2011, 0x8048, - 0x080c, 0x4b09, 0x002e, 0x00fe, 0x005e, 0x004e, 0x003e, 0x0005, - 0x00b6, 0x00c6, 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, 0x0001, - 0x0120, 0x9096, 0x0023, 0x1904, 0x8150, 0x9186, 0x0023, 0x15c0, - 0x080c, 0x83eb, 0x0904, 0x8150, 0x6120, 0x9186, 0x0001, 0x0150, - 0x9186, 0x0004, 0x0138, 0x9186, 0x0008, 0x0120, 0x9186, 0x000a, - 0x1904, 0x8150, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1130, - 0x2009, 0x0015, 0x080c, 0xac7c, 0x0804, 0x8150, 0x908e, 0x0214, - 0x0118, 0x908e, 0x0210, 0x1130, 0x2009, 0x0015, 0x080c, 0xac7c, - 0x0804, 0x8150, 0x908e, 0x0100, 0x1904, 0x8150, 0x7034, 0x9005, - 0x1904, 0x8150, 0x2009, 0x0016, 0x080c, 0xac7c, 0x0804, 0x8150, - 0x9186, 0x0022, 0x1904, 0x8150, 0x7030, 0x908e, 0x0300, 0x1580, - 0x68dc, 0xd0a4, 0x0528, 0xc0b5, 0x68de, 0x7100, 0x918c, 0x00ff, - 0x697e, 0x7004, 0x6882, 0x00f6, 0x2079, 0x0100, 0x79e6, 0x78ea, - 0x0006, 0x9084, 0x00ff, 0x0016, 0x2008, 0x080c, 0x265d, 0x7932, - 0x7936, 0x001e, 0x000e, 0x00fe, 0x080c, 0x2614, 0x695e, 0x703c, - 0x00e6, 0x2071, 0x0140, 0x7086, 0x2071, 0x1800, 0x70b6, 0x00ee, - 0x7034, 0x9005, 0x1904, 0x8150, 0x2009, 0x0017, 0x0804, 0x8100, - 0x908e, 0x0400, 0x1190, 0x7034, 0x9005, 0x1904, 0x8150, 0x080c, - 0x74c8, 0x0120, 0x2009, 0x001d, 0x0804, 0x8100, 0x68dc, 0xc0a5, - 0x68de, 0x2009, 0x0030, 0x0804, 0x8100, 0x908e, 0x0500, 0x1140, - 0x7034, 0x9005, 0x1904, 0x8150, 0x2009, 0x0018, 0x0804, 0x8100, - 0x908e, 0x2010, 0x1120, 0x2009, 0x0019, 0x0804, 0x8100, 0x908e, - 0x2110, 0x1120, 0x2009, 0x001a, 0x0804, 0x8100, 0x908e, 0x5200, - 0x1140, 0x7034, 0x9005, 0x1904, 0x8150, 0x2009, 0x001b, 0x0804, - 0x8100, 0x908e, 0x5000, 0x1140, 0x7034, 0x9005, 0x1904, 0x8150, - 0x2009, 0x001c, 0x0804, 0x8100, 0x908e, 0x1300, 0x1120, 0x2009, - 0x0034, 0x0804, 0x8100, 0x908e, 0x1200, 0x1140, 0x7034, 0x9005, - 0x1904, 0x8150, 0x2009, 0x0024, 0x0804, 0x8100, 0x908c, 0xff00, - 0x918e, 0x2400, 0x1170, 0x2009, 0x002d, 0x2001, 0x1810, 0x2004, - 0xd09c, 0x0904, 0x8100, 0x080c, 0xd65c, 0x1904, 0x8150, 0x0804, - 0x80fe, 0x908c, 0xff00, 0x918e, 0x5300, 0x1120, 0x2009, 0x002a, - 0x0804, 0x8100, 0x908e, 0x0f00, 0x1120, 0x2009, 0x0020, 0x0804, - 0x8100, 0x908e, 0x6104, 0x1530, 0x2029, 0x0205, 0x2011, 0x026d, - 0x8208, 0x2204, 0x9082, 0x0004, 0x8004, 0x8004, 0x20a8, 0x2011, - 0x8015, 0x211c, 0x8108, 0x0046, 0x2124, 0x080c, 0x4b09, 0x004e, - 0x8108, 0x0f04, 0x80b4, 0x9186, 0x0280, 0x1d88, 0x2504, 0x8000, - 0x202a, 0x2009, 0x0260, 0x0c58, 0x202b, 0x0000, 0x2009, 0x0023, - 0x0804, 0x8100, 0x908e, 0x6000, 0x1120, 0x2009, 0x003f, 0x0804, - 0x8100, 0x908e, 0x5400, 0x1138, 0x080c, 0x84d9, 0x1904, 0x8150, - 0x2009, 0x0046, 0x04a8, 0x908e, 0x5500, 0x1148, 0x080c, 0x8501, - 0x1118, 0x2009, 0x0041, 0x0460, 0x2009, 0x0042, 0x0448, 0x908e, - 0x7800, 0x1118, 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, 0x1118, - 0x2009, 0x004e, 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, 0x004a, - 0x00b8, 0x908c, 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, 0x004f, - 0x0078, 0x908c, 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, 0x0050, - 0x0038, 0x2009, 0x001d, 0x6838, 0xd0d4, 0x0110, 0x2009, 0x004c, - 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2614, - 0x1904, 0x8153, 0x080c, 0x65bf, 0x1904, 0x8153, 0xbe12, 0xbd16, - 0x001e, 0x0016, 0x080c, 0x74c8, 0x01c0, 0x68dc, 0xd08c, 0x1148, - 0x7000, 0x9084, 0x00ff, 0x1188, 0x7004, 0x9084, 0xff00, 0x1168, - 0x0040, 0x687c, 0x9606, 0x1148, 0x6880, 0x9506, 0x9084, 0xff00, - 0x1120, 0x9584, 0x00ff, 0xb886, 0x0080, 0xb884, 0x9005, 0x1168, - 0x9186, 0x0046, 0x1150, 0x687c, 0x9606, 0x1138, 0x6880, 0x9506, - 0x9084, 0xff00, 0x1110, 0x001e, 0x0098, 0x080c, 0xab89, 0x01a8, - 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x9186, - 0x004c, 0x1110, 0x6023, 0x000a, 0x0016, 0x001e, 0x080c, 0xac7c, - 0x00ce, 0x00be, 0x0005, 0x001e, 0x0cd8, 0x2001, 0x180e, 0x2004, - 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x4b09, 0x080c, 0xac4f, - 0x0d90, 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, - 0x0016, 0x9186, 0x0017, 0x0118, 0x9186, 0x0030, 0x1128, 0x6007, - 0x0009, 0x6017, 0x2900, 0x0020, 0x6007, 0x0051, 0x6017, 0x0000, - 0x602f, 0x0009, 0x6003, 0x0001, 0x080c, 0x9207, 0x08a0, 0x080c, - 0x3326, 0x1140, 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, 0x0008, - 0x1108, 0x0009, 0x0005, 0x00b6, 0x00c6, 0x0046, 0x7000, 0x908c, - 0xff00, 0x810f, 0x9186, 0x0033, 0x11e8, 0x080c, 0x83eb, 0x0904, - 0x81da, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, - 0x9005, 0x15c0, 0x2009, 0x0015, 0x080c, 0xac7c, 0x0498, 0x908e, - 0x0100, 0x1580, 0x7034, 0x9005, 0x1568, 0x2009, 0x0016, 0x080c, - 0xac7c, 0x0440, 0x9186, 0x0032, 0x1528, 0x7030, 0x908e, 0x1400, - 0x1508, 0x2009, 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, - 0x220c, 0x080c, 0x2614, 0x11a8, 0x080c, 0x65bf, 0x1190, 0xbe12, - 0xbd16, 0x080c, 0xab89, 0x0168, 0x2b08, 0x6112, 0x080c, 0xcccb, - 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0xac7c, 0x0010, - 0x00ce, 0x001e, 0x004e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x0046, - 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b8, 0x9592, - 0xfffc, 0x02a0, 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, 0x0804, - 0x823c, 0x9596, 0xfffe, 0x1120, 0x2009, 0x007e, 0x0804, 0x823c, - 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x04f0, 0x2011, 0x0000, - 0x2019, 0x1837, 0x231c, 0xd3ac, 0x0130, 0x9026, 0x20a9, 0x0800, - 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, 0x077f, 0x2071, - 0x1081, 0x2e1c, 0x93dd, 0x0000, 0x1140, 0x82ff, 0x11d0, 0x9496, - 0x00ff, 0x01b8, 0x2410, 0xc2fd, 0x00a0, 0xbf10, 0x2600, 0x9706, - 0xb814, 0x1120, 0x9546, 0x1110, 0x2408, 0x00b0, 0x9745, 0x1148, - 0x94c6, 0x007e, 0x0130, 0x94c6, 0x007f, 0x0118, 0x94c6, 0x0080, - 0x1d20, 0x8420, 0x8e70, 0x1f04, 0x8211, 0x82ff, 0x1118, 0x9085, - 0x0001, 0x0018, 0xc2fc, 0x2208, 0x9006, 0x00de, 0x00ee, 0x004e, - 0x00be, 0x0005, 0x7000, 0x908c, 0xff00, 0x810f, 0x9184, 0x000f, - 0x0002, 0x8259, 0x8259, 0x8259, 0x83fd, 0x8259, 0x825c, 0x8281, - 0x830a, 0x8259, 0x8259, 0x8259, 0x8259, 0x8259, 0x8259, 0x8259, - 0x8259, 0x7817, 0x0140, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x01e8, - 0x7120, 0x2160, 0x9c8c, 0x0003, 0x11c0, 0x9c8a, 0x1ddc, 0x02a8, - 0x6868, 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, - 0xb910, 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, - 0x610a, 0x2009, 0x0046, 0x080c, 0xac7c, 0x7817, 0x0140, 0x00be, - 0x0005, 0x00b6, 0x00c6, 0x9484, 0x0fff, 0x0904, 0x82e6, 0x7110, - 0xd1bc, 0x1904, 0x82e6, 0x7108, 0x700c, 0x2028, 0x918c, 0x00ff, - 0x2130, 0x9094, 0xff00, 0x15c8, 0x81ff, 0x15b8, 0x9080, 0x3368, - 0x200d, 0x918c, 0xff00, 0x810f, 0x2001, 0x0080, 0x9106, 0x0904, - 0x82e6, 0x9182, 0x0801, 0x1a04, 0x82e6, 0x9190, 0x1000, 0x2204, - 0x905d, 0x05e0, 0xbe12, 0xbd16, 0xb800, 0xd0ec, 0x15b8, 0xba04, - 0x9294, 0xff00, 0x9286, 0x0600, 0x1190, 0x080c, 0xab89, 0x0598, - 0x2b08, 0x7028, 0x6052, 0x702c, 0x604e, 0x6112, 0x6023, 0x0006, - 0x7120, 0x610a, 0x7130, 0x615e, 0x080c, 0xd8c4, 0x00f8, 0x080c, - 0x6a6a, 0x1138, 0xb807, 0x0606, 0x0c40, 0x190c, 0x81de, 0x11b0, - 0x0880, 0x080c, 0xab89, 0x2b08, 0x0188, 0x6112, 0x6023, 0x0004, - 0x7120, 0x610a, 0x9286, 0x0400, 0x1118, 0x6007, 0x0005, 0x0010, - 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x9207, 0x7817, 0x0140, - 0x00ce, 0x00be, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, - 0x2011, 0x8049, 0x080c, 0x4b09, 0x080c, 0xac4f, 0x0d78, 0x2b08, - 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x615e, 0x6017, - 0xf300, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, - 0x9200, 0x08e0, 0x00b6, 0x7110, 0xd1bc, 0x05d0, 0x7020, 0x2060, - 0x9c84, 0x0003, 0x15a8, 0x9c82, 0x1ddc, 0x0690, 0x6868, 0x9c02, - 0x1678, 0x9484, 0x0fff, 0x9082, 0x000c, 0x0650, 0x7008, 0x9084, - 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1510, 0x700c, 0xb914, - 0x9106, 0x11f0, 0x7124, 0x610a, 0x601c, 0xd0fc, 0x11c8, 0x2001, - 0x0271, 0x2004, 0x9005, 0x1180, 0x9484, 0x0fff, 0x9082, 0x000c, - 0x0158, 0x0066, 0x2031, 0x0100, 0xa001, 0xa001, 0x8631, 0x1de0, - 0x006e, 0x601c, 0xd0fc, 0x1120, 0x2009, 0x0045, 0x080c, 0xac7c, - 0x7817, 0x0140, 0x00be, 0x0005, 0x6120, 0x9186, 0x0002, 0x0128, - 0x9186, 0x0005, 0x0110, 0x9085, 0x0001, 0x0005, 0x080c, 0x3326, - 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, 0x9086, 0x0000, 0x1130, - 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, 0x000b, 0x0005, 0x836d, - 0x836e, 0x836d, 0x836d, 0x83cd, 0x83dc, 0x0005, 0x00b6, 0x7110, - 0xd1bc, 0x0120, 0x702c, 0xd084, 0x0904, 0x83cb, 0x700c, 0x7108, - 0x080c, 0x2614, 0x1904, 0x83cb, 0x080c, 0x65bf, 0x1904, 0x83cb, - 0xbe12, 0xbd16, 0x7110, 0xd1bc, 0x01d8, 0x080c, 0x6a6a, 0x0118, - 0x9086, 0x0004, 0x1588, 0x00c6, 0x080c, 0x83eb, 0x00ce, 0x05d8, - 0x080c, 0xab89, 0x2b08, 0x05b8, 0x6112, 0x080c, 0xcccb, 0x6023, - 0x0002, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0xac7c, 0x0458, - 0x080c, 0x6a6a, 0x0148, 0x9086, 0x0004, 0x0130, 0x080c, 0x6a72, - 0x0118, 0x9086, 0x0004, 0x1180, 0x080c, 0xab89, 0x2b08, 0x01d8, - 0x6112, 0x080c, 0xcccb, 0x6023, 0x0005, 0x7120, 0x610a, 0x2009, - 0x0088, 0x080c, 0xac7c, 0x0078, 0x080c, 0xab89, 0x2b08, 0x0158, - 0x6112, 0x080c, 0xcccb, 0x6023, 0x0004, 0x7120, 0x610a, 0x2009, - 0x0001, 0x080c, 0xac7c, 0x00be, 0x0005, 0x7110, 0xd1bc, 0x0158, - 0x00d1, 0x0148, 0x080c, 0x834c, 0x1130, 0x7124, 0x610a, 0x2009, - 0x0089, 0x080c, 0xac7c, 0x0005, 0x7110, 0xd1bc, 0x0158, 0x0059, - 0x0148, 0x080c, 0x834c, 0x1130, 0x7124, 0x610a, 0x2009, 0x008a, - 0x080c, 0xac7c, 0x0005, 0x7020, 0x2060, 0x9c84, 0x0003, 0x1158, - 0x9c82, 0x1ddc, 0x0240, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1218, - 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, 0x00b6, 0x7110, 0xd1bc, - 0x11d8, 0x7024, 0x2060, 0x9c84, 0x0003, 0x11b0, 0x9c82, 0x1ddc, - 0x0298, 0x6868, 0x9c02, 0x1280, 0x7008, 0x9084, 0x00ff, 0x6110, - 0x2158, 0xb910, 0x9106, 0x1140, 0x700c, 0xb914, 0x9106, 0x1120, - 0x2009, 0x0051, 0x080c, 0xac7c, 0x7817, 0x0140, 0x00be, 0x0005, - 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, 0x0206, 0x0049, 0x0005, - 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, 0x0213, 0x0009, 0x0005, - 0x00c6, 0x0096, 0x00f6, 0x7000, 0x9084, 0xf000, 0x9086, 0xc000, - 0x05c0, 0x080c, 0xab89, 0x05a8, 0x0066, 0x00c6, 0x0046, 0x2011, - 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2614, 0x1590, 0x080c, - 0x65bf, 0x1578, 0xbe12, 0xbd16, 0x2b00, 0x004e, 0x00ce, 0x6012, - 0x080c, 0xcccb, 0x080c, 0x103a, 0x0500, 0x2900, 0x6062, 0x9006, - 0xa802, 0xa866, 0xac6a, 0xa85c, 0x90f8, 0x001b, 0x20a9, 0x000e, - 0xa860, 0x20e8, 0x20e1, 0x0000, 0x2fa0, 0x2e98, 0x4003, 0x006e, - 0x6616, 0x6007, 0x003e, 0x6023, 0x0001, 0x6003, 0x0001, 0x080c, - 0x9207, 0x00fe, 0x009e, 0x00ce, 0x0005, 0x080c, 0xabdf, 0x006e, - 0x0cc0, 0x004e, 0x00ce, 0x0cc8, 0x00c6, 0x7000, 0x908c, 0xff00, - 0x9184, 0xf000, 0x810f, 0x9086, 0x2000, 0x1904, 0x84d3, 0x9186, - 0x0022, 0x15f0, 0x2001, 0x0111, 0x2004, 0x9005, 0x1904, 0x84d5, - 0x7030, 0x908e, 0x0400, 0x0904, 0x84d5, 0x908e, 0x6000, 0x05e8, - 0x908e, 0x5400, 0x05d0, 0x908e, 0x0300, 0x11d8, 0x2009, 0x1837, - 0x210c, 0xd18c, 0x1590, 0xd1a4, 0x1580, 0x080c, 0x6a28, 0x0558, - 0x68b0, 0x9084, 0x00ff, 0x7100, 0x918c, 0x00ff, 0x9106, 0x1518, - 0x6880, 0x69b0, 0x918c, 0xff00, 0x9105, 0x7104, 0x9106, 0x11d8, - 0x00e0, 0x2009, 0x0103, 0x210c, 0xd1b4, 0x11a8, 0x908e, 0x5200, - 0x09e8, 0x908e, 0x0500, 0x09d0, 0x908e, 0x5000, 0x09b8, 0x0058, - 0x9186, 0x0023, 0x1140, 0x080c, 0x83eb, 0x0128, 0x6004, 0x9086, - 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, - 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, 0x7038, 0x2020, 0x8427, - 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1805, - 0x2011, 0x027a, 0x080c, 0xbba1, 0x1178, 0xd48c, 0x0148, 0x20a9, - 0x0004, 0x2019, 0x1801, 0x2011, 0x027e, 0x080c, 0xbba1, 0x1120, - 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, 0x001e, 0x004e, 0x015e, - 0x0005, 0x0156, 0x0046, 0x0016, 0x0036, 0x7038, 0x2020, 0x8427, - 0x94a4, 0x0007, 0xd484, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1805, - 0x2011, 0x0272, 0x080c, 0xbba1, 0x1178, 0xd48c, 0x0148, 0x20a9, - 0x0004, 0x2019, 0x1801, 0x2011, 0x0276, 0x080c, 0xbba1, 0x1120, - 0xd494, 0x0110, 0x9085, 0x0001, 0x003e, 0x001e, 0x004e, 0x015e, - 0x0005, 0x00f6, 0x2079, 0x0200, 0x7800, 0xc0e5, 0xc0cc, 0x7802, - 0x00fe, 0x0005, 0x00f6, 0x2079, 0x1800, 0x7834, 0xd084, 0x1130, - 0x2079, 0x0200, 0x7800, 0x9085, 0x1200, 0x7802, 0x00fe, 0x0005, - 0x00e6, 0x2071, 0x1800, 0x7034, 0xc084, 0x7036, 0x00ee, 0x0005, - 0x2071, 0x1a02, 0x7003, 0x0003, 0x700f, 0x0361, 0x9006, 0x701a, - 0x7072, 0x7012, 0x7017, 0x1ddc, 0x7007, 0x0000, 0x7026, 0x702b, - 0x9e36, 0x7032, 0x7037, 0x9eb3, 0x703f, 0xffff, 0x7042, 0x7047, - 0x556c, 0x704a, 0x705b, 0x86f0, 0x080c, 0x1053, 0x090c, 0x0d7d, - 0x2900, 0x703a, 0xa867, 0x0003, 0xa86f, 0x0100, 0xa8ab, 0xdcb0, - 0x0005, 0x2071, 0x1a02, 0x1d04, 0x860c, 0x2091, 0x6000, 0x700c, - 0x8001, 0x700e, 0x1590, 0x2001, 0x013c, 0x2004, 0x9005, 0x190c, - 0x879a, 0x2001, 0x1869, 0x2004, 0xd0c4, 0x0158, 0x3a00, 0xd08c, - 0x1140, 0x20d1, 0x0000, 0x20d1, 0x0001, 0x20d1, 0x0000, 0x080c, - 0x0d7d, 0x700f, 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, 0x8000, - 0x2069, 0x1800, 0x69ec, 0xd1e4, 0x1138, 0xd1dc, 0x1118, 0x080c, - 0x875e, 0x0010, 0x080c, 0x8735, 0x7040, 0x900d, 0x0148, 0x8109, - 0x7142, 0x1130, 0x7044, 0x080f, 0x0018, 0x0126, 0x2091, 0x8000, - 0x7024, 0x900d, 0x0188, 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, - 0x0009, 0x8109, 0x7126, 0x9186, 0x03e8, 0x1110, 0x7028, 0x080f, - 0x81ff, 0x1110, 0x7028, 0x080f, 0x7030, 0x900d, 0x0180, 0x702c, - 0x8001, 0x702e, 0x1160, 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, - 0x9184, 0x007f, 0x090c, 0x9f4f, 0x0010, 0x7034, 0x080f, 0x703c, - 0x9005, 0x0118, 0x0310, 0x8001, 0x703e, 0x704c, 0x900d, 0x0168, - 0x7048, 0x8001, 0x704a, 0x1148, 0x704b, 0x0009, 0x8109, 0x714e, - 0x1120, 0x7150, 0x714e, 0x7058, 0x080f, 0x7018, 0x900d, 0x01d8, - 0x0016, 0x7070, 0x900d, 0x0158, 0x706c, 0x8001, 0x706e, 0x1138, - 0x706f, 0x0009, 0x8109, 0x7172, 0x1110, 0x7074, 0x080f, 0x001e, - 0x7008, 0x8001, 0x700a, 0x1138, 0x700b, 0x0009, 0x8109, 0x711a, - 0x1110, 0x701c, 0x080f, 0x012e, 0x7004, 0x0002, 0x8634, 0x8635, - 0x865f, 0x00e6, 0x2071, 0x1a02, 0x7018, 0x9005, 0x1120, 0x711a, - 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, - 0x1a02, 0x701c, 0x9206, 0x1120, 0x701a, 0x701e, 0x7072, 0x7076, - 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1a02, 0xb888, 0x9102, - 0x0208, 0xb98a, 0x00ee, 0x0005, 0x0005, 0x00b6, 0x2031, 0x0010, - 0x7110, 0x080c, 0x6620, 0x11a8, 0xb888, 0x8001, 0x0290, 0xb88a, - 0x1180, 0x0126, 0x2091, 0x8000, 0x0066, 0xb8d0, 0x9005, 0x0138, - 0x0026, 0xba3c, 0x0016, 0x080c, 0x674b, 0x001e, 0x002e, 0x006e, - 0x012e, 0x8108, 0x9182, 0x0800, 0x1220, 0x8631, 0x0128, 0x7112, - 0x0c00, 0x900e, 0x7007, 0x0002, 0x7112, 0x00be, 0x0005, 0x2031, - 0x0010, 0x7014, 0x2060, 0x0126, 0x2091, 0x8000, 0x6048, 0x9005, - 0x0128, 0x8001, 0x604a, 0x1110, 0x080c, 0xcb4c, 0x6018, 0x9005, - 0x0904, 0x86b7, 0x00f6, 0x2079, 0x0300, 0x7918, 0xd1b4, 0x1904, - 0x86ca, 0x781b, 0x2020, 0xa001, 0x7918, 0xd1b4, 0x0120, 0x781b, - 0x2000, 0x0804, 0x86ca, 0x8001, 0x601a, 0x0106, 0x781b, 0x2000, - 0xa001, 0x7918, 0xd1ac, 0x1dd0, 0x010e, 0x00fe, 0x1540, 0x6120, - 0x9186, 0x0003, 0x0148, 0x9186, 0x0006, 0x0130, 0x9186, 0x0009, - 0x11e0, 0x611c, 0xd1c4, 0x1100, 0x080c, 0xc832, 0x01b0, 0x6014, - 0x2048, 0xa884, 0x908a, 0x199a, 0x0280, 0x9082, 0x1999, 0xa886, - 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x800b, 0x810b, - 0x9108, 0x611a, 0x080c, 0xcf7d, 0x0110, 0x080c, 0xc523, 0x012e, - 0x9c88, 0x001c, 0x7116, 0x2001, 0x181a, 0x2004, 0x9102, 0x1228, - 0x8631, 0x0138, 0x2160, 0x0804, 0x8663, 0x7017, 0x1ddc, 0x7007, - 0x0000, 0x0005, 0x00fe, 0x0c58, 0x00e6, 0x2071, 0x1a02, 0x7027, - 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, 0x2001, 0x1a0b, 0x2003, - 0x0000, 0x0005, 0x00e6, 0x2071, 0x1a02, 0x7132, 0x702f, 0x0009, - 0x00ee, 0x0005, 0x2011, 0x1a0e, 0x2013, 0x0000, 0x0005, 0x00e6, - 0x2071, 0x1a02, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, - 0x0086, 0x0026, 0x7054, 0x8000, 0x7056, 0x2001, 0x1a10, 0x2044, - 0xa06c, 0x9086, 0x0000, 0x0150, 0x7068, 0xa09a, 0x7064, 0xa096, - 0x7060, 0xa092, 0x705c, 0xa08e, 0x080c, 0x112f, 0x002e, 0x008e, - 0x0005, 0x0006, 0x0016, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, - 0x00e6, 0x00f6, 0x0156, 0x080c, 0x8571, 0x015e, 0x00fe, 0x00ee, - 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x001e, 0x000e, 0x0005, - 0x00e6, 0x2071, 0x1a02, 0x7172, 0x7276, 0x706f, 0x0009, 0x00ee, - 0x0005, 0x00e6, 0x0006, 0x2071, 0x1a02, 0x7074, 0x9206, 0x1110, - 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x2069, 0x1800, 0x69ec, - 0xd1e4, 0x1518, 0x0026, 0xd1ec, 0x0140, 0x6a54, 0x6874, 0x9202, - 0x0288, 0x8117, 0x9294, 0x00c1, 0x0088, 0x9184, 0x0007, 0x01a0, - 0x8109, 0x9184, 0x0007, 0x0110, 0x69ee, 0x0070, 0x8107, 0x9084, - 0x0007, 0x910d, 0x8107, 0x9106, 0x9094, 0x00c1, 0x9184, 0xff3e, - 0x9205, 0x68ee, 0x080c, 0x0f05, 0x002e, 0x0005, 0x69e8, 0x9184, - 0x003f, 0x05b8, 0x8109, 0x9184, 0x003f, 0x01a8, 0x6a54, 0x6874, - 0x9202, 0x0220, 0xd1bc, 0x0168, 0xc1bc, 0x0018, 0xd1bc, 0x1148, - 0xc1bd, 0x2110, 0x00e6, 0x2071, 0x1800, 0x080c, 0x0f27, 0x00ee, - 0x0400, 0x69ea, 0x00f0, 0x0026, 0x8107, 0x9094, 0x0007, 0x0128, - 0x8001, 0x8007, 0x9085, 0x0007, 0x0050, 0x2010, 0x8004, 0x8004, - 0x8004, 0x9084, 0x0007, 0x9205, 0x8007, 0x9085, 0x0028, 0x9086, - 0x0040, 0x2010, 0x00e6, 0x2071, 0x1800, 0x080c, 0x0f27, 0x00ee, - 0x002e, 0x0005, 0x0016, 0x00c6, 0x2009, 0xfffc, 0x210d, 0x2061, - 0x0100, 0x60f0, 0x9100, 0x60f3, 0x0000, 0x2009, 0xfffc, 0x200f, - 0x1220, 0x8108, 0x2105, 0x8000, 0x200f, 0x00ce, 0x001e, 0x0005, - 0x00c6, 0x2061, 0x1a6e, 0x00ce, 0x0005, 0x9184, 0x000f, 0x8003, - 0x8003, 0x8003, 0x9080, 0x1a6e, 0x2060, 0x0005, 0xa884, 0x908a, - 0x199a, 0x1638, 0x9005, 0x1150, 0x00c6, 0x2061, 0x1a6e, 0x6014, - 0x00ce, 0x9005, 0x1130, 0x2001, 0x001e, 0x0018, 0x908e, 0xffff, - 0x01b0, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0xa87c, 0x908c, - 0x00c0, 0x918e, 0x00c0, 0x0904, 0x8878, 0xd0b4, 0x1168, 0xd0bc, - 0x1904, 0x8851, 0x2009, 0x0006, 0x080c, 0x88a5, 0x0005, 0x900e, - 0x0c60, 0x2001, 0x1999, 0x08b0, 0xd0fc, 0x05e0, 0x908c, 0x2023, - 0x1568, 0x87ff, 0x1558, 0xa9a8, 0x81ff, 0x1540, 0x6124, 0x918c, - 0x0500, 0x1520, 0x6100, 0x918e, 0x0007, 0x1500, 0x2009, 0x1869, - 0x210c, 0xd184, 0x11d8, 0x6003, 0x0003, 0x6007, 0x0043, 0x6047, - 0xb035, 0x080c, 0x1c10, 0xa87c, 0xc0dd, 0xa87e, 0x600f, 0x0000, - 0x00f6, 0x2079, 0x0380, 0x7818, 0xd0bc, 0x1de8, 0x7833, 0x0013, - 0x2c00, 0x7836, 0x781b, 0x8080, 0x00fe, 0x0005, 0x908c, 0x0003, - 0x0120, 0x918e, 0x0003, 0x1904, 0x889f, 0x908c, 0x2020, 0x918e, - 0x2020, 0x01a8, 0x6024, 0xd0d4, 0x11e8, 0x2009, 0x1869, 0x2104, - 0xd084, 0x1138, 0x87ff, 0x1120, 0x2009, 0x0043, 0x0804, 0xac7c, - 0x0005, 0x87ff, 0x1de8, 0x2009, 0x0042, 0x0804, 0xac7c, 0x6110, - 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6024, 0xc0cd, - 0x6026, 0x0c00, 0xc0d4, 0x6026, 0xa890, 0x602e, 0xa88c, 0x6032, - 0x08e0, 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, - 0x1904, 0x889f, 0x908c, 0x2020, 0x918e, 0x2020, 0x0170, 0x0076, - 0x00f6, 0x2c78, 0x080c, 0x173e, 0x00fe, 0x007e, 0x87ff, 0x1120, - 0x2009, 0x0042, 0x080c, 0xac7c, 0x0005, 0x6110, 0x00b6, 0x2158, - 0xb900, 0x00be, 0xd1ac, 0x0d58, 0x6124, 0xc1cd, 0x6126, 0x0c38, - 0xd0fc, 0x0188, 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x9084, - 0x0003, 0x908e, 0x0002, 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, - 0x080c, 0xac7c, 0x0005, 0x00b9, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, - 0x0043, 0x080c, 0xac7c, 0x0cb0, 0x6110, 0x00b6, 0x2158, 0xb900, - 0x00be, 0xd1ac, 0x0d20, 0x6124, 0xc1cd, 0x6126, 0x0c00, 0x2009, - 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, 0x0096, 0x080c, 0xc832, - 0x0518, 0x6014, 0x2048, 0xa982, 0xa800, 0x6016, 0x9186, 0x0001, - 0x1188, 0xa97c, 0x918c, 0x8100, 0x918e, 0x8100, 0x1158, 0x00c6, - 0x2061, 0x1a6e, 0x6200, 0xd28c, 0x1120, 0x6204, 0x8210, 0x0208, - 0x6206, 0x00ce, 0x080c, 0x6bb0, 0x6014, 0x904d, 0x0076, 0x2039, - 0x0000, 0x190c, 0x87be, 0x007e, 0x009e, 0x0005, 0x0156, 0x00c6, - 0x2061, 0x1a6e, 0x6000, 0x81ff, 0x0110, 0x9205, 0x0008, 0x9204, - 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, 0x1138, 0x6808, - 0x9005, 0x0120, 0x8001, 0x680a, 0x9085, 0x0001, 0x0005, 0x2071, - 0x1923, 0x7003, 0x0006, 0x7007, 0x0000, 0x700f, 0x0000, 0x7013, - 0x0001, 0x080c, 0x1053, 0x090c, 0x0d7d, 0xa867, 0x0006, 0xa86b, - 0x0001, 0xa8ab, 0xdcb0, 0xa89f, 0x0000, 0x2900, 0x702e, 0x7033, - 0x0000, 0x0005, 0x0096, 0x00e6, 0x2071, 0x1923, 0x702c, 0x2048, - 0x6a2c, 0x721e, 0x6b30, 0x7322, 0x6834, 0x7026, 0xa896, 0x6838, - 0x702a, 0xa89a, 0x6824, 0x7016, 0x683c, 0x701a, 0x2009, 0x0028, - 0x200a, 0x9005, 0x0148, 0x900e, 0x9188, 0x000c, 0x8001, 0x1de0, - 0x2100, 0x9210, 0x1208, 0x8318, 0xaa8e, 0xab92, 0x7010, 0xd084, - 0x0178, 0xc084, 0x7007, 0x0001, 0x700f, 0x0000, 0x0006, 0x2009, - 0x181d, 0x2104, 0x9082, 0x0007, 0x2009, 0x1b4d, 0x200a, 0x000e, - 0xc095, 0x7012, 0x2008, 0x2001, 0x003b, 0x080c, 0x1686, 0x9006, - 0x2071, 0x193c, 0x7002, 0x7006, 0x702a, 0x00ee, 0x009e, 0x0005, - 0x00e6, 0x0126, 0x0156, 0x2091, 0x8000, 0x2071, 0x1800, 0x7154, - 0x2001, 0x0008, 0x910a, 0x0638, 0x2001, 0x187d, 0x20ac, 0x9006, - 0x9080, 0x0008, 0x1f04, 0x8958, 0x71c0, 0x9102, 0x02e0, 0x2071, - 0x1877, 0x20a9, 0x0007, 0x00c6, 0x080c, 0xab89, 0x6023, 0x0009, - 0x6003, 0x0004, 0x601f, 0x0101, 0x0089, 0x0126, 0x2091, 0x8000, - 0x080c, 0x8ade, 0x012e, 0x1f04, 0x8964, 0x9006, 0x00ce, 0x015e, - 0x012e, 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x00e6, 0x00b6, - 0x0096, 0x0086, 0x0056, 0x0046, 0x0026, 0x7118, 0x720c, 0x7620, - 0x7004, 0xd084, 0x1128, 0x2021, 0x0024, 0x2029, 0x0002, 0x0020, - 0x2021, 0x002c, 0x2029, 0x000a, 0x080c, 0x103a, 0x090c, 0x0d7d, - 0x2900, 0x6016, 0x2058, 0xac66, 0x9006, 0xa802, 0xa806, 0xa86a, - 0xa87a, 0xa8aa, 0xa887, 0x0005, 0xa87f, 0x0020, 0x7008, 0xa89a, - 0x7010, 0xa89e, 0xae8a, 0xa8af, 0xffff, 0xa8b3, 0x0000, 0x8109, - 0x0160, 0x080c, 0x103a, 0x090c, 0x0d7d, 0xad66, 0x2b00, 0xa802, - 0x2900, 0xb806, 0x2058, 0x8109, 0x1da0, 0x002e, 0x004e, 0x005e, - 0x008e, 0x009e, 0x00be, 0x00ee, 0x0005, 0x2079, 0x0000, 0x2071, - 0x1923, 0x7004, 0x004b, 0x700c, 0x0002, 0x89d0, 0x89c9, 0x89c9, - 0x0005, 0x89da, 0x8a3b, 0x8a3b, 0x8a3b, 0x8a3c, 0x8a4d, 0x8a4d, - 0x700c, 0x0cba, 0x0126, 0x2091, 0x8000, 0x78a0, 0x79a0, 0x9106, - 0x0128, 0x78a0, 0x79a0, 0x9106, 0x1904, 0x8a2e, 0x2001, 0x0005, - 0x2004, 0xd0bc, 0x0130, 0x2011, 0x0004, 0x2204, 0xc0c5, 0x2012, - 0x0ca8, 0x012e, 0x7018, 0x910a, 0x1130, 0x7030, 0x9005, 0x05a8, - 0x080c, 0x8a7c, 0x0490, 0x1210, 0x7114, 0x910a, 0x9192, 0x000a, - 0x0210, 0x2009, 0x000a, 0x2001, 0x1888, 0x2014, 0x2001, 0x1935, - 0x2004, 0x9100, 0x9202, 0x0e48, 0x080c, 0x8bc8, 0x2200, 0x9102, - 0x0208, 0x2208, 0x0096, 0x702c, 0x2048, 0xa873, 0x0001, 0xa976, - 0x080c, 0x8cd1, 0x2100, 0xa87e, 0xa86f, 0x0000, 0x009e, 0x0126, - 0x2091, 0x8000, 0x2009, 0x1a20, 0x2104, 0xc085, 0x200a, 0x700f, - 0x0002, 0x012e, 0x080c, 0x114e, 0x1de8, 0x0005, 0x2001, 0x0005, - 0x2004, 0xd0bc, 0x0130, 0x2011, 0x0004, 0x2204, 0xc0c5, 0x2012, - 0x0ca8, 0x012e, 0x0005, 0x0005, 0x700c, 0x0002, 0x8a41, 0x8a44, - 0x8a43, 0x080c, 0x89d8, 0x0005, 0x8001, 0x700e, 0x0096, 0x702c, - 0x2048, 0xa974, 0x009e, 0x0011, 0x0ca0, 0x0005, 0x0096, 0x702c, - 0x2048, 0x7018, 0x9100, 0x7214, 0x921a, 0x1130, 0x701c, 0xa88e, - 0x7020, 0xa892, 0x9006, 0x0068, 0x0006, 0x080c, 0x8cd1, 0x2100, - 0xaa8c, 0x9210, 0xaa8e, 0x1220, 0xa890, 0x9081, 0x0000, 0xa892, - 0x000e, 0x009e, 0x2f08, 0x9188, 0x0028, 0x200a, 0x701a, 0x0005, - 0x00e6, 0x2071, 0x1923, 0x700c, 0x0002, 0x8a7a, 0x8a7a, 0x8a78, - 0x700f, 0x0001, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x7030, - 0x9005, 0x0508, 0x2078, 0x7814, 0x2048, 0xae88, 0x00b6, 0x2059, - 0x0000, 0x080c, 0x8ae7, 0x00be, 0x01b0, 0x00e6, 0x2071, 0x193c, - 0x080c, 0x8b2e, 0x00ee, 0x0178, 0x0096, 0x080c, 0x1053, 0x2900, - 0x009e, 0x0148, 0xa8aa, 0x04b9, 0x0041, 0x2001, 0x1946, 0x2003, - 0x0000, 0x012e, 0x08c8, 0x012e, 0x0005, 0x00d6, 0x00c6, 0x0086, - 0x00a6, 0x2940, 0x2650, 0x2600, 0x9005, 0x0180, 0xa864, 0x9084, - 0x000f, 0x2068, 0x9d88, 0x1e62, 0x2165, 0x0056, 0x2029, 0x0000, - 0x080c, 0x8c56, 0x080c, 0x1e38, 0x1dd8, 0x005e, 0x00ae, 0x2001, - 0x187f, 0x2004, 0xa88a, 0x080c, 0x173e, 0x781f, 0x0101, 0x7813, - 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, 0x8b3d, 0x012e, 0x008e, - 0x00ce, 0x00de, 0x0005, 0x7030, 0x9005, 0x0138, 0x2078, 0x780c, - 0x7032, 0x2001, 0x1946, 0x2003, 0x0001, 0x0005, 0x00e6, 0x2071, - 0x1923, 0x7030, 0x600e, 0x2c00, 0x7032, 0x00ee, 0x0005, 0x00d6, - 0x00c6, 0x0026, 0x9b80, 0x8db0, 0x2005, 0x906d, 0x090c, 0x0d7d, - 0x9b80, 0x8da8, 0x2005, 0x9065, 0x090c, 0x0d7d, 0x6114, 0x2600, - 0x9102, 0x0248, 0x6828, 0x9102, 0x02f0, 0x9085, 0x0001, 0x002e, - 0x00ce, 0x00de, 0x0005, 0x6804, 0xd094, 0x0148, 0x6854, 0xd084, - 0x1178, 0xc085, 0x6856, 0x2011, 0x8026, 0x080c, 0x4b09, 0x684c, - 0x0096, 0x904d, 0x090c, 0x0d7d, 0xa804, 0x8000, 0xa806, 0x009e, - 0x9006, 0x2030, 0x0c20, 0x6854, 0xd08c, 0x1d08, 0xc08d, 0x6856, - 0x2011, 0x8025, 0x080c, 0x4b09, 0x684c, 0x0096, 0x904d, 0x090c, - 0x0d7d, 0xa800, 0x8000, 0xa802, 0x009e, 0x0888, 0x7000, 0x2019, - 0x0008, 0x8319, 0x7104, 0x9102, 0x1118, 0x2300, 0x9005, 0x0020, - 0x0210, 0x9302, 0x0008, 0x8002, 0x0005, 0x00d6, 0x7814, 0x9005, - 0x090c, 0x0d7d, 0x781c, 0x9084, 0x0101, 0x9086, 0x0101, 0x190c, - 0x0d7d, 0x2069, 0x193c, 0x6804, 0x9080, 0x193e, 0x2f08, 0x2102, - 0x6904, 0x8108, 0x9182, 0x0008, 0x0208, 0x900e, 0x6906, 0x9180, - 0x193e, 0x2003, 0x0000, 0x00de, 0x0005, 0x0096, 0x00c6, 0x2060, - 0x6014, 0x2048, 0xa8a8, 0x0096, 0x2048, 0x9005, 0x190c, 0x106c, - 0x009e, 0xa8ab, 0x0000, 0x080c, 0x0fec, 0x080c, 0xabdf, 0x00ce, - 0x009e, 0x0005, 0x6020, 0x9086, 0x0009, 0x1128, 0x601c, 0xd0c4, - 0x0110, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x6000, 0x9086, - 0x0000, 0x0178, 0x6010, 0x9005, 0x0150, 0x00b6, 0x2058, 0x080c, - 0x8ee3, 0x00be, 0x6013, 0x0000, 0x601b, 0x0000, 0x0010, 0x2c00, - 0x0861, 0x0005, 0x2009, 0x1927, 0x210c, 0xd194, 0x0005, 0x00e6, - 0x2071, 0x1923, 0x7110, 0xc194, 0xd19c, 0x1118, 0xc185, 0x7007, - 0x0000, 0x7112, 0x2001, 0x003b, 0x080c, 0x1686, 0x00ee, 0x0005, - 0x0096, 0x00d6, 0x9006, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, - 0x7016, 0x702a, 0x7026, 0x702f, 0x0000, 0x080c, 0x8d30, 0x0170, - 0x080c, 0x8d65, 0x0158, 0x2900, 0x7002, 0x700a, 0x701a, 0x7013, - 0x0001, 0x701f, 0x000a, 0x00de, 0x009e, 0x0005, 0x900e, 0x0cd8, - 0x00e6, 0x0096, 0x0086, 0x00d6, 0x00c6, 0x2071, 0x1930, 0x721c, - 0x2100, 0x9202, 0x1618, 0x080c, 0x8d65, 0x090c, 0x0d7d, 0x7018, - 0x9005, 0x1160, 0x2900, 0x7002, 0x700a, 0x701a, 0x9006, 0x7006, - 0x700e, 0xa806, 0xa802, 0x7012, 0x701e, 0x0038, 0x2040, 0xa806, - 0x2900, 0xa002, 0x701a, 0xa803, 0x0000, 0x7010, 0x8000, 0x7012, - 0x701c, 0x9080, 0x000a, 0x701e, 0x721c, 0x08d0, 0x721c, 0x00ce, - 0x00de, 0x008e, 0x009e, 0x00ee, 0x0005, 0x0096, 0x0156, 0x0136, - 0x0146, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1930, 0x7300, - 0x831f, 0x831e, 0x831e, 0x9384, 0x003f, 0x20e8, 0x939c, 0xffc0, - 0x9398, 0x0003, 0x7104, 0x080c, 0x8cd1, 0x810c, 0x2100, 0x9318, - 0x8003, 0x2228, 0x2021, 0x0078, 0x9402, 0x9532, 0x0208, 0x2028, - 0x2500, 0x8004, 0x20a8, 0x23a0, 0xa001, 0xa001, 0x4005, 0x2508, - 0x080c, 0x8cda, 0x2130, 0x7014, 0x9600, 0x7016, 0x2600, 0x711c, - 0x9102, 0x701e, 0x7004, 0x9600, 0x2008, 0x9082, 0x000a, 0x1190, - 0x7000, 0x2048, 0xa800, 0x9005, 0x1148, 0x2009, 0x0001, 0x0026, - 0x080c, 0x8bc8, 0x002e, 0x7000, 0x2048, 0xa800, 0x7002, 0x7007, - 0x0000, 0x0008, 0x7106, 0x2500, 0x9212, 0x1904, 0x8c07, 0x012e, - 0x00ee, 0x014e, 0x013e, 0x015e, 0x009e, 0x0005, 0x0016, 0x0026, - 0x00e6, 0x0126, 0x2091, 0x8000, 0x9580, 0x8da8, 0x2005, 0x9075, - 0x090c, 0x0d7d, 0x080c, 0x8cac, 0x012e, 0x9580, 0x8da4, 0x2005, - 0x9075, 0x090c, 0x0d7d, 0x0156, 0x0136, 0x01c6, 0x0146, 0x01d6, - 0x831f, 0x831e, 0x831e, 0x9384, 0x003f, 0x20e0, 0x9384, 0xffc0, - 0x9100, 0x2098, 0xa860, 0x20e8, 0xa95c, 0x2c05, 0x9100, 0x20a0, - 0x20a9, 0x0002, 0x4003, 0x2e0c, 0x2d00, 0x0002, 0x8c96, 0x8c96, - 0x8c98, 0x8c96, 0x8c98, 0x8c96, 0x8c96, 0x8c96, 0x8c96, 0x8c96, - 0x8c9e, 0x8c96, 0x8c9e, 0x8c96, 0x8c96, 0x8c96, 0x080c, 0x0d7d, - 0x4104, 0x20a9, 0x0002, 0x4002, 0x4003, 0x0028, 0x20a9, 0x0002, - 0x4003, 0x4104, 0x4003, 0x01de, 0x014e, 0x01ce, 0x013e, 0x015e, - 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, 0x7014, 0x8001, 0x7016, - 0x710c, 0x2110, 0x00f1, 0x810c, 0x9188, 0x0003, 0x7308, 0x8210, - 0x9282, 0x000a, 0x1198, 0x7008, 0x2048, 0xa800, 0x9005, 0x0158, - 0x0006, 0x080c, 0x8d74, 0x009e, 0xa807, 0x0000, 0x2900, 0x700a, - 0x7010, 0x8001, 0x7012, 0x700f, 0x0000, 0x0008, 0x720e, 0x009e, - 0x0005, 0x0006, 0x810b, 0x810b, 0x2100, 0x810b, 0x9100, 0x2008, - 0x000e, 0x0005, 0x0006, 0x0026, 0x2100, 0x9005, 0x0158, 0x9092, - 0x000c, 0x0240, 0x900e, 0x8108, 0x9082, 0x000c, 0x1de0, 0x002e, - 0x000e, 0x0005, 0x900e, 0x0cd8, 0x2d00, 0x90b8, 0x0008, 0x690c, - 0x6810, 0x2019, 0x0001, 0x2031, 0x8d1a, 0x9112, 0x0220, 0x0118, - 0x8318, 0x2208, 0x0cd0, 0x6808, 0x9005, 0x0108, 0x8318, 0x233a, - 0x6804, 0xd084, 0x2300, 0x2021, 0x0001, 0x1150, 0x9082, 0x0003, - 0x0967, 0x0a67, 0x8420, 0x9082, 0x0007, 0x0967, 0x0a67, 0x0cd0, - 0x9082, 0x0002, 0x0967, 0x0a67, 0x8420, 0x9082, 0x0005, 0x0967, - 0x0a67, 0x0cd0, 0x6c1a, 0x2d00, 0x90b8, 0x0007, 0x00e6, 0x2071, - 0x1800, 0x7128, 0x6810, 0x2019, 0x0001, 0x910a, 0x0118, 0x0210, - 0x8318, 0x0cd8, 0x2031, 0x8d2d, 0x0870, 0x6c16, 0x00ee, 0x0005, - 0x0096, 0x0046, 0x0126, 0x2091, 0x8000, 0x2b00, 0x9080, 0x8dac, - 0x2005, 0x9005, 0x090c, 0x0d7d, 0x2004, 0x90a0, 0x000a, 0x080c, - 0x1053, 0x01d0, 0x2900, 0x7026, 0xa803, 0x0000, 0xa807, 0x0000, - 0x080c, 0x1053, 0x0188, 0x7024, 0xa802, 0xa807, 0x0000, 0x2900, - 0x7026, 0x94a2, 0x000a, 0x0110, 0x0208, 0x0c90, 0x9085, 0x0001, - 0x012e, 0x004e, 0x009e, 0x0005, 0x7024, 0x9005, 0x0dc8, 0x2048, - 0xac00, 0x080c, 0x106c, 0x2400, 0x0cc0, 0x0126, 0x2091, 0x8000, - 0x7024, 0x2048, 0x9005, 0x0130, 0xa800, 0x7026, 0xa803, 0x0000, - 0xa807, 0x0000, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x7024, - 0xa802, 0x2900, 0x7026, 0x012e, 0x0005, 0x0096, 0x9e80, 0x0009, - 0x2004, 0x9005, 0x0138, 0x2048, 0xa800, 0x0006, 0x080c, 0x106c, - 0x000e, 0x0cb8, 0x009e, 0x0005, 0x0096, 0x7008, 0x9005, 0x0138, - 0x2048, 0xa800, 0x0006, 0x080c, 0x106c, 0x000e, 0x0cb8, 0x9006, - 0x7002, 0x700a, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x702a, - 0x7026, 0x702e, 0x009e, 0x0005, 0x1a6c, 0x0000, 0x0000, 0x0000, - 0x1930, 0x0000, 0x0000, 0x0000, 0x1888, 0x0000, 0x0000, 0x0000, - 0x1877, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00c6, 0x00b6, 0x00a6, - 0xa8a8, 0x2040, 0x2071, 0x1877, 0x080c, 0x8ece, 0xa067, 0x0023, - 0x6010, 0x905d, 0x0904, 0x8ea3, 0xb814, 0xa06e, 0xb910, 0xa172, - 0xb9a0, 0xa176, 0x2001, 0x0003, 0xa07e, 0xa834, 0xa082, 0xa07b, - 0x0000, 0xa898, 0x9005, 0x0118, 0xa078, 0xc085, 0xa07a, 0x2858, - 0x2031, 0x0018, 0xa068, 0x908a, 0x0019, 0x1a0c, 0x0d7d, 0x2020, - 0x2050, 0x2940, 0xa864, 0x90bc, 0x00ff, 0x908c, 0x000f, 0x91e0, - 0x1e62, 0x2c65, 0x9786, 0x0024, 0x2c05, 0x1590, 0x908a, 0x0036, - 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x8e10, 0x8e10, 0x8e12, - 0x8e10, 0x8e10, 0x8e10, 0x8e14, 0x8e10, 0x8e10, 0x8e10, 0x8e16, - 0x8e10, 0x8e10, 0x8e10, 0x8e18, 0x8e10, 0x8e10, 0x8e10, 0x8e1a, - 0x8e10, 0x8e10, 0x8e10, 0x8e1c, 0x8e10, 0x8e10, 0x8e10, 0x8e1e, - 0x080c, 0x0d7d, 0xa180, 0x04b8, 0xa190, 0x04a8, 0xa1a0, 0x0498, - 0xa1b0, 0x0488, 0xa1c0, 0x0478, 0xa1d0, 0x0468, 0xa1e0, 0x0458, - 0x908a, 0x0034, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x8e42, - 0x8e40, 0x8e40, 0x8e40, 0x8e40, 0x8e40, 0x8e44, 0x8e40, 0x8e40, - 0x8e40, 0x8e40, 0x8e40, 0x8e46, 0x8e40, 0x8e40, 0x8e40, 0x8e40, - 0x8e40, 0x8e48, 0x8e40, 0x8e40, 0x8e40, 0x8e40, 0x8e40, 0x8e4a, - 0x080c, 0x0d7d, 0xa180, 0x0038, 0xa198, 0x0028, 0xa1b0, 0x0018, - 0xa1c8, 0x0008, 0xa1e0, 0x2600, 0x0002, 0x8e66, 0x8e68, 0x8e6a, - 0x8e6c, 0x8e6e, 0x8e70, 0x8e72, 0x8e74, 0x8e76, 0x8e78, 0x8e7a, - 0x8e7c, 0x8e7e, 0x8e80, 0x8e82, 0x8e84, 0x8e86, 0x8e88, 0x8e8a, - 0x8e8c, 0x8e8e, 0x8e90, 0x8e92, 0x8e94, 0x8e96, 0x080c, 0x0d7d, - 0xb9e2, 0x0468, 0xb9de, 0x0458, 0xb9da, 0x0448, 0xb9d6, 0x0438, - 0xb9d2, 0x0428, 0xb9ce, 0x0418, 0xb9ca, 0x0408, 0xb9c6, 0x00f8, - 0xb9c2, 0x00e8, 0xb9be, 0x00d8, 0xb9ba, 0x00c8, 0xb9b6, 0x00b8, - 0xb9b2, 0x00a8, 0xb9ae, 0x0098, 0xb9aa, 0x0088, 0xb9a6, 0x0078, - 0xb9a2, 0x0068, 0xb99e, 0x0058, 0xb99a, 0x0048, 0xb996, 0x0038, - 0xb992, 0x0028, 0xb98e, 0x0018, 0xb98a, 0x0008, 0xb986, 0x8631, - 0x8421, 0x0120, 0x080c, 0x1e38, 0x0804, 0x8dea, 0x00ae, 0x00be, - 0x00ce, 0x00ee, 0x0005, 0xa86c, 0xa06e, 0xa870, 0xa072, 0xa077, - 0x00ff, 0x9006, 0x0804, 0x8dcc, 0x0006, 0x0016, 0x00b6, 0x6010, - 0x2058, 0xb810, 0x9005, 0x01b0, 0x2001, 0x1924, 0x2004, 0x9005, - 0x0188, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, - 0x0046, 0xbba0, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, 0x4b09, - 0x004e, 0x003e, 0x00be, 0x001e, 0x000e, 0x0005, 0x9016, 0x710c, - 0xa834, 0x910a, 0xa936, 0x7008, 0x9005, 0x0120, 0x8210, 0x910a, - 0x0238, 0x0130, 0x7010, 0x8210, 0x910a, 0x0210, 0x0108, 0x0cd8, - 0xaa8a, 0xa26a, 0x0005, 0x00f6, 0x00d6, 0x0036, 0x2079, 0x0300, - 0x781b, 0x0200, 0x7818, 0xd094, 0x1dd8, 0x781b, 0x0202, 0xa001, - 0xa001, 0x7818, 0xd094, 0x1da0, 0xb8ac, 0x9005, 0x01b8, 0x2068, - 0x2079, 0x0000, 0x2c08, 0x911e, 0x1118, 0x680c, 0xb8ae, 0x0060, - 0x9106, 0x0140, 0x2d00, 0x2078, 0x680c, 0x9005, 0x090c, 0x0d7d, - 0x2068, 0x0cb0, 0x6b0c, 0x7b0e, 0x600f, 0x0000, 0x2079, 0x0300, - 0x781b, 0x0200, 0x003e, 0x00de, 0x00fe, 0x0005, 0x00e6, 0x00d6, - 0x0096, 0x00c6, 0x0036, 0x0126, 0x2091, 0x8000, 0x0156, 0x20a9, - 0x01ff, 0x2071, 0x0300, 0x701b, 0x0200, 0x7018, 0xd094, 0x0110, - 0x1f04, 0x8f23, 0x701b, 0x0202, 0xa001, 0xa001, 0x7018, 0xd094, - 0x1d90, 0xb8ac, 0x9005, 0x01d0, 0x2060, 0x600c, 0xb8ae, 0x6003, - 0x0004, 0x601b, 0x0000, 0x6013, 0x0000, 0x601f, 0x0101, 0x6014, - 0x2048, 0xa88b, 0x0000, 0xa8a8, 0xa8ab, 0x0000, 0x904d, 0x090c, - 0x0d7d, 0x080c, 0x106c, 0x080c, 0x8ade, 0x0c18, 0x2071, 0x0300, - 0x701b, 0x0200, 0x015e, 0x012e, 0x003e, 0x00ce, 0x009e, 0x00de, - 0x00ee, 0x0005, 0x00c6, 0x00b6, 0x0016, 0x0006, 0x0156, 0x080c, - 0x2614, 0x015e, 0x11b0, 0x080c, 0x65bf, 0x190c, 0x0d7d, 0x000e, - 0x001e, 0xb912, 0xb816, 0x080c, 0xab89, 0x0140, 0x2b00, 0x6012, - 0x6023, 0x0001, 0x2009, 0x0001, 0x080c, 0xac7c, 0x00be, 0x00ce, - 0x0005, 0x000e, 0x001e, 0x0cd0, 0x0066, 0x6000, 0x90b2, 0x0016, - 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0x8f95, 0x8f95, 0x8f95, - 0x8f97, 0x8fe0, 0x8f95, 0x8f95, 0x8f95, 0x9043, 0x8f95, 0x907b, - 0x8f95, 0x8f95, 0x8f95, 0x8f95, 0x8f95, 0x080c, 0x0d7d, 0x9182, - 0x0040, 0x0002, 0x8faa, 0x8faa, 0x8faa, 0x8faa, 0x8faa, 0x8faa, - 0x8faa, 0x8faa, 0x8faa, 0x8fac, 0x8fbd, 0x8faa, 0x8faa, 0x8faa, - 0x8faa, 0x8fce, 0x080c, 0x0d7d, 0x0096, 0x6114, 0x2148, 0xa87b, - 0x0000, 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, 0x080c, - 0x6b7b, 0x080c, 0xabdf, 0x009e, 0x0005, 0x080c, 0x9621, 0x00d6, - 0x6114, 0x080c, 0xc832, 0x0130, 0x0096, 0x6114, 0x2148, 0x080c, - 0x6d7b, 0x009e, 0x00de, 0x080c, 0xabdf, 0x0005, 0x080c, 0x9621, - 0x080c, 0x31ef, 0x6114, 0x0096, 0x2148, 0x080c, 0xc832, 0x0120, - 0xa87b, 0x0029, 0x080c, 0x6d7b, 0x009e, 0x080c, 0xabdf, 0x0005, - 0x601b, 0x0000, 0x9182, 0x0040, 0x0096, 0x0002, 0x8ffb, 0x8ffb, - 0x8ffb, 0x8ffb, 0x8ffb, 0x8ffb, 0x8ffb, 0x8ffb, 0x8ffd, 0x8ffb, - 0x8ffb, 0x8ffb, 0x903f, 0x8ffb, 0x8ffb, 0x8ffb, 0x8ffb, 0x8ffb, - 0x8ffb, 0x9003, 0x8ffb, 0x080c, 0x0d7d, 0x6114, 0x2148, 0xa938, - 0x918e, 0xffff, 0x05e0, 0x00e6, 0x6114, 0x2148, 0x080c, 0x8db4, - 0x0096, 0xa8a8, 0x2048, 0x080c, 0x6b13, 0x009e, 0xa8ab, 0x0000, - 0x6010, 0x9005, 0x0128, 0x00b6, 0x2058, 0x080c, 0x8ee3, 0x00be, - 0xae88, 0x00b6, 0x2059, 0x0000, 0x080c, 0x8ae7, 0x00be, 0x01e0, - 0x2071, 0x193c, 0x080c, 0x8b2e, 0x01b8, 0x9086, 0x0001, 0x1128, - 0x2001, 0x1946, 0x2004, 0x9005, 0x1178, 0x0096, 0x080c, 0x103a, - 0x2900, 0x009e, 0x0148, 0xa8aa, 0x00f6, 0x2c78, 0x080c, 0x8aa5, - 0x00fe, 0x00ee, 0x009e, 0x0005, 0x080c, 0x8ade, 0x0cd0, 0x080c, - 0x90f7, 0x009e, 0x0005, 0x9182, 0x0040, 0x0096, 0x0002, 0x9057, - 0x9057, 0x9057, 0x9059, 0x9057, 0x9057, 0x9057, 0x9079, 0x9057, - 0x9057, 0x9057, 0x9057, 0x9057, 0x9057, 0x9057, 0x9057, 0x080c, - 0x0d7d, 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa8ac, 0xa836, - 0xa8b0, 0xa83a, 0xa847, 0x0000, 0xa84b, 0x0000, 0xa884, 0x9092, - 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, - 0x621a, 0x080c, 0x1bc7, 0x2009, 0x8030, 0x080c, 0x9247, 0x009e, - 0x0005, 0x080c, 0x0d7d, 0x080c, 0x9621, 0x6114, 0x2148, 0xa87b, - 0x0000, 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, 0x080c, - 0x6d7b, 0x080c, 0xabdf, 0x009e, 0x0005, 0x080c, 0xa888, 0x6144, - 0xd1fc, 0x0120, 0xd1ac, 0x1110, 0x6003, 0x0003, 0x6000, 0x908a, - 0x0016, 0x1a0c, 0x0d7d, 0x0096, 0x0023, 0x009e, 0x080c, 0xa8a4, - 0x0005, 0x90b1, 0x90b1, 0x90b1, 0x90b3, 0x90c4, 0x90b1, 0x90b1, - 0x90b1, 0x90b1, 0x90b1, 0x90b1, 0x90b1, 0x90b1, 0x90b1, 0x90b1, - 0x90b1, 0x080c, 0x0d7d, 0x080c, 0xaa1c, 0x6114, 0x2148, 0xa87b, - 0x0006, 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, 0x080c, - 0x6d7b, 0x080c, 0xabdf, 0x0005, 0x0491, 0x0005, 0x080c, 0xa888, - 0x6000, 0x6144, 0xd1fc, 0x0130, 0xd1ac, 0x1120, 0x6003, 0x0003, - 0x2009, 0x0003, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0096, 0x0033, - 0x009e, 0x0106, 0x080c, 0xa8a4, 0x010e, 0x0005, 0x90ee, 0x90ee, - 0x90ee, 0x90f0, 0x90f7, 0x90ee, 0x90ee, 0x90ee, 0x90ee, 0x90ee, - 0x90ee, 0x90ee, 0x90ee, 0x90ee, 0x90ee, 0x90ee, 0x080c, 0x0d7d, - 0x0036, 0x00e6, 0x080c, 0xaa1c, 0x00ee, 0x003e, 0x0005, 0x00f6, - 0x00e6, 0x601b, 0x0000, 0x6014, 0x2048, 0x6010, 0x9005, 0x0128, - 0x00b6, 0x2058, 0x080c, 0x8ee3, 0x00be, 0x2071, 0x193c, 0x080c, - 0x8b2e, 0x0160, 0x2001, 0x187f, 0x2004, 0xa88a, 0x2031, 0x0000, - 0x2c78, 0x080c, 0x8aa5, 0x00ee, 0x00fe, 0x0005, 0x0096, 0xa88b, - 0x0000, 0xa8a8, 0x2048, 0x080c, 0x106c, 0x009e, 0xa8ab, 0x0000, - 0x080c, 0x8ade, 0x0c80, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x187a, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, - 0x20a9, 0x0010, 0x9006, 0x8004, 0x8086, 0x818e, 0x1208, 0x9200, - 0x1f04, 0x913c, 0x8086, 0x818e, 0x004e, 0x003e, 0x012e, 0x0005, - 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, 0x9005, - 0x01c8, 0x911a, 0x12b8, 0x8213, 0x818d, 0x0228, 0x911a, 0x1220, - 0x1f04, 0x9153, 0x0028, 0x911a, 0x2308, 0x8210, 0x1f04, 0x9153, - 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, 0x015e, 0x007e, - 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, 0x0ca8, 0x0126, - 0x2091, 0x2800, 0x2079, 0x19e6, 0x012e, 0x00d6, 0x2069, 0x19e6, - 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, 0x0000, 0x2069, - 0x0200, 0x080c, 0xa67d, 0x04a9, 0x080c, 0xa668, 0x0491, 0x080c, - 0xa66b, 0x0479, 0x080c, 0xa66e, 0x0461, 0x080c, 0xa671, 0x0449, - 0x080c, 0xa674, 0x0431, 0x080c, 0xa677, 0x0419, 0x080c, 0xa67a, - 0x0401, 0x01de, 0x014e, 0x015e, 0x6857, 0x0000, 0x00f6, 0x2079, - 0x0380, 0x00f9, 0x7807, 0x0003, 0x7803, 0x0000, 0x7803, 0x0001, - 0x2069, 0x0004, 0x2d04, 0x9084, 0xfffe, 0x9085, 0x8000, 0x206a, - 0x2069, 0x0100, 0x6828, 0x9084, 0xfffc, 0x682a, 0x00fe, 0x00de, - 0x0005, 0x20a9, 0x0020, 0x20a1, 0x0240, 0x2001, 0x0000, 0x4004, - 0x0005, 0x00c6, 0x7803, 0x0000, 0x9006, 0x7827, 0x0030, 0x782b, - 0x0400, 0x7827, 0x0031, 0x782b, 0x1aee, 0x781f, 0xff00, 0x781b, - 0xff00, 0x2061, 0x1ae3, 0x602f, 0x19e6, 0x6033, 0x1800, 0x6037, - 0x1a02, 0x603b, 0x1e62, 0x603f, 0x1e72, 0x6042, 0x6047, 0x1ab9, - 0x00ce, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, - 0x0001, 0x01b0, 0x00c6, 0x6146, 0x600f, 0x0000, 0x2c08, 0x2061, - 0x19e6, 0x602c, 0x8000, 0x602e, 0x601c, 0x9005, 0x0130, 0x9080, - 0x0003, 0x2102, 0x611e, 0x00ce, 0x0005, 0x6122, 0x611e, 0x0cd8, - 0x6146, 0x2c08, 0x2001, 0x0012, 0x080c, 0xa879, 0x0005, 0x0016, - 0x2009, 0x8020, 0x6146, 0x2c08, 0x2001, 0x0382, 0x2004, 0x9084, - 0x0007, 0x9086, 0x0001, 0x1128, 0x2001, 0x0019, 0x080c, 0xa879, - 0x0088, 0x00c6, 0x2061, 0x19e6, 0x602c, 0x8000, 0x602e, 0x600c, - 0x9005, 0x0128, 0x9080, 0x0003, 0x2102, 0x610e, 0x0010, 0x6112, - 0x610e, 0x00ce, 0x001e, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, - 0x0007, 0x9086, 0x0001, 0x0198, 0x00c6, 0x6146, 0x600f, 0x0000, - 0x2c08, 0x2061, 0x19e6, 0x6044, 0x9005, 0x0130, 0x9080, 0x0003, - 0x2102, 0x6146, 0x00ce, 0x0005, 0x614a, 0x6146, 0x0cd8, 0x6146, - 0x600f, 0x0000, 0x2c08, 0x2001, 0x0013, 0x080c, 0xa879, 0x0005, - 0x6044, 0xd0dc, 0x0110, 0x080c, 0xa31a, 0x0005, 0x00f6, 0x00e6, - 0x00d6, 0x00c6, 0x00b6, 0x0096, 0x0076, 0x0066, 0x0056, 0x0036, - 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, 0x2071, 0x19e6, 0x7648, - 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, 0x92d3, 0x6010, - 0x2058, 0xb8a0, 0x9206, 0x1904, 0x92ce, 0x87ff, 0x0120, 0x605c, - 0x9106, 0x1904, 0x92ce, 0x704c, 0x9c06, 0x1178, 0x0036, 0x2019, - 0x0001, 0x080c, 0xa0fa, 0x703f, 0x0000, 0x9006, 0x704e, 0x706a, - 0x7052, 0x706e, 0x003e, 0x2029, 0x0001, 0x0811, 0x7048, 0x9c36, - 0x1110, 0x660c, 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, 0x9f36, - 0x0118, 0x2f00, 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, 0x0066, - 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, - 0x080c, 0xc832, 0x01f0, 0x6014, 0x2048, 0x6020, 0x9086, 0x0003, - 0x1588, 0x6004, 0x9086, 0x0040, 0x090c, 0xa31a, 0xa867, 0x0103, - 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, 0xcb35, - 0x080c, 0xe631, 0x080c, 0x6d7b, 0x007e, 0x003e, 0x001e, 0x080c, - 0xca21, 0x080c, 0xac1a, 0x00ce, 0x0804, 0x926c, 0x2c78, 0x600c, - 0x2060, 0x0804, 0x926c, 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, - 0x005e, 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, - 0x0076, 0x080c, 0xe631, 0x080c, 0xe27c, 0x007e, 0x003e, 0x001e, - 0x08c0, 0x6020, 0x9086, 0x0009, 0x1168, 0xa87b, 0x0006, 0x0016, - 0x0036, 0x0076, 0x080c, 0x6d7b, 0x080c, 0xabdf, 0x007e, 0x003e, - 0x001e, 0x0848, 0x6020, 0x9086, 0x000a, 0x0904, 0x92b8, 0x0804, - 0x92b1, 0x0006, 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, 0x9036, - 0x0126, 0x2091, 0x8000, 0x2079, 0x19e6, 0x7848, 0x9065, 0x0904, - 0x936d, 0x600c, 0x0006, 0x600f, 0x0000, 0x784c, 0x9c06, 0x11a0, - 0x0036, 0x2019, 0x0001, 0x080c, 0xa0fa, 0x783f, 0x0000, 0x901e, - 0x7b4e, 0x7b6a, 0x7b52, 0x7b6e, 0x003e, 0x000e, 0x9005, 0x1118, - 0x600c, 0x600f, 0x0000, 0x0006, 0x00e6, 0x2f70, 0x080c, 0x9250, - 0x00ee, 0x080c, 0xc832, 0x0548, 0x6014, 0x2048, 0x6020, 0x9086, - 0x0003, 0x15a8, 0x3e08, 0x918e, 0x0002, 0x1188, 0x6010, 0x9005, - 0x0170, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, 0x6048, - 0x9005, 0x11c0, 0x2001, 0x1987, 0x2004, 0x604a, 0x0098, 0x6004, - 0x9086, 0x0040, 0x090c, 0xa31a, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x080c, 0x6d6f, 0x080c, 0xca21, 0x6044, 0xc0fc, 0x6046, - 0x080c, 0xac1a, 0x000e, 0x0804, 0x9316, 0x7e4a, 0x7e46, 0x012e, - 0x00fe, 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, 0x6020, - 0x9086, 0x0006, 0x1118, 0x080c, 0xe27c, 0x0c38, 0x6020, 0x9086, - 0x0009, 0x1130, 0xab7a, 0x080c, 0x6d7b, 0x080c, 0xabdf, 0x0c10, - 0x6020, 0x9086, 0x000a, 0x0990, 0x0850, 0x0016, 0x0026, 0x0086, - 0x9046, 0x00a9, 0x080c, 0x947e, 0x008e, 0x002e, 0x001e, 0x0005, - 0x00f6, 0x0126, 0x2079, 0x19e6, 0x2091, 0x8000, 0x080c, 0x94c7, - 0x080c, 0x955b, 0x080c, 0x67ad, 0x012e, 0x00fe, 0x0005, 0x00b6, - 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0016, 0x0006, - 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7620, 0x2660, 0x2678, - 0x8cff, 0x0904, 0x9443, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, - 0x943e, 0x88ff, 0x0120, 0x605c, 0x9106, 0x1904, 0x943e, 0x7030, - 0x9c06, 0x1570, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, - 0x86d5, 0x080c, 0x9e16, 0x68c3, 0x0000, 0x080c, 0xa31a, 0x7033, - 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, - 0x2001, 0x0100, 0x080c, 0x2a29, 0x9006, 0x080c, 0x2a29, 0x2069, - 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0040, - 0x7008, 0xc0ad, 0x700a, 0x6003, 0x0009, 0x630a, 0x0804, 0x943e, - 0x7020, 0x9c36, 0x1110, 0x660c, 0x7622, 0x701c, 0x9c36, 0x1140, - 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x701e, 0x0010, 0x701f, 0x0000, - 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, - 0x600f, 0x0000, 0x6044, 0xc0fc, 0x6046, 0x6014, 0x2048, 0x080c, - 0xc832, 0x01e8, 0x6020, 0x9086, 0x0003, 0x1580, 0x080c, 0xca47, - 0x1118, 0x080c, 0xb5a6, 0x0098, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, 0xcb35, 0x080c, 0xe631, - 0x080c, 0x6d7b, 0x008e, 0x003e, 0x001e, 0x080c, 0xca21, 0x080c, - 0xac1a, 0x080c, 0xa1f0, 0x00ce, 0x0804, 0x93b8, 0x2c78, 0x600c, - 0x2060, 0x0804, 0x93b8, 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, - 0x00de, 0x00ee, 0x00fe, 0x009e, 0x00be, 0x0005, 0x6020, 0x9086, - 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xe631, 0x080c, - 0xe27c, 0x008e, 0x003e, 0x001e, 0x08d0, 0x080c, 0xb5a6, 0x6020, - 0x9086, 0x0002, 0x1160, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, - 0x0904, 0x9424, 0x9086, 0x008b, 0x0904, 0x9424, 0x0840, 0x6020, - 0x9086, 0x0005, 0x1920, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, - 0x09c8, 0x9086, 0x008b, 0x09b0, 0x0804, 0x9437, 0x0006, 0x00f6, - 0x00e6, 0x0096, 0x00b6, 0x00c6, 0x0066, 0x0016, 0x0126, 0x2091, - 0x8000, 0x9280, 0x1000, 0x2004, 0x905d, 0x2079, 0x19e6, 0x9036, - 0x7828, 0x2060, 0x8cff, 0x0538, 0x6010, 0x9b06, 0x1500, 0x6043, - 0xffff, 0x080c, 0xaa67, 0x01d8, 0x610c, 0x0016, 0x080c, 0x9f84, - 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, - 0x0036, 0x0086, 0x080c, 0xcb35, 0x080c, 0xe631, 0x080c, 0x6d7b, - 0x008e, 0x003e, 0x001e, 0x080c, 0xac1a, 0x00ce, 0x08d8, 0x2c30, - 0x600c, 0x2060, 0x08b8, 0x080c, 0x67ca, 0x012e, 0x001e, 0x006e, - 0x00ce, 0x00be, 0x009e, 0x00ee, 0x00fe, 0x000e, 0x0005, 0x0096, - 0x0006, 0x0066, 0x00c6, 0x00d6, 0x9036, 0x7820, 0x9065, 0x0904, - 0x952e, 0x600c, 0x0006, 0x6044, 0xc0fc, 0x6046, 0x600f, 0x0000, - 0x7830, 0x9c06, 0x1588, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, - 0x080c, 0x86d5, 0x080c, 0x9e16, 0x68c3, 0x0000, 0x080c, 0xa31a, - 0x7833, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, - 0x0138, 0x2001, 0x0100, 0x080c, 0x2a29, 0x9006, 0x080c, 0x2a29, + 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, + 0x0100, 0x2071, 0x1800, 0x6020, 0x9084, 0x00c0, 0x01e8, 0x080c, + 0xa899, 0x2011, 0x0003, 0x080c, 0xa1be, 0x2011, 0x0002, 0x080c, + 0xa1c8, 0x080c, 0xa0b3, 0x901e, 0x080c, 0xa133, 0x080c, 0xa8b5, + 0x2069, 0x0140, 0x2001, 0x00a0, 0x080c, 0x2a49, 0x080c, 0x77ef, + 0x080c, 0x6044, 0x0804, 0x776b, 0x2001, 0x180c, 0x200c, 0xd1b4, + 0x1160, 0xc1b5, 0x2102, 0x080c, 0x734a, 0x2069, 0x0140, 0x2001, + 0x0080, 0x080c, 0x2a49, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, + 0x9005, 0x1118, 0x6808, 0x9005, 0x0190, 0x6028, 0x9084, 0xfdff, + 0x602a, 0x2011, 0x0200, 0x080c, 0x2a83, 0x2069, 0x198e, 0x7000, + 0x206a, 0x709b, 0x0027, 0x7003, 0x0001, 0x0804, 0x776b, 0x2011, + 0x1e00, 0x080c, 0x2a83, 0x2009, 0x1e00, 0x080c, 0x2a2f, 0x6024, + 0x910c, 0x01c8, 0x9084, 0x1c00, 0x11b0, 0x1d04, 0x7727, 0x0006, + 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, 0x85a5, 0x00ee, 0x00de, + 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, 0x1a02, 0x7070, 0x00ee, + 0x9005, 0x19e8, 0x0400, 0x0026, 0x2011, 0x7362, 0x080c, 0x8651, + 0x2011, 0x7355, 0x080c, 0x875d, 0x002e, 0x2069, 0x0140, 0x60e3, + 0x0000, 0x70b4, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, + 0x2001, 0x196c, 0x2004, 0x080c, 0x26a4, 0x60e2, 0x2001, 0x180c, + 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x0046, + 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x080c, 0xcf7d, + 0x1904, 0x77d9, 0x7130, 0xd184, 0x1170, 0x080c, 0x337c, 0x0138, + 0xc18d, 0x7132, 0x2011, 0x1848, 0x2214, 0xd2ac, 0x1120, 0x7030, + 0xd08c, 0x0904, 0x77d9, 0x2011, 0x1848, 0x220c, 0xd1a4, 0x0538, + 0x0016, 0x2019, 0x000e, 0x080c, 0xe286, 0x0156, 0x00b6, 0x20a9, + 0x007f, 0x900e, 0x9186, 0x007e, 0x01a0, 0x9186, 0x0080, 0x0188, + 0x080c, 0x6644, 0x1170, 0x2120, 0x9006, 0x0016, 0x2009, 0x000e, + 0x080c, 0xe316, 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x8902, + 0x001e, 0x8108, 0x1f04, 0x77a2, 0x00be, 0x015e, 0x001e, 0xd1ac, + 0x1148, 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, 0x31d4, + 0x001e, 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, + 0x6644, 0x1110, 0x080c, 0x605e, 0x8108, 0x1f04, 0x77cf, 0x00be, + 0x015e, 0x080c, 0x1b04, 0x080c, 0xa899, 0x080c, 0xab61, 0x080c, + 0xa8b5, 0x60e3, 0x0000, 0x080c, 0x6044, 0x080c, 0x741d, 0x00ee, + 0x00ce, 0x004e, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, + 0x197c, 0x2003, 0x0001, 0x0005, 0x2001, 0x197c, 0x2003, 0x0000, + 0x0005, 0x2001, 0x197b, 0x2003, 0xaaaa, 0x0005, 0x2001, 0x197b, + 0x2003, 0x0000, 0x0005, 0x2071, 0x18fa, 0x7003, 0x0000, 0x7007, + 0x0000, 0x080c, 0x1060, 0x090c, 0x0d7d, 0xa8ab, 0xdcb0, 0x2900, + 0x704e, 0x080c, 0x1060, 0x090c, 0x0d7d, 0xa8ab, 0xdcb0, 0x2900, + 0x7052, 0xa867, 0x0000, 0xa86b, 0x0001, 0xa89f, 0x0000, 0x0005, + 0x00e6, 0x2071, 0x0040, 0x6848, 0x9005, 0x1118, 0x9085, 0x0001, + 0x04b0, 0x6840, 0x9005, 0x0150, 0x04a1, 0x6a50, 0x9200, 0x7002, + 0x6854, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6850, 0x7002, + 0x6854, 0x7006, 0x6858, 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, + 0x1110, 0x7012, 0x7016, 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, + 0x701e, 0x2001, 0x0019, 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, + 0x200c, 0x918c, 0xfff7, 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, + 0x18fa, 0x6807, 0x0001, 0x00de, 0x080c, 0x7de7, 0x9006, 0x00ee, + 0x0005, 0x900e, 0x0156, 0x20a9, 0x0006, 0x8003, 0x818d, 0x1f04, + 0x7865, 0x015e, 0x0005, 0x2079, 0x0040, 0x2071, 0x18fa, 0x7004, + 0x0002, 0x787b, 0x787c, 0x78c8, 0x7923, 0x7a33, 0x7879, 0x7879, + 0x7a5d, 0x080c, 0x0d7d, 0x0005, 0x2079, 0x0040, 0x2001, 0x1dc0, + 0x2003, 0x0000, 0x782c, 0x908c, 0x0780, 0x190c, 0x7ec9, 0xd0a4, + 0x0578, 0x2001, 0x1dc0, 0x2004, 0x9082, 0x0080, 0x1648, 0x1d04, + 0x7899, 0x2001, 0x1a05, 0x200c, 0x8109, 0x0510, 0x2091, 0x6000, + 0x2102, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, + 0x00ff, 0x908a, 0x0040, 0x0610, 0x00c0, 0x2001, 0x1800, 0x200c, + 0x9186, 0x0003, 0x1168, 0x7004, 0x0002, 0x78b8, 0x7882, 0x78b8, + 0x78b6, 0x78b8, 0x78b8, 0x78b8, 0x78b8, 0x78b8, 0x080c, 0x7923, + 0x782c, 0xd09c, 0x090c, 0x7de7, 0x0005, 0x9082, 0x005a, 0x1218, + 0x2100, 0x003b, 0x0c10, 0x080c, 0x7959, 0x0c90, 0x00e3, 0x08e8, + 0x0005, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, + 0x7959, 0x797b, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, + 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, + 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7965, 0x7959, 0x7b4e, + 0x7959, 0x7959, 0x7959, 0x797b, 0x7959, 0x7965, 0x7b8f, 0x7bd0, + 0x7c17, 0x7c2b, 0x7959, 0x7959, 0x797b, 0x7965, 0x798f, 0x7959, + 0x7a07, 0x7cd6, 0x7cf1, 0x7959, 0x797b, 0x7959, 0x798f, 0x7959, + 0x7959, 0x79fd, 0x7cf1, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, + 0x7959, 0x7959, 0x7959, 0x7959, 0x79a3, 0x7959, 0x7959, 0x7959, + 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7959, 0x7e6d, 0x7959, + 0x7e17, 0x7959, 0x7e17, 0x7959, 0x79b8, 0x7959, 0x7959, 0x7959, + 0x7959, 0x7959, 0x7959, 0x2079, 0x0040, 0x7004, 0x9086, 0x0003, + 0x1198, 0x782c, 0x080c, 0x7e10, 0xd0a4, 0x0170, 0x7824, 0x2048, + 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, 0x908a, 0x001a, + 0x1210, 0x002b, 0x0c50, 0x00e9, 0x080c, 0x7de7, 0x0005, 0x7959, + 0x7965, 0x7b3a, 0x7959, 0x7965, 0x7959, 0x7965, 0x7965, 0x7959, + 0x7965, 0x7b3a, 0x7965, 0x7965, 0x7965, 0x7965, 0x7965, 0x7959, + 0x7965, 0x7b3a, 0x7959, 0x7959, 0x7965, 0x7959, 0x7959, 0x7959, + 0x7965, 0x00e6, 0x2071, 0x18fa, 0x2009, 0x0400, 0x0071, 0x00ee, + 0x0005, 0x2009, 0x1000, 0x0049, 0x0005, 0x2009, 0x2000, 0x0029, + 0x0005, 0x2009, 0x0800, 0x0009, 0x0005, 0x7007, 0x0001, 0xa868, + 0x9084, 0x00ff, 0x9105, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, + 0x6d9f, 0x012e, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0d08, + 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x7adc, 0x7007, 0x0003, + 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x7adc, 0x0005, 0xa864, + 0x8007, 0x9084, 0x00ff, 0x0968, 0x8001, 0x1120, 0x7007, 0x0001, + 0x0804, 0x7af7, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, + 0x704b, 0x7af7, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0904, + 0x7961, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x7b13, 0x7007, + 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x7b13, 0x0005, + 0xa864, 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x7961, + 0x7007, 0x0001, 0x2009, 0x1834, 0x210c, 0x81ff, 0x11a8, 0xa868, + 0x9084, 0x00ff, 0xa86a, 0xa883, 0x0000, 0x080c, 0x62d4, 0x1108, + 0x0005, 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, 0xa87a, 0xa982, + 0x080c, 0x6d9f, 0x012e, 0x0ca0, 0xa994, 0x9186, 0x0071, 0x0d38, + 0x9186, 0x0064, 0x0d20, 0x9186, 0x007c, 0x0d08, 0x9186, 0x0028, + 0x09f0, 0x9186, 0x0038, 0x09d8, 0x9186, 0x0078, 0x09c0, 0x9186, + 0x005f, 0x09a8, 0x9186, 0x0056, 0x0990, 0xa897, 0x4005, 0xa89b, + 0x0001, 0x2001, 0x0030, 0x900e, 0x08a0, 0xa87c, 0x9084, 0x00c0, + 0x9086, 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x7d08, 0x2900, + 0x7016, 0x701a, 0x20a9, 0x0004, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x0030, 0x2098, 0x7050, 0x2040, 0xa060, 0x20e8, 0xa05c, 0x9080, + 0x0023, 0x20a0, 0x4003, 0xa888, 0x7012, 0x9082, 0x0401, 0x1a04, + 0x7969, 0xaab4, 0x928a, 0x0002, 0x1a04, 0x7969, 0x82ff, 0x1138, + 0xa8b8, 0xa9bc, 0x9105, 0x0118, 0x2001, 0x7a9a, 0x0018, 0x9280, + 0x7a90, 0x2005, 0x7056, 0x7010, 0x9015, 0x0904, 0x7a7b, 0x080c, + 0x1060, 0x1118, 0x7007, 0x0004, 0x0005, 0x2900, 0x7022, 0x7054, + 0x2060, 0xe000, 0xa866, 0x7050, 0x2040, 0xa95c, 0xe004, 0x9100, + 0xa076, 0xa860, 0xa072, 0xe008, 0x920a, 0x1210, 0x900e, 0x2200, + 0x7112, 0xe20c, 0x8003, 0x800b, 0x9296, 0x0004, 0x0108, 0x9108, + 0xa17a, 0x810b, 0xa17e, 0x080c, 0x113c, 0xa06c, 0x908e, 0x0100, + 0x0170, 0x9086, 0x0200, 0x0118, 0x7007, 0x0007, 0x0005, 0x7020, + 0x2048, 0x080c, 0x1079, 0x7014, 0x2048, 0x0804, 0x7969, 0x7020, + 0x2048, 0x7018, 0xa802, 0xa807, 0x0000, 0x2908, 0x2048, 0xa906, + 0x711a, 0x0804, 0x7a33, 0x7014, 0x2048, 0x7007, 0x0001, 0xa8b4, + 0x9005, 0x1128, 0xa8b8, 0xa9bc, 0x9105, 0x0108, 0x00b9, 0xa864, + 0x9084, 0x00ff, 0x9086, 0x001e, 0x0904, 0x7d08, 0x0804, 0x7adc, + 0x7a92, 0x7a96, 0x0002, 0x001d, 0x0007, 0x0004, 0x000a, 0x001b, + 0x0005, 0x0006, 0x000a, 0x001d, 0x0005, 0x0004, 0x0076, 0x0066, + 0xafb8, 0xaebc, 0xa804, 0x2050, 0xb0c0, 0xb0e2, 0xb0bc, 0xb0de, + 0xb0b8, 0xb0d2, 0xb0b4, 0xb0ce, 0xb6da, 0xb7d6, 0xb0b0, 0xb0ca, + 0xb0ac, 0xb0c6, 0xb0a8, 0xb0ba, 0xb0a4, 0xb0b6, 0xb6c2, 0xb7be, + 0xb0a0, 0xb0b2, 0xb09c, 0xb0ae, 0xb098, 0xb0a2, 0xb094, 0xb09e, + 0xb6aa, 0xb7a6, 0xb090, 0xb09a, 0xb08c, 0xb096, 0xb088, 0xb08a, + 0xb084, 0xb086, 0xb692, 0xb78e, 0xb080, 0xb082, 0xb07c, 0xb07e, + 0xb078, 0xb072, 0xb074, 0xb06e, 0xb67a, 0xb776, 0xb004, 0x9055, + 0x1958, 0x006e, 0x007e, 0x0005, 0x2009, 0x1834, 0x210c, 0x81ff, + 0x1178, 0x080c, 0x60d6, 0x1108, 0x0005, 0x080c, 0x6fd3, 0x0126, + 0x2091, 0x8000, 0x080c, 0xcb68, 0x080c, 0x6d9f, 0x012e, 0x0ca0, + 0x080c, 0xcf7d, 0x1d70, 0x2001, 0x0028, 0x900e, 0x0c70, 0x2009, + 0x1834, 0x210c, 0x81ff, 0x1188, 0xa888, 0x9005, 0x0188, 0xa883, + 0x0000, 0x080c, 0x6164, 0x1108, 0x0005, 0xa87a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x6d9f, 0x012e, 0x0cb8, 0x2001, 0x0028, 0x0ca8, + 0x2001, 0x0000, 0x0c90, 0x2009, 0x1834, 0x210c, 0x81ff, 0x11d8, + 0xa888, 0x9005, 0x01e0, 0xa883, 0x0000, 0xa87c, 0xd0f4, 0x0120, + 0x080c, 0x6236, 0x1138, 0x0005, 0x9006, 0xa87a, 0x080c, 0x61b1, + 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, 0x080c, + 0x6d9f, 0x012e, 0x0cb0, 0x2001, 0x0028, 0x900e, 0x0c98, 0x2001, + 0x0000, 0x0c80, 0x7018, 0xa802, 0x2908, 0x2048, 0xa906, 0x711a, + 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, 0x0030, 0x7014, + 0x2048, 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x00b6, 0x7007, + 0x0001, 0xa974, 0xa878, 0x9084, 0x00ff, 0x9096, 0x0004, 0x0540, + 0x20a9, 0x0001, 0x9096, 0x0001, 0x0190, 0x900e, 0x20a9, 0x0800, + 0x9096, 0x0002, 0x0160, 0x9005, 0x11d8, 0xa974, 0x080c, 0x6644, + 0x11b8, 0x0066, 0xae80, 0x080c, 0x6754, 0x006e, 0x0088, 0x0046, + 0x2011, 0x180c, 0x2224, 0xc484, 0x2412, 0x004e, 0x00c6, 0x080c, + 0x6644, 0x1110, 0x080c, 0x6927, 0x8108, 0x1f04, 0x7b77, 0x00ce, + 0xa87c, 0xd084, 0x1120, 0x080c, 0x1079, 0x00be, 0x0005, 0x0126, + 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0x00be, 0x0005, 0x0126, + 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6a8a, 0x0580, 0x2061, + 0x1a6e, 0x6100, 0xd184, 0x0178, 0xa888, 0x9084, 0x00ff, 0x1550, + 0x6000, 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, 0x6003, 0x0000, + 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, 0xa890, 0x9005, 0x1110, + 0x2001, 0x001e, 0x8000, 0x6016, 0xa888, 0x9084, 0x00ff, 0x0178, + 0x6006, 0xa888, 0x8007, 0x9084, 0x00ff, 0x0148, 0x600a, 0xa888, + 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, 0x7dd1, 0x012e, + 0x0804, 0x7dcb, 0x012e, 0x0804, 0x7dc5, 0x012e, 0x0804, 0x7dc8, + 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6a8a, 0x05e0, + 0x2061, 0x1a6e, 0x6000, 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, + 0x1530, 0xac78, 0x9484, 0x0003, 0x0170, 0xa988, 0x918c, 0x00ff, + 0x8001, 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, 0x8001, 0x1508, + 0x2100, 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, 0xa988, 0x810f, + 0x918c, 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, 0x9318, 0x0288, + 0x0030, 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, 0x0250, 0xa890, + 0x9005, 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, + 0x7dd1, 0x012e, 0x0804, 0x7dce, 0x012e, 0x0804, 0x7dcb, 0x0126, + 0x2091, 0x8000, 0x7007, 0x0001, 0x2061, 0x1a6e, 0x6300, 0xd38c, + 0x1120, 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, 0x0804, 0x7ddf, + 0x012e, 0x0804, 0x7dce, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, + 0x7007, 0x0001, 0xa87c, 0xd0ac, 0x0148, 0x00c6, 0x2061, 0x1a6e, + 0x6000, 0x9084, 0xfcff, 0x6002, 0x00ce, 0x0440, 0xa888, 0x9005, + 0x05d8, 0xa88c, 0x9065, 0x0598, 0x2001, 0x1834, 0x2004, 0x9005, + 0x0118, 0x080c, 0xac2b, 0x0068, 0x6017, 0xf400, 0x6063, 0x0000, + 0xa97c, 0xd1a4, 0x0110, 0xa980, 0x6162, 0x2009, 0x0041, 0x080c, + 0xac8d, 0xa988, 0x918c, 0xff00, 0x9186, 0x2000, 0x1138, 0x0026, + 0x900e, 0x2011, 0xfdff, 0x080c, 0x8902, 0x002e, 0xa87c, 0xd0c4, + 0x0148, 0x2061, 0x1a6e, 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, + 0x0208, 0x600a, 0x00ce, 0x012e, 0x00be, 0x0804, 0x7dd1, 0x00ce, + 0x012e, 0x00be, 0x0804, 0x7dcb, 0xa984, 0x9186, 0x002e, 0x0d30, + 0x9186, 0x002d, 0x0d18, 0x9186, 0x0045, 0x0510, 0x9186, 0x002a, + 0x1130, 0x2001, 0x180c, 0x200c, 0xc194, 0x2102, 0x08b8, 0x9186, + 0x0020, 0x0158, 0x9186, 0x0029, 0x1d10, 0xa974, 0x080c, 0x6644, + 0x1968, 0xb800, 0xc0e4, 0xb802, 0x0848, 0xa88c, 0x9065, 0x09b8, + 0x6007, 0x0024, 0x2001, 0x1985, 0x2004, 0x601a, 0x0804, 0x7c66, + 0xa88c, 0x9065, 0x0960, 0x00e6, 0xa890, 0x9075, 0x2001, 0x1834, + 0x2004, 0x9005, 0x0150, 0x080c, 0xac2b, 0x8eff, 0x0118, 0x2e60, + 0x080c, 0xac2b, 0x00ee, 0x0804, 0x7c66, 0x6024, 0xc0dc, 0xc0d5, + 0x6026, 0x2e60, 0x6007, 0x003a, 0xa8a0, 0x9005, 0x0130, 0x6007, + 0x003b, 0xa8a4, 0x602e, 0xa8a8, 0x6016, 0x6003, 0x0001, 0x2009, + 0x8020, 0x080c, 0x9239, 0x00ee, 0x0804, 0x7c66, 0x2061, 0x1a6e, + 0x6000, 0xd084, 0x0190, 0xd08c, 0x1904, 0x7ddf, 0x0126, 0x2091, + 0x8000, 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x7ddf, + 0x012e, 0xa883, 0x0016, 0x0804, 0x7dd8, 0xa883, 0x0007, 0x0804, + 0x7dd8, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0130, 0x8001, 0x1138, + 0x7007, 0x0001, 0x0069, 0x0005, 0x080c, 0x7961, 0x0040, 0x7007, + 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x7d08, 0x0005, + 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, 0x2061, 0x1800, + 0x61d0, 0x81ff, 0x1904, 0x7d8a, 0x6130, 0xd194, 0x1904, 0x7db4, + 0xa878, 0x2070, 0x9e82, 0x1ddc, 0x0a04, 0x7d7e, 0x6068, 0x9e02, + 0x1a04, 0x7d7e, 0x7120, 0x9186, 0x0006, 0x1904, 0x7d70, 0x7010, + 0x905d, 0x0904, 0x7d8a, 0xb800, 0xd0e4, 0x1904, 0x7dae, 0x2061, + 0x1a6e, 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, 0x15a0, 0x7024, + 0xd0dc, 0x1904, 0x7db7, 0xa883, 0x0000, 0xa803, 0x0000, 0x2908, + 0x7014, 0x9005, 0x1198, 0x7116, 0xa87c, 0xd0f4, 0x1904, 0x7dba, + 0x080c, 0x56f5, 0xd09c, 0x1118, 0xa87c, 0xc0cc, 0xa87e, 0x2e60, + 0x080c, 0x87f2, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2048, 0xa800, + 0x9005, 0x1de0, 0xa902, 0x2148, 0xa87c, 0xd0f4, 0x1904, 0x7dba, + 0x012e, 0x00ee, 0x00be, 0x0005, 0x012e, 0x00ee, 0xa883, 0x0006, + 0x00be, 0x0804, 0x7dd8, 0xd184, 0x0db8, 0xd1c4, 0x1190, 0x00a0, + 0xa974, 0x080c, 0x6644, 0x15d0, 0xb800, 0xd0e4, 0x15b8, 0x7120, + 0x9186, 0x0007, 0x1118, 0xa883, 0x0002, 0x0490, 0xa883, 0x0008, + 0x0478, 0xa883, 0x000e, 0x0460, 0xa883, 0x0017, 0x0448, 0xa883, + 0x0035, 0x0430, 0x080c, 0x56f9, 0xd0fc, 0x01e8, 0xa878, 0x2070, + 0x9e82, 0x1ddc, 0x02c0, 0x6068, 0x9e02, 0x12a8, 0x7120, 0x9186, + 0x0006, 0x1188, 0x7010, 0x905d, 0x0170, 0xb800, 0xd0bc, 0x0158, + 0x2039, 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, 0x7d14, 0x7003, + 0x0002, 0x0804, 0x7d14, 0xa883, 0x0028, 0x0010, 0xa883, 0x0029, + 0x012e, 0x00ee, 0x00be, 0x0420, 0xa883, 0x002a, 0x0cc8, 0xa883, + 0x0045, 0x0cb0, 0x2e60, 0x2019, 0x0002, 0x601b, 0x0014, 0x080c, + 0xde67, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2009, 0x003e, 0x0058, + 0x2009, 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, 0x2009, 0x0016, + 0x0010, 0x2009, 0x0001, 0xa884, 0x9084, 0xff00, 0x9105, 0xa886, + 0x0126, 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0x0005, 0x080c, + 0x1079, 0x0005, 0x00d6, 0x080c, 0x87e9, 0x00de, 0x0005, 0x00d6, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, 0x702c, 0xd084, + 0x01d8, 0x908c, 0x0780, 0x190c, 0x7ec9, 0xd09c, 0x11a8, 0x2071, + 0x1800, 0x70c0, 0x90ea, 0x0020, 0x0278, 0x8001, 0x70c2, 0x702c, + 0x2048, 0xa800, 0x702e, 0x9006, 0xa802, 0xa806, 0x2071, 0x0040, + 0x2900, 0x7022, 0x702c, 0x0c28, 0x012e, 0x00ee, 0x00de, 0x0005, + 0x0006, 0x9084, 0x0780, 0x190c, 0x7ec9, 0x000e, 0x0005, 0xa898, + 0x9084, 0x0003, 0x05a8, 0x080c, 0xab9a, 0x05d8, 0x2900, 0x6016, + 0xa864, 0x9084, 0x00ff, 0x9086, 0x0035, 0x1138, 0x6028, 0xc0fd, + 0x602a, 0x2001, 0x196a, 0x2004, 0x0098, 0xa8a0, 0x9084, 0x00ff, + 0xa99c, 0x918c, 0xff00, 0x9105, 0xa99c, 0x918c, 0x00ff, 0x080c, + 0x2630, 0x1540, 0x00b6, 0x080c, 0x6644, 0x2b00, 0x00be, 0x1510, + 0x6012, 0x6023, 0x0001, 0x2009, 0x0040, 0xa864, 0x9084, 0x00ff, + 0x9086, 0x0035, 0x0110, 0x2009, 0x0041, 0x080c, 0xac8d, 0x0005, + 0xa87b, 0x0101, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, + 0x0005, 0xa87b, 0x002c, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d9f, + 0x012e, 0x0005, 0xa87b, 0x0028, 0x0126, 0x2091, 0x8000, 0x080c, + 0x6d9f, 0x012e, 0x080c, 0xabf0, 0x0005, 0x00d6, 0x00c6, 0x0036, + 0x0026, 0x0016, 0x00b6, 0x7007, 0x0001, 0xaa74, 0x9282, 0x0004, + 0x1a04, 0x7eba, 0xa97c, 0x9188, 0x1000, 0x2104, 0x905d, 0xb804, + 0xd284, 0x0140, 0x05e8, 0x8007, 0x9084, 0x00ff, 0x9084, 0x0006, + 0x1108, 0x04b0, 0x2b10, 0x080c, 0xab9a, 0x1118, 0x080c, 0xac60, + 0x05a8, 0x6212, 0xa874, 0x0002, 0x7e98, 0x7e9d, 0x7ea0, 0x7ea6, + 0x2019, 0x0002, 0x080c, 0xe286, 0x0060, 0x080c, 0xe216, 0x0048, + 0x2019, 0x0002, 0xa980, 0x080c, 0xe235, 0x0018, 0xa980, 0x080c, + 0xe216, 0x080c, 0xabf0, 0xa887, 0x0000, 0x0126, 0x2091, 0x8000, + 0x080c, 0x6d9f, 0x012e, 0x00be, 0x001e, 0x002e, 0x003e, 0x00ce, + 0x00de, 0x0005, 0xa887, 0x0006, 0x0c80, 0xa887, 0x0002, 0x0c68, + 0xa887, 0x0005, 0x0c50, 0xa887, 0x0004, 0x0c38, 0xa887, 0x0007, + 0x0c20, 0x2091, 0x8000, 0x0e04, 0x7ecb, 0x0006, 0x0016, 0x2001, + 0x8003, 0x0006, 0x0804, 0x0d86, 0x2001, 0x1834, 0x2004, 0x9005, + 0x0005, 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, 0x0200, 0x200c, + 0xc1e5, 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, 0xd1ec, 0x1120, + 0x080c, 0x1622, 0x00fe, 0x0005, 0x2001, 0x020d, 0x2003, 0x0020, + 0x781f, 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, 0x0904, 0x7f4c, + 0x68c0, 0x90aa, 0x0005, 0x0a04, 0x855d, 0x7d44, 0x7c40, 0xd59c, + 0x190c, 0x0d7d, 0x9584, 0x00f6, 0x1508, 0x9484, 0x7000, 0x0138, + 0x908a, 0x2000, 0x1258, 0x9584, 0x0700, 0x8007, 0x04f0, 0x7000, + 0x9084, 0xff00, 0x9086, 0x8100, 0x0db0, 0x00b0, 0x9484, 0x0fff, + 0x1130, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11c0, 0x080c, + 0xe727, 0x080c, 0x8444, 0x7817, 0x0140, 0x00a8, 0x9584, 0x0076, + 0x1118, 0x080c, 0x84a0, 0x19c8, 0xd5a4, 0x0148, 0x0046, 0x0056, + 0x080c, 0x7f9c, 0x080c, 0x213e, 0x005e, 0x004e, 0x0020, 0x080c, + 0xe727, 0x7817, 0x0140, 0x080c, 0x74ec, 0x0168, 0x2001, 0x0111, + 0x2004, 0xd08c, 0x0140, 0x6893, 0x0000, 0x2001, 0x0110, 0x2003, + 0x0008, 0x2003, 0x0000, 0x0489, 0x0005, 0x0002, 0x7f59, 0x8266, + 0x7f56, 0x7f56, 0x7f56, 0x7f56, 0x7f56, 0x7f56, 0x7817, 0x0140, + 0x0005, 0x7000, 0x908c, 0xff00, 0x9194, 0xf000, 0x810f, 0x9484, + 0x0fff, 0x6892, 0x9286, 0x2000, 0x1150, 0x6800, 0x9086, 0x0001, + 0x1118, 0x080c, 0x5756, 0x0070, 0x080c, 0x7fbc, 0x0058, 0x9286, + 0x3000, 0x1118, 0x080c, 0x81a3, 0x0028, 0x9286, 0x8000, 0x1110, + 0x080c, 0x837a, 0x7817, 0x0140, 0x0005, 0x2001, 0x1810, 0x2004, + 0xd08c, 0x0178, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1148, + 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, 0x4b29, 0x003e, + 0x002e, 0x0005, 0x0036, 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, + 0x2019, 0xfffe, 0x7c30, 0x0050, 0x0036, 0x0046, 0x0056, 0x00f6, + 0x2079, 0x0200, 0x7d44, 0x7c40, 0x2019, 0xffff, 0x2001, 0x1810, + 0x2004, 0xd08c, 0x0160, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, + 0x1130, 0x0026, 0x2011, 0x8048, 0x080c, 0x4b29, 0x002e, 0x00fe, + 0x005e, 0x004e, 0x003e, 0x0005, 0x00b6, 0x00c6, 0x7010, 0x9084, + 0xff00, 0x8007, 0x9096, 0x0001, 0x0120, 0x9096, 0x0023, 0x1904, + 0x8174, 0x9186, 0x0023, 0x15c0, 0x080c, 0x840f, 0x0904, 0x8174, + 0x6120, 0x9186, 0x0001, 0x0150, 0x9186, 0x0004, 0x0138, 0x9186, + 0x0008, 0x0120, 0x9186, 0x000a, 0x1904, 0x8174, 0x7124, 0x610a, + 0x7030, 0x908e, 0x0200, 0x1130, 0x2009, 0x0015, 0x080c, 0xac8d, + 0x0804, 0x8174, 0x908e, 0x0214, 0x0118, 0x908e, 0x0210, 0x1130, + 0x2009, 0x0015, 0x080c, 0xac8d, 0x0804, 0x8174, 0x908e, 0x0100, + 0x1904, 0x8174, 0x7034, 0x9005, 0x1904, 0x8174, 0x2009, 0x0016, + 0x080c, 0xac8d, 0x0804, 0x8174, 0x9186, 0x0022, 0x1904, 0x8174, + 0x7030, 0x908e, 0x0300, 0x1580, 0x68dc, 0xd0a4, 0x0528, 0xc0b5, + 0x68de, 0x7100, 0x918c, 0x00ff, 0x697e, 0x7004, 0x6882, 0x00f6, + 0x2079, 0x0100, 0x79e6, 0x78ea, 0x0006, 0x9084, 0x00ff, 0x0016, + 0x2008, 0x080c, 0x2679, 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, + 0x080c, 0x2630, 0x695e, 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, + 0x2071, 0x1800, 0x70b6, 0x00ee, 0x7034, 0x9005, 0x1904, 0x8174, + 0x2009, 0x0017, 0x0804, 0x8124, 0x908e, 0x0400, 0x1190, 0x7034, + 0x9005, 0x1904, 0x8174, 0x080c, 0x74ec, 0x0120, 0x2009, 0x001d, + 0x0804, 0x8124, 0x68dc, 0xc0a5, 0x68de, 0x2009, 0x0030, 0x0804, + 0x8124, 0x908e, 0x0500, 0x1140, 0x7034, 0x9005, 0x1904, 0x8174, + 0x2009, 0x0018, 0x0804, 0x8124, 0x908e, 0x2010, 0x1120, 0x2009, + 0x0019, 0x0804, 0x8124, 0x908e, 0x2110, 0x1120, 0x2009, 0x001a, + 0x0804, 0x8124, 0x908e, 0x5200, 0x1140, 0x7034, 0x9005, 0x1904, + 0x8174, 0x2009, 0x001b, 0x0804, 0x8124, 0x908e, 0x5000, 0x1140, + 0x7034, 0x9005, 0x1904, 0x8174, 0x2009, 0x001c, 0x0804, 0x8124, + 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x8124, 0x908e, + 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, 0x8174, 0x2009, 0x0024, + 0x0804, 0x8124, 0x908c, 0xff00, 0x918e, 0x2400, 0x1170, 0x2009, + 0x002d, 0x2001, 0x1810, 0x2004, 0xd09c, 0x0904, 0x8124, 0x080c, + 0xd68f, 0x1904, 0x8174, 0x0804, 0x8122, 0x908c, 0xff00, 0x918e, + 0x5300, 0x1120, 0x2009, 0x002a, 0x0804, 0x8124, 0x908e, 0x0f00, + 0x1120, 0x2009, 0x0020, 0x0804, 0x8124, 0x908e, 0x6104, 0x1530, + 0x2029, 0x0205, 0x2011, 0x026d, 0x8208, 0x2204, 0x9082, 0x0004, + 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, 0x211c, 0x8108, 0x0046, + 0x2124, 0x080c, 0x4b29, 0x004e, 0x8108, 0x0f04, 0x80d8, 0x9186, + 0x0280, 0x1d88, 0x2504, 0x8000, 0x202a, 0x2009, 0x0260, 0x0c58, + 0x202b, 0x0000, 0x2009, 0x0023, 0x0804, 0x8124, 0x908e, 0x6000, + 0x1120, 0x2009, 0x003f, 0x0804, 0x8124, 0x908e, 0x5400, 0x1138, + 0x080c, 0x850d, 0x1904, 0x8174, 0x2009, 0x0046, 0x04a8, 0x908e, + 0x5500, 0x1148, 0x080c, 0x8535, 0x1118, 0x2009, 0x0041, 0x0460, + 0x2009, 0x0042, 0x0448, 0x908e, 0x7800, 0x1118, 0x2009, 0x0045, + 0x0418, 0x908e, 0x1000, 0x1118, 0x2009, 0x004e, 0x00e8, 0x908e, + 0x6300, 0x1118, 0x2009, 0x004a, 0x00b8, 0x908c, 0xff00, 0x918e, + 0x5600, 0x1118, 0x2009, 0x004f, 0x0078, 0x908c, 0xff00, 0x918e, + 0x5700, 0x1118, 0x2009, 0x0050, 0x0038, 0x2009, 0x001d, 0x6838, + 0xd0d4, 0x0110, 0x2009, 0x004c, 0x0016, 0x2011, 0x0263, 0x2204, + 0x8211, 0x220c, 0x080c, 0x2630, 0x1904, 0x8177, 0x080c, 0x65e3, + 0x1904, 0x8177, 0xbe12, 0xbd16, 0x001e, 0x0016, 0x080c, 0x74ec, + 0x01c0, 0x68dc, 0xd08c, 0x1148, 0x7000, 0x9084, 0x00ff, 0x1188, + 0x7004, 0x9084, 0xff00, 0x1168, 0x0040, 0x687c, 0x9606, 0x1148, + 0x6880, 0x9506, 0x9084, 0xff00, 0x1120, 0x9584, 0x00ff, 0xb886, + 0x0080, 0xb884, 0x9005, 0x1168, 0x9186, 0x0046, 0x1150, 0x687c, + 0x9606, 0x1138, 0x6880, 0x9506, 0x9084, 0xff00, 0x1110, 0x001e, + 0x0098, 0x080c, 0xab9a, 0x01a8, 0x2b08, 0x6112, 0x6023, 0x0004, + 0x7120, 0x610a, 0x001e, 0x9186, 0x004c, 0x1110, 0x6023, 0x000a, + 0x0016, 0x001e, 0x080c, 0xac8d, 0x00ce, 0x00be, 0x0005, 0x001e, + 0x0cd8, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, + 0x080c, 0x4b29, 0x080c, 0xac60, 0x0d90, 0x2b08, 0x6112, 0x6023, + 0x0004, 0x7120, 0x610a, 0x001e, 0x0016, 0x9186, 0x0017, 0x0118, + 0x9186, 0x0030, 0x1128, 0x6007, 0x0009, 0x6017, 0x2900, 0x0020, + 0x6007, 0x0051, 0x6017, 0x0000, 0x602f, 0x0009, 0x6003, 0x0001, + 0x080c, 0x9240, 0x08a0, 0x080c, 0x3346, 0x1140, 0x7010, 0x9084, + 0xff00, 0x8007, 0x908e, 0x0008, 0x1108, 0x0009, 0x0005, 0x00b6, + 0x00c6, 0x0046, 0x7000, 0x908c, 0xff00, 0x810f, 0x9186, 0x0033, + 0x11e8, 0x080c, 0x840f, 0x0904, 0x81fe, 0x7124, 0x610a, 0x7030, + 0x908e, 0x0200, 0x1140, 0x7034, 0x9005, 0x15c0, 0x2009, 0x0015, + 0x080c, 0xac8d, 0x0498, 0x908e, 0x0100, 0x1580, 0x7034, 0x9005, + 0x1568, 0x2009, 0x0016, 0x080c, 0xac8d, 0x0440, 0x9186, 0x0032, + 0x1528, 0x7030, 0x908e, 0x1400, 0x1508, 0x2009, 0x0038, 0x0016, + 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2630, 0x11a8, + 0x080c, 0x65e3, 0x1190, 0xbe12, 0xbd16, 0x080c, 0xab9a, 0x0168, + 0x2b08, 0x6112, 0x080c, 0xccfe, 0x6023, 0x0004, 0x7120, 0x610a, + 0x001e, 0x080c, 0xac8d, 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, + 0x00be, 0x0005, 0x00b6, 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, + 0x9696, 0x00ff, 0x11b8, 0x9592, 0xfffc, 0x02a0, 0x9596, 0xfffd, + 0x1120, 0x2009, 0x007f, 0x0804, 0x8260, 0x9596, 0xfffe, 0x1120, + 0x2009, 0x007e, 0x0804, 0x8260, 0x9596, 0xfffc, 0x1118, 0x2009, + 0x0080, 0x04f0, 0x2011, 0x0000, 0x2019, 0x1837, 0x231c, 0xd3ac, + 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, + 0x0081, 0x20a9, 0x077f, 0x2071, 0x1081, 0x2e1c, 0x93dd, 0x0000, + 0x1140, 0x82ff, 0x11d0, 0x9496, 0x00ff, 0x01b8, 0x2410, 0xc2fd, + 0x00a0, 0xbf10, 0x2600, 0x9706, 0xb814, 0x1120, 0x9546, 0x1110, + 0x2408, 0x00b0, 0x9745, 0x1148, 0x94c6, 0x007e, 0x0130, 0x94c6, + 0x007f, 0x0118, 0x94c6, 0x0080, 0x1d20, 0x8420, 0x8e70, 0x1f04, + 0x8235, 0x82ff, 0x1118, 0x9085, 0x0001, 0x0018, 0xc2fc, 0x2208, + 0x9006, 0x00de, 0x00ee, 0x004e, 0x00be, 0x0005, 0x7000, 0x908c, + 0xff00, 0x810f, 0x9184, 0x000f, 0x0002, 0x827d, 0x827d, 0x827d, + 0x8421, 0x827d, 0x8280, 0x82a5, 0x832e, 0x827d, 0x827d, 0x827d, + 0x827d, 0x827d, 0x827d, 0x827d, 0x827d, 0x7817, 0x0140, 0x0005, + 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7120, 0x2160, 0x9c8c, 0x0003, + 0x11c0, 0x9c8a, 0x1ddc, 0x02a8, 0x6868, 0x9c02, 0x1290, 0x7008, + 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1150, 0x700c, + 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, 0x0046, 0x080c, + 0xac8d, 0x7817, 0x0140, 0x00be, 0x0005, 0x00b6, 0x00c6, 0x9484, + 0x0fff, 0x0904, 0x830a, 0x7110, 0xd1bc, 0x1904, 0x830a, 0x7108, + 0x700c, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x15c8, + 0x81ff, 0x15b8, 0x9080, 0x3388, 0x200d, 0x918c, 0xff00, 0x810f, + 0x2001, 0x0080, 0x9106, 0x0904, 0x830a, 0x9182, 0x0801, 0x1a04, + 0x830a, 0x9190, 0x1000, 0x2204, 0x905d, 0x05e0, 0xbe12, 0xbd16, + 0xb800, 0xd0ec, 0x15b8, 0xba04, 0x9294, 0xff00, 0x9286, 0x0600, + 0x1190, 0x080c, 0xab9a, 0x0598, 0x2b08, 0x7028, 0x6052, 0x702c, + 0x604e, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x615e, + 0x080c, 0xd8f8, 0x00f8, 0x080c, 0x6a8e, 0x1138, 0xb807, 0x0606, + 0x0c40, 0x190c, 0x8202, 0x11b0, 0x0880, 0x080c, 0xab9a, 0x2b08, + 0x0188, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x9286, 0x0400, + 0x1118, 0x6007, 0x0005, 0x0010, 0x6007, 0x0001, 0x6003, 0x0001, + 0x080c, 0x9240, 0x7817, 0x0140, 0x00ce, 0x00be, 0x0005, 0x2001, + 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x4b29, + 0x080c, 0xac60, 0x0d78, 0x2b08, 0x6112, 0x6023, 0x0006, 0x7120, + 0x610a, 0x7130, 0x615e, 0x6017, 0xf300, 0x6003, 0x0001, 0x6007, + 0x0041, 0x2009, 0xa022, 0x080c, 0x9239, 0x08e0, 0x00b6, 0x7110, + 0xd1bc, 0x05d0, 0x7020, 0x2060, 0x9c84, 0x0003, 0x15a8, 0x9c82, + 0x1ddc, 0x0690, 0x6868, 0x9c02, 0x1678, 0x9484, 0x0fff, 0x9082, + 0x000c, 0x0650, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, + 0x9106, 0x1510, 0x700c, 0xb914, 0x9106, 0x11f0, 0x7124, 0x610a, + 0x601c, 0xd0fc, 0x11c8, 0x2001, 0x0271, 0x2004, 0x9005, 0x1180, + 0x9484, 0x0fff, 0x9082, 0x000c, 0x0158, 0x0066, 0x2031, 0x0100, + 0xa001, 0xa001, 0x8631, 0x1de0, 0x006e, 0x601c, 0xd0fc, 0x1120, + 0x2009, 0x0045, 0x080c, 0xac8d, 0x7817, 0x0140, 0x00be, 0x0005, + 0x6120, 0x9186, 0x0002, 0x0128, 0x9186, 0x0005, 0x0110, 0x9085, + 0x0001, 0x0005, 0x080c, 0x3346, 0x1168, 0x7010, 0x9084, 0xff00, + 0x8007, 0x9086, 0x0000, 0x1130, 0x9184, 0x000f, 0x908a, 0x0006, + 0x1208, 0x000b, 0x0005, 0x8391, 0x8392, 0x8391, 0x8391, 0x83f1, + 0x8400, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, + 0x0904, 0x83ef, 0x700c, 0x7108, 0x080c, 0x2630, 0x1904, 0x83ef, + 0x080c, 0x65e3, 0x1904, 0x83ef, 0xbe12, 0xbd16, 0x7110, 0xd1bc, + 0x01d8, 0x080c, 0x6a8e, 0x0118, 0x9086, 0x0004, 0x1588, 0x00c6, + 0x080c, 0x840f, 0x00ce, 0x05d8, 0x080c, 0xab9a, 0x2b08, 0x05b8, + 0x6112, 0x080c, 0xccfe, 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, + 0x0088, 0x080c, 0xac8d, 0x0458, 0x080c, 0x6a8e, 0x0148, 0x9086, + 0x0004, 0x0130, 0x080c, 0x6a96, 0x0118, 0x9086, 0x0004, 0x1180, + 0x080c, 0xab9a, 0x2b08, 0x01d8, 0x6112, 0x080c, 0xccfe, 0x6023, + 0x0005, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0xac8d, 0x0078, + 0x080c, 0xab9a, 0x2b08, 0x0158, 0x6112, 0x080c, 0xccfe, 0x6023, + 0x0004, 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, 0xac8d, 0x00be, + 0x0005, 0x7110, 0xd1bc, 0x0158, 0x00d1, 0x0148, 0x080c, 0x8370, + 0x1130, 0x7124, 0x610a, 0x2009, 0x0089, 0x080c, 0xac8d, 0x0005, + 0x7110, 0xd1bc, 0x0158, 0x0059, 0x0148, 0x080c, 0x8370, 0x1130, + 0x7124, 0x610a, 0x2009, 0x008a, 0x080c, 0xac8d, 0x0005, 0x7020, + 0x2060, 0x9c84, 0x0003, 0x1158, 0x9c82, 0x1ddc, 0x0240, 0x2001, + 0x181a, 0x2004, 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, + 0x0ce8, 0x00b6, 0x7110, 0xd1bc, 0x11d8, 0x7024, 0x2060, 0x9c84, + 0x0003, 0x11b0, 0x9c82, 0x1ddc, 0x0298, 0x6868, 0x9c02, 0x1280, + 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1140, + 0x700c, 0xb914, 0x9106, 0x1120, 0x2009, 0x0051, 0x080c, 0xac8d, + 0x7817, 0x0140, 0x00be, 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, + 0x2031, 0x0206, 0x0049, 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, + 0x2031, 0x0213, 0x0009, 0x0005, 0x00c6, 0x0096, 0x00f6, 0x7000, + 0x9084, 0xf000, 0x9086, 0xc000, 0x05c0, 0x080c, 0xab9a, 0x05a8, + 0x0066, 0x00c6, 0x0046, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, + 0x080c, 0x2630, 0x1590, 0x080c, 0x65e3, 0x1578, 0xbe12, 0xbd16, + 0x2b00, 0x004e, 0x00ce, 0x6012, 0x080c, 0xccfe, 0x080c, 0x1047, + 0x0500, 0x2900, 0x6062, 0x9006, 0xa802, 0xa866, 0xac6a, 0xa85c, + 0x90f8, 0x001b, 0x20a9, 0x000e, 0xa860, 0x20e8, 0x20e1, 0x0000, + 0x2fa0, 0x2e98, 0x4003, 0x006e, 0x6616, 0x6007, 0x003e, 0x6023, + 0x0001, 0x6003, 0x0001, 0x080c, 0x9240, 0x00fe, 0x009e, 0x00ce, + 0x0005, 0x080c, 0xabf0, 0x006e, 0x0cc0, 0x004e, 0x00ce, 0x0cc8, + 0x00c6, 0x7000, 0x908c, 0xff00, 0x9184, 0xf000, 0x810f, 0x9086, + 0x2000, 0x1904, 0x84f7, 0x9186, 0x0022, 0x15f0, 0x2001, 0x0111, + 0x2004, 0x9005, 0x1904, 0x84f9, 0x7030, 0x908e, 0x0400, 0x0904, + 0x84f9, 0x908e, 0x6000, 0x05e8, 0x908e, 0x5400, 0x05d0, 0x908e, + 0x0300, 0x11d8, 0x2009, 0x1837, 0x210c, 0xd18c, 0x1590, 0xd1a4, + 0x1580, 0x080c, 0x6a4c, 0x0588, 0x68b0, 0x9084, 0x00ff, 0x7100, + 0x918c, 0x00ff, 0x9106, 0x1518, 0x6880, 0x69b0, 0x918c, 0xff00, + 0x9105, 0x7104, 0x9106, 0x11d8, 0x00e0, 0x2009, 0x0103, 0x210c, + 0xd1b4, 0x11a8, 0x908e, 0x5200, 0x09e8, 0x908e, 0x0500, 0x09d0, + 0x908e, 0x5000, 0x09b8, 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, + 0x840f, 0x0128, 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, + 0x0010, 0x9085, 0x0001, 0x00ce, 0x0005, 0x7030, 0x908e, 0x0300, + 0x0118, 0x908e, 0x5200, 0x1d98, 0x2001, 0x1837, 0x2004, 0x9084, + 0x0009, 0x9086, 0x0008, 0x0d68, 0x0c50, 0x0156, 0x0046, 0x0016, + 0x0036, 0x7038, 0x2020, 0x8427, 0x94a4, 0x0007, 0xd484, 0x0148, + 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x027a, 0x080c, 0xbbc1, + 0x1178, 0xd48c, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1801, 0x2011, + 0x027e, 0x080c, 0xbbc1, 0x1120, 0xd494, 0x0110, 0x9085, 0x0001, + 0x003e, 0x001e, 0x004e, 0x015e, 0x0005, 0x0156, 0x0046, 0x0016, + 0x0036, 0x7038, 0x2020, 0x8427, 0x94a4, 0x0007, 0xd484, 0x0148, + 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0272, 0x080c, 0xbbc1, + 0x1178, 0xd48c, 0x0148, 0x20a9, 0x0004, 0x2019, 0x1801, 0x2011, + 0x0276, 0x080c, 0xbbc1, 0x1120, 0xd494, 0x0110, 0x9085, 0x0001, + 0x003e, 0x001e, 0x004e, 0x015e, 0x0005, 0x00f6, 0x2079, 0x0200, + 0x7800, 0xc0e5, 0xc0cc, 0x7802, 0x00fe, 0x0005, 0x00f6, 0x2079, + 0x1800, 0x7834, 0xd084, 0x1130, 0x2079, 0x0200, 0x7800, 0x9085, + 0x1200, 0x7802, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7034, + 0xc084, 0x7036, 0x00ee, 0x0005, 0x2071, 0x1a02, 0x7003, 0x0003, + 0x700f, 0x0361, 0x9006, 0x701a, 0x7072, 0x7012, 0x7017, 0x1ddc, + 0x7007, 0x0000, 0x7026, 0x702b, 0x9e6f, 0x7032, 0x7037, 0x9eec, + 0x703f, 0xffff, 0x7042, 0x7047, 0x558c, 0x704a, 0x705b, 0x8724, + 0x080c, 0x1060, 0x090c, 0x0d7d, 0x2900, 0x703a, 0xa867, 0x0003, + 0xa86f, 0x0100, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x1a02, 0x1d04, + 0x8640, 0x2091, 0x6000, 0x700c, 0x8001, 0x700e, 0x1590, 0x2001, + 0x013c, 0x2004, 0x9005, 0x190c, 0x87ce, 0x2001, 0x1869, 0x2004, + 0xd0c4, 0x0158, 0x3a00, 0xd08c, 0x1140, 0x20d1, 0x0000, 0x20d1, + 0x0001, 0x20d1, 0x0000, 0x080c, 0x0d7d, 0x700f, 0x0361, 0x7007, + 0x0001, 0x0126, 0x2091, 0x8000, 0x2069, 0x1800, 0x69ec, 0xd1e4, + 0x1138, 0xd1dc, 0x1118, 0x080c, 0x8792, 0x0010, 0x080c, 0x8769, + 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, 0x1130, 0x7044, 0x080f, + 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, 0x900d, 0x0188, 0x7020, + 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, 0x7126, 0x9186, + 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, 0x7028, 0x080f, + 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, 0x702e, 0x1160, 0x702f, + 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, 0x007f, 0x090c, 0x9f88, + 0x0010, 0x7034, 0x080f, 0x703c, 0x9005, 0x0118, 0x0310, 0x8001, + 0x703e, 0x704c, 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, + 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, + 0x080f, 0x7018, 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, 0x0158, + 0x706c, 0x8001, 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, 0x7172, + 0x1110, 0x7074, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, + 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, + 0x7004, 0x0002, 0x8668, 0x8669, 0x8693, 0x00e6, 0x2071, 0x1a02, + 0x7018, 0x9005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, + 0x0005, 0x00e6, 0x0006, 0x2071, 0x1a02, 0x701c, 0x9206, 0x1120, + 0x701a, 0x701e, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x00e6, + 0x2071, 0x1a02, 0xb888, 0x9102, 0x0208, 0xb98a, 0x00ee, 0x0005, + 0x0005, 0x00b6, 0x2031, 0x0010, 0x7110, 0x080c, 0x6644, 0x11a8, + 0xb888, 0x8001, 0x0290, 0xb88a, 0x1180, 0x0126, 0x2091, 0x8000, + 0x0066, 0xb8d0, 0x9005, 0x0138, 0x0026, 0xba3c, 0x0016, 0x080c, + 0x676f, 0x001e, 0x002e, 0x006e, 0x012e, 0x8108, 0x9182, 0x0800, + 0x1220, 0x8631, 0x0128, 0x7112, 0x0c00, 0x900e, 0x7007, 0x0002, + 0x7112, 0x00be, 0x0005, 0x2031, 0x0010, 0x7014, 0x2060, 0x0126, + 0x2091, 0x8000, 0x6048, 0x9005, 0x0128, 0x8001, 0x604a, 0x1110, + 0x080c, 0xcb7f, 0x6018, 0x9005, 0x0904, 0x86eb, 0x00f6, 0x2079, + 0x0300, 0x7918, 0xd1b4, 0x1904, 0x86fe, 0x781b, 0x2020, 0xa001, + 0x7918, 0xd1b4, 0x0120, 0x781b, 0x2000, 0x0804, 0x86fe, 0x8001, + 0x601a, 0x0106, 0x781b, 0x2000, 0xa001, 0x7918, 0xd1ac, 0x1dd0, + 0x010e, 0x00fe, 0x1540, 0x6120, 0x9186, 0x0003, 0x0148, 0x9186, + 0x0006, 0x0130, 0x9186, 0x0009, 0x11e0, 0x611c, 0xd1c4, 0x1100, + 0x080c, 0xc865, 0x01b0, 0x6014, 0x2048, 0xa884, 0x908a, 0x199a, + 0x0280, 0x9082, 0x1999, 0xa886, 0x908a, 0x199a, 0x0210, 0x2001, + 0x1999, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x080c, 0xcfb0, + 0x0110, 0x080c, 0xc546, 0x012e, 0x9c88, 0x001c, 0x7116, 0x2001, + 0x181a, 0x2004, 0x9102, 0x1228, 0x8631, 0x0138, 0x2160, 0x0804, + 0x8697, 0x7017, 0x1ddc, 0x7007, 0x0000, 0x0005, 0x00fe, 0x0c58, + 0x00e6, 0x2071, 0x1a02, 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, + 0x0005, 0x2001, 0x1a0b, 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, + 0x1a02, 0x7132, 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, 0x1a0e, + 0x2013, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1a02, 0x711a, 0x721e, + 0x700b, 0x0009, 0x00ee, 0x0005, 0x0086, 0x0026, 0x7054, 0x8000, + 0x7056, 0x2001, 0x1a10, 0x2044, 0xa06c, 0x9086, 0x0000, 0x0150, + 0x7068, 0xa09a, 0x7064, 0xa096, 0x7060, 0xa092, 0x705c, 0xa08e, + 0x080c, 0x113c, 0x002e, 0x008e, 0x0005, 0x0006, 0x0016, 0x0096, + 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x080c, + 0x85a5, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, + 0x009e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x1a02, 0x7172, + 0x7276, 0x706f, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, + 0x1a02, 0x7074, 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, 0x00ee, + 0x0005, 0x2069, 0x1800, 0x69ec, 0xd1e4, 0x1518, 0x0026, 0xd1ec, + 0x0140, 0x6a54, 0x6874, 0x9202, 0x0288, 0x8117, 0x9294, 0x00c1, + 0x0088, 0x9184, 0x0007, 0x01a0, 0x8109, 0x9184, 0x0007, 0x0110, + 0x69ee, 0x0070, 0x8107, 0x9084, 0x0007, 0x910d, 0x8107, 0x9106, + 0x9094, 0x00c1, 0x9184, 0xff3e, 0x9205, 0x68ee, 0x080c, 0x0f12, + 0x002e, 0x0005, 0x69e8, 0x9184, 0x003f, 0x05b8, 0x8109, 0x9184, + 0x003f, 0x01a8, 0x6a54, 0x6874, 0x9202, 0x0220, 0xd1bc, 0x0168, + 0xc1bc, 0x0018, 0xd1bc, 0x1148, 0xc1bd, 0x2110, 0x00e6, 0x2071, + 0x1800, 0x080c, 0x0f34, 0x00ee, 0x0400, 0x69ea, 0x00f0, 0x0026, + 0x8107, 0x9094, 0x0007, 0x0128, 0x8001, 0x8007, 0x9085, 0x0007, + 0x0050, 0x2010, 0x8004, 0x8004, 0x8004, 0x9084, 0x0007, 0x9205, + 0x8007, 0x9085, 0x0028, 0x9086, 0x0040, 0x2010, 0x00e6, 0x2071, + 0x1800, 0x080c, 0x0f34, 0x00ee, 0x002e, 0x0005, 0x0016, 0x00c6, + 0x2009, 0xfff4, 0x210d, 0x2061, 0x0100, 0x60f0, 0x9100, 0x60f3, + 0x0000, 0x2009, 0xfff4, 0x200f, 0x1220, 0x8108, 0x2105, 0x8000, + 0x200f, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x2061, 0x1a6e, 0x00ce, + 0x0005, 0x9184, 0x000f, 0x8003, 0x8003, 0x8003, 0x9080, 0x1a6e, + 0x2060, 0x0005, 0xa884, 0x908a, 0x199a, 0x1638, 0x9005, 0x1150, + 0x00c6, 0x2061, 0x1a6e, 0x6014, 0x00ce, 0x9005, 0x1130, 0x2001, + 0x001e, 0x0018, 0x908e, 0xffff, 0x01b0, 0x8003, 0x800b, 0x810b, + 0x9108, 0x611a, 0xa87c, 0x908c, 0x00c0, 0x918e, 0x00c0, 0x0904, + 0x88ac, 0xd0b4, 0x1168, 0xd0bc, 0x1904, 0x8885, 0x2009, 0x0006, + 0x080c, 0x88d9, 0x0005, 0x900e, 0x0c60, 0x2001, 0x1999, 0x08b0, + 0xd0fc, 0x05e0, 0x908c, 0x2023, 0x1568, 0x87ff, 0x1558, 0xa9a8, + 0x81ff, 0x1540, 0x6124, 0x918c, 0x0500, 0x1520, 0x6100, 0x918e, + 0x0007, 0x1500, 0x2009, 0x1869, 0x210c, 0xd184, 0x11d8, 0x6003, + 0x0003, 0x6007, 0x0043, 0x6047, 0xb035, 0x080c, 0x1c28, 0xa87c, + 0xc0dd, 0xa87e, 0x600f, 0x0000, 0x00f6, 0x2079, 0x0380, 0x7818, + 0xd0bc, 0x1de8, 0x7833, 0x0013, 0x2c00, 0x7836, 0x781b, 0x8080, + 0x00fe, 0x0005, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, + 0x88d3, 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x6024, 0xd0d4, + 0x11e8, 0x2009, 0x1869, 0x2104, 0xd084, 0x1138, 0x87ff, 0x1120, + 0x2009, 0x0043, 0x0804, 0xac8d, 0x0005, 0x87ff, 0x1de8, 0x2009, + 0x0042, 0x0804, 0xac8d, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, + 0xd1ac, 0x0d20, 0x6024, 0xc0cd, 0x6026, 0x0c00, 0xc0d4, 0x6026, + 0xa890, 0x602e, 0xa88c, 0x6032, 0x08e0, 0xd0fc, 0x0160, 0x908c, + 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, 0x88d3, 0x908c, 0x2020, + 0x918e, 0x2020, 0x0170, 0x0076, 0x00f6, 0x2c78, 0x080c, 0x174b, + 0x00fe, 0x007e, 0x87ff, 0x1120, 0x2009, 0x0042, 0x080c, 0xac8d, + 0x0005, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d58, + 0x6124, 0xc1cd, 0x6126, 0x0c38, 0xd0fc, 0x0188, 0x908c, 0x2020, + 0x918e, 0x2020, 0x01a8, 0x9084, 0x0003, 0x908e, 0x0002, 0x0148, + 0x87ff, 0x1120, 0x2009, 0x0041, 0x080c, 0xac8d, 0x0005, 0x00b9, + 0x0ce8, 0x87ff, 0x1dd8, 0x2009, 0x0043, 0x080c, 0xac8d, 0x0cb0, + 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6124, + 0xc1cd, 0x6126, 0x0c00, 0x2009, 0x0004, 0x0019, 0x0005, 0x2009, + 0x0001, 0x0096, 0x080c, 0xc865, 0x0518, 0x6014, 0x2048, 0xa982, + 0xa800, 0x6016, 0x9186, 0x0001, 0x1188, 0xa97c, 0x918c, 0x8100, + 0x918e, 0x8100, 0x1158, 0x00c6, 0x2061, 0x1a6e, 0x6200, 0xd28c, + 0x1120, 0x6204, 0x8210, 0x0208, 0x6206, 0x00ce, 0x080c, 0x6bd4, + 0x6014, 0x904d, 0x0076, 0x2039, 0x0000, 0x190c, 0x87f2, 0x007e, + 0x009e, 0x0005, 0x0156, 0x00c6, 0x2061, 0x1a6e, 0x6000, 0x81ff, + 0x0110, 0x9205, 0x0008, 0x9204, 0x6002, 0x00ce, 0x015e, 0x0005, + 0x6800, 0xd08c, 0x1138, 0x6808, 0x9005, 0x0120, 0x8001, 0x680a, + 0x9085, 0x0001, 0x0005, 0x2071, 0x1923, 0x7003, 0x0006, 0x7007, + 0x0000, 0x700f, 0x0000, 0x7013, 0x0001, 0x080c, 0x1060, 0x090c, + 0x0d7d, 0xa867, 0x0006, 0xa86b, 0x0001, 0xa8ab, 0xdcb0, 0xa89f, + 0x0000, 0x2900, 0x702e, 0x7033, 0x0000, 0x0005, 0x0096, 0x00e6, + 0x2071, 0x1923, 0x702c, 0x2048, 0x6a2c, 0x721e, 0x6b30, 0x7322, + 0x6834, 0x7026, 0xa896, 0x6838, 0x702a, 0xa89a, 0x6824, 0x7016, + 0x683c, 0x701a, 0x2009, 0x0028, 0x200a, 0x9005, 0x0148, 0x900e, + 0x9188, 0x000c, 0x8001, 0x1de0, 0x2100, 0x9210, 0x1208, 0x8318, + 0xaa8e, 0xab92, 0x7010, 0xd084, 0x0178, 0xc084, 0x7007, 0x0001, + 0x700f, 0x0000, 0x0006, 0x2009, 0x181d, 0x2104, 0x9082, 0x0007, + 0x2009, 0x1b4d, 0x200a, 0x000e, 0xc095, 0x7012, 0x2008, 0x2001, + 0x003b, 0x080c, 0x1693, 0x9006, 0x2071, 0x193c, 0x7002, 0x7006, + 0x702a, 0x00ee, 0x009e, 0x0005, 0x00e6, 0x0126, 0x0156, 0x2091, + 0x8000, 0x2071, 0x1800, 0x7154, 0x2001, 0x0008, 0x910a, 0x0638, + 0x2001, 0x187d, 0x20ac, 0x9006, 0x9080, 0x0008, 0x1f04, 0x898c, + 0x71c0, 0x9102, 0x02e0, 0x2071, 0x1877, 0x20a9, 0x0007, 0x00c6, + 0x080c, 0xab9a, 0x6023, 0x0009, 0x6003, 0x0004, 0x601f, 0x0101, + 0x0089, 0x0126, 0x2091, 0x8000, 0x080c, 0x8b15, 0x012e, 0x1f04, + 0x8998, 0x9006, 0x00ce, 0x015e, 0x012e, 0x00ee, 0x0005, 0x9085, + 0x0001, 0x0cc8, 0x00e6, 0x00b6, 0x0096, 0x0086, 0x0056, 0x0046, + 0x0026, 0x7118, 0x720c, 0x7620, 0x7004, 0xd084, 0x1128, 0x2021, + 0x0024, 0x2029, 0x0002, 0x0020, 0x2021, 0x002c, 0x2029, 0x000a, + 0x080c, 0x1047, 0x090c, 0x0d7d, 0x2900, 0x6016, 0x2058, 0xac66, + 0x9006, 0xa802, 0xa806, 0xa86a, 0xa87a, 0xa8aa, 0xa887, 0x0005, + 0xa87f, 0x0020, 0x7008, 0xa89a, 0x7010, 0xa89e, 0xae8a, 0xa8af, + 0xffff, 0xa8b3, 0x0000, 0x8109, 0x0160, 0x080c, 0x1047, 0x090c, + 0x0d7d, 0xad66, 0x2b00, 0xa802, 0x2900, 0xb806, 0x2058, 0x8109, + 0x1da0, 0x002e, 0x004e, 0x005e, 0x008e, 0x009e, 0x00be, 0x00ee, + 0x0005, 0x2079, 0x0000, 0x2071, 0x1923, 0x7004, 0x004b, 0x700c, + 0x0002, 0x8a04, 0x89fd, 0x89fd, 0x0005, 0x8a0e, 0x8a6f, 0x8a6f, + 0x8a6f, 0x8a70, 0x8a81, 0x8a81, 0x700c, 0x0cba, 0x0126, 0x2091, + 0x8000, 0x78a0, 0x79a0, 0x9106, 0x0128, 0x78a0, 0x79a0, 0x9106, + 0x1904, 0x8a62, 0x2001, 0x0005, 0x2004, 0xd0bc, 0x0130, 0x2011, + 0x0004, 0x2204, 0xc0c5, 0x2012, 0x0ca8, 0x012e, 0x7018, 0x910a, + 0x1130, 0x7030, 0x9005, 0x05a8, 0x080c, 0x8ab0, 0x0490, 0x1210, + 0x7114, 0x910a, 0x9192, 0x000a, 0x0210, 0x2009, 0x000a, 0x2001, + 0x1888, 0x2014, 0x2001, 0x1935, 0x2004, 0x9100, 0x9202, 0x0e48, + 0x080c, 0x8bff, 0x2200, 0x9102, 0x0208, 0x2208, 0x0096, 0x702c, + 0x2048, 0xa873, 0x0001, 0xa976, 0x080c, 0x8d08, 0x2100, 0xa87e, + 0xa86f, 0x0000, 0x009e, 0x0126, 0x2091, 0x8000, 0x2009, 0x1a20, + 0x2104, 0xc085, 0x200a, 0x700f, 0x0002, 0x012e, 0x080c, 0x115b, + 0x1de8, 0x0005, 0x2001, 0x0005, 0x2004, 0xd0bc, 0x0130, 0x2011, + 0x0004, 0x2204, 0xc0c5, 0x2012, 0x0ca8, 0x012e, 0x0005, 0x0005, + 0x700c, 0x0002, 0x8a75, 0x8a78, 0x8a77, 0x080c, 0x8a0c, 0x0005, + 0x8001, 0x700e, 0x0096, 0x702c, 0x2048, 0xa974, 0x009e, 0x0011, + 0x0ca0, 0x0005, 0x0096, 0x702c, 0x2048, 0x7018, 0x9100, 0x7214, + 0x921a, 0x1130, 0x701c, 0xa88e, 0x7020, 0xa892, 0x9006, 0x0068, + 0x0006, 0x080c, 0x8d08, 0x2100, 0xaa8c, 0x9210, 0xaa8e, 0x1220, + 0xa890, 0x9081, 0x0000, 0xa892, 0x000e, 0x009e, 0x2f08, 0x9188, + 0x0028, 0x200a, 0x701a, 0x0005, 0x00e6, 0x2071, 0x1923, 0x700c, + 0x0002, 0x8aae, 0x8aae, 0x8aac, 0x700f, 0x0001, 0x00ee, 0x0005, + 0x0126, 0x2091, 0x8000, 0x7030, 0x9005, 0x0508, 0x2078, 0x7814, + 0x2048, 0xae88, 0x00b6, 0x2059, 0x0000, 0x080c, 0x8b1e, 0x00be, + 0x01b0, 0x00e6, 0x2071, 0x193c, 0x080c, 0x8b65, 0x00ee, 0x0178, + 0x0096, 0x080c, 0x1060, 0x2900, 0x009e, 0x0148, 0xa8aa, 0x04d1, + 0x0041, 0x2001, 0x1946, 0x2003, 0x0000, 0x012e, 0x08c8, 0x012e, + 0x0005, 0x00d6, 0x00c6, 0x0086, 0x00a6, 0x2940, 0x2650, 0x2600, + 0x9005, 0x0180, 0xa864, 0x9084, 0x000f, 0x2068, 0x9d88, 0x1e7a, + 0x2165, 0x0056, 0x2029, 0x0000, 0x080c, 0x8c8d, 0x080c, 0x1e50, + 0x1dd8, 0x005e, 0x00ae, 0x2001, 0x187f, 0x2004, 0xa88a, 0x00c6, + 0x2f60, 0x080c, 0x174b, 0x00ce, 0x781f, 0x0101, 0x7813, 0x0000, + 0x0126, 0x2091, 0x8000, 0x080c, 0x8b74, 0x012e, 0x008e, 0x00ce, + 0x00de, 0x0005, 0x7030, 0x9005, 0x0138, 0x2078, 0x780c, 0x7032, + 0x2001, 0x1946, 0x2003, 0x0001, 0x0005, 0x00e6, 0x2071, 0x1923, + 0x7030, 0x600e, 0x2c00, 0x7032, 0x00ee, 0x0005, 0x00d6, 0x00c6, + 0x0026, 0x9b80, 0x8de7, 0x2005, 0x906d, 0x090c, 0x0d7d, 0x9b80, + 0x8ddf, 0x2005, 0x9065, 0x090c, 0x0d7d, 0x6114, 0x2600, 0x9102, + 0x0248, 0x6828, 0x9102, 0x02f0, 0x9085, 0x0001, 0x002e, 0x00ce, + 0x00de, 0x0005, 0x6804, 0xd094, 0x0148, 0x6854, 0xd084, 0x1178, + 0xc085, 0x6856, 0x2011, 0x8026, 0x080c, 0x4b29, 0x684c, 0x0096, + 0x904d, 0x090c, 0x0d7d, 0xa804, 0x8000, 0xa806, 0x009e, 0x9006, + 0x2030, 0x0c20, 0x6854, 0xd08c, 0x1d08, 0xc08d, 0x6856, 0x2011, + 0x8025, 0x080c, 0x4b29, 0x684c, 0x0096, 0x904d, 0x090c, 0x0d7d, + 0xa800, 0x8000, 0xa802, 0x009e, 0x0888, 0x7000, 0x2019, 0x0008, + 0x8319, 0x7104, 0x9102, 0x1118, 0x2300, 0x9005, 0x0020, 0x0210, + 0x9302, 0x0008, 0x8002, 0x0005, 0x00d6, 0x7814, 0x9005, 0x090c, + 0x0d7d, 0x781c, 0x9084, 0x0101, 0x9086, 0x0101, 0x190c, 0x0d7d, + 0x2069, 0x193c, 0x6804, 0x9080, 0x193e, 0x2f08, 0x2102, 0x6904, + 0x8108, 0x9182, 0x0008, 0x0208, 0x900e, 0x6906, 0x9180, 0x193e, + 0x2003, 0x0000, 0x00de, 0x0005, 0x0096, 0x00c6, 0x2060, 0x6014, + 0x2048, 0xa8a8, 0x0096, 0x2048, 0x9005, 0x190c, 0x1079, 0x009e, + 0xa8ab, 0x0000, 0x080c, 0x0ff9, 0x080c, 0xabf0, 0x00ce, 0x009e, + 0x0005, 0x6020, 0x9086, 0x0009, 0x1128, 0x601c, 0xd0c4, 0x0110, + 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x6000, 0x9086, 0x0000, + 0x0178, 0x6010, 0x9005, 0x0150, 0x00b6, 0x2058, 0x080c, 0x8f1c, + 0x00be, 0x6013, 0x0000, 0x601b, 0x0000, 0x0010, 0x2c00, 0x0861, + 0x0005, 0x2009, 0x1927, 0x210c, 0xd194, 0x0005, 0x00e6, 0x2071, + 0x1923, 0x7110, 0xc194, 0xd19c, 0x1118, 0xc185, 0x7007, 0x0000, + 0x7112, 0x2001, 0x003b, 0x080c, 0x1693, 0x00ee, 0x0005, 0x0096, + 0x00d6, 0x9006, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x7016, + 0x702a, 0x7026, 0x702f, 0x0000, 0x080c, 0x8d67, 0x0170, 0x080c, + 0x8d9c, 0x0158, 0x2900, 0x7002, 0x700a, 0x701a, 0x7013, 0x0001, + 0x701f, 0x000a, 0x00de, 0x009e, 0x0005, 0x900e, 0x0cd8, 0x00e6, + 0x0096, 0x0086, 0x00d6, 0x00c6, 0x2071, 0x1930, 0x721c, 0x2100, + 0x9202, 0x1618, 0x080c, 0x8d9c, 0x090c, 0x0d7d, 0x7018, 0x9005, + 0x1160, 0x2900, 0x7002, 0x700a, 0x701a, 0x9006, 0x7006, 0x700e, + 0xa806, 0xa802, 0x7012, 0x701e, 0x0038, 0x2040, 0xa806, 0x2900, + 0xa002, 0x701a, 0xa803, 0x0000, 0x7010, 0x8000, 0x7012, 0x701c, + 0x9080, 0x000a, 0x701e, 0x721c, 0x08d0, 0x721c, 0x00ce, 0x00de, + 0x008e, 0x009e, 0x00ee, 0x0005, 0x0096, 0x0156, 0x0136, 0x0146, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1930, 0x7300, 0x831f, + 0x831e, 0x831e, 0x9384, 0x003f, 0x20e8, 0x939c, 0xffc0, 0x9398, + 0x0003, 0x7104, 0x080c, 0x8d08, 0x810c, 0x2100, 0x9318, 0x8003, + 0x2228, 0x2021, 0x0078, 0x9402, 0x9532, 0x0208, 0x2028, 0x2500, + 0x8004, 0x20a8, 0x23a0, 0xa001, 0xa001, 0x4005, 0x2508, 0x080c, + 0x8d11, 0x2130, 0x7014, 0x9600, 0x7016, 0x2600, 0x711c, 0x9102, + 0x701e, 0x7004, 0x9600, 0x2008, 0x9082, 0x000a, 0x1190, 0x7000, + 0x2048, 0xa800, 0x9005, 0x1148, 0x2009, 0x0001, 0x0026, 0x080c, + 0x8bff, 0x002e, 0x7000, 0x2048, 0xa800, 0x7002, 0x7007, 0x0000, + 0x0008, 0x7106, 0x2500, 0x9212, 0x1904, 0x8c3e, 0x012e, 0x00ee, + 0x014e, 0x013e, 0x015e, 0x009e, 0x0005, 0x0016, 0x0026, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x9580, 0x8ddf, 0x2005, 0x9075, 0x090c, + 0x0d7d, 0x080c, 0x8ce3, 0x012e, 0x9580, 0x8ddb, 0x2005, 0x9075, + 0x090c, 0x0d7d, 0x0156, 0x0136, 0x01c6, 0x0146, 0x01d6, 0x831f, + 0x831e, 0x831e, 0x9384, 0x003f, 0x20e0, 0x9384, 0xffc0, 0x9100, + 0x2098, 0xa860, 0x20e8, 0xa95c, 0x2c05, 0x9100, 0x20a0, 0x20a9, + 0x0002, 0x4003, 0x2e0c, 0x2d00, 0x0002, 0x8ccd, 0x8ccd, 0x8ccf, + 0x8ccd, 0x8ccf, 0x8ccd, 0x8ccd, 0x8ccd, 0x8ccd, 0x8ccd, 0x8cd5, + 0x8ccd, 0x8cd5, 0x8ccd, 0x8ccd, 0x8ccd, 0x080c, 0x0d7d, 0x4104, + 0x20a9, 0x0002, 0x4002, 0x4003, 0x0028, 0x20a9, 0x0002, 0x4003, + 0x4104, 0x4003, 0x01de, 0x014e, 0x01ce, 0x013e, 0x015e, 0x00ee, + 0x002e, 0x001e, 0x0005, 0x0096, 0x7014, 0x8001, 0x7016, 0x710c, + 0x2110, 0x00f1, 0x810c, 0x9188, 0x0003, 0x7308, 0x8210, 0x9282, + 0x000a, 0x1198, 0x7008, 0x2048, 0xa800, 0x9005, 0x0158, 0x0006, + 0x080c, 0x8dab, 0x009e, 0xa807, 0x0000, 0x2900, 0x700a, 0x7010, + 0x8001, 0x7012, 0x700f, 0x0000, 0x0008, 0x720e, 0x009e, 0x0005, + 0x0006, 0x810b, 0x810b, 0x2100, 0x810b, 0x9100, 0x2008, 0x000e, + 0x0005, 0x0006, 0x0026, 0x2100, 0x9005, 0x0158, 0x9092, 0x000c, + 0x0240, 0x900e, 0x8108, 0x9082, 0x000c, 0x1de0, 0x002e, 0x000e, + 0x0005, 0x900e, 0x0cd8, 0x2d00, 0x90b8, 0x0008, 0x690c, 0x6810, + 0x2019, 0x0001, 0x2031, 0x8d51, 0x9112, 0x0220, 0x0118, 0x8318, + 0x2208, 0x0cd0, 0x6808, 0x9005, 0x0108, 0x8318, 0x233a, 0x6804, + 0xd084, 0x2300, 0x2021, 0x0001, 0x1150, 0x9082, 0x0003, 0x0967, + 0x0a67, 0x8420, 0x9082, 0x0007, 0x0967, 0x0a67, 0x0cd0, 0x9082, + 0x0002, 0x0967, 0x0a67, 0x8420, 0x9082, 0x0005, 0x0967, 0x0a67, + 0x0cd0, 0x6c1a, 0x2d00, 0x90b8, 0x0007, 0x00e6, 0x2071, 0x1800, + 0x7128, 0x6810, 0x2019, 0x0001, 0x910a, 0x0118, 0x0210, 0x8318, + 0x0cd8, 0x2031, 0x8d64, 0x0870, 0x6c16, 0x00ee, 0x0005, 0x0096, + 0x0046, 0x0126, 0x2091, 0x8000, 0x2b00, 0x9080, 0x8de3, 0x2005, + 0x9005, 0x090c, 0x0d7d, 0x2004, 0x90a0, 0x000a, 0x080c, 0x1060, + 0x01d0, 0x2900, 0x7026, 0xa803, 0x0000, 0xa807, 0x0000, 0x080c, + 0x1060, 0x0188, 0x7024, 0xa802, 0xa807, 0x0000, 0x2900, 0x7026, + 0x94a2, 0x000a, 0x0110, 0x0208, 0x0c90, 0x9085, 0x0001, 0x012e, + 0x004e, 0x009e, 0x0005, 0x7024, 0x9005, 0x0dc8, 0x2048, 0xac00, + 0x080c, 0x1079, 0x2400, 0x0cc0, 0x0126, 0x2091, 0x8000, 0x7024, + 0x2048, 0x9005, 0x0130, 0xa800, 0x7026, 0xa803, 0x0000, 0xa807, + 0x0000, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x7024, 0xa802, + 0x2900, 0x7026, 0x012e, 0x0005, 0x0096, 0x9e80, 0x0009, 0x2004, + 0x9005, 0x0138, 0x2048, 0xa800, 0x0006, 0x080c, 0x1079, 0x000e, + 0x0cb8, 0x009e, 0x0005, 0x0096, 0x7008, 0x9005, 0x0138, 0x2048, + 0xa800, 0x0006, 0x080c, 0x1079, 0x000e, 0x0cb8, 0x9006, 0x7002, + 0x700a, 0x7006, 0x700e, 0x701a, 0x701e, 0x7022, 0x702a, 0x7026, + 0x702e, 0x009e, 0x0005, 0x1a6c, 0x0000, 0x0000, 0x0000, 0x1930, + 0x0000, 0x0000, 0x0000, 0x1888, 0x0000, 0x0000, 0x0000, 0x1877, + 0x0000, 0x0000, 0x0000, 0x00e6, 0x00c6, 0x00b6, 0x00a6, 0xa8a8, + 0x2040, 0x2071, 0x1877, 0x080c, 0x8f07, 0xa067, 0x0023, 0x6010, + 0x905d, 0x0904, 0x8edc, 0xb814, 0xa06e, 0xb910, 0xa172, 0xb9a0, + 0xa176, 0x2001, 0x0003, 0xa07e, 0xa834, 0xa082, 0xa07b, 0x0000, + 0xa898, 0x9005, 0x0118, 0xa078, 0xc085, 0xa07a, 0x2858, 0x2031, + 0x0018, 0xa068, 0x908a, 0x0019, 0x1a0c, 0x0d7d, 0x2020, 0x2050, + 0x2940, 0xa864, 0x90bc, 0x00ff, 0x908c, 0x000f, 0x91e0, 0x1e7a, + 0x2c65, 0x9786, 0x0024, 0x2c05, 0x1590, 0x908a, 0x0036, 0x1a0c, + 0x0d7d, 0x9082, 0x001b, 0x0002, 0x8e47, 0x8e47, 0x8e49, 0x8e47, + 0x8e47, 0x8e47, 0x8e4b, 0x8e47, 0x8e47, 0x8e47, 0x8e4d, 0x8e47, + 0x8e47, 0x8e47, 0x8e4f, 0x8e47, 0x8e47, 0x8e47, 0x8e51, 0x8e47, + 0x8e47, 0x8e47, 0x8e53, 0x8e47, 0x8e47, 0x8e47, 0x8e55, 0x080c, + 0x0d7d, 0xa180, 0x04b8, 0xa190, 0x04a8, 0xa1a0, 0x0498, 0xa1b0, + 0x0488, 0xa1c0, 0x0478, 0xa1d0, 0x0468, 0xa1e0, 0x0458, 0x908a, + 0x0034, 0x1a0c, 0x0d7d, 0x9082, 0x001b, 0x0002, 0x8e79, 0x8e77, + 0x8e77, 0x8e77, 0x8e77, 0x8e77, 0x8e7b, 0x8e77, 0x8e77, 0x8e77, + 0x8e77, 0x8e77, 0x8e7d, 0x8e77, 0x8e77, 0x8e77, 0x8e77, 0x8e77, + 0x8e7f, 0x8e77, 0x8e77, 0x8e77, 0x8e77, 0x8e77, 0x8e81, 0x080c, + 0x0d7d, 0xa180, 0x0038, 0xa198, 0x0028, 0xa1b0, 0x0018, 0xa1c8, + 0x0008, 0xa1e0, 0x2600, 0x0002, 0x8e9d, 0x8e9f, 0x8ea1, 0x8ea3, + 0x8ea5, 0x8ea7, 0x8ea9, 0x8eab, 0x8ead, 0x8eaf, 0x8eb1, 0x8eb3, + 0x8eb5, 0x8eb7, 0x8eb9, 0x8ebb, 0x8ebd, 0x8ebf, 0x8ec1, 0x8ec3, + 0x8ec5, 0x8ec7, 0x8ec9, 0x8ecb, 0x8ecd, 0x080c, 0x0d7d, 0xb9e2, + 0x0468, 0xb9de, 0x0458, 0xb9da, 0x0448, 0xb9d6, 0x0438, 0xb9d2, + 0x0428, 0xb9ce, 0x0418, 0xb9ca, 0x0408, 0xb9c6, 0x00f8, 0xb9c2, + 0x00e8, 0xb9be, 0x00d8, 0xb9ba, 0x00c8, 0xb9b6, 0x00b8, 0xb9b2, + 0x00a8, 0xb9ae, 0x0098, 0xb9aa, 0x0088, 0xb9a6, 0x0078, 0xb9a2, + 0x0068, 0xb99e, 0x0058, 0xb99a, 0x0048, 0xb996, 0x0038, 0xb992, + 0x0028, 0xb98e, 0x0018, 0xb98a, 0x0008, 0xb986, 0x8631, 0x8421, + 0x0130, 0x080c, 0x1e50, 0x090c, 0x0d7d, 0x0804, 0x8e21, 0x00ae, + 0x00be, 0x00ce, 0x00ee, 0x0005, 0xa86c, 0xa06e, 0xa870, 0xa072, + 0xa077, 0x00ff, 0x9006, 0x0804, 0x8e03, 0x0006, 0x0016, 0x00b6, + 0x6010, 0x2058, 0xb810, 0x9005, 0x01b0, 0x2001, 0x1924, 0x2004, + 0x9005, 0x0188, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, + 0x0036, 0x0046, 0xbba0, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, + 0x4b29, 0x004e, 0x003e, 0x00be, 0x001e, 0x000e, 0x0005, 0x9016, + 0x710c, 0xa834, 0x910a, 0xa936, 0x7008, 0x9005, 0x0120, 0x8210, + 0x910a, 0x0238, 0x0130, 0x7010, 0x8210, 0x910a, 0x0210, 0x0108, + 0x0cd8, 0xaa8a, 0xa26a, 0x0005, 0x00f6, 0x00d6, 0x0036, 0x2079, + 0x0300, 0x781b, 0x0200, 0x7818, 0xd094, 0x1dd8, 0x781b, 0x0202, + 0xa001, 0xa001, 0x7818, 0xd094, 0x1da0, 0xb8ac, 0x9005, 0x01b8, + 0x2068, 0x2079, 0x0000, 0x2c08, 0x911e, 0x1118, 0x680c, 0xb8ae, + 0x0060, 0x9106, 0x0140, 0x2d00, 0x2078, 0x680c, 0x9005, 0x090c, + 0x0d7d, 0x2068, 0x0cb0, 0x6b0c, 0x7b0e, 0x600f, 0x0000, 0x2079, + 0x0300, 0x781b, 0x0200, 0x003e, 0x00de, 0x00fe, 0x0005, 0x00e6, + 0x00d6, 0x0096, 0x00c6, 0x0036, 0x0126, 0x2091, 0x8000, 0x0156, + 0x20a9, 0x01ff, 0x2071, 0x0300, 0x701b, 0x0200, 0x7018, 0xd094, + 0x0110, 0x1f04, 0x8f5c, 0x701b, 0x0202, 0xa001, 0xa001, 0x7018, + 0xd094, 0x1d90, 0xb8ac, 0x9005, 0x01d0, 0x2060, 0x600c, 0xb8ae, + 0x6003, 0x0004, 0x601b, 0x0000, 0x6013, 0x0000, 0x601f, 0x0101, + 0x6014, 0x2048, 0xa88b, 0x0000, 0xa8a8, 0xa8ab, 0x0000, 0x904d, + 0x090c, 0x0d7d, 0x080c, 0x1079, 0x080c, 0x8b15, 0x0c18, 0x2071, + 0x0300, 0x701b, 0x0200, 0x015e, 0x012e, 0x003e, 0x00ce, 0x009e, + 0x00de, 0x00ee, 0x0005, 0x00c6, 0x00b6, 0x0016, 0x0006, 0x0156, + 0x080c, 0x2630, 0x015e, 0x11b0, 0x080c, 0x65e3, 0x190c, 0x0d7d, + 0x000e, 0x001e, 0xb912, 0xb816, 0x080c, 0xab9a, 0x0140, 0x2b00, + 0x6012, 0x6023, 0x0001, 0x2009, 0x0001, 0x080c, 0xac8d, 0x00be, + 0x00ce, 0x0005, 0x000e, 0x001e, 0x0cd0, 0x0066, 0x6000, 0x90b2, + 0x0016, 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0x8fce, 0x8fce, + 0x8fce, 0x8fd0, 0x9019, 0x8fce, 0x8fce, 0x8fce, 0x907c, 0x8fce, + 0x90b4, 0x8fce, 0x8fce, 0x8fce, 0x8fce, 0x8fce, 0x080c, 0x0d7d, + 0x9182, 0x0040, 0x0002, 0x8fe3, 0x8fe3, 0x8fe3, 0x8fe3, 0x8fe3, + 0x8fe3, 0x8fe3, 0x8fe3, 0x8fe3, 0x8fe5, 0x8ff6, 0x8fe3, 0x8fe3, + 0x8fe3, 0x8fe3, 0x9007, 0x080c, 0x0d7d, 0x0096, 0x6114, 0x2148, + 0xa87b, 0x0000, 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, + 0x080c, 0x6b9f, 0x080c, 0xabf0, 0x009e, 0x0005, 0x080c, 0x965a, + 0x00d6, 0x6114, 0x080c, 0xc865, 0x0130, 0x0096, 0x6114, 0x2148, + 0x080c, 0x6d9f, 0x009e, 0x00de, 0x080c, 0xabf0, 0x0005, 0x080c, + 0x965a, 0x080c, 0x320f, 0x6114, 0x0096, 0x2148, 0x080c, 0xc865, + 0x0120, 0xa87b, 0x0029, 0x080c, 0x6d9f, 0x009e, 0x080c, 0xabf0, + 0x0005, 0x601b, 0x0000, 0x9182, 0x0040, 0x0096, 0x0002, 0x9034, + 0x9034, 0x9034, 0x9034, 0x9034, 0x9034, 0x9034, 0x9034, 0x9036, + 0x9034, 0x9034, 0x9034, 0x9078, 0x9034, 0x9034, 0x9034, 0x9034, + 0x9034, 0x9034, 0x903c, 0x9034, 0x080c, 0x0d7d, 0x6114, 0x2148, + 0xa938, 0x918e, 0xffff, 0x05e0, 0x00e6, 0x6114, 0x2148, 0x080c, + 0x8deb, 0x0096, 0xa8a8, 0x2048, 0x080c, 0x6b37, 0x009e, 0xa8ab, + 0x0000, 0x6010, 0x9005, 0x0128, 0x00b6, 0x2058, 0x080c, 0x8f1c, + 0x00be, 0xae88, 0x00b6, 0x2059, 0x0000, 0x080c, 0x8b1e, 0x00be, + 0x01e0, 0x2071, 0x193c, 0x080c, 0x8b65, 0x01b8, 0x9086, 0x0001, + 0x1128, 0x2001, 0x1946, 0x2004, 0x9005, 0x1178, 0x0096, 0x080c, + 0x1047, 0x2900, 0x009e, 0x0148, 0xa8aa, 0x00f6, 0x2c78, 0x080c, + 0x8ad9, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x080c, 0x8b15, 0x0cd0, + 0x080c, 0x9130, 0x009e, 0x0005, 0x9182, 0x0040, 0x0096, 0x0002, + 0x9090, 0x9090, 0x9090, 0x9092, 0x9090, 0x9090, 0x9090, 0x90b2, + 0x9090, 0x9090, 0x9090, 0x9090, 0x9090, 0x9090, 0x9090, 0x9090, + 0x080c, 0x0d7d, 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa8ac, + 0xa836, 0xa8b0, 0xa83a, 0xa847, 0x0000, 0xa84b, 0x0000, 0xa884, + 0x9092, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, + 0x9210, 0x621a, 0x080c, 0x1bdf, 0x2009, 0x8030, 0x080c, 0x9280, + 0x009e, 0x0005, 0x080c, 0x0d7d, 0x080c, 0x965a, 0x6114, 0x2148, + 0xa87b, 0x0000, 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, + 0x080c, 0x6d9f, 0x080c, 0xabf0, 0x009e, 0x0005, 0x080c, 0xa899, + 0x6144, 0xd1fc, 0x0120, 0xd1ac, 0x1110, 0x6003, 0x0003, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0096, 0x0023, 0x009e, 0x080c, + 0xa8b5, 0x0005, 0x90ea, 0x90ea, 0x90ea, 0x90ec, 0x90fd, 0x90ea, + 0x90ea, 0x90ea, 0x90ea, 0x90ea, 0x90ea, 0x90ea, 0x90ea, 0x90ea, + 0x90ea, 0x90ea, 0x080c, 0x0d7d, 0x080c, 0xaa2d, 0x6114, 0x2148, + 0xa87b, 0x0006, 0x6010, 0x00b6, 0x2058, 0xb8bb, 0x0500, 0x00be, + 0x080c, 0x6d9f, 0x080c, 0xabf0, 0x0005, 0x0491, 0x0005, 0x080c, + 0xa899, 0x6000, 0x6144, 0xd1fc, 0x0130, 0xd1ac, 0x1120, 0x6003, + 0x0003, 0x2009, 0x0003, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0096, + 0x0033, 0x009e, 0x0106, 0x080c, 0xa8b5, 0x010e, 0x0005, 0x9127, + 0x9127, 0x9127, 0x9129, 0x9130, 0x9127, 0x9127, 0x9127, 0x9127, + 0x9127, 0x9127, 0x9127, 0x9127, 0x9127, 0x9127, 0x9127, 0x080c, + 0x0d7d, 0x0036, 0x00e6, 0x080c, 0xaa2d, 0x00ee, 0x003e, 0x0005, + 0x00f6, 0x00e6, 0x601b, 0x0000, 0x6014, 0x2048, 0x6010, 0x9005, + 0x0128, 0x00b6, 0x2058, 0x080c, 0x8f1c, 0x00be, 0x2071, 0x193c, + 0x080c, 0x8b65, 0x0160, 0x2001, 0x187f, 0x2004, 0xa88a, 0x2031, + 0x0000, 0x2c78, 0x080c, 0x8ad9, 0x00ee, 0x00fe, 0x0005, 0x0096, + 0xa88b, 0x0000, 0xa8a8, 0x2048, 0x080c, 0x1079, 0x009e, 0xa8ab, + 0x0000, 0x080c, 0x8b15, 0x0c80, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x187a, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0126, 0x2091, 0x8000, 0x0036, + 0x0046, 0x20a9, 0x0010, 0x9006, 0x8004, 0x8086, 0x818e, 0x1208, + 0x9200, 0x1f04, 0x9175, 0x8086, 0x818e, 0x004e, 0x003e, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, + 0x9005, 0x01c8, 0x911a, 0x12b8, 0x8213, 0x818d, 0x0228, 0x911a, + 0x1220, 0x1f04, 0x918c, 0x0028, 0x911a, 0x2308, 0x8210, 0x1f04, + 0x918c, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, 0x015e, + 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, 0x0ca8, + 0x0126, 0x2091, 0x2800, 0x2079, 0x19e6, 0x012e, 0x00d6, 0x2069, + 0x19e6, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, 0x0000, + 0x2069, 0x0200, 0x080c, 0xa68e, 0x04a9, 0x080c, 0xa679, 0x0491, + 0x080c, 0xa67c, 0x0479, 0x080c, 0xa67f, 0x0461, 0x080c, 0xa682, + 0x0449, 0x080c, 0xa685, 0x0431, 0x080c, 0xa688, 0x0419, 0x080c, + 0xa68b, 0x0401, 0x01de, 0x014e, 0x015e, 0x6857, 0x0000, 0x00f6, + 0x2079, 0x0380, 0x00f9, 0x7807, 0x0003, 0x7803, 0x0000, 0x7803, + 0x0001, 0x2069, 0x0004, 0x2d04, 0x9084, 0xfffe, 0x9085, 0x8000, + 0x206a, 0x2069, 0x0100, 0x6828, 0x9084, 0xfffc, 0x682a, 0x00fe, + 0x00de, 0x0005, 0x20a9, 0x0020, 0x20a1, 0x0240, 0x2001, 0x0000, + 0x4004, 0x0005, 0x00c6, 0x7803, 0x0000, 0x9006, 0x7827, 0x0030, + 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, 0x1aee, 0x781f, 0xff00, + 0x781b, 0xff00, 0x2061, 0x1ae3, 0x602f, 0x19e6, 0x6033, 0x1800, + 0x6037, 0x1a02, 0x603b, 0x1e7a, 0x603f, 0x1e8a, 0x6042, 0x6047, + 0x1ab9, 0x00ce, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x9086, 0x0001, 0x01b0, 0x00c6, 0x6146, 0x600f, 0x0000, 0x2c08, + 0x2061, 0x19e6, 0x602c, 0x8000, 0x602e, 0x601c, 0x9005, 0x0130, + 0x9080, 0x0003, 0x2102, 0x611e, 0x00ce, 0x0005, 0x6122, 0x611e, + 0x0cd8, 0x6146, 0x2c08, 0x2001, 0x0012, 0x080c, 0xa88a, 0x0005, + 0x0016, 0x2009, 0x8020, 0x6146, 0x2c08, 0x2001, 0x0382, 0x2004, + 0x9084, 0x0007, 0x9086, 0x0001, 0x1128, 0x2001, 0x0019, 0x080c, + 0xa88a, 0x0088, 0x00c6, 0x2061, 0x19e6, 0x602c, 0x8000, 0x602e, + 0x600c, 0x9005, 0x0128, 0x9080, 0x0003, 0x2102, 0x610e, 0x0010, + 0x6112, 0x610e, 0x00ce, 0x001e, 0x0005, 0x2001, 0x0382, 0x2004, + 0x9084, 0x0007, 0x9086, 0x0001, 0x0198, 0x00c6, 0x6146, 0x600f, + 0x0000, 0x2c08, 0x2061, 0x19e6, 0x6044, 0x9005, 0x0130, 0x9080, + 0x0003, 0x2102, 0x6146, 0x00ce, 0x0005, 0x614a, 0x6146, 0x0cd8, + 0x6146, 0x600f, 0x0000, 0x2c08, 0x2001, 0x0013, 0x080c, 0xa88a, + 0x0005, 0x6044, 0xd0dc, 0x0110, 0x080c, 0xa327, 0x0005, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x00b6, 0x0096, 0x0076, 0x0066, 0x0056, + 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, 0x2071, 0x19e6, + 0x7648, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, 0x930c, + 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x9307, 0x87ff, 0x0120, + 0x605c, 0x9106, 0x1904, 0x9307, 0x704c, 0x9c06, 0x1178, 0x0036, + 0x2019, 0x0001, 0x080c, 0xa133, 0x703f, 0x0000, 0x9006, 0x704e, + 0x706a, 0x7052, 0x706e, 0x003e, 0x2029, 0x0001, 0x0811, 0x7048, + 0x9c36, 0x1110, 0x660c, 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x080c, 0xc865, 0x01f0, 0x6014, 0x2048, 0x6020, 0x9086, + 0x0003, 0x1588, 0x6004, 0x9086, 0x0040, 0x090c, 0xa327, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, + 0xcb68, 0x080c, 0xe66e, 0x080c, 0x6d9f, 0x007e, 0x003e, 0x001e, + 0x080c, 0xca54, 0x080c, 0xac2b, 0x00ce, 0x0804, 0x92a5, 0x2c78, + 0x600c, 0x2060, 0x0804, 0x92a5, 0x012e, 0x000e, 0x001e, 0x002e, + 0x003e, 0x005e, 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, + 0x0036, 0x0076, 0x080c, 0xe66e, 0x080c, 0xe2b9, 0x007e, 0x003e, + 0x001e, 0x08c0, 0x6020, 0x9086, 0x0009, 0x1168, 0xa87b, 0x0006, + 0x0016, 0x0036, 0x0076, 0x080c, 0x6d9f, 0x080c, 0xabf0, 0x007e, + 0x003e, 0x001e, 0x0848, 0x6020, 0x9086, 0x000a, 0x0904, 0x92f1, + 0x0804, 0x92ea, 0x0006, 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, + 0x9036, 0x0126, 0x2091, 0x8000, 0x2079, 0x19e6, 0x7848, 0x9065, + 0x0904, 0x93a6, 0x600c, 0x0006, 0x600f, 0x0000, 0x784c, 0x9c06, + 0x11a0, 0x0036, 0x2019, 0x0001, 0x080c, 0xa133, 0x783f, 0x0000, + 0x901e, 0x7b4e, 0x7b6a, 0x7b52, 0x7b6e, 0x003e, 0x000e, 0x9005, + 0x1118, 0x600c, 0x600f, 0x0000, 0x0006, 0x00e6, 0x2f70, 0x080c, + 0x9289, 0x00ee, 0x080c, 0xc865, 0x0548, 0x6014, 0x2048, 0x6020, + 0x9086, 0x0003, 0x15a8, 0x3e08, 0x918e, 0x0002, 0x1188, 0x6010, + 0x9005, 0x0170, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, + 0x6048, 0x9005, 0x11c0, 0x2001, 0x1987, 0x2004, 0x604a, 0x0098, + 0x6004, 0x9086, 0x0040, 0x090c, 0xa327, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x080c, 0x6d93, 0x080c, 0xca54, 0x6044, 0xc0fc, + 0x6046, 0x080c, 0xac2b, 0x000e, 0x0804, 0x934f, 0x7e4a, 0x7e46, + 0x012e, 0x00fe, 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, + 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xe2b9, 0x0c38, 0x6020, + 0x9086, 0x0009, 0x1130, 0xab7a, 0x080c, 0x6d9f, 0x080c, 0xabf0, + 0x0c10, 0x6020, 0x9086, 0x000a, 0x0990, 0x0850, 0x0016, 0x0026, + 0x0086, 0x9046, 0x00a9, 0x080c, 0x94b7, 0x008e, 0x002e, 0x001e, + 0x0005, 0x00f6, 0x0126, 0x2079, 0x19e6, 0x2091, 0x8000, 0x080c, + 0x9500, 0x080c, 0x9594, 0x080c, 0x67d1, 0x012e, 0x00fe, 0x0005, + 0x00b6, 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0016, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7620, 0x2660, + 0x2678, 0x8cff, 0x0904, 0x947c, 0x6010, 0x2058, 0xb8a0, 0x9206, + 0x1904, 0x9477, 0x88ff, 0x0120, 0x605c, 0x9106, 0x1904, 0x9477, + 0x7030, 0x9c06, 0x1570, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, + 0x080c, 0x8709, 0x080c, 0x9e4f, 0x68c3, 0x0000, 0x080c, 0xa327, + 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, + 0x0138, 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, 0x2a49, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, - 0x0058, 0x080c, 0x6a02, 0x1538, 0x6003, 0x0009, 0x630a, 0x7808, - 0xc0ad, 0x780a, 0x2c30, 0x00f8, 0x6014, 0x2048, 0x080c, 0xc830, - 0x01b0, 0x6020, 0x9086, 0x0003, 0x1508, 0x080c, 0xca47, 0x1118, - 0x080c, 0xb5a6, 0x0060, 0x080c, 0x6a02, 0x1168, 0xa867, 0x0103, - 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d7b, 0x080c, 0xca21, 0x080c, - 0xac1a, 0x080c, 0xa1f0, 0x000e, 0x0804, 0x94ce, 0x7e22, 0x7e1e, - 0x00de, 0x00ce, 0x006e, 0x000e, 0x009e, 0x0005, 0x6020, 0x9086, - 0x0006, 0x1118, 0x080c, 0xe27c, 0x0c50, 0x080c, 0xb5a6, 0x6020, - 0x9086, 0x0002, 0x1150, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, - 0x0990, 0x9086, 0x008b, 0x0978, 0x08d0, 0x6020, 0x9086, 0x0005, - 0x19b0, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0d18, 0x9086, - 0x008b, 0x0d00, 0x0860, 0x0006, 0x0096, 0x00b6, 0x00c6, 0x0066, - 0x9036, 0x7828, 0x9065, 0x0510, 0x6010, 0x2058, 0x600c, 0x0006, - 0x3e08, 0x918e, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x11a8, 0x6043, - 0xffff, 0x080c, 0xaa67, 0x0180, 0x610c, 0x080c, 0x9f84, 0x6014, - 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d7b, - 0x080c, 0xac1a, 0x000e, 0x08f0, 0x2c30, 0x0ce0, 0x006e, 0x00ce, - 0x00be, 0x009e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0096, 0x0066, - 0x080c, 0x6136, 0x11b0, 0x2071, 0x19e6, 0x7030, 0x9080, 0x0005, - 0x2004, 0x904d, 0x0170, 0xa878, 0x9606, 0x1158, 0x2071, 0x19e6, - 0x7030, 0x9035, 0x0130, 0x9080, 0x0005, 0x2004, 0x9906, 0x1108, - 0x0029, 0x006e, 0x009e, 0x00de, 0x00ee, 0x0005, 0x00c6, 0x2660, - 0x6043, 0xffff, 0x080c, 0xaa67, 0x0178, 0x080c, 0x9f84, 0x6014, - 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0xcb35, - 0x080c, 0x6d7b, 0x080c, 0xac1a, 0x00ce, 0x0005, 0x00b6, 0x00e6, - 0x00c6, 0x080c, 0xa888, 0x0106, 0x2071, 0x0101, 0x2e04, 0xc0c4, - 0x2072, 0x6044, 0xd0fc, 0x1138, 0x010e, 0x090c, 0xa8a4, 0x00ce, - 0x00ee, 0x00be, 0x0005, 0x2071, 0x19e6, 0x7030, 0x9005, 0x0da0, - 0x9c06, 0x190c, 0x0d7d, 0x7036, 0x080c, 0x86d5, 0x7004, 0x9084, - 0x0007, 0x0002, 0x95f4, 0x95f6, 0x95fd, 0x9607, 0x9615, 0x95f4, - 0x9602, 0x95f2, 0x080c, 0x0d7d, 0x0428, 0x0005, 0x080c, 0xaa52, - 0x7007, 0x0000, 0x7033, 0x0000, 0x00e8, 0x0066, 0x9036, 0x080c, - 0x9f84, 0x006e, 0x7007, 0x0000, 0x7033, 0x0000, 0x0098, 0x080c, - 0xaa3d, 0x0140, 0x080c, 0xaa52, 0x0128, 0x0066, 0x9036, 0x080c, - 0x9f84, 0x006e, 0x7033, 0x0000, 0x0028, 0x080c, 0xaa3d, 0x080c, - 0xa31a, 0x0000, 0x010e, 0x190c, 0xa8a4, 0x00ce, 0x00ee, 0x00be, - 0x0005, 0x00d6, 0x00c6, 0x080c, 0xa888, 0x0106, 0x6044, 0xd0fc, - 0x1130, 0x010e, 0x090c, 0xa8a4, 0x00ce, 0x00de, 0x0005, 0x2069, - 0x19e6, 0x684c, 0x9005, 0x0da8, 0x9c06, 0x190c, 0x0d7d, 0x6852, - 0x00e6, 0x2d70, 0x080c, 0x9250, 0x00ee, 0x080c, 0x86e2, 0x0016, - 0x2009, 0x0040, 0x080c, 0x21c1, 0x001e, 0x683c, 0x9084, 0x0003, - 0x0002, 0x964f, 0x9650, 0x966e, 0x964d, 0x080c, 0x0d7d, 0x0460, - 0x6868, 0x9086, 0x0001, 0x0190, 0x600c, 0x9015, 0x0160, 0x6a4a, - 0x600f, 0x0000, 0x6044, 0xc0fc, 0x6046, 0x9006, 0x7042, 0x684e, - 0x683f, 0x0000, 0x00c8, 0x684a, 0x6846, 0x0ca0, 0x686b, 0x0000, - 0x6848, 0x9065, 0x0d78, 0x6003, 0x0002, 0x0c60, 0x9006, 0x686a, - 0x6852, 0x686e, 0x600c, 0x9015, 0x0120, 0x6a4a, 0x600f, 0x0000, - 0x0018, 0x684e, 0x684a, 0x6846, 0x684f, 0x0000, 0x010e, 0x190c, - 0xa8a4, 0x00ce, 0x00de, 0x0005, 0x0005, 0x6020, 0x9084, 0x000f, - 0x000b, 0x0005, 0x969a, 0x969d, 0x9b0b, 0x9b9a, 0x969d, 0x9b0b, - 0x9b9a, 0x969a, 0x969d, 0x969a, 0x969a, 0x969a, 0x969a, 0x969a, - 0x969a, 0x969a, 0x080c, 0x95c6, 0x0005, 0x00b6, 0x0156, 0x0136, - 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, - 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0d7d, - 0x6110, 0x2158, 0xb984, 0x2c78, 0x2061, 0x0100, 0x619a, 0x908a, - 0x0040, 0x1a04, 0x9709, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, - 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0x988e, - 0x98c9, 0x98f2, 0x999a, 0x99bc, 0x99c2, 0x99cf, 0x99d7, 0x99e3, - 0x99e9, 0x99fa, 0x99e9, 0x9a52, 0x99d7, 0x9a5e, 0x9a64, 0x99e3, - 0x9a64, 0x9a70, 0x9707, 0x9707, 0x9707, 0x9707, 0x9707, 0x9707, - 0x9707, 0x9707, 0x9707, 0x9707, 0x9707, 0x9fa5, 0x9fc8, 0x9fd9, - 0x9ff9, 0xa02b, 0x99cf, 0x9707, 0x99cf, 0x99e9, 0x9707, 0x98f2, - 0x999a, 0x9707, 0xa418, 0x99e9, 0x9707, 0xa434, 0x99e9, 0x9707, - 0x99e3, 0x9888, 0x972a, 0x9707, 0xa450, 0xa4bd, 0xa59d, 0x9707, - 0xa5aa, 0x99cc, 0xa5d5, 0x9707, 0xa035, 0xa5e1, 0x9707, 0x080c, - 0x0d7d, 0x2100, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, - 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0xa681, 0xa733, - 0x9728, 0x9751, 0x97fd, 0x9808, 0x9728, 0x99cf, 0x9728, 0x984f, - 0x985b, 0x976c, 0x9728, 0x9787, 0x97bb, 0xaabd, 0xab02, 0x99e9, - 0x080c, 0x0d7d, 0x00d6, 0x0096, 0x080c, 0x9a83, 0x7003, 0x2414, - 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, 0x2048, 0xa83c, 0x700e, - 0xa850, 0x7022, 0xa854, 0x7026, 0x60c3, 0x0018, 0x080c, 0x9de6, - 0x009e, 0x00de, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb8a0, 0x00be, - 0x080c, 0xab49, 0x1118, 0x9084, 0xff80, 0x0110, 0x9085, 0x0001, - 0x0005, 0x00d6, 0x0096, 0x080c, 0x9a83, 0x7003, 0x0500, 0x7814, - 0x2048, 0xa874, 0x700a, 0xa878, 0x700e, 0xa87c, 0x7012, 0xa880, - 0x7016, 0xa884, 0x701a, 0xa888, 0x701e, 0x60c3, 0x0010, 0x080c, - 0x9de6, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x080c, 0x9a83, - 0x7003, 0x0500, 0x7814, 0x2048, 0xa8cc, 0x700a, 0xa8d0, 0x700e, - 0xa8d4, 0x7012, 0xa8d8, 0x7016, 0xa8dc, 0x701a, 0xa8e0, 0x701e, - 0x60c3, 0x0010, 0x080c, 0x9de6, 0x009e, 0x00de, 0x0005, 0x00d6, - 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, 0x9a83, 0x20e9, 0x0000, - 0x2001, 0x19a2, 0x2003, 0x0000, 0x7814, 0x2048, 0xa814, 0x8003, - 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, - 0x2098, 0x2001, 0x19a2, 0x0016, 0x200c, 0x2001, 0x0001, 0x080c, - 0x21a6, 0x080c, 0xd5be, 0x9006, 0x080c, 0x21a6, 0x001e, 0xa804, - 0x9005, 0x0110, 0x2048, 0x0c28, 0x04d9, 0x080c, 0x9de6, 0x012e, - 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, - 0x080c, 0x9ace, 0x20e9, 0x0000, 0x2001, 0x19a2, 0x2003, 0x0000, - 0x7814, 0x2048, 0xa86f, 0x0200, 0xa873, 0x0000, 0xa814, 0x8003, - 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, - 0x2098, 0x2001, 0x19a2, 0x0016, 0x200c, 0x080c, 0xd5be, 0x001e, - 0xa804, 0x9005, 0x0110, 0x2048, 0x0c60, 0x0051, 0x7814, 0x2048, - 0x080c, 0x0fec, 0x080c, 0x9de6, 0x012e, 0x009e, 0x00de, 0x0005, - 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, 0x0004, - 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, 0x080c, 0x9a83, 0x7003, - 0x7800, 0x7808, 0x8007, 0x700a, 0x60c3, 0x0008, 0x0804, 0x9de6, - 0x00d6, 0x00e6, 0x080c, 0x9ace, 0x7814, 0x9084, 0xff00, 0x2073, - 0x0200, 0x8e70, 0x8e70, 0x9095, 0x0010, 0x2272, 0x8e70, 0x2073, - 0x0034, 0x8e70, 0x2069, 0x1805, 0x20a9, 0x0004, 0x2d76, 0x8d68, - 0x8e70, 0x1f04, 0x981e, 0x2069, 0x1801, 0x20a9, 0x0004, 0x2d76, - 0x8d68, 0x8e70, 0x1f04, 0x9827, 0x2069, 0x19b2, 0x9086, 0xdf00, - 0x0110, 0x2069, 0x19cc, 0x20a9, 0x001a, 0x9e86, 0x0260, 0x1148, - 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, 0x2071, - 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, 0x9835, - 0x60c3, 0x004c, 0x080c, 0x9de6, 0x00ee, 0x00de, 0x0005, 0x080c, - 0x9a83, 0x7003, 0x6300, 0x7007, 0x0028, 0x7808, 0x700e, 0x60c3, - 0x0008, 0x0804, 0x9de6, 0x00d6, 0x0026, 0x0016, 0x080c, 0x9ace, - 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, 0x2009, - 0x0001, 0x2011, 0x000c, 0x2069, 0x1923, 0x6810, 0xd084, 0x1148, - 0x2073, 0x0500, 0x8e70, 0x2073, 0x0000, 0x8e70, 0x8108, 0x9290, - 0x0004, 0x2073, 0x0800, 0x8e70, 0x2073, 0x0000, 0x00ee, 0x7206, - 0x710a, 0x62c2, 0x080c, 0x9de6, 0x001e, 0x002e, 0x00de, 0x0005, - 0x2001, 0x1818, 0x2004, 0x609a, 0x0804, 0x9de6, 0x080c, 0x9a83, - 0x7003, 0x5200, 0x2069, 0x1847, 0x6804, 0xd084, 0x0130, 0x6828, - 0x0016, 0x080c, 0x2647, 0x710e, 0x001e, 0x20a9, 0x0004, 0x20e1, - 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, - 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x0254, 0x4003, 0x080c, - 0xab49, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, - 0x2004, 0x7032, 0x2001, 0x1820, 0x2004, 0x7036, 0x0030, 0x2001, - 0x1818, 0x2004, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x001c, 0x0804, - 0x9de6, 0x080c, 0x9a83, 0x7003, 0x0500, 0x080c, 0xab49, 0x1120, - 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x700a, - 0x2001, 0x1820, 0x2004, 0x700e, 0x0030, 0x2001, 0x1818, 0x2004, - 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, - 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x60c3, 0x0010, - 0x0804, 0x9de6, 0x080c, 0x9a83, 0x9006, 0x080c, 0x6a34, 0xb8a0, - 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, 0x620c, 0xc2b4, 0x620e, - 0x0058, 0x7814, 0x0096, 0x904d, 0x0120, 0x9006, 0xa89a, 0xa8a6, - 0xa8aa, 0x009e, 0x7003, 0x0300, 0xb8a0, 0x9086, 0x007e, 0x1904, - 0x9961, 0x00d6, 0x2069, 0x196b, 0x2001, 0x1837, 0x2004, 0xd0a4, - 0x0188, 0x6800, 0x700a, 0x6808, 0x9084, 0x2000, 0x7012, 0x080c, - 0xab60, 0x680c, 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, 0x681c, - 0x7026, 0x0090, 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, 0x080c, - 0x74c8, 0x1118, 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, 0x7012, - 0x080c, 0xab60, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, 0x20e1, - 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, - 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x00d6, - 0x080c, 0xa668, 0x2069, 0x1973, 0x2071, 0x024e, 0x6800, 0xc0dd, - 0x7002, 0x080c, 0x56d9, 0xd0e4, 0x0110, 0x680c, 0x700e, 0x00de, - 0x04a8, 0x2001, 0x1837, 0x2004, 0xd0a4, 0x0170, 0x0016, 0x2001, - 0x196c, 0x200c, 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, 0x0000, - 0x080c, 0x2688, 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, 0x196b, - 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, 0x20a9, - 0x0004, 0x2099, 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, - 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x080c, 0xa668, 0x20a1, - 0x024e, 0x20a9, 0x0008, 0x2099, 0x1973, 0x4003, 0x60c3, 0x0074, - 0x0804, 0x9de6, 0x080c, 0x9a83, 0x7003, 0x2010, 0x7007, 0x0014, - 0x700b, 0x0800, 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, 0x1847, - 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, 0x0110, - 0x9085, 0x0010, 0x9085, 0x0002, 0x00d6, 0x0804, 0x9a33, 0x7026, - 0x60c3, 0x0014, 0x0804, 0x9de6, 0x080c, 0x9a83, 0x7003, 0x5000, - 0x0804, 0x990c, 0x080c, 0x9a83, 0x7003, 0x2110, 0x7007, 0x0014, - 0x60c3, 0x0014, 0x0804, 0x9de6, 0x080c, 0x9ac5, 0x0010, 0x080c, - 0x9ace, 0x7003, 0x0200, 0x60c3, 0x0004, 0x0804, 0x9de6, 0x080c, - 0x9ace, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, - 0x0008, 0x0804, 0x9de6, 0x080c, 0x9ace, 0x7003, 0x0200, 0x0804, - 0x990c, 0x080c, 0x9ace, 0x7003, 0x0100, 0x782c, 0x9005, 0x0110, - 0x700a, 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, 0x0008, - 0x0804, 0x9de6, 0x00d6, 0x080c, 0x9ace, 0x7003, 0x0210, 0x7007, - 0x0014, 0x700b, 0x0800, 0xb894, 0x9086, 0x0014, 0x1198, 0xb99c, - 0x9184, 0x0030, 0x0190, 0xb998, 0x9184, 0xc000, 0x1140, 0xd1ec, - 0x0118, 0x700f, 0x2100, 0x0058, 0x700f, 0x0100, 0x0040, 0x700f, - 0x0400, 0x0028, 0x700f, 0x0700, 0x0010, 0x700f, 0x0800, 0x00f6, - 0x2079, 0x1847, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, - 0xd1a4, 0x0110, 0x9085, 0x0010, 0x2009, 0x1869, 0x210c, 0xd184, - 0x1110, 0x9085, 0x0002, 0x0026, 0x2009, 0x1867, 0x210c, 0xd1e4, - 0x0150, 0xc0c5, 0xbad4, 0xd28c, 0x1108, 0xc0cd, 0x9094, 0x0030, - 0x9296, 0x0010, 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, 0x9296, - 0x0010, 0x0108, 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, 0x00de, - 0x0804, 0x9de6, 0x080c, 0x9ace, 0x7003, 0x0210, 0x7007, 0x0014, - 0x700f, 0x0100, 0x60c3, 0x0014, 0x0804, 0x9de6, 0x080c, 0x9ace, - 0x7003, 0x0200, 0x0804, 0x9892, 0x080c, 0x9ace, 0x7003, 0x0100, - 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, 0x9de6, - 0x080c, 0x9ace, 0x7003, 0x0100, 0x700b, 0x000b, 0x60c3, 0x0008, - 0x0804, 0x9de6, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x3200, - 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, - 0x2200, 0x2021, 0x0100, 0x080c, 0xa67d, 0xb810, 0x9305, 0x7002, - 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, - 0x9485, 0x0029, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x9dda, - 0x721a, 0x9f95, 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, 0x024c, - 0x002e, 0x0005, 0x0026, 0x080c, 0xa67d, 0x7003, 0x02ff, 0x7007, - 0xfffc, 0x00d6, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, - 0x00de, 0x7013, 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, 0x0000, - 0x700b, 0xfc02, 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, 0x0036, - 0x0046, 0x2019, 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, - 0x0036, 0x0046, 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, 0xa67d, - 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0xb810, - 0x9005, 0x1140, 0xb814, 0x9005, 0x1128, 0x700b, 0x00ff, 0x700f, - 0xfffe, 0x0020, 0x687c, 0x700a, 0x6880, 0x700e, 0x0000, 0x9485, - 0x0098, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x9dda, 0x721a, - 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, 0x0005, - 0x080c, 0x9dda, 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, 0x2071, - 0x024c, 0x002e, 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, - 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, 0x0a0c, - 0x0d7d, 0x908a, 0x0092, 0x1a0c, 0x0d7d, 0x6110, 0x2158, 0xb984, - 0x2c78, 0x2061, 0x0100, 0x619a, 0x9082, 0x0085, 0x0033, 0x00fe, - 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x9b3c, 0x9b4b, 0x9b56, - 0x9b3a, 0x9b3a, 0x9b3a, 0x9b3c, 0x9b3a, 0x9b3a, 0x9b3a, 0x9b3a, - 0x9b3a, 0x9b3a, 0x080c, 0x0d7d, 0x0411, 0x60c3, 0x0000, 0x0026, - 0x080c, 0x2998, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, - 0x002e, 0x0804, 0x9de6, 0x0431, 0x7808, 0x700a, 0x7814, 0x700e, - 0x7017, 0xffff, 0x60c3, 0x000c, 0x0804, 0x9de6, 0x0479, 0x7003, - 0x0003, 0x7007, 0x0300, 0x60c3, 0x0004, 0x0804, 0x9de6, 0x0026, - 0x080c, 0xa67d, 0xb810, 0x9085, 0x8100, 0x7002, 0xb814, 0x7006, - 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x7013, 0x0009, - 0x0804, 0x9a9e, 0x0026, 0x080c, 0xa67d, 0xb810, 0x9085, 0x8400, + 0x0040, 0x7008, 0xc0ad, 0x700a, 0x6003, 0x0009, 0x630a, 0x0804, + 0x9477, 0x7020, 0x9c36, 0x1110, 0x660c, 0x7622, 0x701c, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x701e, 0x0010, 0x701f, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x6044, 0xc0fc, 0x6046, 0x6014, 0x2048, + 0x080c, 0xc865, 0x01e8, 0x6020, 0x9086, 0x0003, 0x1580, 0x080c, + 0xca7a, 0x1118, 0x080c, 0xb5c6, 0x0098, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, 0xcb68, 0x080c, + 0xe66e, 0x080c, 0x6d9f, 0x008e, 0x003e, 0x001e, 0x080c, 0xca54, + 0x080c, 0xac2b, 0x080c, 0xa1fd, 0x00ce, 0x0804, 0x93f1, 0x2c78, + 0x600c, 0x2060, 0x0804, 0x93f1, 0x012e, 0x000e, 0x001e, 0x006e, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, 0x00be, 0x0005, 0x6020, + 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xe66e, + 0x080c, 0xe2b9, 0x008e, 0x003e, 0x001e, 0x08d0, 0x080c, 0xb5c6, + 0x6020, 0x9086, 0x0002, 0x1160, 0x6004, 0x0006, 0x9086, 0x0085, + 0x000e, 0x0904, 0x945d, 0x9086, 0x008b, 0x0904, 0x945d, 0x0840, + 0x6020, 0x9086, 0x0005, 0x1920, 0x6004, 0x0006, 0x9086, 0x0085, + 0x000e, 0x09c8, 0x9086, 0x008b, 0x09b0, 0x0804, 0x9470, 0x0006, + 0x00f6, 0x00e6, 0x0096, 0x00b6, 0x00c6, 0x0066, 0x0016, 0x0126, + 0x2091, 0x8000, 0x9280, 0x1000, 0x2004, 0x905d, 0x2079, 0x19e6, + 0x9036, 0x7828, 0x2060, 0x8cff, 0x0538, 0x6010, 0x9b06, 0x1500, + 0x6043, 0xffff, 0x080c, 0xaa78, 0x01d8, 0x610c, 0x0016, 0x080c, + 0x9fbd, 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, + 0x0016, 0x0036, 0x0086, 0x080c, 0xcb68, 0x080c, 0xe66e, 0x080c, + 0x6d9f, 0x008e, 0x003e, 0x001e, 0x080c, 0xac2b, 0x00ce, 0x08d8, + 0x2c30, 0x600c, 0x2060, 0x08b8, 0x080c, 0x67ee, 0x012e, 0x001e, + 0x006e, 0x00ce, 0x00be, 0x009e, 0x00ee, 0x00fe, 0x000e, 0x0005, + 0x0096, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x9036, 0x7820, 0x9065, + 0x0904, 0x9567, 0x600c, 0x0006, 0x6044, 0xc0fc, 0x6046, 0x600f, + 0x0000, 0x7830, 0x9c06, 0x1588, 0x2069, 0x0100, 0x6820, 0xd0a4, + 0x1508, 0x080c, 0x8709, 0x080c, 0x9e4f, 0x68c3, 0x0000, 0x080c, + 0xa327, 0x7833, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, + 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, + 0x2a49, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x0058, 0x080c, 0x6a26, 0x1538, 0x6003, 0x0009, 0x630a, + 0x7808, 0xc0ad, 0x780a, 0x2c30, 0x00f8, 0x6014, 0x2048, 0x080c, + 0xc863, 0x01b0, 0x6020, 0x9086, 0x0003, 0x1508, 0x080c, 0xca7a, + 0x1118, 0x080c, 0xb5c6, 0x0060, 0x080c, 0x6a26, 0x1168, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d9f, 0x080c, 0xca54, + 0x080c, 0xac2b, 0x080c, 0xa1fd, 0x000e, 0x0804, 0x9507, 0x7e22, + 0x7e1e, 0x00de, 0x00ce, 0x006e, 0x000e, 0x009e, 0x0005, 0x6020, + 0x9086, 0x0006, 0x1118, 0x080c, 0xe2b9, 0x0c50, 0x080c, 0xb5c6, + 0x6020, 0x9086, 0x0002, 0x1150, 0x6004, 0x0006, 0x9086, 0x0085, + 0x000e, 0x0990, 0x9086, 0x008b, 0x0978, 0x08d0, 0x6020, 0x9086, + 0x0005, 0x19b0, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0d18, + 0x9086, 0x008b, 0x0d00, 0x0860, 0x0006, 0x0096, 0x00b6, 0x00c6, + 0x0066, 0x9036, 0x7828, 0x9065, 0x0510, 0x6010, 0x2058, 0x600c, + 0x0006, 0x3e08, 0x918e, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x11a8, + 0x6043, 0xffff, 0x080c, 0xaa78, 0x0180, 0x610c, 0x080c, 0x9fbd, + 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, + 0x6d9f, 0x080c, 0xac2b, 0x000e, 0x08f0, 0x2c30, 0x0ce0, 0x006e, + 0x00ce, 0x00be, 0x009e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0096, + 0x0066, 0x080c, 0x6156, 0x11b0, 0x2071, 0x19e6, 0x7030, 0x9080, + 0x0005, 0x2004, 0x904d, 0x0170, 0xa878, 0x9606, 0x1158, 0x2071, + 0x19e6, 0x7030, 0x9035, 0x0130, 0x9080, 0x0005, 0x2004, 0x9906, + 0x1108, 0x0029, 0x006e, 0x009e, 0x00de, 0x00ee, 0x0005, 0x00c6, + 0x2660, 0x6043, 0xffff, 0x080c, 0xaa78, 0x0178, 0x080c, 0x9fbd, + 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, + 0xcb68, 0x080c, 0x6d9f, 0x080c, 0xac2b, 0x00ce, 0x0005, 0x00b6, + 0x00e6, 0x00c6, 0x080c, 0xa899, 0x0106, 0x2071, 0x0101, 0x2e04, + 0xc0c4, 0x2072, 0x6044, 0xd0fc, 0x1138, 0x010e, 0x090c, 0xa8b5, + 0x00ce, 0x00ee, 0x00be, 0x0005, 0x2071, 0x19e6, 0x7030, 0x9005, + 0x0da0, 0x9c06, 0x190c, 0x0d7d, 0x7036, 0x080c, 0x8709, 0x7004, + 0x9084, 0x0007, 0x0002, 0x962d, 0x962f, 0x9636, 0x9640, 0x964e, + 0x962d, 0x963b, 0x962b, 0x080c, 0x0d7d, 0x0428, 0x0005, 0x080c, + 0xaa63, 0x7007, 0x0000, 0x7033, 0x0000, 0x00e8, 0x0066, 0x9036, + 0x080c, 0x9fbd, 0x006e, 0x7007, 0x0000, 0x7033, 0x0000, 0x0098, + 0x080c, 0xaa4e, 0x0140, 0x080c, 0xaa63, 0x0128, 0x0066, 0x9036, + 0x080c, 0x9fbd, 0x006e, 0x7033, 0x0000, 0x0028, 0x080c, 0xaa4e, + 0x080c, 0xa327, 0x0000, 0x010e, 0x190c, 0xa8b5, 0x00ce, 0x00ee, + 0x00be, 0x0005, 0x00d6, 0x00c6, 0x080c, 0xa899, 0x0106, 0x6044, + 0xd0fc, 0x1130, 0x010e, 0x090c, 0xa8b5, 0x00ce, 0x00de, 0x0005, + 0x2069, 0x19e6, 0x684c, 0x9005, 0x0da8, 0x9c06, 0x190c, 0x0d7d, + 0x6852, 0x00e6, 0x2d70, 0x080c, 0x9289, 0x00ee, 0x080c, 0x8716, + 0x0016, 0x2009, 0x0040, 0x080c, 0x21d9, 0x001e, 0x683c, 0x9084, + 0x0003, 0x0002, 0x9688, 0x9689, 0x96a7, 0x9686, 0x080c, 0x0d7d, + 0x0460, 0x6868, 0x9086, 0x0001, 0x0190, 0x600c, 0x9015, 0x0160, + 0x6a4a, 0x600f, 0x0000, 0x6044, 0xc0fc, 0x6046, 0x9006, 0x7042, + 0x684e, 0x683f, 0x0000, 0x00c8, 0x684a, 0x6846, 0x0ca0, 0x686b, + 0x0000, 0x6848, 0x9065, 0x0d78, 0x6003, 0x0002, 0x0c60, 0x9006, + 0x686a, 0x6852, 0x686e, 0x600c, 0x9015, 0x0120, 0x6a4a, 0x600f, + 0x0000, 0x0018, 0x684e, 0x684a, 0x6846, 0x684f, 0x0000, 0x010e, + 0x190c, 0xa8b5, 0x00ce, 0x00de, 0x0005, 0x0005, 0x6020, 0x9084, + 0x000f, 0x000b, 0x0005, 0x96d3, 0x96d6, 0x9b44, 0x9bd3, 0x96d6, + 0x9b44, 0x9bd3, 0x96d3, 0x96d6, 0x96d3, 0x96d3, 0x96d3, 0x96d3, + 0x96d3, 0x96d3, 0x96d3, 0x080c, 0x95ff, 0x0005, 0x00b6, 0x0156, + 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0053, 0x1a0c, + 0x0d7d, 0x6110, 0x2158, 0xb984, 0x2c78, 0x2061, 0x0100, 0x619a, + 0x908a, 0x0040, 0x1a04, 0x9742, 0x005b, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, + 0x98c7, 0x9902, 0x992b, 0x99d3, 0x99f5, 0x99fb, 0x9a08, 0x9a10, + 0x9a1c, 0x9a22, 0x9a33, 0x9a22, 0x9a8b, 0x9a10, 0x9a97, 0x9a9d, + 0x9a1c, 0x9a9d, 0x9aa9, 0x9740, 0x9740, 0x9740, 0x9740, 0x9740, + 0x9740, 0x9740, 0x9740, 0x9740, 0x9740, 0x9740, 0x9fde, 0xa001, + 0xa012, 0xa032, 0xa064, 0x9a08, 0x9740, 0x9a08, 0x9a22, 0x9740, + 0x992b, 0x99d3, 0x9740, 0xa425, 0x9a22, 0x9740, 0xa441, 0x9a22, + 0x9740, 0x9a1c, 0x98c1, 0x9763, 0x9740, 0xa45d, 0xa4ca, 0xa5ae, + 0x9740, 0xa5bb, 0x9a05, 0xa5e6, 0x9740, 0xa06e, 0xa5f2, 0x9740, + 0x080c, 0x0d7d, 0x2100, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0xa692, + 0xa744, 0x9761, 0x978a, 0x9836, 0x9841, 0x9761, 0x9a08, 0x9761, + 0x9888, 0x9894, 0x97a5, 0x9761, 0x97c0, 0x97f4, 0xaace, 0xab13, + 0x9a22, 0x080c, 0x0d7d, 0x00d6, 0x0096, 0x080c, 0x9abc, 0x7003, + 0x2414, 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, 0x2048, 0xa83c, + 0x700e, 0xa850, 0x7022, 0xa854, 0x7026, 0x60c3, 0x0018, 0x080c, + 0x9e1f, 0x009e, 0x00de, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb8a0, + 0x00be, 0x080c, 0xab5a, 0x1118, 0x9084, 0xff80, 0x0110, 0x9085, + 0x0001, 0x0005, 0x00d6, 0x0096, 0x080c, 0x9abc, 0x7003, 0x0500, + 0x7814, 0x2048, 0xa874, 0x700a, 0xa878, 0x700e, 0xa87c, 0x7012, + 0xa880, 0x7016, 0xa884, 0x701a, 0xa888, 0x701e, 0x60c3, 0x0010, + 0x080c, 0x9e1f, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x080c, + 0x9abc, 0x7003, 0x0500, 0x7814, 0x2048, 0xa8cc, 0x700a, 0xa8d0, + 0x700e, 0xa8d4, 0x7012, 0xa8d8, 0x7016, 0xa8dc, 0x701a, 0xa8e0, + 0x701e, 0x60c3, 0x0010, 0x080c, 0x9e1f, 0x009e, 0x00de, 0x0005, + 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, 0x9abc, 0x20e9, + 0x0000, 0x2001, 0x19a2, 0x2003, 0x0000, 0x7814, 0x2048, 0xa814, + 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x001b, 0x2098, 0x2001, 0x19a2, 0x0016, 0x200c, 0x2001, 0x0001, + 0x080c, 0x21be, 0x080c, 0xd5f1, 0x9006, 0x080c, 0x21be, 0x001e, + 0xa804, 0x9005, 0x0110, 0x2048, 0x0c28, 0x04d9, 0x080c, 0x9e1f, + 0x012e, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, + 0x8000, 0x080c, 0x9b07, 0x20e9, 0x0000, 0x2001, 0x19a2, 0x2003, + 0x0000, 0x7814, 0x2048, 0xa86f, 0x0200, 0xa873, 0x0000, 0xa814, + 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x001b, 0x2098, 0x2001, 0x19a2, 0x0016, 0x200c, 0x080c, 0xd5f1, + 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c60, 0x0051, 0x7814, + 0x2048, 0x080c, 0x0ff9, 0x080c, 0x9e1f, 0x012e, 0x009e, 0x00de, + 0x0005, 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, + 0x0004, 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, 0x080c, 0x9abc, + 0x7003, 0x7800, 0x7808, 0x8007, 0x700a, 0x60c3, 0x0008, 0x0804, + 0x9e1f, 0x00d6, 0x00e6, 0x080c, 0x9b07, 0x7814, 0x9084, 0xff00, + 0x2073, 0x0200, 0x8e70, 0x8e70, 0x9095, 0x0010, 0x2272, 0x8e70, + 0x2073, 0x0034, 0x8e70, 0x2069, 0x1805, 0x20a9, 0x0004, 0x2d76, + 0x8d68, 0x8e70, 0x1f04, 0x9857, 0x2069, 0x1801, 0x20a9, 0x0004, + 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x9860, 0x2069, 0x19b2, 0x9086, + 0xdf00, 0x0110, 0x2069, 0x19cc, 0x20a9, 0x001a, 0x9e86, 0x0260, + 0x1148, 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, + 0x2071, 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, + 0x986e, 0x60c3, 0x004c, 0x080c, 0x9e1f, 0x00ee, 0x00de, 0x0005, + 0x080c, 0x9abc, 0x7003, 0x6300, 0x7007, 0x0028, 0x7808, 0x700e, + 0x60c3, 0x0008, 0x0804, 0x9e1f, 0x00d6, 0x0026, 0x0016, 0x080c, + 0x9b07, 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, + 0x2009, 0x0001, 0x2011, 0x000c, 0x2069, 0x1923, 0x6810, 0xd084, + 0x1148, 0x2073, 0x0500, 0x8e70, 0x2073, 0x0000, 0x8e70, 0x8108, + 0x9290, 0x0004, 0x2073, 0x0800, 0x8e70, 0x2073, 0x0000, 0x00ee, + 0x7206, 0x710a, 0x62c2, 0x080c, 0x9e1f, 0x001e, 0x002e, 0x00de, + 0x0005, 0x2001, 0x1818, 0x2004, 0x609a, 0x0804, 0x9e1f, 0x080c, + 0x9abc, 0x7003, 0x5200, 0x2069, 0x1847, 0x6804, 0xd084, 0x0130, + 0x6828, 0x0016, 0x080c, 0x2663, 0x710e, 0x001e, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x0254, 0x4003, + 0x080c, 0xab5a, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, + 0x181f, 0x2004, 0x7032, 0x2001, 0x1820, 0x2004, 0x7036, 0x0030, + 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x001c, + 0x0804, 0x9e1f, 0x080c, 0x9abc, 0x7003, 0x0500, 0x080c, 0xab5a, + 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, + 0x700a, 0x2001, 0x1820, 0x2004, 0x700e, 0x0030, 0x2001, 0x1818, + 0x2004, 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, + 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x60c3, + 0x0010, 0x0804, 0x9e1f, 0x080c, 0x9abc, 0x9006, 0x080c, 0x6a58, + 0xb8a0, 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, 0x620c, 0xc2b4, + 0x620e, 0x0058, 0x7814, 0x0096, 0x904d, 0x0120, 0x9006, 0xa89a, + 0xa8a6, 0xa8aa, 0x009e, 0x7003, 0x0300, 0xb8a0, 0x9086, 0x007e, + 0x1904, 0x999a, 0x00d6, 0x2069, 0x196b, 0x2001, 0x1837, 0x2004, + 0xd0a4, 0x0188, 0x6800, 0x700a, 0x6808, 0x9084, 0x2000, 0x7012, + 0x080c, 0xab71, 0x680c, 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, + 0x681c, 0x7026, 0x0090, 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, + 0x080c, 0x74ec, 0x1118, 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, + 0x7012, 0x080c, 0xab71, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, + 0x00d6, 0x080c, 0xa679, 0x2069, 0x1973, 0x2071, 0x024e, 0x6800, + 0xc0dd, 0x7002, 0x080c, 0x56f9, 0xd0e4, 0x0110, 0x680c, 0x700e, + 0x00de, 0x04a8, 0x2001, 0x1837, 0x2004, 0xd0a4, 0x0170, 0x0016, + 0x2001, 0x196c, 0x200c, 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, + 0x0000, 0x080c, 0x26a4, 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, + 0x196b, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, + 0x20a9, 0x0004, 0x2099, 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, + 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x080c, 0xa679, + 0x20a1, 0x024e, 0x20a9, 0x0008, 0x2099, 0x1973, 0x4003, 0x60c3, + 0x0074, 0x0804, 0x9e1f, 0x080c, 0x9abc, 0x7003, 0x2010, 0x7007, + 0x0014, 0x700b, 0x0800, 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, + 0x1847, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0xd1a4, + 0x0110, 0x9085, 0x0010, 0x9085, 0x0002, 0x00d6, 0x0804, 0x9a6c, + 0x7026, 0x60c3, 0x0014, 0x0804, 0x9e1f, 0x080c, 0x9abc, 0x7003, + 0x5000, 0x0804, 0x9945, 0x080c, 0x9abc, 0x7003, 0x2110, 0x7007, + 0x0014, 0x60c3, 0x0014, 0x0804, 0x9e1f, 0x080c, 0x9afe, 0x0010, + 0x080c, 0x9b07, 0x7003, 0x0200, 0x60c3, 0x0004, 0x0804, 0x9e1f, + 0x080c, 0x9b07, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, + 0x60c3, 0x0008, 0x0804, 0x9e1f, 0x080c, 0x9b07, 0x7003, 0x0200, + 0x0804, 0x9945, 0x080c, 0x9b07, 0x7003, 0x0100, 0x782c, 0x9005, + 0x0110, 0x700a, 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, + 0x0008, 0x0804, 0x9e1f, 0x00d6, 0x080c, 0x9b07, 0x7003, 0x0210, + 0x7007, 0x0014, 0x700b, 0x0800, 0xb894, 0x9086, 0x0014, 0x1198, + 0xb99c, 0x9184, 0x0030, 0x0190, 0xb998, 0x9184, 0xc000, 0x1140, + 0xd1ec, 0x0118, 0x700f, 0x2100, 0x0058, 0x700f, 0x0100, 0x0040, + 0x700f, 0x0400, 0x0028, 0x700f, 0x0700, 0x0010, 0x700f, 0x0800, + 0x00f6, 0x2079, 0x1847, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, + 0x0020, 0xd1a4, 0x0110, 0x9085, 0x0010, 0x2009, 0x1869, 0x210c, + 0xd184, 0x1110, 0x9085, 0x0002, 0x0026, 0x2009, 0x1867, 0x210c, + 0xd1e4, 0x0150, 0xc0c5, 0xbad4, 0xd28c, 0x1108, 0xc0cd, 0x9094, + 0x0030, 0x9296, 0x0010, 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, + 0x9296, 0x0010, 0x0108, 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, + 0x00de, 0x0804, 0x9e1f, 0x080c, 0x9b07, 0x7003, 0x0210, 0x7007, + 0x0014, 0x700f, 0x0100, 0x60c3, 0x0014, 0x0804, 0x9e1f, 0x080c, + 0x9b07, 0x7003, 0x0200, 0x0804, 0x98cb, 0x080c, 0x9b07, 0x7003, + 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, + 0x9e1f, 0x080c, 0x9b07, 0x7003, 0x0100, 0x700b, 0x000b, 0x60c3, + 0x0008, 0x0804, 0x9e1f, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, + 0x3200, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, + 0x2019, 0x2200, 0x2021, 0x0100, 0x080c, 0xa68e, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, - 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x9b00, 0x0026, 0x080c, - 0xa67d, 0xb810, 0x9085, 0x8500, 0x7002, 0xb814, 0x7006, 0x2069, - 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x2001, 0x0099, 0x7012, - 0x0804, 0x9b00, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2c78, - 0x2069, 0x0200, 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, 0x0a0c, - 0x0d7d, 0x908a, 0x0057, 0x1a0c, 0x0d7d, 0x7910, 0x2158, 0xb984, - 0x2061, 0x0100, 0x619a, 0x9082, 0x0040, 0x0033, 0x00fe, 0x00ee, - 0x00de, 0x00ce, 0x00be, 0x0005, 0x9bcf, 0x9bcf, 0x9bcf, 0x9bf5, - 0x9bcf, 0x9bcf, 0x9bcf, 0x9bcf, 0x9bcf, 0x9bcf, 0x9bcf, 0xa1cd, - 0xa1d5, 0xa1dd, 0xa1e5, 0x9bcf, 0x9bcf, 0x9bcf, 0xa1c5, 0x080c, - 0x0d7d, 0x6813, 0x0008, 0xba8c, 0x8210, 0xb8d4, 0xd084, 0x0128, - 0x7a4e, 0x7b14, 0x7b52, 0x722e, 0x732a, 0x9294, 0x00ff, 0xba8e, - 0x8217, 0x721a, 0xba10, 0x9295, 0x0600, 0x7202, 0xba14, 0x7206, - 0x2069, 0x1800, 0x6a7c, 0x720a, 0x6a80, 0x720e, 0x7013, 0x0829, - 0x2f10, 0x7222, 0x7027, 0xffff, 0x0005, 0x0016, 0x7814, 0x9084, - 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, 0x9c05, 0x9c05, 0x9c07, - 0x9c05, 0x9c05, 0x9c05, 0x9c21, 0x9c05, 0x080c, 0x0d7d, 0x7914, - 0x918c, 0x08ff, 0x918d, 0xf600, 0x7916, 0x2009, 0x0003, 0x00b9, - 0x2069, 0x1847, 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, 0x00ff, - 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, 0x60c3, 0x0001, 0x0804, - 0x9de6, 0x2009, 0x0003, 0x0019, 0x7033, 0x7f00, 0x0cb0, 0x0016, - 0x080c, 0xa67d, 0x001e, 0xb810, 0x9085, 0x0100, 0x7002, 0xb814, - 0x7006, 0x2069, 0x1800, 0x6a7c, 0x720a, 0x6a80, 0x720e, 0x7013, - 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, 0x9dda, 0x721a, 0x7a08, - 0x7222, 0x2f10, 0x7226, 0x0005, 0x00b6, 0x00e6, 0x00d6, 0x00c6, - 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, - 0x7160, 0x7810, 0x2058, 0x76dc, 0x96b4, 0x0028, 0x0110, 0x737c, - 0x7480, 0x2500, 0x76dc, 0x96b4, 0x0028, 0x0140, 0x2001, 0x04ff, - 0x6062, 0x6067, 0xffff, 0x636a, 0x646e, 0x0050, 0x2001, 0x00ff, - 0x9085, 0x0400, 0x6062, 0x6067, 0xffff, 0x606b, 0x0000, 0x616e, - 0xb8b8, 0x6073, 0x0530, 0x6077, 0x0008, 0xb88c, 0x8000, 0x9084, - 0x00ff, 0xb88e, 0x8007, 0x9085, 0x0020, 0x607a, 0x607f, 0x0000, - 0x2b00, 0x6082, 0x6087, 0xffff, 0x7814, 0x0096, 0x2048, 0xa848, - 0x608a, 0xa844, 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, 0x009e, - 0xb86c, 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, 0x0000, - 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x0128, 0x609f, 0x0000, - 0x2001, 0x0092, 0x0058, 0x6028, 0xc0bd, 0x602a, 0x609f, 0x00ff, - 0x2011, 0xffff, 0x080c, 0x2a63, 0x2001, 0x00b2, 0x2010, 0x900e, - 0x080c, 0x2a72, 0x2009, 0x07d0, 0x080c, 0x86da, 0x003e, 0x004e, - 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, 0x0005, 0x00b6, - 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, - 0x0100, 0x2071, 0x1800, 0x7160, 0x7810, 0x2058, 0xb8a0, 0x2028, - 0x76dc, 0xd6ac, 0x1168, 0x9582, 0x007e, 0x1250, 0x2500, 0x9094, - 0xff80, 0x1130, 0x9080, 0x3368, 0x2015, 0x9294, 0x00ff, 0x0020, - 0xb910, 0xba14, 0x737c, 0x7480, 0x70dc, 0xd0ac, 0x1130, 0x9582, - 0x007e, 0x1218, 0x9584, 0xff80, 0x0138, 0x9185, 0x0400, 0x6062, - 0x6266, 0x636a, 0x646e, 0x0030, 0x6063, 0x0400, 0x6266, 0x606b, - 0x0000, 0x616e, 0xb8b8, 0x6072, 0x6077, 0x0000, 0xb864, 0xd0a4, - 0x0110, 0x6077, 0x0008, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, - 0x8007, 0x9085, 0x0020, 0x607a, 0x607f, 0x0000, 0x2b00, 0x6082, - 0x6087, 0xffff, 0x7814, 0x0096, 0x2048, 0xa848, 0x608a, 0xa844, - 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, 0x009e, 0xb86c, 0x60ce, - 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xba84, 0x629e, - 0x00f6, 0x2079, 0x0140, 0x7803, 0x0000, 0x00fe, 0x900e, 0x2011, - 0x0092, 0x080c, 0x2a72, 0x2009, 0x07d0, 0x080c, 0x86da, 0x003e, + 0x700e, 0x9485, 0x0029, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, + 0x9e13, 0x721a, 0x9f95, 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, + 0x024c, 0x002e, 0x0005, 0x0026, 0x080c, 0xa68e, 0x7003, 0x02ff, + 0x7007, 0xfffc, 0x00d6, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, + 0x700e, 0x00de, 0x7013, 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, + 0x0000, 0x700b, 0xfc02, 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, + 0x0036, 0x0046, 0x2019, 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, + 0x00d6, 0x0036, 0x0046, 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, + 0xa68e, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, + 0xb810, 0x9005, 0x1140, 0xb814, 0x9005, 0x1128, 0x700b, 0x00ff, + 0x700f, 0xfffe, 0x0020, 0x687c, 0x700a, 0x6880, 0x700e, 0x0000, + 0x9485, 0x0098, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x9e13, + 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, + 0x0005, 0x080c, 0x9e13, 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, + 0x2071, 0x024c, 0x002e, 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x00e6, + 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, + 0x0a0c, 0x0d7d, 0x908a, 0x0092, 0x1a0c, 0x0d7d, 0x6110, 0x2158, + 0xb984, 0x2c78, 0x2061, 0x0100, 0x619a, 0x9082, 0x0085, 0x0033, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x9b75, 0x9b84, + 0x9b8f, 0x9b73, 0x9b73, 0x9b73, 0x9b75, 0x9b73, 0x9b73, 0x9b73, + 0x9b73, 0x9b73, 0x9b73, 0x080c, 0x0d7d, 0x0411, 0x60c3, 0x0000, + 0x0026, 0x080c, 0x29b4, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, + 0x2012, 0x002e, 0x0804, 0x9e1f, 0x0431, 0x7808, 0x700a, 0x7814, + 0x700e, 0x7017, 0xffff, 0x60c3, 0x000c, 0x0804, 0x9e1f, 0x0479, + 0x7003, 0x0003, 0x7007, 0x0300, 0x60c3, 0x0004, 0x0804, 0x9e1f, + 0x0026, 0x080c, 0xa68e, 0xb810, 0x9085, 0x8100, 0x7002, 0xb814, + 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x7013, + 0x0009, 0x0804, 0x9ad7, 0x0026, 0x080c, 0xa68e, 0xb810, 0x9085, + 0x8400, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x687c, 0x700a, + 0x6880, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x9b39, 0x0026, + 0x080c, 0xa68e, 0xb810, 0x9085, 0x8500, 0x7002, 0xb814, 0x7006, + 0x2069, 0x1800, 0x687c, 0x700a, 0x6880, 0x700e, 0x2001, 0x0099, + 0x7012, 0x0804, 0x9b39, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x2c78, 0x2069, 0x0200, 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, + 0x0a0c, 0x0d7d, 0x908a, 0x0057, 0x1a0c, 0x0d7d, 0x7910, 0x2158, + 0xb984, 0x2061, 0x0100, 0x619a, 0x9082, 0x0040, 0x0033, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x9c08, 0x9c08, 0x9c08, + 0x9c2e, 0x9c08, 0x9c08, 0x9c08, 0x9c08, 0x9c08, 0x9c08, 0x9c08, + 0xa1da, 0xa1e2, 0xa1ea, 0xa1f2, 0x9c08, 0x9c08, 0x9c08, 0xa1d2, + 0x080c, 0x0d7d, 0x6813, 0x0008, 0xba8c, 0x8210, 0xb8d4, 0xd084, + 0x0128, 0x7a4e, 0x7b14, 0x7b52, 0x722e, 0x732a, 0x9294, 0x00ff, + 0xba8e, 0x8217, 0x721a, 0xba10, 0x9295, 0x0600, 0x7202, 0xba14, + 0x7206, 0x2069, 0x1800, 0x6a7c, 0x720a, 0x6a80, 0x720e, 0x7013, + 0x0829, 0x2f10, 0x7222, 0x7027, 0xffff, 0x0005, 0x0016, 0x7814, + 0x9084, 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, 0x9c3e, 0x9c3e, + 0x9c40, 0x9c3e, 0x9c3e, 0x9c3e, 0x9c5a, 0x9c3e, 0x080c, 0x0d7d, + 0x7914, 0x918c, 0x08ff, 0x918d, 0xf600, 0x7916, 0x2009, 0x0003, + 0x00b9, 0x2069, 0x1847, 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, + 0x00ff, 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, 0x60c3, 0x0001, + 0x0804, 0x9e1f, 0x2009, 0x0003, 0x0019, 0x7033, 0x7f00, 0x0cb0, + 0x0016, 0x080c, 0xa68e, 0x001e, 0xb810, 0x9085, 0x0100, 0x7002, + 0xb814, 0x7006, 0x2069, 0x1800, 0x6a7c, 0x720a, 0x6a80, 0x720e, + 0x7013, 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, 0x9e13, 0x721a, + 0x7a08, 0x7222, 0x2f10, 0x7226, 0x0005, 0x00b6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, + 0x1800, 0x7160, 0x7810, 0x2058, 0x76dc, 0x96b4, 0x0028, 0x0110, + 0x737c, 0x7480, 0x2500, 0x76dc, 0x96b4, 0x0028, 0x0140, 0x2001, + 0x04ff, 0x6062, 0x6067, 0xffff, 0x636a, 0x646e, 0x0050, 0x2001, + 0x00ff, 0x9085, 0x0400, 0x6062, 0x6067, 0xffff, 0x606b, 0x0000, + 0x616e, 0xb8b8, 0x6073, 0x0530, 0x6077, 0x0008, 0xb88c, 0x8000, + 0x9084, 0x00ff, 0xb88e, 0x8007, 0x9085, 0x0020, 0x607a, 0x607f, + 0x0000, 0x2b00, 0x6082, 0x6087, 0xffff, 0x7814, 0x0096, 0x2048, + 0xa848, 0x608a, 0xa844, 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, + 0x009e, 0xb86c, 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, + 0x0000, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x0128, 0x609f, + 0x0000, 0x2001, 0x0092, 0x0058, 0x6028, 0xc0bd, 0x602a, 0x609f, + 0x00ff, 0x2011, 0xffff, 0x080c, 0x2a83, 0x2001, 0x00b2, 0x2010, + 0x900e, 0x080c, 0x2a92, 0x2009, 0x07d0, 0x080c, 0x870e, 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, 0x0005, - 0x00b6, 0x0096, 0x00e6, 0x00d6, 0x00c6, 0x0056, 0x0046, 0x0036, - 0x2061, 0x0100, 0x2071, 0x1800, 0x7810, 0x2058, 0xb8a0, 0x2028, - 0xb910, 0xba14, 0x737c, 0x7480, 0x7820, 0x0002, 0x9d65, 0x9d65, - 0x9d65, 0x9d65, 0x9d65, 0x9d65, 0x9d65, 0x9d65, 0x9d65, 0x9d65, - 0x9d67, 0x9d65, 0x9d65, 0x9d65, 0x9d65, 0x080c, 0x0d7d, 0xb884, - 0x609e, 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, 0xaf90, 0x9784, - 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, 0x0006, 0x7814, - 0x2048, 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, 0xaf94, 0x87ff, - 0x0198, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, 0x6082, 0x2f00, - 0x6086, 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, 0x0129, 0x6077, - 0x0000, 0xb884, 0x609e, 0x0050, 0x2039, 0x0029, 0x9705, 0x6072, - 0x0cc0, 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, 0xa87c, 0xd0fc, - 0x0118, 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, 0x7808, 0x6086, - 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, 0x8000, 0x9084, - 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0xa848, 0x608a, - 0xa844, 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, 0xb86c, 0x60ce, - 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0xa65d, 0x2009, 0x07d0, - 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, - 0x86da, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x009e, - 0x00be, 0x0005, 0x7a40, 0x9294, 0x00ff, 0x8217, 0x0005, 0x00d6, - 0x2069, 0x19e6, 0x686b, 0x0001, 0x00de, 0x0005, 0x60a3, 0x0056, - 0x60a7, 0x9575, 0x00f1, 0x080c, 0x86cc, 0x0005, 0x0016, 0x2001, - 0x180c, 0x200c, 0x9184, 0x0600, 0x9086, 0x0600, 0x0128, 0x0089, - 0x080c, 0x86cc, 0x001e, 0x0005, 0xc1e5, 0x2001, 0x180c, 0x2102, - 0x2001, 0x19e7, 0x2003, 0x0000, 0x2001, 0x19f2, 0x2003, 0x0000, - 0x0c88, 0x0006, 0x0016, 0x0026, 0x2009, 0x1804, 0x2011, 0x0009, - 0x080c, 0x2a72, 0x002e, 0x001e, 0x000e, 0x0005, 0x0016, 0x00c6, - 0x0006, 0x080c, 0xa888, 0x0106, 0x2061, 0x0100, 0x61a4, 0x60a7, - 0x95f5, 0x0016, 0x0026, 0x2009, 0x1804, 0x2011, 0x0008, 0x080c, - 0x2a72, 0x002e, 0x001e, 0x010e, 0x090c, 0xa8a4, 0x000e, 0xa001, - 0xa001, 0xa001, 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, - 0x0016, 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x74c8, - 0x1510, 0x2001, 0x1a0b, 0x2004, 0x9005, 0x1904, 0x9e95, 0x080c, - 0x7569, 0x11a8, 0x2069, 0x0380, 0x6843, 0x0101, 0x6844, 0xd084, - 0x1de8, 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, 0x6024, 0xd084, - 0x090c, 0x0d7d, 0x6843, 0x0100, 0x080c, 0x86cc, 0x04b0, 0x00c6, - 0x2061, 0x19e6, 0x00f0, 0x6904, 0x9194, 0x4000, 0x0598, 0x080c, - 0x9e16, 0x080c, 0x2a39, 0x00c6, 0x2061, 0x19e6, 0x6134, 0x9192, - 0x0008, 0x1278, 0x8108, 0x6136, 0x080c, 0xa888, 0x6130, 0x080c, - 0xa8a4, 0x00ce, 0x81ff, 0x01c8, 0x080c, 0x86cc, 0x080c, 0x9e09, - 0x00a0, 0x080c, 0xa888, 0x6130, 0x91e5, 0x0000, 0x0150, 0x080c, - 0xe727, 0x080c, 0x86d5, 0x6003, 0x0001, 0x2009, 0x0014, 0x080c, - 0xac7c, 0x080c, 0xa8a4, 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, - 0x00ce, 0x0005, 0x2001, 0x1a0b, 0x2004, 0x9005, 0x1db0, 0x00c6, - 0x2061, 0x19e6, 0x6134, 0x9192, 0x0003, 0x1ad8, 0x8108, 0x6136, - 0x00ce, 0x080c, 0x86cc, 0x080c, 0x5edf, 0x2009, 0x1846, 0x2114, - 0x8210, 0x220a, 0x0c10, 0x0096, 0x00c6, 0x00d6, 0x00e6, 0x0016, - 0x0026, 0x080c, 0x86e2, 0x080c, 0xa888, 0x2001, 0x0387, 0x2003, - 0x0202, 0x2071, 0x19e6, 0x714c, 0x81ff, 0x0904, 0x9f3d, 0x2061, - 0x0100, 0x2069, 0x0140, 0x080c, 0x74c8, 0x1510, 0x0036, 0x2019, - 0x0002, 0x080c, 0xa0fa, 0x003e, 0x714c, 0x2160, 0x080c, 0xe727, - 0x2009, 0x004a, 0x6220, 0x9296, 0x0009, 0x1130, 0x6114, 0x2148, - 0xa87b, 0x0006, 0x2009, 0x004a, 0x6003, 0x0003, 0x080c, 0xac7c, - 0x2001, 0x0386, 0x2003, 0x5040, 0x080c, 0x7569, 0x0804, 0x9f3d, - 0x6904, 0xd1f4, 0x0904, 0x9f4a, 0x080c, 0x2a39, 0x00c6, 0x704c, - 0x9065, 0x090c, 0x0d7d, 0x6020, 0x00ce, 0x9086, 0x0006, 0x1518, - 0x61c8, 0x60c4, 0x9105, 0x11f8, 0x2009, 0x180c, 0x2104, 0xd0d4, - 0x01d0, 0x6214, 0x9294, 0x1800, 0x1128, 0x6224, 0x9294, 0x0002, - 0x1560, 0x0010, 0xc0d4, 0x200a, 0x6014, 0x9084, 0xe7fd, 0x9085, - 0x0010, 0x6016, 0x704c, 0x2060, 0x080c, 0x9621, 0x2009, 0x0049, - 0x080c, 0xac7c, 0x00d0, 0x0036, 0x2019, 0x0001, 0x080c, 0xa0fa, - 0x003e, 0x714c, 0x2160, 0x080c, 0xe727, 0x2009, 0x004a, 0x6220, - 0x9296, 0x0009, 0x1130, 0x6114, 0x2148, 0xa87b, 0x0006, 0x2009, - 0x004a, 0x6003, 0x0003, 0x080c, 0xac7c, 0x2001, 0x0387, 0x2003, - 0x0200, 0x080c, 0xa8a4, 0x002e, 0x001e, 0x00ee, 0x00de, 0x00ce, - 0x009e, 0x0005, 0xd1ec, 0x1904, 0x9ef4, 0x0804, 0x9ef6, 0x0026, - 0x00e6, 0x2071, 0x19e6, 0x706c, 0xd084, 0x01e8, 0xc084, 0x706e, - 0x714c, 0x81ff, 0x01c0, 0x2071, 0x0100, 0x9188, 0x0008, 0x2114, - 0x928e, 0x0006, 0x1138, 0x2009, 0x1984, 0x2011, 0x0012, 0x080c, - 0x2a72, 0x0048, 0x928e, 0x0009, 0x0db0, 0x2009, 0x1984, 0x2011, - 0x0016, 0x080c, 0x2a72, 0x00ee, 0x002e, 0x0005, 0x9036, 0x2001, - 0x19f0, 0x2004, 0x9005, 0x0128, 0x9c06, 0x0128, 0x2c30, 0x600c, - 0x0cc8, 0x9085, 0x0001, 0x0005, 0x00f6, 0x2079, 0x19e6, 0x610c, - 0x9006, 0x600e, 0x6044, 0xc0fc, 0x6046, 0x86ff, 0x1140, 0x7824, - 0x9c06, 0x1118, 0x7826, 0x782a, 0x0050, 0x792a, 0x0040, 0x00c6, - 0x2660, 0x610e, 0x00ce, 0x7824, 0x9c06, 0x1108, 0x7e26, 0x080c, - 0xa1f0, 0x080c, 0xca21, 0x00fe, 0x0005, 0x080c, 0x9a83, 0x7003, - 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, 0x00c6, 0x7820, 0x9086, - 0x0004, 0x1148, 0x7810, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb810, - 0xb914, 0x00be, 0x0020, 0x2061, 0x1800, 0x607c, 0x6180, 0x9084, - 0x00ff, 0x700a, 0x710e, 0x00ce, 0x60c3, 0x002c, 0x0804, 0x9de6, - 0x080c, 0x9a83, 0x7003, 0x0f00, 0x7808, 0xd09c, 0x0128, 0xb810, - 0x9084, 0x00ff, 0x700a, 0xb814, 0x700e, 0x60c3, 0x0008, 0x0804, - 0x9de6, 0x0156, 0x080c, 0x9ace, 0x7003, 0x0200, 0x080c, 0x879a, - 0x20a9, 0x0006, 0x2011, 0xfff4, 0x2019, 0xfff5, 0x9ef0, 0x0002, - 0x2305, 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, 0x0002, - 0x9290, 0x0002, 0x1f04, 0x9fe8, 0x60c3, 0x001c, 0x015e, 0x0804, - 0x9de6, 0x0016, 0x0026, 0x080c, 0x9aaa, 0x080c, 0x9abc, 0x9e80, - 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, 0x0096, 0x2048, 0xa800, - 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x009e, - 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, 0x4003, - 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, 0x9de6, 0x002e, 0x001e, - 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, 0xa668, 0x20a1, 0x0240, - 0x22a8, 0x4003, 0x0c68, 0x080c, 0x9a83, 0x7003, 0x6200, 0x7808, - 0x700e, 0x60c3, 0x0008, 0x0804, 0x9de6, 0x0016, 0x0026, 0x080c, - 0x9a83, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, 0x0096, 0x2048, - 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, 0x2098, - 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x4003, 0x8003, 0x60c2, - 0x080c, 0x9de6, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00c6, 0x0006, - 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7010, 0x2060, 0x8cff, - 0x0188, 0x080c, 0xca47, 0x1110, 0x080c, 0xb5a6, 0x600c, 0x0006, - 0x080c, 0xccc3, 0x600f, 0x0000, 0x080c, 0xabdf, 0x080c, 0xa1f0, - 0x00ce, 0x0c68, 0x2c00, 0x7012, 0x700e, 0x012e, 0x000e, 0x00ce, - 0x00ee, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, - 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, - 0x200c, 0x918c, 0xe7ff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, - 0x2071, 0x19e6, 0x7030, 0x2060, 0x8cff, 0x0548, 0x080c, 0x9e16, - 0x6ac0, 0x68c3, 0x0000, 0x080c, 0x86d5, 0x00c6, 0x2061, 0x0100, - 0x080c, 0xa7b9, 0x00ce, 0x20a9, 0x01f4, 0x04b1, 0x080c, 0x95c6, - 0x6044, 0xd0ac, 0x1128, 0x2001, 0x1987, 0x2004, 0x604a, 0x0020, - 0x2009, 0x0013, 0x080c, 0xac7c, 0x000e, 0x001e, 0x002e, 0x006e, - 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, - 0x1800, 0x2004, 0x9096, 0x0001, 0x0d78, 0x9096, 0x0004, 0x0d60, - 0x080c, 0x86d5, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, - 0x6817, 0x0008, 0x68c3, 0x0000, 0x2011, 0x5e89, 0x080c, 0x861d, - 0x20a9, 0x01f4, 0x0009, 0x08c0, 0x6824, 0xd094, 0x0140, 0x6827, - 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, 0x2a39, 0x0090, 0xd084, - 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, 0xa0dc, 0x7804, 0x9084, - 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a29, 0x9006, 0x080c, - 0x2a29, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, - 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, - 0x200c, 0x918c, 0xdbff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, - 0x2071, 0x0380, 0x701c, 0x0006, 0x701f, 0x0202, 0x2071, 0x19e6, - 0x704c, 0x2060, 0x8cff, 0x0904, 0xa19f, 0x9386, 0x0002, 0x1128, - 0x6814, 0x9084, 0x0002, 0x0904, 0xa19f, 0x68af, 0x95f5, 0x6817, - 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, 0x69c6, 0x68cb, 0x0008, - 0x080c, 0x86e2, 0x080c, 0x1de5, 0x0046, 0x2009, 0x00a5, 0x080c, - 0x0e55, 0x2021, 0x0169, 0x2404, 0x9084, 0x000f, 0x9086, 0x0004, - 0x11f8, 0x68af, 0x95f5, 0x68c6, 0x68cb, 0x0008, 0x00e6, 0x00f6, - 0x2079, 0x0090, 0x2071, 0x19e6, 0x6814, 0x9084, 0x1984, 0x9085, - 0x0012, 0x6816, 0x782b, 0x0008, 0x7057, 0x0000, 0x00fe, 0x00ee, - 0x9386, 0x0002, 0x1128, 0x7884, 0x9005, 0x1110, 0x7887, 0x0001, - 0x0016, 0x2009, 0x0040, 0x080c, 0x21c1, 0x001e, 0x2009, 0x0000, - 0x080c, 0x0e55, 0x004e, 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0140, - 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, 0x2a39, 0x0090, - 0xd08c, 0x0118, 0x6827, 0x0002, 0x0010, 0x1f04, 0xa16d, 0x7804, - 0x9084, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a29, 0x9006, - 0x080c, 0x2a29, 0x6827, 0x4000, 0x6824, 0x83ff, 0x1180, 0x2009, - 0x0049, 0x6020, 0x9086, 0x0009, 0x0150, 0x080c, 0x9621, 0x6044, - 0xd0ac, 0x1118, 0x6003, 0x0002, 0x0010, 0x080c, 0xac7c, 0x000e, - 0x2071, 0x0380, 0xd08c, 0x1110, 0x701f, 0x0200, 0x000e, 0x001e, - 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, - 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, 0x19e6, 0x6a06, - 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, - 0x19e6, 0x6a3e, 0x012e, 0x00de, 0x0005, 0x080c, 0x9bd1, 0x785c, - 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, 0x080c, 0x9bd1, 0x785c, - 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, 0x080c, 0x9bd1, 0x785c, - 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, 0x080c, 0x9bd1, 0x785c, - 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, 0x080c, 0x9bd1, 0x785c, - 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, 0x0020, 0x0804, 0x9de6, - 0x00e6, 0x2071, 0x19e6, 0x702c, 0x9005, 0x0110, 0x8001, 0x702e, - 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, - 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7620, 0x2660, - 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, 0xa295, 0x8cff, 0x0904, - 0xa295, 0x6020, 0x9086, 0x0006, 0x1904, 0xa290, 0x88ff, 0x0138, - 0x2800, 0x9c06, 0x1904, 0xa290, 0x2039, 0x0000, 0x0050, 0x6010, - 0x9b06, 0x1904, 0xa290, 0x85ff, 0x0120, 0x605c, 0x9106, 0x1904, - 0xa290, 0x7030, 0x9c06, 0x15b0, 0x2069, 0x0100, 0x68c0, 0x9005, - 0x1160, 0x6824, 0xd084, 0x0148, 0x6827, 0x0001, 0x080c, 0x86d5, - 0x080c, 0xa31a, 0x7033, 0x0000, 0x0428, 0x080c, 0x86d5, 0x6820, - 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, - 0x080c, 0xa31a, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, - 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a29, 0x9006, - 0x080c, 0x2a29, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, - 0x0001, 0x003e, 0x7020, 0x9c36, 0x1110, 0x660c, 0x7622, 0x701c, - 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x701e, 0x0010, - 0x701f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, - 0x0008, 0x2678, 0x89ff, 0x1168, 0x600f, 0x0000, 0x6014, 0x0096, - 0x2048, 0x080c, 0xc830, 0x0110, 0x080c, 0xe27c, 0x009e, 0x080c, - 0xac1a, 0x080c, 0xa1f0, 0x88ff, 0x1190, 0x00ce, 0x0804, 0xa20b, - 0x2c78, 0x600c, 0x2060, 0x0804, 0xa20b, 0x9006, 0x012e, 0x000e, - 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, - 0x0000, 0x00ce, 0x98c5, 0x0001, 0x0c88, 0x00f6, 0x00e6, 0x00d6, - 0x0096, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, - 0x2071, 0x19e6, 0x7648, 0x2660, 0x2678, 0x8cff, 0x0904, 0xa309, - 0x6020, 0x9086, 0x0006, 0x1904, 0xa304, 0x87ff, 0x0128, 0x2700, - 0x9c06, 0x1904, 0xa304, 0x0040, 0x6010, 0x9b06, 0x15e8, 0x85ff, - 0x0118, 0x605c, 0x9106, 0x15c0, 0x704c, 0x9c06, 0x1168, 0x0036, - 0x2019, 0x0001, 0x080c, 0xa0fa, 0x703f, 0x0000, 0x9006, 0x704e, - 0x706a, 0x7052, 0x706e, 0x003e, 0x7048, 0x9c36, 0x1110, 0x660c, - 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, - 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, - 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, 0x2048, - 0x080c, 0xc830, 0x0110, 0x080c, 0xe27c, 0x080c, 0xac1a, 0x87ff, - 0x1198, 0x00ce, 0x0804, 0xa2b5, 0x2c78, 0x600c, 0x2060, 0x0804, - 0xa2b5, 0x9006, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x009e, - 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x97bd, - 0x0001, 0x0c80, 0x00e6, 0x2071, 0x19e6, 0x9006, 0x7032, 0x700a, - 0x7004, 0x9086, 0x0003, 0x0158, 0x2001, 0x1800, 0x2004, 0x9086, - 0x0002, 0x1118, 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, - 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, - 0x2091, 0x8000, 0x2071, 0x19e6, 0x2c10, 0x7648, 0x2660, 0x2678, - 0x8cff, 0x0540, 0x2200, 0x9c06, 0x1508, 0x7048, 0x9c36, 0x1110, - 0x660c, 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, - 0x2f00, 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, 0x2c00, 0x9f06, - 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6004, 0x9086, - 0x0040, 0x090c, 0x95c6, 0x9085, 0x0001, 0x0020, 0x2c78, 0x600c, - 0x2060, 0x08b0, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00ee, - 0x00fe, 0x0005, 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, - 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7610, - 0x2660, 0x2678, 0x8cff, 0x0904, 0xa407, 0x6010, 0x00b6, 0x2058, - 0xb8a0, 0x00be, 0x9206, 0x1904, 0xa402, 0x7030, 0x9c06, 0x1520, - 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0xa3d9, 0x080c, 0x9e16, - 0x68c3, 0x0000, 0x080c, 0xa31a, 0x7033, 0x0000, 0x0036, 0x2069, - 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, - 0x2a29, 0x9006, 0x080c, 0x2a29, 0x2069, 0x0100, 0x6824, 0xd084, - 0x0110, 0x6827, 0x0001, 0x003e, 0x7010, 0x9c36, 0x1110, 0x660c, - 0x7612, 0x700c, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, - 0x700e, 0x0010, 0x700f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, - 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xca36, - 0x1180, 0x080c, 0x321e, 0x080c, 0xca47, 0x1518, 0x080c, 0xb5a6, - 0x0400, 0x080c, 0xa31a, 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, - 0x0898, 0x080c, 0xca47, 0x1118, 0x080c, 0xb5a6, 0x0090, 0x6014, - 0x2048, 0x080c, 0xc830, 0x0168, 0x6020, 0x9086, 0x0003, 0x1508, - 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d6f, 0x080c, - 0xca21, 0x080c, 0xccc3, 0x080c, 0xac1a, 0x080c, 0xa1f0, 0x00ce, - 0x0804, 0xa382, 0x2c78, 0x600c, 0x2060, 0x0804, 0xa382, 0x012e, - 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, - 0x0005, 0x6020, 0x9086, 0x0006, 0x1d20, 0x080c, 0xe27c, 0x0c08, - 0x00d6, 0x080c, 0x9ace, 0x7003, 0x0200, 0x7007, 0x0014, 0x60c3, - 0x0014, 0x20e1, 0x0001, 0x2099, 0x1988, 0x20e9, 0x0000, 0x20a1, - 0x0250, 0x20a9, 0x0004, 0x4003, 0x7023, 0x0004, 0x7027, 0x7878, - 0x080c, 0x9de6, 0x00de, 0x0005, 0x080c, 0x9ace, 0x700b, 0x0800, - 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, 0x9084, 0x00ff, 0x7022, - 0x782c, 0x7026, 0x7860, 0x9084, 0x00ff, 0x9085, 0x0200, 0x7002, - 0x7860, 0x9084, 0xff00, 0x8007, 0x7006, 0x60c2, 0x0804, 0x9de6, - 0x00b6, 0x00d6, 0x0016, 0x00d6, 0x2f68, 0x2009, 0x0035, 0x080c, - 0xcec9, 0x00de, 0x1904, 0xa4b5, 0x080c, 0x9a83, 0x7003, 0x1300, - 0x782c, 0x080c, 0xa5c0, 0x2068, 0x6820, 0x9086, 0x0003, 0x0560, - 0x7810, 0x2058, 0xbaa0, 0x080c, 0xab49, 0x11d8, 0x9286, 0x007e, - 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0498, 0x9286, 0x007f, - 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffd, 0x0458, 0x9284, 0xff80, - 0x0180, 0x9286, 0x0080, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffc, - 0x0400, 0x92d8, 0x1000, 0x2b5c, 0xb810, 0x700a, 0xb814, 0x700e, - 0x00c0, 0xb884, 0x700e, 0x00a8, 0x080c, 0xab49, 0x1130, 0x7810, - 0x2058, 0xb8a0, 0x9082, 0x007e, 0x0250, 0x00d6, 0x2069, 0x181f, - 0x2d04, 0x700a, 0x8d68, 0x2d04, 0x700e, 0x00de, 0x0010, 0x6034, - 0x700e, 0x7838, 0x7012, 0x783c, 0x7016, 0x60c3, 0x000c, 0x001e, - 0x00de, 0x080c, 0x9de6, 0x00be, 0x0005, 0x781b, 0x0001, 0x7803, - 0x0006, 0x001e, 0x00de, 0x00be, 0x0005, 0x792c, 0x9180, 0x0008, - 0x200c, 0x9186, 0x0006, 0x01c0, 0x9186, 0x0003, 0x0904, 0xa533, - 0x9186, 0x0005, 0x0904, 0xa51b, 0x9186, 0x0004, 0x05f0, 0x9186, - 0x0008, 0x0904, 0xa524, 0x7807, 0x0037, 0x782f, 0x0003, 0x7817, - 0x1700, 0x080c, 0xa59d, 0x0005, 0x080c, 0xa55e, 0x00d6, 0x0026, - 0x792c, 0x2168, 0x2009, 0x4000, 0x6800, 0x6a44, 0xd2fc, 0x11f8, - 0x0002, 0xa4fc, 0xa507, 0xa4fe, 0xa507, 0xa503, 0xa4fc, 0xa4fc, - 0xa507, 0xa507, 0xa507, 0xa507, 0xa4fc, 0xa4fc, 0xa4fc, 0xa4fc, - 0xa4fc, 0xa507, 0xa4fc, 0xa507, 0x080c, 0x0d7d, 0x6824, 0xd0e4, - 0x0110, 0xd0cc, 0x0110, 0x900e, 0x0010, 0x2009, 0x2000, 0x682c, - 0x7022, 0x6830, 0x7026, 0x0804, 0xa557, 0x080c, 0xa55e, 0x00d6, - 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6a00, 0x9286, 0x0002, - 0x1108, 0x900e, 0x04e0, 0x080c, 0xa55e, 0x00d6, 0x0026, 0x792c, - 0x2168, 0x2009, 0x4000, 0x0498, 0x04c9, 0x00d6, 0x0026, 0x792c, - 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, 0x0118, 0x9286, 0x0002, - 0x1108, 0x900e, 0x0420, 0x0451, 0x00d6, 0x0026, 0x792c, 0x2168, - 0x6814, 0x0096, 0x2048, 0xa9ac, 0xa834, 0x9112, 0xa9b0, 0xa838, - 0x009e, 0x9103, 0x7022, 0x7226, 0x792c, 0x9180, 0x0011, 0x2004, - 0xd0fc, 0x1148, 0x9180, 0x0000, 0x2004, 0x908e, 0x0002, 0x0130, - 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, 0x0008, 0x900e, 0x712a, - 0x60c3, 0x0018, 0x002e, 0x00de, 0x0804, 0x9de6, 0x00b6, 0x0036, - 0x0046, 0x0056, 0x0066, 0x080c, 0x9ace, 0x9006, 0x7003, 0x0200, - 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, 0x2058, 0xb8a0, 0x080c, - 0xab49, 0x1118, 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, 0x181f, - 0x2d2c, 0x8d68, 0x2d34, 0x90d8, 0x1000, 0x2b5c, 0xbb10, 0xbc14, - 0x00de, 0x0028, 0x901e, 0xbc84, 0x2029, 0x0000, 0x6634, 0x782c, - 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, 0x7616, - 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, 0x006e, - 0x005e, 0x004e, 0x003e, 0x00be, 0x0005, 0x080c, 0x9ace, 0x7003, - 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x700e, 0x60c3, 0x0008, - 0x0804, 0x9de6, 0x080c, 0x9a7a, 0x7003, 0x1400, 0x7838, 0x700a, - 0x0079, 0x783c, 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, 0x7834, - 0x9084, 0x00ff, 0x8007, 0x701a, 0x60c3, 0x0010, 0x0804, 0x9de6, - 0x00e6, 0x2071, 0x0240, 0x0006, 0x00f6, 0x2078, 0x7810, 0x00b6, - 0x2058, 0xb8d4, 0xd084, 0x0120, 0x7850, 0x702a, 0x784c, 0x702e, - 0x00be, 0x00fe, 0x000e, 0x00ee, 0x0005, 0x080c, 0x9ac5, 0x7003, - 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, - 0x9de6, 0x00a9, 0x7914, 0x712a, 0x60c3, 0x0000, 0x60a7, 0x9575, - 0x0026, 0x080c, 0x2998, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, - 0x2012, 0x002e, 0x080c, 0x9e09, 0x080c, 0x86cc, 0x0005, 0x0036, - 0x0096, 0x00d6, 0x00e6, 0x7860, 0x2048, 0xaa7c, 0x9296, 0x00c0, - 0x9294, 0xfffd, 0xaa7e, 0xaa80, 0x9294, 0x0300, 0xaa82, 0xa96c, - 0x9194, 0x00ff, 0xab74, 0x9384, 0x00ff, 0x908d, 0xc200, 0xa96e, - 0x9384, 0xff00, 0x9215, 0xaa76, 0xa870, 0xaa78, 0xa87a, 0xaa72, - 0x00d6, 0x2069, 0x0200, 0x080c, 0xa67d, 0x00de, 0x20e9, 0x0000, - 0x20a1, 0x0240, 0x20a9, 0x000a, 0xa860, 0x20e0, 0xa85c, 0x9080, - 0x001b, 0x2098, 0x4003, 0x60a3, 0x0035, 0xaa68, 0x9294, 0x7000, - 0x9286, 0x3000, 0x0110, 0x60a3, 0x0037, 0x00ee, 0x00de, 0x009e, - 0x003e, 0x0005, 0x900e, 0x7814, 0x0096, 0x2048, 0xa87c, 0xd0fc, - 0x01c0, 0x9084, 0x0003, 0x11a8, 0x2001, 0x180c, 0x2004, 0xd0bc, - 0x0180, 0x7824, 0xd0cc, 0x1168, 0xd0c4, 0x1158, 0xa8a8, 0x9005, - 0x1140, 0x2001, 0x180c, 0x200c, 0xc1d5, 0x2102, 0x2009, 0x19b1, - 0x210c, 0x009e, 0x918d, 0x0092, 0x0010, 0x2009, 0x0096, 0x60ab, - 0x0036, 0x0026, 0x2110, 0x900e, 0x080c, 0x2a72, 0x002e, 0x0005, - 0x2009, 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, 0x2009, 0x000b, - 0x0070, 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, 0x0040, 0x2009, - 0x000e, 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, 0x0008, 0x6912, - 0x0005, 0x080c, 0x9a83, 0x0016, 0x0026, 0x0096, 0x00d6, 0x7814, - 0x2048, 0x7013, 0x0138, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, - 0x1138, 0x2001, 0x197b, 0x2004, 0x9086, 0xaaaa, 0x1904, 0xa722, - 0x7003, 0x5400, 0x00c6, 0x2061, 0x1800, 0x607c, 0x9084, 0x00ff, - 0xa998, 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, 0x6080, 0x700e, - 0xa998, 0x918c, 0xff00, 0x7112, 0x20a9, 0x0004, 0x2009, 0x1805, - 0x2e10, 0x9290, 0x0006, 0x2104, 0x2012, 0x8108, 0x8210, 0x1f04, - 0xa6b3, 0x20a9, 0x0004, 0x2009, 0x1801, 0x2104, 0x2012, 0x8108, - 0x8210, 0x1f04, 0xa6bd, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0029, - 0x2098, 0x2009, 0x0006, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, - 0x8210, 0x8109, 0x1dc0, 0x00d6, 0x2069, 0x0200, 0x080c, 0xa668, - 0x00de, 0x2071, 0x0240, 0x2011, 0x0240, 0x2009, 0x0002, 0x20a9, - 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0x2009, - 0x0008, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, - 0x1dc0, 0xa85c, 0x9080, 0x0031, 0x2098, 0x2009, 0x0008, 0x20a9, - 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, 0x00ce, - 0x60c3, 0x004c, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x2001, 0x1837, - 0x2004, 0x9084, 0x0028, 0x1168, 0x080c, 0x74c8, 0x0150, 0x6028, - 0xc0bd, 0x602a, 0x2009, 0x1804, 0x2011, 0x0029, 0x080c, 0x2a72, - 0x0010, 0x080c, 0x9de6, 0x080c, 0x86cc, 0x00de, 0x009e, 0x002e, - 0x001e, 0x0005, 0x00e6, 0x2071, 0x0240, 0x2001, 0x2200, 0x9085, - 0x00ff, 0x7002, 0x7007, 0xffff, 0x2071, 0x0100, 0x709b, 0x00ff, - 0x00ee, 0x0804, 0xa698, 0x080c, 0x9a83, 0x0016, 0x0026, 0x0096, - 0x00d6, 0x7814, 0x2048, 0x7013, 0x0138, 0x7003, 0x5500, 0x00c6, - 0xa89c, 0x9084, 0x00ff, 0xa998, 0x810f, 0x918c, 0xff00, 0x9105, - 0x700a, 0xa99c, 0x918c, 0xff00, 0xa8a0, 0x9084, 0x00ff, 0x9105, - 0x700e, 0xa998, 0x918c, 0xff00, 0x2061, 0x1800, 0x607c, 0x9084, - 0x00ff, 0x910d, 0x7112, 0x6180, 0x7116, 0x2009, 0x0008, 0xa860, - 0x20e0, 0xa85c, 0x9080, 0x0029, 0x2098, 0x2e10, 0x9290, 0x0006, + 0x00b6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0036, + 0x2061, 0x0100, 0x2071, 0x1800, 0x7160, 0x7810, 0x2058, 0xb8a0, + 0x2028, 0x76dc, 0xd6ac, 0x1168, 0x9582, 0x007e, 0x1250, 0x2500, + 0x9094, 0xff80, 0x1130, 0x9080, 0x3388, 0x2015, 0x9294, 0x00ff, + 0x0020, 0xb910, 0xba14, 0x737c, 0x7480, 0x70dc, 0xd0ac, 0x1130, + 0x9582, 0x007e, 0x1218, 0x9584, 0xff80, 0x0138, 0x9185, 0x0400, + 0x6062, 0x6266, 0x636a, 0x646e, 0x0030, 0x6063, 0x0400, 0x6266, + 0x606b, 0x0000, 0x616e, 0xb8b8, 0x6072, 0x6077, 0x0000, 0xb864, + 0xd0a4, 0x0110, 0x6077, 0x0008, 0xb88c, 0x8000, 0x9084, 0x00ff, + 0xb88e, 0x8007, 0x9085, 0x0020, 0x607a, 0x607f, 0x0000, 0x2b00, + 0x6082, 0x6087, 0xffff, 0x7814, 0x0096, 0x2048, 0xa848, 0x608a, + 0xa844, 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, 0x009e, 0xb86c, + 0x60ce, 0x60ab, 0x0036, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xba84, + 0x629e, 0x00f6, 0x2079, 0x0140, 0x7803, 0x0000, 0x00fe, 0x900e, + 0x2011, 0x0092, 0x080c, 0x2a92, 0x2009, 0x07d0, 0x080c, 0x870e, + 0x003e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, + 0x0005, 0x00b6, 0x0096, 0x00e6, 0x00d6, 0x00c6, 0x0056, 0x0046, + 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, 0x7810, 0x2058, 0xb8a0, + 0x2028, 0xb910, 0xba14, 0x737c, 0x7480, 0x7820, 0x0002, 0x9d9e, + 0x9d9e, 0x9d9e, 0x9d9e, 0x9d9e, 0x9d9e, 0x9d9e, 0x9d9e, 0x9d9e, + 0x9d9e, 0x9da0, 0x9d9e, 0x9d9e, 0x9d9e, 0x9d9e, 0x080c, 0x0d7d, + 0xb884, 0x609e, 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, 0xaf90, + 0x9784, 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, 0x0006, + 0x7814, 0x2048, 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, 0xaf94, + 0x87ff, 0x0198, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, 0x6082, + 0x2f00, 0x6086, 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, 0x0129, + 0x6077, 0x0000, 0xb884, 0x609e, 0x0050, 0x2039, 0x0029, 0x9705, + 0x6072, 0x0cc0, 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, 0xa87c, + 0xd0fc, 0x0118, 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, 0x7808, + 0x6086, 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, 0x8000, + 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0xa848, + 0x608a, 0xa844, 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, 0xb86c, + 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0xa66e, 0x2009, + 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, + 0x080c, 0x870e, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, + 0x009e, 0x00be, 0x0005, 0x7a40, 0x9294, 0x00ff, 0x8217, 0x0005, + 0x00d6, 0x2069, 0x19e6, 0x686b, 0x0001, 0x00de, 0x0005, 0x60a3, + 0x0056, 0x60a7, 0x9575, 0x00f1, 0x080c, 0x8700, 0x0005, 0x0016, + 0x2001, 0x180c, 0x200c, 0x9184, 0x0600, 0x9086, 0x0600, 0x0128, + 0x0089, 0x080c, 0x8700, 0x001e, 0x0005, 0xc1e5, 0x2001, 0x180c, + 0x2102, 0x2001, 0x19e7, 0x2003, 0x0000, 0x2001, 0x19f2, 0x2003, + 0x0000, 0x0c88, 0x0006, 0x0016, 0x0026, 0x2009, 0x1804, 0x2011, + 0x0009, 0x080c, 0x2a92, 0x002e, 0x001e, 0x000e, 0x0005, 0x0016, + 0x00c6, 0x0006, 0x080c, 0xa899, 0x0106, 0x2061, 0x0100, 0x61a4, + 0x60a7, 0x95f5, 0x0016, 0x0026, 0x2009, 0x1804, 0x2011, 0x0008, + 0x080c, 0x2a92, 0x002e, 0x001e, 0x010e, 0x090c, 0xa8b5, 0x000e, + 0xa001, 0xa001, 0xa001, 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, + 0x00d6, 0x0016, 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, + 0x74ec, 0x1510, 0x2001, 0x1a0b, 0x2004, 0x9005, 0x1904, 0x9ece, + 0x080c, 0x7591, 0x11a8, 0x2069, 0x0380, 0x6843, 0x0101, 0x6844, + 0xd084, 0x1de8, 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, 0x6024, + 0xd084, 0x090c, 0x0d7d, 0x6843, 0x0100, 0x080c, 0x8700, 0x04b0, + 0x00c6, 0x2061, 0x19e6, 0x00f0, 0x6904, 0x9194, 0x4000, 0x0598, + 0x080c, 0x9e4f, 0x080c, 0x2a59, 0x00c6, 0x2061, 0x19e6, 0x6134, + 0x9192, 0x0008, 0x1278, 0x8108, 0x6136, 0x080c, 0xa899, 0x6130, + 0x080c, 0xa8b5, 0x00ce, 0x81ff, 0x01c8, 0x080c, 0x8700, 0x080c, + 0x9e42, 0x00a0, 0x080c, 0xa899, 0x6130, 0x91e5, 0x0000, 0x0150, + 0x080c, 0xe764, 0x080c, 0x8709, 0x6003, 0x0001, 0x2009, 0x0014, + 0x080c, 0xac8d, 0x080c, 0xa8b5, 0x00ce, 0x0000, 0x002e, 0x001e, + 0x00de, 0x00ce, 0x0005, 0x2001, 0x1a0b, 0x2004, 0x9005, 0x1db0, + 0x00c6, 0x2061, 0x19e6, 0x6134, 0x9192, 0x0003, 0x1ad8, 0x8108, + 0x6136, 0x00ce, 0x080c, 0x8700, 0x080c, 0x5eff, 0x2009, 0x1846, + 0x2114, 0x8210, 0x220a, 0x0c10, 0x0096, 0x00c6, 0x00d6, 0x00e6, + 0x0016, 0x0026, 0x080c, 0x8716, 0x080c, 0xa899, 0x2001, 0x0387, + 0x2003, 0x0202, 0x2071, 0x19e6, 0x714c, 0x81ff, 0x0904, 0x9f76, + 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x74ec, 0x1510, 0x0036, + 0x2019, 0x0002, 0x080c, 0xa133, 0x003e, 0x714c, 0x2160, 0x080c, + 0xe764, 0x2009, 0x004a, 0x6220, 0x9296, 0x0009, 0x1130, 0x6114, + 0x2148, 0xa87b, 0x0006, 0x2009, 0x004a, 0x6003, 0x0003, 0x080c, + 0xac8d, 0x2001, 0x0386, 0x2003, 0x5040, 0x080c, 0x7591, 0x0804, + 0x9f76, 0x6904, 0xd1f4, 0x0904, 0x9f83, 0x080c, 0x2a59, 0x00c6, + 0x704c, 0x9065, 0x090c, 0x0d7d, 0x6020, 0x00ce, 0x9086, 0x0006, + 0x1518, 0x61c8, 0x60c4, 0x9105, 0x11f8, 0x2009, 0x180c, 0x2104, + 0xd0d4, 0x01d0, 0x6214, 0x9294, 0x1800, 0x1128, 0x6224, 0x9294, + 0x0002, 0x1560, 0x0010, 0xc0d4, 0x200a, 0x6014, 0x9084, 0xe7fd, + 0x9085, 0x0010, 0x6016, 0x704c, 0x2060, 0x080c, 0x965a, 0x2009, + 0x0049, 0x080c, 0xac8d, 0x00d0, 0x0036, 0x2019, 0x0001, 0x080c, + 0xa133, 0x003e, 0x714c, 0x2160, 0x080c, 0xe764, 0x2009, 0x004a, + 0x6220, 0x9296, 0x0009, 0x1130, 0x6114, 0x2148, 0xa87b, 0x0006, + 0x2009, 0x004a, 0x6003, 0x0003, 0x080c, 0xac8d, 0x2001, 0x0387, + 0x2003, 0x0200, 0x080c, 0xa8b5, 0x002e, 0x001e, 0x00ee, 0x00de, + 0x00ce, 0x009e, 0x0005, 0xd1ec, 0x1904, 0x9f2d, 0x0804, 0x9f2f, + 0x0026, 0x00e6, 0x2071, 0x19e6, 0x706c, 0xd084, 0x01e8, 0xc084, + 0x706e, 0x714c, 0x81ff, 0x01c0, 0x2071, 0x0100, 0x9188, 0x0008, + 0x2114, 0x928e, 0x0006, 0x1138, 0x2009, 0x1984, 0x2011, 0x0012, + 0x080c, 0x2a92, 0x0048, 0x928e, 0x0009, 0x0db0, 0x2009, 0x1984, + 0x2011, 0x0016, 0x080c, 0x2a92, 0x00ee, 0x002e, 0x0005, 0x9036, + 0x2001, 0x19f0, 0x2004, 0x9005, 0x0128, 0x9c06, 0x0128, 0x2c30, + 0x600c, 0x0cc8, 0x9085, 0x0001, 0x0005, 0x00f6, 0x2079, 0x19e6, + 0x610c, 0x9006, 0x600e, 0x6044, 0xc0fc, 0x6046, 0x86ff, 0x1140, + 0x7824, 0x9c06, 0x1118, 0x7826, 0x782a, 0x0050, 0x792a, 0x0040, + 0x00c6, 0x2660, 0x610e, 0x00ce, 0x7824, 0x9c06, 0x1108, 0x7e26, + 0x080c, 0xa1fd, 0x080c, 0xca54, 0x00fe, 0x0005, 0x080c, 0x9abc, + 0x7003, 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, 0x00c6, 0x7820, + 0x9086, 0x0004, 0x1148, 0x7810, 0x9005, 0x0130, 0x00b6, 0x2058, + 0xb810, 0xb914, 0x00be, 0x0020, 0x2061, 0x1800, 0x607c, 0x6180, + 0x9084, 0x00ff, 0x700a, 0x710e, 0x00ce, 0x60c3, 0x002c, 0x0804, + 0x9e1f, 0x080c, 0x9abc, 0x7003, 0x0f00, 0x7808, 0xd09c, 0x0128, + 0xb810, 0x9084, 0x00ff, 0x700a, 0xb814, 0x700e, 0x60c3, 0x0008, + 0x0804, 0x9e1f, 0x0156, 0x080c, 0x9b07, 0x7003, 0x0200, 0x080c, + 0x87ce, 0x20a9, 0x0006, 0x2011, 0xffec, 0x2019, 0xffed, 0x9ef0, + 0x0002, 0x2305, 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, + 0x0002, 0x9290, 0x0002, 0x1f04, 0xa021, 0x60c3, 0x001c, 0x015e, + 0x0804, 0x9e1f, 0x0016, 0x0026, 0x080c, 0x9ae3, 0x080c, 0x9af5, + 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, 0x0096, 0x2048, + 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, + 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, + 0x4003, 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, 0x9e1f, 0x002e, + 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, 0xa679, 0x20a1, + 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x9abc, 0x7003, 0x6200, + 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0x9e1f, 0x0016, 0x0026, + 0x080c, 0x9abc, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, 0x0096, + 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, + 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x4003, 0x8003, + 0x60c2, 0x080c, 0x9e1f, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00c6, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7010, 0x2060, + 0x8cff, 0x0188, 0x080c, 0xca7a, 0x1110, 0x080c, 0xb5c6, 0x600c, + 0x0006, 0x080c, 0xccf6, 0x600f, 0x0000, 0x080c, 0xabf0, 0x080c, + 0xa1fd, 0x00ce, 0x0c68, 0x2c00, 0x7012, 0x700e, 0x012e, 0x000e, + 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, + 0x180c, 0x200c, 0x918c, 0xe7ff, 0x2102, 0x2069, 0x0100, 0x2079, + 0x0140, 0x2071, 0x19e6, 0x7030, 0x2060, 0x8cff, 0x0548, 0x080c, + 0x9e4f, 0x6ac0, 0x68c3, 0x0000, 0x080c, 0x8709, 0x00c6, 0x2061, + 0x0100, 0x080c, 0xa7ca, 0x00ce, 0x20a9, 0x01f4, 0x04b1, 0x080c, + 0x95ff, 0x6044, 0xd0ac, 0x1128, 0x2001, 0x1987, 0x2004, 0x604a, + 0x0020, 0x2009, 0x0013, 0x080c, 0xac8d, 0x000e, 0x001e, 0x002e, + 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, + 0x2001, 0x1800, 0x2004, 0x9096, 0x0001, 0x0d78, 0x9096, 0x0004, + 0x0d60, 0x080c, 0x8709, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, + 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x2011, 0x5ea9, 0x080c, + 0x8651, 0x20a9, 0x01f4, 0x0009, 0x08c0, 0x6824, 0xd094, 0x0140, + 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, 0x2a59, 0x0090, + 0xd084, 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, 0xa115, 0x7804, + 0x9084, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, + 0x080c, 0x2a49, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, + 0x180c, 0x200c, 0x918c, 0xdbff, 0x2102, 0x2069, 0x0100, 0x2079, + 0x0140, 0x2071, 0x0380, 0x701c, 0x0006, 0x701f, 0x0202, 0x2071, + 0x19e6, 0x704c, 0x2060, 0x8cff, 0x0904, 0xa1ac, 0x9386, 0x0002, + 0x1128, 0x6814, 0x9084, 0x0002, 0x0904, 0xa1ac, 0x68af, 0x95f5, + 0x6817, 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, 0x69c6, 0x68cb, + 0x0008, 0x080c, 0x8716, 0x080c, 0x1dfd, 0x2001, 0x0032, 0x6920, + 0xd1bc, 0x0130, 0x8001, 0x1dd8, 0x692c, 0x918d, 0x0008, 0x692e, + 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, + 0x9084, 0x4000, 0x190c, 0x2a59, 0x0090, 0xd08c, 0x0118, 0x6827, + 0x0002, 0x0010, 0x1f04, 0xa17a, 0x7804, 0x9084, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, 0x2a49, 0x6827, + 0x4000, 0x6824, 0x83ff, 0x1180, 0x2009, 0x0049, 0x6020, 0x9086, + 0x0009, 0x0150, 0x080c, 0x965a, 0x6044, 0xd0ac, 0x1118, 0x6003, + 0x0002, 0x0010, 0x080c, 0xac8d, 0x000e, 0x2071, 0x0380, 0xd08c, + 0x1110, 0x701f, 0x0200, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x2069, 0x19e6, 0x6a06, 0x012e, 0x00de, 0x0005, + 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, 0x19e6, 0x6a3e, 0x012e, + 0x00de, 0x0005, 0x080c, 0x9c0a, 0x785c, 0x7032, 0x7042, 0x7047, + 0x1000, 0x00f8, 0x080c, 0x9c0a, 0x785c, 0x7032, 0x7042, 0x7047, + 0x4000, 0x00b8, 0x080c, 0x9c0a, 0x785c, 0x7032, 0x7042, 0x7047, + 0x2000, 0x0078, 0x080c, 0x9c0a, 0x785c, 0x7032, 0x7042, 0x7047, + 0x0400, 0x0038, 0x080c, 0x9c0a, 0x785c, 0x7032, 0x7042, 0x7047, + 0x0200, 0x60c3, 0x0020, 0x0804, 0x9e1f, 0x00e6, 0x2071, 0x19e6, + 0x702c, 0x9005, 0x0110, 0x8001, 0x702e, 0x00ee, 0x0005, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2071, 0x19e6, 0x7620, 0x2660, 0x2678, 0x2039, 0x0001, + 0x87ff, 0x0904, 0xa2a2, 0x8cff, 0x0904, 0xa2a2, 0x6020, 0x9086, + 0x0006, 0x1904, 0xa29d, 0x88ff, 0x0138, 0x2800, 0x9c06, 0x1904, + 0xa29d, 0x2039, 0x0000, 0x0050, 0x6010, 0x9b06, 0x1904, 0xa29d, + 0x85ff, 0x0120, 0x605c, 0x9106, 0x1904, 0xa29d, 0x7030, 0x9c06, + 0x15b0, 0x2069, 0x0100, 0x68c0, 0x9005, 0x1160, 0x6824, 0xd084, + 0x0148, 0x6827, 0x0001, 0x080c, 0x8709, 0x080c, 0xa327, 0x7033, + 0x0000, 0x0428, 0x080c, 0x8709, 0x6820, 0xd0b4, 0x0110, 0x68a7, + 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x080c, 0xa327, 0x7033, + 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, 0x2a49, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x7020, + 0x9c36, 0x1110, 0x660c, 0x7622, 0x701c, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x701e, 0x0010, 0x701f, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x89ff, + 0x1168, 0x600f, 0x0000, 0x6014, 0x0096, 0x2048, 0x080c, 0xc863, + 0x0110, 0x080c, 0xe2b9, 0x009e, 0x080c, 0xac2b, 0x080c, 0xa1fd, + 0x88ff, 0x1190, 0x00ce, 0x0804, 0xa218, 0x2c78, 0x600c, 0x2060, + 0x0804, 0xa218, 0x9006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, + 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, + 0x0001, 0x0c88, 0x00f6, 0x00e6, 0x00d6, 0x0096, 0x00c6, 0x0066, + 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7648, + 0x2660, 0x2678, 0x8cff, 0x0904, 0xa316, 0x6020, 0x9086, 0x0006, + 0x1904, 0xa311, 0x87ff, 0x0128, 0x2700, 0x9c06, 0x1904, 0xa311, + 0x0040, 0x6010, 0x9b06, 0x15e8, 0x85ff, 0x0118, 0x605c, 0x9106, + 0x15c0, 0x704c, 0x9c06, 0x1168, 0x0036, 0x2019, 0x0001, 0x080c, + 0xa133, 0x703f, 0x0000, 0x9006, 0x704e, 0x706a, 0x7052, 0x706e, + 0x003e, 0x7048, 0x9c36, 0x1110, 0x660c, 0x764a, 0x7044, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7046, 0x0010, 0x7047, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x6014, 0x2048, 0x080c, 0xc863, 0x0110, + 0x080c, 0xe2b9, 0x080c, 0xac2b, 0x87ff, 0x1198, 0x00ce, 0x0804, + 0xa2c2, 0x2c78, 0x600c, 0x2060, 0x0804, 0xa2c2, 0x9006, 0x012e, + 0x000e, 0x002e, 0x006e, 0x00ce, 0x009e, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x601b, 0x0000, 0x00ce, 0x97bd, 0x0001, 0x0c80, 0x00e6, + 0x2071, 0x19e6, 0x9006, 0x7032, 0x700a, 0x7004, 0x9086, 0x0003, + 0x0158, 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1118, 0x7007, + 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, + 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, + 0x19e6, 0x2c10, 0x7648, 0x2660, 0x2678, 0x8cff, 0x0540, 0x2200, + 0x9c06, 0x1508, 0x7048, 0x9c36, 0x1110, 0x660c, 0x764a, 0x7044, + 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7046, 0x0010, + 0x7047, 0x0000, 0x660c, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x6004, 0x9086, 0x0040, 0x090c, 0x95ff, + 0x9085, 0x0001, 0x0020, 0x2c78, 0x600c, 0x2060, 0x08b0, 0x012e, + 0x000e, 0x002e, 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0096, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2071, 0x19e6, 0x7610, 0x2660, 0x2678, 0x8cff, + 0x0904, 0xa414, 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, + 0x1904, 0xa40f, 0x7030, 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, + 0x9005, 0x0904, 0xa3e6, 0x080c, 0x9e4f, 0x68c3, 0x0000, 0x080c, + 0xa327, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, + 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, + 0x2a49, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x7010, 0x9c36, 0x1110, 0x660c, 0x7612, 0x700c, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700e, 0x0010, 0x700f, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x080c, 0xca69, 0x1180, 0x080c, 0x323e, + 0x080c, 0xca7a, 0x1518, 0x080c, 0xb5c6, 0x0400, 0x080c, 0xa327, + 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xca7a, + 0x1118, 0x080c, 0xb5c6, 0x0090, 0x6014, 0x2048, 0x080c, 0xc863, + 0x0168, 0x6020, 0x9086, 0x0003, 0x1508, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x080c, 0x6d93, 0x080c, 0xca54, 0x080c, 0xccf6, + 0x080c, 0xac2b, 0x080c, 0xa1fd, 0x00ce, 0x0804, 0xa38f, 0x2c78, + 0x600c, 0x2060, 0x0804, 0xa38f, 0x012e, 0x000e, 0x002e, 0x006e, + 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x6020, 0x9086, + 0x0006, 0x1d20, 0x080c, 0xe2b9, 0x0c08, 0x00d6, 0x080c, 0x9b07, + 0x7003, 0x0200, 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, + 0x2099, 0x1988, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, 0x0004, + 0x4003, 0x7023, 0x0004, 0x7027, 0x7878, 0x080c, 0x9e1f, 0x00de, + 0x0005, 0x080c, 0x9b07, 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, + 0x700e, 0x7814, 0x9084, 0x00ff, 0x7022, 0x782c, 0x7026, 0x7860, + 0x9084, 0x00ff, 0x9085, 0x0200, 0x7002, 0x7860, 0x9084, 0xff00, + 0x8007, 0x7006, 0x60c2, 0x0804, 0x9e1f, 0x00b6, 0x00d6, 0x0016, + 0x00d6, 0x2f68, 0x2009, 0x0035, 0x080c, 0xcefc, 0x00de, 0x1904, + 0xa4c2, 0x080c, 0x9abc, 0x7003, 0x1300, 0x782c, 0x080c, 0xa5d1, + 0x2068, 0x6820, 0x9086, 0x0003, 0x0560, 0x7810, 0x2058, 0xbaa0, + 0x080c, 0xab5a, 0x11d8, 0x9286, 0x007e, 0x1128, 0x700b, 0x00ff, + 0x700f, 0xfffe, 0x0498, 0x9286, 0x007f, 0x1128, 0x700b, 0x00ff, + 0x700f, 0xfffd, 0x0458, 0x9284, 0xff80, 0x0180, 0x9286, 0x0080, + 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffc, 0x0400, 0x92d8, 0x1000, + 0x2b5c, 0xb810, 0x700a, 0xb814, 0x700e, 0x00c0, 0xb884, 0x700e, + 0x00a8, 0x080c, 0xab5a, 0x1130, 0x7810, 0x2058, 0xb8a0, 0x9082, + 0x007e, 0x0250, 0x00d6, 0x2069, 0x181f, 0x2d04, 0x700a, 0x8d68, + 0x2d04, 0x700e, 0x00de, 0x0010, 0x6034, 0x700e, 0x7838, 0x7012, + 0x783c, 0x7016, 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, 0x9e1f, + 0x00be, 0x0005, 0x781b, 0x0001, 0x7803, 0x0006, 0x001e, 0x00de, + 0x00be, 0x0005, 0x792c, 0x9180, 0x0008, 0x200c, 0x9186, 0x0006, + 0x01c0, 0x9186, 0x0003, 0x0904, 0xa541, 0x9186, 0x0005, 0x0904, + 0xa529, 0x9186, 0x0004, 0x05f0, 0x9186, 0x0008, 0x0904, 0xa532, + 0x7807, 0x0037, 0x782f, 0x0003, 0x7817, 0x1700, 0x080c, 0xa5ae, + 0x0005, 0x080c, 0xa56f, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, + 0x4000, 0x6800, 0x6a44, 0xd2fc, 0x11f8, 0x0002, 0xa509, 0xa514, + 0xa50b, 0xa514, 0xa510, 0xa509, 0xa509, 0xa514, 0xa514, 0xa514, + 0xa514, 0xa509, 0xa509, 0xa509, 0xa509, 0xa509, 0xa514, 0xa509, + 0xa514, 0x080c, 0x0d7d, 0x6824, 0xd0e4, 0x0110, 0xd0cc, 0x0110, + 0x900e, 0x0010, 0x2009, 0x2000, 0x682c, 0x7022, 0x6830, 0x7026, + 0x0804, 0xa568, 0x080c, 0xa56f, 0x00d6, 0x0026, 0x792c, 0x2168, + 0x2009, 0x4000, 0x6a00, 0x9286, 0x0002, 0x1108, 0x900e, 0x0804, + 0xa568, 0x080c, 0xa56f, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, + 0x4000, 0x04b0, 0x04e1, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, + 0x4000, 0x9286, 0x0005, 0x0118, 0x9286, 0x0002, 0x1108, 0x900e, + 0x0438, 0x0469, 0x00d6, 0x0026, 0x792c, 0x2168, 0x6814, 0x6924, + 0xc185, 0x6926, 0x0096, 0x2048, 0xa9ac, 0xa834, 0x9112, 0xa9b0, + 0xa838, 0x009e, 0x9103, 0x7022, 0x7226, 0x792c, 0x9180, 0x0011, + 0x2004, 0xd0fc, 0x1148, 0x9180, 0x0000, 0x2004, 0x908e, 0x0002, + 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, 0x0008, 0x900e, + 0x712a, 0x60c3, 0x0018, 0x002e, 0x00de, 0x0804, 0x9e1f, 0x00b6, + 0x0036, 0x0046, 0x0056, 0x0066, 0x080c, 0x9b07, 0x9006, 0x7003, + 0x0200, 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, 0x2058, 0xb8a0, + 0x080c, 0xab5a, 0x1118, 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, + 0x181f, 0x2d2c, 0x8d68, 0x2d34, 0x90d8, 0x1000, 0x2b5c, 0xbb10, + 0xbc14, 0x00de, 0x0028, 0x901e, 0xbc84, 0x2029, 0x0000, 0x6634, + 0x782c, 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, + 0x7616, 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, + 0x006e, 0x005e, 0x004e, 0x003e, 0x00be, 0x0005, 0x080c, 0x9b07, + 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x700e, 0x60c3, + 0x0008, 0x0804, 0x9e1f, 0x080c, 0x9ab3, 0x7003, 0x1400, 0x7838, + 0x700a, 0x0079, 0x783c, 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, + 0x7834, 0x9084, 0x00ff, 0x8007, 0x701a, 0x60c3, 0x0010, 0x0804, + 0x9e1f, 0x00e6, 0x2071, 0x0240, 0x0006, 0x00f6, 0x2078, 0x7810, + 0x00b6, 0x2058, 0xb8d4, 0xd084, 0x0120, 0x7850, 0x702a, 0x784c, + 0x702e, 0x00be, 0x00fe, 0x000e, 0x00ee, 0x0005, 0x080c, 0x9afe, + 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, + 0x0804, 0x9e1f, 0x00a9, 0x7914, 0x712a, 0x60c3, 0x0000, 0x60a7, + 0x9575, 0x0026, 0x080c, 0x29b4, 0x0228, 0x2011, 0x0101, 0x2204, + 0xc0c5, 0x2012, 0x002e, 0x080c, 0x9e42, 0x080c, 0x8700, 0x0005, + 0x0036, 0x0096, 0x00d6, 0x00e6, 0x7860, 0x2048, 0xaa7c, 0x9296, + 0x00c0, 0x9294, 0xfffd, 0xaa7e, 0xaa80, 0x9294, 0x0300, 0xaa82, + 0xa96c, 0x9194, 0x00ff, 0xab74, 0x9384, 0x00ff, 0x908d, 0xc200, + 0xa96e, 0x9384, 0xff00, 0x9215, 0xaa76, 0xa870, 0xaa78, 0xa87a, + 0xaa72, 0x00d6, 0x2069, 0x0200, 0x080c, 0xa68e, 0x00de, 0x20e9, + 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000a, 0xa860, 0x20e0, 0xa85c, + 0x9080, 0x001b, 0x2098, 0x4003, 0x60a3, 0x0035, 0xaa68, 0x9294, + 0x7000, 0x9286, 0x3000, 0x0110, 0x60a3, 0x0037, 0x00ee, 0x00de, + 0x009e, 0x003e, 0x0005, 0x900e, 0x7814, 0x0096, 0x2048, 0xa87c, + 0xd0fc, 0x01c0, 0x9084, 0x0003, 0x11a8, 0x2001, 0x180c, 0x2004, + 0xd0bc, 0x0180, 0x7824, 0xd0cc, 0x1168, 0xd0c4, 0x1158, 0xa8a8, + 0x9005, 0x1140, 0x2001, 0x180c, 0x200c, 0xc1d5, 0x2102, 0x2009, + 0x19b1, 0x210c, 0x009e, 0x918d, 0x0092, 0x0010, 0x2009, 0x0096, + 0x60ab, 0x0036, 0x0026, 0x2110, 0x900e, 0x080c, 0x2a92, 0x002e, + 0x0005, 0x2009, 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, 0x2009, + 0x000b, 0x0070, 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, 0x0040, + 0x2009, 0x000e, 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, 0x0008, + 0x6912, 0x0005, 0x080c, 0x9abc, 0x0016, 0x0026, 0x0096, 0x00d6, + 0x7814, 0x2048, 0x7013, 0x0138, 0x2001, 0x1837, 0x2004, 0x9084, + 0x0028, 0x1138, 0x2001, 0x197b, 0x2004, 0x9086, 0xaaaa, 0x1904, + 0xa733, 0x7003, 0x5400, 0x00c6, 0x2061, 0x1800, 0x607c, 0x9084, + 0x00ff, 0xa998, 0x810f, 0x918c, 0xff00, 0x9105, 0x700a, 0x6080, + 0x700e, 0xa998, 0x918c, 0xff00, 0x7112, 0x20a9, 0x0004, 0x2009, + 0x1805, 0x2e10, 0x9290, 0x0006, 0x2104, 0x2012, 0x8108, 0x8210, + 0x1f04, 0xa6c4, 0x20a9, 0x0004, 0x2009, 0x1801, 0x2104, 0x2012, + 0x8108, 0x8210, 0x1f04, 0xa6ce, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x0029, 0x2098, 0x2009, 0x0006, 0x20a9, 0x0001, 0x4002, 0x8007, + 0x2012, 0x8210, 0x8109, 0x1dc0, 0x00d6, 0x2069, 0x0200, 0x080c, + 0xa679, 0x00de, 0x2071, 0x0240, 0x2011, 0x0240, 0x2009, 0x0002, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, - 0x20a9, 0x0004, 0x2009, 0x1805, 0x2104, 0x2012, 0x8108, 0x8210, - 0x1f04, 0xa774, 0x20a9, 0x0002, 0x2009, 0x1801, 0x2104, 0x2012, - 0x8108, 0x8210, 0x1f04, 0xa77e, 0x00d6, 0x0016, 0x2069, 0x0200, - 0x080c, 0xa668, 0x001e, 0x00de, 0x2071, 0x0240, 0x20a9, 0x0002, - 0x2009, 0x1803, 0x2011, 0x0240, 0x2104, 0x2012, 0x8108, 0x8210, - 0x1f04, 0xa794, 0x2009, 0x0008, 0x4002, 0x8007, 0x2012, 0x8210, - 0x8109, 0x1dd0, 0x9006, 0x20a9, 0x0008, 0x2012, 0x8210, 0x1f04, - 0xa7a5, 0x00ce, 0x60c3, 0x004c, 0x60a3, 0x0056, 0x60a7, 0x9575, - 0x080c, 0x9de6, 0x080c, 0x86cc, 0x00de, 0x009e, 0x002e, 0x001e, - 0x0005, 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, - 0x0200, 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, - 0x0020, 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, - 0x4004, 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, - 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00a6, 0x0096, 0x0066, - 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7610, 0x2660, 0x2678, - 0x8cff, 0x0904, 0xa865, 0x7030, 0x9c06, 0x1520, 0x2069, 0x0100, - 0x68c0, 0x9005, 0x0904, 0xa837, 0x080c, 0x9e16, 0x68c3, 0x0000, - 0x080c, 0xa31a, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, - 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a29, 0x9006, - 0x080c, 0x2a29, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, - 0x0001, 0x003e, 0x7010, 0x9c36, 0x1110, 0x660c, 0x7612, 0x700c, - 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700e, 0x0010, - 0x700f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, - 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xca36, 0x1180, 0x080c, - 0x321e, 0x080c, 0xca47, 0x1518, 0x080c, 0xb5a6, 0x0400, 0x080c, - 0xa31a, 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, - 0xca47, 0x1118, 0x080c, 0xb5a6, 0x0090, 0x6014, 0x2048, 0x080c, - 0xc830, 0x0168, 0x6020, 0x9086, 0x0003, 0x1520, 0xa867, 0x0103, - 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d7b, 0x080c, 0xca21, 0x080c, - 0xccc3, 0x080c, 0xac1a, 0x080c, 0xa1f0, 0x00ce, 0x0804, 0xa7e8, - 0x2c78, 0x600c, 0x2060, 0x0804, 0xa7e8, 0x7013, 0x0000, 0x700f, - 0x0000, 0x012e, 0x006e, 0x009e, 0x00ae, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1d08, 0x080c, 0xe27c, - 0x08f0, 0x00f6, 0x0036, 0x2079, 0x0380, 0x7b18, 0xd3bc, 0x1de8, - 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x003e, 0x00fe, 0x0005, - 0x0016, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, - 0x1188, 0x2001, 0x0015, 0x0c29, 0x2009, 0x1000, 0x2001, 0x0382, - 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, 0x0120, 0x8109, 0x1db0, - 0x080c, 0x0d7d, 0x001e, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, - 0x0007, 0x9086, 0x0003, 0x1120, 0x2001, 0x0380, 0x2003, 0x0001, - 0x0005, 0x0156, 0x0016, 0x0026, 0x00e6, 0x900e, 0x2071, 0x19e6, - 0x0469, 0x0106, 0x0190, 0x7004, 0x9086, 0x0003, 0x0148, 0x20a9, - 0x1000, 0x6044, 0xd0fc, 0x01d8, 0x1f04, 0xa8c1, 0x080c, 0x0d7d, - 0x080c, 0xa888, 0x6044, 0xd0fc, 0x0190, 0x7030, 0x9c06, 0x1148, - 0x080c, 0x95c6, 0x6044, 0xd0dc, 0x0150, 0xc0dc, 0x6046, 0x700a, - 0x7042, 0x704c, 0x9c06, 0x190c, 0x0d7d, 0x080c, 0x9621, 0x010e, - 0x1919, 0x00ee, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, 0x0382, - 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, 0x0005, 0x0126, 0x2091, - 0x2400, 0x7808, 0xd0a4, 0x190c, 0x0d76, 0xd09c, 0x0128, 0x7820, - 0x908c, 0xf000, 0x11b8, 0x0012, 0x012e, 0x0005, 0xa90e, 0xa94c, - 0xa973, 0xa9aa, 0xa9ba, 0xa9cb, 0xa9da, 0xa9e8, 0xaa15, 0xaa19, - 0xa90e, 0xa90e, 0xa90e, 0xa90e, 0xa90e, 0xa90e, 0x080c, 0x0d7d, - 0x012e, 0x0005, 0x2060, 0x6044, 0xd0bc, 0x0140, 0xc0bc, 0x6046, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0012, 0x012e, 0x0005, - 0xa933, 0xa935, 0xa933, 0xa93b, 0xa933, 0xa933, 0xa933, 0xa933, - 0xa933, 0xa935, 0xa933, 0xa935, 0xa933, 0xa935, 0xa933, 0xa933, - 0xa933, 0xa935, 0xa933, 0x080c, 0x0d7d, 0x2009, 0x0013, 0x080c, - 0xac7c, 0x012e, 0x0005, 0x6014, 0x2048, 0xa87c, 0xd0dc, 0x0130, - 0x080c, 0x88a3, 0x080c, 0xabdf, 0x012e, 0x0005, 0x2009, 0x0049, - 0x080c, 0xac7c, 0x012e, 0x0005, 0x080c, 0xa888, 0x2001, 0x1a0b, - 0x2003, 0x0000, 0x7030, 0x9065, 0x090c, 0x0d7d, 0x7034, 0x9092, - 0x00c8, 0x1258, 0x8000, 0x7036, 0x7004, 0x9086, 0x0003, 0x0110, - 0x7007, 0x0000, 0x781f, 0x0808, 0x0040, 0x080c, 0xe727, 0x6003, - 0x0001, 0x2009, 0x0014, 0x080c, 0xac7c, 0x781f, 0x0100, 0x080c, - 0xa8a4, 0x012e, 0x0005, 0x080c, 0xa888, 0x714c, 0x81ff, 0x1128, - 0x2011, 0x1a0e, 0x2013, 0x0000, 0x0438, 0x2061, 0x0100, 0x7150, - 0x9192, 0x7530, 0x12f0, 0x8108, 0x7152, 0x714c, 0x9188, 0x0008, - 0x210c, 0x918e, 0x0006, 0x1138, 0x6014, 0x9084, 0x1984, 0x9085, - 0x0012, 0x6016, 0x0088, 0x714c, 0x9188, 0x0008, 0x210c, 0x918e, - 0x0009, 0x0d90, 0x6014, 0x9084, 0x1984, 0x9085, 0x0016, 0x6016, - 0x0018, 0x706c, 0xc085, 0x706e, 0x781f, 0x0200, 0x080c, 0xa8a4, - 0x012e, 0x0005, 0x080c, 0xa888, 0x714c, 0x2160, 0x6003, 0x0003, - 0x2009, 0x004a, 0x080c, 0xac7c, 0x781f, 0x0200, 0x080c, 0xa8a4, - 0x012e, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x2060, 0x6003, - 0x0003, 0x080c, 0xa888, 0x080c, 0x1d6d, 0x781f, 0x0400, 0x080c, - 0xa8a4, 0x012e, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x2060, - 0x080c, 0xa888, 0x080c, 0x1db5, 0x781f, 0x0400, 0x080c, 0xa8a4, - 0x012e, 0x0005, 0x7030, 0x9065, 0x0148, 0x6044, 0xc0bc, 0x6046, - 0x7104, 0x9186, 0x0003, 0x0110, 0x080c, 0x9685, 0x012e, 0x0005, - 0x00f6, 0x703c, 0x9086, 0x0002, 0x0528, 0x704c, 0x907d, 0x0510, - 0x7844, 0xc0bc, 0x7846, 0x7820, 0x9086, 0x0009, 0x0118, 0x080c, - 0x9d40, 0x00c0, 0x7828, 0xd0fc, 0x1118, 0x080c, 0x9cbf, 0x0090, - 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x1130, 0x2001, 0x197b, - 0x2004, 0x9086, 0xaaaa, 0x1120, 0x2001, 0x0387, 0x2003, 0x1000, - 0x080c, 0x9c44, 0x00fe, 0x012e, 0x0005, 0x080c, 0x7569, 0x012e, - 0x0005, 0x080c, 0x0d7d, 0x0005, 0x00e6, 0x2071, 0x19e6, 0x6044, - 0xc0bc, 0x6046, 0xd0fc, 0x01b8, 0x704c, 0x9c06, 0x1190, 0x2019, - 0x0001, 0x080c, 0xa0fa, 0x704f, 0x0000, 0x2001, 0x0109, 0x2004, - 0xd08c, 0x1138, 0x2001, 0x0108, 0x2004, 0xd0bc, 0x1110, 0x703f, - 0x0000, 0x080c, 0xa331, 0x00ee, 0x0005, 0x0026, 0x7010, 0x9c06, - 0x1178, 0x080c, 0xa1f0, 0x6044, 0xc0fc, 0x6046, 0x600c, 0x9015, - 0x0120, 0x7212, 0x600f, 0x0000, 0x0010, 0x7212, 0x720e, 0x9006, - 0x002e, 0x0005, 0x0026, 0x7020, 0x9c06, 0x1178, 0x080c, 0xa1f0, - 0x6044, 0xc0fc, 0x6046, 0x600c, 0x9015, 0x0120, 0x7222, 0x600f, - 0x0000, 0x0010, 0x7222, 0x721e, 0x9006, 0x002e, 0x0005, 0x00d6, - 0x0036, 0x7830, 0x9c06, 0x1558, 0x2069, 0x0100, 0x68c0, 0x9005, - 0x01f8, 0x080c, 0x86d5, 0x080c, 0x9e16, 0x68c3, 0x0000, 0x080c, - 0xa31a, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2a29, 0x9006, 0x080c, 0x2a29, 0x2069, 0x0100, - 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x9085, 0x0001, 0x0038, - 0x7808, 0xc0ad, 0x780a, 0x6003, 0x0009, 0x630a, 0x9006, 0x003e, - 0x00de, 0x0005, 0x0016, 0x0026, 0x0036, 0x6100, 0x2019, 0x0100, - 0x2001, 0x0382, 0x2004, 0xd09c, 0x0190, 0x00c6, 0x0126, 0x2091, - 0x2800, 0x0016, 0x0036, 0x080c, 0xa8ee, 0x003e, 0x001e, 0x012e, - 0x00ce, 0x6200, 0x2200, 0x9106, 0x0d58, 0x2200, 0x0010, 0x8319, - 0x1d38, 0x003e, 0x002e, 0x001e, 0x0005, 0x00d6, 0x0156, 0x080c, - 0x9ace, 0x7a14, 0x82ff, 0x0138, 0x7003, 0x0100, 0x700b, 0x0003, - 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, 0x7007, 0x0000, 0x2069, - 0x1800, 0x901e, 0x6800, 0x9086, 0x0004, 0x1110, 0xc38d, 0x0060, - 0x080c, 0x74c8, 0x1110, 0xc3ad, 0x0008, 0xc3a5, 0x6adc, 0xd29c, - 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, 0x080c, 0x879a, 0x20a9, - 0x0006, 0x2011, 0xfff4, 0x2019, 0xfff5, 0x2071, 0x0250, 0x2305, - 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, 0x0002, 0x9290, - 0x0002, 0x1f04, 0xaaef, 0x60c3, 0x0020, 0x080c, 0x9de6, 0x015e, - 0x00de, 0x0005, 0x0156, 0x080c, 0x9ace, 0x7a14, 0x82ff, 0x0168, - 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, 0x1238, 0x7003, 0x0100, - 0x700b, 0x0003, 0x60c3, 0x0008, 0x0488, 0x7003, 0x0200, 0x7007, - 0x001c, 0x700f, 0x0001, 0x2011, 0x19bc, 0x2204, 0x8007, 0x701a, - 0x8210, 0x2204, 0x8007, 0x701e, 0x0421, 0x1120, 0xb8a0, 0x9082, - 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x7022, 0x2001, 0x1820, - 0x2004, 0x7026, 0x0030, 0x2001, 0x1818, 0x2004, 0x9084, 0x00ff, - 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, - 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x015e, 0x0804, - 0x9de6, 0x0006, 0x2001, 0x1837, 0x2004, 0xd0ac, 0x000e, 0x0005, - 0x2011, 0x0003, 0x080c, 0xa1b1, 0x2011, 0x0002, 0x080c, 0xa1bb, - 0x080c, 0xa07a, 0x0036, 0x901e, 0x080c, 0xa0fa, 0x003e, 0x0005, - 0x080c, 0x3361, 0x0188, 0x0016, 0x00b6, 0x00c6, 0x7010, 0x9085, - 0x0020, 0x7012, 0x2009, 0x007e, 0x080c, 0x6620, 0xb85c, 0xc0ac, - 0xb85e, 0x00ce, 0x00be, 0x001e, 0x0005, 0x2071, 0x188d, 0x7000, - 0x9005, 0x0140, 0x2001, 0x0812, 0x2071, 0x1800, 0x7076, 0x707a, - 0x706b, 0xffd4, 0x2071, 0x1800, 0x7074, 0x7056, 0x705b, 0x1ddc, - 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7554, - 0x9582, 0x0010, 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, - 0x0148, 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, - 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7556, 0x9ca8, 0x001c, - 0x7068, 0x9502, 0x1230, 0x755a, 0x9085, 0x0001, 0x012e, 0x00ee, - 0x0005, 0x705b, 0x1ddc, 0x0cc0, 0x9006, 0x0cc0, 0x00e6, 0x2071, - 0x1800, 0x7554, 0x9582, 0x0010, 0x0600, 0x7058, 0x2060, 0x6000, - 0x9086, 0x0000, 0x0148, 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1208, - 0x0cb0, 0x2061, 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7556, - 0x9ca8, 0x001c, 0x7068, 0x9502, 0x1228, 0x755a, 0x9085, 0x0001, - 0x00ee, 0x0005, 0x705b, 0x1ddc, 0x0cc8, 0x9006, 0x0cc8, 0x9c82, - 0x1ddc, 0x0a0c, 0x0d7d, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1a0c, - 0x0d7d, 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, 0x601a, 0x6012, - 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, 0x605e, 0x6062, 0x6026, - 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, 0x604a, 0x602a, - 0x6046, 0x6042, 0x2061, 0x1800, 0x6054, 0x8000, 0x6056, 0x0005, - 0x9006, 0x600e, 0x6016, 0x601a, 0x6012, 0x6022, 0x6002, 0x601e, - 0x605e, 0x6062, 0x604a, 0x6046, 0x2061, 0x1800, 0x6054, 0x8000, - 0x6056, 0x0005, 0x0006, 0x6000, 0x9086, 0x0000, 0x01d0, 0x601c, - 0xd084, 0x190c, 0x1a77, 0x6023, 0x0007, 0x2001, 0x1985, 0x2004, - 0x0006, 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, 0x601a, 0x080c, - 0xe534, 0x604b, 0x0000, 0x6044, 0xd0fc, 0x1129, 0x9006, 0x6046, - 0x6016, 0x000e, 0x0005, 0x080c, 0xa888, 0x0106, 0x2001, 0x19f9, - 0x2004, 0x9c06, 0x1130, 0x0036, 0x2019, 0x0001, 0x080c, 0xa0fa, - 0x003e, 0x080c, 0xa331, 0x010e, 0x090c, 0xa8a4, 0x0005, 0x00e6, - 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7554, 0x9582, 0x0001, - 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, - 0x001c, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1ddc, 0x0c98, - 0x6003, 0x0008, 0x8529, 0x7556, 0x9ca8, 0x001c, 0x7068, 0x9502, - 0x1230, 0x755a, 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x705b, - 0x1ddc, 0x0cc0, 0x9006, 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, - 0xac90, 0xac9a, 0xacb5, 0xacd0, 0xcfa4, 0xcfc1, 0xcfdc, 0xac90, - 0xac9a, 0x8f7c, 0xacec, 0xac90, 0xac90, 0xac90, 0xac90, 0xac90, - 0x9186, 0x0013, 0x1130, 0x6044, 0xd0fc, 0x0110, 0x080c, 0x95c6, - 0x0005, 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d7d, - 0x0013, 0x006e, 0x0005, 0xacb3, 0xb412, 0xb5ed, 0xacb3, 0xb683, - 0xafb5, 0xacb3, 0xacb3, 0xb394, 0xbbed, 0xacb3, 0xacb3, 0xacb3, - 0xacb3, 0xacb3, 0xacb3, 0x080c, 0x0d7d, 0x0066, 0x6000, 0x90b2, - 0x0016, 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0xacce, 0xc1f2, - 0xacce, 0xacce, 0xacce, 0xacce, 0xacce, 0xacce, 0xc197, 0xc375, - 0xacce, 0xc22f, 0xc2b3, 0xc22f, 0xc2b3, 0xacce, 0x080c, 0x0d7d, - 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d7d, 0x6000, 0x0002, 0xacea, - 0xbc37, 0xbcce, 0xbe4e, 0xbebd, 0xacea, 0xacea, 0xacea, 0xbc06, - 0xc118, 0xc11b, 0xacea, 0xacea, 0xacea, 0xacea, 0xc14b, 0xacea, - 0xacea, 0xacea, 0x080c, 0x0d7d, 0x0066, 0x6000, 0x90b2, 0x0016, - 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0xad05, 0xad05, 0xad43, - 0xade2, 0xae62, 0xad05, 0xad05, 0xad05, 0xad07, 0xad05, 0xad05, - 0xad05, 0xad05, 0xad05, 0xad05, 0xad05, 0x080c, 0x0d7d, 0x9186, - 0x004c, 0x0560, 0x9186, 0x0003, 0x190c, 0x0d7d, 0x0096, 0x601c, - 0xc0ed, 0x601e, 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa87c, - 0x9084, 0xa000, 0xc0b5, 0xa87e, 0xa8ac, 0xa836, 0xa8b0, 0xa83a, - 0x9006, 0xa846, 0xa84a, 0xa884, 0x9092, 0x199a, 0x0210, 0x2001, - 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, 0x009e, 0x080c, - 0x1bc7, 0x2009, 0x8030, 0x080c, 0x9247, 0x0005, 0x6010, 0x00b6, - 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, 0xae84, 0x080c, 0xcf69, - 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, 0x00f6, 0x2079, 0x1800, - 0x7a90, 0x6014, 0x2048, 0xa87c, 0xd0ec, 0x1110, 0x9290, 0x0018, - 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, 0x1140, 0xa8dc, 0x921a, - 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, 0x0028, 0xa87b, 0x0015, - 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, 0x0000, 0xaa02, 0x0006, - 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2400, 0x9005, - 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, 0x1118, 0x2001, 0x0001, - 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, 0x2001, 0x0001, 0x002a, - 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, 0xadaa, 0xadaa, 0xada5, - 0xada8, 0xadaa, 0xada2, 0xad95, 0xad95, 0xad95, 0xad95, 0xad95, - 0xad95, 0xad95, 0xad95, 0xad95, 0xad95, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, 0x00fe, 0x009e, 0x00de, - 0x080c, 0x0d7d, 0x080c, 0xb842, 0x0028, 0x080c, 0xb927, 0x0010, - 0x080c, 0xba1d, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, - 0x2c00, 0xa896, 0x000e, 0x080c, 0xaf42, 0x0530, 0xa804, 0xa80e, - 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xaacc, 0xabd0, 0xacd4, - 0xadd8, 0x2031, 0x0000, 0x2041, 0x12a3, 0x080c, 0xb103, 0x0160, - 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, 0x00de, 0x0005, 0x00fe, - 0x009e, 0x00de, 0x0804, 0xabdf, 0x2001, 0x002c, 0x900e, 0x080c, - 0xafa8, 0x0c70, 0x91b6, 0x0015, 0x0170, 0x91b6, 0x0016, 0x0158, - 0x91b2, 0x0047, 0x0a0c, 0x0d7d, 0x91b2, 0x0050, 0x1a0c, 0x0d7d, - 0x9182, 0x0047, 0x0042, 0x080c, 0xaa9a, 0x0120, 0x9086, 0x0002, - 0x0904, 0xad43, 0x0005, 0xae04, 0xae04, 0xae06, 0xae38, 0xae04, - 0xae04, 0xae04, 0xae04, 0xae4b, 0x080c, 0x0d7d, 0x00d6, 0x0016, - 0x0096, 0x6003, 0x0004, 0x6114, 0x2148, 0xa87c, 0xd0fc, 0x01c0, - 0xa878, 0xc0fc, 0x9005, 0x1158, 0xa894, 0x9005, 0x0140, 0x2001, - 0x0000, 0x900e, 0x080c, 0xafa8, 0x080c, 0xabdf, 0x00a8, 0x6003, - 0x0002, 0xa8a4, 0xa9a8, 0x9105, 0x1178, 0xa8ae, 0xa8b2, 0x0c78, - 0xa87f, 0x0020, 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, 0xa8b2, - 0xa8c7, 0x0000, 0xa8cb, 0x0000, 0x009e, 0x001e, 0x00de, 0x0005, - 0x080c, 0x9621, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xc832, - 0x0120, 0xa87b, 0x0006, 0x080c, 0x6d7b, 0x009e, 0x00de, 0x080c, - 0xabdf, 0x0804, 0x9684, 0x080c, 0x9621, 0x080c, 0x31ef, 0x080c, - 0xcf66, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xc832, 0x0120, - 0xa87b, 0x0029, 0x080c, 0x6d7b, 0x009e, 0x00de, 0x080c, 0xabdf, - 0x0804, 0x9684, 0x9182, 0x0047, 0x0002, 0xae72, 0xae74, 0xae72, - 0xae72, 0xae72, 0xae72, 0xae72, 0xae72, 0xae72, 0xae72, 0xae72, - 0xae72, 0xae74, 0x080c, 0x0d7d, 0x00d6, 0x0096, 0x601f, 0x0000, - 0x6114, 0x2148, 0xa87b, 0x0000, 0xa883, 0x0000, 0x080c, 0x6d7b, - 0x009e, 0x00de, 0x0804, 0xabdf, 0x0026, 0x0036, 0x0056, 0x0066, - 0x0096, 0x00a6, 0x00f6, 0x0006, 0x080c, 0x103a, 0x000e, 0x090c, - 0x0d7d, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, - 0x20a9, 0x0020, 0x4104, 0xa87a, 0x2079, 0x1800, 0x7990, 0x9188, - 0x0018, 0x918c, 0x0fff, 0xa972, 0xac76, 0x2950, 0x00a6, 0x2001, - 0x0205, 0x2003, 0x0000, 0x901e, 0x2029, 0x0001, 0x9182, 0x0034, - 0x1228, 0x2011, 0x001f, 0x080c, 0xc3f8, 0x04c0, 0x2130, 0x2009, - 0x0034, 0x2011, 0x001f, 0x080c, 0xc3f8, 0x96b2, 0x0034, 0xb004, - 0x904d, 0x0110, 0x080c, 0x0fec, 0x080c, 0x103a, 0x01d0, 0x8528, - 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, - 0x1230, 0x2608, 0x2011, 0x001b, 0x080c, 0xc3f8, 0x00b8, 0x96b2, - 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, 0x080c, 0xc3f8, - 0x0c18, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, - 0x0050, 0xb566, 0xb070, 0xc0fd, 0xb072, 0x0048, 0x2001, 0x0205, - 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, 0x2a48, - 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x6d7b, 0x000e, 0x2048, - 0x9005, 0x1db0, 0x00fe, 0x00ae, 0x009e, 0x006e, 0x005e, 0x003e, - 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0096, 0x0006, 0x080c, 0x103a, - 0x000e, 0x090c, 0x0d7d, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, - 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, 0xaa66, 0xa87a, 0x2079, - 0x1800, 0x7990, 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, - 0x2009, 0x001a, 0x21a8, 0x810b, 0xa972, 0xac76, 0x2e98, 0xa85c, - 0x9080, 0x001f, 0x20a0, 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, - 0x2102, 0x4003, 0x2003, 0x0000, 0x080c, 0x6d7b, 0x009e, 0x00fe, - 0x00de, 0x0005, 0x0016, 0x00d6, 0x00f6, 0x0096, 0x0016, 0x2001, - 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x001e, 0x2079, 0x0200, - 0x2e98, 0xa87c, 0xd0ec, 0x0118, 0x9e80, 0x000c, 0x2098, 0x2021, - 0x003e, 0x901e, 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, 0x2018, - 0x9486, 0x003e, 0x1170, 0x0096, 0x080c, 0x103a, 0x2900, 0x009e, - 0x05c0, 0xa806, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, - 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, 0x9102, - 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, 0x1228, - 0x2400, 0x9202, 0x2410, 0x9318, 0x9006, 0x2020, 0x22a8, 0xa800, - 0x9200, 0xa802, 0x20e1, 0x0000, 0x4003, 0x83ff, 0x0180, 0x3300, - 0x9086, 0x0280, 0x1130, 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, - 0x2e98, 0x2310, 0x84ff, 0x0904, 0xaf57, 0x0804, 0xaf59, 0x9085, - 0x0001, 0x7817, 0x0000, 0x009e, 0x00fe, 0x00de, 0x001e, 0x0005, - 0x00d6, 0x0036, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x080c, - 0x6d6f, 0x009e, 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, - 0x080c, 0xabdf, 0x0030, 0x91b6, 0x0016, 0x190c, 0x0d7d, 0x080c, - 0xabdf, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, - 0x0096, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x20a0, 0x009e, 0x4003, - 0x0136, 0x9080, 0x001b, 0x20a0, 0x2011, 0x0006, 0x20a9, 0x0001, - 0x3418, 0x8318, 0x23a0, 0x4003, 0x3318, 0x8318, 0x2398, 0x8211, - 0x1db8, 0x2011, 0x0006, 0x013e, 0x20a0, 0x3318, 0x8318, 0x2398, - 0x4003, 0x3418, 0x8318, 0x23a0, 0x8211, 0x1db8, 0x0096, 0x080c, - 0xc832, 0x0130, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0x009e, 0x0804, 0xabdf, 0x0096, 0x00d6, 0x0036, 0x7330, 0x9386, - 0x0200, 0x11a8, 0x6010, 0x00b6, 0x2058, 0xb8d7, 0x0000, 0x00be, - 0x6014, 0x9005, 0x0130, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xab32, 0x080c, 0xabdf, 0x003e, 0x00de, 0x009e, 0x0005, 0x0011, - 0x1d48, 0x0cc8, 0x0006, 0x0016, 0x080c, 0xcf51, 0x0188, 0x6014, - 0x9005, 0x1170, 0x600b, 0x0003, 0x601b, 0x0000, 0x604b, 0x0000, - 0x2009, 0x0022, 0x080c, 0xb3ea, 0x9006, 0x001e, 0x000e, 0x0005, - 0x9085, 0x0001, 0x0cd0, 0x0096, 0x0016, 0x20a9, 0x0014, 0x9e80, - 0x000c, 0x20e1, 0x0000, 0x2098, 0x6014, 0x2048, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, - 0x0001, 0x2099, 0x0260, 0x20a9, 0x0016, 0x4003, 0x20a9, 0x000a, - 0xa804, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, - 0x4003, 0x2001, 0x0205, 0x2003, 0x0002, 0x2099, 0x0260, 0x20a9, - 0x0020, 0x4003, 0x2003, 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, - 0xa867, 0x0103, 0x080c, 0xabdf, 0x001e, 0x009e, 0x0005, 0x0096, - 0x0016, 0x900e, 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, - 0x00ff, 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, - 0x9108, 0x810b, 0x2011, 0x0002, 0x2019, 0x000c, 0x6014, 0x2048, - 0x080c, 0xc3f8, 0x080c, 0xc832, 0x0140, 0x6014, 0x2048, 0xa807, - 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0xabdf, 0x001e, - 0x009e, 0x0005, 0x0016, 0x2009, 0x0000, 0x7030, 0x9086, 0x0200, - 0x0110, 0x2009, 0x0001, 0x0096, 0x6014, 0x904d, 0x090c, 0x0d7d, - 0xa97a, 0x080c, 0x6d7b, 0x009e, 0x080c, 0xabdf, 0x001e, 0x0005, - 0x0016, 0x0096, 0x7030, 0x9086, 0x0100, 0x1118, 0x2009, 0x0004, - 0x0010, 0x7034, 0x800c, 0x810b, 0x2011, 0x000c, 0x2019, 0x000c, - 0x6014, 0x2048, 0xa804, 0x0096, 0x9005, 0x0108, 0x2048, 0x080c, - 0xc3f8, 0x009e, 0x080c, 0xc832, 0x0148, 0xa804, 0x9005, 0x1158, - 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0xabdf, - 0x009e, 0x001e, 0x0005, 0x0086, 0x2040, 0xa030, 0x8007, 0x9086, - 0x0100, 0x1118, 0x080c, 0xb5a6, 0x00e0, 0xa034, 0x8007, 0x800c, - 0x8806, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, - 0x000c, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xaaa0, - 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1289, 0x0019, - 0x0d08, 0x008e, 0x0898, 0x0096, 0x0006, 0x080c, 0x103a, 0x000e, - 0x01b0, 0xa8ab, 0x0dcb, 0xa876, 0x000e, 0xa8a2, 0x0006, 0xae6a, - 0x2800, 0xa89e, 0xa97a, 0xaf72, 0xaa8e, 0xab92, 0xac96, 0xad9a, - 0x0086, 0x2940, 0x080c, 0x112f, 0x008e, 0x9085, 0x0001, 0x009e, - 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, - 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1520, 0x700c, 0x6210, - 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x11e0, 0x604b, 0x0000, - 0x2c68, 0x0016, 0x2009, 0x0035, 0x080c, 0xcec9, 0x001e, 0x1158, - 0x622c, 0x2268, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, 0x0130, - 0x9386, 0x0006, 0x0128, 0x080c, 0xabdf, 0x0020, 0x0039, 0x0010, - 0x080c, 0xb21f, 0x002e, 0x00de, 0x00ee, 0x0005, 0x0096, 0x6814, - 0x2048, 0x9186, 0x0015, 0x0904, 0xb1fe, 0x918e, 0x0016, 0x1904, - 0xb21d, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, - 0x0300, 0x1904, 0xb1d8, 0x89ff, 0x1138, 0x6800, 0x9086, 0x000f, - 0x0904, 0xb1ba, 0x0804, 0xb21b, 0x6808, 0x9086, 0xffff, 0x1904, - 0xb200, 0xa87c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0xa83c, - 0xa940, 0x9105, 0x1904, 0xb200, 0x6824, 0xd0b4, 0x1904, 0xb200, - 0x080c, 0xca21, 0x6864, 0xa882, 0xa87c, 0xc0dc, 0xc0f4, 0xc0d4, - 0xa87e, 0x0026, 0x900e, 0x6a18, 0x2001, 0x000a, 0x080c, 0x9148, - 0xa884, 0x920a, 0x0208, 0x8011, 0xaa86, 0x82ff, 0x002e, 0x1138, - 0x00c6, 0x2d60, 0x080c, 0xc54b, 0x00ce, 0x0804, 0xb21b, 0x00c6, - 0xa868, 0xd0fc, 0x1118, 0x080c, 0x60b6, 0x0010, 0x080c, 0x64ba, - 0x00ce, 0x1904, 0xb200, 0x00c6, 0x2d60, 0x080c, 0xabdf, 0x00ce, - 0x0804, 0xb21b, 0x00c6, 0x080c, 0xac4f, 0x0198, 0x6017, 0x0000, - 0x6810, 0x6012, 0x080c, 0xcccb, 0x6023, 0x0003, 0x6904, 0x00c6, - 0x2d60, 0x080c, 0xabdf, 0x00ce, 0x080c, 0xac7c, 0x00ce, 0x0804, - 0xb21b, 0x2001, 0x1987, 0x2004, 0x684a, 0x00ce, 0x0804, 0xb21b, - 0x7008, 0x9086, 0x000b, 0x11c8, 0x6010, 0x00b6, 0x2058, 0xb900, - 0xc1bc, 0xb902, 0x00be, 0x00c6, 0x2d60, 0xa87b, 0x0003, 0x080c, - 0xcf0b, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, - 0x8020, 0x080c, 0x9200, 0x00ce, 0x0430, 0x700c, 0x9086, 0x2a00, - 0x1138, 0x2001, 0x1987, 0x2004, 0x684a, 0x00e8, 0x04c1, 0x00e8, - 0x89ff, 0x090c, 0x0d7d, 0x00c6, 0x00d6, 0x2d60, 0xa867, 0x0103, - 0xa87b, 0x0003, 0x080c, 0x6b91, 0x080c, 0xca21, 0x080c, 0xac1a, - 0x0026, 0x6010, 0x00b6, 0x2058, 0xba3c, 0x080c, 0x674b, 0x00be, - 0x002e, 0x00de, 0x00ce, 0x080c, 0xabdf, 0x009e, 0x0005, 0x9186, - 0x0015, 0x1128, 0x2001, 0x1987, 0x2004, 0x684a, 0x0068, 0x918e, - 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, 0xe534, 0x080c, - 0x88a3, 0x080c, 0xabdf, 0x00ce, 0x080c, 0xabdf, 0x0005, 0x0026, - 0x0036, 0x0046, 0x7228, 0xacb0, 0xabac, 0xd2f4, 0x0130, 0x2001, - 0x1987, 0x2004, 0x684a, 0x0804, 0xb299, 0x00c6, 0x2d60, 0x080c, - 0xc423, 0x00ce, 0x6804, 0x9086, 0x0050, 0x1168, 0x00c6, 0x2d00, - 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x2009, 0x8023, 0x080c, - 0x9200, 0x00ce, 0x04f0, 0x6800, 0x9086, 0x000f, 0x01a8, 0x89ff, - 0x090c, 0x0d7d, 0x6800, 0x9086, 0x0004, 0x1190, 0xa87c, 0xd0ac, - 0x0178, 0xa843, 0x0fff, 0xa83f, 0x0fff, 0xa880, 0xc0fc, 0xa882, - 0x2001, 0x0001, 0x6832, 0x0400, 0x2001, 0x0007, 0x6832, 0x00e0, - 0xa87c, 0xd0b4, 0x1150, 0xd0ac, 0x0db8, 0x6824, 0xd0f4, 0x1d48, - 0xa838, 0xa934, 0x9105, 0x0d80, 0x0c20, 0xd2ec, 0x1d68, 0x7024, - 0x9306, 0x1118, 0x7020, 0x9406, 0x0d38, 0x7020, 0x683e, 0x7024, - 0x683a, 0x2001, 0x0005, 0x6832, 0x080c, 0xcbb5, 0x080c, 0x9684, - 0x0010, 0x080c, 0xabdf, 0x004e, 0x003e, 0x002e, 0x0005, 0x00e6, - 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, - 0xba10, 0x00be, 0x9206, 0x1904, 0xb304, 0x700c, 0x6210, 0x00b6, - 0x2258, 0xba14, 0x00be, 0x9206, 0x1904, 0xb304, 0x6038, 0x2068, - 0x6824, 0xc0dc, 0x6826, 0x6a20, 0x9286, 0x0007, 0x0904, 0xb304, - 0x9286, 0x0002, 0x0904, 0xb304, 0x9286, 0x0000, 0x05e8, 0x6808, - 0x633c, 0x9306, 0x15c8, 0x2071, 0x026c, 0x9186, 0x0015, 0x0570, - 0x918e, 0x0016, 0x1100, 0x00c6, 0x6038, 0x2060, 0x6104, 0x9186, - 0x004b, 0x01c0, 0x9186, 0x004c, 0x01a8, 0x9186, 0x004d, 0x0190, - 0x9186, 0x004e, 0x0178, 0x9186, 0x0052, 0x0160, 0x6014, 0x0096, - 0x2048, 0x080c, 0xc832, 0x090c, 0x0d7d, 0xa87b, 0x0003, 0x009e, - 0x080c, 0xcf0b, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, - 0x2009, 0x8020, 0x080c, 0x9200, 0x00ce, 0x0030, 0x6038, 0x2070, - 0x2001, 0x1987, 0x2004, 0x704a, 0x080c, 0xabdf, 0x002e, 0x00de, - 0x00ee, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x6014, 0x2048, 0x6010, - 0x2058, 0x91b6, 0x0015, 0x0130, 0xba08, 0xbb0c, 0xbc00, 0xc48c, - 0xbc02, 0x0460, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, - 0x0010, 0x2019, 0x000a, 0x20a9, 0x0004, 0x080c, 0xbbb5, 0x002e, - 0x003e, 0x015e, 0x009e, 0x1904, 0xb373, 0x0096, 0x0156, 0x0036, - 0x0026, 0x2b48, 0x9e90, 0x0014, 0x2019, 0x0006, 0x20a9, 0x0004, - 0x080c, 0xbbb5, 0x002e, 0x003e, 0x015e, 0x009e, 0x15a0, 0x7238, - 0xba0a, 0x733c, 0xbb0e, 0xbc00, 0xc48d, 0xbc02, 0xa804, 0x9005, - 0x1128, 0x00fe, 0x009e, 0x00be, 0x0804, 0xafee, 0x0096, 0x2048, - 0xaa12, 0xab16, 0xac0a, 0x009e, 0x8006, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, - 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1289, 0x080c, - 0xb103, 0x0130, 0x00fe, 0x009e, 0x080c, 0xabdf, 0x00be, 0x0005, - 0x080c, 0xb5a6, 0x0cb8, 0x2b78, 0x00f6, 0x080c, 0x31ef, 0x080c, - 0xcf66, 0x00fe, 0x00c6, 0x080c, 0xab89, 0x2f00, 0x6012, 0x6017, - 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, - 0x0007, 0x080c, 0x6570, 0x080c, 0x659c, 0x080c, 0x9207, 0x080c, - 0x9684, 0x00ce, 0x0804, 0xb346, 0x2100, 0x91b2, 0x0053, 0x1a0c, - 0x0d7d, 0x91b2, 0x0040, 0x1a04, 0xb3fc, 0x0002, 0xb3ea, 0xb3ea, - 0xb3e0, 0xb3ea, 0xb3ea, 0xb3ea, 0xb3de, 0xb3de, 0xb3de, 0xb3de, - 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, - 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, - 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3ea, 0xb3de, 0xb3ea, - 0xb3ea, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3e0, 0xb3de, - 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, - 0xb3ea, 0xb3ea, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, 0xb3de, - 0xb3de, 0xb3de, 0xb3de, 0xb3ea, 0xb3de, 0xb3de, 0x080c, 0x0d7d, - 0x0066, 0x00b6, 0x6610, 0x2658, 0xb8d4, 0xc08c, 0xb8d6, 0x00be, - 0x006e, 0x0000, 0x6003, 0x0001, 0x6106, 0x9186, 0x0032, 0x0118, - 0x080c, 0x9207, 0x0010, 0x080c, 0x9200, 0x0126, 0x2091, 0x8000, - 0x080c, 0x9684, 0x012e, 0x0005, 0x2600, 0x0002, 0xb3ea, 0xb3ea, - 0xb410, 0xb3ea, 0xb3ea, 0xb410, 0xb410, 0xb410, 0xb410, 0xb3ea, - 0xb410, 0xb3ea, 0xb410, 0xb3ea, 0xb410, 0xb410, 0xb410, 0xb410, - 0x080c, 0x0d7d, 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0d7d, 0x91b6, - 0x0013, 0x0904, 0xb4e7, 0x91b6, 0x0027, 0x1904, 0xb493, 0x080c, - 0x95c6, 0x6004, 0x080c, 0xca36, 0x01b0, 0x080c, 0xca47, 0x01a8, - 0x908e, 0x0021, 0x0904, 0xb490, 0x908e, 0x0022, 0x1130, 0x080c, - 0xb01a, 0x0904, 0xb48c, 0x0804, 0xb48d, 0x908e, 0x003d, 0x0904, - 0xb490, 0x0804, 0xb486, 0x080c, 0x321e, 0x2001, 0x0007, 0x080c, - 0x6570, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, 0xb5a6, - 0x9186, 0x007e, 0x1148, 0x2001, 0x1837, 0x2014, 0xc285, 0x080c, - 0x74c8, 0x1108, 0xc2ad, 0x2202, 0x080c, 0xa888, 0x0036, 0x0026, - 0x2019, 0x0028, 0x2110, 0x080c, 0xe640, 0x002e, 0x003e, 0x0016, - 0x0026, 0x0036, 0x2110, 0x2019, 0x0028, 0x080c, 0x938d, 0x0076, - 0x903e, 0x080c, 0x9256, 0x6010, 0x00b6, 0x905d, 0x0100, 0x00be, - 0x2c08, 0x080c, 0xdffb, 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, - 0xa8a4, 0x080c, 0xcf66, 0x0016, 0x080c, 0xccc3, 0x080c, 0xabdf, - 0x001e, 0x080c, 0x32f8, 0x080c, 0x9684, 0x0030, 0x080c, 0xccc3, - 0x080c, 0xabdf, 0x080c, 0x9684, 0x0005, 0x080c, 0xb5a6, 0x0cb0, - 0x080c, 0xb5e2, 0x0c98, 0x9186, 0x0015, 0x0118, 0x9186, 0x0016, - 0x1140, 0x080c, 0xaa9a, 0x0d80, 0x9086, 0x0002, 0x0904, 0xb5ed, - 0x0c58, 0x9186, 0x0014, 0x1d40, 0x080c, 0x95c6, 0x6004, 0x908e, - 0x0022, 0x1118, 0x080c, 0xb01a, 0x09f8, 0x080c, 0x31ef, 0x080c, - 0xcf66, 0x080c, 0xca36, 0x1190, 0x080c, 0x321e, 0x6010, 0x00b6, - 0x2058, 0xb9a0, 0x00be, 0x080c, 0xb5a6, 0x9186, 0x007e, 0x1128, - 0x2001, 0x1837, 0x200c, 0xc185, 0x2102, 0x0800, 0x080c, 0xca47, - 0x1120, 0x080c, 0xb5a6, 0x0804, 0xb486, 0x6004, 0x908e, 0x0032, - 0x1160, 0x00e6, 0x00f6, 0x2071, 0x189e, 0x2079, 0x0000, 0x080c, - 0x3599, 0x00fe, 0x00ee, 0x0804, 0xb486, 0x6004, 0x908e, 0x0021, - 0x0d40, 0x908e, 0x0022, 0x090c, 0xb5a6, 0x0804, 0xb486, 0x90b2, - 0x0040, 0x1a04, 0xb586, 0x2008, 0x0002, 0xb52f, 0xb530, 0xb533, - 0xb536, 0xb539, 0xb53c, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, - 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, - 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, - 0xb52d, 0xb52d, 0xb52d, 0xb53f, 0xb548, 0xb52d, 0xb549, 0xb548, - 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb548, 0xb548, 0xb52d, - 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb52d, 0xb571, - 0xb548, 0xb52d, 0xb544, 0xb52d, 0xb52d, 0xb52d, 0xb545, 0xb52d, - 0xb52d, 0xb52d, 0xb548, 0xb56c, 0xb52d, 0x080c, 0x0d7d, 0x00c0, - 0x2001, 0x000b, 0x00e8, 0x2001, 0x0003, 0x00d0, 0x2001, 0x0005, - 0x00b8, 0x2001, 0x0001, 0x00a0, 0x2001, 0x0009, 0x0088, 0x6003, - 0x0005, 0x080c, 0x9684, 0x0058, 0x0018, 0x0010, 0x080c, 0x6570, - 0x04b8, 0x080c, 0xcf69, 0x6003, 0x0004, 0x080c, 0x9684, 0x0005, - 0x080c, 0x6570, 0x6003, 0x0002, 0x0036, 0x2019, 0x1852, 0x2304, + 0x2009, 0x0008, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, + 0x8109, 0x1dc0, 0xa85c, 0x9080, 0x0031, 0x2098, 0x2009, 0x0008, + 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, 0x1dc0, + 0x00ce, 0x60c3, 0x004c, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x2001, + 0x1837, 0x2004, 0x9084, 0x0028, 0x1168, 0x080c, 0x74ec, 0x0150, + 0x6028, 0xc0bd, 0x602a, 0x2009, 0x1804, 0x2011, 0x0029, 0x080c, + 0x2a92, 0x0010, 0x080c, 0x9e1f, 0x080c, 0x8700, 0x00de, 0x009e, + 0x002e, 0x001e, 0x0005, 0x00e6, 0x2071, 0x0240, 0x2001, 0x2200, + 0x9085, 0x00ff, 0x7002, 0x7007, 0xffff, 0x2071, 0x0100, 0x709b, + 0x00ff, 0x00ee, 0x0804, 0xa6a9, 0x080c, 0x9abc, 0x0016, 0x0026, + 0x0096, 0x00d6, 0x7814, 0x2048, 0x7013, 0x0138, 0x7003, 0x5500, + 0x00c6, 0xa89c, 0x9084, 0x00ff, 0xa998, 0x810f, 0x918c, 0xff00, + 0x9105, 0x700a, 0xa99c, 0x918c, 0xff00, 0xa8a0, 0x9084, 0x00ff, + 0x9105, 0x700e, 0xa998, 0x918c, 0xff00, 0x2061, 0x1800, 0x607c, + 0x9084, 0x00ff, 0x910d, 0x7112, 0x6180, 0x7116, 0x2009, 0x0008, + 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0029, 0x2098, 0x2e10, 0x9290, + 0x0006, 0x20a9, 0x0001, 0x4002, 0x8007, 0x2012, 0x8210, 0x8109, + 0x1dc0, 0x20a9, 0x0004, 0x2009, 0x1805, 0x2104, 0x2012, 0x8108, + 0x8210, 0x1f04, 0xa785, 0x20a9, 0x0002, 0x2009, 0x1801, 0x2104, + 0x2012, 0x8108, 0x8210, 0x1f04, 0xa78f, 0x00d6, 0x0016, 0x2069, + 0x0200, 0x080c, 0xa679, 0x001e, 0x00de, 0x2071, 0x0240, 0x20a9, + 0x0002, 0x2009, 0x1803, 0x2011, 0x0240, 0x2104, 0x2012, 0x8108, + 0x8210, 0x1f04, 0xa7a5, 0x2009, 0x0008, 0x4002, 0x8007, 0x2012, + 0x8210, 0x8109, 0x1dd0, 0x9006, 0x20a9, 0x0008, 0x2012, 0x8210, + 0x1f04, 0xa7b6, 0x00ce, 0x60c3, 0x004c, 0x60a3, 0x0056, 0x60a7, + 0x9575, 0x080c, 0x9e1f, 0x080c, 0x8700, 0x00de, 0x009e, 0x002e, + 0x001e, 0x0005, 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, 0x0000, + 0x2069, 0x0200, 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, 0x0128, + 0x20a9, 0x0020, 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, 0x0240, + 0x9006, 0x4004, 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, 0x0c60, + 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00a6, 0x0096, + 0x0066, 0x0126, 0x2091, 0x8000, 0x2071, 0x19e6, 0x7610, 0x2660, + 0x2678, 0x8cff, 0x0904, 0xa876, 0x7030, 0x9c06, 0x1520, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x0904, 0xa848, 0x080c, 0x9e4f, 0x68c3, + 0x0000, 0x080c, 0xa327, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2a49, + 0x9006, 0x080c, 0x2a49, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x7010, 0x9c36, 0x1110, 0x660c, 0x7612, + 0x700c, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700e, + 0x0010, 0x700f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xca69, 0x1180, + 0x080c, 0x323e, 0x080c, 0xca7a, 0x1518, 0x080c, 0xb5c6, 0x0400, + 0x080c, 0xa327, 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, + 0x080c, 0xca7a, 0x1118, 0x080c, 0xb5c6, 0x0090, 0x6014, 0x2048, + 0x080c, 0xc863, 0x0168, 0x6020, 0x9086, 0x0003, 0x1520, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d9f, 0x080c, 0xca54, + 0x080c, 0xccf6, 0x080c, 0xac2b, 0x080c, 0xa1fd, 0x00ce, 0x0804, + 0xa7f9, 0x2c78, 0x600c, 0x2060, 0x0804, 0xa7f9, 0x7013, 0x0000, + 0x700f, 0x0000, 0x012e, 0x006e, 0x009e, 0x00ae, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1d08, 0x080c, + 0xe2b9, 0x08f0, 0x00f6, 0x0036, 0x2079, 0x0380, 0x7b18, 0xd3bc, + 0x1de8, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x003e, 0x00fe, + 0x0005, 0x0016, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, + 0x0001, 0x1188, 0x2001, 0x0015, 0x0c29, 0x2009, 0x1000, 0x2001, + 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, 0x0120, 0x8109, + 0x1db0, 0x080c, 0x0d7d, 0x001e, 0x0005, 0x2001, 0x0382, 0x2004, + 0x9084, 0x0007, 0x9086, 0x0003, 0x1120, 0x2001, 0x0380, 0x2003, + 0x0001, 0x0005, 0x0156, 0x0016, 0x0026, 0x00e6, 0x900e, 0x2071, + 0x19e6, 0x0469, 0x0106, 0x0190, 0x7004, 0x9086, 0x0003, 0x0148, + 0x20a9, 0x1000, 0x6044, 0xd0fc, 0x01d8, 0x1f04, 0xa8d2, 0x080c, + 0x0d7d, 0x080c, 0xa899, 0x6044, 0xd0fc, 0x0190, 0x7030, 0x9c06, + 0x1148, 0x080c, 0x95ff, 0x6044, 0xd0dc, 0x0150, 0xc0dc, 0x6046, + 0x700a, 0x7042, 0x704c, 0x9c06, 0x190c, 0x0d7d, 0x080c, 0x965a, + 0x010e, 0x1919, 0x00ee, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, + 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, 0x0005, 0x0126, + 0x2091, 0x2400, 0x7808, 0xd0a4, 0x190c, 0x0d76, 0xd09c, 0x0128, + 0x7820, 0x908c, 0xf000, 0x11b8, 0x0012, 0x012e, 0x0005, 0xa91f, + 0xa95d, 0xa984, 0xa9bb, 0xa9cb, 0xa9dc, 0xa9eb, 0xa9f9, 0xaa26, + 0xaa2a, 0xa91f, 0xa91f, 0xa91f, 0xa91f, 0xa91f, 0xa91f, 0x080c, + 0x0d7d, 0x012e, 0x0005, 0x2060, 0x6044, 0xd0bc, 0x0140, 0xc0bc, + 0x6046, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0012, 0x012e, + 0x0005, 0xa944, 0xa946, 0xa944, 0xa94c, 0xa944, 0xa944, 0xa944, + 0xa944, 0xa944, 0xa946, 0xa944, 0xa946, 0xa944, 0xa946, 0xa944, + 0xa944, 0xa944, 0xa946, 0xa944, 0x080c, 0x0d7d, 0x2009, 0x0013, + 0x080c, 0xac8d, 0x012e, 0x0005, 0x6014, 0x2048, 0xa87c, 0xd0dc, + 0x0130, 0x080c, 0x88d7, 0x080c, 0xabf0, 0x012e, 0x0005, 0x2009, + 0x0049, 0x080c, 0xac8d, 0x012e, 0x0005, 0x080c, 0xa899, 0x2001, + 0x1a0b, 0x2003, 0x0000, 0x7030, 0x9065, 0x090c, 0x0d7d, 0x7034, + 0x9092, 0x00c8, 0x1258, 0x8000, 0x7036, 0x7004, 0x9086, 0x0003, + 0x0110, 0x7007, 0x0000, 0x781f, 0x0808, 0x0040, 0x080c, 0xe764, + 0x6003, 0x0001, 0x2009, 0x0014, 0x080c, 0xac8d, 0x781f, 0x0100, + 0x080c, 0xa8b5, 0x012e, 0x0005, 0x080c, 0xa899, 0x714c, 0x81ff, + 0x1128, 0x2011, 0x1a0e, 0x2013, 0x0000, 0x0438, 0x2061, 0x0100, + 0x7150, 0x9192, 0x7530, 0x12f0, 0x8108, 0x7152, 0x714c, 0x9188, + 0x0008, 0x210c, 0x918e, 0x0006, 0x1138, 0x6014, 0x9084, 0x1984, + 0x9085, 0x0012, 0x6016, 0x0088, 0x714c, 0x9188, 0x0008, 0x210c, + 0x918e, 0x0009, 0x0d90, 0x6014, 0x9084, 0x1984, 0x9085, 0x0016, + 0x6016, 0x0018, 0x706c, 0xc085, 0x706e, 0x781f, 0x0200, 0x080c, + 0xa8b5, 0x012e, 0x0005, 0x080c, 0xa899, 0x714c, 0x2160, 0x6003, + 0x0003, 0x2009, 0x004a, 0x080c, 0xac8d, 0x781f, 0x0200, 0x080c, + 0xa8b5, 0x012e, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x2060, + 0x6003, 0x0003, 0x080c, 0xa899, 0x080c, 0x1d85, 0x781f, 0x0400, + 0x080c, 0xa8b5, 0x012e, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, + 0x2060, 0x080c, 0xa899, 0x080c, 0x1dcd, 0x781f, 0x0400, 0x080c, + 0xa8b5, 0x012e, 0x0005, 0x7030, 0x9065, 0x0148, 0x6044, 0xc0bc, + 0x6046, 0x7104, 0x9186, 0x0003, 0x0110, 0x080c, 0x96be, 0x012e, + 0x0005, 0x00f6, 0x703c, 0x9086, 0x0002, 0x0528, 0x704c, 0x907d, + 0x0510, 0x7844, 0xc0bc, 0x7846, 0x7820, 0x9086, 0x0009, 0x0118, + 0x080c, 0x9d79, 0x00c0, 0x7828, 0xd0fc, 0x1118, 0x080c, 0x9cf8, + 0x0090, 0x2001, 0x1837, 0x2004, 0x9084, 0x0028, 0x1130, 0x2001, + 0x197b, 0x2004, 0x9086, 0xaaaa, 0x1120, 0x2001, 0x0387, 0x2003, + 0x1000, 0x080c, 0x9c7d, 0x00fe, 0x012e, 0x0005, 0x080c, 0x7591, + 0x012e, 0x0005, 0x080c, 0x0d7d, 0x0005, 0x00e6, 0x2071, 0x19e6, + 0x6044, 0xc0bc, 0x6046, 0xd0fc, 0x01b8, 0x704c, 0x9c06, 0x1190, + 0x2019, 0x0001, 0x080c, 0xa133, 0x704f, 0x0000, 0x2001, 0x0109, + 0x2004, 0xd08c, 0x1138, 0x2001, 0x0108, 0x2004, 0xd0bc, 0x1110, + 0x703f, 0x0000, 0x080c, 0xa33e, 0x00ee, 0x0005, 0x0026, 0x7010, + 0x9c06, 0x1178, 0x080c, 0xa1fd, 0x6044, 0xc0fc, 0x6046, 0x600c, + 0x9015, 0x0120, 0x7212, 0x600f, 0x0000, 0x0010, 0x7212, 0x720e, + 0x9006, 0x002e, 0x0005, 0x0026, 0x7020, 0x9c06, 0x1178, 0x080c, + 0xa1fd, 0x6044, 0xc0fc, 0x6046, 0x600c, 0x9015, 0x0120, 0x7222, + 0x600f, 0x0000, 0x0010, 0x7222, 0x721e, 0x9006, 0x002e, 0x0005, + 0x00d6, 0x0036, 0x7830, 0x9c06, 0x1558, 0x2069, 0x0100, 0x68c0, + 0x9005, 0x01f8, 0x080c, 0x8709, 0x080c, 0x9e4f, 0x68c3, 0x0000, + 0x080c, 0xa327, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2a49, 0x9006, 0x080c, 0x2a49, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x9085, 0x0001, + 0x0038, 0x7808, 0xc0ad, 0x780a, 0x6003, 0x0009, 0x630a, 0x9006, + 0x003e, 0x00de, 0x0005, 0x0016, 0x0026, 0x0036, 0x6100, 0x2019, + 0x0100, 0x2001, 0x0382, 0x2004, 0xd09c, 0x0190, 0x00c6, 0x0126, + 0x2091, 0x2800, 0x0016, 0x0036, 0x080c, 0xa8ff, 0x003e, 0x001e, + 0x012e, 0x00ce, 0x6200, 0x2200, 0x9106, 0x0d58, 0x2200, 0x0010, + 0x8319, 0x1d38, 0x003e, 0x002e, 0x001e, 0x0005, 0x00d6, 0x0156, + 0x080c, 0x9b07, 0x7a14, 0x82ff, 0x0138, 0x7003, 0x0100, 0x700b, + 0x0003, 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, 0x7007, 0x0000, + 0x2069, 0x1800, 0x901e, 0x6800, 0x9086, 0x0004, 0x1110, 0xc38d, + 0x0060, 0x080c, 0x74ec, 0x1110, 0xc3ad, 0x0008, 0xc3a5, 0x6adc, + 0xd29c, 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, 0x080c, 0x87ce, + 0x20a9, 0x0006, 0x2011, 0xffec, 0x2019, 0xffed, 0x2071, 0x0250, + 0x2305, 0x2072, 0x8e70, 0x2205, 0x2072, 0x8e70, 0x9398, 0x0002, + 0x9290, 0x0002, 0x1f04, 0xab00, 0x60c3, 0x0020, 0x080c, 0x9e1f, + 0x015e, 0x00de, 0x0005, 0x0156, 0x080c, 0x9b07, 0x7a14, 0x82ff, + 0x0168, 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, 0x1238, 0x7003, + 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0488, 0x7003, 0x0200, + 0x7007, 0x001c, 0x700f, 0x0001, 0x2011, 0x19bc, 0x2204, 0x8007, + 0x701a, 0x8210, 0x2204, 0x8007, 0x701e, 0x0421, 0x1120, 0xb8a0, + 0x9082, 0x007f, 0x0248, 0x2001, 0x181f, 0x2004, 0x7022, 0x2001, + 0x1820, 0x2004, 0x7026, 0x0030, 0x2001, 0x1818, 0x2004, 0x9084, + 0x00ff, 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, + 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x015e, + 0x0804, 0x9e1f, 0x0006, 0x2001, 0x1837, 0x2004, 0xd0ac, 0x000e, + 0x0005, 0x2011, 0x0003, 0x080c, 0xa1be, 0x2011, 0x0002, 0x080c, + 0xa1c8, 0x080c, 0xa0b3, 0x0036, 0x901e, 0x080c, 0xa133, 0x003e, + 0x0005, 0x080c, 0x3381, 0x0188, 0x0016, 0x00b6, 0x00c6, 0x7010, + 0x9085, 0x0020, 0x7012, 0x2009, 0x007e, 0x080c, 0x6644, 0xb85c, + 0xc0ac, 0xb85e, 0x00ce, 0x00be, 0x001e, 0x0005, 0x2071, 0x188d, + 0x7000, 0x9005, 0x0140, 0x2001, 0x0812, 0x2071, 0x1800, 0x7076, + 0x707a, 0x706b, 0xffd4, 0x2071, 0x1800, 0x7074, 0x7056, 0x705b, + 0x1ddc, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, + 0x7554, 0x9582, 0x0010, 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, + 0x0000, 0x0148, 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1208, 0x0cb0, + 0x2061, 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7556, 0x9ca8, + 0x001c, 0x7068, 0x9502, 0x1230, 0x755a, 0x9085, 0x0001, 0x012e, + 0x00ee, 0x0005, 0x705b, 0x1ddc, 0x0cc0, 0x9006, 0x0cc0, 0x00e6, + 0x2071, 0x1800, 0x7554, 0x9582, 0x0010, 0x0600, 0x7058, 0x2060, + 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x001c, 0x7068, 0x9c02, + 0x1208, 0x0cb0, 0x2061, 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, + 0x7556, 0x9ca8, 0x001c, 0x7068, 0x9502, 0x1228, 0x755a, 0x9085, + 0x0001, 0x00ee, 0x0005, 0x705b, 0x1ddc, 0x0cc8, 0x9006, 0x0cc8, + 0x9c82, 0x1ddc, 0x0a0c, 0x0d7d, 0x2001, 0x181a, 0x2004, 0x9c02, + 0x1a0c, 0x0d7d, 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, 0x601a, + 0x6012, 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, 0x605e, 0x6062, + 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, 0x604a, + 0x602a, 0x6046, 0x6042, 0x2061, 0x1800, 0x6054, 0x8000, 0x6056, + 0x0005, 0x9006, 0x600e, 0x6016, 0x601a, 0x6012, 0x6022, 0x6002, + 0x601e, 0x605e, 0x6062, 0x604a, 0x6046, 0x2061, 0x1800, 0x6054, + 0x8000, 0x6056, 0x0005, 0x0006, 0x6000, 0x9086, 0x0000, 0x01d0, + 0x601c, 0xd084, 0x190c, 0x1a94, 0x6023, 0x0007, 0x2001, 0x1985, + 0x2004, 0x0006, 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, 0x601a, + 0x080c, 0xe571, 0x604b, 0x0000, 0x6044, 0xd0fc, 0x1129, 0x9006, + 0x6046, 0x6016, 0x000e, 0x0005, 0x080c, 0xa899, 0x0106, 0x2001, + 0x19f9, 0x2004, 0x9c06, 0x1130, 0x0036, 0x2019, 0x0001, 0x080c, + 0xa133, 0x003e, 0x080c, 0xa33e, 0x010e, 0x090c, 0xa8b5, 0x0005, + 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7554, 0x9582, + 0x0001, 0x0608, 0x7058, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, + 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1ddc, + 0x0c98, 0x6003, 0x0008, 0x8529, 0x7556, 0x9ca8, 0x001c, 0x7068, + 0x9502, 0x1230, 0x755a, 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, + 0x705b, 0x1ddc, 0x0cc0, 0x9006, 0x0cc0, 0x6020, 0x9084, 0x000f, + 0x0002, 0xaca1, 0xacab, 0xacc6, 0xace1, 0xcfd7, 0xcff4, 0xd00f, + 0xaca1, 0xacab, 0x8fb5, 0xacfd, 0xaca1, 0xaca1, 0xaca1, 0xaca1, + 0xaca1, 0x9186, 0x0013, 0x1130, 0x6044, 0xd0fc, 0x0110, 0x080c, + 0x95ff, 0x0005, 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d7d, 0x0013, 0x006e, 0x0005, 0xacc4, 0xb430, 0xb60d, 0xacc4, + 0xb6a3, 0xafc6, 0xacc4, 0xacc4, 0xb3b2, 0xbc0d, 0xacc4, 0xacc4, + 0xacc4, 0xacc4, 0xacc4, 0xacc4, 0x080c, 0x0d7d, 0x0066, 0x6000, + 0x90b2, 0x0016, 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0xacdf, + 0xc215, 0xacdf, 0xacdf, 0xacdf, 0xacdf, 0xacdf, 0xacdf, 0xc1b7, + 0xc398, 0xacdf, 0xc252, 0xc2d6, 0xc252, 0xc2d6, 0xacdf, 0x080c, + 0x0d7d, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d7d, 0x6000, 0x0002, + 0xacfb, 0xbc57, 0xbcee, 0xbe6e, 0xbedd, 0xacfb, 0xacfb, 0xacfb, + 0xbc26, 0xc138, 0xc13b, 0xacfb, 0xacfb, 0xacfb, 0xacfb, 0xc16b, + 0xacfb, 0xacfb, 0xacfb, 0x080c, 0x0d7d, 0x0066, 0x6000, 0x90b2, + 0x0016, 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0xad16, 0xad16, + 0xad54, 0xadf3, 0xae73, 0xad16, 0xad16, 0xad16, 0xad18, 0xad16, + 0xad16, 0xad16, 0xad16, 0xad16, 0xad16, 0xad16, 0x080c, 0x0d7d, + 0x9186, 0x004c, 0x0560, 0x9186, 0x0003, 0x190c, 0x0d7d, 0x0096, + 0x601c, 0xc0ed, 0x601e, 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, + 0xa87c, 0x9084, 0xa000, 0xc0b5, 0xa87e, 0xa8ac, 0xa836, 0xa8b0, + 0xa83a, 0x9006, 0xa846, 0xa84a, 0xa884, 0x9092, 0x199a, 0x0210, + 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, 0x009e, + 0x080c, 0x1bdf, 0x2009, 0x8030, 0x080c, 0x9280, 0x0005, 0x6010, + 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, 0xae95, 0x080c, + 0xcf9c, 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, 0x00f6, 0x2079, + 0x1800, 0x7a90, 0x6014, 0x2048, 0xa87c, 0xd0ec, 0x1110, 0x9290, + 0x0018, 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, 0x1140, 0xa8dc, + 0x921a, 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, 0x0028, 0xa87b, + 0x0015, 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, 0x0000, 0xaa02, + 0x0006, 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2400, + 0x9005, 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, 0x1118, 0x2001, + 0x0001, 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, 0x2001, 0x0001, + 0x002a, 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, 0xadbb, 0xadbb, + 0xadb6, 0xadb9, 0xadbb, 0xadb3, 0xada6, 0xada6, 0xada6, 0xada6, + 0xada6, 0xada6, 0xada6, 0xada6, 0xada6, 0xada6, 0x00fe, 0x00ee, + 0x00de, 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, 0x00fe, 0x009e, + 0x00de, 0x080c, 0x0d7d, 0x080c, 0xb862, 0x0028, 0x080c, 0xb947, + 0x0010, 0x080c, 0xba3d, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, + 0x001e, 0x2c00, 0xa896, 0x000e, 0x080c, 0xaf53, 0x0530, 0xa804, + 0xa80e, 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xaacc, 0xabd0, + 0xacd4, 0xadd8, 0x2031, 0x0000, 0x2041, 0x12b0, 0x080c, 0xb114, + 0x0160, 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, 0x00de, 0x0005, + 0x00fe, 0x009e, 0x00de, 0x0804, 0xabf0, 0x2001, 0x002c, 0x900e, + 0x080c, 0xafb9, 0x0c70, 0x91b6, 0x0015, 0x0170, 0x91b6, 0x0016, + 0x0158, 0x91b2, 0x0047, 0x0a0c, 0x0d7d, 0x91b2, 0x0050, 0x1a0c, + 0x0d7d, 0x9182, 0x0047, 0x0042, 0x080c, 0xaaab, 0x0120, 0x9086, + 0x0002, 0x0904, 0xad54, 0x0005, 0xae15, 0xae15, 0xae17, 0xae49, + 0xae15, 0xae15, 0xae15, 0xae15, 0xae5c, 0x080c, 0x0d7d, 0x00d6, + 0x0016, 0x0096, 0x6003, 0x0004, 0x6114, 0x2148, 0xa87c, 0xd0fc, + 0x01c0, 0xa878, 0xc0fc, 0x9005, 0x1158, 0xa894, 0x9005, 0x0140, + 0x2001, 0x0000, 0x900e, 0x080c, 0xafb9, 0x080c, 0xabf0, 0x00a8, + 0x6003, 0x0002, 0xa8a4, 0xa9a8, 0x9105, 0x1178, 0xa8ae, 0xa8b2, + 0x0c78, 0xa87f, 0x0020, 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, + 0xa8b2, 0xa8c7, 0x0000, 0xa8cb, 0x0000, 0x009e, 0x001e, 0x00de, + 0x0005, 0x080c, 0x965a, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, + 0xc865, 0x0120, 0xa87b, 0x0006, 0x080c, 0x6d9f, 0x009e, 0x00de, + 0x080c, 0xabf0, 0x0804, 0x96bd, 0x080c, 0x965a, 0x080c, 0x320f, + 0x080c, 0xcf99, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xc865, + 0x0120, 0xa87b, 0x0029, 0x080c, 0x6d9f, 0x009e, 0x00de, 0x080c, + 0xabf0, 0x0804, 0x96bd, 0x9182, 0x0047, 0x0002, 0xae83, 0xae85, + 0xae83, 0xae83, 0xae83, 0xae83, 0xae83, 0xae83, 0xae83, 0xae83, + 0xae83, 0xae83, 0xae85, 0x080c, 0x0d7d, 0x00d6, 0x0096, 0x601f, + 0x0000, 0x6114, 0x2148, 0xa87b, 0x0000, 0xa883, 0x0000, 0x080c, + 0x6d9f, 0x009e, 0x00de, 0x0804, 0xabf0, 0x0026, 0x0036, 0x0056, + 0x0066, 0x0096, 0x00a6, 0x00f6, 0x0006, 0x080c, 0x1047, 0x000e, + 0x090c, 0x0d7d, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, + 0x900e, 0x20a9, 0x0020, 0x4104, 0xa87a, 0x2079, 0x1800, 0x7990, + 0x9188, 0x0018, 0x918c, 0x0fff, 0xa972, 0xac76, 0x2950, 0x00a6, + 0x2001, 0x0205, 0x2003, 0x0000, 0x901e, 0x2029, 0x0001, 0x9182, + 0x0034, 0x1228, 0x2011, 0x001f, 0x080c, 0xc41b, 0x04c0, 0x2130, + 0x2009, 0x0034, 0x2011, 0x001f, 0x080c, 0xc41b, 0x96b2, 0x0034, + 0xb004, 0x904d, 0x0110, 0x080c, 0x0ff9, 0x080c, 0x1047, 0x01d0, + 0x8528, 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, + 0x003d, 0x1230, 0x2608, 0x2011, 0x001b, 0x080c, 0xc41b, 0x00b8, + 0x96b2, 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, 0x080c, + 0xc41b, 0x0c18, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, + 0x95ad, 0x0050, 0xb566, 0xb070, 0xc0fd, 0xb072, 0x0048, 0x2001, + 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, + 0x2a48, 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x6d9f, 0x000e, + 0x2048, 0x9005, 0x1db0, 0x00fe, 0x00ae, 0x009e, 0x006e, 0x005e, + 0x003e, 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0096, 0x0006, 0x080c, + 0x1047, 0x000e, 0x090c, 0x0d7d, 0xa960, 0x21e8, 0xa95c, 0x9188, + 0x0019, 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, 0xaa66, 0xa87a, + 0x2079, 0x1800, 0x7990, 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, + 0x0210, 0x2009, 0x001a, 0x21a8, 0x810b, 0xa972, 0xac76, 0x2e98, + 0xa85c, 0x9080, 0x001f, 0x20a0, 0x2001, 0x0205, 0x200c, 0x918d, + 0x0080, 0x2102, 0x4003, 0x2003, 0x0000, 0x080c, 0x6d9f, 0x009e, + 0x00fe, 0x00de, 0x0005, 0x0016, 0x00d6, 0x00f6, 0x0096, 0x0016, + 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x001e, 0x2079, + 0x0200, 0x2e98, 0xa87c, 0xd0ec, 0x0118, 0x9e80, 0x000c, 0x2098, + 0x2021, 0x003e, 0x901e, 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, + 0x2018, 0x9486, 0x003e, 0x1170, 0x0096, 0x080c, 0x1047, 0x2900, + 0x009e, 0x05c0, 0xa806, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0002, 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, + 0x9102, 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, + 0x1228, 0x2400, 0x9202, 0x2410, 0x9318, 0x9006, 0x2020, 0x22a8, + 0xa800, 0x9200, 0xa802, 0x20e1, 0x0000, 0x4003, 0x83ff, 0x0180, + 0x3300, 0x9086, 0x0280, 0x1130, 0x7814, 0x8000, 0x9085, 0x0080, + 0x7816, 0x2e98, 0x2310, 0x84ff, 0x0904, 0xaf68, 0x0804, 0xaf6a, + 0x9085, 0x0001, 0x7817, 0x0000, 0x009e, 0x00fe, 0x00de, 0x001e, + 0x0005, 0x00d6, 0x0036, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, + 0x080c, 0x6d93, 0x009e, 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, + 0x1118, 0x080c, 0xabf0, 0x0030, 0x91b6, 0x0016, 0x190c, 0x0d7d, + 0x080c, 0xabf0, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, + 0x6014, 0x0096, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x20a0, 0x009e, + 0x4003, 0x0136, 0x9080, 0x001b, 0x20a0, 0x2011, 0x0006, 0x20a9, + 0x0001, 0x3418, 0x8318, 0x23a0, 0x4003, 0x3318, 0x8318, 0x2398, + 0x8211, 0x1db8, 0x2011, 0x0006, 0x013e, 0x20a0, 0x3318, 0x8318, + 0x2398, 0x4003, 0x3418, 0x8318, 0x23a0, 0x8211, 0x1db8, 0x0096, + 0x080c, 0xc865, 0x0130, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, + 0x0103, 0x009e, 0x0804, 0xabf0, 0x0096, 0x00d6, 0x0036, 0x7330, + 0x9386, 0x0200, 0x11a8, 0x6010, 0x00b6, 0x2058, 0xb8d7, 0x0000, + 0x00be, 0x6014, 0x9005, 0x0130, 0x2048, 0xa807, 0x0000, 0xa867, + 0x0103, 0xab32, 0x080c, 0xabf0, 0x003e, 0x00de, 0x009e, 0x0005, + 0x0011, 0x1d48, 0x0cc8, 0x0006, 0x0016, 0x080c, 0xcf84, 0x0188, + 0x6014, 0x9005, 0x1170, 0x600b, 0x0003, 0x601b, 0x0000, 0x604b, + 0x0000, 0x2009, 0x0022, 0x080c, 0xb408, 0x9006, 0x001e, 0x000e, + 0x0005, 0x9085, 0x0001, 0x0cd0, 0x0096, 0x0016, 0x20a9, 0x0014, + 0x9e80, 0x000c, 0x20e1, 0x0000, 0x2098, 0x6014, 0x2048, 0xa860, + 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, + 0x2003, 0x0001, 0x2099, 0x0260, 0x20a9, 0x0016, 0x4003, 0x20a9, + 0x000a, 0xa804, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, + 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, 0x0002, 0x2099, 0x0260, + 0x20a9, 0x0020, 0x4003, 0x2003, 0x0000, 0x6014, 0x2048, 0xa800, + 0x2048, 0xa867, 0x0103, 0x080c, 0xabf0, 0x001e, 0x009e, 0x0005, + 0x0096, 0x0016, 0x900e, 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, + 0x9084, 0x00ff, 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, + 0x0004, 0x9108, 0x810b, 0x2011, 0x0002, 0x2019, 0x000c, 0x6014, + 0x2048, 0x080c, 0xc41b, 0x080c, 0xc865, 0x0140, 0x6014, 0x2048, + 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0xabf0, + 0x001e, 0x009e, 0x0005, 0x0016, 0x2009, 0x0000, 0x7030, 0x9086, + 0x0200, 0x0110, 0x2009, 0x0001, 0x0096, 0x6014, 0x904d, 0x090c, + 0x0d7d, 0xa97a, 0x080c, 0x6d9f, 0x009e, 0x080c, 0xabf0, 0x001e, + 0x0005, 0x0016, 0x0096, 0x7030, 0x9086, 0x0100, 0x1118, 0x2009, + 0x0004, 0x0010, 0x7034, 0x800c, 0x810b, 0x2011, 0x000c, 0x2019, + 0x000c, 0x6014, 0x2048, 0xa804, 0x0096, 0x9005, 0x0108, 0x2048, + 0x080c, 0xc41b, 0x009e, 0x080c, 0xc865, 0x0148, 0xa804, 0x9005, + 0x1158, 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, + 0xabf0, 0x009e, 0x001e, 0x0005, 0x0086, 0x2040, 0xa030, 0x8007, + 0x9086, 0x0100, 0x1118, 0x080c, 0xb5c6, 0x00e0, 0xa034, 0x8007, + 0x800c, 0x8806, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, + 0x9080, 0x000c, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, + 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x1296, + 0x0019, 0x0d08, 0x008e, 0x0898, 0x0096, 0x0006, 0x080c, 0x1047, + 0x000e, 0x01b0, 0xa8ab, 0x0dcb, 0xa876, 0x000e, 0xa8a2, 0x0006, + 0xae6a, 0x2800, 0xa89e, 0xa97a, 0xaf72, 0xaa8e, 0xab92, 0xac96, + 0xad9a, 0x0086, 0x2940, 0x080c, 0x113c, 0x008e, 0x9085, 0x0001, + 0x009e, 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, + 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1520, 0x700c, + 0x6210, 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x11e0, 0x604b, + 0x0000, 0x2c68, 0x0016, 0x2009, 0x0035, 0x080c, 0xcefc, 0x001e, + 0x1158, 0x622c, 0x2268, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, + 0x0130, 0x9386, 0x0006, 0x0128, 0x080c, 0xabf0, 0x0020, 0x0039, + 0x0010, 0x080c, 0xb23d, 0x002e, 0x00de, 0x00ee, 0x0005, 0x0096, + 0x6814, 0x2048, 0x9186, 0x0015, 0x0904, 0xb21c, 0x918e, 0x0016, + 0x1904, 0xb23b, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, + 0x9186, 0x0300, 0x1904, 0xb1f6, 0x89ff, 0x1138, 0x6800, 0x9086, + 0x000f, 0x0904, 0xb1d8, 0x0804, 0xb239, 0x6808, 0x9086, 0xffff, + 0x1904, 0xb21e, 0xa87c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, + 0xa83c, 0xa940, 0x9105, 0x1904, 0xb21e, 0x6824, 0xd084, 0x1904, + 0xb21e, 0xd0b4, 0x0158, 0x0016, 0x2001, 0x1985, 0x200c, 0x6018, + 0x9102, 0x9082, 0x0005, 0x001e, 0x1a04, 0xb21e, 0x080c, 0xca54, + 0x6864, 0xa882, 0xa87c, 0xc0dc, 0xc0f4, 0xc0d4, 0xa87e, 0x0026, + 0x900e, 0x6a18, 0x2001, 0x000a, 0x080c, 0x9181, 0xa884, 0x920a, + 0x0208, 0x8011, 0xaa86, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, + 0x080c, 0xc56e, 0x00ce, 0x0804, 0xb239, 0x00c6, 0xa868, 0xd0fc, + 0x1118, 0x080c, 0x60d6, 0x0010, 0x080c, 0x64de, 0x00ce, 0x1904, + 0xb21e, 0x00c6, 0x2d60, 0x080c, 0xabf0, 0x00ce, 0x0804, 0xb239, + 0x00c6, 0x080c, 0xac60, 0x0198, 0x6017, 0x0000, 0x6810, 0x6012, + 0x080c, 0xccfe, 0x6023, 0x0003, 0x6904, 0x00c6, 0x2d60, 0x080c, + 0xabf0, 0x00ce, 0x080c, 0xac8d, 0x00ce, 0x0804, 0xb239, 0x2001, + 0x1987, 0x2004, 0x684a, 0x00ce, 0x0804, 0xb239, 0x7008, 0x9086, + 0x000b, 0x11c8, 0x6010, 0x00b6, 0x2058, 0xb900, 0xc1bc, 0xb902, + 0x00be, 0x00c6, 0x2d60, 0xa87b, 0x0003, 0x080c, 0xcf3e, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, + 0x9239, 0x00ce, 0x0430, 0x700c, 0x9086, 0x2a00, 0x1138, 0x2001, + 0x1987, 0x2004, 0x684a, 0x00e8, 0x04c1, 0x00e8, 0x89ff, 0x090c, + 0x0d7d, 0x00c6, 0x00d6, 0x2d60, 0xa867, 0x0103, 0xa87b, 0x0003, + 0x080c, 0x6bb5, 0x080c, 0xca54, 0x080c, 0xac2b, 0x0026, 0x6010, + 0x00b6, 0x2058, 0xba3c, 0x080c, 0x676f, 0x00be, 0x002e, 0x00de, + 0x00ce, 0x080c, 0xabf0, 0x009e, 0x0005, 0x9186, 0x0015, 0x1128, + 0x2001, 0x1987, 0x2004, 0x684a, 0x0068, 0x918e, 0x0016, 0x1160, + 0x00c6, 0x2d00, 0x2060, 0x080c, 0xe571, 0x080c, 0x88d7, 0x080c, + 0xabf0, 0x00ce, 0x080c, 0xabf0, 0x0005, 0x0026, 0x0036, 0x0046, + 0x7228, 0xacb0, 0xabac, 0xd2f4, 0x0130, 0x2001, 0x1987, 0x2004, + 0x684a, 0x0804, 0xb2b7, 0x00c6, 0x2d60, 0x080c, 0xc446, 0x00ce, + 0x6804, 0x9086, 0x0050, 0x1168, 0x00c6, 0x2d00, 0x2060, 0x6003, + 0x0001, 0x6007, 0x0050, 0x2009, 0x8023, 0x080c, 0x9239, 0x00ce, + 0x04f0, 0x6800, 0x9086, 0x000f, 0x01a8, 0x89ff, 0x090c, 0x0d7d, + 0x6800, 0x9086, 0x0004, 0x1190, 0xa87c, 0xd0ac, 0x0178, 0xa843, + 0x0fff, 0xa83f, 0x0fff, 0xa880, 0xc0fc, 0xa882, 0x2001, 0x0001, + 0x6832, 0x0400, 0x2001, 0x0007, 0x6832, 0x00e0, 0xa87c, 0xd0b4, + 0x1150, 0xd0ac, 0x0db8, 0x6824, 0xd0f4, 0x1d48, 0xa838, 0xa934, + 0x9105, 0x0d80, 0x0c20, 0xd2ec, 0x1d68, 0x7024, 0x9306, 0x1118, + 0x7020, 0x9406, 0x0d38, 0x7020, 0x683e, 0x7024, 0x683a, 0x2001, + 0x0005, 0x6832, 0x080c, 0xcbe8, 0x080c, 0x96bd, 0x0010, 0x080c, + 0xabf0, 0x004e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x0026, + 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, + 0x9206, 0x1904, 0xb322, 0x700c, 0x6210, 0x00b6, 0x2258, 0xba14, + 0x00be, 0x9206, 0x1904, 0xb322, 0x6038, 0x2068, 0x6824, 0xc0dc, + 0x6826, 0x6a20, 0x9286, 0x0007, 0x0904, 0xb322, 0x9286, 0x0002, + 0x0904, 0xb322, 0x9286, 0x0000, 0x05e8, 0x6808, 0x633c, 0x9306, + 0x15c8, 0x2071, 0x026c, 0x9186, 0x0015, 0x0570, 0x918e, 0x0016, + 0x1100, 0x00c6, 0x6038, 0x2060, 0x6104, 0x9186, 0x004b, 0x01c0, + 0x9186, 0x004c, 0x01a8, 0x9186, 0x004d, 0x0190, 0x9186, 0x004e, + 0x0178, 0x9186, 0x0052, 0x0160, 0x6014, 0x0096, 0x2048, 0x080c, + 0xc865, 0x090c, 0x0d7d, 0xa87b, 0x0003, 0x009e, 0x080c, 0xcf3e, + 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, + 0x080c, 0x9239, 0x00ce, 0x0030, 0x6038, 0x2070, 0x2001, 0x1987, + 0x2004, 0x704a, 0x080c, 0xabf0, 0x002e, 0x00de, 0x00ee, 0x0005, + 0x00b6, 0x0096, 0x00f6, 0x6014, 0x2048, 0x6010, 0x2058, 0x91b6, + 0x0015, 0x0130, 0xba08, 0xbb0c, 0xbc00, 0xc48c, 0xbc02, 0x0460, + 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0010, 0x2019, + 0x000a, 0x20a9, 0x0004, 0x080c, 0xbbd5, 0x002e, 0x003e, 0x015e, + 0x009e, 0x1904, 0xb391, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, + 0x9e90, 0x0014, 0x2019, 0x0006, 0x20a9, 0x0004, 0x080c, 0xbbd5, + 0x002e, 0x003e, 0x015e, 0x009e, 0x15a0, 0x7238, 0xba0a, 0x733c, + 0xbb0e, 0xbc00, 0xc48d, 0xbc02, 0xa804, 0x9005, 0x1128, 0x00fe, + 0x009e, 0x00be, 0x0804, 0xafff, 0x0096, 0x2048, 0xaa12, 0xab16, + 0xac0a, 0x009e, 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, + 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, + 0xada4, 0x2031, 0x0000, 0x2041, 0x1296, 0x080c, 0xb114, 0x0130, + 0x00fe, 0x009e, 0x080c, 0xabf0, 0x00be, 0x0005, 0x080c, 0xb5c6, + 0x0cb8, 0x2b78, 0x00f6, 0x080c, 0x320f, 0x080c, 0xcf99, 0x00fe, + 0x00c6, 0x080c, 0xab9a, 0x2f00, 0x6012, 0x6017, 0x0000, 0x6023, + 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, 0x080c, + 0x6594, 0x080c, 0x65c0, 0x080c, 0x9240, 0x080c, 0x96bd, 0x00ce, + 0x0804, 0xb364, 0x2100, 0x91b2, 0x0053, 0x1a0c, 0x0d7d, 0x91b2, + 0x0040, 0x1a04, 0xb41a, 0x0002, 0xb408, 0xb408, 0xb3fe, 0xb408, + 0xb408, 0xb408, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, + 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, + 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, + 0xb3fc, 0xb3fc, 0xb3fc, 0xb408, 0xb3fc, 0xb408, 0xb408, 0xb3fc, + 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fe, 0xb3fc, 0xb3fc, 0xb3fc, + 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb408, 0xb408, + 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, 0xb3fc, + 0xb3fc, 0xb408, 0xb3fc, 0xb3fc, 0x080c, 0x0d7d, 0x0066, 0x00b6, + 0x6610, 0x2658, 0xb8d4, 0xc08c, 0xb8d6, 0x00be, 0x006e, 0x0000, + 0x6003, 0x0001, 0x6106, 0x9186, 0x0032, 0x0118, 0x080c, 0x9240, + 0x0010, 0x080c, 0x9239, 0x0126, 0x2091, 0x8000, 0x080c, 0x96bd, + 0x012e, 0x0005, 0x2600, 0x0002, 0xb408, 0xb408, 0xb42e, 0xb408, + 0xb408, 0xb42e, 0xb42e, 0xb42e, 0xb42e, 0xb408, 0xb42e, 0xb408, + 0xb42e, 0xb408, 0xb42e, 0xb42e, 0xb42e, 0xb42e, 0x080c, 0x0d7d, + 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0d7d, 0x91b6, 0x0013, 0x0904, + 0xb505, 0x91b6, 0x0027, 0x1904, 0xb4b1, 0x080c, 0x95ff, 0x6004, + 0x080c, 0xca69, 0x01b0, 0x080c, 0xca7a, 0x01a8, 0x908e, 0x0021, + 0x0904, 0xb4ae, 0x908e, 0x0022, 0x1130, 0x080c, 0xb02b, 0x0904, + 0xb4aa, 0x0804, 0xb4ab, 0x908e, 0x003d, 0x0904, 0xb4ae, 0x0804, + 0xb4a4, 0x080c, 0x323e, 0x2001, 0x0007, 0x080c, 0x6594, 0x6010, + 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, 0xb5c6, 0x9186, 0x007e, + 0x1148, 0x2001, 0x1837, 0x2014, 0xc285, 0x080c, 0x74ec, 0x1108, + 0xc2ad, 0x2202, 0x080c, 0xa899, 0x0036, 0x0026, 0x2019, 0x0028, + 0x2110, 0x080c, 0xe67d, 0x002e, 0x003e, 0x0016, 0x0026, 0x0036, + 0x2110, 0x2019, 0x0028, 0x080c, 0x93c6, 0x0076, 0x903e, 0x080c, + 0x928f, 0x6010, 0x00b6, 0x905d, 0x0100, 0x00be, 0x2c08, 0x080c, + 0xe038, 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, 0xa8b5, 0x080c, + 0xcf99, 0x0016, 0x080c, 0xccf6, 0x080c, 0xabf0, 0x001e, 0x080c, + 0x3318, 0x080c, 0x96bd, 0x0030, 0x080c, 0xccf6, 0x080c, 0xabf0, + 0x080c, 0x96bd, 0x0005, 0x080c, 0xb5c6, 0x0cb0, 0x080c, 0xb602, + 0x0c98, 0x9186, 0x0015, 0x0118, 0x9186, 0x0016, 0x1140, 0x080c, + 0xaaab, 0x0d80, 0x9086, 0x0002, 0x0904, 0xb60d, 0x0c58, 0x9186, + 0x0014, 0x1d40, 0x080c, 0x95ff, 0x6004, 0x908e, 0x0022, 0x1118, + 0x080c, 0xb02b, 0x09f8, 0x080c, 0x320f, 0x080c, 0xcf99, 0x080c, + 0xca69, 0x1190, 0x080c, 0x323e, 0x6010, 0x00b6, 0x2058, 0xb9a0, + 0x00be, 0x080c, 0xb5c6, 0x9186, 0x007e, 0x1128, 0x2001, 0x1837, + 0x200c, 0xc185, 0x2102, 0x0800, 0x080c, 0xca7a, 0x1120, 0x080c, + 0xb5c6, 0x0804, 0xb4a4, 0x6004, 0x908e, 0x0032, 0x1160, 0x00e6, + 0x00f6, 0x2071, 0x189e, 0x2079, 0x0000, 0x080c, 0x35b9, 0x00fe, + 0x00ee, 0x0804, 0xb4a4, 0x6004, 0x908e, 0x0021, 0x0d40, 0x908e, + 0x0022, 0x090c, 0xb5c6, 0x0804, 0xb4a4, 0x90b2, 0x0040, 0x1a04, + 0xb5a6, 0x2008, 0x0002, 0xb54d, 0xb54e, 0xb551, 0xb554, 0xb557, + 0xb55a, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, + 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, + 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, + 0xb54b, 0xb55d, 0xb568, 0xb54b, 0xb569, 0xb568, 0xb54b, 0xb54b, + 0xb54b, 0xb54b, 0xb54b, 0xb568, 0xb568, 0xb54b, 0xb54b, 0xb54b, + 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb54b, 0xb591, 0xb568, 0xb54b, + 0xb564, 0xb54b, 0xb54b, 0xb54b, 0xb565, 0xb54b, 0xb54b, 0xb54b, + 0xb568, 0xb58c, 0xb54b, 0x080c, 0x0d7d, 0x00d0, 0x2001, 0x000b, + 0x00f8, 0x2001, 0x0003, 0x00e0, 0x2001, 0x0005, 0x00c8, 0x2001, + 0x0001, 0x00b0, 0x2001, 0x0009, 0x0098, 0x6003, 0x0005, 0x080c, + 0xcf9c, 0x080c, 0x96bd, 0x0058, 0x0018, 0x0010, 0x080c, 0x6594, + 0x04b8, 0x080c, 0xcf9c, 0x6003, 0x0004, 0x080c, 0x96bd, 0x0005, + 0x080c, 0x6594, 0x6003, 0x0002, 0x0036, 0x2019, 0x1852, 0x2304, 0x9084, 0xff00, 0x1120, 0x2001, 0x1985, 0x201c, 0x0040, 0x8007, 0x909a, 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, - 0x003e, 0x080c, 0x9684, 0x0c18, 0x080c, 0xccc3, 0x080c, 0xabdf, + 0x003e, 0x080c, 0x96bd, 0x0c18, 0x080c, 0xccf6, 0x080c, 0xabf0, 0x08f0, 0x00e6, 0x00f6, 0x2071, 0x189e, 0x2079, 0x0000, 0x080c, - 0x3599, 0x00fe, 0x00ee, 0x080c, 0x95c6, 0x080c, 0xabdf, 0x0878, - 0x6003, 0x0002, 0x080c, 0xcf69, 0x0804, 0x9684, 0x2600, 0x2008, - 0x0002, 0xb59d, 0xb580, 0xb59b, 0xb580, 0xb580, 0xb59b, 0xb59b, - 0xb59b, 0xb59b, 0xb580, 0xb59b, 0xb580, 0xb59b, 0xb580, 0xb59b, - 0xb59b, 0xb59b, 0xb59b, 0x080c, 0x0d7d, 0x0096, 0x6014, 0x2048, - 0x080c, 0x6d7b, 0x009e, 0x080c, 0xabdf, 0x0005, 0x00e6, 0x0096, - 0x0026, 0x0016, 0x080c, 0xc832, 0x0568, 0x6014, 0x2048, 0xa864, + 0x35b9, 0x00fe, 0x00ee, 0x080c, 0x95ff, 0x080c, 0xabf0, 0x0878, + 0x6003, 0x0002, 0x080c, 0xcf9c, 0x0804, 0x96bd, 0x2600, 0x2008, + 0x0002, 0xb5bd, 0xb5a0, 0xb5bb, 0xb5a0, 0xb5a0, 0xb5bb, 0xb5bb, + 0xb5bb, 0xb5bb, 0xb5a0, 0xb5bb, 0xb5a0, 0xb5bb, 0xb5a0, 0xb5bb, + 0xb5bb, 0xb5bb, 0xb5bb, 0x080c, 0x0d7d, 0x0096, 0x6014, 0x2048, + 0x080c, 0x6d9f, 0x009e, 0x080c, 0xabf0, 0x0005, 0x00e6, 0x0096, + 0x0026, 0x0016, 0x080c, 0xc865, 0x0568, 0x6014, 0x2048, 0xa864, 0x9086, 0x0139, 0x11a8, 0xa894, 0x9086, 0x0056, 0x1148, 0x080c, - 0x5476, 0x0130, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x0028, - 0x2001, 0x0030, 0x900e, 0x2011, 0x4005, 0x080c, 0xce30, 0x0090, + 0x5496, 0x0130, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x0028, + 0x2001, 0x0030, 0x900e, 0x2011, 0x4005, 0x080c, 0xce63, 0x0090, 0xa868, 0xd0fc, 0x0178, 0xa807, 0x0000, 0x0016, 0x6004, 0x908e, 0x0021, 0x0168, 0x908e, 0x003d, 0x0150, 0x001e, 0xa867, 0x0103, 0xa833, 0x0100, 0x001e, 0x002e, 0x009e, 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc0, 0x0096, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0xa823, 0x8001, 0x009e, 0x0005, 0x00b6, 0x6610, 0x2658, 0xb804, 0x9084, 0x00ff, 0x90b2, 0x000c, 0x1a0c, 0x0d7d, 0x6604, - 0x96b6, 0x004d, 0x1120, 0x080c, 0xcd4f, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x0043, 0x1120, 0x080c, 0xcd98, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x004b, 0x1120, 0x080c, 0xcdc4, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x0033, 0x1120, 0x080c, 0xcce5, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x0028, 0x1120, 0x080c, 0xca85, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x0029, 0x1120, 0x080c, 0xcac6, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x001f, 0x1120, 0x080c, 0xafc2, 0x0804, 0xb672, 0x6604, - 0x96b6, 0x0000, 0x1118, 0x080c, 0xb30a, 0x04e0, 0x6604, 0x96b6, - 0x0022, 0x1118, 0x080c, 0xaffb, 0x04a8, 0x6604, 0x96b6, 0x0035, - 0x1118, 0x080c, 0xb121, 0x0470, 0x6604, 0x96b6, 0x0039, 0x1118, - 0x080c, 0xb29f, 0x0438, 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, - 0xb033, 0x0400, 0x6604, 0x96b6, 0x0044, 0x1118, 0x080c, 0xb06f, - 0x00c8, 0x6604, 0x96b6, 0x0049, 0x1118, 0x080c, 0xb0b0, 0x0090, - 0x6604, 0x96b6, 0x0041, 0x1118, 0x080c, 0xb09a, 0x0058, 0x91b6, + 0x96b6, 0x004d, 0x1120, 0x080c, 0xcd82, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x0043, 0x1120, 0x080c, 0xcdcb, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x004b, 0x1120, 0x080c, 0xcdf7, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x0033, 0x1120, 0x080c, 0xcd18, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x0028, 0x1120, 0x080c, 0xcab8, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x0029, 0x1120, 0x080c, 0xcaf9, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x001f, 0x1120, 0x080c, 0xafd3, 0x0804, 0xb692, 0x6604, + 0x96b6, 0x0000, 0x1118, 0x080c, 0xb328, 0x04e0, 0x6604, 0x96b6, + 0x0022, 0x1118, 0x080c, 0xb00c, 0x04a8, 0x6604, 0x96b6, 0x0035, + 0x1118, 0x080c, 0xb132, 0x0470, 0x6604, 0x96b6, 0x0039, 0x1118, + 0x080c, 0xb2bd, 0x0438, 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, + 0xb044, 0x0400, 0x6604, 0x96b6, 0x0044, 0x1118, 0x080c, 0xb080, + 0x00c8, 0x6604, 0x96b6, 0x0049, 0x1118, 0x080c, 0xb0c1, 0x0090, + 0x6604, 0x96b6, 0x0041, 0x1118, 0x080c, 0xb0ab, 0x0058, 0x91b6, 0x0015, 0x1110, 0x0063, 0x0030, 0x91b6, 0x0016, 0x1128, 0x00be, - 0x0804, 0xb8ce, 0x00be, 0x0005, 0x080c, 0xac99, 0x0cd8, 0xb68f, - 0xb692, 0xb68f, 0xb6d9, 0xb68f, 0xb842, 0xb8db, 0xb68f, 0xb68f, - 0xb8a4, 0xb68f, 0xb8ba, 0x0096, 0x601f, 0x0000, 0x6014, 0x2048, - 0xa800, 0x2048, 0xa867, 0x0103, 0x009e, 0x0804, 0xabdf, 0xa001, + 0x0804, 0xb8ee, 0x00be, 0x0005, 0x080c, 0xacaa, 0x0cd8, 0xb6af, + 0xb6b2, 0xb6af, 0xb6f9, 0xb6af, 0xb862, 0xb8fb, 0xb6af, 0xb6af, + 0xb8c4, 0xb6af, 0xb8da, 0x0096, 0x601f, 0x0000, 0x6014, 0x2048, + 0xa800, 0x2048, 0xa867, 0x0103, 0x009e, 0x0804, 0xabf0, 0xa001, 0xa001, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7090, 0x9086, 0x0074, - 0x1540, 0x080c, 0xdfcc, 0x11b0, 0x6010, 0x00b6, 0x2058, 0x7030, + 0x1540, 0x080c, 0xe009, 0x11b0, 0x6010, 0x00b6, 0x2058, 0x7030, 0xd08c, 0x0128, 0xb800, 0xd0bc, 0x0110, 0xc0c5, 0xb802, 0x00f9, - 0x00be, 0x2001, 0x0006, 0x080c, 0x6570, 0x080c, 0x321e, 0x080c, - 0xabdf, 0x0098, 0x2001, 0x000a, 0x080c, 0x6570, 0x080c, 0x321e, - 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9207, 0x080c, 0x9684, - 0x0020, 0x2001, 0x0001, 0x080c, 0xb812, 0x00ee, 0x0005, 0x00d6, - 0xb800, 0xd084, 0x0160, 0x9006, 0x080c, 0x655c, 0x2069, 0x1847, - 0x6804, 0xd0a4, 0x0120, 0x2001, 0x0006, 0x080c, 0x659c, 0x00de, + 0x00be, 0x2001, 0x0006, 0x080c, 0x6594, 0x080c, 0x323e, 0x080c, + 0xabf0, 0x0098, 0x2001, 0x000a, 0x080c, 0x6594, 0x080c, 0x323e, + 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, + 0x0020, 0x2001, 0x0001, 0x080c, 0xb832, 0x00ee, 0x0005, 0x00d6, + 0xb800, 0xd084, 0x0160, 0x9006, 0x080c, 0x6580, 0x2069, 0x1847, + 0x6804, 0xd0a4, 0x0120, 0x2001, 0x0006, 0x080c, 0x65c0, 0x00de, 0x0005, 0x00b6, 0x0096, 0x00d6, 0x2011, 0x1824, 0x2204, 0x9086, - 0x0074, 0x1904, 0xb7e7, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x007e, - 0x1120, 0x080c, 0xba28, 0x0804, 0xb74b, 0x080c, 0xba1d, 0x6010, + 0x0074, 0x1904, 0xb807, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x007e, + 0x1120, 0x080c, 0xba48, 0x0804, 0xb76b, 0x080c, 0xba3d, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x0080, 0x1510, 0x6014, 0x9005, 0x01a8, 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, - 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xce30, 0x0030, 0xa807, + 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xce63, 0x0030, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, 0x2001, 0x0006, 0x080c, - 0x6570, 0x080c, 0x321e, 0x080c, 0xabdf, 0x0804, 0xb7ec, 0x080c, - 0xb7fa, 0x6014, 0x9005, 0x0190, 0x2048, 0xa868, 0xd0f4, 0x01e8, + 0x6594, 0x080c, 0x323e, 0x080c, 0xabf0, 0x0804, 0xb80c, 0x080c, + 0xb81a, 0x6014, 0x9005, 0x0190, 0x2048, 0xa868, 0xd0f4, 0x01e8, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1d08, 0x2001, 0x0000, - 0x900e, 0x2011, 0x4000, 0x080c, 0xce30, 0x08f8, 0x080c, 0xb7f0, - 0x0160, 0x9006, 0x080c, 0x655c, 0x2001, 0x0004, 0x080c, 0x659c, - 0x2001, 0x0007, 0x080c, 0x6570, 0x08a0, 0x2001, 0x0004, 0x080c, - 0x6570, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x9207, 0x080c, - 0x9684, 0x0804, 0xb7ec, 0xb85c, 0xd0e4, 0x01d8, 0x080c, 0xcc5d, - 0x080c, 0x74c8, 0x0118, 0xd0dc, 0x1904, 0xb70d, 0x2011, 0x1837, + 0x900e, 0x2011, 0x4000, 0x080c, 0xce63, 0x08f8, 0x080c, 0xb810, + 0x0160, 0x9006, 0x080c, 0x6580, 0x2001, 0x0004, 0x080c, 0x65c0, + 0x2001, 0x0007, 0x080c, 0x6594, 0x08a0, 0x2001, 0x0004, 0x080c, + 0x6594, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x9240, 0x080c, + 0x96bd, 0x0804, 0xb80c, 0xb85c, 0xd0e4, 0x01d8, 0x080c, 0xcc90, + 0x080c, 0x74ec, 0x0118, 0xd0dc, 0x1904, 0xb72d, 0x2011, 0x1837, 0x2204, 0xc0ad, 0x2012, 0x2001, 0x196c, 0x2004, 0x00f6, 0x2079, - 0x0100, 0x78e3, 0x0000, 0x080c, 0x2688, 0x78e2, 0x00fe, 0x0804, - 0xb70d, 0x080c, 0xcc9e, 0x2011, 0x1837, 0x2204, 0xc0a5, 0x2012, - 0x0006, 0x080c, 0xe15c, 0x000e, 0x1904, 0xb70d, 0xc0b5, 0x2012, - 0x2001, 0x0006, 0x080c, 0x6570, 0x9006, 0x080c, 0x655c, 0x00c6, + 0x0100, 0x78e3, 0x0000, 0x080c, 0x26a4, 0x78e2, 0x00fe, 0x0804, + 0xb72d, 0x080c, 0xccd1, 0x2011, 0x1837, 0x2204, 0xc0a5, 0x2012, + 0x0006, 0x080c, 0xe199, 0x000e, 0x1904, 0xb72d, 0xc0b5, 0x2012, + 0x2001, 0x0006, 0x080c, 0x6594, 0x9006, 0x080c, 0x6580, 0x00c6, 0x2001, 0x180f, 0x2004, 0xd09c, 0x0520, 0x00f6, 0x2079, 0x0100, 0x00e6, 0x2071, 0x1800, 0x700c, 0x9084, 0x00ff, 0x78e6, 0x707e, 0x7010, 0x78ea, 0x7082, 0x908c, 0x00ff, 0x00ee, 0x780c, 0xc0b5, - 0x780e, 0x00fe, 0x080c, 0x265d, 0x00f6, 0x2100, 0x900e, 0x080c, - 0x2614, 0x795e, 0x00fe, 0x9186, 0x0081, 0x01d8, 0x2009, 0x0081, + 0x780e, 0x00fe, 0x080c, 0x2679, 0x00f6, 0x2100, 0x900e, 0x080c, + 0x2630, 0x795e, 0x00fe, 0x9186, 0x0081, 0x01d8, 0x2009, 0x0081, 0x00c8, 0x2009, 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, 0x7932, - 0x7936, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x265d, 0x00f6, - 0x2079, 0x1800, 0x7982, 0x2100, 0x900e, 0x080c, 0x2614, 0x795e, - 0x00fe, 0x8108, 0x080c, 0x65bf, 0x2b00, 0x00ce, 0x1904, 0xb70d, + 0x7936, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x2679, 0x00f6, + 0x2079, 0x1800, 0x7982, 0x2100, 0x900e, 0x080c, 0x2630, 0x795e, + 0x00fe, 0x8108, 0x080c, 0x65e3, 0x2b00, 0x00ce, 0x1904, 0xb72d, 0x6012, 0x2009, 0x180f, 0x210c, 0xd19c, 0x0150, 0x2009, 0x027c, 0x210c, 0x918c, 0x00ff, 0xb912, 0x2009, 0x027d, 0x210c, 0xb916, - 0x2001, 0x0002, 0x080c, 0x6570, 0x6023, 0x0001, 0x6003, 0x0001, - 0x6007, 0x0002, 0x080c, 0x9207, 0x080c, 0x9684, 0x0028, 0x080c, - 0xb5a6, 0x2001, 0x0001, 0x0431, 0x00de, 0x009e, 0x00be, 0x0005, + 0x2001, 0x0002, 0x080c, 0x6594, 0x6023, 0x0001, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0028, 0x080c, + 0xb5c6, 0x2001, 0x0001, 0x0431, 0x00de, 0x009e, 0x00be, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0a4, 0x0120, 0x2001, 0x1848, 0x2004, - 0xd0ac, 0x0005, 0x00e6, 0x080c, 0xe699, 0x0190, 0x2071, 0x0260, + 0xd0ac, 0x0005, 0x00e6, 0x080c, 0xe6d6, 0x0190, 0x2071, 0x0260, 0x7108, 0x720c, 0x918c, 0x00ff, 0x1118, 0x9284, 0xff00, 0x0140, 0x6010, 0x2058, 0xb8a0, 0x9084, 0xff80, 0x1110, 0xb912, 0xba16, 0x00ee, 0x0005, 0x2030, 0x9005, 0x0158, 0x2001, 0x0007, 0x080c, - 0x6570, 0x080c, 0x56e9, 0x1120, 0x2001, 0x0007, 0x080c, 0x659c, + 0x6594, 0x080c, 0x5709, 0x1120, 0x2001, 0x0007, 0x080c, 0x65c0, 0x2600, 0x9005, 0x11b0, 0x6014, 0x0096, 0x2048, 0xa868, 0x009e, 0xd0fc, 0x1178, 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, 0xbba0, - 0x00be, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, 0x4b09, 0x004e, - 0x003e, 0x080c, 0x321e, 0x6020, 0x9086, 0x000a, 0x1108, 0x0005, - 0x0804, 0xabdf, 0x00b6, 0x00e6, 0x0026, 0x0016, 0x2071, 0x1800, - 0x7090, 0x9086, 0x0014, 0x1904, 0xb89a, 0x080c, 0x56e9, 0x1170, + 0x00be, 0x2021, 0x0004, 0x2011, 0x8014, 0x080c, 0x4b29, 0x004e, + 0x003e, 0x080c, 0x323e, 0x6020, 0x9086, 0x000a, 0x1108, 0x0005, + 0x0804, 0xabf0, 0x00b6, 0x00e6, 0x0026, 0x0016, 0x2071, 0x1800, + 0x7090, 0x9086, 0x0014, 0x1904, 0xb8ba, 0x080c, 0x5709, 0x1170, 0x6014, 0x9005, 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, 0xbba0, - 0x2021, 0x0006, 0x080c, 0x4cc0, 0x004e, 0x003e, 0x00d6, 0x6010, - 0x2058, 0x080c, 0x66bb, 0x080c, 0xb6c7, 0x00de, 0x080c, 0xbaee, + 0x2021, 0x0006, 0x080c, 0x4ce0, 0x004e, 0x003e, 0x00d6, 0x6010, + 0x2058, 0x080c, 0x66df, 0x080c, 0xb6e7, 0x00de, 0x080c, 0xbb0e, 0x1588, 0x6010, 0x2058, 0xb890, 0x9005, 0x0560, 0x2001, 0x0006, - 0x080c, 0x6570, 0x0096, 0x6014, 0x904d, 0x01d0, 0xa864, 0x9084, + 0x080c, 0x6594, 0x0096, 0x6014, 0x904d, 0x01d0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0000, 0x900e, 0x2011, - 0x4000, 0x080c, 0xce30, 0x0060, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x4000, 0x080c, 0xce63, 0x0060, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0029, 0x0130, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, - 0x009e, 0x080c, 0x321e, 0x6020, 0x9086, 0x000a, 0x0140, 0x080c, - 0xabdf, 0x0028, 0x080c, 0xb5a6, 0x9006, 0x080c, 0xb812, 0x001e, + 0x009e, 0x080c, 0x323e, 0x6020, 0x9086, 0x000a, 0x0140, 0x080c, + 0xabf0, 0x0028, 0x080c, 0xb5c6, 0x9006, 0x080c, 0xb832, 0x001e, 0x002e, 0x00ee, 0x00be, 0x0005, 0x2011, 0x1824, 0x2204, 0x9086, - 0x0014, 0x1160, 0x2001, 0x0002, 0x080c, 0x6570, 0x6003, 0x0001, - 0x6007, 0x0001, 0x080c, 0x9207, 0x0804, 0x9684, 0x2001, 0x0001, - 0x0804, 0xb812, 0x2030, 0x2011, 0x1824, 0x2204, 0x9086, 0x0004, - 0x1148, 0x96b6, 0x000b, 0x1120, 0x2001, 0x0007, 0x080c, 0x6570, - 0x0804, 0xabdf, 0x2001, 0x0001, 0x0804, 0xb812, 0x0002, 0xb68f, - 0xb8e6, 0xb68f, 0xb927, 0xb68f, 0xb9d4, 0xb8db, 0xb68f, 0xb68f, - 0xb9e8, 0xb68f, 0xb9fa, 0x6604, 0x9686, 0x0003, 0x0904, 0xb842, - 0x96b6, 0x001e, 0x1110, 0x080c, 0xabdf, 0x0005, 0x00b6, 0x00d6, - 0x00c6, 0x080c, 0xba0c, 0x11a0, 0x9006, 0x080c, 0x655c, 0x080c, - 0x31ef, 0x080c, 0xcf66, 0x2001, 0x0002, 0x080c, 0x6570, 0x6003, - 0x0001, 0x6007, 0x0002, 0x080c, 0x9207, 0x080c, 0x9684, 0x0418, + 0x0014, 0x1160, 0x2001, 0x0002, 0x080c, 0x6594, 0x6003, 0x0001, + 0x6007, 0x0001, 0x080c, 0x9240, 0x0804, 0x96bd, 0x2001, 0x0001, + 0x0804, 0xb832, 0x2030, 0x2011, 0x1824, 0x2204, 0x9086, 0x0004, + 0x1148, 0x96b6, 0x000b, 0x1120, 0x2001, 0x0007, 0x080c, 0x6594, + 0x0804, 0xabf0, 0x2001, 0x0001, 0x0804, 0xb832, 0x0002, 0xb6af, + 0xb906, 0xb6af, 0xb947, 0xb6af, 0xb9f4, 0xb8fb, 0xb6af, 0xb6af, + 0xba08, 0xb6af, 0xba1a, 0x6604, 0x9686, 0x0003, 0x0904, 0xb862, + 0x96b6, 0x001e, 0x1110, 0x080c, 0xabf0, 0x0005, 0x00b6, 0x00d6, + 0x00c6, 0x080c, 0xba2c, 0x11a0, 0x9006, 0x080c, 0x6580, 0x080c, + 0x320f, 0x080c, 0xcf99, 0x2001, 0x0002, 0x080c, 0x6594, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0418, 0x2009, 0x026e, 0x2104, 0x9086, 0x0009, 0x1160, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0170, 0x8001, 0xb842, 0x601b, 0x000a, 0x0088, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, - 0x1900, 0x1108, 0x08a0, 0x080c, 0x31ef, 0x080c, 0xcf66, 0x2001, - 0x0001, 0x080c, 0xb812, 0x00ce, 0x00de, 0x00be, 0x0005, 0x0096, - 0x00b6, 0x0026, 0x9016, 0x080c, 0xba1a, 0x00d6, 0x2069, 0x197b, + 0x1900, 0x1108, 0x08a0, 0x080c, 0x320f, 0x080c, 0xcf99, 0x2001, + 0x0001, 0x080c, 0xb832, 0x00ce, 0x00de, 0x00be, 0x0005, 0x0096, + 0x00b6, 0x0026, 0x9016, 0x080c, 0xba3a, 0x00d6, 0x2069, 0x197b, 0x2d04, 0x9005, 0x0168, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x2069, 0x1820, 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, - 0x00de, 0x0088, 0x9006, 0x080c, 0x655c, 0x2001, 0x0002, 0x080c, - 0x6570, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9207, 0x080c, - 0x9684, 0x0804, 0xb9a4, 0x080c, 0xc832, 0x01b0, 0x6014, 0x2048, + 0x00de, 0x0088, 0x9006, 0x080c, 0x6580, 0x2001, 0x0002, 0x080c, + 0x6594, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9240, 0x080c, + 0x96bd, 0x0804, 0xb9c4, 0x080c, 0xc865, 0x01b0, 0x6014, 0x2048, 0xa864, 0x2010, 0x9086, 0x0139, 0x1138, 0x6007, 0x0016, 0x2001, - 0x0002, 0x080c, 0xce8a, 0x00b0, 0x6014, 0x2048, 0xa864, 0xd0fc, + 0x0002, 0x080c, 0xcebd, 0x00b0, 0x6014, 0x2048, 0xa864, 0xd0fc, 0x0118, 0x2001, 0x0001, 0x0ca8, 0x2001, 0x180e, 0x2004, 0xd0dc, 0x0148, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x1110, - 0x9006, 0x0c38, 0x080c, 0xb5a6, 0x2009, 0x026e, 0x2134, 0x96b4, + 0x9006, 0x0c38, 0x080c, 0xb5c6, 0x2009, 0x026e, 0x2134, 0x96b4, 0x00ff, 0x9686, 0x0005, 0x0520, 0x9686, 0x000b, 0x01c8, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x1118, 0x9686, 0x0009, 0x01c0, 0x9086, 0x1900, 0x1168, 0x9686, 0x0009, 0x0190, 0x2001, 0x0004, - 0x080c, 0x6570, 0x2001, 0x0028, 0x601a, 0x6007, 0x0052, 0x0020, - 0x2001, 0x0001, 0x080c, 0xb812, 0x002e, 0x00be, 0x009e, 0x0005, - 0x9286, 0x0139, 0x0160, 0x6014, 0x2048, 0x080c, 0xc832, 0x0140, + 0x080c, 0x6594, 0x2001, 0x0028, 0x601a, 0x6007, 0x0052, 0x0020, + 0x2001, 0x0001, 0x080c, 0xb832, 0x002e, 0x00be, 0x009e, 0x0005, + 0x9286, 0x0139, 0x0160, 0x6014, 0x2048, 0x080c, 0xc865, 0x0140, 0xa864, 0x9086, 0x0139, 0x0118, 0xa868, 0xd0fc, 0x0108, 0x0c40, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0138, 0x8001, 0xb842, 0x601b, 0x000a, 0x6007, 0x0016, 0x08f0, 0xb8a0, 0x9086, - 0x007e, 0x1138, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fb7, 0x00ee, - 0x0010, 0x080c, 0x31ef, 0x0860, 0x080c, 0xba1a, 0x1160, 0x2001, - 0x0004, 0x080c, 0x6570, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, - 0x9207, 0x0804, 0x9684, 0x080c, 0xb5a6, 0x9006, 0x0804, 0xb812, - 0x0489, 0x1160, 0x2001, 0x0008, 0x080c, 0x6570, 0x6003, 0x0001, - 0x6007, 0x0005, 0x080c, 0x9207, 0x0804, 0x9684, 0x2001, 0x0001, - 0x0804, 0xb812, 0x00f9, 0x1160, 0x2001, 0x000a, 0x080c, 0x6570, - 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9207, 0x0804, 0x9684, - 0x2001, 0x0001, 0x0804, 0xb812, 0x2009, 0x026e, 0x2104, 0x9086, + 0x007e, 0x1138, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fd7, 0x00ee, + 0x0010, 0x080c, 0x320f, 0x0860, 0x080c, 0xba3a, 0x1160, 0x2001, + 0x0004, 0x080c, 0x6594, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, + 0x9240, 0x0804, 0x96bd, 0x080c, 0xb5c6, 0x9006, 0x0804, 0xb832, + 0x0489, 0x1160, 0x2001, 0x0008, 0x080c, 0x6594, 0x6003, 0x0001, + 0x6007, 0x0005, 0x080c, 0x9240, 0x0804, 0x96bd, 0x2001, 0x0001, + 0x0804, 0xb832, 0x00f9, 0x1160, 0x2001, 0x000a, 0x080c, 0x6594, + 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x9240, 0x0804, 0x96bd, + 0x2001, 0x0001, 0x0804, 0xb832, 0x2009, 0x026e, 0x2104, 0x9086, 0x0003, 0x1138, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x2a00, 0x0005, 0x9085, 0x0001, 0x0005, 0x00b6, 0x00c6, 0x0016, - 0x6110, 0x2158, 0x080c, 0x662f, 0x001e, 0x00ce, 0x00be, 0x0005, + 0x6110, 0x2158, 0x080c, 0x6653, 0x001e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6010, 0x2058, - 0x2009, 0x1837, 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, 0xbac0, - 0x0560, 0x2009, 0x1837, 0x2104, 0xc0cd, 0x200a, 0x080c, 0x6a66, - 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, 0xe2d9, 0x2001, + 0x2009, 0x1837, 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, 0xbae0, + 0x0560, 0x2009, 0x1837, 0x2104, 0xc0cd, 0x200a, 0x080c, 0x6a8a, + 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, 0xe316, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0001, - 0x080c, 0x31b4, 0x00e6, 0x2071, 0x1800, 0x080c, 0x2fc0, 0x00ee, - 0x00c6, 0x0156, 0x20a9, 0x0781, 0x2009, 0x007f, 0x080c, 0x32f8, - 0x8108, 0x1f04, 0xba5e, 0x015e, 0x00ce, 0x080c, 0xba1d, 0x2071, + 0x080c, 0x31d4, 0x00e6, 0x2071, 0x1800, 0x080c, 0x2fe0, 0x00ee, + 0x00c6, 0x0156, 0x20a9, 0x0781, 0x2009, 0x007f, 0x080c, 0x3318, + 0x8108, 0x1f04, 0xba7e, 0x015e, 0x00ce, 0x080c, 0xba3d, 0x2071, 0x0260, 0x2079, 0x0200, 0x7817, 0x0001, 0x2001, 0x1837, 0x200c, 0xc1c5, 0x7018, 0xd0fc, 0x0110, 0xd0dc, 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, 0x7817, 0x0000, 0x2001, 0x1837, 0x2102, 0x2079, 0x0100, 0x2e04, 0x9084, 0x00ff, 0x2069, 0x181f, 0x206a, 0x78e6, 0x0006, 0x8e70, 0x2e04, 0x2069, 0x1820, 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, 0x9084, 0xff00, 0x001e, 0x9105, 0x2009, 0x182c, - 0x200a, 0x2200, 0x9084, 0x00ff, 0x2008, 0x080c, 0x265d, 0x080c, - 0x74c8, 0x0170, 0x2071, 0x0260, 0x2069, 0x1981, 0x7048, 0x206a, - 0x704c, 0x6806, 0x7050, 0x680a, 0x7054, 0x680e, 0x080c, 0xcc5d, - 0x0040, 0x2001, 0x0006, 0x080c, 0x6570, 0x080c, 0x321e, 0x080c, - 0xabdf, 0x001e, 0x003e, 0x00de, 0x00ee, 0x00fe, 0x00be, 0x0005, + 0x200a, 0x2200, 0x9084, 0x00ff, 0x2008, 0x080c, 0x2679, 0x080c, + 0x74ec, 0x0170, 0x2071, 0x0260, 0x2069, 0x1981, 0x7048, 0x206a, + 0x704c, 0x6806, 0x7050, 0x680a, 0x7054, 0x680e, 0x080c, 0xcc90, + 0x0040, 0x2001, 0x0006, 0x080c, 0x6594, 0x080c, 0x323e, 0x080c, + 0xabf0, 0x001e, 0x003e, 0x00de, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x0096, 0x0026, 0x0036, 0x00e6, 0x0156, 0x2019, 0x182c, 0x231c, 0x83ff, 0x01f0, 0x2071, 0x0260, 0x7200, 0x9294, 0x00ff, 0x7004, 0x9084, 0xff00, 0x9205, 0x9306, 0x1198, 0x2011, 0x0276, 0x20a9, - 0x0004, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbb5, 0x1148, 0x2011, - 0x027a, 0x20a9, 0x0004, 0x2019, 0x0006, 0x080c, 0xbbb5, 0x1100, + 0x0004, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbd5, 0x1148, 0x2011, + 0x027a, 0x20a9, 0x0004, 0x2019, 0x0006, 0x080c, 0xbbd5, 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, 0x009e, 0x0005, 0x00e6, 0x2071, 0x0260, 0x7034, 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, 0x0800, 0x1188, 0x703c, 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, 0x0100, @@ -5782,80 +5786,80 @@ unsigned short risc_code01[] = { 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x0096, 0x00c6, 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2029, 0x19f2, 0x252c, 0x2021, 0x19f9, 0x2424, 0x2061, 0x1ddc, 0x2071, - 0x1800, 0x7254, 0x7074, 0x9202, 0x1a04, 0xbb81, 0x080c, 0x8b72, - 0x0904, 0xbb7a, 0x080c, 0xe30a, 0x0904, 0xbb7a, 0x6720, 0x9786, - 0x0007, 0x0904, 0xbb7a, 0x2500, 0x9c06, 0x0904, 0xbb7a, 0x2400, - 0x9c06, 0x0904, 0xbb7a, 0x3e08, 0x9186, 0x0002, 0x1148, 0x6010, + 0x1800, 0x7254, 0x7074, 0x9202, 0x1a04, 0xbba1, 0x080c, 0x8ba9, + 0x0904, 0xbb9a, 0x080c, 0xe347, 0x0904, 0xbb9a, 0x6720, 0x9786, + 0x0007, 0x0904, 0xbb9a, 0x2500, 0x9c06, 0x0904, 0xbb9a, 0x2400, + 0x9c06, 0x0904, 0xbb9a, 0x3e08, 0x9186, 0x0002, 0x1148, 0x6010, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1590, 0x00c6, 0x6043, 0xffff, 0x6000, 0x9086, 0x0004, 0x1110, 0x080c, - 0x1a77, 0x9786, 0x000a, 0x0148, 0x080c, 0xca47, 0x1130, 0x00ce, - 0x080c, 0xb5a6, 0x080c, 0xac1a, 0x00e8, 0x6014, 0x2048, 0x080c, - 0xc832, 0x01a8, 0x9786, 0x0003, 0x1530, 0xa867, 0x0103, 0xa87c, - 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fec, 0x009e, - 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d6f, 0x080c, 0xca21, 0x080c, - 0xac1a, 0x00ce, 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1210, 0x0804, - 0xbb21, 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, - 0x009e, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, 0x080c, 0xe27c, + 0x1a94, 0x9786, 0x000a, 0x0148, 0x080c, 0xca7a, 0x1130, 0x00ce, + 0x080c, 0xb5c6, 0x080c, 0xac2b, 0x00e8, 0x6014, 0x2048, 0x080c, + 0xc865, 0x01a8, 0x9786, 0x0003, 0x1530, 0xa867, 0x0103, 0xa87c, + 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0ff9, 0x009e, + 0xab7a, 0xa877, 0x0000, 0x080c, 0x6d93, 0x080c, 0xca54, 0x080c, + 0xac2b, 0x00ce, 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1210, 0x0804, + 0xbb41, 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, + 0x009e, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, 0x080c, 0xe2b9, 0x0c30, 0x9786, 0x0009, 0x1148, 0x6000, 0x9086, 0x0004, 0x0d08, - 0x2009, 0x004c, 0x080c, 0xac7c, 0x08e0, 0x9786, 0x000a, 0x0938, + 0x2009, 0x004c, 0x080c, 0xac8d, 0x08e0, 0x9786, 0x000a, 0x0938, 0x0820, 0x220c, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, - 0xbba1, 0x9006, 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, + 0xbbc1, 0x9006, 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, 0x0008, 0x9006, 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, 0x0016, 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9300, 0x2098, 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, 0x910e, 0x1140, 0x8210, 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, 0x0000, 0x918d, 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, - 0x810f, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xbbdf, + 0x810f, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xbbff, 0x9006, 0x0005, 0x918d, 0x0001, 0x0005, 0x6004, 0x908a, 0x0053, - 0x1a0c, 0x0d7d, 0x080c, 0xca36, 0x0120, 0x080c, 0xca47, 0x0158, - 0x0028, 0x080c, 0x321e, 0x080c, 0xca47, 0x0128, 0x080c, 0x95c6, - 0x080c, 0xabdf, 0x0005, 0x080c, 0xb5a6, 0x0cc0, 0x9182, 0x0057, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbc25, 0xbc25, - 0xbc25, 0xbc25, 0xbc25, 0xbc25, 0xbc25, 0xbc25, 0xbc25, 0xbc25, - 0xbc25, 0xbc27, 0xbc27, 0xbc27, 0xbc27, 0xbc25, 0xbc25, 0xbc25, - 0xbc27, 0xbc25, 0xbc25, 0xbc25, 0xbc25, 0x080c, 0x0d7d, 0x600b, + 0x1a0c, 0x0d7d, 0x080c, 0xca69, 0x0120, 0x080c, 0xca7a, 0x0158, + 0x0028, 0x080c, 0x323e, 0x080c, 0xca7a, 0x0128, 0x080c, 0x95ff, + 0x080c, 0xabf0, 0x0005, 0x080c, 0xb5c6, 0x0cc0, 0x9182, 0x0057, + 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbc45, 0xbc45, + 0xbc45, 0xbc45, 0xbc45, 0xbc45, 0xbc45, 0xbc45, 0xbc45, 0xbc45, + 0xbc45, 0xbc47, 0xbc47, 0xbc47, 0xbc47, 0xbc45, 0xbc45, 0xbc45, + 0xbc47, 0xbc45, 0xbc45, 0xbc45, 0xbc45, 0x080c, 0x0d7d, 0x600b, 0xffff, 0x6003, 0x000f, 0x6106, 0x0126, 0x2091, 0x8000, 0x080c, - 0xcf69, 0x2009, 0x8000, 0x080c, 0x9200, 0x012e, 0x0005, 0x9186, - 0x0013, 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, 0xbcac, 0x9186, - 0x0027, 0x1520, 0x080c, 0x95c6, 0x080c, 0x31ef, 0x080c, 0xcf66, - 0x0096, 0x6114, 0x2148, 0x080c, 0xc832, 0x0198, 0x080c, 0xca47, - 0x1118, 0x080c, 0xb5a6, 0x0068, 0xa867, 0x0103, 0xa87b, 0x0029, - 0xa877, 0x0000, 0xa97c, 0xc1c5, 0xa97e, 0x080c, 0x6d7b, 0x080c, - 0xca21, 0x009e, 0x080c, 0xabdf, 0x0804, 0x9684, 0x9186, 0x0014, + 0xcf9c, 0x2009, 0x8000, 0x080c, 0x9239, 0x012e, 0x0005, 0x9186, + 0x0013, 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, 0xbccc, 0x9186, + 0x0027, 0x1520, 0x080c, 0x95ff, 0x080c, 0x320f, 0x080c, 0xcf99, + 0x0096, 0x6114, 0x2148, 0x080c, 0xc865, 0x0198, 0x080c, 0xca7a, + 0x1118, 0x080c, 0xb5c6, 0x0068, 0xa867, 0x0103, 0xa87b, 0x0029, + 0xa877, 0x0000, 0xa97c, 0xc1c5, 0xa97e, 0x080c, 0x6d9f, 0x080c, + 0xca54, 0x009e, 0x080c, 0xabf0, 0x0804, 0x96bd, 0x9186, 0x0014, 0x1120, 0x6004, 0x9082, 0x0040, 0x0018, 0x080c, 0x0d7d, 0x0005, - 0x0002, 0xbc8a, 0xbc88, 0xbc88, 0xbc88, 0xbc88, 0xbc88, 0xbc88, - 0xbc88, 0xbc88, 0xbc88, 0xbc88, 0xbca3, 0xbca3, 0xbca3, 0xbca3, - 0xbc88, 0xbca3, 0xbc88, 0xbca3, 0xbc88, 0xbc88, 0xbc88, 0xbc88, - 0x080c, 0x0d7d, 0x080c, 0x95c6, 0x0096, 0x6114, 0x2148, 0x080c, - 0xc832, 0x0168, 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, - 0xa880, 0xc0ec, 0xa882, 0x080c, 0x6d7b, 0x080c, 0xca21, 0x009e, - 0x080c, 0xabdf, 0x0005, 0x080c, 0x95c6, 0x080c, 0xca47, 0x090c, - 0xb5a6, 0x080c, 0xabdf, 0x0005, 0x0002, 0xbcc6, 0xbcc4, 0xbcc4, - 0xbcc4, 0xbcc4, 0xbcc4, 0xbcc4, 0xbcc4, 0xbcc4, 0xbcc4, 0xbcc4, - 0xbcc8, 0xbcc8, 0xbcc8, 0xbcc8, 0xbcc4, 0xbcca, 0xbcc4, 0xbcc8, - 0xbcc4, 0xbcc4, 0xbcc4, 0xbcc4, 0x080c, 0x0d7d, 0x080c, 0x0d7d, - 0x080c, 0x0d7d, 0x080c, 0xabdf, 0x0804, 0x9684, 0x9182, 0x0057, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbced, 0xbced, - 0xbced, 0xbced, 0xbced, 0xbd26, 0xbe15, 0xbced, 0xbe21, 0xbced, - 0xbced, 0xbced, 0xbced, 0xbced, 0xbced, 0xbced, 0xbced, 0xbced, - 0xbced, 0xbe21, 0xbcef, 0xbced, 0xbe1f, 0x080c, 0x0d7d, 0x00b6, + 0x0002, 0xbcaa, 0xbca8, 0xbca8, 0xbca8, 0xbca8, 0xbca8, 0xbca8, + 0xbca8, 0xbca8, 0xbca8, 0xbca8, 0xbcc3, 0xbcc3, 0xbcc3, 0xbcc3, + 0xbca8, 0xbcc3, 0xbca8, 0xbcc3, 0xbca8, 0xbca8, 0xbca8, 0xbca8, + 0x080c, 0x0d7d, 0x080c, 0x95ff, 0x0096, 0x6114, 0x2148, 0x080c, + 0xc865, 0x0168, 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, + 0xa880, 0xc0ec, 0xa882, 0x080c, 0x6d9f, 0x080c, 0xca54, 0x009e, + 0x080c, 0xabf0, 0x0005, 0x080c, 0x95ff, 0x080c, 0xca7a, 0x090c, + 0xb5c6, 0x080c, 0xabf0, 0x0005, 0x0002, 0xbce6, 0xbce4, 0xbce4, + 0xbce4, 0xbce4, 0xbce4, 0xbce4, 0xbce4, 0xbce4, 0xbce4, 0xbce4, + 0xbce8, 0xbce8, 0xbce8, 0xbce8, 0xbce4, 0xbcea, 0xbce4, 0xbce8, + 0xbce4, 0xbce4, 0xbce4, 0xbce4, 0x080c, 0x0d7d, 0x080c, 0x0d7d, + 0x080c, 0x0d7d, 0x080c, 0xabf0, 0x0804, 0x96bd, 0x9182, 0x0057, + 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbd0d, 0xbd0d, + 0xbd0d, 0xbd0d, 0xbd0d, 0xbd46, 0xbe35, 0xbd0d, 0xbe41, 0xbd0d, + 0xbd0d, 0xbd0d, 0xbd0d, 0xbd0d, 0xbd0d, 0xbd0d, 0xbd0d, 0xbd0d, + 0xbd0d, 0xbe41, 0xbd0f, 0xbd0d, 0xbe3f, 0x080c, 0x0d7d, 0x00b6, 0x0096, 0x6114, 0x2148, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1508, 0xa87b, 0x0000, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87c, 0xd0ac, - 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbea6, 0x080c, 0x6b91, + 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbec6, 0x080c, 0x6bb5, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0xb8d0, - 0x9005, 0x0110, 0x080c, 0x674b, 0x080c, 0xabdf, 0x009e, 0x00be, + 0x9005, 0x0110, 0x080c, 0x676f, 0x080c, 0xabf0, 0x009e, 0x00be, 0x0005, 0xa87c, 0xd0ac, 0x09e0, 0xa838, 0xa934, 0x9105, 0x09c0, - 0xa880, 0xd0bc, 0x19a8, 0x080c, 0xcb7c, 0x0c80, 0x00b6, 0x0096, + 0xa880, 0xd0bc, 0x19a8, 0x080c, 0xcbaf, 0x0c80, 0x00b6, 0x0096, 0x6114, 0x2148, 0x601c, 0xd0fc, 0x1110, 0x7644, 0x0008, 0x9036, 0x96b4, 0x0fff, 0x86ff, 0x1590, 0x6010, 0x2058, 0xb800, 0xd0bc, - 0x1904, 0xbe04, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0xa87c, - 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbea6, 0x080c, - 0x6b91, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, - 0xb8d0, 0x9005, 0x0110, 0x080c, 0x674b, 0x601c, 0xd0fc, 0x1148, - 0x7044, 0xd0e4, 0x1904, 0xbde8, 0x080c, 0xabdf, 0x009e, 0x00be, + 0x1904, 0xbe24, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0xa87c, + 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbec6, 0x080c, + 0x6bb5, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, + 0xb8d0, 0x9005, 0x0110, 0x080c, 0x676f, 0x601c, 0xd0fc, 0x1148, + 0x7044, 0xd0e4, 0x1904, 0xbe08, 0x080c, 0xabf0, 0x009e, 0x00be, 0x0005, 0x2009, 0x0211, 0x210c, 0x080c, 0x0d7d, 0x968c, 0x0c00, - 0x0150, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xbdec, 0x7348, + 0x0150, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xbe0c, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0508, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00e8, 0xd6dc, 0x01a0, 0xa87b, 0x0015, 0xa87c, 0xd0ac, 0x0170, 0xa938, 0xaa34, 0x2100, @@ -5863,54 +5867,54 @@ unsigned short risc_code01[] = { 0xa992, 0xaa8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0x901e, 0xd6c4, 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, - 0x0804, 0xbd32, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, + 0x0804, 0xbd52, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, - 0x0025, 0x080c, 0xc3f8, 0x003e, 0xd6cc, 0x0904, 0xbd47, 0x7154, - 0xa98a, 0x81ff, 0x0904, 0xbd47, 0x9192, 0x0021, 0x1278, 0x8304, - 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xc3f8, 0x2011, 0x0205, - 0x2013, 0x0000, 0x080c, 0xcef6, 0x0804, 0xbd47, 0xa868, 0xd0fc, + 0x0025, 0x080c, 0xc41b, 0x003e, 0xd6cc, 0x0904, 0xbd67, 0x7154, + 0xa98a, 0x81ff, 0x0904, 0xbd67, 0x9192, 0x0021, 0x1278, 0x8304, + 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xc41b, 0x2011, 0x0205, + 0x2013, 0x0000, 0x080c, 0xcf29, 0x0804, 0xbd67, 0xa868, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c50, 0x00a6, 0x2950, 0x080c, - 0xc397, 0x00ae, 0x080c, 0xcef6, 0x080c, 0xc3e8, 0x0804, 0xbd49, - 0x080c, 0xcb3f, 0x0804, 0xbd5e, 0xa87c, 0xd0ac, 0x0904, 0xbd6f, - 0xa880, 0xd0bc, 0x1904, 0xbd6f, 0x7348, 0xa838, 0x9306, 0x11c8, - 0x734c, 0xa834, 0x931e, 0x0904, 0xbd6f, 0xd6d4, 0x0190, 0xab38, - 0x9305, 0x0904, 0xbd6f, 0x0068, 0xa87c, 0xd0ac, 0x0904, 0xbd3a, - 0xa838, 0xa934, 0x9105, 0x0904, 0xbd3a, 0xa880, 0xd0bc, 0x1904, - 0xbd3a, 0x080c, 0xcb7c, 0x0804, 0xbd5e, 0x00f6, 0x2079, 0x026c, + 0xc3ba, 0x00ae, 0x080c, 0xcf29, 0x080c, 0xc40b, 0x0804, 0xbd69, + 0x080c, 0xcb72, 0x0804, 0xbd7e, 0xa87c, 0xd0ac, 0x0904, 0xbd8f, + 0xa880, 0xd0bc, 0x1904, 0xbd8f, 0x7348, 0xa838, 0x9306, 0x11c8, + 0x734c, 0xa834, 0x931e, 0x0904, 0xbd8f, 0xd6d4, 0x0190, 0xab38, + 0x9305, 0x0904, 0xbd8f, 0x0068, 0xa87c, 0xd0ac, 0x0904, 0xbd5a, + 0xa838, 0xa934, 0x9105, 0x0904, 0xbd5a, 0xa880, 0xd0bc, 0x1904, + 0xbd5a, 0x080c, 0xcbaf, 0x0804, 0xbd7e, 0x00f6, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x00fe, 0x0021, 0x0005, 0x0011, 0x0005, 0x0005, 0x0096, 0x6003, 0x0002, 0x6007, 0x0043, 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0128, 0x009e, 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0xa9ac, 0x910a, 0x2300, 0xaab0, 0x9213, 0x2600, 0x9102, 0x2500, 0x9203, 0x0e90, 0xac46, 0xab4a, 0xae36, 0xad3a, - 0x6044, 0xd0fc, 0x190c, 0xa8b1, 0x604b, 0x0000, 0x080c, 0x1c3d, - 0x1118, 0x6144, 0x080c, 0x922c, 0x009e, 0x0005, 0x9182, 0x0057, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbe6d, 0xbe6d, - 0xbe6d, 0xbe6d, 0xbe6d, 0xbe6d, 0xbe6d, 0xbe6d, 0xbe6d, 0xbe6d, - 0xbe6f, 0xbe6d, 0xbe6d, 0xbe6d, 0xbe6d, 0xbe80, 0xbe6d, 0xbe6d, - 0xbe6d, 0xbe6d, 0xbea4, 0xbe6d, 0xbe6d, 0x080c, 0x0d7d, 0x6004, - 0x9086, 0x0040, 0x1110, 0x080c, 0x95c6, 0x2019, 0x0001, 0x080c, - 0xa0fa, 0x6003, 0x0002, 0x080c, 0xcf6e, 0x080c, 0x9621, 0x0005, - 0x6004, 0x9086, 0x0040, 0x1110, 0x080c, 0x95c6, 0x2019, 0x0001, - 0x080c, 0xa0fa, 0x080c, 0x9621, 0x080c, 0x31ef, 0x080c, 0xcf66, - 0x0096, 0x6114, 0x2148, 0x080c, 0xc832, 0x0150, 0xa867, 0x0103, - 0xa87b, 0x0029, 0xa877, 0x0000, 0x080c, 0x6d7b, 0x080c, 0xca21, - 0x009e, 0x080c, 0xabdf, 0x0005, 0x080c, 0x0d7d, 0xa87b, 0x0015, + 0x6044, 0xd0fc, 0x190c, 0xa8c2, 0x604b, 0x0000, 0x080c, 0x1c55, + 0x1118, 0x6144, 0x080c, 0x9265, 0x009e, 0x0005, 0x9182, 0x0057, + 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbe8d, 0xbe8d, + 0xbe8d, 0xbe8d, 0xbe8d, 0xbe8d, 0xbe8d, 0xbe8d, 0xbe8d, 0xbe8d, + 0xbe8f, 0xbe8d, 0xbe8d, 0xbe8d, 0xbe8d, 0xbea0, 0xbe8d, 0xbe8d, + 0xbe8d, 0xbe8d, 0xbec4, 0xbe8d, 0xbe8d, 0x080c, 0x0d7d, 0x6004, + 0x9086, 0x0040, 0x1110, 0x080c, 0x95ff, 0x2019, 0x0001, 0x080c, + 0xa133, 0x6003, 0x0002, 0x080c, 0xcfa1, 0x080c, 0x965a, 0x0005, + 0x6004, 0x9086, 0x0040, 0x1110, 0x080c, 0x95ff, 0x2019, 0x0001, + 0x080c, 0xa133, 0x080c, 0x965a, 0x080c, 0x320f, 0x080c, 0xcf99, + 0x0096, 0x6114, 0x2148, 0x080c, 0xc865, 0x0150, 0xa867, 0x0103, + 0xa87b, 0x0029, 0xa877, 0x0000, 0x080c, 0x6d9f, 0x080c, 0xca54, + 0x009e, 0x080c, 0xabf0, 0x0005, 0x080c, 0x0d7d, 0xa87b, 0x0015, 0xd1fc, 0x0180, 0xa87b, 0x0007, 0x8002, 0x8000, 0x810a, 0x9189, 0x0000, 0x0006, 0x0016, 0x2009, 0x1a77, 0x2104, 0x8000, 0x200a, 0x001e, 0x000e, 0xa992, 0xa88e, 0x0005, 0x9182, 0x0057, 0x1220, - 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbedc, 0xbedc, 0xbedc, - 0xbedc, 0xbedc, 0xbede, 0xbedc, 0xbedc, 0xbf9b, 0xbedc, 0xbedc, - 0xbedc, 0xbedc, 0xbedc, 0xbedc, 0xbedc, 0xbedc, 0xbedc, 0xbedc, - 0xc0d9, 0xbedc, 0xc0e3, 0xbedc, 0x080c, 0x0d7d, 0x601c, 0xd0bc, + 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xbefc, 0xbefc, 0xbefc, + 0xbefc, 0xbefc, 0xbefe, 0xbefc, 0xbefc, 0xbfbb, 0xbefc, 0xbefc, + 0xbefc, 0xbefc, 0xbefc, 0xbefc, 0xbefc, 0xbefc, 0xbefc, 0xbefc, + 0xc0f9, 0xbefc, 0xc103, 0xbefc, 0x080c, 0x0d7d, 0x601c, 0xd0bc, 0x0178, 0xd084, 0x0168, 0xd0f4, 0x0120, 0xc084, 0x601e, 0x0804, - 0xbcce, 0x6114, 0x0096, 0x2148, 0xa87c, 0xc0e5, 0xa87e, 0x009e, + 0xbcee, 0x6114, 0x0096, 0x2148, 0xa87c, 0xc0e5, 0xa87e, 0x009e, 0x0076, 0x00a6, 0x00e6, 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, 0x601c, 0xd0fc, 0x1110, 0x7644, 0x0008, 0x9036, 0xb676, 0x96b4, 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, 0x2258, 0xba3c, - 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, 0x0904, 0xbf94, + 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, 0x0904, 0xbfb4, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0xb092, 0x704c, - 0xb08e, 0x9284, 0x0300, 0x0904, 0xbf94, 0x9686, 0x0100, 0x1130, - 0x7064, 0x9005, 0x1118, 0xc6c4, 0xb676, 0x0c38, 0x080c, 0x103a, + 0xb08e, 0x9284, 0x0300, 0x0904, 0xbfb4, 0x9686, 0x0100, 0x1130, + 0x7064, 0x9005, 0x1118, 0xc6c4, 0xb676, 0x0c38, 0x080c, 0x1047, 0x090c, 0x0d7d, 0x2900, 0xb07a, 0xb77c, 0x97bd, 0x0200, 0xb77e, 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, 0x7044, 0x9084, 0xf000, 0x9635, 0xae76, 0x968c, 0x0c00, 0x0120, @@ -5920,1288 +5924,1291 @@ unsigned short risc_code01[] = { 0x0010, 0xa87b, 0x0000, 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, - 0x2011, 0x0025, 0x080c, 0xc3f8, 0x003e, 0xd6cc, 0x01e8, 0x7154, + 0x2011, 0x0025, 0x080c, 0xc41b, 0x003e, 0xd6cc, 0x01e8, 0x7154, 0xa98a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, - 0x0018, 0x2011, 0x0029, 0x080c, 0xc3f8, 0x2011, 0x0205, 0x2013, + 0x0018, 0x2011, 0x0029, 0x080c, 0xc41b, 0x2011, 0x0205, 0x2013, 0x0000, 0x0050, 0xb068, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, - 0x0c68, 0x2950, 0x080c, 0xc397, 0x080c, 0x1a55, 0x009e, 0x00ee, + 0x0c68, 0x2950, 0x080c, 0xc3ba, 0x080c, 0x1a62, 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, 0x2001, 0x1987, 0x2004, 0x604a, 0x0096, 0x6114, 0x2148, 0xa83c, 0xa940, 0x9105, 0x1118, 0xa87c, 0xc0dc, - 0xa87e, 0x6003, 0x0002, 0x080c, 0xcf77, 0x0904, 0xc0d4, 0x604b, + 0xa87e, 0x6003, 0x0002, 0x080c, 0xcfaa, 0x0904, 0xc0f4, 0x604b, 0x0000, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1500, - 0xd1cc, 0x0904, 0xc099, 0xa978, 0xa868, 0xd0fc, 0x0904, 0xc05a, + 0xd1cc, 0x0904, 0xc0b9, 0xa978, 0xa868, 0xd0fc, 0x0904, 0xc07a, 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, 0x00a6, 0x2150, 0xb174, - 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0904, 0xc028, 0x9086, 0x0028, - 0x1904, 0xc014, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x0804, 0xc030, + 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0904, 0xc048, 0x9086, 0x0028, + 0x1904, 0xc034, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x0804, 0xc050, 0x6024, 0xd0f4, 0x11d0, 0xa838, 0xaa34, 0x9205, 0x09c8, 0xa838, 0xaa90, 0x9206, 0x1120, 0xa88c, 0xaa34, 0x9206, 0x0988, 0x6024, 0xd0d4, 0x1148, 0xa9ac, 0xa834, 0x9102, 0x603a, 0xa9b0, 0xa838, 0x9103, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x6010, 0x00b6, 0x2058, 0xb83c, 0x8000, 0xb83e, 0x00be, 0x601c, 0xc0fc, 0x601e, 0x9006, 0xa876, 0xa892, 0xa88e, 0xa87c, 0xc0e4, 0xa87e, 0xd0cc, 0x0140, - 0xc0cc, 0xa87e, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fec, 0x009e, - 0x080c, 0xcb7c, 0x0804, 0xc0d4, 0xd1dc, 0x0158, 0xa87b, 0x0015, - 0xb07b, 0x0015, 0x080c, 0xce19, 0x0118, 0xb174, 0xc1dc, 0xb176, + 0xc0cc, 0xa87e, 0x0096, 0xa878, 0x2048, 0x080c, 0x0ff9, 0x009e, + 0x080c, 0xcbaf, 0x0804, 0xc0f4, 0xd1dc, 0x0158, 0xa87b, 0x0015, + 0xb07b, 0x0015, 0x080c, 0xce4c, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, - 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbea6, + 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbec6, 0xa87c, 0xb07e, 0xa890, 0xb092, 0xa88c, 0xb08e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, 0x20a0, 0x20a9, 0x0020, 0x8a06, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e0, 0x9084, 0xffc0, 0x9080, 0x0019, 0x2098, 0x4003, 0x00ae, 0x000e, 0xa882, 0x000e, 0xa87e, 0x080c, - 0xcef6, 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, 0x0fec, 0x001e, - 0x0804, 0xc0c6, 0x0016, 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, + 0xcf29, 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, 0x0ff9, 0x001e, + 0x0804, 0xc0e6, 0x0016, 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01e0, 0x9086, 0x0028, 0x1128, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x00e0, 0xd1dc, 0x0158, 0xa87b, 0x0015, 0xb07b, - 0x0015, 0x080c, 0xce19, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, + 0x0015, 0x080c, 0xce4c, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, 0xa87c, - 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbea6, 0xa890, - 0xb092, 0xa88c, 0xb08e, 0xa87c, 0xb07e, 0x00ae, 0x080c, 0x0fec, - 0x009e, 0x080c, 0xcef6, 0xa974, 0x0016, 0x080c, 0xc3e8, 0x001e, + 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xbec6, 0xa890, + 0xb092, 0xa88c, 0xb08e, 0xa87c, 0xb07e, 0x00ae, 0x080c, 0x0ff9, + 0x009e, 0x080c, 0xcf29, 0xa974, 0x0016, 0x080c, 0xc40b, 0x001e, 0x0468, 0xa867, 0x0103, 0xa974, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01b0, 0x9086, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00d0, 0xd1dc, - 0x0148, 0xa87b, 0x0015, 0x080c, 0xce19, 0x0118, 0xa974, 0xc1dc, + 0x0148, 0xa87b, 0x0015, 0x080c, 0xce4c, 0x0118, 0xa974, 0xc1dc, 0xa976, 0x0078, 0xd1d4, 0x0118, 0xa87b, 0x0007, 0x0050, 0xa87b, 0x0000, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, - 0xbea6, 0xa974, 0x0016, 0x080c, 0x6b91, 0x001e, 0x6010, 0x00b6, - 0x2058, 0xb8d0, 0x0016, 0x9005, 0x190c, 0x674b, 0x001e, 0x00be, - 0xd1e4, 0x1120, 0x080c, 0xabdf, 0x009e, 0x0005, 0x080c, 0xcb3f, - 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, 0x080c, 0xcf77, 0x190c, - 0x1a63, 0x009e, 0x0005, 0x0096, 0x6114, 0x2148, 0xa83c, 0xa940, + 0xbec6, 0xa974, 0x0016, 0x080c, 0x6bb5, 0x001e, 0x6010, 0x00b6, + 0x2058, 0xb8d0, 0x0016, 0x9005, 0x190c, 0x676f, 0x001e, 0x00be, + 0xd1e4, 0x1120, 0x080c, 0xabf0, 0x009e, 0x0005, 0x080c, 0xcb72, + 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, 0x080c, 0xcfaa, 0x190c, + 0x1a80, 0x009e, 0x0005, 0x0096, 0x6114, 0x2148, 0xa83c, 0xa940, 0x9105, 0x01e8, 0xa877, 0x0000, 0xa87b, 0x0000, 0xa867, 0x0103, 0x00b6, 0x6010, 0x2058, 0xa834, 0xa938, 0x9115, 0x11a0, 0x080c, - 0x6b91, 0xba3c, 0x8211, 0x0208, 0xba3e, 0xb8d0, 0x9005, 0x0110, - 0x080c, 0x674b, 0x080c, 0xabdf, 0x00be, 0x009e, 0x0005, 0xa87c, + 0x6bb5, 0xba3c, 0x8211, 0x0208, 0xba3e, 0xb8d0, 0x9005, 0x0110, + 0x080c, 0x676f, 0x080c, 0xabf0, 0x00be, 0x009e, 0x0005, 0xa87c, 0xc0dc, 0xa87e, 0x08f8, 0xb800, 0xd0bc, 0x1120, 0xa834, 0x080c, - 0xbea6, 0x0c28, 0xa880, 0xd0bc, 0x1dc8, 0x080c, 0xcb7c, 0x0c60, - 0x080c, 0x95c6, 0x0010, 0x080c, 0x9621, 0x601c, 0xd084, 0x0110, - 0x080c, 0x1a77, 0x080c, 0xc832, 0x01f0, 0x0096, 0x6114, 0x2148, - 0x080c, 0xca47, 0x1118, 0x080c, 0xb5a6, 0x00a0, 0xa867, 0x0103, + 0xbec6, 0x0c28, 0xa880, 0xd0bc, 0x1dc8, 0x080c, 0xcbaf, 0x0c60, + 0x080c, 0x95ff, 0x0010, 0x080c, 0x965a, 0x601c, 0xd084, 0x0110, + 0x080c, 0x1a94, 0x080c, 0xc865, 0x01f0, 0x0096, 0x6114, 0x2148, + 0x080c, 0xca7a, 0x1118, 0x080c, 0xb5c6, 0x00a0, 0xa867, 0x0103, 0x2009, 0x180c, 0x210c, 0xd18c, 0x1198, 0xd184, 0x1170, 0x6108, - 0xa97a, 0x918e, 0x0029, 0x1110, 0x080c, 0xe631, 0xa877, 0x0000, - 0x080c, 0x6d7b, 0x009e, 0x0804, 0xac1a, 0xa87b, 0x0004, 0x0cb0, + 0xa97a, 0x918e, 0x0029, 0x1110, 0x080c, 0xe66e, 0xa877, 0x0000, + 0x080c, 0x6d9f, 0x009e, 0x0804, 0xac2b, 0xa87b, 0x0004, 0x0cb0, 0xa87b, 0x0004, 0x0c98, 0x9182, 0x0057, 0x1220, 0x9182, 0x0040, - 0x0208, 0x000a, 0x0005, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, - 0xc16c, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, - 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc16a, 0xc190, - 0xc16a, 0xc16a, 0x080c, 0x0d7d, 0x080c, 0x56dd, 0x01f8, 0x6014, + 0x0208, 0x000a, 0x0005, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, + 0xc18c, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, + 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc18a, 0xc1b0, + 0xc18a, 0xc18a, 0x080c, 0x0d7d, 0x080c, 0x56fd, 0x01f8, 0x6014, 0x7144, 0x918c, 0x0fff, 0x9016, 0xd1c4, 0x0118, 0x7264, 0x9294, 0x00ff, 0x0096, 0x904d, 0x0188, 0xa87b, 0x0000, 0xa864, 0x9086, 0x0139, 0x0128, 0xa867, 0x0103, 0xa976, 0xaa96, 0x0030, 0xa897, - 0x4000, 0xa99a, 0xaa9e, 0x080c, 0x6d7b, 0x009e, 0x0804, 0xabdf, - 0x080c, 0x56dd, 0x0dd8, 0x6014, 0x900e, 0x9016, 0x0c10, 0x9182, - 0x0085, 0x0002, 0xc1a9, 0xc1a7, 0xc1a7, 0xc1b5, 0xc1a7, 0xc1a7, - 0xc1a7, 0xc1a7, 0xc1a7, 0xc1a7, 0xc1a7, 0xc1a7, 0xc1a7, 0x080c, + 0x4000, 0xa99a, 0xaa9e, 0x080c, 0x6d9f, 0x009e, 0x0804, 0xabf0, + 0x080c, 0x56fd, 0x0dd8, 0x6014, 0x900e, 0x9016, 0x0c10, 0x9182, + 0x0085, 0x0002, 0xc1c9, 0xc1c7, 0xc1c7, 0xc1d5, 0xc1c7, 0xc1c7, + 0xc1c7, 0xc1c7, 0xc1c7, 0xc1c7, 0xc1c7, 0xc1c7, 0xc1c7, 0x080c, 0x0d7d, 0x6003, 0x0001, 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, - 0x8020, 0x080c, 0x9200, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, - 0x00e6, 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xc820, + 0x8020, 0x080c, 0x9239, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, + 0x00e6, 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xc853, 0x01a0, 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, 0x6010, 0x6d10, - 0x952e, 0x1158, 0x00c6, 0x2d60, 0x080c, 0xc423, 0x00ce, 0x0128, + 0x952e, 0x1158, 0x00c6, 0x2d60, 0x080c, 0xc446, 0x00ce, 0x0128, 0x6803, 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, - 0x0001, 0x2009, 0x8020, 0x080c, 0x9200, 0x9280, 0x0004, 0x00b6, - 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, 0x6824, 0xd0ec, 0x0128, - 0x00c6, 0x2260, 0x080c, 0xcb7c, 0x00ce, 0x00ee, 0x00de, 0x005e, - 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, - 0x0a0c, 0x0d7d, 0x908a, 0x0092, 0x1a0c, 0x0d7d, 0x9082, 0x0085, - 0x00e2, 0x9186, 0x0027, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d7d, - 0x080c, 0x95c6, 0x0096, 0x6014, 0x2048, 0x080c, 0xc832, 0x0140, - 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, 0x080c, 0x6d7b, - 0x009e, 0x080c, 0xac1a, 0x0804, 0x9684, 0xc22a, 0xc22c, 0xc22c, - 0xc22a, 0xc22a, 0xc22a, 0xc22a, 0xc22a, 0xc22a, 0xc22a, 0xc22a, - 0xc22a, 0xc22a, 0x080c, 0x0d7d, 0x080c, 0xac1a, 0x0005, 0x9186, - 0x0013, 0x1130, 0x6004, 0x9082, 0x0085, 0x2008, 0x0804, 0xc27b, - 0x9186, 0x0027, 0x1558, 0x080c, 0x95c6, 0x080c, 0x31ef, 0x080c, - 0xcf66, 0x0096, 0x6014, 0x2048, 0x080c, 0xc832, 0x0150, 0xa867, - 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, 0x080c, 0x6d7b, 0x080c, - 0xca21, 0x009e, 0x080c, 0xabdf, 0x0005, 0x9186, 0x0089, 0x0118, - 0x9186, 0x008a, 0x1140, 0x080c, 0xaa9a, 0x0128, 0x9086, 0x000c, - 0x0904, 0xc2b3, 0x0000, 0x080c, 0xac99, 0x0c70, 0x9186, 0x0014, - 0x1d60, 0x080c, 0x95c6, 0x0096, 0x6014, 0x2048, 0x080c, 0xc832, - 0x0d00, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0006, 0xa880, - 0xc0ec, 0xa882, 0x0890, 0x0002, 0xc28b, 0xc289, 0xc289, 0xc289, - 0xc289, 0xc289, 0xc29f, 0xc289, 0xc289, 0xc289, 0xc289, 0xc289, - 0xc289, 0x080c, 0x0d7d, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, - 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1985, 0x0010, - 0x2001, 0x1986, 0x2004, 0x601a, 0x6003, 0x000c, 0x0005, 0x6034, - 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, - 0x1118, 0x2001, 0x1985, 0x0010, 0x2001, 0x1986, 0x2004, 0x601a, - 0x6003, 0x000e, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, - 0x0208, 0x0012, 0x0804, 0xac99, 0xc2c9, 0xc2c9, 0xc2c9, 0xc2c9, - 0xc2cb, 0xc318, 0xc2c9, 0xc2c9, 0xc2c9, 0xc2c9, 0xc2c9, 0xc2c9, - 0xc2c9, 0x080c, 0x0d7d, 0x0096, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0168, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, - 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x009e, 0x0804, 0xc32c, - 0x080c, 0xc832, 0x1118, 0x080c, 0xca21, 0x0068, 0x6014, 0x2048, - 0x080c, 0xcf7d, 0x1110, 0x080c, 0xca21, 0xa867, 0x0103, 0x080c, - 0xcf31, 0x080c, 0x6d7b, 0x00d6, 0x2c68, 0x080c, 0xab89, 0x01d0, - 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, 0xffff, 0x2009, 0x026e, - 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x6910, 0x6112, - 0x080c, 0xcccb, 0x695c, 0x615e, 0x6023, 0x0001, 0x2009, 0x8020, - 0x080c, 0x9200, 0x2d60, 0x00de, 0x080c, 0xabdf, 0x009e, 0x0005, - 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x05a0, 0x6034, - 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, 0x0130, 0x9186, 0x001e, - 0x0118, 0x9186, 0x0039, 0x1538, 0x00d6, 0x2c68, 0x080c, 0xcec9, - 0x11f0, 0x080c, 0xab89, 0x01d8, 0x6106, 0x6003, 0x0001, 0x6023, - 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, 0x6930, 0x6132, 0x6934, - 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, 0x693c, 0x613e, 0x695c, - 0x615e, 0x080c, 0xcccb, 0x2009, 0x8020, 0x080c, 0x9200, 0x2d60, - 0x00de, 0x0804, 0xabdf, 0x0096, 0x6014, 0x2048, 0x080c, 0xc832, - 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, 0x0128, 0xc0ec, 0xa882, - 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, 0x0020, - 0xa87b, 0x0005, 0x080c, 0xcb3b, 0xa877, 0x0000, 0x080c, 0x6d7b, - 0x080c, 0xca21, 0x009e, 0x0804, 0xabdf, 0x0016, 0x0096, 0x6014, - 0x2048, 0x080c, 0xc832, 0x0140, 0xa867, 0x0103, 0xa87b, 0x0028, - 0xa877, 0x0000, 0x080c, 0x6d7b, 0x009e, 0x001e, 0x9186, 0x0013, - 0x0158, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, - 0xac99, 0x0020, 0x080c, 0x95c6, 0x080c, 0xac1a, 0x0005, 0x0056, - 0x0066, 0x0096, 0x00a6, 0x2029, 0x0001, 0x9182, 0x0101, 0x1208, - 0x0010, 0x2009, 0x0100, 0x2130, 0x8304, 0x9098, 0x0018, 0x2009, - 0x0020, 0x2011, 0x0029, 0x080c, 0xc3f8, 0x96b2, 0x0020, 0xb004, - 0x904d, 0x0110, 0x080c, 0x0fec, 0x080c, 0x103a, 0x0520, 0x8528, - 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, - 0x1228, 0x2608, 0x2011, 0x001b, 0x0499, 0x00a8, 0x96b2, 0x003c, - 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, 0x0451, 0x0c28, 0x2001, - 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, - 0x95ac, 0x0000, 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, - 0x852f, 0x95ad, 0x0003, 0xb566, 0x009e, 0x006e, 0x005e, 0x0005, - 0x00a6, 0x89ff, 0x0158, 0xa804, 0x9055, 0x0130, 0xa807, 0x0000, - 0x080c, 0x6d7b, 0x2a48, 0x0cb8, 0x080c, 0x6d7b, 0x00ae, 0x0005, - 0x00f6, 0x2079, 0x0200, 0x7814, 0x9085, 0x0080, 0x7816, 0xd184, - 0x0108, 0x8108, 0x810c, 0x20a9, 0x0001, 0xa860, 0x20e8, 0xa85c, - 0x9200, 0x20a0, 0x20e1, 0x0000, 0x2300, 0x9e00, 0x2098, 0x4003, - 0x8318, 0x9386, 0x0020, 0x1148, 0x2018, 0x2300, 0x9e00, 0x2098, - 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, 0x8109, 0x1d80, 0x7817, - 0x0000, 0x00fe, 0x0005, 0x0066, 0x0126, 0x2091, 0x8000, 0x2031, - 0x0001, 0x6020, 0x9084, 0x000f, 0x0083, 0x012e, 0x006e, 0x0005, - 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, 0x0000, 0x6020, 0x9084, - 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, 0xc475, 0xc475, 0xc470, - 0xc499, 0xc44d, 0xc470, 0xc44f, 0xc470, 0xc44d, 0x90c6, 0xc470, - 0xc470, 0xc470, 0xc44d, 0xc44d, 0xc44d, 0x080c, 0x0d7d, 0x6010, - 0x9080, 0x0000, 0x2004, 0xd0bc, 0x190c, 0xc499, 0x0036, 0x6014, - 0x0096, 0x2048, 0xa880, 0x009e, 0xd0cc, 0x0118, 0x2019, 0x000c, - 0x0038, 0xd094, 0x0118, 0x2019, 0x000d, 0x0010, 0x2019, 0x0010, - 0x080c, 0xde2a, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, - 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x0096, 0x86ff, 0x11e8, - 0x6014, 0x2048, 0x080c, 0xc832, 0x01d0, 0x6043, 0xffff, 0xa864, - 0x9086, 0x0139, 0x1128, 0xa87b, 0x0005, 0xa883, 0x0000, 0x0028, - 0x900e, 0x2001, 0x0005, 0x080c, 0x6faf, 0x080c, 0xcb3b, 0x080c, - 0x6d6f, 0x080c, 0xac1a, 0x9085, 0x0001, 0x009e, 0x0005, 0x9006, - 0x0ce0, 0x080c, 0xa888, 0x080c, 0xcf8b, 0x6000, 0x908a, 0x0016, - 0x1a0c, 0x0d7d, 0x002b, 0x0106, 0x080c, 0xa8a4, 0x010e, 0x0005, - 0xc4b8, 0xc4e6, 0xc4ba, 0xc50d, 0xc4e1, 0xc4b8, 0xc470, 0xc475, - 0xc475, 0xc470, 0xc470, 0xc470, 0xc470, 0xc470, 0xc470, 0xc470, - 0x080c, 0x0d7d, 0x86ff, 0x1510, 0x6020, 0x9086, 0x0006, 0x01f0, - 0x0096, 0x6014, 0x2048, 0x080c, 0xc832, 0x0158, 0xa87c, 0xd0cc, - 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fec, 0x009e, 0x080c, - 0xcb3b, 0x009e, 0x080c, 0xcf0b, 0x6007, 0x0085, 0x6003, 0x000b, - 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x91e2, 0x9085, 0x0001, - 0x0005, 0x0066, 0x080c, 0x1a77, 0x006e, 0x08a0, 0x00e6, 0x2071, - 0x19e6, 0x7030, 0x9c06, 0x1120, 0x080c, 0xa07a, 0x00ee, 0x0850, - 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, 0x1150, 0x0086, 0x0096, - 0x2049, 0x0001, 0x2c40, 0x080c, 0xa1fa, 0x009e, 0x008e, 0x0040, - 0x0066, 0x080c, 0x9f76, 0x190c, 0x0d7d, 0x080c, 0x9f84, 0x006e, - 0x00ee, 0x1904, 0xc4ba, 0x0804, 0xc470, 0x0036, 0x00e6, 0x2071, - 0x19e6, 0x704c, 0x9c06, 0x1138, 0x901e, 0x080c, 0xa0fa, 0x00ee, - 0x003e, 0x0804, 0xc4ba, 0x080c, 0xa331, 0x00ee, 0x003e, 0x1904, - 0xc4ba, 0x0804, 0xc470, 0x00c6, 0x0066, 0x6020, 0x9084, 0x000f, - 0x001b, 0x006e, 0x00ce, 0x0005, 0xc543, 0xc612, 0xc779, 0xc54b, - 0xac1a, 0xc543, 0xde1c, 0xcf73, 0xc612, 0x908d, 0xc7f8, 0xc53c, - 0xc53c, 0xc53c, 0xc53c, 0xc53c, 0x080c, 0x0d7d, 0x080c, 0xca47, - 0x1110, 0x080c, 0xb5a6, 0x0005, 0x080c, 0x95c6, 0x0804, 0xabdf, - 0x601b, 0x0001, 0x0005, 0x080c, 0xc832, 0x0130, 0x6014, 0x0096, - 0x2048, 0x2c00, 0xa896, 0x009e, 0x080c, 0xa888, 0x080c, 0xcf8b, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0013, 0x0804, 0xa8a4, - 0xc570, 0xc572, 0xc59c, 0xc5b0, 0xc5dd, 0xc570, 0xc543, 0xc543, - 0xc543, 0xc5b7, 0xc5b7, 0xc570, 0xc570, 0xc570, 0xc570, 0xc5c1, - 0x080c, 0x0d7d, 0x00e6, 0x6014, 0x0096, 0x2048, 0xa880, 0xc0b5, - 0xa882, 0x009e, 0x2071, 0x19e6, 0x7030, 0x9c06, 0x01d0, 0x0066, - 0x080c, 0x9f76, 0x190c, 0x0d7d, 0x080c, 0x9f84, 0x006e, 0x080c, - 0xcf0b, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, - 0x1986, 0x2004, 0x601a, 0x2009, 0x8020, 0x080c, 0x91e2, 0x00ee, - 0x0005, 0x601b, 0x0001, 0x0cd8, 0x0096, 0x6014, 0x2048, 0xa880, - 0xc0b5, 0xa882, 0x009e, 0x080c, 0xcf0b, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x91e2, 0x0005, - 0x080c, 0xa888, 0x080c, 0xaa1c, 0x080c, 0xa8a4, 0x0c28, 0x0096, - 0x601b, 0x0001, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, - 0x0005, 0x080c, 0x56dd, 0x01b8, 0x6014, 0x0096, 0x904d, 0x0190, - 0xa864, 0xa867, 0x0103, 0xa87b, 0x0006, 0x9086, 0x0139, 0x1150, - 0xa867, 0x0139, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa89b, 0x0004, - 0x080c, 0x6d7b, 0x009e, 0x0804, 0xabdf, 0x6014, 0x0096, 0x904d, - 0x0560, 0xa97c, 0xd1e4, 0x1158, 0x611c, 0xd1fc, 0x0530, 0x6110, - 0x00b6, 0x2158, 0xb93c, 0x8109, 0x0208, 0xb93e, 0x00be, 0x080c, - 0xa8a4, 0x2001, 0x180f, 0x2004, 0xd0c4, 0x0110, 0x009e, 0x0005, - 0xa884, 0x009e, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x2001, - 0x0037, 0x2c08, 0x080c, 0x1686, 0x6000, 0x9086, 0x0004, 0x1120, - 0x2009, 0x0048, 0x080c, 0xac7c, 0x0005, 0x009e, 0x080c, 0x1a77, - 0x0804, 0xc59c, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x000b, - 0x0005, 0xc629, 0xc548, 0xc62b, 0xc629, 0xc62b, 0xc62b, 0xc544, - 0xc629, 0xc53e, 0xc53e, 0xc629, 0xc629, 0xc629, 0xc629, 0xc629, - 0xc629, 0x080c, 0x0d7d, 0x6010, 0x00b6, 0x2058, 0xb804, 0x9084, - 0x00ff, 0x00be, 0x908a, 0x000c, 0x1a0c, 0x0d7d, 0x00b6, 0x0013, - 0x00be, 0x0005, 0xc646, 0xc713, 0xc648, 0xc688, 0xc648, 0xc688, - 0xc648, 0xc656, 0xc646, 0xc688, 0xc646, 0xc677, 0x080c, 0x0d7d, - 0x6004, 0x908e, 0x0016, 0x05c0, 0x908e, 0x0004, 0x05a8, 0x908e, - 0x0002, 0x0590, 0x908e, 0x0052, 0x0904, 0xc70f, 0x6004, 0x080c, - 0xca47, 0x0904, 0xc72c, 0x908e, 0x0004, 0x1110, 0x080c, 0x321e, - 0x908e, 0x0021, 0x0904, 0xc730, 0x908e, 0x0022, 0x0904, 0xc774, - 0x908e, 0x003d, 0x0904, 0xc730, 0x908e, 0x0039, 0x0904, 0xc734, - 0x908e, 0x0035, 0x0904, 0xc734, 0x908e, 0x001e, 0x0178, 0x908e, - 0x0001, 0x1140, 0x6010, 0x2058, 0xb804, 0x9084, 0x00ff, 0x9086, - 0x0006, 0x0110, 0x080c, 0x31ef, 0x080c, 0xb5a6, 0x0804, 0xac1a, - 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0904, 0xc700, 0x9186, - 0x0002, 0x1904, 0xc6d5, 0x2001, 0x1837, 0x2004, 0xd08c, 0x11c8, - 0x080c, 0x74c8, 0x11b0, 0x080c, 0xcf51, 0x0138, 0x080c, 0x74eb, - 0x1120, 0x080c, 0x73d3, 0x0804, 0xc75d, 0x2001, 0x197c, 0x2003, - 0x0001, 0x2001, 0x1800, 0x2003, 0x0001, 0x080c, 0x73f9, 0x0804, - 0xc75d, 0x6010, 0x2058, 0x2001, 0x1837, 0x2004, 0xd0ac, 0x1904, - 0xc75d, 0xb8a0, 0x9084, 0xff80, 0x1904, 0xc75d, 0xb840, 0x9084, - 0x00ff, 0x9005, 0x0190, 0x8001, 0xb842, 0x6017, 0x0000, 0x6023, - 0x0007, 0x601b, 0x0398, 0x604b, 0x0000, 0x080c, 0xab89, 0x0128, - 0x2b00, 0x6012, 0x6023, 0x0001, 0x0458, 0x00de, 0x00ce, 0x6004, - 0x908e, 0x0002, 0x11a0, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, - 0x1170, 0x2009, 0x1837, 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, - 0x1800, 0x080c, 0x5fb7, 0x00ee, 0x080c, 0xb5a6, 0x0030, 0x080c, - 0xb5a6, 0x080c, 0x31ef, 0x080c, 0xcf66, 0x00e6, 0x0126, 0x2091, - 0x8000, 0x080c, 0x321e, 0x012e, 0x00ee, 0x080c, 0xac1a, 0x0005, - 0x2001, 0x0002, 0x080c, 0x6570, 0x6003, 0x0001, 0x6007, 0x0002, - 0x080c, 0x9207, 0x080c, 0x9684, 0x00de, 0x00ce, 0x0c80, 0x080c, - 0x321e, 0x0804, 0xc684, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, - 0x0d38, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0904, - 0xc6d5, 0x8001, 0xb842, 0x6003, 0x0001, 0x080c, 0x9207, 0x080c, - 0x9684, 0x00de, 0x00ce, 0x0898, 0x080c, 0xb5a6, 0x0804, 0xc686, - 0x080c, 0xb5e2, 0x0804, 0xc686, 0x00d6, 0x2c68, 0x6104, 0x080c, - 0xcec9, 0x00de, 0x0118, 0x080c, 0xabdf, 0x00f0, 0x6004, 0x8007, - 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x603c, 0x600a, 0x2001, 0x1986, 0x2004, - 0x601a, 0x602c, 0x2c08, 0x2060, 0x6024, 0xc0b5, 0x6026, 0x2160, - 0x2009, 0x8020, 0x080c, 0x9200, 0x0005, 0x00de, 0x00ce, 0x080c, - 0xb5a6, 0x080c, 0x31ef, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, - 0x321e, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x604b, - 0x0000, 0x012e, 0x00ee, 0x0005, 0x080c, 0xb01a, 0x1904, 0xc72c, - 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0096, 0x00d6, - 0x001b, 0x00de, 0x009e, 0x0005, 0xc794, 0xc794, 0xc794, 0xc794, - 0xc794, 0xc794, 0xc794, 0xc794, 0xc794, 0xc543, 0xc794, 0xc548, - 0xc796, 0xc548, 0xc7a3, 0xc794, 0x080c, 0x0d7d, 0x6004, 0x9086, - 0x008b, 0x0148, 0x6007, 0x008b, 0x6003, 0x000d, 0x2009, 0x8020, - 0x080c, 0x9200, 0x0005, 0x080c, 0xcf45, 0x0118, 0x080c, 0xcf58, - 0x0010, 0x080c, 0xcf66, 0x080c, 0xca21, 0x080c, 0xc832, 0x0570, - 0x080c, 0x31ef, 0x080c, 0xc832, 0x0168, 0x6014, 0x2048, 0xa867, - 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ed, 0xa882, - 0x080c, 0x6d7b, 0x2c68, 0x080c, 0xab89, 0x0150, 0x6810, 0x6012, - 0x080c, 0xcccb, 0x00c6, 0x2d60, 0x080c, 0xac1a, 0x00ce, 0x0008, - 0x2d60, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, - 0x0001, 0x080c, 0x9207, 0x080c, 0x9684, 0x00c8, 0x080c, 0xcf45, - 0x0138, 0x6034, 0x9086, 0x4000, 0x1118, 0x080c, 0x31ef, 0x08d0, - 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, - 0x0035, 0x1118, 0x080c, 0x31ef, 0x0868, 0x080c, 0xac1a, 0x0005, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0002, 0xc80e, 0xc80e, - 0xc810, 0xc810, 0xc810, 0xc80e, 0xc80e, 0xac1a, 0xc80e, 0xc80e, - 0xc80e, 0xc80e, 0xc80e, 0xc80e, 0xc80e, 0xc80e, 0x080c, 0x0d7d, - 0x080c, 0xa888, 0x080c, 0xaa1c, 0x080c, 0xa8a4, 0x6114, 0x0096, - 0x2148, 0xa87b, 0x0006, 0x080c, 0x6d7b, 0x009e, 0x0804, 0xabdf, - 0x9284, 0x0003, 0x1158, 0x9282, 0x1ddc, 0x0240, 0x2001, 0x181a, - 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, - 0x0096, 0x0028, 0x0096, 0x0006, 0x6014, 0x2048, 0x000e, 0x0006, - 0x9984, 0xf000, 0x9086, 0xf000, 0x0110, 0x080c, 0x10e5, 0x000e, - 0x009e, 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, - 0x8000, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7354, 0x7074, 0x9302, - 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, 0xcf51, 0x0180, 0x9286, - 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, 0x1148, 0x080c, 0x31ef, - 0x080c, 0xcf66, 0x00c6, 0x080c, 0xac1a, 0x00ce, 0x0060, 0x080c, - 0xcc3d, 0x0148, 0x080c, 0xca47, 0x1110, 0x080c, 0xb5a6, 0x00c6, - 0x080c, 0xabdf, 0x00ce, 0x9ce0, 0x001c, 0x7068, 0x9c02, 0x1208, - 0x08a0, 0x012e, 0x000e, 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, - 0x00c6, 0x0016, 0x9188, 0x1000, 0x210c, 0x81ff, 0x0128, 0x2061, - 0x1b31, 0x6112, 0x080c, 0x31ef, 0x9006, 0x0010, 0x9085, 0x0001, - 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0xab89, 0x01b0, 0x665e, 0x2b00, 0x6012, 0x080c, 0x56dd, - 0x0118, 0x080c, 0xc963, 0x0168, 0x080c, 0xcccb, 0x6023, 0x0003, - 0x2009, 0x004b, 0x080c, 0xac7c, 0x9085, 0x0001, 0x012e, 0x00ce, - 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0xbaa0, - 0x080c, 0xac4f, 0x0580, 0x605f, 0x0000, 0x2b00, 0x6012, 0x080c, - 0xcccb, 0x6023, 0x0003, 0x0016, 0x080c, 0xa888, 0x080c, 0x938d, - 0x0076, 0x903e, 0x080c, 0x9256, 0x2c08, 0x080c, 0xdffb, 0x007e, - 0x080c, 0xa8a4, 0x001e, 0xd184, 0x0128, 0x080c, 0xabdf, 0x9085, - 0x0001, 0x0070, 0x080c, 0x56dd, 0x0128, 0xd18c, 0x1170, 0x080c, - 0xc963, 0x0148, 0x2009, 0x004c, 0x080c, 0xac7c, 0x9085, 0x0001, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2900, 0x6016, 0x0c90, - 0x2009, 0x004d, 0x0010, 0x2009, 0x004e, 0x00f6, 0x00c6, 0x0046, - 0x0016, 0x080c, 0xab89, 0x2c78, 0x0590, 0x7e5e, 0x2b00, 0x7812, - 0x7823, 0x0003, 0x2021, 0x0005, 0x080c, 0xc975, 0x9186, 0x004d, - 0x0118, 0x9186, 0x004e, 0x0148, 0x2001, 0x197f, 0x200c, 0xd1fc, - 0x0168, 0x2f60, 0x080c, 0xabdf, 0x00d0, 0x2001, 0x197e, 0x200c, - 0xd1fc, 0x0120, 0x2f60, 0x080c, 0xabdf, 0x0088, 0x2f60, 0x080c, - 0x56dd, 0x0138, 0xd18c, 0x1118, 0x04f1, 0x0148, 0x0010, 0x2900, - 0x7816, 0x001e, 0x0016, 0x080c, 0xac7c, 0x9085, 0x0001, 0x001e, - 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x080c, - 0xab89, 0x2c78, 0x0508, 0x7e5e, 0x2b00, 0x7812, 0x7823, 0x0003, - 0x0096, 0x2021, 0x0004, 0x0489, 0x009e, 0x2001, 0x197d, 0x200c, - 0xd1fc, 0x0120, 0x2f60, 0x080c, 0xabdf, 0x0060, 0x2f60, 0x080c, - 0x56dd, 0x0120, 0xd18c, 0x1160, 0x0071, 0x0130, 0x2009, 0x0052, - 0x080c, 0xac7c, 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, - 0x2900, 0x7816, 0x0c98, 0x00c6, 0x080c, 0x4aa9, 0x00ce, 0x1120, - 0x080c, 0xabdf, 0x9006, 0x0005, 0xa867, 0x0000, 0xa86b, 0x8000, - 0x2900, 0x6016, 0x9085, 0x0001, 0x0005, 0x0096, 0x0076, 0x0126, - 0x2091, 0x8000, 0x080c, 0xa888, 0x080c, 0x6802, 0x0158, 0x2001, - 0xc97c, 0x0006, 0x900e, 0x2400, 0x080c, 0x6faf, 0x080c, 0x6d7b, - 0x000e, 0x0807, 0x2418, 0x080c, 0x958c, 0xbaa0, 0x0086, 0x2041, - 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x93a7, 0x008e, 0x080c, - 0x9256, 0x2f08, 0x2648, 0x080c, 0xdffb, 0xb93c, 0x81ff, 0x090c, - 0x947e, 0x080c, 0xa8a4, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, - 0x0126, 0x2091, 0x8000, 0x080c, 0xab89, 0x0190, 0x660a, 0x2b08, - 0x6112, 0x080c, 0xcccb, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, - 0x001f, 0x080c, 0xac7c, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, - 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xac4f, - 0x01b8, 0x660a, 0x2b08, 0x6112, 0x080c, 0xcccb, 0x6023, 0x0008, - 0x2900, 0x6016, 0x00f6, 0x2c78, 0x080c, 0x173e, 0x00fe, 0x2009, - 0x0021, 0x080c, 0xac7c, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, - 0x9006, 0x0cd8, 0x2009, 0x003d, 0x00c6, 0x0126, 0x0016, 0x2091, - 0x8000, 0x080c, 0xab89, 0x0198, 0x660a, 0x2b08, 0x6112, 0x080c, - 0xcccb, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x0016, 0x080c, - 0xac7c, 0x9085, 0x0001, 0x001e, 0x012e, 0x00ce, 0x0005, 0x9006, - 0x0cd0, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xac4f, 0x0188, - 0x2b08, 0x6112, 0x080c, 0xcccb, 0x6023, 0x0001, 0x2900, 0x6016, - 0x2009, 0x0000, 0x080c, 0xac7c, 0x9085, 0x0001, 0x012e, 0x00ce, - 0x0005, 0x9006, 0x0cd8, 0x2009, 0x0044, 0x0830, 0x2009, 0x0049, - 0x0818, 0x0026, 0x00b6, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0118, - 0x8211, 0xba3e, 0x1140, 0xb8d0, 0x9005, 0x0128, 0xb888, 0x9005, - 0x1110, 0xb88b, 0x0001, 0x00be, 0x002e, 0x0005, 0x0006, 0x0016, - 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, 0x0003, 0x0128, 0x908e, - 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, - 0x0086, 0x0096, 0x6020, 0x9086, 0x0004, 0x01a8, 0x6014, 0x904d, - 0x080c, 0xc832, 0x0180, 0xa864, 0x9086, 0x0139, 0x0170, 0x6020, - 0x90c6, 0x0003, 0x0140, 0x90c6, 0x0002, 0x0128, 0xa868, 0xd0fc, - 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, 0x009e, 0x008e, 0x000e, - 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xac4f, 0x0198, - 0x2b08, 0x6112, 0x080c, 0xcccb, 0x6023, 0x0001, 0x2900, 0x6016, - 0x080c, 0x31ef, 0x2009, 0x0028, 0x080c, 0xac7c, 0x9085, 0x0001, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x9186, 0x0015, 0x11a8, - 0x2011, 0x1824, 0x2204, 0x9086, 0x0074, 0x1178, 0x00b6, 0x080c, - 0xb7fa, 0x00be, 0x080c, 0xba1d, 0x6003, 0x0001, 0x6007, 0x0029, - 0x080c, 0x9207, 0x080c, 0x9684, 0x0078, 0x6014, 0x0096, 0x2048, - 0xa868, 0x009e, 0xd0fc, 0x0148, 0x2001, 0x0001, 0x080c, 0xce8a, - 0x080c, 0xb5a6, 0x080c, 0xabdf, 0x0005, 0x0096, 0x6014, 0x904d, - 0x090c, 0x0d7d, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, - 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6d7b, 0x012e, 0x009e, 0x080c, 0xabdf, 0x0c30, 0x0096, 0x9186, - 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, 0x6570, 0x00e8, 0x9186, - 0x0015, 0x1510, 0x2011, 0x1824, 0x2204, 0x9086, 0x0014, 0x11e0, - 0x6010, 0x00b6, 0x2058, 0x080c, 0x66bb, 0x00be, 0x080c, 0xbaee, - 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, 0x00be, 0x9005, 0x0160, - 0x2001, 0x0006, 0x080c, 0x6570, 0x6014, 0x2048, 0xa868, 0xd0fc, - 0x0170, 0x080c, 0xafee, 0x0048, 0x6014, 0x2048, 0xa868, 0xd0fc, - 0x0528, 0x080c, 0xb5a6, 0x080c, 0xabdf, 0x009e, 0x0005, 0x6014, - 0x6310, 0x2358, 0x904d, 0x090c, 0x0d7d, 0xa87b, 0x0000, 0xa883, - 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, 0x6913, 0x1108, 0xc185, - 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xa99a, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6d7b, 0x012e, 0x080c, 0xabdf, 0x08f8, 0x6014, 0x904d, - 0x090c, 0x0d7d, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, - 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6d7b, 0x012e, 0x080c, 0xabdf, 0x0840, 0xa878, 0x9086, 0x0005, - 0x1108, 0x0009, 0x0005, 0xa880, 0xc0ad, 0xa882, 0x0005, 0x604b, - 0x0000, 0x6017, 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, 0x2009, - 0x8023, 0x080c, 0x9200, 0x0005, 0x00c6, 0x6010, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0bc, 0x0130, 0x0066, 0x6020, 0x9084, 0x000f, - 0x001b, 0x006e, 0x00ce, 0x0005, 0xc543, 0xcb6e, 0xcb6e, 0xcb71, - 0xe328, 0xe343, 0xe346, 0xc543, 0xc543, 0xc543, 0xc543, 0xc543, - 0xc543, 0xc543, 0xc543, 0xc543, 0x080c, 0x0d7d, 0xa001, 0xa001, - 0x0005, 0x0096, 0x6014, 0x904d, 0x0118, 0xa87c, 0xd0e4, 0x1110, - 0x009e, 0x0010, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0550, 0x2001, 0x1834, 0x2004, 0x9005, 0x1540, - 0x00f6, 0x2c78, 0x080c, 0xab89, 0x0508, 0x7810, 0x6012, 0x080c, - 0xcccb, 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, - 0x603e, 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, - 0x0001, 0x6007, 0x0035, 0x6003, 0x0001, 0x795c, 0x615e, 0x2009, - 0x8020, 0x080c, 0x9200, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, - 0x2001, 0x1987, 0x2004, 0x604a, 0x0005, 0x0016, 0x0096, 0x6814, - 0x2048, 0x681c, 0xd0fc, 0xc0fc, 0x681e, 0xa87c, 0x1108, 0xd0e4, - 0x0180, 0xc0e4, 0xa87e, 0xa877, 0x0000, 0xa893, 0x0000, 0xa88f, - 0x0000, 0xd0cc, 0x0130, 0xc0cc, 0xa87e, 0xa878, 0x2048, 0x080c, - 0x0fec, 0x6830, 0x6036, 0x908e, 0x0001, 0x0148, 0x6803, 0x0002, - 0x9086, 0x0005, 0x0170, 0x9006, 0x602e, 0x6032, 0x00d0, 0x681c, - 0xc085, 0x681e, 0x6803, 0x0004, 0x6824, 0xc0f4, 0x9085, 0x0c00, - 0x6826, 0x6814, 0x2048, 0xa8ac, 0x6938, 0x9102, 0xa8b0, 0x693c, - 0x9103, 0x1e48, 0x683c, 0x602e, 0x6838, 0x9084, 0xfffc, 0x683a, - 0x6032, 0x2d00, 0x603a, 0x6808, 0x603e, 0x6910, 0x6112, 0x695c, - 0x615e, 0x6023, 0x0001, 0x6007, 0x0039, 0x6003, 0x0001, 0x2009, - 0x8020, 0x080c, 0x9200, 0x009e, 0x001e, 0x0005, 0x6024, 0xd0d4, - 0x0510, 0xd0f4, 0x11f8, 0x6038, 0x940a, 0x603c, 0x9303, 0x0230, - 0x9105, 0x0120, 0x6024, 0xc0d4, 0xc0f5, 0x0098, 0x643a, 0x633e, - 0xac3e, 0xab42, 0x0046, 0x0036, 0x2400, 0xacac, 0x9402, 0xa836, - 0x2300, 0xabb0, 0x9303, 0xa83a, 0x003e, 0x004e, 0x6024, 0xc0d4, - 0x0000, 0x6026, 0x0005, 0xd0f4, 0x1138, 0xa83c, 0x603a, 0xa840, - 0x603e, 0x6024, 0xc0f5, 0x6026, 0x0005, 0x0006, 0x0016, 0x6004, - 0x908e, 0x0034, 0x01b8, 0x908e, 0x0035, 0x01a0, 0x908e, 0x0036, - 0x0188, 0x908e, 0x0037, 0x0170, 0x908e, 0x0038, 0x0158, 0x908e, - 0x0039, 0x0140, 0x908e, 0x003a, 0x0128, 0x908e, 0x003b, 0x0110, - 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, - 0x0036, 0x00e6, 0x2001, 0x1981, 0x200c, 0x8000, 0x2014, 0x2001, - 0x0032, 0x080c, 0x9148, 0x2001, 0x1985, 0x82ff, 0x1110, 0x2011, - 0x0014, 0x2202, 0x2001, 0x1983, 0x200c, 0x8000, 0x2014, 0x2071, - 0x196b, 0x711a, 0x721e, 0x2001, 0x0064, 0x080c, 0x9148, 0x2001, - 0x1986, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1987, - 0x9288, 0x000a, 0x2102, 0x2001, 0x0017, 0x080c, 0xa879, 0x2001, - 0x1a88, 0x2102, 0x2001, 0x0032, 0x080c, 0x1686, 0x080c, 0x6a4b, - 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, - 0x00e6, 0x2001, 0x1985, 0x2003, 0x0028, 0x2001, 0x1986, 0x2003, - 0x0014, 0x2071, 0x196b, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, - 0x1987, 0x2009, 0x001e, 0x2102, 0x2001, 0x0017, 0x080c, 0xa879, - 0x2001, 0x1a88, 0x2102, 0x2001, 0x0032, 0x080c, 0x1686, 0x00ee, - 0x001e, 0x000e, 0x0005, 0x0096, 0x6060, 0x904d, 0x0110, 0x080c, - 0x106c, 0x009e, 0x0005, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0xab89, 0x0180, 0x2b08, 0x6112, 0x0ca9, 0x6023, 0x0001, - 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, 0xac7c, 0x9085, 0x0001, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x0096, 0x00e6, 0x00f6, - 0x2071, 0x1800, 0x9186, 0x0015, 0x1500, 0x7090, 0x9086, 0x0018, - 0x11e0, 0x6014, 0x2048, 0xaa3c, 0xd2e4, 0x1160, 0x2c78, 0x080c, - 0x9743, 0x01d8, 0x707c, 0xaa50, 0x9206, 0x1160, 0x7080, 0xaa54, - 0x9206, 0x1140, 0x6210, 0x00b6, 0x2258, 0xbaa0, 0x00be, 0x900e, - 0x080c, 0x323e, 0x080c, 0xafee, 0x0020, 0x080c, 0xb5a6, 0x080c, - 0xabdf, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaa54, 0x9206, - 0x0d48, 0x0c80, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xab89, - 0x0188, 0x2b08, 0x6112, 0x080c, 0xcccb, 0x6023, 0x0001, 0x2900, - 0x6016, 0x2009, 0x004d, 0x080c, 0xac7c, 0x9085, 0x0001, 0x012e, - 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x0016, 0x080c, 0xab89, 0x0180, 0x2b08, 0x6112, 0x080c, 0xcccb, - 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x080c, 0xac7c, 0x9085, - 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, 0x9006, 0x0cd0, 0x0016, - 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0096, 0x00e6, 0x00f6, - 0x2071, 0x1800, 0x9186, 0x0015, 0x1568, 0x7190, 0x6014, 0x2048, - 0xa814, 0x8003, 0x9106, 0x1530, 0x20e1, 0x0000, 0x2001, 0x199f, - 0x2003, 0x0000, 0x6014, 0x2048, 0xa830, 0x20a8, 0x8906, 0x8006, - 0x8007, 0x9094, 0x003f, 0x22e8, 0x9084, 0xffc0, 0x9080, 0x001b, - 0x20a0, 0x2001, 0x199f, 0x0016, 0x200c, 0x080c, 0xd572, 0x001e, - 0xa804, 0x9005, 0x0110, 0x2048, 0x0c38, 0x6014, 0x2048, 0xa867, - 0x0103, 0x0010, 0x080c, 0xb5a6, 0x080c, 0xabdf, 0x00fe, 0x00ee, - 0x009e, 0x006e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, - 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x11b8, - 0x7090, 0x9086, 0x0004, 0x1198, 0x6014, 0x2048, 0x2c78, 0x080c, - 0x9743, 0x01a8, 0x707c, 0xaa74, 0x9206, 0x1130, 0x7080, 0xaa78, - 0x9206, 0x1110, 0x080c, 0x31ef, 0x080c, 0xafee, 0x0020, 0x080c, - 0xb5a6, 0x080c, 0xabdf, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, - 0xaa78, 0x9206, 0x0d78, 0x0c80, 0x0096, 0x00e6, 0x00f6, 0x2071, - 0x1800, 0x9186, 0x0015, 0x1550, 0x7090, 0x9086, 0x0004, 0x1530, - 0x6014, 0x2048, 0x2c78, 0x080c, 0x9743, 0x05f0, 0x707c, 0xaacc, - 0x9206, 0x1180, 0x7080, 0xaad0, 0x9206, 0x1160, 0x080c, 0x31ef, - 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x568d, - 0x001e, 0x0010, 0x080c, 0x5476, 0x080c, 0xc832, 0x0508, 0xa87b, - 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0080, 0x080c, 0xc832, - 0x01b8, 0x6014, 0x2048, 0x080c, 0x5476, 0x1d70, 0xa87b, 0x0030, - 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0x0126, 0x2091, - 0x8000, 0xa867, 0x0139, 0x080c, 0x6d7b, 0x012e, 0x080c, 0xabdf, - 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, 0xaad0, 0x9206, 0x0930, - 0x0888, 0x0016, 0x0026, 0xa87c, 0xd0ac, 0x0178, 0xa938, 0xaa34, - 0x2100, 0x9205, 0x0150, 0xa890, 0x9106, 0x1118, 0xa88c, 0x9206, - 0x0120, 0xa992, 0xaa8e, 0x9085, 0x0001, 0x002e, 0x001e, 0x0005, - 0x00b6, 0x00d6, 0x0036, 0x080c, 0xc832, 0x0904, 0xce86, 0x0096, - 0x6314, 0x2348, 0xa87a, 0xa982, 0x929e, 0x4000, 0x1580, 0x6310, - 0x00c6, 0x2358, 0x2009, 0x0000, 0xa868, 0xd0f4, 0x1140, 0x080c, - 0x6913, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xaa96, - 0xa99a, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, - 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, 0x0006, 0x2098, 0x080c, - 0x0fb7, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8c8, - 0x9080, 0x000a, 0x2098, 0x080c, 0x0fb7, 0x00ce, 0x0090, 0xaa96, - 0x3918, 0x9398, 0x0007, 0x231c, 0x6004, 0x9086, 0x0016, 0x0110, - 0xa89b, 0x0004, 0xaba2, 0x6310, 0x2358, 0xb804, 0x9084, 0x00ff, - 0xa89e, 0x080c, 0x6d6f, 0x6017, 0x0000, 0x009e, 0x003e, 0x00de, - 0x00be, 0x0005, 0x0026, 0x0036, 0x0046, 0x00b6, 0x0096, 0x00f6, - 0x6214, 0x2248, 0x6210, 0x2258, 0x2079, 0x0260, 0x9096, 0x0000, - 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, 0x080c, 0x2614, 0x2118, - 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, 0x00ff, 0x931d, 0x7c3c, - 0x2011, 0x8018, 0x080c, 0x4b09, 0x00a8, 0x9096, 0x0001, 0x1148, - 0x89ff, 0x0180, 0xa89b, 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, - 0x0048, 0x9096, 0x0002, 0x1130, 0xa89b, 0x000d, 0x7838, 0xa8a6, - 0x783c, 0xa8aa, 0x00fe, 0x009e, 0x00be, 0x004e, 0x003e, 0x002e, - 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, 0x0035, 0x0110, 0x6a38, - 0x0008, 0x6a2c, 0x080c, 0xc820, 0x01f0, 0x2260, 0x6120, 0x9186, - 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, 0x6838, 0x9206, 0x0140, - 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, 0x9106, 0x1140, 0x0020, - 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, 0x6910, 0x9106, 0x001e, - 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, 0x0cc8, 0xa974, 0xd1cc, - 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, 0x1160, 0xa9a8, 0x918c, - 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, 0xa834, 0xa938, 0x9115, - 0x190c, 0xbea6, 0x0005, 0x0036, 0x2019, 0x0001, 0x0010, 0x0036, - 0x901e, 0x0499, 0x01e0, 0x080c, 0xc832, 0x01c8, 0x080c, 0xca21, - 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, 0x0096, 0x2048, 0xa87c, - 0x080c, 0xca47, 0x1118, 0x080c, 0xb5a6, 0x0040, 0xa867, 0x0103, - 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, 0x6d7b, 0x009e, 0x003e, - 0x0005, 0xa880, 0xd0b4, 0x0128, 0xa87b, 0x0006, 0xc0ec, 0xa882, - 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, 0x0020, 0xa87b, 0x0005, - 0x080c, 0xcb3b, 0xa877, 0x0000, 0x0005, 0x2001, 0x1810, 0x2004, - 0xd0ec, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0f4, 0x000e, - 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0e4, 0x000e, 0x0005, - 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, - 0x0007, 0x080c, 0x4cc0, 0x004e, 0x003e, 0x0005, 0x0c51, 0x1d81, - 0x0005, 0x2001, 0x1985, 0x2004, 0x601a, 0x0005, 0x2001, 0x1987, - 0x2004, 0x604a, 0x0005, 0x080c, 0xabdf, 0x0804, 0x9684, 0x611c, - 0xd1fc, 0xa97c, 0x1108, 0xd1e4, 0x0005, 0x601c, 0xd0fc, 0xa87c, - 0x1108, 0xd0e4, 0x0005, 0x601c, 0xd0fc, 0xc0fc, 0x601e, 0xa87c, - 0x1108, 0xd0e4, 0x0005, 0x6044, 0xd0fc, 0x1138, 0xd0bc, 0x0198, - 0xc0bc, 0x6046, 0x6003, 0x0002, 0x0070, 0xd0ac, 0x1160, 0xd0dc, - 0x1128, 0x908c, 0x000f, 0x9186, 0x0005, 0x1118, 0x6003, 0x0003, - 0x0010, 0x6003, 0x0001, 0x0005, 0x00b6, 0x0066, 0x6000, 0x90b2, - 0x0016, 0x1a0c, 0x0d7d, 0x001b, 0x006e, 0x00be, 0x0005, 0xcfbf, - 0xd6cd, 0xd81e, 0xcfbf, 0xcfbf, 0xcfbf, 0xcfbf, 0xcfbf, 0xcff6, - 0xd8a2, 0xcfbf, 0xcfbf, 0xcfbf, 0xcfbf, 0xcfbf, 0xcfbf, 0x080c, - 0x0d7d, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d7d, 0x0013, - 0x006e, 0x0005, 0xcfda, 0xddb9, 0xcfda, 0xcfda, 0xcfda, 0xcfda, - 0xcfda, 0xcfda, 0xdd68, 0xde0b, 0xcfda, 0xe463, 0xe497, 0xe463, - 0xe497, 0xcfda, 0x080c, 0x0d7d, 0x6000, 0x9082, 0x0016, 0x1a0c, - 0x0d7d, 0x6000, 0x000a, 0x0005, 0xcff4, 0xda7e, 0xdb47, 0xdb69, - 0xdbe4, 0xcff4, 0xdcde, 0xdc6c, 0xd8ac, 0xdd40, 0xdd55, 0xcff4, - 0xcff4, 0xcff4, 0xcff4, 0xcff4, 0x080c, 0x0d7d, 0x91b2, 0x0053, - 0x1a0c, 0x0d7d, 0x2100, 0x91b2, 0x0040, 0x1a04, 0xd443, 0x0002, - 0xd040, 0xd234, 0xd040, 0xd040, 0xd040, 0xd23d, 0xd040, 0xd040, - 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, - 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd042, - 0xd0a9, 0xd0b8, 0xd11c, 0xd147, 0xd1c0, 0xd21f, 0xd040, 0xd040, - 0xd240, 0xd040, 0xd040, 0xd255, 0xd262, 0xd040, 0xd040, 0xd040, - 0xd040, 0xd040, 0xd2e5, 0xd040, 0xd040, 0xd2f9, 0xd040, 0xd040, - 0xd2b4, 0xd040, 0xd040, 0xd040, 0xd311, 0xd040, 0xd040, 0xd040, - 0xd38e, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd040, 0xd40b, - 0x080c, 0x0d7d, 0x080c, 0x6a28, 0x1150, 0x2001, 0x1837, 0x2004, - 0xd0cc, 0x1128, 0x9084, 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, - 0x0009, 0x602f, 0x0009, 0x6017, 0x0000, 0x0804, 0xd22d, 0x080c, - 0x69c4, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2258, - 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, 0xa888, 0x080c, 0x938d, - 0x0076, 0x903e, 0x080c, 0x9256, 0x2c08, 0x080c, 0xdffb, 0x007e, - 0x001e, 0x080c, 0xa8a4, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, - 0x6610, 0x2658, 0x080c, 0x662f, 0xbe04, 0x9684, 0x00ff, 0x9082, - 0x0006, 0x1268, 0x0016, 0x0026, 0x6210, 0x00b6, 0x2258, 0xbaa0, - 0x00be, 0x2c08, 0x080c, 0xe6c0, 0x002e, 0x001e, 0x1178, 0x080c, - 0xdf29, 0x1904, 0xd114, 0x080c, 0xdec5, 0x1120, 0x6007, 0x0008, - 0x0804, 0xd22d, 0x6007, 0x0009, 0x0804, 0xd22d, 0x080c, 0xe15c, - 0x0128, 0x080c, 0xdf29, 0x0d78, 0x0804, 0xd114, 0x6017, 0x1900, - 0x0c88, 0x080c, 0x3326, 0x1904, 0xd440, 0x6106, 0x080c, 0xde76, - 0x6007, 0x0006, 0x0804, 0xd22d, 0x6007, 0x0007, 0x0804, 0xd22d, - 0x080c, 0xe4d3, 0x1904, 0xd440, 0x080c, 0x3326, 0x1904, 0xd440, - 0x00d6, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, - 0x1220, 0x2001, 0x0001, 0x080c, 0x655c, 0x96b4, 0xff00, 0x8637, - 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, 0xbe04, 0x96b4, - 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, 0x0128, 0x9686, - 0x0005, 0x0110, 0x00de, 0x0480, 0x00e6, 0x2071, 0x0260, 0x7034, - 0x9084, 0x0003, 0x1140, 0x7034, 0x9082, 0x0014, 0x0220, 0x7030, - 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, 0x0007, - 0x00b0, 0x00ee, 0x080c, 0xdf91, 0x1190, 0x9686, 0x0006, 0x1140, - 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x323e, 0x002e, - 0x080c, 0x66bb, 0x6007, 0x000a, 0x00de, 0x0804, 0xd22d, 0x6007, - 0x000b, 0x00de, 0x0804, 0xd22d, 0x080c, 0x31ef, 0x080c, 0xcf66, - 0x6007, 0x0001, 0x0804, 0xd22d, 0x080c, 0xe4d3, 0x1904, 0xd440, - 0x080c, 0x3326, 0x1904, 0xd440, 0x2071, 0x0260, 0x7034, 0x90b4, - 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, 0x0003, - 0x1910, 0x6610, 0x2658, 0xbe04, 0x9686, 0x0707, 0x09e8, 0x0026, - 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x323e, 0x002e, 0x6007, - 0x000c, 0x2001, 0x0001, 0x080c, 0xe6a0, 0x0804, 0xd22d, 0x080c, - 0x6a28, 0x1140, 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, 0x9086, - 0x0008, 0x1110, 0x0804, 0xd04f, 0x080c, 0x69c4, 0x6610, 0x2658, - 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06c8, 0x1138, 0x0026, - 0x2001, 0x0006, 0x080c, 0x659c, 0x002e, 0x0050, 0x96b4, 0xff00, - 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xd114, - 0x080c, 0xdf9e, 0x1120, 0x6007, 0x000e, 0x0804, 0xd22d, 0x0046, - 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x31ef, 0x080c, 0xcf66, - 0x004e, 0x0016, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, 0x0148, - 0x2009, 0x0029, 0x080c, 0xe2d9, 0x6010, 0x2058, 0xb800, 0xc0e5, - 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xd22d, 0x2001, - 0x0001, 0x080c, 0x655c, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, - 0x0004, 0x2019, 0x1805, 0x2011, 0x0270, 0x080c, 0xbba1, 0x003e, - 0x002e, 0x001e, 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, - 0x9682, 0x0004, 0x0a04, 0xd114, 0x9682, 0x0007, 0x0a04, 0xd170, - 0x0804, 0xd114, 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xd22d, - 0x080c, 0x6a28, 0x1140, 0x2001, 0x1837, 0x2004, 0x9084, 0x0009, - 0x9086, 0x0008, 0x1110, 0x0804, 0xd04f, 0x080c, 0x69c4, 0x6610, - 0x2658, 0xbe04, 0x9684, 0x00ff, 0x0006, 0x9086, 0x0001, 0x000e, - 0x0170, 0x9082, 0x0006, 0x0698, 0x0150, 0x96b4, 0xff00, 0x8637, - 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xd114, 0x080c, - 0xdfcc, 0x1130, 0x080c, 0xdec5, 0x1118, 0x6007, 0x0010, 0x04e8, - 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x31ef, 0x080c, - 0xcf66, 0x004e, 0x0016, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, - 0x0148, 0x2009, 0x0029, 0x080c, 0xe2d9, 0x6010, 0x2058, 0xb800, - 0xc0e5, 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, - 0xe15c, 0x0140, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0978, - 0x0804, 0xd114, 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, - 0x3326, 0x1904, 0xd440, 0x080c, 0xe4d3, 0x1904, 0xd440, 0x080c, - 0xd60d, 0x1904, 0xd114, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, - 0x9207, 0x080c, 0x9684, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, - 0x080c, 0x9207, 0x080c, 0x9684, 0x0cb0, 0x6007, 0x0005, 0x0c68, - 0x080c, 0xe4d3, 0x1904, 0xd440, 0x080c, 0x3326, 0x1904, 0xd440, - 0x080c, 0xd60d, 0x1904, 0xd114, 0x6007, 0x0020, 0x6003, 0x0001, - 0x080c, 0x9207, 0x080c, 0x9684, 0x0005, 0x080c, 0x3326, 0x1904, - 0xd440, 0x6007, 0x0023, 0x6003, 0x0001, 0x080c, 0x9207, 0x080c, - 0x9684, 0x0005, 0x080c, 0xe4d3, 0x1904, 0xd440, 0x080c, 0x3326, - 0x1904, 0xd440, 0x080c, 0xd60d, 0x1904, 0xd114, 0x0016, 0x0026, - 0x00e6, 0x2071, 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, - 0x080c, 0xc820, 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, - 0x6010, 0x9190, 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, - 0x2c08, 0x9006, 0x080c, 0xe2a3, 0x1180, 0x7244, 0x9286, 0xffff, - 0x01b0, 0x2160, 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, - 0xffff, 0x1180, 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, - 0x1d80, 0x6004, 0x9086, 0x0024, 0x1110, 0x080c, 0xabdf, 0x2160, - 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, 0x9207, 0x080c, 0x9684, - 0x00ee, 0x002e, 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x655c, - 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, - 0x2011, 0x0276, 0x080c, 0xbba1, 0x003e, 0x002e, 0x001e, 0x015e, - 0x0120, 0x6007, 0x0031, 0x0804, 0xd22d, 0x080c, 0xb812, 0x080c, - 0x74c8, 0x1190, 0x0006, 0x0026, 0x0036, 0x080c, 0x74e2, 0x1138, - 0x080c, 0x77cc, 0x080c, 0x6024, 0x080c, 0x73f9, 0x0010, 0x080c, - 0x749c, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, 0x3326, 0x1904, - 0xd440, 0x080c, 0xd60d, 0x1904, 0xd114, 0x6106, 0x080c, 0xd629, - 0x1120, 0x6007, 0x002b, 0x0804, 0xd22d, 0x6007, 0x002c, 0x0804, - 0xd22d, 0x080c, 0xe4d3, 0x1904, 0xd440, 0x080c, 0x3326, 0x1904, - 0xd440, 0x080c, 0xd60d, 0x1904, 0xd114, 0x6106, 0x080c, 0xd62e, - 0x1120, 0x6007, 0x002e, 0x0804, 0xd22d, 0x6007, 0x002f, 0x0804, - 0xd22d, 0x080c, 0x3326, 0x1904, 0xd440, 0x00e6, 0x00d6, 0x00c6, - 0x6010, 0x2058, 0xb904, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, - 0x9184, 0xff00, 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, - 0x00ee, 0x0804, 0xd234, 0x080c, 0x56d9, 0xd0e4, 0x0904, 0xd38b, - 0x2071, 0x026c, 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, - 0x080c, 0x6a66, 0x0140, 0x6010, 0x2058, 0xb810, 0x9106, 0x1118, - 0xb814, 0x9206, 0x0510, 0x080c, 0x6a62, 0x15b8, 0x2069, 0x1800, - 0x6880, 0x9206, 0x1590, 0x687c, 0x9106, 0x1578, 0x7210, 0x080c, - 0xc820, 0x0590, 0x080c, 0xd4f8, 0x0578, 0x080c, 0xe355, 0x0560, - 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, - 0x9200, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, - 0x0150, 0x080c, 0xc820, 0x01c0, 0x9280, 0x0002, 0x2004, 0x7110, - 0x9106, 0x1190, 0x08e0, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, - 0xe2a3, 0x2c10, 0x2160, 0x0140, 0x0890, 0x6007, 0x0037, 0x602f, - 0x0009, 0x6017, 0x1500, 0x08b8, 0x6007, 0x0037, 0x602f, 0x0003, - 0x6017, 0x1700, 0x0880, 0x6007, 0x0012, 0x0868, 0x080c, 0x3326, - 0x1904, 0xd440, 0x6010, 0x2058, 0xb804, 0x9084, 0xff00, 0x8007, - 0x9086, 0x0006, 0x1904, 0xd234, 0x00e6, 0x00d6, 0x00c6, 0x080c, - 0x56d9, 0xd0e4, 0x0904, 0xd403, 0x2069, 0x1800, 0x2071, 0x026c, - 0x7008, 0x603a, 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, - 0x00c6, 0x2c08, 0x9085, 0x0001, 0x080c, 0xe2a3, 0x2c10, 0x00ce, - 0x05e8, 0x080c, 0xc820, 0x05d0, 0x7108, 0x9280, 0x0002, 0x2004, - 0x9106, 0x15a0, 0x00c6, 0x0026, 0x2260, 0x080c, 0xc423, 0x002e, - 0x00ce, 0x7118, 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0178, - 0x9186, 0x0005, 0x0118, 0x9186, 0x0007, 0x1198, 0x9280, 0x0005, - 0x2004, 0x9005, 0x0170, 0x080c, 0xd4f8, 0x0904, 0xd384, 0x0056, - 0x7510, 0x7614, 0x080c, 0xe36e, 0x005e, 0x00ce, 0x00de, 0x00ee, - 0x0005, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, - 0x0001, 0x2009, 0x8020, 0x080c, 0x9200, 0x0c78, 0x6007, 0x003b, - 0x602f, 0x0003, 0x6017, 0x0300, 0x6003, 0x0001, 0x2009, 0x8020, - 0x080c, 0x9200, 0x0c10, 0x6007, 0x003b, 0x602f, 0x000b, 0x6017, - 0x0000, 0x0804, 0xd35b, 0x00e6, 0x0026, 0x080c, 0x6a28, 0x0550, - 0x080c, 0x69c4, 0x080c, 0xe545, 0x1518, 0x2071, 0x1800, 0x70dc, - 0x9085, 0x0003, 0x70de, 0x00f6, 0x2079, 0x0100, 0x72b0, 0x9284, - 0x00ff, 0x707e, 0x78e6, 0x9284, 0xff00, 0x7280, 0x9205, 0x7082, - 0x78ea, 0x00fe, 0x70e7, 0x0000, 0x080c, 0x6a66, 0x0120, 0x2011, - 0x1a08, 0x2013, 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2fc0, 0x0010, - 0x080c, 0xe577, 0x002e, 0x00ee, 0x080c, 0xabdf, 0x0804, 0xd233, - 0x080c, 0xabdf, 0x0005, 0x2600, 0x0002, 0xd457, 0xd488, 0xd499, - 0xd457, 0xd457, 0xd459, 0xd4aa, 0xd457, 0xd457, 0xd457, 0xd476, - 0xd457, 0xd457, 0xd457, 0xd4b5, 0xd4c2, 0xd4f3, 0xd457, 0x080c, - 0x0d7d, 0x080c, 0xe4d3, 0x1d20, 0x080c, 0x3326, 0x1d08, 0x080c, - 0xd60d, 0x1148, 0x7038, 0x6016, 0x6007, 0x0045, 0x6003, 0x0001, - 0x080c, 0x9207, 0x0005, 0x080c, 0x31ef, 0x080c, 0xcf66, 0x6007, - 0x0001, 0x6003, 0x0001, 0x080c, 0x9207, 0x0005, 0x080c, 0xe4d3, - 0x1938, 0x080c, 0x3326, 0x1920, 0x080c, 0xd60d, 0x1d60, 0x703c, - 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x9207, 0x0005, - 0x080c, 0x3326, 0x1904, 0xd440, 0x2009, 0x0041, 0x080c, 0xe580, - 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x9207, 0x080c, 0x9684, - 0x0005, 0x080c, 0x3326, 0x1904, 0xd440, 0x2009, 0x0042, 0x080c, - 0xe580, 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, 0x9207, 0x080c, - 0x9684, 0x0005, 0x080c, 0x3326, 0x1904, 0xd440, 0x2009, 0x0046, - 0x080c, 0xe580, 0x080c, 0xabdf, 0x0005, 0x080c, 0xd515, 0x0904, - 0xd440, 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, 0x9207, 0x080c, - 0x9684, 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, 0x7134, 0x918c, - 0x00ff, 0x81ff, 0x0508, 0x9186, 0x0001, 0x1160, 0x7140, 0x2001, - 0x19bc, 0x2004, 0x9106, 0x11b0, 0x7144, 0x2001, 0x19bd, 0x2004, - 0x9106, 0x0190, 0x9186, 0x0002, 0x1168, 0x2011, 0x0276, 0x20a9, - 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xbbb5, - 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, 0x9207, - 0x080c, 0x9684, 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, 0x0ca0, - 0x0016, 0x00e6, 0x2071, 0x0260, 0x00b6, 0x00c6, 0x2260, 0x6010, - 0x2058, 0xb8d4, 0xd084, 0x0150, 0x7128, 0x6050, 0x9106, 0x1120, - 0x712c, 0x604c, 0x9106, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, - 0x00ce, 0x00be, 0x00ee, 0x001e, 0x0005, 0x0016, 0x0096, 0x0086, - 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, - 0x7090, 0x908a, 0x00f9, 0x16e8, 0x20e1, 0x0000, 0x2001, 0x199f, - 0x2003, 0x0000, 0x080c, 0x1053, 0x05a0, 0x2900, 0x6016, 0x7090, - 0x8004, 0xa816, 0x908a, 0x001e, 0x02d0, 0xa833, 0x001e, 0x20a9, - 0x001e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, 0x2001, - 0x199f, 0x0016, 0x200c, 0x0471, 0x001e, 0x2940, 0x080c, 0x1053, - 0x01c0, 0x2900, 0xa006, 0x2100, 0x81ff, 0x0180, 0x0c18, 0xa832, - 0x20a8, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, 0x2001, - 0x199f, 0x0016, 0x200c, 0x00b1, 0x001e, 0x0000, 0x9085, 0x0001, - 0x0048, 0x2071, 0x1800, 0x7093, 0x0000, 0x6014, 0x2048, 0x080c, - 0x0fec, 0x9006, 0x012e, 0x01de, 0x01ce, 0x00ee, 0x008e, 0x009e, - 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x918c, - 0xffff, 0x11a8, 0x080c, 0x219a, 0x2099, 0x026c, 0x2001, 0x0014, - 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x00f8, 0x20a8, 0x4003, - 0x22a8, 0x8108, 0x080c, 0x219a, 0x2099, 0x0260, 0x0ca8, 0x080c, - 0x219a, 0x2061, 0x199f, 0x6004, 0x2098, 0x6008, 0x3518, 0x9312, - 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, 0x4003, 0x22a8, 0x8108, - 0x080c, 0x219a, 0x2099, 0x0260, 0x0ca8, 0x2061, 0x199f, 0x2019, - 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0260, - 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, - 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, - 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, 0x080c, 0x21b2, 0x20a1, - 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, - 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, 0x22a8, 0x8108, 0x080c, - 0x21b2, 0x20a1, 0x0240, 0x0c98, 0x080c, 0x21b2, 0x2061, 0x19a2, - 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, - 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, 0x22a8, 0x8108, 0x080c, - 0x21b2, 0x20a1, 0x0240, 0x0c98, 0x2061, 0x19a2, 0x2019, 0x0260, - 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0240, 0x6006, - 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, - 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, 0x0066, 0x6610, - 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0170, - 0x9686, 0x0004, 0x0158, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, - 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, 0x0001, 0x006e, 0x00be, - 0x0005, 0x00d6, 0x080c, 0xd6a3, 0x00de, 0x0005, 0x00d6, 0x080c, - 0xd6b0, 0x1520, 0x680c, 0x908c, 0xff00, 0x6820, 0x9084, 0x00ff, - 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, 0x0130, 0x9006, 0x080c, - 0xe6a0, 0x2009, 0x0001, 0x0078, 0xd1ec, 0x0180, 0x6920, 0x918c, - 0x00ff, 0x6824, 0x080c, 0x2614, 0x1148, 0x2001, 0x0001, 0x080c, - 0xe6a0, 0x2110, 0x900e, 0x080c, 0x323e, 0x0018, 0x9085, 0x0001, - 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00c6, 0x080c, 0xac4f, - 0x0598, 0x0016, 0x0026, 0x00c6, 0x2011, 0x0263, 0x2204, 0x8211, - 0x220c, 0x080c, 0x2614, 0x1568, 0x080c, 0x65bf, 0x1550, 0xbe12, - 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, 0x6012, 0x080c, 0xe4d3, - 0x11c8, 0x080c, 0x3326, 0x11b0, 0x080c, 0xd60d, 0x0500, 0x2001, - 0x0007, 0x080c, 0x6570, 0x2001, 0x0007, 0x080c, 0x659c, 0x6017, - 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, - 0x9207, 0x0010, 0x080c, 0xabdf, 0x9085, 0x0001, 0x00ce, 0x00be, - 0x0005, 0x080c, 0xabdf, 0x00ce, 0x002e, 0x001e, 0x0ca8, 0x080c, - 0xabdf, 0x9006, 0x0c98, 0x2069, 0x026d, 0x6800, 0x9082, 0x0010, - 0x1228, 0x6017, 0x0000, 0x9085, 0x0001, 0x0008, 0x9006, 0x0005, - 0x6017, 0x0000, 0x2069, 0x026c, 0x6808, 0x9084, 0xff00, 0x9086, - 0x0800, 0x1190, 0x6904, 0x9186, 0x0018, 0x0118, 0x9186, 0x0014, - 0x1158, 0x810f, 0x6800, 0x9084, 0x00ff, 0x910d, 0x6162, 0x908e, - 0x0014, 0x0110, 0x908e, 0x0010, 0x0005, 0x6004, 0x90b2, 0x0053, - 0x1a0c, 0x0d7d, 0x91b6, 0x0013, 0x1130, 0x2008, 0x91b2, 0x0040, - 0x1a04, 0xd7f2, 0x0092, 0x91b6, 0x0027, 0x0120, 0x91b6, 0x0014, - 0x190c, 0x0d7d, 0x2001, 0x0007, 0x080c, 0x659c, 0x080c, 0x95c6, - 0x080c, 0xac1a, 0x080c, 0x9684, 0x0005, 0xd72d, 0xd72f, 0xd72d, - 0xd72d, 0xd72d, 0xd72f, 0xd73c, 0xd7ef, 0xd78c, 0xd7ef, 0xd7a0, - 0xd7ef, 0xd73c, 0xd7ef, 0xd7e7, 0xd7ef, 0xd7e7, 0xd7ef, 0xd7ef, - 0xd72d, 0xd72d, 0xd72d, 0xd72d, 0xd72d, 0xd72d, 0xd72d, 0xd72d, - 0xd72d, 0xd72d, 0xd72d, 0xd72f, 0xd72d, 0xd7ef, 0xd72d, 0xd72d, - 0xd7ef, 0xd72d, 0xd7ec, 0xd7ef, 0xd72d, 0xd72d, 0xd72d, 0xd72d, - 0xd7ef, 0xd7ef, 0xd72d, 0xd7ef, 0xd7ef, 0xd72d, 0xd737, 0xd72d, - 0xd72d, 0xd72d, 0xd72d, 0xd7eb, 0xd7ef, 0xd72d, 0xd72d, 0xd7ef, - 0xd7ef, 0xd72d, 0xd72d, 0xd72d, 0xd72d, 0x080c, 0x0d7d, 0x080c, - 0xcf69, 0x6003, 0x0002, 0x080c, 0x9684, 0x0804, 0xd7f1, 0x9006, - 0x080c, 0x655c, 0x0804, 0xd7ef, 0x080c, 0x6a62, 0x1904, 0xd7ef, - 0x9006, 0x080c, 0x655c, 0x6010, 0x2058, 0xb810, 0x9086, 0x00ff, - 0x1140, 0x00f6, 0x2079, 0x1800, 0x78a8, 0x8000, 0x78aa, 0x00fe, - 0x0428, 0x6010, 0x2058, 0xb884, 0x9005, 0x1178, 0x080c, 0xcf51, - 0x1904, 0xd7ef, 0x0036, 0x0046, 0xbba0, 0x2021, 0x0007, 0x080c, - 0x4cc0, 0x004e, 0x003e, 0x0804, 0xd7ef, 0x080c, 0x3357, 0x1904, - 0xd7ef, 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1138, 0x00f6, - 0x2079, 0x1800, 0x78a8, 0x8000, 0x78aa, 0x00fe, 0x2001, 0x0002, - 0x080c, 0x6570, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, - 0x080c, 0x9207, 0x080c, 0x9684, 0x6110, 0x2158, 0x2009, 0x0001, - 0x080c, 0x862b, 0x0804, 0xd7f1, 0x6610, 0x2658, 0xbe04, 0x96b4, - 0xff00, 0x8637, 0x9686, 0x0006, 0x0904, 0xd7ef, 0x9686, 0x0004, - 0x0904, 0xd7ef, 0x080c, 0x8eac, 0x2001, 0x0004, 0x0804, 0xd7ed, - 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, - 0x6010, 0x2058, 0xbba0, 0x2021, 0x0006, 0x080c, 0x4cc0, 0x004e, - 0x003e, 0x2001, 0x0006, 0x080c, 0xd80b, 0x6610, 0x2658, 0xbe04, - 0x0066, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x006e, 0x0168, - 0x2001, 0x0006, 0x080c, 0x659c, 0x9284, 0x00ff, 0x908e, 0x0007, - 0x1120, 0x2001, 0x0006, 0x080c, 0x6570, 0x080c, 0x6a62, 0x11f8, - 0x2001, 0x1837, 0x2004, 0xd0a4, 0x01d0, 0xbe04, 0x96b4, 0x00ff, - 0x9686, 0x0006, 0x01a0, 0x00f6, 0x2079, 0x1800, 0x78a8, 0x8000, - 0x78aa, 0x00fe, 0x0804, 0xd776, 0x2001, 0x0004, 0x0030, 0x2001, - 0x0006, 0x0409, 0x0020, 0x0018, 0x0010, 0x080c, 0x659c, 0x080c, - 0xabdf, 0x0005, 0x2600, 0x0002, 0xd806, 0xd806, 0xd806, 0xd806, - 0xd806, 0xd808, 0xd806, 0xd808, 0xd806, 0xd806, 0xd808, 0xd806, - 0xd806, 0xd806, 0xd808, 0xd808, 0xd808, 0xd808, 0x080c, 0x0d7d, - 0x080c, 0xabdf, 0x0005, 0x0016, 0x00b6, 0x00d6, 0x6110, 0x2158, - 0xb900, 0xd184, 0x0138, 0x080c, 0x6570, 0x9006, 0x080c, 0x655c, - 0x080c, 0x321e, 0x00de, 0x00be, 0x001e, 0x0005, 0x6610, 0x2658, - 0xb804, 0x9084, 0xff00, 0x8007, 0x90b2, 0x000c, 0x1a0c, 0x0d7d, - 0x91b6, 0x0015, 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, - 0x0d7d, 0x006b, 0x0005, 0xb68f, 0xb68f, 0xb68f, 0xb68f, 0xd8a0, - 0xb68f, 0xd88a, 0xd84b, 0xb68f, 0xb68f, 0xb68f, 0xb68f, 0xb68f, - 0xb68f, 0xb68f, 0xb68f, 0xd8a0, 0xb68f, 0xd88a, 0xd891, 0xb68f, - 0xb68f, 0xb68f, 0xb68f, 0x00f6, 0x080c, 0x6a62, 0x11d8, 0x080c, - 0xcf51, 0x11c0, 0x6010, 0x905d, 0x01a8, 0xb884, 0x9005, 0x0190, - 0x9006, 0x080c, 0x655c, 0x2001, 0x0002, 0x080c, 0x6570, 0x6023, - 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x9207, 0x080c, - 0x9684, 0x00f0, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, - 0x2614, 0x11b0, 0x080c, 0x6620, 0x0118, 0x080c, 0xabdf, 0x0080, - 0xb810, 0x0006, 0xb814, 0x0006, 0xb884, 0x0006, 0x080c, 0x603e, - 0x000e, 0xb886, 0x000e, 0xb816, 0x000e, 0xb812, 0x080c, 0xabdf, - 0x00fe, 0x0005, 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, 0xabdf, - 0x0005, 0x080c, 0xba1a, 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, - 0x080c, 0x9207, 0x080c, 0x9684, 0x0010, 0x080c, 0xabdf, 0x0005, - 0x0804, 0xabdf, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0d7d, 0x080c, - 0x95c6, 0x080c, 0xac1a, 0x0005, 0x9182, 0x0040, 0x0002, 0xd8c2, - 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c4, 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c2, - 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c2, 0xd8c2, - 0xd8c2, 0xd8c2, 0x080c, 0x0d7d, 0x0096, 0x00b6, 0x00d6, 0x00e6, - 0x00f6, 0x0046, 0x0026, 0x6210, 0x2258, 0xb8bc, 0x9005, 0x11b0, - 0x6007, 0x0044, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, - 0xd92b, 0x080c, 0xe694, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, - 0x0001, 0x2011, 0x0200, 0x080c, 0x88ce, 0x0020, 0x9026, 0x080c, - 0xe518, 0x0c30, 0x080c, 0x103a, 0x090c, 0x0d7d, 0x6003, 0x0007, - 0xa867, 0x010d, 0x9006, 0xa802, 0xa86a, 0xac8a, 0x2c00, 0xa88e, - 0x6008, 0xa8e2, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa97a, 0x0016, - 0xa876, 0xa87f, 0x0000, 0xa883, 0x0000, 0xa887, 0x0036, 0x080c, - 0x6d7b, 0x001e, 0x080c, 0xe694, 0x1904, 0xd98b, 0x9486, 0x2000, - 0x1130, 0x2019, 0x0017, 0x080c, 0xe249, 0x0804, 0xd98b, 0x9486, - 0x0200, 0x1120, 0x080c, 0xe1d9, 0x0804, 0xd98b, 0x9486, 0x0400, - 0x0120, 0x9486, 0x1000, 0x1904, 0xd98b, 0x2019, 0x0002, 0x080c, - 0xe1f8, 0x0804, 0xd98b, 0x2069, 0x1a6e, 0x6a00, 0xd284, 0x0904, - 0xd9f5, 0x9284, 0x0300, 0x1904, 0xd9ee, 0x6804, 0x9005, 0x0904, - 0xd9d6, 0x2d78, 0x6003, 0x0007, 0x080c, 0x1053, 0x0904, 0xd997, - 0x7800, 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, - 0x2001, 0x180f, 0x2004, 0xd084, 0x1904, 0xd9f9, 0x9006, 0xa802, - 0xa867, 0x0116, 0xa86a, 0x6008, 0xa8e2, 0x2c00, 0xa87a, 0x6010, - 0x2058, 0xb8a0, 0x7130, 0xa9b6, 0xa876, 0xb928, 0xa9ba, 0xb92c, - 0xa9be, 0xb930, 0xa9c2, 0xb934, 0xa9c6, 0xa883, 0x003d, 0x7044, - 0x9084, 0x0003, 0x9080, 0xd993, 0x2005, 0xa87e, 0x20a9, 0x000a, - 0x2001, 0x0270, 0xaa5c, 0x9290, 0x0021, 0x2009, 0x0205, 0x200b, - 0x0080, 0x20e1, 0x0000, 0xab60, 0x23e8, 0x2098, 0x22a0, 0x4003, - 0x200b, 0x0000, 0x2001, 0x027a, 0x200c, 0xa9b2, 0x8000, 0x200c, - 0xa9ae, 0x080c, 0x6d7e, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, - 0x00be, 0x009e, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, - 0x1810, 0x2004, 0xd084, 0x0120, 0x080c, 0x103a, 0x1904, 0xd940, - 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, - 0x080c, 0x9200, 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, - 0x9086, 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, - 0x918c, 0xf700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, - 0x0043, 0x2009, 0xa025, 0x080c, 0x9200, 0x0828, 0x6868, 0x602e, - 0x686c, 0x6032, 0x6017, 0xf200, 0x6003, 0x0001, 0x6007, 0x0041, - 0x2009, 0xa022, 0x080c, 0x9200, 0x0804, 0xd98b, 0x2001, 0x180e, - 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x4b09, 0x6017, - 0xf300, 0x0010, 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, - 0x2009, 0xa022, 0x080c, 0x9200, 0x0804, 0xd98b, 0x6017, 0xf500, - 0x0c98, 0x6017, 0xf600, 0x0804, 0xd9ab, 0x6017, 0xf200, 0x0804, - 0xd9ab, 0xa867, 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, - 0xa87a, 0x7044, 0x9084, 0x0003, 0x9080, 0xd993, 0x2005, 0xa87e, - 0x2928, 0x6010, 0x2058, 0xb8a0, 0xa876, 0xb828, 0xa88a, 0xb82c, - 0xa88e, 0xb830, 0xa892, 0xb834, 0xa896, 0xa883, 0x003d, 0x2009, - 0x0205, 0x2104, 0x9085, 0x0080, 0x200a, 0x20e1, 0x0000, 0x2011, - 0x0210, 0x2214, 0x9294, 0x0fff, 0xaaa2, 0x9282, 0x0111, 0x1a0c, - 0x0d7d, 0x8210, 0x821c, 0x2001, 0x026c, 0x2098, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0029, 0x20a0, 0x2011, 0xda75, 0x2041, 0x0001, - 0x223d, 0x9784, 0x00ff, 0x9322, 0x1208, 0x2300, 0x20a8, 0x4003, - 0x931a, 0x0530, 0x8210, 0xd7fc, 0x1130, 0x8d68, 0x2d0a, 0x2001, - 0x0260, 0x2098, 0x0c68, 0x2950, 0x080c, 0x1053, 0x0170, 0x2900, - 0xb002, 0xa867, 0x0147, 0xa86b, 0x0000, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x001b, 0x20a0, 0x8840, 0x08d8, 0x2548, 0xa800, 0x902d, - 0x0118, 0x080c, 0x106c, 0x0cc8, 0x080c, 0x106c, 0x0804, 0xd997, - 0x2548, 0x8847, 0x9885, 0x0046, 0xa866, 0x2009, 0x0205, 0x200b, - 0x0000, 0x080c, 0xe27c, 0x0804, 0xd98b, 0x8010, 0x0004, 0x801a, - 0x0006, 0x8018, 0x0008, 0x8016, 0x000a, 0x8014, 0x9186, 0x0013, - 0x1160, 0x6004, 0x908a, 0x0057, 0x1a0c, 0x0d7d, 0x9082, 0x0040, - 0x0a0c, 0x0d7d, 0x2008, 0x0804, 0xdb00, 0x9186, 0x0051, 0x0108, - 0x0040, 0x080c, 0xaa9a, 0x01e8, 0x9086, 0x0002, 0x0904, 0xdb47, - 0x00c0, 0x9186, 0x0027, 0x0180, 0x9186, 0x0048, 0x0128, 0x9186, - 0x0014, 0x0150, 0x190c, 0x0d7d, 0x080c, 0xaa9a, 0x0150, 0x9086, - 0x0004, 0x0904, 0xdbe4, 0x0028, 0x6004, 0x9082, 0x0040, 0x2008, - 0x001a, 0x080c, 0xac99, 0x0005, 0xdac7, 0xdac9, 0xdac9, 0xdaf0, - 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, - 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0xdac7, 0x080c, - 0x0d7d, 0x080c, 0x95c6, 0x080c, 0x9684, 0x0036, 0x0096, 0x6014, - 0x904d, 0x01d8, 0x080c, 0xc832, 0x01c0, 0x6003, 0x0002, 0x6010, - 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, - 0x080c, 0xe27c, 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, - 0x1986, 0x2004, 0x601a, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, - 0x0096, 0x080c, 0x95c6, 0x080c, 0x9684, 0x080c, 0xc832, 0x0120, - 0x6014, 0x2048, 0x080c, 0x106c, 0x080c, 0xac1a, 0x009e, 0x0005, - 0x0002, 0xdb14, 0xdb29, 0xdb16, 0xdb3e, 0xdb14, 0xdb14, 0xdb14, - 0xdb14, 0xdb14, 0xdb14, 0xdb14, 0xdb14, 0xdb14, 0xdb14, 0xdb14, - 0xdb14, 0xdb14, 0xdb14, 0xdb14, 0x080c, 0x0d7d, 0x0096, 0x6014, - 0x2048, 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, - 0x080c, 0xac7c, 0x0010, 0x6003, 0x0004, 0x080c, 0x9684, 0x009e, - 0x0005, 0x080c, 0xc832, 0x0138, 0x6114, 0x0096, 0x2148, 0xa97c, - 0x009e, 0xd1ec, 0x1138, 0x080c, 0x88a3, 0x080c, 0xabdf, 0x080c, - 0x9684, 0x0005, 0x080c, 0xe4dc, 0x0db0, 0x0cc8, 0x6003, 0x0001, - 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x9200, 0x0005, 0x9182, - 0x0040, 0x0002, 0xdb5d, 0xdb5f, 0xdb5d, 0xdb5d, 0xdb5d, 0xdb5d, - 0xdb5d, 0xdb5d, 0xdb5d, 0xdb5d, 0xdb5d, 0xdb5d, 0xdb5d, 0xdb5d, - 0xdb5d, 0xdb5d, 0xdb5d, 0xdb60, 0xdb5d, 0x080c, 0x0d7d, 0x0005, - 0x00d6, 0x080c, 0x88a3, 0x00de, 0x080c, 0xe534, 0x080c, 0xabdf, - 0x0005, 0x9182, 0x0040, 0x0002, 0xdb7f, 0xdb7f, 0xdb7f, 0xdb7f, - 0xdb7f, 0xdb7f, 0xdb7f, 0xdb7f, 0xdb7f, 0xdb81, 0xdbac, 0xdb7f, - 0xdb7f, 0xdb7f, 0xdb7f, 0xdbac, 0xdb7f, 0xdb7f, 0xdb7f, 0x080c, + 0x0001, 0x2009, 0x8020, 0x080c, 0x9239, 0x7220, 0x080c, 0xc853, + 0x0178, 0x6810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, + 0x6824, 0xd0ec, 0x0128, 0x00c6, 0x2d60, 0x080c, 0xcbaf, 0x00ce, + 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, + 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d7d, 0x908a, 0x0092, 0x1a0c, + 0x0d7d, 0x9082, 0x0085, 0x00e2, 0x9186, 0x0027, 0x0120, 0x9186, + 0x0014, 0x190c, 0x0d7d, 0x080c, 0x95ff, 0x0096, 0x6014, 0x2048, + 0x080c, 0xc865, 0x0140, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, + 0x0029, 0x080c, 0x6d9f, 0x009e, 0x080c, 0xac2b, 0x0804, 0x96bd, + 0xc24d, 0xc24f, 0xc24f, 0xc24d, 0xc24d, 0xc24d, 0xc24d, 0xc24d, + 0xc24d, 0xc24d, 0xc24d, 0xc24d, 0xc24d, 0x080c, 0x0d7d, 0x080c, + 0xac2b, 0x0005, 0x9186, 0x0013, 0x1130, 0x6004, 0x9082, 0x0085, + 0x2008, 0x0804, 0xc29e, 0x9186, 0x0027, 0x1558, 0x080c, 0x95ff, + 0x080c, 0x320f, 0x080c, 0xcf99, 0x0096, 0x6014, 0x2048, 0x080c, + 0xc865, 0x0150, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, + 0x080c, 0x6d9f, 0x080c, 0xca54, 0x009e, 0x080c, 0xabf0, 0x0005, + 0x9186, 0x0089, 0x0118, 0x9186, 0x008a, 0x1140, 0x080c, 0xaaab, + 0x0128, 0x9086, 0x000c, 0x0904, 0xc2d6, 0x0000, 0x080c, 0xacaa, + 0x0c70, 0x9186, 0x0014, 0x1d60, 0x080c, 0x95ff, 0x0096, 0x6014, + 0x2048, 0x080c, 0xc865, 0x0d00, 0xa867, 0x0103, 0xa877, 0x0000, + 0xa87b, 0x0006, 0xa880, 0xc0ec, 0xa882, 0x0890, 0x0002, 0xc2ae, + 0xc2ac, 0xc2ac, 0xc2ac, 0xc2ac, 0xc2ac, 0xc2c2, 0xc2ac, 0xc2ac, + 0xc2ac, 0xc2ac, 0xc2ac, 0xc2ac, 0x080c, 0x0d7d, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, + 0x2001, 0x1985, 0x0010, 0x2001, 0x1986, 0x2004, 0x601a, 0x6003, + 0x000c, 0x0005, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, + 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1985, 0x0010, 0x2001, + 0x1986, 0x2004, 0x601a, 0x6003, 0x000e, 0x0005, 0x9182, 0x0092, + 0x1220, 0x9182, 0x0085, 0x0208, 0x0012, 0x0804, 0xacaa, 0xc2ec, + 0xc2ec, 0xc2ec, 0xc2ec, 0xc2ee, 0xc33b, 0xc2ec, 0xc2ec, 0xc2ec, + 0xc2ec, 0xc2ec, 0xc2ec, 0xc2ec, 0x080c, 0x0d7d, 0x0096, 0x6010, + 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0168, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, + 0x009e, 0x0804, 0xc34f, 0x080c, 0xc865, 0x1118, 0x080c, 0xca54, + 0x0068, 0x6014, 0x2048, 0x080c, 0xcfb0, 0x1110, 0x080c, 0xca54, + 0xa867, 0x0103, 0x080c, 0xcf64, 0x080c, 0x6d9f, 0x00d6, 0x2c68, + 0x080c, 0xab9a, 0x01d0, 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, + 0xffff, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, + 0x613e, 0x6910, 0x6112, 0x080c, 0xccfe, 0x695c, 0x615e, 0x6023, + 0x0001, 0x2009, 0x8020, 0x080c, 0x9239, 0x2d60, 0x00de, 0x080c, + 0xabf0, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x05a0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, + 0x0130, 0x9186, 0x001e, 0x0118, 0x9186, 0x0039, 0x1538, 0x00d6, + 0x2c68, 0x080c, 0xcefc, 0x11f0, 0x080c, 0xab9a, 0x01d8, 0x6106, + 0x6003, 0x0001, 0x6023, 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, + 0x6930, 0x6132, 0x6934, 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, + 0x693c, 0x613e, 0x695c, 0x615e, 0x080c, 0xccfe, 0x2009, 0x8020, + 0x080c, 0x9239, 0x2d60, 0x00de, 0x0804, 0xabf0, 0x0096, 0x6014, + 0x2048, 0x080c, 0xc865, 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, + 0x0128, 0xc0ec, 0xa882, 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, + 0xa87b, 0x0002, 0x0020, 0xa87b, 0x0005, 0x080c, 0xcb6e, 0xa877, + 0x0000, 0x080c, 0x6d9f, 0x080c, 0xca54, 0x009e, 0x0804, 0xabf0, + 0x0016, 0x0096, 0x6014, 0x2048, 0x080c, 0xc865, 0x0140, 0xa867, + 0x0103, 0xa87b, 0x0028, 0xa877, 0x0000, 0x080c, 0x6d9f, 0x009e, + 0x001e, 0x9186, 0x0013, 0x0158, 0x9186, 0x0014, 0x0130, 0x9186, + 0x0027, 0x0118, 0x080c, 0xacaa, 0x0020, 0x080c, 0x95ff, 0x080c, + 0xac2b, 0x0005, 0x0056, 0x0066, 0x0096, 0x00a6, 0x2029, 0x0001, + 0x9182, 0x0101, 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, 0x8304, + 0x9098, 0x0018, 0x2009, 0x0020, 0x2011, 0x0029, 0x080c, 0xc41b, + 0x96b2, 0x0020, 0xb004, 0x904d, 0x0110, 0x080c, 0x0ff9, 0x080c, + 0x1047, 0x0520, 0x8528, 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, + 0xb406, 0x968a, 0x003d, 0x1228, 0x2608, 0x2011, 0x001b, 0x0499, + 0x00a8, 0x96b2, 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, + 0x0451, 0x0c28, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, + 0x95ad, 0x0003, 0xb566, 0x95ac, 0x0000, 0x0048, 0x2001, 0x0205, + 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, 0x009e, + 0x006e, 0x005e, 0x0005, 0x00a6, 0x89ff, 0x0158, 0xa804, 0x9055, + 0x0130, 0xa807, 0x0000, 0x080c, 0x6d9f, 0x2a48, 0x0cb8, 0x080c, + 0x6d9f, 0x00ae, 0x0005, 0x00f6, 0x2079, 0x0200, 0x7814, 0x9085, + 0x0080, 0x7816, 0xd184, 0x0108, 0x8108, 0x810c, 0x20a9, 0x0001, + 0xa860, 0x20e8, 0xa85c, 0x9200, 0x20a0, 0x20e1, 0x0000, 0x2300, + 0x9e00, 0x2098, 0x4003, 0x8318, 0x9386, 0x0020, 0x1148, 0x2018, + 0x2300, 0x9e00, 0x2098, 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, + 0x8109, 0x1d80, 0x7817, 0x0000, 0x00fe, 0x0005, 0x0066, 0x0126, + 0x2091, 0x8000, 0x2031, 0x0001, 0x6020, 0x9084, 0x000f, 0x0083, + 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, + 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, + 0xc498, 0xc498, 0xc493, 0xc4bc, 0xc470, 0xc493, 0xc472, 0xc493, + 0xc470, 0x90ff, 0xc493, 0xc493, 0xc493, 0xc470, 0xc470, 0xc470, + 0x080c, 0x0d7d, 0x6010, 0x9080, 0x0000, 0x2004, 0xd0bc, 0x190c, + 0xc4bc, 0x0036, 0x6014, 0x0096, 0x2048, 0xa880, 0x009e, 0xd0cc, + 0x0118, 0x2019, 0x000c, 0x0038, 0xd094, 0x0118, 0x2019, 0x000d, + 0x0010, 0x2019, 0x0010, 0x080c, 0xde67, 0x6023, 0x0006, 0x6003, + 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, + 0x0096, 0x86ff, 0x11e8, 0x6014, 0x2048, 0x080c, 0xc865, 0x01d0, + 0x6043, 0xffff, 0xa864, 0x9086, 0x0139, 0x1128, 0xa87b, 0x0005, + 0xa883, 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, 0x6fd3, + 0x080c, 0xcb6e, 0x080c, 0x6d93, 0x080c, 0xac2b, 0x9085, 0x0001, + 0x009e, 0x0005, 0x9006, 0x0ce0, 0x080c, 0xa899, 0x080c, 0xcfbe, + 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x002b, 0x0106, 0x080c, + 0xa8b5, 0x010e, 0x0005, 0xc4db, 0xc509, 0xc4dd, 0xc530, 0xc504, + 0xc4db, 0xc493, 0xc498, 0xc498, 0xc493, 0xc493, 0xc493, 0xc493, + 0xc493, 0xc493, 0xc493, 0x080c, 0x0d7d, 0x86ff, 0x1510, 0x6020, + 0x9086, 0x0006, 0x01f0, 0x0096, 0x6014, 0x2048, 0x080c, 0xc865, + 0x0158, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, + 0x0ff9, 0x009e, 0x080c, 0xcb6e, 0x009e, 0x080c, 0xcf3e, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, + 0x921b, 0x9085, 0x0001, 0x0005, 0x0066, 0x080c, 0x1a94, 0x006e, + 0x08a0, 0x00e6, 0x2071, 0x19e6, 0x7030, 0x9c06, 0x1120, 0x080c, + 0xa0b3, 0x00ee, 0x0850, 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, + 0x1150, 0x0086, 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0xa207, + 0x009e, 0x008e, 0x0040, 0x0066, 0x080c, 0x9faf, 0x190c, 0x0d7d, + 0x080c, 0x9fbd, 0x006e, 0x00ee, 0x1904, 0xc4dd, 0x0804, 0xc493, + 0x0036, 0x00e6, 0x2071, 0x19e6, 0x704c, 0x9c06, 0x1138, 0x901e, + 0x080c, 0xa133, 0x00ee, 0x003e, 0x0804, 0xc4dd, 0x080c, 0xa33e, + 0x00ee, 0x003e, 0x1904, 0xc4dd, 0x0804, 0xc493, 0x00c6, 0x0066, + 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x00ce, 0x0005, 0xc566, + 0xc635, 0xc79f, 0xc56e, 0xac2b, 0xc566, 0xde59, 0xcfa6, 0xc635, + 0x90c6, 0xc82b, 0xc55f, 0xc55f, 0xc55f, 0xc55f, 0xc55f, 0x080c, + 0x0d7d, 0x080c, 0xca7a, 0x1110, 0x080c, 0xb5c6, 0x0005, 0x080c, + 0x95ff, 0x0804, 0xabf0, 0x601b, 0x0001, 0x0005, 0x080c, 0xc865, + 0x0130, 0x6014, 0x0096, 0x2048, 0x2c00, 0xa896, 0x009e, 0x080c, + 0xa899, 0x080c, 0xcfbe, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, + 0x0013, 0x0804, 0xa8b5, 0xc593, 0xc595, 0xc5bf, 0xc5d3, 0xc600, + 0xc593, 0xc566, 0xc566, 0xc566, 0xc5da, 0xc5da, 0xc593, 0xc593, + 0xc593, 0xc593, 0xc5e4, 0x080c, 0x0d7d, 0x00e6, 0x6014, 0x0096, + 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, 0x2071, 0x19e6, 0x7030, + 0x9c06, 0x01d0, 0x0066, 0x080c, 0x9faf, 0x190c, 0x0d7d, 0x080c, + 0x9fbd, 0x006e, 0x080c, 0xcf3e, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0002, 0x2001, 0x1986, 0x2004, 0x601a, 0x2009, 0x8020, + 0x080c, 0x921b, 0x00ee, 0x0005, 0x601b, 0x0001, 0x0cd8, 0x0096, + 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, 0x080c, 0xcf3e, + 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, + 0x080c, 0x921b, 0x0005, 0x080c, 0xa899, 0x080c, 0xaa2d, 0x080c, + 0xa8b5, 0x0c28, 0x0096, 0x601b, 0x0001, 0x6014, 0x2048, 0xa880, + 0xc0b5, 0xa882, 0x009e, 0x0005, 0x080c, 0x56fd, 0x01b8, 0x6014, + 0x0096, 0x904d, 0x0190, 0xa864, 0xa867, 0x0103, 0xa87b, 0x0006, + 0x9086, 0x0139, 0x1150, 0xa867, 0x0139, 0xa87b, 0x0030, 0xa897, + 0x4005, 0xa89b, 0x0004, 0x080c, 0x6d9f, 0x009e, 0x0804, 0xabf0, + 0x6014, 0x0096, 0x904d, 0x0560, 0xa97c, 0xd1e4, 0x1158, 0x611c, + 0xd1fc, 0x0530, 0x6110, 0x00b6, 0x2158, 0xb93c, 0x8109, 0x0208, + 0xb93e, 0x00be, 0x080c, 0xa8b5, 0x2001, 0x180f, 0x2004, 0xd0c4, + 0x0110, 0x009e, 0x0005, 0xa884, 0x009e, 0x8003, 0x800b, 0x810b, + 0x9108, 0x611a, 0x2001, 0x0037, 0x2c08, 0x080c, 0x1693, 0x6000, + 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, 0xac8d, 0x0005, + 0x009e, 0x080c, 0x1a94, 0x0804, 0xc5bf, 0x6000, 0x908a, 0x0016, + 0x1a0c, 0x0d7d, 0x000b, 0x0005, 0xc64c, 0xc56b, 0xc64e, 0xc64c, + 0xc64e, 0xc64e, 0xc567, 0xc64c, 0xc561, 0xc561, 0xc64c, 0xc64c, + 0xc64c, 0xc64c, 0xc64c, 0xc64c, 0x080c, 0x0d7d, 0x6010, 0x00b6, + 0x2058, 0xb804, 0x9084, 0x00ff, 0x00be, 0x908a, 0x000c, 0x1a0c, + 0x0d7d, 0x00b6, 0x0013, 0x00be, 0x0005, 0xc669, 0xc736, 0xc66b, + 0xc6ab, 0xc66b, 0xc6ab, 0xc66b, 0xc679, 0xc669, 0xc6ab, 0xc669, + 0xc69a, 0x080c, 0x0d7d, 0x6004, 0x908e, 0x0016, 0x05c0, 0x908e, + 0x0004, 0x05a8, 0x908e, 0x0002, 0x0590, 0x908e, 0x0052, 0x0904, + 0xc732, 0x6004, 0x080c, 0xca7a, 0x0904, 0xc74f, 0x908e, 0x0004, + 0x1110, 0x080c, 0x323e, 0x908e, 0x0021, 0x0904, 0xc753, 0x908e, + 0x0022, 0x0904, 0xc79a, 0x908e, 0x003d, 0x0904, 0xc753, 0x908e, + 0x0039, 0x0904, 0xc757, 0x908e, 0x0035, 0x0904, 0xc757, 0x908e, + 0x001e, 0x0178, 0x908e, 0x0001, 0x1140, 0x6010, 0x2058, 0xb804, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x0110, 0x080c, 0x320f, 0x080c, + 0xb5c6, 0x0804, 0xac2b, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, + 0x0904, 0xc723, 0x9186, 0x0002, 0x1904, 0xc6f8, 0x2001, 0x1837, + 0x2004, 0xd08c, 0x11c8, 0x080c, 0x74ec, 0x11b0, 0x080c, 0xcf84, + 0x0138, 0x080c, 0x750f, 0x1120, 0x080c, 0x73f7, 0x0804, 0xc783, + 0x2001, 0x197c, 0x2003, 0x0001, 0x2001, 0x1800, 0x2003, 0x0001, + 0x080c, 0x741d, 0x0804, 0xc783, 0x6010, 0x2058, 0x2001, 0x1837, + 0x2004, 0xd0ac, 0x1904, 0xc783, 0xb8a0, 0x9084, 0xff80, 0x1904, + 0xc783, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0190, 0x8001, 0xb842, + 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x604b, 0x0000, + 0x080c, 0xab9a, 0x0128, 0x2b00, 0x6012, 0x6023, 0x0001, 0x0458, + 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, 0x11a0, 0x6010, 0x2058, + 0xb8a0, 0x9086, 0x007e, 0x1170, 0x2009, 0x1837, 0x2104, 0xc085, + 0x200a, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5fd7, 0x00ee, 0x080c, + 0xb5c6, 0x0030, 0x080c, 0xb5c6, 0x080c, 0x320f, 0x080c, 0xcf99, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x323e, 0x012e, 0x00ee, + 0x080c, 0xac2b, 0x0005, 0x2001, 0x0002, 0x080c, 0x6594, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x9240, 0x080c, 0x96bd, 0x00de, + 0x00ce, 0x0c80, 0x080c, 0x323e, 0x0804, 0xc6a7, 0x00c6, 0x00d6, + 0x6104, 0x9186, 0x0016, 0x0d38, 0x6010, 0x2058, 0xb840, 0x9084, + 0x00ff, 0x9005, 0x0904, 0xc6f8, 0x8001, 0xb842, 0x6003, 0x0001, + 0x080c, 0x9240, 0x080c, 0x96bd, 0x00de, 0x00ce, 0x0898, 0x080c, + 0xb5c6, 0x0804, 0xc6a9, 0x080c, 0xb602, 0x0804, 0xc6a9, 0x00d6, + 0x2c68, 0x6104, 0x080c, 0xcefc, 0x00de, 0x0118, 0x080c, 0xabf0, + 0x0408, 0x6004, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, + 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x603c, 0x600a, + 0x2001, 0x1986, 0x2004, 0x601a, 0x602c, 0x2c08, 0x2060, 0x6024, + 0xd0b4, 0x0108, 0xc085, 0xc0b5, 0x6026, 0x2160, 0x2009, 0x8020, + 0x080c, 0x9239, 0x0005, 0x00de, 0x00ce, 0x080c, 0xb5c6, 0x080c, + 0x320f, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x323e, 0x6017, + 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x604b, 0x0000, 0x012e, + 0x00ee, 0x0005, 0x080c, 0xb02b, 0x1904, 0xc74f, 0x0005, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0d7d, 0x0096, 0x00d6, 0x001b, 0x00de, + 0x009e, 0x0005, 0xc7ba, 0xc7ba, 0xc7ba, 0xc7ba, 0xc7ba, 0xc7ba, + 0xc7ba, 0xc7ba, 0xc7ba, 0xc566, 0xc7ba, 0xc56b, 0xc7bc, 0xc56b, + 0xc7d6, 0xc7ba, 0x080c, 0x0d7d, 0x6004, 0x9086, 0x008b, 0x01b0, + 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, 0x1130, 0x602c, + 0x9080, 0x0009, 0x200c, 0xc185, 0x2102, 0x6007, 0x008b, 0x6003, + 0x000d, 0x2009, 0x8020, 0x080c, 0x9239, 0x0005, 0x080c, 0xcf78, + 0x0118, 0x080c, 0xcf8b, 0x0010, 0x080c, 0xcf99, 0x080c, 0xca54, + 0x080c, 0xc865, 0x0570, 0x080c, 0x320f, 0x080c, 0xc865, 0x0168, + 0x6014, 0x2048, 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, + 0xa880, 0xc0ed, 0xa882, 0x080c, 0x6d9f, 0x2c68, 0x080c, 0xab9a, + 0x0150, 0x6810, 0x6012, 0x080c, 0xccfe, 0x00c6, 0x2d60, 0x080c, + 0xac2b, 0x00ce, 0x0008, 0x2d60, 0x6017, 0x0000, 0x6023, 0x0001, + 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, + 0x00c8, 0x080c, 0xcf78, 0x0138, 0x6034, 0x9086, 0x4000, 0x1118, + 0x080c, 0x320f, 0x08d0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, + 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x080c, 0x320f, 0x0868, + 0x080c, 0xac2b, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d7d, + 0x0002, 0xc841, 0xc841, 0xc843, 0xc843, 0xc843, 0xc841, 0xc841, + 0xac2b, 0xc841, 0xc841, 0xc841, 0xc841, 0xc841, 0xc841, 0xc841, + 0xc841, 0x080c, 0x0d7d, 0x080c, 0xa899, 0x080c, 0xaa2d, 0x080c, + 0xa8b5, 0x6114, 0x0096, 0x2148, 0xa87b, 0x0006, 0x080c, 0x6d9f, + 0x009e, 0x0804, 0xabf0, 0x9284, 0x0003, 0x1158, 0x9282, 0x1ddc, + 0x0240, 0x2001, 0x181a, 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, + 0x0005, 0x9006, 0x0ce8, 0x0096, 0x0028, 0x0096, 0x0006, 0x6014, + 0x2048, 0x000e, 0x0006, 0x9984, 0xf000, 0x9086, 0xf000, 0x0110, + 0x080c, 0x10f2, 0x000e, 0x009e, 0x0005, 0x00e6, 0x00c6, 0x0036, + 0x0006, 0x0126, 0x2091, 0x8000, 0x2061, 0x1ddc, 0x2071, 0x1800, + 0x7354, 0x7074, 0x9302, 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, + 0xcf84, 0x0180, 0x9286, 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, + 0x1148, 0x080c, 0x320f, 0x080c, 0xcf99, 0x00c6, 0x080c, 0xac2b, + 0x00ce, 0x0060, 0x080c, 0xcc70, 0x0148, 0x080c, 0xca7a, 0x1110, + 0x080c, 0xb5c6, 0x00c6, 0x080c, 0xabf0, 0x00ce, 0x9ce0, 0x001c, + 0x7068, 0x9c02, 0x1208, 0x08a0, 0x012e, 0x000e, 0x003e, 0x00ce, + 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0016, 0x9188, 0x1000, 0x210c, + 0x81ff, 0x0128, 0x2061, 0x1b31, 0x6112, 0x080c, 0x320f, 0x9006, + 0x0010, 0x9085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x080c, 0xab9a, 0x01b0, 0x665e, 0x2b00, + 0x6012, 0x080c, 0x56fd, 0x0118, 0x080c, 0xc996, 0x0168, 0x080c, + 0xccfe, 0x6023, 0x0003, 0x2009, 0x004b, 0x080c, 0xac8d, 0x9085, + 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, + 0x2091, 0x8000, 0xbaa0, 0x080c, 0xac60, 0x0580, 0x605f, 0x0000, + 0x2b00, 0x6012, 0x080c, 0xccfe, 0x6023, 0x0003, 0x0016, 0x080c, + 0xa899, 0x080c, 0x93c6, 0x0076, 0x903e, 0x080c, 0x928f, 0x2c08, + 0x080c, 0xe038, 0x007e, 0x080c, 0xa8b5, 0x001e, 0xd184, 0x0128, + 0x080c, 0xabf0, 0x9085, 0x0001, 0x0070, 0x080c, 0x56fd, 0x0128, + 0xd18c, 0x1170, 0x080c, 0xc996, 0x0148, 0x2009, 0x004c, 0x080c, + 0xac8d, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x2900, 0x6016, 0x0c90, 0x2009, 0x004d, 0x0010, 0x2009, 0x004e, + 0x00f6, 0x00c6, 0x0046, 0x0016, 0x080c, 0xab9a, 0x2c78, 0x0590, + 0x7e5e, 0x2b00, 0x7812, 0x7823, 0x0003, 0x2021, 0x0005, 0x080c, + 0xc9a8, 0x9186, 0x004d, 0x0118, 0x9186, 0x004e, 0x0148, 0x2001, + 0x197f, 0x200c, 0xd1fc, 0x0168, 0x2f60, 0x080c, 0xabf0, 0x00d0, + 0x2001, 0x197e, 0x200c, 0xd1fc, 0x0120, 0x2f60, 0x080c, 0xabf0, + 0x0088, 0x2f60, 0x080c, 0x56fd, 0x0138, 0xd18c, 0x1118, 0x04f1, + 0x0148, 0x0010, 0x2900, 0x7816, 0x001e, 0x0016, 0x080c, 0xac8d, + 0x9085, 0x0001, 0x001e, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, + 0x00c6, 0x0046, 0x080c, 0xab9a, 0x2c78, 0x0508, 0x7e5e, 0x2b00, + 0x7812, 0x7823, 0x0003, 0x0096, 0x2021, 0x0004, 0x0489, 0x009e, + 0x2001, 0x197d, 0x200c, 0xd1fc, 0x0120, 0x2f60, 0x080c, 0xabf0, + 0x0060, 0x2f60, 0x080c, 0x56fd, 0x0120, 0xd18c, 0x1160, 0x0071, + 0x0130, 0x2009, 0x0052, 0x080c, 0xac8d, 0x9085, 0x0001, 0x004e, + 0x00ce, 0x00fe, 0x0005, 0x2900, 0x7816, 0x0c98, 0x00c6, 0x080c, + 0x4ac9, 0x00ce, 0x1120, 0x080c, 0xabf0, 0x9006, 0x0005, 0xa867, + 0x0000, 0xa86b, 0x8000, 0x2900, 0x6016, 0x9085, 0x0001, 0x0005, + 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, 0xa899, 0x080c, + 0x6826, 0x0158, 0x2001, 0xc9af, 0x0006, 0x900e, 0x2400, 0x080c, + 0x6fd3, 0x080c, 0x6d9f, 0x000e, 0x0807, 0x2418, 0x080c, 0x95c5, + 0xbaa0, 0x0086, 0x2041, 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, + 0x93e0, 0x008e, 0x080c, 0x928f, 0x2f08, 0x2648, 0x080c, 0xe038, + 0xb93c, 0x81ff, 0x090c, 0x94b7, 0x080c, 0xa8b5, 0x012e, 0x007e, + 0x009e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0xab9a, + 0x0190, 0x660a, 0x2b08, 0x6112, 0x080c, 0xccfe, 0x6023, 0x0001, + 0x2900, 0x6016, 0x2009, 0x001f, 0x080c, 0xac8d, 0x9085, 0x0001, + 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x080c, 0xac60, 0x01b8, 0x660a, 0x2b08, 0x6112, 0x080c, + 0xccfe, 0x6023, 0x0008, 0x2900, 0x6016, 0x00f6, 0x2c78, 0x080c, + 0x174b, 0x00fe, 0x2009, 0x0021, 0x080c, 0xac8d, 0x9085, 0x0001, + 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x003d, 0x00c6, + 0x0126, 0x0016, 0x2091, 0x8000, 0x080c, 0xab9a, 0x0198, 0x660a, + 0x2b08, 0x6112, 0x080c, 0xccfe, 0x6023, 0x0001, 0x2900, 0x6016, + 0x001e, 0x0016, 0x080c, 0xac8d, 0x9085, 0x0001, 0x001e, 0x012e, + 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x080c, 0xac60, 0x0188, 0x2b08, 0x6112, 0x080c, 0xccfe, 0x6023, + 0x0001, 0x2900, 0x6016, 0x2009, 0x0000, 0x080c, 0xac8d, 0x9085, + 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x0044, + 0x0830, 0x2009, 0x0049, 0x0818, 0x0026, 0x00b6, 0x6210, 0x2258, + 0xba3c, 0x82ff, 0x0118, 0x8211, 0xba3e, 0x1140, 0xb8d0, 0x9005, + 0x0128, 0xb888, 0x9005, 0x1110, 0xb88b, 0x0001, 0x00be, 0x002e, + 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, + 0x0003, 0x0128, 0x908e, 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, + 0x000e, 0x0005, 0x0006, 0x0086, 0x0096, 0x6020, 0x9086, 0x0004, + 0x01a8, 0x6014, 0x904d, 0x080c, 0xc865, 0x0180, 0xa864, 0x9086, + 0x0139, 0x0170, 0x6020, 0x90c6, 0x0003, 0x0140, 0x90c6, 0x0002, + 0x0128, 0xa868, 0xd0fc, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, + 0x009e, 0x008e, 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x080c, 0xac60, 0x0198, 0x2b08, 0x6112, 0x080c, 0xccfe, 0x6023, + 0x0001, 0x2900, 0x6016, 0x080c, 0x320f, 0x2009, 0x0028, 0x080c, + 0xac8d, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x9186, 0x0015, 0x11a8, 0x2011, 0x1824, 0x2204, 0x9086, 0x0074, + 0x1178, 0x00b6, 0x080c, 0xb81a, 0x00be, 0x080c, 0xba3d, 0x6003, + 0x0001, 0x6007, 0x0029, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0078, + 0x6014, 0x0096, 0x2048, 0xa868, 0x009e, 0xd0fc, 0x0148, 0x2001, + 0x0001, 0x080c, 0xcebd, 0x080c, 0xb5c6, 0x080c, 0xabf0, 0x0005, + 0x0096, 0x6014, 0x904d, 0x090c, 0x0d7d, 0xa87b, 0x0030, 0xa883, + 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, + 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0x009e, 0x080c, 0xabf0, + 0x0c30, 0x0096, 0x9186, 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, + 0x6594, 0x00e8, 0x9186, 0x0015, 0x1510, 0x2011, 0x1824, 0x2204, + 0x9086, 0x0014, 0x11e0, 0x6010, 0x00b6, 0x2058, 0x080c, 0x66df, + 0x00be, 0x080c, 0xbb0e, 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, + 0x00be, 0x9005, 0x0160, 0x2001, 0x0006, 0x080c, 0x6594, 0x6014, + 0x2048, 0xa868, 0xd0fc, 0x0170, 0x080c, 0xafff, 0x0048, 0x6014, + 0x2048, 0xa868, 0xd0fc, 0x0528, 0x080c, 0xb5c6, 0x080c, 0xabf0, + 0x009e, 0x0005, 0x6014, 0x6310, 0x2358, 0x904d, 0x090c, 0x0d7d, + 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, + 0x6937, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xa99a, + 0x0126, 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0x080c, 0xabf0, + 0x08f8, 0x6014, 0x904d, 0x090c, 0x0d7d, 0xa87b, 0x0030, 0xa883, + 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, + 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0x080c, 0xabf0, 0x0840, + 0xa878, 0x9086, 0x0005, 0x1108, 0x0009, 0x0005, 0xa880, 0xc0ad, + 0xa882, 0x0005, 0x604b, 0x0000, 0x6017, 0x0000, 0x6003, 0x0001, + 0x6007, 0x0050, 0x2009, 0x8023, 0x080c, 0x9239, 0x0005, 0x00c6, + 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0130, 0x0066, + 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x00ce, 0x0005, 0xc566, + 0xcba1, 0xcba1, 0xcba4, 0xe365, 0xe380, 0xe383, 0xc566, 0xc566, + 0xc566, 0xc566, 0xc566, 0xc566, 0xc566, 0xc566, 0xc566, 0x080c, + 0x0d7d, 0xa001, 0xa001, 0x0005, 0x0096, 0x6014, 0x904d, 0x0118, + 0xa87c, 0xd0e4, 0x1110, 0x009e, 0x0010, 0x009e, 0x0005, 0x6010, + 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0550, 0x2001, 0x1834, + 0x2004, 0x9005, 0x1540, 0x00f6, 0x2c78, 0x080c, 0xab9a, 0x0508, + 0x7810, 0x6012, 0x080c, 0xccfe, 0x7820, 0x9086, 0x0003, 0x0128, + 0x7808, 0x603a, 0x2f00, 0x603e, 0x0020, 0x7808, 0x603e, 0x2f00, + 0x603a, 0x602e, 0x6023, 0x0001, 0x6007, 0x0035, 0x6003, 0x0001, + 0x795c, 0x615e, 0x2009, 0x8020, 0x080c, 0x9239, 0x2f60, 0x00fe, + 0x0005, 0x2f60, 0x00fe, 0x2001, 0x1987, 0x2004, 0x604a, 0x0005, + 0x0016, 0x0096, 0x6814, 0x2048, 0x681c, 0xd0fc, 0xc0fc, 0x681e, + 0xa87c, 0x1108, 0xd0e4, 0x0180, 0xc0e4, 0xa87e, 0xa877, 0x0000, + 0xa893, 0x0000, 0xa88f, 0x0000, 0xd0cc, 0x0130, 0xc0cc, 0xa87e, + 0xa878, 0x2048, 0x080c, 0x0ff9, 0x6830, 0x6036, 0x908e, 0x0001, + 0x0148, 0x6803, 0x0002, 0x9086, 0x0005, 0x0170, 0x9006, 0x602e, + 0x6032, 0x00d0, 0x681c, 0xc085, 0x681e, 0x6803, 0x0004, 0x6824, + 0xc0f4, 0x9085, 0x0c00, 0x6826, 0x6814, 0x2048, 0xa8ac, 0x6938, + 0x9102, 0xa8b0, 0x693c, 0x9103, 0x1e48, 0x683c, 0x602e, 0x6838, + 0x9084, 0xfffc, 0x683a, 0x6032, 0x2d00, 0x603a, 0x6808, 0x603e, + 0x6910, 0x6112, 0x695c, 0x615e, 0x6023, 0x0001, 0x6007, 0x0039, + 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x9239, 0x009e, 0x001e, + 0x0005, 0x6024, 0xd0d4, 0x0510, 0xd0f4, 0x11f8, 0x6038, 0x940a, + 0x603c, 0x9303, 0x0230, 0x9105, 0x0120, 0x6024, 0xc0d4, 0xc0f5, + 0x0098, 0x643a, 0x633e, 0xac3e, 0xab42, 0x0046, 0x0036, 0x2400, + 0xacac, 0x9402, 0xa836, 0x2300, 0xabb0, 0x9303, 0xa83a, 0x003e, + 0x004e, 0x6024, 0xc0d4, 0x0000, 0x6026, 0x0005, 0xd0f4, 0x1138, + 0xa83c, 0x603a, 0xa840, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x0005, + 0x0006, 0x0016, 0x6004, 0x908e, 0x0034, 0x01b8, 0x908e, 0x0035, + 0x01a0, 0x908e, 0x0036, 0x0188, 0x908e, 0x0037, 0x0170, 0x908e, + 0x0038, 0x0158, 0x908e, 0x0039, 0x0140, 0x908e, 0x003a, 0x0128, + 0x908e, 0x003b, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, + 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, 0x1981, 0x200c, + 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, 0x9181, 0x2001, 0x1985, + 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1983, 0x200c, + 0x8000, 0x2014, 0x2071, 0x196b, 0x711a, 0x721e, 0x2001, 0x0064, + 0x080c, 0x9181, 0x2001, 0x1986, 0x82ff, 0x1110, 0x2011, 0x0014, + 0x2202, 0x2001, 0x1987, 0x9288, 0x000a, 0x2102, 0x2001, 0x0017, + 0x080c, 0xa88a, 0x2001, 0x1a88, 0x2102, 0x2001, 0x0032, 0x080c, + 0x1693, 0x080c, 0x6a6f, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, + 0x0005, 0x0006, 0x0016, 0x00e6, 0x2001, 0x1985, 0x2003, 0x0028, + 0x2001, 0x1986, 0x2003, 0x0014, 0x2071, 0x196b, 0x701b, 0x0000, + 0x701f, 0x07d0, 0x2001, 0x1987, 0x2009, 0x001e, 0x2102, 0x2001, + 0x0017, 0x080c, 0xa88a, 0x2001, 0x1a88, 0x2102, 0x2001, 0x0032, + 0x080c, 0x1693, 0x00ee, 0x001e, 0x000e, 0x0005, 0x0096, 0x6060, + 0x904d, 0x0110, 0x080c, 0x1079, 0x009e, 0x0005, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x080c, 0xab9a, 0x0180, 0x2b08, 0x6112, + 0x0ca9, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, + 0xac8d, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1500, + 0x7090, 0x9086, 0x0018, 0x11e0, 0x6014, 0x2048, 0xaa3c, 0xd2e4, + 0x1160, 0x2c78, 0x080c, 0x977c, 0x01d8, 0x707c, 0xaa50, 0x9206, + 0x1160, 0x7080, 0xaa54, 0x9206, 0x1140, 0x6210, 0x00b6, 0x2258, + 0xbaa0, 0x00be, 0x900e, 0x080c, 0x325e, 0x080c, 0xafff, 0x0020, + 0x080c, 0xb5c6, 0x080c, 0xabf0, 0x00fe, 0x00ee, 0x009e, 0x0005, + 0x7060, 0xaa54, 0x9206, 0x0d48, 0x0c80, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x080c, 0xab9a, 0x0188, 0x2b08, 0x6112, 0x080c, 0xccfe, + 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x004d, 0x080c, 0xac8d, + 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x0016, 0x080c, 0xab9a, 0x0180, 0x2b08, + 0x6112, 0x080c, 0xccfe, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, + 0x080c, 0xac8d, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, + 0x9006, 0x0cd0, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, + 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1568, + 0x7190, 0x6014, 0x2048, 0xa814, 0x8003, 0x9106, 0x1530, 0x20e1, + 0x0000, 0x2001, 0x199f, 0x2003, 0x0000, 0x6014, 0x2048, 0xa830, + 0x20a8, 0x8906, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e8, 0x9084, + 0xffc0, 0x9080, 0x001b, 0x20a0, 0x2001, 0x199f, 0x0016, 0x200c, + 0x080c, 0xd5a5, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c38, + 0x6014, 0x2048, 0xa867, 0x0103, 0x0010, 0x080c, 0xb5c6, 0x080c, + 0xabf0, 0x00fe, 0x00ee, 0x009e, 0x006e, 0x005e, 0x004e, 0x003e, + 0x002e, 0x001e, 0x0005, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, + 0x9186, 0x0015, 0x11b8, 0x7090, 0x9086, 0x0004, 0x1198, 0x6014, + 0x2048, 0x2c78, 0x080c, 0x977c, 0x01a8, 0x707c, 0xaa74, 0x9206, + 0x1130, 0x7080, 0xaa78, 0x9206, 0x1110, 0x080c, 0x320f, 0x080c, + 0xafff, 0x0020, 0x080c, 0xb5c6, 0x080c, 0xabf0, 0x00fe, 0x00ee, + 0x009e, 0x0005, 0x7060, 0xaa78, 0x9206, 0x0d78, 0x0c80, 0x0096, + 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1550, 0x7090, + 0x9086, 0x0004, 0x1530, 0x6014, 0x2048, 0x2c78, 0x080c, 0x977c, + 0x05f0, 0x707c, 0xaacc, 0x9206, 0x1180, 0x7080, 0xaad0, 0x9206, + 0x1160, 0x080c, 0x320f, 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, + 0xc0fd, 0x080c, 0x56ad, 0x001e, 0x0010, 0x080c, 0x5496, 0x080c, + 0xc865, 0x0508, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, + 0x0080, 0x080c, 0xc865, 0x01b8, 0x6014, 0x2048, 0x080c, 0x5496, + 0x1d70, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, + 0x0004, 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, 0x080c, 0x6d9f, + 0x012e, 0x080c, 0xabf0, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x7060, + 0xaad0, 0x9206, 0x0930, 0x0888, 0x0016, 0x0026, 0xa87c, 0xd0ac, + 0x0178, 0xa938, 0xaa34, 0x2100, 0x9205, 0x0150, 0xa890, 0x9106, + 0x1118, 0xa88c, 0x9206, 0x0120, 0xa992, 0xaa8e, 0x9085, 0x0001, + 0x002e, 0x001e, 0x0005, 0x00b6, 0x00d6, 0x0036, 0x080c, 0xc865, + 0x0904, 0xceb9, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x929e, + 0x4000, 0x1580, 0x6310, 0x00c6, 0x2358, 0x2009, 0x0000, 0xa868, + 0xd0f4, 0x1140, 0x080c, 0x6937, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0xaa96, 0xa99a, 0x20a9, 0x0004, 0xa860, 0x20e8, + 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8c4, 0x20e0, 0xb8c8, 0x9080, + 0x0006, 0x2098, 0x080c, 0x0fc4, 0x20a9, 0x0004, 0xa85c, 0x9080, + 0x0035, 0x20a0, 0xb8c8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0fc4, + 0x00ce, 0x0090, 0xaa96, 0x3918, 0x9398, 0x0007, 0x231c, 0x6004, + 0x9086, 0x0016, 0x0110, 0xa89b, 0x0004, 0xaba2, 0x6310, 0x2358, + 0xb804, 0x9084, 0x00ff, 0xa89e, 0x080c, 0x6d93, 0x6017, 0x0000, + 0x009e, 0x003e, 0x00de, 0x00be, 0x0005, 0x0026, 0x0036, 0x0046, + 0x00b6, 0x0096, 0x00f6, 0x6214, 0x2248, 0x6210, 0x2258, 0x2079, + 0x0260, 0x9096, 0x0000, 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, + 0x080c, 0x2630, 0x2118, 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, + 0x00ff, 0x931d, 0x7c3c, 0x2011, 0x8018, 0x080c, 0x4b29, 0x00a8, + 0x9096, 0x0001, 0x1148, 0x89ff, 0x0180, 0xa89b, 0x000d, 0x7838, + 0xa8a6, 0x783c, 0xa8aa, 0x0048, 0x9096, 0x0002, 0x1130, 0xa89b, + 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, 0x00fe, 0x009e, 0x00be, + 0x004e, 0x003e, 0x002e, 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, + 0x0035, 0x0110, 0x6a38, 0x0008, 0x6a2c, 0x080c, 0xc853, 0x01f0, + 0x2260, 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, + 0x6838, 0x9206, 0x0140, 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, + 0x9106, 0x1140, 0x0020, 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, + 0x6910, 0x9106, 0x001e, 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, + 0x0cc8, 0xa974, 0xd1cc, 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, + 0x1160, 0xa9a8, 0x918c, 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, + 0xa834, 0xa938, 0x9115, 0x190c, 0xbec6, 0x0005, 0x0036, 0x2019, + 0x0001, 0x0010, 0x0036, 0x901e, 0x0499, 0x01e0, 0x080c, 0xc865, + 0x01c8, 0x080c, 0xca54, 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, + 0x0096, 0x2048, 0xa87c, 0x080c, 0xca7a, 0x1118, 0x080c, 0xb5c6, + 0x0040, 0xa867, 0x0103, 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, + 0x6d9f, 0x009e, 0x003e, 0x0005, 0xa880, 0xd0b4, 0x0128, 0xa87b, + 0x0006, 0xc0ec, 0xa882, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, + 0x0020, 0xa87b, 0x0005, 0x080c, 0xcb6e, 0xa877, 0x0000, 0x0005, + 0x2001, 0x1810, 0x2004, 0xd0ec, 0x0005, 0x0006, 0x2001, 0x1810, + 0x2004, 0xd0f4, 0x000e, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, + 0xd0e4, 0x000e, 0x0005, 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, + 0xbba0, 0x00be, 0x2021, 0x0007, 0x080c, 0x4ce0, 0x004e, 0x003e, + 0x0005, 0x0c51, 0x1d81, 0x0005, 0x2001, 0x1985, 0x2004, 0x601a, + 0x0005, 0x2001, 0x1987, 0x2004, 0x604a, 0x0005, 0x080c, 0xabf0, + 0x0804, 0x96bd, 0x611c, 0xd1fc, 0xa97c, 0x1108, 0xd1e4, 0x0005, + 0x601c, 0xd0fc, 0xa87c, 0x1108, 0xd0e4, 0x0005, 0x601c, 0xd0fc, + 0xc0fc, 0x601e, 0xa87c, 0x1108, 0xd0e4, 0x0005, 0x6044, 0xd0fc, + 0x1138, 0xd0bc, 0x0198, 0xc0bc, 0x6046, 0x6003, 0x0002, 0x0070, + 0xd0ac, 0x1160, 0xd0dc, 0x1128, 0x908c, 0x000f, 0x9186, 0x0005, + 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x0005, 0x00b6, + 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d7d, 0x001b, 0x006e, + 0x00be, 0x0005, 0xcff2, 0xd700, 0xd851, 0xcff2, 0xcff2, 0xcff2, + 0xcff2, 0xcff2, 0xd029, 0xd8d5, 0xcff2, 0xcff2, 0xcff2, 0xcff2, + 0xcff2, 0xcff2, 0x080c, 0x0d7d, 0x0066, 0x6000, 0x90b2, 0x0016, + 0x1a0c, 0x0d7d, 0x0013, 0x006e, 0x0005, 0xd00d, 0xddf6, 0xd00d, + 0xd00d, 0xd00d, 0xd00d, 0xd00d, 0xd00d, 0xdda5, 0xde48, 0xd00d, + 0xe4a0, 0xe4d4, 0xe4a0, 0xe4d4, 0xd00d, 0x080c, 0x0d7d, 0x6000, + 0x9082, 0x0016, 0x1a0c, 0x0d7d, 0x6000, 0x000a, 0x0005, 0xd027, + 0xdab2, 0xdb7d, 0xdba0, 0xdc1c, 0xd027, 0xdd17, 0xdca4, 0xd8df, + 0xdd7d, 0xdd92, 0xd027, 0xd027, 0xd027, 0xd027, 0xd027, 0x080c, + 0x0d7d, 0x91b2, 0x0053, 0x1a0c, 0x0d7d, 0x2100, 0x91b2, 0x0040, + 0x1a04, 0xd476, 0x0002, 0xd073, 0xd267, 0xd073, 0xd073, 0xd073, + 0xd270, 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, + 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, + 0xd073, 0xd073, 0xd075, 0xd0dc, 0xd0eb, 0xd14f, 0xd17a, 0xd1f3, + 0xd252, 0xd073, 0xd073, 0xd273, 0xd073, 0xd073, 0xd288, 0xd295, + 0xd073, 0xd073, 0xd073, 0xd073, 0xd073, 0xd318, 0xd073, 0xd073, + 0xd32c, 0xd073, 0xd073, 0xd2e7, 0xd073, 0xd073, 0xd073, 0xd344, + 0xd073, 0xd073, 0xd073, 0xd3c1, 0xd073, 0xd073, 0xd073, 0xd073, + 0xd073, 0xd073, 0xd43e, 0x080c, 0x0d7d, 0x080c, 0x6a4c, 0x1150, + 0x2001, 0x1837, 0x2004, 0xd0cc, 0x1128, 0x9084, 0x0009, 0x9086, + 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, 0x0009, 0x6017, 0x0000, + 0x0804, 0xd260, 0x080c, 0x69e8, 0x00e6, 0x00c6, 0x0036, 0x0026, + 0x0016, 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, + 0xa899, 0x080c, 0x93c6, 0x0076, 0x903e, 0x080c, 0x928f, 0x2c08, + 0x080c, 0xe038, 0x007e, 0x001e, 0x080c, 0xa8b5, 0x001e, 0x002e, + 0x003e, 0x00ce, 0x00ee, 0x6610, 0x2658, 0x080c, 0x6653, 0xbe04, + 0x9684, 0x00ff, 0x9082, 0x0006, 0x1268, 0x0016, 0x0026, 0x6210, + 0x00b6, 0x2258, 0xbaa0, 0x00be, 0x2c08, 0x080c, 0xe6fd, 0x002e, + 0x001e, 0x1178, 0x080c, 0xdf66, 0x1904, 0xd147, 0x080c, 0xdf02, + 0x1120, 0x6007, 0x0008, 0x0804, 0xd260, 0x6007, 0x0009, 0x0804, + 0xd260, 0x080c, 0xe199, 0x0128, 0x080c, 0xdf66, 0x0d78, 0x0804, + 0xd147, 0x6017, 0x1900, 0x0c88, 0x080c, 0x3346, 0x1904, 0xd473, + 0x6106, 0x080c, 0xdeb3, 0x6007, 0x0006, 0x0804, 0xd260, 0x6007, + 0x0007, 0x0804, 0xd260, 0x080c, 0xe510, 0x1904, 0xd473, 0x080c, + 0x3346, 0x1904, 0xd473, 0x00d6, 0x6610, 0x2658, 0xbe04, 0x9684, + 0x00ff, 0x9082, 0x0006, 0x1220, 0x2001, 0x0001, 0x080c, 0x6580, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, + 0x0170, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, + 0x0004, 0x0128, 0x9686, 0x0005, 0x0110, 0x00de, 0x0480, 0x00e6, + 0x2071, 0x0260, 0x7034, 0x9084, 0x0003, 0x1140, 0x7034, 0x9082, + 0x0014, 0x0220, 0x7030, 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, + 0x0000, 0x602f, 0x0007, 0x00b0, 0x00ee, 0x080c, 0xdfce, 0x1190, + 0x9686, 0x0006, 0x1140, 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, + 0x080c, 0x325e, 0x002e, 0x080c, 0x66df, 0x6007, 0x000a, 0x00de, + 0x0804, 0xd260, 0x6007, 0x000b, 0x00de, 0x0804, 0xd260, 0x080c, + 0x320f, 0x080c, 0xcf99, 0x6007, 0x0001, 0x0804, 0xd260, 0x080c, + 0xe510, 0x1904, 0xd473, 0x080c, 0x3346, 0x1904, 0xd473, 0x2071, + 0x0260, 0x7034, 0x90b4, 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, + 0x7030, 0x9084, 0x0003, 0x1910, 0x6610, 0x2658, 0xbe04, 0x9686, + 0x0707, 0x09e8, 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, + 0x325e, 0x002e, 0x6007, 0x000c, 0x2001, 0x0001, 0x080c, 0xe6dd, + 0x0804, 0xd260, 0x080c, 0x6a4c, 0x1140, 0x2001, 0x1837, 0x2004, + 0x9084, 0x0009, 0x9086, 0x0008, 0x1110, 0x0804, 0xd082, 0x080c, + 0x69e8, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, + 0x06c8, 0x1138, 0x0026, 0x2001, 0x0006, 0x080c, 0x65c0, 0x002e, + 0x0050, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, + 0x0006, 0x1904, 0xd147, 0x080c, 0xdfdb, 0x1120, 0x6007, 0x000e, + 0x0804, 0xd260, 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, + 0x320f, 0x080c, 0xcf99, 0x004e, 0x0016, 0x9006, 0x2009, 0x1848, + 0x210c, 0xd1a4, 0x0148, 0x2009, 0x0029, 0x080c, 0xe316, 0x6010, + 0x2058, 0xb800, 0xc0e5, 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, + 0x0804, 0xd260, 0x2001, 0x0001, 0x080c, 0x6580, 0x0156, 0x0016, + 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0270, + 0x080c, 0xbbc1, 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0168, + 0x96b4, 0xff00, 0x8637, 0x9682, 0x0004, 0x0a04, 0xd147, 0x9682, + 0x0007, 0x0a04, 0xd1a3, 0x0804, 0xd147, 0x6017, 0x1900, 0x6007, + 0x0009, 0x0804, 0xd260, 0x080c, 0x6a4c, 0x1140, 0x2001, 0x1837, + 0x2004, 0x9084, 0x0009, 0x9086, 0x0008, 0x1110, 0x0804, 0xd082, + 0x080c, 0x69e8, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x0006, + 0x9086, 0x0001, 0x000e, 0x0170, 0x9082, 0x0006, 0x0698, 0x0150, + 0x96b4, 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, + 0x1904, 0xd147, 0x080c, 0xe009, 0x1130, 0x080c, 0xdf02, 0x1118, + 0x6007, 0x0010, 0x04e8, 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, + 0x080c, 0x320f, 0x080c, 0xcf99, 0x004e, 0x0016, 0x9006, 0x2009, + 0x1848, 0x210c, 0xd1a4, 0x0148, 0x2009, 0x0029, 0x080c, 0xe316, + 0x6010, 0x2058, 0xb800, 0xc0e5, 0xb802, 0x001e, 0x004e, 0x6007, + 0x0001, 0x00f0, 0x080c, 0xe199, 0x0140, 0x96b4, 0xff00, 0x8637, + 0x9686, 0x0006, 0x0978, 0x0804, 0xd147, 0x6017, 0x1900, 0x6007, + 0x0009, 0x0070, 0x080c, 0x3346, 0x1904, 0xd473, 0x080c, 0xe510, + 0x1904, 0xd473, 0x080c, 0xd640, 0x1904, 0xd147, 0x6007, 0x0012, + 0x6003, 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0005, 0x6007, + 0x0001, 0x6003, 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0cb0, + 0x6007, 0x0005, 0x0c68, 0x080c, 0xe510, 0x1904, 0xd473, 0x080c, + 0x3346, 0x1904, 0xd473, 0x080c, 0xd640, 0x1904, 0xd147, 0x6007, + 0x0020, 0x6003, 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0005, + 0x080c, 0x3346, 0x1904, 0xd473, 0x6007, 0x0023, 0x6003, 0x0001, + 0x080c, 0x9240, 0x080c, 0x96bd, 0x0005, 0x080c, 0xe510, 0x1904, + 0xd473, 0x080c, 0x3346, 0x1904, 0xd473, 0x080c, 0xd640, 0x1904, + 0xd147, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7244, 0x9286, + 0xffff, 0x0180, 0x2c08, 0x080c, 0xc853, 0x01b0, 0x2260, 0x7240, + 0x6008, 0x9206, 0x1188, 0x6010, 0x9190, 0x0004, 0x2214, 0x9206, + 0x01b8, 0x0050, 0x7240, 0x2c08, 0x9006, 0x080c, 0xe2e0, 0x1180, + 0x7244, 0x9286, 0xffff, 0x01b0, 0x2160, 0x6007, 0x0026, 0x6017, + 0x1700, 0x7214, 0x9296, 0xffff, 0x1180, 0x6007, 0x0025, 0x0068, + 0x6020, 0x9086, 0x0007, 0x1d80, 0x6004, 0x9086, 0x0024, 0x1110, + 0x080c, 0xabf0, 0x2160, 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, + 0x9240, 0x080c, 0x96bd, 0x00ee, 0x002e, 0x001e, 0x0005, 0x2001, + 0x0001, 0x080c, 0x6580, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, + 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, 0xbbc1, 0x003e, + 0x002e, 0x001e, 0x015e, 0x0120, 0x6007, 0x0031, 0x0804, 0xd260, + 0x080c, 0xb832, 0x080c, 0x74ec, 0x1190, 0x0006, 0x0026, 0x0036, + 0x080c, 0x7506, 0x1138, 0x080c, 0x77ef, 0x080c, 0x6044, 0x080c, + 0x741d, 0x0010, 0x080c, 0x74c0, 0x003e, 0x002e, 0x000e, 0x0005, + 0x080c, 0x3346, 0x1904, 0xd473, 0x080c, 0xd640, 0x1904, 0xd147, + 0x6106, 0x080c, 0xd65c, 0x1120, 0x6007, 0x002b, 0x0804, 0xd260, + 0x6007, 0x002c, 0x0804, 0xd260, 0x080c, 0xe510, 0x1904, 0xd473, + 0x080c, 0x3346, 0x1904, 0xd473, 0x080c, 0xd640, 0x1904, 0xd147, + 0x6106, 0x080c, 0xd661, 0x1120, 0x6007, 0x002e, 0x0804, 0xd260, + 0x6007, 0x002f, 0x0804, 0xd260, 0x080c, 0x3346, 0x1904, 0xd473, + 0x00e6, 0x00d6, 0x00c6, 0x6010, 0x2058, 0xb904, 0x9184, 0x00ff, + 0x9086, 0x0006, 0x0158, 0x9184, 0xff00, 0x8007, 0x9086, 0x0006, + 0x0128, 0x00ce, 0x00de, 0x00ee, 0x0804, 0xd267, 0x080c, 0x56f9, + 0xd0e4, 0x0904, 0xd3be, 0x2071, 0x026c, 0x7010, 0x603a, 0x7014, + 0x603e, 0x7108, 0x720c, 0x080c, 0x6a8a, 0x0140, 0x6010, 0x2058, + 0xb810, 0x9106, 0x1118, 0xb814, 0x9206, 0x0510, 0x080c, 0x6a86, + 0x15b8, 0x2069, 0x1800, 0x6880, 0x9206, 0x1590, 0x687c, 0x9106, + 0x1578, 0x7210, 0x080c, 0xc853, 0x0590, 0x080c, 0xd52b, 0x0578, + 0x080c, 0xe392, 0x0560, 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, + 0x2009, 0x8020, 0x080c, 0x9239, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0x7214, 0x9286, 0xffff, 0x0150, 0x080c, 0xc853, 0x01c0, 0x9280, + 0x0002, 0x2004, 0x7110, 0x9106, 0x1190, 0x08e0, 0x7210, 0x2c08, + 0x9085, 0x0001, 0x080c, 0xe2e0, 0x2c10, 0x2160, 0x0140, 0x0890, + 0x6007, 0x0037, 0x602f, 0x0009, 0x6017, 0x1500, 0x08b8, 0x6007, + 0x0037, 0x602f, 0x0003, 0x6017, 0x1700, 0x0880, 0x6007, 0x0012, + 0x0868, 0x080c, 0x3346, 0x1904, 0xd473, 0x6010, 0x2058, 0xb804, + 0x9084, 0xff00, 0x8007, 0x9086, 0x0006, 0x1904, 0xd267, 0x00e6, + 0x00d6, 0x00c6, 0x080c, 0x56f9, 0xd0e4, 0x0904, 0xd436, 0x2069, + 0x1800, 0x2071, 0x026c, 0x7008, 0x603a, 0x720c, 0x623e, 0x9286, + 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, 0x9085, 0x0001, 0x080c, + 0xe2e0, 0x2c10, 0x00ce, 0x05e8, 0x080c, 0xc853, 0x05d0, 0x7108, + 0x9280, 0x0002, 0x2004, 0x9106, 0x15a0, 0x00c6, 0x0026, 0x2260, + 0x080c, 0xc446, 0x002e, 0x00ce, 0x7118, 0x918c, 0xff00, 0x810f, + 0x9186, 0x0001, 0x0178, 0x9186, 0x0005, 0x0118, 0x9186, 0x0007, + 0x1198, 0x9280, 0x0005, 0x2004, 0x9005, 0x0170, 0x080c, 0xd52b, + 0x0904, 0xd3b7, 0x0056, 0x7510, 0x7614, 0x080c, 0xe3ab, 0x005e, + 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, 0x003b, 0x602f, 0x0009, + 0x6017, 0x2a00, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x9239, + 0x0c78, 0x6007, 0x003b, 0x602f, 0x0003, 0x6017, 0x0300, 0x6003, + 0x0001, 0x2009, 0x8020, 0x080c, 0x9239, 0x0c10, 0x6007, 0x003b, + 0x602f, 0x000b, 0x6017, 0x0000, 0x0804, 0xd38e, 0x00e6, 0x0026, + 0x080c, 0x6a4c, 0x0550, 0x080c, 0x69e8, 0x080c, 0xe582, 0x1518, + 0x2071, 0x1800, 0x70dc, 0x9085, 0x0003, 0x70de, 0x00f6, 0x2079, + 0x0100, 0x72b0, 0x9284, 0x00ff, 0x707e, 0x78e6, 0x9284, 0xff00, + 0x7280, 0x9205, 0x7082, 0x78ea, 0x00fe, 0x70e7, 0x0000, 0x080c, + 0x6a8a, 0x0120, 0x2011, 0x1a08, 0x2013, 0x07d0, 0xd0ac, 0x1128, + 0x080c, 0x2fe0, 0x0010, 0x080c, 0xe5b4, 0x002e, 0x00ee, 0x080c, + 0xabf0, 0x0804, 0xd266, 0x080c, 0xabf0, 0x0005, 0x2600, 0x0002, + 0xd48a, 0xd4bb, 0xd4cc, 0xd48a, 0xd48a, 0xd48c, 0xd4dd, 0xd48a, + 0xd48a, 0xd48a, 0xd4a9, 0xd48a, 0xd48a, 0xd48a, 0xd4e8, 0xd4f5, + 0xd526, 0xd48a, 0x080c, 0x0d7d, 0x080c, 0xe510, 0x1d20, 0x080c, + 0x3346, 0x1d08, 0x080c, 0xd640, 0x1148, 0x7038, 0x6016, 0x6007, + 0x0045, 0x6003, 0x0001, 0x080c, 0x9240, 0x0005, 0x080c, 0x320f, + 0x080c, 0xcf99, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x9240, + 0x0005, 0x080c, 0xe510, 0x1938, 0x080c, 0x3346, 0x1920, 0x080c, + 0xd640, 0x1d60, 0x703c, 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, + 0x080c, 0x9240, 0x0005, 0x080c, 0x3346, 0x1904, 0xd473, 0x2009, + 0x0041, 0x080c, 0xe5bd, 0x6007, 0x0047, 0x6003, 0x0001, 0x080c, + 0x9240, 0x080c, 0x96bd, 0x0005, 0x080c, 0x3346, 0x1904, 0xd473, + 0x2009, 0x0042, 0x080c, 0xe5bd, 0x6007, 0x0047, 0x6003, 0x0001, + 0x080c, 0x9240, 0x080c, 0x96bd, 0x0005, 0x080c, 0x3346, 0x1904, + 0xd473, 0x2009, 0x0046, 0x080c, 0xe5bd, 0x080c, 0xabf0, 0x0005, + 0x080c, 0xd548, 0x0904, 0xd473, 0x6007, 0x004e, 0x6003, 0x0001, + 0x080c, 0x9240, 0x080c, 0x96bd, 0x0005, 0x6007, 0x004f, 0x6017, + 0x0000, 0x7134, 0x918c, 0x00ff, 0x81ff, 0x0508, 0x9186, 0x0001, + 0x1160, 0x7140, 0x2001, 0x19bc, 0x2004, 0x9106, 0x11b0, 0x7144, + 0x2001, 0x19bd, 0x2004, 0x9106, 0x0190, 0x9186, 0x0002, 0x1168, + 0x2011, 0x0276, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, + 0x000a, 0x080c, 0xbbd5, 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, + 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0005, 0x6007, 0x0050, + 0x703c, 0x6016, 0x0ca0, 0x0016, 0x00e6, 0x2071, 0x0260, 0x00b6, + 0x00c6, 0x2260, 0x6010, 0x2058, 0xb8d4, 0xd084, 0x0150, 0x7128, + 0x6050, 0x9106, 0x1120, 0x712c, 0x604c, 0x9106, 0x0110, 0x9006, + 0x0010, 0x9085, 0x0001, 0x00ce, 0x00be, 0x00ee, 0x001e, 0x0005, + 0x0016, 0x0096, 0x0086, 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, + 0x8000, 0x2071, 0x1800, 0x7090, 0x908a, 0x00f9, 0x16e8, 0x20e1, + 0x0000, 0x2001, 0x199f, 0x2003, 0x0000, 0x080c, 0x1060, 0x05a0, + 0x2900, 0x6016, 0x7090, 0x8004, 0xa816, 0x908a, 0x001e, 0x02d0, + 0xa833, 0x001e, 0x20a9, 0x001e, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x001b, 0x20a0, 0x2001, 0x199f, 0x0016, 0x200c, 0x0471, 0x001e, + 0x2940, 0x080c, 0x1060, 0x01c0, 0x2900, 0xa006, 0x2100, 0x81ff, + 0x0180, 0x0c18, 0xa832, 0x20a8, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x001b, 0x20a0, 0x2001, 0x199f, 0x0016, 0x200c, 0x00b1, 0x001e, + 0x0000, 0x9085, 0x0001, 0x0048, 0x2071, 0x1800, 0x7093, 0x0000, + 0x6014, 0x2048, 0x080c, 0x0ff9, 0x9006, 0x012e, 0x01de, 0x01ce, + 0x00ee, 0x008e, 0x009e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, + 0x0036, 0x00c6, 0x918c, 0xffff, 0x11a8, 0x080c, 0x21b2, 0x2099, + 0x026c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, + 0x00f8, 0x20a8, 0x4003, 0x22a8, 0x8108, 0x080c, 0x21b2, 0x2099, + 0x0260, 0x0ca8, 0x080c, 0x21b2, 0x2061, 0x199f, 0x6004, 0x2098, + 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, + 0x4003, 0x22a8, 0x8108, 0x080c, 0x21b2, 0x2099, 0x0260, 0x0ca8, + 0x2061, 0x199f, 0x2019, 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, + 0x0020, 0x2001, 0x0260, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, + 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, + 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, + 0x080c, 0x21ca, 0x20a1, 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, + 0x1218, 0x23a8, 0x4003, 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, + 0x22a8, 0x8108, 0x080c, 0x21ca, 0x20a1, 0x0240, 0x0c98, 0x080c, + 0x21ca, 0x2061, 0x19a2, 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, + 0x1218, 0x23a8, 0x4003, 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, + 0x22a8, 0x8108, 0x080c, 0x21ca, 0x20a1, 0x0240, 0x0c98, 0x2061, + 0x19a2, 0x2019, 0x0260, 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, + 0x2001, 0x0240, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, + 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, + 0x00b6, 0x0066, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, + 0x9686, 0x0006, 0x0170, 0x9686, 0x0004, 0x0158, 0xbe04, 0x96b4, + 0x00ff, 0x9686, 0x0006, 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, + 0x0001, 0x006e, 0x00be, 0x0005, 0x00d6, 0x080c, 0xd6d6, 0x00de, + 0x0005, 0x00d6, 0x080c, 0xd6e3, 0x1520, 0x680c, 0x908c, 0xff00, + 0x6820, 0x9084, 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, + 0x0130, 0x9006, 0x080c, 0xe6dd, 0x2009, 0x0001, 0x0078, 0xd1ec, + 0x0180, 0x6920, 0x918c, 0x00ff, 0x6824, 0x080c, 0x2630, 0x1148, + 0x2001, 0x0001, 0x080c, 0xe6dd, 0x2110, 0x900e, 0x080c, 0x325e, + 0x0018, 0x9085, 0x0001, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, + 0x00c6, 0x080c, 0xac60, 0x0598, 0x0016, 0x0026, 0x00c6, 0x2011, + 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2630, 0x1568, 0x080c, + 0x65e3, 0x1550, 0xbe12, 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, + 0x6012, 0x080c, 0xe510, 0x11c8, 0x080c, 0x3346, 0x11b0, 0x080c, + 0xd640, 0x0500, 0x2001, 0x0007, 0x080c, 0x6594, 0x2001, 0x0007, + 0x080c, 0x65c0, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, + 0x6003, 0x0001, 0x080c, 0x9240, 0x0010, 0x080c, 0xabf0, 0x9085, + 0x0001, 0x00ce, 0x00be, 0x0005, 0x080c, 0xabf0, 0x00ce, 0x002e, + 0x001e, 0x0ca8, 0x080c, 0xabf0, 0x9006, 0x0c98, 0x2069, 0x026d, + 0x6800, 0x9082, 0x0010, 0x1228, 0x6017, 0x0000, 0x9085, 0x0001, + 0x0008, 0x9006, 0x0005, 0x6017, 0x0000, 0x2069, 0x026c, 0x6808, + 0x9084, 0xff00, 0x9086, 0x0800, 0x1190, 0x6904, 0x9186, 0x0018, + 0x0118, 0x9186, 0x0014, 0x1158, 0x810f, 0x6800, 0x9084, 0x00ff, + 0x910d, 0x6162, 0x908e, 0x0014, 0x0110, 0x908e, 0x0010, 0x0005, + 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0d7d, 0x91b6, 0x0013, 0x1130, + 0x2008, 0x91b2, 0x0040, 0x1a04, 0xd825, 0x0092, 0x91b6, 0x0027, + 0x0120, 0x91b6, 0x0014, 0x190c, 0x0d7d, 0x2001, 0x0007, 0x080c, + 0x65c0, 0x080c, 0x95ff, 0x080c, 0xac2b, 0x080c, 0x96bd, 0x0005, + 0xd760, 0xd762, 0xd760, 0xd760, 0xd760, 0xd762, 0xd76f, 0xd822, + 0xd7bf, 0xd822, 0xd7d3, 0xd822, 0xd76f, 0xd822, 0xd81a, 0xd822, + 0xd81a, 0xd822, 0xd822, 0xd760, 0xd760, 0xd760, 0xd760, 0xd760, + 0xd760, 0xd760, 0xd760, 0xd760, 0xd760, 0xd760, 0xd762, 0xd760, + 0xd822, 0xd760, 0xd760, 0xd822, 0xd760, 0xd81f, 0xd822, 0xd760, + 0xd760, 0xd760, 0xd760, 0xd822, 0xd822, 0xd760, 0xd822, 0xd822, + 0xd760, 0xd76a, 0xd760, 0xd760, 0xd760, 0xd760, 0xd81e, 0xd822, + 0xd760, 0xd760, 0xd822, 0xd822, 0xd760, 0xd760, 0xd760, 0xd760, + 0x080c, 0x0d7d, 0x080c, 0xcf9c, 0x6003, 0x0002, 0x080c, 0x96bd, + 0x0804, 0xd824, 0x9006, 0x080c, 0x6580, 0x0804, 0xd822, 0x080c, + 0x6a86, 0x1904, 0xd822, 0x9006, 0x080c, 0x6580, 0x6010, 0x2058, + 0xb810, 0x9086, 0x00ff, 0x1140, 0x00f6, 0x2079, 0x1800, 0x78a8, + 0x8000, 0x78aa, 0x00fe, 0x0428, 0x6010, 0x2058, 0xb884, 0x9005, + 0x1178, 0x080c, 0xcf84, 0x1904, 0xd822, 0x0036, 0x0046, 0xbba0, + 0x2021, 0x0007, 0x080c, 0x4ce0, 0x004e, 0x003e, 0x0804, 0xd822, + 0x080c, 0x3377, 0x1904, 0xd822, 0x2001, 0x1800, 0x2004, 0x9086, + 0x0002, 0x1138, 0x00f6, 0x2079, 0x1800, 0x78a8, 0x8000, 0x78aa, + 0x00fe, 0x2001, 0x0002, 0x080c, 0x6594, 0x6023, 0x0001, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x9240, 0x080c, 0x96bd, 0x6110, + 0x2158, 0x2009, 0x0001, 0x080c, 0x865f, 0x0804, 0xd824, 0x6610, + 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0904, + 0xd822, 0x9686, 0x0004, 0x0904, 0xd822, 0x080c, 0x8ee5, 0x2001, + 0x0004, 0x0804, 0xd820, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, + 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, 0xbba0, 0x2021, 0x0006, + 0x080c, 0x4ce0, 0x004e, 0x003e, 0x2001, 0x0006, 0x080c, 0xd83e, + 0x6610, 0x2658, 0xbe04, 0x0066, 0x96b4, 0xff00, 0x8637, 0x9686, + 0x0006, 0x006e, 0x0168, 0x2001, 0x0006, 0x080c, 0x65c0, 0x9284, + 0x00ff, 0x908e, 0x0007, 0x1120, 0x2001, 0x0006, 0x080c, 0x6594, + 0x080c, 0x6a86, 0x11f8, 0x2001, 0x1837, 0x2004, 0xd0a4, 0x01d0, + 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x01a0, 0x00f6, 0x2079, + 0x1800, 0x78a8, 0x8000, 0x78aa, 0x00fe, 0x0804, 0xd7a9, 0x2001, + 0x0004, 0x0030, 0x2001, 0x0006, 0x0409, 0x0020, 0x0018, 0x0010, + 0x080c, 0x65c0, 0x080c, 0xabf0, 0x0005, 0x2600, 0x0002, 0xd839, + 0xd839, 0xd839, 0xd839, 0xd839, 0xd83b, 0xd839, 0xd83b, 0xd839, + 0xd839, 0xd83b, 0xd839, 0xd839, 0xd839, 0xd83b, 0xd83b, 0xd83b, + 0xd83b, 0x080c, 0x0d7d, 0x080c, 0xabf0, 0x0005, 0x0016, 0x00b6, + 0x00d6, 0x6110, 0x2158, 0xb900, 0xd184, 0x0138, 0x080c, 0x6594, + 0x9006, 0x080c, 0x6580, 0x080c, 0x323e, 0x00de, 0x00be, 0x001e, + 0x0005, 0x6610, 0x2658, 0xb804, 0x9084, 0xff00, 0x8007, 0x90b2, + 0x000c, 0x1a0c, 0x0d7d, 0x91b6, 0x0015, 0x1110, 0x003b, 0x0028, + 0x91b6, 0x0016, 0x190c, 0x0d7d, 0x006b, 0x0005, 0xb6af, 0xb6af, + 0xb6af, 0xb6af, 0xd8d3, 0xb6af, 0xd8bd, 0xd87e, 0xb6af, 0xb6af, + 0xb6af, 0xb6af, 0xb6af, 0xb6af, 0xb6af, 0xb6af, 0xd8d3, 0xb6af, + 0xd8bd, 0xd8c4, 0xb6af, 0xb6af, 0xb6af, 0xb6af, 0x00f6, 0x080c, + 0x6a86, 0x11d8, 0x080c, 0xcf84, 0x11c0, 0x6010, 0x905d, 0x01a8, + 0xb884, 0x9005, 0x0190, 0x9006, 0x080c, 0x6580, 0x2001, 0x0002, + 0x080c, 0x6594, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, + 0x080c, 0x9240, 0x080c, 0x96bd, 0x00f0, 0x2011, 0x0263, 0x2204, + 0x8211, 0x220c, 0x080c, 0x2630, 0x11b0, 0x080c, 0x6644, 0x0118, + 0x080c, 0xabf0, 0x0080, 0xb810, 0x0006, 0xb814, 0x0006, 0xb884, + 0x0006, 0x080c, 0x605e, 0x000e, 0xb886, 0x000e, 0xb816, 0x000e, + 0xb812, 0x080c, 0xabf0, 0x00fe, 0x0005, 0x6604, 0x96b6, 0x001e, + 0x1110, 0x080c, 0xabf0, 0x0005, 0x080c, 0xba3a, 0x1148, 0x6003, + 0x0001, 0x6007, 0x0001, 0x080c, 0x9240, 0x080c, 0x96bd, 0x0010, + 0x080c, 0xabf0, 0x0005, 0x0804, 0xabf0, 0x6004, 0x908a, 0x0053, + 0x1a0c, 0x0d7d, 0x080c, 0x95ff, 0x080c, 0xac2b, 0x0005, 0x9182, + 0x0040, 0x0002, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f8, 0xd8f6, + 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, + 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0xd8f6, 0x080c, 0x0d7d, + 0x0096, 0x00b6, 0x00d6, 0x00e6, 0x00f6, 0x0046, 0x0026, 0x6210, + 0x2258, 0xb8bc, 0x9005, 0x11b0, 0x6007, 0x0044, 0x2071, 0x0260, + 0x7444, 0x94a4, 0xff00, 0x0904, 0xd95f, 0x080c, 0xe6d1, 0x1170, + 0x9486, 0x2000, 0x1158, 0x2009, 0x0001, 0x2011, 0x0200, 0x080c, + 0x8902, 0x0020, 0x9026, 0x080c, 0xe555, 0x0c30, 0x080c, 0x1047, + 0x090c, 0x0d7d, 0x6003, 0x0007, 0xa867, 0x010d, 0x9006, 0xa802, + 0xa86a, 0xac8a, 0x2c00, 0xa88e, 0x6008, 0xa8e2, 0x6010, 0x2058, + 0xb8a0, 0x7130, 0xa97a, 0x0016, 0xa876, 0xa87f, 0x0000, 0xa883, + 0x0000, 0xa887, 0x0036, 0x080c, 0x6d9f, 0x001e, 0x080c, 0xe6d1, + 0x1904, 0xd9bf, 0x9486, 0x2000, 0x1130, 0x2019, 0x0017, 0x080c, + 0xe286, 0x0804, 0xd9bf, 0x9486, 0x0200, 0x1120, 0x080c, 0xe216, + 0x0804, 0xd9bf, 0x9486, 0x0400, 0x0120, 0x9486, 0x1000, 0x1904, + 0xd9bf, 0x2019, 0x0002, 0x080c, 0xe235, 0x0804, 0xd9bf, 0x2069, + 0x1a6e, 0x6a00, 0xd284, 0x0904, 0xda29, 0x9284, 0x0300, 0x1904, + 0xda22, 0x6804, 0x9005, 0x0904, 0xda0a, 0x2d78, 0x6003, 0x0007, + 0x080c, 0x1060, 0x0904, 0xd9cb, 0x7800, 0xd08c, 0x1118, 0x7804, + 0x8001, 0x7806, 0x6017, 0x0000, 0x2001, 0x180f, 0x2004, 0xd084, + 0x1904, 0xda2d, 0x9006, 0xa802, 0xa867, 0x0116, 0xa86a, 0x6008, + 0xa8e2, 0x2c00, 0xa87a, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa9b6, + 0xa876, 0xb928, 0xa9ba, 0xb92c, 0xa9be, 0xb930, 0xa9c2, 0xb934, + 0xa9c6, 0xa883, 0x003d, 0x7044, 0x9084, 0x0003, 0x9080, 0xd9c7, + 0x2005, 0xa87e, 0x20a9, 0x000a, 0x2001, 0x0270, 0xaa5c, 0x9290, + 0x0021, 0x2009, 0x0205, 0x200b, 0x0080, 0x20e1, 0x0000, 0xab60, + 0x23e8, 0x2098, 0x22a0, 0x4003, 0x200b, 0x0000, 0x2001, 0x027a, + 0x200c, 0xa9b2, 0x8000, 0x200c, 0xa9ae, 0x080c, 0x6da2, 0x002e, + 0x004e, 0x00fe, 0x00ee, 0x00de, 0x00be, 0x009e, 0x0005, 0x0000, + 0x0080, 0x0040, 0x0000, 0x2001, 0x1810, 0x2004, 0xd084, 0x0120, + 0x080c, 0x1047, 0x1904, 0xd974, 0x6017, 0xf100, 0x6003, 0x0001, + 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x9239, 0x0c00, 0x2069, + 0x0260, 0x6848, 0x9084, 0xff00, 0x9086, 0x1200, 0x1198, 0x686c, + 0x9084, 0x00ff, 0x0016, 0x6114, 0x918c, 0xf700, 0x910d, 0x6116, + 0x001e, 0x6003, 0x0001, 0x6007, 0x0043, 0x2009, 0xa025, 0x080c, + 0x9239, 0x0828, 0x6868, 0x602e, 0x686c, 0x6032, 0x6017, 0xf200, + 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x9239, + 0x0804, 0xd9bf, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, + 0x8049, 0x080c, 0x4b29, 0x6017, 0xf300, 0x0010, 0x6017, 0xf100, + 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x9239, + 0x0804, 0xd9bf, 0x6017, 0xf500, 0x0c98, 0x6017, 0xf600, 0x0804, + 0xd9df, 0x6017, 0xf200, 0x0804, 0xd9df, 0xa867, 0x0146, 0xa86b, + 0x0000, 0x6008, 0xa886, 0x2c00, 0xa87a, 0x7044, 0x9084, 0x0003, + 0x9080, 0xd9c7, 0x2005, 0xa87e, 0x2928, 0x6010, 0x2058, 0xb8a0, + 0xa876, 0xb828, 0xa88a, 0xb82c, 0xa88e, 0xb830, 0xa892, 0xb834, + 0xa896, 0xa883, 0x003d, 0x2009, 0x0205, 0x2104, 0x9085, 0x0080, + 0x200a, 0x20e1, 0x0000, 0x2011, 0x0210, 0x2214, 0x9294, 0x0fff, + 0xaaa2, 0x9282, 0x0111, 0x1a0c, 0x0d7d, 0x8210, 0x821c, 0x2001, + 0x026c, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0029, 0x20a0, + 0x2011, 0xdaa9, 0x2041, 0x0001, 0x223d, 0x9784, 0x00ff, 0x9322, + 0x1208, 0x2300, 0x20a8, 0x4003, 0x931a, 0x0530, 0x8210, 0xd7fc, + 0x1130, 0x8d68, 0x2d0a, 0x2001, 0x0260, 0x2098, 0x0c68, 0x2950, + 0x080c, 0x1060, 0x0170, 0x2900, 0xb002, 0xa867, 0x0147, 0xa86b, + 0x0000, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, 0x8840, + 0x08d8, 0x2548, 0xa800, 0x902d, 0x0118, 0x080c, 0x1079, 0x0cc8, + 0x080c, 0x1079, 0x0804, 0xd9cb, 0x2548, 0x8847, 0x9885, 0x0046, + 0xa866, 0x2009, 0x0205, 0x200b, 0x0000, 0x080c, 0xe2b9, 0x0804, + 0xd9bf, 0x8010, 0x0004, 0x801a, 0x0006, 0x8018, 0x0008, 0x8016, + 0x000a, 0x8014, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0057, + 0x1a0c, 0x0d7d, 0x9082, 0x0040, 0x0a0c, 0x0d7d, 0x2008, 0x0804, + 0xdb35, 0x9186, 0x0051, 0x0108, 0x0040, 0x080c, 0xaaab, 0x01e8, + 0x9086, 0x0002, 0x0904, 0xdb7d, 0x00c0, 0x9186, 0x0027, 0x0180, + 0x9186, 0x0048, 0x0128, 0x9186, 0x0014, 0x0150, 0x190c, 0x0d7d, + 0x080c, 0xaaab, 0x0150, 0x9086, 0x0004, 0x0904, 0xdc1c, 0x0028, + 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, 0x080c, 0xacaa, 0x0005, + 0xdafc, 0xdafe, 0xdafe, 0xdb25, 0xdafc, 0xdafc, 0xdafc, 0xdafc, + 0xdafc, 0xdafc, 0xdafc, 0xdafc, 0xdafc, 0xdafc, 0xdafc, 0xdafc, + 0xdafc, 0xdafc, 0xdafc, 0xdafc, 0x080c, 0x0d7d, 0x080c, 0x95ff, + 0x080c, 0x96bd, 0x0036, 0x0096, 0x6014, 0x904d, 0x01d8, 0x080c, + 0xc865, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, 0x2058, 0xb800, + 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, 0xe2b9, 0x6017, + 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x1986, 0x2004, 0x601a, + 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x0096, 0x080c, 0x95ff, + 0x080c, 0x96bd, 0x080c, 0xc865, 0x0120, 0x6014, 0x2048, 0x080c, + 0x1079, 0x080c, 0xac2b, 0x009e, 0x0005, 0x0002, 0xdb4a, 0xdb5f, + 0xdb4c, 0xdb74, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, + 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, 0xdb4a, + 0xdb4a, 0xdb4a, 0x080c, 0x0d7d, 0x0096, 0x6014, 0x2048, 0xa87c, + 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, 0x080c, 0xac8d, + 0x0010, 0x6003, 0x0004, 0x080c, 0x96bd, 0x009e, 0x0005, 0x080c, + 0xc865, 0x0138, 0x6114, 0x0096, 0x2148, 0xa97c, 0x009e, 0xd1ec, + 0x1138, 0x080c, 0x88d7, 0x080c, 0xabf0, 0x080c, 0x96bd, 0x0005, + 0x080c, 0xe519, 0x0db0, 0x0cc8, 0x6003, 0x0001, 0x6007, 0x0041, + 0x2009, 0xa022, 0x080c, 0x9239, 0x0005, 0x9182, 0x0040, 0x0002, + 0xdb94, 0xdb96, 0xdb94, 0xdb94, 0xdb94, 0xdb94, 0xdb94, 0xdb94, + 0xdb94, 0xdb94, 0xdb94, 0xdb94, 0xdb94, 0xdb94, 0xdb94, 0xdb94, + 0xdb94, 0xdb97, 0xdb94, 0xdb94, 0x080c, 0x0d7d, 0x0005, 0x00d6, + 0x080c, 0x88d7, 0x00de, 0x080c, 0xe571, 0x080c, 0xabf0, 0x0005, + 0x9182, 0x0040, 0x0002, 0xdbb7, 0xdbb7, 0xdbb7, 0xdbb7, 0xdbb7, + 0xdbb7, 0xdbb7, 0xdbb7, 0xdbb7, 0xdbb9, 0xdbe4, 0xdbb7, 0xdbb7, + 0xdbb7, 0xdbb7, 0xdbe4, 0xdbb7, 0xdbb7, 0xdbb7, 0xdbb7, 0x080c, 0x0d7d, 0x6014, 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x0168, 0x908c, 0x0003, 0x918e, 0x0002, 0x0180, 0x6144, 0xd1e4, 0x1168, 0x2009, - 0x0041, 0x009e, 0x0804, 0xdc6c, 0x6003, 0x0007, 0x601b, 0x0000, - 0x080c, 0x88a3, 0x009e, 0x0005, 0x6014, 0x2048, 0xa97c, 0xd1ec, - 0x1130, 0x080c, 0x88a3, 0x080c, 0xabdf, 0x009e, 0x0005, 0x080c, - 0xe4dc, 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, 0x200c, 0xc1d4, - 0x2102, 0x0036, 0x080c, 0x9621, 0x080c, 0x9684, 0x6014, 0x0096, + 0x0041, 0x009e, 0x0804, 0xdca4, 0x6003, 0x0007, 0x601b, 0x0000, + 0x080c, 0x88d7, 0x009e, 0x0005, 0x6014, 0x2048, 0xa97c, 0xd1ec, + 0x1130, 0x080c, 0x88d7, 0x080c, 0xabf0, 0x009e, 0x0005, 0x080c, + 0xe519, 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, 0x200c, 0xc1d4, + 0x2102, 0x0036, 0x080c, 0x965a, 0x080c, 0x96bd, 0x6014, 0x0096, 0x2048, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0188, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, 0xa8ac, 0x6330, 0x931a, 0x6332, 0xa8b0, 0x632c, 0x931b, 0x632e, 0x6003, 0x0002, - 0x0080, 0x2019, 0x0004, 0x080c, 0xe27c, 0x6018, 0x9005, 0x1128, + 0x0080, 0x2019, 0x0004, 0x080c, 0xe2b9, 0x6018, 0x9005, 0x1128, 0x2001, 0x1986, 0x2004, 0x8003, 0x601a, 0x6017, 0x0000, 0x6003, - 0x0007, 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, 0xdbfb, - 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfd, - 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, 0xdbfb, - 0xdbfb, 0xdbfb, 0xdc48, 0x080c, 0x0d7d, 0x6014, 0x0096, 0x2048, + 0x0007, 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, 0xdc33, + 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc35, + 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, 0xdc33, + 0xdc33, 0xdc33, 0xdc80, 0x080c, 0x0d7d, 0x6014, 0x0096, 0x2048, 0xa834, 0xaa38, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1190, 0x920d, 0x1518, 0xa87c, 0xd0fc, 0x0128, 0x2009, 0x0041, - 0x009e, 0x0804, 0xdc6c, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, - 0x88a3, 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, + 0x009e, 0x0804, 0xdca4, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, + 0x88d7, 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, 0xacac, 0x9422, 0xa9b0, 0x2200, 0x910b, 0x6030, 0x9420, 0x6432, 0x602c, 0x9109, 0x612e, 0x004e, 0x000e, 0x08d8, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1178, 0x2009, 0x180e, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, 0x0006, 0x00e9, - 0x080c, 0x88a5, 0x009e, 0x0005, 0x6003, 0x0002, 0x009e, 0x0005, - 0x6024, 0xd0f4, 0x0128, 0x080c, 0x167d, 0x1904, 0xdbfd, 0x0005, + 0x080c, 0x88d9, 0x009e, 0x0005, 0x6003, 0x0002, 0x009e, 0x0005, + 0x6024, 0xd0f4, 0x0128, 0x080c, 0x168a, 0x1904, 0xdc35, 0x0005, 0x6014, 0x0096, 0x2048, 0xa834, 0xa938, 0x009e, 0x9105, 0x1120, - 0x080c, 0x167d, 0x1904, 0xdbfd, 0x0005, 0xd2fc, 0x0140, 0x8002, + 0x080c, 0x168a, 0x1904, 0xdc35, 0x0005, 0xd2fc, 0x0140, 0x8002, 0x8000, 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, 0x0010, 0x2009, 0x0015, 0xaa9a, 0xa896, 0x0005, 0x9182, 0x0040, 0x0208, 0x0062, 0x9186, 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d7d, 0x6024, - 0xd0dc, 0x090c, 0x0d7d, 0x0005, 0xdc8f, 0xdc9b, 0xdca7, 0xdcb3, - 0xdc8f, 0xdc8f, 0xdc8f, 0xdc8f, 0xdc96, 0xdc91, 0xdc91, 0xdc8f, - 0xdc8f, 0xdc8f, 0xdc8f, 0xdc91, 0xdc8f, 0xdc91, 0xdc8f, 0x080c, - 0x0d7d, 0x6024, 0xd0dc, 0x090c, 0x0d7d, 0x0005, 0x6014, 0x9005, - 0x190c, 0x0d7d, 0x0005, 0x6003, 0x0001, 0x6106, 0x0126, 0x2091, - 0x8000, 0x2009, 0xa022, 0x080c, 0x91e2, 0x012e, 0x0005, 0x6003, - 0x0004, 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, 0xa001, 0x080c, - 0x9200, 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, 0x080c, 0x1c10, - 0x0126, 0x2091, 0x8000, 0x6014, 0x0096, 0x2048, 0xa87c, 0xd0fc, - 0x0188, 0x9084, 0x0003, 0x9086, 0x0002, 0x01a0, 0x6024, 0xd0cc, - 0x1148, 0xd0c4, 0x1138, 0xa8a8, 0x9005, 0x1120, 0x6144, 0x918d, - 0xb035, 0x0018, 0x6144, 0x918d, 0xa035, 0x009e, 0x080c, 0x9247, - 0x012e, 0x0005, 0x6144, 0x918d, 0xa032, 0x0cb8, 0x0126, 0x2091, - 0x8000, 0x0036, 0x0096, 0x9182, 0x0040, 0x0023, 0x009e, 0x003e, - 0x012e, 0x0005, 0xdcfa, 0xdcfc, 0xdd11, 0xdd2b, 0xdcfa, 0xdcfa, - 0xdcfa, 0xdcfa, 0xdcfa, 0xdcfa, 0xdcfa, 0xdcfa, 0xdcfa, 0xdcfa, - 0xdcfa, 0xdcfa, 0x080c, 0x0d7d, 0x6014, 0x2048, 0xa87c, 0xd0fc, - 0x0510, 0x909c, 0x0003, 0x939e, 0x0003, 0x01e8, 0x6003, 0x0001, - 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, 0xa022, 0x080c, 0x9200, - 0x0470, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0168, 0x909c, 0x0003, - 0x939e, 0x0003, 0x0140, 0x6003, 0x0001, 0x6106, 0x2009, 0xa001, - 0x080c, 0x9200, 0x00e0, 0x901e, 0x6316, 0x631a, 0x2019, 0x0004, - 0x080c, 0xe27c, 0x00a0, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0d98, - 0x909c, 0x0003, 0x939e, 0x0003, 0x0d70, 0x6003, 0x0003, 0x6106, - 0x080c, 0x1c10, 0x6144, 0x918d, 0xa035, 0x080c, 0x9247, 0x0005, - 0x080c, 0x95c6, 0x6114, 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, - 0xe631, 0x0036, 0x2019, 0x0029, 0x080c, 0xe27c, 0x003e, 0x009e, - 0x080c, 0xac1a, 0x080c, 0x9684, 0x0005, 0x080c, 0x9621, 0x6114, - 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, 0xe631, 0x0036, 0x2019, - 0x0029, 0x080c, 0xe27c, 0x003e, 0x009e, 0x080c, 0xac1a, 0x0005, - 0x9182, 0x0085, 0x0002, 0xdd7a, 0xdd78, 0xdd78, 0xdd86, 0xdd78, - 0xdd78, 0xdd78, 0xdd78, 0xdd78, 0xdd78, 0xdd78, 0xdd78, 0xdd78, - 0x080c, 0x0d7d, 0x6003, 0x000b, 0x6106, 0x0126, 0x2091, 0x8000, - 0x2009, 0x8020, 0x080c, 0x9200, 0x012e, 0x0005, 0x0026, 0x00e6, - 0x080c, 0xe4d3, 0x0118, 0x080c, 0xabdf, 0x0440, 0x2071, 0x0260, - 0x7224, 0x6216, 0x2001, 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, - 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, - 0xaf0a, 0x7220, 0x080c, 0xe112, 0x0118, 0x6007, 0x0086, 0x0040, - 0x6007, 0x0087, 0x7224, 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, - 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x9200, 0x00ee, 0x002e, - 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, - 0x0d7d, 0x908a, 0x0092, 0x1a0c, 0x0d7d, 0x9082, 0x0085, 0x00a2, - 0x9186, 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, 0xac99, - 0x0050, 0x2001, 0x0007, 0x080c, 0x659c, 0x080c, 0x95c6, 0x080c, - 0xac1a, 0x080c, 0x9684, 0x0005, 0xdde9, 0xddeb, 0xddeb, 0xdde9, - 0xdde9, 0xdde9, 0xdde9, 0xdde9, 0xdde9, 0xdde9, 0xdde9, 0xdde9, - 0xdde9, 0x080c, 0x0d7d, 0x080c, 0xac1a, 0x080c, 0x9684, 0x0005, - 0x9182, 0x0085, 0x0a0c, 0x0d7d, 0x9182, 0x0092, 0x1a0c, 0x0d7d, - 0x9182, 0x0085, 0x0002, 0xde08, 0xde08, 0xde08, 0xde0a, 0xde08, - 0xde08, 0xde08, 0xde08, 0xde08, 0xde08, 0xde08, 0xde08, 0xde08, - 0x080c, 0x0d7d, 0x0005, 0x9186, 0x0013, 0x0148, 0x9186, 0x0014, - 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, 0xac99, 0x0020, 0x080c, - 0x95c6, 0x080c, 0xac1a, 0x0005, 0x0036, 0x080c, 0xe534, 0x604b, - 0x0000, 0x2019, 0x000b, 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, - 0x003e, 0x0005, 0x0126, 0x0036, 0x2091, 0x8000, 0x2001, 0x0382, - 0x2004, 0x9084, 0x0007, 0x0006, 0x9086, 0x0003, 0x0110, 0x080c, - 0xa888, 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, 0xa1fa, 0x009e, - 0x008e, 0x1558, 0x0076, 0x2c38, 0x080c, 0xa2a5, 0x007e, 0x1528, - 0x6000, 0x9086, 0x0000, 0x0508, 0x6020, 0x9086, 0x0007, 0x01e8, - 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xe534, 0x080c, 0xcf69, - 0x080c, 0x1a77, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, 0xc832, - 0x0110, 0x080c, 0xe27c, 0x009e, 0x9006, 0x6046, 0x6016, 0x080c, - 0xe534, 0x6023, 0x0007, 0x080c, 0xcf69, 0x000e, 0x9086, 0x0003, - 0x0110, 0x080c, 0xa8a4, 0x003e, 0x012e, 0x0005, 0x00f6, 0x00c6, - 0x00b6, 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, 0x783c, 0x080c, - 0x2614, 0x15e8, 0x0016, 0x00c6, 0x080c, 0x6620, 0x15b0, 0x001e, - 0x00c6, 0x2160, 0x080c, 0xcf66, 0x00ce, 0x002e, 0x0026, 0x0016, - 0x080c, 0xa888, 0x2019, 0x0029, 0x080c, 0xa372, 0x080c, 0x938d, - 0x0076, 0x903e, 0x080c, 0x9256, 0x007e, 0x001e, 0x0076, 0x903e, - 0x080c, 0xdffb, 0x007e, 0x080c, 0xa8a4, 0x0026, 0xba04, 0x9294, - 0xff00, 0x8217, 0x9286, 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, - 0xbaa0, 0x080c, 0x32ba, 0x002e, 0xbc84, 0x001e, 0x080c, 0x603e, - 0xbe12, 0xbd16, 0xbc86, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, - 0x003e, 0x00be, 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, - 0x0016, 0x2009, 0x1824, 0x2104, 0x9086, 0x0074, 0x1904, 0xdf1e, - 0x2069, 0x0260, 0x6944, 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, - 0x8000, 0x0904, 0xdf1b, 0x2001, 0x197b, 0x2004, 0x9005, 0x1140, - 0x6010, 0x2058, 0xb884, 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, - 0x6948, 0x918a, 0x0001, 0x0648, 0x080c, 0xe699, 0x0118, 0x6978, - 0xd1fc, 0x11b8, 0x2009, 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, - 0x1198, 0x6944, 0x9182, 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, - 0x6948, 0x918a, 0x0001, 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, - 0x00d0, 0x6017, 0x0100, 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, - 0x0500, 0x0070, 0x6017, 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, - 0x6017, 0x0b00, 0x0028, 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, - 0x9085, 0x0001, 0x0008, 0x9006, 0x001e, 0x00be, 0x00de, 0x00ce, - 0x0005, 0x00c6, 0x00b6, 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, - 0xbb04, 0x9394, 0x00ff, 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, - 0x0168, 0x9394, 0xff00, 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, - 0x0004, 0x0120, 0x080c, 0x662f, 0x0804, 0xdf8a, 0x2011, 0x0276, - 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbb5, - 0x009e, 0x15c8, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, - 0x2019, 0x0006, 0x080c, 0xbbb5, 0x009e, 0x1568, 0x0046, 0x0016, - 0xbaa0, 0x2220, 0x9006, 0x2009, 0x1848, 0x210c, 0xd1a4, 0x0138, - 0x2009, 0x0029, 0x080c, 0xe2d9, 0xb800, 0xc0e5, 0xb802, 0x080c, - 0xa888, 0x2019, 0x0029, 0x080c, 0x938d, 0x0076, 0x2039, 0x0000, - 0x080c, 0x9256, 0x2c08, 0x080c, 0xdffb, 0x007e, 0x080c, 0xa8a4, - 0x2001, 0x0007, 0x080c, 0x659c, 0x2001, 0x0007, 0x080c, 0x6570, - 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, 0x002e, 0x00be, 0x00ce, - 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, 0x9086, 0x0800, 0x0118, - 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00f6, - 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, 0x026c, 0x7930, 0x7834, - 0x080c, 0x2614, 0x11d0, 0x080c, 0x6620, 0x11b8, 0x2011, 0x0270, - 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbb5, - 0x009e, 0x1158, 0x2011, 0x0274, 0x20a9, 0x0004, 0x0096, 0x2b48, - 0x2019, 0x0006, 0x080c, 0xbbb5, 0x009e, 0x015e, 0x003e, 0x002e, - 0x001e, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x0006, 0x0016, 0x0026, - 0x0036, 0x0156, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, - 0x2614, 0x11d0, 0x080c, 0x6620, 0x11b8, 0x2011, 0x0276, 0x20a9, - 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbb5, 0x009e, - 0x1158, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, - 0x0006, 0x080c, 0xbbb5, 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, - 0x000e, 0x00be, 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, - 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, 0x080c, 0xa8e6, - 0x0106, 0x190c, 0xa888, 0x2740, 0x2029, 0x19f2, 0x252c, 0x2021, - 0x19f9, 0x2424, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7654, 0x7074, - 0x81ff, 0x0150, 0x0006, 0x9186, 0x1b31, 0x000e, 0x0128, 0x8001, - 0x9602, 0x1a04, 0xe0a0, 0x0018, 0x9606, 0x0904, 0xe0a0, 0x080c, - 0x8b72, 0x0904, 0xe097, 0x2100, 0x9c06, 0x0904, 0xe097, 0x080c, - 0xe31a, 0x1904, 0xe097, 0x080c, 0xe6b6, 0x0904, 0xe097, 0x080c, - 0xe30a, 0x0904, 0xe097, 0x6720, 0x9786, 0x0001, 0x1148, 0x080c, - 0x3357, 0x0904, 0xe0e2, 0x6004, 0x9086, 0x0000, 0x1904, 0xe0e2, - 0x9786, 0x0004, 0x0904, 0xe0e2, 0x9786, 0x0007, 0x0904, 0xe097, - 0x2500, 0x9c06, 0x0904, 0xe097, 0x2400, 0x9c06, 0x0904, 0xe097, - 0x88ff, 0x0118, 0x605c, 0x9906, 0x15d0, 0x0096, 0x6043, 0xffff, - 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x1a77, 0x001e, - 0x9786, 0x000a, 0x0148, 0x080c, 0xca47, 0x1130, 0x080c, 0xb5a6, - 0x009e, 0x080c, 0xac1a, 0x0418, 0x6014, 0x2048, 0x080c, 0xc832, - 0x01d8, 0x9786, 0x0003, 0x1588, 0xa867, 0x0103, 0xa87c, 0xd0cc, - 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fec, 0x009e, 0xab7a, - 0xa877, 0x0000, 0x080c, 0xe631, 0x0016, 0x080c, 0xcb35, 0x080c, - 0x6d6f, 0x001e, 0x080c, 0xca21, 0x009e, 0x080c, 0xac1a, 0x9ce0, - 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1210, 0x0804, 0xe014, - 0x010e, 0x190c, 0xa8a4, 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, - 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1150, - 0x9386, 0x0005, 0x0128, 0x080c, 0xe631, 0x080c, 0xe27c, 0x08e0, - 0x009e, 0x08e8, 0x9786, 0x0009, 0x11f8, 0x6000, 0x9086, 0x0004, - 0x01c0, 0x6000, 0x9086, 0x0003, 0x11a0, 0x080c, 0x9621, 0x0096, - 0x6114, 0x2148, 0x080c, 0xc832, 0x0118, 0x6010, 0x080c, 0x6d7b, - 0x009e, 0x00c6, 0x080c, 0xabdf, 0x00ce, 0x0036, 0x080c, 0x9684, - 0x003e, 0x009e, 0x0804, 0xe097, 0x9786, 0x000a, 0x0904, 0xe07e, - 0x0804, 0xe07c, 0x81ff, 0x0904, 0xe097, 0x9180, 0x0001, 0x2004, - 0x9086, 0x0018, 0x0138, 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, - 0x1904, 0xe097, 0x6000, 0x9086, 0x0002, 0x1904, 0xe097, 0x080c, - 0xca36, 0x0138, 0x080c, 0xca47, 0x1904, 0xe097, 0x080c, 0xb5a6, - 0x0038, 0x080c, 0x321e, 0x080c, 0xca47, 0x1110, 0x080c, 0xb5a6, - 0x080c, 0xac1a, 0x0804, 0xe097, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x0039, 0x0005, 0x00c6, 0x00e6, 0x0016, 0x2c08, 0x2170, 0x9006, - 0x080c, 0xe2a3, 0x001e, 0x0120, 0x6020, 0x9084, 0x000f, 0x001b, - 0x00ee, 0x00ce, 0x0005, 0xe131, 0xe131, 0xe131, 0xe131, 0xe131, - 0xe131, 0xe133, 0xe131, 0xe131, 0xe131, 0xe131, 0xac1a, 0xac1a, - 0xe131, 0x9006, 0x0005, 0x0036, 0x0046, 0x0016, 0x7010, 0x00b6, - 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2009, 0x0020, 0x080c, 0xe2d9, - 0x001e, 0x004e, 0x2019, 0x0002, 0x080c, 0xde2a, 0x003e, 0x9085, - 0x0001, 0x0005, 0x0096, 0x080c, 0xc832, 0x0140, 0x6014, 0x904d, - 0x080c, 0xc430, 0x687b, 0x0005, 0x080c, 0x6d7b, 0x009e, 0x080c, - 0xac1a, 0x9085, 0x0001, 0x0005, 0x2001, 0x0001, 0x080c, 0x655c, - 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, - 0x2011, 0x0276, 0x080c, 0xbba1, 0x003e, 0x002e, 0x001e, 0x015e, - 0x9005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, - 0x00b6, 0x0126, 0x2091, 0x8000, 0x2740, 0x2061, 0x1ddc, 0x2079, - 0x0001, 0x8fff, 0x0904, 0xe1cc, 0x2071, 0x1800, 0x7654, 0x7074, - 0x8001, 0x9602, 0x1a04, 0xe1cc, 0x88ff, 0x0120, 0x2800, 0x9c06, - 0x1590, 0x2078, 0x080c, 0xe30a, 0x0570, 0x2400, 0x9c06, 0x0558, - 0x6720, 0x9786, 0x0006, 0x1538, 0x9786, 0x0007, 0x0520, 0x88ff, - 0x1140, 0x6010, 0x9b06, 0x11f8, 0x85ff, 0x0118, 0x605c, 0x9106, - 0x11d0, 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xe534, 0x080c, - 0xcf69, 0x080c, 0x1a77, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, - 0xc832, 0x0120, 0x0046, 0x080c, 0xe27c, 0x004e, 0x009e, 0x080c, - 0xac1a, 0x88ff, 0x1198, 0x9ce0, 0x001c, 0x2001, 0x181a, 0x2004, - 0x9c02, 0x1210, 0x0804, 0xe181, 0x9006, 0x012e, 0x00be, 0x006e, - 0x007e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x98c5, 0x0001, - 0x0ca0, 0x080c, 0xa888, 0x00b6, 0x0076, 0x0056, 0x0086, 0x9046, - 0x2029, 0x0001, 0x2c20, 0x2019, 0x0002, 0x6210, 0x2258, 0x0096, - 0x904e, 0x080c, 0xa1fa, 0x009e, 0x008e, 0x903e, 0x080c, 0xa2a5, - 0x080c, 0xe172, 0x005e, 0x007e, 0x00be, 0x080c, 0xa8a4, 0x0005, - 0x080c, 0xa888, 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, - 0x2c20, 0x2128, 0x20a9, 0x007f, 0x900e, 0x0016, 0x0036, 0x080c, - 0x6620, 0x1190, 0x0056, 0x0086, 0x9046, 0x2508, 0x2029, 0x0001, - 0x0096, 0x904e, 0x080c, 0xa1fa, 0x009e, 0x008e, 0x903e, 0x080c, - 0xa2a5, 0x080c, 0xe172, 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, - 0xe205, 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, 0x00be, 0x080c, - 0xa8a4, 0x0005, 0x080c, 0xa888, 0x00b6, 0x0076, 0x0056, 0x6210, - 0x2258, 0x0086, 0x9046, 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, - 0x904e, 0x080c, 0xa1fa, 0x009e, 0x008e, 0x903e, 0x080c, 0xa2a5, - 0x2c20, 0x080c, 0xe172, 0x005e, 0x007e, 0x00be, 0x080c, 0xa8a4, - 0x0005, 0x080c, 0xa888, 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, - 0x0156, 0x2c20, 0x20a9, 0x0800, 0x900e, 0x0016, 0x0036, 0x080c, - 0x6620, 0x11a0, 0x0086, 0x9046, 0x2828, 0x0046, 0x2021, 0x0001, - 0x080c, 0xe518, 0x004e, 0x0096, 0x904e, 0x080c, 0xa1fa, 0x009e, - 0x008e, 0x903e, 0x080c, 0xa2a5, 0x080c, 0xe172, 0x003e, 0x001e, - 0x8108, 0x1f04, 0xe255, 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, - 0x00be, 0x080c, 0xa8a4, 0x0005, 0x0016, 0x00f6, 0x080c, 0xc830, - 0x0198, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0046, 0x0180, 0xa800, - 0x907d, 0x0138, 0xa803, 0x0000, 0xab82, 0x080c, 0x6d7b, 0x2f48, - 0x0cb0, 0xab82, 0x080c, 0x6d7b, 0x00fe, 0x001e, 0x0005, 0xa800, - 0x907d, 0x0130, 0xa803, 0x0000, 0x080c, 0x6d7b, 0x2f48, 0x0cb8, - 0x080c, 0x6d7b, 0x0c88, 0x00e6, 0x0046, 0x0036, 0x2061, 0x1ddc, - 0x9005, 0x1138, 0x2071, 0x1800, 0x7454, 0x7074, 0x8001, 0x9402, - 0x12f8, 0x2100, 0x9c06, 0x0188, 0x6000, 0x9086, 0x0000, 0x0168, - 0x6008, 0x9206, 0x1150, 0x6320, 0x9386, 0x0009, 0x01b0, 0x6010, - 0x91a0, 0x0004, 0x2424, 0x9406, 0x0140, 0x9ce0, 0x001c, 0x2001, - 0x181a, 0x2004, 0x9c02, 0x1220, 0x0c20, 0x9085, 0x0001, 0x0008, - 0x9006, 0x003e, 0x004e, 0x00ee, 0x0005, 0x631c, 0xd3c4, 0x1d68, - 0x0c30, 0x0096, 0x0006, 0x080c, 0x103a, 0x000e, 0x090c, 0x0d7d, - 0xaae2, 0xa867, 0x010d, 0xa88e, 0x0026, 0x2010, 0x080c, 0xc820, - 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, 0x0017, 0x2004, 0x002e, - 0xa87a, 0x9186, 0x0020, 0x0110, 0xa8e3, 0xffff, 0xa986, 0xac76, - 0xa87f, 0x0000, 0x2001, 0x198d, 0x2004, 0xa882, 0x9006, 0xa802, - 0xa86a, 0xa88a, 0x0126, 0x2091, 0x8000, 0x080c, 0x6d7b, 0x012e, - 0x009e, 0x0005, 0x6700, 0x9786, 0x0000, 0x0158, 0x9786, 0x0001, - 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, 0x0009, 0x0110, 0x9085, - 0x0001, 0x0005, 0x00e6, 0x6010, 0x9075, 0x0138, 0x00b6, 0x2058, - 0xb8a0, 0x00be, 0x9206, 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cd8, - 0x0016, 0x6004, 0x908e, 0x001e, 0x11a0, 0x8007, 0x6134, 0x918c, - 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, - 0x0005, 0x2001, 0x1986, 0x2004, 0x601a, 0x2009, 0x8020, 0x080c, - 0x9200, 0x001e, 0x0005, 0xa001, 0xa001, 0x0005, 0x6024, 0xd0e4, - 0x0158, 0xd0cc, 0x0118, 0x080c, 0xcb7c, 0x0030, 0x080c, 0xe534, - 0x080c, 0x88a3, 0x080c, 0xabdf, 0x0005, 0x9280, 0x0008, 0x2004, - 0x9084, 0x000f, 0x0002, 0xe369, 0xe369, 0xe369, 0xe36b, 0xe369, - 0xe36b, 0xe36b, 0xe369, 0xe36b, 0xe369, 0xe369, 0xe369, 0xe369, - 0xe369, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x9280, 0x0008, - 0x2004, 0x9084, 0x000f, 0x0002, 0xe382, 0xe382, 0xe382, 0xe382, - 0xe382, 0xe382, 0xe38f, 0xe382, 0xe382, 0xe382, 0xe382, 0xe382, - 0xe382, 0xe382, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, - 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x9200, 0x0005, 0x0096, - 0x00c6, 0x2260, 0x080c, 0xe534, 0x604b, 0x0000, 0x6024, 0xc0f4, - 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, 0x00d6, 0x2268, 0x9186, - 0x0007, 0x1904, 0xe3e8, 0x6814, 0x9005, 0x0138, 0x2048, 0xa87c, - 0xd0fc, 0x1118, 0x00de, 0x009e, 0x08a8, 0x6007, 0x003a, 0x6003, - 0x0001, 0x2009, 0x8020, 0x080c, 0x9200, 0x00c6, 0x2d60, 0x6100, - 0x9186, 0x0002, 0x1904, 0xe45f, 0x6014, 0x9005, 0x1138, 0x6000, - 0x9086, 0x0007, 0x190c, 0x0d7d, 0x0804, 0xe45f, 0x2048, 0x080c, - 0xc832, 0x1130, 0x0028, 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, - 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x1168, 0xa87c, - 0xc0dc, 0xc0f4, 0xa87e, 0xa880, 0xc0fc, 0xa882, 0x2009, 0x0043, - 0x080c, 0xdc6c, 0x0804, 0xe45f, 0x2009, 0x0041, 0x0804, 0xe459, - 0x9186, 0x0005, 0x15a0, 0x6814, 0x2048, 0xa87c, 0xd0bc, 0x1120, - 0x00de, 0x009e, 0x0804, 0xe382, 0xd0b4, 0x0128, 0xd0fc, 0x090c, - 0x0d7d, 0x0804, 0xe3a3, 0x6007, 0x003a, 0x6003, 0x0001, 0x2009, - 0x8020, 0x080c, 0x9200, 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, - 0x0120, 0x9186, 0x0004, 0x1904, 0xe45f, 0x6814, 0x2048, 0xa97c, - 0xc1f4, 0xc1dc, 0xa97e, 0xa980, 0xc1fc, 0xc1bc, 0xa982, 0x00f6, - 0x2c78, 0x080c, 0x173e, 0x00fe, 0x2009, 0x0042, 0x04d0, 0x0036, - 0x080c, 0x103a, 0x090c, 0x0d7d, 0xa867, 0x010d, 0x9006, 0xa802, - 0xa86a, 0xa88a, 0x2d18, 0xab8e, 0xa887, 0x0045, 0x2c00, 0xa892, - 0x6038, 0xa8a2, 0x2360, 0x6024, 0xc0dd, 0x6026, 0x6010, 0x00b6, - 0x2058, 0xb8a0, 0x00be, 0x2004, 0x635c, 0xab7a, 0xa876, 0x9006, - 0xa87e, 0xa882, 0xad9a, 0xae96, 0xa89f, 0x0001, 0x080c, 0x6d7b, - 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, 0xde2a, 0x2d00, 0x600a, - 0x6023, 0x0006, 0x6003, 0x0007, 0x901e, 0x631a, 0x634a, 0x003e, - 0x0038, 0x604b, 0x0000, 0x6003, 0x0007, 0x080c, 0xdc6c, 0x00ce, - 0x00de, 0x009e, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, - 0x0085, 0x2008, 0x00c2, 0x9186, 0x0027, 0x1178, 0x080c, 0x95c6, - 0x0036, 0x0096, 0x6014, 0x2048, 0x2019, 0x0004, 0x080c, 0xe27c, - 0x009e, 0x003e, 0x080c, 0x9684, 0x0005, 0x9186, 0x0014, 0x0d70, - 0x080c, 0xac99, 0x0005, 0xe492, 0xe490, 0xe490, 0xe490, 0xe490, - 0xe490, 0xe492, 0xe490, 0xe490, 0xe490, 0xe490, 0xe490, 0xe490, - 0x080c, 0x0d7d, 0x6003, 0x000c, 0x080c, 0x9684, 0x0005, 0x9182, - 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x001a, 0x080c, 0xac99, - 0x0005, 0xe4ae, 0xe4ae, 0xe4ae, 0xe4ae, 0xe4b0, 0xe4d0, 0xe4ae, - 0xe4ae, 0xe4ae, 0xe4ae, 0xe4ae, 0xe4ae, 0xe4ae, 0x080c, 0x0d7d, - 0x00d6, 0x2c68, 0x080c, 0xab89, 0x01b0, 0x6003, 0x0001, 0x6007, - 0x001e, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, - 0x613e, 0x600b, 0xffff, 0x6910, 0x6112, 0x6023, 0x0004, 0x2009, - 0x8020, 0x080c, 0x9200, 0x2d60, 0x080c, 0xabdf, 0x00de, 0x0005, - 0x080c, 0xabdf, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0ec, 0x00ee, 0x0005, 0x2009, 0x1867, 0x210c, 0xd1ec, - 0x05b0, 0x6003, 0x0002, 0x6024, 0xc0e5, 0x6026, 0xd0cc, 0x0150, - 0x2001, 0x1987, 0x2004, 0x604a, 0x2009, 0x1867, 0x210c, 0xd1f4, - 0x1520, 0x00a0, 0x2009, 0x1867, 0x210c, 0xd1f4, 0x0128, 0x6024, - 0xc0e4, 0x6026, 0x9006, 0x00d8, 0x2001, 0x1987, 0x200c, 0x2001, - 0x1985, 0x2004, 0x9100, 0x9080, 0x000a, 0x604a, 0x6010, 0x00b6, - 0x2058, 0xb8bc, 0x00be, 0x0008, 0x2104, 0x9005, 0x0118, 0x9088, - 0x0003, 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0x9085, 0x0001, 0x0005, - 0x0016, 0x00c6, 0x00e6, 0x615c, 0xb8bc, 0x2060, 0x8cff, 0x0180, - 0x84ff, 0x1118, 0x605c, 0x9106, 0x1138, 0x600c, 0x2072, 0x080c, - 0x88a3, 0x080c, 0xabdf, 0x0010, 0x9cf0, 0x0003, 0x2e64, 0x0c70, - 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x00b6, 0x6010, 0x2058, - 0xb8bc, 0x2068, 0x9005, 0x0130, 0x9c06, 0x0110, 0x680c, 0x0cd0, - 0x600c, 0x680e, 0x00be, 0x00de, 0x0005, 0x0026, 0x0036, 0x0156, - 0x2011, 0x182c, 0x2204, 0x9084, 0x00ff, 0x2019, 0x026e, 0x2334, - 0x9636, 0x1508, 0x8318, 0x2334, 0x2204, 0x9084, 0xff00, 0x9636, - 0x11d0, 0x2011, 0x0270, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, - 0x2019, 0x000a, 0x080c, 0xbbb5, 0x009e, 0x1168, 0x2011, 0x0274, - 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x0006, 0x080c, - 0xbbb5, 0x009e, 0x1100, 0x015e, 0x003e, 0x002e, 0x0005, 0x00e6, - 0x2071, 0x1800, 0x080c, 0x5fb7, 0x080c, 0x2fc0, 0x00ee, 0x0005, - 0x0096, 0x0026, 0x080c, 0x103a, 0x090c, 0x0d7d, 0xa85c, 0x9080, - 0x001a, 0x20a0, 0x20a9, 0x000c, 0xa860, 0x20e8, 0x9006, 0x4004, - 0x9186, 0x0046, 0x1118, 0xa867, 0x0136, 0x0038, 0xa867, 0x0138, - 0x9186, 0x0041, 0x0110, 0xa87b, 0x0001, 0x7038, 0x9084, 0xff00, - 0x7240, 0x9294, 0xff00, 0x8007, 0x9215, 0xaa9a, 0x9186, 0x0046, - 0x1168, 0x7038, 0x9084, 0x00ff, 0x723c, 0x9294, 0xff00, 0x9215, - 0xaa9e, 0x723c, 0x9294, 0x00ff, 0xaaa2, 0x0060, 0x7040, 0x9084, - 0x00ff, 0x7244, 0x9294, 0xff00, 0x9215, 0xaa9e, 0x7244, 0x9294, - 0x00ff, 0xaaa2, 0x9186, 0x0046, 0x1118, 0x9e90, 0x0012, 0x0010, - 0x9e90, 0x001a, 0x2204, 0x8007, 0xa8a6, 0x8210, 0x2204, 0x8007, - 0xa8aa, 0x8210, 0x2204, 0x8007, 0xa8ae, 0x8210, 0x2204, 0x8007, - 0xa8b2, 0x8210, 0x9186, 0x0046, 0x11b8, 0x9e90, 0x0016, 0x2204, - 0x8007, 0xa8b6, 0x8210, 0x2204, 0x8007, 0xa8ba, 0x8210, 0x2204, - 0x8007, 0xa8be, 0x8210, 0x2204, 0x8007, 0xa8c2, 0x8210, 0x2011, - 0x0205, 0x2013, 0x0001, 0x00b0, 0x9e90, 0x001e, 0x2204, 0x8007, - 0xa8b6, 0x8210, 0x2204, 0x8007, 0xa8ba, 0x2011, 0x0205, 0x2013, - 0x0001, 0x2011, 0x0260, 0x2204, 0x8007, 0xa8be, 0x8210, 0x2204, - 0x8007, 0xa8c2, 0x9186, 0x0046, 0x1118, 0x2011, 0x0262, 0x0010, - 0x2011, 0x026a, 0x0146, 0x01d6, 0x0036, 0x20a9, 0x0001, 0x2019, - 0x0008, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, 0x2204, - 0x8007, 0x4004, 0x8210, 0x8319, 0x1dd0, 0x003e, 0x01ce, 0x013e, - 0x2011, 0x0205, 0x2013, 0x0000, 0x002e, 0x080c, 0x6d7b, 0x009e, - 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0fc, - 0x0108, 0x0011, 0x00ee, 0x0005, 0xa880, 0xc0e5, 0xa882, 0x0005, - 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, - 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, 0x19f2, 0x252c, 0x2021, - 0x19f9, 0x2424, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7654, 0x7074, - 0x9606, 0x0578, 0x6720, 0x9786, 0x0001, 0x0118, 0x9786, 0x0008, - 0x1500, 0x2500, 0x9c06, 0x01e8, 0x2400, 0x9c06, 0x01d0, 0x080c, - 0xe30a, 0x01b8, 0x080c, 0xe31a, 0x11a0, 0x6000, 0x9086, 0x0004, - 0x1120, 0x0016, 0x080c, 0x1a77, 0x001e, 0x080c, 0xca36, 0x1110, - 0x080c, 0x321e, 0x080c, 0xca47, 0x1110, 0x080c, 0xb5a6, 0x080c, - 0xac1a, 0x9ce0, 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1208, - 0x0858, 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, - 0x00ce, 0x00de, 0x00ee, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0dc, - 0x0005, 0x0006, 0x2001, 0x1837, 0x2004, 0xd09c, 0x000e, 0x0005, - 0x0006, 0x0036, 0x0046, 0x080c, 0xcf51, 0x0168, 0x2019, 0xffff, - 0x9005, 0x0128, 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, - 0x0004, 0x080c, 0x4cc0, 0x004e, 0x003e, 0x000e, 0x6004, 0x9086, - 0x0001, 0x1128, 0x080c, 0xa372, 0x080c, 0xac1a, 0x9006, 0x0005, - 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x2061, 0x1ddc, 0x2071, 0x1800, - 0x7454, 0x7074, 0x8001, 0x9402, 0x12b8, 0x2100, 0x9c06, 0x0148, - 0x6000, 0x9086, 0x0000, 0x0128, 0x6010, 0x2058, 0xb8a0, 0x9206, - 0x0140, 0x9ce0, 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1220, - 0x0c60, 0x9085, 0x0001, 0x0008, 0x9006, 0x004e, 0x00be, 0x00ce, - 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, - 0x2071, 0x1840, 0xd5a4, 0x0118, 0x7004, 0x8000, 0x7006, 0xd5b4, - 0x0118, 0x7000, 0x8000, 0x7002, 0xd5ac, 0x0178, 0x2500, 0x9084, - 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, 0x0130, 0x908e, - 0x0005, 0x0118, 0x2071, 0xfffe, 0x0089, 0x001e, 0x00ee, 0x000e, - 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, - 0xfff6, 0x0021, 0x00ee, 0x000e, 0x012e, 0x0005, 0x2e05, 0x8000, - 0x2077, 0x1220, 0x8e70, 0x2e05, 0x8000, 0x2077, 0x0005, 0x00e6, - 0x2071, 0xfff4, 0x0c99, 0x00ee, 0x0005, 0x00e6, 0x2071, 0xfff8, - 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, - 0x2071, 0x1840, 0x7014, 0x8000, 0x7016, 0x00ee, 0x000e, 0x012e, - 0x0005, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, - 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, - 0x8000, 0x9d27 + 0xd0dc, 0x090c, 0x0d7d, 0x0005, 0xdcc8, 0xdcd4, 0xdce0, 0xdcec, + 0xdcc8, 0xdcc8, 0xdcc8, 0xdcc8, 0xdccf, 0xdcca, 0xdcca, 0xdcc8, + 0xdcc8, 0xdcc8, 0xdcc8, 0xdcca, 0xdcc8, 0xdcca, 0xdcc8, 0xdccf, + 0x080c, 0x0d7d, 0x6024, 0xd0dc, 0x090c, 0x0d7d, 0x0005, 0x6014, + 0x9005, 0x190c, 0x0d7d, 0x0005, 0x6003, 0x0001, 0x6106, 0x0126, + 0x2091, 0x8000, 0x2009, 0xa022, 0x080c, 0x921b, 0x012e, 0x0005, + 0x6003, 0x0004, 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, 0xa001, + 0x080c, 0x9239, 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, 0x080c, + 0x1c28, 0x0126, 0x2091, 0x8000, 0x6014, 0x0096, 0x2048, 0xa87c, + 0xd0fc, 0x0188, 0x9084, 0x0003, 0x9086, 0x0002, 0x01a0, 0x6024, + 0xd0cc, 0x1148, 0xd0c4, 0x1138, 0xa8a8, 0x9005, 0x1120, 0x6144, + 0x918d, 0xb035, 0x0018, 0x6144, 0x918d, 0xa035, 0x009e, 0x080c, + 0x9280, 0x012e, 0x0005, 0x6144, 0x918d, 0xa032, 0x0cb8, 0x0126, + 0x2091, 0x8000, 0x0036, 0x0096, 0x9182, 0x0040, 0x0023, 0x009e, + 0x003e, 0x012e, 0x0005, 0xdd37, 0xdd39, 0xdd4e, 0xdd68, 0xdd37, + 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, + 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0xdd37, 0x080c, + 0x0d7d, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0510, 0x909c, 0x0003, + 0x939e, 0x0003, 0x01e8, 0x6003, 0x0001, 0x6106, 0x0126, 0x2091, + 0x8000, 0x2009, 0xa022, 0x080c, 0x9239, 0x0470, 0x6014, 0x2048, + 0xa87c, 0xd0fc, 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, + 0x6003, 0x0001, 0x6106, 0x2009, 0xa001, 0x080c, 0x9239, 0x00e0, + 0x901e, 0x6316, 0x631a, 0x2019, 0x0004, 0x080c, 0xe2b9, 0x00a0, + 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0d98, 0x909c, 0x0003, 0x939e, + 0x0003, 0x0d70, 0x6003, 0x0003, 0x6106, 0x080c, 0x1c28, 0x6144, + 0x918d, 0xa035, 0x080c, 0x9280, 0x0005, 0x080c, 0x95ff, 0x6114, + 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, 0xe66e, 0x0036, 0x2019, + 0x0029, 0x080c, 0xe2b9, 0x003e, 0x009e, 0x080c, 0xac2b, 0x080c, + 0x96bd, 0x0005, 0x080c, 0x965a, 0x6114, 0x81ff, 0x0158, 0x0096, + 0x2148, 0x080c, 0xe66e, 0x0036, 0x2019, 0x0029, 0x080c, 0xe2b9, + 0x003e, 0x009e, 0x080c, 0xac2b, 0x0005, 0x9182, 0x0085, 0x0002, + 0xddb7, 0xddb5, 0xddb5, 0xddc3, 0xddb5, 0xddb5, 0xddb5, 0xddb5, + 0xddb5, 0xddb5, 0xddb5, 0xddb5, 0xddb5, 0x080c, 0x0d7d, 0x6003, + 0x000b, 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, 0x8020, 0x080c, + 0x9239, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, 0xe510, 0x0118, + 0x080c, 0xabf0, 0x0440, 0x2071, 0x0260, 0x7224, 0x6216, 0x2001, + 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, 0x00b6, 0x2058, 0xbca0, + 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0xaf1b, 0x7220, 0x080c, + 0xe14f, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, 0x0087, 0x7224, + 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, 0x0001, 0x2009, + 0x8020, 0x080c, 0x9239, 0x00ee, 0x002e, 0x0005, 0x9186, 0x0013, + 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d7d, 0x908a, 0x0092, + 0x1a0c, 0x0d7d, 0x9082, 0x0085, 0x00a2, 0x9186, 0x0027, 0x0130, + 0x9186, 0x0014, 0x0118, 0x080c, 0xacaa, 0x0050, 0x2001, 0x0007, + 0x080c, 0x65c0, 0x080c, 0x95ff, 0x080c, 0xac2b, 0x080c, 0x96bd, + 0x0005, 0xde26, 0xde28, 0xde28, 0xde26, 0xde26, 0xde26, 0xde26, + 0xde26, 0xde26, 0xde26, 0xde26, 0xde26, 0xde26, 0x080c, 0x0d7d, + 0x080c, 0xac2b, 0x080c, 0x96bd, 0x0005, 0x9182, 0x0085, 0x0a0c, + 0x0d7d, 0x9182, 0x0092, 0x1a0c, 0x0d7d, 0x9182, 0x0085, 0x0002, + 0xde45, 0xde45, 0xde45, 0xde47, 0xde45, 0xde45, 0xde45, 0xde45, + 0xde45, 0xde45, 0xde45, 0xde45, 0xde45, 0x080c, 0x0d7d, 0x0005, + 0x9186, 0x0013, 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, + 0x0118, 0x080c, 0xacaa, 0x0020, 0x080c, 0x95ff, 0x080c, 0xac2b, + 0x0005, 0x0036, 0x080c, 0xe571, 0x604b, 0x0000, 0x2019, 0x000b, + 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, + 0x0036, 0x2091, 0x8000, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x0006, 0x9086, 0x0003, 0x0110, 0x080c, 0xa899, 0x0086, 0x2c40, + 0x0096, 0x904e, 0x080c, 0xa207, 0x009e, 0x008e, 0x1558, 0x0076, + 0x2c38, 0x080c, 0xa2b2, 0x007e, 0x1528, 0x6000, 0x9086, 0x0000, + 0x0508, 0x6020, 0x9086, 0x0007, 0x01e8, 0x0096, 0x601c, 0xd084, + 0x0140, 0x080c, 0xe571, 0x080c, 0xcf9c, 0x080c, 0x1a94, 0x6023, + 0x0007, 0x6014, 0x2048, 0x080c, 0xc865, 0x0110, 0x080c, 0xe2b9, + 0x009e, 0x9006, 0x6046, 0x6016, 0x080c, 0xe571, 0x6023, 0x0007, + 0x080c, 0xcf9c, 0x000e, 0x9086, 0x0003, 0x0110, 0x080c, 0xa8b5, + 0x003e, 0x012e, 0x0005, 0x00f6, 0x00c6, 0x00b6, 0x0036, 0x0156, + 0x2079, 0x0260, 0x7938, 0x783c, 0x080c, 0x2630, 0x15e8, 0x0016, + 0x00c6, 0x080c, 0x6644, 0x15b0, 0x001e, 0x00c6, 0x2160, 0x080c, + 0xcf99, 0x00ce, 0x002e, 0x0026, 0x0016, 0x080c, 0xa899, 0x2019, + 0x0029, 0x080c, 0xa37f, 0x080c, 0x93c6, 0x0076, 0x903e, 0x080c, + 0x928f, 0x007e, 0x001e, 0x0076, 0x903e, 0x080c, 0xe038, 0x007e, + 0x080c, 0xa8b5, 0x0026, 0xba04, 0x9294, 0xff00, 0x8217, 0x9286, + 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, 0xbaa0, 0x080c, 0x32da, + 0x002e, 0xbc84, 0x001e, 0x080c, 0x605e, 0xbe12, 0xbd16, 0xbc86, + 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, 0x00be, 0x00ce, + 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, 0x0016, 0x2009, 0x1824, + 0x2104, 0x9086, 0x0074, 0x1904, 0xdf5b, 0x2069, 0x0260, 0x6944, + 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, 0x8000, 0x0904, 0xdf58, + 0x2001, 0x197b, 0x2004, 0x9005, 0x1140, 0x6010, 0x2058, 0xb884, + 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, 0x6948, 0x918a, 0x0001, + 0x0648, 0x080c, 0xe6d6, 0x0118, 0x6978, 0xd1fc, 0x11b8, 0x2009, + 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, 0x6944, 0x9182, + 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, 0x918a, 0x0001, + 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, 0x6017, 0x0100, + 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, 0x0070, 0x6017, + 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, 0x0b00, 0x0028, + 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, 0x0001, 0x0008, + 0x9006, 0x001e, 0x00be, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00b6, + 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, 0xbb04, 0x9394, 0x00ff, + 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, 0x0168, 0x9394, 0xff00, + 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, 0x0004, 0x0120, 0x080c, + 0x6653, 0x0804, 0xdfc7, 0x2011, 0x0276, 0x20a9, 0x0004, 0x0096, + 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbd5, 0x009e, 0x15c8, 0x2011, + 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, + 0xbbd5, 0x009e, 0x1568, 0x0046, 0x0016, 0xbaa0, 0x2220, 0x9006, + 0x2009, 0x1848, 0x210c, 0xd1a4, 0x0138, 0x2009, 0x0029, 0x080c, + 0xe316, 0xb800, 0xc0e5, 0xb802, 0x080c, 0xa899, 0x2019, 0x0029, + 0x080c, 0x93c6, 0x0076, 0x2039, 0x0000, 0x080c, 0x928f, 0x2c08, + 0x080c, 0xe038, 0x007e, 0x080c, 0xa8b5, 0x2001, 0x0007, 0x080c, + 0x65c0, 0x2001, 0x0007, 0x080c, 0x6594, 0x001e, 0x004e, 0x9006, + 0x015e, 0x003e, 0x002e, 0x00be, 0x00ce, 0x0005, 0x00d6, 0x2069, + 0x026e, 0x6800, 0x9086, 0x0800, 0x0118, 0x6017, 0x0000, 0x0008, + 0x9006, 0x00de, 0x0005, 0x00b6, 0x00f6, 0x0016, 0x0026, 0x0036, + 0x0156, 0x2079, 0x026c, 0x7930, 0x7834, 0x080c, 0x2630, 0x11d0, + 0x080c, 0x6644, 0x11b8, 0x2011, 0x0270, 0x20a9, 0x0004, 0x0096, + 0x2b48, 0x2019, 0x000a, 0x080c, 0xbbd5, 0x009e, 0x1158, 0x2011, + 0x0274, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, + 0xbbd5, 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, 0x00be, + 0x0005, 0x00b6, 0x0006, 0x0016, 0x0026, 0x0036, 0x0156, 0x2011, + 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2630, 0x11d0, 0x080c, + 0x6644, 0x11b8, 0x2011, 0x0276, 0x20a9, 0x0004, 0x0096, 0x2b48, + 0x2019, 0x000a, 0x080c, 0xbbd5, 0x009e, 0x1158, 0x2011, 0x027a, + 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, 0xbbd5, + 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, 0x000e, 0x00be, 0x0005, + 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, + 0x0126, 0x2091, 0x8000, 0x080c, 0xa8f7, 0x0106, 0x190c, 0xa899, + 0x2740, 0x2029, 0x19f2, 0x252c, 0x2021, 0x19f9, 0x2424, 0x2061, + 0x1ddc, 0x2071, 0x1800, 0x7654, 0x7074, 0x81ff, 0x0150, 0x0006, + 0x9186, 0x1b31, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, 0xe0dd, + 0x0018, 0x9606, 0x0904, 0xe0dd, 0x080c, 0x8ba9, 0x0904, 0xe0d4, + 0x2100, 0x9c06, 0x0904, 0xe0d4, 0x080c, 0xe357, 0x1904, 0xe0d4, + 0x080c, 0xe6f3, 0x0904, 0xe0d4, 0x080c, 0xe347, 0x0904, 0xe0d4, + 0x6720, 0x9786, 0x0001, 0x1148, 0x080c, 0x3377, 0x0904, 0xe11f, + 0x6004, 0x9086, 0x0000, 0x1904, 0xe11f, 0x9786, 0x0004, 0x0904, + 0xe11f, 0x9786, 0x0007, 0x0904, 0xe0d4, 0x2500, 0x9c06, 0x0904, + 0xe0d4, 0x2400, 0x9c06, 0x0904, 0xe0d4, 0x88ff, 0x0118, 0x605c, + 0x9906, 0x15d0, 0x0096, 0x6043, 0xffff, 0x6000, 0x9086, 0x0004, + 0x1120, 0x0016, 0x080c, 0x1a94, 0x001e, 0x9786, 0x000a, 0x0148, + 0x080c, 0xca7a, 0x1130, 0x080c, 0xb5c6, 0x009e, 0x080c, 0xac2b, + 0x0418, 0x6014, 0x2048, 0x080c, 0xc865, 0x01d8, 0x9786, 0x0003, + 0x1588, 0xa867, 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, + 0x2048, 0x080c, 0x0ff9, 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, + 0xe66e, 0x0016, 0x080c, 0xcb68, 0x080c, 0x6d93, 0x001e, 0x080c, + 0xca54, 0x009e, 0x080c, 0xac2b, 0x9ce0, 0x001c, 0x2001, 0x181a, + 0x2004, 0x9c02, 0x1210, 0x0804, 0xe051, 0x010e, 0x190c, 0xa8b5, + 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, 0x00ce, + 0x00ee, 0x0005, 0x9786, 0x0006, 0x1150, 0x9386, 0x0005, 0x0128, + 0x080c, 0xe66e, 0x080c, 0xe2b9, 0x08e0, 0x009e, 0x08e8, 0x9786, + 0x0009, 0x11f8, 0x6000, 0x9086, 0x0004, 0x01c0, 0x6000, 0x9086, + 0x0003, 0x11a0, 0x080c, 0x965a, 0x0096, 0x6114, 0x2148, 0x080c, + 0xc865, 0x0118, 0x6010, 0x080c, 0x6d9f, 0x009e, 0x00c6, 0x080c, + 0xabf0, 0x00ce, 0x0036, 0x080c, 0x96bd, 0x003e, 0x009e, 0x0804, + 0xe0d4, 0x9786, 0x000a, 0x0904, 0xe0bb, 0x0804, 0xe0b9, 0x81ff, + 0x0904, 0xe0d4, 0x9180, 0x0001, 0x2004, 0x9086, 0x0018, 0x0138, + 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, 0x1904, 0xe0d4, 0x6000, + 0x9086, 0x0002, 0x1904, 0xe0d4, 0x080c, 0xca69, 0x0138, 0x080c, + 0xca7a, 0x1904, 0xe0d4, 0x080c, 0xb5c6, 0x0038, 0x080c, 0x323e, + 0x080c, 0xca7a, 0x1110, 0x080c, 0xb5c6, 0x080c, 0xac2b, 0x0804, + 0xe0d4, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x0005, 0x00c6, + 0x00e6, 0x0016, 0x2c08, 0x2170, 0x9006, 0x080c, 0xe2e0, 0x001e, + 0x0120, 0x6020, 0x9084, 0x000f, 0x001b, 0x00ee, 0x00ce, 0x0005, + 0xe16e, 0xe16e, 0xe16e, 0xe16e, 0xe16e, 0xe16e, 0xe170, 0xe16e, + 0xe16e, 0xe16e, 0xe16e, 0xac2b, 0xac2b, 0xe16e, 0x9006, 0x0005, + 0x0036, 0x0046, 0x0016, 0x7010, 0x00b6, 0x2058, 0xbca0, 0x00be, + 0x2c00, 0x2009, 0x0020, 0x080c, 0xe316, 0x001e, 0x004e, 0x2019, + 0x0002, 0x080c, 0xde67, 0x003e, 0x9085, 0x0001, 0x0005, 0x0096, + 0x080c, 0xc865, 0x0140, 0x6014, 0x904d, 0x080c, 0xc453, 0x687b, + 0x0005, 0x080c, 0x6d9f, 0x009e, 0x080c, 0xac2b, 0x9085, 0x0001, + 0x0005, 0x2001, 0x0001, 0x080c, 0x6580, 0x0156, 0x0016, 0x0026, + 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, + 0xbbc1, 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0005, 0x00f6, + 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x00b6, 0x0126, 0x2091, + 0x8000, 0x2740, 0x2061, 0x1ddc, 0x2079, 0x0001, 0x8fff, 0x0904, + 0xe209, 0x2071, 0x1800, 0x7654, 0x7074, 0x8001, 0x9602, 0x1a04, + 0xe209, 0x88ff, 0x0120, 0x2800, 0x9c06, 0x1590, 0x2078, 0x080c, + 0xe347, 0x0570, 0x2400, 0x9c06, 0x0558, 0x6720, 0x9786, 0x0006, + 0x1538, 0x9786, 0x0007, 0x0520, 0x88ff, 0x1140, 0x6010, 0x9b06, + 0x11f8, 0x85ff, 0x0118, 0x605c, 0x9106, 0x11d0, 0x0096, 0x601c, + 0xd084, 0x0140, 0x080c, 0xe571, 0x080c, 0xcf9c, 0x080c, 0x1a94, + 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, 0xc865, 0x0120, 0x0046, + 0x080c, 0xe2b9, 0x004e, 0x009e, 0x080c, 0xac2b, 0x88ff, 0x1198, + 0x9ce0, 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, 0x1210, 0x0804, + 0xe1be, 0x9006, 0x012e, 0x00be, 0x006e, 0x007e, 0x008e, 0x00ce, + 0x00ee, 0x00fe, 0x0005, 0x98c5, 0x0001, 0x0ca0, 0x080c, 0xa899, + 0x00b6, 0x0076, 0x0056, 0x0086, 0x9046, 0x2029, 0x0001, 0x2c20, + 0x2019, 0x0002, 0x6210, 0x2258, 0x0096, 0x904e, 0x080c, 0xa207, + 0x009e, 0x008e, 0x903e, 0x080c, 0xa2b2, 0x080c, 0xe1af, 0x005e, + 0x007e, 0x00be, 0x080c, 0xa8b5, 0x0005, 0x080c, 0xa899, 0x00b6, + 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x2128, 0x20a9, + 0x007f, 0x900e, 0x0016, 0x0036, 0x080c, 0x6644, 0x1190, 0x0056, + 0x0086, 0x9046, 0x2508, 0x2029, 0x0001, 0x0096, 0x904e, 0x080c, + 0xa207, 0x009e, 0x008e, 0x903e, 0x080c, 0xa2b2, 0x080c, 0xe1af, + 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, 0xe242, 0x015e, 0x00ce, + 0x007e, 0x005e, 0x004e, 0x00be, 0x080c, 0xa8b5, 0x0005, 0x080c, + 0xa899, 0x00b6, 0x0076, 0x0056, 0x6210, 0x2258, 0x0086, 0x9046, + 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, 0x904e, 0x080c, 0xa207, + 0x009e, 0x008e, 0x903e, 0x080c, 0xa2b2, 0x2c20, 0x080c, 0xe1af, + 0x005e, 0x007e, 0x00be, 0x080c, 0xa8b5, 0x0005, 0x080c, 0xa899, + 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, + 0x0800, 0x900e, 0x0016, 0x0036, 0x080c, 0x6644, 0x11a0, 0x0086, + 0x9046, 0x2828, 0x0046, 0x2021, 0x0001, 0x080c, 0xe555, 0x004e, + 0x0096, 0x904e, 0x080c, 0xa207, 0x009e, 0x008e, 0x903e, 0x080c, + 0xa2b2, 0x080c, 0xe1af, 0x003e, 0x001e, 0x8108, 0x1f04, 0xe292, + 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, 0x00be, 0x080c, 0xa8b5, + 0x0005, 0x0016, 0x00f6, 0x080c, 0xc863, 0x0198, 0xa864, 0x9084, + 0x00ff, 0x9086, 0x0046, 0x0180, 0xa800, 0x907d, 0x0138, 0xa803, + 0x0000, 0xab82, 0x080c, 0x6d9f, 0x2f48, 0x0cb0, 0xab82, 0x080c, + 0x6d9f, 0x00fe, 0x001e, 0x0005, 0xa800, 0x907d, 0x0130, 0xa803, + 0x0000, 0x080c, 0x6d9f, 0x2f48, 0x0cb8, 0x080c, 0x6d9f, 0x0c88, + 0x00e6, 0x0046, 0x0036, 0x2061, 0x1ddc, 0x9005, 0x1138, 0x2071, + 0x1800, 0x7454, 0x7074, 0x8001, 0x9402, 0x12f8, 0x2100, 0x9c06, + 0x0188, 0x6000, 0x9086, 0x0000, 0x0168, 0x6008, 0x9206, 0x1150, + 0x6320, 0x9386, 0x0009, 0x01b0, 0x6010, 0x91a0, 0x0004, 0x2424, + 0x9406, 0x0140, 0x9ce0, 0x001c, 0x2001, 0x181a, 0x2004, 0x9c02, + 0x1220, 0x0c20, 0x9085, 0x0001, 0x0008, 0x9006, 0x003e, 0x004e, + 0x00ee, 0x0005, 0x631c, 0xd3c4, 0x1d68, 0x0c30, 0x0096, 0x0006, + 0x080c, 0x1047, 0x000e, 0x090c, 0x0d7d, 0xaae2, 0xa867, 0x010d, + 0xa88e, 0x0026, 0x2010, 0x080c, 0xc853, 0x2001, 0x0000, 0x0120, + 0x2200, 0x9080, 0x0017, 0x2004, 0x002e, 0xa87a, 0x9186, 0x0020, + 0x0110, 0xa8e3, 0xffff, 0xa986, 0xac76, 0xa87f, 0x0000, 0x2001, + 0x198d, 0x2004, 0xa882, 0x9006, 0xa802, 0xa86a, 0xa88a, 0x0126, + 0x2091, 0x8000, 0x080c, 0x6d9f, 0x012e, 0x009e, 0x0005, 0x6700, + 0x9786, 0x0000, 0x0158, 0x9786, 0x0001, 0x0140, 0x9786, 0x000a, + 0x0128, 0x9786, 0x0009, 0x0110, 0x9085, 0x0001, 0x0005, 0x00e6, + 0x6010, 0x9075, 0x0138, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, + 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cd8, 0x0016, 0x6004, 0x908e, + 0x001e, 0x11a0, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, + 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0005, 0x2001, 0x1986, + 0x2004, 0x601a, 0x2009, 0x8020, 0x080c, 0x9239, 0x001e, 0x0005, + 0xa001, 0xa001, 0x0005, 0x6024, 0xd0e4, 0x0158, 0xd0cc, 0x0118, + 0x080c, 0xcbaf, 0x0030, 0x080c, 0xe571, 0x080c, 0x88d7, 0x080c, + 0xabf0, 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, + 0xe3a6, 0xe3a6, 0xe3a6, 0xe3a8, 0xe3a6, 0xe3a8, 0xe3a8, 0xe3a6, + 0xe3a8, 0xe3a6, 0xe3a6, 0xe3a6, 0xe3a6, 0xe3a6, 0x9006, 0x0005, + 0x9085, 0x0001, 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, + 0x0002, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3cc, + 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0xe3bf, 0x6007, + 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x2009, + 0x8020, 0x080c, 0x9239, 0x0005, 0x0096, 0x00c6, 0x2260, 0x080c, + 0xe571, 0x604b, 0x0000, 0x6024, 0xc0f4, 0xc0e4, 0x6026, 0x603b, + 0x0000, 0x00ce, 0x00d6, 0x2268, 0x9186, 0x0007, 0x1904, 0xe425, + 0x6814, 0x9005, 0x0138, 0x2048, 0xa87c, 0xd0fc, 0x1118, 0x00de, + 0x009e, 0x08a8, 0x6007, 0x003a, 0x6003, 0x0001, 0x2009, 0x8020, + 0x080c, 0x9239, 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x1904, + 0xe49c, 0x6014, 0x9005, 0x1138, 0x6000, 0x9086, 0x0007, 0x190c, + 0x0d7d, 0x0804, 0xe49c, 0x2048, 0x080c, 0xc865, 0x1130, 0x0028, + 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, 0x2048, 0xa87c, 0x9084, + 0x0003, 0x9086, 0x0002, 0x1168, 0xa87c, 0xc0dc, 0xc0f4, 0xa87e, + 0xa880, 0xc0fc, 0xa882, 0x2009, 0x0043, 0x080c, 0xdca4, 0x0804, + 0xe49c, 0x2009, 0x0041, 0x0804, 0xe496, 0x9186, 0x0005, 0x15a0, + 0x6814, 0x2048, 0xa87c, 0xd0bc, 0x1120, 0x00de, 0x009e, 0x0804, + 0xe3bf, 0xd0b4, 0x0128, 0xd0fc, 0x090c, 0x0d7d, 0x0804, 0xe3e0, + 0x6007, 0x003a, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x9239, + 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, 0x0004, + 0x1904, 0xe49c, 0x6814, 0x2048, 0xa97c, 0xc1f4, 0xc1dc, 0xa97e, + 0xa980, 0xc1fc, 0xc1bc, 0xa982, 0x00f6, 0x2c78, 0x080c, 0x174b, + 0x00fe, 0x2009, 0x0042, 0x04d0, 0x0036, 0x080c, 0x1047, 0x090c, + 0x0d7d, 0xa867, 0x010d, 0x9006, 0xa802, 0xa86a, 0xa88a, 0x2d18, + 0xab8e, 0xa887, 0x0045, 0x2c00, 0xa892, 0x6038, 0xa8a2, 0x2360, + 0x6024, 0xc0dd, 0x6026, 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, + 0x2004, 0x635c, 0xab7a, 0xa876, 0x9006, 0xa87e, 0xa882, 0xad9a, + 0xae96, 0xa89f, 0x0001, 0x080c, 0x6d9f, 0x2019, 0x0045, 0x6008, + 0x2068, 0x080c, 0xde67, 0x2d00, 0x600a, 0x6023, 0x0006, 0x6003, + 0x0007, 0x901e, 0x631a, 0x634a, 0x003e, 0x0038, 0x604b, 0x0000, + 0x6003, 0x0007, 0x080c, 0xdca4, 0x00ce, 0x00de, 0x009e, 0x0005, + 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, 0x00c2, + 0x9186, 0x0027, 0x1178, 0x080c, 0x95ff, 0x0036, 0x0096, 0x6014, + 0x2048, 0x2019, 0x0004, 0x080c, 0xe2b9, 0x009e, 0x003e, 0x080c, + 0x96bd, 0x0005, 0x9186, 0x0014, 0x0d70, 0x080c, 0xacaa, 0x0005, + 0xe4cf, 0xe4cd, 0xe4cd, 0xe4cd, 0xe4cd, 0xe4cd, 0xe4cf, 0xe4cd, + 0xe4cd, 0xe4cd, 0xe4cd, 0xe4cd, 0xe4cd, 0x080c, 0x0d7d, 0x6003, + 0x000c, 0x080c, 0x96bd, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, + 0x0085, 0x0208, 0x001a, 0x080c, 0xacaa, 0x0005, 0xe4eb, 0xe4eb, + 0xe4eb, 0xe4eb, 0xe4ed, 0xe50d, 0xe4eb, 0xe4eb, 0xe4eb, 0xe4eb, + 0xe4eb, 0xe4eb, 0xe4eb, 0x080c, 0x0d7d, 0x00d6, 0x2c68, 0x080c, + 0xab9a, 0x01b0, 0x6003, 0x0001, 0x6007, 0x001e, 0x2009, 0x026e, + 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x600b, 0xffff, + 0x6910, 0x6112, 0x6023, 0x0004, 0x2009, 0x8020, 0x080c, 0x9239, + 0x2d60, 0x080c, 0xabf0, 0x00de, 0x0005, 0x080c, 0xabf0, 0x0005, + 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ec, 0x00ee, + 0x0005, 0x2009, 0x1867, 0x210c, 0xd1ec, 0x05b0, 0x6003, 0x0002, + 0x6024, 0xc0e5, 0x6026, 0xd0cc, 0x0150, 0x2001, 0x1987, 0x2004, + 0x604a, 0x2009, 0x1867, 0x210c, 0xd1f4, 0x1520, 0x00a0, 0x2009, + 0x1867, 0x210c, 0xd1f4, 0x0128, 0x6024, 0xc0e4, 0x6026, 0x9006, + 0x00d8, 0x2001, 0x1987, 0x200c, 0x2001, 0x1985, 0x2004, 0x9100, + 0x9080, 0x000a, 0x604a, 0x6010, 0x00b6, 0x2058, 0xb8bc, 0x00be, + 0x0008, 0x2104, 0x9005, 0x0118, 0x9088, 0x0003, 0x0cd0, 0x2c0a, + 0x600f, 0x0000, 0x9085, 0x0001, 0x0005, 0x0016, 0x00c6, 0x00e6, + 0x615c, 0xb8bc, 0x2060, 0x8cff, 0x0180, 0x84ff, 0x1118, 0x605c, + 0x9106, 0x1138, 0x600c, 0x2072, 0x080c, 0x88d7, 0x080c, 0xabf0, + 0x0010, 0x9cf0, 0x0003, 0x2e64, 0x0c70, 0x00ee, 0x00ce, 0x001e, + 0x0005, 0x00d6, 0x00b6, 0x6010, 0x2058, 0xb8bc, 0x2068, 0x9005, + 0x0130, 0x9c06, 0x0110, 0x680c, 0x0cd0, 0x600c, 0x680e, 0x00be, + 0x00de, 0x0005, 0x0026, 0x0036, 0x0156, 0x2011, 0x182c, 0x2204, + 0x9084, 0x00ff, 0x2019, 0x026e, 0x2334, 0x9636, 0x1508, 0x8318, + 0x2334, 0x2204, 0x9084, 0xff00, 0x9636, 0x11d0, 0x2011, 0x0270, + 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, + 0xbbd5, 0x009e, 0x1168, 0x2011, 0x0274, 0x20a9, 0x0004, 0x6010, + 0x0096, 0x2048, 0x2019, 0x0006, 0x080c, 0xbbd5, 0x009e, 0x1100, + 0x015e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, + 0x5fd7, 0x080c, 0x2fe0, 0x00ee, 0x0005, 0x0096, 0x0026, 0x080c, + 0x1047, 0x090c, 0x0d7d, 0xa85c, 0x9080, 0x001a, 0x20a0, 0x20a9, + 0x000c, 0xa860, 0x20e8, 0x9006, 0x4004, 0x9186, 0x0046, 0x1118, + 0xa867, 0x0136, 0x0038, 0xa867, 0x0138, 0x9186, 0x0041, 0x0110, + 0xa87b, 0x0001, 0x7038, 0x9084, 0xff00, 0x7240, 0x9294, 0xff00, + 0x8007, 0x9215, 0xaa9a, 0x9186, 0x0046, 0x1168, 0x7038, 0x9084, + 0x00ff, 0x723c, 0x9294, 0xff00, 0x9215, 0xaa9e, 0x723c, 0x9294, + 0x00ff, 0xaaa2, 0x0060, 0x7040, 0x9084, 0x00ff, 0x7244, 0x9294, + 0xff00, 0x9215, 0xaa9e, 0x7244, 0x9294, 0x00ff, 0xaaa2, 0x9186, + 0x0046, 0x1118, 0x9e90, 0x0012, 0x0010, 0x9e90, 0x001a, 0x2204, + 0x8007, 0xa8a6, 0x8210, 0x2204, 0x8007, 0xa8aa, 0x8210, 0x2204, + 0x8007, 0xa8ae, 0x8210, 0x2204, 0x8007, 0xa8b2, 0x8210, 0x9186, + 0x0046, 0x11b8, 0x9e90, 0x0016, 0x2204, 0x8007, 0xa8b6, 0x8210, + 0x2204, 0x8007, 0xa8ba, 0x8210, 0x2204, 0x8007, 0xa8be, 0x8210, + 0x2204, 0x8007, 0xa8c2, 0x8210, 0x2011, 0x0205, 0x2013, 0x0001, + 0x00b0, 0x9e90, 0x001e, 0x2204, 0x8007, 0xa8b6, 0x8210, 0x2204, + 0x8007, 0xa8ba, 0x2011, 0x0205, 0x2013, 0x0001, 0x2011, 0x0260, + 0x2204, 0x8007, 0xa8be, 0x8210, 0x2204, 0x8007, 0xa8c2, 0x9186, + 0x0046, 0x1118, 0x2011, 0x0262, 0x0010, 0x2011, 0x026a, 0x0146, + 0x01d6, 0x0036, 0x20a9, 0x0001, 0x2019, 0x0008, 0xa860, 0x20e8, + 0xa85c, 0x9080, 0x0031, 0x20a0, 0x2204, 0x8007, 0x4004, 0x8210, + 0x8319, 0x1dd0, 0x003e, 0x01ce, 0x013e, 0x2011, 0x0205, 0x2013, + 0x0000, 0x002e, 0x080c, 0x6d9f, 0x009e, 0x0005, 0x00e6, 0x6010, + 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0fc, 0x0108, 0x0011, 0x00ee, + 0x0005, 0xa880, 0xc0e5, 0xa882, 0x0005, 0x00e6, 0x00d6, 0x00c6, + 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, + 0x8000, 0x2029, 0x19f2, 0x252c, 0x2021, 0x19f9, 0x2424, 0x2061, + 0x1ddc, 0x2071, 0x1800, 0x7654, 0x7074, 0x9606, 0x0578, 0x6720, + 0x9786, 0x0001, 0x0118, 0x9786, 0x0008, 0x1500, 0x2500, 0x9c06, + 0x01e8, 0x2400, 0x9c06, 0x01d0, 0x080c, 0xe347, 0x01b8, 0x080c, + 0xe357, 0x11a0, 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, + 0x1a94, 0x001e, 0x080c, 0xca69, 0x1110, 0x080c, 0x323e, 0x080c, + 0xca7a, 0x1110, 0x080c, 0xb5c6, 0x080c, 0xac2b, 0x9ce0, 0x001c, + 0x2001, 0x181a, 0x2004, 0x9c02, 0x1208, 0x0858, 0x012e, 0x001e, + 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, + 0x0005, 0x2001, 0x1810, 0x2004, 0xd0dc, 0x0005, 0x0006, 0x2001, + 0x1837, 0x2004, 0xd09c, 0x000e, 0x0005, 0x0006, 0x0036, 0x0046, + 0x080c, 0xcf84, 0x0168, 0x2019, 0xffff, 0x9005, 0x0128, 0x6010, + 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, 0x0004, 0x080c, 0x4ce0, + 0x004e, 0x003e, 0x000e, 0x6004, 0x9086, 0x0001, 0x1128, 0x080c, + 0xa37f, 0x080c, 0xac2b, 0x9006, 0x0005, 0x00e6, 0x00c6, 0x00b6, + 0x0046, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7454, 0x7074, 0x8001, + 0x9402, 0x12b8, 0x2100, 0x9c06, 0x0148, 0x6000, 0x9086, 0x0000, + 0x0128, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x0140, 0x9ce0, 0x001c, + 0x2001, 0x181a, 0x2004, 0x9c02, 0x1220, 0x0c60, 0x9085, 0x0001, + 0x0008, 0x9006, 0x004e, 0x00be, 0x00ce, 0x00ee, 0x0005, 0x0126, + 0x0006, 0x00e6, 0x0016, 0x2091, 0x8000, 0x2071, 0x1840, 0xd5a4, + 0x0118, 0x7004, 0x8000, 0x7006, 0xd5b4, 0x0118, 0x7000, 0x8000, + 0x7002, 0xd5ac, 0x0178, 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, + 0x0148, 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, + 0xfff6, 0x0089, 0x001e, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, + 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, 0xffee, 0x0021, 0x00ee, + 0x000e, 0x012e, 0x0005, 0x2e05, 0x8000, 0x2077, 0x1220, 0x8e70, + 0x2e05, 0x8000, 0x2077, 0x0005, 0x00e6, 0x2071, 0xffec, 0x0c99, + 0x00ee, 0x0005, 0x00e6, 0x2071, 0xfff0, 0x0c69, 0x00ee, 0x0005, + 0x0126, 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, 0x1840, 0x7014, + 0x8000, 0x7016, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0001, 0x0002, + 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, + 0x0400, 0x0800, 0x1000, 0x2000, 0x4000, 0x8000, 0x97f5 }; #ifdef UNIQUE_FW_NAME -unsigned short fw2322ipx_length01 = 0xdf52; +unsigned short fw2322ipx_length01 = 0xdf8f; #else -unsigned short risc_code_length01 = 0xdf52; +unsigned short risc_code_length01 = 0xdf8f; #endif /* @@ -7689,7 +7696,7 @@ unsigned short xseqipx_code01[] = { 0x0002, 0x1f43, 0x001b, 0x1261, 0x0001, 0xff88, 0x0000, 0x0002, 0x0003, 0x0263, 0x0001, 0xff88, 0x0000, 0x0004, 0x0000, 0xff31, 0x0015, 0x0033, 0x0000, 0xb011, 0x000b, 0x8266, 0x0000, 0xb0ff, - 0x0011, 0x16a0, 0x0000, 0xff16, 0x000b, 0x24e2, 0x0002, 0xb100, + 0x0011, 0x16a0, 0x0000, 0xff16, 0x001b, 0x226d, 0x0002, 0xb100, 0x0013, 0x026e, 0x0010, 0xb1ff, 0x0001, 0x17a0, 0x0010, 0xff17, 0x0013, 0x022c, 0x0000, 0x16ff, 0x0001, 0x18a0, 0x0010, 0xff00, 0x000b, 0x2278, 0x0002, 0x1700, 0x0003, 0x12cb, 0x0013, 0x0279, @@ -8073,6 +8080,6 @@ unsigned short xseqipx_code01[] = { 0x000b, 0x885c, 0x0012, 0x1027, 0x0010, 0xffb2, 0x0011, 0x1388, 0x0010, 0x0011, 0x0000, 0xff31, 0x0015, 0x0033, 0x0010, 0xb20a, 0x001b, 0x8864, 0x0015, 0x00b8, 0x0000, 0x0007, 0x0003, 0x4867, - 0x0000, 0xb838, 0x0017, 0x4000, 0xa317, 0x2238 + 0x0000, 0xb838, 0x0017, 0x4000, 0xa307, 0x24ad }; unsigned short xseqipx_code_length01 = 0x10d6; diff --git a/drivers/scsi/qla2xxx/ql6312.c b/drivers/scsi/qla2xxx/ql6312.c index 6c0720da8..c6b08a6e2 100644 --- a/drivers/scsi/qla2xxx/ql6312.c +++ b/drivers/scsi/qla2xxx/ql6312.c @@ -87,3 +87,4 @@ module_exit(qla6312_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic ISP6312 FC-SCSI Host Bus Adapter driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/ql6312_fw.c b/drivers/scsi/qla2xxx/ql6312_fw.c index 407bfa9f5..717b1f3d5 100644 --- a/drivers/scsi/qla2xxx/ql6312_fw.c +++ b/drivers/scsi/qla2xxx/ql6312_fw.c @@ -18,25 +18,25 @@ *************************************************************************/ /* - * Firmware Version 3.02.30 (07:52 Jun 16, 2004) + * Firmware Version 3.03.02 (16:50 Aug 10, 2004) */ #ifdef UNIQUE_FW_NAME -unsigned short fw2300flx_version = 3*1024+2; +unsigned short fw2300flx_version = 3*1024+3; #else -unsigned short risc_code_version = 3*1024+2; +unsigned short risc_code_version = 3*1024+3; #endif #ifdef UNIQUE_FW_NAME -unsigned char fw2300flx_version_str[] = {3, 2,30}; +unsigned char fw2300flx_version_str[] = {3, 3, 2}; #else -unsigned char firmware_version[] = {3, 2,30}; +unsigned char firmware_version[] = {3, 3, 2}; #endif #ifdef UNIQUE_FW_NAME -#define fw2300flx_VERSION_STRING "3.02.30" +#define fw2300flx_VERSION_STRING "3.03.02" #else -#define FW_VERSION_STRING "3.02.30" +#define FW_VERSION_STRING "3.03.02" #endif #ifdef UNIQUE_FW_NAME @@ -50,12 +50,12 @@ unsigned short fw2300flx_code01[] = { #else unsigned short risc_code01[] = { #endif - 0x0470, 0x0000, 0x0000, 0xd5bb, 0x0000, 0x0003, 0x0002, 0x001e, + 0x0470, 0x0000, 0x0000, 0xd5d4, 0x0000, 0x0003, 0x0003, 0x0002, 0x0317, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, - 0x332e, 0x3032, 0x2e33, 0x3020, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x332e, 0x3033, 0x2e30, 0x3220, 0x2020, 0x2020, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, @@ -64,171 +64,171 @@ unsigned short risc_code01[] = { 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, 0x0000, 0x20c1, 0x0004, 0x20c9, 0x1bff, 0x2059, 0x0000, 0x2b78, - 0x7883, 0x0004, 0x2089, 0x2b50, 0x2051, 0x1800, 0x2a70, 0x20e1, + 0x7883, 0x0004, 0x2089, 0x2b5b, 0x2051, 0x1800, 0x2a70, 0x20e1, 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e2f, 0x2029, 0x2480, 0x2031, 0xffff, 0x2039, 0x2450, 0x2021, 0x0050, 0x20e9, 0x0001, 0x20a1, 0x0000, 0x20a9, 0x0800, 0x900e, 0x4104, 0x20e9, 0x0001, 0x20a1, 0x1000, 0x900e, 0x2001, 0x0cc0, 0x9084, 0x0fff, 0x20a8, 0x4104, 0x2001, 0x0000, 0x9086, 0x0000, 0x0120, 0x21a8, 0x4104, 0x8001, 0x1de0, 0x756a, 0x766e, 0x7766, 0x7472, 0x7476, - 0x00e6, 0x2071, 0x1a97, 0x2472, 0x00ee, 0x20a1, 0x1cd0, 0x716c, + 0x00e6, 0x2071, 0x1a9f, 0x2472, 0x00ee, 0x20a1, 0x1cd0, 0x716c, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x000f, 0x2001, 0x0001, 0x9112, 0x900e, 0x21a8, 0x4104, 0x8211, 0x1de0, 0x716c, 0x3400, 0x8001, 0x9102, 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x2009, 0x1800, 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, 0x20a9, 0x0800, 0x4104, 0x8211, 0x1dd8, 0x080c, 0x0f03, 0x080c, - 0x5ce8, 0x080c, 0x9dd8, 0x080c, 0x10ba, 0x080c, 0x129f, 0x080c, - 0x1a55, 0x080c, 0x0d46, 0x080c, 0x103f, 0x080c, 0x323a, 0x080c, - 0x7293, 0x080c, 0x6626, 0x080c, 0x7f5c, 0x080c, 0x230c, 0x080c, - 0x8289, 0x080c, 0x791c, 0x080c, 0x2149, 0x080c, 0x227d, 0x080c, - 0x2301, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x091d, 0x7880, + 0x5cf3, 0x080c, 0x9dc5, 0x080c, 0x10ba, 0x080c, 0x129f, 0x080c, + 0x1a60, 0x080c, 0x0d46, 0x080c, 0x103f, 0x080c, 0x3245, 0x080c, + 0x72a0, 0x080c, 0x6635, 0x080c, 0x7f7a, 0x080c, 0x2317, 0x080c, + 0x82a7, 0x080c, 0x792a, 0x080c, 0x2154, 0x080c, 0x2288, 0x080c, + 0x230c, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x091d, 0x7880, 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, 0x0010, 0x0e04, 0x0911, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2071, 0x1800, 0x7003, 0x0000, 0x2071, 0x1800, 0x7000, 0x908e, 0x0003, 0x1168, 0x080c, - 0x49ae, 0x080c, 0x3261, 0x080c, 0x7304, 0x080c, 0x6ad6, 0x080c, - 0x7f85, 0x080c, 0x2aba, 0x0c68, 0x000b, 0x0c88, 0x0940, 0x0941, + 0x49b9, 0x080c, 0x326c, 0x080c, 0x7311, 0x080c, 0x6ae5, 0x080c, + 0x7fa3, 0x080c, 0x2ac5, 0x0c68, 0x000b, 0x0c88, 0x0940, 0x0941, 0x0ad8, 0x093e, 0x0b8f, 0x0d45, 0x0d45, 0x0d45, 0x080c, 0x0db4, 0x0005, 0x0126, 0x00f6, 0x2091, 0x8000, 0x7000, 0x9086, 0x0001, - 0x1904, 0x0aab, 0x080c, 0x0e71, 0x080c, 0x6f9b, 0x0150, 0x080c, - 0x6fbe, 0x15a0, 0x2079, 0x0100, 0x7828, 0x9085, 0x1800, 0x782a, - 0x0468, 0x080c, 0x6ecd, 0x7000, 0x9086, 0x0001, 0x1904, 0x0aab, - 0x7094, 0x9086, 0x0028, 0x1904, 0x0aab, 0x080c, 0x7f54, 0x080c, - 0x7f46, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, - 0xffff, 0x7a28, 0x9295, 0x5e2f, 0x7a2a, 0x2011, 0x6e1c, 0x080c, - 0x8021, 0x2011, 0x6e0f, 0x080c, 0x80f5, 0x2011, 0x5b43, 0x080c, - 0x8021, 0x2011, 0x8030, 0x901e, 0x7392, 0x04d0, 0x080c, 0x53f0, - 0x2079, 0x0100, 0x7844, 0x9005, 0x1904, 0x0aab, 0x2011, 0x5b43, - 0x080c, 0x8021, 0x2011, 0x6e1c, 0x080c, 0x8021, 0x2011, 0x6e0f, - 0x080c, 0x80f5, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, - 0x7840, 0x9084, 0xfffb, 0x7842, 0x2001, 0x1976, 0x2004, 0x9005, - 0x1140, 0x00c6, 0x2061, 0x0100, 0x080c, 0x5c90, 0x00ce, 0x0804, - 0x0aab, 0x780f, 0x006b, 0x7a28, 0x080c, 0x6fa3, 0x0118, 0x9295, + 0x1904, 0x0aab, 0x080c, 0x0e71, 0x080c, 0x6faa, 0x0150, 0x080c, + 0x6fcd, 0x15a0, 0x2079, 0x0100, 0x7828, 0x9085, 0x1800, 0x782a, + 0x0468, 0x080c, 0x6edc, 0x7000, 0x9086, 0x0001, 0x1904, 0x0aab, + 0x7094, 0x9086, 0x0028, 0x1904, 0x0aab, 0x080c, 0x7f72, 0x080c, + 0x7f64, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, 0x0100, 0x7827, + 0xffff, 0x7a28, 0x9295, 0x5e2f, 0x7a2a, 0x2011, 0x6e2b, 0x080c, + 0x803f, 0x2011, 0x6e1e, 0x080c, 0x8113, 0x2011, 0x5b4e, 0x080c, + 0x803f, 0x2011, 0x8030, 0x901e, 0x7392, 0x04d0, 0x080c, 0x53fb, + 0x2079, 0x0100, 0x7844, 0x9005, 0x1904, 0x0aab, 0x2011, 0x5b4e, + 0x080c, 0x803f, 0x2011, 0x6e2b, 0x080c, 0x803f, 0x2011, 0x6e1e, + 0x080c, 0x8113, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, + 0x7840, 0x9084, 0xfffb, 0x7842, 0x2001, 0x197e, 0x2004, 0x9005, + 0x1140, 0x00c6, 0x2061, 0x0100, 0x080c, 0x5c9b, 0x00ce, 0x0804, + 0x0aab, 0x780f, 0x006b, 0x7a28, 0x080c, 0x6fb2, 0x0118, 0x9295, 0x5e2f, 0x0010, 0x9295, 0x402f, 0x7a2a, 0x2011, 0x8010, 0x73d4, - 0x2001, 0x1977, 0x2003, 0x0001, 0x080c, 0x2980, 0x080c, 0x48e9, + 0x2001, 0x197f, 0x2003, 0x0001, 0x080c, 0x298b, 0x080c, 0x48f4, 0x7244, 0xc284, 0x7246, 0x2001, 0x180c, 0x200c, 0xc1ac, 0xc1cc, - 0x2102, 0x080c, 0x9640, 0x2011, 0x0004, 0x080c, 0xbb3c, 0x080c, - 0x646a, 0x080c, 0x6f9b, 0x1120, 0x080c, 0x29c4, 0x02e0, 0x0400, - 0x080c, 0x5c97, 0x0140, 0x7093, 0x0001, 0x70cf, 0x0000, 0x080c, - 0x55bd, 0x0804, 0x0aab, 0x080c, 0x538f, 0xd094, 0x0188, 0x2011, - 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, 0x5393, 0xd0d4, 0x1118, - 0x080c, 0x29c4, 0x1270, 0x2011, 0x180c, 0x2204, 0xc0bc, 0x0088, - 0x080c, 0x5393, 0xd0d4, 0x1db8, 0x2011, 0x180c, 0x2204, 0xc0bd, - 0x0040, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x2012, 0x080c, 0x6563, - 0x0008, 0x2012, 0x080c, 0x6529, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, - 0x00a8, 0x707b, 0x0000, 0x080c, 0x6f9b, 0x1130, 0x70ac, 0x9005, - 0x1168, 0x080c, 0xbf7d, 0x0050, 0x080c, 0xbf7d, 0x70d8, 0xd09c, - 0x1128, 0x70ac, 0x9005, 0x0110, 0x080c, 0x5c6d, 0x70e3, 0x0000, - 0x70df, 0x0000, 0x70a3, 0x0000, 0x080c, 0x29cc, 0x0228, 0x2011, - 0x0101, 0x2204, 0xc0c4, 0x2012, 0x72d8, 0x080c, 0x6f9b, 0x1178, - 0x9016, 0x0016, 0x2009, 0x0002, 0x2019, 0x193d, 0x211a, 0x001e, + 0x2102, 0x080c, 0x9650, 0x2011, 0x0004, 0x080c, 0xbb4b, 0x080c, + 0x6479, 0x080c, 0x6faa, 0x1120, 0x080c, 0x29cf, 0x02e0, 0x0400, + 0x080c, 0x5ca2, 0x0140, 0x7093, 0x0001, 0x70cf, 0x0000, 0x080c, + 0x55c8, 0x0804, 0x0aab, 0x080c, 0x539a, 0xd094, 0x0188, 0x2011, + 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, 0x539e, 0xd0d4, 0x1118, + 0x080c, 0x29cf, 0x1270, 0x2011, 0x180c, 0x2204, 0xc0bc, 0x0088, + 0x080c, 0x539e, 0xd0d4, 0x1db8, 0x2011, 0x180c, 0x2204, 0xc0bd, + 0x0040, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x2012, 0x080c, 0x6572, + 0x0008, 0x2012, 0x080c, 0x6538, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, + 0x00a8, 0x707b, 0x0000, 0x080c, 0x6faa, 0x1130, 0x70ac, 0x9005, + 0x1168, 0x080c, 0xbf8c, 0x0050, 0x080c, 0xbf8c, 0x70d8, 0xd09c, + 0x1128, 0x70ac, 0x9005, 0x0110, 0x080c, 0x5c78, 0x70e3, 0x0000, + 0x70df, 0x0000, 0x70a3, 0x0000, 0x080c, 0x29d7, 0x0228, 0x2011, + 0x0101, 0x2204, 0xc0c4, 0x2012, 0x72d8, 0x080c, 0x6faa, 0x1178, + 0x9016, 0x0016, 0x2009, 0x0002, 0x2019, 0x1945, 0x211a, 0x001e, 0x705b, 0xffff, 0x705f, 0x00ef, 0x707f, 0x0000, 0x0020, 0x2019, - 0x193d, 0x201b, 0x0000, 0x2079, 0x1853, 0x7804, 0xd0ac, 0x0108, - 0xc295, 0x72da, 0x080c, 0x6f9b, 0x0118, 0x9296, 0x0004, 0x0548, - 0x2011, 0x0001, 0x080c, 0xbb3c, 0x70a7, 0x0000, 0x70ab, 0xffff, + 0x1945, 0x201b, 0x0000, 0x2079, 0x185b, 0x7804, 0xd0ac, 0x0108, + 0xc295, 0x72da, 0x080c, 0x6faa, 0x0118, 0x9296, 0x0004, 0x0548, + 0x2011, 0x0001, 0x080c, 0xbb4b, 0x70a7, 0x0000, 0x70ab, 0xffff, 0x7003, 0x0002, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, - 0x0003, 0x782a, 0x00fe, 0x080c, 0x2dbd, 0x2011, 0x0005, 0x080c, - 0x9772, 0x080c, 0x896d, 0x080c, 0x6f9b, 0x0148, 0x00c6, 0x2061, + 0x0003, 0x782a, 0x00fe, 0x080c, 0x2dc8, 0x2011, 0x0005, 0x080c, + 0x975b, 0x080c, 0x898b, 0x080c, 0x6faa, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x2009, 0x0002, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x0420, 0x70a7, 0x0000, 0x70ab, 0xffff, 0x7003, 0x0002, 0x00f6, 0x2079, 0x0100, 0x7827, 0x0003, 0x7828, 0x9085, 0x0003, 0x782a, - 0x00fe, 0x2011, 0x0005, 0x080c, 0x9772, 0x080c, 0x896d, 0x080c, - 0x6f9b, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x2009, 0x0002, + 0x00fe, 0x2011, 0x0005, 0x080c, 0x975b, 0x080c, 0x898b, 0x080c, + 0x6faa, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x2009, 0x0002, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, 0x00c6, 0x00b6, - 0x080c, 0x6f9b, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, - 0x080c, 0x6f9b, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, + 0x080c, 0x6faa, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, + 0x080c, 0x6faa, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, 0x0138, 0x9180, 0x1000, 0x2004, 0x905d, 0x0110, 0xb800, 0xd0bc, - 0x090c, 0x30d7, 0x8108, 0x1f04, 0x0abf, 0x707b, 0x0000, 0x707c, + 0x090c, 0x30e2, 0x8108, 0x1f04, 0x0abf, 0x707b, 0x0000, 0x707c, 0x9084, 0x00ff, 0x707e, 0x70af, 0x0000, 0x00be, 0x00ce, 0x0005, 0x00b6, 0x0126, 0x2091, 0x8000, 0x7000, 0x9086, 0x0002, 0x1904, - 0x0b8c, 0x70a8, 0x9086, 0xffff, 0x0130, 0x080c, 0x2dbd, 0x080c, - 0x896d, 0x0804, 0x0b8c, 0x70d8, 0xd0ac, 0x1110, 0xd09c, 0x0540, + 0x0b8c, 0x70a8, 0x9086, 0xffff, 0x0130, 0x080c, 0x2dc8, 0x080c, + 0x898b, 0x0804, 0x0b8c, 0x70d8, 0xd0ac, 0x1110, 0xd09c, 0x0540, 0xd084, 0x0530, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, - 0xd08c, 0x01f0, 0x70dc, 0x9086, 0xffff, 0x01b0, 0x080c, 0x2f48, - 0x080c, 0x896d, 0x70d8, 0xd094, 0x1904, 0x0b8c, 0x2011, 0x0001, - 0x080c, 0xc22c, 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, 0x2f82, - 0x080c, 0x896d, 0x0804, 0x0b8c, 0x70e0, 0x9005, 0x1904, 0x0b8c, + 0xd08c, 0x01f0, 0x70dc, 0x9086, 0xffff, 0x01b0, 0x080c, 0x2f53, + 0x080c, 0x898b, 0x70d8, 0xd094, 0x1904, 0x0b8c, 0x2011, 0x0001, + 0x080c, 0xc23b, 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, 0x2f8d, + 0x080c, 0x898b, 0x0804, 0x0b8c, 0x70e0, 0x9005, 0x1904, 0x0b8c, 0x70a4, 0x9005, 0x1904, 0x0b8c, 0x70d8, 0xd0a4, 0x0118, 0xd0b4, - 0x0904, 0x0b8c, 0x080c, 0x6529, 0x1904, 0x0b8c, 0x080c, 0x657c, - 0x1904, 0x0b8c, 0x080c, 0x6563, 0x01c0, 0x0156, 0x00c6, 0x20a9, - 0x007f, 0x900e, 0x0016, 0x080c, 0x6247, 0x1118, 0xb800, 0xd0ec, + 0x0904, 0x0b8c, 0x080c, 0x6538, 0x1904, 0x0b8c, 0x080c, 0x658b, + 0x1904, 0x0b8c, 0x080c, 0x6572, 0x01c0, 0x0156, 0x00c6, 0x20a9, + 0x007f, 0x900e, 0x0016, 0x080c, 0x6256, 0x1118, 0xb800, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0b32, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0b8c, 0x0006, 0x2001, 0x0103, - 0x2003, 0x006b, 0x000e, 0x2011, 0x1983, 0x080c, 0x0f73, 0x2011, - 0x199d, 0x080c, 0x0f73, 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, - 0x70ab, 0xffff, 0x080c, 0x0e53, 0x9006, 0x080c, 0x260e, 0x0036, - 0x0046, 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x4a86, 0x004e, - 0x003e, 0x00f6, 0x2079, 0x0100, 0x080c, 0x6fbe, 0x0150, 0x080c, - 0x6f9b, 0x7828, 0x0118, 0x9084, 0xe1ff, 0x0010, 0x9084, 0xffdf, - 0x782a, 0x00fe, 0x2001, 0x19b8, 0x2004, 0x9086, 0x0005, 0x1120, - 0x2011, 0x0000, 0x080c, 0x9772, 0x2011, 0x0000, 0x080c, 0x977c, - 0x080c, 0x896d, 0x080c, 0x8a4a, 0x012e, 0x00be, 0x0005, 0x0016, + 0x2003, 0x006b, 0x000e, 0x2011, 0x198b, 0x080c, 0x0f73, 0x2011, + 0x19a5, 0x080c, 0x0f73, 0x7030, 0xc08c, 0x7032, 0x7003, 0x0003, + 0x70ab, 0xffff, 0x080c, 0x0e53, 0x9006, 0x080c, 0x2619, 0x0036, + 0x0046, 0x2019, 0xffff, 0x2021, 0x0006, 0x080c, 0x4a91, 0x004e, + 0x003e, 0x00f6, 0x2079, 0x0100, 0x080c, 0x6fcd, 0x0150, 0x080c, + 0x6faa, 0x7828, 0x0118, 0x9084, 0xe1ff, 0x0010, 0x9084, 0xffdf, + 0x782a, 0x00fe, 0x2001, 0x19c0, 0x2004, 0x9086, 0x0005, 0x1120, + 0x2011, 0x0000, 0x080c, 0x975b, 0x2011, 0x0000, 0x080c, 0x9765, + 0x080c, 0x898b, 0x080c, 0x8a68, 0x012e, 0x00be, 0x0005, 0x0016, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, - 0x918c, 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x5c56, 0x7940, + 0x918c, 0xfffd, 0x7906, 0x2009, 0x00f7, 0x080c, 0x5c61, 0x7940, 0x918c, 0x0010, 0x7942, 0x7924, 0xd1b4, 0x0110, 0x7827, 0x0040, 0xd19c, 0x0110, 0x7827, 0x0008, 0x0006, 0x0036, 0x0156, 0x7954, - 0xd1ac, 0x1904, 0x0c1c, 0x2001, 0x1977, 0x2004, 0x9005, 0x1518, - 0x080c, 0x2a47, 0x1148, 0x2001, 0x0001, 0x080c, 0x29af, 0x2001, - 0x0001, 0x080c, 0x2992, 0x00b8, 0x080c, 0x2a4f, 0x1138, 0x9006, - 0x080c, 0x29af, 0x9006, 0x080c, 0x2992, 0x0068, 0x080c, 0x2a57, - 0x1d50, 0x2001, 0x1968, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, - 0x27a9, 0x0804, 0x0cfc, 0x080c, 0x6fac, 0x0148, 0x080c, 0x6fbe, - 0x1118, 0x080c, 0x728e, 0x0050, 0x080c, 0x6fa3, 0x0dd0, 0x080c, - 0x7289, 0x080c, 0x727f, 0x080c, 0x6ecd, 0x0058, 0x080c, 0x6f9b, - 0x0140, 0x2009, 0x00f8, 0x080c, 0x5c56, 0x7843, 0x0090, 0x7843, - 0x0010, 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x6f9b, + 0xd1ac, 0x1904, 0x0c1c, 0x2001, 0x197f, 0x2004, 0x9005, 0x1518, + 0x080c, 0x2a52, 0x1148, 0x2001, 0x0001, 0x080c, 0x29ba, 0x2001, + 0x0001, 0x080c, 0x299d, 0x00b8, 0x080c, 0x2a5a, 0x1138, 0x9006, + 0x080c, 0x29ba, 0x9006, 0x080c, 0x299d, 0x0068, 0x080c, 0x2a62, + 0x1d50, 0x2001, 0x1970, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, + 0x27b4, 0x0804, 0x0cfc, 0x080c, 0x6fbb, 0x0148, 0x080c, 0x6fcd, + 0x1118, 0x080c, 0x729b, 0x0050, 0x080c, 0x6fb2, 0x0dd0, 0x080c, + 0x7296, 0x080c, 0x728c, 0x080c, 0x6edc, 0x0058, 0x080c, 0x6faa, + 0x0140, 0x2009, 0x00f8, 0x080c, 0x5c61, 0x7843, 0x0090, 0x7843, + 0x0010, 0x20a9, 0x09c4, 0x7820, 0xd09c, 0x1138, 0x080c, 0x6faa, 0x0138, 0x7824, 0xd0ac, 0x1904, 0x0d01, 0x1f04, 0x0bfb, 0x0070, - 0x7824, 0x080c, 0x6fb5, 0x0118, 0xd0ac, 0x1904, 0x0d01, 0x9084, + 0x7824, 0x080c, 0x6fc4, 0x0118, 0xd0ac, 0x1904, 0x0d01, 0x9084, 0x1800, 0x0d98, 0x7003, 0x0001, 0x0804, 0x0d01, 0x2001, 0x0001, - 0x080c, 0x260e, 0x0804, 0x0d14, 0x2001, 0x1977, 0x2004, 0x9005, - 0x1518, 0x080c, 0x2a47, 0x1148, 0x2001, 0x0001, 0x080c, 0x29af, - 0x2001, 0x0001, 0x080c, 0x2992, 0x00b8, 0x080c, 0x2a4f, 0x1138, - 0x9006, 0x080c, 0x29af, 0x9006, 0x080c, 0x2992, 0x0068, 0x080c, - 0x2a57, 0x1d50, 0x2001, 0x1968, 0x2004, 0xd0fc, 0x0108, 0x0020, - 0x080c, 0x27a9, 0x0804, 0x0cfc, 0x7850, 0x9085, 0x0040, 0x7852, - 0x7938, 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2a5f, 0x9085, + 0x080c, 0x2619, 0x0804, 0x0d14, 0x2001, 0x197f, 0x2004, 0x9005, + 0x1518, 0x080c, 0x2a52, 0x1148, 0x2001, 0x0001, 0x080c, 0x29ba, + 0x2001, 0x0001, 0x080c, 0x299d, 0x00b8, 0x080c, 0x2a5a, 0x1138, + 0x9006, 0x080c, 0x29ba, 0x9006, 0x080c, 0x299d, 0x0068, 0x080c, + 0x2a62, 0x1d50, 0x2001, 0x1970, 0x2004, 0xd0fc, 0x0108, 0x0020, + 0x080c, 0x27b4, 0x0804, 0x0cfc, 0x7850, 0x9085, 0x0040, 0x7852, + 0x7938, 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2a6a, 0x9085, 0x2000, 0x7852, 0x793a, 0x20a9, 0x0046, 0x1d04, 0x0c55, 0x080c, - 0x80d5, 0x1f04, 0x0c55, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, - 0x7852, 0x793a, 0x080c, 0x6fac, 0x0148, 0x080c, 0x6fbe, 0x1118, - 0x080c, 0x728e, 0x0050, 0x080c, 0x6fa3, 0x0dd0, 0x080c, 0x7289, - 0x080c, 0x727f, 0x080c, 0x6ecd, 0x0020, 0x2009, 0x00f8, 0x080c, - 0x5c56, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x0c7b, 0x7850, 0x9085, - 0x1400, 0x7852, 0x080c, 0x6f9b, 0x0120, 0x7843, 0x0090, 0x7843, - 0x0010, 0x2021, 0xe678, 0x2019, 0xea60, 0x0d0c, 0x80d5, 0x7820, - 0xd09c, 0x1588, 0x080c, 0x6f9b, 0x0904, 0x0ce1, 0x7824, 0xd0ac, - 0x1904, 0x0d01, 0x080c, 0x6fbe, 0x1530, 0x0046, 0x2021, 0x0320, - 0x8421, 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x2a5f, 0x7824, + 0x80f3, 0x1f04, 0x0c55, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, + 0x7852, 0x793a, 0x080c, 0x6fbb, 0x0148, 0x080c, 0x6fcd, 0x1118, + 0x080c, 0x729b, 0x0050, 0x080c, 0x6fb2, 0x0dd0, 0x080c, 0x7296, + 0x080c, 0x728c, 0x080c, 0x6edc, 0x0020, 0x2009, 0x00f8, 0x080c, + 0x5c61, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x0c7b, 0x7850, 0x9085, + 0x1400, 0x7852, 0x080c, 0x6faa, 0x0120, 0x7843, 0x0090, 0x7843, + 0x0010, 0x2021, 0xe678, 0x2019, 0xea60, 0x0d0c, 0x80f3, 0x7820, + 0xd09c, 0x1588, 0x080c, 0x6faa, 0x0904, 0x0ce1, 0x7824, 0xd0ac, + 0x1904, 0x0d01, 0x080c, 0x6fcd, 0x1530, 0x0046, 0x2021, 0x0320, + 0x8421, 0x1df0, 0x004e, 0x7827, 0x1800, 0x080c, 0x2a6a, 0x7824, 0x9084, 0x1800, 0x1168, 0x9484, 0x0fff, 0x1140, 0x2001, 0x1810, 0x2004, 0x9084, 0x9000, 0x0110, 0x080c, 0x0d22, 0x8421, 0x1158, - 0x1d04, 0x0cbc, 0x080c, 0x80d5, 0x080c, 0x7289, 0x080c, 0x727f, + 0x1d04, 0x0cbc, 0x080c, 0x80f3, 0x080c, 0x7296, 0x080c, 0x728c, 0x7003, 0x0001, 0x04f0, 0x8319, 0x1940, 0x1d04, 0x0cc9, 0x080c, - 0x80d5, 0x2009, 0x196b, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, + 0x80f3, 0x2009, 0x1973, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, 0x1178, 0x200b, 0x000a, 0x7827, 0x0048, 0x20a9, 0x0002, 0x080c, - 0x2a40, 0x7924, 0x080c, 0x2a5f, 0xd19c, 0x0110, 0x080c, 0x2980, - 0x00d8, 0x080c, 0x6fac, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, - 0x6f73, 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x2a5f, - 0x7824, 0x080c, 0x6fb5, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, - 0x0950, 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x260e, + 0x2a4b, 0x7924, 0x080c, 0x2a6a, 0xd19c, 0x0110, 0x080c, 0x298b, + 0x00d8, 0x080c, 0x6fbb, 0x1140, 0x94a2, 0x03e8, 0x1128, 0x080c, + 0x6f82, 0x7003, 0x0001, 0x00a8, 0x7827, 0x1800, 0x080c, 0x2a6a, + 0x7824, 0x080c, 0x6fc4, 0x0110, 0xd0ac, 0x1158, 0x9084, 0x1800, + 0x0950, 0x7003, 0x0001, 0x0028, 0x2001, 0x0001, 0x080c, 0x2619, 0x0078, 0x2009, 0x180c, 0x210c, 0xd19c, 0x1120, 0x7904, 0x918d, 0x0002, 0x7906, 0x7827, 0x0048, 0x7828, 0x9085, 0x0028, 0x782a, - 0x7850, 0x9085, 0x0400, 0x7852, 0x2001, 0x1977, 0x2003, 0x0000, + 0x7850, 0x9085, 0x0400, 0x7852, 0x2001, 0x197f, 0x2003, 0x0000, 0x9006, 0x78f2, 0x015e, 0x003e, 0x000e, 0x012e, 0x00fe, 0x004e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0036, 0x0046, 0x00b6, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0069, 0x0d0c, 0x80d5, 0x015e, + 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0069, 0x0d0c, 0x80f3, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x004e, 0x003e, 0x001e, - 0x000e, 0x0005, 0x00e6, 0x2071, 0x1894, 0x7004, 0x9086, 0x0001, - 0x1110, 0x080c, 0x3261, 0x00ee, 0x0005, 0x0005, 0x2a70, 0x2061, - 0x197b, 0x2063, 0x0003, 0x6007, 0x0002, 0x600b, 0x001e, 0x600f, - 0x0317, 0x2001, 0x194c, 0x900e, 0x2102, 0x7192, 0x2001, 0x0100, + 0x000e, 0x0005, 0x00e6, 0x2071, 0x189c, 0x7004, 0x9086, 0x0001, + 0x1110, 0x080c, 0x326c, 0x00ee, 0x0005, 0x0005, 0x2a70, 0x2061, + 0x1983, 0x2063, 0x0003, 0x6007, 0x0003, 0x600b, 0x0002, 0x600f, + 0x0317, 0x2001, 0x1954, 0x900e, 0x2102, 0x7192, 0x2001, 0x0100, 0x2004, 0x9082, 0x0002, 0x0218, 0x705b, 0xffff, 0x0008, 0x715a, - 0x7063, 0xffff, 0x717a, 0x717e, 0x080c, 0xbf7d, 0x70e7, 0x00c0, - 0x2061, 0x193c, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, + 0x7063, 0xffff, 0x717a, 0x717e, 0x080c, 0xbf8c, 0x70e7, 0x00c0, + 0x2061, 0x1944, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x000f, 0x611a, 0x601f, 0x07d0, - 0x2061, 0x1944, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, - 0x6013, 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, 0x1959, + 0x2061, 0x194c, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, + 0x6013, 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, 0x1961, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, 0x2020, - 0x2001, 0x182b, 0x2102, 0x0005, 0x9016, 0x080c, 0x6247, 0x1178, + 0x2001, 0x182b, 0x2102, 0x0005, 0x9016, 0x080c, 0x6256, 0x1178, 0xb804, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, 0x98c6, 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, 0x9186, 0x0800, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, 0x2079, @@ -236,18 +236,18 @@ unsigned short risc_code01[] = { 0x0006, 0x0016, 0x2001, 0x8002, 0x0006, 0x2079, 0x0000, 0x000e, 0x7882, 0x7836, 0x001e, 0x798e, 0x000e, 0x788a, 0x000e, 0x7886, 0x3900, 0x789a, 0x7833, 0x0012, 0x2091, 0x5000, 0x0156, 0x00d6, - 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x1a71, 0x7a08, 0x226a, - 0x2069, 0x1a72, 0x7a18, 0x226a, 0x8d68, 0x7a1c, 0x226a, 0x782c, - 0x2019, 0x1a7f, 0x201a, 0x2019, 0x1a82, 0x9016, 0x7808, 0xd09c, - 0x0168, 0x7820, 0x201a, 0x8210, 0x8318, 0x9386, 0x1a97, 0x0108, - 0x0ca8, 0x7808, 0xd09c, 0x0110, 0x2011, 0xdead, 0x2019, 0x1a80, - 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, 0x2069, 0x1a51, + 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x1a79, 0x7a08, 0x226a, + 0x2069, 0x1a7a, 0x7a18, 0x226a, 0x8d68, 0x7a1c, 0x226a, 0x782c, + 0x2019, 0x1a87, 0x201a, 0x2019, 0x1a8a, 0x9016, 0x7808, 0xd09c, + 0x0168, 0x7820, 0x201a, 0x8210, 0x8318, 0x9386, 0x1a9f, 0x0108, + 0x0ca8, 0x7808, 0xd09c, 0x0110, 0x2011, 0xdead, 0x2019, 0x1a88, + 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, 0x2069, 0x1a59, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, 0x8318, 0x1f04, 0x0e03, 0x002e, 0x003e, 0x00de, 0x015e, 0x2079, 0x1800, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x0180, 0x2001, 0x19e9, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, + 0x0180, 0x2001, 0x19f1, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, - 0x1001, 0x080c, 0x539e, 0x1108, 0x0099, 0x0cd8, 0x0005, 0x918c, + 0x1001, 0x080c, 0x53a9, 0x1108, 0x0099, 0x0cd8, 0x0005, 0x918c, 0x03ff, 0x2001, 0x0003, 0x2004, 0x9084, 0x0600, 0x1118, 0x918d, 0x2800, 0x0010, 0x918d, 0x2000, 0x2001, 0x017f, 0x2102, 0x0005, 0x0026, 0x0126, 0x2011, 0x0080, 0x080c, 0x0ecb, 0x20a9, 0x0900, @@ -258,9 +258,9 @@ unsigned short risc_code01[] = { 0x70eb, 0x0000, 0x1128, 0x70eb, 0x0fa0, 0x080c, 0x0edd, 0x002e, 0x0005, 0x0026, 0x080c, 0x0ed8, 0x0128, 0xd0a4, 0x1138, 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, 0x080c, 0x0edd, 0x002e, 0x0005, - 0x0026, 0x70eb, 0x0000, 0x080c, 0x0ed8, 0x1148, 0x080c, 0x2a57, + 0x0026, 0x70eb, 0x0000, 0x080c, 0x0ed8, 0x1148, 0x080c, 0x2a62, 0x1118, 0x2011, 0x8484, 0x0058, 0x2011, 0x8282, 0x0040, 0x080c, - 0x2a57, 0x1118, 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, 0x080c, + 0x2a62, 0x1118, 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, 0x080c, 0x0edd, 0x002e, 0x0005, 0x00e6, 0x0006, 0x2071, 0x1800, 0xd0b4, 0x70e4, 0x1110, 0xc0e4, 0x0048, 0x0006, 0x3b00, 0x9084, 0xff3f, 0x20d8, 0x000e, 0x70eb, 0x0000, 0xc0e5, 0x0079, 0x000e, 0x00ee, @@ -275,11 +275,11 @@ unsigned short risc_code01[] = { 0x1f04, 0x0eec, 0x0005, 0x890e, 0x810e, 0x810f, 0x9194, 0x003f, 0x918c, 0xffc0, 0x0005, 0x0006, 0x2200, 0x914d, 0x894f, 0x894d, 0x894d, 0x000e, 0x0005, 0x01d6, 0x0146, 0x0036, 0x0096, 0x2061, - 0x1883, 0x600b, 0x0000, 0x600f, 0x0000, 0x6003, 0x0000, 0x6007, + 0x188b, 0x600b, 0x0000, 0x600f, 0x0000, 0x6003, 0x0000, 0x6007, 0x0000, 0x2009, 0xffc0, 0x2105, 0x0006, 0x2001, 0xaaaa, 0x200f, 0x2019, 0x5555, 0x9016, 0x2049, 0x0bff, 0xab02, 0xa001, 0xa001, 0xa800, 0x9306, 0x1138, 0x2105, 0x9306, 0x0120, 0x8210, 0x99c8, - 0x0400, 0x0c98, 0x000e, 0x200f, 0x2001, 0x1893, 0x928a, 0x000e, + 0x0400, 0x0c98, 0x000e, 0x200f, 0x2001, 0x189b, 0x928a, 0x000e, 0x1638, 0x928a, 0x0006, 0x2011, 0x0006, 0x1210, 0x2011, 0x0000, 0x2202, 0x9006, 0x2008, 0x82ff, 0x01b0, 0x8200, 0x600a, 0x600f, 0xffff, 0x6003, 0x0002, 0x6007, 0x0000, 0x0026, 0x2019, 0x0010, @@ -301,7 +301,7 @@ unsigned short risc_code01[] = { 0x0158, 0x8210, 0x9906, 0x090c, 0x0db4, 0x2300, 0x9202, 0x0120, 0x1a0c, 0x0db4, 0xa000, 0x0c98, 0x012e, 0x003e, 0x002e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x0086, 0x00e6, 0x0006, 0x0126, 0x2091, - 0x8000, 0x2071, 0x1906, 0x7010, 0x9005, 0x0140, 0x7018, 0x9045, + 0x8000, 0x2071, 0x190e, 0x7010, 0x9005, 0x0140, 0x7018, 0x9045, 0x0128, 0x9906, 0x090c, 0x0db4, 0xa000, 0x0cc8, 0x012e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x0126, 0x2091, 0x8000, 0x70bc, 0x8001, 0x0270, 0x70be, 0x702c, 0x2048, 0x9085, @@ -313,36 +313,36 @@ unsigned short risc_code01[] = { 0x8000, 0x0016, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0xa862, 0x9184, 0xffc0, 0xa85e, 0x001e, 0x0020, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, - 0x8000, 0x70be, 0x080c, 0x7f46, 0x012e, 0x00ee, 0x0005, 0x2071, + 0x8000, 0x70be, 0x080c, 0x7f64, 0x012e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9026, 0x2009, 0x0000, 0x2049, 0x0400, 0x2900, 0x702e, 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, - 0x0440, 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, 0x1883, + 0x0440, 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, 0x188b, 0x7000, 0x9005, 0x11a0, 0x2001, 0x0492, 0xa802, 0x2048, 0x2009, 0x2480, 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, 0x0800, 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, - 0x1883, 0x7104, 0x7200, 0x82ff, 0x01d0, 0x7308, 0x8318, 0x831f, + 0x188b, 0x7104, 0x7200, 0x82ff, 0x01d0, 0x7308, 0x8318, 0x831f, 0x831b, 0x831b, 0x7312, 0x8319, 0x2001, 0x0800, 0xa802, 0x2048, 0x8900, 0xa802, 0x2040, 0xa95e, 0xaa62, 0x8420, 0x2300, 0x9906, 0x0130, 0x2848, 0x9188, 0x0040, 0x9291, 0x0000, 0x0c88, 0xa803, 0x0000, 0x2071, 0x1800, 0x74ba, 0x74be, 0x0005, 0x00e6, 0x0016, 0x9984, 0xfc00, 0x01e8, 0x908c, 0xf800, 0x1168, 0x9982, 0x0400, 0x02b8, 0x9982, 0x0440, 0x0278, 0x9982, 0x0492, 0x0288, 0x9982, - 0x0800, 0x1270, 0x0040, 0x9982, 0x0800, 0x0250, 0x2071, 0x1883, + 0x0800, 0x1270, 0x0040, 0x9982, 0x0800, 0x0250, 0x2071, 0x188b, 0x7010, 0x9902, 0x1228, 0x9085, 0x0001, 0x001e, 0x00ee, 0x0005, - 0x9006, 0x0cd8, 0x00e6, 0x2071, 0x19e8, 0x7007, 0x0000, 0x9006, + 0x9006, 0x0cd8, 0x00e6, 0x2071, 0x19f0, 0x7007, 0x0000, 0x9006, 0x701e, 0x7022, 0x7002, 0x2071, 0x0000, 0x7010, 0x9085, 0x8044, 0x7012, 0x2071, 0x0080, 0x9006, 0x20a9, 0x0040, 0x7022, 0x1f04, 0x10ce, 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, - 0x00e6, 0xa06f, 0x0000, 0x2071, 0x19e8, 0x701c, 0x9088, 0x19f2, + 0x00e6, 0xa06f, 0x0000, 0x2071, 0x19f0, 0x701c, 0x9088, 0x19fa, 0x280a, 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, 0x9106, 0x090c, 0x0db4, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x00a9, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, - 0x2071, 0x19e8, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, + 0x2071, 0x19f0, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x0021, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, 0x9086, 0x0000, 0x1110, 0x7007, 0x0006, 0x7000, 0x0002, 0x1117, 0x1115, 0x1115, 0x1115, 0x128e, 0x128e, 0x128e, 0x128e, 0x080c, 0x0db4, 0x701c, 0x7120, 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, 0x1120, 0xd1fc, - 0x1110, 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, 0x19f2, 0x2004, + 0x1110, 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, 0x19fa, 0x2004, 0x700a, 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, 0x782b, 0x0026, 0xa88c, 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, 0xa898, 0x780e, 0xa878, 0x700e, 0xa870, 0x7016, 0xa874, 0x701a, 0xa868, 0x009e, @@ -355,8 +355,8 @@ unsigned short risc_code01[] = { 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x22a8, 0x4006, 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, 0x701a, 0x782b, 0x0001, 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, 0x2009, - 0x19e8, 0x2104, 0xc095, 0x200a, 0x080c, 0x10f4, 0x0005, 0x0016, - 0x00e6, 0x2071, 0x19e8, 0x00f6, 0x2079, 0x0080, 0x792c, 0xd1bc, + 0x19f0, 0x2104, 0xc095, 0x200a, 0x080c, 0x10f4, 0x0005, 0x0016, + 0x00e6, 0x2071, 0x19f0, 0x00f6, 0x2079, 0x0080, 0x792c, 0xd1bc, 0x190c, 0x0dad, 0x782b, 0x0002, 0xd1fc, 0x0120, 0x918c, 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x1105, 0x11ad, 0x11e1, 0x0db4, 0x0db4, 0x129a, 0x0db4, 0x918c, 0x0700, 0x1550, @@ -371,39 +371,39 @@ unsigned short risc_code01[] = { 0x2048, 0xa86f, 0x0200, 0x009e, 0x7007, 0x0000, 0x0080, 0x0096, 0x7008, 0x2048, 0x7800, 0xa88e, 0x7804, 0xa892, 0x7808, 0xa896, 0x780c, 0xa89a, 0xa86f, 0x0100, 0x009e, 0x7007, 0x0000, 0x0096, - 0x00d6, 0x7008, 0x2048, 0x2001, 0x18af, 0x2004, 0x9906, 0x1128, + 0x00d6, 0x7008, 0x2048, 0x2001, 0x18b7, 0x2004, 0x9906, 0x1128, 0xa89c, 0x080f, 0x00de, 0x009e, 0x00a0, 0x00de, 0x009e, 0x0096, 0x00d6, 0x7008, 0x2048, 0x0081, 0x0150, 0xa89c, 0x0086, 0x2940, 0x080f, 0x008e, 0x00de, 0x009e, 0x080c, 0x10f4, 0x0005, 0x00de, 0x009e, 0x080c, 0x10f4, 0x0005, 0xa8a8, 0xd08c, 0x0005, 0x0096, 0xa0a0, 0x904d, 0x090c, 0x0db4, 0xa06c, 0x908e, 0x0100, 0x0130, - 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x080c, 0x6884, + 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x080c, 0x6893, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x2848, 0x080c, 0x101d, 0x009e, 0x0005, 0x00a6, 0xa0a0, 0x904d, 0x090c, 0x0db4, 0xa06c, 0x908e, 0x0100, 0x0128, 0xa87b, 0x0001, 0xa883, 0x0000, 0x00c0, 0xa80c, 0x2050, 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, 0x8006, 0x8006, 0x8007, 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xa076, 0xa172, 0xb000, 0xa07a, 0x2810, 0x080c, 0x10d5, 0x00e8, 0xa97c, - 0xa894, 0x0016, 0x0006, 0x080c, 0x6884, 0x000e, 0x001e, 0xd1fc, - 0x1138, 0xd1f4, 0x0128, 0x00c6, 0x2060, 0x080c, 0x9e42, 0x00ce, + 0xa894, 0x0016, 0x0006, 0x080c, 0x6893, 0x000e, 0x001e, 0xd1fc, + 0x1138, 0xd1f4, 0x0128, 0x00c6, 0x2060, 0x080c, 0x9e2f, 0x00ce, 0x7008, 0x2048, 0xa89f, 0x0000, 0xa8a3, 0x0000, 0x080c, 0x101d, 0x7007, 0x0000, 0x080c, 0x10f4, 0x00ae, 0x0005, 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, 0x012e, 0x0005, 0x7007, 0x0000, 0x080c, 0x1105, 0x0005, 0x0126, - 0x2091, 0x2200, 0x2079, 0x0300, 0x2071, 0x1a32, 0x7003, 0x0000, + 0x2091, 0x2200, 0x2079, 0x0300, 0x2071, 0x1a3a, 0x7003, 0x0000, 0x78bf, 0x00f6, 0x781b, 0x4800, 0x00c1, 0x7803, 0x0003, 0x780f, - 0x0000, 0x20a9, 0x0254, 0x2061, 0xd904, 0x2c0d, 0x7912, 0xe104, + 0x0000, 0x20a9, 0x0254, 0x2061, 0xd91d, 0x2c0d, 0x7912, 0xe104, 0x9ce0, 0x0002, 0x7916, 0x1f04, 0x12b5, 0x7807, 0x0007, 0x7803, 0x0000, 0x7803, 0x0001, 0x012e, 0x0005, 0x00c6, 0x7803, 0x0000, - 0x7808, 0xd09c, 0x0110, 0x7820, 0x0cd8, 0x2001, 0x1a33, 0x2003, + 0x7808, 0xd09c, 0x0110, 0x7820, 0x0cd8, 0x2001, 0x1a3b, 0x2003, 0x0000, 0x78ab, 0x0004, 0x78ac, 0xd0ac, 0x1de8, 0x78ab, 0x0002, 0x7807, 0x0007, 0x7827, 0x0030, 0x782b, 0x0400, 0x7827, 0x0031, - 0x782b, 0x1a51, 0x781f, 0xff00, 0x781b, 0xb700, 0x2001, 0x0200, - 0x2004, 0xd0dc, 0x0110, 0x781f, 0x0303, 0x2061, 0x1a51, 0x602f, + 0x782b, 0x1a59, 0x781f, 0xff00, 0x781b, 0xb700, 0x2001, 0x0200, + 0x2004, 0xd0dc, 0x0110, 0x781f, 0x0303, 0x2061, 0x1a59, 0x602f, 0x1cd0, 0x2001, 0x1819, 0x2004, 0x9082, 0x1cd0, 0x6032, 0x603b, - 0x1f28, 0x2001, 0x313a, 0xd0fc, 0x190c, 0x0db4, 0x2001, 0x0003, - 0x2004, 0xd0d4, 0x1118, 0x783f, 0x313a, 0x0020, 0x9084, 0xc000, - 0x783f, 0xb13a, 0x00ce, 0x0005, 0x0126, 0x2091, 0x2200, 0x7908, + 0x1f33, 0x2001, 0x3145, 0xd0fc, 0x190c, 0x0db4, 0x2001, 0x0003, + 0x2004, 0xd0d4, 0x1118, 0x783f, 0x3145, 0x0020, 0x9084, 0xc000, + 0x783f, 0xb145, 0x00ce, 0x0005, 0x0126, 0x2091, 0x2200, 0x7908, 0x9184, 0x0070, 0x190c, 0x0dad, 0xd19c, 0x0158, 0x7820, 0x908c, 0xf000, 0x15e8, 0x908a, 0x0024, 0x1a0c, 0x0db4, 0x0023, 0x012e, 0x0005, 0x012e, 0x0005, 0x1347, 0x1347, 0x135e, 0x1363, 0x1367, @@ -411,18 +411,18 @@ unsigned short risc_code01[] = { 0x149d, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x136e, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x1347, 0x134b, 0x1349, 0x080c, - 0x0db4, 0x080c, 0x0dad, 0x080c, 0x14a4, 0x2009, 0x1a4a, 0x2104, - 0x8000, 0x200a, 0x080c, 0x79f0, 0x080c, 0x195a, 0x0005, 0x2009, - 0x0048, 0x2060, 0x080c, 0x9ebc, 0x012e, 0x0005, 0x7004, 0xc085, + 0x0db4, 0x080c, 0x0dad, 0x080c, 0x14a4, 0x2009, 0x1a52, 0x2104, + 0x8000, 0x200a, 0x080c, 0x79fe, 0x080c, 0x196a, 0x0005, 0x2009, + 0x0048, 0x2060, 0x080c, 0x9ea9, 0x012e, 0x0005, 0x7004, 0xc085, 0xc0b5, 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, 0x080c, 0x14a4, 0x080c, 0x15e0, 0x0005, 0x080c, 0x0db4, 0x080c, 0x14a4, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, 0x2009, - 0x0048, 0x080c, 0x9ebc, 0x2001, 0x015d, 0x2003, 0x0000, 0x2009, + 0x0048, 0x080c, 0x9ea9, 0x2001, 0x015d, 0x2003, 0x0000, 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, 0x14a9, 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, 0x7006, 0x0005, 0x080c, 0x14a4, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, - 0x009e, 0x2009, 0x0048, 0x080c, 0x9ebc, 0x0005, 0x080c, 0x14a4, + 0x009e, 0x2009, 0x0048, 0x080c, 0x9ea9, 0x0005, 0x080c, 0x14a4, 0x080c, 0x0db4, 0x080c, 0x14a4, 0x080c, 0x1421, 0x7827, 0x0018, 0x79ac, 0xd1dc, 0x0540, 0x7827, 0x0015, 0x7828, 0x782b, 0x0000, 0x9065, 0x0138, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, @@ -431,13 +431,13 @@ unsigned short risc_code01[] = { 0x0050, 0x2003, 0x0020, 0x0490, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x143a, 0x0005, 0x7828, 0x782b, 0x0000, 0x9065, 0x090c, 0x0db4, 0x6014, 0x2048, 0x78ab, 0x0004, 0x918c, 0x0700, 0x01a8, - 0x080c, 0x79f0, 0x080c, 0x195a, 0x080c, 0xbb2c, 0x0158, 0xa9ac, + 0x080c, 0x79fe, 0x080c, 0x196a, 0x080c, 0xbb3b, 0x0158, 0xa9ac, 0xa936, 0xa9b0, 0xa93a, 0xa83f, 0xffff, 0xa843, 0xffff, 0xa880, - 0xc0bd, 0xa882, 0x080c, 0xb75d, 0x0005, 0x6010, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0bc, 0x6024, 0x190c, 0xbf16, 0x2029, 0x00c8, + 0xc0bd, 0xa882, 0x080c, 0xb75c, 0x0005, 0x6010, 0x00b6, 0x2058, + 0xb800, 0x00be, 0xd0bc, 0x6024, 0x190c, 0xbf25, 0x2029, 0x00c8, 0x8529, 0x0128, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x7dbc, - 0x080c, 0xd8ad, 0xd5a4, 0x1118, 0x080c, 0x14a9, 0x0005, 0x080c, - 0x79f0, 0x080c, 0x195a, 0x0005, 0x781f, 0x0300, 0x7803, 0x0001, + 0x080c, 0xd8c6, 0xd5a4, 0x1118, 0x080c, 0x14a9, 0x0005, 0x080c, + 0x79fe, 0x080c, 0x196a, 0x0005, 0x781f, 0x0300, 0x7803, 0x0001, 0x0005, 0x0016, 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, 0x7908, 0x918c, 0x0007, 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, 0x080c, 0x151a, 0x00fe, 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, 0xc09d, @@ -454,7 +454,7 @@ unsigned short risc_code01[] = { 0x0401, 0x0040, 0x2001, 0x020d, 0x2003, 0x0020, 0x080c, 0x12c5, 0x7803, 0x0001, 0x00ee, 0x001e, 0x0005, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0069, 0x0ca8, 0x0031, 0x2060, 0x2009, - 0x0053, 0x080c, 0x9ebc, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, + 0x0053, 0x080c, 0x9ea9, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, 0x080c, 0x1421, 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, 0x0510, 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, 0x2003, 0x0000, 0x79bc, 0xd1a4, 0x1528, 0x79b8, 0x918c, 0x0fff, 0x0180, @@ -462,7 +462,7 @@ unsigned short risc_code01[] = { 0x810c, 0x810c, 0x080c, 0x150c, 0x6827, 0x0001, 0x8109, 0x1dd0, 0x04d9, 0x6827, 0x0002, 0x04c1, 0x6804, 0x9005, 0x1130, 0x682c, 0xd0e4, 0x1500, 0x6804, 0x9005, 0x0de8, 0x79b8, 0xd1ec, 0x1130, - 0x08c0, 0x080c, 0x79f0, 0x080c, 0x195a, 0x0090, 0x7827, 0x0015, + 0x08c0, 0x080c, 0x79fe, 0x080c, 0x196a, 0x0090, 0x7827, 0x0015, 0x782b, 0x0000, 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, 0x020d, 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, 0x0001, 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, 0x0d30, @@ -478,18 +478,18 @@ unsigned short risc_code01[] = { 0x0030, 0x0904, 0x1593, 0x9284, 0x0048, 0x9086, 0x0008, 0x1904, 0x1593, 0x2001, 0x0109, 0x2004, 0xd08c, 0x01f0, 0x0006, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x0126, 0x2091, 0x2800, 0x00f6, - 0x0026, 0x0016, 0x2009, 0x1a4c, 0x2104, 0x8000, 0x0208, 0x200a, - 0x080c, 0x8393, 0x001e, 0x002e, 0x00fe, 0x012e, 0x015e, 0x014e, + 0x0026, 0x0016, 0x2009, 0x1a54, 0x2104, 0x8000, 0x0208, 0x200a, + 0x080c, 0x83b1, 0x001e, 0x002e, 0x00fe, 0x012e, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x000e, 0x2001, 0x009b, 0x2004, 0xd0fc, 0x01d0, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x00f6, 0x0016, 0x2009, 0x1a4d, 0x2104, 0x8000, 0x0208, 0x200a, - 0x080c, 0x1d4c, 0x001e, 0x00fe, 0x015e, 0x014e, 0x013e, 0x01de, + 0x00f6, 0x0016, 0x2009, 0x1a55, 0x2104, 0x8000, 0x0208, 0x200a, + 0x080c, 0x1d57, 0x001e, 0x00fe, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x7818, 0xd0bc, 0x1904, 0x1543, 0x0005, 0x2001, 0x180c, 0x2004, 0xd0f4, 0x1528, 0x7a18, 0x9284, 0x0030, - 0x0508, 0x9284, 0x0048, 0x9086, 0x0008, 0x11e0, 0x2001, 0x19c6, - 0x2004, 0x9005, 0x01b8, 0x2001, 0x1a35, 0x2004, 0x9086, 0x0000, - 0x0188, 0x2009, 0x1a4b, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, - 0x9431, 0x2009, 0x180c, 0x2104, 0xc0f5, 0x200a, 0x2009, 0xff00, + 0x0508, 0x9284, 0x0048, 0x9086, 0x0008, 0x11e0, 0x2001, 0x19ce, + 0x2004, 0x9005, 0x01b8, 0x2001, 0x1a3d, 0x2004, 0x9086, 0x0000, + 0x0188, 0x2009, 0x1a53, 0x2104, 0x8000, 0x0208, 0x200a, 0x080c, + 0x9445, 0x2009, 0x180c, 0x2104, 0xc0f5, 0x200a, 0x2009, 0xff00, 0x0804, 0x1543, 0x9085, 0x0001, 0x0005, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x080c, 0x153c, 0x1108, 0x0005, 0x792c, 0x3900, 0x8000, 0x2004, 0x080c, 0x0db4, 0x7037, 0x0001, 0x7150, 0x7037, @@ -498,19 +498,19 @@ unsigned short risc_code01[] = { 0x701c, 0xd08c, 0x0904, 0x163f, 0x7017, 0x0000, 0x2001, 0x0264, 0x2004, 0xd0bc, 0x0904, 0x163f, 0x2001, 0x0268, 0x00c6, 0x2064, 0x6104, 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, 0x163f, 0x9c06, - 0x15f0, 0x0126, 0x2091, 0x2600, 0x080c, 0x7937, 0x012e, 0x7358, + 0x15f0, 0x0126, 0x2091, 0x2600, 0x080c, 0x7945, 0x012e, 0x7358, 0x745c, 0x6014, 0x905d, 0x0598, 0x2b48, 0x6010, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0bc, 0x190c, 0xbef1, 0xab42, 0xac3e, 0x2001, - 0x1875, 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, 0x1158, 0x6010, + 0xb800, 0x00be, 0xd0bc, 0x190c, 0xbf00, 0xab42, 0xac3e, 0x2001, + 0x187d, 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, 0x1158, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1120, 0xa83b, 0x7fff, - 0xa837, 0xffff, 0x080c, 0x1f48, 0x1190, 0x080c, 0x17ed, 0x2a00, + 0xa837, 0xffff, 0x080c, 0x1f53, 0x1190, 0x080c, 0x17ed, 0x2a00, 0xa816, 0x0130, 0x2800, 0xa80e, 0x2c05, 0xa80a, 0x2c00, 0xa812, 0x7037, 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, 0x0005, 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, 0x14a9, 0x0005, 0x080c, 0x0db4, 0x0016, 0x2009, 0x00a0, 0x8109, 0xa001, 0xa001, 0xa001, 0x1dd8, 0x001e, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0x903e, 0x2730, 0xa864, 0x2068, - 0xa81a, 0x9d84, 0x000f, 0x9088, 0x1f28, 0x2165, 0x0002, 0x167e, + 0xa81a, 0x9d84, 0x000f, 0x9088, 0x1f33, 0x2165, 0x0002, 0x167e, 0x16cb, 0x167e, 0x167e, 0x167e, 0x16ad, 0x167e, 0x1682, 0x1677, 0x16c2, 0x167e, 0x167e, 0x167e, 0x1787, 0x1696, 0x168c, 0xa964, 0x918c, 0x00ff, 0x918e, 0x0048, 0x0904, 0x16c2, 0x9085, 0x0001, @@ -518,10 +518,10 @@ unsigned short risc_code01[] = { 0xa83e, 0xa888, 0x0804, 0x16d2, 0xa87c, 0xd0bc, 0x0d78, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x1721, 0xa87c, 0xd0bc, 0x0d28, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa804, 0x9045, 0x090c, - 0x0db4, 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x1f28, 0x2065, + 0x0db4, 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x1f33, 0x2065, 0xa888, 0xd19c, 0x1904, 0x1721, 0x0428, 0xa87c, 0xd0ac, 0x0970, 0xa804, 0x9045, 0x090c, 0x0db4, 0xa164, 0xa91a, 0x91ec, 0x000f, - 0x9d80, 0x1f28, 0x2065, 0x9006, 0xa842, 0xa83e, 0xd19c, 0x1904, + 0x9d80, 0x1f33, 0x2065, 0x9006, 0xa842, 0xa83e, 0xd19c, 0x1904, 0x1721, 0x0080, 0xa87c, 0xd0ac, 0x0904, 0x167e, 0x9006, 0xa842, 0xa83e, 0x0804, 0x1721, 0xa87c, 0xd0ac, 0x0904, 0x167e, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x9082, @@ -549,7 +549,7 @@ unsigned short risc_code01[] = { 0x0005, 0x2800, 0xa80e, 0xab0a, 0x2c00, 0xa812, 0x0c78, 0x0804, 0x167e, 0x0016, 0x2009, 0x00a0, 0x8109, 0xa001, 0xa001, 0xa001, 0x1dd8, 0x001e, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, - 0x6014, 0x2048, 0x2940, 0xa80e, 0x2061, 0x1f23, 0xa813, 0x1f23, + 0x6014, 0x2048, 0x2940, 0xa80e, 0x2061, 0x1f2e, 0xa813, 0x1f2e, 0x2c05, 0xa80a, 0xa964, 0xa91a, 0xa87c, 0xd0ac, 0x090c, 0x0db4, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0db4, 0xadcc, 0xacd0, 0xafd4, 0xaed8, 0xabdc, 0xaae0, 0xab2e, 0xaa32, @@ -558,7 +558,7 @@ unsigned short risc_code01[] = { 0xa916, 0x0128, 0x0078, 0x918a, 0x0002, 0xa916, 0x1158, 0x3e60, 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, 0x00ce, 0x012e, 0x0005, 0xa804, 0x9045, 0x090c, 0x0db4, 0xa80e, 0xa064, - 0xa81a, 0x9084, 0x000f, 0x9080, 0x1f28, 0x2015, 0x82ff, 0x090c, + 0xa81a, 0x9084, 0x000f, 0x9080, 0x1f33, 0x2015, 0x82ff, 0x090c, 0x0db4, 0xaa12, 0x2205, 0xa80a, 0x0c10, 0x903e, 0x2730, 0xa880, 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x18e2, 0x1844, 0x1844, 0x18e2, 0x18e2, 0x18dc, 0x18e2, 0x1844, 0x1893, 0x1893, 0x1893, 0x18e2, @@ -589,6311 +589,6314 @@ unsigned short risc_code01[] = { 0xa690, 0xa394, 0xa298, 0x0400, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0xa3ac, 0xa2b0, 0x00c8, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0xa3c4, 0xa2c8, 0x0090, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, 0xa3dc, 0xa2e0, - 0x0058, 0x9d86, 0x000e, 0x1130, 0x080c, 0x1ee0, 0x1904, 0x17ed, + 0x0058, 0x9d86, 0x000e, 0x1130, 0x080c, 0x1eeb, 0x1904, 0x17ed, 0x900e, 0x0050, 0x080c, 0x0db4, 0xab2e, 0xaa32, 0xad1e, 0xac22, - 0xaf26, 0xae2a, 0x080c, 0x1ee0, 0x0005, 0x6014, 0x2048, 0x6118, + 0xaf26, 0xae2a, 0x080c, 0x1eeb, 0x0005, 0x6014, 0x2048, 0x6118, 0x810c, 0x810c, 0x810c, 0x81ff, 0x1118, 0xa887, 0x0001, 0x0008, - 0xa986, 0x601b, 0x0002, 0xa974, 0xd1dc, 0x1108, 0x0005, 0xa934, + 0xa986, 0x601b, 0x0002, 0xa874, 0x9084, 0x00ff, 0x9084, 0x0008, + 0x0150, 0x00e9, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, + 0x080c, 0x9ea9, 0x0005, 0xa974, 0xd1dc, 0x1108, 0x0005, 0xa934, 0xa88c, 0x9106, 0x1158, 0xa938, 0xa890, 0x9106, 0x1138, 0x601c, - 0xc084, 0x601e, 0x2009, 0x0048, 0x0804, 0x9ebc, 0x0005, 0x0126, + 0xc084, 0x601e, 0x2009, 0x0048, 0x0804, 0x9ea9, 0x0005, 0x0126, 0x00c6, 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, 0x0007, 0x9186, 0x0000, 0x05b0, 0x9186, 0x0003, 0x0598, 0x6020, 0x6023, 0x0000, 0x0006, 0x2031, 0x0008, 0x00c6, 0x781f, 0x0808, 0x7808, 0xd09c, 0x0120, 0x080c, 0x130c, 0x8631, 0x1db8, 0x00ce, 0x781f, 0x0800, 0x2031, 0x0168, 0x00c6, 0x7808, 0xd09c, 0x190c, 0x130c, 0x00ce, - 0x2001, 0x0038, 0x080c, 0x19e7, 0x7930, 0x9186, 0x0040, 0x0160, + 0x2001, 0x0038, 0x080c, 0x19f2, 0x7930, 0x9186, 0x0040, 0x0160, 0x9186, 0x0042, 0x190c, 0x0db4, 0x2001, 0x001e, 0x8001, 0x1df0, - 0x8631, 0x1d40, 0x080c, 0x19f6, 0x000e, 0x6022, 0x012e, 0x0005, - 0x080c, 0x19e3, 0x7827, 0x0015, 0x7828, 0x9c06, 0x1db8, 0x782b, + 0x8631, 0x1d40, 0x080c, 0x1a01, 0x000e, 0x6022, 0x012e, 0x0005, + 0x080c, 0x19ee, 0x7827, 0x0015, 0x7828, 0x9c06, 0x1db8, 0x782b, 0x0000, 0x0ca0, 0x00f6, 0x2079, 0x0300, 0x7803, 0x0000, 0x78ab, - 0x0004, 0x00fe, 0x080c, 0x6f9b, 0x11b0, 0x2001, 0x0138, 0x2003, + 0x0004, 0x00fe, 0x080c, 0x6faa, 0x1188, 0x2001, 0x0138, 0x2003, 0x0000, 0x2001, 0x0160, 0x2003, 0x0000, 0x2011, 0x012c, 0xa001, - 0xa001, 0x8211, 0x1de0, 0x0081, 0x0066, 0x2031, 0x0000, 0x080c, - 0x704b, 0x006e, 0x0005, 0x0479, 0x0039, 0x2001, 0x0160, 0x2502, - 0x2001, 0x0138, 0x2202, 0x0005, 0x00e6, 0x2071, 0x0200, 0x080c, - 0x2a6b, 0x2009, 0x003c, 0x080c, 0x226a, 0x2001, 0x015d, 0x2003, - 0x0000, 0x7000, 0x9084, 0x003c, 0x1de0, 0x080c, 0x7f46, 0x70a0, - 0x70a2, 0x7098, 0x709a, 0x709c, 0x709e, 0x2001, 0x020d, 0x2003, - 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, 0x12c5, 0x7803, 0x0001, - 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, 0x0000, - 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, 0x6f9b, 0x1108, - 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, 0xd3dc, 0x1168, - 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, 0x1160, 0x2001, 0x0111, - 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x2001, 0x015d, 0x2003, - 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, 0x2003, 0x0048, 0xa001, - 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, 0x8421, 0x1db0, 0x004e, - 0x0c60, 0x004e, 0x0c40, 0x601c, 0xc084, 0x601e, 0x0005, 0x2c08, - 0x621c, 0x080c, 0x151a, 0x7930, 0x0005, 0x2c08, 0x621c, 0x080c, - 0x15c5, 0x7930, 0x0005, 0x8001, 0x1df0, 0x0005, 0x2031, 0x0005, - 0x781c, 0x9084, 0x0007, 0x0170, 0x2001, 0x0038, 0x0c41, 0x9186, - 0x0040, 0x0904, 0x1a54, 0x2001, 0x001e, 0x0c69, 0x8631, 0x1d80, - 0x080c, 0x0db4, 0x781f, 0x0202, 0x2001, 0x015d, 0x2003, 0x0000, - 0x2001, 0x0b10, 0x0c01, 0x781c, 0xd084, 0x0110, 0x0861, 0x04e0, - 0x2001, 0x0030, 0x0891, 0x9186, 0x0040, 0x0568, 0x781c, 0xd084, - 0x1da8, 0x781f, 0x0101, 0x2001, 0x0014, 0x0869, 0x2001, 0x0037, - 0x0821, 0x9186, 0x0040, 0x0140, 0x2001, 0x0030, 0x080c, 0x19ed, - 0x9186, 0x0040, 0x190c, 0x0db4, 0x00d6, 0x2069, 0x0200, 0x692c, - 0xd1f4, 0x1170, 0xd1c4, 0x0160, 0xd19c, 0x0130, 0x6800, 0x9085, - 0x1800, 0x6802, 0x00de, 0x0080, 0x6908, 0x9184, 0x0007, 0x1db0, - 0x00de, 0x781f, 0x0100, 0x791c, 0x9184, 0x0007, 0x090c, 0x0db4, - 0xa001, 0xa001, 0x781f, 0x0200, 0x0005, 0x0126, 0x2091, 0x2400, - 0x2071, 0x1a35, 0x2079, 0x0090, 0x012e, 0x0005, 0x9280, 0x0005, - 0x2004, 0x2048, 0xa97c, 0xd1dc, 0x1904, 0x1ae9, 0xa964, 0x9184, - 0x0007, 0x0002, 0x1a72, 0x1ad4, 0x1a89, 0x1a89, 0x1a89, 0x1abc, - 0x1a9c, 0x1a8b, 0x918c, 0x00ff, 0x9186, 0x0008, 0x1170, 0xa87c, - 0xd0b4, 0x0904, 0x1d07, 0x9006, 0xa842, 0xa83e, 0xa988, 0x2900, - 0xa85a, 0xa813, 0x1f23, 0x0804, 0x1ae5, 0x9186, 0x0048, 0x0904, - 0x1ad4, 0x080c, 0x0db4, 0xa87c, 0xd0b4, 0x0904, 0x1d07, 0xa890, - 0xa842, 0xa83a, 0xa88c, 0xa83e, 0xa836, 0xa8ac, 0xa846, 0xa8b0, - 0xa84a, 0xa988, 0x0804, 0x1adc, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x001e, 0x1d38, 0xa87c, 0xd0b4, 0x0904, 0x1d07, 0xa890, 0xa842, - 0xa83a, 0xa88c, 0xa83e, 0xa836, 0xa8ac, 0xa846, 0xa8b0, 0xa84a, - 0xa804, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x1f28, - 0x2005, 0xa812, 0xa988, 0x0448, 0x918c, 0x00ff, 0x9186, 0x0015, - 0x1540, 0xa87c, 0xd0b4, 0x0904, 0x1d07, 0xa804, 0xa85a, 0x2040, - 0xa064, 0x9084, 0x000f, 0x9080, 0x1f28, 0x2005, 0xa812, 0xa988, - 0x9006, 0xa842, 0xa83e, 0x0088, 0xa87c, 0xd0b4, 0x0904, 0x1d07, - 0xa988, 0x9006, 0xa842, 0xa83e, 0x2900, 0xa85a, 0xa864, 0x9084, - 0x000f, 0x9080, 0x1f28, 0x2005, 0xa812, 0xa916, 0xa87c, 0xc0dd, - 0xa87e, 0x0005, 0x00f6, 0x2079, 0x0090, 0x782c, 0xd0fc, 0x190c, - 0x1d4c, 0x00e6, 0x2071, 0x1a35, 0x7000, 0x9005, 0x1904, 0x1b52, - 0x7206, 0x9280, 0x0005, 0x204c, 0x9280, 0x0004, 0x2004, 0x782b, - 0x0004, 0x00f6, 0x2079, 0x0200, 0x7803, 0x0040, 0x00fe, 0x00b6, - 0x2058, 0xb86c, 0x7836, 0xb890, 0x00be, 0x00f6, 0x2079, 0x0200, - 0x7803, 0x0040, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, - 0x781a, 0x2079, 0x0100, 0x8004, 0x78d6, 0x00fe, 0xa814, 0x2050, - 0xa858, 0x2040, 0xa810, 0x2060, 0xa064, 0x90ec, 0x000f, 0xa944, - 0x791a, 0x7116, 0xa848, 0x781e, 0x701a, 0x9006, 0x700e, 0x7012, - 0x7004, 0xa940, 0xa838, 0x9106, 0x1500, 0xa93c, 0xa834, 0x9106, - 0x11e0, 0x0006, 0x0016, 0xa938, 0xa834, 0x9105, 0x0118, 0x001e, - 0x000e, 0x0098, 0x001e, 0x000e, 0x8aff, 0x01c8, 0x0126, 0x2091, - 0x8000, 0x2009, 0x0306, 0x200b, 0x0808, 0x00d9, 0x0108, 0x00c9, - 0x012e, 0x9006, 0x00ee, 0x00fe, 0x0005, 0x0036, 0x0046, 0xab38, - 0xac34, 0x080c, 0x1f48, 0x004e, 0x003e, 0x0d30, 0x0c98, 0x9085, - 0x0001, 0x0c80, 0x2009, 0x0306, 0x200b, 0x4800, 0x7027, 0x0000, - 0x0005, 0x0076, 0x0066, 0x0056, 0x0046, 0x0036, 0x0026, 0x8aff, - 0x0904, 0x1d00, 0x700c, 0x7214, 0x923a, 0x7010, 0x7218, 0x9203, - 0x0a04, 0x1cff, 0x9705, 0x0904, 0x1cff, 0x903e, 0x2730, 0xa880, - 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x1c94, 0x1bd4, 0x1bd4, 0x1c94, - 0x1c94, 0x1c71, 0x1c94, 0x1bd4, 0x1c78, 0x1c23, 0x1c23, 0x1c94, - 0x1c94, 0x1c94, 0x1c6b, 0x1c23, 0xc0fc, 0xa882, 0xab2c, 0xaa30, - 0xad1c, 0xac20, 0xdd9c, 0x0904, 0x1c96, 0x2c05, 0x908a, 0x0034, - 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1bc0, 0x1bbe, 0x1bbe, - 0x1bbe, 0x1bbe, 0x1bbe, 0x1bc4, 0x1bbe, 0x1bbe, 0x1bbe, 0x1bbe, - 0x1bbe, 0x1bc8, 0x1bbe, 0x1bbe, 0x1bbe, 0x1bbe, 0x1bbe, 0x1bcc, - 0x1bbe, 0x1bbe, 0x1bbe, 0x1bbe, 0x1bbe, 0x1bd0, 0x080c, 0x0db4, - 0xa774, 0xa678, 0x0804, 0x1c96, 0xa78c, 0xa690, 0x0804, 0x1c96, - 0xa7a4, 0xa6a8, 0x0804, 0x1c96, 0xa7bc, 0xa6c0, 0x0804, 0x1c96, - 0xa7d4, 0xa6d8, 0x0804, 0x1c96, 0x2c05, 0x908a, 0x0036, 0x1a0c, - 0x0db4, 0x9082, 0x001b, 0x0002, 0x1bf7, 0x1bf7, 0x1bf9, 0x1bf7, - 0x1bf7, 0x1bf7, 0x1bff, 0x1bf7, 0x1bf7, 0x1bf7, 0x1c05, 0x1bf7, - 0x1bf7, 0x1bf7, 0x1c0b, 0x1bf7, 0x1bf7, 0x1bf7, 0x1c11, 0x1bf7, - 0x1bf7, 0x1bf7, 0x1c17, 0x1bf7, 0x1bf7, 0x1bf7, 0x1c1d, 0x080c, - 0x0db4, 0xa574, 0xa478, 0xa37c, 0xa280, 0x0804, 0x1c96, 0xa584, - 0xa488, 0xa38c, 0xa290, 0x0804, 0x1c96, 0xa594, 0xa498, 0xa39c, - 0xa2a0, 0x0804, 0x1c96, 0xa5a4, 0xa4a8, 0xa3ac, 0xa2b0, 0x0804, - 0x1c96, 0xa5b4, 0xa4b8, 0xa3bc, 0xa2c0, 0x0804, 0x1c96, 0xa5c4, - 0xa4c8, 0xa3cc, 0xa2d0, 0x0804, 0x1c96, 0xa5d4, 0xa4d8, 0xa3dc, - 0xa2e0, 0x0804, 0x1c96, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0db4, - 0x9082, 0x001b, 0x0002, 0x1c46, 0x1c44, 0x1c44, 0x1c44, 0x1c44, - 0x1c44, 0x1c4e, 0x1c44, 0x1c44, 0x1c44, 0x1c44, 0x1c44, 0x1c56, - 0x1c44, 0x1c44, 0x1c44, 0x1c44, 0x1c44, 0x1c5d, 0x1c44, 0x1c44, - 0x1c44, 0x1c44, 0x1c44, 0x1c64, 0x080c, 0x0db4, 0xa56c, 0xa470, - 0xa774, 0xa678, 0xa37c, 0xa280, 0x0804, 0x1c96, 0xa584, 0xa488, - 0xa78c, 0xa690, 0xa394, 0xa298, 0x0804, 0x1c96, 0xa59c, 0xa4a0, - 0xa7a4, 0xa6a8, 0xa3ac, 0xa2b0, 0x04c8, 0xa5b4, 0xa4b8, 0xa7bc, - 0xa6c0, 0xa3c4, 0xa2c8, 0x0490, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, - 0xa3dc, 0xa2e0, 0x0458, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, - 0x1518, 0x080c, 0x1ee0, 0x1904, 0x1b6f, 0x900e, 0x0804, 0x1d00, - 0xab64, 0x939c, 0x00ff, 0x9386, 0x0048, 0x1180, 0x00c6, 0x7004, - 0x2060, 0x6004, 0x9086, 0x0043, 0x00ce, 0x0904, 0x1c23, 0xab9c, - 0x9016, 0xad8c, 0xac90, 0xaf94, 0xae98, 0x0040, 0x9386, 0x0008, - 0x0904, 0x1c23, 0x080c, 0x0db4, 0x080c, 0x0db4, 0x2009, 0x030f, - 0x2104, 0xd0fc, 0x0530, 0x0066, 0x2009, 0x0306, 0x2104, 0x9084, - 0x0030, 0x15c8, 0x2031, 0x1000, 0x200b, 0x4000, 0x2600, 0x9302, - 0x928b, 0x0000, 0xa82e, 0xa932, 0x0278, 0x9105, 0x0168, 0x2011, - 0x0000, 0x2618, 0x2600, 0x9500, 0xa81e, 0x9481, 0x0000, 0xa822, - 0xa880, 0xc0fd, 0xa882, 0x0020, 0xa82f, 0x0000, 0xa833, 0x0000, - 0x006e, 0x7b12, 0x7a16, 0x7d02, 0x7c06, 0x7f0a, 0x7e0e, 0x782b, - 0x0001, 0x7000, 0x8000, 0x7002, 0xa83c, 0x9300, 0xa83e, 0xa840, - 0x9201, 0xa842, 0x700c, 0x9300, 0x700e, 0x7010, 0x9201, 0x7012, - 0x080c, 0x1ee0, 0x0428, 0x2031, 0x0080, 0x9584, 0x007f, 0x0108, - 0x9632, 0x7124, 0x7000, 0x9086, 0x0000, 0x1198, 0xc185, 0x7126, - 0x2009, 0x0306, 0x2104, 0xd0b4, 0x1904, 0x1ca6, 0x200b, 0x4040, - 0x2009, 0x1a4e, 0x2104, 0x8000, 0x0a04, 0x1ca6, 0x200a, 0x0804, - 0x1ca6, 0xc18d, 0x7126, 0xd184, 0x1d58, 0x0804, 0x1ca6, 0x9006, - 0x002e, 0x003e, 0x004e, 0x005e, 0x006e, 0x007e, 0x0005, 0x080c, - 0x0db4, 0x0026, 0x2001, 0x0105, 0x2003, 0x0010, 0x782b, 0x0004, - 0x7003, 0x0000, 0x7004, 0x0016, 0x080c, 0x1b62, 0x001e, 0x2060, - 0x6014, 0x2048, 0x080c, 0xbb2c, 0x0118, 0xa880, 0xc0bd, 0xa882, - 0x6020, 0x9086, 0x0006, 0x1180, 0x2061, 0x0100, 0x62c8, 0x2001, - 0x00fa, 0x8001, 0x1df0, 0x60c8, 0x9206, 0x1dc0, 0x60c4, 0xa89a, - 0x60c8, 0xa896, 0x7004, 0x2060, 0x00c6, 0x080c, 0xb75d, 0x00ce, - 0x2001, 0x19c6, 0x2004, 0x9c06, 0x1160, 0x2009, 0x0040, 0x080c, - 0x226a, 0x080c, 0x98eb, 0x2011, 0x0000, 0x080c, 0x977c, 0x080c, - 0x8a4a, 0x002e, 0x0804, 0x1e90, 0x0126, 0x2091, 0x2400, 0xa858, - 0x2040, 0x792c, 0x782b, 0x0002, 0x9184, 0x0700, 0x1904, 0x1d09, - 0x7000, 0x0002, 0x1e90, 0x1d5e, 0x1dde, 0x1e8e, 0x8001, 0x7002, - 0x7027, 0x0000, 0xd19c, 0x1158, 0x8aff, 0x0904, 0x1dab, 0x080c, - 0x1b69, 0x0904, 0x1e90, 0x080c, 0x1b69, 0x0804, 0x1e90, 0x782b, - 0x0004, 0xd194, 0x0148, 0xa880, 0xc0fc, 0xa882, 0x8aff, 0x1518, - 0xa87c, 0xc0f5, 0xa87e, 0x00f8, 0x0026, 0x0036, 0xab3c, 0xaa40, - 0x0016, 0x7910, 0xa82c, 0x9100, 0xa82e, 0x7914, 0xa830, 0x9101, - 0xa832, 0x001e, 0x7810, 0x931a, 0x7814, 0x9213, 0x7800, 0xa81e, - 0x7804, 0xa822, 0xab3e, 0xaa42, 0x003e, 0x002e, 0x080c, 0x1efb, - 0xa880, 0xc0fd, 0xa882, 0x2a00, 0xa816, 0x2800, 0xa85a, 0x2c00, - 0xa812, 0x7003, 0x0000, 0x2009, 0x0306, 0x200b, 0x4800, 0x7027, - 0x0000, 0x0804, 0x1e90, 0x00f6, 0x0026, 0x781c, 0x0006, 0x7818, - 0x0006, 0x2079, 0x0100, 0x7a14, 0x9284, 0x1984, 0x9085, 0x0012, - 0x7816, 0x0036, 0x2019, 0x1000, 0x8319, 0x090c, 0x0db4, 0x7820, - 0xd0bc, 0x1dd0, 0x003e, 0x79c8, 0x000e, 0x9102, 0x001e, 0x0006, - 0x0016, 0x79c4, 0x000e, 0x9103, 0x78c6, 0x000e, 0x78ca, 0x9284, - 0x1984, 0x9085, 0x0012, 0x7816, 0x002e, 0x00fe, 0x782b, 0x0008, - 0x7003, 0x0000, 0x080c, 0x1b62, 0x0804, 0x1e90, 0x8001, 0x7002, - 0x7024, 0x8004, 0x7026, 0xd194, 0x0170, 0x782c, 0xd0fc, 0x1904, - 0x1d51, 0xd19c, 0x1904, 0x1e8c, 0x8aff, 0x0904, 0x1e90, 0x080c, - 0x1b69, 0x0804, 0x1e90, 0x0026, 0x0036, 0xab3c, 0xaa40, 0x080c, - 0x1efb, 0xdd9c, 0x1904, 0x1e4b, 0x2c05, 0x908a, 0x0036, 0x1a0c, - 0x0db4, 0x9082, 0x001b, 0x0002, 0x1e1f, 0x1e1f, 0x1e21, 0x1e1f, - 0x1e1f, 0x1e1f, 0x1e27, 0x1e1f, 0x1e1f, 0x1e1f, 0x1e2d, 0x1e1f, - 0x1e1f, 0x1e1f, 0x1e33, 0x1e1f, 0x1e1f, 0x1e1f, 0x1e39, 0x1e1f, - 0x1e1f, 0x1e1f, 0x1e3f, 0x1e1f, 0x1e1f, 0x1e1f, 0x1e45, 0x080c, - 0x0db4, 0xa07c, 0x931a, 0xa080, 0x9213, 0x0804, 0x1d80, 0xa08c, - 0x931a, 0xa090, 0x9213, 0x0804, 0x1d80, 0xa09c, 0x931a, 0xa0a0, - 0x9213, 0x0804, 0x1d80, 0xa0ac, 0x931a, 0xa0b0, 0x9213, 0x0804, - 0x1d80, 0xa0bc, 0x931a, 0xa0c0, 0x9213, 0x0804, 0x1d80, 0xa0cc, - 0x931a, 0xa0d0, 0x9213, 0x0804, 0x1d80, 0xa0dc, 0x931a, 0xa0e0, - 0x9213, 0x0804, 0x1d80, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0db4, - 0x9082, 0x001b, 0x0002, 0x1e6e, 0x1e6c, 0x1e6c, 0x1e6c, 0x1e6c, - 0x1e6c, 0x1e74, 0x1e6c, 0x1e6c, 0x1e6c, 0x1e6c, 0x1e6c, 0x1e7a, - 0x1e6c, 0x1e6c, 0x1e6c, 0x1e6c, 0x1e6c, 0x1e80, 0x1e6c, 0x1e6c, - 0x1e6c, 0x1e6c, 0x1e6c, 0x1e86, 0x080c, 0x0db4, 0xa07c, 0x931a, - 0xa080, 0x9213, 0x0804, 0x1d80, 0xa094, 0x931a, 0xa098, 0x9213, - 0x0804, 0x1d80, 0xa0ac, 0x931a, 0xa0b0, 0x9213, 0x0804, 0x1d80, - 0xa0c4, 0x931a, 0xa0c8, 0x9213, 0x0804, 0x1d80, 0xa0dc, 0x931a, - 0xa0e0, 0x9213, 0x0804, 0x1d80, 0x0804, 0x1d7c, 0x080c, 0x0db4, - 0x012e, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a35, 0x7000, 0x9086, - 0x0000, 0x0904, 0x1edb, 0x2079, 0x0090, 0x2009, 0x0207, 0x210c, - 0xd194, 0x01b8, 0x2009, 0x020c, 0x210c, 0x9184, 0x0003, 0x0188, - 0x080c, 0xd8f6, 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0db4, - 0x0016, 0x2009, 0x0040, 0x080c, 0x226a, 0x001e, 0x2001, 0x020c, - 0x2102, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, - 0x1120, 0x2009, 0x0040, 0x080c, 0x226a, 0x782c, 0xd0fc, 0x09a8, - 0x080c, 0x1d4c, 0x7000, 0x9086, 0x0000, 0x1978, 0x782b, 0x0004, - 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x226a, 0x782b, - 0x0002, 0x7003, 0x0000, 0x080c, 0x1b62, 0x00ee, 0x00fe, 0x0005, - 0xa880, 0xd0fc, 0x11a8, 0x8c60, 0x2c05, 0x9005, 0x0110, 0x8a51, - 0x0005, 0xa004, 0x9005, 0x0168, 0xa85a, 0x2040, 0xa064, 0x9084, - 0x000f, 0x9080, 0x1f28, 0x2065, 0x8cff, 0x090c, 0x0db4, 0x8a51, - 0x0005, 0x2050, 0x0005, 0xa880, 0xd0fc, 0x11b8, 0x8a50, 0x8c61, - 0x2c05, 0x9005, 0x1190, 0x2800, 0x9906, 0x0120, 0xa000, 0x9005, - 0x1108, 0x2900, 0x2040, 0xa85a, 0xa064, 0x9084, 0x000f, 0x9080, - 0x1f38, 0x2065, 0x8cff, 0x090c, 0x0db4, 0x0005, 0x0000, 0x001d, - 0x0021, 0x0025, 0x0029, 0x002d, 0x0031, 0x0035, 0x0000, 0x001b, - 0x0021, 0x0027, 0x002d, 0x0033, 0x0000, 0x0000, 0x0023, 0x0000, - 0x0000, 0x1f1b, 0x1f17, 0x0000, 0x0000, 0x1f25, 0x0000, 0x1f1b, - 0x1f22, 0x1f22, 0x1f1f, 0x0000, 0x0000, 0x0000, 0x1f25, 0x1f22, - 0x0000, 0x1f1d, 0x1f1d, 0x0000, 0x0000, 0x1f25, 0x0000, 0x1f1d, - 0x1f23, 0x1f23, 0x1f23, 0x0000, 0x0000, 0x0000, 0x1f25, 0x1f23, - 0x00c6, 0x00d6, 0x0086, 0xab42, 0xac3e, 0xa888, 0x9055, 0x0904, - 0x2127, 0x2940, 0xa064, 0x90ec, 0x000f, 0x9084, 0x00ff, 0x9086, - 0x0008, 0x1118, 0x2061, 0x1f23, 0x00d0, 0x9de0, 0x1f28, 0x9d86, - 0x0007, 0x0130, 0x9d86, 0x000e, 0x0118, 0x9d86, 0x000f, 0x1120, - 0xa08c, 0x9422, 0xa090, 0x931b, 0x2c05, 0x9065, 0x1140, 0x0310, - 0x0804, 0x2127, 0xa004, 0x9045, 0x0904, 0x2127, 0x08d8, 0x2c05, - 0x9005, 0x0904, 0x200f, 0xdd9c, 0x1904, 0x1fcb, 0x908a, 0x0036, - 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1fa0, 0x1fa0, 0x1fa2, - 0x1fa0, 0x1fa0, 0x1fa0, 0x1fa8, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fae, - 0x1fa0, 0x1fa0, 0x1fa0, 0x1fb4, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fba, - 0x1fa0, 0x1fa0, 0x1fa0, 0x1fc0, 0x1fa0, 0x1fa0, 0x1fa0, 0x1fc6, - 0x080c, 0x0db4, 0xa07c, 0x9422, 0xa080, 0x931b, 0x0804, 0x2005, - 0xa08c, 0x9422, 0xa090, 0x931b, 0x0804, 0x2005, 0xa09c, 0x9422, - 0xa0a0, 0x931b, 0x0804, 0x2005, 0xa0ac, 0x9422, 0xa0b0, 0x931b, - 0x0804, 0x2005, 0xa0bc, 0x9422, 0xa0c0, 0x931b, 0x0804, 0x2005, - 0xa0cc, 0x9422, 0xa0d0, 0x931b, 0x0804, 0x2005, 0xa0dc, 0x9422, - 0xa0e0, 0x931b, 0x04d0, 0x908a, 0x0034, 0x1a0c, 0x0db4, 0x9082, - 0x001b, 0x0002, 0x1fed, 0x1feb, 0x1feb, 0x1feb, 0x1feb, 0x1feb, - 0x1ff2, 0x1feb, 0x1feb, 0x1feb, 0x1feb, 0x1feb, 0x1ff7, 0x1feb, - 0x1feb, 0x1feb, 0x1feb, 0x1feb, 0x1ffc, 0x1feb, 0x1feb, 0x1feb, - 0x1feb, 0x1feb, 0x2001, 0x080c, 0x0db4, 0xa07c, 0x9422, 0xa080, - 0x931b, 0x0098, 0xa094, 0x9422, 0xa098, 0x931b, 0x0070, 0xa0ac, - 0x9422, 0xa0b0, 0x931b, 0x0048, 0xa0c4, 0x9422, 0xa0c8, 0x931b, - 0x0020, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x0630, 0x2300, 0x9405, - 0x0160, 0x8a51, 0x0904, 0x2127, 0x8c60, 0x0804, 0x1f77, 0xa004, - 0x9045, 0x0904, 0x2127, 0x0804, 0x1f52, 0x8a51, 0x0904, 0x2127, - 0x8c60, 0x2c05, 0x9005, 0x1158, 0xa004, 0x9045, 0x0904, 0x2127, - 0xa064, 0x90ec, 0x000f, 0x9de0, 0x1f28, 0x2c05, 0x2060, 0xa880, - 0xc0fc, 0xa882, 0x0804, 0x211c, 0x2c05, 0x8422, 0x8420, 0x831a, - 0x9399, 0x0000, 0xac2e, 0xab32, 0xdd9c, 0x1904, 0x20b9, 0x9082, - 0x001b, 0x0002, 0x2055, 0x2055, 0x2057, 0x2055, 0x2055, 0x2055, - 0x2065, 0x2055, 0x2055, 0x2055, 0x2073, 0x2055, 0x2055, 0x2055, - 0x2081, 0x2055, 0x2055, 0x2055, 0x208f, 0x2055, 0x2055, 0x2055, - 0x209d, 0x2055, 0x2055, 0x2055, 0x20ab, 0x080c, 0x0db4, 0xa17c, - 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa074, - 0x9420, 0xa078, 0x9319, 0x0804, 0x2117, 0xa18c, 0x2400, 0x9122, - 0xa190, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa084, 0x9420, 0xa088, - 0x9319, 0x0804, 0x2117, 0xa19c, 0x2400, 0x9122, 0xa1a0, 0x2300, - 0x911b, 0x0a0c, 0x0db4, 0xa094, 0x9420, 0xa098, 0x9319, 0x0804, - 0x2117, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, 0x911b, 0x0a0c, - 0x0db4, 0xa0a4, 0x9420, 0xa0a8, 0x9319, 0x0804, 0x2117, 0xa1bc, - 0x2400, 0x9122, 0xa1c0, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa0b4, - 0x9420, 0xa0b8, 0x9319, 0x0804, 0x2117, 0xa1cc, 0x2400, 0x9122, - 0xa1d0, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa0c4, 0x9420, 0xa0c8, - 0x9319, 0x0804, 0x2117, 0xa1dc, 0x2400, 0x9122, 0xa1e0, 0x2300, - 0x911b, 0x0a0c, 0x0db4, 0xa0d4, 0x9420, 0xa0d8, 0x9319, 0x0804, - 0x2117, 0x9082, 0x001b, 0x0002, 0x20d7, 0x20d5, 0x20d5, 0x20d5, - 0x20d5, 0x20d5, 0x20e4, 0x20d5, 0x20d5, 0x20d5, 0x20d5, 0x20d5, - 0x20f1, 0x20d5, 0x20d5, 0x20d5, 0x20d5, 0x20d5, 0x20fe, 0x20d5, - 0x20d5, 0x20d5, 0x20d5, 0x20d5, 0x210b, 0x080c, 0x0db4, 0xa17c, - 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa06c, - 0x9420, 0xa070, 0x9319, 0x0498, 0xa194, 0x2400, 0x9122, 0xa198, - 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa084, 0x9420, 0xa088, 0x9319, - 0x0430, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, 0x911b, 0x0a0c, - 0x0db4, 0xa09c, 0x9420, 0xa0a0, 0x9319, 0x00c8, 0xa1c4, 0x2400, - 0x9122, 0xa1c8, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa0b4, 0x9420, - 0xa0b8, 0x9319, 0x0060, 0xa1dc, 0x2400, 0x9122, 0xa1e0, 0x2300, - 0x911b, 0x0a0c, 0x0db4, 0xa0cc, 0x9420, 0xa0d0, 0x9319, 0xac1e, - 0xab22, 0xa880, 0xc0fd, 0xa882, 0x2800, 0xa85a, 0x2c00, 0xa812, - 0x2a00, 0xa816, 0x000e, 0x000e, 0x000e, 0x9006, 0x0028, 0x008e, - 0x00de, 0x00ce, 0x9085, 0x0001, 0x0005, 0x2001, 0x0005, 0x2004, - 0xd0bc, 0x190c, 0x0dad, 0x9084, 0x0007, 0x0002, 0x2148, 0x1d4c, - 0x2148, 0x213e, 0x2141, 0x2144, 0x2141, 0x2144, 0x080c, 0x1d4c, - 0x0005, 0x080c, 0x118f, 0x0005, 0x080c, 0x1d4c, 0x080c, 0x118f, - 0x0005, 0x0126, 0x2091, 0x2600, 0x2079, 0x0200, 0x2071, 0x0260, - 0x2069, 0x1800, 0x7817, 0x0000, 0x789b, 0x0814, 0x78a3, 0x0406, - 0x789f, 0x0410, 0x2009, 0x013b, 0x200b, 0x0400, 0x781b, 0x0002, - 0x783b, 0x001f, 0x7837, 0x0020, 0x7803, 0x1600, 0x012e, 0x0005, - 0x2091, 0x2600, 0x781c, 0xd0a4, 0x190c, 0x2267, 0x7900, 0xd1dc, - 0x1118, 0x9084, 0x0006, 0x001a, 0x9084, 0x000e, 0x0002, 0x218f, - 0x2187, 0x7937, 0x2187, 0x2189, 0x2189, 0x2189, 0x2189, 0x791d, - 0x2187, 0x218b, 0x2187, 0x2189, 0x2187, 0x2189, 0x2187, 0x080c, - 0x0db4, 0x0031, 0x0020, 0x080c, 0x791d, 0x080c, 0x7937, 0x0005, - 0x0006, 0x0016, 0x0026, 0x080c, 0xd8f6, 0x7930, 0x9184, 0x0003, - 0x01c0, 0x2001, 0x19c6, 0x2004, 0x9005, 0x0170, 0x2001, 0x0133, - 0x2004, 0x9005, 0x090c, 0x0db4, 0x00c6, 0x2001, 0x19c6, 0x2064, - 0x080c, 0xb75d, 0x00ce, 0x00f8, 0x2009, 0x0040, 0x080c, 0x226a, - 0x00d0, 0x9184, 0x0014, 0x01a0, 0x6a00, 0x9286, 0x0003, 0x0160, - 0x080c, 0x6f9b, 0x1138, 0x080c, 0x727f, 0x080c, 0x5cda, 0x080c, - 0x6ecd, 0x0010, 0x080c, 0x5b99, 0x080c, 0x79e6, 0x0041, 0x0018, - 0x9184, 0x9540, 0x1dc8, 0x002e, 0x001e, 0x000e, 0x0005, 0x00e6, - 0x0036, 0x0046, 0x0056, 0x2071, 0x1a32, 0x080c, 0x195a, 0x005e, - 0x004e, 0x003e, 0x00ee, 0x0005, 0x0126, 0x2091, 0x2e00, 0x2071, - 0x1800, 0x7128, 0x2001, 0x193f, 0x2102, 0x2001, 0x1947, 0x2102, - 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, 0x2001, 0x0201, 0x789e, - 0x78a3, 0x0200, 0x9198, 0x0007, 0x831c, 0x831c, 0x831c, 0x9398, - 0x0005, 0x2320, 0x9182, 0x0204, 0x1230, 0x2011, 0x0008, 0x8423, - 0x8423, 0x8423, 0x0488, 0x9182, 0x024c, 0x1240, 0x2011, 0x0007, - 0x8403, 0x8003, 0x9400, 0x9400, 0x9420, 0x0430, 0x9182, 0x02bc, - 0x1238, 0x2011, 0x0006, 0x8403, 0x8003, 0x9400, 0x9420, 0x00e0, - 0x9182, 0x034c, 0x1230, 0x2011, 0x0005, 0x8403, 0x8003, 0x9420, - 0x0098, 0x9182, 0x042c, 0x1228, 0x2011, 0x0004, 0x8423, 0x8423, - 0x0058, 0x9182, 0x059c, 0x1228, 0x2011, 0x0003, 0x8403, 0x9420, - 0x0018, 0x2011, 0x0002, 0x8423, 0x9482, 0x0228, 0x8002, 0x8020, - 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, 0x8217, 0x8203, 0x9405, - 0x789a, 0x012e, 0x0005, 0x0006, 0x00d6, 0x2069, 0x0200, 0x6814, - 0x9084, 0xffc0, 0x910d, 0x6916, 0x00de, 0x000e, 0x0005, 0x00d6, - 0x2069, 0x0200, 0x9005, 0x6810, 0x0110, 0xc0a5, 0x0008, 0xc0a4, - 0x6812, 0x00de, 0x0005, 0x0006, 0x00d6, 0x2069, 0x0200, 0x6810, - 0x9084, 0xfff8, 0x910d, 0x6912, 0x00de, 0x000e, 0x0005, 0x7938, - 0x080c, 0x0dad, 0x00f6, 0x2079, 0x0200, 0x7902, 0xa001, 0xa001, - 0xa001, 0xa001, 0xa001, 0xa001, 0x7902, 0xa001, 0xa001, 0xa001, - 0xa001, 0xa001, 0xa001, 0x00fe, 0x0005, 0x0126, 0x2091, 0x2800, - 0x2061, 0x0100, 0x2071, 0x1800, 0x2009, 0x0000, 0x080c, 0x2a65, - 0x080c, 0x2980, 0x6054, 0x8004, 0x8004, 0x8004, 0x8004, 0x9084, - 0x000c, 0x6150, 0x918c, 0xfff3, 0x9105, 0x6052, 0x6050, 0x9084, - 0xb17f, 0x9085, 0x2000, 0x6052, 0x2009, 0x196d, 0x2011, 0x196e, - 0x6358, 0x939c, 0x38f0, 0x2320, 0x080c, 0x29c4, 0x1238, 0x939d, - 0x4003, 0x94a5, 0x8603, 0x230a, 0x2412, 0x0030, 0x939d, 0x0203, - 0x94a5, 0x8603, 0x230a, 0x2412, 0x9006, 0x080c, 0x29af, 0x9006, - 0x080c, 0x2992, 0x20a9, 0x0012, 0x1d04, 0x22bc, 0x2091, 0x6000, - 0x1f04, 0x22bc, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, 0x9085, - 0x0400, 0x9084, 0xdfff, 0x6052, 0x6024, 0x6026, 0x080c, 0x269e, - 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x26ae, 0x60e7, 0x0000, - 0x61ea, 0x60e3, 0x0002, 0x604b, 0xf7f7, 0x6043, 0x0000, 0x602f, - 0x0080, 0x602f, 0x0000, 0x6007, 0x149f, 0x60bb, 0x0000, 0x20a9, - 0x0018, 0x60bf, 0x0000, 0x1f04, 0x22e9, 0x60bb, 0x0000, 0x60bf, - 0x0108, 0x60bf, 0x0012, 0x60bf, 0x0320, 0x60bf, 0x0018, 0x601b, - 0x00f0, 0x601f, 0x001e, 0x600f, 0x006b, 0x602b, 0x402f, 0x012e, - 0x0005, 0x00f6, 0x2079, 0x0140, 0x78c3, 0x0080, 0x78c3, 0x0083, - 0x78c3, 0x0000, 0x00fe, 0x0005, 0x2001, 0x1834, 0x2003, 0x0000, - 0x2001, 0x1833, 0x2003, 0x0001, 0x0005, 0x0126, 0x2091, 0x2800, - 0x0006, 0x0016, 0x0026, 0x6124, 0x9184, 0x5e2c, 0x1118, 0x9184, - 0x0007, 0x002a, 0x9195, 0x0004, 0x9284, 0x0007, 0x0002, 0x2349, - 0x232f, 0x2332, 0x2335, 0x233a, 0x233c, 0x2340, 0x2344, 0x080c, - 0x82c6, 0x00b8, 0x080c, 0x8393, 0x00a0, 0x080c, 0x8393, 0x080c, - 0x82c6, 0x0078, 0x0099, 0x0068, 0x080c, 0x82c6, 0x0079, 0x0048, - 0x080c, 0x8393, 0x0059, 0x0028, 0x080c, 0x8393, 0x080c, 0x82c6, - 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x00a6, 0x6124, - 0x6028, 0xd09c, 0x0118, 0xd19c, 0x1904, 0x2597, 0xd1f4, 0x190c, - 0x0dad, 0x080c, 0x6f9b, 0x0904, 0x23a4, 0x080c, 0xc22c, 0x1120, - 0x7000, 0x9086, 0x0003, 0x0570, 0x6024, 0x9084, 0x1800, 0x0550, - 0x080c, 0x6fbe, 0x0118, 0x080c, 0x6fac, 0x1520, 0x6027, 0x0020, - 0x6043, 0x0000, 0x080c, 0xc22c, 0x0168, 0x080c, 0x6fbe, 0x1150, - 0x2001, 0x1977, 0x2003, 0x0001, 0x6027, 0x1800, 0x080c, 0x6e1c, - 0x0804, 0x259a, 0x70a0, 0x9005, 0x1150, 0x70a3, 0x0001, 0x00d6, - 0x2069, 0x0140, 0x080c, 0x6ff2, 0x00de, 0x1904, 0x259a, 0x080c, - 0x7289, 0x0428, 0x080c, 0x6fbe, 0x1590, 0x6024, 0x9084, 0x1800, - 0x1108, 0x0468, 0x080c, 0x7289, 0x080c, 0x727f, 0x080c, 0x5cda, - 0x080c, 0x6ecd, 0x0804, 0x2597, 0xd1ac, 0x1508, 0x6024, 0xd0dc, - 0x1170, 0xd0e4, 0x1178, 0xd0d4, 0x1190, 0xd0cc, 0x0130, 0x7094, - 0x9086, 0x0028, 0x1110, 0x080c, 0x716e, 0x0804, 0x2597, 0x080c, - 0x7284, 0x0048, 0x2001, 0x194d, 0x2003, 0x0002, 0x0020, 0x080c, - 0x70d4, 0x0804, 0x2597, 0x080c, 0x7208, 0x0804, 0x2597, 0xd1ac, - 0x0904, 0x24b8, 0x080c, 0x6f9b, 0x11c0, 0x6027, 0x0020, 0x0006, - 0x0026, 0x0036, 0x080c, 0x6fb5, 0x1158, 0x080c, 0x727f, 0x080c, - 0x5cda, 0x080c, 0x6ecd, 0x003e, 0x002e, 0x000e, 0x00ae, 0x0005, - 0x003e, 0x002e, 0x000e, 0x080c, 0x6f73, 0x0016, 0x0046, 0x00c6, - 0x644c, 0x9486, 0xf0f0, 0x1138, 0x2061, 0x0100, 0x644a, 0x6043, - 0x0090, 0x6043, 0x0010, 0x74d6, 0x948c, 0xff00, 0x7038, 0xd084, - 0x0178, 0x9186, 0xf800, 0x1160, 0x7044, 0xd084, 0x1148, 0xc085, - 0x7046, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x48e9, 0x003e, - 0x080c, 0xc225, 0x1904, 0x2495, 0x9196, 0xff00, 0x05a8, 0x705c, - 0x9084, 0x00ff, 0x810f, 0x81ff, 0x0110, 0x9116, 0x0568, 0x7130, - 0xd184, 0x1550, 0x080c, 0x3135, 0x0128, 0xc18d, 0x7132, 0x080c, - 0x6563, 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, 0x9294, - 0xff00, 0x9296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, 0x2495, - 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, - 0x2495, 0xc1ad, 0x2102, 0x0036, 0x73d4, 0x2011, 0x8013, 0x080c, - 0x48e9, 0x003e, 0x0804, 0x2495, 0x7038, 0xd08c, 0x1140, 0x2001, - 0x180c, 0x200c, 0xd1ac, 0x1904, 0x2495, 0xc1ad, 0x2102, 0x0036, - 0x73d4, 0x2011, 0x8013, 0x080c, 0x48e9, 0x003e, 0x7130, 0xc185, - 0x7132, 0x2011, 0x1854, 0x220c, 0x00f0, 0x0016, 0x2009, 0x0001, - 0x2011, 0x0100, 0x080c, 0x8218, 0x2019, 0x000e, 0x00c6, 0x2061, - 0x0000, 0x080c, 0xd4c7, 0x00ce, 0x9484, 0x00ff, 0x9080, 0x313a, - 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, 0x9006, 0x2009, 0x000e, - 0x080c, 0xd54b, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0002, - 0x2019, 0x0004, 0x080c, 0x2fa7, 0x001e, 0x0078, 0x0156, 0x00b6, - 0x20a9, 0x007f, 0x900e, 0x080c, 0x6247, 0x1110, 0x080c, 0x5cf4, - 0x8108, 0x1f04, 0x248b, 0x00be, 0x015e, 0x00ce, 0x004e, 0x080c, - 0x9dc8, 0x60e3, 0x0000, 0x001e, 0x2001, 0x1800, 0x2014, 0x9296, - 0x0004, 0x1170, 0xd19c, 0x11a0, 0x2011, 0x180c, 0x2214, 0xd29c, - 0x1120, 0x6204, 0x9295, 0x0002, 0x6206, 0x6228, 0xc29d, 0x622a, - 0x2003, 0x0001, 0x2001, 0x1825, 0x2003, 0x0000, 0x6027, 0x0020, - 0xd194, 0x0904, 0x2597, 0x0016, 0x6220, 0xd2b4, 0x0904, 0x2540, - 0x080c, 0x80a1, 0x080c, 0x93ad, 0x6027, 0x0004, 0x00f6, 0x2019, - 0x19c0, 0x2304, 0x907d, 0x0904, 0x250f, 0x7804, 0x9086, 0x0032, - 0x15f0, 0x00d6, 0x00c6, 0x00e6, 0x0096, 0x2069, 0x0140, 0x782c, - 0x685e, 0x7808, 0x685a, 0x6043, 0x0002, 0x2001, 0x0003, 0x8001, - 0x1df0, 0x6043, 0x0000, 0x2001, 0x003c, 0x8001, 0x1df0, 0x080c, - 0x2b26, 0x2001, 0x001e, 0x8001, 0x0240, 0x20a9, 0x0009, 0x080c, - 0x2a40, 0x6904, 0xd1dc, 0x1140, 0x0cb0, 0x2001, 0x0100, 0x080c, - 0x2b16, 0x9006, 0x080c, 0x2b16, 0x080c, 0x8861, 0x080c, 0x896d, - 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, 0x080c, 0x9e42, 0x009e, - 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x00ae, 0x0005, 0x00fe, + 0xa001, 0x8211, 0x1de0, 0x0059, 0x0804, 0x705a, 0x0479, 0x0039, + 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0005, 0x00e6, + 0x2071, 0x0200, 0x080c, 0x2a76, 0x2009, 0x003c, 0x080c, 0x2275, + 0x2001, 0x015d, 0x2003, 0x0000, 0x7000, 0x9084, 0x003c, 0x1de0, + 0x080c, 0x7f64, 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, 0x709e, + 0x2001, 0x020d, 0x2003, 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, + 0x12c5, 0x7803, 0x0001, 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, + 0x2014, 0x2003, 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, + 0x080c, 0x6faa, 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, + 0x201c, 0xd3dc, 0x1168, 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, + 0x1160, 0x2001, 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, + 0x2001, 0x015d, 0x2003, 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, + 0x2003, 0x0048, 0xa001, 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, + 0x8421, 0x1db0, 0x004e, 0x0c60, 0x004e, 0x0c40, 0x601c, 0xc084, + 0x601e, 0x0005, 0x2c08, 0x621c, 0x080c, 0x151a, 0x7930, 0x0005, + 0x2c08, 0x621c, 0x080c, 0x15c5, 0x7930, 0x0005, 0x8001, 0x1df0, + 0x0005, 0x2031, 0x0005, 0x781c, 0x9084, 0x0007, 0x0170, 0x2001, + 0x0038, 0x0c41, 0x9186, 0x0040, 0x0904, 0x1a5f, 0x2001, 0x001e, + 0x0c69, 0x8631, 0x1d80, 0x080c, 0x0db4, 0x781f, 0x0202, 0x2001, + 0x015d, 0x2003, 0x0000, 0x2001, 0x0b10, 0x0c01, 0x781c, 0xd084, + 0x0110, 0x0861, 0x04e0, 0x2001, 0x0030, 0x0891, 0x9186, 0x0040, + 0x0568, 0x781c, 0xd084, 0x1da8, 0x781f, 0x0101, 0x2001, 0x0014, + 0x0869, 0x2001, 0x0037, 0x0821, 0x9186, 0x0040, 0x0140, 0x2001, + 0x0030, 0x080c, 0x19f8, 0x9186, 0x0040, 0x190c, 0x0db4, 0x00d6, + 0x2069, 0x0200, 0x692c, 0xd1f4, 0x1170, 0xd1c4, 0x0160, 0xd19c, + 0x0130, 0x6800, 0x9085, 0x1800, 0x6802, 0x00de, 0x0080, 0x6908, + 0x9184, 0x0007, 0x1db0, 0x00de, 0x781f, 0x0100, 0x791c, 0x9184, + 0x0007, 0x090c, 0x0db4, 0xa001, 0xa001, 0x781f, 0x0200, 0x0005, + 0x0126, 0x2091, 0x2400, 0x2071, 0x1a3d, 0x2079, 0x0090, 0x012e, + 0x0005, 0x9280, 0x0005, 0x2004, 0x2048, 0xa97c, 0xd1dc, 0x1904, + 0x1af4, 0xa964, 0x9184, 0x0007, 0x0002, 0x1a7d, 0x1adf, 0x1a94, + 0x1a94, 0x1a94, 0x1ac7, 0x1aa7, 0x1a96, 0x918c, 0x00ff, 0x9186, + 0x0008, 0x1170, 0xa87c, 0xd0b4, 0x0904, 0x1d12, 0x9006, 0xa842, + 0xa83e, 0xa988, 0x2900, 0xa85a, 0xa813, 0x1f2e, 0x0804, 0x1af0, + 0x9186, 0x0048, 0x0904, 0x1adf, 0x080c, 0x0db4, 0xa87c, 0xd0b4, + 0x0904, 0x1d12, 0xa890, 0xa842, 0xa83a, 0xa88c, 0xa83e, 0xa836, + 0xa8ac, 0xa846, 0xa8b0, 0xa84a, 0xa988, 0x0804, 0x1ae7, 0xa864, + 0x9084, 0x00ff, 0x9086, 0x001e, 0x1d38, 0xa87c, 0xd0b4, 0x0904, + 0x1d12, 0xa890, 0xa842, 0xa83a, 0xa88c, 0xa83e, 0xa836, 0xa8ac, + 0xa846, 0xa8b0, 0xa84a, 0xa804, 0xa85a, 0x2040, 0xa064, 0x9084, + 0x000f, 0x9080, 0x1f33, 0x2005, 0xa812, 0xa988, 0x0448, 0x918c, + 0x00ff, 0x9186, 0x0015, 0x1540, 0xa87c, 0xd0b4, 0x0904, 0x1d12, + 0xa804, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x1f33, + 0x2005, 0xa812, 0xa988, 0x9006, 0xa842, 0xa83e, 0x0088, 0xa87c, + 0xd0b4, 0x0904, 0x1d12, 0xa988, 0x9006, 0xa842, 0xa83e, 0x2900, + 0xa85a, 0xa864, 0x9084, 0x000f, 0x9080, 0x1f33, 0x2005, 0xa812, + 0xa916, 0xa87c, 0xc0dd, 0xa87e, 0x0005, 0x00f6, 0x2079, 0x0090, + 0x782c, 0xd0fc, 0x190c, 0x1d57, 0x00e6, 0x2071, 0x1a3d, 0x7000, + 0x9005, 0x1904, 0x1b5d, 0x7206, 0x9280, 0x0005, 0x204c, 0x9280, + 0x0004, 0x2004, 0x782b, 0x0004, 0x00f6, 0x2079, 0x0200, 0x7803, + 0x0040, 0x00fe, 0x00b6, 0x2058, 0xb86c, 0x7836, 0xb890, 0x00be, + 0x00f6, 0x2079, 0x0200, 0x7803, 0x0040, 0xa001, 0xa001, 0xa001, + 0xa001, 0xa001, 0xa001, 0x781a, 0x2079, 0x0100, 0x8004, 0x78d6, + 0x00fe, 0xa814, 0x2050, 0xa858, 0x2040, 0xa810, 0x2060, 0xa064, + 0x90ec, 0x000f, 0xa944, 0x791a, 0x7116, 0xa848, 0x781e, 0x701a, + 0x9006, 0x700e, 0x7012, 0x7004, 0xa940, 0xa838, 0x9106, 0x1500, + 0xa93c, 0xa834, 0x9106, 0x11e0, 0x0006, 0x0016, 0xa938, 0xa834, + 0x9105, 0x0118, 0x001e, 0x000e, 0x0098, 0x001e, 0x000e, 0x8aff, + 0x01c8, 0x0126, 0x2091, 0x8000, 0x2009, 0x0306, 0x200b, 0x0808, + 0x00d9, 0x0108, 0x00c9, 0x012e, 0x9006, 0x00ee, 0x00fe, 0x0005, + 0x0036, 0x0046, 0xab38, 0xac34, 0x080c, 0x1f53, 0x004e, 0x003e, + 0x0d30, 0x0c98, 0x9085, 0x0001, 0x0c80, 0x2009, 0x0306, 0x200b, + 0x4800, 0x7027, 0x0000, 0x0005, 0x0076, 0x0066, 0x0056, 0x0046, + 0x0036, 0x0026, 0x8aff, 0x0904, 0x1d0b, 0x700c, 0x7214, 0x923a, + 0x7010, 0x7218, 0x9203, 0x0a04, 0x1d0a, 0x9705, 0x0904, 0x1d0a, + 0x903e, 0x2730, 0xa880, 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x1c9f, + 0x1bdf, 0x1bdf, 0x1c9f, 0x1c9f, 0x1c7c, 0x1c9f, 0x1bdf, 0x1c83, + 0x1c2e, 0x1c2e, 0x1c9f, 0x1c9f, 0x1c9f, 0x1c76, 0x1c2e, 0xc0fc, + 0xa882, 0xab2c, 0xaa30, 0xad1c, 0xac20, 0xdd9c, 0x0904, 0x1ca1, + 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, + 0x1bcb, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bcf, 0x1bc9, + 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bd3, 0x1bc9, 0x1bc9, 0x1bc9, + 0x1bc9, 0x1bc9, 0x1bd7, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, 0x1bc9, + 0x1bdb, 0x080c, 0x0db4, 0xa774, 0xa678, 0x0804, 0x1ca1, 0xa78c, + 0xa690, 0x0804, 0x1ca1, 0xa7a4, 0xa6a8, 0x0804, 0x1ca1, 0xa7bc, + 0xa6c0, 0x0804, 0x1ca1, 0xa7d4, 0xa6d8, 0x0804, 0x1ca1, 0x2c05, + 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1c02, + 0x1c02, 0x1c04, 0x1c02, 0x1c02, 0x1c02, 0x1c0a, 0x1c02, 0x1c02, + 0x1c02, 0x1c10, 0x1c02, 0x1c02, 0x1c02, 0x1c16, 0x1c02, 0x1c02, + 0x1c02, 0x1c1c, 0x1c02, 0x1c02, 0x1c02, 0x1c22, 0x1c02, 0x1c02, + 0x1c02, 0x1c28, 0x080c, 0x0db4, 0xa574, 0xa478, 0xa37c, 0xa280, + 0x0804, 0x1ca1, 0xa584, 0xa488, 0xa38c, 0xa290, 0x0804, 0x1ca1, + 0xa594, 0xa498, 0xa39c, 0xa2a0, 0x0804, 0x1ca1, 0xa5a4, 0xa4a8, + 0xa3ac, 0xa2b0, 0x0804, 0x1ca1, 0xa5b4, 0xa4b8, 0xa3bc, 0xa2c0, + 0x0804, 0x1ca1, 0xa5c4, 0xa4c8, 0xa3cc, 0xa2d0, 0x0804, 0x1ca1, + 0xa5d4, 0xa4d8, 0xa3dc, 0xa2e0, 0x0804, 0x1ca1, 0x2c05, 0x908a, + 0x0034, 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1c51, 0x1c4f, + 0x1c4f, 0x1c4f, 0x1c4f, 0x1c4f, 0x1c59, 0x1c4f, 0x1c4f, 0x1c4f, + 0x1c4f, 0x1c4f, 0x1c61, 0x1c4f, 0x1c4f, 0x1c4f, 0x1c4f, 0x1c4f, + 0x1c68, 0x1c4f, 0x1c4f, 0x1c4f, 0x1c4f, 0x1c4f, 0x1c6f, 0x080c, + 0x0db4, 0xa56c, 0xa470, 0xa774, 0xa678, 0xa37c, 0xa280, 0x0804, + 0x1ca1, 0xa584, 0xa488, 0xa78c, 0xa690, 0xa394, 0xa298, 0x0804, + 0x1ca1, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0xa3ac, 0xa2b0, 0x04c8, + 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0xa3c4, 0xa2c8, 0x0490, 0xa5cc, + 0xa4d0, 0xa7d4, 0xa6d8, 0xa3dc, 0xa2e0, 0x0458, 0xa864, 0x9084, + 0x00ff, 0x9086, 0x001e, 0x1518, 0x080c, 0x1eeb, 0x1904, 0x1b7a, + 0x900e, 0x0804, 0x1d0b, 0xab64, 0x939c, 0x00ff, 0x9386, 0x0048, + 0x1180, 0x00c6, 0x7004, 0x2060, 0x6004, 0x9086, 0x0043, 0x00ce, + 0x0904, 0x1c2e, 0xab9c, 0x9016, 0xad8c, 0xac90, 0xaf94, 0xae98, + 0x0040, 0x9386, 0x0008, 0x0904, 0x1c2e, 0x080c, 0x0db4, 0x080c, + 0x0db4, 0x2009, 0x030f, 0x2104, 0xd0fc, 0x0530, 0x0066, 0x2009, + 0x0306, 0x2104, 0x9084, 0x0030, 0x15c8, 0x2031, 0x1000, 0x200b, + 0x4000, 0x2600, 0x9302, 0x928b, 0x0000, 0xa82e, 0xa932, 0x0278, + 0x9105, 0x0168, 0x2011, 0x0000, 0x2618, 0x2600, 0x9500, 0xa81e, + 0x9481, 0x0000, 0xa822, 0xa880, 0xc0fd, 0xa882, 0x0020, 0xa82f, + 0x0000, 0xa833, 0x0000, 0x006e, 0x7b12, 0x7a16, 0x7d02, 0x7c06, + 0x7f0a, 0x7e0e, 0x782b, 0x0001, 0x7000, 0x8000, 0x7002, 0xa83c, + 0x9300, 0xa83e, 0xa840, 0x9201, 0xa842, 0x700c, 0x9300, 0x700e, + 0x7010, 0x9201, 0x7012, 0x080c, 0x1eeb, 0x0428, 0x2031, 0x0080, + 0x9584, 0x007f, 0x0108, 0x9632, 0x7124, 0x7000, 0x9086, 0x0000, + 0x1198, 0xc185, 0x7126, 0x2009, 0x0306, 0x2104, 0xd0b4, 0x1904, + 0x1cb1, 0x200b, 0x4040, 0x2009, 0x1a56, 0x2104, 0x8000, 0x0a04, + 0x1cb1, 0x200a, 0x0804, 0x1cb1, 0xc18d, 0x7126, 0xd184, 0x1d58, + 0x0804, 0x1cb1, 0x9006, 0x002e, 0x003e, 0x004e, 0x005e, 0x006e, + 0x007e, 0x0005, 0x080c, 0x0db4, 0x0026, 0x2001, 0x0105, 0x2003, + 0x0010, 0x782b, 0x0004, 0x7003, 0x0000, 0x7004, 0x0016, 0x080c, + 0x1b6d, 0x001e, 0x2060, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0118, + 0xa880, 0xc0bd, 0xa882, 0x6020, 0x9086, 0x0006, 0x1180, 0x2061, + 0x0100, 0x62c8, 0x2001, 0x00fa, 0x8001, 0x1df0, 0x60c8, 0x9206, + 0x1dc0, 0x60c4, 0xa89a, 0x60c8, 0xa896, 0x7004, 0x2060, 0x00c6, + 0x080c, 0xb75c, 0x00ce, 0x2001, 0x19ce, 0x2004, 0x9c06, 0x1160, + 0x2009, 0x0040, 0x080c, 0x2275, 0x080c, 0x98d4, 0x2011, 0x0000, + 0x080c, 0x9765, 0x080c, 0x8a68, 0x002e, 0x0804, 0x1e9b, 0x0126, + 0x2091, 0x2400, 0xa858, 0x2040, 0x792c, 0x782b, 0x0002, 0x9184, + 0x0700, 0x1904, 0x1d14, 0x7000, 0x0002, 0x1e9b, 0x1d69, 0x1de9, + 0x1e99, 0x8001, 0x7002, 0x7027, 0x0000, 0xd19c, 0x1158, 0x8aff, + 0x0904, 0x1db6, 0x080c, 0x1b74, 0x0904, 0x1e9b, 0x080c, 0x1b74, + 0x0804, 0x1e9b, 0x782b, 0x0004, 0xd194, 0x0148, 0xa880, 0xc0fc, + 0xa882, 0x8aff, 0x1518, 0xa87c, 0xc0f5, 0xa87e, 0x00f8, 0x0026, + 0x0036, 0xab3c, 0xaa40, 0x0016, 0x7910, 0xa82c, 0x9100, 0xa82e, + 0x7914, 0xa830, 0x9101, 0xa832, 0x001e, 0x7810, 0x931a, 0x7814, + 0x9213, 0x7800, 0xa81e, 0x7804, 0xa822, 0xab3e, 0xaa42, 0x003e, + 0x002e, 0x080c, 0x1f06, 0xa880, 0xc0fd, 0xa882, 0x2a00, 0xa816, + 0x2800, 0xa85a, 0x2c00, 0xa812, 0x7003, 0x0000, 0x2009, 0x0306, + 0x200b, 0x4800, 0x7027, 0x0000, 0x0804, 0x1e9b, 0x00f6, 0x0026, + 0x781c, 0x0006, 0x7818, 0x0006, 0x2079, 0x0100, 0x7a14, 0x9284, + 0x1984, 0x9085, 0x0012, 0x7816, 0x0036, 0x2019, 0x1000, 0x8319, + 0x090c, 0x0db4, 0x7820, 0xd0bc, 0x1dd0, 0x003e, 0x79c8, 0x000e, + 0x9102, 0x001e, 0x0006, 0x0016, 0x79c4, 0x000e, 0x9103, 0x78c6, + 0x000e, 0x78ca, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x002e, + 0x00fe, 0x782b, 0x0008, 0x7003, 0x0000, 0x080c, 0x1b6d, 0x0804, + 0x1e9b, 0x8001, 0x7002, 0x7024, 0x8004, 0x7026, 0xd194, 0x0170, + 0x782c, 0xd0fc, 0x1904, 0x1d5c, 0xd19c, 0x1904, 0x1e97, 0x8aff, + 0x0904, 0x1e9b, 0x080c, 0x1b74, 0x0804, 0x1e9b, 0x0026, 0x0036, + 0xab3c, 0xaa40, 0x080c, 0x1f06, 0xdd9c, 0x1904, 0x1e56, 0x2c05, + 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1e2a, + 0x1e2a, 0x1e2c, 0x1e2a, 0x1e2a, 0x1e2a, 0x1e32, 0x1e2a, 0x1e2a, + 0x1e2a, 0x1e38, 0x1e2a, 0x1e2a, 0x1e2a, 0x1e3e, 0x1e2a, 0x1e2a, + 0x1e2a, 0x1e44, 0x1e2a, 0x1e2a, 0x1e2a, 0x1e4a, 0x1e2a, 0x1e2a, + 0x1e2a, 0x1e50, 0x080c, 0x0db4, 0xa07c, 0x931a, 0xa080, 0x9213, + 0x0804, 0x1d8b, 0xa08c, 0x931a, 0xa090, 0x9213, 0x0804, 0x1d8b, + 0xa09c, 0x931a, 0xa0a0, 0x9213, 0x0804, 0x1d8b, 0xa0ac, 0x931a, + 0xa0b0, 0x9213, 0x0804, 0x1d8b, 0xa0bc, 0x931a, 0xa0c0, 0x9213, + 0x0804, 0x1d8b, 0xa0cc, 0x931a, 0xa0d0, 0x9213, 0x0804, 0x1d8b, + 0xa0dc, 0x931a, 0xa0e0, 0x9213, 0x0804, 0x1d8b, 0x2c05, 0x908a, + 0x0034, 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1e79, 0x1e77, + 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e7f, 0x1e77, 0x1e77, 0x1e77, + 0x1e77, 0x1e77, 0x1e85, 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e77, + 0x1e8b, 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e77, 0x1e91, 0x080c, + 0x0db4, 0xa07c, 0x931a, 0xa080, 0x9213, 0x0804, 0x1d8b, 0xa094, + 0x931a, 0xa098, 0x9213, 0x0804, 0x1d8b, 0xa0ac, 0x931a, 0xa0b0, + 0x9213, 0x0804, 0x1d8b, 0xa0c4, 0x931a, 0xa0c8, 0x9213, 0x0804, + 0x1d8b, 0xa0dc, 0x931a, 0xa0e0, 0x9213, 0x0804, 0x1d8b, 0x0804, + 0x1d87, 0x080c, 0x0db4, 0x012e, 0x0005, 0x00f6, 0x00e6, 0x2071, + 0x1a3d, 0x7000, 0x9086, 0x0000, 0x0904, 0x1ee6, 0x2079, 0x0090, + 0x2009, 0x0207, 0x210c, 0xd194, 0x01b8, 0x2009, 0x020c, 0x210c, + 0x9184, 0x0003, 0x0188, 0x080c, 0xd90f, 0x2001, 0x0133, 0x2004, + 0x9005, 0x090c, 0x0db4, 0x0016, 0x2009, 0x0040, 0x080c, 0x2275, + 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, 0x2104, 0x2009, + 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, 0x2275, + 0x782c, 0xd0fc, 0x09a8, 0x080c, 0x1d57, 0x7000, 0x9086, 0x0000, + 0x1978, 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, + 0x080c, 0x2275, 0x782b, 0x0002, 0x7003, 0x0000, 0x080c, 0x1b6d, + 0x00ee, 0x00fe, 0x0005, 0xa880, 0xd0fc, 0x11a8, 0x8c60, 0x2c05, + 0x9005, 0x0110, 0x8a51, 0x0005, 0xa004, 0x9005, 0x0168, 0xa85a, + 0x2040, 0xa064, 0x9084, 0x000f, 0x9080, 0x1f33, 0x2065, 0x8cff, + 0x090c, 0x0db4, 0x8a51, 0x0005, 0x2050, 0x0005, 0xa880, 0xd0fc, + 0x11b8, 0x8a50, 0x8c61, 0x2c05, 0x9005, 0x1190, 0x2800, 0x9906, + 0x0120, 0xa000, 0x9005, 0x1108, 0x2900, 0x2040, 0xa85a, 0xa064, + 0x9084, 0x000f, 0x9080, 0x1f43, 0x2065, 0x8cff, 0x090c, 0x0db4, + 0x0005, 0x0000, 0x001d, 0x0021, 0x0025, 0x0029, 0x002d, 0x0031, + 0x0035, 0x0000, 0x001b, 0x0021, 0x0027, 0x002d, 0x0033, 0x0000, + 0x0000, 0x0023, 0x0000, 0x0000, 0x1f26, 0x1f22, 0x0000, 0x0000, + 0x1f30, 0x0000, 0x1f26, 0x1f2d, 0x1f2d, 0x1f2a, 0x0000, 0x0000, + 0x0000, 0x1f30, 0x1f2d, 0x0000, 0x1f28, 0x1f28, 0x0000, 0x0000, + 0x1f30, 0x0000, 0x1f28, 0x1f2e, 0x1f2e, 0x1f2e, 0x0000, 0x0000, + 0x0000, 0x1f30, 0x1f2e, 0x00c6, 0x00d6, 0x0086, 0xab42, 0xac3e, + 0xa888, 0x9055, 0x0904, 0x2132, 0x2940, 0xa064, 0x90ec, 0x000f, + 0x9084, 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, 0x1f2e, 0x00d0, + 0x9de0, 0x1f33, 0x9d86, 0x0007, 0x0130, 0x9d86, 0x000e, 0x0118, + 0x9d86, 0x000f, 0x1120, 0xa08c, 0x9422, 0xa090, 0x931b, 0x2c05, + 0x9065, 0x1140, 0x0310, 0x0804, 0x2132, 0xa004, 0x9045, 0x0904, + 0x2132, 0x08d8, 0x2c05, 0x9005, 0x0904, 0x201a, 0xdd9c, 0x1904, + 0x1fd6, 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, + 0x1fab, 0x1fab, 0x1fad, 0x1fab, 0x1fab, 0x1fab, 0x1fb3, 0x1fab, + 0x1fab, 0x1fab, 0x1fb9, 0x1fab, 0x1fab, 0x1fab, 0x1fbf, 0x1fab, + 0x1fab, 0x1fab, 0x1fc5, 0x1fab, 0x1fab, 0x1fab, 0x1fcb, 0x1fab, + 0x1fab, 0x1fab, 0x1fd1, 0x080c, 0x0db4, 0xa07c, 0x9422, 0xa080, + 0x931b, 0x0804, 0x2010, 0xa08c, 0x9422, 0xa090, 0x931b, 0x0804, + 0x2010, 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, 0x2010, 0xa0ac, + 0x9422, 0xa0b0, 0x931b, 0x0804, 0x2010, 0xa0bc, 0x9422, 0xa0c0, + 0x931b, 0x0804, 0x2010, 0xa0cc, 0x9422, 0xa0d0, 0x931b, 0x0804, + 0x2010, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x04d0, 0x908a, 0x0034, + 0x1a0c, 0x0db4, 0x9082, 0x001b, 0x0002, 0x1ff8, 0x1ff6, 0x1ff6, + 0x1ff6, 0x1ff6, 0x1ff6, 0x1ffd, 0x1ff6, 0x1ff6, 0x1ff6, 0x1ff6, + 0x1ff6, 0x2002, 0x1ff6, 0x1ff6, 0x1ff6, 0x1ff6, 0x1ff6, 0x2007, + 0x1ff6, 0x1ff6, 0x1ff6, 0x1ff6, 0x1ff6, 0x200c, 0x080c, 0x0db4, + 0xa07c, 0x9422, 0xa080, 0x931b, 0x0098, 0xa094, 0x9422, 0xa098, + 0x931b, 0x0070, 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0048, 0xa0c4, + 0x9422, 0xa0c8, 0x931b, 0x0020, 0xa0dc, 0x9422, 0xa0e0, 0x931b, + 0x0630, 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, 0x2132, 0x8c60, + 0x0804, 0x1f82, 0xa004, 0x9045, 0x0904, 0x2132, 0x0804, 0x1f5d, + 0x8a51, 0x0904, 0x2132, 0x8c60, 0x2c05, 0x9005, 0x1158, 0xa004, + 0x9045, 0x0904, 0x2132, 0xa064, 0x90ec, 0x000f, 0x9de0, 0x1f33, + 0x2c05, 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, 0x2127, 0x2c05, + 0x8422, 0x8420, 0x831a, 0x9399, 0x0000, 0xac2e, 0xab32, 0xdd9c, + 0x1904, 0x20c4, 0x9082, 0x001b, 0x0002, 0x2060, 0x2060, 0x2062, + 0x2060, 0x2060, 0x2060, 0x2070, 0x2060, 0x2060, 0x2060, 0x207e, + 0x2060, 0x2060, 0x2060, 0x208c, 0x2060, 0x2060, 0x2060, 0x209a, + 0x2060, 0x2060, 0x2060, 0x20a8, 0x2060, 0x2060, 0x2060, 0x20b6, + 0x080c, 0x0db4, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, + 0x0a0c, 0x0db4, 0xa074, 0x9420, 0xa078, 0x9319, 0x0804, 0x2122, + 0xa18c, 0x2400, 0x9122, 0xa190, 0x2300, 0x911b, 0x0a0c, 0x0db4, + 0xa084, 0x9420, 0xa088, 0x9319, 0x0804, 0x2122, 0xa19c, 0x2400, + 0x9122, 0xa1a0, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa094, 0x9420, + 0xa098, 0x9319, 0x0804, 0x2122, 0xa1ac, 0x2400, 0x9122, 0xa1b0, + 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa0a4, 0x9420, 0xa0a8, 0x9319, + 0x0804, 0x2122, 0xa1bc, 0x2400, 0x9122, 0xa1c0, 0x2300, 0x911b, + 0x0a0c, 0x0db4, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0804, 0x2122, + 0xa1cc, 0x2400, 0x9122, 0xa1d0, 0x2300, 0x911b, 0x0a0c, 0x0db4, + 0xa0c4, 0x9420, 0xa0c8, 0x9319, 0x0804, 0x2122, 0xa1dc, 0x2400, + 0x9122, 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa0d4, 0x9420, + 0xa0d8, 0x9319, 0x0804, 0x2122, 0x9082, 0x001b, 0x0002, 0x20e2, + 0x20e0, 0x20e0, 0x20e0, 0x20e0, 0x20e0, 0x20ef, 0x20e0, 0x20e0, + 0x20e0, 0x20e0, 0x20e0, 0x20fc, 0x20e0, 0x20e0, 0x20e0, 0x20e0, + 0x20e0, 0x2109, 0x20e0, 0x20e0, 0x20e0, 0x20e0, 0x20e0, 0x2116, + 0x080c, 0x0db4, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, + 0x0a0c, 0x0db4, 0xa06c, 0x9420, 0xa070, 0x9319, 0x0498, 0xa194, + 0x2400, 0x9122, 0xa198, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa084, + 0x9420, 0xa088, 0x9319, 0x0430, 0xa1ac, 0x2400, 0x9122, 0xa1b0, + 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa09c, 0x9420, 0xa0a0, 0x9319, + 0x00c8, 0xa1c4, 0x2400, 0x9122, 0xa1c8, 0x2300, 0x911b, 0x0a0c, + 0x0db4, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0060, 0xa1dc, 0x2400, + 0x9122, 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0db4, 0xa0cc, 0x9420, + 0xa0d0, 0x9319, 0xac1e, 0xab22, 0xa880, 0xc0fd, 0xa882, 0x2800, + 0xa85a, 0x2c00, 0xa812, 0x2a00, 0xa816, 0x000e, 0x000e, 0x000e, + 0x9006, 0x0028, 0x008e, 0x00de, 0x00ce, 0x9085, 0x0001, 0x0005, + 0x2001, 0x0005, 0x2004, 0xd0bc, 0x190c, 0x0dad, 0x9084, 0x0007, + 0x0002, 0x2153, 0x1d57, 0x2153, 0x2149, 0x214c, 0x214f, 0x214c, + 0x214f, 0x080c, 0x1d57, 0x0005, 0x080c, 0x118f, 0x0005, 0x080c, + 0x1d57, 0x080c, 0x118f, 0x0005, 0x0126, 0x2091, 0x2600, 0x2079, + 0x0200, 0x2071, 0x0260, 0x2069, 0x1800, 0x7817, 0x0000, 0x789b, + 0x0814, 0x78a3, 0x0406, 0x789f, 0x0410, 0x2009, 0x013b, 0x200b, + 0x0400, 0x781b, 0x0002, 0x783b, 0x001f, 0x7837, 0x0020, 0x7803, + 0x1600, 0x012e, 0x0005, 0x2091, 0x2600, 0x781c, 0xd0a4, 0x190c, + 0x2272, 0x7900, 0xd1dc, 0x1118, 0x9084, 0x0006, 0x001a, 0x9084, + 0x000e, 0x0002, 0x219a, 0x2192, 0x7945, 0x2192, 0x2194, 0x2194, + 0x2194, 0x2194, 0x792b, 0x2192, 0x2196, 0x2192, 0x2194, 0x2192, + 0x2194, 0x2192, 0x080c, 0x0db4, 0x0031, 0x0020, 0x080c, 0x792b, + 0x080c, 0x7945, 0x0005, 0x0006, 0x0016, 0x0026, 0x080c, 0xd90f, + 0x7930, 0x9184, 0x0003, 0x01c0, 0x2001, 0x19ce, 0x2004, 0x9005, + 0x0170, 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0db4, 0x00c6, + 0x2001, 0x19ce, 0x2064, 0x080c, 0xb75c, 0x00ce, 0x00f8, 0x2009, + 0x0040, 0x080c, 0x2275, 0x00d0, 0x9184, 0x0014, 0x01a0, 0x6a00, + 0x9286, 0x0003, 0x0160, 0x080c, 0x6faa, 0x1138, 0x080c, 0x728c, + 0x080c, 0x5ce5, 0x080c, 0x6edc, 0x0010, 0x080c, 0x5ba4, 0x080c, + 0x79f4, 0x0041, 0x0018, 0x9184, 0x9540, 0x1dc8, 0x002e, 0x001e, + 0x000e, 0x0005, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a3a, + 0x080c, 0x196a, 0x005e, 0x004e, 0x003e, 0x00ee, 0x0005, 0x0126, + 0x2091, 0x2e00, 0x2071, 0x1800, 0x7128, 0x2001, 0x1947, 0x2102, + 0x2001, 0x194f, 0x2102, 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, + 0x2001, 0x0201, 0x789e, 0x78a3, 0x0200, 0x9198, 0x0007, 0x831c, + 0x831c, 0x831c, 0x9398, 0x0005, 0x2320, 0x9182, 0x0204, 0x1230, + 0x2011, 0x0008, 0x8423, 0x8423, 0x8423, 0x0488, 0x9182, 0x024c, + 0x1240, 0x2011, 0x0007, 0x8403, 0x8003, 0x9400, 0x9400, 0x9420, + 0x0430, 0x9182, 0x02bc, 0x1238, 0x2011, 0x0006, 0x8403, 0x8003, + 0x9400, 0x9420, 0x00e0, 0x9182, 0x034c, 0x1230, 0x2011, 0x0005, + 0x8403, 0x8003, 0x9420, 0x0098, 0x9182, 0x042c, 0x1228, 0x2011, + 0x0004, 0x8423, 0x8423, 0x0058, 0x9182, 0x059c, 0x1228, 0x2011, + 0x0003, 0x8403, 0x9420, 0x0018, 0x2011, 0x0002, 0x8423, 0x9482, + 0x0228, 0x8002, 0x8020, 0x8301, 0x9402, 0x0110, 0x0208, 0x8321, + 0x8217, 0x8203, 0x9405, 0x789a, 0x012e, 0x0005, 0x0006, 0x00d6, + 0x2069, 0x0200, 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x00de, + 0x000e, 0x0005, 0x00d6, 0x2069, 0x0200, 0x9005, 0x6810, 0x0110, + 0xc0a5, 0x0008, 0xc0a4, 0x6812, 0x00de, 0x0005, 0x0006, 0x00d6, + 0x2069, 0x0200, 0x6810, 0x9084, 0xfff8, 0x910d, 0x6912, 0x00de, + 0x000e, 0x0005, 0x7938, 0x080c, 0x0dad, 0x00f6, 0x2079, 0x0200, + 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x7902, + 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x00fe, 0x0005, + 0x0126, 0x2091, 0x2800, 0x2061, 0x0100, 0x2071, 0x1800, 0x2009, + 0x0000, 0x080c, 0x2a70, 0x080c, 0x298b, 0x6054, 0x8004, 0x8004, + 0x8004, 0x8004, 0x9084, 0x000c, 0x6150, 0x918c, 0xfff3, 0x9105, + 0x6052, 0x6050, 0x9084, 0xb17f, 0x9085, 0x2000, 0x6052, 0x2009, + 0x1975, 0x2011, 0x1976, 0x6358, 0x939c, 0x38f0, 0x2320, 0x080c, + 0x29cf, 0x1238, 0x939d, 0x4003, 0x94a5, 0x8603, 0x230a, 0x2412, + 0x0030, 0x939d, 0x0203, 0x94a5, 0x8603, 0x230a, 0x2412, 0x9006, + 0x080c, 0x29ba, 0x9006, 0x080c, 0x299d, 0x20a9, 0x0012, 0x1d04, + 0x22c7, 0x2091, 0x6000, 0x1f04, 0x22c7, 0x602f, 0x0100, 0x602f, + 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x6024, + 0x6026, 0x080c, 0x26a9, 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, + 0x26b9, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0002, 0x604b, 0xf7f7, + 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, 0x6007, 0x149f, + 0x60bb, 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, 0x1f04, 0x22f4, + 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x60bf, 0x0320, + 0x60bf, 0x0018, 0x601b, 0x00f0, 0x601f, 0x001e, 0x600f, 0x006b, + 0x602b, 0x402f, 0x012e, 0x0005, 0x00f6, 0x2079, 0x0140, 0x78c3, + 0x0080, 0x78c3, 0x0083, 0x78c3, 0x0000, 0x00fe, 0x0005, 0x2001, + 0x1834, 0x2003, 0x0000, 0x2001, 0x1833, 0x2003, 0x0001, 0x0005, + 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x6124, 0x9184, + 0x5e2c, 0x1118, 0x9184, 0x0007, 0x002a, 0x9195, 0x0004, 0x9284, + 0x0007, 0x0002, 0x2354, 0x233a, 0x233d, 0x2340, 0x2345, 0x2347, + 0x234b, 0x234f, 0x080c, 0x82e4, 0x00b8, 0x080c, 0x83b1, 0x00a0, + 0x080c, 0x83b1, 0x080c, 0x82e4, 0x0078, 0x0099, 0x0068, 0x080c, + 0x82e4, 0x0079, 0x0048, 0x080c, 0x83b1, 0x0059, 0x0028, 0x080c, + 0x83b1, 0x080c, 0x82e4, 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, + 0x0005, 0x00a6, 0x6124, 0x6028, 0xd09c, 0x0118, 0xd19c, 0x1904, + 0x25a2, 0xd1f4, 0x190c, 0x0dad, 0x080c, 0x6faa, 0x0904, 0x23af, + 0x080c, 0xc23b, 0x1120, 0x7000, 0x9086, 0x0003, 0x0570, 0x6024, + 0x9084, 0x1800, 0x0550, 0x080c, 0x6fcd, 0x0118, 0x080c, 0x6fbb, + 0x1520, 0x6027, 0x0020, 0x6043, 0x0000, 0x080c, 0xc23b, 0x0168, + 0x080c, 0x6fcd, 0x1150, 0x2001, 0x197f, 0x2003, 0x0001, 0x6027, + 0x1800, 0x080c, 0x6e2b, 0x0804, 0x25a5, 0x70a0, 0x9005, 0x1150, + 0x70a3, 0x0001, 0x00d6, 0x2069, 0x0140, 0x080c, 0x7001, 0x00de, + 0x1904, 0x25a5, 0x080c, 0x7296, 0x0428, 0x080c, 0x6fcd, 0x1590, + 0x6024, 0x9084, 0x1800, 0x1108, 0x0468, 0x080c, 0x7296, 0x080c, + 0x728c, 0x080c, 0x5ce5, 0x080c, 0x6edc, 0x0804, 0x25a2, 0xd1ac, + 0x1508, 0x6024, 0xd0dc, 0x1170, 0xd0e4, 0x1178, 0xd0d4, 0x1190, + 0xd0cc, 0x0130, 0x7094, 0x9086, 0x0028, 0x1110, 0x080c, 0x717b, + 0x0804, 0x25a2, 0x080c, 0x7291, 0x0048, 0x2001, 0x1955, 0x2003, + 0x0002, 0x0020, 0x080c, 0x70e1, 0x0804, 0x25a2, 0x080c, 0x7215, + 0x0804, 0x25a2, 0xd1ac, 0x0904, 0x24c3, 0x080c, 0x6faa, 0x11c0, + 0x6027, 0x0020, 0x0006, 0x0026, 0x0036, 0x080c, 0x6fc4, 0x1158, + 0x080c, 0x728c, 0x080c, 0x5ce5, 0x080c, 0x6edc, 0x003e, 0x002e, + 0x000e, 0x00ae, 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x6f82, + 0x0016, 0x0046, 0x00c6, 0x644c, 0x9486, 0xf0f0, 0x1138, 0x2061, + 0x0100, 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, 0x74d6, 0x948c, + 0xff00, 0x7038, 0xd084, 0x0178, 0x9186, 0xf800, 0x1160, 0x7044, + 0xd084, 0x1148, 0xc085, 0x7046, 0x0036, 0x2418, 0x2011, 0x8016, + 0x080c, 0x48f4, 0x003e, 0x080c, 0xc234, 0x1904, 0x24a0, 0x9196, + 0xff00, 0x05a8, 0x705c, 0x9084, 0x00ff, 0x810f, 0x81ff, 0x0110, + 0x9116, 0x0568, 0x7130, 0xd184, 0x1550, 0x080c, 0x3140, 0x0128, + 0xc18d, 0x7132, 0x080c, 0x6572, 0x1510, 0x6240, 0x9294, 0x0010, + 0x0130, 0x6248, 0x9294, 0xff00, 0x9296, 0xff00, 0x01c0, 0x7030, + 0xd08c, 0x0904, 0x24a0, 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, + 0x200c, 0xd1ac, 0x1904, 0x24a0, 0xc1ad, 0x2102, 0x0036, 0x73d4, + 0x2011, 0x8013, 0x080c, 0x48f4, 0x003e, 0x0804, 0x24a0, 0x7038, + 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, 0x24a0, + 0xc1ad, 0x2102, 0x0036, 0x73d4, 0x2011, 0x8013, 0x080c, 0x48f4, + 0x003e, 0x7130, 0xc185, 0x7132, 0x2011, 0x185c, 0x220c, 0x00f0, + 0x0016, 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x8236, 0x2019, + 0x000e, 0x00c6, 0x2061, 0x0000, 0x080c, 0xd4e0, 0x00ce, 0x9484, + 0x00ff, 0x9080, 0x3145, 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, + 0x9006, 0x2009, 0x000e, 0x080c, 0xd564, 0x001e, 0xd1ac, 0x1148, + 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, 0x2fb2, 0x001e, + 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x6256, + 0x1110, 0x080c, 0x5cff, 0x8108, 0x1f04, 0x2496, 0x00be, 0x015e, + 0x00ce, 0x004e, 0x080c, 0x9db5, 0x60e3, 0x0000, 0x001e, 0x2001, + 0x1800, 0x2014, 0x9296, 0x0004, 0x1170, 0xd19c, 0x11a0, 0x2011, + 0x180c, 0x2214, 0xd29c, 0x1120, 0x6204, 0x9295, 0x0002, 0x6206, + 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, 0x2001, 0x1825, 0x2003, + 0x0000, 0x6027, 0x0020, 0xd194, 0x0904, 0x25a2, 0x0016, 0x6220, + 0xd2b4, 0x0904, 0x254b, 0x080c, 0x80bf, 0x080c, 0x93c7, 0x6027, + 0x0004, 0x00f6, 0x2019, 0x19c8, 0x2304, 0x907d, 0x0904, 0x251a, + 0x7804, 0x9086, 0x0032, 0x15f0, 0x00d6, 0x00c6, 0x00e6, 0x0096, + 0x2069, 0x0140, 0x782c, 0x685e, 0x7808, 0x685a, 0x6043, 0x0002, + 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x2001, 0x003c, + 0x8001, 0x1df0, 0x080c, 0x2b31, 0x2001, 0x001e, 0x8001, 0x0240, + 0x20a9, 0x0009, 0x080c, 0x2a4b, 0x6904, 0xd1dc, 0x1140, 0x0cb0, + 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, 0x2b21, 0x080c, + 0x887f, 0x080c, 0x898b, 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, + 0x080c, 0x9e2f, 0x009e, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, + 0x00ae, 0x0005, 0x00fe, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, + 0x4000, 0x0110, 0x080c, 0x2b31, 0x00de, 0x00c6, 0x2061, 0x19bf, + 0x6028, 0x080c, 0xc23b, 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, + 0x909a, 0x00c8, 0x1238, 0x8000, 0x602a, 0x00ce, 0x080c, 0x93a3, + 0x0804, 0x25a1, 0x2061, 0x0100, 0x62c0, 0x080c, 0x9c3b, 0x2019, + 0x19c8, 0x2304, 0x9065, 0x0120, 0x2009, 0x0027, 0x080c, 0x9ea9, + 0x00ce, 0x0804, 0x25a1, 0xd2bc, 0x0904, 0x258e, 0x080c, 0x80cc, + 0x6014, 0x9084, 0x1984, 0x9085, 0x0010, 0x6016, 0x6027, 0x0004, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, - 0x2b26, 0x00de, 0x00c6, 0x2061, 0x19b7, 0x6028, 0x080c, 0xc22c, - 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, 0x909a, 0x00c8, 0x1238, - 0x8000, 0x602a, 0x00ce, 0x080c, 0x9389, 0x0804, 0x2596, 0x2061, - 0x0100, 0x62c0, 0x080c, 0x9c4e, 0x2019, 0x19c0, 0x2304, 0x9065, - 0x0120, 0x2009, 0x0027, 0x080c, 0x9ebc, 0x00ce, 0x0804, 0x2596, - 0xd2bc, 0x0904, 0x2583, 0x080c, 0x80ae, 0x6014, 0x9084, 0x1984, - 0x9085, 0x0010, 0x6016, 0x6027, 0x0004, 0x00d6, 0x2069, 0x0140, - 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, 0x2b26, 0x00de, 0x00c6, - 0x2061, 0x19b7, 0x6044, 0x080c, 0xc22c, 0x0120, 0x909a, 0x0003, - 0x1628, 0x0018, 0x909a, 0x00c8, 0x1608, 0x8000, 0x6046, 0x603c, - 0x00ce, 0x9005, 0x0558, 0x2009, 0x07d0, 0x080c, 0x80a6, 0x9080, - 0x0008, 0x2004, 0x9086, 0x0006, 0x1138, 0x6114, 0x918c, 0x1984, - 0x918d, 0x0012, 0x6116, 0x00d0, 0x6114, 0x918c, 0x1984, 0x918d, - 0x0016, 0x6116, 0x0098, 0x6027, 0x0004, 0x0080, 0x0036, 0x2019, - 0x0001, 0x080c, 0x96d9, 0x003e, 0x2019, 0x19c6, 0x2304, 0x9065, - 0x0120, 0x2009, 0x004f, 0x080c, 0x9ebc, 0x00ce, 0x001e, 0xd19c, - 0x0904, 0x2609, 0x7038, 0xd0ac, 0x1904, 0x25de, 0x0016, 0x0156, - 0x6027, 0x0008, 0x6050, 0x9085, 0x0040, 0x6052, 0x6050, 0x9084, - 0xfbcf, 0x6052, 0x080c, 0x2a5f, 0x9085, 0x2000, 0x6052, 0x20a9, - 0x0012, 0x1d04, 0x25b1, 0x080c, 0x80d5, 0x1f04, 0x25b1, 0x6050, - 0x9085, 0x0400, 0x9084, 0xdfbf, 0x6052, 0x20a9, 0x0028, 0xa001, - 0x1f04, 0x25bf, 0x6150, 0x9185, 0x1400, 0x6052, 0x20a9, 0x0366, - 0x1d04, 0x25c8, 0x080c, 0x80d5, 0x6020, 0xd09c, 0x1130, 0x015e, - 0x6152, 0x001e, 0x6027, 0x0008, 0x04a0, 0x080c, 0x2a27, 0x1f04, - 0x25c8, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x0016, 0x6028, - 0xc09c, 0x602a, 0x080c, 0x9dc8, 0x60e3, 0x0000, 0x080c, 0xd8d5, - 0x080c, 0xd8f0, 0x080c, 0x5393, 0xd0fc, 0x1138, 0x080c, 0xc225, - 0x1120, 0x9085, 0x0001, 0x080c, 0x6fe2, 0x9006, 0x080c, 0x2b16, - 0x2009, 0x0002, 0x080c, 0x2a65, 0x00e6, 0x2071, 0x1800, 0x7003, - 0x0004, 0x080c, 0x0e80, 0x00ee, 0x6027, 0x0008, 0x080c, 0x0b8f, - 0x001e, 0x918c, 0xffd0, 0x6126, 0x00ae, 0x0005, 0x0006, 0x0016, - 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2071, - 0x1800, 0x71cc, 0x70ce, 0x9116, 0x0904, 0x265d, 0x81ff, 0x01a0, - 0x2009, 0x0000, 0x080c, 0x2a65, 0x2011, 0x8011, 0x2019, 0x010e, - 0x231c, 0x939e, 0x0007, 0x1118, 0x2019, 0x0001, 0x0010, 0x2019, - 0x0000, 0x080c, 0x48e9, 0x0448, 0x2001, 0x1978, 0x200c, 0x81ff, - 0x1140, 0x2001, 0x0109, 0x2004, 0xd0b4, 0x0118, 0x2019, 0x0003, - 0x0008, 0x2118, 0x2011, 0x8012, 0x080c, 0x48e9, 0x080c, 0x0e80, - 0x080c, 0x5393, 0xd0fc, 0x1188, 0x080c, 0xc225, 0x1170, 0x00c6, - 0x080c, 0x26f9, 0x080c, 0x9640, 0x2061, 0x0100, 0x2019, 0x0028, - 0x2009, 0x0002, 0x080c, 0x2fa7, 0x00ce, 0x012e, 0x00fe, 0x00ee, - 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x2028, 0x918c, 0x00ff, - 0x2130, 0x9094, 0xff00, 0x11f0, 0x2011, 0x1836, 0x2214, 0xd2ac, - 0x11c8, 0x81ff, 0x01e8, 0x2011, 0x181e, 0x2204, 0x9106, 0x1190, - 0x2011, 0x181f, 0x2214, 0x9294, 0xff00, 0x9584, 0xff00, 0x9206, - 0x1148, 0x2011, 0x181f, 0x2214, 0x9294, 0x00ff, 0x9584, 0x00ff, - 0x9206, 0x1120, 0x2500, 0x080c, 0x7c40, 0x0048, 0x9584, 0x00ff, - 0x9080, 0x313a, 0x200d, 0x918c, 0xff00, 0x810f, 0x9006, 0x0005, - 0x9080, 0x313a, 0x200d, 0x918c, 0x00ff, 0x0005, 0x00d6, 0x2069, - 0x0140, 0x2001, 0x1817, 0x2003, 0x00ef, 0x20a9, 0x0010, 0x9006, - 0x6852, 0x6856, 0x1f04, 0x26a9, 0x00de, 0x0005, 0x0006, 0x00d6, - 0x0026, 0x2069, 0x0140, 0x2001, 0x1817, 0x2102, 0x8114, 0x8214, - 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, 0x0000, 0x9006, 0x82ff, - 0x1128, 0x9184, 0x000f, 0x9080, 0xddaa, 0x2005, 0x6856, 0x8211, - 0x1f04, 0x26be, 0x002e, 0x00de, 0x000e, 0x0005, 0x00c6, 0x2061, - 0x1800, 0x6030, 0x0110, 0xc09d, 0x0008, 0xc09c, 0x6032, 0x00ce, - 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, 0x0006, 0x2069, 0x0140, - 0x6980, 0x9116, 0x0180, 0x9112, 0x1230, 0x8212, 0x8210, 0x22a8, - 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, 0x0404, 0x680e, 0x1f04, - 0x26ee, 0x680f, 0x0000, 0x000e, 0x001e, 0x002e, 0x00de, 0x015e, - 0x0005, 0x080c, 0x538f, 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0x9006, - 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, 0xd54b, 0x004e, 0x0005, - 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, 0x78c4, 0xd0dc, 0x0904, - 0x2765, 0x080c, 0x29c4, 0x0660, 0x9084, 0x0700, 0x908e, 0x0600, - 0x1120, 0x2011, 0x4000, 0x900e, 0x0458, 0x908e, 0x0500, 0x1120, - 0x2011, 0x8000, 0x900e, 0x0420, 0x908e, 0x0400, 0x1120, 0x9016, - 0x2009, 0x0001, 0x00e8, 0x908e, 0x0300, 0x1120, 0x9016, 0x2009, - 0x0002, 0x00b0, 0x908e, 0x0200, 0x1120, 0x9016, 0x2009, 0x0004, - 0x0078, 0x908e, 0x0100, 0x1548, 0x9016, 0x2009, 0x0008, 0x0040, - 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, 0x2011, 0x0030, 0x0058, - 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, 0x8259, 0x928c, 0xff00, - 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, 0x9085, 0x004c, 0x78c2, - 0x2009, 0x0138, 0x220a, 0x080c, 0x6f9b, 0x1118, 0x2009, 0x193d, - 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, 0x78c3, 0x0000, 0x0cc8, - 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x2001, 0x0170, - 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, 0x0110, 0x080c, 0x0dad, - 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x2001, 0x0171, 0x2004, - 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, 0x918c, 0x00ff, 0x918e, - 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, 0x810f, 0x0005, 0x900e, - 0x2001, 0x0227, 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, - 0x2001, 0x0226, 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, - 0x0005, 0x0018, 0x000c, 0x0018, 0x0020, 0x1000, 0x0800, 0x1000, - 0x1800, 0x0156, 0x0006, 0x0016, 0x0026, 0x00e6, 0x2001, 0x1960, - 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0db4, 0x0033, 0x00ee, 0x002e, - 0x001e, 0x000e, 0x015e, 0x0005, 0x27c3, 0x27e1, 0x2805, 0x2807, - 0x2830, 0x2832, 0x2834, 0x2001, 0x0001, 0x080c, 0x260e, 0x080c, - 0x2a22, 0x2001, 0x1962, 0x2003, 0x0000, 0x7828, 0x9084, 0xe1d7, - 0x782a, 0x9006, 0x20a9, 0x0009, 0x080c, 0x29e0, 0x2001, 0x1960, - 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2835, 0x080c, 0x80b3, - 0x0005, 0x2009, 0x1965, 0x200b, 0x0000, 0x2001, 0x196a, 0x2003, - 0x0036, 0x2001, 0x1969, 0x2003, 0x002a, 0x2001, 0x1962, 0x2003, - 0x0001, 0x9006, 0x080c, 0x2992, 0x2001, 0xffff, 0x20a9, 0x0009, - 0x080c, 0x29e0, 0x2001, 0x1960, 0x2003, 0x0006, 0x2009, 0x001e, - 0x2011, 0x2835, 0x080c, 0x80b3, 0x0005, 0x080c, 0x0db4, 0x2001, - 0x196a, 0x2003, 0x0036, 0x2001, 0x1962, 0x2003, 0x0003, 0x7a38, - 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x2992, 0x2001, 0x1966, 0x2003, 0x0000, 0x2001, - 0xffff, 0x20a9, 0x0009, 0x080c, 0x29e0, 0x2001, 0x1960, 0x2003, - 0x0006, 0x2009, 0x001e, 0x2011, 0x2835, 0x080c, 0x80b3, 0x0005, - 0x080c, 0x0db4, 0x080c, 0x0db4, 0x0005, 0x0006, 0x0016, 0x0026, - 0x00e6, 0x00f6, 0x0156, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, - 0x2001, 0x1962, 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0db4, 0x0043, - 0x012e, 0x015e, 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, - 0x2857, 0x2877, 0x28b7, 0x28e7, 0x290b, 0x291b, 0x291d, 0x080c, - 0x29d4, 0x11b0, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x1968, - 0x2104, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0xc08d, - 0x0008, 0xc085, 0x200a, 0x2001, 0x1960, 0x2003, 0x0001, 0x0030, - 0x080c, 0x2941, 0x2001, 0xffff, 0x080c, 0x27d2, 0x0005, 0x080c, - 0x291f, 0x05e0, 0x2009, 0x1969, 0x2104, 0x8001, 0x200a, 0x080c, - 0x29d4, 0x1178, 0x7850, 0x9084, 0xefff, 0x7852, 0x7a38, 0x9294, - 0x0005, 0x9296, 0x0005, 0x0518, 0x2009, 0x1968, 0x2104, 0xc085, - 0x200a, 0x2009, 0x1965, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, - 0x0118, 0x080c, 0x2927, 0x00c0, 0x200b, 0x0000, 0x7a38, 0x9294, - 0x0006, 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, - 0x080c, 0x29af, 0x2001, 0x1962, 0x2003, 0x0002, 0x0028, 0x2001, - 0x1960, 0x2003, 0x0003, 0x0010, 0x080c, 0x27f4, 0x0005, 0x080c, - 0x291f, 0x0560, 0x2009, 0x1969, 0x2104, 0x8001, 0x200a, 0x080c, - 0x29d4, 0x1168, 0x7850, 0x9084, 0xefff, 0x7852, 0x2001, 0x1960, - 0x2003, 0x0003, 0x2001, 0x1961, 0x2003, 0x0000, 0x00b8, 0x2009, - 0x1969, 0x2104, 0x9005, 0x1118, 0x080c, 0x2964, 0x0010, 0x080c, - 0x2934, 0x080c, 0x2927, 0x2009, 0x1965, 0x200b, 0x0000, 0x2001, - 0x1962, 0x2003, 0x0001, 0x080c, 0x27f4, 0x0000, 0x0005, 0x04b9, - 0x0508, 0x080c, 0x29d4, 0x11b8, 0x7850, 0x9084, 0xefff, 0x7852, - 0x2009, 0x1966, 0x2104, 0x8000, 0x200a, 0x9086, 0x0007, 0x0108, - 0x0078, 0x2001, 0x196b, 0x2003, 0x000a, 0x2009, 0x1968, 0x2104, - 0xc0fd, 0x200a, 0x0038, 0x0419, 0x2001, 0x1962, 0x2003, 0x0004, - 0x080c, 0x281f, 0x0005, 0x0099, 0x0168, 0x080c, 0x29d4, 0x1138, - 0x7850, 0x9084, 0xefff, 0x7852, 0x080c, 0x280b, 0x0018, 0x0079, - 0x080c, 0x281f, 0x0005, 0x080c, 0x0db4, 0x080c, 0x0db4, 0x2009, - 0x196a, 0x2104, 0x8001, 0x200a, 0x090c, 0x2980, 0x0005, 0x7a38, - 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x29af, 0x0005, 0x7a38, 0x9294, 0x0006, 0x9296, - 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2992, - 0x0005, 0x2009, 0x1965, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, - 0x0108, 0x0068, 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, - 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x04d9, 0x7a38, - 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x29af, 0x0005, 0x0086, 0x2001, 0x1968, 0x2004, - 0x9084, 0x7fff, 0x090c, 0x0db4, 0x2009, 0x1967, 0x2144, 0x8846, - 0x280a, 0x9844, 0x0dd8, 0xd08c, 0x1120, 0xd084, 0x1120, 0x080c, - 0x0db4, 0x9006, 0x0010, 0x2001, 0x0001, 0x00a1, 0x008e, 0x0005, - 0x0006, 0x0156, 0x2001, 0x1960, 0x20a9, 0x0009, 0x2003, 0x0000, - 0x8000, 0x1f04, 0x2986, 0x2001, 0x1967, 0x2003, 0x8000, 0x015e, - 0x000e, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, - 0x7838, 0x9084, 0xfff9, 0x9085, 0x0004, 0x783a, 0x2009, 0x196d, - 0x210c, 0x795a, 0x0050, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0006, - 0x783a, 0x2009, 0x196e, 0x210c, 0x795a, 0x00fe, 0x0005, 0x00f6, - 0x2079, 0x0100, 0x9085, 0x0000, 0x0138, 0x7838, 0x9084, 0xfffa, - 0x9085, 0x0004, 0x783a, 0x0030, 0x7838, 0x9084, 0xfffb, 0x9085, - 0x0005, 0x783a, 0x00fe, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, - 0x9082, 0x0007, 0x000e, 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, - 0x9082, 0x0009, 0x000e, 0x0005, 0x0156, 0x20a9, 0x0064, 0x7820, - 0x080c, 0x2a5f, 0xd09c, 0x1110, 0x1f04, 0x29d7, 0x015e, 0x0005, - 0x0126, 0x0016, 0x0006, 0x2091, 0x8000, 0x7850, 0x9085, 0x0040, - 0x7852, 0x7850, 0x9084, 0xfbcf, 0x7852, 0x080c, 0x2a5f, 0x9085, - 0x2000, 0x7852, 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, - 0x0007, 0x0090, 0x9186, 0x0001, 0x1118, 0x783b, 0x0006, 0x0060, - 0x9186, 0x0002, 0x1118, 0x783b, 0x0005, 0x0030, 0x9186, 0x0003, - 0x1118, 0x783b, 0x0004, 0x0000, 0x0006, 0x1d04, 0x2a0d, 0x080c, - 0x80d5, 0x1f04, 0x2a0d, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfbf, - 0x7852, 0x080c, 0x2a5f, 0x9085, 0x1000, 0x7852, 0x000e, 0x001e, - 0x012e, 0x0005, 0x7850, 0x9084, 0xffcf, 0x7852, 0x0005, 0x0006, - 0x0156, 0x00f6, 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd0ac, - 0x1130, 0x7820, 0xd0e4, 0x1140, 0x1f04, 0x2a31, 0x0028, 0x7854, - 0xd08c, 0x1110, 0x1f04, 0x2a37, 0x00fe, 0x015e, 0x000e, 0x0005, - 0x1d04, 0x2a40, 0x080c, 0x80d5, 0x1f04, 0x2a40, 0x0005, 0x0006, - 0x2001, 0x196c, 0x2004, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, - 0x2001, 0x196c, 0x2004, 0x9086, 0x0001, 0x000e, 0x0005, 0x0006, - 0x2001, 0x196c, 0x2004, 0x9086, 0x0002, 0x000e, 0x0005, 0xa001, - 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, 0x0006, 0x2001, 0x1978, - 0x2102, 0x000e, 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, 0x0140, - 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, 0xa001, 0xa001, 0x200a, - 0x0005, 0x0036, 0x0046, 0x2001, 0x0141, 0x200c, 0x918c, 0xff00, - 0x9186, 0x2000, 0x0118, 0x9186, 0x0100, 0x1588, 0x2009, 0x00a2, - 0x080c, 0x0e2f, 0x2019, 0x0160, 0x2324, 0x2011, 0x0003, 0x2009, - 0x0169, 0x2104, 0x9084, 0x0007, 0x210c, 0x918c, 0x0007, 0x910e, - 0x1db0, 0x9086, 0x0003, 0x11b8, 0x2304, 0x9402, 0x02a0, 0x1d60, - 0x8211, 0x1d68, 0x84ff, 0x0170, 0x2001, 0x0141, 0x200c, 0x918c, - 0xff00, 0x9186, 0x0100, 0x0130, 0x2009, 0x180c, 0x2104, 0xc0dd, - 0x200a, 0x0008, 0x0419, 0x2009, 0x0000, 0x080c, 0x0e2f, 0x004e, - 0x003e, 0x0005, 0x2001, 0x180c, 0x2004, 0xd0dc, 0x01b0, 0x2001, - 0x0160, 0x2004, 0x9005, 0x0140, 0x2001, 0x0141, 0x2004, 0x9084, - 0xff00, 0x9086, 0x0100, 0x1148, 0x0126, 0x2091, 0x8000, 0x0016, - 0x0026, 0x0021, 0x002e, 0x001e, 0x012e, 0x0005, 0x00c6, 0x2061, - 0x0100, 0x6014, 0x0006, 0x2001, 0x0161, 0x2003, 0x0000, 0x6017, - 0x0018, 0xa001, 0xa001, 0x602f, 0x0008, 0x6104, 0x918e, 0x0010, - 0x6106, 0x918e, 0x0010, 0x6106, 0x6017, 0x0040, 0x04b9, 0x001e, - 0x9184, 0x0003, 0x01e0, 0x0036, 0x0016, 0x2019, 0x0141, 0x6124, - 0x918c, 0x0028, 0x1120, 0x2304, 0x9084, 0x2800, 0x0dc0, 0x001e, - 0x919c, 0xffe4, 0x9184, 0x0001, 0x0118, 0x9385, 0x0009, 0x6016, - 0x9184, 0x0002, 0x0118, 0x9385, 0x0012, 0x6016, 0x003e, 0x2001, - 0x180c, 0x200c, 0xc1dc, 0x2102, 0x00ce, 0x0005, 0x0016, 0x0026, - 0x080c, 0x6fb5, 0x0108, 0xc0bc, 0x2009, 0x0140, 0x2114, 0x9294, - 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, - 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9285, 0x1000, 0x200a, - 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, - 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, - 0x0006, 0x0016, 0x2009, 0x0140, 0x2104, 0x1128, 0x080c, 0x6fb5, - 0x0110, 0xc0bc, 0x0008, 0xc0bd, 0x200a, 0x001e, 0x000e, 0x0005, - 0x2dbc, 0x2dbc, 0x2be0, 0x2be0, 0x2bec, 0x2bec, 0x2bf8, 0x2bf8, - 0x2c06, 0x2c06, 0x2c12, 0x2c12, 0x2c20, 0x2c20, 0x2c2e, 0x2c2e, - 0x2c40, 0x2c40, 0x2c4c, 0x2c4c, 0x2c5a, 0x2c5a, 0x2c78, 0x2c78, - 0x2c98, 0x2c98, 0x2c68, 0x2c68, 0x2c88, 0x2c88, 0x2ca6, 0x2ca6, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2cb8, 0x2cb8, 0x2cc4, 0x2cc4, 0x2cd2, 0x2cd2, 0x2ce0, 0x2ce0, - 0x2cf0, 0x2cf0, 0x2cfe, 0x2cfe, 0x2d0e, 0x2d0e, 0x2d1e, 0x2d1e, - 0x2d30, 0x2d30, 0x2d3e, 0x2d3e, 0x2d4e, 0x2d4e, 0x2d70, 0x2d70, - 0x2d92, 0x2d92, 0x2d5e, 0x2d5e, 0x2d81, 0x2d81, 0x2da1, 0x2da1, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, 0x2c3e, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2315, 0x0804, 0x2db4, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x212d, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x212d, 0x080c, 0x2315, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2168, - 0x0804, 0x2db4, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2315, 0x080c, 0x2168, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x212d, 0x080c, 0x2168, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x212d, - 0x080c, 0x2315, 0x080c, 0x2168, 0x0804, 0x2db4, 0xa001, 0x0cf0, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x130c, 0x0804, 0x2db4, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2315, 0x080c, 0x130c, - 0x0804, 0x2db4, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x212d, 0x080c, 0x130c, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2315, 0x080c, 0x130c, 0x080c, 0x2168, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x212d, 0x080c, 0x2315, 0x080c, 0x130c, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x212d, 0x080c, 0x130c, 0x080c, 0x2168, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x130c, 0x080c, 0x2168, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x212d, - 0x080c, 0x2315, 0x080c, 0x130c, 0x080c, 0x2168, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2768, 0x0804, 0x2db4, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, 0x080c, 0x2315, - 0x0804, 0x2db4, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2768, 0x080c, 0x212d, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2768, 0x080c, 0x212d, 0x080c, 0x2315, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2768, 0x080c, 0x2168, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, - 0x080c, 0x2315, 0x080c, 0x2168, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, - 0x080c, 0x212d, 0x080c, 0x2168, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, - 0x080c, 0x212d, 0x080c, 0x2315, 0x080c, 0x2168, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2768, 0x080c, 0x130c, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, - 0x080c, 0x2315, 0x080c, 0x130c, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, - 0x080c, 0x212d, 0x080c, 0x130c, 0x0804, 0x2db4, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2768, - 0x080c, 0x2315, 0x080c, 0x130c, 0x080c, 0x2168, 0x0804, 0x2db4, - 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2768, 0x080c, 0x212d, 0x080c, 0x2315, 0x080c, 0x130c, - 0x0498, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2768, 0x080c, 0x212d, 0x080c, 0x130c, 0x080c, - 0x2168, 0x0410, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2768, 0x080c, 0x130c, 0x080c, 0x2168, - 0x0098, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, - 0x0156, 0x080c, 0x2768, 0x080c, 0x212d, 0x080c, 0x2315, 0x080c, - 0x130c, 0x080c, 0x2168, 0x0000, 0x015e, 0x014e, 0x013e, 0x01de, - 0x01ce, 0x012e, 0x000e, 0x010e, 0x000d, 0x00b6, 0x00c6, 0x0026, - 0x0046, 0x9026, 0x080c, 0x6529, 0x1904, 0x2ec3, 0x72d8, 0x2001, - 0x194c, 0x2004, 0x9005, 0x1110, 0xd29c, 0x0148, 0xd284, 0x1138, - 0xd2bc, 0x1904, 0x2ec3, 0x080c, 0x2ec8, 0x0804, 0x2ec3, 0xd2cc, - 0x1904, 0x2ec3, 0x080c, 0x6f9b, 0x1120, 0x70ab, 0xffff, 0x0804, - 0x2ec3, 0xd294, 0x0120, 0x70ab, 0xffff, 0x0804, 0x2ec3, 0x080c, - 0x3130, 0x0160, 0x080c, 0xc22c, 0x0128, 0x2001, 0x1817, 0x203c, - 0x0804, 0x2e55, 0x70ab, 0xffff, 0x0804, 0x2ec3, 0x2001, 0x1817, - 0x203c, 0x7290, 0xd284, 0x0904, 0x2e55, 0xd28c, 0x1904, 0x2e55, - 0x0036, 0x73a8, 0x938e, 0xffff, 0x1110, 0x2019, 0x0001, 0x8314, - 0x92e0, 0x1c80, 0x2c04, 0x938c, 0x0001, 0x0120, 0x9084, 0xff00, - 0x8007, 0x0010, 0x9084, 0x00ff, 0x970e, 0x05a8, 0x908e, 0x0000, - 0x0590, 0x908e, 0x00ff, 0x1150, 0x7230, 0xd284, 0x1588, 0x7290, - 0xc28d, 0x7292, 0x70ab, 0xffff, 0x003e, 0x0478, 0x0026, 0x2011, - 0x0010, 0x080c, 0x658f, 0x002e, 0x0118, 0x70ab, 0xffff, 0x0410, - 0x900e, 0x080c, 0x2665, 0x080c, 0x61e7, 0x11c0, 0x080c, 0x656b, - 0x1168, 0x7030, 0xd08c, 0x0130, 0xb800, 0xd0bc, 0x0138, 0x080c, - 0x6467, 0x0120, 0x080c, 0x2ee1, 0x0148, 0x0028, 0x080c, 0x3021, - 0x080c, 0x2f0d, 0x0118, 0x8318, 0x0804, 0x2e07, 0x73aa, 0x0010, - 0x70ab, 0xffff, 0x003e, 0x0804, 0x2ec3, 0x9780, 0x313a, 0x203d, - 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, 0x70a8, 0x9096, 0xffff, - 0x1118, 0x900e, 0x28a8, 0x0050, 0x9812, 0x0220, 0x2008, 0x9802, - 0x20a8, 0x0020, 0x70ab, 0xffff, 0x0804, 0x2ec3, 0x2700, 0x0156, - 0x0016, 0x9106, 0x0904, 0x2eb8, 0x0026, 0x2011, 0x0010, 0x080c, - 0x658f, 0x002e, 0x0120, 0x2009, 0xffff, 0x0804, 0x2ec0, 0xc484, - 0x080c, 0x6247, 0x0138, 0x080c, 0xc22c, 0x1590, 0x080c, 0x61e7, - 0x15b8, 0x0008, 0xc485, 0x080c, 0x656b, 0x1130, 0x7030, 0xd08c, - 0x01f8, 0xb800, 0xd0bc, 0x11e0, 0x7290, 0xd28c, 0x0180, 0x080c, - 0x656b, 0x9082, 0x0006, 0x02e0, 0xd484, 0x1118, 0x080c, 0x620b, - 0x0028, 0x080c, 0x30ac, 0x01a0, 0x080c, 0x30d7, 0x0088, 0x080c, - 0x3021, 0x080c, 0xc22c, 0x1160, 0x080c, 0x2f0d, 0x0188, 0x0040, - 0x080c, 0xc22c, 0x1118, 0x080c, 0x30ac, 0x0110, 0x0451, 0x0140, - 0x001e, 0x8108, 0x015e, 0x1f04, 0x2e6e, 0x70ab, 0xffff, 0x0018, - 0x001e, 0x015e, 0x71aa, 0x004e, 0x002e, 0x00ce, 0x00be, 0x0005, - 0x00c6, 0x0016, 0x70ab, 0x0001, 0x2009, 0x007e, 0x080c, 0x61e7, - 0x1168, 0xb813, 0x00ff, 0xb817, 0xfffe, 0x080c, 0x3021, 0x04a9, - 0x0128, 0x70d8, 0xc0bd, 0x70da, 0x080c, 0xbf7d, 0x001e, 0x00ce, - 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x1858, 0x2004, - 0x9084, 0x00ff, 0xb842, 0x080c, 0x9e8f, 0x01d0, 0x2b00, 0x6012, - 0x080c, 0xbfa6, 0x6023, 0x0001, 0x9006, 0x080c, 0x6184, 0x2001, - 0x0000, 0x080c, 0x6198, 0x0126, 0x2091, 0x8000, 0x70a4, 0x8000, - 0x70a6, 0x012e, 0x2009, 0x0004, 0x080c, 0x9ebc, 0x9085, 0x0001, - 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x0016, 0x0076, 0x00d6, - 0x00c6, 0x2001, 0x1858, 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, - 0x9e8f, 0x0548, 0x2b00, 0x6012, 0xb800, 0xc0c4, 0xb802, 0xb8a0, - 0x9086, 0x007e, 0x0140, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, - 0x1110, 0x080c, 0x2fdc, 0x080c, 0xbfa6, 0x6023, 0x0001, 0x9006, - 0x080c, 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, 0x0126, 0x2091, - 0x8000, 0x70a4, 0x8000, 0x70a6, 0x012e, 0x2009, 0x0002, 0x080c, - 0x9ebc, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, - 0x00b6, 0x00c6, 0x0026, 0x2009, 0x0080, 0x080c, 0x61e7, 0x1140, - 0xb813, 0x00ff, 0xb817, 0xfffc, 0x0039, 0x0110, 0x70df, 0xffff, - 0x002e, 0x00ce, 0x00be, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, - 0x080c, 0x9dec, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xbfa6, 0x6023, - 0x0001, 0x9006, 0x080c, 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, - 0x0126, 0x2091, 0x8000, 0x70e0, 0x8000, 0x70e2, 0x012e, 0x2009, - 0x0002, 0x080c, 0x9ebc, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, - 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2009, - 0x007f, 0x080c, 0x61e7, 0x11b8, 0xb813, 0x00ff, 0xb817, 0xfffd, - 0xb8bf, 0x0004, 0x080c, 0x9dec, 0x0170, 0x2b00, 0x6012, 0x6316, - 0x6023, 0x0001, 0x620a, 0x080c, 0xbfa6, 0x2009, 0x0022, 0x080c, - 0x9ebc, 0x9085, 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, - 0x00c6, 0x0066, 0x0036, 0x0026, 0x00b6, 0x21f0, 0x080c, 0x856f, - 0x080c, 0x84f9, 0x080c, 0x9c95, 0x080c, 0xad8a, 0x3e08, 0x2130, - 0x81ff, 0x0120, 0x20a9, 0x007e, 0x900e, 0x0018, 0x20a9, 0x007f, - 0x900e, 0x0016, 0x080c, 0x6247, 0x1140, 0x9686, 0x0002, 0x1118, - 0xb800, 0xd0bc, 0x1110, 0x080c, 0x5cf4, 0x001e, 0x8108, 0x1f04, - 0x2fc1, 0x9686, 0x0001, 0x190c, 0x3104, 0x00be, 0x002e, 0x003e, - 0x006e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0046, 0x0036, - 0x0026, 0x0016, 0x00b6, 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, - 0x0029, 0x080c, 0x8564, 0x0076, 0x2039, 0x0000, 0x080c, 0x8452, - 0x2c08, 0x080c, 0xd2bc, 0x007e, 0x001e, 0xba10, 0xbb14, 0xbcb0, - 0x080c, 0x5cf4, 0xba12, 0xbb16, 0xbcb2, 0x00be, 0x001e, 0x002e, - 0x003e, 0x004e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x00b6, - 0x6010, 0x2058, 0xb8a0, 0x00be, 0x9086, 0x0080, 0x0150, 0x2071, - 0x1800, 0x70a4, 0x9005, 0x0110, 0x8001, 0x70a6, 0x000e, 0x00ee, - 0x0005, 0x2071, 0x1800, 0x70e0, 0x9005, 0x0dc0, 0x8001, 0x70e2, - 0x0ca8, 0xb800, 0xc08c, 0xb802, 0x0005, 0x00f6, 0x00e6, 0x00c6, - 0x00b6, 0x0046, 0x0036, 0x0026, 0x0016, 0x0156, 0x2178, 0x81ff, - 0x1118, 0x20a9, 0x0001, 0x0070, 0x080c, 0x538f, 0xd0c4, 0x0138, - 0x0030, 0x9006, 0x2020, 0x2009, 0x002d, 0x080c, 0xd54b, 0x20a9, - 0x0800, 0x9016, 0x0026, 0x928e, 0x007e, 0x0904, 0x308b, 0x928e, - 0x007f, 0x0904, 0x308b, 0x928e, 0x0080, 0x05e8, 0x9288, 0x1000, - 0x210c, 0x81ff, 0x05c0, 0x8fff, 0x1148, 0x2001, 0x195e, 0x0006, - 0x2003, 0x0001, 0x04f1, 0x000e, 0x2003, 0x0000, 0x00b6, 0x00c6, - 0x2158, 0x2001, 0x0001, 0x080c, 0x6535, 0x00ce, 0x00be, 0x2019, - 0x0029, 0x080c, 0x8564, 0x0076, 0x2039, 0x0000, 0x080c, 0x8452, - 0x00b6, 0x00c6, 0x0026, 0x2158, 0xba04, 0x9294, 0x00ff, 0x9286, - 0x0006, 0x1118, 0xb807, 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, - 0x9215, 0xba06, 0x002e, 0x00ce, 0x00be, 0x0016, 0x2c08, 0x080c, - 0xd2bc, 0x001e, 0x007e, 0x002e, 0x8210, 0x1f04, 0x3042, 0x015e, - 0x001e, 0x002e, 0x003e, 0x004e, 0x00be, 0x00ce, 0x00ee, 0x00fe, - 0x0005, 0x0046, 0x0026, 0x0016, 0x080c, 0x538f, 0xd0c4, 0x0140, - 0xd0a4, 0x0130, 0x9006, 0x2220, 0x2009, 0x0029, 0x080c, 0xd54b, - 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, - 0x7290, 0x82ff, 0x01e8, 0x080c, 0x6563, 0x11d0, 0x2100, 0x080c, - 0x2698, 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1c80, - 0x2c04, 0xd384, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, - 0x00ff, 0x9116, 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, 0x0c68, - 0x9085, 0x0001, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0016, - 0x00c6, 0x0126, 0x2091, 0x8000, 0x0036, 0x2019, 0x0029, 0x00a9, - 0x003e, 0x9180, 0x1000, 0x2004, 0x9065, 0x0158, 0x0016, 0x00c6, - 0x2061, 0x1a7f, 0x001e, 0x6112, 0x080c, 0x2fdc, 0x001e, 0x080c, - 0x620b, 0x012e, 0x00ce, 0x001e, 0x0005, 0x0016, 0x0026, 0x2110, - 0x080c, 0x992c, 0x080c, 0xd803, 0x002e, 0x001e, 0x0005, 0x2001, - 0x1836, 0x2004, 0xd0cc, 0x0005, 0x00c6, 0x00b6, 0x080c, 0x6f9b, - 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, 0x0782, 0x080c, 0x6f9b, - 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x9180, 0x1000, 0x2004, - 0x905d, 0x0130, 0x86ff, 0x0110, 0xb800, 0xd0bc, 0x090c, 0x620b, - 0x8108, 0x1f04, 0x3115, 0x2061, 0x1800, 0x607b, 0x0000, 0x607c, - 0x9084, 0x00ff, 0x607e, 0x60af, 0x0000, 0x00be, 0x00ce, 0x0005, - 0x2001, 0x1875, 0x2004, 0xd0bc, 0x0005, 0x2011, 0x1854, 0x2214, - 0xd2ec, 0x0005, 0x7eef, 0x7de8, 0x7ce4, 0x80e2, 0x7be1, 0x80e0, - 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, 0x80d4, 0x80d3, 0x80d2, - 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, 0x80ca, 0x80c9, 0x80c7, - 0x80c6, 0x77c5, 0x76c3, 0x80bc, 0x80ba, 0x75b9, 0x80b6, 0x74b5, - 0x73b4, 0x72b3, 0x80b2, 0x80b1, 0x80ae, 0x71ad, 0x80ac, 0x70ab, - 0x6faa, 0x6ea9, 0x80a7, 0x6da6, 0x6ca5, 0x6ba3, 0x6a9f, 0x699e, - 0x689d, 0x809b, 0x8098, 0x6797, 0x6690, 0x658f, 0x6488, 0x6384, - 0x6282, 0x8081, 0x8080, 0x617c, 0x607a, 0x8079, 0x5f76, 0x8075, - 0x8074, 0x8073, 0x8072, 0x8071, 0x806e, 0x5e6d, 0x806c, 0x5d6b, - 0x5c6a, 0x5b69, 0x8067, 0x5a66, 0x5965, 0x5863, 0x575c, 0x565a, - 0x5559, 0x8056, 0x8055, 0x5454, 0x5353, 0x5252, 0x5151, 0x504e, - 0x4f4d, 0x804c, 0x804b, 0x4e4a, 0x4d49, 0x8047, 0x4c46, 0x8045, - 0x8043, 0x803c, 0x803a, 0x8039, 0x8036, 0x4b35, 0x8034, 0x4a33, - 0x4932, 0x4831, 0x802e, 0x472d, 0x462c, 0x452b, 0x442a, 0x4329, - 0x4227, 0x8026, 0x8025, 0x4123, 0x401f, 0x3f1e, 0x3e1d, 0x3d1b, - 0x3c18, 0x8017, 0x8010, 0x3b0f, 0x3a08, 0x8004, 0x3902, 0x8001, - 0x8000, 0x8000, 0x3800, 0x3700, 0x3600, 0x8000, 0x3500, 0x8000, - 0x8000, 0x8000, 0x3400, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, - 0x8000, 0x3300, 0x3200, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, - 0x8000, 0x3100, 0x3000, 0x8000, 0x8000, 0x2f00, 0x8000, 0x2e00, - 0x2d00, 0x2c00, 0x8000, 0x8000, 0x8000, 0x2b00, 0x8000, 0x2a00, - 0x2900, 0x2800, 0x8000, 0x2700, 0x2600, 0x2500, 0x2400, 0x2300, - 0x2200, 0x8000, 0x8000, 0x2100, 0x2000, 0x1f00, 0x1e00, 0x1d00, - 0x1c00, 0x8000, 0x8000, 0x1b00, 0x1a00, 0x8000, 0x1900, 0x8000, - 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x1800, 0x8000, 0x1700, - 0x1600, 0x1500, 0x8000, 0x1400, 0x1300, 0x1200, 0x1100, 0x1000, - 0x0f00, 0x8000, 0x8000, 0x0e00, 0x0d00, 0x0c00, 0x0b00, 0x0a00, - 0x0900, 0x8000, 0x8000, 0x0800, 0x0700, 0x8000, 0x0600, 0x8000, - 0x8000, 0x8000, 0x0500, 0x0400, 0x0300, 0x8000, 0x0200, 0x8000, - 0x8000, 0x8000, 0x0100, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, - 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x2b31, 0x00de, 0x00c6, 0x2061, 0x19bf, 0x6044, 0x080c, 0xc23b, + 0x0120, 0x909a, 0x0003, 0x1628, 0x0018, 0x909a, 0x00c8, 0x1608, + 0x8000, 0x6046, 0x603c, 0x00ce, 0x9005, 0x0558, 0x2009, 0x07d0, + 0x080c, 0x80c4, 0x9080, 0x0008, 0x2004, 0x9086, 0x0006, 0x1138, + 0x6114, 0x918c, 0x1984, 0x918d, 0x0012, 0x6116, 0x00d0, 0x6114, + 0x918c, 0x1984, 0x918d, 0x0016, 0x6116, 0x0098, 0x6027, 0x0004, + 0x0080, 0x0036, 0x2019, 0x0001, 0x080c, 0x96e9, 0x003e, 0x2019, + 0x19ce, 0x2304, 0x9065, 0x0120, 0x2009, 0x004f, 0x080c, 0x9ea9, + 0x00ce, 0x001e, 0xd19c, 0x0904, 0x2614, 0x7038, 0xd0ac, 0x1904, + 0x25e9, 0x0016, 0x0156, 0x6027, 0x0008, 0x6050, 0x9085, 0x0040, + 0x6052, 0x6050, 0x9084, 0xfbcf, 0x6052, 0x080c, 0x2a6a, 0x9085, + 0x2000, 0x6052, 0x20a9, 0x0012, 0x1d04, 0x25bc, 0x080c, 0x80f3, + 0x1f04, 0x25bc, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfbf, 0x6052, + 0x20a9, 0x0028, 0xa001, 0x1f04, 0x25ca, 0x6150, 0x9185, 0x1400, + 0x6052, 0x20a9, 0x0366, 0x1d04, 0x25d3, 0x080c, 0x80f3, 0x6020, + 0xd09c, 0x1130, 0x015e, 0x6152, 0x001e, 0x6027, 0x0008, 0x04a0, + 0x080c, 0x2a32, 0x1f04, 0x25d3, 0x015e, 0x6152, 0x001e, 0x6027, + 0x0008, 0x0016, 0x6028, 0xc09c, 0x602a, 0x080c, 0x9db5, 0x60e3, + 0x0000, 0x080c, 0xd8ee, 0x080c, 0xd909, 0x080c, 0x539e, 0xd0fc, + 0x1138, 0x080c, 0xc234, 0x1120, 0x9085, 0x0001, 0x080c, 0x6ff1, + 0x9006, 0x080c, 0x2b21, 0x2009, 0x0002, 0x080c, 0x2a70, 0x00e6, + 0x2071, 0x1800, 0x7003, 0x0004, 0x080c, 0x0e80, 0x00ee, 0x6027, + 0x0008, 0x080c, 0x0b8f, 0x001e, 0x918c, 0xffd0, 0x6126, 0x00ae, + 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, + 0x2091, 0x8000, 0x2071, 0x1800, 0x71cc, 0x70ce, 0x9116, 0x0904, + 0x2668, 0x81ff, 0x01a0, 0x2009, 0x0000, 0x080c, 0x2a70, 0x2011, + 0x8011, 0x2019, 0x010e, 0x231c, 0x939e, 0x0007, 0x1118, 0x2019, + 0x0001, 0x0010, 0x2019, 0x0000, 0x080c, 0x48f4, 0x0448, 0x2001, + 0x1980, 0x200c, 0x81ff, 0x1140, 0x2001, 0x0109, 0x2004, 0xd0b4, + 0x0118, 0x2019, 0x0003, 0x0008, 0x2118, 0x2011, 0x8012, 0x080c, + 0x48f4, 0x080c, 0x0e80, 0x080c, 0x539e, 0xd0fc, 0x1188, 0x080c, + 0xc234, 0x1170, 0x00c6, 0x080c, 0x2704, 0x080c, 0x9650, 0x2061, + 0x0100, 0x2019, 0x0028, 0x2009, 0x0002, 0x080c, 0x2fb2, 0x00ce, + 0x012e, 0x00fe, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, + 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x11f0, 0x2011, + 0x1836, 0x2214, 0xd2ac, 0x11c8, 0x81ff, 0x01e8, 0x2011, 0x181e, + 0x2204, 0x9106, 0x1190, 0x2011, 0x181f, 0x2214, 0x9294, 0xff00, + 0x9584, 0xff00, 0x9206, 0x1148, 0x2011, 0x181f, 0x2214, 0x9294, + 0x00ff, 0x9584, 0x00ff, 0x9206, 0x1120, 0x2500, 0x080c, 0x7c4e, + 0x0048, 0x9584, 0x00ff, 0x9080, 0x3145, 0x200d, 0x918c, 0xff00, + 0x810f, 0x9006, 0x0005, 0x9080, 0x3145, 0x200d, 0x918c, 0x00ff, + 0x0005, 0x00d6, 0x2069, 0x0140, 0x2001, 0x1817, 0x2003, 0x00ef, + 0x20a9, 0x0010, 0x9006, 0x6852, 0x6856, 0x1f04, 0x26b4, 0x00de, + 0x0005, 0x0006, 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, 0x1817, + 0x2102, 0x8114, 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, + 0x0000, 0x9006, 0x82ff, 0x1128, 0x9184, 0x000f, 0x9080, 0xddc3, + 0x2005, 0x6856, 0x8211, 0x1f04, 0x26c9, 0x002e, 0x00de, 0x000e, + 0x0005, 0x00c6, 0x2061, 0x1800, 0x6030, 0x0110, 0xc09d, 0x0008, + 0xc09c, 0x6032, 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, + 0x0006, 0x2069, 0x0140, 0x6980, 0x9116, 0x0180, 0x9112, 0x1230, + 0x8212, 0x8210, 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, + 0x0404, 0x680e, 0x1f04, 0x26f9, 0x680f, 0x0000, 0x000e, 0x001e, + 0x002e, 0x00de, 0x015e, 0x0005, 0x080c, 0x539a, 0xd0c4, 0x0150, + 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, + 0xd564, 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, + 0x78c4, 0xd0dc, 0x0904, 0x2770, 0x080c, 0x29cf, 0x0660, 0x9084, + 0x0700, 0x908e, 0x0600, 0x1120, 0x2011, 0x4000, 0x900e, 0x0458, + 0x908e, 0x0500, 0x1120, 0x2011, 0x8000, 0x900e, 0x0420, 0x908e, + 0x0400, 0x1120, 0x9016, 0x2009, 0x0001, 0x00e8, 0x908e, 0x0300, + 0x1120, 0x9016, 0x2009, 0x0002, 0x00b0, 0x908e, 0x0200, 0x1120, + 0x9016, 0x2009, 0x0004, 0x0078, 0x908e, 0x0100, 0x1548, 0x9016, + 0x2009, 0x0008, 0x0040, 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, + 0x2011, 0x0030, 0x0058, 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, + 0x8277, 0x928c, 0xff00, 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, + 0x9085, 0x004c, 0x78c2, 0x2009, 0x0138, 0x220a, 0x080c, 0x6faa, + 0x1118, 0x2009, 0x1945, 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, + 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, + 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, + 0x0110, 0x080c, 0x0dad, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, + 0x2001, 0x0171, 0x2004, 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, + 0x918c, 0x00ff, 0x918e, 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, + 0x810f, 0x0005, 0x900e, 0x2001, 0x0227, 0x2004, 0x8007, 0x9084, + 0x00ff, 0x8004, 0x9108, 0x2001, 0x0226, 0x2004, 0x8007, 0x9084, + 0x00ff, 0x8004, 0x9108, 0x0005, 0x0018, 0x000c, 0x0018, 0x0020, + 0x1000, 0x0800, 0x1000, 0x1800, 0x0156, 0x0006, 0x0016, 0x0026, + 0x00e6, 0x2001, 0x1968, 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0db4, + 0x0033, 0x00ee, 0x002e, 0x001e, 0x000e, 0x015e, 0x0005, 0x27ce, + 0x27ec, 0x2810, 0x2812, 0x283b, 0x283d, 0x283f, 0x2001, 0x0001, + 0x080c, 0x2619, 0x080c, 0x2a2d, 0x2001, 0x196a, 0x2003, 0x0000, + 0x7828, 0x9084, 0xe1d7, 0x782a, 0x9006, 0x20a9, 0x0009, 0x080c, + 0x29eb, 0x2001, 0x1968, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, + 0x2840, 0x080c, 0x80d1, 0x0005, 0x2009, 0x196d, 0x200b, 0x0000, + 0x2001, 0x1972, 0x2003, 0x0036, 0x2001, 0x1971, 0x2003, 0x002a, + 0x2001, 0x196a, 0x2003, 0x0001, 0x9006, 0x080c, 0x299d, 0x2001, + 0xffff, 0x20a9, 0x0009, 0x080c, 0x29eb, 0x2001, 0x1968, 0x2003, + 0x0006, 0x2009, 0x001e, 0x2011, 0x2840, 0x080c, 0x80d1, 0x0005, + 0x080c, 0x0db4, 0x2001, 0x1972, 0x2003, 0x0036, 0x2001, 0x196a, + 0x2003, 0x0003, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x299d, 0x2001, 0x196e, + 0x2003, 0x0000, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x29eb, + 0x2001, 0x1968, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2840, + 0x080c, 0x80d1, 0x0005, 0x080c, 0x0db4, 0x080c, 0x0db4, 0x0005, + 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0156, 0x0126, 0x2091, + 0x8000, 0x2079, 0x0100, 0x2001, 0x196a, 0x2004, 0x908a, 0x0007, + 0x1a0c, 0x0db4, 0x0043, 0x012e, 0x015e, 0x00fe, 0x00ee, 0x002e, + 0x001e, 0x000e, 0x0005, 0x2862, 0x2882, 0x28c2, 0x28f2, 0x2916, + 0x2926, 0x2928, 0x080c, 0x29df, 0x11b0, 0x7850, 0x9084, 0xefff, + 0x7852, 0x2009, 0x1970, 0x2104, 0x7a38, 0x9294, 0x0005, 0x9296, + 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, 0x200a, 0x2001, 0x1968, + 0x2003, 0x0001, 0x0030, 0x080c, 0x294c, 0x2001, 0xffff, 0x080c, + 0x27dd, 0x0005, 0x080c, 0x292a, 0x05e0, 0x2009, 0x1971, 0x2104, + 0x8001, 0x200a, 0x080c, 0x29df, 0x1178, 0x7850, 0x9084, 0xefff, + 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0518, 0x2009, + 0x1970, 0x2104, 0xc085, 0x200a, 0x2009, 0x196d, 0x2104, 0x8000, + 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, 0x2932, 0x00c0, 0x200b, + 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0004, 0x0110, 0x9006, + 0x0010, 0x2001, 0x0001, 0x080c, 0x29ba, 0x2001, 0x196a, 0x2003, + 0x0002, 0x0028, 0x2001, 0x1968, 0x2003, 0x0003, 0x0010, 0x080c, + 0x27ff, 0x0005, 0x080c, 0x292a, 0x0560, 0x2009, 0x1971, 0x2104, + 0x8001, 0x200a, 0x080c, 0x29df, 0x1168, 0x7850, 0x9084, 0xefff, + 0x7852, 0x2001, 0x1968, 0x2003, 0x0003, 0x2001, 0x1969, 0x2003, + 0x0000, 0x00b8, 0x2009, 0x1971, 0x2104, 0x9005, 0x1118, 0x080c, + 0x296f, 0x0010, 0x080c, 0x293f, 0x080c, 0x2932, 0x2009, 0x196d, + 0x200b, 0x0000, 0x2001, 0x196a, 0x2003, 0x0001, 0x080c, 0x27ff, + 0x0000, 0x0005, 0x04b9, 0x0508, 0x080c, 0x29df, 0x11b8, 0x7850, + 0x9084, 0xefff, 0x7852, 0x2009, 0x196e, 0x2104, 0x8000, 0x200a, + 0x9086, 0x0007, 0x0108, 0x0078, 0x2001, 0x1973, 0x2003, 0x000a, + 0x2009, 0x1970, 0x2104, 0xc0fd, 0x200a, 0x0038, 0x0419, 0x2001, + 0x196a, 0x2003, 0x0004, 0x080c, 0x282a, 0x0005, 0x0099, 0x0168, + 0x080c, 0x29df, 0x1138, 0x7850, 0x9084, 0xefff, 0x7852, 0x080c, + 0x2816, 0x0018, 0x0079, 0x080c, 0x282a, 0x0005, 0x080c, 0x0db4, + 0x080c, 0x0db4, 0x2009, 0x1972, 0x2104, 0x8001, 0x200a, 0x090c, + 0x298b, 0x0005, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x29ba, 0x0005, 0x7a38, + 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, + 0x0001, 0x080c, 0x299d, 0x0005, 0x2009, 0x196d, 0x2104, 0x8000, + 0x200a, 0x9086, 0x0005, 0x0108, 0x0068, 0x200b, 0x0000, 0x7a38, + 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, + 0x0001, 0x04d9, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x29ba, 0x0005, 0x0086, + 0x2001, 0x1970, 0x2004, 0x9084, 0x7fff, 0x090c, 0x0db4, 0x2009, + 0x196f, 0x2144, 0x8846, 0x280a, 0x9844, 0x0dd8, 0xd08c, 0x1120, + 0xd084, 0x1120, 0x080c, 0x0db4, 0x9006, 0x0010, 0x2001, 0x0001, + 0x00a1, 0x008e, 0x0005, 0x0006, 0x0156, 0x2001, 0x1968, 0x20a9, + 0x0009, 0x2003, 0x0000, 0x8000, 0x1f04, 0x2991, 0x2001, 0x196f, + 0x2003, 0x8000, 0x015e, 0x000e, 0x0005, 0x00f6, 0x2079, 0x0100, + 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfff9, 0x9085, 0x0004, + 0x783a, 0x2009, 0x1975, 0x210c, 0x795a, 0x0050, 0x7838, 0x9084, + 0xfffb, 0x9085, 0x0006, 0x783a, 0x2009, 0x1976, 0x210c, 0x795a, + 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0138, + 0x7838, 0x9084, 0xfffa, 0x9085, 0x0004, 0x783a, 0x0030, 0x7838, + 0x9084, 0xfffb, 0x9085, 0x0005, 0x783a, 0x00fe, 0x0005, 0x0006, + 0x2001, 0x0100, 0x2004, 0x9082, 0x0007, 0x000e, 0x0005, 0x0006, + 0x2001, 0x0100, 0x2004, 0x9082, 0x0009, 0x000e, 0x0005, 0x0156, + 0x20a9, 0x0064, 0x7820, 0x080c, 0x2a6a, 0xd09c, 0x1110, 0x1f04, + 0x29e2, 0x015e, 0x0005, 0x0126, 0x0016, 0x0006, 0x2091, 0x8000, + 0x7850, 0x9085, 0x0040, 0x7852, 0x7850, 0x9084, 0xfbcf, 0x7852, + 0x080c, 0x2a6a, 0x9085, 0x2000, 0x7852, 0x000e, 0x2008, 0x9186, + 0x0000, 0x1118, 0x783b, 0x0007, 0x0090, 0x9186, 0x0001, 0x1118, + 0x783b, 0x0006, 0x0060, 0x9186, 0x0002, 0x1118, 0x783b, 0x0005, + 0x0030, 0x9186, 0x0003, 0x1118, 0x783b, 0x0004, 0x0000, 0x0006, + 0x1d04, 0x2a18, 0x080c, 0x80f3, 0x1f04, 0x2a18, 0x7850, 0x9085, + 0x0400, 0x9084, 0xdfbf, 0x7852, 0x080c, 0x2a6a, 0x9085, 0x1000, + 0x7852, 0x000e, 0x001e, 0x012e, 0x0005, 0x7850, 0x9084, 0xffcf, + 0x7852, 0x0005, 0x0006, 0x0156, 0x00f6, 0x2079, 0x0100, 0x20a9, + 0x000a, 0x7854, 0xd0ac, 0x1130, 0x7820, 0xd0e4, 0x1140, 0x1f04, + 0x2a3c, 0x0028, 0x7854, 0xd08c, 0x1110, 0x1f04, 0x2a42, 0x00fe, + 0x015e, 0x000e, 0x0005, 0x1d04, 0x2a4b, 0x080c, 0x80f3, 0x1f04, + 0x2a4b, 0x0005, 0x0006, 0x2001, 0x1974, 0x2004, 0x9086, 0x0000, + 0x000e, 0x0005, 0x0006, 0x2001, 0x1974, 0x2004, 0x9086, 0x0001, + 0x000e, 0x0005, 0x0006, 0x2001, 0x1974, 0x2004, 0x9086, 0x0002, + 0x000e, 0x0005, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, + 0x0006, 0x2001, 0x1980, 0x2102, 0x000e, 0x0005, 0x2009, 0x0171, + 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, + 0xa001, 0xa001, 0x200a, 0x0005, 0x0036, 0x0046, 0x2001, 0x0141, + 0x200c, 0x918c, 0xff00, 0x9186, 0x2000, 0x0118, 0x9186, 0x0100, + 0x1588, 0x2009, 0x00a2, 0x080c, 0x0e2f, 0x2019, 0x0160, 0x2324, + 0x2011, 0x0003, 0x2009, 0x0169, 0x2104, 0x9084, 0x0007, 0x210c, + 0x918c, 0x0007, 0x910e, 0x1db0, 0x9086, 0x0003, 0x11b8, 0x2304, + 0x9402, 0x02a0, 0x1d60, 0x8211, 0x1d68, 0x84ff, 0x0170, 0x2001, + 0x0141, 0x200c, 0x918c, 0xff00, 0x9186, 0x0100, 0x0130, 0x2009, + 0x180c, 0x2104, 0xc0dd, 0x200a, 0x0008, 0x0419, 0x2009, 0x0000, + 0x080c, 0x0e2f, 0x004e, 0x003e, 0x0005, 0x2001, 0x180c, 0x2004, + 0xd0dc, 0x01b0, 0x2001, 0x0160, 0x2004, 0x9005, 0x0140, 0x2001, + 0x0141, 0x2004, 0x9084, 0xff00, 0x9086, 0x0100, 0x1148, 0x0126, + 0x2091, 0x8000, 0x0016, 0x0026, 0x0021, 0x002e, 0x001e, 0x012e, + 0x0005, 0x00c6, 0x2061, 0x0100, 0x6014, 0x0006, 0x2001, 0x0161, + 0x2003, 0x0000, 0x6017, 0x0018, 0xa001, 0xa001, 0x602f, 0x0008, + 0x6104, 0x918e, 0x0010, 0x6106, 0x918e, 0x0010, 0x6106, 0x6017, + 0x0040, 0x04b9, 0x001e, 0x9184, 0x0003, 0x01e0, 0x0036, 0x0016, + 0x2019, 0x0141, 0x6124, 0x918c, 0x0028, 0x1120, 0x2304, 0x9084, + 0x2800, 0x0dc0, 0x001e, 0x919c, 0xffe4, 0x9184, 0x0001, 0x0118, + 0x9385, 0x0009, 0x6016, 0x9184, 0x0002, 0x0118, 0x9385, 0x0012, + 0x6016, 0x003e, 0x2001, 0x180c, 0x200c, 0xc1dc, 0x2102, 0x00ce, + 0x0005, 0x0016, 0x0026, 0x080c, 0x6fc4, 0x0108, 0xc0bc, 0x2009, + 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, + 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, + 0x9285, 0x1000, 0x200a, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, + 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, + 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, 0x2009, 0x0140, 0x2104, + 0x1128, 0x080c, 0x6fc4, 0x0110, 0xc0bc, 0x0008, 0xc0bd, 0x200a, + 0x001e, 0x000e, 0x0005, 0x2dc7, 0x2dc7, 0x2beb, 0x2beb, 0x2bf7, + 0x2bf7, 0x2c03, 0x2c03, 0x2c11, 0x2c11, 0x2c1d, 0x2c1d, 0x2c2b, + 0x2c2b, 0x2c39, 0x2c39, 0x2c4b, 0x2c4b, 0x2c57, 0x2c57, 0x2c65, + 0x2c65, 0x2c83, 0x2c83, 0x2ca3, 0x2ca3, 0x2c73, 0x2c73, 0x2c93, + 0x2c93, 0x2cb1, 0x2cb1, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2cc3, 0x2cc3, 0x2ccf, 0x2ccf, 0x2cdd, + 0x2cdd, 0x2ceb, 0x2ceb, 0x2cfb, 0x2cfb, 0x2d09, 0x2d09, 0x2d19, + 0x2d19, 0x2d29, 0x2d29, 0x2d3b, 0x2d3b, 0x2d49, 0x2d49, 0x2d59, + 0x2d59, 0x2d7b, 0x2d7b, 0x2d9d, 0x2d9d, 0x2d69, 0x2d69, 0x2d8c, + 0x2d8c, 0x2dac, 0x2dac, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, 0x2c49, + 0x2c49, 0x2c49, 0x2c49, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2320, 0x0804, 0x2dbf, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x2138, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2138, 0x080c, 0x2320, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2320, 0x080c, + 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2138, 0x080c, 0x2173, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2138, 0x080c, 0x2320, 0x080c, 0x2173, 0x0804, + 0x2dbf, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x130c, 0x0804, 0x2dbf, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x2320, 0x080c, 0x130c, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2138, 0x080c, + 0x130c, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2320, 0x080c, 0x130c, 0x080c, + 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2138, 0x080c, 0x2320, 0x080c, + 0x130c, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2138, 0x080c, 0x130c, 0x080c, + 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x130c, 0x080c, 0x2173, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2138, 0x080c, 0x2320, 0x080c, 0x130c, 0x080c, + 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x0804, 0x2dbf, 0x0106, + 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, + 0x2773, 0x080c, 0x2320, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, + 0x2138, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, 0x080c, + 0x2320, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, 0x2173, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2773, 0x080c, 0x2320, 0x080c, 0x2173, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, 0x080c, 0x2173, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, 0x080c, 0x2320, 0x080c, + 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, 0x130c, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2773, 0x080c, 0x2320, 0x080c, 0x130c, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, 0x080c, 0x130c, 0x0804, + 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x0156, 0x080c, 0x2773, 0x080c, 0x2320, 0x080c, 0x130c, 0x080c, + 0x2173, 0x0804, 0x2dbf, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, 0x080c, + 0x2320, 0x080c, 0x130c, 0x0498, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, + 0x080c, 0x130c, 0x080c, 0x2173, 0x0410, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, + 0x130c, 0x080c, 0x2173, 0x0098, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2773, 0x080c, 0x2138, + 0x080c, 0x2320, 0x080c, 0x130c, 0x080c, 0x2173, 0x0000, 0x015e, + 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x010e, 0x000d, + 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, 0x080c, 0x6538, 0x1904, + 0x2ece, 0x72d8, 0x2001, 0x1954, 0x2004, 0x9005, 0x1110, 0xd29c, + 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x2ece, 0x080c, 0x2ed3, + 0x0804, 0x2ece, 0xd2cc, 0x1904, 0x2ece, 0x080c, 0x6faa, 0x1120, + 0x70ab, 0xffff, 0x0804, 0x2ece, 0xd294, 0x0120, 0x70ab, 0xffff, + 0x0804, 0x2ece, 0x080c, 0x313b, 0x0160, 0x080c, 0xc23b, 0x0128, + 0x2001, 0x1817, 0x203c, 0x0804, 0x2e60, 0x70ab, 0xffff, 0x0804, + 0x2ece, 0x2001, 0x1817, 0x203c, 0x7290, 0xd284, 0x0904, 0x2e60, + 0xd28c, 0x1904, 0x2e60, 0x0036, 0x73a8, 0x938e, 0xffff, 0x1110, + 0x2019, 0x0001, 0x8314, 0x92e0, 0x1c80, 0x2c04, 0x938c, 0x0001, + 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x970e, + 0x05a8, 0x908e, 0x0000, 0x0590, 0x908e, 0x00ff, 0x1150, 0x7230, + 0xd284, 0x1588, 0x7290, 0xc28d, 0x7292, 0x70ab, 0xffff, 0x003e, + 0x0478, 0x0026, 0x2011, 0x0010, 0x080c, 0x659e, 0x002e, 0x0118, + 0x70ab, 0xffff, 0x0410, 0x900e, 0x080c, 0x2670, 0x080c, 0x61f6, + 0x11c0, 0x080c, 0x657a, 0x1168, 0x7030, 0xd08c, 0x0130, 0xb800, + 0xd0bc, 0x0138, 0x080c, 0x6476, 0x0120, 0x080c, 0x2eec, 0x0148, + 0x0028, 0x080c, 0x302c, 0x080c, 0x2f18, 0x0118, 0x8318, 0x0804, + 0x2e12, 0x73aa, 0x0010, 0x70ab, 0xffff, 0x003e, 0x0804, 0x2ece, + 0x9780, 0x3145, 0x203d, 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, + 0x70a8, 0x9096, 0xffff, 0x1118, 0x900e, 0x28a8, 0x0050, 0x9812, + 0x0220, 0x2008, 0x9802, 0x20a8, 0x0020, 0x70ab, 0xffff, 0x0804, + 0x2ece, 0x2700, 0x0156, 0x0016, 0x9106, 0x0904, 0x2ec3, 0x0026, + 0x2011, 0x0010, 0x080c, 0x659e, 0x002e, 0x0120, 0x2009, 0xffff, + 0x0804, 0x2ecb, 0xc484, 0x080c, 0x6256, 0x0138, 0x080c, 0xc23b, + 0x1590, 0x080c, 0x61f6, 0x15b8, 0x0008, 0xc485, 0x080c, 0x657a, + 0x1130, 0x7030, 0xd08c, 0x01f8, 0xb800, 0xd0bc, 0x11e0, 0x7290, + 0xd28c, 0x0180, 0x080c, 0x657a, 0x9082, 0x0006, 0x02e0, 0xd484, + 0x1118, 0x080c, 0x621a, 0x0028, 0x080c, 0x30b7, 0x01a0, 0x080c, + 0x30e2, 0x0088, 0x080c, 0x302c, 0x080c, 0xc23b, 0x1160, 0x080c, + 0x2f18, 0x0188, 0x0040, 0x080c, 0xc23b, 0x1118, 0x080c, 0x30b7, + 0x0110, 0x0451, 0x0140, 0x001e, 0x8108, 0x015e, 0x1f04, 0x2e79, + 0x70ab, 0xffff, 0x0018, 0x001e, 0x015e, 0x71aa, 0x004e, 0x002e, + 0x00ce, 0x00be, 0x0005, 0x00c6, 0x0016, 0x70ab, 0x0001, 0x2009, + 0x007e, 0x080c, 0x61f6, 0x1168, 0xb813, 0x00ff, 0xb817, 0xfffe, + 0x080c, 0x302c, 0x04a9, 0x0128, 0x70d8, 0xc0bd, 0x70da, 0x080c, + 0xbf8c, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, + 0x2001, 0x1860, 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, 0x9e7c, + 0x01d0, 0x2b00, 0x6012, 0x080c, 0xbfb5, 0x6023, 0x0001, 0x9006, + 0x080c, 0x6193, 0x2001, 0x0000, 0x080c, 0x61a7, 0x0126, 0x2091, + 0x8000, 0x70a4, 0x8000, 0x70a6, 0x012e, 0x2009, 0x0004, 0x080c, + 0x9ea9, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, + 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x1860, 0x2004, 0x9084, + 0x00ff, 0xb842, 0x080c, 0x9e7c, 0x0548, 0x2b00, 0x6012, 0xb800, + 0xc0c4, 0xb802, 0xb8a0, 0x9086, 0x007e, 0x0140, 0xb804, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, 0x2fe7, 0x080c, 0xbfb5, + 0x6023, 0x0001, 0x9006, 0x080c, 0x6193, 0x2001, 0x0002, 0x080c, + 0x61a7, 0x0126, 0x2091, 0x8000, 0x70a4, 0x8000, 0x70a6, 0x012e, + 0x2009, 0x0002, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x00ce, 0x00de, + 0x007e, 0x001e, 0x0005, 0x00b6, 0x00c6, 0x0026, 0x2009, 0x0080, + 0x080c, 0x61f6, 0x1140, 0xb813, 0x00ff, 0xb817, 0xfffc, 0x0039, + 0x0110, 0x70df, 0xffff, 0x002e, 0x00ce, 0x00be, 0x0005, 0x0016, + 0x0076, 0x00d6, 0x00c6, 0x080c, 0x9dd9, 0x01d0, 0x2b00, 0x6012, + 0x080c, 0xbfb5, 0x6023, 0x0001, 0x9006, 0x080c, 0x6193, 0x2001, + 0x0002, 0x080c, 0x61a7, 0x0126, 0x2091, 0x8000, 0x70e0, 0x8000, + 0x70e2, 0x012e, 0x2009, 0x0002, 0x080c, 0x9ea9, 0x9085, 0x0001, + 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x61f6, 0x11b8, 0xb813, + 0x00ff, 0xb817, 0xfffd, 0xb8bf, 0x0004, 0x080c, 0x9dd9, 0x0170, + 0x2b00, 0x6012, 0x6316, 0x6023, 0x0001, 0x620a, 0x080c, 0xbfb5, + 0x2009, 0x0022, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x012e, 0x00de, + 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, 0x0036, 0x0026, 0x00b6, + 0x21f0, 0x080c, 0x858d, 0x080c, 0x8517, 0x080c, 0x9c82, 0x080c, + 0xad86, 0x3e08, 0x2130, 0x81ff, 0x0120, 0x20a9, 0x007e, 0x900e, + 0x0018, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6256, 0x1140, + 0x9686, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1110, 0x080c, 0x5cff, + 0x001e, 0x8108, 0x1f04, 0x2fcc, 0x9686, 0x0001, 0x190c, 0x310f, + 0x00be, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, 0x0005, 0x00e6, + 0x00c6, 0x0046, 0x0036, 0x0026, 0x0016, 0x00b6, 0x6210, 0x2258, + 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, 0x8582, 0x0076, 0x2039, + 0x0000, 0x080c, 0x8470, 0x2c08, 0x080c, 0xd2d5, 0x007e, 0x001e, + 0xba10, 0xbb14, 0xbcb0, 0x080c, 0x5cff, 0xba12, 0xbb16, 0xbcb2, + 0x00be, 0x001e, 0x002e, 0x003e, 0x004e, 0x00ce, 0x00ee, 0x0005, + 0x00e6, 0x0006, 0x00b6, 0x6010, 0x2058, 0xb8a0, 0x00be, 0x9086, + 0x0080, 0x0150, 0x2071, 0x1800, 0x70a4, 0x9005, 0x0110, 0x8001, + 0x70a6, 0x000e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x70e0, 0x9005, + 0x0dc0, 0x8001, 0x70e2, 0x0ca8, 0xb800, 0xc08c, 0xb802, 0x0005, + 0x00f6, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x0036, 0x0026, 0x0016, + 0x0156, 0x2178, 0x81ff, 0x1118, 0x20a9, 0x0001, 0x0070, 0x080c, + 0x539a, 0xd0c4, 0x0138, 0x0030, 0x9006, 0x2020, 0x2009, 0x002d, + 0x080c, 0xd564, 0x20a9, 0x0800, 0x9016, 0x0026, 0x928e, 0x007e, + 0x0904, 0x3096, 0x928e, 0x007f, 0x0904, 0x3096, 0x928e, 0x0080, + 0x05e8, 0x9288, 0x1000, 0x210c, 0x81ff, 0x05c0, 0x8fff, 0x1148, + 0x2001, 0x1966, 0x0006, 0x2003, 0x0001, 0x04f1, 0x000e, 0x2003, + 0x0000, 0x00b6, 0x00c6, 0x2158, 0x2001, 0x0001, 0x080c, 0x6544, + 0x00ce, 0x00be, 0x2019, 0x0029, 0x080c, 0x8582, 0x0076, 0x2039, + 0x0000, 0x080c, 0x8470, 0x00b6, 0x00c6, 0x0026, 0x2158, 0xba04, + 0x9294, 0x00ff, 0x9286, 0x0006, 0x1118, 0xb807, 0x0404, 0x0028, + 0x2001, 0x0004, 0x8007, 0x9215, 0xba06, 0x002e, 0x00ce, 0x00be, + 0x0016, 0x2c08, 0x080c, 0xd2d5, 0x001e, 0x007e, 0x002e, 0x8210, + 0x1f04, 0x304d, 0x015e, 0x001e, 0x002e, 0x003e, 0x004e, 0x00be, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0046, 0x0026, 0x0016, 0x080c, + 0x539a, 0xd0c4, 0x0140, 0xd0a4, 0x0130, 0x9006, 0x2220, 0x2009, + 0x0029, 0x080c, 0xd564, 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, + 0x0026, 0x0036, 0x00c6, 0x7290, 0x82ff, 0x01e8, 0x080c, 0x6572, + 0x11d0, 0x2100, 0x080c, 0x26a3, 0x81ff, 0x01b8, 0x2019, 0x0001, + 0x8314, 0x92e0, 0x1c80, 0x2c04, 0xd384, 0x0120, 0x9084, 0xff00, + 0x8007, 0x0010, 0x9084, 0x00ff, 0x9116, 0x0138, 0x9096, 0x00ff, + 0x0110, 0x8318, 0x0c68, 0x9085, 0x0001, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x0005, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x0036, + 0x2019, 0x0029, 0x00a9, 0x003e, 0x9180, 0x1000, 0x2004, 0x9065, + 0x0158, 0x0016, 0x00c6, 0x2061, 0x1a87, 0x001e, 0x6112, 0x080c, + 0x2fe7, 0x001e, 0x080c, 0x621a, 0x012e, 0x00ce, 0x001e, 0x0005, + 0x0016, 0x0026, 0x2110, 0x080c, 0x9915, 0x080c, 0xd81c, 0x002e, + 0x001e, 0x0005, 0x2001, 0x1836, 0x2004, 0xd0cc, 0x0005, 0x00c6, + 0x00b6, 0x080c, 0x6faa, 0x1118, 0x20a9, 0x0800, 0x0010, 0x20a9, + 0x0782, 0x080c, 0x6faa, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, + 0x9180, 0x1000, 0x2004, 0x905d, 0x0130, 0x86ff, 0x0110, 0xb800, + 0xd0bc, 0x090c, 0x621a, 0x8108, 0x1f04, 0x3120, 0x2061, 0x1800, + 0x607b, 0x0000, 0x607c, 0x9084, 0x00ff, 0x607e, 0x60af, 0x0000, + 0x00be, 0x00ce, 0x0005, 0x2001, 0x187d, 0x2004, 0xd0bc, 0x0005, + 0x2011, 0x185c, 0x2214, 0xd2ec, 0x0005, 0x7eef, 0x7de8, 0x7ce4, + 0x80e2, 0x7be1, 0x80e0, 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, + 0x80d4, 0x80d3, 0x80d2, 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, + 0x80ca, 0x80c9, 0x80c7, 0x80c6, 0x77c5, 0x76c3, 0x80bc, 0x80ba, + 0x75b9, 0x80b6, 0x74b5, 0x73b4, 0x72b3, 0x80b2, 0x80b1, 0x80ae, + 0x71ad, 0x80ac, 0x70ab, 0x6faa, 0x6ea9, 0x80a7, 0x6da6, 0x6ca5, + 0x6ba3, 0x6a9f, 0x699e, 0x689d, 0x809b, 0x8098, 0x6797, 0x6690, + 0x658f, 0x6488, 0x6384, 0x6282, 0x8081, 0x8080, 0x617c, 0x607a, + 0x8079, 0x5f76, 0x8075, 0x8074, 0x8073, 0x8072, 0x8071, 0x806e, + 0x5e6d, 0x806c, 0x5d6b, 0x5c6a, 0x5b69, 0x8067, 0x5a66, 0x5965, + 0x5863, 0x575c, 0x565a, 0x5559, 0x8056, 0x8055, 0x5454, 0x5353, + 0x5252, 0x5151, 0x504e, 0x4f4d, 0x804c, 0x804b, 0x4e4a, 0x4d49, + 0x8047, 0x4c46, 0x8045, 0x8043, 0x803c, 0x803a, 0x8039, 0x8036, + 0x4b35, 0x8034, 0x4a33, 0x4932, 0x4831, 0x802e, 0x472d, 0x462c, + 0x452b, 0x442a, 0x4329, 0x4227, 0x8026, 0x8025, 0x4123, 0x401f, + 0x3f1e, 0x3e1d, 0x3d1b, 0x3c18, 0x8017, 0x8010, 0x3b0f, 0x3a08, + 0x8004, 0x3902, 0x8001, 0x8000, 0x8000, 0x3800, 0x3700, 0x3600, + 0x8000, 0x3500, 0x8000, 0x8000, 0x8000, 0x3400, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x3300, 0x3200, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x3100, 0x3000, 0x8000, 0x8000, + 0x2f00, 0x8000, 0x2e00, 0x2d00, 0x2c00, 0x8000, 0x8000, 0x8000, + 0x2b00, 0x8000, 0x2a00, 0x2900, 0x2800, 0x8000, 0x2700, 0x2600, + 0x2500, 0x2400, 0x2300, 0x2200, 0x8000, 0x8000, 0x2100, 0x2000, + 0x1f00, 0x1e00, 0x1d00, 0x1c00, 0x8000, 0x8000, 0x1b00, 0x1a00, + 0x8000, 0x1900, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, + 0x1800, 0x8000, 0x1700, 0x1600, 0x1500, 0x8000, 0x1400, 0x1300, + 0x1200, 0x1100, 0x1000, 0x0f00, 0x8000, 0x8000, 0x0e00, 0x0d00, + 0x0c00, 0x0b00, 0x0a00, 0x0900, 0x8000, 0x8000, 0x0800, 0x0700, + 0x8000, 0x0600, 0x8000, 0x8000, 0x8000, 0x0500, 0x0400, 0x0300, + 0x8000, 0x0200, 0x8000, 0x8000, 0x8000, 0x0100, 0x8000, 0x8000, + 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, - 0x8000, 0x8000, 0x2071, 0x1894, 0x7003, 0x0002, 0x9006, 0x7016, - 0x701a, 0x704a, 0x704e, 0x700e, 0x7042, 0x7046, 0x703b, 0x18b0, - 0x703f, 0x18b0, 0x7007, 0x0001, 0x080c, 0x1004, 0x090c, 0x0db4, - 0x2900, 0x706a, 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x1004, - 0x090c, 0x0db4, 0x2900, 0x706e, 0xa867, 0x0002, 0xa8ab, 0xdcb0, - 0x0005, 0x2071, 0x1894, 0x7004, 0x0002, 0x3269, 0x326a, 0x327d, - 0x3291, 0x0005, 0x1004, 0x327a, 0x0e04, 0x327a, 0x2079, 0x0000, - 0x0126, 0x2091, 0x8000, 0x700c, 0x9005, 0x1128, 0x700f, 0x0001, - 0x012e, 0x0468, 0x0005, 0x012e, 0x0ce8, 0x2079, 0x0000, 0x2061, - 0x18ae, 0x2c4c, 0xa86c, 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, - 0x0904, 0x3365, 0x0005, 0x7018, 0x2048, 0x2061, 0x1800, 0x701c, - 0x0807, 0x7014, 0x2048, 0xa864, 0x9094, 0x00ff, 0x9296, 0x0029, - 0x1120, 0xaa78, 0xd2fc, 0x0128, 0x0005, 0x9086, 0x0103, 0x0108, - 0x0005, 0x2079, 0x0000, 0x2061, 0x1800, 0x701c, 0x0807, 0x2061, - 0x1800, 0x7880, 0x908a, 0x0040, 0x1210, 0x61cc, 0x0042, 0x2100, - 0x908a, 0x003f, 0x1a04, 0x3362, 0x61cc, 0x0804, 0x32f7, 0x3339, - 0x3371, 0x3362, 0x337b, 0x3385, 0x338b, 0x338f, 0x339f, 0x33a3, - 0x33b9, 0x33bf, 0x33c5, 0x33d0, 0x33db, 0x33ea, 0x33f9, 0x3407, - 0x341e, 0x3439, 0x3362, 0x34e2, 0x3520, 0x35c6, 0x35d7, 0x35fa, - 0x3362, 0x3362, 0x3362, 0x3632, 0x364e, 0x3657, 0x3686, 0x368c, - 0x3362, 0x36d2, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x36dd, - 0x36e6, 0x36ee, 0x36f0, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, - 0x3362, 0x371c, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x3739, - 0x3794, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x0002, - 0x37be, 0x37c1, 0x3820, 0x3839, 0x3869, 0x3b07, 0x3362, 0x4f68, - 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, 0x3362, - 0x33b9, 0x33bf, 0x4028, 0x53b3, 0x403e, 0x4ff7, 0x5048, 0x514b, - 0x3362, 0x51ad, 0x51e9, 0x521a, 0x531e, 0x5247, 0x529e, 0x3362, - 0x4042, 0x41e3, 0x41f9, 0x421e, 0x4283, 0x42f7, 0x4317, 0x438e, - 0x43ea, 0x4446, 0x4449, 0x446e, 0x450e, 0x4574, 0x457c, 0x46ae, - 0x4813, 0x4847, 0x4a91, 0x3362, 0x4aaf, 0x4b6b, 0x4c41, 0x3362, - 0x3362, 0x3362, 0x3362, 0x4ca7, 0x4cc2, 0x457c, 0x4f08, 0x714c, - 0x0000, 0x2021, 0x4000, 0x080c, 0x48c5, 0x0126, 0x2091, 0x8000, - 0x0e04, 0x3343, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, - 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, - 0x7a8a, 0x7b8e, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x1187, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, - 0x012e, 0x0005, 0x2021, 0x4001, 0x08b0, 0x2021, 0x4002, 0x0898, - 0x2021, 0x4003, 0x0880, 0x2021, 0x4005, 0x0868, 0x2021, 0x4006, - 0x0850, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, - 0x7990, 0x0804, 0x48d2, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, - 0x7a8c, 0x7884, 0x7990, 0x0804, 0x48d5, 0x7984, 0x7888, 0x2114, - 0x200a, 0x0804, 0x3339, 0x7984, 0x2114, 0x0804, 0x3339, 0x20e1, - 0x0000, 0x2099, 0x0021, 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, - 0x001f, 0x4003, 0x7984, 0x7a88, 0x7b8c, 0x0804, 0x3339, 0x7884, - 0x2060, 0x0804, 0x33ec, 0x2009, 0x0003, 0x2011, 0x0002, 0x2019, - 0x001e, 0x789b, 0x0317, 0x7893, 0xffff, 0x2001, 0x1885, 0x2004, - 0x9005, 0x0118, 0x7896, 0x0804, 0x3339, 0x7897, 0x0001, 0x0804, - 0x3339, 0x2039, 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x3375, 0x2039, - 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x337f, 0x79a0, 0x9182, 0x0040, - 0x0210, 0x0804, 0x336e, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x3375, - 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x336e, 0x2138, 0x7d98, - 0x7c9c, 0x0804, 0x337f, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, - 0x336e, 0x21e8, 0x7984, 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, - 0x0804, 0x3339, 0x2061, 0x0800, 0xe10c, 0x9006, 0x2c15, 0x9200, - 0x8c60, 0x8109, 0x1dd8, 0x2010, 0x9005, 0x0904, 0x3339, 0x0804, - 0x3368, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x336e, 0x21e0, - 0x20a9, 0x0001, 0x7984, 0x2198, 0x4012, 0x0804, 0x3339, 0x2069, - 0x1853, 0x7884, 0x7990, 0x911a, 0x1a04, 0x336e, 0x8019, 0x0904, - 0x336e, 0x684a, 0x6942, 0x788c, 0x6852, 0x7888, 0x6856, 0x9006, - 0x685a, 0x685e, 0x080c, 0x72b0, 0x0804, 0x3339, 0x2069, 0x1853, - 0x7884, 0x7994, 0x911a, 0x1a04, 0x336e, 0x8019, 0x0904, 0x336e, - 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, 0x6866, 0x9006, 0x686a, - 0x686e, 0x0126, 0x2091, 0x8000, 0x080c, 0x6669, 0x012e, 0x0804, - 0x3339, 0x902e, 0x2520, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, - 0x336b, 0x7984, 0x7b88, 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, - 0x20a1, 0x189c, 0x4101, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, - 0x0804, 0x336b, 0x2009, 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, - 0x080c, 0x48d2, 0x701f, 0x345d, 0x0005, 0xa864, 0x2008, 0x9084, - 0x00ff, 0x9096, 0x0011, 0x0168, 0x9096, 0x0019, 0x0150, 0x9096, - 0x0015, 0x0138, 0x9096, 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, - 0x336b, 0x810f, 0x918c, 0x00ff, 0x0904, 0x336b, 0x7112, 0x7010, - 0x8001, 0x0560, 0x7012, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, - 0x0804, 0x336b, 0x2009, 0x0020, 0x7068, 0x2040, 0xa28c, 0xa390, - 0xa494, 0xa598, 0x9290, 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, - 0x95a9, 0x0000, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x48d2, - 0x701f, 0x349b, 0x0005, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0002, - 0x0120, 0x9096, 0x000a, 0x1904, 0x336b, 0x0888, 0x7014, 0x2048, - 0xa868, 0xc0fd, 0xa86a, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0029, - 0x1160, 0xc2fd, 0xaa7a, 0x080c, 0x5de6, 0x0150, 0x0126, 0x2091, - 0x8000, 0xa87a, 0xa982, 0x012e, 0x0050, 0x080c, 0x60fd, 0x1128, - 0x7007, 0x0003, 0x701f, 0x34c7, 0x0005, 0x080c, 0x6abf, 0x0126, - 0x2091, 0x8000, 0x20a9, 0x0005, 0x20e1, 0x0001, 0x2099, 0x189c, - 0x400a, 0x2100, 0x9210, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, - 0x0000, 0xa85c, 0x9080, 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, - 0x0804, 0x48d5, 0x2091, 0x8000, 0x7837, 0x4000, 0x7833, 0x0010, - 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, 0x5020, 0x788f, 0x2020, - 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, 0x7896, 0x2061, 0x0100, - 0x6200, 0x2061, 0x0200, 0x603c, 0x8007, 0x9205, 0x789a, 0x2009, - 0x04fd, 0x2104, 0x789e, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, 0x19e9, 0x2004, 0x9005, - 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, - 0x2003, 0x0002, 0x2003, 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, - 0x81ff, 0x1904, 0x336b, 0x7984, 0x080c, 0x6247, 0x1904, 0x336e, - 0x7e98, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1a04, 0x336e, 0x7c88, - 0x7d8c, 0x080c, 0x63aa, 0x080c, 0x6379, 0x0000, 0x1518, 0x2061, - 0x1cd0, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, - 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, - 0x0150, 0x012e, 0x9ce0, 0x0018, 0x2001, 0x1819, 0x2004, 0x9c02, - 0x1a04, 0x336b, 0x0c30, 0x080c, 0xb75d, 0x012e, 0x0904, 0x336b, - 0x0804, 0x3339, 0x900e, 0x2001, 0x0005, 0x080c, 0x6abf, 0x0126, - 0x2091, 0x8000, 0x080c, 0xbe26, 0x080c, 0x6891, 0x012e, 0x0804, - 0x3339, 0x00a6, 0x2950, 0xb198, 0x080c, 0x6247, 0x1904, 0x35b3, - 0xb6a4, 0x9684, 0x3fff, 0x9082, 0x4000, 0x16e8, 0xb49c, 0xb5a0, - 0x080c, 0x63aa, 0x080c, 0x6379, 0x1520, 0x2061, 0x1cd0, 0x0126, - 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, - 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0158, 0x012e, - 0x9ce0, 0x0018, 0x2001, 0x1819, 0x2004, 0x9c02, 0x2009, 0x000d, - 0x12b0, 0x0c28, 0x080c, 0xb75d, 0x012e, 0x2009, 0x0003, 0x0178, - 0x00e0, 0x900e, 0x2001, 0x0005, 0x080c, 0x6abf, 0x0126, 0x2091, - 0x8000, 0x080c, 0xbe26, 0x080c, 0x6884, 0x012e, 0x0070, 0xb097, - 0x4005, 0xb19a, 0x0010, 0xb097, 0x4006, 0x900e, 0x9085, 0x0001, - 0x2001, 0x0030, 0x2a48, 0x00ae, 0x0005, 0xb097, 0x4000, 0x9006, - 0x918d, 0x0001, 0x2008, 0x2a48, 0x00ae, 0x0005, 0x81ff, 0x1904, - 0x336b, 0x080c, 0x48a0, 0x0904, 0x336e, 0x080c, 0x630e, 0x0904, - 0x336b, 0x080c, 0x63b0, 0x0904, 0x336b, 0x0804, 0x430e, 0x81ff, - 0x1904, 0x336b, 0x080c, 0x48bc, 0x0904, 0x336e, 0x080c, 0x643e, - 0x0904, 0x336b, 0x2019, 0x0005, 0x79a8, 0x080c, 0x63cb, 0x0904, - 0x336b, 0x7888, 0x908a, 0x1000, 0x1a04, 0x336e, 0x8003, 0x800b, - 0x810b, 0x9108, 0x080c, 0x802f, 0x7984, 0xd184, 0x1904, 0x3339, - 0x0804, 0x430e, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, - 0x0001, 0x0450, 0x2029, 0x07ff, 0x6458, 0x2400, 0x9506, 0x01f8, - 0x2508, 0x080c, 0x6247, 0x11d8, 0x080c, 0x643e, 0x1128, 0x2009, - 0x0002, 0x62bc, 0x2518, 0x00c0, 0x2019, 0x0004, 0x900e, 0x080c, - 0x63cb, 0x1118, 0x2009, 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, - 0x1270, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x802f, 0x8529, - 0x1ae0, 0x012e, 0x0804, 0x3339, 0x012e, 0x0804, 0x336b, 0x012e, - 0x0804, 0x336e, 0x080c, 0x48a0, 0x0904, 0x336e, 0x080c, 0x630e, - 0x0904, 0x336b, 0xbaa0, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, - 0x8564, 0x0076, 0x903e, 0x080c, 0x8452, 0x900e, 0x080c, 0xd2bc, - 0x007e, 0x00ce, 0x080c, 0x63aa, 0x0804, 0x3339, 0x080c, 0x48a0, - 0x0904, 0x336e, 0x080c, 0x63aa, 0x2208, 0x0804, 0x3339, 0x0156, - 0x00d6, 0x00e6, 0x2069, 0x1906, 0x6810, 0x6914, 0x910a, 0x1208, - 0x900e, 0x6816, 0x9016, 0x901e, 0x20a9, 0x007e, 0x2069, 0x1000, - 0x2d04, 0x905d, 0x0118, 0xb84c, 0x0059, 0x9210, 0x8d68, 0x1f04, - 0x3668, 0x2300, 0x9218, 0x00ee, 0x00de, 0x015e, 0x0804, 0x3339, - 0x00f6, 0x0016, 0x907d, 0x0138, 0x9006, 0x8000, 0x2f0c, 0x81ff, - 0x0110, 0x2178, 0x0cd0, 0x001e, 0x00fe, 0x0005, 0x2069, 0x1906, - 0x6910, 0x62b8, 0x0804, 0x3339, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x336b, 0x0126, 0x2091, 0x8000, 0x080c, 0x53a3, 0x0128, - 0x2009, 0x0007, 0x012e, 0x0804, 0x336b, 0x012e, 0x6158, 0x9190, - 0x313a, 0x2215, 0x9294, 0x00ff, 0x6378, 0x83ff, 0x0108, 0x627c, - 0x67d8, 0x97c4, 0x000a, 0x98c6, 0x000a, 0x1118, 0x2031, 0x0001, - 0x00e8, 0x97c4, 0x0022, 0x98c6, 0x0022, 0x1118, 0x2031, 0x0003, - 0x00a8, 0x97c4, 0x0012, 0x98c6, 0x0012, 0x1118, 0x2031, 0x0002, - 0x0068, 0x080c, 0x6f9b, 0x1118, 0x2031, 0x0004, 0x0038, 0xd79c, - 0x0120, 0x2009, 0x0005, 0x0804, 0x336b, 0x9036, 0x7e9a, 0x7f9e, - 0x0804, 0x3339, 0x6148, 0x624c, 0x2019, 0x1956, 0x231c, 0x2001, - 0x1957, 0x2004, 0x789a, 0x0804, 0x3339, 0x0126, 0x2091, 0x8000, - 0x6138, 0x623c, 0x6340, 0x012e, 0x0804, 0x3339, 0x080c, 0x48bc, - 0x0904, 0x336e, 0xba44, 0xbb38, 0x0804, 0x3339, 0x080c, 0x0db4, - 0x080c, 0x48bc, 0x2110, 0x0904, 0x336e, 0xb804, 0x908c, 0x00ff, - 0x918e, 0x0006, 0x0140, 0x9084, 0xff00, 0x9086, 0x0600, 0x2009, - 0x0009, 0x1904, 0x336b, 0x0126, 0x2091, 0x8000, 0x2019, 0x0005, - 0x00c6, 0x9066, 0x080c, 0x992c, 0x080c, 0x8564, 0x0076, 0x903e, - 0x080c, 0x8452, 0x900e, 0x080c, 0xd2bc, 0x007e, 0x00ce, 0xb807, - 0x0407, 0x012e, 0x0804, 0x3339, 0x6148, 0x624c, 0x7884, 0x604a, - 0x7b88, 0x634e, 0x2069, 0x1853, 0x831f, 0x9305, 0x6816, 0x788c, - 0x2069, 0x1956, 0x2d1c, 0x206a, 0x7e98, 0x9682, 0x0014, 0x1210, - 0x2031, 0x07d0, 0x2069, 0x1957, 0x2d04, 0x266a, 0x789a, 0x0804, - 0x3339, 0x0126, 0x2091, 0x8000, 0x6138, 0x7884, 0x603a, 0x910e, - 0xd1b4, 0x190c, 0x0e9b, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, 0x2009, - 0x196d, 0x200a, 0x78ac, 0x2011, 0x196e, 0x2012, 0x2069, 0x0100, - 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, 0x6a5a, 0x0010, 0x210c, - 0x695a, 0x00de, 0x7888, 0x603e, 0x2011, 0x0114, 0x220c, 0x7888, - 0xd08c, 0x0118, 0x918d, 0x0080, 0x0010, 0x918c, 0xff7f, 0x2112, - 0x6140, 0x788c, 0x6042, 0x910e, 0xd1e4, 0x190c, 0x0eb1, 0x6040, - 0xd0cc, 0x0120, 0x78b0, 0x2011, 0x0114, 0x2012, 0x012e, 0x0804, - 0x3339, 0x00f6, 0x2079, 0x1800, 0x7a38, 0xa898, 0x9084, 0xfebf, - 0x9215, 0xa89c, 0x9084, 0xfebf, 0x8002, 0x9214, 0x7838, 0x9084, - 0x0140, 0x9215, 0x7a3a, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, - 0x2001, 0x0000, 0x00fe, 0x0005, 0x7898, 0x9005, 0x01a8, 0x7888, - 0x9025, 0x0904, 0x336e, 0x788c, 0x902d, 0x0904, 0x336e, 0x900e, - 0x080c, 0x6247, 0x1120, 0xba44, 0xbb38, 0xbc46, 0xbd3a, 0x9186, - 0x07ff, 0x0190, 0x8108, 0x0ca0, 0x080c, 0x48bc, 0x0904, 0x336e, - 0x7888, 0x900d, 0x0904, 0x336e, 0x788c, 0x9005, 0x0904, 0x336e, - 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, 0x3339, 0x2011, 0xbc09, - 0x0010, 0x2011, 0xbc05, 0x080c, 0x53a3, 0x1904, 0x336b, 0x00c6, - 0x2061, 0x0100, 0x7984, 0x9186, 0x00ff, 0x1130, 0x2001, 0x1817, - 0x2004, 0x9085, 0xff00, 0x0088, 0x9182, 0x007f, 0x16e0, 0x9188, - 0x313a, 0x210d, 0x918c, 0x00ff, 0x2001, 0x1817, 0x2004, 0x0026, - 0x9116, 0x002e, 0x0580, 0x810f, 0x9105, 0x0126, 0x2091, 0x8000, - 0x0006, 0x080c, 0x9dec, 0x000e, 0x0510, 0x602e, 0x620a, 0x7984, - 0x00b6, 0x080c, 0x61ed, 0x2b08, 0x00be, 0x1500, 0x6112, 0x6023, - 0x0001, 0x080c, 0x4889, 0x01d0, 0x9006, 0xa866, 0x7007, 0x0003, - 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x701f, 0x3819, 0x2900, 0x6016, - 0x2009, 0x0032, 0x080c, 0x9ebc, 0x012e, 0x00ce, 0x0005, 0x012e, - 0x00ce, 0x0804, 0x336b, 0x00ce, 0x0804, 0x336e, 0x080c, 0x9e42, - 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, 0x336b, 0x0804, 0x3339, - 0x2061, 0x1a40, 0x0126, 0x2091, 0x8000, 0x6000, 0xd084, 0x0170, - 0x6104, 0x6208, 0x2061, 0x1800, 0x6350, 0x6070, 0x789a, 0x60bc, - 0x789e, 0x60b8, 0x78aa, 0x012e, 0x0804, 0x3339, 0x900e, 0x2110, - 0x0c88, 0x81ff, 0x1904, 0x336b, 0x080c, 0x6f9b, 0x0904, 0x336b, - 0x0126, 0x2091, 0x8000, 0x6250, 0x6070, 0x9202, 0x0248, 0x9085, - 0x0001, 0x080c, 0x26ce, 0x080c, 0x55bd, 0x012e, 0x0804, 0x3339, - 0x012e, 0x0804, 0x336e, 0x0006, 0x0016, 0x00c6, 0x00e6, 0x2001, - 0x1979, 0x2070, 0x2061, 0x1853, 0x6008, 0x2072, 0x900e, 0x2011, - 0x1400, 0x080c, 0x8259, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, - 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0128, 0x012e, 0x2021, - 0x400b, 0x0804, 0x333b, 0x7884, 0xd0fc, 0x0148, 0x2001, 0x002a, - 0x2004, 0x9082, 0x00e1, 0x0288, 0x012e, 0x0804, 0x336e, 0x2001, - 0x002a, 0x2004, 0x2069, 0x1853, 0x6908, 0x9102, 0x1230, 0x012e, - 0x0804, 0x336e, 0x012e, 0x0804, 0x336b, 0x080c, 0x9dc1, 0x0dd0, - 0x7884, 0xd0fc, 0x0904, 0x38e4, 0x00c6, 0x080c, 0x4889, 0x00ce, - 0x0d88, 0xa867, 0x0000, 0x7884, 0xa80a, 0x7898, 0xa80e, 0x789c, - 0xa812, 0x2001, 0x002e, 0x2004, 0xa81a, 0x2001, 0x002f, 0x2004, - 0xa81e, 0x2001, 0x0030, 0x2004, 0xa822, 0x2001, 0x0031, 0x2004, - 0xa826, 0x2001, 0x0034, 0x2004, 0xa82a, 0x2001, 0x0035, 0x2004, - 0xa82e, 0x2001, 0x002a, 0x2004, 0x9080, 0x0003, 0x9084, 0x00fc, - 0x8004, 0xa816, 0x080c, 0x3a6a, 0x0928, 0x7014, 0x2048, 0xad2c, - 0xac28, 0xab1c, 0xaa18, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, - 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, - 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, 0x48d2, 0x701f, 0x39a7, - 0x7023, 0x0001, 0x012e, 0x0005, 0x0046, 0x0086, 0x0096, 0x00a6, - 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x3853, 0x2001, - 0x196f, 0x2003, 0x0000, 0x2021, 0x000a, 0x2061, 0x0100, 0x6104, - 0x0016, 0x60bb, 0x0000, 0x60bf, 0x32e1, 0x60bf, 0x0012, 0x080c, - 0x3ad9, 0x080c, 0x3a98, 0x00f6, 0x00e6, 0x0086, 0x2940, 0x2071, - 0x1a35, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, - 0x0140, 0x2001, 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, - 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, 0x3e6c, 0x008e, 0x00ee, - 0x00fe, 0x080c, 0x3d99, 0x080c, 0x3c9e, 0x05b8, 0x2001, 0x020b, - 0x2004, 0x9084, 0x0140, 0x1db8, 0x080c, 0x3ee0, 0x00f6, 0x2079, - 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, 0x1560, 0x2071, 0x0200, - 0x7037, 0x0000, 0x7050, 0x9084, 0xff00, 0x9086, 0x3200, 0x1510, - 0x7037, 0x0001, 0x7050, 0x9084, 0xff00, 0x9086, 0xe100, 0x11d0, - 0x7037, 0x0000, 0x7054, 0x7037, 0x0000, 0x715c, 0x9106, 0x1190, - 0x2001, 0x181f, 0x2004, 0x9106, 0x1168, 0x00c6, 0x2061, 0x0100, - 0x6024, 0x9084, 0x1e00, 0x00ce, 0x0138, 0x080c, 0x3ca8, 0x080c, - 0x3a93, 0x0058, 0x080c, 0x3a93, 0x080c, 0x3e04, 0x080c, 0x3d8f, - 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, 0x2001, 0x032a, 0x2003, - 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x001e, 0x6106, 0x2011, - 0x020d, 0x2013, 0x0020, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, - 0x0012, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, - 0x129f, 0x2009, 0x0028, 0x080c, 0x226a, 0x2001, 0x0227, 0x200c, - 0x2102, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, - 0x008e, 0x004e, 0x2001, 0x196f, 0x2004, 0x9005, 0x1118, 0x012e, - 0x0804, 0x3339, 0x012e, 0x2021, 0x400c, 0x0804, 0x333b, 0x0016, - 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, - 0x0156, 0x7014, 0x2048, 0x7020, 0x20a8, 0x8000, 0x7022, 0xa804, - 0x9005, 0x0904, 0x3a03, 0x2048, 0x1f04, 0x39b7, 0x7068, 0x2040, - 0xa28c, 0xa390, 0xa494, 0xa598, 0xa930, 0xa808, 0xd0b4, 0x1120, - 0x2029, 0x0000, 0x2021, 0x0000, 0x0096, 0x7014, 0x2048, 0xa864, - 0x009e, 0x9086, 0x0103, 0x0170, 0x8906, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, 0x48d2, 0x701f, - 0x39a7, 0x00b0, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, - 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, - 0x0006, 0x080c, 0x0f68, 0x000e, 0x080c, 0x48d5, 0x701f, 0x39a7, - 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, 0x003e, - 0x002e, 0x001e, 0x0005, 0x7014, 0x2048, 0xa864, 0x9086, 0x0103, - 0x1118, 0x701f, 0x3a68, 0x0450, 0x7014, 0x2048, 0xa868, 0xc0fd, - 0xa86a, 0x2009, 0x007f, 0x080c, 0x61e7, 0x0110, 0x9006, 0x0030, - 0xb813, 0x00ff, 0xb817, 0xfffd, 0x080c, 0xbff5, 0x015e, 0x00de, - 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, - 0x0904, 0x336b, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, - 0x0086, 0x0096, 0x00d6, 0x0156, 0x701f, 0x3a3a, 0x7007, 0x0003, - 0x0804, 0x39f8, 0xa830, 0x9086, 0x0100, 0x2021, 0x400c, 0x0904, - 0x333b, 0x0076, 0xad10, 0xac0c, 0xab24, 0xaa20, 0xa930, 0xa808, + 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x2071, 0x189c, 0x7003, + 0x0002, 0x9006, 0x7016, 0x701a, 0x704a, 0x704e, 0x700e, 0x7042, + 0x7046, 0x703b, 0x18b8, 0x703f, 0x18b8, 0x7007, 0x0001, 0x080c, + 0x1004, 0x090c, 0x0db4, 0x2900, 0x706a, 0xa867, 0x0002, 0xa8ab, + 0xdcb0, 0x080c, 0x1004, 0x090c, 0x0db4, 0x2900, 0x706e, 0xa867, + 0x0002, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x189c, 0x7004, 0x0002, + 0x3274, 0x3275, 0x3288, 0x329c, 0x0005, 0x1004, 0x3285, 0x0e04, + 0x3285, 0x2079, 0x0000, 0x0126, 0x2091, 0x8000, 0x700c, 0x9005, + 0x1128, 0x700f, 0x0001, 0x012e, 0x0468, 0x0005, 0x012e, 0x0ce8, + 0x2079, 0x0000, 0x2061, 0x18b6, 0x2c4c, 0xa86c, 0x908e, 0x0100, + 0x0128, 0x9086, 0x0200, 0x0904, 0x3370, 0x0005, 0x7018, 0x2048, + 0x2061, 0x1800, 0x701c, 0x0807, 0x7014, 0x2048, 0xa864, 0x9094, + 0x00ff, 0x9296, 0x0029, 0x1120, 0xaa78, 0xd2fc, 0x0128, 0x0005, + 0x9086, 0x0103, 0x0108, 0x0005, 0x2079, 0x0000, 0x2061, 0x1800, + 0x701c, 0x0807, 0x2061, 0x1800, 0x7880, 0x908a, 0x0040, 0x1210, + 0x61cc, 0x0042, 0x2100, 0x908a, 0x003f, 0x1a04, 0x336d, 0x61cc, + 0x0804, 0x3302, 0x3344, 0x337c, 0x336d, 0x3386, 0x3390, 0x3396, + 0x339a, 0x33aa, 0x33ae, 0x33c4, 0x33ca, 0x33d0, 0x33db, 0x33e6, + 0x33f5, 0x3404, 0x3412, 0x3429, 0x3444, 0x336d, 0x34ed, 0x352b, + 0x35d1, 0x35e2, 0x3605, 0x336d, 0x336d, 0x336d, 0x363d, 0x3659, + 0x3662, 0x3691, 0x3697, 0x336d, 0x36dd, 0x336d, 0x336d, 0x336d, + 0x336d, 0x336d, 0x36e8, 0x36f1, 0x36f9, 0x36fb, 0x336d, 0x336d, + 0x336d, 0x336d, 0x336d, 0x336d, 0x3727, 0x336d, 0x336d, 0x336d, + 0x336d, 0x336d, 0x3744, 0x379f, 0x336d, 0x336d, 0x336d, 0x336d, + 0x336d, 0x336d, 0x0002, 0x37c9, 0x37cc, 0x382b, 0x3844, 0x3874, + 0x3b12, 0x336d, 0x4f73, 0x336d, 0x336d, 0x336d, 0x336d, 0x336d, + 0x336d, 0x336d, 0x336d, 0x33c4, 0x33ca, 0x4033, 0x53be, 0x4049, + 0x5002, 0x5053, 0x5156, 0x336d, 0x51b8, 0x51f4, 0x5225, 0x5329, + 0x5252, 0x52a9, 0x336d, 0x404d, 0x41ee, 0x4204, 0x4229, 0x428e, + 0x4302, 0x4322, 0x4399, 0x43f5, 0x4451, 0x4454, 0x4479, 0x4519, + 0x457f, 0x4587, 0x46b9, 0x481e, 0x4852, 0x4a9c, 0x336d, 0x4aba, + 0x4b76, 0x4c4c, 0x336d, 0x336d, 0x336d, 0x336d, 0x4cb2, 0x4ccd, + 0x4587, 0x4f13, 0x714c, 0x0000, 0x2021, 0x4000, 0x080c, 0x48d0, + 0x0126, 0x2091, 0x8000, 0x0e04, 0x334e, 0x0010, 0x012e, 0x0cc0, + 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, + 0x0010, 0x7c82, 0x7986, 0x7a8a, 0x7b8e, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x7007, 0x0001, 0x2091, + 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x2021, 0x4001, 0x08b0, + 0x2021, 0x4002, 0x0898, 0x2021, 0x4003, 0x0880, 0x2021, 0x4005, + 0x0868, 0x2021, 0x4006, 0x0850, 0x2039, 0x0001, 0x902e, 0x2520, + 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x48dd, 0x2039, 0x0001, + 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x48e0, + 0x7984, 0x7888, 0x2114, 0x200a, 0x0804, 0x3344, 0x7984, 0x2114, + 0x0804, 0x3344, 0x20e1, 0x0000, 0x2099, 0x0021, 0x20e9, 0x0000, + 0x20a1, 0x0021, 0x20a9, 0x001f, 0x4003, 0x7984, 0x7a88, 0x7b8c, + 0x0804, 0x3344, 0x7884, 0x2060, 0x0804, 0x33f7, 0x2009, 0x0003, + 0x2011, 0x0003, 0x2019, 0x0002, 0x789b, 0x0317, 0x7893, 0xffff, + 0x2001, 0x188d, 0x2004, 0x9005, 0x0118, 0x7896, 0x0804, 0x3344, + 0x7897, 0x0001, 0x0804, 0x3344, 0x2039, 0x0001, 0x7d98, 0x7c9c, + 0x0804, 0x3380, 0x2039, 0x0001, 0x7d98, 0x7c9c, 0x0804, 0x338a, + 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x3379, 0x2138, 0x7d98, + 0x7c9c, 0x0804, 0x3380, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, + 0x3379, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x338a, 0x79a0, 0x9182, + 0x0040, 0x0210, 0x0804, 0x3379, 0x21e8, 0x7984, 0x7888, 0x20a9, + 0x0001, 0x21a0, 0x4004, 0x0804, 0x3344, 0x2061, 0x0800, 0xe10c, + 0x9006, 0x2c15, 0x9200, 0x8c60, 0x8109, 0x1dd8, 0x2010, 0x9005, + 0x0904, 0x3344, 0x0804, 0x3373, 0x79a0, 0x9182, 0x0040, 0x0210, + 0x0804, 0x3379, 0x21e0, 0x20a9, 0x0001, 0x7984, 0x2198, 0x4012, + 0x0804, 0x3344, 0x2069, 0x185b, 0x7884, 0x7990, 0x911a, 0x1a04, + 0x3379, 0x8019, 0x0904, 0x3379, 0x684a, 0x6942, 0x788c, 0x6852, + 0x7888, 0x6856, 0x9006, 0x685a, 0x685e, 0x080c, 0x72bd, 0x0804, + 0x3344, 0x2069, 0x185b, 0x7884, 0x7994, 0x911a, 0x1a04, 0x3379, + 0x8019, 0x0904, 0x3379, 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, + 0x6866, 0x9006, 0x686a, 0x686e, 0x0126, 0x2091, 0x8000, 0x080c, + 0x6678, 0x012e, 0x0804, 0x3344, 0x902e, 0x2520, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x3376, 0x7984, 0x7b88, 0x7a8c, 0x20a9, + 0x0005, 0x20e9, 0x0001, 0x20a1, 0x18a4, 0x4101, 0x080c, 0x4894, + 0x1120, 0x2009, 0x0002, 0x0804, 0x3376, 0x2009, 0x0020, 0xa85c, + 0x9080, 0x0019, 0xaf60, 0x080c, 0x48dd, 0x701f, 0x3468, 0x0005, + 0xa864, 0x2008, 0x9084, 0x00ff, 0x9096, 0x0011, 0x0168, 0x9096, + 0x0019, 0x0150, 0x9096, 0x0015, 0x0138, 0x9096, 0x0048, 0x0120, + 0x9096, 0x0029, 0x1904, 0x3376, 0x810f, 0x918c, 0x00ff, 0x0904, + 0x3376, 0x7112, 0x7010, 0x8001, 0x0560, 0x7012, 0x080c, 0x4894, + 0x1120, 0x2009, 0x0002, 0x0804, 0x3376, 0x2009, 0x0020, 0x7068, + 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0x9290, 0x0040, 0x9399, + 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, 0x9080, 0x0019, + 0xaf60, 0x080c, 0x48dd, 0x701f, 0x34a6, 0x0005, 0xa864, 0x9084, + 0x00ff, 0x9096, 0x0002, 0x0120, 0x9096, 0x000a, 0x1904, 0x3376, + 0x0888, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, 0xa864, 0x9084, + 0x00ff, 0x9096, 0x0029, 0x1160, 0xc2fd, 0xaa7a, 0x080c, 0x5df1, + 0x0150, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, 0x012e, 0x0050, + 0x080c, 0x610c, 0x1128, 0x7007, 0x0003, 0x701f, 0x34d2, 0x0005, + 0x080c, 0x6ace, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x20e1, + 0x0001, 0x2099, 0x18a4, 0x400a, 0x2100, 0x9210, 0x9399, 0x0000, + 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, 0x9080, 0x0019, 0x2009, + 0x0020, 0x012e, 0xaf60, 0x0804, 0x48e0, 0x2091, 0x8000, 0x7837, + 0x4000, 0x7833, 0x0010, 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, + 0x5020, 0x788f, 0x2020, 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, + 0x7896, 0x2061, 0x0100, 0x6200, 0x2061, 0x0200, 0x603c, 0x8007, + 0x9205, 0x789a, 0x2009, 0x04fd, 0x2104, 0x789e, 0x2091, 0x5000, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x0180, 0x2001, + 0x19f1, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, + 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, 0x1001, 0x2071, + 0x0080, 0x0804, 0x0427, 0x81ff, 0x1904, 0x3376, 0x7984, 0x080c, + 0x6256, 0x1904, 0x3379, 0x7e98, 0x9684, 0x3fff, 0x9082, 0x4000, + 0x1a04, 0x3379, 0x7c88, 0x7d8c, 0x080c, 0x63b9, 0x080c, 0x6388, + 0x0000, 0x1518, 0x2061, 0x1cd0, 0x0126, 0x2091, 0x8000, 0x6000, + 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, + 0x1118, 0xa870, 0x9506, 0x0150, 0x012e, 0x9ce0, 0x0018, 0x2001, + 0x1819, 0x2004, 0x9c02, 0x1a04, 0x3376, 0x0c30, 0x080c, 0xb75c, + 0x012e, 0x0904, 0x3376, 0x0804, 0x3344, 0x900e, 0x2001, 0x0005, + 0x080c, 0x6ace, 0x0126, 0x2091, 0x8000, 0x080c, 0xbe35, 0x080c, + 0x68a0, 0x012e, 0x0804, 0x3344, 0x00a6, 0x2950, 0xb198, 0x080c, + 0x6256, 0x1904, 0x35be, 0xb6a4, 0x9684, 0x3fff, 0x9082, 0x4000, + 0x16e8, 0xb49c, 0xb5a0, 0x080c, 0x63b9, 0x080c, 0x6388, 0x1520, + 0x2061, 0x1cd0, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, + 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, + 0x9506, 0x0158, 0x012e, 0x9ce0, 0x0018, 0x2001, 0x1819, 0x2004, + 0x9c02, 0x2009, 0x000d, 0x12b0, 0x0c28, 0x080c, 0xb75c, 0x012e, + 0x2009, 0x0003, 0x0178, 0x00e0, 0x900e, 0x2001, 0x0005, 0x080c, + 0x6ace, 0x0126, 0x2091, 0x8000, 0x080c, 0xbe35, 0x080c, 0x6893, + 0x012e, 0x0070, 0xb097, 0x4005, 0xb19a, 0x0010, 0xb097, 0x4006, + 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x2a48, 0x00ae, 0x0005, + 0xb097, 0x4000, 0x9006, 0x918d, 0x0001, 0x2008, 0x2a48, 0x00ae, + 0x0005, 0x81ff, 0x1904, 0x3376, 0x080c, 0x48ab, 0x0904, 0x3379, + 0x080c, 0x631d, 0x0904, 0x3376, 0x080c, 0x63bf, 0x0904, 0x3376, + 0x0804, 0x4319, 0x81ff, 0x1904, 0x3376, 0x080c, 0x48c7, 0x0904, + 0x3379, 0x080c, 0x644d, 0x0904, 0x3376, 0x2019, 0x0005, 0x79a8, + 0x080c, 0x63da, 0x0904, 0x3376, 0x7888, 0x908a, 0x1000, 0x1a04, + 0x3379, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x804d, 0x7984, + 0xd184, 0x1904, 0x3344, 0x0804, 0x4319, 0x0126, 0x2091, 0x8000, + 0x81ff, 0x0118, 0x2009, 0x0001, 0x0450, 0x2029, 0x07ff, 0x6458, + 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, 0x6256, 0x11d8, 0x080c, + 0x644d, 0x1128, 0x2009, 0x0002, 0x62bc, 0x2518, 0x00c0, 0x2019, + 0x0004, 0x900e, 0x080c, 0x63da, 0x1118, 0x2009, 0x0006, 0x0078, + 0x7884, 0x908a, 0x1000, 0x1270, 0x8003, 0x800b, 0x810b, 0x9108, + 0x080c, 0x804d, 0x8529, 0x1ae0, 0x012e, 0x0804, 0x3344, 0x012e, + 0x0804, 0x3376, 0x012e, 0x0804, 0x3379, 0x080c, 0x48ab, 0x0904, + 0x3379, 0x080c, 0x631d, 0x0904, 0x3376, 0xbaa0, 0x2019, 0x0005, + 0x00c6, 0x9066, 0x080c, 0x8582, 0x0076, 0x903e, 0x080c, 0x8470, + 0x900e, 0x080c, 0xd2d5, 0x007e, 0x00ce, 0x080c, 0x63b9, 0x0804, + 0x3344, 0x080c, 0x48ab, 0x0904, 0x3379, 0x080c, 0x63b9, 0x2208, + 0x0804, 0x3344, 0x0156, 0x00d6, 0x00e6, 0x2069, 0x190e, 0x6810, + 0x6914, 0x910a, 0x1208, 0x900e, 0x6816, 0x9016, 0x901e, 0x20a9, + 0x007e, 0x2069, 0x1000, 0x2d04, 0x905d, 0x0118, 0xb84c, 0x0059, + 0x9210, 0x8d68, 0x1f04, 0x3673, 0x2300, 0x9218, 0x00ee, 0x00de, + 0x015e, 0x0804, 0x3344, 0x00f6, 0x0016, 0x907d, 0x0138, 0x9006, + 0x8000, 0x2f0c, 0x81ff, 0x0110, 0x2178, 0x0cd0, 0x001e, 0x00fe, + 0x0005, 0x2069, 0x190e, 0x6910, 0x62b8, 0x0804, 0x3344, 0x81ff, + 0x0120, 0x2009, 0x0001, 0x0804, 0x3376, 0x0126, 0x2091, 0x8000, + 0x080c, 0x53ae, 0x0128, 0x2009, 0x0007, 0x012e, 0x0804, 0x3376, + 0x012e, 0x6158, 0x9190, 0x3145, 0x2215, 0x9294, 0x00ff, 0x6378, + 0x83ff, 0x0108, 0x627c, 0x67d8, 0x97c4, 0x000a, 0x98c6, 0x000a, + 0x1118, 0x2031, 0x0001, 0x00e8, 0x97c4, 0x0022, 0x98c6, 0x0022, + 0x1118, 0x2031, 0x0003, 0x00a8, 0x97c4, 0x0012, 0x98c6, 0x0012, + 0x1118, 0x2031, 0x0002, 0x0068, 0x080c, 0x6faa, 0x1118, 0x2031, + 0x0004, 0x0038, 0xd79c, 0x0120, 0x2009, 0x0005, 0x0804, 0x3376, + 0x9036, 0x7e9a, 0x7f9e, 0x0804, 0x3344, 0x6148, 0x624c, 0x2019, + 0x195e, 0x231c, 0x2001, 0x195f, 0x2004, 0x789a, 0x0804, 0x3344, + 0x0126, 0x2091, 0x8000, 0x6138, 0x623c, 0x6340, 0x012e, 0x0804, + 0x3344, 0x080c, 0x48c7, 0x0904, 0x3379, 0xba44, 0xbb38, 0x0804, + 0x3344, 0x080c, 0x0db4, 0x080c, 0x48c7, 0x2110, 0x0904, 0x3379, + 0xb804, 0x908c, 0x00ff, 0x918e, 0x0006, 0x0140, 0x9084, 0xff00, + 0x9086, 0x0600, 0x2009, 0x0009, 0x1904, 0x3376, 0x0126, 0x2091, + 0x8000, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, 0x9915, 0x080c, + 0x8582, 0x0076, 0x903e, 0x080c, 0x8470, 0x900e, 0x080c, 0xd2d5, + 0x007e, 0x00ce, 0xb807, 0x0407, 0x012e, 0x0804, 0x3344, 0x6148, + 0x624c, 0x7884, 0x604a, 0x7b88, 0x634e, 0x2069, 0x185b, 0x831f, + 0x9305, 0x6816, 0x788c, 0x2069, 0x195e, 0x2d1c, 0x206a, 0x7e98, + 0x9682, 0x0014, 0x1210, 0x2031, 0x07d0, 0x2069, 0x195f, 0x2d04, + 0x266a, 0x789a, 0x0804, 0x3344, 0x0126, 0x2091, 0x8000, 0x6138, + 0x7884, 0x603a, 0x910e, 0xd1b4, 0x190c, 0x0e9b, 0xd0c4, 0x01a8, + 0x00d6, 0x78a8, 0x2009, 0x1975, 0x200a, 0x78ac, 0x2011, 0x1976, + 0x2012, 0x2069, 0x0100, 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, + 0x6a5a, 0x0010, 0x210c, 0x695a, 0x00de, 0x7888, 0x603e, 0x2011, + 0x0114, 0x220c, 0x7888, 0xd08c, 0x0118, 0x918d, 0x0080, 0x0010, + 0x918c, 0xff7f, 0x2112, 0x6140, 0x788c, 0x6042, 0x910e, 0xd1e4, + 0x190c, 0x0eb1, 0x6040, 0xd0cc, 0x0120, 0x78b0, 0x2011, 0x0114, + 0x2012, 0x012e, 0x0804, 0x3344, 0x00f6, 0x2079, 0x1800, 0x7a38, + 0xa898, 0x9084, 0xfebf, 0x9215, 0xa89c, 0x9084, 0xfebf, 0x8002, + 0x9214, 0x7838, 0x9084, 0x0140, 0x9215, 0x7a3a, 0xa897, 0x4000, + 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x00fe, 0x0005, 0x7898, + 0x9005, 0x01a8, 0x7888, 0x9025, 0x0904, 0x3379, 0x788c, 0x902d, + 0x0904, 0x3379, 0x900e, 0x080c, 0x6256, 0x1120, 0xba44, 0xbb38, + 0xbc46, 0xbd3a, 0x9186, 0x07ff, 0x0190, 0x8108, 0x0ca0, 0x080c, + 0x48c7, 0x0904, 0x3379, 0x7888, 0x900d, 0x0904, 0x3379, 0x788c, + 0x9005, 0x0904, 0x3379, 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, + 0x3344, 0x2011, 0xbc09, 0x0010, 0x2011, 0xbc05, 0x080c, 0x53ae, + 0x1904, 0x3376, 0x00c6, 0x2061, 0x0100, 0x7984, 0x9186, 0x00ff, + 0x1130, 0x2001, 0x1817, 0x2004, 0x9085, 0xff00, 0x0088, 0x9182, + 0x007f, 0x16e0, 0x9188, 0x3145, 0x210d, 0x918c, 0x00ff, 0x2001, + 0x1817, 0x2004, 0x0026, 0x9116, 0x002e, 0x0580, 0x810f, 0x9105, + 0x0126, 0x2091, 0x8000, 0x0006, 0x080c, 0x9dd9, 0x000e, 0x0510, + 0x602e, 0x620a, 0x7984, 0x00b6, 0x080c, 0x61fc, 0x2b08, 0x00be, + 0x1500, 0x6112, 0x6023, 0x0001, 0x080c, 0x4894, 0x01d0, 0x9006, + 0xa866, 0x7007, 0x0003, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x701f, + 0x3824, 0x2900, 0x6016, 0x2009, 0x0032, 0x080c, 0x9ea9, 0x012e, + 0x00ce, 0x0005, 0x012e, 0x00ce, 0x0804, 0x3376, 0x00ce, 0x0804, + 0x3379, 0x080c, 0x9e2f, 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, + 0x3376, 0x0804, 0x3344, 0x2061, 0x1a48, 0x0126, 0x2091, 0x8000, + 0x6000, 0xd084, 0x0170, 0x6104, 0x6208, 0x2061, 0x1800, 0x6350, + 0x6070, 0x789a, 0x60bc, 0x789e, 0x60b8, 0x78aa, 0x012e, 0x0804, + 0x3344, 0x900e, 0x2110, 0x0c88, 0x81ff, 0x1904, 0x3376, 0x080c, + 0x6faa, 0x0904, 0x3376, 0x0126, 0x2091, 0x8000, 0x6250, 0x6070, + 0x9202, 0x0248, 0x9085, 0x0001, 0x080c, 0x26d9, 0x080c, 0x55c8, + 0x012e, 0x0804, 0x3344, 0x012e, 0x0804, 0x3379, 0x0006, 0x0016, + 0x00c6, 0x00e6, 0x2001, 0x1981, 0x2070, 0x2061, 0x185b, 0x6008, + 0x2072, 0x900e, 0x2011, 0x1400, 0x080c, 0x8277, 0x7206, 0x00ee, + 0x00ce, 0x001e, 0x000e, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, + 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x3346, 0x7884, 0xd0fc, + 0x0148, 0x2001, 0x002a, 0x2004, 0x9082, 0x00e1, 0x0288, 0x012e, + 0x0804, 0x3379, 0x2001, 0x002a, 0x2004, 0x2069, 0x185b, 0x6908, + 0x9102, 0x1230, 0x012e, 0x0804, 0x3379, 0x012e, 0x0804, 0x3376, + 0x080c, 0x9dae, 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x38ef, 0x00c6, + 0x080c, 0x4894, 0x00ce, 0x0d88, 0xa867, 0x0000, 0x7884, 0xa80a, + 0x7898, 0xa80e, 0x789c, 0xa812, 0x2001, 0x002e, 0x2004, 0xa81a, + 0x2001, 0x002f, 0x2004, 0xa81e, 0x2001, 0x0030, 0x2004, 0xa822, + 0x2001, 0x0031, 0x2004, 0xa826, 0x2001, 0x0034, 0x2004, 0xa82a, + 0x2001, 0x0035, 0x2004, 0xa82e, 0x2001, 0x002a, 0x2004, 0x9080, + 0x0003, 0x9084, 0x00fc, 0x8004, 0xa816, 0x080c, 0x3a75, 0x0928, + 0x7014, 0x2048, 0xad2c, 0xac28, 0xab1c, 0xaa18, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, - 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, - 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0f68, 0x000e, - 0x080c, 0x48d5, 0x007e, 0x701f, 0x39a7, 0x7023, 0x0001, 0x0005, - 0x0804, 0x3339, 0x0156, 0x00c6, 0xa814, 0x908a, 0x001e, 0x0218, - 0xa833, 0x001e, 0x0010, 0xa832, 0x0078, 0x81ff, 0x0168, 0x0016, - 0x080c, 0x4889, 0x001e, 0x0130, 0xa800, 0x2040, 0xa008, 0xa80a, - 0x2100, 0x0c58, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, 0x015e, - 0x0005, 0x0006, 0x00f6, 0x2079, 0x0000, 0x7880, 0x9086, 0x0044, - 0x00fe, 0x000e, 0x0005, 0x2001, 0x196f, 0x2003, 0x0001, 0x0005, - 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, 0x2001, 0x197a, 0x2004, - 0x601a, 0x2061, 0x0100, 0x2001, 0x1979, 0x2004, 0x60ce, 0x6104, - 0xc1ac, 0x6106, 0x080c, 0x4889, 0xa813, 0x0019, 0xa817, 0x0001, + 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, + 0x48dd, 0x701f, 0x39b2, 0x7023, 0x0001, 0x012e, 0x0005, 0x0046, + 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x080c, 0x385e, 0x2001, 0x1977, 0x2003, 0x0000, 0x2021, 0x000a, + 0x2061, 0x0100, 0x6104, 0x0016, 0x60bb, 0x0000, 0x60bf, 0x32e1, + 0x60bf, 0x0012, 0x080c, 0x3ae4, 0x080c, 0x3aa3, 0x00f6, 0x00e6, + 0x0086, 0x2940, 0x2071, 0x1a3d, 0x2079, 0x0090, 0x00d6, 0x2069, + 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, 0x0035, 0x2004, 0x780e, + 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, + 0x3e77, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3da4, 0x080c, 0x3ca9, + 0x05b8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1db8, 0x080c, + 0x3eeb, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, + 0x1560, 0x2071, 0x0200, 0x7037, 0x0000, 0x7050, 0x9084, 0xff00, + 0x9086, 0x3200, 0x1510, 0x7037, 0x0001, 0x7050, 0x9084, 0xff00, + 0x9086, 0xe100, 0x11d0, 0x7037, 0x0000, 0x7054, 0x7037, 0x0000, + 0x715c, 0x9106, 0x1190, 0x2001, 0x181f, 0x2004, 0x9106, 0x1168, + 0x00c6, 0x2061, 0x0100, 0x6024, 0x9084, 0x1e00, 0x00ce, 0x0138, + 0x080c, 0x3cb3, 0x080c, 0x3a9e, 0x0058, 0x080c, 0x3a9e, 0x080c, + 0x3e0f, 0x080c, 0x3d9a, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, + 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, + 0x001e, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x60bb, 0x0000, + 0x60bf, 0x0108, 0x60bf, 0x0012, 0x2001, 0x0004, 0x200c, 0x918c, + 0xfffd, 0x2102, 0x080c, 0x129f, 0x2009, 0x0028, 0x080c, 0x2275, + 0x2001, 0x0227, 0x200c, 0x2102, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x00be, 0x00ae, 0x009e, 0x008e, 0x004e, 0x2001, 0x1977, 0x2004, + 0x9005, 0x1118, 0x012e, 0x0804, 0x3344, 0x012e, 0x2021, 0x400c, + 0x0804, 0x3346, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, + 0x0086, 0x0096, 0x00d6, 0x0156, 0x7014, 0x2048, 0x7020, 0x20a8, + 0x8000, 0x7022, 0xa804, 0x9005, 0x0904, 0x3a0e, 0x2048, 0x1f04, + 0x39c2, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0xa930, + 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x0096, + 0x7014, 0x2048, 0xa864, 0x009e, 0x9086, 0x0103, 0x0170, 0x8906, + 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, + 0x080c, 0x48dd, 0x701f, 0x39b2, 0x00b0, 0x8906, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, + 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0f68, 0x000e, 0x080c, + 0x48e0, 0x701f, 0x39b2, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, + 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x7014, 0x2048, + 0xa864, 0x9086, 0x0103, 0x1118, 0x701f, 0x3a73, 0x0450, 0x7014, + 0x2048, 0xa868, 0xc0fd, 0xa86a, 0x2009, 0x007f, 0x080c, 0x61f6, + 0x0110, 0x9006, 0x0030, 0xb813, 0x00ff, 0xb817, 0xfffd, 0x080c, + 0xc004, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, + 0x003e, 0x002e, 0x001e, 0x0904, 0x3376, 0x0016, 0x0026, 0x0036, + 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, 0x0156, 0x701f, + 0x3a45, 0x7007, 0x0003, 0x0804, 0x3a03, 0xa830, 0x9086, 0x0100, + 0x2021, 0x400c, 0x0904, 0x3346, 0x0076, 0xad10, 0xac0c, 0xab24, + 0xaa20, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, + 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, + 0x9080, 0x001b, 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, + 0x080c, 0x0f68, 0x000e, 0x080c, 0x48e0, 0x007e, 0x701f, 0x39b2, + 0x7023, 0x0001, 0x0005, 0x0804, 0x3344, 0x0156, 0x00c6, 0xa814, + 0x908a, 0x001e, 0x0218, 0xa833, 0x001e, 0x0010, 0xa832, 0x0078, + 0x81ff, 0x0168, 0x0016, 0x080c, 0x4894, 0x001e, 0x0130, 0xa800, + 0x2040, 0xa008, 0xa80a, 0x2100, 0x0c58, 0x9006, 0x0010, 0x9085, + 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, 0x00f6, 0x2079, 0x0000, + 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, 0x0005, 0x2001, 0x1977, + 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x2061, 0x0200, + 0x2001, 0x1982, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, 0x1981, + 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x080c, 0x4894, 0xa813, + 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, + 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2061, 0x0090, 0x2079, + 0x0100, 0x2001, 0x1981, 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, + 0x2275, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x601a, + 0xa873, 0x0000, 0x601f, 0x0000, 0x78ca, 0x9006, 0x600a, 0x600e, + 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x080c, 0x4894, 0x2940, + 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, + 0x2004, 0xa866, 0x2001, 0x0031, 0x2004, 0xa86a, 0x2001, 0x002a, + 0x2004, 0x9084, 0xfff8, 0xa86e, 0xa873, 0x0000, 0x2001, 0x032a, + 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, + 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, + 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0148, 0x080c, + 0x2a62, 0x1130, 0x9006, 0x080c, 0x29ba, 0x9006, 0x080c, 0x299d, + 0x7884, 0x9084, 0x0007, 0x0002, 0x3b2f, 0x3b38, 0x3b41, 0x3b2c, + 0x3b2c, 0x3b2c, 0x3b2c, 0x3b2c, 0x012e, 0x0804, 0x3379, 0x2009, + 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, 0x080c, 0x3cfd, 0x00c0, + 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, 0x200a, 0x080c, 0x3cfd, + 0x0078, 0x080c, 0x6faa, 0x1128, 0x012e, 0x2009, 0x0016, 0x0804, + 0x3376, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, 0x0804, 0x3346, + 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, + 0x080c, 0x385e, 0x2009, 0x0101, 0x210c, 0x0016, 0x7ec8, 0x7dcc, + 0x9006, 0x2068, 0x2060, 0x2058, 0x080c, 0x3fc6, 0x080c, 0x3f16, + 0x903e, 0x2720, 0x00f6, 0x00e6, 0x0086, 0x2940, 0x2071, 0x1a3d, + 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, + 0x68d4, 0x780e, 0x68d0, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, + 0x3e77, 0x080c, 0x2a6a, 0x080c, 0x2a6a, 0x080c, 0x2a6a, 0x080c, + 0x2a6a, 0x080c, 0x3e77, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3da4, + 0x2009, 0x9c40, 0x8109, 0x11b0, 0x080c, 0x3cb3, 0x2001, 0x0004, + 0x200c, 0x918c, 0xfffd, 0x2102, 0x001e, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x2009, 0x0017, 0x080c, + 0x3376, 0x0cf8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1d10, + 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, 0xd0bc, 0x0178, 0x2001, + 0x0201, 0x200c, 0x81ff, 0x0150, 0x080c, 0x3d82, 0x2d00, 0x9c05, + 0x9b05, 0x0120, 0x080c, 0x3cb3, 0x0804, 0x3c60, 0x080c, 0x3eeb, + 0x080c, 0x3e0f, 0x080c, 0x3d65, 0x080c, 0x3d9a, 0x00f6, 0x2079, + 0x0100, 0x7824, 0xd0ac, 0x0130, 0x8b58, 0x080c, 0x3cb3, 0x00fe, + 0x0804, 0x3c60, 0x00fe, 0x080c, 0x3ca9, 0x1150, 0x8d68, 0x2001, + 0x0032, 0x2602, 0x2001, 0x0033, 0x2502, 0x080c, 0x3cb3, 0x0080, + 0x87ff, 0x0138, 0x2001, 0x0201, 0x2004, 0x9005, 0x1908, 0x8739, + 0x0038, 0x2001, 0x1a3a, 0x2004, 0x9086, 0x0000, 0x1904, 0x3bb0, + 0x2001, 0x032f, 0x2003, 0x00f6, 0x8631, 0x1208, 0x8529, 0x2500, + 0x9605, 0x0904, 0x3c60, 0x7884, 0xd0bc, 0x0128, 0x2d00, 0x9c05, + 0x9b05, 0x1904, 0x3c60, 0xa013, 0x0019, 0x2001, 0x032a, 0x2003, + 0x0004, 0x7884, 0xd0ac, 0x1148, 0x2001, 0x1a3a, 0x2003, 0x0003, + 0x2001, 0x032a, 0x2003, 0x0009, 0x0030, 0xa017, 0x0001, 0x78b4, + 0x9005, 0x0108, 0xa016, 0x2800, 0xa05a, 0x2009, 0x0040, 0x080c, + 0x2275, 0x2900, 0xa85a, 0xa813, 0x0019, 0x7884, 0xd0a4, 0x1180, + 0xa817, 0x0000, 0x00c6, 0x20a9, 0x0004, 0x2061, 0x0090, 0x602b, + 0x0008, 0x2001, 0x0203, 0x2004, 0x1f04, 0x3c37, 0x00ce, 0x0030, + 0xa817, 0x0001, 0x78b0, 0x9005, 0x0108, 0xa816, 0x00f6, 0x00c6, + 0x2079, 0x0100, 0x2061, 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, + 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, + 0x601e, 0x78c6, 0x000e, 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3b6a, + 0x001e, 0x00c6, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, + 0x6027, 0x0002, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, + 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x080c, 0x129f, 0x7884, + 0x9084, 0x0003, 0x9086, 0x0002, 0x01a0, 0x2009, 0x0028, 0x080c, + 0x2275, 0x2001, 0x0227, 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ef, + 0x6052, 0x602f, 0x0000, 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, + 0x0010, 0x00ce, 0x2d08, 0x2c10, 0x2b18, 0x2b00, 0x9c05, 0x9d05, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, + 0x1118, 0x012e, 0x0804, 0x3344, 0x012e, 0x2021, 0x400c, 0x0804, + 0x3346, 0x9085, 0x0001, 0x1d04, 0x3cb2, 0x2091, 0x6000, 0x8420, + 0x9486, 0x0064, 0x0005, 0x2001, 0x0105, 0x2003, 0x0010, 0x2001, + 0x032a, 0x2003, 0x0004, 0x2001, 0x1a3a, 0x2003, 0x0000, 0x0071, + 0x2009, 0x0048, 0x080c, 0x2275, 0x2001, 0x0227, 0x2024, 0x2402, + 0x2001, 0x0109, 0x2003, 0x4000, 0x9026, 0x0005, 0x00f6, 0x00e6, + 0x2071, 0x1a3d, 0x7000, 0x9086, 0x0000, 0x0520, 0x2079, 0x0090, + 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, + 0x2009, 0x0040, 0x080c, 0x2275, 0x782c, 0xd0fc, 0x0d88, 0x080c, + 0x3eeb, 0x7000, 0x9086, 0x0000, 0x1d58, 0x782b, 0x0004, 0x782c, + 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x2275, 0x782b, 0x0002, + 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, + 0x2001, 0x1817, 0x200c, 0x7932, 0x7936, 0x080c, 0x26b9, 0x7850, + 0x9084, 0xfbff, 0x9085, 0x0030, 0x7852, 0x2019, 0x01f4, 0x8319, + 0x1df0, 0x9084, 0xffcf, 0x9085, 0x2000, 0x7852, 0x20a9, 0x0046, + 0x1d04, 0x3d18, 0x2091, 0x6000, 0x1f04, 0x3d18, 0x7850, 0x9085, + 0x0400, 0x9084, 0xdfff, 0x7852, 0x2001, 0x0021, 0x2004, 0x9084, + 0x0003, 0x9086, 0x0001, 0x1120, 0x7850, 0x9084, 0xdfff, 0x7852, + 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x20a9, 0x0028, + 0xa001, 0x1f04, 0x3d38, 0x7850, 0x9085, 0x1400, 0x7852, 0x2019, + 0x61a8, 0x7854, 0xa001, 0xa001, 0xd08c, 0x1110, 0x8319, 0x1dc8, + 0x7827, 0x0048, 0x7850, 0x9085, 0x0400, 0x7852, 0x7843, 0x0040, + 0x2019, 0x01f4, 0xa001, 0xa001, 0x8319, 0x1de0, 0x2001, 0x0100, + 0x080c, 0x2b21, 0x7827, 0x0020, 0x7843, 0x0000, 0x9006, 0x080c, + 0x2b21, 0x7827, 0x0048, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, + 0x00f6, 0x00e6, 0x2071, 0x1a3a, 0x2079, 0x0320, 0x2001, 0x0201, + 0x2004, 0x9005, 0x0160, 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, + 0xd0bc, 0x0108, 0x8738, 0x7003, 0x0003, 0x782b, 0x0019, 0x00ee, + 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, + 0x0070, 0x0178, 0x2009, 0x0032, 0x260a, 0x2009, 0x0033, 0x250a, + 0xd0b4, 0x0108, 0x8c60, 0xd0ac, 0x0108, 0x8d68, 0xd0a4, 0x0108, + 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, + 0x7837, 0x0050, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, + 0x1982, 0x2004, 0x70e2, 0x080c, 0x3a94, 0x1188, 0x2001, 0x181f, + 0x2004, 0x2009, 0x181e, 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, + 0x7066, 0x918d, 0x3200, 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, + 0x9085, 0x0002, 0x702e, 0x2009, 0x1817, 0x210c, 0x716e, 0x7063, + 0x0100, 0x7166, 0x719e, 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, + 0x0008, 0x7078, 0x9080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, + 0x7087, 0xaaaa, 0x9006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, + 0x0036, 0x70af, 0x95d5, 0x7014, 0x9084, 0x1984, 0x9085, 0x0092, + 0x7016, 0x080c, 0x3eeb, 0x00f6, 0x2071, 0x1a3a, 0x2079, 0x0320, + 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, + 0x6898, 0x780a, 0x00de, 0x2009, 0x03e8, 0x8109, 0x1df0, 0x792c, + 0xd1fc, 0x0110, 0x782b, 0x0004, 0x2011, 0x0011, 0x080c, 0x3e77, + 0x2011, 0x0001, 0x080c, 0x3e77, 0x00fe, 0x00ee, 0x0005, 0x00f6, + 0x00e6, 0x2071, 0x1a3a, 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, + 0x3e74, 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, 0x3e70, 0x7000, + 0x0002, 0x3e74, 0x3e25, 0x3e55, 0x3e70, 0xd1bc, 0x1170, 0xd1dc, + 0x1190, 0x8001, 0x7002, 0x2011, 0x0001, 0x080c, 0x3e77, 0x0904, + 0x3e74, 0x080c, 0x3e77, 0x0804, 0x3e74, 0x00f6, 0x2079, 0x0300, + 0x78bf, 0x0000, 0x00fe, 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, + 0x7916, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x3d82, + 0x2009, 0x0001, 0x00f6, 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, + 0x0110, 0x2009, 0x0011, 0x792a, 0x00f8, 0x8001, 0x7002, 0x9184, + 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, 0x3e19, 0x2011, 0x0001, + 0x00b1, 0x0090, 0xa010, 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, + 0xa000, 0xa05a, 0x2011, 0x0031, 0xa212, 0xd1dc, 0x1960, 0x0828, + 0x782b, 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0xa014, + 0x9005, 0x0550, 0x8001, 0x0036, 0x0096, 0xa016, 0xa058, 0x2048, + 0xa010, 0x2009, 0x0031, 0x911a, 0x831c, 0x831c, 0x938a, 0x0007, + 0x1a0c, 0x0db4, 0x9398, 0x3ea5, 0x231d, 0x083f, 0x9080, 0x0004, + 0x7a2a, 0x7100, 0x8108, 0x7102, 0x009e, 0x003e, 0x908a, 0x0035, + 0x1140, 0x0096, 0xa058, 0x2048, 0xa804, 0xa05a, 0x2001, 0x0019, + 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, 0x3ee2, 0x3ed9, 0x3ed0, + 0x3ec7, 0x3ebe, 0x3eb5, 0x3eac, 0xa964, 0x7902, 0xa968, 0x7906, + 0xa96c, 0x7912, 0xa970, 0x7916, 0x0005, 0xa974, 0x7902, 0xa978, + 0x7906, 0xa97c, 0x7912, 0xa980, 0x7916, 0x0005, 0xa984, 0x7902, + 0xa988, 0x7906, 0xa98c, 0x7912, 0xa990, 0x7916, 0x0005, 0xa994, + 0x7902, 0xa998, 0x7906, 0xa99c, 0x7912, 0xa9a0, 0x7916, 0x0005, + 0xa9a4, 0x7902, 0xa9a8, 0x7906, 0xa9ac, 0x7912, 0xa9b0, 0x7916, + 0x0005, 0xa9b4, 0x7902, 0xa9b8, 0x7906, 0xa9bc, 0x7912, 0xa9c0, + 0x7916, 0x0005, 0xa9c4, 0x7902, 0xa9c8, 0x7906, 0xa9cc, 0x7912, + 0xa9d0, 0x7916, 0x0005, 0x00f6, 0x00e6, 0x0086, 0x2071, 0x1a3d, + 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01e8, 0x782b, 0x0002, 0x2940, + 0x9026, 0x7000, 0x0002, 0x3f12, 0x3efe, 0x3f09, 0x8001, 0x7002, + 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, 0x3e77, 0x190c, 0x3e77, + 0x0048, 0x8001, 0x7002, 0x782c, 0xd0fc, 0x1d38, 0x2011, 0x0001, + 0x080c, 0x3e77, 0x008e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, + 0x00c6, 0x0086, 0x2061, 0x0200, 0x2001, 0x1982, 0x2004, 0x601a, + 0x2061, 0x0100, 0x2001, 0x1981, 0x2004, 0x60ce, 0x6104, 0xc1ac, + 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, 0x0520, 0x2038, 0x2001, + 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, 0x080c, 0x4894, 0xa813, + 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, + 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, + 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x3f8e, 0x1d68, 0x2900, + 0xa85a, 0x00d0, 0x080c, 0x4894, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, - 0x2004, 0xa86a, 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x1979, - 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, 0x226a, 0x2001, 0x002a, - 0x2004, 0x9084, 0xfff8, 0xa86e, 0x601a, 0xa873, 0x0000, 0x601f, - 0x0000, 0x78ca, 0x9006, 0x600a, 0x600e, 0x00ce, 0x00ee, 0x00fe, - 0x0005, 0x00e6, 0x080c, 0x4889, 0x2940, 0xa013, 0x0019, 0xa017, - 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa866, 0x2001, - 0x0031, 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, - 0xa86e, 0xa873, 0x0000, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, - 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, - 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, - 0x2091, 0x8000, 0x81ff, 0x0148, 0x080c, 0x2a57, 0x1130, 0x9006, - 0x080c, 0x29af, 0x9006, 0x080c, 0x2992, 0x7884, 0x9084, 0x0007, - 0x0002, 0x3b24, 0x3b2d, 0x3b36, 0x3b21, 0x3b21, 0x3b21, 0x3b21, - 0x3b21, 0x012e, 0x0804, 0x336e, 0x2009, 0x0114, 0x2104, 0x9085, - 0x0800, 0x200a, 0x080c, 0x3cf2, 0x00c0, 0x2009, 0x0114, 0x2104, - 0x9085, 0x4000, 0x200a, 0x080c, 0x3cf2, 0x0078, 0x080c, 0x6f9b, - 0x1128, 0x012e, 0x2009, 0x0016, 0x0804, 0x336b, 0x81ff, 0x0128, - 0x012e, 0x2021, 0x400b, 0x0804, 0x333b, 0x0086, 0x0096, 0x00a6, - 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x3853, 0x2009, - 0x0101, 0x210c, 0x0016, 0x7ec8, 0x7dcc, 0x9006, 0x2068, 0x2060, - 0x2058, 0x080c, 0x3fbb, 0x080c, 0x3f0b, 0x903e, 0x2720, 0x00f6, - 0x00e6, 0x0086, 0x2940, 0x2071, 0x1a35, 0x2079, 0x0090, 0x00d6, - 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x68d4, 0x780e, 0x68d0, - 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, 0x3e6c, 0x080c, 0x2a5f, - 0x080c, 0x2a5f, 0x080c, 0x2a5f, 0x080c, 0x2a5f, 0x080c, 0x3e6c, - 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3d99, 0x2009, 0x9c40, 0x8109, - 0x11b0, 0x080c, 0x3ca8, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, - 0x2102, 0x001e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, - 0x009e, 0x008e, 0x2009, 0x0017, 0x080c, 0x336b, 0x0cf8, 0x2001, - 0x020b, 0x2004, 0x9084, 0x0140, 0x1d10, 0x00f6, 0x2079, 0x0000, - 0x7884, 0x00fe, 0xd0bc, 0x0178, 0x2001, 0x0201, 0x200c, 0x81ff, - 0x0150, 0x080c, 0x3d77, 0x2d00, 0x9c05, 0x9b05, 0x0120, 0x080c, - 0x3ca8, 0x0804, 0x3c55, 0x080c, 0x3ee0, 0x080c, 0x3e04, 0x080c, - 0x3d5a, 0x080c, 0x3d8f, 0x00f6, 0x2079, 0x0100, 0x7824, 0xd0ac, - 0x0130, 0x8b58, 0x080c, 0x3ca8, 0x00fe, 0x0804, 0x3c55, 0x00fe, - 0x080c, 0x3c9e, 0x1150, 0x8d68, 0x2001, 0x0032, 0x2602, 0x2001, - 0x0033, 0x2502, 0x080c, 0x3ca8, 0x0080, 0x87ff, 0x0138, 0x2001, - 0x0201, 0x2004, 0x9005, 0x1908, 0x8739, 0x0038, 0x2001, 0x1a32, - 0x2004, 0x9086, 0x0000, 0x1904, 0x3ba5, 0x2001, 0x032f, 0x2003, - 0x00f6, 0x8631, 0x1208, 0x8529, 0x2500, 0x9605, 0x0904, 0x3c55, - 0x7884, 0xd0bc, 0x0128, 0x2d00, 0x9c05, 0x9b05, 0x1904, 0x3c55, - 0xa013, 0x0019, 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, - 0x1148, 0x2001, 0x1a32, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, - 0x0009, 0x0030, 0xa017, 0x0001, 0x78b4, 0x9005, 0x0108, 0xa016, - 0x2800, 0xa05a, 0x2009, 0x0040, 0x080c, 0x226a, 0x2900, 0xa85a, - 0xa813, 0x0019, 0x7884, 0xd0a4, 0x1180, 0xa817, 0x0000, 0x00c6, - 0x20a9, 0x0004, 0x2061, 0x0090, 0x602b, 0x0008, 0x2001, 0x0203, - 0x2004, 0x1f04, 0x3c2c, 0x00ce, 0x0030, 0xa817, 0x0001, 0x78b0, - 0x9005, 0x0108, 0xa816, 0x00f6, 0x00c6, 0x2079, 0x0100, 0x2061, - 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, - 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, - 0x78ca, 0x00ce, 0x00fe, 0x0804, 0x3b5f, 0x001e, 0x00c6, 0x2001, - 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x6106, - 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, 0x0004, 0x200c, 0x918c, - 0xfffd, 0x2102, 0x080c, 0x129f, 0x7884, 0x9084, 0x0003, 0x9086, - 0x0002, 0x01a0, 0x2009, 0x0028, 0x080c, 0x226a, 0x2001, 0x0227, - 0x200c, 0x2102, 0x6050, 0x9084, 0xb7ef, 0x6052, 0x602f, 0x0000, - 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, 0x0010, 0x00ce, 0x2d08, - 0x2c10, 0x2b18, 0x2b00, 0x9c05, 0x9d05, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x1118, 0x012e, 0x0804, - 0x3339, 0x012e, 0x2021, 0x400c, 0x0804, 0x333b, 0x9085, 0x0001, - 0x1d04, 0x3ca7, 0x2091, 0x6000, 0x8420, 0x9486, 0x0064, 0x0005, - 0x2001, 0x0105, 0x2003, 0x0010, 0x2001, 0x032a, 0x2003, 0x0004, - 0x2001, 0x1a32, 0x2003, 0x0000, 0x0071, 0x2009, 0x0048, 0x080c, - 0x226a, 0x2001, 0x0227, 0x2024, 0x2402, 0x2001, 0x0109, 0x2003, - 0x4000, 0x9026, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a35, 0x7000, - 0x9086, 0x0000, 0x0520, 0x2079, 0x0090, 0x2009, 0x0206, 0x2104, - 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, 0x080c, - 0x226a, 0x782c, 0xd0fc, 0x0d88, 0x080c, 0x3ee0, 0x7000, 0x9086, - 0x0000, 0x1d58, 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, - 0x0040, 0x080c, 0x226a, 0x782b, 0x0002, 0x7003, 0x0000, 0x00ee, - 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x2001, 0x1817, 0x200c, - 0x7932, 0x7936, 0x080c, 0x26ae, 0x7850, 0x9084, 0xfbff, 0x9085, - 0x0030, 0x7852, 0x2019, 0x01f4, 0x8319, 0x1df0, 0x9084, 0xffcf, - 0x9085, 0x2000, 0x7852, 0x20a9, 0x0046, 0x1d04, 0x3d0d, 0x2091, - 0x6000, 0x1f04, 0x3d0d, 0x7850, 0x9085, 0x0400, 0x9084, 0xdfff, - 0x7852, 0x2001, 0x0021, 0x2004, 0x9084, 0x0003, 0x9086, 0x0001, - 0x1120, 0x7850, 0x9084, 0xdfff, 0x7852, 0x784b, 0xf7f7, 0x7843, - 0x0090, 0x7843, 0x0010, 0x20a9, 0x0028, 0xa001, 0x1f04, 0x3d2d, - 0x7850, 0x9085, 0x1400, 0x7852, 0x2019, 0x61a8, 0x7854, 0xa001, - 0xa001, 0xd08c, 0x1110, 0x8319, 0x1dc8, 0x7827, 0x0048, 0x7850, - 0x9085, 0x0400, 0x7852, 0x7843, 0x0040, 0x2019, 0x01f4, 0xa001, - 0xa001, 0x8319, 0x1de0, 0x2001, 0x0100, 0x080c, 0x2b16, 0x7827, - 0x0020, 0x7843, 0x0000, 0x9006, 0x080c, 0x2b16, 0x7827, 0x0048, - 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, 0x00f6, 0x00e6, 0x2071, - 0x1a32, 0x2079, 0x0320, 0x2001, 0x0201, 0x2004, 0x9005, 0x0160, - 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, 0xd0bc, 0x0108, 0x8738, - 0x7003, 0x0003, 0x782b, 0x0019, 0x00ee, 0x00fe, 0x0005, 0x00f6, - 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, 0x0178, 0x2009, - 0x0032, 0x260a, 0x2009, 0x0033, 0x250a, 0xd0b4, 0x0108, 0x8c60, - 0xd0ac, 0x0108, 0x8d68, 0xd0a4, 0x0108, 0x8b58, 0x0005, 0x00f6, - 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, 0x7837, 0x0050, 0x00fe, - 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, 0x197a, 0x2004, 0x70e2, - 0x080c, 0x3a89, 0x1188, 0x2001, 0x181f, 0x2004, 0x2009, 0x181e, - 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, 0x7066, 0x918d, 0x3200, - 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, 0x9085, 0x0002, 0x702e, - 0x2009, 0x1817, 0x210c, 0x716e, 0x7063, 0x0100, 0x7166, 0x719e, - 0x706b, 0x0000, 0x7073, 0x0809, 0x7077, 0x0008, 0x7078, 0x9080, - 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, 0x7087, 0xaaaa, 0x9006, - 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, 0x0036, 0x70af, 0x95d5, - 0x7014, 0x9084, 0x1984, 0x9085, 0x0092, 0x7016, 0x080c, 0x3ee0, - 0x00f6, 0x2071, 0x1a32, 0x2079, 0x0320, 0x00d6, 0x2069, 0x0000, - 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, 0x6898, 0x780a, 0x00de, - 0x2009, 0x03e8, 0x8109, 0x1df0, 0x792c, 0xd1fc, 0x0110, 0x782b, - 0x0004, 0x2011, 0x0011, 0x080c, 0x3e6c, 0x2011, 0x0001, 0x080c, - 0x3e6c, 0x00fe, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x2071, 0x1a32, - 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, 0x3e69, 0x782b, 0x0002, - 0x9026, 0xd19c, 0x1904, 0x3e65, 0x7000, 0x0002, 0x3e69, 0x3e1a, - 0x3e4a, 0x3e65, 0xd1bc, 0x1170, 0xd1dc, 0x1190, 0x8001, 0x7002, - 0x2011, 0x0001, 0x080c, 0x3e6c, 0x0904, 0x3e69, 0x080c, 0x3e6c, - 0x0804, 0x3e69, 0x00f6, 0x2079, 0x0300, 0x78bf, 0x0000, 0x00fe, - 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, 0x7916, 0x2001, 0x0201, - 0x200c, 0x81ff, 0x0de8, 0x080c, 0x3d77, 0x2009, 0x0001, 0x00f6, - 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, 0x0110, 0x2009, 0x0011, - 0x792a, 0x00f8, 0x8001, 0x7002, 0x9184, 0x0880, 0x1140, 0x782c, - 0xd0fc, 0x1904, 0x3e0e, 0x2011, 0x0001, 0x00b1, 0x0090, 0xa010, - 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, 0xa000, 0xa05a, 0x2011, - 0x0031, 0xa212, 0xd1dc, 0x1960, 0x0828, 0x782b, 0x0004, 0x7003, - 0x0000, 0x00ee, 0x00fe, 0x0005, 0xa014, 0x9005, 0x0550, 0x8001, - 0x0036, 0x0096, 0xa016, 0xa058, 0x2048, 0xa010, 0x2009, 0x0031, - 0x911a, 0x831c, 0x831c, 0x938a, 0x0007, 0x1a0c, 0x0db4, 0x9398, - 0x3e9a, 0x231d, 0x083f, 0x9080, 0x0004, 0x7a2a, 0x7100, 0x8108, - 0x7102, 0x009e, 0x003e, 0x908a, 0x0035, 0x1140, 0x0096, 0xa058, - 0x2048, 0xa804, 0xa05a, 0x2001, 0x0019, 0x009e, 0xa012, 0x9085, - 0x0001, 0x0005, 0x3ed7, 0x3ece, 0x3ec5, 0x3ebc, 0x3eb3, 0x3eaa, - 0x3ea1, 0xa964, 0x7902, 0xa968, 0x7906, 0xa96c, 0x7912, 0xa970, - 0x7916, 0x0005, 0xa974, 0x7902, 0xa978, 0x7906, 0xa97c, 0x7912, - 0xa980, 0x7916, 0x0005, 0xa984, 0x7902, 0xa988, 0x7906, 0xa98c, - 0x7912, 0xa990, 0x7916, 0x0005, 0xa994, 0x7902, 0xa998, 0x7906, - 0xa99c, 0x7912, 0xa9a0, 0x7916, 0x0005, 0xa9a4, 0x7902, 0xa9a8, - 0x7906, 0xa9ac, 0x7912, 0xa9b0, 0x7916, 0x0005, 0xa9b4, 0x7902, - 0xa9b8, 0x7906, 0xa9bc, 0x7912, 0xa9c0, 0x7916, 0x0005, 0xa9c4, - 0x7902, 0xa9c8, 0x7906, 0xa9cc, 0x7912, 0xa9d0, 0x7916, 0x0005, - 0x00f6, 0x00e6, 0x0086, 0x2071, 0x1a35, 0x2079, 0x0090, 0x792c, - 0xd1fc, 0x01e8, 0x782b, 0x0002, 0x2940, 0x9026, 0x7000, 0x0002, - 0x3f07, 0x3ef3, 0x3efe, 0x8001, 0x7002, 0xd19c, 0x1180, 0x2011, - 0x0001, 0x080c, 0x3e6c, 0x190c, 0x3e6c, 0x0048, 0x8001, 0x7002, - 0x782c, 0xd0fc, 0x1d38, 0x2011, 0x0001, 0x080c, 0x3e6c, 0x008e, - 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x2061, - 0x0200, 0x2001, 0x197a, 0x2004, 0x601a, 0x2061, 0x0100, 0x2001, - 0x1979, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x2001, 0x002c, - 0x2004, 0x9005, 0x0520, 0x2038, 0x2001, 0x002e, 0x2024, 0x2001, - 0x002f, 0x201c, 0x080c, 0x4889, 0xa813, 0x0019, 0xaf16, 0x2900, - 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, - 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, 0xa85c, 0x9080, 0x0019, - 0x009e, 0x080c, 0x3f83, 0x1d68, 0x2900, 0xa85a, 0x00d0, 0x080c, - 0x4889, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, - 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2001, - 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x2001, 0x002b, 0x2004, - 0xa872, 0x2061, 0x0090, 0x2079, 0x0100, 0x2001, 0x1979, 0x2004, - 0x6036, 0x2009, 0x0040, 0x080c, 0x226a, 0x2001, 0x002a, 0x2004, - 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, - 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, 0x600e, 0x008e, 0x00ce, - 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0080, 0xaa60, 0x22e8, - 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, 0x702b, 0x0026, 0x7402, - 0x7306, 0x9006, 0x700a, 0x700e, 0x810b, 0x810b, 0x21a8, 0x810b, - 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, 0x0de8, 0x702b, 0x0002, - 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, 0x87ff, 0x0190, 0x0086, - 0x0096, 0x2940, 0x0086, 0x080c, 0x4889, 0x008e, 0xa058, 0x00a6, - 0x2050, 0x2900, 0xb006, 0xa05a, 0x00ae, 0x009e, 0x008e, 0x9085, - 0x0001, 0x00ee, 0x0005, 0x00e6, 0x2001, 0x002d, 0x2004, 0x9005, - 0x0528, 0x2038, 0x2001, 0x0030, 0x2024, 0x2001, 0x0031, 0x201c, - 0x080c, 0x4889, 0x2940, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, - 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, - 0x903e, 0x0096, 0xa858, 0x2048, 0xa85c, 0x9080, 0x0019, 0x009e, - 0x080c, 0x3f83, 0x1d68, 0x2900, 0xa85a, 0x00d8, 0x080c, 0x4889, - 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, - 0x0030, 0x2004, 0xa066, 0x2001, 0x0031, 0x2004, 0xa06a, 0x2001, - 0x002a, 0x2004, 0x9084, 0xfff8, 0xa06e, 0x2001, 0x002b, 0x2004, - 0xa072, 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1180, - 0x2001, 0x0101, 0x200c, 0x918d, 0x0200, 0x2102, 0xa017, 0x0000, - 0x2001, 0x1a32, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, - 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, - 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, - 0x0126, 0x2091, 0x8000, 0x20a9, 0x0013, 0x20a1, 0x1840, 0x20e9, - 0x0001, 0x9006, 0x4004, 0x2009, 0x013c, 0x200a, 0x012e, 0x7880, - 0x9086, 0x0052, 0x0108, 0x0005, 0x0804, 0x3339, 0x7d98, 0x7c9c, - 0x0804, 0x343b, 0x080c, 0x6f9b, 0x190c, 0x5c9f, 0x2069, 0x1853, - 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, - 0x0001, 0x080c, 0x48d2, 0x701f, 0x4056, 0x0005, 0x080c, 0x539e, - 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, 0x20d8, 0x21d0, 0x2069, - 0x1853, 0x6800, 0x9005, 0x0904, 0x336e, 0x6804, 0xd094, 0x00c6, - 0x2061, 0x0100, 0x6104, 0x0138, 0x6200, 0x9292, 0x0005, 0x0218, - 0x918c, 0xffdf, 0x0010, 0x918d, 0x0020, 0x6106, 0x00ce, 0xd08c, - 0x00c6, 0x2061, 0x0100, 0x6104, 0x0118, 0x918d, 0x0010, 0x0010, - 0x918c, 0xffef, 0x6106, 0x00ce, 0xd084, 0x0158, 0x6a28, 0x928a, - 0x007f, 0x1a04, 0x336e, 0x9288, 0x313a, 0x210d, 0x918c, 0x00ff, - 0x6162, 0xd0dc, 0x0130, 0x6828, 0x908a, 0x007f, 0x1a04, 0x336e, - 0x605a, 0x6888, 0x9084, 0x0030, 0x8004, 0x8004, 0x8004, 0x8004, - 0x0006, 0x2009, 0x1981, 0x9080, 0x27a1, 0x2005, 0x200a, 0x000e, - 0x2009, 0x1982, 0x9080, 0x27a5, 0x2005, 0x200a, 0x6808, 0x908a, - 0x0100, 0x0a04, 0x336e, 0x908a, 0x0841, 0x1a04, 0x336e, 0x9084, - 0x0007, 0x1904, 0x336e, 0x680c, 0x9005, 0x0904, 0x336e, 0x6810, - 0x9005, 0x0904, 0x336e, 0x6848, 0x6940, 0x910a, 0x1a04, 0x336e, - 0x8001, 0x0904, 0x336e, 0x684c, 0x6944, 0x910a, 0x1a04, 0x336e, - 0x8001, 0x0904, 0x336e, 0x2009, 0x1951, 0x200b, 0x0000, 0x2001, - 0x1875, 0x2004, 0xd0c4, 0x0140, 0x7884, 0x200a, 0x2009, 0x017f, - 0x200a, 0x3b00, 0xc085, 0x20d8, 0x6814, 0x908c, 0x00ff, 0x614a, - 0x8007, 0x9084, 0x00ff, 0x604e, 0x080c, 0x72b0, 0x080c, 0x6634, - 0x080c, 0x6669, 0x6808, 0x602a, 0x080c, 0x21dc, 0x2009, 0x0170, - 0x200b, 0x0080, 0xa001, 0xa001, 0x200b, 0x0000, 0x0036, 0x6b08, - 0x080c, 0x2708, 0x003e, 0x6000, 0x9086, 0x0000, 0x1904, 0x41d3, - 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, 0x831f, - 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, 0x6830, - 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, 0x0010, - 0x9084, 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, 0x810f, - 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, 0x1983, 0x20e9, 0x0001, - 0x4001, 0x20a9, 0x0004, 0x20a1, 0x199d, 0x20e9, 0x0001, 0x4001, - 0x080c, 0x812a, 0x00c6, 0x900e, 0x20a9, 0x0001, 0x6b70, 0xd384, - 0x0510, 0x0068, 0x2009, 0x0100, 0x210c, 0x918e, 0x0008, 0x1110, - 0x839d, 0x0010, 0x83f5, 0x3e18, 0x12b0, 0x3508, 0x8109, 0x080c, - 0x787b, 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, 0xff00, 0x8007, - 0x600a, 0x9184, 0x00ff, 0x6006, 0x8108, 0x1118, 0x6003, 0x0003, - 0x0010, 0x6003, 0x0001, 0x1f04, 0x4142, 0x00ce, 0x00c6, 0x2061, - 0x196c, 0x2063, 0x0001, 0x9006, 0x080c, 0x29af, 0x9006, 0x080c, - 0x2992, 0x0000, 0x00ce, 0x00e6, 0x2c70, 0x080c, 0x0e80, 0x00ee, - 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, 0x9085, 0x0100, - 0x2012, 0x6a80, 0x9284, 0x0030, 0x9086, 0x0030, 0x1128, 0x9294, - 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, 0x194c, 0x6a80, 0x9294, - 0x0030, 0x928e, 0x0000, 0x0170, 0x928e, 0x0010, 0x0118, 0x928e, - 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, 0x277d, 0x2001, 0x193d, - 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, 0x602f, 0x0040, - 0x602f, 0x0000, 0x00ce, 0x080c, 0x6f9b, 0x0128, 0x080c, 0x4c9b, - 0x0110, 0x080c, 0x26ce, 0x60d0, 0x9005, 0x01c0, 0x6003, 0x0001, - 0x2009, 0x41bb, 0x00d0, 0x080c, 0x6f9b, 0x1168, 0x2011, 0x6e1c, - 0x080c, 0x8021, 0x2011, 0x6e0f, 0x080c, 0x80f5, 0x080c, 0x7284, - 0x080c, 0x6ecd, 0x0040, 0x080c, 0x5b99, 0x0028, 0x6003, 0x0004, - 0x2009, 0x41d3, 0x0010, 0x0804, 0x3339, 0x2001, 0x0170, 0x2004, - 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, 0x2091, 0x30bd, 0x0817, - 0x2091, 0x303d, 0x0817, 0x6000, 0x9086, 0x0000, 0x0904, 0x336b, - 0x2069, 0x1853, 0x7890, 0x6842, 0x7894, 0x6846, 0x2d00, 0x2009, - 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x0804, - 0x48d5, 0x9006, 0x080c, 0x26ce, 0x81ff, 0x1904, 0x336b, 0x080c, - 0x6f9b, 0x11b0, 0x080c, 0x727f, 0x080c, 0x5cda, 0x080c, 0x3135, - 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, 0xc22c, 0x0130, 0x080c, - 0x6fbe, 0x1118, 0x080c, 0x6f73, 0x0038, 0x080c, 0x6ecd, 0x0020, - 0x080c, 0x5c9f, 0x080c, 0x5b99, 0x0804, 0x3339, 0x81ff, 0x1904, - 0x336b, 0x080c, 0x6f9b, 0x1110, 0x0804, 0x336b, 0x6190, 0x81ff, - 0x01a8, 0x704f, 0x0000, 0x2001, 0x1c80, 0x2009, 0x0040, 0x7a8c, - 0x7b88, 0x7c9c, 0x7d98, 0x0126, 0x2091, 0x8000, 0x2039, 0x0001, - 0x080c, 0x48d5, 0x701f, 0x3337, 0x012e, 0x0005, 0x704f, 0x0001, - 0x00d6, 0x2069, 0x1c80, 0x20a9, 0x0040, 0x20e9, 0x0001, 0x20a1, - 0x1c80, 0x2019, 0xffff, 0x4304, 0x6558, 0x9588, 0x313a, 0x210d, - 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, 0x0002, 0x2100, 0x9506, - 0x01a8, 0x080c, 0x6247, 0x1190, 0xb814, 0x821c, 0x0238, 0x9398, - 0x1c80, 0x9085, 0xff00, 0x8007, 0x201a, 0x0038, 0x9398, 0x1c80, - 0x2324, 0x94a4, 0xff00, 0x9405, 0x201a, 0x8210, 0x8108, 0x9182, - 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, 0x2d0c, 0x9105, 0x206a, - 0x00de, 0x20a9, 0x0040, 0x20a1, 0x1c80, 0x2099, 0x1c80, 0x080c, - 0x5c2a, 0x0804, 0x422b, 0x080c, 0x48bc, 0x0904, 0x336e, 0x080c, - 0x4889, 0x1120, 0x2009, 0x0002, 0x0804, 0x336b, 0x080c, 0x538f, - 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, 0x0538, 0x908e, 0x007f, - 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, 0x3130, 0x1148, 0xb800, - 0xd08c, 0x11d8, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x11a8, - 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbcf5, 0x1120, - 0x2009, 0x0003, 0x0804, 0x336b, 0x7007, 0x0003, 0x701f, 0x42b9, - 0x0005, 0x080c, 0x48bc, 0x0904, 0x336e, 0x20a9, 0x002b, 0xb8b4, - 0x20e0, 0xb8b8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, - 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xb8b4, - 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0f68, 0x0070, - 0x20a9, 0x0004, 0xa85c, 0x9080, 0x000a, 0x20a0, 0xb8b4, 0x20e0, - 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0f68, 0x8906, 0x8006, - 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, - 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x48d5, 0x81ff, - 0x1904, 0x336b, 0x080c, 0x48a0, 0x0904, 0x336e, 0x080c, 0x63b9, - 0x0904, 0x336b, 0x0058, 0xa878, 0x9005, 0x0120, 0x2009, 0x0004, - 0x0804, 0x336b, 0xa974, 0xaa94, 0x0804, 0x3339, 0x080c, 0x5397, - 0x0904, 0x3339, 0x701f, 0x4303, 0x7007, 0x0003, 0x0005, 0x81ff, - 0x1904, 0x336b, 0x7888, 0x908a, 0x1000, 0x1a04, 0x336e, 0x080c, - 0x48bc, 0x0904, 0x336e, 0x080c, 0x656b, 0x0120, 0x080c, 0x6573, - 0x1904, 0x336e, 0x080c, 0x643e, 0x0904, 0x336b, 0x2019, 0x0004, - 0x900e, 0x080c, 0x63cb, 0x0904, 0x336b, 0x7984, 0x7a88, 0x04c9, - 0x08a8, 0xa89c, 0x908a, 0x1000, 0x12f8, 0x080c, 0x48ba, 0x01e0, - 0x080c, 0x656b, 0x0118, 0x080c, 0x6573, 0x11b0, 0x080c, 0x643e, - 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, - 0x63cb, 0x2009, 0x0003, 0x0120, 0xa998, 0xaa9c, 0x00d1, 0x0060, - 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, - 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x080c, 0x5397, + 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, + 0x2001, 0x002b, 0x2004, 0xa872, 0x2061, 0x0090, 0x2079, 0x0100, + 0x2001, 0x1981, 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, 0x2275, + 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, + 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, + 0x600e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, + 0x0080, 0xaa60, 0x22e8, 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, + 0x702b, 0x0026, 0x7402, 0x7306, 0x9006, 0x700a, 0x700e, 0x810b, + 0x810b, 0x21a8, 0x810b, 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, + 0x0de8, 0x702b, 0x0002, 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, + 0x87ff, 0x0190, 0x0086, 0x0096, 0x2940, 0x0086, 0x080c, 0x4894, + 0x008e, 0xa058, 0x00a6, 0x2050, 0x2900, 0xb006, 0xa05a, 0x00ae, + 0x009e, 0x008e, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x2001, + 0x002d, 0x2004, 0x9005, 0x0528, 0x2038, 0x2001, 0x0030, 0x2024, + 0x2001, 0x0031, 0x201c, 0x080c, 0x4894, 0x2940, 0xa813, 0x0019, + 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, + 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, 0xa85c, + 0x9080, 0x0019, 0x009e, 0x080c, 0x3f8e, 0x1d68, 0x2900, 0xa85a, + 0x00d8, 0x080c, 0x4894, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, + 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa066, 0x2001, 0x0031, + 0x2004, 0xa06a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa06e, + 0x2001, 0x002b, 0x2004, 0xa072, 0x2001, 0x032a, 0x2003, 0x0004, + 0x7884, 0xd0ac, 0x1180, 0x2001, 0x0101, 0x200c, 0x918d, 0x0200, + 0x2102, 0xa017, 0x0000, 0x2001, 0x1a3a, 0x2003, 0x0003, 0x2001, + 0x032a, 0x2003, 0x0009, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, + 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, + 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, 0x001b, + 0x20a1, 0x1840, 0x20e9, 0x0001, 0x9006, 0x4004, 0x2009, 0x013c, + 0x200a, 0x012e, 0x7880, 0x9086, 0x0052, 0x0108, 0x0005, 0x0804, + 0x3344, 0x7d98, 0x7c9c, 0x0804, 0x3446, 0x080c, 0x6faa, 0x190c, + 0x5caa, 0x2069, 0x185b, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, + 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x080c, 0x48dd, 0x701f, 0x4061, + 0x0005, 0x080c, 0x53a9, 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, + 0x20d8, 0x21d0, 0x2069, 0x185b, 0x6800, 0x9005, 0x0904, 0x3379, + 0x6804, 0xd094, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0138, 0x6200, + 0x9292, 0x0005, 0x0218, 0x918c, 0xffdf, 0x0010, 0x918d, 0x0020, + 0x6106, 0x00ce, 0xd08c, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0118, + 0x918d, 0x0010, 0x0010, 0x918c, 0xffef, 0x6106, 0x00ce, 0xd084, + 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, 0x3379, 0x9288, 0x3145, + 0x210d, 0x918c, 0x00ff, 0x6162, 0xd0dc, 0x0130, 0x6828, 0x908a, + 0x007f, 0x1a04, 0x3379, 0x605a, 0x6888, 0x9084, 0x0030, 0x8004, + 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, 0x1989, 0x9080, 0x27ac, + 0x2005, 0x200a, 0x000e, 0x2009, 0x198a, 0x9080, 0x27b0, 0x2005, + 0x200a, 0x6808, 0x908a, 0x0100, 0x0a04, 0x3379, 0x908a, 0x0841, + 0x1a04, 0x3379, 0x9084, 0x0007, 0x1904, 0x3379, 0x680c, 0x9005, + 0x0904, 0x3379, 0x6810, 0x9005, 0x0904, 0x3379, 0x6848, 0x6940, + 0x910a, 0x1a04, 0x3379, 0x8001, 0x0904, 0x3379, 0x684c, 0x6944, + 0x910a, 0x1a04, 0x3379, 0x8001, 0x0904, 0x3379, 0x2009, 0x1959, + 0x200b, 0x0000, 0x2001, 0x187d, 0x2004, 0xd0c4, 0x0140, 0x7884, + 0x200a, 0x2009, 0x017f, 0x200a, 0x3b00, 0xc085, 0x20d8, 0x6814, + 0x908c, 0x00ff, 0x614a, 0x8007, 0x9084, 0x00ff, 0x604e, 0x080c, + 0x72bd, 0x080c, 0x6643, 0x080c, 0x6678, 0x6808, 0x602a, 0x080c, + 0x21e7, 0x2009, 0x0170, 0x200b, 0x0080, 0xa001, 0xa001, 0x200b, + 0x0000, 0x0036, 0x6b08, 0x080c, 0x2713, 0x003e, 0x6000, 0x9086, + 0x0000, 0x1904, 0x41de, 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, + 0x810f, 0x8217, 0x831f, 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, + 0xd4f4, 0x0148, 0x6830, 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, + 0x8217, 0x831f, 0x0010, 0x9084, 0xf0ff, 0x6006, 0x610a, 0x620e, + 0x6312, 0x8007, 0x810f, 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, + 0x198b, 0x20e9, 0x0001, 0x4001, 0x20a9, 0x0004, 0x20a1, 0x19a5, + 0x20e9, 0x0001, 0x4001, 0x080c, 0x8148, 0x00c6, 0x900e, 0x20a9, + 0x0001, 0x6b70, 0xd384, 0x0510, 0x0068, 0x2009, 0x0100, 0x210c, + 0x918e, 0x0008, 0x1110, 0x839d, 0x0010, 0x83f5, 0x3e18, 0x12b0, + 0x3508, 0x8109, 0x080c, 0x7889, 0x6878, 0x6016, 0x6874, 0x2008, + 0x9084, 0xff00, 0x8007, 0x600a, 0x9184, 0x00ff, 0x6006, 0x8108, + 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, 0x414d, + 0x00ce, 0x00c6, 0x2061, 0x1974, 0x2063, 0x0001, 0x9006, 0x080c, + 0x29ba, 0x9006, 0x080c, 0x299d, 0x0000, 0x00ce, 0x00e6, 0x2c70, + 0x080c, 0x0e80, 0x00ee, 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, + 0x2204, 0x9085, 0x0100, 0x2012, 0x6a80, 0x9284, 0x0030, 0x9086, + 0x0030, 0x1128, 0x9294, 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, + 0x1954, 0x6a80, 0x9294, 0x0030, 0x928e, 0x0000, 0x0170, 0x928e, + 0x0010, 0x0118, 0x928e, 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, + 0x2788, 0x2001, 0x1945, 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, + 0x0100, 0x602f, 0x0040, 0x602f, 0x0000, 0x00ce, 0x080c, 0x6faa, + 0x0128, 0x080c, 0x4ca6, 0x0110, 0x080c, 0x26d9, 0x60d0, 0x9005, + 0x01c0, 0x6003, 0x0001, 0x2009, 0x41c6, 0x00d0, 0x080c, 0x6faa, + 0x1168, 0x2011, 0x6e2b, 0x080c, 0x803f, 0x2011, 0x6e1e, 0x080c, + 0x8113, 0x080c, 0x7291, 0x080c, 0x6edc, 0x0040, 0x080c, 0x5ba4, + 0x0028, 0x6003, 0x0004, 0x2009, 0x41de, 0x0010, 0x0804, 0x3344, + 0x2001, 0x0170, 0x2004, 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, + 0x2091, 0x30bd, 0x0817, 0x2091, 0x303d, 0x0817, 0x6000, 0x9086, + 0x0000, 0x0904, 0x3376, 0x2069, 0x185b, 0x7890, 0x6842, 0x7894, + 0x6846, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x2039, 0x0001, 0x0804, 0x48e0, 0x9006, 0x080c, 0x26d9, 0x81ff, + 0x1904, 0x3376, 0x080c, 0x6faa, 0x11b0, 0x080c, 0x728c, 0x080c, + 0x5ce5, 0x080c, 0x3140, 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, + 0xc23b, 0x0130, 0x080c, 0x6fcd, 0x1118, 0x080c, 0x6f82, 0x0038, + 0x080c, 0x6edc, 0x0020, 0x080c, 0x5caa, 0x080c, 0x5ba4, 0x0804, + 0x3344, 0x81ff, 0x1904, 0x3376, 0x080c, 0x6faa, 0x1110, 0x0804, + 0x3376, 0x6190, 0x81ff, 0x01a8, 0x704f, 0x0000, 0x2001, 0x1c80, + 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0126, 0x2091, + 0x8000, 0x2039, 0x0001, 0x080c, 0x48e0, 0x701f, 0x3342, 0x012e, + 0x0005, 0x704f, 0x0001, 0x00d6, 0x2069, 0x1c80, 0x20a9, 0x0040, + 0x20e9, 0x0001, 0x20a1, 0x1c80, 0x2019, 0xffff, 0x4304, 0x6558, + 0x9588, 0x3145, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, + 0x0002, 0x2100, 0x9506, 0x01a8, 0x080c, 0x6256, 0x1190, 0xb814, + 0x821c, 0x0238, 0x9398, 0x1c80, 0x9085, 0xff00, 0x8007, 0x201a, + 0x0038, 0x9398, 0x1c80, 0x2324, 0x94a4, 0xff00, 0x9405, 0x201a, + 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, + 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, 0x1c80, + 0x2099, 0x1c80, 0x080c, 0x5c35, 0x0804, 0x4236, 0x080c, 0x48c7, + 0x0904, 0x3379, 0x080c, 0x4894, 0x1120, 0x2009, 0x0002, 0x0804, + 0x3376, 0x080c, 0x539a, 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, + 0x0538, 0x908e, 0x007f, 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, + 0x313b, 0x1148, 0xb800, 0xd08c, 0x11d8, 0xb804, 0x9084, 0x00ff, + 0x9086, 0x0006, 0x11a8, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, + 0x080c, 0xbd04, 0x1120, 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, + 0x0003, 0x701f, 0x42c4, 0x0005, 0x080c, 0x48c7, 0x0904, 0x3379, + 0x20a9, 0x002b, 0xb8b4, 0x20e0, 0xb8b8, 0x2098, 0xa860, 0x20e8, + 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, + 0x0006, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, + 0x080c, 0x0f68, 0x0070, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x000a, + 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, + 0x0f68, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, + 0x9080, 0x0002, 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x0804, 0x48e0, 0x81ff, 0x1904, 0x3376, 0x080c, 0x48ab, 0x0904, + 0x3379, 0x080c, 0x63c8, 0x0904, 0x3376, 0x0058, 0xa878, 0x9005, + 0x0120, 0x2009, 0x0004, 0x0804, 0x3376, 0xa974, 0xaa94, 0x0804, + 0x3344, 0x080c, 0x53a2, 0x0904, 0x3344, 0x701f, 0x430e, 0x7007, + 0x0003, 0x0005, 0x81ff, 0x1904, 0x3376, 0x7888, 0x908a, 0x1000, + 0x1a04, 0x3379, 0x080c, 0x48c7, 0x0904, 0x3379, 0x080c, 0x657a, + 0x0120, 0x080c, 0x6582, 0x1904, 0x3379, 0x080c, 0x644d, 0x0904, + 0x3376, 0x2019, 0x0004, 0x900e, 0x080c, 0x63da, 0x0904, 0x3376, + 0x7984, 0x7a88, 0x04c9, 0x08a8, 0xa89c, 0x908a, 0x1000, 0x12f8, + 0x080c, 0x48c5, 0x01e0, 0x080c, 0x657a, 0x0118, 0x080c, 0x6582, + 0x11b0, 0x080c, 0x644d, 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, + 0x2019, 0x0004, 0x080c, 0x63da, 0x2009, 0x0003, 0x0120, 0xa998, + 0xaa9c, 0x00d1, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, + 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, + 0x4000, 0x080c, 0x53a2, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, + 0x0001, 0x2001, 0x0000, 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, + 0x0060, 0x2029, 0x007e, 0x2061, 0x1800, 0x6458, 0x2400, 0x9506, + 0x0110, 0x2508, 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x6256, + 0x1138, 0x2200, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x804d, + 0x0005, 0x81ff, 0x1904, 0x3376, 0x798c, 0x2001, 0x1958, 0x918c, + 0x8000, 0x2102, 0x080c, 0x48ab, 0x0904, 0x3379, 0x080c, 0x657a, + 0x0120, 0x080c, 0x6582, 0x1904, 0x3379, 0x080c, 0x631d, 0x0904, + 0x3376, 0x080c, 0x63d1, 0x0904, 0x3376, 0x2001, 0x1958, 0x2004, + 0xd0fc, 0x1904, 0x3344, 0x0804, 0x4319, 0xa9a0, 0x2001, 0x1958, + 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x48b8, 0x01a0, 0x080c, + 0x657a, 0x0118, 0x080c, 0x6582, 0x1170, 0x080c, 0x631d, 0x2009, + 0x0002, 0x0128, 0x080c, 0x63d1, 0x1170, 0x2009, 0x0003, 0xa897, + 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, + 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x1958, 0x2004, + 0xd0fc, 0x1128, 0x080c, 0x53a2, 0x0110, 0x9006, 0x0018, 0x900e, + 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x81ff, 0x1904, 0x3376, + 0x798c, 0x2001, 0x1957, 0x918c, 0x8000, 0x2102, 0x080c, 0x48ab, + 0x0904, 0x3379, 0x080c, 0x657a, 0x0120, 0x080c, 0x6582, 0x1904, + 0x3379, 0x080c, 0x631d, 0x0904, 0x3376, 0x080c, 0x63bf, 0x0904, + 0x3376, 0x2001, 0x1957, 0x2004, 0xd0fc, 0x1904, 0x3344, 0x0804, + 0x4319, 0xa9a0, 0x2001, 0x1957, 0x918c, 0x8000, 0xc18d, 0x2102, + 0x080c, 0x48b8, 0x01a0, 0x080c, 0x657a, 0x0118, 0x080c, 0x6582, + 0x1170, 0x080c, 0x631d, 0x2009, 0x0002, 0x0128, 0x080c, 0x63bf, + 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, + 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, + 0x4000, 0x2001, 0x1957, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x53a2, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, - 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, 0x007e, - 0x2061, 0x1800, 0x6458, 0x2400, 0x9506, 0x0110, 0x2508, 0x0019, - 0x8529, 0x1ec8, 0x0005, 0x080c, 0x6247, 0x1138, 0x2200, 0x8003, - 0x800b, 0x810b, 0x9108, 0x080c, 0x802f, 0x0005, 0x81ff, 0x1904, - 0x336b, 0x798c, 0x2001, 0x1950, 0x918c, 0x8000, 0x2102, 0x080c, - 0x48a0, 0x0904, 0x336e, 0x080c, 0x656b, 0x0120, 0x080c, 0x6573, - 0x1904, 0x336e, 0x080c, 0x630e, 0x0904, 0x336b, 0x080c, 0x63c2, - 0x0904, 0x336b, 0x2001, 0x1950, 0x2004, 0xd0fc, 0x1904, 0x3339, - 0x0804, 0x430e, 0xa9a0, 0x2001, 0x1950, 0x918c, 0x8000, 0xc18d, - 0x2102, 0x080c, 0x48ad, 0x01a0, 0x080c, 0x656b, 0x0118, 0x080c, - 0x6573, 0x1170, 0x080c, 0x630e, 0x2009, 0x0002, 0x0128, 0x080c, - 0x63c2, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, - 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, - 0xa897, 0x4000, 0x2001, 0x1950, 0x2004, 0xd0fc, 0x1128, 0x080c, - 0x5397, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, - 0x0000, 0x0005, 0x81ff, 0x1904, 0x336b, 0x798c, 0x2001, 0x194f, - 0x918c, 0x8000, 0x2102, 0x080c, 0x48a0, 0x0904, 0x336e, 0x080c, - 0x656b, 0x0120, 0x080c, 0x6573, 0x1904, 0x336e, 0x080c, 0x630e, - 0x0904, 0x336b, 0x080c, 0x63b0, 0x0904, 0x336b, 0x2001, 0x194f, - 0x2004, 0xd0fc, 0x1904, 0x3339, 0x0804, 0x430e, 0xa9a0, 0x2001, - 0x194f, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, 0x48ad, 0x01a0, - 0x080c, 0x656b, 0x0118, 0x080c, 0x6573, 0x1170, 0x080c, 0x630e, - 0x2009, 0x0002, 0x0128, 0x080c, 0x63b0, 0x1170, 0x2009, 0x0003, - 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, - 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x194f, - 0x2004, 0xd0fc, 0x1128, 0x080c, 0x5397, 0x0110, 0x9006, 0x0018, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x6100, 0x0804, - 0x3339, 0x080c, 0x48bc, 0x0904, 0x336e, 0x080c, 0x53a3, 0x1904, - 0x336b, 0x79a8, 0xd184, 0x1158, 0xb834, 0x8007, 0x789e, 0xb830, - 0x8007, 0x789a, 0xbb2c, 0x831f, 0xba28, 0x8217, 0x0050, 0xb824, - 0x8007, 0x789e, 0xb820, 0x8007, 0x789a, 0xbb1c, 0x831f, 0xba18, - 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, 0x3339, 0x78a8, 0x909c, - 0x0003, 0xd0b4, 0x1148, 0x939a, 0x0003, 0x1a04, 0x336b, 0x6258, - 0x7884, 0x9206, 0x1904, 0x44be, 0x2031, 0x1848, 0x2009, 0x013c, - 0x2136, 0x2001, 0x1840, 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, - 0x7d98, 0x2039, 0x0001, 0x0006, 0x78a8, 0x9084, 0x0080, 0x11c8, - 0x0006, 0x0036, 0x2001, 0x1a4e, 0x201c, 0x7b9a, 0x2003, 0x0000, - 0x2001, 0x1a4f, 0x201c, 0x7b9e, 0x2003, 0x0000, 0x2001, 0x1a50, - 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, 0x000e, 0x000e, 0x0804, - 0x48d5, 0x000e, 0x2031, 0x0000, 0x2061, 0x18ae, 0x2c44, 0xa66a, - 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, - 0x10d5, 0x7007, 0x0002, 0x701f, 0x44de, 0x0005, 0x81ff, 0x1904, - 0x336b, 0x080c, 0x48bc, 0x0904, 0x336e, 0x080c, 0x656b, 0x1904, - 0x336b, 0x00c6, 0x080c, 0x4889, 0x00ce, 0x0904, 0x336b, 0xa867, - 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7ea8, 0x080c, 0xbc9b, 0x0904, - 0x336b, 0x7007, 0x0003, 0x701f, 0x44f8, 0x0005, 0x080c, 0x4028, - 0x0006, 0x0036, 0x2001, 0x1a4e, 0x201c, 0x7b9a, 0x2003, 0x0000, - 0x2001, 0x1a4f, 0x201c, 0x7b9e, 0x2003, 0x0000, 0x2001, 0x1a50, - 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, 0x000e, 0x0804, 0x3339, - 0xa830, 0x9086, 0x0100, 0x0904, 0x336b, 0x8906, 0x8006, 0x8007, - 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x2009, 0x000c, - 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x48d5, 0x9006, 0x080c, - 0x26ce, 0x78a8, 0x9084, 0x00ff, 0x9086, 0x00ff, 0x0118, 0x81ff, - 0x1904, 0x336b, 0x080c, 0x6f9b, 0x0110, 0x080c, 0x5c9f, 0x7888, - 0x908a, 0x1000, 0x1a04, 0x336e, 0x7984, 0x9186, 0x00ff, 0x0138, - 0x9182, 0x007f, 0x1a04, 0x336e, 0x2100, 0x080c, 0x2698, 0x0026, - 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, 0x19ca, 0x601b, 0x0000, - 0x601f, 0x0000, 0x6073, 0x0000, 0x6077, 0x0000, 0x080c, 0x6f9b, - 0x1158, 0x080c, 0x727f, 0x080c, 0x5cda, 0x9085, 0x0001, 0x080c, - 0x6fe2, 0x080c, 0x6ecd, 0x00d0, 0x080c, 0x9dc8, 0x2061, 0x0100, - 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x810f, 0x9105, 0x604a, - 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1969, 0x200b, 0x0000, - 0x2009, 0x002d, 0x2011, 0x5bc5, 0x080c, 0x80b3, 0x7984, 0x080c, - 0x6f9b, 0x1110, 0x2009, 0x00ff, 0x7a88, 0x080c, 0x4371, 0x012e, - 0x00ce, 0x002e, 0x0804, 0x3339, 0x7984, 0x080c, 0x61e7, 0x2b08, - 0x1904, 0x336e, 0x0804, 0x3339, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x336b, 0x60d8, 0xd0ac, 0x1130, 0xd09c, 0x1120, 0x2009, - 0x0005, 0x0804, 0x336b, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, - 0x0804, 0x336b, 0x7984, 0x9192, 0x0021, 0x1a04, 0x336e, 0x7a8c, - 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0x702a, 0xaf60, - 0x7736, 0x080c, 0x48d2, 0x701f, 0x45ac, 0x7880, 0x9086, 0x006e, - 0x0110, 0x701f, 0x4e4d, 0x0005, 0x2009, 0x0080, 0x080c, 0x6247, - 0x1118, 0x080c, 0x656b, 0x0120, 0x2021, 0x400a, 0x0804, 0x333b, - 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, 0xac74, 0xad78, 0xae7c, - 0xa884, 0x90be, 0x0100, 0x0904, 0x4645, 0x90be, 0x0112, 0x0904, - 0x4645, 0x90be, 0x0113, 0x0904, 0x4645, 0x90be, 0x0114, 0x0904, - 0x4645, 0x90be, 0x0117, 0x0904, 0x4645, 0x90be, 0x011a, 0x0904, - 0x4645, 0x90be, 0x011c, 0x0904, 0x4645, 0x90be, 0x0121, 0x0904, - 0x462c, 0x90be, 0x0131, 0x0904, 0x462c, 0x90be, 0x0171, 0x0904, - 0x4645, 0x90be, 0x0173, 0x0904, 0x4645, 0x90be, 0x01a1, 0x1128, - 0xa894, 0x8007, 0xa896, 0x0804, 0x4650, 0x90be, 0x0212, 0x0904, - 0x4639, 0x90be, 0x0213, 0x05e8, 0x90be, 0x0214, 0x0500, 0x90be, - 0x0217, 0x0188, 0x90be, 0x021a, 0x1120, 0xa89c, 0x8007, 0xa89e, - 0x04e0, 0x90be, 0x021f, 0x05c8, 0x90be, 0x0300, 0x05b0, 0x009e, - 0x00de, 0x0804, 0x336e, 0x7028, 0x9080, 0x0010, 0x2098, 0x20a0, - 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0007, 0x080c, 0x468e, 0x7028, - 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, - 0x0001, 0x080c, 0x468e, 0x00c8, 0x7028, 0x9080, 0x000c, 0x2098, - 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x469b, - 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, - 0x20e8, 0x20a9, 0x0001, 0x080c, 0x469b, 0x7028, 0x9080, 0x000c, - 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x04f1, - 0x00c6, 0x080c, 0x4889, 0x0550, 0xa868, 0xc0fd, 0xa86a, 0xa867, - 0x0119, 0x9006, 0xa882, 0xa87f, 0x0020, 0xa88b, 0x0001, 0x810b, - 0xa9ae, 0xa8b2, 0xaab6, 0xabba, 0xacbe, 0xadc2, 0xa9c6, 0xa8ca, - 0x00ce, 0x009e, 0x00de, 0xa866, 0xa822, 0xa868, 0xc0fd, 0xa86a, - 0xa804, 0x2048, 0x080c, 0xbcb6, 0x1120, 0x2009, 0x0003, 0x0804, - 0x336b, 0x7007, 0x0003, 0x701f, 0x4685, 0x0005, 0x00ce, 0x009e, - 0x00de, 0x2009, 0x0002, 0x0804, 0x336b, 0xa820, 0x9086, 0x8001, - 0x1904, 0x3339, 0x2009, 0x0004, 0x0804, 0x336b, 0x0016, 0x0026, - 0x3510, 0x20a9, 0x0002, 0x4002, 0x4104, 0x4004, 0x8211, 0x1dc8, - 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x0036, 0x0046, 0x3520, - 0x20a9, 0x0004, 0x4002, 0x4304, 0x4204, 0x4104, 0x4004, 0x8421, - 0x1db8, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x81ff, 0x0120, - 0x2009, 0x0001, 0x0804, 0x336b, 0x60d8, 0xd0ac, 0x1160, 0xd09c, - 0x0120, 0x2009, 0x0016, 0x0804, 0x336b, 0xd09c, 0x1120, 0x2009, - 0x0005, 0x0804, 0x336b, 0x7984, 0x78a8, 0x2040, 0x080c, 0x9dc1, - 0x1120, 0x9182, 0x007f, 0x0a04, 0x336e, 0x9186, 0x00ff, 0x0904, - 0x336e, 0x9182, 0x0800, 0x1a04, 0x336e, 0x7a8c, 0x7b88, 0x6078, - 0x9306, 0x1158, 0x607c, 0x924e, 0x0904, 0x336e, 0x080c, 0x9dc1, - 0x1120, 0x99cc, 0xff00, 0x0904, 0x336e, 0x0126, 0x2091, 0x8000, - 0x0026, 0x2011, 0x8008, 0x080c, 0x658f, 0x002e, 0x0140, 0x918d, - 0x8000, 0x080c, 0x65d9, 0x1118, 0x2001, 0x4009, 0x0458, 0x080c, - 0x47a3, 0x0560, 0x90c6, 0x4000, 0x1170, 0x00c6, 0x0006, 0x900e, - 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, - 0x000e, 0x00ce, 0x00b8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x0090, - 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0060, 0x90c6, 0x4009, - 0x1108, 0x0040, 0x90c6, 0x4006, 0x1108, 0x0020, 0x2001, 0x4005, - 0x2009, 0x000a, 0x2020, 0x012e, 0x0804, 0x333b, 0x2b00, 0x7026, - 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, 0x080c, 0x9e8f, 0x0904, - 0x4770, 0x2b00, 0x6012, 0x080c, 0xbfa6, 0x2e58, 0x00ee, 0x00e6, - 0x00c6, 0x080c, 0x4889, 0x00ce, 0x2b70, 0x1158, 0x080c, 0x9e42, - 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x2009, 0x0002, 0x0804, - 0x336b, 0x900e, 0xa966, 0xa96a, 0x2900, 0x6016, 0xa932, 0xa868, - 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0xa86a, 0x080c, 0x2fdc, 0x6023, - 0x0001, 0x9006, 0x080c, 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, - 0x2009, 0x0002, 0x080c, 0x9ebc, 0x78a8, 0xd094, 0x0138, 0x00ee, - 0x7024, 0x00e6, 0x2058, 0xb8bc, 0xc08d, 0xb8be, 0x9085, 0x0001, - 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x1120, 0x2009, 0x0003, - 0x0804, 0x336b, 0x7007, 0x0003, 0x701f, 0x477f, 0x0005, 0xa830, - 0x2008, 0x918e, 0xdead, 0x1120, 0x2021, 0x4009, 0x0804, 0x333b, - 0x9086, 0x0100, 0x7024, 0x2058, 0x1138, 0x2009, 0x0004, 0xba04, - 0x9294, 0x00ff, 0x0804, 0x52ec, 0x900e, 0xa868, 0xd0f4, 0x1904, - 0x3339, 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, - 0xc18d, 0x0804, 0x3339, 0x00e6, 0x00d6, 0x0096, 0x83ff, 0x0904, - 0x47eb, 0x902e, 0x080c, 0x9dc1, 0x0130, 0x9026, 0x20a9, 0x0800, - 0x2071, 0x1000, 0x0030, 0x2021, 0x007f, 0x20a9, 0x0781, 0x2071, - 0x107f, 0x2e04, 0x9005, 0x11b0, 0x2100, 0x9406, 0x15e8, 0x2428, - 0x94ce, 0x007f, 0x1120, 0x92ce, 0xfffd, 0x1528, 0x0030, 0x94ce, - 0x0080, 0x1130, 0x92ce, 0xfffc, 0x11f0, 0x93ce, 0x00ff, 0x11d8, - 0xc5fd, 0x0450, 0x2058, 0xbf10, 0x2700, 0x9306, 0x11b8, 0xbe14, - 0x2600, 0x9206, 0x1198, 0x2400, 0x9106, 0x1150, 0xd884, 0x0568, - 0xd894, 0x1558, 0x080c, 0x656b, 0x1540, 0x2001, 0x4000, 0x0430, - 0x2001, 0x4007, 0x0418, 0x2001, 0x4006, 0x0400, 0x2400, 0x9106, - 0x1158, 0xbe14, 0x87ff, 0x1128, 0x86ff, 0x0948, 0x080c, 0x9dc1, - 0x1930, 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, 0x47b9, - 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, 0x0030, - 0x080c, 0x61e7, 0x1dd0, 0xbb12, 0xba16, 0x9006, 0x9005, 0x009e, - 0x00de, 0x00ee, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, - 0x336b, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, 0x0804, 0x336b, - 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7884, 0x9005, 0x0904, - 0x336e, 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, 0x1a04, 0x336e, - 0x2010, 0x2918, 0x080c, 0x2f82, 0x1120, 0x2009, 0x0003, 0x0804, - 0x336b, 0x7007, 0x0003, 0x701f, 0x483e, 0x0005, 0xa830, 0x9086, - 0x0100, 0x1904, 0x3339, 0x2009, 0x0004, 0x0804, 0x336b, 0x7984, - 0x080c, 0x9dc1, 0x1120, 0x9182, 0x007f, 0x0a04, 0x336e, 0x9186, - 0x00ff, 0x0904, 0x336e, 0x9182, 0x0800, 0x1a04, 0x336e, 0x2001, - 0x9000, 0x080c, 0x5347, 0x1904, 0x336b, 0x0804, 0x3339, 0xa998, - 0x080c, 0x9dc1, 0x1118, 0x9182, 0x007f, 0x0280, 0x9186, 0x00ff, - 0x0168, 0x9182, 0x0800, 0x1250, 0x2001, 0x9000, 0x080c, 0x5347, - 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x2009, 0x000a, - 0x0c48, 0x080c, 0x0feb, 0x0198, 0x9006, 0xa802, 0x7014, 0x9005, - 0x1120, 0x2900, 0x7016, 0x701a, 0x0040, 0x7018, 0xa802, 0x0086, - 0x2040, 0x2900, 0xa006, 0x701a, 0x008e, 0x9085, 0x0001, 0x0005, - 0x7984, 0x080c, 0x6247, 0x1130, 0x7e88, 0x9684, 0x3fff, 0x9082, - 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xa998, 0x080c, 0x6247, - 0x1130, 0xae9c, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, - 0x8bff, 0x0005, 0xae98, 0x0008, 0x7e84, 0x2608, 0x080c, 0x6247, - 0x1108, 0x0008, 0x905e, 0x8bff, 0x0005, 0x0016, 0x7114, 0x81ff, - 0x0128, 0x2148, 0xa904, 0x080c, 0x101d, 0x0cc8, 0x7116, 0x711a, - 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, 0x2031, 0x0000, 0x2061, - 0x18ae, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, - 0xa496, 0xa59a, 0x080c, 0x10d5, 0x7007, 0x0002, 0x701f, 0x3339, - 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0000, 0x2001, - 0x18a6, 0x2004, 0x9005, 0x1190, 0x0e04, 0x4906, 0x7a36, 0x7833, - 0x0012, 0x7a82, 0x7b86, 0x7c8a, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x1187, 0x0804, 0x496c, 0x0016, 0x0086, - 0x0096, 0x00c6, 0x00e6, 0x2071, 0x1894, 0x7044, 0x9005, 0x1540, - 0x7148, 0x9182, 0x0010, 0x0288, 0x7038, 0x2060, 0x080c, 0x0feb, - 0x0904, 0x4964, 0xa84b, 0x0000, 0x2900, 0x7046, 0x2001, 0x0002, - 0x9080, 0x1f28, 0x2005, 0xa846, 0x0098, 0x7038, 0x90e0, 0x0004, - 0x2001, 0x18b0, 0x9c82, 0x18f0, 0x0210, 0x2061, 0x18b0, 0x2c00, - 0x703a, 0x7148, 0x81ff, 0x1108, 0x703e, 0x8108, 0x714a, 0x0460, - 0x7148, 0x8108, 0x714a, 0x7044, 0x2040, 0xa144, 0x2105, 0x0016, - 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x2060, 0x001e, 0x8108, 0x2105, - 0x9005, 0xa146, 0x1520, 0x080c, 0x0feb, 0x1130, 0x8109, 0xa946, - 0x7148, 0x8109, 0x714a, 0x00d8, 0x9006, 0xa806, 0xa84a, 0xa046, - 0x2800, 0xa802, 0x2900, 0xa006, 0x7046, 0x2001, 0x0002, 0x9080, - 0x1f28, 0x2005, 0xa846, 0x0058, 0x2262, 0x6306, 0x640a, 0x00ee, - 0x00ce, 0x009e, 0x008e, 0x001e, 0x012e, 0x00fe, 0x0005, 0x2c00, - 0x9082, 0x001b, 0x0002, 0x498e, 0x498e, 0x4990, 0x498e, 0x498e, - 0x498e, 0x4994, 0x498e, 0x498e, 0x498e, 0x4998, 0x498e, 0x498e, - 0x498e, 0x499c, 0x498e, 0x498e, 0x498e, 0x49a0, 0x498e, 0x498e, - 0x498e, 0x49a4, 0x498e, 0x498e, 0x498e, 0x49a9, 0x080c, 0x0db4, - 0xa276, 0xa37a, 0xa47e, 0x0898, 0xa286, 0xa38a, 0xa48e, 0x0878, - 0xa296, 0xa39a, 0xa49e, 0x0858, 0xa2a6, 0xa3aa, 0xa4ae, 0x0838, - 0xa2b6, 0xa3ba, 0xa4be, 0x0818, 0xa2c6, 0xa3ca, 0xa4ce, 0x0804, - 0x4967, 0xa2d6, 0xa3da, 0xa4de, 0x0804, 0x4967, 0x00e6, 0x2071, - 0x1894, 0x7048, 0x9005, 0x0904, 0x4a40, 0x0126, 0x2091, 0x8000, - 0x0e04, 0x4a3f, 0x00f6, 0x2079, 0x0000, 0x00c6, 0x0096, 0x0086, - 0x0076, 0x9006, 0x2038, 0x7040, 0x2048, 0x9005, 0x0500, 0xa948, - 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x2060, 0x001e, - 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, 0x4a42, 0xa804, 0x9005, - 0x090c, 0x0db4, 0x7042, 0x2938, 0x2040, 0xa003, 0x0000, 0x2001, - 0x0002, 0x9080, 0x1f28, 0x2005, 0xa04a, 0x0804, 0x4a42, 0x703c, - 0x2060, 0x2c14, 0x6304, 0x6408, 0x650c, 0x2200, 0x7836, 0x7833, - 0x0012, 0x7882, 0x2300, 0x7886, 0x2400, 0x788a, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x87ff, 0x0118, - 0x2748, 0x080c, 0x101d, 0x7048, 0x8001, 0x704a, 0x9005, 0x1170, - 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, 0x101d, 0x9006, 0x7042, - 0x7046, 0x703b, 0x18b0, 0x703f, 0x18b0, 0x0420, 0x7040, 0x9005, - 0x1508, 0x7238, 0x2c00, 0x9206, 0x0148, 0x9c80, 0x0004, 0x90fa, - 0x18f0, 0x0210, 0x2001, 0x18b0, 0x703e, 0x00a0, 0x9006, 0x703e, - 0x703a, 0x7044, 0x9005, 0x090c, 0x0db4, 0x2048, 0xa800, 0x9005, - 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, 0x9080, 0x1f28, 0x2005, - 0xa84a, 0x0000, 0x007e, 0x008e, 0x009e, 0x00ce, 0x00fe, 0x012e, - 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4a61, 0x4a61, - 0x4a63, 0x4a61, 0x4a61, 0x4a61, 0x4a68, 0x4a61, 0x4a61, 0x4a61, - 0x4a6d, 0x4a61, 0x4a61, 0x4a61, 0x4a72, 0x4a61, 0x4a61, 0x4a61, - 0x4a77, 0x4a61, 0x4a61, 0x4a61, 0x4a7c, 0x4a61, 0x4a61, 0x4a61, - 0x4a81, 0x080c, 0x0db4, 0xaa74, 0xab78, 0xac7c, 0x0804, 0x49ed, - 0xaa84, 0xab88, 0xac8c, 0x0804, 0x49ed, 0xaa94, 0xab98, 0xac9c, - 0x0804, 0x49ed, 0xaaa4, 0xaba8, 0xacac, 0x0804, 0x49ed, 0xaab4, - 0xabb8, 0xacbc, 0x0804, 0x49ed, 0xaac4, 0xabc8, 0xaccc, 0x0804, - 0x49ed, 0xaad4, 0xabd8, 0xacdc, 0x0804, 0x49ed, 0x0026, 0x080c, - 0x538f, 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x48e9, 0x002e, - 0x0005, 0x81ff, 0x1904, 0x336b, 0x0126, 0x2091, 0x8000, 0x6030, - 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, 0x6f9b, 0x1158, 0x080c, - 0x727f, 0x080c, 0x5cda, 0x9085, 0x0001, 0x080c, 0x6fe2, 0x080c, - 0x6ecd, 0x0010, 0x080c, 0x5b99, 0x012e, 0x0804, 0x3339, 0x81ff, - 0x0120, 0x2009, 0x0001, 0x0804, 0x336b, 0x080c, 0x53a3, 0x0120, - 0x2009, 0x0007, 0x0804, 0x336b, 0x080c, 0x6563, 0x0120, 0x2009, - 0x0008, 0x0804, 0x336b, 0x0026, 0x2011, 0x0010, 0x080c, 0x658f, - 0x002e, 0x0140, 0x7984, 0x080c, 0x65d9, 0x1120, 0x2009, 0x4009, - 0x0804, 0x336b, 0x7984, 0x080c, 0x61e7, 0x1904, 0x336e, 0x2b00, - 0x7026, 0x080c, 0x656b, 0x7888, 0x1170, 0x9084, 0x0005, 0x1158, - 0x900e, 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, - 0xc18d, 0x0804, 0x3339, 0x080c, 0x4889, 0x0904, 0x336b, 0x9006, - 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbd54, 0x0904, - 0x336b, 0x7888, 0xd094, 0x0118, 0xb8bc, 0xc08d, 0xb8be, 0x7007, - 0x0003, 0x701f, 0x4b50, 0x0005, 0x2061, 0x1800, 0x080c, 0x53a3, - 0x2009, 0x0007, 0x1578, 0x080c, 0x6563, 0x0118, 0x2009, 0x0008, - 0x0448, 0x080c, 0x3130, 0x0120, 0xa998, 0x080c, 0x61e7, 0x1530, - 0x080c, 0x48ba, 0x0518, 0x080c, 0x656b, 0xa89c, 0x1168, 0x9084, - 0x0005, 0x1150, 0x900e, 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, - 0xd0bc, 0x0108, 0xc18d, 0x00d0, 0xa868, 0xc0fc, 0xa86a, 0x080c, - 0xbd54, 0x11e0, 0xa89c, 0xd094, 0x0118, 0xb8bc, 0xc08d, 0xb8be, - 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, - 0xa99a, 0x9006, 0x918d, 0x0001, 0x2008, 0x0005, 0x9006, 0x0005, - 0xa830, 0x2008, 0x918e, 0xdead, 0x1120, 0x2021, 0x4009, 0x0804, - 0x333b, 0x9086, 0x0100, 0x7024, 0x2058, 0x1110, 0x0804, 0x52ec, - 0x900e, 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, - 0xc18d, 0x0804, 0x3339, 0x080c, 0x53a3, 0x0120, 0x2009, 0x0007, - 0x0804, 0x336b, 0x7f84, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, - 0x4889, 0x1120, 0x2009, 0x0002, 0x0804, 0x336b, 0x900e, 0x2130, - 0x7126, 0x7132, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, 0x0005, - 0x702a, 0x20a0, 0x080c, 0x6247, 0x1904, 0x4bee, 0x080c, 0x656b, - 0x0120, 0x080c, 0x6573, 0x1904, 0x4bee, 0x080c, 0x6563, 0x1130, - 0x080c, 0x6467, 0x1118, 0xd79c, 0x0904, 0x4bee, 0xd794, 0x1110, - 0xd784, 0x01a8, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, - 0x3400, 0xd794, 0x0160, 0x20a9, 0x0008, 0x4003, 0x2098, 0x20a0, - 0x3d00, 0x20e0, 0x20a9, 0x0002, 0x080c, 0x469b, 0x0048, 0x20a9, - 0x0004, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x469b, - 0x4104, 0xd794, 0x0528, 0xb8b4, 0x20e0, 0xb8b8, 0x2060, 0x9c80, - 0x0000, 0x2098, 0x20a9, 0x0002, 0x4003, 0x9c80, 0x0003, 0x2098, - 0x20a9, 0x0001, 0x4005, 0x9c80, 0x0004, 0x2098, 0x3400, 0x20a9, - 0x0002, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, 0x468e, - 0x9c80, 0x0026, 0x2098, 0xb8b4, 0x20e0, 0x20a9, 0x0002, 0x4003, - 0xd794, 0x0110, 0x96b0, 0x000b, 0x96b0, 0x0005, 0x8108, 0x080c, - 0x9dc1, 0x0118, 0x9186, 0x0800, 0x0040, 0xd78c, 0x0120, 0x9186, - 0x0800, 0x0170, 0x0018, 0x9186, 0x007e, 0x0150, 0xd794, 0x0118, - 0x9686, 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, 0x0804, 0x4b8a, - 0x86ff, 0x1120, 0x7124, 0x810b, 0x0804, 0x3339, 0x7033, 0x0001, - 0x7122, 0x7024, 0x9600, 0x7026, 0x772e, 0x2061, 0x18ae, 0x2c44, - 0xa06b, 0x0000, 0xa67a, 0x7034, 0xa072, 0x7028, 0xa076, 0xa28e, - 0xa392, 0xa496, 0xa59a, 0x080c, 0x10d5, 0x7007, 0x0002, 0x701f, - 0x4c2a, 0x0005, 0x7030, 0x9005, 0x1180, 0x7120, 0x7028, 0x20a0, - 0x772c, 0x9036, 0x7034, 0x20e8, 0x2061, 0x18ae, 0x2c44, 0xa28c, - 0xa390, 0xa494, 0xa598, 0x0804, 0x4b8a, 0x7124, 0x810b, 0x0804, - 0x3339, 0x2029, 0x007e, 0x7984, 0x7a88, 0x7b8c, 0x7c98, 0x9184, - 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x336e, 0x9502, 0x0a04, - 0x336e, 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x336e, 0x9502, - 0x0a04, 0x336e, 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, - 0x336e, 0x9502, 0x0a04, 0x336e, 0x9284, 0x00ff, 0x90e2, 0x0020, - 0x0a04, 0x336e, 0x9502, 0x0a04, 0x336e, 0x9384, 0xff00, 0x8007, - 0x90e2, 0x0020, 0x0a04, 0x336e, 0x9502, 0x0a04, 0x336e, 0x9384, - 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x336e, 0x9502, 0x0a04, 0x336e, - 0x9484, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x336e, 0x9502, - 0x0a04, 0x336e, 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x336e, - 0x9502, 0x0a04, 0x336e, 0x2061, 0x1959, 0x6102, 0x6206, 0x630a, - 0x640e, 0x0804, 0x3339, 0x0006, 0x080c, 0x538f, 0xd0cc, 0x000e, - 0x0005, 0x0006, 0x080c, 0x5393, 0xd0bc, 0x000e, 0x0005, 0x6170, - 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, 0x0804, 0x3339, 0x83ff, - 0x1904, 0x336e, 0x2001, 0xfff0, 0x9200, 0x1a04, 0x336e, 0x2019, - 0xffff, 0x6074, 0x9302, 0x9200, 0x0a04, 0x336e, 0x7986, 0x6272, - 0x0804, 0x3339, 0x080c, 0x53a3, 0x1904, 0x336b, 0x7c88, 0x7d84, - 0x7e98, 0x7f8c, 0x080c, 0x4889, 0x0904, 0x336b, 0x900e, 0x901e, - 0x7326, 0x7332, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, 0x0003, - 0x702a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, - 0x656b, 0x0118, 0x080c, 0x6573, 0x1148, 0x20a9, 0x0001, 0xb814, + 0x0005, 0x6100, 0x0804, 0x3344, 0x080c, 0x48c7, 0x0904, 0x3379, + 0x080c, 0x53ae, 0x1904, 0x3376, 0x79a8, 0xd184, 0x1158, 0xb834, + 0x8007, 0x789e, 0xb830, 0x8007, 0x789a, 0xbb2c, 0x831f, 0xba28, + 0x8217, 0x0050, 0xb824, 0x8007, 0x789e, 0xb820, 0x8007, 0x789a, + 0xbb1c, 0x831f, 0xba18, 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, + 0x3344, 0x78a8, 0x909c, 0x0003, 0xd0ac, 0x1158, 0xd0b4, 0x1148, + 0x939a, 0x0003, 0x1a04, 0x3376, 0x6258, 0x7884, 0x9206, 0x1904, + 0x44c9, 0x2031, 0x1848, 0x2009, 0x013c, 0x2136, 0x2001, 0x1840, + 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x0006, 0x78a8, + 0x9084, 0x0080, 0x11c8, 0x0006, 0x0036, 0x2001, 0x1a56, 0x201c, + 0x7b9a, 0x2003, 0x0000, 0x2001, 0x1a57, 0x201c, 0x7b9e, 0x2003, + 0x0000, 0x2001, 0x1a58, 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, + 0x000e, 0x000e, 0x0804, 0x48e0, 0x000e, 0x2031, 0x0000, 0x2061, + 0x18b6, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, + 0xa496, 0xa59a, 0x080c, 0x10d5, 0x7007, 0x0002, 0x701f, 0x44e9, + 0x0005, 0x81ff, 0x1904, 0x3376, 0x080c, 0x48c7, 0x0904, 0x3379, + 0x080c, 0x657a, 0x1904, 0x3376, 0x00c6, 0x080c, 0x4894, 0x00ce, + 0x0904, 0x3376, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7ea8, + 0x080c, 0xbcaa, 0x0904, 0x3376, 0x7007, 0x0003, 0x701f, 0x4503, + 0x0005, 0x080c, 0x4033, 0x0006, 0x0036, 0x2001, 0x1a56, 0x201c, + 0x7b9a, 0x2003, 0x0000, 0x2001, 0x1a57, 0x201c, 0x7b9e, 0x2003, + 0x0000, 0x2001, 0x1a58, 0x201c, 0x7ba2, 0x2003, 0x0000, 0x003e, + 0x000e, 0x0804, 0x3344, 0xa830, 0x9086, 0x0100, 0x0904, 0x3376, + 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, + 0x001b, 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, + 0x48e0, 0x9006, 0x080c, 0x26d9, 0x78a8, 0x9084, 0x00ff, 0x9086, + 0x00ff, 0x0118, 0x81ff, 0x1904, 0x3376, 0x080c, 0x6faa, 0x0110, + 0x080c, 0x5caa, 0x7888, 0x908a, 0x1000, 0x1a04, 0x3379, 0x7984, + 0x9186, 0x00ff, 0x0138, 0x9182, 0x007f, 0x1a04, 0x3379, 0x2100, + 0x080c, 0x26a3, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x2061, + 0x19d2, 0x601b, 0x0000, 0x601f, 0x0000, 0x6073, 0x0000, 0x6077, + 0x0000, 0x080c, 0x6faa, 0x1158, 0x080c, 0x728c, 0x080c, 0x5ce5, + 0x9085, 0x0001, 0x080c, 0x6ff1, 0x080c, 0x6edc, 0x00d0, 0x080c, + 0x9db5, 0x2061, 0x0100, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, + 0x810f, 0x9105, 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, + 0x1971, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x5bd0, 0x080c, + 0x80d1, 0x7984, 0x080c, 0x6faa, 0x1110, 0x2009, 0x00ff, 0x7a88, + 0x080c, 0x437c, 0x012e, 0x00ce, 0x002e, 0x0804, 0x3344, 0x7984, + 0x080c, 0x61f6, 0x2b08, 0x1904, 0x3379, 0x0804, 0x3344, 0x81ff, + 0x0120, 0x2009, 0x0001, 0x0804, 0x3376, 0x60d8, 0xd0ac, 0x1130, + 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x3376, 0x080c, 0x4894, + 0x1120, 0x2009, 0x0002, 0x0804, 0x3376, 0x7984, 0x9192, 0x0021, + 0x1a04, 0x3379, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, + 0x0019, 0x702a, 0xaf60, 0x7736, 0x080c, 0x48dd, 0x701f, 0x45b7, + 0x7880, 0x9086, 0x006e, 0x0110, 0x701f, 0x4e58, 0x0005, 0x2009, + 0x0080, 0x080c, 0x6256, 0x1118, 0x080c, 0x657a, 0x0120, 0x2021, + 0x400a, 0x0804, 0x3346, 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, + 0xac74, 0xad78, 0xae7c, 0xa884, 0x90be, 0x0100, 0x0904, 0x4650, + 0x90be, 0x0112, 0x0904, 0x4650, 0x90be, 0x0113, 0x0904, 0x4650, + 0x90be, 0x0114, 0x0904, 0x4650, 0x90be, 0x0117, 0x0904, 0x4650, + 0x90be, 0x011a, 0x0904, 0x4650, 0x90be, 0x011c, 0x0904, 0x4650, + 0x90be, 0x0121, 0x0904, 0x4637, 0x90be, 0x0131, 0x0904, 0x4637, + 0x90be, 0x0171, 0x0904, 0x4650, 0x90be, 0x0173, 0x0904, 0x4650, + 0x90be, 0x01a1, 0x1128, 0xa894, 0x8007, 0xa896, 0x0804, 0x465b, + 0x90be, 0x0212, 0x0904, 0x4644, 0x90be, 0x0213, 0x05e8, 0x90be, + 0x0214, 0x0500, 0x90be, 0x0217, 0x0188, 0x90be, 0x021a, 0x1120, + 0xa89c, 0x8007, 0xa89e, 0x04e0, 0x90be, 0x021f, 0x05c8, 0x90be, + 0x0300, 0x05b0, 0x009e, 0x00de, 0x0804, 0x3379, 0x7028, 0x9080, + 0x0010, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0007, + 0x080c, 0x4699, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, + 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x4699, 0x00c8, 0x7028, + 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, + 0x0001, 0x080c, 0x46a6, 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, + 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x46a6, + 0x7028, 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, + 0x20a9, 0x0001, 0x04f1, 0x00c6, 0x080c, 0x4894, 0x0550, 0xa868, + 0xc0fd, 0xa86a, 0xa867, 0x0119, 0x9006, 0xa882, 0xa87f, 0x0020, + 0xa88b, 0x0001, 0x810b, 0xa9ae, 0xa8b2, 0xaab6, 0xabba, 0xacbe, + 0xadc2, 0xa9c6, 0xa8ca, 0x00ce, 0x009e, 0x00de, 0xa866, 0xa822, + 0xa868, 0xc0fd, 0xa86a, 0xa804, 0x2048, 0x080c, 0xbcc5, 0x1120, + 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, 0x0003, 0x701f, 0x4690, + 0x0005, 0x00ce, 0x009e, 0x00de, 0x2009, 0x0002, 0x0804, 0x3376, + 0xa820, 0x9086, 0x8001, 0x1904, 0x3344, 0x2009, 0x0004, 0x0804, + 0x3376, 0x0016, 0x0026, 0x3510, 0x20a9, 0x0002, 0x4002, 0x4104, + 0x4004, 0x8211, 0x1dc8, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, + 0x0036, 0x0046, 0x3520, 0x20a9, 0x0004, 0x4002, 0x4304, 0x4204, + 0x4104, 0x4004, 0x8421, 0x1db8, 0x004e, 0x003e, 0x002e, 0x001e, + 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3376, 0x60d8, + 0xd0ac, 0x1160, 0xd09c, 0x0120, 0x2009, 0x0016, 0x0804, 0x3376, + 0xd09c, 0x1120, 0x2009, 0x0005, 0x0804, 0x3376, 0x7984, 0x78a8, + 0x2040, 0x080c, 0x9dae, 0x1120, 0x9182, 0x007f, 0x0a04, 0x3379, + 0x9186, 0x00ff, 0x0904, 0x3379, 0x9182, 0x0800, 0x1a04, 0x3379, + 0x7a8c, 0x7b88, 0x6078, 0x9306, 0x1158, 0x607c, 0x924e, 0x0904, + 0x3379, 0x080c, 0x9dae, 0x1120, 0x99cc, 0xff00, 0x0904, 0x3379, + 0x0126, 0x2091, 0x8000, 0x0026, 0x2011, 0x8008, 0x080c, 0x659e, + 0x002e, 0x0140, 0x918d, 0x8000, 0x080c, 0x65e8, 0x1118, 0x2001, + 0x4009, 0x0458, 0x080c, 0x47ae, 0x0560, 0x90c6, 0x4000, 0x1170, + 0x00c6, 0x0006, 0x900e, 0x080c, 0x6476, 0x1108, 0xc185, 0xb800, + 0xd0bc, 0x0108, 0xc18d, 0x000e, 0x00ce, 0x00b8, 0x90c6, 0x4007, + 0x1110, 0x2408, 0x0090, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, + 0x0060, 0x90c6, 0x4009, 0x1108, 0x0040, 0x90c6, 0x4006, 0x1108, + 0x0020, 0x2001, 0x4005, 0x2009, 0x000a, 0x2020, 0x012e, 0x0804, + 0x3346, 0x2b00, 0x7026, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, + 0x080c, 0x9e7c, 0x0904, 0x477b, 0x2b00, 0x6012, 0x080c, 0xbfb5, + 0x2e58, 0x00ee, 0x00e6, 0x00c6, 0x080c, 0x4894, 0x00ce, 0x2b70, + 0x1158, 0x080c, 0x9e2f, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, + 0x2009, 0x0002, 0x0804, 0x3376, 0x900e, 0xa966, 0xa96a, 0x2900, + 0x6016, 0xa932, 0xa868, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0xa86a, + 0x080c, 0x2fe7, 0x6023, 0x0001, 0x9006, 0x080c, 0x6193, 0x2001, + 0x0002, 0x080c, 0x61a7, 0x2009, 0x0002, 0x080c, 0x9ea9, 0x78a8, + 0xd094, 0x0138, 0x00ee, 0x7024, 0x00e6, 0x2058, 0xb8bc, 0xc08d, + 0xb8be, 0x9085, 0x0001, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, + 0x1120, 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, 0x0003, 0x701f, + 0x478a, 0x0005, 0xa830, 0x2008, 0x918e, 0xdead, 0x1120, 0x2021, + 0x4009, 0x0804, 0x3346, 0x9086, 0x0100, 0x7024, 0x2058, 0x1138, + 0x2009, 0x0004, 0xba04, 0x9294, 0x00ff, 0x0804, 0x52f7, 0x900e, + 0xa868, 0xd0f4, 0x1904, 0x3344, 0x080c, 0x6476, 0x1108, 0xc185, + 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3344, 0x00e6, 0x00d6, + 0x0096, 0x83ff, 0x0904, 0x47f6, 0x902e, 0x080c, 0x9dae, 0x0130, + 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, 0x007f, + 0x20a9, 0x0781, 0x2071, 0x107f, 0x2e04, 0x9005, 0x11b0, 0x2100, + 0x9406, 0x15e8, 0x2428, 0x94ce, 0x007f, 0x1120, 0x92ce, 0xfffd, + 0x1528, 0x0030, 0x94ce, 0x0080, 0x1130, 0x92ce, 0xfffc, 0x11f0, + 0x93ce, 0x00ff, 0x11d8, 0xc5fd, 0x0450, 0x2058, 0xbf10, 0x2700, + 0x9306, 0x11b8, 0xbe14, 0x2600, 0x9206, 0x1198, 0x2400, 0x9106, + 0x1150, 0xd884, 0x0568, 0xd894, 0x1558, 0x080c, 0x657a, 0x1540, + 0x2001, 0x4000, 0x0430, 0x2001, 0x4007, 0x0418, 0x2001, 0x4006, + 0x0400, 0x2400, 0x9106, 0x1158, 0xbe14, 0x87ff, 0x1128, 0x86ff, + 0x0948, 0x080c, 0x9dae, 0x1930, 0x2001, 0x4008, 0x0090, 0x8420, + 0x8e70, 0x1f04, 0x47c4, 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, + 0x2001, 0x0001, 0x0030, 0x080c, 0x61f6, 0x1dd0, 0xbb12, 0xba16, + 0x9006, 0x9005, 0x009e, 0x00de, 0x00ee, 0x0005, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x3376, 0x080c, 0x4894, 0x1120, 0x2009, + 0x0002, 0x0804, 0x3376, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, + 0x7884, 0x9005, 0x0904, 0x3379, 0x9096, 0x00ff, 0x0120, 0x9092, + 0x0004, 0x1a04, 0x3379, 0x2010, 0x2918, 0x080c, 0x2f8d, 0x1120, + 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, 0x0003, 0x701f, 0x4849, + 0x0005, 0xa830, 0x9086, 0x0100, 0x1904, 0x3344, 0x2009, 0x0004, + 0x0804, 0x3376, 0x7984, 0x080c, 0x9dae, 0x1120, 0x9182, 0x007f, + 0x0a04, 0x3379, 0x9186, 0x00ff, 0x0904, 0x3379, 0x9182, 0x0800, + 0x1a04, 0x3379, 0x2001, 0x9000, 0x080c, 0x5352, 0x1904, 0x3376, + 0x0804, 0x3344, 0xa998, 0x080c, 0x9dae, 0x1118, 0x9182, 0x007f, + 0x0280, 0x9186, 0x00ff, 0x0168, 0x9182, 0x0800, 0x1250, 0x2001, + 0x9000, 0x080c, 0x5352, 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, + 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, + 0x0005, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, + 0x0005, 0x2009, 0x000a, 0x0c48, 0x080c, 0x0feb, 0x0198, 0x9006, + 0xa802, 0x7014, 0x9005, 0x1120, 0x2900, 0x7016, 0x701a, 0x0040, + 0x7018, 0xa802, 0x0086, 0x2040, 0x2900, 0xa006, 0x701a, 0x008e, + 0x9085, 0x0001, 0x0005, 0x7984, 0x080c, 0x6256, 0x1130, 0x7e88, + 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, + 0xa998, 0x080c, 0x6256, 0x1130, 0xae9c, 0x9684, 0x3fff, 0x9082, + 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xae98, 0x0008, 0x7e84, + 0x2608, 0x080c, 0x6256, 0x1108, 0x0008, 0x905e, 0x8bff, 0x0005, + 0x0016, 0x7114, 0x81ff, 0x0128, 0x2148, 0xa904, 0x080c, 0x101d, + 0x0cc8, 0x7116, 0x711a, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, + 0x2031, 0x0000, 0x2061, 0x18b6, 0x2c44, 0xa66a, 0xa17a, 0xa772, + 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x10d5, 0x7007, + 0x0002, 0x701f, 0x3344, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, + 0x2079, 0x0000, 0x2001, 0x18ae, 0x2004, 0x9005, 0x1190, 0x0e04, + 0x4911, 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, 0x7c8a, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x0804, + 0x4977, 0x0016, 0x0086, 0x0096, 0x00c6, 0x00e6, 0x2071, 0x189c, + 0x7044, 0x9005, 0x1540, 0x7148, 0x9182, 0x0010, 0x0288, 0x7038, + 0x2060, 0x080c, 0x0feb, 0x0904, 0x496f, 0xa84b, 0x0000, 0x2900, + 0x7046, 0x2001, 0x0002, 0x9080, 0x1f33, 0x2005, 0xa846, 0x0098, + 0x7038, 0x90e0, 0x0004, 0x2001, 0x18b8, 0x9c82, 0x18f8, 0x0210, + 0x2061, 0x18b8, 0x2c00, 0x703a, 0x7148, 0x81ff, 0x1108, 0x703e, + 0x8108, 0x714a, 0x0460, 0x7148, 0x8108, 0x714a, 0x7044, 0x2040, + 0xa144, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0db4, 0x2060, + 0x001e, 0x8108, 0x2105, 0x9005, 0xa146, 0x1520, 0x080c, 0x0feb, + 0x1130, 0x8109, 0xa946, 0x7148, 0x8109, 0x714a, 0x00d8, 0x9006, + 0xa806, 0xa84a, 0xa046, 0x2800, 0xa802, 0x2900, 0xa006, 0x7046, + 0x2001, 0x0002, 0x9080, 0x1f33, 0x2005, 0xa846, 0x0058, 0x2262, + 0x6306, 0x640a, 0x00ee, 0x00ce, 0x009e, 0x008e, 0x001e, 0x012e, + 0x00fe, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4999, 0x4999, + 0x499b, 0x4999, 0x4999, 0x4999, 0x499f, 0x4999, 0x4999, 0x4999, + 0x49a3, 0x4999, 0x4999, 0x4999, 0x49a7, 0x4999, 0x4999, 0x4999, + 0x49ab, 0x4999, 0x4999, 0x4999, 0x49af, 0x4999, 0x4999, 0x4999, + 0x49b4, 0x080c, 0x0db4, 0xa276, 0xa37a, 0xa47e, 0x0898, 0xa286, + 0xa38a, 0xa48e, 0x0878, 0xa296, 0xa39a, 0xa49e, 0x0858, 0xa2a6, + 0xa3aa, 0xa4ae, 0x0838, 0xa2b6, 0xa3ba, 0xa4be, 0x0818, 0xa2c6, + 0xa3ca, 0xa4ce, 0x0804, 0x4972, 0xa2d6, 0xa3da, 0xa4de, 0x0804, + 0x4972, 0x00e6, 0x2071, 0x189c, 0x7048, 0x9005, 0x0904, 0x4a4b, + 0x0126, 0x2091, 0x8000, 0x0e04, 0x4a4a, 0x00f6, 0x2079, 0x0000, + 0x00c6, 0x0096, 0x0086, 0x0076, 0x9006, 0x2038, 0x7040, 0x2048, + 0x9005, 0x0500, 0xa948, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, + 0x0db4, 0x2060, 0x001e, 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, + 0x4a4d, 0xa804, 0x9005, 0x090c, 0x0db4, 0x7042, 0x2938, 0x2040, + 0xa003, 0x0000, 0x2001, 0x0002, 0x9080, 0x1f33, 0x2005, 0xa04a, + 0x0804, 0x4a4d, 0x703c, 0x2060, 0x2c14, 0x6304, 0x6408, 0x650c, + 0x2200, 0x7836, 0x7833, 0x0012, 0x7882, 0x2300, 0x7886, 0x2400, + 0x788a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x1187, 0x87ff, 0x0118, 0x2748, 0x080c, 0x101d, 0x7048, 0x8001, + 0x704a, 0x9005, 0x1170, 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, + 0x101d, 0x9006, 0x7042, 0x7046, 0x703b, 0x18b8, 0x703f, 0x18b8, + 0x0420, 0x7040, 0x9005, 0x1508, 0x7238, 0x2c00, 0x9206, 0x0148, + 0x9c80, 0x0004, 0x90fa, 0x18f8, 0x0210, 0x2001, 0x18b8, 0x703e, + 0x00a0, 0x9006, 0x703e, 0x703a, 0x7044, 0x9005, 0x090c, 0x0db4, + 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, + 0x9080, 0x1f33, 0x2005, 0xa84a, 0x0000, 0x007e, 0x008e, 0x009e, + 0x00ce, 0x00fe, 0x012e, 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, + 0x0002, 0x4a6c, 0x4a6c, 0x4a6e, 0x4a6c, 0x4a6c, 0x4a6c, 0x4a73, + 0x4a6c, 0x4a6c, 0x4a6c, 0x4a78, 0x4a6c, 0x4a6c, 0x4a6c, 0x4a7d, + 0x4a6c, 0x4a6c, 0x4a6c, 0x4a82, 0x4a6c, 0x4a6c, 0x4a6c, 0x4a87, + 0x4a6c, 0x4a6c, 0x4a6c, 0x4a8c, 0x080c, 0x0db4, 0xaa74, 0xab78, + 0xac7c, 0x0804, 0x49f8, 0xaa84, 0xab88, 0xac8c, 0x0804, 0x49f8, + 0xaa94, 0xab98, 0xac9c, 0x0804, 0x49f8, 0xaaa4, 0xaba8, 0xacac, + 0x0804, 0x49f8, 0xaab4, 0xabb8, 0xacbc, 0x0804, 0x49f8, 0xaac4, + 0xabc8, 0xaccc, 0x0804, 0x49f8, 0xaad4, 0xabd8, 0xacdc, 0x0804, + 0x49f8, 0x0026, 0x080c, 0x539a, 0xd0c4, 0x0120, 0x2011, 0x8014, + 0x080c, 0x48f4, 0x002e, 0x0005, 0x81ff, 0x1904, 0x3376, 0x0126, + 0x2091, 0x8000, 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, + 0x6faa, 0x1158, 0x080c, 0x728c, 0x080c, 0x5ce5, 0x9085, 0x0001, + 0x080c, 0x6ff1, 0x080c, 0x6edc, 0x0010, 0x080c, 0x5ba4, 0x012e, + 0x0804, 0x3344, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3376, + 0x080c, 0x53ae, 0x0120, 0x2009, 0x0007, 0x0804, 0x3376, 0x080c, + 0x6572, 0x0120, 0x2009, 0x0008, 0x0804, 0x3376, 0x0026, 0x2011, + 0x0010, 0x080c, 0x659e, 0x002e, 0x0140, 0x7984, 0x080c, 0x65e8, + 0x1120, 0x2009, 0x4009, 0x0804, 0x3376, 0x7984, 0x080c, 0x61f6, + 0x1904, 0x3379, 0x2b00, 0x7026, 0x080c, 0x657a, 0x7888, 0x1170, + 0x9084, 0x0005, 0x1158, 0x900e, 0x080c, 0x6476, 0x1108, 0xc185, + 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3344, 0x080c, 0x4894, + 0x0904, 0x3376, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, + 0x080c, 0xbd63, 0x0904, 0x3376, 0x7888, 0xd094, 0x0118, 0xb8bc, + 0xc08d, 0xb8be, 0x7007, 0x0003, 0x701f, 0x4b5b, 0x0005, 0x2061, + 0x1800, 0x080c, 0x53ae, 0x2009, 0x0007, 0x1578, 0x080c, 0x6572, + 0x0118, 0x2009, 0x0008, 0x0448, 0x080c, 0x313b, 0x0120, 0xa998, + 0x080c, 0x61f6, 0x1530, 0x080c, 0x48c5, 0x0518, 0x080c, 0x657a, + 0xa89c, 0x1168, 0x9084, 0x0005, 0x1150, 0x900e, 0x080c, 0x6476, + 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x00d0, 0xa868, + 0xc0fc, 0xa86a, 0x080c, 0xbd63, 0x11e0, 0xa89c, 0xd094, 0x0118, + 0xb8bc, 0xc08d, 0xb8be, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, + 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, + 0x0005, 0xa897, 0x4000, 0xa99a, 0x9006, 0x918d, 0x0001, 0x2008, + 0x0005, 0x9006, 0x0005, 0xa830, 0x2008, 0x918e, 0xdead, 0x1120, + 0x2021, 0x4009, 0x0804, 0x3346, 0x9086, 0x0100, 0x7024, 0x2058, + 0x1110, 0x0804, 0x52f7, 0x900e, 0x080c, 0x6476, 0x1108, 0xc185, + 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x0804, 0x3344, 0x080c, 0x53ae, + 0x0120, 0x2009, 0x0007, 0x0804, 0x3376, 0x7f84, 0x7a8c, 0x7b88, + 0x7c9c, 0x7d98, 0x080c, 0x4894, 0x1120, 0x2009, 0x0002, 0x0804, + 0x3376, 0x900e, 0x2130, 0x7126, 0x7132, 0xa860, 0x20e8, 0x7036, + 0xa85c, 0x9080, 0x0005, 0x702a, 0x20a0, 0x080c, 0x6256, 0x1904, + 0x4bf9, 0x080c, 0x657a, 0x0120, 0x080c, 0x6582, 0x1904, 0x4bf9, + 0x080c, 0x6572, 0x1130, 0x080c, 0x6476, 0x1118, 0xd79c, 0x0904, + 0x4bf9, 0xd794, 0x1110, 0xd784, 0x01a8, 0xb8b4, 0x20e0, 0xb8b8, + 0x9080, 0x0006, 0x2098, 0x3400, 0xd794, 0x0160, 0x20a9, 0x0008, + 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x20a9, 0x0002, 0x080c, + 0x46a6, 0x0048, 0x20a9, 0x0004, 0x4003, 0x2098, 0x20a0, 0x3d00, + 0x20e0, 0x080c, 0x46a6, 0x4104, 0xd794, 0x0528, 0xb8b4, 0x20e0, + 0xb8b8, 0x2060, 0x9c80, 0x0000, 0x2098, 0x20a9, 0x0002, 0x4003, + 0x9c80, 0x0003, 0x2098, 0x20a9, 0x0001, 0x4005, 0x9c80, 0x0004, + 0x2098, 0x3400, 0x20a9, 0x0002, 0x4003, 0x2098, 0x20a0, 0x3d00, + 0x20e0, 0x080c, 0x4699, 0x9c80, 0x0026, 0x2098, 0xb8b4, 0x20e0, + 0x20a9, 0x0002, 0x4003, 0xd794, 0x0110, 0x96b0, 0x000b, 0x96b0, + 0x0005, 0x8108, 0x080c, 0x9dae, 0x0118, 0x9186, 0x0800, 0x0040, + 0xd78c, 0x0120, 0x9186, 0x0800, 0x0170, 0x0018, 0x9186, 0x007e, + 0x0150, 0xd794, 0x0118, 0x9686, 0x0020, 0x0010, 0x9686, 0x0028, + 0x0150, 0x0804, 0x4b95, 0x86ff, 0x1120, 0x7124, 0x810b, 0x0804, + 0x3344, 0x7033, 0x0001, 0x7122, 0x7024, 0x9600, 0x7026, 0x772e, + 0x2061, 0x18b6, 0x2c44, 0xa06b, 0x0000, 0xa67a, 0x7034, 0xa072, + 0x7028, 0xa076, 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x10d5, + 0x7007, 0x0002, 0x701f, 0x4c35, 0x0005, 0x7030, 0x9005, 0x1180, + 0x7120, 0x7028, 0x20a0, 0x772c, 0x9036, 0x7034, 0x20e8, 0x2061, + 0x18b6, 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x0804, 0x4b95, + 0x7124, 0x810b, 0x0804, 0x3344, 0x2029, 0x007e, 0x7984, 0x7a88, + 0x7b8c, 0x7c98, 0x9184, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, + 0x3379, 0x9502, 0x0a04, 0x3379, 0x9184, 0x00ff, 0x90e2, 0x0020, + 0x0a04, 0x3379, 0x9502, 0x0a04, 0x3379, 0x9284, 0xff00, 0x8007, + 0x90e2, 0x0020, 0x0a04, 0x3379, 0x9502, 0x0a04, 0x3379, 0x9284, + 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x3379, 0x9502, 0x0a04, 0x3379, + 0x9384, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x3379, 0x9502, + 0x0a04, 0x3379, 0x9384, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x3379, + 0x9502, 0x0a04, 0x3379, 0x9484, 0xff00, 0x8007, 0x90e2, 0x0020, + 0x0a04, 0x3379, 0x9502, 0x0a04, 0x3379, 0x9484, 0x00ff, 0x90e2, + 0x0020, 0x0a04, 0x3379, 0x9502, 0x0a04, 0x3379, 0x2061, 0x1961, + 0x6102, 0x6206, 0x630a, 0x640e, 0x0804, 0x3344, 0x0006, 0x080c, + 0x539a, 0xd0cc, 0x000e, 0x0005, 0x0006, 0x080c, 0x539e, 0xd0bc, + 0x000e, 0x0005, 0x6170, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, + 0x0804, 0x3344, 0x83ff, 0x1904, 0x3379, 0x2001, 0xfff0, 0x9200, + 0x1a04, 0x3379, 0x2019, 0xffff, 0x6074, 0x9302, 0x9200, 0x0a04, + 0x3379, 0x7986, 0x6272, 0x0804, 0x3344, 0x080c, 0x53ae, 0x1904, + 0x3376, 0x7c88, 0x7d84, 0x7e98, 0x7f8c, 0x080c, 0x4894, 0x0904, + 0x3376, 0x900e, 0x901e, 0x7326, 0x7332, 0xa860, 0x20e8, 0x7036, + 0xa85c, 0x9080, 0x0003, 0x702a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, + 0x8bff, 0x0178, 0x080c, 0x657a, 0x0118, 0x080c, 0x6582, 0x1148, + 0x20a9, 0x0001, 0xb814, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, + 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0170, + 0x0c20, 0x83ff, 0x1148, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, + 0x8277, 0x2208, 0x0804, 0x3344, 0x7033, 0x0001, 0x7122, 0x7024, + 0x9300, 0x7026, 0x2061, 0x18b6, 0x2c44, 0xa06b, 0x0000, 0xa37a, + 0x7028, 0xa076, 0x7034, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, + 0x080c, 0x10d5, 0x7007, 0x0002, 0x701f, 0x4d27, 0x0005, 0x7030, + 0x9005, 0x1178, 0x7120, 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, + 0x2061, 0x18b6, 0x2c44, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0804, + 0x4ce5, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, 0x8277, 0x2208, + 0x0804, 0x3344, 0x00f6, 0x00e6, 0x080c, 0x53ae, 0x2009, 0x0007, + 0x1904, 0x4dba, 0x2071, 0x189c, 0x745c, 0x84ff, 0x2009, 0x000e, + 0x1904, 0x4dba, 0xac9c, 0xad98, 0xaea4, 0xafa0, 0x0096, 0x080c, + 0x1004, 0x2009, 0x0002, 0x0904, 0x4dba, 0x2900, 0x705e, 0x900e, + 0x901e, 0x7356, 0x7362, 0xa860, 0x7066, 0xa85c, 0x9080, 0x0003, + 0x705a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, + 0x657a, 0x0118, 0x080c, 0x6582, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, - 0x0800, 0x0120, 0x9386, 0x003c, 0x0170, 0x0c20, 0x83ff, 0x1148, - 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, 0x8259, 0x2208, 0x0804, - 0x3339, 0x7033, 0x0001, 0x7122, 0x7024, 0x9300, 0x7026, 0x2061, - 0x18ae, 0x2c44, 0xa06b, 0x0000, 0xa37a, 0x7028, 0xa076, 0x7034, - 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0x080c, 0x10d5, 0x7007, - 0x0002, 0x701f, 0x4d1c, 0x0005, 0x7030, 0x9005, 0x1178, 0x7120, - 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, 0x2061, 0x18ae, 0x2c44, - 0xa48c, 0xa590, 0xa694, 0xa798, 0x0804, 0x4cda, 0x7224, 0x900e, - 0x2001, 0x0003, 0x080c, 0x8259, 0x2208, 0x0804, 0x3339, 0x00f6, - 0x00e6, 0x080c, 0x53a3, 0x2009, 0x0007, 0x1904, 0x4daf, 0x2071, - 0x1894, 0x745c, 0x84ff, 0x2009, 0x000e, 0x1904, 0x4daf, 0xac9c, - 0xad98, 0xaea4, 0xafa0, 0x0096, 0x080c, 0x1004, 0x2009, 0x0002, - 0x0904, 0x4daf, 0x2900, 0x705e, 0x900e, 0x901e, 0x7356, 0x7362, - 0xa860, 0x7066, 0xa85c, 0x9080, 0x0003, 0x705a, 0x20a0, 0x91d8, - 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x656b, 0x0118, 0x080c, - 0x6573, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, - 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, - 0x003c, 0x01e8, 0x0c20, 0x83ff, 0x11c0, 0x7254, 0x900e, 0x2001, - 0x0003, 0x080c, 0x8259, 0x2208, 0x009e, 0xa897, 0x4000, 0xa99a, - 0x715c, 0x81ff, 0x090c, 0x0db4, 0x2148, 0x080c, 0x101d, 0x9006, - 0x705e, 0x918d, 0x0001, 0x2008, 0x0418, 0x7063, 0x0001, 0x7152, - 0x7054, 0x9300, 0x7056, 0x2061, 0x18af, 0x2c44, 0xa37a, 0x7058, - 0xa076, 0x7064, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0xa09f, - 0x4dbb, 0x000e, 0xa0a2, 0x080c, 0x10d5, 0x9006, 0x0048, 0x009e, - 0xa897, 0x4005, 0xa99a, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, - 0x00ee, 0x00fe, 0x0005, 0x00f6, 0xa0a0, 0x904d, 0x090c, 0x0db4, - 0x00e6, 0x2071, 0x1894, 0xa06c, 0x908e, 0x0100, 0x0138, 0xa87b, - 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x00d8, 0x7060, 0x9005, - 0x1158, 0x7150, 0x7058, 0x20a0, 0x901e, 0x7064, 0x20e8, 0xa48c, - 0xa590, 0xa694, 0xa798, 0x0428, 0xa87b, 0x0000, 0xa883, 0x0000, - 0xa897, 0x4000, 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, 0x8259, - 0xaa9a, 0x715c, 0x81ff, 0x090c, 0x0db4, 0x2148, 0x080c, 0x101d, - 0x705f, 0x0000, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6891, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x00ee, 0x00fe, - 0x0005, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x656b, - 0x0118, 0x080c, 0x6573, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, - 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, - 0x0120, 0x9386, 0x003c, 0x0518, 0x0c20, 0x83ff, 0x11f0, 0x7154, - 0x810c, 0xa99a, 0xa897, 0x4000, 0x715c, 0x81ff, 0x090c, 0x0db4, - 0x2148, 0x080c, 0x101d, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, - 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, - 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x0070, 0x7063, 0x0001, 0x7152, - 0x7054, 0x9300, 0x7056, 0xa37a, 0xa48e, 0xa592, 0xa696, 0xa79a, - 0x080c, 0x10d5, 0x9006, 0x00ee, 0x0005, 0x0096, 0xa88c, 0x90be, - 0x7000, 0x0148, 0x90be, 0x7100, 0x0130, 0x90be, 0x7200, 0x0118, - 0x009e, 0x0804, 0x336e, 0xa884, 0xa988, 0x080c, 0x2665, 0x1518, - 0x080c, 0x61e7, 0x1500, 0x7126, 0xbe12, 0xbd16, 0xae7c, 0x080c, - 0x4889, 0x01c8, 0x080c, 0x4889, 0x01b0, 0x009e, 0xa867, 0x0000, - 0xa868, 0xc0fd, 0xa86a, 0xa823, 0x0000, 0xa804, 0x2048, 0x080c, - 0xbcd6, 0x1120, 0x2009, 0x0003, 0x0804, 0x336b, 0x7007, 0x0003, - 0x701f, 0x4e88, 0x0005, 0x009e, 0x2009, 0x0002, 0x0804, 0x336b, - 0x7124, 0x080c, 0x30d7, 0xa820, 0x9086, 0x8001, 0x1120, 0x2009, - 0x0004, 0x0804, 0x336b, 0x2900, 0x7022, 0xa804, 0x0096, 0x2048, - 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x009e, - 0x9080, 0x0002, 0x0076, 0x0006, 0x2098, 0x20a0, 0x27e0, 0x27e8, - 0x20a9, 0x002a, 0x080c, 0x0f68, 0xaa6c, 0xab70, 0xac74, 0xad78, - 0x2061, 0x18ae, 0x2c44, 0xa06b, 0x0000, 0xae64, 0xaf8c, 0x97c6, - 0x7000, 0x0118, 0x97c6, 0x7100, 0x1148, 0x96c2, 0x0004, 0x0600, - 0x2009, 0x0004, 0x000e, 0x007e, 0x0804, 0x48d5, 0x97c6, 0x7200, - 0x11b8, 0x96c2, 0x0054, 0x02a0, 0x000e, 0x007e, 0x2061, 0x18ae, - 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, 0xa28e, 0xa392, 0xa496, - 0xa59a, 0x080c, 0x10d5, 0x7007, 0x0002, 0x701f, 0x4ee4, 0x0005, - 0x000e, 0x007e, 0x0804, 0x336e, 0x7020, 0x2048, 0xa804, 0x2048, - 0xa804, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, - 0xffc0, 0x9080, 0x0002, 0x2098, 0x20a0, 0x27e0, 0x27e8, 0x20a9, - 0x002a, 0x080c, 0x0f68, 0x2100, 0x2238, 0x2061, 0x18ae, 0x2c44, - 0xa28c, 0xa390, 0xa494, 0xa598, 0x2009, 0x002a, 0x0804, 0x48d5, - 0x81ff, 0x1904, 0x336b, 0x798c, 0x2001, 0x194e, 0x918c, 0x8000, - 0x2102, 0x080c, 0x48a0, 0x0904, 0x336e, 0x080c, 0x656b, 0x0120, - 0x080c, 0x6573, 0x1904, 0x336e, 0x080c, 0x630e, 0x0904, 0x336b, - 0x0126, 0x2091, 0x8000, 0x080c, 0x63d4, 0x012e, 0x0904, 0x336b, - 0x2001, 0x194e, 0x2004, 0xd0fc, 0x1904, 0x3339, 0x0804, 0x430e, - 0xa9a0, 0x2001, 0x194e, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, - 0x48ad, 0x01a0, 0x080c, 0x656b, 0x0118, 0x080c, 0x6573, 0x1170, - 0x080c, 0x630e, 0x2009, 0x0002, 0x0128, 0x080c, 0x63d4, 0x1170, - 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, - 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, - 0x2001, 0x194e, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x5397, 0x0110, - 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, - 0x78a8, 0xd08c, 0x1118, 0xd084, 0x0904, 0x4283, 0x080c, 0x48bc, - 0x0904, 0x336e, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, 0x0804, - 0x336b, 0x080c, 0x656b, 0x0130, 0x908e, 0x0004, 0x0118, 0x908e, - 0x0005, 0x15a0, 0x78a8, 0xd08c, 0x0120, 0xb800, 0xc08c, 0xb802, - 0x0028, 0x080c, 0x538f, 0xd0b4, 0x0904, 0x42bd, 0x7884, 0x908e, - 0x007e, 0x0904, 0x42bd, 0x908e, 0x007f, 0x0904, 0x42bd, 0x908e, - 0x0080, 0x0904, 0x42bd, 0xb800, 0xd08c, 0x1904, 0x42bd, 0xa867, - 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbcf5, 0x1120, 0x2009, - 0x0003, 0x0804, 0x336b, 0x7007, 0x0003, 0x701f, 0x4fb0, 0x0005, - 0x080c, 0x48bc, 0x0904, 0x336e, 0x0804, 0x42bd, 0x080c, 0x3130, - 0x0108, 0x0005, 0x2009, 0x1833, 0x210c, 0x81ff, 0x0120, 0x2009, - 0x0001, 0x0804, 0x336b, 0x080c, 0x53a3, 0x0120, 0x2009, 0x0007, - 0x0804, 0x336b, 0x080c, 0x6563, 0x0120, 0x2009, 0x0008, 0x0804, - 0x336b, 0xb89c, 0xd0a4, 0x1118, 0xd0ac, 0x1904, 0x42bd, 0x9006, - 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbd54, 0x1120, - 0x2009, 0x0003, 0x0804, 0x336b, 0x7007, 0x0003, 0x701f, 0x4fe9, - 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, - 0x52ec, 0x080c, 0x48bc, 0x0904, 0x336e, 0x0804, 0x4f82, 0x81ff, - 0x2009, 0x0001, 0x1904, 0x336b, 0x080c, 0x53a3, 0x2009, 0x0007, - 0x1904, 0x336b, 0x080c, 0x6563, 0x0120, 0x2009, 0x0008, 0x0804, - 0x336b, 0x080c, 0x48bc, 0x0904, 0x336e, 0x080c, 0x656b, 0x2009, - 0x0009, 0x1904, 0x336b, 0x080c, 0x4889, 0x2009, 0x0002, 0x0904, - 0x336b, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x7988, - 0x9194, 0xff00, 0x918c, 0x00ff, 0x9006, 0x82ff, 0x1128, 0xc0ed, - 0xa952, 0x798c, 0xa956, 0x0038, 0x928e, 0x0100, 0x1904, 0x336e, - 0xc0e5, 0xa952, 0xa956, 0xa83e, 0x080c, 0xbfa7, 0x2009, 0x0003, - 0x0904, 0x336b, 0x7007, 0x0003, 0x701f, 0x503f, 0x0005, 0xa830, - 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, 0x336b, 0x0804, 0x3339, - 0x7aa8, 0x9284, 0xc000, 0x0148, 0xd2ec, 0x01a0, 0x080c, 0x53a3, - 0x1188, 0x2009, 0x0014, 0x0804, 0x336b, 0xd2dc, 0x1568, 0x81ff, - 0x2009, 0x0001, 0x1904, 0x336b, 0x080c, 0x53a3, 0x2009, 0x0007, - 0x1904, 0x336b, 0xd2f4, 0x0130, 0x9284, 0x5000, 0x080c, 0x536a, - 0x0804, 0x3339, 0xd2fc, 0x0158, 0x080c, 0x48bc, 0x0904, 0x336e, - 0x7984, 0x9284, 0x9000, 0x080c, 0x5347, 0x0804, 0x3339, 0x080c, - 0x48bc, 0x0904, 0x336e, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, - 0x2009, 0x0009, 0x1904, 0x5128, 0x080c, 0x4889, 0x2009, 0x0002, - 0x0904, 0x5128, 0xa85c, 0x9080, 0x001b, 0xaf60, 0x2009, 0x0008, - 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, 0x48d2, 0x701f, 0x5099, - 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, 0xa870, 0x9005, 0x1120, - 0xa874, 0x9084, 0xff00, 0x0110, 0x1904, 0x336e, 0xa866, 0xa832, - 0xa868, 0xc0fd, 0xa86a, 0x080c, 0x48bc, 0x1110, 0x0804, 0x336e, - 0x2009, 0x0043, 0x080c, 0xc00f, 0x2009, 0x0003, 0x0904, 0x5128, - 0x7007, 0x0003, 0x701f, 0x50bd, 0x0005, 0xa830, 0x9086, 0x0100, - 0x2009, 0x0004, 0x0904, 0x5128, 0x7984, 0x7aa8, 0x9284, 0x1000, - 0x080c, 0x5347, 0x0804, 0x3339, 0x00c6, 0xaab0, 0x9284, 0xc000, - 0x0140, 0xd2ec, 0x0168, 0x080c, 0x53a3, 0x1150, 0x2009, 0x0014, - 0x04f0, 0x2061, 0x1800, 0x080c, 0x53a3, 0x2009, 0x0007, 0x15b8, - 0xd2f4, 0x0128, 0x9284, 0x5000, 0x080c, 0x536a, 0x0050, 0xd2fc, - 0x0178, 0x080c, 0x48ba, 0x0588, 0xa998, 0x9284, 0x9000, 0x080c, - 0x5347, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0438, - 0x080c, 0x48ba, 0x0510, 0x080c, 0x656b, 0x2009, 0x0009, 0x11b8, - 0xa8c4, 0x9086, 0x0500, 0x11c8, 0xa8c8, 0x9005, 0x11b0, 0xa8cc, - 0x9084, 0xff00, 0x1190, 0x080c, 0x48ba, 0x1108, 0x0070, 0x2009, - 0x004b, 0x080c, 0xc00f, 0x2009, 0x0003, 0x0108, 0x0078, 0x0429, - 0x19c0, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, - 0x9085, 0x0001, 0x2001, 0x0030, 0x00ce, 0x0005, 0x9006, 0x0ce0, - 0x7aa8, 0xd2dc, 0x0904, 0x336b, 0x0016, 0x7984, 0x9284, 0x1000, - 0xc0fd, 0x080c, 0x5347, 0x001e, 0x1904, 0x336b, 0x0804, 0x3339, - 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, 0xaab0, 0xd2dc, 0x0150, - 0x0016, 0xa998, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5347, 0x001e, - 0x9085, 0x0001, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, - 0x336b, 0x080c, 0x53a3, 0x0120, 0x2009, 0x0007, 0x0804, 0x336b, - 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, 0x6247, 0x1904, 0x336e, - 0x9186, 0x007f, 0x0138, 0x080c, 0x656b, 0x0120, 0x2009, 0x0009, - 0x0804, 0x336b, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, 0x0804, - 0x336b, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x2001, 0x0100, - 0x8007, 0xa80a, 0x080c, 0xbd0f, 0x1120, 0x2009, 0x0003, 0x0804, - 0x336b, 0x7007, 0x0003, 0x701f, 0x5186, 0x0005, 0xa808, 0x8007, - 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x336b, 0xa8e0, - 0xa866, 0xa810, 0x8007, 0x9084, 0x00ff, 0x800c, 0xa814, 0x8007, - 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, 0x9108, 0x8906, 0x8006, - 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0004, 0x7a8c, - 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x48d5, 0x080c, 0x4889, 0x1120, - 0x2009, 0x0002, 0x0804, 0x336b, 0x7984, 0x9194, 0xff00, 0x918c, - 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, 0x1983, 0x0040, 0x92c6, - 0x0001, 0x1118, 0x7023, 0x199d, 0x0010, 0x0804, 0x336e, 0x2009, - 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, - 0xaf60, 0x080c, 0x48d2, 0x701f, 0x51d6, 0x0005, 0x2001, 0x182d, - 0x2003, 0x0001, 0xa85c, 0x9080, 0x0019, 0x2098, 0xa860, 0x20e0, - 0x20a9, 0x001a, 0x7020, 0x20a0, 0x20e9, 0x0001, 0x4003, 0x0804, - 0x3339, 0x080c, 0x4889, 0x1120, 0x2009, 0x0002, 0x0804, 0x336b, - 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, - 0x2099, 0x1983, 0x0040, 0x92c6, 0x0001, 0x1118, 0x2099, 0x199d, - 0x0010, 0x0804, 0x336e, 0xa85c, 0x9080, 0x0019, 0x20a0, 0xa860, - 0x20e8, 0x20a9, 0x001a, 0x20e1, 0x0001, 0x4003, 0x2009, 0x001a, - 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0xaf60, - 0x0804, 0x48d5, 0x7884, 0x908a, 0x1000, 0x1a04, 0x336e, 0x0126, - 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, 0x9108, 0x00c6, 0x2061, - 0x19ca, 0x6142, 0x00ce, 0x012e, 0x0804, 0x3339, 0x00c6, 0x080c, - 0x6f9b, 0x1160, 0x080c, 0x727f, 0x080c, 0x5cda, 0x9085, 0x0001, - 0x080c, 0x6fe2, 0x080c, 0x6ecd, 0x080c, 0x0db4, 0x2061, 0x1800, - 0x6030, 0xc09d, 0x6032, 0x080c, 0x5b99, 0x00ce, 0x0005, 0x00c6, - 0x2001, 0x1800, 0x2004, 0x908e, 0x0000, 0x0904, 0x336b, 0x7884, - 0x9005, 0x0188, 0x7888, 0x2061, 0x196c, 0x2c0c, 0x2062, 0x080c, - 0x2a47, 0x01a0, 0x080c, 0x2a4f, 0x0188, 0x080c, 0x2a57, 0x0170, - 0x2162, 0x0804, 0x336e, 0x2061, 0x0100, 0x6038, 0x9086, 0x0007, - 0x1118, 0x2009, 0x0001, 0x0010, 0x2009, 0x0000, 0x7884, 0x9086, - 0x0002, 0x1548, 0x2061, 0x0100, 0x6028, 0xc09c, 0x602a, 0x0026, - 0x2011, 0x0003, 0x080c, 0x9772, 0x2011, 0x0002, 0x080c, 0x977c, - 0x002e, 0x080c, 0x9663, 0x0036, 0x901e, 0x080c, 0x96d9, 0x003e, - 0x60e3, 0x0000, 0x080c, 0xd8d5, 0x080c, 0xd8f0, 0x9085, 0x0001, - 0x080c, 0x6fe2, 0x9006, 0x080c, 0x2b16, 0x2001, 0x1800, 0x2003, - 0x0004, 0x6027, 0x0008, 0x00ce, 0x0804, 0x3339, 0x81ff, 0x0120, - 0x2009, 0x0001, 0x0804, 0x336b, 0x080c, 0x53a3, 0x0120, 0x2009, - 0x0007, 0x0804, 0x336b, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, - 0x6247, 0x1904, 0x336e, 0x9186, 0x007f, 0x0138, 0x080c, 0x656b, - 0x0120, 0x2009, 0x0009, 0x0804, 0x336b, 0x080c, 0x4889, 0x1120, - 0x2009, 0x0002, 0x0804, 0x336b, 0xa867, 0x0000, 0xa868, 0xc0fd, - 0xa86a, 0x080c, 0xbd12, 0x1120, 0x2009, 0x0003, 0x0804, 0x336b, - 0x7007, 0x0003, 0x701f, 0x52d5, 0x0005, 0xa830, 0x9086, 0x0100, - 0x1120, 0x2009, 0x0004, 0x0804, 0x336b, 0xa8e0, 0xa866, 0xa834, - 0x8007, 0x800c, 0xa85c, 0x9080, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, - 0x7d98, 0xaf60, 0x0804, 0x48d5, 0xa898, 0x9086, 0x000d, 0x1904, - 0x336b, 0x2021, 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, 0x52f9, - 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, - 0x0011, 0x0010, 0x7833, 0x0010, 0x7883, 0x4005, 0xa998, 0x7986, - 0xa9a4, 0x799a, 0xa9a8, 0x799e, 0x080c, 0x48c5, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x7007, 0x0001, - 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x0126, 0x2091, - 0x8000, 0x00c6, 0x2061, 0x19ca, 0x7984, 0x6152, 0x614e, 0x6057, - 0x0000, 0x604b, 0x0009, 0x7898, 0x606a, 0x789c, 0x6066, 0x7888, - 0x6062, 0x788c, 0x605e, 0x2001, 0x19d8, 0x2044, 0x2001, 0x19df, - 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, 0xa07f, 0x0002, 0xa06b, - 0x0000, 0xa09f, 0x0000, 0x00ce, 0x012e, 0x0804, 0x3339, 0x0126, - 0x2091, 0x8000, 0x00b6, 0x00c6, 0x90e4, 0xc000, 0x0128, 0x0006, - 0x080c, 0xbb79, 0x000e, 0x1198, 0xd0e4, 0x0160, 0x9180, 0x1000, - 0x2004, 0x905d, 0x0160, 0x080c, 0x5cf4, 0x080c, 0x9dc1, 0x0110, - 0xb817, 0x0000, 0x9006, 0x00ce, 0x00be, 0x012e, 0x0005, 0x9085, - 0x0001, 0x0cc8, 0x0126, 0x2091, 0x8000, 0x0156, 0x2010, 0x900e, - 0x20a9, 0x0800, 0x0016, 0x9180, 0x1000, 0x2004, 0x9005, 0x0180, - 0x9186, 0x007e, 0x0168, 0x9186, 0x007f, 0x0150, 0x9186, 0x0080, - 0x0138, 0x9186, 0x00ff, 0x0120, 0x0026, 0x2200, 0x0801, 0x002e, - 0x001e, 0x8108, 0x1f04, 0x5372, 0x015e, 0x012e, 0x0005, 0x2001, - 0x1854, 0x2004, 0x0005, 0x2001, 0x1873, 0x2004, 0x0005, 0x0006, - 0x2001, 0x1810, 0x2004, 0xd0d4, 0x000e, 0x0005, 0x2001, 0x180e, - 0x2004, 0xd0b4, 0x0005, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, - 0x0005, 0x0016, 0x00e6, 0x2071, 0x1894, 0x7108, 0x910d, 0x710a, - 0x00ee, 0x001e, 0x0005, 0x79a4, 0x9182, 0x0081, 0x1a04, 0x336e, - 0x810c, 0x0016, 0x080c, 0x4889, 0x080c, 0x0ef3, 0x2100, 0x2238, - 0x7d84, 0x7c88, 0x7b8c, 0x7a90, 0x001e, 0x080c, 0x48d2, 0x701f, - 0x53ca, 0x0005, 0x2079, 0x0000, 0x7d94, 0x7c98, 0x7ba8, 0x7aac, - 0x79a4, 0x810c, 0x2061, 0x18ae, 0x2c44, 0xa770, 0xa074, 0x2071, - 0x1894, 0x080c, 0x48d5, 0x701f, 0x53de, 0x0005, 0x2061, 0x18ae, - 0x2c44, 0x0016, 0x0026, 0xa270, 0xa174, 0x080c, 0x0efb, 0x002e, - 0x001e, 0x080c, 0x0fa8, 0x9006, 0xa802, 0xa806, 0x0804, 0x3339, - 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, - 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, 0x0200, 0x2071, 0x1800, - 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, 0x080c, 0x5599, 0x0068, - 0xd08c, 0x0118, 0x080c, 0x54a2, 0x0040, 0xd094, 0x0118, 0x080c, - 0x5472, 0x0018, 0xd09c, 0x0108, 0x0099, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x012e, 0x0005, - 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, 0x612a, 0x001e, 0x0c68, - 0x0006, 0x7094, 0x9005, 0x000e, 0x0120, 0x7097, 0x0000, 0x708f, - 0x0000, 0x624c, 0x9286, 0xf0f0, 0x1150, 0x6048, 0x9086, 0xf0f0, - 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, 0x0490, 0x9294, - 0xff00, 0x9296, 0xf700, 0x0178, 0x7138, 0xd1a4, 0x1160, 0x6240, - 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, 0x0128, 0x2009, 0x00f7, - 0x080c, 0x5c56, 0x00f0, 0x6040, 0x9084, 0x0010, 0x9085, 0x0140, - 0x6042, 0x6043, 0x0000, 0x7083, 0x0000, 0x709f, 0x0001, 0x70c3, - 0x0000, 0x70db, 0x0000, 0x2009, 0x1c80, 0x200b, 0x0000, 0x7093, - 0x0000, 0x7087, 0x000f, 0x2009, 0x000f, 0x2011, 0x5b3c, 0x080c, - 0x80b3, 0x0005, 0x2001, 0x1875, 0x2004, 0xd08c, 0x0110, 0x705b, - 0xffff, 0x7084, 0x9005, 0x1528, 0x2011, 0x5b3c, 0x080c, 0x8021, - 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, 0x20a9, 0x00c8, - 0x6044, 0xd08c, 0x1168, 0x1f04, 0x5488, 0x6242, 0x7097, 0x0000, - 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, 0x6042, 0x6242, 0x0048, - 0x6242, 0x7097, 0x0000, 0x708b, 0x0000, 0x9006, 0x080c, 0x5cdf, - 0x0000, 0x0005, 0x7088, 0x908a, 0x0003, 0x1a0c, 0x0db4, 0x000b, - 0x0005, 0x54ac, 0x54fd, 0x5598, 0x00f6, 0x0016, 0x6900, 0x918c, - 0x0800, 0x708b, 0x0001, 0x2001, 0x015d, 0x2003, 0x0000, 0x6803, - 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, 0x1f04, - 0x54bb, 0x080c, 0x0db4, 0x68a0, 0x68a2, 0x689c, 0x689e, 0x6898, - 0x689a, 0xa001, 0x918d, 0x1600, 0x6902, 0x001e, 0x6837, 0x0020, - 0x080c, 0x5cbb, 0x2079, 0x1c00, 0x7833, 0x1101, 0x7837, 0x0000, - 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0001, 0x20a1, 0x1c0e, - 0x20a9, 0x0004, 0x4003, 0x080c, 0x9c4a, 0x20e1, 0x0001, 0x2099, - 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, 0x4003, - 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, 0x5b6d, 0x00fe, 0x9006, - 0x708e, 0x6043, 0x0008, 0x6042, 0x0005, 0x00f6, 0x708c, 0x708f, - 0x0000, 0x9025, 0x0904, 0x5575, 0x6020, 0xd0b4, 0x1904, 0x5573, - 0x719c, 0x81ff, 0x0904, 0x5561, 0x9486, 0x000c, 0x1904, 0x556e, - 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, 0x5cb4, 0x2011, 0x0260, - 0x2019, 0x1c00, 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, 0x8318, - 0x1f04, 0x551a, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, 0xbc94, - 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0006, 0x708b, 0x0002, - 0x7097, 0x0002, 0x2009, 0x07d0, 0x2011, 0x5b43, 0x080c, 0x80b3, - 0x080c, 0x5cbb, 0x04c0, 0x080c, 0x5cb4, 0x2079, 0x0260, 0x7930, - 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, 0x1540, 0x7900, 0x918c, - 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, 0x080c, 0x5cb4, 0x2011, - 0x026e, 0x2019, 0x1805, 0x20a9, 0x0004, 0x220c, 0x2304, 0x9102, - 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, 0x5555, 0x0078, 0x709f, - 0x0000, 0x080c, 0x5cb4, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, - 0x0001, 0x20a1, 0x1c00, 0x20a9, 0x0014, 0x4003, 0x6043, 0x0008, - 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, 0x6040, 0x9085, 0x0100, - 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, 0x9c4a, 0x20e1, 0x0001, - 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, - 0x4003, 0x60c3, 0x000c, 0x2011, 0x19c1, 0x2013, 0x0000, 0x708f, - 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x93a4, 0x08d8, - 0x0005, 0x7094, 0x908a, 0x001d, 0x1a0c, 0x0db4, 0x000b, 0x0005, - 0x55ca, 0x55dd, 0x5606, 0x5626, 0x564c, 0x567b, 0x56a1, 0x56d9, - 0x56ff, 0x572d, 0x5768, 0x57a0, 0x57be, 0x57e9, 0x580b, 0x5826, - 0x5830, 0x5864, 0x588a, 0x58b9, 0x58df, 0x5917, 0x595b, 0x5998, - 0x59b9, 0x5a12, 0x5a34, 0x5a62, 0x5a62, 0x00c6, 0x2061, 0x1800, - 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0x9084, 0xfff9, 0x6006, - 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, - 0x2061, 0x0100, 0x6043, 0x0002, 0x7097, 0x0001, 0x2009, 0x07d0, - 0x2011, 0x5b43, 0x080c, 0x80b3, 0x0005, 0x00f6, 0x708c, 0x9086, - 0x0014, 0x1510, 0x6042, 0x6020, 0xd0b4, 0x11f0, 0x080c, 0x5cb4, - 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x11a0, 0x7834, 0x9005, - 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, - 0x0001, 0x2011, 0x5b43, 0x080c, 0x8021, 0x7097, 0x0010, 0x080c, - 0x5830, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7097, - 0x0003, 0x6043, 0x0004, 0x2011, 0x5b43, 0x080c, 0x8021, 0x080c, - 0x5c38, 0x2079, 0x0240, 0x7833, 0x1102, 0x7837, 0x0000, 0x20a9, - 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, 0x8108, 0x1f04, 0x561b, - 0x60c3, 0x0014, 0x080c, 0x5b6d, 0x00fe, 0x0005, 0x00f6, 0x708c, - 0x9005, 0x0500, 0x2011, 0x5b43, 0x080c, 0x8021, 0x9086, 0x0014, - 0x11b8, 0x080c, 0x5cb4, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, - 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, - 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x0004, 0x0029, 0x0010, - 0x080c, 0x5c90, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0005, 0x080c, - 0x5c38, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, - 0x5cb4, 0x080c, 0x5c97, 0x1170, 0x7080, 0x9005, 0x1158, 0x7158, - 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5af0, 0x0168, - 0x080c, 0x5c6d, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, - 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, - 0x5b6d, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, - 0x5b43, 0x080c, 0x8021, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cb4, - 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, 0x9005, - 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, - 0x0001, 0x7097, 0x0006, 0x0029, 0x0010, 0x080c, 0x5c90, 0x00fe, - 0x0005, 0x00f6, 0x7097, 0x0007, 0x080c, 0x5c38, 0x2079, 0x0240, - 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x5cb4, 0x080c, 0x5c97, - 0x11b8, 0x7080, 0x9005, 0x11a0, 0x7160, 0x9186, 0xffff, 0x0180, - 0x9180, 0x313a, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, - 0x080c, 0x5af0, 0x0180, 0x080c, 0x4ca1, 0x0110, 0x080c, 0x26ce, - 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, - 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b6d, 0x00fe, - 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b43, 0x080c, - 0x8021, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cb4, 0x2079, 0x0260, - 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, - 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, - 0x0008, 0x0029, 0x0010, 0x080c, 0x5c90, 0x00fe, 0x0005, 0x00f6, - 0x7097, 0x0009, 0x080c, 0x5c38, 0x2079, 0x0240, 0x7833, 0x1105, - 0x7837, 0x0100, 0x080c, 0x5c97, 0x1150, 0x7080, 0x9005, 0x1138, - 0x080c, 0x5a63, 0x1188, 0x9085, 0x0001, 0x080c, 0x26ce, 0x20a9, - 0x0008, 0x080c, 0x5cb4, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, - 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b6d, - 0x0010, 0x080c, 0x55bd, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, - 0x05a8, 0x2011, 0x5b43, 0x080c, 0x8021, 0x9086, 0x0014, 0x1560, - 0x080c, 0x5cb4, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1520, - 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, 0x921e, 0x1160, 0x7a38, + 0x0800, 0x0120, 0x9386, 0x003c, 0x01e8, 0x0c20, 0x83ff, 0x11c0, + 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, 0x8277, 0x2208, 0x009e, + 0xa897, 0x4000, 0xa99a, 0x715c, 0x81ff, 0x090c, 0x0db4, 0x2148, + 0x080c, 0x101d, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0x0418, + 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, 0x7056, 0x2061, 0x18b7, + 0x2c44, 0xa37a, 0x7058, 0xa076, 0x7064, 0xa072, 0xa48e, 0xa592, + 0xa696, 0xa79a, 0xa09f, 0x4dc6, 0x000e, 0xa0a2, 0x080c, 0x10d5, + 0x9006, 0x0048, 0x009e, 0xa897, 0x4005, 0xa99a, 0x900e, 0x9085, + 0x0001, 0x2001, 0x0030, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0xa0a0, + 0x904d, 0x090c, 0x0db4, 0x00e6, 0x2071, 0x189c, 0xa06c, 0x908e, + 0x0100, 0x0138, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, + 0x00d8, 0x7060, 0x9005, 0x1158, 0x7150, 0x7058, 0x20a0, 0x901e, + 0x7064, 0x20e8, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0428, 0xa87b, + 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x7254, 0x900e, 0x2001, + 0x0003, 0x080c, 0x8277, 0xaa9a, 0x715c, 0x81ff, 0x090c, 0x0db4, + 0x2148, 0x080c, 0x101d, 0x705f, 0x0000, 0xa0a0, 0x2048, 0x0126, + 0x2091, 0x8000, 0x080c, 0x68a0, 0x012e, 0xa09f, 0x0000, 0xa0a3, + 0x0000, 0x00ee, 0x00fe, 0x0005, 0x91d8, 0x1000, 0x2b5c, 0x8bff, + 0x0178, 0x080c, 0x657a, 0x0118, 0x080c, 0x6582, 0x1148, 0xb814, + 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, + 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0518, 0x0c20, + 0x83ff, 0x11f0, 0x7154, 0x810c, 0xa99a, 0xa897, 0x4000, 0x715c, + 0x81ff, 0x090c, 0x0db4, 0x2148, 0x080c, 0x101d, 0x9006, 0x705e, + 0x918d, 0x0001, 0x2008, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, + 0x080c, 0x68a0, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x0070, + 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, 0x7056, 0xa37a, 0xa48e, + 0xa592, 0xa696, 0xa79a, 0x080c, 0x10d5, 0x9006, 0x00ee, 0x0005, + 0x0096, 0xa88c, 0x90be, 0x7000, 0x0148, 0x90be, 0x7100, 0x0130, + 0x90be, 0x7200, 0x0118, 0x009e, 0x0804, 0x3379, 0xa884, 0xa988, + 0x080c, 0x2670, 0x1518, 0x080c, 0x61f6, 0x1500, 0x7126, 0xbe12, + 0xbd16, 0xae7c, 0x080c, 0x4894, 0x01c8, 0x080c, 0x4894, 0x01b0, + 0x009e, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0xa823, 0x0000, + 0xa804, 0x2048, 0x080c, 0xbce5, 0x1120, 0x2009, 0x0003, 0x0804, + 0x3376, 0x7007, 0x0003, 0x701f, 0x4e93, 0x0005, 0x009e, 0x2009, + 0x0002, 0x0804, 0x3376, 0x7124, 0x080c, 0x30e2, 0xa820, 0x9086, + 0x8001, 0x1120, 0x2009, 0x0004, 0x0804, 0x3376, 0x2900, 0x7022, + 0xa804, 0x0096, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, + 0x9084, 0xffc0, 0x009e, 0x9080, 0x0002, 0x0076, 0x0006, 0x2098, + 0x20a0, 0x27e0, 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0f68, 0xaa6c, + 0xab70, 0xac74, 0xad78, 0x2061, 0x18b6, 0x2c44, 0xa06b, 0x0000, + 0xae64, 0xaf8c, 0x97c6, 0x7000, 0x0118, 0x97c6, 0x7100, 0x1148, + 0x96c2, 0x0004, 0x0600, 0x2009, 0x0004, 0x000e, 0x007e, 0x0804, + 0x48e0, 0x97c6, 0x7200, 0x11b8, 0x96c2, 0x0054, 0x02a0, 0x000e, + 0x007e, 0x2061, 0x18b6, 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, + 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x10d5, 0x7007, 0x0002, + 0x701f, 0x4eef, 0x0005, 0x000e, 0x007e, 0x0804, 0x3379, 0x7020, + 0x2048, 0xa804, 0x2048, 0xa804, 0x2048, 0x8906, 0x8006, 0x8007, + 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2098, 0x20a0, + 0x27e0, 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0f68, 0x2100, 0x2238, + 0x2061, 0x18b6, 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x2009, + 0x002a, 0x0804, 0x48e0, 0x81ff, 0x1904, 0x3376, 0x798c, 0x2001, + 0x1956, 0x918c, 0x8000, 0x2102, 0x080c, 0x48ab, 0x0904, 0x3379, + 0x080c, 0x657a, 0x0120, 0x080c, 0x6582, 0x1904, 0x3379, 0x080c, + 0x631d, 0x0904, 0x3376, 0x0126, 0x2091, 0x8000, 0x080c, 0x63e3, + 0x012e, 0x0904, 0x3376, 0x2001, 0x1956, 0x2004, 0xd0fc, 0x1904, + 0x3344, 0x0804, 0x4319, 0xa9a0, 0x2001, 0x1956, 0x918c, 0x8000, + 0xc18d, 0x2102, 0x080c, 0x48b8, 0x01a0, 0x080c, 0x657a, 0x0118, + 0x080c, 0x6582, 0x1170, 0x080c, 0x631d, 0x2009, 0x0002, 0x0128, + 0x080c, 0x63e3, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, + 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, + 0x0005, 0xa897, 0x4000, 0x2001, 0x1956, 0x2004, 0xd0fc, 0x1128, + 0x080c, 0x53a2, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, + 0x2001, 0x0000, 0x0005, 0x78a8, 0xd08c, 0x1118, 0xd084, 0x0904, + 0x428e, 0x080c, 0x48c7, 0x0904, 0x3379, 0x080c, 0x4894, 0x1120, + 0x2009, 0x0002, 0x0804, 0x3376, 0x080c, 0x657a, 0x0130, 0x908e, + 0x0004, 0x0118, 0x908e, 0x0005, 0x15a0, 0x78a8, 0xd08c, 0x0120, + 0xb800, 0xc08c, 0xb802, 0x0028, 0x080c, 0x539a, 0xd0b4, 0x0904, + 0x42c8, 0x7884, 0x908e, 0x007e, 0x0904, 0x42c8, 0x908e, 0x007f, + 0x0904, 0x42c8, 0x908e, 0x0080, 0x0904, 0x42c8, 0xb800, 0xd08c, + 0x1904, 0x42c8, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, + 0xbd04, 0x1120, 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, 0x0003, + 0x701f, 0x4fbb, 0x0005, 0x080c, 0x48c7, 0x0904, 0x3379, 0x0804, + 0x42c8, 0x080c, 0x313b, 0x0108, 0x0005, 0x2009, 0x1833, 0x210c, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3376, 0x080c, 0x53ae, + 0x0120, 0x2009, 0x0007, 0x0804, 0x3376, 0x080c, 0x6572, 0x0120, + 0x2009, 0x0008, 0x0804, 0x3376, 0xb89c, 0xd0a4, 0x1118, 0xd0ac, + 0x1904, 0x42c8, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, + 0x080c, 0xbd63, 0x1120, 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, + 0x0003, 0x701f, 0x4ff4, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, + 0x2009, 0x0004, 0x0804, 0x52f7, 0x080c, 0x48c7, 0x0904, 0x3379, + 0x0804, 0x4f8d, 0x81ff, 0x2009, 0x0001, 0x1904, 0x3376, 0x080c, + 0x53ae, 0x2009, 0x0007, 0x1904, 0x3376, 0x080c, 0x6572, 0x0120, + 0x2009, 0x0008, 0x0804, 0x3376, 0x080c, 0x48c7, 0x0904, 0x3379, + 0x080c, 0x657a, 0x2009, 0x0009, 0x1904, 0x3376, 0x080c, 0x4894, + 0x2009, 0x0002, 0x0904, 0x3376, 0x9006, 0xa866, 0xa832, 0xa868, + 0xc0fd, 0xa86a, 0x7988, 0x9194, 0xff00, 0x918c, 0x00ff, 0x9006, + 0x82ff, 0x1128, 0xc0ed, 0xa952, 0x798c, 0xa956, 0x0038, 0x928e, + 0x0100, 0x1904, 0x3379, 0xc0e5, 0xa952, 0xa956, 0xa83e, 0x080c, + 0xbfb6, 0x2009, 0x0003, 0x0904, 0x3376, 0x7007, 0x0003, 0x701f, + 0x504a, 0x0005, 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, + 0x3376, 0x0804, 0x3344, 0x7aa8, 0x9284, 0xc000, 0x0148, 0xd2ec, + 0x01a0, 0x080c, 0x53ae, 0x1188, 0x2009, 0x0014, 0x0804, 0x3376, + 0xd2dc, 0x1568, 0x81ff, 0x2009, 0x0001, 0x1904, 0x3376, 0x080c, + 0x53ae, 0x2009, 0x0007, 0x1904, 0x3376, 0xd2f4, 0x0130, 0x9284, + 0x5000, 0x080c, 0x5375, 0x0804, 0x3344, 0xd2fc, 0x0158, 0x080c, + 0x48c7, 0x0904, 0x3379, 0x7984, 0x9284, 0x9000, 0x080c, 0x5352, + 0x0804, 0x3344, 0x080c, 0x48c7, 0x0904, 0x3379, 0xb804, 0x9084, + 0x00ff, 0x9086, 0x0006, 0x2009, 0x0009, 0x1904, 0x5133, 0x080c, + 0x4894, 0x2009, 0x0002, 0x0904, 0x5133, 0xa85c, 0x9080, 0x001b, + 0xaf60, 0x2009, 0x0008, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, + 0x48dd, 0x701f, 0x50a4, 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, + 0xa870, 0x9005, 0x1120, 0xa874, 0x9084, 0xff00, 0x0110, 0x1904, + 0x3379, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0x48c7, + 0x1110, 0x0804, 0x3379, 0x2009, 0x0043, 0x080c, 0xc01e, 0x2009, + 0x0003, 0x0904, 0x5133, 0x7007, 0x0003, 0x701f, 0x50c8, 0x0005, + 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, 0x5133, 0x7984, + 0x7aa8, 0x9284, 0x1000, 0x080c, 0x5352, 0x0804, 0x3344, 0x00c6, + 0xaab0, 0x9284, 0xc000, 0x0140, 0xd2ec, 0x0168, 0x080c, 0x53ae, + 0x1150, 0x2009, 0x0014, 0x04f0, 0x2061, 0x1800, 0x080c, 0x53ae, + 0x2009, 0x0007, 0x15b8, 0xd2f4, 0x0128, 0x9284, 0x5000, 0x080c, + 0x5375, 0x0050, 0xd2fc, 0x0178, 0x080c, 0x48c5, 0x0588, 0xa998, + 0x9284, 0x9000, 0x080c, 0x5352, 0xa87b, 0x0000, 0xa883, 0x0000, + 0xa897, 0x4000, 0x0438, 0x080c, 0x48c5, 0x0510, 0x080c, 0x657a, + 0x2009, 0x0009, 0x11b8, 0xa8c4, 0x9086, 0x0500, 0x11c8, 0xa8c8, + 0x9005, 0x11b0, 0xa8cc, 0x9084, 0xff00, 0x1190, 0x080c, 0x48c5, + 0x1108, 0x0070, 0x2009, 0x004b, 0x080c, 0xc01e, 0x2009, 0x0003, + 0x0108, 0x0078, 0x0429, 0x19c0, 0xa897, 0x4005, 0xa99a, 0x0010, + 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ce, + 0x0005, 0x9006, 0x0ce0, 0x7aa8, 0xd2dc, 0x0904, 0x3376, 0x0016, + 0x7984, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5352, 0x001e, 0x1904, + 0x3376, 0x0804, 0x3344, 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, + 0xaab0, 0xd2dc, 0x0150, 0x0016, 0xa998, 0x9284, 0x1000, 0xc0fd, + 0x080c, 0x5352, 0x001e, 0x9085, 0x0001, 0x0005, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x3376, 0x080c, 0x53ae, 0x0120, 0x2009, + 0x0007, 0x0804, 0x3376, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, + 0x6256, 0x1904, 0x3379, 0x9186, 0x007f, 0x0138, 0x080c, 0x657a, + 0x0120, 0x2009, 0x0009, 0x0804, 0x3376, 0x080c, 0x4894, 0x1120, + 0x2009, 0x0002, 0x0804, 0x3376, 0xa867, 0x0000, 0xa868, 0xc0fd, + 0xa86a, 0x2001, 0x0100, 0x8007, 0xa80a, 0x080c, 0xbd1e, 0x1120, + 0x2009, 0x0003, 0x0804, 0x3376, 0x7007, 0x0003, 0x701f, 0x5191, + 0x0005, 0xa808, 0x8007, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, + 0x0804, 0x3376, 0xa8e0, 0xa866, 0xa810, 0x8007, 0x9084, 0x00ff, + 0x800c, 0xa814, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, + 0x9108, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, + 0x9080, 0x0004, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x48e0, + 0x080c, 0x4894, 0x1120, 0x2009, 0x0002, 0x0804, 0x3376, 0x7984, + 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, + 0x198b, 0x0040, 0x92c6, 0x0001, 0x1118, 0x7023, 0x19a5, 0x0010, + 0x0804, 0x3379, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x48dd, 0x701f, 0x51e1, + 0x0005, 0x2001, 0x182d, 0x2003, 0x0001, 0xa85c, 0x9080, 0x0019, + 0x2098, 0xa860, 0x20e0, 0x20a9, 0x001a, 0x7020, 0x20a0, 0x20e9, + 0x0001, 0x4003, 0x0804, 0x3344, 0x080c, 0x4894, 0x1120, 0x2009, + 0x0002, 0x0804, 0x3376, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, + 0x8217, 0x82ff, 0x1118, 0x2099, 0x198b, 0x0040, 0x92c6, 0x0001, + 0x1118, 0x2099, 0x19a5, 0x0010, 0x0804, 0x3379, 0xa85c, 0x9080, + 0x0019, 0x20a0, 0xa860, 0x20e8, 0x20a9, 0x001a, 0x20e1, 0x0001, + 0x4003, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, + 0x9080, 0x0019, 0xaf60, 0x0804, 0x48e0, 0x7884, 0x908a, 0x1000, + 0x1a04, 0x3379, 0x0126, 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, + 0x9108, 0x00c6, 0x2061, 0x19d2, 0x6142, 0x00ce, 0x012e, 0x0804, + 0x3344, 0x00c6, 0x080c, 0x6faa, 0x1160, 0x080c, 0x728c, 0x080c, + 0x5ce5, 0x9085, 0x0001, 0x080c, 0x6ff1, 0x080c, 0x6edc, 0x080c, + 0x0db4, 0x2061, 0x1800, 0x6030, 0xc09d, 0x6032, 0x080c, 0x5ba4, + 0x00ce, 0x0005, 0x00c6, 0x2001, 0x1800, 0x2004, 0x908e, 0x0000, + 0x0904, 0x3376, 0x7884, 0x9005, 0x0188, 0x7888, 0x2061, 0x1974, + 0x2c0c, 0x2062, 0x080c, 0x2a52, 0x01a0, 0x080c, 0x2a5a, 0x0188, + 0x080c, 0x2a62, 0x0170, 0x2162, 0x0804, 0x3379, 0x2061, 0x0100, + 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, 0x0001, 0x0010, 0x2009, + 0x0000, 0x7884, 0x9086, 0x0002, 0x1548, 0x2061, 0x0100, 0x6028, + 0xc09c, 0x602a, 0x0026, 0x2011, 0x0003, 0x080c, 0x975b, 0x2011, + 0x0002, 0x080c, 0x9765, 0x002e, 0x080c, 0x9673, 0x0036, 0x901e, + 0x080c, 0x96e9, 0x003e, 0x60e3, 0x0000, 0x080c, 0xd8ee, 0x080c, + 0xd909, 0x9085, 0x0001, 0x080c, 0x6ff1, 0x9006, 0x080c, 0x2b21, + 0x2001, 0x1800, 0x2003, 0x0004, 0x6027, 0x0008, 0x00ce, 0x0804, + 0x3344, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x3376, 0x080c, + 0x53ae, 0x0120, 0x2009, 0x0007, 0x0804, 0x3376, 0x7984, 0x7ea8, + 0x96b4, 0x00ff, 0x080c, 0x6256, 0x1904, 0x3379, 0x9186, 0x007f, + 0x0138, 0x080c, 0x657a, 0x0120, 0x2009, 0x0009, 0x0804, 0x3376, + 0x080c, 0x4894, 0x1120, 0x2009, 0x0002, 0x0804, 0x3376, 0xa867, + 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbd21, 0x1120, 0x2009, + 0x0003, 0x0804, 0x3376, 0x7007, 0x0003, 0x701f, 0x52e0, 0x0005, + 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x3376, + 0xa8e0, 0xa866, 0xa834, 0x8007, 0x800c, 0xa85c, 0x9080, 0x000c, + 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xaf60, 0x0804, 0x48e0, 0xa898, + 0x9086, 0x000d, 0x1904, 0x3376, 0x2021, 0x4005, 0x0126, 0x2091, + 0x8000, 0x0e04, 0x5304, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, + 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7883, + 0x4005, 0xa998, 0x7986, 0xa9a4, 0x799a, 0xa9a8, 0x799e, 0x080c, + 0x48d0, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x1187, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x00c6, 0x2061, 0x19d2, 0x7984, + 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, 0x7898, 0x606a, + 0x789c, 0x6066, 0x7888, 0x6062, 0x788c, 0x605e, 0x2001, 0x19e0, + 0x2044, 0x2001, 0x19e7, 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, + 0xa07f, 0x0002, 0xa06b, 0x0000, 0xa09f, 0x0000, 0x00ce, 0x012e, + 0x0804, 0x3344, 0x0126, 0x2091, 0x8000, 0x00b6, 0x00c6, 0x90e4, + 0xc000, 0x0128, 0x0006, 0x080c, 0xbb88, 0x000e, 0x1198, 0xd0e4, + 0x0160, 0x9180, 0x1000, 0x2004, 0x905d, 0x0160, 0x080c, 0x5cff, + 0x080c, 0x9dae, 0x0110, 0xb817, 0x0000, 0x9006, 0x00ce, 0x00be, + 0x012e, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x0126, 0x2091, 0x8000, + 0x0156, 0x2010, 0x900e, 0x20a9, 0x0800, 0x0016, 0x9180, 0x1000, + 0x2004, 0x9005, 0x0180, 0x9186, 0x007e, 0x0168, 0x9186, 0x007f, + 0x0150, 0x9186, 0x0080, 0x0138, 0x9186, 0x00ff, 0x0120, 0x0026, + 0x2200, 0x0801, 0x002e, 0x001e, 0x8108, 0x1f04, 0x537d, 0x015e, + 0x012e, 0x0005, 0x2001, 0x185c, 0x2004, 0x0005, 0x2001, 0x187b, + 0x2004, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0d4, 0x000e, + 0x0005, 0x2001, 0x180e, 0x2004, 0xd0b4, 0x0005, 0x2001, 0x1800, + 0x2004, 0x9086, 0x0003, 0x0005, 0x0016, 0x00e6, 0x2071, 0x189c, + 0x7108, 0x910d, 0x710a, 0x00ee, 0x001e, 0x0005, 0x79a4, 0x9182, + 0x0081, 0x1a04, 0x3379, 0x810c, 0x0016, 0x080c, 0x4894, 0x080c, + 0x0ef3, 0x2100, 0x2238, 0x7d84, 0x7c88, 0x7b8c, 0x7a90, 0x001e, + 0x080c, 0x48dd, 0x701f, 0x53d5, 0x0005, 0x2079, 0x0000, 0x7d94, + 0x7c98, 0x7ba8, 0x7aac, 0x79a4, 0x810c, 0x2061, 0x18b6, 0x2c44, + 0xa770, 0xa074, 0x2071, 0x189c, 0x080c, 0x48e0, 0x701f, 0x53e9, + 0x0005, 0x2061, 0x18b6, 0x2c44, 0x0016, 0x0026, 0xa270, 0xa174, + 0x080c, 0x0efb, 0x002e, 0x001e, 0x080c, 0x0fa8, 0x9006, 0xa802, + 0xa806, 0x0804, 0x3344, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, + 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, + 0x0200, 0x2071, 0x1800, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, + 0x080c, 0x55a4, 0x0068, 0xd08c, 0x0118, 0x080c, 0x54ad, 0x0040, + 0xd094, 0x0118, 0x080c, 0x547d, 0x0018, 0xd09c, 0x0108, 0x0099, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, + 0x015e, 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, + 0x612a, 0x001e, 0x0c68, 0x0006, 0x7094, 0x9005, 0x000e, 0x0120, + 0x7097, 0x0000, 0x708f, 0x0000, 0x624c, 0x9286, 0xf0f0, 0x1150, + 0x6048, 0x9086, 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, + 0x0010, 0x0490, 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7138, + 0xd1a4, 0x1160, 0x6240, 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, + 0x0128, 0x2009, 0x00f7, 0x080c, 0x5c61, 0x00f0, 0x6040, 0x9084, + 0x0010, 0x9085, 0x0140, 0x6042, 0x6043, 0x0000, 0x7083, 0x0000, + 0x709f, 0x0001, 0x70c3, 0x0000, 0x70db, 0x0000, 0x2009, 0x1c80, + 0x200b, 0x0000, 0x7093, 0x0000, 0x7087, 0x000f, 0x2009, 0x000f, + 0x2011, 0x5b47, 0x080c, 0x80d1, 0x0005, 0x2001, 0x187d, 0x2004, + 0xd08c, 0x0110, 0x705b, 0xffff, 0x7084, 0x9005, 0x1528, 0x2011, + 0x5b47, 0x080c, 0x803f, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, + 0x6042, 0x20a9, 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x5493, + 0x6242, 0x7097, 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, + 0x6042, 0x6242, 0x0048, 0x6242, 0x7097, 0x0000, 0x708b, 0x0000, + 0x9006, 0x080c, 0x5cea, 0x0000, 0x0005, 0x7088, 0x908a, 0x0003, + 0x1a0c, 0x0db4, 0x000b, 0x0005, 0x54b7, 0x5508, 0x55a3, 0x00f6, + 0x0016, 0x6900, 0x918c, 0x0800, 0x708b, 0x0001, 0x2001, 0x015d, + 0x2003, 0x0000, 0x6803, 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, + 0x00fc, 0x0120, 0x1f04, 0x54c6, 0x080c, 0x0db4, 0x68a0, 0x68a2, + 0x689c, 0x689e, 0x6898, 0x689a, 0xa001, 0x918d, 0x1600, 0x6902, + 0x001e, 0x6837, 0x0020, 0x080c, 0x5cc6, 0x2079, 0x1c00, 0x7833, + 0x1101, 0x7837, 0x0000, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, + 0x0001, 0x20a1, 0x1c0e, 0x20a9, 0x0004, 0x4003, 0x080c, 0x9c37, + 0x20e1, 0x0001, 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, + 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, + 0x5b78, 0x00fe, 0x9006, 0x708e, 0x6043, 0x0008, 0x6042, 0x0005, + 0x00f6, 0x708c, 0x708f, 0x0000, 0x9025, 0x0904, 0x5580, 0x6020, + 0xd0b4, 0x1904, 0x557e, 0x719c, 0x81ff, 0x0904, 0x556c, 0x9486, + 0x000c, 0x1904, 0x5579, 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, + 0x5cbf, 0x2011, 0x0260, 0x2019, 0x1c00, 0x220c, 0x2304, 0x9106, + 0x11e8, 0x8210, 0x8318, 0x1f04, 0x5525, 0x6043, 0x0004, 0x2061, + 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, + 0x0006, 0x708b, 0x0002, 0x7097, 0x0002, 0x2009, 0x07d0, 0x2011, + 0x5b4e, 0x080c, 0x80d1, 0x080c, 0x5cc6, 0x04c0, 0x080c, 0x5cbf, + 0x2079, 0x0260, 0x7930, 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, + 0x1540, 0x7900, 0x918c, 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, + 0x080c, 0x5cbf, 0x2011, 0x026e, 0x2019, 0x1805, 0x20a9, 0x0004, + 0x220c, 0x2304, 0x9102, 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, + 0x5560, 0x0078, 0x709f, 0x0000, 0x080c, 0x5cbf, 0x20e1, 0x0000, + 0x2099, 0x0260, 0x20e9, 0x0001, 0x20a1, 0x1c00, 0x20a9, 0x0014, + 0x4003, 0x6043, 0x0008, 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, + 0x6040, 0x9085, 0x0100, 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, + 0x9c37, 0x20e1, 0x0001, 0x2099, 0x1c00, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x20a9, 0x0014, 0x4003, 0x60c3, 0x000c, 0x2011, 0x19c9, + 0x2013, 0x0000, 0x708f, 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, + 0x080c, 0x93be, 0x08d8, 0x0005, 0x7094, 0x908a, 0x001d, 0x1a0c, + 0x0db4, 0x000b, 0x0005, 0x55d5, 0x55e8, 0x5611, 0x5631, 0x5657, + 0x5686, 0x56ac, 0x56e4, 0x570a, 0x5738, 0x5773, 0x57ab, 0x57c9, + 0x57f4, 0x5816, 0x5831, 0x583b, 0x586f, 0x5895, 0x58c4, 0x58ea, + 0x5922, 0x5966, 0x59a3, 0x59c4, 0x5a1d, 0x5a3f, 0x5a6d, 0x5a6d, + 0x00c6, 0x2061, 0x1800, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, + 0x9084, 0xfff9, 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, + 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0002, 0x7097, + 0x0001, 0x2009, 0x07d0, 0x2011, 0x5b4e, 0x080c, 0x80d1, 0x0005, + 0x00f6, 0x708c, 0x9086, 0x0014, 0x1510, 0x6042, 0x6020, 0xd0b4, + 0x11f0, 0x080c, 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, + 0x11a0, 0x7834, 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70c0, + 0x9005, 0x1110, 0x70c3, 0x0001, 0x2011, 0x5b4e, 0x080c, 0x803f, + 0x7097, 0x0010, 0x080c, 0x583b, 0x0010, 0x708f, 0x0000, 0x00fe, + 0x0005, 0x00f6, 0x7097, 0x0003, 0x6043, 0x0004, 0x2011, 0x5b4e, + 0x080c, 0x803f, 0x080c, 0x5c43, 0x2079, 0x0240, 0x7833, 0x1102, + 0x7837, 0x0000, 0x20a9, 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, + 0x8108, 0x1f04, 0x5626, 0x60c3, 0x0014, 0x080c, 0x5b78, 0x00fe, + 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b4e, 0x080c, + 0x803f, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cbf, 0x2079, 0x0260, + 0x7a30, 0x9296, 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, - 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, 0x0128, - 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7093, 0x0000, 0x7097, - 0x000e, 0x080c, 0x580b, 0x0010, 0x080c, 0x5c90, 0x00fe, 0x0005, - 0x00f6, 0x7097, 0x000b, 0x2011, 0x1c0e, 0x20e9, 0x0001, 0x22a0, - 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, 0x080c, 0x5c38, 0x2079, - 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5c97, 0x0118, - 0x2013, 0x0000, 0x0020, 0x705c, 0x9085, 0x0100, 0x2012, 0x20a9, - 0x0040, 0x2009, 0x024e, 0x2011, 0x1c0e, 0x220e, 0x8210, 0x8108, - 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, - 0x1f04, 0x578d, 0x60c3, 0x0084, 0x080c, 0x5b6d, 0x00fe, 0x0005, - 0x00f6, 0x708c, 0x9005, 0x01c0, 0x2011, 0x5b43, 0x080c, 0x8021, - 0x9086, 0x0084, 0x1178, 0x080c, 0x5cb4, 0x2079, 0x0260, 0x7a30, - 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x7097, 0x000c, - 0x0029, 0x0010, 0x080c, 0x5c90, 0x00fe, 0x0005, 0x00f6, 0x7097, - 0x000d, 0x080c, 0x5c38, 0x2079, 0x0240, 0x7833, 0x1107, 0x7837, - 0x0000, 0x080c, 0x5cb4, 0x20a9, 0x0040, 0x2011, 0x026e, 0x2009, - 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, - 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, - 0x0260, 0x1f04, 0x57d1, 0x60c3, 0x0084, 0x080c, 0x5b6d, 0x00fe, - 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, 0x2011, 0x5b43, 0x080c, - 0x8021, 0x9086, 0x0084, 0x1198, 0x080c, 0x5cb4, 0x2079, 0x0260, - 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, 0x7093, - 0x0001, 0x080c, 0x5c0a, 0x7097, 0x000e, 0x0029, 0x0010, 0x080c, - 0x5c90, 0x00fe, 0x0005, 0x918d, 0x0001, 0x080c, 0x5cdf, 0x7097, - 0x000f, 0x708f, 0x0000, 0x2061, 0x0140, 0x605b, 0xbc85, 0x605f, - 0xb5b5, 0x2061, 0x0100, 0x6043, 0x0005, 0x6043, 0x0004, 0x2009, - 0x07d0, 0x2011, 0x5b43, 0x080c, 0x8015, 0x0005, 0x708c, 0x9005, - 0x0130, 0x2011, 0x5b43, 0x080c, 0x8021, 0x7097, 0x0000, 0x0005, - 0x7097, 0x0011, 0x080c, 0x9c4a, 0x080c, 0x5cb4, 0x20e1, 0x0000, - 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x748c, 0x9480, - 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x4003, - 0x080c, 0x5c97, 0x11a0, 0x7178, 0x81ff, 0x0188, 0x900e, 0x707c, - 0x9084, 0x00ff, 0x0160, 0x080c, 0x2665, 0x9186, 0x007e, 0x0138, - 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, 0x080c, 0x5af0, 0x60c3, - 0x0014, 0x080c, 0x5b6d, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, - 0x2011, 0x5b43, 0x080c, 0x8021, 0x9086, 0x0014, 0x11b8, 0x080c, - 0x5cb4, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, + 0x0004, 0x0029, 0x0010, 0x080c, 0x5c9b, 0x00fe, 0x0005, 0x00f6, + 0x7097, 0x0005, 0x080c, 0x5c43, 0x2079, 0x0240, 0x7833, 0x1103, + 0x7837, 0x0000, 0x080c, 0x5cbf, 0x080c, 0x5ca2, 0x1170, 0x7080, + 0x9005, 0x1158, 0x7158, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, + 0x080c, 0x5afb, 0x0168, 0x080c, 0x5c78, 0x20a9, 0x0008, 0x20e1, + 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, + 0x60c3, 0x0014, 0x080c, 0x5b78, 0x00fe, 0x0005, 0x00f6, 0x708c, + 0x9005, 0x0500, 0x2011, 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0014, + 0x11b8, 0x080c, 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, + 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, + 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x0006, 0x0029, 0x0010, + 0x080c, 0x5c9b, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0007, 0x080c, + 0x5c43, 0x2079, 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, + 0x5cbf, 0x080c, 0x5ca2, 0x11b8, 0x7080, 0x9005, 0x11a0, 0x7160, + 0x9186, 0xffff, 0x0180, 0x9180, 0x3145, 0x200d, 0x918c, 0xff00, + 0x810f, 0x2011, 0x0008, 0x080c, 0x5afb, 0x0180, 0x080c, 0x4cac, + 0x0110, 0x080c, 0x26d9, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, + 0x080c, 0x5b78, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, + 0x2011, 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, - 0x70c3, 0x0001, 0x7097, 0x0012, 0x0029, 0x0010, 0x708f, 0x0000, - 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0013, 0x080c, 0x5c46, 0x2079, - 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, 0x5cb4, 0x080c, - 0x5c97, 0x1170, 0x7080, 0x9005, 0x1158, 0x7158, 0x9186, 0xffff, - 0x0138, 0x2011, 0x0008, 0x080c, 0x5af0, 0x0168, 0x080c, 0x5c6d, - 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, - 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b6d, 0x00fe, - 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b43, 0x080c, - 0x8021, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cb4, 0x2079, 0x0260, - 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, - 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, - 0x0014, 0x0029, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x00f6, - 0x7097, 0x0015, 0x080c, 0x5c46, 0x2079, 0x0240, 0x7833, 0x1104, - 0x7837, 0x0000, 0x080c, 0x5cb4, 0x080c, 0x5c97, 0x11b8, 0x7080, - 0x9005, 0x11a0, 0x7160, 0x9186, 0xffff, 0x0180, 0x9180, 0x313a, - 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, 0x5af0, - 0x0180, 0x080c, 0x4ca1, 0x0110, 0x080c, 0x26ce, 0x20a9, 0x0008, - 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, - 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b6d, 0x00fe, 0x0005, 0x00f6, - 0x708c, 0x9005, 0x05f0, 0x2011, 0x5b43, 0x080c, 0x8021, 0x9086, - 0x0014, 0x15a8, 0x080c, 0x5cb4, 0x2079, 0x0260, 0x7a30, 0x9296, - 0x1105, 0x1568, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, 0x921e, - 0x1168, 0x9085, 0x0001, 0x080c, 0x5cdf, 0x7a38, 0xd2fc, 0x0128, - 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x0080, 0x9005, 0x11b8, + 0x70c3, 0x0001, 0x7097, 0x0008, 0x0029, 0x0010, 0x080c, 0x5c9b, + 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0009, 0x080c, 0x5c43, 0x2079, + 0x0240, 0x7833, 0x1105, 0x7837, 0x0100, 0x080c, 0x5ca2, 0x1150, + 0x7080, 0x9005, 0x1138, 0x080c, 0x5a6e, 0x1188, 0x9085, 0x0001, + 0x080c, 0x26d9, 0x20a9, 0x0008, 0x080c, 0x5cbf, 0x20e1, 0x0000, + 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, + 0x0014, 0x080c, 0x5b78, 0x0010, 0x080c, 0x55c8, 0x00fe, 0x0005, + 0x00f6, 0x708c, 0x9005, 0x05a8, 0x2011, 0x5b4e, 0x080c, 0x803f, + 0x9086, 0x0014, 0x1560, 0x080c, 0x5cbf, 0x2079, 0x0260, 0x7a30, + 0x9296, 0x1105, 0x1520, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, + 0x921e, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, + 0x70c3, 0x0001, 0x7097, 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, - 0x9085, 0x0001, 0x080c, 0x5cdf, 0x7093, 0x0000, 0x7a38, 0xd2f4, - 0x0110, 0x70db, 0x0008, 0x7097, 0x0016, 0x0029, 0x0010, 0x708f, - 0x0000, 0x00fe, 0x0005, 0x080c, 0x9c4a, 0x080c, 0x5cb4, 0x20e1, - 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, - 0x000e, 0x4003, 0x2011, 0x026d, 0x2204, 0x9084, 0x0100, 0x2011, - 0x024d, 0x2012, 0x2011, 0x026e, 0x7097, 0x0017, 0x080c, 0x5c97, - 0x1150, 0x7080, 0x9005, 0x1138, 0x080c, 0x5a63, 0x1188, 0x9085, - 0x0001, 0x080c, 0x26ce, 0x20a9, 0x0008, 0x080c, 0x5cb4, 0x20e1, - 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, - 0x60c3, 0x0014, 0x080c, 0x5b6d, 0x0010, 0x080c, 0x55bd, 0x0005, - 0x00f6, 0x708c, 0x9005, 0x01d8, 0x2011, 0x5b43, 0x080c, 0x8021, - 0x9086, 0x0084, 0x1190, 0x080c, 0x5cb4, 0x2079, 0x0260, 0x7a30, - 0x9296, 0x1106, 0x1150, 0x7834, 0x9005, 0x1138, 0x9006, 0x080c, - 0x5cdf, 0x7097, 0x0018, 0x0029, 0x0010, 0x708f, 0x0000, 0x00fe, - 0x0005, 0x00f6, 0x7097, 0x0019, 0x080c, 0x5c46, 0x2079, 0x0240, - 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5cb4, 0x2009, 0x026e, - 0x2039, 0x1c0e, 0x20a9, 0x0040, 0x213e, 0x8738, 0x8108, 0x9186, - 0x0280, 0x1128, 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, 0x1f04, - 0x59cc, 0x2039, 0x1c0e, 0x080c, 0x5c97, 0x11e8, 0x2728, 0x2514, - 0x8207, 0x9084, 0x00ff, 0x8000, 0x2018, 0x9294, 0x00ff, 0x8007, - 0x9205, 0x202a, 0x705c, 0x2310, 0x8214, 0x92a0, 0x1c0e, 0x2414, - 0x938c, 0x0001, 0x0118, 0x9294, 0xff00, 0x0018, 0x9294, 0x00ff, - 0x8007, 0x9215, 0x2222, 0x20a9, 0x0040, 0x2009, 0x024e, 0x270e, - 0x8738, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, - 0x2009, 0x0240, 0x1f04, 0x59ff, 0x60c3, 0x0084, 0x080c, 0x5b6d, - 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, 0x2011, 0x5b43, - 0x080c, 0x8021, 0x9086, 0x0084, 0x1198, 0x080c, 0x5cb4, 0x2079, - 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, - 0x7093, 0x0001, 0x080c, 0x5c0a, 0x7097, 0x001a, 0x0029, 0x0010, - 0x708f, 0x0000, 0x00fe, 0x0005, 0x9085, 0x0001, 0x080c, 0x5cdf, - 0x7097, 0x001b, 0x080c, 0x9c4a, 0x080c, 0x5cb4, 0x2011, 0x0260, - 0x2009, 0x0240, 0x748c, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, - 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, - 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, - 0x6816, 0x2011, 0x0260, 0x1f04, 0x5a4b, 0x60c3, 0x0084, 0x080c, - 0x5b6d, 0x0005, 0x0005, 0x0086, 0x0096, 0x2029, 0x1854, 0x252c, - 0x20a9, 0x0008, 0x2041, 0x1c0e, 0x20e9, 0x0001, 0x28a0, 0x080c, - 0x5cb4, 0x20e1, 0x0000, 0x2099, 0x026e, 0x4003, 0x20a9, 0x0008, - 0x2011, 0x0007, 0xd5d4, 0x0108, 0x9016, 0x2800, 0x9200, 0x200c, - 0x91a6, 0xffff, 0x1148, 0xd5d4, 0x0110, 0x8210, 0x0008, 0x8211, - 0x1f04, 0x5a7d, 0x0804, 0x5aec, 0x82ff, 0x1160, 0xd5d4, 0x0120, - 0x91a6, 0x3fff, 0x0d90, 0x0020, 0x91a6, 0x3fff, 0x0904, 0x5aec, - 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, 0xd5d4, 0x0110, - 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, 0x8423, 0x0008, 0x8424, - 0x1240, 0xd5d4, 0x0110, 0x8319, 0x0008, 0x8318, 0x1f04, 0x5aa3, - 0x04d8, 0x23a8, 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, 0x5ab5, - 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, 0x0006, 0x2039, 0x0007, - 0x2200, 0x973a, 0x000e, 0x27a8, 0x95a8, 0x0010, 0x1f04, 0x5ac4, - 0x755a, 0x95c8, 0x313a, 0x292d, 0x95ac, 0x00ff, 0x757e, 0x6532, - 0x6536, 0x0016, 0x2508, 0x080c, 0x26ae, 0x001e, 0x60e7, 0x0000, - 0x65ea, 0x2018, 0x2304, 0x9405, 0x201a, 0x7083, 0x0001, 0x20e9, - 0x0000, 0x20a1, 0x024e, 0x20e1, 0x0001, 0x2898, 0x20a9, 0x0008, - 0x4003, 0x9085, 0x0001, 0x0008, 0x9006, 0x009e, 0x008e, 0x0005, - 0x0156, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x22a8, 0x20e1, 0x0000, - 0x2099, 0x026e, 0x20e9, 0x0000, 0x2011, 0x024e, 0x22a0, 0x4003, - 0x014e, 0x013e, 0x01de, 0x01ce, 0x015e, 0x2118, 0x9026, 0x2001, - 0x0007, 0x939a, 0x0010, 0x0218, 0x8420, 0x8001, 0x0cd0, 0x2118, - 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, 0x1de0, 0x2021, 0x0001, - 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0x9238, 0x2029, 0x026e, - 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, 0x203a, 0x715a, 0x91a0, - 0x313a, 0x242d, 0x95ac, 0x00ff, 0x757e, 0x6532, 0x6536, 0x0016, - 0x2508, 0x080c, 0x26ae, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x7083, - 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7087, - 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, 0x2079, 0x0100, 0x2071, - 0x0140, 0x080c, 0x5bf9, 0x080c, 0x93ad, 0x7004, 0x9084, 0x4000, - 0x0110, 0x080c, 0x2b26, 0x0126, 0x2091, 0x8000, 0x2071, 0x1825, - 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, 0x2009, 0x00f7, 0x080c, - 0x5c56, 0x001e, 0x9094, 0x0010, 0x9285, 0x0080, 0x7842, 0x7a42, - 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, - 0x080c, 0x29cc, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, - 0x2011, 0x19c1, 0x2013, 0x0000, 0x708f, 0x0000, 0x012e, 0x60a3, - 0x0056, 0x60a7, 0x9575, 0x080c, 0x93a4, 0x6144, 0xd184, 0x0120, - 0x7194, 0x918d, 0x2000, 0x0018, 0x7188, 0x918d, 0x1000, 0x2011, - 0x1969, 0x2112, 0x2009, 0x07d0, 0x2011, 0x5b43, 0x080c, 0x80b3, - 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, - 0x9dc8, 0x2009, 0x00f7, 0x080c, 0x5c56, 0x2061, 0x19ca, 0x900e, - 0x611a, 0x611e, 0x6172, 0x6176, 0x2061, 0x1800, 0x6003, 0x0001, - 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1969, - 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, 0x5bc5, 0x080c, 0x8015, - 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, 0x0126, - 0x2091, 0x8000, 0x0471, 0x2071, 0x0100, 0x080c, 0x93ad, 0x2071, - 0x0140, 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, 0x2b26, 0x080c, - 0x6fa3, 0x0188, 0x080c, 0x6fbe, 0x1170, 0x080c, 0x7289, 0x0016, - 0x080c, 0x277d, 0x2001, 0x193d, 0x2102, 0x001e, 0x080c, 0x7284, - 0x080c, 0x6ecd, 0x0050, 0x2009, 0x0001, 0x080c, 0x2a65, 0x2001, - 0x0001, 0x080c, 0x260e, 0x080c, 0x5b99, 0x012e, 0x000e, 0x00ee, - 0x0005, 0x2001, 0x180e, 0x2004, 0xd0bc, 0x0158, 0x0026, 0x0036, - 0x2011, 0x8017, 0x2001, 0x1969, 0x201c, 0x080c, 0x48e9, 0x003e, - 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, 0x0001, 0x20a1, 0x1c80, - 0x080c, 0x5cb4, 0x20e9, 0x0000, 0x2099, 0x026e, 0x0099, 0x20a9, - 0x0020, 0x080c, 0x5cae, 0x2099, 0x0260, 0x20a1, 0x1c92, 0x0051, - 0x20a9, 0x000e, 0x080c, 0x5cb1, 0x2099, 0x0260, 0x20a1, 0x1cb2, - 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, 0x3308, 0x2104, 0x8007, - 0x2012, 0x8108, 0x8210, 0x1f04, 0x5c2e, 0x002e, 0x001e, 0x0005, - 0x080c, 0x9c4a, 0x20e1, 0x0001, 0x2099, 0x1c00, 0x20e9, 0x0000, - 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, 0x080c, 0x9c4a, - 0x080c, 0x5cb4, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, - 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, 0x00c6, 0x0006, - 0x2061, 0x0100, 0x810f, 0x2001, 0x1833, 0x2004, 0x9005, 0x1138, - 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x9105, 0x0010, 0x9185, - 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, 0x0016, 0x0046, 0x080c, - 0x6567, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, 0xd54b, - 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, 0x900e, - 0x080c, 0x2fa7, 0x080c, 0xc22c, 0x0140, 0x0036, 0x2019, 0xffff, - 0x2021, 0x0007, 0x080c, 0x4a86, 0x003e, 0x004e, 0x001e, 0x0005, - 0x080c, 0x5b99, 0x7097, 0x0000, 0x708f, 0x0000, 0x0005, 0x0006, - 0x2001, 0x180c, 0x2004, 0xd09c, 0x0100, 0x000e, 0x0005, 0x0006, - 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, 0x0101, 0x200c, 0x918d, - 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, 0x0005, 0x2009, 0x0001, - 0x0020, 0x2009, 0x0002, 0x0008, 0x900e, 0x6814, 0x9084, 0xffc0, - 0x910d, 0x6916, 0x0005, 0x00f6, 0x0156, 0x0146, 0x01d6, 0x9006, - 0x20a9, 0x0080, 0x20e9, 0x0001, 0x20a1, 0x1c00, 0x4004, 0x2079, - 0x1c00, 0x7803, 0x2200, 0x7807, 0x00ef, 0x780f, 0x00ef, 0x7813, - 0x0138, 0x7823, 0xffff, 0x7827, 0xffff, 0x01de, 0x014e, 0x015e, - 0x00fe, 0x0005, 0x2001, 0x1800, 0x2003, 0x0001, 0x0005, 0x2001, - 0x1976, 0x0118, 0x2003, 0x0001, 0x0010, 0x2003, 0x0000, 0x0005, - 0x0156, 0x20a9, 0x0800, 0x2009, 0x1000, 0x9006, 0x200a, 0x8108, - 0x1f04, 0x5cee, 0x015e, 0x0005, 0x00d6, 0x0036, 0x0156, 0x0136, - 0x0146, 0x2069, 0x1853, 0x9006, 0xb802, 0xb8be, 0xb807, 0x0707, - 0xb80a, 0xb80e, 0xb812, 0x9198, 0x313a, 0x231d, 0x939c, 0x00ff, - 0xbb16, 0x0016, 0x0026, 0xb8b2, 0x080c, 0x9dc1, 0x1120, 0x9192, - 0x007e, 0x1208, 0xbbb2, 0x20a9, 0x0004, 0xb8b4, 0x20e8, 0xb9b8, - 0x9198, 0x0006, 0x9006, 0x23a0, 0x4004, 0x20a9, 0x0004, 0x9198, - 0x000a, 0x23a0, 0x4004, 0x002e, 0x001e, 0xb83e, 0xb842, 0xb84e, - 0xb852, 0xb856, 0xb85a, 0xb85e, 0xb862, 0xb866, 0xb86a, 0xb86f, - 0x0100, 0xb872, 0xb876, 0xb87a, 0xb88a, 0xb88e, 0xb893, 0x0008, - 0xb896, 0xb89a, 0xb89e, 0xb8ae, 0xb9a2, 0x0096, 0xb8a4, 0x904d, - 0x0110, 0x080c, 0x101d, 0xb8a7, 0x0000, 0x009e, 0x9006, 0xb84a, - 0x6810, 0xb83a, 0x680c, 0xb846, 0x6814, 0x9084, 0x00ff, 0xb842, - 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, 0x2091, - 0x8000, 0xa974, 0xae78, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1a04, - 0x5dc4, 0x9182, 0x0800, 0x1a04, 0x5dc8, 0x2001, 0x180c, 0x2004, - 0x9084, 0x0003, 0x1904, 0x5dce, 0x9188, 0x1000, 0x2104, 0x905d, - 0x0518, 0xb804, 0x9084, 0x00ff, 0x908e, 0x0006, 0x1508, 0xb8a4, - 0x900d, 0x1904, 0x5de0, 0xb850, 0x900d, 0x1148, 0xa802, 0x2900, - 0xb852, 0xb84e, 0x080c, 0x83f7, 0x9006, 0x012e, 0x0005, 0x00a6, - 0x2150, 0x2900, 0xb002, 0xa803, 0x0000, 0x00ae, 0xb852, 0x0c90, - 0x2001, 0x0005, 0x900e, 0x04b8, 0x2001, 0x0028, 0x900e, 0x0498, - 0x9082, 0x0006, 0x1290, 0x080c, 0x9dc1, 0x1160, 0xb8a0, 0x9084, - 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0990, 0x2001, 0x0029, 0x2009, - 0x1000, 0x0408, 0x2001, 0x0028, 0x00a8, 0x2009, 0x180c, 0x210c, - 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, 0xd184, 0x0118, 0x2001, - 0x0004, 0x0040, 0x2001, 0x0029, 0xb900, 0xd1fc, 0x0118, 0x2009, - 0x1000, 0x0048, 0x900e, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, - 0x2001, 0x0029, 0x900e, 0x9005, 0x012e, 0x0005, 0x2001, 0x180c, - 0x2004, 0xd084, 0x19d0, 0x9188, 0x1000, 0x2104, 0x905d, 0x09a8, - 0x080c, 0x656b, 0x1990, 0xb800, 0xd0bc, 0x0978, 0x0804, 0x5d77, - 0x080c, 0x63e3, 0x0904, 0x5d90, 0x0804, 0x5d7b, 0x00b6, 0x00e6, - 0x0126, 0x2091, 0x8000, 0xa974, 0x9182, 0x0800, 0x1a04, 0x5e61, - 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, 0x5e39, 0xb8a0, 0x9086, - 0x007f, 0x0178, 0x080c, 0x6573, 0x0160, 0xa994, 0x81ff, 0x0130, - 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x080c, 0x656b, - 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, 0x9005, 0x01c8, 0x2060, - 0x0026, 0x2010, 0x080c, 0xbb1a, 0x002e, 0x1120, 0x2001, 0x0008, - 0x0804, 0x5e63, 0x6020, 0x9086, 0x000a, 0x0120, 0x2001, 0x0008, - 0x0804, 0x5e63, 0x601a, 0x6003, 0x0008, 0x2900, 0x6016, 0x0058, - 0x080c, 0x9dec, 0x05e8, 0x2b00, 0x6012, 0x2900, 0x6016, 0x600b, - 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, 0x080c, 0x9ebc, 0x9006, - 0x0458, 0x2001, 0x0028, 0x0438, 0x9082, 0x0006, 0x1290, 0x080c, - 0x9dc1, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, - 0x0900, 0x2001, 0x0029, 0x2009, 0x1000, 0x00a8, 0x2001, 0x0028, - 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, - 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, 0x0028, 0x2001, 0x0029, - 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, 0x00ee, 0x00be, 0x0005, - 0x2001, 0x002c, 0x0cc0, 0x00f6, 0x00b6, 0x0126, 0x2091, 0x8000, - 0xa8e0, 0x9005, 0x1550, 0xa8dc, 0x9082, 0x0101, 0x1630, 0xa8c8, - 0x9005, 0x1518, 0xa8c4, 0x9082, 0x0101, 0x12f8, 0xa974, 0x2079, - 0x1800, 0x9182, 0x0800, 0x12e8, 0x7830, 0x9084, 0x0003, 0x1130, - 0xaa98, 0xab94, 0xa878, 0x9084, 0x0007, 0x00ea, 0x7930, 0xd18c, - 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, - 0x0010, 0x2001, 0x0029, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, - 0x0018, 0x2001, 0x0029, 0x900e, 0x9006, 0x0008, 0x9005, 0x012e, - 0x00be, 0x00fe, 0x0005, 0x5ef8, 0x5eb3, 0x5eca, 0x5ef8, 0x5ef8, - 0x5ef8, 0x5ef8, 0x5ef8, 0x2100, 0x9082, 0x007e, 0x1278, 0x080c, - 0x61e7, 0x0148, 0x9046, 0xb810, 0x9306, 0x1904, 0x5f00, 0xb814, - 0x9206, 0x15f0, 0x0028, 0xbb12, 0xba16, 0x0010, 0x080c, 0x47a3, - 0x0150, 0x04b0, 0x080c, 0x6247, 0x1598, 0xb810, 0x9306, 0x1580, - 0xb814, 0x9206, 0x1568, 0x080c, 0x9dec, 0x0530, 0x2b00, 0x6012, - 0x080c, 0xbfa6, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, - 0xa878, 0x9086, 0x0001, 0x1170, 0x080c, 0x2fdc, 0x9006, 0x080c, - 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, 0x2001, 0x0200, 0xb86e, - 0xb893, 0x0002, 0x2009, 0x0003, 0x080c, 0x9ebc, 0x9006, 0x0068, - 0x2001, 0x0001, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, - 0x2001, 0x0028, 0x900e, 0x9005, 0x0000, 0x012e, 0x00be, 0x00fe, - 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa894, - 0x90c6, 0x0015, 0x0904, 0x60d5, 0x90c6, 0x0056, 0x0904, 0x60d9, - 0x90c6, 0x0066, 0x0904, 0x60dd, 0x90c6, 0x0067, 0x0904, 0x60e1, - 0x90c6, 0x0068, 0x0904, 0x60e5, 0x90c6, 0x0071, 0x0904, 0x60e9, - 0x90c6, 0x0074, 0x0904, 0x60ed, 0x90c6, 0x007c, 0x0904, 0x60f1, - 0x90c6, 0x007e, 0x0904, 0x60f5, 0x90c6, 0x0037, 0x0904, 0x60f9, - 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, 0x00ff, 0x0904, 0x60d0, - 0x9182, 0x0800, 0x1a04, 0x60d0, 0x080c, 0x6247, 0x1198, 0xb804, - 0x9084, 0x00ff, 0x9082, 0x0006, 0x1268, 0xa894, 0x90c6, 0x006f, - 0x0148, 0x080c, 0x9dc1, 0x1904, 0x60b9, 0xb8a0, 0x9084, 0xff80, - 0x1904, 0x60b9, 0xa894, 0x90c6, 0x006f, 0x0158, 0x90c6, 0x005e, - 0x0904, 0x6019, 0x90c6, 0x0064, 0x0904, 0x6042, 0x2008, 0x0804, - 0x5fdc, 0xa998, 0xa8b0, 0x2040, 0x080c, 0x9dc1, 0x1120, 0x9182, - 0x007f, 0x0a04, 0x5fdc, 0x9186, 0x00ff, 0x0904, 0x5fdc, 0x9182, - 0x0800, 0x1a04, 0x5fdc, 0xaaa0, 0xab9c, 0x7878, 0x9306, 0x1188, - 0x787c, 0x0096, 0x924e, 0x1128, 0x2208, 0x2310, 0x009e, 0x0804, - 0x5fdc, 0x99cc, 0xff00, 0x009e, 0x1120, 0x2208, 0x2310, 0x0804, - 0x5fdc, 0x080c, 0x47a3, 0x0904, 0x5fe5, 0x900e, 0x9016, 0x90c6, - 0x4000, 0x1558, 0x0006, 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, - 0xd0bc, 0x0108, 0xc18d, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0031, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, - 0x2098, 0x080c, 0x0f68, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0035, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x000a, - 0x2098, 0x080c, 0x0f68, 0x000e, 0x00c8, 0x90c6, 0x4007, 0x1110, - 0x2408, 0x00a0, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0070, - 0x90c6, 0x4009, 0x1108, 0x0050, 0x90c6, 0x4006, 0x0138, 0x2001, - 0x4005, 0x2009, 0x000a, 0x0010, 0x2001, 0x4006, 0xa896, 0xa99a, - 0xaa9e, 0x2001, 0x0030, 0x900e, 0x0470, 0x080c, 0x9dec, 0x1130, - 0x2001, 0x4005, 0x2009, 0x0003, 0x9016, 0x0c80, 0x2b00, 0x6012, - 0x080c, 0xbfa6, 0x2900, 0x6016, 0x6023, 0x0001, 0xa868, 0xd88c, - 0x0108, 0xc0f5, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, 0x2fdc, - 0x012e, 0x9006, 0x080c, 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, - 0x2009, 0x0002, 0x080c, 0x9ebc, 0xa8b0, 0xd094, 0x0118, 0xb8bc, - 0xc08d, 0xb8be, 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, 0x00be, - 0x0005, 0x080c, 0x53a3, 0x0118, 0x2009, 0x0007, 0x00f8, 0xa998, - 0xaeb0, 0x080c, 0x6247, 0x1904, 0x5fd7, 0x9186, 0x007f, 0x0130, - 0x080c, 0x656b, 0x0118, 0x2009, 0x0009, 0x0080, 0x0096, 0x080c, - 0x0feb, 0x1120, 0x009e, 0x2009, 0x0002, 0x0040, 0x2900, 0x009e, - 0xa806, 0x080c, 0xbd12, 0x19b0, 0x2009, 0x0003, 0x2001, 0x4005, - 0x0804, 0x5fde, 0xa998, 0xaeb0, 0x080c, 0x6247, 0x1904, 0x5fd7, - 0x0096, 0x080c, 0x0feb, 0x1128, 0x009e, 0x2009, 0x0002, 0x0804, - 0x6096, 0x2900, 0x009e, 0xa806, 0x0096, 0x2048, 0x20a9, 0x002b, - 0xb8b4, 0x20e0, 0xb8b8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, - 0xbbb8, 0x9398, 0x0006, 0x2398, 0x080c, 0x0f68, 0x009e, 0xa87b, - 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xd684, 0x1168, 0x080c, - 0x538f, 0xd0b4, 0x1118, 0xa89b, 0x000b, 0x00e0, 0xb800, 0xd08c, - 0x0118, 0xa89b, 0x000c, 0x00b0, 0x080c, 0x656b, 0x0118, 0xa89b, - 0x0009, 0x0080, 0x080c, 0x53a3, 0x0118, 0xa89b, 0x0007, 0x0050, - 0x080c, 0xbcf5, 0x1904, 0x6012, 0x2009, 0x0003, 0x2001, 0x4005, - 0x0804, 0x5fde, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa804, 0x8006, - 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, - 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, - 0x2041, 0x122f, 0x080c, 0xa345, 0x1904, 0x6012, 0x2009, 0x0002, - 0x08e8, 0x2001, 0x0028, 0x900e, 0x0804, 0x6013, 0x2009, 0x180c, - 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, - 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0804, 0x6013, - 0x2001, 0x0029, 0x900e, 0x0804, 0x6013, 0x080c, 0x3569, 0x0804, - 0x6014, 0x080c, 0x50cc, 0x0804, 0x6014, 0x080c, 0x4339, 0x0804, - 0x6014, 0x080c, 0x43b2, 0x0804, 0x6014, 0x080c, 0x440e, 0x0804, - 0x6014, 0x080c, 0x485f, 0x0804, 0x6014, 0x080c, 0x4b04, 0x0804, - 0x6014, 0x080c, 0x4d37, 0x0804, 0x6014, 0x080c, 0x4f30, 0x0804, - 0x6014, 0x080c, 0x3779, 0x0804, 0x6014, 0x00b6, 0xa974, 0xae78, - 0x9684, 0x3fff, 0x9082, 0x4000, 0x1618, 0x9182, 0x0800, 0x1268, - 0x9188, 0x1000, 0x2104, 0x905d, 0x0140, 0x080c, 0x656b, 0x1148, - 0x00e9, 0x080c, 0x6372, 0x9006, 0x00b0, 0x2001, 0x0028, 0x900e, - 0x0090, 0x9082, 0x0006, 0x1240, 0xb900, 0xd1fc, 0x0d88, 0x2001, - 0x0029, 0x2009, 0x1000, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, - 0x2001, 0x0029, 0x900e, 0x9005, 0x00be, 0x0005, 0x0126, 0x2091, - 0x8000, 0xb850, 0x900d, 0x0150, 0x2900, 0x0096, 0x2148, 0xa802, - 0x009e, 0xa803, 0x0000, 0xb852, 0x012e, 0x0005, 0x2900, 0xb852, - 0xb84e, 0xa803, 0x0000, 0x0cc0, 0x0126, 0x2091, 0x8000, 0xb84c, - 0x9005, 0x0170, 0x00e6, 0x2071, 0x19b7, 0x7004, 0x9086, 0x0002, - 0x0168, 0x00ee, 0xb84c, 0xa802, 0x2900, 0xb84e, 0x012e, 0x0005, - 0x2900, 0xb852, 0xb84e, 0xa803, 0x0000, 0x0cc0, 0x701c, 0x9b06, - 0x1d80, 0xb84c, 0x00a6, 0x2050, 0xb000, 0xa802, 0x2900, 0xb002, - 0x00ae, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0xb84c, - 0x904d, 0x0130, 0xa800, 0x9005, 0x1108, 0xb852, 0xb84e, 0x9905, - 0x012e, 0x0005, 0xb84c, 0x904d, 0x0130, 0xa800, 0x9005, 0x1108, - 0xb852, 0xb84e, 0x9905, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x0026, - 0x2091, 0x8000, 0x6210, 0x2258, 0xba00, 0x9005, 0x0110, 0xc285, - 0x0008, 0xc284, 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, - 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, - 0x0006, 0x9086, 0x0006, 0x1170, 0xb89c, 0xd0ac, 0x0158, 0x080c, - 0x6567, 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, 0x1110, - 0x2011, 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, 0xba06, 0x0006, - 0x9086, 0x0006, 0x1120, 0xba90, 0x82ff, 0x090c, 0x0db4, 0x000e, - 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, - 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1168, - 0xb89c, 0xd0a4, 0x0150, 0x080c, 0x6563, 0x1138, 0x9284, 0x00ff, - 0x9086, 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, 0x9294, 0x00ff, - 0x8007, 0x9215, 0xba06, 0x00ce, 0x012e, 0x00be, 0x0005, 0x9182, - 0x0800, 0x0218, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0026, 0x9190, - 0x1000, 0x2204, 0x905d, 0x1180, 0x0096, 0x080c, 0x0feb, 0x2958, - 0x009e, 0x0160, 0x2b00, 0x2012, 0xb85c, 0xb8ba, 0xb860, 0xb8b6, - 0x9006, 0xb8a6, 0x080c, 0x5cf4, 0x9006, 0x0010, 0x9085, 0x0001, - 0x002e, 0x00de, 0x0005, 0x00b6, 0x0096, 0x0126, 0x2091, 0x8000, - 0x0026, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0458, 0x00d6, - 0x9190, 0x1000, 0x2204, 0x905d, 0x0518, 0x2013, 0x0000, 0xb8a4, - 0x904d, 0x0110, 0x080c, 0x101d, 0x00d6, 0x00c6, 0xb8ac, 0x2060, - 0x8cff, 0x0168, 0x600c, 0x0006, 0x6014, 0x2048, 0x080c, 0xbb2c, - 0x0110, 0x080c, 0x0f9d, 0x080c, 0x9e42, 0x00ce, 0x0c88, 0x00ce, - 0x00de, 0x2b48, 0xb8b8, 0xb85e, 0xb8b4, 0xb862, 0x080c, 0x102d, - 0x00de, 0x9006, 0x002e, 0x012e, 0x009e, 0x00be, 0x0005, 0x0016, - 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, - 0x2104, 0x905d, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, - 0x0136, 0x0146, 0x9006, 0xb80a, 0xb80e, 0xb800, 0xc08c, 0xb802, - 0x080c, 0x6f9b, 0x1510, 0xb8a0, 0x9086, 0x007e, 0x0120, 0x080c, - 0x9dc1, 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, 0x00c6, 0x2061, - 0x1952, 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, 0x600a, 0x7054, - 0x600e, 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, 0x1110, 0x2001, - 0x0001, 0x6886, 0x2069, 0x1800, 0x68b2, 0x7040, 0xb85e, 0x7048, - 0xb862, 0x704c, 0xb866, 0x20e1, 0x0000, 0x2099, 0x0276, 0xb8b4, - 0x20e8, 0xb8b8, 0x9088, 0x000a, 0x21a0, 0x20a9, 0x0004, 0x4003, - 0x2099, 0x027a, 0x9088, 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, - 0x2069, 0x0200, 0x6817, 0x0001, 0x7040, 0xb86a, 0x7144, 0xb96e, - 0x7048, 0xb872, 0x7050, 0xb876, 0x2069, 0x0200, 0x6817, 0x0000, - 0xb8a0, 0x9086, 0x007e, 0x1110, 0x7144, 0xb96e, 0x9182, 0x0211, - 0x1218, 0x2009, 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, - 0x0007, 0x00d0, 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, - 0x9182, 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, - 0x1218, 0x2009, 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, - 0x0003, 0x0010, 0x2009, 0x0002, 0xb992, 0x014e, 0x013e, 0x015e, - 0x00de, 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, - 0xb896, 0x703c, 0xb89a, 0x7054, 0xb89e, 0x0036, 0xbbbc, 0xc384, - 0xba00, 0x2009, 0x1873, 0x210c, 0xd0bc, 0x0120, 0xd1ec, 0x0110, - 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0148, 0xd1e4, 0x0138, 0xc2bd, - 0xd0cc, 0x0128, 0xd38c, 0x1108, 0xc385, 0x0008, 0xc2bc, 0xba02, - 0xbbbe, 0x003e, 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, 0x0126, - 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0578, 0xa900, 0x81ff, 0x15c0, - 0xaa04, 0x9282, 0x0010, 0x16c8, 0x0136, 0x0146, 0x01c6, 0x01d6, - 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, - 0x9080, 0x0004, 0x2098, 0x2009, 0x0010, 0x20a9, 0x0001, 0x4002, - 0x9086, 0xffff, 0x0120, 0x8109, 0x1dd0, 0x080c, 0x0db4, 0x3c00, - 0x20e8, 0x3300, 0x8001, 0x20a0, 0x4604, 0x8210, 0xaa06, 0x01de, - 0x01ce, 0x014e, 0x013e, 0x0060, 0x080c, 0x0feb, 0x0170, 0x2900, - 0xb8a6, 0xa803, 0x0000, 0x080c, 0x6403, 0xa807, 0x0001, 0xae12, - 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0126, - 0x2091, 0x8000, 0x0096, 0xb8a4, 0x904d, 0x0188, 0xa800, 0x9005, - 0x1150, 0x080c, 0x6412, 0x1158, 0xa804, 0x908a, 0x0002, 0x0218, - 0x8001, 0xa806, 0x0020, 0x080c, 0x101d, 0xb8a7, 0x0000, 0x009e, - 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x83f7, 0x012e, - 0x0005, 0x901e, 0x0010, 0x2019, 0x0001, 0x900e, 0x0126, 0x2091, - 0x8000, 0xb84c, 0x2048, 0xb800, 0xd0dc, 0x1170, 0x89ff, 0x0500, - 0x83ff, 0x0120, 0xa878, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, - 0x1118, 0xa870, 0x9506, 0x0120, 0x2908, 0xa800, 0x2048, 0x0c70, - 0x080c, 0x97b1, 0xaa00, 0xb84c, 0x9906, 0x1110, 0xba4e, 0x0020, - 0x00a6, 0x2150, 0xb202, 0x00ae, 0x82ff, 0x1110, 0xb952, 0x89ff, - 0x012e, 0x0005, 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, - 0x080c, 0x6467, 0x0128, 0x080c, 0xbbe9, 0x0010, 0x9085, 0x0001, - 0x0005, 0x080c, 0x6467, 0x0128, 0x080c, 0xbb8e, 0x0010, 0x9085, - 0x0001, 0x0005, 0x080c, 0x6467, 0x0128, 0x080c, 0xbbe6, 0x0010, - 0x9085, 0x0001, 0x0005, 0x080c, 0x6467, 0x0128, 0x080c, 0xbbad, - 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6467, 0x0128, 0x080c, - 0xbc2a, 0x0010, 0x9085, 0x0001, 0x0005, 0xb8a4, 0x900d, 0x1118, - 0x9085, 0x0001, 0x0005, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, - 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, - 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, - 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0008, 0x9006, - 0x01ce, 0x013e, 0x0005, 0x0146, 0x01d6, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0004, 0x20a0, 0x20a9, 0x0010, 0x2009, 0xffff, 0x4104, - 0x01de, 0x014e, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, + 0x7093, 0x0000, 0x7097, 0x000e, 0x080c, 0x5816, 0x0010, 0x080c, + 0x5c9b, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x000b, 0x2011, 0x1c0e, + 0x20e9, 0x0001, 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, + 0x080c, 0x5c43, 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, + 0x080c, 0x5ca2, 0x0118, 0x2013, 0x0000, 0x0020, 0x705c, 0x9085, + 0x0100, 0x2012, 0x20a9, 0x0040, 0x2009, 0x024e, 0x2011, 0x1c0e, + 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, + 0x6812, 0x2009, 0x0240, 0x1f04, 0x5798, 0x60c3, 0x0084, 0x080c, + 0x5b78, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01c0, 0x2011, + 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0084, 0x1178, 0x080c, 0x5cbf, + 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, + 0x1120, 0x7097, 0x000c, 0x0029, 0x0010, 0x080c, 0x5c9b, 0x00fe, + 0x0005, 0x00f6, 0x7097, 0x000d, 0x080c, 0x5c43, 0x2079, 0x0240, + 0x7833, 0x1107, 0x7837, 0x0000, 0x080c, 0x5cbf, 0x20a9, 0x0040, + 0x2011, 0x026e, 0x2009, 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, + 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, + 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x57dc, 0x60c3, 0x0084, + 0x080c, 0x5b78, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, + 0x2011, 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0084, 0x1198, 0x080c, + 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, + 0x9005, 0x1140, 0x7093, 0x0001, 0x080c, 0x5c15, 0x7097, 0x000e, + 0x0029, 0x0010, 0x080c, 0x5c9b, 0x00fe, 0x0005, 0x918d, 0x0001, + 0x080c, 0x5cea, 0x7097, 0x000f, 0x708f, 0x0000, 0x2061, 0x0140, + 0x605b, 0xbc85, 0x605f, 0xb5b5, 0x2061, 0x0100, 0x6043, 0x0005, + 0x6043, 0x0004, 0x2009, 0x07d0, 0x2011, 0x5b4e, 0x080c, 0x8033, + 0x0005, 0x708c, 0x9005, 0x0130, 0x2011, 0x5b4e, 0x080c, 0x803f, + 0x7097, 0x0000, 0x0005, 0x7097, 0x0011, 0x080c, 0x9c37, 0x080c, + 0x5cbf, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x748c, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, + 0x8004, 0x20a8, 0x4003, 0x080c, 0x5ca2, 0x11a0, 0x7178, 0x81ff, + 0x0188, 0x900e, 0x707c, 0x9084, 0x00ff, 0x0160, 0x080c, 0x2670, + 0x9186, 0x007e, 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, + 0x080c, 0x5afb, 0x60c3, 0x0014, 0x080c, 0x5b78, 0x0005, 0x00f6, + 0x708c, 0x9005, 0x0500, 0x2011, 0x5b4e, 0x080c, 0x803f, 0x9086, + 0x0014, 0x11b8, 0x080c, 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, + 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x0012, 0x0029, + 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0013, + 0x080c, 0x5c51, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, + 0x080c, 0x5cbf, 0x080c, 0x5ca2, 0x1170, 0x7080, 0x9005, 0x1158, + 0x7158, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5afb, + 0x0168, 0x080c, 0x5c78, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, + 0x080c, 0x5b78, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, + 0x2011, 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, + 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, + 0x70c3, 0x0001, 0x7097, 0x0014, 0x0029, 0x0010, 0x708f, 0x0000, + 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0015, 0x080c, 0x5c51, 0x2079, + 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x5cbf, 0x080c, + 0x5ca2, 0x11b8, 0x7080, 0x9005, 0x11a0, 0x7160, 0x9186, 0xffff, + 0x0180, 0x9180, 0x3145, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, + 0x0008, 0x080c, 0x5afb, 0x0180, 0x080c, 0x4cac, 0x0110, 0x080c, + 0x26d9, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, + 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b78, + 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x05f0, 0x2011, 0x5b4e, + 0x080c, 0x803f, 0x9086, 0x0014, 0x15a8, 0x080c, 0x5cbf, 0x2079, + 0x0260, 0x7a30, 0x9296, 0x1105, 0x1568, 0x7834, 0x9084, 0x0100, + 0x2011, 0x0100, 0x921e, 0x1168, 0x9085, 0x0001, 0x080c, 0x5cea, + 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, + 0x0080, 0x9005, 0x11b8, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, + 0x1110, 0x70c3, 0x0001, 0x9085, 0x0001, 0x080c, 0x5cea, 0x7093, + 0x0000, 0x7a38, 0xd2f4, 0x0110, 0x70db, 0x0008, 0x7097, 0x0016, + 0x0029, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x080c, 0x9c37, + 0x080c, 0x5cbf, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, + 0x20a1, 0x0240, 0x20a9, 0x000e, 0x4003, 0x2011, 0x026d, 0x2204, + 0x9084, 0x0100, 0x2011, 0x024d, 0x2012, 0x2011, 0x026e, 0x7097, + 0x0017, 0x080c, 0x5ca2, 0x1150, 0x7080, 0x9005, 0x1138, 0x080c, + 0x5a6e, 0x1188, 0x9085, 0x0001, 0x080c, 0x26d9, 0x20a9, 0x0008, + 0x080c, 0x5cbf, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, + 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b78, 0x0010, + 0x080c, 0x55c8, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01d8, 0x2011, + 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0084, 0x1190, 0x080c, 0x5cbf, + 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1150, 0x7834, 0x9005, + 0x1138, 0x9006, 0x080c, 0x5cea, 0x7097, 0x0018, 0x0029, 0x0010, + 0x708f, 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0019, 0x080c, + 0x5c51, 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, + 0x5cbf, 0x2009, 0x026e, 0x2039, 0x1c0e, 0x20a9, 0x0040, 0x213e, + 0x8738, 0x8108, 0x9186, 0x0280, 0x1128, 0x6814, 0x8000, 0x6816, + 0x2009, 0x0260, 0x1f04, 0x59d7, 0x2039, 0x1c0e, 0x080c, 0x5ca2, + 0x11e8, 0x2728, 0x2514, 0x8207, 0x9084, 0x00ff, 0x8000, 0x2018, + 0x9294, 0x00ff, 0x8007, 0x9205, 0x202a, 0x705c, 0x2310, 0x8214, + 0x92a0, 0x1c0e, 0x2414, 0x938c, 0x0001, 0x0118, 0x9294, 0xff00, + 0x0018, 0x9294, 0x00ff, 0x8007, 0x9215, 0x2222, 0x20a9, 0x0040, + 0x2009, 0x024e, 0x270e, 0x8738, 0x8108, 0x9186, 0x0260, 0x1128, + 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x1f04, 0x5a0a, 0x60c3, + 0x0084, 0x080c, 0x5b78, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, + 0x01e0, 0x2011, 0x5b4e, 0x080c, 0x803f, 0x9086, 0x0084, 0x1198, + 0x080c, 0x5cbf, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, + 0x7834, 0x9005, 0x1140, 0x7093, 0x0001, 0x080c, 0x5c15, 0x7097, + 0x001a, 0x0029, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x9085, + 0x0001, 0x080c, 0x5cea, 0x7097, 0x001b, 0x080c, 0x9c37, 0x080c, + 0x5cbf, 0x2011, 0x0260, 0x2009, 0x0240, 0x748c, 0x9480, 0x0018, + 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, + 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, + 0x0240, 0x6814, 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5a56, + 0x60c3, 0x0084, 0x080c, 0x5b78, 0x0005, 0x0005, 0x0086, 0x0096, + 0x2029, 0x185c, 0x252c, 0x20a9, 0x0008, 0x2041, 0x1c0e, 0x20e9, + 0x0001, 0x28a0, 0x080c, 0x5cbf, 0x20e1, 0x0000, 0x2099, 0x026e, + 0x4003, 0x20a9, 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0108, 0x9016, + 0x2800, 0x9200, 0x200c, 0x91a6, 0xffff, 0x1148, 0xd5d4, 0x0110, + 0x8210, 0x0008, 0x8211, 0x1f04, 0x5a88, 0x0804, 0x5af7, 0x82ff, + 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, 0x0d90, 0x0020, 0x91a6, + 0x3fff, 0x0904, 0x5af7, 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, + 0x0001, 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, + 0x8423, 0x0008, 0x8424, 0x1240, 0xd5d4, 0x0110, 0x8319, 0x0008, + 0x8318, 0x1f04, 0x5aae, 0x04d8, 0x23a8, 0x2021, 0x0001, 0x8426, + 0x8425, 0x1f04, 0x5ac0, 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, + 0x0006, 0x2039, 0x0007, 0x2200, 0x973a, 0x000e, 0x27a8, 0x95a8, + 0x0010, 0x1f04, 0x5acf, 0x755a, 0x95c8, 0x3145, 0x292d, 0x95ac, + 0x00ff, 0x757e, 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x26b9, + 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, 0x9405, 0x201a, + 0x7083, 0x0001, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20e1, 0x0001, + 0x2898, 0x20a9, 0x0008, 0x4003, 0x9085, 0x0001, 0x0008, 0x9006, + 0x009e, 0x008e, 0x0005, 0x0156, 0x01c6, 0x01d6, 0x0136, 0x0146, + 0x22a8, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x2011, + 0x024e, 0x22a0, 0x4003, 0x014e, 0x013e, 0x01de, 0x01ce, 0x015e, + 0x2118, 0x9026, 0x2001, 0x0007, 0x939a, 0x0010, 0x0218, 0x8420, + 0x8001, 0x0cd0, 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, + 0x1de0, 0x2021, 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, + 0x9238, 0x2029, 0x026e, 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, + 0x203a, 0x715a, 0x91a0, 0x3145, 0x242d, 0x95ac, 0x00ff, 0x757e, + 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x26b9, 0x001e, 0x60e7, + 0x0000, 0x65ea, 0x7083, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, + 0x2071, 0x1800, 0x7087, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, + 0x2079, 0x0100, 0x2071, 0x0140, 0x080c, 0x5c04, 0x080c, 0x93c7, + 0x7004, 0x9084, 0x4000, 0x0110, 0x080c, 0x2b31, 0x0126, 0x2091, + 0x8000, 0x2071, 0x1825, 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, + 0x2009, 0x00f7, 0x080c, 0x5c61, 0x001e, 0x9094, 0x0010, 0x9285, + 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, + 0x0126, 0x2091, 0x8000, 0x080c, 0x29d7, 0x0228, 0x2011, 0x0101, + 0x2204, 0xc0c5, 0x2012, 0x2011, 0x19c9, 0x2013, 0x0000, 0x708f, + 0x0000, 0x012e, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x93be, + 0x6144, 0xd184, 0x0120, 0x7194, 0x918d, 0x2000, 0x0018, 0x7188, + 0x918d, 0x1000, 0x2011, 0x1971, 0x2112, 0x2009, 0x07d0, 0x2011, + 0x5b4e, 0x080c, 0x80d1, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x080c, 0x9db5, 0x2009, 0x00f7, 0x080c, 0x5c61, + 0x2061, 0x19d2, 0x900e, 0x611a, 0x611e, 0x6172, 0x6176, 0x2061, + 0x1800, 0x6003, 0x0001, 0x2061, 0x0100, 0x6043, 0x0090, 0x6043, + 0x0010, 0x2009, 0x1971, 0x200b, 0x0000, 0x2009, 0x002d, 0x2011, + 0x5bd0, 0x080c, 0x8033, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, + 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x0471, 0x2071, 0x0100, + 0x080c, 0x93c7, 0x2071, 0x0140, 0x7004, 0x9084, 0x4000, 0x0110, + 0x080c, 0x2b31, 0x080c, 0x6fb2, 0x0188, 0x080c, 0x6fcd, 0x1170, + 0x080c, 0x7296, 0x0016, 0x080c, 0x2788, 0x2001, 0x1945, 0x2102, + 0x001e, 0x080c, 0x7291, 0x080c, 0x6edc, 0x0050, 0x2009, 0x0001, + 0x080c, 0x2a70, 0x2001, 0x0001, 0x080c, 0x2619, 0x080c, 0x5ba4, + 0x012e, 0x000e, 0x00ee, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0bc, + 0x0158, 0x0026, 0x0036, 0x2011, 0x8017, 0x2001, 0x1971, 0x201c, + 0x080c, 0x48f4, 0x003e, 0x002e, 0x0005, 0x20a9, 0x0012, 0x20e9, + 0x0001, 0x20a1, 0x1c80, 0x080c, 0x5cbf, 0x20e9, 0x0000, 0x2099, + 0x026e, 0x0099, 0x20a9, 0x0020, 0x080c, 0x5cb9, 0x2099, 0x0260, + 0x20a1, 0x1c92, 0x0051, 0x20a9, 0x000e, 0x080c, 0x5cbc, 0x2099, + 0x0260, 0x20a1, 0x1cb2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, + 0x3308, 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, 0x1f04, 0x5c39, + 0x002e, 0x001e, 0x0005, 0x080c, 0x9c37, 0x20e1, 0x0001, 0x2099, + 0x1c00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, + 0x0005, 0x080c, 0x9c37, 0x080c, 0x5cbf, 0x20e1, 0x0000, 0x2099, + 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, + 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1833, + 0x2004, 0x9005, 0x1138, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, + 0x9105, 0x0010, 0x9185, 0x00f7, 0x604a, 0x000e, 0x00ce, 0x0005, + 0x0016, 0x0046, 0x080c, 0x6576, 0x0158, 0x9006, 0x2020, 0x2009, + 0x002a, 0x080c, 0xd564, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, + 0x2019, 0x002a, 0x900e, 0x080c, 0x2fb2, 0x080c, 0xc23b, 0x0140, + 0x0036, 0x2019, 0xffff, 0x2021, 0x0007, 0x080c, 0x4a91, 0x003e, + 0x004e, 0x001e, 0x0005, 0x080c, 0x5ba4, 0x7097, 0x0000, 0x708f, + 0x0000, 0x0005, 0x0006, 0x2001, 0x180c, 0x2004, 0xd09c, 0x0100, + 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, + 0x0101, 0x200c, 0x918d, 0x0006, 0x2102, 0x012e, 0x001e, 0x000e, + 0x0005, 0x2009, 0x0001, 0x0020, 0x2009, 0x0002, 0x0008, 0x900e, + 0x6814, 0x9084, 0xffc0, 0x910d, 0x6916, 0x0005, 0x00f6, 0x0156, + 0x0146, 0x01d6, 0x9006, 0x20a9, 0x0080, 0x20e9, 0x0001, 0x20a1, + 0x1c00, 0x4004, 0x2079, 0x1c00, 0x7803, 0x2200, 0x7807, 0x00ef, + 0x780f, 0x00ef, 0x7813, 0x0138, 0x7823, 0xffff, 0x7827, 0xffff, + 0x01de, 0x014e, 0x015e, 0x00fe, 0x0005, 0x2001, 0x1800, 0x2003, + 0x0001, 0x0005, 0x2001, 0x197e, 0x0118, 0x2003, 0x0001, 0x0010, + 0x2003, 0x0000, 0x0005, 0x0156, 0x20a9, 0x0800, 0x2009, 0x1000, + 0x9006, 0x200a, 0x8108, 0x1f04, 0x5cf9, 0x015e, 0x0005, 0x00d6, + 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0x185b, 0x9006, 0xb802, + 0xb8be, 0xb807, 0x0707, 0xb80a, 0xb80e, 0xb812, 0x9198, 0x3145, + 0x231d, 0x939c, 0x00ff, 0xbb16, 0x0016, 0x0026, 0xb8b2, 0x080c, + 0x9dae, 0x1120, 0x9192, 0x007e, 0x1208, 0xbbb2, 0x20a9, 0x0004, + 0xb8b4, 0x20e8, 0xb9b8, 0x9198, 0x0006, 0x9006, 0x23a0, 0x4004, + 0x20a9, 0x0004, 0x9198, 0x000a, 0x23a0, 0x4004, 0x002e, 0x001e, + 0xb83e, 0xb842, 0xb84e, 0xb852, 0xb856, 0xb85a, 0xb85e, 0xb862, + 0xb866, 0xb86a, 0xb86f, 0x0100, 0xb872, 0xb876, 0xb87a, 0xb88a, + 0xb88e, 0xb893, 0x0008, 0xb896, 0xb89a, 0xb89e, 0xb8ae, 0xb9a2, + 0x0096, 0xb8a4, 0x904d, 0x0110, 0x080c, 0x101d, 0xb8a7, 0x0000, + 0x009e, 0x9006, 0xb84a, 0x6810, 0xb83a, 0x680c, 0xb846, 0x6814, + 0x9084, 0x00ff, 0xb842, 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, + 0x0005, 0x0126, 0x2091, 0x8000, 0xa974, 0xae78, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x1a04, 0x5dcf, 0x9182, 0x0800, 0x1a04, 0x5dd3, + 0x2001, 0x180c, 0x2004, 0x9084, 0x0003, 0x1904, 0x5dd9, 0x9188, + 0x1000, 0x2104, 0x905d, 0x0518, 0xb804, 0x9084, 0x00ff, 0x908e, + 0x0006, 0x1508, 0xb8a4, 0x900d, 0x1904, 0x5deb, 0xb850, 0x900d, + 0x1148, 0xa802, 0x2900, 0xb852, 0xb84e, 0x080c, 0x8415, 0x9006, + 0x012e, 0x0005, 0x00a6, 0x2150, 0x2900, 0xb002, 0xa803, 0x0000, + 0x00ae, 0xb852, 0x0c90, 0x2001, 0x0005, 0x900e, 0x04b8, 0x2001, + 0x0028, 0x900e, 0x0498, 0x9082, 0x0006, 0x1290, 0x080c, 0x9dae, + 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0990, + 0x2001, 0x0029, 0x2009, 0x1000, 0x0408, 0x2001, 0x0028, 0x00a8, + 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, + 0xd184, 0x0118, 0x2001, 0x0004, 0x0040, 0x2001, 0x0029, 0xb900, + 0xd1fc, 0x0118, 0x2009, 0x1000, 0x0048, 0x900e, 0x0038, 0x2001, + 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x012e, + 0x0005, 0x2001, 0x180c, 0x2004, 0xd084, 0x19d0, 0x9188, 0x1000, + 0x2104, 0x905d, 0x09a8, 0x080c, 0x657a, 0x1990, 0xb800, 0xd0bc, + 0x0978, 0x0804, 0x5d82, 0x080c, 0x63f2, 0x0904, 0x5d9b, 0x0804, + 0x5d86, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa974, 0x9182, + 0x0800, 0x1a04, 0x5e6c, 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, + 0x5e44, 0xb8a0, 0x9086, 0x007f, 0x0178, 0x080c, 0x6582, 0x0160, + 0xa994, 0x81ff, 0x0130, 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, + 0x0118, 0x080c, 0x657a, 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, + 0x9005, 0x01c8, 0x2060, 0x0026, 0x2010, 0x080c, 0xbb29, 0x002e, + 0x1120, 0x2001, 0x0008, 0x0804, 0x5e6e, 0x6020, 0x9086, 0x000a, + 0x0120, 0x2001, 0x0008, 0x0804, 0x5e6e, 0x601a, 0x6003, 0x0008, + 0x2900, 0x6016, 0x0058, 0x080c, 0x9dd9, 0x05e8, 0x2b00, 0x6012, + 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, + 0x080c, 0x9ea9, 0x9006, 0x0458, 0x2001, 0x0028, 0x0438, 0x9082, + 0x0006, 0x1290, 0x080c, 0x9dae, 0x1160, 0xb8a0, 0x9084, 0xff80, + 0x1140, 0xb900, 0xd1fc, 0x0900, 0x2001, 0x0029, 0x2009, 0x1000, + 0x00a8, 0x2001, 0x0028, 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, + 0x0118, 0x2001, 0x0004, 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, + 0x0028, 0x2001, 0x0029, 0x0010, 0x2001, 0x0029, 0x9005, 0x012e, + 0x00ee, 0x00be, 0x0005, 0x2001, 0x002c, 0x0cc0, 0x00f6, 0x00b6, + 0x0126, 0x2091, 0x8000, 0xa8e0, 0x9005, 0x1550, 0xa8dc, 0x9082, + 0x0101, 0x1630, 0xa8c8, 0x9005, 0x1518, 0xa8c4, 0x9082, 0x0101, + 0x12f8, 0xa974, 0x2079, 0x1800, 0x9182, 0x0800, 0x12e8, 0x7830, + 0x9084, 0x0003, 0x1130, 0xaa98, 0xab94, 0xa878, 0x9084, 0x0007, + 0x00ea, 0x7930, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0038, + 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9006, + 0x0008, 0x9005, 0x012e, 0x00be, 0x00fe, 0x0005, 0x5f03, 0x5ebe, + 0x5ed5, 0x5f03, 0x5f03, 0x5f03, 0x5f03, 0x5f03, 0x2100, 0x9082, + 0x007e, 0x1278, 0x080c, 0x61f6, 0x0148, 0x9046, 0xb810, 0x9306, + 0x1904, 0x5f0b, 0xb814, 0x9206, 0x15f0, 0x0028, 0xbb12, 0xba16, + 0x0010, 0x080c, 0x47ae, 0x0150, 0x04b0, 0x080c, 0x6256, 0x1598, + 0xb810, 0x9306, 0x1580, 0xb814, 0x9206, 0x1568, 0x080c, 0x9dd9, + 0x0530, 0x2b00, 0x6012, 0x080c, 0xbfb5, 0x2900, 0x6016, 0x600b, + 0xffff, 0x6023, 0x000a, 0xa878, 0x9086, 0x0001, 0x1170, 0x080c, + 0x2fe7, 0x9006, 0x080c, 0x6193, 0x2001, 0x0002, 0x080c, 0x61a7, + 0x2001, 0x0200, 0xb86e, 0xb893, 0x0002, 0x2009, 0x0003, 0x080c, + 0x9ea9, 0x9006, 0x0068, 0x2001, 0x0001, 0x900e, 0x0038, 0x2001, + 0x002c, 0x900e, 0x0018, 0x2001, 0x0028, 0x900e, 0x9005, 0x0000, + 0x012e, 0x00be, 0x00fe, 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x0126, + 0x2091, 0x8000, 0xa894, 0x90c6, 0x0015, 0x0904, 0x60e4, 0x90c6, + 0x0056, 0x0904, 0x60e8, 0x90c6, 0x0066, 0x0904, 0x60ec, 0x90c6, + 0x0067, 0x0904, 0x60f0, 0x90c6, 0x0068, 0x0904, 0x60f4, 0x90c6, + 0x0071, 0x0904, 0x60f8, 0x90c6, 0x0074, 0x0904, 0x60fc, 0x90c6, + 0x007c, 0x0904, 0x6100, 0x90c6, 0x007e, 0x0904, 0x6104, 0x90c6, + 0x0037, 0x0904, 0x6108, 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, + 0x00ff, 0x0904, 0x60df, 0x9182, 0x0800, 0x1a04, 0x60df, 0x080c, + 0x6256, 0x1198, 0xb804, 0x9084, 0x00ff, 0x9082, 0x0006, 0x1268, + 0xa894, 0x90c6, 0x006f, 0x0148, 0x080c, 0x9dae, 0x1904, 0x60c8, + 0xb8a0, 0x9084, 0xff80, 0x1904, 0x60c8, 0xa894, 0x90c6, 0x006f, + 0x0158, 0x90c6, 0x005e, 0x0904, 0x6028, 0x90c6, 0x0064, 0x0904, + 0x6051, 0x2008, 0x0804, 0x5feb, 0xa998, 0xa8b0, 0x2040, 0x080c, + 0x9dae, 0x1120, 0x9182, 0x007f, 0x0a04, 0x5feb, 0x9186, 0x00ff, + 0x0904, 0x5feb, 0x9182, 0x0800, 0x1a04, 0x5feb, 0xaaa0, 0xab9c, + 0x7878, 0x9306, 0x11a8, 0x787c, 0x0096, 0x924e, 0x1128, 0x2208, + 0x2310, 0x009e, 0x0804, 0x5feb, 0x080c, 0x9dae, 0x1140, 0x99cc, + 0xff00, 0x009e, 0x1128, 0x2208, 0x2310, 0x0804, 0x5feb, 0x009e, + 0x080c, 0x47ae, 0x0904, 0x5ff4, 0x900e, 0x9016, 0x90c6, 0x4000, + 0x1558, 0x0006, 0x080c, 0x6476, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0031, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, + 0x080c, 0x0f68, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0035, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x000a, 0x2098, + 0x080c, 0x0f68, 0x000e, 0x00c8, 0x90c6, 0x4007, 0x1110, 0x2408, + 0x00a0, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0070, 0x90c6, + 0x4009, 0x1108, 0x0050, 0x90c6, 0x4006, 0x0138, 0x2001, 0x4005, + 0x2009, 0x000a, 0x0010, 0x2001, 0x4006, 0xa896, 0xa99a, 0xaa9e, + 0x2001, 0x0030, 0x900e, 0x0470, 0x080c, 0x9dd9, 0x1130, 0x2001, + 0x4005, 0x2009, 0x0003, 0x9016, 0x0c80, 0x2b00, 0x6012, 0x080c, + 0xbfb5, 0x2900, 0x6016, 0x6023, 0x0001, 0xa868, 0xd88c, 0x0108, + 0xc0f5, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, 0x2fe7, 0x012e, + 0x9006, 0x080c, 0x6193, 0x2001, 0x0002, 0x080c, 0x61a7, 0x2009, + 0x0002, 0x080c, 0x9ea9, 0xa8b0, 0xd094, 0x0118, 0xb8bc, 0xc08d, + 0xb8be, 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, 0x00be, 0x0005, + 0x080c, 0x53ae, 0x0118, 0x2009, 0x0007, 0x00f8, 0xa998, 0xaeb0, + 0x080c, 0x6256, 0x1904, 0x5fe6, 0x9186, 0x007f, 0x0130, 0x080c, + 0x657a, 0x0118, 0x2009, 0x0009, 0x0080, 0x0096, 0x080c, 0x0feb, + 0x1120, 0x009e, 0x2009, 0x0002, 0x0040, 0x2900, 0x009e, 0xa806, + 0x080c, 0xbd21, 0x19b0, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, + 0x5fed, 0xa998, 0xaeb0, 0x080c, 0x6256, 0x1904, 0x5fe6, 0x0096, + 0x080c, 0x0feb, 0x1128, 0x009e, 0x2009, 0x0002, 0x0804, 0x60a5, + 0x2900, 0x009e, 0xa806, 0x0096, 0x2048, 0x20a9, 0x002b, 0xb8b4, + 0x20e0, 0xb8b8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, + 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xbbb8, + 0x9398, 0x0006, 0x2398, 0x080c, 0x0f68, 0x009e, 0xa87b, 0x0000, + 0xa883, 0x0000, 0xa897, 0x4000, 0xd684, 0x1168, 0x080c, 0x539a, + 0xd0b4, 0x1118, 0xa89b, 0x000b, 0x00e0, 0xb800, 0xd08c, 0x0118, + 0xa89b, 0x000c, 0x00b0, 0x080c, 0x657a, 0x0118, 0xa89b, 0x0009, + 0x0080, 0x080c, 0x53ae, 0x0118, 0xa89b, 0x0007, 0x0050, 0x080c, + 0xbd04, 0x1904, 0x6021, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, + 0x5fed, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa804, 0x8006, 0x8006, + 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, + 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, + 0x122f, 0x080c, 0xa332, 0x1904, 0x6021, 0x2009, 0x0002, 0x08e8, + 0x2001, 0x0028, 0x900e, 0x0804, 0x6022, 0x2009, 0x180c, 0x210c, + 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, + 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0804, 0x6022, 0x2001, + 0x0029, 0x900e, 0x0804, 0x6022, 0x080c, 0x3574, 0x0804, 0x6023, + 0x080c, 0x50d7, 0x0804, 0x6023, 0x080c, 0x4344, 0x0804, 0x6023, + 0x080c, 0x43bd, 0x0804, 0x6023, 0x080c, 0x4419, 0x0804, 0x6023, + 0x080c, 0x486a, 0x0804, 0x6023, 0x080c, 0x4b0f, 0x0804, 0x6023, + 0x080c, 0x4d42, 0x0804, 0x6023, 0x080c, 0x4f3b, 0x0804, 0x6023, + 0x080c, 0x3784, 0x0804, 0x6023, 0x00b6, 0xa974, 0xae78, 0x9684, + 0x3fff, 0x9082, 0x4000, 0x1618, 0x9182, 0x0800, 0x1268, 0x9188, + 0x1000, 0x2104, 0x905d, 0x0140, 0x080c, 0x657a, 0x1148, 0x00e9, + 0x080c, 0x6381, 0x9006, 0x00b0, 0x2001, 0x0028, 0x900e, 0x0090, + 0x9082, 0x0006, 0x1240, 0xb900, 0xd1fc, 0x0d88, 0x2001, 0x0029, + 0x2009, 0x1000, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, 0x2001, + 0x0029, 0x900e, 0x9005, 0x00be, 0x0005, 0x0126, 0x2091, 0x8000, + 0xb850, 0x900d, 0x0150, 0x2900, 0x0096, 0x2148, 0xa802, 0x009e, + 0xa803, 0x0000, 0xb852, 0x012e, 0x0005, 0x2900, 0xb852, 0xb84e, + 0xa803, 0x0000, 0x0cc0, 0x0126, 0x2091, 0x8000, 0xb84c, 0x9005, + 0x0170, 0x00e6, 0x2071, 0x19bf, 0x7004, 0x9086, 0x0002, 0x0168, + 0x00ee, 0xb84c, 0xa802, 0x2900, 0xb84e, 0x012e, 0x0005, 0x2900, + 0xb852, 0xb84e, 0xa803, 0x0000, 0x0cc0, 0x701c, 0x9b06, 0x1d80, + 0xb84c, 0x00a6, 0x2050, 0xb000, 0xa802, 0x2900, 0xb002, 0x00ae, + 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0xb84c, 0x904d, + 0x0130, 0xa800, 0x9005, 0x1108, 0xb852, 0xb84e, 0x9905, 0x012e, + 0x0005, 0xb84c, 0x904d, 0x0130, 0xa800, 0x9005, 0x1108, 0xb852, + 0xb84e, 0x9905, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x0026, 0x2091, + 0x8000, 0x6210, 0x2258, 0xba00, 0x9005, 0x0110, 0xc285, 0x0008, + 0xc284, 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, + 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, + 0x9086, 0x0006, 0x1170, 0xb89c, 0xd0ac, 0x0158, 0x080c, 0x6576, + 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, 0x1110, 0x2011, + 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, 0xba06, 0x0006, 0x9086, + 0x0006, 0x1120, 0xba90, 0x82ff, 0x090c, 0x0db4, 0x000e, 0x00ce, + 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, + 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1168, 0xb89c, + 0xd0a4, 0x0150, 0x080c, 0x6572, 0x1138, 0x9284, 0x00ff, 0x9086, + 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, 0x9294, 0x00ff, 0x8007, + 0x9215, 0xba06, 0x00ce, 0x012e, 0x00be, 0x0005, 0x9182, 0x0800, + 0x0218, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0026, 0x9190, 0x1000, + 0x2204, 0x905d, 0x1180, 0x0096, 0x080c, 0x0feb, 0x2958, 0x009e, + 0x0160, 0x2b00, 0x2012, 0xb85c, 0xb8ba, 0xb860, 0xb8b6, 0x9006, + 0xb8a6, 0x080c, 0x5cff, 0x9006, 0x0010, 0x9085, 0x0001, 0x002e, + 0x00de, 0x0005, 0x00b6, 0x0096, 0x0126, 0x2091, 0x8000, 0x0026, + 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0458, 0x00d6, 0x9190, + 0x1000, 0x2204, 0x905d, 0x0518, 0x2013, 0x0000, 0xb8a4, 0x904d, + 0x0110, 0x080c, 0x101d, 0x00d6, 0x00c6, 0xb8ac, 0x2060, 0x8cff, + 0x0168, 0x600c, 0x0006, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0110, + 0x080c, 0x0f9d, 0x080c, 0x9e2f, 0x00ce, 0x0c88, 0x00ce, 0x00de, + 0x2b48, 0xb8b8, 0xb85e, 0xb8b4, 0xb862, 0x080c, 0x102d, 0x00de, + 0x9006, 0x002e, 0x012e, 0x009e, 0x00be, 0x0005, 0x0016, 0x9182, + 0x0800, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, 0x2104, + 0x905d, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, 0x0136, + 0x0146, 0x9006, 0xb80a, 0xb80e, 0xb800, 0xc08c, 0xb802, 0x080c, + 0x6faa, 0x1510, 0xb8a0, 0x9086, 0x007e, 0x0120, 0x080c, 0x9dae, + 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, 0x00c6, 0x2061, 0x195a, + 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, 0x600a, 0x7054, 0x600e, + 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, 0x1110, 0x2001, 0x0001, + 0x6886, 0x2069, 0x1800, 0x68b2, 0x7040, 0xb85e, 0x7048, 0xb862, + 0x704c, 0xb866, 0x20e1, 0x0000, 0x2099, 0x0276, 0xb8b4, 0x20e8, + 0xb8b8, 0x9088, 0x000a, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2099, + 0x027a, 0x9088, 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2069, + 0x0200, 0x6817, 0x0001, 0x7040, 0xb86a, 0x7144, 0xb96e, 0x7048, + 0xb872, 0x7050, 0xb876, 0x2069, 0x0200, 0x6817, 0x0000, 0xb8a0, + 0x9086, 0x007e, 0x1110, 0x7144, 0xb96e, 0x9182, 0x0211, 0x1218, + 0x2009, 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, 0x0007, + 0x00d0, 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, 0x9182, + 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, 0x1218, + 0x2009, 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, 0x0003, + 0x0010, 0x2009, 0x0002, 0xb992, 0x014e, 0x013e, 0x015e, 0x00de, + 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, 0xb896, + 0x703c, 0xb89a, 0x7054, 0xb89e, 0x0036, 0xbbbc, 0xc384, 0xba00, + 0x2009, 0x187b, 0x210c, 0xd0bc, 0x0120, 0xd1ec, 0x0110, 0xc2ad, + 0x0008, 0xc2ac, 0xd0c4, 0x0148, 0xd1e4, 0x0138, 0xc2bd, 0xd0cc, + 0x0128, 0xd38c, 0x1108, 0xc385, 0x0008, 0xc2bc, 0xba02, 0xbbbe, + 0x003e, 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, 0x0126, 0x2091, + 0x8000, 0xb8a4, 0x904d, 0x0578, 0xa900, 0x81ff, 0x15c0, 0xaa04, + 0x9282, 0x0010, 0x16c8, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x8906, + 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9080, + 0x0004, 0x2098, 0x2009, 0x0010, 0x20a9, 0x0001, 0x4002, 0x9086, + 0xffff, 0x0120, 0x8109, 0x1dd0, 0x080c, 0x0db4, 0x3c00, 0x20e8, + 0x3300, 0x8001, 0x20a0, 0x4604, 0x8210, 0xaa06, 0x01de, 0x01ce, + 0x014e, 0x013e, 0x0060, 0x080c, 0x0feb, 0x0170, 0x2900, 0xb8a6, + 0xa803, 0x0000, 0x080c, 0x6412, 0xa807, 0x0001, 0xae12, 0x9085, + 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0126, 0x2091, + 0x8000, 0x0096, 0xb8a4, 0x904d, 0x0188, 0xa800, 0x9005, 0x1150, + 0x080c, 0x6421, 0x1158, 0xa804, 0x908a, 0x0002, 0x0218, 0x8001, + 0xa806, 0x0020, 0x080c, 0x101d, 0xb8a7, 0x0000, 0x009e, 0x012e, + 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x8415, 0x012e, 0x0005, + 0x901e, 0x0010, 0x2019, 0x0001, 0x900e, 0x0126, 0x2091, 0x8000, + 0xb84c, 0x2048, 0xb800, 0xd0dc, 0x1170, 0x89ff, 0x0500, 0x83ff, + 0x0120, 0xa878, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, 0x1118, + 0xa870, 0x9506, 0x0120, 0x2908, 0xa800, 0x2048, 0x0c70, 0x080c, + 0x979a, 0xaa00, 0xb84c, 0x9906, 0x1110, 0xba4e, 0x0020, 0x00a6, + 0x2150, 0xb202, 0x00ae, 0x82ff, 0x1110, 0xb952, 0x89ff, 0x012e, + 0x0005, 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, 0x080c, + 0x6476, 0x0128, 0x080c, 0xbbf8, 0x0010, 0x9085, 0x0001, 0x0005, + 0x080c, 0x6476, 0x0128, 0x080c, 0xbb9d, 0x0010, 0x9085, 0x0001, + 0x0005, 0x080c, 0x6476, 0x0128, 0x080c, 0xbbf5, 0x0010, 0x9085, + 0x0001, 0x0005, 0x080c, 0x6476, 0x0128, 0x080c, 0xbbbc, 0x0010, + 0x9085, 0x0001, 0x0005, 0x080c, 0x6476, 0x0128, 0x080c, 0xbc39, + 0x0010, 0x9085, 0x0001, 0x0005, 0xb8a4, 0x900d, 0x1118, 0x9085, + 0x0001, 0x0005, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, - 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0068, 0x0146, 0x01d6, - 0x3300, 0x8001, 0x20a0, 0x3c00, 0x20e8, 0x2001, 0xffff, 0x4004, - 0x01de, 0x014e, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0096, 0x0126, - 0x2091, 0x8000, 0xb8a4, 0x904d, 0x1128, 0x080c, 0x0feb, 0x0168, - 0x2900, 0xb8a6, 0x080c, 0x6403, 0xa803, 0x0001, 0xa807, 0x0000, - 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0096, - 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0130, 0xb8a7, 0x0000, - 0x080c, 0x101d, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0xb89c, - 0xd0a4, 0x0005, 0x00b6, 0x00f6, 0x080c, 0x6f9b, 0x01b0, 0x71c0, - 0x81ff, 0x1198, 0x71d8, 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, - 0x1000, 0x2004, 0x905d, 0x0148, 0xb804, 0x9084, 0x00ff, 0x9086, - 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x2079, 0x1853, 0x7804, - 0x00d0, 0x0156, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6247, - 0x1168, 0xb804, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, 0x0118, - 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x001e, 0x8108, - 0x1f04, 0x648d, 0x015e, 0x080c, 0x6529, 0x0120, 0x2001, 0x1955, - 0x200c, 0x0030, 0x2079, 0x1853, 0x7804, 0x0030, 0x2009, 0x07d0, - 0x2011, 0x64b7, 0x080c, 0x80b3, 0x00fe, 0x00be, 0x0005, 0x00b6, - 0x2011, 0x64b7, 0x080c, 0x8021, 0x080c, 0x6529, 0x01d8, 0x2001, - 0x107e, 0x2004, 0x2058, 0xb900, 0xc1ec, 0xb902, 0x080c, 0x6567, - 0x0130, 0x2009, 0x07d0, 0x2011, 0x64b7, 0x080c, 0x80b3, 0x00e6, - 0x2071, 0x1800, 0x9006, 0x707a, 0x705c, 0x707e, 0x080c, 0x2dbd, - 0x00ee, 0x04b0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, - 0x080c, 0x6247, 0x1538, 0xb800, 0xd0ec, 0x0520, 0x0046, 0xbaa0, - 0x2220, 0x9006, 0x2009, 0x0029, 0x080c, 0xd54b, 0xb800, 0xc0e5, - 0xc0ec, 0xb802, 0x080c, 0x6563, 0x2001, 0x0707, 0x1128, 0xb804, - 0x9084, 0x00ff, 0x9085, 0x0700, 0xb806, 0x2019, 0x0029, 0x080c, - 0x8564, 0x0076, 0x903e, 0x080c, 0x8452, 0x900e, 0x080c, 0xd2bc, - 0x007e, 0x004e, 0x001e, 0x8108, 0x1f04, 0x64df, 0x00ce, 0x015e, - 0x00be, 0x0005, 0x00b6, 0x6010, 0x2058, 0xb800, 0xc0ec, 0xb802, - 0x00be, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ac, - 0x0005, 0x6010, 0x00b6, 0x905d, 0x0108, 0xb800, 0x00be, 0xd0bc, - 0x0005, 0x00b6, 0x00f6, 0x2001, 0x107e, 0x2004, 0x905d, 0x0110, - 0xb800, 0xd0ec, 0x00fe, 0x00be, 0x0005, 0x0126, 0x0026, 0x2091, - 0x8000, 0x0006, 0xbaa0, 0x9290, 0x1000, 0x2204, 0x9b06, 0x190c, - 0x0db4, 0x000e, 0xba00, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, - 0xba02, 0x002e, 0x012e, 0x0005, 0x2011, 0x1836, 0x2204, 0xd0cc, - 0x0138, 0x2001, 0x1953, 0x200c, 0x2011, 0x6559, 0x080c, 0x80b3, - 0x0005, 0x2011, 0x6559, 0x080c, 0x8021, 0x2011, 0x1836, 0x2204, - 0xc0cc, 0x2012, 0x0005, 0x080c, 0x538f, 0xd0ac, 0x0005, 0x080c, - 0x538f, 0xd0a4, 0x0005, 0x0016, 0xb904, 0x9184, 0x00ff, 0x908e, - 0x0006, 0x001e, 0x0005, 0x0016, 0xb904, 0x9184, 0xff00, 0x8007, - 0x908e, 0x0006, 0x001e, 0x0005, 0x00b6, 0x00f6, 0x080c, 0xc22c, - 0x0158, 0x70d8, 0x9084, 0x0028, 0x0138, 0x2001, 0x107f, 0x2004, - 0x905d, 0x0110, 0xb8bc, 0xd094, 0x00fe, 0x00be, 0x0005, 0x0006, - 0x0016, 0x0036, 0x0046, 0x0076, 0x00b6, 0x2001, 0x1817, 0x203c, - 0x9780, 0x313a, 0x203d, 0x97bc, 0xff00, 0x873f, 0x9006, 0x2018, - 0x2008, 0x9284, 0x8000, 0x0110, 0x2019, 0x0001, 0x9294, 0x7fff, - 0x2100, 0x9706, 0x0190, 0x91a0, 0x1000, 0x2404, 0x905d, 0x0168, - 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1138, 0x83ff, 0x0118, - 0xb89c, 0xd0a4, 0x0110, 0x8211, 0x0158, 0x8108, 0x83ff, 0x0120, - 0x9182, 0x0800, 0x0e28, 0x0068, 0x9182, 0x007e, 0x0e08, 0x0048, - 0x00be, 0x007e, 0x004e, 0x003e, 0x001e, 0x9085, 0x0001, 0x000e, - 0x0005, 0x00be, 0x007e, 0x004e, 0x003e, 0x001e, 0x9006, 0x000e, - 0x0005, 0x0046, 0x0056, 0x0076, 0x00b6, 0x2100, 0x9084, 0x7fff, - 0x9080, 0x1000, 0x2004, 0x905d, 0x0130, 0xb804, 0x9084, 0x00ff, - 0x9086, 0x0006, 0x0550, 0x9184, 0x8000, 0x0580, 0x2001, 0x1817, - 0x203c, 0x9780, 0x313a, 0x203d, 0x97bc, 0xff00, 0x873f, 0x9006, - 0x2020, 0x2400, 0x9706, 0x01a0, 0x94a8, 0x1000, 0x2504, 0x905d, - 0x0178, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1148, 0xb89c, - 0xd0a4, 0x0130, 0xb814, 0x9206, 0x1118, 0xb810, 0x9306, 0x0128, - 0x8420, 0x9482, 0x0800, 0x0e28, 0x0048, 0x918c, 0x7fff, 0x00be, - 0x007e, 0x005e, 0x004e, 0x9085, 0x0001, 0x0005, 0x918c, 0x7fff, - 0x00be, 0x007e, 0x005e, 0x004e, 0x9006, 0x0005, 0x2071, 0x1906, - 0x7003, 0x0001, 0x7007, 0x0000, 0x9006, 0x7012, 0x7016, 0x701a, - 0x701e, 0x700a, 0x7046, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1919, - 0x900e, 0x710a, 0x080c, 0x538f, 0xd0fc, 0x1140, 0x080c, 0x538f, - 0x900e, 0xd09c, 0x0108, 0x8108, 0x7102, 0x0400, 0x2001, 0x1873, - 0x200c, 0x9184, 0x0007, 0x9006, 0x0002, 0x663e, 0x663e, 0x663e, - 0x663e, 0x663e, 0x6655, 0x6663, 0x663e, 0x7003, 0x0003, 0x2009, - 0x1874, 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, - 0x0002, 0x7006, 0x0018, 0x7003, 0x0005, 0x0c88, 0x00ee, 0x001e, - 0x0005, 0x00e6, 0x2071, 0x0050, 0x684c, 0x9005, 0x1150, 0x00e6, - 0x2071, 0x1906, 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, - 0x0488, 0x6844, 0x9005, 0x0158, 0x080c, 0x72f1, 0x6a60, 0x9200, - 0x7002, 0x6864, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6860, - 0x7002, 0x6864, 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, - 0x9005, 0x1110, 0x7012, 0x7016, 0x684c, 0x701a, 0x701c, 0x9085, - 0x0040, 0x701e, 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, - 0x1906, 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, - 0x00ee, 0x9006, 0x00ee, 0x0005, 0xa868, 0xd0fc, 0x11d8, 0x00e6, - 0x0026, 0x2001, 0x1919, 0x2004, 0x9005, 0x0904, 0x6896, 0xa87c, - 0xd0bc, 0x1904, 0x6896, 0xa978, 0xa874, 0x9105, 0x1904, 0x6896, - 0x2001, 0x1919, 0x2004, 0x0002, 0x6896, 0x66ef, 0x672b, 0x672b, - 0x6896, 0x672b, 0x0005, 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, - 0x2009, 0x1919, 0x210c, 0x81ff, 0x0904, 0x6896, 0xa87c, 0xd0cc, - 0x0904, 0x6896, 0xa880, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, - 0x6896, 0x9186, 0x0003, 0x0904, 0x672b, 0x9186, 0x0005, 0x0904, - 0x672b, 0xa84f, 0x8021, 0xa853, 0x0017, 0x0028, 0x0005, 0xa84f, - 0x8020, 0xa853, 0x0016, 0x2071, 0x1906, 0x701c, 0x9005, 0x1904, - 0x6a4a, 0x0e04, 0x6a95, 0x2071, 0x0000, 0xa84c, 0x7082, 0xa850, - 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2071, 0x1800, - 0x2011, 0x0001, 0xa804, 0x900d, 0x702c, 0x1158, 0xa802, 0x2900, - 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f46, 0x002e, 0x00ee, - 0x0005, 0x0096, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x009e, 0x0c58, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, - 0x2071, 0x1906, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x681a, - 0x782c, 0x908c, 0x0780, 0x190c, 0x6bbc, 0x8004, 0x8004, 0x8004, - 0x9084, 0x0003, 0x0002, 0x6749, 0x681a, 0x676e, 0x67b5, 0x080c, - 0x0db4, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1170, - 0x2071, 0x19ca, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, 0x2004, - 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, - 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, - 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f46, 0x0c10, 0x2071, 0x1800, - 0x2900, 0x7822, 0xa804, 0x900d, 0x1580, 0x7824, 0x00e6, 0x2071, - 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, 0x182f, 0x210c, 0x918a, - 0x0040, 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, - 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x7f46, - 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd0a4, 0x19f0, 0x2071, - 0x19ca, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, 0x2004, 0x8005, + 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0008, 0x9006, 0x01ce, + 0x013e, 0x0005, 0x0146, 0x01d6, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0004, 0x20a0, 0x20a9, 0x0010, 0x2009, 0xffff, 0x4104, 0x01de, + 0x014e, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, + 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, + 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, 0x0128, + 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0068, 0x0146, 0x01d6, 0x3300, + 0x8001, 0x20a0, 0x3c00, 0x20e8, 0x2001, 0xffff, 0x4004, 0x01de, + 0x014e, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0096, 0x0126, 0x2091, + 0x8000, 0xb8a4, 0x904d, 0x1128, 0x080c, 0x0feb, 0x0168, 0x2900, + 0xb8a6, 0x080c, 0x6412, 0xa803, 0x0001, 0xa807, 0x0000, 0x9085, + 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0096, 0x0126, + 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0130, 0xb8a7, 0x0000, 0x080c, + 0x101d, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0xb89c, 0xd0a4, + 0x0005, 0x00b6, 0x00f6, 0x080c, 0x6faa, 0x01b0, 0x71c0, 0x81ff, + 0x1198, 0x71d8, 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, 0x1000, + 0x2004, 0x905d, 0x0148, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, + 0x1118, 0xb800, 0xc0ed, 0xb802, 0x2079, 0x185b, 0x7804, 0x00d0, + 0x0156, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x6256, 0x1168, + 0xb804, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, 0x0118, 0x9086, + 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x001e, 0x8108, 0x1f04, + 0x649c, 0x015e, 0x080c, 0x6538, 0x0120, 0x2001, 0x195d, 0x200c, + 0x0030, 0x2079, 0x185b, 0x7804, 0x0030, 0x2009, 0x07d0, 0x2011, + 0x64c6, 0x080c, 0x80d1, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x2011, + 0x64c6, 0x080c, 0x803f, 0x080c, 0x6538, 0x01d8, 0x2001, 0x107e, + 0x2004, 0x2058, 0xb900, 0xc1ec, 0xb902, 0x080c, 0x6576, 0x0130, + 0x2009, 0x07d0, 0x2011, 0x64c6, 0x080c, 0x80d1, 0x00e6, 0x2071, + 0x1800, 0x9006, 0x707a, 0x705c, 0x707e, 0x080c, 0x2dc8, 0x00ee, + 0x04b0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, + 0x6256, 0x1538, 0xb800, 0xd0ec, 0x0520, 0x0046, 0xbaa0, 0x2220, + 0x9006, 0x2009, 0x0029, 0x080c, 0xd564, 0xb800, 0xc0e5, 0xc0ec, + 0xb802, 0x080c, 0x6572, 0x2001, 0x0707, 0x1128, 0xb804, 0x9084, + 0x00ff, 0x9085, 0x0700, 0xb806, 0x2019, 0x0029, 0x080c, 0x8582, + 0x0076, 0x903e, 0x080c, 0x8470, 0x900e, 0x080c, 0xd2d5, 0x007e, + 0x004e, 0x001e, 0x8108, 0x1f04, 0x64ee, 0x00ce, 0x015e, 0x00be, + 0x0005, 0x00b6, 0x6010, 0x2058, 0xb800, 0xc0ec, 0xb802, 0x00be, + 0x0005, 0x7810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ac, 0x0005, + 0x6010, 0x00b6, 0x905d, 0x0108, 0xb800, 0x00be, 0xd0bc, 0x0005, + 0x00b6, 0x00f6, 0x2001, 0x107e, 0x2004, 0x905d, 0x0110, 0xb800, + 0xd0ec, 0x00fe, 0x00be, 0x0005, 0x0126, 0x0026, 0x2091, 0x8000, + 0x0006, 0xbaa0, 0x9290, 0x1000, 0x2204, 0x9b06, 0x190c, 0x0db4, + 0x000e, 0xba00, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, 0xba02, + 0x002e, 0x012e, 0x0005, 0x2011, 0x1836, 0x2204, 0xd0cc, 0x0138, + 0x2001, 0x195b, 0x200c, 0x2011, 0x6568, 0x080c, 0x80d1, 0x0005, + 0x2011, 0x6568, 0x080c, 0x803f, 0x2011, 0x1836, 0x2204, 0xc0cc, + 0x2012, 0x0005, 0x080c, 0x539a, 0xd0ac, 0x0005, 0x080c, 0x539a, + 0xd0a4, 0x0005, 0x0016, 0xb904, 0x9184, 0x00ff, 0x908e, 0x0006, + 0x001e, 0x0005, 0x0016, 0xb904, 0x9184, 0xff00, 0x8007, 0x908e, + 0x0006, 0x001e, 0x0005, 0x00b6, 0x00f6, 0x080c, 0xc23b, 0x0158, + 0x70d8, 0x9084, 0x0028, 0x0138, 0x2001, 0x107f, 0x2004, 0x905d, + 0x0110, 0xb8bc, 0xd094, 0x00fe, 0x00be, 0x0005, 0x0006, 0x0016, + 0x0036, 0x0046, 0x0076, 0x00b6, 0x2001, 0x1817, 0x203c, 0x9780, + 0x3145, 0x203d, 0x97bc, 0xff00, 0x873f, 0x9006, 0x2018, 0x2008, + 0x9284, 0x8000, 0x0110, 0x2019, 0x0001, 0x9294, 0x7fff, 0x2100, + 0x9706, 0x0190, 0x91a0, 0x1000, 0x2404, 0x905d, 0x0168, 0xb804, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x1138, 0x83ff, 0x0118, 0xb89c, + 0xd0a4, 0x0110, 0x8211, 0x0158, 0x8108, 0x83ff, 0x0120, 0x9182, + 0x0800, 0x0e28, 0x0068, 0x9182, 0x007e, 0x0e08, 0x0048, 0x00be, + 0x007e, 0x004e, 0x003e, 0x001e, 0x9085, 0x0001, 0x000e, 0x0005, + 0x00be, 0x007e, 0x004e, 0x003e, 0x001e, 0x9006, 0x000e, 0x0005, + 0x0046, 0x0056, 0x0076, 0x00b6, 0x2100, 0x9084, 0x7fff, 0x9080, + 0x1000, 0x2004, 0x905d, 0x0130, 0xb804, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x0550, 0x9184, 0x8000, 0x0580, 0x2001, 0x1817, 0x203c, + 0x9780, 0x3145, 0x203d, 0x97bc, 0xff00, 0x873f, 0x9006, 0x2020, + 0x2400, 0x9706, 0x01a0, 0x94a8, 0x1000, 0x2504, 0x905d, 0x0178, + 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1148, 0xb89c, 0xd0a4, + 0x0130, 0xb814, 0x9206, 0x1118, 0xb810, 0x9306, 0x0128, 0x8420, + 0x9482, 0x0800, 0x0e28, 0x0048, 0x918c, 0x7fff, 0x00be, 0x007e, + 0x005e, 0x004e, 0x9085, 0x0001, 0x0005, 0x918c, 0x7fff, 0x00be, + 0x007e, 0x005e, 0x004e, 0x9006, 0x0005, 0x2071, 0x190e, 0x7003, + 0x0001, 0x7007, 0x0000, 0x9006, 0x7012, 0x7016, 0x701a, 0x701e, + 0x700a, 0x7046, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1921, 0x900e, + 0x710a, 0x080c, 0x539a, 0xd0fc, 0x1140, 0x080c, 0x539a, 0x900e, + 0xd09c, 0x0108, 0x8108, 0x7102, 0x0400, 0x2001, 0x187b, 0x200c, + 0x9184, 0x0007, 0x9006, 0x0002, 0x664d, 0x664d, 0x664d, 0x664d, + 0x664d, 0x6664, 0x6672, 0x664d, 0x7003, 0x0003, 0x2009, 0x187c, + 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, 0x0002, + 0x7006, 0x0018, 0x7003, 0x0005, 0x0c88, 0x00ee, 0x001e, 0x0005, + 0x00e6, 0x2071, 0x0050, 0x684c, 0x9005, 0x1150, 0x00e6, 0x2071, + 0x190e, 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, 0x0488, + 0x6844, 0x9005, 0x0158, 0x080c, 0x72fe, 0x6a60, 0x9200, 0x7002, + 0x6864, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6860, 0x7002, + 0x6864, 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, 0x9005, + 0x1110, 0x7012, 0x7016, 0x684c, 0x701a, 0x701c, 0x9085, 0x0040, + 0x701e, 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, 0x190e, + 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, 0x00ee, + 0x9006, 0x00ee, 0x0005, 0xa868, 0xd0fc, 0x11d8, 0x00e6, 0x0026, + 0x2001, 0x1921, 0x2004, 0x9005, 0x0904, 0x68a5, 0xa87c, 0xd0bc, + 0x1904, 0x68a5, 0xa978, 0xa874, 0x9105, 0x1904, 0x68a5, 0x2001, + 0x1921, 0x2004, 0x0002, 0x68a5, 0x66fe, 0x673a, 0x673a, 0x68a5, + 0x673a, 0x0005, 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, + 0x1921, 0x210c, 0x81ff, 0x0904, 0x68a5, 0xa87c, 0xd0cc, 0x0904, + 0x68a5, 0xa880, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x68a5, + 0x9186, 0x0003, 0x0904, 0x673a, 0x9186, 0x0005, 0x0904, 0x673a, + 0xa84f, 0x8021, 0xa853, 0x0017, 0x0028, 0x0005, 0xa84f, 0x8020, + 0xa853, 0x0016, 0x2071, 0x190e, 0x701c, 0x9005, 0x1904, 0x6a59, + 0x0e04, 0x6aa4, 0x2071, 0x0000, 0xa84c, 0x7082, 0xa850, 0x7032, + 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2071, 0x1800, 0x2011, + 0x0001, 0xa804, 0x900d, 0x702c, 0x1158, 0xa802, 0x2900, 0x702e, + 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f64, 0x002e, 0x00ee, 0x0005, + 0x0096, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, + 0x009e, 0x0c58, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, + 0x190e, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x6829, 0x782c, + 0x908c, 0x0780, 0x190c, 0x6bcb, 0x8004, 0x8004, 0x8004, 0x9084, + 0x0003, 0x0002, 0x6758, 0x6829, 0x677d, 0x67c4, 0x080c, 0x0db4, + 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1170, 0x2071, + 0x19d2, 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, - 0x9200, 0x70be, 0x080c, 0x7f46, 0x0800, 0x0096, 0x00e6, 0x7824, - 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, - 0x8000, 0x70be, 0x080c, 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, - 0x6bbc, 0xd0a4, 0x1d60, 0x00ee, 0x782c, 0x9094, 0x0780, 0x190c, - 0x6bbc, 0xd09c, 0x11a0, 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, - 0x1560, 0x2071, 0x19ca, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, - 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x009e, - 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, - 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1170, 0x2071, - 0x19ca, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, 0x2004, 0x8005, - 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, - 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, - 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f46, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, - 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, - 0x1904, 0x686f, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd09c, - 0x1198, 0x701c, 0x904d, 0x0180, 0x7010, 0x8001, 0x7012, 0x1108, - 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6bbc, 0xd09c, 0x0d68, 0x782c, 0x9094, 0x0780, 0x190c, - 0x6bbc, 0xd0a4, 0x01b0, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, - 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, - 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd0a4, 0x1d60, - 0x00ee, 0x2071, 0x19ca, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, - 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, - 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, - 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, - 0x7f46, 0x00ee, 0x0804, 0x682a, 0xa868, 0xd0fc, 0x1904, 0x68d2, - 0x0096, 0xa804, 0xa807, 0x0000, 0x904d, 0x190c, 0x0f9d, 0x009e, - 0x0018, 0xa868, 0xd0fc, 0x15f0, 0x00e6, 0x0026, 0xa84f, 0x0000, - 0x00f6, 0x2079, 0x0050, 0x2071, 0x1800, 0x70e8, 0x8001, 0x01d0, - 0x1678, 0x2071, 0x1906, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, - 0x69c8, 0x782c, 0x908c, 0x0780, 0x190c, 0x6bbc, 0x8004, 0x8004, - 0x8004, 0x9084, 0x0003, 0x0002, 0x68d3, 0x69c8, 0x68ee, 0x695b, - 0x080c, 0x0db4, 0x70eb, 0x0fa0, 0x71e4, 0x8107, 0x9106, 0x9094, - 0x00c0, 0x9184, 0xff3f, 0x9205, 0x70e6, 0x3b08, 0x3a00, 0x9104, - 0x918d, 0x00c0, 0x21d8, 0x9084, 0xff3f, 0x9205, 0x20d0, 0x0888, - 0x70ea, 0x0878, 0x0005, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, - 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, + 0x9200, 0x70be, 0x080c, 0x7f64, 0x0c10, 0x2071, 0x1800, 0x2900, + 0x7822, 0xa804, 0x900d, 0x1580, 0x7824, 0x00e6, 0x2071, 0x0040, + 0x712c, 0xd19c, 0x1148, 0x2009, 0x182f, 0x210c, 0x918a, 0x0040, + 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, + 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x7f64, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd0a4, 0x19f0, 0x2071, 0x19d2, + 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, + 0x70be, 0x080c, 0x7f64, 0x0800, 0x0096, 0x00e6, 0x7824, 0x2048, + 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, + 0x70be, 0x080c, 0x7f64, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, + 0xd0a4, 0x1d60, 0x00ee, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, + 0xd09c, 0x11a0, 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x1560, + 0x2071, 0x19d2, 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, + 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x009e, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1170, 0x2071, 0x19d2, + 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, - 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f46, 0x0c60, 0x2071, 0x1800, - 0x2900, 0x7822, 0xa804, 0x900d, 0x1904, 0x694a, 0x7830, 0x8007, - 0x9084, 0x001f, 0x9082, 0x0001, 0x1220, 0x00fe, 0x002e, 0x00ee, - 0x0005, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, - 0x2009, 0x182f, 0x210c, 0x918a, 0x0040, 0x0218, 0x7022, 0x00ee, - 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, - 0x8000, 0x70be, 0x080c, 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, - 0x6bbc, 0xd0a4, 0x19f0, 0x0e04, 0x6941, 0x7838, 0x7938, 0x910e, - 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, - 0x2001, 0x1917, 0x200c, 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x00fe, 0x002e, 0x00ee, - 0x0005, 0x2001, 0x1917, 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, - 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, - 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, - 0x7f46, 0x0804, 0x6901, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, - 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd0a4, - 0x1d60, 0x00ee, 0x0e04, 0x699b, 0x7838, 0x7938, 0x910e, 0x1de0, - 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, - 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x1187, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd09c, - 0x1170, 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x11e0, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x0c58, 0x009e, - 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, - 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1120, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, + 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f64, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, + 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, + 0x687e, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd09c, 0x1198, + 0x701c, 0x904d, 0x0180, 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, + 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6bcb, 0xd09c, 0x0d68, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, + 0xd0a4, 0x01b0, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x7f64, + 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd0a4, 0x1d60, 0x00ee, + 0x2071, 0x19d2, 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, + 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, + 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f64, + 0x00ee, 0x0804, 0x6839, 0xa868, 0xd0fc, 0x1904, 0x68e1, 0x0096, + 0xa804, 0xa807, 0x0000, 0x904d, 0x190c, 0x0f9d, 0x009e, 0x0018, + 0xa868, 0xd0fc, 0x15f0, 0x00e6, 0x0026, 0xa84f, 0x0000, 0x00f6, + 0x2079, 0x0050, 0x2071, 0x1800, 0x70e8, 0x8001, 0x01d0, 0x1678, + 0x2071, 0x190e, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x69d7, + 0x782c, 0x908c, 0x0780, 0x190c, 0x6bcb, 0x8004, 0x8004, 0x8004, + 0x9084, 0x0003, 0x0002, 0x68e2, 0x69d7, 0x68fd, 0x696a, 0x080c, + 0x0db4, 0x70eb, 0x0fa0, 0x71e4, 0x8107, 0x9106, 0x9094, 0x00c0, + 0x9184, 0xff3f, 0x9205, 0x70e6, 0x3b08, 0x3a00, 0x9104, 0x918d, + 0x00c0, 0x21d8, 0x9084, 0xff3f, 0x9205, 0x20d0, 0x0888, 0x70ea, + 0x0878, 0x0005, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, + 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, - 0x9200, 0x70be, 0x080c, 0x7f46, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x9200, 0x70be, 0x080c, 0x7f64, 0x0c60, 0x2071, 0x1800, 0x2900, + 0x7822, 0xa804, 0x900d, 0x1904, 0x6959, 0x7830, 0x8007, 0x9084, + 0x001f, 0x9082, 0x0001, 0x1220, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, + 0x182f, 0x210c, 0x918a, 0x0040, 0x0218, 0x7022, 0x00ee, 0x0058, + 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, + 0x70be, 0x080c, 0x7f64, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, + 0xd0a4, 0x19f0, 0x0e04, 0x6950, 0x7838, 0x7938, 0x910e, 0x1de0, + 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2001, + 0x191f, 0x200c, 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x1187, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x2001, 0x191f, 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f64, + 0x0804, 0x6910, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x7f64, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd0a4, 0x1d60, + 0x00ee, 0x0e04, 0x69aa, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, + 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, + 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x1187, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd09c, 0x1170, + 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x11e0, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x0c58, 0x009e, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, + 0x70be, 0x080c, 0x7f64, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6a44, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd09c, 0x11b0, 0x701c, 0x904d, + 0x0198, 0xa84c, 0x9005, 0x1180, 0x7010, 0x8001, 0x7012, 0x1108, + 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, + 0x190c, 0x6bcb, 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6bcb, 0xd0a4, 0x05a8, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x7f64, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd0a4, 0x1d60, + 0x00ee, 0x0e04, 0x6a3d, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, + 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, + 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x1187, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, + 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, + 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f64, 0x00ee, 0x0804, + 0x69e7, 0x2071, 0x190e, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, + 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, + 0x2148, 0xa804, 0x900d, 0x1128, 0x1e04, 0x6a84, 0x002e, 0x00ee, + 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, + 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, + 0x080c, 0x7f64, 0x0e04, 0x6a6e, 0x2071, 0x190e, 0x701c, 0x2048, + 0xa84c, 0x900d, 0x0d18, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, + 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2071, 0x190e, 0x080c, + 0x6bb7, 0x002e, 0x00ee, 0x0005, 0x2071, 0x190e, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, - 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6a35, - 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd09c, 0x11b0, 0x701c, - 0x904d, 0x0198, 0xa84c, 0x9005, 0x1180, 0x7010, 0x8001, 0x7012, - 0x1108, 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, - 0x0780, 0x190c, 0x6bbc, 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6bbc, 0xd0a4, 0x05a8, 0x00e6, 0x7824, 0x2048, 0x2071, - 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd0a4, - 0x1d60, 0x00ee, 0x0e04, 0x6a2e, 0x7838, 0x7938, 0x910e, 0x1de0, - 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, - 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x1187, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, - 0x7046, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, - 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x7f46, 0x00ee, - 0x0804, 0x69d8, 0x2071, 0x1906, 0xa803, 0x0000, 0x2908, 0x7010, - 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, - 0x711e, 0x2148, 0xa804, 0x900d, 0x1128, 0x1e04, 0x6a75, 0x002e, + 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, - 0x70be, 0x080c, 0x7f46, 0x0e04, 0x6a5f, 0x2071, 0x1906, 0x701c, - 0x2048, 0xa84c, 0x900d, 0x0d18, 0x2071, 0x0000, 0x7182, 0xa850, - 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2071, 0x1906, - 0x080c, 0x6ba8, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1906, 0xa803, - 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, - 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1118, - 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, - 0x9200, 0x70be, 0x080c, 0x7f46, 0x002e, 0x00ee, 0x0005, 0x0006, - 0xa87c, 0x0006, 0xa867, 0x0103, 0x20a9, 0x001c, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x001d, 0x20a0, 0x9006, 0x4004, 0x000e, 0x9084, - 0x00ff, 0xa87e, 0x000e, 0xa87a, 0xa982, 0x0005, 0x2071, 0x1906, - 0x7004, 0x0002, 0x6ae0, 0x6ae1, 0x6ba7, 0x6ae1, 0x0db4, 0x6ba7, - 0x0005, 0x2001, 0x1919, 0x2004, 0x0002, 0x6aeb, 0x6aeb, 0x6b40, - 0x6b41, 0x6aeb, 0x6b41, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x6bc7, - 0x701c, 0x904d, 0x01e0, 0xa84c, 0x9005, 0x01d8, 0x0e04, 0x6b0f, - 0xa94c, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, - 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x1187, 0x2071, 0x1906, 0x080c, 0x6ba8, 0x012e, - 0x0470, 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x6bbc, - 0xd09c, 0x2071, 0x1906, 0x1510, 0x2071, 0x1906, 0x700f, 0x0001, + 0x70be, 0x080c, 0x7f64, 0x002e, 0x00ee, 0x0005, 0x0006, 0xa87c, + 0x0006, 0xa867, 0x0103, 0x20a9, 0x001c, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x001d, 0x20a0, 0x9006, 0x4004, 0x000e, 0x9084, 0x00ff, + 0xa87e, 0x000e, 0xa87a, 0xa982, 0x0005, 0x2071, 0x190e, 0x7004, + 0x0002, 0x6aef, 0x6af0, 0x6bb6, 0x6af0, 0x0db4, 0x6bb6, 0x0005, + 0x2001, 0x1921, 0x2004, 0x0002, 0x6afa, 0x6afa, 0x6b4f, 0x6b50, + 0x6afa, 0x6b50, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x6bd6, 0x701c, + 0x904d, 0x01e0, 0xa84c, 0x9005, 0x01d8, 0x0e04, 0x6b1e, 0xa94c, + 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, + 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x1187, 0x2071, 0x190e, 0x080c, 0x6bb7, 0x012e, 0x0470, + 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd09c, + 0x2071, 0x190e, 0x1510, 0x2071, 0x190e, 0x700f, 0x0001, 0xa964, + 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, + 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, + 0x00de, 0x2071, 0x190e, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, + 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, + 0x00d6, 0x2008, 0x2069, 0x19d2, 0x683c, 0x9005, 0x0760, 0x0158, + 0x9186, 0x0003, 0x0540, 0x2001, 0x1814, 0x2004, 0x2009, 0x1a9f, + 0x210c, 0x9102, 0x1500, 0x0126, 0x2091, 0x8000, 0x2069, 0x0050, + 0x693c, 0x6838, 0x9106, 0x0190, 0x0e04, 0x6b82, 0x2069, 0x0000, + 0x6837, 0x8040, 0x6833, 0x0012, 0x6883, 0x8040, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2069, 0x19d2, + 0x683f, 0xffff, 0x012e, 0x00de, 0x0126, 0x2091, 0x8000, 0x1e0c, + 0x6c37, 0x701c, 0x904d, 0x0540, 0x2001, 0x005b, 0x2004, 0x9094, + 0x0780, 0x15c9, 0xd09c, 0x1500, 0x2071, 0x190e, 0x700f, 0x0001, 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, - 0x6822, 0x00de, 0x2071, 0x1906, 0x701c, 0x2048, 0x7010, 0x8001, - 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, - 0x0005, 0x00d6, 0x2008, 0x2069, 0x19ca, 0x683c, 0x9005, 0x0760, - 0x0158, 0x9186, 0x0003, 0x0540, 0x2001, 0x1814, 0x2004, 0x2009, - 0x1a97, 0x210c, 0x9102, 0x1500, 0x0126, 0x2091, 0x8000, 0x2069, - 0x0050, 0x693c, 0x6838, 0x9106, 0x0190, 0x0e04, 0x6b73, 0x2069, - 0x0000, 0x6837, 0x8040, 0x6833, 0x0012, 0x6883, 0x8040, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x1187, 0x2069, - 0x19ca, 0x683f, 0xffff, 0x012e, 0x00de, 0x0126, 0x2091, 0x8000, - 0x1e0c, 0x6c28, 0x701c, 0x904d, 0x0540, 0x2001, 0x005b, 0x2004, - 0x9094, 0x0780, 0x15c9, 0xd09c, 0x1500, 0x2071, 0x1906, 0x700f, - 0x0001, 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, - 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, - 0x0050, 0x6822, 0x00de, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, - 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, - 0x0126, 0x2091, 0x8000, 0x701c, 0x904d, 0x0160, 0x7010, 0x8001, - 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, - 0x101d, 0x0005, 0x012e, 0x0005, 0x2091, 0x8000, 0x0e04, 0x6bbe, - 0x0006, 0x0016, 0x2001, 0x8004, 0x0006, 0x0804, 0x0dbd, 0x0096, - 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01c0, 0xc084, 0x7046, - 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, - 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x1187, 0x00fe, 0x009e, 0x0005, 0x782c, 0x9094, - 0x0780, 0x1991, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, - 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, 0x182f, - 0x210c, 0x918a, 0x0040, 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, - 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd0a4, - 0x19f0, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, - 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x1187, 0x00ee, 0x00fe, 0x009e, 0x0005, - 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, + 0x6822, 0x00de, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, + 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x0126, + 0x2091, 0x8000, 0x701c, 0x904d, 0x0160, 0x7010, 0x8001, 0x7012, + 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, 0x101d, + 0x0005, 0x012e, 0x0005, 0x2091, 0x8000, 0x0e04, 0x6bcd, 0x0006, + 0x0016, 0x2001, 0x8004, 0x0006, 0x0804, 0x0dbd, 0x0096, 0x00f6, + 0x2079, 0x0050, 0x7044, 0xd084, 0x01c0, 0xc084, 0x7046, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x1187, 0x00fe, 0x009e, 0x0005, 0x782c, 0x9094, 0x0780, + 0x1991, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x00e6, + 0x2071, 0x0040, 0x712c, 0xd19c, 0x1148, 0x2009, 0x182f, 0x210c, + 0x918a, 0x0040, 0x0218, 0x7022, 0x00ee, 0x0058, 0x00ee, 0x2048, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x7f64, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd0a4, 0x19f0, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x1187, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6bbc, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, - 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x7f46, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bbc, 0xd0a4, - 0x1d70, 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, 0x1919, 0x6808, - 0x690a, 0x2069, 0x19ca, 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, - 0x2001, 0x191a, 0x200c, 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, - 0x0005, 0x7094, 0x908a, 0x0029, 0x1a0c, 0x0db4, 0x9082, 0x001d, - 0x001b, 0x6027, 0x1e00, 0x0005, 0x6d50, 0x6cd6, 0x6cf2, 0x6d1c, - 0x6d3f, 0x6d7f, 0x6d91, 0x6cf2, 0x6d67, 0x6c91, 0x6cbf, 0x6c90, - 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, 0x1180, 0x6808, - 0x9005, 0x1518, 0x7097, 0x0028, 0x2069, 0x195f, 0x2d04, 0x7002, - 0x080c, 0x70d4, 0x6028, 0x9085, 0x0600, 0x602a, 0x00b0, 0x7097, - 0x0028, 0x2069, 0x195f, 0x2d04, 0x7002, 0x6028, 0x9085, 0x0600, - 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a32, 0x080c, - 0x195a, 0x005e, 0x004e, 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, - 0x2069, 0x0200, 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, - 0x7097, 0x0028, 0x2069, 0x195f, 0x2d04, 0x7002, 0x080c, 0x716e, - 0x6028, 0x9085, 0x0600, 0x602a, 0x00de, 0x0005, 0x0006, 0x2001, - 0x0090, 0x080c, 0x2b16, 0x000e, 0x6124, 0xd1e4, 0x1190, 0x080c, - 0x6dfe, 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x7097, - 0x0020, 0x080c, 0x6dfe, 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, - 0x001f, 0x0005, 0x2001, 0x0088, 0x080c, 0x2b16, 0x6124, 0xd1cc, - 0x11e8, 0xd1dc, 0x11c0, 0xd1e4, 0x1198, 0x9184, 0x1e00, 0x11d8, - 0x080c, 0x1984, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, - 0x6fc7, 0x2001, 0x0080, 0x080c, 0x2b16, 0x7097, 0x0028, 0x0058, - 0x7097, 0x001e, 0x0040, 0x7097, 0x001d, 0x0028, 0x7097, 0x0020, - 0x0010, 0x7097, 0x001f, 0x0005, 0x080c, 0x1984, 0x60e3, 0x0001, - 0x600c, 0xc0b4, 0x600e, 0x080c, 0x6fc7, 0x2001, 0x0080, 0x080c, - 0x2b16, 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, - 0x9184, 0x1e00, 0x1158, 0x7097, 0x0028, 0x0040, 0x7097, 0x001e, - 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, 0x0005, 0x2001, - 0x00a0, 0x080c, 0x2b16, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, - 0x080c, 0x1984, 0x7097, 0x001e, 0x0010, 0x7097, 0x001d, 0x0005, - 0x080c, 0x6e81, 0x6124, 0xd1dc, 0x1188, 0x080c, 0x6dfe, 0x0016, - 0x080c, 0x1984, 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x7097, - 0x001e, 0x0020, 0x7097, 0x001f, 0x080c, 0x6dfe, 0x0005, 0x0006, - 0x2001, 0x00a0, 0x080c, 0x2b16, 0x000e, 0x6124, 0xd1d4, 0x1160, - 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x7097, 0x001e, - 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x0021, 0x0005, 0x080c, - 0x6e81, 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, - 0x7097, 0x001e, 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, - 0x0005, 0x0006, 0x2001, 0x0090, 0x080c, 0x2b16, 0x000e, 0x6124, - 0xd1d4, 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, - 0x7097, 0x001e, 0x0040, 0x7097, 0x001d, 0x0028, 0x7097, 0x0020, - 0x0010, 0x7097, 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, - 0x0126, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, - 0x8000, 0x080c, 0x6f9b, 0x11d8, 0x2001, 0x180c, 0x200c, 0xd1b4, - 0x01b0, 0xc1b4, 0x2102, 0x6027, 0x0200, 0x080c, 0x2a5f, 0x6024, - 0xd0cc, 0x0148, 0x2001, 0x00a0, 0x080c, 0x2b16, 0x080c, 0x727f, - 0x080c, 0x5cda, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, - 0x6fb5, 0x0150, 0x080c, 0x6fac, 0x1138, 0x2001, 0x0001, 0x080c, - 0x260e, 0x080c, 0x6f73, 0x00a0, 0x080c, 0x6e7e, 0x0178, 0x2001, - 0x0001, 0x080c, 0x260e, 0x7094, 0x9086, 0x001e, 0x0120, 0x7094, - 0x9086, 0x0022, 0x1118, 0x7097, 0x0025, 0x0010, 0x7097, 0x0021, - 0x012e, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, - 0x6e0f, 0x080c, 0x80f5, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, - 0x2011, 0x6e0f, 0x080c, 0x80ec, 0x002e, 0x001e, 0x0005, 0x00e6, - 0x00f6, 0x0016, 0x080c, 0x93ad, 0x2071, 0x1800, 0x080c, 0x6dac, - 0x001e, 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x0126, 0x080c, 0x93ad, 0x2061, 0x0100, - 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x6028, 0xc09c, - 0x602a, 0x2011, 0x0003, 0x080c, 0x9772, 0x2011, 0x0002, 0x080c, - 0x977c, 0x080c, 0x9663, 0x080c, 0x80a1, 0x0036, 0x901e, 0x080c, - 0x96d9, 0x003e, 0x60e3, 0x0000, 0x080c, 0xd8d5, 0x080c, 0xd8f0, - 0x2009, 0x0004, 0x080c, 0x2a65, 0x080c, 0x2980, 0x2001, 0x1800, - 0x2003, 0x0004, 0x6027, 0x0008, 0x2011, 0x6e0f, 0x080c, 0x80f5, - 0x080c, 0x6fb5, 0x0118, 0x9006, 0x080c, 0x2b16, 0x080c, 0x0b8f, - 0x2001, 0x0001, 0x080c, 0x260e, 0x012e, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, - 0x6e1c, 0x2071, 0x19ca, 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, - 0x0110, 0x9085, 0x0001, 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, - 0x0005, 0x6800, 0x9084, 0xfffe, 0x9086, 0x00c0, 0x01b8, 0x2001, - 0x00c0, 0x080c, 0x2b16, 0x0156, 0x20a9, 0x002d, 0x1d04, 0x6e8e, - 0x2091, 0x6000, 0x1f04, 0x6e8e, 0x015e, 0x00d6, 0x2069, 0x1800, - 0x6898, 0x8001, 0x0220, 0x0118, 0x689a, 0x00de, 0x0005, 0x689b, - 0x0014, 0x68e4, 0xd0dc, 0x0dc8, 0x6800, 0x9086, 0x0001, 0x1da8, - 0x080c, 0x8101, 0x0c90, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, - 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x728e, 0x2001, 0x193d, - 0x2003, 0x0000, 0x9006, 0x7096, 0x60e2, 0x6886, 0x080c, 0x26d9, - 0x9006, 0x080c, 0x2b16, 0x080c, 0x5b99, 0x6027, 0xffff, 0x602b, - 0x182f, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, - 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2001, 0x194d, - 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, 0x0158, 0x9186, - 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, 0x6f63, 0x7097, - 0x0022, 0x0040, 0x7097, 0x0021, 0x0028, 0x7097, 0x0023, 0x0010, - 0x7097, 0x0024, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, - 0x080c, 0x26d9, 0x0026, 0x080c, 0x9dc8, 0x002e, 0x7000, 0x908e, - 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, 0x0020, 0x0156, - 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, 0xd0ac, 0x0150, - 0x012e, 0x015e, 0x080c, 0xc22c, 0x0118, 0x9006, 0x080c, 0x2b40, - 0x0804, 0x6f6f, 0x6800, 0x9084, 0x00a1, 0xc0bd, 0x6802, 0x080c, - 0x2a5f, 0x6904, 0xd1d4, 0x1140, 0x2001, 0x0100, 0x080c, 0x2b16, - 0x1f04, 0x6f0d, 0x080c, 0x6ff2, 0x012e, 0x015e, 0x080c, 0x6fac, - 0x01a8, 0x6044, 0x9005, 0x0168, 0x6050, 0x0006, 0x9085, 0x0020, - 0x6052, 0x080c, 0x6ff2, 0x9006, 0x8001, 0x1df0, 0x000e, 0x6052, - 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, 0x6ff2, 0x080c, 0xc22c, - 0x0118, 0x9006, 0x080c, 0x2b40, 0x0016, 0x0026, 0x7000, 0x908e, - 0x0004, 0x0130, 0x2009, 0x00c8, 0x2011, 0x6e1c, 0x080c, 0x80b3, - 0x002e, 0x001e, 0x080c, 0x7f3d, 0x7034, 0xc085, 0x7036, 0x2001, - 0x194d, 0x2003, 0x0004, 0x080c, 0x6c79, 0x080c, 0x6fac, 0x0138, - 0x6804, 0xd0d4, 0x1120, 0xd0dc, 0x1100, 0x080c, 0x7284, 0x00ee, - 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, - 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x7f54, 0x080c, 0x7f46, - 0x080c, 0x728e, 0x2001, 0x193d, 0x2003, 0x0000, 0x9006, 0x7096, - 0x60e2, 0x6886, 0x080c, 0x26d9, 0x9006, 0x080c, 0x2b16, 0x6043, - 0x0090, 0x6043, 0x0010, 0x6027, 0xffff, 0x602b, 0x182f, 0x00ee, - 0x00de, 0x00ce, 0x0005, 0x0006, 0x2001, 0x194c, 0x2004, 0x9086, - 0xaaaa, 0x000e, 0x0005, 0x0006, 0x080c, 0x5393, 0x9084, 0x0030, - 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, 0x080c, 0x5393, 0x9084, - 0x0030, 0x9086, 0x0030, 0x000e, 0x0005, 0x0006, 0x080c, 0x5393, - 0x9084, 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, 0x0006, 0x080c, - 0x5393, 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, 0x0036, - 0x0016, 0x2001, 0x180c, 0x2004, 0x908c, 0x0013, 0x0180, 0x0020, - 0x080c, 0x26f9, 0x900e, 0x0028, 0x080c, 0x6563, 0x1dc8, 0x2009, - 0x0002, 0x2019, 0x0028, 0x080c, 0x2fa7, 0x9006, 0x0019, 0x001e, - 0x003e, 0x0005, 0x00e6, 0x2071, 0x180c, 0x2e04, 0x0130, 0x080c, - 0xc225, 0x1128, 0x9085, 0x0010, 0x0010, 0x9084, 0xffef, 0x2072, - 0x00ee, 0x0005, 0x6050, 0x0006, 0x60ec, 0x0006, 0x600c, 0x0006, - 0x6004, 0x0006, 0x6028, 0x0006, 0x0016, 0x6138, 0x6050, 0x9084, - 0xfbff, 0x9085, 0x2000, 0x6052, 0x613a, 0x20a9, 0x0012, 0x1d04, - 0x7007, 0x2091, 0x6000, 0x1f04, 0x7007, 0x602f, 0x0100, 0x602f, - 0x0000, 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x613a, - 0x001e, 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, 0x602a, 0x000e, - 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x60e3, 0x0000, 0x6887, - 0x0001, 0x2001, 0x0001, 0x080c, 0x26d9, 0x2001, 0x00a0, 0x0006, - 0x080c, 0xc22c, 0x000e, 0x0130, 0x080c, 0x2b34, 0x9006, 0x080c, - 0x2b40, 0x0010, 0x080c, 0x2b16, 0x000e, 0x6052, 0x6050, 0x0006, - 0xc0e5, 0x6052, 0x00f6, 0x2079, 0x0100, 0x080c, 0x29d4, 0x00fe, - 0x000e, 0x6052, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, - 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, - 0x6020, 0x9084, 0x0080, 0x0138, 0x2001, 0x180c, 0x200c, 0xc1c5, - 0x2102, 0x0804, 0x70c6, 0x2001, 0x180c, 0x200c, 0xc1c4, 0x2102, - 0x6028, 0x9084, 0xe1ff, 0x602a, 0x6027, 0x0200, 0x2001, 0x0090, - 0x080c, 0x2b16, 0x20a9, 0x0366, 0x6024, 0xd0cc, 0x1518, 0x1d04, - 0x7074, 0x2091, 0x6000, 0x1f04, 0x7074, 0x2011, 0x0003, 0x080c, - 0x9772, 0x2011, 0x0002, 0x080c, 0x977c, 0x080c, 0x9663, 0x901e, - 0x080c, 0x96d9, 0x2001, 0x00a0, 0x080c, 0x2b16, 0x080c, 0x727f, - 0x080c, 0x5cda, 0x080c, 0xc22c, 0x0110, 0x080c, 0x0d22, 0x9085, - 0x0001, 0x0490, 0x86ff, 0x1110, 0x080c, 0x1984, 0x60e3, 0x0000, - 0x2001, 0x0002, 0x080c, 0x26d9, 0x60e2, 0x2001, 0x0080, 0x080c, - 0x2b16, 0x20a9, 0x0366, 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, - 0x2a5f, 0x6024, 0x910c, 0x0138, 0x1d04, 0x70ab, 0x2091, 0x6000, - 0x1f04, 0x70ab, 0x0810, 0x6028, 0x9085, 0x1e00, 0x602a, 0x70b0, - 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x080c, 0xc22c, - 0x0110, 0x080c, 0x0d22, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, - 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, - 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x7000, - 0x9086, 0x0003, 0x1168, 0x2001, 0x020b, 0x2004, 0x9084, 0x5540, - 0x9086, 0x5540, 0x1128, 0x2069, 0x1a48, 0x2d04, 0x8000, 0x206a, - 0x2069, 0x0140, 0x6020, 0x9084, 0x00c0, 0x0120, 0x6884, 0x9005, - 0x1904, 0x7139, 0x2001, 0x0088, 0x080c, 0x2b16, 0x9006, 0x60e2, - 0x6886, 0x080c, 0x26d9, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, - 0x6808, 0x9005, 0x01c0, 0x6028, 0x9084, 0xfbff, 0x602a, 0x6027, - 0x0400, 0x2069, 0x195f, 0x7000, 0x206a, 0x7097, 0x0026, 0x7003, - 0x0001, 0x20a9, 0x0002, 0x1d04, 0x711b, 0x2091, 0x6000, 0x1f04, - 0x711b, 0x0804, 0x7166, 0x2069, 0x0140, 0x20a9, 0x0384, 0x6027, - 0x1e00, 0x2009, 0x1e00, 0x080c, 0x2a5f, 0x6024, 0x910c, 0x0508, - 0x9084, 0x1a00, 0x11f0, 0x1d04, 0x7127, 0x2091, 0x6000, 0x1f04, - 0x7127, 0x2011, 0x0003, 0x080c, 0x9772, 0x2011, 0x0002, 0x080c, - 0x977c, 0x080c, 0x9663, 0x901e, 0x080c, 0x96d9, 0x2001, 0x00a0, - 0x080c, 0x2b16, 0x080c, 0x727f, 0x080c, 0x5cda, 0x9085, 0x0001, - 0x00a8, 0x2001, 0x0080, 0x080c, 0x2b16, 0x2069, 0x0140, 0x60e3, - 0x0000, 0x70b0, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, - 0x2001, 0x0002, 0x080c, 0x26d9, 0x60e2, 0x9006, 0x00ee, 0x00de, - 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, - 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, - 0x1800, 0x6020, 0x9084, 0x00c0, 0x01c8, 0x2011, 0x0003, 0x080c, - 0x9772, 0x2011, 0x0002, 0x080c, 0x977c, 0x080c, 0x9663, 0x901e, - 0x080c, 0x96d9, 0x2069, 0x0140, 0x2001, 0x00a0, 0x080c, 0x2b16, - 0x080c, 0x727f, 0x080c, 0x5cda, 0x0804, 0x7200, 0x2001, 0x180c, - 0x200c, 0xd1b4, 0x1160, 0xc1b5, 0x2102, 0x080c, 0x6e04, 0x2069, - 0x0140, 0x2001, 0x0080, 0x080c, 0x2b16, 0x60e3, 0x0000, 0x2069, - 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x0180, 0x6028, - 0x9084, 0xfdff, 0x602a, 0x6027, 0x0200, 0x2069, 0x195f, 0x7000, - 0x206a, 0x7097, 0x0027, 0x7003, 0x0001, 0x0804, 0x7200, 0x6027, - 0x1e00, 0x2009, 0x1e00, 0x080c, 0x2a5f, 0x6024, 0x910c, 0x01c8, - 0x9084, 0x1c00, 0x11b0, 0x1d04, 0x71bf, 0x0006, 0x0016, 0x00c6, - 0x00d6, 0x00e6, 0x080c, 0x7f85, 0x00ee, 0x00de, 0x00ce, 0x001e, - 0x000e, 0x00e6, 0x2071, 0x19ca, 0x7018, 0x00ee, 0x9005, 0x19f8, - 0x01f8, 0x0026, 0x2011, 0x6e1c, 0x080c, 0x8021, 0x2011, 0x6e0f, - 0x080c, 0x80f5, 0x002e, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b0, - 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x0002, - 0x080c, 0x26d9, 0x60e2, 0x2001, 0x180c, 0x200c, 0xc1b4, 0x2102, - 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, - 0x0156, 0x0016, 0x0026, 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, - 0x0100, 0x2071, 0x1800, 0x080c, 0xc225, 0x1904, 0x726d, 0x7130, - 0xd184, 0x1170, 0x080c, 0x3135, 0x0138, 0xc18d, 0x7132, 0x2011, - 0x1854, 0x2214, 0xd2ac, 0x1120, 0x7030, 0xd08c, 0x0904, 0x726d, - 0x2011, 0x1854, 0x220c, 0x0438, 0x0016, 0x2019, 0x000e, 0x080c, - 0xd4c7, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x9186, 0x007e, - 0x01a0, 0x9186, 0x0080, 0x0188, 0x080c, 0x6247, 0x1170, 0x2120, - 0x9006, 0x0016, 0x2009, 0x000e, 0x080c, 0xd54b, 0x2009, 0x0001, - 0x2011, 0x0100, 0x080c, 0x8218, 0x001e, 0x8108, 0x1f04, 0x7236, - 0x00be, 0x015e, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0002, - 0x2019, 0x0004, 0x080c, 0x2fa7, 0x001e, 0x0078, 0x0156, 0x00b6, - 0x20a9, 0x007f, 0x900e, 0x080c, 0x6247, 0x1110, 0x080c, 0x5cf4, - 0x8108, 0x1f04, 0x7263, 0x00be, 0x015e, 0x080c, 0x1984, 0x080c, - 0x9dc8, 0x60e3, 0x0000, 0x080c, 0x5cda, 0x080c, 0x6ecd, 0x00ee, - 0x00ce, 0x004e, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, - 0x194d, 0x2003, 0x0001, 0x0005, 0x2001, 0x194d, 0x2003, 0x0000, - 0x0005, 0x2001, 0x194c, 0x2003, 0xaaaa, 0x0005, 0x2001, 0x194c, - 0x2003, 0x0000, 0x0005, 0x2071, 0x18f0, 0x7003, 0x0000, 0x7007, - 0x0000, 0x080c, 0x1004, 0x090c, 0x0db4, 0xa8ab, 0xdcb0, 0x2900, - 0x704e, 0x080c, 0x1004, 0x090c, 0x0db4, 0xa8ab, 0xdcb0, 0x2900, - 0x7052, 0xa867, 0x0000, 0xa86b, 0x0001, 0xa89f, 0x0000, 0x0005, - 0x00e6, 0x2071, 0x0040, 0x6848, 0x9005, 0x1118, 0x9085, 0x0001, - 0x04b0, 0x6840, 0x9005, 0x0150, 0x04a1, 0x6a50, 0x9200, 0x7002, - 0x6854, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6850, 0x7002, - 0x6854, 0x7006, 0x6858, 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, - 0x1110, 0x7012, 0x7016, 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, - 0x701e, 0x2001, 0x0019, 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, - 0x200c, 0x918c, 0xfff7, 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, - 0x18f0, 0x6807, 0x0001, 0x00de, 0x080c, 0x7880, 0x9006, 0x00ee, - 0x0005, 0x900e, 0x0156, 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, - 0x2214, 0x9296, 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, - 0x1f04, 0x72f5, 0x015e, 0x0005, 0x2079, 0x0040, 0x2071, 0x18f0, - 0x7004, 0x0002, 0x7314, 0x7315, 0x734c, 0x73a7, 0x74e8, 0x7312, - 0x7312, 0x7512, 0x080c, 0x0db4, 0x0005, 0x2079, 0x0040, 0x782c, - 0x908c, 0x0780, 0x190c, 0x790c, 0xd0a4, 0x01f0, 0x7824, 0x2048, - 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, 0x908a, 0x0040, - 0x0608, 0x00b8, 0x2001, 0x1800, 0x200c, 0x9186, 0x0003, 0x1160, - 0x7104, 0x9186, 0x0004, 0x0140, 0x9186, 0x0007, 0x0128, 0x9186, - 0x0003, 0x19e8, 0x080c, 0x73a7, 0x782c, 0xd09c, 0x090c, 0x7880, - 0x0005, 0x9082, 0x005a, 0x1218, 0x2100, 0x003b, 0x0c18, 0x080c, - 0x73dd, 0x0c90, 0x00e3, 0x08f0, 0x0005, 0x73dd, 0x73dd, 0x73dd, - 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73ff, 0x73dd, 0x73dd, - 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, - 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, - 0x73dd, 0x73e9, 0x73dd, 0x75e7, 0x73dd, 0x73dd, 0x73dd, 0x73ff, - 0x73dd, 0x73e9, 0x7628, 0x7669, 0x76b0, 0x76c4, 0x73dd, 0x73dd, - 0x73ff, 0x73e9, 0x73dd, 0x73dd, 0x74bc, 0x776f, 0x778a, 0x73dd, - 0x73ff, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x74b2, 0x778a, 0x73dd, - 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, - 0x7413, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, - 0x73dd, 0x73dd, 0x78b0, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, - 0x7427, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x73dd, 0x2079, - 0x0040, 0x7004, 0x9086, 0x0003, 0x1198, 0x782c, 0x080c, 0x78a9, - 0xd0a4, 0x0170, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, 0xa864, - 0x9084, 0x00ff, 0x908a, 0x001a, 0x1210, 0x002b, 0x0c50, 0x00e9, - 0x080c, 0x7880, 0x0005, 0x73dd, 0x73e9, 0x75d3, 0x73dd, 0x73e9, - 0x73dd, 0x73e9, 0x73e9, 0x73dd, 0x73e9, 0x75d3, 0x73e9, 0x73e9, - 0x73e9, 0x73e9, 0x73e9, 0x73dd, 0x73e9, 0x75d3, 0x73dd, 0x73dd, - 0x73e9, 0x73dd, 0x73dd, 0x73dd, 0x73e9, 0x00e6, 0x2071, 0x18f0, - 0x2009, 0x0400, 0x0071, 0x00ee, 0x0005, 0x2009, 0x1000, 0x0049, - 0x0005, 0x2009, 0x2000, 0x0029, 0x0005, 0x2009, 0x0800, 0x0009, - 0x0005, 0x7007, 0x0001, 0xa868, 0x9084, 0x00ff, 0x9105, 0xa86a, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x0005, 0xa864, - 0x8007, 0x9084, 0x00ff, 0x0d08, 0x8001, 0x1120, 0x7007, 0x0001, - 0x0804, 0x7591, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, - 0x704b, 0x7591, 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0968, - 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x75ac, 0x7007, 0x0003, - 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x75ac, 0x0005, 0xa864, - 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x73e5, 0x7007, - 0x0001, 0x2009, 0x1833, 0x210c, 0x81ff, 0x1904, 0x7489, 0xa994, - 0x9186, 0x006f, 0x0188, 0x9186, 0x0074, 0x15b0, 0x0026, 0x2011, - 0x0010, 0x080c, 0x658f, 0x002e, 0x0578, 0x0016, 0xa998, 0x080c, - 0x65d9, 0x001e, 0x1548, 0x0400, 0x080c, 0x6f9b, 0x0140, 0xa897, - 0x4005, 0xa89b, 0x0016, 0x2001, 0x0030, 0x900e, 0x0438, 0x0026, - 0x2011, 0x8008, 0x080c, 0x658f, 0x002e, 0x01b0, 0x0016, 0x0026, - 0x0036, 0xa998, 0xaaa0, 0xab9c, 0x918d, 0x8000, 0x080c, 0x65d9, - 0x003e, 0x002e, 0x001e, 0x1140, 0xa897, 0x4005, 0xa89b, 0x4009, - 0x2001, 0x0030, 0x900e, 0x0050, 0xa868, 0x9084, 0x00ff, 0xa86a, - 0xa883, 0x0000, 0x080c, 0x5f09, 0x1108, 0x0005, 0x0126, 0x2091, - 0x8000, 0xa867, 0x0139, 0xa87a, 0xa982, 0x080c, 0x6891, 0x012e, - 0x0ca0, 0xa994, 0x9186, 0x0071, 0x0904, 0x7437, 0x9186, 0x0064, - 0x0904, 0x7437, 0x9186, 0x007c, 0x0904, 0x7437, 0x9186, 0x0028, - 0x0904, 0x7437, 0x9186, 0x0038, 0x0904, 0x7437, 0x9186, 0x0078, - 0x0904, 0x7437, 0x9186, 0x005f, 0x0904, 0x7437, 0x9186, 0x0056, - 0x0904, 0x7437, 0xa897, 0x4005, 0xa89b, 0x0001, 0x2001, 0x0030, - 0x900e, 0x0860, 0xa87c, 0x9084, 0x00c0, 0x9086, 0x00c0, 0x1120, - 0x7007, 0x0001, 0x0804, 0x77a1, 0x2900, 0x7016, 0x701a, 0x20a9, - 0x0004, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0030, 0x2098, 0x7050, - 0x2040, 0xa060, 0x20e8, 0xa05c, 0x9080, 0x0023, 0x20a0, 0x4003, - 0xa888, 0x7012, 0x9082, 0x0401, 0x1a04, 0x73ed, 0xaab4, 0x928a, - 0x0002, 0x1a04, 0x73ed, 0x82ff, 0x1138, 0xa8b8, 0xa9bc, 0x9105, - 0x0118, 0x2001, 0x754f, 0x0018, 0x9280, 0x7545, 0x2005, 0x7056, - 0x7010, 0x9015, 0x0904, 0x7530, 0x080c, 0x1004, 0x1118, 0x7007, - 0x0004, 0x0005, 0x2900, 0x7022, 0x7054, 0x2060, 0xe000, 0xa866, - 0x7050, 0x2040, 0xa95c, 0xe004, 0x9100, 0xa076, 0xa860, 0xa072, - 0xe008, 0x920a, 0x1210, 0x900e, 0x2200, 0x7112, 0xe20c, 0x8003, - 0x800b, 0x9296, 0x0004, 0x0108, 0x9108, 0xa17a, 0x810b, 0xa17e, - 0x080c, 0x10d5, 0xa06c, 0x908e, 0x0100, 0x0170, 0x9086, 0x0200, - 0x0118, 0x7007, 0x0007, 0x0005, 0x7020, 0x2048, 0x080c, 0x101d, - 0x7014, 0x2048, 0x0804, 0x73ed, 0x7020, 0x2048, 0x7018, 0xa802, - 0xa807, 0x0000, 0x2908, 0x2048, 0xa906, 0x711a, 0x0804, 0x74e8, - 0x7014, 0x2048, 0x7007, 0x0001, 0xa8b4, 0x9005, 0x1128, 0xa8b8, - 0xa9bc, 0x9105, 0x0108, 0x00b9, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x001e, 0x0904, 0x77a1, 0x0804, 0x7591, 0x7547, 0x754b, 0x0002, - 0x001d, 0x0007, 0x0004, 0x000a, 0x001b, 0x0005, 0x0006, 0x000a, - 0x001d, 0x0005, 0x0004, 0x0076, 0x0066, 0xafb8, 0xaebc, 0xa804, - 0x2050, 0xb0c0, 0xb0e2, 0xb0bc, 0xb0de, 0xb0b8, 0xb0d2, 0xb0b4, - 0xb0ce, 0xb6da, 0xb7d6, 0xb0b0, 0xb0ca, 0xb0ac, 0xb0c6, 0xb0a8, - 0xb0ba, 0xb0a4, 0xb0b6, 0xb6c2, 0xb7be, 0xb0a0, 0xb0b2, 0xb09c, - 0xb0ae, 0xb098, 0xb0a2, 0xb094, 0xb09e, 0xb6aa, 0xb7a6, 0xb090, - 0xb09a, 0xb08c, 0xb096, 0xb088, 0xb08a, 0xb084, 0xb086, 0xb692, - 0xb78e, 0xb080, 0xb082, 0xb07c, 0xb07e, 0xb078, 0xb072, 0xb074, - 0xb06e, 0xb67a, 0xb776, 0xb004, 0x9055, 0x1958, 0x006e, 0x007e, - 0x0005, 0x2009, 0x1833, 0x210c, 0x81ff, 0x1178, 0x080c, 0x5d56, - 0x1108, 0x0005, 0x080c, 0x6abf, 0x0126, 0x2091, 0x8000, 0x080c, - 0xbe20, 0x080c, 0x6891, 0x012e, 0x0ca0, 0x080c, 0xc225, 0x1d70, - 0x2001, 0x0028, 0x900e, 0x0c70, 0x2009, 0x1833, 0x210c, 0x81ff, - 0x11d8, 0xa888, 0x9005, 0x01e0, 0xa883, 0x0000, 0xa87c, 0xd0f4, - 0x0120, 0x080c, 0x5e6b, 0x1138, 0x0005, 0x9006, 0xa87a, 0x080c, - 0x5de6, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, - 0x080c, 0x6891, 0x012e, 0x0cb0, 0x2001, 0x0028, 0x900e, 0x0c98, - 0x2001, 0x0000, 0x0c80, 0x7018, 0xa802, 0x2908, 0x2048, 0xa906, - 0x711a, 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, 0x0030, - 0x7014, 0x2048, 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x00b6, - 0x7007, 0x0001, 0xa974, 0xa878, 0x9084, 0x00ff, 0x9096, 0x0004, - 0x0540, 0x20a9, 0x0001, 0x9096, 0x0001, 0x0190, 0x900e, 0x20a9, - 0x0800, 0x9096, 0x0002, 0x0160, 0x9005, 0x11d8, 0xa974, 0x080c, - 0x6247, 0x11b8, 0x0066, 0xae80, 0x080c, 0x6357, 0x006e, 0x0088, - 0x0046, 0x2011, 0x180c, 0x2224, 0xc484, 0x2412, 0x004e, 0x00c6, - 0x080c, 0x6247, 0x1110, 0x080c, 0x6457, 0x8108, 0x1f04, 0x7610, - 0x00ce, 0xa87c, 0xd084, 0x1120, 0x080c, 0x101d, 0x00be, 0x0005, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x00be, 0x0005, - 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6567, 0x0580, - 0x2061, 0x1a40, 0x6100, 0xd184, 0x0178, 0xa888, 0x9084, 0x00ff, - 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, 0x6003, - 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, 0xa890, 0x9005, - 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, 0xa888, 0x9084, 0x00ff, - 0x0178, 0x6006, 0xa888, 0x8007, 0x9084, 0x00ff, 0x0148, 0x600a, - 0xa888, 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, 0x786a, - 0x012e, 0x0804, 0x7864, 0x012e, 0x0804, 0x785e, 0x012e, 0x0804, - 0x7861, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6567, - 0x05e0, 0x2061, 0x1a40, 0x6000, 0xd084, 0x05b8, 0x6204, 0x6308, - 0xd08c, 0x1530, 0xac78, 0x9484, 0x0003, 0x0170, 0xa988, 0x918c, - 0x00ff, 0x8001, 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, 0x8001, - 0x1508, 0x2100, 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, 0xa988, - 0x810f, 0x918c, 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, 0x9318, - 0x0288, 0x0030, 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, 0x0250, - 0xa890, 0x9005, 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, 0x012e, - 0x0804, 0x786a, 0x012e, 0x0804, 0x7867, 0x012e, 0x0804, 0x7864, - 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2061, 0x1a40, 0x6300, - 0xd38c, 0x1120, 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, 0x0804, - 0x7878, 0x012e, 0x0804, 0x7867, 0x00b6, 0x0126, 0x00c6, 0x2091, - 0x8000, 0x7007, 0x0001, 0xa87c, 0xd0ac, 0x0148, 0x00c6, 0x2061, - 0x1a40, 0x6000, 0x9084, 0xfcff, 0x6002, 0x00ce, 0x0440, 0xa888, - 0x9005, 0x05d8, 0xa88c, 0x9065, 0x0598, 0x2001, 0x1833, 0x2004, - 0x9005, 0x0118, 0x080c, 0x9e72, 0x0068, 0x6017, 0xf400, 0x605b, - 0x0000, 0xa97c, 0xd1a4, 0x0110, 0xa980, 0x615a, 0x2009, 0x0041, - 0x080c, 0x9ebc, 0xa988, 0x918c, 0xff00, 0x9186, 0x2000, 0x1138, - 0x0026, 0x900e, 0x2011, 0xfdff, 0x080c, 0x8218, 0x002e, 0xa87c, - 0xd0c4, 0x0148, 0x2061, 0x1a40, 0x6000, 0xd08c, 0x1120, 0x6008, - 0x8000, 0x0208, 0x600a, 0x00ce, 0x012e, 0x00be, 0x0804, 0x786a, - 0x00ce, 0x012e, 0x00be, 0x0804, 0x7864, 0xa984, 0x9186, 0x002e, - 0x0d30, 0x9186, 0x002d, 0x0d18, 0x9186, 0x0045, 0x0510, 0x9186, - 0x002a, 0x1130, 0x2001, 0x180c, 0x200c, 0xc194, 0x2102, 0x08b8, - 0x9186, 0x0020, 0x0158, 0x9186, 0x0029, 0x1d10, 0xa974, 0x080c, - 0x6247, 0x1968, 0xb800, 0xc0e4, 0xb802, 0x0848, 0xa88c, 0x9065, - 0x09b8, 0x6007, 0x0024, 0x2001, 0x1956, 0x2004, 0x601a, 0x0804, - 0x76ff, 0xa88c, 0x9065, 0x0960, 0x00e6, 0xa890, 0x9075, 0x2001, - 0x1833, 0x2004, 0x9005, 0x0150, 0x080c, 0x9e72, 0x8eff, 0x0118, - 0x2e60, 0x080c, 0x9e72, 0x00ee, 0x0804, 0x76ff, 0x6024, 0xc0dc, - 0xc0d5, 0x6026, 0x2e60, 0x6007, 0x003a, 0xa8a0, 0x9005, 0x0130, - 0x6007, 0x003b, 0xa8a4, 0x602e, 0xa8a8, 0x6016, 0x6003, 0x0001, - 0x080c, 0x83da, 0x080c, 0x896d, 0x00ee, 0x0804, 0x76ff, 0x2061, - 0x1a40, 0x6000, 0xd084, 0x0190, 0xd08c, 0x1904, 0x7878, 0x0126, - 0x2091, 0x8000, 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, - 0x7878, 0x012e, 0xa883, 0x0016, 0x0804, 0x7871, 0xa883, 0x0007, - 0x0804, 0x7871, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0130, 0x8001, - 0x1138, 0x7007, 0x0001, 0x0069, 0x0005, 0x080c, 0x73e5, 0x0040, - 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x77a1, - 0x0005, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, 0x2061, - 0x1800, 0x61cc, 0x81ff, 0x1904, 0x7823, 0x6130, 0xd194, 0x1904, - 0x784d, 0xa878, 0x2070, 0x9e82, 0x1cd0, 0x0a04, 0x7817, 0x6064, - 0x9e02, 0x1a04, 0x7817, 0x7120, 0x9186, 0x0006, 0x1904, 0x7809, - 0x7010, 0x905d, 0x0904, 0x7823, 0xb800, 0xd0e4, 0x1904, 0x7847, - 0x2061, 0x1a40, 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, 0x15a0, - 0x7024, 0xd0dc, 0x1904, 0x7850, 0xa883, 0x0000, 0xa803, 0x0000, - 0x2908, 0x7014, 0x9005, 0x1198, 0x7116, 0xa87c, 0xd0f4, 0x1904, - 0x7853, 0x080c, 0x538f, 0xd09c, 0x1118, 0xa87c, 0xc0cc, 0xa87e, - 0x2e60, 0x080c, 0x8138, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2048, - 0xa800, 0x9005, 0x1de0, 0xa902, 0x2148, 0xa87c, 0xd0f4, 0x1904, - 0x7853, 0x012e, 0x00ee, 0x00be, 0x0005, 0x012e, 0x00ee, 0xa883, - 0x0006, 0x00be, 0x0804, 0x7871, 0xd184, 0x0db8, 0xd1c4, 0x1190, - 0x00a0, 0xa974, 0x080c, 0x6247, 0x15d0, 0xb800, 0xd0e4, 0x15b8, - 0x7120, 0x9186, 0x0007, 0x1118, 0xa883, 0x0002, 0x0490, 0xa883, - 0x0008, 0x0478, 0xa883, 0x000e, 0x0460, 0xa883, 0x0017, 0x0448, - 0xa883, 0x0035, 0x0430, 0x080c, 0x5393, 0xd0fc, 0x01e8, 0xa878, - 0x2070, 0x9e82, 0x1cd0, 0x02c0, 0x6064, 0x9e02, 0x12a8, 0x7120, - 0x9186, 0x0006, 0x1188, 0x7010, 0x905d, 0x0170, 0xb800, 0xd0bc, - 0x0158, 0x2039, 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, 0x77ad, - 0x7003, 0x0002, 0x0804, 0x77ad, 0xa883, 0x0028, 0x0010, 0xa883, - 0x0029, 0x012e, 0x00ee, 0x00be, 0x0420, 0xa883, 0x002a, 0x0cc8, - 0xa883, 0x0045, 0x0cb0, 0x2e60, 0x2019, 0x0002, 0x601b, 0x0014, - 0x080c, 0xd106, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2009, 0x003e, - 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, 0x2009, - 0x0016, 0x0010, 0x2009, 0x0001, 0xa884, 0x9084, 0xff00, 0x9105, - 0xa886, 0x0126, 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x0005, - 0x080c, 0x101d, 0x0005, 0x00d6, 0x080c, 0x812f, 0x00de, 0x0005, - 0x00d6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, 0x702c, - 0xd084, 0x01d8, 0x908c, 0x0780, 0x190c, 0x790c, 0xd09c, 0x11a8, - 0x2071, 0x1800, 0x70bc, 0x90ea, 0x0040, 0x0278, 0x8001, 0x70be, - 0x702c, 0x2048, 0xa800, 0x702e, 0x9006, 0xa802, 0xa806, 0x2071, - 0x0040, 0x2900, 0x7022, 0x702c, 0x0c28, 0x012e, 0x00ee, 0x00de, - 0x0005, 0x0006, 0x9084, 0x0780, 0x190c, 0x790c, 0x000e, 0x0005, - 0x00d6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x00b6, 0x7007, 0x0001, - 0xaa74, 0x9282, 0x0004, 0x1a04, 0x78fd, 0xa97c, 0x9188, 0x1000, - 0x2104, 0x905d, 0xb804, 0xd284, 0x0140, 0x05e8, 0x8007, 0x9084, - 0x00ff, 0x9084, 0x0006, 0x1108, 0x04b0, 0x2b10, 0x080c, 0x9dec, - 0x1118, 0x080c, 0x9e8f, 0x05a8, 0x6212, 0xa874, 0x0002, 0x78db, - 0x78e0, 0x78e3, 0x78e9, 0x2019, 0x0002, 0x080c, 0xd4c7, 0x0060, - 0x080c, 0xd463, 0x0048, 0x2019, 0x0002, 0xa980, 0x080c, 0xd47e, - 0x0018, 0xa980, 0x080c, 0xd463, 0x080c, 0x9e42, 0xa887, 0x0000, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x00be, 0x001e, - 0x002e, 0x003e, 0x00ce, 0x00de, 0x0005, 0xa887, 0x0006, 0x0c80, - 0xa887, 0x0002, 0x0c68, 0xa887, 0x0005, 0x0c50, 0xa887, 0x0004, - 0x0c38, 0xa887, 0x0007, 0x0c20, 0x2091, 0x8000, 0x0e04, 0x790e, - 0x0006, 0x0016, 0x2001, 0x8003, 0x0006, 0x0804, 0x0dbd, 0x2001, - 0x1833, 0x2004, 0x9005, 0x0005, 0x0005, 0x00f6, 0x2079, 0x0300, - 0x2001, 0x0200, 0x200c, 0xc1e5, 0xc1dc, 0x2102, 0x2009, 0x0218, - 0x210c, 0xd1ec, 0x1120, 0x080c, 0x14a9, 0x00fe, 0x0005, 0x2001, - 0x020d, 0x2003, 0x0020, 0x781f, 0x0300, 0x00fe, 0x0005, 0x781c, - 0xd08c, 0x0904, 0x798e, 0x68bc, 0x90aa, 0x0005, 0x0a04, 0x7f3d, - 0x7d44, 0x7c40, 0x9584, 0x00f6, 0x1510, 0x9484, 0x7000, 0x0140, - 0x908a, 0x2000, 0x1260, 0x9584, 0x0700, 0x8007, 0x0804, 0x7995, - 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x0da8, 0x00b0, 0x9484, - 0x0fff, 0x1130, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11c0, - 0x080c, 0xd8ad, 0x080c, 0x7e82, 0x7817, 0x0140, 0x00a8, 0x9584, - 0x0076, 0x1118, 0x080c, 0x7ee0, 0x19c0, 0xd5a4, 0x0148, 0x0046, - 0x0056, 0x080c, 0x79f0, 0x080c, 0x21cf, 0x005e, 0x004e, 0x0020, - 0x080c, 0xd8ad, 0x7817, 0x0140, 0x080c, 0x6f9b, 0x0168, 0x2001, - 0x0111, 0x2004, 0xd08c, 0x0140, 0x688f, 0x0000, 0x2001, 0x0110, - 0x2003, 0x0008, 0x2003, 0x0000, 0x080c, 0x79d1, 0x2001, 0x19c0, - 0x2004, 0x9005, 0x090c, 0x896d, 0x0005, 0x0002, 0x79a7, 0x7ca4, - 0x799e, 0x799e, 0x799e, 0x799e, 0x799e, 0x799e, 0x7817, 0x0140, - 0x2001, 0x19c0, 0x2004, 0x9005, 0x090c, 0x896d, 0x0005, 0x7000, - 0x908c, 0xff00, 0x9194, 0xf000, 0x810f, 0x9484, 0x0fff, 0x688e, - 0x9286, 0x2000, 0x1150, 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, - 0x53f0, 0x0070, 0x080c, 0x7a10, 0x0058, 0x9286, 0x3000, 0x1118, - 0x080c, 0x7bdf, 0x0028, 0x9286, 0x8000, 0x1110, 0x080c, 0x7db2, - 0x7817, 0x0140, 0x2001, 0x19c0, 0x2004, 0x9005, 0x090c, 0x896d, - 0x0005, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0178, 0x2001, 0x1800, - 0x2004, 0x9086, 0x0003, 0x1148, 0x0026, 0x0036, 0x2011, 0x8048, - 0x2518, 0x080c, 0x48e9, 0x003e, 0x002e, 0x0005, 0x0036, 0x0046, - 0x0056, 0x00f6, 0x2079, 0x0200, 0x2019, 0xfffe, 0x7c30, 0x0050, - 0x0036, 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, 0x7d44, 0x7c40, - 0x2019, 0xffff, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0160, 0x2001, - 0x1800, 0x2004, 0x9086, 0x0003, 0x1130, 0x0026, 0x2011, 0x8048, - 0x080c, 0x48e9, 0x002e, 0x00fe, 0x005e, 0x004e, 0x003e, 0x0005, - 0x00b6, 0x00c6, 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, 0x0001, - 0x0120, 0x9096, 0x0023, 0x1904, 0x7bb0, 0x9186, 0x0023, 0x15c0, - 0x080c, 0x7e47, 0x0904, 0x7bb0, 0x6120, 0x9186, 0x0001, 0x0150, - 0x9186, 0x0004, 0x0138, 0x9186, 0x0008, 0x0120, 0x9186, 0x000a, - 0x1904, 0x7bb0, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1130, - 0x2009, 0x0015, 0x080c, 0x9ebc, 0x0804, 0x7bb0, 0x908e, 0x0214, - 0x0118, 0x908e, 0x0210, 0x1130, 0x2009, 0x0015, 0x080c, 0x9ebc, - 0x0804, 0x7bb0, 0x908e, 0x0100, 0x1904, 0x7bb0, 0x7034, 0x9005, - 0x1904, 0x7bb0, 0x2009, 0x0016, 0x080c, 0x9ebc, 0x0804, 0x7bb0, - 0x9186, 0x0022, 0x1904, 0x7bb0, 0x7030, 0x908e, 0x0300, 0x1580, - 0x68d8, 0xd0a4, 0x0528, 0xc0b5, 0x68da, 0x7100, 0x918c, 0x00ff, - 0x697a, 0x7004, 0x687e, 0x00f6, 0x2079, 0x0100, 0x79e6, 0x78ea, - 0x0006, 0x9084, 0x00ff, 0x0016, 0x2008, 0x080c, 0x26ae, 0x7932, - 0x7936, 0x001e, 0x000e, 0x00fe, 0x080c, 0x2665, 0x695a, 0x703c, - 0x00e6, 0x2071, 0x0140, 0x7086, 0x2071, 0x1800, 0x70b2, 0x00ee, - 0x7034, 0x9005, 0x1904, 0x7bb0, 0x2009, 0x0017, 0x0804, 0x7b60, - 0x908e, 0x0400, 0x1190, 0x7034, 0x9005, 0x1904, 0x7bb0, 0x080c, - 0x6f9b, 0x0120, 0x2009, 0x001d, 0x0804, 0x7b60, 0x68d8, 0xc0a5, - 0x68da, 0x2009, 0x0030, 0x0804, 0x7b60, 0x908e, 0x0500, 0x1140, - 0x7034, 0x9005, 0x1904, 0x7bb0, 0x2009, 0x0018, 0x0804, 0x7b60, - 0x908e, 0x2010, 0x1120, 0x2009, 0x0019, 0x0804, 0x7b60, 0x908e, - 0x2110, 0x1120, 0x2009, 0x001a, 0x0804, 0x7b60, 0x908e, 0x5200, - 0x1140, 0x7034, 0x9005, 0x1904, 0x7bb0, 0x2009, 0x001b, 0x0804, - 0x7b60, 0x908e, 0x5000, 0x1140, 0x7034, 0x9005, 0x1904, 0x7bb0, - 0x2009, 0x001c, 0x0804, 0x7b60, 0x908e, 0x1300, 0x1120, 0x2009, - 0x0034, 0x0804, 0x7b60, 0x908e, 0x1200, 0x1140, 0x7034, 0x9005, - 0x1904, 0x7bb0, 0x2009, 0x0024, 0x0804, 0x7b60, 0x908c, 0xff00, - 0x918e, 0x2400, 0x1170, 0x2009, 0x002d, 0x2001, 0x1810, 0x2004, - 0xd09c, 0x0904, 0x7b60, 0x080c, 0xc8d7, 0x1904, 0x7bb0, 0x0804, - 0x7b5e, 0x908c, 0xff00, 0x918e, 0x5300, 0x1120, 0x2009, 0x002a, - 0x0804, 0x7b60, 0x908e, 0x0f00, 0x1120, 0x2009, 0x0020, 0x0804, - 0x7b60, 0x908e, 0x6104, 0x1528, 0x2029, 0x0205, 0x2011, 0x026d, - 0x8208, 0x2204, 0x9082, 0x0004, 0x8004, 0x8004, 0x20a8, 0x2011, - 0x8015, 0x211c, 0x8108, 0x0046, 0x2124, 0x080c, 0x48e9, 0x004e, - 0x8108, 0x0f04, 0x7b2c, 0x9186, 0x0280, 0x1d88, 0x2504, 0x8000, - 0x202a, 0x2009, 0x0260, 0x0c58, 0x202b, 0x0000, 0x2009, 0x0023, - 0x0478, 0x908e, 0x6000, 0x1118, 0x2009, 0x003f, 0x0448, 0x908e, - 0x7800, 0x1118, 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, 0x1118, - 0x2009, 0x004e, 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, 0x004a, - 0x00b8, 0x908c, 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, 0x004f, - 0x0078, 0x908c, 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, 0x0050, - 0x0038, 0x2009, 0x001d, 0x6838, 0xd0d4, 0x0110, 0x2009, 0x004c, - 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2665, - 0x1904, 0x7bb3, 0x080c, 0x61e7, 0x1904, 0x7bb3, 0xbe12, 0xbd16, - 0x001e, 0x0016, 0x080c, 0x6f9b, 0x01c0, 0x68d8, 0xd08c, 0x1148, - 0x7000, 0x9084, 0x00ff, 0x1188, 0x7004, 0x9084, 0xff00, 0x1168, - 0x0040, 0x6878, 0x9606, 0x1148, 0x687c, 0x9506, 0x9084, 0xff00, - 0x1120, 0x9584, 0x00ff, 0xb8b2, 0x0080, 0xb8b0, 0x9005, 0x1168, - 0x9186, 0x0046, 0x1150, 0x6878, 0x9606, 0x1138, 0x687c, 0x9506, - 0x9084, 0xff00, 0x1110, 0x001e, 0x0098, 0x080c, 0x9dec, 0x01a8, - 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x9186, - 0x004c, 0x1110, 0x6023, 0x000a, 0x0016, 0x001e, 0x080c, 0x9ebc, - 0x00ce, 0x00be, 0x0005, 0x001e, 0x0cd8, 0x2001, 0x180e, 0x2004, - 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x48e9, 0x080c, 0x9e8f, - 0x0d90, 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, - 0x0016, 0x9186, 0x0017, 0x0118, 0x9186, 0x0030, 0x1128, 0x6007, - 0x0009, 0x6017, 0x2900, 0x0020, 0x6007, 0x0051, 0x6017, 0x0000, - 0x602f, 0x0009, 0x6003, 0x0001, 0x080c, 0x8422, 0x08a0, 0x080c, - 0x30ff, 0x1140, 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, 0x0008, - 0x1108, 0x0009, 0x0005, 0x00b6, 0x00c6, 0x0046, 0x7000, 0x908c, - 0xff00, 0x810f, 0x9186, 0x0033, 0x11e8, 0x080c, 0x7e47, 0x0904, - 0x7c3c, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, - 0x9005, 0x15d0, 0x2009, 0x0015, 0x080c, 0x9ebc, 0x04a8, 0x908e, - 0x0100, 0x1590, 0x7034, 0x9005, 0x1578, 0x2009, 0x0016, 0x080c, - 0x9ebc, 0x0450, 0x9186, 0x0032, 0x1538, 0x7030, 0x908e, 0x1400, - 0x1518, 0x2009, 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, - 0x220c, 0x080c, 0x2665, 0x11b8, 0x080c, 0x61e7, 0x11a0, 0xbe12, - 0xbd16, 0x080c, 0x9dec, 0x0178, 0x2b08, 0x6112, 0x080c, 0xbfa6, - 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x9ebc, 0x080c, - 0x896d, 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x00be, 0x0005, - 0x00b6, 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, - 0x11b8, 0x9592, 0xfffc, 0x02a0, 0x9596, 0xfffd, 0x1120, 0x2009, - 0x007f, 0x0804, 0x7c9e, 0x9596, 0xfffe, 0x1120, 0x2009, 0x007e, - 0x0804, 0x7c9e, 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x04f0, - 0x2011, 0x0000, 0x2019, 0x1836, 0x231c, 0xd3ac, 0x0130, 0x9026, - 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, - 0x077f, 0x2071, 0x1081, 0x2e1c, 0x93dd, 0x0000, 0x1140, 0x82ff, - 0x11d0, 0x9496, 0x00ff, 0x01b8, 0x2410, 0xc2fd, 0x00a0, 0xbf10, - 0x2600, 0x9706, 0xb814, 0x1120, 0x9546, 0x1110, 0x2408, 0x00b0, - 0x9745, 0x1148, 0x94c6, 0x007e, 0x0130, 0x94c6, 0x007f, 0x0118, - 0x94c6, 0x0080, 0x1d20, 0x8420, 0x8e70, 0x1f04, 0x7c73, 0x82ff, - 0x1118, 0x9085, 0x0001, 0x0018, 0xc2fc, 0x2208, 0x9006, 0x00de, - 0x00ee, 0x004e, 0x00be, 0x0005, 0x7000, 0x908c, 0xff00, 0x810f, - 0x9184, 0x000f, 0x0002, 0x7cbb, 0x7cbb, 0x7cbb, 0x7e59, 0x7cbb, - 0x7cc4, 0x7cef, 0x7d7d, 0x7cbb, 0x7cbb, 0x7cbb, 0x7cbb, 0x7cbb, - 0x7cbb, 0x7cbb, 0x7cbb, 0x7817, 0x0140, 0x2001, 0x19c0, 0x2004, - 0x9005, 0x090c, 0x896d, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x01e8, - 0x7120, 0x2160, 0x9c8c, 0x0007, 0x11c0, 0x9c8a, 0x1cd0, 0x02a8, - 0x6864, 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, - 0xb910, 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, - 0x610a, 0x2009, 0x0046, 0x080c, 0x9ebc, 0x7817, 0x0140, 0x2001, - 0x19c0, 0x2004, 0x9005, 0x090c, 0x896d, 0x00be, 0x0005, 0x00b6, - 0x00c6, 0x9484, 0x0fff, 0x0904, 0x7d53, 0x7110, 0xd1bc, 0x1904, - 0x7d53, 0x7108, 0x700c, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, - 0xff00, 0x15b0, 0x81ff, 0x15a0, 0x9080, 0x313a, 0x200d, 0x918c, - 0xff00, 0x810f, 0x2001, 0x0080, 0x9106, 0x0904, 0x7d53, 0x080c, - 0x61e7, 0x1904, 0x7d53, 0xbe12, 0xbd16, 0xb800, 0xd0ec, 0x15d8, - 0xba04, 0x9294, 0xff00, 0x9286, 0x0600, 0x11a0, 0x080c, 0x9dec, - 0x05e8, 0x2b08, 0x7028, 0x604a, 0x702c, 0x6046, 0x6112, 0x6023, - 0x0006, 0x7120, 0x610a, 0x7130, 0x6156, 0x2009, 0x0044, 0x080c, - 0xcb35, 0x0408, 0x080c, 0x656b, 0x1138, 0xb807, 0x0606, 0x0c30, - 0x190c, 0x7c40, 0x11c0, 0x0898, 0x080c, 0x9dec, 0x2b08, 0x0198, - 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x9286, 0x0400, 0x1118, - 0x6007, 0x0005, 0x0010, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, - 0x8422, 0x080c, 0x896d, 0x7817, 0x0140, 0x2001, 0x19c0, 0x2004, - 0x9005, 0x090c, 0x896d, 0x00ce, 0x00be, 0x0005, 0x2001, 0x180e, - 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x48e9, 0x080c, - 0x9e8f, 0x0d48, 0x2b08, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, - 0x7130, 0x6156, 0x6017, 0xf300, 0x6003, 0x0001, 0x6007, 0x0041, - 0x080c, 0x83da, 0x080c, 0x896d, 0x08b0, 0x00b6, 0x7110, 0xd1bc, - 0x01e8, 0x7020, 0x2060, 0x9c84, 0x0007, 0x11c0, 0x9c82, 0x1cd0, - 0x02a8, 0x6864, 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, - 0x2158, 0xb910, 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, - 0x7124, 0x610a, 0x2009, 0x0045, 0x080c, 0x9ebc, 0x7817, 0x0140, - 0x2001, 0x19c0, 0x2004, 0x9005, 0x090c, 0x896d, 0x00be, 0x0005, - 0x6120, 0x9186, 0x0002, 0x0128, 0x9186, 0x0005, 0x0110, 0x9085, - 0x0001, 0x0005, 0x080c, 0x30ff, 0x1168, 0x7010, 0x9084, 0xff00, - 0x8007, 0x9086, 0x0000, 0x1130, 0x9184, 0x000f, 0x908a, 0x0006, - 0x1208, 0x000b, 0x0005, 0x7dc9, 0x7dca, 0x7dc9, 0x7dc9, 0x7e29, - 0x7e38, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, - 0x0904, 0x7e27, 0x700c, 0x7108, 0x080c, 0x2665, 0x1904, 0x7e27, - 0x080c, 0x61e7, 0x1904, 0x7e27, 0xbe12, 0xbd16, 0x7110, 0xd1bc, - 0x01d8, 0x080c, 0x656b, 0x0118, 0x9086, 0x0004, 0x1588, 0x00c6, - 0x080c, 0x7e47, 0x00ce, 0x05d8, 0x080c, 0x9dec, 0x2b08, 0x05b8, - 0x6112, 0x080c, 0xbfa6, 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, - 0x0088, 0x080c, 0x9ebc, 0x0458, 0x080c, 0x656b, 0x0148, 0x9086, - 0x0004, 0x0130, 0x080c, 0x6573, 0x0118, 0x9086, 0x0004, 0x1180, - 0x080c, 0x9dec, 0x2b08, 0x01d8, 0x6112, 0x080c, 0xbfa6, 0x6023, - 0x0005, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0x9ebc, 0x0078, - 0x080c, 0x9dec, 0x2b08, 0x0158, 0x6112, 0x080c, 0xbfa6, 0x6023, - 0x0004, 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, 0x9ebc, 0x00be, - 0x0005, 0x7110, 0xd1bc, 0x0158, 0x00d1, 0x0148, 0x080c, 0x7da8, - 0x1130, 0x7124, 0x610a, 0x2009, 0x0089, 0x080c, 0x9ebc, 0x0005, - 0x7110, 0xd1bc, 0x0158, 0x0059, 0x0148, 0x080c, 0x7da8, 0x1130, - 0x7124, 0x610a, 0x2009, 0x008a, 0x080c, 0x9ebc, 0x0005, 0x7020, - 0x2060, 0x9c84, 0x0007, 0x1158, 0x9c82, 0x1cd0, 0x0240, 0x2001, - 0x1819, 0x2004, 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, - 0x0ce8, 0x00b6, 0x7110, 0xd1bc, 0x11d8, 0x7024, 0x2060, 0x9c84, - 0x0007, 0x11b0, 0x9c82, 0x1cd0, 0x0298, 0x6864, 0x9c02, 0x1280, - 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1140, - 0x700c, 0xb914, 0x9106, 0x1120, 0x2009, 0x0051, 0x080c, 0x9ebc, - 0x7817, 0x0140, 0x2001, 0x19c0, 0x2004, 0x9005, 0x090c, 0x896d, - 0x00be, 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, 0x0206, - 0x0049, 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, 0x0213, - 0x0009, 0x0005, 0x00c6, 0x0096, 0x00f6, 0x7000, 0x9084, 0xf000, - 0x9086, 0xc000, 0x05d0, 0x080c, 0x9dec, 0x05b8, 0x0066, 0x00c6, - 0x0046, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2665, - 0x15a0, 0x080c, 0x61e7, 0x1588, 0xbe12, 0xbd16, 0x2b00, 0x004e, - 0x00ce, 0x6012, 0x080c, 0xbfa6, 0x080c, 0x0feb, 0x0510, 0x2900, - 0x605a, 0x9006, 0xa802, 0xa866, 0xac6a, 0xa85c, 0x90f8, 0x001b, - 0x20a9, 0x000e, 0xa860, 0x20e8, 0x20e1, 0x0000, 0x2fa0, 0x2e98, - 0x4003, 0x006e, 0x6616, 0x6007, 0x003e, 0x6023, 0x0001, 0x6003, - 0x0001, 0x080c, 0x8422, 0x080c, 0x896d, 0x00fe, 0x009e, 0x00ce, - 0x0005, 0x080c, 0x9e42, 0x006e, 0x0cc0, 0x004e, 0x00ce, 0x0cc8, - 0x00c6, 0x7000, 0x908c, 0xff00, 0x9184, 0xf000, 0x810f, 0x9086, - 0x2000, 0x1904, 0x7f37, 0x9186, 0x0022, 0x15f0, 0x2001, 0x0111, - 0x2004, 0x9005, 0x1904, 0x7f39, 0x7030, 0x908e, 0x0400, 0x0904, - 0x7f39, 0x908e, 0x6000, 0x05e8, 0x908e, 0x5400, 0x05d0, 0x908e, - 0x0300, 0x11d8, 0x2009, 0x1836, 0x210c, 0xd18c, 0x1590, 0xd1a4, - 0x1580, 0x080c, 0x6529, 0x0558, 0x68ac, 0x9084, 0x00ff, 0x7100, - 0x918c, 0x00ff, 0x9106, 0x1518, 0x687c, 0x69ac, 0x918c, 0xff00, - 0x9105, 0x7104, 0x9106, 0x11d8, 0x00e0, 0x2009, 0x0103, 0x210c, - 0xd1b4, 0x11a8, 0x908e, 0x5200, 0x09e8, 0x908e, 0x0500, 0x09d0, - 0x908e, 0x5000, 0x09b8, 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, - 0x7e47, 0x0128, 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, - 0x0010, 0x9085, 0x0001, 0x00ce, 0x0005, 0x00f6, 0x2079, 0x0200, - 0x7800, 0xc0e5, 0xc0cc, 0x7802, 0x00fe, 0x0005, 0x00f6, 0x2079, - 0x1800, 0x7834, 0xd084, 0x1130, 0x2079, 0x0200, 0x7800, 0x9085, - 0x1200, 0x7802, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7034, - 0xc084, 0x7036, 0x00ee, 0x0005, 0x2071, 0x19ca, 0x7003, 0x0003, - 0x700f, 0x0361, 0x9006, 0x701a, 0x7072, 0x7012, 0x7017, 0x1cd0, - 0x7007, 0x0000, 0x7026, 0x702b, 0x93c3, 0x7032, 0x7037, 0x9431, - 0x703f, 0xffff, 0x7042, 0x7047, 0x522e, 0x704a, 0x705b, 0x80bc, - 0x080c, 0x1004, 0x090c, 0x0db4, 0x2900, 0x703a, 0xa867, 0x0003, - 0xa86f, 0x0100, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x19ca, 0x1d04, - 0x8010, 0x2091, 0x6000, 0x700c, 0x8001, 0x700e, 0x1510, 0x2001, - 0x1875, 0x2004, 0xd0c4, 0x0158, 0x3a00, 0xd08c, 0x1140, 0x20d1, - 0x0000, 0x20d1, 0x0001, 0x20d1, 0x0000, 0x080c, 0x0db4, 0x700f, - 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, 0x8000, 0x080c, 0x8101, - 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, 0x1130, 0x7044, 0x080f, - 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, 0x900d, 0x0188, 0x7020, - 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, 0x7126, 0x9186, - 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, 0x7028, 0x080f, - 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, 0x702e, 0x1160, 0x702f, - 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, 0x007f, 0x090c, 0x953e, - 0x0010, 0x7034, 0x080f, 0x703c, 0x9005, 0x0118, 0x0310, 0x8001, - 0x703e, 0x704c, 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, - 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, - 0x080f, 0x7018, 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, 0x0158, - 0x706c, 0x8001, 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, 0x7172, - 0x1110, 0x7074, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, - 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, - 0x7004, 0x0002, 0x8038, 0x8039, 0x8055, 0x00e6, 0x2071, 0x19ca, - 0x7018, 0x9005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, - 0x0005, 0x00e6, 0x0006, 0x2071, 0x19ca, 0x701c, 0x9206, 0x1120, - 0x701a, 0x701e, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x00e6, - 0x2071, 0x19ca, 0xb888, 0x9102, 0x0208, 0xb98a, 0x00ee, 0x0005, - 0x0005, 0x00b6, 0x7110, 0x080c, 0x6247, 0x1168, 0xb888, 0x8001, - 0x0250, 0xb88a, 0x1140, 0x0126, 0x2091, 0x8000, 0x0016, 0x080c, - 0x896d, 0x001e, 0x012e, 0x8108, 0x9182, 0x0800, 0x0218, 0x900e, - 0x7007, 0x0002, 0x7112, 0x00be, 0x0005, 0x7014, 0x2060, 0x0126, - 0x2091, 0x8000, 0x6040, 0x9005, 0x0128, 0x8001, 0x6042, 0x1110, - 0x080c, 0xbe37, 0x6018, 0x9005, 0x0528, 0x8001, 0x601a, 0x1510, - 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, 0x0006, 0x11c8, 0x080c, - 0xbb2c, 0x01b0, 0x6014, 0x2048, 0xa884, 0x908a, 0x199a, 0x0280, - 0x9082, 0x1999, 0xa886, 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, - 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0xa87c, 0xd0e4, 0x0110, - 0x080c, 0xb828, 0x012e, 0x9c88, 0x0018, 0x7116, 0x2001, 0x1819, - 0x2004, 0x9102, 0x0220, 0x7017, 0x1cd0, 0x7007, 0x0000, 0x0005, - 0x00e6, 0x2071, 0x19ca, 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, - 0x0005, 0x2001, 0x19d3, 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, - 0x19ca, 0x7132, 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, 0x19d6, - 0x2013, 0x0000, 0x0005, 0x00e6, 0x2071, 0x19ca, 0x711a, 0x721e, - 0x700b, 0x0009, 0x00ee, 0x0005, 0x0086, 0x0026, 0x7054, 0x8000, - 0x7056, 0x2001, 0x19d8, 0x2044, 0xa06c, 0x9086, 0x0000, 0x0150, - 0x7068, 0xa09a, 0x7064, 0xa096, 0x7060, 0xa092, 0x705c, 0xa08e, - 0x080c, 0x10d5, 0x002e, 0x008e, 0x0005, 0x0006, 0x0016, 0x0096, - 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x080c, - 0x7f85, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, - 0x009e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x19ca, 0x7172, - 0x7276, 0x706f, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, - 0x19ca, 0x7074, 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, 0x00ee, - 0x0005, 0x2069, 0x1800, 0x69e4, 0xd1e4, 0x1518, 0x0026, 0xd1ec, - 0x0140, 0x6a50, 0x6870, 0x9202, 0x0288, 0x8117, 0x9294, 0x00c0, - 0x0088, 0x9184, 0x0007, 0x01a0, 0x8109, 0x9184, 0x0007, 0x0110, - 0x69e6, 0x0070, 0x8107, 0x9084, 0x0007, 0x910d, 0x8107, 0x9106, - 0x9094, 0x00c0, 0x9184, 0xff3f, 0x9205, 0x68e6, 0x080c, 0x0ecb, - 0x002e, 0x0005, 0x00c6, 0x2061, 0x1a40, 0x00ce, 0x0005, 0x9184, - 0x000f, 0x8003, 0x8003, 0x8003, 0x9080, 0x1a40, 0x2060, 0x0005, - 0xa884, 0x908a, 0x199a, 0x1638, 0x9005, 0x1150, 0x00c6, 0x2061, - 0x1a40, 0x6014, 0x00ce, 0x9005, 0x1130, 0x2001, 0x001e, 0x0018, - 0x908e, 0xffff, 0x01b0, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, - 0xa87c, 0x908c, 0x00c0, 0x918e, 0x00c0, 0x0904, 0x81c2, 0xd0b4, - 0x1168, 0xd0bc, 0x1904, 0x819b, 0x2009, 0x0006, 0x080c, 0x81ef, - 0x0005, 0x900e, 0x0c60, 0x2001, 0x1999, 0x08b0, 0xd0fc, 0x0160, - 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, 0x81e9, 0x908c, - 0x2020, 0x918e, 0x2020, 0x01a8, 0x6024, 0xd0d4, 0x11e8, 0x2009, - 0x1875, 0x2104, 0xd084, 0x1138, 0x87ff, 0x1120, 0x2009, 0x0043, - 0x0804, 0x9ebc, 0x0005, 0x87ff, 0x1de8, 0x2009, 0x0042, 0x0804, - 0x9ebc, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, - 0x6024, 0xc0cd, 0x6026, 0x0c00, 0xc0d4, 0x6026, 0xa890, 0x602e, - 0xa88c, 0x6032, 0x08e0, 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, - 0x918e, 0x0003, 0x1904, 0x81e9, 0x908c, 0x2020, 0x918e, 0x2020, - 0x0170, 0x0076, 0x00f6, 0x2c78, 0x080c, 0x164a, 0x00fe, 0x007e, - 0x87ff, 0x1120, 0x2009, 0x0042, 0x080c, 0x9ebc, 0x0005, 0x6110, - 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d58, 0x6124, 0xc1cd, - 0x6126, 0x0c38, 0xd0fc, 0x0188, 0x908c, 0x2020, 0x918e, 0x2020, - 0x01a8, 0x9084, 0x0003, 0x908e, 0x0002, 0x0148, 0x87ff, 0x1120, - 0x2009, 0x0041, 0x080c, 0x9ebc, 0x0005, 0x00b9, 0x0ce8, 0x87ff, - 0x1dd8, 0x2009, 0x0043, 0x080c, 0x9ebc, 0x0cb0, 0x6110, 0x00b6, - 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6124, 0xc1cd, 0x6126, - 0x0c00, 0x2009, 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, 0x0096, - 0x080c, 0xbb2c, 0x0518, 0x6014, 0x2048, 0xa982, 0xa800, 0x6016, - 0x9186, 0x0001, 0x1188, 0xa97c, 0x918c, 0x8100, 0x918e, 0x8100, - 0x1158, 0x00c6, 0x2061, 0x1a40, 0x6200, 0xd28c, 0x1120, 0x6204, - 0x8210, 0x0208, 0x6206, 0x00ce, 0x080c, 0x66cb, 0x6014, 0x904d, - 0x0076, 0x2039, 0x0000, 0x190c, 0x8138, 0x007e, 0x009e, 0x0005, - 0x0156, 0x00c6, 0x2061, 0x1a40, 0x6000, 0x81ff, 0x0110, 0x9205, - 0x0008, 0x9204, 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, - 0x1138, 0x6808, 0x9005, 0x0120, 0x8001, 0x680a, 0x9085, 0x0001, - 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, 0x0010, - 0x9006, 0x8004, 0x2019, 0x0100, 0x231c, 0x93a6, 0x0008, 0x1118, - 0x8086, 0x818e, 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x1208, - 0x9200, 0x1f04, 0x823a, 0x93a6, 0x0008, 0x1118, 0x8086, 0x818e, - 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x004e, 0x003e, 0x012e, - 0x0005, 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, - 0x9005, 0x0510, 0x911a, 0x1600, 0x8213, 0x2039, 0x0100, 0x273c, - 0x97be, 0x0008, 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x0228, - 0x911a, 0x1220, 0x1f04, 0x8264, 0x0028, 0x911a, 0x2308, 0x8210, - 0x1f04, 0x8264, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, - 0x015e, 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, - 0x0ca8, 0x0126, 0x2091, 0x2800, 0x2079, 0x19b7, 0x012e, 0x00d6, - 0x2069, 0x19b7, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, - 0x0000, 0x2069, 0x0200, 0x080c, 0x9c4a, 0x0401, 0x080c, 0x9c35, - 0x00e9, 0x080c, 0x9c38, 0x00d1, 0x080c, 0x9c3b, 0x00b9, 0x080c, - 0x9c3e, 0x00a1, 0x080c, 0x9c41, 0x0089, 0x080c, 0x9c44, 0x0071, - 0x080c, 0x9c47, 0x0059, 0x01de, 0x014e, 0x015e, 0x2069, 0x0004, - 0x2d04, 0x9085, 0x8001, 0x206a, 0x00de, 0x0005, 0x20a9, 0x0020, - 0x20a1, 0x0240, 0x2001, 0x0000, 0x4004, 0x0005, 0x00c6, 0x6027, - 0x0001, 0x7804, 0x9084, 0x0007, 0x0002, 0x82d7, 0x82fb, 0x833a, - 0x82dd, 0x82fb, 0x82d7, 0x82d5, 0x82d5, 0x080c, 0x0db4, 0x080c, - 0x80a1, 0x080c, 0x896d, 0x00ce, 0x0005, 0x62c0, 0x82ff, 0x1110, - 0x00ce, 0x0005, 0x2011, 0x5b43, 0x080c, 0x8021, 0x7828, 0x9092, - 0x00c8, 0x1228, 0x8000, 0x782a, 0x080c, 0x5b83, 0x0c88, 0x62c0, - 0x080c, 0x9c4e, 0x080c, 0x5b43, 0x7807, 0x0003, 0x7827, 0x0000, - 0x782b, 0x0000, 0x0c28, 0x080c, 0x80a1, 0x6220, 0xd2a4, 0x0160, - 0x782b, 0x0000, 0x7824, 0x9065, 0x090c, 0x0db4, 0x2009, 0x0013, - 0x080c, 0x9ebc, 0x00ce, 0x0005, 0x00c6, 0x7824, 0x9065, 0x090c, - 0x0db4, 0x7828, 0x9092, 0xc350, 0x12c0, 0x8000, 0x782a, 0x00ce, - 0x080c, 0x29cc, 0x0278, 0x00c6, 0x7924, 0x2160, 0x6010, 0x906d, - 0x090c, 0x0db4, 0x7807, 0x0000, 0x7827, 0x0000, 0x00ce, 0x080c, - 0x896d, 0x0c00, 0x080c, 0x9389, 0x08e8, 0x2011, 0x0130, 0x2214, - 0x080c, 0x9c4e, 0x080c, 0xd8ea, 0x2009, 0x0014, 0x080c, 0x9ebc, - 0x00ce, 0x0880, 0x2001, 0x19d3, 0x2003, 0x0000, 0x62c0, 0x82ff, - 0x1160, 0x782b, 0x0000, 0x7824, 0x9065, 0x090c, 0x0db4, 0x2009, - 0x0013, 0x080c, 0x9f0e, 0x00ce, 0x0005, 0x00b6, 0x00c6, 0x00d6, - 0x7824, 0x9005, 0x090c, 0x0db4, 0x7828, 0x9092, 0xc350, 0x1648, - 0x8000, 0x782a, 0x00de, 0x00ce, 0x00be, 0x080c, 0x29cc, 0x02f0, - 0x00b6, 0x00c6, 0x00d6, 0x781c, 0x905d, 0x090c, 0x0db4, 0xb800, - 0xc0dc, 0xb802, 0x7924, 0x2160, 0x080c, 0x9e42, 0xb93c, 0x81ff, - 0x090c, 0x0db4, 0x8109, 0xb93e, 0x7807, 0x0000, 0x7827, 0x0000, - 0x00de, 0x00ce, 0x00be, 0x080c, 0x896d, 0x0868, 0x080c, 0x9389, - 0x0850, 0x2011, 0x0130, 0x2214, 0x080c, 0x9c4e, 0x080c, 0xd8ea, - 0x7824, 0x9065, 0x2009, 0x0014, 0x080c, 0x9ebc, 0x00de, 0x00ce, - 0x00be, 0x0804, 0x834b, 0x00c6, 0x2001, 0x009b, 0x2004, 0xd0fc, - 0x190c, 0x1d4c, 0x6024, 0x6027, 0x0002, 0xd0f4, 0x1580, 0x62c8, - 0x60c4, 0x9205, 0x1170, 0x783c, 0x9065, 0x0130, 0x2009, 0x0049, - 0x080c, 0x9ebc, 0x00ce, 0x0005, 0x2011, 0x19d6, 0x2013, 0x0000, - 0x0cc8, 0x793c, 0x81ff, 0x0dc0, 0x7944, 0x9192, 0x7530, 0x12f0, - 0x8108, 0x7946, 0x793c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, - 0x1138, 0x6014, 0x9084, 0x1984, 0x9085, 0x0012, 0x6016, 0x0c10, - 0x6014, 0x9084, 0x1984, 0x9085, 0x0016, 0x6016, 0x08d8, 0x793c, - 0x2160, 0x2009, 0x004a, 0x080c, 0x9ebc, 0x08a0, 0x7848, 0xc085, - 0x784a, 0x0880, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x600f, 0x0000, 0x2c08, 0x2061, 0x19b7, 0x6020, 0x8000, 0x6022, - 0x6010, 0x9005, 0x0148, 0x9080, 0x0003, 0x2102, 0x6112, 0x012e, - 0x00ce, 0x001e, 0x000e, 0x0005, 0x6116, 0x6112, 0x0cc0, 0x00d6, - 0x2069, 0x19b7, 0xb800, 0xd0d4, 0x0168, 0x6820, 0x8000, 0x6822, - 0x9086, 0x0001, 0x1110, 0x2b00, 0x681e, 0x00de, 0x0804, 0x896d, - 0x00de, 0x0005, 0xc0d5, 0xb802, 0x6818, 0x9005, 0x0168, 0xb856, - 0xb85b, 0x0000, 0x0086, 0x0006, 0x2b00, 0x681a, 0x008e, 0xa05a, - 0x008e, 0x2069, 0x19b7, 0x0c08, 0xb856, 0xb85a, 0x2b00, 0x681a, - 0x681e, 0x08d8, 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x600f, 0x0000, 0x2c08, 0x2061, 0x19b7, 0x6020, 0x8000, 0x6022, - 0x6008, 0x9005, 0x0148, 0x9080, 0x0003, 0x2102, 0x610a, 0x012e, - 0x00ce, 0x001e, 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, 0x00c6, - 0x600f, 0x0000, 0x2c08, 0x2061, 0x19b7, 0x6034, 0x9005, 0x0130, - 0x9080, 0x0003, 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, 0x6136, - 0x00ce, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00b6, 0x0096, - 0x0076, 0x0066, 0x0056, 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, - 0x902e, 0x2071, 0x19b7, 0x7638, 0x2660, 0x2678, 0x2091, 0x8000, - 0x8cff, 0x0904, 0x84ce, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, - 0x84c9, 0x87ff, 0x0120, 0x6054, 0x9106, 0x1904, 0x84c9, 0x703c, - 0x9c06, 0x1178, 0x0036, 0x2019, 0x0001, 0x080c, 0x96d9, 0x7033, - 0x0000, 0x9006, 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x2029, - 0x0001, 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, - 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, - 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, - 0x2678, 0x600f, 0x0000, 0x080c, 0xbb2c, 0x01f0, 0x6014, 0x2048, - 0x6020, 0x9086, 0x0003, 0x15b8, 0x6004, 0x9086, 0x0040, 0x090c, - 0x98db, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, - 0x0076, 0x080c, 0xbe20, 0x080c, 0xd7f4, 0x080c, 0x6891, 0x007e, - 0x003e, 0x001e, 0x080c, 0xbd15, 0x080c, 0x9e72, 0x00ce, 0x0804, - 0x8468, 0x2c78, 0x600c, 0x2060, 0x0804, 0x8468, 0x85ff, 0x0120, - 0x0036, 0x080c, 0x8a4a, 0x003e, 0x012e, 0x000e, 0x001e, 0x002e, - 0x003e, 0x005e, 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, - 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, - 0x0036, 0x0076, 0x080c, 0xd7f4, 0x080c, 0xd4f6, 0x007e, 0x003e, - 0x001e, 0x0890, 0x6020, 0x9086, 0x000a, 0x0904, 0x84b3, 0x0804, - 0x84ac, 0x0006, 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, 0x9036, - 0x0126, 0x2091, 0x8000, 0x2079, 0x19b7, 0x7838, 0x9065, 0x0904, - 0x854e, 0x600c, 0x0006, 0x600f, 0x0000, 0x783c, 0x9c06, 0x1168, - 0x0036, 0x2019, 0x0001, 0x080c, 0x96d9, 0x7833, 0x0000, 0x901e, - 0x7b3e, 0x7b42, 0x7b46, 0x7b4a, 0x003e, 0x080c, 0xbb2c, 0x0548, - 0x6014, 0x2048, 0x6020, 0x9086, 0x0003, 0x1590, 0x3e08, 0x918e, - 0x0002, 0x1188, 0x6010, 0x9005, 0x0170, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0140, 0x6040, 0x9005, 0x11a8, 0x2001, 0x1958, - 0x2004, 0x6042, 0x0080, 0x6004, 0x9086, 0x0040, 0x090c, 0x98db, - 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6884, 0x080c, - 0xbd15, 0x080c, 0x9e72, 0x000e, 0x0804, 0x8506, 0x7e3a, 0x7e36, - 0x012e, 0x00fe, 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, - 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xd4f6, 0x0c50, 0x6020, - 0x9086, 0x000a, 0x09f8, 0x08b8, 0x0016, 0x0026, 0x0086, 0x9046, - 0x0099, 0x080c, 0x864d, 0x008e, 0x002e, 0x001e, 0x0005, 0x00f6, - 0x0126, 0x2079, 0x19b7, 0x2091, 0x8000, 0x080c, 0x86e4, 0x080c, - 0x8772, 0x012e, 0x00fe, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x00e6, - 0x00d6, 0x00c6, 0x0066, 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, - 0x2071, 0x19b7, 0x7614, 0x2660, 0x2678, 0x8cff, 0x0904, 0x8612, - 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x860d, 0x88ff, 0x0120, - 0x6054, 0x9106, 0x1904, 0x860d, 0x7024, 0x9c06, 0x1558, 0x2069, - 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, 0x80a1, 0x080c, 0x93ad, - 0x68c3, 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, 0x0036, 0x2069, - 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, - 0x2b16, 0x9006, 0x080c, 0x2b16, 0x2069, 0x0100, 0x6824, 0xd084, - 0x0110, 0x6827, 0x0001, 0x003e, 0x0028, 0x6003, 0x0009, 0x630a, - 0x0804, 0x860d, 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, 0x7010, - 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, 0x0010, - 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, - 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, 0x2048, 0x080c, 0xbb2c, - 0x01e8, 0x6020, 0x9086, 0x0003, 0x1580, 0x080c, 0xbd32, 0x1118, - 0x080c, 0xa7d1, 0x0098, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, - 0x0016, 0x0036, 0x0086, 0x080c, 0xbe20, 0x080c, 0xd7f4, 0x080c, - 0x6891, 0x008e, 0x003e, 0x001e, 0x080c, 0xbd15, 0x080c, 0x9e72, - 0x080c, 0x97b1, 0x00ce, 0x0804, 0x858d, 0x2c78, 0x600c, 0x2060, - 0x0804, 0x858d, 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, 0x00de, - 0x00ee, 0x00fe, 0x009e, 0x00be, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xd7f4, 0x080c, 0xd4f6, - 0x008e, 0x003e, 0x001e, 0x08d0, 0x080c, 0xa7d1, 0x6020, 0x9086, - 0x0002, 0x1160, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0904, - 0x85f3, 0x9086, 0x008b, 0x0904, 0x85f3, 0x0840, 0x6020, 0x9086, - 0x0005, 0x1920, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x09c8, - 0x9086, 0x008b, 0x09b0, 0x0804, 0x8606, 0x00b6, 0x00a6, 0x0096, - 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x9280, 0x1000, 0x2004, - 0x905d, 0x0904, 0x86dd, 0x00f6, 0x00e6, 0x00d6, 0x0066, 0x2071, - 0x19b7, 0xbe54, 0x7018, 0x9b06, 0x1108, 0x761a, 0x701c, 0x9b06, - 0x1130, 0x86ff, 0x1118, 0x7018, 0x701e, 0x0008, 0x761e, 0xb858, - 0x904d, 0x0108, 0xae56, 0x96d5, 0x0000, 0x0110, 0x2900, 0xb05a, - 0xb857, 0x0000, 0xb85b, 0x0000, 0xb800, 0xc0d4, 0xc0dc, 0xb802, - 0x080c, 0x617a, 0x0904, 0x86d9, 0x7624, 0x86ff, 0x0904, 0x86c8, - 0x9680, 0x0005, 0x2004, 0x9906, 0x15d8, 0x00d6, 0x2069, 0x0100, - 0x68c0, 0x9005, 0x0560, 0x080c, 0x80a1, 0x080c, 0x93ad, 0x68c3, - 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, - 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b16, - 0x9006, 0x080c, 0x2b16, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, - 0x6827, 0x0001, 0x003e, 0x00de, 0x00c6, 0xb83c, 0x9005, 0x0110, - 0x8001, 0xb83e, 0x2660, 0x080c, 0x9e72, 0x00ce, 0x0048, 0x00de, - 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x8680, - 0x89ff, 0x0158, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, - 0xbe20, 0x080c, 0xd7f4, 0x080c, 0x6891, 0x080c, 0x97b1, 0x0804, - 0x8680, 0x006e, 0x00de, 0x00ee, 0x00fe, 0x012e, 0x000e, 0x00ce, - 0x009e, 0x00ae, 0x00be, 0x0005, 0x0096, 0x0006, 0x0066, 0x00c6, - 0x00d6, 0x9036, 0x7814, 0x9065, 0x0904, 0x8745, 0x600c, 0x0006, - 0x600f, 0x0000, 0x7824, 0x9c06, 0x1570, 0x2069, 0x0100, 0x6820, - 0xd0a4, 0x1508, 0x080c, 0x80a1, 0x080c, 0x93ad, 0x68c3, 0x0000, - 0x080c, 0x98db, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, - 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b16, 0x9006, - 0x080c, 0x2b16, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, - 0x0001, 0x003e, 0x0040, 0x080c, 0x6521, 0x1520, 0x6003, 0x0009, - 0x630a, 0x2c30, 0x00f8, 0x6014, 0x2048, 0x080c, 0xbb2a, 0x01b0, - 0x6020, 0x9086, 0x0003, 0x1508, 0x080c, 0xbd32, 0x1118, 0x080c, - 0xa7d1, 0x0060, 0x080c, 0x6521, 0x1168, 0xa867, 0x0103, 0xab7a, - 0xa877, 0x0000, 0x080c, 0x6891, 0x080c, 0xbd15, 0x080c, 0x9e72, - 0x080c, 0x97b1, 0x000e, 0x0804, 0x86eb, 0x7e16, 0x7e12, 0x00de, - 0x00ce, 0x006e, 0x000e, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1118, 0x080c, 0xd4f6, 0x0c50, 0x080c, 0xa7d1, 0x6020, 0x9086, - 0x0002, 0x1150, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0990, - 0x9086, 0x008b, 0x0978, 0x08d0, 0x6020, 0x9086, 0x0005, 0x19b0, - 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0d18, 0x9086, 0x008b, - 0x0d00, 0x0860, 0x0006, 0x0066, 0x0096, 0x00b6, 0x00c6, 0x00d6, - 0x7818, 0x905d, 0x0904, 0x87f2, 0xb854, 0x0006, 0x9006, 0xb856, - 0xb85a, 0xb800, 0xc0d4, 0xc0dc, 0xb802, 0x080c, 0x617a, 0x0904, - 0x87ef, 0x7e24, 0x86ff, 0x0904, 0x87e2, 0x9680, 0x0005, 0x2004, - 0x9906, 0x1904, 0x87e2, 0x00d6, 0x2069, 0x0100, 0x68c0, 0x9005, - 0x0904, 0x87d9, 0x080c, 0x80a1, 0x080c, 0x93ad, 0x68c3, 0x0000, - 0x080c, 0x98db, 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, - 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b16, 0x9006, - 0x080c, 0x2b16, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, - 0x0001, 0x003e, 0x00de, 0x00c6, 0x3e08, 0x918e, 0x0002, 0x1168, - 0xb800, 0xd0bc, 0x0150, 0x9680, 0x0010, 0x200c, 0x81ff, 0x1518, - 0x2009, 0x1958, 0x210c, 0x2102, 0x00f0, 0xb83c, 0x9005, 0x0110, - 0x8001, 0xb83e, 0x2660, 0x600f, 0x0000, 0x080c, 0x9e72, 0x00ce, - 0x0048, 0x00de, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, - 0x0804, 0x8785, 0x89ff, 0x0138, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x080c, 0x6891, 0x080c, 0x97b1, 0x0804, 0x8785, 0x000e, - 0x0804, 0x8779, 0x781e, 0x781a, 0x00de, 0x00ce, 0x00be, 0x009e, - 0x006e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0096, 0x0066, 0xb800, - 0xd0dc, 0x01a0, 0xb84c, 0x904d, 0x0188, 0xa878, 0x9606, 0x1170, - 0x2071, 0x19b7, 0x7024, 0x9035, 0x0148, 0x9080, 0x0005, 0x2004, - 0x9906, 0x1120, 0xb800, 0xc0dc, 0xb802, 0x0029, 0x006e, 0x009e, - 0x00de, 0x00ee, 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, 0x9005, - 0x1138, 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x04b8, - 0x080c, 0x93ad, 0x78c3, 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, - 0x0036, 0x2079, 0x0140, 0x7b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2b16, 0x9006, 0x080c, 0x2b16, 0x2079, 0x0100, - 0x7824, 0xd084, 0x0110, 0x7827, 0x0001, 0x080c, 0x98db, 0x003e, - 0x080c, 0x617a, 0x00c6, 0xb83c, 0x9005, 0x0110, 0x8001, 0xb83e, - 0x2660, 0x080c, 0x9e42, 0x00ce, 0xa867, 0x0103, 0xab7a, 0xa877, - 0x0000, 0x080c, 0xbe20, 0x080c, 0x6891, 0x080c, 0x97b1, 0x00fe, - 0x0005, 0x00b6, 0x00e6, 0x00c6, 0x2011, 0x0101, 0x2204, 0xc0c4, - 0x2012, 0x2001, 0x180c, 0x2014, 0xc2e4, 0x2202, 0x2071, 0x19b7, - 0x7004, 0x9084, 0x0007, 0x0002, 0x887e, 0x8882, 0x88a0, 0x88c9, - 0x8907, 0x887e, 0x8899, 0x887c, 0x080c, 0x0db4, 0x00ce, 0x00ee, - 0x00be, 0x0005, 0x7024, 0x9065, 0x0148, 0x7020, 0x8001, 0x7022, - 0x600c, 0x9015, 0x0158, 0x7216, 0x600f, 0x0000, 0x7007, 0x0000, - 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, 0x7216, 0x7212, - 0x0ca8, 0x7007, 0x0000, 0x7027, 0x0000, 0x7020, 0x9005, 0x0070, - 0x6010, 0x2058, 0x080c, 0x617a, 0xb800, 0xc0dc, 0xb802, 0x7007, - 0x0000, 0x7027, 0x0000, 0x7020, 0x8001, 0x7022, 0x1148, 0x2001, - 0x180c, 0x2014, 0xd2ec, 0x1180, 0x00ce, 0x00ee, 0x00be, 0x0005, - 0xb854, 0x9015, 0x0120, 0x721e, 0x080c, 0x896d, 0x0ca8, 0x7218, - 0x721e, 0x080c, 0x896d, 0x0c80, 0xc2ec, 0x2202, 0x080c, 0x8a4a, - 0x0c58, 0x7024, 0x9065, 0x05b8, 0x700c, 0x9c06, 0x1160, 0x080c, - 0x97b1, 0x600c, 0x9015, 0x0120, 0x720e, 0x600f, 0x0000, 0x0448, - 0x720e, 0x720a, 0x0430, 0x7014, 0x9c06, 0x1160, 0x080c, 0x97b1, - 0x600c, 0x9015, 0x0120, 0x7216, 0x600f, 0x0000, 0x00d0, 0x7216, - 0x7212, 0x00b8, 0x6020, 0x9086, 0x0003, 0x1198, 0x6010, 0x2058, - 0x080c, 0x617a, 0xb800, 0xc0dc, 0xb802, 0x080c, 0x97b1, 0x701c, - 0x9065, 0x0138, 0xb854, 0x9015, 0x0110, 0x721e, 0x0010, 0x7218, - 0x721e, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, 0x7024, - 0x9065, 0x0140, 0x080c, 0x97b1, 0x600c, 0x9015, 0x0158, 0x720e, - 0x600f, 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, 0x00ce, 0x00ee, - 0x00be, 0x0005, 0x720e, 0x720a, 0x0ca8, 0x00d6, 0x2069, 0x19b7, - 0x6830, 0x9084, 0x0003, 0x0002, 0x892a, 0x892c, 0x8950, 0x8928, - 0x080c, 0x0db4, 0x00de, 0x0005, 0x00c6, 0x6840, 0x9086, 0x0001, - 0x01b8, 0x683c, 0x9065, 0x0130, 0x600c, 0x9015, 0x0170, 0x6a3a, - 0x600f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, 0x2011, 0x19d6, - 0x2013, 0x0000, 0x00ce, 0x00de, 0x0005, 0x683a, 0x6836, 0x0c90, - 0x6843, 0x0000, 0x6838, 0x9065, 0x0d68, 0x6003, 0x0003, 0x0c50, - 0x00c6, 0x9006, 0x6842, 0x6846, 0x684a, 0x683c, 0x9065, 0x0160, - 0x600c, 0x9015, 0x0130, 0x6a3a, 0x600f, 0x0000, 0x683f, 0x0000, - 0x0018, 0x683e, 0x683a, 0x6836, 0x00ce, 0x00de, 0x0005, 0x2001, - 0x180c, 0x200c, 0xc1e5, 0x2102, 0x0005, 0x2001, 0x180c, 0x200c, - 0xd1ec, 0x0120, 0xc1ec, 0x2102, 0x080c, 0x8a4a, 0x2001, 0x19c3, - 0x2004, 0x9086, 0x0001, 0x0d58, 0x00d6, 0x2069, 0x19b7, 0x6804, - 0x9084, 0x0007, 0x0002, 0x898d, 0x8a32, 0x8a32, 0x8a32, 0x8a32, - 0x8a34, 0x8a32, 0x898b, 0x080c, 0x0db4, 0x6820, 0x9005, 0x1110, - 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0150, 0x6807, 0x0004, - 0x6826, 0x682b, 0x0000, 0x080c, 0x8aa5, 0x00ce, 0x00de, 0x0005, - 0x6814, 0x9065, 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, 0x0000, - 0x080c, 0x8aa5, 0x00ce, 0x00de, 0x0005, 0x00b6, 0x00e6, 0x6a1c, - 0x92dd, 0x0000, 0x0904, 0x8a1c, 0xb84c, 0x900d, 0x0118, 0xb888, - 0x9005, 0x01a0, 0xb854, 0x905d, 0x0120, 0x920e, 0x0904, 0x8a1c, - 0x0028, 0x6818, 0x920e, 0x0904, 0x8a1c, 0x2058, 0xb84c, 0x900d, - 0x0d88, 0xb888, 0x9005, 0x1d70, 0x2b00, 0x681e, 0xbb3c, 0xb838, - 0x9302, 0x1e40, 0x080c, 0x9e19, 0x0904, 0x8a1c, 0x8318, 0xbb3e, - 0x6116, 0x2b10, 0x6212, 0x0096, 0x2148, 0xa880, 0x9084, 0x00ff, - 0x605e, 0xa883, 0x0000, 0xa884, 0x009e, 0x908a, 0x199a, 0x0210, - 0x2001, 0x1999, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, 0x6114, - 0x0096, 0x2148, 0xa964, 0x009e, 0x918c, 0x00ff, 0x918e, 0x0048, - 0x0538, 0x00f6, 0x2c78, 0x2061, 0x0100, 0xbab0, 0x629a, 0x2069, - 0x0200, 0x2071, 0x0240, 0x080c, 0x8fdd, 0x2069, 0x19b7, 0xbb00, - 0xc3dd, 0xbb02, 0x6807, 0x0002, 0x2f18, 0x6b26, 0x682b, 0x0000, - 0x7823, 0x0003, 0x7803, 0x0001, 0x7807, 0x0040, 0x00fe, 0x00ee, - 0x00be, 0x00ce, 0x00de, 0x0005, 0x00ee, 0x00be, 0x00ce, 0x0cd0, - 0x6807, 0x0006, 0x2c18, 0x6b26, 0x6820, 0x8001, 0x6822, 0x682b, - 0x0000, 0x080c, 0x617a, 0x080c, 0x9c6e, 0x00ee, 0x00be, 0x00ce, - 0x00de, 0x0005, 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0138, - 0x6807, 0x0004, 0x6826, 0x682b, 0x0000, 0x080c, 0x8aa5, 0x00ce, - 0x00de, 0x0005, 0x2001, 0x180c, 0x2014, 0xc2ed, 0x2202, 0x00de, - 0x00fe, 0x0005, 0x00f6, 0x00d6, 0x2069, 0x19b7, 0x6830, 0x9086, - 0x0000, 0x1548, 0x2001, 0x180c, 0x2014, 0xd2e4, 0x0130, 0xc2e4, - 0x2202, 0x080c, 0x897c, 0x2069, 0x19b7, 0x2001, 0x180c, 0x200c, - 0xd1c4, 0x11e0, 0x6838, 0x907d, 0x01b0, 0x6a04, 0x9296, 0x0000, - 0x1588, 0x6833, 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, - 0x0126, 0x00f6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1aea, 0x1178, - 0x012e, 0x080c, 0x920a, 0x00de, 0x00fe, 0x0005, 0xc1c4, 0x2102, - 0x0066, 0x2031, 0x0001, 0x080c, 0x704b, 0x006e, 0x08d8, 0x012e, - 0x6843, 0x0000, 0x7803, 0x0002, 0x780c, 0x9015, 0x0140, 0x6a3a, - 0x780f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, 0x0c20, 0x683a, - 0x6836, 0x0cc0, 0x6a04, 0x9296, 0x0006, 0x1904, 0x8a42, 0x6a30, - 0x9296, 0x0000, 0x0930, 0x0804, 0x8a42, 0x6020, 0x9084, 0x000f, - 0x000b, 0x0005, 0x8ab9, 0x8abe, 0x8f17, 0x8fa6, 0x8abe, 0x8f17, - 0x8fa6, 0x8ab9, 0x8abe, 0x8ab9, 0x8ab9, 0x8ab9, 0x8ab9, 0x8ab9, - 0x8ab9, 0x080c, 0x8861, 0x080c, 0x896d, 0x0005, 0x00b6, 0x0156, - 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, - 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, 0x0053, 0x1a0c, - 0x0db4, 0x6110, 0x2158, 0xb9b0, 0x2c78, 0x2061, 0x0100, 0x619a, - 0x908a, 0x0040, 0x1a04, 0x8b2a, 0x005b, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, - 0x8ca1, 0x8cdc, 0x8d05, 0x8da8, 0x8dc9, 0x8dcf, 0x8ddc, 0x8de4, - 0x8df0, 0x8df6, 0x8e07, 0x8df6, 0x8e5e, 0x8de4, 0x8e6a, 0x8e70, - 0x8df0, 0x8e70, 0x8e7c, 0x8b28, 0x8b28, 0x8b28, 0x8b28, 0x8b28, - 0x8b28, 0x8b28, 0x8b28, 0x8b28, 0x8b28, 0x8b28, 0x9590, 0x95b3, - 0x95c4, 0x95e4, 0x9616, 0x8ddc, 0x8b28, 0x8ddc, 0x8df6, 0x8b28, - 0x8d05, 0x8da8, 0x8b28, 0x99d2, 0x8df6, 0x8b28, 0x99ee, 0x8df6, - 0x8b28, 0x8df0, 0x8c9b, 0x8b4b, 0x8b28, 0x9a0a, 0x9a77, 0x9b4e, - 0x8b28, 0x9b5b, 0x8dd9, 0x9b86, 0x8b28, 0x9620, 0x9bb3, 0x8b28, - 0x080c, 0x0db4, 0x2100, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, - 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0x8b49, - 0x8b49, 0x8b49, 0x8b72, 0x8c1e, 0x8c29, 0x8b49, 0x8b49, 0x8b49, - 0x8c70, 0x8c7c, 0x8b8d, 0x8b49, 0x8ba8, 0x8bdc, 0x9d35, 0x9d7a, - 0x8df6, 0x080c, 0x0db4, 0x00d6, 0x0096, 0x080c, 0x8e8f, 0x7003, - 0x2414, 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, 0x2048, 0xa83c, - 0x700e, 0xa850, 0x7022, 0xa854, 0x7026, 0x60c3, 0x0018, 0x080c, - 0x9381, 0x009e, 0x00de, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb8a0, - 0x00be, 0x080c, 0x9dc1, 0x1118, 0x9084, 0xff80, 0x0110, 0x9085, - 0x0001, 0x0005, 0x00d6, 0x0096, 0x080c, 0x8e8f, 0x7003, 0x0500, - 0x7814, 0x2048, 0xa874, 0x700a, 0xa878, 0x700e, 0xa87c, 0x7012, - 0xa880, 0x7016, 0xa884, 0x701a, 0xa888, 0x701e, 0x60c3, 0x0010, - 0x080c, 0x9381, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x080c, - 0x8e8f, 0x7003, 0x0500, 0x7814, 0x2048, 0xa8cc, 0x700a, 0xa8d0, - 0x700e, 0xa8d4, 0x7012, 0xa8d8, 0x7016, 0xa8dc, 0x701a, 0xa8e0, - 0x701e, 0x60c3, 0x0010, 0x080c, 0x9381, 0x009e, 0x00de, 0x0005, - 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, 0x8e8f, 0x20e9, - 0x0000, 0x2001, 0x1973, 0x2003, 0x0000, 0x7814, 0x2048, 0xa814, - 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, - 0x001b, 0x2098, 0x2001, 0x1973, 0x0016, 0x200c, 0x2001, 0x0001, - 0x080c, 0x224f, 0x080c, 0xc839, 0x9006, 0x080c, 0x224f, 0x001e, - 0xa804, 0x9005, 0x0110, 0x2048, 0x0c28, 0x04d9, 0x080c, 0x9381, - 0x012e, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, - 0x8000, 0x080c, 0x8eda, 0x20e9, 0x0000, 0x2001, 0x1973, 0x2003, - 0x0000, 0x7814, 0x2048, 0xa86f, 0x0200, 0xa873, 0x0000, 0xa814, - 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, - 0x001b, 0x2098, 0x2001, 0x1973, 0x0016, 0x200c, 0x080c, 0xc839, - 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c60, 0x0051, 0x7814, - 0x2048, 0x080c, 0x0f9d, 0x080c, 0x9381, 0x012e, 0x009e, 0x00de, - 0x0005, 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, - 0x0004, 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, 0x080c, 0x8e8f, - 0x7003, 0x7800, 0x7808, 0x8007, 0x700a, 0x60c3, 0x0008, 0x0804, - 0x9381, 0x00d6, 0x00e6, 0x080c, 0x8eda, 0x7814, 0x9084, 0xff00, - 0x2073, 0x0200, 0x8e70, 0x8e70, 0x9095, 0x0010, 0x2272, 0x8e70, - 0x2073, 0x0034, 0x8e70, 0x2069, 0x1805, 0x20a9, 0x0004, 0x2d76, - 0x8d68, 0x8e70, 0x1f04, 0x8c3f, 0x2069, 0x1801, 0x20a9, 0x0004, - 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8c48, 0x2069, 0x1983, 0x9086, - 0xdf00, 0x0110, 0x2069, 0x199d, 0x20a9, 0x001a, 0x9e86, 0x0260, - 0x1148, 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, - 0x2071, 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, - 0x8c56, 0x60c3, 0x004c, 0x080c, 0x9381, 0x00ee, 0x00de, 0x0005, - 0x080c, 0x8e8f, 0x7003, 0x6300, 0x7007, 0x0028, 0x7808, 0x700e, - 0x60c3, 0x0008, 0x0804, 0x9381, 0x00d6, 0x0026, 0x0016, 0x080c, - 0x8eda, 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, - 0x2009, 0x0001, 0x2011, 0x000c, 0x2073, 0x0800, 0x8e70, 0x2073, - 0x0000, 0x00ee, 0x7206, 0x710a, 0x62c2, 0x080c, 0x9381, 0x001e, - 0x002e, 0x00de, 0x0005, 0x2001, 0x1817, 0x2004, 0x609a, 0x0804, - 0x9381, 0x080c, 0x8e8f, 0x7003, 0x5200, 0x2069, 0x1853, 0x6804, - 0xd084, 0x0130, 0x6828, 0x0016, 0x080c, 0x2698, 0x710e, 0x001e, + 0xd084, 0x190c, 0x1187, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x00f6, + 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, 0x7838, + 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, + 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x1187, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6bcb, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x2048, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x7f64, 0x782c, 0x9094, 0x0780, 0x190c, 0x6bcb, 0xd0a4, 0x1d70, + 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, 0x1921, 0x6808, 0x690a, + 0x2069, 0x19d2, 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, 0x2001, + 0x1922, 0x200c, 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, 0x0005, + 0x7094, 0x908a, 0x0029, 0x1a0c, 0x0db4, 0x9082, 0x001d, 0x001b, + 0x6027, 0x1e00, 0x0005, 0x6d5f, 0x6ce5, 0x6d01, 0x6d2b, 0x6d4e, + 0x6d8e, 0x6da0, 0x6d01, 0x6d76, 0x6ca0, 0x6cce, 0x6c9f, 0x0005, + 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, 0x1180, 0x6808, 0x9005, + 0x1518, 0x7097, 0x0028, 0x2069, 0x1967, 0x2d04, 0x7002, 0x080c, + 0x70e1, 0x6028, 0x9085, 0x0600, 0x602a, 0x00b0, 0x7097, 0x0028, + 0x2069, 0x1967, 0x2d04, 0x7002, 0x6028, 0x9085, 0x0600, 0x602a, + 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a3a, 0x080c, 0x196a, + 0x005e, 0x004e, 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, 0x2069, + 0x0200, 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, 0x7097, + 0x0028, 0x2069, 0x1967, 0x2d04, 0x7002, 0x080c, 0x717b, 0x6028, + 0x9085, 0x0600, 0x602a, 0x00de, 0x0005, 0x0006, 0x2001, 0x0090, + 0x080c, 0x2b21, 0x000e, 0x6124, 0xd1e4, 0x1190, 0x080c, 0x6e0d, + 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x7097, 0x0020, + 0x080c, 0x6e0d, 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, + 0x0005, 0x2001, 0x0088, 0x080c, 0x2b21, 0x6124, 0xd1cc, 0x11e8, + 0xd1dc, 0x11c0, 0xd1e4, 0x1198, 0x9184, 0x1e00, 0x11d8, 0x080c, + 0x198f, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, 0x6fd6, + 0x2001, 0x0080, 0x080c, 0x2b21, 0x7097, 0x0028, 0x0058, 0x7097, + 0x001e, 0x0040, 0x7097, 0x001d, 0x0028, 0x7097, 0x0020, 0x0010, + 0x7097, 0x001f, 0x0005, 0x080c, 0x198f, 0x60e3, 0x0001, 0x600c, + 0xc0b4, 0x600e, 0x080c, 0x6fd6, 0x2001, 0x0080, 0x080c, 0x2b21, + 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, 0x9184, + 0x1e00, 0x1158, 0x7097, 0x0028, 0x0040, 0x7097, 0x001e, 0x0028, + 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, 0x0005, 0x2001, 0x00a0, + 0x080c, 0x2b21, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, + 0x198f, 0x7097, 0x001e, 0x0010, 0x7097, 0x001d, 0x0005, 0x080c, + 0x6e90, 0x6124, 0xd1dc, 0x1188, 0x080c, 0x6e0d, 0x0016, 0x080c, + 0x198f, 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x7097, 0x001e, + 0x0020, 0x7097, 0x001f, 0x080c, 0x6e0d, 0x0005, 0x0006, 0x2001, + 0x00a0, 0x080c, 0x2b21, 0x000e, 0x6124, 0xd1d4, 0x1160, 0xd1cc, + 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x7097, 0x001e, 0x0028, + 0x7097, 0x001d, 0x0010, 0x7097, 0x0021, 0x0005, 0x080c, 0x6e90, + 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x7097, + 0x001e, 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, 0x0005, + 0x0006, 0x2001, 0x0090, 0x080c, 0x2b21, 0x000e, 0x6124, 0xd1d4, + 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x7097, + 0x001e, 0x0040, 0x7097, 0x001d, 0x0028, 0x7097, 0x0020, 0x0010, + 0x7097, 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, + 0x080c, 0x6faa, 0x11d8, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x01b0, + 0xc1b4, 0x2102, 0x6027, 0x0200, 0x080c, 0x2a6a, 0x6024, 0xd0cc, + 0x0148, 0x2001, 0x00a0, 0x080c, 0x2b21, 0x080c, 0x728c, 0x080c, + 0x5ce5, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, 0x6fc4, + 0x0150, 0x080c, 0x6fbb, 0x1138, 0x2001, 0x0001, 0x080c, 0x2619, + 0x080c, 0x6f82, 0x00a0, 0x080c, 0x6e8d, 0x0178, 0x2001, 0x0001, + 0x080c, 0x2619, 0x7094, 0x9086, 0x001e, 0x0120, 0x7094, 0x9086, + 0x0022, 0x1118, 0x7097, 0x0025, 0x0010, 0x7097, 0x0021, 0x012e, + 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, 0x6e1e, + 0x080c, 0x8113, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, 0x2011, + 0x6e1e, 0x080c, 0x810a, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00f6, + 0x0016, 0x080c, 0x93c7, 0x2071, 0x1800, 0x080c, 0x6dbb, 0x001e, + 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x0126, 0x080c, 0x93c7, 0x2061, 0x0100, 0x2069, + 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x6028, 0xc09c, 0x602a, + 0x2011, 0x0003, 0x080c, 0x975b, 0x2011, 0x0002, 0x080c, 0x9765, + 0x080c, 0x9673, 0x080c, 0x80bf, 0x0036, 0x901e, 0x080c, 0x96e9, + 0x003e, 0x60e3, 0x0000, 0x080c, 0xd8ee, 0x080c, 0xd909, 0x2009, + 0x0004, 0x080c, 0x2a70, 0x080c, 0x298b, 0x2001, 0x1800, 0x2003, + 0x0004, 0x6027, 0x0008, 0x2011, 0x6e1e, 0x080c, 0x8113, 0x080c, + 0x6fc4, 0x0118, 0x9006, 0x080c, 0x2b21, 0x080c, 0x0b8f, 0x2001, + 0x0001, 0x080c, 0x2619, 0x012e, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x003e, 0x002e, 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, 0x6e2b, + 0x2071, 0x19d2, 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, 0x0110, + 0x9085, 0x0001, 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, 0x0005, + 0x6800, 0x9084, 0xfffe, 0x9086, 0x00c0, 0x01b8, 0x2001, 0x00c0, + 0x080c, 0x2b21, 0x0156, 0x20a9, 0x002d, 0x1d04, 0x6e9d, 0x2091, + 0x6000, 0x1f04, 0x6e9d, 0x015e, 0x00d6, 0x2069, 0x1800, 0x6898, + 0x8001, 0x0220, 0x0118, 0x689a, 0x00de, 0x0005, 0x689b, 0x0014, + 0x68e4, 0xd0dc, 0x0dc8, 0x6800, 0x9086, 0x0001, 0x1da8, 0x080c, + 0x811f, 0x0c90, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, + 0x0140, 0x2071, 0x1800, 0x080c, 0x729b, 0x2001, 0x1945, 0x2003, + 0x0000, 0x9006, 0x7096, 0x60e2, 0x6886, 0x080c, 0x26e4, 0x9006, + 0x080c, 0x2b21, 0x080c, 0x5ba4, 0x6027, 0xffff, 0x602b, 0x182f, + 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, + 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2001, 0x1955, 0x200c, + 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, 0x0158, 0x9186, 0x0002, + 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, 0x6f72, 0x7097, 0x0022, + 0x0040, 0x7097, 0x0021, 0x0028, 0x7097, 0x0023, 0x0010, 0x7097, + 0x0024, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, + 0x26e4, 0x0026, 0x080c, 0x9db5, 0x002e, 0x7000, 0x908e, 0x0004, + 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, 0x0020, 0x0156, 0x0126, + 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, 0xd0ac, 0x0150, 0x012e, + 0x015e, 0x080c, 0xc23b, 0x0118, 0x9006, 0x080c, 0x2b4b, 0x0804, + 0x6f7e, 0x6800, 0x9084, 0x00a1, 0xc0bd, 0x6802, 0x080c, 0x2a6a, + 0x6904, 0xd1d4, 0x1140, 0x2001, 0x0100, 0x080c, 0x2b21, 0x1f04, + 0x6f1c, 0x080c, 0x7001, 0x012e, 0x015e, 0x080c, 0x6fbb, 0x01a8, + 0x6044, 0x9005, 0x0168, 0x6050, 0x0006, 0x9085, 0x0020, 0x6052, + 0x080c, 0x7001, 0x9006, 0x8001, 0x1df0, 0x000e, 0x6052, 0x0028, + 0x6804, 0xd0d4, 0x1110, 0x080c, 0x7001, 0x080c, 0xc23b, 0x0118, + 0x9006, 0x080c, 0x2b4b, 0x0016, 0x0026, 0x7000, 0x908e, 0x0004, + 0x0130, 0x2009, 0x00c8, 0x2011, 0x6e2b, 0x080c, 0x80d1, 0x002e, + 0x001e, 0x080c, 0x7f5b, 0x7034, 0xc085, 0x7036, 0x2001, 0x1955, + 0x2003, 0x0004, 0x080c, 0x6c88, 0x080c, 0x6fbb, 0x0138, 0x6804, + 0xd0d4, 0x1120, 0xd0dc, 0x1100, 0x080c, 0x7291, 0x00ee, 0x00de, + 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, + 0x0140, 0x2071, 0x1800, 0x080c, 0x7f72, 0x080c, 0x7f64, 0x080c, + 0x729b, 0x2001, 0x1945, 0x2003, 0x0000, 0x9006, 0x7096, 0x60e2, + 0x6886, 0x080c, 0x26e4, 0x9006, 0x080c, 0x2b21, 0x6043, 0x0090, + 0x6043, 0x0010, 0x6027, 0xffff, 0x602b, 0x182f, 0x00ee, 0x00de, + 0x00ce, 0x0005, 0x0006, 0x2001, 0x1954, 0x2004, 0x9086, 0xaaaa, + 0x000e, 0x0005, 0x0006, 0x080c, 0x539e, 0x9084, 0x0030, 0x9086, + 0x0000, 0x000e, 0x0005, 0x0006, 0x080c, 0x539e, 0x9084, 0x0030, + 0x9086, 0x0030, 0x000e, 0x0005, 0x0006, 0x080c, 0x539e, 0x9084, + 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, 0x0006, 0x080c, 0x539e, + 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, 0x0036, 0x0016, + 0x2001, 0x180c, 0x2004, 0x908c, 0x0013, 0x0180, 0x0020, 0x080c, + 0x2704, 0x900e, 0x0028, 0x080c, 0x6572, 0x1dc8, 0x2009, 0x0002, + 0x2019, 0x0028, 0x080c, 0x2fb2, 0x9006, 0x0019, 0x001e, 0x003e, + 0x0005, 0x00e6, 0x2071, 0x180c, 0x2e04, 0x0130, 0x080c, 0xc234, + 0x1128, 0x9085, 0x0010, 0x0010, 0x9084, 0xffef, 0x2072, 0x00ee, + 0x0005, 0x6050, 0x0006, 0x60ec, 0x0006, 0x600c, 0x0006, 0x6004, + 0x0006, 0x6028, 0x0006, 0x0016, 0x6138, 0x6050, 0x9084, 0xfbff, + 0x9085, 0x2000, 0x6052, 0x613a, 0x20a9, 0x0012, 0x1d04, 0x7016, + 0x2091, 0x6000, 0x1f04, 0x7016, 0x602f, 0x0100, 0x602f, 0x0000, + 0x6050, 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x613a, 0x001e, + 0x602f, 0x0040, 0x602f, 0x0000, 0x000e, 0x602a, 0x000e, 0x6006, + 0x000e, 0x600e, 0x000e, 0x60ee, 0x60e3, 0x0000, 0x6887, 0x0001, + 0x2001, 0x0001, 0x080c, 0x26e4, 0x2001, 0x00a0, 0x0006, 0x080c, + 0xc23b, 0x000e, 0x0130, 0x080c, 0x2b3f, 0x9006, 0x080c, 0x2b4b, + 0x0010, 0x080c, 0x2b21, 0x000e, 0x6052, 0x6050, 0x0006, 0xc0e5, + 0x6052, 0x00f6, 0x2079, 0x0100, 0x080c, 0x29df, 0x00fe, 0x000e, + 0x6052, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, + 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x6020, + 0x9084, 0x0080, 0x0138, 0x2001, 0x180c, 0x200c, 0xc1c5, 0x2102, + 0x0804, 0x70d3, 0x2001, 0x180c, 0x200c, 0xc1c4, 0x2102, 0x6028, + 0x9084, 0xe1ff, 0x602a, 0x6027, 0x0200, 0x2001, 0x0090, 0x080c, + 0x2b21, 0x20a9, 0x0366, 0x6024, 0xd0cc, 0x1518, 0x1d04, 0x7083, + 0x2091, 0x6000, 0x1f04, 0x7083, 0x2011, 0x0003, 0x080c, 0x975b, + 0x2011, 0x0002, 0x080c, 0x9765, 0x080c, 0x9673, 0x901e, 0x080c, + 0x96e9, 0x2001, 0x00a0, 0x080c, 0x2b21, 0x080c, 0x728c, 0x080c, + 0x5ce5, 0x080c, 0xc23b, 0x0110, 0x080c, 0x0d22, 0x9085, 0x0001, + 0x0480, 0x080c, 0x198f, 0x60e3, 0x0000, 0x2001, 0x0002, 0x080c, + 0x26e4, 0x60e2, 0x2001, 0x0080, 0x080c, 0x2b21, 0x20a9, 0x0366, + 0x6027, 0x1e00, 0x2009, 0x1e00, 0x080c, 0x2a6a, 0x6024, 0x910c, + 0x0138, 0x1d04, 0x70b8, 0x2091, 0x6000, 0x1f04, 0x70b8, 0x0820, + 0x6028, 0x9085, 0x1e00, 0x602a, 0x70b0, 0x9005, 0x1118, 0x6887, + 0x0001, 0x0008, 0x6886, 0x080c, 0xc23b, 0x0110, 0x080c, 0x0d22, + 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2071, 0x1800, 0x7000, 0x9086, 0x0003, 0x1168, + 0x2001, 0x020b, 0x2004, 0x9084, 0x5540, 0x9086, 0x5540, 0x1128, + 0x2069, 0x1a50, 0x2d04, 0x8000, 0x206a, 0x2069, 0x0140, 0x6020, + 0x9084, 0x00c0, 0x0120, 0x6884, 0x9005, 0x1904, 0x7146, 0x2001, + 0x0088, 0x080c, 0x2b21, 0x9006, 0x60e2, 0x6886, 0x080c, 0x26e4, + 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x01c0, + 0x6028, 0x9084, 0xfbff, 0x602a, 0x6027, 0x0400, 0x2069, 0x1967, + 0x7000, 0x206a, 0x7097, 0x0026, 0x7003, 0x0001, 0x20a9, 0x0002, + 0x1d04, 0x7128, 0x2091, 0x6000, 0x1f04, 0x7128, 0x0804, 0x7173, + 0x2069, 0x0140, 0x20a9, 0x0384, 0x6027, 0x1e00, 0x2009, 0x1e00, + 0x080c, 0x2a6a, 0x6024, 0x910c, 0x0508, 0x9084, 0x1a00, 0x11f0, + 0x1d04, 0x7134, 0x2091, 0x6000, 0x1f04, 0x7134, 0x2011, 0x0003, + 0x080c, 0x975b, 0x2011, 0x0002, 0x080c, 0x9765, 0x080c, 0x9673, + 0x901e, 0x080c, 0x96e9, 0x2001, 0x00a0, 0x080c, 0x2b21, 0x080c, + 0x728c, 0x080c, 0x5ce5, 0x9085, 0x0001, 0x00a8, 0x2001, 0x0080, + 0x080c, 0x2b21, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b0, 0x9005, + 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x0002, 0x080c, + 0x26e4, 0x60e2, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, + 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, + 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x6020, 0x9084, + 0x00c0, 0x01c8, 0x2011, 0x0003, 0x080c, 0x975b, 0x2011, 0x0002, + 0x080c, 0x9765, 0x080c, 0x9673, 0x901e, 0x080c, 0x96e9, 0x2069, + 0x0140, 0x2001, 0x00a0, 0x080c, 0x2b21, 0x080c, 0x728c, 0x080c, + 0x5ce5, 0x0804, 0x720d, 0x2001, 0x180c, 0x200c, 0xd1b4, 0x1160, + 0xc1b5, 0x2102, 0x080c, 0x6e13, 0x2069, 0x0140, 0x2001, 0x0080, + 0x080c, 0x2b21, 0x60e3, 0x0000, 0x2069, 0x0200, 0x6804, 0x9005, + 0x1118, 0x6808, 0x9005, 0x0180, 0x6028, 0x9084, 0xfdff, 0x602a, + 0x6027, 0x0200, 0x2069, 0x1967, 0x7000, 0x206a, 0x7097, 0x0027, + 0x7003, 0x0001, 0x0804, 0x720d, 0x6027, 0x1e00, 0x2009, 0x1e00, + 0x080c, 0x2a6a, 0x6024, 0x910c, 0x01c8, 0x9084, 0x1c00, 0x11b0, + 0x1d04, 0x71cc, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, + 0x7fa3, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, + 0x19d2, 0x7070, 0x00ee, 0x9005, 0x19f8, 0x00f8, 0x0026, 0x2011, + 0x6e2b, 0x080c, 0x803f, 0x2011, 0x6e1e, 0x080c, 0x8113, 0x002e, + 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b0, 0x9005, 0x1118, 0x6887, + 0x0001, 0x0008, 0x6886, 0x2001, 0x0002, 0x080c, 0x26e4, 0x60e2, + 0x2001, 0x180c, 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, 0x00ce, + 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, + 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, + 0x080c, 0xc234, 0x1904, 0x727a, 0x7130, 0xd184, 0x1170, 0x080c, + 0x3140, 0x0138, 0xc18d, 0x7132, 0x2011, 0x185c, 0x2214, 0xd2ac, + 0x1120, 0x7030, 0xd08c, 0x0904, 0x727a, 0x2011, 0x185c, 0x220c, + 0x0438, 0x0016, 0x2019, 0x000e, 0x080c, 0xd4e0, 0x0156, 0x00b6, + 0x20a9, 0x007f, 0x900e, 0x9186, 0x007e, 0x01a0, 0x9186, 0x0080, + 0x0188, 0x080c, 0x6256, 0x1170, 0x2120, 0x9006, 0x0016, 0x2009, + 0x000e, 0x080c, 0xd564, 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, + 0x8236, 0x001e, 0x8108, 0x1f04, 0x7243, 0x00be, 0x015e, 0x001e, + 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, + 0x2fb2, 0x001e, 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, + 0x080c, 0x6256, 0x1110, 0x080c, 0x5cff, 0x8108, 0x1f04, 0x7270, + 0x00be, 0x015e, 0x080c, 0x198f, 0x080c, 0x9db5, 0x60e3, 0x0000, + 0x080c, 0x5ce5, 0x080c, 0x6edc, 0x00ee, 0x00ce, 0x004e, 0x003e, + 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, 0x1955, 0x2003, 0x0001, + 0x0005, 0x2001, 0x1955, 0x2003, 0x0000, 0x0005, 0x2001, 0x1954, + 0x2003, 0xaaaa, 0x0005, 0x2001, 0x1954, 0x2003, 0x0000, 0x0005, + 0x2071, 0x18f8, 0x7003, 0x0000, 0x7007, 0x0000, 0x080c, 0x1004, + 0x090c, 0x0db4, 0xa8ab, 0xdcb0, 0x2900, 0x704e, 0x080c, 0x1004, + 0x090c, 0x0db4, 0xa8ab, 0xdcb0, 0x2900, 0x7052, 0xa867, 0x0000, + 0xa86b, 0x0001, 0xa89f, 0x0000, 0x0005, 0x00e6, 0x2071, 0x0040, + 0x6848, 0x9005, 0x1118, 0x9085, 0x0001, 0x04b0, 0x6840, 0x9005, + 0x0150, 0x04a1, 0x6a50, 0x9200, 0x7002, 0x6854, 0x9101, 0x7006, + 0x9006, 0x7012, 0x7016, 0x6850, 0x7002, 0x6854, 0x7006, 0x6858, + 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, 0x1110, 0x7012, 0x7016, + 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x2001, 0x0019, + 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, 0x200c, 0x918c, 0xfff7, + 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, 0x18f8, 0x6807, 0x0001, + 0x00de, 0x080c, 0x788e, 0x9006, 0x00ee, 0x0005, 0x900e, 0x0156, + 0x20a9, 0x0006, 0x8003, 0x2011, 0x0100, 0x2214, 0x9296, 0x0008, + 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x1f04, 0x7302, 0x015e, + 0x0005, 0x2079, 0x0040, 0x2071, 0x18f8, 0x7004, 0x0002, 0x7321, + 0x7322, 0x735a, 0x73b5, 0x74f6, 0x731f, 0x731f, 0x7520, 0x080c, + 0x0db4, 0x0005, 0x2079, 0x0040, 0x782c, 0x908c, 0x0780, 0x190c, + 0x791a, 0xd0a4, 0x01f8, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, + 0xa864, 0x9084, 0x00ff, 0x908a, 0x0040, 0x0610, 0x00c0, 0x2001, + 0x1800, 0x200c, 0x9186, 0x0003, 0x1168, 0x7004, 0x0002, 0x734a, + 0x7324, 0x734a, 0x7348, 0x734a, 0x734a, 0x734a, 0x734a, 0x734a, + 0x080c, 0x73b5, 0x782c, 0xd09c, 0x090c, 0x788e, 0x0005, 0x9082, + 0x005a, 0x1218, 0x2100, 0x003b, 0x0c10, 0x080c, 0x73eb, 0x0c90, + 0x00e3, 0x08e8, 0x0005, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x740d, 0x73eb, 0x73eb, 0x73eb, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73f7, + 0x73eb, 0x75f5, 0x73eb, 0x73eb, 0x73eb, 0x740d, 0x73eb, 0x73f7, + 0x7636, 0x7677, 0x76be, 0x76d2, 0x73eb, 0x73eb, 0x740d, 0x73f7, + 0x73eb, 0x73eb, 0x74ca, 0x777d, 0x7798, 0x73eb, 0x740d, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x74c0, 0x7798, 0x73eb, 0x73eb, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x7421, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, + 0x78be, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x7435, 0x73eb, + 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x73eb, 0x2079, 0x0040, 0x7004, + 0x9086, 0x0003, 0x1198, 0x782c, 0x080c, 0x78b7, 0xd0a4, 0x0170, + 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, + 0x908a, 0x001a, 0x1210, 0x002b, 0x0c50, 0x00e9, 0x080c, 0x788e, + 0x0005, 0x73eb, 0x73f7, 0x75e1, 0x73eb, 0x73f7, 0x73eb, 0x73f7, + 0x73f7, 0x73eb, 0x73f7, 0x75e1, 0x73f7, 0x73f7, 0x73f7, 0x73f7, + 0x73f7, 0x73eb, 0x73f7, 0x75e1, 0x73eb, 0x73eb, 0x73f7, 0x73eb, + 0x73eb, 0x73eb, 0x73f7, 0x00e6, 0x2071, 0x18f8, 0x2009, 0x0400, + 0x0071, 0x00ee, 0x0005, 0x2009, 0x1000, 0x0049, 0x0005, 0x2009, + 0x2000, 0x0029, 0x0005, 0x2009, 0x0800, 0x0009, 0x0005, 0x7007, + 0x0001, 0xa868, 0x9084, 0x00ff, 0x9105, 0xa86a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x68a0, 0x012e, 0x0005, 0xa864, 0x8007, 0x9084, + 0x00ff, 0x0d08, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x759f, + 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x759f, + 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0968, 0x8001, 0x1120, + 0x7007, 0x0001, 0x0804, 0x75ba, 0x7007, 0x0003, 0x7012, 0x2900, + 0x7016, 0x701a, 0x704b, 0x75ba, 0x0005, 0xa864, 0x8007, 0x9084, + 0x00ff, 0x9086, 0x0001, 0x1904, 0x73f3, 0x7007, 0x0001, 0x2009, + 0x1833, 0x210c, 0x81ff, 0x1904, 0x7497, 0xa994, 0x9186, 0x006f, + 0x0188, 0x9186, 0x0074, 0x15b0, 0x0026, 0x2011, 0x0010, 0x080c, + 0x659e, 0x002e, 0x0578, 0x0016, 0xa998, 0x080c, 0x65e8, 0x001e, + 0x1548, 0x0400, 0x080c, 0x6faa, 0x0140, 0xa897, 0x4005, 0xa89b, + 0x0016, 0x2001, 0x0030, 0x900e, 0x0438, 0x0026, 0x2011, 0x8008, + 0x080c, 0x659e, 0x002e, 0x01b0, 0x0016, 0x0026, 0x0036, 0xa998, + 0xaaa0, 0xab9c, 0x918d, 0x8000, 0x080c, 0x65e8, 0x003e, 0x002e, + 0x001e, 0x1140, 0xa897, 0x4005, 0xa89b, 0x4009, 0x2001, 0x0030, + 0x900e, 0x0050, 0xa868, 0x9084, 0x00ff, 0xa86a, 0xa883, 0x0000, + 0x080c, 0x5f14, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0xa867, + 0x0139, 0xa87a, 0xa982, 0x080c, 0x68a0, 0x012e, 0x0ca0, 0xa994, + 0x9186, 0x0071, 0x0904, 0x7445, 0x9186, 0x0064, 0x0904, 0x7445, + 0x9186, 0x007c, 0x0904, 0x7445, 0x9186, 0x0028, 0x0904, 0x7445, + 0x9186, 0x0038, 0x0904, 0x7445, 0x9186, 0x0078, 0x0904, 0x7445, + 0x9186, 0x005f, 0x0904, 0x7445, 0x9186, 0x0056, 0x0904, 0x7445, + 0xa897, 0x4005, 0xa89b, 0x0001, 0x2001, 0x0030, 0x900e, 0x0860, + 0xa87c, 0x9084, 0x00c0, 0x9086, 0x00c0, 0x1120, 0x7007, 0x0001, + 0x0804, 0x77af, 0x2900, 0x7016, 0x701a, 0x20a9, 0x0004, 0xa860, + 0x20e0, 0xa85c, 0x9080, 0x0030, 0x2098, 0x7050, 0x2040, 0xa060, + 0x20e8, 0xa05c, 0x9080, 0x0023, 0x20a0, 0x4003, 0xa888, 0x7012, + 0x9082, 0x0401, 0x1a04, 0x73fb, 0xaab4, 0x928a, 0x0002, 0x1a04, + 0x73fb, 0x82ff, 0x1138, 0xa8b8, 0xa9bc, 0x9105, 0x0118, 0x2001, + 0x755d, 0x0018, 0x9280, 0x7553, 0x2005, 0x7056, 0x7010, 0x9015, + 0x0904, 0x753e, 0x080c, 0x1004, 0x1118, 0x7007, 0x0004, 0x0005, + 0x2900, 0x7022, 0x7054, 0x2060, 0xe000, 0xa866, 0x7050, 0x2040, + 0xa95c, 0xe004, 0x9100, 0xa076, 0xa860, 0xa072, 0xe008, 0x920a, + 0x1210, 0x900e, 0x2200, 0x7112, 0xe20c, 0x8003, 0x800b, 0x9296, + 0x0004, 0x0108, 0x9108, 0xa17a, 0x810b, 0xa17e, 0x080c, 0x10d5, + 0xa06c, 0x908e, 0x0100, 0x0170, 0x9086, 0x0200, 0x0118, 0x7007, + 0x0007, 0x0005, 0x7020, 0x2048, 0x080c, 0x101d, 0x7014, 0x2048, + 0x0804, 0x73fb, 0x7020, 0x2048, 0x7018, 0xa802, 0xa807, 0x0000, + 0x2908, 0x2048, 0xa906, 0x711a, 0x0804, 0x74f6, 0x7014, 0x2048, + 0x7007, 0x0001, 0xa8b4, 0x9005, 0x1128, 0xa8b8, 0xa9bc, 0x9105, + 0x0108, 0x00b9, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x0904, + 0x77af, 0x0804, 0x759f, 0x7555, 0x7559, 0x0002, 0x001d, 0x0007, + 0x0004, 0x000a, 0x001b, 0x0005, 0x0006, 0x000a, 0x001d, 0x0005, + 0x0004, 0x0076, 0x0066, 0xafb8, 0xaebc, 0xa804, 0x2050, 0xb0c0, + 0xb0e2, 0xb0bc, 0xb0de, 0xb0b8, 0xb0d2, 0xb0b4, 0xb0ce, 0xb6da, + 0xb7d6, 0xb0b0, 0xb0ca, 0xb0ac, 0xb0c6, 0xb0a8, 0xb0ba, 0xb0a4, + 0xb0b6, 0xb6c2, 0xb7be, 0xb0a0, 0xb0b2, 0xb09c, 0xb0ae, 0xb098, + 0xb0a2, 0xb094, 0xb09e, 0xb6aa, 0xb7a6, 0xb090, 0xb09a, 0xb08c, + 0xb096, 0xb088, 0xb08a, 0xb084, 0xb086, 0xb692, 0xb78e, 0xb080, + 0xb082, 0xb07c, 0xb07e, 0xb078, 0xb072, 0xb074, 0xb06e, 0xb67a, + 0xb776, 0xb004, 0x9055, 0x1958, 0x006e, 0x007e, 0x0005, 0x2009, + 0x1833, 0x210c, 0x81ff, 0x1178, 0x080c, 0x5d61, 0x1108, 0x0005, + 0x080c, 0x6ace, 0x0126, 0x2091, 0x8000, 0x080c, 0xbe2f, 0x080c, + 0x68a0, 0x012e, 0x0ca0, 0x080c, 0xc234, 0x1d70, 0x2001, 0x0028, + 0x900e, 0x0c70, 0x2009, 0x1833, 0x210c, 0x81ff, 0x11d8, 0xa888, + 0x9005, 0x01e0, 0xa883, 0x0000, 0xa87c, 0xd0f4, 0x0120, 0x080c, + 0x5e76, 0x1138, 0x0005, 0x9006, 0xa87a, 0x080c, 0x5df1, 0x1108, + 0x0005, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, 0x080c, 0x68a0, + 0x012e, 0x0cb0, 0x2001, 0x0028, 0x900e, 0x0c98, 0x2001, 0x0000, + 0x0c80, 0x7018, 0xa802, 0x2908, 0x2048, 0xa906, 0x711a, 0x7010, + 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, 0x0030, 0x7014, 0x2048, + 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x00b6, 0x7007, 0x0001, + 0xa974, 0xa878, 0x9084, 0x00ff, 0x9096, 0x0004, 0x0540, 0x20a9, + 0x0001, 0x9096, 0x0001, 0x0190, 0x900e, 0x20a9, 0x0800, 0x9096, + 0x0002, 0x0160, 0x9005, 0x11d8, 0xa974, 0x080c, 0x6256, 0x11b8, + 0x0066, 0xae80, 0x080c, 0x6366, 0x006e, 0x0088, 0x0046, 0x2011, + 0x180c, 0x2224, 0xc484, 0x2412, 0x004e, 0x00c6, 0x080c, 0x6256, + 0x1110, 0x080c, 0x6466, 0x8108, 0x1f04, 0x761e, 0x00ce, 0xa87c, + 0xd084, 0x1120, 0x080c, 0x101d, 0x00be, 0x0005, 0x0126, 0x2091, + 0x8000, 0x080c, 0x68a0, 0x012e, 0x00be, 0x0005, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x080c, 0x6576, 0x0580, 0x2061, 0x1a48, + 0x6100, 0xd184, 0x0178, 0xa888, 0x9084, 0x00ff, 0x1550, 0x6000, + 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, 0x6003, 0x0000, 0x600b, + 0x0000, 0x00c8, 0x2011, 0x0001, 0xa890, 0x9005, 0x1110, 0x2001, + 0x001e, 0x8000, 0x6016, 0xa888, 0x9084, 0x00ff, 0x0178, 0x6006, + 0xa888, 0x8007, 0x9084, 0x00ff, 0x0148, 0x600a, 0xa888, 0x8000, + 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, 0x7878, 0x012e, 0x0804, + 0x7872, 0x012e, 0x0804, 0x786c, 0x012e, 0x0804, 0x786f, 0x0126, + 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6576, 0x05e0, 0x2061, + 0x1a48, 0x6000, 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, + 0xac78, 0x9484, 0x0003, 0x0170, 0xa988, 0x918c, 0x00ff, 0x8001, + 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, + 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, 0xa988, 0x810f, 0x918c, + 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, 0x9318, 0x0288, 0x0030, + 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, 0x0250, 0xa890, 0x9005, + 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, 0x7878, + 0x012e, 0x0804, 0x7875, 0x012e, 0x0804, 0x7872, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x2061, 0x1a48, 0x6300, 0xd38c, 0x1120, + 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, 0x0804, 0x7886, 0x012e, + 0x0804, 0x7875, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, + 0x0001, 0xa87c, 0xd0ac, 0x0148, 0x00c6, 0x2061, 0x1a48, 0x6000, + 0x9084, 0xfcff, 0x6002, 0x00ce, 0x0440, 0xa888, 0x9005, 0x05d8, + 0xa88c, 0x9065, 0x0598, 0x2001, 0x1833, 0x2004, 0x9005, 0x0118, + 0x080c, 0x9e5f, 0x0068, 0x6017, 0xf400, 0x605b, 0x0000, 0xa97c, + 0xd1a4, 0x0110, 0xa980, 0x615a, 0x2009, 0x0041, 0x080c, 0x9ea9, + 0xa988, 0x918c, 0xff00, 0x9186, 0x2000, 0x1138, 0x0026, 0x900e, + 0x2011, 0xfdff, 0x080c, 0x8236, 0x002e, 0xa87c, 0xd0c4, 0x0148, + 0x2061, 0x1a48, 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, + 0x600a, 0x00ce, 0x012e, 0x00be, 0x0804, 0x7878, 0x00ce, 0x012e, + 0x00be, 0x0804, 0x7872, 0xa984, 0x9186, 0x002e, 0x0d30, 0x9186, + 0x002d, 0x0d18, 0x9186, 0x0045, 0x0510, 0x9186, 0x002a, 0x1130, + 0x2001, 0x180c, 0x200c, 0xc194, 0x2102, 0x08b8, 0x9186, 0x0020, + 0x0158, 0x9186, 0x0029, 0x1d10, 0xa974, 0x080c, 0x6256, 0x1968, + 0xb800, 0xc0e4, 0xb802, 0x0848, 0xa88c, 0x9065, 0x09b8, 0x6007, + 0x0024, 0x2001, 0x195e, 0x2004, 0x601a, 0x0804, 0x770d, 0xa88c, + 0x9065, 0x0960, 0x00e6, 0xa890, 0x9075, 0x2001, 0x1833, 0x2004, + 0x9005, 0x0150, 0x080c, 0x9e5f, 0x8eff, 0x0118, 0x2e60, 0x080c, + 0x9e5f, 0x00ee, 0x0804, 0x770d, 0x6024, 0xc0dc, 0xc0d5, 0x6026, + 0x2e60, 0x6007, 0x003a, 0xa8a0, 0x9005, 0x0130, 0x6007, 0x003b, + 0xa8a4, 0x602e, 0xa8a8, 0x6016, 0x6003, 0x0001, 0x080c, 0x83f8, + 0x080c, 0x898b, 0x00ee, 0x0804, 0x770d, 0x2061, 0x1a48, 0x6000, + 0xd084, 0x0190, 0xd08c, 0x1904, 0x7886, 0x0126, 0x2091, 0x8000, + 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x7886, 0x012e, + 0xa883, 0x0016, 0x0804, 0x787f, 0xa883, 0x0007, 0x0804, 0x787f, + 0xa864, 0x8007, 0x9084, 0x00ff, 0x0130, 0x8001, 0x1138, 0x7007, + 0x0001, 0x0069, 0x0005, 0x080c, 0x73f3, 0x0040, 0x7007, 0x0003, + 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x77af, 0x0005, 0x00b6, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, 0x2061, 0x1800, 0x61cc, + 0x81ff, 0x1904, 0x7831, 0x6130, 0xd194, 0x1904, 0x785b, 0xa878, + 0x2070, 0x9e82, 0x1cd0, 0x0a04, 0x7825, 0x6064, 0x9e02, 0x1a04, + 0x7825, 0x7120, 0x9186, 0x0006, 0x1904, 0x7817, 0x7010, 0x905d, + 0x0904, 0x7831, 0xb800, 0xd0e4, 0x1904, 0x7855, 0x2061, 0x1a48, + 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, 0x15a0, 0x7024, 0xd0dc, + 0x1904, 0x785e, 0xa883, 0x0000, 0xa803, 0x0000, 0x2908, 0x7014, + 0x9005, 0x1198, 0x7116, 0xa87c, 0xd0f4, 0x1904, 0x7861, 0x080c, + 0x539a, 0xd09c, 0x1118, 0xa87c, 0xc0cc, 0xa87e, 0x2e60, 0x080c, + 0x8156, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2048, 0xa800, 0x9005, + 0x1de0, 0xa902, 0x2148, 0xa87c, 0xd0f4, 0x1904, 0x7861, 0x012e, + 0x00ee, 0x00be, 0x0005, 0x012e, 0x00ee, 0xa883, 0x0006, 0x00be, + 0x0804, 0x787f, 0xd184, 0x0db8, 0xd1c4, 0x1190, 0x00a0, 0xa974, + 0x080c, 0x6256, 0x15d0, 0xb800, 0xd0e4, 0x15b8, 0x7120, 0x9186, + 0x0007, 0x1118, 0xa883, 0x0002, 0x0490, 0xa883, 0x0008, 0x0478, + 0xa883, 0x000e, 0x0460, 0xa883, 0x0017, 0x0448, 0xa883, 0x0035, + 0x0430, 0x080c, 0x539e, 0xd0fc, 0x01e8, 0xa878, 0x2070, 0x9e82, + 0x1cd0, 0x02c0, 0x6064, 0x9e02, 0x12a8, 0x7120, 0x9186, 0x0006, + 0x1188, 0x7010, 0x905d, 0x0170, 0xb800, 0xd0bc, 0x0158, 0x2039, + 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, 0x77bb, 0x7003, 0x0002, + 0x0804, 0x77bb, 0xa883, 0x0028, 0x0010, 0xa883, 0x0029, 0x012e, + 0x00ee, 0x00be, 0x0420, 0xa883, 0x002a, 0x0cc8, 0xa883, 0x0045, + 0x0cb0, 0x2e60, 0x2019, 0x0002, 0x601b, 0x0014, 0x080c, 0xd11f, + 0x012e, 0x00ee, 0x00be, 0x0005, 0x2009, 0x003e, 0x0058, 0x2009, + 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, 0x2009, 0x0016, 0x0010, + 0x2009, 0x0001, 0xa884, 0x9084, 0xff00, 0x9105, 0xa886, 0x0126, + 0x2091, 0x8000, 0x080c, 0x68a0, 0x012e, 0x0005, 0x080c, 0x101d, + 0x0005, 0x00d6, 0x080c, 0x814d, 0x00de, 0x0005, 0x00d6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, 0x702c, 0xd084, 0x01d8, + 0x908c, 0x0780, 0x190c, 0x791a, 0xd09c, 0x11a8, 0x2071, 0x1800, + 0x70bc, 0x90ea, 0x0040, 0x0278, 0x8001, 0x70be, 0x702c, 0x2048, + 0xa800, 0x702e, 0x9006, 0xa802, 0xa806, 0x2071, 0x0040, 0x2900, + 0x7022, 0x702c, 0x0c28, 0x012e, 0x00ee, 0x00de, 0x0005, 0x0006, + 0x9084, 0x0780, 0x190c, 0x791a, 0x000e, 0x0005, 0x00d6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x00b6, 0x7007, 0x0001, 0xaa74, 0x9282, + 0x0004, 0x1a04, 0x790b, 0xa97c, 0x9188, 0x1000, 0x2104, 0x905d, + 0xb804, 0xd284, 0x0140, 0x05e8, 0x8007, 0x9084, 0x00ff, 0x9084, + 0x0006, 0x1108, 0x04b0, 0x2b10, 0x080c, 0x9dd9, 0x1118, 0x080c, + 0x9e7c, 0x05a8, 0x6212, 0xa874, 0x0002, 0x78e9, 0x78ee, 0x78f1, + 0x78f7, 0x2019, 0x0002, 0x080c, 0xd4e0, 0x0060, 0x080c, 0xd47c, + 0x0048, 0x2019, 0x0002, 0xa980, 0x080c, 0xd497, 0x0018, 0xa980, + 0x080c, 0xd47c, 0x080c, 0x9e2f, 0xa887, 0x0000, 0x0126, 0x2091, + 0x8000, 0x080c, 0x68a0, 0x012e, 0x00be, 0x001e, 0x002e, 0x003e, + 0x00ce, 0x00de, 0x0005, 0xa887, 0x0006, 0x0c80, 0xa887, 0x0002, + 0x0c68, 0xa887, 0x0005, 0x0c50, 0xa887, 0x0004, 0x0c38, 0xa887, + 0x0007, 0x0c20, 0x2091, 0x8000, 0x0e04, 0x791c, 0x0006, 0x0016, + 0x2001, 0x8003, 0x0006, 0x0804, 0x0dbd, 0x2001, 0x1833, 0x2004, + 0x9005, 0x0005, 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, 0x0200, + 0x200c, 0xc1e5, 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, 0xd1ec, + 0x1120, 0x080c, 0x14a9, 0x00fe, 0x0005, 0x2001, 0x020d, 0x2003, + 0x0020, 0x781f, 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, 0x0904, + 0x799c, 0x68bc, 0x90aa, 0x0005, 0x0a04, 0x7f5b, 0x7d44, 0x7c40, + 0x9584, 0x00f6, 0x1510, 0x9484, 0x7000, 0x0140, 0x908a, 0x2000, + 0x1260, 0x9584, 0x0700, 0x8007, 0x0804, 0x79a3, 0x7000, 0x9084, + 0xff00, 0x9086, 0x8100, 0x0da8, 0x00b0, 0x9484, 0x0fff, 0x1130, + 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11c0, 0x080c, 0xd8c6, + 0x080c, 0x7e90, 0x7817, 0x0140, 0x00a8, 0x9584, 0x0076, 0x1118, + 0x080c, 0x7eee, 0x19c0, 0xd5a4, 0x0148, 0x0046, 0x0056, 0x080c, + 0x79fe, 0x080c, 0x21da, 0x005e, 0x004e, 0x0020, 0x080c, 0xd8c6, + 0x7817, 0x0140, 0x080c, 0x6faa, 0x0168, 0x2001, 0x0111, 0x2004, + 0xd08c, 0x0140, 0x688f, 0x0000, 0x2001, 0x0110, 0x2003, 0x0008, + 0x2003, 0x0000, 0x080c, 0x79df, 0x2001, 0x19c8, 0x2004, 0x9005, + 0x090c, 0x898b, 0x0005, 0x0002, 0x79b5, 0x7cb2, 0x79ac, 0x79ac, + 0x79ac, 0x79ac, 0x79ac, 0x79ac, 0x7817, 0x0140, 0x2001, 0x19c8, + 0x2004, 0x9005, 0x090c, 0x898b, 0x0005, 0x7000, 0x908c, 0xff00, + 0x9194, 0xf000, 0x810f, 0x9484, 0x0fff, 0x688e, 0x9286, 0x2000, + 0x1150, 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, 0x53fb, 0x0070, + 0x080c, 0x7a1e, 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, 0x7bed, + 0x0028, 0x9286, 0x8000, 0x1110, 0x080c, 0x7dc0, 0x7817, 0x0140, + 0x2001, 0x19c8, 0x2004, 0x9005, 0x090c, 0x898b, 0x0005, 0x2001, + 0x1810, 0x2004, 0xd08c, 0x0178, 0x2001, 0x1800, 0x2004, 0x9086, + 0x0003, 0x1148, 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, + 0x48f4, 0x003e, 0x002e, 0x0005, 0x0036, 0x0046, 0x0056, 0x00f6, + 0x2079, 0x0200, 0x2019, 0xfffe, 0x7c30, 0x0050, 0x0036, 0x0046, + 0x0056, 0x00f6, 0x2079, 0x0200, 0x7d44, 0x7c40, 0x2019, 0xffff, + 0x2001, 0x1810, 0x2004, 0xd08c, 0x0160, 0x2001, 0x1800, 0x2004, + 0x9086, 0x0003, 0x1130, 0x0026, 0x2011, 0x8048, 0x080c, 0x48f4, + 0x002e, 0x00fe, 0x005e, 0x004e, 0x003e, 0x0005, 0x00b6, 0x00c6, + 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, 0x0001, 0x0120, 0x9096, + 0x0023, 0x1904, 0x7bbe, 0x9186, 0x0023, 0x15c0, 0x080c, 0x7e55, + 0x0904, 0x7bbe, 0x6120, 0x9186, 0x0001, 0x0150, 0x9186, 0x0004, + 0x0138, 0x9186, 0x0008, 0x0120, 0x9186, 0x000a, 0x1904, 0x7bbe, + 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1130, 0x2009, 0x0015, + 0x080c, 0x9ea9, 0x0804, 0x7bbe, 0x908e, 0x0214, 0x0118, 0x908e, + 0x0210, 0x1130, 0x2009, 0x0015, 0x080c, 0x9ea9, 0x0804, 0x7bbe, + 0x908e, 0x0100, 0x1904, 0x7bbe, 0x7034, 0x9005, 0x1904, 0x7bbe, + 0x2009, 0x0016, 0x080c, 0x9ea9, 0x0804, 0x7bbe, 0x9186, 0x0022, + 0x1904, 0x7bbe, 0x7030, 0x908e, 0x0300, 0x1580, 0x68d8, 0xd0a4, + 0x0528, 0xc0b5, 0x68da, 0x7100, 0x918c, 0x00ff, 0x697a, 0x7004, + 0x687e, 0x00f6, 0x2079, 0x0100, 0x79e6, 0x78ea, 0x0006, 0x9084, + 0x00ff, 0x0016, 0x2008, 0x080c, 0x26b9, 0x7932, 0x7936, 0x001e, + 0x000e, 0x00fe, 0x080c, 0x2670, 0x695a, 0x703c, 0x00e6, 0x2071, + 0x0140, 0x7086, 0x2071, 0x1800, 0x70b2, 0x00ee, 0x7034, 0x9005, + 0x1904, 0x7bbe, 0x2009, 0x0017, 0x0804, 0x7b6e, 0x908e, 0x0400, + 0x1190, 0x7034, 0x9005, 0x1904, 0x7bbe, 0x080c, 0x6faa, 0x0120, + 0x2009, 0x001d, 0x0804, 0x7b6e, 0x68d8, 0xc0a5, 0x68da, 0x2009, + 0x0030, 0x0804, 0x7b6e, 0x908e, 0x0500, 0x1140, 0x7034, 0x9005, + 0x1904, 0x7bbe, 0x2009, 0x0018, 0x0804, 0x7b6e, 0x908e, 0x2010, + 0x1120, 0x2009, 0x0019, 0x0804, 0x7b6e, 0x908e, 0x2110, 0x1120, + 0x2009, 0x001a, 0x0804, 0x7b6e, 0x908e, 0x5200, 0x1140, 0x7034, + 0x9005, 0x1904, 0x7bbe, 0x2009, 0x001b, 0x0804, 0x7b6e, 0x908e, + 0x5000, 0x1140, 0x7034, 0x9005, 0x1904, 0x7bbe, 0x2009, 0x001c, + 0x0804, 0x7b6e, 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, + 0x7b6e, 0x908e, 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, 0x7bbe, + 0x2009, 0x0024, 0x0804, 0x7b6e, 0x908c, 0xff00, 0x918e, 0x2400, + 0x1170, 0x2009, 0x002d, 0x2001, 0x1810, 0x2004, 0xd09c, 0x0904, + 0x7b6e, 0x080c, 0xc8e6, 0x1904, 0x7bbe, 0x0804, 0x7b6c, 0x908c, + 0xff00, 0x918e, 0x5300, 0x1120, 0x2009, 0x002a, 0x0804, 0x7b6e, + 0x908e, 0x0f00, 0x1120, 0x2009, 0x0020, 0x0804, 0x7b6e, 0x908e, + 0x6104, 0x1528, 0x2029, 0x0205, 0x2011, 0x026d, 0x8208, 0x2204, + 0x9082, 0x0004, 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, 0x211c, + 0x8108, 0x0046, 0x2124, 0x080c, 0x48f4, 0x004e, 0x8108, 0x0f04, + 0x7b3a, 0x9186, 0x0280, 0x1d88, 0x2504, 0x8000, 0x202a, 0x2009, + 0x0260, 0x0c58, 0x202b, 0x0000, 0x2009, 0x0023, 0x0478, 0x908e, + 0x6000, 0x1118, 0x2009, 0x003f, 0x0448, 0x908e, 0x7800, 0x1118, + 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, 0x1118, 0x2009, 0x004e, + 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, 0x004a, 0x00b8, 0x908c, + 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, 0x004f, 0x0078, 0x908c, + 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, 0x0050, 0x0038, 0x2009, + 0x001d, 0x6838, 0xd0d4, 0x0110, 0x2009, 0x004c, 0x0016, 0x2011, + 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2670, 0x1904, 0x7bc1, + 0x080c, 0x61f6, 0x1904, 0x7bc1, 0xbe12, 0xbd16, 0x001e, 0x0016, + 0x080c, 0x6faa, 0x01c0, 0x68d8, 0xd08c, 0x1148, 0x7000, 0x9084, + 0x00ff, 0x1188, 0x7004, 0x9084, 0xff00, 0x1168, 0x0040, 0x6878, + 0x9606, 0x1148, 0x687c, 0x9506, 0x9084, 0xff00, 0x1120, 0x9584, + 0x00ff, 0xb8b2, 0x0080, 0xb8b0, 0x9005, 0x1168, 0x9186, 0x0046, + 0x1150, 0x6878, 0x9606, 0x1138, 0x687c, 0x9506, 0x9084, 0xff00, + 0x1110, 0x001e, 0x0098, 0x080c, 0x9dd9, 0x01a8, 0x2b08, 0x6112, + 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x9186, 0x004c, 0x1110, + 0x6023, 0x000a, 0x0016, 0x001e, 0x080c, 0x9ea9, 0x00ce, 0x00be, + 0x0005, 0x001e, 0x0cd8, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, + 0x2011, 0x8049, 0x080c, 0x48f4, 0x080c, 0x9e7c, 0x0d90, 0x2b08, + 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x0016, 0x9186, + 0x0017, 0x0118, 0x9186, 0x0030, 0x1128, 0x6007, 0x0009, 0x6017, + 0x2900, 0x0020, 0x6007, 0x0051, 0x6017, 0x0000, 0x602f, 0x0009, + 0x6003, 0x0001, 0x080c, 0x8440, 0x08a0, 0x080c, 0x310a, 0x1140, + 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, 0x0008, 0x1108, 0x0009, + 0x0005, 0x00b6, 0x00c6, 0x0046, 0x7000, 0x908c, 0xff00, 0x810f, + 0x9186, 0x0033, 0x11e8, 0x080c, 0x7e55, 0x0904, 0x7c4a, 0x7124, + 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, 0x9005, 0x15d0, + 0x2009, 0x0015, 0x080c, 0x9ea9, 0x04a8, 0x908e, 0x0100, 0x1590, + 0x7034, 0x9005, 0x1578, 0x2009, 0x0016, 0x080c, 0x9ea9, 0x0450, + 0x9186, 0x0032, 0x1538, 0x7030, 0x908e, 0x1400, 0x1518, 0x2009, + 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, + 0x2670, 0x11b8, 0x080c, 0x61f6, 0x11a0, 0xbe12, 0xbd16, 0x080c, + 0x9dd9, 0x0178, 0x2b08, 0x6112, 0x080c, 0xbfb5, 0x6023, 0x0004, + 0x7120, 0x610a, 0x001e, 0x080c, 0x9ea9, 0x080c, 0x898b, 0x0010, + 0x00ce, 0x001e, 0x004e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x0046, + 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b8, 0x9592, + 0xfffc, 0x02a0, 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, 0x0804, + 0x7cac, 0x9596, 0xfffe, 0x1120, 0x2009, 0x007e, 0x0804, 0x7cac, + 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x04f0, 0x2011, 0x0000, + 0x2019, 0x1836, 0x231c, 0xd3ac, 0x0130, 0x9026, 0x20a9, 0x0800, + 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, 0x077f, 0x2071, + 0x1081, 0x2e1c, 0x93dd, 0x0000, 0x1140, 0x82ff, 0x11d0, 0x9496, + 0x00ff, 0x01b8, 0x2410, 0xc2fd, 0x00a0, 0xbf10, 0x2600, 0x9706, + 0xb814, 0x1120, 0x9546, 0x1110, 0x2408, 0x00b0, 0x9745, 0x1148, + 0x94c6, 0x007e, 0x0130, 0x94c6, 0x007f, 0x0118, 0x94c6, 0x0080, + 0x1d20, 0x8420, 0x8e70, 0x1f04, 0x7c81, 0x82ff, 0x1118, 0x9085, + 0x0001, 0x0018, 0xc2fc, 0x2208, 0x9006, 0x00de, 0x00ee, 0x004e, + 0x00be, 0x0005, 0x7000, 0x908c, 0xff00, 0x810f, 0x9184, 0x000f, + 0x0002, 0x7cc9, 0x7cc9, 0x7cc9, 0x7e67, 0x7cc9, 0x7cd2, 0x7cfd, + 0x7d8b, 0x7cc9, 0x7cc9, 0x7cc9, 0x7cc9, 0x7cc9, 0x7cc9, 0x7cc9, + 0x7cc9, 0x7817, 0x0140, 0x2001, 0x19c8, 0x2004, 0x9005, 0x090c, + 0x898b, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7120, 0x2160, + 0x9c8c, 0x0007, 0x11c0, 0x9c8a, 0x1cd0, 0x02a8, 0x6864, 0x9c02, + 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, + 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, + 0x0046, 0x080c, 0x9ea9, 0x7817, 0x0140, 0x2001, 0x19c8, 0x2004, + 0x9005, 0x090c, 0x898b, 0x00be, 0x0005, 0x00b6, 0x00c6, 0x9484, + 0x0fff, 0x0904, 0x7d61, 0x7110, 0xd1bc, 0x1904, 0x7d61, 0x7108, + 0x700c, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x15b0, + 0x81ff, 0x15a0, 0x9080, 0x3145, 0x200d, 0x918c, 0xff00, 0x810f, + 0x2001, 0x0080, 0x9106, 0x0904, 0x7d61, 0x080c, 0x61f6, 0x1904, + 0x7d61, 0xbe12, 0xbd16, 0xb800, 0xd0ec, 0x15d8, 0xba04, 0x9294, + 0xff00, 0x9286, 0x0600, 0x11a0, 0x080c, 0x9dd9, 0x05e8, 0x2b08, + 0x7028, 0x604a, 0x702c, 0x6046, 0x6112, 0x6023, 0x0006, 0x7120, + 0x610a, 0x7130, 0x6156, 0x2009, 0x0044, 0x080c, 0xcb44, 0x0408, + 0x080c, 0x657a, 0x1138, 0xb807, 0x0606, 0x0c30, 0x190c, 0x7c4e, + 0x11c0, 0x0898, 0x080c, 0x9dd9, 0x2b08, 0x0198, 0x6112, 0x6023, + 0x0004, 0x7120, 0x610a, 0x9286, 0x0400, 0x1118, 0x6007, 0x0005, + 0x0010, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x8440, 0x080c, + 0x898b, 0x7817, 0x0140, 0x2001, 0x19c8, 0x2004, 0x9005, 0x090c, + 0x898b, 0x00ce, 0x00be, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0ec, + 0x0120, 0x2011, 0x8049, 0x080c, 0x48f4, 0x080c, 0x9e7c, 0x0d48, + 0x2b08, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x6156, + 0x6017, 0xf300, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x83f8, + 0x080c, 0x898b, 0x08b0, 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7020, + 0x2060, 0x9c84, 0x0007, 0x11c0, 0x9c82, 0x1cd0, 0x02a8, 0x6864, + 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, + 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, + 0x2009, 0x0045, 0x080c, 0x9ea9, 0x7817, 0x0140, 0x2001, 0x19c8, + 0x2004, 0x9005, 0x090c, 0x898b, 0x00be, 0x0005, 0x6120, 0x9186, + 0x0002, 0x0128, 0x9186, 0x0005, 0x0110, 0x9085, 0x0001, 0x0005, + 0x080c, 0x310a, 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, 0x9086, + 0x0000, 0x1130, 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, 0x000b, + 0x0005, 0x7dd7, 0x7dd8, 0x7dd7, 0x7dd7, 0x7e37, 0x7e46, 0x0005, + 0x00b6, 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, 0x0904, 0x7e35, + 0x700c, 0x7108, 0x080c, 0x2670, 0x1904, 0x7e35, 0x080c, 0x61f6, + 0x1904, 0x7e35, 0xbe12, 0xbd16, 0x7110, 0xd1bc, 0x01d8, 0x080c, + 0x657a, 0x0118, 0x9086, 0x0004, 0x1588, 0x00c6, 0x080c, 0x7e55, + 0x00ce, 0x05d8, 0x080c, 0x9dd9, 0x2b08, 0x05b8, 0x6112, 0x080c, + 0xbfb5, 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, + 0x9ea9, 0x0458, 0x080c, 0x657a, 0x0148, 0x9086, 0x0004, 0x0130, + 0x080c, 0x6582, 0x0118, 0x9086, 0x0004, 0x1180, 0x080c, 0x9dd9, + 0x2b08, 0x01d8, 0x6112, 0x080c, 0xbfb5, 0x6023, 0x0005, 0x7120, + 0x610a, 0x2009, 0x0088, 0x080c, 0x9ea9, 0x0078, 0x080c, 0x9dd9, + 0x2b08, 0x0158, 0x6112, 0x080c, 0xbfb5, 0x6023, 0x0004, 0x7120, + 0x610a, 0x2009, 0x0001, 0x080c, 0x9ea9, 0x00be, 0x0005, 0x7110, + 0xd1bc, 0x0158, 0x00d1, 0x0148, 0x080c, 0x7db6, 0x1130, 0x7124, + 0x610a, 0x2009, 0x0089, 0x080c, 0x9ea9, 0x0005, 0x7110, 0xd1bc, + 0x0158, 0x0059, 0x0148, 0x080c, 0x7db6, 0x1130, 0x7124, 0x610a, + 0x2009, 0x008a, 0x080c, 0x9ea9, 0x0005, 0x7020, 0x2060, 0x9c84, + 0x0007, 0x1158, 0x9c82, 0x1cd0, 0x0240, 0x2001, 0x1819, 0x2004, + 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, 0x00b6, + 0x7110, 0xd1bc, 0x11d8, 0x7024, 0x2060, 0x9c84, 0x0007, 0x11b0, + 0x9c82, 0x1cd0, 0x0298, 0x6864, 0x9c02, 0x1280, 0x7008, 0x9084, + 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1140, 0x700c, 0xb914, + 0x9106, 0x1120, 0x2009, 0x0051, 0x080c, 0x9ea9, 0x7817, 0x0140, + 0x2001, 0x19c8, 0x2004, 0x9005, 0x090c, 0x898b, 0x00be, 0x0005, + 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, 0x0206, 0x0049, 0x0005, + 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, 0x0213, 0x0009, 0x0005, + 0x00c6, 0x0096, 0x00f6, 0x7000, 0x9084, 0xf000, 0x9086, 0xc000, + 0x05d0, 0x080c, 0x9dd9, 0x05b8, 0x0066, 0x00c6, 0x0046, 0x2011, + 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2670, 0x15a0, 0x080c, + 0x61f6, 0x1588, 0xbe12, 0xbd16, 0x2b00, 0x004e, 0x00ce, 0x6012, + 0x080c, 0xbfb5, 0x080c, 0x0feb, 0x0510, 0x2900, 0x605a, 0x9006, + 0xa802, 0xa866, 0xac6a, 0xa85c, 0x90f8, 0x001b, 0x20a9, 0x000e, + 0xa860, 0x20e8, 0x20e1, 0x0000, 0x2fa0, 0x2e98, 0x4003, 0x006e, + 0x6616, 0x6007, 0x003e, 0x6023, 0x0001, 0x6003, 0x0001, 0x080c, + 0x8440, 0x080c, 0x898b, 0x00fe, 0x009e, 0x00ce, 0x0005, 0x080c, + 0x9e2f, 0x006e, 0x0cc0, 0x004e, 0x00ce, 0x0cc8, 0x00c6, 0x7000, + 0x908c, 0xff00, 0x9184, 0xf000, 0x810f, 0x9086, 0x2000, 0x1904, + 0x7f45, 0x9186, 0x0022, 0x15f0, 0x2001, 0x0111, 0x2004, 0x9005, + 0x1904, 0x7f47, 0x7030, 0x908e, 0x0400, 0x0904, 0x7f47, 0x908e, + 0x6000, 0x05e8, 0x908e, 0x5400, 0x05d0, 0x908e, 0x0300, 0x11d8, + 0x2009, 0x1836, 0x210c, 0xd18c, 0x1590, 0xd1a4, 0x1580, 0x080c, + 0x6538, 0x0588, 0x68ac, 0x9084, 0x00ff, 0x7100, 0x918c, 0x00ff, + 0x9106, 0x1518, 0x687c, 0x69ac, 0x918c, 0xff00, 0x9105, 0x7104, + 0x9106, 0x11d8, 0x00e0, 0x2009, 0x0103, 0x210c, 0xd1b4, 0x11a8, + 0x908e, 0x5200, 0x09e8, 0x908e, 0x0500, 0x09d0, 0x908e, 0x5000, + 0x09b8, 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, 0x7e55, 0x0128, + 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, 0x9085, + 0x0001, 0x00ce, 0x0005, 0x7030, 0x908e, 0x0300, 0x0118, 0x908e, + 0x5200, 0x1d98, 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, 0x9086, + 0x0008, 0x0d68, 0x0c50, 0x00f6, 0x2079, 0x0200, 0x7800, 0xc0e5, + 0xc0cc, 0x7802, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x1800, 0x7834, + 0xd084, 0x1130, 0x2079, 0x0200, 0x7800, 0x9085, 0x1200, 0x7802, + 0x00fe, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7034, 0xc084, 0x7036, + 0x00ee, 0x0005, 0x2071, 0x19d2, 0x7003, 0x0003, 0x700f, 0x0361, + 0x9006, 0x701a, 0x7072, 0x7012, 0x7017, 0x1cd0, 0x7007, 0x0000, + 0x7026, 0x702b, 0x93dd, 0x7032, 0x7037, 0x9445, 0x703f, 0xffff, + 0x7042, 0x7047, 0x5239, 0x704a, 0x705b, 0x80da, 0x080c, 0x1004, + 0x090c, 0x0db4, 0x2900, 0x703a, 0xa867, 0x0003, 0xa86f, 0x0100, + 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x19d2, 0x1d04, 0x802e, 0x2091, + 0x6000, 0x700c, 0x8001, 0x700e, 0x1510, 0x2001, 0x187d, 0x2004, + 0xd0c4, 0x0158, 0x3a00, 0xd08c, 0x1140, 0x20d1, 0x0000, 0x20d1, + 0x0001, 0x20d1, 0x0000, 0x080c, 0x0db4, 0x700f, 0x0361, 0x7007, + 0x0001, 0x0126, 0x2091, 0x8000, 0x080c, 0x811f, 0x7040, 0x900d, + 0x0148, 0x8109, 0x7142, 0x1130, 0x7044, 0x080f, 0x0018, 0x0126, + 0x2091, 0x8000, 0x7024, 0x900d, 0x0188, 0x7020, 0x8001, 0x7022, + 0x1168, 0x7023, 0x0009, 0x8109, 0x7126, 0x9186, 0x03e8, 0x1110, + 0x7028, 0x080f, 0x81ff, 0x1110, 0x7028, 0x080f, 0x7030, 0x900d, + 0x0180, 0x702c, 0x8001, 0x702e, 0x1160, 0x702f, 0x0009, 0x8109, + 0x7132, 0x0128, 0x9184, 0x007f, 0x090c, 0x954e, 0x0010, 0x7034, + 0x080f, 0x703c, 0x9005, 0x0118, 0x0310, 0x8001, 0x703e, 0x704c, + 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, 0x704b, 0x0009, + 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, 0x080f, 0x7018, + 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, 0x0158, 0x706c, 0x8001, + 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, 0x7172, 0x1110, 0x7074, + 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, 0x700b, 0x0009, + 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, 0x7004, 0x0002, + 0x8056, 0x8057, 0x8073, 0x00e6, 0x2071, 0x19d2, 0x7018, 0x9005, + 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, 0x00e6, + 0x0006, 0x2071, 0x19d2, 0x701c, 0x9206, 0x1120, 0x701a, 0x701e, + 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x19d2, + 0xb888, 0x9102, 0x0208, 0xb98a, 0x00ee, 0x0005, 0x0005, 0x00b6, + 0x7110, 0x080c, 0x6256, 0x1168, 0xb888, 0x8001, 0x0250, 0xb88a, + 0x1140, 0x0126, 0x2091, 0x8000, 0x0016, 0x080c, 0x898b, 0x001e, + 0x012e, 0x8108, 0x9182, 0x0800, 0x0218, 0x900e, 0x7007, 0x0002, + 0x7112, 0x00be, 0x0005, 0x7014, 0x2060, 0x0126, 0x2091, 0x8000, + 0x6040, 0x9005, 0x0128, 0x8001, 0x6042, 0x1110, 0x080c, 0xbe46, + 0x6018, 0x9005, 0x0528, 0x8001, 0x601a, 0x1510, 0x6120, 0x9186, + 0x0003, 0x0118, 0x9186, 0x0006, 0x11c8, 0x080c, 0xbb3b, 0x01b0, + 0x6014, 0x2048, 0xa884, 0x908a, 0x199a, 0x0280, 0x9082, 0x1999, + 0xa886, 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x800b, + 0x810b, 0x9108, 0x611a, 0xa87c, 0xd0e4, 0x0110, 0x080c, 0xb827, + 0x012e, 0x9c88, 0x0018, 0x7116, 0x2001, 0x1819, 0x2004, 0x9102, + 0x0220, 0x7017, 0x1cd0, 0x7007, 0x0000, 0x0005, 0x00e6, 0x2071, + 0x19d2, 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, 0x2001, + 0x19db, 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, 0x19d2, 0x7132, + 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, 0x19de, 0x2013, 0x0000, + 0x0005, 0x00e6, 0x2071, 0x19d2, 0x711a, 0x721e, 0x700b, 0x0009, + 0x00ee, 0x0005, 0x0086, 0x0026, 0x7054, 0x8000, 0x7056, 0x2001, + 0x19e0, 0x2044, 0xa06c, 0x9086, 0x0000, 0x0150, 0x7068, 0xa09a, + 0x7064, 0xa096, 0x7060, 0xa092, 0x705c, 0xa08e, 0x080c, 0x10d5, + 0x002e, 0x008e, 0x0005, 0x0006, 0x0016, 0x0096, 0x00a6, 0x00b6, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x080c, 0x7fa3, 0x015e, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x001e, + 0x000e, 0x0005, 0x00e6, 0x2071, 0x19d2, 0x7172, 0x7276, 0x706f, + 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x19d2, 0x7074, + 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x2069, + 0x1800, 0x69e4, 0xd1e4, 0x1518, 0x0026, 0xd1ec, 0x0140, 0x6a50, + 0x6870, 0x9202, 0x0288, 0x8117, 0x9294, 0x00c0, 0x0088, 0x9184, + 0x0007, 0x01a0, 0x8109, 0x9184, 0x0007, 0x0110, 0x69e6, 0x0070, + 0x8107, 0x9084, 0x0007, 0x910d, 0x8107, 0x9106, 0x9094, 0x00c0, + 0x9184, 0xff3f, 0x9205, 0x68e6, 0x080c, 0x0ecb, 0x002e, 0x0005, + 0x00c6, 0x2061, 0x1a48, 0x00ce, 0x0005, 0x9184, 0x000f, 0x8003, + 0x8003, 0x8003, 0x9080, 0x1a48, 0x2060, 0x0005, 0xa884, 0x908a, + 0x199a, 0x1638, 0x9005, 0x1150, 0x00c6, 0x2061, 0x1a48, 0x6014, + 0x00ce, 0x9005, 0x1130, 0x2001, 0x001e, 0x0018, 0x908e, 0xffff, + 0x01b0, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0xa87c, 0x908c, + 0x00c0, 0x918e, 0x00c0, 0x0904, 0x81e0, 0xd0b4, 0x1168, 0xd0bc, + 0x1904, 0x81b9, 0x2009, 0x0006, 0x080c, 0x820d, 0x0005, 0x900e, + 0x0c60, 0x2001, 0x1999, 0x08b0, 0xd0fc, 0x0160, 0x908c, 0x0003, + 0x0120, 0x918e, 0x0003, 0x1904, 0x8207, 0x908c, 0x2020, 0x918e, + 0x2020, 0x01a8, 0x6024, 0xd0d4, 0x11e8, 0x2009, 0x187d, 0x2104, + 0xd084, 0x1138, 0x87ff, 0x1120, 0x2009, 0x0043, 0x0804, 0x9ea9, + 0x0005, 0x87ff, 0x1de8, 0x2009, 0x0042, 0x0804, 0x9ea9, 0x6110, + 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6024, 0xc0cd, + 0x6026, 0x0c00, 0xc0d4, 0x6026, 0xa890, 0x602e, 0xa88c, 0x6032, + 0x08e0, 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, + 0x1904, 0x8207, 0x908c, 0x2020, 0x918e, 0x2020, 0x0170, 0x0076, + 0x00f6, 0x2c78, 0x080c, 0x164a, 0x00fe, 0x007e, 0x87ff, 0x1120, + 0x2009, 0x0042, 0x080c, 0x9ea9, 0x0005, 0x6110, 0x00b6, 0x2158, + 0xb900, 0x00be, 0xd1ac, 0x0d58, 0x6124, 0xc1cd, 0x6126, 0x0c38, + 0xd0fc, 0x0188, 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x9084, + 0x0003, 0x908e, 0x0002, 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, + 0x080c, 0x9ea9, 0x0005, 0x00b9, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, + 0x0043, 0x080c, 0x9ea9, 0x0cb0, 0x6110, 0x00b6, 0x2158, 0xb900, + 0x00be, 0xd1ac, 0x0d20, 0x6124, 0xc1cd, 0x6126, 0x0c00, 0x2009, + 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, 0x0096, 0x080c, 0xbb3b, + 0x0518, 0x6014, 0x2048, 0xa982, 0xa800, 0x6016, 0x9186, 0x0001, + 0x1188, 0xa97c, 0x918c, 0x8100, 0x918e, 0x8100, 0x1158, 0x00c6, + 0x2061, 0x1a48, 0x6200, 0xd28c, 0x1120, 0x6204, 0x8210, 0x0208, + 0x6206, 0x00ce, 0x080c, 0x66da, 0x6014, 0x904d, 0x0076, 0x2039, + 0x0000, 0x190c, 0x8156, 0x007e, 0x009e, 0x0005, 0x0156, 0x00c6, + 0x2061, 0x1a48, 0x6000, 0x81ff, 0x0110, 0x9205, 0x0008, 0x9204, + 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, 0x1138, 0x6808, + 0x9005, 0x0120, 0x8001, 0x680a, 0x9085, 0x0001, 0x0005, 0x0126, + 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, 0x0010, 0x9006, 0x8004, + 0x2019, 0x0100, 0x231c, 0x93a6, 0x0008, 0x1118, 0x8086, 0x818e, + 0x0020, 0x80f6, 0x3e00, 0x81f6, 0x3e08, 0x1208, 0x9200, 0x1f04, + 0x8258, 0x93a6, 0x0008, 0x1118, 0x8086, 0x818e, 0x0020, 0x80f6, + 0x3e00, 0x81f6, 0x3e08, 0x004e, 0x003e, 0x012e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, 0x9005, 0x0510, + 0x911a, 0x1600, 0x8213, 0x2039, 0x0100, 0x273c, 0x97be, 0x0008, + 0x1110, 0x818d, 0x0010, 0x81f5, 0x3e08, 0x0228, 0x911a, 0x1220, + 0x1f04, 0x8282, 0x0028, 0x911a, 0x2308, 0x8210, 0x1f04, 0x8282, + 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, 0x015e, 0x007e, + 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, 0x0ca8, 0x0126, + 0x2091, 0x2800, 0x2079, 0x19bf, 0x012e, 0x00d6, 0x2069, 0x19bf, + 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, 0x0000, 0x2069, + 0x0200, 0x080c, 0x9c37, 0x0401, 0x080c, 0x9c22, 0x00e9, 0x080c, + 0x9c25, 0x00d1, 0x080c, 0x9c28, 0x00b9, 0x080c, 0x9c2b, 0x00a1, + 0x080c, 0x9c2e, 0x0089, 0x080c, 0x9c31, 0x0071, 0x080c, 0x9c34, + 0x0059, 0x01de, 0x014e, 0x015e, 0x2069, 0x0004, 0x2d04, 0x9085, + 0x8001, 0x206a, 0x00de, 0x0005, 0x20a9, 0x0020, 0x20a1, 0x0240, + 0x2001, 0x0000, 0x4004, 0x0005, 0x00c6, 0x6027, 0x0001, 0x7804, + 0x9084, 0x0007, 0x0002, 0x82f5, 0x8319, 0x8358, 0x82fb, 0x8319, + 0x82f5, 0x82f3, 0x82f3, 0x080c, 0x0db4, 0x080c, 0x80bf, 0x080c, + 0x898b, 0x00ce, 0x0005, 0x62c0, 0x82ff, 0x1110, 0x00ce, 0x0005, + 0x2011, 0x5b4e, 0x080c, 0x803f, 0x7828, 0x9092, 0x00c8, 0x1228, + 0x8000, 0x782a, 0x080c, 0x5b8e, 0x0c88, 0x62c0, 0x080c, 0x9c3b, + 0x080c, 0x5b4e, 0x7807, 0x0003, 0x7827, 0x0000, 0x782b, 0x0000, + 0x0c28, 0x080c, 0x80bf, 0x6220, 0xd2a4, 0x0160, 0x782b, 0x0000, + 0x7824, 0x9065, 0x090c, 0x0db4, 0x2009, 0x0013, 0x080c, 0x9ea9, + 0x00ce, 0x0005, 0x00c6, 0x7824, 0x9065, 0x090c, 0x0db4, 0x7828, + 0x9092, 0xc350, 0x12c0, 0x8000, 0x782a, 0x00ce, 0x080c, 0x29d7, + 0x0278, 0x00c6, 0x7924, 0x2160, 0x6010, 0x906d, 0x090c, 0x0db4, + 0x7807, 0x0000, 0x7827, 0x0000, 0x00ce, 0x080c, 0x898b, 0x0c00, + 0x080c, 0x93a3, 0x08e8, 0x2011, 0x0130, 0x2214, 0x080c, 0x9c3b, + 0x080c, 0xd903, 0x2009, 0x0014, 0x080c, 0x9ea9, 0x00ce, 0x0880, + 0x2001, 0x19db, 0x2003, 0x0000, 0x62c0, 0x82ff, 0x1160, 0x782b, + 0x0000, 0x7824, 0x9065, 0x090c, 0x0db4, 0x2009, 0x0013, 0x080c, + 0x9efb, 0x00ce, 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x7824, 0x9005, + 0x090c, 0x0db4, 0x7828, 0x9092, 0xc350, 0x1648, 0x8000, 0x782a, + 0x00de, 0x00ce, 0x00be, 0x080c, 0x29d7, 0x02f0, 0x00b6, 0x00c6, + 0x00d6, 0x781c, 0x905d, 0x090c, 0x0db4, 0xb800, 0xc0dc, 0xb802, + 0x7924, 0x2160, 0x080c, 0x9e2f, 0xb93c, 0x81ff, 0x090c, 0x0db4, + 0x8109, 0xb93e, 0x7807, 0x0000, 0x7827, 0x0000, 0x00de, 0x00ce, + 0x00be, 0x080c, 0x898b, 0x0868, 0x080c, 0x93a3, 0x0850, 0x2011, + 0x0130, 0x2214, 0x080c, 0x9c3b, 0x080c, 0xd903, 0x7824, 0x9065, + 0x2009, 0x0014, 0x080c, 0x9ea9, 0x00de, 0x00ce, 0x00be, 0x0804, + 0x8369, 0x00c6, 0x2001, 0x009b, 0x2004, 0xd0fc, 0x190c, 0x1d57, + 0x6024, 0x6027, 0x0002, 0xd0f4, 0x1580, 0x62c8, 0x60c4, 0x9205, + 0x1170, 0x783c, 0x9065, 0x0130, 0x2009, 0x0049, 0x080c, 0x9ea9, + 0x00ce, 0x0005, 0x2011, 0x19de, 0x2013, 0x0000, 0x0cc8, 0x793c, + 0x81ff, 0x0dc0, 0x7944, 0x9192, 0x7530, 0x12f0, 0x8108, 0x7946, + 0x793c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, 0x1138, 0x6014, + 0x9084, 0x1984, 0x9085, 0x0012, 0x6016, 0x0c10, 0x6014, 0x9084, + 0x1984, 0x9085, 0x0016, 0x6016, 0x08d8, 0x793c, 0x2160, 0x2009, + 0x004a, 0x080c, 0x9ea9, 0x08a0, 0x7848, 0xc085, 0x784a, 0x0880, + 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, + 0x2c08, 0x2061, 0x19bf, 0x6020, 0x8000, 0x6022, 0x6010, 0x9005, + 0x0148, 0x9080, 0x0003, 0x2102, 0x6112, 0x012e, 0x00ce, 0x001e, + 0x000e, 0x0005, 0x6116, 0x6112, 0x0cc0, 0x00d6, 0x2069, 0x19bf, + 0xb800, 0xd0d4, 0x0168, 0x6820, 0x8000, 0x6822, 0x9086, 0x0001, + 0x1110, 0x2b00, 0x681e, 0x00de, 0x0804, 0x898b, 0x00de, 0x0005, + 0xc0d5, 0xb802, 0x6818, 0x9005, 0x0168, 0xb856, 0xb85b, 0x0000, + 0x0086, 0x0006, 0x2b00, 0x681a, 0x008e, 0xa05a, 0x008e, 0x2069, + 0x19bf, 0x0c08, 0xb856, 0xb85a, 0x2b00, 0x681a, 0x681e, 0x08d8, + 0x0006, 0x0016, 0x00c6, 0x0126, 0x2091, 0x8000, 0x600f, 0x0000, + 0x2c08, 0x2061, 0x19bf, 0x6020, 0x8000, 0x6022, 0x6008, 0x9005, + 0x0148, 0x9080, 0x0003, 0x2102, 0x610a, 0x012e, 0x00ce, 0x001e, + 0x000e, 0x0005, 0x610e, 0x610a, 0x0cc0, 0x00c6, 0x600f, 0x0000, + 0x2c08, 0x2061, 0x19bf, 0x6034, 0x9005, 0x0130, 0x9080, 0x0003, + 0x2102, 0x6136, 0x00ce, 0x0005, 0x613a, 0x6136, 0x00ce, 0x0005, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00b6, 0x0096, 0x0076, 0x0066, + 0x0056, 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, 0x2071, + 0x19bf, 0x7638, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, + 0x84ec, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x84e7, 0x87ff, + 0x0120, 0x6054, 0x9106, 0x1904, 0x84e7, 0x703c, 0x9c06, 0x1178, + 0x0036, 0x2019, 0x0001, 0x080c, 0x96e9, 0x7033, 0x0000, 0x9006, + 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x2029, 0x0001, 0x7038, + 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x080c, 0xbb3b, 0x01f0, 0x6014, 0x2048, 0x6020, 0x9086, + 0x0003, 0x15b8, 0x6004, 0x9086, 0x0040, 0x090c, 0x98c4, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, + 0xbe2f, 0x080c, 0xd80d, 0x080c, 0x68a0, 0x007e, 0x003e, 0x001e, + 0x080c, 0xbd24, 0x080c, 0x9e5f, 0x00ce, 0x0804, 0x8486, 0x2c78, + 0x600c, 0x2060, 0x0804, 0x8486, 0x85ff, 0x0120, 0x0036, 0x080c, + 0x8a68, 0x003e, 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, 0x005e, + 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0076, + 0x080c, 0xd80d, 0x080c, 0xd50f, 0x007e, 0x003e, 0x001e, 0x0890, + 0x6020, 0x9086, 0x000a, 0x0904, 0x84d1, 0x0804, 0x84ca, 0x0006, + 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, 0x9036, 0x0126, 0x2091, + 0x8000, 0x2079, 0x19bf, 0x7838, 0x9065, 0x0904, 0x856c, 0x600c, + 0x0006, 0x600f, 0x0000, 0x783c, 0x9c06, 0x1168, 0x0036, 0x2019, + 0x0001, 0x080c, 0x96e9, 0x7833, 0x0000, 0x901e, 0x7b3e, 0x7b42, + 0x7b46, 0x7b4a, 0x003e, 0x080c, 0xbb3b, 0x0548, 0x6014, 0x2048, + 0x6020, 0x9086, 0x0003, 0x1590, 0x3e08, 0x918e, 0x0002, 0x1188, + 0x6010, 0x9005, 0x0170, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, + 0x0140, 0x6040, 0x9005, 0x11a8, 0x2001, 0x1960, 0x2004, 0x6042, + 0x0080, 0x6004, 0x9086, 0x0040, 0x090c, 0x98c4, 0xa867, 0x0103, + 0xab7a, 0xa877, 0x0000, 0x080c, 0x6893, 0x080c, 0xbd24, 0x080c, + 0x9e5f, 0x000e, 0x0804, 0x8524, 0x7e3a, 0x7e36, 0x012e, 0x00fe, + 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, 0x6020, 0x9086, + 0x0006, 0x1118, 0x080c, 0xd50f, 0x0c50, 0x6020, 0x9086, 0x000a, + 0x09f8, 0x08b8, 0x0016, 0x0026, 0x0086, 0x9046, 0x0099, 0x080c, + 0x866b, 0x008e, 0x002e, 0x001e, 0x0005, 0x00f6, 0x0126, 0x2079, + 0x19bf, 0x2091, 0x8000, 0x080c, 0x8702, 0x080c, 0x8790, 0x012e, + 0x00fe, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, + 0x7614, 0x2660, 0x2678, 0x8cff, 0x0904, 0x8630, 0x6010, 0x2058, + 0xb8a0, 0x9206, 0x1904, 0x862b, 0x88ff, 0x0120, 0x6054, 0x9106, + 0x1904, 0x862b, 0x7024, 0x9c06, 0x1558, 0x2069, 0x0100, 0x6820, + 0xd0a4, 0x1508, 0x080c, 0x80bf, 0x080c, 0x93c7, 0x68c3, 0x0000, + 0x080c, 0x98c4, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, + 0x080c, 0x2b21, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x0028, 0x6003, 0x0009, 0x630a, 0x0804, 0x862b, + 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, 0x7010, 0x9c36, 0x1140, + 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, 0x0010, 0x7013, 0x0000, + 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, + 0x600f, 0x0000, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x01e8, 0x6020, + 0x9086, 0x0003, 0x1580, 0x080c, 0xbd41, 0x1118, 0x080c, 0xa7cd, + 0x0098, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, + 0x0086, 0x080c, 0xbe2f, 0x080c, 0xd80d, 0x080c, 0x68a0, 0x008e, + 0x003e, 0x001e, 0x080c, 0xbd24, 0x080c, 0x9e5f, 0x080c, 0x979a, + 0x00ce, 0x0804, 0x85ab, 0x2c78, 0x600c, 0x2060, 0x0804, 0x85ab, + 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x009e, 0x00be, 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, + 0x0036, 0x0086, 0x080c, 0xd80d, 0x080c, 0xd50f, 0x008e, 0x003e, + 0x001e, 0x08d0, 0x080c, 0xa7cd, 0x6020, 0x9086, 0x0002, 0x1160, + 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0904, 0x8611, 0x9086, + 0x008b, 0x0904, 0x8611, 0x0840, 0x6020, 0x9086, 0x0005, 0x1920, + 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x09c8, 0x9086, 0x008b, + 0x09b0, 0x0804, 0x8624, 0x00b6, 0x00a6, 0x0096, 0x00c6, 0x0006, + 0x0126, 0x2091, 0x8000, 0x9280, 0x1000, 0x2004, 0x905d, 0x0904, + 0x86fb, 0x00f6, 0x00e6, 0x00d6, 0x0066, 0x2071, 0x19bf, 0xbe54, + 0x7018, 0x9b06, 0x1108, 0x761a, 0x701c, 0x9b06, 0x1130, 0x86ff, + 0x1118, 0x7018, 0x701e, 0x0008, 0x761e, 0xb858, 0x904d, 0x0108, + 0xae56, 0x96d5, 0x0000, 0x0110, 0x2900, 0xb05a, 0xb857, 0x0000, + 0xb85b, 0x0000, 0xb800, 0xc0d4, 0xc0dc, 0xb802, 0x080c, 0x6189, + 0x0904, 0x86f7, 0x7624, 0x86ff, 0x0904, 0x86e6, 0x9680, 0x0005, + 0x2004, 0x9906, 0x15d8, 0x00d6, 0x2069, 0x0100, 0x68c0, 0x9005, + 0x0560, 0x080c, 0x80bf, 0x080c, 0x93c7, 0x68c3, 0x0000, 0x080c, + 0x98c4, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, + 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, + 0x2b21, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x00de, 0x00c6, 0xb83c, 0x9005, 0x0110, 0x8001, 0xb83e, + 0x2660, 0x080c, 0x9e5f, 0x00ce, 0x0048, 0x00de, 0x00c6, 0x2660, + 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x869e, 0x89ff, 0x0158, + 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0xbe2f, 0x080c, + 0xd80d, 0x080c, 0x68a0, 0x080c, 0x979a, 0x0804, 0x869e, 0x006e, + 0x00de, 0x00ee, 0x00fe, 0x012e, 0x000e, 0x00ce, 0x009e, 0x00ae, + 0x00be, 0x0005, 0x0096, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x9036, + 0x7814, 0x9065, 0x0904, 0x8763, 0x600c, 0x0006, 0x600f, 0x0000, + 0x7824, 0x9c06, 0x1570, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, + 0x080c, 0x80bf, 0x080c, 0x93c7, 0x68c3, 0x0000, 0x080c, 0x98c4, + 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, + 0x0138, 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, 0x2b21, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x0040, 0x080c, 0x6530, 0x1520, 0x6003, 0x0009, 0x630a, 0x2c30, + 0x00f8, 0x6014, 0x2048, 0x080c, 0xbb39, 0x01b0, 0x6020, 0x9086, + 0x0003, 0x1508, 0x080c, 0xbd41, 0x1118, 0x080c, 0xa7cd, 0x0060, + 0x080c, 0x6530, 0x1168, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, + 0x080c, 0x68a0, 0x080c, 0xbd24, 0x080c, 0x9e5f, 0x080c, 0x979a, + 0x000e, 0x0804, 0x8709, 0x7e16, 0x7e12, 0x00de, 0x00ce, 0x006e, + 0x000e, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, + 0xd50f, 0x0c50, 0x080c, 0xa7cd, 0x6020, 0x9086, 0x0002, 0x1150, + 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0990, 0x9086, 0x008b, + 0x0978, 0x08d0, 0x6020, 0x9086, 0x0005, 0x19b0, 0x6004, 0x0006, + 0x9086, 0x0085, 0x000e, 0x0d18, 0x9086, 0x008b, 0x0d00, 0x0860, + 0x0006, 0x0066, 0x0096, 0x00b6, 0x00c6, 0x00d6, 0x7818, 0x905d, + 0x0904, 0x8810, 0xb854, 0x0006, 0x9006, 0xb856, 0xb85a, 0xb800, + 0xc0d4, 0xc0dc, 0xb802, 0x080c, 0x6189, 0x0904, 0x880d, 0x7e24, + 0x86ff, 0x0904, 0x8800, 0x9680, 0x0005, 0x2004, 0x9906, 0x1904, + 0x8800, 0x00d6, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0x87f7, + 0x080c, 0x80bf, 0x080c, 0x93c7, 0x68c3, 0x0000, 0x080c, 0x98c4, + 0x7827, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, + 0x0138, 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, 0x2b21, + 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, + 0x00de, 0x00c6, 0x3e08, 0x918e, 0x0002, 0x1168, 0xb800, 0xd0bc, + 0x0150, 0x9680, 0x0010, 0x200c, 0x81ff, 0x1518, 0x2009, 0x1960, + 0x210c, 0x2102, 0x00f0, 0xb83c, 0x9005, 0x0110, 0x8001, 0xb83e, + 0x2660, 0x600f, 0x0000, 0x080c, 0x9e5f, 0x00ce, 0x0048, 0x00de, + 0x00c6, 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x0804, 0x87a3, + 0x89ff, 0x0138, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, + 0x68a0, 0x080c, 0x979a, 0x0804, 0x87a3, 0x000e, 0x0804, 0x8797, + 0x781e, 0x781a, 0x00de, 0x00ce, 0x00be, 0x009e, 0x006e, 0x000e, + 0x0005, 0x00e6, 0x00d6, 0x0096, 0x0066, 0xb800, 0xd0dc, 0x01a0, + 0xb84c, 0x904d, 0x0188, 0xa878, 0x9606, 0x1170, 0x2071, 0x19bf, + 0x7024, 0x9035, 0x0148, 0x9080, 0x0005, 0x2004, 0x9906, 0x1120, + 0xb800, 0xc0dc, 0xb802, 0x0029, 0x006e, 0x009e, 0x00de, 0x00ee, + 0x0005, 0x00f6, 0x2079, 0x0100, 0x78c0, 0x9005, 0x1138, 0x00c6, + 0x2660, 0x6003, 0x0009, 0x630a, 0x00ce, 0x04b8, 0x080c, 0x93c7, + 0x78c3, 0x0000, 0x080c, 0x98c4, 0x7027, 0x0000, 0x0036, 0x2079, + 0x0140, 0x7b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, + 0x2b21, 0x9006, 0x080c, 0x2b21, 0x2079, 0x0100, 0x7824, 0xd084, + 0x0110, 0x7827, 0x0001, 0x080c, 0x98c4, 0x003e, 0x080c, 0x6189, + 0x00c6, 0xb83c, 0x9005, 0x0110, 0x8001, 0xb83e, 0x2660, 0x080c, + 0x9e2f, 0x00ce, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, + 0xbe2f, 0x080c, 0x68a0, 0x080c, 0x979a, 0x00fe, 0x0005, 0x00b6, + 0x00e6, 0x00c6, 0x2011, 0x0101, 0x2204, 0xc0c4, 0x2012, 0x2001, + 0x180c, 0x2014, 0xc2e4, 0x2202, 0x2071, 0x19bf, 0x7004, 0x9084, + 0x0007, 0x0002, 0x889c, 0x88a0, 0x88be, 0x88e7, 0x8925, 0x889c, + 0x88b7, 0x889a, 0x080c, 0x0db4, 0x00ce, 0x00ee, 0x00be, 0x0005, + 0x7024, 0x9065, 0x0148, 0x7020, 0x8001, 0x7022, 0x600c, 0x9015, + 0x0158, 0x7216, 0x600f, 0x0000, 0x7007, 0x0000, 0x7027, 0x0000, + 0x00ce, 0x00ee, 0x00be, 0x0005, 0x7216, 0x7212, 0x0ca8, 0x7007, + 0x0000, 0x7027, 0x0000, 0x7020, 0x9005, 0x0070, 0x6010, 0x2058, + 0x080c, 0x6189, 0xb800, 0xc0dc, 0xb802, 0x7007, 0x0000, 0x7027, + 0x0000, 0x7020, 0x8001, 0x7022, 0x1148, 0x2001, 0x180c, 0x2014, + 0xd2ec, 0x1180, 0x00ce, 0x00ee, 0x00be, 0x0005, 0xb854, 0x9015, + 0x0120, 0x721e, 0x080c, 0x898b, 0x0ca8, 0x7218, 0x721e, 0x080c, + 0x898b, 0x0c80, 0xc2ec, 0x2202, 0x080c, 0x8a68, 0x0c58, 0x7024, + 0x9065, 0x05b8, 0x700c, 0x9c06, 0x1160, 0x080c, 0x979a, 0x600c, + 0x9015, 0x0120, 0x720e, 0x600f, 0x0000, 0x0448, 0x720e, 0x720a, + 0x0430, 0x7014, 0x9c06, 0x1160, 0x080c, 0x979a, 0x600c, 0x9015, + 0x0120, 0x7216, 0x600f, 0x0000, 0x00d0, 0x7216, 0x7212, 0x00b8, + 0x6020, 0x9086, 0x0003, 0x1198, 0x6010, 0x2058, 0x080c, 0x6189, + 0xb800, 0xc0dc, 0xb802, 0x080c, 0x979a, 0x701c, 0x9065, 0x0138, + 0xb854, 0x9015, 0x0110, 0x721e, 0x0010, 0x7218, 0x721e, 0x7027, + 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, 0x7024, 0x9065, 0x0140, + 0x080c, 0x979a, 0x600c, 0x9015, 0x0158, 0x720e, 0x600f, 0x0000, + 0x080c, 0x98c4, 0x7027, 0x0000, 0x00ce, 0x00ee, 0x00be, 0x0005, + 0x720e, 0x720a, 0x0ca8, 0x00d6, 0x2069, 0x19bf, 0x6830, 0x9084, + 0x0003, 0x0002, 0x8948, 0x894a, 0x896e, 0x8946, 0x080c, 0x0db4, + 0x00de, 0x0005, 0x00c6, 0x6840, 0x9086, 0x0001, 0x01b8, 0x683c, + 0x9065, 0x0130, 0x600c, 0x9015, 0x0170, 0x6a3a, 0x600f, 0x0000, + 0x6833, 0x0000, 0x683f, 0x0000, 0x2011, 0x19de, 0x2013, 0x0000, + 0x00ce, 0x00de, 0x0005, 0x683a, 0x6836, 0x0c90, 0x6843, 0x0000, + 0x6838, 0x9065, 0x0d68, 0x6003, 0x0003, 0x0c50, 0x00c6, 0x9006, + 0x6842, 0x6846, 0x684a, 0x683c, 0x9065, 0x0160, 0x600c, 0x9015, + 0x0130, 0x6a3a, 0x600f, 0x0000, 0x683f, 0x0000, 0x0018, 0x683e, + 0x683a, 0x6836, 0x00ce, 0x00de, 0x0005, 0x2001, 0x180c, 0x200c, + 0xc1e5, 0x2102, 0x0005, 0x2001, 0x180c, 0x200c, 0xd1ec, 0x0120, + 0xc1ec, 0x2102, 0x080c, 0x8a68, 0x2001, 0x19cb, 0x2004, 0x9086, + 0x0001, 0x0d58, 0x00d6, 0x2069, 0x19bf, 0x6804, 0x9084, 0x0007, + 0x0002, 0x89ab, 0x8a50, 0x8a50, 0x8a50, 0x8a50, 0x8a52, 0x8a50, + 0x89a9, 0x080c, 0x0db4, 0x6820, 0x9005, 0x1110, 0x00de, 0x0005, + 0x00c6, 0x680c, 0x9065, 0x0150, 0x6807, 0x0004, 0x6826, 0x682b, + 0x0000, 0x080c, 0x8abf, 0x00ce, 0x00de, 0x0005, 0x6814, 0x9065, + 0x0150, 0x6807, 0x0001, 0x6826, 0x682b, 0x0000, 0x080c, 0x8abf, + 0x00ce, 0x00de, 0x0005, 0x00b6, 0x00e6, 0x6a1c, 0x92dd, 0x0000, + 0x0904, 0x8a3a, 0xb84c, 0x900d, 0x0118, 0xb888, 0x9005, 0x01a0, + 0xb854, 0x905d, 0x0120, 0x920e, 0x0904, 0x8a3a, 0x0028, 0x6818, + 0x920e, 0x0904, 0x8a3a, 0x2058, 0xb84c, 0x900d, 0x0d88, 0xb888, + 0x9005, 0x1d70, 0x2b00, 0x681e, 0xbb3c, 0xb838, 0x9302, 0x1e40, + 0x080c, 0x9e06, 0x0904, 0x8a3a, 0x8318, 0xbb3e, 0x6116, 0x2b10, + 0x6212, 0x0096, 0x2148, 0xa880, 0x9084, 0x00ff, 0x605e, 0xa883, + 0x0000, 0xa884, 0x009e, 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, + 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, 0x6114, 0x0096, 0x2148, + 0xa964, 0x009e, 0x918c, 0x00ff, 0x918e, 0x0048, 0x0538, 0x00f6, + 0x2c78, 0x2061, 0x0100, 0xbab0, 0x629a, 0x2069, 0x0200, 0x2071, + 0x0240, 0x080c, 0x8ff7, 0x2069, 0x19bf, 0xbb00, 0xc3dd, 0xbb02, + 0x6807, 0x0002, 0x2f18, 0x6b26, 0x682b, 0x0000, 0x7823, 0x0003, + 0x7803, 0x0001, 0x7807, 0x0040, 0x00fe, 0x00ee, 0x00be, 0x00ce, + 0x00de, 0x0005, 0x00ee, 0x00be, 0x00ce, 0x0cd0, 0x6807, 0x0006, + 0x2c18, 0x6b26, 0x6820, 0x8001, 0x6822, 0x682b, 0x0000, 0x080c, + 0x6189, 0x080c, 0x9c5b, 0x00ee, 0x00be, 0x00ce, 0x00de, 0x0005, + 0x00de, 0x0005, 0x00c6, 0x680c, 0x9065, 0x0138, 0x6807, 0x0004, + 0x6826, 0x682b, 0x0000, 0x080c, 0x8abf, 0x00ce, 0x00de, 0x0005, + 0x2001, 0x180c, 0x2014, 0xc2ed, 0x2202, 0x00de, 0x00fe, 0x0005, + 0x00f6, 0x00d6, 0x2069, 0x19bf, 0x6830, 0x9086, 0x0000, 0x1548, + 0x2001, 0x180c, 0x2014, 0xd2e4, 0x0130, 0xc2e4, 0x2202, 0x080c, + 0x899a, 0x2069, 0x19bf, 0x2001, 0x180c, 0x200c, 0xd1c4, 0x11e0, + 0x6838, 0x907d, 0x01b0, 0x6a04, 0x9296, 0x0000, 0x1568, 0x6833, + 0x0001, 0x683e, 0x6847, 0x0000, 0x684b, 0x0000, 0x0126, 0x00f6, + 0x2091, 0x2400, 0x002e, 0x080c, 0x1af5, 0x1158, 0x012e, 0x080c, + 0x9224, 0x00de, 0x00fe, 0x0005, 0xc1c4, 0x2102, 0x080c, 0x705a, + 0x08f8, 0x012e, 0x6843, 0x0000, 0x7803, 0x0002, 0x780c, 0x9015, + 0x0140, 0x6a3a, 0x780f, 0x0000, 0x6833, 0x0000, 0x683f, 0x0000, + 0x0c40, 0x683a, 0x6836, 0x0cc0, 0x6a04, 0x9296, 0x0006, 0x1904, + 0x8a60, 0x6a30, 0x9296, 0x0000, 0x0950, 0x0804, 0x8a60, 0x6020, + 0x9084, 0x000f, 0x000b, 0x0005, 0x8ad3, 0x8ad8, 0x8f31, 0x8fc0, + 0x8ad8, 0x8f31, 0x8fc0, 0x8ad3, 0x8ad8, 0x8ad3, 0x8ad3, 0x8ad3, + 0x8ad3, 0x8ad3, 0x8ad3, 0x080c, 0x887f, 0x080c, 0x898b, 0x0005, + 0x00b6, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, + 0x0053, 0x1a0c, 0x0db4, 0x6110, 0x2158, 0xb9b0, 0x2c78, 0x2061, + 0x0100, 0x619a, 0x908a, 0x0040, 0x1a04, 0x8b44, 0x005b, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, + 0x00be, 0x0005, 0x8cbb, 0x8cf6, 0x8d1f, 0x8dc2, 0x8de3, 0x8de9, + 0x8df6, 0x8dfe, 0x8e0a, 0x8e10, 0x8e21, 0x8e10, 0x8e78, 0x8dfe, + 0x8e84, 0x8e8a, 0x8e0a, 0x8e8a, 0x8e96, 0x8b42, 0x8b42, 0x8b42, + 0x8b42, 0x8b42, 0x8b42, 0x8b42, 0x8b42, 0x8b42, 0x8b42, 0x8b42, + 0x95a0, 0x95c3, 0x95d4, 0x95f4, 0x9626, 0x8df6, 0x8b42, 0x8df6, + 0x8e10, 0x8b42, 0x8d1f, 0x8dc2, 0x8b42, 0x99bb, 0x8e10, 0x8b42, + 0x99d7, 0x8e10, 0x8b42, 0x8e0a, 0x8cb5, 0x8b65, 0x8b42, 0x99f3, + 0x9a60, 0x9b3b, 0x8b42, 0x9b48, 0x8df3, 0x9b73, 0x8b42, 0x9630, + 0x9ba0, 0x8b42, 0x080c, 0x0db4, 0x2100, 0x005b, 0x00fe, 0x00ee, + 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, + 0x0005, 0x8b63, 0x8b63, 0x8b63, 0x8b8c, 0x8c38, 0x8c43, 0x8b63, + 0x8b63, 0x8b63, 0x8c8a, 0x8c96, 0x8ba7, 0x8b63, 0x8bc2, 0x8bf6, + 0x9d22, 0x9d67, 0x8e10, 0x080c, 0x0db4, 0x00d6, 0x0096, 0x080c, + 0x8ea9, 0x7003, 0x2414, 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, + 0x2048, 0xa83c, 0x700e, 0xa850, 0x7022, 0xa854, 0x7026, 0x60c3, + 0x0018, 0x080c, 0x939b, 0x009e, 0x00de, 0x0005, 0x7810, 0x00b6, + 0x2058, 0xb8a0, 0x00be, 0x080c, 0x9dae, 0x1118, 0x9084, 0xff80, + 0x0110, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0096, 0x080c, 0x8ea9, + 0x7003, 0x0500, 0x7814, 0x2048, 0xa874, 0x700a, 0xa878, 0x700e, + 0xa87c, 0x7012, 0xa880, 0x7016, 0xa884, 0x701a, 0xa888, 0x701e, + 0x60c3, 0x0010, 0x080c, 0x939b, 0x009e, 0x00de, 0x0005, 0x00d6, + 0x0096, 0x080c, 0x8ea9, 0x7003, 0x0500, 0x7814, 0x2048, 0xa8cc, + 0x700a, 0xa8d0, 0x700e, 0xa8d4, 0x7012, 0xa8d8, 0x7016, 0xa8dc, + 0x701a, 0xa8e0, 0x701e, 0x60c3, 0x0010, 0x080c, 0x939b, 0x009e, + 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, + 0x8ea9, 0x20e9, 0x0000, 0x2001, 0x197b, 0x2003, 0x0000, 0x7814, + 0x2048, 0xa814, 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, + 0xa85c, 0x9080, 0x001b, 0x2098, 0x2001, 0x197b, 0x0016, 0x200c, + 0x2001, 0x0001, 0x080c, 0x225a, 0x080c, 0xc848, 0x9006, 0x080c, + 0x225a, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c28, 0x04d9, + 0x080c, 0x939b, 0x012e, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, + 0x0126, 0x2091, 0x8000, 0x080c, 0x8ef4, 0x20e9, 0x0000, 0x2001, + 0x197b, 0x2003, 0x0000, 0x7814, 0x2048, 0xa86f, 0x0200, 0xa873, + 0x0000, 0xa814, 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, + 0xa85c, 0x9080, 0x001b, 0x2098, 0x2001, 0x197b, 0x0016, 0x200c, + 0x080c, 0xc848, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c60, + 0x0051, 0x7814, 0x2048, 0x080c, 0x0f9d, 0x080c, 0x939b, 0x012e, + 0x009e, 0x00de, 0x0005, 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, + 0x0130, 0x9082, 0x0004, 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, + 0x080c, 0x8ea9, 0x7003, 0x7800, 0x7808, 0x8007, 0x700a, 0x60c3, + 0x0008, 0x0804, 0x939b, 0x00d6, 0x00e6, 0x080c, 0x8ef4, 0x7814, + 0x9084, 0xff00, 0x2073, 0x0200, 0x8e70, 0x8e70, 0x9095, 0x0010, + 0x2272, 0x8e70, 0x2073, 0x0034, 0x8e70, 0x2069, 0x1805, 0x20a9, + 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8c59, 0x2069, 0x1801, + 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8c62, 0x2069, + 0x198b, 0x9086, 0xdf00, 0x0110, 0x2069, 0x19a5, 0x20a9, 0x001a, + 0x9e86, 0x0260, 0x1148, 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, + 0x6012, 0x00ce, 0x2071, 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, + 0x8e70, 0x1f04, 0x8c70, 0x60c3, 0x004c, 0x080c, 0x939b, 0x00ee, + 0x00de, 0x0005, 0x080c, 0x8ea9, 0x7003, 0x6300, 0x7007, 0x0028, + 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0x939b, 0x00d6, 0x0026, + 0x0016, 0x080c, 0x8ef4, 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, + 0x9ef0, 0x0004, 0x2009, 0x0001, 0x2011, 0x000c, 0x2073, 0x0800, + 0x8e70, 0x2073, 0x0000, 0x00ee, 0x7206, 0x710a, 0x62c2, 0x080c, + 0x939b, 0x001e, 0x002e, 0x00de, 0x0005, 0x2001, 0x1817, 0x2004, + 0x609a, 0x0804, 0x939b, 0x080c, 0x8ea9, 0x7003, 0x5200, 0x2069, + 0x185b, 0x6804, 0xd084, 0x0130, 0x6828, 0x0016, 0x080c, 0x26a3, + 0x710e, 0x001e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, + 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x20a9, 0x0004, 0x2099, + 0x1801, 0x20a1, 0x0254, 0x4003, 0x080c, 0x9dae, 0x1120, 0xb8a0, + 0x9082, 0x007f, 0x0248, 0x2001, 0x181e, 0x2004, 0x7032, 0x2001, + 0x181f, 0x2004, 0x7036, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, + 0x00ff, 0x7036, 0x60c3, 0x001c, 0x0804, 0x939b, 0x080c, 0x8ea9, + 0x7003, 0x0500, 0x080c, 0x9dae, 0x1120, 0xb8a0, 0x9082, 0x007f, + 0x0248, 0x2001, 0x181e, 0x2004, 0x700a, 0x2001, 0x181f, 0x2004, + 0x700e, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, - 0x20a1, 0x0250, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, - 0x0254, 0x4003, 0x080c, 0x9dc1, 0x1120, 0xb8a0, 0x9082, 0x007f, - 0x0248, 0x2001, 0x181e, 0x2004, 0x7032, 0x2001, 0x181f, 0x2004, - 0x7036, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x7036, - 0x60c3, 0x001c, 0x0804, 0x9381, 0x080c, 0x8e8f, 0x7003, 0x0500, - 0x080c, 0x9dc1, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, - 0x181e, 0x2004, 0x700a, 0x2001, 0x181f, 0x2004, 0x700e, 0x0030, - 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, - 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, - 0x4003, 0x60c3, 0x0010, 0x0804, 0x9381, 0x080c, 0x8e8f, 0x9006, - 0x080c, 0x6535, 0xb8a0, 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, - 0x620c, 0xc2b4, 0x620e, 0x0058, 0x7814, 0x0096, 0x904d, 0x0120, - 0x9006, 0xa89a, 0xa8a6, 0xa8aa, 0x009e, 0x7003, 0x0300, 0xb8a0, - 0x9086, 0x007e, 0x1904, 0x8d70, 0x00d6, 0x2069, 0x193c, 0x2001, - 0x1836, 0x2004, 0xd0a4, 0x0178, 0x6800, 0x700a, 0x6808, 0x9084, - 0x2000, 0x7012, 0x680c, 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, - 0x681c, 0x7026, 0x0080, 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, - 0x080c, 0x6f9b, 0x1118, 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, - 0x7012, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, 0x20e1, 0x0001, - 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, 0x20a9, - 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x00d6, 0x080c, - 0x9c35, 0x2069, 0x1944, 0x2071, 0x024e, 0x6800, 0xc0dd, 0x7002, - 0x080c, 0x5393, 0xd0e4, 0x0110, 0x680c, 0x700e, 0x00de, 0x04a0, - 0x2001, 0x1836, 0x2004, 0xd0a4, 0x0168, 0x0016, 0x2009, 0x0002, - 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, 0x0000, 0x080c, 0x26d9, - 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, 0x193c, 0x20e9, 0x0000, - 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, 0x20a9, 0x0004, 0x2099, - 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, - 0x20a1, 0x025a, 0x4003, 0x080c, 0x9c35, 0x20a1, 0x024e, 0x20a9, - 0x0008, 0x2099, 0x1944, 0x4003, 0x60c3, 0x0074, 0x0804, 0x9381, - 0x080c, 0x8e8f, 0x7003, 0x2010, 0x7007, 0x0014, 0x700b, 0x0800, - 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, 0x1853, 0x7904, 0x00fe, - 0xd1ac, 0x1110, 0x9085, 0x0020, 0x0010, 0x9085, 0x0010, 0x9085, - 0x0002, 0x00d6, 0x0804, 0x8e3f, 0x7026, 0x60c3, 0x0014, 0x0804, - 0x9381, 0x080c, 0x8e8f, 0x7003, 0x5000, 0x0804, 0x8d1f, 0x080c, - 0x8e8f, 0x7003, 0x2110, 0x7007, 0x0014, 0x60c3, 0x0014, 0x0804, - 0x9381, 0x080c, 0x8ed1, 0x0010, 0x080c, 0x8eda, 0x7003, 0x0200, - 0x60c3, 0x0004, 0x0804, 0x9381, 0x080c, 0x8eda, 0x7003, 0x0100, - 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, 0x9381, - 0x080c, 0x8eda, 0x7003, 0x0200, 0x0804, 0x8d1f, 0x080c, 0x8eda, - 0x7003, 0x0100, 0x782c, 0x9005, 0x0110, 0x700a, 0x0010, 0x700b, - 0x0003, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, 0x9381, 0x00d6, - 0x080c, 0x8eda, 0x7003, 0x0210, 0x7007, 0x0014, 0x700b, 0x0800, - 0xb894, 0x9086, 0x0014, 0x1198, 0xb99c, 0x9184, 0x0030, 0x0190, - 0xb998, 0x9184, 0xc000, 0x1140, 0xd1ec, 0x0118, 0x700f, 0x2100, - 0x0058, 0x700f, 0x0100, 0x0040, 0x700f, 0x0400, 0x0028, 0x700f, - 0x0700, 0x0010, 0x700f, 0x0800, 0x00f6, 0x2079, 0x1853, 0x7904, - 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0x0010, 0x9085, 0x0010, - 0x2009, 0x1875, 0x210c, 0xd184, 0x1110, 0x9085, 0x0002, 0x0026, - 0x2009, 0x1873, 0x210c, 0xd1e4, 0x0150, 0xc0c5, 0xbabc, 0xd28c, - 0x1108, 0xc0cd, 0x9094, 0x0030, 0x9296, 0x0010, 0x0140, 0xd1ec, - 0x0130, 0x9094, 0x0030, 0x9296, 0x0010, 0x0108, 0xc0bd, 0x002e, - 0x7026, 0x60c3, 0x0014, 0x00de, 0x0804, 0x9381, 0x080c, 0x8eda, - 0x7003, 0x0210, 0x7007, 0x0014, 0x700f, 0x0100, 0x60c3, 0x0014, - 0x0804, 0x9381, 0x080c, 0x8eda, 0x7003, 0x0200, 0x0804, 0x8ca5, - 0x080c, 0x8eda, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, - 0x60c3, 0x0008, 0x0804, 0x9381, 0x080c, 0x8eda, 0x7003, 0x0100, - 0x700b, 0x000b, 0x60c3, 0x0008, 0x0804, 0x9381, 0x0026, 0x00d6, - 0x0036, 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, 0x0040, 0x0026, - 0x00d6, 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, 0x0100, 0x080c, - 0x9c4a, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, - 0x6878, 0x700a, 0x687c, 0x700e, 0x9485, 0x0029, 0x7012, 0x004e, - 0x003e, 0x00de, 0x080c, 0x936f, 0x721a, 0x9f95, 0x0000, 0x7222, - 0x7027, 0xffff, 0x2071, 0x024c, 0x002e, 0x0005, 0x0026, 0x080c, - 0x9c4a, 0x7003, 0x02ff, 0x7007, 0xfffc, 0x00d6, 0x2069, 0x1800, - 0x6878, 0x700a, 0x687c, 0x700e, 0x00de, 0x7013, 0x2029, 0x0c10, - 0x7003, 0x0100, 0x7007, 0x0000, 0x700b, 0xfc02, 0x700f, 0x0000, - 0x0005, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x3300, 0x2021, - 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x2300, - 0x2021, 0x0100, 0x080c, 0x9c4a, 0xb810, 0x9305, 0x7002, 0xb814, - 0x7006, 0x2069, 0x1800, 0xb810, 0x9005, 0x1140, 0xb814, 0x9005, - 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0020, 0x6878, 0x700a, - 0x687c, 0x700e, 0x0000, 0x9485, 0x0098, 0x7012, 0x004e, 0x003e, - 0x00de, 0x080c, 0x936f, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, - 0x2071, 0x024c, 0x002e, 0x0005, 0x080c, 0x936f, 0x721a, 0x7a08, - 0x7222, 0x7814, 0x7026, 0x2071, 0x024c, 0x002e, 0x0005, 0x00b6, - 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, - 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0db4, 0x908a, 0x0092, 0x1a0c, - 0x0db4, 0x6110, 0x2158, 0xb9b0, 0x2c78, 0x2061, 0x0100, 0x619a, - 0x9082, 0x0085, 0x0033, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, - 0x0005, 0x8f48, 0x8f57, 0x8f62, 0x8f46, 0x8f46, 0x8f46, 0x8f48, - 0x8f46, 0x8f46, 0x8f46, 0x8f46, 0x8f46, 0x8f46, 0x080c, 0x0db4, - 0x0411, 0x60c3, 0x0000, 0x0026, 0x080c, 0x29cc, 0x0228, 0x2011, - 0x0101, 0x2204, 0xc0c5, 0x2012, 0x002e, 0x0804, 0x9381, 0x0431, - 0x7808, 0x700a, 0x7814, 0x700e, 0x7017, 0xffff, 0x60c3, 0x000c, - 0x0804, 0x9381, 0x0479, 0x7003, 0x0003, 0x7007, 0x0300, 0x60c3, - 0x0004, 0x0804, 0x9381, 0x0026, 0x080c, 0x9c4a, 0xb810, 0x9085, - 0x8100, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, - 0x687c, 0x700e, 0x7013, 0x0009, 0x0804, 0x8eaa, 0x0026, 0x080c, - 0x9c4a, 0xb810, 0x9085, 0x8400, 0x7002, 0xb814, 0x7006, 0x2069, - 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x2001, 0x0099, 0x7012, - 0x0804, 0x8f0c, 0x0026, 0x080c, 0x9c4a, 0xb810, 0x9085, 0x8500, - 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, - 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x8f0c, 0x00b6, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x2c78, 0x2069, 0x0200, 0x2071, 0x0240, - 0x7804, 0x908a, 0x0040, 0x0a0c, 0x0db4, 0x908a, 0x0054, 0x1a0c, - 0x0db4, 0x7910, 0x2158, 0xb9b0, 0x2061, 0x0100, 0x619a, 0x9082, - 0x0040, 0x0033, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, - 0x8fdd, 0x9099, 0x906c, 0x91bb, 0x8fdb, 0x8fdb, 0x8fdb, 0x8fdb, - 0x8fdb, 0x8fdb, 0x8fdb, 0x978e, 0x9796, 0x979e, 0x97a6, 0x8fdb, - 0x9b92, 0x8fdb, 0x9786, 0x080c, 0x0db4, 0x0096, 0x780b, 0xffff, - 0x080c, 0x9048, 0x7914, 0x2148, 0xa978, 0x7956, 0xae64, 0x96b4, - 0x00ff, 0x9686, 0x0008, 0x1148, 0xa8b4, 0x7032, 0xa8b8, 0x7036, - 0xa8bc, 0x703a, 0xa8c0, 0x703e, 0x0008, 0x7132, 0xa97c, 0x9184, - 0x000f, 0x1118, 0x2001, 0x0005, 0x0040, 0xd184, 0x0118, 0x2001, - 0x0004, 0x0018, 0x9084, 0x0006, 0x8004, 0x2010, 0x785c, 0x9084, - 0x00ff, 0x8007, 0x9205, 0x7042, 0xd1ac, 0x0158, 0x7047, 0x0002, - 0x9686, 0x0008, 0x1118, 0x080c, 0x1789, 0x0010, 0x080c, 0x164a, - 0x0050, 0xd1b4, 0x0118, 0x7047, 0x0001, 0x0028, 0x7047, 0x0000, - 0x9016, 0x2230, 0x0010, 0xaab0, 0xaeac, 0x726a, 0x766e, 0x20a9, - 0x0008, 0x20e9, 0x0000, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, - 0x2098, 0x20a1, 0x0252, 0x2069, 0x0200, 0x6813, 0x0018, 0x4003, - 0x6813, 0x0008, 0x60c3, 0x0020, 0x6017, 0x0009, 0x2001, 0x19d3, - 0x2003, 0x07d0, 0x2001, 0x19d2, 0x2003, 0x0009, 0x009e, 0x0005, - 0x6813, 0x0008, 0xba8c, 0x8210, 0xb8bc, 0xd084, 0x0128, 0x7a46, - 0x7b14, 0x7b4a, 0x722e, 0x732a, 0x9294, 0x00ff, 0xba8e, 0x8217, - 0x721a, 0xba10, 0x9295, 0x0600, 0x7202, 0xba14, 0x7206, 0x2069, - 0x1800, 0x6a78, 0x720a, 0x6a7c, 0x720e, 0x7013, 0x0829, 0x2f10, - 0x7222, 0x7027, 0xffff, 0x0005, 0x00d6, 0x0096, 0x0081, 0x7814, - 0x2048, 0xa890, 0x7002, 0xa88c, 0x7006, 0xa8b0, 0x700a, 0xa8ac, - 0x700e, 0x60c3, 0x000c, 0x009e, 0x00de, 0x0804, 0x9381, 0x6813, - 0x0008, 0xb810, 0x9085, 0x0500, 0x7002, 0xb814, 0x7006, 0x2069, - 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x7013, 0x0889, 0x080c, - 0x936f, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, - 0x0005, 0x00d6, 0x0096, 0x080c, 0x9199, 0x7814, 0x2048, 0x080c, - 0xbb2a, 0x1130, 0x7814, 0x9084, 0x0700, 0x8007, 0x0033, 0x0010, - 0x9006, 0x001b, 0x009e, 0x00de, 0x0005, 0x90b7, 0x9120, 0x9130, - 0x9156, 0x9162, 0x9173, 0x917b, 0x90b5, 0x080c, 0x0db4, 0x0016, - 0x0036, 0xa97c, 0x918c, 0x0003, 0x0118, 0x9186, 0x0003, 0x1198, - 0xaba8, 0x7824, 0xd0cc, 0x1168, 0x7316, 0xa898, 0x701a, 0xa894, - 0x701e, 0x003e, 0x001e, 0x2001, 0x1981, 0x2004, 0x60c2, 0x0804, - 0x9381, 0xc3e5, 0x0c88, 0x9186, 0x0001, 0x190c, 0x0db4, 0xaba8, - 0x7824, 0xd0cc, 0x1904, 0x911d, 0x7316, 0xa898, 0x701a, 0xa894, - 0x701e, 0xa8a4, 0x7026, 0xa8ac, 0x702e, 0x2009, 0x0018, 0x9384, - 0x0300, 0x0570, 0xd3c4, 0x0110, 0xa8ac, 0x9108, 0xd3cc, 0x0110, - 0xa8a4, 0x9108, 0x6810, 0x9085, 0x0010, 0x6812, 0x2011, 0x0258, - 0x20e9, 0x0000, 0x22a0, 0x0156, 0x20a9, 0x0008, 0xa860, 0x20e0, - 0xa85c, 0x9080, 0x002c, 0x2098, 0x4003, 0x6810, 0x8000, 0x6812, - 0x2011, 0x0240, 0x22a0, 0x20a9, 0x0005, 0x4003, 0x6810, 0xc084, - 0x6812, 0x015e, 0x9184, 0x0003, 0x0118, 0x2019, 0x0245, 0x201a, - 0x61c2, 0x003e, 0x001e, 0x0804, 0x9381, 0xc3e5, 0x0804, 0x90dc, - 0x2011, 0x0008, 0x2001, 0x180f, 0x2004, 0xd0a4, 0x0110, 0x2011, - 0x0028, 0x7824, 0xd0cc, 0x1110, 0x7216, 0x0470, 0x0ce8, 0xc2e5, - 0x2011, 0x0302, 0x0016, 0x782c, 0x701a, 0x7930, 0x711e, 0x9105, - 0x0108, 0xc2dd, 0x001e, 0x7824, 0xd0cc, 0x0108, 0xc2e5, 0x7216, - 0x7027, 0x0012, 0x702f, 0x0008, 0x7043, 0x7000, 0x7047, 0x0500, - 0x704f, 0x000a, 0x2069, 0x0200, 0x6813, 0x0009, 0x2071, 0x0240, - 0x700b, 0x2500, 0x60c3, 0x0032, 0x0804, 0x9381, 0x2011, 0x0028, - 0x7824, 0xd0cc, 0x1128, 0x7216, 0x60c3, 0x0018, 0x0804, 0x9381, - 0x0cd0, 0xc2e5, 0x2011, 0x0100, 0x7824, 0xd0cc, 0x0108, 0xc2e5, - 0x7216, 0x702f, 0x0008, 0x7858, 0x9084, 0x00ff, 0x7036, 0x60c3, - 0x0020, 0x0804, 0x9381, 0x2011, 0x0008, 0x7824, 0xd0cc, 0x0108, - 0xc2e5, 0x7216, 0x0c08, 0x0036, 0x7b14, 0x9384, 0xff00, 0x7816, - 0x9384, 0x00ff, 0x8001, 0x1138, 0x7824, 0xd0cc, 0x0108, 0xc2e5, - 0x7216, 0x003e, 0x0888, 0x0046, 0x2021, 0x0800, 0x0006, 0x7824, - 0xd0cc, 0x000e, 0x0108, 0xc4e5, 0x7416, 0x004e, 0x701e, 0x003e, - 0x0818, 0x00d6, 0x6813, 0x0008, 0xb810, 0x9085, 0x0700, 0x7002, - 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, - 0x7824, 0xd0cc, 0x1168, 0x7013, 0x0898, 0x080c, 0x936f, 0x721a, - 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, - 0x7013, 0x0889, 0x0c90, 0x0016, 0x7814, 0x9084, 0x0700, 0x8007, - 0x0013, 0x001e, 0x0005, 0x91cb, 0x91cb, 0x91cd, 0x91cb, 0x91cb, - 0x91cb, 0x91e7, 0x91cb, 0x080c, 0x0db4, 0x7914, 0x918c, 0x08ff, - 0x918d, 0xf600, 0x7916, 0x2009, 0x0003, 0x00b9, 0x2069, 0x1853, - 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, 0x00ff, 0x8007, 0x7032, - 0x0010, 0x7033, 0x3f00, 0x60c3, 0x0001, 0x0804, 0x9381, 0x2009, - 0x0003, 0x0019, 0x7033, 0x7f00, 0x0cb0, 0x0016, 0x080c, 0x9c4a, - 0x001e, 0xb810, 0x9085, 0x0100, 0x7002, 0xb814, 0x7006, 0x2069, - 0x1800, 0x6a78, 0x720a, 0x6a7c, 0x720e, 0x7013, 0x0888, 0x918d, - 0x0008, 0x7116, 0x080c, 0x936f, 0x721a, 0x7a08, 0x7222, 0x2f10, - 0x7226, 0x0005, 0x00b6, 0x0096, 0x00e6, 0x00d6, 0x00c6, 0x0056, - 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, 0x7810, 0x2058, - 0xb8a0, 0x2028, 0xb910, 0xba14, 0x7378, 0x747c, 0x7820, 0x90be, - 0x0006, 0x0904, 0x92de, 0x90be, 0x000a, 0x1904, 0x929a, 0xb8b0, - 0x609e, 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, 0xaf90, 0x9784, - 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, 0x0006, 0x7814, - 0x2048, 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, 0xaf94, 0x87ff, - 0x0198, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, 0x6082, 0x2f00, - 0x6086, 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, 0x0129, 0x6077, - 0x0000, 0xb8b0, 0x609e, 0x0050, 0x2039, 0x0029, 0x9705, 0x6072, - 0x0cc0, 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, 0xa87c, 0xd0fc, - 0x0118, 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, 0x7808, 0x6086, - 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, 0x8000, 0x9084, - 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0xa838, 0x608a, - 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, - 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0x9c2f, 0x2009, 0x07d0, - 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, - 0x80a6, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x009e, - 0x00be, 0x0005, 0x7804, 0x9086, 0x0040, 0x0904, 0x931a, 0x9185, - 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0809, 0x6077, - 0x0008, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xb88c, 0x8000, 0x9084, - 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, 0x2f00, 0x6082, - 0x7808, 0x6086, 0x7814, 0x2048, 0xa838, 0x608a, 0xa834, 0x608e, - 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, 0xbab0, 0x629e, - 0x080c, 0x9c2f, 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, - 0x0110, 0x2009, 0x1b58, 0x080c, 0x80a6, 0x003e, 0x004e, 0x005e, - 0x00ce, 0x00de, 0x00ee, 0x009e, 0x00be, 0x0005, 0x7814, 0x2048, - 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0904, 0x9336, 0x9185, - 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0880, 0x6077, - 0x0008, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, - 0x7838, 0x607e, 0x2f00, 0x6086, 0x7808, 0x6082, 0xa890, 0x608a, - 0xa88c, 0x608e, 0xa8b0, 0x60c6, 0xa8ac, 0x60ca, 0xa8ac, 0x7930, - 0x9108, 0x7932, 0xa8b0, 0x792c, 0x9109, 0x792e, 0xb86c, 0x60ce, - 0x60af, 0x95d5, 0x60d7, 0x0000, 0xbab0, 0x629e, 0x080c, 0x9c0c, - 0x0804, 0x92ca, 0xb8bc, 0xd084, 0x0148, 0xb88c, 0x7814, 0x2048, - 0xb88c, 0x7846, 0xa836, 0x2900, 0xa83a, 0xb04a, 0x9185, 0x0600, - 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0829, 0x6077, 0x0000, - 0x60af, 0x9575, 0x60d7, 0x0000, 0x0804, 0x92ad, 0x9185, 0x0700, - 0x6062, 0x6266, 0x636a, 0x646e, 0x7824, 0xd0cc, 0x7826, 0x0118, - 0x6073, 0x0889, 0x0010, 0x6073, 0x0898, 0x6077, 0x0000, 0xb88c, + 0x20a1, 0x0250, 0x4003, 0x60c3, 0x0010, 0x0804, 0x939b, 0x080c, + 0x8ea9, 0x9006, 0x080c, 0x6544, 0xb8a0, 0x9086, 0x007e, 0x1130, + 0x7003, 0x0400, 0x620c, 0xc2b4, 0x620e, 0x0058, 0x7814, 0x0096, + 0x904d, 0x0120, 0x9006, 0xa89a, 0xa8a6, 0xa8aa, 0x009e, 0x7003, + 0x0300, 0xb8a0, 0x9086, 0x007e, 0x1904, 0x8d8a, 0x00d6, 0x2069, + 0x1944, 0x2001, 0x1836, 0x2004, 0xd0a4, 0x0178, 0x6800, 0x700a, + 0x6808, 0x9084, 0x2000, 0x7012, 0x680c, 0x7016, 0x701f, 0x2710, + 0x6818, 0x7022, 0x681c, 0x7026, 0x0080, 0x6800, 0x700a, 0x6804, + 0x700e, 0x6808, 0x080c, 0x6faa, 0x1118, 0x9084, 0x37ff, 0x0010, + 0x9084, 0x3fff, 0x7012, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, + 0x00d6, 0x080c, 0x9c22, 0x2069, 0x194c, 0x2071, 0x024e, 0x6800, + 0xc0dd, 0x7002, 0x080c, 0x539e, 0xd0e4, 0x0110, 0x680c, 0x700e, + 0x00de, 0x04a0, 0x2001, 0x1836, 0x2004, 0xd0a4, 0x0168, 0x0016, + 0x2009, 0x0002, 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, 0x0000, + 0x080c, 0x26e4, 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, 0x1944, + 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, 0x20a9, + 0x0004, 0x2099, 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, + 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x080c, 0x9c22, 0x20a1, + 0x024e, 0x20a9, 0x0008, 0x2099, 0x194c, 0x4003, 0x60c3, 0x0074, + 0x0804, 0x939b, 0x080c, 0x8ea9, 0x7003, 0x2010, 0x7007, 0x0014, + 0x700b, 0x0800, 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, 0x185b, + 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0x0010, 0x9085, + 0x0010, 0x9085, 0x0002, 0x00d6, 0x0804, 0x8e59, 0x7026, 0x60c3, + 0x0014, 0x0804, 0x939b, 0x080c, 0x8ea9, 0x7003, 0x5000, 0x0804, + 0x8d39, 0x080c, 0x8ea9, 0x7003, 0x2110, 0x7007, 0x0014, 0x60c3, + 0x0014, 0x0804, 0x939b, 0x080c, 0x8eeb, 0x0010, 0x080c, 0x8ef4, + 0x7003, 0x0200, 0x60c3, 0x0004, 0x0804, 0x939b, 0x080c, 0x8ef4, + 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, + 0x0804, 0x939b, 0x080c, 0x8ef4, 0x7003, 0x0200, 0x0804, 0x8d39, + 0x080c, 0x8ef4, 0x7003, 0x0100, 0x782c, 0x9005, 0x0110, 0x700a, + 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, + 0x939b, 0x00d6, 0x080c, 0x8ef4, 0x7003, 0x0210, 0x7007, 0x0014, + 0x700b, 0x0800, 0xb894, 0x9086, 0x0014, 0x1198, 0xb99c, 0x9184, + 0x0030, 0x0190, 0xb998, 0x9184, 0xc000, 0x1140, 0xd1ec, 0x0118, + 0x700f, 0x2100, 0x0058, 0x700f, 0x0100, 0x0040, 0x700f, 0x0400, + 0x0028, 0x700f, 0x0700, 0x0010, 0x700f, 0x0800, 0x00f6, 0x2079, + 0x185b, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0x0010, + 0x9085, 0x0010, 0x2009, 0x187d, 0x210c, 0xd184, 0x1110, 0x9085, + 0x0002, 0x0026, 0x2009, 0x187b, 0x210c, 0xd1e4, 0x0150, 0xc0c5, + 0xbabc, 0xd28c, 0x1108, 0xc0cd, 0x9094, 0x0030, 0x9296, 0x0010, + 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, 0x9296, 0x0010, 0x0108, + 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, 0x00de, 0x0804, 0x939b, + 0x080c, 0x8ef4, 0x7003, 0x0210, 0x7007, 0x0014, 0x700f, 0x0100, + 0x60c3, 0x0014, 0x0804, 0x939b, 0x080c, 0x8ef4, 0x7003, 0x0200, + 0x0804, 0x8cbf, 0x080c, 0x8ef4, 0x7003, 0x0100, 0x700b, 0x0003, + 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, 0x939b, 0x080c, 0x8ef4, + 0x7003, 0x0100, 0x700b, 0x000b, 0x60c3, 0x0008, 0x0804, 0x939b, + 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, + 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, + 0x0100, 0x080c, 0x9c37, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, + 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x9485, 0x0029, + 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x9389, 0x721a, 0x9f95, + 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, 0x024c, 0x002e, 0x0005, + 0x0026, 0x080c, 0x9c37, 0x7003, 0x02ff, 0x7007, 0xfffc, 0x00d6, + 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x00de, 0x7013, + 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, 0x0000, 0x700b, 0xfc02, + 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, + 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, + 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, 0x9c37, 0xb810, 0x9305, + 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0xb810, 0x9005, 0x1140, + 0xb814, 0x9005, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0020, + 0x6878, 0x700a, 0x687c, 0x700e, 0x0000, 0x9485, 0x0098, 0x7012, + 0x004e, 0x003e, 0x00de, 0x080c, 0x9389, 0x721a, 0x7a08, 0x7222, + 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, 0x0005, 0x080c, 0x9389, + 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, 0x2071, 0x024c, 0x002e, + 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, + 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0db4, 0x908a, + 0x0092, 0x1a0c, 0x0db4, 0x6110, 0x2158, 0xb9b0, 0x2c78, 0x2061, + 0x0100, 0x619a, 0x9082, 0x0085, 0x0033, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x00be, 0x0005, 0x8f62, 0x8f71, 0x8f7c, 0x8f60, 0x8f60, + 0x8f60, 0x8f62, 0x8f60, 0x8f60, 0x8f60, 0x8f60, 0x8f60, 0x8f60, + 0x080c, 0x0db4, 0x0411, 0x60c3, 0x0000, 0x0026, 0x080c, 0x29d7, + 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, 0x002e, 0x0804, + 0x939b, 0x0431, 0x7808, 0x700a, 0x7814, 0x700e, 0x7017, 0xffff, + 0x60c3, 0x000c, 0x0804, 0x939b, 0x0479, 0x7003, 0x0003, 0x7007, + 0x0300, 0x60c3, 0x0004, 0x0804, 0x939b, 0x0026, 0x080c, 0x9c37, + 0xb810, 0x9085, 0x8100, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, + 0x6878, 0x700a, 0x687c, 0x700e, 0x7013, 0x0009, 0x0804, 0x8ec4, + 0x0026, 0x080c, 0x9c37, 0xb810, 0x9085, 0x8400, 0x7002, 0xb814, + 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x2001, + 0x0099, 0x7012, 0x0804, 0x8f26, 0x0026, 0x080c, 0x9c37, 0xb810, + 0x9085, 0x8500, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, + 0x700a, 0x687c, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x8f26, + 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2c78, 0x2069, 0x0200, + 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, 0x0a0c, 0x0db4, 0x908a, + 0x0054, 0x1a0c, 0x0db4, 0x7910, 0x2158, 0xb9b0, 0x2061, 0x0100, + 0x619a, 0x9082, 0x0040, 0x0033, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x00be, 0x0005, 0x8ff7, 0x90b3, 0x9086, 0x91d5, 0x8ff5, 0x8ff5, + 0x8ff5, 0x8ff5, 0x8ff5, 0x8ff5, 0x8ff5, 0x9777, 0x977f, 0x9787, + 0x978f, 0x8ff5, 0x9b7f, 0x8ff5, 0x976f, 0x080c, 0x0db4, 0x0096, + 0x780b, 0xffff, 0x080c, 0x9062, 0x7914, 0x2148, 0xa978, 0x7956, + 0xae64, 0x96b4, 0x00ff, 0x9686, 0x0008, 0x1148, 0xa8b4, 0x7032, + 0xa8b8, 0x7036, 0xa8bc, 0x703a, 0xa8c0, 0x703e, 0x0008, 0x7132, + 0xa97c, 0x9184, 0x000f, 0x1118, 0x2001, 0x0005, 0x0040, 0xd184, + 0x0118, 0x2001, 0x0004, 0x0018, 0x9084, 0x0006, 0x8004, 0x2010, + 0x785c, 0x9084, 0x00ff, 0x8007, 0x9205, 0x7042, 0xd1ac, 0x0158, + 0x7047, 0x0002, 0x9686, 0x0008, 0x1118, 0x080c, 0x1789, 0x0010, + 0x080c, 0x164a, 0x0050, 0xd1b4, 0x0118, 0x7047, 0x0001, 0x0028, + 0x7047, 0x0000, 0x9016, 0x2230, 0x0010, 0xaab0, 0xaeac, 0x726a, + 0x766e, 0x20a9, 0x0008, 0x20e9, 0x0000, 0xa860, 0x20e0, 0xa85c, + 0x9080, 0x0023, 0x2098, 0x20a1, 0x0252, 0x2069, 0x0200, 0x6813, + 0x0018, 0x4003, 0x6813, 0x0008, 0x60c3, 0x0020, 0x6017, 0x0009, + 0x2001, 0x19db, 0x2003, 0x07d0, 0x2001, 0x19da, 0x2003, 0x0009, + 0x009e, 0x0005, 0x6813, 0x0008, 0xba8c, 0x8210, 0xb8bc, 0xd084, + 0x0128, 0x7a46, 0x7b14, 0x7b4a, 0x722e, 0x732a, 0x9294, 0x00ff, + 0xba8e, 0x8217, 0x721a, 0xba10, 0x9295, 0x0600, 0x7202, 0xba14, + 0x7206, 0x2069, 0x1800, 0x6a78, 0x720a, 0x6a7c, 0x720e, 0x7013, + 0x0829, 0x2f10, 0x7222, 0x7027, 0xffff, 0x0005, 0x00d6, 0x0096, + 0x0081, 0x7814, 0x2048, 0xa890, 0x7002, 0xa88c, 0x7006, 0xa8b0, + 0x700a, 0xa8ac, 0x700e, 0x60c3, 0x000c, 0x009e, 0x00de, 0x0804, + 0x939b, 0x6813, 0x0008, 0xb810, 0x9085, 0x0500, 0x7002, 0xb814, + 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x7013, + 0x0889, 0x080c, 0x9389, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, + 0x2071, 0x024c, 0x0005, 0x00d6, 0x0096, 0x080c, 0x91b3, 0x7814, + 0x2048, 0x080c, 0xbb39, 0x1130, 0x7814, 0x9084, 0x0700, 0x8007, + 0x0033, 0x0010, 0x9006, 0x001b, 0x009e, 0x00de, 0x0005, 0x90d1, + 0x913a, 0x914a, 0x9170, 0x917c, 0x918d, 0x9195, 0x90cf, 0x080c, + 0x0db4, 0x0016, 0x0036, 0xa97c, 0x918c, 0x0003, 0x0118, 0x9186, + 0x0003, 0x1198, 0xaba8, 0x7824, 0xd0cc, 0x1168, 0x7316, 0xa898, + 0x701a, 0xa894, 0x701e, 0x003e, 0x001e, 0x2001, 0x1989, 0x2004, + 0x60c2, 0x0804, 0x939b, 0xc3e5, 0x0c88, 0x9186, 0x0001, 0x190c, + 0x0db4, 0xaba8, 0x7824, 0xd0cc, 0x1904, 0x9137, 0x7316, 0xa898, + 0x701a, 0xa894, 0x701e, 0xa8a4, 0x7026, 0xa8ac, 0x702e, 0x2009, + 0x0018, 0x9384, 0x0300, 0x0570, 0xd3c4, 0x0110, 0xa8ac, 0x9108, + 0xd3cc, 0x0110, 0xa8a4, 0x9108, 0x6810, 0x9085, 0x0010, 0x6812, + 0x2011, 0x0258, 0x20e9, 0x0000, 0x22a0, 0x0156, 0x20a9, 0x0008, + 0xa860, 0x20e0, 0xa85c, 0x9080, 0x002c, 0x2098, 0x4003, 0x6810, + 0x8000, 0x6812, 0x2011, 0x0240, 0x22a0, 0x20a9, 0x0005, 0x4003, + 0x6810, 0xc084, 0x6812, 0x015e, 0x9184, 0x0003, 0x0118, 0x2019, + 0x0245, 0x201a, 0x61c2, 0x003e, 0x001e, 0x0804, 0x939b, 0xc3e5, + 0x0804, 0x90f6, 0x2011, 0x0008, 0x2001, 0x180f, 0x2004, 0xd0a4, + 0x0110, 0x2011, 0x0028, 0x7824, 0xd0cc, 0x1110, 0x7216, 0x0470, + 0x0ce8, 0xc2e5, 0x2011, 0x0302, 0x0016, 0x782c, 0x701a, 0x7930, + 0x711e, 0x9105, 0x0108, 0xc2dd, 0x001e, 0x7824, 0xd0cc, 0x0108, + 0xc2e5, 0x7216, 0x7027, 0x0012, 0x702f, 0x0008, 0x7043, 0x7000, + 0x7047, 0x0500, 0x704f, 0x000a, 0x2069, 0x0200, 0x6813, 0x0009, + 0x2071, 0x0240, 0x700b, 0x2500, 0x60c3, 0x0032, 0x0804, 0x939b, + 0x2011, 0x0028, 0x7824, 0xd0cc, 0x1128, 0x7216, 0x60c3, 0x0018, + 0x0804, 0x939b, 0x0cd0, 0xc2e5, 0x2011, 0x0100, 0x7824, 0xd0cc, + 0x0108, 0xc2e5, 0x7216, 0x702f, 0x0008, 0x7858, 0x9084, 0x00ff, + 0x7036, 0x60c3, 0x0020, 0x0804, 0x939b, 0x2011, 0x0008, 0x7824, + 0xd0cc, 0x0108, 0xc2e5, 0x7216, 0x0c08, 0x0036, 0x7b14, 0x9384, + 0xff00, 0x7816, 0x9384, 0x00ff, 0x8001, 0x1138, 0x7824, 0xd0cc, + 0x0108, 0xc2e5, 0x7216, 0x003e, 0x0888, 0x0046, 0x2021, 0x0800, + 0x0006, 0x7824, 0xd0cc, 0x000e, 0x0108, 0xc4e5, 0x7416, 0x004e, + 0x701e, 0x003e, 0x0818, 0x00d6, 0x6813, 0x0008, 0xb810, 0x9085, + 0x0700, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, + 0x687c, 0x700e, 0x7824, 0xd0cc, 0x1168, 0x7013, 0x0898, 0x080c, + 0x9389, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, + 0x00de, 0x0005, 0x7013, 0x0889, 0x0c90, 0x0016, 0x7814, 0x9084, + 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, 0x91e5, 0x91e5, 0x91e7, + 0x91e5, 0x91e5, 0x91e5, 0x9201, 0x91e5, 0x080c, 0x0db4, 0x7914, + 0x918c, 0x08ff, 0x918d, 0xf600, 0x7916, 0x2009, 0x0003, 0x00b9, + 0x2069, 0x185b, 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, 0x00ff, + 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, 0x60c3, 0x0001, 0x0804, + 0x939b, 0x2009, 0x0003, 0x0019, 0x7033, 0x7f00, 0x0cb0, 0x0016, + 0x080c, 0x9c37, 0x001e, 0xb810, 0x9085, 0x0100, 0x7002, 0xb814, + 0x7006, 0x2069, 0x1800, 0x6a78, 0x720a, 0x6a7c, 0x720e, 0x7013, + 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, 0x9389, 0x721a, 0x7a08, + 0x7222, 0x2f10, 0x7226, 0x0005, 0x00b6, 0x0096, 0x00e6, 0x00d6, + 0x00c6, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, + 0x7810, 0x2058, 0xb8a0, 0x2028, 0xb910, 0xba14, 0x7378, 0x747c, + 0x7820, 0x90be, 0x0006, 0x0904, 0x92f8, 0x90be, 0x000a, 0x1904, + 0x92b4, 0xb8b0, 0x609e, 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, + 0xaf90, 0x9784, 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, + 0x0006, 0x7814, 0x2048, 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, + 0xaf94, 0x87ff, 0x0198, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, + 0x6082, 0x2f00, 0x6086, 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, + 0x0129, 0x6077, 0x0000, 0xb8b0, 0x609e, 0x0050, 0x2039, 0x0029, + 0x9705, 0x6072, 0x0cc0, 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, + 0xa87c, 0xd0fc, 0x0118, 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, + 0x7808, 0x6086, 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, + 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, + 0xa838, 0x608a, 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, + 0xb86c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0x9c1c, + 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, + 0x1b58, 0x080c, 0x80c4, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, + 0x00ee, 0x009e, 0x00be, 0x0005, 0x7804, 0x9086, 0x0040, 0x0904, + 0x9334, 0x9185, 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x0809, 0x6077, 0x0008, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, - 0x2f00, 0x6086, 0x7808, 0x6082, 0xa838, 0x608a, 0xa834, 0x608e, - 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, 0x60af, 0x95d5, - 0x60d7, 0x0000, 0xbab0, 0x629e, 0x7824, 0xd0cc, 0x0120, 0x080c, - 0x9c2f, 0x0804, 0x92ca, 0x080c, 0x9c0c, 0x0804, 0x92ca, 0x7a10, - 0x00b6, 0x2258, 0xba8c, 0x8210, 0x9294, 0x00ff, 0xba8e, 0x00be, - 0x8217, 0x0005, 0x00d6, 0x2069, 0x19b7, 0x6843, 0x0001, 0x00de, - 0x0005, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x00f1, 0x080c, 0x8098, - 0x0005, 0x0016, 0x2001, 0x180c, 0x200c, 0x9184, 0x0600, 0x9086, - 0x0600, 0x0128, 0x0089, 0x080c, 0x8098, 0x001e, 0x0005, 0xc1e5, - 0x2001, 0x180c, 0x2102, 0x2001, 0x19b8, 0x2003, 0x0000, 0x2001, - 0x19c0, 0x2003, 0x0000, 0x0c88, 0x0006, 0x6014, 0x9084, 0x1804, - 0x9085, 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, 0x00c6, 0x0006, - 0x2061, 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, 0x9084, 0x1804, - 0x9085, 0x0008, 0x6016, 0x000e, 0xa001, 0xa001, 0xa001, 0x61a6, - 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, 0x0026, 0x2061, - 0x0100, 0x2069, 0x0140, 0x080c, 0x6f9b, 0x11e8, 0x2001, 0x19d3, - 0x2004, 0x9005, 0x1904, 0x9413, 0x0066, 0x2031, 0x0001, 0x080c, - 0x704b, 0x006e, 0x1160, 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, - 0x6024, 0xd084, 0x090c, 0x0db4, 0x080c, 0x8098, 0x0460, 0x00c6, - 0x2061, 0x19b7, 0x00d0, 0x6904, 0x9194, 0x4000, 0x0548, 0x080c, - 0x93ad, 0x080c, 0x2b26, 0x00c6, 0x2061, 0x19b7, 0x6128, 0x9192, - 0x0008, 0x1258, 0x8108, 0x612a, 0x6124, 0x00ce, 0x81ff, 0x0198, - 0x080c, 0x8098, 0x080c, 0x93a4, 0x0070, 0x6124, 0x91e5, 0x0000, - 0x0140, 0x080c, 0xd8ea, 0x080c, 0x80a1, 0x2009, 0x0014, 0x080c, - 0x9ebc, 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, 0x00ce, 0x0005, - 0x2001, 0x19d3, 0x2004, 0x9005, 0x1db0, 0x00c6, 0x2061, 0x19b7, - 0x6128, 0x9192, 0x0003, 0x1e08, 0x8108, 0x612a, 0x00ce, 0x080c, - 0x8098, 0x080c, 0x5b99, 0x2009, 0x1852, 0x2114, 0x8210, 0x220a, - 0x0c10, 0x0096, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x0026, 0x080c, - 0x80ae, 0x2071, 0x19b7, 0x713c, 0x81ff, 0x0904, 0x94a3, 0x2061, - 0x0100, 0x2069, 0x0140, 0x080c, 0x6f9b, 0x11b0, 0x0036, 0x2019, - 0x0002, 0x080c, 0x96d9, 0x003e, 0x713c, 0x2160, 0x080c, 0xd8ea, - 0x2009, 0x004a, 0x080c, 0x9ebc, 0x0066, 0x2031, 0x0001, 0x080c, - 0x704b, 0x006e, 0x0804, 0x94a3, 0x080c, 0x94af, 0x0904, 0x94a3, - 0x6904, 0xd1f4, 0x0904, 0x94aa, 0x080c, 0x2b26, 0x00c6, 0x703c, + 0x2f00, 0x6082, 0x7808, 0x6086, 0x7814, 0x2048, 0xa838, 0x608a, + 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, + 0xbab0, 0x629e, 0x080c, 0x9c1c, 0x2009, 0x07d0, 0x60c4, 0x9084, + 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x80c4, 0x003e, + 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x009e, 0x00be, 0x0005, + 0x7814, 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0904, + 0x9350, 0x9185, 0x0100, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, + 0x0880, 0x6077, 0x0008, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, + 0x8007, 0x607a, 0x7838, 0x607e, 0x2f00, 0x6086, 0x7808, 0x6082, + 0xa890, 0x608a, 0xa88c, 0x608e, 0xa8b0, 0x60c6, 0xa8ac, 0x60ca, + 0xa8ac, 0x7930, 0x9108, 0x7932, 0xa8b0, 0x792c, 0x9109, 0x792e, + 0xb86c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0xbab0, 0x629e, + 0x080c, 0x9bf9, 0x0804, 0x92e4, 0xb8bc, 0xd084, 0x0148, 0xb88c, + 0x7814, 0x2048, 0xb88c, 0x7846, 0xa836, 0x2900, 0xa83a, 0xb04a, + 0x9185, 0x0600, 0x6062, 0x6266, 0x636a, 0x646e, 0x6073, 0x0829, + 0x6077, 0x0000, 0x60af, 0x9575, 0x60d7, 0x0000, 0x0804, 0x92c7, + 0x9185, 0x0700, 0x6062, 0x6266, 0x636a, 0x646e, 0x7824, 0xd0cc, + 0x7826, 0x0118, 0x6073, 0x0889, 0x0010, 0x6073, 0x0898, 0x6077, + 0x0000, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, + 0x607f, 0x0000, 0x2f00, 0x6086, 0x7808, 0x6082, 0xa838, 0x608a, + 0xa834, 0x608e, 0xa848, 0x60c6, 0xa844, 0x60ca, 0xb86c, 0x60ce, + 0x60af, 0x95d5, 0x60d7, 0x0000, 0xbab0, 0x629e, 0x7824, 0xd0cc, + 0x0120, 0x080c, 0x9c1c, 0x0804, 0x92e4, 0x080c, 0x9bf9, 0x0804, + 0x92e4, 0x7a10, 0x00b6, 0x2258, 0xba8c, 0x8210, 0x9294, 0x00ff, + 0xba8e, 0x00be, 0x8217, 0x0005, 0x00d6, 0x2069, 0x19bf, 0x6843, + 0x0001, 0x00de, 0x0005, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x00f1, + 0x080c, 0x80b6, 0x0005, 0x0016, 0x2001, 0x180c, 0x200c, 0x9184, + 0x0600, 0x9086, 0x0600, 0x0128, 0x0089, 0x080c, 0x80b6, 0x001e, + 0x0005, 0xc1e5, 0x2001, 0x180c, 0x2102, 0x2001, 0x19c0, 0x2003, + 0x0000, 0x2001, 0x19c8, 0x2003, 0x0000, 0x0c88, 0x0006, 0x6014, + 0x9084, 0x1804, 0x9085, 0x0009, 0x6016, 0x000e, 0x0005, 0x0016, + 0x00c6, 0x0006, 0x2061, 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x6014, + 0x9084, 0x1804, 0x9085, 0x0008, 0x6016, 0x000e, 0xa001, 0xa001, + 0xa001, 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, + 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x6faa, 0x11c0, + 0x2001, 0x19db, 0x2004, 0x9005, 0x15d0, 0x080c, 0x705a, 0x1160, + 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, 0x6024, 0xd084, 0x090c, + 0x0db4, 0x080c, 0x80b6, 0x0458, 0x00c6, 0x2061, 0x19bf, 0x00c8, + 0x6904, 0x9194, 0x4000, 0x0540, 0x0811, 0x080c, 0x2b31, 0x00c6, + 0x2061, 0x19bf, 0x6128, 0x9192, 0x0008, 0x1258, 0x8108, 0x612a, + 0x6124, 0x00ce, 0x81ff, 0x0198, 0x080c, 0x80b6, 0x080c, 0x93be, + 0x0070, 0x6124, 0x91e5, 0x0000, 0x0140, 0x080c, 0xd903, 0x080c, + 0x80bf, 0x2009, 0x0014, 0x080c, 0x9ea9, 0x00ce, 0x0000, 0x002e, + 0x001e, 0x00de, 0x00ce, 0x0005, 0x2001, 0x19db, 0x2004, 0x9005, + 0x1db0, 0x00c6, 0x2061, 0x19bf, 0x6128, 0x9192, 0x0003, 0x1e08, + 0x8108, 0x612a, 0x00ce, 0x080c, 0x80b6, 0x080c, 0x5ba4, 0x2009, + 0x185a, 0x2114, 0x8210, 0x220a, 0x0c10, 0x0096, 0x00c6, 0x00d6, + 0x00e6, 0x0016, 0x0026, 0x080c, 0x80cc, 0x2071, 0x19bf, 0x713c, + 0x81ff, 0x0904, 0x94b3, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, + 0x6faa, 0x1190, 0x0036, 0x2019, 0x0002, 0x080c, 0x96e9, 0x003e, + 0x713c, 0x2160, 0x080c, 0xd903, 0x2009, 0x004a, 0x080c, 0x9ea9, + 0x080c, 0x705a, 0x0804, 0x94b3, 0x080c, 0x94bf, 0x0904, 0x94b3, + 0x6904, 0xd1f4, 0x0904, 0x94ba, 0x080c, 0x2b31, 0x00c6, 0x703c, 0x9065, 0x090c, 0x0db4, 0x6020, 0x00ce, 0x9086, 0x0006, 0x1528, 0x61c8, 0x60c4, 0x9105, 0x1508, 0x2009, 0x180c, 0x2104, 0xd0d4, 0x01e0, 0x6214, 0x9294, 0x1800, 0x1128, 0x6224, 0x9294, 0x0002, - 0x1510, 0x0030, 0xc0d4, 0x200a, 0xd0cc, 0x0110, 0x080c, 0x2a79, + 0x1510, 0x0030, 0xc0d4, 0x200a, 0xd0cc, 0x0110, 0x080c, 0x2a84, 0x6014, 0x9084, 0xe7fd, 0x9085, 0x0010, 0x6016, 0x703c, 0x2060, - 0x2009, 0x0049, 0x080c, 0x9ebc, 0x0070, 0x0036, 0x2019, 0x0001, - 0x080c, 0x96d9, 0x003e, 0x713c, 0x2160, 0x080c, 0xd8ea, 0x2009, - 0x004a, 0x080c, 0x9ebc, 0x002e, 0x001e, 0x00ee, 0x00de, 0x00ce, - 0x009e, 0x0005, 0xd1ec, 0x1904, 0x9464, 0x0804, 0x9466, 0x00d6, + 0x2009, 0x0049, 0x080c, 0x9ea9, 0x0070, 0x0036, 0x2019, 0x0001, + 0x080c, 0x96e9, 0x003e, 0x713c, 0x2160, 0x080c, 0xd903, 0x2009, + 0x004a, 0x080c, 0x9ea9, 0x002e, 0x001e, 0x00ee, 0x00de, 0x00ce, + 0x009e, 0x0005, 0xd1ec, 0x1904, 0x9474, 0x0804, 0x9476, 0x00d6, 0x00c6, 0x0096, 0x703c, 0x9065, 0x090c, 0x0db4, 0x2001, 0x1836, - 0x2004, 0xd09c, 0x1904, 0x953b, 0x2001, 0x0306, 0x200c, 0x9184, - 0x0030, 0x0904, 0x953b, 0x9184, 0x0048, 0x9086, 0x0008, 0x1904, - 0x953b, 0x2001, 0x020b, 0x2004, 0xd0fc, 0x0904, 0x953b, 0xd08c, - 0x0904, 0x953b, 0x2009, 0x1a4f, 0x2104, 0x8000, 0x0208, 0x200a, + 0x2004, 0xd09c, 0x1904, 0x954b, 0x2001, 0x0306, 0x200c, 0x9184, + 0x0030, 0x0904, 0x954b, 0x9184, 0x0048, 0x9086, 0x0008, 0x1904, + 0x954b, 0x2001, 0x020b, 0x2004, 0xd0fc, 0x0904, 0x954b, 0xd08c, + 0x0904, 0x954b, 0x2009, 0x1a57, 0x2104, 0x8000, 0x0208, 0x200a, 0x2069, 0x0100, 0x6914, 0x918c, 0x0184, 0x918d, 0x0010, 0x6916, 0x69c8, 0x2011, 0x0020, 0x68c8, 0x9106, 0x1570, 0x8211, 0x1dd8, 0x2001, 0x0306, 0x2003, 0x4800, 0x2001, 0x009a, 0x2003, 0x0004, - 0x2001, 0x1a35, 0x2003, 0x0000, 0x2001, 0x1a3e, 0x2003, 0x0000, - 0x6a88, 0x698c, 0x2200, 0x9105, 0x1120, 0x2c10, 0x080c, 0x1a5e, + 0x2001, 0x1a3d, 0x2003, 0x0000, 0x2001, 0x1a46, 0x2003, 0x0000, + 0x6a88, 0x698c, 0x2200, 0x9105, 0x1120, 0x2c10, 0x080c, 0x1a69, 0x0040, 0x6014, 0x2048, 0xaa3a, 0xa936, 0x6ac4, 0x69c8, 0xa946, - 0xaa4a, 0x0126, 0x00c6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1aea, - 0x190c, 0x0db4, 0x012e, 0x0090, 0x2009, 0x1a50, 0x2104, 0x8000, + 0xaa4a, 0x0126, 0x00c6, 0x2091, 0x2400, 0x002e, 0x080c, 0x1af5, + 0x190c, 0x0db4, 0x012e, 0x0090, 0x2009, 0x1a58, 0x2104, 0x8000, 0x0208, 0x200a, 0x69c8, 0x2011, 0x0020, 0x8211, 0x1df0, 0x68c8, 0x9106, 0x1dc0, 0x69c4, 0x68c8, 0x9105, 0x0160, 0x6824, 0xd08c, 0x0110, 0x6827, 0x0002, 0x7048, 0xc085, 0x704a, 0x0079, 0x7048, - 0xc084, 0x704a, 0x2009, 0x07d0, 0x080c, 0x80a6, 0x9006, 0x009e, + 0xc084, 0x704a, 0x2009, 0x07d0, 0x080c, 0x80c4, 0x9006, 0x009e, 0x00ce, 0x00de, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x0026, 0x00e6, - 0x2071, 0x19b7, 0x7048, 0xd084, 0x01c0, 0x713c, 0x81ff, 0x01a8, + 0x2071, 0x19bf, 0x7048, 0xd084, 0x01c0, 0x713c, 0x81ff, 0x01a8, 0x2071, 0x0100, 0x9188, 0x0008, 0x2114, 0x928e, 0x0006, 0x1138, 0x7014, 0x9084, 0x1984, 0x9085, 0x0012, 0x7016, 0x0030, 0x7014, 0x9084, 0x1984, 0x9085, 0x0016, 0x7016, 0x00ee, 0x002e, 0x0005, 0x00b6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0056, 0x0046, 0x0006, - 0x0126, 0x2091, 0x8000, 0x6010, 0x2058, 0xbca0, 0x2071, 0x19b7, + 0x0126, 0x2091, 0x8000, 0x6010, 0x2058, 0xbca0, 0x2071, 0x19bf, 0x7018, 0x2058, 0x8bff, 0x0190, 0xb8a0, 0x9406, 0x0118, 0xb854, 0x2058, 0x0cc0, 0x6014, 0x0096, 0x2048, 0xac6c, 0xad70, 0xae78, - 0x009e, 0x080c, 0x6379, 0x0110, 0x9085, 0x0001, 0x012e, 0x000e, + 0x009e, 0x080c, 0x6388, 0x0110, 0x9085, 0x0001, 0x012e, 0x000e, 0x004e, 0x005e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00be, 0x0005, - 0x080c, 0x8e8f, 0x7003, 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, + 0x080c, 0x8ea9, 0x7003, 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, 0x00c6, 0x7820, 0x9086, 0x0004, 0x1148, 0x7810, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb810, 0xb914, 0x00be, 0x0020, 0x2061, 0x1800, 0x6078, 0x617c, 0x9084, 0x00ff, 0x700a, 0x710e, 0x00ce, 0x60c3, - 0x002c, 0x0804, 0x9381, 0x080c, 0x8e8f, 0x7003, 0x0f00, 0x7808, + 0x002c, 0x0804, 0x939b, 0x080c, 0x8ea9, 0x7003, 0x0f00, 0x7808, 0xd09c, 0x0128, 0xb810, 0x9084, 0x00ff, 0x700a, 0xb814, 0x700e, - 0x60c3, 0x0008, 0x0804, 0x9381, 0x0156, 0x080c, 0x8eda, 0x7003, + 0x60c3, 0x0008, 0x0804, 0x939b, 0x0156, 0x080c, 0x8ef4, 0x7003, 0x0200, 0x2011, 0x1848, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, 0x1840, 0x2019, 0x1841, 0x9ef0, 0x0002, 0x2376, 0x8e70, 0x2276, - 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x95d5, 0x60c3, - 0x001c, 0x015e, 0x0804, 0x9381, 0x0016, 0x0026, 0x080c, 0x8eb6, - 0x080c, 0x8ec8, 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, + 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x95e5, 0x60c3, + 0x001c, 0x015e, 0x0804, 0x939b, 0x0016, 0x0026, 0x080c, 0x8ed0, + 0x080c, 0x8ee2, 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, 0x0096, 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, 0x4003, 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, - 0x9381, 0x002e, 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, - 0x9c35, 0x20a1, 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x8e8f, - 0x7003, 0x6200, 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0x9381, - 0x0016, 0x0026, 0x080c, 0x8e8f, 0x20e9, 0x0000, 0x20a1, 0x024c, + 0x939b, 0x002e, 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, + 0x9c22, 0x20a1, 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x8ea9, + 0x7003, 0x6200, 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0x939b, + 0x0016, 0x0026, 0x080c, 0x8ea9, 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, 0x0096, 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, - 0x4003, 0x8003, 0x60c2, 0x080c, 0x9381, 0x002e, 0x001e, 0x0005, - 0x00e6, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19b7, - 0x700c, 0x2060, 0x8cff, 0x0178, 0x080c, 0xbd32, 0x1110, 0x080c, - 0xa7d1, 0x600c, 0x0006, 0x080c, 0xbf9e, 0x080c, 0x9e42, 0x080c, - 0x97b1, 0x00ce, 0x0c78, 0x2c00, 0x700e, 0x700a, 0x012e, 0x000e, + 0x4003, 0x8003, 0x60c2, 0x080c, 0x939b, 0x002e, 0x001e, 0x0005, + 0x00e6, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, + 0x700c, 0x2060, 0x8cff, 0x0178, 0x080c, 0xbd41, 0x1110, 0x080c, + 0xa7cd, 0x600c, 0x0006, 0x080c, 0xbfad, 0x080c, 0x9e2f, 0x080c, + 0x979a, 0x00ce, 0x0c78, 0x2c00, 0x700e, 0x700a, 0x012e, 0x000e, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, 0x918c, 0xe7ff, 0x2102, 0x2069, 0x0100, 0x2079, - 0x0140, 0x2071, 0x19b7, 0x7024, 0x2060, 0x8cff, 0x01f8, 0x080c, - 0x93ad, 0x6ac0, 0x68c3, 0x0000, 0x080c, 0x80a1, 0x00c6, 0x2061, - 0x0100, 0x080c, 0x9c4e, 0x00ce, 0x20a9, 0x01f4, 0x0461, 0x2009, - 0x0013, 0x080c, 0x9ebc, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, + 0x0140, 0x2071, 0x19bf, 0x7024, 0x2060, 0x8cff, 0x01f8, 0x080c, + 0x93c7, 0x6ac0, 0x68c3, 0x0000, 0x080c, 0x80bf, 0x00c6, 0x2061, + 0x0100, 0x080c, 0x9c3b, 0x00ce, 0x20a9, 0x01f4, 0x0461, 0x2009, + 0x0013, 0x080c, 0x9ea9, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, 0x1800, 0x2004, 0x9096, 0x0001, 0x0d78, 0x9096, 0x0004, 0x0d60, 0x080c, - 0x80a1, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, - 0x0008, 0x68c3, 0x0000, 0x2011, 0x5b43, 0x080c, 0x8021, 0x20a9, + 0x80bf, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, + 0x0008, 0x68c3, 0x0000, 0x2011, 0x5b4e, 0x080c, 0x803f, 0x20a9, 0x01f4, 0x0009, 0x08c0, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, - 0x7804, 0x9084, 0x4000, 0x190c, 0x2b26, 0x0090, 0xd084, 0x0118, - 0x6827, 0x0001, 0x0010, 0x1f04, 0x96bb, 0x7804, 0x9084, 0x1000, - 0x0138, 0x2001, 0x0100, 0x080c, 0x2b16, 0x9006, 0x080c, 0x2b16, + 0x7804, 0x9084, 0x4000, 0x190c, 0x2b31, 0x0090, 0xd084, 0x0118, + 0x6827, 0x0001, 0x0010, 0x1f04, 0x96cb, 0x7804, 0x9084, 0x1000, + 0x0138, 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, 0x2b21, 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, 0x918c, 0xdbff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, - 0x19b7, 0x703c, 0x2060, 0x8cff, 0x0904, 0x9767, 0x9386, 0x0002, - 0x1128, 0x6814, 0x9084, 0x0002, 0x0904, 0x9767, 0x68af, 0x95f5, + 0x19bf, 0x703c, 0x2060, 0x8cff, 0x0904, 0x9750, 0x9386, 0x0002, + 0x1128, 0x6814, 0x9084, 0x0002, 0x0904, 0x9750, 0x68af, 0x95f5, 0x6817, 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, 0x69c6, 0x68cb, - 0x0008, 0x080c, 0x80ae, 0x080c, 0x1e92, 0x0046, 0x2009, 0x00a5, - 0x080c, 0x0e2f, 0x2021, 0x0169, 0x2404, 0x9084, 0x000f, 0x9086, - 0x0004, 0x11f8, 0x68af, 0x95f5, 0x68c6, 0x68cb, 0x0008, 0x00e6, - 0x00f6, 0x2079, 0x0090, 0x2071, 0x1a35, 0x6814, 0x9084, 0x1984, - 0x9085, 0x0012, 0x6816, 0x782b, 0x0008, 0x7003, 0x0000, 0x00fe, - 0x00ee, 0x9386, 0x0002, 0x1128, 0x7884, 0x9005, 0x1110, 0x7887, - 0x0001, 0x2001, 0x1951, 0x200c, 0x080c, 0x0e2f, 0x004e, 0x20a9, - 0x03e8, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, 0x9084, - 0x4000, 0x190c, 0x2b26, 0x0090, 0xd08c, 0x0118, 0x6827, 0x0002, - 0x0010, 0x1f04, 0x9741, 0x7804, 0x9084, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2b16, 0x9006, 0x080c, 0x2b16, 0x6827, 0x4000, - 0x6824, 0x83ff, 0x1120, 0x2009, 0x0049, 0x080c, 0x9ebc, 0x000e, - 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, - 0x012e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, 0x19b7, - 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, - 0x2069, 0x19b7, 0x6a32, 0x012e, 0x00de, 0x0005, 0x080c, 0x9048, - 0x7854, 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, 0x080c, 0x9048, - 0x7854, 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, 0x080c, 0x9048, - 0x7854, 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, 0x080c, 0x9048, - 0x7854, 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, 0x080c, 0x9048, - 0x7854, 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, 0x0020, 0x0804, - 0x9381, 0x00e6, 0x2071, 0x19b7, 0x7020, 0x9005, 0x0110, 0x8001, - 0x7022, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, - 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19b7, 0x7614, - 0x2660, 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, 0x9856, 0x8cff, - 0x0904, 0x9856, 0x6020, 0x9086, 0x0006, 0x1904, 0x9851, 0x88ff, - 0x0138, 0x2800, 0x9c06, 0x1904, 0x9851, 0x2039, 0x0000, 0x0050, - 0x6010, 0x9b06, 0x1904, 0x9851, 0x85ff, 0x0120, 0x6054, 0x9106, - 0x1904, 0x9851, 0x7024, 0x9c06, 0x15b0, 0x2069, 0x0100, 0x68c0, - 0x9005, 0x1160, 0x6824, 0xd084, 0x0148, 0x6827, 0x0001, 0x080c, - 0x80a1, 0x080c, 0x98db, 0x7027, 0x0000, 0x0428, 0x080c, 0x80a1, - 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, 0x68c3, - 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, - 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b16, - 0x9006, 0x080c, 0x2b16, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, - 0x6827, 0x0001, 0x003e, 0x7014, 0x9c36, 0x1110, 0x660c, 0x7616, - 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7012, - 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, - 0x7e0e, 0x0008, 0x2678, 0x89ff, 0x1168, 0x600f, 0x0000, 0x6014, - 0x0096, 0x2048, 0x080c, 0xbb2a, 0x0110, 0x080c, 0xd4f6, 0x009e, - 0x080c, 0x9e72, 0x080c, 0x97b1, 0x88ff, 0x1190, 0x00ce, 0x0804, - 0x97cc, 0x2c78, 0x600c, 0x2060, 0x0804, 0x97cc, 0x9006, 0x012e, - 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, - 0x601b, 0x0000, 0x00ce, 0x98c5, 0x0001, 0x0c88, 0x00f6, 0x00e6, - 0x00d6, 0x0096, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, - 0x8000, 0x2071, 0x19b7, 0x7638, 0x2660, 0x2678, 0x8cff, 0x0904, - 0x98ca, 0x6020, 0x9086, 0x0006, 0x1904, 0x98c5, 0x87ff, 0x0128, - 0x2700, 0x9c06, 0x1904, 0x98c5, 0x0040, 0x6010, 0x9b06, 0x15e8, - 0x85ff, 0x0118, 0x6054, 0x9106, 0x15c0, 0x703c, 0x9c06, 0x1168, - 0x0036, 0x2019, 0x0001, 0x080c, 0x96d9, 0x7033, 0x0000, 0x9006, - 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x7038, 0x9c36, 0x1110, - 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, - 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, - 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6014, - 0x2048, 0x080c, 0xbb2a, 0x0110, 0x080c, 0xd4f6, 0x080c, 0x9e72, - 0x87ff, 0x1198, 0x00ce, 0x0804, 0x9876, 0x2c78, 0x600c, 0x2060, - 0x0804, 0x9876, 0x9006, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, - 0x009e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, - 0x97bd, 0x0001, 0x0c80, 0x00e6, 0x2071, 0x19b7, 0x2001, 0x1800, - 0x2004, 0x9086, 0x0002, 0x1118, 0x7007, 0x0005, 0x0010, 0x7007, - 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, 0x0026, - 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19b7, 0x2c10, 0x7638, - 0x2660, 0x2678, 0x8cff, 0x0540, 0x2200, 0x9c06, 0x1508, 0x7038, - 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, - 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, - 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, - 0x6004, 0x9086, 0x0040, 0x090c, 0x8861, 0x9085, 0x0001, 0x0020, - 0x2c78, 0x600c, 0x2060, 0x08b0, 0x012e, 0x000e, 0x002e, 0x006e, - 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0096, 0x00f6, 0x00e6, 0x00d6, - 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, - 0x19b7, 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, 0x99c1, 0x6010, - 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x1904, 0x99bc, 0x7024, - 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0x9993, - 0x080c, 0x93ad, 0x68c3, 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, - 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2b16, 0x9006, 0x080c, 0x2b16, 0x2069, 0x0100, - 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x700c, 0x9c36, - 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, 0x2c00, 0x9f36, - 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, 0x660c, 0x0066, - 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, - 0x080c, 0xbd21, 0x1180, 0x080c, 0x3005, 0x080c, 0xbd32, 0x1518, - 0x080c, 0xa7d1, 0x0400, 0x080c, 0x98db, 0x6824, 0xd084, 0x09b0, - 0x6827, 0x0001, 0x0898, 0x080c, 0xbd32, 0x1118, 0x080c, 0xa7d1, - 0x0090, 0x6014, 0x2048, 0x080c, 0xbb2a, 0x0168, 0x6020, 0x9086, - 0x0003, 0x1508, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, - 0x6884, 0x080c, 0xbd15, 0x080c, 0xbf9e, 0x080c, 0x9e72, 0x080c, - 0x97b1, 0x00ce, 0x0804, 0x993c, 0x2c78, 0x600c, 0x2060, 0x0804, - 0x993c, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, - 0x00fe, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, 0x1d20, 0x080c, - 0xd4f6, 0x0c08, 0x00d6, 0x080c, 0x8eda, 0x7003, 0x0200, 0x7007, - 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, 0x2099, 0x1959, 0x20e9, - 0x0000, 0x20a1, 0x0250, 0x20a9, 0x0004, 0x4003, 0x7023, 0x0004, - 0x7027, 0x7878, 0x080c, 0x9381, 0x00de, 0x0005, 0x080c, 0x8eda, - 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, 0x9084, - 0x00ff, 0x7022, 0x782c, 0x7026, 0x7858, 0x9084, 0x00ff, 0x9085, - 0x0200, 0x7002, 0x7858, 0x9084, 0xff00, 0x8007, 0x7006, 0x60c2, - 0x0804, 0x9381, 0x00b6, 0x00d6, 0x0016, 0x00d6, 0x2f68, 0x2009, - 0x0035, 0x080c, 0xc1a4, 0x00de, 0x1904, 0x9a6f, 0x080c, 0x8e8f, - 0x7003, 0x1300, 0x782c, 0x080c, 0x9b71, 0x2068, 0x6820, 0x9086, - 0x0003, 0x0560, 0x7810, 0x2058, 0xbaa0, 0x080c, 0x9dc1, 0x11d8, - 0x9286, 0x007e, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0498, - 0x9286, 0x007f, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffd, 0x0458, - 0x9284, 0xff80, 0x0180, 0x9286, 0x0080, 0x1128, 0x700b, 0x00ff, - 0x700f, 0xfffc, 0x0400, 0x92d8, 0x1000, 0x2b5c, 0xb810, 0x700a, - 0xb814, 0x700e, 0x00c0, 0x6098, 0x700e, 0x00a8, 0x080c, 0x9dc1, - 0x1130, 0x7810, 0x2058, 0xb8a0, 0x9082, 0x007e, 0x0250, 0x00d6, - 0x2069, 0x181e, 0x2d04, 0x700a, 0x8d68, 0x2d04, 0x700e, 0x00de, - 0x0010, 0x6034, 0x700e, 0x7838, 0x7012, 0x783c, 0x7016, 0x60c3, - 0x000c, 0x001e, 0x00de, 0x080c, 0x9381, 0x00be, 0x0005, 0x781b, - 0x0001, 0x7803, 0x0006, 0x001e, 0x00de, 0x00be, 0x0005, 0x792c, - 0x9180, 0x0008, 0x200c, 0x9186, 0x0006, 0x01c0, 0x9186, 0x0003, - 0x0904, 0x9ae9, 0x9186, 0x0005, 0x0904, 0x9ad2, 0x9186, 0x0004, - 0x05d8, 0x9186, 0x0008, 0x0904, 0x9ada, 0x7807, 0x0037, 0x782f, - 0x0003, 0x7817, 0x1700, 0x080c, 0x9b4e, 0x0005, 0x080c, 0x9b0f, - 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6800, 0x0002, - 0x9ab3, 0x9abe, 0x9ab5, 0x9abe, 0x9aba, 0x9ab3, 0x9ab3, 0x9abe, - 0x9abe, 0x9abe, 0x9abe, 0x9ab3, 0x9ab3, 0x9ab3, 0x9ab3, 0x9ab3, - 0x9abe, 0x9ab3, 0x9abe, 0x080c, 0x0db4, 0x6824, 0xd0e4, 0x0110, - 0xd0cc, 0x0110, 0x900e, 0x0010, 0x2009, 0x2000, 0x682c, 0x7022, - 0x6830, 0x7026, 0x0804, 0x9b08, 0x080c, 0x9b0f, 0x00d6, 0x0026, - 0x792c, 0x2168, 0x2009, 0x4000, 0x6a00, 0x9286, 0x0002, 0x1108, - 0x900e, 0x04b0, 0x04e1, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, - 0x4000, 0x0470, 0x04a1, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, - 0x4000, 0x9286, 0x0005, 0x0118, 0x9286, 0x0002, 0x1108, 0x900e, - 0x00f8, 0x0429, 0x00d6, 0x0026, 0x792c, 0x2168, 0x6814, 0x0096, - 0x2048, 0xa9ac, 0xa834, 0x9112, 0xa9b0, 0xa838, 0x009e, 0x9103, - 0x7022, 0x7226, 0x792c, 0x9180, 0x0000, 0x2004, 0x908e, 0x0002, - 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, 0x0008, 0x900e, - 0x712a, 0x60c3, 0x0018, 0x002e, 0x00de, 0x0804, 0x9381, 0x00b6, - 0x0036, 0x0046, 0x0056, 0x0066, 0x080c, 0x8eda, 0x9006, 0x7003, - 0x0200, 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, 0x2058, 0xb8a0, - 0x080c, 0x9dc1, 0x1118, 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, - 0x181e, 0x2d2c, 0x8d68, 0x2d34, 0x90d8, 0x1000, 0x2b5c, 0xbb10, - 0xbc14, 0x00de, 0x0028, 0x901e, 0x6498, 0x2029, 0x0000, 0x6634, - 0x782c, 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, - 0x7616, 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, - 0x006e, 0x005e, 0x004e, 0x003e, 0x00be, 0x0005, 0x080c, 0x8eda, - 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x700e, 0x60c3, - 0x0008, 0x0804, 0x9381, 0x080c, 0x8e86, 0x7003, 0x1400, 0x7838, - 0x700a, 0x0079, 0x783c, 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, - 0x7834, 0x9084, 0x00ff, 0x8007, 0x701a, 0x60c3, 0x0010, 0x0804, - 0x9381, 0x00e6, 0x2071, 0x0240, 0x0006, 0x00f6, 0x2078, 0x7810, - 0x00b6, 0x2058, 0xb8bc, 0xd084, 0x0120, 0x7848, 0x702a, 0x7844, - 0x702e, 0x00be, 0x00fe, 0x000e, 0x00ee, 0x0005, 0x080c, 0x8ed1, - 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, - 0x0804, 0x9381, 0x0021, 0x60c3, 0x0000, 0x0804, 0x9381, 0x00d6, - 0x080c, 0x9c4a, 0xb810, 0x9085, 0x0300, 0x7002, 0xb814, 0x7006, - 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x7013, 0x0819, - 0x080c, 0x936f, 0x721a, 0x2f10, 0x7222, 0x7a08, 0x7226, 0x2071, - 0x024c, 0x00de, 0x0005, 0x00a9, 0x7914, 0x712a, 0x60c3, 0x0000, - 0x60a7, 0x9575, 0x0026, 0x080c, 0x29cc, 0x0228, 0x2011, 0x0101, - 0x2204, 0xc0c5, 0x2012, 0x002e, 0x080c, 0x93a4, 0x080c, 0x8098, - 0x0005, 0x0036, 0x0096, 0x00d6, 0x00e6, 0x7858, 0x2048, 0xaa7c, - 0x9296, 0x00c0, 0x9294, 0xfffd, 0xaa7e, 0xaa80, 0x9294, 0x0300, - 0xaa82, 0xa96c, 0x9194, 0x00ff, 0xab74, 0x9384, 0x00ff, 0x908d, - 0xc200, 0xa96e, 0x9384, 0xff00, 0x9215, 0xaa76, 0xa870, 0xaa78, - 0xa87a, 0xaa72, 0x00d6, 0x2069, 0x0200, 0x080c, 0x9c4a, 0x00de, - 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000a, 0xa860, 0x20e0, - 0xa85c, 0x9080, 0x001b, 0x2098, 0x4003, 0x60a3, 0x0035, 0xaa68, - 0x9294, 0x7000, 0x9286, 0x3000, 0x0110, 0x60a3, 0x0037, 0x00ee, - 0x00de, 0x009e, 0x003e, 0x0005, 0x900e, 0x7814, 0x0096, 0x2048, - 0xa87c, 0xd0fc, 0x01c0, 0x9084, 0x0003, 0x11a8, 0x2001, 0x180c, - 0x2004, 0xd0bc, 0x0180, 0x7824, 0xd0cc, 0x1168, 0xd0c4, 0x1158, - 0xa8a8, 0x9005, 0x1140, 0x2001, 0x180c, 0x200c, 0xc1d5, 0x2102, - 0x2009, 0x1982, 0x210c, 0x009e, 0x918d, 0x0092, 0x0010, 0x2009, - 0x0096, 0x60ab, 0x0036, 0x6116, 0x0005, 0x2009, 0x0009, 0x00a0, - 0x2009, 0x000a, 0x0088, 0x2009, 0x000b, 0x0070, 0x2009, 0x000c, - 0x0058, 0x2009, 0x000d, 0x0040, 0x2009, 0x000e, 0x0028, 0x2009, - 0x000f, 0x0010, 0x2009, 0x0008, 0x6912, 0x0005, 0x00d6, 0x9290, - 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, 0x0200, 0x6813, 0x0000, - 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, 0x0020, 0x9292, 0x0020, - 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, 0x4004, 0x82ff, 0x0120, - 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, 0x0005, 0x00d6, 0x0096, - 0x6014, 0x2048, 0xa878, 0x6056, 0x9006, 0xa836, 0xa83a, 0xa99c, - 0xa946, 0xa84a, 0x6023, 0x0003, 0x6007, 0x0040, 0x6003, 0x0003, - 0x600b, 0xffff, 0xa817, 0x0001, 0xa842, 0xa83e, 0x2900, 0xa85a, - 0xa813, 0x1f26, 0x080c, 0x843f, 0x0126, 0x2091, 0x8000, 0x080c, - 0x8a4a, 0x012e, 0x009e, 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00d6, - 0x00c6, 0x00a6, 0x0096, 0x0066, 0x0126, 0x2091, 0x8000, 0x2071, - 0x19b7, 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, 0x9d21, 0x7024, - 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0x9cf3, - 0x080c, 0x93ad, 0x68c3, 0x0000, 0x080c, 0x98db, 0x7027, 0x0000, - 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2b16, 0x9006, 0x080c, 0x2b16, 0x2069, 0x0100, - 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x700c, 0x9c36, - 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, 0x2c00, 0x9f36, - 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, 0x660c, 0x0066, + 0x0008, 0x080c, 0x80cc, 0x080c, 0x1e9d, 0x2001, 0x0032, 0x6920, + 0xd1bc, 0x0130, 0x8001, 0x1dd8, 0x692c, 0x918d, 0x0008, 0x692e, + 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, + 0x9084, 0x4000, 0x190c, 0x2b31, 0x0090, 0xd08c, 0x0118, 0x6827, + 0x0002, 0x0010, 0x1f04, 0x972a, 0x7804, 0x9084, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, 0x2b21, 0x6827, + 0x4000, 0x6824, 0x83ff, 0x1120, 0x2009, 0x0049, 0x080c, 0x9ea9, + 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, 0x2069, + 0x19bf, 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, 0x2091, + 0x8000, 0x2069, 0x19bf, 0x6a32, 0x012e, 0x00de, 0x0005, 0x080c, + 0x9062, 0x7854, 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, 0x080c, + 0x9062, 0x7854, 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, 0x080c, + 0x9062, 0x7854, 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, 0x080c, + 0x9062, 0x7854, 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, 0x080c, + 0x9062, 0x7854, 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, 0x0020, + 0x0804, 0x939b, 0x00e6, 0x2071, 0x19bf, 0x7020, 0x9005, 0x0110, + 0x8001, 0x7022, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0076, 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, + 0x7614, 0x2660, 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, 0x983f, + 0x8cff, 0x0904, 0x983f, 0x6020, 0x9086, 0x0006, 0x1904, 0x983a, + 0x88ff, 0x0138, 0x2800, 0x9c06, 0x1904, 0x983a, 0x2039, 0x0000, + 0x0050, 0x6010, 0x9b06, 0x1904, 0x983a, 0x85ff, 0x0120, 0x6054, + 0x9106, 0x1904, 0x983a, 0x7024, 0x9c06, 0x15b0, 0x2069, 0x0100, + 0x68c0, 0x9005, 0x1160, 0x6824, 0xd084, 0x0148, 0x6827, 0x0001, + 0x080c, 0x80bf, 0x080c, 0x98c4, 0x7027, 0x0000, 0x0428, 0x080c, + 0x80bf, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, + 0x68c3, 0x0000, 0x080c, 0x98c4, 0x7027, 0x0000, 0x0036, 0x2069, + 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, + 0x2b21, 0x9006, 0x080c, 0x2b21, 0x2069, 0x0100, 0x6824, 0xd084, + 0x0110, 0x6827, 0x0001, 0x003e, 0x7014, 0x9c36, 0x1110, 0x660c, + 0x7616, 0x7010, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, + 0x7012, 0x0010, 0x7013, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, + 0x0110, 0x7e0e, 0x0008, 0x2678, 0x89ff, 0x1168, 0x600f, 0x0000, + 0x6014, 0x0096, 0x2048, 0x080c, 0xbb39, 0x0110, 0x080c, 0xd50f, + 0x009e, 0x080c, 0x9e5f, 0x080c, 0x979a, 0x88ff, 0x1190, 0x00ce, + 0x0804, 0x97b5, 0x2c78, 0x600c, 0x2060, 0x0804, 0x97b5, 0x9006, + 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, 0x0001, 0x0c88, 0x00f6, + 0x00e6, 0x00d6, 0x0096, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2071, 0x19bf, 0x7638, 0x2660, 0x2678, 0x8cff, + 0x0904, 0x98b3, 0x6020, 0x9086, 0x0006, 0x1904, 0x98ae, 0x87ff, + 0x0128, 0x2700, 0x9c06, 0x1904, 0x98ae, 0x0040, 0x6010, 0x9b06, + 0x15e8, 0x85ff, 0x0118, 0x6054, 0x9106, 0x15c0, 0x703c, 0x9c06, + 0x1168, 0x0036, 0x2019, 0x0001, 0x080c, 0x96e9, 0x7033, 0x0000, + 0x9006, 0x703e, 0x7042, 0x7046, 0x704a, 0x003e, 0x7038, 0x9c36, + 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, 0x2c00, 0x9f36, + 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, - 0x080c, 0xbd21, 0x1180, 0x080c, 0x3005, 0x080c, 0xbd32, 0x1518, - 0x080c, 0xa7d1, 0x0400, 0x080c, 0x98db, 0x6824, 0xd084, 0x09b0, - 0x6827, 0x0001, 0x0898, 0x080c, 0xbd32, 0x1118, 0x080c, 0xa7d1, - 0x0090, 0x6014, 0x2048, 0x080c, 0xbb2a, 0x0168, 0x6020, 0x9086, - 0x0003, 0x1520, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, - 0x6891, 0x080c, 0xbd15, 0x080c, 0xbf9e, 0x080c, 0x9e72, 0x080c, - 0x97b1, 0x00ce, 0x0804, 0x9ca4, 0x2c78, 0x600c, 0x2060, 0x0804, - 0x9ca4, 0x700f, 0x0000, 0x700b, 0x0000, 0x012e, 0x006e, 0x009e, - 0x00ae, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, - 0x0006, 0x1d08, 0x080c, 0xd4f6, 0x08f0, 0x00d6, 0x0156, 0x080c, - 0x8eda, 0x7a14, 0x82ff, 0x0138, 0x7003, 0x0100, 0x700b, 0x0003, - 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, 0x7007, 0x0000, 0x2069, - 0x1800, 0x901e, 0x6800, 0x9086, 0x0004, 0x1110, 0xc38d, 0x0060, - 0x080c, 0x6f9b, 0x1110, 0xc3ad, 0x0008, 0xc3a5, 0x6ad8, 0xd29c, - 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, 0x2011, 0x1848, 0x63f0, - 0x2312, 0x20a9, 0x0006, 0x2011, 0x1840, 0x2019, 0x1841, 0x2071, - 0x0250, 0x2376, 0x8e70, 0x2276, 0x8e70, 0x9398, 0x0002, 0x9290, - 0x0002, 0x1f04, 0x9d69, 0x60c3, 0x0020, 0x080c, 0x9381, 0x015e, - 0x00de, 0x0005, 0x0156, 0x080c, 0x8eda, 0x7a14, 0x82ff, 0x0168, - 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, 0x1238, 0x7003, 0x0100, - 0x700b, 0x0003, 0x60c3, 0x0008, 0x0488, 0x7003, 0x0200, 0x7007, - 0x001c, 0x700f, 0x0001, 0x2011, 0x198d, 0x2204, 0x8007, 0x701a, - 0x8210, 0x2204, 0x8007, 0x701e, 0x0421, 0x1120, 0xb8a0, 0x9082, - 0x007f, 0x0248, 0x2001, 0x181e, 0x2004, 0x7022, 0x2001, 0x181f, - 0x2004, 0x7026, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, - 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, - 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x015e, 0x0804, - 0x9381, 0x0006, 0x2001, 0x1836, 0x2004, 0xd0ac, 0x000e, 0x0005, - 0x2011, 0x0003, 0x080c, 0x9772, 0x2011, 0x0002, 0x080c, 0x977c, - 0x080c, 0x9663, 0x0036, 0x901e, 0x080c, 0x96d9, 0x003e, 0x0005, - 0x2071, 0x1883, 0x7000, 0x9005, 0x0140, 0x2001, 0x0976, 0x2071, - 0x1800, 0x7072, 0x7076, 0x7067, 0xffe0, 0x2071, 0x1800, 0x7070, - 0x7052, 0x7057, 0x1cd0, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, - 0x2091, 0x8000, 0x7550, 0x9582, 0x0010, 0x0608, 0x7054, 0x2060, + 0x6014, 0x2048, 0x080c, 0xbb39, 0x0110, 0x080c, 0xd50f, 0x080c, + 0x9e5f, 0x87ff, 0x1198, 0x00ce, 0x0804, 0x985f, 0x2c78, 0x600c, + 0x2060, 0x0804, 0x985f, 0x9006, 0x012e, 0x000e, 0x002e, 0x006e, + 0x00ce, 0x009e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, + 0x00ce, 0x97bd, 0x0001, 0x0c80, 0x00e6, 0x2071, 0x19bf, 0x2001, + 0x1800, 0x2004, 0x9086, 0x0002, 0x1118, 0x7007, 0x0005, 0x0010, + 0x7007, 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, + 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, 0x2c10, + 0x7638, 0x2660, 0x2678, 0x8cff, 0x0540, 0x2200, 0x9c06, 0x1508, + 0x7038, 0x9c36, 0x1110, 0x660c, 0x763a, 0x7034, 0x9c36, 0x1140, + 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7036, 0x0010, 0x7037, 0x0000, + 0x660c, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x6004, 0x9086, 0x0040, 0x090c, 0x887f, 0x9085, 0x0001, + 0x0020, 0x2c78, 0x600c, 0x2060, 0x08b0, 0x012e, 0x000e, 0x002e, + 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0096, 0x00f6, 0x00e6, + 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2071, 0x19bf, 0x760c, 0x2660, 0x2678, 0x8cff, 0x0904, 0x99aa, + 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x1904, 0x99a5, + 0x7024, 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, + 0x997c, 0x080c, 0x93c7, 0x68c3, 0x0000, 0x080c, 0x98c4, 0x7027, + 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, + 0x2001, 0x0100, 0x080c, 0x2b21, 0x9006, 0x080c, 0x2b21, 0x2069, + 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x700c, + 0x9c36, 0x1110, 0x660c, 0x760e, 0x7008, 0x9c36, 0x1140, 0x2c00, + 0x9f36, 0x0118, 0x2f00, 0x700a, 0x0010, 0x700b, 0x0000, 0x660c, + 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, + 0x0000, 0x080c, 0xbd30, 0x1180, 0x080c, 0x3010, 0x080c, 0xbd41, + 0x1518, 0x080c, 0xa7cd, 0x0400, 0x080c, 0x98c4, 0x6824, 0xd084, + 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xbd41, 0x1118, 0x080c, + 0xa7cd, 0x0090, 0x6014, 0x2048, 0x080c, 0xbb39, 0x0168, 0x6020, + 0x9086, 0x0003, 0x1508, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, + 0x080c, 0x6893, 0x080c, 0xbd24, 0x080c, 0xbfad, 0x080c, 0x9e5f, + 0x080c, 0x979a, 0x00ce, 0x0804, 0x9925, 0x2c78, 0x600c, 0x2060, + 0x0804, 0x9925, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, 0x1d20, + 0x080c, 0xd50f, 0x0c08, 0x00d6, 0x080c, 0x8ef4, 0x7003, 0x0200, + 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, 0x2099, 0x1961, + 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, 0x0004, 0x4003, 0x7023, + 0x0004, 0x7027, 0x7878, 0x080c, 0x939b, 0x00de, 0x0005, 0x080c, + 0x8ef4, 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, + 0x9084, 0x00ff, 0x7022, 0x782c, 0x7026, 0x7858, 0x9084, 0x00ff, + 0x9085, 0x0200, 0x7002, 0x7858, 0x9084, 0xff00, 0x8007, 0x7006, + 0x60c2, 0x0804, 0x939b, 0x00b6, 0x00d6, 0x0016, 0x00d6, 0x2f68, + 0x2009, 0x0035, 0x080c, 0xc1b3, 0x00de, 0x1904, 0x9a58, 0x080c, + 0x8ea9, 0x7003, 0x1300, 0x782c, 0x080c, 0x9b5e, 0x2068, 0x6820, + 0x9086, 0x0003, 0x0560, 0x7810, 0x2058, 0xbaa0, 0x080c, 0x9dae, + 0x11d8, 0x9286, 0x007e, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, + 0x0498, 0x9286, 0x007f, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffd, + 0x0458, 0x9284, 0xff80, 0x0180, 0x9286, 0x0080, 0x1128, 0x700b, + 0x00ff, 0x700f, 0xfffc, 0x0400, 0x92d8, 0x1000, 0x2b5c, 0xb810, + 0x700a, 0xb814, 0x700e, 0x00c0, 0x6098, 0x700e, 0x00a8, 0x080c, + 0x9dae, 0x1130, 0x7810, 0x2058, 0xb8a0, 0x9082, 0x007e, 0x0250, + 0x00d6, 0x2069, 0x181e, 0x2d04, 0x700a, 0x8d68, 0x2d04, 0x700e, + 0x00de, 0x0010, 0x6034, 0x700e, 0x7838, 0x7012, 0x783c, 0x7016, + 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, 0x939b, 0x00be, 0x0005, + 0x781b, 0x0001, 0x7803, 0x0006, 0x001e, 0x00de, 0x00be, 0x0005, + 0x792c, 0x9180, 0x0008, 0x200c, 0x9186, 0x0006, 0x01c0, 0x9186, + 0x0003, 0x0904, 0x9ad3, 0x9186, 0x0005, 0x0904, 0x9abb, 0x9186, + 0x0004, 0x05d8, 0x9186, 0x0008, 0x0904, 0x9ac4, 0x7807, 0x0037, + 0x782f, 0x0003, 0x7817, 0x1700, 0x080c, 0x9b3b, 0x0005, 0x080c, + 0x9afc, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6800, + 0x0002, 0x9a9c, 0x9aa7, 0x9a9e, 0x9aa7, 0x9aa3, 0x9a9c, 0x9a9c, + 0x9aa7, 0x9aa7, 0x9aa7, 0x9aa7, 0x9a9c, 0x9a9c, 0x9a9c, 0x9a9c, + 0x9a9c, 0x9aa7, 0x9a9c, 0x9aa7, 0x080c, 0x0db4, 0x6824, 0xd0e4, + 0x0110, 0xd0cc, 0x0110, 0x900e, 0x0010, 0x2009, 0x2000, 0x682c, + 0x7022, 0x6830, 0x7026, 0x0804, 0x9af5, 0x080c, 0x9afc, 0x00d6, + 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6a00, 0x9286, 0x0002, + 0x1108, 0x900e, 0x04d0, 0x080c, 0x9afc, 0x00d6, 0x0026, 0x792c, + 0x2168, 0x2009, 0x4000, 0x0488, 0x04b9, 0x00d6, 0x0026, 0x792c, + 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, 0x0118, 0x9286, 0x0002, + 0x1108, 0x900e, 0x0410, 0x0441, 0x00d6, 0x0026, 0x792c, 0x2168, + 0x6814, 0x6924, 0xc185, 0x6926, 0x0096, 0x2048, 0xa9ac, 0xa834, + 0x9112, 0xa9b0, 0xa838, 0x009e, 0x9103, 0x7022, 0x7226, 0x792c, + 0x9180, 0x0000, 0x2004, 0x908e, 0x0002, 0x0130, 0x908e, 0x0004, + 0x0118, 0x2009, 0x4000, 0x0008, 0x900e, 0x712a, 0x60c3, 0x0018, + 0x002e, 0x00de, 0x0804, 0x939b, 0x00b6, 0x0036, 0x0046, 0x0056, + 0x0066, 0x080c, 0x8ef4, 0x9006, 0x7003, 0x0200, 0x7938, 0x710a, + 0x793c, 0x710e, 0x7810, 0x2058, 0xb8a0, 0x080c, 0x9dae, 0x1118, + 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, 0x181e, 0x2d2c, 0x8d68, + 0x2d34, 0x90d8, 0x1000, 0x2b5c, 0xbb10, 0xbc14, 0x00de, 0x0028, + 0x901e, 0x6498, 0x2029, 0x0000, 0x6634, 0x782c, 0x9080, 0x0008, + 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, 0x7616, 0x731a, 0x741e, + 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, 0x006e, 0x005e, 0x004e, + 0x003e, 0x00be, 0x0005, 0x080c, 0x8ef4, 0x7003, 0x0100, 0x782c, + 0x700a, 0x7814, 0x700e, 0x700e, 0x60c3, 0x0008, 0x0804, 0x939b, + 0x080c, 0x8ea0, 0x7003, 0x1400, 0x7838, 0x700a, 0x0079, 0x783c, + 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, 0x7834, 0x9084, 0x00ff, + 0x8007, 0x701a, 0x60c3, 0x0010, 0x0804, 0x939b, 0x00e6, 0x2071, + 0x0240, 0x0006, 0x00f6, 0x2078, 0x7810, 0x00b6, 0x2058, 0xb8bc, + 0xd084, 0x0120, 0x7848, 0x702a, 0x7844, 0x702e, 0x00be, 0x00fe, + 0x000e, 0x00ee, 0x0005, 0x080c, 0x8eeb, 0x7003, 0x0100, 0x782c, + 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, 0x939b, 0x0021, + 0x60c3, 0x0000, 0x0804, 0x939b, 0x00d6, 0x080c, 0x9c37, 0xb810, + 0x9085, 0x0300, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, + 0x700a, 0x687c, 0x700e, 0x7013, 0x0819, 0x080c, 0x9389, 0x721a, + 0x2f10, 0x7222, 0x7a08, 0x7226, 0x2071, 0x024c, 0x00de, 0x0005, + 0x00a9, 0x7914, 0x712a, 0x60c3, 0x0000, 0x60a7, 0x9575, 0x0026, + 0x080c, 0x29d7, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, + 0x002e, 0x080c, 0x93be, 0x080c, 0x80b6, 0x0005, 0x0036, 0x0096, + 0x00d6, 0x00e6, 0x7858, 0x2048, 0xaa7c, 0x9296, 0x00c0, 0x9294, + 0xfffd, 0xaa7e, 0xaa80, 0x9294, 0x0300, 0xaa82, 0xa96c, 0x9194, + 0x00ff, 0xab74, 0x9384, 0x00ff, 0x908d, 0xc200, 0xa96e, 0x9384, + 0xff00, 0x9215, 0xaa76, 0xa870, 0xaa78, 0xa87a, 0xaa72, 0x00d6, + 0x2069, 0x0200, 0x080c, 0x9c37, 0x00de, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x20a9, 0x000a, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, + 0x2098, 0x4003, 0x60a3, 0x0035, 0xaa68, 0x9294, 0x7000, 0x9286, + 0x3000, 0x0110, 0x60a3, 0x0037, 0x00ee, 0x00de, 0x009e, 0x003e, + 0x0005, 0x900e, 0x7814, 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x01c0, + 0x9084, 0x0003, 0x11a8, 0x2001, 0x180c, 0x2004, 0xd0bc, 0x0180, + 0x7824, 0xd0cc, 0x1168, 0xd0c4, 0x1158, 0xa8a8, 0x9005, 0x1140, + 0x2001, 0x180c, 0x200c, 0xc1d5, 0x2102, 0x2009, 0x198a, 0x210c, + 0x009e, 0x918d, 0x0092, 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, + 0x6116, 0x0005, 0x2009, 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, + 0x2009, 0x000b, 0x0070, 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, + 0x0040, 0x2009, 0x000e, 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, + 0x0008, 0x6912, 0x0005, 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, + 0x0000, 0x2069, 0x0200, 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, + 0x0128, 0x20a9, 0x0020, 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, + 0x0240, 0x9006, 0x4004, 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, + 0x0c60, 0x00de, 0x0005, 0x00d6, 0x0096, 0x6014, 0x2048, 0xa878, + 0x6056, 0x9006, 0xa836, 0xa83a, 0xa99c, 0xa946, 0xa84a, 0x6023, + 0x0003, 0x6007, 0x0040, 0x6003, 0x0003, 0x600b, 0xffff, 0xa817, + 0x0001, 0xa842, 0xa83e, 0x2900, 0xa85a, 0xa813, 0x1f31, 0x080c, + 0x845d, 0x0126, 0x2091, 0x8000, 0x080c, 0x8a68, 0x012e, 0x009e, + 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00a6, 0x0096, + 0x0066, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, 0x760c, 0x2660, + 0x2678, 0x8cff, 0x0904, 0x9d0e, 0x7024, 0x9c06, 0x1520, 0x2069, + 0x0100, 0x68c0, 0x9005, 0x0904, 0x9ce0, 0x080c, 0x93c7, 0x68c3, + 0x0000, 0x080c, 0x98c4, 0x7027, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2b21, + 0x9006, 0x080c, 0x2b21, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x700c, 0x9c36, 0x1110, 0x660c, 0x760e, + 0x7008, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700a, + 0x0010, 0x700b, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, 0xbd30, 0x1180, + 0x080c, 0x3010, 0x080c, 0xbd41, 0x1518, 0x080c, 0xa7cd, 0x0400, + 0x080c, 0x98c4, 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, + 0x080c, 0xbd41, 0x1118, 0x080c, 0xa7cd, 0x0090, 0x6014, 0x2048, + 0x080c, 0xbb39, 0x0168, 0x6020, 0x9086, 0x0003, 0x1520, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x68a0, 0x080c, 0xbd24, + 0x080c, 0xbfad, 0x080c, 0x9e5f, 0x080c, 0x979a, 0x00ce, 0x0804, + 0x9c91, 0x2c78, 0x600c, 0x2060, 0x0804, 0x9c91, 0x700f, 0x0000, + 0x700b, 0x0000, 0x012e, 0x006e, 0x009e, 0x00ae, 0x00ce, 0x00de, + 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, 0x1d08, 0x080c, + 0xd50f, 0x08f0, 0x00d6, 0x0156, 0x080c, 0x8ef4, 0x7a14, 0x82ff, + 0x0138, 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0490, + 0x7003, 0x0200, 0x7007, 0x0000, 0x2069, 0x1800, 0x901e, 0x6800, + 0x9086, 0x0004, 0x1110, 0xc38d, 0x0060, 0x080c, 0x6faa, 0x1110, + 0xc3ad, 0x0008, 0xc3a5, 0x6ad8, 0xd29c, 0x1110, 0xd2ac, 0x0108, + 0xc39d, 0x730e, 0x2011, 0x1848, 0x63f0, 0x2312, 0x20a9, 0x0006, + 0x2011, 0x1840, 0x2019, 0x1841, 0x2071, 0x0250, 0x2376, 0x8e70, + 0x2276, 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x9d56, + 0x60c3, 0x0020, 0x080c, 0x939b, 0x015e, 0x00de, 0x0005, 0x0156, + 0x080c, 0x8ef4, 0x7a14, 0x82ff, 0x0168, 0x9286, 0xffff, 0x0118, + 0x9282, 0x000e, 0x1238, 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, + 0x0008, 0x0488, 0x7003, 0x0200, 0x7007, 0x001c, 0x700f, 0x0001, + 0x2011, 0x1995, 0x2204, 0x8007, 0x701a, 0x8210, 0x2204, 0x8007, + 0x701e, 0x0421, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, + 0x181e, 0x2004, 0x7022, 0x2001, 0x181f, 0x2004, 0x7026, 0x0030, + 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x7026, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, + 0x4003, 0x60c3, 0x001c, 0x015e, 0x0804, 0x939b, 0x0006, 0x2001, + 0x1836, 0x2004, 0xd0ac, 0x000e, 0x0005, 0x2011, 0x0003, 0x080c, + 0x975b, 0x2011, 0x0002, 0x080c, 0x9765, 0x080c, 0x9673, 0x0036, + 0x901e, 0x080c, 0x96e9, 0x003e, 0x0005, 0x2071, 0x188b, 0x7000, + 0x9005, 0x0140, 0x2001, 0x0976, 0x2071, 0x1800, 0x7072, 0x7076, + 0x7067, 0xffe0, 0x2071, 0x1800, 0x7070, 0x7052, 0x7057, 0x1cd0, + 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7550, + 0x9582, 0x0010, 0x0608, 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, + 0x0148, 0x9ce0, 0x0018, 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, + 0x1cd0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7552, 0x9ca8, 0x0018, + 0x7064, 0x9502, 0x1230, 0x7556, 0x9085, 0x0001, 0x012e, 0x00ee, + 0x0005, 0x7057, 0x1cd0, 0x0cc0, 0x9006, 0x0cc0, 0x00e6, 0x2071, + 0x1800, 0x7550, 0x9582, 0x0010, 0x0600, 0x7054, 0x2060, 0x6000, + 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7064, 0x9c02, 0x1208, + 0x0cb0, 0x2061, 0x1cd0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7552, + 0x9ca8, 0x0018, 0x7064, 0x9502, 0x1228, 0x7556, 0x9085, 0x0001, + 0x00ee, 0x0005, 0x7057, 0x1cd0, 0x0cc8, 0x9006, 0x0cc8, 0x9c82, + 0x1cd0, 0x0a0c, 0x0db4, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1a0c, + 0x0db4, 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, 0x601a, 0x6012, + 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, 0x6056, 0x605a, 0x6026, + 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, 0x6042, 0x2061, + 0x1800, 0x6050, 0x8000, 0x6052, 0x9086, 0x0001, 0x0108, 0x0005, + 0x0126, 0x2091, 0x8000, 0x080c, 0x898b, 0x012e, 0x0cc0, 0x0006, + 0x6000, 0x9086, 0x0000, 0x01b0, 0x601c, 0xd084, 0x190c, 0x191f, + 0x6017, 0x0000, 0x6023, 0x0007, 0x2001, 0x195e, 0x2004, 0x0006, + 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, 0x601a, 0x080c, 0xd7c1, + 0x6043, 0x0000, 0x000e, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, + 0x2091, 0x8000, 0x7550, 0x9582, 0x0001, 0x0608, 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1cd0, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7552, 0x9ca8, 0x0018, 0x7064, 0x9502, 0x1230, 0x7556, 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x7057, 0x1cd0, 0x0cc0, 0x9006, - 0x0cc0, 0x00e6, 0x2071, 0x1800, 0x7550, 0x9582, 0x0010, 0x0600, - 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x0018, - 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1cd0, 0x0c98, 0x6003, - 0x0008, 0x8529, 0x7552, 0x9ca8, 0x0018, 0x7064, 0x9502, 0x1228, - 0x7556, 0x9085, 0x0001, 0x00ee, 0x0005, 0x7057, 0x1cd0, 0x0cc8, - 0x9006, 0x0cc8, 0x9c82, 0x1cd0, 0x0a0c, 0x0db4, 0x2001, 0x1819, - 0x2004, 0x9c02, 0x1a0c, 0x0db4, 0x9006, 0x6006, 0x600a, 0x600e, - 0x6016, 0x601a, 0x6012, 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, - 0x6056, 0x605a, 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, - 0x603e, 0x6042, 0x2061, 0x1800, 0x6050, 0x8000, 0x6052, 0x9086, - 0x0001, 0x0108, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x896d, - 0x012e, 0x0cc0, 0x0006, 0x6000, 0x9086, 0x0000, 0x01b0, 0x601c, - 0xd084, 0x190c, 0x190f, 0x6017, 0x0000, 0x6023, 0x0007, 0x2001, - 0x1956, 0x2004, 0x0006, 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, - 0x601a, 0x080c, 0xd7a8, 0x6043, 0x0000, 0x000e, 0x0005, 0x00e6, - 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7550, 0x9582, 0x0001, - 0x0608, 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, - 0x0018, 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1cd0, 0x0c98, - 0x6003, 0x0008, 0x8529, 0x7552, 0x9ca8, 0x0018, 0x7064, 0x9502, - 0x1230, 0x7556, 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x7057, - 0x1cd0, 0x0cc0, 0x9006, 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, - 0x9ecf, 0x9ed8, 0x9ef3, 0x9f0e, 0xc252, 0xc26f, 0xc28a, 0x9ecf, - 0x9ed8, 0x9ecf, 0x9f2a, 0x9ecf, 0x9ecf, 0x9ecf, 0x9ecf, 0x9186, - 0x0013, 0x1128, 0x080c, 0x8861, 0x080c, 0x896d, 0x0005, 0x0005, + 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, 0x9ebc, 0x9ec5, 0x9ee0, + 0x9efb, 0xc261, 0xc27e, 0xc299, 0x9ebc, 0x9ec5, 0x9ebc, 0x9f17, + 0x9ebc, 0x9ebc, 0x9ebc, 0x9ebc, 0x9186, 0x0013, 0x1128, 0x080c, + 0x887f, 0x080c, 0x898b, 0x0005, 0x0005, 0x0066, 0x6000, 0x90b2, + 0x0016, 0x1a0c, 0x0db4, 0x0013, 0x006e, 0x0005, 0x9ede, 0xa644, + 0xa814, 0x9ede, 0xa8a2, 0xa1fa, 0x9ede, 0x9ede, 0xa5c6, 0xae46, + 0x9ede, 0x9ede, 0x9ede, 0x9ede, 0x9ede, 0x9ede, 0x080c, 0x0db4, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0db4, 0x0013, 0x006e, - 0x0005, 0x9ef1, 0xa64a, 0xa818, 0x9ef1, 0xa8a6, 0xa20d, 0x9ef1, - 0x9ef1, 0xa5cc, 0xae4a, 0x9ef1, 0x9ef1, 0x9ef1, 0x9ef1, 0x9ef1, - 0x9ef1, 0x080c, 0x0db4, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, - 0x0db4, 0x0013, 0x006e, 0x0005, 0x9f0c, 0xb51e, 0x9f0c, 0x9f0c, - 0x9f0c, 0x9f0c, 0x9f0c, 0x9f0c, 0xb4c3, 0xb6a0, 0x9f0c, 0xb55f, - 0xb5de, 0xb55f, 0xb5de, 0x9f0c, 0x080c, 0x0db4, 0x6000, 0x9082, - 0x0016, 0x1a0c, 0x0db4, 0x6000, 0x0002, 0x9f28, 0xae91, 0xaf76, - 0xb0a6, 0xb251, 0x9f28, 0x9f28, 0x9f28, 0xae65, 0xb44f, 0xb452, - 0x9f28, 0x9f28, 0x9f28, 0x9f28, 0xb481, 0x9f28, 0x9f28, 0x9f28, - 0x080c, 0x0db4, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0db4, - 0x0013, 0x006e, 0x0005, 0x9f43, 0x9f43, 0x9f86, 0xa025, 0xa0ba, - 0x9f43, 0x9f43, 0x9f43, 0x9f45, 0x9f43, 0x9f43, 0x9f43, 0x9f43, - 0x9f43, 0x9f43, 0x9f43, 0x080c, 0x0db4, 0x9186, 0x004c, 0x0588, - 0x9186, 0x0003, 0x190c, 0x0db4, 0x0096, 0x601c, 0xc0ed, 0x601e, - 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa87c, 0x9084, 0xa000, - 0xc0b5, 0xa87e, 0xa8ac, 0xa846, 0xa8b0, 0xa84a, 0x9006, 0xa836, - 0xa83a, 0xa884, 0x9092, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, - 0x8013, 0x8213, 0x9210, 0x621a, 0x009e, 0x2c10, 0x080c, 0x1a5e, - 0x080c, 0x843f, 0x0126, 0x2091, 0x8000, 0x080c, 0x8a4a, 0x012e, - 0x0005, 0x6010, 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, - 0xa0dc, 0x080c, 0xc244, 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, - 0x00f6, 0x2079, 0x1800, 0x7a8c, 0x6014, 0x2048, 0xa87c, 0xd0ec, - 0x1110, 0x9290, 0x0018, 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, - 0x1140, 0xa8dc, 0x921a, 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, - 0x0028, 0xa87b, 0x0015, 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, - 0x0000, 0xaa02, 0x0006, 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, - 0x00f6, 0x2400, 0x9005, 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, - 0x1118, 0x2001, 0x0001, 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, - 0x2001, 0x0001, 0x002a, 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, - 0x9fed, 0x9fed, 0x9fe8, 0x9feb, 0x9fed, 0x9fe5, 0x9fd8, 0x9fd8, - 0x9fd8, 0x9fd8, 0x9fd8, 0x9fd8, 0x9fd8, 0x9fd8, 0x9fd8, 0x9fd8, - 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, - 0x00fe, 0x009e, 0x00de, 0x080c, 0x0db4, 0x080c, 0xaa89, 0x0028, - 0x080c, 0xabac, 0x0010, 0x080c, 0xac9b, 0x00fe, 0x00ee, 0x00de, - 0x00ce, 0x002e, 0x001e, 0x2c00, 0xa896, 0x000e, 0x080c, 0xa19a, - 0x0530, 0xa804, 0xa80e, 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, - 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, - 0xaacc, 0xabd0, 0xacd4, 0xadd8, 0x2031, 0x0000, 0x2041, 0x1249, - 0x080c, 0xa345, 0x0160, 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, - 0x00de, 0x0005, 0x00fe, 0x009e, 0x00de, 0x0804, 0x9e42, 0x2001, - 0x002c, 0x900e, 0x080c, 0xa200, 0x0c70, 0x91b6, 0x0015, 0x0170, - 0x91b6, 0x0016, 0x0158, 0x91b2, 0x0047, 0x0a0c, 0x0db4, 0x91b2, - 0x0050, 0x1a0c, 0x0db4, 0x9182, 0x0047, 0x00ca, 0x2001, 0x0109, - 0x2004, 0xd08c, 0x0198, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, - 0x0026, 0x080c, 0x8393, 0x002e, 0x001e, 0x000e, 0x012e, 0xa001, - 0x6000, 0x9086, 0x0002, 0x1110, 0x0804, 0x9f86, 0x0005, 0xa058, - 0xa058, 0xa05a, 0xa090, 0xa058, 0xa058, 0xa058, 0xa058, 0xa0a3, - 0x080c, 0x0db4, 0x00d6, 0x0016, 0x0096, 0x080c, 0x891d, 0x080c, - 0x8a4a, 0x6003, 0x0004, 0x6114, 0x2148, 0xa87c, 0xd0fc, 0x01c0, - 0xa878, 0xc0fc, 0x9005, 0x1158, 0xa894, 0x9005, 0x0140, 0x2001, - 0x0000, 0x900e, 0x080c, 0xa200, 0x080c, 0x9e42, 0x00a8, 0x6003, - 0x0002, 0xa8a4, 0xa9a8, 0x9105, 0x1178, 0xa8ae, 0xa8b2, 0x0c78, - 0xa87f, 0x0020, 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, 0xa8b2, - 0xa8c7, 0x0000, 0xa8cb, 0x0000, 0x009e, 0x001e, 0x00de, 0x0005, - 0x080c, 0x891d, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xbb2c, - 0x0120, 0xa87b, 0x0006, 0x080c, 0x6891, 0x009e, 0x00de, 0x080c, - 0x9e42, 0x0804, 0x8a4a, 0x080c, 0x891d, 0x080c, 0x2fdc, 0x080c, - 0xc241, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xbb2c, 0x0120, - 0xa87b, 0x0029, 0x080c, 0x6891, 0x009e, 0x00de, 0x080c, 0x9e42, - 0x0804, 0x8a4a, 0x9182, 0x0047, 0x0002, 0xa0ca, 0xa0cc, 0xa0ca, - 0xa0ca, 0xa0ca, 0xa0ca, 0xa0ca, 0xa0ca, 0xa0ca, 0xa0ca, 0xa0ca, - 0xa0ca, 0xa0cc, 0x080c, 0x0db4, 0x00d6, 0x0096, 0x080c, 0x1511, - 0x6114, 0x2148, 0xa87b, 0x0000, 0xa883, 0x0000, 0x080c, 0x6891, - 0x009e, 0x00de, 0x0804, 0x9e42, 0x0026, 0x0036, 0x0056, 0x0066, - 0x0096, 0x00a6, 0x00f6, 0x0006, 0x080c, 0x0feb, 0x000e, 0x090c, - 0x0db4, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, - 0x20a9, 0x0020, 0x4104, 0xa87a, 0x2079, 0x1800, 0x798c, 0x9188, - 0x0018, 0x918c, 0x0fff, 0xa972, 0xac76, 0x2950, 0x00a6, 0x2001, - 0x0205, 0x2003, 0x0000, 0x901e, 0x2029, 0x0001, 0x9182, 0x0034, - 0x1228, 0x2011, 0x001f, 0x080c, 0xb725, 0x04c0, 0x2130, 0x2009, - 0x0034, 0x2011, 0x001f, 0x080c, 0xb725, 0x96b2, 0x0034, 0xb004, - 0x904d, 0x0110, 0x080c, 0x0f9d, 0x080c, 0x0feb, 0x01d0, 0x8528, - 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, - 0x1230, 0x2608, 0x2011, 0x001b, 0x080c, 0xb725, 0x00b8, 0x96b2, - 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, 0x080c, 0xb725, - 0x0c18, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, - 0x0050, 0xb566, 0xb070, 0xc0fd, 0xb072, 0x0048, 0x2001, 0x0205, - 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, 0x2a48, - 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x6891, 0x000e, 0x2048, - 0x9005, 0x1db0, 0x00fe, 0x00ae, 0x009e, 0x006e, 0x005e, 0x003e, - 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0096, 0x0006, 0x080c, 0x0feb, - 0x000e, 0x090c, 0x0db4, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, - 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, 0xaa66, 0xa87a, 0x2079, - 0x1800, 0x798c, 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, - 0x2009, 0x001a, 0x21a8, 0x810b, 0xa972, 0xac76, 0x2e98, 0xa85c, - 0x9080, 0x001f, 0x20a0, 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, - 0x2102, 0x4003, 0x2003, 0x0000, 0x080c, 0x6891, 0x009e, 0x00fe, - 0x00de, 0x0005, 0x0016, 0x00d6, 0x00f6, 0x0096, 0x0016, 0x2001, - 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x001e, 0x2079, 0x0200, - 0x2e98, 0xa87c, 0xd0ec, 0x0118, 0x9e80, 0x000c, 0x2098, 0x2021, - 0x003e, 0x901e, 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, 0x2018, - 0x9486, 0x003e, 0x1170, 0x0096, 0x080c, 0x0feb, 0x2900, 0x009e, - 0x05c0, 0xa806, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, - 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, 0x9102, - 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, 0x1228, - 0x2400, 0x9202, 0x2410, 0x9318, 0x9006, 0x2020, 0x22a8, 0xa800, - 0x9200, 0xa802, 0x20e1, 0x0000, 0x4003, 0x83ff, 0x0180, 0x3300, - 0x9086, 0x0280, 0x1130, 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, - 0x2e98, 0x2310, 0x84ff, 0x0904, 0xa1af, 0x0804, 0xa1b1, 0x9085, - 0x0001, 0x7817, 0x0000, 0x009e, 0x00fe, 0x00de, 0x001e, 0x0005, - 0x00d6, 0x0036, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x080c, - 0x6884, 0x009e, 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, - 0x080c, 0x9e42, 0x0030, 0x91b6, 0x0016, 0x190c, 0x0db4, 0x080c, - 0x9e42, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, - 0x0096, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x20a0, 0x009e, 0x4003, - 0x0136, 0x9080, 0x001b, 0x20a0, 0x2011, 0x0006, 0x20a9, 0x0001, - 0x3418, 0x8318, 0x23a0, 0x4003, 0x3318, 0x8318, 0x2398, 0x8211, - 0x1db8, 0x2011, 0x0006, 0x013e, 0x20a0, 0x3318, 0x8318, 0x2398, - 0x4003, 0x3418, 0x8318, 0x23a0, 0x8211, 0x1db8, 0x0096, 0x080c, - 0xbb2c, 0x0130, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0x009e, 0x0804, 0x9e42, 0x0096, 0x00d6, 0x0036, 0x7330, 0x9386, - 0x0200, 0x11a8, 0x6010, 0x00b6, 0x2058, 0xb8bf, 0x0000, 0x00be, - 0x6014, 0x9005, 0x0130, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xab32, 0x080c, 0x9e42, 0x003e, 0x00de, 0x009e, 0x0005, 0x0011, - 0x1d48, 0x0cc8, 0x0006, 0x0016, 0x080c, 0xc22c, 0x0188, 0x6014, - 0x9005, 0x1170, 0x600b, 0x0003, 0x601b, 0x0000, 0x6043, 0x0000, - 0x2009, 0x0022, 0x080c, 0xa622, 0x9006, 0x001e, 0x000e, 0x0005, - 0x9085, 0x0001, 0x0cd0, 0x0096, 0x0016, 0x20a9, 0x0014, 0x9e80, - 0x000c, 0x20e1, 0x0000, 0x2098, 0x6014, 0x2048, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, - 0x0001, 0x2099, 0x0260, 0x20a9, 0x0016, 0x4003, 0x20a9, 0x000a, - 0xa804, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, - 0x4003, 0x2001, 0x0205, 0x2003, 0x0002, 0x2099, 0x0260, 0x20a9, - 0x0020, 0x4003, 0x2003, 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, - 0xa867, 0x0103, 0x080c, 0x9e42, 0x001e, 0x009e, 0x0005, 0x0096, - 0x0016, 0x900e, 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, - 0x00ff, 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, - 0x9108, 0x810b, 0x2011, 0x0002, 0x2019, 0x000c, 0x6014, 0x2048, - 0x080c, 0xb725, 0x080c, 0xbb2c, 0x0140, 0x6014, 0x2048, 0xa807, - 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0x9e42, 0x001e, - 0x009e, 0x0005, 0x0016, 0x0096, 0x7030, 0x9086, 0x0100, 0x1118, - 0x2009, 0x0004, 0x0010, 0x7034, 0x800c, 0x810b, 0x2011, 0x000c, - 0x2019, 0x000c, 0x6014, 0x2048, 0xa804, 0x0096, 0x9005, 0x0108, - 0x2048, 0x080c, 0xb725, 0x009e, 0x080c, 0xbb2c, 0x0148, 0xa804, - 0x9005, 0x1158, 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, - 0x080c, 0x9e42, 0x009e, 0x001e, 0x0005, 0x0086, 0x2040, 0xa030, - 0x8007, 0x9086, 0x0100, 0x1118, 0x080c, 0xa7d1, 0x00e0, 0xa034, - 0x8007, 0x800c, 0x8806, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, - 0xffc0, 0x9080, 0x000c, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, - 0x4000, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, - 0x122f, 0x0019, 0x0d08, 0x008e, 0x0898, 0x0096, 0x0006, 0x080c, - 0x0feb, 0x000e, 0x01b0, 0xa8ab, 0x0dcb, 0xa876, 0x000e, 0xa8a2, - 0x0006, 0xae6a, 0x2800, 0xa89e, 0xa97a, 0xaf72, 0xaa8e, 0xab92, - 0xac96, 0xad9a, 0x0086, 0x2940, 0x080c, 0x10d5, 0x008e, 0x9085, - 0x0001, 0x009e, 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, - 0x00ff, 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1520, - 0x700c, 0x6210, 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x11e0, - 0x6043, 0x0000, 0x2c68, 0x0016, 0x2009, 0x0035, 0x080c, 0xc1a4, - 0x001e, 0x1158, 0x622c, 0x2268, 0x2071, 0x026c, 0x6b20, 0x9386, - 0x0003, 0x0130, 0x9386, 0x0006, 0x0128, 0x080c, 0x9e42, 0x0020, - 0x0039, 0x0010, 0x080c, 0xa457, 0x002e, 0x00de, 0x00ee, 0x0005, - 0x0096, 0x6814, 0x2048, 0x9186, 0x0015, 0x0904, 0xa43f, 0x918e, - 0x0016, 0x1904, 0xa455, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, - 0x0120, 0x9186, 0x0300, 0x1904, 0xa419, 0x89ff, 0x1138, 0x6800, - 0x9086, 0x000f, 0x0904, 0xa3fc, 0x0804, 0xa453, 0x6808, 0x9086, - 0xffff, 0x1904, 0xa441, 0xa87c, 0x9084, 0x0060, 0x9086, 0x0020, - 0x1128, 0xa83c, 0xa940, 0x9105, 0x1904, 0xa441, 0x6824, 0xd0b4, - 0x1904, 0xa441, 0x080c, 0xbd15, 0x685c, 0xa882, 0xa87c, 0xc0dc, - 0xc0f4, 0xc0d4, 0xa87e, 0x0026, 0x900e, 0x6a18, 0x2001, 0x000a, - 0x080c, 0x8259, 0xa884, 0x920a, 0x0208, 0x8011, 0xaa86, 0x82ff, - 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xb84f, 0x00ce, 0x0804, - 0xa453, 0x00c6, 0xa868, 0xd0fc, 0x1118, 0x080c, 0x5d56, 0x0010, - 0x080c, 0x60fd, 0x00ce, 0x1904, 0xa441, 0x00c6, 0x2d60, 0x080c, - 0x9e42, 0x00ce, 0x0804, 0xa453, 0x00c6, 0x080c, 0x9e8f, 0x0198, - 0x6017, 0x0000, 0x6810, 0x6012, 0x080c, 0xbfa6, 0x6023, 0x0003, - 0x6904, 0x00c6, 0x2d60, 0x080c, 0x9e42, 0x00ce, 0x080c, 0x9ebc, - 0x00ce, 0x0804, 0xa453, 0x2001, 0x1958, 0x2004, 0x6842, 0x00ce, - 0x04d0, 0x7008, 0x9086, 0x000b, 0x11c8, 0x6010, 0x00b6, 0x2058, - 0xb900, 0xc1bc, 0xb902, 0x00be, 0x00c6, 0x2d60, 0xa87b, 0x0003, - 0x080c, 0xc1e6, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, - 0x080c, 0x83da, 0x080c, 0x896d, 0x00ce, 0x00e8, 0x700c, 0x9086, - 0x2a00, 0x1138, 0x2001, 0x1958, 0x2004, 0x6842, 0x00a0, 0x0479, - 0x00a0, 0x89ff, 0x090c, 0x0db4, 0x00c6, 0x00d6, 0x2d60, 0xa867, - 0x0103, 0xa87b, 0x0003, 0x080c, 0x66ac, 0x080c, 0xbd15, 0x080c, - 0x9e72, 0x00de, 0x00ce, 0x080c, 0x9e42, 0x009e, 0x0005, 0x9186, - 0x0015, 0x1128, 0x2001, 0x1958, 0x2004, 0x6842, 0x0068, 0x918e, - 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, 0xd7a8, 0x080c, - 0x81ed, 0x080c, 0x9e42, 0x00ce, 0x080c, 0x9e42, 0x0005, 0x0026, - 0x0036, 0x0046, 0x7228, 0xacb0, 0xabac, 0xd2f4, 0x0130, 0x2001, - 0x1958, 0x2004, 0x6842, 0x0804, 0xa4d1, 0x00c6, 0x2d60, 0x080c, - 0xb750, 0x00ce, 0x6804, 0x9086, 0x0050, 0x1168, 0x00c6, 0x2d00, - 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, 0x83da, 0x080c, - 0x896d, 0x00ce, 0x04f0, 0x6800, 0x9086, 0x000f, 0x01a8, 0x89ff, - 0x090c, 0x0db4, 0x6800, 0x9086, 0x0004, 0x1190, 0xa87c, 0xd0ac, - 0x0178, 0xa843, 0x0fff, 0xa83f, 0x0fff, 0xa880, 0xc0fc, 0xa882, - 0x2001, 0x0001, 0x6832, 0x0400, 0x2001, 0x0007, 0x6832, 0x00e0, - 0xa87c, 0xd0b4, 0x1150, 0xd0ac, 0x0db8, 0x6824, 0xd0f4, 0x1d48, - 0xa838, 0xa934, 0x9105, 0x0d80, 0x0c20, 0xd2ec, 0x1d68, 0x7024, - 0x9306, 0x1118, 0x7020, 0x9406, 0x0d38, 0x7020, 0x683e, 0x7024, - 0x683a, 0x2001, 0x0005, 0x6832, 0x080c, 0xbe9d, 0x080c, 0x896d, - 0x0010, 0x080c, 0x9e42, 0x004e, 0x003e, 0x002e, 0x0005, 0x00e6, - 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, - 0xba10, 0x00be, 0x9206, 0x1904, 0xa53c, 0x700c, 0x6210, 0x00b6, - 0x2258, 0xba14, 0x00be, 0x9206, 0x1904, 0xa53c, 0x6038, 0x2068, - 0x6824, 0xc0dc, 0x6826, 0x6a20, 0x9286, 0x0007, 0x0904, 0xa53c, - 0x9286, 0x0002, 0x0904, 0xa53c, 0x9286, 0x0000, 0x05e8, 0x6808, - 0x633c, 0x9306, 0x15c8, 0x2071, 0x026c, 0x9186, 0x0015, 0x0570, - 0x918e, 0x0016, 0x1100, 0x00c6, 0x6038, 0x2060, 0x6104, 0x9186, - 0x004b, 0x01c0, 0x9186, 0x004c, 0x01a8, 0x9186, 0x004d, 0x0190, - 0x9186, 0x004e, 0x0178, 0x9186, 0x0052, 0x0160, 0x6014, 0x0096, - 0x2048, 0x080c, 0xbb2c, 0x090c, 0x0db4, 0xa87b, 0x0003, 0x009e, - 0x080c, 0xc1e6, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, - 0x080c, 0x83da, 0x080c, 0x896d, 0x00ce, 0x0030, 0x6038, 0x2070, - 0x2001, 0x1958, 0x2004, 0x7042, 0x080c, 0x9e42, 0x002e, 0x00de, - 0x00ee, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x6014, 0x2048, 0x6010, - 0x2058, 0x91b6, 0x0015, 0x0130, 0xba08, 0xbb0c, 0xbc00, 0xc48c, - 0xbc02, 0x0460, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, - 0x0010, 0x2019, 0x000a, 0x20a9, 0x0004, 0x080c, 0xae20, 0x002e, - 0x003e, 0x015e, 0x009e, 0x1904, 0xa5ab, 0x0096, 0x0156, 0x0036, - 0x0026, 0x2b48, 0x9e90, 0x0014, 0x2019, 0x0006, 0x20a9, 0x0004, - 0x080c, 0xae20, 0x002e, 0x003e, 0x015e, 0x009e, 0x15a0, 0x7238, - 0xba0a, 0x733c, 0xbb0e, 0xbc00, 0xc48d, 0xbc02, 0xa804, 0x9005, - 0x1128, 0x00fe, 0x009e, 0x00be, 0x0804, 0xa246, 0x0096, 0x2048, - 0xaa12, 0xab16, 0xac0a, 0x009e, 0x8006, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, - 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x122f, 0x080c, - 0xa345, 0x0130, 0x00fe, 0x009e, 0x080c, 0x9e42, 0x00be, 0x0005, - 0x080c, 0xa7d1, 0x0cb8, 0x2b78, 0x00f6, 0x080c, 0x2fdc, 0x080c, - 0xc241, 0x00fe, 0x00c6, 0x080c, 0x9dec, 0x2f00, 0x6012, 0x6017, - 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, - 0x0007, 0x080c, 0x6198, 0x080c, 0x61c4, 0x080c, 0x8422, 0x080c, - 0x896d, 0x00ce, 0x0804, 0xa57e, 0x2100, 0x91b2, 0x0053, 0x1a0c, - 0x0db4, 0x91b2, 0x0040, 0x1a04, 0xa634, 0x0002, 0xa622, 0xa622, - 0xa618, 0xa622, 0xa622, 0xa622, 0xa616, 0xa616, 0xa616, 0xa616, - 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, - 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, - 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa622, 0xa616, 0xa622, - 0xa622, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa618, 0xa616, - 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, - 0xa622, 0xa622, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, 0xa616, - 0xa616, 0xa616, 0xa616, 0xa622, 0xa616, 0xa616, 0x080c, 0x0db4, - 0x0066, 0x00b6, 0x6610, 0x2658, 0xb8bc, 0xc08c, 0xb8be, 0x00be, - 0x006e, 0x0000, 0x6003, 0x0001, 0x6106, 0x9186, 0x0032, 0x0118, - 0x080c, 0x8422, 0x0010, 0x080c, 0x83da, 0x0126, 0x2091, 0x8000, - 0x080c, 0x896d, 0x012e, 0x0005, 0x2600, 0x0002, 0xa648, 0xa648, - 0xa648, 0xa622, 0xa622, 0xa648, 0xa648, 0xa648, 0xa648, 0xa622, - 0xa648, 0xa622, 0xa648, 0xa622, 0xa648, 0xa648, 0xa648, 0xa648, - 0x080c, 0x0db4, 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0db4, 0x91b6, - 0x0013, 0x0904, 0xa70c, 0x91b6, 0x0027, 0x1904, 0xa6c7, 0x080c, - 0x8861, 0x6004, 0x080c, 0xbd21, 0x01b0, 0x080c, 0xbd32, 0x01a8, - 0x908e, 0x0021, 0x0904, 0xa6c4, 0x908e, 0x0022, 0x1130, 0x080c, - 0xa272, 0x0904, 0xa6c0, 0x0804, 0xa6c1, 0x908e, 0x003d, 0x0904, - 0xa6c4, 0x0804, 0xa6ba, 0x080c, 0x3005, 0x2001, 0x0007, 0x080c, - 0x6198, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, 0xa7d1, - 0x9186, 0x007e, 0x1148, 0x2001, 0x1836, 0x2014, 0xc285, 0x080c, - 0x6f9b, 0x1108, 0xc2ad, 0x2202, 0x0036, 0x0026, 0x2019, 0x0028, - 0x2110, 0x080c, 0xd803, 0x002e, 0x003e, 0x0016, 0x0026, 0x0036, - 0x2110, 0x2019, 0x0028, 0x080c, 0x8564, 0x0076, 0x903e, 0x080c, - 0x8452, 0x6010, 0x00b6, 0x905d, 0x0100, 0x00be, 0x2c08, 0x080c, - 0xd2bc, 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, 0xc241, 0x0016, - 0x080c, 0xbf9e, 0x080c, 0x9e42, 0x001e, 0x080c, 0x30d7, 0x080c, - 0x896d, 0x0030, 0x080c, 0xbf9e, 0x080c, 0x9e42, 0x080c, 0x896d, - 0x0005, 0x080c, 0xa7d1, 0x0cb0, 0x080c, 0xa80d, 0x0c98, 0x9186, - 0x0014, 0x1db0, 0x080c, 0x8861, 0x6004, 0x908e, 0x0022, 0x1118, - 0x080c, 0xa272, 0x0d68, 0x080c, 0x2fdc, 0x080c, 0xc241, 0x080c, - 0xbd21, 0x1190, 0x080c, 0x3005, 0x6010, 0x00b6, 0x2058, 0xb9a0, - 0x00be, 0x080c, 0xa7d1, 0x9186, 0x007e, 0x1128, 0x2001, 0x1836, - 0x200c, 0xc185, 0x2102, 0x0870, 0x080c, 0xbd32, 0x1118, 0x080c, - 0xa7d1, 0x0840, 0x6004, 0x908e, 0x0032, 0x1160, 0x00e6, 0x00f6, - 0x2071, 0x1894, 0x2079, 0x0000, 0x080c, 0x336b, 0x00fe, 0x00ee, - 0x0804, 0xa6ba, 0x6004, 0x908e, 0x0021, 0x0d48, 0x908e, 0x0022, - 0x090c, 0xa7d1, 0x0804, 0xa6ba, 0x90b2, 0x0040, 0x1a04, 0xa7ba, - 0x2008, 0x0002, 0xa754, 0xa755, 0xa758, 0xa75b, 0xa75e, 0xa761, - 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, - 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, - 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, 0xa752, - 0xa764, 0xa76f, 0xa752, 0xa771, 0xa76f, 0xa752, 0xa752, 0xa752, - 0xa752, 0xa752, 0xa76f, 0xa76f, 0xa752, 0xa752, 0xa752, 0xa752, - 0xa752, 0xa752, 0xa752, 0xa752, 0xa7a1, 0xa76f, 0xa752, 0xa76b, - 0xa752, 0xa752, 0xa752, 0xa76c, 0xa752, 0xa752, 0xa752, 0xa76f, - 0xa798, 0xa752, 0x080c, 0x0db4, 0x00d0, 0x2001, 0x000b, 0x0410, - 0x2001, 0x0003, 0x00f8, 0x2001, 0x0005, 0x00e0, 0x2001, 0x0001, - 0x00c8, 0x2001, 0x0009, 0x00b0, 0x080c, 0x8861, 0x6003, 0x0005, - 0x080c, 0x896d, 0x0070, 0x0018, 0x0010, 0x080c, 0x6198, 0x0804, - 0xa7b2, 0x080c, 0x8861, 0x080c, 0xc244, 0x6003, 0x0004, 0x080c, - 0x896d, 0x0005, 0x080c, 0x6198, 0x080c, 0x8861, 0x6003, 0x0002, - 0x0036, 0x2019, 0x185e, 0x2304, 0x9084, 0xff00, 0x1120, 0x2001, - 0x1956, 0x201c, 0x0040, 0x8007, 0x909a, 0x0004, 0x0ec0, 0x8003, - 0x801b, 0x831b, 0x9318, 0x631a, 0x003e, 0x080c, 0x896d, 0x0c08, - 0x080c, 0x8861, 0x080c, 0xbf9e, 0x080c, 0x9e42, 0x080c, 0x896d, - 0x08c0, 0x00e6, 0x00f6, 0x2071, 0x1894, 0x2079, 0x0000, 0x080c, - 0x336b, 0x00fe, 0x00ee, 0x080c, 0x8861, 0x080c, 0x9e42, 0x080c, - 0x896d, 0x0838, 0x080c, 0x8861, 0x6003, 0x0002, 0x080c, 0xc244, - 0x0804, 0x896d, 0x2600, 0x2008, 0x0002, 0xa7cf, 0xa7cf, 0xa7cf, - 0xa7b2, 0xa7b2, 0xa7cf, 0xa7cf, 0xa7cf, 0xa7cf, 0xa7b2, 0xa7cf, - 0xa7b2, 0xa7cf, 0xa7b2, 0xa7cf, 0xa7cf, 0xa7cf, 0xa7cf, 0x080c, - 0x0db4, 0x00e6, 0x0096, 0x0026, 0x0016, 0x080c, 0xbb2c, 0x0568, - 0x6014, 0x2048, 0xa864, 0x9086, 0x0139, 0x11a8, 0xa894, 0x9086, - 0x0056, 0x1148, 0x080c, 0x5138, 0x0130, 0x2001, 0x0000, 0x900e, - 0x2011, 0x4000, 0x0028, 0x2001, 0x0030, 0x900e, 0x2011, 0x4005, - 0x080c, 0xc10b, 0x0090, 0xa868, 0xd0fc, 0x0178, 0xa807, 0x0000, - 0x0016, 0x6004, 0x908e, 0x0021, 0x0168, 0x908e, 0x003d, 0x0150, - 0x001e, 0xa867, 0x0103, 0xa833, 0x0100, 0x001e, 0x002e, 0x009e, - 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc0, 0x0096, 0x6014, 0x2048, - 0xa800, 0x2048, 0xa867, 0x0103, 0xa823, 0x8001, 0x009e, 0x0005, - 0x00b6, 0x6610, 0x2658, 0xb804, 0x9084, 0x00ff, 0x90b2, 0x000c, - 0x1a0c, 0x0db4, 0x6604, 0x96b6, 0x004d, 0x1120, 0x080c, 0xc02a, - 0x0804, 0xa895, 0x6604, 0x96b6, 0x0043, 0x1120, 0x080c, 0xc073, - 0x0804, 0xa895, 0x6604, 0x96b6, 0x004b, 0x1120, 0x080c, 0xc09f, - 0x0804, 0xa895, 0x6604, 0x96b6, 0x0033, 0x1120, 0x080c, 0xbfc0, - 0x0804, 0xa895, 0x6604, 0x96b6, 0x0028, 0x1120, 0x080c, 0xbd70, - 0x0804, 0xa895, 0x6604, 0x96b6, 0x0029, 0x1120, 0x080c, 0xbdb1, - 0x0804, 0xa895, 0x6604, 0x96b6, 0x001f, 0x1118, 0x080c, 0xa21a, - 0x04e0, 0x6604, 0x96b6, 0x0000, 0x1118, 0x080c, 0xa542, 0x04a8, - 0x6604, 0x96b6, 0x0022, 0x1118, 0x080c, 0xa253, 0x0470, 0x6604, - 0x96b6, 0x0035, 0x1118, 0x080c, 0xa363, 0x0438, 0x6604, 0x96b6, - 0x0039, 0x1118, 0x080c, 0xa4d7, 0x0400, 0x6604, 0x96b6, 0x003d, - 0x1118, 0x080c, 0xa28b, 0x00c8, 0x6604, 0x96b6, 0x0044, 0x1118, - 0x080c, 0xa2c7, 0x0090, 0x6604, 0x96b6, 0x0049, 0x1118, 0x080c, - 0xa2f2, 0x0058, 0x91b6, 0x0015, 0x1110, 0x0063, 0x0030, 0x91b6, - 0x0016, 0x1128, 0x00be, 0x0804, 0xab55, 0x00be, 0x0005, 0x080c, - 0x9ed7, 0x0cd8, 0xa8b2, 0xa8b5, 0xa8b2, 0xa8f9, 0xa8b2, 0xaa89, - 0xab62, 0xa8b2, 0xa8b2, 0xab2f, 0xa8b2, 0xab43, 0x0096, 0x080c, - 0x1511, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0x009e, - 0x0804, 0x9e42, 0xa001, 0xa001, 0x0005, 0x00e6, 0x2071, 0x1800, - 0x708c, 0x9086, 0x0074, 0x1540, 0x080c, 0xd28d, 0x11b0, 0x6010, - 0x00b6, 0x2058, 0x7030, 0xd08c, 0x0128, 0xb800, 0xd0bc, 0x0110, - 0xc0c5, 0xb802, 0x00e9, 0x00be, 0x2001, 0x0006, 0x080c, 0x6198, - 0x080c, 0x3005, 0x080c, 0x9e42, 0x0088, 0x2001, 0x000a, 0x080c, - 0x6198, 0x080c, 0x3005, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, - 0x8422, 0x080c, 0x896d, 0x0010, 0x080c, 0xaa74, 0x00ee, 0x0005, - 0x00d6, 0xb800, 0xd084, 0x0158, 0x9006, 0x080c, 0x6184, 0x2069, - 0x1853, 0x6804, 0x0020, 0x2001, 0x0006, 0x080c, 0x61c4, 0x00de, - 0x0005, 0x00b6, 0x0096, 0x00d6, 0x2011, 0x1823, 0x2204, 0x9086, - 0x0074, 0x1904, 0xaa4b, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x007e, - 0x1120, 0x080c, 0xaca6, 0x0804, 0xa9b0, 0x00d6, 0x080c, 0x6f9b, - 0x0198, 0x0026, 0x2011, 0x0010, 0x080c, 0x658f, 0x002e, 0x05c8, - 0x080c, 0x53a3, 0x1540, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, - 0x0103, 0xa833, 0xdead, 0x00f8, 0x0026, 0x2011, 0x8008, 0x080c, - 0x658f, 0x002e, 0x0530, 0x6014, 0x2048, 0xa864, 0x9084, 0x00ff, - 0x9086, 0x0039, 0x1140, 0x2001, 0x0030, 0x900e, 0x2011, 0x4009, - 0x080c, 0xc10b, 0x0040, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, - 0x0103, 0xa833, 0xdead, 0x6010, 0x2058, 0xb9a0, 0x0016, 0x080c, - 0x3005, 0x080c, 0x9e42, 0x001e, 0x080c, 0x30d7, 0x00de, 0x0804, - 0xaa4e, 0x00de, 0x080c, 0xac9b, 0x6010, 0x2058, 0xbaa0, 0x9286, - 0x0080, 0x1510, 0x6014, 0x9005, 0x01a8, 0x2048, 0xa864, 0x9084, + 0x0005, 0x9ef9, 0xb51d, 0x9ef9, 0x9ef9, 0x9ef9, 0x9ef9, 0x9ef9, + 0x9ef9, 0xb4bf, 0xb69f, 0x9ef9, 0xb55e, 0xb5dd, 0xb55e, 0xb5dd, + 0x9ef9, 0x080c, 0x0db4, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0db4, + 0x6000, 0x0002, 0x9f15, 0xae8d, 0xaf72, 0xb0a2, 0xb24d, 0x9f15, + 0x9f15, 0x9f15, 0xae61, 0xb44b, 0xb44e, 0x9f15, 0x9f15, 0x9f15, + 0x9f15, 0xb47d, 0x9f15, 0x9f15, 0x9f15, 0x080c, 0x0db4, 0x0066, + 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0db4, 0x0013, 0x006e, 0x0005, + 0x9f30, 0x9f30, 0x9f73, 0xa012, 0xa0a7, 0x9f30, 0x9f30, 0x9f30, + 0x9f32, 0x9f30, 0x9f30, 0x9f30, 0x9f30, 0x9f30, 0x9f30, 0x9f30, + 0x080c, 0x0db4, 0x9186, 0x004c, 0x0588, 0x9186, 0x0003, 0x190c, + 0x0db4, 0x0096, 0x601c, 0xc0ed, 0x601e, 0x6003, 0x0003, 0x6106, + 0x6014, 0x2048, 0xa87c, 0x9084, 0xa000, 0xc0b5, 0xa87e, 0xa8ac, + 0xa846, 0xa8b0, 0xa84a, 0x9006, 0xa836, 0xa83a, 0xa884, 0x9092, + 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, + 0x621a, 0x009e, 0x2c10, 0x080c, 0x1a69, 0x080c, 0x845d, 0x0126, + 0x2091, 0x8000, 0x080c, 0x8a68, 0x012e, 0x0005, 0x6010, 0x00b6, + 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, 0xa0c9, 0x080c, 0xc253, + 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, 0x00f6, 0x2079, 0x1800, + 0x7a8c, 0x6014, 0x2048, 0xa87c, 0xd0ec, 0x1110, 0x9290, 0x0018, + 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, 0x1140, 0xa8dc, 0x921a, + 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, 0x0028, 0xa87b, 0x0015, + 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, 0x0000, 0xaa02, 0x0006, + 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2400, 0x9005, + 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, 0x1118, 0x2001, 0x0001, + 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, 0x2001, 0x0001, 0x002a, + 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, 0x9fda, 0x9fda, 0x9fd5, + 0x9fd8, 0x9fda, 0x9fd2, 0x9fc5, 0x9fc5, 0x9fc5, 0x9fc5, 0x9fc5, + 0x9fc5, 0x9fc5, 0x9fc5, 0x9fc5, 0x9fc5, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, 0x00fe, 0x009e, 0x00de, + 0x080c, 0x0db4, 0x080c, 0xaa85, 0x0028, 0x080c, 0xaba8, 0x0010, + 0x080c, 0xac97, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, + 0x2c00, 0xa896, 0x000e, 0x080c, 0xa187, 0x0530, 0xa804, 0xa80e, + 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, 0x8006, 0x8007, 0x90bc, + 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xaacc, 0xabd0, 0xacd4, + 0xadd8, 0x2031, 0x0000, 0x2041, 0x1249, 0x080c, 0xa332, 0x0160, + 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, 0x00de, 0x0005, 0x00fe, + 0x009e, 0x00de, 0x0804, 0x9e2f, 0x2001, 0x002c, 0x900e, 0x080c, + 0xa1ed, 0x0c70, 0x91b6, 0x0015, 0x0170, 0x91b6, 0x0016, 0x0158, + 0x91b2, 0x0047, 0x0a0c, 0x0db4, 0x91b2, 0x0050, 0x1a0c, 0x0db4, + 0x9182, 0x0047, 0x00ca, 0x2001, 0x0109, 0x2004, 0xd08c, 0x0198, + 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, 0x83b1, + 0x002e, 0x001e, 0x000e, 0x012e, 0xa001, 0x6000, 0x9086, 0x0002, + 0x1110, 0x0804, 0x9f73, 0x0005, 0xa045, 0xa045, 0xa047, 0xa07d, + 0xa045, 0xa045, 0xa045, 0xa045, 0xa090, 0x080c, 0x0db4, 0x00d6, + 0x0016, 0x0096, 0x080c, 0x893b, 0x080c, 0x8a68, 0x6003, 0x0004, + 0x6114, 0x2148, 0xa87c, 0xd0fc, 0x01c0, 0xa878, 0xc0fc, 0x9005, + 0x1158, 0xa894, 0x9005, 0x0140, 0x2001, 0x0000, 0x900e, 0x080c, + 0xa1ed, 0x080c, 0x9e2f, 0x00a8, 0x6003, 0x0002, 0xa8a4, 0xa9a8, + 0x9105, 0x1178, 0xa8ae, 0xa8b2, 0x0c78, 0xa87f, 0x0020, 0xa88c, + 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, 0xa8b2, 0xa8c7, 0x0000, 0xa8cb, + 0x0000, 0x009e, 0x001e, 0x00de, 0x0005, 0x080c, 0x893b, 0x00d6, + 0x0096, 0x6114, 0x2148, 0x080c, 0xbb3b, 0x0120, 0xa87b, 0x0006, + 0x080c, 0x68a0, 0x009e, 0x00de, 0x080c, 0x9e2f, 0x0804, 0x8a68, + 0x080c, 0x893b, 0x080c, 0x2fe7, 0x080c, 0xc250, 0x00d6, 0x0096, + 0x6114, 0x2148, 0x080c, 0xbb3b, 0x0120, 0xa87b, 0x0029, 0x080c, + 0x68a0, 0x009e, 0x00de, 0x080c, 0x9e2f, 0x0804, 0x8a68, 0x9182, + 0x0047, 0x0002, 0xa0b7, 0xa0b9, 0xa0b7, 0xa0b7, 0xa0b7, 0xa0b7, + 0xa0b7, 0xa0b7, 0xa0b7, 0xa0b7, 0xa0b7, 0xa0b7, 0xa0b9, 0x080c, + 0x0db4, 0x00d6, 0x0096, 0x080c, 0x1511, 0x6114, 0x2148, 0xa87b, + 0x0000, 0xa883, 0x0000, 0x080c, 0x68a0, 0x009e, 0x00de, 0x0804, + 0x9e2f, 0x0026, 0x0036, 0x0056, 0x0066, 0x0096, 0x00a6, 0x00f6, + 0x0006, 0x080c, 0x0feb, 0x000e, 0x090c, 0x0db4, 0xa960, 0x21e8, + 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, + 0xa87a, 0x2079, 0x1800, 0x798c, 0x9188, 0x0018, 0x918c, 0x0fff, + 0xa972, 0xac76, 0x2950, 0x00a6, 0x2001, 0x0205, 0x2003, 0x0000, + 0x901e, 0x2029, 0x0001, 0x9182, 0x0034, 0x1228, 0x2011, 0x001f, + 0x080c, 0xb724, 0x04c0, 0x2130, 0x2009, 0x0034, 0x2011, 0x001f, + 0x080c, 0xb724, 0x96b2, 0x0034, 0xb004, 0x904d, 0x0110, 0x080c, + 0x0f9d, 0x080c, 0x0feb, 0x01d0, 0x8528, 0xa867, 0x0110, 0xa86b, + 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, 0x1230, 0x2608, 0x2011, + 0x001b, 0x080c, 0xb724, 0x00b8, 0x96b2, 0x003c, 0x2009, 0x003c, + 0x2950, 0x2011, 0x001b, 0x080c, 0xb724, 0x0c18, 0x2001, 0x0205, + 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, 0xb070, + 0xc0fd, 0xb072, 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, + 0x852f, 0x95ad, 0x0050, 0xb566, 0x2a48, 0xa804, 0xa807, 0x0000, + 0x0006, 0x080c, 0x68a0, 0x000e, 0x2048, 0x9005, 0x1db0, 0x00fe, + 0x00ae, 0x009e, 0x006e, 0x005e, 0x003e, 0x002e, 0x0005, 0x00d6, + 0x00f6, 0x0096, 0x0006, 0x080c, 0x0feb, 0x000e, 0x090c, 0x0db4, + 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, 0x20a9, + 0x0020, 0x4104, 0xaa66, 0xa87a, 0x2079, 0x1800, 0x798c, 0x810c, + 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, 0x2009, 0x001a, 0x21a8, + 0x810b, 0xa972, 0xac76, 0x2e98, 0xa85c, 0x9080, 0x001f, 0x20a0, + 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x4003, 0x2003, + 0x0000, 0x080c, 0x68a0, 0x009e, 0x00fe, 0x00de, 0x0005, 0x0016, + 0x00d6, 0x00f6, 0x0096, 0x0016, 0x2001, 0x0205, 0x200c, 0x918d, + 0x0080, 0x2102, 0x001e, 0x2079, 0x0200, 0x2e98, 0xa87c, 0xd0ec, + 0x0118, 0x9e80, 0x000c, 0x2098, 0x2021, 0x003e, 0x901e, 0x9282, + 0x0020, 0x0218, 0x2011, 0x0020, 0x2018, 0x9486, 0x003e, 0x1170, + 0x0096, 0x080c, 0x0feb, 0x2900, 0x009e, 0x05c0, 0xa806, 0x2048, + 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x3300, 0x908e, + 0x0260, 0x0140, 0x2009, 0x0280, 0x9102, 0x920a, 0x0218, 0x2010, + 0x2100, 0x9318, 0x2200, 0x9402, 0x1228, 0x2400, 0x9202, 0x2410, + 0x9318, 0x9006, 0x2020, 0x22a8, 0xa800, 0x9200, 0xa802, 0x20e1, + 0x0000, 0x4003, 0x83ff, 0x0180, 0x3300, 0x9086, 0x0280, 0x1130, + 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, 0x2e98, 0x2310, 0x84ff, + 0x0904, 0xa19c, 0x0804, 0xa19e, 0x9085, 0x0001, 0x7817, 0x0000, + 0x009e, 0x00fe, 0x00de, 0x001e, 0x0005, 0x00d6, 0x0036, 0x0096, + 0x6314, 0x2348, 0xa87a, 0xa982, 0x080c, 0x6893, 0x009e, 0x003e, + 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, 0x080c, 0x9e2f, 0x0030, + 0x91b6, 0x0016, 0x190c, 0x0db4, 0x080c, 0x9e2f, 0x0005, 0x20a9, + 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, 0x0096, 0x2048, 0xa860, + 0x20e8, 0xa85c, 0x20a0, 0x009e, 0x4003, 0x0136, 0x9080, 0x001b, + 0x20a0, 0x2011, 0x0006, 0x20a9, 0x0001, 0x3418, 0x8318, 0x23a0, + 0x4003, 0x3318, 0x8318, 0x2398, 0x8211, 0x1db8, 0x2011, 0x0006, + 0x013e, 0x20a0, 0x3318, 0x8318, 0x2398, 0x4003, 0x3418, 0x8318, + 0x23a0, 0x8211, 0x1db8, 0x0096, 0x080c, 0xbb3b, 0x0130, 0x6014, + 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0x009e, 0x0804, 0x9e2f, + 0x0096, 0x00d6, 0x0036, 0x7330, 0x9386, 0x0200, 0x11a8, 0x6010, + 0x00b6, 0x2058, 0xb8bf, 0x0000, 0x00be, 0x6014, 0x9005, 0x0130, + 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0xab32, 0x080c, 0x9e2f, + 0x003e, 0x00de, 0x009e, 0x0005, 0x0011, 0x1d48, 0x0cc8, 0x0006, + 0x0016, 0x080c, 0xc23b, 0x0188, 0x6014, 0x9005, 0x1170, 0x600b, + 0x0003, 0x601b, 0x0000, 0x6043, 0x0000, 0x2009, 0x0022, 0x080c, + 0xa61c, 0x9006, 0x001e, 0x000e, 0x0005, 0x9085, 0x0001, 0x0cd0, + 0x0096, 0x0016, 0x20a9, 0x0014, 0x9e80, 0x000c, 0x20e1, 0x0000, + 0x2098, 0x6014, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, + 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, 0x0001, 0x2099, 0x0260, + 0x20a9, 0x0016, 0x4003, 0x20a9, 0x000a, 0xa804, 0x2048, 0xa860, + 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, + 0x2003, 0x0002, 0x2099, 0x0260, 0x20a9, 0x0020, 0x4003, 0x2003, + 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0x080c, + 0x9e2f, 0x001e, 0x009e, 0x0005, 0x0096, 0x0016, 0x900e, 0x7030, + 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, 0x00ff, 0x800c, 0x703c, + 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, 0x9108, 0x810b, 0x2011, + 0x0002, 0x2019, 0x000c, 0x6014, 0x2048, 0x080c, 0xb724, 0x080c, + 0xbb3b, 0x0140, 0x6014, 0x2048, 0xa807, 0x0000, 0xa864, 0xa8e2, + 0xa867, 0x0103, 0x080c, 0x9e2f, 0x001e, 0x009e, 0x0005, 0x0016, + 0x0096, 0x7030, 0x9086, 0x0100, 0x1118, 0x2009, 0x0004, 0x0010, + 0x7034, 0x800c, 0x810b, 0x2011, 0x000c, 0x2019, 0x000c, 0x6014, + 0x2048, 0xa804, 0x0096, 0x9005, 0x0108, 0x2048, 0x080c, 0xb724, + 0x009e, 0x080c, 0xbb3b, 0x0148, 0xa804, 0x9005, 0x1158, 0xa807, + 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0x9e2f, 0x009e, + 0x001e, 0x0005, 0x0086, 0x2040, 0xa030, 0x8007, 0x9086, 0x0100, + 0x1118, 0x080c, 0xa7cd, 0x00e0, 0xa034, 0x8007, 0x800c, 0x8806, + 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x000c, + 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xaaa0, 0xab9c, + 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x122f, 0x0019, 0x0d08, + 0x008e, 0x0898, 0x0096, 0x0006, 0x080c, 0x0feb, 0x000e, 0x01b0, + 0xa8ab, 0x0dcb, 0xa876, 0x000e, 0xa8a2, 0x0006, 0xae6a, 0x2800, + 0xa89e, 0xa97a, 0xaf72, 0xaa8e, 0xab92, 0xac96, 0xad9a, 0x0086, + 0x2940, 0x080c, 0x10d5, 0x008e, 0x9085, 0x0001, 0x009e, 0x0005, + 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, + 0x2258, 0xba10, 0x00be, 0x9206, 0x1520, 0x700c, 0x6210, 0x00b6, + 0x2258, 0xba14, 0x00be, 0x9206, 0x11e0, 0x6043, 0x0000, 0x2c68, + 0x0016, 0x2009, 0x0035, 0x080c, 0xc1b3, 0x001e, 0x1158, 0x622c, + 0x2268, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, 0x0130, 0x9386, + 0x0006, 0x0128, 0x080c, 0x9e2f, 0x0020, 0x0039, 0x0010, 0x080c, + 0xa451, 0x002e, 0x00de, 0x00ee, 0x0005, 0x0096, 0x6814, 0x2048, + 0x9186, 0x0015, 0x0904, 0xa439, 0x918e, 0x0016, 0x1904, 0xa44f, + 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, 0x0300, + 0x1904, 0xa413, 0x89ff, 0x1138, 0x6800, 0x9086, 0x000f, 0x0904, + 0xa3f6, 0x0804, 0xa44d, 0x6808, 0x9086, 0xffff, 0x1904, 0xa43b, + 0xa87c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0xa83c, 0xa940, + 0x9105, 0x1904, 0xa43b, 0x6824, 0xd084, 0x1904, 0xa43b, 0xd0b4, + 0x0158, 0x0016, 0x2001, 0x195e, 0x200c, 0x6018, 0x9102, 0x9082, + 0x0005, 0x001e, 0x1a04, 0xa43b, 0x080c, 0xbd24, 0x685c, 0xa882, + 0xa87c, 0xc0dc, 0xc0f4, 0xc0d4, 0xa87e, 0x0026, 0x900e, 0x6a18, + 0x2001, 0x000a, 0x080c, 0x8277, 0xa884, 0x920a, 0x0208, 0x8011, + 0xaa86, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xb84e, + 0x00ce, 0x0804, 0xa44d, 0x00c6, 0xa868, 0xd0fc, 0x1118, 0x080c, + 0x5d61, 0x0010, 0x080c, 0x610c, 0x00ce, 0x1904, 0xa43b, 0x00c6, + 0x2d60, 0x080c, 0x9e2f, 0x00ce, 0x0804, 0xa44d, 0x00c6, 0x080c, + 0x9e7c, 0x0198, 0x6017, 0x0000, 0x6810, 0x6012, 0x080c, 0xbfb5, + 0x6023, 0x0003, 0x6904, 0x00c6, 0x2d60, 0x080c, 0x9e2f, 0x00ce, + 0x080c, 0x9ea9, 0x00ce, 0x0804, 0xa44d, 0x2001, 0x1960, 0x2004, + 0x6842, 0x00ce, 0x04d0, 0x7008, 0x9086, 0x000b, 0x11c8, 0x6010, + 0x00b6, 0x2058, 0xb900, 0xc1bc, 0xb902, 0x00be, 0x00c6, 0x2d60, + 0xa87b, 0x0003, 0x080c, 0xc1f5, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0002, 0x080c, 0x83f8, 0x080c, 0x898b, 0x00ce, 0x00e8, + 0x700c, 0x9086, 0x2a00, 0x1138, 0x2001, 0x1960, 0x2004, 0x6842, + 0x00a0, 0x0479, 0x00a0, 0x89ff, 0x090c, 0x0db4, 0x00c6, 0x00d6, + 0x2d60, 0xa867, 0x0103, 0xa87b, 0x0003, 0x080c, 0x66bb, 0x080c, + 0xbd24, 0x080c, 0x9e5f, 0x00de, 0x00ce, 0x080c, 0x9e2f, 0x009e, + 0x0005, 0x9186, 0x0015, 0x1128, 0x2001, 0x1960, 0x2004, 0x6842, + 0x0068, 0x918e, 0x0016, 0x1160, 0x00c6, 0x2d00, 0x2060, 0x080c, + 0xd7c1, 0x080c, 0x820b, 0x080c, 0x9e2f, 0x00ce, 0x080c, 0x9e2f, + 0x0005, 0x0026, 0x0036, 0x0046, 0x7228, 0xacb0, 0xabac, 0xd2f4, + 0x0130, 0x2001, 0x1960, 0x2004, 0x6842, 0x0804, 0xa4cb, 0x00c6, + 0x2d60, 0x080c, 0xb74f, 0x00ce, 0x6804, 0x9086, 0x0050, 0x1168, + 0x00c6, 0x2d00, 0x2060, 0x6003, 0x0001, 0x6007, 0x0050, 0x080c, + 0x83f8, 0x080c, 0x898b, 0x00ce, 0x04f0, 0x6800, 0x9086, 0x000f, + 0x01a8, 0x89ff, 0x090c, 0x0db4, 0x6800, 0x9086, 0x0004, 0x1190, + 0xa87c, 0xd0ac, 0x0178, 0xa843, 0x0fff, 0xa83f, 0x0fff, 0xa880, + 0xc0fc, 0xa882, 0x2001, 0x0001, 0x6832, 0x0400, 0x2001, 0x0007, + 0x6832, 0x00e0, 0xa87c, 0xd0b4, 0x1150, 0xd0ac, 0x0db8, 0x6824, + 0xd0f4, 0x1d48, 0xa838, 0xa934, 0x9105, 0x0d80, 0x0c20, 0xd2ec, + 0x1d68, 0x7024, 0x9306, 0x1118, 0x7020, 0x9406, 0x0d38, 0x7020, + 0x683e, 0x7024, 0x683a, 0x2001, 0x0005, 0x6832, 0x080c, 0xbeac, + 0x080c, 0x898b, 0x0010, 0x080c, 0x9e2f, 0x004e, 0x003e, 0x002e, + 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, + 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1904, 0xa536, 0x700c, + 0x6210, 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x1904, 0xa536, + 0x6038, 0x2068, 0x6824, 0xc0dc, 0x6826, 0x6a20, 0x9286, 0x0007, + 0x0904, 0xa536, 0x9286, 0x0002, 0x0904, 0xa536, 0x9286, 0x0000, + 0x05e8, 0x6808, 0x633c, 0x9306, 0x15c8, 0x2071, 0x026c, 0x9186, + 0x0015, 0x0570, 0x918e, 0x0016, 0x1100, 0x00c6, 0x6038, 0x2060, + 0x6104, 0x9186, 0x004b, 0x01c0, 0x9186, 0x004c, 0x01a8, 0x9186, + 0x004d, 0x0190, 0x9186, 0x004e, 0x0178, 0x9186, 0x0052, 0x0160, + 0x6014, 0x0096, 0x2048, 0x080c, 0xbb3b, 0x090c, 0x0db4, 0xa87b, + 0x0003, 0x009e, 0x080c, 0xc1f5, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0002, 0x080c, 0x83f8, 0x080c, 0x898b, 0x00ce, 0x0030, + 0x6038, 0x2070, 0x2001, 0x1960, 0x2004, 0x7042, 0x080c, 0x9e2f, + 0x002e, 0x00de, 0x00ee, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x6014, + 0x2048, 0x6010, 0x2058, 0x91b6, 0x0015, 0x0130, 0xba08, 0xbb0c, + 0xbc00, 0xc48c, 0xbc02, 0x0460, 0x0096, 0x0156, 0x0036, 0x0026, + 0x2b48, 0x9e90, 0x0010, 0x2019, 0x000a, 0x20a9, 0x0004, 0x080c, + 0xae1c, 0x002e, 0x003e, 0x015e, 0x009e, 0x1904, 0xa5a5, 0x0096, + 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0014, 0x2019, 0x0006, + 0x20a9, 0x0004, 0x080c, 0xae1c, 0x002e, 0x003e, 0x015e, 0x009e, + 0x15a0, 0x7238, 0xba0a, 0x733c, 0xbb0e, 0xbc00, 0xc48d, 0xbc02, + 0xa804, 0x9005, 0x1128, 0x00fe, 0x009e, 0x00be, 0x0804, 0xa233, + 0x0096, 0x2048, 0xaa12, 0xab16, 0xac0a, 0x009e, 0x8006, 0x8006, + 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, + 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, + 0x122f, 0x080c, 0xa332, 0x0130, 0x00fe, 0x009e, 0x080c, 0x9e2f, + 0x00be, 0x0005, 0x080c, 0xa7cd, 0x0cb8, 0x2b78, 0x00f6, 0x080c, + 0x2fe7, 0x080c, 0xc250, 0x00fe, 0x00c6, 0x080c, 0x9dd9, 0x2f00, + 0x6012, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, + 0x0001, 0x2001, 0x0007, 0x080c, 0x61a7, 0x080c, 0x61d3, 0x080c, + 0x8440, 0x080c, 0x898b, 0x00ce, 0x0804, 0xa578, 0x2100, 0x91b2, + 0x0053, 0x1a0c, 0x0db4, 0x91b2, 0x0040, 0x1a04, 0xa62e, 0x0002, + 0xa61c, 0xa61c, 0xa612, 0xa61c, 0xa61c, 0xa61c, 0xa610, 0xa610, + 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, + 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, + 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa61c, + 0xa610, 0xa61c, 0xa61c, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, + 0xa612, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, + 0xa610, 0xa610, 0xa61c, 0xa61c, 0xa610, 0xa610, 0xa610, 0xa610, + 0xa610, 0xa610, 0xa610, 0xa610, 0xa610, 0xa61c, 0xa610, 0xa610, + 0x080c, 0x0db4, 0x0066, 0x00b6, 0x6610, 0x2658, 0xb8bc, 0xc08c, + 0xb8be, 0x00be, 0x006e, 0x0000, 0x6003, 0x0001, 0x6106, 0x9186, + 0x0032, 0x0118, 0x080c, 0x8440, 0x0010, 0x080c, 0x83f8, 0x0126, + 0x2091, 0x8000, 0x080c, 0x898b, 0x012e, 0x0005, 0x2600, 0x0002, + 0xa642, 0xa642, 0xa642, 0xa61c, 0xa61c, 0xa642, 0xa642, 0xa642, + 0xa642, 0xa61c, 0xa642, 0xa61c, 0xa642, 0xa61c, 0xa642, 0xa642, + 0xa642, 0xa642, 0x080c, 0x0db4, 0x6004, 0x90b2, 0x0053, 0x1a0c, + 0x0db4, 0x91b6, 0x0013, 0x0904, 0xa706, 0x91b6, 0x0027, 0x1904, + 0xa6c1, 0x080c, 0x887f, 0x6004, 0x080c, 0xbd30, 0x01b0, 0x080c, + 0xbd41, 0x01a8, 0x908e, 0x0021, 0x0904, 0xa6be, 0x908e, 0x0022, + 0x1130, 0x080c, 0xa25f, 0x0904, 0xa6ba, 0x0804, 0xa6bb, 0x908e, + 0x003d, 0x0904, 0xa6be, 0x0804, 0xa6b4, 0x080c, 0x3010, 0x2001, + 0x0007, 0x080c, 0x61a7, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, + 0x080c, 0xa7cd, 0x9186, 0x007e, 0x1148, 0x2001, 0x1836, 0x2014, + 0xc285, 0x080c, 0x6faa, 0x1108, 0xc2ad, 0x2202, 0x0036, 0x0026, + 0x2019, 0x0028, 0x2110, 0x080c, 0xd81c, 0x002e, 0x003e, 0x0016, + 0x0026, 0x0036, 0x2110, 0x2019, 0x0028, 0x080c, 0x8582, 0x0076, + 0x903e, 0x080c, 0x8470, 0x6010, 0x00b6, 0x905d, 0x0100, 0x00be, + 0x2c08, 0x080c, 0xd2d5, 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, + 0xc250, 0x0016, 0x080c, 0xbfad, 0x080c, 0x9e2f, 0x001e, 0x080c, + 0x30e2, 0x080c, 0x898b, 0x0030, 0x080c, 0xbfad, 0x080c, 0x9e2f, + 0x080c, 0x898b, 0x0005, 0x080c, 0xa7cd, 0x0cb0, 0x080c, 0xa809, + 0x0c98, 0x9186, 0x0014, 0x1db0, 0x080c, 0x887f, 0x6004, 0x908e, + 0x0022, 0x1118, 0x080c, 0xa25f, 0x0d68, 0x080c, 0x2fe7, 0x080c, + 0xc250, 0x080c, 0xbd30, 0x1190, 0x080c, 0x3010, 0x6010, 0x00b6, + 0x2058, 0xb9a0, 0x00be, 0x080c, 0xa7cd, 0x9186, 0x007e, 0x1128, + 0x2001, 0x1836, 0x200c, 0xc185, 0x2102, 0x0870, 0x080c, 0xbd41, + 0x1118, 0x080c, 0xa7cd, 0x0840, 0x6004, 0x908e, 0x0032, 0x1160, + 0x00e6, 0x00f6, 0x2071, 0x189c, 0x2079, 0x0000, 0x080c, 0x3376, + 0x00fe, 0x00ee, 0x0804, 0xa6b4, 0x6004, 0x908e, 0x0021, 0x0d48, + 0x908e, 0x0022, 0x090c, 0xa7cd, 0x0804, 0xa6b4, 0x90b2, 0x0040, + 0x1a04, 0xa7b6, 0x2008, 0x0002, 0xa74e, 0xa74f, 0xa752, 0xa755, + 0xa758, 0xa75b, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, + 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, + 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, + 0xa74c, 0xa74c, 0xa75e, 0xa76b, 0xa74c, 0xa76d, 0xa76b, 0xa74c, + 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa76b, 0xa76b, 0xa74c, 0xa74c, + 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa74c, 0xa79d, 0xa76b, + 0xa74c, 0xa767, 0xa74c, 0xa74c, 0xa74c, 0xa768, 0xa74c, 0xa74c, + 0xa74c, 0xa76b, 0xa794, 0xa74c, 0x080c, 0x0db4, 0x00e0, 0x2001, + 0x000b, 0x0420, 0x2001, 0x0003, 0x0408, 0x2001, 0x0005, 0x00f0, + 0x2001, 0x0001, 0x00d8, 0x2001, 0x0009, 0x00c0, 0x080c, 0x887f, + 0x6003, 0x0005, 0x080c, 0xc253, 0x080c, 0x898b, 0x0070, 0x0018, + 0x0010, 0x080c, 0x61a7, 0x0804, 0xa7ae, 0x080c, 0x887f, 0x080c, + 0xc253, 0x6003, 0x0004, 0x080c, 0x898b, 0x0005, 0x080c, 0x61a7, + 0x080c, 0x887f, 0x6003, 0x0002, 0x0036, 0x2019, 0x1866, 0x2304, + 0x9084, 0xff00, 0x1120, 0x2001, 0x195e, 0x201c, 0x0040, 0x8007, + 0x909a, 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, + 0x003e, 0x080c, 0x898b, 0x0c08, 0x080c, 0x887f, 0x080c, 0xbfad, + 0x080c, 0x9e2f, 0x080c, 0x898b, 0x08c0, 0x00e6, 0x00f6, 0x2071, + 0x189c, 0x2079, 0x0000, 0x080c, 0x3376, 0x00fe, 0x00ee, 0x080c, + 0x887f, 0x080c, 0x9e2f, 0x080c, 0x898b, 0x0838, 0x080c, 0x887f, + 0x6003, 0x0002, 0x080c, 0xc253, 0x0804, 0x898b, 0x2600, 0x2008, + 0x0002, 0xa7cb, 0xa7cb, 0xa7cb, 0xa7ae, 0xa7ae, 0xa7cb, 0xa7cb, + 0xa7cb, 0xa7cb, 0xa7ae, 0xa7cb, 0xa7ae, 0xa7cb, 0xa7ae, 0xa7cb, + 0xa7cb, 0xa7cb, 0xa7cb, 0x080c, 0x0db4, 0x00e6, 0x0096, 0x0026, + 0x0016, 0x080c, 0xbb3b, 0x0568, 0x6014, 0x2048, 0xa864, 0x9086, + 0x0139, 0x11a8, 0xa894, 0x9086, 0x0056, 0x1148, 0x080c, 0x5143, + 0x0130, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x0028, 0x2001, + 0x0030, 0x900e, 0x2011, 0x4005, 0x080c, 0xc11a, 0x0090, 0xa868, + 0xd0fc, 0x0178, 0xa807, 0x0000, 0x0016, 0x6004, 0x908e, 0x0021, + 0x0168, 0x908e, 0x003d, 0x0150, 0x001e, 0xa867, 0x0103, 0xa833, + 0x0100, 0x001e, 0x002e, 0x009e, 0x00ee, 0x0005, 0x001e, 0x0009, + 0x0cc0, 0x0096, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, + 0xa823, 0x8001, 0x009e, 0x0005, 0x00b6, 0x6610, 0x2658, 0xb804, + 0x9084, 0x00ff, 0x90b2, 0x000c, 0x1a0c, 0x0db4, 0x6604, 0x96b6, + 0x004d, 0x1120, 0x080c, 0xc039, 0x0804, 0xa891, 0x6604, 0x96b6, + 0x0043, 0x1120, 0x080c, 0xc082, 0x0804, 0xa891, 0x6604, 0x96b6, + 0x004b, 0x1120, 0x080c, 0xc0ae, 0x0804, 0xa891, 0x6604, 0x96b6, + 0x0033, 0x1120, 0x080c, 0xbfcf, 0x0804, 0xa891, 0x6604, 0x96b6, + 0x0028, 0x1120, 0x080c, 0xbd7f, 0x0804, 0xa891, 0x6604, 0x96b6, + 0x0029, 0x1120, 0x080c, 0xbdc0, 0x0804, 0xa891, 0x6604, 0x96b6, + 0x001f, 0x1118, 0x080c, 0xa207, 0x04e0, 0x6604, 0x96b6, 0x0000, + 0x1118, 0x080c, 0xa53c, 0x04a8, 0x6604, 0x96b6, 0x0022, 0x1118, + 0x080c, 0xa240, 0x0470, 0x6604, 0x96b6, 0x0035, 0x1118, 0x080c, + 0xa350, 0x0438, 0x6604, 0x96b6, 0x0039, 0x1118, 0x080c, 0xa4d1, + 0x0400, 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, 0xa278, 0x00c8, + 0x6604, 0x96b6, 0x0044, 0x1118, 0x080c, 0xa2b4, 0x0090, 0x6604, + 0x96b6, 0x0049, 0x1118, 0x080c, 0xa2df, 0x0058, 0x91b6, 0x0015, + 0x1110, 0x0063, 0x0030, 0x91b6, 0x0016, 0x1128, 0x00be, 0x0804, + 0xab51, 0x00be, 0x0005, 0x080c, 0x9ec4, 0x0cd8, 0xa8ae, 0xa8b1, + 0xa8ae, 0xa8f5, 0xa8ae, 0xaa85, 0xab5e, 0xa8ae, 0xa8ae, 0xab2b, + 0xa8ae, 0xab3f, 0x0096, 0x080c, 0x1511, 0x6014, 0x2048, 0xa800, + 0x2048, 0xa867, 0x0103, 0x009e, 0x0804, 0x9e2f, 0xa001, 0xa001, + 0x0005, 0x00e6, 0x2071, 0x1800, 0x708c, 0x9086, 0x0074, 0x1540, + 0x080c, 0xd2a6, 0x11b0, 0x6010, 0x00b6, 0x2058, 0x7030, 0xd08c, + 0x0128, 0xb800, 0xd0bc, 0x0110, 0xc0c5, 0xb802, 0x00e9, 0x00be, + 0x2001, 0x0006, 0x080c, 0x61a7, 0x080c, 0x3010, 0x080c, 0x9e2f, + 0x0088, 0x2001, 0x000a, 0x080c, 0x61a7, 0x080c, 0x3010, 0x6003, + 0x0001, 0x6007, 0x0001, 0x080c, 0x8440, 0x080c, 0x898b, 0x0010, + 0x080c, 0xaa70, 0x00ee, 0x0005, 0x00d6, 0xb800, 0xd084, 0x0158, + 0x9006, 0x080c, 0x6193, 0x2069, 0x185b, 0x6804, 0x0020, 0x2001, + 0x0006, 0x080c, 0x61d3, 0x00de, 0x0005, 0x00b6, 0x0096, 0x00d6, + 0x2011, 0x1823, 0x2204, 0x9086, 0x0074, 0x1904, 0xaa47, 0x6010, + 0x2058, 0xbaa0, 0x9286, 0x007e, 0x1120, 0x080c, 0xaca2, 0x0804, + 0xa9ac, 0x00d6, 0x080c, 0x6faa, 0x0198, 0x0026, 0x2011, 0x0010, + 0x080c, 0x659e, 0x002e, 0x05c8, 0x080c, 0x53ae, 0x1540, 0x6014, + 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x00f8, + 0x0026, 0x2011, 0x8008, 0x080c, 0x659e, 0x002e, 0x0530, 0x6014, + 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, + 0x0030, 0x900e, 0x2011, 0x4009, 0x080c, 0xc11a, 0x0040, 0x6014, + 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x6010, + 0x2058, 0xb9a0, 0x0016, 0x080c, 0x3010, 0x080c, 0x9e2f, 0x001e, + 0x080c, 0x30e2, 0x00de, 0x0804, 0xaa4a, 0x00de, 0x080c, 0xac97, + 0x6010, 0x2058, 0xbaa0, 0x9286, 0x0080, 0x1510, 0x6014, 0x9005, + 0x01a8, 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, + 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xc11a, 0x0030, + 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, 0x2001, 0x0006, + 0x080c, 0x61a7, 0x080c, 0x3010, 0x080c, 0x9e2f, 0x0804, 0xaa4a, + 0x080c, 0xaa58, 0x6014, 0x9005, 0x0190, 0x2048, 0xa868, 0xd0f4, + 0x01e8, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1d08, 0x2001, + 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xc11a, 0x08f8, 0x080c, + 0xaa4e, 0x0160, 0x9006, 0x080c, 0x6193, 0x2001, 0x0004, 0x080c, + 0x61d3, 0x2001, 0x0007, 0x080c, 0x61a7, 0x08a0, 0x2001, 0x0004, + 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x8440, + 0x080c, 0x898b, 0x0804, 0xaa4a, 0xb85c, 0xd0e4, 0x01d0, 0x080c, + 0xbf4f, 0x080c, 0x6faa, 0x0118, 0xd0dc, 0x1904, 0xa96e, 0x2011, + 0x1836, 0x2204, 0xc0ad, 0x2012, 0x2001, 0x0002, 0x00f6, 0x2079, + 0x0100, 0x78e3, 0x0000, 0x080c, 0x26e4, 0x78e2, 0x00fe, 0x0804, + 0xa96e, 0x080c, 0xbf8c, 0x2011, 0x1836, 0x2204, 0xc0a5, 0x2012, + 0x0006, 0x080c, 0xd3ff, 0x000e, 0x1904, 0xa96e, 0xc0b5, 0x2012, + 0x2001, 0x0006, 0x080c, 0x61a7, 0x9006, 0x080c, 0x6193, 0x00c6, + 0x2001, 0x180f, 0x2004, 0xd09c, 0x0520, 0x00f6, 0x2079, 0x0100, + 0x00e6, 0x2071, 0x1800, 0x700c, 0x9084, 0x00ff, 0x78e6, 0x707a, + 0x7010, 0x78ea, 0x707e, 0x908c, 0x00ff, 0x00ee, 0x780c, 0xc0b5, + 0x780e, 0x00fe, 0x080c, 0x26b9, 0x00f6, 0x2100, 0x900e, 0x080c, + 0x2670, 0x795a, 0x00fe, 0x9186, 0x0081, 0x01d8, 0x2009, 0x0081, + 0x00c8, 0x2009, 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, 0x7932, + 0x7936, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x26b9, 0x00f6, + 0x2079, 0x1800, 0x797e, 0x2100, 0x900e, 0x080c, 0x2670, 0x795a, + 0x00fe, 0x8108, 0x080c, 0x61f6, 0x2b00, 0x00ce, 0x1904, 0xa96e, + 0x6012, 0x2009, 0x180f, 0x210c, 0xd19c, 0x0150, 0x2009, 0x027c, + 0x210c, 0x918c, 0x00ff, 0xb912, 0x2009, 0x027d, 0x210c, 0xb916, + 0x2001, 0x0002, 0x080c, 0x61a7, 0x6023, 0x0001, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x8440, 0x080c, 0x898b, 0x0018, 0x080c, + 0xa7cd, 0x0431, 0x00de, 0x009e, 0x00be, 0x0005, 0x2001, 0x1810, + 0x2004, 0xd0a4, 0x0120, 0x2001, 0x185c, 0x2004, 0xd0ac, 0x0005, + 0x00e6, 0x080c, 0xd875, 0x0190, 0x2071, 0x0260, 0x7108, 0x720c, + 0x918c, 0x00ff, 0x1118, 0x9284, 0xff00, 0x0140, 0x6010, 0x2058, + 0xb8a0, 0x9084, 0xff80, 0x1110, 0xb912, 0xba16, 0x00ee, 0x0005, + 0x2030, 0x2001, 0x0007, 0x080c, 0x61a7, 0x080c, 0x53ae, 0x1120, + 0x2001, 0x0007, 0x080c, 0x61d3, 0x080c, 0x3010, 0x6020, 0x9086, + 0x000a, 0x1108, 0x0005, 0x0804, 0x9e2f, 0x00b6, 0x00e6, 0x0026, + 0x0016, 0x2071, 0x1800, 0x708c, 0x9086, 0x0014, 0x1904, 0xab22, + 0x00d6, 0x080c, 0x6faa, 0x0198, 0x0026, 0x2011, 0x0010, 0x080c, + 0x659e, 0x002e, 0x05c8, 0x080c, 0x53ae, 0x1540, 0x6014, 0x2048, + 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x00f8, 0x0026, + 0x2011, 0x8008, 0x080c, 0x659e, 0x002e, 0x0530, 0x6014, 0x2048, + 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0030, + 0x900e, 0x2011, 0x4009, 0x080c, 0xc11a, 0x0040, 0x6014, 0x2048, + 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x6010, 0x2058, + 0xb9a0, 0x0016, 0x080c, 0x3010, 0x080c, 0x9e2f, 0x001e, 0x080c, + 0x30e2, 0x00de, 0x0804, 0xab26, 0x00de, 0x080c, 0x53ae, 0x1170, + 0x6014, 0x9005, 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, 0xbba0, + 0x2021, 0x0006, 0x080c, 0x4a91, 0x004e, 0x003e, 0x00d6, 0x6010, + 0x2058, 0x080c, 0x62f1, 0x080c, 0xa8e4, 0x00de, 0x080c, 0xad68, + 0x1588, 0x6010, 0x2058, 0xb890, 0x9005, 0x0560, 0x2001, 0x0006, + 0x080c, 0x61a7, 0x0096, 0x6014, 0x904d, 0x01d0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0000, 0x900e, 0x2011, - 0x4000, 0x080c, 0xc10b, 0x0030, 0xa807, 0x0000, 0xa867, 0x0103, - 0xa833, 0x0200, 0x2001, 0x0006, 0x080c, 0x6198, 0x080c, 0x3005, - 0x080c, 0x9e42, 0x0804, 0xaa4e, 0x080c, 0xaa5c, 0x6014, 0x9005, - 0x0190, 0x2048, 0xa868, 0xd0f4, 0x01e8, 0xa864, 0x9084, 0x00ff, - 0x9086, 0x0039, 0x1d08, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, - 0x080c, 0xc10b, 0x08f8, 0x080c, 0xaa52, 0x0160, 0x9006, 0x080c, - 0x6184, 0x2001, 0x0004, 0x080c, 0x61c4, 0x2001, 0x0007, 0x080c, - 0x6198, 0x08a0, 0x2001, 0x0004, 0x080c, 0x6198, 0x6003, 0x0001, - 0x6007, 0x0003, 0x080c, 0x8422, 0x080c, 0x896d, 0x0804, 0xaa4e, - 0xb85c, 0xd0e4, 0x01d0, 0x080c, 0xbf40, 0x080c, 0x6f9b, 0x0118, - 0xd0dc, 0x1904, 0xa972, 0x2011, 0x1836, 0x2204, 0xc0ad, 0x2012, - 0x2001, 0x0002, 0x00f6, 0x2079, 0x0100, 0x78e3, 0x0000, 0x080c, - 0x26d9, 0x78e2, 0x00fe, 0x0804, 0xa972, 0x080c, 0xbf7d, 0x2011, - 0x1836, 0x2204, 0xc0a5, 0x2012, 0x0006, 0x080c, 0xd3e6, 0x000e, - 0x1904, 0xa972, 0xc0b5, 0x2012, 0x2001, 0x0006, 0x080c, 0x6198, - 0x9006, 0x080c, 0x6184, 0x00c6, 0x2001, 0x180f, 0x2004, 0xd09c, - 0x0520, 0x00f6, 0x2079, 0x0100, 0x00e6, 0x2071, 0x1800, 0x700c, - 0x9084, 0x00ff, 0x78e6, 0x707a, 0x7010, 0x78ea, 0x707e, 0x908c, - 0x00ff, 0x00ee, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x26ae, - 0x00f6, 0x2100, 0x900e, 0x080c, 0x2665, 0x795a, 0x00fe, 0x9186, - 0x0081, 0x01d8, 0x2009, 0x0081, 0x00c8, 0x2009, 0x00ef, 0x00f6, - 0x2079, 0x0100, 0x79ea, 0x7932, 0x7936, 0x780c, 0xc0b5, 0x780e, - 0x00fe, 0x080c, 0x26ae, 0x00f6, 0x2079, 0x1800, 0x797e, 0x2100, - 0x900e, 0x080c, 0x2665, 0x795a, 0x00fe, 0x8108, 0x080c, 0x61e7, - 0x2b00, 0x00ce, 0x1904, 0xa972, 0x6012, 0x2009, 0x180f, 0x210c, - 0xd19c, 0x0150, 0x2009, 0x027c, 0x210c, 0x918c, 0x00ff, 0xb912, - 0x2009, 0x027d, 0x210c, 0xb916, 0x2001, 0x0002, 0x080c, 0x6198, - 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8422, - 0x080c, 0x896d, 0x0018, 0x080c, 0xa7d1, 0x0431, 0x00de, 0x009e, - 0x00be, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0a4, 0x0120, 0x2001, - 0x1854, 0x2004, 0xd0ac, 0x0005, 0x00e6, 0x080c, 0xd85c, 0x0190, - 0x2071, 0x0260, 0x7108, 0x720c, 0x918c, 0x00ff, 0x1118, 0x9284, - 0xff00, 0x0140, 0x6010, 0x2058, 0xb8a0, 0x9084, 0xff80, 0x1110, - 0xb912, 0xba16, 0x00ee, 0x0005, 0x2030, 0x2001, 0x0007, 0x080c, - 0x6198, 0x080c, 0x53a3, 0x1120, 0x2001, 0x0007, 0x080c, 0x61c4, - 0x080c, 0x3005, 0x6020, 0x9086, 0x000a, 0x1108, 0x0005, 0x0804, - 0x9e42, 0x00b6, 0x00e6, 0x0026, 0x0016, 0x2071, 0x1800, 0x708c, - 0x9086, 0x0014, 0x1904, 0xab26, 0x00d6, 0x080c, 0x6f9b, 0x0198, - 0x0026, 0x2011, 0x0010, 0x080c, 0x658f, 0x002e, 0x05c8, 0x080c, - 0x53a3, 0x1540, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xa833, 0xdead, 0x00f8, 0x0026, 0x2011, 0x8008, 0x080c, 0x658f, - 0x002e, 0x0530, 0x6014, 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x0039, 0x1140, 0x2001, 0x0030, 0x900e, 0x2011, 0x4009, 0x080c, - 0xc10b, 0x0040, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xa833, 0xdead, 0x6010, 0x2058, 0xb9a0, 0x0016, 0x080c, 0x3005, - 0x080c, 0x9e42, 0x001e, 0x080c, 0x30d7, 0x00de, 0x0804, 0xab2a, - 0x00de, 0x080c, 0x53a3, 0x1170, 0x6014, 0x9005, 0x1158, 0x0036, - 0x0046, 0x6010, 0x2058, 0xbba0, 0x2021, 0x0006, 0x080c, 0x4a86, - 0x004e, 0x003e, 0x00d6, 0x6010, 0x2058, 0x080c, 0x62e2, 0x080c, - 0xa8e8, 0x00de, 0x080c, 0xad6c, 0x1588, 0x6010, 0x2058, 0xb890, - 0x9005, 0x0560, 0x2001, 0x0006, 0x080c, 0x6198, 0x0096, 0x6014, - 0x904d, 0x01d0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, - 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xc10b, 0x0060, - 0xa864, 0x9084, 0x00ff, 0x9086, 0x0029, 0x0130, 0xa807, 0x0000, - 0xa867, 0x0103, 0xa833, 0x0200, 0x009e, 0x080c, 0x3005, 0x6020, - 0x9086, 0x000a, 0x0138, 0x080c, 0x9e42, 0x0020, 0x080c, 0xa7d1, - 0x080c, 0xaa74, 0x001e, 0x002e, 0x00ee, 0x00be, 0x0005, 0x2011, - 0x1823, 0x2204, 0x9086, 0x0014, 0x1160, 0x2001, 0x0002, 0x080c, - 0x6198, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x8422, 0x0804, - 0x896d, 0x0804, 0xaa74, 0x2030, 0x2011, 0x1823, 0x2204, 0x9086, - 0x0004, 0x1148, 0x96b6, 0x000b, 0x1120, 0x2001, 0x0007, 0x080c, - 0x6198, 0x0804, 0x9e42, 0x0804, 0xaa74, 0x0002, 0xa8b2, 0xab6d, - 0xa8b2, 0xabac, 0xa8b2, 0xac57, 0xab62, 0xa8b2, 0xa8b2, 0xac6a, - 0xa8b2, 0xac7a, 0x6604, 0x9686, 0x0003, 0x0904, 0xaa89, 0x96b6, - 0x001e, 0x1110, 0x080c, 0x9e42, 0x0005, 0x00b6, 0x00d6, 0x00c6, - 0x080c, 0xac8a, 0x11a0, 0x9006, 0x080c, 0x6184, 0x080c, 0x2fdc, - 0x080c, 0xc241, 0x2001, 0x0002, 0x080c, 0x6198, 0x6003, 0x0001, - 0x6007, 0x0002, 0x080c, 0x8422, 0x080c, 0x896d, 0x0408, 0x2009, - 0x026e, 0x2104, 0x9086, 0x0009, 0x1160, 0x6010, 0x2058, 0xb840, - 0x9084, 0x00ff, 0x9005, 0x0170, 0x8001, 0xb842, 0x601b, 0x000a, - 0x0078, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x1900, - 0x1108, 0x08a0, 0x080c, 0x2fdc, 0x080c, 0xc241, 0x080c, 0xaa74, - 0x00ce, 0x00de, 0x00be, 0x0005, 0x0096, 0x00b6, 0x0026, 0x9016, - 0x080c, 0xac98, 0x00d6, 0x2069, 0x194c, 0x2d04, 0x9005, 0x0168, - 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x2069, 0x181f, - 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, 0x00de, 0x0088, 0x9006, - 0x080c, 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, 0x6003, 0x0001, - 0x6007, 0x0002, 0x080c, 0x8422, 0x080c, 0x896d, 0x0804, 0xac27, - 0x080c, 0xbb2c, 0x01b0, 0x6014, 0x2048, 0xa864, 0x2010, 0x9086, - 0x0139, 0x1138, 0x6007, 0x0016, 0x2001, 0x0002, 0x080c, 0xc165, - 0x00b0, 0x6014, 0x2048, 0xa864, 0xd0fc, 0x0118, 0x2001, 0x0001, - 0x0ca8, 0x2001, 0x180e, 0x2004, 0xd0dc, 0x0148, 0x6010, 0x2058, - 0xb840, 0x9084, 0x00ff, 0x9005, 0x1110, 0x9006, 0x0c38, 0x080c, - 0xa7d1, 0x2009, 0x026e, 0x2134, 0x96b4, 0x00ff, 0x9686, 0x0005, - 0x0510, 0x9686, 0x000b, 0x01c8, 0x2009, 0x026f, 0x2104, 0x9084, - 0xff00, 0x1118, 0x9686, 0x0009, 0x01b0, 0x9086, 0x1900, 0x1168, - 0x9686, 0x0009, 0x0180, 0x2001, 0x0004, 0x080c, 0x6198, 0x2001, - 0x0028, 0x601a, 0x6007, 0x0052, 0x0010, 0x080c, 0xaa74, 0x002e, - 0x00be, 0x009e, 0x0005, 0x9286, 0x0139, 0x0160, 0x6014, 0x2048, - 0x080c, 0xbb2c, 0x0140, 0xa864, 0x9086, 0x0139, 0x0118, 0xa868, - 0xd0fc, 0x0108, 0x0c50, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, - 0x9005, 0x0138, 0x8001, 0xb842, 0x601b, 0x000a, 0x6007, 0x0016, - 0x08f0, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x00e6, 0x2071, 0x1800, - 0x080c, 0x5c6d, 0x00ee, 0x0010, 0x080c, 0x2fdc, 0x0870, 0x080c, - 0xac98, 0x1160, 0x2001, 0x0004, 0x080c, 0x6198, 0x6003, 0x0001, - 0x6007, 0x0003, 0x080c, 0x8422, 0x0804, 0x896d, 0x080c, 0xa7d1, - 0x0804, 0xaa74, 0x0469, 0x1160, 0x2001, 0x0008, 0x080c, 0x6198, - 0x6003, 0x0001, 0x6007, 0x0005, 0x080c, 0x8422, 0x0804, 0x896d, - 0x0804, 0xaa74, 0x00e9, 0x1160, 0x2001, 0x000a, 0x080c, 0x6198, - 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x8422, 0x0804, 0x896d, - 0x0804, 0xaa74, 0x2009, 0x026e, 0x2104, 0x9086, 0x0003, 0x1138, - 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x2a00, 0x0005, - 0x9085, 0x0001, 0x0005, 0x00b6, 0x00c6, 0x0016, 0x6110, 0x2158, - 0x080c, 0x6256, 0x001e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x00f6, - 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6010, 0x2058, 0x2009, 0x1836, - 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, 0xad3e, 0x0560, 0x2009, - 0x1836, 0x2104, 0xc0cd, 0x200a, 0x080c, 0x6567, 0x0158, 0x9006, - 0x2020, 0x2009, 0x002a, 0x080c, 0xd54b, 0x2001, 0x180c, 0x200c, - 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0001, 0x080c, 0x2fa7, - 0x00e6, 0x2071, 0x1800, 0x080c, 0x2dbd, 0x00ee, 0x00c6, 0x0156, - 0x20a9, 0x0781, 0x2009, 0x007f, 0x080c, 0x30d7, 0x8108, 0x1f04, - 0xacdc, 0x015e, 0x00ce, 0x080c, 0xac9b, 0x2071, 0x0260, 0x2079, - 0x0200, 0x7817, 0x0001, 0x2001, 0x1836, 0x200c, 0xc1c5, 0x7018, - 0xd0fc, 0x0110, 0xd0dc, 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, - 0x7817, 0x0000, 0x2001, 0x1836, 0x2102, 0x2079, 0x0100, 0x2e04, - 0x9084, 0x00ff, 0x2069, 0x181e, 0x206a, 0x78e6, 0x0006, 0x8e70, - 0x2e04, 0x2069, 0x181f, 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, - 0x9084, 0xff00, 0x001e, 0x9105, 0x2009, 0x182b, 0x200a, 0x2200, - 0x9084, 0x00ff, 0x2008, 0x080c, 0x26ae, 0x080c, 0x6f9b, 0x0170, - 0x2071, 0x0260, 0x2069, 0x1952, 0x7048, 0x206a, 0x704c, 0x6806, - 0x7050, 0x680a, 0x7054, 0x680e, 0x080c, 0xbf40, 0x0040, 0x2001, - 0x0006, 0x080c, 0x6198, 0x080c, 0x3005, 0x080c, 0x9e42, 0x001e, - 0x003e, 0x00de, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x0096, 0x0026, - 0x0036, 0x00e6, 0x0156, 0x2019, 0x182b, 0x231c, 0x83ff, 0x01f0, - 0x2071, 0x0260, 0x7200, 0x9294, 0x00ff, 0x7004, 0x9084, 0xff00, - 0x9205, 0x9306, 0x1198, 0x2011, 0x0276, 0x20a9, 0x0004, 0x2b48, - 0x2019, 0x000a, 0x080c, 0xae20, 0x1148, 0x2011, 0x027a, 0x20a9, - 0x0004, 0x2019, 0x0006, 0x080c, 0xae20, 0x1100, 0x015e, 0x00ee, - 0x003e, 0x002e, 0x009e, 0x0005, 0x00e6, 0x2071, 0x0260, 0x7034, - 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, 0x0800, 0x1188, 0x703c, - 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, 0x0100, 0x1138, 0x7054, - 0xd0a4, 0x1110, 0xd0ac, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, - 0x00ee, 0x0005, 0x00e6, 0x0096, 0x00c6, 0x0076, 0x0056, 0x0046, - 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2029, 0x19c0, 0x252c, - 0x2021, 0x19c6, 0x2424, 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7250, - 0x7070, 0x9202, 0x1a04, 0xadf8, 0x080c, 0xd57c, 0x0904, 0xadf1, - 0x6720, 0x9786, 0x0007, 0x0904, 0xadf1, 0x2500, 0x9c06, 0x0904, - 0xadf1, 0x2400, 0x9c06, 0x05e8, 0x3e08, 0x9186, 0x0002, 0x1148, - 0x6010, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, - 0x1580, 0x00c6, 0x6000, 0x9086, 0x0004, 0x1110, 0x080c, 0x190f, - 0x9786, 0x000a, 0x0148, 0x080c, 0xbd32, 0x1130, 0x00ce, 0x080c, - 0xa7d1, 0x080c, 0x9e72, 0x00e8, 0x6014, 0x2048, 0x080c, 0xbb2c, - 0x01a8, 0x9786, 0x0003, 0x1530, 0xa867, 0x0103, 0xa87c, 0xd0cc, - 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0f9d, 0x009e, 0xab7a, - 0xa877, 0x0000, 0x080c, 0x6884, 0x080c, 0xbd15, 0x080c, 0x9e72, - 0x00ce, 0x9ce0, 0x0018, 0x7064, 0x9c02, 0x1210, 0x0804, 0xad9f, - 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, 0x009e, - 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, 0x080c, 0xd4f6, 0x0c30, - 0x9786, 0x000a, 0x0998, 0x0880, 0x220c, 0x2304, 0x9106, 0x1130, - 0x8210, 0x8318, 0x1f04, 0xae0c, 0x9006, 0x0005, 0x2304, 0x9102, - 0x0218, 0x2001, 0x0001, 0x0008, 0x9006, 0x918d, 0x0001, 0x0005, - 0x0136, 0x01c6, 0x0016, 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, - 0x21e0, 0x9084, 0xffc0, 0x9300, 0x2098, 0x3518, 0x20a9, 0x0001, - 0x220c, 0x4002, 0x910e, 0x1140, 0x8210, 0x8319, 0x1dc8, 0x9006, - 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, 0x9102, 0x0218, 0x2001, - 0x0001, 0x0010, 0x2001, 0x0000, 0x918d, 0x0001, 0x001e, 0x01ce, - 0x013e, 0x0005, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0db4, 0x080c, - 0xbd21, 0x0120, 0x080c, 0xbd32, 0x0168, 0x0028, 0x080c, 0x3005, - 0x080c, 0xbd32, 0x0138, 0x080c, 0x8861, 0x080c, 0x9e42, 0x080c, - 0x896d, 0x0005, 0x080c, 0xa7d1, 0x0cb0, 0x9182, 0x0054, 0x1220, - 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xae81, 0xae81, 0xae81, - 0xae81, 0xae81, 0xae81, 0xae81, 0xae81, 0xae81, 0xae81, 0xae81, - 0xae83, 0xae83, 0xae83, 0xae83, 0xae81, 0xae81, 0xae81, 0xae83, - 0xae81, 0x080c, 0x0db4, 0x600b, 0xffff, 0x6003, 0x0001, 0x6106, - 0x080c, 0x83da, 0x0126, 0x2091, 0x8000, 0x080c, 0x896d, 0x012e, - 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, - 0xaf38, 0x9186, 0x0027, 0x1520, 0x080c, 0x8861, 0x080c, 0x2fdc, - 0x080c, 0xc241, 0x0096, 0x6114, 0x2148, 0x080c, 0xbb2c, 0x0198, - 0x080c, 0xbd32, 0x1118, 0x080c, 0xa7d1, 0x0068, 0xa867, 0x0103, - 0xa87b, 0x0029, 0xa877, 0x0000, 0xa97c, 0xc1c5, 0xa97e, 0x080c, - 0x6891, 0x080c, 0xbd15, 0x009e, 0x080c, 0x9e42, 0x0804, 0x896d, - 0x9186, 0x0014, 0x1120, 0x6004, 0x9082, 0x0040, 0x04a0, 0x9186, - 0x0046, 0x0150, 0x9186, 0x0045, 0x0138, 0x9186, 0x0053, 0x0120, - 0x9186, 0x0048, 0x190c, 0x0db4, 0x2001, 0x0109, 0x2004, 0xd084, - 0x0508, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x0036, - 0x00f6, 0x00e6, 0x00c6, 0x2079, 0x19b7, 0x2071, 0x1800, 0x2061, - 0x0100, 0x080c, 0x82c6, 0x00ce, 0x00ee, 0x00fe, 0x003e, 0x002e, - 0x001e, 0x000e, 0x012e, 0xa001, 0x6000, 0x9086, 0x0002, 0x1110, - 0x0804, 0xaf76, 0x0005, 0x0002, 0xaf12, 0xaf10, 0xaf10, 0xaf10, - 0xaf10, 0xaf10, 0xaf10, 0xaf10, 0xaf10, 0xaf10, 0xaf10, 0xaf2d, - 0xaf2d, 0xaf2d, 0xaf2d, 0xaf10, 0xaf2d, 0xaf10, 0xaf2d, 0xaf10, - 0x080c, 0x0db4, 0x080c, 0x8861, 0x0096, 0x6114, 0x2148, 0x080c, - 0xbb2c, 0x0168, 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, - 0xa880, 0xc0ec, 0xa882, 0x080c, 0x6891, 0x080c, 0xbd15, 0x009e, - 0x080c, 0x9e42, 0x080c, 0x896d, 0x0005, 0x080c, 0x8861, 0x080c, - 0xbd32, 0x090c, 0xa7d1, 0x080c, 0x9e42, 0x080c, 0x896d, 0x0005, - 0x0002, 0xaf4f, 0xaf4d, 0xaf4d, 0xaf4d, 0xaf4d, 0xaf4d, 0xaf4d, - 0xaf4d, 0xaf4d, 0xaf4d, 0xaf4d, 0xaf66, 0xaf66, 0xaf66, 0xaf66, - 0xaf4d, 0xaf70, 0xaf4d, 0xaf66, 0xaf4d, 0x080c, 0x0db4, 0x0096, - 0x080c, 0x8861, 0x6014, 0x2048, 0x2001, 0x1958, 0x2004, 0x6042, - 0xa97c, 0xd1ac, 0x0140, 0x6003, 0x0004, 0xa87c, 0x9085, 0x0400, - 0xa87e, 0x009e, 0x0005, 0x6003, 0x0002, 0x0cb8, 0x080c, 0x8861, - 0x080c, 0xc244, 0x080c, 0xc249, 0x6003, 0x000f, 0x0804, 0x896d, - 0x080c, 0x8861, 0x080c, 0x9e42, 0x0804, 0x896d, 0x9182, 0x0054, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xaf92, 0xaf92, - 0xaf92, 0xaf92, 0xaf92, 0xaf94, 0xb071, 0xaf92, 0xb0a5, 0xaf92, - 0xaf92, 0xaf92, 0xaf92, 0xaf92, 0xaf92, 0xaf92, 0xaf92, 0xaf92, - 0xaf92, 0xb0a5, 0x080c, 0x0db4, 0x00b6, 0x0096, 0x6114, 0x2148, - 0x7644, 0x96b4, 0x0fff, 0x86ff, 0x1528, 0x6010, 0x2058, 0xb800, - 0xd0bc, 0x1904, 0xb060, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, - 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xb23a, - 0x080c, 0x66ac, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, - 0xba3e, 0x7044, 0xd0e4, 0x1904, 0xb044, 0x080c, 0x9e42, 0x009e, - 0x00be, 0x0005, 0x968c, 0x0c00, 0x0150, 0x6010, 0x2058, 0xb800, - 0xd0bc, 0x1904, 0xb048, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, - 0x00ff, 0x9186, 0x0002, 0x0508, 0x9186, 0x0028, 0x1118, 0xa87b, - 0x001c, 0x00e8, 0xd6dc, 0x01a0, 0xa87b, 0x0015, 0xa87c, 0xd0ac, - 0x0170, 0xa938, 0xaa34, 0x2100, 0x9205, 0x0148, 0x7048, 0x9106, - 0x1118, 0x704c, 0x9206, 0x0118, 0xa992, 0xaa8e, 0xc6dc, 0x0038, - 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xa867, - 0x0103, 0xae76, 0x901e, 0xd6c4, 0x01d8, 0x9686, 0x0100, 0x1130, - 0x7064, 0x9005, 0x1118, 0xc6c4, 0x0804, 0xaf9b, 0x735c, 0xab86, - 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, - 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, 0xb725, 0x003e, - 0xd6cc, 0x0904, 0xafb0, 0x7154, 0xa98a, 0x81ff, 0x0904, 0xafb0, - 0x9192, 0x0021, 0x1278, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, - 0x080c, 0xb725, 0x2011, 0x0205, 0x2013, 0x0000, 0x080c, 0xc1d1, - 0x0804, 0xafb0, 0xa868, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, - 0x0c50, 0x00a6, 0x2950, 0x080c, 0xb6c4, 0x00ae, 0x080c, 0xc1d1, - 0x080c, 0xb715, 0x0804, 0xafb2, 0x080c, 0xbe2a, 0x0804, 0xafbf, - 0xa87c, 0xd0ac, 0x0904, 0xafcb, 0xa880, 0xd0bc, 0x1904, 0xafcb, - 0x7348, 0xa838, 0x9306, 0x11c8, 0x734c, 0xa834, 0x931e, 0x0904, - 0xafcb, 0xd6d4, 0x0190, 0xab38, 0x9305, 0x0904, 0xafcb, 0x0068, - 0xa87c, 0xd0ac, 0x0904, 0xafa3, 0xa838, 0xa934, 0x9105, 0x0904, - 0xafa3, 0xa880, 0xd0bc, 0x1904, 0xafa3, 0x080c, 0xbe64, 0x0804, - 0xafbf, 0x0096, 0x00f6, 0x6003, 0x0003, 0x6007, 0x0043, 0x2079, - 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x6014, 0x2048, 0xa87c, - 0xd0ac, 0x0140, 0x6003, 0x0002, 0x00fe, 0x009e, 0x0005, 0x2130, - 0x2228, 0x0058, 0x2400, 0xa9ac, 0x910a, 0x2300, 0xaab0, 0x9213, - 0x2600, 0x9102, 0x2500, 0x9203, 0x0e90, 0xac36, 0xab3a, 0xae46, - 0xad4a, 0x00fe, 0x6043, 0x0000, 0x2c10, 0x080c, 0x1a5e, 0x080c, - 0x843f, 0x080c, 0x8a4a, 0x009e, 0x0005, 0x0005, 0x9182, 0x0054, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xb0c2, 0xb0c2, - 0xb0c2, 0xb0c2, 0xb0c2, 0xb0c4, 0xb15a, 0xb0c2, 0xb0c2, 0xb171, - 0xb1fd, 0xb0c2, 0xb0c2, 0xb0c2, 0xb0c2, 0xb212, 0xb0c2, 0xb0c2, - 0xb0c2, 0xb0c2, 0x080c, 0x0db4, 0x0076, 0x00a6, 0x00e6, 0x0096, - 0x2071, 0x0260, 0x6114, 0x2150, 0x7644, 0xb676, 0x96b4, 0x0fff, - 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, 0x2258, 0xba3c, 0x82ff, - 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, 0x0904, 0xb155, 0x9694, - 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0xb092, 0x704c, 0xb08e, - 0x9284, 0x0300, 0x0904, 0xb155, 0x080c, 0x0feb, 0x090c, 0x0db4, - 0x2900, 0xb07a, 0xb77c, 0xc7cd, 0xb77e, 0xa867, 0x0103, 0xb068, - 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, 0xae76, 0x968c, 0x0c00, - 0x0120, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, - 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, - 0xd6dc, 0x0118, 0xa87b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0xa87b, - 0x0007, 0x0010, 0xa87b, 0x0000, 0xaf7e, 0xb080, 0xa882, 0xb084, - 0xa886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0xab86, 0x83ff, 0x0170, - 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, - 0x0018, 0x2011, 0x0025, 0x080c, 0xb725, 0x003e, 0xd6cc, 0x01e8, - 0x7154, 0xa98a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, 0x8304, - 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xb725, 0x2011, 0x0205, - 0x2013, 0x0000, 0x0050, 0xb068, 0xd0fc, 0x0120, 0x2009, 0x0020, - 0xa98a, 0x0c68, 0x2950, 0x080c, 0xb6c4, 0x009e, 0x00ee, 0x00ae, - 0x007e, 0x0005, 0x00f6, 0x00a6, 0x6003, 0x0003, 0x2079, 0x026c, - 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x6014, 0x2050, 0xb436, 0xb33a, - 0xb646, 0xb54a, 0x00ae, 0x00fe, 0x2c10, 0x080c, 0x1a5e, 0x0804, - 0x937a, 0x6003, 0x0002, 0x6004, 0x9086, 0x0040, 0x11c8, 0x0096, - 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0160, 0x601c, 0xd084, 0x1130, - 0x00f6, 0x2c00, 0x2078, 0x080c, 0x164a, 0x00fe, 0x6003, 0x0004, - 0x0010, 0x6003, 0x0002, 0x009e, 0x080c, 0x8861, 0x080c, 0x896d, - 0x0096, 0x2001, 0x1958, 0x2004, 0x6042, 0x080c, 0x891d, 0x080c, - 0x8a4a, 0x6114, 0x2148, 0xa97c, 0xd1e4, 0x0904, 0xb1f8, 0xd1cc, - 0x05a8, 0xa978, 0xa868, 0xd0fc, 0x0538, 0x0016, 0xa87c, 0x0006, - 0xa880, 0x0006, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, 0x20a0, - 0x810e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, - 0x9080, 0x0019, 0x2098, 0x0156, 0x20a9, 0x0020, 0x4003, 0x015e, - 0x000e, 0xa882, 0x000e, 0xa87e, 0x001e, 0xa874, 0x0006, 0x2148, - 0x080c, 0x0f9d, 0x001e, 0x0440, 0x0016, 0x080c, 0x0f9d, 0x009e, - 0xa974, 0x0016, 0x080c, 0xb715, 0x001e, 0x00f0, 0xa867, 0x0103, - 0xa974, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0180, 0x9086, 0x0028, - 0x1118, 0xa87b, 0x001c, 0x0060, 0xd1dc, 0x0118, 0xa87b, 0x0015, - 0x0038, 0xd1d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, - 0x0016, 0x080c, 0x66ac, 0x001e, 0xd1e4, 0x1120, 0x080c, 0x9e42, - 0x009e, 0x0005, 0x080c, 0xbe2a, 0x0cd8, 0x6004, 0x9086, 0x0040, - 0x1120, 0x080c, 0x8861, 0x080c, 0x896d, 0x2019, 0x0001, 0x080c, - 0x96d9, 0x6003, 0x0002, 0x080c, 0xc249, 0x080c, 0x891d, 0x080c, - 0x8a4a, 0x0005, 0x6004, 0x9086, 0x0040, 0x1120, 0x080c, 0x8861, - 0x080c, 0x896d, 0x2019, 0x0001, 0x080c, 0x96d9, 0x080c, 0x891d, - 0x080c, 0x2fdc, 0x080c, 0xc241, 0x0096, 0x6114, 0x2148, 0x080c, - 0xbb2c, 0x0150, 0xa867, 0x0103, 0xa87b, 0x0029, 0xa877, 0x0000, - 0x080c, 0x6891, 0x080c, 0xbd15, 0x009e, 0x080c, 0x9e42, 0x080c, - 0x8a4a, 0x0005, 0xa87b, 0x0015, 0xd1fc, 0x0180, 0xa87b, 0x0007, - 0x8002, 0x8000, 0x810a, 0x9189, 0x0000, 0x0006, 0x0016, 0x2009, - 0x1a49, 0x2104, 0x8000, 0x200a, 0x001e, 0x000e, 0xa992, 0xa88e, - 0x0005, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, - 0x0005, 0xb26d, 0xb26d, 0xb26d, 0xb26d, 0xb26d, 0xb26f, 0xb26d, - 0xb26d, 0xb315, 0xb26d, 0xb26d, 0xb26d, 0xb26d, 0xb26d, 0xb26d, - 0xb26d, 0xb26d, 0xb26d, 0xb26d, 0xb446, 0x080c, 0x0db4, 0x0076, - 0x00a6, 0x00e6, 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, 0x7644, - 0xb676, 0x96b4, 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, - 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, - 0x0904, 0xb30e, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, - 0xb092, 0x704c, 0xb08e, 0x9284, 0x0300, 0x0904, 0xb30e, 0x9686, - 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, 0xb676, 0x0c38, - 0x080c, 0x0feb, 0x090c, 0x0db4, 0x2900, 0xb07a, 0xb77c, 0x97bd, - 0x0200, 0xb77e, 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, 0xa86e, - 0xb070, 0xa872, 0x7044, 0x9084, 0xf000, 0x9635, 0xae76, 0x968c, - 0x0c00, 0x0120, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, - 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, - 0x0060, 0xd6dc, 0x0118, 0xa87b, 0x0015, 0x0038, 0xd6d4, 0x0118, - 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xaf7e, 0xb080, 0xa882, - 0xb084, 0xa886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0xab86, 0x83ff, - 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, - 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, 0xb725, 0x003e, 0xd6cc, - 0x01e8, 0x7154, 0xa98a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, - 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xb725, 0x2011, - 0x0205, 0x2013, 0x0000, 0x0050, 0xb068, 0xd0fc, 0x0120, 0x2009, - 0x0020, 0xa98a, 0x0c68, 0x2950, 0x080c, 0xb6c4, 0x080c, 0x18ed, - 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, 0x2001, 0x1958, 0x2004, - 0x6042, 0x0096, 0x6114, 0x2148, 0xa83c, 0xa940, 0x9105, 0x1118, - 0xa87c, 0xc0dc, 0xa87e, 0x6003, 0x0002, 0xa97c, 0xd1e4, 0x0904, - 0xb441, 0x6043, 0x0000, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, - 0xd0bc, 0x1500, 0xd1cc, 0x0904, 0xb410, 0xa978, 0xa868, 0xd0fc, - 0x0904, 0xb3d1, 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, 0x00a6, - 0x2150, 0xb174, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0904, 0xb39f, - 0x9086, 0x0028, 0x1904, 0xb38b, 0xa87b, 0x001c, 0xb07b, 0x001c, - 0x0804, 0xb3a7, 0x6024, 0xd0f4, 0x11d0, 0xa838, 0xaa34, 0x9205, - 0x09c8, 0xa838, 0xaa90, 0x9206, 0x1120, 0xa88c, 0xaa34, 0x9206, - 0x0988, 0x6024, 0xd0d4, 0x1148, 0xa9ac, 0xa834, 0x9102, 0x603a, - 0xa9b0, 0xa838, 0x9103, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x6010, - 0x00b6, 0x2058, 0xb83c, 0x8000, 0xb83e, 0x00be, 0x9006, 0xa876, - 0xa892, 0xa88e, 0xa87c, 0xc0e4, 0xa87e, 0xd0cc, 0x0140, 0xc0cc, - 0xa87e, 0x0096, 0xa878, 0x2048, 0x080c, 0x0f9d, 0x009e, 0x080c, - 0xbe64, 0x0804, 0xb441, 0xd1dc, 0x0158, 0xa87b, 0x0015, 0xb07b, - 0x0015, 0x080c, 0xc0f4, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, - 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, 0xa87c, - 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xb23a, 0xa87c, - 0xb07e, 0xa890, 0xb092, 0xa88c, 0xb08e, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0019, 0x20a0, 0x20a9, 0x0020, 0x8a06, 0x8006, 0x8007, - 0x9094, 0x003f, 0x22e0, 0x9084, 0xffc0, 0x9080, 0x0019, 0x2098, - 0x4003, 0x00ae, 0x000e, 0xa882, 0x000e, 0xa87e, 0x080c, 0xc1d1, - 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, 0x0f9d, 0x001e, 0x0804, - 0xb43d, 0x0016, 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, 0x90b6, - 0x0002, 0x01e0, 0x9086, 0x0028, 0x1128, 0xa87b, 0x001c, 0xb07b, - 0x001c, 0x00e0, 0xd1dc, 0x0158, 0xa87b, 0x0015, 0xb07b, 0x0015, - 0x080c, 0xc0f4, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, - 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, 0xa87c, 0xd0ac, - 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xb23a, 0xa890, 0xb092, - 0xa88c, 0xb08e, 0xa87c, 0xb07e, 0x00ae, 0x080c, 0x0f9d, 0x009e, - 0x080c, 0xc1d1, 0xa974, 0x0016, 0x080c, 0xb715, 0x001e, 0x0468, - 0xa867, 0x0103, 0xa974, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01b0, - 0x9086, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00d0, 0xd1dc, 0x0148, - 0xa87b, 0x0015, 0x080c, 0xc0f4, 0x0118, 0xa974, 0xc1dc, 0xa976, - 0x0078, 0xd1d4, 0x0118, 0xa87b, 0x0007, 0x0050, 0xa87b, 0x0000, - 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xb23a, - 0xa974, 0x0016, 0x080c, 0x66ac, 0x001e, 0xd1e4, 0x1120, 0x080c, - 0x9e42, 0x009e, 0x0005, 0x080c, 0xbe2a, 0x0cd8, 0x6114, 0x0096, - 0x2148, 0xa97c, 0xd1e4, 0x190c, 0x18fb, 0x009e, 0x0005, 0x080c, - 0x8861, 0x0010, 0x080c, 0x891d, 0x080c, 0xbb2c, 0x01f0, 0x0096, - 0x6114, 0x2148, 0x080c, 0xbd32, 0x1118, 0x080c, 0xa7d1, 0x00a0, - 0xa867, 0x0103, 0x2009, 0x180c, 0x210c, 0xd18c, 0x11b8, 0xd184, - 0x1190, 0x6108, 0xa97a, 0x918e, 0x0029, 0x1110, 0x080c, 0xd7f4, - 0xa877, 0x0000, 0x080c, 0x6891, 0x009e, 0x080c, 0x9e42, 0x080c, - 0x896d, 0x0804, 0x8a4a, 0xa87b, 0x0004, 0x0c90, 0xa87b, 0x0004, - 0x0c78, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, - 0x0005, 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49f, 0xb49d, - 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49d, - 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0xb49d, 0x080c, 0x0db4, 0x080c, - 0x5397, 0x01f8, 0x6014, 0x7144, 0x918c, 0x0fff, 0x9016, 0xd1c4, - 0x0118, 0x7264, 0x9294, 0x00ff, 0x0096, 0x904d, 0x0188, 0xa87b, - 0x0000, 0xa864, 0x9086, 0x0139, 0x0128, 0xa867, 0x0103, 0xa976, - 0xaa96, 0x0030, 0xa897, 0x4000, 0xa99a, 0xaa9e, 0x080c, 0x6891, - 0x009e, 0x0804, 0x9e42, 0x9182, 0x0085, 0x0002, 0xb4d5, 0xb4d3, - 0xb4d3, 0xb4e1, 0xb4d3, 0xb4d3, 0xb4d3, 0xb4d3, 0xb4d3, 0xb4d3, - 0xb4d3, 0xb4d3, 0xb4d3, 0x080c, 0x0db4, 0x6003, 0x0001, 0x6106, - 0x080c, 0x83da, 0x0126, 0x2091, 0x8000, 0x080c, 0x896d, 0x012e, - 0x0005, 0x0026, 0x0056, 0x00d6, 0x00e6, 0x2071, 0x0260, 0x7224, - 0x6216, 0x7220, 0x080c, 0xbb1a, 0x01a0, 0x2268, 0x6800, 0x9086, - 0x0000, 0x0178, 0x6010, 0x6d10, 0x952e, 0x1158, 0x00c6, 0x2d60, - 0x080c, 0xb750, 0x00ce, 0x0128, 0x6803, 0x0002, 0x6007, 0x0086, - 0x0010, 0x6007, 0x0087, 0x6003, 0x0001, 0x080c, 0x83da, 0x080c, - 0x896d, 0x9280, 0x0004, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, - 0x0140, 0x6824, 0xd0ec, 0x0128, 0x00c6, 0x2260, 0x080c, 0xbe64, - 0x00ce, 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, 0x9186, 0x0013, - 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0db4, 0x908a, 0x0092, - 0x1a0c, 0x0db4, 0x9082, 0x0085, 0x00e2, 0x9186, 0x0027, 0x0120, - 0x9186, 0x0014, 0x190c, 0x0db4, 0x080c, 0x8861, 0x0096, 0x6014, - 0x2048, 0x080c, 0xbb2c, 0x0140, 0xa867, 0x0103, 0xa877, 0x0000, - 0xa87b, 0x0029, 0x080c, 0x6891, 0x009e, 0x080c, 0x9e72, 0x0804, - 0x896d, 0xb556, 0xb558, 0xb558, 0xb556, 0xb556, 0xb556, 0xb556, - 0xb556, 0xb556, 0xb556, 0xb556, 0xb556, 0xb556, 0x080c, 0x0db4, - 0x080c, 0x8861, 0x080c, 0x9e72, 0x080c, 0x896d, 0x0005, 0x9186, - 0x0013, 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, 0x04b8, 0x9186, - 0x0027, 0x11f8, 0x080c, 0x8861, 0x080c, 0x2fdc, 0x080c, 0xc241, - 0x0096, 0x6014, 0x2048, 0x080c, 0xbb2c, 0x0150, 0xa867, 0x0103, - 0xa877, 0x0000, 0xa87b, 0x0029, 0x080c, 0x6891, 0x080c, 0xbd15, - 0x009e, 0x080c, 0x9e42, 0x080c, 0x896d, 0x0005, 0x080c, 0x9ed7, - 0x0ce0, 0x9186, 0x0014, 0x1dd0, 0x080c, 0x8861, 0x0096, 0x6014, - 0x2048, 0x080c, 0xbb2c, 0x0d60, 0xa867, 0x0103, 0xa877, 0x0000, - 0xa87b, 0x0006, 0xa880, 0xc0ec, 0xa882, 0x08f0, 0x0002, 0xb5ae, - 0xb5ac, 0xb5ac, 0xb5ac, 0xb5ac, 0xb5ac, 0xb5c6, 0xb5ac, 0xb5ac, - 0xb5ac, 0xb5ac, 0xb5ac, 0xb5ac, 0x080c, 0x0db4, 0x080c, 0x8861, - 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, - 0x0035, 0x1118, 0x2001, 0x1956, 0x0010, 0x2001, 0x1957, 0x2004, - 0x601a, 0x6003, 0x000c, 0x080c, 0x896d, 0x0005, 0x080c, 0x8861, - 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, - 0x0035, 0x1118, 0x2001, 0x1956, 0x0010, 0x2001, 0x1957, 0x2004, - 0x601a, 0x6003, 0x000e, 0x080c, 0x896d, 0x0005, 0x9182, 0x0092, - 0x1220, 0x9182, 0x0085, 0x0208, 0x0012, 0x0804, 0x9ed7, 0xb5f4, - 0xb5f4, 0xb5f4, 0xb5f4, 0xb5f6, 0xb643, 0xb5f4, 0xb5f4, 0xb5f4, - 0xb5f4, 0xb5f4, 0xb5f4, 0xb5f4, 0x080c, 0x0db4, 0x0096, 0x6010, - 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0168, 0x6034, 0x908c, - 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, - 0x009e, 0x0804, 0xb657, 0x080c, 0xbb2c, 0x1118, 0x080c, 0xbd15, - 0x0068, 0x6014, 0x2048, 0xa87c, 0xd0e4, 0x1110, 0x080c, 0xbd15, - 0xa867, 0x0103, 0x080c, 0xc20c, 0x080c, 0x6891, 0x00d6, 0x2c68, - 0x080c, 0x9dec, 0x01d0, 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, - 0xffff, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, - 0x613e, 0x6910, 0x6112, 0x080c, 0xbfa6, 0x6954, 0x6156, 0x6023, - 0x0001, 0x080c, 0x83da, 0x080c, 0x896d, 0x2d60, 0x00de, 0x080c, - 0x9e42, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, - 0xd0bc, 0x05a0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, - 0x0130, 0x9186, 0x001e, 0x0118, 0x9186, 0x0039, 0x1538, 0x00d6, - 0x2c68, 0x080c, 0xc1a4, 0x11f0, 0x080c, 0x9dec, 0x01d8, 0x6106, - 0x6003, 0x0001, 0x6023, 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, - 0x6930, 0x6132, 0x6934, 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, - 0x693c, 0x613e, 0x6954, 0x6156, 0x080c, 0xbfa6, 0x080c, 0x83da, - 0x080c, 0x896d, 0x2d60, 0x00de, 0x0804, 0x9e42, 0x0096, 0x6014, - 0x2048, 0x080c, 0xbb2c, 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, - 0x0128, 0xc0ec, 0xa882, 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, - 0xa87b, 0x0002, 0x0020, 0xa87b, 0x0005, 0x080c, 0xbe26, 0xa877, - 0x0000, 0x080c, 0x6891, 0x080c, 0xbd15, 0x009e, 0x0804, 0x9e42, - 0x0016, 0x0096, 0x6014, 0x2048, 0x080c, 0xbb2c, 0x0140, 0xa867, - 0x0103, 0xa87b, 0x0028, 0xa877, 0x0000, 0x080c, 0x6891, 0x009e, - 0x001e, 0x9186, 0x0013, 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, - 0x0027, 0x0118, 0x080c, 0x9ed7, 0x0030, 0x080c, 0x8861, 0x080c, - 0x9e72, 0x080c, 0x896d, 0x0005, 0x0056, 0x0066, 0x0096, 0x00a6, - 0x2029, 0x0001, 0x9182, 0x0101, 0x1208, 0x0010, 0x2009, 0x0100, - 0x2130, 0x8304, 0x9098, 0x0018, 0x2009, 0x0020, 0x2011, 0x0029, - 0x080c, 0xb725, 0x96b2, 0x0020, 0xb004, 0x904d, 0x0110, 0x080c, - 0x0f9d, 0x080c, 0x0feb, 0x0520, 0x8528, 0xa867, 0x0110, 0xa86b, - 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, 0x1228, 0x2608, 0x2011, - 0x001b, 0x0499, 0x00a8, 0x96b2, 0x003c, 0x2009, 0x003c, 0x2950, - 0x2011, 0x001b, 0x0451, 0x0c28, 0x2001, 0x0205, 0x2003, 0x0000, - 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, 0x95ac, 0x0000, 0x0048, - 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, - 0xb566, 0x009e, 0x006e, 0x005e, 0x0005, 0x00a6, 0x89ff, 0x0158, - 0xa804, 0x9055, 0x0130, 0xa807, 0x0000, 0x080c, 0x6891, 0x2a48, - 0x0cb8, 0x080c, 0x6891, 0x00ae, 0x0005, 0x00f6, 0x2079, 0x0200, - 0x7814, 0x9085, 0x0080, 0x7816, 0xd184, 0x0108, 0x8108, 0x810c, - 0x20a9, 0x0001, 0xa860, 0x20e8, 0xa85c, 0x9200, 0x20a0, 0x20e1, - 0x0000, 0x2300, 0x9e00, 0x2098, 0x4003, 0x8318, 0x9386, 0x0020, - 0x1148, 0x2018, 0x2300, 0x9e00, 0x2098, 0x7814, 0x8000, 0x9085, - 0x0080, 0x7816, 0x8109, 0x1d80, 0x7817, 0x0000, 0x00fe, 0x0005, - 0x0066, 0x0126, 0x2091, 0x8000, 0x2031, 0x0001, 0x6020, 0x9084, - 0x000f, 0x0083, 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, - 0x0066, 0x2031, 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, - 0x012e, 0x0005, 0xb78b, 0xb78b, 0xb786, 0xb7ad, 0xb779, 0xb786, - 0xb7ad, 0xb786, 0xb779, 0xb779, 0xb786, 0xb786, 0xb786, 0xb779, - 0xb779, 0x080c, 0x0db4, 0x0036, 0x2019, 0x0010, 0x080c, 0xd106, - 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, - 0x9085, 0x0001, 0x0005, 0x0096, 0x86ff, 0x11d8, 0x6014, 0x2048, - 0x080c, 0xbb2c, 0x01c0, 0xa864, 0x9086, 0x0139, 0x1128, 0xa87b, - 0x0005, 0xa883, 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, - 0x6abf, 0x080c, 0xbe26, 0x080c, 0x6884, 0x080c, 0x9e72, 0x9085, - 0x0001, 0x009e, 0x0005, 0x9006, 0x0ce0, 0x6000, 0x908a, 0x0016, - 0x1a0c, 0x0db4, 0x0002, 0xb7c3, 0xb7f1, 0xb7c5, 0xb812, 0xb7ec, - 0xb7c3, 0xb786, 0xb78b, 0xb78b, 0xb786, 0xb786, 0xb786, 0xb786, - 0xb786, 0xb786, 0xb786, 0x080c, 0x0db4, 0x86ff, 0x1510, 0x6020, - 0x9086, 0x0006, 0x01f0, 0x0096, 0x6014, 0x2048, 0x080c, 0xbb2c, - 0x0158, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, - 0x0f9d, 0x009e, 0x080c, 0xbe26, 0x009e, 0x080c, 0xc1e6, 0x6007, - 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, 0x83da, 0x080c, - 0x896d, 0x9085, 0x0001, 0x0005, 0x0066, 0x080c, 0x190f, 0x006e, - 0x08a0, 0x00e6, 0x2071, 0x19b7, 0x7024, 0x9c06, 0x1120, 0x080c, - 0x9663, 0x00ee, 0x0850, 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, - 0x1150, 0x0086, 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0x97bb, - 0x009e, 0x008e, 0x0010, 0x080c, 0x9560, 0x00ee, 0x1904, 0xb7c5, - 0x0804, 0xb786, 0x0036, 0x00e6, 0x2071, 0x19b7, 0x703c, 0x9c06, - 0x1138, 0x901e, 0x080c, 0x96d9, 0x00ee, 0x003e, 0x0804, 0xb7c5, - 0x080c, 0x98eb, 0x00ee, 0x003e, 0x1904, 0xb7c5, 0x0804, 0xb786, - 0x00c6, 0x6020, 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xb845, - 0xb910, 0xba77, 0xb84f, 0x9e72, 0xb845, 0xd0f8, 0xc24e, 0xb910, - 0xb83e, 0xbaf6, 0xb83e, 0xb83e, 0xb83e, 0xb83e, 0x080c, 0x0db4, - 0x080c, 0xbd32, 0x1110, 0x080c, 0xa7d1, 0x0005, 0x080c, 0x8861, - 0x080c, 0x896d, 0x0804, 0x9e42, 0x601b, 0x0001, 0x0005, 0x080c, - 0xbb2c, 0x0130, 0x6014, 0x0096, 0x2048, 0x2c00, 0xa896, 0x009e, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0db4, 0x0002, 0xb86e, 0xb870, - 0xb894, 0xb8a8, 0xb8ce, 0xb86e, 0xb845, 0xb845, 0xb845, 0xb8a8, - 0xb8a8, 0xb86e, 0xb86e, 0xb86e, 0xb86e, 0xb8b2, 0x080c, 0x0db4, - 0x00e6, 0x6014, 0x0096, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, - 0x2071, 0x19b7, 0x7024, 0x9c06, 0x01a0, 0x080c, 0x9560, 0x080c, - 0xc1e6, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, - 0x1957, 0x2004, 0x601a, 0x080c, 0x83da, 0x080c, 0x896d, 0x00ee, - 0x0005, 0x601b, 0x0001, 0x0cd8, 0x0096, 0x6014, 0x2048, 0xa880, - 0xc0b5, 0xa882, 0x009e, 0x080c, 0xc1e6, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x080c, 0x83da, 0x080c, 0x896d, 0x0005, - 0x0096, 0x601b, 0x0001, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, - 0x009e, 0x0005, 0x080c, 0x5397, 0x01b8, 0x6014, 0x0096, 0x904d, - 0x0190, 0xa864, 0xa867, 0x0103, 0xa87b, 0x0006, 0x9086, 0x0139, - 0x1150, 0xa867, 0x0139, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa89b, - 0x0004, 0x080c, 0x6891, 0x009e, 0x0804, 0x9e42, 0x6014, 0x0096, - 0x904d, 0x05c8, 0xa97c, 0xd1e4, 0x05b0, 0x2001, 0x180f, 0x2004, - 0xd0c4, 0x0110, 0x009e, 0x0005, 0xa884, 0x009e, 0x8003, 0x800b, - 0x810b, 0x9108, 0x611a, 0x2001, 0x0030, 0x2c08, 0x080c, 0x151a, - 0x2001, 0x030c, 0x2004, 0x9086, 0x0041, 0x11a0, 0x6014, 0x0096, - 0x904d, 0x090c, 0x0db4, 0xa880, 0xd0f4, 0x1130, 0xc0f5, 0xa882, - 0x009e, 0x601b, 0x0002, 0x0070, 0x009e, 0x2001, 0x0037, 0x2c08, - 0x080c, 0x151a, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, - 0x080c, 0x9ebc, 0x0005, 0x009e, 0x080c, 0x190f, 0x0804, 0xb894, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0db4, 0x000b, 0x0005, 0xb927, - 0xb84c, 0xb929, 0xb927, 0xb929, 0xb929, 0xb846, 0xb927, 0xb840, - 0xb840, 0xb927, 0xb927, 0xb927, 0xb927, 0xb927, 0xb927, 0x080c, - 0x0db4, 0x6010, 0x00b6, 0x2058, 0xb804, 0x9084, 0x00ff, 0x00be, - 0x908a, 0x000c, 0x1a0c, 0x0db4, 0x00b6, 0x0013, 0x00be, 0x0005, - 0xb944, 0xba11, 0xb946, 0xb986, 0xb946, 0xb986, 0xb946, 0xb954, - 0xb944, 0xb986, 0xb944, 0xb975, 0x080c, 0x0db4, 0x6004, 0x908e, - 0x0016, 0x05c0, 0x908e, 0x0004, 0x05a8, 0x908e, 0x0002, 0x0590, - 0x908e, 0x0052, 0x0904, 0xba0d, 0x6004, 0x080c, 0xbd32, 0x0904, - 0xba2a, 0x908e, 0x0004, 0x1110, 0x080c, 0x3005, 0x908e, 0x0021, - 0x0904, 0xba2e, 0x908e, 0x0022, 0x0904, 0xba72, 0x908e, 0x003d, - 0x0904, 0xba2e, 0x908e, 0x0039, 0x0904, 0xba32, 0x908e, 0x0035, - 0x0904, 0xba32, 0x908e, 0x001e, 0x0178, 0x908e, 0x0001, 0x1140, - 0x6010, 0x2058, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0110, - 0x080c, 0x2fdc, 0x080c, 0xa7d1, 0x0804, 0x9e72, 0x00c6, 0x00d6, - 0x6104, 0x9186, 0x0016, 0x0904, 0xb9fe, 0x9186, 0x0002, 0x1904, - 0xb9d3, 0x2001, 0x1836, 0x2004, 0xd08c, 0x11c8, 0x080c, 0x6f9b, - 0x11b0, 0x080c, 0xc22c, 0x0138, 0x080c, 0x6fbe, 0x1120, 0x080c, - 0x6eab, 0x0804, 0xba5b, 0x2001, 0x194d, 0x2003, 0x0001, 0x2001, - 0x1800, 0x2003, 0x0001, 0x080c, 0x6ecd, 0x0804, 0xba5b, 0x6010, - 0x2058, 0x2001, 0x1836, 0x2004, 0xd0ac, 0x1904, 0xba5b, 0xb8a0, - 0x9084, 0xff80, 0x1904, 0xba5b, 0xb840, 0x9084, 0x00ff, 0x9005, - 0x0190, 0x8001, 0xb842, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, - 0x0398, 0x6043, 0x0000, 0x080c, 0x9dec, 0x0128, 0x2b00, 0x6012, - 0x6023, 0x0001, 0x0458, 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, - 0x11a0, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1170, 0x2009, - 0x1836, 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, 0x1800, 0x080c, - 0x5c6d, 0x00ee, 0x080c, 0xa7d1, 0x0030, 0x080c, 0xa7d1, 0x080c, - 0x2fdc, 0x080c, 0xc241, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, - 0x3005, 0x012e, 0x00ee, 0x080c, 0x9e72, 0x0005, 0x2001, 0x0002, - 0x080c, 0x6198, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8422, - 0x080c, 0x896d, 0x00de, 0x00ce, 0x0c80, 0x080c, 0x3005, 0x0804, - 0xb982, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0d38, 0x6010, - 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0904, 0xb9d3, 0x8001, - 0xb842, 0x6003, 0x0001, 0x080c, 0x8422, 0x080c, 0x896d, 0x00de, - 0x00ce, 0x0898, 0x080c, 0xa7d1, 0x0804, 0xb984, 0x080c, 0xa80d, - 0x0804, 0xb984, 0x00d6, 0x2c68, 0x6104, 0x080c, 0xc1a4, 0x00de, - 0x0118, 0x080c, 0x9e42, 0x00f0, 0x6004, 0x8007, 0x6134, 0x918c, - 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, - 0x0002, 0x603c, 0x600a, 0x2001, 0x1957, 0x2004, 0x601a, 0x602c, - 0x2c08, 0x2060, 0x6024, 0xc0b5, 0x6026, 0x2160, 0x080c, 0x83da, - 0x080c, 0x896d, 0x0005, 0x00de, 0x00ce, 0x080c, 0xa7d1, 0x080c, - 0x2fdc, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x3005, 0x6017, - 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, 0x0000, 0x012e, - 0x00ee, 0x0005, 0x080c, 0xa272, 0x1904, 0xba2a, 0x0005, 0x6000, - 0x908a, 0x0016, 0x1a0c, 0x0db4, 0x0096, 0x00d6, 0x001b, 0x00de, - 0x009e, 0x0005, 0xba92, 0xba92, 0xba92, 0xba92, 0xba92, 0xba92, - 0xba92, 0xba92, 0xba92, 0xb845, 0xba92, 0xb84c, 0xba94, 0xb84c, - 0xbaa1, 0xba92, 0x080c, 0x0db4, 0x6004, 0x9086, 0x008b, 0x0148, - 0x6007, 0x008b, 0x6003, 0x000d, 0x080c, 0x83da, 0x080c, 0x896d, - 0x0005, 0x080c, 0xc220, 0x0118, 0x080c, 0xc233, 0x0010, 0x080c, - 0xc241, 0x080c, 0xbd15, 0x080c, 0xbb2c, 0x0570, 0x080c, 0x2fdc, - 0x080c, 0xbb2c, 0x0168, 0x6014, 0x2048, 0xa867, 0x0103, 0xa87b, - 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ed, 0xa882, 0x080c, 0x6891, - 0x2c68, 0x080c, 0x9dec, 0x0150, 0x6810, 0x6012, 0x080c, 0xbfa6, - 0x00c6, 0x2d60, 0x080c, 0x9e72, 0x00ce, 0x0008, 0x2d60, 0x6017, - 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, - 0x8422, 0x080c, 0x896d, 0x00c8, 0x080c, 0xc220, 0x0138, 0x6034, - 0x9086, 0x4000, 0x1118, 0x080c, 0x2fdc, 0x08d0, 0x6034, 0x908c, - 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, - 0x080c, 0x2fdc, 0x0868, 0x080c, 0x9e72, 0x0005, 0x6000, 0x908a, - 0x0016, 0x1a0c, 0x0db4, 0x0002, 0xbb0c, 0xbb0c, 0xbb0e, 0xbb0e, - 0xbb0e, 0xbb0c, 0xbb0c, 0x9e72, 0xbb0c, 0xbb0c, 0xbb0c, 0xbb0c, - 0xbb0c, 0xbb0c, 0xbb0c, 0xbb0c, 0x080c, 0x0db4, 0x080c, 0x98eb, - 0x6114, 0x0096, 0x2148, 0xa87b, 0x0006, 0x080c, 0x6891, 0x009e, - 0x0804, 0x9e42, 0x9284, 0x0007, 0x1158, 0x9282, 0x1cd0, 0x0240, - 0x2001, 0x1819, 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, 0x0005, - 0x9006, 0x0ce8, 0x0096, 0x0028, 0x0096, 0x0006, 0x6014, 0x2048, - 0x000e, 0x0006, 0x9984, 0xf000, 0x9086, 0xf000, 0x0110, 0x080c, - 0x1096, 0x000e, 0x009e, 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, - 0x0126, 0x2091, 0x8000, 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7350, - 0x7070, 0x9302, 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, 0xc22c, - 0x0180, 0x9286, 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, 0x1148, - 0x080c, 0x2fdc, 0x080c, 0xc241, 0x00c6, 0x080c, 0x9e72, 0x00ce, - 0x0060, 0x080c, 0xbf20, 0x0148, 0x080c, 0xbd32, 0x1110, 0x080c, - 0xa7d1, 0x00c6, 0x080c, 0x9e42, 0x00ce, 0x9ce0, 0x0018, 0x7064, - 0x9c02, 0x1208, 0x08a0, 0x012e, 0x000e, 0x003e, 0x00ce, 0x00ee, - 0x0005, 0x00e6, 0x00c6, 0x0016, 0x9188, 0x1000, 0x210c, 0x81ff, - 0x0128, 0x2061, 0x1a7f, 0x6112, 0x080c, 0x2fdc, 0x9006, 0x0010, - 0x9085, 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, 0x0126, - 0x2091, 0x8000, 0x080c, 0x9dec, 0x01b0, 0x6656, 0x2b00, 0x6012, - 0x080c, 0x5397, 0x0118, 0x080c, 0xbc59, 0x0168, 0x080c, 0xbfa6, - 0x6023, 0x0003, 0x2009, 0x004b, 0x080c, 0x9ebc, 0x9085, 0x0001, + 0x4000, 0x080c, 0xc11a, 0x0060, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x0029, 0x0130, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, + 0x009e, 0x080c, 0x3010, 0x6020, 0x9086, 0x000a, 0x0138, 0x080c, + 0x9e2f, 0x0020, 0x080c, 0xa7cd, 0x080c, 0xaa70, 0x001e, 0x002e, + 0x00ee, 0x00be, 0x0005, 0x2011, 0x1823, 0x2204, 0x9086, 0x0014, + 0x1160, 0x2001, 0x0002, 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, + 0x0001, 0x080c, 0x8440, 0x0804, 0x898b, 0x0804, 0xaa70, 0x2030, + 0x2011, 0x1823, 0x2204, 0x9086, 0x0004, 0x1148, 0x96b6, 0x000b, + 0x1120, 0x2001, 0x0007, 0x080c, 0x61a7, 0x0804, 0x9e2f, 0x0804, + 0xaa70, 0x0002, 0xa8ae, 0xab69, 0xa8ae, 0xaba8, 0xa8ae, 0xac53, + 0xab5e, 0xa8ae, 0xa8ae, 0xac66, 0xa8ae, 0xac76, 0x6604, 0x9686, + 0x0003, 0x0904, 0xaa85, 0x96b6, 0x001e, 0x1110, 0x080c, 0x9e2f, + 0x0005, 0x00b6, 0x00d6, 0x00c6, 0x080c, 0xac86, 0x11a0, 0x9006, + 0x080c, 0x6193, 0x080c, 0x2fe7, 0x080c, 0xc250, 0x2001, 0x0002, + 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8440, + 0x080c, 0x898b, 0x0408, 0x2009, 0x026e, 0x2104, 0x9086, 0x0009, + 0x1160, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0170, + 0x8001, 0xb842, 0x601b, 0x000a, 0x0078, 0x2009, 0x026f, 0x2104, + 0x9084, 0xff00, 0x9086, 0x1900, 0x1108, 0x08a0, 0x080c, 0x2fe7, + 0x080c, 0xc250, 0x080c, 0xaa70, 0x00ce, 0x00de, 0x00be, 0x0005, + 0x0096, 0x00b6, 0x0026, 0x9016, 0x080c, 0xac94, 0x00d6, 0x2069, + 0x1954, 0x2d04, 0x9005, 0x0168, 0x6010, 0x2058, 0xb8a0, 0x9086, + 0x007e, 0x1138, 0x2069, 0x181f, 0x2d04, 0x8000, 0x206a, 0x00de, + 0x0010, 0x00de, 0x0088, 0x9006, 0x080c, 0x6193, 0x2001, 0x0002, + 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8440, + 0x080c, 0x898b, 0x0804, 0xac23, 0x080c, 0xbb3b, 0x01b0, 0x6014, + 0x2048, 0xa864, 0x2010, 0x9086, 0x0139, 0x1138, 0x6007, 0x0016, + 0x2001, 0x0002, 0x080c, 0xc174, 0x00b0, 0x6014, 0x2048, 0xa864, + 0xd0fc, 0x0118, 0x2001, 0x0001, 0x0ca8, 0x2001, 0x180e, 0x2004, + 0xd0dc, 0x0148, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, + 0x1110, 0x9006, 0x0c38, 0x080c, 0xa7cd, 0x2009, 0x026e, 0x2134, + 0x96b4, 0x00ff, 0x9686, 0x0005, 0x0510, 0x9686, 0x000b, 0x01c8, + 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x1118, 0x9686, 0x0009, + 0x01b0, 0x9086, 0x1900, 0x1168, 0x9686, 0x0009, 0x0180, 0x2001, + 0x0004, 0x080c, 0x61a7, 0x2001, 0x0028, 0x601a, 0x6007, 0x0052, + 0x0010, 0x080c, 0xaa70, 0x002e, 0x00be, 0x009e, 0x0005, 0x9286, + 0x0139, 0x0160, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0140, 0xa864, + 0x9086, 0x0139, 0x0118, 0xa868, 0xd0fc, 0x0108, 0x0c50, 0x6010, + 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0138, 0x8001, 0xb842, + 0x601b, 0x000a, 0x6007, 0x0016, 0x08f0, 0xb8a0, 0x9086, 0x007e, + 0x1138, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5c78, 0x00ee, 0x0010, + 0x080c, 0x2fe7, 0x0870, 0x080c, 0xac94, 0x1160, 0x2001, 0x0004, + 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x8440, + 0x0804, 0x898b, 0x080c, 0xa7cd, 0x0804, 0xaa70, 0x0469, 0x1160, + 0x2001, 0x0008, 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, 0x0005, + 0x080c, 0x8440, 0x0804, 0x898b, 0x0804, 0xaa70, 0x00e9, 0x1160, + 0x2001, 0x000a, 0x080c, 0x61a7, 0x6003, 0x0001, 0x6007, 0x0001, + 0x080c, 0x8440, 0x0804, 0x898b, 0x0804, 0xaa70, 0x2009, 0x026e, + 0x2104, 0x9086, 0x0003, 0x1138, 0x2009, 0x026f, 0x2104, 0x9084, + 0xff00, 0x9086, 0x2a00, 0x0005, 0x9085, 0x0001, 0x0005, 0x00b6, + 0x00c6, 0x0016, 0x6110, 0x2158, 0x080c, 0x6265, 0x001e, 0x00ce, + 0x00be, 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x00d6, 0x0036, 0x0016, + 0x6010, 0x2058, 0x2009, 0x1836, 0x2104, 0x9085, 0x0003, 0x200a, + 0x080c, 0xad3a, 0x0560, 0x2009, 0x1836, 0x2104, 0xc0cd, 0x200a, + 0x080c, 0x6576, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, + 0xd564, 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, + 0x2009, 0x0001, 0x080c, 0x2fb2, 0x00e6, 0x2071, 0x1800, 0x080c, + 0x2dc8, 0x00ee, 0x00c6, 0x0156, 0x20a9, 0x0781, 0x2009, 0x007f, + 0x080c, 0x30e2, 0x8108, 0x1f04, 0xacd8, 0x015e, 0x00ce, 0x080c, + 0xac97, 0x2071, 0x0260, 0x2079, 0x0200, 0x7817, 0x0001, 0x2001, + 0x1836, 0x200c, 0xc1c5, 0x7018, 0xd0fc, 0x0110, 0xd0dc, 0x0118, + 0x7038, 0xd0dc, 0x1108, 0xc1c4, 0x7817, 0x0000, 0x2001, 0x1836, + 0x2102, 0x2079, 0x0100, 0x2e04, 0x9084, 0x00ff, 0x2069, 0x181e, + 0x206a, 0x78e6, 0x0006, 0x8e70, 0x2e04, 0x2069, 0x181f, 0x206a, + 0x78ea, 0x7832, 0x7836, 0x2010, 0x9084, 0xff00, 0x001e, 0x9105, + 0x2009, 0x182b, 0x200a, 0x2200, 0x9084, 0x00ff, 0x2008, 0x080c, + 0x26b9, 0x080c, 0x6faa, 0x0170, 0x2071, 0x0260, 0x2069, 0x195a, + 0x7048, 0x206a, 0x704c, 0x6806, 0x7050, 0x680a, 0x7054, 0x680e, + 0x080c, 0xbf4f, 0x0040, 0x2001, 0x0006, 0x080c, 0x61a7, 0x080c, + 0x3010, 0x080c, 0x9e2f, 0x001e, 0x003e, 0x00de, 0x00ee, 0x00fe, + 0x00be, 0x0005, 0x0096, 0x0026, 0x0036, 0x00e6, 0x0156, 0x2019, + 0x182b, 0x231c, 0x83ff, 0x01f0, 0x2071, 0x0260, 0x7200, 0x9294, + 0x00ff, 0x7004, 0x9084, 0xff00, 0x9205, 0x9306, 0x1198, 0x2011, + 0x0276, 0x20a9, 0x0004, 0x2b48, 0x2019, 0x000a, 0x080c, 0xae1c, + 0x1148, 0x2011, 0x027a, 0x20a9, 0x0004, 0x2019, 0x0006, 0x080c, + 0xae1c, 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, 0x009e, 0x0005, + 0x00e6, 0x2071, 0x0260, 0x7034, 0x9086, 0x0014, 0x11a8, 0x7038, + 0x9086, 0x0800, 0x1188, 0x703c, 0xd0ec, 0x0160, 0x9084, 0x0f00, + 0x9086, 0x0100, 0x1138, 0x7054, 0xd0a4, 0x1110, 0xd0ac, 0x0110, + 0x9006, 0x0010, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x0096, + 0x00c6, 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, 0x2091, + 0x8000, 0x2029, 0x19c8, 0x252c, 0x2021, 0x19ce, 0x2424, 0x2061, + 0x1cd0, 0x2071, 0x1800, 0x7250, 0x7070, 0x9202, 0x1a04, 0xadf4, + 0x080c, 0xd595, 0x0904, 0xaded, 0x6720, 0x9786, 0x0007, 0x0904, + 0xaded, 0x2500, 0x9c06, 0x0904, 0xaded, 0x2400, 0x9c06, 0x05e8, + 0x3e08, 0x9186, 0x0002, 0x1148, 0x6010, 0x9005, 0x0130, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1580, 0x00c6, 0x6000, 0x9086, + 0x0004, 0x1110, 0x080c, 0x191f, 0x9786, 0x000a, 0x0148, 0x080c, + 0xbd41, 0x1130, 0x00ce, 0x080c, 0xa7cd, 0x080c, 0x9e5f, 0x00e8, + 0x6014, 0x2048, 0x080c, 0xbb3b, 0x01a8, 0x9786, 0x0003, 0x1530, + 0xa867, 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, + 0x080c, 0x0f9d, 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6893, + 0x080c, 0xbd24, 0x080c, 0x9e5f, 0x00ce, 0x9ce0, 0x0018, 0x7064, + 0x9c02, 0x1210, 0x0804, 0xad9b, 0x012e, 0x000e, 0x002e, 0x004e, + 0x005e, 0x007e, 0x00ce, 0x009e, 0x00ee, 0x0005, 0x9786, 0x0006, + 0x1118, 0x080c, 0xd50f, 0x0c30, 0x9786, 0x000a, 0x0998, 0x0880, + 0x220c, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xae08, + 0x9006, 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, 0x0008, + 0x9006, 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, 0x0016, 0x8906, + 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9300, + 0x2098, 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, 0x910e, 0x1140, + 0x8210, 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, 0x013e, 0x0005, + 0x220c, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, 0x0000, + 0x918d, 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, 0x6004, 0x908a, + 0x0053, 0x1a0c, 0x0db4, 0x080c, 0xbd30, 0x0120, 0x080c, 0xbd41, + 0x0168, 0x0028, 0x080c, 0x3010, 0x080c, 0xbd41, 0x0138, 0x080c, + 0x887f, 0x080c, 0x9e2f, 0x080c, 0x898b, 0x0005, 0x080c, 0xa7cd, + 0x0cb0, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, + 0x0005, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, + 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7f, 0xae7f, 0xae7f, 0xae7f, + 0xae7d, 0xae7d, 0xae7d, 0xae7f, 0xae7d, 0x080c, 0x0db4, 0x600b, + 0xffff, 0x6003, 0x0001, 0x6106, 0x080c, 0x83f8, 0x0126, 0x2091, + 0x8000, 0x080c, 0x898b, 0x012e, 0x0005, 0x9186, 0x0013, 0x1128, + 0x6004, 0x9082, 0x0040, 0x0804, 0xaf34, 0x9186, 0x0027, 0x1520, + 0x080c, 0x887f, 0x080c, 0x2fe7, 0x080c, 0xc250, 0x0096, 0x6114, + 0x2148, 0x080c, 0xbb3b, 0x0198, 0x080c, 0xbd41, 0x1118, 0x080c, + 0xa7cd, 0x0068, 0xa867, 0x0103, 0xa87b, 0x0029, 0xa877, 0x0000, + 0xa97c, 0xc1c5, 0xa97e, 0x080c, 0x68a0, 0x080c, 0xbd24, 0x009e, + 0x080c, 0x9e2f, 0x0804, 0x898b, 0x9186, 0x0014, 0x1120, 0x6004, + 0x9082, 0x0040, 0x04a0, 0x9186, 0x0046, 0x0150, 0x9186, 0x0045, + 0x0138, 0x9186, 0x0053, 0x0120, 0x9186, 0x0048, 0x190c, 0x0db4, + 0x2001, 0x0109, 0x2004, 0xd084, 0x0508, 0x0126, 0x2091, 0x2800, + 0x0006, 0x0016, 0x0026, 0x0036, 0x00f6, 0x00e6, 0x00c6, 0x2079, + 0x19bf, 0x2071, 0x1800, 0x2061, 0x0100, 0x080c, 0x82e4, 0x00ce, + 0x00ee, 0x00fe, 0x003e, 0x002e, 0x001e, 0x000e, 0x012e, 0xa001, + 0x6000, 0x9086, 0x0002, 0x1110, 0x0804, 0xaf72, 0x0005, 0x0002, + 0xaf0e, 0xaf0c, 0xaf0c, 0xaf0c, 0xaf0c, 0xaf0c, 0xaf0c, 0xaf0c, + 0xaf0c, 0xaf0c, 0xaf0c, 0xaf29, 0xaf29, 0xaf29, 0xaf29, 0xaf0c, + 0xaf29, 0xaf0c, 0xaf29, 0xaf0c, 0x080c, 0x0db4, 0x080c, 0x887f, + 0x0096, 0x6114, 0x2148, 0x080c, 0xbb3b, 0x0168, 0xa867, 0x0103, + 0xa87b, 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ec, 0xa882, 0x080c, + 0x68a0, 0x080c, 0xbd24, 0x009e, 0x080c, 0x9e2f, 0x080c, 0x898b, + 0x0005, 0x080c, 0x887f, 0x080c, 0xbd41, 0x090c, 0xa7cd, 0x080c, + 0x9e2f, 0x080c, 0x898b, 0x0005, 0x0002, 0xaf4b, 0xaf49, 0xaf49, + 0xaf49, 0xaf49, 0xaf49, 0xaf49, 0xaf49, 0xaf49, 0xaf49, 0xaf49, + 0xaf62, 0xaf62, 0xaf62, 0xaf62, 0xaf49, 0xaf6c, 0xaf49, 0xaf62, + 0xaf49, 0x080c, 0x0db4, 0x0096, 0x080c, 0x887f, 0x6014, 0x2048, + 0x2001, 0x1960, 0x2004, 0x6042, 0xa97c, 0xd1ac, 0x0140, 0x6003, + 0x0004, 0xa87c, 0x9085, 0x0400, 0xa87e, 0x009e, 0x0005, 0x6003, + 0x0002, 0x0cb8, 0x080c, 0x887f, 0x080c, 0xc253, 0x080c, 0xc258, + 0x6003, 0x000f, 0x0804, 0x898b, 0x080c, 0x887f, 0x080c, 0x9e2f, + 0x0804, 0x898b, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, + 0x000a, 0x0005, 0xaf8e, 0xaf8e, 0xaf8e, 0xaf8e, 0xaf8e, 0xaf90, + 0xb06d, 0xaf8e, 0xb0a1, 0xaf8e, 0xaf8e, 0xaf8e, 0xaf8e, 0xaf8e, + 0xaf8e, 0xaf8e, 0xaf8e, 0xaf8e, 0xaf8e, 0xb0a1, 0x080c, 0x0db4, + 0x00b6, 0x0096, 0x6114, 0x2148, 0x7644, 0x96b4, 0x0fff, 0x86ff, + 0x1528, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xb05c, 0xa87b, + 0x0000, 0xa867, 0x0103, 0xae76, 0xa87c, 0xd0ac, 0x0128, 0xa834, + 0xa938, 0x9115, 0x190c, 0xb236, 0x080c, 0x66bb, 0x6210, 0x2258, + 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x7044, 0xd0e4, 0x1904, + 0xb040, 0x080c, 0x9e2f, 0x009e, 0x00be, 0x0005, 0x968c, 0x0c00, + 0x0150, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xb044, 0x7348, + 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0508, + 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00e8, 0xd6dc, 0x01a0, + 0xa87b, 0x0015, 0xa87c, 0xd0ac, 0x0170, 0xa938, 0xaa34, 0x2100, + 0x9205, 0x0148, 0x7048, 0x9106, 0x1118, 0x704c, 0x9206, 0x0118, + 0xa992, 0xaa8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, + 0x0010, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0x901e, 0xd6c4, + 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, + 0x0804, 0xaf97, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, + 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, + 0x0025, 0x080c, 0xb724, 0x003e, 0xd6cc, 0x0904, 0xafac, 0x7154, + 0xa98a, 0x81ff, 0x0904, 0xafac, 0x9192, 0x0021, 0x1278, 0x8304, + 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xb724, 0x2011, 0x0205, + 0x2013, 0x0000, 0x080c, 0xc1e0, 0x0804, 0xafac, 0xa868, 0xd0fc, + 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c50, 0x00a6, 0x2950, 0x080c, + 0xb6c3, 0x00ae, 0x080c, 0xc1e0, 0x080c, 0xb714, 0x0804, 0xafae, + 0x080c, 0xbe39, 0x0804, 0xafbb, 0xa87c, 0xd0ac, 0x0904, 0xafc7, + 0xa880, 0xd0bc, 0x1904, 0xafc7, 0x7348, 0xa838, 0x9306, 0x11c8, + 0x734c, 0xa834, 0x931e, 0x0904, 0xafc7, 0xd6d4, 0x0190, 0xab38, + 0x9305, 0x0904, 0xafc7, 0x0068, 0xa87c, 0xd0ac, 0x0904, 0xaf9f, + 0xa838, 0xa934, 0x9105, 0x0904, 0xaf9f, 0xa880, 0xd0bc, 0x1904, + 0xaf9f, 0x080c, 0xbe73, 0x0804, 0xafbb, 0x0096, 0x00f6, 0x6003, + 0x0003, 0x6007, 0x0043, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, + 0x7d08, 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0140, 0x6003, 0x0002, + 0x00fe, 0x009e, 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0xa9ac, + 0x910a, 0x2300, 0xaab0, 0x9213, 0x2600, 0x9102, 0x2500, 0x9203, + 0x0e90, 0xac36, 0xab3a, 0xae46, 0xad4a, 0x00fe, 0x6043, 0x0000, + 0x2c10, 0x080c, 0x1a69, 0x080c, 0x845d, 0x080c, 0x8a68, 0x009e, + 0x0005, 0x0005, 0x9182, 0x0054, 0x1220, 0x9182, 0x0040, 0x0208, + 0x000a, 0x0005, 0xb0be, 0xb0be, 0xb0be, 0xb0be, 0xb0be, 0xb0c0, + 0xb156, 0xb0be, 0xb0be, 0xb16d, 0xb1f9, 0xb0be, 0xb0be, 0xb0be, + 0xb0be, 0xb20e, 0xb0be, 0xb0be, 0xb0be, 0xb0be, 0x080c, 0x0db4, + 0x0076, 0x00a6, 0x00e6, 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, + 0x7644, 0xb676, 0x96b4, 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, + 0x00b6, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, + 0x86ff, 0x0904, 0xb151, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, + 0x7048, 0xb092, 0x704c, 0xb08e, 0x9284, 0x0300, 0x0904, 0xb151, + 0x080c, 0x0feb, 0x090c, 0x0db4, 0x2900, 0xb07a, 0xb77c, 0xc7cd, + 0xb77e, 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, 0xa86e, 0xb070, + 0xa872, 0xae76, 0x968c, 0x0c00, 0x0120, 0x7348, 0xab92, 0x734c, + 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, + 0x1118, 0xa87b, 0x001c, 0x0060, 0xd6dc, 0x0118, 0xa87b, 0x0015, + 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, + 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, 0x901e, 0xd6c4, 0x0190, + 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, + 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, + 0xb724, 0x003e, 0xd6cc, 0x01e8, 0x7154, 0xa98a, 0x81ff, 0x01c8, + 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, + 0x080c, 0xb724, 0x2011, 0x0205, 0x2013, 0x0000, 0x0050, 0xb068, + 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c68, 0x2950, 0x080c, + 0xb6c3, 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, 0x00f6, 0x00a6, + 0x6003, 0x0003, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, + 0x6014, 0x2050, 0xb436, 0xb33a, 0xb646, 0xb54a, 0x00ae, 0x00fe, + 0x2c10, 0x080c, 0x1a69, 0x0804, 0x9394, 0x6003, 0x0002, 0x6004, + 0x9086, 0x0040, 0x11c8, 0x0096, 0x6014, 0x2048, 0xa87c, 0xd0ac, + 0x0160, 0x601c, 0xd084, 0x1130, 0x00f6, 0x2c00, 0x2078, 0x080c, + 0x164a, 0x00fe, 0x6003, 0x0004, 0x0010, 0x6003, 0x0002, 0x009e, + 0x080c, 0x887f, 0x080c, 0x898b, 0x0096, 0x2001, 0x1960, 0x2004, + 0x6042, 0x080c, 0x893b, 0x080c, 0x8a68, 0x6114, 0x2148, 0xa97c, + 0xd1e4, 0x0904, 0xb1f4, 0xd1cc, 0x05a8, 0xa978, 0xa868, 0xd0fc, + 0x0538, 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, 0xa860, 0x20e8, + 0xa85c, 0x9080, 0x0019, 0x20a0, 0x810e, 0x810e, 0x810f, 0x9184, + 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0019, 0x2098, 0x0156, + 0x20a9, 0x0020, 0x4003, 0x015e, 0x000e, 0xa882, 0x000e, 0xa87e, + 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, 0x0f9d, 0x001e, 0x0440, + 0x0016, 0x080c, 0x0f9d, 0x009e, 0xa974, 0x0016, 0x080c, 0xb714, + 0x001e, 0x00f0, 0xa867, 0x0103, 0xa974, 0x9184, 0x00ff, 0x90b6, + 0x0002, 0x0180, 0x9086, 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, + 0xd1dc, 0x0118, 0xa87b, 0x0015, 0x0038, 0xd1d4, 0x0118, 0xa87b, + 0x0007, 0x0010, 0xa87b, 0x0000, 0x0016, 0x080c, 0x66bb, 0x001e, + 0xd1e4, 0x1120, 0x080c, 0x9e2f, 0x009e, 0x0005, 0x080c, 0xbe39, + 0x0cd8, 0x6004, 0x9086, 0x0040, 0x1120, 0x080c, 0x887f, 0x080c, + 0x898b, 0x2019, 0x0001, 0x080c, 0x96e9, 0x6003, 0x0002, 0x080c, + 0xc258, 0x080c, 0x893b, 0x080c, 0x8a68, 0x0005, 0x6004, 0x9086, + 0x0040, 0x1120, 0x080c, 0x887f, 0x080c, 0x898b, 0x2019, 0x0001, + 0x080c, 0x96e9, 0x080c, 0x893b, 0x080c, 0x2fe7, 0x080c, 0xc250, + 0x0096, 0x6114, 0x2148, 0x080c, 0xbb3b, 0x0150, 0xa867, 0x0103, + 0xa87b, 0x0029, 0xa877, 0x0000, 0x080c, 0x68a0, 0x080c, 0xbd24, + 0x009e, 0x080c, 0x9e2f, 0x080c, 0x8a68, 0x0005, 0xa87b, 0x0015, + 0xd1fc, 0x0180, 0xa87b, 0x0007, 0x8002, 0x8000, 0x810a, 0x9189, + 0x0000, 0x0006, 0x0016, 0x2009, 0x1a51, 0x2104, 0x8000, 0x200a, + 0x001e, 0x000e, 0xa992, 0xa88e, 0x0005, 0x9182, 0x0054, 0x1220, + 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xb269, 0xb269, 0xb269, + 0xb269, 0xb269, 0xb26b, 0xb269, 0xb269, 0xb311, 0xb269, 0xb269, + 0xb269, 0xb269, 0xb269, 0xb269, 0xb269, 0xb269, 0xb269, 0xb269, + 0xb442, 0x080c, 0x0db4, 0x0076, 0x00a6, 0x00e6, 0x0096, 0x2071, + 0x0260, 0x6114, 0x2150, 0x7644, 0xb676, 0x96b4, 0x0fff, 0xb77c, + 0xc7e5, 0xb77e, 0x6210, 0x00b6, 0x2258, 0xba3c, 0x82ff, 0x0110, + 0x8211, 0xba3e, 0x00be, 0x86ff, 0x0904, 0xb30a, 0x9694, 0xff00, + 0x9284, 0x0c00, 0x0120, 0x7048, 0xb092, 0x704c, 0xb08e, 0x9284, + 0x0300, 0x0904, 0xb30a, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, + 0x1118, 0xc6c4, 0xb676, 0x0c38, 0x080c, 0x0feb, 0x090c, 0x0db4, + 0x2900, 0xb07a, 0xb77c, 0x97bd, 0x0200, 0xb77e, 0xa867, 0x0103, + 0xb068, 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, 0x7044, 0x9084, + 0xf000, 0x9635, 0xae76, 0x968c, 0x0c00, 0x0120, 0x7348, 0xab92, + 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0180, 0x9186, + 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, 0xd6dc, 0x0118, 0xa87b, + 0x0015, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, + 0x0000, 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, 0x901e, 0xd6c4, + 0x0190, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, + 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, + 0x080c, 0xb724, 0x003e, 0xd6cc, 0x01e8, 0x7154, 0xa98a, 0x81ff, + 0x01c8, 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, 0x0018, 0x2011, + 0x0029, 0x080c, 0xb724, 0x2011, 0x0205, 0x2013, 0x0000, 0x0050, + 0xb068, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c68, 0x2950, + 0x080c, 0xb6c3, 0x080c, 0x18ed, 0x009e, 0x00ee, 0x00ae, 0x007e, + 0x0005, 0x2001, 0x1960, 0x2004, 0x6042, 0x0096, 0x6114, 0x2148, + 0xa83c, 0xa940, 0x9105, 0x1118, 0xa87c, 0xc0dc, 0xa87e, 0x6003, + 0x0002, 0xa97c, 0xd1e4, 0x0904, 0xb43d, 0x6043, 0x0000, 0x6010, + 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1500, 0xd1cc, 0x0904, + 0xb40c, 0xa978, 0xa868, 0xd0fc, 0x0904, 0xb3cd, 0x0016, 0xa87c, + 0x0006, 0xa880, 0x0006, 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, + 0x90b6, 0x0002, 0x0904, 0xb39b, 0x9086, 0x0028, 0x1904, 0xb387, + 0xa87b, 0x001c, 0xb07b, 0x001c, 0x0804, 0xb3a3, 0x6024, 0xd0f4, + 0x11d0, 0xa838, 0xaa34, 0x9205, 0x09c8, 0xa838, 0xaa90, 0x9206, + 0x1120, 0xa88c, 0xaa34, 0x9206, 0x0988, 0x6024, 0xd0d4, 0x1148, + 0xa9ac, 0xa834, 0x9102, 0x603a, 0xa9b0, 0xa838, 0x9103, 0x603e, + 0x6024, 0xc0f5, 0x6026, 0x6010, 0x00b6, 0x2058, 0xb83c, 0x8000, + 0xb83e, 0x00be, 0x9006, 0xa876, 0xa892, 0xa88e, 0xa87c, 0xc0e4, + 0xa87e, 0xd0cc, 0x0140, 0xc0cc, 0xa87e, 0x0096, 0xa878, 0x2048, + 0x080c, 0x0f9d, 0x009e, 0x080c, 0xbe73, 0x0804, 0xb43d, 0xd1dc, + 0x0158, 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, 0xc103, 0x0118, + 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, + 0xb07b, 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, + 0x9115, 0x190c, 0xb236, 0xa87c, 0xb07e, 0xa890, 0xb092, 0xa88c, + 0xb08e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, 0x20a0, 0x20a9, + 0x0020, 0x8a06, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e0, 0x9084, + 0xffc0, 0x9080, 0x0019, 0x2098, 0x4003, 0x00ae, 0x000e, 0xa882, + 0x000e, 0xa87e, 0x080c, 0xc1e0, 0x001e, 0xa874, 0x0006, 0x2148, + 0x080c, 0x0f9d, 0x001e, 0x0804, 0xb439, 0x0016, 0x00a6, 0x2150, + 0xb174, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01e0, 0x9086, 0x0028, + 0x1128, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x00e0, 0xd1dc, 0x0158, + 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, 0xc103, 0x0118, 0xb174, + 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, + 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, + 0x190c, 0xb236, 0xa890, 0xb092, 0xa88c, 0xb08e, 0xa87c, 0xb07e, + 0x00ae, 0x080c, 0x0f9d, 0x009e, 0x080c, 0xc1e0, 0xa974, 0x0016, + 0x080c, 0xb714, 0x001e, 0x0468, 0xa867, 0x0103, 0xa974, 0x9184, + 0x00ff, 0x90b6, 0x0002, 0x01b0, 0x9086, 0x0028, 0x1118, 0xa87b, + 0x001c, 0x00d0, 0xd1dc, 0x0148, 0xa87b, 0x0015, 0x080c, 0xc103, + 0x0118, 0xa974, 0xc1dc, 0xa976, 0x0078, 0xd1d4, 0x0118, 0xa87b, + 0x0007, 0x0050, 0xa87b, 0x0000, 0xa87c, 0xd0ac, 0x0128, 0xa834, + 0xa938, 0x9115, 0x190c, 0xb236, 0xa974, 0x0016, 0x080c, 0x66bb, + 0x001e, 0xd1e4, 0x1120, 0x080c, 0x9e2f, 0x009e, 0x0005, 0x080c, + 0xbe39, 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, 0xd1e4, 0x190c, + 0x190b, 0x009e, 0x0005, 0x080c, 0x887f, 0x0010, 0x080c, 0x893b, + 0x080c, 0xbb3b, 0x01f0, 0x0096, 0x6114, 0x2148, 0x080c, 0xbd41, + 0x1118, 0x080c, 0xa7cd, 0x00a0, 0xa867, 0x0103, 0x2009, 0x180c, + 0x210c, 0xd18c, 0x11b8, 0xd184, 0x1190, 0x6108, 0xa97a, 0x918e, + 0x0029, 0x1110, 0x080c, 0xd80d, 0xa877, 0x0000, 0x080c, 0x68a0, + 0x009e, 0x080c, 0x9e2f, 0x080c, 0x898b, 0x0804, 0x8a68, 0xa87b, + 0x0004, 0x0c90, 0xa87b, 0x0004, 0x0c78, 0x9182, 0x0054, 0x1220, + 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xb499, 0xb499, 0xb499, + 0xb499, 0xb499, 0xb49b, 0xb499, 0xb499, 0xb499, 0xb499, 0xb499, + 0xb499, 0xb499, 0xb499, 0xb499, 0xb499, 0xb499, 0xb499, 0xb499, + 0xb499, 0x080c, 0x0db4, 0x080c, 0x53a2, 0x01f8, 0x6014, 0x7144, + 0x918c, 0x0fff, 0x9016, 0xd1c4, 0x0118, 0x7264, 0x9294, 0x00ff, + 0x0096, 0x904d, 0x0188, 0xa87b, 0x0000, 0xa864, 0x9086, 0x0139, + 0x0128, 0xa867, 0x0103, 0xa976, 0xaa96, 0x0030, 0xa897, 0x4000, + 0xa99a, 0xaa9e, 0x080c, 0x68a0, 0x009e, 0x0804, 0x9e2f, 0x9182, + 0x0085, 0x0002, 0xb4d1, 0xb4cf, 0xb4cf, 0xb4dd, 0xb4cf, 0xb4cf, + 0xb4cf, 0xb4cf, 0xb4cf, 0xb4cf, 0xb4cf, 0xb4cf, 0xb4cf, 0x080c, + 0x0db4, 0x6003, 0x0001, 0x6106, 0x080c, 0x83f8, 0x0126, 0x2091, + 0x8000, 0x080c, 0x898b, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, + 0x00e6, 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xbb29, + 0x01a0, 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, 0x6010, 0x6d10, + 0x952e, 0x1158, 0x00c6, 0x2d60, 0x080c, 0xb74f, 0x00ce, 0x0128, + 0x6803, 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, + 0x0001, 0x080c, 0x83f8, 0x080c, 0x898b, 0x7220, 0x080c, 0xbb29, + 0x0178, 0x6810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, + 0x6824, 0xd0ec, 0x0128, 0x00c6, 0x2d60, 0x080c, 0xbe73, 0x00ce, + 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, + 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0db4, 0x908a, 0x0092, 0x1a0c, + 0x0db4, 0x9082, 0x0085, 0x00e2, 0x9186, 0x0027, 0x0120, 0x9186, + 0x0014, 0x190c, 0x0db4, 0x080c, 0x887f, 0x0096, 0x6014, 0x2048, + 0x080c, 0xbb3b, 0x0140, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, + 0x0029, 0x080c, 0x68a0, 0x009e, 0x080c, 0x9e5f, 0x0804, 0x898b, + 0xb555, 0xb557, 0xb557, 0xb555, 0xb555, 0xb555, 0xb555, 0xb555, + 0xb555, 0xb555, 0xb555, 0xb555, 0xb555, 0x080c, 0x0db4, 0x080c, + 0x887f, 0x080c, 0x9e5f, 0x080c, 0x898b, 0x0005, 0x9186, 0x0013, + 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, 0x04b8, 0x9186, 0x0027, + 0x11f8, 0x080c, 0x887f, 0x080c, 0x2fe7, 0x080c, 0xc250, 0x0096, + 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0150, 0xa867, 0x0103, 0xa877, + 0x0000, 0xa87b, 0x0029, 0x080c, 0x68a0, 0x080c, 0xbd24, 0x009e, + 0x080c, 0x9e2f, 0x080c, 0x898b, 0x0005, 0x080c, 0x9ec4, 0x0ce0, + 0x9186, 0x0014, 0x1dd0, 0x080c, 0x887f, 0x0096, 0x6014, 0x2048, + 0x080c, 0xbb3b, 0x0d60, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, + 0x0006, 0xa880, 0xc0ec, 0xa882, 0x08f0, 0x0002, 0xb5ad, 0xb5ab, + 0xb5ab, 0xb5ab, 0xb5ab, 0xb5ab, 0xb5c5, 0xb5ab, 0xb5ab, 0xb5ab, + 0xb5ab, 0xb5ab, 0xb5ab, 0x080c, 0x0db4, 0x080c, 0x887f, 0x6034, + 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, + 0x1118, 0x2001, 0x195e, 0x0010, 0x2001, 0x195f, 0x2004, 0x601a, + 0x6003, 0x000c, 0x080c, 0x898b, 0x0005, 0x080c, 0x887f, 0x6034, + 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, + 0x1118, 0x2001, 0x195e, 0x0010, 0x2001, 0x195f, 0x2004, 0x601a, + 0x6003, 0x000e, 0x080c, 0x898b, 0x0005, 0x9182, 0x0092, 0x1220, + 0x9182, 0x0085, 0x0208, 0x0012, 0x0804, 0x9ec4, 0xb5f3, 0xb5f3, + 0xb5f3, 0xb5f3, 0xb5f5, 0xb642, 0xb5f3, 0xb5f3, 0xb5f3, 0xb5f3, + 0xb5f3, 0xb5f3, 0xb5f3, 0x080c, 0x0db4, 0x0096, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0168, 0x6034, 0x908c, 0xff00, + 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x009e, + 0x0804, 0xb656, 0x080c, 0xbb3b, 0x1118, 0x080c, 0xbd24, 0x0068, + 0x6014, 0x2048, 0xa87c, 0xd0e4, 0x1110, 0x080c, 0xbd24, 0xa867, + 0x0103, 0x080c, 0xc21b, 0x080c, 0x68a0, 0x00d6, 0x2c68, 0x080c, + 0x9dd9, 0x01d0, 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, 0xffff, + 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, + 0x6910, 0x6112, 0x080c, 0xbfb5, 0x6954, 0x6156, 0x6023, 0x0001, + 0x080c, 0x83f8, 0x080c, 0x898b, 0x2d60, 0x00de, 0x080c, 0x9e2f, + 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, + 0x05a0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, 0x0130, + 0x9186, 0x001e, 0x0118, 0x9186, 0x0039, 0x1538, 0x00d6, 0x2c68, + 0x080c, 0xc1b3, 0x11f0, 0x080c, 0x9dd9, 0x01d8, 0x6106, 0x6003, + 0x0001, 0x6023, 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, 0x6930, + 0x6132, 0x6934, 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, 0x693c, + 0x613e, 0x6954, 0x6156, 0x080c, 0xbfb5, 0x080c, 0x83f8, 0x080c, + 0x898b, 0x2d60, 0x00de, 0x0804, 0x9e2f, 0x0096, 0x6014, 0x2048, + 0x080c, 0xbb3b, 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, 0x0128, + 0xc0ec, 0xa882, 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, 0xa87b, + 0x0002, 0x0020, 0xa87b, 0x0005, 0x080c, 0xbe35, 0xa877, 0x0000, + 0x080c, 0x68a0, 0x080c, 0xbd24, 0x009e, 0x0804, 0x9e2f, 0x0016, + 0x0096, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0140, 0xa867, 0x0103, + 0xa87b, 0x0028, 0xa877, 0x0000, 0x080c, 0x68a0, 0x009e, 0x001e, + 0x9186, 0x0013, 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, + 0x0118, 0x080c, 0x9ec4, 0x0030, 0x080c, 0x887f, 0x080c, 0x9e5f, + 0x080c, 0x898b, 0x0005, 0x0056, 0x0066, 0x0096, 0x00a6, 0x2029, + 0x0001, 0x9182, 0x0101, 0x1208, 0x0010, 0x2009, 0x0100, 0x2130, + 0x8304, 0x9098, 0x0018, 0x2009, 0x0020, 0x2011, 0x0029, 0x080c, + 0xb724, 0x96b2, 0x0020, 0xb004, 0x904d, 0x0110, 0x080c, 0x0f9d, + 0x080c, 0x0feb, 0x0520, 0x8528, 0xa867, 0x0110, 0xa86b, 0x0000, + 0x2920, 0xb406, 0x968a, 0x003d, 0x1228, 0x2608, 0x2011, 0x001b, + 0x0499, 0x00a8, 0x96b2, 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, + 0x001b, 0x0451, 0x0c28, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, + 0x852f, 0x95ad, 0x0003, 0xb566, 0x95ac, 0x0000, 0x0048, 0x2001, + 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, + 0x009e, 0x006e, 0x005e, 0x0005, 0x00a6, 0x89ff, 0x0158, 0xa804, + 0x9055, 0x0130, 0xa807, 0x0000, 0x080c, 0x68a0, 0x2a48, 0x0cb8, + 0x080c, 0x68a0, 0x00ae, 0x0005, 0x00f6, 0x2079, 0x0200, 0x7814, + 0x9085, 0x0080, 0x7816, 0xd184, 0x0108, 0x8108, 0x810c, 0x20a9, + 0x0001, 0xa860, 0x20e8, 0xa85c, 0x9200, 0x20a0, 0x20e1, 0x0000, + 0x2300, 0x9e00, 0x2098, 0x4003, 0x8318, 0x9386, 0x0020, 0x1148, + 0x2018, 0x2300, 0x9e00, 0x2098, 0x7814, 0x8000, 0x9085, 0x0080, + 0x7816, 0x8109, 0x1d80, 0x7817, 0x0000, 0x00fe, 0x0005, 0x0066, + 0x0126, 0x2091, 0x8000, 0x2031, 0x0001, 0x6020, 0x9084, 0x000f, + 0x0083, 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0066, + 0x2031, 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, 0x012e, + 0x0005, 0xb78a, 0xb78a, 0xb785, 0xb7ac, 0xb778, 0xb785, 0xb7ac, + 0xb785, 0xb778, 0xb778, 0xb785, 0xb785, 0xb785, 0xb778, 0xb778, + 0x080c, 0x0db4, 0x0036, 0x2019, 0x0010, 0x080c, 0xd11f, 0x6023, + 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, 0x9085, + 0x0001, 0x0005, 0x0096, 0x86ff, 0x11d8, 0x6014, 0x2048, 0x080c, + 0xbb3b, 0x01c0, 0xa864, 0x9086, 0x0139, 0x1128, 0xa87b, 0x0005, + 0xa883, 0x0000, 0x0028, 0x900e, 0x2001, 0x0005, 0x080c, 0x6ace, + 0x080c, 0xbe35, 0x080c, 0x6893, 0x080c, 0x9e5f, 0x9085, 0x0001, + 0x009e, 0x0005, 0x9006, 0x0ce0, 0x6000, 0x908a, 0x0016, 0x1a0c, + 0x0db4, 0x0002, 0xb7c2, 0xb7f0, 0xb7c4, 0xb811, 0xb7eb, 0xb7c2, + 0xb785, 0xb78a, 0xb78a, 0xb785, 0xb785, 0xb785, 0xb785, 0xb785, + 0xb785, 0xb785, 0x080c, 0x0db4, 0x86ff, 0x1510, 0x6020, 0x9086, + 0x0006, 0x01f0, 0x0096, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0158, + 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0f9d, + 0x009e, 0x080c, 0xbe35, 0x009e, 0x080c, 0xc1f5, 0x6007, 0x0085, + 0x6003, 0x000b, 0x6023, 0x0002, 0x080c, 0x83f8, 0x080c, 0x898b, + 0x9085, 0x0001, 0x0005, 0x0066, 0x080c, 0x191f, 0x006e, 0x08a0, + 0x00e6, 0x2071, 0x19bf, 0x7024, 0x9c06, 0x1120, 0x080c, 0x9673, + 0x00ee, 0x0850, 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, 0x1150, + 0x0086, 0x0096, 0x2049, 0x0001, 0x2c40, 0x080c, 0x97a4, 0x009e, + 0x008e, 0x0010, 0x080c, 0x9570, 0x00ee, 0x1904, 0xb7c4, 0x0804, + 0xb785, 0x0036, 0x00e6, 0x2071, 0x19bf, 0x703c, 0x9c06, 0x1138, + 0x901e, 0x080c, 0x96e9, 0x00ee, 0x003e, 0x0804, 0xb7c4, 0x080c, + 0x98d4, 0x00ee, 0x003e, 0x1904, 0xb7c4, 0x0804, 0xb785, 0x00c6, + 0x6020, 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xb844, 0xb90f, + 0xba79, 0xb84e, 0x9e5f, 0xb844, 0xd111, 0xc25d, 0xb90f, 0xb83d, + 0xbb05, 0xb83d, 0xb83d, 0xb83d, 0xb83d, 0x080c, 0x0db4, 0x080c, + 0xbd41, 0x1110, 0x080c, 0xa7cd, 0x0005, 0x080c, 0x887f, 0x080c, + 0x898b, 0x0804, 0x9e2f, 0x601b, 0x0001, 0x0005, 0x080c, 0xbb3b, + 0x0130, 0x6014, 0x0096, 0x2048, 0x2c00, 0xa896, 0x009e, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0db4, 0x0002, 0xb86d, 0xb86f, 0xb893, + 0xb8a7, 0xb8cd, 0xb86d, 0xb844, 0xb844, 0xb844, 0xb8a7, 0xb8a7, + 0xb86d, 0xb86d, 0xb86d, 0xb86d, 0xb8b1, 0x080c, 0x0db4, 0x00e6, + 0x6014, 0x0096, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, 0x2071, + 0x19bf, 0x7024, 0x9c06, 0x01a0, 0x080c, 0x9570, 0x080c, 0xc1f5, + 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, 0x195f, + 0x2004, 0x601a, 0x080c, 0x83f8, 0x080c, 0x898b, 0x00ee, 0x0005, + 0x601b, 0x0001, 0x0cd8, 0x0096, 0x6014, 0x2048, 0xa880, 0xc0b5, + 0xa882, 0x009e, 0x080c, 0xc1f5, 0x6007, 0x0085, 0x6003, 0x000b, + 0x6023, 0x0002, 0x080c, 0x83f8, 0x080c, 0x898b, 0x0005, 0x0096, + 0x601b, 0x0001, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, + 0x0005, 0x080c, 0x53a2, 0x01b8, 0x6014, 0x0096, 0x904d, 0x0190, + 0xa864, 0xa867, 0x0103, 0xa87b, 0x0006, 0x9086, 0x0139, 0x1150, + 0xa867, 0x0139, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa89b, 0x0004, + 0x080c, 0x68a0, 0x009e, 0x0804, 0x9e2f, 0x6014, 0x0096, 0x904d, + 0x05c8, 0xa97c, 0xd1e4, 0x05b0, 0x2001, 0x180f, 0x2004, 0xd0c4, + 0x0110, 0x009e, 0x0005, 0xa884, 0x009e, 0x8003, 0x800b, 0x810b, + 0x9108, 0x611a, 0x2001, 0x0030, 0x2c08, 0x080c, 0x151a, 0x2001, + 0x030c, 0x2004, 0x9086, 0x0041, 0x11a0, 0x6014, 0x0096, 0x904d, + 0x090c, 0x0db4, 0xa880, 0xd0f4, 0x1130, 0xc0f5, 0xa882, 0x009e, + 0x601b, 0x0002, 0x0070, 0x009e, 0x2001, 0x0037, 0x2c08, 0x080c, + 0x151a, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, + 0x9ea9, 0x0005, 0x009e, 0x080c, 0x191f, 0x0804, 0xb893, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0db4, 0x000b, 0x0005, 0xb926, 0xb84b, + 0xb928, 0xb926, 0xb928, 0xb928, 0xb845, 0xb926, 0xb83f, 0xb83f, + 0xb926, 0xb926, 0xb926, 0xb926, 0xb926, 0xb926, 0x080c, 0x0db4, + 0x6010, 0x00b6, 0x2058, 0xb804, 0x9084, 0x00ff, 0x00be, 0x908a, + 0x000c, 0x1a0c, 0x0db4, 0x00b6, 0x0013, 0x00be, 0x0005, 0xb943, + 0xba10, 0xb945, 0xb985, 0xb945, 0xb985, 0xb945, 0xb953, 0xb943, + 0xb985, 0xb943, 0xb974, 0x080c, 0x0db4, 0x6004, 0x908e, 0x0016, + 0x05c0, 0x908e, 0x0004, 0x05a8, 0x908e, 0x0002, 0x0590, 0x908e, + 0x0052, 0x0904, 0xba0c, 0x6004, 0x080c, 0xbd41, 0x0904, 0xba29, + 0x908e, 0x0004, 0x1110, 0x080c, 0x3010, 0x908e, 0x0021, 0x0904, + 0xba2d, 0x908e, 0x0022, 0x0904, 0xba74, 0x908e, 0x003d, 0x0904, + 0xba2d, 0x908e, 0x0039, 0x0904, 0xba31, 0x908e, 0x0035, 0x0904, + 0xba31, 0x908e, 0x001e, 0x0178, 0x908e, 0x0001, 0x1140, 0x6010, + 0x2058, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0110, 0x080c, + 0x2fe7, 0x080c, 0xa7cd, 0x0804, 0x9e5f, 0x00c6, 0x00d6, 0x6104, + 0x9186, 0x0016, 0x0904, 0xb9fd, 0x9186, 0x0002, 0x1904, 0xb9d2, + 0x2001, 0x1836, 0x2004, 0xd08c, 0x11c8, 0x080c, 0x6faa, 0x11b0, + 0x080c, 0xc23b, 0x0138, 0x080c, 0x6fcd, 0x1120, 0x080c, 0x6eba, + 0x0804, 0xba5d, 0x2001, 0x1955, 0x2003, 0x0001, 0x2001, 0x1800, + 0x2003, 0x0001, 0x080c, 0x6edc, 0x0804, 0xba5d, 0x6010, 0x2058, + 0x2001, 0x1836, 0x2004, 0xd0ac, 0x1904, 0xba5d, 0xb8a0, 0x9084, + 0xff80, 0x1904, 0xba5d, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0190, + 0x8001, 0xb842, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, + 0x6043, 0x0000, 0x080c, 0x9dd9, 0x0128, 0x2b00, 0x6012, 0x6023, + 0x0001, 0x0458, 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, 0x11a0, + 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1170, 0x2009, 0x1836, + 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5c78, + 0x00ee, 0x080c, 0xa7cd, 0x0030, 0x080c, 0xa7cd, 0x080c, 0x2fe7, + 0x080c, 0xc250, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, 0x3010, + 0x012e, 0x00ee, 0x080c, 0x9e5f, 0x0005, 0x2001, 0x0002, 0x080c, + 0x61a7, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8440, 0x080c, + 0x898b, 0x00de, 0x00ce, 0x0c80, 0x080c, 0x3010, 0x0804, 0xb981, + 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0d38, 0x6010, 0x2058, + 0xb840, 0x9084, 0x00ff, 0x9005, 0x0904, 0xb9d2, 0x8001, 0xb842, + 0x6003, 0x0001, 0x080c, 0x8440, 0x080c, 0x898b, 0x00de, 0x00ce, + 0x0898, 0x080c, 0xa7cd, 0x0804, 0xb983, 0x080c, 0xa809, 0x0804, + 0xb983, 0x00d6, 0x2c68, 0x6104, 0x080c, 0xc1b3, 0x00de, 0x0118, + 0x080c, 0x9e2f, 0x0408, 0x6004, 0x8007, 0x6134, 0x918c, 0x00ff, + 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, + 0x603c, 0x600a, 0x2001, 0x195f, 0x2004, 0x601a, 0x602c, 0x2c08, + 0x2060, 0x6024, 0xd0b4, 0x0108, 0xc085, 0xc0b5, 0x6026, 0x2160, + 0x080c, 0x83f8, 0x080c, 0x898b, 0x0005, 0x00de, 0x00ce, 0x080c, + 0xa7cd, 0x080c, 0x2fe7, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, + 0x3010, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x6043, + 0x0000, 0x012e, 0x00ee, 0x0005, 0x080c, 0xa25f, 0x1904, 0xba29, + 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0db4, 0x0096, 0x00d6, + 0x001b, 0x00de, 0x009e, 0x0005, 0xba94, 0xba94, 0xba94, 0xba94, + 0xba94, 0xba94, 0xba94, 0xba94, 0xba94, 0xb844, 0xba94, 0xb84b, + 0xba96, 0xb84b, 0xbab0, 0xba94, 0x080c, 0x0db4, 0x6004, 0x9086, + 0x008b, 0x01b0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, + 0x1130, 0x602c, 0x9080, 0x0009, 0x200c, 0xc185, 0x2102, 0x6007, + 0x008b, 0x6003, 0x000d, 0x080c, 0x83f8, 0x080c, 0x898b, 0x0005, + 0x080c, 0xc22f, 0x0118, 0x080c, 0xc242, 0x0010, 0x080c, 0xc250, + 0x080c, 0xbd24, 0x080c, 0xbb3b, 0x0570, 0x080c, 0x2fe7, 0x080c, + 0xbb3b, 0x0168, 0x6014, 0x2048, 0xa867, 0x0103, 0xa87b, 0x0006, + 0xa877, 0x0000, 0xa880, 0xc0ed, 0xa882, 0x080c, 0x68a0, 0x2c68, + 0x080c, 0x9dd9, 0x0150, 0x6810, 0x6012, 0x080c, 0xbfb5, 0x00c6, + 0x2d60, 0x080c, 0x9e5f, 0x00ce, 0x0008, 0x2d60, 0x6017, 0x0000, + 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x8440, + 0x080c, 0x898b, 0x00c8, 0x080c, 0xc22f, 0x0138, 0x6034, 0x9086, + 0x4000, 0x1118, 0x080c, 0x2fe7, 0x08d0, 0x6034, 0x908c, 0xff00, + 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x080c, + 0x2fe7, 0x0868, 0x080c, 0x9e5f, 0x0005, 0x6000, 0x908a, 0x0016, + 0x1a0c, 0x0db4, 0x0002, 0xbb1b, 0xbb1b, 0xbb1d, 0xbb1d, 0xbb1d, + 0xbb1b, 0xbb1b, 0x9e5f, 0xbb1b, 0xbb1b, 0xbb1b, 0xbb1b, 0xbb1b, + 0xbb1b, 0xbb1b, 0xbb1b, 0x080c, 0x0db4, 0x080c, 0x98d4, 0x6114, + 0x0096, 0x2148, 0xa87b, 0x0006, 0x080c, 0x68a0, 0x009e, 0x0804, + 0x9e2f, 0x9284, 0x0007, 0x1158, 0x9282, 0x1cd0, 0x0240, 0x2001, + 0x1819, 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, + 0x0ce8, 0x0096, 0x0028, 0x0096, 0x0006, 0x6014, 0x2048, 0x000e, + 0x0006, 0x9984, 0xf000, 0x9086, 0xf000, 0x0110, 0x080c, 0x1096, + 0x000e, 0x009e, 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, + 0x2091, 0x8000, 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7350, 0x7070, + 0x9302, 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, 0xc23b, 0x0180, + 0x9286, 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, 0x1148, 0x080c, + 0x2fe7, 0x080c, 0xc250, 0x00c6, 0x080c, 0x9e5f, 0x00ce, 0x0060, + 0x080c, 0xbf2f, 0x0148, 0x080c, 0xbd41, 0x1110, 0x080c, 0xa7cd, + 0x00c6, 0x080c, 0x9e2f, 0x00ce, 0x9ce0, 0x0018, 0x7064, 0x9c02, + 0x1208, 0x08a0, 0x012e, 0x000e, 0x003e, 0x00ce, 0x00ee, 0x0005, + 0x00e6, 0x00c6, 0x0016, 0x9188, 0x1000, 0x210c, 0x81ff, 0x0128, + 0x2061, 0x1a87, 0x6112, 0x080c, 0x2fe7, 0x9006, 0x0010, 0x9085, + 0x0001, 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x080c, 0x9dd9, 0x01b0, 0x6656, 0x2b00, 0x6012, 0x080c, + 0x53a2, 0x0118, 0x080c, 0xbc68, 0x0168, 0x080c, 0xbfb5, 0x6023, + 0x0003, 0x2009, 0x004b, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x012e, + 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, + 0xbaa0, 0x080c, 0x9e7c, 0x0560, 0x6057, 0x0000, 0x2b00, 0x6012, + 0x080c, 0xbfb5, 0x6023, 0x0003, 0x0016, 0x080c, 0x8582, 0x0076, + 0x903e, 0x080c, 0x8470, 0x2c08, 0x080c, 0xd2d5, 0x007e, 0x001e, + 0xd184, 0x0128, 0x080c, 0x9e2f, 0x9085, 0x0001, 0x0070, 0x080c, + 0x53a2, 0x0128, 0xd18c, 0x1170, 0x080c, 0xbc68, 0x0148, 0x2009, + 0x004c, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, + 0x9006, 0x0cd8, 0x2900, 0x6016, 0x0c90, 0x2009, 0x004d, 0x0010, + 0x2009, 0x004e, 0x00f6, 0x00c6, 0x0046, 0x0016, 0x080c, 0x9dd9, + 0x2c78, 0x0590, 0x7e56, 0x2b00, 0x7812, 0x7823, 0x0003, 0x2021, + 0x0005, 0x080c, 0xbc7a, 0x9186, 0x004d, 0x0118, 0x9186, 0x004e, + 0x0148, 0x2001, 0x1958, 0x200c, 0xd1fc, 0x0168, 0x2f60, 0x080c, + 0x9e2f, 0x00d0, 0x2001, 0x1957, 0x200c, 0xd1fc, 0x0120, 0x2f60, + 0x080c, 0x9e2f, 0x0088, 0x2f60, 0x080c, 0x53a2, 0x0138, 0xd18c, + 0x1118, 0x04f1, 0x0148, 0x0010, 0x2900, 0x7816, 0x001e, 0x0016, + 0x080c, 0x9ea9, 0x9085, 0x0001, 0x001e, 0x004e, 0x00ce, 0x00fe, + 0x0005, 0x00f6, 0x00c6, 0x0046, 0x080c, 0x9dd9, 0x2c78, 0x0508, + 0x7e56, 0x2b00, 0x7812, 0x7823, 0x0003, 0x0096, 0x2021, 0x0004, + 0x0489, 0x009e, 0x2001, 0x1956, 0x200c, 0xd1fc, 0x0120, 0x2f60, + 0x080c, 0x9e2f, 0x0060, 0x2f60, 0x080c, 0x53a2, 0x0120, 0xd18c, + 0x1160, 0x0071, 0x0130, 0x2009, 0x0052, 0x080c, 0x9ea9, 0x9085, + 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x2900, 0x7816, 0x0c98, + 0x00c6, 0x080c, 0x4894, 0x00ce, 0x1120, 0x080c, 0x9e2f, 0x9006, + 0x0005, 0xa867, 0x0000, 0xa86b, 0x8000, 0x2900, 0x6016, 0x9085, + 0x0001, 0x0005, 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, 0x080c, + 0x638a, 0x0158, 0x2001, 0xbc7f, 0x0006, 0x900e, 0x2400, 0x080c, + 0x6ace, 0x080c, 0x68a0, 0x000e, 0x0807, 0x2418, 0x080c, 0x8819, + 0xbaa0, 0x0086, 0x2041, 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, + 0x859a, 0x008e, 0x080c, 0x8470, 0x2f08, 0x2648, 0x080c, 0xd2d5, + 0xb93c, 0x81ff, 0x090c, 0x866b, 0x080c, 0x898b, 0x012e, 0x007e, + 0x009e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9dd9, + 0x0190, 0x660a, 0x2b08, 0x6112, 0x080c, 0xbfb5, 0x6023, 0x0001, + 0x2900, 0x6016, 0x2009, 0x001f, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, - 0x8000, 0xbaa0, 0x080c, 0x9e8f, 0x0560, 0x6057, 0x0000, 0x2b00, - 0x6012, 0x080c, 0xbfa6, 0x6023, 0x0003, 0x0016, 0x080c, 0x8564, - 0x0076, 0x903e, 0x080c, 0x8452, 0x2c08, 0x080c, 0xd2bc, 0x007e, - 0x001e, 0xd184, 0x0128, 0x080c, 0x9e42, 0x9085, 0x0001, 0x0070, - 0x080c, 0x5397, 0x0128, 0xd18c, 0x1170, 0x080c, 0xbc59, 0x0148, - 0x2009, 0x004c, 0x080c, 0x9ebc, 0x9085, 0x0001, 0x012e, 0x00ce, - 0x0005, 0x9006, 0x0cd8, 0x2900, 0x6016, 0x0c90, 0x2009, 0x004d, - 0x0010, 0x2009, 0x004e, 0x00f6, 0x00c6, 0x0046, 0x0016, 0x080c, - 0x9dec, 0x2c78, 0x0590, 0x7e56, 0x2b00, 0x7812, 0x7823, 0x0003, - 0x2021, 0x0005, 0x080c, 0xbc6b, 0x9186, 0x004d, 0x0118, 0x9186, - 0x004e, 0x0148, 0x2001, 0x1950, 0x200c, 0xd1fc, 0x0168, 0x2f60, - 0x080c, 0x9e42, 0x00d0, 0x2001, 0x194f, 0x200c, 0xd1fc, 0x0120, - 0x2f60, 0x080c, 0x9e42, 0x0088, 0x2f60, 0x080c, 0x5397, 0x0138, - 0xd18c, 0x1118, 0x04f1, 0x0148, 0x0010, 0x2900, 0x7816, 0x001e, - 0x0016, 0x080c, 0x9ebc, 0x9085, 0x0001, 0x001e, 0x004e, 0x00ce, - 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x080c, 0x9dec, 0x2c78, - 0x0508, 0x7e56, 0x2b00, 0x7812, 0x7823, 0x0003, 0x0096, 0x2021, - 0x0004, 0x0489, 0x009e, 0x2001, 0x194e, 0x200c, 0xd1fc, 0x0120, - 0x2f60, 0x080c, 0x9e42, 0x0060, 0x2f60, 0x080c, 0x5397, 0x0120, - 0xd18c, 0x1160, 0x0071, 0x0130, 0x2009, 0x0052, 0x080c, 0x9ebc, - 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x2900, 0x7816, - 0x0c98, 0x00c6, 0x080c, 0x4889, 0x00ce, 0x1120, 0x080c, 0x9e42, - 0x9006, 0x0005, 0xa867, 0x0000, 0xa86b, 0x8000, 0x2900, 0x6016, - 0x9085, 0x0001, 0x0005, 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, - 0x080c, 0x637b, 0x0158, 0x2001, 0xbc70, 0x0006, 0x900e, 0x2400, - 0x080c, 0x6abf, 0x080c, 0x6891, 0x000e, 0x0807, 0x2418, 0x080c, - 0x87fb, 0xbaa0, 0x0086, 0x2041, 0x0001, 0x2039, 0x0001, 0x2608, - 0x080c, 0x857c, 0x008e, 0x080c, 0x8452, 0x2f08, 0x2648, 0x080c, - 0xd2bc, 0xb93c, 0x81ff, 0x090c, 0x864d, 0x080c, 0x896d, 0x012e, - 0x007e, 0x009e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, - 0x9dec, 0x0190, 0x660a, 0x2b08, 0x6112, 0x080c, 0xbfa6, 0x6023, - 0x0001, 0x2900, 0x6016, 0x2009, 0x001f, 0x080c, 0x9ebc, 0x9085, + 0x8000, 0x080c, 0x9e7c, 0x01b8, 0x660a, 0x2b08, 0x6112, 0x080c, + 0xbfb5, 0x6023, 0x0008, 0x2900, 0x6016, 0x00f6, 0x2c78, 0x080c, + 0x164a, 0x00fe, 0x2009, 0x0021, 0x080c, 0x9ea9, 0x9085, 0x0001, + 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x003d, 0x00c6, + 0x0126, 0x0016, 0x2091, 0x8000, 0x080c, 0x9dd9, 0x0198, 0x660a, + 0x2b08, 0x6112, 0x080c, 0xbfb5, 0x6023, 0x0001, 0x2900, 0x6016, + 0x001e, 0x0016, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x001e, 0x012e, + 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x9e7c, 0x0188, 0x2b08, 0x6112, 0x080c, 0xbfb5, 0x6023, + 0x0001, 0x2900, 0x6016, 0x2009, 0x0000, 0x080c, 0x9ea9, 0x9085, + 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x0044, + 0x0830, 0x2009, 0x0049, 0x0818, 0x0026, 0x00b6, 0x6210, 0x2258, + 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x002e, 0x0005, + 0x0006, 0x0016, 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, 0x0003, + 0x0128, 0x908e, 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, + 0x0005, 0x0006, 0x0086, 0x0096, 0x6020, 0x9086, 0x0004, 0x01a8, + 0x6014, 0x904d, 0x080c, 0xbb3b, 0x0180, 0xa864, 0x9086, 0x0139, + 0x0170, 0x6020, 0x90c6, 0x0003, 0x0140, 0x90c6, 0x0002, 0x0128, + 0xa868, 0xd0fc, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, 0x009e, + 0x008e, 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, + 0x9e7c, 0x0198, 0x2b08, 0x6112, 0x080c, 0xbfb5, 0x6023, 0x0001, + 0x2900, 0x6016, 0x080c, 0x2fe7, 0x2009, 0x0028, 0x080c, 0x9ea9, + 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x9186, + 0x0015, 0x11a8, 0x2011, 0x1823, 0x2204, 0x9086, 0x0074, 0x1178, + 0x00b6, 0x080c, 0xaa58, 0x00be, 0x080c, 0xac97, 0x6003, 0x0001, + 0x6007, 0x0029, 0x080c, 0x8440, 0x080c, 0x898b, 0x0078, 0x6014, + 0x0096, 0x2048, 0xa868, 0x009e, 0xd0fc, 0x0148, 0x2001, 0x0001, + 0x080c, 0xc174, 0x080c, 0xa7cd, 0x080c, 0x9e2f, 0x0005, 0x0096, + 0x6014, 0x904d, 0x090c, 0x0db4, 0xa87b, 0x0030, 0xa883, 0x0000, + 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, + 0x8000, 0x080c, 0x68a0, 0x012e, 0x009e, 0x080c, 0x9e2f, 0x0c30, + 0x0096, 0x9186, 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, 0x61a7, + 0x00e8, 0x9186, 0x0015, 0x1510, 0x2011, 0x1823, 0x2204, 0x9086, + 0x0014, 0x11e0, 0x6010, 0x00b6, 0x2058, 0x080c, 0x62f1, 0x00be, + 0x080c, 0xad68, 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, 0x00be, + 0x9005, 0x0160, 0x2001, 0x0006, 0x080c, 0x61a7, 0x6014, 0x2048, + 0xa868, 0xd0fc, 0x0170, 0x080c, 0xa233, 0x0048, 0x6014, 0x2048, + 0xa868, 0xd0fc, 0x0528, 0x080c, 0xa7cd, 0x080c, 0x9e2f, 0x009e, + 0x0005, 0x6014, 0x6310, 0x2358, 0x904d, 0x090c, 0x0db4, 0xa87b, + 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, 0x6476, + 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xa99a, 0x0126, + 0x2091, 0x8000, 0x080c, 0x68a0, 0x012e, 0x080c, 0x9e2f, 0x08f8, + 0x6014, 0x904d, 0x090c, 0x0db4, 0xa87b, 0x0030, 0xa883, 0x0000, + 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, + 0x8000, 0x080c, 0x68a0, 0x012e, 0x080c, 0x9e2f, 0x0840, 0xa878, + 0x9086, 0x0005, 0x1108, 0x0009, 0x0005, 0xa880, 0xc0ad, 0xa882, + 0x0005, 0x6043, 0x0000, 0x6017, 0x0000, 0x6003, 0x0001, 0x6007, + 0x0050, 0x080c, 0x83f8, 0x080c, 0x898b, 0x0005, 0x00c6, 0x6010, + 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0120, 0x6020, 0x9084, + 0x000f, 0x0013, 0x00ce, 0x0005, 0xb844, 0xbe65, 0xbe65, 0xbe68, + 0xd5b3, 0xd5ce, 0xd5d1, 0xb844, 0xb844, 0xb844, 0xb844, 0xb844, + 0xb844, 0xb844, 0xb844, 0x080c, 0x0db4, 0xa001, 0xa001, 0x0005, + 0x0096, 0x6014, 0x904d, 0x0118, 0xa87c, 0xd0e4, 0x1110, 0x009e, + 0x0010, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x0550, 0x2001, 0x1833, 0x2004, 0x9005, 0x1540, 0x00f6, + 0x2c78, 0x080c, 0x9dd9, 0x0508, 0x7810, 0x6012, 0x080c, 0xbfb5, + 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, 0x603e, + 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, 0x0001, + 0x6007, 0x0035, 0x6003, 0x0001, 0x7954, 0x6156, 0x080c, 0x83f8, + 0x080c, 0x898b, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, 0x2001, + 0x1960, 0x2004, 0x6042, 0x0005, 0x0016, 0x0096, 0x6814, 0x2048, + 0xa87c, 0xd0e4, 0x0180, 0xc0e4, 0xa87e, 0xa877, 0x0000, 0xa893, + 0x0000, 0xa88f, 0x0000, 0xd0cc, 0x0130, 0xc0cc, 0xa87e, 0xa878, + 0x2048, 0x080c, 0x0f9d, 0x6830, 0x6036, 0x908e, 0x0001, 0x0148, + 0x6803, 0x0002, 0x9086, 0x0005, 0x0170, 0x9006, 0x602e, 0x6032, + 0x00d0, 0x681c, 0xc085, 0x681e, 0x6803, 0x0004, 0x6824, 0xc0f4, + 0x9085, 0x0c00, 0x6826, 0x6814, 0x2048, 0xa8ac, 0x6938, 0x9102, + 0xa8b0, 0x693c, 0x9103, 0x1e48, 0x683c, 0x602e, 0x6838, 0x9084, + 0xfffc, 0x683a, 0x6032, 0x2d00, 0x603a, 0x6808, 0x603e, 0x6910, + 0x6112, 0x6954, 0x6156, 0x6023, 0x0001, 0x6007, 0x0039, 0x6003, + 0x0001, 0x080c, 0x83f8, 0x080c, 0x898b, 0x009e, 0x001e, 0x0005, + 0x6024, 0xd0d4, 0x0510, 0xd0f4, 0x11f8, 0x6038, 0x940a, 0x603c, + 0x9303, 0x0230, 0x9105, 0x0120, 0x6024, 0xc0d4, 0xc0f5, 0x0098, + 0x643a, 0x633e, 0xac3e, 0xab42, 0x0046, 0x0036, 0x2400, 0xacac, + 0x9402, 0xa836, 0x2300, 0xabb0, 0x9303, 0xa83a, 0x003e, 0x004e, + 0x6024, 0xc0d4, 0x0000, 0x6026, 0x0005, 0xd0f4, 0x1138, 0xa83c, + 0x603a, 0xa840, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x0005, 0x0006, + 0x0016, 0x6004, 0x908e, 0x0034, 0x01b8, 0x908e, 0x0035, 0x01a0, + 0x908e, 0x0036, 0x0188, 0x908e, 0x0037, 0x0170, 0x908e, 0x0038, + 0x0158, 0x908e, 0x0039, 0x0140, 0x908e, 0x003a, 0x0128, 0x908e, + 0x003b, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, + 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, 0x195a, 0x200c, 0x8000, + 0x2014, 0x2001, 0x0032, 0x080c, 0x8277, 0x2001, 0x195e, 0x82ff, + 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x195c, 0x200c, 0x8000, + 0x2014, 0x2071, 0x1944, 0x711a, 0x721e, 0x2001, 0x0064, 0x080c, + 0x8277, 0x2001, 0x195f, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, + 0x2001, 0x1960, 0x9288, 0x000a, 0x2102, 0x2001, 0x1a68, 0x2102, + 0x2001, 0x0032, 0x080c, 0x151a, 0x080c, 0x655b, 0x00ee, 0x003e, + 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x00e6, 0x2001, + 0x195e, 0x2003, 0x0028, 0x2001, 0x195f, 0x2003, 0x0014, 0x2071, + 0x1944, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, 0x1960, 0x2009, + 0x001e, 0x2102, 0x2001, 0x1a68, 0x2102, 0x2001, 0x0032, 0x080c, + 0x151a, 0x00ee, 0x001e, 0x000e, 0x0005, 0x0096, 0x6058, 0x904d, + 0x0110, 0x080c, 0x101d, 0x009e, 0x0005, 0x0005, 0x00c6, 0x0126, + 0x2091, 0x8000, 0x080c, 0x9dd9, 0x0180, 0x2b08, 0x6112, 0x0ca9, + 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, 0x9ea9, + 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x0096, + 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1500, 0x708c, + 0x9086, 0x0018, 0x11e0, 0x6014, 0x2048, 0xaa3c, 0xd2e4, 0x1160, + 0x2c78, 0x080c, 0x8b7e, 0x01d8, 0x7078, 0xaa50, 0x9206, 0x1160, + 0x707c, 0xaa54, 0x9206, 0x1140, 0x6210, 0x00b6, 0x2258, 0xbaa0, + 0x00be, 0x900e, 0x080c, 0x3030, 0x080c, 0xa233, 0x0020, 0x080c, + 0xa7cd, 0x080c, 0x9e2f, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, + 0xaa54, 0x9206, 0x0d48, 0x0c80, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x9dd9, 0x0188, 0x2b08, 0x6112, 0x080c, 0xbfb5, 0x6023, + 0x0001, 0x2900, 0x6016, 0x2009, 0x004d, 0x080c, 0x9ea9, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, - 0x2091, 0x8000, 0x080c, 0x9e8f, 0x01b8, 0x660a, 0x2b08, 0x6112, - 0x080c, 0xbfa6, 0x6023, 0x0008, 0x2900, 0x6016, 0x00f6, 0x2c78, - 0x080c, 0x164a, 0x00fe, 0x2009, 0x0021, 0x080c, 0x9ebc, 0x9085, - 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, 0x003d, - 0x00c6, 0x0126, 0x0016, 0x2091, 0x8000, 0x080c, 0x9dec, 0x0198, - 0x660a, 0x2b08, 0x6112, 0x080c, 0xbfa6, 0x6023, 0x0001, 0x2900, - 0x6016, 0x001e, 0x0016, 0x080c, 0x9ebc, 0x9085, 0x0001, 0x001e, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, 0x0126, 0x2091, - 0x8000, 0x080c, 0x9e8f, 0x0188, 0x2b08, 0x6112, 0x080c, 0xbfa6, - 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x0000, 0x080c, 0x9ebc, - 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2009, - 0x0044, 0x0830, 0x2009, 0x0049, 0x0818, 0x0026, 0x00b6, 0x6210, - 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x002e, - 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, - 0x0003, 0x0128, 0x908e, 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, - 0x000e, 0x0005, 0x0006, 0x0086, 0x0096, 0x6020, 0x9086, 0x0004, - 0x01a8, 0x6014, 0x904d, 0x080c, 0xbb2c, 0x0180, 0xa864, 0x9086, - 0x0139, 0x0170, 0x6020, 0x90c6, 0x0003, 0x0140, 0x90c6, 0x0002, - 0x0128, 0xa868, 0xd0fc, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, - 0x009e, 0x008e, 0x000e, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0x9e8f, 0x0198, 0x2b08, 0x6112, 0x080c, 0xbfa6, 0x6023, - 0x0001, 0x2900, 0x6016, 0x080c, 0x2fdc, 0x2009, 0x0028, 0x080c, - 0x9ebc, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, - 0x9186, 0x0015, 0x11a8, 0x2011, 0x1823, 0x2204, 0x9086, 0x0074, - 0x1178, 0x00b6, 0x080c, 0xaa5c, 0x00be, 0x080c, 0xac9b, 0x6003, - 0x0001, 0x6007, 0x0029, 0x080c, 0x8422, 0x080c, 0x896d, 0x0078, - 0x6014, 0x0096, 0x2048, 0xa868, 0x009e, 0xd0fc, 0x0148, 0x2001, - 0x0001, 0x080c, 0xc165, 0x080c, 0xa7d1, 0x080c, 0x9e42, 0x0005, - 0x0096, 0x6014, 0x904d, 0x090c, 0x0db4, 0xa87b, 0x0030, 0xa883, - 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, - 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x009e, 0x080c, 0x9e42, - 0x0c30, 0x0096, 0x9186, 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, - 0x6198, 0x00e8, 0x9186, 0x0015, 0x1510, 0x2011, 0x1823, 0x2204, - 0x9086, 0x0014, 0x11e0, 0x6010, 0x00b6, 0x2058, 0x080c, 0x62e2, - 0x00be, 0x080c, 0xad6c, 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, - 0x00be, 0x9005, 0x0160, 0x2001, 0x0006, 0x080c, 0x6198, 0x6014, - 0x2048, 0xa868, 0xd0fc, 0x0170, 0x080c, 0xa246, 0x0048, 0x6014, - 0x2048, 0xa868, 0xd0fc, 0x0528, 0x080c, 0xa7d1, 0x080c, 0x9e42, - 0x009e, 0x0005, 0x6014, 0x6310, 0x2358, 0x904d, 0x090c, 0x0db4, - 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, - 0x6467, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xa99a, - 0x0126, 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x080c, 0x9e42, - 0x08f8, 0x6014, 0x904d, 0x090c, 0x0db4, 0xa87b, 0x0030, 0xa883, - 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, - 0x2091, 0x8000, 0x080c, 0x6891, 0x012e, 0x080c, 0x9e42, 0x0840, - 0xa878, 0x9086, 0x0005, 0x1108, 0x0009, 0x0005, 0xa880, 0xc0ad, - 0xa882, 0x0005, 0x6043, 0x0000, 0x6017, 0x0000, 0x6003, 0x0001, - 0x6007, 0x0050, 0x080c, 0x83da, 0x080c, 0x896d, 0x0005, 0x00c6, - 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0120, 0x6020, - 0x9084, 0x000f, 0x0013, 0x00ce, 0x0005, 0xb845, 0xbe56, 0xbe56, - 0xbe59, 0xd59a, 0xd5b5, 0xd5b8, 0xb845, 0xb845, 0xb845, 0xb845, - 0xb845, 0xb845, 0xb845, 0xb845, 0x080c, 0x0db4, 0xa001, 0xa001, - 0x0005, 0x0096, 0x6014, 0x904d, 0x0118, 0xa87c, 0xd0e4, 0x1110, - 0x009e, 0x0010, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0550, 0x2001, 0x1833, 0x2004, 0x9005, 0x1540, - 0x00f6, 0x2c78, 0x080c, 0x9dec, 0x0508, 0x7810, 0x6012, 0x080c, - 0xbfa6, 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, - 0x603e, 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, - 0x0001, 0x6007, 0x0035, 0x6003, 0x0001, 0x7954, 0x6156, 0x080c, - 0x83da, 0x080c, 0x896d, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, - 0x2001, 0x1958, 0x2004, 0x6042, 0x0005, 0x0016, 0x0096, 0x6814, - 0x2048, 0xa87c, 0xd0e4, 0x0180, 0xc0e4, 0xa87e, 0xa877, 0x0000, - 0xa893, 0x0000, 0xa88f, 0x0000, 0xd0cc, 0x0130, 0xc0cc, 0xa87e, - 0xa878, 0x2048, 0x080c, 0x0f9d, 0x6830, 0x6036, 0x908e, 0x0001, - 0x0148, 0x6803, 0x0002, 0x9086, 0x0005, 0x0170, 0x9006, 0x602e, - 0x6032, 0x00d0, 0x681c, 0xc085, 0x681e, 0x6803, 0x0004, 0x6824, - 0xc0f4, 0x9085, 0x0c00, 0x6826, 0x6814, 0x2048, 0xa8ac, 0x6938, - 0x9102, 0xa8b0, 0x693c, 0x9103, 0x1e48, 0x683c, 0x602e, 0x6838, - 0x9084, 0xfffc, 0x683a, 0x6032, 0x2d00, 0x603a, 0x6808, 0x603e, - 0x6910, 0x6112, 0x6954, 0x6156, 0x6023, 0x0001, 0x6007, 0x0039, - 0x6003, 0x0001, 0x080c, 0x83da, 0x080c, 0x896d, 0x009e, 0x001e, - 0x0005, 0x6024, 0xd0d4, 0x0510, 0xd0f4, 0x11f8, 0x6038, 0x940a, - 0x603c, 0x9303, 0x0230, 0x9105, 0x0120, 0x6024, 0xc0d4, 0xc0f5, - 0x0098, 0x643a, 0x633e, 0xac3e, 0xab42, 0x0046, 0x0036, 0x2400, - 0xacac, 0x9402, 0xa836, 0x2300, 0xabb0, 0x9303, 0xa83a, 0x003e, - 0x004e, 0x6024, 0xc0d4, 0x0000, 0x6026, 0x0005, 0xd0f4, 0x1138, - 0xa83c, 0x603a, 0xa840, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x0005, - 0x0006, 0x0016, 0x6004, 0x908e, 0x0034, 0x01b8, 0x908e, 0x0035, - 0x01a0, 0x908e, 0x0036, 0x0188, 0x908e, 0x0037, 0x0170, 0x908e, - 0x0038, 0x0158, 0x908e, 0x0039, 0x0140, 0x908e, 0x003a, 0x0128, - 0x908e, 0x003b, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, - 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x2001, 0x1952, 0x200c, - 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, 0x8259, 0x2001, 0x1956, - 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1954, 0x200c, - 0x8000, 0x2014, 0x2071, 0x193c, 0x711a, 0x721e, 0x2001, 0x0064, - 0x080c, 0x8259, 0x2001, 0x1957, 0x82ff, 0x1110, 0x2011, 0x0014, - 0x2202, 0x2001, 0x1958, 0x9288, 0x000a, 0x2102, 0x2001, 0x1a60, - 0x2102, 0x2001, 0x0032, 0x080c, 0x151a, 0x080c, 0x654c, 0x00ee, - 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x00e6, - 0x2001, 0x1956, 0x2003, 0x0028, 0x2001, 0x1957, 0x2003, 0x0014, - 0x2071, 0x193c, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, 0x1958, - 0x2009, 0x001e, 0x2102, 0x2001, 0x1a60, 0x2102, 0x2001, 0x0032, - 0x080c, 0x151a, 0x00ee, 0x001e, 0x000e, 0x0005, 0x0096, 0x6058, - 0x904d, 0x0110, 0x080c, 0x101d, 0x009e, 0x0005, 0x0005, 0x00c6, - 0x0126, 0x2091, 0x8000, 0x080c, 0x9dec, 0x0180, 0x2b08, 0x6112, - 0x0ca9, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, - 0x9ebc, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, - 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1500, - 0x708c, 0x9086, 0x0018, 0x11e0, 0x6014, 0x2048, 0xaa3c, 0xd2e4, - 0x1160, 0x2c78, 0x080c, 0x8b64, 0x01d8, 0x7078, 0xaa50, 0x9206, - 0x1160, 0x707c, 0xaa54, 0x9206, 0x1140, 0x6210, 0x00b6, 0x2258, - 0xbaa0, 0x00be, 0x900e, 0x080c, 0x3025, 0x080c, 0xa246, 0x0020, - 0x080c, 0xa7d1, 0x080c, 0x9e42, 0x00fe, 0x00ee, 0x009e, 0x0005, - 0x705c, 0xaa54, 0x9206, 0x0d48, 0x0c80, 0x00c6, 0x0126, 0x2091, - 0x8000, 0x080c, 0x9dec, 0x0188, 0x2b08, 0x6112, 0x080c, 0xbfa6, - 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x004d, 0x080c, 0x9ebc, - 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, - 0x0126, 0x2091, 0x8000, 0x0016, 0x080c, 0x9dec, 0x0180, 0x2b08, - 0x6112, 0x080c, 0xbfa6, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, - 0x080c, 0x9ebc, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, - 0x9006, 0x0cd0, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, - 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1568, - 0x718c, 0x6014, 0x2048, 0xa814, 0x8003, 0x9106, 0x1530, 0x20e1, - 0x0000, 0x2001, 0x1970, 0x2003, 0x0000, 0x6014, 0x2048, 0xa830, - 0x20a8, 0x8906, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e8, 0x9084, - 0xffc0, 0x9080, 0x001b, 0x20a0, 0x2001, 0x1970, 0x0016, 0x200c, - 0x080c, 0xc7ed, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c38, - 0x6014, 0x2048, 0xa867, 0x0103, 0x0010, 0x080c, 0xa7d1, 0x080c, - 0x9e42, 0x00fe, 0x00ee, 0x009e, 0x006e, 0x005e, 0x004e, 0x003e, - 0x002e, 0x001e, 0x0005, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, - 0x9186, 0x0015, 0x11b8, 0x708c, 0x9086, 0x0004, 0x1198, 0x6014, - 0x2048, 0x2c78, 0x080c, 0x8b64, 0x01a8, 0x7078, 0xaa74, 0x9206, - 0x1130, 0x707c, 0xaa78, 0x9206, 0x1110, 0x080c, 0x2fdc, 0x080c, - 0xa246, 0x0020, 0x080c, 0xa7d1, 0x080c, 0x9e42, 0x00fe, 0x00ee, - 0x009e, 0x0005, 0x705c, 0xaa78, 0x9206, 0x0d78, 0x0c80, 0x0096, - 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1550, 0x708c, - 0x9086, 0x0004, 0x1530, 0x6014, 0x2048, 0x2c78, 0x080c, 0x8b64, - 0x05f0, 0x7078, 0xaacc, 0x9206, 0x1180, 0x707c, 0xaad0, 0x9206, - 0x1160, 0x080c, 0x2fdc, 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, - 0xc0fd, 0x080c, 0x5347, 0x001e, 0x0010, 0x080c, 0x5138, 0x080c, - 0xbb2c, 0x0508, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, - 0x0080, 0x080c, 0xbb2c, 0x01b8, 0x6014, 0x2048, 0x080c, 0x5138, - 0x1d70, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, - 0x0004, 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, 0x080c, 0x6891, - 0x012e, 0x080c, 0x9e42, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, - 0xaad0, 0x9206, 0x0930, 0x0888, 0x0016, 0x0026, 0xa87c, 0xd0ac, - 0x0178, 0xa938, 0xaa34, 0x2100, 0x9205, 0x0150, 0xa890, 0x9106, - 0x1118, 0xa88c, 0x9206, 0x0120, 0xa992, 0xaa8e, 0x9085, 0x0001, - 0x002e, 0x001e, 0x0005, 0x00b6, 0x00d6, 0x0036, 0x080c, 0xbb2c, - 0x0904, 0xc161, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x929e, - 0x4000, 0x1580, 0x6310, 0x00c6, 0x2358, 0x2009, 0x0000, 0xa868, - 0xd0f4, 0x1140, 0x080c, 0x6467, 0x1108, 0xc185, 0xb800, 0xd0bc, - 0x0108, 0xc18d, 0xaa96, 0xa99a, 0x20a9, 0x0004, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, - 0x0006, 0x2098, 0x080c, 0x0f68, 0x20a9, 0x0004, 0xa85c, 0x9080, - 0x0035, 0x20a0, 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0f68, - 0x00ce, 0x0090, 0xaa96, 0x3918, 0x9398, 0x0007, 0x231c, 0x6004, - 0x9086, 0x0016, 0x0110, 0xa89b, 0x0004, 0xaba2, 0x6310, 0x2358, - 0xb804, 0x9084, 0x00ff, 0xa89e, 0x080c, 0x6884, 0x6017, 0x0000, - 0x009e, 0x003e, 0x00de, 0x00be, 0x0005, 0x0026, 0x0036, 0x0046, - 0x00b6, 0x0096, 0x00f6, 0x6214, 0x2248, 0x6210, 0x2258, 0x2079, - 0x0260, 0x9096, 0x0000, 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, - 0x080c, 0x2665, 0x2118, 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, - 0x00ff, 0x931d, 0x7c3c, 0x2011, 0x8018, 0x080c, 0x48e9, 0x00a8, - 0x9096, 0x0001, 0x1148, 0x89ff, 0x0180, 0xa89b, 0x000d, 0x7838, - 0xa8a6, 0x783c, 0xa8aa, 0x0048, 0x9096, 0x0002, 0x1130, 0xa89b, - 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, 0x00fe, 0x009e, 0x00be, - 0x004e, 0x003e, 0x002e, 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, - 0x0035, 0x0110, 0x6a38, 0x0008, 0x6a2c, 0x080c, 0xbb1a, 0x01f0, - 0x2260, 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, - 0x6838, 0x9206, 0x0140, 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, - 0x9106, 0x1140, 0x0020, 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, - 0x6910, 0x9106, 0x001e, 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, - 0x0cc8, 0xa974, 0xd1cc, 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, - 0x1160, 0xa9a8, 0x918c, 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, - 0xa834, 0xa938, 0x9115, 0x190c, 0xb23a, 0x0005, 0x0036, 0x2019, - 0x0001, 0x0010, 0x0036, 0x901e, 0x0499, 0x01e0, 0x080c, 0xbb2c, - 0x01c8, 0x080c, 0xbd15, 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, - 0x0096, 0x2048, 0xa87c, 0x080c, 0xbd32, 0x1118, 0x080c, 0xa7d1, - 0x0040, 0xa867, 0x0103, 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, - 0x6891, 0x009e, 0x003e, 0x0005, 0xa880, 0xd0b4, 0x0128, 0xa87b, - 0x0006, 0xc0ec, 0xa882, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, - 0x0020, 0xa87b, 0x0005, 0x080c, 0xbe26, 0xa877, 0x0000, 0x0005, - 0x2001, 0x1810, 0x2004, 0xd0ec, 0x0005, 0x0006, 0x2001, 0x1810, - 0x2004, 0xd0f4, 0x000e, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, - 0xd0e4, 0x000e, 0x0005, 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, - 0xbba0, 0x00be, 0x2021, 0x0007, 0x080c, 0x4a86, 0x004e, 0x003e, - 0x0005, 0x0c51, 0x1d81, 0x0005, 0x2001, 0x1956, 0x2004, 0x601a, - 0x0005, 0x2001, 0x1958, 0x2004, 0x6042, 0x0005, 0x080c, 0x9e42, - 0x0804, 0x896d, 0x00b6, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, - 0x0db4, 0x001b, 0x006e, 0x00be, 0x0005, 0xc26d, 0xc94a, 0xcaa5, - 0xc26d, 0xc26d, 0xc26d, 0xc26d, 0xc26d, 0xc2a4, 0xcb29, 0xc26d, - 0xc26d, 0xc26d, 0xc26d, 0xc26d, 0xc26d, 0x080c, 0x0db4, 0x0066, - 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0db4, 0x0013, 0x006e, 0x0005, - 0xc288, 0xd091, 0xc288, 0xc288, 0xc288, 0xc288, 0xc288, 0xc288, - 0xd03e, 0xd0e5, 0xc288, 0xd6d5, 0xd70b, 0xd6d5, 0xd70b, 0xc288, - 0x080c, 0x0db4, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0db4, 0x6000, - 0x000a, 0x0005, 0xc2a2, 0xcd06, 0xcdf6, 0xce18, 0xced7, 0xc2a2, - 0xcfb5, 0xcf5f, 0xcb35, 0xd014, 0xd029, 0xc2a2, 0xc2a2, 0xc2a2, - 0xc2a2, 0xc2a2, 0x080c, 0x0db4, 0x91b2, 0x0053, 0x1a0c, 0x0db4, - 0x2100, 0x91b2, 0x0040, 0x1a04, 0xc6eb, 0x0002, 0xc2ee, 0xc4dc, - 0xc2ee, 0xc2ee, 0xc2ee, 0xc4e5, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, - 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, - 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2f0, 0xc353, 0xc362, - 0xc3c6, 0xc3f1, 0xc469, 0xc4c7, 0xc2ee, 0xc2ee, 0xc4e8, 0xc2ee, - 0xc2ee, 0xc4fd, 0xc50a, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, - 0xc58d, 0xc2ee, 0xc2ee, 0xc5a1, 0xc2ee, 0xc2ee, 0xc55c, 0xc2ee, - 0xc2ee, 0xc2ee, 0xc5b9, 0xc2ee, 0xc2ee, 0xc2ee, 0xc636, 0xc2ee, - 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc2ee, 0xc6b3, 0x080c, 0x0db4, - 0x080c, 0x6529, 0x1150, 0x2001, 0x1836, 0x2004, 0xd0cc, 0x1128, - 0x9084, 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, - 0x0009, 0x6017, 0x0000, 0x0804, 0xc4d5, 0x080c, 0x6512, 0x00e6, - 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2258, 0xbaa0, 0x0026, - 0x2019, 0x0029, 0x080c, 0x8564, 0x0076, 0x903e, 0x080c, 0x8452, - 0x2c08, 0x080c, 0xd2bc, 0x007e, 0x001e, 0x001e, 0x002e, 0x003e, - 0x00ce, 0x00ee, 0x6610, 0x2658, 0x080c, 0x6256, 0xbe04, 0x9684, - 0x00ff, 0x9082, 0x0006, 0x1268, 0x0016, 0x0026, 0x6210, 0x00b6, - 0x2258, 0xbaa0, 0x00be, 0x2c08, 0x080c, 0xd883, 0x002e, 0x001e, - 0x1178, 0x080c, 0xd1ef, 0x1904, 0xc3be, 0x080c, 0xd18b, 0x1120, - 0x6007, 0x0008, 0x0804, 0xc4d5, 0x6007, 0x0009, 0x0804, 0xc4d5, - 0x080c, 0xd3e6, 0x0128, 0x080c, 0xd1ef, 0x0d78, 0x0804, 0xc3be, - 0x6017, 0x1900, 0x0c88, 0x080c, 0x30ff, 0x1904, 0xc6e8, 0x6106, - 0x080c, 0xd140, 0x6007, 0x0006, 0x0804, 0xc4d5, 0x6007, 0x0007, - 0x0804, 0xc4d5, 0x080c, 0xd747, 0x1904, 0xc6e8, 0x080c, 0x30ff, - 0x1904, 0xc6e8, 0x00d6, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, - 0x9082, 0x0006, 0x1220, 0x2001, 0x0001, 0x080c, 0x6184, 0x96b4, - 0xff00, 0x8637, 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, - 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, - 0x0128, 0x9686, 0x0005, 0x0110, 0x00de, 0x0480, 0x00e6, 0x2071, - 0x0260, 0x7034, 0x9084, 0x0003, 0x1140, 0x7034, 0x9082, 0x0014, - 0x0220, 0x7030, 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, - 0x602f, 0x0007, 0x00b0, 0x00ee, 0x080c, 0xd252, 0x1190, 0x9686, - 0x0006, 0x1140, 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, - 0x3025, 0x002e, 0x080c, 0x62e2, 0x6007, 0x000a, 0x00de, 0x0804, - 0xc4d5, 0x6007, 0x000b, 0x00de, 0x0804, 0xc4d5, 0x080c, 0x2fdc, - 0x080c, 0xc241, 0x6007, 0x0001, 0x0804, 0xc4d5, 0x080c, 0xd747, - 0x1904, 0xc6e8, 0x080c, 0x30ff, 0x1904, 0xc6e8, 0x2071, 0x0260, - 0x7034, 0x90b4, 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, - 0x9084, 0x0003, 0x1910, 0x6610, 0x2658, 0xbe04, 0x9686, 0x0707, - 0x09e8, 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x3025, - 0x002e, 0x6007, 0x000c, 0x2001, 0x0001, 0x080c, 0xd863, 0x0804, - 0xc4d5, 0x080c, 0x6529, 0x1140, 0x2001, 0x1836, 0x2004, 0x9084, - 0x0009, 0x9086, 0x0008, 0x1110, 0x0804, 0xc2fd, 0x080c, 0x6512, - 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06c0, - 0x1138, 0x0026, 0x2001, 0x0006, 0x080c, 0x61c4, 0x002e, 0x0050, - 0x96b4, 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, - 0x1904, 0xc3be, 0x080c, 0xd25f, 0x1120, 0x6007, 0x000e, 0x0804, - 0xc4d5, 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x2fdc, - 0x080c, 0xc241, 0x004e, 0x0016, 0x9006, 0x2009, 0x1854, 0x210c, - 0x0048, 0x2009, 0x0029, 0x080c, 0xd54b, 0x6010, 0x2058, 0xb800, - 0xc0e5, 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xc4d5, - 0x2001, 0x0001, 0x080c, 0x6184, 0x0156, 0x0016, 0x0026, 0x0036, - 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0270, 0x080c, 0xae0c, - 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, - 0x8637, 0x9682, 0x0004, 0x0a04, 0xc3be, 0x9682, 0x0007, 0x0a04, - 0xc41a, 0x0804, 0xc3be, 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, - 0xc4d5, 0x080c, 0x6529, 0x1140, 0x2001, 0x1836, 0x2004, 0x9084, - 0x0009, 0x9086, 0x0008, 0x1110, 0x0804, 0xc2fd, 0x080c, 0x6512, - 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x0006, 0x9086, 0x0001, - 0x000e, 0x0170, 0x9082, 0x0006, 0x0690, 0x0150, 0x96b4, 0xff00, - 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xc3be, - 0x080c, 0xd28d, 0x1130, 0x080c, 0xd18b, 0x1118, 0x6007, 0x0010, - 0x04e0, 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x2fdc, - 0x080c, 0xc241, 0x004e, 0x0016, 0x9006, 0x2009, 0x1854, 0x210c, - 0x0048, 0x2009, 0x0029, 0x080c, 0xd54b, 0x6010, 0x2058, 0xb800, - 0xc0e5, 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, - 0xd3e6, 0x0140, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0980, - 0x0804, 0xc3be, 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, - 0x30ff, 0x1904, 0xc6e8, 0x080c, 0xd747, 0x1904, 0xc6e8, 0x080c, - 0xc888, 0x1904, 0xc3be, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, - 0x8422, 0x080c, 0x896d, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, - 0x080c, 0x8422, 0x080c, 0x896d, 0x0cb0, 0x6007, 0x0005, 0x0c68, - 0x080c, 0xd747, 0x1904, 0xc6e8, 0x080c, 0x30ff, 0x1904, 0xc6e8, - 0x080c, 0xc888, 0x1904, 0xc3be, 0x6007, 0x0020, 0x6003, 0x0001, - 0x080c, 0x8422, 0x080c, 0x896d, 0x0005, 0x080c, 0x30ff, 0x1904, - 0xc6e8, 0x6007, 0x0023, 0x6003, 0x0001, 0x080c, 0x8422, 0x080c, - 0x896d, 0x0005, 0x080c, 0xd747, 0x1904, 0xc6e8, 0x080c, 0x30ff, - 0x1904, 0xc6e8, 0x080c, 0xc888, 0x1904, 0xc3be, 0x0016, 0x0026, - 0x00e6, 0x2071, 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, - 0x080c, 0xbb1a, 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, - 0x6010, 0x9190, 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, - 0x2c08, 0x9006, 0x080c, 0xd51d, 0x1180, 0x7244, 0x9286, 0xffff, - 0x01b0, 0x2160, 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, - 0xffff, 0x1180, 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, - 0x1d80, 0x6004, 0x9086, 0x0024, 0x1110, 0x080c, 0x9e42, 0x2160, - 0x6007, 0x0025, 0x6003, 0x0001, 0x080c, 0x8422, 0x080c, 0x896d, - 0x00ee, 0x002e, 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x6184, - 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, - 0x2011, 0x0276, 0x080c, 0xae0c, 0x003e, 0x002e, 0x001e, 0x015e, - 0x0120, 0x6007, 0x0031, 0x0804, 0xc4d5, 0x080c, 0xaa74, 0x080c, - 0x6f9b, 0x1190, 0x0006, 0x0026, 0x0036, 0x080c, 0x6fb5, 0x1138, - 0x080c, 0x727f, 0x080c, 0x5cda, 0x080c, 0x6ecd, 0x0010, 0x080c, - 0x6f73, 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, 0x30ff, 0x1904, - 0xc6e8, 0x080c, 0xc888, 0x1904, 0xc3be, 0x6106, 0x080c, 0xc8a4, - 0x1120, 0x6007, 0x002b, 0x0804, 0xc4d5, 0x6007, 0x002c, 0x0804, - 0xc4d5, 0x080c, 0xd747, 0x1904, 0xc6e8, 0x080c, 0x30ff, 0x1904, - 0xc6e8, 0x080c, 0xc888, 0x1904, 0xc3be, 0x6106, 0x080c, 0xc8a9, - 0x1120, 0x6007, 0x002e, 0x0804, 0xc4d5, 0x6007, 0x002f, 0x0804, - 0xc4d5, 0x080c, 0x30ff, 0x1904, 0xc6e8, 0x00e6, 0x00d6, 0x00c6, - 0x6010, 0x2058, 0xb904, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, - 0x9184, 0xff00, 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, - 0x00ee, 0x0804, 0xc4dc, 0x080c, 0x5393, 0xd0e4, 0x0904, 0xc633, - 0x2071, 0x026c, 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, - 0x080c, 0x6567, 0x0140, 0x6010, 0x2058, 0xb810, 0x9106, 0x1118, - 0xb814, 0x9206, 0x0510, 0x080c, 0x6563, 0x15b8, 0x2069, 0x1800, - 0x687c, 0x9206, 0x1590, 0x6878, 0x9106, 0x1578, 0x7210, 0x080c, - 0xbb1a, 0x0590, 0x080c, 0xc773, 0x0578, 0x080c, 0xd5c7, 0x0560, - 0x622e, 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x83da, 0x080c, - 0x896d, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, - 0x0150, 0x080c, 0xbb1a, 0x01c0, 0x9280, 0x0002, 0x2004, 0x7110, - 0x9106, 0x1190, 0x08e0, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, - 0xd51d, 0x2c10, 0x2160, 0x0140, 0x0890, 0x6007, 0x0037, 0x602f, - 0x0009, 0x6017, 0x1500, 0x08b8, 0x6007, 0x0037, 0x602f, 0x0003, - 0x6017, 0x1700, 0x0880, 0x6007, 0x0012, 0x0868, 0x080c, 0x30ff, - 0x1904, 0xc6e8, 0x6010, 0x2058, 0xb804, 0x9084, 0xff00, 0x8007, - 0x9086, 0x0006, 0x1904, 0xc4dc, 0x00e6, 0x00d6, 0x00c6, 0x080c, - 0x5393, 0xd0e4, 0x0904, 0xc6ab, 0x2069, 0x1800, 0x2071, 0x026c, - 0x7008, 0x603a, 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, - 0x00c6, 0x2c08, 0x9085, 0x0001, 0x080c, 0xd51d, 0x2c10, 0x00ce, - 0x05e8, 0x080c, 0xbb1a, 0x05d0, 0x7108, 0x9280, 0x0002, 0x2004, - 0x9106, 0x15a0, 0x00c6, 0x0026, 0x2260, 0x080c, 0xb750, 0x002e, - 0x00ce, 0x7118, 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0178, - 0x9186, 0x0005, 0x0118, 0x9186, 0x0007, 0x1198, 0x9280, 0x0005, - 0x2004, 0x9005, 0x0170, 0x080c, 0xc773, 0x0904, 0xc62c, 0x0056, - 0x7510, 0x7614, 0x080c, 0xd5e0, 0x005e, 0x00ce, 0x00de, 0x00ee, - 0x0005, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, - 0x0001, 0x080c, 0x83da, 0x080c, 0x896d, 0x0c78, 0x6007, 0x003b, - 0x602f, 0x0003, 0x6017, 0x0300, 0x6003, 0x0001, 0x080c, 0x83da, - 0x080c, 0x896d, 0x0c10, 0x6007, 0x003b, 0x602f, 0x000b, 0x6017, - 0x0000, 0x0804, 0xc603, 0x00e6, 0x0026, 0x080c, 0x6529, 0x0550, - 0x080c, 0x6512, 0x080c, 0xd7b9, 0x1518, 0x2071, 0x1800, 0x70d8, - 0x9085, 0x0003, 0x70da, 0x00f6, 0x2079, 0x0100, 0x72ac, 0x9284, - 0x00ff, 0x707a, 0x78e6, 0x9284, 0xff00, 0x727c, 0x9205, 0x707e, - 0x78ea, 0x00fe, 0x70e3, 0x0000, 0x080c, 0x6567, 0x0120, 0x2011, - 0x19d0, 0x2013, 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2dbd, 0x0010, - 0x080c, 0xd7eb, 0x002e, 0x00ee, 0x080c, 0x9e42, 0x0804, 0xc4db, - 0x080c, 0x9e42, 0x0005, 0x2600, 0x0002, 0xc6ff, 0xc6ff, 0xc6ff, - 0xc6ff, 0xc6ff, 0xc701, 0xc6ff, 0xc6ff, 0xc6ff, 0xc6ff, 0xc71e, - 0xc6ff, 0xc6ff, 0xc6ff, 0xc730, 0xc73d, 0xc76e, 0xc6ff, 0x080c, - 0x0db4, 0x080c, 0xd747, 0x1d20, 0x080c, 0x30ff, 0x1d08, 0x080c, - 0xc888, 0x1148, 0x7038, 0x6016, 0x6007, 0x0045, 0x6003, 0x0001, - 0x080c, 0x8422, 0x0005, 0x080c, 0x2fdc, 0x080c, 0xc241, 0x6007, - 0x0001, 0x6003, 0x0001, 0x080c, 0x8422, 0x0005, 0x080c, 0xd747, - 0x1938, 0x080c, 0x30ff, 0x1920, 0x080c, 0xc888, 0x1d60, 0x703c, - 0x6016, 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x8422, 0x0005, - 0x080c, 0xc790, 0x0904, 0xc6e8, 0x6007, 0x004e, 0x6003, 0x0001, - 0x080c, 0x8422, 0x080c, 0x896d, 0x0005, 0x6007, 0x004f, 0x6017, - 0x0000, 0x7134, 0x918c, 0x00ff, 0x81ff, 0x0508, 0x9186, 0x0001, - 0x1160, 0x7140, 0x2001, 0x198d, 0x2004, 0x9106, 0x11b0, 0x7144, - 0x2001, 0x198e, 0x2004, 0x9106, 0x0190, 0x9186, 0x0002, 0x1168, - 0x2011, 0x0276, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, - 0x000a, 0x080c, 0xae20, 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, - 0x0001, 0x080c, 0x8422, 0x080c, 0x896d, 0x0005, 0x6007, 0x0050, - 0x703c, 0x6016, 0x0ca0, 0x0016, 0x00e6, 0x2071, 0x0260, 0x00b6, - 0x00c6, 0x2260, 0x6010, 0x2058, 0xb8bc, 0xd084, 0x0150, 0x7128, - 0x6048, 0x9106, 0x1120, 0x712c, 0x6044, 0x9106, 0x0110, 0x9006, - 0x0010, 0x9085, 0x0001, 0x00ce, 0x00be, 0x00ee, 0x001e, 0x0005, - 0x0016, 0x0096, 0x0086, 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, - 0x8000, 0x2071, 0x1800, 0x708c, 0x908a, 0x00f9, 0x16e8, 0x20e1, - 0x0000, 0x2001, 0x1970, 0x2003, 0x0000, 0x080c, 0x1004, 0x05a0, - 0x2900, 0x6016, 0x708c, 0x8004, 0xa816, 0x908a, 0x001e, 0x02d0, - 0xa833, 0x001e, 0x20a9, 0x001e, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x001b, 0x20a0, 0x2001, 0x1970, 0x0016, 0x200c, 0x0471, 0x001e, - 0x2940, 0x080c, 0x1004, 0x01c0, 0x2900, 0xa006, 0x2100, 0x81ff, - 0x0180, 0x0c18, 0xa832, 0x20a8, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x001b, 0x20a0, 0x2001, 0x1970, 0x0016, 0x200c, 0x00b1, 0x001e, - 0x0000, 0x9085, 0x0001, 0x0048, 0x2071, 0x1800, 0x708f, 0x0000, - 0x6014, 0x2048, 0x080c, 0x0f9d, 0x9006, 0x012e, 0x01de, 0x01ce, - 0x00ee, 0x008e, 0x009e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, - 0x0036, 0x00c6, 0x918c, 0xffff, 0x11a8, 0x080c, 0x2243, 0x2099, - 0x026c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, - 0x00f8, 0x20a8, 0x4003, 0x22a8, 0x8108, 0x080c, 0x2243, 0x2099, - 0x0260, 0x0ca8, 0x080c, 0x2243, 0x2061, 0x1970, 0x6004, 0x2098, - 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, - 0x4003, 0x22a8, 0x8108, 0x080c, 0x2243, 0x2099, 0x0260, 0x0ca8, - 0x2061, 0x1970, 0x2019, 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, - 0x0020, 0x2001, 0x0260, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, - 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, - 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, - 0x080c, 0x225b, 0x20a1, 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, - 0x1218, 0x23a8, 0x4003, 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, - 0x22a8, 0x8108, 0x080c, 0x225b, 0x20a1, 0x0240, 0x0c98, 0x080c, - 0x225b, 0x2061, 0x1973, 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, - 0x1218, 0x23a8, 0x4003, 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, - 0x22a8, 0x8108, 0x080c, 0x225b, 0x20a1, 0x0240, 0x0c98, 0x2061, - 0x1973, 0x2019, 0x0260, 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, - 0x2001, 0x0240, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, + 0x2091, 0x8000, 0x0016, 0x080c, 0x9dd9, 0x0180, 0x2b08, 0x6112, + 0x080c, 0xbfb5, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x080c, + 0x9ea9, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, 0x9006, + 0x0cd0, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0096, + 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1568, 0x718c, + 0x6014, 0x2048, 0xa814, 0x8003, 0x9106, 0x1530, 0x20e1, 0x0000, + 0x2001, 0x1978, 0x2003, 0x0000, 0x6014, 0x2048, 0xa830, 0x20a8, + 0x8906, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e8, 0x9084, 0xffc0, + 0x9080, 0x001b, 0x20a0, 0x2001, 0x1978, 0x0016, 0x200c, 0x080c, + 0xc7fc, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c38, 0x6014, + 0x2048, 0xa867, 0x0103, 0x0010, 0x080c, 0xa7cd, 0x080c, 0x9e2f, + 0x00fe, 0x00ee, 0x009e, 0x006e, 0x005e, 0x004e, 0x003e, 0x002e, + 0x001e, 0x0005, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, + 0x0015, 0x11b8, 0x708c, 0x9086, 0x0004, 0x1198, 0x6014, 0x2048, + 0x2c78, 0x080c, 0x8b7e, 0x01a8, 0x7078, 0xaa74, 0x9206, 0x1130, + 0x707c, 0xaa78, 0x9206, 0x1110, 0x080c, 0x2fe7, 0x080c, 0xa233, + 0x0020, 0x080c, 0xa7cd, 0x080c, 0x9e2f, 0x00fe, 0x00ee, 0x009e, + 0x0005, 0x705c, 0xaa78, 0x9206, 0x0d78, 0x0c80, 0x0096, 0x00e6, + 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x1550, 0x708c, 0x9086, + 0x0004, 0x1530, 0x6014, 0x2048, 0x2c78, 0x080c, 0x8b7e, 0x05f0, + 0x7078, 0xaacc, 0x9206, 0x1180, 0x707c, 0xaad0, 0x9206, 0x1160, + 0x080c, 0x2fe7, 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, 0xc0fd, + 0x080c, 0x5352, 0x001e, 0x0010, 0x080c, 0x5143, 0x080c, 0xbb3b, + 0x0508, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0080, + 0x080c, 0xbb3b, 0x01b8, 0x6014, 0x2048, 0x080c, 0x5143, 0x1d70, + 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, + 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, 0x080c, 0x68a0, 0x012e, + 0x080c, 0x9e2f, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, 0xaad0, + 0x9206, 0x0930, 0x0888, 0x0016, 0x0026, 0xa87c, 0xd0ac, 0x0178, + 0xa938, 0xaa34, 0x2100, 0x9205, 0x0150, 0xa890, 0x9106, 0x1118, + 0xa88c, 0x9206, 0x0120, 0xa992, 0xaa8e, 0x9085, 0x0001, 0x002e, + 0x001e, 0x0005, 0x00b6, 0x00d6, 0x0036, 0x080c, 0xbb3b, 0x0904, + 0xc170, 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x929e, 0x4000, + 0x1580, 0x6310, 0x00c6, 0x2358, 0x2009, 0x0000, 0xa868, 0xd0f4, + 0x1140, 0x080c, 0x6476, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, + 0xc18d, 0xaa96, 0xa99a, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x0031, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, + 0x2098, 0x080c, 0x0f68, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x0035, + 0x20a0, 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0f68, 0x00ce, + 0x0090, 0xaa96, 0x3918, 0x9398, 0x0007, 0x231c, 0x6004, 0x9086, + 0x0016, 0x0110, 0xa89b, 0x0004, 0xaba2, 0x6310, 0x2358, 0xb804, + 0x9084, 0x00ff, 0xa89e, 0x080c, 0x6893, 0x6017, 0x0000, 0x009e, + 0x003e, 0x00de, 0x00be, 0x0005, 0x0026, 0x0036, 0x0046, 0x00b6, + 0x0096, 0x00f6, 0x6214, 0x2248, 0x6210, 0x2258, 0x2079, 0x0260, + 0x9096, 0x0000, 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, 0x080c, + 0x2670, 0x2118, 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, 0x00ff, + 0x931d, 0x7c3c, 0x2011, 0x8018, 0x080c, 0x48f4, 0x00a8, 0x9096, + 0x0001, 0x1148, 0x89ff, 0x0180, 0xa89b, 0x000d, 0x7838, 0xa8a6, + 0x783c, 0xa8aa, 0x0048, 0x9096, 0x0002, 0x1130, 0xa89b, 0x000d, + 0x7838, 0xa8a6, 0x783c, 0xa8aa, 0x00fe, 0x009e, 0x00be, 0x004e, + 0x003e, 0x002e, 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, 0x0035, + 0x0110, 0x6a38, 0x0008, 0x6a2c, 0x080c, 0xbb29, 0x01f0, 0x2260, + 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, 0x6838, + 0x9206, 0x0140, 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, 0x9106, + 0x1140, 0x0020, 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, 0x6910, + 0x9106, 0x001e, 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, 0x0cc8, + 0xa974, 0xd1cc, 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, 0x1160, + 0xa9a8, 0x918c, 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, 0xa834, + 0xa938, 0x9115, 0x190c, 0xb236, 0x0005, 0x0036, 0x2019, 0x0001, + 0x0010, 0x0036, 0x901e, 0x0499, 0x01e0, 0x080c, 0xbb3b, 0x01c8, + 0x080c, 0xbd24, 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, 0x0096, + 0x2048, 0xa87c, 0x080c, 0xbd41, 0x1118, 0x080c, 0xa7cd, 0x0040, + 0xa867, 0x0103, 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, 0x68a0, + 0x009e, 0x003e, 0x0005, 0xa880, 0xd0b4, 0x0128, 0xa87b, 0x0006, + 0xc0ec, 0xa882, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, 0x0020, + 0xa87b, 0x0005, 0x080c, 0xbe35, 0xa877, 0x0000, 0x0005, 0x2001, + 0x1810, 0x2004, 0xd0ec, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, + 0xd0f4, 0x000e, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0e4, + 0x000e, 0x0005, 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, 0xbba0, + 0x00be, 0x2021, 0x0007, 0x080c, 0x4a91, 0x004e, 0x003e, 0x0005, + 0x0c51, 0x1d81, 0x0005, 0x2001, 0x195e, 0x2004, 0x601a, 0x0005, + 0x2001, 0x1960, 0x2004, 0x6042, 0x0005, 0x080c, 0x9e2f, 0x0804, + 0x898b, 0x00b6, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0db4, + 0x001b, 0x006e, 0x00be, 0x0005, 0xc27c, 0xc959, 0xcab4, 0xc27c, + 0xc27c, 0xc27c, 0xc27c, 0xc27c, 0xc2b3, 0xcb38, 0xc27c, 0xc27c, + 0xc27c, 0xc27c, 0xc27c, 0xc27c, 0x080c, 0x0db4, 0x0066, 0x6000, + 0x90b2, 0x0016, 0x1a0c, 0x0db4, 0x0013, 0x006e, 0x0005, 0xc297, + 0xd0aa, 0xc297, 0xc297, 0xc297, 0xc297, 0xc297, 0xc297, 0xd057, + 0xd0fe, 0xc297, 0xd6ee, 0xd724, 0xd6ee, 0xd724, 0xc297, 0x080c, + 0x0db4, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0db4, 0x6000, 0x000a, + 0x0005, 0xc2b1, 0xcd16, 0xce08, 0xce2b, 0xceeb, 0xc2b1, 0xcfca, + 0xcf73, 0xcb44, 0xd02d, 0xd042, 0xc2b1, 0xc2b1, 0xc2b1, 0xc2b1, + 0xc2b1, 0x080c, 0x0db4, 0x91b2, 0x0053, 0x1a0c, 0x0db4, 0x2100, + 0x91b2, 0x0040, 0x1a04, 0xc6fa, 0x0002, 0xc2fd, 0xc4eb, 0xc2fd, + 0xc2fd, 0xc2fd, 0xc4f4, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, + 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, + 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2ff, 0xc362, 0xc371, 0xc3d5, + 0xc400, 0xc478, 0xc4d6, 0xc2fd, 0xc2fd, 0xc4f7, 0xc2fd, 0xc2fd, + 0xc50c, 0xc519, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc59c, + 0xc2fd, 0xc2fd, 0xc5b0, 0xc2fd, 0xc2fd, 0xc56b, 0xc2fd, 0xc2fd, + 0xc2fd, 0xc5c8, 0xc2fd, 0xc2fd, 0xc2fd, 0xc645, 0xc2fd, 0xc2fd, + 0xc2fd, 0xc2fd, 0xc2fd, 0xc2fd, 0xc6c2, 0x080c, 0x0db4, 0x080c, + 0x6538, 0x1150, 0x2001, 0x1836, 0x2004, 0xd0cc, 0x1128, 0x9084, + 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, 0x0009, + 0x6017, 0x0000, 0x0804, 0xc4e4, 0x080c, 0x6521, 0x00e6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, + 0x0029, 0x080c, 0x8582, 0x0076, 0x903e, 0x080c, 0x8470, 0x2c08, + 0x080c, 0xd2d5, 0x007e, 0x001e, 0x001e, 0x002e, 0x003e, 0x00ce, + 0x00ee, 0x6610, 0x2658, 0x080c, 0x6265, 0xbe04, 0x9684, 0x00ff, + 0x9082, 0x0006, 0x1268, 0x0016, 0x0026, 0x6210, 0x00b6, 0x2258, + 0xbaa0, 0x00be, 0x2c08, 0x080c, 0xd89c, 0x002e, 0x001e, 0x1178, + 0x080c, 0xd208, 0x1904, 0xc3cd, 0x080c, 0xd1a4, 0x1120, 0x6007, + 0x0008, 0x0804, 0xc4e4, 0x6007, 0x0009, 0x0804, 0xc4e4, 0x080c, + 0xd3ff, 0x0128, 0x080c, 0xd208, 0x0d78, 0x0804, 0xc3cd, 0x6017, + 0x1900, 0x0c88, 0x080c, 0x310a, 0x1904, 0xc6f7, 0x6106, 0x080c, + 0xd159, 0x6007, 0x0006, 0x0804, 0xc4e4, 0x6007, 0x0007, 0x0804, + 0xc4e4, 0x080c, 0xd760, 0x1904, 0xc6f7, 0x080c, 0x310a, 0x1904, + 0xc6f7, 0x00d6, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, + 0x0006, 0x1220, 0x2001, 0x0001, 0x080c, 0x6193, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, 0xbe04, + 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, 0x0128, + 0x9686, 0x0005, 0x0110, 0x00de, 0x0480, 0x00e6, 0x2071, 0x0260, + 0x7034, 0x9084, 0x0003, 0x1140, 0x7034, 0x9082, 0x0014, 0x0220, + 0x7030, 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, + 0x0007, 0x00b0, 0x00ee, 0x080c, 0xd26b, 0x1190, 0x9686, 0x0006, + 0x1140, 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x3030, + 0x002e, 0x080c, 0x62f1, 0x6007, 0x000a, 0x00de, 0x0804, 0xc4e4, + 0x6007, 0x000b, 0x00de, 0x0804, 0xc4e4, 0x080c, 0x2fe7, 0x080c, + 0xc250, 0x6007, 0x0001, 0x0804, 0xc4e4, 0x080c, 0xd760, 0x1904, + 0xc6f7, 0x080c, 0x310a, 0x1904, 0xc6f7, 0x2071, 0x0260, 0x7034, + 0x90b4, 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, + 0x0003, 0x1910, 0x6610, 0x2658, 0xbe04, 0x9686, 0x0707, 0x09e8, + 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x3030, 0x002e, + 0x6007, 0x000c, 0x2001, 0x0001, 0x080c, 0xd87c, 0x0804, 0xc4e4, + 0x080c, 0x6538, 0x1140, 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, + 0x9086, 0x0008, 0x1110, 0x0804, 0xc30c, 0x080c, 0x6521, 0x6610, + 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06c0, 0x1138, + 0x0026, 0x2001, 0x0006, 0x080c, 0x61d3, 0x002e, 0x0050, 0x96b4, + 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, + 0xc3cd, 0x080c, 0xd278, 0x1120, 0x6007, 0x000e, 0x0804, 0xc4e4, + 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x2fe7, 0x080c, + 0xc250, 0x004e, 0x0016, 0x9006, 0x2009, 0x185c, 0x210c, 0x0048, + 0x2009, 0x0029, 0x080c, 0xd564, 0x6010, 0x2058, 0xb800, 0xc0e5, + 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xc4e4, 0x2001, + 0x0001, 0x080c, 0x6193, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, + 0x0004, 0x2019, 0x1805, 0x2011, 0x0270, 0x080c, 0xae08, 0x003e, + 0x002e, 0x001e, 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, + 0x9682, 0x0004, 0x0a04, 0xc3cd, 0x9682, 0x0007, 0x0a04, 0xc429, + 0x0804, 0xc3cd, 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xc4e4, + 0x080c, 0x6538, 0x1140, 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, + 0x9086, 0x0008, 0x1110, 0x0804, 0xc30c, 0x080c, 0x6521, 0x6610, + 0x2658, 0xbe04, 0x9684, 0x00ff, 0x0006, 0x9086, 0x0001, 0x000e, + 0x0170, 0x9082, 0x0006, 0x0690, 0x0150, 0x96b4, 0xff00, 0x8637, + 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xc3cd, 0x080c, + 0xd2a6, 0x1130, 0x080c, 0xd1a4, 0x1118, 0x6007, 0x0010, 0x04e0, + 0x0046, 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x2fe7, 0x080c, + 0xc250, 0x004e, 0x0016, 0x9006, 0x2009, 0x185c, 0x210c, 0x0048, + 0x2009, 0x0029, 0x080c, 0xd564, 0x6010, 0x2058, 0xb800, 0xc0e5, + 0xb802, 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, 0xd3ff, + 0x0140, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0980, 0x0804, + 0xc3cd, 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, 0x310a, + 0x1904, 0xc6f7, 0x080c, 0xd760, 0x1904, 0xc6f7, 0x080c, 0xc897, + 0x1904, 0xc3cd, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, 0x8440, + 0x080c, 0x898b, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, + 0x8440, 0x080c, 0x898b, 0x0cb0, 0x6007, 0x0005, 0x0c68, 0x080c, + 0xd760, 0x1904, 0xc6f7, 0x080c, 0x310a, 0x1904, 0xc6f7, 0x080c, + 0xc897, 0x1904, 0xc3cd, 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, + 0x8440, 0x080c, 0x898b, 0x0005, 0x080c, 0x310a, 0x1904, 0xc6f7, + 0x6007, 0x0023, 0x6003, 0x0001, 0x080c, 0x8440, 0x080c, 0x898b, + 0x0005, 0x080c, 0xd760, 0x1904, 0xc6f7, 0x080c, 0x310a, 0x1904, + 0xc6f7, 0x080c, 0xc897, 0x1904, 0xc3cd, 0x0016, 0x0026, 0x00e6, + 0x2071, 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, 0x080c, + 0xbb29, 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, 0x6010, + 0x9190, 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, 0x2c08, + 0x9006, 0x080c, 0xd536, 0x1180, 0x7244, 0x9286, 0xffff, 0x01b0, + 0x2160, 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, 0xffff, + 0x1180, 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, 0x1d80, + 0x6004, 0x9086, 0x0024, 0x1110, 0x080c, 0x9e2f, 0x2160, 0x6007, + 0x0025, 0x6003, 0x0001, 0x080c, 0x8440, 0x080c, 0x898b, 0x00ee, + 0x002e, 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x6193, 0x0156, + 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, + 0x0276, 0x080c, 0xae08, 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, + 0x6007, 0x0031, 0x0804, 0xc4e4, 0x080c, 0xaa70, 0x080c, 0x6faa, + 0x1190, 0x0006, 0x0026, 0x0036, 0x080c, 0x6fc4, 0x1138, 0x080c, + 0x728c, 0x080c, 0x5ce5, 0x080c, 0x6edc, 0x0010, 0x080c, 0x6f82, + 0x003e, 0x002e, 0x000e, 0x0005, 0x080c, 0x310a, 0x1904, 0xc6f7, + 0x080c, 0xc897, 0x1904, 0xc3cd, 0x6106, 0x080c, 0xc8b3, 0x1120, + 0x6007, 0x002b, 0x0804, 0xc4e4, 0x6007, 0x002c, 0x0804, 0xc4e4, + 0x080c, 0xd760, 0x1904, 0xc6f7, 0x080c, 0x310a, 0x1904, 0xc6f7, + 0x080c, 0xc897, 0x1904, 0xc3cd, 0x6106, 0x080c, 0xc8b8, 0x1120, + 0x6007, 0x002e, 0x0804, 0xc4e4, 0x6007, 0x002f, 0x0804, 0xc4e4, + 0x080c, 0x310a, 0x1904, 0xc6f7, 0x00e6, 0x00d6, 0x00c6, 0x6010, + 0x2058, 0xb904, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, 0x9184, + 0xff00, 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, + 0x0804, 0xc4eb, 0x080c, 0x539e, 0xd0e4, 0x0904, 0xc642, 0x2071, + 0x026c, 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, 0x080c, + 0x6576, 0x0140, 0x6010, 0x2058, 0xb810, 0x9106, 0x1118, 0xb814, + 0x9206, 0x0510, 0x080c, 0x6572, 0x15b8, 0x2069, 0x1800, 0x687c, + 0x9206, 0x1590, 0x6878, 0x9106, 0x1578, 0x7210, 0x080c, 0xbb29, + 0x0590, 0x080c, 0xc782, 0x0578, 0x080c, 0xd5e0, 0x0560, 0x622e, + 0x6007, 0x0036, 0x6003, 0x0001, 0x080c, 0x83f8, 0x080c, 0x898b, + 0x00ce, 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, 0x0150, + 0x080c, 0xbb29, 0x01c0, 0x9280, 0x0002, 0x2004, 0x7110, 0x9106, + 0x1190, 0x08e0, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, 0xd536, + 0x2c10, 0x2160, 0x0140, 0x0890, 0x6007, 0x0037, 0x602f, 0x0009, + 0x6017, 0x1500, 0x08b8, 0x6007, 0x0037, 0x602f, 0x0003, 0x6017, + 0x1700, 0x0880, 0x6007, 0x0012, 0x0868, 0x080c, 0x310a, 0x1904, + 0xc6f7, 0x6010, 0x2058, 0xb804, 0x9084, 0xff00, 0x8007, 0x9086, + 0x0006, 0x1904, 0xc4eb, 0x00e6, 0x00d6, 0x00c6, 0x080c, 0x539e, + 0xd0e4, 0x0904, 0xc6ba, 0x2069, 0x1800, 0x2071, 0x026c, 0x7008, + 0x603a, 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, 0x00c6, + 0x2c08, 0x9085, 0x0001, 0x080c, 0xd536, 0x2c10, 0x00ce, 0x05e8, + 0x080c, 0xbb29, 0x05d0, 0x7108, 0x9280, 0x0002, 0x2004, 0x9106, + 0x15a0, 0x00c6, 0x0026, 0x2260, 0x080c, 0xb74f, 0x002e, 0x00ce, + 0x7118, 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0178, 0x9186, + 0x0005, 0x0118, 0x9186, 0x0007, 0x1198, 0x9280, 0x0005, 0x2004, + 0x9005, 0x0170, 0x080c, 0xc782, 0x0904, 0xc63b, 0x0056, 0x7510, + 0x7614, 0x080c, 0xd5f9, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, + 0x080c, 0x83f8, 0x080c, 0x898b, 0x0c78, 0x6007, 0x003b, 0x602f, + 0x0003, 0x6017, 0x0300, 0x6003, 0x0001, 0x080c, 0x83f8, 0x080c, + 0x898b, 0x0c10, 0x6007, 0x003b, 0x602f, 0x000b, 0x6017, 0x0000, + 0x0804, 0xc612, 0x00e6, 0x0026, 0x080c, 0x6538, 0x0550, 0x080c, + 0x6521, 0x080c, 0xd7d2, 0x1518, 0x2071, 0x1800, 0x70d8, 0x9085, + 0x0003, 0x70da, 0x00f6, 0x2079, 0x0100, 0x72ac, 0x9284, 0x00ff, + 0x707a, 0x78e6, 0x9284, 0xff00, 0x727c, 0x9205, 0x707e, 0x78ea, + 0x00fe, 0x70e3, 0x0000, 0x080c, 0x6576, 0x0120, 0x2011, 0x19d8, + 0x2013, 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2dc8, 0x0010, 0x080c, + 0xd804, 0x002e, 0x00ee, 0x080c, 0x9e2f, 0x0804, 0xc4ea, 0x080c, + 0x9e2f, 0x0005, 0x2600, 0x0002, 0xc70e, 0xc70e, 0xc70e, 0xc70e, + 0xc70e, 0xc710, 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0xc72d, 0xc70e, + 0xc70e, 0xc70e, 0xc73f, 0xc74c, 0xc77d, 0xc70e, 0x080c, 0x0db4, + 0x080c, 0xd760, 0x1d20, 0x080c, 0x310a, 0x1d08, 0x080c, 0xc897, + 0x1148, 0x7038, 0x6016, 0x6007, 0x0045, 0x6003, 0x0001, 0x080c, + 0x8440, 0x0005, 0x080c, 0x2fe7, 0x080c, 0xc250, 0x6007, 0x0001, + 0x6003, 0x0001, 0x080c, 0x8440, 0x0005, 0x080c, 0xd760, 0x1938, + 0x080c, 0x310a, 0x1920, 0x080c, 0xc897, 0x1d60, 0x703c, 0x6016, + 0x6007, 0x004a, 0x6003, 0x0001, 0x080c, 0x8440, 0x0005, 0x080c, + 0xc79f, 0x0904, 0xc6f7, 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, + 0x8440, 0x080c, 0x898b, 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, + 0x7134, 0x918c, 0x00ff, 0x81ff, 0x0508, 0x9186, 0x0001, 0x1160, + 0x7140, 0x2001, 0x1995, 0x2004, 0x9106, 0x11b0, 0x7144, 0x2001, + 0x1996, 0x2004, 0x9106, 0x0190, 0x9186, 0x0002, 0x1168, 0x2011, + 0x0276, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, + 0x080c, 0xae1c, 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, + 0x080c, 0x8440, 0x080c, 0x898b, 0x0005, 0x6007, 0x0050, 0x703c, + 0x6016, 0x0ca0, 0x0016, 0x00e6, 0x2071, 0x0260, 0x00b6, 0x00c6, + 0x2260, 0x6010, 0x2058, 0xb8bc, 0xd084, 0x0150, 0x7128, 0x6048, + 0x9106, 0x1120, 0x712c, 0x6044, 0x9106, 0x0110, 0x9006, 0x0010, + 0x9085, 0x0001, 0x00ce, 0x00be, 0x00ee, 0x001e, 0x0005, 0x0016, + 0x0096, 0x0086, 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, 0x8000, + 0x2071, 0x1800, 0x708c, 0x908a, 0x00f9, 0x16e8, 0x20e1, 0x0000, + 0x2001, 0x1978, 0x2003, 0x0000, 0x080c, 0x1004, 0x05a0, 0x2900, + 0x6016, 0x708c, 0x8004, 0xa816, 0x908a, 0x001e, 0x02d0, 0xa833, + 0x001e, 0x20a9, 0x001e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, + 0x20a0, 0x2001, 0x1978, 0x0016, 0x200c, 0x0471, 0x001e, 0x2940, + 0x080c, 0x1004, 0x01c0, 0x2900, 0xa006, 0x2100, 0x81ff, 0x0180, + 0x0c18, 0xa832, 0x20a8, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, + 0x20a0, 0x2001, 0x1978, 0x0016, 0x200c, 0x00b1, 0x001e, 0x0000, + 0x9085, 0x0001, 0x0048, 0x2071, 0x1800, 0x708f, 0x0000, 0x6014, + 0x2048, 0x080c, 0x0f9d, 0x9006, 0x012e, 0x01de, 0x01ce, 0x00ee, + 0x008e, 0x009e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x918c, 0xffff, 0x11a8, 0x080c, 0x224e, 0x2099, 0x026c, + 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x00f8, + 0x20a8, 0x4003, 0x22a8, 0x8108, 0x080c, 0x224e, 0x2099, 0x0260, + 0x0ca8, 0x080c, 0x224e, 0x2061, 0x1978, 0x6004, 0x2098, 0x6008, + 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, 0x4003, + 0x22a8, 0x8108, 0x080c, 0x224e, 0x2099, 0x0260, 0x0ca8, 0x2061, + 0x1978, 0x2019, 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, 0x0020, + 0x2001, 0x0260, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, - 0x00b6, 0x0066, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, - 0x9686, 0x0006, 0x0170, 0x9686, 0x0004, 0x0158, 0xbe04, 0x96b4, - 0x00ff, 0x9686, 0x0006, 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, - 0x0001, 0x006e, 0x00be, 0x0005, 0x00d6, 0x080c, 0xc920, 0x00de, - 0x0005, 0x00d6, 0x080c, 0xc92d, 0x1520, 0x680c, 0x908c, 0xff00, - 0x6820, 0x9084, 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, - 0x0130, 0x9006, 0x080c, 0xd863, 0x2009, 0x0001, 0x0078, 0xd1ec, - 0x0180, 0x6920, 0x918c, 0x00ff, 0x6824, 0x080c, 0x2665, 0x1148, - 0x2001, 0x0001, 0x080c, 0xd863, 0x2110, 0x900e, 0x080c, 0x3025, - 0x0018, 0x9085, 0x0001, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, - 0x00c6, 0x080c, 0x9e8f, 0x05a8, 0x0016, 0x0026, 0x00c6, 0x2011, - 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2665, 0x1578, 0x080c, - 0x61e7, 0x1560, 0xbe12, 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, - 0x6012, 0x080c, 0xd747, 0x11d8, 0x080c, 0x30ff, 0x11c0, 0x080c, - 0xc888, 0x0510, 0x2001, 0x0007, 0x080c, 0x6198, 0x2001, 0x0007, - 0x080c, 0x61c4, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, - 0x6003, 0x0001, 0x080c, 0x8422, 0x080c, 0x896d, 0x0010, 0x080c, - 0x9e42, 0x9085, 0x0001, 0x00ce, 0x00be, 0x0005, 0x080c, 0x9e42, - 0x00ce, 0x002e, 0x001e, 0x0ca8, 0x080c, 0x9e42, 0x9006, 0x0c98, - 0x2069, 0x026d, 0x6800, 0x9082, 0x0010, 0x1228, 0x6017, 0x0000, - 0x9085, 0x0001, 0x0008, 0x9006, 0x0005, 0x6017, 0x0000, 0x2069, - 0x026c, 0x6808, 0x9084, 0xff00, 0x9086, 0x0800, 0x1190, 0x6904, - 0x9186, 0x0018, 0x0118, 0x9186, 0x0014, 0x1158, 0x810f, 0x6800, - 0x9084, 0x00ff, 0x910d, 0x615a, 0x908e, 0x0014, 0x0110, 0x908e, - 0x0010, 0x0005, 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0db4, 0x91b6, - 0x0013, 0x1130, 0x2008, 0x91b2, 0x0040, 0x1a04, 0xca75, 0x0092, - 0x91b6, 0x0027, 0x0120, 0x91b6, 0x0014, 0x190c, 0x0db4, 0x2001, - 0x0007, 0x080c, 0x61c4, 0x080c, 0x8861, 0x080c, 0x9e72, 0x080c, - 0x896d, 0x0005, 0xc9aa, 0xc9ac, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9ac, - 0xc9bb, 0xca6e, 0xca0d, 0xca6e, 0xca1f, 0xca6e, 0xc9bb, 0xca6e, - 0xca66, 0xca6e, 0xca66, 0xca6e, 0xca6e, 0xc9aa, 0xc9aa, 0xc9aa, - 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, - 0xc9ac, 0xc9aa, 0xca6e, 0xc9aa, 0xc9aa, 0xca6e, 0xc9aa, 0xca6b, - 0xca6e, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, 0xca6e, 0xca6e, 0xc9aa, - 0xca6e, 0xca6e, 0xc9aa, 0xc9b6, 0xc9aa, 0xc9aa, 0xc9aa, 0xc9aa, - 0xca6a, 0xca6e, 0xc9aa, 0xc9aa, 0xca6e, 0xca6e, 0xc9aa, 0xc9aa, - 0xc9aa, 0xc9aa, 0x080c, 0x0db4, 0x080c, 0x8861, 0x080c, 0xc244, - 0x6003, 0x0002, 0x080c, 0x896d, 0x0804, 0xca74, 0x9006, 0x080c, - 0x6184, 0x0804, 0xca6e, 0x080c, 0x6563, 0x1904, 0xca6e, 0x9006, - 0x080c, 0x6184, 0x6010, 0x2058, 0xb810, 0x9086, 0x00ff, 0x1140, - 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x0428, - 0x6010, 0x2058, 0xb8b0, 0x9005, 0x1178, 0x080c, 0xc22c, 0x1904, - 0xca6e, 0x0036, 0x0046, 0xbba0, 0x2021, 0x0007, 0x080c, 0x4a86, - 0x004e, 0x003e, 0x0804, 0xca6e, 0x080c, 0x3130, 0x1904, 0xca6e, - 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1138, 0x00f6, 0x2079, - 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x2001, 0x0002, 0x080c, - 0x6198, 0x080c, 0x8861, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, - 0x0002, 0x080c, 0x8422, 0x080c, 0x896d, 0x6110, 0x2158, 0x2009, - 0x0001, 0x080c, 0x802f, 0x0804, 0xca74, 0x6610, 0x2658, 0xbe04, - 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0904, 0xca6e, 0x9686, - 0x0004, 0x0904, 0xca6e, 0x2001, 0x0004, 0x0804, 0xca6c, 0x2001, - 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, 0x6010, - 0x2058, 0xbba0, 0x2021, 0x0006, 0x080c, 0x4a86, 0x004e, 0x003e, - 0x2001, 0x0006, 0x080c, 0xca92, 0x6610, 0x2658, 0xbe04, 0x0066, - 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x006e, 0x0168, 0x2001, - 0x0006, 0x080c, 0x61c4, 0x9284, 0x00ff, 0x908e, 0x0007, 0x1120, - 0x2001, 0x0006, 0x080c, 0x6198, 0x080c, 0x6563, 0x11f8, 0x2001, - 0x1836, 0x2004, 0xd0a4, 0x01d0, 0xbe04, 0x96b4, 0x00ff, 0x9686, - 0x0006, 0x01a0, 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, - 0x00fe, 0x0804, 0xc9f5, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, - 0x0449, 0x0020, 0x0018, 0x0010, 0x080c, 0x61c4, 0x080c, 0x8861, - 0x080c, 0x9e42, 0x080c, 0x896d, 0x0005, 0x2600, 0x0002, 0xca89, - 0xca89, 0xca89, 0xca89, 0xca89, 0xca8b, 0xca89, 0xca89, 0xca89, - 0xca89, 0xca8b, 0xca89, 0xca89, 0xca89, 0xca8b, 0xca8b, 0xca8b, - 0xca8b, 0x080c, 0x0db4, 0x080c, 0x8861, 0x080c, 0x9e42, 0x080c, - 0x896d, 0x0005, 0x0016, 0x00b6, 0x00d6, 0x6110, 0x2158, 0xb900, - 0xd184, 0x0138, 0x080c, 0x6198, 0x9006, 0x080c, 0x6184, 0x080c, - 0x3005, 0x00de, 0x00be, 0x001e, 0x0005, 0x6610, 0x2658, 0xb804, - 0x9084, 0xff00, 0x8007, 0x90b2, 0x000c, 0x1a0c, 0x0db4, 0x91b6, - 0x0015, 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, 0x0db4, - 0x006b, 0x0005, 0xa8b2, 0xa8b2, 0xa8b2, 0xa8b2, 0xcb27, 0xa8b2, - 0xcb11, 0xcad2, 0xa8b2, 0xa8b2, 0xa8b2, 0xa8b2, 0xa8b2, 0xa8b2, - 0xa8b2, 0xa8b2, 0xcb27, 0xa8b2, 0xcb11, 0xcb18, 0xa8b2, 0xa8b2, - 0xa8b2, 0xa8b2, 0x00f6, 0x080c, 0x6563, 0x11d8, 0x080c, 0xc22c, - 0x11c0, 0x6010, 0x905d, 0x01a8, 0xb8b0, 0x9005, 0x0190, 0x9006, - 0x080c, 0x6184, 0x2001, 0x0002, 0x080c, 0x6198, 0x6023, 0x0001, - 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x8422, 0x080c, 0x896d, - 0x00f0, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2665, - 0x11b0, 0x080c, 0x6247, 0x0118, 0x080c, 0x9e42, 0x0080, 0xb810, - 0x0006, 0xb814, 0x0006, 0xb8b0, 0x0006, 0x080c, 0x5cf4, 0x000e, - 0xb8b2, 0x000e, 0xb816, 0x000e, 0xb812, 0x080c, 0x9e42, 0x00fe, - 0x0005, 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, 0x9e42, 0x0005, - 0x080c, 0xac98, 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, - 0x8422, 0x080c, 0x896d, 0x0010, 0x080c, 0x9e42, 0x0005, 0x0804, - 0x9e42, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0db4, 0x080c, 0x8861, - 0x080c, 0x9e72, 0x080c, 0x896d, 0x0005, 0x9182, 0x0040, 0x0002, - 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4d, 0xcb4b, 0xcb4b, 0xcb4b, - 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, 0xcb4b, - 0xcb4b, 0xcb4b, 0xcb4b, 0x080c, 0x0db4, 0x0096, 0x00b6, 0x00d6, + 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, 0x080c, + 0x2266, 0x20a1, 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, + 0x23a8, 0x4003, 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, 0x22a8, + 0x8108, 0x080c, 0x2266, 0x20a1, 0x0240, 0x0c98, 0x080c, 0x2266, + 0x2061, 0x197b, 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, 0x1218, + 0x23a8, 0x4003, 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, 0x22a8, + 0x8108, 0x080c, 0x2266, 0x20a1, 0x0240, 0x0c98, 0x2061, 0x197b, + 0x2019, 0x0260, 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, + 0x0240, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, + 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, + 0x0066, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, 0x9686, + 0x0006, 0x0170, 0x9686, 0x0004, 0x0158, 0xbe04, 0x96b4, 0x00ff, + 0x9686, 0x0006, 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, 0x0001, + 0x006e, 0x00be, 0x0005, 0x00d6, 0x080c, 0xc92f, 0x00de, 0x0005, + 0x00d6, 0x080c, 0xc93c, 0x1520, 0x680c, 0x908c, 0xff00, 0x6820, + 0x9084, 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, 0x0130, + 0x9006, 0x080c, 0xd87c, 0x2009, 0x0001, 0x0078, 0xd1ec, 0x0180, + 0x6920, 0x918c, 0x00ff, 0x6824, 0x080c, 0x2670, 0x1148, 0x2001, + 0x0001, 0x080c, 0xd87c, 0x2110, 0x900e, 0x080c, 0x3030, 0x0018, + 0x9085, 0x0001, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00c6, + 0x080c, 0x9e7c, 0x05a8, 0x0016, 0x0026, 0x00c6, 0x2011, 0x0263, + 0x2204, 0x8211, 0x220c, 0x080c, 0x2670, 0x1578, 0x080c, 0x61f6, + 0x1560, 0xbe12, 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, 0x6012, + 0x080c, 0xd760, 0x11d8, 0x080c, 0x310a, 0x11c0, 0x080c, 0xc897, + 0x0510, 0x2001, 0x0007, 0x080c, 0x61a7, 0x2001, 0x0007, 0x080c, + 0x61d3, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, + 0x0001, 0x080c, 0x8440, 0x080c, 0x898b, 0x0010, 0x080c, 0x9e2f, + 0x9085, 0x0001, 0x00ce, 0x00be, 0x0005, 0x080c, 0x9e2f, 0x00ce, + 0x002e, 0x001e, 0x0ca8, 0x080c, 0x9e2f, 0x9006, 0x0c98, 0x2069, + 0x026d, 0x6800, 0x9082, 0x0010, 0x1228, 0x6017, 0x0000, 0x9085, + 0x0001, 0x0008, 0x9006, 0x0005, 0x6017, 0x0000, 0x2069, 0x026c, + 0x6808, 0x9084, 0xff00, 0x9086, 0x0800, 0x1190, 0x6904, 0x9186, + 0x0018, 0x0118, 0x9186, 0x0014, 0x1158, 0x810f, 0x6800, 0x9084, + 0x00ff, 0x910d, 0x615a, 0x908e, 0x0014, 0x0110, 0x908e, 0x0010, + 0x0005, 0x6004, 0x90b2, 0x0053, 0x1a0c, 0x0db4, 0x91b6, 0x0013, + 0x1130, 0x2008, 0x91b2, 0x0040, 0x1a04, 0xca84, 0x0092, 0x91b6, + 0x0027, 0x0120, 0x91b6, 0x0014, 0x190c, 0x0db4, 0x2001, 0x0007, + 0x080c, 0x61d3, 0x080c, 0x887f, 0x080c, 0x9e5f, 0x080c, 0x898b, + 0x0005, 0xc9b9, 0xc9bb, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9bb, 0xc9ca, + 0xca7d, 0xca1c, 0xca7d, 0xca2e, 0xca7d, 0xc9ca, 0xca7d, 0xca75, + 0xca7d, 0xca75, 0xca7d, 0xca7d, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, + 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9bb, + 0xc9b9, 0xca7d, 0xc9b9, 0xc9b9, 0xca7d, 0xc9b9, 0xca7a, 0xca7d, + 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, 0xca7d, 0xca7d, 0xc9b9, 0xca7d, + 0xca7d, 0xc9b9, 0xc9c5, 0xc9b9, 0xc9b9, 0xc9b9, 0xc9b9, 0xca79, + 0xca7d, 0xc9b9, 0xc9b9, 0xca7d, 0xca7d, 0xc9b9, 0xc9b9, 0xc9b9, + 0xc9b9, 0x080c, 0x0db4, 0x080c, 0x887f, 0x080c, 0xc253, 0x6003, + 0x0002, 0x080c, 0x898b, 0x0804, 0xca83, 0x9006, 0x080c, 0x6193, + 0x0804, 0xca7d, 0x080c, 0x6572, 0x1904, 0xca7d, 0x9006, 0x080c, + 0x6193, 0x6010, 0x2058, 0xb810, 0x9086, 0x00ff, 0x1140, 0x00f6, + 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x0428, 0x6010, + 0x2058, 0xb8b0, 0x9005, 0x1178, 0x080c, 0xc23b, 0x1904, 0xca7d, + 0x0036, 0x0046, 0xbba0, 0x2021, 0x0007, 0x080c, 0x4a91, 0x004e, + 0x003e, 0x0804, 0xca7d, 0x080c, 0x313b, 0x1904, 0xca7d, 0x2001, + 0x1800, 0x2004, 0x9086, 0x0002, 0x1138, 0x00f6, 0x2079, 0x1800, + 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x2001, 0x0002, 0x080c, 0x61a7, + 0x080c, 0x887f, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, + 0x080c, 0x8440, 0x080c, 0x898b, 0x6110, 0x2158, 0x2009, 0x0001, + 0x080c, 0x804d, 0x0804, 0xca83, 0x6610, 0x2658, 0xbe04, 0x96b4, + 0xff00, 0x8637, 0x9686, 0x0006, 0x0904, 0xca7d, 0x9686, 0x0004, + 0x0904, 0xca7d, 0x2001, 0x0004, 0x0804, 0xca7b, 0x2001, 0x1800, + 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, + 0xbba0, 0x2021, 0x0006, 0x080c, 0x4a91, 0x004e, 0x003e, 0x2001, + 0x0006, 0x080c, 0xcaa1, 0x6610, 0x2658, 0xbe04, 0x0066, 0x96b4, + 0xff00, 0x8637, 0x9686, 0x0006, 0x006e, 0x0168, 0x2001, 0x0006, + 0x080c, 0x61d3, 0x9284, 0x00ff, 0x908e, 0x0007, 0x1120, 0x2001, + 0x0006, 0x080c, 0x61a7, 0x080c, 0x6572, 0x11f8, 0x2001, 0x1836, + 0x2004, 0xd0a4, 0x01d0, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, + 0x01a0, 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, + 0x0804, 0xca04, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, 0x0449, + 0x0020, 0x0018, 0x0010, 0x080c, 0x61d3, 0x080c, 0x887f, 0x080c, + 0x9e2f, 0x080c, 0x898b, 0x0005, 0x2600, 0x0002, 0xca98, 0xca98, + 0xca98, 0xca98, 0xca98, 0xca9a, 0xca98, 0xca98, 0xca98, 0xca98, + 0xca9a, 0xca98, 0xca98, 0xca98, 0xca9a, 0xca9a, 0xca9a, 0xca9a, + 0x080c, 0x0db4, 0x080c, 0x887f, 0x080c, 0x9e2f, 0x080c, 0x898b, + 0x0005, 0x0016, 0x00b6, 0x00d6, 0x6110, 0x2158, 0xb900, 0xd184, + 0x0138, 0x080c, 0x61a7, 0x9006, 0x080c, 0x6193, 0x080c, 0x3010, + 0x00de, 0x00be, 0x001e, 0x0005, 0x6610, 0x2658, 0xb804, 0x9084, + 0xff00, 0x8007, 0x90b2, 0x000c, 0x1a0c, 0x0db4, 0x91b6, 0x0015, + 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, 0x0db4, 0x006b, + 0x0005, 0xa8ae, 0xa8ae, 0xa8ae, 0xa8ae, 0xcb36, 0xa8ae, 0xcb20, + 0xcae1, 0xa8ae, 0xa8ae, 0xa8ae, 0xa8ae, 0xa8ae, 0xa8ae, 0xa8ae, + 0xa8ae, 0xcb36, 0xa8ae, 0xcb20, 0xcb27, 0xa8ae, 0xa8ae, 0xa8ae, + 0xa8ae, 0x00f6, 0x080c, 0x6572, 0x11d8, 0x080c, 0xc23b, 0x11c0, + 0x6010, 0x905d, 0x01a8, 0xb8b0, 0x9005, 0x0190, 0x9006, 0x080c, + 0x6193, 0x2001, 0x0002, 0x080c, 0x61a7, 0x6023, 0x0001, 0x6003, + 0x0001, 0x6007, 0x0002, 0x080c, 0x8440, 0x080c, 0x898b, 0x00f0, + 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2670, 0x11b0, + 0x080c, 0x6256, 0x0118, 0x080c, 0x9e2f, 0x0080, 0xb810, 0x0006, + 0xb814, 0x0006, 0xb8b0, 0x0006, 0x080c, 0x5cff, 0x000e, 0xb8b2, + 0x000e, 0xb816, 0x000e, 0xb812, 0x080c, 0x9e2f, 0x00fe, 0x0005, + 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, 0x9e2f, 0x0005, 0x080c, + 0xac94, 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x8440, + 0x080c, 0x898b, 0x0010, 0x080c, 0x9e2f, 0x0005, 0x0804, 0x9e2f, + 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0db4, 0x080c, 0x887f, 0x080c, + 0x9e5f, 0x080c, 0x898b, 0x0005, 0x9182, 0x0040, 0x0002, 0xcb5b, + 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5d, 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5b, + 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5b, 0xcb5b, + 0xcb5b, 0xcb5b, 0xcb5b, 0x080c, 0x0db4, 0x0096, 0x00b6, 0x00d6, 0x00e6, 0x00f6, 0x0046, 0x0026, 0x6210, 0x2258, 0xb8ac, 0x9005, 0x11a8, 0x6106, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, - 0xcbb3, 0x080c, 0xd857, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, - 0x0001, 0x2011, 0x0200, 0x080c, 0x8218, 0x0020, 0x9026, 0x080c, - 0xd78c, 0x0c38, 0x080c, 0x0feb, 0x090c, 0x0db4, 0x6003, 0x0007, + 0xcbc3, 0x080c, 0xd870, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, + 0x0001, 0x2011, 0x0200, 0x080c, 0x8236, 0x0020, 0x9026, 0x080c, + 0xd7a5, 0x0c38, 0x080c, 0x0feb, 0x090c, 0x0db4, 0x6003, 0x0007, 0xa867, 0x010d, 0x9006, 0xa802, 0xa86a, 0xac8a, 0x2c00, 0xa88e, 0x6008, 0xa8e2, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa97a, 0x0016, 0xa876, 0xa87f, 0x0000, 0xa883, 0x0000, 0xa887, 0x0036, 0x080c, - 0x6891, 0x001e, 0x080c, 0xd857, 0x1904, 0xcc13, 0x9486, 0x2000, - 0x1130, 0x2019, 0x0017, 0x080c, 0xd4c7, 0x0804, 0xcc13, 0x9486, - 0x0200, 0x1120, 0x080c, 0xd463, 0x0804, 0xcc13, 0x9486, 0x0400, - 0x0120, 0x9486, 0x1000, 0x1904, 0xcc13, 0x2019, 0x0002, 0x080c, - 0xd47e, 0x0804, 0xcc13, 0x2069, 0x1a40, 0x6a00, 0xd284, 0x0904, - 0xcc7d, 0x9284, 0x0300, 0x1904, 0xcc76, 0x6804, 0x9005, 0x0904, - 0xcc5e, 0x2d78, 0x6003, 0x0007, 0x080c, 0x1004, 0x0904, 0xcc1f, + 0x68a0, 0x001e, 0x080c, 0xd870, 0x1904, 0xcc23, 0x9486, 0x2000, + 0x1130, 0x2019, 0x0017, 0x080c, 0xd4e0, 0x0804, 0xcc23, 0x9486, + 0x0200, 0x1120, 0x080c, 0xd47c, 0x0804, 0xcc23, 0x9486, 0x0400, + 0x0120, 0x9486, 0x1000, 0x1904, 0xcc23, 0x2019, 0x0002, 0x080c, + 0xd497, 0x0804, 0xcc23, 0x2069, 0x1a48, 0x6a00, 0xd284, 0x0904, + 0xcc8d, 0x9284, 0x0300, 0x1904, 0xcc86, 0x6804, 0x9005, 0x0904, + 0xcc6e, 0x2d78, 0x6003, 0x0007, 0x080c, 0x1004, 0x0904, 0xcc2f, 0x7800, 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, - 0x2001, 0x180f, 0x2004, 0xd084, 0x1904, 0xcc81, 0x9006, 0xa802, + 0x2001, 0x180f, 0x2004, 0xd084, 0x1904, 0xcc91, 0x9006, 0xa802, 0xa867, 0x0116, 0xa86a, 0x6008, 0xa8e2, 0x2c00, 0xa87a, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa9b6, 0xa876, 0xb928, 0xa9ba, 0xb92c, 0xa9be, 0xb930, 0xa9c2, 0xb934, 0xa9c6, 0xa883, 0x003d, 0x7044, - 0x9084, 0x0003, 0x9080, 0xcc1b, 0x2005, 0xa87e, 0x20a9, 0x000a, + 0x9084, 0x0003, 0x9080, 0xcc2b, 0x2005, 0xa87e, 0x20a9, 0x000a, 0x2001, 0x0270, 0xaa5c, 0x9290, 0x0021, 0x2009, 0x0205, 0x200b, 0x0080, 0x20e1, 0x0000, 0xab60, 0x23e8, 0x2098, 0x22a0, 0x4003, 0x200b, 0x0000, 0x2001, 0x027a, 0x200c, 0xa9b2, 0x8000, 0x200c, - 0xa9ae, 0x080c, 0x6891, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, + 0xa9ae, 0x080c, 0x68a0, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, 0x00be, 0x009e, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, - 0x1810, 0x2004, 0xd084, 0x0120, 0x080c, 0x0feb, 0x1904, 0xcbc8, - 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x83da, - 0x080c, 0x896d, 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, + 0x1810, 0x2004, 0xd084, 0x0120, 0x080c, 0x0feb, 0x1904, 0xcbd8, + 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x080c, 0x83f8, + 0x080c, 0x898b, 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, 0x9086, 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, 0x918c, 0xf700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, - 0x0043, 0x080c, 0x83da, 0x080c, 0x896d, 0x0828, 0x6868, 0x602e, + 0x0043, 0x080c, 0x83f8, 0x080c, 0x898b, 0x0828, 0x6868, 0x602e, 0x686c, 0x6032, 0x6017, 0xf200, 0x6003, 0x0001, 0x6007, 0x0041, - 0x080c, 0x83da, 0x080c, 0x896d, 0x0804, 0xcc13, 0x2001, 0x180e, - 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x48e9, 0x6017, + 0x080c, 0x83f8, 0x080c, 0x898b, 0x0804, 0xcc23, 0x2001, 0x180e, + 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x48f4, 0x6017, 0xf300, 0x0010, 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, - 0x080c, 0x83da, 0x080c, 0x896d, 0x0804, 0xcc13, 0x6017, 0xf500, - 0x0c98, 0x6017, 0xf600, 0x0804, 0xcc33, 0x6017, 0xf200, 0x0804, - 0xcc33, 0xa867, 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, - 0xa87a, 0x7044, 0x9084, 0x0003, 0x9080, 0xcc1b, 0x2005, 0xa87e, + 0x080c, 0x83f8, 0x080c, 0x898b, 0x0804, 0xcc23, 0x6017, 0xf500, + 0x0c98, 0x6017, 0xf600, 0x0804, 0xcc43, 0x6017, 0xf200, 0x0804, + 0xcc43, 0xa867, 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, + 0xa87a, 0x7044, 0x9084, 0x0003, 0x9080, 0xcc2b, 0x2005, 0xa87e, 0x2928, 0x6010, 0x2058, 0xb8a0, 0xa876, 0xb828, 0xa88a, 0xb82c, 0xa88e, 0xb830, 0xa892, 0xb834, 0xa896, 0xa883, 0x003d, 0x2009, 0x0205, 0x2104, 0x9085, 0x0080, 0x200a, 0x20e1, 0x0000, 0x2011, 0x0210, 0x2214, 0x9294, 0x0fff, 0xaaa2, 0x9282, 0x0111, 0x1a0c, 0x0db4, 0x8210, 0x821c, 0x2001, 0x026c, 0x2098, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0029, 0x20a0, 0x2011, 0xccfd, 0x2041, 0x0001, + 0xa85c, 0x9080, 0x0029, 0x20a0, 0x2011, 0xcd0d, 0x2041, 0x0001, 0x223d, 0x9784, 0x00ff, 0x9322, 0x1208, 0x2300, 0x20a8, 0x4003, 0x931a, 0x0530, 0x8210, 0xd7fc, 0x1130, 0x8d68, 0x2d0a, 0x2001, 0x0260, 0x2098, 0x0c68, 0x2950, 0x080c, 0x1004, 0x0170, 0x2900, 0xb002, 0xa867, 0x0147, 0xa86b, 0x0000, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, 0x8840, 0x08d8, 0x2548, 0xa800, 0x902d, - 0x0118, 0x080c, 0x101d, 0x0cc8, 0x080c, 0x101d, 0x0804, 0xcc1f, + 0x0118, 0x080c, 0x101d, 0x0cc8, 0x080c, 0x101d, 0x0804, 0xcc2f, 0x2548, 0x8847, 0x9885, 0x0046, 0xa866, 0x2009, 0x0205, 0x200b, - 0x0000, 0x080c, 0xd4f6, 0x0804, 0xcc13, 0x8010, 0x0004, 0x801a, + 0x0000, 0x080c, 0xd50f, 0x0804, 0xcc23, 0x8010, 0x0004, 0x801a, 0x0006, 0x8018, 0x0008, 0x8016, 0x000a, 0x8014, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0054, 0x1a0c, 0x0db4, 0x9082, 0x0040, - 0x0a0c, 0x0db4, 0x2008, 0x0804, 0xcdae, 0x9186, 0x0051, 0x0108, - 0x00c0, 0x2001, 0x0109, 0x2004, 0xd084, 0x0904, 0xcd5f, 0x0126, - 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, 0x82c6, 0x002e, + 0x0a0c, 0x0db4, 0x2008, 0x0804, 0xcdbf, 0x9186, 0x0051, 0x0108, + 0x00c0, 0x2001, 0x0109, 0x2004, 0xd084, 0x0904, 0xcd6f, 0x0126, + 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x080c, 0x82e4, 0x002e, 0x001e, 0x000e, 0x012e, 0x6000, 0x9086, 0x0002, 0x1580, 0x0804, - 0xcdf6, 0x9186, 0x0027, 0x0530, 0x9186, 0x0048, 0x0128, 0x9186, + 0xce08, 0x9186, 0x0027, 0x0530, 0x9186, 0x0048, 0x0128, 0x9186, 0x0014, 0x0500, 0x190c, 0x0db4, 0x2001, 0x0109, 0x2004, 0xd084, 0x01f0, 0x00c6, 0x0126, 0x2091, 0x2800, 0x00c6, 0x2061, 0x0100, - 0x0006, 0x0016, 0x0026, 0x080c, 0x82c6, 0x002e, 0x001e, 0x000e, + 0x0006, 0x0016, 0x0026, 0x080c, 0x82e4, 0x002e, 0x001e, 0x000e, 0x00ce, 0x012e, 0x00ce, 0x6000, 0x9086, 0x0004, 0x190c, 0x0db4, - 0x0804, 0xced7, 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, 0x080c, - 0x9ed7, 0x0005, 0xcd75, 0xcd77, 0xcd77, 0xcd9e, 0xcd75, 0xcd75, - 0xcd75, 0xcd75, 0xcd75, 0xcd75, 0xcd75, 0xcd75, 0xcd75, 0xcd75, - 0xcd75, 0xcd75, 0xcd75, 0xcd75, 0xcd75, 0x080c, 0x0db4, 0x080c, - 0x8861, 0x080c, 0x896d, 0x0036, 0x0096, 0x6014, 0x904d, 0x01d8, - 0x080c, 0xbb2c, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, 0xd4f6, - 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x1957, 0x2004, - 0x601a, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x0096, 0x080c, - 0x8861, 0x080c, 0x896d, 0x080c, 0xbb2c, 0x0120, 0x6014, 0x2048, - 0x080c, 0x101d, 0x080c, 0x9e72, 0x009e, 0x0005, 0x0002, 0xcdc2, - 0xcdd9, 0xcdc4, 0xcdf0, 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, - 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, 0xcdc2, - 0xcdc2, 0xcdc2, 0x080c, 0x0db4, 0x0096, 0x080c, 0x8861, 0x6014, - 0x2048, 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, - 0x080c, 0x9ebc, 0x0010, 0x6003, 0x0004, 0x080c, 0x896d, 0x009e, - 0x0005, 0x080c, 0x8861, 0x080c, 0xbb2c, 0x0138, 0x6114, 0x0096, - 0x2148, 0xa97c, 0x009e, 0xd1ec, 0x1138, 0x080c, 0x81ed, 0x080c, - 0x9e42, 0x080c, 0x896d, 0x0005, 0x080c, 0xd750, 0x0db0, 0x0cc8, - 0x080c, 0x8861, 0x2009, 0x0041, 0x0804, 0xcf5f, 0x9182, 0x0040, - 0x0002, 0xce0c, 0xce0e, 0xce0c, 0xce0c, 0xce0c, 0xce0c, 0xce0c, - 0xce0c, 0xce0c, 0xce0c, 0xce0c, 0xce0c, 0xce0c, 0xce0c, 0xce0c, - 0xce0c, 0xce0c, 0xce0f, 0xce0c, 0x080c, 0x0db4, 0x0005, 0x00d6, - 0x080c, 0x81ed, 0x00de, 0x080c, 0xd7a8, 0x080c, 0x9e42, 0x0005, - 0x9182, 0x0040, 0x0002, 0xce2e, 0xce2e, 0xce2e, 0xce2e, 0xce2e, - 0xce2e, 0xce2e, 0xce2e, 0xce2e, 0xce30, 0xce9f, 0xce2e, 0xce2e, - 0xce2e, 0xce2e, 0xce9f, 0xce2e, 0xce2e, 0xce2e, 0x080c, 0x0db4, - 0x2001, 0x0105, 0x2004, 0x9084, 0x1800, 0x01c8, 0x2001, 0x0132, - 0x200c, 0x2001, 0x0131, 0x2004, 0x9105, 0x1904, 0xce9f, 0x2009, - 0x180c, 0x2104, 0xd0d4, 0x0904, 0xce9f, 0xc0d4, 0x200a, 0x2009, - 0x0105, 0x2104, 0x9084, 0xe7fd, 0x9085, 0x0010, 0x200a, 0x2001, - 0x1873, 0x2004, 0xd0e4, 0x1528, 0x603b, 0x0000, 0x080c, 0x891d, - 0x6014, 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x0188, 0x908c, 0x0003, - 0x918e, 0x0002, 0x0508, 0x2001, 0x180c, 0x2004, 0xd0d4, 0x11e0, - 0x080c, 0x8a4a, 0x2009, 0x0041, 0x009e, 0x0804, 0xcf5f, 0x080c, - 0x8a4a, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x81ed, 0x009e, - 0x0005, 0x2001, 0x0100, 0x2004, 0x9082, 0x0005, 0x0aa8, 0x2001, - 0x011f, 0x2004, 0x603a, 0x0890, 0x2001, 0x180c, 0x200c, 0xc1d4, - 0x2102, 0xd1cc, 0x0110, 0x080c, 0x2a79, 0x080c, 0x8a4a, 0x6014, - 0x2048, 0xa97c, 0xd1ec, 0x1130, 0x080c, 0x81ed, 0x080c, 0x9e42, - 0x009e, 0x0005, 0x080c, 0xd750, 0x0db8, 0x009e, 0x0005, 0x2001, - 0x180c, 0x200c, 0xc1d4, 0x2102, 0x0036, 0x080c, 0x891d, 0x080c, - 0x8a4a, 0x6014, 0x0096, 0x2048, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0188, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, - 0x0140, 0xa8ac, 0x6330, 0x931a, 0x6332, 0xa8b0, 0x632c, 0x931b, - 0x632e, 0x6003, 0x0002, 0x0080, 0x2019, 0x0004, 0x080c, 0xd4f6, - 0x6018, 0x9005, 0x1128, 0x2001, 0x1957, 0x2004, 0x8003, 0x601a, - 0x6017, 0x0000, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x9182, - 0x0040, 0x0002, 0xceee, 0xceee, 0xceee, 0xceee, 0xceee, 0xceee, - 0xceee, 0xceee, 0xcef0, 0xceee, 0xceee, 0xceee, 0xceee, 0xceee, - 0xceee, 0xceee, 0xceee, 0xceee, 0xceee, 0xcf3b, 0x080c, 0x0db4, - 0x6014, 0x0096, 0x2048, 0xa834, 0xaa38, 0x6110, 0x00b6, 0x2158, - 0xb900, 0x00be, 0xd1bc, 0x1190, 0x920d, 0x1518, 0xa87c, 0xd0fc, - 0x0128, 0x2009, 0x0041, 0x009e, 0x0804, 0xcf5f, 0x6003, 0x0007, - 0x601b, 0x0000, 0x080c, 0x81ed, 0x009e, 0x0005, 0x6124, 0xd1f4, - 0x1d58, 0x0006, 0x0046, 0xacac, 0x9422, 0xa9b0, 0x2200, 0x910b, - 0x6030, 0x9420, 0x6432, 0x602c, 0x9109, 0x612e, 0x004e, 0x000e, - 0x08d8, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1178, - 0x2009, 0x180e, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, - 0x6003, 0x0006, 0x00e9, 0x080c, 0x81ef, 0x009e, 0x0005, 0x6003, - 0x0002, 0x009e, 0x0005, 0x6024, 0xd0f4, 0x0128, 0x080c, 0x1511, - 0x1904, 0xcef0, 0x0005, 0x6014, 0x0096, 0x2048, 0xa834, 0xa938, - 0x009e, 0x9105, 0x1120, 0x080c, 0x1511, 0x1904, 0xcef0, 0x0005, - 0xd2fc, 0x0140, 0x8002, 0x8000, 0x8212, 0x9291, 0x0000, 0x2009, - 0x0009, 0x0010, 0x2009, 0x0015, 0xaa9a, 0xa896, 0x0005, 0x9182, - 0x0040, 0x0208, 0x0062, 0x9186, 0x0013, 0x0120, 0x9186, 0x0014, - 0x190c, 0x0db4, 0x6024, 0xd0dc, 0x090c, 0x0db4, 0x0005, 0xcf82, - 0xcf8e, 0xcf9a, 0xcfa6, 0xcf82, 0xcf82, 0xcf82, 0xcf82, 0xcf89, - 0xcf84, 0xcf84, 0xcf82, 0xcf82, 0xcf82, 0xcf82, 0xcf84, 0xcf82, - 0xcf84, 0xcf82, 0x080c, 0x0db4, 0x6024, 0xd0dc, 0x090c, 0x0db4, - 0x0005, 0x6014, 0x9005, 0x190c, 0x0db4, 0x0005, 0x6003, 0x0001, - 0x6106, 0x080c, 0x83da, 0x0126, 0x2091, 0x8000, 0x080c, 0x896d, - 0x012e, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x83da, 0x0126, - 0x2091, 0x8000, 0x080c, 0x896d, 0x012e, 0x0005, 0x6003, 0x0003, - 0x6106, 0x2c10, 0x080c, 0x1a5e, 0x0126, 0x2091, 0x8000, 0x080c, - 0x843f, 0x080c, 0x8a4a, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, - 0x0036, 0x0096, 0x9182, 0x0040, 0x0023, 0x009e, 0x003e, 0x012e, - 0x0005, 0xcfd1, 0xcfd3, 0xcfe5, 0xcfff, 0xcfd1, 0xcfd1, 0xcfd1, - 0xcfd1, 0xcfd1, 0xcfd1, 0xcfd1, 0xcfd1, 0xcfd1, 0xcfd1, 0xcfd1, - 0xcfd1, 0x080c, 0x0db4, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x01f8, - 0x909c, 0x0003, 0x939e, 0x0003, 0x01d0, 0x6003, 0x0001, 0x6106, - 0x080c, 0x83da, 0x080c, 0x896d, 0x0470, 0x6014, 0x2048, 0xa87c, - 0xd0fc, 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, 0x6003, - 0x0001, 0x6106, 0x080c, 0x83da, 0x080c, 0x896d, 0x00e0, 0x901e, - 0x6316, 0x631a, 0x2019, 0x0004, 0x080c, 0xd4f6, 0x00a0, 0x6014, - 0x2048, 0xa87c, 0xd0fc, 0x0d98, 0x909c, 0x0003, 0x939e, 0x0003, - 0x0d70, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x1a5e, 0x080c, - 0x843f, 0x080c, 0x8a4a, 0x0005, 0x080c, 0x8861, 0x6114, 0x81ff, - 0x0158, 0x0096, 0x2148, 0x080c, 0xd7f4, 0x0036, 0x2019, 0x0029, - 0x080c, 0xd4f6, 0x003e, 0x009e, 0x080c, 0x9e72, 0x080c, 0x896d, - 0x0005, 0x080c, 0x891d, 0x6114, 0x81ff, 0x0158, 0x0096, 0x2148, - 0x080c, 0xd7f4, 0x0036, 0x2019, 0x0029, 0x080c, 0xd4f6, 0x003e, - 0x009e, 0x080c, 0x9e72, 0x080c, 0x8a4a, 0x0005, 0x9182, 0x0085, - 0x0002, 0xd050, 0xd04e, 0xd04e, 0xd05c, 0xd04e, 0xd04e, 0xd04e, - 0xd04e, 0xd04e, 0xd04e, 0xd04e, 0xd04e, 0xd04e, 0x080c, 0x0db4, - 0x6003, 0x000b, 0x6106, 0x080c, 0x83da, 0x0126, 0x2091, 0x8000, - 0x080c, 0x896d, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, 0xd747, - 0x0118, 0x080c, 0x9e42, 0x0450, 0x2071, 0x0260, 0x7224, 0x6216, - 0x2001, 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, 0x00b6, 0x2058, - 0xbca0, 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0xa162, 0x7220, - 0x080c, 0xd39c, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, 0x0087, - 0x7224, 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, 0x0001, - 0x080c, 0x83da, 0x080c, 0x896d, 0x080c, 0x8a4a, 0x00ee, 0x002e, - 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, - 0x0db4, 0x908a, 0x0092, 0x1a0c, 0x0db4, 0x9082, 0x0085, 0x00a2, - 0x9186, 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, 0x9ed7, - 0x0050, 0x2001, 0x0007, 0x080c, 0x61c4, 0x080c, 0x8861, 0x080c, - 0x9e72, 0x080c, 0x896d, 0x0005, 0xd0c1, 0xd0c3, 0xd0c3, 0xd0c1, - 0xd0c1, 0xd0c1, 0xd0c1, 0xd0c1, 0xd0c1, 0xd0c1, 0xd0c1, 0xd0c1, - 0xd0c1, 0x080c, 0x0db4, 0x080c, 0x8861, 0x080c, 0x9e72, 0x080c, - 0x896d, 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0db4, 0x9182, 0x0092, - 0x1a0c, 0x0db4, 0x9182, 0x0085, 0x0002, 0xd0e2, 0xd0e2, 0xd0e2, - 0xd0e4, 0xd0e2, 0xd0e2, 0xd0e2, 0xd0e2, 0xd0e2, 0xd0e2, 0xd0e2, - 0xd0e2, 0xd0e2, 0x080c, 0x0db4, 0x0005, 0x9186, 0x0013, 0x0148, - 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, 0x9ed7, - 0x0030, 0x080c, 0x8861, 0x080c, 0x9e72, 0x080c, 0x896d, 0x0005, - 0x0036, 0x080c, 0xd7a8, 0x6043, 0x0000, 0x2019, 0x000b, 0x0031, - 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, 0x0036, - 0x2091, 0x8000, 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, 0x97bb, - 0x009e, 0x008e, 0x1550, 0x0076, 0x2c38, 0x080c, 0x9866, 0x007e, - 0x1520, 0x6000, 0x9086, 0x0000, 0x0500, 0x6020, 0x9086, 0x0007, - 0x01e0, 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xd7a8, 0x080c, - 0xc244, 0x080c, 0x190f, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, - 0xbb2c, 0x0110, 0x080c, 0xd4f6, 0x009e, 0x6017, 0x0000, 0x080c, - 0xd7a8, 0x6023, 0x0007, 0x080c, 0xc244, 0x003e, 0x012e, 0x0005, - 0x00f6, 0x00c6, 0x00b6, 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, - 0x783c, 0x080c, 0x2665, 0x15c8, 0x0016, 0x00c6, 0x080c, 0x6247, - 0x1590, 0x001e, 0x00c6, 0x2160, 0x080c, 0xc241, 0x00ce, 0x002e, - 0x0026, 0x0016, 0x2019, 0x0029, 0x080c, 0x992c, 0x080c, 0x8564, - 0x0076, 0x903e, 0x080c, 0x8452, 0x007e, 0x001e, 0x0076, 0x903e, - 0x080c, 0xd2bc, 0x007e, 0x0026, 0xba04, 0x9294, 0xff00, 0x8217, - 0x9286, 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, 0xbaa0, 0x080c, - 0x3099, 0x002e, 0xbcb0, 0x001e, 0x080c, 0x5cf4, 0xbe12, 0xbd16, - 0xbcb2, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, 0x00be, - 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, 0x0016, 0x2009, - 0x1823, 0x2104, 0x9086, 0x0074, 0x1904, 0xd1e4, 0x2069, 0x0260, - 0x6944, 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, 0x8000, 0x0904, - 0xd1e1, 0x2001, 0x194c, 0x2004, 0x9005, 0x1140, 0x6010, 0x2058, - 0xb8b0, 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, 0x6948, 0x918a, - 0x0001, 0x0648, 0x080c, 0xd85c, 0x0118, 0x6978, 0xd1fc, 0x11b8, - 0x2009, 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, 0x6944, - 0x9182, 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, 0x918a, - 0x0001, 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, 0x6017, - 0x0100, 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, 0x0070, - 0x6017, 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, 0x0b00, - 0x0028, 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, 0x0001, - 0x0008, 0x9006, 0x001e, 0x00be, 0x00de, 0x00ce, 0x0005, 0x00c6, - 0x00b6, 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, 0xbb04, 0x9394, - 0x00ff, 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, 0x0168, 0x9394, - 0xff00, 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, 0x0004, 0x0120, - 0x080c, 0x6256, 0x0804, 0xd24b, 0x2011, 0x0276, 0x20a9, 0x0004, - 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xae20, 0x009e, 0x15a0, - 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, - 0x080c, 0xae20, 0x009e, 0x1540, 0x0046, 0x0016, 0xbaa0, 0x2220, - 0x9006, 0x2009, 0x1854, 0x210c, 0x0038, 0x2009, 0x0029, 0x080c, - 0xd54b, 0xb800, 0xc0e5, 0xb802, 0x2019, 0x0029, 0x080c, 0x8564, - 0x0076, 0x2039, 0x0000, 0x080c, 0x8452, 0x2c08, 0x080c, 0xd2bc, - 0x007e, 0x2001, 0x0007, 0x080c, 0x61c4, 0x2001, 0x0007, 0x080c, - 0x6198, 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, 0x002e, 0x00be, - 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, 0x9086, 0x0800, - 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, - 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, 0x026c, 0x7930, - 0x7834, 0x080c, 0x2665, 0x11d0, 0x080c, 0x6247, 0x11b8, 0x2011, - 0x0270, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, - 0xae20, 0x009e, 0x1158, 0x2011, 0x0274, 0x20a9, 0x0004, 0x0096, - 0x2b48, 0x2019, 0x0006, 0x080c, 0xae20, 0x009e, 0x015e, 0x003e, - 0x002e, 0x001e, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x0006, 0x0016, - 0x0026, 0x0036, 0x0156, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, - 0x080c, 0x2665, 0x11d0, 0x080c, 0x6247, 0x11b8, 0x2011, 0x0276, - 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xae20, - 0x009e, 0x1158, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, - 0x2019, 0x0006, 0x080c, 0xae20, 0x009e, 0x015e, 0x003e, 0x002e, - 0x001e, 0x000e, 0x00be, 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, - 0x0066, 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, 0x2740, - 0x2029, 0x19c0, 0x252c, 0x2021, 0x19c6, 0x2424, 0x2061, 0x1cd0, - 0x2071, 0x1800, 0x7650, 0x7070, 0x81ff, 0x0150, 0x0006, 0x9186, - 0x1a7f, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, 0xd355, 0x0018, - 0x9606, 0x0904, 0xd355, 0x2100, 0x9c06, 0x0904, 0xd34c, 0x080c, - 0xd58c, 0x1904, 0xd34c, 0x080c, 0xd879, 0x0904, 0xd34c, 0x080c, - 0xd57c, 0x0904, 0xd34c, 0x6720, 0x9786, 0x0001, 0x1148, 0x080c, - 0x3130, 0x0904, 0xd370, 0x6004, 0x9086, 0x0000, 0x1904, 0xd370, - 0x9786, 0x0004, 0x0904, 0xd370, 0x9786, 0x0007, 0x0904, 0xd34c, - 0x2500, 0x9c06, 0x0904, 0xd34c, 0x2400, 0x9c06, 0x05e8, 0x88ff, - 0x0118, 0x6054, 0x9906, 0x15c0, 0x0096, 0x6000, 0x9086, 0x0004, - 0x1120, 0x0016, 0x080c, 0x190f, 0x001e, 0x9786, 0x000a, 0x0148, - 0x080c, 0xbd32, 0x1130, 0x080c, 0xa7d1, 0x009e, 0x080c, 0x9e72, - 0x0418, 0x6014, 0x2048, 0x080c, 0xbb2c, 0x01d8, 0x9786, 0x0003, - 0x1570, 0xa867, 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, - 0x2048, 0x080c, 0x0f9d, 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, - 0xd7f4, 0x0016, 0x080c, 0xbe20, 0x080c, 0x6884, 0x001e, 0x080c, - 0xbd15, 0x009e, 0x080c, 0x9e72, 0x9ce0, 0x0018, 0x2001, 0x1819, - 0x2004, 0x9c02, 0x1210, 0x0804, 0xd2d0, 0x012e, 0x002e, 0x004e, - 0x005e, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, 0x9786, - 0x0006, 0x1150, 0x9386, 0x0005, 0x0128, 0x080c, 0xd7f4, 0x080c, - 0xd4f6, 0x08f8, 0x009e, 0x0c00, 0x9786, 0x000a, 0x0920, 0x0808, - 0x81ff, 0x09d0, 0x9180, 0x0001, 0x2004, 0x9086, 0x0018, 0x0130, - 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, 0x1970, 0x6000, 0x9086, - 0x0002, 0x1950, 0x080c, 0xbd21, 0x0130, 0x080c, 0xbd32, 0x1920, - 0x080c, 0xa7d1, 0x0038, 0x080c, 0x3005, 0x080c, 0xbd32, 0x1110, - 0x080c, 0xa7d1, 0x080c, 0x9e72, 0x0804, 0xd34c, 0xa864, 0x9084, - 0x00ff, 0x9086, 0x0039, 0x0005, 0x00c6, 0x00e6, 0x0016, 0x2c08, - 0x2170, 0x9006, 0x080c, 0xd51d, 0x001e, 0x0120, 0x6020, 0x9084, - 0x000f, 0x001b, 0x00ee, 0x00ce, 0x0005, 0xd3bb, 0xd3bb, 0xd3bb, - 0xd3bb, 0xd3bb, 0xd3bb, 0xd3bd, 0xd3bb, 0xd3bb, 0xd3bb, 0xd3bb, - 0x9e72, 0x9e72, 0xd3bb, 0x9006, 0x0005, 0x0036, 0x0046, 0x0016, - 0x7010, 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2009, 0x0020, - 0x080c, 0xd54b, 0x001e, 0x004e, 0x2019, 0x0002, 0x080c, 0xd106, - 0x003e, 0x9085, 0x0001, 0x0005, 0x0096, 0x080c, 0xbb2c, 0x0140, - 0x6014, 0x904d, 0x080c, 0xb75d, 0x687b, 0x0005, 0x080c, 0x6891, - 0x009e, 0x080c, 0x9e72, 0x9085, 0x0001, 0x0005, 0x2001, 0x0001, - 0x080c, 0x6184, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, - 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, 0xae0c, 0x003e, 0x002e, - 0x001e, 0x015e, 0x9005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, - 0x0076, 0x0066, 0x00b6, 0x0126, 0x2091, 0x8000, 0x2740, 0x2061, - 0x1cd0, 0x2079, 0x0001, 0x8fff, 0x0904, 0xd456, 0x2071, 0x1800, - 0x7650, 0x7070, 0x8001, 0x9602, 0x1a04, 0xd456, 0x88ff, 0x0120, - 0x2800, 0x9c06, 0x1590, 0x2078, 0x080c, 0xd57c, 0x0570, 0x2400, - 0x9c06, 0x0558, 0x6720, 0x9786, 0x0006, 0x1538, 0x9786, 0x0007, - 0x0520, 0x88ff, 0x1140, 0x6010, 0x9b06, 0x11f8, 0x85ff, 0x0118, - 0x6054, 0x9106, 0x11d0, 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, - 0xd7a8, 0x080c, 0xc244, 0x080c, 0x190f, 0x6023, 0x0007, 0x6014, - 0x2048, 0x080c, 0xbb2c, 0x0120, 0x0046, 0x080c, 0xd4f6, 0x004e, - 0x009e, 0x080c, 0x9e72, 0x88ff, 0x1198, 0x9ce0, 0x0018, 0x2001, - 0x1819, 0x2004, 0x9c02, 0x1210, 0x0804, 0xd40b, 0x9006, 0x012e, - 0x00be, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, - 0x98c5, 0x0001, 0x0ca0, 0x00b6, 0x0076, 0x0056, 0x0086, 0x9046, - 0x2029, 0x0001, 0x2c20, 0x2019, 0x0002, 0x6210, 0x2258, 0x0096, - 0x904e, 0x080c, 0x97bb, 0x009e, 0x008e, 0x903e, 0x080c, 0x9866, - 0x080c, 0xd3fc, 0x005e, 0x007e, 0x00be, 0x0005, 0x00b6, 0x0046, - 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x2128, 0x20a9, 0x007f, - 0x900e, 0x0016, 0x0036, 0x080c, 0x6247, 0x1190, 0x0056, 0x0086, - 0x9046, 0x2508, 0x2029, 0x0001, 0x0096, 0x904e, 0x080c, 0x97bb, - 0x009e, 0x008e, 0x903e, 0x080c, 0x9866, 0x080c, 0xd3fc, 0x005e, - 0x003e, 0x001e, 0x8108, 0x1f04, 0xd489, 0x015e, 0x00ce, 0x007e, - 0x005e, 0x004e, 0x00be, 0x0005, 0x00b6, 0x0076, 0x0056, 0x6210, - 0x2258, 0x0086, 0x9046, 0x2029, 0x0001, 0x2019, 0x0048, 0x0096, - 0x904e, 0x080c, 0x97bb, 0x009e, 0x008e, 0x903e, 0x080c, 0x9866, - 0x2c20, 0x080c, 0xd3fc, 0x005e, 0x007e, 0x00be, 0x0005, 0x00b6, - 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, 0x0800, - 0x900e, 0x0016, 0x0036, 0x080c, 0x6247, 0x11a0, 0x0086, 0x9046, - 0x2828, 0x0046, 0x2021, 0x0001, 0x080c, 0xd78c, 0x004e, 0x0096, - 0x904e, 0x080c, 0x97bb, 0x009e, 0x008e, 0x903e, 0x080c, 0x9866, - 0x080c, 0xd3fc, 0x003e, 0x001e, 0x8108, 0x1f04, 0xd4d1, 0x015e, - 0x00ce, 0x007e, 0x005e, 0x004e, 0x00be, 0x0005, 0x0016, 0x00f6, - 0x080c, 0xbb2a, 0x0198, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0046, - 0x0180, 0xa800, 0x907d, 0x0138, 0xa803, 0x0000, 0xab82, 0x080c, - 0x6891, 0x2f48, 0x0cb0, 0xab82, 0x080c, 0x6891, 0x00fe, 0x001e, - 0x0005, 0xa800, 0x907d, 0x0130, 0xa803, 0x0000, 0x080c, 0x6891, - 0x2f48, 0x0cb8, 0x080c, 0x6891, 0x0c88, 0x00e6, 0x0046, 0x0036, - 0x2061, 0x1cd0, 0x9005, 0x1138, 0x2071, 0x1800, 0x7450, 0x7070, - 0x8001, 0x9402, 0x12d8, 0x2100, 0x9c06, 0x0168, 0x6000, 0x9086, - 0x0000, 0x0148, 0x6008, 0x9206, 0x1130, 0x6010, 0x91a0, 0x0004, - 0x2424, 0x9406, 0x0140, 0x9ce0, 0x0018, 0x2001, 0x1819, 0x2004, - 0x9c02, 0x1220, 0x0c40, 0x9085, 0x0001, 0x0008, 0x9006, 0x003e, - 0x004e, 0x00ee, 0x0005, 0x0096, 0x0006, 0x080c, 0x0feb, 0x000e, - 0x090c, 0x0db4, 0xaae2, 0xa867, 0x010d, 0xa88e, 0x0026, 0x2010, - 0x080c, 0xbb1a, 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, 0x0015, - 0x2004, 0x002e, 0xa87a, 0x9186, 0x0020, 0x0110, 0xa8e3, 0xffff, - 0xa986, 0xac76, 0xa87f, 0x0000, 0x2001, 0x195e, 0x2004, 0xa882, - 0x9006, 0xa802, 0xa86a, 0xa88a, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6891, 0x012e, 0x009e, 0x0005, 0x6700, 0x9786, 0x0000, 0x0158, - 0x9786, 0x0001, 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, 0x0009, - 0x0110, 0x9085, 0x0001, 0x0005, 0x00e6, 0x6010, 0x9075, 0x0138, - 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x00ee, 0x0005, 0x9085, - 0x0001, 0x0cd8, 0x0016, 0x6004, 0x908e, 0x001e, 0x11a0, 0x8007, - 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0005, 0x2001, 0x1957, 0x2004, 0x601a, 0x080c, - 0x83da, 0x080c, 0x896d, 0x001e, 0x0005, 0xa001, 0xa001, 0x0005, - 0x6024, 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0xbe64, 0x0030, - 0x080c, 0xd7a8, 0x080c, 0x81ed, 0x080c, 0x9e42, 0x0005, 0x9280, - 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd5db, 0xd5db, 0xd5db, - 0xd5dd, 0xd5db, 0xd5dd, 0xd5dd, 0xd5db, 0xd5dd, 0xd5db, 0xd5db, - 0xd5db, 0xd5db, 0xd5db, 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, + 0x0804, 0xceeb, 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, 0x080c, + 0x9ec4, 0x0005, 0xcd86, 0xcd88, 0xcd88, 0xcdaf, 0xcd86, 0xcd86, + 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0xcd86, + 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0xcd86, 0x080c, 0x0db4, + 0x080c, 0x887f, 0x080c, 0x898b, 0x0036, 0x0096, 0x6014, 0x904d, + 0x01d8, 0x080c, 0xbb3b, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, + 0xd50f, 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x195f, + 0x2004, 0x601a, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x0096, + 0x080c, 0x887f, 0x080c, 0x898b, 0x080c, 0xbb3b, 0x0120, 0x6014, + 0x2048, 0x080c, 0x101d, 0x080c, 0x9e5f, 0x009e, 0x0005, 0x0002, + 0xcdd4, 0xcdeb, 0xcdd6, 0xce02, 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, + 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, + 0xcdd4, 0xcdd4, 0xcdd4, 0xcdd4, 0x080c, 0x0db4, 0x0096, 0x080c, + 0x887f, 0x6014, 0x2048, 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, + 0x2009, 0x0043, 0x080c, 0x9ea9, 0x0010, 0x6003, 0x0004, 0x080c, + 0x898b, 0x009e, 0x0005, 0x080c, 0x887f, 0x080c, 0xbb3b, 0x0138, + 0x6114, 0x0096, 0x2148, 0xa97c, 0x009e, 0xd1ec, 0x1138, 0x080c, + 0x820b, 0x080c, 0x9e2f, 0x080c, 0x898b, 0x0005, 0x080c, 0xd769, + 0x0db0, 0x0cc8, 0x080c, 0x887f, 0x2009, 0x0041, 0x0804, 0xcf73, + 0x9182, 0x0040, 0x0002, 0xce1f, 0xce21, 0xce1f, 0xce1f, 0xce1f, + 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, + 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce22, 0xce1f, 0xce1f, 0x080c, + 0x0db4, 0x0005, 0x00d6, 0x080c, 0x820b, 0x00de, 0x080c, 0xd7c1, + 0x080c, 0x9e2f, 0x0005, 0x9182, 0x0040, 0x0002, 0xce42, 0xce42, + 0xce42, 0xce42, 0xce42, 0xce42, 0xce42, 0xce42, 0xce42, 0xce44, + 0xceb3, 0xce42, 0xce42, 0xce42, 0xce42, 0xceb3, 0xce42, 0xce42, + 0xce42, 0xce42, 0x080c, 0x0db4, 0x2001, 0x0105, 0x2004, 0x9084, + 0x1800, 0x01c8, 0x2001, 0x0132, 0x200c, 0x2001, 0x0131, 0x2004, + 0x9105, 0x1904, 0xceb3, 0x2009, 0x180c, 0x2104, 0xd0d4, 0x0904, + 0xceb3, 0xc0d4, 0x200a, 0x2009, 0x0105, 0x2104, 0x9084, 0xe7fd, + 0x9085, 0x0010, 0x200a, 0x2001, 0x187b, 0x2004, 0xd0e4, 0x1528, + 0x603b, 0x0000, 0x080c, 0x893b, 0x6014, 0x0096, 0x2048, 0xa87c, + 0xd0fc, 0x0188, 0x908c, 0x0003, 0x918e, 0x0002, 0x0508, 0x2001, + 0x180c, 0x2004, 0xd0d4, 0x11e0, 0x080c, 0x8a68, 0x2009, 0x0041, + 0x009e, 0x0804, 0xcf73, 0x080c, 0x8a68, 0x6003, 0x0007, 0x601b, + 0x0000, 0x080c, 0x820b, 0x009e, 0x0005, 0x2001, 0x0100, 0x2004, + 0x9082, 0x0005, 0x0aa8, 0x2001, 0x011f, 0x2004, 0x603a, 0x0890, + 0x2001, 0x180c, 0x200c, 0xc1d4, 0x2102, 0xd1cc, 0x0110, 0x080c, + 0x2a84, 0x080c, 0x8a68, 0x6014, 0x2048, 0xa97c, 0xd1ec, 0x1130, + 0x080c, 0x820b, 0x080c, 0x9e2f, 0x009e, 0x0005, 0x080c, 0xd769, + 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, 0x200c, 0xc1d4, 0x2102, + 0x0036, 0x080c, 0x893b, 0x080c, 0x8a68, 0x6014, 0x0096, 0x2048, + 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0188, 0xa87c, + 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, 0xa8ac, 0x6330, 0x931a, + 0x6332, 0xa8b0, 0x632c, 0x931b, 0x632e, 0x6003, 0x0002, 0x0080, + 0x2019, 0x0004, 0x080c, 0xd50f, 0x6018, 0x9005, 0x1128, 0x2001, + 0x195f, 0x2004, 0x8003, 0x601a, 0x6017, 0x0000, 0x6003, 0x0007, + 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, 0xcf02, 0xcf02, + 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf04, 0xcf02, + 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf02, 0xcf02, + 0xcf02, 0xcf4f, 0x080c, 0x0db4, 0x6014, 0x0096, 0x2048, 0xa834, + 0xaa38, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1190, + 0x920d, 0x1518, 0xa87c, 0xd0fc, 0x0128, 0x2009, 0x0041, 0x009e, + 0x0804, 0xcf73, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x820b, + 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, 0xacac, + 0x9422, 0xa9b0, 0x2200, 0x910b, 0x6030, 0x9420, 0x6432, 0x602c, + 0x9109, 0x612e, 0x004e, 0x000e, 0x08d8, 0x6110, 0x00b6, 0x2158, + 0xb900, 0x00be, 0xd1bc, 0x1178, 0x2009, 0x180e, 0x210c, 0xd19c, + 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, 0x0006, 0x00e9, 0x080c, + 0x820d, 0x009e, 0x0005, 0x6003, 0x0002, 0x009e, 0x0005, 0x6024, + 0xd0f4, 0x0128, 0x080c, 0x1511, 0x1904, 0xcf04, 0x0005, 0x6014, + 0x0096, 0x2048, 0xa834, 0xa938, 0x009e, 0x9105, 0x1120, 0x080c, + 0x1511, 0x1904, 0xcf04, 0x0005, 0xd2fc, 0x0140, 0x8002, 0x8000, + 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, 0x0010, 0x2009, 0x0015, + 0xaa9a, 0xa896, 0x0005, 0x9182, 0x0040, 0x0208, 0x0062, 0x9186, + 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, 0x0db4, 0x6024, 0xd0dc, + 0x090c, 0x0db4, 0x0005, 0xcf97, 0xcfa3, 0xcfaf, 0xcfbb, 0xcf97, + 0xcf97, 0xcf97, 0xcf97, 0xcf9e, 0xcf99, 0xcf99, 0xcf97, 0xcf97, + 0xcf97, 0xcf97, 0xcf99, 0xcf97, 0xcf99, 0xcf97, 0xcf9e, 0x080c, + 0x0db4, 0x6024, 0xd0dc, 0x090c, 0x0db4, 0x0005, 0x6014, 0x9005, + 0x190c, 0x0db4, 0x0005, 0x6003, 0x0001, 0x6106, 0x080c, 0x83f8, + 0x0126, 0x2091, 0x8000, 0x080c, 0x898b, 0x012e, 0x0005, 0x6003, + 0x0001, 0x6106, 0x080c, 0x83f8, 0x0126, 0x2091, 0x8000, 0x080c, + 0x898b, 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, + 0x1a69, 0x0126, 0x2091, 0x8000, 0x080c, 0x845d, 0x080c, 0x8a68, + 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, 0x0096, 0x9182, + 0x0040, 0x0023, 0x009e, 0x003e, 0x012e, 0x0005, 0xcfea, 0xcfec, + 0xcffe, 0xd018, 0xcfea, 0xcfea, 0xcfea, 0xcfea, 0xcfea, 0xcfea, + 0xcfea, 0xcfea, 0xcfea, 0xcfea, 0xcfea, 0xcfea, 0xcfea, 0xcfea, + 0xcfea, 0xcfea, 0x080c, 0x0db4, 0x6014, 0x2048, 0xa87c, 0xd0fc, + 0x01f8, 0x909c, 0x0003, 0x939e, 0x0003, 0x01d0, 0x6003, 0x0001, + 0x6106, 0x080c, 0x83f8, 0x080c, 0x898b, 0x0470, 0x6014, 0x2048, + 0xa87c, 0xd0fc, 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, + 0x6003, 0x0001, 0x6106, 0x080c, 0x83f8, 0x080c, 0x898b, 0x00e0, + 0x901e, 0x6316, 0x631a, 0x2019, 0x0004, 0x080c, 0xd50f, 0x00a0, + 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0d98, 0x909c, 0x0003, 0x939e, + 0x0003, 0x0d70, 0x6003, 0x0003, 0x6106, 0x2c10, 0x080c, 0x1a69, + 0x080c, 0x845d, 0x080c, 0x8a68, 0x0005, 0x080c, 0x887f, 0x6114, + 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, 0xd80d, 0x0036, 0x2019, + 0x0029, 0x080c, 0xd50f, 0x003e, 0x009e, 0x080c, 0x9e5f, 0x080c, + 0x898b, 0x0005, 0x080c, 0x893b, 0x6114, 0x81ff, 0x0158, 0x0096, + 0x2148, 0x080c, 0xd80d, 0x0036, 0x2019, 0x0029, 0x080c, 0xd50f, + 0x003e, 0x009e, 0x080c, 0x9e5f, 0x080c, 0x8a68, 0x0005, 0x9182, + 0x0085, 0x0002, 0xd069, 0xd067, 0xd067, 0xd075, 0xd067, 0xd067, + 0xd067, 0xd067, 0xd067, 0xd067, 0xd067, 0xd067, 0xd067, 0x080c, + 0x0db4, 0x6003, 0x000b, 0x6106, 0x080c, 0x83f8, 0x0126, 0x2091, + 0x8000, 0x080c, 0x898b, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, + 0xd760, 0x0118, 0x080c, 0x9e2f, 0x0450, 0x2071, 0x0260, 0x7224, + 0x6216, 0x2001, 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, 0x00b6, + 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0xa14f, + 0x7220, 0x080c, 0xd3b5, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, + 0x0087, 0x7224, 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, + 0x0001, 0x080c, 0x83f8, 0x080c, 0x898b, 0x080c, 0x8a68, 0x00ee, + 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, + 0x0a0c, 0x0db4, 0x908a, 0x0092, 0x1a0c, 0x0db4, 0x9082, 0x0085, + 0x00a2, 0x9186, 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, + 0x9ec4, 0x0050, 0x2001, 0x0007, 0x080c, 0x61d3, 0x080c, 0x887f, + 0x080c, 0x9e5f, 0x080c, 0x898b, 0x0005, 0xd0da, 0xd0dc, 0xd0dc, + 0xd0da, 0xd0da, 0xd0da, 0xd0da, 0xd0da, 0xd0da, 0xd0da, 0xd0da, + 0xd0da, 0xd0da, 0x080c, 0x0db4, 0x080c, 0x887f, 0x080c, 0x9e5f, + 0x080c, 0x898b, 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0db4, 0x9182, + 0x0092, 0x1a0c, 0x0db4, 0x9182, 0x0085, 0x0002, 0xd0fb, 0xd0fb, + 0xd0fb, 0xd0fd, 0xd0fb, 0xd0fb, 0xd0fb, 0xd0fb, 0xd0fb, 0xd0fb, + 0xd0fb, 0xd0fb, 0xd0fb, 0x080c, 0x0db4, 0x0005, 0x9186, 0x0013, + 0x0148, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, + 0x9ec4, 0x0030, 0x080c, 0x887f, 0x080c, 0x9e5f, 0x080c, 0x898b, + 0x0005, 0x0036, 0x080c, 0xd7c1, 0x6043, 0x0000, 0x2019, 0x000b, + 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, + 0x0036, 0x2091, 0x8000, 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, + 0x97a4, 0x009e, 0x008e, 0x1550, 0x0076, 0x2c38, 0x080c, 0x984f, + 0x007e, 0x1520, 0x6000, 0x9086, 0x0000, 0x0500, 0x6020, 0x9086, + 0x0007, 0x01e0, 0x0096, 0x601c, 0xd084, 0x0140, 0x080c, 0xd7c1, + 0x080c, 0xc253, 0x080c, 0x191f, 0x6023, 0x0007, 0x6014, 0x2048, + 0x080c, 0xbb3b, 0x0110, 0x080c, 0xd50f, 0x009e, 0x6017, 0x0000, + 0x080c, 0xd7c1, 0x6023, 0x0007, 0x080c, 0xc253, 0x003e, 0x012e, + 0x0005, 0x00f6, 0x00c6, 0x00b6, 0x0036, 0x0156, 0x2079, 0x0260, + 0x7938, 0x783c, 0x080c, 0x2670, 0x15c8, 0x0016, 0x00c6, 0x080c, + 0x6256, 0x1590, 0x001e, 0x00c6, 0x2160, 0x080c, 0xc250, 0x00ce, + 0x002e, 0x0026, 0x0016, 0x2019, 0x0029, 0x080c, 0x9915, 0x080c, + 0x8582, 0x0076, 0x903e, 0x080c, 0x8470, 0x007e, 0x001e, 0x0076, + 0x903e, 0x080c, 0xd2d5, 0x007e, 0x0026, 0xba04, 0x9294, 0xff00, + 0x8217, 0x9286, 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, 0xbaa0, + 0x080c, 0x30a4, 0x002e, 0xbcb0, 0x001e, 0x080c, 0x5cff, 0xbe12, + 0xbd16, 0xbcb2, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, + 0x00be, 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, 0x0016, + 0x2009, 0x1823, 0x2104, 0x9086, 0x0074, 0x1904, 0xd1fd, 0x2069, + 0x0260, 0x6944, 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, 0x8000, + 0x0904, 0xd1fa, 0x2001, 0x1954, 0x2004, 0x9005, 0x1140, 0x6010, + 0x2058, 0xb8b0, 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, 0x6948, + 0x918a, 0x0001, 0x0648, 0x080c, 0xd875, 0x0118, 0x6978, 0xd1fc, + 0x11b8, 0x2009, 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, + 0x6944, 0x9182, 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, + 0x918a, 0x0001, 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, + 0x6017, 0x0100, 0x00a0, 0x6017, 0x0300, 0x0088, 0x6017, 0x0500, + 0x0070, 0x6017, 0x0700, 0x0058, 0x6017, 0x0900, 0x0040, 0x6017, + 0x0b00, 0x0028, 0x6017, 0x0f00, 0x0010, 0x6017, 0x2d00, 0x9085, + 0x0001, 0x0008, 0x9006, 0x001e, 0x00be, 0x00de, 0x00ce, 0x0005, + 0x00c6, 0x00b6, 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, 0xbb04, + 0x9394, 0x00ff, 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, 0x0168, + 0x9394, 0xff00, 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, 0x0004, + 0x0120, 0x080c, 0x6265, 0x0804, 0xd264, 0x2011, 0x0276, 0x20a9, + 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xae1c, 0x009e, + 0x15a0, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, + 0x0006, 0x080c, 0xae1c, 0x009e, 0x1540, 0x0046, 0x0016, 0xbaa0, + 0x2220, 0x9006, 0x2009, 0x185c, 0x210c, 0x0038, 0x2009, 0x0029, + 0x080c, 0xd564, 0xb800, 0xc0e5, 0xb802, 0x2019, 0x0029, 0x080c, + 0x8582, 0x0076, 0x2039, 0x0000, 0x080c, 0x8470, 0x2c08, 0x080c, + 0xd2d5, 0x007e, 0x2001, 0x0007, 0x080c, 0x61d3, 0x2001, 0x0007, + 0x080c, 0x61a7, 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, 0x002e, + 0x00be, 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, 0x9086, + 0x0800, 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, 0x0005, + 0x00b6, 0x00f6, 0x0016, 0x0026, 0x0036, 0x0156, 0x2079, 0x026c, + 0x7930, 0x7834, 0x080c, 0x2670, 0x11d0, 0x080c, 0x6256, 0x11b8, + 0x2011, 0x0270, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, + 0x080c, 0xae1c, 0x009e, 0x1158, 0x2011, 0x0274, 0x20a9, 0x0004, + 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, 0xae1c, 0x009e, 0x015e, + 0x003e, 0x002e, 0x001e, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x0006, + 0x0016, 0x0026, 0x0036, 0x0156, 0x2011, 0x0263, 0x2204, 0x8211, + 0x220c, 0x080c, 0x2670, 0x11d0, 0x080c, 0x6256, 0x11b8, 0x2011, + 0x0276, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, + 0xae1c, 0x009e, 0x1158, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, + 0x2b48, 0x2019, 0x0006, 0x080c, 0xae1c, 0x009e, 0x015e, 0x003e, + 0x002e, 0x001e, 0x000e, 0x00be, 0x0005, 0x00e6, 0x00c6, 0x0086, + 0x0076, 0x0066, 0x0056, 0x0046, 0x0026, 0x0126, 0x2091, 0x8000, + 0x2740, 0x2029, 0x19c8, 0x252c, 0x2021, 0x19ce, 0x2424, 0x2061, + 0x1cd0, 0x2071, 0x1800, 0x7650, 0x7070, 0x81ff, 0x0150, 0x0006, + 0x9186, 0x1a87, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, 0xd36e, + 0x0018, 0x9606, 0x0904, 0xd36e, 0x2100, 0x9c06, 0x0904, 0xd365, + 0x080c, 0xd5a5, 0x1904, 0xd365, 0x080c, 0xd892, 0x0904, 0xd365, + 0x080c, 0xd595, 0x0904, 0xd365, 0x6720, 0x9786, 0x0001, 0x1148, + 0x080c, 0x313b, 0x0904, 0xd389, 0x6004, 0x9086, 0x0000, 0x1904, + 0xd389, 0x9786, 0x0004, 0x0904, 0xd389, 0x9786, 0x0007, 0x0904, + 0xd365, 0x2500, 0x9c06, 0x0904, 0xd365, 0x2400, 0x9c06, 0x05e8, + 0x88ff, 0x0118, 0x6054, 0x9906, 0x15c0, 0x0096, 0x6000, 0x9086, + 0x0004, 0x1120, 0x0016, 0x080c, 0x191f, 0x001e, 0x9786, 0x000a, + 0x0148, 0x080c, 0xbd41, 0x1130, 0x080c, 0xa7cd, 0x009e, 0x080c, + 0x9e5f, 0x0418, 0x6014, 0x2048, 0x080c, 0xbb3b, 0x01d8, 0x9786, + 0x0003, 0x1570, 0xa867, 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, + 0xa878, 0x2048, 0x080c, 0x0f9d, 0x009e, 0xab7a, 0xa877, 0x0000, + 0x080c, 0xd80d, 0x0016, 0x080c, 0xbe2f, 0x080c, 0x6893, 0x001e, + 0x080c, 0xbd24, 0x009e, 0x080c, 0x9e5f, 0x9ce0, 0x0018, 0x2001, + 0x1819, 0x2004, 0x9c02, 0x1210, 0x0804, 0xd2e9, 0x012e, 0x002e, + 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, + 0x9786, 0x0006, 0x1150, 0x9386, 0x0005, 0x0128, 0x080c, 0xd80d, + 0x080c, 0xd50f, 0x08f8, 0x009e, 0x0c00, 0x9786, 0x000a, 0x0920, + 0x0808, 0x81ff, 0x09d0, 0x9180, 0x0001, 0x2004, 0x9086, 0x0018, + 0x0130, 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, 0x1970, 0x6000, + 0x9086, 0x0002, 0x1950, 0x080c, 0xbd30, 0x0130, 0x080c, 0xbd41, + 0x1920, 0x080c, 0xa7cd, 0x0038, 0x080c, 0x3010, 0x080c, 0xbd41, + 0x1110, 0x080c, 0xa7cd, 0x080c, 0x9e5f, 0x0804, 0xd365, 0xa864, + 0x9084, 0x00ff, 0x9086, 0x0039, 0x0005, 0x00c6, 0x00e6, 0x0016, + 0x2c08, 0x2170, 0x9006, 0x080c, 0xd536, 0x001e, 0x0120, 0x6020, + 0x9084, 0x000f, 0x001b, 0x00ee, 0x00ce, 0x0005, 0xd3d4, 0xd3d4, + 0xd3d4, 0xd3d4, 0xd3d4, 0xd3d4, 0xd3d6, 0xd3d4, 0xd3d4, 0xd3d4, + 0xd3d4, 0x9e5f, 0x9e5f, 0xd3d4, 0x9006, 0x0005, 0x0036, 0x0046, + 0x0016, 0x7010, 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2009, + 0x0020, 0x080c, 0xd564, 0x001e, 0x004e, 0x2019, 0x0002, 0x080c, + 0xd11f, 0x003e, 0x9085, 0x0001, 0x0005, 0x0096, 0x080c, 0xbb3b, + 0x0140, 0x6014, 0x904d, 0x080c, 0xb75c, 0x687b, 0x0005, 0x080c, + 0x68a0, 0x009e, 0x080c, 0x9e5f, 0x9085, 0x0001, 0x0005, 0x2001, + 0x0001, 0x080c, 0x6193, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, + 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, 0xae08, 0x003e, + 0x002e, 0x001e, 0x015e, 0x9005, 0x0005, 0x00f6, 0x00e6, 0x00c6, + 0x0086, 0x0076, 0x0066, 0x00b6, 0x0126, 0x2091, 0x8000, 0x2740, + 0x2061, 0x1cd0, 0x2079, 0x0001, 0x8fff, 0x0904, 0xd46f, 0x2071, + 0x1800, 0x7650, 0x7070, 0x8001, 0x9602, 0x1a04, 0xd46f, 0x88ff, + 0x0120, 0x2800, 0x9c06, 0x1590, 0x2078, 0x080c, 0xd595, 0x0570, + 0x2400, 0x9c06, 0x0558, 0x6720, 0x9786, 0x0006, 0x1538, 0x9786, + 0x0007, 0x0520, 0x88ff, 0x1140, 0x6010, 0x9b06, 0x11f8, 0x85ff, + 0x0118, 0x6054, 0x9106, 0x11d0, 0x0096, 0x601c, 0xd084, 0x0140, + 0x080c, 0xd7c1, 0x080c, 0xc253, 0x080c, 0x191f, 0x6023, 0x0007, + 0x6014, 0x2048, 0x080c, 0xbb3b, 0x0120, 0x0046, 0x080c, 0xd50f, + 0x004e, 0x009e, 0x080c, 0x9e5f, 0x88ff, 0x1198, 0x9ce0, 0x0018, + 0x2001, 0x1819, 0x2004, 0x9c02, 0x1210, 0x0804, 0xd424, 0x9006, + 0x012e, 0x00be, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x00fe, + 0x0005, 0x98c5, 0x0001, 0x0ca0, 0x00b6, 0x0076, 0x0056, 0x0086, + 0x9046, 0x2029, 0x0001, 0x2c20, 0x2019, 0x0002, 0x6210, 0x2258, + 0x0096, 0x904e, 0x080c, 0x97a4, 0x009e, 0x008e, 0x903e, 0x080c, + 0x984f, 0x080c, 0xd415, 0x005e, 0x007e, 0x00be, 0x0005, 0x00b6, + 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x2128, 0x20a9, + 0x007f, 0x900e, 0x0016, 0x0036, 0x080c, 0x6256, 0x1190, 0x0056, + 0x0086, 0x9046, 0x2508, 0x2029, 0x0001, 0x0096, 0x904e, 0x080c, + 0x97a4, 0x009e, 0x008e, 0x903e, 0x080c, 0x984f, 0x080c, 0xd415, + 0x005e, 0x003e, 0x001e, 0x8108, 0x1f04, 0xd4a2, 0x015e, 0x00ce, + 0x007e, 0x005e, 0x004e, 0x00be, 0x0005, 0x00b6, 0x0076, 0x0056, + 0x6210, 0x2258, 0x0086, 0x9046, 0x2029, 0x0001, 0x2019, 0x0048, + 0x0096, 0x904e, 0x080c, 0x97a4, 0x009e, 0x008e, 0x903e, 0x080c, + 0x984f, 0x2c20, 0x080c, 0xd415, 0x005e, 0x007e, 0x00be, 0x0005, + 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, + 0x0800, 0x900e, 0x0016, 0x0036, 0x080c, 0x6256, 0x11a0, 0x0086, + 0x9046, 0x2828, 0x0046, 0x2021, 0x0001, 0x080c, 0xd7a5, 0x004e, + 0x0096, 0x904e, 0x080c, 0x97a4, 0x009e, 0x008e, 0x903e, 0x080c, + 0x984f, 0x080c, 0xd415, 0x003e, 0x001e, 0x8108, 0x1f04, 0xd4ea, + 0x015e, 0x00ce, 0x007e, 0x005e, 0x004e, 0x00be, 0x0005, 0x0016, + 0x00f6, 0x080c, 0xbb39, 0x0198, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x0046, 0x0180, 0xa800, 0x907d, 0x0138, 0xa803, 0x0000, 0xab82, + 0x080c, 0x68a0, 0x2f48, 0x0cb0, 0xab82, 0x080c, 0x68a0, 0x00fe, + 0x001e, 0x0005, 0xa800, 0x907d, 0x0130, 0xa803, 0x0000, 0x080c, + 0x68a0, 0x2f48, 0x0cb8, 0x080c, 0x68a0, 0x0c88, 0x00e6, 0x0046, + 0x0036, 0x2061, 0x1cd0, 0x9005, 0x1138, 0x2071, 0x1800, 0x7450, + 0x7070, 0x8001, 0x9402, 0x12d8, 0x2100, 0x9c06, 0x0168, 0x6000, + 0x9086, 0x0000, 0x0148, 0x6008, 0x9206, 0x1130, 0x6010, 0x91a0, + 0x0004, 0x2424, 0x9406, 0x0140, 0x9ce0, 0x0018, 0x2001, 0x1819, + 0x2004, 0x9c02, 0x1220, 0x0c40, 0x9085, 0x0001, 0x0008, 0x9006, + 0x003e, 0x004e, 0x00ee, 0x0005, 0x0096, 0x0006, 0x080c, 0x0feb, + 0x000e, 0x090c, 0x0db4, 0xaae2, 0xa867, 0x010d, 0xa88e, 0x0026, + 0x2010, 0x080c, 0xbb29, 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, + 0x0015, 0x2004, 0x002e, 0xa87a, 0x9186, 0x0020, 0x0110, 0xa8e3, + 0xffff, 0xa986, 0xac76, 0xa87f, 0x0000, 0x2001, 0x1966, 0x2004, + 0xa882, 0x9006, 0xa802, 0xa86a, 0xa88a, 0x0126, 0x2091, 0x8000, + 0x080c, 0x68a0, 0x012e, 0x009e, 0x0005, 0x6700, 0x9786, 0x0000, + 0x0158, 0x9786, 0x0001, 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, + 0x0009, 0x0110, 0x9085, 0x0001, 0x0005, 0x00e6, 0x6010, 0x9075, + 0x0138, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x00ee, 0x0005, + 0x9085, 0x0001, 0x0cd8, 0x0016, 0x6004, 0x908e, 0x001e, 0x11a0, + 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, + 0x6003, 0x000b, 0x6023, 0x0005, 0x2001, 0x195f, 0x2004, 0x601a, + 0x080c, 0x83f8, 0x080c, 0x898b, 0x001e, 0x0005, 0xa001, 0xa001, + 0x0005, 0x6024, 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0xbe73, + 0x0030, 0x080c, 0xd7c1, 0x080c, 0x820b, 0x080c, 0x9e2f, 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd5f4, 0xd5f4, - 0xd5f4, 0xd5f4, 0xd5f4, 0xd5f4, 0xd601, 0xd5f4, 0xd5f4, 0xd5f4, - 0xd5f4, 0xd5f4, 0xd5f4, 0xd5f4, 0x6007, 0x003b, 0x602f, 0x0009, - 0x6017, 0x2a00, 0x6003, 0x0001, 0x080c, 0x83da, 0x080c, 0x896d, - 0x0005, 0x0096, 0x00c6, 0x2260, 0x080c, 0xd7a8, 0x6043, 0x0000, - 0x6024, 0xc0f4, 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, 0x00d6, - 0x2268, 0x9186, 0x0007, 0x1904, 0xd65a, 0x6814, 0x9005, 0x0138, - 0x2048, 0xa87c, 0xd0fc, 0x1118, 0x00de, 0x009e, 0x08a8, 0x6007, - 0x003a, 0x6003, 0x0001, 0x080c, 0x83da, 0x080c, 0x896d, 0x00c6, - 0x2d60, 0x6100, 0x9186, 0x0002, 0x1904, 0xd6d1, 0x6014, 0x9005, - 0x1138, 0x6000, 0x9086, 0x0007, 0x190c, 0x0db4, 0x0804, 0xd6d1, - 0x2048, 0x080c, 0xbb2c, 0x1130, 0x0028, 0x2048, 0xa800, 0x9005, - 0x1de0, 0x2900, 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, - 0x1168, 0xa87c, 0xc0dc, 0xc0f4, 0xa87e, 0xa880, 0xc0fc, 0xa882, - 0x2009, 0x0043, 0x080c, 0xcf5f, 0x0804, 0xd6d1, 0x2009, 0x0041, - 0x0804, 0xd6cb, 0x9186, 0x0005, 0x15a0, 0x6814, 0x2048, 0xa87c, - 0xd0bc, 0x1120, 0x00de, 0x009e, 0x0804, 0xd5f4, 0xd0b4, 0x0128, - 0xd0fc, 0x090c, 0x0db4, 0x0804, 0xd615, 0x6007, 0x003a, 0x6003, - 0x0001, 0x080c, 0x83da, 0x080c, 0x896d, 0x00c6, 0x2d60, 0x6100, - 0x9186, 0x0002, 0x0120, 0x9186, 0x0004, 0x1904, 0xd6d1, 0x6814, - 0x2048, 0xa97c, 0xc1f4, 0xc1dc, 0xa97e, 0xa980, 0xc1fc, 0xc1bc, - 0xa982, 0x00f6, 0x2c78, 0x080c, 0x164a, 0x00fe, 0x2009, 0x0042, - 0x04d0, 0x0036, 0x080c, 0x0feb, 0x090c, 0x0db4, 0xa867, 0x010d, - 0x9006, 0xa802, 0xa86a, 0xa88a, 0x2d18, 0xab8e, 0xa887, 0x0045, - 0x2c00, 0xa892, 0x6038, 0xa8a2, 0x2360, 0x6024, 0xc0dd, 0x6026, - 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x2004, 0x6354, 0xab7a, - 0xa876, 0x9006, 0xa87e, 0xa882, 0xad9a, 0xae96, 0xa89f, 0x0001, - 0x080c, 0x6891, 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, 0xd106, - 0x2d00, 0x600a, 0x6023, 0x0006, 0x6003, 0x0007, 0x901e, 0x631a, - 0x6342, 0x003e, 0x0038, 0x6043, 0x0000, 0x6003, 0x0007, 0x080c, - 0xcf5f, 0x00ce, 0x00de, 0x009e, 0x0005, 0x9186, 0x0013, 0x1128, - 0x6004, 0x9082, 0x0085, 0x2008, 0x00c2, 0x9186, 0x0027, 0x1178, - 0x080c, 0x8861, 0x0036, 0x0096, 0x6014, 0x2048, 0x2019, 0x0004, - 0x080c, 0xd4f6, 0x009e, 0x003e, 0x080c, 0x896d, 0x0005, 0x9186, - 0x0014, 0x0d70, 0x080c, 0x9ed7, 0x0005, 0xd704, 0xd702, 0xd702, - 0xd702, 0xd702, 0xd702, 0xd704, 0xd702, 0xd702, 0xd702, 0xd702, - 0xd702, 0xd702, 0x080c, 0x0db4, 0x080c, 0x8861, 0x6003, 0x000c, - 0x080c, 0x896d, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, - 0x0208, 0x001a, 0x080c, 0x9ed7, 0x0005, 0xd722, 0xd722, 0xd722, - 0xd722, 0xd724, 0xd744, 0xd722, 0xd722, 0xd722, 0xd722, 0xd722, - 0xd722, 0xd722, 0x080c, 0x0db4, 0x00d6, 0x2c68, 0x080c, 0x9dec, - 0x01b0, 0x6003, 0x0001, 0x6007, 0x001e, 0x2009, 0x026e, 0x210c, - 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x600b, 0xffff, 0x6910, - 0x6112, 0x6023, 0x0004, 0x080c, 0x83da, 0x080c, 0x896d, 0x2d60, - 0x080c, 0x9e42, 0x00de, 0x0005, 0x080c, 0x9e42, 0x0005, 0x00e6, - 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ec, 0x00ee, 0x0005, - 0x2009, 0x1873, 0x210c, 0xd1ec, 0x05b0, 0x6003, 0x0002, 0x6024, - 0xc0e5, 0x6026, 0xd0cc, 0x0150, 0x2001, 0x1958, 0x2004, 0x6042, - 0x2009, 0x1873, 0x210c, 0xd1f4, 0x1520, 0x00a0, 0x2009, 0x1873, - 0x210c, 0xd1f4, 0x0128, 0x6024, 0xc0e4, 0x6026, 0x9006, 0x00d8, - 0x2001, 0x1958, 0x200c, 0x2001, 0x1956, 0x2004, 0x9100, 0x9080, - 0x000a, 0x6042, 0x6010, 0x00b6, 0x2058, 0xb8ac, 0x00be, 0x0008, - 0x2104, 0x9005, 0x0118, 0x9088, 0x0003, 0x0cd0, 0x2c0a, 0x600f, - 0x0000, 0x9085, 0x0001, 0x0005, 0x0016, 0x00c6, 0x00e6, 0x6154, - 0xb8ac, 0x2060, 0x8cff, 0x0180, 0x84ff, 0x1118, 0x6054, 0x9106, - 0x1138, 0x600c, 0x2072, 0x080c, 0x81ed, 0x080c, 0x9e42, 0x0010, - 0x9cf0, 0x0003, 0x2e64, 0x0c70, 0x00ee, 0x00ce, 0x001e, 0x0005, - 0x00d6, 0x00b6, 0x6010, 0x2058, 0xb8ac, 0x2068, 0x9005, 0x0130, - 0x9c06, 0x0110, 0x680c, 0x0cd0, 0x600c, 0x680e, 0x00be, 0x00de, - 0x0005, 0x0026, 0x0036, 0x0156, 0x2011, 0x182b, 0x2204, 0x9084, - 0x00ff, 0x2019, 0x026e, 0x2334, 0x9636, 0x1508, 0x8318, 0x2334, - 0x2204, 0x9084, 0xff00, 0x9636, 0x11d0, 0x2011, 0x0270, 0x20a9, - 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xae20, - 0x009e, 0x1168, 0x2011, 0x0274, 0x20a9, 0x0004, 0x6010, 0x0096, - 0x2048, 0x2019, 0x0006, 0x080c, 0xae20, 0x009e, 0x1100, 0x015e, - 0x003e, 0x002e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5c6d, - 0x080c, 0x2dbd, 0x00ee, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0fc, 0x0108, 0x0011, 0x00ee, 0x0005, 0xa880, - 0xc0e5, 0xa882, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, - 0x0056, 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, - 0x19c0, 0x252c, 0x2021, 0x19c6, 0x2424, 0x2061, 0x1cd0, 0x2071, - 0x1800, 0x7650, 0x7070, 0x9606, 0x0578, 0x6720, 0x9786, 0x0001, - 0x0118, 0x9786, 0x0008, 0x1500, 0x2500, 0x9c06, 0x01e8, 0x2400, - 0x9c06, 0x01d0, 0x080c, 0xd57c, 0x01b8, 0x080c, 0xd58c, 0x11a0, - 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x190f, 0x001e, - 0x080c, 0xbd21, 0x1110, 0x080c, 0x3005, 0x080c, 0xbd32, 0x1110, - 0x080c, 0xa7d1, 0x080c, 0x9e72, 0x9ce0, 0x0018, 0x2001, 0x1819, - 0x2004, 0x9c02, 0x1208, 0x0858, 0x012e, 0x001e, 0x002e, 0x004e, - 0x005e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x2001, - 0x1810, 0x2004, 0xd0dc, 0x0005, 0x0006, 0x2001, 0x1836, 0x2004, - 0xd09c, 0x000e, 0x0005, 0x0006, 0x0036, 0x0046, 0x080c, 0xc22c, - 0x0168, 0x2019, 0xffff, 0x9005, 0x0128, 0x6010, 0x00b6, 0x2058, - 0xbba0, 0x00be, 0x2021, 0x0004, 0x080c, 0x4a86, 0x004e, 0x003e, - 0x000e, 0x6004, 0x9086, 0x0001, 0x1128, 0x080c, 0x992c, 0x080c, - 0x9e72, 0x9006, 0x0005, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x2061, - 0x1cd0, 0x2071, 0x1800, 0x7450, 0x7070, 0x8001, 0x9402, 0x12b8, - 0x2100, 0x9c06, 0x0148, 0x6000, 0x9086, 0x0000, 0x0128, 0x6010, - 0x2058, 0xb8a0, 0x9206, 0x0140, 0x9ce0, 0x0018, 0x2001, 0x1819, - 0x2004, 0x9c02, 0x1220, 0x0c60, 0x9085, 0x0001, 0x0008, 0x9006, - 0x004e, 0x00be, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, - 0x0016, 0x2091, 0x8000, 0x2071, 0x1840, 0xd5a4, 0x0118, 0x7034, - 0x8000, 0x7036, 0xd5b4, 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, - 0x0178, 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, - 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, 0x184a, 0x0089, - 0x001e, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, - 0x2091, 0x8000, 0x2071, 0x1842, 0x0021, 0x00ee, 0x000e, 0x012e, - 0x0005, 0x2e04, 0x8000, 0x2072, 0x1220, 0x8e70, 0x2e04, 0x8000, - 0x2072, 0x0005, 0x00e6, 0x2071, 0x1840, 0x0c99, 0x00ee, 0x0005, - 0x00e6, 0x2071, 0x1844, 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, - 0x00e6, 0x2091, 0x8000, 0x2071, 0x1840, 0x7044, 0x8000, 0x7046, - 0x00ee, 0x000e, 0x012e, 0x0005, 0x0003, 0x000b, 0x04a6, 0x0000, - 0xc000, 0x0001, 0x8064, 0x0008, 0x0010, 0x0000, 0x8066, 0x0000, - 0x0101, 0x0008, 0x4407, 0x0003, 0x8060, 0x0000, 0x0400, 0x0000, - 0x580d, 0x000b, 0x798e, 0x0003, 0x50db, 0x000b, 0x4c0a, 0x0003, - 0xbac0, 0x0009, 0x008a, 0x0000, 0x0c0a, 0x000b, 0x15fe, 0x0008, - 0x340a, 0x0003, 0xc4c0, 0x0009, 0x7000, 0x0000, 0xffa0, 0x0001, - 0x2000, 0x0000, 0x1627, 0x0003, 0x808c, 0x0008, 0x0001, 0x0000, - 0x0000, 0x0007, 0x4047, 0x000a, 0x808c, 0x0008, 0x0002, 0x0000, - 0x0821, 0x0003, 0x4022, 0x0000, 0x0022, 0x000b, 0x4122, 0x0008, - 0x4447, 0x0002, 0x0e4f, 0x000b, 0x0bfe, 0x0008, 0x11a0, 0x0001, - 0x122d, 0x000b, 0x0ca0, 0x0001, 0x122d, 0x000b, 0x9180, 0x0001, - 0x0004, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, - 0x8066, 0x0000, 0x0009, 0x0008, 0x4430, 0x000b, 0x808c, 0x0008, - 0x0000, 0x0008, 0x0060, 0x0008, 0x8062, 0x0008, 0x0004, 0x0000, - 0x8066, 0x0000, 0x0411, 0x0000, 0x4438, 0x0003, 0x03fe, 0x0000, - 0x43e0, 0x0001, 0x0e2a, 0x000b, 0xc2c0, 0x0009, 0x00ff, 0x0008, - 0x02e0, 0x0001, 0x0e2a, 0x000b, 0x9180, 0x0001, 0x0005, 0x0008, - 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, - 0x0019, 0x0000, 0x4447, 0x000b, 0x0240, 0x0002, 0x0a27, 0x000b, - 0x00fe, 0x0000, 0x322a, 0x000b, 0x112a, 0x0000, 0x002e, 0x0008, - 0x022c, 0x0008, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x808c, 0x0008, - 0x0002, 0x0000, 0x1760, 0x0008, 0x8062, 0x0008, 0x000f, 0x0008, - 0x8066, 0x0000, 0x0011, 0x0008, 0x4458, 0x0003, 0x01fe, 0x0008, - 0x42e0, 0x0009, 0x0e1d, 0x0003, 0x00fe, 0x0000, 0x43e0, 0x0001, - 0x0e1d, 0x0003, 0x1734, 0x0000, 0x1530, 0x0000, 0x1632, 0x0008, - 0x0d2a, 0x0008, 0x9880, 0x0001, 0x0010, 0x0000, 0x8060, 0x0000, - 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x1e0a, 0x0008, - 0x446a, 0x000b, 0x808a, 0x0008, 0x0003, 0x0008, 0x1a60, 0x0000, - 0x8062, 0x0008, 0x0002, 0x0000, 0x5870, 0x000b, 0x8066, 0x0000, - 0x3679, 0x0000, 0x4473, 0x0003, 0x5874, 0x0003, 0x3efe, 0x0008, - 0x7f4f, 0x0002, 0x087a, 0x000b, 0x0d00, 0x0000, 0x0082, 0x0004, - 0x8054, 0x0008, 0x0011, 0x0008, 0x8074, 0x0000, 0x1010, 0x0008, - 0x1efe, 0x0000, 0x300a, 0x000b, 0x00b8, 0x0004, 0x000a, 0x000b, - 0x00fe, 0x0000, 0x348a, 0x000b, 0x1a60, 0x0000, 0x8062, 0x0008, - 0x0007, 0x0000, 0x8066, 0x0000, 0x0231, 0x0008, 0x4489, 0x0003, - 0x03fe, 0x0000, 0x04d0, 0x0001, 0x0cb0, 0x0003, 0x82c0, 0x0001, - 0x1f00, 0x0000, 0xffa0, 0x0001, 0x0400, 0x0000, 0x089f, 0x0003, - 0x14b0, 0x0003, 0x01fe, 0x0008, 0x0580, 0x0009, 0x7f06, 0x0000, - 0x02fe, 0x0008, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x0690, 0x0001, - 0x109f, 0x0003, 0x7f08, 0x0008, 0x84c0, 0x0001, 0xff00, 0x0008, - 0x08b0, 0x000b, 0x00fe, 0x0000, 0x34a6, 0x0003, 0x8072, 0x0000, - 0x1010, 0x0008, 0x3944, 0x0002, 0x08a1, 0x000b, 0x00aa, 0x000b, - 0x8072, 0x0000, 0x2020, 0x0008, 0x3945, 0x000a, 0x08a6, 0x0003, - 0x3946, 0x000a, 0x0cb7, 0x000b, 0x0000, 0x0007, 0x3943, 0x000a, - 0x08b7, 0x0003, 0x00aa, 0x000b, 0x00fe, 0x0000, 0x34b5, 0x000b, - 0x8072, 0x0000, 0x1000, 0x0000, 0x00b7, 0x000b, 0x8072, 0x0000, - 0x2000, 0x0000, 0x4000, 0x000f, 0x1c60, 0x0000, 0x1b62, 0x0000, - 0x8066, 0x0000, 0x0231, 0x0008, 0x44bc, 0x0003, 0x58bd, 0x0003, - 0x0140, 0x0008, 0x0242, 0x0000, 0x1f43, 0x0002, 0x0ccb, 0x0003, - 0x0d44, 0x0000, 0x0d46, 0x0008, 0x0348, 0x0008, 0x044a, 0x0008, - 0x030a, 0x0008, 0x040c, 0x0000, 0x0d06, 0x0000, 0x0d08, 0x0008, - 0x00cf, 0x000b, 0x0344, 0x0008, 0x0446, 0x0008, 0x0548, 0x0008, - 0x064a, 0x0000, 0x58cf, 0x0003, 0x3efe, 0x0008, 0x7f4f, 0x0002, - 0x08d6, 0x000b, 0x8000, 0x0000, 0x0001, 0x0000, 0x0082, 0x0004, - 0x8054, 0x0008, 0x0001, 0x0000, 0x8074, 0x0000, 0x2020, 0x0008, - 0x4000, 0x000f, 0x3a40, 0x000a, 0x0c0d, 0x0003, 0x2b24, 0x0008, - 0x2b24, 0x0008, 0x58df, 0x000b, 0x8054, 0x0008, 0x0002, 0x0000, - 0x1242, 0x0002, 0x092d, 0x000b, 0x3a45, 0x000a, 0x091c, 0x0003, - 0x8072, 0x0000, 0x1000, 0x0000, 0x3945, 0x000a, 0x08ec, 0x000b, - 0x8072, 0x0000, 0x3010, 0x0000, 0x1e10, 0x000a, 0x7f3c, 0x0000, - 0x0917, 0x000b, 0x1d00, 0x0002, 0x7f3a, 0x0000, 0x0d60, 0x0000, - 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x44f5, 0x000b, - 0x00fe, 0x0000, 0x3514, 0x000b, 0x1c60, 0x0000, 0x8062, 0x0008, - 0x0001, 0x0000, 0x8066, 0x0000, 0x0009, 0x0008, 0x44fd, 0x0003, - 0x00fe, 0x0000, 0x3204, 0x000b, 0x0038, 0x0000, 0x0060, 0x0008, - 0x8062, 0x0008, 0x0019, 0x0000, 0x8066, 0x0000, 0x0009, 0x0008, - 0x4506, 0x0003, 0x80c0, 0x0009, 0x00ff, 0x0008, 0x7f3e, 0x0008, - 0x0d60, 0x0000, 0x0efe, 0x0008, 0x1f80, 0x0001, 0x7f62, 0x0008, - 0x8066, 0x0000, 0x0009, 0x0008, 0x4510, 0x000b, 0x003a, 0x0008, - 0x1dfe, 0x0000, 0x00f1, 0x0003, 0x0036, 0x0008, 0x00b8, 0x0004, - 0x012d, 0x0003, 0x8074, 0x0000, 0x2000, 0x0000, 0x8072, 0x0000, - 0x2000, 0x0000, 0x012d, 0x0003, 0x3a44, 0x0002, 0x0a30, 0x000b, - 0x8074, 0x0000, 0x1000, 0x0000, 0x8072, 0x0000, 0x1000, 0x0000, - 0x2d0e, 0x0000, 0x2d0e, 0x0000, 0x3601, 0x0003, 0x26fe, 0x0008, - 0x26fe, 0x0008, 0x2700, 0x0008, 0x2700, 0x0008, 0x00d0, 0x0009, - 0x0d3f, 0x0003, 0x8074, 0x0000, 0x4040, 0x0008, 0x592d, 0x000b, - 0x50db, 0x000b, 0x3a46, 0x000a, 0x0d3f, 0x0003, 0x3a47, 0x0002, - 0x093a, 0x000b, 0x8054, 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, - 0x8000, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0182, 0x0003, - 0x92c0, 0x0009, 0x0fc8, 0x0000, 0x080a, 0x0003, 0x1246, 0x000a, - 0x0dfb, 0x000b, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0002, 0x0000, - 0x8066, 0x0000, 0x362a, 0x0000, 0x4544, 0x0003, 0x2000, 0x0000, - 0x2000, 0x0000, 0x2102, 0x0000, 0x2102, 0x0000, 0x2204, 0x0000, - 0x2204, 0x0000, 0x2306, 0x0000, 0x2306, 0x0000, 0x2408, 0x0000, - 0x2408, 0x0000, 0x250a, 0x0000, 0x250a, 0x0000, 0x260c, 0x0000, - 0x260c, 0x0000, 0x270e, 0x0000, 0x270e, 0x0000, 0x2810, 0x0000, - 0x2810, 0x0000, 0x2912, 0x0000, 0x2912, 0x0000, 0x1a60, 0x0000, - 0x8062, 0x0008, 0x0007, 0x0000, 0x8066, 0x0000, 0x0052, 0x0000, - 0x455e, 0x000b, 0x92c0, 0x0009, 0x0780, 0x0008, 0x0e17, 0x0003, - 0x124b, 0x0002, 0x0967, 0x0003, 0x2e4d, 0x0002, 0x2e4d, 0x0002, - 0x0a01, 0x0003, 0x3a46, 0x000a, 0x0d74, 0x0003, 0x5969, 0x000b, - 0x8054, 0x0008, 0x0004, 0x0000, 0x1243, 0x000a, 0x097e, 0x000b, - 0x8010, 0x0008, 0x000d, 0x0000, 0x01ef, 0x0004, 0x1810, 0x0000, - 0x01ef, 0x0004, 0x017e, 0x0003, 0x194d, 0x000a, 0x0978, 0x000b, - 0x1243, 0x000a, 0x0a0b, 0x0003, 0x5978, 0x000b, 0x8054, 0x0008, - 0x0004, 0x0000, 0x01e4, 0x000c, 0x1810, 0x0000, 0x01ef, 0x0004, - 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, 0x0000, 0x3000, 0x0008, - 0x0d30, 0x0000, 0x3a42, 0x0002, 0x0d88, 0x0003, 0x15fe, 0x0008, - 0x3451, 0x000b, 0x000a, 0x000b, 0x8074, 0x0000, 0x0501, 0x0000, - 0x8010, 0x0008, 0x000c, 0x0008, 0x01ef, 0x0004, 0x000a, 0x000b, - 0xbbe0, 0x0009, 0x0030, 0x0008, 0x0d9e, 0x000b, 0x18fe, 0x0000, - 0x3ce0, 0x0009, 0x099b, 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, - 0x099b, 0x0003, 0x01df, 0x0004, 0x8076, 0x0008, 0x0040, 0x0000, - 0x01dc, 0x000b, 0x8076, 0x0008, 0x0041, 0x0008, 0x01dc, 0x000b, - 0xbbe0, 0x0009, 0x0032, 0x0000, 0x0da3, 0x0003, 0x3c1e, 0x0008, - 0x01dc, 0x000b, 0xbbe0, 0x0009, 0x0037, 0x0000, 0x0dc1, 0x000b, - 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x0d9b, 0x000b, 0x8076, 0x0008, - 0x0040, 0x0000, 0x1a60, 0x0000, 0x8062, 0x0008, 0x000d, 0x0000, - 0x2604, 0x0008, 0x2604, 0x0008, 0x2706, 0x0008, 0x2706, 0x0008, - 0x2808, 0x0000, 0x2808, 0x0000, 0x290a, 0x0000, 0x290a, 0x0000, - 0x8066, 0x0000, 0x0422, 0x0000, 0x45b8, 0x0003, 0x01e4, 0x000c, - 0x8054, 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, 0xf000, 0x0008, - 0x8072, 0x0000, 0xb000, 0x0000, 0x0182, 0x0003, 0xbbe0, 0x0009, - 0x0038, 0x0000, 0x0dd3, 0x000b, 0x18fe, 0x0000, 0x3ce0, 0x0009, - 0x09d0, 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x0d97, 0x000b, - 0x01df, 0x0004, 0x8076, 0x0008, 0x0040, 0x0000, 0x8072, 0x0000, - 0x8000, 0x0000, 0x0227, 0x0003, 0x8076, 0x0008, 0x0042, 0x0008, - 0x01dc, 0x000b, 0xbbe0, 0x0009, 0x0016, 0x0000, 0x0ddc, 0x000b, - 0x3a44, 0x0002, 0x0c0c, 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, - 0x8000, 0x000f, 0x000a, 0x000b, 0x8072, 0x0000, 0x8000, 0x0000, - 0x000a, 0x000b, 0x3d30, 0x000a, 0x7f00, 0x0000, 0xbc80, 0x0001, - 0x0007, 0x0000, 0x01e8, 0x0003, 0x1930, 0x000a, 0x7f00, 0x0000, - 0x9880, 0x0001, 0x0007, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, - 0x7f62, 0x0008, 0x8066, 0x0000, 0x000a, 0x0008, 0x45ed, 0x0003, - 0x4000, 0x000f, 0x21ef, 0x0003, 0x0870, 0x0008, 0x4000, 0x000f, - 0xbac0, 0x0009, 0x0090, 0x0008, 0x09f8, 0x0003, 0x8074, 0x0000, - 0x0706, 0x0000, 0x01fa, 0x0003, 0x8074, 0x0000, 0x0703, 0x0000, - 0x4000, 0x000f, 0x8010, 0x0008, 0x0023, 0x0000, 0x0235, 0x0003, - 0x8010, 0x0008, 0x0008, 0x0000, 0x0235, 0x0003, 0x8010, 0x0008, - 0x0022, 0x0008, 0x0235, 0x0003, 0x01e4, 0x000c, 0x8010, 0x0008, - 0x0007, 0x0000, 0x01ef, 0x0004, 0x1810, 0x0000, 0x01ef, 0x0004, - 0x0241, 0x0003, 0x01e4, 0x000c, 0x8010, 0x0008, 0x001b, 0x0008, - 0x01ef, 0x0004, 0x1810, 0x0000, 0x01ef, 0x0004, 0x8074, 0x0000, - 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0d30, 0x0000, - 0x000a, 0x000b, 0x8010, 0x0008, 0x0009, 0x0008, 0x0235, 0x0003, - 0x8010, 0x0008, 0x0005, 0x0008, 0x0235, 0x0003, 0x808c, 0x0008, - 0x0001, 0x0000, 0x8010, 0x0008, 0x0004, 0x0000, 0x4143, 0x000a, - 0x085f, 0x0003, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x0d2a, 0x0008, - 0x0235, 0x0003, 0x8010, 0x0008, 0x0003, 0x0008, 0x0239, 0x0003, - 0x8010, 0x0008, 0x000b, 0x0000, 0x0239, 0x0003, 0x8010, 0x0008, - 0x0002, 0x0000, 0x0239, 0x0003, 0x3a47, 0x0002, 0x0d2d, 0x0003, - 0x8010, 0x0008, 0x0006, 0x0008, 0x0239, 0x0003, 0x8074, 0x0000, - 0xf000, 0x0008, 0x8072, 0x0000, 0x3000, 0x0008, 0x01ef, 0x0004, - 0x01f2, 0x0004, 0x3a40, 0x000a, 0x080a, 0x0003, 0x8010, 0x0008, - 0x000c, 0x0008, 0x01ef, 0x0004, 0x000a, 0x000b, 0x8074, 0x0000, - 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0d30, 0x0000, - 0x2e4d, 0x0002, 0x2e4d, 0x0002, 0x0a4c, 0x0003, 0x8054, 0x0008, - 0x0019, 0x0000, 0x000a, 0x000b, 0x8054, 0x0008, 0x0009, 0x0008, - 0x000a, 0x000b, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x022a, 0x000b, - 0x15b6, 0xf4ac, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, - 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x2000, - 0x4000, 0x8000, 0x0a42 + 0xd5f4, 0xd5f6, 0xd5f4, 0xd5f6, 0xd5f6, 0xd5f4, 0xd5f6, 0xd5f4, + 0xd5f4, 0xd5f4, 0xd5f4, 0xd5f4, 0x9006, 0x0005, 0x9085, 0x0001, + 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd60d, + 0xd60d, 0xd60d, 0xd60d, 0xd60d, 0xd60d, 0xd61a, 0xd60d, 0xd60d, + 0xd60d, 0xd60d, 0xd60d, 0xd60d, 0xd60d, 0x6007, 0x003b, 0x602f, + 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x080c, 0x83f8, 0x080c, + 0x898b, 0x0005, 0x0096, 0x00c6, 0x2260, 0x080c, 0xd7c1, 0x6043, + 0x0000, 0x6024, 0xc0f4, 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, + 0x00d6, 0x2268, 0x9186, 0x0007, 0x1904, 0xd673, 0x6814, 0x9005, + 0x0138, 0x2048, 0xa87c, 0xd0fc, 0x1118, 0x00de, 0x009e, 0x08a8, + 0x6007, 0x003a, 0x6003, 0x0001, 0x080c, 0x83f8, 0x080c, 0x898b, + 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x1904, 0xd6ea, 0x6014, + 0x9005, 0x1138, 0x6000, 0x9086, 0x0007, 0x190c, 0x0db4, 0x0804, + 0xd6ea, 0x2048, 0x080c, 0xbb3b, 0x1130, 0x0028, 0x2048, 0xa800, + 0x9005, 0x1de0, 0x2900, 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, + 0x0002, 0x1168, 0xa87c, 0xc0dc, 0xc0f4, 0xa87e, 0xa880, 0xc0fc, + 0xa882, 0x2009, 0x0043, 0x080c, 0xcf73, 0x0804, 0xd6ea, 0x2009, + 0x0041, 0x0804, 0xd6e4, 0x9186, 0x0005, 0x15a0, 0x6814, 0x2048, + 0xa87c, 0xd0bc, 0x1120, 0x00de, 0x009e, 0x0804, 0xd60d, 0xd0b4, + 0x0128, 0xd0fc, 0x090c, 0x0db4, 0x0804, 0xd62e, 0x6007, 0x003a, + 0x6003, 0x0001, 0x080c, 0x83f8, 0x080c, 0x898b, 0x00c6, 0x2d60, + 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, 0x0004, 0x1904, 0xd6ea, + 0x6814, 0x2048, 0xa97c, 0xc1f4, 0xc1dc, 0xa97e, 0xa980, 0xc1fc, + 0xc1bc, 0xa982, 0x00f6, 0x2c78, 0x080c, 0x164a, 0x00fe, 0x2009, + 0x0042, 0x04d0, 0x0036, 0x080c, 0x0feb, 0x090c, 0x0db4, 0xa867, + 0x010d, 0x9006, 0xa802, 0xa86a, 0xa88a, 0x2d18, 0xab8e, 0xa887, + 0x0045, 0x2c00, 0xa892, 0x6038, 0xa8a2, 0x2360, 0x6024, 0xc0dd, + 0x6026, 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x2004, 0x6354, + 0xab7a, 0xa876, 0x9006, 0xa87e, 0xa882, 0xad9a, 0xae96, 0xa89f, + 0x0001, 0x080c, 0x68a0, 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, + 0xd11f, 0x2d00, 0x600a, 0x6023, 0x0006, 0x6003, 0x0007, 0x901e, + 0x631a, 0x6342, 0x003e, 0x0038, 0x6043, 0x0000, 0x6003, 0x0007, + 0x080c, 0xcf73, 0x00ce, 0x00de, 0x009e, 0x0005, 0x9186, 0x0013, + 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, 0x00c2, 0x9186, 0x0027, + 0x1178, 0x080c, 0x887f, 0x0036, 0x0096, 0x6014, 0x2048, 0x2019, + 0x0004, 0x080c, 0xd50f, 0x009e, 0x003e, 0x080c, 0x898b, 0x0005, + 0x9186, 0x0014, 0x0d70, 0x080c, 0x9ec4, 0x0005, 0xd71d, 0xd71b, + 0xd71b, 0xd71b, 0xd71b, 0xd71b, 0xd71d, 0xd71b, 0xd71b, 0xd71b, + 0xd71b, 0xd71b, 0xd71b, 0x080c, 0x0db4, 0x080c, 0x887f, 0x6003, + 0x000c, 0x080c, 0x898b, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, + 0x0085, 0x0208, 0x001a, 0x080c, 0x9ec4, 0x0005, 0xd73b, 0xd73b, + 0xd73b, 0xd73b, 0xd73d, 0xd75d, 0xd73b, 0xd73b, 0xd73b, 0xd73b, + 0xd73b, 0xd73b, 0xd73b, 0x080c, 0x0db4, 0x00d6, 0x2c68, 0x080c, + 0x9dd9, 0x01b0, 0x6003, 0x0001, 0x6007, 0x001e, 0x2009, 0x026e, + 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x600b, 0xffff, + 0x6910, 0x6112, 0x6023, 0x0004, 0x080c, 0x83f8, 0x080c, 0x898b, + 0x2d60, 0x080c, 0x9e2f, 0x00de, 0x0005, 0x080c, 0x9e2f, 0x0005, + 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ec, 0x00ee, + 0x0005, 0x2009, 0x187b, 0x210c, 0xd1ec, 0x05b0, 0x6003, 0x0002, + 0x6024, 0xc0e5, 0x6026, 0xd0cc, 0x0150, 0x2001, 0x1960, 0x2004, + 0x6042, 0x2009, 0x187b, 0x210c, 0xd1f4, 0x1520, 0x00a0, 0x2009, + 0x187b, 0x210c, 0xd1f4, 0x0128, 0x6024, 0xc0e4, 0x6026, 0x9006, + 0x00d8, 0x2001, 0x1960, 0x200c, 0x2001, 0x195e, 0x2004, 0x9100, + 0x9080, 0x000a, 0x6042, 0x6010, 0x00b6, 0x2058, 0xb8ac, 0x00be, + 0x0008, 0x2104, 0x9005, 0x0118, 0x9088, 0x0003, 0x0cd0, 0x2c0a, + 0x600f, 0x0000, 0x9085, 0x0001, 0x0005, 0x0016, 0x00c6, 0x00e6, + 0x6154, 0xb8ac, 0x2060, 0x8cff, 0x0180, 0x84ff, 0x1118, 0x6054, + 0x9106, 0x1138, 0x600c, 0x2072, 0x080c, 0x820b, 0x080c, 0x9e2f, + 0x0010, 0x9cf0, 0x0003, 0x2e64, 0x0c70, 0x00ee, 0x00ce, 0x001e, + 0x0005, 0x00d6, 0x00b6, 0x6010, 0x2058, 0xb8ac, 0x2068, 0x9005, + 0x0130, 0x9c06, 0x0110, 0x680c, 0x0cd0, 0x600c, 0x680e, 0x00be, + 0x00de, 0x0005, 0x0026, 0x0036, 0x0156, 0x2011, 0x182b, 0x2204, + 0x9084, 0x00ff, 0x2019, 0x026e, 0x2334, 0x9636, 0x1508, 0x8318, + 0x2334, 0x2204, 0x9084, 0xff00, 0x9636, 0x11d0, 0x2011, 0x0270, + 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, + 0xae1c, 0x009e, 0x1168, 0x2011, 0x0274, 0x20a9, 0x0004, 0x6010, + 0x0096, 0x2048, 0x2019, 0x0006, 0x080c, 0xae1c, 0x009e, 0x1100, + 0x015e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, + 0x5c78, 0x080c, 0x2dc8, 0x00ee, 0x0005, 0x00e6, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0fc, 0x0108, 0x0011, 0x00ee, 0x0005, + 0xa880, 0xc0e5, 0xa882, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0076, + 0x0066, 0x0056, 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, 0x8000, + 0x2029, 0x19c8, 0x252c, 0x2021, 0x19ce, 0x2424, 0x2061, 0x1cd0, + 0x2071, 0x1800, 0x7650, 0x7070, 0x9606, 0x0578, 0x6720, 0x9786, + 0x0001, 0x0118, 0x9786, 0x0008, 0x1500, 0x2500, 0x9c06, 0x01e8, + 0x2400, 0x9c06, 0x01d0, 0x080c, 0xd595, 0x01b8, 0x080c, 0xd5a5, + 0x11a0, 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x191f, + 0x001e, 0x080c, 0xbd30, 0x1110, 0x080c, 0x3010, 0x080c, 0xbd41, + 0x1110, 0x080c, 0xa7cd, 0x080c, 0x9e5f, 0x9ce0, 0x0018, 0x2001, + 0x1819, 0x2004, 0x9c02, 0x1208, 0x0858, 0x012e, 0x001e, 0x002e, + 0x004e, 0x005e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x0005, + 0x2001, 0x1810, 0x2004, 0xd0dc, 0x0005, 0x0006, 0x2001, 0x1836, + 0x2004, 0xd09c, 0x000e, 0x0005, 0x0006, 0x0036, 0x0046, 0x080c, + 0xc23b, 0x0168, 0x2019, 0xffff, 0x9005, 0x0128, 0x6010, 0x00b6, + 0x2058, 0xbba0, 0x00be, 0x2021, 0x0004, 0x080c, 0x4a91, 0x004e, + 0x003e, 0x000e, 0x6004, 0x9086, 0x0001, 0x1128, 0x080c, 0x9915, + 0x080c, 0x9e5f, 0x9006, 0x0005, 0x00e6, 0x00c6, 0x00b6, 0x0046, + 0x2061, 0x1cd0, 0x2071, 0x1800, 0x7450, 0x7070, 0x8001, 0x9402, + 0x12b8, 0x2100, 0x9c06, 0x0148, 0x6000, 0x9086, 0x0000, 0x0128, + 0x6010, 0x2058, 0xb8a0, 0x9206, 0x0140, 0x9ce0, 0x0018, 0x2001, + 0x1819, 0x2004, 0x9c02, 0x1220, 0x0c60, 0x9085, 0x0001, 0x0008, + 0x9006, 0x004e, 0x00be, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0006, + 0x00e6, 0x0016, 0x2091, 0x8000, 0x2071, 0x1840, 0xd5a4, 0x0118, + 0x7054, 0x8000, 0x7056, 0xd5b4, 0x0118, 0x7050, 0x8000, 0x7052, + 0xd5ac, 0x0178, 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, 0x0148, + 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, 0x184a, + 0x0089, 0x001e, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, 0x0006, + 0x00e6, 0x2091, 0x8000, 0x2071, 0x1842, 0x0021, 0x00ee, 0x000e, + 0x012e, 0x0005, 0x2e04, 0x8000, 0x2072, 0x1220, 0x8e70, 0x2e04, + 0x8000, 0x2072, 0x0005, 0x00e6, 0x2071, 0x1840, 0x0c99, 0x00ee, + 0x0005, 0x00e6, 0x2071, 0x1844, 0x0c69, 0x00ee, 0x0005, 0x0126, + 0x0006, 0x00e6, 0x2091, 0x8000, 0x2071, 0x1840, 0x7064, 0x8000, + 0x7066, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0003, 0x000b, 0x04a6, + 0x0000, 0xc000, 0x0001, 0x8064, 0x0008, 0x0010, 0x0000, 0x8066, + 0x0000, 0x0101, 0x0008, 0x4407, 0x0003, 0x8060, 0x0000, 0x0400, + 0x0000, 0x580d, 0x000b, 0x798e, 0x0003, 0x50db, 0x000b, 0x4c0a, + 0x0003, 0xbac0, 0x0009, 0x008a, 0x0000, 0x0c0a, 0x000b, 0x15fe, + 0x0008, 0x340a, 0x0003, 0xc4c0, 0x0009, 0x7000, 0x0000, 0xffa0, + 0x0001, 0x2000, 0x0000, 0x1627, 0x0003, 0x808c, 0x0008, 0x0001, + 0x0000, 0x0000, 0x0007, 0x4047, 0x000a, 0x808c, 0x0008, 0x0002, + 0x0000, 0x0821, 0x0003, 0x4022, 0x0000, 0x0022, 0x000b, 0x4122, + 0x0008, 0x4447, 0x0002, 0x0e4f, 0x000b, 0x0bfe, 0x0008, 0x11a0, + 0x0001, 0x122d, 0x000b, 0x0ca0, 0x0001, 0x122d, 0x000b, 0x9180, + 0x0001, 0x0004, 0x0000, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4430, 0x000b, 0x808c, + 0x0008, 0x0000, 0x0008, 0x0060, 0x0008, 0x8062, 0x0008, 0x0004, + 0x0000, 0x8066, 0x0000, 0x0411, 0x0000, 0x4438, 0x0003, 0x03fe, + 0x0000, 0x43e0, 0x0001, 0x0e2a, 0x000b, 0xc2c0, 0x0009, 0x00ff, + 0x0008, 0x02e0, 0x0001, 0x0e2a, 0x000b, 0x9180, 0x0001, 0x0005, + 0x0008, 0x8060, 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, + 0x0000, 0x0019, 0x0000, 0x4447, 0x000b, 0x0240, 0x0002, 0x0a27, + 0x000b, 0x00fe, 0x0000, 0x322a, 0x000b, 0x112a, 0x0000, 0x002e, + 0x0008, 0x022c, 0x0008, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x808c, + 0x0008, 0x0002, 0x0000, 0x1760, 0x0008, 0x8062, 0x0008, 0x000f, + 0x0008, 0x8066, 0x0000, 0x0011, 0x0008, 0x4458, 0x0003, 0x01fe, + 0x0008, 0x42e0, 0x0009, 0x0e1d, 0x0003, 0x00fe, 0x0000, 0x43e0, + 0x0001, 0x0e1d, 0x0003, 0x1734, 0x0000, 0x1530, 0x0000, 0x1632, + 0x0008, 0x0d2a, 0x0008, 0x9880, 0x0001, 0x0010, 0x0000, 0x8060, + 0x0000, 0x0400, 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x1e0a, + 0x0008, 0x446a, 0x000b, 0x808a, 0x0008, 0x0003, 0x0008, 0x1a60, + 0x0000, 0x8062, 0x0008, 0x0002, 0x0000, 0x5870, 0x000b, 0x8066, + 0x0000, 0x3679, 0x0000, 0x4473, 0x0003, 0x5874, 0x0003, 0x3efe, + 0x0008, 0x7f4f, 0x0002, 0x087a, 0x000b, 0x0d00, 0x0000, 0x0082, + 0x0004, 0x8054, 0x0008, 0x0011, 0x0008, 0x8074, 0x0000, 0x1010, + 0x0008, 0x1efe, 0x0000, 0x300a, 0x000b, 0x00b8, 0x0004, 0x000a, + 0x000b, 0x00fe, 0x0000, 0x348a, 0x000b, 0x1a60, 0x0000, 0x8062, + 0x0008, 0x0007, 0x0000, 0x8066, 0x0000, 0x0231, 0x0008, 0x4489, + 0x0003, 0x03fe, 0x0000, 0x04d0, 0x0001, 0x0cb0, 0x0003, 0x82c0, + 0x0001, 0x1f00, 0x0000, 0xffa0, 0x0001, 0x0400, 0x0000, 0x089f, + 0x0003, 0x14b0, 0x0003, 0x01fe, 0x0008, 0x0580, 0x0009, 0x7f06, + 0x0000, 0x02fe, 0x0008, 0xffc0, 0x0001, 0x00ff, 0x0008, 0x0690, + 0x0001, 0x109f, 0x0003, 0x7f08, 0x0008, 0x84c0, 0x0001, 0xff00, + 0x0008, 0x08b0, 0x000b, 0x00fe, 0x0000, 0x34a6, 0x0003, 0x8072, + 0x0000, 0x1010, 0x0008, 0x3944, 0x0002, 0x08a1, 0x000b, 0x00aa, + 0x000b, 0x8072, 0x0000, 0x2020, 0x0008, 0x3945, 0x000a, 0x08a6, + 0x0003, 0x3946, 0x000a, 0x0cb7, 0x000b, 0x0000, 0x0007, 0x3943, + 0x000a, 0x08b7, 0x0003, 0x00aa, 0x000b, 0x00fe, 0x0000, 0x34b5, + 0x000b, 0x8072, 0x0000, 0x1000, 0x0000, 0x00b7, 0x000b, 0x8072, + 0x0000, 0x2000, 0x0000, 0x4000, 0x000f, 0x1c60, 0x0000, 0x1b62, + 0x0000, 0x8066, 0x0000, 0x0231, 0x0008, 0x44bc, 0x0003, 0x58bd, + 0x0003, 0x0140, 0x0008, 0x0242, 0x0000, 0x1f43, 0x0002, 0x0ccb, + 0x0003, 0x0d44, 0x0000, 0x0d46, 0x0008, 0x0348, 0x0008, 0x044a, + 0x0008, 0x030a, 0x0008, 0x040c, 0x0000, 0x0d06, 0x0000, 0x0d08, + 0x0008, 0x00cf, 0x000b, 0x0344, 0x0008, 0x0446, 0x0008, 0x0548, + 0x0008, 0x064a, 0x0000, 0x58cf, 0x0003, 0x3efe, 0x0008, 0x7f4f, + 0x0002, 0x08d6, 0x000b, 0x8000, 0x0000, 0x0001, 0x0000, 0x0082, + 0x0004, 0x8054, 0x0008, 0x0001, 0x0000, 0x8074, 0x0000, 0x2020, + 0x0008, 0x4000, 0x000f, 0x3a40, 0x000a, 0x0c0d, 0x0003, 0x2b24, + 0x0008, 0x2b24, 0x0008, 0x58df, 0x000b, 0x8054, 0x0008, 0x0002, + 0x0000, 0x1242, 0x0002, 0x092d, 0x000b, 0x3a45, 0x000a, 0x091c, + 0x0003, 0x8072, 0x0000, 0x1000, 0x0000, 0x3945, 0x000a, 0x08ec, + 0x000b, 0x8072, 0x0000, 0x3010, 0x0000, 0x1e10, 0x000a, 0x7f3c, + 0x0000, 0x0917, 0x000b, 0x1d00, 0x0002, 0x7f3a, 0x0000, 0x0d60, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x44f5, + 0x000b, 0x00fe, 0x0000, 0x3514, 0x000b, 0x1c60, 0x0000, 0x8062, + 0x0008, 0x0001, 0x0000, 0x8066, 0x0000, 0x0009, 0x0008, 0x44fd, + 0x0003, 0x00fe, 0x0000, 0x3204, 0x000b, 0x0038, 0x0000, 0x0060, + 0x0008, 0x8062, 0x0008, 0x0019, 0x0000, 0x8066, 0x0000, 0x0009, + 0x0008, 0x4506, 0x0003, 0x80c0, 0x0009, 0x00ff, 0x0008, 0x7f3e, + 0x0008, 0x0d60, 0x0000, 0x0efe, 0x0008, 0x1f80, 0x0001, 0x7f62, + 0x0008, 0x8066, 0x0000, 0x0009, 0x0008, 0x4510, 0x000b, 0x003a, + 0x0008, 0x1dfe, 0x0000, 0x00f1, 0x0003, 0x0036, 0x0008, 0x00b8, + 0x0004, 0x012d, 0x0003, 0x8074, 0x0000, 0x2000, 0x0000, 0x8072, + 0x0000, 0x2000, 0x0000, 0x012d, 0x0003, 0x3a44, 0x0002, 0x0a30, + 0x000b, 0x8074, 0x0000, 0x1000, 0x0000, 0x8072, 0x0000, 0x1000, + 0x0000, 0x2d0e, 0x0000, 0x2d0e, 0x0000, 0x3601, 0x0003, 0x26fe, + 0x0008, 0x26fe, 0x0008, 0x2700, 0x0008, 0x2700, 0x0008, 0x00d0, + 0x0009, 0x0d3f, 0x0003, 0x8074, 0x0000, 0x4040, 0x0008, 0x592d, + 0x000b, 0x50db, 0x000b, 0x3a46, 0x000a, 0x0d3f, 0x0003, 0x3a47, + 0x0002, 0x093a, 0x000b, 0x8054, 0x0008, 0x0004, 0x0000, 0x8074, + 0x0000, 0x8000, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0182, + 0x0003, 0x92c0, 0x0009, 0x0fc8, 0x0000, 0x080a, 0x0003, 0x1246, + 0x000a, 0x0dfb, 0x000b, 0x1a60, 0x0000, 0x8062, 0x0008, 0x0002, + 0x0000, 0x8066, 0x0000, 0x362a, 0x0000, 0x4544, 0x0003, 0x2000, + 0x0000, 0x2000, 0x0000, 0x2102, 0x0000, 0x2102, 0x0000, 0x2204, + 0x0000, 0x2204, 0x0000, 0x2306, 0x0000, 0x2306, 0x0000, 0x2408, + 0x0000, 0x2408, 0x0000, 0x250a, 0x0000, 0x250a, 0x0000, 0x260c, + 0x0000, 0x260c, 0x0000, 0x270e, 0x0000, 0x270e, 0x0000, 0x2810, + 0x0000, 0x2810, 0x0000, 0x2912, 0x0000, 0x2912, 0x0000, 0x1a60, + 0x0000, 0x8062, 0x0008, 0x0007, 0x0000, 0x8066, 0x0000, 0x0052, + 0x0000, 0x455e, 0x000b, 0x92c0, 0x0009, 0x0780, 0x0008, 0x0e17, + 0x0003, 0x124b, 0x0002, 0x0967, 0x0003, 0x2e4d, 0x0002, 0x2e4d, + 0x0002, 0x0a01, 0x0003, 0x3a46, 0x000a, 0x0d74, 0x0003, 0x5969, + 0x000b, 0x8054, 0x0008, 0x0004, 0x0000, 0x1243, 0x000a, 0x097e, + 0x000b, 0x8010, 0x0008, 0x000d, 0x0000, 0x01ef, 0x0004, 0x1810, + 0x0000, 0x01ef, 0x0004, 0x017e, 0x0003, 0x194d, 0x000a, 0x0978, + 0x000b, 0x1243, 0x000a, 0x0a0b, 0x0003, 0x5978, 0x000b, 0x8054, + 0x0008, 0x0004, 0x0000, 0x01e4, 0x000c, 0x1810, 0x0000, 0x01ef, + 0x0004, 0x8074, 0x0000, 0xf000, 0x0008, 0x8072, 0x0000, 0x3000, + 0x0008, 0x0d30, 0x0000, 0x3a42, 0x0002, 0x0d88, 0x0003, 0x15fe, + 0x0008, 0x3451, 0x000b, 0x000a, 0x000b, 0x8074, 0x0000, 0x0501, + 0x0000, 0x8010, 0x0008, 0x000c, 0x0008, 0x01ef, 0x0004, 0x000a, + 0x000b, 0xbbe0, 0x0009, 0x0030, 0x0008, 0x0d9e, 0x000b, 0x18fe, + 0x0000, 0x3ce0, 0x0009, 0x099b, 0x0003, 0x15fe, 0x0008, 0x3ce0, + 0x0009, 0x099b, 0x0003, 0x01df, 0x0004, 0x8076, 0x0008, 0x0040, + 0x0000, 0x01dc, 0x000b, 0x8076, 0x0008, 0x0041, 0x0008, 0x01dc, + 0x000b, 0xbbe0, 0x0009, 0x0032, 0x0000, 0x0da3, 0x0003, 0x3c1e, + 0x0008, 0x01dc, 0x000b, 0xbbe0, 0x0009, 0x0037, 0x0000, 0x0dc1, + 0x000b, 0x18fe, 0x0000, 0x3ce0, 0x0009, 0x0d9b, 0x000b, 0x8076, + 0x0008, 0x0040, 0x0000, 0x1a60, 0x0000, 0x8062, 0x0008, 0x000d, + 0x0000, 0x2604, 0x0008, 0x2604, 0x0008, 0x2706, 0x0008, 0x2706, + 0x0008, 0x2808, 0x0000, 0x2808, 0x0000, 0x290a, 0x0000, 0x290a, + 0x0000, 0x8066, 0x0000, 0x0422, 0x0000, 0x45b8, 0x0003, 0x01e4, + 0x000c, 0x8054, 0x0008, 0x0004, 0x0000, 0x8074, 0x0000, 0xf000, + 0x0008, 0x8072, 0x0000, 0xb000, 0x0000, 0x0182, 0x0003, 0xbbe0, + 0x0009, 0x0038, 0x0000, 0x0dd3, 0x000b, 0x18fe, 0x0000, 0x3ce0, + 0x0009, 0x09d0, 0x0003, 0x15fe, 0x0008, 0x3ce0, 0x0009, 0x0d97, + 0x000b, 0x01df, 0x0004, 0x8076, 0x0008, 0x0040, 0x0000, 0x8072, + 0x0000, 0x8000, 0x0000, 0x0227, 0x0003, 0x8076, 0x0008, 0x0042, + 0x0008, 0x01dc, 0x000b, 0xbbe0, 0x0009, 0x0016, 0x0000, 0x0ddc, + 0x000b, 0x3a44, 0x0002, 0x0c0c, 0x000b, 0x8072, 0x0000, 0x8000, + 0x0000, 0x8000, 0x000f, 0x000a, 0x000b, 0x8072, 0x0000, 0x8000, + 0x0000, 0x000a, 0x000b, 0x3d30, 0x000a, 0x7f00, 0x0000, 0xbc80, + 0x0001, 0x0007, 0x0000, 0x01e8, 0x0003, 0x1930, 0x000a, 0x7f00, + 0x0000, 0x9880, 0x0001, 0x0007, 0x0000, 0x8060, 0x0000, 0x0400, + 0x0000, 0x7f62, 0x0008, 0x8066, 0x0000, 0x000a, 0x0008, 0x45ed, + 0x0003, 0x4000, 0x000f, 0x21ef, 0x0003, 0x0870, 0x0008, 0x4000, + 0x000f, 0xbac0, 0x0009, 0x0090, 0x0008, 0x09f8, 0x0003, 0x8074, + 0x0000, 0x0706, 0x0000, 0x01fa, 0x0003, 0x8074, 0x0000, 0x0703, + 0x0000, 0x4000, 0x000f, 0x8010, 0x0008, 0x0023, 0x0000, 0x0235, + 0x0003, 0x8010, 0x0008, 0x0008, 0x0000, 0x0235, 0x0003, 0x8010, + 0x0008, 0x0022, 0x0008, 0x0235, 0x0003, 0x01e4, 0x000c, 0x8010, + 0x0008, 0x0007, 0x0000, 0x01ef, 0x0004, 0x1810, 0x0000, 0x01ef, + 0x0004, 0x0241, 0x0003, 0x01e4, 0x000c, 0x8010, 0x0008, 0x001b, + 0x0008, 0x01ef, 0x0004, 0x1810, 0x0000, 0x01ef, 0x0004, 0x8074, + 0x0000, 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0d30, + 0x0000, 0x000a, 0x000b, 0x8010, 0x0008, 0x0009, 0x0008, 0x0235, + 0x0003, 0x8010, 0x0008, 0x0005, 0x0008, 0x0235, 0x0003, 0x808c, + 0x0008, 0x0001, 0x0000, 0x8010, 0x0008, 0x0004, 0x0000, 0x4143, + 0x000a, 0x085f, 0x0003, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x0d2a, + 0x0008, 0x0235, 0x0003, 0x8010, 0x0008, 0x0003, 0x0008, 0x0239, + 0x0003, 0x8010, 0x0008, 0x000b, 0x0000, 0x0239, 0x0003, 0x8010, + 0x0008, 0x0002, 0x0000, 0x0239, 0x0003, 0x3a47, 0x0002, 0x0d2d, + 0x0003, 0x8010, 0x0008, 0x0006, 0x0008, 0x0239, 0x0003, 0x8074, + 0x0000, 0xf000, 0x0008, 0x8072, 0x0000, 0x3000, 0x0008, 0x01ef, + 0x0004, 0x01f2, 0x0004, 0x3a40, 0x000a, 0x080a, 0x0003, 0x8010, + 0x0008, 0x000c, 0x0008, 0x01ef, 0x0004, 0x000a, 0x000b, 0x8074, + 0x0000, 0xf080, 0x0000, 0x8072, 0x0000, 0x3000, 0x0008, 0x0d30, + 0x0000, 0x2e4d, 0x0002, 0x2e4d, 0x0002, 0x0a4c, 0x0003, 0x8054, + 0x0008, 0x0019, 0x0000, 0x000a, 0x000b, 0x8054, 0x0008, 0x0009, + 0x0008, 0x000a, 0x000b, 0x3a44, 0x0002, 0x0c0a, 0x000b, 0x022a, + 0x000b, 0x15b6, 0xf4ac, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, + 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, + 0x2000, 0x4000, 0x8000, 0x2a9a }; #ifdef UNIQUE_FW_NAME -unsigned short fw2300flx_length01 = 0xd5bb; +unsigned short fw2300flx_length01 = 0xd5d4; #else -unsigned short risc_code_length01 = 0xd5bb; +unsigned short risc_code_length01 = 0xd5d4; #endif diff --git a/drivers/scsi/qla2xxx/ql6322.c b/drivers/scsi/qla2xxx/ql6322.c index ce651454d..75fb9b266 100644 --- a/drivers/scsi/qla2xxx/ql6322.c +++ b/drivers/scsi/qla2xxx/ql6322.c @@ -105,3 +105,4 @@ module_exit(qla6322_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic ISP6322 FC-SCSI Host Bus Adapter driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/ql6322_fw.c b/drivers/scsi/qla2xxx/ql6322_fw.c index de1cbcbe8..c2e6156c3 100644 --- a/drivers/scsi/qla2xxx/ql6322_fw.c +++ b/drivers/scsi/qla2xxx/ql6322_fw.c @@ -18,25 +18,25 @@ *************************************************************************/ /* - * Firmware Version 3.02.30 (07:56 Jun 16, 2004) + * Firmware Version 3.03.02 (16:54 Aug 10, 2004) */ #ifdef UNIQUE_FW_NAME -unsigned short fw2322flx_version = 3*1024+2; +unsigned short fw2322flx_version = 3*1024+3; #else -unsigned short risc_code_version = 3*1024+2; +unsigned short risc_code_version = 3*1024+3; #endif #ifdef UNIQUE_FW_NAME -unsigned char fw2322flx_version_str[] = {3, 2,30}; +unsigned char fw2322flx_version_str[] = {3, 3, 2}; #else -unsigned char firmware_version[] = {3, 2,30}; +unsigned char firmware_version[] = {3, 3, 2}; #endif #ifdef UNIQUE_FW_NAME -#define fw2322flx_VERSION_STRING "3.02.30" +#define fw2322flx_VERSION_STRING "3.03.02" #else -#define FW_VERSION_STRING "3.02.30" +#define FW_VERSION_STRING "3.03.02" #endif #ifdef UNIQUE_FW_NAME @@ -50,12 +50,12 @@ unsigned short fw2322flx_code01[] = { #else unsigned short risc_code01[] = { #endif - 0x0470, 0x0000, 0x0000, 0xce4c, 0x0000, 0x0003, 0x0002, 0x001e, + 0x0470, 0x0000, 0x0000, 0xce84, 0x0000, 0x0003, 0x0003, 0x0002, 0x0317, 0x2043, 0x4f50, 0x5952, 0x4947, 0x4854, 0x2032, 0x3030, 0x3120, 0x514c, 0x4f47, 0x4943, 0x2043, 0x4f52, 0x504f, 0x5241, 0x5449, 0x4f4e, 0x2049, 0x5350, 0x3233, 0x3030, 0x2046, 0x6972, 0x6d77, 0x6172, 0x6520, 0x2056, 0x6572, 0x7369, 0x6f6e, 0x2030, - 0x332e, 0x3032, 0x2e33, 0x3020, 0x2020, 0x2020, 0x2400, 0x20a9, + 0x332e, 0x3033, 0x2e30, 0x3220, 0x2020, 0x2020, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2200, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2400, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2600, 0x20a9, 0x000f, 0x2001, 0x0000, @@ -64,161 +64,161 @@ unsigned short risc_code01[] = { 0x2c00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2e00, 0x20a9, 0x000f, 0x2001, 0x0000, 0x400f, 0x2091, 0x2000, 0x2001, 0x0000, 0x20c1, 0x0004, 0x20c9, 0x1cff, 0x2059, 0x0000, 0x2b78, - 0x7883, 0x0004, 0x2089, 0x28ec, 0x2051, 0x1800, 0x2a70, 0x20e1, - 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e3d, 0x00f6, - 0x7888, 0x9005, 0x11f8, 0x2061, 0xc000, 0x080c, 0x1f09, 0x1170, - 0x2079, 0x0300, 0x080c, 0x1f1f, 0x2061, 0xe000, 0x080c, 0x1f09, - 0x1128, 0x2079, 0x0380, 0x080c, 0x1f1f, 0x0060, 0x00fe, 0x7883, + 0x7883, 0x0004, 0x2089, 0x290c, 0x2051, 0x1800, 0x2a70, 0x20e1, + 0x0001, 0x20e9, 0x0001, 0x2009, 0x0000, 0x080c, 0x0e4a, 0x00f6, + 0x7888, 0x9005, 0x11f8, 0x2061, 0xc000, 0x080c, 0x1f21, 0x1170, + 0x2079, 0x0300, 0x080c, 0x1f37, 0x2061, 0xe000, 0x080c, 0x1f21, + 0x1128, 0x2079, 0x0380, 0x080c, 0x1f37, 0x0060, 0x00fe, 0x7883, 0x4010, 0x7837, 0x4010, 0x7833, 0x0010, 0x2091, 0x5000, 0x2091, 0x4080, 0x0cf8, 0x00fe, 0x2029, 0x26c0, 0x2031, 0xffff, 0x2039, 0x269c, 0x2021, 0x0050, 0x20e9, 0x0001, 0x20a1, 0x0000, 0x20a9, 0x0800, 0x900e, 0x4104, 0x20e9, 0x0001, 0x20a1, 0x1000, 0x900e, 0x2001, 0x0dc1, 0x9084, 0x0fff, 0x20a8, 0x4104, 0x2001, 0x0000, 0x9086, 0x0000, 0x0120, 0x21a8, 0x4104, 0x8001, 0x1de0, 0x756a, - 0x766e, 0x7766, 0x7472, 0x7476, 0x00e6, 0x2071, 0x1b1d, 0x2472, + 0x766e, 0x7766, 0x7472, 0x7476, 0x00e6, 0x2071, 0x1b25, 0x2472, 0x00ee, 0x20a1, 0x1ddc, 0x716c, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x000f, 0x2001, 0x0001, 0x9112, 0x900e, 0x21a8, 0x4104, 0x8211, 0x1de0, 0x716c, 0x3400, 0x8001, 0x9102, 0x0120, 0x0218, 0x20a8, 0x900e, 0x4104, 0x2009, 0x1800, 0x810d, 0x810d, 0x810d, 0x810d, 0x810d, 0x918c, 0x001f, 0x2001, 0x0001, 0x9112, 0x20e9, 0x0001, 0x20a1, 0x0800, 0x900e, 0x20a9, 0x0800, 0x4104, 0x8211, - 0x1dd8, 0x080c, 0x0f3a, 0x080c, 0x5ce5, 0x080c, 0x9b70, 0x080c, - 0x10f1, 0x080c, 0x12e1, 0x080c, 0x1a67, 0x080c, 0x8422, 0x080c, - 0x0cf7, 0x080c, 0x1076, 0x080c, 0x327f, 0x080c, 0x73aa, 0x080c, - 0x6721, 0x080c, 0x8069, 0x080c, 0x20f6, 0x080c, 0x7a3e, 0x080c, - 0x1f38, 0x080c, 0x2076, 0x080c, 0x20eb, 0x2091, 0x3009, 0x7883, + 0x1dd8, 0x080c, 0x0f47, 0x080c, 0x5d05, 0x080c, 0x9b7c, 0x080c, + 0x10fe, 0x080c, 0x12ee, 0x080c, 0x1a7f, 0x080c, 0x8456, 0x080c, + 0x0cf7, 0x080c, 0x1083, 0x080c, 0x329f, 0x080c, 0x73cd, 0x080c, + 0x6745, 0x080c, 0x809d, 0x080c, 0x210e, 0x080c, 0x7a62, 0x080c, + 0x1f50, 0x080c, 0x208e, 0x080c, 0x2103, 0x2091, 0x3009, 0x7883, 0x0000, 0x1004, 0x0941, 0x7880, 0x9086, 0x0002, 0x1190, 0x7883, 0x4000, 0x7837, 0x4000, 0x7833, 0x0010, 0x0e04, 0x0935, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x11c9, 0x2071, 0x1800, 0x7003, 0x0000, 0x2071, 0x1800, 0x7000, - 0x908e, 0x0003, 0x1158, 0x080c, 0x499f, 0x080c, 0x32a6, 0x080c, - 0x7412, 0x080c, 0x6bb9, 0x080c, 0x8092, 0x0c78, 0x000b, 0x0c98, + 0x11d6, 0x2071, 0x1800, 0x7003, 0x0000, 0x2071, 0x1800, 0x7000, + 0x908e, 0x0003, 0x1158, 0x080c, 0x49bf, 0x080c, 0x32c6, 0x080c, + 0x7435, 0x080c, 0x6bdd, 0x080c, 0x80c6, 0x0c78, 0x000b, 0x0c98, 0x0962, 0x0963, 0x0afa, 0x0960, 0x0bab, 0x0cf6, 0x0cf6, 0x0cf6, 0x080c, 0x0d65, 0x0005, 0x0126, 0x00f6, 0x2091, 0x8000, 0x7000, - 0x9086, 0x0001, 0x1904, 0x0acd, 0x080c, 0x0e8d, 0x080c, 0x7096, - 0x0150, 0x080c, 0x70b9, 0x15b0, 0x2079, 0x0100, 0x7828, 0x9085, - 0x1800, 0x782a, 0x0478, 0x080c, 0x6fc7, 0x7000, 0x9086, 0x0001, + 0x9086, 0x0001, 0x1904, 0x0acd, 0x080c, 0x0e9a, 0x080c, 0x70ba, + 0x0150, 0x080c, 0x70dd, 0x15b0, 0x2079, 0x0100, 0x7828, 0x9085, + 0x1800, 0x782a, 0x0478, 0x080c, 0x6feb, 0x7000, 0x9086, 0x0001, 0x1904, 0x0acd, 0x7094, 0x9086, 0x0028, 0x1904, 0x0acd, 0x080c, - 0x8061, 0x080c, 0x8053, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, - 0x0100, 0x2011, 0xffff, 0x080c, 0x288c, 0x7a28, 0x9295, 0x5e2c, - 0x7a2a, 0x2011, 0x6f0c, 0x080c, 0x8138, 0x2011, 0x6eff, 0x080c, - 0x823e, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x2011, 0x8030, 0x901e, - 0x7392, 0x04d0, 0x080c, 0x53e9, 0x2079, 0x0100, 0x7844, 0x9005, - 0x1904, 0x0acd, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x2011, 0x6f0c, - 0x080c, 0x8138, 0x2011, 0x6eff, 0x080c, 0x823e, 0x2001, 0x0265, + 0x8095, 0x080c, 0x8087, 0x2001, 0x0161, 0x2003, 0x0001, 0x2079, + 0x0100, 0x2011, 0xffff, 0x080c, 0x28ac, 0x7a28, 0x9295, 0x5e2c, + 0x7a2a, 0x2011, 0x6f30, 0x080c, 0x816c, 0x2011, 0x6f23, 0x080c, + 0x8272, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x2011, 0x8030, 0x901e, + 0x7392, 0x04d0, 0x080c, 0x5409, 0x2079, 0x0100, 0x7844, 0x9005, + 0x1904, 0x0acd, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x2011, 0x6f30, + 0x080c, 0x816c, 0x2011, 0x6f23, 0x080c, 0x8272, 0x2001, 0x0265, 0x2001, 0x0205, 0x2003, 0x0000, 0x7840, 0x9084, 0xfffb, 0x7842, - 0x2001, 0x1976, 0x2004, 0x9005, 0x1140, 0x00c6, 0x2061, 0x0100, - 0x080c, 0x5c8d, 0x00ce, 0x0804, 0x0acd, 0x780f, 0x006b, 0x7a28, - 0x080c, 0x709e, 0x0118, 0x9295, 0x5e2c, 0x0010, 0x9295, 0x402c, - 0x7a2a, 0x2011, 0x8010, 0x73d4, 0x2001, 0x1977, 0x2003, 0x0001, - 0x080c, 0x2758, 0x080c, 0x48da, 0x7244, 0xc284, 0x7246, 0x2001, + 0x2001, 0x197e, 0x2004, 0x9005, 0x1140, 0x00c6, 0x2061, 0x0100, + 0x080c, 0x5cad, 0x00ce, 0x0804, 0x0acd, 0x780f, 0x006b, 0x7a28, + 0x080c, 0x70c2, 0x0118, 0x9295, 0x5e2c, 0x0010, 0x9295, 0x402c, + 0x7a2a, 0x2011, 0x8010, 0x73d4, 0x2001, 0x197f, 0x2003, 0x0001, + 0x080c, 0x2774, 0x080c, 0x48fa, 0x7244, 0xc284, 0x7246, 0x2001, 0x180c, 0x200c, 0xc1ac, 0xc1cc, 0x2102, 0x2001, 0x0390, 0x2003, - 0x0400, 0x080c, 0x98bb, 0x080c, 0x91c4, 0x2011, 0x0004, 0x080c, - 0xb852, 0x080c, 0x98d7, 0x080c, 0x6561, 0x080c, 0x7096, 0x1120, - 0x080c, 0x27b9, 0x0600, 0x0420, 0x080c, 0x5c94, 0x0140, 0x7093, - 0x0001, 0x70cf, 0x0000, 0x080c, 0x55b6, 0x0804, 0x0acd, 0x080c, - 0x5388, 0xd094, 0x01a8, 0x2001, 0x0390, 0x2003, 0x0404, 0x2011, - 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, 0x538c, 0xd0d4, 0x1118, - 0x080c, 0x27b9, 0x1270, 0x2011, 0x180c, 0x2204, 0xc0bc, 0x0088, - 0x080c, 0x538c, 0xd0d4, 0x1db8, 0x2011, 0x180c, 0x2204, 0xc0bd, - 0x0040, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x2012, 0x080c, 0x665e, - 0x0008, 0x2012, 0x080c, 0x6624, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, - 0x00a8, 0x707b, 0x0000, 0x080c, 0x7096, 0x1130, 0x70ac, 0x9005, - 0x1168, 0x080c, 0xbcae, 0x0050, 0x080c, 0xbcae, 0x70d8, 0xd09c, - 0x1128, 0x70ac, 0x9005, 0x0110, 0x080c, 0x5c6a, 0x70e3, 0x0000, - 0x70df, 0x0000, 0x70a3, 0x0000, 0x080c, 0x27c1, 0x0228, 0x2011, - 0x0101, 0x2204, 0xc0c4, 0x2012, 0x72d8, 0x080c, 0x7096, 0x1178, - 0x9016, 0x0016, 0x2009, 0x0002, 0x2019, 0x193d, 0x211a, 0x001e, + 0x0400, 0x080c, 0x98c7, 0x080c, 0x91f8, 0x2011, 0x0004, 0x080c, + 0xb880, 0x080c, 0x98e3, 0x080c, 0x6585, 0x080c, 0x70ba, 0x1120, + 0x080c, 0x27d5, 0x0600, 0x0420, 0x080c, 0x5cb4, 0x0140, 0x7093, + 0x0001, 0x70cf, 0x0000, 0x080c, 0x55d6, 0x0804, 0x0acd, 0x080c, + 0x53a8, 0xd094, 0x01a8, 0x2001, 0x0390, 0x2003, 0x0404, 0x2011, + 0x180c, 0x2204, 0xc0cd, 0x2012, 0x080c, 0x53ac, 0xd0d4, 0x1118, + 0x080c, 0x27d5, 0x1270, 0x2011, 0x180c, 0x2204, 0xc0bc, 0x0088, + 0x080c, 0x53ac, 0xd0d4, 0x1db8, 0x2011, 0x180c, 0x2204, 0xc0bd, + 0x0040, 0x2011, 0x180c, 0x2204, 0xc0bd, 0x2012, 0x080c, 0x6682, + 0x0008, 0x2012, 0x080c, 0x6648, 0x0120, 0x7a0c, 0xc2b4, 0x7a0e, + 0x00a8, 0x707b, 0x0000, 0x080c, 0x70ba, 0x1130, 0x70ac, 0x9005, + 0x1168, 0x080c, 0xbcdc, 0x0050, 0x080c, 0xbcdc, 0x70d8, 0xd09c, + 0x1128, 0x70ac, 0x9005, 0x0110, 0x080c, 0x5c8a, 0x70e3, 0x0000, + 0x70df, 0x0000, 0x70a3, 0x0000, 0x080c, 0x27dd, 0x0228, 0x2011, + 0x0101, 0x2204, 0xc0c4, 0x2012, 0x72d8, 0x080c, 0x70ba, 0x1178, + 0x9016, 0x0016, 0x2009, 0x0002, 0x2019, 0x1945, 0x211a, 0x001e, 0x705b, 0xffff, 0x705f, 0x00ef, 0x707f, 0x0000, 0x0020, 0x2019, - 0x193d, 0x201b, 0x0000, 0x2079, 0x1853, 0x7804, 0xd0ac, 0x0108, - 0xc295, 0x72da, 0x080c, 0x7096, 0x0118, 0x9296, 0x0004, 0x0518, - 0x2011, 0x0001, 0x080c, 0xb852, 0x70a7, 0x0000, 0x70ab, 0xffff, - 0x7003, 0x0002, 0x00fe, 0x080c, 0x2de9, 0x080c, 0x98bb, 0x2011, - 0x0005, 0x080c, 0x931c, 0x080c, 0x98d7, 0x080c, 0x7096, 0x0148, + 0x1945, 0x201b, 0x0000, 0x2079, 0x185b, 0x7804, 0xd0ac, 0x0108, + 0xc295, 0x72da, 0x080c, 0x70ba, 0x0118, 0x9296, 0x0004, 0x0518, + 0x2011, 0x0001, 0x080c, 0xb880, 0x70a7, 0x0000, 0x70ab, 0xffff, + 0x7003, 0x0002, 0x00fe, 0x080c, 0x2e09, 0x080c, 0x98c7, 0x2011, + 0x0005, 0x080c, 0x9324, 0x080c, 0x98e3, 0x080c, 0x70ba, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x2009, 0x0002, 0x61e2, 0x001e, 0x00ce, 0x012e, 0x00e0, 0x70a7, 0x0000, 0x70ab, 0xffff, 0x7003, - 0x0002, 0x080c, 0x98bb, 0x2011, 0x0005, 0x080c, 0x931c, 0x080c, - 0x98d7, 0x080c, 0x7096, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, + 0x0002, 0x080c, 0x98c7, 0x2011, 0x0005, 0x080c, 0x9324, 0x080c, + 0x98e3, 0x080c, 0x70ba, 0x0148, 0x00c6, 0x2061, 0x0100, 0x0016, 0x2009, 0x0002, 0x61e2, 0x001e, 0x00ce, 0x00fe, 0x012e, 0x0005, - 0x00c6, 0x00b6, 0x080c, 0x7096, 0x1118, 0x20a9, 0x0800, 0x0010, - 0x20a9, 0x0782, 0x080c, 0x7096, 0x1110, 0x900e, 0x0010, 0x2009, + 0x00c6, 0x00b6, 0x080c, 0x70ba, 0x1118, 0x20a9, 0x0800, 0x0010, + 0x20a9, 0x0782, 0x080c, 0x70ba, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x86ff, 0x0138, 0x9180, 0x1000, 0x2004, 0x905d, 0x0110, - 0xb800, 0xd0bc, 0x090c, 0x3116, 0x8108, 0x1f04, 0x0ae1, 0x707b, + 0xb800, 0xd0bc, 0x090c, 0x3136, 0x8108, 0x1f04, 0x0ae1, 0x707b, 0x0000, 0x707c, 0x9084, 0x00ff, 0x707e, 0x70af, 0x0000, 0x00be, 0x00ce, 0x0005, 0x00b6, 0x0126, 0x2091, 0x8000, 0x7000, 0x9086, 0x0002, 0x1904, 0x0ba8, 0x70a8, 0x9086, 0xffff, 0x0120, 0x080c, - 0x2de9, 0x0804, 0x0ba8, 0x70d8, 0xd0ac, 0x1110, 0xd09c, 0x0520, + 0x2e09, 0x0804, 0x0ba8, 0x70d8, 0xd0ac, 0x1110, 0xd09c, 0x0520, 0xd084, 0x0510, 0x0006, 0x2001, 0x0103, 0x2003, 0x002b, 0x000e, - 0xd08c, 0x01d0, 0x70dc, 0x9086, 0xffff, 0x0190, 0x080c, 0x2f74, - 0x70d8, 0xd094, 0x1904, 0x0ba8, 0x2011, 0x0001, 0x080c, 0xbf61, - 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, 0x2fae, 0x0804, 0x0ba8, + 0xd08c, 0x01d0, 0x70dc, 0x9086, 0xffff, 0x0190, 0x080c, 0x2f94, + 0x70d8, 0xd094, 0x1904, 0x0ba8, 0x2011, 0x0001, 0x080c, 0xbf8f, + 0x0110, 0x2011, 0x0003, 0x901e, 0x080c, 0x2fce, 0x0804, 0x0ba8, 0x70e0, 0x9005, 0x1904, 0x0ba8, 0x70a4, 0x9005, 0x1904, 0x0ba8, - 0x70d8, 0xd0a4, 0x0118, 0xd0b4, 0x0904, 0x0ba8, 0x080c, 0x6624, - 0x1904, 0x0ba8, 0x080c, 0x6677, 0x1904, 0x0ba8, 0x080c, 0x665e, + 0x70d8, 0xd0a4, 0x0118, 0xd0b4, 0x0904, 0x0ba8, 0x080c, 0x6648, + 0x1904, 0x0ba8, 0x080c, 0x669b, 0x1904, 0x0ba8, 0x080c, 0x6682, 0x01c0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, - 0x626b, 0x1118, 0xb800, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, + 0x628f, 0x1118, 0xb800, 0xd0ec, 0x1138, 0x001e, 0x8108, 0x1f04, 0x0b4e, 0x00ce, 0x015e, 0x0028, 0x001e, 0x00ce, 0x015e, 0x0804, 0x0ba8, 0x0006, 0x2001, 0x0103, 0x2003, 0x006b, 0x000e, 0x2011, - 0x1983, 0x080c, 0x0faa, 0x2011, 0x199d, 0x080c, 0x0faa, 0x7030, - 0xc08c, 0x7032, 0x7003, 0x0003, 0x70ab, 0xffff, 0x080c, 0x0e61, - 0x9006, 0x080c, 0x23e2, 0x0036, 0x0046, 0x2019, 0xffff, 0x2021, - 0x0006, 0x080c, 0x4a77, 0x004e, 0x003e, 0x00f6, 0x2079, 0x0100, - 0x080c, 0x70b9, 0x0150, 0x080c, 0x7096, 0x7828, 0x0118, 0x9084, - 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, 0x00fe, 0x080c, 0x98bb, - 0x2001, 0x19b8, 0x2004, 0x9086, 0x0005, 0x1120, 0x2011, 0x0000, - 0x080c, 0x931c, 0x2011, 0x0000, 0x080c, 0x9326, 0x080c, 0x98d7, + 0x198b, 0x080c, 0x0fb7, 0x2011, 0x19a5, 0x080c, 0x0fb7, 0x7030, + 0xc08c, 0x7032, 0x7003, 0x0003, 0x70ab, 0xffff, 0x080c, 0x0e6e, + 0x9006, 0x080c, 0x23fe, 0x0036, 0x0046, 0x2019, 0xffff, 0x2021, + 0x0006, 0x080c, 0x4a97, 0x004e, 0x003e, 0x00f6, 0x2079, 0x0100, + 0x080c, 0x70dd, 0x0150, 0x080c, 0x70ba, 0x7828, 0x0118, 0x9084, + 0xe1ff, 0x0010, 0x9084, 0xffdf, 0x782a, 0x00fe, 0x080c, 0x98c7, + 0x2001, 0x19c0, 0x2004, 0x9086, 0x0005, 0x1120, 0x2011, 0x0000, + 0x080c, 0x9324, 0x2011, 0x0000, 0x080c, 0x932e, 0x080c, 0x98e3, 0x012e, 0x00be, 0x0005, 0x0016, 0x0026, 0x0046, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, 0x7904, 0x918c, 0xfffd, 0x7906, - 0x2009, 0x00f7, 0x080c, 0x5c53, 0x7940, 0x918c, 0x0010, 0x7942, - 0x7924, 0xd1b4, 0x0120, 0x2011, 0x0040, 0x080c, 0x288c, 0xd19c, - 0x0120, 0x2011, 0x0008, 0x080c, 0x288c, 0x0006, 0x0036, 0x0156, - 0x0000, 0x2001, 0x1977, 0x2004, 0x9005, 0x1518, 0x080c, 0x2820, - 0x1148, 0x2001, 0x0001, 0x080c, 0x2787, 0x2001, 0x0001, 0x080c, - 0x276a, 0x00b8, 0x080c, 0x2828, 0x1138, 0x9006, 0x080c, 0x2787, - 0x9006, 0x080c, 0x276a, 0x0068, 0x080c, 0x2830, 0x1d50, 0x2001, - 0x1968, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x2581, 0x0804, - 0x0ca9, 0x080c, 0x28af, 0x080c, 0x28e2, 0x20a9, 0x003a, 0x1d04, - 0x0bff, 0x080c, 0x821e, 0x1f04, 0x0bff, 0x080c, 0x70a7, 0x0148, - 0x080c, 0x70b9, 0x1118, 0x080c, 0x73a5, 0x0050, 0x080c, 0x709e, - 0x0dd0, 0x080c, 0x73a0, 0x080c, 0x7396, 0x080c, 0x6fc7, 0x0020, - 0x2009, 0x00f8, 0x080c, 0x5c53, 0x7850, 0xc0e5, 0x7852, 0x080c, - 0x7096, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, - 0x2019, 0xea60, 0x0d0c, 0x821e, 0x7820, 0xd09c, 0x15a0, 0x080c, - 0x7096, 0x0904, 0x0c8b, 0x7824, 0xd0ac, 0x1904, 0x0cae, 0x080c, - 0x70b9, 0x1548, 0x0046, 0x2021, 0x0320, 0x8421, 0x1df0, 0x004e, - 0x2011, 0x1800, 0x080c, 0x288c, 0x080c, 0x2838, 0x7824, 0x9084, + 0x2009, 0x00f7, 0x080c, 0x5c73, 0x7940, 0x918c, 0x0010, 0x7942, + 0x7924, 0xd1b4, 0x0120, 0x2011, 0x0040, 0x080c, 0x28ac, 0xd19c, + 0x0120, 0x2011, 0x0008, 0x080c, 0x28ac, 0x0006, 0x0036, 0x0156, + 0x0000, 0x2001, 0x197f, 0x2004, 0x9005, 0x1518, 0x080c, 0x2840, + 0x1148, 0x2001, 0x0001, 0x080c, 0x27a3, 0x2001, 0x0001, 0x080c, + 0x2786, 0x00b8, 0x080c, 0x2848, 0x1138, 0x9006, 0x080c, 0x27a3, + 0x9006, 0x080c, 0x2786, 0x0068, 0x080c, 0x2850, 0x1d50, 0x2001, + 0x1970, 0x2004, 0xd0fc, 0x0108, 0x0020, 0x080c, 0x259d, 0x0804, + 0x0ca9, 0x080c, 0x28cf, 0x080c, 0x2902, 0x20a9, 0x003a, 0x1d04, + 0x0bff, 0x080c, 0x8252, 0x1f04, 0x0bff, 0x080c, 0x70cb, 0x0148, + 0x080c, 0x70dd, 0x1118, 0x080c, 0x73c8, 0x0050, 0x080c, 0x70c2, + 0x0dd0, 0x080c, 0x73c3, 0x080c, 0x73b9, 0x080c, 0x6feb, 0x0020, + 0x2009, 0x00f8, 0x080c, 0x5c73, 0x7850, 0xc0e5, 0x7852, 0x080c, + 0x70ba, 0x0120, 0x7843, 0x0090, 0x7843, 0x0010, 0x2021, 0xe678, + 0x2019, 0xea60, 0x0d0c, 0x8252, 0x7820, 0xd09c, 0x15a0, 0x080c, + 0x70ba, 0x0904, 0x0c8b, 0x7824, 0xd0ac, 0x1904, 0x0cae, 0x080c, + 0x70dd, 0x1548, 0x0046, 0x2021, 0x0320, 0x8421, 0x1df0, 0x004e, + 0x2011, 0x1800, 0x080c, 0x28ac, 0x080c, 0x2858, 0x7824, 0x9084, 0x1800, 0x1168, 0x9484, 0x0fff, 0x1140, 0x2001, 0x1810, 0x2004, 0x9084, 0x9000, 0x0110, 0x080c, 0x0cd1, 0x8421, 0x1160, 0x1d04, - 0x0c5b, 0x080c, 0x821e, 0x080c, 0x73a0, 0x080c, 0x7396, 0x7003, + 0x0c5b, 0x080c, 0x8252, 0x080c, 0x73c3, 0x080c, 0x73b9, 0x7003, 0x0001, 0x0804, 0x0cae, 0x8319, 0x1928, 0x2001, 0x1810, 0x2004, 0x9084, 0x9000, 0x0110, 0x080c, 0x0cd1, 0x1d04, 0x0c71, 0x080c, - 0x821e, 0x2009, 0x196b, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, - 0x1188, 0x200b, 0x000a, 0x2011, 0x0048, 0x080c, 0x288c, 0x20a9, - 0x0002, 0x080c, 0x2819, 0x7924, 0x080c, 0x2838, 0xd19c, 0x0110, - 0x080c, 0x2758, 0x00f0, 0x080c, 0x70a7, 0x1140, 0x94a2, 0x03e8, - 0x1128, 0x080c, 0x706a, 0x7003, 0x0001, 0x00c0, 0x2011, 0x1800, - 0x080c, 0x288c, 0x080c, 0x2838, 0x7824, 0x080c, 0x70b0, 0x0110, + 0x8252, 0x2009, 0x1973, 0x2104, 0x9005, 0x0118, 0x8001, 0x200a, + 0x1188, 0x200b, 0x000a, 0x2011, 0x0048, 0x080c, 0x28ac, 0x20a9, + 0x0002, 0x080c, 0x2839, 0x7924, 0x080c, 0x2858, 0xd19c, 0x0110, + 0x080c, 0x2774, 0x00f0, 0x080c, 0x70cb, 0x1140, 0x94a2, 0x03e8, + 0x1128, 0x080c, 0x708e, 0x7003, 0x0001, 0x00c0, 0x2011, 0x1800, + 0x080c, 0x28ac, 0x080c, 0x2858, 0x7824, 0x080c, 0x70d4, 0x0110, 0xd0ac, 0x1160, 0x9084, 0x1800, 0x0904, 0x0c63, 0x7003, 0x0001, - 0x0028, 0x2001, 0x0001, 0x080c, 0x23e2, 0x00a0, 0x7850, 0xc0e4, + 0x0028, 0x2001, 0x0001, 0x080c, 0x23fe, 0x00a0, 0x7850, 0xc0e4, 0x7852, 0x2009, 0x180c, 0x210c, 0xd19c, 0x1120, 0x7904, 0x918d, - 0x0002, 0x7906, 0x2011, 0x0048, 0x080c, 0x288c, 0x7828, 0x9085, - 0x0028, 0x782a, 0x2001, 0x1977, 0x2003, 0x0000, 0x9006, 0x78f2, + 0x0002, 0x7906, 0x2011, 0x0048, 0x080c, 0x28ac, 0x7828, 0x9085, + 0x0028, 0x782a, 0x2001, 0x197f, 0x2003, 0x0000, 0x9006, 0x78f2, 0x015e, 0x003e, 0x000e, 0x012e, 0x00fe, 0x004e, 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x0046, 0x00b6, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0071, 0x0d0c, 0x821e, 0x015e, + 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x0071, 0x0d0c, 0x8252, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x004e, 0x003e, 0x002e, - 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x1894, 0x7004, 0x9086, - 0x0001, 0x1110, 0x080c, 0x32a6, 0x00ee, 0x0005, 0x0005, 0x2a70, - 0x2061, 0x197b, 0x2063, 0x0003, 0x6007, 0x0002, 0x600b, 0x001e, - 0x600f, 0x0317, 0x2001, 0x194c, 0x900e, 0x2102, 0x7192, 0x2001, + 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x189c, 0x7004, 0x9086, + 0x0001, 0x1110, 0x080c, 0x32c6, 0x00ee, 0x0005, 0x0005, 0x2a70, + 0x2061, 0x1983, 0x2063, 0x0003, 0x6007, 0x0003, 0x600b, 0x0002, + 0x600f, 0x0317, 0x2001, 0x1954, 0x900e, 0x2102, 0x7192, 0x2001, 0x0100, 0x2004, 0x9082, 0x0002, 0x0218, 0x705b, 0xffff, 0x0008, - 0x715a, 0x7063, 0xffff, 0x717a, 0x717e, 0x080c, 0xbcae, 0x70eb, - 0x00c0, 0x2061, 0x193c, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, + 0x715a, 0x7063, 0xffff, 0x717a, 0x717e, 0x080c, 0xbcdc, 0x70eb, + 0x00c0, 0x2061, 0x1944, 0x6003, 0x0909, 0x6106, 0x600b, 0x8800, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6017, 0x000f, 0x611a, 0x601f, - 0x07d0, 0x2061, 0x1944, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, + 0x07d0, 0x2061, 0x194c, 0x6003, 0x8000, 0x6106, 0x610a, 0x600f, 0x0200, 0x6013, 0x00ff, 0x6116, 0x601b, 0x0001, 0x611e, 0x2061, - 0x1959, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, - 0x2020, 0x2001, 0x182b, 0x2102, 0x0005, 0x9016, 0x080c, 0x626b, + 0x1961, 0x6003, 0x514c, 0x6007, 0x4f47, 0x600b, 0x4943, 0x600f, + 0x2020, 0x2001, 0x182b, 0x2102, 0x0005, 0x9016, 0x080c, 0x628f, 0x1178, 0xb804, 0x90c4, 0x00ff, 0x98c6, 0x0006, 0x0128, 0x90c4, 0xff00, 0x98c6, 0x0600, 0x1120, 0x9186, 0x0080, 0x0108, 0x8210, 0x8108, 0x9186, 0x0800, 0x1d50, 0x2208, 0x0005, 0x2091, 0x8000, @@ -226,456 +226,459 @@ unsigned short risc_code01[] = { 0x0d67, 0x0006, 0x0016, 0x2001, 0x8002, 0x0006, 0x2079, 0x0000, 0x000e, 0x7882, 0x7836, 0x001e, 0x798e, 0x000e, 0x788a, 0x000e, 0x7886, 0x3900, 0x789a, 0x7833, 0x0012, 0x2091, 0x5000, 0x0156, - 0x00d6, 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x1af3, 0x7a08, - 0x226a, 0x2069, 0x1af4, 0x7a18, 0x226a, 0x8d68, 0x7a1c, 0x226a, - 0x782c, 0x2019, 0x1b01, 0x201a, 0x2019, 0x1b04, 0x9016, 0x7808, - 0xd09c, 0x0168, 0x7820, 0x201a, 0x8210, 0x8318, 0x9386, 0x1b1d, + 0x00d6, 0x0036, 0x0026, 0x2079, 0x0300, 0x2069, 0x1afb, 0x7a08, + 0x226a, 0x2069, 0x1afc, 0x7a18, 0x226a, 0x8d68, 0x7a1c, 0x226a, + 0x782c, 0x2019, 0x1b09, 0x201a, 0x2019, 0x1b0c, 0x9016, 0x7808, + 0xd09c, 0x0168, 0x7820, 0x201a, 0x8210, 0x8318, 0x9386, 0x1b25, 0x0108, 0x0ca8, 0x7808, 0xd09c, 0x0110, 0x2011, 0xdead, 0x2019, - 0x1b02, 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, 0x2069, - 0x1a49, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, - 0x8318, 0x1f04, 0x0db4, 0x0491, 0x002e, 0x003e, 0x00de, 0x015e, - 0x2079, 0x1800, 0x7803, 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x0180, 0x2001, 0x19f2, 0x2004, 0x9005, 0x0128, - 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, - 0x0002, 0x2003, 0x1001, 0x080c, 0x5397, 0x1170, 0x080c, 0x0efb, - 0x0110, 0x080c, 0x0e4e, 0x080c, 0x5397, 0x1130, 0x2071, 0x1800, - 0x2011, 0x8000, 0x080c, 0x0f0f, 0x0c70, 0x0005, 0x2001, 0x0382, - 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, 0x1120, 0x2001, 0x0015, - 0x080c, 0x98ac, 0x2079, 0x0380, 0x2069, 0x1ad3, 0x7818, 0x6802, - 0x781c, 0x6806, 0x7840, 0x680a, 0x7844, 0x680e, 0x782c, 0x6812, - 0x2019, 0x1ade, 0x9016, 0x7808, 0xd09c, 0x0150, 0x7820, 0x201a, - 0x8210, 0x8318, 0x8210, 0x9282, 0x0011, 0x0ea8, 0x2011, 0xdead, - 0x6a2a, 0x7830, 0x681a, 0x7834, 0x681e, 0x7838, 0x6822, 0x783c, - 0x6826, 0x7803, 0x0000, 0x2069, 0x1a93, 0x901e, 0x20a9, 0x0020, - 0x7b26, 0x7828, 0x206a, 0x8d68, 0x8318, 0x1f04, 0x0e28, 0x2069, - 0x1ab3, 0x2019, 0x00b0, 0x20a9, 0x0020, 0x7b26, 0x7828, 0x206a, - 0x8d68, 0x8318, 0x1f04, 0x0e35, 0x0005, 0x918c, 0x03ff, 0x2001, - 0x0003, 0x2004, 0x9084, 0x0600, 0x1118, 0x918d, 0x6c00, 0x0010, - 0x918d, 0x6400, 0x2001, 0x017f, 0x2102, 0x0005, 0x0026, 0x0126, - 0x2011, 0x0080, 0x080c, 0x0eed, 0x20a9, 0x0900, 0x080c, 0x0f23, - 0x2011, 0x0040, 0x080c, 0x0eed, 0x20a9, 0x0900, 0x080c, 0x0f23, - 0x0c78, 0x0026, 0x080c, 0x0efb, 0x1188, 0x2011, 0x010e, 0x2214, - 0x9294, 0x0007, 0x9296, 0x0007, 0x0118, 0x2011, 0x0947, 0x0010, - 0x2011, 0x1b47, 0x080c, 0x0f0f, 0x002e, 0x0005, 0x2011, 0x010e, - 0x2214, 0x9294, 0x0007, 0x9296, 0x0007, 0x0118, 0x2011, 0xa880, - 0x0010, 0x2011, 0x6840, 0xd0e4, 0x70ef, 0x0000, 0x1128, 0x70ef, - 0x0fa0, 0x080c, 0x0f00, 0x002e, 0x0005, 0x0026, 0x080c, 0x0efb, - 0x0148, 0xd0a4, 0x1138, 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, - 0x080c, 0x0f00, 0x002e, 0x0005, 0x0026, 0x70ef, 0x0000, 0x080c, - 0x0efb, 0x1130, 0x2011, 0x8040, 0x080c, 0x0f0f, 0x002e, 0x0005, - 0x080c, 0x2830, 0x1118, 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, - 0x080c, 0x0f00, 0x002e, 0x0005, 0x00e6, 0x0016, 0x0006, 0x2071, - 0x1800, 0xd0b4, 0x70e8, 0x71e4, 0x1118, 0xc0e4, 0xc1f4, 0x0050, - 0x0006, 0x3b00, 0x9084, 0xff3e, 0x20d8, 0x000e, 0x70ef, 0x0000, - 0xc0e5, 0xc1f5, 0x0099, 0x000e, 0x001e, 0x00ee, 0x0005, 0x00e6, - 0x2071, 0x1800, 0xd0e4, 0x70e8, 0x1110, 0xc0dc, 0x0008, 0xc0dd, - 0x0016, 0x71e4, 0x0019, 0x001e, 0x00ee, 0x0005, 0x70ea, 0x71e6, - 0x7000, 0x9084, 0x0007, 0x000b, 0x0005, 0x0eb3, 0x0e8d, 0x0e8d, - 0x0e61, 0x0e9c, 0x0e8d, 0x0e8d, 0x0e9c, 0xc284, 0x0016, 0x3b08, - 0x3a00, 0x9104, 0x918d, 0x00c1, 0x21d8, 0x9084, 0xff3e, 0x9205, - 0x20d0, 0x001e, 0x0005, 0x2001, 0x183a, 0x2004, 0xd0dc, 0x0005, - 0x9e86, 0x1800, 0x190c, 0x0d65, 0x70e8, 0xd0e4, 0x0108, 0xc2e5, - 0x72ea, 0xd0e4, 0x1118, 0x9294, 0x00c1, 0x08f9, 0x0005, 0x9e86, - 0x1800, 0x190c, 0x0d65, 0x70e4, 0xd0f4, 0x0108, 0xc2f5, 0x72e6, - 0xd0f4, 0x1140, 0x9284, 0x8000, 0x8005, 0xc284, 0x9215, 0x9294, - 0x00c1, 0x0861, 0x0005, 0x1d04, 0x0f23, 0x2091, 0x6000, 0x1f04, - 0x0f23, 0x0005, 0x890e, 0x810e, 0x810f, 0x9194, 0x003f, 0x918c, - 0xffc0, 0x0005, 0x0006, 0x2200, 0x914d, 0x894f, 0x894d, 0x894d, - 0x000e, 0x0005, 0x01d6, 0x0146, 0x0036, 0x0096, 0x2061, 0x1883, - 0x600b, 0x0000, 0x600f, 0x0000, 0x6003, 0x0000, 0x6007, 0x0000, - 0x2009, 0xffc0, 0x2105, 0x0006, 0x2001, 0xaaaa, 0x200f, 0x2019, - 0x5555, 0x9016, 0x2049, 0x0bff, 0xab02, 0xa001, 0xa001, 0xa800, - 0x9306, 0x1138, 0x2105, 0x9306, 0x0120, 0x8210, 0x99c8, 0x0400, - 0x0c98, 0x000e, 0x200f, 0x2001, 0x1893, 0x928a, 0x000e, 0x1638, - 0x928a, 0x0006, 0x2011, 0x0006, 0x1210, 0x2011, 0x0000, 0x2202, - 0x9006, 0x2008, 0x82ff, 0x01b0, 0x8200, 0x600a, 0x600f, 0xffff, - 0x6003, 0x0002, 0x6007, 0x0000, 0x0026, 0x2019, 0x0010, 0x9280, - 0x0001, 0x20e8, 0x21a0, 0x21a8, 0x4104, 0x8319, 0x1de0, 0x8211, - 0x1da0, 0x002e, 0x009e, 0x003e, 0x014e, 0x01de, 0x0005, 0x2011, - 0x000e, 0x08e8, 0x0016, 0x0026, 0x0096, 0x3348, 0x080c, 0x0f2a, - 0x2100, 0x9300, 0x2098, 0x22e0, 0x009e, 0x002e, 0x001e, 0x0036, - 0x3518, 0x20a9, 0x0001, 0x4002, 0x8007, 0x4004, 0x8319, 0x1dd8, - 0x003e, 0x0005, 0x20e9, 0x0001, 0x71b4, 0x81ff, 0x11c0, 0x9006, - 0x2009, 0x0200, 0x20a9, 0x0002, 0x9298, 0x0018, 0x23a0, 0x4001, - 0x2009, 0x0700, 0x20a9, 0x0002, 0x9298, 0x0008, 0x23a0, 0x4001, - 0x7078, 0x8007, 0x717c, 0x810f, 0x20a9, 0x0002, 0x4001, 0x9298, - 0x000c, 0x23a0, 0x900e, 0x080c, 0x0d45, 0x2001, 0x0000, 0x810f, - 0x20a9, 0x0002, 0x4001, 0x0005, 0x89ff, 0x0140, 0xa804, 0xa807, - 0x0000, 0x0006, 0x080c, 0x1054, 0x009e, 0x0cb0, 0x0005, 0x00e6, - 0x2071, 0x1800, 0x080c, 0x10cd, 0x090c, 0x0d65, 0x00ee, 0x0005, - 0x0086, 0x00e6, 0x0006, 0x0026, 0x0036, 0x0126, 0x2091, 0x8000, - 0x00c9, 0x2071, 0x1800, 0x73bc, 0x702c, 0x9016, 0x9045, 0x0158, - 0x8210, 0x9906, 0x090c, 0x0d65, 0x2300, 0x9202, 0x0120, 0x1a0c, - 0x0d65, 0xa000, 0x0c98, 0x012e, 0x003e, 0x002e, 0x000e, 0x00ee, - 0x008e, 0x0005, 0x0086, 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, - 0x2071, 0x1906, 0x7010, 0x9005, 0x0140, 0x7018, 0x9045, 0x0128, - 0x9906, 0x090c, 0x0d65, 0xa000, 0x0cc8, 0x012e, 0x000e, 0x00ee, - 0x008e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x0126, 0x2091, 0x8000, - 0x70bc, 0x8001, 0x0270, 0x70be, 0x702c, 0x2048, 0x9085, 0x0001, - 0xa800, 0x702e, 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, - 0x0005, 0x904e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, - 0x1800, 0x70bc, 0x90ca, 0x0040, 0x0268, 0x8001, 0x70be, 0x702c, - 0x2048, 0xa800, 0x702e, 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, - 0x00ee, 0x0005, 0x904e, 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, - 0x0016, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0xa862, 0x9184, - 0xffc0, 0xa85e, 0x001e, 0x0020, 0x00e6, 0x0126, 0x2091, 0x8000, - 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, - 0x70be, 0x080c, 0x8053, 0x012e, 0x00ee, 0x0005, 0x2071, 0x1800, - 0x9026, 0x2009, 0x0000, 0x2049, 0x0400, 0x2900, 0x702e, 0x8940, - 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, 0x0440, - 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, 0x1883, 0x7000, - 0x9005, 0x11a0, 0x2001, 0x049b, 0xa802, 0x2048, 0x2009, 0x26c0, - 0x8940, 0x2800, 0xa802, 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, - 0x0800, 0x0120, 0x2848, 0x9188, 0x0040, 0x0c90, 0x2071, 0x1883, - 0x7104, 0x7200, 0x82ff, 0x01d0, 0x7308, 0x8318, 0x831f, 0x831b, - 0x831b, 0x7312, 0x8319, 0x2001, 0x0800, 0xa802, 0x2048, 0x8900, - 0xa802, 0x2040, 0xa95e, 0xaa62, 0x8420, 0x2300, 0x9906, 0x0130, - 0x2848, 0x9188, 0x0040, 0x9291, 0x0000, 0x0c88, 0xa803, 0x0000, - 0x2071, 0x1800, 0x74ba, 0x74be, 0x0005, 0x00e6, 0x0016, 0x9984, - 0xfc00, 0x01e8, 0x908c, 0xf800, 0x1168, 0x9982, 0x0400, 0x02b8, - 0x9982, 0x0440, 0x0278, 0x9982, 0x049b, 0x0288, 0x9982, 0x0800, - 0x1270, 0x0040, 0x9982, 0x0800, 0x0250, 0x2071, 0x1883, 0x7010, - 0x9902, 0x1228, 0x9085, 0x0001, 0x001e, 0x00ee, 0x0005, 0x9006, - 0x0cd8, 0x00e6, 0x2071, 0x19f1, 0x7007, 0x0000, 0x9006, 0x701e, - 0x7022, 0x7002, 0x2071, 0x0000, 0x7010, 0x9085, 0x8044, 0x7012, - 0x2071, 0x0080, 0x9006, 0x702b, 0x0060, 0x20a9, 0x0040, 0x7022, - 0x1f04, 0x1107, 0x702b, 0x0060, 0x702b, 0x0020, 0x20a9, 0x0040, - 0x7022, 0x1f04, 0x1110, 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, - 0x2091, 0x8000, 0x00e6, 0xa06f, 0x0000, 0x2071, 0x19f1, 0x701c, - 0x9088, 0x19fb, 0x280a, 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, - 0x9106, 0x090c, 0x0d65, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, - 0x0080, 0x00a9, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, - 0x8000, 0x00e6, 0x2071, 0x19f1, 0x7004, 0x9005, 0x1128, 0x00f6, - 0x2079, 0x0080, 0x0021, 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, - 0x9086, 0x0000, 0x1110, 0x7007, 0x0006, 0x7000, 0x0002, 0x1159, - 0x1157, 0x1157, 0x1157, 0x12d0, 0x12d0, 0x12d0, 0x12d0, 0x080c, - 0x0d65, 0x701c, 0x7120, 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, - 0x1120, 0xd1fc, 0x1110, 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, - 0x19fb, 0x2004, 0x700a, 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, - 0x782b, 0x0026, 0xa88c, 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, - 0xa898, 0x780e, 0xa878, 0x700e, 0xa870, 0x7016, 0xa874, 0x701a, - 0xa868, 0x009e, 0xd084, 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, - 0x7007, 0x0002, 0x00b1, 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, - 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, - 0x8203, 0x7812, 0x782b, 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, - 0x0005, 0x0016, 0x0026, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, - 0x7018, 0x2098, 0x20e9, 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, - 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, - 0x700e, 0x22a8, 0x4006, 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, - 0x701a, 0x782b, 0x0001, 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, - 0x0005, 0x2009, 0x19f1, 0x2104, 0xc095, 0x200a, 0x080c, 0x1136, - 0x0005, 0x0016, 0x00e6, 0x2071, 0x19f1, 0x00f6, 0x2079, 0x0080, - 0x792c, 0xd1bc, 0x190c, 0x0d5e, 0x782b, 0x0002, 0xd1fc, 0x0120, - 0x918c, 0x0700, 0x7004, 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, - 0x1147, 0x11ef, 0x1223, 0x0d65, 0x0d65, 0x12dc, 0x0d65, 0x918c, - 0x0700, 0x1550, 0x0136, 0x0146, 0x0156, 0x7014, 0x20e8, 0x7018, - 0x20a0, 0x20e1, 0x0000, 0x2099, 0x0088, 0x782b, 0x0040, 0x7010, - 0x20a8, 0x4005, 0x3400, 0x701a, 0x015e, 0x014e, 0x013e, 0x700c, - 0x9005, 0x0578, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x118c, - 0x0005, 0x7008, 0x0096, 0x2048, 0xa86f, 0x0100, 0x009e, 0x7007, - 0x0000, 0x080c, 0x1147, 0x0005, 0x7008, 0x0096, 0x2048, 0xa86f, - 0x0200, 0x009e, 0x0ca0, 0x918c, 0x0700, 0x1150, 0x700c, 0x9005, - 0x0180, 0x7800, 0x7802, 0x7804, 0x7806, 0x080c, 0x11a1, 0x0005, - 0x7008, 0x0096, 0x2048, 0xa86f, 0x0200, 0x009e, 0x7007, 0x0000, - 0x0080, 0x0096, 0x7008, 0x2048, 0x7800, 0xa88e, 0x7804, 0xa892, - 0x7808, 0xa896, 0x780c, 0xa89a, 0xa86f, 0x0100, 0x009e, 0x7007, - 0x0000, 0x0096, 0x00d6, 0x7008, 0x2048, 0x2001, 0x18af, 0x2004, - 0x9906, 0x1128, 0xa89c, 0x080f, 0x00de, 0x009e, 0x00a0, 0x00de, - 0x009e, 0x0096, 0x00d6, 0x7008, 0x2048, 0x0081, 0x0150, 0xa89c, - 0x0086, 0x2940, 0x080f, 0x008e, 0x00de, 0x009e, 0x080c, 0x1136, - 0x0005, 0x00de, 0x009e, 0x080c, 0x1136, 0x0005, 0xa8a8, 0xd08c, - 0x0005, 0x0096, 0xa0a0, 0x904d, 0x090c, 0x0d65, 0xa06c, 0x908e, - 0x0100, 0x0130, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, - 0x080c, 0x6985, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x2848, 0x080c, - 0x1054, 0x009e, 0x0005, 0x00a6, 0xa0a0, 0x904d, 0x090c, 0x0d65, - 0xa06c, 0x908e, 0x0100, 0x0128, 0xa87b, 0x0001, 0xa883, 0x0000, - 0x00c0, 0xa80c, 0x2050, 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, - 0x8006, 0x8006, 0x8007, 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, - 0x0002, 0xa076, 0xa172, 0xb000, 0xa07a, 0x2810, 0x080c, 0x1117, - 0x00e8, 0xa97c, 0xa894, 0x0016, 0x0006, 0x080c, 0x6985, 0x000e, - 0x001e, 0xd1fc, 0x1138, 0xd1f4, 0x0128, 0x00c6, 0x2060, 0x080c, - 0x9bda, 0x00ce, 0x7008, 0x2048, 0xa89f, 0x0000, 0xa8a3, 0x0000, - 0x080c, 0x1054, 0x7007, 0x0000, 0x080c, 0x1136, 0x00ae, 0x0005, - 0x0126, 0x2091, 0x8000, 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, - 0xc094, 0x7002, 0x012e, 0x0005, 0x7007, 0x0000, 0x080c, 0x1147, - 0x0005, 0x0126, 0x2091, 0x2200, 0x2079, 0x0300, 0x2071, 0x1a3b, - 0x7003, 0x0000, 0x78bf, 0x00f6, 0x0041, 0x7807, 0x0007, 0x7803, - 0x0000, 0x7803, 0x0001, 0x012e, 0x0005, 0x00c6, 0x7803, 0x0000, - 0x2001, 0x0165, 0x2003, 0x4198, 0x7808, 0xd09c, 0x0110, 0x7820, - 0x0cd8, 0x2001, 0x1a3c, 0x2003, 0x0000, 0x78ab, 0x0004, 0x78ac, - 0xd0ac, 0x1de8, 0x78ab, 0x0002, 0x7807, 0x0007, 0x7827, 0x0030, - 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, 0x1a49, 0x781f, 0xff00, - 0x781b, 0xff00, 0x2001, 0x0200, 0x2004, 0xd0dc, 0x0110, 0x781f, - 0x0303, 0x2061, 0x1a49, 0x602f, 0x1ddc, 0x2001, 0x1819, 0x2004, - 0x9082, 0x1ddc, 0x6032, 0x603b, 0x1d04, 0x602b, 0x1a89, 0x6007, - 0x1a69, 0x2061, 0x1a69, 0x00ce, 0x0005, 0x0126, 0x2091, 0x2200, - 0x7908, 0x9184, 0x0070, 0x190c, 0x0d5e, 0xd19c, 0x05a0, 0x7820, - 0x908c, 0xf000, 0x0540, 0x2060, 0x6020, 0x9086, 0x0003, 0x1550, - 0x6000, 0x9086, 0x0004, 0x1530, 0x6114, 0x2148, 0xa876, 0xa87a, - 0xa867, 0x0103, 0x080c, 0x67a7, 0x00b6, 0x6010, 0x2058, 0xba3c, - 0x8211, 0x0208, 0xba3e, 0xb8c0, 0x9005, 0x190c, 0x6396, 0x00be, - 0x6044, 0xd0fc, 0x190c, 0x98e4, 0x080c, 0x9c02, 0x7808, 0xd09c, - 0x19b0, 0x012e, 0x0005, 0x908a, 0x0024, 0x1a0c, 0x0d65, 0x002b, - 0x012e, 0x0005, 0x04b0, 0x012e, 0x0005, 0x1399, 0x13bf, 0x13ef, - 0x13f4, 0x13f8, 0x13fd, 0x1425, 0x1429, 0x1437, 0x143b, 0x1399, - 0x14c7, 0x14cb, 0x152e, 0x1399, 0x1399, 0x1399, 0x1399, 0x1399, - 0x1399, 0x1399, 0x1399, 0x1399, 0x1399, 0x1399, 0x1399, 0x1399, - 0x13ff, 0x1399, 0x13c7, 0x13ec, 0x13b3, 0x1399, 0x13d3, 0x139d, - 0x139b, 0x080c, 0x0d65, 0x080c, 0x0d5e, 0x080c, 0x1535, 0x2009, - 0x1a48, 0x2104, 0x8000, 0x200a, 0x080c, 0x7b01, 0x080c, 0x196c, - 0x0005, 0x6044, 0xd0fc, 0x190c, 0x98e4, 0x2009, 0x0055, 0x080c, - 0x9c76, 0x012e, 0x0005, 0x080c, 0x1535, 0x2060, 0x6044, 0xd0fc, - 0x190c, 0x98e4, 0x2009, 0x0055, 0x080c, 0x9c76, 0x0005, 0x2009, - 0x0048, 0x080c, 0x1535, 0x2060, 0x080c, 0x9c76, 0x0005, 0x2009, - 0x0054, 0x080c, 0x1535, 0x2060, 0x6044, 0xd0fc, 0x190c, 0x98e4, - 0x080c, 0x9c76, 0x0005, 0x080c, 0x1535, 0x2060, 0x0056, 0x0066, - 0x080c, 0x1535, 0x2028, 0x080c, 0x1535, 0x2030, 0x0036, 0x0046, - 0x2021, 0x0000, 0x2418, 0x2009, 0x0056, 0x080c, 0x9c76, 0x004e, - 0x003e, 0x006e, 0x005e, 0x0005, 0x080c, 0x1535, 0x0005, 0x7004, - 0xc085, 0xc0b5, 0x7006, 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, - 0x080c, 0x1535, 0x080c, 0x15f2, 0x0005, 0x080c, 0x0d65, 0x080c, - 0x1535, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, - 0x2009, 0x0048, 0x080c, 0x9c76, 0x2001, 0x015d, 0x2003, 0x0000, - 0x2009, 0x03e8, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, - 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x080c, 0x153a, - 0x2001, 0x0307, 0x2003, 0x8000, 0x0005, 0x7004, 0xc095, 0x7006, - 0x0005, 0x080c, 0x1535, 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, - 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, 0x9c76, 0x0005, 0x080c, - 0x1535, 0x080c, 0x0d65, 0x080c, 0x1535, 0x080c, 0x14b2, 0x7827, - 0x0018, 0x79ac, 0xd1dc, 0x0540, 0x7827, 0x0015, 0x7828, 0x782b, - 0x0000, 0x9065, 0x0138, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, - 0x0020, 0x0400, 0x7004, 0x9005, 0x1180, 0x78ab, 0x0004, 0x7827, - 0x0018, 0x782b, 0x0000, 0xd1bc, 0x090c, 0x0d65, 0x2001, 0x020d, - 0x2003, 0x0050, 0x2003, 0x0020, 0x0490, 0x78ab, 0x0004, 0x7803, - 0x0001, 0x080c, 0x14cb, 0x0005, 0x7828, 0x782b, 0x0000, 0x9065, - 0x090c, 0x0d65, 0x6014, 0x2048, 0x78ab, 0x0004, 0x918c, 0x0700, - 0x01a8, 0x080c, 0x7b01, 0x080c, 0x196c, 0x080c, 0xb842, 0x0158, - 0xa9ac, 0xa936, 0xa9b0, 0xa93a, 0xa83f, 0xffff, 0xa843, 0xffff, - 0xa880, 0xc0bd, 0xa882, 0x080c, 0xb440, 0x0005, 0x6010, 0x00b6, - 0x2058, 0xb800, 0x00be, 0xd0bc, 0x6024, 0x190c, 0xbc43, 0x2029, - 0x00c8, 0x8529, 0x0128, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, - 0x7dbc, 0x080c, 0xd5e4, 0xd5a4, 0x1118, 0x080c, 0x153a, 0x0005, - 0x080c, 0x7b01, 0x080c, 0x196c, 0x0005, 0x781f, 0x0300, 0x7803, - 0x0001, 0x0005, 0x0016, 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, - 0x7908, 0x918c, 0x0007, 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, - 0x080c, 0x15ab, 0x00fe, 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, - 0xc09d, 0x7006, 0x0005, 0x7104, 0x9184, 0x0004, 0x190c, 0x0d65, - 0xd184, 0x1189, 0xd19c, 0x0158, 0xc19c, 0x7106, 0x2001, 0x020d, - 0x2003, 0x0050, 0x2003, 0x0020, 0x080c, 0x153a, 0x0005, 0x81ff, - 0x190c, 0x0d65, 0x0005, 0xc184, 0xd1b4, 0xc1b4, 0x7106, 0x0016, - 0x00e6, 0x15e0, 0x2071, 0x0200, 0x080c, 0x15e6, 0x6014, 0x9005, - 0x05a8, 0x0096, 0x2048, 0xa864, 0x009e, 0x9084, 0x00ff, 0x908e, - 0x0029, 0x0160, 0x908e, 0x0048, 0x1548, 0x601c, 0xd084, 0x11d8, - 0x00f6, 0x2c78, 0x080c, 0x165c, 0x00fe, 0x00a8, 0x00f6, 0x2c78, - 0x080c, 0x17a4, 0x00fe, 0x2009, 0x01f4, 0x8109, 0x0160, 0x2001, - 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, - 0x1110, 0x0401, 0x0040, 0x2001, 0x020d, 0x2003, 0x0020, 0x080c, - 0x12f5, 0x7803, 0x0001, 0x00ee, 0x001e, 0x0005, 0x2001, 0x020d, - 0x2003, 0x0050, 0x2003, 0x0020, 0x0069, 0x0ca8, 0x0031, 0x2060, - 0x2009, 0x0053, 0x080c, 0x9c76, 0x0005, 0x7808, 0xd09c, 0x0de8, - 0x7820, 0x0005, 0x080c, 0x14b2, 0x00d6, 0x2069, 0x0200, 0x2009, - 0x01f4, 0x8109, 0x0510, 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, - 0x2003, 0x0000, 0x79bc, 0xd1a4, 0x1528, 0x79b8, 0x918c, 0x0fff, - 0x0180, 0x9182, 0x0841, 0x1268, 0x9188, 0x0007, 0x918c, 0x0ff8, - 0x810c, 0x810c, 0x810c, 0x080c, 0x159d, 0x6827, 0x0001, 0x8109, - 0x1dd0, 0x04d9, 0x6827, 0x0002, 0x04c1, 0x6804, 0x9005, 0x1130, - 0x682c, 0xd0e4, 0x1500, 0x6804, 0x9005, 0x0de8, 0x79b8, 0xd1ec, - 0x1130, 0x08c0, 0x080c, 0x7b01, 0x080c, 0x196c, 0x0090, 0x7827, - 0x0015, 0x782b, 0x0000, 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, - 0x020d, 0x2003, 0x0020, 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, - 0x0001, 0x00de, 0x0005, 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, - 0x0d30, 0x7827, 0x0015, 0x782b, 0x0000, 0x7803, 0x0001, 0x6800, - 0x9085, 0x1800, 0x6802, 0x00de, 0x0005, 0x6824, 0x9084, 0x0003, - 0x1de0, 0x0005, 0x2001, 0x0030, 0x2c08, 0x621c, 0x0021, 0x7830, - 0x9086, 0x0041, 0x0005, 0x00f6, 0x2079, 0x0300, 0x0006, 0x7808, - 0xd09c, 0x0140, 0x0016, 0x0026, 0x00c6, 0x080c, 0x1335, 0x00ce, - 0x002e, 0x001e, 0x000e, 0x0006, 0x7832, 0x7936, 0x7a3a, 0x781b, - 0x8080, 0x0059, 0x1118, 0x000e, 0x00fe, 0x0005, 0x000e, 0x792c, - 0x3900, 0x8000, 0x2004, 0x080c, 0x0d65, 0x2009, 0xff00, 0x8109, - 0x0120, 0x7818, 0xd0bc, 0x1dd8, 0x0005, 0x9085, 0x0001, 0x0005, - 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x0c79, 0x1108, 0x0005, - 0x792c, 0x3900, 0x8000, 0x2004, 0x080c, 0x0d65, 0x7037, 0x0001, - 0x7150, 0x7037, 0x0002, 0x7050, 0x2060, 0xd1bc, 0x1110, 0x7054, - 0x2060, 0x0005, 0x00e6, 0x0016, 0x2071, 0x0200, 0x0c79, 0x6124, - 0xd1dc, 0x01f8, 0x701c, 0xd08c, 0x0904, 0x1651, 0x7017, 0x0000, - 0x2001, 0x0264, 0x2004, 0xd0bc, 0x0904, 0x1651, 0x2001, 0x0268, - 0x00c6, 0x2064, 0x6104, 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, - 0x1651, 0x9c06, 0x15f0, 0x0126, 0x2091, 0x2600, 0x080c, 0x7a59, - 0x012e, 0x7358, 0x745c, 0x6014, 0x905d, 0x0598, 0x2b48, 0x6010, - 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x190c, 0xbc1e, 0xab42, - 0xac3e, 0x2001, 0x1875, 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, - 0x1158, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1120, - 0xa83b, 0x7fff, 0xa837, 0xffff, 0x080c, 0x1d24, 0x1190, 0x080c, - 0x17ff, 0x2a00, 0xa816, 0x0130, 0x2800, 0xa80e, 0x2c05, 0xa80a, - 0x2c00, 0xa812, 0x7037, 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, - 0x0005, 0x7037, 0x0050, 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, - 0x153a, 0x0005, 0x080c, 0x0d65, 0x0016, 0x2009, 0x00a0, 0x8109, - 0xa001, 0xa001, 0xa001, 0x1dd8, 0x001e, 0x2cf0, 0x0126, 0x2091, - 0x2200, 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0x903e, 0x2730, - 0xa864, 0x2068, 0xa81a, 0x9d84, 0x000f, 0x9088, 0x1d04, 0x2165, - 0x0002, 0x1690, 0x16dd, 0x1690, 0x1690, 0x1690, 0x16bf, 0x1690, - 0x1694, 0x1689, 0x16d4, 0x1690, 0x1690, 0x1690, 0x1799, 0x16a8, - 0x169e, 0xa964, 0x918c, 0x00ff, 0x918e, 0x0048, 0x0904, 0x16d4, - 0x9085, 0x0001, 0x0804, 0x1790, 0xa87c, 0xd0bc, 0x0dc8, 0xa890, - 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x16e4, 0xa87c, 0xd0bc, - 0x0d78, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa888, 0x0804, 0x1733, - 0xa87c, 0xd0bc, 0x0d28, 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa804, + 0x1b0a, 0x782c, 0x201a, 0x8318, 0x221a, 0x7803, 0x0000, 0x2069, + 0x1a51, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, + 0x8318, 0x1f04, 0x0db4, 0x2069, 0x1a71, 0x2019, 0x0050, 0x20a9, + 0x0020, 0x7b26, 0x7a28, 0x226a, 0x8d68, 0x8318, 0x1f04, 0x0dc1, + 0x0491, 0x002e, 0x003e, 0x00de, 0x015e, 0x2079, 0x1800, 0x7803, + 0x0005, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x0180, + 0x2001, 0x19fa, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, + 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, 0x1001, + 0x080c, 0x53b7, 0x1170, 0x080c, 0x0f08, 0x0110, 0x080c, 0x0e5b, + 0x080c, 0x53b7, 0x1130, 0x2071, 0x1800, 0x2011, 0x8000, 0x080c, + 0x0f1c, 0x0c70, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x9086, 0x0001, 0x1120, 0x2001, 0x0015, 0x080c, 0x98b8, 0x2079, + 0x0380, 0x2069, 0x1adb, 0x7818, 0x6802, 0x781c, 0x6806, 0x7840, + 0x680a, 0x7844, 0x680e, 0x782c, 0x6812, 0x2019, 0x1ae6, 0x9016, + 0x7808, 0xd09c, 0x0150, 0x7820, 0x201a, 0x8210, 0x8318, 0x8210, + 0x9282, 0x0011, 0x0ea8, 0x2011, 0xdead, 0x6a2a, 0x7830, 0x681a, + 0x7834, 0x681e, 0x7838, 0x6822, 0x783c, 0x6826, 0x7803, 0x0000, + 0x2069, 0x1a9b, 0x901e, 0x20a9, 0x0020, 0x7b26, 0x7828, 0x206a, + 0x8d68, 0x8318, 0x1f04, 0x0e35, 0x2069, 0x1abb, 0x2019, 0x00b0, + 0x20a9, 0x0020, 0x7b26, 0x7828, 0x206a, 0x8d68, 0x8318, 0x1f04, + 0x0e42, 0x0005, 0x918c, 0x03ff, 0x2001, 0x0003, 0x2004, 0x9084, + 0x0600, 0x1118, 0x918d, 0x6c00, 0x0010, 0x918d, 0x6400, 0x2001, + 0x017f, 0x2102, 0x0005, 0x0026, 0x0126, 0x2011, 0x0080, 0x080c, + 0x0efa, 0x20a9, 0x0900, 0x080c, 0x0f30, 0x2011, 0x0040, 0x080c, + 0x0efa, 0x20a9, 0x0900, 0x080c, 0x0f30, 0x0c78, 0x0026, 0x080c, + 0x0f08, 0x1188, 0x2011, 0x010e, 0x2214, 0x9294, 0x0007, 0x9296, + 0x0007, 0x0118, 0x2011, 0x0947, 0x0010, 0x2011, 0x1b47, 0x080c, + 0x0f1c, 0x002e, 0x0005, 0x2011, 0x010e, 0x2214, 0x9294, 0x0007, + 0x9296, 0x0007, 0x0118, 0x2011, 0xa880, 0x0010, 0x2011, 0x6840, + 0xd0e4, 0x70ef, 0x0000, 0x1128, 0x70ef, 0x0fa0, 0x080c, 0x0f0d, + 0x002e, 0x0005, 0x0026, 0x080c, 0x0f08, 0x0148, 0xd0a4, 0x1138, + 0x2011, 0xcdd5, 0x0010, 0x2011, 0x0080, 0x080c, 0x0f0d, 0x002e, + 0x0005, 0x0026, 0x70ef, 0x0000, 0x080c, 0x0f08, 0x1130, 0x2011, + 0x8040, 0x080c, 0x0f1c, 0x002e, 0x0005, 0x080c, 0x2850, 0x1118, + 0x2011, 0xcdc5, 0x0010, 0x2011, 0xcac2, 0x080c, 0x0f0d, 0x002e, + 0x0005, 0x00e6, 0x0016, 0x0006, 0x2071, 0x1800, 0xd0b4, 0x70e8, + 0x71e4, 0x1118, 0xc0e4, 0xc1f4, 0x0050, 0x0006, 0x3b00, 0x9084, + 0xff3e, 0x20d8, 0x000e, 0x70ef, 0x0000, 0xc0e5, 0xc1f5, 0x0099, + 0x000e, 0x001e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0xd0e4, + 0x70e8, 0x1110, 0xc0dc, 0x0008, 0xc0dd, 0x0016, 0x71e4, 0x0019, + 0x001e, 0x00ee, 0x0005, 0x70ea, 0x71e6, 0x7000, 0x9084, 0x0007, + 0x000b, 0x0005, 0x0ec0, 0x0e9a, 0x0e9a, 0x0e6e, 0x0ea9, 0x0e9a, + 0x0e9a, 0x0ea9, 0xc284, 0x0016, 0x3b08, 0x3a00, 0x9104, 0x918d, + 0x00c1, 0x21d8, 0x9084, 0xff3e, 0x9205, 0x20d0, 0x001e, 0x0005, + 0x2001, 0x183a, 0x2004, 0xd0dc, 0x0005, 0x9e86, 0x1800, 0x190c, + 0x0d65, 0x70e8, 0xd0e4, 0x0108, 0xc2e5, 0x72ea, 0xd0e4, 0x1118, + 0x9294, 0x00c1, 0x08f9, 0x0005, 0x9e86, 0x1800, 0x190c, 0x0d65, + 0x70e4, 0xd0f4, 0x0108, 0xc2f5, 0x72e6, 0xd0f4, 0x1140, 0x9284, + 0x8000, 0x8005, 0xc284, 0x9215, 0x9294, 0x00c1, 0x0861, 0x0005, + 0x1d04, 0x0f30, 0x2091, 0x6000, 0x1f04, 0x0f30, 0x0005, 0x890e, + 0x810e, 0x810f, 0x9194, 0x003f, 0x918c, 0xffc0, 0x0005, 0x0006, + 0x2200, 0x914d, 0x894f, 0x894d, 0x894d, 0x000e, 0x0005, 0x01d6, + 0x0146, 0x0036, 0x0096, 0x2061, 0x188b, 0x600b, 0x0000, 0x600f, + 0x0000, 0x6003, 0x0000, 0x6007, 0x0000, 0x2009, 0xffc0, 0x2105, + 0x0006, 0x2001, 0xaaaa, 0x200f, 0x2019, 0x5555, 0x9016, 0x2049, + 0x0bff, 0xab02, 0xa001, 0xa001, 0xa800, 0x9306, 0x1138, 0x2105, + 0x9306, 0x0120, 0x8210, 0x99c8, 0x0400, 0x0c98, 0x000e, 0x200f, + 0x2001, 0x189b, 0x928a, 0x000e, 0x1638, 0x928a, 0x0006, 0x2011, + 0x0006, 0x1210, 0x2011, 0x0000, 0x2202, 0x9006, 0x2008, 0x82ff, + 0x01b0, 0x8200, 0x600a, 0x600f, 0xffff, 0x6003, 0x0002, 0x6007, + 0x0000, 0x0026, 0x2019, 0x0010, 0x9280, 0x0001, 0x20e8, 0x21a0, + 0x21a8, 0x4104, 0x8319, 0x1de0, 0x8211, 0x1da0, 0x002e, 0x009e, + 0x003e, 0x014e, 0x01de, 0x0005, 0x2011, 0x000e, 0x08e8, 0x0016, + 0x0026, 0x0096, 0x3348, 0x080c, 0x0f37, 0x2100, 0x9300, 0x2098, + 0x22e0, 0x009e, 0x002e, 0x001e, 0x0036, 0x3518, 0x20a9, 0x0001, + 0x4002, 0x8007, 0x4004, 0x8319, 0x1dd8, 0x003e, 0x0005, 0x20e9, + 0x0001, 0x71b4, 0x81ff, 0x11c0, 0x9006, 0x2009, 0x0200, 0x20a9, + 0x0002, 0x9298, 0x0018, 0x23a0, 0x4001, 0x2009, 0x0700, 0x20a9, + 0x0002, 0x9298, 0x0008, 0x23a0, 0x4001, 0x7078, 0x8007, 0x717c, + 0x810f, 0x20a9, 0x0002, 0x4001, 0x9298, 0x000c, 0x23a0, 0x900e, + 0x080c, 0x0d45, 0x2001, 0x0000, 0x810f, 0x20a9, 0x0002, 0x4001, + 0x0005, 0x89ff, 0x0140, 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, + 0x1061, 0x009e, 0x0cb0, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, + 0x10da, 0x090c, 0x0d65, 0x00ee, 0x0005, 0x0086, 0x00e6, 0x0006, + 0x0026, 0x0036, 0x0126, 0x2091, 0x8000, 0x00c9, 0x2071, 0x1800, + 0x73bc, 0x702c, 0x9016, 0x9045, 0x0158, 0x8210, 0x9906, 0x090c, + 0x0d65, 0x2300, 0x9202, 0x0120, 0x1a0c, 0x0d65, 0xa000, 0x0c98, + 0x012e, 0x003e, 0x002e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x0086, + 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x190e, 0x7010, + 0x9005, 0x0140, 0x7018, 0x9045, 0x0128, 0x9906, 0x090c, 0x0d65, + 0xa000, 0x0cc8, 0x012e, 0x000e, 0x00ee, 0x008e, 0x0005, 0x00e6, + 0x2071, 0x1800, 0x0126, 0x2091, 0x8000, 0x70bc, 0x8001, 0x0270, + 0x70be, 0x702c, 0x2048, 0x9085, 0x0001, 0xa800, 0x702e, 0xa803, + 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, 0x0cd8, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x70bc, 0x90ca, + 0x0040, 0x0268, 0x8001, 0x70be, 0x702c, 0x2048, 0xa800, 0x702e, + 0xa803, 0x0000, 0xa807, 0x0000, 0x012e, 0x00ee, 0x0005, 0x904e, + 0x0cd8, 0x00e6, 0x0126, 0x2091, 0x8000, 0x0016, 0x890e, 0x810e, + 0x810f, 0x9184, 0x003f, 0xa862, 0x9184, 0xffc0, 0xa85e, 0x001e, + 0x0020, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x702c, + 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x8087, + 0x012e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9026, 0x2009, 0x0000, + 0x2049, 0x0400, 0x2900, 0x702e, 0x8940, 0x2800, 0xa802, 0xa95e, + 0xa863, 0x0001, 0x8420, 0x9886, 0x0440, 0x0120, 0x2848, 0x9188, + 0x0040, 0x0c90, 0x2071, 0x188b, 0x7000, 0x9005, 0x11a0, 0x2001, + 0x049b, 0xa802, 0x2048, 0x2009, 0x26c0, 0x8940, 0x2800, 0xa802, + 0xa95e, 0xa863, 0x0001, 0x8420, 0x9886, 0x0800, 0x0120, 0x2848, + 0x9188, 0x0040, 0x0c90, 0x2071, 0x188b, 0x7104, 0x7200, 0x82ff, + 0x01d0, 0x7308, 0x8318, 0x831f, 0x831b, 0x831b, 0x7312, 0x8319, + 0x2001, 0x0800, 0xa802, 0x2048, 0x8900, 0xa802, 0x2040, 0xa95e, + 0xaa62, 0x8420, 0x2300, 0x9906, 0x0130, 0x2848, 0x9188, 0x0040, + 0x9291, 0x0000, 0x0c88, 0xa803, 0x0000, 0x2071, 0x1800, 0x74ba, + 0x74be, 0x0005, 0x00e6, 0x0016, 0x9984, 0xfc00, 0x01e8, 0x908c, + 0xf800, 0x1168, 0x9982, 0x0400, 0x02b8, 0x9982, 0x0440, 0x0278, + 0x9982, 0x049b, 0x0288, 0x9982, 0x0800, 0x1270, 0x0040, 0x9982, + 0x0800, 0x0250, 0x2071, 0x188b, 0x7010, 0x9902, 0x1228, 0x9085, + 0x0001, 0x001e, 0x00ee, 0x0005, 0x9006, 0x0cd8, 0x00e6, 0x2071, + 0x19f9, 0x7007, 0x0000, 0x9006, 0x701e, 0x7022, 0x7002, 0x2071, + 0x0000, 0x7010, 0x9085, 0x8044, 0x7012, 0x2071, 0x0080, 0x9006, + 0x702b, 0x0060, 0x20a9, 0x0040, 0x7022, 0x1f04, 0x1114, 0x702b, + 0x0060, 0x702b, 0x0020, 0x20a9, 0x0040, 0x7022, 0x1f04, 0x111d, + 0x702b, 0x0020, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, + 0xa06f, 0x0000, 0x2071, 0x19f9, 0x701c, 0x9088, 0x1a03, 0x280a, + 0x8000, 0x9084, 0x003f, 0x701e, 0x7120, 0x9106, 0x090c, 0x0d65, + 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x00a9, 0x00fe, + 0x00ee, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x00e6, 0x2071, + 0x19f9, 0x7004, 0x9005, 0x1128, 0x00f6, 0x2079, 0x0080, 0x0021, + 0x00fe, 0x00ee, 0x012e, 0x0005, 0x7004, 0x9086, 0x0000, 0x1110, + 0x7007, 0x0006, 0x7000, 0x0002, 0x1166, 0x1164, 0x1164, 0x1164, + 0x12dd, 0x12dd, 0x12dd, 0x12dd, 0x080c, 0x0d65, 0x701c, 0x7120, + 0x9106, 0x1148, 0x792c, 0x9184, 0x0001, 0x1120, 0xd1fc, 0x1110, + 0x7007, 0x0000, 0x0005, 0x0096, 0x9180, 0x1a03, 0x2004, 0x700a, + 0x2048, 0x8108, 0x918c, 0x003f, 0x7122, 0x782b, 0x0026, 0xa88c, + 0x7802, 0xa890, 0x7806, 0xa894, 0x780a, 0xa898, 0x780e, 0xa878, + 0x700e, 0xa870, 0x7016, 0xa874, 0x701a, 0xa868, 0x009e, 0xd084, + 0x0120, 0x7007, 0x0001, 0x0029, 0x0005, 0x7007, 0x0002, 0x00b1, + 0x0005, 0x0016, 0x0026, 0x710c, 0x2011, 0x0040, 0x9182, 0x0040, + 0x1210, 0x2110, 0x9006, 0x700e, 0x7212, 0x8203, 0x7812, 0x782b, + 0x0020, 0x782b, 0x0041, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, + 0x0136, 0x0146, 0x0156, 0x7014, 0x20e0, 0x7018, 0x2098, 0x20e9, + 0x0000, 0x20a1, 0x0088, 0x782b, 0x0026, 0x710c, 0x2011, 0x0040, + 0x9182, 0x0040, 0x1210, 0x2110, 0x9006, 0x700e, 0x22a8, 0x4006, + 0x8203, 0x7812, 0x782b, 0x0020, 0x3300, 0x701a, 0x782b, 0x0001, + 0x015e, 0x014e, 0x013e, 0x002e, 0x001e, 0x0005, 0x2009, 0x19f9, + 0x2104, 0xc095, 0x200a, 0x080c, 0x1143, 0x0005, 0x0016, 0x00e6, + 0x2071, 0x19f9, 0x00f6, 0x2079, 0x0080, 0x792c, 0xd1bc, 0x190c, + 0x0d5e, 0x782b, 0x0002, 0xd1fc, 0x0120, 0x918c, 0x0700, 0x7004, + 0x0023, 0x00fe, 0x00ee, 0x001e, 0x0005, 0x1154, 0x11fc, 0x1230, + 0x0d65, 0x0d65, 0x12e9, 0x0d65, 0x918c, 0x0700, 0x1550, 0x0136, + 0x0146, 0x0156, 0x7014, 0x20e8, 0x7018, 0x20a0, 0x20e1, 0x0000, + 0x2099, 0x0088, 0x782b, 0x0040, 0x7010, 0x20a8, 0x4005, 0x3400, + 0x701a, 0x015e, 0x014e, 0x013e, 0x700c, 0x9005, 0x0578, 0x7800, + 0x7802, 0x7804, 0x7806, 0x080c, 0x1199, 0x0005, 0x7008, 0x0096, + 0x2048, 0xa86f, 0x0100, 0x009e, 0x7007, 0x0000, 0x080c, 0x1154, + 0x0005, 0x7008, 0x0096, 0x2048, 0xa86f, 0x0200, 0x009e, 0x0ca0, + 0x918c, 0x0700, 0x1150, 0x700c, 0x9005, 0x0180, 0x7800, 0x7802, + 0x7804, 0x7806, 0x080c, 0x11ae, 0x0005, 0x7008, 0x0096, 0x2048, + 0xa86f, 0x0200, 0x009e, 0x7007, 0x0000, 0x0080, 0x0096, 0x7008, + 0x2048, 0x7800, 0xa88e, 0x7804, 0xa892, 0x7808, 0xa896, 0x780c, + 0xa89a, 0xa86f, 0x0100, 0x009e, 0x7007, 0x0000, 0x0096, 0x00d6, + 0x7008, 0x2048, 0x2001, 0x18b7, 0x2004, 0x9906, 0x1128, 0xa89c, + 0x080f, 0x00de, 0x009e, 0x00a0, 0x00de, 0x009e, 0x0096, 0x00d6, + 0x7008, 0x2048, 0x0081, 0x0150, 0xa89c, 0x0086, 0x2940, 0x080f, + 0x008e, 0x00de, 0x009e, 0x080c, 0x1143, 0x0005, 0x00de, 0x009e, + 0x080c, 0x1143, 0x0005, 0xa8a8, 0xd08c, 0x0005, 0x0096, 0xa0a0, + 0x904d, 0x090c, 0x0d65, 0xa06c, 0x908e, 0x0100, 0x0130, 0xa87b, + 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x080c, 0x69a9, 0xa09f, + 0x0000, 0xa0a3, 0x0000, 0x2848, 0x080c, 0x1061, 0x009e, 0x0005, + 0x00a6, 0xa0a0, 0x904d, 0x090c, 0x0d65, 0xa06c, 0x908e, 0x0100, + 0x0128, 0xa87b, 0x0001, 0xa883, 0x0000, 0x00c0, 0xa80c, 0x2050, + 0xb004, 0x9005, 0x0198, 0xa80e, 0x2050, 0x8006, 0x8006, 0x8007, + 0x908c, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xa076, 0xa172, + 0xb000, 0xa07a, 0x2810, 0x080c, 0x1124, 0x00e8, 0xa97c, 0xa894, + 0x0016, 0x0006, 0x080c, 0x69a9, 0x000e, 0x001e, 0xd1fc, 0x1138, + 0xd1f4, 0x0128, 0x00c6, 0x2060, 0x080c, 0x9be6, 0x00ce, 0x7008, + 0x2048, 0xa89f, 0x0000, 0xa8a3, 0x0000, 0x080c, 0x1061, 0x7007, + 0x0000, 0x080c, 0x1143, 0x00ae, 0x0005, 0x0126, 0x2091, 0x8000, + 0x782b, 0x1001, 0x7007, 0x0005, 0x7000, 0xc094, 0x7002, 0x012e, + 0x0005, 0x7007, 0x0000, 0x080c, 0x1154, 0x0005, 0x0126, 0x2091, + 0x2200, 0x2079, 0x0300, 0x2071, 0x1a43, 0x7003, 0x0000, 0x78bf, + 0x00f6, 0x0041, 0x7807, 0x0007, 0x7803, 0x0000, 0x7803, 0x0001, + 0x012e, 0x0005, 0x00c6, 0x7803, 0x0000, 0x2001, 0x0165, 0x2003, + 0x4198, 0x7808, 0xd09c, 0x0110, 0x7820, 0x0cd8, 0x2001, 0x1a44, + 0x2003, 0x0000, 0x78ab, 0x0004, 0x78ac, 0xd0ac, 0x1de8, 0x78ab, + 0x0002, 0x7807, 0x0007, 0x7827, 0x0030, 0x782b, 0x0400, 0x7827, + 0x0031, 0x782b, 0x1a51, 0x781f, 0xff00, 0x781b, 0xff00, 0x2001, + 0x0200, 0x2004, 0xd0dc, 0x0110, 0x781f, 0x0303, 0x2061, 0x1a51, + 0x602f, 0x1ddc, 0x2001, 0x1819, 0x2004, 0x9082, 0x1ddc, 0x6032, + 0x603b, 0x1d1c, 0x602b, 0x1a91, 0x6007, 0x1a71, 0x2061, 0x1a71, + 0x00ce, 0x0005, 0x0126, 0x2091, 0x2200, 0x7908, 0x9184, 0x0070, + 0x190c, 0x0d5e, 0xd19c, 0x05a0, 0x7820, 0x908c, 0xf000, 0x0540, + 0x2060, 0x6020, 0x9086, 0x0003, 0x1550, 0x6000, 0x9086, 0x0004, + 0x1530, 0x6114, 0x2148, 0xa876, 0xa87a, 0xa867, 0x0103, 0x080c, + 0x67cb, 0x00b6, 0x6010, 0x2058, 0xba3c, 0x8211, 0x0208, 0xba3e, + 0xb8c0, 0x9005, 0x190c, 0x63ba, 0x00be, 0x6044, 0xd0fc, 0x190c, + 0x98f0, 0x080c, 0x9c0e, 0x7808, 0xd09c, 0x19b0, 0x012e, 0x0005, + 0x908a, 0x0024, 0x1a0c, 0x0d65, 0x002b, 0x012e, 0x0005, 0x04b0, + 0x012e, 0x0005, 0x13a6, 0x13cc, 0x13fc, 0x1401, 0x1405, 0x140a, + 0x1432, 0x1436, 0x1444, 0x1448, 0x13a6, 0x14d4, 0x14d8, 0x153b, + 0x13a6, 0x13a6, 0x13a6, 0x13a6, 0x13a6, 0x13a6, 0x13a6, 0x13a6, + 0x13a6, 0x13a6, 0x13a6, 0x13a6, 0x13a6, 0x140c, 0x13a6, 0x13d4, + 0x13f9, 0x13c0, 0x13a6, 0x13e0, 0x13aa, 0x13a8, 0x080c, 0x0d65, + 0x080c, 0x0d5e, 0x080c, 0x1542, 0x2009, 0x1a50, 0x2104, 0x8000, + 0x200a, 0x080c, 0x7b25, 0x080c, 0x1989, 0x0005, 0x6044, 0xd0fc, + 0x190c, 0x98f0, 0x2009, 0x0055, 0x080c, 0x9c82, 0x012e, 0x0005, + 0x080c, 0x1542, 0x2060, 0x6044, 0xd0fc, 0x190c, 0x98f0, 0x2009, + 0x0055, 0x080c, 0x9c82, 0x0005, 0x2009, 0x0048, 0x080c, 0x1542, + 0x2060, 0x080c, 0x9c82, 0x0005, 0x2009, 0x0054, 0x080c, 0x1542, + 0x2060, 0x6044, 0xd0fc, 0x190c, 0x98f0, 0x080c, 0x9c82, 0x0005, + 0x080c, 0x1542, 0x2060, 0x0056, 0x0066, 0x080c, 0x1542, 0x2028, + 0x080c, 0x1542, 0x2030, 0x0036, 0x0046, 0x2021, 0x0000, 0x2418, + 0x2009, 0x0056, 0x080c, 0x9c82, 0x004e, 0x003e, 0x006e, 0x005e, + 0x0005, 0x080c, 0x1542, 0x0005, 0x7004, 0xc085, 0xc0b5, 0x7006, + 0x0005, 0x7004, 0xc085, 0x7006, 0x0005, 0x080c, 0x1542, 0x080c, + 0x15ff, 0x0005, 0x080c, 0x0d65, 0x080c, 0x1542, 0x2060, 0x6014, + 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, 0x2009, 0x0048, 0x080c, + 0x9c82, 0x2001, 0x015d, 0x2003, 0x0000, 0x2009, 0x03e8, 0x8109, + 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x2001, 0x0218, + 0x2004, 0xd0ec, 0x1110, 0x080c, 0x1547, 0x2001, 0x0307, 0x2003, + 0x8000, 0x0005, 0x7004, 0xc095, 0x7006, 0x0005, 0x080c, 0x1542, + 0x2060, 0x6014, 0x0096, 0x2048, 0xa83b, 0xffff, 0x009e, 0x2009, + 0x0048, 0x080c, 0x9c82, 0x0005, 0x080c, 0x1542, 0x080c, 0x0d65, + 0x080c, 0x1542, 0x080c, 0x14bf, 0x7827, 0x0018, 0x79ac, 0xd1dc, + 0x0540, 0x7827, 0x0015, 0x7828, 0x782b, 0x0000, 0x9065, 0x0138, + 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, 0x0020, 0x0400, 0x7004, + 0x9005, 0x1180, 0x78ab, 0x0004, 0x7827, 0x0018, 0x782b, 0x0000, + 0xd1bc, 0x090c, 0x0d65, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, + 0x0020, 0x0490, 0x78ab, 0x0004, 0x7803, 0x0001, 0x080c, 0x14d8, + 0x0005, 0x7828, 0x782b, 0x0000, 0x9065, 0x090c, 0x0d65, 0x6014, + 0x2048, 0x78ab, 0x0004, 0x918c, 0x0700, 0x01a8, 0x080c, 0x7b25, + 0x080c, 0x1989, 0x080c, 0xb870, 0x0158, 0xa9ac, 0xa936, 0xa9b0, + 0xa93a, 0xa83f, 0xffff, 0xa843, 0xffff, 0xa880, 0xc0bd, 0xa882, + 0x080c, 0xb45e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x6024, 0x190c, 0xbc71, 0x2029, 0x00c8, 0x8529, 0x0128, + 0x2001, 0x0201, 0x2004, 0x9005, 0x0dc8, 0x7dbc, 0x080c, 0xd61c, + 0xd5a4, 0x1118, 0x080c, 0x1547, 0x0005, 0x080c, 0x7b25, 0x080c, + 0x1989, 0x0005, 0x781f, 0x0300, 0x7803, 0x0001, 0x0005, 0x0016, + 0x0066, 0x0076, 0x00f6, 0x2079, 0x0300, 0x7908, 0x918c, 0x0007, + 0x9186, 0x0003, 0x0120, 0x2001, 0x0016, 0x080c, 0x15b8, 0x00fe, + 0x007e, 0x006e, 0x001e, 0x0005, 0x7004, 0xc09d, 0x7006, 0x0005, + 0x7104, 0x9184, 0x0004, 0x190c, 0x0d65, 0xd184, 0x1189, 0xd19c, + 0x0158, 0xc19c, 0x7106, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, + 0x0020, 0x080c, 0x1547, 0x0005, 0x81ff, 0x190c, 0x0d65, 0x0005, + 0xc184, 0xd1b4, 0xc1b4, 0x7106, 0x0016, 0x00e6, 0x15e0, 0x2071, + 0x0200, 0x080c, 0x15f3, 0x6014, 0x9005, 0x05a8, 0x0096, 0x2048, + 0xa864, 0x009e, 0x9084, 0x00ff, 0x908e, 0x0029, 0x0160, 0x908e, + 0x0048, 0x1548, 0x601c, 0xd084, 0x11d8, 0x00f6, 0x2c78, 0x080c, + 0x1669, 0x00fe, 0x00a8, 0x00f6, 0x2c78, 0x080c, 0x17b1, 0x00fe, + 0x2009, 0x01f4, 0x8109, 0x0160, 0x2001, 0x0201, 0x2004, 0x9005, + 0x0dc8, 0x2001, 0x0218, 0x2004, 0xd0ec, 0x1110, 0x0401, 0x0040, + 0x2001, 0x020d, 0x2003, 0x0020, 0x080c, 0x1302, 0x7803, 0x0001, + 0x00ee, 0x001e, 0x0005, 0x2001, 0x020d, 0x2003, 0x0050, 0x2003, + 0x0020, 0x0069, 0x0ca8, 0x0031, 0x2060, 0x2009, 0x0053, 0x080c, + 0x9c82, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x0005, 0x080c, + 0x14bf, 0x00d6, 0x2069, 0x0200, 0x2009, 0x01f4, 0x8109, 0x0510, + 0x6804, 0x9005, 0x0dd8, 0x2001, 0x015d, 0x2003, 0x0000, 0x79bc, + 0xd1a4, 0x1528, 0x79b8, 0x918c, 0x0fff, 0x0180, 0x9182, 0x0841, + 0x1268, 0x9188, 0x0007, 0x918c, 0x0ff8, 0x810c, 0x810c, 0x810c, + 0x080c, 0x15aa, 0x6827, 0x0001, 0x8109, 0x1dd0, 0x04d9, 0x6827, + 0x0002, 0x04c1, 0x6804, 0x9005, 0x1130, 0x682c, 0xd0e4, 0x1500, + 0x6804, 0x9005, 0x0de8, 0x79b8, 0xd1ec, 0x1130, 0x08c0, 0x080c, + 0x7b25, 0x080c, 0x1989, 0x0090, 0x7827, 0x0015, 0x782b, 0x0000, + 0x7827, 0x0018, 0x782b, 0x0000, 0x2001, 0x020d, 0x2003, 0x0020, + 0x2001, 0x0307, 0x2003, 0x0300, 0x7803, 0x0001, 0x00de, 0x0005, + 0x682c, 0x9084, 0x5400, 0x9086, 0x5400, 0x0d30, 0x7827, 0x0015, + 0x782b, 0x0000, 0x7803, 0x0001, 0x6800, 0x9085, 0x1800, 0x6802, + 0x00de, 0x0005, 0x6824, 0x9084, 0x0003, 0x1de0, 0x0005, 0x2001, + 0x0030, 0x2c08, 0x621c, 0x0021, 0x7830, 0x9086, 0x0041, 0x0005, + 0x00f6, 0x2079, 0x0300, 0x0006, 0x7808, 0xd09c, 0x0140, 0x0016, + 0x0026, 0x00c6, 0x080c, 0x1342, 0x00ce, 0x002e, 0x001e, 0x000e, + 0x0006, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, 0x0059, 0x1118, + 0x000e, 0x00fe, 0x0005, 0x000e, 0x792c, 0x3900, 0x8000, 0x2004, + 0x080c, 0x0d65, 0x2009, 0xff00, 0x8109, 0x0120, 0x7818, 0xd0bc, + 0x1dd8, 0x0005, 0x9085, 0x0001, 0x0005, 0x7832, 0x7936, 0x7a3a, + 0x781b, 0x8080, 0x0c79, 0x1108, 0x0005, 0x792c, 0x3900, 0x8000, + 0x2004, 0x080c, 0x0d65, 0x7037, 0x0001, 0x7150, 0x7037, 0x0002, + 0x7050, 0x2060, 0xd1bc, 0x1110, 0x7054, 0x2060, 0x0005, 0x00e6, + 0x0016, 0x2071, 0x0200, 0x0c79, 0x6124, 0xd1dc, 0x01f8, 0x701c, + 0xd08c, 0x0904, 0x165e, 0x7017, 0x0000, 0x2001, 0x0264, 0x2004, + 0xd0bc, 0x0904, 0x165e, 0x2001, 0x0268, 0x00c6, 0x2064, 0x6104, + 0x6038, 0x00ce, 0x918e, 0x0039, 0x1904, 0x165e, 0x9c06, 0x15f0, + 0x0126, 0x2091, 0x2600, 0x080c, 0x7a7d, 0x012e, 0x7358, 0x745c, + 0x6014, 0x905d, 0x0598, 0x2b48, 0x6010, 0x00b6, 0x2058, 0xb800, + 0x00be, 0xd0bc, 0x190c, 0xbc4c, 0xab42, 0xac3e, 0x2001, 0x187d, + 0x2004, 0xd0b4, 0x1170, 0x601c, 0xd0e4, 0x1158, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1120, 0xa83b, 0x7fff, 0xa837, + 0xffff, 0x080c, 0x1d3c, 0x1190, 0x080c, 0x180c, 0x2a00, 0xa816, + 0x0130, 0x2800, 0xa80e, 0x2c05, 0xa80a, 0x2c00, 0xa812, 0x7037, + 0x0020, 0x781f, 0x0300, 0x001e, 0x00ee, 0x0005, 0x7037, 0x0050, + 0x7037, 0x0020, 0x001e, 0x00ee, 0x080c, 0x1547, 0x0005, 0x080c, + 0x0d65, 0x0016, 0x2009, 0x00a0, 0x8109, 0xa001, 0xa001, 0xa001, + 0x1dd8, 0x001e, 0x2cf0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, + 0x6014, 0x2048, 0x2940, 0x903e, 0x2730, 0xa864, 0x2068, 0xa81a, + 0x9d84, 0x000f, 0x9088, 0x1d1c, 0x2165, 0x0002, 0x169d, 0x16ea, + 0x169d, 0x169d, 0x169d, 0x16cc, 0x169d, 0x16a1, 0x1696, 0x16e1, + 0x169d, 0x169d, 0x169d, 0x17a6, 0x16b5, 0x16ab, 0xa964, 0x918c, + 0x00ff, 0x918e, 0x0048, 0x0904, 0x16e1, 0x9085, 0x0001, 0x0804, + 0x179d, 0xa87c, 0xd0bc, 0x0dc8, 0xa890, 0xa842, 0xa88c, 0xa83e, + 0xa888, 0x0804, 0x16f1, 0xa87c, 0xd0bc, 0x0d78, 0xa890, 0xa842, + 0xa88c, 0xa83e, 0xa888, 0x0804, 0x1740, 0xa87c, 0xd0bc, 0x0d28, + 0xa890, 0xa842, 0xa88c, 0xa83e, 0xa804, 0x9045, 0x090c, 0x0d65, + 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, 0x1d1c, 0x2065, 0xa888, + 0xd19c, 0x1904, 0x1740, 0x0428, 0xa87c, 0xd0ac, 0x0970, 0xa804, 0x9045, 0x090c, 0x0d65, 0xa164, 0xa91a, 0x91ec, 0x000f, 0x9d80, - 0x1d04, 0x2065, 0xa888, 0xd19c, 0x1904, 0x1733, 0x0428, 0xa87c, - 0xd0ac, 0x0970, 0xa804, 0x9045, 0x090c, 0x0d65, 0xa164, 0xa91a, - 0x91ec, 0x000f, 0x9d80, 0x1d04, 0x2065, 0x9006, 0xa842, 0xa83e, - 0xd19c, 0x1904, 0x1733, 0x0080, 0xa87c, 0xd0ac, 0x0904, 0x1690, - 0x9006, 0xa842, 0xa83e, 0x0804, 0x1733, 0xa87c, 0xd0ac, 0x0904, - 0x1690, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0036, 0x1a0c, - 0x0d65, 0x9082, 0x001b, 0x0002, 0x1707, 0x1707, 0x1709, 0x1707, - 0x1707, 0x1707, 0x170f, 0x1707, 0x1707, 0x1707, 0x1715, 0x1707, - 0x1707, 0x1707, 0x171b, 0x1707, 0x1707, 0x1707, 0x1721, 0x1707, - 0x1707, 0x1707, 0x1727, 0x1707, 0x1707, 0x1707, 0x172d, 0x080c, - 0x0d65, 0xa574, 0xa478, 0xa37c, 0xa280, 0x0804, 0x1778, 0xa584, - 0xa488, 0xa38c, 0xa290, 0x0804, 0x1778, 0xa594, 0xa498, 0xa39c, - 0xa2a0, 0x0804, 0x1778, 0xa5a4, 0xa4a8, 0xa3ac, 0xa2b0, 0x0804, - 0x1778, 0xa5b4, 0xa4b8, 0xa3bc, 0xa2c0, 0x0804, 0x1778, 0xa5c4, - 0xa4c8, 0xa3cc, 0xa2d0, 0x0804, 0x1778, 0xa5d4, 0xa4d8, 0xa3dc, - 0xa2e0, 0x0804, 0x1778, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d65, - 0x9082, 0x001b, 0x0002, 0x1756, 0x1754, 0x1754, 0x1754, 0x1754, - 0x1754, 0x175d, 0x1754, 0x1754, 0x1754, 0x1754, 0x1754, 0x1764, - 0x1754, 0x1754, 0x1754, 0x1754, 0x1754, 0x176b, 0x1754, 0x1754, - 0x1754, 0x1754, 0x1754, 0x1772, 0x080c, 0x0d65, 0xa56c, 0xa470, - 0xa774, 0xa678, 0xa37c, 0xa280, 0x00d8, 0xa584, 0xa488, 0xa78c, - 0xa690, 0xa394, 0xa298, 0x00a0, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, - 0xa3ac, 0xa2b0, 0x0068, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0xa3c4, - 0xa2c8, 0x0030, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, 0xa3dc, 0xa2e0, - 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa988, 0x8c60, - 0x2c1d, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x8109, 0xa916, 0x1158, - 0x3e60, 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, - 0x00ce, 0x012e, 0x0005, 0x2800, 0xa80e, 0xab0a, 0x2c00, 0xa812, - 0x0c78, 0x0804, 0x1690, 0x0016, 0x2009, 0x00a0, 0x8109, 0xa001, - 0xa001, 0xa001, 0x1dd8, 0x001e, 0x2ff0, 0x0126, 0x2091, 0x2200, - 0x00c6, 0x3e60, 0x6014, 0x2048, 0x2940, 0xa80e, 0x2061, 0x1cff, - 0xa813, 0x1cff, 0x2c05, 0xa80a, 0xa964, 0xa91a, 0xa87c, 0xd0ac, - 0x090c, 0x0d65, 0x9006, 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0034, - 0x1a0c, 0x0d65, 0xadcc, 0xacd0, 0xafd4, 0xaed8, 0xabdc, 0xaae0, - 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa8ac, 0xaab0, - 0xa836, 0xaa3a, 0xa988, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0008, - 0x1120, 0x8109, 0xa916, 0x0128, 0x0078, 0x918a, 0x0002, 0xa916, - 0x1158, 0x3e60, 0x601c, 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, - 0x9006, 0x00ce, 0x012e, 0x0005, 0xa804, 0x9045, 0x090c, 0x0d65, - 0xa80e, 0xa064, 0xa81a, 0x9084, 0x000f, 0x9080, 0x1d04, 0x2015, - 0x82ff, 0x090c, 0x0d65, 0xaa12, 0x2205, 0xa80a, 0x0c10, 0x903e, - 0x2730, 0xa880, 0xd0fc, 0x1190, 0x2d00, 0x0002, 0x18f4, 0x1856, - 0x1856, 0x18f4, 0x18f4, 0x18ee, 0x18f4, 0x1856, 0x18a5, 0x18a5, - 0x18a5, 0x18f4, 0x18f4, 0x18f4, 0x18eb, 0x18a5, 0xc0fc, 0xa882, - 0xab2c, 0xaa30, 0xad1c, 0xac20, 0xdd9c, 0x0904, 0x18f6, 0x2c05, - 0x908a, 0x0034, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x1842, - 0x1840, 0x1840, 0x1840, 0x1840, 0x1840, 0x1846, 0x1840, 0x1840, - 0x1840, 0x1840, 0x1840, 0x184a, 0x1840, 0x1840, 0x1840, 0x1840, - 0x1840, 0x184e, 0x1840, 0x1840, 0x1840, 0x1840, 0x1840, 0x1852, - 0x080c, 0x0d65, 0xa774, 0xa678, 0x0804, 0x18f6, 0xa78c, 0xa690, - 0x0804, 0x18f6, 0xa7a4, 0xa6a8, 0x0804, 0x18f6, 0xa7bc, 0xa6c0, - 0x0804, 0x18f6, 0xa7d4, 0xa6d8, 0x0804, 0x18f6, 0x2c05, 0x908a, - 0x0036, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x1879, 0x1879, - 0x187b, 0x1879, 0x1879, 0x1879, 0x1881, 0x1879, 0x1879, 0x1879, - 0x1887, 0x1879, 0x1879, 0x1879, 0x188d, 0x1879, 0x1879, 0x1879, - 0x1893, 0x1879, 0x1879, 0x1879, 0x1899, 0x1879, 0x1879, 0x1879, - 0x189f, 0x080c, 0x0d65, 0xa574, 0xa478, 0xa37c, 0xa280, 0x0804, - 0x18f6, 0xa584, 0xa488, 0xa38c, 0xa290, 0x0804, 0x18f6, 0xa594, - 0xa498, 0xa39c, 0xa2a0, 0x0804, 0x18f6, 0xa5a4, 0xa4a8, 0xa3ac, - 0xa2b0, 0x0804, 0x18f6, 0xa5b4, 0xa4b8, 0xa3bc, 0xa2c0, 0x0804, - 0x18f6, 0xa5c4, 0xa4c8, 0xa3cc, 0xa2d0, 0x0804, 0x18f6, 0xa5d4, - 0xa4d8, 0xa3dc, 0xa2e0, 0x0804, 0x18f6, 0x2c05, 0x908a, 0x0034, - 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x18c8, 0x18c6, 0x18c6, - 0x18c6, 0x18c6, 0x18c6, 0x18cf, 0x18c6, 0x18c6, 0x18c6, 0x18c6, - 0x18c6, 0x18d6, 0x18c6, 0x18c6, 0x18c6, 0x18c6, 0x18c6, 0x18dd, - 0x18c6, 0x18c6, 0x18c6, 0x18c6, 0x18c6, 0x18e4, 0x080c, 0x0d65, - 0xa56c, 0xa470, 0xa774, 0xa678, 0xa37c, 0xa280, 0x0438, 0xa584, - 0xa488, 0xa78c, 0xa690, 0xa394, 0xa298, 0x0400, 0xa59c, 0xa4a0, - 0xa7a4, 0xa6a8, 0xa3ac, 0xa2b0, 0x00c8, 0xa5b4, 0xa4b8, 0xa7bc, - 0xa6c0, 0xa3c4, 0xa2c8, 0x0090, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, - 0xa3dc, 0xa2e0, 0x0058, 0x9d86, 0x000e, 0x1130, 0x080c, 0x1cda, - 0x1904, 0x17ff, 0x900e, 0x0050, 0x080c, 0x0d65, 0xab2e, 0xaa32, - 0xad1e, 0xac22, 0xaf26, 0xae2a, 0x080c, 0x1cda, 0x0005, 0x6014, - 0x2048, 0x6118, 0x810c, 0x810c, 0x810c, 0x81ff, 0x1118, 0xa887, - 0x0001, 0x0008, 0xa986, 0x601b, 0x0002, 0xa974, 0xd1dc, 0x1108, - 0x0005, 0xa934, 0xa88c, 0x9106, 0x1158, 0xa938, 0xa890, 0x9106, - 0x1138, 0x601c, 0xc084, 0x601e, 0x2009, 0x0048, 0x0804, 0x9c76, - 0x0005, 0x0126, 0x00c6, 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, - 0x0007, 0x9186, 0x0000, 0x05b0, 0x9186, 0x0003, 0x0598, 0x6020, - 0x6023, 0x0000, 0x0006, 0x2031, 0x0008, 0x00c6, 0x781f, 0x0808, - 0x7808, 0xd09c, 0x0120, 0x080c, 0x1335, 0x8631, 0x1db8, 0x00ce, - 0x781f, 0x0800, 0x2031, 0x0168, 0x00c6, 0x7808, 0xd09c, 0x190c, - 0x1335, 0x00ce, 0x2001, 0x0038, 0x080c, 0x19f9, 0x7930, 0x9186, - 0x0040, 0x0160, 0x9186, 0x0042, 0x190c, 0x0d65, 0x2001, 0x001e, - 0x8001, 0x1df0, 0x8631, 0x1d40, 0x080c, 0x1a08, 0x000e, 0x6022, - 0x012e, 0x0005, 0x080c, 0x19f5, 0x7827, 0x0015, 0x7828, 0x9c06, - 0x1db8, 0x782b, 0x0000, 0x0ca0, 0x00f6, 0x2079, 0x0300, 0x7803, - 0x0000, 0x78ab, 0x0004, 0x00fe, 0x080c, 0x7096, 0x11b0, 0x2001, - 0x0138, 0x2003, 0x0000, 0x2001, 0x0160, 0x2003, 0x0000, 0x2011, - 0x012c, 0xa001, 0xa001, 0x8211, 0x1de0, 0x0081, 0x2001, 0x0386, - 0x2003, 0x2020, 0x080c, 0x7137, 0x0005, 0x0479, 0x0039, 0x2001, + 0x1d1c, 0x2065, 0x9006, 0xa842, 0xa83e, 0xd19c, 0x1904, 0x1740, + 0x0080, 0xa87c, 0xd0ac, 0x0904, 0x169d, 0x9006, 0xa842, 0xa83e, + 0x0804, 0x1740, 0xa87c, 0xd0ac, 0x0904, 0x169d, 0x9006, 0xa842, + 0xa83e, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0d65, 0x9082, 0x001b, + 0x0002, 0x1714, 0x1714, 0x1716, 0x1714, 0x1714, 0x1714, 0x171c, + 0x1714, 0x1714, 0x1714, 0x1722, 0x1714, 0x1714, 0x1714, 0x1728, + 0x1714, 0x1714, 0x1714, 0x172e, 0x1714, 0x1714, 0x1714, 0x1734, + 0x1714, 0x1714, 0x1714, 0x173a, 0x080c, 0x0d65, 0xa574, 0xa478, + 0xa37c, 0xa280, 0x0804, 0x1785, 0xa584, 0xa488, 0xa38c, 0xa290, + 0x0804, 0x1785, 0xa594, 0xa498, 0xa39c, 0xa2a0, 0x0804, 0x1785, + 0xa5a4, 0xa4a8, 0xa3ac, 0xa2b0, 0x0804, 0x1785, 0xa5b4, 0xa4b8, + 0xa3bc, 0xa2c0, 0x0804, 0x1785, 0xa5c4, 0xa4c8, 0xa3cc, 0xa2d0, + 0x0804, 0x1785, 0xa5d4, 0xa4d8, 0xa3dc, 0xa2e0, 0x0804, 0x1785, + 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, + 0x1763, 0x1761, 0x1761, 0x1761, 0x1761, 0x1761, 0x176a, 0x1761, + 0x1761, 0x1761, 0x1761, 0x1761, 0x1771, 0x1761, 0x1761, 0x1761, + 0x1761, 0x1761, 0x1778, 0x1761, 0x1761, 0x1761, 0x1761, 0x1761, + 0x177f, 0x080c, 0x0d65, 0xa56c, 0xa470, 0xa774, 0xa678, 0xa37c, + 0xa280, 0x00d8, 0xa584, 0xa488, 0xa78c, 0xa690, 0xa394, 0xa298, + 0x00a0, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0xa3ac, 0xa2b0, 0x0068, + 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0xa3c4, 0xa2c8, 0x0030, 0xa5cc, + 0xa4d0, 0xa7d4, 0xa6d8, 0xa3dc, 0xa2e0, 0xab2e, 0xaa32, 0xad1e, + 0xac22, 0xaf26, 0xae2a, 0xa988, 0x8c60, 0x2c1d, 0xa8ac, 0xaab0, + 0xa836, 0xaa3a, 0x8109, 0xa916, 0x1158, 0x3e60, 0x601c, 0xc085, + 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, 0x00ce, 0x012e, 0x0005, + 0x2800, 0xa80e, 0xab0a, 0x2c00, 0xa812, 0x0c78, 0x0804, 0x169d, + 0x0016, 0x2009, 0x00a0, 0x8109, 0xa001, 0xa001, 0xa001, 0x1dd8, + 0x001e, 0x2ff0, 0x0126, 0x2091, 0x2200, 0x00c6, 0x3e60, 0x6014, + 0x2048, 0x2940, 0xa80e, 0x2061, 0x1d17, 0xa813, 0x1d17, 0x2c05, + 0xa80a, 0xa964, 0xa91a, 0xa87c, 0xd0ac, 0x090c, 0x0d65, 0x9006, + 0xa842, 0xa83e, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d65, 0xadcc, + 0xacd0, 0xafd4, 0xaed8, 0xabdc, 0xaae0, 0xab2e, 0xaa32, 0xad1e, + 0xac22, 0xaf26, 0xae2a, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0xa988, + 0xa864, 0x9084, 0x00ff, 0x9086, 0x0008, 0x1120, 0x8109, 0xa916, + 0x0128, 0x0078, 0x918a, 0x0002, 0xa916, 0x1158, 0x3e60, 0x601c, + 0xc085, 0x601e, 0xa87c, 0xc0dd, 0xa87e, 0x9006, 0x00ce, 0x012e, + 0x0005, 0xa804, 0x9045, 0x090c, 0x0d65, 0xa80e, 0xa064, 0xa81a, + 0x9084, 0x000f, 0x9080, 0x1d1c, 0x2015, 0x82ff, 0x090c, 0x0d65, + 0xaa12, 0x2205, 0xa80a, 0x0c10, 0x903e, 0x2730, 0xa880, 0xd0fc, + 0x1190, 0x2d00, 0x0002, 0x1901, 0x1863, 0x1863, 0x1901, 0x1901, + 0x18fb, 0x1901, 0x1863, 0x18b2, 0x18b2, 0x18b2, 0x1901, 0x1901, + 0x1901, 0x18f8, 0x18b2, 0xc0fc, 0xa882, 0xab2c, 0xaa30, 0xad1c, + 0xac20, 0xdd9c, 0x0904, 0x1903, 0x2c05, 0x908a, 0x0034, 0x1a0c, + 0x0d65, 0x9082, 0x001b, 0x0002, 0x184f, 0x184d, 0x184d, 0x184d, + 0x184d, 0x184d, 0x1853, 0x184d, 0x184d, 0x184d, 0x184d, 0x184d, + 0x1857, 0x184d, 0x184d, 0x184d, 0x184d, 0x184d, 0x185b, 0x184d, + 0x184d, 0x184d, 0x184d, 0x184d, 0x185f, 0x080c, 0x0d65, 0xa774, + 0xa678, 0x0804, 0x1903, 0xa78c, 0xa690, 0x0804, 0x1903, 0xa7a4, + 0xa6a8, 0x0804, 0x1903, 0xa7bc, 0xa6c0, 0x0804, 0x1903, 0xa7d4, + 0xa6d8, 0x0804, 0x1903, 0x2c05, 0x908a, 0x0036, 0x1a0c, 0x0d65, + 0x9082, 0x001b, 0x0002, 0x1886, 0x1886, 0x1888, 0x1886, 0x1886, + 0x1886, 0x188e, 0x1886, 0x1886, 0x1886, 0x1894, 0x1886, 0x1886, + 0x1886, 0x189a, 0x1886, 0x1886, 0x1886, 0x18a0, 0x1886, 0x1886, + 0x1886, 0x18a6, 0x1886, 0x1886, 0x1886, 0x18ac, 0x080c, 0x0d65, + 0xa574, 0xa478, 0xa37c, 0xa280, 0x0804, 0x1903, 0xa584, 0xa488, + 0xa38c, 0xa290, 0x0804, 0x1903, 0xa594, 0xa498, 0xa39c, 0xa2a0, + 0x0804, 0x1903, 0xa5a4, 0xa4a8, 0xa3ac, 0xa2b0, 0x0804, 0x1903, + 0xa5b4, 0xa4b8, 0xa3bc, 0xa2c0, 0x0804, 0x1903, 0xa5c4, 0xa4c8, + 0xa3cc, 0xa2d0, 0x0804, 0x1903, 0xa5d4, 0xa4d8, 0xa3dc, 0xa2e0, + 0x0804, 0x1903, 0x2c05, 0x908a, 0x0034, 0x1a0c, 0x0d65, 0x9082, + 0x001b, 0x0002, 0x18d5, 0x18d3, 0x18d3, 0x18d3, 0x18d3, 0x18d3, + 0x18dc, 0x18d3, 0x18d3, 0x18d3, 0x18d3, 0x18d3, 0x18e3, 0x18d3, + 0x18d3, 0x18d3, 0x18d3, 0x18d3, 0x18ea, 0x18d3, 0x18d3, 0x18d3, + 0x18d3, 0x18d3, 0x18f1, 0x080c, 0x0d65, 0xa56c, 0xa470, 0xa774, + 0xa678, 0xa37c, 0xa280, 0x0438, 0xa584, 0xa488, 0xa78c, 0xa690, + 0xa394, 0xa298, 0x0400, 0xa59c, 0xa4a0, 0xa7a4, 0xa6a8, 0xa3ac, + 0xa2b0, 0x00c8, 0xa5b4, 0xa4b8, 0xa7bc, 0xa6c0, 0xa3c4, 0xa2c8, + 0x0090, 0xa5cc, 0xa4d0, 0xa7d4, 0xa6d8, 0xa3dc, 0xa2e0, 0x0058, + 0x9d86, 0x000e, 0x1130, 0x080c, 0x1cf2, 0x1904, 0x180c, 0x900e, + 0x0050, 0x080c, 0x0d65, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, + 0xae2a, 0x080c, 0x1cf2, 0x0005, 0x6014, 0x2048, 0x6118, 0x810c, + 0x810c, 0x810c, 0x81ff, 0x1118, 0xa887, 0x0001, 0x0008, 0xa986, + 0x601b, 0x0002, 0xa874, 0x9084, 0x00ff, 0x9084, 0x0008, 0x0150, + 0x00e9, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, 0x080c, + 0x9c82, 0x0005, 0xa974, 0xd1dc, 0x1108, 0x0005, 0xa934, 0xa88c, + 0x9106, 0x1158, 0xa938, 0xa890, 0x9106, 0x1138, 0x601c, 0xc084, + 0x601e, 0x2009, 0x0048, 0x0804, 0x9c82, 0x0005, 0x0126, 0x00c6, + 0x2091, 0x2200, 0x00ce, 0x7908, 0x918c, 0x0007, 0x9186, 0x0000, + 0x05b0, 0x9186, 0x0003, 0x0598, 0x6020, 0x6023, 0x0000, 0x0006, + 0x2031, 0x0008, 0x00c6, 0x781f, 0x0808, 0x7808, 0xd09c, 0x0120, + 0x080c, 0x1342, 0x8631, 0x1db8, 0x00ce, 0x781f, 0x0800, 0x2031, + 0x0168, 0x00c6, 0x7808, 0xd09c, 0x190c, 0x1342, 0x00ce, 0x2001, + 0x0038, 0x080c, 0x1a11, 0x7930, 0x9186, 0x0040, 0x0160, 0x9186, + 0x0042, 0x190c, 0x0d65, 0x2001, 0x001e, 0x8001, 0x1df0, 0x8631, + 0x1d40, 0x080c, 0x1a20, 0x000e, 0x6022, 0x012e, 0x0005, 0x080c, + 0x1a0d, 0x7827, 0x0015, 0x7828, 0x9c06, 0x1db8, 0x782b, 0x0000, + 0x0ca0, 0x00f6, 0x2079, 0x0300, 0x7803, 0x0000, 0x78ab, 0x0004, + 0x00fe, 0x080c, 0x70ba, 0x1188, 0x2001, 0x0138, 0x2003, 0x0000, + 0x2001, 0x0160, 0x2003, 0x0000, 0x2011, 0x012c, 0xa001, 0xa001, + 0x8211, 0x1de0, 0x0059, 0x0804, 0x715f, 0x0479, 0x0039, 0x2001, 0x0160, 0x2502, 0x2001, 0x0138, 0x2202, 0x0005, 0x00e6, 0x2071, - 0x0200, 0x080c, 0x2844, 0x2009, 0x003c, 0x080c, 0x2063, 0x2001, + 0x0200, 0x080c, 0x2864, 0x2009, 0x003c, 0x080c, 0x207b, 0x2001, 0x015d, 0x2003, 0x0000, 0x7000, 0x9084, 0x003c, 0x1de0, 0x080c, - 0x8053, 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, 0x709e, 0x2001, - 0x020d, 0x2003, 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, 0x12f5, + 0x8087, 0x70a0, 0x70a2, 0x7098, 0x709a, 0x709c, 0x709e, 0x2001, + 0x020d, 0x2003, 0x0020, 0x00f6, 0x2079, 0x0300, 0x080c, 0x1302, 0x7803, 0x0001, 0x00fe, 0x00ee, 0x0005, 0x2001, 0x0138, 0x2014, 0x2003, 0x0000, 0x2001, 0x0160, 0x202c, 0x2003, 0x0000, 0x080c, - 0x7096, 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, + 0x70ba, 0x1108, 0x0005, 0x2021, 0x0260, 0x2001, 0x0141, 0x201c, 0xd3dc, 0x1168, 0x2001, 0x0109, 0x201c, 0x939c, 0x0048, 0x1160, 0x2001, 0x0111, 0x201c, 0x83ff, 0x1110, 0x8421, 0x1d70, 0x2001, 0x015d, 0x2003, 0x0000, 0x0005, 0x0046, 0x2021, 0x0019, 0x2003, 0x0048, 0xa001, 0xa001, 0x201c, 0x939c, 0x0048, 0x0120, 0x8421, 0x1db0, 0x004e, 0x0c60, 0x004e, 0x0c40, 0x601c, 0xc084, 0x601e, - 0x0005, 0x2c08, 0x621c, 0x080c, 0x15ab, 0x7930, 0x0005, 0x2c08, - 0x621c, 0x080c, 0x15d8, 0x7930, 0x0005, 0x8001, 0x1df0, 0x0005, + 0x0005, 0x2c08, 0x621c, 0x080c, 0x15b8, 0x7930, 0x0005, 0x2c08, + 0x621c, 0x080c, 0x15e5, 0x7930, 0x0005, 0x8001, 0x1df0, 0x0005, 0x2031, 0x0005, 0x781c, 0x9084, 0x0007, 0x0170, 0x2001, 0x0038, - 0x0c41, 0x9186, 0x0040, 0x0904, 0x1a66, 0x2001, 0x001e, 0x0c69, + 0x0c41, 0x9186, 0x0040, 0x0904, 0x1a7e, 0x2001, 0x001e, 0x0c69, 0x8631, 0x1d80, 0x080c, 0x0d65, 0x781f, 0x0202, 0x2001, 0x015d, 0x2003, 0x0000, 0x2001, 0x0b10, 0x0c01, 0x781c, 0xd084, 0x0110, 0x0861, 0x04e0, 0x2001, 0x0030, 0x0891, 0x9186, 0x0040, 0x0568, 0x781c, 0xd084, 0x1da8, 0x781f, 0x0101, 0x2001, 0x0014, 0x0869, 0x2001, 0x0037, 0x0821, 0x9186, 0x0040, 0x0140, 0x2001, 0x0030, - 0x080c, 0x19ff, 0x9186, 0x0040, 0x190c, 0x0d65, 0x00d6, 0x2069, + 0x080c, 0x1a17, 0x9186, 0x0040, 0x190c, 0x0d65, 0x00d6, 0x2069, 0x0200, 0x692c, 0xd1f4, 0x1170, 0xd1c4, 0x0160, 0xd19c, 0x0130, 0x6800, 0x9085, 0x1800, 0x6802, 0x00de, 0x0080, 0x6908, 0x9184, 0x0007, 0x1db0, 0x00de, 0x781f, 0x0100, 0x791c, 0x9184, 0x0007, 0x090c, 0x0d65, 0xa001, 0xa001, 0x781f, 0x0200, 0x0005, 0x0126, - 0x2091, 0x2400, 0x2079, 0x0380, 0x2001, 0x19b7, 0x2070, 0x012e, + 0x2091, 0x2400, 0x2079, 0x0380, 0x2001, 0x19bf, 0x2070, 0x012e, 0x0005, 0x2cf0, 0x0126, 0x2091, 0x2400, 0x3e60, 0x6014, 0x2048, - 0xa964, 0xa91a, 0x918c, 0x00ff, 0x9184, 0x000f, 0x0002, 0x1a9b, - 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a8f, - 0x1a9d, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x1a9b, 0x9086, - 0x0008, 0x1148, 0xa87c, 0xd0b4, 0x0904, 0x1c0d, 0x2011, 0x1cff, + 0xa964, 0xa91a, 0x918c, 0x00ff, 0x9184, 0x000f, 0x0002, 0x1ab3, + 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x1aa7, + 0x1ab5, 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x1ab3, 0x9086, + 0x0008, 0x1148, 0xa87c, 0xd0b4, 0x0904, 0x1c25, 0x2011, 0x1d17, 0x2205, 0xab88, 0x0068, 0x080c, 0x0d65, 0xa87c, 0xd0b4, 0x0904, - 0x1c0d, 0x9184, 0x000f, 0x9080, 0x1d04, 0x2015, 0x2205, 0xab88, + 0x1c25, 0x9184, 0x000f, 0x9080, 0x1d1c, 0x2015, 0x2205, 0xab88, 0x2908, 0xa80a, 0xa90e, 0xaa12, 0xab16, 0x9006, 0xa842, 0xa83e, 0x012e, 0x0005, 0x2cf0, 0x0126, 0x2091, 0x2400, 0x3e60, 0x6014, 0x2048, 0xa88c, 0xa990, 0xaaac, 0xabb0, 0xaa36, 0xab3a, 0xa83e, 0xa942, 0xa846, 0xa94a, 0xa964, 0x918c, 0x00ff, 0x9186, 0x001e, - 0x0198, 0x2940, 0xa064, 0xa81a, 0x90ec, 0x000f, 0x9d80, 0x1d04, + 0x0198, 0x2940, 0xa064, 0xa81a, 0x90ec, 0x000f, 0x9d80, 0x1d1c, 0x2065, 0x2c05, 0x2808, 0x2c10, 0xab88, 0xa80a, 0xa90e, 0xaa12, 0xab16, 0x012e, 0x3e60, 0x0005, 0xa804, 0x2040, 0x0c58, 0x2cf0, 0x0126, 0x2091, 0x2400, 0x3e60, 0x6014, 0x2048, 0xa97c, 0x2950, - 0xd1dc, 0x1904, 0x1bd7, 0xc1dd, 0xa97e, 0x9006, 0xa842, 0xa83e, + 0xd1dc, 0x1904, 0x1bef, 0xc1dd, 0xa97e, 0x9006, 0xa842, 0xa83e, 0xa988, 0x8109, 0xa916, 0xa964, 0xa91a, 0x9184, 0x000f, 0x9088, - 0x1d04, 0x2145, 0x0002, 0x1b0b, 0x1b19, 0x1b0b, 0x1b0b, 0x1b0b, - 0x1b0d, 0x1b0b, 0x1b0b, 0x1b6e, 0x1b6e, 0x1b0b, 0x1b0b, 0x1b0b, - 0x1b6c, 0x1b0b, 0x1b0b, 0x080c, 0x0d65, 0xa804, 0x2050, 0xb164, - 0xa91a, 0x9184, 0x000f, 0x9080, 0x1d04, 0x2045, 0xd19c, 0x1904, - 0x1b6e, 0x9036, 0x2638, 0x2805, 0x908a, 0x0036, 0x1a0c, 0x0d65, - 0x9082, 0x001b, 0x0002, 0x1b3e, 0x1b3e, 0x1b40, 0x1b3e, 0x1b3e, - 0x1b3e, 0x1b46, 0x1b3e, 0x1b3e, 0x1b3e, 0x1b4c, 0x1b3e, 0x1b3e, - 0x1b3e, 0x1b52, 0x1b3e, 0x1b3e, 0x1b3e, 0x1b58, 0x1b3e, 0x1b3e, - 0x1b3e, 0x1b5e, 0x1b3e, 0x1b3e, 0x1b3e, 0x1b64, 0x080c, 0x0d65, - 0xb574, 0xb478, 0xb37c, 0xb280, 0x0804, 0x1bb3, 0xb584, 0xb488, - 0xb38c, 0xb290, 0x0804, 0x1bb3, 0xb594, 0xb498, 0xb39c, 0xb2a0, - 0x0804, 0x1bb3, 0xb5a4, 0xb4a8, 0xb3ac, 0xb2b0, 0x0804, 0x1bb3, - 0xb5b4, 0xb4b8, 0xb3bc, 0xb2c0, 0x0804, 0x1bb3, 0xb5c4, 0xb4c8, - 0xb3cc, 0xb2d0, 0x0804, 0x1bb3, 0xb5d4, 0xb4d8, 0xb3dc, 0xb2e0, - 0x0804, 0x1bb3, 0x0804, 0x1bb3, 0x080c, 0x0d65, 0x2805, 0x908a, - 0x0034, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x1b91, 0x1b8f, - 0x1b8f, 0x1b8f, 0x1b8f, 0x1b8f, 0x1b98, 0x1b8f, 0x1b8f, 0x1b8f, - 0x1b8f, 0x1b8f, 0x1b9f, 0x1b8f, 0x1b8f, 0x1b8f, 0x1b8f, 0x1b8f, - 0x1ba6, 0x1b8f, 0x1b8f, 0x1b8f, 0x1b8f, 0x1b8f, 0x1bad, 0x080c, + 0x1d1c, 0x2145, 0x0002, 0x1b23, 0x1b31, 0x1b23, 0x1b23, 0x1b23, + 0x1b25, 0x1b23, 0x1b23, 0x1b86, 0x1b86, 0x1b23, 0x1b23, 0x1b23, + 0x1b84, 0x1b23, 0x1b23, 0x080c, 0x0d65, 0xa804, 0x2050, 0xb164, + 0xa91a, 0x9184, 0x000f, 0x9080, 0x1d1c, 0x2045, 0xd19c, 0x1904, + 0x1b86, 0x9036, 0x2638, 0x2805, 0x908a, 0x0036, 0x1a0c, 0x0d65, + 0x9082, 0x001b, 0x0002, 0x1b56, 0x1b56, 0x1b58, 0x1b56, 0x1b56, + 0x1b56, 0x1b5e, 0x1b56, 0x1b56, 0x1b56, 0x1b64, 0x1b56, 0x1b56, + 0x1b56, 0x1b6a, 0x1b56, 0x1b56, 0x1b56, 0x1b70, 0x1b56, 0x1b56, + 0x1b56, 0x1b76, 0x1b56, 0x1b56, 0x1b56, 0x1b7c, 0x080c, 0x0d65, + 0xb574, 0xb478, 0xb37c, 0xb280, 0x0804, 0x1bcb, 0xb584, 0xb488, + 0xb38c, 0xb290, 0x0804, 0x1bcb, 0xb594, 0xb498, 0xb39c, 0xb2a0, + 0x0804, 0x1bcb, 0xb5a4, 0xb4a8, 0xb3ac, 0xb2b0, 0x0804, 0x1bcb, + 0xb5b4, 0xb4b8, 0xb3bc, 0xb2c0, 0x0804, 0x1bcb, 0xb5c4, 0xb4c8, + 0xb3cc, 0xb2d0, 0x0804, 0x1bcb, 0xb5d4, 0xb4d8, 0xb3dc, 0xb2e0, + 0x0804, 0x1bcb, 0x0804, 0x1bcb, 0x080c, 0x0d65, 0x2805, 0x908a, + 0x0034, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x1ba9, 0x1ba7, + 0x1ba7, 0x1ba7, 0x1ba7, 0x1ba7, 0x1bb0, 0x1ba7, 0x1ba7, 0x1ba7, + 0x1ba7, 0x1ba7, 0x1bb7, 0x1ba7, 0x1ba7, 0x1ba7, 0x1ba7, 0x1ba7, + 0x1bbe, 0x1ba7, 0x1ba7, 0x1ba7, 0x1ba7, 0x1ba7, 0x1bc5, 0x080c, 0x0d65, 0xb56c, 0xb470, 0xb774, 0xb678, 0xb37c, 0xb280, 0x00d8, 0xb584, 0xb488, 0xb78c, 0xb690, 0xb394, 0xb298, 0x00a0, 0xb59c, 0xb4a0, 0xb7a4, 0xb6a8, 0xb3ac, 0xb2b0, 0x0068, 0xb5b4, 0xb4b8, @@ -683,100 +686,100 @@ unsigned short risc_code01[] = { 0xb6d8, 0xb3dc, 0xb2e0, 0xab2e, 0xaa32, 0xad1e, 0xac22, 0xaf26, 0xae2a, 0xa988, 0x8109, 0xa916, 0x1118, 0x9006, 0x012e, 0x0005, 0x8840, 0x2805, 0x9005, 0x1168, 0xb004, 0x9005, 0x090c, 0x0d65, - 0x2050, 0xb164, 0xa91a, 0x9184, 0x000f, 0x9080, 0x1d04, 0x2045, + 0x2050, 0xb164, 0xa91a, 0x9184, 0x000f, 0x9080, 0x1d1c, 0x2045, 0x2805, 0x2810, 0x2a08, 0xa80a, 0xa90e, 0xaa12, 0x0c30, 0x3e60, 0x6344, 0xd3fc, 0x190c, 0x0d65, 0xa93c, 0xaa40, 0xa844, 0x9106, 0x1118, 0xa848, 0x9206, 0x0508, 0x2958, 0xab48, 0xac44, 0x2940, - 0x080c, 0x1d24, 0x1998, 0x2850, 0x2c40, 0xab14, 0xa880, 0xd0fc, + 0x080c, 0x1d3c, 0x1998, 0x2850, 0x2c40, 0xab14, 0xa880, 0xd0fc, 0x1140, 0xa810, 0x2005, 0xa80a, 0x2a00, 0xa80e, 0x2009, 0x8015, 0x0070, 0x00c6, 0x3e60, 0x6044, 0xc0a4, 0x9085, 0x8005, 0x6046, - 0x00ce, 0x8319, 0xab16, 0x1904, 0x1bc0, 0x2009, 0x8005, 0x3e60, - 0x6044, 0x9105, 0x6046, 0x0804, 0x1bbd, 0x080c, 0x0d65, 0x00f6, + 0x00ce, 0x8319, 0xab16, 0x1904, 0x1bd8, 0x2009, 0x8005, 0x3e60, + 0x6044, 0x9105, 0x6046, 0x0804, 0x1bd5, 0x080c, 0x0d65, 0x00f6, 0x00e6, 0x0096, 0x00c6, 0x0026, 0x704c, 0x9c06, 0x190c, 0x0d65, 0x2079, 0x0090, 0x2001, 0x0105, 0x2003, 0x0010, 0x782b, 0x0004, - 0x7057, 0x0000, 0x6014, 0x2048, 0x080c, 0xb842, 0x0118, 0xa880, + 0x7057, 0x0000, 0x6014, 0x2048, 0x080c, 0xb870, 0x0118, 0xa880, 0xc0bd, 0xa882, 0x6020, 0x9086, 0x0006, 0x1170, 0x2061, 0x0100, 0x62c8, 0x2001, 0x00fa, 0x8001, 0x1df0, 0x60c8, 0x9206, 0x1dc0, 0x60c4, 0xa89a, 0x60c8, 0xa896, 0x704c, 0x2060, 0x00c6, 0x080c, - 0xb440, 0x080c, 0x98bb, 0x00ce, 0x704c, 0x9c06, 0x1150, 0x2009, - 0x0040, 0x080c, 0x2063, 0x080c, 0x949c, 0x2011, 0x0000, 0x080c, - 0x9326, 0x002e, 0x00ce, 0x009e, 0x00ee, 0x00fe, 0x0005, 0x00f6, + 0xb45e, 0x080c, 0x98c7, 0x00ce, 0x704c, 0x9c06, 0x1150, 0x2009, + 0x0040, 0x080c, 0x207b, 0x080c, 0x94a4, 0x2011, 0x0000, 0x080c, + 0x932e, 0x002e, 0x00ce, 0x009e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0090, 0x781c, 0x0006, 0x7818, 0x0006, 0x2079, 0x0100, 0x7a14, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x2019, 0x1000, 0x8319, 0x090c, 0x0d65, 0x7820, 0xd0bc, 0x1dd0, 0x79c8, 0x000e, 0x9102, 0x001e, 0x0006, 0x0016, 0x79c4, 0x000e, 0x9103, 0x78c6, 0x000e, 0x78ca, 0x9284, 0x1984, 0x9085, 0x0012, 0x7816, 0x2079, 0x0090, 0x782b, 0x0008, 0x7057, 0x0000, 0x00fe, 0x0005, 0x00f6, - 0x00e6, 0x2071, 0x19b7, 0x7054, 0x9086, 0x0000, 0x0904, 0x1cd5, + 0x00e6, 0x2071, 0x19bf, 0x7054, 0x9086, 0x0000, 0x0904, 0x1ced, 0x2079, 0x0090, 0x2009, 0x0207, 0x210c, 0xd194, 0x01b8, 0x2009, - 0x020c, 0x210c, 0x9184, 0x0003, 0x0188, 0x080c, 0xd62d, 0x2001, + 0x020c, 0x210c, 0x9184, 0x0003, 0x0188, 0x080c, 0xd665, 0x2001, 0x0133, 0x2004, 0x9005, 0x090c, 0x0d65, 0x0016, 0x2009, 0x0040, - 0x080c, 0x2063, 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, + 0x080c, 0x207b, 0x001e, 0x2001, 0x020c, 0x2102, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, 0x2009, 0x0040, - 0x080c, 0x2063, 0x782c, 0xd0fc, 0x09a8, 0x080c, 0x98d7, 0x782c, - 0xd0fc, 0x1de8, 0x080c, 0x98bb, 0x7054, 0x9086, 0x0000, 0x1950, + 0x080c, 0x207b, 0x782c, 0xd0fc, 0x09a8, 0x080c, 0x98e3, 0x782c, + 0xd0fc, 0x1de8, 0x080c, 0x98c7, 0x7054, 0x9086, 0x0000, 0x1950, 0x782b, 0x0004, 0x782c, 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, - 0x2063, 0x782b, 0x0002, 0x7057, 0x0000, 0x00ee, 0x00fe, 0x0005, + 0x207b, 0x782b, 0x0002, 0x7057, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x080c, 0x0d65, 0x8c60, 0x2c05, 0x9005, 0x0110, 0x8a51, 0x0005, 0xa004, 0x9005, 0x0168, 0xa85a, 0x2040, 0xa064, 0x9084, 0x000f, - 0x9080, 0x1d04, 0x2065, 0x8cff, 0x090c, 0x0d65, 0x8a51, 0x0005, + 0x9080, 0x1d1c, 0x2065, 0x8cff, 0x090c, 0x0d65, 0x8a51, 0x0005, 0x2050, 0x0005, 0x0000, 0x001d, 0x0021, 0x0025, 0x0029, 0x002d, 0x0031, 0x0035, 0x0000, 0x001b, 0x0021, 0x0027, 0x002d, 0x0033, - 0x0000, 0x0000, 0x0023, 0x0000, 0x0000, 0x1cf7, 0x1cf3, 0x0000, - 0x0000, 0x1d01, 0x0000, 0x1cf7, 0x1cfe, 0x1cfe, 0x1cfb, 0x0000, - 0x0000, 0x0000, 0x1d01, 0x1cfe, 0x0000, 0x1cf9, 0x1cf9, 0x0000, - 0x0000, 0x1d01, 0x0000, 0x1cf9, 0x1cff, 0x1cff, 0x1cff, 0x0000, - 0x0000, 0x0000, 0x1d01, 0x1cff, 0x00c6, 0x00d6, 0x0086, 0xab42, - 0xac3e, 0xa888, 0x9055, 0x0904, 0x1f03, 0x2940, 0xa064, 0x90ec, - 0x000f, 0x9084, 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, 0x1cff, - 0x00d0, 0x9de0, 0x1d04, 0x9d86, 0x0007, 0x0130, 0x9d86, 0x000e, + 0x0000, 0x0000, 0x0023, 0x0000, 0x0000, 0x1d0f, 0x1d0b, 0x0000, + 0x0000, 0x1d19, 0x0000, 0x1d0f, 0x1d16, 0x1d16, 0x1d13, 0x0000, + 0x0000, 0x0000, 0x1d19, 0x1d16, 0x0000, 0x1d11, 0x1d11, 0x0000, + 0x0000, 0x1d19, 0x0000, 0x1d11, 0x1d17, 0x1d17, 0x1d17, 0x0000, + 0x0000, 0x0000, 0x1d19, 0x1d17, 0x00c6, 0x00d6, 0x0086, 0xab42, + 0xac3e, 0xa888, 0x9055, 0x0904, 0x1f1b, 0x2940, 0xa064, 0x90ec, + 0x000f, 0x9084, 0x00ff, 0x9086, 0x0008, 0x1118, 0x2061, 0x1d17, + 0x00d0, 0x9de0, 0x1d1c, 0x9d86, 0x0007, 0x0130, 0x9d86, 0x000e, 0x0118, 0x9d86, 0x000f, 0x1120, 0xa08c, 0x9422, 0xa090, 0x931b, - 0x2c05, 0x9065, 0x1140, 0x0310, 0x0804, 0x1f03, 0xa004, 0x9045, - 0x0904, 0x1f03, 0x08d8, 0x2c05, 0x9005, 0x0904, 0x1deb, 0xdd9c, - 0x1904, 0x1da7, 0x908a, 0x0036, 0x1a0c, 0x0d65, 0x9082, 0x001b, - 0x0002, 0x1d7c, 0x1d7c, 0x1d7e, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d84, - 0x1d7c, 0x1d7c, 0x1d7c, 0x1d8a, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d90, - 0x1d7c, 0x1d7c, 0x1d7c, 0x1d96, 0x1d7c, 0x1d7c, 0x1d7c, 0x1d9c, - 0x1d7c, 0x1d7c, 0x1d7c, 0x1da2, 0x080c, 0x0d65, 0xa07c, 0x9422, - 0xa080, 0x931b, 0x0804, 0x1de1, 0xa08c, 0x9422, 0xa090, 0x931b, - 0x0804, 0x1de1, 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, 0x1de1, - 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0804, 0x1de1, 0xa0bc, 0x9422, - 0xa0c0, 0x931b, 0x0804, 0x1de1, 0xa0cc, 0x9422, 0xa0d0, 0x931b, - 0x0804, 0x1de1, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x04d0, 0x908a, - 0x0034, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x1dc9, 0x1dc7, - 0x1dc7, 0x1dc7, 0x1dc7, 0x1dc7, 0x1dce, 0x1dc7, 0x1dc7, 0x1dc7, - 0x1dc7, 0x1dc7, 0x1dd3, 0x1dc7, 0x1dc7, 0x1dc7, 0x1dc7, 0x1dc7, - 0x1dd8, 0x1dc7, 0x1dc7, 0x1dc7, 0x1dc7, 0x1dc7, 0x1ddd, 0x080c, + 0x2c05, 0x9065, 0x1140, 0x0310, 0x0804, 0x1f1b, 0xa004, 0x9045, + 0x0904, 0x1f1b, 0x08d8, 0x2c05, 0x9005, 0x0904, 0x1e03, 0xdd9c, + 0x1904, 0x1dbf, 0x908a, 0x0036, 0x1a0c, 0x0d65, 0x9082, 0x001b, + 0x0002, 0x1d94, 0x1d94, 0x1d96, 0x1d94, 0x1d94, 0x1d94, 0x1d9c, + 0x1d94, 0x1d94, 0x1d94, 0x1da2, 0x1d94, 0x1d94, 0x1d94, 0x1da8, + 0x1d94, 0x1d94, 0x1d94, 0x1dae, 0x1d94, 0x1d94, 0x1d94, 0x1db4, + 0x1d94, 0x1d94, 0x1d94, 0x1dba, 0x080c, 0x0d65, 0xa07c, 0x9422, + 0xa080, 0x931b, 0x0804, 0x1df9, 0xa08c, 0x9422, 0xa090, 0x931b, + 0x0804, 0x1df9, 0xa09c, 0x9422, 0xa0a0, 0x931b, 0x0804, 0x1df9, + 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0804, 0x1df9, 0xa0bc, 0x9422, + 0xa0c0, 0x931b, 0x0804, 0x1df9, 0xa0cc, 0x9422, 0xa0d0, 0x931b, + 0x0804, 0x1df9, 0xa0dc, 0x9422, 0xa0e0, 0x931b, 0x04d0, 0x908a, + 0x0034, 0x1a0c, 0x0d65, 0x9082, 0x001b, 0x0002, 0x1de1, 0x1ddf, + 0x1ddf, 0x1ddf, 0x1ddf, 0x1ddf, 0x1de6, 0x1ddf, 0x1ddf, 0x1ddf, + 0x1ddf, 0x1ddf, 0x1deb, 0x1ddf, 0x1ddf, 0x1ddf, 0x1ddf, 0x1ddf, + 0x1df0, 0x1ddf, 0x1ddf, 0x1ddf, 0x1ddf, 0x1ddf, 0x1df5, 0x080c, 0x0d65, 0xa07c, 0x9422, 0xa080, 0x931b, 0x0098, 0xa094, 0x9422, 0xa098, 0x931b, 0x0070, 0xa0ac, 0x9422, 0xa0b0, 0x931b, 0x0048, 0xa0c4, 0x9422, 0xa0c8, 0x931b, 0x0020, 0xa0dc, 0x9422, 0xa0e0, - 0x931b, 0x0630, 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, 0x1f03, - 0x8c60, 0x0804, 0x1d53, 0xa004, 0x9045, 0x0904, 0x1f03, 0x0804, - 0x1d2e, 0x8a51, 0x0904, 0x1f03, 0x8c60, 0x2c05, 0x9005, 0x1158, - 0xa004, 0x9045, 0x0904, 0x1f03, 0xa064, 0x90ec, 0x000f, 0x9de0, - 0x1d04, 0x2c05, 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, 0x1ef8, + 0x931b, 0x0630, 0x2300, 0x9405, 0x0160, 0x8a51, 0x0904, 0x1f1b, + 0x8c60, 0x0804, 0x1d6b, 0xa004, 0x9045, 0x0904, 0x1f1b, 0x0804, + 0x1d46, 0x8a51, 0x0904, 0x1f1b, 0x8c60, 0x2c05, 0x9005, 0x1158, + 0xa004, 0x9045, 0x0904, 0x1f1b, 0xa064, 0x90ec, 0x000f, 0x9de0, + 0x1d1c, 0x2c05, 0x2060, 0xa880, 0xc0fc, 0xa882, 0x0804, 0x1f10, 0x2c05, 0x8422, 0x8420, 0x831a, 0x9399, 0x0000, 0xac2e, 0xab32, - 0xdd9c, 0x1904, 0x1e95, 0x9082, 0x001b, 0x0002, 0x1e31, 0x1e31, - 0x1e33, 0x1e31, 0x1e31, 0x1e31, 0x1e41, 0x1e31, 0x1e31, 0x1e31, - 0x1e4f, 0x1e31, 0x1e31, 0x1e31, 0x1e5d, 0x1e31, 0x1e31, 0x1e31, - 0x1e6b, 0x1e31, 0x1e31, 0x1e31, 0x1e79, 0x1e31, 0x1e31, 0x1e31, - 0x1e87, 0x080c, 0x0d65, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, + 0xdd9c, 0x1904, 0x1ead, 0x9082, 0x001b, 0x0002, 0x1e49, 0x1e49, + 0x1e4b, 0x1e49, 0x1e49, 0x1e49, 0x1e59, 0x1e49, 0x1e49, 0x1e49, + 0x1e67, 0x1e49, 0x1e49, 0x1e49, 0x1e75, 0x1e49, 0x1e49, 0x1e49, + 0x1e83, 0x1e49, 0x1e49, 0x1e49, 0x1e91, 0x1e49, 0x1e49, 0x1e49, + 0x1e9f, 0x080c, 0x0d65, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa074, 0x9420, 0xa078, 0x9319, 0x0804, - 0x1ef3, 0xa18c, 0x2400, 0x9122, 0xa190, 0x2300, 0x911b, 0x0a0c, - 0x0d65, 0xa084, 0x9420, 0xa088, 0x9319, 0x0804, 0x1ef3, 0xa19c, + 0x1f0b, 0xa18c, 0x2400, 0x9122, 0xa190, 0x2300, 0x911b, 0x0a0c, + 0x0d65, 0xa084, 0x9420, 0xa088, 0x9319, 0x0804, 0x1f0b, 0xa19c, 0x2400, 0x9122, 0xa1a0, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa094, - 0x9420, 0xa098, 0x9319, 0x0804, 0x1ef3, 0xa1ac, 0x2400, 0x9122, + 0x9420, 0xa098, 0x9319, 0x0804, 0x1f0b, 0xa1ac, 0x2400, 0x9122, 0xa1b0, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa0a4, 0x9420, 0xa0a8, - 0x9319, 0x0804, 0x1ef3, 0xa1bc, 0x2400, 0x9122, 0xa1c0, 0x2300, + 0x9319, 0x0804, 0x1f0b, 0xa1bc, 0x2400, 0x9122, 0xa1c0, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa0b4, 0x9420, 0xa0b8, 0x9319, 0x0804, - 0x1ef3, 0xa1cc, 0x2400, 0x9122, 0xa1d0, 0x2300, 0x911b, 0x0a0c, - 0x0d65, 0xa0c4, 0x9420, 0xa0c8, 0x9319, 0x0804, 0x1ef3, 0xa1dc, + 0x1f0b, 0xa1cc, 0x2400, 0x9122, 0xa1d0, 0x2300, 0x911b, 0x0a0c, + 0x0d65, 0xa0c4, 0x9420, 0xa0c8, 0x9319, 0x0804, 0x1f0b, 0xa1dc, 0x2400, 0x9122, 0xa1e0, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa0d4, - 0x9420, 0xa0d8, 0x9319, 0x0804, 0x1ef3, 0x9082, 0x001b, 0x0002, - 0x1eb3, 0x1eb1, 0x1eb1, 0x1eb1, 0x1eb1, 0x1eb1, 0x1ec0, 0x1eb1, - 0x1eb1, 0x1eb1, 0x1eb1, 0x1eb1, 0x1ecd, 0x1eb1, 0x1eb1, 0x1eb1, - 0x1eb1, 0x1eb1, 0x1eda, 0x1eb1, 0x1eb1, 0x1eb1, 0x1eb1, 0x1eb1, - 0x1ee7, 0x080c, 0x0d65, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, + 0x9420, 0xa0d8, 0x9319, 0x0804, 0x1f0b, 0x9082, 0x001b, 0x0002, + 0x1ecb, 0x1ec9, 0x1ec9, 0x1ec9, 0x1ec9, 0x1ec9, 0x1ed8, 0x1ec9, + 0x1ec9, 0x1ec9, 0x1ec9, 0x1ec9, 0x1ee5, 0x1ec9, 0x1ec9, 0x1ec9, + 0x1ec9, 0x1ec9, 0x1ef2, 0x1ec9, 0x1ec9, 0x1ec9, 0x1ec9, 0x1ec9, + 0x1eff, 0x080c, 0x0d65, 0xa17c, 0x2400, 0x9122, 0xa180, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa06c, 0x9420, 0xa070, 0x9319, 0x0498, 0xa194, 0x2400, 0x9122, 0xa198, 0x2300, 0x911b, 0x0a0c, 0x0d65, 0xa084, 0x9420, 0xa088, 0x9319, 0x0430, 0xa1ac, 0x2400, 0x9122, @@ -792,28 +795,28 @@ unsigned short risc_code01[] = { 0x1da8, 0x9284, 0x000f, 0x9405, 0x001e, 0x00ce, 0x0005, 0x7803, 0x0003, 0x780f, 0x0000, 0x6004, 0x7812, 0x2c04, 0x7816, 0x9ce0, 0x0002, 0x918a, 0x0002, 0x1db8, 0x0005, 0x2001, 0x0005, 0x2004, - 0xd0bc, 0x190c, 0x0d5e, 0xd094, 0x0110, 0x080c, 0x11d1, 0x0005, + 0xd0bc, 0x190c, 0x0d5e, 0xd094, 0x0110, 0x080c, 0x11de, 0x0005, 0x0126, 0x2091, 0x2600, 0x2079, 0x0200, 0x2071, 0x0260, 0x2069, 0x1800, 0x7817, 0x0000, 0x789b, 0x0814, 0x78a3, 0x0406, 0x789f, 0x0410, 0x2009, 0x013b, 0x200b, 0x0400, 0x781b, 0x0002, 0x783b, 0x001f, 0x7837, 0x0020, 0x7803, 0x1600, 0x012e, 0x0005, 0x2091, - 0x2600, 0x781c, 0xd0a4, 0x190c, 0x2060, 0x7900, 0xd1dc, 0x1118, - 0x9084, 0x0006, 0x001a, 0x9084, 0x000e, 0x0002, 0x1f7e, 0x1f76, - 0x7a59, 0x1f76, 0x1f78, 0x1f78, 0x1f78, 0x1f78, 0x7a3f, 0x1f76, - 0x1f7a, 0x1f76, 0x1f78, 0x1f76, 0x1f78, 0x1f76, 0x080c, 0x0d65, - 0x0031, 0x0020, 0x080c, 0x7a3f, 0x080c, 0x7a59, 0x0005, 0x0006, - 0x0016, 0x0026, 0x080c, 0xd62d, 0x7930, 0x9184, 0x0003, 0x0510, - 0x080c, 0x98bb, 0x2001, 0x19ca, 0x2004, 0x9005, 0x01a0, 0x2001, - 0x0133, 0x2004, 0x9005, 0x090c, 0x0d65, 0x00c6, 0x2001, 0x19ca, - 0x2064, 0x080c, 0x98d7, 0x080c, 0xb440, 0x2009, 0x0040, 0x080c, - 0x2063, 0x00ce, 0x0408, 0x2009, 0x0040, 0x080c, 0x2063, 0x080c, - 0x98d7, 0x00d0, 0x9184, 0x0014, 0x01a0, 0x6a00, 0x9286, 0x0003, - 0x0160, 0x080c, 0x7096, 0x1138, 0x080c, 0x7396, 0x080c, 0x5cd7, - 0x080c, 0x6fc7, 0x0010, 0x080c, 0x5b92, 0x080c, 0x7af7, 0x0041, + 0x2600, 0x781c, 0xd0a4, 0x190c, 0x2078, 0x7900, 0xd1dc, 0x1118, + 0x9084, 0x0006, 0x001a, 0x9084, 0x000e, 0x0002, 0x1f96, 0x1f8e, + 0x7a7d, 0x1f8e, 0x1f90, 0x1f90, 0x1f90, 0x1f90, 0x7a63, 0x1f8e, + 0x1f92, 0x1f8e, 0x1f90, 0x1f8e, 0x1f90, 0x1f8e, 0x080c, 0x0d65, + 0x0031, 0x0020, 0x080c, 0x7a63, 0x080c, 0x7a7d, 0x0005, 0x0006, + 0x0016, 0x0026, 0x080c, 0xd665, 0x7930, 0x9184, 0x0003, 0x0510, + 0x080c, 0x98c7, 0x2001, 0x19d2, 0x2004, 0x9005, 0x01a0, 0x2001, + 0x0133, 0x2004, 0x9005, 0x090c, 0x0d65, 0x00c6, 0x2001, 0x19d2, + 0x2064, 0x080c, 0x98e3, 0x080c, 0xb45e, 0x2009, 0x0040, 0x080c, + 0x207b, 0x00ce, 0x0408, 0x2009, 0x0040, 0x080c, 0x207b, 0x080c, + 0x98e3, 0x00d0, 0x9184, 0x0014, 0x01a0, 0x6a00, 0x9286, 0x0003, + 0x0160, 0x080c, 0x70ba, 0x1138, 0x080c, 0x73b9, 0x080c, 0x5cf7, + 0x080c, 0x6feb, 0x0010, 0x080c, 0x5bb2, 0x080c, 0x7b1b, 0x0041, 0x0018, 0x9184, 0x9540, 0x1dc8, 0x002e, 0x001e, 0x000e, 0x0005, - 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a3b, 0x080c, 0x196c, + 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a43, 0x080c, 0x1989, 0x005e, 0x004e, 0x003e, 0x00ee, 0x0005, 0x0126, 0x2091, 0x2e00, - 0x2071, 0x1800, 0x7128, 0x2001, 0x193f, 0x2102, 0x2001, 0x1947, + 0x2071, 0x1800, 0x7128, 0x2001, 0x1947, 0x2102, 0x2001, 0x194f, 0x2102, 0x2001, 0x013b, 0x2102, 0x2079, 0x0200, 0x2001, 0x0201, 0x789e, 0x78a3, 0x0200, 0x9198, 0x0007, 0x831c, 0x831c, 0x831c, 0x9398, 0x0005, 0x2320, 0x9182, 0x0204, 0x1230, 0x2011, 0x0008, @@ -834,17 +837,17 @@ unsigned short risc_code01[] = { 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x7902, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x00fe, 0x0005, 0x0126, 0x2091, 0x2800, 0x2061, 0x0100, 0x2071, 0x1800, 0x2009, 0x0000, 0x080c, - 0x283e, 0x080c, 0x2758, 0x2001, 0x196d, 0x2003, 0x0000, 0x2001, - 0x196e, 0x2003, 0x0000, 0x080c, 0x28af, 0x9006, 0x080c, 0x2787, - 0x9006, 0x080c, 0x276a, 0x20a9, 0x0012, 0x1d04, 0x2095, 0x2091, - 0x6000, 0x1f04, 0x2095, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, - 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x6224, 0x080c, 0x288c, - 0x080c, 0x2476, 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x2486, + 0x285e, 0x080c, 0x2774, 0x2001, 0x1975, 0x2003, 0x0700, 0x2001, + 0x1976, 0x2003, 0x0700, 0x080c, 0x28cf, 0x9006, 0x080c, 0x27a3, + 0x9006, 0x080c, 0x2786, 0x20a9, 0x0012, 0x1d04, 0x20ad, 0x2091, + 0x6000, 0x1f04, 0x20ad, 0x602f, 0x0100, 0x602f, 0x0000, 0x6050, + 0x9085, 0x0400, 0x9084, 0xdfff, 0x6052, 0x6224, 0x080c, 0x28ac, + 0x080c, 0x2492, 0x2009, 0x00ef, 0x6132, 0x6136, 0x080c, 0x24a2, 0x60e7, 0x0000, 0x61ea, 0x60e3, 0x0002, 0x604b, 0xf7f7, 0x6043, 0x0000, 0x602f, 0x0080, 0x602f, 0x0000, 0x6007, 0x149f, 0x00c6, 0x2061, 0x0140, 0x608b, 0x000b, 0x608f, 0x10b8, 0x6093, 0x0000, 0x6097, 0x0198, 0x00ce, 0x6004, 0x9085, 0x8000, 0x6006, 0x60bb, - 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, 0x1f04, 0x20d3, 0x60bb, + 0x0000, 0x20a9, 0x0018, 0x60bf, 0x0000, 0x1f04, 0x20eb, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x60bf, 0x0320, 0x60bf, 0x0018, 0x601b, 0x00f0, 0x601f, 0x001e, 0x600f, 0x006b, 0x602b, 0x402c, 0x012e, 0x0005, 0x00f6, 0x2079, 0x0140, 0x78c3, 0x0080, @@ -852,532 +855,533 @@ unsigned short risc_code01[] = { 0x2003, 0x0000, 0x2001, 0x1833, 0x2003, 0x0001, 0x0005, 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x6124, 0x6028, 0x910c, 0x9184, 0x5e2c, 0x1118, 0x9184, 0x0007, 0x002a, 0x9195, 0x0004, - 0x9284, 0x0007, 0x0002, 0x211e, 0x211b, 0x211b, 0x211b, 0x211d, - 0x211b, 0x211b, 0x211b, 0x080c, 0x0d65, 0x0029, 0x002e, 0x001e, + 0x9284, 0x0007, 0x0002, 0x2136, 0x2133, 0x2133, 0x2133, 0x2135, + 0x2133, 0x2133, 0x2133, 0x080c, 0x0d65, 0x0029, 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x00a6, 0x6124, 0x6028, 0xd09c, 0x0118, - 0xd19c, 0x1904, 0x237d, 0xd1f4, 0x190c, 0x0d5e, 0x080c, 0x7096, - 0x0904, 0x217b, 0x080c, 0xbf61, 0x1120, 0x7000, 0x9086, 0x0003, - 0x0580, 0x6024, 0x9084, 0x1800, 0x0560, 0x080c, 0x70b9, 0x0118, - 0x080c, 0x70a7, 0x1530, 0x2011, 0x0020, 0x080c, 0x288c, 0x6043, - 0x0000, 0x080c, 0xbf61, 0x0168, 0x080c, 0x70b9, 0x1150, 0x2001, - 0x1977, 0x2003, 0x0001, 0x6027, 0x1800, 0x080c, 0x6f0c, 0x0804, - 0x2380, 0x70a0, 0x9005, 0x1150, 0x70a3, 0x0001, 0x00d6, 0x2069, - 0x0140, 0x080c, 0x70ed, 0x00de, 0x1904, 0x2380, 0x080c, 0x73a0, - 0x0428, 0x080c, 0x70b9, 0x1590, 0x6024, 0x9084, 0x1800, 0x1108, - 0x0468, 0x080c, 0x73a0, 0x080c, 0x7396, 0x080c, 0x5cd7, 0x080c, - 0x6fc7, 0x0804, 0x237d, 0xd1ac, 0x1508, 0x6024, 0xd0dc, 0x1170, + 0xd19c, 0x1904, 0x2395, 0xd1f4, 0x190c, 0x0d5e, 0x080c, 0x70ba, + 0x0904, 0x2193, 0x080c, 0xbf8f, 0x1120, 0x7000, 0x9086, 0x0003, + 0x0580, 0x6024, 0x9084, 0x1800, 0x0560, 0x080c, 0x70dd, 0x0118, + 0x080c, 0x70cb, 0x1530, 0x2011, 0x0020, 0x080c, 0x28ac, 0x6043, + 0x0000, 0x080c, 0xbf8f, 0x0168, 0x080c, 0x70dd, 0x1150, 0x2001, + 0x197f, 0x2003, 0x0001, 0x6027, 0x1800, 0x080c, 0x6f30, 0x0804, + 0x2398, 0x70a0, 0x9005, 0x1150, 0x70a3, 0x0001, 0x00d6, 0x2069, + 0x0140, 0x080c, 0x7111, 0x00de, 0x1904, 0x2398, 0x080c, 0x73c3, + 0x0428, 0x080c, 0x70dd, 0x1590, 0x6024, 0x9084, 0x1800, 0x1108, + 0x0468, 0x080c, 0x73c3, 0x080c, 0x73b9, 0x080c, 0x5cf7, 0x080c, + 0x6feb, 0x0804, 0x2395, 0xd1ac, 0x1508, 0x6024, 0xd0dc, 0x1170, 0xd0e4, 0x1178, 0xd0d4, 0x1190, 0xd0cc, 0x0130, 0x7094, 0x9086, - 0x0028, 0x1110, 0x080c, 0x7279, 0x0804, 0x237d, 0x080c, 0x739b, - 0x0048, 0x2001, 0x194d, 0x2003, 0x0002, 0x0020, 0x080c, 0x71d7, - 0x0804, 0x237d, 0x080c, 0x731b, 0x0804, 0x237d, 0xd1ac, 0x0904, - 0x2297, 0x080c, 0x7096, 0x11d0, 0x2011, 0x0020, 0x080c, 0x288c, - 0x0006, 0x0026, 0x0036, 0x080c, 0x70b0, 0x1158, 0x080c, 0x7396, - 0x080c, 0x5cd7, 0x080c, 0x6fc7, 0x003e, 0x002e, 0x000e, 0x00ae, - 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x706a, 0x0016, 0x0046, + 0x0028, 0x1110, 0x080c, 0x729c, 0x0804, 0x2395, 0x080c, 0x73be, + 0x0048, 0x2001, 0x1955, 0x2003, 0x0002, 0x0020, 0x080c, 0x71fa, + 0x0804, 0x2395, 0x080c, 0x733e, 0x0804, 0x2395, 0xd1ac, 0x0904, + 0x22af, 0x080c, 0x70ba, 0x11d0, 0x2011, 0x0020, 0x080c, 0x28ac, + 0x0006, 0x0026, 0x0036, 0x080c, 0x70d4, 0x1158, 0x080c, 0x73b9, + 0x080c, 0x5cf7, 0x080c, 0x6feb, 0x003e, 0x002e, 0x000e, 0x00ae, + 0x0005, 0x003e, 0x002e, 0x000e, 0x080c, 0x708e, 0x0016, 0x0046, 0x00c6, 0x644c, 0x9486, 0xf0f0, 0x1138, 0x2061, 0x0100, 0x644a, 0x6043, 0x0090, 0x6043, 0x0010, 0x74d6, 0x948c, 0xff00, 0x7038, 0xd084, 0x0178, 0x9186, 0xf800, 0x1160, 0x7044, 0xd084, 0x1148, - 0xc085, 0x7046, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x48da, - 0x003e, 0x080c, 0xbf5a, 0x1904, 0x226e, 0x9196, 0xff00, 0x05a8, + 0xc085, 0x7046, 0x0036, 0x2418, 0x2011, 0x8016, 0x080c, 0x48fa, + 0x003e, 0x080c, 0xbf88, 0x1904, 0x2286, 0x9196, 0xff00, 0x05a8, 0x705c, 0x9084, 0x00ff, 0x810f, 0x81ff, 0x0110, 0x9116, 0x0568, - 0x7130, 0xd184, 0x1550, 0x080c, 0x317a, 0x0128, 0xc18d, 0x7132, - 0x080c, 0x665e, 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, + 0x7130, 0xd184, 0x1550, 0x080c, 0x319a, 0x0128, 0xc18d, 0x7132, + 0x080c, 0x6682, 0x1510, 0x6240, 0x9294, 0x0010, 0x0130, 0x6248, 0x9294, 0xff00, 0x9296, 0xff00, 0x01c0, 0x7030, 0xd08c, 0x0904, - 0x226e, 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, - 0x1904, 0x226e, 0xc1ad, 0x2102, 0x0036, 0x73d4, 0x2011, 0x8013, - 0x080c, 0x48da, 0x003e, 0x0804, 0x226e, 0x7038, 0xd08c, 0x1140, - 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, 0x226e, 0xc1ad, 0x2102, - 0x0036, 0x73d4, 0x2011, 0x8013, 0x080c, 0x48da, 0x003e, 0x7130, - 0xc185, 0x7132, 0x2011, 0x1854, 0x220c, 0x00f0, 0x0016, 0x2009, - 0x0001, 0x2011, 0x0100, 0x080c, 0x83cd, 0x2019, 0x000e, 0x00c6, - 0x2061, 0x0000, 0x080c, 0xd1fc, 0x00ce, 0x9484, 0x00ff, 0x9080, - 0x317f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, 0x9006, 0x2009, - 0x000e, 0x080c, 0xd284, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, - 0x0002, 0x2019, 0x0004, 0x080c, 0x2fd3, 0x001e, 0x0078, 0x0156, - 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x626b, 0x1110, 0x080c, - 0x5cf1, 0x8108, 0x1f04, 0x2264, 0x00be, 0x015e, 0x00ce, 0x004e, - 0x080c, 0x98bb, 0x080c, 0x9b60, 0x080c, 0x98d7, 0x60e3, 0x0000, + 0x2286, 0x7038, 0xd08c, 0x1140, 0x2001, 0x180c, 0x200c, 0xd1ac, + 0x1904, 0x2286, 0xc1ad, 0x2102, 0x0036, 0x73d4, 0x2011, 0x8013, + 0x080c, 0x48fa, 0x003e, 0x0804, 0x2286, 0x7038, 0xd08c, 0x1140, + 0x2001, 0x180c, 0x200c, 0xd1ac, 0x1904, 0x2286, 0xc1ad, 0x2102, + 0x0036, 0x73d4, 0x2011, 0x8013, 0x080c, 0x48fa, 0x003e, 0x7130, + 0xc185, 0x7132, 0x2011, 0x185c, 0x220c, 0x00f0, 0x0016, 0x2009, + 0x0001, 0x2011, 0x0100, 0x080c, 0x8401, 0x2019, 0x000e, 0x00c6, + 0x2061, 0x0000, 0x080c, 0xd234, 0x00ce, 0x9484, 0x00ff, 0x9080, + 0x319f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2120, 0x9006, 0x2009, + 0x000e, 0x080c, 0xd2bc, 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, + 0x0002, 0x2019, 0x0004, 0x080c, 0x2ff3, 0x001e, 0x0078, 0x0156, + 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x628f, 0x1110, 0x080c, + 0x5d11, 0x8108, 0x1f04, 0x227c, 0x00be, 0x015e, 0x00ce, 0x004e, + 0x080c, 0x98c7, 0x080c, 0x9b6c, 0x080c, 0x98e3, 0x60e3, 0x0000, 0x001e, 0x2001, 0x1800, 0x2014, 0x9296, 0x0004, 0x1170, 0xd19c, 0x11b0, 0x2011, 0x180c, 0x2214, 0xd29c, 0x1120, 0x6204, 0x9295, 0x0002, 0x6206, 0x6228, 0xc29d, 0x622a, 0x2003, 0x0001, 0x2001, - 0x1825, 0x2003, 0x0000, 0x2011, 0x0020, 0x080c, 0x288c, 0xd194, - 0x0904, 0x237d, 0x0016, 0x080c, 0x98bb, 0x6220, 0xd2b4, 0x0904, - 0x2325, 0x080c, 0x81ea, 0x080c, 0x8f9c, 0x2011, 0x0004, 0x080c, - 0x288c, 0x00f6, 0x2019, 0x19c3, 0x2304, 0x907d, 0x0904, 0x22f2, + 0x1825, 0x2003, 0x0000, 0x2011, 0x0020, 0x080c, 0x28ac, 0xd194, + 0x0904, 0x2395, 0x0016, 0x080c, 0x98c7, 0x6220, 0xd2b4, 0x0904, + 0x233d, 0x080c, 0x821e, 0x080c, 0x8fd0, 0x2011, 0x0004, 0x080c, + 0x28ac, 0x00f6, 0x2019, 0x19cb, 0x2304, 0x907d, 0x0904, 0x230a, 0x7804, 0x9086, 0x0032, 0x15f0, 0x00d6, 0x00c6, 0x00e6, 0x0096, 0x2069, 0x0140, 0x782c, 0x685e, 0x7808, 0x685a, 0x6043, 0x0002, 0x2001, 0x0003, 0x8001, 0x1df0, 0x6043, 0x0000, 0x2001, 0x003c, - 0x8001, 0x1df0, 0x080c, 0x2862, 0x2001, 0x001e, 0x8001, 0x0240, - 0x20a9, 0x0009, 0x080c, 0x2819, 0x6904, 0xd1dc, 0x1140, 0x0cb0, - 0x2001, 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x080c, - 0x885d, 0x080c, 0x98d7, 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, - 0x080c, 0x9bda, 0x009e, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, + 0x8001, 0x1df0, 0x080c, 0x2882, 0x2001, 0x001e, 0x8001, 0x0240, + 0x20a9, 0x0009, 0x080c, 0x2839, 0x6904, 0xd1dc, 0x1140, 0x0cb0, + 0x2001, 0x0100, 0x080c, 0x2872, 0x9006, 0x080c, 0x2872, 0x080c, + 0x8891, 0x080c, 0x98e3, 0x7814, 0x2048, 0xa867, 0x0103, 0x2f60, + 0x080c, 0x9be6, 0x009e, 0x00ee, 0x00ce, 0x00de, 0x00fe, 0x001e, 0x00ae, 0x0005, 0x00fe, 0x00d6, 0x2069, 0x0140, 0x6804, 0x9084, - 0x4000, 0x0110, 0x080c, 0x2862, 0x00de, 0x00c6, 0x2061, 0x19b7, - 0x6034, 0x080c, 0xbf61, 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, - 0x909a, 0x00c8, 0x1238, 0x8000, 0x6036, 0x00ce, 0x080c, 0x8f74, - 0x0804, 0x237a, 0x2061, 0x0100, 0x62c0, 0x080c, 0x97ec, 0x2019, - 0x19c3, 0x2304, 0x9065, 0x0130, 0x6003, 0x0001, 0x2009, 0x0027, - 0x080c, 0x9c76, 0x00ce, 0x0804, 0x237a, 0xd2bc, 0x05e0, 0x080c, - 0x81f7, 0x2011, 0x0004, 0x080c, 0x288c, 0x00d6, 0x2069, 0x0140, - 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, 0x2862, 0x00de, 0x00c6, - 0x2061, 0x19b7, 0x6050, 0x080c, 0xbf61, 0x0120, 0x909a, 0x0003, + 0x4000, 0x0110, 0x080c, 0x2882, 0x00de, 0x00c6, 0x2061, 0x19bf, + 0x6034, 0x080c, 0xbf8f, 0x0120, 0x909a, 0x0003, 0x1258, 0x0018, + 0x909a, 0x00c8, 0x1238, 0x8000, 0x6036, 0x00ce, 0x080c, 0x8fa8, + 0x0804, 0x2392, 0x2061, 0x0100, 0x62c0, 0x080c, 0x97f8, 0x2019, + 0x19cb, 0x2304, 0x9065, 0x0130, 0x6003, 0x0001, 0x2009, 0x0027, + 0x080c, 0x9c82, 0x00ce, 0x0804, 0x2392, 0xd2bc, 0x05e0, 0x080c, + 0x822b, 0x2011, 0x0004, 0x080c, 0x28ac, 0x00d6, 0x2069, 0x0140, + 0x6804, 0x9084, 0x4000, 0x0110, 0x080c, 0x2882, 0x00de, 0x00c6, + 0x2061, 0x19bf, 0x6050, 0x080c, 0xbf8f, 0x0120, 0x909a, 0x0003, 0x1638, 0x0018, 0x909a, 0x00c8, 0x1618, 0x8000, 0x6052, 0x604c, - 0x00ce, 0x9005, 0x0578, 0x2009, 0x07d0, 0x080c, 0x81ef, 0x9080, + 0x00ce, 0x9005, 0x0578, 0x2009, 0x07d0, 0x080c, 0x8223, 0x9080, 0x0008, 0x2004, 0x9086, 0x0006, 0x1138, 0x2009, 0x1984, 0x2011, - 0x0012, 0x080c, 0x289b, 0x00f0, 0x2009, 0x1984, 0x2011, 0x0016, - 0x080c, 0x289b, 0x00b8, 0x2011, 0x0004, 0x080c, 0x288c, 0x0090, - 0x0036, 0x2019, 0x0001, 0x080c, 0x9269, 0x003e, 0x2019, 0x19ca, + 0x0012, 0x080c, 0x28bb, 0x00f0, 0x2009, 0x1984, 0x2011, 0x0016, + 0x080c, 0x28bb, 0x00b8, 0x2011, 0x0004, 0x080c, 0x28ac, 0x0090, + 0x0036, 0x2019, 0x0001, 0x080c, 0x929d, 0x003e, 0x2019, 0x19d2, 0x2304, 0x9065, 0x0130, 0x2009, 0x004f, 0x6003, 0x0003, 0x080c, - 0x9c76, 0x00ce, 0x080c, 0x98d7, 0x001e, 0xd19c, 0x0904, 0x23db, - 0x7038, 0xd0ac, 0x1538, 0x0016, 0x0156, 0x2011, 0x0008, 0x080c, - 0x288c, 0x6050, 0xc0e5, 0x6052, 0x20a9, 0x0367, 0x1f04, 0x23a8, - 0x1d04, 0x2390, 0x080c, 0x821e, 0x6020, 0xd09c, 0x1db8, 0x00f6, - 0x2079, 0x0100, 0x080c, 0x27c9, 0x00fe, 0x1d80, 0x6050, 0xc0e4, - 0x6052, 0x2011, 0x0008, 0x080c, 0x288c, 0x015e, 0x001e, 0x0498, - 0x015e, 0x001e, 0x0016, 0x6028, 0xc09c, 0x602a, 0x080c, 0x98bb, - 0x080c, 0x9b60, 0x080c, 0x98d7, 0x60e3, 0x0000, 0x080c, 0xd60c, - 0x080c, 0xd627, 0x080c, 0x538c, 0xd0fc, 0x1138, 0x080c, 0xbf5a, - 0x1120, 0x9085, 0x0001, 0x080c, 0x70dd, 0x9006, 0x080c, 0x2852, - 0x2009, 0x0002, 0x080c, 0x283e, 0x00e6, 0x2071, 0x1800, 0x7003, - 0x0004, 0x080c, 0x0e9c, 0x00ee, 0x2011, 0x0008, 0x080c, 0x288c, - 0x080c, 0x0bab, 0x001e, 0x918c, 0xffd0, 0x2110, 0x080c, 0x288c, - 0x00ae, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, 0x00f6, - 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x71cc, 0x70ce, 0x9116, - 0x0904, 0x2435, 0x81ff, 0x01a0, 0x2009, 0x0000, 0x080c, 0x283e, - 0x2011, 0x8011, 0x2019, 0x010e, 0x231c, 0x939e, 0x0007, 0x1118, - 0x2019, 0x0001, 0x0010, 0x2019, 0x0000, 0x080c, 0x48da, 0x0468, - 0x2001, 0x1978, 0x200c, 0x81ff, 0x1140, 0x2001, 0x0109, 0x2004, - 0xd0b4, 0x0118, 0x2019, 0x0003, 0x0008, 0x2118, 0x2011, 0x8012, - 0x080c, 0x48da, 0x080c, 0x0e9c, 0x080c, 0x538c, 0xd0fc, 0x11a8, - 0x080c, 0xbf5a, 0x1190, 0x00c6, 0x080c, 0x24d1, 0x080c, 0x98bb, - 0x080c, 0x91c4, 0x080c, 0x98d7, 0x2061, 0x0100, 0x2019, 0x0028, - 0x2009, 0x0002, 0x080c, 0x2fd3, 0x00ce, 0x012e, 0x00fe, 0x00ee, - 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x2028, 0x918c, 0x00ff, - 0x2130, 0x9094, 0xff00, 0x11f0, 0x2011, 0x1836, 0x2214, 0xd2ac, - 0x11c8, 0x81ff, 0x01e8, 0x2011, 0x181e, 0x2204, 0x9106, 0x1190, - 0x2011, 0x181f, 0x2214, 0x9294, 0xff00, 0x9584, 0xff00, 0x9206, - 0x1148, 0x2011, 0x181f, 0x2214, 0x9294, 0x00ff, 0x9584, 0x00ff, - 0x9206, 0x1120, 0x2500, 0x080c, 0x7d4f, 0x0048, 0x9584, 0x00ff, - 0x9080, 0x317f, 0x200d, 0x918c, 0xff00, 0x810f, 0x9006, 0x0005, - 0x9080, 0x317f, 0x200d, 0x918c, 0x00ff, 0x0005, 0x00d6, 0x2069, - 0x0140, 0x2001, 0x1817, 0x2003, 0x00ef, 0x20a9, 0x0010, 0x9006, - 0x6852, 0x6856, 0x1f04, 0x2481, 0x00de, 0x0005, 0x0006, 0x00d6, - 0x0026, 0x2069, 0x0140, 0x2001, 0x1817, 0x2102, 0x8114, 0x8214, - 0x8214, 0x8214, 0x20a9, 0x0010, 0x6853, 0x0000, 0x9006, 0x82ff, - 0x1128, 0x9184, 0x000f, 0x9080, 0xd63b, 0x2005, 0x6856, 0x8211, - 0x1f04, 0x2496, 0x002e, 0x00de, 0x000e, 0x0005, 0x00c6, 0x2061, - 0x1800, 0x6030, 0x0110, 0xc09d, 0x0008, 0xc09c, 0x6032, 0x00ce, - 0x0005, 0x0156, 0x00d6, 0x0026, 0x0016, 0x0006, 0x2069, 0x0140, - 0x6980, 0x9116, 0x0180, 0x9112, 0x1230, 0x8212, 0x8210, 0x22a8, - 0x2001, 0x0402, 0x0018, 0x22a8, 0x2001, 0x0404, 0x680e, 0x1f04, - 0x24c6, 0x680f, 0x0000, 0x000e, 0x001e, 0x002e, 0x00de, 0x015e, - 0x0005, 0x080c, 0x5388, 0xd0c4, 0x0150, 0xd0a4, 0x0140, 0x9006, - 0x0046, 0x2020, 0x2009, 0x002e, 0x080c, 0xd284, 0x004e, 0x0005, - 0x00f6, 0x0016, 0x0026, 0x2079, 0x0140, 0x78c4, 0xd0dc, 0x0904, - 0x253d, 0x080c, 0x27b9, 0x0660, 0x9084, 0x0700, 0x908e, 0x0600, - 0x1120, 0x2011, 0x4000, 0x900e, 0x0458, 0x908e, 0x0500, 0x1120, - 0x2011, 0x8000, 0x900e, 0x0420, 0x908e, 0x0400, 0x1120, 0x9016, - 0x2009, 0x0001, 0x00e8, 0x908e, 0x0300, 0x1120, 0x9016, 0x2009, - 0x0002, 0x00b0, 0x908e, 0x0200, 0x1120, 0x9016, 0x2009, 0x0004, - 0x0078, 0x908e, 0x0100, 0x1548, 0x9016, 0x2009, 0x0008, 0x0040, - 0x9084, 0x0700, 0x908e, 0x0300, 0x1500, 0x2011, 0x0030, 0x0058, - 0x2300, 0x9080, 0x0020, 0x2018, 0x080c, 0x83fb, 0x928c, 0xff00, - 0x0110, 0x2011, 0x00ff, 0x2200, 0x8007, 0x9085, 0x004c, 0x78c2, - 0x2009, 0x0138, 0x220a, 0x080c, 0x7096, 0x1118, 0x2009, 0x193d, - 0x220a, 0x002e, 0x001e, 0x00fe, 0x0005, 0x78c3, 0x0000, 0x0cc8, - 0x0126, 0x2091, 0x2800, 0x0006, 0x0016, 0x0026, 0x2001, 0x0170, - 0x200c, 0x8000, 0x2014, 0x9184, 0x0003, 0x0110, 0x080c, 0x0d5e, - 0x002e, 0x001e, 0x000e, 0x012e, 0x0005, 0x2001, 0x0171, 0x2004, - 0xd0dc, 0x0168, 0x2001, 0x0170, 0x200c, 0x918c, 0x00ff, 0x918e, - 0x004c, 0x1128, 0x200c, 0x918c, 0xff00, 0x810f, 0x0005, 0x900e, - 0x2001, 0x0227, 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, - 0x2001, 0x0226, 0x2004, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9108, - 0x0005, 0x0018, 0x000c, 0x0018, 0x0020, 0x1000, 0x0800, 0x1000, - 0x1800, 0x0156, 0x0006, 0x0016, 0x0026, 0x00e6, 0x2001, 0x1960, - 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0d65, 0x0033, 0x00ee, 0x002e, - 0x001e, 0x000e, 0x015e, 0x0005, 0x259b, 0x25b9, 0x25dd, 0x25df, - 0x2608, 0x260a, 0x260c, 0x2001, 0x0001, 0x080c, 0x23e2, 0x080c, - 0x2803, 0x2001, 0x1962, 0x2003, 0x0000, 0x7828, 0x9084, 0xe1d7, - 0x782a, 0x9006, 0x20a9, 0x0009, 0x080c, 0x27d5, 0x2001, 0x1960, - 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x260d, 0x080c, 0x81fc, - 0x0005, 0x2009, 0x1965, 0x200b, 0x0000, 0x2001, 0x196a, 0x2003, - 0x0036, 0x2001, 0x1969, 0x2003, 0x002a, 0x2001, 0x1962, 0x2003, - 0x0001, 0x9006, 0x080c, 0x276a, 0x2001, 0xffff, 0x20a9, 0x0009, - 0x080c, 0x27d5, 0x2001, 0x1960, 0x2003, 0x0006, 0x2009, 0x001e, - 0x2011, 0x260d, 0x080c, 0x81fc, 0x0005, 0x080c, 0x0d65, 0x2001, - 0x196a, 0x2003, 0x0036, 0x2001, 0x1962, 0x2003, 0x0003, 0x7a38, - 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x276a, 0x2001, 0x1966, 0x2003, 0x0000, 0x2001, - 0xffff, 0x20a9, 0x0009, 0x080c, 0x27d5, 0x2001, 0x1960, 0x2003, - 0x0006, 0x2009, 0x001e, 0x2011, 0x260d, 0x080c, 0x81fc, 0x0005, - 0x080c, 0x0d65, 0x080c, 0x0d65, 0x0005, 0x0006, 0x0016, 0x0026, - 0x00e6, 0x00f6, 0x0156, 0x0126, 0x2091, 0x8000, 0x2079, 0x0100, - 0x2001, 0x1962, 0x2004, 0x908a, 0x0007, 0x1a0c, 0x0d65, 0x0043, - 0x012e, 0x015e, 0x00fe, 0x00ee, 0x002e, 0x001e, 0x000e, 0x0005, - 0x262f, 0x264f, 0x268f, 0x26bf, 0x26e3, 0x26f3, 0x26f5, 0x080c, - 0x27c9, 0x11b0, 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x1968, - 0x2104, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, 0x0110, 0xc08d, - 0x0008, 0xc085, 0x200a, 0x2001, 0x1960, 0x2003, 0x0001, 0x0030, - 0x080c, 0x2719, 0x2001, 0xffff, 0x080c, 0x25aa, 0x0005, 0x080c, - 0x26f7, 0x05e0, 0x2009, 0x1969, 0x2104, 0x8001, 0x200a, 0x080c, - 0x27c9, 0x1178, 0x7850, 0x9084, 0xefff, 0x7852, 0x7a38, 0x9294, - 0x0005, 0x9296, 0x0005, 0x0518, 0x2009, 0x1968, 0x2104, 0xc085, - 0x200a, 0x2009, 0x1965, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, - 0x0118, 0x080c, 0x26ff, 0x00c0, 0x200b, 0x0000, 0x7a38, 0x9294, - 0x0006, 0x9296, 0x0004, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, - 0x080c, 0x2787, 0x2001, 0x1962, 0x2003, 0x0002, 0x0028, 0x2001, - 0x1960, 0x2003, 0x0003, 0x0010, 0x080c, 0x25cc, 0x0005, 0x080c, - 0x26f7, 0x0560, 0x2009, 0x1969, 0x2104, 0x8001, 0x200a, 0x080c, - 0x27c9, 0x1168, 0x7850, 0x9084, 0xefff, 0x7852, 0x2001, 0x1960, - 0x2003, 0x0003, 0x2001, 0x1961, 0x2003, 0x0000, 0x00b8, 0x2009, - 0x1969, 0x2104, 0x9005, 0x1118, 0x080c, 0x273c, 0x0010, 0x080c, - 0x270c, 0x080c, 0x26ff, 0x2009, 0x1965, 0x200b, 0x0000, 0x2001, - 0x1962, 0x2003, 0x0001, 0x080c, 0x25cc, 0x0000, 0x0005, 0x04b9, - 0x0508, 0x080c, 0x27c9, 0x11b8, 0x7850, 0x9084, 0xefff, 0x7852, - 0x2009, 0x1966, 0x2104, 0x8000, 0x200a, 0x9086, 0x0007, 0x0108, - 0x0078, 0x2001, 0x196b, 0x2003, 0x000a, 0x2009, 0x1968, 0x2104, - 0xc0fd, 0x200a, 0x0038, 0x0419, 0x2001, 0x1962, 0x2003, 0x0004, - 0x080c, 0x25f7, 0x0005, 0x0099, 0x0168, 0x080c, 0x27c9, 0x1138, - 0x7850, 0x9084, 0xefff, 0x7852, 0x080c, 0x25e3, 0x0018, 0x0079, - 0x080c, 0x25f7, 0x0005, 0x080c, 0x0d65, 0x080c, 0x0d65, 0x2009, - 0x196a, 0x2104, 0x8001, 0x200a, 0x090c, 0x2758, 0x0005, 0x7a38, - 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x2787, 0x0005, 0x7a38, 0x9294, 0x0006, 0x9296, - 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x276a, - 0x0005, 0x2009, 0x1965, 0x2104, 0x8000, 0x200a, 0x9086, 0x0005, - 0x0108, 0x0068, 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, - 0x0006, 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x04d9, 0x7a38, - 0x9294, 0x0005, 0x9296, 0x0005, 0x0110, 0x9006, 0x0010, 0x2001, - 0x0001, 0x080c, 0x2787, 0x0005, 0x0086, 0x2001, 0x1968, 0x2004, - 0x9084, 0x7fff, 0x090c, 0x0d65, 0x2009, 0x1967, 0x2144, 0x8846, - 0x280a, 0x9844, 0x0dd8, 0xd08c, 0x1120, 0xd084, 0x1120, 0x080c, - 0x0d65, 0x9006, 0x0010, 0x2001, 0x0001, 0x00a1, 0x008e, 0x0005, - 0x0006, 0x0156, 0x2001, 0x1960, 0x20a9, 0x0009, 0x2003, 0x0000, - 0x8000, 0x1f04, 0x275e, 0x2001, 0x1967, 0x2003, 0x8000, 0x015e, - 0x000e, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, - 0x7838, 0x9084, 0xfff9, 0x9085, 0x0004, 0x783a, 0x2009, 0x196d, - 0x210c, 0x795a, 0x0050, 0x7838, 0x9084, 0xfffb, 0x9085, 0x0006, - 0x783a, 0x2009, 0x196e, 0x210c, 0x795a, 0x00fe, 0x0005, 0x00f6, - 0x2079, 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfffa, - 0x9085, 0x0004, 0x783a, 0x7850, 0x9084, 0xfff0, 0x7852, 0x00f8, - 0x7838, 0x9084, 0xfffb, 0x9085, 0x0005, 0x783a, 0x7850, 0x9084, - 0xfff0, 0x0016, 0x2009, 0x017f, 0x210c, 0x918e, 0x0005, 0x0140, - 0x2009, 0x0003, 0x210c, 0x918c, 0x0600, 0x918e, 0x0400, 0x0118, - 0x9085, 0x000a, 0x0010, 0x9085, 0x0000, 0x001e, 0x7852, 0x00fe, - 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0007, 0x000e, - 0x0005, 0x0006, 0x2001, 0x0100, 0x2004, 0x9082, 0x0009, 0x000e, - 0x0005, 0x0156, 0x20a9, 0x0064, 0x7820, 0x080c, 0x2838, 0xd09c, - 0x1110, 0x1f04, 0x27cc, 0x015e, 0x0005, 0x0126, 0x0016, 0x0006, - 0x2091, 0x8000, 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, + 0x9c82, 0x00ce, 0x080c, 0x98e3, 0x001e, 0xd19c, 0x0904, 0x23f7, + 0x7038, 0xd0ac, 0x1558, 0x0016, 0x0156, 0x2011, 0x0008, 0x080c, + 0x28ac, 0x080c, 0x28cf, 0x080c, 0x2902, 0x6050, 0xc0e5, 0x6052, + 0x20a9, 0x0367, 0x1f04, 0x23c4, 0x1d04, 0x23ac, 0x080c, 0x8252, + 0x6020, 0xd09c, 0x1db8, 0x00f6, 0x2079, 0x0100, 0x080c, 0x27e5, + 0x00fe, 0x1d80, 0x6050, 0xc0e4, 0x6052, 0x2011, 0x0008, 0x080c, + 0x28ac, 0x015e, 0x001e, 0x0498, 0x015e, 0x001e, 0x0016, 0x6028, + 0xc09c, 0x602a, 0x080c, 0x98c7, 0x080c, 0x9b6c, 0x080c, 0x98e3, + 0x60e3, 0x0000, 0x080c, 0xd644, 0x080c, 0xd65f, 0x080c, 0x53ac, + 0xd0fc, 0x1138, 0x080c, 0xbf88, 0x1120, 0x9085, 0x0001, 0x080c, + 0x7101, 0x9006, 0x080c, 0x2872, 0x2009, 0x0002, 0x080c, 0x285e, + 0x00e6, 0x2071, 0x1800, 0x7003, 0x0004, 0x080c, 0x0ea9, 0x00ee, + 0x2011, 0x0008, 0x080c, 0x28ac, 0x080c, 0x0bab, 0x001e, 0x918c, + 0xffd0, 0x2110, 0x080c, 0x28ac, 0x00ae, 0x0005, 0x0006, 0x0016, + 0x0026, 0x0036, 0x00e6, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2071, + 0x1800, 0x71cc, 0x70ce, 0x9116, 0x0904, 0x2451, 0x81ff, 0x01a0, + 0x2009, 0x0000, 0x080c, 0x285e, 0x2011, 0x8011, 0x2019, 0x010e, + 0x231c, 0x939e, 0x0007, 0x1118, 0x2019, 0x0001, 0x0010, 0x2019, + 0x0000, 0x080c, 0x48fa, 0x0468, 0x2001, 0x1980, 0x200c, 0x81ff, + 0x1140, 0x2001, 0x0109, 0x2004, 0xd0b4, 0x0118, 0x2019, 0x0003, + 0x0008, 0x2118, 0x2011, 0x8012, 0x080c, 0x48fa, 0x080c, 0x0ea9, + 0x080c, 0x53ac, 0xd0fc, 0x11a8, 0x080c, 0xbf88, 0x1190, 0x00c6, + 0x080c, 0x24ed, 0x080c, 0x98c7, 0x080c, 0x91f8, 0x080c, 0x98e3, + 0x2061, 0x0100, 0x2019, 0x0028, 0x2009, 0x0002, 0x080c, 0x2ff3, + 0x00ce, 0x012e, 0x00fe, 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, + 0x0005, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, 0x11f0, + 0x2011, 0x1836, 0x2214, 0xd2ac, 0x11c8, 0x81ff, 0x01e8, 0x2011, + 0x181e, 0x2204, 0x9106, 0x1190, 0x2011, 0x181f, 0x2214, 0x9294, + 0xff00, 0x9584, 0xff00, 0x9206, 0x1148, 0x2011, 0x181f, 0x2214, + 0x9294, 0x00ff, 0x9584, 0x00ff, 0x9206, 0x1120, 0x2500, 0x080c, + 0x7d73, 0x0048, 0x9584, 0x00ff, 0x9080, 0x319f, 0x200d, 0x918c, + 0xff00, 0x810f, 0x9006, 0x0005, 0x9080, 0x319f, 0x200d, 0x918c, + 0x00ff, 0x0005, 0x00d6, 0x2069, 0x0140, 0x2001, 0x1817, 0x2003, + 0x00ef, 0x20a9, 0x0010, 0x9006, 0x6852, 0x6856, 0x1f04, 0x249d, + 0x00de, 0x0005, 0x0006, 0x00d6, 0x0026, 0x2069, 0x0140, 0x2001, + 0x1817, 0x2102, 0x8114, 0x8214, 0x8214, 0x8214, 0x20a9, 0x0010, + 0x6853, 0x0000, 0x9006, 0x82ff, 0x1128, 0x9184, 0x000f, 0x9080, + 0xd673, 0x2005, 0x6856, 0x8211, 0x1f04, 0x24b2, 0x002e, 0x00de, + 0x000e, 0x0005, 0x00c6, 0x2061, 0x1800, 0x6030, 0x0110, 0xc09d, + 0x0008, 0xc09c, 0x6032, 0x00ce, 0x0005, 0x0156, 0x00d6, 0x0026, + 0x0016, 0x0006, 0x2069, 0x0140, 0x6980, 0x9116, 0x0180, 0x9112, + 0x1230, 0x8212, 0x8210, 0x22a8, 0x2001, 0x0402, 0x0018, 0x22a8, + 0x2001, 0x0404, 0x680e, 0x1f04, 0x24e2, 0x680f, 0x0000, 0x000e, + 0x001e, 0x002e, 0x00de, 0x015e, 0x0005, 0x080c, 0x53a8, 0xd0c4, + 0x0150, 0xd0a4, 0x0140, 0x9006, 0x0046, 0x2020, 0x2009, 0x002e, + 0x080c, 0xd2bc, 0x004e, 0x0005, 0x00f6, 0x0016, 0x0026, 0x2079, + 0x0140, 0x78c4, 0xd0dc, 0x0904, 0x2559, 0x080c, 0x27d5, 0x0660, + 0x9084, 0x0700, 0x908e, 0x0600, 0x1120, 0x2011, 0x4000, 0x900e, + 0x0458, 0x908e, 0x0500, 0x1120, 0x2011, 0x8000, 0x900e, 0x0420, + 0x908e, 0x0400, 0x1120, 0x9016, 0x2009, 0x0001, 0x00e8, 0x908e, + 0x0300, 0x1120, 0x9016, 0x2009, 0x0002, 0x00b0, 0x908e, 0x0200, + 0x1120, 0x9016, 0x2009, 0x0004, 0x0078, 0x908e, 0x0100, 0x1548, + 0x9016, 0x2009, 0x0008, 0x0040, 0x9084, 0x0700, 0x908e, 0x0300, + 0x1500, 0x2011, 0x0030, 0x0058, 0x2300, 0x9080, 0x0020, 0x2018, + 0x080c, 0x842f, 0x928c, 0xff00, 0x0110, 0x2011, 0x00ff, 0x2200, + 0x8007, 0x9085, 0x004c, 0x78c2, 0x2009, 0x0138, 0x220a, 0x080c, + 0x70ba, 0x1118, 0x2009, 0x1945, 0x220a, 0x002e, 0x001e, 0x00fe, + 0x0005, 0x78c3, 0x0000, 0x0cc8, 0x0126, 0x2091, 0x2800, 0x0006, + 0x0016, 0x0026, 0x2001, 0x0170, 0x200c, 0x8000, 0x2014, 0x9184, + 0x0003, 0x0110, 0x080c, 0x0d5e, 0x002e, 0x001e, 0x000e, 0x012e, + 0x0005, 0x2001, 0x0171, 0x2004, 0xd0dc, 0x0168, 0x2001, 0x0170, + 0x200c, 0x918c, 0x00ff, 0x918e, 0x004c, 0x1128, 0x200c, 0x918c, + 0xff00, 0x810f, 0x0005, 0x900e, 0x2001, 0x0227, 0x2004, 0x8007, + 0x9084, 0x00ff, 0x8004, 0x9108, 0x2001, 0x0226, 0x2004, 0x8007, + 0x9084, 0x00ff, 0x8004, 0x9108, 0x0005, 0x0018, 0x000c, 0x0018, + 0x0020, 0x1000, 0x0800, 0x1000, 0x1800, 0x0156, 0x0006, 0x0016, + 0x0026, 0x00e6, 0x2001, 0x1968, 0x2004, 0x908a, 0x0007, 0x1a0c, + 0x0d65, 0x0033, 0x00ee, 0x002e, 0x001e, 0x000e, 0x015e, 0x0005, + 0x25b7, 0x25d5, 0x25f9, 0x25fb, 0x2624, 0x2626, 0x2628, 0x2001, + 0x0001, 0x080c, 0x23fe, 0x080c, 0x2823, 0x2001, 0x196a, 0x2003, + 0x0000, 0x7828, 0x9084, 0xe1d7, 0x782a, 0x9006, 0x20a9, 0x0009, + 0x080c, 0x27f1, 0x2001, 0x1968, 0x2003, 0x0006, 0x2009, 0x001e, + 0x2011, 0x2629, 0x080c, 0x8230, 0x0005, 0x2009, 0x196d, 0x200b, + 0x0000, 0x2001, 0x1972, 0x2003, 0x0036, 0x2001, 0x1971, 0x2003, + 0x002a, 0x2001, 0x196a, 0x2003, 0x0001, 0x9006, 0x080c, 0x2786, + 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, 0x27f1, 0x2001, 0x1968, + 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, 0x2629, 0x080c, 0x8230, + 0x0005, 0x080c, 0x0d65, 0x2001, 0x1972, 0x2003, 0x0036, 0x2001, + 0x196a, 0x2003, 0x0003, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0004, + 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x2786, 0x2001, + 0x196e, 0x2003, 0x0000, 0x2001, 0xffff, 0x20a9, 0x0009, 0x080c, + 0x27f1, 0x2001, 0x1968, 0x2003, 0x0006, 0x2009, 0x001e, 0x2011, + 0x2629, 0x080c, 0x8230, 0x0005, 0x080c, 0x0d65, 0x080c, 0x0d65, + 0x0005, 0x0006, 0x0016, 0x0026, 0x00e6, 0x00f6, 0x0156, 0x0126, + 0x2091, 0x8000, 0x2079, 0x0100, 0x2001, 0x196a, 0x2004, 0x908a, + 0x0007, 0x1a0c, 0x0d65, 0x0043, 0x012e, 0x015e, 0x00fe, 0x00ee, + 0x002e, 0x001e, 0x000e, 0x0005, 0x264b, 0x266b, 0x26ab, 0x26db, + 0x26ff, 0x270f, 0x2711, 0x080c, 0x27e5, 0x11b0, 0x7850, 0x9084, + 0xefff, 0x7852, 0x2009, 0x1970, 0x2104, 0x7a38, 0x9294, 0x0005, + 0x9296, 0x0004, 0x0110, 0xc08d, 0x0008, 0xc085, 0x200a, 0x2001, + 0x1968, 0x2003, 0x0001, 0x0030, 0x080c, 0x2735, 0x2001, 0xffff, + 0x080c, 0x25c6, 0x0005, 0x080c, 0x2713, 0x05e0, 0x2009, 0x1971, + 0x2104, 0x8001, 0x200a, 0x080c, 0x27e5, 0x1178, 0x7850, 0x9084, + 0xefff, 0x7852, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, 0x0518, + 0x2009, 0x1970, 0x2104, 0xc085, 0x200a, 0x2009, 0x196d, 0x2104, + 0x8000, 0x200a, 0x9086, 0x0005, 0x0118, 0x080c, 0x271b, 0x00c0, + 0x200b, 0x0000, 0x7a38, 0x9294, 0x0006, 0x9296, 0x0004, 0x0110, + 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x27a3, 0x2001, 0x196a, + 0x2003, 0x0002, 0x0028, 0x2001, 0x1968, 0x2003, 0x0003, 0x0010, + 0x080c, 0x25e8, 0x0005, 0x080c, 0x2713, 0x0560, 0x2009, 0x1971, + 0x2104, 0x8001, 0x200a, 0x080c, 0x27e5, 0x1168, 0x7850, 0x9084, + 0xefff, 0x7852, 0x2001, 0x1968, 0x2003, 0x0003, 0x2001, 0x1969, + 0x2003, 0x0000, 0x00b8, 0x2009, 0x1971, 0x2104, 0x9005, 0x1118, + 0x080c, 0x2758, 0x0010, 0x080c, 0x2728, 0x080c, 0x271b, 0x2009, + 0x196d, 0x200b, 0x0000, 0x2001, 0x196a, 0x2003, 0x0001, 0x080c, + 0x25e8, 0x0000, 0x0005, 0x04b9, 0x0508, 0x080c, 0x27e5, 0x11b8, + 0x7850, 0x9084, 0xefff, 0x7852, 0x2009, 0x196e, 0x2104, 0x8000, + 0x200a, 0x9086, 0x0007, 0x0108, 0x0078, 0x2001, 0x1973, 0x2003, + 0x000a, 0x2009, 0x1970, 0x2104, 0xc0fd, 0x200a, 0x0038, 0x0419, + 0x2001, 0x196a, 0x2003, 0x0004, 0x080c, 0x2613, 0x0005, 0x0099, + 0x0168, 0x080c, 0x27e5, 0x1138, 0x7850, 0x9084, 0xefff, 0x7852, + 0x080c, 0x25ff, 0x0018, 0x0079, 0x080c, 0x2613, 0x0005, 0x080c, + 0x0d65, 0x080c, 0x0d65, 0x2009, 0x1972, 0x2104, 0x8001, 0x200a, + 0x090c, 0x2774, 0x0005, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, + 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x27a3, 0x0005, + 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, + 0x2001, 0x0001, 0x080c, 0x2786, 0x0005, 0x2009, 0x196d, 0x2104, + 0x8000, 0x200a, 0x9086, 0x0005, 0x0108, 0x0068, 0x200b, 0x0000, + 0x7a38, 0x9294, 0x0006, 0x9296, 0x0006, 0x0110, 0x9006, 0x0010, + 0x2001, 0x0001, 0x04d9, 0x7a38, 0x9294, 0x0005, 0x9296, 0x0005, + 0x0110, 0x9006, 0x0010, 0x2001, 0x0001, 0x080c, 0x27a3, 0x0005, + 0x0086, 0x2001, 0x1970, 0x2004, 0x9084, 0x7fff, 0x090c, 0x0d65, + 0x2009, 0x196f, 0x2144, 0x8846, 0x280a, 0x9844, 0x0dd8, 0xd08c, + 0x1120, 0xd084, 0x1120, 0x080c, 0x0d65, 0x9006, 0x0010, 0x2001, + 0x0001, 0x00a1, 0x008e, 0x0005, 0x0006, 0x0156, 0x2001, 0x1968, + 0x20a9, 0x0009, 0x2003, 0x0000, 0x8000, 0x1f04, 0x277a, 0x2001, + 0x196f, 0x2003, 0x8000, 0x015e, 0x000e, 0x0005, 0x00f6, 0x2079, + 0x0100, 0x9085, 0x0000, 0x0158, 0x7838, 0x9084, 0xfff9, 0x9085, + 0x0004, 0x783a, 0x2009, 0x1975, 0x210c, 0x795a, 0x0050, 0x7838, + 0x9084, 0xfffb, 0x9085, 0x0006, 0x783a, 0x2009, 0x1976, 0x210c, + 0x795a, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, 0x9085, 0x0000, + 0x0158, 0x7838, 0x9084, 0xfffa, 0x9085, 0x0004, 0x783a, 0x7850, + 0x9084, 0xfff0, 0x7852, 0x00f8, 0x7838, 0x9084, 0xfffb, 0x9085, + 0x0005, 0x783a, 0x7850, 0x9084, 0xfff0, 0x0016, 0x2009, 0x017f, + 0x210c, 0x918e, 0x0005, 0x0140, 0x2009, 0x0003, 0x210c, 0x918c, + 0x0600, 0x918e, 0x0400, 0x0118, 0x9085, 0x000a, 0x0010, 0x9085, + 0x0000, 0x001e, 0x7852, 0x00fe, 0x0005, 0x0006, 0x2001, 0x0100, + 0x2004, 0x9082, 0x0007, 0x000e, 0x0005, 0x0006, 0x2001, 0x0100, + 0x2004, 0x9082, 0x0009, 0x000e, 0x0005, 0x0156, 0x20a9, 0x0064, + 0x7820, 0x080c, 0x2858, 0xd09c, 0x1110, 0x1f04, 0x27e8, 0x015e, + 0x0005, 0x0126, 0x0016, 0x0006, 0x2091, 0x8000, 0x080c, 0x28cf, + 0x080c, 0x2902, 0x000e, 0x2008, 0x9186, 0x0000, 0x1118, 0x783b, 0x0007, 0x0090, 0x9186, 0x0001, 0x1118, 0x783b, 0x0006, 0x0060, 0x9186, 0x0002, 0x1118, 0x783b, 0x0005, 0x0030, 0x9186, 0x0003, - 0x1118, 0x783b, 0x0004, 0x0000, 0x0006, 0x1d04, 0x27f5, 0x080c, - 0x821e, 0x1f04, 0x27f5, 0x7850, 0x9085, 0x1000, 0x7852, 0x000e, - 0x001e, 0x012e, 0x0005, 0x080c, 0x28e2, 0x0005, 0x0006, 0x0156, + 0x1118, 0x783b, 0x0004, 0x0000, 0x0006, 0x1d04, 0x2815, 0x080c, + 0x8252, 0x1f04, 0x2815, 0x7850, 0x9085, 0x1000, 0x7852, 0x000e, + 0x001e, 0x012e, 0x0005, 0x080c, 0x2902, 0x0005, 0x0006, 0x0156, 0x00f6, 0x2079, 0x0100, 0x20a9, 0x000a, 0x7854, 0xd0ac, 0x1100, - 0x7854, 0xd08c, 0x1110, 0x1f04, 0x2810, 0x00fe, 0x015e, 0x000e, - 0x0005, 0x1d04, 0x2819, 0x080c, 0x821e, 0x1f04, 0x2819, 0x0005, - 0x0006, 0x2001, 0x196c, 0x2004, 0x9086, 0x0000, 0x000e, 0x0005, - 0x0006, 0x2001, 0x196c, 0x2004, 0x9086, 0x0001, 0x000e, 0x0005, - 0x0006, 0x2001, 0x196c, 0x2004, 0x9086, 0x0002, 0x000e, 0x0005, + 0x7854, 0xd08c, 0x1110, 0x1f04, 0x2830, 0x00fe, 0x015e, 0x000e, + 0x0005, 0x1d04, 0x2839, 0x080c, 0x8252, 0x1f04, 0x2839, 0x0005, + 0x0006, 0x2001, 0x1974, 0x2004, 0x9086, 0x0000, 0x000e, 0x0005, + 0x0006, 0x2001, 0x1974, 0x2004, 0x9086, 0x0001, 0x000e, 0x0005, + 0x0006, 0x2001, 0x1974, 0x2004, 0x9086, 0x0002, 0x000e, 0x0005, 0xa001, 0xa001, 0xa001, 0xa001, 0xa001, 0x0005, 0x0006, 0x2001, - 0x1978, 0x2102, 0x000e, 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, + 0x1980, 0x2102, 0x000e, 0x0005, 0x2009, 0x0171, 0x2104, 0xd0dc, 0x0140, 0x2009, 0x0170, 0x2104, 0x200b, 0x0080, 0xa001, 0xa001, - 0x200a, 0x0005, 0x0016, 0x0026, 0x080c, 0x70b0, 0x0108, 0xc0bc, + 0x200a, 0x0005, 0x0016, 0x0026, 0x080c, 0x70d4, 0x0108, 0xc0bc, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9285, 0x1000, 0x200a, 0x220a, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x2009, 0x0140, 0x2114, 0x9294, 0x0001, 0x9215, 0x220a, 0x002e, 0x001e, 0x0005, 0x0006, 0x0016, 0x2009, 0x0140, - 0x2104, 0x1128, 0x080c, 0x70b0, 0x0110, 0xc0bc, 0x0008, 0xc0bd, + 0x2104, 0x1128, 0x080c, 0x70d4, 0x0110, 0xc0bc, 0x0008, 0xc0bd, 0x200a, 0x001e, 0x000e, 0x0005, 0x00f6, 0x2079, 0x0380, 0x7843, 0x0101, 0x7844, 0xd084, 0x1de8, 0x2001, 0x0109, 0x2202, 0x7843, 0x0100, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0380, 0x7843, 0x0202, 0x7844, 0xd08c, 0x1de8, 0x2079, 0x0100, 0x7814, 0x9104, 0x9205, 0x7a16, 0x2079, 0x0380, 0x7843, 0x0200, 0x00fe, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x2061, 0x0100, 0x6050, 0x9084, 0xfbff, - 0x9085, 0x0040, 0x6052, 0x20a9, 0x0002, 0x080c, 0x2819, 0x6050, + 0x9085, 0x0040, 0x6052, 0x20a9, 0x0002, 0x080c, 0x2839, 0x6050, 0x9085, 0x0400, 0x9084, 0xff9f, 0x6052, 0x20a9, 0x0005, 0x080c, - 0x2819, 0x6054, 0xd0bc, 0x090c, 0x0d65, 0x20a9, 0x0005, 0x080c, - 0x2819, 0x6054, 0xd0ac, 0x090c, 0x0d65, 0x2009, 0x197f, 0x9084, + 0x2839, 0x6054, 0xd0bc, 0x090c, 0x0d65, 0x20a9, 0x0005, 0x080c, + 0x2839, 0x6054, 0xd0ac, 0x090c, 0x0d65, 0x2009, 0x1987, 0x9084, 0x7e00, 0x8007, 0x8004, 0x8004, 0x200a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0006, 0x00c6, 0x2061, 0x0100, 0x6050, 0xc0cd, - 0x6052, 0x00ce, 0x000e, 0x0005, 0x2de8, 0x2de8, 0x29ec, 0x29ec, - 0x29f8, 0x29f8, 0x2a04, 0x2a04, 0x2a12, 0x2a12, 0x2a1e, 0x2a1e, - 0x2a2c, 0x2a2c, 0x2a3a, 0x2a3a, 0x2a4c, 0x2a4c, 0x2a58, 0x2a58, - 0x2a66, 0x2a66, 0x2a84, 0x2a84, 0x2aa4, 0x2aa4, 0x2a74, 0x2a74, - 0x2a94, 0x2a94, 0x2ab2, 0x2ab2, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2ac4, 0x2ac4, 0x2ad0, 0x2ad0, - 0x2ade, 0x2ade, 0x2aec, 0x2aec, 0x2afc, 0x2afc, 0x2b0a, 0x2b0a, - 0x2b1a, 0x2b1a, 0x2b2a, 0x2b2a, 0x2b3c, 0x2b3c, 0x2b4a, 0x2b4a, - 0x2b5a, 0x2b5a, 0x2b7c, 0x2b7c, 0x2ba0, 0x2ba0, 0x2b6a, 0x2b6a, - 0x2b8e, 0x2b8e, 0x2bb0, 0x2bb0, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2bc4, 0x2bc4, 0x2bd0, 0x2bd0, - 0x2bde, 0x2bde, 0x2bec, 0x2bec, 0x2bfc, 0x2bfc, 0x2c0a, 0x2c0a, - 0x2c1a, 0x2c1a, 0x2c2a, 0x2c2a, 0x2c3c, 0x2c3c, 0x2c4a, 0x2c4a, - 0x2c5a, 0x2c5a, 0x2c6a, 0x2c6a, 0x2c7c, 0x2c7c, 0x2c8c, 0x2c8c, - 0x2c9e, 0x2c9e, 0x2cb0, 0x2cb0, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2cc4, 0x2cc4, 0x2cd2, 0x2cd2, - 0x2ce2, 0x2ce2, 0x2cf2, 0x2cf2, 0x2d04, 0x2d04, 0x2d14, 0x2d14, - 0x2d26, 0x2d26, 0x2d38, 0x2d38, 0x2d4c, 0x2d4c, 0x2d5c, 0x2d5c, - 0x2d6e, 0x2d6e, 0x2d80, 0x2d80, 0x2d94, 0x2d94, 0x2da5, 0x2da5, - 0x2db8, 0x2db8, 0x2dcb, 0x2dcb, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, - 0x2a4a, 0x2a4a, 0x2a4a, 0x2a4a, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x20ff, 0x0804, 0x2de0, + 0x6052, 0x00ce, 0x000e, 0x0005, 0x2e08, 0x2e08, 0x2a0c, 0x2a0c, + 0x2a18, 0x2a18, 0x2a24, 0x2a24, 0x2a32, 0x2a32, 0x2a3e, 0x2a3e, + 0x2a4c, 0x2a4c, 0x2a5a, 0x2a5a, 0x2a6c, 0x2a6c, 0x2a78, 0x2a78, + 0x2a86, 0x2a86, 0x2aa4, 0x2aa4, 0x2ac4, 0x2ac4, 0x2a94, 0x2a94, + 0x2ab4, 0x2ab4, 0x2ad2, 0x2ad2, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2ae4, 0x2ae4, 0x2af0, 0x2af0, + 0x2afe, 0x2afe, 0x2b0c, 0x2b0c, 0x2b1c, 0x2b1c, 0x2b2a, 0x2b2a, + 0x2b3a, 0x2b3a, 0x2b4a, 0x2b4a, 0x2b5c, 0x2b5c, 0x2b6a, 0x2b6a, + 0x2b7a, 0x2b7a, 0x2b9c, 0x2b9c, 0x2bc0, 0x2bc0, 0x2b8a, 0x2b8a, + 0x2bae, 0x2bae, 0x2bd0, 0x2bd0, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2be4, 0x2be4, 0x2bf0, 0x2bf0, + 0x2bfe, 0x2bfe, 0x2c0c, 0x2c0c, 0x2c1c, 0x2c1c, 0x2c2a, 0x2c2a, + 0x2c3a, 0x2c3a, 0x2c4a, 0x2c4a, 0x2c5c, 0x2c5c, 0x2c6a, 0x2c6a, + 0x2c7a, 0x2c7a, 0x2c8a, 0x2c8a, 0x2c9c, 0x2c9c, 0x2cac, 0x2cac, + 0x2cbe, 0x2cbe, 0x2cd0, 0x2cd0, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2ce4, 0x2ce4, 0x2cf2, 0x2cf2, + 0x2d02, 0x2d02, 0x2d12, 0x2d12, 0x2d24, 0x2d24, 0x2d34, 0x2d34, + 0x2d46, 0x2d46, 0x2d58, 0x2d58, 0x2d6c, 0x2d6c, 0x2d7c, 0x2d7c, + 0x2d8e, 0x2d8e, 0x2da0, 0x2da0, 0x2db4, 0x2db4, 0x2dc5, 0x2dc5, + 0x2dd8, 0x2dd8, 0x2deb, 0x2deb, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, + 0x2a6a, 0x2a6a, 0x2a6a, 0x2a6a, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2117, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x1f2d, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x20ff, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x20ff, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x20ff, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1335, 0x0804, 0x2de0, + 0x080c, 0x1f45, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x2117, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2117, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x2117, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0xa001, 0x0cf0, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x20ff, 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, - 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x20ff, - 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1335, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x0804, 0x2de0, + 0x080c, 0x2117, 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, + 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2117, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x2117, + 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1342, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x2117, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2540, 0x080c, 0x20ff, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, - 0x080c, 0x1f2d, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, - 0x080c, 0x20ff, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x20ff, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x20ff, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1335, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x1335, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, - 0x080c, 0x20ff, 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, - 0x080c, 0x1f2d, 0x080c, 0x1335, 0x080c, 0x1f57, 0x0804, 0x2de0, + 0x080c, 0x255c, 0x080c, 0x2117, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, + 0x080c, 0x1f45, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, + 0x080c, 0x2117, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x2117, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x2117, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1342, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x2117, 0x080c, 0x1342, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x1342, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x2117, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, + 0x080c, 0x2117, 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, + 0x080c, 0x1f45, 0x080c, 0x1342, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2540, 0x080c, 0x1335, 0x080c, 0x1f57, 0x0804, 0x2de0, + 0x080c, 0x255c, 0x080c, 0x1342, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x9921, 0x0804, 0x2de0, + 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x2117, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x992d, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x9921, 0x080c, 0x20ff, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, - 0x080c, 0x9921, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x9921, - 0x080c, 0x20ff, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x9921, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x9921, 0x080c, 0x20ff, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x1f57, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x20ff, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x9921, 0x080c, 0x1335, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x9921, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x1335, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x20ff, - 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x9921, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x9921, 0x080c, 0x20ff, - 0x080c, 0x1335, 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f2d, - 0x080c, 0x9921, 0x080c, 0x1335, 0x080c, 0x1f57, 0x0804, 0x2de0, + 0x080c, 0x992d, 0x080c, 0x2117, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, + 0x080c, 0x992d, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x992d, + 0x080c, 0x2117, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x992d, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x992d, 0x080c, 0x2117, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x1f6f, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x2117, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x992d, 0x080c, 0x1342, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x992d, 0x080c, 0x2117, 0x080c, 0x1342, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x1342, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x2117, + 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x992d, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x992d, 0x080c, 0x2117, + 0x080c, 0x1342, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x1f45, + 0x080c, 0x992d, 0x080c, 0x1342, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x20ff, 0x080c, 0x1335, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, 0x080c, 0x20ff, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x9921, - 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, - 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x9921, - 0x080c, 0x20ff, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, - 0x080c, 0x20ff, 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, - 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x1f57, 0x0804, 0x2de0, + 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x2117, 0x080c, 0x1342, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, 0x080c, 0x2117, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x992d, + 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, + 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x992d, + 0x080c, 0x2117, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, + 0x080c, 0x2117, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, + 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x20ff, - 0x080c, 0x1f57, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, - 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, - 0x080c, 0x20ff, 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, - 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, - 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x1335, 0x0804, 0x2de0, + 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x2117, + 0x080c, 0x1f6f, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, + 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, + 0x080c, 0x2117, 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, + 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, + 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x9921, 0x080c, 0x20ff, - 0x080c, 0x1335, 0x0804, 0x2de0, 0x0106, 0x0006, 0x0126, 0x01c6, - 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x9921, - 0x080c, 0x1335, 0x080c, 0x1f57, 0x04d8, 0x0106, 0x0006, 0x0126, - 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, - 0x9921, 0x080c, 0x20ff, 0x080c, 0x1335, 0x080c, 0x1f57, 0x0440, + 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x992d, 0x080c, 0x2117, + 0x080c, 0x1342, 0x0804, 0x2e00, 0x0106, 0x0006, 0x0126, 0x01c6, + 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x992d, + 0x080c, 0x1342, 0x080c, 0x1f6f, 0x04d8, 0x0106, 0x0006, 0x0126, + 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, + 0x992d, 0x080c, 0x2117, 0x080c, 0x1342, 0x080c, 0x1f6f, 0x0440, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, 0x0136, 0x0146, 0x0156, - 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, 0x1335, 0x080c, 0x9921, - 0x080c, 0x1f57, 0x00a8, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, - 0x0136, 0x0146, 0x0156, 0x080c, 0x2540, 0x080c, 0x1f2d, 0x080c, - 0x9921, 0x080c, 0x20ff, 0x080c, 0x1335, 0x080c, 0x1f57, 0x0000, + 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, 0x1342, 0x080c, 0x992d, + 0x080c, 0x1f6f, 0x00a8, 0x0106, 0x0006, 0x0126, 0x01c6, 0x01d6, + 0x0136, 0x0146, 0x0156, 0x080c, 0x255c, 0x080c, 0x1f45, 0x080c, + 0x992d, 0x080c, 0x2117, 0x080c, 0x1342, 0x080c, 0x1f6f, 0x0000, 0x015e, 0x014e, 0x013e, 0x01de, 0x01ce, 0x012e, 0x000e, 0x010e, - 0x000d, 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, 0x080c, 0x6624, - 0x1904, 0x2eef, 0x72d8, 0x2001, 0x194c, 0x2004, 0x9005, 0x1110, - 0xd29c, 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x2eef, 0x080c, - 0x2ef4, 0x0804, 0x2eef, 0xd2cc, 0x1904, 0x2eef, 0x080c, 0x7096, - 0x1120, 0x70ab, 0xffff, 0x0804, 0x2eef, 0xd294, 0x0120, 0x70ab, - 0xffff, 0x0804, 0x2eef, 0x080c, 0x3175, 0x0160, 0x080c, 0xbf61, - 0x0128, 0x2001, 0x1817, 0x203c, 0x0804, 0x2e81, 0x70ab, 0xffff, - 0x0804, 0x2eef, 0x2001, 0x1817, 0x203c, 0x7290, 0xd284, 0x0904, - 0x2e81, 0xd28c, 0x1904, 0x2e81, 0x0036, 0x73a8, 0x938e, 0xffff, + 0x000d, 0x00b6, 0x00c6, 0x0026, 0x0046, 0x9026, 0x080c, 0x6648, + 0x1904, 0x2f0f, 0x72d8, 0x2001, 0x1954, 0x2004, 0x9005, 0x1110, + 0xd29c, 0x0148, 0xd284, 0x1138, 0xd2bc, 0x1904, 0x2f0f, 0x080c, + 0x2f14, 0x0804, 0x2f0f, 0xd2cc, 0x1904, 0x2f0f, 0x080c, 0x70ba, + 0x1120, 0x70ab, 0xffff, 0x0804, 0x2f0f, 0xd294, 0x0120, 0x70ab, + 0xffff, 0x0804, 0x2f0f, 0x080c, 0x3195, 0x0160, 0x080c, 0xbf8f, + 0x0128, 0x2001, 0x1817, 0x203c, 0x0804, 0x2ea1, 0x70ab, 0xffff, + 0x0804, 0x2f0f, 0x2001, 0x1817, 0x203c, 0x7290, 0xd284, 0x0904, + 0x2ea1, 0xd28c, 0x1904, 0x2ea1, 0x0036, 0x73a8, 0x938e, 0xffff, 0x1110, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1d80, 0x2c04, 0x938c, 0x0001, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x970e, 0x05a8, 0x908e, 0x0000, 0x0590, 0x908e, 0x00ff, 0x1150, 0x7230, 0xd284, 0x1588, 0x7290, 0xc28d, 0x7292, 0x70ab, 0xffff, - 0x003e, 0x0478, 0x0026, 0x2011, 0x0010, 0x080c, 0x668a, 0x002e, - 0x0118, 0x70ab, 0xffff, 0x0410, 0x900e, 0x080c, 0x243d, 0x080c, - 0x620b, 0x11c0, 0x080c, 0x6666, 0x1168, 0x7030, 0xd08c, 0x0130, - 0xb800, 0xd0bc, 0x0138, 0x080c, 0x655e, 0x0120, 0x080c, 0x2f0d, - 0x0148, 0x0028, 0x080c, 0x3059, 0x080c, 0x2f39, 0x0118, 0x8318, - 0x0804, 0x2e33, 0x73aa, 0x0010, 0x70ab, 0xffff, 0x003e, 0x0804, - 0x2eef, 0x9780, 0x317f, 0x203d, 0x97bc, 0xff00, 0x873f, 0x2041, + 0x003e, 0x0478, 0x0026, 0x2011, 0x0010, 0x080c, 0x66ae, 0x002e, + 0x0118, 0x70ab, 0xffff, 0x0410, 0x900e, 0x080c, 0x2459, 0x080c, + 0x622f, 0x11c0, 0x080c, 0x668a, 0x1168, 0x7030, 0xd08c, 0x0130, + 0xb800, 0xd0bc, 0x0138, 0x080c, 0x6582, 0x0120, 0x080c, 0x2f2d, + 0x0148, 0x0028, 0x080c, 0x3079, 0x080c, 0x2f59, 0x0118, 0x8318, + 0x0804, 0x2e53, 0x73aa, 0x0010, 0x70ab, 0xffff, 0x003e, 0x0804, + 0x2f0f, 0x9780, 0x319f, 0x203d, 0x97bc, 0xff00, 0x873f, 0x2041, 0x007e, 0x70a8, 0x9096, 0xffff, 0x1118, 0x900e, 0x28a8, 0x0050, 0x9812, 0x0220, 0x2008, 0x9802, 0x20a8, 0x0020, 0x70ab, 0xffff, - 0x0804, 0x2eef, 0x2700, 0x0156, 0x0016, 0x9106, 0x0904, 0x2ee4, - 0x0026, 0x2011, 0x0010, 0x080c, 0x668a, 0x002e, 0x0120, 0x2009, - 0xffff, 0x0804, 0x2eec, 0xc484, 0x080c, 0x626b, 0x0138, 0x080c, - 0xbf61, 0x1590, 0x080c, 0x620b, 0x15b8, 0x0008, 0xc485, 0x080c, - 0x6666, 0x1130, 0x7030, 0xd08c, 0x01f8, 0xb800, 0xd0bc, 0x11e0, - 0x7290, 0xd28c, 0x0180, 0x080c, 0x6666, 0x9082, 0x0006, 0x02e0, - 0xd484, 0x1118, 0x080c, 0x622f, 0x0028, 0x080c, 0x30eb, 0x01a0, - 0x080c, 0x3116, 0x0088, 0x080c, 0x3059, 0x080c, 0xbf61, 0x1160, - 0x080c, 0x2f39, 0x0188, 0x0040, 0x080c, 0xbf61, 0x1118, 0x080c, - 0x30eb, 0x0110, 0x0451, 0x0140, 0x001e, 0x8108, 0x015e, 0x1f04, - 0x2e9a, 0x70ab, 0xffff, 0x0018, 0x001e, 0x015e, 0x71aa, 0x004e, + 0x0804, 0x2f0f, 0x2700, 0x0156, 0x0016, 0x9106, 0x0904, 0x2f04, + 0x0026, 0x2011, 0x0010, 0x080c, 0x66ae, 0x002e, 0x0120, 0x2009, + 0xffff, 0x0804, 0x2f0c, 0xc484, 0x080c, 0x628f, 0x0138, 0x080c, + 0xbf8f, 0x1590, 0x080c, 0x622f, 0x15b8, 0x0008, 0xc485, 0x080c, + 0x668a, 0x1130, 0x7030, 0xd08c, 0x01f8, 0xb800, 0xd0bc, 0x11e0, + 0x7290, 0xd28c, 0x0180, 0x080c, 0x668a, 0x9082, 0x0006, 0x02e0, + 0xd484, 0x1118, 0x080c, 0x6253, 0x0028, 0x080c, 0x310b, 0x01a0, + 0x080c, 0x3136, 0x0088, 0x080c, 0x3079, 0x080c, 0xbf8f, 0x1160, + 0x080c, 0x2f59, 0x0188, 0x0040, 0x080c, 0xbf8f, 0x1118, 0x080c, + 0x310b, 0x0110, 0x0451, 0x0140, 0x001e, 0x8108, 0x015e, 0x1f04, + 0x2eba, 0x70ab, 0xffff, 0x0018, 0x001e, 0x015e, 0x71aa, 0x004e, 0x002e, 0x00ce, 0x00be, 0x0005, 0x00c6, 0x0016, 0x70ab, 0x0001, - 0x2009, 0x007e, 0x080c, 0x620b, 0x1168, 0xb813, 0x00ff, 0xb817, - 0xfffe, 0x080c, 0x3059, 0x04a9, 0x0128, 0x70d8, 0xc0bd, 0x70da, - 0x080c, 0xbcae, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, - 0x00c6, 0x2001, 0x1858, 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, - 0x9c49, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xbcdb, 0x6023, 0x0001, - 0x9006, 0x080c, 0x61a8, 0x2001, 0x0000, 0x080c, 0x61bc, 0x0126, + 0x2009, 0x007e, 0x080c, 0x622f, 0x1168, 0xb813, 0x00ff, 0xb817, + 0xfffe, 0x080c, 0x3079, 0x04a9, 0x0128, 0x70d8, 0xc0bd, 0x70da, + 0x080c, 0xbcdc, 0x001e, 0x00ce, 0x0005, 0x0016, 0x0076, 0x00d6, + 0x00c6, 0x2001, 0x1860, 0x2004, 0x9084, 0x00ff, 0xb842, 0x080c, + 0x9c55, 0x01d0, 0x2b00, 0x6012, 0x080c, 0xbd09, 0x6023, 0x0001, + 0x9006, 0x080c, 0x61cc, 0x2001, 0x0000, 0x080c, 0x61e0, 0x0126, 0x2091, 0x8000, 0x70a4, 0x8000, 0x70a6, 0x012e, 0x2009, 0x0004, - 0x080c, 0x9c76, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, - 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x1858, 0x2004, - 0x9084, 0x00ff, 0xb842, 0x080c, 0x9c49, 0x0548, 0x2b00, 0x6012, + 0x080c, 0x9c82, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, + 0x0005, 0x0016, 0x0076, 0x00d6, 0x00c6, 0x2001, 0x1860, 0x2004, + 0x9084, 0x00ff, 0xb842, 0x080c, 0x9c55, 0x0548, 0x2b00, 0x6012, 0xb800, 0xc0c4, 0xb802, 0xb8a0, 0x9086, 0x007e, 0x0140, 0xb804, - 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, 0x300e, 0x080c, - 0xbcdb, 0x6023, 0x0001, 0x9006, 0x080c, 0x61a8, 0x2001, 0x0002, - 0x080c, 0x61bc, 0x0126, 0x2091, 0x8000, 0x70a4, 0x8000, 0x70a6, - 0x012e, 0x2009, 0x0002, 0x080c, 0x9c76, 0x9085, 0x0001, 0x00ce, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x1110, 0x080c, 0x302e, 0x080c, + 0xbd09, 0x6023, 0x0001, 0x9006, 0x080c, 0x61cc, 0x2001, 0x0002, + 0x080c, 0x61e0, 0x0126, 0x2091, 0x8000, 0x70a4, 0x8000, 0x70a6, + 0x012e, 0x2009, 0x0002, 0x080c, 0x9c82, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00b6, 0x00c6, 0x0026, 0x2009, - 0x0080, 0x080c, 0x620b, 0x1140, 0xb813, 0x00ff, 0xb817, 0xfffc, + 0x0080, 0x080c, 0x622f, 0x1140, 0xb813, 0x00ff, 0xb817, 0xfffc, 0x0039, 0x0110, 0x70df, 0xffff, 0x002e, 0x00ce, 0x00be, 0x0005, - 0x0016, 0x0076, 0x00d6, 0x00c6, 0x080c, 0x9b84, 0x01d0, 0x2b00, - 0x6012, 0x080c, 0xbcdb, 0x6023, 0x0001, 0x9006, 0x080c, 0x61a8, - 0x2001, 0x0002, 0x080c, 0x61bc, 0x0126, 0x2091, 0x8000, 0x70e0, - 0x8000, 0x70e2, 0x012e, 0x2009, 0x0002, 0x080c, 0x9c76, 0x9085, + 0x0016, 0x0076, 0x00d6, 0x00c6, 0x080c, 0x9b90, 0x01d0, 0x2b00, + 0x6012, 0x080c, 0xbd09, 0x6023, 0x0001, 0x9006, 0x080c, 0x61cc, + 0x2001, 0x0002, 0x080c, 0x61e0, 0x0126, 0x2091, 0x8000, 0x70e0, + 0x8000, 0x70e2, 0x012e, 0x2009, 0x0002, 0x080c, 0x9c82, 0x9085, 0x0001, 0x00ce, 0x00de, 0x007e, 0x001e, 0x0005, 0x00c6, 0x00d6, - 0x0126, 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x620b, 0x11b8, - 0xb813, 0x00ff, 0xb817, 0xfffd, 0xb8c7, 0x0004, 0x080c, 0x9b84, + 0x0126, 0x2091, 0x8000, 0x2009, 0x007f, 0x080c, 0x622f, 0x11b8, + 0xb813, 0x00ff, 0xb817, 0xfffd, 0xb8c7, 0x0004, 0x080c, 0x9b90, 0x0170, 0x2b00, 0x6012, 0x6316, 0x6023, 0x0001, 0x620a, 0x080c, - 0xbcdb, 0x2009, 0x0022, 0x080c, 0x9c76, 0x9085, 0x0001, 0x012e, + 0xbd09, 0x2009, 0x0022, 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00de, 0x00ce, 0x0005, 0x00e6, 0x00c6, 0x0066, 0x0036, 0x0026, - 0x00b6, 0x21f0, 0x080c, 0x98bb, 0x0106, 0x080c, 0x862f, 0x080c, - 0x85aa, 0x080c, 0x980c, 0x080c, 0xab3a, 0x010e, 0x090c, 0x98d7, + 0x00b6, 0x21f0, 0x080c, 0x98c7, 0x0106, 0x080c, 0x8663, 0x080c, + 0x85de, 0x080c, 0x9818, 0x080c, 0xab55, 0x010e, 0x090c, 0x98e3, 0x3e08, 0x2130, 0x81ff, 0x0120, 0x20a9, 0x007e, 0x900e, 0x0018, - 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x626b, 0x1140, 0x9686, - 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1110, 0x080c, 0x5cf1, 0x001e, - 0x8108, 0x1f04, 0x2ff3, 0x9686, 0x0001, 0x190c, 0x3149, 0x00be, + 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x628f, 0x1140, 0x9686, + 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1110, 0x080c, 0x5d11, 0x001e, + 0x8108, 0x1f04, 0x3013, 0x9686, 0x0001, 0x190c, 0x3169, 0x00be, 0x002e, 0x003e, 0x006e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, - 0x0046, 0x0036, 0x0026, 0x0016, 0x00b6, 0x080c, 0x98bb, 0x0106, - 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, 0x8624, - 0x0076, 0x2039, 0x0000, 0x080c, 0x8509, 0x2c08, 0x080c, 0xcfd9, - 0x007e, 0x001e, 0x010e, 0x090c, 0x98d7, 0xba10, 0xbb14, 0xbc84, - 0x080c, 0x5cf1, 0xba12, 0xbb16, 0xbc86, 0x00be, 0x001e, 0x002e, + 0x0046, 0x0036, 0x0026, 0x0016, 0x00b6, 0x080c, 0x98c7, 0x0106, + 0x6210, 0x2258, 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, 0x8658, + 0x0076, 0x2039, 0x0000, 0x080c, 0x853d, 0x2c08, 0x080c, 0xd011, + 0x007e, 0x001e, 0x010e, 0x090c, 0x98e3, 0xba10, 0xbb14, 0xbc84, + 0x080c, 0x5d11, 0xba12, 0xbb16, 0xbc86, 0x00be, 0x001e, 0x002e, 0x003e, 0x004e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x00b6, 0x6010, 0x2058, 0xb8a0, 0x00be, 0x9086, 0x0080, 0x0150, 0x2071, 0x1800, 0x70a4, 0x9005, 0x0110, 0x8001, 0x70a6, 0x000e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x70e0, 0x9005, 0x0dc0, 0x8001, 0x70e2, 0x0ca8, 0xb800, 0xc08c, 0xb802, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x0036, 0x0026, 0x0016, 0x0156, 0x2178, 0x080c, - 0x98bb, 0x0106, 0x81ff, 0x1118, 0x20a9, 0x0001, 0x0070, 0x080c, - 0x5388, 0xd0c4, 0x0138, 0x0030, 0x9006, 0x2020, 0x2009, 0x002d, - 0x080c, 0xd284, 0x20a9, 0x0800, 0x9016, 0x0026, 0x928e, 0x007e, - 0x0904, 0x30c7, 0x928e, 0x007f, 0x0904, 0x30c7, 0x928e, 0x0080, + 0x98c7, 0x0106, 0x81ff, 0x1118, 0x20a9, 0x0001, 0x0070, 0x080c, + 0x53a8, 0xd0c4, 0x0138, 0x0030, 0x9006, 0x2020, 0x2009, 0x002d, + 0x080c, 0xd2bc, 0x20a9, 0x0800, 0x9016, 0x0026, 0x928e, 0x007e, + 0x0904, 0x30e7, 0x928e, 0x007f, 0x0904, 0x30e7, 0x928e, 0x0080, 0x05f0, 0x9288, 0x1000, 0x210c, 0x81ff, 0x05c8, 0x8fff, 0x1150, - 0x2001, 0x195e, 0x0006, 0x2003, 0x0001, 0x080c, 0x30d8, 0x000e, + 0x2001, 0x1966, 0x0006, 0x2003, 0x0001, 0x080c, 0x30f8, 0x000e, 0x2003, 0x0000, 0x00b6, 0x00c6, 0x2158, 0x2001, 0x0001, 0x080c, - 0x6630, 0x00ce, 0x00be, 0x2019, 0x0029, 0x080c, 0x8624, 0x0076, - 0x2039, 0x0000, 0x080c, 0x8509, 0x00b6, 0x00c6, 0x0026, 0x2158, + 0x6654, 0x00ce, 0x00be, 0x2019, 0x0029, 0x080c, 0x8658, 0x0076, + 0x2039, 0x0000, 0x080c, 0x853d, 0x00b6, 0x00c6, 0x0026, 0x2158, 0xba04, 0x9294, 0x00ff, 0x9286, 0x0006, 0x1118, 0xb807, 0x0404, 0x0028, 0x2001, 0x0004, 0x8007, 0x9215, 0xba06, 0x002e, 0x00ce, - 0x00be, 0x0016, 0x2c08, 0x080c, 0xcfd9, 0x001e, 0x007e, 0x002e, - 0x8210, 0x1f04, 0x307d, 0x010e, 0x090c, 0x98d7, 0x015e, 0x001e, + 0x00be, 0x0016, 0x2c08, 0x080c, 0xd011, 0x001e, 0x007e, 0x002e, + 0x8210, 0x1f04, 0x309d, 0x010e, 0x090c, 0x98e3, 0x015e, 0x001e, 0x002e, 0x003e, 0x004e, 0x00be, 0x00ce, 0x00ee, 0x00fe, 0x0005, - 0x0046, 0x0026, 0x0016, 0x080c, 0x5388, 0xd0c4, 0x0140, 0xd0a4, - 0x0130, 0x9006, 0x2220, 0x2009, 0x0029, 0x080c, 0xd284, 0x001e, + 0x0046, 0x0026, 0x0016, 0x080c, 0x53a8, 0xd0c4, 0x0140, 0xd0a4, + 0x0130, 0x9006, 0x2220, 0x2009, 0x0029, 0x080c, 0xd2bc, 0x001e, 0x002e, 0x004e, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, 0x7290, - 0x82ff, 0x01e8, 0x080c, 0x665e, 0x11d0, 0x2100, 0x080c, 0x2470, + 0x82ff, 0x01e8, 0x080c, 0x6682, 0x11d0, 0x2100, 0x080c, 0x248c, 0x81ff, 0x01b8, 0x2019, 0x0001, 0x8314, 0x92e0, 0x1d80, 0x2c04, 0xd384, 0x0120, 0x9084, 0xff00, 0x8007, 0x0010, 0x9084, 0x00ff, 0x9116, 0x0138, 0x9096, 0x00ff, 0x0110, 0x8318, 0x0c68, 0x9085, 0x0001, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0016, 0x00c6, - 0x0126, 0x2091, 0x8000, 0x080c, 0x98bb, 0x0106, 0x0036, 0x2019, - 0x0029, 0x00c1, 0x003e, 0x010e, 0x090c, 0x98d7, 0x9180, 0x1000, - 0x2004, 0x9065, 0x0158, 0x0016, 0x00c6, 0x2061, 0x1b01, 0x001e, - 0x6112, 0x080c, 0x300e, 0x001e, 0x080c, 0x622f, 0x012e, 0x00ce, - 0x001e, 0x0005, 0x0016, 0x0026, 0x2110, 0x080c, 0x94dd, 0x080c, - 0xd53a, 0x002e, 0x001e, 0x0005, 0x2001, 0x1836, 0x2004, 0xd0cc, - 0x0005, 0x00c6, 0x00b6, 0x080c, 0x7096, 0x1118, 0x20a9, 0x0800, - 0x0010, 0x20a9, 0x0782, 0x080c, 0x7096, 0x1110, 0x900e, 0x0010, + 0x0126, 0x2091, 0x8000, 0x080c, 0x98c7, 0x0106, 0x0036, 0x2019, + 0x0029, 0x00c1, 0x003e, 0x010e, 0x090c, 0x98e3, 0x9180, 0x1000, + 0x2004, 0x9065, 0x0158, 0x0016, 0x00c6, 0x2061, 0x1b09, 0x001e, + 0x6112, 0x080c, 0x302e, 0x001e, 0x080c, 0x6253, 0x012e, 0x00ce, + 0x001e, 0x0005, 0x0016, 0x0026, 0x2110, 0x080c, 0x94e5, 0x080c, + 0xd572, 0x002e, 0x001e, 0x0005, 0x2001, 0x1836, 0x2004, 0xd0cc, + 0x0005, 0x00c6, 0x00b6, 0x080c, 0x70ba, 0x1118, 0x20a9, 0x0800, + 0x0010, 0x20a9, 0x0782, 0x080c, 0x70ba, 0x1110, 0x900e, 0x0010, 0x2009, 0x007e, 0x9180, 0x1000, 0x2004, 0x905d, 0x0130, 0x86ff, - 0x0110, 0xb800, 0xd0bc, 0x090c, 0x622f, 0x8108, 0x1f04, 0x315a, + 0x0110, 0xb800, 0xd0bc, 0x090c, 0x6253, 0x8108, 0x1f04, 0x317a, 0x2061, 0x1800, 0x607b, 0x0000, 0x607c, 0x9084, 0x00ff, 0x607e, - 0x60af, 0x0000, 0x00be, 0x00ce, 0x0005, 0x2001, 0x1875, 0x2004, - 0xd0bc, 0x0005, 0x2011, 0x1854, 0x2214, 0xd2ec, 0x0005, 0x7eef, + 0x60af, 0x0000, 0x00be, 0x00ce, 0x0005, 0x2001, 0x187d, 0x2004, + 0xd0bc, 0x0005, 0x2011, 0x185c, 0x2214, 0xd2ec, 0x0005, 0x7eef, 0x7de8, 0x7ce4, 0x80e2, 0x7be1, 0x80e0, 0x80dc, 0x80da, 0x7ad9, 0x80d6, 0x80d5, 0x80d4, 0x80d3, 0x80d2, 0x80d1, 0x79ce, 0x78cd, 0x80cc, 0x80cb, 0x80ca, 0x80c9, 0x80c7, 0x80c6, 0x77c5, 0x76c3, @@ -1410,360 +1414,360 @@ unsigned short risc_code01[] = { 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x2071, - 0x1894, 0x7003, 0x0002, 0x9006, 0x7016, 0x701a, 0x704a, 0x704e, - 0x700e, 0x7042, 0x7046, 0x703b, 0x18b0, 0x703f, 0x18b0, 0x7007, - 0x0001, 0x080c, 0x103b, 0x090c, 0x0d65, 0x2900, 0x706a, 0xa867, - 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x103b, 0x090c, 0x0d65, 0x2900, - 0x706e, 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x1894, - 0x7004, 0x0002, 0x32ae, 0x32af, 0x32c2, 0x32d6, 0x0005, 0x1004, - 0x32bf, 0x0e04, 0x32bf, 0x2079, 0x0000, 0x0126, 0x2091, 0x8000, + 0x189c, 0x7003, 0x0002, 0x9006, 0x7016, 0x701a, 0x704a, 0x704e, + 0x700e, 0x7042, 0x7046, 0x703b, 0x18b8, 0x703f, 0x18b8, 0x7007, + 0x0001, 0x080c, 0x1048, 0x090c, 0x0d65, 0x2900, 0x706a, 0xa867, + 0x0002, 0xa8ab, 0xdcb0, 0x080c, 0x1048, 0x090c, 0x0d65, 0x2900, + 0x706e, 0xa867, 0x0002, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x189c, + 0x7004, 0x0002, 0x32ce, 0x32cf, 0x32e2, 0x32f6, 0x0005, 0x1004, + 0x32df, 0x0e04, 0x32df, 0x2079, 0x0000, 0x0126, 0x2091, 0x8000, 0x700c, 0x9005, 0x1128, 0x700f, 0x0001, 0x012e, 0x0468, 0x0005, - 0x012e, 0x0ce8, 0x2079, 0x0000, 0x2061, 0x18ae, 0x2c4c, 0xa86c, - 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, 0x0904, 0x33aa, 0x0005, + 0x012e, 0x0ce8, 0x2079, 0x0000, 0x2061, 0x18b6, 0x2c4c, 0xa86c, + 0x908e, 0x0100, 0x0128, 0x9086, 0x0200, 0x0904, 0x33ca, 0x0005, 0x7018, 0x2048, 0x2061, 0x1800, 0x701c, 0x0807, 0x7014, 0x2048, 0xa864, 0x9094, 0x00ff, 0x9296, 0x0029, 0x1120, 0xaa78, 0xd2fc, 0x0128, 0x0005, 0x9086, 0x0103, 0x0108, 0x0005, 0x2079, 0x0000, 0x2061, 0x1800, 0x701c, 0x0807, 0x2061, 0x1800, 0x7880, 0x908a, 0x0040, 0x1210, 0x61cc, 0x0042, 0x2100, 0x908a, 0x003f, 0x1a04, - 0x33a7, 0x61cc, 0x0804, 0x333c, 0x337e, 0x33b6, 0x33a7, 0x33c0, - 0x33ca, 0x33d0, 0x33d4, 0x33e4, 0x33e8, 0x33fe, 0x3404, 0x340a, - 0x3415, 0x3420, 0x342f, 0x343e, 0x344c, 0x3463, 0x347e, 0x33a7, - 0x3527, 0x3565, 0x360a, 0x361b, 0x363e, 0x33a7, 0x33a7, 0x33a7, - 0x3676, 0x3696, 0x369f, 0x36cb, 0x36d1, 0x33a7, 0x3717, 0x33a7, - 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x3722, 0x372b, 0x3733, 0x3735, - 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x3765, 0x33a7, - 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x3782, 0x37dd, 0x33a7, 0x33a7, - 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x0002, 0x3807, 0x380a, 0x3869, - 0x3882, 0x38b2, 0x3b54, 0x33a7, 0x4f59, 0x33a7, 0x33a7, 0x33a7, - 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x33a7, 0x33fe, 0x3404, 0x4053, - 0x53ac, 0x4069, 0x4fe8, 0x5039, 0x513c, 0x33a7, 0x519e, 0x51da, - 0x520b, 0x5317, 0x5238, 0x5297, 0x33a7, 0x406d, 0x41fd, 0x4213, - 0x4238, 0x429d, 0x4311, 0x4331, 0x43a8, 0x4404, 0x4460, 0x4463, - 0x4488, 0x44fb, 0x4565, 0x456d, 0x469f, 0x4804, 0x4838, 0x4a82, - 0x33a7, 0x4aa0, 0x4b5c, 0x4c32, 0x33a7, 0x33a7, 0x33a7, 0x33a7, - 0x4c98, 0x4cb3, 0x456d, 0x4ef9, 0x714c, 0x0000, 0x2021, 0x4000, - 0x080c, 0x48b6, 0x0126, 0x2091, 0x8000, 0x0e04, 0x3388, 0x0010, + 0x33c7, 0x61cc, 0x0804, 0x335c, 0x339e, 0x33d6, 0x33c7, 0x33e0, + 0x33ea, 0x33f0, 0x33f4, 0x3404, 0x3408, 0x341e, 0x3424, 0x342a, + 0x3435, 0x3440, 0x344f, 0x345e, 0x346c, 0x3483, 0x349e, 0x33c7, + 0x3547, 0x3585, 0x362a, 0x363b, 0x365e, 0x33c7, 0x33c7, 0x33c7, + 0x3696, 0x36b6, 0x36bf, 0x36eb, 0x36f1, 0x33c7, 0x3737, 0x33c7, + 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x3742, 0x374b, 0x3753, 0x3755, + 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x3785, 0x33c7, + 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x37a2, 0x37fd, 0x33c7, 0x33c7, + 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x0002, 0x3827, 0x382a, 0x3889, + 0x38a2, 0x38d2, 0x3b74, 0x33c7, 0x4f79, 0x33c7, 0x33c7, 0x33c7, + 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x33c7, 0x341e, 0x3424, 0x4073, + 0x53cc, 0x4089, 0x5008, 0x5059, 0x515c, 0x33c7, 0x51be, 0x51fa, + 0x522b, 0x5337, 0x5258, 0x52b7, 0x33c7, 0x408d, 0x421d, 0x4233, + 0x4258, 0x42bd, 0x4331, 0x4351, 0x43c8, 0x4424, 0x4480, 0x4483, + 0x44a8, 0x451b, 0x4585, 0x458d, 0x46bf, 0x4824, 0x4858, 0x4aa2, + 0x33c7, 0x4ac0, 0x4b7c, 0x4c52, 0x33c7, 0x33c7, 0x33c7, 0x33c7, + 0x4cb8, 0x4cd3, 0x458d, 0x4f19, 0x714c, 0x0000, 0x2021, 0x4000, + 0x080c, 0x48d6, 0x0126, 0x2091, 0x8000, 0x0e04, 0x33a8, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7c82, 0x7986, 0x7a8a, 0x7b8e, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x7007, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x2021, 0x4001, 0x08b0, 0x2021, 0x4002, 0x0898, 0x2021, 0x4003, 0x0880, 0x2021, 0x4005, 0x0868, 0x2021, 0x4006, 0x0850, 0x2039, 0x0001, - 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x48c3, + 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, 0x0804, 0x48e3, 0x2039, 0x0001, 0x902e, 0x2520, 0x7b88, 0x7a8c, 0x7884, 0x7990, - 0x0804, 0x48c6, 0x7984, 0x7888, 0x2114, 0x200a, 0x0804, 0x337e, - 0x7984, 0x2114, 0x0804, 0x337e, 0x20e1, 0x0000, 0x2099, 0x0021, + 0x0804, 0x48e6, 0x7984, 0x7888, 0x2114, 0x200a, 0x0804, 0x339e, + 0x7984, 0x2114, 0x0804, 0x339e, 0x20e1, 0x0000, 0x2099, 0x0021, 0x20e9, 0x0000, 0x20a1, 0x0021, 0x20a9, 0x001f, 0x4003, 0x7984, - 0x7a88, 0x7b8c, 0x0804, 0x337e, 0x7884, 0x2060, 0x0804, 0x3431, - 0x2009, 0x0003, 0x2011, 0x0002, 0x2019, 0x001e, 0x789b, 0x0317, - 0x7893, 0xffff, 0x2001, 0x1885, 0x2004, 0x9005, 0x0118, 0x7896, - 0x0804, 0x337e, 0x7897, 0x0001, 0x0804, 0x337e, 0x2039, 0x0001, - 0x7d98, 0x7c9c, 0x0804, 0x33ba, 0x2039, 0x0001, 0x7d98, 0x7c9c, - 0x0804, 0x33c4, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x33b3, - 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x33ba, 0x79a0, 0x9182, 0x0040, - 0x0210, 0x0804, 0x33b3, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x33c4, - 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x33b3, 0x21e8, 0x7984, - 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, 0x0804, 0x337e, 0x2061, + 0x7a88, 0x7b8c, 0x0804, 0x339e, 0x7884, 0x2060, 0x0804, 0x3451, + 0x2009, 0x0003, 0x2011, 0x0003, 0x2019, 0x0002, 0x789b, 0x0317, + 0x7893, 0xffff, 0x2001, 0x188d, 0x2004, 0x9005, 0x0118, 0x7896, + 0x0804, 0x339e, 0x7897, 0x0001, 0x0804, 0x339e, 0x2039, 0x0001, + 0x7d98, 0x7c9c, 0x0804, 0x33da, 0x2039, 0x0001, 0x7d98, 0x7c9c, + 0x0804, 0x33e4, 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x33d3, + 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x33da, 0x79a0, 0x9182, 0x0040, + 0x0210, 0x0804, 0x33d3, 0x2138, 0x7d98, 0x7c9c, 0x0804, 0x33e4, + 0x79a0, 0x9182, 0x0040, 0x0210, 0x0804, 0x33d3, 0x21e8, 0x7984, + 0x7888, 0x20a9, 0x0001, 0x21a0, 0x4004, 0x0804, 0x339e, 0x2061, 0x0800, 0xe10c, 0x9006, 0x2c15, 0x9200, 0x8c60, 0x8109, 0x1dd8, - 0x2010, 0x9005, 0x0904, 0x337e, 0x0804, 0x33ad, 0x79a0, 0x9182, - 0x0040, 0x0210, 0x0804, 0x33b3, 0x21e0, 0x20a9, 0x0001, 0x7984, - 0x2198, 0x4012, 0x0804, 0x337e, 0x2069, 0x1853, 0x7884, 0x7990, - 0x911a, 0x1a04, 0x33b3, 0x8019, 0x0904, 0x33b3, 0x684a, 0x6942, + 0x2010, 0x9005, 0x0904, 0x339e, 0x0804, 0x33cd, 0x79a0, 0x9182, + 0x0040, 0x0210, 0x0804, 0x33d3, 0x21e0, 0x20a9, 0x0001, 0x7984, + 0x2198, 0x4012, 0x0804, 0x339e, 0x2069, 0x185b, 0x7884, 0x7990, + 0x911a, 0x1a04, 0x33d3, 0x8019, 0x0904, 0x33d3, 0x684a, 0x6942, 0x788c, 0x6852, 0x7888, 0x6856, 0x9006, 0x685a, 0x685e, 0x080c, - 0x73c7, 0x0804, 0x337e, 0x2069, 0x1853, 0x7884, 0x7994, 0x911a, - 0x1a04, 0x33b3, 0x8019, 0x0904, 0x33b3, 0x684e, 0x6946, 0x788c, + 0x73ea, 0x0804, 0x339e, 0x2069, 0x185b, 0x7884, 0x7994, 0x911a, + 0x1a04, 0x33d3, 0x8019, 0x0904, 0x33d3, 0x684e, 0x6946, 0x788c, 0x6862, 0x7888, 0x6866, 0x9006, 0x686a, 0x686e, 0x0126, 0x2091, - 0x8000, 0x080c, 0x6764, 0x012e, 0x0804, 0x337e, 0x902e, 0x2520, - 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x33b0, 0x7984, 0x7b88, - 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, 0x20a1, 0x189c, 0x4101, - 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33b0, 0x2009, - 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x48c3, 0x701f, - 0x34a2, 0x0005, 0xa864, 0x2008, 0x9084, 0x00ff, 0x9096, 0x0011, + 0x8000, 0x080c, 0x6788, 0x012e, 0x0804, 0x339e, 0x902e, 0x2520, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x33d0, 0x7984, 0x7b88, + 0x7a8c, 0x20a9, 0x0005, 0x20e9, 0x0001, 0x20a1, 0x18a4, 0x4101, + 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33d0, 0x2009, + 0x0020, 0xa85c, 0x9080, 0x0019, 0xaf60, 0x080c, 0x48e3, 0x701f, + 0x34c2, 0x0005, 0xa864, 0x2008, 0x9084, 0x00ff, 0x9096, 0x0011, 0x0168, 0x9096, 0x0019, 0x0150, 0x9096, 0x0015, 0x0138, 0x9096, - 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, 0x33b0, 0x810f, 0x918c, - 0x00ff, 0x0904, 0x33b0, 0x7112, 0x7010, 0x8001, 0x0560, 0x7012, - 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33b0, 0x2009, + 0x0048, 0x0120, 0x9096, 0x0029, 0x1904, 0x33d0, 0x810f, 0x918c, + 0x00ff, 0x0904, 0x33d0, 0x7112, 0x7010, 0x8001, 0x0560, 0x7012, + 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33d0, 0x2009, 0x0020, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0x9290, 0x0040, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, - 0x9080, 0x0019, 0xaf60, 0x080c, 0x48c3, 0x701f, 0x34e0, 0x0005, + 0x9080, 0x0019, 0xaf60, 0x080c, 0x48e3, 0x701f, 0x3500, 0x0005, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0002, 0x0120, 0x9096, 0x000a, - 0x1904, 0x33b0, 0x0888, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, + 0x1904, 0x33d0, 0x0888, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, 0xa864, 0x9084, 0x00ff, 0x9096, 0x0029, 0x1160, 0xc2fd, 0xaa7a, - 0x080c, 0x5ddf, 0x0150, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, - 0x012e, 0x0050, 0x080c, 0x60f6, 0x1128, 0x7007, 0x0003, 0x701f, - 0x350c, 0x0005, 0x080c, 0x6ba2, 0x0126, 0x2091, 0x8000, 0x20a9, - 0x0005, 0x20e1, 0x0001, 0x2099, 0x189c, 0x400a, 0x2100, 0x9210, + 0x080c, 0x5dff, 0x0150, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, + 0x012e, 0x0050, 0x080c, 0x611a, 0x1128, 0x7007, 0x0003, 0x701f, + 0x352c, 0x0005, 0x080c, 0x6bc6, 0x0126, 0x2091, 0x8000, 0x20a9, + 0x0005, 0x20e1, 0x0001, 0x2099, 0x18a4, 0x400a, 0x2100, 0x9210, 0x9399, 0x0000, 0x94a1, 0x0000, 0x95a9, 0x0000, 0xa85c, 0x9080, - 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, 0x0804, 0x48c6, 0x2091, + 0x0019, 0x2009, 0x0020, 0x012e, 0xaf60, 0x0804, 0x48e6, 0x2091, 0x8000, 0x7837, 0x4000, 0x7833, 0x0010, 0x7883, 0x4000, 0x7887, 0x4953, 0x788b, 0x5020, 0x788f, 0x2020, 0x2009, 0x017f, 0x2104, 0x7892, 0x3f00, 0x7896, 0x2061, 0x0100, 0x6200, 0x2061, 0x0200, 0x603c, 0x8007, 0x9205, 0x789a, 0x2009, 0x04fd, 0x2104, 0x789e, 0x2091, 0x5000, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x0180, 0x2001, 0x19f2, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, + 0x0180, 0x2001, 0x19fa, 0x2004, 0x9005, 0x0128, 0x2001, 0x008b, 0x2004, 0xd0fc, 0x0dd8, 0x2001, 0x008a, 0x2003, 0x0002, 0x2003, - 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, 0x81ff, 0x1904, 0x33b0, - 0x7984, 0x080c, 0x626b, 0x1904, 0x33b3, 0x7e98, 0x9684, 0x3fff, - 0x9082, 0x4000, 0x1a04, 0x33b3, 0x7c88, 0x7d8c, 0x080c, 0x64a1, - 0x080c, 0x642e, 0x1518, 0x2061, 0x1ddc, 0x0126, 0x2091, 0x8000, + 0x1001, 0x2071, 0x0080, 0x0804, 0x0427, 0x81ff, 0x1904, 0x33d0, + 0x7984, 0x080c, 0x628f, 0x1904, 0x33d3, 0x7e98, 0x9684, 0x3fff, + 0x9082, 0x4000, 0x1a04, 0x33d3, 0x7c88, 0x7d8c, 0x080c, 0x64c5, + 0x080c, 0x6452, 0x1518, 0x2061, 0x1ddc, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0150, 0x012e, 0x9ce0, 0x001c, - 0x2001, 0x1819, 0x2004, 0x9c02, 0x1a04, 0x33b0, 0x0c30, 0x080c, - 0xb440, 0x012e, 0x0904, 0x33b0, 0x0804, 0x337e, 0x900e, 0x2001, - 0x0005, 0x080c, 0x6ba2, 0x0126, 0x2091, 0x8000, 0x080c, 0xbb4b, - 0x080c, 0x6991, 0x012e, 0x0804, 0x337e, 0x00a6, 0x2950, 0xb198, - 0x080c, 0x626b, 0x1904, 0x35f7, 0xb6a4, 0x9684, 0x3fff, 0x9082, - 0x4000, 0x16e8, 0xb49c, 0xb5a0, 0x080c, 0x64a1, 0x080c, 0x644b, + 0x2001, 0x1819, 0x2004, 0x9c02, 0x1a04, 0x33d0, 0x0c30, 0x080c, + 0xb45e, 0x012e, 0x0904, 0x33d0, 0x0804, 0x339e, 0x900e, 0x2001, + 0x0005, 0x080c, 0x6bc6, 0x0126, 0x2091, 0x8000, 0x080c, 0xbb79, + 0x080c, 0x69b5, 0x012e, 0x0804, 0x339e, 0x00a6, 0x2950, 0xb198, + 0x080c, 0x628f, 0x1904, 0x3617, 0xb6a4, 0x9684, 0x3fff, 0x9082, + 0x4000, 0x16e8, 0xb49c, 0xb5a0, 0x080c, 0x64c5, 0x080c, 0x646f, 0x1520, 0x2061, 0x1ddc, 0x0126, 0x2091, 0x8000, 0x6000, 0x9086, 0x0000, 0x0148, 0x6014, 0x904d, 0x0130, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0158, 0x012e, 0x9ce0, 0x001c, 0x2001, 0x1819, - 0x2004, 0x9c02, 0x2009, 0x000d, 0x12b0, 0x0c28, 0x080c, 0xb440, + 0x2004, 0x9c02, 0x2009, 0x000d, 0x12b0, 0x0c28, 0x080c, 0xb45e, 0x012e, 0x2009, 0x0003, 0x0178, 0x00e0, 0x900e, 0x2001, 0x0005, - 0x080c, 0x6ba2, 0x0126, 0x2091, 0x8000, 0x080c, 0xbb4b, 0x080c, - 0x6985, 0x012e, 0x0070, 0xb097, 0x4005, 0xb19a, 0x0010, 0xb097, + 0x080c, 0x6bc6, 0x0126, 0x2091, 0x8000, 0x080c, 0xbb79, 0x080c, + 0x69a9, 0x012e, 0x0070, 0xb097, 0x4005, 0xb19a, 0x0010, 0xb097, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x2a48, 0x00ae, 0x0005, 0xb097, 0x4000, 0x9006, 0x918d, 0x0001, 0x2008, 0x2a48, - 0x00ae, 0x0005, 0x81ff, 0x1904, 0x33b0, 0x080c, 0x4891, 0x0904, - 0x33b3, 0x080c, 0x6332, 0x0904, 0x33b0, 0x080c, 0x64a7, 0x0904, - 0x33b0, 0x0804, 0x4328, 0x81ff, 0x1904, 0x33b0, 0x080c, 0x48ad, - 0x0904, 0x33b3, 0x080c, 0x6535, 0x0904, 0x33b0, 0x2019, 0x0005, - 0x79a8, 0x080c, 0x64c2, 0x0904, 0x33b0, 0x7888, 0x908a, 0x1000, - 0x1a04, 0x33b3, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x8146, - 0x7984, 0xd184, 0x1904, 0x337e, 0x0804, 0x4328, 0x0126, 0x2091, + 0x00ae, 0x0005, 0x81ff, 0x1904, 0x33d0, 0x080c, 0x48b1, 0x0904, + 0x33d3, 0x080c, 0x6356, 0x0904, 0x33d0, 0x080c, 0x64cb, 0x0904, + 0x33d0, 0x0804, 0x4348, 0x81ff, 0x1904, 0x33d0, 0x080c, 0x48cd, + 0x0904, 0x33d3, 0x080c, 0x6559, 0x0904, 0x33d0, 0x2019, 0x0005, + 0x79a8, 0x080c, 0x64e6, 0x0904, 0x33d0, 0x7888, 0x908a, 0x1000, + 0x1a04, 0x33d3, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x817a, + 0x7984, 0xd184, 0x1904, 0x339e, 0x0804, 0x4348, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0118, 0x2009, 0x0001, 0x0450, 0x2029, 0x07ff, - 0x6458, 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, 0x626b, 0x11d8, - 0x080c, 0x6535, 0x1128, 0x2009, 0x0002, 0x62bc, 0x2518, 0x00c0, - 0x2019, 0x0004, 0x900e, 0x080c, 0x64c2, 0x1118, 0x2009, 0x0006, + 0x6458, 0x2400, 0x9506, 0x01f8, 0x2508, 0x080c, 0x628f, 0x11d8, + 0x080c, 0x6559, 0x1128, 0x2009, 0x0002, 0x62bc, 0x2518, 0x00c0, + 0x2019, 0x0004, 0x900e, 0x080c, 0x64e6, 0x1118, 0x2009, 0x0006, 0x0078, 0x7884, 0x908a, 0x1000, 0x1270, 0x8003, 0x800b, 0x810b, - 0x9108, 0x080c, 0x8146, 0x8529, 0x1ae0, 0x012e, 0x0804, 0x337e, - 0x012e, 0x0804, 0x33b0, 0x012e, 0x0804, 0x33b3, 0x080c, 0x4891, - 0x0904, 0x33b3, 0x080c, 0x6332, 0x0904, 0x33b0, 0x080c, 0x98bb, - 0xbaa0, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, 0x8624, 0x0076, - 0x903e, 0x080c, 0x8509, 0x900e, 0x080c, 0xcfd9, 0x007e, 0x00ce, - 0x080c, 0x98d7, 0x080c, 0x64a1, 0x0804, 0x337e, 0x080c, 0x4891, - 0x0904, 0x33b3, 0x080c, 0x64a1, 0x2208, 0x0804, 0x337e, 0x0156, - 0x00d6, 0x00e6, 0x00c6, 0x2069, 0x1906, 0x6810, 0x6914, 0x910a, - 0x1208, 0x900e, 0x6816, 0x9016, 0x901e, 0x2071, 0x19b7, 0x7028, + 0x9108, 0x080c, 0x817a, 0x8529, 0x1ae0, 0x012e, 0x0804, 0x339e, + 0x012e, 0x0804, 0x33d0, 0x012e, 0x0804, 0x33d3, 0x080c, 0x48b1, + 0x0904, 0x33d3, 0x080c, 0x6356, 0x0904, 0x33d0, 0x080c, 0x98c7, + 0xbaa0, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, 0x8658, 0x0076, + 0x903e, 0x080c, 0x853d, 0x900e, 0x080c, 0xd011, 0x007e, 0x00ce, + 0x080c, 0x98e3, 0x080c, 0x64c5, 0x0804, 0x339e, 0x080c, 0x48b1, + 0x0904, 0x33d3, 0x080c, 0x64c5, 0x2208, 0x0804, 0x339e, 0x0156, + 0x00d6, 0x00e6, 0x00c6, 0x2069, 0x190e, 0x6810, 0x6914, 0x910a, + 0x1208, 0x900e, 0x6816, 0x9016, 0x901e, 0x2071, 0x19bf, 0x7028, 0x9065, 0x0118, 0x8210, 0x600c, 0x0cd8, 0x2300, 0x9218, 0x00ce, - 0x00ee, 0x00de, 0x015e, 0x0804, 0x337e, 0x00f6, 0x0016, 0x907d, + 0x00ee, 0x00de, 0x015e, 0x0804, 0x339e, 0x00f6, 0x0016, 0x907d, 0x0138, 0x9006, 0x8000, 0x2f0c, 0x81ff, 0x0110, 0x2178, 0x0cd0, - 0x001e, 0x00fe, 0x0005, 0x2069, 0x1906, 0x6910, 0x62b8, 0x0804, - 0x337e, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x33b0, 0x0126, - 0x2091, 0x8000, 0x080c, 0x539c, 0x0128, 0x2009, 0x0007, 0x012e, - 0x0804, 0x33b0, 0x012e, 0x6158, 0x9190, 0x317f, 0x2215, 0x9294, + 0x001e, 0x00fe, 0x0005, 0x2069, 0x190e, 0x6910, 0x62b8, 0x0804, + 0x339e, 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x33d0, 0x0126, + 0x2091, 0x8000, 0x080c, 0x53bc, 0x0128, 0x2009, 0x0007, 0x012e, + 0x0804, 0x33d0, 0x012e, 0x6158, 0x9190, 0x319f, 0x2215, 0x9294, 0x00ff, 0x6378, 0x83ff, 0x0108, 0x627c, 0x67d8, 0x97c4, 0x000a, 0x98c6, 0x000a, 0x1118, 0x2031, 0x0001, 0x00e8, 0x97c4, 0x0022, 0x98c6, 0x0022, 0x1118, 0x2031, 0x0003, 0x00a8, 0x97c4, 0x0012, - 0x98c6, 0x0012, 0x1118, 0x2031, 0x0002, 0x0068, 0x080c, 0x7096, + 0x98c6, 0x0012, 0x1118, 0x2031, 0x0002, 0x0068, 0x080c, 0x70ba, 0x1118, 0x2031, 0x0004, 0x0038, 0xd79c, 0x0120, 0x2009, 0x0005, - 0x0804, 0x33b0, 0x9036, 0x7e9a, 0x7f9e, 0x0804, 0x337e, 0x6148, - 0x624c, 0x2019, 0x1956, 0x231c, 0x2001, 0x1957, 0x2004, 0x789a, - 0x0804, 0x337e, 0x0126, 0x2091, 0x8000, 0x6138, 0x623c, 0x6340, - 0x012e, 0x0804, 0x337e, 0x080c, 0x48ad, 0x0904, 0x33b3, 0xba44, - 0xbb38, 0x0804, 0x337e, 0x080c, 0x0d65, 0x080c, 0x48ad, 0x2110, - 0x0904, 0x33b3, 0xb804, 0x908c, 0x00ff, 0x918e, 0x0006, 0x0140, - 0x9084, 0xff00, 0x9086, 0x0600, 0x2009, 0x0009, 0x1904, 0x33b0, + 0x0804, 0x33d0, 0x9036, 0x7e9a, 0x7f9e, 0x0804, 0x339e, 0x6148, + 0x624c, 0x2019, 0x195e, 0x231c, 0x2001, 0x195f, 0x2004, 0x789a, + 0x0804, 0x339e, 0x0126, 0x2091, 0x8000, 0x6138, 0x623c, 0x6340, + 0x012e, 0x0804, 0x339e, 0x080c, 0x48cd, 0x0904, 0x33d3, 0xba44, + 0xbb38, 0x0804, 0x339e, 0x080c, 0x0d65, 0x080c, 0x48cd, 0x2110, + 0x0904, 0x33d3, 0xb804, 0x908c, 0x00ff, 0x918e, 0x0006, 0x0140, + 0x9084, 0xff00, 0x9086, 0x0600, 0x2009, 0x0009, 0x1904, 0x33d0, 0x0126, 0x2091, 0x8000, 0x2019, 0x0005, 0x00c6, 0x9066, 0x080c, - 0x98bb, 0x080c, 0x94dd, 0x080c, 0x8624, 0x0076, 0x903e, 0x080c, - 0x8509, 0x900e, 0x080c, 0xcfd9, 0x007e, 0x00ce, 0x080c, 0x98d7, - 0xb807, 0x0407, 0x012e, 0x0804, 0x337e, 0x6148, 0x624c, 0x7884, - 0x604a, 0x7b88, 0x634e, 0x2069, 0x1853, 0x831f, 0x9305, 0x6816, - 0x788c, 0x2069, 0x1956, 0x2d1c, 0x206a, 0x7e98, 0x9682, 0x0014, - 0x1210, 0x2031, 0x07d0, 0x2069, 0x1957, 0x2d04, 0x266a, 0x789a, - 0x0804, 0x337e, 0x0126, 0x2091, 0x8000, 0x6138, 0x7884, 0x603a, - 0x910e, 0xd1b4, 0x190c, 0x0eb4, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, - 0x2009, 0x196d, 0x200a, 0x78ac, 0x2011, 0x196e, 0x2012, 0x2069, + 0x98c7, 0x080c, 0x94e5, 0x080c, 0x8658, 0x0076, 0x903e, 0x080c, + 0x853d, 0x900e, 0x080c, 0xd011, 0x007e, 0x00ce, 0x080c, 0x98e3, + 0xb807, 0x0407, 0x012e, 0x0804, 0x339e, 0x6148, 0x624c, 0x7884, + 0x604a, 0x7b88, 0x634e, 0x2069, 0x185b, 0x831f, 0x9305, 0x6816, + 0x788c, 0x2069, 0x195e, 0x2d1c, 0x206a, 0x7e98, 0x9682, 0x0014, + 0x1210, 0x2031, 0x07d0, 0x2069, 0x195f, 0x2d04, 0x266a, 0x789a, + 0x0804, 0x339e, 0x0126, 0x2091, 0x8000, 0x6138, 0x7884, 0x603a, + 0x910e, 0xd1b4, 0x190c, 0x0ec1, 0xd0c4, 0x01a8, 0x00d6, 0x78a8, + 0x2009, 0x1975, 0x200a, 0x78ac, 0x2011, 0x1976, 0x2012, 0x2069, 0x0100, 0x6838, 0x9086, 0x0007, 0x1118, 0x2214, 0x6a5a, 0x0010, 0x210c, 0x695a, 0x00de, 0x7888, 0x603e, 0x2011, 0x0116, 0x220c, 0x7888, 0xd08c, 0x0118, 0x918d, 0x0040, 0x0010, 0x918c, 0xff7f, - 0x2112, 0x6140, 0x788c, 0x6042, 0x910e, 0xd1e4, 0x190c, 0x0ecf, + 0x2112, 0x6140, 0x788c, 0x6042, 0x910e, 0xd1e4, 0x190c, 0x0edc, 0x6040, 0xd0cc, 0x0120, 0x78b0, 0x2011, 0x0114, 0x2012, 0x012e, - 0x0804, 0x337e, 0x00f6, 0x2079, 0x1800, 0x7a38, 0xa898, 0x9084, + 0x0804, 0x339e, 0x00f6, 0x2079, 0x1800, 0x7a38, 0xa898, 0x9084, 0xfebf, 0x9215, 0xa89c, 0x9084, 0xfebf, 0x8002, 0x9214, 0x7838, 0x9084, 0x0140, 0x9215, 0x7a3a, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x00fe, 0x0005, 0x7898, 0x9005, 0x01a8, - 0x7888, 0x9025, 0x0904, 0x33b3, 0x788c, 0x902d, 0x0904, 0x33b3, - 0x900e, 0x080c, 0x626b, 0x1120, 0xba44, 0xbb38, 0xbc46, 0xbd3a, - 0x9186, 0x07ff, 0x0190, 0x8108, 0x0ca0, 0x080c, 0x48ad, 0x0904, - 0x33b3, 0x7888, 0x900d, 0x0904, 0x33b3, 0x788c, 0x9005, 0x0904, - 0x33b3, 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, 0x337e, 0x2011, - 0xbc09, 0x0010, 0x2011, 0xbc05, 0x080c, 0x539c, 0x1904, 0x33b0, + 0x7888, 0x9025, 0x0904, 0x33d3, 0x788c, 0x902d, 0x0904, 0x33d3, + 0x900e, 0x080c, 0x628f, 0x1120, 0xba44, 0xbb38, 0xbc46, 0xbd3a, + 0x9186, 0x07ff, 0x0190, 0x8108, 0x0ca0, 0x080c, 0x48cd, 0x0904, + 0x33d3, 0x7888, 0x900d, 0x0904, 0x33d3, 0x788c, 0x9005, 0x0904, + 0x33d3, 0xba44, 0xb946, 0xbb38, 0xb83a, 0x0804, 0x339e, 0x2011, + 0xbc09, 0x0010, 0x2011, 0xbc05, 0x080c, 0x53bc, 0x1904, 0x33d0, 0x00c6, 0x2061, 0x0100, 0x7984, 0x9186, 0x00ff, 0x1130, 0x2001, 0x1817, 0x2004, 0x9085, 0xff00, 0x0088, 0x9182, 0x007f, 0x16e0, - 0x9188, 0x317f, 0x210d, 0x918c, 0x00ff, 0x2001, 0x1817, 0x2004, + 0x9188, 0x319f, 0x210d, 0x918c, 0x00ff, 0x2001, 0x1817, 0x2004, 0x0026, 0x9116, 0x002e, 0x0580, 0x810f, 0x9105, 0x0126, 0x2091, - 0x8000, 0x0006, 0x080c, 0x9b84, 0x000e, 0x0510, 0x602e, 0x620a, - 0x7984, 0x00b6, 0x080c, 0x6211, 0x2b08, 0x00be, 0x1500, 0x6112, - 0x6023, 0x0001, 0x080c, 0x487a, 0x01d0, 0x9006, 0xa866, 0x7007, - 0x0003, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x701f, 0x3862, 0x2900, - 0x6016, 0x2009, 0x0032, 0x080c, 0x9c76, 0x012e, 0x00ce, 0x0005, - 0x012e, 0x00ce, 0x0804, 0x33b0, 0x00ce, 0x0804, 0x33b3, 0x080c, - 0x9bda, 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, 0x33b0, 0x0804, - 0x337e, 0x2061, 0x1a3e, 0x0126, 0x2091, 0x8000, 0x6000, 0xd084, + 0x8000, 0x0006, 0x080c, 0x9b90, 0x000e, 0x0510, 0x602e, 0x620a, + 0x7984, 0x00b6, 0x080c, 0x6235, 0x2b08, 0x00be, 0x1500, 0x6112, + 0x6023, 0x0001, 0x080c, 0x489a, 0x01d0, 0x9006, 0xa866, 0x7007, + 0x0003, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x701f, 0x3882, 0x2900, + 0x6016, 0x2009, 0x0032, 0x080c, 0x9c82, 0x012e, 0x00ce, 0x0005, + 0x012e, 0x00ce, 0x0804, 0x33d0, 0x00ce, 0x0804, 0x33d3, 0x080c, + 0x9be6, 0x0cb0, 0xa830, 0x9086, 0x0100, 0x0904, 0x33d0, 0x0804, + 0x339e, 0x2061, 0x1a46, 0x0126, 0x2091, 0x8000, 0x6000, 0xd084, 0x0170, 0x6104, 0x6208, 0x2061, 0x1800, 0x6350, 0x6070, 0x789a, - 0x60bc, 0x789e, 0x60b8, 0x78aa, 0x012e, 0x0804, 0x337e, 0x900e, - 0x2110, 0x0c88, 0x81ff, 0x1904, 0x33b0, 0x080c, 0x7096, 0x0904, - 0x33b0, 0x0126, 0x2091, 0x8000, 0x6250, 0x6070, 0x9202, 0x0248, - 0x9085, 0x0001, 0x080c, 0x24a6, 0x080c, 0x55b6, 0x012e, 0x0804, - 0x337e, 0x012e, 0x0804, 0x33b3, 0x0006, 0x0016, 0x00c6, 0x00e6, - 0x2001, 0x1979, 0x2070, 0x2061, 0x1853, 0x6008, 0x2072, 0x900e, - 0x2011, 0x1400, 0x080c, 0x83fb, 0x7206, 0x00ee, 0x00ce, 0x001e, + 0x60bc, 0x789e, 0x60b8, 0x78aa, 0x012e, 0x0804, 0x339e, 0x900e, + 0x2110, 0x0c88, 0x81ff, 0x1904, 0x33d0, 0x080c, 0x70ba, 0x0904, + 0x33d0, 0x0126, 0x2091, 0x8000, 0x6250, 0x6070, 0x9202, 0x0248, + 0x9085, 0x0001, 0x080c, 0x24c2, 0x080c, 0x55d6, 0x012e, 0x0804, + 0x339e, 0x012e, 0x0804, 0x33d3, 0x0006, 0x0016, 0x00c6, 0x00e6, + 0x2001, 0x1981, 0x2070, 0x2061, 0x185b, 0x6008, 0x2072, 0x900e, + 0x2011, 0x1400, 0x080c, 0x842f, 0x7206, 0x00ee, 0x00ce, 0x001e, 0x000e, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, 0x0128, 0x012e, - 0x2021, 0x400b, 0x0804, 0x3380, 0x7884, 0xd0fc, 0x0148, 0x2001, - 0x002a, 0x2004, 0x9082, 0x00e1, 0x0288, 0x012e, 0x0804, 0x33b3, - 0x2001, 0x002a, 0x2004, 0x2069, 0x1853, 0x6908, 0x9102, 0x1230, - 0x012e, 0x0804, 0x33b3, 0x012e, 0x0804, 0x33b0, 0x080c, 0x9b59, - 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x392d, 0x00c6, 0x080c, 0x487a, + 0x2021, 0x400b, 0x0804, 0x33a0, 0x7884, 0xd0fc, 0x0148, 0x2001, + 0x002a, 0x2004, 0x9082, 0x00e1, 0x0288, 0x012e, 0x0804, 0x33d3, + 0x2001, 0x002a, 0x2004, 0x2069, 0x185b, 0x6908, 0x9102, 0x1230, + 0x012e, 0x0804, 0x33d3, 0x012e, 0x0804, 0x33d0, 0x080c, 0x9b65, + 0x0dd0, 0x7884, 0xd0fc, 0x0904, 0x394d, 0x00c6, 0x080c, 0x489a, 0x00ce, 0x0d88, 0xa867, 0x0000, 0x7884, 0xa80a, 0x7898, 0xa80e, 0x789c, 0xa812, 0x2001, 0x002e, 0x2004, 0xa81a, 0x2001, 0x002f, 0x2004, 0xa81e, 0x2001, 0x0030, 0x2004, 0xa822, 0x2001, 0x0031, 0x2004, 0xa826, 0x2001, 0x0034, 0x2004, 0xa82a, 0x2001, 0x0035, 0x2004, 0xa82e, 0x2001, 0x002a, 0x2004, 0x9080, 0x0003, 0x9084, - 0x00fc, 0x8004, 0xa816, 0x080c, 0x3ab7, 0x0928, 0x7014, 0x2048, + 0x00fc, 0x8004, 0xa816, 0x080c, 0x3ad7, 0x0928, 0x7014, 0x2048, 0xad2c, 0xac28, 0xab1c, 0xaa18, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, 0x48c3, 0x701f, - 0x39f4, 0x7023, 0x0001, 0x012e, 0x0005, 0x080c, 0x98bb, 0x0046, + 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x080c, 0x48e3, 0x701f, + 0x3a14, 0x7023, 0x0001, 0x012e, 0x0005, 0x080c, 0x98c7, 0x0046, 0x0086, 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, - 0x080c, 0x389c, 0x2001, 0x196f, 0x2003, 0x0000, 0x2021, 0x000a, + 0x080c, 0x38bc, 0x2001, 0x1977, 0x2003, 0x0000, 0x2021, 0x000a, 0x2061, 0x0100, 0x6104, 0x0016, 0x60bb, 0x0000, 0x60bf, 0x32e1, - 0x60bf, 0x0012, 0x080c, 0x3b26, 0x080c, 0x3ae5, 0x00f6, 0x00e6, - 0x0086, 0x2940, 0x2071, 0x19b7, 0x2079, 0x0090, 0x00d6, 0x2069, + 0x60bf, 0x0012, 0x080c, 0x3b46, 0x080c, 0x3b05, 0x00f6, 0x00e6, + 0x0086, 0x2940, 0x2071, 0x19bf, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0140, 0x2001, 0x0035, 0x2004, 0x780e, 0x2001, 0x0034, 0x2004, 0x780a, 0x00de, 0x2011, 0x0001, 0x080c, - 0x3e97, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3dc4, 0x080c, 0x3cf1, + 0x3eb7, 0x008e, 0x00ee, 0x00fe, 0x080c, 0x3de4, 0x080c, 0x3d11, 0x05b8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1db8, 0x080c, - 0x3f0b, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, + 0x3f2b, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, 0x0070, 0x1560, 0x2071, 0x0200, 0x7037, 0x0000, 0x7050, 0x9084, 0xff00, 0x9086, 0x3200, 0x1510, 0x7037, 0x0001, 0x7050, 0x9084, 0xff00, 0x9086, 0xe100, 0x11d0, 0x7037, 0x0000, 0x7054, 0x7037, 0x0000, 0x715c, 0x9106, 0x1190, 0x2001, 0x181f, 0x2004, 0x9106, 0x1168, 0x00c6, 0x2061, 0x0100, 0x6024, 0x9084, 0x1e00, 0x00ce, 0x0138, - 0x080c, 0x3cfb, 0x080c, 0x3ae0, 0x0058, 0x080c, 0x3ae0, 0x080c, - 0x3e2f, 0x080c, 0x3dba, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, + 0x080c, 0x3d1b, 0x080c, 0x3b00, 0x0058, 0x080c, 0x3b00, 0x080c, + 0x3e4f, 0x080c, 0x3dda, 0x2001, 0x020b, 0x2004, 0xd0e4, 0x0dd8, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x001e, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x60bb, 0x0000, 0x60bf, 0x0108, 0x60bf, 0x0012, 0x2001, 0x0004, 0x200c, 0x918c, - 0xfffd, 0x2102, 0x080c, 0x12e1, 0x2009, 0x0028, 0x080c, 0x2063, - 0x2001, 0x0227, 0x200c, 0x2102, 0x080c, 0x98d7, 0x00fe, 0x00ee, + 0xfffd, 0x2102, 0x080c, 0x12ee, 0x2009, 0x0028, 0x080c, 0x207b, + 0x2001, 0x0227, 0x200c, 0x2102, 0x080c, 0x98e3, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, 0x004e, 0x2001, - 0x196f, 0x2004, 0x9005, 0x1118, 0x012e, 0x0804, 0x337e, 0x012e, - 0x2021, 0x400c, 0x0804, 0x3380, 0x0016, 0x0026, 0x0036, 0x0046, + 0x1977, 0x2004, 0x9005, 0x1118, 0x012e, 0x0804, 0x339e, 0x012e, + 0x2021, 0x400c, 0x0804, 0x33a0, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, 0x0156, 0x7014, 0x2048, - 0x7020, 0x20a8, 0x8000, 0x7022, 0xa804, 0x9005, 0x0904, 0x3a50, - 0x2048, 0x1f04, 0x3a04, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, + 0x7020, 0x20a8, 0x8000, 0x7022, 0xa804, 0x9005, 0x0904, 0x3a70, + 0x2048, 0x1f04, 0x3a24, 0x7068, 0x2040, 0xa28c, 0xa390, 0xa494, 0xa598, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x0096, 0x7014, 0x2048, 0xa864, 0x009e, 0x9086, 0x0103, 0x0170, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, - 0x9080, 0x001b, 0x080c, 0x48c3, 0x701f, 0x39f4, 0x00b0, 0x8906, + 0x9080, 0x001b, 0x080c, 0x48e3, 0x701f, 0x3a14, 0x00b0, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, - 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0f9f, - 0x000e, 0x080c, 0x48c6, 0x701f, 0x39f4, 0x015e, 0x00de, 0x009e, + 0x21a8, 0x27e0, 0x2098, 0x27e8, 0x20a0, 0x0006, 0x080c, 0x0fac, + 0x000e, 0x080c, 0x48e6, 0x701f, 0x3a14, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, - 0x7014, 0x2048, 0xa864, 0x9086, 0x0103, 0x1118, 0x701f, 0x3ab5, + 0x7014, 0x2048, 0xa864, 0x9086, 0x0103, 0x1118, 0x701f, 0x3ad5, 0x0450, 0x7014, 0x2048, 0xa868, 0xc0fd, 0xa86a, 0x2009, 0x007f, - 0x080c, 0x620b, 0x0110, 0x9006, 0x0030, 0xb813, 0x00ff, 0xb817, - 0xfffd, 0x080c, 0xbd2a, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, - 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0904, 0x33b0, 0x0016, + 0x080c, 0x622f, 0x0110, 0x9006, 0x0030, 0xb813, 0x00ff, 0xb817, + 0xfffd, 0x080c, 0xbd58, 0x015e, 0x00de, 0x009e, 0x008e, 0x007e, + 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0904, 0x33d0, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0076, 0x0086, 0x0096, 0x00d6, - 0x0156, 0x701f, 0x3a87, 0x7007, 0x0003, 0x0804, 0x3a45, 0xa830, - 0x9086, 0x0100, 0x2021, 0x400c, 0x0904, 0x3380, 0x0076, 0xad10, + 0x0156, 0x701f, 0x3aa7, 0x7007, 0x0003, 0x0804, 0x3a65, 0xa830, + 0x9086, 0x0100, 0x2021, 0x400c, 0x0904, 0x33a0, 0x0076, 0xad10, 0xac0c, 0xab24, 0xaa20, 0xa930, 0xa808, 0xd0b4, 0x1120, 0x2029, 0x0000, 0x2021, 0x0000, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x21a8, 0x27e0, 0x2098, 0x27e8, - 0x20a0, 0x0006, 0x080c, 0x0f9f, 0x000e, 0x080c, 0x48c6, 0x007e, - 0x701f, 0x39f4, 0x7023, 0x0001, 0x0005, 0x0804, 0x337e, 0x0156, + 0x20a0, 0x0006, 0x080c, 0x0fac, 0x000e, 0x080c, 0x48e6, 0x007e, + 0x701f, 0x3a14, 0x7023, 0x0001, 0x0005, 0x0804, 0x339e, 0x0156, 0x00c6, 0xa814, 0x908a, 0x001e, 0x0218, 0xa833, 0x001e, 0x0010, - 0xa832, 0x0078, 0x81ff, 0x0168, 0x0016, 0x080c, 0x487a, 0x001e, + 0xa832, 0x0078, 0x81ff, 0x0168, 0x0016, 0x080c, 0x489a, 0x001e, 0x0130, 0xa800, 0x2040, 0xa008, 0xa80a, 0x2100, 0x0c58, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, 0x015e, 0x0005, 0x0006, 0x00f6, 0x2079, 0x0000, 0x7880, 0x9086, 0x0044, 0x00fe, 0x000e, 0x0005, - 0x2001, 0x196f, 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, - 0x2061, 0x0200, 0x2001, 0x197a, 0x2004, 0x601a, 0x2061, 0x0100, - 0x2001, 0x1979, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x080c, - 0x487a, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, + 0x2001, 0x1977, 0x2003, 0x0001, 0x0005, 0x00f6, 0x00e6, 0x00c6, + 0x2061, 0x0200, 0x2001, 0x1982, 0x2004, 0x601a, 0x2061, 0x0100, + 0x2001, 0x1981, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x080c, + 0x489a, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2061, - 0x0090, 0x2079, 0x0100, 0x2001, 0x1979, 0x2004, 0x6036, 0x2009, - 0x0040, 0x080c, 0x2063, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, + 0x0090, 0x2079, 0x0100, 0x2001, 0x1981, 0x2004, 0x6036, 0x2009, + 0x0040, 0x080c, 0x207b, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x601a, 0xa873, 0x0000, 0x601f, 0x0000, 0x78ca, 0x9006, 0x600a, 0x600e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x080c, - 0x487a, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, + 0x489a, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa866, 0x2001, 0x0031, 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0xa873, 0x0000, 0x2001, 0x032a, 0x2003, 0x0004, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x81ff, - 0x0148, 0x080c, 0x2830, 0x1130, 0x9006, 0x080c, 0x2787, 0x9006, - 0x080c, 0x276a, 0x7884, 0x9084, 0x0007, 0x0002, 0x3b71, 0x3b7a, - 0x3b83, 0x3b6e, 0x3b6e, 0x3b6e, 0x3b6e, 0x3b6e, 0x012e, 0x0804, - 0x33b3, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, 0x080c, - 0x3d45, 0x00c0, 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, 0x200a, - 0x080c, 0x3d45, 0x0078, 0x080c, 0x7096, 0x1128, 0x012e, 0x2009, - 0x0016, 0x0804, 0x33b0, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, - 0x0804, 0x3380, 0x080c, 0x98bb, 0x0086, 0x0096, 0x00a6, 0x00b6, - 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x389c, 0x2009, 0x0101, + 0x0148, 0x080c, 0x2850, 0x1130, 0x9006, 0x080c, 0x27a3, 0x9006, + 0x080c, 0x2786, 0x7884, 0x9084, 0x0007, 0x0002, 0x3b91, 0x3b9a, + 0x3ba3, 0x3b8e, 0x3b8e, 0x3b8e, 0x3b8e, 0x3b8e, 0x012e, 0x0804, + 0x33d3, 0x2009, 0x0114, 0x2104, 0x9085, 0x0800, 0x200a, 0x080c, + 0x3d65, 0x00c0, 0x2009, 0x0114, 0x2104, 0x9085, 0x4000, 0x200a, + 0x080c, 0x3d65, 0x0078, 0x080c, 0x70ba, 0x1128, 0x012e, 0x2009, + 0x0016, 0x0804, 0x33d0, 0x81ff, 0x0128, 0x012e, 0x2021, 0x400b, + 0x0804, 0x33a0, 0x080c, 0x98c7, 0x0086, 0x0096, 0x00a6, 0x00b6, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x080c, 0x38bc, 0x2009, 0x0101, 0x210c, 0x0016, 0x7ec8, 0x7dcc, 0x9006, 0x2068, 0x2060, 0x2058, - 0x080c, 0x3fe6, 0x080c, 0x3f36, 0x903e, 0x2720, 0x00f6, 0x00e6, - 0x0086, 0x2940, 0x2071, 0x19b7, 0x2079, 0x0090, 0x00d6, 0x2069, + 0x080c, 0x4006, 0x080c, 0x3f56, 0x903e, 0x2720, 0x00f6, 0x00e6, + 0x0086, 0x2940, 0x2071, 0x19bf, 0x2079, 0x0090, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x68d4, 0x780e, 0x68d0, 0x780a, - 0x00de, 0x2011, 0x0001, 0x080c, 0x3e97, 0x080c, 0x2838, 0x080c, - 0x2838, 0x080c, 0x2838, 0x080c, 0x2838, 0x080c, 0x3e97, 0x008e, - 0x00ee, 0x00fe, 0x080c, 0x3dc4, 0x2009, 0x9c40, 0x8109, 0x11b0, - 0x080c, 0x3cfb, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, + 0x00de, 0x2011, 0x0001, 0x080c, 0x3eb7, 0x080c, 0x2858, 0x080c, + 0x2858, 0x080c, 0x2858, 0x080c, 0x2858, 0x080c, 0x3eb7, 0x008e, + 0x00ee, 0x00fe, 0x080c, 0x3de4, 0x2009, 0x9c40, 0x8109, 0x11b0, + 0x080c, 0x3d1b, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, 0x2102, 0x001e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, - 0x008e, 0x2009, 0x0017, 0x080c, 0x33b0, 0x0cf8, 0x2001, 0x020b, + 0x008e, 0x2009, 0x0017, 0x080c, 0x33d0, 0x0cf8, 0x2001, 0x020b, 0x2004, 0x9084, 0x0140, 0x1d10, 0x00f6, 0x2079, 0x0000, 0x7884, 0x00fe, 0xd0bc, 0x0178, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0150, - 0x080c, 0x3da2, 0x2d00, 0x9c05, 0x9b05, 0x0120, 0x080c, 0x3cfb, - 0x0804, 0x3ca4, 0x080c, 0x3f0b, 0x080c, 0x3e2f, 0x080c, 0x3d85, - 0x080c, 0x3dba, 0x00f6, 0x2079, 0x0100, 0x7824, 0xd0ac, 0x0130, - 0x8b58, 0x080c, 0x3cfb, 0x00fe, 0x0804, 0x3ca4, 0x00fe, 0x080c, - 0x3cf1, 0x1150, 0x8d68, 0x2001, 0x0032, 0x2602, 0x2001, 0x0033, - 0x2502, 0x080c, 0x3cfb, 0x0080, 0x87ff, 0x0138, 0x2001, 0x0201, - 0x2004, 0x9005, 0x1908, 0x8739, 0x0038, 0x2001, 0x1a3b, 0x2004, - 0x9086, 0x0000, 0x1904, 0x3bf4, 0x2001, 0x032f, 0x2003, 0x00f6, - 0x8631, 0x1208, 0x8529, 0x2500, 0x9605, 0x0904, 0x3ca4, 0x7884, - 0xd0bc, 0x0128, 0x2d00, 0x9c05, 0x9b05, 0x1904, 0x3ca4, 0xa013, + 0x080c, 0x3dc2, 0x2d00, 0x9c05, 0x9b05, 0x0120, 0x080c, 0x3d1b, + 0x0804, 0x3cc4, 0x080c, 0x3f2b, 0x080c, 0x3e4f, 0x080c, 0x3da5, + 0x080c, 0x3dda, 0x00f6, 0x2079, 0x0100, 0x7824, 0xd0ac, 0x0130, + 0x8b58, 0x080c, 0x3d1b, 0x00fe, 0x0804, 0x3cc4, 0x00fe, 0x080c, + 0x3d11, 0x1150, 0x8d68, 0x2001, 0x0032, 0x2602, 0x2001, 0x0033, + 0x2502, 0x080c, 0x3d1b, 0x0080, 0x87ff, 0x0138, 0x2001, 0x0201, + 0x2004, 0x9005, 0x1908, 0x8739, 0x0038, 0x2001, 0x1a43, 0x2004, + 0x9086, 0x0000, 0x1904, 0x3c14, 0x2001, 0x032f, 0x2003, 0x00f6, + 0x8631, 0x1208, 0x8529, 0x2500, 0x9605, 0x0904, 0x3cc4, 0x7884, + 0xd0bc, 0x0128, 0x2d00, 0x9c05, 0x9b05, 0x1904, 0x3cc4, 0xa013, 0x0019, 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1148, - 0x2001, 0x1a3b, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, + 0x2001, 0x1a43, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x0030, 0xa017, 0x0001, 0x78b4, 0x9005, 0x0108, 0xa016, 0x2800, - 0xa05a, 0x2009, 0x0040, 0x080c, 0x2063, 0x2900, 0xa85a, 0xa813, + 0xa05a, 0x2009, 0x0040, 0x080c, 0x207b, 0x2900, 0xa85a, 0xa813, 0x0019, 0x7884, 0xd0a4, 0x1180, 0xa817, 0x0000, 0x00c6, 0x20a9, 0x0004, 0x2061, 0x0090, 0x602b, 0x0008, 0x2001, 0x0203, 0x2004, - 0x1f04, 0x3c7b, 0x00ce, 0x0030, 0xa817, 0x0001, 0x78b0, 0x9005, + 0x1f04, 0x3c9b, 0x00ce, 0x0030, 0xa817, 0x0001, 0x78b0, 0x9005, 0x0108, 0xa816, 0x00f6, 0x00c6, 0x2079, 0x0100, 0x2061, 0x0090, 0x7827, 0x0002, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, - 0x00ce, 0x00fe, 0x0804, 0x3bae, 0x001e, 0x00c6, 0x2001, 0x032a, + 0x00ce, 0x00fe, 0x0804, 0x3bce, 0x001e, 0x00c6, 0x2001, 0x032a, 0x2003, 0x0004, 0x2061, 0x0100, 0x6027, 0x0002, 0x6106, 0x2011, 0x020d, 0x2013, 0x0020, 0x2001, 0x0004, 0x200c, 0x918c, 0xfffd, - 0x2102, 0x080c, 0x12e1, 0x7884, 0x9084, 0x0003, 0x9086, 0x0002, - 0x01b0, 0x2009, 0x0028, 0x080c, 0x2063, 0x2001, 0x0227, 0x200c, - 0x2102, 0x6050, 0x9084, 0xb7ff, 0x080c, 0x28e2, 0x6052, 0x602f, + 0x2102, 0x080c, 0x12ee, 0x7884, 0x9084, 0x0003, 0x9086, 0x0002, + 0x01b0, 0x2009, 0x0028, 0x080c, 0x207b, 0x2001, 0x0227, 0x200c, + 0x2102, 0x6050, 0x9084, 0xb7ff, 0x080c, 0x2902, 0x6052, 0x602f, 0x0000, 0x604b, 0xf7f7, 0x6043, 0x0090, 0x6043, 0x0010, 0x080c, - 0x98d7, 0x00ce, 0x2d08, 0x2c10, 0x2b18, 0x2b00, 0x9c05, 0x9d05, + 0x98e3, 0x00ce, 0x2d08, 0x2c10, 0x2b18, 0x2b00, 0x9c05, 0x9d05, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x008e, - 0x1118, 0x012e, 0x0804, 0x337e, 0x012e, 0x2021, 0x400c, 0x0804, - 0x3380, 0x9085, 0x0001, 0x1d04, 0x3cfa, 0x2091, 0x6000, 0x8420, + 0x1118, 0x012e, 0x0804, 0x339e, 0x012e, 0x2021, 0x400c, 0x0804, + 0x33a0, 0x9085, 0x0001, 0x1d04, 0x3d1a, 0x2091, 0x6000, 0x8420, 0x9486, 0x0064, 0x0005, 0x2001, 0x0105, 0x2003, 0x0010, 0x2001, - 0x032a, 0x2003, 0x0004, 0x2001, 0x1a3b, 0x2003, 0x0000, 0x0071, - 0x2009, 0x0048, 0x080c, 0x2063, 0x2001, 0x0227, 0x2024, 0x2402, + 0x032a, 0x2003, 0x0004, 0x2001, 0x1a43, 0x2003, 0x0000, 0x0071, + 0x2009, 0x0048, 0x080c, 0x207b, 0x2001, 0x0227, 0x2024, 0x2402, 0x2001, 0x0109, 0x2003, 0x4000, 0x9026, 0x0005, 0x00f6, 0x00e6, - 0x2071, 0x19b7, 0x7054, 0x9086, 0x0000, 0x0520, 0x2079, 0x0090, + 0x2071, 0x19bf, 0x7054, 0x9086, 0x0000, 0x0520, 0x2079, 0x0090, 0x2009, 0x0206, 0x2104, 0x2009, 0x0203, 0x210c, 0x9106, 0x1120, - 0x2009, 0x0040, 0x080c, 0x2063, 0x782c, 0xd0fc, 0x0d88, 0x080c, - 0x3f0b, 0x7054, 0x9086, 0x0000, 0x1d58, 0x782b, 0x0004, 0x782c, - 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x2063, 0x782b, 0x0002, + 0x2009, 0x0040, 0x080c, 0x207b, 0x782c, 0xd0fc, 0x0d88, 0x080c, + 0x3f2b, 0x7054, 0x9086, 0x0000, 0x1d58, 0x782b, 0x0004, 0x782c, + 0xd0ac, 0x1de8, 0x2009, 0x0040, 0x080c, 0x207b, 0x782b, 0x0002, 0x7057, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0100, - 0x2001, 0x1817, 0x200c, 0x7932, 0x7936, 0x080c, 0x2486, 0x080c, - 0x28af, 0x080c, 0x28e2, 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, + 0x2001, 0x1817, 0x200c, 0x7932, 0x7936, 0x080c, 0x24a2, 0x080c, + 0x28cf, 0x080c, 0x2902, 0x784b, 0xf7f7, 0x7843, 0x0090, 0x7843, 0x0010, 0x7850, 0xc0e5, 0x7852, 0x2019, 0x61a8, 0x7820, 0xd09c, 0x0110, 0x8319, 0x1dd8, 0x7850, 0xc0e4, 0x7852, 0x2011, 0x0048, - 0x080c, 0x288c, 0x7843, 0x0040, 0x2019, 0x01f4, 0xa001, 0xa001, - 0x8319, 0x1de0, 0x2001, 0x0100, 0x080c, 0x2852, 0x2011, 0x0020, - 0x080c, 0x288c, 0x7843, 0x0000, 0x9006, 0x080c, 0x2852, 0x2011, - 0x0048, 0x080c, 0x288c, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, - 0x00f6, 0x00e6, 0x2071, 0x1a3b, 0x2079, 0x0320, 0x2001, 0x0201, + 0x080c, 0x28ac, 0x7843, 0x0040, 0x2019, 0x01f4, 0xa001, 0xa001, + 0x8319, 0x1de0, 0x2001, 0x0100, 0x080c, 0x2872, 0x2011, 0x0020, + 0x080c, 0x28ac, 0x7843, 0x0000, 0x9006, 0x080c, 0x2872, 0x2011, + 0x0048, 0x080c, 0x28ac, 0x00fe, 0x0005, 0x7884, 0xd0ac, 0x11c8, + 0x00f6, 0x00e6, 0x2071, 0x1a43, 0x2079, 0x0320, 0x2001, 0x0201, 0x2004, 0x9005, 0x0160, 0x7000, 0x9086, 0x0000, 0x1140, 0x0051, 0xd0bc, 0x0108, 0x8738, 0x7003, 0x0003, 0x782b, 0x0019, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x0300, 0x78bc, 0x00fe, 0x908c, @@ -1771,7 +1775,7 @@ unsigned short risc_code01[] = { 0xd0b4, 0x0108, 0x8c60, 0xd0ac, 0x0108, 0x8d68, 0xd0a4, 0x0108, 0x8b58, 0x0005, 0x00f6, 0x2079, 0x0200, 0x781c, 0xd084, 0x0110, 0x7837, 0x0050, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x0100, 0x2001, - 0x197a, 0x2004, 0x70e2, 0x080c, 0x3ad6, 0x1188, 0x2001, 0x181f, + 0x1982, 0x2004, 0x70e2, 0x080c, 0x3af6, 0x1188, 0x2001, 0x181f, 0x2004, 0x2009, 0x181e, 0x210c, 0x918c, 0x00ff, 0x706e, 0x716a, 0x7066, 0x918d, 0x3200, 0x7162, 0x7073, 0xe109, 0x0080, 0x702c, 0x9085, 0x0002, 0x702e, 0x2009, 0x1817, 0x210c, 0x716e, 0x7063, @@ -1779,31 +1783,31 @@ unsigned short risc_code01[] = { 0x0008, 0x7078, 0x9080, 0x0100, 0x707a, 0x7080, 0x8000, 0x7082, 0x7087, 0xaaaa, 0x9006, 0x708a, 0x708e, 0x707e, 0x70d6, 0x70ab, 0x0036, 0x70af, 0x95d5, 0x7014, 0x9084, 0x1984, 0x9085, 0x0092, - 0x7016, 0x080c, 0x3f0b, 0x00f6, 0x2071, 0x1a3b, 0x2079, 0x0320, + 0x7016, 0x080c, 0x3f2b, 0x00f6, 0x2071, 0x1a43, 0x2079, 0x0320, 0x00d6, 0x2069, 0x0000, 0x6884, 0xd0b4, 0x0120, 0x689c, 0x780e, 0x6898, 0x780a, 0x00de, 0x2009, 0x03e8, 0x8109, 0x1df0, 0x792c, - 0xd1fc, 0x0110, 0x782b, 0x0004, 0x2011, 0x0011, 0x080c, 0x3e97, - 0x2011, 0x0001, 0x080c, 0x3e97, 0x00fe, 0x00ee, 0x0005, 0x00f6, - 0x00e6, 0x2071, 0x1a3b, 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, - 0x3e94, 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, 0x3e90, 0x7000, - 0x0002, 0x3e94, 0x3e45, 0x3e75, 0x3e90, 0xd1bc, 0x1170, 0xd1dc, - 0x1190, 0x8001, 0x7002, 0x2011, 0x0001, 0x080c, 0x3e97, 0x0904, - 0x3e94, 0x080c, 0x3e97, 0x0804, 0x3e94, 0x00f6, 0x2079, 0x0300, + 0xd1fc, 0x0110, 0x782b, 0x0004, 0x2011, 0x0011, 0x080c, 0x3eb7, + 0x2011, 0x0001, 0x080c, 0x3eb7, 0x00fe, 0x00ee, 0x0005, 0x00f6, + 0x00e6, 0x2071, 0x1a43, 0x2079, 0x0320, 0x792c, 0xd1fc, 0x0904, + 0x3eb4, 0x782b, 0x0002, 0x9026, 0xd19c, 0x1904, 0x3eb0, 0x7000, + 0x0002, 0x3eb4, 0x3e65, 0x3e95, 0x3eb0, 0xd1bc, 0x1170, 0xd1dc, + 0x1190, 0x8001, 0x7002, 0x2011, 0x0001, 0x080c, 0x3eb7, 0x0904, + 0x3eb4, 0x080c, 0x3eb7, 0x0804, 0x3eb4, 0x00f6, 0x2079, 0x0300, 0x78bf, 0x0000, 0x00fe, 0x7810, 0x7914, 0x782b, 0x0004, 0x7812, - 0x7916, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x3da2, + 0x7916, 0x2001, 0x0201, 0x200c, 0x81ff, 0x0de8, 0x080c, 0x3dc2, 0x2009, 0x0001, 0x00f6, 0x2079, 0x0300, 0x78b8, 0x00fe, 0xd0ec, 0x0110, 0x2009, 0x0011, 0x792a, 0x00f8, 0x8001, 0x7002, 0x9184, - 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, 0x3e39, 0x2011, 0x0001, + 0x0880, 0x1140, 0x782c, 0xd0fc, 0x1904, 0x3e59, 0x2011, 0x0001, 0x00b1, 0x0090, 0xa010, 0x9092, 0x0004, 0x9086, 0x0015, 0x1120, 0xa000, 0xa05a, 0x2011, 0x0031, 0xa212, 0xd1dc, 0x1960, 0x0828, 0x782b, 0x0004, 0x7003, 0x0000, 0x00ee, 0x00fe, 0x0005, 0xa014, 0x9005, 0x0550, 0x8001, 0x0036, 0x0096, 0xa016, 0xa058, 0x2048, 0xa010, 0x2009, 0x0031, 0x911a, 0x831c, 0x831c, 0x938a, 0x0007, - 0x1a0c, 0x0d65, 0x9398, 0x3ec5, 0x231d, 0x083f, 0x9080, 0x0004, + 0x1a0c, 0x0d65, 0x9398, 0x3ee5, 0x231d, 0x083f, 0x9080, 0x0004, 0x7a2a, 0x7100, 0x8108, 0x7102, 0x009e, 0x003e, 0x908a, 0x0035, 0x1140, 0x0096, 0xa058, 0x2048, 0xa804, 0xa05a, 0x2001, 0x0019, - 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, 0x3f02, 0x3ef9, 0x3ef0, - 0x3ee7, 0x3ede, 0x3ed5, 0x3ecc, 0xa964, 0x7902, 0xa968, 0x7906, + 0x009e, 0xa012, 0x9085, 0x0001, 0x0005, 0x3f22, 0x3f19, 0x3f10, + 0x3f07, 0x3efe, 0x3ef5, 0x3eec, 0xa964, 0x7902, 0xa968, 0x7906, 0xa96c, 0x7912, 0xa970, 0x7916, 0x0005, 0xa974, 0x7902, 0xa978, 0x7906, 0xa97c, 0x7912, 0xa980, 0x7916, 0x0005, 0xa984, 0x7902, 0xa988, 0x7906, 0xa98c, 0x7912, 0xa990, 0x7916, 0x0005, 0xa994, @@ -1811,24 +1815,24 @@ unsigned short risc_code01[] = { 0xa9a4, 0x7902, 0xa9a8, 0x7906, 0xa9ac, 0x7912, 0xa9b0, 0x7916, 0x0005, 0xa9b4, 0x7902, 0xa9b8, 0x7906, 0xa9bc, 0x7912, 0xa9c0, 0x7916, 0x0005, 0xa9c4, 0x7902, 0xa9c8, 0x7906, 0xa9cc, 0x7912, - 0xa9d0, 0x7916, 0x0005, 0x00f6, 0x00e6, 0x0086, 0x2071, 0x19b7, + 0xa9d0, 0x7916, 0x0005, 0x00f6, 0x00e6, 0x0086, 0x2071, 0x19bf, 0x2079, 0x0090, 0x792c, 0xd1fc, 0x01e8, 0x782b, 0x0002, 0x2940, - 0x9026, 0x7054, 0x0002, 0x3f32, 0x3f1e, 0x3f29, 0x8001, 0x7056, - 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, 0x3e97, 0x190c, 0x3e97, + 0x9026, 0x7054, 0x0002, 0x3f52, 0x3f3e, 0x3f49, 0x8001, 0x7056, + 0xd19c, 0x1180, 0x2011, 0x0001, 0x080c, 0x3eb7, 0x190c, 0x3eb7, 0x0048, 0x8001, 0x7056, 0x782c, 0xd0fc, 0x1d38, 0x2011, 0x0001, - 0x080c, 0x3e97, 0x008e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, - 0x00c6, 0x0086, 0x2061, 0x0200, 0x2001, 0x197a, 0x2004, 0x601a, - 0x2061, 0x0100, 0x2001, 0x1979, 0x2004, 0x60ce, 0x6104, 0xc1ac, + 0x080c, 0x3eb7, 0x008e, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0x00e6, + 0x00c6, 0x0086, 0x2061, 0x0200, 0x2001, 0x1982, 0x2004, 0x601a, + 0x2061, 0x0100, 0x2001, 0x1981, 0x2004, 0x60ce, 0x6104, 0xc1ac, 0x6106, 0x2001, 0x002c, 0x2004, 0x9005, 0x0520, 0x2038, 0x2001, - 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, 0x080c, 0x487a, 0xa813, + 0x002e, 0x2024, 0x2001, 0x002f, 0x201c, 0x080c, 0x489a, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, - 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x3fae, 0x1d68, 0x2900, - 0xa85a, 0x00d0, 0x080c, 0x487a, 0xa813, 0x0019, 0xa817, 0x0001, + 0xa85c, 0x9080, 0x0019, 0x009e, 0x080c, 0x3fce, 0x1d68, 0x2900, + 0xa85a, 0x00d0, 0x080c, 0x489a, 0xa813, 0x0019, 0xa817, 0x0001, 0x2900, 0xa85a, 0x2001, 0x002e, 0x2004, 0xa866, 0x2001, 0x002f, 0x2004, 0xa86a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa86e, 0x2001, 0x002b, 0x2004, 0xa872, 0x2061, 0x0090, 0x2079, 0x0100, - 0x2001, 0x1979, 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, 0x2063, + 0x2001, 0x1981, 0x2004, 0x6036, 0x2009, 0x0040, 0x080c, 0x207b, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0x601a, 0x0006, 0x2001, 0x002b, 0x2004, 0x601e, 0x78c6, 0x000e, 0x78ca, 0x9006, 0x600a, 0x600e, 0x008e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x00e6, 0x2071, @@ -1836,654 +1840,654 @@ unsigned short risc_code01[] = { 0x702b, 0x0026, 0x7402, 0x7306, 0x9006, 0x700a, 0x700e, 0x810b, 0x810b, 0x21a8, 0x810b, 0x7112, 0x702b, 0x0041, 0x702c, 0xd0fc, 0x0de8, 0x702b, 0x0002, 0x702b, 0x0040, 0x4005, 0x7400, 0x7304, - 0x87ff, 0x0190, 0x0086, 0x0096, 0x2940, 0x0086, 0x080c, 0x487a, + 0x87ff, 0x0190, 0x0086, 0x0096, 0x2940, 0x0086, 0x080c, 0x489a, 0x008e, 0xa058, 0x00a6, 0x2050, 0x2900, 0xb006, 0xa05a, 0x00ae, 0x009e, 0x008e, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x2001, 0x002d, 0x2004, 0x9005, 0x0528, 0x2038, 0x2001, 0x0030, 0x2024, - 0x2001, 0x0031, 0x201c, 0x080c, 0x487a, 0x2940, 0xa813, 0x0019, + 0x2001, 0x0031, 0x201c, 0x080c, 0x489a, 0x2940, 0xa813, 0x0019, 0xaf16, 0x2900, 0xa85a, 0x978a, 0x0007, 0x0220, 0x2138, 0x2009, 0x0007, 0x0010, 0x2708, 0x903e, 0x0096, 0xa858, 0x2048, 0xa85c, - 0x9080, 0x0019, 0x009e, 0x080c, 0x3fae, 0x1d68, 0x2900, 0xa85a, - 0x00d8, 0x080c, 0x487a, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, + 0x9080, 0x0019, 0x009e, 0x080c, 0x3fce, 0x1d68, 0x2900, 0xa85a, + 0x00d8, 0x080c, 0x489a, 0x2940, 0xa013, 0x0019, 0xa017, 0x0001, 0x2800, 0xa05a, 0x2001, 0x0030, 0x2004, 0xa066, 0x2001, 0x0031, 0x2004, 0xa06a, 0x2001, 0x002a, 0x2004, 0x9084, 0xfff8, 0xa06e, 0x2001, 0x002b, 0x2004, 0xa072, 0x2001, 0x032a, 0x2003, 0x0004, 0x7884, 0xd0ac, 0x1180, 0x2001, 0x0101, 0x200c, 0x918d, 0x0200, - 0x2102, 0xa017, 0x0000, 0x2001, 0x1a3b, 0x2003, 0x0003, 0x2001, + 0x2102, 0xa017, 0x0000, 0x2001, 0x1a43, 0x2003, 0x0003, 0x2001, 0x032a, 0x2003, 0x0009, 0x2001, 0x0300, 0x2003, 0x0000, 0x2001, 0x020d, 0x2003, 0x0000, 0x2001, 0x0004, 0x200c, 0x918d, 0x0002, - 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0013, + 0x2102, 0x00ee, 0x0005, 0x0126, 0x2091, 0x8000, 0x20a9, 0x001b, 0x20a1, 0x1840, 0x20e9, 0x0001, 0x9006, 0x4004, 0x2009, 0x013c, 0x200a, 0x012e, 0x7880, 0x9086, 0x0052, 0x0108, 0x0005, 0x0804, - 0x337e, 0x7d98, 0x7c9c, 0x0804, 0x3480, 0x080c, 0x7096, 0x190c, - 0x5c9c, 0x2069, 0x1853, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, - 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x080c, 0x48c3, 0x701f, 0x4081, - 0x0005, 0x080c, 0x5397, 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, - 0x20d8, 0x21d0, 0x2069, 0x1853, 0x6800, 0x9005, 0x0904, 0x33b3, + 0x339e, 0x7d98, 0x7c9c, 0x0804, 0x34a0, 0x080c, 0x70ba, 0x190c, + 0x5cbc, 0x2069, 0x185b, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, + 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x080c, 0x48e3, 0x701f, 0x40a1, + 0x0005, 0x080c, 0x53b7, 0x1130, 0x3b00, 0x3a08, 0xc194, 0xc095, + 0x20d8, 0x21d0, 0x2069, 0x185b, 0x6800, 0x9005, 0x0904, 0x33d3, 0x6804, 0xd094, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0138, 0x6200, 0x9292, 0x0005, 0x0218, 0x918c, 0xffdf, 0x0010, 0x918d, 0x0020, 0x6106, 0x00ce, 0xd08c, 0x00c6, 0x2061, 0x0100, 0x6104, 0x0118, 0x918d, 0x0010, 0x0010, 0x918c, 0xffef, 0x6106, 0x00ce, 0xd084, - 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, 0x33b3, 0x9288, 0x317f, + 0x0158, 0x6a28, 0x928a, 0x007f, 0x1a04, 0x33d3, 0x9288, 0x319f, 0x210d, 0x918c, 0x00ff, 0x6162, 0xd0dc, 0x0130, 0x6828, 0x908a, - 0x007f, 0x1a04, 0x33b3, 0x605a, 0x6888, 0x9084, 0x0030, 0x8004, - 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, 0x1981, 0x9080, 0x2579, - 0x2005, 0x200a, 0x2008, 0x2001, 0x0018, 0x080c, 0x98ac, 0x2009, - 0x0390, 0x200b, 0x0400, 0x000e, 0x2009, 0x1982, 0x9080, 0x257d, - 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, 0x0a04, 0x33b3, 0x908a, - 0x0841, 0x1a04, 0x33b3, 0x9084, 0x0007, 0x1904, 0x33b3, 0x680c, - 0x9005, 0x0904, 0x33b3, 0x6810, 0x9005, 0x0904, 0x33b3, 0x6848, - 0x6940, 0x910a, 0x1a04, 0x33b3, 0x8001, 0x0904, 0x33b3, 0x684c, - 0x6944, 0x910a, 0x1a04, 0x33b3, 0x8001, 0x0904, 0x33b3, 0x6814, + 0x007f, 0x1a04, 0x33d3, 0x605a, 0x6888, 0x9084, 0x0030, 0x8004, + 0x8004, 0x8004, 0x8004, 0x0006, 0x2009, 0x1989, 0x9080, 0x2595, + 0x2005, 0x200a, 0x2008, 0x2001, 0x0018, 0x080c, 0x98b8, 0x2009, + 0x0390, 0x200b, 0x0400, 0x000e, 0x2009, 0x198a, 0x9080, 0x2599, + 0x2005, 0x200a, 0x6808, 0x908a, 0x0100, 0x0a04, 0x33d3, 0x908a, + 0x0841, 0x1a04, 0x33d3, 0x9084, 0x0007, 0x1904, 0x33d3, 0x680c, + 0x9005, 0x0904, 0x33d3, 0x6810, 0x9005, 0x0904, 0x33d3, 0x6848, + 0x6940, 0x910a, 0x1a04, 0x33d3, 0x8001, 0x0904, 0x33d3, 0x684c, + 0x6944, 0x910a, 0x1a04, 0x33d3, 0x8001, 0x0904, 0x33d3, 0x6814, 0x908c, 0x00ff, 0x614a, 0x8007, 0x9084, 0x00ff, 0x604e, 0x080c, - 0x73c7, 0x080c, 0x672f, 0x080c, 0x6764, 0x6808, 0x602a, 0x080c, - 0x1fd5, 0x2009, 0x0170, 0x200b, 0x0080, 0xa001, 0xa001, 0x200b, - 0x0000, 0x0036, 0x6b08, 0x080c, 0x24e0, 0x003e, 0x6000, 0x9086, - 0x0000, 0x1904, 0x41ed, 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, + 0x73ea, 0x080c, 0x6753, 0x080c, 0x6788, 0x6808, 0x602a, 0x080c, + 0x1fed, 0x2009, 0x0170, 0x200b, 0x0080, 0xa001, 0xa001, 0x200b, + 0x0000, 0x0036, 0x6b08, 0x080c, 0x24fc, 0x003e, 0x6000, 0x9086, + 0x0000, 0x1904, 0x420d, 0x6818, 0x691c, 0x6a20, 0x6b24, 0x8007, 0x810f, 0x8217, 0x831f, 0x6016, 0x611a, 0x621e, 0x6322, 0x6c04, 0xd4f4, 0x0148, 0x6830, 0x6934, 0x6a38, 0x6b3c, 0x8007, 0x810f, 0x8217, 0x831f, 0x0010, 0x9084, 0xf0ff, 0x6006, 0x610a, 0x620e, 0x6312, 0x8007, 0x810f, 0x8217, 0x831f, 0x20a9, 0x0004, 0x20a1, - 0x1983, 0x20e9, 0x0001, 0x4001, 0x20a9, 0x0004, 0x20a1, 0x199d, - 0x20e9, 0x0001, 0x4001, 0x080c, 0x82af, 0x00c6, 0x900e, 0x20a9, + 0x198b, 0x20e9, 0x0001, 0x4001, 0x20a9, 0x0004, 0x20a1, 0x19a5, + 0x20e9, 0x0001, 0x4001, 0x080c, 0x82e3, 0x00c6, 0x900e, 0x20a9, 0x0001, 0x6b70, 0xd384, 0x01c8, 0x0020, 0x839d, 0x12b0, 0x3508, - 0x8109, 0x080c, 0x799d, 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, + 0x8109, 0x080c, 0x79c1, 0x6878, 0x6016, 0x6874, 0x2008, 0x9084, 0xff00, 0x8007, 0x600a, 0x9184, 0x00ff, 0x6006, 0x8108, 0x1118, - 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, 0x4165, 0x00ce, - 0x00c6, 0x2061, 0x196c, 0x2063, 0x0001, 0x9006, 0x080c, 0x2787, - 0x9006, 0x080c, 0x276a, 0x0000, 0x00ce, 0x00e6, 0x2c70, 0x080c, - 0x0e9c, 0x00ee, 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, + 0x6003, 0x0003, 0x0010, 0x6003, 0x0001, 0x1f04, 0x4185, 0x00ce, + 0x00c6, 0x2061, 0x1974, 0x2063, 0x0001, 0x9006, 0x080c, 0x27a3, + 0x9006, 0x080c, 0x2786, 0x0000, 0x00ce, 0x00e6, 0x2c70, 0x080c, + 0x0ea9, 0x00ee, 0x6888, 0xd0ec, 0x0130, 0x2011, 0x0114, 0x2204, 0x9085, 0x0180, 0x2012, 0x6a80, 0x9284, 0x0030, 0x9086, 0x0030, - 0x1128, 0x9294, 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, 0x194c, + 0x1128, 0x9294, 0xffcf, 0x9295, 0x0020, 0x6a82, 0x2001, 0x1954, 0x6a80, 0x9294, 0x0030, 0x928e, 0x0000, 0x0170, 0x928e, 0x0010, - 0x0118, 0x928e, 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, 0x2555, - 0x2001, 0x193d, 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, - 0x602f, 0x0040, 0x602f, 0x0000, 0x00ce, 0x080c, 0x7096, 0x0128, - 0x080c, 0x4c8c, 0x0110, 0x080c, 0x24a6, 0x60d0, 0x9005, 0x01c0, - 0x6003, 0x0001, 0x2009, 0x41d5, 0x00d0, 0x080c, 0x7096, 0x1168, - 0x2011, 0x6f0c, 0x080c, 0x8138, 0x2011, 0x6eff, 0x080c, 0x823e, - 0x080c, 0x739b, 0x080c, 0x6fc7, 0x0040, 0x080c, 0x5b92, 0x0028, - 0x6003, 0x0004, 0x2009, 0x41ed, 0x0010, 0x0804, 0x337e, 0x2001, + 0x0118, 0x928e, 0x0020, 0x0140, 0x2003, 0xaaaa, 0x080c, 0x2571, + 0x2001, 0x1945, 0x2102, 0x0008, 0x2102, 0x00c6, 0x2061, 0x0100, + 0x602f, 0x0040, 0x602f, 0x0000, 0x00ce, 0x080c, 0x70ba, 0x0128, + 0x080c, 0x4cac, 0x0110, 0x080c, 0x24c2, 0x60d0, 0x9005, 0x01c0, + 0x6003, 0x0001, 0x2009, 0x41f5, 0x00d0, 0x080c, 0x70ba, 0x1168, + 0x2011, 0x6f30, 0x080c, 0x816c, 0x2011, 0x6f23, 0x080c, 0x8272, + 0x080c, 0x73be, 0x080c, 0x6feb, 0x0040, 0x080c, 0x5bb2, 0x0028, + 0x6003, 0x0004, 0x2009, 0x420d, 0x0010, 0x0804, 0x339e, 0x2001, 0x0170, 0x2004, 0x9084, 0x00ff, 0x9086, 0x004c, 0x1118, 0x2091, 0x31bd, 0x0817, 0x2091, 0x313d, 0x0817, 0x6000, 0x9086, 0x0000, - 0x0904, 0x33b0, 0x2069, 0x1853, 0x7890, 0x6842, 0x7894, 0x6846, + 0x0904, 0x33d0, 0x2069, 0x185b, 0x7890, 0x6842, 0x7894, 0x6846, 0x2d00, 0x2009, 0x0030, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, - 0x0001, 0x0804, 0x48c6, 0x9006, 0x080c, 0x24a6, 0x81ff, 0x1904, - 0x33b0, 0x080c, 0x7096, 0x11b0, 0x080c, 0x7396, 0x080c, 0x5cd7, - 0x080c, 0x317a, 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, 0xbf61, - 0x0130, 0x080c, 0x70b9, 0x1118, 0x080c, 0x706a, 0x0038, 0x080c, - 0x6fc7, 0x0020, 0x080c, 0x5c9c, 0x080c, 0x5b92, 0x0804, 0x337e, - 0x81ff, 0x1904, 0x33b0, 0x080c, 0x7096, 0x1110, 0x0804, 0x33b0, + 0x0001, 0x0804, 0x48e6, 0x9006, 0x080c, 0x24c2, 0x81ff, 0x1904, + 0x33d0, 0x080c, 0x70ba, 0x11b0, 0x080c, 0x73b9, 0x080c, 0x5cf7, + 0x080c, 0x319a, 0x0118, 0x6130, 0xc18d, 0x6132, 0x080c, 0xbf8f, + 0x0130, 0x080c, 0x70dd, 0x1118, 0x080c, 0x708e, 0x0038, 0x080c, + 0x6feb, 0x0020, 0x080c, 0x5cbc, 0x080c, 0x5bb2, 0x0804, 0x339e, + 0x81ff, 0x1904, 0x33d0, 0x080c, 0x70ba, 0x1110, 0x0804, 0x33d0, 0x6190, 0x81ff, 0x01a8, 0x704f, 0x0000, 0x2001, 0x1d80, 0x2009, 0x0040, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0126, 0x2091, 0x8000, - 0x2039, 0x0001, 0x080c, 0x48c6, 0x701f, 0x337c, 0x012e, 0x0005, + 0x2039, 0x0001, 0x080c, 0x48e6, 0x701f, 0x339c, 0x012e, 0x0005, 0x704f, 0x0001, 0x00d6, 0x2069, 0x1d80, 0x20a9, 0x0040, 0x20e9, 0x0001, 0x20a1, 0x1d80, 0x2019, 0xffff, 0x4304, 0x6558, 0x9588, - 0x317f, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, 0x0002, - 0x2100, 0x9506, 0x01a8, 0x080c, 0x626b, 0x1190, 0xb814, 0x821c, + 0x319f, 0x210d, 0x918c, 0x00ff, 0x216a, 0x900e, 0x2011, 0x0002, + 0x2100, 0x9506, 0x01a8, 0x080c, 0x628f, 0x1190, 0xb814, 0x821c, 0x0238, 0x9398, 0x1d80, 0x9085, 0xff00, 0x8007, 0x201a, 0x0038, 0x9398, 0x1d80, 0x2324, 0x94a4, 0xff00, 0x9405, 0x201a, 0x8210, 0x8108, 0x9182, 0x0080, 0x1208, 0x0c18, 0x8201, 0x8007, 0x2d0c, 0x9105, 0x206a, 0x00de, 0x20a9, 0x0040, 0x20a1, 0x1d80, 0x2099, - 0x1d80, 0x080c, 0x5c27, 0x0804, 0x4245, 0x080c, 0x48ad, 0x0904, - 0x33b3, 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33b0, - 0x080c, 0x5388, 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, 0x0538, - 0x908e, 0x007f, 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, 0x3175, + 0x1d80, 0x080c, 0x5c47, 0x0804, 0x4265, 0x080c, 0x48cd, 0x0904, + 0x33d3, 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33d0, + 0x080c, 0x53a8, 0xd0b4, 0x0558, 0x7884, 0x908e, 0x007e, 0x0538, + 0x908e, 0x007f, 0x0520, 0x908e, 0x0080, 0x0508, 0x080c, 0x3195, 0x1148, 0xb800, 0xd08c, 0x11d8, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x11a8, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, - 0xba11, 0x1120, 0x2009, 0x0003, 0x0804, 0x33b0, 0x7007, 0x0003, - 0x701f, 0x42d3, 0x0005, 0x080c, 0x48ad, 0x0904, 0x33b3, 0x20a9, + 0xba3f, 0x1120, 0x2009, 0x0003, 0x0804, 0x33d0, 0x7007, 0x0003, + 0x701f, 0x42f3, 0x0005, 0x080c, 0x48cd, 0x0904, 0x33d3, 0x20a9, 0x002b, 0xb8b4, 0x20e0, 0xb8b8, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, 0x080c, - 0x0f9f, 0x0070, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x000a, 0x20a0, - 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0f9f, + 0x0fac, 0x0070, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x000a, 0x20a0, + 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0fac, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, - 0x48c6, 0x81ff, 0x1904, 0x33b0, 0x080c, 0x4891, 0x0904, 0x33b3, - 0x080c, 0x64b0, 0x0904, 0x33b0, 0x0058, 0xa878, 0x9005, 0x0120, - 0x2009, 0x0004, 0x0804, 0x33b0, 0xa974, 0xaa94, 0x0804, 0x337e, - 0x080c, 0x5390, 0x0904, 0x337e, 0x701f, 0x431d, 0x7007, 0x0003, - 0x0005, 0x81ff, 0x1904, 0x33b0, 0x7888, 0x908a, 0x1000, 0x1a04, - 0x33b3, 0x080c, 0x48ad, 0x0904, 0x33b3, 0x080c, 0x6666, 0x0120, - 0x080c, 0x666e, 0x1904, 0x33b3, 0x080c, 0x6535, 0x0904, 0x33b0, - 0x2019, 0x0004, 0x900e, 0x080c, 0x64c2, 0x0904, 0x33b0, 0x7984, + 0x48e6, 0x81ff, 0x1904, 0x33d0, 0x080c, 0x48b1, 0x0904, 0x33d3, + 0x080c, 0x64d4, 0x0904, 0x33d0, 0x0058, 0xa878, 0x9005, 0x0120, + 0x2009, 0x0004, 0x0804, 0x33d0, 0xa974, 0xaa94, 0x0804, 0x339e, + 0x080c, 0x53b0, 0x0904, 0x339e, 0x701f, 0x433d, 0x7007, 0x0003, + 0x0005, 0x81ff, 0x1904, 0x33d0, 0x7888, 0x908a, 0x1000, 0x1a04, + 0x33d3, 0x080c, 0x48cd, 0x0904, 0x33d3, 0x080c, 0x668a, 0x0120, + 0x080c, 0x6692, 0x1904, 0x33d3, 0x080c, 0x6559, 0x0904, 0x33d0, + 0x2019, 0x0004, 0x900e, 0x080c, 0x64e6, 0x0904, 0x33d0, 0x7984, 0x7a88, 0x04c9, 0x08a8, 0xa89c, 0x908a, 0x1000, 0x12f8, 0x080c, - 0x48ab, 0x01e0, 0x080c, 0x6666, 0x0118, 0x080c, 0x666e, 0x11b0, - 0x080c, 0x6535, 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, 0x2019, - 0x0004, 0x080c, 0x64c2, 0x2009, 0x0003, 0x0120, 0xa998, 0xaa9c, + 0x48cb, 0x01e0, 0x080c, 0x668a, 0x0118, 0x080c, 0x6692, 0x11b0, + 0x080c, 0x6559, 0x2009, 0x0002, 0x0168, 0x2009, 0x0002, 0x2019, + 0x0004, 0x080c, 0x64e6, 0x2009, 0x0003, 0x0120, 0xa998, 0xaa9c, 0x00d1, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, - 0x080c, 0x5390, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, + 0x080c, 0x53b0, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x9186, 0x00ff, 0x0110, 0x0071, 0x0060, 0x2029, 0x007e, 0x2061, 0x1800, 0x6458, 0x2400, 0x9506, 0x0110, - 0x2508, 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x626b, 0x1138, - 0x2200, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x8146, 0x0005, - 0x81ff, 0x1904, 0x33b0, 0x798c, 0x2001, 0x1950, 0x918c, 0x8000, - 0x2102, 0x080c, 0x4891, 0x0904, 0x33b3, 0x080c, 0x6666, 0x0120, - 0x080c, 0x666e, 0x1904, 0x33b3, 0x080c, 0x6332, 0x0904, 0x33b0, - 0x080c, 0x64b9, 0x0904, 0x33b0, 0x2001, 0x1950, 0x2004, 0xd0fc, - 0x1904, 0x337e, 0x0804, 0x4328, 0xa9a0, 0x2001, 0x1950, 0x918c, - 0x8000, 0xc18d, 0x2102, 0x080c, 0x489e, 0x01a0, 0x080c, 0x6666, - 0x0118, 0x080c, 0x666e, 0x1170, 0x080c, 0x6332, 0x2009, 0x0002, - 0x0128, 0x080c, 0x64b9, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, + 0x2508, 0x0019, 0x8529, 0x1ec8, 0x0005, 0x080c, 0x628f, 0x1138, + 0x2200, 0x8003, 0x800b, 0x810b, 0x9108, 0x080c, 0x817a, 0x0005, + 0x81ff, 0x1904, 0x33d0, 0x798c, 0x2001, 0x1958, 0x918c, 0x8000, + 0x2102, 0x080c, 0x48b1, 0x0904, 0x33d3, 0x080c, 0x668a, 0x0120, + 0x080c, 0x6692, 0x1904, 0x33d3, 0x080c, 0x6356, 0x0904, 0x33d0, + 0x080c, 0x64dd, 0x0904, 0x33d0, 0x2001, 0x1958, 0x2004, 0xd0fc, + 0x1904, 0x339e, 0x0804, 0x4348, 0xa9a0, 0x2001, 0x1958, 0x918c, + 0x8000, 0xc18d, 0x2102, 0x080c, 0x48be, 0x01a0, 0x080c, 0x668a, + 0x0118, 0x080c, 0x6692, 0x1170, 0x080c, 0x6356, 0x2009, 0x0002, + 0x0128, 0x080c, 0x64dd, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, - 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x1950, 0x2004, 0xd0fc, - 0x1128, 0x080c, 0x5390, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, - 0x0001, 0x2001, 0x0000, 0x0005, 0x81ff, 0x1904, 0x33b0, 0x798c, - 0x2001, 0x194f, 0x918c, 0x8000, 0x2102, 0x080c, 0x4891, 0x0904, - 0x33b3, 0x080c, 0x6666, 0x0120, 0x080c, 0x666e, 0x1904, 0x33b3, - 0x080c, 0x6332, 0x0904, 0x33b0, 0x080c, 0x64a7, 0x0904, 0x33b0, - 0x2001, 0x194f, 0x2004, 0xd0fc, 0x1904, 0x337e, 0x0804, 0x4328, - 0xa9a0, 0x2001, 0x194f, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, - 0x489e, 0x01a0, 0x080c, 0x6666, 0x0118, 0x080c, 0x666e, 0x1170, - 0x080c, 0x6332, 0x2009, 0x0002, 0x0128, 0x080c, 0x64a7, 0x1170, + 0x0030, 0x0005, 0xa897, 0x4000, 0x2001, 0x1958, 0x2004, 0xd0fc, + 0x1128, 0x080c, 0x53b0, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, + 0x0001, 0x2001, 0x0000, 0x0005, 0x81ff, 0x1904, 0x33d0, 0x798c, + 0x2001, 0x1957, 0x918c, 0x8000, 0x2102, 0x080c, 0x48b1, 0x0904, + 0x33d3, 0x080c, 0x668a, 0x0120, 0x080c, 0x6692, 0x1904, 0x33d3, + 0x080c, 0x6356, 0x0904, 0x33d0, 0x080c, 0x64cb, 0x0904, 0x33d0, + 0x2001, 0x1957, 0x2004, 0xd0fc, 0x1904, 0x339e, 0x0804, 0x4348, + 0xa9a0, 0x2001, 0x1957, 0x918c, 0x8000, 0xc18d, 0x2102, 0x080c, + 0x48be, 0x01a0, 0x080c, 0x668a, 0x0118, 0x080c, 0x6692, 0x1170, + 0x080c, 0x6356, 0x2009, 0x0002, 0x0128, 0x080c, 0x64cb, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, - 0x2001, 0x194f, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x5390, 0x0110, + 0x2001, 0x1957, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x53b0, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, - 0x6100, 0x0804, 0x337e, 0x080c, 0x48ad, 0x0904, 0x33b3, 0x080c, - 0x539c, 0x1904, 0x33b0, 0x79a8, 0xd184, 0x1158, 0xb834, 0x8007, + 0x6100, 0x0804, 0x339e, 0x080c, 0x48cd, 0x0904, 0x33d3, 0x080c, + 0x53bc, 0x1904, 0x33d0, 0x79a8, 0xd184, 0x1158, 0xb834, 0x8007, 0x789e, 0xb830, 0x8007, 0x789a, 0xbb2c, 0x831f, 0xba28, 0x8217, 0x0050, 0xb824, 0x8007, 0x789e, 0xb820, 0x8007, 0x789a, 0xbb1c, - 0x831f, 0xba18, 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, 0x337e, - 0x78a8, 0x909c, 0x0003, 0xd0b4, 0x1140, 0x939a, 0x0003, 0x1a04, - 0x33b0, 0x6258, 0x7884, 0x9206, 0x1560, 0x2031, 0x1848, 0x2009, - 0x013c, 0x2136, 0x2001, 0x1840, 0x2009, 0x000c, 0x7a8c, 0x7b88, + 0x831f, 0xba18, 0x8217, 0xb900, 0x918c, 0x0200, 0x0804, 0x339e, + 0x78a8, 0x909c, 0x0003, 0xd0ac, 0x1150, 0xd0b4, 0x1140, 0x939a, + 0x0003, 0x1a04, 0x33d0, 0x6258, 0x7884, 0x9206, 0x1550, 0x2031, + 0x1848, 0x2009, 0x013c, 0x2136, 0x2001, 0x1840, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x2039, 0x0001, 0x0006, 0x78a8, 0x9084, 0x0080, - 0x1118, 0x000e, 0x0804, 0x48c6, 0x000e, 0x2031, 0x0000, 0x2061, - 0x18ae, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, - 0xa496, 0xa59a, 0x080c, 0x1117, 0x7007, 0x0002, 0x701f, 0x44e1, - 0x0005, 0x81ff, 0x1904, 0x33b0, 0x080c, 0x48ad, 0x0904, 0x33b3, - 0x080c, 0x6666, 0x1904, 0x33b0, 0x00c6, 0x080c, 0x487a, 0x00ce, - 0x0904, 0x33b0, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7ea8, - 0x080c, 0xb9b7, 0x0904, 0x33b0, 0x7007, 0x0003, 0x701f, 0x44e5, - 0x0005, 0x080c, 0x4053, 0x0804, 0x337e, 0xa830, 0x9086, 0x0100, - 0x0904, 0x33b0, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, + 0x1118, 0x000e, 0x0804, 0x48e6, 0x000e, 0x2031, 0x0000, 0x2061, + 0x18b6, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, 0xa392, + 0xa496, 0xa59a, 0x080c, 0x1124, 0x7007, 0x0002, 0x701f, 0x4501, + 0x0005, 0x81ff, 0x1904, 0x33d0, 0x080c, 0x48cd, 0x0904, 0x33d3, + 0x080c, 0x668a, 0x1904, 0x33d0, 0x00c6, 0x080c, 0x489a, 0x00ce, + 0x0904, 0x33d0, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7ea8, + 0x080c, 0xb9e5, 0x0904, 0x33d0, 0x7007, 0x0003, 0x701f, 0x4505, + 0x0005, 0x080c, 0x4073, 0x0804, 0x339e, 0xa830, 0x9086, 0x0100, + 0x0904, 0x33d0, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x001b, 0x2009, 0x000c, 0x7a8c, 0x7b88, 0x7c9c, - 0x7d98, 0x0804, 0x48c6, 0x9006, 0x080c, 0x24a6, 0x78a8, 0x9084, - 0x00ff, 0x9086, 0x00ff, 0x0118, 0x81ff, 0x1904, 0x33b0, 0x080c, - 0x7096, 0x0110, 0x080c, 0x5c9c, 0x7888, 0x908a, 0x1000, 0x1a04, - 0x33b3, 0x7984, 0x9186, 0x00ff, 0x0138, 0x9182, 0x007f, 0x1a04, - 0x33b3, 0x2100, 0x080c, 0x2470, 0x0026, 0x00c6, 0x0126, 0x2091, - 0x8000, 0x2061, 0x19d3, 0x601b, 0x0000, 0x601f, 0x0000, 0x6073, - 0x0000, 0x6077, 0x0000, 0x080c, 0x7096, 0x1158, 0x080c, 0x7396, - 0x080c, 0x5cd7, 0x9085, 0x0001, 0x080c, 0x70dd, 0x080c, 0x6fc7, - 0x00f0, 0x080c, 0x98bb, 0x080c, 0x9b60, 0x080c, 0x98d7, 0x2061, + 0x7d98, 0x0804, 0x48e6, 0x9006, 0x080c, 0x24c2, 0x78a8, 0x9084, + 0x00ff, 0x9086, 0x00ff, 0x0118, 0x81ff, 0x1904, 0x33d0, 0x080c, + 0x70ba, 0x0110, 0x080c, 0x5cbc, 0x7888, 0x908a, 0x1000, 0x1a04, + 0x33d3, 0x7984, 0x9186, 0x00ff, 0x0138, 0x9182, 0x007f, 0x1a04, + 0x33d3, 0x2100, 0x080c, 0x248c, 0x0026, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x2061, 0x19db, 0x601b, 0x0000, 0x601f, 0x0000, 0x6073, + 0x0000, 0x6077, 0x0000, 0x080c, 0x70ba, 0x1158, 0x080c, 0x73b9, + 0x080c, 0x5cf7, 0x9085, 0x0001, 0x080c, 0x7101, 0x080c, 0x6feb, + 0x00f0, 0x080c, 0x98c7, 0x080c, 0x9b6c, 0x080c, 0x98e3, 0x2061, 0x0100, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x810f, 0x9105, - 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1969, 0x200b, - 0x0000, 0x2009, 0x002d, 0x2011, 0x5bc2, 0x080c, 0x81fc, 0x7984, - 0x080c, 0x7096, 0x1110, 0x2009, 0x00ff, 0x7a88, 0x080c, 0x438b, - 0x012e, 0x00ce, 0x002e, 0x0804, 0x337e, 0x7984, 0x080c, 0x620b, - 0x2b08, 0x1904, 0x33b3, 0x0804, 0x337e, 0x81ff, 0x0120, 0x2009, - 0x0001, 0x0804, 0x33b0, 0x60d8, 0xd0ac, 0x1130, 0xd09c, 0x1120, - 0x2009, 0x0005, 0x0804, 0x33b0, 0x080c, 0x487a, 0x1120, 0x2009, - 0x0002, 0x0804, 0x33b0, 0x7984, 0x9192, 0x0021, 0x1a04, 0x33b3, + 0x604a, 0x6043, 0x0090, 0x6043, 0x0010, 0x2009, 0x1971, 0x200b, + 0x0000, 0x2009, 0x002d, 0x2011, 0x5be2, 0x080c, 0x8230, 0x7984, + 0x080c, 0x70ba, 0x1110, 0x2009, 0x00ff, 0x7a88, 0x080c, 0x43ab, + 0x012e, 0x00ce, 0x002e, 0x0804, 0x339e, 0x7984, 0x080c, 0x622f, + 0x2b08, 0x1904, 0x33d3, 0x0804, 0x339e, 0x81ff, 0x0120, 0x2009, + 0x0001, 0x0804, 0x33d0, 0x60d8, 0xd0ac, 0x1130, 0xd09c, 0x1120, + 0x2009, 0x0005, 0x0804, 0x33d0, 0x080c, 0x489a, 0x1120, 0x2009, + 0x0002, 0x0804, 0x33d0, 0x7984, 0x9192, 0x0021, 0x1a04, 0x33d3, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, 0x702a, - 0xaf60, 0x7736, 0x080c, 0x48c3, 0x701f, 0x459d, 0x7880, 0x9086, - 0x006e, 0x0110, 0x701f, 0x4e3e, 0x0005, 0x2009, 0x0080, 0x080c, - 0x626b, 0x1118, 0x080c, 0x6666, 0x0120, 0x2021, 0x400a, 0x0804, - 0x3380, 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, 0xac74, 0xad78, - 0xae7c, 0xa884, 0x90be, 0x0100, 0x0904, 0x4636, 0x90be, 0x0112, - 0x0904, 0x4636, 0x90be, 0x0113, 0x0904, 0x4636, 0x90be, 0x0114, - 0x0904, 0x4636, 0x90be, 0x0117, 0x0904, 0x4636, 0x90be, 0x011a, - 0x0904, 0x4636, 0x90be, 0x011c, 0x0904, 0x4636, 0x90be, 0x0121, - 0x0904, 0x461d, 0x90be, 0x0131, 0x0904, 0x461d, 0x90be, 0x0171, - 0x0904, 0x4636, 0x90be, 0x0173, 0x0904, 0x4636, 0x90be, 0x01a1, - 0x1128, 0xa894, 0x8007, 0xa896, 0x0804, 0x4641, 0x90be, 0x0212, - 0x0904, 0x462a, 0x90be, 0x0213, 0x05e8, 0x90be, 0x0214, 0x0500, + 0xaf60, 0x7736, 0x080c, 0x48e3, 0x701f, 0x45bd, 0x7880, 0x9086, + 0x006e, 0x0110, 0x701f, 0x4e5e, 0x0005, 0x2009, 0x0080, 0x080c, + 0x628f, 0x1118, 0x080c, 0x668a, 0x0120, 0x2021, 0x400a, 0x0804, + 0x33a0, 0x00d6, 0x0096, 0xa964, 0xaa6c, 0xab70, 0xac74, 0xad78, + 0xae7c, 0xa884, 0x90be, 0x0100, 0x0904, 0x4656, 0x90be, 0x0112, + 0x0904, 0x4656, 0x90be, 0x0113, 0x0904, 0x4656, 0x90be, 0x0114, + 0x0904, 0x4656, 0x90be, 0x0117, 0x0904, 0x4656, 0x90be, 0x011a, + 0x0904, 0x4656, 0x90be, 0x011c, 0x0904, 0x4656, 0x90be, 0x0121, + 0x0904, 0x463d, 0x90be, 0x0131, 0x0904, 0x463d, 0x90be, 0x0171, + 0x0904, 0x4656, 0x90be, 0x0173, 0x0904, 0x4656, 0x90be, 0x01a1, + 0x1128, 0xa894, 0x8007, 0xa896, 0x0804, 0x4661, 0x90be, 0x0212, + 0x0904, 0x464a, 0x90be, 0x0213, 0x05e8, 0x90be, 0x0214, 0x0500, 0x90be, 0x0217, 0x0188, 0x90be, 0x021a, 0x1120, 0xa89c, 0x8007, 0xa89e, 0x04e0, 0x90be, 0x021f, 0x05c8, 0x90be, 0x0300, 0x05b0, - 0x009e, 0x00de, 0x0804, 0x33b3, 0x7028, 0x9080, 0x0010, 0x2098, - 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0007, 0x080c, 0x467f, + 0x009e, 0x00de, 0x0804, 0x33d3, 0x7028, 0x9080, 0x0010, 0x2098, + 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0007, 0x080c, 0x469f, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, - 0x20a9, 0x0001, 0x080c, 0x467f, 0x00c8, 0x7028, 0x9080, 0x000c, + 0x20a9, 0x0001, 0x080c, 0x469f, 0x00c8, 0x7028, 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, - 0x468c, 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, - 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x468c, 0x7028, 0x9080, + 0x46ac, 0x00b8, 0x7028, 0x9080, 0x000e, 0x2098, 0x20a0, 0x7034, + 0x20e0, 0x20e8, 0x20a9, 0x0001, 0x080c, 0x46ac, 0x7028, 0x9080, 0x000c, 0x2098, 0x20a0, 0x7034, 0x20e0, 0x20e8, 0x20a9, 0x0001, - 0x04f1, 0x00c6, 0x080c, 0x487a, 0x0550, 0xa868, 0xc0fd, 0xa86a, + 0x04f1, 0x00c6, 0x080c, 0x489a, 0x0550, 0xa868, 0xc0fd, 0xa86a, 0xa867, 0x0119, 0x9006, 0xa882, 0xa87f, 0x0020, 0xa88b, 0x0001, 0x810b, 0xa9ae, 0xa8b2, 0xaab6, 0xabba, 0xacbe, 0xadc2, 0xa9c6, 0xa8ca, 0x00ce, 0x009e, 0x00de, 0xa866, 0xa822, 0xa868, 0xc0fd, - 0xa86a, 0xa804, 0x2048, 0x080c, 0xb9d2, 0x1120, 0x2009, 0x0003, - 0x0804, 0x33b0, 0x7007, 0x0003, 0x701f, 0x4676, 0x0005, 0x00ce, - 0x009e, 0x00de, 0x2009, 0x0002, 0x0804, 0x33b0, 0xa820, 0x9086, - 0x8001, 0x1904, 0x337e, 0x2009, 0x0004, 0x0804, 0x33b0, 0x0016, + 0xa86a, 0xa804, 0x2048, 0x080c, 0xba00, 0x1120, 0x2009, 0x0003, + 0x0804, 0x33d0, 0x7007, 0x0003, 0x701f, 0x4696, 0x0005, 0x00ce, + 0x009e, 0x00de, 0x2009, 0x0002, 0x0804, 0x33d0, 0xa820, 0x9086, + 0x8001, 0x1904, 0x339e, 0x2009, 0x0004, 0x0804, 0x33d0, 0x0016, 0x0026, 0x3510, 0x20a9, 0x0002, 0x4002, 0x4104, 0x4004, 0x8211, 0x1dc8, 0x002e, 0x001e, 0x0005, 0x0016, 0x0026, 0x0036, 0x0046, 0x3520, 0x20a9, 0x0004, 0x4002, 0x4304, 0x4204, 0x4104, 0x4004, 0x8421, 0x1db8, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x81ff, - 0x0120, 0x2009, 0x0001, 0x0804, 0x33b0, 0x60d8, 0xd0ac, 0x1160, - 0xd09c, 0x0120, 0x2009, 0x0016, 0x0804, 0x33b0, 0xd09c, 0x1120, - 0x2009, 0x0005, 0x0804, 0x33b0, 0x7984, 0x78a8, 0x2040, 0x080c, - 0x9b59, 0x1120, 0x9182, 0x007f, 0x0a04, 0x33b3, 0x9186, 0x00ff, - 0x0904, 0x33b3, 0x9182, 0x0800, 0x1a04, 0x33b3, 0x7a8c, 0x7b88, - 0x6078, 0x9306, 0x1158, 0x607c, 0x924e, 0x0904, 0x33b3, 0x080c, - 0x9b59, 0x1120, 0x99cc, 0xff00, 0x0904, 0x33b3, 0x0126, 0x2091, - 0x8000, 0x0026, 0x2011, 0x8008, 0x080c, 0x668a, 0x002e, 0x0140, - 0x918d, 0x8000, 0x080c, 0x66d4, 0x1118, 0x2001, 0x4009, 0x0458, - 0x080c, 0x4794, 0x0560, 0x90c6, 0x4000, 0x1170, 0x00c6, 0x0006, - 0x900e, 0x080c, 0x655e, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, + 0x0120, 0x2009, 0x0001, 0x0804, 0x33d0, 0x60d8, 0xd0ac, 0x1160, + 0xd09c, 0x0120, 0x2009, 0x0016, 0x0804, 0x33d0, 0xd09c, 0x1120, + 0x2009, 0x0005, 0x0804, 0x33d0, 0x7984, 0x78a8, 0x2040, 0x080c, + 0x9b65, 0x1120, 0x9182, 0x007f, 0x0a04, 0x33d3, 0x9186, 0x00ff, + 0x0904, 0x33d3, 0x9182, 0x0800, 0x1a04, 0x33d3, 0x7a8c, 0x7b88, + 0x6078, 0x9306, 0x1158, 0x607c, 0x924e, 0x0904, 0x33d3, 0x080c, + 0x9b65, 0x1120, 0x99cc, 0xff00, 0x0904, 0x33d3, 0x0126, 0x2091, + 0x8000, 0x0026, 0x2011, 0x8008, 0x080c, 0x66ae, 0x002e, 0x0140, + 0x918d, 0x8000, 0x080c, 0x66f8, 0x1118, 0x2001, 0x4009, 0x0458, + 0x080c, 0x47b4, 0x0560, 0x90c6, 0x4000, 0x1170, 0x00c6, 0x0006, + 0x900e, 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x000e, 0x00ce, 0x00b8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x0090, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, 0x0060, 0x90c6, 0x4009, 0x1108, 0x0040, 0x90c6, 0x4006, 0x1108, 0x0020, 0x2001, - 0x4005, 0x2009, 0x000a, 0x2020, 0x012e, 0x0804, 0x3380, 0x2b00, - 0x7026, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, 0x080c, 0x9c49, - 0x0904, 0x4761, 0x2b00, 0x6012, 0x080c, 0xbcdb, 0x2e58, 0x00ee, - 0x00e6, 0x00c6, 0x080c, 0x487a, 0x00ce, 0x2b70, 0x1158, 0x080c, - 0x9bda, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x2009, 0x0002, - 0x0804, 0x33b0, 0x900e, 0xa966, 0xa96a, 0x2900, 0x6016, 0xa932, - 0xa868, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0xa86a, 0x080c, 0x300e, - 0x6023, 0x0001, 0x9006, 0x080c, 0x61a8, 0x2001, 0x0002, 0x080c, - 0x61bc, 0x2009, 0x0002, 0x080c, 0x9c76, 0x78a8, 0xd094, 0x0138, + 0x4005, 0x2009, 0x000a, 0x2020, 0x012e, 0x0804, 0x33a0, 0x2b00, + 0x7026, 0x0016, 0x00b6, 0x00c6, 0x00e6, 0x2c70, 0x080c, 0x9c55, + 0x0904, 0x4781, 0x2b00, 0x6012, 0x080c, 0xbd09, 0x2e58, 0x00ee, + 0x00e6, 0x00c6, 0x080c, 0x489a, 0x00ce, 0x2b70, 0x1158, 0x080c, + 0x9be6, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x2009, 0x0002, + 0x0804, 0x33d0, 0x900e, 0xa966, 0xa96a, 0x2900, 0x6016, 0xa932, + 0xa868, 0xc0fd, 0xd88c, 0x0108, 0xc0f5, 0xa86a, 0x080c, 0x302e, + 0x6023, 0x0001, 0x9006, 0x080c, 0x61cc, 0x2001, 0x0002, 0x080c, + 0x61e0, 0x2009, 0x0002, 0x080c, 0x9c82, 0x78a8, 0xd094, 0x0138, 0x00ee, 0x7024, 0x00e6, 0x2058, 0xb8c4, 0xc08d, 0xb8c6, 0x9085, 0x0001, 0x00ee, 0x00ce, 0x00be, 0x001e, 0x012e, 0x1120, 0x2009, - 0x0003, 0x0804, 0x33b0, 0x7007, 0x0003, 0x701f, 0x4770, 0x0005, + 0x0003, 0x0804, 0x33d0, 0x7007, 0x0003, 0x701f, 0x4790, 0x0005, 0xa830, 0x2008, 0x918e, 0xdead, 0x1120, 0x2021, 0x4009, 0x0804, - 0x3380, 0x9086, 0x0100, 0x7024, 0x2058, 0x1138, 0x2009, 0x0004, - 0xba04, 0x9294, 0x00ff, 0x0804, 0x52e5, 0x900e, 0xa868, 0xd0f4, - 0x1904, 0x337e, 0x080c, 0x655e, 0x1108, 0xc185, 0xb800, 0xd0bc, - 0x0108, 0xc18d, 0x0804, 0x337e, 0x00e6, 0x00d6, 0x0096, 0x83ff, - 0x0904, 0x47dc, 0x902e, 0x080c, 0x9b59, 0x0130, 0x9026, 0x20a9, + 0x33a0, 0x9086, 0x0100, 0x7024, 0x2058, 0x1138, 0x2009, 0x0004, + 0xba04, 0x9294, 0x00ff, 0x0804, 0x5305, 0x900e, 0xa868, 0xd0f4, + 0x1904, 0x339e, 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0x0804, 0x339e, 0x00e6, 0x00d6, 0x0096, 0x83ff, + 0x0904, 0x47fc, 0x902e, 0x080c, 0x9b65, 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, 0x007f, 0x20a9, 0x0781, 0x2071, 0x107f, 0x2e04, 0x9005, 0x11b0, 0x2100, 0x9406, 0x15e8, 0x2428, 0x94ce, 0x007f, 0x1120, 0x92ce, 0xfffd, 0x1528, 0x0030, 0x94ce, 0x0080, 0x1130, 0x92ce, 0xfffc, 0x11f0, 0x93ce, 0x00ff, 0x11d8, 0xc5fd, 0x0450, 0x2058, 0xbf10, 0x2700, 0x9306, 0x11b8, 0xbe14, 0x2600, 0x9206, 0x1198, 0x2400, 0x9106, 0x1150, 0xd884, - 0x0568, 0xd894, 0x1558, 0x080c, 0x6666, 0x1540, 0x2001, 0x4000, + 0x0568, 0xd894, 0x1558, 0x080c, 0x668a, 0x1540, 0x2001, 0x4000, 0x0430, 0x2001, 0x4007, 0x0418, 0x2001, 0x4006, 0x0400, 0x2400, 0x9106, 0x1158, 0xbe14, 0x87ff, 0x1128, 0x86ff, 0x0948, 0x080c, - 0x9b59, 0x1930, 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, - 0x47aa, 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, - 0x0030, 0x080c, 0x620b, 0x1dd0, 0xbb12, 0xba16, 0x9006, 0x9005, + 0x9b65, 0x1930, 0x2001, 0x4008, 0x0090, 0x8420, 0x8e70, 0x1f04, + 0x47ca, 0x85ff, 0x1130, 0x2001, 0x4009, 0x0048, 0x2001, 0x0001, + 0x0030, 0x080c, 0x622f, 0x1dd0, 0xbb12, 0xba16, 0x9006, 0x9005, 0x009e, 0x00de, 0x00ee, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x33b0, 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, 0x0804, - 0x33b0, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7884, 0x9005, - 0x0904, 0x33b3, 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, 0x1a04, - 0x33b3, 0x2010, 0x2918, 0x080c, 0x2fae, 0x1120, 0x2009, 0x0003, - 0x0804, 0x33b0, 0x7007, 0x0003, 0x701f, 0x482f, 0x0005, 0xa830, - 0x9086, 0x0100, 0x1904, 0x337e, 0x2009, 0x0004, 0x0804, 0x33b0, - 0x7984, 0x080c, 0x9b59, 0x1120, 0x9182, 0x007f, 0x0a04, 0x33b3, - 0x9186, 0x00ff, 0x0904, 0x33b3, 0x9182, 0x0800, 0x1a04, 0x33b3, - 0x2001, 0x9000, 0x080c, 0x5340, 0x1904, 0x33b0, 0x0804, 0x337e, - 0xa998, 0x080c, 0x9b59, 0x1118, 0x9182, 0x007f, 0x0280, 0x9186, + 0x0804, 0x33d0, 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, 0x0804, + 0x33d0, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x7884, 0x9005, + 0x0904, 0x33d3, 0x9096, 0x00ff, 0x0120, 0x9092, 0x0004, 0x1a04, + 0x33d3, 0x2010, 0x2918, 0x080c, 0x2fce, 0x1120, 0x2009, 0x0003, + 0x0804, 0x33d0, 0x7007, 0x0003, 0x701f, 0x484f, 0x0005, 0xa830, + 0x9086, 0x0100, 0x1904, 0x339e, 0x2009, 0x0004, 0x0804, 0x33d0, + 0x7984, 0x080c, 0x9b65, 0x1120, 0x9182, 0x007f, 0x0a04, 0x33d3, + 0x9186, 0x00ff, 0x0904, 0x33d3, 0x9182, 0x0800, 0x1a04, 0x33d3, + 0x2001, 0x9000, 0x080c, 0x5360, 0x1904, 0x33d0, 0x0804, 0x339e, + 0xa998, 0x080c, 0x9b65, 0x1118, 0x9182, 0x007f, 0x0280, 0x9186, 0x00ff, 0x0168, 0x9182, 0x0800, 0x1250, 0x2001, 0x9000, 0x080c, - 0x5340, 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, + 0x5360, 0x11a8, 0x0060, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, 0x0005, 0x2009, - 0x000a, 0x0c48, 0x080c, 0x1022, 0x0198, 0x9006, 0xa802, 0x7014, + 0x000a, 0x0c48, 0x080c, 0x102f, 0x0198, 0x9006, 0xa802, 0x7014, 0x9005, 0x1120, 0x2900, 0x7016, 0x701a, 0x0040, 0x7018, 0xa802, 0x0086, 0x2040, 0x2900, 0xa006, 0x701a, 0x008e, 0x9085, 0x0001, - 0x0005, 0x7984, 0x080c, 0x626b, 0x1130, 0x7e88, 0x9684, 0x3fff, + 0x0005, 0x7984, 0x080c, 0x628f, 0x1130, 0x7e88, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xa998, 0x080c, - 0x626b, 0x1130, 0xae9c, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, + 0x628f, 0x1130, 0xae9c, 0x9684, 0x3fff, 0x9082, 0x4000, 0x0208, 0x905e, 0x8bff, 0x0005, 0xae98, 0x0008, 0x7e84, 0x2608, 0x080c, - 0x626b, 0x1108, 0x0008, 0x905e, 0x8bff, 0x0005, 0x0016, 0x7114, - 0x81ff, 0x0128, 0x2148, 0xa904, 0x080c, 0x1054, 0x0cc8, 0x7116, + 0x628f, 0x1108, 0x0008, 0x905e, 0x8bff, 0x0005, 0x0016, 0x7114, + 0x81ff, 0x0128, 0x2148, 0xa904, 0x080c, 0x1061, 0x0cc8, 0x7116, 0x711a, 0x001e, 0x0005, 0x2031, 0x0001, 0x0010, 0x2031, 0x0000, - 0x2061, 0x18ae, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, - 0xa392, 0xa496, 0xa59a, 0x080c, 0x1117, 0x7007, 0x0002, 0x701f, - 0x337e, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0000, - 0x2001, 0x18a6, 0x2004, 0x9005, 0x1190, 0x0e04, 0x48f7, 0x7a36, + 0x2061, 0x18b6, 0x2c44, 0xa66a, 0xa17a, 0xa772, 0xa076, 0xa28e, + 0xa392, 0xa496, 0xa59a, 0x080c, 0x1124, 0x7007, 0x0002, 0x701f, + 0x339e, 0x0005, 0x00f6, 0x0126, 0x2091, 0x8000, 0x2079, 0x0000, + 0x2001, 0x18ae, 0x2004, 0x9005, 0x1190, 0x0e04, 0x4917, 0x7a36, 0x7833, 0x0012, 0x7a82, 0x7b86, 0x7c8a, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x0804, 0x495d, 0x0016, - 0x0086, 0x0096, 0x00c6, 0x00e6, 0x2071, 0x1894, 0x7044, 0x9005, + 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x0804, 0x497d, 0x0016, + 0x0086, 0x0096, 0x00c6, 0x00e6, 0x2071, 0x189c, 0x7044, 0x9005, 0x1540, 0x7148, 0x9182, 0x0010, 0x0288, 0x7038, 0x2060, 0x080c, - 0x1022, 0x0904, 0x4955, 0xa84b, 0x0000, 0x2900, 0x7046, 0x2001, - 0x0002, 0x9080, 0x1d04, 0x2005, 0xa846, 0x0098, 0x7038, 0x90e0, - 0x0004, 0x2001, 0x18b0, 0x9c82, 0x18f0, 0x0210, 0x2061, 0x18b0, + 0x102f, 0x0904, 0x4975, 0xa84b, 0x0000, 0x2900, 0x7046, 0x2001, + 0x0002, 0x9080, 0x1d1c, 0x2005, 0xa846, 0x0098, 0x7038, 0x90e0, + 0x0004, 0x2001, 0x18b8, 0x9c82, 0x18f8, 0x0210, 0x2061, 0x18b8, 0x2c00, 0x703a, 0x7148, 0x81ff, 0x1108, 0x703e, 0x8108, 0x714a, 0x0460, 0x7148, 0x8108, 0x714a, 0x7044, 0x2040, 0xa144, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0d65, 0x2060, 0x001e, 0x8108, - 0x2105, 0x9005, 0xa146, 0x1520, 0x080c, 0x1022, 0x1130, 0x8109, + 0x2105, 0x9005, 0xa146, 0x1520, 0x080c, 0x102f, 0x1130, 0x8109, 0xa946, 0x7148, 0x8109, 0x714a, 0x00d8, 0x9006, 0xa806, 0xa84a, 0xa046, 0x2800, 0xa802, 0x2900, 0xa006, 0x7046, 0x2001, 0x0002, - 0x9080, 0x1d04, 0x2005, 0xa846, 0x0058, 0x2262, 0x6306, 0x640a, + 0x9080, 0x1d1c, 0x2005, 0xa846, 0x0058, 0x2262, 0x6306, 0x640a, 0x00ee, 0x00ce, 0x009e, 0x008e, 0x001e, 0x012e, 0x00fe, 0x0005, - 0x2c00, 0x9082, 0x001b, 0x0002, 0x497f, 0x497f, 0x4981, 0x497f, - 0x497f, 0x497f, 0x4985, 0x497f, 0x497f, 0x497f, 0x4989, 0x497f, - 0x497f, 0x497f, 0x498d, 0x497f, 0x497f, 0x497f, 0x4991, 0x497f, - 0x497f, 0x497f, 0x4995, 0x497f, 0x497f, 0x497f, 0x499a, 0x080c, + 0x2c00, 0x9082, 0x001b, 0x0002, 0x499f, 0x499f, 0x49a1, 0x499f, + 0x499f, 0x499f, 0x49a5, 0x499f, 0x499f, 0x499f, 0x49a9, 0x499f, + 0x499f, 0x499f, 0x49ad, 0x499f, 0x499f, 0x499f, 0x49b1, 0x499f, + 0x499f, 0x499f, 0x49b5, 0x499f, 0x499f, 0x499f, 0x49ba, 0x080c, 0x0d65, 0xa276, 0xa37a, 0xa47e, 0x0898, 0xa286, 0xa38a, 0xa48e, 0x0878, 0xa296, 0xa39a, 0xa49e, 0x0858, 0xa2a6, 0xa3aa, 0xa4ae, 0x0838, 0xa2b6, 0xa3ba, 0xa4be, 0x0818, 0xa2c6, 0xa3ca, 0xa4ce, - 0x0804, 0x4958, 0xa2d6, 0xa3da, 0xa4de, 0x0804, 0x4958, 0x00e6, - 0x2071, 0x1894, 0x7048, 0x9005, 0x0904, 0x4a31, 0x0126, 0x2091, - 0x8000, 0x0e04, 0x4a30, 0x00f6, 0x2079, 0x0000, 0x00c6, 0x0096, + 0x0804, 0x4978, 0xa2d6, 0xa3da, 0xa4de, 0x0804, 0x4978, 0x00e6, + 0x2071, 0x189c, 0x7048, 0x9005, 0x0904, 0x4a51, 0x0126, 0x2091, + 0x8000, 0x0e04, 0x4a50, 0x00f6, 0x2079, 0x0000, 0x00c6, 0x0096, 0x0086, 0x0076, 0x9006, 0x2038, 0x7040, 0x2048, 0x9005, 0x0500, 0xa948, 0x2105, 0x0016, 0x908a, 0x0036, 0x1a0c, 0x0d65, 0x2060, - 0x001e, 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, 0x4a33, 0xa804, + 0x001e, 0x8108, 0x2105, 0x9005, 0xa94a, 0x1904, 0x4a53, 0xa804, 0x9005, 0x090c, 0x0d65, 0x7042, 0x2938, 0x2040, 0xa003, 0x0000, - 0x2001, 0x0002, 0x9080, 0x1d04, 0x2005, 0xa04a, 0x0804, 0x4a33, + 0x2001, 0x0002, 0x9080, 0x1d1c, 0x2005, 0xa04a, 0x0804, 0x4a53, 0x703c, 0x2060, 0x2c14, 0x6304, 0x6408, 0x650c, 0x2200, 0x7836, 0x7833, 0x0012, 0x7882, 0x2300, 0x7886, 0x2400, 0x788a, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x87ff, - 0x0118, 0x2748, 0x080c, 0x1054, 0x7048, 0x8001, 0x704a, 0x9005, - 0x1170, 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, 0x1054, 0x9006, - 0x7042, 0x7046, 0x703b, 0x18b0, 0x703f, 0x18b0, 0x0420, 0x7040, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x87ff, + 0x0118, 0x2748, 0x080c, 0x1061, 0x7048, 0x8001, 0x704a, 0x9005, + 0x1170, 0x7040, 0x2048, 0x9005, 0x0128, 0x080c, 0x1061, 0x9006, + 0x7042, 0x7046, 0x703b, 0x18b8, 0x703f, 0x18b8, 0x0420, 0x7040, 0x9005, 0x1508, 0x7238, 0x2c00, 0x9206, 0x0148, 0x9c80, 0x0004, - 0x90fa, 0x18f0, 0x0210, 0x2001, 0x18b0, 0x703e, 0x00a0, 0x9006, + 0x90fa, 0x18f8, 0x0210, 0x2001, 0x18b8, 0x703e, 0x00a0, 0x9006, 0x703e, 0x703a, 0x7044, 0x9005, 0x090c, 0x0d65, 0x2048, 0xa800, - 0x9005, 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, 0x9080, 0x1d04, + 0x9005, 0x1de0, 0x2900, 0x7042, 0x2001, 0x0002, 0x9080, 0x1d1c, 0x2005, 0xa84a, 0x0000, 0x007e, 0x008e, 0x009e, 0x00ce, 0x00fe, - 0x012e, 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4a52, - 0x4a52, 0x4a54, 0x4a52, 0x4a52, 0x4a52, 0x4a59, 0x4a52, 0x4a52, - 0x4a52, 0x4a5e, 0x4a52, 0x4a52, 0x4a52, 0x4a63, 0x4a52, 0x4a52, - 0x4a52, 0x4a68, 0x4a52, 0x4a52, 0x4a52, 0x4a6d, 0x4a52, 0x4a52, - 0x4a52, 0x4a72, 0x080c, 0x0d65, 0xaa74, 0xab78, 0xac7c, 0x0804, - 0x49de, 0xaa84, 0xab88, 0xac8c, 0x0804, 0x49de, 0xaa94, 0xab98, - 0xac9c, 0x0804, 0x49de, 0xaaa4, 0xaba8, 0xacac, 0x0804, 0x49de, - 0xaab4, 0xabb8, 0xacbc, 0x0804, 0x49de, 0xaac4, 0xabc8, 0xaccc, - 0x0804, 0x49de, 0xaad4, 0xabd8, 0xacdc, 0x0804, 0x49de, 0x0026, - 0x080c, 0x5388, 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x48da, - 0x002e, 0x0005, 0x81ff, 0x1904, 0x33b0, 0x0126, 0x2091, 0x8000, - 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, 0x7096, 0x1158, - 0x080c, 0x7396, 0x080c, 0x5cd7, 0x9085, 0x0001, 0x080c, 0x70dd, - 0x080c, 0x6fc7, 0x0010, 0x080c, 0x5b92, 0x012e, 0x0804, 0x337e, - 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x33b0, 0x080c, 0x539c, - 0x0120, 0x2009, 0x0007, 0x0804, 0x33b0, 0x080c, 0x665e, 0x0120, - 0x2009, 0x0008, 0x0804, 0x33b0, 0x0026, 0x2011, 0x0010, 0x080c, - 0x668a, 0x002e, 0x0140, 0x7984, 0x080c, 0x66d4, 0x1120, 0x2009, - 0x4009, 0x0804, 0x33b0, 0x7984, 0x080c, 0x620b, 0x1904, 0x33b3, - 0x2b00, 0x7026, 0x080c, 0x6666, 0x7888, 0x1170, 0x9084, 0x0005, - 0x1158, 0x900e, 0x080c, 0x655e, 0x1108, 0xc185, 0xb800, 0xd0bc, - 0x0108, 0xc18d, 0x0804, 0x337e, 0x080c, 0x487a, 0x0904, 0x33b0, - 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xba79, - 0x0904, 0x33b0, 0x7888, 0xd094, 0x0118, 0xb8c4, 0xc08d, 0xb8c6, - 0x7007, 0x0003, 0x701f, 0x4b41, 0x0005, 0x2061, 0x1800, 0x080c, - 0x539c, 0x2009, 0x0007, 0x1578, 0x080c, 0x665e, 0x0118, 0x2009, - 0x0008, 0x0448, 0x080c, 0x3175, 0x0120, 0xa998, 0x080c, 0x620b, - 0x1530, 0x080c, 0x48ab, 0x0518, 0x080c, 0x6666, 0xa89c, 0x1168, - 0x9084, 0x0005, 0x1150, 0x900e, 0x080c, 0x655e, 0x1108, 0xc185, + 0x012e, 0x00ee, 0x0005, 0x2c00, 0x9082, 0x001b, 0x0002, 0x4a72, + 0x4a72, 0x4a74, 0x4a72, 0x4a72, 0x4a72, 0x4a79, 0x4a72, 0x4a72, + 0x4a72, 0x4a7e, 0x4a72, 0x4a72, 0x4a72, 0x4a83, 0x4a72, 0x4a72, + 0x4a72, 0x4a88, 0x4a72, 0x4a72, 0x4a72, 0x4a8d, 0x4a72, 0x4a72, + 0x4a72, 0x4a92, 0x080c, 0x0d65, 0xaa74, 0xab78, 0xac7c, 0x0804, + 0x49fe, 0xaa84, 0xab88, 0xac8c, 0x0804, 0x49fe, 0xaa94, 0xab98, + 0xac9c, 0x0804, 0x49fe, 0xaaa4, 0xaba8, 0xacac, 0x0804, 0x49fe, + 0xaab4, 0xabb8, 0xacbc, 0x0804, 0x49fe, 0xaac4, 0xabc8, 0xaccc, + 0x0804, 0x49fe, 0xaad4, 0xabd8, 0xacdc, 0x0804, 0x49fe, 0x0026, + 0x080c, 0x53a8, 0xd0c4, 0x0120, 0x2011, 0x8014, 0x080c, 0x48fa, + 0x002e, 0x0005, 0x81ff, 0x1904, 0x33d0, 0x0126, 0x2091, 0x8000, + 0x6030, 0xc08d, 0xc085, 0xc0ac, 0x6032, 0x080c, 0x70ba, 0x1158, + 0x080c, 0x73b9, 0x080c, 0x5cf7, 0x9085, 0x0001, 0x080c, 0x7101, + 0x080c, 0x6feb, 0x0010, 0x080c, 0x5bb2, 0x012e, 0x0804, 0x339e, + 0x81ff, 0x0120, 0x2009, 0x0001, 0x0804, 0x33d0, 0x080c, 0x53bc, + 0x0120, 0x2009, 0x0007, 0x0804, 0x33d0, 0x080c, 0x6682, 0x0120, + 0x2009, 0x0008, 0x0804, 0x33d0, 0x0026, 0x2011, 0x0010, 0x080c, + 0x66ae, 0x002e, 0x0140, 0x7984, 0x080c, 0x66f8, 0x1120, 0x2009, + 0x4009, 0x0804, 0x33d0, 0x7984, 0x080c, 0x622f, 0x1904, 0x33d3, + 0x2b00, 0x7026, 0x080c, 0x668a, 0x7888, 0x1170, 0x9084, 0x0005, + 0x1158, 0x900e, 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0x0804, 0x339e, 0x080c, 0x489a, 0x0904, 0x33d0, + 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbaa7, + 0x0904, 0x33d0, 0x7888, 0xd094, 0x0118, 0xb8c4, 0xc08d, 0xb8c6, + 0x7007, 0x0003, 0x701f, 0x4b61, 0x0005, 0x2061, 0x1800, 0x080c, + 0x53bc, 0x2009, 0x0007, 0x1578, 0x080c, 0x6682, 0x0118, 0x2009, + 0x0008, 0x0448, 0x080c, 0x3195, 0x0120, 0xa998, 0x080c, 0x622f, + 0x1530, 0x080c, 0x48cb, 0x0518, 0x080c, 0x668a, 0xa89c, 0x1168, + 0x9084, 0x0005, 0x1150, 0x900e, 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x00d0, 0xa868, 0xc0fc, 0xa86a, - 0x080c, 0xba79, 0x11e0, 0xa89c, 0xd094, 0x0118, 0xb8c4, 0xc08d, + 0x080c, 0xbaa7, 0x11e0, 0xa89c, 0xd094, 0x0118, 0xb8c4, 0xc08d, 0xb8c6, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, 0x4000, 0xa99a, 0x9006, 0x918d, 0x0001, 0x2008, 0x0005, 0x9006, 0x0005, 0xa830, 0x2008, 0x918e, 0xdead, 0x1120, 0x2021, 0x4009, - 0x0804, 0x3380, 0x9086, 0x0100, 0x7024, 0x2058, 0x1110, 0x0804, - 0x52e5, 0x900e, 0x080c, 0x655e, 0x1108, 0xc185, 0xb800, 0xd0bc, - 0x0108, 0xc18d, 0x0804, 0x337e, 0x080c, 0x539c, 0x0120, 0x2009, - 0x0007, 0x0804, 0x33b0, 0x7f84, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, - 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33b0, 0x900e, + 0x0804, 0x33a0, 0x9086, 0x0100, 0x7024, 0x2058, 0x1110, 0x0804, + 0x5305, 0x900e, 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0x0804, 0x339e, 0x080c, 0x53bc, 0x0120, 0x2009, + 0x0007, 0x0804, 0x33d0, 0x7f84, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, + 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, 0x0804, 0x33d0, 0x900e, 0x2130, 0x7126, 0x7132, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, - 0x0005, 0x702a, 0x20a0, 0x080c, 0x626b, 0x1904, 0x4bdf, 0x080c, - 0x6666, 0x0120, 0x080c, 0x666e, 0x1904, 0x4bdf, 0x080c, 0x665e, - 0x1130, 0x080c, 0x655e, 0x1118, 0xd79c, 0x0904, 0x4bdf, 0xd794, + 0x0005, 0x702a, 0x20a0, 0x080c, 0x628f, 0x1904, 0x4bff, 0x080c, + 0x668a, 0x0120, 0x080c, 0x6692, 0x1904, 0x4bff, 0x080c, 0x6682, + 0x1130, 0x080c, 0x6582, 0x1118, 0xd79c, 0x0904, 0x4bff, 0xd794, 0x1110, 0xd784, 0x01a8, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, 0x3400, 0xd794, 0x0160, 0x20a9, 0x0008, 0x4003, 0x2098, - 0x20a0, 0x3d00, 0x20e0, 0x20a9, 0x0002, 0x080c, 0x468c, 0x0048, + 0x20a0, 0x3d00, 0x20e0, 0x20a9, 0x0002, 0x080c, 0x46ac, 0x0048, 0x20a9, 0x0004, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, - 0x468c, 0x4104, 0xd794, 0x0528, 0xb8b4, 0x20e0, 0xb8b8, 0x2060, + 0x46ac, 0x4104, 0xd794, 0x0528, 0xb8b4, 0x20e0, 0xb8b8, 0x2060, 0x9c80, 0x0000, 0x2098, 0x20a9, 0x0002, 0x4003, 0x9c80, 0x0003, 0x2098, 0x20a9, 0x0001, 0x4005, 0x9c80, 0x0004, 0x2098, 0x3400, 0x20a9, 0x0002, 0x4003, 0x2098, 0x20a0, 0x3d00, 0x20e0, 0x080c, - 0x467f, 0x9c80, 0x0026, 0x2098, 0xb8b4, 0x20e0, 0x20a9, 0x0002, + 0x469f, 0x9c80, 0x0026, 0x2098, 0xb8b4, 0x20e0, 0x20a9, 0x0002, 0x4003, 0xd794, 0x0110, 0x96b0, 0x000b, 0x96b0, 0x0005, 0x8108, - 0x080c, 0x9b59, 0x0118, 0x9186, 0x0800, 0x0040, 0xd78c, 0x0120, + 0x080c, 0x9b65, 0x0118, 0x9186, 0x0800, 0x0040, 0xd78c, 0x0120, 0x9186, 0x0800, 0x0170, 0x0018, 0x9186, 0x007e, 0x0150, 0xd794, 0x0118, 0x9686, 0x0020, 0x0010, 0x9686, 0x0028, 0x0150, 0x0804, - 0x4b7b, 0x86ff, 0x1120, 0x7124, 0x810b, 0x0804, 0x337e, 0x7033, - 0x0001, 0x7122, 0x7024, 0x9600, 0x7026, 0x772e, 0x2061, 0x18ae, + 0x4b9b, 0x86ff, 0x1120, 0x7124, 0x810b, 0x0804, 0x339e, 0x7033, + 0x0001, 0x7122, 0x7024, 0x9600, 0x7026, 0x772e, 0x2061, 0x18b6, 0x2c44, 0xa06b, 0x0000, 0xa67a, 0x7034, 0xa072, 0x7028, 0xa076, - 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x1117, 0x7007, 0x0002, - 0x701f, 0x4c1b, 0x0005, 0x7030, 0x9005, 0x1180, 0x7120, 0x7028, - 0x20a0, 0x772c, 0x9036, 0x7034, 0x20e8, 0x2061, 0x18ae, 0x2c44, - 0xa28c, 0xa390, 0xa494, 0xa598, 0x0804, 0x4b7b, 0x7124, 0x810b, - 0x0804, 0x337e, 0x2029, 0x007e, 0x7984, 0x7a88, 0x7b8c, 0x7c98, - 0x9184, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x33b3, 0x9502, - 0x0a04, 0x33b3, 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x33b3, - 0x9502, 0x0a04, 0x33b3, 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, - 0x0a04, 0x33b3, 0x9502, 0x0a04, 0x33b3, 0x9284, 0x00ff, 0x90e2, - 0x0020, 0x0a04, 0x33b3, 0x9502, 0x0a04, 0x33b3, 0x9384, 0xff00, - 0x8007, 0x90e2, 0x0020, 0x0a04, 0x33b3, 0x9502, 0x0a04, 0x33b3, - 0x9384, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x33b3, 0x9502, 0x0a04, - 0x33b3, 0x9484, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x33b3, - 0x9502, 0x0a04, 0x33b3, 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, - 0x33b3, 0x9502, 0x0a04, 0x33b3, 0x2061, 0x1959, 0x6102, 0x6206, - 0x630a, 0x640e, 0x0804, 0x337e, 0x0006, 0x080c, 0x5388, 0xd0cc, - 0x000e, 0x0005, 0x0006, 0x080c, 0x538c, 0xd0bc, 0x000e, 0x0005, - 0x6170, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, 0x0804, 0x337e, - 0x83ff, 0x1904, 0x33b3, 0x2001, 0xfff0, 0x9200, 0x1a04, 0x33b3, - 0x2019, 0xffff, 0x6074, 0x9302, 0x9200, 0x0a04, 0x33b3, 0x7986, - 0x6272, 0x0804, 0x337e, 0x080c, 0x539c, 0x1904, 0x33b0, 0x7c88, - 0x7d84, 0x7e98, 0x7f8c, 0x080c, 0x487a, 0x0904, 0x33b0, 0x900e, + 0xa28e, 0xa392, 0xa496, 0xa59a, 0x080c, 0x1124, 0x7007, 0x0002, + 0x701f, 0x4c3b, 0x0005, 0x7030, 0x9005, 0x1180, 0x7120, 0x7028, + 0x20a0, 0x772c, 0x9036, 0x7034, 0x20e8, 0x2061, 0x18b6, 0x2c44, + 0xa28c, 0xa390, 0xa494, 0xa598, 0x0804, 0x4b9b, 0x7124, 0x810b, + 0x0804, 0x339e, 0x2029, 0x007e, 0x7984, 0x7a88, 0x7b8c, 0x7c98, + 0x9184, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x33d3, 0x9502, + 0x0a04, 0x33d3, 0x9184, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x33d3, + 0x9502, 0x0a04, 0x33d3, 0x9284, 0xff00, 0x8007, 0x90e2, 0x0020, + 0x0a04, 0x33d3, 0x9502, 0x0a04, 0x33d3, 0x9284, 0x00ff, 0x90e2, + 0x0020, 0x0a04, 0x33d3, 0x9502, 0x0a04, 0x33d3, 0x9384, 0xff00, + 0x8007, 0x90e2, 0x0020, 0x0a04, 0x33d3, 0x9502, 0x0a04, 0x33d3, + 0x9384, 0x00ff, 0x90e2, 0x0020, 0x0a04, 0x33d3, 0x9502, 0x0a04, + 0x33d3, 0x9484, 0xff00, 0x8007, 0x90e2, 0x0020, 0x0a04, 0x33d3, + 0x9502, 0x0a04, 0x33d3, 0x9484, 0x00ff, 0x90e2, 0x0020, 0x0a04, + 0x33d3, 0x9502, 0x0a04, 0x33d3, 0x2061, 0x1961, 0x6102, 0x6206, + 0x630a, 0x640e, 0x0804, 0x339e, 0x0006, 0x080c, 0x53a8, 0xd0cc, + 0x000e, 0x0005, 0x0006, 0x080c, 0x53ac, 0xd0bc, 0x000e, 0x0005, + 0x6170, 0x7a84, 0x6300, 0x82ff, 0x1118, 0x7986, 0x0804, 0x339e, + 0x83ff, 0x1904, 0x33d3, 0x2001, 0xfff0, 0x9200, 0x1a04, 0x33d3, + 0x2019, 0xffff, 0x6074, 0x9302, 0x9200, 0x0a04, 0x33d3, 0x7986, + 0x6272, 0x0804, 0x339e, 0x080c, 0x53bc, 0x1904, 0x33d0, 0x7c88, + 0x7d84, 0x7e98, 0x7f8c, 0x080c, 0x489a, 0x0904, 0x33d0, 0x900e, 0x901e, 0x7326, 0x7332, 0xa860, 0x20e8, 0x7036, 0xa85c, 0x9080, 0x0003, 0x702a, 0x20a0, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, - 0x080c, 0x6666, 0x0118, 0x080c, 0x666e, 0x1148, 0x20a9, 0x0001, + 0x080c, 0x668a, 0x0118, 0x080c, 0x6692, 0x1148, 0x20a9, 0x0001, 0xb814, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0170, 0x0c20, 0x83ff, - 0x1148, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, 0x83fb, 0x2208, - 0x0804, 0x337e, 0x7033, 0x0001, 0x7122, 0x7024, 0x9300, 0x7026, - 0x2061, 0x18ae, 0x2c44, 0xa06b, 0x0000, 0xa37a, 0x7028, 0xa076, - 0x7034, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0x080c, 0x1117, - 0x7007, 0x0002, 0x701f, 0x4d0d, 0x0005, 0x7030, 0x9005, 0x1178, - 0x7120, 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, 0x2061, 0x18ae, - 0x2c44, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0804, 0x4ccb, 0x7224, - 0x900e, 0x2001, 0x0003, 0x080c, 0x83fb, 0x2208, 0x0804, 0x337e, - 0x00f6, 0x00e6, 0x080c, 0x539c, 0x2009, 0x0007, 0x1904, 0x4da0, - 0x2071, 0x1894, 0x745c, 0x84ff, 0x2009, 0x000e, 0x1904, 0x4da0, - 0xac9c, 0xad98, 0xaea4, 0xafa0, 0x0096, 0x080c, 0x103b, 0x2009, - 0x0002, 0x0904, 0x4da0, 0x2900, 0x705e, 0x900e, 0x901e, 0x7356, + 0x1148, 0x7224, 0x900e, 0x2001, 0x0003, 0x080c, 0x842f, 0x2208, + 0x0804, 0x339e, 0x7033, 0x0001, 0x7122, 0x7024, 0x9300, 0x7026, + 0x2061, 0x18b6, 0x2c44, 0xa06b, 0x0000, 0xa37a, 0x7028, 0xa076, + 0x7034, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, 0x080c, 0x1124, + 0x7007, 0x0002, 0x701f, 0x4d2d, 0x0005, 0x7030, 0x9005, 0x1178, + 0x7120, 0x7028, 0x20a0, 0x901e, 0x7034, 0x20e8, 0x2061, 0x18b6, + 0x2c44, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0804, 0x4ceb, 0x7224, + 0x900e, 0x2001, 0x0003, 0x080c, 0x842f, 0x2208, 0x0804, 0x339e, + 0x00f6, 0x00e6, 0x080c, 0x53bc, 0x2009, 0x0007, 0x1904, 0x4dc0, + 0x2071, 0x189c, 0x745c, 0x84ff, 0x2009, 0x000e, 0x1904, 0x4dc0, + 0xac9c, 0xad98, 0xaea4, 0xafa0, 0x0096, 0x080c, 0x1048, 0x2009, + 0x0002, 0x0904, 0x4dc0, 0x2900, 0x705e, 0x900e, 0x901e, 0x7356, 0x7362, 0xa860, 0x7066, 0xa85c, 0x9080, 0x0003, 0x705a, 0x20a0, - 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x6666, 0x0118, - 0x080c, 0x666e, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, + 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, 0x668a, 0x0118, + 0x080c, 0x6692, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x01e8, 0x0c20, 0x83ff, 0x11c0, 0x7254, 0x900e, - 0x2001, 0x0003, 0x080c, 0x83fb, 0x2208, 0x009e, 0xa897, 0x4000, - 0xa99a, 0x715c, 0x81ff, 0x090c, 0x0d65, 0x2148, 0x080c, 0x1054, + 0x2001, 0x0003, 0x080c, 0x842f, 0x2208, 0x009e, 0xa897, 0x4000, + 0xa99a, 0x715c, 0x81ff, 0x090c, 0x0d65, 0x2148, 0x080c, 0x1061, 0x9006, 0x705e, 0x918d, 0x0001, 0x2008, 0x0418, 0x7063, 0x0001, - 0x7152, 0x7054, 0x9300, 0x7056, 0x2061, 0x18af, 0x2c44, 0xa37a, + 0x7152, 0x7054, 0x9300, 0x7056, 0x2061, 0x18b7, 0x2c44, 0xa37a, 0x7058, 0xa076, 0x7064, 0xa072, 0xa48e, 0xa592, 0xa696, 0xa79a, - 0xa09f, 0x4dac, 0x000e, 0xa0a2, 0x080c, 0x1117, 0x9006, 0x0048, + 0xa09f, 0x4dcc, 0x000e, 0xa0a2, 0x080c, 0x1124, 0x9006, 0x0048, 0x009e, 0xa897, 0x4005, 0xa99a, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ee, 0x00fe, 0x0005, 0x00f6, 0xa0a0, 0x904d, 0x090c, - 0x0d65, 0x00e6, 0x2071, 0x1894, 0xa06c, 0x908e, 0x0100, 0x0138, + 0x0d65, 0x00e6, 0x2071, 0x189c, 0xa06c, 0x908e, 0x0100, 0x0138, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4002, 0x00d8, 0x7060, 0x9005, 0x1158, 0x7150, 0x7058, 0x20a0, 0x901e, 0x7064, 0x20e8, 0xa48c, 0xa590, 0xa694, 0xa798, 0x0428, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x7254, 0x900e, 0x2001, 0x0003, 0x080c, - 0x83fb, 0xaa9a, 0x715c, 0x81ff, 0x090c, 0x0d65, 0x2148, 0x080c, - 0x1054, 0x705f, 0x0000, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6991, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x00ee, + 0x842f, 0xaa9a, 0x715c, 0x81ff, 0x090c, 0x0d65, 0x2148, 0x080c, + 0x1061, 0x705f, 0x0000, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, + 0x080c, 0x69b5, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x00ee, 0x00fe, 0x0005, 0x91d8, 0x1000, 0x2b5c, 0x8bff, 0x0178, 0x080c, - 0x6666, 0x0118, 0x080c, 0x666e, 0x1148, 0xb814, 0x20a9, 0x0001, + 0x668a, 0x0118, 0x080c, 0x6692, 0x1148, 0xb814, 0x20a9, 0x0001, 0x4004, 0xb810, 0x4004, 0x4104, 0x9398, 0x0003, 0x8108, 0x9182, 0x0800, 0x0120, 0x9386, 0x003c, 0x0518, 0x0c20, 0x83ff, 0x11f0, 0x7154, 0x810c, 0xa99a, 0xa897, 0x4000, 0x715c, 0x81ff, 0x090c, - 0x0d65, 0x2148, 0x080c, 0x1054, 0x9006, 0x705e, 0x918d, 0x0001, - 0x2008, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, 0x6991, + 0x0d65, 0x2148, 0x080c, 0x1061, 0x9006, 0x705e, 0x918d, 0x0001, + 0x2008, 0xa0a0, 0x2048, 0x0126, 0x2091, 0x8000, 0x080c, 0x69b5, 0x012e, 0xa09f, 0x0000, 0xa0a3, 0x0000, 0x0070, 0x7063, 0x0001, 0x7152, 0x7054, 0x9300, 0x7056, 0xa37a, 0xa48e, 0xa592, 0xa696, - 0xa79a, 0x080c, 0x1117, 0x9006, 0x00ee, 0x0005, 0x0096, 0xa88c, + 0xa79a, 0x080c, 0x1124, 0x9006, 0x00ee, 0x0005, 0x0096, 0xa88c, 0x90be, 0x7000, 0x0148, 0x90be, 0x7100, 0x0130, 0x90be, 0x7200, - 0x0118, 0x009e, 0x0804, 0x33b3, 0xa884, 0xa988, 0x080c, 0x243d, - 0x1518, 0x080c, 0x620b, 0x1500, 0x7126, 0xbe12, 0xbd16, 0xae7c, - 0x080c, 0x487a, 0x01c8, 0x080c, 0x487a, 0x01b0, 0x009e, 0xa867, + 0x0118, 0x009e, 0x0804, 0x33d3, 0xa884, 0xa988, 0x080c, 0x2459, + 0x1518, 0x080c, 0x622f, 0x1500, 0x7126, 0xbe12, 0xbd16, 0xae7c, + 0x080c, 0x489a, 0x01c8, 0x080c, 0x489a, 0x01b0, 0x009e, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0xa823, 0x0000, 0xa804, 0x2048, - 0x080c, 0xb9f2, 0x1120, 0x2009, 0x0003, 0x0804, 0x33b0, 0x7007, - 0x0003, 0x701f, 0x4e79, 0x0005, 0x009e, 0x2009, 0x0002, 0x0804, - 0x33b0, 0x7124, 0x080c, 0x3116, 0xa820, 0x9086, 0x8001, 0x1120, - 0x2009, 0x0004, 0x0804, 0x33b0, 0x2900, 0x7022, 0xa804, 0x0096, + 0x080c, 0xba20, 0x1120, 0x2009, 0x0003, 0x0804, 0x33d0, 0x7007, + 0x0003, 0x701f, 0x4e99, 0x0005, 0x009e, 0x2009, 0x0002, 0x0804, + 0x33d0, 0x7124, 0x080c, 0x3136, 0xa820, 0x9086, 0x8001, 0x1120, + 0x2009, 0x0004, 0x0804, 0x33d0, 0x2900, 0x7022, 0xa804, 0x0096, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x009e, 0x9080, 0x0002, 0x0076, 0x0006, 0x2098, 0x20a0, 0x27e0, - 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0f9f, 0xaa6c, 0xab70, 0xac74, - 0xad78, 0x2061, 0x18ae, 0x2c44, 0xa06b, 0x0000, 0xae64, 0xaf8c, + 0x27e8, 0x20a9, 0x002a, 0x080c, 0x0fac, 0xaa6c, 0xab70, 0xac74, + 0xad78, 0x2061, 0x18b6, 0x2c44, 0xa06b, 0x0000, 0xae64, 0xaf8c, 0x97c6, 0x7000, 0x0118, 0x97c6, 0x7100, 0x1148, 0x96c2, 0x0004, - 0x0600, 0x2009, 0x0004, 0x000e, 0x007e, 0x0804, 0x48c6, 0x97c6, + 0x0600, 0x2009, 0x0004, 0x000e, 0x007e, 0x0804, 0x48e6, 0x97c6, 0x7200, 0x11b8, 0x96c2, 0x0054, 0x02a0, 0x000e, 0x007e, 0x2061, - 0x18ae, 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, 0xa28e, 0xa392, - 0xa496, 0xa59a, 0x080c, 0x1117, 0x7007, 0x0002, 0x701f, 0x4ed5, - 0x0005, 0x000e, 0x007e, 0x0804, 0x33b3, 0x7020, 0x2048, 0xa804, + 0x18b6, 0x2c44, 0xa076, 0xa772, 0xa07b, 0x002a, 0xa28e, 0xa392, + 0xa496, 0xa59a, 0x080c, 0x1124, 0x7007, 0x0002, 0x701f, 0x4ef5, + 0x0005, 0x000e, 0x007e, 0x0804, 0x33d3, 0x7020, 0x2048, 0xa804, 0x2048, 0xa804, 0x2048, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2098, 0x20a0, 0x27e0, 0x27e8, - 0x20a9, 0x002a, 0x080c, 0x0f9f, 0x2100, 0x2238, 0x2061, 0x18ae, + 0x20a9, 0x002a, 0x080c, 0x0fac, 0x2100, 0x2238, 0x2061, 0x18b6, 0x2c44, 0xa28c, 0xa390, 0xa494, 0xa598, 0x2009, 0x002a, 0x0804, - 0x48c6, 0x81ff, 0x1904, 0x33b0, 0x798c, 0x2001, 0x194e, 0x918c, - 0x8000, 0x2102, 0x080c, 0x4891, 0x0904, 0x33b3, 0x080c, 0x6666, - 0x0120, 0x080c, 0x666e, 0x1904, 0x33b3, 0x080c, 0x6332, 0x0904, - 0x33b0, 0x0126, 0x2091, 0x8000, 0x080c, 0x64cb, 0x012e, 0x0904, - 0x33b0, 0x2001, 0x194e, 0x2004, 0xd0fc, 0x1904, 0x337e, 0x0804, - 0x4328, 0xa9a0, 0x2001, 0x194e, 0x918c, 0x8000, 0xc18d, 0x2102, - 0x080c, 0x489e, 0x01a0, 0x080c, 0x6666, 0x0118, 0x080c, 0x666e, - 0x1170, 0x080c, 0x6332, 0x2009, 0x0002, 0x0128, 0x080c, 0x64cb, + 0x48e6, 0x81ff, 0x1904, 0x33d0, 0x798c, 0x2001, 0x1956, 0x918c, + 0x8000, 0x2102, 0x080c, 0x48b1, 0x0904, 0x33d3, 0x080c, 0x668a, + 0x0120, 0x080c, 0x6692, 0x1904, 0x33d3, 0x080c, 0x6356, 0x0904, + 0x33d0, 0x0126, 0x2091, 0x8000, 0x080c, 0x64ef, 0x012e, 0x0904, + 0x33d0, 0x2001, 0x1956, 0x2004, 0xd0fc, 0x1904, 0x339e, 0x0804, + 0x4348, 0xa9a0, 0x2001, 0x1956, 0x918c, 0x8000, 0xc18d, 0x2102, + 0x080c, 0x48be, 0x01a0, 0x080c, 0x668a, 0x0118, 0x080c, 0x6692, + 0x1170, 0x080c, 0x6356, 0x2009, 0x0002, 0x0128, 0x080c, 0x64ef, 0x1170, 0x2009, 0x0003, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x0005, 0xa897, - 0x4000, 0x2001, 0x194e, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x5390, + 0x4000, 0x2001, 0x1956, 0x2004, 0xd0fc, 0x1128, 0x080c, 0x53b0, 0x0110, 0x9006, 0x0018, 0x900e, 0x9085, 0x0001, 0x2001, 0x0000, - 0x0005, 0x78a8, 0xd08c, 0x1118, 0xd084, 0x0904, 0x429d, 0x080c, - 0x48ad, 0x0904, 0x33b3, 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, - 0x0804, 0x33b0, 0x080c, 0x6666, 0x0130, 0x908e, 0x0004, 0x0118, + 0x0005, 0x78a8, 0xd08c, 0x1118, 0xd084, 0x0904, 0x42bd, 0x080c, + 0x48cd, 0x0904, 0x33d3, 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, + 0x0804, 0x33d0, 0x080c, 0x668a, 0x0130, 0x908e, 0x0004, 0x0118, 0x908e, 0x0005, 0x15a0, 0x78a8, 0xd08c, 0x0120, 0xb800, 0xc08c, - 0xb802, 0x0028, 0x080c, 0x5388, 0xd0b4, 0x0904, 0x42d7, 0x7884, - 0x908e, 0x007e, 0x0904, 0x42d7, 0x908e, 0x007f, 0x0904, 0x42d7, - 0x908e, 0x0080, 0x0904, 0x42d7, 0xb800, 0xd08c, 0x1904, 0x42d7, - 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xba11, 0x1120, - 0x2009, 0x0003, 0x0804, 0x33b0, 0x7007, 0x0003, 0x701f, 0x4fa1, - 0x0005, 0x080c, 0x48ad, 0x0904, 0x33b3, 0x0804, 0x42d7, 0x080c, - 0x3175, 0x0108, 0x0005, 0x2009, 0x1833, 0x210c, 0x81ff, 0x0120, - 0x2009, 0x0001, 0x0804, 0x33b0, 0x080c, 0x539c, 0x0120, 0x2009, - 0x0007, 0x0804, 0x33b0, 0x080c, 0x665e, 0x0120, 0x2009, 0x0008, - 0x0804, 0x33b0, 0xb89c, 0xd0a4, 0x1118, 0xd0ac, 0x1904, 0x42d7, - 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xba79, - 0x1120, 0x2009, 0x0003, 0x0804, 0x33b0, 0x7007, 0x0003, 0x701f, - 0x4fda, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, - 0x0804, 0x52e5, 0x080c, 0x48ad, 0x0904, 0x33b3, 0x0804, 0x4f73, - 0x81ff, 0x2009, 0x0001, 0x1904, 0x33b0, 0x080c, 0x539c, 0x2009, - 0x0007, 0x1904, 0x33b0, 0x080c, 0x665e, 0x0120, 0x2009, 0x0008, - 0x0804, 0x33b0, 0x080c, 0x48ad, 0x0904, 0x33b3, 0x080c, 0x6666, - 0x2009, 0x0009, 0x1904, 0x33b0, 0x080c, 0x487a, 0x2009, 0x0002, - 0x0904, 0x33b0, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, + 0xb802, 0x0028, 0x080c, 0x53a8, 0xd0b4, 0x0904, 0x42f7, 0x7884, + 0x908e, 0x007e, 0x0904, 0x42f7, 0x908e, 0x007f, 0x0904, 0x42f7, + 0x908e, 0x0080, 0x0904, 0x42f7, 0xb800, 0xd08c, 0x1904, 0x42f7, + 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xba3f, 0x1120, + 0x2009, 0x0003, 0x0804, 0x33d0, 0x7007, 0x0003, 0x701f, 0x4fc1, + 0x0005, 0x080c, 0x48cd, 0x0904, 0x33d3, 0x0804, 0x42f7, 0x080c, + 0x3195, 0x0108, 0x0005, 0x2009, 0x1833, 0x210c, 0x81ff, 0x0120, + 0x2009, 0x0001, 0x0804, 0x33d0, 0x080c, 0x53bc, 0x0120, 0x2009, + 0x0007, 0x0804, 0x33d0, 0x080c, 0x6682, 0x0120, 0x2009, 0x0008, + 0x0804, 0x33d0, 0xb89c, 0xd0a4, 0x1118, 0xd0ac, 0x1904, 0x42f7, + 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0xbaa7, + 0x1120, 0x2009, 0x0003, 0x0804, 0x33d0, 0x7007, 0x0003, 0x701f, + 0x4ffa, 0x0005, 0xa830, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, + 0x0804, 0x5305, 0x080c, 0x48cd, 0x0904, 0x33d3, 0x0804, 0x4f93, + 0x81ff, 0x2009, 0x0001, 0x1904, 0x33d0, 0x080c, 0x53bc, 0x2009, + 0x0007, 0x1904, 0x33d0, 0x080c, 0x6682, 0x0120, 0x2009, 0x0008, + 0x0804, 0x33d0, 0x080c, 0x48cd, 0x0904, 0x33d3, 0x080c, 0x668a, + 0x2009, 0x0009, 0x1904, 0x33d0, 0x080c, 0x489a, 0x2009, 0x0002, + 0x0904, 0x33d0, 0x9006, 0xa866, 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x7988, 0x9194, 0xff00, 0x918c, 0x00ff, 0x9006, 0x82ff, 0x1128, 0xc0ed, 0xa952, 0x798c, 0xa956, 0x0038, 0x928e, 0x0100, 0x1904, - 0x33b3, 0xc0e5, 0xa952, 0xa956, 0xa83e, 0x080c, 0xbcdc, 0x2009, - 0x0003, 0x0904, 0x33b0, 0x7007, 0x0003, 0x701f, 0x5030, 0x0005, - 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, 0x33b0, 0x0804, - 0x337e, 0x7aa8, 0x9284, 0xc000, 0x0148, 0xd2ec, 0x01a0, 0x080c, - 0x539c, 0x1188, 0x2009, 0x0014, 0x0804, 0x33b0, 0xd2dc, 0x1568, - 0x81ff, 0x2009, 0x0001, 0x1904, 0x33b0, 0x080c, 0x539c, 0x2009, - 0x0007, 0x1904, 0x33b0, 0xd2f4, 0x0130, 0x9284, 0x5000, 0x080c, - 0x5363, 0x0804, 0x337e, 0xd2fc, 0x0158, 0x080c, 0x48ad, 0x0904, - 0x33b3, 0x7984, 0x9284, 0x9000, 0x080c, 0x5340, 0x0804, 0x337e, - 0x080c, 0x48ad, 0x0904, 0x33b3, 0xb804, 0x9084, 0x00ff, 0x9086, - 0x0006, 0x2009, 0x0009, 0x1904, 0x5119, 0x080c, 0x487a, 0x2009, - 0x0002, 0x0904, 0x5119, 0xa85c, 0x9080, 0x001b, 0xaf60, 0x2009, - 0x0008, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, 0x48c3, 0x701f, - 0x508a, 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, 0xa870, 0x9005, - 0x1120, 0xa874, 0x9084, 0xff00, 0x0110, 0x1904, 0x33b3, 0xa866, - 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0x48ad, 0x1110, 0x0804, - 0x33b3, 0x2009, 0x0043, 0x080c, 0xbd44, 0x2009, 0x0003, 0x0904, - 0x5119, 0x7007, 0x0003, 0x701f, 0x50ae, 0x0005, 0xa830, 0x9086, - 0x0100, 0x2009, 0x0004, 0x0904, 0x5119, 0x7984, 0x7aa8, 0x9284, - 0x1000, 0x080c, 0x5340, 0x0804, 0x337e, 0x00c6, 0xaab0, 0x9284, - 0xc000, 0x0140, 0xd2ec, 0x0168, 0x080c, 0x539c, 0x1150, 0x2009, - 0x0014, 0x04f0, 0x2061, 0x1800, 0x080c, 0x539c, 0x2009, 0x0007, - 0x15b8, 0xd2f4, 0x0128, 0x9284, 0x5000, 0x080c, 0x5363, 0x0050, - 0xd2fc, 0x0178, 0x080c, 0x48ab, 0x0588, 0xa998, 0x9284, 0x9000, - 0x080c, 0x5340, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, - 0x0438, 0x080c, 0x48ab, 0x0510, 0x080c, 0x6666, 0x2009, 0x0009, + 0x33d3, 0xc0e5, 0xa952, 0xa956, 0xa83e, 0x080c, 0xbd0a, 0x2009, + 0x0003, 0x0904, 0x33d0, 0x7007, 0x0003, 0x701f, 0x5050, 0x0005, + 0xa830, 0x9086, 0x0100, 0x2009, 0x0004, 0x0904, 0x33d0, 0x0804, + 0x339e, 0x7aa8, 0x9284, 0xc000, 0x0148, 0xd2ec, 0x01a0, 0x080c, + 0x53bc, 0x1188, 0x2009, 0x0014, 0x0804, 0x33d0, 0xd2dc, 0x1568, + 0x81ff, 0x2009, 0x0001, 0x1904, 0x33d0, 0x080c, 0x53bc, 0x2009, + 0x0007, 0x1904, 0x33d0, 0xd2f4, 0x0130, 0x9284, 0x5000, 0x080c, + 0x5383, 0x0804, 0x339e, 0xd2fc, 0x0158, 0x080c, 0x48cd, 0x0904, + 0x33d3, 0x7984, 0x9284, 0x9000, 0x080c, 0x5360, 0x0804, 0x339e, + 0x080c, 0x48cd, 0x0904, 0x33d3, 0xb804, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x2009, 0x0009, 0x1904, 0x5139, 0x080c, 0x489a, 0x2009, + 0x0002, 0x0904, 0x5139, 0xa85c, 0x9080, 0x001b, 0xaf60, 0x2009, + 0x0008, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x080c, 0x48e3, 0x701f, + 0x50aa, 0x0005, 0xa86c, 0x9086, 0x0500, 0x1138, 0xa870, 0x9005, + 0x1120, 0xa874, 0x9084, 0xff00, 0x0110, 0x1904, 0x33d3, 0xa866, + 0xa832, 0xa868, 0xc0fd, 0xa86a, 0x080c, 0x48cd, 0x1110, 0x0804, + 0x33d3, 0x2009, 0x0043, 0x080c, 0xbd72, 0x2009, 0x0003, 0x0904, + 0x5139, 0x7007, 0x0003, 0x701f, 0x50ce, 0x0005, 0xa830, 0x9086, + 0x0100, 0x2009, 0x0004, 0x0904, 0x5139, 0x7984, 0x7aa8, 0x9284, + 0x1000, 0x080c, 0x5360, 0x0804, 0x339e, 0x00c6, 0xaab0, 0x9284, + 0xc000, 0x0140, 0xd2ec, 0x0168, 0x080c, 0x53bc, 0x1150, 0x2009, + 0x0014, 0x04f0, 0x2061, 0x1800, 0x080c, 0x53bc, 0x2009, 0x0007, + 0x15b8, 0xd2f4, 0x0128, 0x9284, 0x5000, 0x080c, 0x5383, 0x0050, + 0xd2fc, 0x0178, 0x080c, 0x48cb, 0x0588, 0xa998, 0x9284, 0x9000, + 0x080c, 0x5360, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, + 0x0438, 0x080c, 0x48cb, 0x0510, 0x080c, 0x668a, 0x2009, 0x0009, 0x11b8, 0xa8c4, 0x9086, 0x0500, 0x11c8, 0xa8c8, 0x9005, 0x11b0, - 0xa8cc, 0x9084, 0xff00, 0x1190, 0x080c, 0x48ab, 0x1108, 0x0070, - 0x2009, 0x004b, 0x080c, 0xbd44, 0x2009, 0x0003, 0x0108, 0x0078, + 0xa8cc, 0x9084, 0xff00, 0x1190, 0x080c, 0x48cb, 0x1108, 0x0070, + 0x2009, 0x004b, 0x080c, 0xbd72, 0x2009, 0x0003, 0x0108, 0x0078, 0x0429, 0x19c0, 0xa897, 0x4005, 0xa99a, 0x0010, 0xa897, 0x4006, 0x900e, 0x9085, 0x0001, 0x2001, 0x0030, 0x00ce, 0x0005, 0x9006, - 0x0ce0, 0x7aa8, 0xd2dc, 0x0904, 0x33b0, 0x0016, 0x7984, 0x9284, - 0x1000, 0xc0fd, 0x080c, 0x5340, 0x001e, 0x1904, 0x33b0, 0x0804, - 0x337e, 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, 0xaab0, 0xd2dc, - 0x0150, 0x0016, 0xa998, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5340, + 0x0ce0, 0x7aa8, 0xd2dc, 0x0904, 0x33d0, 0x0016, 0x7984, 0x9284, + 0x1000, 0xc0fd, 0x080c, 0x5360, 0x001e, 0x1904, 0x33d0, 0x0804, + 0x339e, 0x00f6, 0x2d78, 0x0011, 0x00fe, 0x0005, 0xaab0, 0xd2dc, + 0x0150, 0x0016, 0xa998, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5360, 0x001e, 0x9085, 0x0001, 0x0005, 0x81ff, 0x0120, 0x2009, 0x0001, - 0x0804, 0x33b0, 0x080c, 0x539c, 0x0120, 0x2009, 0x0007, 0x0804, - 0x33b0, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, 0x626b, 0x1904, - 0x33b3, 0x9186, 0x007f, 0x0138, 0x080c, 0x6666, 0x0120, 0x2009, - 0x0009, 0x0804, 0x33b0, 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, - 0x0804, 0x33b0, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x2001, - 0x0100, 0x8007, 0xa80a, 0x080c, 0xba2b, 0x1120, 0x2009, 0x0003, - 0x0804, 0x33b0, 0x7007, 0x0003, 0x701f, 0x5177, 0x0005, 0xa808, - 0x8007, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x33b0, + 0x0804, 0x33d0, 0x080c, 0x53bc, 0x0120, 0x2009, 0x0007, 0x0804, + 0x33d0, 0x7984, 0x7ea8, 0x96b4, 0x00ff, 0x080c, 0x628f, 0x1904, + 0x33d3, 0x9186, 0x007f, 0x0138, 0x080c, 0x668a, 0x0120, 0x2009, + 0x0009, 0x0804, 0x33d0, 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, + 0x0804, 0x33d0, 0xa867, 0x0000, 0xa868, 0xc0fd, 0xa86a, 0x2001, + 0x0100, 0x8007, 0xa80a, 0x080c, 0xba59, 0x1120, 0x2009, 0x0003, + 0x0804, 0x33d0, 0x7007, 0x0003, 0x701f, 0x5197, 0x0005, 0xa808, + 0x8007, 0x9086, 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x33d0, 0xa8e0, 0xa866, 0xa810, 0x8007, 0x9084, 0x00ff, 0x800c, 0xa814, 0x8007, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0002, 0x9108, 0x8906, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0004, - 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x48c6, 0x080c, 0x487a, - 0x1120, 0x2009, 0x0002, 0x0804, 0x33b0, 0x7984, 0x9194, 0xff00, - 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, 0x1983, 0x0040, - 0x92c6, 0x0001, 0x1118, 0x7023, 0x199d, 0x0010, 0x0804, 0x33b3, + 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0x0804, 0x48e6, 0x080c, 0x489a, + 0x1120, 0x2009, 0x0002, 0x0804, 0x33d0, 0x7984, 0x9194, 0xff00, + 0x918c, 0x00ff, 0x8217, 0x82ff, 0x1118, 0x7023, 0x198b, 0x0040, + 0x92c6, 0x0001, 0x1118, 0x7023, 0x19a5, 0x0010, 0x0804, 0x33d3, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, - 0x0019, 0xaf60, 0x080c, 0x48c3, 0x701f, 0x51c7, 0x0005, 0x2001, + 0x0019, 0xaf60, 0x080c, 0x48e3, 0x701f, 0x51e7, 0x0005, 0x2001, 0x182d, 0x2003, 0x0001, 0xa85c, 0x9080, 0x0019, 0x2098, 0xa860, 0x20e0, 0x20a9, 0x001a, 0x7020, 0x20a0, 0x20e9, 0x0001, 0x4003, - 0x0804, 0x337e, 0x080c, 0x487a, 0x1120, 0x2009, 0x0002, 0x0804, - 0x33b0, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, - 0x1118, 0x2099, 0x1983, 0x0040, 0x92c6, 0x0001, 0x1118, 0x2099, - 0x199d, 0x0010, 0x0804, 0x33b3, 0xa85c, 0x9080, 0x0019, 0x20a0, + 0x0804, 0x339e, 0x080c, 0x489a, 0x1120, 0x2009, 0x0002, 0x0804, + 0x33d0, 0x7984, 0x9194, 0xff00, 0x918c, 0x00ff, 0x8217, 0x82ff, + 0x1118, 0x2099, 0x198b, 0x0040, 0x92c6, 0x0001, 0x1118, 0x2099, + 0x19a5, 0x0010, 0x0804, 0x33d3, 0xa85c, 0x9080, 0x0019, 0x20a0, 0xa860, 0x20e8, 0x20a9, 0x001a, 0x20e1, 0x0001, 0x4003, 0x2009, 0x001a, 0x7a8c, 0x7b88, 0x7c9c, 0x7d98, 0xa85c, 0x9080, 0x0019, - 0xaf60, 0x0804, 0x48c6, 0x7884, 0x908a, 0x1000, 0x1a04, 0x33b3, + 0xaf60, 0x0804, 0x48e6, 0x7884, 0x908a, 0x1000, 0x1a04, 0x33d3, 0x0126, 0x2091, 0x8000, 0x8003, 0x800b, 0x810b, 0x9108, 0x00c6, - 0x2061, 0x19d3, 0x6142, 0x00ce, 0x012e, 0x0804, 0x337e, 0x00c6, - 0x080c, 0x7096, 0x1160, 0x080c, 0x7396, 0x080c, 0x5cd7, 0x9085, - 0x0001, 0x080c, 0x70dd, 0x080c, 0x6fc7, 0x080c, 0x0d65, 0x2061, - 0x1800, 0x6030, 0xc09d, 0x6032, 0x080c, 0x5b92, 0x00ce, 0x0005, - 0x00c6, 0x2001, 0x1800, 0x2004, 0x908e, 0x0000, 0x0904, 0x33b0, - 0x7884, 0x9005, 0x0188, 0x7888, 0x2061, 0x196c, 0x2c0c, 0x2062, - 0x080c, 0x2820, 0x01a0, 0x080c, 0x2828, 0x0188, 0x080c, 0x2830, - 0x0170, 0x2162, 0x0804, 0x33b3, 0x2061, 0x0100, 0x6038, 0x9086, + 0x2061, 0x19db, 0x6142, 0x00ce, 0x012e, 0x0804, 0x339e, 0x00c6, + 0x080c, 0x70ba, 0x1160, 0x080c, 0x73b9, 0x080c, 0x5cf7, 0x9085, + 0x0001, 0x080c, 0x7101, 0x080c, 0x6feb, 0x080c, 0x0d65, 0x2061, + 0x1800, 0x6030, 0xc09d, 0x6032, 0x080c, 0x5bb2, 0x00ce, 0x0005, + 0x00c6, 0x2001, 0x1800, 0x2004, 0x908e, 0x0000, 0x0904, 0x33d0, + 0x7884, 0x9005, 0x0188, 0x7888, 0x2061, 0x1974, 0x2c0c, 0x2062, + 0x080c, 0x2840, 0x01a0, 0x080c, 0x2848, 0x0188, 0x080c, 0x2850, + 0x0170, 0x2162, 0x0804, 0x33d3, 0x2061, 0x0100, 0x6038, 0x9086, 0x0007, 0x1118, 0x2009, 0x0001, 0x0010, 0x2009, 0x0000, 0x7884, 0x9086, 0x0002, 0x1588, 0x2061, 0x0100, 0x6028, 0xc09c, 0x602a, - 0x080c, 0x98bb, 0x0026, 0x2011, 0x0003, 0x080c, 0x931c, 0x2011, - 0x0002, 0x080c, 0x9326, 0x002e, 0x080c, 0x91e9, 0x0036, 0x901e, - 0x080c, 0x9269, 0x003e, 0x080c, 0x98d7, 0x60e3, 0x0000, 0x080c, - 0xd60c, 0x080c, 0xd627, 0x9085, 0x0001, 0x080c, 0x70dd, 0x9006, - 0x080c, 0x2852, 0x2001, 0x1800, 0x2003, 0x0004, 0x0026, 0x2011, - 0x0008, 0x080c, 0x288c, 0x002e, 0x00ce, 0x0804, 0x337e, 0x81ff, - 0x0120, 0x2009, 0x0001, 0x0804, 0x33b0, 0x080c, 0x539c, 0x0120, - 0x2009, 0x0007, 0x0804, 0x33b0, 0x7984, 0x7ea8, 0x96b4, 0x00ff, - 0x080c, 0x626b, 0x1904, 0x33b3, 0x9186, 0x007f, 0x0138, 0x080c, - 0x6666, 0x0120, 0x2009, 0x0009, 0x0804, 0x33b0, 0x080c, 0x487a, - 0x1120, 0x2009, 0x0002, 0x0804, 0x33b0, 0xa867, 0x0000, 0xa868, - 0xc0fd, 0xa86a, 0x080c, 0xba2e, 0x1120, 0x2009, 0x0003, 0x0804, - 0x33b0, 0x7007, 0x0003, 0x701f, 0x52ce, 0x0005, 0xa830, 0x9086, - 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x33b0, 0xa8e0, 0xa866, + 0x080c, 0x98c7, 0x0026, 0x2011, 0x0003, 0x080c, 0x9324, 0x2011, + 0x0002, 0x080c, 0x932e, 0x002e, 0x080c, 0x921d, 0x0036, 0x901e, + 0x080c, 0x929d, 0x003e, 0x080c, 0x98e3, 0x60e3, 0x0000, 0x080c, + 0xd644, 0x080c, 0xd65f, 0x9085, 0x0001, 0x080c, 0x7101, 0x9006, + 0x080c, 0x2872, 0x2001, 0x1800, 0x2003, 0x0004, 0x0026, 0x2011, + 0x0008, 0x080c, 0x28ac, 0x002e, 0x00ce, 0x0804, 0x339e, 0x81ff, + 0x0120, 0x2009, 0x0001, 0x0804, 0x33d0, 0x080c, 0x53bc, 0x0120, + 0x2009, 0x0007, 0x0804, 0x33d0, 0x7984, 0x7ea8, 0x96b4, 0x00ff, + 0x080c, 0x628f, 0x1904, 0x33d3, 0x9186, 0x007f, 0x0138, 0x080c, + 0x668a, 0x0120, 0x2009, 0x0009, 0x0804, 0x33d0, 0x080c, 0x489a, + 0x1120, 0x2009, 0x0002, 0x0804, 0x33d0, 0xa867, 0x0000, 0xa868, + 0xc0fd, 0xa86a, 0x080c, 0xba5c, 0x1120, 0x2009, 0x0003, 0x0804, + 0x33d0, 0x7007, 0x0003, 0x701f, 0x52ee, 0x0005, 0xa830, 0x9086, + 0x0100, 0x1120, 0x2009, 0x0004, 0x0804, 0x33d0, 0xa8e0, 0xa866, 0xa834, 0x8007, 0x800c, 0xa85c, 0x9080, 0x000c, 0x7a8c, 0x7b88, - 0x7c9c, 0x7d98, 0xaf60, 0x0804, 0x48c6, 0xa898, 0x9086, 0x000d, - 0x1904, 0x33b0, 0x2021, 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, - 0x52f2, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, + 0x7c9c, 0x7d98, 0xaf60, 0x0804, 0x48e6, 0xa898, 0x9086, 0x000d, + 0x1904, 0x33d0, 0x2021, 0x4005, 0x0126, 0x2091, 0x8000, 0x0e04, + 0x5312, 0x0010, 0x012e, 0x0cc0, 0x7c36, 0x9486, 0x4000, 0x0118, 0x7833, 0x0011, 0x0010, 0x7833, 0x0010, 0x7883, 0x4005, 0xa998, - 0x7986, 0xa9a4, 0x799a, 0xa9a8, 0x799e, 0x080c, 0x48b6, 0x2091, - 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x7007, + 0x7986, 0xa9a4, 0x799a, 0xa9a8, 0x799e, 0x080c, 0x48d6, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x7007, 0x0001, 0x2091, 0x5000, 0x700f, 0x0000, 0x012e, 0x0005, 0x0126, - 0x2091, 0x8000, 0x00c6, 0x2061, 0x19d3, 0x7984, 0x6152, 0x614e, + 0x2091, 0x8000, 0x00c6, 0x2061, 0x19db, 0x7984, 0x6152, 0x614e, 0x6057, 0x0000, 0x604b, 0x0009, 0x7898, 0x606a, 0x789c, 0x6066, - 0x7888, 0x6062, 0x788c, 0x605e, 0x2001, 0x19e1, 0x2044, 0x2001, - 0x19e8, 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, 0xa07f, 0x0002, - 0xa06b, 0x0000, 0xa09f, 0x0000, 0x00ce, 0x012e, 0x0804, 0x337e, + 0x7888, 0x6062, 0x788c, 0x605e, 0x2001, 0x19e9, 0x2044, 0x2001, + 0x19f0, 0xa076, 0xa060, 0xa072, 0xa07b, 0x0001, 0xa07f, 0x0002, + 0xa06b, 0x0000, 0xa09f, 0x0000, 0x00ce, 0x012e, 0x0804, 0x339e, 0x0126, 0x2091, 0x8000, 0x00b6, 0x00c6, 0x90e4, 0xc000, 0x0128, - 0x0006, 0x080c, 0xb88f, 0x000e, 0x1198, 0xd0e4, 0x0160, 0x9180, - 0x1000, 0x2004, 0x905d, 0x0160, 0x080c, 0x5cf1, 0x080c, 0x9b59, + 0x0006, 0x080c, 0xb8bd, 0x000e, 0x1198, 0xd0e4, 0x0160, 0x9180, + 0x1000, 0x2004, 0x905d, 0x0160, 0x080c, 0x5d11, 0x080c, 0x9b65, 0x0110, 0xb817, 0x0000, 0x9006, 0x00ce, 0x00be, 0x012e, 0x0005, 0x9085, 0x0001, 0x0cc8, 0x0126, 0x2091, 0x8000, 0x0156, 0x2010, 0x900e, 0x20a9, 0x0800, 0x0016, 0x9180, 0x1000, 0x2004, 0x9005, 0x0180, 0x9186, 0x007e, 0x0168, 0x9186, 0x007f, 0x0150, 0x9186, 0x0080, 0x0138, 0x9186, 0x00ff, 0x0120, 0x0026, 0x2200, 0x0801, - 0x002e, 0x001e, 0x8108, 0x1f04, 0x536b, 0x015e, 0x012e, 0x0005, - 0x2001, 0x1854, 0x2004, 0x0005, 0x2001, 0x1873, 0x2004, 0x0005, + 0x002e, 0x001e, 0x8108, 0x1f04, 0x538b, 0x015e, 0x012e, 0x0005, + 0x2001, 0x185c, 0x2004, 0x0005, 0x2001, 0x187b, 0x2004, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0d4, 0x000e, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0b4, 0x0005, 0x2001, 0x1800, 0x2004, 0x9086, - 0x0003, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1894, 0x7108, 0x910d, + 0x0003, 0x0005, 0x0016, 0x00e6, 0x2071, 0x189c, 0x7108, 0x910d, 0x710a, 0x00ee, 0x001e, 0x0005, 0x79a4, 0x9182, 0x0081, 0x1a04, - 0x33b3, 0x810c, 0x0016, 0x080c, 0x487a, 0x080c, 0x0f2a, 0x2100, - 0x2238, 0x7d84, 0x7c88, 0x7b8c, 0x7a90, 0x001e, 0x080c, 0x48c3, - 0x701f, 0x53c3, 0x0005, 0x2079, 0x0000, 0x7d94, 0x7c98, 0x7ba8, - 0x7aac, 0x79a4, 0x810c, 0x2061, 0x18ae, 0x2c44, 0xa770, 0xa074, - 0x2071, 0x1894, 0x080c, 0x48c6, 0x701f, 0x53d7, 0x0005, 0x2061, - 0x18ae, 0x2c44, 0x0016, 0x0026, 0xa270, 0xa174, 0x080c, 0x0f32, - 0x002e, 0x001e, 0x080c, 0x0fdf, 0x9006, 0xa802, 0xa806, 0x0804, - 0x337e, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, + 0x33d3, 0x810c, 0x0016, 0x080c, 0x489a, 0x080c, 0x0f37, 0x2100, + 0x2238, 0x7d84, 0x7c88, 0x7b8c, 0x7a90, 0x001e, 0x080c, 0x48e3, + 0x701f, 0x53e3, 0x0005, 0x2079, 0x0000, 0x7d94, 0x7c98, 0x7ba8, + 0x7aac, 0x79a4, 0x810c, 0x2061, 0x18b6, 0x2c44, 0xa770, 0xa074, + 0x2071, 0x189c, 0x080c, 0x48e6, 0x701f, 0x53f7, 0x0005, 0x2061, + 0x18b6, 0x2c44, 0x0016, 0x0026, 0xa270, 0xa174, 0x080c, 0x0f3f, + 0x002e, 0x001e, 0x080c, 0x0fec, 0x9006, 0xa802, 0xa806, 0x0804, + 0x339e, 0x0126, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2061, 0x0100, 0x2069, 0x0200, 0x2071, - 0x1800, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, 0x080c, 0x5592, - 0x0068, 0xd08c, 0x0118, 0x080c, 0x549b, 0x0040, 0xd094, 0x0118, - 0x080c, 0x546b, 0x0018, 0xd09c, 0x0108, 0x0099, 0x00fe, 0x00ee, + 0x1800, 0x6044, 0xd0a4, 0x11e8, 0xd084, 0x0118, 0x080c, 0x55b2, + 0x0068, 0xd08c, 0x0118, 0x080c, 0x54bb, 0x0040, 0xd094, 0x0118, + 0x080c, 0x548b, 0x0018, 0xd09c, 0x0108, 0x0099, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x012e, 0x0005, 0x0016, 0x6128, 0xd19c, 0x1110, 0xc19d, 0x612a, 0x001e, 0x0c68, 0x0006, 0x7094, 0x9005, 0x000e, 0x0120, 0x7097, 0x0000, @@ -2491,215 +2495,215 @@ unsigned short risc_code01[] = { 0xf0f0, 0x0130, 0x624a, 0x6043, 0x0090, 0x6043, 0x0010, 0x0490, 0x9294, 0xff00, 0x9296, 0xf700, 0x0178, 0x7138, 0xd1a4, 0x1160, 0x6240, 0x9295, 0x0100, 0x6242, 0x9294, 0x0010, 0x0128, 0x2009, - 0x00f7, 0x080c, 0x5c53, 0x00f0, 0x6040, 0x9084, 0x0010, 0x9085, + 0x00f7, 0x080c, 0x5c73, 0x00f0, 0x6040, 0x9084, 0x0010, 0x9085, 0x0140, 0x6042, 0x6043, 0x0000, 0x7083, 0x0000, 0x709f, 0x0001, 0x70c3, 0x0000, 0x70db, 0x0000, 0x2009, 0x1d80, 0x200b, 0x0000, - 0x7093, 0x0000, 0x7087, 0x000f, 0x2009, 0x000f, 0x2011, 0x5b35, - 0x080c, 0x81fc, 0x0005, 0x2001, 0x1875, 0x2004, 0xd08c, 0x0110, - 0x705b, 0xffff, 0x7084, 0x9005, 0x1528, 0x2011, 0x5b35, 0x080c, - 0x8138, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, 0x20a9, - 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x5481, 0x6242, 0x7097, + 0x7093, 0x0000, 0x7087, 0x000f, 0x2009, 0x000f, 0x2011, 0x5b55, + 0x080c, 0x8230, 0x0005, 0x2001, 0x187d, 0x2004, 0xd08c, 0x0110, + 0x705b, 0xffff, 0x7084, 0x9005, 0x1528, 0x2011, 0x5b55, 0x080c, + 0x816c, 0x6040, 0x9094, 0x0010, 0x9285, 0x0020, 0x6042, 0x20a9, + 0x00c8, 0x6044, 0xd08c, 0x1168, 0x1f04, 0x54a1, 0x6242, 0x7097, 0x0000, 0x6040, 0x9094, 0x0010, 0x9285, 0x0080, 0x6042, 0x6242, 0x0048, 0x6242, 0x7097, 0x0000, 0x708b, 0x0000, 0x9006, 0x080c, - 0x5cdc, 0x0000, 0x0005, 0x7088, 0x908a, 0x0003, 0x1a0c, 0x0d65, - 0x000b, 0x0005, 0x54a5, 0x54f6, 0x5591, 0x00f6, 0x0016, 0x6900, + 0x5cfc, 0x0000, 0x0005, 0x7088, 0x908a, 0x0003, 0x1a0c, 0x0d65, + 0x000b, 0x0005, 0x54c5, 0x5516, 0x55b1, 0x00f6, 0x0016, 0x6900, 0x918c, 0x0800, 0x708b, 0x0001, 0x2001, 0x015d, 0x2003, 0x0000, 0x6803, 0x00fc, 0x20a9, 0x0004, 0x6800, 0x9084, 0x00fc, 0x0120, - 0x1f04, 0x54b4, 0x080c, 0x0d65, 0x68a0, 0x68a2, 0x689c, 0x689e, + 0x1f04, 0x54d4, 0x080c, 0x0d65, 0x68a0, 0x68a2, 0x689c, 0x689e, 0x6898, 0x689a, 0xa001, 0x918d, 0x1600, 0x6902, 0x001e, 0x6837, - 0x0020, 0x080c, 0x5cb8, 0x2079, 0x1d00, 0x7833, 0x1101, 0x7837, + 0x0020, 0x080c, 0x5cd8, 0x2079, 0x1d00, 0x7833, 0x1101, 0x7837, 0x0000, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0001, 0x20a1, - 0x1d0e, 0x20a9, 0x0004, 0x4003, 0x080c, 0x97e8, 0x20e1, 0x0001, + 0x1d0e, 0x20a9, 0x0004, 0x4003, 0x080c, 0x97f4, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x0014, - 0x4003, 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, 0x5b66, 0x00fe, + 0x4003, 0x60c3, 0x000c, 0x600f, 0x0000, 0x080c, 0x5b86, 0x00fe, 0x9006, 0x708e, 0x6043, 0x0008, 0x6042, 0x0005, 0x00f6, 0x708c, - 0x708f, 0x0000, 0x9025, 0x0904, 0x556e, 0x6020, 0xd0b4, 0x1904, - 0x556c, 0x719c, 0x81ff, 0x0904, 0x555a, 0x9486, 0x000c, 0x1904, - 0x5567, 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, 0x5cb1, 0x2011, + 0x708f, 0x0000, 0x9025, 0x0904, 0x558e, 0x6020, 0xd0b4, 0x1904, + 0x558c, 0x719c, 0x81ff, 0x0904, 0x557a, 0x9486, 0x000c, 0x1904, + 0x5587, 0x9480, 0x0018, 0x8004, 0x20a8, 0x080c, 0x5cd1, 0x2011, 0x0260, 0x2019, 0x1d00, 0x220c, 0x2304, 0x9106, 0x11e8, 0x8210, - 0x8318, 0x1f04, 0x5513, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, + 0x8318, 0x1f04, 0x5533, 0x6043, 0x0004, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0006, 0x708b, - 0x0002, 0x7097, 0x0002, 0x2009, 0x07d0, 0x2011, 0x5b3c, 0x080c, - 0x81fc, 0x080c, 0x5cb8, 0x04c0, 0x080c, 0x5cb1, 0x2079, 0x0260, + 0x0002, 0x7097, 0x0002, 0x2009, 0x07d0, 0x2011, 0x5b5c, 0x080c, + 0x8230, 0x080c, 0x5cd8, 0x04c0, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7930, 0x918e, 0x1101, 0x1558, 0x7834, 0x9005, 0x1540, 0x7900, - 0x918c, 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, 0x080c, 0x5cb1, + 0x918c, 0x00ff, 0x1118, 0x7804, 0x9005, 0x0190, 0x080c, 0x5cd1, 0x2011, 0x026e, 0x2019, 0x1805, 0x20a9, 0x0004, 0x220c, 0x2304, - 0x9102, 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, 0x554e, 0x0078, - 0x709f, 0x0000, 0x080c, 0x5cb1, 0x20e1, 0x0000, 0x2099, 0x0260, + 0x9102, 0x0230, 0x11a0, 0x8210, 0x8318, 0x1f04, 0x556e, 0x0078, + 0x709f, 0x0000, 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0001, 0x20a1, 0x1d00, 0x20a9, 0x0014, 0x4003, 0x6043, 0x0008, 0x6043, 0x0000, 0x0010, 0x00fe, 0x0005, 0x6040, 0x9085, - 0x0100, 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, 0x97e8, 0x20e1, + 0x0100, 0x6042, 0x6020, 0xd0b4, 0x1db8, 0x080c, 0x97f4, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, - 0x0014, 0x4003, 0x60c3, 0x000c, 0x2011, 0x19c4, 0x2013, 0x0000, - 0x708f, 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x8f8f, + 0x0014, 0x4003, 0x60c3, 0x000c, 0x2011, 0x19cc, 0x2013, 0x0000, + 0x708f, 0x0000, 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x8fc3, 0x08d8, 0x0005, 0x7094, 0x908a, 0x001d, 0x1a0c, 0x0d65, 0x000b, - 0x0005, 0x55c3, 0x55d6, 0x55ff, 0x561f, 0x5645, 0x5674, 0x569a, - 0x56d2, 0x56f8, 0x5726, 0x5761, 0x5799, 0x57b7, 0x57e2, 0x5804, - 0x581f, 0x5829, 0x585d, 0x5883, 0x58b2, 0x58d8, 0x5910, 0x5954, - 0x5991, 0x59b2, 0x5a0b, 0x5a2d, 0x5a5b, 0x5a5b, 0x00c6, 0x2061, + 0x0005, 0x55e3, 0x55f6, 0x561f, 0x563f, 0x5665, 0x5694, 0x56ba, + 0x56f2, 0x5718, 0x5746, 0x5781, 0x57b9, 0x57d7, 0x5802, 0x5824, + 0x583f, 0x5849, 0x587d, 0x58a3, 0x58d2, 0x58f8, 0x5930, 0x5974, + 0x59b1, 0x59d2, 0x5a2b, 0x5a4d, 0x5a7b, 0x5a7b, 0x00c6, 0x2061, 0x1800, 0x6003, 0x0007, 0x2061, 0x0100, 0x6004, 0x9084, 0xfff9, 0x6006, 0x00ce, 0x0005, 0x2061, 0x0140, 0x605b, 0xbc94, 0x605f, 0xf0f0, 0x2061, 0x0100, 0x6043, 0x0002, 0x7097, 0x0001, 0x2009, - 0x07d0, 0x2011, 0x5b3c, 0x080c, 0x81fc, 0x0005, 0x00f6, 0x708c, + 0x07d0, 0x2011, 0x5b5c, 0x080c, 0x8230, 0x0005, 0x00f6, 0x708c, 0x9086, 0x0014, 0x1510, 0x6042, 0x6020, 0xd0b4, 0x11f0, 0x080c, - 0x5cb1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x11a0, 0x7834, + 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x11a0, 0x7834, 0x9005, 0x1188, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, - 0x70c3, 0x0001, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x7097, 0x0010, - 0x080c, 0x5829, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x00f6, - 0x7097, 0x0003, 0x6043, 0x0004, 0x2011, 0x5b3c, 0x080c, 0x8138, - 0x080c, 0x5c35, 0x2079, 0x0240, 0x7833, 0x1102, 0x7837, 0x0000, + 0x70c3, 0x0001, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x7097, 0x0010, + 0x080c, 0x5849, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x00f6, + 0x7097, 0x0003, 0x6043, 0x0004, 0x2011, 0x5b5c, 0x080c, 0x816c, + 0x080c, 0x5c55, 0x2079, 0x0240, 0x7833, 0x1102, 0x7837, 0x0000, 0x20a9, 0x0008, 0x9f88, 0x000e, 0x200b, 0x0000, 0x8108, 0x1f04, - 0x5614, 0x60c3, 0x0014, 0x080c, 0x5b66, 0x00fe, 0x0005, 0x00f6, - 0x708c, 0x9005, 0x0500, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x9086, - 0x0014, 0x11b8, 0x080c, 0x5cb1, 0x2079, 0x0260, 0x7a30, 0x9296, + 0x5634, 0x60c3, 0x0014, 0x080c, 0x5b86, 0x00fe, 0x0005, 0x00f6, + 0x708c, 0x9005, 0x0500, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x9086, + 0x0014, 0x11b8, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1102, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x0004, 0x0029, - 0x0010, 0x080c, 0x5c8d, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0005, - 0x080c, 0x5c35, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, - 0x080c, 0x5cb1, 0x080c, 0x5c94, 0x1170, 0x7080, 0x9005, 0x1158, - 0x7158, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5ae9, - 0x0168, 0x080c, 0x5c6a, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, + 0x0010, 0x080c, 0x5cad, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0005, + 0x080c, 0x5c55, 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, + 0x080c, 0x5cd1, 0x080c, 0x5cb4, 0x1170, 0x7080, 0x9005, 0x1158, + 0x7158, 0x9186, 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5b09, + 0x0168, 0x080c, 0x5c8a, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, - 0x080c, 0x5b66, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, - 0x2011, 0x5b3c, 0x080c, 0x8138, 0x9086, 0x0014, 0x11b8, 0x080c, - 0x5cb1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, + 0x080c, 0x5b86, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, + 0x2011, 0x5b5c, 0x080c, 0x816c, 0x9086, 0x0014, 0x11b8, 0x080c, + 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, - 0x70c3, 0x0001, 0x7097, 0x0006, 0x0029, 0x0010, 0x080c, 0x5c8d, - 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0007, 0x080c, 0x5c35, 0x2079, - 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x5cb1, 0x080c, - 0x5c94, 0x11b8, 0x7080, 0x9005, 0x11a0, 0x7160, 0x9186, 0xffff, - 0x0180, 0x9180, 0x317f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, - 0x0008, 0x080c, 0x5ae9, 0x0180, 0x080c, 0x4c92, 0x0110, 0x080c, - 0x24a6, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, - 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b66, - 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b3c, - 0x080c, 0x8138, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cb1, 0x2079, + 0x70c3, 0x0001, 0x7097, 0x0006, 0x0029, 0x0010, 0x080c, 0x5cad, + 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0007, 0x080c, 0x5c55, 0x2079, + 0x0240, 0x7833, 0x1104, 0x7837, 0x0000, 0x080c, 0x5cd1, 0x080c, + 0x5cb4, 0x11b8, 0x7080, 0x9005, 0x11a0, 0x7160, 0x9186, 0xffff, + 0x0180, 0x9180, 0x319f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, + 0x0008, 0x080c, 0x5b09, 0x0180, 0x080c, 0x4cb2, 0x0110, 0x080c, + 0x24c2, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, + 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b86, + 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b5c, + 0x080c, 0x816c, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, - 0x7097, 0x0008, 0x0029, 0x0010, 0x080c, 0x5c8d, 0x00fe, 0x0005, - 0x00f6, 0x7097, 0x0009, 0x080c, 0x5c35, 0x2079, 0x0240, 0x7833, - 0x1105, 0x7837, 0x0100, 0x080c, 0x5c94, 0x1150, 0x7080, 0x9005, - 0x1138, 0x080c, 0x5a5c, 0x1188, 0x9085, 0x0001, 0x080c, 0x24a6, - 0x20a9, 0x0008, 0x080c, 0x5cb1, 0x20e1, 0x0000, 0x2099, 0x026e, + 0x7097, 0x0008, 0x0029, 0x0010, 0x080c, 0x5cad, 0x00fe, 0x0005, + 0x00f6, 0x7097, 0x0009, 0x080c, 0x5c55, 0x2079, 0x0240, 0x7833, + 0x1105, 0x7837, 0x0100, 0x080c, 0x5cb4, 0x1150, 0x7080, 0x9005, + 0x1138, 0x080c, 0x5a7c, 0x1188, 0x9085, 0x0001, 0x080c, 0x24c2, + 0x20a9, 0x0008, 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, - 0x5b66, 0x0010, 0x080c, 0x55b6, 0x00fe, 0x0005, 0x00f6, 0x708c, - 0x9005, 0x05a8, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x9086, 0x0014, - 0x1560, 0x080c, 0x5cb1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, + 0x5b86, 0x0010, 0x080c, 0x55d6, 0x00fe, 0x0005, 0x00f6, 0x708c, + 0x9005, 0x05a8, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x9086, 0x0014, + 0x1560, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1520, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, 0x921e, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x000a, 0x00b1, 0x0098, 0x9005, 0x1178, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7093, 0x0000, - 0x7097, 0x000e, 0x080c, 0x5804, 0x0010, 0x080c, 0x5c8d, 0x00fe, + 0x7097, 0x000e, 0x080c, 0x5824, 0x0010, 0x080c, 0x5cad, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x000b, 0x2011, 0x1d0e, 0x20e9, 0x0001, - 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, 0x080c, 0x5c35, - 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5c94, + 0x22a0, 0x20a9, 0x0040, 0x2019, 0xffff, 0x4304, 0x080c, 0x5c55, + 0x2079, 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5cb4, 0x0118, 0x2013, 0x0000, 0x0020, 0x705c, 0x9085, 0x0100, 0x2012, 0x20a9, 0x0040, 0x2009, 0x024e, 0x2011, 0x1d0e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, 0x6812, 0x2009, - 0x0240, 0x1f04, 0x5786, 0x60c3, 0x0084, 0x080c, 0x5b66, 0x00fe, - 0x0005, 0x00f6, 0x708c, 0x9005, 0x01c0, 0x2011, 0x5b3c, 0x080c, - 0x8138, 0x9086, 0x0084, 0x1178, 0x080c, 0x5cb1, 0x2079, 0x0260, + 0x0240, 0x1f04, 0x57a6, 0x60c3, 0x0084, 0x080c, 0x5b86, 0x00fe, + 0x0005, 0x00f6, 0x708c, 0x9005, 0x01c0, 0x2011, 0x5b5c, 0x080c, + 0x816c, 0x9086, 0x0084, 0x1178, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1138, 0x7834, 0x9005, 0x1120, 0x7097, - 0x000c, 0x0029, 0x0010, 0x080c, 0x5c8d, 0x00fe, 0x0005, 0x00f6, - 0x7097, 0x000d, 0x080c, 0x5c35, 0x2079, 0x0240, 0x7833, 0x1107, - 0x7837, 0x0000, 0x080c, 0x5cb1, 0x20a9, 0x0040, 0x2011, 0x026e, + 0x000c, 0x0029, 0x0010, 0x080c, 0x5cad, 0x00fe, 0x0005, 0x00f6, + 0x7097, 0x000d, 0x080c, 0x5c55, 0x2079, 0x0240, 0x7833, 0x1107, + 0x7837, 0x0000, 0x080c, 0x5cd1, 0x20a9, 0x0040, 0x2011, 0x026e, 0x2009, 0x024e, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, 0x8000, 0x6816, - 0x2011, 0x0260, 0x1f04, 0x57ca, 0x60c3, 0x0084, 0x080c, 0x5b66, - 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, 0x2011, 0x5b3c, - 0x080c, 0x8138, 0x9086, 0x0084, 0x1198, 0x080c, 0x5cb1, 0x2079, + 0x2011, 0x0260, 0x1f04, 0x57ea, 0x60c3, 0x0084, 0x080c, 0x5b86, + 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, 0x2011, 0x5b5c, + 0x080c, 0x816c, 0x9086, 0x0084, 0x1198, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, 0x1140, - 0x7093, 0x0001, 0x080c, 0x5c07, 0x7097, 0x000e, 0x0029, 0x0010, - 0x080c, 0x5c8d, 0x00fe, 0x0005, 0x918d, 0x0001, 0x080c, 0x5cdc, + 0x7093, 0x0001, 0x080c, 0x5c27, 0x7097, 0x000e, 0x0029, 0x0010, + 0x080c, 0x5cad, 0x00fe, 0x0005, 0x918d, 0x0001, 0x080c, 0x5cfc, 0x7097, 0x000f, 0x708f, 0x0000, 0x2061, 0x0140, 0x605b, 0xbc85, 0x605f, 0xb5b5, 0x2061, 0x0100, 0x6043, 0x0005, 0x6043, 0x0004, - 0x2009, 0x07d0, 0x2011, 0x5b3c, 0x080c, 0x812c, 0x0005, 0x708c, - 0x9005, 0x0130, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x7097, 0x0000, - 0x0005, 0x7097, 0x0011, 0x080c, 0x97e8, 0x080c, 0x5cb1, 0x20e1, + 0x2009, 0x07d0, 0x2011, 0x5b5c, 0x080c, 0x8160, 0x0005, 0x708c, + 0x9005, 0x0130, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x7097, 0x0000, + 0x0005, 0x7097, 0x0011, 0x080c, 0x97f4, 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x748c, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, - 0x4003, 0x080c, 0x5c94, 0x11a0, 0x7178, 0x81ff, 0x0188, 0x900e, - 0x707c, 0x9084, 0x00ff, 0x0160, 0x080c, 0x243d, 0x9186, 0x007e, - 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, 0x080c, 0x5ae9, - 0x60c3, 0x0014, 0x080c, 0x5b66, 0x0005, 0x00f6, 0x708c, 0x9005, - 0x0500, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x9086, 0x0014, 0x11b8, - 0x080c, 0x5cb1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, + 0x4003, 0x080c, 0x5cb4, 0x11a0, 0x7178, 0x81ff, 0x0188, 0x900e, + 0x707c, 0x9084, 0x00ff, 0x0160, 0x080c, 0x2459, 0x9186, 0x007e, + 0x0138, 0x9186, 0x0080, 0x0120, 0x2011, 0x0008, 0x080c, 0x5b09, + 0x60c3, 0x0014, 0x080c, 0x5b86, 0x0005, 0x00f6, 0x708c, 0x9005, + 0x0500, 0x2011, 0x5b5c, 0x080c, 0x816c, 0x9086, 0x0014, 0x11b8, + 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1103, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x0012, 0x0029, 0x0010, 0x708f, - 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0013, 0x080c, 0x5c43, - 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, 0x5cb1, - 0x080c, 0x5c94, 0x1170, 0x7080, 0x9005, 0x1158, 0x7158, 0x9186, - 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5ae9, 0x0168, 0x080c, - 0x5c6a, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, - 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b66, - 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b3c, - 0x080c, 0x8138, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cb1, 0x2079, + 0x0000, 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0013, 0x080c, 0x5c63, + 0x2079, 0x0240, 0x7833, 0x1103, 0x7837, 0x0000, 0x080c, 0x5cd1, + 0x080c, 0x5cb4, 0x1170, 0x7080, 0x9005, 0x1158, 0x7158, 0x9186, + 0xffff, 0x0138, 0x2011, 0x0008, 0x080c, 0x5b09, 0x0168, 0x080c, + 0x5c8a, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, + 0x0000, 0x20a1, 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b86, + 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x0500, 0x2011, 0x5b5c, + 0x080c, 0x816c, 0x9086, 0x0014, 0x11b8, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1104, 0x1178, 0x7834, 0x9005, 0x1160, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x7097, 0x0014, 0x0029, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, - 0x00f6, 0x7097, 0x0015, 0x080c, 0x5c43, 0x2079, 0x0240, 0x7833, - 0x1104, 0x7837, 0x0000, 0x080c, 0x5cb1, 0x080c, 0x5c94, 0x11b8, + 0x00f6, 0x7097, 0x0015, 0x080c, 0x5c63, 0x2079, 0x0240, 0x7833, + 0x1104, 0x7837, 0x0000, 0x080c, 0x5cd1, 0x080c, 0x5cb4, 0x11b8, 0x7080, 0x9005, 0x11a0, 0x7160, 0x9186, 0xffff, 0x0180, 0x9180, - 0x317f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, - 0x5ae9, 0x0180, 0x080c, 0x4c92, 0x0110, 0x080c, 0x24a6, 0x20a9, + 0x319f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2011, 0x0008, 0x080c, + 0x5b09, 0x0180, 0x080c, 0x4cb2, 0x0110, 0x080c, 0x24c2, 0x20a9, 0x0008, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, - 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b66, 0x00fe, 0x0005, - 0x00f6, 0x708c, 0x9005, 0x05f0, 0x2011, 0x5b3c, 0x080c, 0x8138, - 0x9086, 0x0014, 0x15a8, 0x080c, 0x5cb1, 0x2079, 0x0260, 0x7a30, + 0x024e, 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b86, 0x00fe, 0x0005, + 0x00f6, 0x708c, 0x9005, 0x05f0, 0x2011, 0x5b5c, 0x080c, 0x816c, + 0x9086, 0x0014, 0x15a8, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1105, 0x1568, 0x7834, 0x9084, 0x0100, 0x2011, 0x0100, - 0x921e, 0x1168, 0x9085, 0x0001, 0x080c, 0x5cdc, 0x7a38, 0xd2fc, + 0x921e, 0x1168, 0x9085, 0x0001, 0x080c, 0x5cfc, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, 0x0001, 0x0080, 0x9005, 0x11b8, 0x7a38, 0xd2fc, 0x0128, 0x70c0, 0x9005, 0x1110, 0x70c3, - 0x0001, 0x9085, 0x0001, 0x080c, 0x5cdc, 0x7093, 0x0000, 0x7a38, + 0x0001, 0x9085, 0x0001, 0x080c, 0x5cfc, 0x7093, 0x0000, 0x7a38, 0xd2f4, 0x0110, 0x70db, 0x0008, 0x7097, 0x0016, 0x0029, 0x0010, - 0x708f, 0x0000, 0x00fe, 0x0005, 0x080c, 0x97e8, 0x080c, 0x5cb1, + 0x708f, 0x0000, 0x00fe, 0x0005, 0x080c, 0x97f4, 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000e, 0x4003, 0x2011, 0x026d, 0x2204, 0x9084, 0x0100, 0x2011, 0x024d, 0x2012, 0x2011, 0x026e, 0x7097, 0x0017, 0x080c, - 0x5c94, 0x1150, 0x7080, 0x9005, 0x1138, 0x080c, 0x5a5c, 0x1188, - 0x9085, 0x0001, 0x080c, 0x24a6, 0x20a9, 0x0008, 0x080c, 0x5cb1, + 0x5cb4, 0x1150, 0x7080, 0x9005, 0x1138, 0x080c, 0x5a7c, 0x1188, + 0x9085, 0x0001, 0x080c, 0x24c2, 0x20a9, 0x0008, 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x026e, 0x20e9, 0x0000, 0x20a1, 0x024e, - 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b66, 0x0010, 0x080c, 0x55b6, - 0x0005, 0x00f6, 0x708c, 0x9005, 0x01d8, 0x2011, 0x5b3c, 0x080c, - 0x8138, 0x9086, 0x0084, 0x1190, 0x080c, 0x5cb1, 0x2079, 0x0260, + 0x4003, 0x60c3, 0x0014, 0x080c, 0x5b86, 0x0010, 0x080c, 0x55d6, + 0x0005, 0x00f6, 0x708c, 0x9005, 0x01d8, 0x2011, 0x5b5c, 0x080c, + 0x816c, 0x9086, 0x0084, 0x1190, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1106, 0x1150, 0x7834, 0x9005, 0x1138, 0x9006, - 0x080c, 0x5cdc, 0x7097, 0x0018, 0x0029, 0x0010, 0x708f, 0x0000, - 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0019, 0x080c, 0x5c43, 0x2079, - 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5cb1, 0x2009, + 0x080c, 0x5cfc, 0x7097, 0x0018, 0x0029, 0x0010, 0x708f, 0x0000, + 0x00fe, 0x0005, 0x00f6, 0x7097, 0x0019, 0x080c, 0x5c63, 0x2079, + 0x0240, 0x7833, 0x1106, 0x7837, 0x0000, 0x080c, 0x5cd1, 0x2009, 0x026e, 0x2039, 0x1d0e, 0x20a9, 0x0040, 0x213e, 0x8738, 0x8108, 0x9186, 0x0280, 0x1128, 0x6814, 0x8000, 0x6816, 0x2009, 0x0260, - 0x1f04, 0x59c5, 0x2039, 0x1d0e, 0x080c, 0x5c94, 0x11e8, 0x2728, + 0x1f04, 0x59e5, 0x2039, 0x1d0e, 0x080c, 0x5cb4, 0x11e8, 0x2728, 0x2514, 0x8207, 0x9084, 0x00ff, 0x8000, 0x2018, 0x9294, 0x00ff, 0x8007, 0x9205, 0x202a, 0x705c, 0x2310, 0x8214, 0x92a0, 0x1d0e, 0x2414, 0x938c, 0x0001, 0x0118, 0x9294, 0xff00, 0x0018, 0x9294, 0x00ff, 0x8007, 0x9215, 0x2222, 0x20a9, 0x0040, 0x2009, 0x024e, 0x270e, 0x8738, 0x8108, 0x9186, 0x0260, 0x1128, 0x6810, 0x8000, - 0x6812, 0x2009, 0x0240, 0x1f04, 0x59f8, 0x60c3, 0x0084, 0x080c, - 0x5b66, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, 0x2011, - 0x5b3c, 0x080c, 0x8138, 0x9086, 0x0084, 0x1198, 0x080c, 0x5cb1, + 0x6812, 0x2009, 0x0240, 0x1f04, 0x5a18, 0x60c3, 0x0084, 0x080c, + 0x5b86, 0x00fe, 0x0005, 0x00f6, 0x708c, 0x9005, 0x01e0, 0x2011, + 0x5b5c, 0x080c, 0x816c, 0x9086, 0x0084, 0x1198, 0x080c, 0x5cd1, 0x2079, 0x0260, 0x7a30, 0x9296, 0x1107, 0x1158, 0x7834, 0x9005, - 0x1140, 0x7093, 0x0001, 0x080c, 0x5c07, 0x7097, 0x001a, 0x0029, + 0x1140, 0x7093, 0x0001, 0x080c, 0x5c27, 0x7097, 0x001a, 0x0029, 0x0010, 0x708f, 0x0000, 0x00fe, 0x0005, 0x9085, 0x0001, 0x080c, - 0x5cdc, 0x7097, 0x001b, 0x080c, 0x97e8, 0x080c, 0x5cb1, 0x2011, + 0x5cfc, 0x7097, 0x001b, 0x080c, 0x97f4, 0x080c, 0x5cd1, 0x2011, 0x0260, 0x2009, 0x0240, 0x748c, 0x9480, 0x0018, 0x9080, 0x0007, 0x9084, 0x03f8, 0x8004, 0x20a8, 0x220e, 0x8210, 0x8108, 0x9186, 0x0260, 0x1150, 0x6810, 0x8000, 0x6812, 0x2009, 0x0240, 0x6814, - 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5a44, 0x60c3, 0x0084, - 0x080c, 0x5b66, 0x0005, 0x0005, 0x0086, 0x0096, 0x2029, 0x1854, + 0x8000, 0x6816, 0x2011, 0x0260, 0x1f04, 0x5a64, 0x60c3, 0x0084, + 0x080c, 0x5b86, 0x0005, 0x0005, 0x0086, 0x0096, 0x2029, 0x185c, 0x252c, 0x20a9, 0x0008, 0x2041, 0x1d0e, 0x20e9, 0x0001, 0x28a0, - 0x080c, 0x5cb1, 0x20e1, 0x0000, 0x2099, 0x026e, 0x4003, 0x20a9, + 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x026e, 0x4003, 0x20a9, 0x0008, 0x2011, 0x0007, 0xd5d4, 0x0108, 0x9016, 0x2800, 0x9200, 0x200c, 0x91a6, 0xffff, 0x1148, 0xd5d4, 0x0110, 0x8210, 0x0008, - 0x8211, 0x1f04, 0x5a76, 0x0804, 0x5ae5, 0x82ff, 0x1160, 0xd5d4, + 0x8211, 0x1f04, 0x5a96, 0x0804, 0x5b05, 0x82ff, 0x1160, 0xd5d4, 0x0120, 0x91a6, 0x3fff, 0x0d90, 0x0020, 0x91a6, 0x3fff, 0x0904, - 0x5ae5, 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, 0xd5d4, + 0x5b05, 0x918d, 0xc000, 0x20a9, 0x0010, 0x2019, 0x0001, 0xd5d4, 0x0110, 0x2019, 0x0010, 0x2120, 0xd5d4, 0x0110, 0x8423, 0x0008, 0x8424, 0x1240, 0xd5d4, 0x0110, 0x8319, 0x0008, 0x8318, 0x1f04, - 0x5a9c, 0x04d8, 0x23a8, 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, - 0x5aae, 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, 0x0006, 0x2039, + 0x5abc, 0x04d8, 0x23a8, 0x2021, 0x0001, 0x8426, 0x8425, 0x1f04, + 0x5ace, 0x2328, 0x8529, 0x92be, 0x0007, 0x0158, 0x0006, 0x2039, 0x0007, 0x2200, 0x973a, 0x000e, 0x27a8, 0x95a8, 0x0010, 0x1f04, - 0x5abd, 0x755a, 0x95c8, 0x317f, 0x292d, 0x95ac, 0x00ff, 0x757e, - 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x2486, 0x001e, 0x60e7, + 0x5add, 0x755a, 0x95c8, 0x319f, 0x292d, 0x95ac, 0x00ff, 0x757e, + 0x6532, 0x6536, 0x0016, 0x2508, 0x080c, 0x24a2, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x2018, 0x2304, 0x9405, 0x201a, 0x7083, 0x0001, 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20e1, 0x0001, 0x2898, 0x20a9, 0x0008, 0x4003, 0x9085, 0x0001, 0x0008, 0x9006, 0x009e, 0x008e, @@ -2710,52 +2714,52 @@ unsigned short risc_code01[] = { 0x2118, 0x84ff, 0x0120, 0x939a, 0x0010, 0x8421, 0x1de0, 0x2021, 0x0001, 0x83ff, 0x0118, 0x8423, 0x8319, 0x1de8, 0x9238, 0x2029, 0x026e, 0x9528, 0x2504, 0x942c, 0x11b8, 0x9405, 0x203a, 0x715a, - 0x91a0, 0x317f, 0x242d, 0x95ac, 0x00ff, 0x757e, 0x6532, 0x6536, - 0x0016, 0x2508, 0x080c, 0x2486, 0x001e, 0x60e7, 0x0000, 0x65ea, + 0x91a0, 0x319f, 0x242d, 0x95ac, 0x00ff, 0x757e, 0x6532, 0x6536, + 0x0016, 0x2508, 0x080c, 0x24a2, 0x001e, 0x60e7, 0x0000, 0x65ea, 0x7083, 0x0001, 0x9084, 0x0000, 0x0005, 0x00e6, 0x2071, 0x1800, 0x7087, 0x0000, 0x00ee, 0x0005, 0x00e6, 0x00f6, 0x2079, 0x0100, - 0x2071, 0x0140, 0x080c, 0x5bf6, 0x080c, 0x8f9c, 0x7004, 0x9084, - 0x4000, 0x0110, 0x080c, 0x2862, 0x0126, 0x2091, 0x8000, 0x2071, + 0x2071, 0x0140, 0x080c, 0x5c16, 0x080c, 0x8fd0, 0x7004, 0x9084, + 0x4000, 0x0110, 0x080c, 0x2882, 0x0126, 0x2091, 0x8000, 0x2071, 0x1825, 0x2073, 0x0000, 0x7840, 0x0026, 0x0016, 0x2009, 0x00f7, - 0x080c, 0x5c53, 0x001e, 0x9094, 0x0010, 0x9285, 0x0080, 0x7842, + 0x080c, 0x5c73, 0x001e, 0x9094, 0x0010, 0x9285, 0x0080, 0x7842, 0x7a42, 0x002e, 0x012e, 0x00fe, 0x00ee, 0x0005, 0x0126, 0x2091, - 0x8000, 0x080c, 0x27c1, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, - 0x2012, 0x2011, 0x19c4, 0x2013, 0x0000, 0x708f, 0x0000, 0x012e, - 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x8f8f, 0x6144, 0xd184, + 0x8000, 0x080c, 0x27dd, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, + 0x2012, 0x2011, 0x19cc, 0x2013, 0x0000, 0x708f, 0x0000, 0x012e, + 0x60a3, 0x0056, 0x60a7, 0x9575, 0x080c, 0x8fc3, 0x6144, 0xd184, 0x0120, 0x7194, 0x918d, 0x2000, 0x0018, 0x7188, 0x918d, 0x1000, - 0x2011, 0x1969, 0x2112, 0x2009, 0x07d0, 0x2011, 0x5b3c, 0x080c, - 0x81fc, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0x98bb, 0x080c, 0x9b60, 0x080c, 0x98d7, 0x2009, 0x00f7, - 0x080c, 0x5c53, 0x2061, 0x19d3, 0x900e, 0x611a, 0x611e, 0x6172, + 0x2011, 0x1971, 0x2112, 0x2009, 0x07d0, 0x2011, 0x5b5c, 0x080c, + 0x8230, 0x0005, 0x0016, 0x0026, 0x00c6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x98c7, 0x080c, 0x9b6c, 0x080c, 0x98e3, 0x2009, 0x00f7, + 0x080c, 0x5c73, 0x2061, 0x19db, 0x900e, 0x611a, 0x611e, 0x6172, 0x6176, 0x2061, 0x1800, 0x6003, 0x0001, 0x2061, 0x0100, 0x6043, - 0x0090, 0x6043, 0x0010, 0x2009, 0x1969, 0x200b, 0x0000, 0x2009, - 0x002d, 0x2011, 0x5bc2, 0x080c, 0x812c, 0x012e, 0x00ce, 0x002e, + 0x0090, 0x6043, 0x0010, 0x2009, 0x1971, 0x200b, 0x0000, 0x2009, + 0x002d, 0x2011, 0x5be2, 0x080c, 0x8160, 0x012e, 0x00ce, 0x002e, 0x001e, 0x0005, 0x00e6, 0x0006, 0x0126, 0x2091, 0x8000, 0x0471, - 0x2071, 0x0100, 0x080c, 0x8f9c, 0x2071, 0x0140, 0x7004, 0x9084, - 0x4000, 0x0110, 0x080c, 0x2862, 0x080c, 0x709e, 0x0188, 0x080c, - 0x70b9, 0x1170, 0x080c, 0x73a0, 0x0016, 0x080c, 0x2555, 0x2001, - 0x193d, 0x2102, 0x001e, 0x080c, 0x739b, 0x080c, 0x6fc7, 0x0050, - 0x2009, 0x0001, 0x080c, 0x283e, 0x2001, 0x0001, 0x080c, 0x23e2, - 0x080c, 0x5b92, 0x012e, 0x000e, 0x00ee, 0x0005, 0x2001, 0x180e, + 0x2071, 0x0100, 0x080c, 0x8fd0, 0x2071, 0x0140, 0x7004, 0x9084, + 0x4000, 0x0110, 0x080c, 0x2882, 0x080c, 0x70c2, 0x0188, 0x080c, + 0x70dd, 0x1170, 0x080c, 0x73c3, 0x0016, 0x080c, 0x2571, 0x2001, + 0x1945, 0x2102, 0x001e, 0x080c, 0x73be, 0x080c, 0x6feb, 0x0050, + 0x2009, 0x0001, 0x080c, 0x285e, 0x2001, 0x0001, 0x080c, 0x23fe, + 0x080c, 0x5bb2, 0x012e, 0x000e, 0x00ee, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0bc, 0x0158, 0x0026, 0x0036, 0x2011, 0x8017, 0x2001, - 0x1969, 0x201c, 0x080c, 0x48da, 0x003e, 0x002e, 0x0005, 0x20a9, - 0x0012, 0x20e9, 0x0001, 0x20a1, 0x1d80, 0x080c, 0x5cb1, 0x20e9, - 0x0000, 0x2099, 0x026e, 0x0099, 0x20a9, 0x0020, 0x080c, 0x5cab, + 0x1971, 0x201c, 0x080c, 0x48fa, 0x003e, 0x002e, 0x0005, 0x20a9, + 0x0012, 0x20e9, 0x0001, 0x20a1, 0x1d80, 0x080c, 0x5cd1, 0x20e9, + 0x0000, 0x2099, 0x026e, 0x0099, 0x20a9, 0x0020, 0x080c, 0x5ccb, 0x2099, 0x0260, 0x20a1, 0x1d92, 0x0051, 0x20a9, 0x000e, 0x080c, - 0x5cae, 0x2099, 0x0260, 0x20a1, 0x1db2, 0x0009, 0x0005, 0x0016, + 0x5cce, 0x2099, 0x0260, 0x20a1, 0x1db2, 0x0009, 0x0005, 0x0016, 0x0026, 0x3410, 0x3308, 0x2104, 0x8007, 0x2012, 0x8108, 0x8210, - 0x1f04, 0x5c2b, 0x002e, 0x001e, 0x0005, 0x080c, 0x97e8, 0x20e1, + 0x1f04, 0x5c4b, 0x002e, 0x001e, 0x0005, 0x080c, 0x97f4, 0x20e1, 0x0001, 0x2099, 0x1d00, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, - 0x000c, 0x4003, 0x0005, 0x080c, 0x97e8, 0x080c, 0x5cb1, 0x20e1, + 0x000c, 0x4003, 0x0005, 0x080c, 0x97f4, 0x080c, 0x5cd1, 0x20e1, 0x0000, 0x2099, 0x0260, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000c, 0x4003, 0x0005, 0x00c6, 0x0006, 0x2061, 0x0100, 0x810f, 0x2001, 0x1833, 0x2004, 0x9005, 0x1138, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x9105, 0x0010, 0x9185, 0x00f7, 0x604a, 0x000e, - 0x00ce, 0x0005, 0x0016, 0x0046, 0x080c, 0x6662, 0x0158, 0x9006, - 0x2020, 0x2009, 0x002a, 0x080c, 0xd284, 0x2001, 0x180c, 0x200c, - 0xc195, 0x2102, 0x2019, 0x002a, 0x900e, 0x080c, 0x2fd3, 0x080c, - 0xbf61, 0x0140, 0x0036, 0x2019, 0xffff, 0x2021, 0x0007, 0x080c, - 0x4a77, 0x003e, 0x004e, 0x001e, 0x0005, 0x080c, 0x5b92, 0x7097, + 0x00ce, 0x0005, 0x0016, 0x0046, 0x080c, 0x6686, 0x0158, 0x9006, + 0x2020, 0x2009, 0x002a, 0x080c, 0xd2bc, 0x2001, 0x180c, 0x200c, + 0xc195, 0x2102, 0x2019, 0x002a, 0x900e, 0x080c, 0x2ff3, 0x080c, + 0xbf8f, 0x0140, 0x0036, 0x2019, 0xffff, 0x2021, 0x0007, 0x080c, + 0x4a97, 0x003e, 0x004e, 0x001e, 0x0005, 0x080c, 0x5bb2, 0x7097, 0x0000, 0x708f, 0x0000, 0x0005, 0x0006, 0x2001, 0x180c, 0x2004, 0xd09c, 0x0100, 0x000e, 0x0005, 0x0006, 0x0016, 0x0126, 0x2091, 0x8000, 0x2001, 0x0101, 0x200c, 0x918d, 0x0006, 0x2102, 0x012e, @@ -2765,28 +2769,28 @@ unsigned short risc_code01[] = { 0x0001, 0x20a1, 0x1d00, 0x4004, 0x2079, 0x1d00, 0x7803, 0x2200, 0x7807, 0x00ef, 0x780f, 0x00ef, 0x7813, 0x0138, 0x7823, 0xffff, 0x7827, 0xffff, 0x01de, 0x014e, 0x015e, 0x00fe, 0x0005, 0x2001, - 0x1800, 0x2003, 0x0001, 0x0005, 0x2001, 0x1976, 0x0118, 0x2003, + 0x1800, 0x2003, 0x0001, 0x0005, 0x2001, 0x197e, 0x0118, 0x2003, 0x0001, 0x0010, 0x2003, 0x0000, 0x0005, 0x0156, 0x20a9, 0x0800, - 0x2009, 0x1000, 0x9006, 0x200a, 0x8108, 0x1f04, 0x5ceb, 0x015e, - 0x0005, 0x00d6, 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0x1853, + 0x2009, 0x1000, 0x9006, 0x200a, 0x8108, 0x1f04, 0x5d0b, 0x015e, + 0x0005, 0x00d6, 0x0036, 0x0156, 0x0136, 0x0146, 0x2069, 0x185b, 0x9006, 0xb802, 0xb8c6, 0xb807, 0x0707, 0xb80a, 0xb80e, 0xb812, - 0x9198, 0x317f, 0x231d, 0x939c, 0x00ff, 0xbb16, 0x0016, 0x0026, - 0xb886, 0x080c, 0x9b59, 0x1120, 0x9192, 0x007e, 0x1208, 0xbb86, + 0x9198, 0x319f, 0x231d, 0x939c, 0x00ff, 0xbb16, 0x0016, 0x0026, + 0xb886, 0x080c, 0x9b65, 0x1120, 0x9192, 0x007e, 0x1208, 0xbb86, 0x20a9, 0x0004, 0xb8b4, 0x20e8, 0xb9b8, 0x9198, 0x0006, 0x9006, 0x23a0, 0x4004, 0x20a9, 0x0004, 0x9198, 0x000a, 0x23a0, 0x4004, 0x002e, 0x001e, 0xb83e, 0xb842, 0xb8be, 0xb8c2, 0xb85e, 0xb862, 0xb866, 0xb86a, 0xb86f, 0x0100, 0xb872, 0xb876, 0xb87a, 0xb88a, 0xb88e, 0xb893, 0x0008, 0xb896, 0xb89a, 0xb89e, 0xb8ae, 0xb9a2, - 0x0096, 0xb8a4, 0x904d, 0x0110, 0x080c, 0x1054, 0xb8a7, 0x0000, + 0x0096, 0xb8a4, 0x904d, 0x0110, 0x080c, 0x1061, 0xb8a7, 0x0000, 0x009e, 0x9006, 0xb84a, 0x6810, 0xb83a, 0x680c, 0xb846, 0x6814, 0x9084, 0x00ff, 0xb842, 0x014e, 0x013e, 0x015e, 0x003e, 0x00de, 0x0005, 0x0126, 0x2091, 0x8000, 0xa974, 0xae78, 0x9684, 0x3fff, - 0x9082, 0x4000, 0x1a04, 0x5daf, 0x9182, 0x0800, 0x1a04, 0x5db3, - 0x2001, 0x180c, 0x2004, 0x9084, 0x0003, 0x1904, 0x5db9, 0x9188, + 0x9082, 0x4000, 0x1a04, 0x5dcf, 0x9182, 0x0800, 0x1a04, 0x5dd3, + 0x2001, 0x180c, 0x2004, 0x9084, 0x0003, 0x1904, 0x5dd9, 0x9188, 0x1000, 0x2104, 0x905d, 0x0198, 0xb804, 0x9084, 0x00ff, 0x908e, - 0x0006, 0x1188, 0xb8a4, 0x900d, 0x1904, 0x5dcb, 0x080c, 0x6125, + 0x0006, 0x1188, 0xb8a4, 0x900d, 0x1904, 0x5deb, 0x080c, 0x6149, 0x9006, 0x012e, 0x0005, 0x2001, 0x0005, 0x900e, 0x04b8, 0x2001, - 0x0028, 0x900e, 0x0498, 0x9082, 0x0006, 0x1290, 0x080c, 0x9b59, + 0x0028, 0x900e, 0x0498, 0x9082, 0x0006, 0x1290, 0x080c, 0x9b65, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0d10, 0x2001, 0x0029, 0x2009, 0x1000, 0x0408, 0x2001, 0x0028, 0x00a8, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0068, @@ -2794,22 +2798,22 @@ unsigned short risc_code01[] = { 0xd1fc, 0x0118, 0x2009, 0x1000, 0x0048, 0x900e, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x012e, 0x0005, 0x2001, 0x180c, 0x2004, 0xd084, 0x19d0, 0x9188, 0x1000, - 0x2104, 0x9065, 0x09a8, 0x080c, 0x6666, 0x1990, 0xb800, 0xd0bc, - 0x0978, 0x0804, 0x5d72, 0x080c, 0x64da, 0x0904, 0x5d7b, 0x0804, - 0x5d76, 0x00e6, 0x2071, 0x19b7, 0x7004, 0x9086, 0x0002, 0x1128, + 0x2104, 0x9065, 0x09a8, 0x080c, 0x668a, 0x1990, 0xb800, 0xd0bc, + 0x0978, 0x0804, 0x5d92, 0x080c, 0x64fe, 0x0904, 0x5d9b, 0x0804, + 0x5d96, 0x00e6, 0x2071, 0x19bf, 0x7004, 0x9086, 0x0002, 0x1128, 0x7030, 0x9080, 0x0004, 0x2004, 0x9b06, 0x00ee, 0x0005, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, 0xa974, 0x9182, 0x0800, 0x1a04, - 0x5e5a, 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, 0x5e32, 0xb8a0, - 0x9086, 0x007f, 0x0178, 0x080c, 0x666e, 0x0160, 0xa994, 0x81ff, + 0x5e7a, 0x9188, 0x1000, 0x2104, 0x905d, 0x0904, 0x5e52, 0xb8a0, + 0x9086, 0x007f, 0x0178, 0x080c, 0x6692, 0x0160, 0xa994, 0x81ff, 0x0130, 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x080c, - 0x6666, 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, 0x9005, 0x01c8, - 0x2060, 0x0026, 0x2010, 0x080c, 0xb830, 0x002e, 0x1120, 0x2001, - 0x0008, 0x0804, 0x5e5c, 0x6020, 0x9086, 0x000a, 0x0120, 0x2001, - 0x0008, 0x0804, 0x5e5c, 0x601a, 0x6003, 0x0008, 0x2900, 0x6016, - 0x0058, 0x080c, 0x9b84, 0x05e8, 0x2b00, 0x6012, 0x2900, 0x6016, - 0x600b, 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, 0x080c, 0x9c76, + 0x668a, 0x1598, 0xa87c, 0xd0fc, 0x01e0, 0xa894, 0x9005, 0x01c8, + 0x2060, 0x0026, 0x2010, 0x080c, 0xb85e, 0x002e, 0x1120, 0x2001, + 0x0008, 0x0804, 0x5e7c, 0x6020, 0x9086, 0x000a, 0x0120, 0x2001, + 0x0008, 0x0804, 0x5e7c, 0x601a, 0x6003, 0x0008, 0x2900, 0x6016, + 0x0058, 0x080c, 0x9b90, 0x05e8, 0x2b00, 0x6012, 0x2900, 0x6016, + 0x600b, 0xffff, 0x6023, 0x000a, 0x2009, 0x0003, 0x080c, 0x9c82, 0x9006, 0x0458, 0x2001, 0x0028, 0x0438, 0x9082, 0x0006, 0x1290, - 0x080c, 0x9b59, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, + 0x080c, 0x9b65, 0x1160, 0xb8a0, 0x9084, 0xff80, 0x1140, 0xb900, 0xd1fc, 0x0900, 0x2001, 0x0029, 0x2009, 0x1000, 0x00a8, 0x2001, 0x0028, 0x0090, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0050, 0xd184, 0x0118, 0x2001, 0x0004, 0x0028, 0x2001, @@ -2822,3596 +2826,3599 @@ unsigned short risc_code01[] = { 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9006, 0x0008, 0x9005, - 0x012e, 0x00be, 0x00fe, 0x0005, 0x5ef1, 0x5eac, 0x5ec3, 0x5ef1, - 0x5ef1, 0x5ef1, 0x5ef1, 0x5ef1, 0x2100, 0x9082, 0x007e, 0x1278, - 0x080c, 0x620b, 0x0148, 0x9046, 0xb810, 0x9306, 0x1904, 0x5ef9, + 0x012e, 0x00be, 0x00fe, 0x0005, 0x5f11, 0x5ecc, 0x5ee3, 0x5f11, + 0x5f11, 0x5f11, 0x5f11, 0x5f11, 0x2100, 0x9082, 0x007e, 0x1278, + 0x080c, 0x622f, 0x0148, 0x9046, 0xb810, 0x9306, 0x1904, 0x5f19, 0xb814, 0x9206, 0x15f0, 0x0028, 0xbb12, 0xba16, 0x0010, 0x080c, - 0x4794, 0x0150, 0x04b0, 0x080c, 0x626b, 0x1598, 0xb810, 0x9306, - 0x1580, 0xb814, 0x9206, 0x1568, 0x080c, 0x9b84, 0x0530, 0x2b00, - 0x6012, 0x080c, 0xbcdb, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, - 0x000a, 0xa878, 0x9086, 0x0001, 0x1170, 0x080c, 0x300e, 0x9006, - 0x080c, 0x61a8, 0x2001, 0x0002, 0x080c, 0x61bc, 0x2001, 0x0200, - 0xb86e, 0xb893, 0x0002, 0x2009, 0x0003, 0x080c, 0x9c76, 0x9006, + 0x47b4, 0x0150, 0x04b0, 0x080c, 0x628f, 0x1598, 0xb810, 0x9306, + 0x1580, 0xb814, 0x9206, 0x1568, 0x080c, 0x9b90, 0x0530, 0x2b00, + 0x6012, 0x080c, 0xbd09, 0x2900, 0x6016, 0x600b, 0xffff, 0x6023, + 0x000a, 0xa878, 0x9086, 0x0001, 0x1170, 0x080c, 0x302e, 0x9006, + 0x080c, 0x61cc, 0x2001, 0x0002, 0x080c, 0x61e0, 0x2001, 0x0200, + 0xb86e, 0xb893, 0x0002, 0x2009, 0x0003, 0x080c, 0x9c82, 0x9006, 0x0068, 0x2001, 0x0001, 0x900e, 0x0038, 0x2001, 0x002c, 0x900e, 0x0018, 0x2001, 0x0028, 0x900e, 0x9005, 0x0000, 0x012e, 0x00be, 0x00fe, 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x0126, 0x2091, 0x8000, - 0xa894, 0x90c6, 0x0015, 0x0904, 0x60ce, 0x90c6, 0x0056, 0x0904, - 0x60d2, 0x90c6, 0x0066, 0x0904, 0x60d6, 0x90c6, 0x0067, 0x0904, - 0x60da, 0x90c6, 0x0068, 0x0904, 0x60de, 0x90c6, 0x0071, 0x0904, - 0x60e2, 0x90c6, 0x0074, 0x0904, 0x60e6, 0x90c6, 0x007c, 0x0904, - 0x60ea, 0x90c6, 0x007e, 0x0904, 0x60ee, 0x90c6, 0x0037, 0x0904, - 0x60f2, 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, 0x00ff, 0x0904, - 0x60c9, 0x9182, 0x0800, 0x1a04, 0x60c9, 0x080c, 0x626b, 0x1198, + 0xa894, 0x90c6, 0x0015, 0x0904, 0x60f2, 0x90c6, 0x0056, 0x0904, + 0x60f6, 0x90c6, 0x0066, 0x0904, 0x60fa, 0x90c6, 0x0067, 0x0904, + 0x60fe, 0x90c6, 0x0068, 0x0904, 0x6102, 0x90c6, 0x0071, 0x0904, + 0x6106, 0x90c6, 0x0074, 0x0904, 0x610a, 0x90c6, 0x007c, 0x0904, + 0x610e, 0x90c6, 0x007e, 0x0904, 0x6112, 0x90c6, 0x0037, 0x0904, + 0x6116, 0x9016, 0x2079, 0x1800, 0xa974, 0x9186, 0x00ff, 0x0904, + 0x60ed, 0x9182, 0x0800, 0x1a04, 0x60ed, 0x080c, 0x628f, 0x1198, 0xb804, 0x9084, 0x00ff, 0x9082, 0x0006, 0x1268, 0xa894, 0x90c6, - 0x006f, 0x0148, 0x080c, 0x9b59, 0x1904, 0x60b2, 0xb8a0, 0x9084, - 0xff80, 0x1904, 0x60b2, 0xa894, 0x90c6, 0x006f, 0x0158, 0x90c6, - 0x005e, 0x0904, 0x6012, 0x90c6, 0x0064, 0x0904, 0x603b, 0x2008, - 0x0804, 0x5fd5, 0xa998, 0xa8b0, 0x2040, 0x080c, 0x9b59, 0x1120, - 0x9182, 0x007f, 0x0a04, 0x5fd5, 0x9186, 0x00ff, 0x0904, 0x5fd5, - 0x9182, 0x0800, 0x1a04, 0x5fd5, 0xaaa0, 0xab9c, 0x7878, 0x9306, - 0x1188, 0x787c, 0x0096, 0x924e, 0x1128, 0x2208, 0x2310, 0x009e, - 0x0804, 0x5fd5, 0x99cc, 0xff00, 0x009e, 0x1120, 0x2208, 0x2310, - 0x0804, 0x5fd5, 0x080c, 0x4794, 0x0904, 0x5fde, 0x900e, 0x9016, - 0x90c6, 0x4000, 0x1558, 0x0006, 0x080c, 0x655e, 0x1108, 0xc185, - 0xb800, 0xd0bc, 0x0108, 0xc18d, 0x20a9, 0x0004, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, - 0x0006, 0x2098, 0x080c, 0x0f9f, 0x20a9, 0x0004, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, - 0x000a, 0x2098, 0x080c, 0x0f9f, 0x000e, 0x00c8, 0x90c6, 0x4007, - 0x1110, 0x2408, 0x00a0, 0x90c6, 0x4008, 0x1118, 0x2708, 0x2610, - 0x0070, 0x90c6, 0x4009, 0x1108, 0x0050, 0x90c6, 0x4006, 0x0138, - 0x2001, 0x4005, 0x2009, 0x000a, 0x0010, 0x2001, 0x4006, 0xa896, - 0xa99a, 0xaa9e, 0x2001, 0x0030, 0x900e, 0x0470, 0x080c, 0x9b84, - 0x1130, 0x2001, 0x4005, 0x2009, 0x0003, 0x9016, 0x0c80, 0x2b00, - 0x6012, 0x080c, 0xbcdb, 0x2900, 0x6016, 0x6023, 0x0001, 0xa868, - 0xd88c, 0x0108, 0xc0f5, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, - 0x300e, 0x012e, 0x9006, 0x080c, 0x61a8, 0x2001, 0x0002, 0x080c, - 0x61bc, 0x2009, 0x0002, 0x080c, 0x9c76, 0xa8b0, 0xd094, 0x0118, - 0xb8c4, 0xc08d, 0xb8c6, 0x9006, 0x9005, 0x012e, 0x00ee, 0x00fe, - 0x00be, 0x0005, 0x080c, 0x539c, 0x0118, 0x2009, 0x0007, 0x00f8, - 0xa998, 0xaeb0, 0x080c, 0x626b, 0x1904, 0x5fd0, 0x9186, 0x007f, - 0x0130, 0x080c, 0x6666, 0x0118, 0x2009, 0x0009, 0x0080, 0x0096, - 0x080c, 0x1022, 0x1120, 0x009e, 0x2009, 0x0002, 0x0040, 0x2900, - 0x009e, 0xa806, 0x080c, 0xba2e, 0x19b0, 0x2009, 0x0003, 0x2001, - 0x4005, 0x0804, 0x5fd7, 0xa998, 0xaeb0, 0x080c, 0x626b, 0x1904, - 0x5fd0, 0x0096, 0x080c, 0x1022, 0x1128, 0x009e, 0x2009, 0x0002, - 0x0804, 0x608f, 0x2900, 0x009e, 0xa806, 0x0096, 0x2048, 0x20a9, - 0x002b, 0xb8b4, 0x20e0, 0xb8b8, 0x2098, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0002, 0x20a0, 0x4003, 0x20a9, 0x0008, 0x9080, 0x0006, - 0x20a0, 0xbbb8, 0x9398, 0x0006, 0x2398, 0x080c, 0x0f9f, 0x009e, - 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xd684, 0x1168, - 0x080c, 0x5388, 0xd0b4, 0x1118, 0xa89b, 0x000b, 0x00e0, 0xb800, - 0xd08c, 0x0118, 0xa89b, 0x000c, 0x00b0, 0x080c, 0x6666, 0x0118, - 0xa89b, 0x0009, 0x0080, 0x080c, 0x539c, 0x0118, 0xa89b, 0x0007, - 0x0050, 0x080c, 0xba11, 0x1904, 0x600b, 0x2009, 0x0003, 0x2001, - 0x4005, 0x0804, 0x5fd7, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa804, - 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, - 0x0002, 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, - 0x0000, 0x2041, 0x1271, 0x080c, 0xa0e7, 0x1904, 0x600b, 0x2009, - 0x0002, 0x08e8, 0x2001, 0x0028, 0x900e, 0x0804, 0x600c, 0x2009, - 0x180c, 0x210c, 0xd18c, 0x0118, 0x2001, 0x0004, 0x0038, 0xd184, - 0x0118, 0x2001, 0x0004, 0x0010, 0x2001, 0x0029, 0x900e, 0x0804, - 0x600c, 0x2001, 0x0029, 0x900e, 0x0804, 0x600c, 0x080c, 0x35ad, - 0x0804, 0x600d, 0x080c, 0x50bd, 0x0804, 0x600d, 0x080c, 0x4353, - 0x0804, 0x600d, 0x080c, 0x43cc, 0x0804, 0x600d, 0x080c, 0x4428, - 0x0804, 0x600d, 0x080c, 0x4850, 0x0804, 0x600d, 0x080c, 0x4af5, - 0x0804, 0x600d, 0x080c, 0x4d28, 0x0804, 0x600d, 0x080c, 0x4f21, - 0x0804, 0x600d, 0x080c, 0x37c2, 0x0804, 0x600d, 0x00b6, 0xa974, - 0xae78, 0x9684, 0x3fff, 0x9082, 0x4000, 0x1608, 0x9182, 0x0800, - 0x1258, 0x9188, 0x1000, 0x2104, 0x905d, 0x0130, 0x080c, 0x6666, - 0x1138, 0x00d9, 0x9006, 0x00b0, 0x2001, 0x0028, 0x900e, 0x0090, - 0x9082, 0x0006, 0x1240, 0xb900, 0xd1fc, 0x0d98, 0x2001, 0x0029, - 0x2009, 0x1000, 0x0038, 0x2001, 0x0029, 0x900e, 0x0018, 0x2001, - 0x0029, 0x900e, 0x9005, 0x00be, 0x0005, 0xa877, 0x0000, 0xb8c0, - 0x9005, 0x1904, 0x619c, 0xb888, 0x9005, 0x1904, 0x619c, 0xb838, - 0xb93c, 0x9102, 0x1a04, 0x619c, 0x2b10, 0x080c, 0x9bb1, 0x0904, - 0x6198, 0x8108, 0xb93e, 0x6212, 0x2900, 0x6016, 0x6023, 0x0003, - 0x600b, 0xffff, 0x6007, 0x0040, 0xa878, 0x605e, 0xa880, 0x9084, - 0x00ff, 0x6066, 0xa883, 0x0000, 0xa87c, 0xd0ac, 0x05c0, 0xc0dd, - 0xa87e, 0xa888, 0x8001, 0x1568, 0x2001, 0x00f8, 0x8001, 0xa001, - 0xa001, 0xa001, 0x1dd8, 0xa816, 0xa864, 0x9094, 0x00f7, 0x9296, - 0x0011, 0x11f8, 0x9084, 0x00ff, 0xc0bd, 0x601e, 0xa8ac, 0xaab0, - 0xa836, 0xaa3a, 0x2001, 0x000f, 0x8001, 0x1df0, 0x2001, 0x8004, - 0x6003, 0x0004, 0x6046, 0x00f6, 0x2079, 0x0380, 0x7818, 0xd0bc, - 0x1de8, 0x7833, 0x0010, 0x2c00, 0x7836, 0x781b, 0x8080, 0x00fe, - 0x0005, 0x080c, 0x165c, 0x601c, 0xc0bd, 0x601e, 0x0c38, 0x0006, - 0x2001, 0x00e8, 0x8001, 0xa001, 0xa001, 0xa001, 0x1dd8, 0x000e, - 0xd0b4, 0x190c, 0x1adf, 0x2001, 0x8004, 0x6003, 0x0002, 0x08d0, - 0x81ff, 0x1110, 0xb88b, 0x0001, 0x2908, 0xb8bc, 0xb9be, 0x9005, - 0x1110, 0xb9c2, 0x0020, 0x0096, 0x2048, 0xa902, 0x009e, 0x0005, - 0x00b6, 0x0126, 0x00c6, 0x0026, 0x2091, 0x8000, 0x6210, 0x2258, - 0xba00, 0x9005, 0x0110, 0xc285, 0x0008, 0xc284, 0xba02, 0x002e, - 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, - 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1170, - 0xb89c, 0xd0ac, 0x0158, 0x080c, 0x6662, 0x0140, 0x9284, 0xff00, - 0x8007, 0x9086, 0x0007, 0x1110, 0x2011, 0x0600, 0x000e, 0x9294, - 0xff00, 0x9215, 0xba06, 0x0006, 0x9086, 0x0006, 0x1120, 0xba90, - 0x82ff, 0x090c, 0x0d65, 0x000e, 0x00ce, 0x012e, 0x00be, 0x0005, + 0x006f, 0x0148, 0x080c, 0x9b65, 0x1904, 0x60d6, 0xb8a0, 0x9084, + 0xff80, 0x1904, 0x60d6, 0xa894, 0x90c6, 0x006f, 0x0158, 0x90c6, + 0x005e, 0x0904, 0x6036, 0x90c6, 0x0064, 0x0904, 0x605f, 0x2008, + 0x0804, 0x5ff9, 0xa998, 0xa8b0, 0x2040, 0x080c, 0x9b65, 0x1120, + 0x9182, 0x007f, 0x0a04, 0x5ff9, 0x9186, 0x00ff, 0x0904, 0x5ff9, + 0x9182, 0x0800, 0x1a04, 0x5ff9, 0xaaa0, 0xab9c, 0x7878, 0x9306, + 0x11a8, 0x787c, 0x0096, 0x924e, 0x1128, 0x2208, 0x2310, 0x009e, + 0x0804, 0x5ff9, 0x080c, 0x9b65, 0x1140, 0x99cc, 0xff00, 0x009e, + 0x1128, 0x2208, 0x2310, 0x0804, 0x5ff9, 0x009e, 0x080c, 0x47b4, + 0x0904, 0x6002, 0x900e, 0x9016, 0x90c6, 0x4000, 0x1558, 0x0006, + 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, + 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, + 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0fac, + 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0035, 0x20a0, + 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x000a, 0x2098, 0x080c, 0x0fac, + 0x000e, 0x00c8, 0x90c6, 0x4007, 0x1110, 0x2408, 0x00a0, 0x90c6, + 0x4008, 0x1118, 0x2708, 0x2610, 0x0070, 0x90c6, 0x4009, 0x1108, + 0x0050, 0x90c6, 0x4006, 0x0138, 0x2001, 0x4005, 0x2009, 0x000a, + 0x0010, 0x2001, 0x4006, 0xa896, 0xa99a, 0xaa9e, 0x2001, 0x0030, + 0x900e, 0x0470, 0x080c, 0x9b90, 0x1130, 0x2001, 0x4005, 0x2009, + 0x0003, 0x9016, 0x0c80, 0x2b00, 0x6012, 0x080c, 0xbd09, 0x2900, + 0x6016, 0x6023, 0x0001, 0xa868, 0xd88c, 0x0108, 0xc0f5, 0xa86a, + 0x0126, 0x2091, 0x8000, 0x080c, 0x302e, 0x012e, 0x9006, 0x080c, + 0x61cc, 0x2001, 0x0002, 0x080c, 0x61e0, 0x2009, 0x0002, 0x080c, + 0x9c82, 0xa8b0, 0xd094, 0x0118, 0xb8c4, 0xc08d, 0xb8c6, 0x9006, + 0x9005, 0x012e, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x080c, 0x53bc, + 0x0118, 0x2009, 0x0007, 0x00f8, 0xa998, 0xaeb0, 0x080c, 0x628f, + 0x1904, 0x5ff4, 0x9186, 0x007f, 0x0130, 0x080c, 0x668a, 0x0118, + 0x2009, 0x0009, 0x0080, 0x0096, 0x080c, 0x102f, 0x1120, 0x009e, + 0x2009, 0x0002, 0x0040, 0x2900, 0x009e, 0xa806, 0x080c, 0xba5c, + 0x19b0, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x5ffb, 0xa998, + 0xaeb0, 0x080c, 0x628f, 0x1904, 0x5ff4, 0x0096, 0x080c, 0x102f, + 0x1128, 0x009e, 0x2009, 0x0002, 0x0804, 0x60b3, 0x2900, 0x009e, + 0xa806, 0x0096, 0x2048, 0x20a9, 0x002b, 0xb8b4, 0x20e0, 0xb8b8, + 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, + 0x20a9, 0x0008, 0x9080, 0x0006, 0x20a0, 0xbbb8, 0x9398, 0x0006, + 0x2398, 0x080c, 0x0fac, 0x009e, 0xa87b, 0x0000, 0xa883, 0x0000, + 0xa897, 0x4000, 0xd684, 0x1168, 0x080c, 0x53a8, 0xd0b4, 0x1118, + 0xa89b, 0x000b, 0x00e0, 0xb800, 0xd08c, 0x0118, 0xa89b, 0x000c, + 0x00b0, 0x080c, 0x668a, 0x0118, 0xa89b, 0x0009, 0x0080, 0x080c, + 0x53bc, 0x0118, 0xa89b, 0x0007, 0x0050, 0x080c, 0xba3f, 0x1904, + 0x602f, 0x2009, 0x0003, 0x2001, 0x4005, 0x0804, 0x5ffb, 0xa87b, + 0x0030, 0xa897, 0x4005, 0xa804, 0x8006, 0x8006, 0x8007, 0x90bc, + 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, + 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x127e, 0x080c, + 0xa0f3, 0x1904, 0x602f, 0x2009, 0x0002, 0x08e8, 0x2001, 0x0028, + 0x900e, 0x0804, 0x6030, 0x2009, 0x180c, 0x210c, 0xd18c, 0x0118, + 0x2001, 0x0004, 0x0038, 0xd184, 0x0118, 0x2001, 0x0004, 0x0010, + 0x2001, 0x0029, 0x900e, 0x0804, 0x6030, 0x2001, 0x0029, 0x900e, + 0x0804, 0x6030, 0x080c, 0x35cd, 0x0804, 0x6031, 0x080c, 0x50dd, + 0x0804, 0x6031, 0x080c, 0x4373, 0x0804, 0x6031, 0x080c, 0x43ec, + 0x0804, 0x6031, 0x080c, 0x4448, 0x0804, 0x6031, 0x080c, 0x4870, + 0x0804, 0x6031, 0x080c, 0x4b15, 0x0804, 0x6031, 0x080c, 0x4d48, + 0x0804, 0x6031, 0x080c, 0x4f41, 0x0804, 0x6031, 0x080c, 0x37e2, + 0x0804, 0x6031, 0x00b6, 0xa974, 0xae78, 0x9684, 0x3fff, 0x9082, + 0x4000, 0x1608, 0x9182, 0x0800, 0x1258, 0x9188, 0x1000, 0x2104, + 0x905d, 0x0130, 0x080c, 0x668a, 0x1138, 0x00d9, 0x9006, 0x00b0, + 0x2001, 0x0028, 0x900e, 0x0090, 0x9082, 0x0006, 0x1240, 0xb900, + 0xd1fc, 0x0d98, 0x2001, 0x0029, 0x2009, 0x1000, 0x0038, 0x2001, + 0x0029, 0x900e, 0x0018, 0x2001, 0x0029, 0x900e, 0x9005, 0x00be, + 0x0005, 0xa877, 0x0000, 0xb8c0, 0x9005, 0x1904, 0x61c0, 0xb888, + 0x9005, 0x1904, 0x61c0, 0xb838, 0xb93c, 0x9102, 0x1a04, 0x61c0, + 0x2b10, 0x080c, 0x9bbd, 0x0904, 0x61bc, 0x8108, 0xb93e, 0x6212, + 0x2900, 0x6016, 0x6023, 0x0003, 0x600b, 0xffff, 0x6007, 0x0040, + 0xa878, 0x605e, 0xa880, 0x9084, 0x00ff, 0x6066, 0xa883, 0x0000, + 0xa87c, 0xd0ac, 0x05c0, 0xc0dd, 0xa87e, 0xa888, 0x8001, 0x1568, + 0x2001, 0x00f8, 0x8001, 0xa001, 0xa001, 0xa001, 0x1dd8, 0xa816, + 0xa864, 0x9094, 0x00f7, 0x9296, 0x0011, 0x11f8, 0x9084, 0x00ff, + 0xc0bd, 0x601e, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x2001, 0x000f, + 0x8001, 0x1df0, 0x2001, 0x8004, 0x6003, 0x0004, 0x6046, 0x00f6, + 0x2079, 0x0380, 0x7818, 0xd0bc, 0x1de8, 0x7833, 0x0010, 0x2c00, + 0x7836, 0x781b, 0x8080, 0x00fe, 0x0005, 0x080c, 0x1669, 0x601c, + 0xc0bd, 0x601e, 0x0c38, 0x0006, 0x2001, 0x00e8, 0x8001, 0xa001, + 0xa001, 0xa001, 0x1dd8, 0x000e, 0xd0b4, 0x190c, 0x1af7, 0x2001, + 0x8004, 0x6003, 0x0002, 0x08d0, 0x81ff, 0x1110, 0xb88b, 0x0001, + 0x2908, 0xb8bc, 0xb9be, 0x9005, 0x1110, 0xb9c2, 0x0020, 0x0096, + 0x2048, 0xa902, 0x009e, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x0026, + 0x2091, 0x8000, 0x6210, 0x2258, 0xba00, 0x9005, 0x0110, 0xc285, + 0x0008, 0xc284, 0xba02, 0x002e, 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x6210, 0x2258, 0xba04, - 0x0006, 0x9086, 0x0006, 0x1168, 0xb89c, 0xd0a4, 0x0150, 0x080c, - 0x665e, 0x1138, 0x9284, 0x00ff, 0x9086, 0x0007, 0x1110, 0x2011, - 0x0006, 0x000e, 0x9294, 0x00ff, 0x8007, 0x9215, 0xba06, 0x00ce, - 0x012e, 0x00be, 0x0005, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, - 0x0005, 0x00d6, 0x0026, 0x9190, 0x1000, 0x2204, 0x905d, 0x1180, - 0x0096, 0x080c, 0x1022, 0x2958, 0x009e, 0x0160, 0x2b00, 0x2012, - 0xb85c, 0xb8ba, 0xb860, 0xb8b6, 0x9006, 0xb8a6, 0x080c, 0x5cf1, - 0x9006, 0x0010, 0x9085, 0x0001, 0x002e, 0x00de, 0x0005, 0x00b6, - 0x0096, 0x0126, 0x2091, 0x8000, 0x0026, 0x9182, 0x0800, 0x0218, - 0x9085, 0x0001, 0x0458, 0x00d6, 0x9190, 0x1000, 0x2204, 0x905d, - 0x0518, 0x2013, 0x0000, 0xb8a4, 0x904d, 0x0110, 0x080c, 0x1054, - 0x00d6, 0x00c6, 0xb8ac, 0x2060, 0x8cff, 0x0168, 0x600c, 0x0006, - 0x6014, 0x2048, 0x080c, 0xb842, 0x0110, 0x080c, 0x0fd4, 0x080c, - 0x9bda, 0x00ce, 0x0c88, 0x00ce, 0x00de, 0x2b48, 0xb8b8, 0xb85e, - 0xb8b4, 0xb862, 0x080c, 0x1064, 0x00de, 0x9006, 0x002e, 0x012e, - 0x009e, 0x00be, 0x0005, 0x0016, 0x9182, 0x0800, 0x0218, 0x9085, - 0x0001, 0x0030, 0x9188, 0x1000, 0x2104, 0x905d, 0x0dc0, 0x9006, - 0x001e, 0x0005, 0x00d6, 0x0156, 0x0136, 0x0146, 0x9006, 0xb80a, - 0xb80e, 0xb800, 0xc08c, 0xb802, 0x080c, 0x7096, 0x1510, 0xb8a0, - 0x9086, 0x007e, 0x0120, 0x080c, 0x9b59, 0x11d8, 0x0078, 0x7040, - 0xd0e4, 0x01b8, 0x00c6, 0x2061, 0x1952, 0x7048, 0x2062, 0x704c, - 0x6006, 0x7050, 0x600a, 0x7054, 0x600e, 0x00ce, 0x703c, 0x2069, - 0x0140, 0x9005, 0x1110, 0x2001, 0x0001, 0x6886, 0x2069, 0x1800, - 0x68b2, 0x7040, 0xb85e, 0x7048, 0xb862, 0x704c, 0xb866, 0x20e1, - 0x0000, 0x2099, 0x0276, 0xb8b4, 0x20e8, 0xb8b8, 0x9088, 0x000a, - 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2099, 0x027a, 0x9088, 0x0006, - 0x21a0, 0x20a9, 0x0004, 0x4003, 0x2069, 0x0200, 0x6817, 0x0001, - 0x7040, 0xb86a, 0x7144, 0xb96e, 0x7048, 0xb872, 0x7050, 0xb876, - 0x2069, 0x0200, 0x6817, 0x0000, 0xb8a0, 0x9086, 0x007e, 0x1110, - 0x7144, 0xb96e, 0x9182, 0x0211, 0x1218, 0x2009, 0x0008, 0x0400, - 0x9182, 0x0259, 0x1218, 0x2009, 0x0007, 0x00d0, 0x9182, 0x02c1, - 0x1218, 0x2009, 0x0006, 0x00a0, 0x9182, 0x0349, 0x1218, 0x2009, - 0x0005, 0x0070, 0x9182, 0x0421, 0x1218, 0x2009, 0x0004, 0x0040, - 0x9182, 0x0581, 0x1218, 0x2009, 0x0003, 0x0010, 0x2009, 0x0002, - 0xb992, 0x014e, 0x013e, 0x015e, 0x00de, 0x0005, 0x0016, 0x0026, - 0x00e6, 0x2071, 0x0260, 0x7034, 0xb896, 0x703c, 0xb89a, 0x7054, - 0xb89e, 0x0036, 0xbbc4, 0xc384, 0xba00, 0x2009, 0x1873, 0x210c, - 0xd0bc, 0x0120, 0xd1ec, 0x0110, 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, - 0x0148, 0xd1e4, 0x0138, 0xc2bd, 0xd0cc, 0x0128, 0xd38c, 0x1108, - 0xc385, 0x0008, 0xc2bc, 0xba02, 0xbbc6, 0x003e, 0x00ee, 0x002e, - 0x001e, 0x0005, 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, - 0x0578, 0xa900, 0x81ff, 0x15c0, 0xaa04, 0x9282, 0x0010, 0x16c8, - 0x0136, 0x0146, 0x01c6, 0x01d6, 0x8906, 0x8006, 0x8007, 0x908c, - 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9080, 0x0004, 0x2098, 0x2009, - 0x0010, 0x20a9, 0x0001, 0x4002, 0x9086, 0xffff, 0x0120, 0x8109, - 0x1dd0, 0x080c, 0x0d65, 0x3c00, 0x20e8, 0x3300, 0x8001, 0x20a0, - 0x4604, 0x8210, 0xaa06, 0x01de, 0x01ce, 0x014e, 0x013e, 0x0060, - 0x080c, 0x1022, 0x0170, 0x2900, 0xb8a6, 0xa803, 0x0000, 0x080c, - 0x64fa, 0xa807, 0x0001, 0xae12, 0x9085, 0x0001, 0x012e, 0x009e, - 0x0005, 0x9006, 0x0cd8, 0x0126, 0x2091, 0x8000, 0x0096, 0xb8a4, - 0x904d, 0x0188, 0xa800, 0x9005, 0x1150, 0x080c, 0x6509, 0x1158, - 0xa804, 0x908a, 0x0002, 0x0218, 0x8001, 0xa806, 0x0020, 0x080c, - 0x1054, 0xb8a7, 0x0000, 0x009e, 0x012e, 0x0005, 0x0096, 0x00c6, - 0xb888, 0x9005, 0x1904, 0x63ef, 0xb8c0, 0x904d, 0x0904, 0x63ef, - 0x080c, 0x9bb1, 0x0904, 0x63eb, 0x8210, 0xba3e, 0xa800, 0xb8c2, - 0x9005, 0x1108, 0xb8be, 0x2b00, 0x6012, 0x2900, 0x6016, 0x6023, - 0x0003, 0x600b, 0xffff, 0x6007, 0x0040, 0xa878, 0x605e, 0xa880, - 0x9084, 0x00ff, 0x6066, 0xa883, 0x0000, 0xa87c, 0xd0ac, 0x01c8, - 0xc0dd, 0xa87e, 0xa888, 0x8001, 0x1568, 0xa816, 0xa864, 0x9094, - 0x00f7, 0x9296, 0x0011, 0x1530, 0x9084, 0x00ff, 0xc0bd, 0x601e, - 0xa8ac, 0xaab0, 0xa836, 0xaa3a, 0x2001, 0x8004, 0x6003, 0x0004, - 0x0030, 0x080c, 0x1adf, 0x2001, 0x8004, 0x6003, 0x0002, 0x6046, - 0x2001, 0x0010, 0x2c08, 0x080c, 0x98ac, 0xb838, 0xba3c, 0x9202, - 0x0a04, 0x639c, 0x0020, 0x82ff, 0x1110, 0xb88b, 0x0001, 0x00ce, - 0x009e, 0x0005, 0x080c, 0x165c, 0x601c, 0xc0bd, 0x601e, 0x08e0, - 0x00b6, 0x0096, 0x0016, 0x20a9, 0x0800, 0x900e, 0x0016, 0x080c, - 0x626b, 0x1158, 0xb8c0, 0x904d, 0x0140, 0x3e00, 0x9086, 0x0002, - 0x1118, 0xb800, 0xd0bc, 0x1108, 0x0041, 0x001e, 0x8108, 0x1f04, - 0x63fe, 0x001e, 0x00be, 0x009e, 0x0005, 0x0096, 0x0016, 0xb8c0, - 0x904d, 0x0188, 0xa800, 0xb8c2, 0x9005, 0x1108, 0xb8be, 0x9006, - 0xa802, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0xbb45, - 0x080c, 0x6991, 0x0c60, 0x001e, 0x009e, 0x0005, 0x0086, 0x9046, - 0xb8c0, 0x904d, 0x01b0, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, - 0x0128, 0x2940, 0xa800, 0x904d, 0x0160, 0x0ca8, 0xa800, 0x88ff, - 0x1128, 0xb8c2, 0x9005, 0x1118, 0xb8be, 0x0008, 0xa002, 0xa803, - 0x0000, 0x008e, 0x0005, 0x901e, 0x0010, 0x2019, 0x0001, 0x0126, - 0x2091, 0x8000, 0x00e6, 0x0096, 0x00c6, 0x0086, 0x0026, 0x2071, - 0x19b7, 0x9046, 0x7028, 0x9065, 0x01e8, 0x6014, 0x2068, 0x83ff, - 0x0120, 0x605c, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, 0x1118, - 0xa870, 0x9506, 0x0120, 0x2c40, 0x600c, 0x2060, 0x0c60, 0x600c, - 0x0006, 0x0066, 0x2830, 0x080c, 0x90f3, 0x006e, 0x000e, 0x83ff, - 0x0508, 0x0c08, 0x9046, 0xb8c0, 0x904d, 0x01e0, 0x83ff, 0x0120, - 0xa878, 0x9606, 0x0158, 0x0030, 0xa86c, 0x9406, 0x1118, 0xa870, - 0x9506, 0x0120, 0x2940, 0xa800, 0x2048, 0x0c70, 0xb8c0, 0xaa00, - 0x0026, 0x9906, 0x1110, 0xbac2, 0x0008, 0xa202, 0x000e, 0x83ff, - 0x0108, 0x0c10, 0x002e, 0x008e, 0x00ce, 0x009e, 0x00ee, 0x012e, - 0x0005, 0x9016, 0x0489, 0x1110, 0x2011, 0x0001, 0x0005, 0x080c, - 0x655e, 0x0128, 0x080c, 0xb903, 0x0010, 0x9085, 0x0001, 0x0005, - 0x080c, 0x655e, 0x0128, 0x080c, 0xb8a4, 0x0010, 0x9085, 0x0001, - 0x0005, 0x080c, 0x655e, 0x0128, 0x080c, 0xb900, 0x0010, 0x9085, - 0x0001, 0x0005, 0x080c, 0x655e, 0x0128, 0x080c, 0xb8c3, 0x0010, - 0x9085, 0x0001, 0x0005, 0x080c, 0x655e, 0x0128, 0x080c, 0xb944, - 0x0010, 0x9085, 0x0001, 0x0005, 0xb8a4, 0x900d, 0x1118, 0x9085, - 0x0001, 0x0005, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, - 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, - 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, - 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0008, 0x9006, 0x01ce, - 0x013e, 0x0005, 0x0146, 0x01d6, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x0004, 0x20a0, 0x20a9, 0x0010, 0x2009, 0xffff, 0x4104, 0x01de, - 0x014e, 0x0136, 0x01c6, 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, - 0x810f, 0x9184, 0x003f, 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, - 0x2098, 0x20a9, 0x0001, 0x2009, 0x0010, 0x4002, 0x9606, 0x0128, - 0x8109, 0x1dd8, 0x9085, 0x0001, 0x0068, 0x0146, 0x01d6, 0x3300, - 0x8001, 0x20a0, 0x3c00, 0x20e8, 0x2001, 0xffff, 0x4004, 0x01de, - 0x014e, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0096, 0x0126, 0x2091, - 0x8000, 0xb8a4, 0x904d, 0x1128, 0x080c, 0x1022, 0x0168, 0x2900, - 0xb8a6, 0x080c, 0x64fa, 0xa803, 0x0001, 0xa807, 0x0000, 0x9085, - 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0096, 0x0126, - 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0130, 0xb8a7, 0x0000, 0x080c, - 0x1054, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0xb89c, 0xd0a4, - 0x0005, 0x00b6, 0x00f6, 0x080c, 0x7096, 0x01b0, 0x71c0, 0x81ff, - 0x1198, 0x71d8, 0xd19c, 0x0180, 0x2001, 0x007e, 0x9080, 0x1000, - 0x2004, 0x905d, 0x0148, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, - 0x1118, 0xb800, 0xc0ed, 0xb802, 0x2079, 0x1853, 0x7804, 0x00d0, - 0x0156, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, 0x626b, 0x1168, - 0xb804, 0x9084, 0xff00, 0x8007, 0x9096, 0x0004, 0x0118, 0x9086, - 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, 0x001e, 0x8108, 0x1f04, - 0x6584, 0x015e, 0x080c, 0x6624, 0x0120, 0x2001, 0x1955, 0x200c, - 0x0030, 0x2079, 0x1853, 0x7804, 0x0030, 0x2009, 0x07d0, 0x2011, - 0x65ae, 0x080c, 0x81fc, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x2011, - 0x65ae, 0x080c, 0x8138, 0x080c, 0x6624, 0x01d8, 0x2001, 0x107e, - 0x2004, 0x2058, 0xb900, 0xc1ec, 0xb902, 0x080c, 0x6662, 0x0130, - 0x2009, 0x07d0, 0x2011, 0x65ae, 0x080c, 0x81fc, 0x00e6, 0x2071, - 0x1800, 0x9006, 0x707a, 0x705c, 0x707e, 0x080c, 0x2de9, 0x00ee, - 0x04d0, 0x0156, 0x00c6, 0x20a9, 0x007f, 0x900e, 0x0016, 0x080c, - 0x626b, 0x1558, 0xb800, 0xd0ec, 0x0540, 0x0046, 0xbaa0, 0x2220, - 0x9006, 0x2009, 0x0029, 0x080c, 0xd284, 0xb800, 0xc0e5, 0xc0ec, - 0xb802, 0x080c, 0x665e, 0x2001, 0x0707, 0x1128, 0xb804, 0x9084, - 0x00ff, 0x9085, 0x0700, 0xb806, 0x080c, 0x98bb, 0x2019, 0x0029, - 0x080c, 0x8624, 0x0076, 0x903e, 0x080c, 0x8509, 0x900e, 0x080c, - 0xcfd9, 0x007e, 0x004e, 0x080c, 0x98d7, 0x001e, 0x8108, 0x1f04, - 0x65d6, 0x00ce, 0x015e, 0x00be, 0x0005, 0x00b6, 0x6010, 0x2058, - 0xb800, 0xc0ec, 0xb802, 0x00be, 0x0005, 0x7810, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0ac, 0x0005, 0x6010, 0x00b6, 0x905d, 0x0108, - 0xb800, 0x00be, 0xd0bc, 0x0005, 0x00b6, 0x00f6, 0x2001, 0x107e, - 0x2004, 0x905d, 0x0110, 0xb800, 0xd0ec, 0x00fe, 0x00be, 0x0005, - 0x0126, 0x0026, 0x2091, 0x8000, 0x0006, 0xbaa0, 0x9290, 0x1000, - 0x2204, 0x9b06, 0x190c, 0x0d65, 0x000e, 0xba00, 0x9005, 0x0110, - 0xc2fd, 0x0008, 0xc2fc, 0xba02, 0x002e, 0x012e, 0x0005, 0x2011, - 0x1836, 0x2204, 0xd0cc, 0x0138, 0x2001, 0x1953, 0x200c, 0x2011, - 0x6654, 0x080c, 0x81fc, 0x0005, 0x2011, 0x6654, 0x080c, 0x8138, - 0x2011, 0x1836, 0x2204, 0xc0cc, 0x2012, 0x0005, 0x080c, 0x5388, - 0xd0ac, 0x0005, 0x080c, 0x5388, 0xd0a4, 0x0005, 0x0016, 0xb904, - 0x9184, 0x00ff, 0x908e, 0x0006, 0x001e, 0x0005, 0x0016, 0xb904, - 0x9184, 0xff00, 0x8007, 0x908e, 0x0006, 0x001e, 0x0005, 0x00b6, - 0x00f6, 0x080c, 0xbf61, 0x0158, 0x70d8, 0x9084, 0x0028, 0x0138, - 0x2001, 0x107f, 0x2004, 0x905d, 0x0110, 0xb8c4, 0xd094, 0x00fe, - 0x00be, 0x0005, 0x0006, 0x0016, 0x0036, 0x0046, 0x0076, 0x00b6, - 0x2001, 0x1817, 0x203c, 0x9780, 0x317f, 0x203d, 0x97bc, 0xff00, - 0x873f, 0x9006, 0x2018, 0x2008, 0x9284, 0x8000, 0x0110, 0x2019, - 0x0001, 0x9294, 0x7fff, 0x2100, 0x9706, 0x0190, 0x91a0, 0x1000, - 0x2404, 0x905d, 0x0168, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, - 0x1138, 0x83ff, 0x0118, 0xb89c, 0xd0a4, 0x0110, 0x8211, 0x0158, - 0x8108, 0x83ff, 0x0120, 0x9182, 0x0800, 0x0e28, 0x0068, 0x9182, - 0x007e, 0x0e08, 0x0048, 0x00be, 0x007e, 0x004e, 0x003e, 0x001e, - 0x9085, 0x0001, 0x000e, 0x0005, 0x00be, 0x007e, 0x004e, 0x003e, - 0x001e, 0x9006, 0x000e, 0x0005, 0x0046, 0x0056, 0x0076, 0x00b6, - 0x2100, 0x9084, 0x7fff, 0x9080, 0x1000, 0x2004, 0x905d, 0x0130, - 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0550, 0x9184, 0x8000, - 0x0580, 0x2001, 0x1817, 0x203c, 0x9780, 0x317f, 0x203d, 0x97bc, - 0xff00, 0x873f, 0x9006, 0x2020, 0x2400, 0x9706, 0x01a0, 0x94a8, - 0x1000, 0x2504, 0x905d, 0x0178, 0xb804, 0x9084, 0x00ff, 0x9086, - 0x0006, 0x1148, 0xb89c, 0xd0a4, 0x0130, 0xb814, 0x9206, 0x1118, - 0xb810, 0x9306, 0x0128, 0x8420, 0x9482, 0x0800, 0x0e28, 0x0048, - 0x918c, 0x7fff, 0x00be, 0x007e, 0x005e, 0x004e, 0x9085, 0x0001, - 0x0005, 0x918c, 0x7fff, 0x00be, 0x007e, 0x005e, 0x004e, 0x9006, - 0x0005, 0x2071, 0x1906, 0x7003, 0x0001, 0x7007, 0x0000, 0x9006, - 0x7012, 0x7016, 0x701a, 0x701e, 0x700a, 0x7046, 0x0005, 0x0016, - 0x00e6, 0x2071, 0x1919, 0x900e, 0x710a, 0x080c, 0x5388, 0xd0fc, - 0x1140, 0x080c, 0x5388, 0x900e, 0xd09c, 0x0108, 0x8108, 0x7102, - 0x0400, 0x2001, 0x1873, 0x200c, 0x9184, 0x0007, 0x9006, 0x0002, - 0x6739, 0x6739, 0x6739, 0x6739, 0x6739, 0x6750, 0x675e, 0x6739, - 0x7003, 0x0003, 0x2009, 0x1874, 0x210c, 0x9184, 0xff00, 0x8007, - 0x9005, 0x1110, 0x2001, 0x0002, 0x7006, 0x0018, 0x7003, 0x0005, - 0x0c88, 0x00ee, 0x001e, 0x0005, 0x00e6, 0x2071, 0x0050, 0x684c, - 0x9005, 0x1150, 0x00e6, 0x2071, 0x1906, 0x7028, 0xc085, 0x702a, - 0x00ee, 0x9085, 0x0001, 0x0488, 0x6844, 0x9005, 0x0158, 0x080c, - 0x7408, 0x6a60, 0x9200, 0x7002, 0x6864, 0x9101, 0x7006, 0x9006, - 0x7012, 0x7016, 0x6860, 0x7002, 0x6864, 0x7006, 0x6868, 0x700a, - 0x686c, 0x700e, 0x6844, 0x9005, 0x1110, 0x7012, 0x7016, 0x684c, - 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, 0x7037, 0x0019, 0x702b, - 0x0001, 0x00e6, 0x2071, 0x1906, 0x7028, 0xc084, 0x702a, 0x7007, - 0x0001, 0x700b, 0x0000, 0x00ee, 0x9006, 0x00ee, 0x0005, 0xa868, - 0xd0fc, 0x11d8, 0x00e6, 0x0026, 0x2001, 0x1919, 0x2004, 0x9005, - 0x0904, 0x6996, 0xa87c, 0xd0bc, 0x1904, 0x6996, 0xa978, 0xa874, - 0x9105, 0x1904, 0x6996, 0x2001, 0x1919, 0x2004, 0x0002, 0x6996, - 0x67ea, 0x6826, 0x6826, 0x6996, 0x6826, 0x0005, 0xa868, 0xd0fc, - 0x1500, 0x00e6, 0x0026, 0x2009, 0x1919, 0x210c, 0x81ff, 0x0904, - 0x6996, 0xa87c, 0xd0cc, 0x0904, 0x6996, 0xa880, 0x9084, 0x00ff, - 0x9086, 0x0001, 0x1904, 0x6996, 0x9186, 0x0003, 0x0904, 0x6826, - 0x9186, 0x0005, 0x0904, 0x6826, 0xa84f, 0x8021, 0xa853, 0x0017, - 0x0028, 0x0005, 0xa84f, 0x8020, 0xa853, 0x0016, 0x2071, 0x1906, - 0x701c, 0x9005, 0x1904, 0x6b2d, 0x0e04, 0x6b78, 0x2071, 0x0000, - 0xa84c, 0x7082, 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, - 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x11c9, 0x2071, 0x1800, 0x2011, 0x0001, 0xa804, 0x900d, 0x702c, - 0x1158, 0xa802, 0x2900, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, - 0x8053, 0x002e, 0x00ee, 0x0005, 0x0096, 0x2148, 0xa904, 0xa802, - 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x009e, 0x0c58, 0xa84f, 0x0000, - 0x00f6, 0x2079, 0x0050, 0x2071, 0x1906, 0xa803, 0x0000, 0x7010, - 0x9005, 0x1904, 0x691b, 0x782c, 0x908c, 0x0780, 0x190c, 0x6c9f, - 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, 0x6844, 0x691b, - 0x6869, 0x68b6, 0x080c, 0x0d65, 0x2071, 0x1800, 0x2900, 0x7822, - 0xa804, 0x900d, 0x1170, 0x2071, 0x19d3, 0x703c, 0x9005, 0x1328, - 0x2001, 0x191a, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, - 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, - 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8053, - 0x0c10, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x15a8, - 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1170, 0x2009, - 0x182f, 0x210c, 0x918a, 0x0040, 0x0240, 0x7022, 0x2001, 0x1dc0, - 0x200c, 0x8108, 0x2102, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, - 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x8053, - 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd0a4, 0x19c8, 0x2071, - 0x19d3, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, 0x2004, 0x8005, + 0x0006, 0x9086, 0x0006, 0x1170, 0xb89c, 0xd0ac, 0x0158, 0x080c, + 0x6686, 0x0140, 0x9284, 0xff00, 0x8007, 0x9086, 0x0007, 0x1110, + 0x2011, 0x0600, 0x000e, 0x9294, 0xff00, 0x9215, 0xba06, 0x0006, + 0x9086, 0x0006, 0x1120, 0xba90, 0x82ff, 0x090c, 0x0d65, 0x000e, + 0x00ce, 0x012e, 0x00be, 0x0005, 0x00b6, 0x0126, 0x00c6, 0x2091, + 0x8000, 0x6210, 0x2258, 0xba04, 0x0006, 0x9086, 0x0006, 0x1168, + 0xb89c, 0xd0a4, 0x0150, 0x080c, 0x6682, 0x1138, 0x9284, 0x00ff, + 0x9086, 0x0007, 0x1110, 0x2011, 0x0006, 0x000e, 0x9294, 0x00ff, + 0x8007, 0x9215, 0xba06, 0x00ce, 0x012e, 0x00be, 0x0005, 0x9182, + 0x0800, 0x0218, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0026, 0x9190, + 0x1000, 0x2204, 0x905d, 0x1180, 0x0096, 0x080c, 0x102f, 0x2958, + 0x009e, 0x0160, 0x2b00, 0x2012, 0xb85c, 0xb8ba, 0xb860, 0xb8b6, + 0x9006, 0xb8a6, 0x080c, 0x5d11, 0x9006, 0x0010, 0x9085, 0x0001, + 0x002e, 0x00de, 0x0005, 0x00b6, 0x0096, 0x0126, 0x2091, 0x8000, + 0x0026, 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0458, 0x00d6, + 0x9190, 0x1000, 0x2204, 0x905d, 0x0518, 0x2013, 0x0000, 0xb8a4, + 0x904d, 0x0110, 0x080c, 0x1061, 0x00d6, 0x00c6, 0xb8ac, 0x2060, + 0x8cff, 0x0168, 0x600c, 0x0006, 0x6014, 0x2048, 0x080c, 0xb870, + 0x0110, 0x080c, 0x0fe1, 0x080c, 0x9be6, 0x00ce, 0x0c88, 0x00ce, + 0x00de, 0x2b48, 0xb8b8, 0xb85e, 0xb8b4, 0xb862, 0x080c, 0x1071, + 0x00de, 0x9006, 0x002e, 0x012e, 0x009e, 0x00be, 0x0005, 0x0016, + 0x9182, 0x0800, 0x0218, 0x9085, 0x0001, 0x0030, 0x9188, 0x1000, + 0x2104, 0x905d, 0x0dc0, 0x9006, 0x001e, 0x0005, 0x00d6, 0x0156, + 0x0136, 0x0146, 0x9006, 0xb80a, 0xb80e, 0xb800, 0xc08c, 0xb802, + 0x080c, 0x70ba, 0x1510, 0xb8a0, 0x9086, 0x007e, 0x0120, 0x080c, + 0x9b65, 0x11d8, 0x0078, 0x7040, 0xd0e4, 0x01b8, 0x00c6, 0x2061, + 0x195a, 0x7048, 0x2062, 0x704c, 0x6006, 0x7050, 0x600a, 0x7054, + 0x600e, 0x00ce, 0x703c, 0x2069, 0x0140, 0x9005, 0x1110, 0x2001, + 0x0001, 0x6886, 0x2069, 0x1800, 0x68b2, 0x7040, 0xb85e, 0x7048, + 0xb862, 0x704c, 0xb866, 0x20e1, 0x0000, 0x2099, 0x0276, 0xb8b4, + 0x20e8, 0xb8b8, 0x9088, 0x000a, 0x21a0, 0x20a9, 0x0004, 0x4003, + 0x2099, 0x027a, 0x9088, 0x0006, 0x21a0, 0x20a9, 0x0004, 0x4003, + 0x2069, 0x0200, 0x6817, 0x0001, 0x7040, 0xb86a, 0x7144, 0xb96e, + 0x7048, 0xb872, 0x7050, 0xb876, 0x2069, 0x0200, 0x6817, 0x0000, + 0xb8a0, 0x9086, 0x007e, 0x1110, 0x7144, 0xb96e, 0x9182, 0x0211, + 0x1218, 0x2009, 0x0008, 0x0400, 0x9182, 0x0259, 0x1218, 0x2009, + 0x0007, 0x00d0, 0x9182, 0x02c1, 0x1218, 0x2009, 0x0006, 0x00a0, + 0x9182, 0x0349, 0x1218, 0x2009, 0x0005, 0x0070, 0x9182, 0x0421, + 0x1218, 0x2009, 0x0004, 0x0040, 0x9182, 0x0581, 0x1218, 0x2009, + 0x0003, 0x0010, 0x2009, 0x0002, 0xb992, 0x014e, 0x013e, 0x015e, + 0x00de, 0x0005, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7034, + 0xb896, 0x703c, 0xb89a, 0x7054, 0xb89e, 0x0036, 0xbbc4, 0xc384, + 0xba00, 0x2009, 0x187b, 0x210c, 0xd0bc, 0x0120, 0xd1ec, 0x0110, + 0xc2ad, 0x0008, 0xc2ac, 0xd0c4, 0x0148, 0xd1e4, 0x0138, 0xc2bd, + 0xd0cc, 0x0128, 0xd38c, 0x1108, 0xc385, 0x0008, 0xc2bc, 0xba02, + 0xbbc6, 0x003e, 0x00ee, 0x002e, 0x001e, 0x0005, 0x0096, 0x0126, + 0x2091, 0x8000, 0xb8a4, 0x904d, 0x0578, 0xa900, 0x81ff, 0x15c0, + 0xaa04, 0x9282, 0x0010, 0x16c8, 0x0136, 0x0146, 0x01c6, 0x01d6, + 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, + 0x9080, 0x0004, 0x2098, 0x2009, 0x0010, 0x20a9, 0x0001, 0x4002, + 0x9086, 0xffff, 0x0120, 0x8109, 0x1dd0, 0x080c, 0x0d65, 0x3c00, + 0x20e8, 0x3300, 0x8001, 0x20a0, 0x4604, 0x8210, 0xaa06, 0x01de, + 0x01ce, 0x014e, 0x013e, 0x0060, 0x080c, 0x102f, 0x0170, 0x2900, + 0xb8a6, 0xa803, 0x0000, 0x080c, 0x651e, 0xa807, 0x0001, 0xae12, + 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, 0x9006, 0x0cd8, 0x0126, + 0x2091, 0x8000, 0x0096, 0xb8a4, 0x904d, 0x0188, 0xa800, 0x9005, + 0x1150, 0x080c, 0x652d, 0x1158, 0xa804, 0x908a, 0x0002, 0x0218, + 0x8001, 0xa806, 0x0020, 0x080c, 0x1061, 0xb8a7, 0x0000, 0x009e, + 0x012e, 0x0005, 0x0096, 0x00c6, 0xb888, 0x9005, 0x1904, 0x6413, + 0xb8c0, 0x904d, 0x0904, 0x6413, 0x080c, 0x9bbd, 0x0904, 0x640f, + 0x8210, 0xba3e, 0xa800, 0xb8c2, 0x9005, 0x1108, 0xb8be, 0x2b00, + 0x6012, 0x2900, 0x6016, 0x6023, 0x0003, 0x600b, 0xffff, 0x6007, + 0x0040, 0xa878, 0x605e, 0xa880, 0x9084, 0x00ff, 0x6066, 0xa883, + 0x0000, 0xa87c, 0xd0ac, 0x01c8, 0xc0dd, 0xa87e, 0xa888, 0x8001, + 0x1568, 0xa816, 0xa864, 0x9094, 0x00f7, 0x9296, 0x0011, 0x1530, + 0x9084, 0x00ff, 0xc0bd, 0x601e, 0xa8ac, 0xaab0, 0xa836, 0xaa3a, + 0x2001, 0x8004, 0x6003, 0x0004, 0x0030, 0x080c, 0x1af7, 0x2001, + 0x8004, 0x6003, 0x0002, 0x6046, 0x2001, 0x0010, 0x2c08, 0x080c, + 0x98b8, 0xb838, 0xba3c, 0x9202, 0x0a04, 0x63c0, 0x0020, 0x82ff, + 0x1110, 0xb88b, 0x0001, 0x00ce, 0x009e, 0x0005, 0x080c, 0x1669, + 0x601c, 0xc0bd, 0x601e, 0x08e0, 0x00b6, 0x0096, 0x0016, 0x20a9, + 0x0800, 0x900e, 0x0016, 0x080c, 0x628f, 0x1158, 0xb8c0, 0x904d, + 0x0140, 0x3e00, 0x9086, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x1108, + 0x0041, 0x001e, 0x8108, 0x1f04, 0x6422, 0x001e, 0x00be, 0x009e, + 0x0005, 0x0096, 0x0016, 0xb8c0, 0x904d, 0x0188, 0xa800, 0xb8c2, + 0x9005, 0x1108, 0xb8be, 0x9006, 0xa802, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x080c, 0xbb73, 0x080c, 0x69b5, 0x0c60, 0x001e, + 0x009e, 0x0005, 0x0086, 0x9046, 0xb8c0, 0x904d, 0x01b0, 0xa86c, + 0x9406, 0x1118, 0xa870, 0x9506, 0x0128, 0x2940, 0xa800, 0x904d, + 0x0160, 0x0ca8, 0xa800, 0x88ff, 0x1128, 0xb8c2, 0x9005, 0x1118, + 0xb8be, 0x0008, 0xa002, 0xa803, 0x0000, 0x008e, 0x0005, 0x901e, + 0x0010, 0x2019, 0x0001, 0x0126, 0x2091, 0x8000, 0x00e6, 0x0096, + 0x00c6, 0x0086, 0x0026, 0x2071, 0x19bf, 0x9046, 0x7028, 0x9065, + 0x01e8, 0x6014, 0x2068, 0x83ff, 0x0120, 0x605c, 0x9606, 0x0158, + 0x0030, 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0120, 0x2c40, + 0x600c, 0x2060, 0x0c60, 0x600c, 0x0006, 0x0066, 0x2830, 0x080c, + 0x9127, 0x006e, 0x000e, 0x83ff, 0x0508, 0x0c08, 0x9046, 0xb8c0, + 0x904d, 0x01e0, 0x83ff, 0x0120, 0xa878, 0x9606, 0x0158, 0x0030, + 0xa86c, 0x9406, 0x1118, 0xa870, 0x9506, 0x0120, 0x2940, 0xa800, + 0x2048, 0x0c70, 0xb8c0, 0xaa00, 0x0026, 0x9906, 0x1110, 0xbac2, + 0x0008, 0xa202, 0x000e, 0x83ff, 0x0108, 0x0c10, 0x002e, 0x008e, + 0x00ce, 0x009e, 0x00ee, 0x012e, 0x0005, 0x9016, 0x0489, 0x1110, + 0x2011, 0x0001, 0x0005, 0x080c, 0x6582, 0x0128, 0x080c, 0xb931, + 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6582, 0x0128, 0x080c, + 0xb8d2, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6582, 0x0128, + 0x080c, 0xb92e, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, 0x6582, + 0x0128, 0x080c, 0xb8f1, 0x0010, 0x9085, 0x0001, 0x0005, 0x080c, + 0x6582, 0x0128, 0x080c, 0xb972, 0x0010, 0x9085, 0x0001, 0x0005, + 0xb8a4, 0x900d, 0x1118, 0x9085, 0x0001, 0x0005, 0x0136, 0x01c6, + 0xa800, 0x9005, 0x11b8, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, + 0x20e0, 0x9184, 0xffc0, 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, + 0x2009, 0x0010, 0x4002, 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, + 0x0001, 0x0008, 0x9006, 0x01ce, 0x013e, 0x0005, 0x0146, 0x01d6, + 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0004, 0x20a0, 0x20a9, 0x0010, + 0x2009, 0xffff, 0x4104, 0x01de, 0x014e, 0x0136, 0x01c6, 0xa800, + 0x9005, 0x11b8, 0x890e, 0x810e, 0x810f, 0x9184, 0x003f, 0x20e0, + 0x9184, 0xffc0, 0x9080, 0x0004, 0x2098, 0x20a9, 0x0001, 0x2009, + 0x0010, 0x4002, 0x9606, 0x0128, 0x8109, 0x1dd8, 0x9085, 0x0001, + 0x0068, 0x0146, 0x01d6, 0x3300, 0x8001, 0x20a0, 0x3c00, 0x20e8, + 0x2001, 0xffff, 0x4004, 0x01de, 0x014e, 0x9006, 0x01ce, 0x013e, + 0x0005, 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, 0x1128, + 0x080c, 0x102f, 0x0168, 0x2900, 0xb8a6, 0x080c, 0x651e, 0xa803, + 0x0001, 0xa807, 0x0000, 0x9085, 0x0001, 0x012e, 0x009e, 0x0005, + 0x9006, 0x0cd8, 0x0096, 0x0126, 0x2091, 0x8000, 0xb8a4, 0x904d, + 0x0130, 0xb8a7, 0x0000, 0x080c, 0x1061, 0x9085, 0x0001, 0x012e, + 0x009e, 0x0005, 0xb89c, 0xd0a4, 0x0005, 0x00b6, 0x00f6, 0x080c, + 0x70ba, 0x01b0, 0x71c0, 0x81ff, 0x1198, 0x71d8, 0xd19c, 0x0180, + 0x2001, 0x007e, 0x9080, 0x1000, 0x2004, 0x905d, 0x0148, 0xb804, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, 0xb802, + 0x2079, 0x185b, 0x7804, 0x00d0, 0x0156, 0x20a9, 0x007f, 0x900e, + 0x0016, 0x080c, 0x628f, 0x1168, 0xb804, 0x9084, 0xff00, 0x8007, + 0x9096, 0x0004, 0x0118, 0x9086, 0x0006, 0x1118, 0xb800, 0xc0ed, + 0xb802, 0x001e, 0x8108, 0x1f04, 0x65a8, 0x015e, 0x080c, 0x6648, + 0x0120, 0x2001, 0x195d, 0x200c, 0x0030, 0x2079, 0x185b, 0x7804, + 0x0030, 0x2009, 0x07d0, 0x2011, 0x65d2, 0x080c, 0x8230, 0x00fe, + 0x00be, 0x0005, 0x00b6, 0x2011, 0x65d2, 0x080c, 0x816c, 0x080c, + 0x6648, 0x01d8, 0x2001, 0x107e, 0x2004, 0x2058, 0xb900, 0xc1ec, + 0xb902, 0x080c, 0x6686, 0x0130, 0x2009, 0x07d0, 0x2011, 0x65d2, + 0x080c, 0x8230, 0x00e6, 0x2071, 0x1800, 0x9006, 0x707a, 0x705c, + 0x707e, 0x080c, 0x2e09, 0x00ee, 0x04d0, 0x0156, 0x00c6, 0x20a9, + 0x007f, 0x900e, 0x0016, 0x080c, 0x628f, 0x1558, 0xb800, 0xd0ec, + 0x0540, 0x0046, 0xbaa0, 0x2220, 0x9006, 0x2009, 0x0029, 0x080c, + 0xd2bc, 0xb800, 0xc0e5, 0xc0ec, 0xb802, 0x080c, 0x6682, 0x2001, + 0x0707, 0x1128, 0xb804, 0x9084, 0x00ff, 0x9085, 0x0700, 0xb806, + 0x080c, 0x98c7, 0x2019, 0x0029, 0x080c, 0x8658, 0x0076, 0x903e, + 0x080c, 0x853d, 0x900e, 0x080c, 0xd011, 0x007e, 0x004e, 0x080c, + 0x98e3, 0x001e, 0x8108, 0x1f04, 0x65fa, 0x00ce, 0x015e, 0x00be, + 0x0005, 0x00b6, 0x6010, 0x2058, 0xb800, 0xc0ec, 0xb802, 0x00be, + 0x0005, 0x7810, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ac, 0x0005, + 0x6010, 0x00b6, 0x905d, 0x0108, 0xb800, 0x00be, 0xd0bc, 0x0005, + 0x00b6, 0x00f6, 0x2001, 0x107e, 0x2004, 0x905d, 0x0110, 0xb800, + 0xd0ec, 0x00fe, 0x00be, 0x0005, 0x0126, 0x0026, 0x2091, 0x8000, + 0x0006, 0xbaa0, 0x9290, 0x1000, 0x2204, 0x9b06, 0x190c, 0x0d65, + 0x000e, 0xba00, 0x9005, 0x0110, 0xc2fd, 0x0008, 0xc2fc, 0xba02, + 0x002e, 0x012e, 0x0005, 0x2011, 0x1836, 0x2204, 0xd0cc, 0x0138, + 0x2001, 0x195b, 0x200c, 0x2011, 0x6678, 0x080c, 0x8230, 0x0005, + 0x2011, 0x6678, 0x080c, 0x816c, 0x2011, 0x1836, 0x2204, 0xc0cc, + 0x2012, 0x0005, 0x080c, 0x53a8, 0xd0ac, 0x0005, 0x080c, 0x53a8, + 0xd0a4, 0x0005, 0x0016, 0xb904, 0x9184, 0x00ff, 0x908e, 0x0006, + 0x001e, 0x0005, 0x0016, 0xb904, 0x9184, 0xff00, 0x8007, 0x908e, + 0x0006, 0x001e, 0x0005, 0x00b6, 0x00f6, 0x080c, 0xbf8f, 0x0158, + 0x70d8, 0x9084, 0x0028, 0x0138, 0x2001, 0x107f, 0x2004, 0x905d, + 0x0110, 0xb8c4, 0xd094, 0x00fe, 0x00be, 0x0005, 0x0006, 0x0016, + 0x0036, 0x0046, 0x0076, 0x00b6, 0x2001, 0x1817, 0x203c, 0x9780, + 0x319f, 0x203d, 0x97bc, 0xff00, 0x873f, 0x9006, 0x2018, 0x2008, + 0x9284, 0x8000, 0x0110, 0x2019, 0x0001, 0x9294, 0x7fff, 0x2100, + 0x9706, 0x0190, 0x91a0, 0x1000, 0x2404, 0x905d, 0x0168, 0xb804, + 0x9084, 0x00ff, 0x9086, 0x0006, 0x1138, 0x83ff, 0x0118, 0xb89c, + 0xd0a4, 0x0110, 0x8211, 0x0158, 0x8108, 0x83ff, 0x0120, 0x9182, + 0x0800, 0x0e28, 0x0068, 0x9182, 0x007e, 0x0e08, 0x0048, 0x00be, + 0x007e, 0x004e, 0x003e, 0x001e, 0x9085, 0x0001, 0x000e, 0x0005, + 0x00be, 0x007e, 0x004e, 0x003e, 0x001e, 0x9006, 0x000e, 0x0005, + 0x0046, 0x0056, 0x0076, 0x00b6, 0x2100, 0x9084, 0x7fff, 0x9080, + 0x1000, 0x2004, 0x905d, 0x0130, 0xb804, 0x9084, 0x00ff, 0x9086, + 0x0006, 0x0550, 0x9184, 0x8000, 0x0580, 0x2001, 0x1817, 0x203c, + 0x9780, 0x319f, 0x203d, 0x97bc, 0xff00, 0x873f, 0x9006, 0x2020, + 0x2400, 0x9706, 0x01a0, 0x94a8, 0x1000, 0x2504, 0x905d, 0x0178, + 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x1148, 0xb89c, 0xd0a4, + 0x0130, 0xb814, 0x9206, 0x1118, 0xb810, 0x9306, 0x0128, 0x8420, + 0x9482, 0x0800, 0x0e28, 0x0048, 0x918c, 0x7fff, 0x00be, 0x007e, + 0x005e, 0x004e, 0x9085, 0x0001, 0x0005, 0x918c, 0x7fff, 0x00be, + 0x007e, 0x005e, 0x004e, 0x9006, 0x0005, 0x2071, 0x190e, 0x7003, + 0x0001, 0x7007, 0x0000, 0x9006, 0x7012, 0x7016, 0x701a, 0x701e, + 0x700a, 0x7046, 0x0005, 0x0016, 0x00e6, 0x2071, 0x1921, 0x900e, + 0x710a, 0x080c, 0x53a8, 0xd0fc, 0x1140, 0x080c, 0x53a8, 0x900e, + 0xd09c, 0x0108, 0x8108, 0x7102, 0x0400, 0x2001, 0x187b, 0x200c, + 0x9184, 0x0007, 0x9006, 0x0002, 0x675d, 0x675d, 0x675d, 0x675d, + 0x675d, 0x6774, 0x6782, 0x675d, 0x7003, 0x0003, 0x2009, 0x187c, + 0x210c, 0x9184, 0xff00, 0x8007, 0x9005, 0x1110, 0x2001, 0x0002, + 0x7006, 0x0018, 0x7003, 0x0005, 0x0c88, 0x00ee, 0x001e, 0x0005, + 0x00e6, 0x2071, 0x0050, 0x684c, 0x9005, 0x1150, 0x00e6, 0x2071, + 0x190e, 0x7028, 0xc085, 0x702a, 0x00ee, 0x9085, 0x0001, 0x0488, + 0x6844, 0x9005, 0x0158, 0x080c, 0x742b, 0x6a60, 0x9200, 0x7002, + 0x6864, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6860, 0x7002, + 0x6864, 0x7006, 0x6868, 0x700a, 0x686c, 0x700e, 0x6844, 0x9005, + 0x1110, 0x7012, 0x7016, 0x684c, 0x701a, 0x701c, 0x9085, 0x0040, + 0x701e, 0x7037, 0x0019, 0x702b, 0x0001, 0x00e6, 0x2071, 0x190e, + 0x7028, 0xc084, 0x702a, 0x7007, 0x0001, 0x700b, 0x0000, 0x00ee, + 0x9006, 0x00ee, 0x0005, 0xa868, 0xd0fc, 0x11d8, 0x00e6, 0x0026, + 0x2001, 0x1921, 0x2004, 0x9005, 0x0904, 0x69ba, 0xa87c, 0xd0bc, + 0x1904, 0x69ba, 0xa978, 0xa874, 0x9105, 0x1904, 0x69ba, 0x2001, + 0x1921, 0x2004, 0x0002, 0x69ba, 0x680e, 0x684a, 0x684a, 0x69ba, + 0x684a, 0x0005, 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0x2009, + 0x1921, 0x210c, 0x81ff, 0x0904, 0x69ba, 0xa87c, 0xd0cc, 0x0904, + 0x69ba, 0xa880, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, 0x69ba, + 0x9186, 0x0003, 0x0904, 0x684a, 0x9186, 0x0005, 0x0904, 0x684a, + 0xa84f, 0x8021, 0xa853, 0x0017, 0x0028, 0x0005, 0xa84f, 0x8020, + 0xa853, 0x0016, 0x2071, 0x190e, 0x701c, 0x9005, 0x1904, 0x6b51, + 0x0e04, 0x6b9c, 0x2071, 0x0000, 0xa84c, 0x7082, 0xa850, 0x7032, + 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x2071, 0x1800, 0x2011, + 0x0001, 0xa804, 0x900d, 0x702c, 0x1158, 0xa802, 0x2900, 0x702e, + 0x70bc, 0x9200, 0x70be, 0x080c, 0x8087, 0x002e, 0x00ee, 0x0005, + 0x0096, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, + 0x009e, 0x0c58, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, + 0x190e, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x693f, 0x782c, + 0x908c, 0x0780, 0x190c, 0x6cc3, 0x8004, 0x8004, 0x8004, 0x9084, + 0x0003, 0x0002, 0x6868, 0x693f, 0x688d, 0x68da, 0x080c, 0x0d65, + 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1170, 0x2071, + 0x19db, 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, - 0x9200, 0x70be, 0x080c, 0x8053, 0x0804, 0x6870, 0x0096, 0x00e6, - 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, - 0x70bc, 0x8000, 0x70be, 0x080c, 0x8053, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd0a4, 0x1d60, 0x00ee, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd09c, 0x11a0, 0x009e, 0x2900, 0x7822, 0xa804, - 0x900d, 0x1560, 0x2071, 0x19d3, 0x703c, 0x9005, 0x1328, 0x2001, - 0x191a, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x009e, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, - 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1170, - 0x2071, 0x19d3, 0x703c, 0x9005, 0x1328, 0x2001, 0x191a, 0x2004, - 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, - 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8053, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, - 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, - 0x900d, 0x1904, 0x6970, 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, - 0xd09c, 0x1198, 0x701c, 0x904d, 0x0180, 0x7010, 0x8001, 0x7012, - 0x1108, 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, - 0x0780, 0x190c, 0x6c9f, 0xd09c, 0x0d68, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd0a4, 0x01b0, 0x00e6, 0x7824, 0x2048, 0x2071, - 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x8053, 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd0a4, - 0x1d60, 0x00ee, 0x2071, 0x19d3, 0x703c, 0x9005, 0x1328, 0x2001, - 0x191a, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, + 0x9200, 0x70be, 0x080c, 0x8087, 0x0c10, 0x2071, 0x1800, 0x2900, + 0x7822, 0xa804, 0x900d, 0x15a8, 0x7824, 0x00e6, 0x2071, 0x0040, + 0x712c, 0xd19c, 0x1170, 0x2009, 0x182f, 0x210c, 0x918a, 0x0040, + 0x0240, 0x7022, 0x2001, 0x1dc0, 0x200c, 0x8108, 0x2102, 0x00ee, + 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, + 0x8000, 0x70be, 0x080c, 0x8087, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6cc3, 0xd0a4, 0x19c8, 0x2071, 0x19db, 0x703c, 0x9005, 0x1328, + 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8087, + 0x0804, 0x6894, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x8087, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x1d60, + 0x00ee, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd09c, 0x11a0, + 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x1560, 0x2071, 0x19db, + 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x009e, 0x2908, 0x7010, 0x8000, + 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, + 0x2148, 0xa804, 0x900d, 0x1170, 0x2071, 0x19db, 0x703c, 0x9005, + 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, + 0x70be, 0x080c, 0x8087, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6994, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd09c, 0x1198, 0x701c, 0x904d, + 0x0180, 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, 0x701e, + 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd09c, + 0x0d68, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x01b0, + 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, + 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x8087, 0x782c, 0x9094, + 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x1d60, 0x00ee, 0x2071, 0x19db, + 0x703c, 0x9005, 0x1328, 0x2001, 0x1922, 0x2004, 0x8005, 0x703e, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, + 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, + 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8087, 0x00ee, 0x0804, + 0x694f, 0xa868, 0xd0fc, 0x1560, 0x0096, 0xa804, 0xa807, 0x0000, + 0x904d, 0x190c, 0x0fe1, 0x009e, 0x0018, 0xa868, 0xd0fc, 0x1500, + 0x00e6, 0x0026, 0xa84f, 0x0000, 0x00f6, 0x2079, 0x0050, 0x2071, + 0x190e, 0xa803, 0x0000, 0x7010, 0x9005, 0x1904, 0x6acf, 0x782c, + 0x908c, 0x0780, 0x190c, 0x6cc3, 0x8004, 0x8004, 0x8004, 0x9084, + 0x0003, 0x0002, 0x69d9, 0x6acf, 0x69f4, 0x6a62, 0x080c, 0x0d65, + 0x0005, 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1120, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, + 0x70be, 0x080c, 0x8087, 0x0c60, 0x2071, 0x1800, 0x2900, 0x7822, + 0xa804, 0x900d, 0x1904, 0x6a51, 0x7830, 0xd0dc, 0x1120, 0x00fe, + 0x002e, 0x00ee, 0x0005, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, + 0xd19c, 0x1170, 0x2009, 0x182f, 0x210c, 0x918a, 0x0040, 0x0240, + 0x7022, 0x2001, 0x1dc0, 0x200c, 0x8108, 0x2102, 0x00ee, 0x0058, + 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, + 0x70be, 0x080c, 0x8087, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, + 0xd0a4, 0x19c8, 0x0e04, 0x6a48, 0x7838, 0x7938, 0x910e, 0x1de0, + 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2001, + 0x191f, 0x200c, 0xc184, 0x2102, 0x2091, 0x4080, 0x2001, 0x0089, + 0x2004, 0xd084, 0x190c, 0x11d6, 0x00fe, 0x002e, 0x00ee, 0x0005, + 0x2001, 0x191f, 0x200c, 0xc185, 0x2102, 0x00fe, 0x002e, 0x00ee, + 0x0005, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, + 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8087, + 0x0804, 0x6a03, 0x0096, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x8087, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x1d60, + 0x00ee, 0x0e04, 0x6aa2, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, + 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, + 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x11d6, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd09c, 0x1170, + 0x009e, 0x2900, 0x7822, 0xa804, 0x900d, 0x11e0, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, 0x0c58, 0x009e, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, + 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, + 0x70be, 0x080c, 0x8087, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2908, + 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, + 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1904, 0x6b3c, 0x782c, + 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd09c, 0x11b0, 0x701c, 0x904d, + 0x0198, 0xa84c, 0x9005, 0x1180, 0x7010, 0x8001, 0x7012, 0x1108, + 0x701a, 0xa800, 0x701e, 0x2900, 0x7822, 0x782c, 0x9094, 0x0780, + 0x190c, 0x6cc3, 0xd09c, 0x0d50, 0x782c, 0x9094, 0x0780, 0x190c, + 0x6cc3, 0xd0a4, 0x05a8, 0x00e6, 0x7824, 0x2048, 0x2071, 0x1800, + 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, + 0x8087, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x1d60, + 0x00ee, 0x0e04, 0x6b35, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, + 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x7044, 0xc084, + 0x7046, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, + 0x11d6, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, 0x7046, + 0x00fe, 0x002e, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1800, 0x9016, + 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, + 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8087, 0x00ee, 0x0804, + 0x6adf, 0x2071, 0x190e, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, + 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, + 0x2148, 0xa804, 0x900d, 0x1128, 0x1e04, 0x6b7c, 0x002e, 0x00ee, + 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, - 0x080c, 0x8053, 0x00ee, 0x0804, 0x692b, 0xa868, 0xd0fc, 0x1560, - 0x0096, 0xa804, 0xa807, 0x0000, 0x904d, 0x190c, 0x0fd4, 0x009e, - 0x0018, 0xa868, 0xd0fc, 0x1500, 0x00e6, 0x0026, 0xa84f, 0x0000, - 0x00f6, 0x2079, 0x0050, 0x2071, 0x1906, 0xa803, 0x0000, 0x7010, - 0x9005, 0x1904, 0x6aab, 0x782c, 0x908c, 0x0780, 0x190c, 0x6c9f, - 0x8004, 0x8004, 0x8004, 0x9084, 0x0003, 0x0002, 0x69b5, 0x6aab, - 0x69d0, 0x6a3e, 0x080c, 0x0d65, 0x0005, 0x2071, 0x1800, 0x2900, - 0x7822, 0xa804, 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8053, 0x0c60, - 0x2071, 0x1800, 0x2900, 0x7822, 0xa804, 0x900d, 0x1904, 0x6a2d, - 0x7830, 0xd0dc, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7824, - 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, 0x1170, 0x2009, 0x182f, - 0x210c, 0x918a, 0x0040, 0x0240, 0x7022, 0x2001, 0x1dc0, 0x200c, - 0x8108, 0x2102, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, - 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x8053, 0x782c, - 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd0a4, 0x19c8, 0x0e04, 0x6a24, - 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, - 0x6833, 0x0013, 0x00de, 0x2001, 0x1917, 0x200c, 0xc184, 0x2102, - 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, - 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2001, 0x1917, 0x200c, 0xc185, - 0x2102, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x9016, 0x702c, 0x2148, - 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, - 0x9200, 0x70be, 0x080c, 0x8053, 0x0804, 0x69df, 0x0096, 0x00e6, - 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, - 0x70bc, 0x8000, 0x70be, 0x080c, 0x8053, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd0a4, 0x1d60, 0x00ee, 0x0e04, 0x6a7e, 0x7838, + 0x080c, 0x8087, 0x0e04, 0x6b66, 0x2071, 0x190e, 0x701c, 0x2048, + 0xa84c, 0x900d, 0x0d18, 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, + 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, + 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x2071, 0x190e, 0x080c, + 0x6caf, 0x002e, 0x00ee, 0x0005, 0x2071, 0x190e, 0xa803, 0x0000, + 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, 0x0110, + 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1118, 0x002e, + 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, + 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, + 0x70be, 0x080c, 0x8087, 0x002e, 0x00ee, 0x0005, 0x0006, 0xa87c, + 0x0006, 0xa867, 0x0103, 0x20a9, 0x001c, 0xa860, 0x20e8, 0xa85c, + 0x9080, 0x001d, 0x20a0, 0x9006, 0x4004, 0x000e, 0x9084, 0x00ff, + 0xa87e, 0x000e, 0xa87a, 0xa982, 0x0005, 0x2071, 0x190e, 0x7004, + 0x0002, 0x6be7, 0x6be8, 0x6cae, 0x6be8, 0x0d65, 0x6cae, 0x0005, + 0x2001, 0x1921, 0x2004, 0x0002, 0x6bf2, 0x6bf2, 0x6c47, 0x6c48, + 0x6bf2, 0x6c48, 0x0126, 0x2091, 0x8000, 0x1e0c, 0x6cce, 0x701c, + 0x904d, 0x01e0, 0xa84c, 0x9005, 0x01d8, 0x0e04, 0x6c16, 0xa94c, + 0x2071, 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, + 0xa870, 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x11d6, 0x2071, 0x190e, 0x080c, 0x6caf, 0x012e, 0x0470, + 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd09c, + 0x2071, 0x190e, 0x1510, 0x2071, 0x190e, 0x700f, 0x0001, 0xa964, + 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, + 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, + 0x00de, 0x2071, 0x190e, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, + 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, + 0x00d6, 0x2008, 0x2069, 0x19db, 0x683c, 0x9005, 0x0760, 0x0158, + 0x9186, 0x0003, 0x0540, 0x2001, 0x1814, 0x2004, 0x2009, 0x1b25, + 0x210c, 0x9102, 0x1500, 0x0126, 0x2091, 0x8000, 0x2069, 0x0050, + 0x693c, 0x6838, 0x9106, 0x0190, 0x0e04, 0x6c7a, 0x2069, 0x0000, + 0x6837, 0x8040, 0x6833, 0x0012, 0x6883, 0x8040, 0x2091, 0x4080, + 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x2069, 0x19db, + 0x683f, 0xffff, 0x012e, 0x00de, 0x0126, 0x2091, 0x8000, 0x1e0c, + 0x6d34, 0x701c, 0x904d, 0x0540, 0x2001, 0x005b, 0x2004, 0x9094, + 0x0780, 0x15c9, 0xd09c, 0x1500, 0x2071, 0x190e, 0x700f, 0x0001, + 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, 0x1130, 0x810f, 0x918c, + 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, 0x00d6, 0x2069, 0x0050, + 0x6822, 0x00de, 0x701c, 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, + 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x0005, 0x0005, 0x0126, + 0x2091, 0x8000, 0x701c, 0x904d, 0x0160, 0x7010, 0x8001, 0x7012, + 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, 0x012e, 0x080c, 0x1061, + 0x0005, 0x012e, 0x0005, 0x2091, 0x8000, 0x0e04, 0x6cc5, 0x0006, + 0x0016, 0x2001, 0x8004, 0x0006, 0x0804, 0x0d6e, 0x0096, 0x00f6, + 0x2079, 0x0050, 0x7044, 0xd084, 0x01c0, 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, - 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd09c, 0x1170, 0x009e, 0x2900, 0x7822, 0xa804, - 0x900d, 0x11e0, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x7044, 0xc085, - 0x7046, 0x0c58, 0x009e, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, - 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, - 0x900d, 0x1120, 0x00fe, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, - 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8053, 0x00fe, - 0x002e, 0x00ee, 0x0005, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, - 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, - 0x900d, 0x1904, 0x6b18, 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, - 0xd09c, 0x11b0, 0x701c, 0x904d, 0x0198, 0xa84c, 0x9005, 0x1180, - 0x7010, 0x8001, 0x7012, 0x1108, 0x701a, 0xa800, 0x701e, 0x2900, - 0x7822, 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd09c, 0x0d50, - 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd0a4, 0x05a8, 0x00e6, - 0x7824, 0x2048, 0x2071, 0x1800, 0x702c, 0xa802, 0x2900, 0x702e, - 0x70bc, 0x8000, 0x70be, 0x080c, 0x8053, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd0a4, 0x1d60, 0x00ee, 0x0e04, 0x6b11, 0x7838, - 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, - 0x0013, 0x00de, 0x7044, 0xc084, 0x7046, 0x2091, 0x4080, 0x2001, - 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x00fe, 0x002e, 0x00ee, - 0x0005, 0x7044, 0xc085, 0x7046, 0x00fe, 0x002e, 0x00ee, 0x0005, - 0x00e6, 0x2071, 0x1800, 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, - 0x8210, 0x2900, 0x81ff, 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, - 0x080c, 0x8053, 0x00ee, 0x0804, 0x6abb, 0x2071, 0x1906, 0xa803, - 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, 0x7018, 0x904d, 0x711a, - 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, 0xa804, 0x900d, 0x1128, - 0x1e04, 0x6b58, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, 0x9016, - 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, 0x1dc8, - 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8053, 0x0e04, 0x6b42, - 0x2071, 0x1906, 0x701c, 0x2048, 0xa84c, 0x900d, 0x0d18, 0x2071, - 0x0000, 0x7182, 0xa850, 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, - 0x708a, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, - 0x11c9, 0x2071, 0x1906, 0x080c, 0x6c8b, 0x002e, 0x00ee, 0x0005, - 0x2071, 0x1906, 0xa803, 0x0000, 0x2908, 0x7010, 0x8000, 0x7012, - 0x7018, 0x904d, 0x711a, 0x0110, 0xa902, 0x0008, 0x711e, 0x2148, - 0xa804, 0x900d, 0x1118, 0x002e, 0x00ee, 0x0005, 0x2071, 0x1800, - 0x9016, 0x702c, 0x2148, 0xa904, 0xa802, 0x8210, 0x2900, 0x81ff, - 0x1dc8, 0x702e, 0x70bc, 0x9200, 0x70be, 0x080c, 0x8053, 0x002e, - 0x00ee, 0x0005, 0x0006, 0xa87c, 0x0006, 0xa867, 0x0103, 0x20a9, - 0x001c, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001d, 0x20a0, 0x9006, - 0x4004, 0x000e, 0x9084, 0x00ff, 0xa87e, 0x000e, 0xa87a, 0xa982, - 0x0005, 0x2071, 0x1906, 0x7004, 0x0002, 0x6bc3, 0x6bc4, 0x6c8a, - 0x6bc4, 0x0d65, 0x6c8a, 0x0005, 0x2001, 0x1919, 0x2004, 0x0002, - 0x6bce, 0x6bce, 0x6c23, 0x6c24, 0x6bce, 0x6c24, 0x0126, 0x2091, - 0x8000, 0x1e0c, 0x6caa, 0x701c, 0x904d, 0x01e0, 0xa84c, 0x9005, - 0x01d8, 0x0e04, 0x6bf2, 0xa94c, 0x2071, 0x0000, 0x7182, 0xa850, - 0x7032, 0xa86c, 0x7086, 0x7036, 0xa870, 0x708a, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x2071, 0x1906, - 0x080c, 0x6c8b, 0x012e, 0x0470, 0x2001, 0x005b, 0x2004, 0x9094, - 0x0780, 0x190c, 0x6c9f, 0xd09c, 0x2071, 0x1906, 0x1510, 0x2071, - 0x1906, 0x700f, 0x0001, 0xa964, 0x9184, 0x00ff, 0x9086, 0x0003, - 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, 0x2900, - 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, 0x2071, 0x1906, 0x701c, - 0x2048, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, - 0x701a, 0x012e, 0x0005, 0x0005, 0x00d6, 0x2008, 0x2069, 0x19d3, - 0x683c, 0x9005, 0x0760, 0x0158, 0x9186, 0x0003, 0x0540, 0x2001, - 0x1814, 0x2004, 0x2009, 0x1b1d, 0x210c, 0x9102, 0x1500, 0x0126, - 0x2091, 0x8000, 0x2069, 0x0050, 0x693c, 0x6838, 0x9106, 0x0190, - 0x0e04, 0x6c56, 0x2069, 0x0000, 0x6837, 0x8040, 0x6833, 0x0012, - 0x6883, 0x8040, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, - 0x190c, 0x11c9, 0x2069, 0x19d3, 0x683f, 0xffff, 0x012e, 0x00de, - 0x0126, 0x2091, 0x8000, 0x1e0c, 0x6d10, 0x701c, 0x904d, 0x0540, - 0x2001, 0x005b, 0x2004, 0x9094, 0x0780, 0x15c9, 0xd09c, 0x1500, - 0x2071, 0x1906, 0x700f, 0x0001, 0xa964, 0x9184, 0x00ff, 0x9086, - 0x0003, 0x1130, 0x810f, 0x918c, 0x00ff, 0x8101, 0x0108, 0x710e, - 0x2900, 0x00d6, 0x2069, 0x0050, 0x6822, 0x00de, 0x701c, 0x2048, - 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, 0x701a, - 0x012e, 0x0005, 0x0005, 0x0126, 0x2091, 0x8000, 0x701c, 0x904d, - 0x0160, 0x7010, 0x8001, 0x7012, 0xa800, 0x701e, 0x9005, 0x1108, - 0x701a, 0x012e, 0x080c, 0x1054, 0x0005, 0x012e, 0x0005, 0x2091, - 0x8000, 0x0e04, 0x6ca1, 0x0006, 0x0016, 0x2001, 0x8004, 0x0006, - 0x0804, 0x0d6e, 0x0096, 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, - 0x01c0, 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, - 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, - 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11c9, 0x00fe, 0x009e, - 0x0005, 0x782c, 0x9094, 0x0780, 0x1991, 0xd0a4, 0x0db8, 0x00e6, - 0x2071, 0x1800, 0x7824, 0x00e6, 0x2071, 0x0040, 0x712c, 0xd19c, - 0x1170, 0x2009, 0x182f, 0x210c, 0x918a, 0x0040, 0x0240, 0x7022, - 0x2001, 0x1dc0, 0x200c, 0x8108, 0x2102, 0x00ee, 0x0058, 0x00ee, - 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x8053, 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd0a4, - 0x19c8, 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, - 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, - 0x2004, 0xd084, 0x190c, 0x11c9, 0x00ee, 0x00fe, 0x009e, 0x0005, - 0x00f6, 0x2079, 0x0050, 0x7044, 0xd084, 0x01b8, 0xc084, 0x7046, - 0x7838, 0x7938, 0x910e, 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, - 0x6833, 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, - 0xd084, 0x190c, 0x11c9, 0x00fe, 0x0005, 0x782c, 0x9094, 0x0780, - 0x190c, 0x6c9f, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, - 0x2048, 0x702c, 0xa802, 0x2900, 0x702e, 0x70bc, 0x8000, 0x70be, - 0x080c, 0x8053, 0x782c, 0x9094, 0x0780, 0x190c, 0x6c9f, 0xd0a4, - 0x1d70, 0x00d6, 0x2069, 0x0050, 0x693c, 0x2069, 0x1919, 0x6808, - 0x690a, 0x2069, 0x19d3, 0x9102, 0x1118, 0x683c, 0x9005, 0x1328, - 0x2001, 0x191a, 0x200c, 0x810d, 0x693e, 0x00de, 0x00ee, 0x00fe, - 0x0005, 0x7094, 0x908a, 0x0029, 0x1a0c, 0x0d65, 0x9082, 0x001d, - 0x003b, 0x0026, 0x2011, 0x1e00, 0x080c, 0x288c, 0x002e, 0x0005, - 0x6e3c, 0x6dc2, 0x6dde, 0x6e08, 0x6e2b, 0x6e6b, 0x6e7d, 0x6dde, - 0x6e53, 0x6d7d, 0x6dab, 0x6d7c, 0x0005, 0x00d6, 0x2069, 0x0200, - 0x6804, 0x9005, 0x1180, 0x6808, 0x9005, 0x1518, 0x7097, 0x0028, - 0x2069, 0x195f, 0x2d04, 0x7002, 0x080c, 0x71d7, 0x6028, 0x9085, - 0x0600, 0x602a, 0x00b0, 0x7097, 0x0028, 0x2069, 0x195f, 0x2d04, - 0x7002, 0x6028, 0x9085, 0x0600, 0x602a, 0x00e6, 0x0036, 0x0046, - 0x0056, 0x2071, 0x1a3b, 0x080c, 0x196c, 0x005e, 0x004e, 0x003e, - 0x00ee, 0x00de, 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, - 0x1178, 0x6808, 0x9005, 0x1160, 0x7097, 0x0028, 0x2069, 0x195f, - 0x2d04, 0x7002, 0x080c, 0x7279, 0x6028, 0x9085, 0x0600, 0x602a, - 0x00de, 0x0005, 0x0006, 0x2001, 0x0090, 0x080c, 0x2852, 0x000e, - 0x6124, 0xd1e4, 0x1190, 0x080c, 0x6eee, 0xd1d4, 0x1160, 0xd1dc, - 0x1138, 0xd1cc, 0x0150, 0x7097, 0x0020, 0x080c, 0x6eee, 0x0028, - 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, 0x0005, 0x2001, 0x0088, - 0x080c, 0x2852, 0x6124, 0xd1cc, 0x11e8, 0xd1dc, 0x11c0, 0xd1e4, - 0x1198, 0x9184, 0x1e00, 0x11d8, 0x080c, 0x1996, 0x60e3, 0x0001, - 0x600c, 0xc0b4, 0x600e, 0x080c, 0x70c2, 0x2001, 0x0080, 0x080c, - 0x2852, 0x7097, 0x0028, 0x0058, 0x7097, 0x001e, 0x0040, 0x7097, - 0x001d, 0x0028, 0x7097, 0x0020, 0x0010, 0x7097, 0x001f, 0x0005, - 0x080c, 0x1996, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, - 0x70c2, 0x2001, 0x0080, 0x080c, 0x2852, 0x6124, 0xd1d4, 0x1180, - 0xd1dc, 0x1158, 0xd1e4, 0x1130, 0x9184, 0x1e00, 0x1158, 0x7097, - 0x0028, 0x0040, 0x7097, 0x001e, 0x0028, 0x7097, 0x001d, 0x0010, - 0x7097, 0x001f, 0x0005, 0x2001, 0x00a0, 0x080c, 0x2852, 0x6124, - 0xd1dc, 0x1138, 0xd1e4, 0x0138, 0x080c, 0x1996, 0x7097, 0x001e, - 0x0010, 0x7097, 0x001d, 0x0005, 0x080c, 0x6f77, 0x6124, 0xd1dc, - 0x1188, 0x080c, 0x6eee, 0x0016, 0x080c, 0x1996, 0x001e, 0xd1d4, - 0x1128, 0xd1e4, 0x0138, 0x7097, 0x001e, 0x0020, 0x7097, 0x001f, - 0x080c, 0x6eee, 0x0005, 0x0006, 0x2001, 0x00a0, 0x080c, 0x2852, - 0x000e, 0x6124, 0xd1d4, 0x1160, 0xd1cc, 0x1150, 0xd1dc, 0x1128, - 0xd1e4, 0x0140, 0x7097, 0x001e, 0x0028, 0x7097, 0x001d, 0x0010, - 0x7097, 0x0021, 0x0005, 0x080c, 0x6f77, 0x6124, 0xd1d4, 0x1150, - 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x7097, 0x001e, 0x0028, 0x7097, - 0x001d, 0x0010, 0x7097, 0x001f, 0x0005, 0x0006, 0x2001, 0x0090, - 0x080c, 0x2852, 0x000e, 0x6124, 0xd1d4, 0x1178, 0xd1cc, 0x1150, - 0xd1dc, 0x1128, 0xd1e4, 0x0158, 0x7097, 0x001e, 0x0040, 0x7097, - 0x001d, 0x0028, 0x7097, 0x0020, 0x0010, 0x7097, 0x001f, 0x0005, - 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x0126, 0x2061, 0x0100, 0x2069, - 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x080c, 0x7096, 0x11f8, - 0x2001, 0x180c, 0x200c, 0xd1b4, 0x01d0, 0xc1b4, 0x2102, 0x0026, - 0x2011, 0x0200, 0x080c, 0x288c, 0x002e, 0x080c, 0x2838, 0x6024, - 0xd0cc, 0x0148, 0x2001, 0x00a0, 0x080c, 0x2852, 0x080c, 0x7396, - 0x080c, 0x5cd7, 0x0428, 0x6028, 0xc0cd, 0x602a, 0x0408, 0x080c, - 0x70b0, 0x0150, 0x080c, 0x70a7, 0x1138, 0x2001, 0x0001, 0x080c, - 0x23e2, 0x080c, 0x706a, 0x00a0, 0x080c, 0x6f74, 0x0178, 0x2001, - 0x0001, 0x080c, 0x23e2, 0x7094, 0x9086, 0x001e, 0x0120, 0x7094, - 0x9086, 0x0022, 0x1118, 0x7097, 0x0025, 0x0010, 0x7097, 0x0021, - 0x012e, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x0005, 0x0026, 0x2011, - 0x6eff, 0x080c, 0x823e, 0x002e, 0x0016, 0x0026, 0x2009, 0x0064, - 0x2011, 0x6eff, 0x080c, 0x8235, 0x002e, 0x001e, 0x0005, 0x00e6, - 0x00f6, 0x0016, 0x080c, 0x8f9c, 0x2071, 0x1800, 0x080c, 0x6e98, - 0x001e, 0x00fe, 0x00ee, 0x0005, 0x0016, 0x0026, 0x0036, 0x00c6, - 0x00d6, 0x00e6, 0x00f6, 0x0126, 0x080c, 0x8f9c, 0x2061, 0x0100, - 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, 0x8000, 0x6028, 0xc09c, - 0x602a, 0x080c, 0x98bb, 0x2011, 0x0003, 0x080c, 0x931c, 0x2011, - 0x0002, 0x080c, 0x9326, 0x080c, 0x91e9, 0x080c, 0x81ea, 0x0036, - 0x901e, 0x080c, 0x9269, 0x003e, 0x080c, 0x98d7, 0x60e3, 0x0000, - 0x080c, 0xd60c, 0x080c, 0xd627, 0x2009, 0x0004, 0x080c, 0x283e, - 0x080c, 0x2758, 0x2001, 0x1800, 0x2003, 0x0004, 0x2011, 0x0008, - 0x080c, 0x288c, 0x2011, 0x6eff, 0x080c, 0x823e, 0x080c, 0x70b0, - 0x0118, 0x9006, 0x080c, 0x2852, 0x080c, 0x0bab, 0x2001, 0x0001, - 0x080c, 0x23e2, 0x012e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x003e, - 0x002e, 0x001e, 0x0005, 0x0026, 0x00e6, 0x2011, 0x6f0c, 0x2071, - 0x19d3, 0x701c, 0x9206, 0x1118, 0x7018, 0x9005, 0x0110, 0x9085, - 0x0001, 0x00ee, 0x002e, 0x0005, 0x6020, 0xd09c, 0x0005, 0x6800, - 0x9084, 0xfffe, 0x9086, 0x00c0, 0x01b8, 0x2001, 0x00c0, 0x080c, - 0x2852, 0x0156, 0x20a9, 0x002d, 0x1d04, 0x6f84, 0x2091, 0x6000, - 0x1f04, 0x6f84, 0x015e, 0x00d6, 0x2069, 0x1800, 0x6898, 0x8001, - 0x0220, 0x0118, 0x689a, 0x00de, 0x0005, 0x689b, 0x0014, 0x68e8, - 0xd0dc, 0x0dc8, 0x6800, 0x9086, 0x0001, 0x1da8, 0x080c, 0x824a, - 0x0c90, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, - 0x2071, 0x1800, 0x080c, 0x73a5, 0x2001, 0x193d, 0x2003, 0x0000, - 0x9006, 0x7096, 0x60e2, 0x6886, 0x080c, 0x24b1, 0x9006, 0x080c, - 0x2852, 0x080c, 0x5b92, 0x0026, 0x2011, 0xffff, 0x080c, 0x288c, - 0x002e, 0x602b, 0x182c, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, - 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, - 0x2001, 0x194d, 0x200c, 0x9186, 0x0000, 0x0158, 0x9186, 0x0001, - 0x0158, 0x9186, 0x0002, 0x0158, 0x9186, 0x0003, 0x0158, 0x0804, - 0x705a, 0x7097, 0x0022, 0x0040, 0x7097, 0x0021, 0x0028, 0x7097, - 0x0023, 0x0010, 0x7097, 0x0024, 0x60e3, 0x0000, 0x6887, 0x0001, - 0x2001, 0x0001, 0x080c, 0x24b1, 0x080c, 0x98bb, 0x0026, 0x080c, - 0x9b60, 0x002e, 0x080c, 0x98d7, 0x7000, 0x908e, 0x0004, 0x0118, - 0x602b, 0x0028, 0x0010, 0x602b, 0x0020, 0x0156, 0x0126, 0x2091, - 0x8000, 0x20a9, 0x0005, 0x6024, 0xd0ac, 0x0150, 0x012e, 0x015e, - 0x080c, 0xbf61, 0x0118, 0x9006, 0x080c, 0x287c, 0x0804, 0x7066, - 0x6800, 0x9084, 0x00a1, 0xc0bd, 0x6802, 0x080c, 0x2838, 0x6904, - 0xd1d4, 0x1140, 0x2001, 0x0100, 0x080c, 0x2852, 0x1f04, 0x700b, - 0x080c, 0x70ed, 0x012e, 0x015e, 0x080c, 0x70a7, 0x0170, 0x6044, - 0x9005, 0x0130, 0x080c, 0x70ed, 0x9006, 0x8001, 0x1df0, 0x0028, - 0x6804, 0xd0d4, 0x1110, 0x080c, 0x70ed, 0x080c, 0xbf61, 0x0118, - 0x9006, 0x080c, 0x287c, 0x0016, 0x0026, 0x7000, 0x908e, 0x0004, - 0x0130, 0x2009, 0x00c8, 0x2011, 0x6f0c, 0x080c, 0x81fc, 0x002e, - 0x001e, 0x080c, 0x804a, 0x7034, 0xc085, 0x7036, 0x2001, 0x194d, - 0x2003, 0x0004, 0x080c, 0x6d61, 0x080c, 0x70a7, 0x0138, 0x6804, - 0xd0d4, 0x1120, 0xd0dc, 0x1100, 0x080c, 0x739b, 0x00ee, 0x00de, - 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2069, - 0x0140, 0x2071, 0x1800, 0x080c, 0x8061, 0x080c, 0x8053, 0x080c, - 0x73a5, 0x2001, 0x193d, 0x2003, 0x0000, 0x9006, 0x7096, 0x60e2, - 0x6886, 0x080c, 0x24b1, 0x9006, 0x080c, 0x2852, 0x6043, 0x0090, - 0x6043, 0x0010, 0x0026, 0x2011, 0xffff, 0x080c, 0x288c, 0x002e, - 0x602b, 0x182c, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x0006, 0x2001, - 0x194c, 0x2004, 0x9086, 0xaaaa, 0x000e, 0x0005, 0x0006, 0x080c, - 0x538c, 0x9084, 0x0030, 0x9086, 0x0000, 0x000e, 0x0005, 0x0006, - 0x080c, 0x538c, 0x9084, 0x0030, 0x9086, 0x0030, 0x000e, 0x0005, - 0x0006, 0x080c, 0x538c, 0x9084, 0x0030, 0x9086, 0x0010, 0x000e, - 0x0005, 0x0006, 0x080c, 0x538c, 0x9084, 0x0030, 0x9086, 0x0020, - 0x000e, 0x0005, 0x0036, 0x0016, 0x2001, 0x180c, 0x2004, 0x908c, - 0x0013, 0x0180, 0x0020, 0x080c, 0x24d1, 0x900e, 0x0028, 0x080c, - 0x665e, 0x1dc8, 0x2009, 0x0002, 0x2019, 0x0028, 0x080c, 0x2fd3, - 0x9006, 0x0019, 0x001e, 0x003e, 0x0005, 0x00e6, 0x2071, 0x180c, - 0x2e04, 0x0130, 0x080c, 0xbf5a, 0x1128, 0x9085, 0x0010, 0x0010, - 0x9084, 0xffef, 0x2072, 0x00ee, 0x0005, 0x6050, 0x0006, 0x60ec, - 0x0006, 0x600c, 0x0006, 0x6004, 0x0006, 0x6028, 0x0006, 0x602f, + 0x0013, 0x00de, 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, + 0x190c, 0x11d6, 0x00fe, 0x009e, 0x0005, 0x782c, 0x9094, 0x0780, + 0x1991, 0xd0a4, 0x0db8, 0x00e6, 0x2071, 0x1800, 0x7824, 0x00e6, + 0x2071, 0x0040, 0x712c, 0xd19c, 0x1170, 0x2009, 0x182f, 0x210c, + 0x918a, 0x0040, 0x0240, 0x7022, 0x2001, 0x1dc0, 0x200c, 0x8108, + 0x2102, 0x00ee, 0x0058, 0x00ee, 0x2048, 0x702c, 0xa802, 0x2900, + 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x8087, 0x782c, 0x9094, + 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x19c8, 0x7838, 0x7938, 0x910e, + 0x1de0, 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, + 0x2091, 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, + 0x00ee, 0x00fe, 0x009e, 0x0005, 0x00f6, 0x2079, 0x0050, 0x7044, + 0xd084, 0x01b8, 0xc084, 0x7046, 0x7838, 0x7938, 0x910e, 0x1de0, + 0x00d6, 0x2069, 0x0000, 0x6836, 0x6833, 0x0013, 0x00de, 0x2091, + 0x4080, 0x2001, 0x0089, 0x2004, 0xd084, 0x190c, 0x11d6, 0x00fe, + 0x0005, 0x782c, 0x9094, 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x0db8, + 0x00e6, 0x2071, 0x1800, 0x7824, 0x2048, 0x702c, 0xa802, 0x2900, + 0x702e, 0x70bc, 0x8000, 0x70be, 0x080c, 0x8087, 0x782c, 0x9094, + 0x0780, 0x190c, 0x6cc3, 0xd0a4, 0x1d70, 0x00d6, 0x2069, 0x0050, + 0x693c, 0x2069, 0x1921, 0x6808, 0x690a, 0x2069, 0x19db, 0x9102, + 0x1118, 0x683c, 0x9005, 0x1328, 0x2001, 0x1922, 0x200c, 0x810d, + 0x693e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x7094, 0x908a, 0x0029, + 0x1a0c, 0x0d65, 0x9082, 0x001d, 0x003b, 0x0026, 0x2011, 0x1e00, + 0x080c, 0x28ac, 0x002e, 0x0005, 0x6e60, 0x6de6, 0x6e02, 0x6e2c, + 0x6e4f, 0x6e8f, 0x6ea1, 0x6e02, 0x6e77, 0x6da1, 0x6dcf, 0x6da0, + 0x0005, 0x00d6, 0x2069, 0x0200, 0x6804, 0x9005, 0x1180, 0x6808, + 0x9005, 0x1518, 0x7097, 0x0028, 0x2069, 0x1967, 0x2d04, 0x7002, + 0x080c, 0x71fa, 0x6028, 0x9085, 0x0600, 0x602a, 0x00b0, 0x7097, + 0x0028, 0x2069, 0x1967, 0x2d04, 0x7002, 0x6028, 0x9085, 0x0600, + 0x602a, 0x00e6, 0x0036, 0x0046, 0x0056, 0x2071, 0x1a43, 0x080c, + 0x1989, 0x005e, 0x004e, 0x003e, 0x00ee, 0x00de, 0x0005, 0x00d6, + 0x2069, 0x0200, 0x6804, 0x9005, 0x1178, 0x6808, 0x9005, 0x1160, + 0x7097, 0x0028, 0x2069, 0x1967, 0x2d04, 0x7002, 0x080c, 0x729c, + 0x6028, 0x9085, 0x0600, 0x602a, 0x00de, 0x0005, 0x0006, 0x2001, + 0x0090, 0x080c, 0x2872, 0x000e, 0x6124, 0xd1e4, 0x1190, 0x080c, + 0x6f12, 0xd1d4, 0x1160, 0xd1dc, 0x1138, 0xd1cc, 0x0150, 0x7097, + 0x0020, 0x080c, 0x6f12, 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, + 0x001f, 0x0005, 0x2001, 0x0088, 0x080c, 0x2872, 0x6124, 0xd1cc, + 0x11e8, 0xd1dc, 0x11c0, 0xd1e4, 0x1198, 0x9184, 0x1e00, 0x11d8, + 0x080c, 0x19ae, 0x60e3, 0x0001, 0x600c, 0xc0b4, 0x600e, 0x080c, + 0x70e6, 0x2001, 0x0080, 0x080c, 0x2872, 0x7097, 0x0028, 0x0058, + 0x7097, 0x001e, 0x0040, 0x7097, 0x001d, 0x0028, 0x7097, 0x0020, + 0x0010, 0x7097, 0x001f, 0x0005, 0x080c, 0x19ae, 0x60e3, 0x0001, + 0x600c, 0xc0b4, 0x600e, 0x080c, 0x70e6, 0x2001, 0x0080, 0x080c, + 0x2872, 0x6124, 0xd1d4, 0x1180, 0xd1dc, 0x1158, 0xd1e4, 0x1130, + 0x9184, 0x1e00, 0x1158, 0x7097, 0x0028, 0x0040, 0x7097, 0x001e, + 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, 0x0005, 0x2001, + 0x00a0, 0x080c, 0x2872, 0x6124, 0xd1dc, 0x1138, 0xd1e4, 0x0138, + 0x080c, 0x19ae, 0x7097, 0x001e, 0x0010, 0x7097, 0x001d, 0x0005, + 0x080c, 0x6f9b, 0x6124, 0xd1dc, 0x1188, 0x080c, 0x6f12, 0x0016, + 0x080c, 0x19ae, 0x001e, 0xd1d4, 0x1128, 0xd1e4, 0x0138, 0x7097, + 0x001e, 0x0020, 0x7097, 0x001f, 0x080c, 0x6f12, 0x0005, 0x0006, + 0x2001, 0x00a0, 0x080c, 0x2872, 0x000e, 0x6124, 0xd1d4, 0x1160, + 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, 0x7097, 0x001e, + 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x0021, 0x0005, 0x080c, + 0x6f9b, 0x6124, 0xd1d4, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0140, + 0x7097, 0x001e, 0x0028, 0x7097, 0x001d, 0x0010, 0x7097, 0x001f, + 0x0005, 0x0006, 0x2001, 0x0090, 0x080c, 0x2872, 0x000e, 0x6124, + 0xd1d4, 0x1178, 0xd1cc, 0x1150, 0xd1dc, 0x1128, 0xd1e4, 0x0158, + 0x7097, 0x001e, 0x0040, 0x7097, 0x001d, 0x0028, 0x7097, 0x0020, + 0x0010, 0x7097, 0x001f, 0x0005, 0x0016, 0x00c6, 0x00d6, 0x00e6, + 0x0126, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x2091, + 0x8000, 0x080c, 0x70ba, 0x11f8, 0x2001, 0x180c, 0x200c, 0xd1b4, + 0x01d0, 0xc1b4, 0x2102, 0x0026, 0x2011, 0x0200, 0x080c, 0x28ac, + 0x002e, 0x080c, 0x2858, 0x6024, 0xd0cc, 0x0148, 0x2001, 0x00a0, + 0x080c, 0x2872, 0x080c, 0x73b9, 0x080c, 0x5cf7, 0x0428, 0x6028, + 0xc0cd, 0x602a, 0x0408, 0x080c, 0x70d4, 0x0150, 0x080c, 0x70cb, + 0x1138, 0x2001, 0x0001, 0x080c, 0x23fe, 0x080c, 0x708e, 0x00a0, + 0x080c, 0x6f98, 0x0178, 0x2001, 0x0001, 0x080c, 0x23fe, 0x7094, + 0x9086, 0x001e, 0x0120, 0x7094, 0x9086, 0x0022, 0x1118, 0x7097, + 0x0025, 0x0010, 0x7097, 0x0021, 0x012e, 0x00ee, 0x00de, 0x00ce, + 0x001e, 0x0005, 0x0026, 0x2011, 0x6f23, 0x080c, 0x8272, 0x002e, + 0x0016, 0x0026, 0x2009, 0x0064, 0x2011, 0x6f23, 0x080c, 0x8269, + 0x002e, 0x001e, 0x0005, 0x00e6, 0x00f6, 0x0016, 0x080c, 0x8fd0, + 0x2071, 0x1800, 0x080c, 0x6ebc, 0x001e, 0x00fe, 0x00ee, 0x0005, + 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0126, + 0x080c, 0x8fd0, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, + 0x2091, 0x8000, 0x6028, 0xc09c, 0x602a, 0x080c, 0x98c7, 0x2011, + 0x0003, 0x080c, 0x9324, 0x2011, 0x0002, 0x080c, 0x932e, 0x080c, + 0x921d, 0x080c, 0x821e, 0x0036, 0x901e, 0x080c, 0x929d, 0x003e, + 0x080c, 0x98e3, 0x60e3, 0x0000, 0x080c, 0xd644, 0x080c, 0xd65f, + 0x2009, 0x0004, 0x080c, 0x285e, 0x080c, 0x2774, 0x2001, 0x1800, + 0x2003, 0x0004, 0x2011, 0x0008, 0x080c, 0x28ac, 0x2011, 0x6f23, + 0x080c, 0x8272, 0x080c, 0x70d4, 0x0118, 0x9006, 0x080c, 0x2872, + 0x080c, 0x0bab, 0x2001, 0x0001, 0x080c, 0x23fe, 0x012e, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x0005, 0x0026, + 0x00e6, 0x2011, 0x6f30, 0x2071, 0x19db, 0x701c, 0x9206, 0x1118, + 0x7018, 0x9005, 0x0110, 0x9085, 0x0001, 0x00ee, 0x002e, 0x0005, + 0x6020, 0xd09c, 0x0005, 0x6800, 0x9084, 0xfffe, 0x9086, 0x00c0, + 0x01b8, 0x2001, 0x00c0, 0x080c, 0x2872, 0x0156, 0x20a9, 0x002d, + 0x1d04, 0x6fa8, 0x2091, 0x6000, 0x1f04, 0x6fa8, 0x015e, 0x00d6, + 0x2069, 0x1800, 0x6898, 0x8001, 0x0220, 0x0118, 0x689a, 0x00de, + 0x0005, 0x689b, 0x0014, 0x68e8, 0xd0dc, 0x0dc8, 0x6800, 0x9086, + 0x0001, 0x1da8, 0x080c, 0x827e, 0x0c90, 0x00c6, 0x00d6, 0x00e6, + 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x73c8, + 0x2001, 0x1945, 0x2003, 0x0000, 0x9006, 0x7096, 0x60e2, 0x6886, + 0x080c, 0x24cd, 0x9006, 0x080c, 0x2872, 0x080c, 0x5bb2, 0x0026, + 0x2011, 0xffff, 0x080c, 0x28ac, 0x002e, 0x602b, 0x182c, 0x00ee, + 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, + 0x2069, 0x0140, 0x2071, 0x1800, 0x2001, 0x1955, 0x200c, 0x9186, + 0x0000, 0x0158, 0x9186, 0x0001, 0x0158, 0x9186, 0x0002, 0x0158, + 0x9186, 0x0003, 0x0158, 0x0804, 0x707e, 0x7097, 0x0022, 0x0040, + 0x7097, 0x0021, 0x0028, 0x7097, 0x0023, 0x0010, 0x7097, 0x0024, + 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, 0x24cd, + 0x080c, 0x98c7, 0x0026, 0x080c, 0x9b6c, 0x002e, 0x080c, 0x98e3, + 0x7000, 0x908e, 0x0004, 0x0118, 0x602b, 0x0028, 0x0010, 0x602b, + 0x0020, 0x0156, 0x0126, 0x2091, 0x8000, 0x20a9, 0x0005, 0x6024, + 0xd0ac, 0x0150, 0x012e, 0x015e, 0x080c, 0xbf8f, 0x0118, 0x9006, + 0x080c, 0x289c, 0x0804, 0x708a, 0x6800, 0x9084, 0x00a1, 0xc0bd, + 0x6802, 0x080c, 0x2858, 0x6904, 0xd1d4, 0x1140, 0x2001, 0x0100, + 0x080c, 0x2872, 0x1f04, 0x702f, 0x080c, 0x7111, 0x012e, 0x015e, + 0x080c, 0x70cb, 0x0170, 0x6044, 0x9005, 0x0130, 0x080c, 0x7111, + 0x9006, 0x8001, 0x1df0, 0x0028, 0x6804, 0xd0d4, 0x1110, 0x080c, + 0x7111, 0x080c, 0xbf8f, 0x0118, 0x9006, 0x080c, 0x289c, 0x0016, + 0x0026, 0x7000, 0x908e, 0x0004, 0x0130, 0x2009, 0x00c8, 0x2011, + 0x6f30, 0x080c, 0x8230, 0x002e, 0x001e, 0x080c, 0x807e, 0x7034, + 0xc085, 0x7036, 0x2001, 0x1955, 0x2003, 0x0004, 0x080c, 0x6d85, + 0x080c, 0x70cb, 0x0138, 0x6804, 0xd0d4, 0x1120, 0xd0dc, 0x1100, + 0x080c, 0x73be, 0x00ee, 0x00de, 0x00ce, 0x0005, 0x00c6, 0x00d6, + 0x00e6, 0x2061, 0x0100, 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, + 0x8095, 0x080c, 0x8087, 0x080c, 0x73c8, 0x2001, 0x1945, 0x2003, + 0x0000, 0x9006, 0x7096, 0x60e2, 0x6886, 0x080c, 0x24cd, 0x9006, + 0x080c, 0x2872, 0x6043, 0x0090, 0x6043, 0x0010, 0x0026, 0x2011, + 0xffff, 0x080c, 0x28ac, 0x002e, 0x602b, 0x182c, 0x00ee, 0x00de, + 0x00ce, 0x0005, 0x0006, 0x2001, 0x1954, 0x2004, 0x9086, 0xaaaa, + 0x000e, 0x0005, 0x0006, 0x080c, 0x53ac, 0x9084, 0x0030, 0x9086, + 0x0000, 0x000e, 0x0005, 0x0006, 0x080c, 0x53ac, 0x9084, 0x0030, + 0x9086, 0x0030, 0x000e, 0x0005, 0x0006, 0x080c, 0x53ac, 0x9084, + 0x0030, 0x9086, 0x0010, 0x000e, 0x0005, 0x0006, 0x080c, 0x53ac, + 0x9084, 0x0030, 0x9086, 0x0020, 0x000e, 0x0005, 0x0036, 0x0016, + 0x2001, 0x180c, 0x2004, 0x908c, 0x0013, 0x0180, 0x0020, 0x080c, + 0x24ed, 0x900e, 0x0028, 0x080c, 0x6682, 0x1dc8, 0x2009, 0x0002, + 0x2019, 0x0028, 0x080c, 0x2ff3, 0x9006, 0x0019, 0x001e, 0x003e, + 0x0005, 0x00e6, 0x2071, 0x180c, 0x2e04, 0x0130, 0x080c, 0xbf88, + 0x1128, 0x9085, 0x0010, 0x0010, 0x9084, 0xffef, 0x2072, 0x00ee, + 0x0005, 0x6050, 0x0006, 0x60ec, 0x0006, 0x600c, 0x0006, 0x6004, + 0x0006, 0x6028, 0x0006, 0x080c, 0x28cf, 0x080c, 0x2902, 0x602f, 0x0100, 0x602f, 0x0000, 0x602f, 0x0040, 0x602f, 0x0000, 0x20a9, - 0x0002, 0x080c, 0x2819, 0x0026, 0x2011, 0x0040, 0x080c, 0x288c, + 0x0002, 0x080c, 0x2839, 0x0026, 0x2011, 0x0040, 0x080c, 0x28ac, 0x002e, 0x000e, 0x602a, 0x000e, 0x6006, 0x000e, 0x600e, 0x000e, 0x60ee, 0x60e3, 0x0000, 0x6887, 0x0001, 0x2001, 0x0001, 0x080c, - 0x24b1, 0x2001, 0x00a0, 0x0006, 0x080c, 0xbf61, 0x000e, 0x0130, - 0x080c, 0x2870, 0x9006, 0x080c, 0x287c, 0x0010, 0x080c, 0x2852, + 0x24cd, 0x2001, 0x00a0, 0x0006, 0x080c, 0xbf8f, 0x000e, 0x0130, + 0x080c, 0x2890, 0x9006, 0x080c, 0x289c, 0x0010, 0x080c, 0x2872, 0x000e, 0x6052, 0x6050, 0x0006, 0xc0e5, 0x6052, 0x00f6, 0x2079, - 0x0100, 0x080c, 0x27c9, 0x00fe, 0x000e, 0x6052, 0x0005, 0x0156, - 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, - 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x9919, 0x0158, 0x2001, - 0x0386, 0x2004, 0xd0b4, 0x1130, 0x2001, 0x0016, 0x080c, 0x98ac, - 0x0804, 0x71c9, 0x2001, 0x180c, 0x200c, 0xc1c4, 0x2102, 0x6028, - 0x9084, 0xe1ff, 0x602a, 0x2011, 0x0200, 0x080c, 0x288c, 0x2001, - 0x0090, 0x080c, 0x2852, 0x20a9, 0x0366, 0x6024, 0xd0cc, 0x1558, - 0x1d04, 0x7165, 0x2091, 0x6000, 0x1f04, 0x7165, 0x080c, 0x98bb, - 0x2011, 0x0003, 0x080c, 0x931c, 0x2011, 0x0002, 0x080c, 0x9326, - 0x080c, 0x91e9, 0x901e, 0x080c, 0x9269, 0x2001, 0x0386, 0x2003, - 0x7000, 0x080c, 0x98d7, 0x2001, 0x00a0, 0x080c, 0x2852, 0x080c, - 0x7396, 0x080c, 0x5cd7, 0x080c, 0xbf61, 0x0110, 0x080c, 0x0cd1, - 0x9085, 0x0001, 0x04e0, 0x2001, 0x0386, 0x2004, 0xd0ac, 0x0110, - 0x080c, 0x1996, 0x60e3, 0x0000, 0x2001, 0x0002, 0x080c, 0x24b1, - 0x60e2, 0x2001, 0x0080, 0x080c, 0x2852, 0x20a9, 0x0366, 0x2011, - 0x1e00, 0x080c, 0x288c, 0x2009, 0x1e00, 0x080c, 0x2838, 0x6024, - 0x910c, 0x0140, 0x1d04, 0x71a7, 0x2091, 0x6000, 0x1f04, 0x71a7, - 0x0804, 0x716e, 0x2001, 0x0386, 0x2003, 0x7000, 0x6028, 0x9085, - 0x1e00, 0x602a, 0x70b0, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, - 0x6886, 0x080c, 0xbf61, 0x0110, 0x080c, 0x0cd1, 0x9006, 0x00ee, - 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, + 0x0100, 0x080c, 0x27e5, 0x00fe, 0x000e, 0x6052, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, - 0x2071, 0x1800, 0x7000, 0x9086, 0x0003, 0x1168, 0x2001, 0x020b, - 0x2004, 0x9084, 0x5540, 0x9086, 0x5540, 0x1128, 0x2069, 0x1a46, - 0x2d04, 0x8000, 0x206a, 0x2069, 0x0140, 0x6020, 0x9084, 0x00c0, - 0x0120, 0x6884, 0x9005, 0x1904, 0x7240, 0x2001, 0x0088, 0x080c, - 0x2852, 0x9006, 0x60e2, 0x6886, 0x080c, 0x24b1, 0x2069, 0x0200, - 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x01d0, 0x6028, 0x9084, - 0xfbff, 0x602a, 0x2011, 0x0400, 0x080c, 0x288c, 0x2069, 0x195f, - 0x7000, 0x206a, 0x7097, 0x0026, 0x7003, 0x0001, 0x20a9, 0x0002, - 0x1d04, 0x7220, 0x2091, 0x6000, 0x1f04, 0x7220, 0x0804, 0x7271, - 0x2069, 0x0140, 0x20a9, 0x0384, 0x2011, 0x1e00, 0x080c, 0x288c, - 0x2009, 0x1e00, 0x080c, 0x2838, 0x6024, 0x910c, 0x0528, 0x9084, - 0x1a00, 0x1510, 0x1d04, 0x722c, 0x2091, 0x6000, 0x1f04, 0x722c, - 0x080c, 0x98bb, 0x2011, 0x0003, 0x080c, 0x931c, 0x2011, 0x0002, - 0x080c, 0x9326, 0x080c, 0x91e9, 0x901e, 0x080c, 0x9269, 0x080c, - 0x98d7, 0x2001, 0x00a0, 0x080c, 0x2852, 0x080c, 0x7396, 0x080c, - 0x5cd7, 0x9085, 0x0001, 0x00a8, 0x2001, 0x0080, 0x080c, 0x2852, - 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b0, 0x9005, 0x1118, 0x6887, - 0x0001, 0x0008, 0x6886, 0x2001, 0x0002, 0x080c, 0x24b1, 0x60e2, - 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, - 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, 0x00e6, - 0x2061, 0x0100, 0x2071, 0x1800, 0x6020, 0x9084, 0x00c0, 0x01e8, - 0x080c, 0x98bb, 0x2011, 0x0003, 0x080c, 0x931c, 0x2011, 0x0002, - 0x080c, 0x9326, 0x080c, 0x91e9, 0x901e, 0x080c, 0x9269, 0x080c, - 0x98d7, 0x2069, 0x0140, 0x2001, 0x00a0, 0x080c, 0x2852, 0x080c, - 0x7396, 0x080c, 0x5cd7, 0x0804, 0x7313, 0x2001, 0x180c, 0x200c, - 0xd1b4, 0x1160, 0xc1b5, 0x2102, 0x080c, 0x6ef4, 0x2069, 0x0140, - 0x2001, 0x0080, 0x080c, 0x2852, 0x60e3, 0x0000, 0x2069, 0x0200, - 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, 0x0190, 0x6028, 0x9084, - 0xfdff, 0x602a, 0x2011, 0x0200, 0x080c, 0x288c, 0x2069, 0x195f, - 0x7000, 0x206a, 0x7097, 0x0027, 0x7003, 0x0001, 0x0804, 0x7313, - 0x2011, 0x1e00, 0x080c, 0x288c, 0x2009, 0x1e00, 0x080c, 0x2838, - 0x6024, 0x910c, 0x01c8, 0x9084, 0x1c00, 0x11b0, 0x1d04, 0x72d0, - 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, 0x080c, 0x8092, 0x00ee, - 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, 0x2071, 0x19d3, 0x7018, - 0x00ee, 0x9005, 0x19e8, 0x01f8, 0x0026, 0x2011, 0x6f0c, 0x080c, - 0x8138, 0x2011, 0x6eff, 0x080c, 0x823e, 0x002e, 0x2069, 0x0140, - 0x60e3, 0x0000, 0x70b0, 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, - 0x6886, 0x2001, 0x0002, 0x080c, 0x24b1, 0x60e2, 0x2001, 0x180c, - 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, - 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x0046, - 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x080c, 0xbf5a, - 0x1904, 0x7380, 0x7130, 0xd184, 0x1170, 0x080c, 0x317a, 0x0138, - 0xc18d, 0x7132, 0x2011, 0x1854, 0x2214, 0xd2ac, 0x1120, 0x7030, - 0xd08c, 0x0904, 0x7380, 0x2011, 0x1854, 0x220c, 0x0438, 0x0016, - 0x2019, 0x000e, 0x080c, 0xd1fc, 0x0156, 0x00b6, 0x20a9, 0x007f, - 0x900e, 0x9186, 0x007e, 0x01a0, 0x9186, 0x0080, 0x0188, 0x080c, - 0x626b, 0x1170, 0x2120, 0x9006, 0x0016, 0x2009, 0x000e, 0x080c, - 0xd284, 0x2009, 0x0001, 0x2011, 0x0100, 0x080c, 0x83cd, 0x001e, - 0x8108, 0x1f04, 0x7349, 0x00be, 0x015e, 0x001e, 0xd1ac, 0x1148, - 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, 0x080c, 0x2fd3, 0x001e, - 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, 0x900e, 0x080c, 0x626b, - 0x1110, 0x080c, 0x5cf1, 0x8108, 0x1f04, 0x7376, 0x00be, 0x015e, - 0x080c, 0x1996, 0x080c, 0x98bb, 0x080c, 0x9b60, 0x080c, 0x98d7, - 0x60e3, 0x0000, 0x080c, 0x5cd7, 0x080c, 0x6fc7, 0x00ee, 0x00ce, - 0x004e, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, 0x194d, - 0x2003, 0x0001, 0x0005, 0x2001, 0x194d, 0x2003, 0x0000, 0x0005, - 0x2001, 0x194c, 0x2003, 0xaaaa, 0x0005, 0x2001, 0x194c, 0x2003, - 0x0000, 0x0005, 0x2071, 0x18f0, 0x7003, 0x0000, 0x7007, 0x0000, - 0x080c, 0x103b, 0x090c, 0x0d65, 0xa8ab, 0xdcb0, 0x2900, 0x704e, - 0x080c, 0x103b, 0x090c, 0x0d65, 0xa8ab, 0xdcb0, 0x2900, 0x7052, - 0xa867, 0x0000, 0xa86b, 0x0001, 0xa89f, 0x0000, 0x0005, 0x00e6, - 0x2071, 0x0040, 0x6848, 0x9005, 0x1118, 0x9085, 0x0001, 0x04b0, - 0x6840, 0x9005, 0x0150, 0x04a1, 0x6a50, 0x9200, 0x7002, 0x6854, - 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, 0x6850, 0x7002, 0x6854, - 0x7006, 0x6858, 0x700a, 0x685c, 0x700e, 0x6840, 0x9005, 0x1110, - 0x7012, 0x7016, 0x6848, 0x701a, 0x701c, 0x9085, 0x0040, 0x701e, - 0x2001, 0x0019, 0x7036, 0x702b, 0x0001, 0x2001, 0x0004, 0x200c, - 0x918c, 0xfff7, 0x918d, 0x8000, 0x2102, 0x00d6, 0x2069, 0x18f0, - 0x6807, 0x0001, 0x00de, 0x080c, 0x79a2, 0x9006, 0x00ee, 0x0005, - 0x900e, 0x0156, 0x20a9, 0x0006, 0x8003, 0x818d, 0x1f04, 0x740c, - 0x015e, 0x0005, 0x2079, 0x0040, 0x2071, 0x18f0, 0x7004, 0x0002, - 0x7422, 0x7423, 0x746e, 0x74c9, 0x760a, 0x7420, 0x7420, 0x7634, - 0x080c, 0x0d65, 0x0005, 0x2079, 0x0040, 0x2001, 0x1dc0, 0x2003, - 0x0000, 0x782c, 0x908c, 0x0780, 0x190c, 0x7a2e, 0xd0a4, 0x0570, - 0x2001, 0x1dc0, 0x2004, 0x9082, 0x0080, 0x1640, 0x1d04, 0x7440, - 0x2001, 0x19d6, 0x200c, 0x8109, 0x0508, 0x2091, 0x6000, 0x2102, + 0x2069, 0x0140, 0x2071, 0x1800, 0x080c, 0x9925, 0x0158, 0x2001, + 0x0386, 0x2004, 0xd0b4, 0x1130, 0x2001, 0x0016, 0x080c, 0x98b8, + 0x0804, 0x71ec, 0x2001, 0x180c, 0x200c, 0xc1c4, 0x2102, 0x6028, + 0x9084, 0xe1ff, 0x602a, 0x2011, 0x0200, 0x080c, 0x28ac, 0x2001, + 0x0090, 0x080c, 0x2872, 0x20a9, 0x0366, 0x6024, 0xd0cc, 0x1558, + 0x1d04, 0x718d, 0x2091, 0x6000, 0x1f04, 0x718d, 0x080c, 0x98c7, + 0x2011, 0x0003, 0x080c, 0x9324, 0x2011, 0x0002, 0x080c, 0x932e, + 0x080c, 0x921d, 0x901e, 0x080c, 0x929d, 0x2001, 0x0386, 0x2003, + 0x7000, 0x080c, 0x98e3, 0x2001, 0x00a0, 0x080c, 0x2872, 0x080c, + 0x73b9, 0x080c, 0x5cf7, 0x080c, 0xbf8f, 0x0110, 0x080c, 0x0cd1, + 0x9085, 0x0001, 0x04b8, 0x080c, 0x19ae, 0x60e3, 0x0000, 0x2001, + 0x0002, 0x080c, 0x24cd, 0x60e2, 0x2001, 0x0080, 0x080c, 0x2872, + 0x20a9, 0x0366, 0x2011, 0x1e00, 0x080c, 0x28ac, 0x2009, 0x1e00, + 0x080c, 0x2858, 0x6024, 0x910c, 0x0140, 0x1d04, 0x71ca, 0x2091, + 0x6000, 0x1f04, 0x71ca, 0x0804, 0x7196, 0x2001, 0x0386, 0x2003, + 0x7000, 0x6028, 0x9085, 0x1e00, 0x602a, 0x70b0, 0x9005, 0x1118, + 0x6887, 0x0001, 0x0008, 0x6886, 0x080c, 0xbf8f, 0x0110, 0x080c, + 0x0cd1, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, 0x002e, 0x001e, + 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, 0x00c6, 0x00d6, + 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x7000, 0x9086, 0x0003, + 0x1168, 0x2001, 0x020b, 0x2004, 0x9084, 0x5540, 0x9086, 0x5540, + 0x1128, 0x2069, 0x1a4e, 0x2d04, 0x8000, 0x206a, 0x2069, 0x0140, + 0x6020, 0x9084, 0x00c0, 0x0120, 0x6884, 0x9005, 0x1904, 0x7263, + 0x2001, 0x0088, 0x080c, 0x2872, 0x9006, 0x60e2, 0x6886, 0x080c, + 0x24cd, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, + 0x01d0, 0x6028, 0x9084, 0xfbff, 0x602a, 0x2011, 0x0400, 0x080c, + 0x28ac, 0x2069, 0x1967, 0x7000, 0x206a, 0x7097, 0x0026, 0x7003, + 0x0001, 0x20a9, 0x0002, 0x1d04, 0x7243, 0x2091, 0x6000, 0x1f04, + 0x7243, 0x0804, 0x7294, 0x2069, 0x0140, 0x20a9, 0x0384, 0x2011, + 0x1e00, 0x080c, 0x28ac, 0x2009, 0x1e00, 0x080c, 0x2858, 0x6024, + 0x910c, 0x0528, 0x9084, 0x1a00, 0x1510, 0x1d04, 0x724f, 0x2091, + 0x6000, 0x1f04, 0x724f, 0x080c, 0x98c7, 0x2011, 0x0003, 0x080c, + 0x9324, 0x2011, 0x0002, 0x080c, 0x932e, 0x080c, 0x921d, 0x901e, + 0x080c, 0x929d, 0x080c, 0x98e3, 0x2001, 0x00a0, 0x080c, 0x2872, + 0x080c, 0x73b9, 0x080c, 0x5cf7, 0x9085, 0x0001, 0x00a8, 0x2001, + 0x0080, 0x080c, 0x2872, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b0, + 0x9005, 0x1118, 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x0002, + 0x080c, 0x24cd, 0x60e2, 0x9006, 0x00ee, 0x00de, 0x00ce, 0x003e, + 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, 0x0026, 0x0036, + 0x00c6, 0x00d6, 0x00e6, 0x2061, 0x0100, 0x2071, 0x1800, 0x6020, + 0x9084, 0x00c0, 0x01e8, 0x080c, 0x98c7, 0x2011, 0x0003, 0x080c, + 0x9324, 0x2011, 0x0002, 0x080c, 0x932e, 0x080c, 0x921d, 0x901e, + 0x080c, 0x929d, 0x080c, 0x98e3, 0x2069, 0x0140, 0x2001, 0x00a0, + 0x080c, 0x2872, 0x080c, 0x73b9, 0x080c, 0x5cf7, 0x0804, 0x7336, + 0x2001, 0x180c, 0x200c, 0xd1b4, 0x1160, 0xc1b5, 0x2102, 0x080c, + 0x6f18, 0x2069, 0x0140, 0x2001, 0x0080, 0x080c, 0x2872, 0x60e3, + 0x0000, 0x2069, 0x0200, 0x6804, 0x9005, 0x1118, 0x6808, 0x9005, + 0x0190, 0x6028, 0x9084, 0xfdff, 0x602a, 0x2011, 0x0200, 0x080c, + 0x28ac, 0x2069, 0x1967, 0x7000, 0x206a, 0x7097, 0x0027, 0x7003, + 0x0001, 0x0804, 0x7336, 0x2011, 0x1e00, 0x080c, 0x28ac, 0x2009, + 0x1e00, 0x080c, 0x2858, 0x6024, 0x910c, 0x01c8, 0x9084, 0x1c00, + 0x11b0, 0x1d04, 0x72f3, 0x0006, 0x0016, 0x00c6, 0x00d6, 0x00e6, + 0x080c, 0x80c6, 0x00ee, 0x00de, 0x00ce, 0x001e, 0x000e, 0x00e6, + 0x2071, 0x19db, 0x7070, 0x00ee, 0x9005, 0x19e8, 0x00f8, 0x0026, + 0x2011, 0x6f30, 0x080c, 0x816c, 0x2011, 0x6f23, 0x080c, 0x8272, + 0x002e, 0x2069, 0x0140, 0x60e3, 0x0000, 0x70b0, 0x9005, 0x1118, + 0x6887, 0x0001, 0x0008, 0x6886, 0x2001, 0x0002, 0x080c, 0x24cd, + 0x60e2, 0x2001, 0x180c, 0x200c, 0xc1b4, 0x2102, 0x00ee, 0x00de, + 0x00ce, 0x003e, 0x002e, 0x001e, 0x015e, 0x0005, 0x0156, 0x0016, + 0x0026, 0x0036, 0x0046, 0x00c6, 0x00e6, 0x2061, 0x0100, 0x2071, + 0x1800, 0x080c, 0xbf88, 0x1904, 0x73a3, 0x7130, 0xd184, 0x1170, + 0x080c, 0x319a, 0x0138, 0xc18d, 0x7132, 0x2011, 0x185c, 0x2214, + 0xd2ac, 0x1120, 0x7030, 0xd08c, 0x0904, 0x73a3, 0x2011, 0x185c, + 0x220c, 0x0438, 0x0016, 0x2019, 0x000e, 0x080c, 0xd234, 0x0156, + 0x00b6, 0x20a9, 0x007f, 0x900e, 0x9186, 0x007e, 0x01a0, 0x9186, + 0x0080, 0x0188, 0x080c, 0x628f, 0x1170, 0x2120, 0x9006, 0x0016, + 0x2009, 0x000e, 0x080c, 0xd2bc, 0x2009, 0x0001, 0x2011, 0x0100, + 0x080c, 0x8401, 0x001e, 0x8108, 0x1f04, 0x736c, 0x00be, 0x015e, + 0x001e, 0xd1ac, 0x1148, 0x0016, 0x2009, 0x0002, 0x2019, 0x0004, + 0x080c, 0x2ff3, 0x001e, 0x0078, 0x0156, 0x00b6, 0x20a9, 0x007f, + 0x900e, 0x080c, 0x628f, 0x1110, 0x080c, 0x5d11, 0x8108, 0x1f04, + 0x7399, 0x00be, 0x015e, 0x080c, 0x19ae, 0x080c, 0x98c7, 0x080c, + 0x9b6c, 0x080c, 0x98e3, 0x60e3, 0x0000, 0x080c, 0x5cf7, 0x080c, + 0x6feb, 0x00ee, 0x00ce, 0x004e, 0x003e, 0x002e, 0x001e, 0x015e, + 0x0005, 0x2001, 0x1955, 0x2003, 0x0001, 0x0005, 0x2001, 0x1955, + 0x2003, 0x0000, 0x0005, 0x2001, 0x1954, 0x2003, 0xaaaa, 0x0005, + 0x2001, 0x1954, 0x2003, 0x0000, 0x0005, 0x2071, 0x18f8, 0x7003, + 0x0000, 0x7007, 0x0000, 0x080c, 0x1048, 0x090c, 0x0d65, 0xa8ab, + 0xdcb0, 0x2900, 0x704e, 0x080c, 0x1048, 0x090c, 0x0d65, 0xa8ab, + 0xdcb0, 0x2900, 0x7052, 0xa867, 0x0000, 0xa86b, 0x0001, 0xa89f, + 0x0000, 0x0005, 0x00e6, 0x2071, 0x0040, 0x6848, 0x9005, 0x1118, + 0x9085, 0x0001, 0x04b0, 0x6840, 0x9005, 0x0150, 0x04a1, 0x6a50, + 0x9200, 0x7002, 0x6854, 0x9101, 0x7006, 0x9006, 0x7012, 0x7016, + 0x6850, 0x7002, 0x6854, 0x7006, 0x6858, 0x700a, 0x685c, 0x700e, + 0x6840, 0x9005, 0x1110, 0x7012, 0x7016, 0x6848, 0x701a, 0x701c, + 0x9085, 0x0040, 0x701e, 0x2001, 0x0019, 0x7036, 0x702b, 0x0001, + 0x2001, 0x0004, 0x200c, 0x918c, 0xfff7, 0x918d, 0x8000, 0x2102, + 0x00d6, 0x2069, 0x18f8, 0x6807, 0x0001, 0x00de, 0x080c, 0x79c6, + 0x9006, 0x00ee, 0x0005, 0x900e, 0x0156, 0x20a9, 0x0006, 0x8003, + 0x818d, 0x1f04, 0x742f, 0x015e, 0x0005, 0x2079, 0x0040, 0x2071, + 0x18f8, 0x7004, 0x0002, 0x7445, 0x7446, 0x7492, 0x74ed, 0x762e, + 0x7443, 0x7443, 0x7658, 0x080c, 0x0d65, 0x0005, 0x2079, 0x0040, + 0x2001, 0x1dc0, 0x2003, 0x0000, 0x782c, 0x908c, 0x0780, 0x190c, + 0x7a52, 0xd0a4, 0x0578, 0x2001, 0x1dc0, 0x2004, 0x9082, 0x0080, + 0x1648, 0x1d04, 0x7463, 0x2001, 0x19de, 0x200c, 0x8109, 0x0510, + 0x2091, 0x6000, 0x2102, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, + 0xa864, 0x9084, 0x00ff, 0x908a, 0x0040, 0x0610, 0x00c0, 0x2001, + 0x1800, 0x200c, 0x9186, 0x0003, 0x1168, 0x7004, 0x0002, 0x7482, + 0x744c, 0x7482, 0x7480, 0x7482, 0x7482, 0x7482, 0x7482, 0x7482, + 0x080c, 0x74ed, 0x782c, 0xd09c, 0x090c, 0x79c6, 0x0005, 0x9082, + 0x005a, 0x1218, 0x2100, 0x003b, 0x0c10, 0x080c, 0x7523, 0x0c90, + 0x00e3, 0x08e8, 0x0005, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, + 0x7523, 0x7523, 0x7523, 0x7545, 0x7523, 0x7523, 0x7523, 0x7523, + 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, + 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x752f, + 0x7523, 0x772d, 0x7523, 0x7523, 0x7523, 0x7545, 0x7523, 0x752f, + 0x776e, 0x77af, 0x77f6, 0x780a, 0x7523, 0x7523, 0x7545, 0x752f, + 0x7523, 0x7523, 0x7602, 0x78b5, 0x78d0, 0x7523, 0x7545, 0x7523, + 0x7523, 0x7523, 0x7523, 0x75f8, 0x78d0, 0x7523, 0x7523, 0x7523, + 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7559, 0x7523, + 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, + 0x79f6, 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x756d, 0x7523, + 0x7523, 0x7523, 0x7523, 0x7523, 0x7523, 0x2079, 0x0040, 0x7004, + 0x9086, 0x0003, 0x1198, 0x782c, 0x080c, 0x79ef, 0xd0a4, 0x0170, 0x7824, 0x2048, 0x9006, 0xa802, 0xa806, 0xa864, 0x9084, 0x00ff, - 0x908a, 0x0040, 0x0608, 0x00b8, 0x2001, 0x1800, 0x200c, 0x9186, - 0x0003, 0x1160, 0x7104, 0x9186, 0x0004, 0x0140, 0x9186, 0x0007, - 0x0128, 0x9186, 0x0003, 0x1968, 0x080c, 0x74c9, 0x782c, 0xd09c, - 0x090c, 0x79a2, 0x0005, 0x9082, 0x005a, 0x1218, 0x2100, 0x003b, - 0x0c18, 0x080c, 0x74ff, 0x0c90, 0x00e3, 0x08f0, 0x0005, 0x74ff, - 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x7521, - 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, - 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, - 0x74ff, 0x74ff, 0x74ff, 0x750b, 0x74ff, 0x7709, 0x74ff, 0x74ff, - 0x74ff, 0x7521, 0x74ff, 0x750b, 0x774a, 0x778b, 0x77d2, 0x77e6, - 0x74ff, 0x74ff, 0x7521, 0x750b, 0x74ff, 0x74ff, 0x75de, 0x7891, - 0x78ac, 0x74ff, 0x7521, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x75d4, - 0x78ac, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, - 0x74ff, 0x74ff, 0x7535, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, - 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x79d2, 0x74ff, 0x74ff, 0x74ff, - 0x74ff, 0x74ff, 0x7549, 0x74ff, 0x74ff, 0x74ff, 0x74ff, 0x74ff, - 0x74ff, 0x2079, 0x0040, 0x7004, 0x9086, 0x0003, 0x1198, 0x782c, - 0x080c, 0x79cb, 0xd0a4, 0x0170, 0x7824, 0x2048, 0x9006, 0xa802, - 0xa806, 0xa864, 0x9084, 0x00ff, 0x908a, 0x001a, 0x1210, 0x002b, - 0x0c50, 0x00e9, 0x080c, 0x79a2, 0x0005, 0x74ff, 0x750b, 0x76f5, - 0x74ff, 0x750b, 0x74ff, 0x750b, 0x750b, 0x74ff, 0x750b, 0x76f5, - 0x750b, 0x750b, 0x750b, 0x750b, 0x750b, 0x74ff, 0x750b, 0x76f5, - 0x74ff, 0x74ff, 0x750b, 0x74ff, 0x74ff, 0x74ff, 0x750b, 0x00e6, - 0x2071, 0x18f0, 0x2009, 0x0400, 0x0071, 0x00ee, 0x0005, 0x2009, - 0x1000, 0x0049, 0x0005, 0x2009, 0x2000, 0x0029, 0x0005, 0x2009, - 0x0800, 0x0009, 0x0005, 0x7007, 0x0001, 0xa868, 0x9084, 0x00ff, - 0x9105, 0xa86a, 0x0126, 0x2091, 0x8000, 0x080c, 0x6991, 0x012e, - 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0d08, 0x8001, 0x1120, - 0x7007, 0x0001, 0x0804, 0x76b3, 0x7007, 0x0003, 0x7012, 0x2900, - 0x7016, 0x701a, 0x704b, 0x76b3, 0x0005, 0xa864, 0x8007, 0x9084, - 0x00ff, 0x0968, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x76ce, - 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x76ce, - 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x9086, 0x0001, 0x1904, - 0x7507, 0x7007, 0x0001, 0x2009, 0x1833, 0x210c, 0x81ff, 0x1904, - 0x75ab, 0xa994, 0x9186, 0x006f, 0x0188, 0x9186, 0x0074, 0x15b0, - 0x0026, 0x2011, 0x0010, 0x080c, 0x668a, 0x002e, 0x0578, 0x0016, - 0xa998, 0x080c, 0x66d4, 0x001e, 0x1548, 0x0400, 0x080c, 0x7096, - 0x0140, 0xa897, 0x4005, 0xa89b, 0x0016, 0x2001, 0x0030, 0x900e, - 0x0438, 0x0026, 0x2011, 0x8008, 0x080c, 0x668a, 0x002e, 0x01b0, - 0x0016, 0x0026, 0x0036, 0xa998, 0xaaa0, 0xab9c, 0x918d, 0x8000, - 0x080c, 0x66d4, 0x003e, 0x002e, 0x001e, 0x1140, 0xa897, 0x4005, - 0xa89b, 0x4009, 0x2001, 0x0030, 0x900e, 0x0050, 0xa868, 0x9084, - 0x00ff, 0xa86a, 0xa883, 0x0000, 0x080c, 0x5f02, 0x1108, 0x0005, - 0x0126, 0x2091, 0x8000, 0xa867, 0x0139, 0xa87a, 0xa982, 0x080c, - 0x6991, 0x012e, 0x0ca0, 0xa994, 0x9186, 0x0071, 0x0904, 0x7559, - 0x9186, 0x0064, 0x0904, 0x7559, 0x9186, 0x007c, 0x0904, 0x7559, - 0x9186, 0x0028, 0x0904, 0x7559, 0x9186, 0x0038, 0x0904, 0x7559, - 0x9186, 0x0078, 0x0904, 0x7559, 0x9186, 0x005f, 0x0904, 0x7559, - 0x9186, 0x0056, 0x0904, 0x7559, 0xa897, 0x4005, 0xa89b, 0x0001, - 0x2001, 0x0030, 0x900e, 0x0860, 0xa87c, 0x9084, 0x00c0, 0x9086, - 0x00c0, 0x1120, 0x7007, 0x0001, 0x0804, 0x78c3, 0x2900, 0x7016, - 0x701a, 0x20a9, 0x0004, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0030, - 0x2098, 0x7050, 0x2040, 0xa060, 0x20e8, 0xa05c, 0x9080, 0x0023, - 0x20a0, 0x4003, 0xa888, 0x7012, 0x9082, 0x0401, 0x1a04, 0x750f, - 0xaab4, 0x928a, 0x0002, 0x1a04, 0x750f, 0x82ff, 0x1138, 0xa8b8, - 0xa9bc, 0x9105, 0x0118, 0x2001, 0x7671, 0x0018, 0x9280, 0x7667, - 0x2005, 0x7056, 0x7010, 0x9015, 0x0904, 0x7652, 0x080c, 0x103b, - 0x1118, 0x7007, 0x0004, 0x0005, 0x2900, 0x7022, 0x7054, 0x2060, - 0xe000, 0xa866, 0x7050, 0x2040, 0xa95c, 0xe004, 0x9100, 0xa076, - 0xa860, 0xa072, 0xe008, 0x920a, 0x1210, 0x900e, 0x2200, 0x7112, - 0xe20c, 0x8003, 0x800b, 0x9296, 0x0004, 0x0108, 0x9108, 0xa17a, - 0x810b, 0xa17e, 0x080c, 0x1117, 0xa06c, 0x908e, 0x0100, 0x0170, - 0x9086, 0x0200, 0x0118, 0x7007, 0x0007, 0x0005, 0x7020, 0x2048, - 0x080c, 0x1054, 0x7014, 0x2048, 0x0804, 0x750f, 0x7020, 0x2048, - 0x7018, 0xa802, 0xa807, 0x0000, 0x2908, 0x2048, 0xa906, 0x711a, - 0x0804, 0x760a, 0x7014, 0x2048, 0x7007, 0x0001, 0xa8b4, 0x9005, - 0x1128, 0xa8b8, 0xa9bc, 0x9105, 0x0108, 0x00b9, 0xa864, 0x9084, - 0x00ff, 0x9086, 0x001e, 0x0904, 0x78c3, 0x0804, 0x76b3, 0x7669, - 0x766d, 0x0002, 0x001d, 0x0007, 0x0004, 0x000a, 0x001b, 0x0005, - 0x0006, 0x000a, 0x001d, 0x0005, 0x0004, 0x0076, 0x0066, 0xafb8, - 0xaebc, 0xa804, 0x2050, 0xb0c0, 0xb0e2, 0xb0bc, 0xb0de, 0xb0b8, - 0xb0d2, 0xb0b4, 0xb0ce, 0xb6da, 0xb7d6, 0xb0b0, 0xb0ca, 0xb0ac, - 0xb0c6, 0xb0a8, 0xb0ba, 0xb0a4, 0xb0b6, 0xb6c2, 0xb7be, 0xb0a0, - 0xb0b2, 0xb09c, 0xb0ae, 0xb098, 0xb0a2, 0xb094, 0xb09e, 0xb6aa, - 0xb7a6, 0xb090, 0xb09a, 0xb08c, 0xb096, 0xb088, 0xb08a, 0xb084, - 0xb086, 0xb692, 0xb78e, 0xb080, 0xb082, 0xb07c, 0xb07e, 0xb078, - 0xb072, 0xb074, 0xb06e, 0xb67a, 0xb776, 0xb004, 0x9055, 0x1958, - 0x006e, 0x007e, 0x0005, 0x2009, 0x1833, 0x210c, 0x81ff, 0x1178, - 0x080c, 0x5d51, 0x1108, 0x0005, 0x080c, 0x6ba2, 0x0126, 0x2091, - 0x8000, 0x080c, 0xbb45, 0x080c, 0x6991, 0x012e, 0x0ca0, 0x080c, - 0xbf5a, 0x1d70, 0x2001, 0x0028, 0x900e, 0x0c70, 0x2009, 0x1833, - 0x210c, 0x81ff, 0x11d8, 0xa888, 0x9005, 0x01e0, 0xa883, 0x0000, - 0xa87c, 0xd0f4, 0x0120, 0x080c, 0x5e64, 0x1138, 0x0005, 0x9006, - 0xa87a, 0x080c, 0x5ddf, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, - 0xa87a, 0xa982, 0x080c, 0x6991, 0x012e, 0x0cb0, 0x2001, 0x0028, - 0x900e, 0x0c98, 0x2001, 0x0000, 0x0c80, 0x7018, 0xa802, 0x2908, - 0x2048, 0xa906, 0x711a, 0x7010, 0x8001, 0x7012, 0x0118, 0x7007, - 0x0003, 0x0030, 0x7014, 0x2048, 0x7007, 0x0001, 0x7048, 0x080f, - 0x0005, 0x00b6, 0x7007, 0x0001, 0xa974, 0xa878, 0x9084, 0x00ff, - 0x9096, 0x0004, 0x0540, 0x20a9, 0x0001, 0x9096, 0x0001, 0x0190, - 0x900e, 0x20a9, 0x0800, 0x9096, 0x0002, 0x0160, 0x9005, 0x11d8, - 0xa974, 0x080c, 0x626b, 0x11b8, 0x0066, 0xae80, 0x080c, 0x637b, - 0x006e, 0x0088, 0x0046, 0x2011, 0x180c, 0x2224, 0xc484, 0x2412, - 0x004e, 0x00c6, 0x080c, 0x626b, 0x1110, 0x080c, 0x654e, 0x8108, - 0x1f04, 0x7732, 0x00ce, 0xa87c, 0xd084, 0x1120, 0x080c, 0x1054, - 0x00be, 0x0005, 0x0126, 0x2091, 0x8000, 0x080c, 0x6991, 0x012e, - 0x00be, 0x0005, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, - 0x6662, 0x0580, 0x2061, 0x1a3e, 0x6100, 0xd184, 0x0178, 0xa888, - 0x9084, 0x00ff, 0x1550, 0x6000, 0xd084, 0x0520, 0x6004, 0x9005, - 0x1538, 0x6003, 0x0000, 0x600b, 0x0000, 0x00c8, 0x2011, 0x0001, - 0xa890, 0x9005, 0x1110, 0x2001, 0x001e, 0x8000, 0x6016, 0xa888, - 0x9084, 0x00ff, 0x0178, 0x6006, 0xa888, 0x8007, 0x9084, 0x00ff, - 0x0148, 0x600a, 0xa888, 0x8000, 0x1108, 0xc28d, 0x6202, 0x012e, - 0x0804, 0x798c, 0x012e, 0x0804, 0x7986, 0x012e, 0x0804, 0x7980, - 0x012e, 0x0804, 0x7983, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, - 0x080c, 0x6662, 0x05e0, 0x2061, 0x1a3e, 0x6000, 0xd084, 0x05b8, - 0x6204, 0x6308, 0xd08c, 0x1530, 0xac78, 0x9484, 0x0003, 0x0170, - 0xa988, 0x918c, 0x00ff, 0x8001, 0x1120, 0x2100, 0x9210, 0x0620, - 0x0028, 0x8001, 0x1508, 0x2100, 0x9212, 0x02f0, 0x9484, 0x000c, - 0x0188, 0xa988, 0x810f, 0x918c, 0x00ff, 0x9082, 0x0004, 0x1120, - 0x2100, 0x9318, 0x0288, 0x0030, 0x9082, 0x0004, 0x1168, 0x2100, - 0x931a, 0x0250, 0xa890, 0x9005, 0x0110, 0x8000, 0x6016, 0x6206, - 0x630a, 0x012e, 0x0804, 0x798c, 0x012e, 0x0804, 0x7989, 0x012e, - 0x0804, 0x7986, 0x0126, 0x2091, 0x8000, 0x7007, 0x0001, 0x2061, - 0x1a3e, 0x6300, 0xd38c, 0x1120, 0x6308, 0x8318, 0x0220, 0x630a, - 0x012e, 0x0804, 0x799a, 0x012e, 0x0804, 0x7989, 0x00b6, 0x0126, - 0x00c6, 0x2091, 0x8000, 0x7007, 0x0001, 0xa87c, 0xd0ac, 0x0148, - 0x00c6, 0x2061, 0x1a3e, 0x6000, 0x9084, 0xfcff, 0x6002, 0x00ce, - 0x0440, 0xa888, 0x9005, 0x05d8, 0xa88c, 0x9065, 0x0598, 0x2001, - 0x1833, 0x2004, 0x9005, 0x0118, 0x080c, 0x9c14, 0x0068, 0x6017, - 0xf400, 0x6063, 0x0000, 0xa97c, 0xd1a4, 0x0110, 0xa980, 0x6162, - 0x2009, 0x0041, 0x080c, 0x9c76, 0xa988, 0x918c, 0xff00, 0x9186, - 0x2000, 0x1138, 0x0026, 0x900e, 0x2011, 0xfdff, 0x080c, 0x83cd, - 0x002e, 0xa87c, 0xd0c4, 0x0148, 0x2061, 0x1a3e, 0x6000, 0xd08c, - 0x1120, 0x6008, 0x8000, 0x0208, 0x600a, 0x00ce, 0x012e, 0x00be, - 0x0804, 0x798c, 0x00ce, 0x012e, 0x00be, 0x0804, 0x7986, 0xa984, - 0x9186, 0x002e, 0x0d30, 0x9186, 0x002d, 0x0d18, 0x9186, 0x0045, - 0x0510, 0x9186, 0x002a, 0x1130, 0x2001, 0x180c, 0x200c, 0xc194, - 0x2102, 0x08b8, 0x9186, 0x0020, 0x0158, 0x9186, 0x0029, 0x1d10, - 0xa974, 0x080c, 0x626b, 0x1968, 0xb800, 0xc0e4, 0xb802, 0x0848, - 0xa88c, 0x9065, 0x09b8, 0x6007, 0x0024, 0x2001, 0x1956, 0x2004, - 0x601a, 0x0804, 0x7821, 0xa88c, 0x9065, 0x0960, 0x00e6, 0xa890, - 0x9075, 0x2001, 0x1833, 0x2004, 0x9005, 0x0150, 0x080c, 0x9c14, - 0x8eff, 0x0118, 0x2e60, 0x080c, 0x9c14, 0x00ee, 0x0804, 0x7821, - 0x6024, 0xc0dc, 0xc0d5, 0x6026, 0x2e60, 0x6007, 0x003a, 0xa8a0, - 0x9005, 0x0130, 0x6007, 0x003b, 0xa8a4, 0x602e, 0xa8a8, 0x6016, - 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, 0x00ee, 0x0804, - 0x7821, 0x2061, 0x1a3e, 0x6000, 0xd084, 0x0190, 0xd08c, 0x1904, - 0x799a, 0x0126, 0x2091, 0x8000, 0x6204, 0x8210, 0x0220, 0x6206, - 0x012e, 0x0804, 0x799a, 0x012e, 0xa883, 0x0016, 0x0804, 0x7993, - 0xa883, 0x0007, 0x0804, 0x7993, 0xa864, 0x8007, 0x9084, 0x00ff, - 0x0130, 0x8001, 0x1138, 0x7007, 0x0001, 0x0069, 0x0005, 0x080c, - 0x7507, 0x0040, 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, - 0x704b, 0x78c3, 0x0005, 0x00b6, 0x00e6, 0x0126, 0x2091, 0x8000, - 0x903e, 0x2061, 0x1800, 0x61cc, 0x81ff, 0x1904, 0x7945, 0x6130, - 0xd194, 0x1904, 0x796f, 0xa878, 0x2070, 0x9e82, 0x1ddc, 0x0a04, - 0x7939, 0x6064, 0x9e02, 0x1a04, 0x7939, 0x7120, 0x9186, 0x0006, - 0x1904, 0x792b, 0x7010, 0x905d, 0x0904, 0x7945, 0xb800, 0xd0e4, - 0x1904, 0x7969, 0x2061, 0x1a3e, 0x6100, 0x9184, 0x0301, 0x9086, - 0x0001, 0x15a0, 0x7024, 0xd0dc, 0x1904, 0x7972, 0xa883, 0x0000, - 0xa803, 0x0000, 0x2908, 0x7014, 0x9005, 0x1198, 0x7116, 0xa87c, - 0xd0f4, 0x1904, 0x7975, 0x080c, 0x5388, 0xd09c, 0x1118, 0xa87c, - 0xc0cc, 0xa87e, 0x2e60, 0x080c, 0x82bd, 0x012e, 0x00ee, 0x00be, - 0x0005, 0x2048, 0xa800, 0x9005, 0x1de0, 0xa902, 0x2148, 0xa87c, - 0xd0f4, 0x1904, 0x7975, 0x012e, 0x00ee, 0x00be, 0x0005, 0x012e, - 0x00ee, 0xa883, 0x0006, 0x00be, 0x0804, 0x7993, 0xd184, 0x0db8, - 0xd1c4, 0x1190, 0x00a0, 0xa974, 0x080c, 0x626b, 0x15d0, 0xb800, - 0xd0e4, 0x15b8, 0x7120, 0x9186, 0x0007, 0x1118, 0xa883, 0x0002, - 0x0490, 0xa883, 0x0008, 0x0478, 0xa883, 0x000e, 0x0460, 0xa883, - 0x0017, 0x0448, 0xa883, 0x0035, 0x0430, 0x080c, 0x538c, 0xd0fc, - 0x01e8, 0xa878, 0x2070, 0x9e82, 0x1ddc, 0x02c0, 0x6064, 0x9e02, - 0x12a8, 0x7120, 0x9186, 0x0006, 0x1188, 0x7010, 0x905d, 0x0170, - 0xb800, 0xd0bc, 0x0158, 0x2039, 0x0001, 0x7000, 0x9086, 0x0007, - 0x1904, 0x78cf, 0x7003, 0x0002, 0x0804, 0x78cf, 0xa883, 0x0028, - 0x0010, 0xa883, 0x0029, 0x012e, 0x00ee, 0x00be, 0x0420, 0xa883, - 0x002a, 0x0cc8, 0xa883, 0x0045, 0x0cb0, 0x2e60, 0x2019, 0x0002, - 0x601b, 0x0014, 0x080c, 0xce09, 0x012e, 0x00ee, 0x00be, 0x0005, - 0x2009, 0x003e, 0x0058, 0x2009, 0x0004, 0x0040, 0x2009, 0x0006, - 0x0028, 0x2009, 0x0016, 0x0010, 0x2009, 0x0001, 0xa884, 0x9084, - 0xff00, 0x9105, 0xa886, 0x0126, 0x2091, 0x8000, 0x080c, 0x6991, - 0x012e, 0x0005, 0x080c, 0x1054, 0x0005, 0x00d6, 0x080c, 0x82b4, - 0x00de, 0x0005, 0x00d6, 0x00e6, 0x0126, 0x2091, 0x8000, 0x2071, - 0x0040, 0x702c, 0xd084, 0x01d8, 0x908c, 0x0780, 0x190c, 0x7a2e, - 0xd09c, 0x11a8, 0x2071, 0x1800, 0x70bc, 0x90ea, 0x0040, 0x0278, - 0x8001, 0x70be, 0x702c, 0x2048, 0xa800, 0x702e, 0x9006, 0xa802, - 0xa806, 0x2071, 0x0040, 0x2900, 0x7022, 0x702c, 0x0c28, 0x012e, - 0x00ee, 0x00de, 0x0005, 0x0006, 0x9084, 0x0780, 0x190c, 0x7a2e, - 0x000e, 0x0005, 0x00d6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x00b6, - 0x7007, 0x0001, 0xaa74, 0x9282, 0x0004, 0x1a04, 0x7a1f, 0xa97c, - 0x9188, 0x1000, 0x2104, 0x905d, 0xb804, 0xd284, 0x0140, 0x05e8, - 0x8007, 0x9084, 0x00ff, 0x9084, 0x0006, 0x1108, 0x04b0, 0x2b10, - 0x080c, 0x9b84, 0x1118, 0x080c, 0x9c49, 0x05a8, 0x6212, 0xa874, - 0x0002, 0x79fd, 0x7a02, 0x7a05, 0x7a0b, 0x2019, 0x0002, 0x080c, - 0xd1fc, 0x0060, 0x080c, 0xd18c, 0x0048, 0x2019, 0x0002, 0xa980, - 0x080c, 0xd1ab, 0x0018, 0xa980, 0x080c, 0xd18c, 0x080c, 0x9bda, - 0xa887, 0x0000, 0x0126, 0x2091, 0x8000, 0x080c, 0x6991, 0x012e, - 0x00be, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00de, 0x0005, 0xa887, - 0x0006, 0x0c80, 0xa887, 0x0002, 0x0c68, 0xa887, 0x0005, 0x0c50, - 0xa887, 0x0004, 0x0c38, 0xa887, 0x0007, 0x0c20, 0x2091, 0x8000, - 0x0e04, 0x7a30, 0x0006, 0x0016, 0x2001, 0x8003, 0x0006, 0x0804, - 0x0d6e, 0x2001, 0x1833, 0x2004, 0x9005, 0x0005, 0x0005, 0x00f6, - 0x2079, 0x0300, 0x2001, 0x0200, 0x200c, 0xc1e5, 0xc1dc, 0x2102, - 0x2009, 0x0218, 0x210c, 0xd1ec, 0x1120, 0x080c, 0x153a, 0x00fe, - 0x0005, 0x2001, 0x020d, 0x2003, 0x0020, 0x781f, 0x0300, 0x00fe, - 0x0005, 0x781c, 0xd08c, 0x0904, 0x7ab1, 0x68bc, 0x90aa, 0x0005, - 0x0a04, 0x804a, 0x7d44, 0x7c40, 0xd59c, 0x190c, 0x0d65, 0x9584, - 0x00f6, 0x1508, 0x9484, 0x7000, 0x0138, 0x908a, 0x2000, 0x1258, - 0x9584, 0x0700, 0x8007, 0x04f0, 0x7000, 0x9084, 0xff00, 0x9086, - 0x8100, 0x0db0, 0x00b0, 0x9484, 0x0fff, 0x1130, 0x7000, 0x9084, - 0xff00, 0x9086, 0x8100, 0x11c0, 0x080c, 0xd5e4, 0x080c, 0x7f91, - 0x7817, 0x0140, 0x00a8, 0x9584, 0x0076, 0x1118, 0x080c, 0x7fed, - 0x19c8, 0xd5a4, 0x0148, 0x0046, 0x0056, 0x080c, 0x7b01, 0x080c, - 0x1fc8, 0x005e, 0x004e, 0x0020, 0x080c, 0xd5e4, 0x7817, 0x0140, - 0x080c, 0x7096, 0x0168, 0x2001, 0x0111, 0x2004, 0xd08c, 0x0140, - 0x688f, 0x0000, 0x2001, 0x0110, 0x2003, 0x0008, 0x2003, 0x0000, - 0x0489, 0x0005, 0x0002, 0x7abe, 0x7db3, 0x7abb, 0x7abb, 0x7abb, - 0x7abb, 0x7abb, 0x7abb, 0x7817, 0x0140, 0x0005, 0x7000, 0x908c, - 0xff00, 0x9194, 0xf000, 0x810f, 0x9484, 0x0fff, 0x688e, 0x9286, - 0x2000, 0x1150, 0x6800, 0x9086, 0x0001, 0x1118, 0x080c, 0x53e9, - 0x0070, 0x080c, 0x7b21, 0x0058, 0x9286, 0x3000, 0x1118, 0x080c, - 0x7cf0, 0x0028, 0x9286, 0x8000, 0x1110, 0x080c, 0x7ec7, 0x7817, - 0x0140, 0x0005, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0178, 0x2001, - 0x1800, 0x2004, 0x9086, 0x0003, 0x1148, 0x0026, 0x0036, 0x2011, - 0x8048, 0x2518, 0x080c, 0x48da, 0x003e, 0x002e, 0x0005, 0x0036, - 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, 0x2019, 0xfffe, 0x7c30, - 0x0050, 0x0036, 0x0046, 0x0056, 0x00f6, 0x2079, 0x0200, 0x7d44, - 0x7c40, 0x2019, 0xffff, 0x2001, 0x1810, 0x2004, 0xd08c, 0x0160, - 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, 0x1130, 0x0026, 0x2011, - 0x8048, 0x080c, 0x48da, 0x002e, 0x00fe, 0x005e, 0x004e, 0x003e, - 0x0005, 0x00b6, 0x00c6, 0x7010, 0x9084, 0xff00, 0x8007, 0x9096, - 0x0001, 0x0120, 0x9096, 0x0023, 0x1904, 0x7cc1, 0x9186, 0x0023, - 0x15c0, 0x080c, 0x7f5c, 0x0904, 0x7cc1, 0x6120, 0x9186, 0x0001, - 0x0150, 0x9186, 0x0004, 0x0138, 0x9186, 0x0008, 0x0120, 0x9186, - 0x000a, 0x1904, 0x7cc1, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, - 0x1130, 0x2009, 0x0015, 0x080c, 0x9c76, 0x0804, 0x7cc1, 0x908e, - 0x0214, 0x0118, 0x908e, 0x0210, 0x1130, 0x2009, 0x0015, 0x080c, - 0x9c76, 0x0804, 0x7cc1, 0x908e, 0x0100, 0x1904, 0x7cc1, 0x7034, - 0x9005, 0x1904, 0x7cc1, 0x2009, 0x0016, 0x080c, 0x9c76, 0x0804, - 0x7cc1, 0x9186, 0x0022, 0x1904, 0x7cc1, 0x7030, 0x908e, 0x0300, - 0x1580, 0x68d8, 0xd0a4, 0x0528, 0xc0b5, 0x68da, 0x7100, 0x918c, - 0x00ff, 0x697a, 0x7004, 0x687e, 0x00f6, 0x2079, 0x0100, 0x79e6, - 0x78ea, 0x0006, 0x9084, 0x00ff, 0x0016, 0x2008, 0x080c, 0x2486, - 0x7932, 0x7936, 0x001e, 0x000e, 0x00fe, 0x080c, 0x243d, 0x695a, - 0x703c, 0x00e6, 0x2071, 0x0140, 0x7086, 0x2071, 0x1800, 0x70b2, - 0x00ee, 0x7034, 0x9005, 0x1904, 0x7cc1, 0x2009, 0x0017, 0x0804, - 0x7c71, 0x908e, 0x0400, 0x1190, 0x7034, 0x9005, 0x1904, 0x7cc1, - 0x080c, 0x7096, 0x0120, 0x2009, 0x001d, 0x0804, 0x7c71, 0x68d8, - 0xc0a5, 0x68da, 0x2009, 0x0030, 0x0804, 0x7c71, 0x908e, 0x0500, - 0x1140, 0x7034, 0x9005, 0x1904, 0x7cc1, 0x2009, 0x0018, 0x0804, - 0x7c71, 0x908e, 0x2010, 0x1120, 0x2009, 0x0019, 0x0804, 0x7c71, - 0x908e, 0x2110, 0x1120, 0x2009, 0x001a, 0x0804, 0x7c71, 0x908e, - 0x5200, 0x1140, 0x7034, 0x9005, 0x1904, 0x7cc1, 0x2009, 0x001b, - 0x0804, 0x7c71, 0x908e, 0x5000, 0x1140, 0x7034, 0x9005, 0x1904, - 0x7cc1, 0x2009, 0x001c, 0x0804, 0x7c71, 0x908e, 0x1300, 0x1120, - 0x2009, 0x0034, 0x0804, 0x7c71, 0x908e, 0x1200, 0x1140, 0x7034, - 0x9005, 0x1904, 0x7cc1, 0x2009, 0x0024, 0x0804, 0x7c71, 0x908c, - 0xff00, 0x918e, 0x2400, 0x1170, 0x2009, 0x002d, 0x2001, 0x1810, - 0x2004, 0xd09c, 0x0904, 0x7c71, 0x080c, 0xc63d, 0x1904, 0x7cc1, - 0x0804, 0x7c6f, 0x908c, 0xff00, 0x918e, 0x5300, 0x1120, 0x2009, - 0x002a, 0x0804, 0x7c71, 0x908e, 0x0f00, 0x1120, 0x2009, 0x0020, - 0x0804, 0x7c71, 0x908e, 0x6104, 0x1528, 0x2029, 0x0205, 0x2011, - 0x026d, 0x8208, 0x2204, 0x9082, 0x0004, 0x8004, 0x8004, 0x20a8, - 0x2011, 0x8015, 0x211c, 0x8108, 0x0046, 0x2124, 0x080c, 0x48da, - 0x004e, 0x8108, 0x0f04, 0x7c3d, 0x9186, 0x0280, 0x1d88, 0x2504, - 0x8000, 0x202a, 0x2009, 0x0260, 0x0c58, 0x202b, 0x0000, 0x2009, - 0x0023, 0x0478, 0x908e, 0x6000, 0x1118, 0x2009, 0x003f, 0x0448, - 0x908e, 0x7800, 0x1118, 0x2009, 0x0045, 0x0418, 0x908e, 0x1000, - 0x1118, 0x2009, 0x004e, 0x00e8, 0x908e, 0x6300, 0x1118, 0x2009, - 0x004a, 0x00b8, 0x908c, 0xff00, 0x918e, 0x5600, 0x1118, 0x2009, - 0x004f, 0x0078, 0x908c, 0xff00, 0x918e, 0x5700, 0x1118, 0x2009, - 0x0050, 0x0038, 0x2009, 0x001d, 0x6838, 0xd0d4, 0x0110, 0x2009, - 0x004c, 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, - 0x243d, 0x1904, 0x7cc4, 0x080c, 0x620b, 0x1904, 0x7cc4, 0xbe12, - 0xbd16, 0x001e, 0x0016, 0x080c, 0x7096, 0x01c0, 0x68d8, 0xd08c, - 0x1148, 0x7000, 0x9084, 0x00ff, 0x1188, 0x7004, 0x9084, 0xff00, - 0x1168, 0x0040, 0x6878, 0x9606, 0x1148, 0x687c, 0x9506, 0x9084, - 0xff00, 0x1120, 0x9584, 0x00ff, 0xb886, 0x0080, 0xb884, 0x9005, - 0x1168, 0x9186, 0x0046, 0x1150, 0x6878, 0x9606, 0x1138, 0x687c, - 0x9506, 0x9084, 0xff00, 0x1110, 0x001e, 0x0098, 0x080c, 0x9b84, - 0x01a8, 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, - 0x9186, 0x004c, 0x1110, 0x6023, 0x000a, 0x0016, 0x001e, 0x080c, - 0x9c76, 0x00ce, 0x00be, 0x0005, 0x001e, 0x0cd8, 0x2001, 0x180e, - 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x48da, 0x080c, - 0x9c49, 0x0d90, 0x2b08, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, - 0x001e, 0x0016, 0x9186, 0x0017, 0x0118, 0x9186, 0x0030, 0x1128, - 0x6007, 0x0009, 0x6017, 0x2900, 0x0020, 0x6007, 0x0051, 0x6017, - 0x0000, 0x602f, 0x0009, 0x6003, 0x0001, 0x080c, 0x84ba, 0x08a0, - 0x080c, 0x3144, 0x1140, 0x7010, 0x9084, 0xff00, 0x8007, 0x908e, - 0x0008, 0x1108, 0x0009, 0x0005, 0x00b6, 0x00c6, 0x0046, 0x7000, - 0x908c, 0xff00, 0x810f, 0x9186, 0x0033, 0x11e8, 0x080c, 0x7f5c, - 0x0904, 0x7d4b, 0x7124, 0x610a, 0x7030, 0x908e, 0x0200, 0x1140, - 0x7034, 0x9005, 0x15c0, 0x2009, 0x0015, 0x080c, 0x9c76, 0x0498, - 0x908e, 0x0100, 0x1580, 0x7034, 0x9005, 0x1568, 0x2009, 0x0016, - 0x080c, 0x9c76, 0x0440, 0x9186, 0x0032, 0x1528, 0x7030, 0x908e, - 0x1400, 0x1508, 0x2009, 0x0038, 0x0016, 0x2011, 0x0263, 0x2204, - 0x8211, 0x220c, 0x080c, 0x243d, 0x11a8, 0x080c, 0x620b, 0x1190, - 0xbe12, 0xbd16, 0x080c, 0x9b84, 0x0168, 0x2b08, 0x6112, 0x080c, - 0xbcdb, 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x080c, 0x9c76, - 0x0010, 0x00ce, 0x001e, 0x004e, 0x00ce, 0x00be, 0x0005, 0x00b6, - 0x0046, 0x00e6, 0x00d6, 0x2028, 0x2130, 0x9696, 0x00ff, 0x11b8, - 0x9592, 0xfffc, 0x02a0, 0x9596, 0xfffd, 0x1120, 0x2009, 0x007f, - 0x0804, 0x7dad, 0x9596, 0xfffe, 0x1120, 0x2009, 0x007e, 0x0804, - 0x7dad, 0x9596, 0xfffc, 0x1118, 0x2009, 0x0080, 0x04f0, 0x2011, - 0x0000, 0x2019, 0x1836, 0x231c, 0xd3ac, 0x0130, 0x9026, 0x20a9, - 0x0800, 0x2071, 0x1000, 0x0030, 0x2021, 0x0081, 0x20a9, 0x077f, - 0x2071, 0x1081, 0x2e1c, 0x93dd, 0x0000, 0x1140, 0x82ff, 0x11d0, - 0x9496, 0x00ff, 0x01b8, 0x2410, 0xc2fd, 0x00a0, 0xbf10, 0x2600, - 0x9706, 0xb814, 0x1120, 0x9546, 0x1110, 0x2408, 0x00b0, 0x9745, - 0x1148, 0x94c6, 0x007e, 0x0130, 0x94c6, 0x007f, 0x0118, 0x94c6, - 0x0080, 0x1d20, 0x8420, 0x8e70, 0x1f04, 0x7d82, 0x82ff, 0x1118, - 0x9085, 0x0001, 0x0018, 0xc2fc, 0x2208, 0x9006, 0x00de, 0x00ee, - 0x004e, 0x00be, 0x0005, 0x7000, 0x908c, 0xff00, 0x810f, 0x9184, - 0x000f, 0x0002, 0x7dca, 0x7dca, 0x7dca, 0x7f6e, 0x7dca, 0x7dcd, - 0x7df2, 0x7e7b, 0x7dca, 0x7dca, 0x7dca, 0x7dca, 0x7dca, 0x7dca, - 0x7dca, 0x7dca, 0x7817, 0x0140, 0x0005, 0x00b6, 0x7110, 0xd1bc, - 0x01e8, 0x7120, 0x2160, 0x9c8c, 0x0003, 0x11c0, 0x9c8a, 0x1ddc, - 0x02a8, 0x6864, 0x9c02, 0x1290, 0x7008, 0x9084, 0x00ff, 0x6110, - 0x2158, 0xb910, 0x9106, 0x1150, 0x700c, 0xb914, 0x9106, 0x1130, - 0x7124, 0x610a, 0x2009, 0x0046, 0x080c, 0x9c76, 0x7817, 0x0140, - 0x00be, 0x0005, 0x00b6, 0x00c6, 0x9484, 0x0fff, 0x0904, 0x7e57, - 0x7110, 0xd1bc, 0x1904, 0x7e57, 0x7108, 0x700c, 0x2028, 0x918c, - 0x00ff, 0x2130, 0x9094, 0xff00, 0x15c8, 0x81ff, 0x15b8, 0x9080, - 0x317f, 0x200d, 0x918c, 0xff00, 0x810f, 0x2001, 0x0080, 0x9106, - 0x0904, 0x7e57, 0x9182, 0x0801, 0x1a04, 0x7e57, 0x9190, 0x1000, - 0x2204, 0x905d, 0x05e0, 0xbe12, 0xbd16, 0xb800, 0xd0ec, 0x15b8, - 0xba04, 0x9294, 0xff00, 0x9286, 0x0600, 0x1190, 0x080c, 0x9b84, - 0x0598, 0x2b08, 0x7028, 0x6052, 0x702c, 0x604e, 0x6112, 0x6023, - 0x0006, 0x7120, 0x610a, 0x7130, 0x615e, 0x080c, 0xc8a3, 0x00f8, - 0x080c, 0x6666, 0x1138, 0xb807, 0x0606, 0x0c40, 0x190c, 0x7d4f, - 0x11b0, 0x0880, 0x080c, 0x9b84, 0x2b08, 0x0188, 0x6112, 0x6023, - 0x0004, 0x7120, 0x610a, 0x9286, 0x0400, 0x1118, 0x6007, 0x0005, - 0x0010, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x84ba, 0x7817, - 0x0140, 0x00ce, 0x00be, 0x0005, 0x2001, 0x180e, 0x2004, 0xd0ec, - 0x0120, 0x2011, 0x8049, 0x080c, 0x48da, 0x080c, 0x9c49, 0x0d78, - 0x2b08, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, 0x615e, - 0x6017, 0xf300, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, - 0x080c, 0x84b3, 0x08e0, 0x00b6, 0x7110, 0xd1bc, 0x05d0, 0x7020, - 0x2060, 0x9c84, 0x0003, 0x15a8, 0x9c82, 0x1ddc, 0x0690, 0x6864, - 0x9c02, 0x1678, 0x9484, 0x0fff, 0x9082, 0x000c, 0x0650, 0x7008, - 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1510, 0x700c, - 0xb914, 0x9106, 0x11f0, 0x7124, 0x610a, 0x601c, 0xd0fc, 0x11c8, - 0x2001, 0x0271, 0x2004, 0x9005, 0x1180, 0x9484, 0x0fff, 0x9082, - 0x000c, 0x0158, 0x0066, 0x2031, 0x0100, 0xa001, 0xa001, 0x8631, - 0x1de0, 0x006e, 0x601c, 0xd0fc, 0x1120, 0x2009, 0x0045, 0x080c, - 0x9c76, 0x7817, 0x0140, 0x00be, 0x0005, 0x6120, 0x9186, 0x0002, - 0x0128, 0x9186, 0x0005, 0x0110, 0x9085, 0x0001, 0x0005, 0x080c, - 0x3144, 0x1168, 0x7010, 0x9084, 0xff00, 0x8007, 0x9086, 0x0000, - 0x1130, 0x9184, 0x000f, 0x908a, 0x0006, 0x1208, 0x000b, 0x0005, - 0x7ede, 0x7edf, 0x7ede, 0x7ede, 0x7f3e, 0x7f4d, 0x0005, 0x00b6, - 0x7110, 0xd1bc, 0x0120, 0x702c, 0xd084, 0x0904, 0x7f3c, 0x700c, - 0x7108, 0x080c, 0x243d, 0x1904, 0x7f3c, 0x080c, 0x620b, 0x1904, - 0x7f3c, 0xbe12, 0xbd16, 0x7110, 0xd1bc, 0x01d8, 0x080c, 0x6666, - 0x0118, 0x9086, 0x0004, 0x1588, 0x00c6, 0x080c, 0x7f5c, 0x00ce, - 0x05d8, 0x080c, 0x9b84, 0x2b08, 0x05b8, 0x6112, 0x080c, 0xbcdb, - 0x6023, 0x0002, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0x9c76, - 0x0458, 0x080c, 0x6666, 0x0148, 0x9086, 0x0004, 0x0130, 0x080c, - 0x666e, 0x0118, 0x9086, 0x0004, 0x1180, 0x080c, 0x9b84, 0x2b08, - 0x01d8, 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0005, 0x7120, 0x610a, - 0x2009, 0x0088, 0x080c, 0x9c76, 0x0078, 0x080c, 0x9b84, 0x2b08, - 0x0158, 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0004, 0x7120, 0x610a, - 0x2009, 0x0001, 0x080c, 0x9c76, 0x00be, 0x0005, 0x7110, 0xd1bc, - 0x0158, 0x00d1, 0x0148, 0x080c, 0x7ebd, 0x1130, 0x7124, 0x610a, - 0x2009, 0x0089, 0x080c, 0x9c76, 0x0005, 0x7110, 0xd1bc, 0x0158, - 0x0059, 0x0148, 0x080c, 0x7ebd, 0x1130, 0x7124, 0x610a, 0x2009, - 0x008a, 0x080c, 0x9c76, 0x0005, 0x7020, 0x2060, 0x9c84, 0x0003, - 0x1158, 0x9c82, 0x1ddc, 0x0240, 0x2001, 0x1819, 0x2004, 0x9c02, - 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, 0x00b6, 0x7110, - 0xd1bc, 0x11d8, 0x7024, 0x2060, 0x9c84, 0x0003, 0x11b0, 0x9c82, - 0x1ddc, 0x0298, 0x6864, 0x9c02, 0x1280, 0x7008, 0x9084, 0x00ff, - 0x6110, 0x2158, 0xb910, 0x9106, 0x1140, 0x700c, 0xb914, 0x9106, - 0x1120, 0x2009, 0x0051, 0x080c, 0x9c76, 0x7817, 0x0140, 0x00be, - 0x0005, 0x2031, 0x0105, 0x0069, 0x0005, 0x2031, 0x0206, 0x0049, - 0x0005, 0x2031, 0x0207, 0x0029, 0x0005, 0x2031, 0x0213, 0x0009, - 0x0005, 0x00c6, 0x0096, 0x00f6, 0x7000, 0x9084, 0xf000, 0x9086, - 0xc000, 0x05c0, 0x080c, 0x9b84, 0x05a8, 0x0066, 0x00c6, 0x0046, - 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x243d, 0x1590, - 0x080c, 0x620b, 0x1578, 0xbe12, 0xbd16, 0x2b00, 0x004e, 0x00ce, - 0x6012, 0x080c, 0xbcdb, 0x080c, 0x1022, 0x0500, 0x2900, 0x6062, - 0x9006, 0xa802, 0xa866, 0xac6a, 0xa85c, 0x90f8, 0x001b, 0x20a9, - 0x000e, 0xa860, 0x20e8, 0x20e1, 0x0000, 0x2fa0, 0x2e98, 0x4003, - 0x006e, 0x6616, 0x6007, 0x003e, 0x6023, 0x0001, 0x6003, 0x0001, - 0x080c, 0x84ba, 0x00fe, 0x009e, 0x00ce, 0x0005, 0x080c, 0x9bda, - 0x006e, 0x0cc0, 0x004e, 0x00ce, 0x0cc8, 0x00c6, 0x7000, 0x908c, - 0xff00, 0x9184, 0xf000, 0x810f, 0x9086, 0x2000, 0x1904, 0x8044, - 0x9186, 0x0022, 0x15f0, 0x2001, 0x0111, 0x2004, 0x9005, 0x1904, - 0x8046, 0x7030, 0x908e, 0x0400, 0x0904, 0x8046, 0x908e, 0x6000, - 0x05e8, 0x908e, 0x5400, 0x05d0, 0x908e, 0x0300, 0x11d8, 0x2009, - 0x1836, 0x210c, 0xd18c, 0x1590, 0xd1a4, 0x1580, 0x080c, 0x6624, - 0x0558, 0x68ac, 0x9084, 0x00ff, 0x7100, 0x918c, 0x00ff, 0x9106, - 0x1518, 0x687c, 0x69ac, 0x918c, 0xff00, 0x9105, 0x7104, 0x9106, - 0x11d8, 0x00e0, 0x2009, 0x0103, 0x210c, 0xd1b4, 0x11a8, 0x908e, - 0x5200, 0x09e8, 0x908e, 0x0500, 0x09d0, 0x908e, 0x5000, 0x09b8, - 0x0058, 0x9186, 0x0023, 0x1140, 0x080c, 0x7f5c, 0x0128, 0x6004, - 0x9086, 0x0002, 0x0118, 0x0000, 0x9006, 0x0010, 0x9085, 0x0001, - 0x00ce, 0x0005, 0x00f6, 0x2079, 0x0200, 0x7800, 0xc0e5, 0xc0cc, - 0x7802, 0x00fe, 0x0005, 0x00f6, 0x2079, 0x1800, 0x7834, 0xd084, - 0x1130, 0x2079, 0x0200, 0x7800, 0x9085, 0x1200, 0x7802, 0x00fe, - 0x0005, 0x00e6, 0x2071, 0x1800, 0x7034, 0xc084, 0x7036, 0x00ee, - 0x0005, 0x2071, 0x19d3, 0x7003, 0x0003, 0x700f, 0x0361, 0x9006, - 0x701a, 0x7072, 0x7012, 0x7017, 0x1ddc, 0x7007, 0x0000, 0x7026, - 0x702b, 0x8fbc, 0x7032, 0x7037, 0x9039, 0x703f, 0xffff, 0x7042, - 0x7047, 0x521f, 0x704a, 0x705b, 0x8205, 0x080c, 0x103b, 0x090c, - 0x0d65, 0x2900, 0x703a, 0xa867, 0x0003, 0xa86f, 0x0100, 0xa8ab, - 0xdcb0, 0x0005, 0x2071, 0x19d3, 0x1d04, 0x8127, 0x2091, 0x6000, - 0x700c, 0x8001, 0x700e, 0x1560, 0x2001, 0x1875, 0x2004, 0xd0c4, - 0x0158, 0x3a00, 0xd08c, 0x1140, 0x20d1, 0x0000, 0x20d1, 0x0001, - 0x20d1, 0x0000, 0x080c, 0x0d65, 0x700f, 0x0361, 0x7007, 0x0001, - 0x0126, 0x2091, 0x8000, 0x2069, 0x1800, 0x69e8, 0xd1e4, 0x1138, - 0xd1dc, 0x1118, 0x080c, 0x8273, 0x0010, 0x080c, 0x824a, 0x7040, - 0x900d, 0x0148, 0x8109, 0x7142, 0x1130, 0x7044, 0x080f, 0x0018, - 0x0126, 0x2091, 0x8000, 0x7024, 0x900d, 0x0188, 0x7020, 0x8001, - 0x7022, 0x1168, 0x7023, 0x0009, 0x8109, 0x7126, 0x9186, 0x03e8, - 0x1110, 0x7028, 0x080f, 0x81ff, 0x1110, 0x7028, 0x080f, 0x7030, - 0x900d, 0x0180, 0x702c, 0x8001, 0x702e, 0x1160, 0x702f, 0x0009, - 0x8109, 0x7132, 0x0128, 0x9184, 0x007f, 0x090c, 0x90c1, 0x0010, - 0x7034, 0x080f, 0x703c, 0x9005, 0x0118, 0x0310, 0x8001, 0x703e, - 0x704c, 0x900d, 0x0168, 0x7048, 0x8001, 0x704a, 0x1148, 0x704b, - 0x0009, 0x8109, 0x714e, 0x1120, 0x7150, 0x714e, 0x7058, 0x080f, - 0x7018, 0x900d, 0x01d8, 0x0016, 0x7070, 0x900d, 0x0158, 0x706c, - 0x8001, 0x706e, 0x1138, 0x706f, 0x0009, 0x8109, 0x7172, 0x1110, - 0x7074, 0x080f, 0x001e, 0x7008, 0x8001, 0x700a, 0x1138, 0x700b, - 0x0009, 0x8109, 0x711a, 0x1110, 0x701c, 0x080f, 0x012e, 0x7004, - 0x0002, 0x814f, 0x8150, 0x817a, 0x00e6, 0x2071, 0x19d3, 0x7018, - 0x9005, 0x1120, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, - 0x00e6, 0x0006, 0x2071, 0x19d3, 0x701c, 0x9206, 0x1120, 0x701a, - 0x701e, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x00e6, 0x2071, - 0x19d3, 0xb888, 0x9102, 0x0208, 0xb98a, 0x00ee, 0x0005, 0x0005, - 0x00b6, 0x2031, 0x0010, 0x7110, 0x080c, 0x626b, 0x11a8, 0xb888, - 0x8001, 0x0290, 0xb88a, 0x1180, 0x0126, 0x2091, 0x8000, 0x0066, - 0xb8c0, 0x9005, 0x0138, 0x0026, 0xba3c, 0x0016, 0x080c, 0x6396, - 0x001e, 0x002e, 0x006e, 0x012e, 0x8108, 0x9182, 0x0800, 0x1220, - 0x8631, 0x0128, 0x7112, 0x0c00, 0x900e, 0x7007, 0x0002, 0x7112, - 0x00be, 0x0005, 0x2031, 0x0010, 0x7014, 0x2060, 0x0126, 0x2091, - 0x8000, 0x6048, 0x9005, 0x0128, 0x8001, 0x604a, 0x1110, 0x080c, - 0xbb5c, 0x6018, 0x9005, 0x0904, 0x81cc, 0x00f6, 0x2079, 0x0300, - 0x7918, 0xd1b4, 0x1904, 0x81df, 0x781b, 0x2020, 0xa001, 0x7918, - 0xd1b4, 0x0120, 0x781b, 0x2000, 0x0804, 0x81df, 0x8001, 0x601a, - 0x0106, 0x781b, 0x2000, 0xa001, 0x7918, 0xd1ac, 0x1dd0, 0x010e, - 0x00fe, 0x1510, 0x6120, 0x9186, 0x0003, 0x0118, 0x9186, 0x0006, - 0x11c8, 0x080c, 0xb842, 0x01b0, 0x6014, 0x2048, 0xa884, 0x908a, - 0x199a, 0x0280, 0x9082, 0x1999, 0xa886, 0x908a, 0x199a, 0x0210, - 0x2001, 0x1999, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x080c, - 0xbf8d, 0x0110, 0x080c, 0xb533, 0x012e, 0x9c88, 0x001c, 0x7116, - 0x2001, 0x1819, 0x2004, 0x9102, 0x1228, 0x8631, 0x0138, 0x2160, - 0x0804, 0x817e, 0x7017, 0x1ddc, 0x7007, 0x0000, 0x0005, 0x00fe, - 0x0c58, 0x00e6, 0x2071, 0x19d3, 0x7027, 0x07d0, 0x7023, 0x0009, - 0x00ee, 0x0005, 0x2001, 0x19dc, 0x2003, 0x0000, 0x0005, 0x00e6, - 0x2071, 0x19d3, 0x7132, 0x702f, 0x0009, 0x00ee, 0x0005, 0x2011, - 0x19df, 0x2013, 0x0000, 0x0005, 0x00e6, 0x2071, 0x19d3, 0x711a, - 0x721e, 0x700b, 0x0009, 0x00ee, 0x0005, 0x0086, 0x0026, 0x7054, - 0x8000, 0x7056, 0x2001, 0x19e1, 0x2044, 0xa06c, 0x9086, 0x0000, - 0x0150, 0x7068, 0xa09a, 0x7064, 0xa096, 0x7060, 0xa092, 0x705c, - 0xa08e, 0x080c, 0x1117, 0x002e, 0x008e, 0x0005, 0x0006, 0x0016, - 0x0096, 0x00a6, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x0156, - 0x080c, 0x8092, 0x015e, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, - 0x00ae, 0x009e, 0x001e, 0x000e, 0x0005, 0x00e6, 0x2071, 0x19d3, - 0x7172, 0x7276, 0x706f, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, - 0x2071, 0x19d3, 0x7074, 0x9206, 0x1110, 0x7072, 0x7076, 0x000e, - 0x00ee, 0x0005, 0x2069, 0x1800, 0x69e8, 0xd1e4, 0x1518, 0x0026, - 0xd1ec, 0x0140, 0x6a50, 0x6870, 0x9202, 0x0288, 0x8117, 0x9294, - 0x00c1, 0x0088, 0x9184, 0x0007, 0x01a0, 0x8109, 0x9184, 0x0007, - 0x0110, 0x69ea, 0x0070, 0x8107, 0x9084, 0x0007, 0x910d, 0x8107, - 0x9106, 0x9094, 0x00c1, 0x9184, 0xff3e, 0x9205, 0x68ea, 0x080c, - 0x0eed, 0x002e, 0x0005, 0x69e4, 0x9184, 0x003f, 0x05b8, 0x8109, - 0x9184, 0x003f, 0x01a8, 0x6a50, 0x6870, 0x9202, 0x0220, 0xd1bc, - 0x0168, 0xc1bc, 0x0018, 0xd1bc, 0x1148, 0xc1bd, 0x2110, 0x00e6, - 0x2071, 0x1800, 0x080c, 0x0f0f, 0x00ee, 0x0400, 0x69e6, 0x00f0, - 0x0026, 0x8107, 0x9094, 0x0007, 0x0128, 0x8001, 0x8007, 0x9085, - 0x0007, 0x0050, 0x2010, 0x8004, 0x8004, 0x8004, 0x9084, 0x0007, - 0x9205, 0x8007, 0x9085, 0x0028, 0x9086, 0x0040, 0x2010, 0x00e6, - 0x2071, 0x1800, 0x080c, 0x0f0f, 0x00ee, 0x002e, 0x0005, 0x00c6, - 0x2061, 0x1a3e, 0x00ce, 0x0005, 0x9184, 0x000f, 0x8003, 0x8003, - 0x8003, 0x9080, 0x1a3e, 0x2060, 0x0005, 0xa884, 0x908a, 0x199a, - 0x1638, 0x9005, 0x1150, 0x00c6, 0x2061, 0x1a3e, 0x6014, 0x00ce, - 0x9005, 0x1130, 0x2001, 0x001e, 0x0018, 0x908e, 0xffff, 0x01b0, - 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0xa87c, 0x908c, 0x00c0, - 0x918e, 0x00c0, 0x0904, 0x8377, 0xd0b4, 0x1168, 0xd0bc, 0x1904, - 0x8350, 0x2009, 0x0006, 0x080c, 0x83a4, 0x0005, 0x900e, 0x0c60, - 0x2001, 0x1999, 0x08b0, 0xd0fc, 0x05e0, 0x908c, 0x2023, 0x1568, - 0x87ff, 0x1558, 0xa9a8, 0x81ff, 0x1540, 0x6124, 0x918c, 0x0500, - 0x1520, 0x6100, 0x918e, 0x0007, 0x1500, 0x2009, 0x1875, 0x210c, - 0xd184, 0x11d8, 0x6003, 0x0003, 0x6007, 0x0043, 0x6047, 0xb035, - 0x080c, 0x1ab2, 0xa87c, 0xc0dd, 0xa87e, 0x600f, 0x0000, 0x00f6, - 0x2079, 0x0380, 0x7818, 0xd0bc, 0x1de8, 0x7833, 0x0013, 0x2c00, - 0x7836, 0x781b, 0x8080, 0x00fe, 0x0005, 0x908c, 0x0003, 0x0120, - 0x918e, 0x0003, 0x1904, 0x839e, 0x908c, 0x2020, 0x918e, 0x2020, - 0x01a8, 0x6024, 0xd0d4, 0x11e8, 0x2009, 0x1875, 0x2104, 0xd084, - 0x1138, 0x87ff, 0x1120, 0x2009, 0x0043, 0x0804, 0x9c76, 0x0005, - 0x87ff, 0x1de8, 0x2009, 0x0042, 0x0804, 0x9c76, 0x6110, 0x00b6, - 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6024, 0xc0cd, 0x6026, - 0x0c00, 0xc0d4, 0x6026, 0xa890, 0x602e, 0xa88c, 0x6032, 0x08e0, - 0xd0fc, 0x0160, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, - 0x839e, 0x908c, 0x2020, 0x918e, 0x2020, 0x0170, 0x0076, 0x00f6, - 0x2c78, 0x080c, 0x165c, 0x00fe, 0x007e, 0x87ff, 0x1120, 0x2009, - 0x0042, 0x080c, 0x9c76, 0x0005, 0x6110, 0x00b6, 0x2158, 0xb900, - 0x00be, 0xd1ac, 0x0d58, 0x6124, 0xc1cd, 0x6126, 0x0c38, 0xd0fc, - 0x0188, 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x9084, 0x0003, - 0x908e, 0x0002, 0x0148, 0x87ff, 0x1120, 0x2009, 0x0041, 0x080c, - 0x9c76, 0x0005, 0x00b9, 0x0ce8, 0x87ff, 0x1dd8, 0x2009, 0x0043, - 0x080c, 0x9c76, 0x0cb0, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, - 0xd1ac, 0x0d20, 0x6124, 0xc1cd, 0x6126, 0x0c00, 0x2009, 0x0004, - 0x0019, 0x0005, 0x2009, 0x0001, 0x0096, 0x080c, 0xb842, 0x0518, - 0x6014, 0x2048, 0xa982, 0xa800, 0x6016, 0x9186, 0x0001, 0x1188, - 0xa97c, 0x918c, 0x8100, 0x918e, 0x8100, 0x1158, 0x00c6, 0x2061, - 0x1a3e, 0x6200, 0xd28c, 0x1120, 0x6204, 0x8210, 0x0208, 0x6206, - 0x00ce, 0x080c, 0x67c6, 0x6014, 0x904d, 0x0076, 0x2039, 0x0000, - 0x190c, 0x82bd, 0x007e, 0x009e, 0x0005, 0x0156, 0x00c6, 0x2061, - 0x1a3e, 0x6000, 0x81ff, 0x0110, 0x9205, 0x0008, 0x9204, 0x6002, - 0x00ce, 0x015e, 0x0005, 0x6800, 0xd08c, 0x1138, 0x6808, 0x9005, - 0x0120, 0x8001, 0x680a, 0x9085, 0x0001, 0x0005, 0x0126, 0x2091, - 0x8000, 0x0036, 0x0046, 0x20a9, 0x0010, 0x9006, 0x8004, 0x8086, - 0x818e, 0x1208, 0x9200, 0x1f04, 0x83ef, 0x8086, 0x818e, 0x004e, - 0x003e, 0x012e, 0x0005, 0x0126, 0x2091, 0x8000, 0x0076, 0x0156, - 0x20a9, 0x0010, 0x9005, 0x01c8, 0x911a, 0x12b8, 0x8213, 0x818d, - 0x0228, 0x911a, 0x1220, 0x1f04, 0x8406, 0x0028, 0x911a, 0x2308, - 0x8210, 0x1f04, 0x8406, 0x0006, 0x3200, 0x9084, 0xefff, 0x2080, - 0x000e, 0x015e, 0x007e, 0x012e, 0x0005, 0x0006, 0x3200, 0x9085, - 0x1000, 0x0ca8, 0x0126, 0x2091, 0x2800, 0x2079, 0x19b7, 0x012e, - 0x00d6, 0x2069, 0x19b7, 0x6803, 0x0005, 0x0156, 0x0146, 0x01d6, - 0x20e9, 0x0000, 0x2069, 0x0200, 0x080c, 0x97e8, 0x04a9, 0x080c, - 0x97d3, 0x0491, 0x080c, 0x97d6, 0x0479, 0x080c, 0x97d9, 0x0461, - 0x080c, 0x97dc, 0x0449, 0x080c, 0x97df, 0x0431, 0x080c, 0x97e2, - 0x0419, 0x080c, 0x97e5, 0x0401, 0x01de, 0x014e, 0x015e, 0x6857, - 0x0000, 0x00f6, 0x2079, 0x0380, 0x00f9, 0x7807, 0x0003, 0x7803, - 0x0000, 0x7803, 0x0001, 0x2069, 0x0004, 0x2d04, 0x9084, 0xfffe, - 0x9085, 0x8000, 0x206a, 0x2069, 0x0100, 0x6828, 0x9084, 0xfffc, - 0x682a, 0x00fe, 0x00de, 0x0005, 0x20a9, 0x0020, 0x20a1, 0x0240, - 0x2001, 0x0000, 0x4004, 0x0005, 0x00c6, 0x7803, 0x0000, 0x9006, - 0x7827, 0x0030, 0x782b, 0x0400, 0x7827, 0x0031, 0x782b, 0x1abe, - 0x781f, 0xff00, 0x781b, 0xff00, 0x2061, 0x1ab3, 0x602f, 0x19b7, - 0x6033, 0x1800, 0x6037, 0x19d3, 0x603b, 0x1d04, 0x603f, 0x1d14, - 0x6042, 0x6047, 0x1a89, 0x00ce, 0x0005, 0x2001, 0x0382, 0x2004, - 0x9084, 0x0007, 0x9086, 0x0001, 0x01b0, 0x00c6, 0x6146, 0x600f, - 0x0000, 0x2c08, 0x2061, 0x19b7, 0x602c, 0x8000, 0x602e, 0x601c, - 0x9005, 0x0130, 0x9080, 0x0003, 0x2102, 0x611e, 0x00ce, 0x0005, - 0x6122, 0x611e, 0x0cd8, 0x6146, 0x2c08, 0x2001, 0x0012, 0x080c, - 0x98ac, 0x0005, 0x0016, 0x2009, 0x8020, 0x6146, 0x2c08, 0x2001, - 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, 0x1128, 0x2001, - 0x0019, 0x080c, 0x98ac, 0x0088, 0x00c6, 0x2061, 0x19b7, 0x602c, - 0x8000, 0x602e, 0x600c, 0x9005, 0x0128, 0x9080, 0x0003, 0x2102, - 0x610e, 0x0010, 0x6112, 0x610e, 0x00ce, 0x001e, 0x0005, 0x2001, - 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, 0x0198, 0x00c6, - 0x6146, 0x600f, 0x0000, 0x2c08, 0x2061, 0x19b7, 0x6044, 0x9005, - 0x0130, 0x9080, 0x0003, 0x2102, 0x6146, 0x00ce, 0x0005, 0x614a, - 0x6146, 0x0cd8, 0x6146, 0x600f, 0x0000, 0x2c08, 0x2001, 0x0013, - 0x080c, 0x98ac, 0x0005, 0x6044, 0xd0dc, 0x0110, 0x080c, 0x9485, - 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00b6, 0x0096, 0x0076, - 0x0066, 0x0056, 0x0036, 0x0026, 0x0016, 0x0006, 0x0126, 0x902e, - 0x2071, 0x19b7, 0x7648, 0x2660, 0x2678, 0x2091, 0x8000, 0x8cff, - 0x0904, 0x8586, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x8581, - 0x87ff, 0x0120, 0x605c, 0x9106, 0x1904, 0x8581, 0x704c, 0x9c06, - 0x1178, 0x0036, 0x2019, 0x0001, 0x080c, 0x9269, 0x703f, 0x0000, - 0x9006, 0x704e, 0x706a, 0x7052, 0x706e, 0x003e, 0x2029, 0x0001, - 0x0811, 0x7048, 0x9c36, 0x1110, 0x660c, 0x764a, 0x7044, 0x9c36, - 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7046, 0x0010, 0x7047, - 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, - 0x2678, 0x600f, 0x0000, 0x080c, 0xb842, 0x01f0, 0x6014, 0x2048, - 0x6020, 0x9086, 0x0003, 0x1588, 0x6004, 0x9086, 0x0040, 0x090c, - 0x9485, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, - 0x0076, 0x080c, 0xbb45, 0x080c, 0xd52b, 0x080c, 0x6991, 0x007e, - 0x003e, 0x001e, 0x080c, 0xba31, 0x080c, 0x9c14, 0x00ce, 0x0804, - 0x851f, 0x2c78, 0x600c, 0x2060, 0x0804, 0x851f, 0x012e, 0x000e, - 0x001e, 0x002e, 0x003e, 0x005e, 0x006e, 0x007e, 0x009e, 0x00be, - 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1158, 0x0016, 0x0036, 0x0076, 0x080c, 0xd52b, 0x080c, 0xd22f, - 0x007e, 0x003e, 0x001e, 0x08c0, 0x6020, 0x9086, 0x000a, 0x0918, - 0x0804, 0x8564, 0x0006, 0x0066, 0x0096, 0x00c6, 0x00d6, 0x00f6, - 0x9036, 0x0126, 0x2091, 0x8000, 0x2079, 0x19b7, 0x7848, 0x9065, - 0x0904, 0x860e, 0x600c, 0x0006, 0x600f, 0x0000, 0x784c, 0x9c06, - 0x11a0, 0x0036, 0x2019, 0x0001, 0x080c, 0x9269, 0x783f, 0x0000, - 0x901e, 0x7b4e, 0x7b6a, 0x7b52, 0x7b6e, 0x003e, 0x000e, 0x9005, - 0x1118, 0x600c, 0x600f, 0x0000, 0x0006, 0x00e6, 0x2f70, 0x080c, - 0x8503, 0x00ee, 0x080c, 0xb842, 0x0548, 0x6014, 0x2048, 0x6020, - 0x9086, 0x0003, 0x15a8, 0x3e08, 0x918e, 0x0002, 0x1188, 0x6010, - 0x9005, 0x0170, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, - 0x6048, 0x9005, 0x11c0, 0x2001, 0x1958, 0x2004, 0x604a, 0x0098, - 0x6004, 0x9086, 0x0040, 0x090c, 0x9485, 0xa867, 0x0103, 0xab7a, - 0xa877, 0x0000, 0x080c, 0x6985, 0x080c, 0xba31, 0x6044, 0xc0fc, - 0x6046, 0x080c, 0x9c14, 0x000e, 0x0804, 0x85b7, 0x7e4a, 0x7e46, - 0x012e, 0x00fe, 0x00de, 0x00ce, 0x009e, 0x006e, 0x000e, 0x0005, - 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xd22f, 0x0c38, 0x6020, - 0x9086, 0x000a, 0x09e0, 0x08a0, 0x0016, 0x0026, 0x0086, 0x9046, - 0x00a9, 0x080c, 0x8715, 0x008e, 0x002e, 0x001e, 0x0005, 0x00f6, - 0x0126, 0x2079, 0x19b7, 0x2091, 0x8000, 0x080c, 0x875e, 0x080c, - 0x87f2, 0x080c, 0x63f8, 0x012e, 0x00fe, 0x0005, 0x00b6, 0x0096, - 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0016, 0x0006, 0x0126, - 0x2091, 0x8000, 0x2071, 0x19b7, 0x7620, 0x2660, 0x2678, 0x8cff, - 0x0904, 0x86da, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x1904, 0x86d5, - 0x88ff, 0x0120, 0x605c, 0x9106, 0x1904, 0x86d5, 0x7030, 0x9c06, - 0x1570, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, 0x81ea, - 0x080c, 0x8f9c, 0x68c3, 0x0000, 0x080c, 0x9485, 0x7033, 0x0000, - 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x2069, 0x0100, - 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0040, 0x7008, - 0xc0ad, 0x700a, 0x6003, 0x0009, 0x630a, 0x0804, 0x86d5, 0x7020, - 0x9c36, 0x1110, 0x660c, 0x7622, 0x701c, 0x9c36, 0x1140, 0x2c00, - 0x9f36, 0x0118, 0x2f00, 0x701e, 0x0010, 0x701f, 0x0000, 0x660c, - 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, - 0x0000, 0x6044, 0xc0fc, 0x6046, 0x6014, 0x2048, 0x080c, 0xb842, - 0x01e8, 0x6020, 0x9086, 0x0003, 0x1580, 0x080c, 0xba57, 0x1118, - 0x080c, 0xa581, 0x0098, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, - 0x0016, 0x0036, 0x0086, 0x080c, 0xbb45, 0x080c, 0xd52b, 0x080c, - 0x6991, 0x008e, 0x003e, 0x001e, 0x080c, 0xba31, 0x080c, 0x9c14, - 0x080c, 0x935b, 0x00ce, 0x0804, 0x864f, 0x2c78, 0x600c, 0x2060, - 0x0804, 0x864f, 0x012e, 0x000e, 0x001e, 0x006e, 0x00ce, 0x00de, - 0x00ee, 0x00fe, 0x009e, 0x00be, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1158, 0x0016, 0x0036, 0x0086, 0x080c, 0xd52b, 0x080c, 0xd22f, - 0x008e, 0x003e, 0x001e, 0x08d0, 0x080c, 0xa581, 0x6020, 0x9086, - 0x0002, 0x1160, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0904, - 0x86bb, 0x9086, 0x008b, 0x0904, 0x86bb, 0x0840, 0x6020, 0x9086, - 0x0005, 0x1920, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x09c8, - 0x9086, 0x008b, 0x09b0, 0x0804, 0x86ce, 0x0006, 0x00f6, 0x00e6, - 0x0096, 0x00b6, 0x00c6, 0x0066, 0x0016, 0x0126, 0x2091, 0x8000, - 0x9280, 0x1000, 0x2004, 0x905d, 0x2079, 0x19b7, 0x9036, 0x7828, - 0x2060, 0x8cff, 0x0538, 0x6010, 0x9b06, 0x1500, 0x6043, 0xffff, - 0x080c, 0x9a77, 0x01d8, 0x610c, 0x0016, 0x080c, 0x90f3, 0x6014, - 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, - 0x0086, 0x080c, 0xbb45, 0x080c, 0xd52b, 0x080c, 0x6991, 0x008e, - 0x003e, 0x001e, 0x080c, 0x9c14, 0x00ce, 0x08d8, 0x2c30, 0x600c, - 0x2060, 0x08b8, 0x080c, 0x6415, 0x012e, 0x001e, 0x006e, 0x00ce, - 0x00be, 0x009e, 0x00ee, 0x00fe, 0x000e, 0x0005, 0x0096, 0x0006, - 0x0066, 0x00c6, 0x00d6, 0x9036, 0x7820, 0x9065, 0x0904, 0x87c5, - 0x600c, 0x0006, 0x6044, 0xc0fc, 0x6046, 0x600f, 0x0000, 0x7830, - 0x9c06, 0x1588, 0x2069, 0x0100, 0x6820, 0xd0a4, 0x1508, 0x080c, - 0x81ea, 0x080c, 0x8f9c, 0x68c3, 0x0000, 0x080c, 0x9485, 0x7833, - 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, - 0x2001, 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x2069, - 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x0058, - 0x080c, 0x661c, 0x1538, 0x6003, 0x0009, 0x630a, 0x7808, 0xc0ad, - 0x780a, 0x2c30, 0x00f8, 0x6014, 0x2048, 0x080c, 0xb840, 0x01b0, - 0x6020, 0x9086, 0x0003, 0x1508, 0x080c, 0xba57, 0x1118, 0x080c, - 0xa581, 0x0060, 0x080c, 0x661c, 0x1168, 0xa867, 0x0103, 0xab7a, - 0xa877, 0x0000, 0x080c, 0x6991, 0x080c, 0xba31, 0x080c, 0x9c14, - 0x080c, 0x935b, 0x000e, 0x0804, 0x8765, 0x7e22, 0x7e1e, 0x00de, - 0x00ce, 0x006e, 0x000e, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1118, 0x080c, 0xd22f, 0x0c50, 0x080c, 0xa581, 0x6020, 0x9086, - 0x0002, 0x1150, 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0990, - 0x9086, 0x008b, 0x0978, 0x08d0, 0x6020, 0x9086, 0x0005, 0x19b0, - 0x6004, 0x0006, 0x9086, 0x0085, 0x000e, 0x0d18, 0x9086, 0x008b, - 0x0d00, 0x0860, 0x0006, 0x0096, 0x00b6, 0x00c6, 0x0066, 0x9036, - 0x7828, 0x9065, 0x0510, 0x6010, 0x2058, 0x600c, 0x0006, 0x3e08, - 0x918e, 0x0002, 0x1118, 0xb800, 0xd0bc, 0x11a8, 0x6043, 0xffff, - 0x080c, 0x9a77, 0x0180, 0x610c, 0x080c, 0x90f3, 0x6014, 0x2048, - 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6991, 0x080c, - 0x9c14, 0x000e, 0x08f0, 0x2c30, 0x0ce0, 0x006e, 0x00ce, 0x00be, - 0x009e, 0x000e, 0x0005, 0x00e6, 0x00d6, 0x0096, 0x0066, 0x080c, - 0x5dd1, 0x11b0, 0x2071, 0x19b7, 0x7030, 0x9080, 0x0005, 0x2004, - 0x904d, 0x0170, 0xa878, 0x9606, 0x1158, 0x2071, 0x19b7, 0x7030, - 0x9035, 0x0130, 0x9080, 0x0005, 0x2004, 0x9906, 0x1108, 0x0029, - 0x006e, 0x009e, 0x00de, 0x00ee, 0x0005, 0x00c6, 0x2660, 0x6043, - 0xffff, 0x080c, 0x9a77, 0x0178, 0x080c, 0x90f3, 0x6014, 0x2048, - 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0xbb45, 0x080c, - 0x6991, 0x080c, 0x9c14, 0x00ce, 0x0005, 0x00b6, 0x00e6, 0x00c6, - 0x080c, 0x98bb, 0x0106, 0x2071, 0x0101, 0x2e04, 0xc0c4, 0x2072, - 0x6044, 0xd0fc, 0x1138, 0x010e, 0x090c, 0x98d7, 0x00ce, 0x00ee, - 0x00be, 0x0005, 0x2071, 0x19b7, 0x7030, 0x9005, 0x0da0, 0x9c06, - 0x190c, 0x0d65, 0x7036, 0x080c, 0x81ea, 0x7004, 0x9084, 0x0007, - 0x0002, 0x888b, 0x888d, 0x8894, 0x889e, 0x88ac, 0x888b, 0x8899, - 0x8889, 0x080c, 0x0d65, 0x0428, 0x0005, 0x080c, 0x9a62, 0x7007, - 0x0000, 0x7033, 0x0000, 0x00e8, 0x0066, 0x9036, 0x080c, 0x90f3, - 0x006e, 0x7007, 0x0000, 0x7033, 0x0000, 0x0098, 0x080c, 0x9a4d, - 0x0140, 0x080c, 0x9a62, 0x0128, 0x0066, 0x9036, 0x080c, 0x90f3, - 0x006e, 0x7033, 0x0000, 0x0028, 0x080c, 0x9a4d, 0x080c, 0x9485, - 0x0000, 0x010e, 0x190c, 0x98d7, 0x00ce, 0x00ee, 0x00be, 0x0005, - 0x00d6, 0x00c6, 0x080c, 0x98bb, 0x0106, 0x6044, 0xd0fc, 0x1130, - 0x010e, 0x090c, 0x98d7, 0x00ce, 0x00de, 0x0005, 0x2069, 0x19b7, - 0x684c, 0x9005, 0x0da8, 0x9c06, 0x190c, 0x0d65, 0x6852, 0x00e6, - 0x2d70, 0x080c, 0x8503, 0x00ee, 0x080c, 0x81f7, 0x0016, 0x2009, - 0x0040, 0x080c, 0x2063, 0x001e, 0x683c, 0x9084, 0x0003, 0x0002, - 0x88e6, 0x88e7, 0x8905, 0x88e4, 0x080c, 0x0d65, 0x0460, 0x6868, - 0x9086, 0x0001, 0x0190, 0x600c, 0x9015, 0x0160, 0x6a4a, 0x600f, - 0x0000, 0x6044, 0xc0fc, 0x6046, 0x9006, 0x7042, 0x684e, 0x683f, - 0x0000, 0x00c8, 0x684a, 0x6846, 0x0ca0, 0x686b, 0x0000, 0x6848, - 0x9065, 0x0d78, 0x6003, 0x0002, 0x0c60, 0x9006, 0x686a, 0x6852, - 0x686e, 0x600c, 0x9015, 0x0120, 0x6a4a, 0x600f, 0x0000, 0x0018, - 0x684e, 0x684a, 0x6846, 0x684f, 0x0000, 0x010e, 0x190c, 0x98d7, - 0x00ce, 0x00de, 0x0005, 0x0005, 0x6020, 0x9084, 0x000f, 0x000b, - 0x0005, 0x8931, 0x8934, 0x8d8d, 0x8e1c, 0x8934, 0x8d8d, 0x8e1c, - 0x8931, 0x8934, 0x8931, 0x8931, 0x8931, 0x8931, 0x8931, 0x8931, - 0x8931, 0x080c, 0x885d, 0x0005, 0x00b6, 0x0156, 0x0136, 0x0146, - 0x01c6, 0x01d6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, - 0x2071, 0x0240, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0d65, 0x6110, - 0x2158, 0xb984, 0x2c78, 0x2061, 0x0100, 0x619a, 0x908a, 0x0040, - 0x1a04, 0x89a0, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, - 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0x8b17, 0x8b52, - 0x8b7b, 0x8c1e, 0x8c3f, 0x8c45, 0x8c52, 0x8c5a, 0x8c66, 0x8c6c, - 0x8c7d, 0x8c6c, 0x8cd4, 0x8c5a, 0x8ce0, 0x8ce6, 0x8c66, 0x8ce6, - 0x8cf2, 0x899e, 0x899e, 0x899e, 0x899e, 0x899e, 0x899e, 0x899e, - 0x899e, 0x899e, 0x899e, 0x899e, 0x9114, 0x9137, 0x9148, 0x9168, - 0x919a, 0x8c52, 0x899e, 0x8c52, 0x8c6c, 0x899e, 0x8b7b, 0x8c1e, - 0x899e, 0x9583, 0x8c6c, 0x899e, 0x959f, 0x8c6c, 0x899e, 0x8c66, - 0x8b11, 0x89c1, 0x899e, 0x95bb, 0x9628, 0x9708, 0x899e, 0x9715, - 0x8c4f, 0x9740, 0x899e, 0x91a4, 0x974c, 0x899e, 0x080c, 0x0d65, - 0x2100, 0x005b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, - 0x014e, 0x013e, 0x015e, 0x00be, 0x0005, 0x89bf, 0x89bf, 0x89bf, - 0x89e8, 0x8a94, 0x8a9f, 0x89bf, 0x89bf, 0x89bf, 0x8ae6, 0x8af2, - 0x8a03, 0x89bf, 0x8a1e, 0x8a52, 0x9acd, 0x9b12, 0x8c6c, 0x080c, - 0x0d65, 0x00d6, 0x0096, 0x080c, 0x8d05, 0x7003, 0x2414, 0x7007, - 0x0018, 0x700b, 0x0800, 0x7814, 0x2048, 0xa83c, 0x700e, 0xa850, - 0x7022, 0xa854, 0x7026, 0x60c3, 0x0018, 0x080c, 0x8f6c, 0x009e, - 0x00de, 0x0005, 0x7810, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x080c, - 0x9b59, 0x1118, 0x9084, 0xff80, 0x0110, 0x9085, 0x0001, 0x0005, - 0x00d6, 0x0096, 0x080c, 0x8d05, 0x7003, 0x0500, 0x7814, 0x2048, - 0xa874, 0x700a, 0xa878, 0x700e, 0xa87c, 0x7012, 0xa880, 0x7016, - 0xa884, 0x701a, 0xa888, 0x701e, 0x60c3, 0x0010, 0x080c, 0x8f6c, - 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x080c, 0x8d05, 0x7003, - 0x0500, 0x7814, 0x2048, 0xa8cc, 0x700a, 0xa8d0, 0x700e, 0xa8d4, - 0x7012, 0xa8d8, 0x7016, 0xa8dc, 0x701a, 0xa8e0, 0x701e, 0x60c3, - 0x0010, 0x080c, 0x8f6c, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, - 0x0126, 0x2091, 0x8000, 0x080c, 0x8d05, 0x20e9, 0x0000, 0x2001, - 0x1973, 0x2003, 0x0000, 0x7814, 0x2048, 0xa814, 0x8003, 0x60c2, - 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, 0x2098, - 0x2001, 0x1973, 0x0016, 0x200c, 0x2001, 0x0001, 0x080c, 0x2048, - 0x080c, 0xc59f, 0x9006, 0x080c, 0x2048, 0x001e, 0xa804, 0x9005, - 0x0110, 0x2048, 0x0c28, 0x04d9, 0x080c, 0x8f6c, 0x012e, 0x009e, + 0x908a, 0x001a, 0x1210, 0x002b, 0x0c50, 0x00e9, 0x080c, 0x79c6, + 0x0005, 0x7523, 0x752f, 0x7719, 0x7523, 0x752f, 0x7523, 0x752f, + 0x752f, 0x7523, 0x752f, 0x7719, 0x752f, 0x752f, 0x752f, 0x752f, + 0x752f, 0x7523, 0x752f, 0x7719, 0x7523, 0x7523, 0x752f, 0x7523, + 0x7523, 0x7523, 0x752f, 0x00e6, 0x2071, 0x18f8, 0x2009, 0x0400, + 0x0071, 0x00ee, 0x0005, 0x2009, 0x1000, 0x0049, 0x0005, 0x2009, + 0x2000, 0x0029, 0x0005, 0x2009, 0x0800, 0x0009, 0x0005, 0x7007, + 0x0001, 0xa868, 0x9084, 0x00ff, 0x9105, 0xa86a, 0x0126, 0x2091, + 0x8000, 0x080c, 0x69b5, 0x012e, 0x0005, 0xa864, 0x8007, 0x9084, + 0x00ff, 0x0d08, 0x8001, 0x1120, 0x7007, 0x0001, 0x0804, 0x76d7, + 0x7007, 0x0003, 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x76d7, + 0x0005, 0xa864, 0x8007, 0x9084, 0x00ff, 0x0968, 0x8001, 0x1120, + 0x7007, 0x0001, 0x0804, 0x76f2, 0x7007, 0x0003, 0x7012, 0x2900, + 0x7016, 0x701a, 0x704b, 0x76f2, 0x0005, 0xa864, 0x8007, 0x9084, + 0x00ff, 0x9086, 0x0001, 0x1904, 0x752b, 0x7007, 0x0001, 0x2009, + 0x1833, 0x210c, 0x81ff, 0x1904, 0x75cf, 0xa994, 0x9186, 0x006f, + 0x0188, 0x9186, 0x0074, 0x15b0, 0x0026, 0x2011, 0x0010, 0x080c, + 0x66ae, 0x002e, 0x0578, 0x0016, 0xa998, 0x080c, 0x66f8, 0x001e, + 0x1548, 0x0400, 0x080c, 0x70ba, 0x0140, 0xa897, 0x4005, 0xa89b, + 0x0016, 0x2001, 0x0030, 0x900e, 0x0438, 0x0026, 0x2011, 0x8008, + 0x080c, 0x66ae, 0x002e, 0x01b0, 0x0016, 0x0026, 0x0036, 0xa998, + 0xaaa0, 0xab9c, 0x918d, 0x8000, 0x080c, 0x66f8, 0x003e, 0x002e, + 0x001e, 0x1140, 0xa897, 0x4005, 0xa89b, 0x4009, 0x2001, 0x0030, + 0x900e, 0x0050, 0xa868, 0x9084, 0x00ff, 0xa86a, 0xa883, 0x0000, + 0x080c, 0x5f22, 0x1108, 0x0005, 0x0126, 0x2091, 0x8000, 0xa867, + 0x0139, 0xa87a, 0xa982, 0x080c, 0x69b5, 0x012e, 0x0ca0, 0xa994, + 0x9186, 0x0071, 0x0904, 0x757d, 0x9186, 0x0064, 0x0904, 0x757d, + 0x9186, 0x007c, 0x0904, 0x757d, 0x9186, 0x0028, 0x0904, 0x757d, + 0x9186, 0x0038, 0x0904, 0x757d, 0x9186, 0x0078, 0x0904, 0x757d, + 0x9186, 0x005f, 0x0904, 0x757d, 0x9186, 0x0056, 0x0904, 0x757d, + 0xa897, 0x4005, 0xa89b, 0x0001, 0x2001, 0x0030, 0x900e, 0x0860, + 0xa87c, 0x9084, 0x00c0, 0x9086, 0x00c0, 0x1120, 0x7007, 0x0001, + 0x0804, 0x78e7, 0x2900, 0x7016, 0x701a, 0x20a9, 0x0004, 0xa860, + 0x20e0, 0xa85c, 0x9080, 0x0030, 0x2098, 0x7050, 0x2040, 0xa060, + 0x20e8, 0xa05c, 0x9080, 0x0023, 0x20a0, 0x4003, 0xa888, 0x7012, + 0x9082, 0x0401, 0x1a04, 0x7533, 0xaab4, 0x928a, 0x0002, 0x1a04, + 0x7533, 0x82ff, 0x1138, 0xa8b8, 0xa9bc, 0x9105, 0x0118, 0x2001, + 0x7695, 0x0018, 0x9280, 0x768b, 0x2005, 0x7056, 0x7010, 0x9015, + 0x0904, 0x7676, 0x080c, 0x1048, 0x1118, 0x7007, 0x0004, 0x0005, + 0x2900, 0x7022, 0x7054, 0x2060, 0xe000, 0xa866, 0x7050, 0x2040, + 0xa95c, 0xe004, 0x9100, 0xa076, 0xa860, 0xa072, 0xe008, 0x920a, + 0x1210, 0x900e, 0x2200, 0x7112, 0xe20c, 0x8003, 0x800b, 0x9296, + 0x0004, 0x0108, 0x9108, 0xa17a, 0x810b, 0xa17e, 0x080c, 0x1124, + 0xa06c, 0x908e, 0x0100, 0x0170, 0x9086, 0x0200, 0x0118, 0x7007, + 0x0007, 0x0005, 0x7020, 0x2048, 0x080c, 0x1061, 0x7014, 0x2048, + 0x0804, 0x7533, 0x7020, 0x2048, 0x7018, 0xa802, 0xa807, 0x0000, + 0x2908, 0x2048, 0xa906, 0x711a, 0x0804, 0x762e, 0x7014, 0x2048, + 0x7007, 0x0001, 0xa8b4, 0x9005, 0x1128, 0xa8b8, 0xa9bc, 0x9105, + 0x0108, 0x00b9, 0xa864, 0x9084, 0x00ff, 0x9086, 0x001e, 0x0904, + 0x78e7, 0x0804, 0x76d7, 0x768d, 0x7691, 0x0002, 0x001d, 0x0007, + 0x0004, 0x000a, 0x001b, 0x0005, 0x0006, 0x000a, 0x001d, 0x0005, + 0x0004, 0x0076, 0x0066, 0xafb8, 0xaebc, 0xa804, 0x2050, 0xb0c0, + 0xb0e2, 0xb0bc, 0xb0de, 0xb0b8, 0xb0d2, 0xb0b4, 0xb0ce, 0xb6da, + 0xb7d6, 0xb0b0, 0xb0ca, 0xb0ac, 0xb0c6, 0xb0a8, 0xb0ba, 0xb0a4, + 0xb0b6, 0xb6c2, 0xb7be, 0xb0a0, 0xb0b2, 0xb09c, 0xb0ae, 0xb098, + 0xb0a2, 0xb094, 0xb09e, 0xb6aa, 0xb7a6, 0xb090, 0xb09a, 0xb08c, + 0xb096, 0xb088, 0xb08a, 0xb084, 0xb086, 0xb692, 0xb78e, 0xb080, + 0xb082, 0xb07c, 0xb07e, 0xb078, 0xb072, 0xb074, 0xb06e, 0xb67a, + 0xb776, 0xb004, 0x9055, 0x1958, 0x006e, 0x007e, 0x0005, 0x2009, + 0x1833, 0x210c, 0x81ff, 0x1178, 0x080c, 0x5d71, 0x1108, 0x0005, + 0x080c, 0x6bc6, 0x0126, 0x2091, 0x8000, 0x080c, 0xbb73, 0x080c, + 0x69b5, 0x012e, 0x0ca0, 0x080c, 0xbf88, 0x1d70, 0x2001, 0x0028, + 0x900e, 0x0c70, 0x2009, 0x1833, 0x210c, 0x81ff, 0x11d8, 0xa888, + 0x9005, 0x01e0, 0xa883, 0x0000, 0xa87c, 0xd0f4, 0x0120, 0x080c, + 0x5e84, 0x1138, 0x0005, 0x9006, 0xa87a, 0x080c, 0x5dff, 0x1108, + 0x0005, 0x0126, 0x2091, 0x8000, 0xa87a, 0xa982, 0x080c, 0x69b5, + 0x012e, 0x0cb0, 0x2001, 0x0028, 0x900e, 0x0c98, 0x2001, 0x0000, + 0x0c80, 0x7018, 0xa802, 0x2908, 0x2048, 0xa906, 0x711a, 0x7010, + 0x8001, 0x7012, 0x0118, 0x7007, 0x0003, 0x0030, 0x7014, 0x2048, + 0x7007, 0x0001, 0x7048, 0x080f, 0x0005, 0x00b6, 0x7007, 0x0001, + 0xa974, 0xa878, 0x9084, 0x00ff, 0x9096, 0x0004, 0x0540, 0x20a9, + 0x0001, 0x9096, 0x0001, 0x0190, 0x900e, 0x20a9, 0x0800, 0x9096, + 0x0002, 0x0160, 0x9005, 0x11d8, 0xa974, 0x080c, 0x628f, 0x11b8, + 0x0066, 0xae80, 0x080c, 0x639f, 0x006e, 0x0088, 0x0046, 0x2011, + 0x180c, 0x2224, 0xc484, 0x2412, 0x004e, 0x00c6, 0x080c, 0x628f, + 0x1110, 0x080c, 0x6572, 0x8108, 0x1f04, 0x7756, 0x00ce, 0xa87c, + 0xd084, 0x1120, 0x080c, 0x1061, 0x00be, 0x0005, 0x0126, 0x2091, + 0x8000, 0x080c, 0x69b5, 0x012e, 0x00be, 0x0005, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x080c, 0x6686, 0x0580, 0x2061, 0x1a46, + 0x6100, 0xd184, 0x0178, 0xa888, 0x9084, 0x00ff, 0x1550, 0x6000, + 0xd084, 0x0520, 0x6004, 0x9005, 0x1538, 0x6003, 0x0000, 0x600b, + 0x0000, 0x00c8, 0x2011, 0x0001, 0xa890, 0x9005, 0x1110, 0x2001, + 0x001e, 0x8000, 0x6016, 0xa888, 0x9084, 0x00ff, 0x0178, 0x6006, + 0xa888, 0x8007, 0x9084, 0x00ff, 0x0148, 0x600a, 0xa888, 0x8000, + 0x1108, 0xc28d, 0x6202, 0x012e, 0x0804, 0x79b0, 0x012e, 0x0804, + 0x79aa, 0x012e, 0x0804, 0x79a4, 0x012e, 0x0804, 0x79a7, 0x0126, + 0x2091, 0x8000, 0x7007, 0x0001, 0x080c, 0x6686, 0x05e0, 0x2061, + 0x1a46, 0x6000, 0xd084, 0x05b8, 0x6204, 0x6308, 0xd08c, 0x1530, + 0xac78, 0x9484, 0x0003, 0x0170, 0xa988, 0x918c, 0x00ff, 0x8001, + 0x1120, 0x2100, 0x9210, 0x0620, 0x0028, 0x8001, 0x1508, 0x2100, + 0x9212, 0x02f0, 0x9484, 0x000c, 0x0188, 0xa988, 0x810f, 0x918c, + 0x00ff, 0x9082, 0x0004, 0x1120, 0x2100, 0x9318, 0x0288, 0x0030, + 0x9082, 0x0004, 0x1168, 0x2100, 0x931a, 0x0250, 0xa890, 0x9005, + 0x0110, 0x8000, 0x6016, 0x6206, 0x630a, 0x012e, 0x0804, 0x79b0, + 0x012e, 0x0804, 0x79ad, 0x012e, 0x0804, 0x79aa, 0x0126, 0x2091, + 0x8000, 0x7007, 0x0001, 0x2061, 0x1a46, 0x6300, 0xd38c, 0x1120, + 0x6308, 0x8318, 0x0220, 0x630a, 0x012e, 0x0804, 0x79be, 0x012e, + 0x0804, 0x79ad, 0x00b6, 0x0126, 0x00c6, 0x2091, 0x8000, 0x7007, + 0x0001, 0xa87c, 0xd0ac, 0x0148, 0x00c6, 0x2061, 0x1a46, 0x6000, + 0x9084, 0xfcff, 0x6002, 0x00ce, 0x0440, 0xa888, 0x9005, 0x05d8, + 0xa88c, 0x9065, 0x0598, 0x2001, 0x1833, 0x2004, 0x9005, 0x0118, + 0x080c, 0x9c20, 0x0068, 0x6017, 0xf400, 0x6063, 0x0000, 0xa97c, + 0xd1a4, 0x0110, 0xa980, 0x6162, 0x2009, 0x0041, 0x080c, 0x9c82, + 0xa988, 0x918c, 0xff00, 0x9186, 0x2000, 0x1138, 0x0026, 0x900e, + 0x2011, 0xfdff, 0x080c, 0x8401, 0x002e, 0xa87c, 0xd0c4, 0x0148, + 0x2061, 0x1a46, 0x6000, 0xd08c, 0x1120, 0x6008, 0x8000, 0x0208, + 0x600a, 0x00ce, 0x012e, 0x00be, 0x0804, 0x79b0, 0x00ce, 0x012e, + 0x00be, 0x0804, 0x79aa, 0xa984, 0x9186, 0x002e, 0x0d30, 0x9186, + 0x002d, 0x0d18, 0x9186, 0x0045, 0x0510, 0x9186, 0x002a, 0x1130, + 0x2001, 0x180c, 0x200c, 0xc194, 0x2102, 0x08b8, 0x9186, 0x0020, + 0x0158, 0x9186, 0x0029, 0x1d10, 0xa974, 0x080c, 0x628f, 0x1968, + 0xb800, 0xc0e4, 0xb802, 0x0848, 0xa88c, 0x9065, 0x09b8, 0x6007, + 0x0024, 0x2001, 0x195e, 0x2004, 0x601a, 0x0804, 0x7845, 0xa88c, + 0x9065, 0x0960, 0x00e6, 0xa890, 0x9075, 0x2001, 0x1833, 0x2004, + 0x9005, 0x0150, 0x080c, 0x9c20, 0x8eff, 0x0118, 0x2e60, 0x080c, + 0x9c20, 0x00ee, 0x0804, 0x7845, 0x6024, 0xc0dc, 0xc0d5, 0x6026, + 0x2e60, 0x6007, 0x003a, 0xa8a0, 0x9005, 0x0130, 0x6007, 0x003b, + 0xa8a4, 0x602e, 0xa8a8, 0x6016, 0x6003, 0x0001, 0x2009, 0x8020, + 0x080c, 0x84e7, 0x00ee, 0x0804, 0x7845, 0x2061, 0x1a46, 0x6000, + 0xd084, 0x0190, 0xd08c, 0x1904, 0x79be, 0x0126, 0x2091, 0x8000, + 0x6204, 0x8210, 0x0220, 0x6206, 0x012e, 0x0804, 0x79be, 0x012e, + 0xa883, 0x0016, 0x0804, 0x79b7, 0xa883, 0x0007, 0x0804, 0x79b7, + 0xa864, 0x8007, 0x9084, 0x00ff, 0x0130, 0x8001, 0x1138, 0x7007, + 0x0001, 0x0069, 0x0005, 0x080c, 0x752b, 0x0040, 0x7007, 0x0003, + 0x7012, 0x2900, 0x7016, 0x701a, 0x704b, 0x78e7, 0x0005, 0x00b6, + 0x00e6, 0x0126, 0x2091, 0x8000, 0x903e, 0x2061, 0x1800, 0x61cc, + 0x81ff, 0x1904, 0x7969, 0x6130, 0xd194, 0x1904, 0x7993, 0xa878, + 0x2070, 0x9e82, 0x1ddc, 0x0a04, 0x795d, 0x6064, 0x9e02, 0x1a04, + 0x795d, 0x7120, 0x9186, 0x0006, 0x1904, 0x794f, 0x7010, 0x905d, + 0x0904, 0x7969, 0xb800, 0xd0e4, 0x1904, 0x798d, 0x2061, 0x1a46, + 0x6100, 0x9184, 0x0301, 0x9086, 0x0001, 0x15a0, 0x7024, 0xd0dc, + 0x1904, 0x7996, 0xa883, 0x0000, 0xa803, 0x0000, 0x2908, 0x7014, + 0x9005, 0x1198, 0x7116, 0xa87c, 0xd0f4, 0x1904, 0x7999, 0x080c, + 0x53a8, 0xd09c, 0x1118, 0xa87c, 0xc0cc, 0xa87e, 0x2e60, 0x080c, + 0x82f1, 0x012e, 0x00ee, 0x00be, 0x0005, 0x2048, 0xa800, 0x9005, + 0x1de0, 0xa902, 0x2148, 0xa87c, 0xd0f4, 0x1904, 0x7999, 0x012e, + 0x00ee, 0x00be, 0x0005, 0x012e, 0x00ee, 0xa883, 0x0006, 0x00be, + 0x0804, 0x79b7, 0xd184, 0x0db8, 0xd1c4, 0x1190, 0x00a0, 0xa974, + 0x080c, 0x628f, 0x15d0, 0xb800, 0xd0e4, 0x15b8, 0x7120, 0x9186, + 0x0007, 0x1118, 0xa883, 0x0002, 0x0490, 0xa883, 0x0008, 0x0478, + 0xa883, 0x000e, 0x0460, 0xa883, 0x0017, 0x0448, 0xa883, 0x0035, + 0x0430, 0x080c, 0x53ac, 0xd0fc, 0x01e8, 0xa878, 0x2070, 0x9e82, + 0x1ddc, 0x02c0, 0x6064, 0x9e02, 0x12a8, 0x7120, 0x9186, 0x0006, + 0x1188, 0x7010, 0x905d, 0x0170, 0xb800, 0xd0bc, 0x0158, 0x2039, + 0x0001, 0x7000, 0x9086, 0x0007, 0x1904, 0x78f3, 0x7003, 0x0002, + 0x0804, 0x78f3, 0xa883, 0x0028, 0x0010, 0xa883, 0x0029, 0x012e, + 0x00ee, 0x00be, 0x0420, 0xa883, 0x002a, 0x0cc8, 0xa883, 0x0045, + 0x0cb0, 0x2e60, 0x2019, 0x0002, 0x601b, 0x0014, 0x080c, 0xce41, + 0x012e, 0x00ee, 0x00be, 0x0005, 0x2009, 0x003e, 0x0058, 0x2009, + 0x0004, 0x0040, 0x2009, 0x0006, 0x0028, 0x2009, 0x0016, 0x0010, + 0x2009, 0x0001, 0xa884, 0x9084, 0xff00, 0x9105, 0xa886, 0x0126, + 0x2091, 0x8000, 0x080c, 0x69b5, 0x012e, 0x0005, 0x080c, 0x1061, + 0x0005, 0x00d6, 0x080c, 0x82e8, 0x00de, 0x0005, 0x00d6, 0x00e6, + 0x0126, 0x2091, 0x8000, 0x2071, 0x0040, 0x702c, 0xd084, 0x01d8, + 0x908c, 0x0780, 0x190c, 0x7a52, 0xd09c, 0x11a8, 0x2071, 0x1800, + 0x70bc, 0x90ea, 0x0040, 0x0278, 0x8001, 0x70be, 0x702c, 0x2048, + 0xa800, 0x702e, 0x9006, 0xa802, 0xa806, 0x2071, 0x0040, 0x2900, + 0x7022, 0x702c, 0x0c28, 0x012e, 0x00ee, 0x00de, 0x0005, 0x0006, + 0x9084, 0x0780, 0x190c, 0x7a52, 0x000e, 0x0005, 0x00d6, 0x00c6, + 0x0036, 0x0026, 0x0016, 0x00b6, 0x7007, 0x0001, 0xaa74, 0x9282, + 0x0004, 0x1a04, 0x7a43, 0xa97c, 0x9188, 0x1000, 0x2104, 0x905d, + 0xb804, 0xd284, 0x0140, 0x05e8, 0x8007, 0x9084, 0x00ff, 0x9084, + 0x0006, 0x1108, 0x04b0, 0x2b10, 0x080c, 0x9b90, 0x1118, 0x080c, + 0x9c55, 0x05a8, 0x6212, 0xa874, 0x0002, 0x7a21, 0x7a26, 0x7a29, + 0x7a2f, 0x2019, 0x0002, 0x080c, 0xd234, 0x0060, 0x080c, 0xd1c4, + 0x0048, 0x2019, 0x0002, 0xa980, 0x080c, 0xd1e3, 0x0018, 0xa980, + 0x080c, 0xd1c4, 0x080c, 0x9be6, 0xa887, 0x0000, 0x0126, 0x2091, + 0x8000, 0x080c, 0x69b5, 0x012e, 0x00be, 0x001e, 0x002e, 0x003e, + 0x00ce, 0x00de, 0x0005, 0xa887, 0x0006, 0x0c80, 0xa887, 0x0002, + 0x0c68, 0xa887, 0x0005, 0x0c50, 0xa887, 0x0004, 0x0c38, 0xa887, + 0x0007, 0x0c20, 0x2091, 0x8000, 0x0e04, 0x7a54, 0x0006, 0x0016, + 0x2001, 0x8003, 0x0006, 0x0804, 0x0d6e, 0x2001, 0x1833, 0x2004, + 0x9005, 0x0005, 0x0005, 0x00f6, 0x2079, 0x0300, 0x2001, 0x0200, + 0x200c, 0xc1e5, 0xc1dc, 0x2102, 0x2009, 0x0218, 0x210c, 0xd1ec, + 0x1120, 0x080c, 0x1547, 0x00fe, 0x0005, 0x2001, 0x020d, 0x2003, + 0x0020, 0x781f, 0x0300, 0x00fe, 0x0005, 0x781c, 0xd08c, 0x0904, + 0x7ad5, 0x68bc, 0x90aa, 0x0005, 0x0a04, 0x807e, 0x7d44, 0x7c40, + 0xd59c, 0x190c, 0x0d65, 0x9584, 0x00f6, 0x1508, 0x9484, 0x7000, + 0x0138, 0x908a, 0x2000, 0x1258, 0x9584, 0x0700, 0x8007, 0x04f0, + 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x0db0, 0x00b0, 0x9484, + 0x0fff, 0x1130, 0x7000, 0x9084, 0xff00, 0x9086, 0x8100, 0x11c0, + 0x080c, 0xd61c, 0x080c, 0x7fb5, 0x7817, 0x0140, 0x00a8, 0x9584, + 0x0076, 0x1118, 0x080c, 0x8011, 0x19c8, 0xd5a4, 0x0148, 0x0046, + 0x0056, 0x080c, 0x7b25, 0x080c, 0x1fe0, 0x005e, 0x004e, 0x0020, + 0x080c, 0xd61c, 0x7817, 0x0140, 0x080c, 0x70ba, 0x0168, 0x2001, + 0x0111, 0x2004, 0xd08c, 0x0140, 0x688f, 0x0000, 0x2001, 0x0110, + 0x2003, 0x0008, 0x2003, 0x0000, 0x0489, 0x0005, 0x0002, 0x7ae2, + 0x7dd7, 0x7adf, 0x7adf, 0x7adf, 0x7adf, 0x7adf, 0x7adf, 0x7817, + 0x0140, 0x0005, 0x7000, 0x908c, 0xff00, 0x9194, 0xf000, 0x810f, + 0x9484, 0x0fff, 0x688e, 0x9286, 0x2000, 0x1150, 0x6800, 0x9086, + 0x0001, 0x1118, 0x080c, 0x5409, 0x0070, 0x080c, 0x7b45, 0x0058, + 0x9286, 0x3000, 0x1118, 0x080c, 0x7d14, 0x0028, 0x9286, 0x8000, + 0x1110, 0x080c, 0x7eeb, 0x7817, 0x0140, 0x0005, 0x2001, 0x1810, + 0x2004, 0xd08c, 0x0178, 0x2001, 0x1800, 0x2004, 0x9086, 0x0003, + 0x1148, 0x0026, 0x0036, 0x2011, 0x8048, 0x2518, 0x080c, 0x48fa, + 0x003e, 0x002e, 0x0005, 0x0036, 0x0046, 0x0056, 0x00f6, 0x2079, + 0x0200, 0x2019, 0xfffe, 0x7c30, 0x0050, 0x0036, 0x0046, 0x0056, + 0x00f6, 0x2079, 0x0200, 0x7d44, 0x7c40, 0x2019, 0xffff, 0x2001, + 0x1810, 0x2004, 0xd08c, 0x0160, 0x2001, 0x1800, 0x2004, 0x9086, + 0x0003, 0x1130, 0x0026, 0x2011, 0x8048, 0x080c, 0x48fa, 0x002e, + 0x00fe, 0x005e, 0x004e, 0x003e, 0x0005, 0x00b6, 0x00c6, 0x7010, + 0x9084, 0xff00, 0x8007, 0x9096, 0x0001, 0x0120, 0x9096, 0x0023, + 0x1904, 0x7ce5, 0x9186, 0x0023, 0x15c0, 0x080c, 0x7f80, 0x0904, + 0x7ce5, 0x6120, 0x9186, 0x0001, 0x0150, 0x9186, 0x0004, 0x0138, + 0x9186, 0x0008, 0x0120, 0x9186, 0x000a, 0x1904, 0x7ce5, 0x7124, + 0x610a, 0x7030, 0x908e, 0x0200, 0x1130, 0x2009, 0x0015, 0x080c, + 0x9c82, 0x0804, 0x7ce5, 0x908e, 0x0214, 0x0118, 0x908e, 0x0210, + 0x1130, 0x2009, 0x0015, 0x080c, 0x9c82, 0x0804, 0x7ce5, 0x908e, + 0x0100, 0x1904, 0x7ce5, 0x7034, 0x9005, 0x1904, 0x7ce5, 0x2009, + 0x0016, 0x080c, 0x9c82, 0x0804, 0x7ce5, 0x9186, 0x0022, 0x1904, + 0x7ce5, 0x7030, 0x908e, 0x0300, 0x1580, 0x68d8, 0xd0a4, 0x0528, + 0xc0b5, 0x68da, 0x7100, 0x918c, 0x00ff, 0x697a, 0x7004, 0x687e, + 0x00f6, 0x2079, 0x0100, 0x79e6, 0x78ea, 0x0006, 0x9084, 0x00ff, + 0x0016, 0x2008, 0x080c, 0x24a2, 0x7932, 0x7936, 0x001e, 0x000e, + 0x00fe, 0x080c, 0x2459, 0x695a, 0x703c, 0x00e6, 0x2071, 0x0140, + 0x7086, 0x2071, 0x1800, 0x70b2, 0x00ee, 0x7034, 0x9005, 0x1904, + 0x7ce5, 0x2009, 0x0017, 0x0804, 0x7c95, 0x908e, 0x0400, 0x1190, + 0x7034, 0x9005, 0x1904, 0x7ce5, 0x080c, 0x70ba, 0x0120, 0x2009, + 0x001d, 0x0804, 0x7c95, 0x68d8, 0xc0a5, 0x68da, 0x2009, 0x0030, + 0x0804, 0x7c95, 0x908e, 0x0500, 0x1140, 0x7034, 0x9005, 0x1904, + 0x7ce5, 0x2009, 0x0018, 0x0804, 0x7c95, 0x908e, 0x2010, 0x1120, + 0x2009, 0x0019, 0x0804, 0x7c95, 0x908e, 0x2110, 0x1120, 0x2009, + 0x001a, 0x0804, 0x7c95, 0x908e, 0x5200, 0x1140, 0x7034, 0x9005, + 0x1904, 0x7ce5, 0x2009, 0x001b, 0x0804, 0x7c95, 0x908e, 0x5000, + 0x1140, 0x7034, 0x9005, 0x1904, 0x7ce5, 0x2009, 0x001c, 0x0804, + 0x7c95, 0x908e, 0x1300, 0x1120, 0x2009, 0x0034, 0x0804, 0x7c95, + 0x908e, 0x1200, 0x1140, 0x7034, 0x9005, 0x1904, 0x7ce5, 0x2009, + 0x0024, 0x0804, 0x7c95, 0x908c, 0xff00, 0x918e, 0x2400, 0x1170, + 0x2009, 0x002d, 0x2001, 0x1810, 0x2004, 0xd09c, 0x0904, 0x7c95, + 0x080c, 0xc66b, 0x1904, 0x7ce5, 0x0804, 0x7c93, 0x908c, 0xff00, + 0x918e, 0x5300, 0x1120, 0x2009, 0x002a, 0x0804, 0x7c95, 0x908e, + 0x0f00, 0x1120, 0x2009, 0x0020, 0x0804, 0x7c95, 0x908e, 0x6104, + 0x1528, 0x2029, 0x0205, 0x2011, 0x026d, 0x8208, 0x2204, 0x9082, + 0x0004, 0x8004, 0x8004, 0x20a8, 0x2011, 0x8015, 0x211c, 0x8108, + 0x0046, 0x2124, 0x080c, 0x48fa, 0x004e, 0x8108, 0x0f04, 0x7c61, + 0x9186, 0x0280, 0x1d88, 0x2504, 0x8000, 0x202a, 0x2009, 0x0260, + 0x0c58, 0x202b, 0x0000, 0x2009, 0x0023, 0x0478, 0x908e, 0x6000, + 0x1118, 0x2009, 0x003f, 0x0448, 0x908e, 0x7800, 0x1118, 0x2009, + 0x0045, 0x0418, 0x908e, 0x1000, 0x1118, 0x2009, 0x004e, 0x00e8, + 0x908e, 0x6300, 0x1118, 0x2009, 0x004a, 0x00b8, 0x908c, 0xff00, + 0x918e, 0x5600, 0x1118, 0x2009, 0x004f, 0x0078, 0x908c, 0xff00, + 0x918e, 0x5700, 0x1118, 0x2009, 0x0050, 0x0038, 0x2009, 0x001d, + 0x6838, 0xd0d4, 0x0110, 0x2009, 0x004c, 0x0016, 0x2011, 0x0263, + 0x2204, 0x8211, 0x220c, 0x080c, 0x2459, 0x1904, 0x7ce8, 0x080c, + 0x622f, 0x1904, 0x7ce8, 0xbe12, 0xbd16, 0x001e, 0x0016, 0x080c, + 0x70ba, 0x01c0, 0x68d8, 0xd08c, 0x1148, 0x7000, 0x9084, 0x00ff, + 0x1188, 0x7004, 0x9084, 0xff00, 0x1168, 0x0040, 0x6878, 0x9606, + 0x1148, 0x687c, 0x9506, 0x9084, 0xff00, 0x1120, 0x9584, 0x00ff, + 0xb886, 0x0080, 0xb884, 0x9005, 0x1168, 0x9186, 0x0046, 0x1150, + 0x6878, 0x9606, 0x1138, 0x687c, 0x9506, 0x9084, 0xff00, 0x1110, + 0x001e, 0x0098, 0x080c, 0x9b90, 0x01a8, 0x2b08, 0x6112, 0x6023, + 0x0004, 0x7120, 0x610a, 0x001e, 0x9186, 0x004c, 0x1110, 0x6023, + 0x000a, 0x0016, 0x001e, 0x080c, 0x9c82, 0x00ce, 0x00be, 0x0005, + 0x001e, 0x0cd8, 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, + 0x8049, 0x080c, 0x48fa, 0x080c, 0x9c55, 0x0d90, 0x2b08, 0x6112, + 0x6023, 0x0004, 0x7120, 0x610a, 0x001e, 0x0016, 0x9186, 0x0017, + 0x0118, 0x9186, 0x0030, 0x1128, 0x6007, 0x0009, 0x6017, 0x2900, + 0x0020, 0x6007, 0x0051, 0x6017, 0x0000, 0x602f, 0x0009, 0x6003, + 0x0001, 0x080c, 0x84ee, 0x08a0, 0x080c, 0x3164, 0x1140, 0x7010, + 0x9084, 0xff00, 0x8007, 0x908e, 0x0008, 0x1108, 0x0009, 0x0005, + 0x00b6, 0x00c6, 0x0046, 0x7000, 0x908c, 0xff00, 0x810f, 0x9186, + 0x0033, 0x11e8, 0x080c, 0x7f80, 0x0904, 0x7d6f, 0x7124, 0x610a, + 0x7030, 0x908e, 0x0200, 0x1140, 0x7034, 0x9005, 0x15c0, 0x2009, + 0x0015, 0x080c, 0x9c82, 0x0498, 0x908e, 0x0100, 0x1580, 0x7034, + 0x9005, 0x1568, 0x2009, 0x0016, 0x080c, 0x9c82, 0x0440, 0x9186, + 0x0032, 0x1528, 0x7030, 0x908e, 0x1400, 0x1508, 0x2009, 0x0038, + 0x0016, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2459, + 0x11a8, 0x080c, 0x622f, 0x1190, 0xbe12, 0xbd16, 0x080c, 0x9b90, + 0x0168, 0x2b08, 0x6112, 0x080c, 0xbd09, 0x6023, 0x0004, 0x7120, + 0x610a, 0x001e, 0x080c, 0x9c82, 0x0010, 0x00ce, 0x001e, 0x004e, + 0x00ce, 0x00be, 0x0005, 0x00b6, 0x0046, 0x00e6, 0x00d6, 0x2028, + 0x2130, 0x9696, 0x00ff, 0x11b8, 0x9592, 0xfffc, 0x02a0, 0x9596, + 0xfffd, 0x1120, 0x2009, 0x007f, 0x0804, 0x7dd1, 0x9596, 0xfffe, + 0x1120, 0x2009, 0x007e, 0x0804, 0x7dd1, 0x9596, 0xfffc, 0x1118, + 0x2009, 0x0080, 0x04f0, 0x2011, 0x0000, 0x2019, 0x1836, 0x231c, + 0xd3ac, 0x0130, 0x9026, 0x20a9, 0x0800, 0x2071, 0x1000, 0x0030, + 0x2021, 0x0081, 0x20a9, 0x077f, 0x2071, 0x1081, 0x2e1c, 0x93dd, + 0x0000, 0x1140, 0x82ff, 0x11d0, 0x9496, 0x00ff, 0x01b8, 0x2410, + 0xc2fd, 0x00a0, 0xbf10, 0x2600, 0x9706, 0xb814, 0x1120, 0x9546, + 0x1110, 0x2408, 0x00b0, 0x9745, 0x1148, 0x94c6, 0x007e, 0x0130, + 0x94c6, 0x007f, 0x0118, 0x94c6, 0x0080, 0x1d20, 0x8420, 0x8e70, + 0x1f04, 0x7da6, 0x82ff, 0x1118, 0x9085, 0x0001, 0x0018, 0xc2fc, + 0x2208, 0x9006, 0x00de, 0x00ee, 0x004e, 0x00be, 0x0005, 0x7000, + 0x908c, 0xff00, 0x810f, 0x9184, 0x000f, 0x0002, 0x7dee, 0x7dee, + 0x7dee, 0x7f92, 0x7dee, 0x7df1, 0x7e16, 0x7e9f, 0x7dee, 0x7dee, + 0x7dee, 0x7dee, 0x7dee, 0x7dee, 0x7dee, 0x7dee, 0x7817, 0x0140, + 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x01e8, 0x7120, 0x2160, 0x9c8c, + 0x0003, 0x11c0, 0x9c8a, 0x1ddc, 0x02a8, 0x6864, 0x9c02, 0x1290, + 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, 0x1150, + 0x700c, 0xb914, 0x9106, 0x1130, 0x7124, 0x610a, 0x2009, 0x0046, + 0x080c, 0x9c82, 0x7817, 0x0140, 0x00be, 0x0005, 0x00b6, 0x00c6, + 0x9484, 0x0fff, 0x0904, 0x7e7b, 0x7110, 0xd1bc, 0x1904, 0x7e7b, + 0x7108, 0x700c, 0x2028, 0x918c, 0x00ff, 0x2130, 0x9094, 0xff00, + 0x15c8, 0x81ff, 0x15b8, 0x9080, 0x319f, 0x200d, 0x918c, 0xff00, + 0x810f, 0x2001, 0x0080, 0x9106, 0x0904, 0x7e7b, 0x9182, 0x0801, + 0x1a04, 0x7e7b, 0x9190, 0x1000, 0x2204, 0x905d, 0x05e0, 0xbe12, + 0xbd16, 0xb800, 0xd0ec, 0x15b8, 0xba04, 0x9294, 0xff00, 0x9286, + 0x0600, 0x1190, 0x080c, 0x9b90, 0x0598, 0x2b08, 0x7028, 0x6052, + 0x702c, 0x604e, 0x6112, 0x6023, 0x0006, 0x7120, 0x610a, 0x7130, + 0x615e, 0x080c, 0xc8d2, 0x00f8, 0x080c, 0x668a, 0x1138, 0xb807, + 0x0606, 0x0c40, 0x190c, 0x7d73, 0x11b0, 0x0880, 0x080c, 0x9b90, + 0x2b08, 0x0188, 0x6112, 0x6023, 0x0004, 0x7120, 0x610a, 0x9286, + 0x0400, 0x1118, 0x6007, 0x0005, 0x0010, 0x6007, 0x0001, 0x6003, + 0x0001, 0x080c, 0x84ee, 0x7817, 0x0140, 0x00ce, 0x00be, 0x0005, + 0x2001, 0x180e, 0x2004, 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, + 0x48fa, 0x080c, 0x9c55, 0x0d78, 0x2b08, 0x6112, 0x6023, 0x0006, + 0x7120, 0x610a, 0x7130, 0x615e, 0x6017, 0xf300, 0x6003, 0x0001, + 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x84e7, 0x08e0, 0x00b6, + 0x7110, 0xd1bc, 0x05d0, 0x7020, 0x2060, 0x9c84, 0x0003, 0x15a8, + 0x9c82, 0x1ddc, 0x0690, 0x6864, 0x9c02, 0x1678, 0x9484, 0x0fff, + 0x9082, 0x000c, 0x0650, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, + 0xb910, 0x9106, 0x1510, 0x700c, 0xb914, 0x9106, 0x11f0, 0x7124, + 0x610a, 0x601c, 0xd0fc, 0x11c8, 0x2001, 0x0271, 0x2004, 0x9005, + 0x1180, 0x9484, 0x0fff, 0x9082, 0x000c, 0x0158, 0x0066, 0x2031, + 0x0100, 0xa001, 0xa001, 0x8631, 0x1de0, 0x006e, 0x601c, 0xd0fc, + 0x1120, 0x2009, 0x0045, 0x080c, 0x9c82, 0x7817, 0x0140, 0x00be, + 0x0005, 0x6120, 0x9186, 0x0002, 0x0128, 0x9186, 0x0005, 0x0110, + 0x9085, 0x0001, 0x0005, 0x080c, 0x3164, 0x1168, 0x7010, 0x9084, + 0xff00, 0x8007, 0x9086, 0x0000, 0x1130, 0x9184, 0x000f, 0x908a, + 0x0006, 0x1208, 0x000b, 0x0005, 0x7f02, 0x7f03, 0x7f02, 0x7f02, + 0x7f62, 0x7f71, 0x0005, 0x00b6, 0x7110, 0xd1bc, 0x0120, 0x702c, + 0xd084, 0x0904, 0x7f60, 0x700c, 0x7108, 0x080c, 0x2459, 0x1904, + 0x7f60, 0x080c, 0x622f, 0x1904, 0x7f60, 0xbe12, 0xbd16, 0x7110, + 0xd1bc, 0x01d8, 0x080c, 0x668a, 0x0118, 0x9086, 0x0004, 0x1588, + 0x00c6, 0x080c, 0x7f80, 0x00ce, 0x05d8, 0x080c, 0x9b90, 0x2b08, + 0x05b8, 0x6112, 0x080c, 0xbd09, 0x6023, 0x0002, 0x7120, 0x610a, + 0x2009, 0x0088, 0x080c, 0x9c82, 0x0458, 0x080c, 0x668a, 0x0148, + 0x9086, 0x0004, 0x0130, 0x080c, 0x6692, 0x0118, 0x9086, 0x0004, + 0x1180, 0x080c, 0x9b90, 0x2b08, 0x01d8, 0x6112, 0x080c, 0xbd09, + 0x6023, 0x0005, 0x7120, 0x610a, 0x2009, 0x0088, 0x080c, 0x9c82, + 0x0078, 0x080c, 0x9b90, 0x2b08, 0x0158, 0x6112, 0x080c, 0xbd09, + 0x6023, 0x0004, 0x7120, 0x610a, 0x2009, 0x0001, 0x080c, 0x9c82, + 0x00be, 0x0005, 0x7110, 0xd1bc, 0x0158, 0x00d1, 0x0148, 0x080c, + 0x7ee1, 0x1130, 0x7124, 0x610a, 0x2009, 0x0089, 0x080c, 0x9c82, + 0x0005, 0x7110, 0xd1bc, 0x0158, 0x0059, 0x0148, 0x080c, 0x7ee1, + 0x1130, 0x7124, 0x610a, 0x2009, 0x008a, 0x080c, 0x9c82, 0x0005, + 0x7020, 0x2060, 0x9c84, 0x0003, 0x1158, 0x9c82, 0x1ddc, 0x0240, + 0x2001, 0x1819, 0x2004, 0x9c02, 0x1218, 0x9085, 0x0001, 0x0005, + 0x9006, 0x0ce8, 0x00b6, 0x7110, 0xd1bc, 0x11d8, 0x7024, 0x2060, + 0x9c84, 0x0003, 0x11b0, 0x9c82, 0x1ddc, 0x0298, 0x6864, 0x9c02, + 0x1280, 0x7008, 0x9084, 0x00ff, 0x6110, 0x2158, 0xb910, 0x9106, + 0x1140, 0x700c, 0xb914, 0x9106, 0x1120, 0x2009, 0x0051, 0x080c, + 0x9c82, 0x7817, 0x0140, 0x00be, 0x0005, 0x2031, 0x0105, 0x0069, + 0x0005, 0x2031, 0x0206, 0x0049, 0x0005, 0x2031, 0x0207, 0x0029, + 0x0005, 0x2031, 0x0213, 0x0009, 0x0005, 0x00c6, 0x0096, 0x00f6, + 0x7000, 0x9084, 0xf000, 0x9086, 0xc000, 0x05c0, 0x080c, 0x9b90, + 0x05a8, 0x0066, 0x00c6, 0x0046, 0x2011, 0x0263, 0x2204, 0x8211, + 0x220c, 0x080c, 0x2459, 0x1590, 0x080c, 0x622f, 0x1578, 0xbe12, + 0xbd16, 0x2b00, 0x004e, 0x00ce, 0x6012, 0x080c, 0xbd09, 0x080c, + 0x102f, 0x0500, 0x2900, 0x6062, 0x9006, 0xa802, 0xa866, 0xac6a, + 0xa85c, 0x90f8, 0x001b, 0x20a9, 0x000e, 0xa860, 0x20e8, 0x20e1, + 0x0000, 0x2fa0, 0x2e98, 0x4003, 0x006e, 0x6616, 0x6007, 0x003e, + 0x6023, 0x0001, 0x6003, 0x0001, 0x080c, 0x84ee, 0x00fe, 0x009e, + 0x00ce, 0x0005, 0x080c, 0x9be6, 0x006e, 0x0cc0, 0x004e, 0x00ce, + 0x0cc8, 0x00c6, 0x7000, 0x908c, 0xff00, 0x9184, 0xf000, 0x810f, + 0x9086, 0x2000, 0x1904, 0x8068, 0x9186, 0x0022, 0x15f0, 0x2001, + 0x0111, 0x2004, 0x9005, 0x1904, 0x806a, 0x7030, 0x908e, 0x0400, + 0x0904, 0x806a, 0x908e, 0x6000, 0x05e8, 0x908e, 0x5400, 0x05d0, + 0x908e, 0x0300, 0x11d8, 0x2009, 0x1836, 0x210c, 0xd18c, 0x1590, + 0xd1a4, 0x1580, 0x080c, 0x6648, 0x0588, 0x68ac, 0x9084, 0x00ff, + 0x7100, 0x918c, 0x00ff, 0x9106, 0x1518, 0x687c, 0x69ac, 0x918c, + 0xff00, 0x9105, 0x7104, 0x9106, 0x11d8, 0x00e0, 0x2009, 0x0103, + 0x210c, 0xd1b4, 0x11a8, 0x908e, 0x5200, 0x09e8, 0x908e, 0x0500, + 0x09d0, 0x908e, 0x5000, 0x09b8, 0x0058, 0x9186, 0x0023, 0x1140, + 0x080c, 0x7f80, 0x0128, 0x6004, 0x9086, 0x0002, 0x0118, 0x0000, + 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, 0x0005, 0x7030, 0x908e, + 0x0300, 0x0118, 0x908e, 0x5200, 0x1d98, 0x2001, 0x1836, 0x2004, + 0x9084, 0x0009, 0x9086, 0x0008, 0x0d68, 0x0c50, 0x00f6, 0x2079, + 0x0200, 0x7800, 0xc0e5, 0xc0cc, 0x7802, 0x00fe, 0x0005, 0x00f6, + 0x2079, 0x1800, 0x7834, 0xd084, 0x1130, 0x2079, 0x0200, 0x7800, + 0x9085, 0x1200, 0x7802, 0x00fe, 0x0005, 0x00e6, 0x2071, 0x1800, + 0x7034, 0xc084, 0x7036, 0x00ee, 0x0005, 0x2071, 0x19db, 0x7003, + 0x0003, 0x700f, 0x0361, 0x9006, 0x701a, 0x7072, 0x7012, 0x7017, + 0x1ddc, 0x7007, 0x0000, 0x7026, 0x702b, 0x8ff0, 0x7032, 0x7037, + 0x906d, 0x703f, 0xffff, 0x7042, 0x7047, 0x523f, 0x704a, 0x705b, + 0x8239, 0x080c, 0x1048, 0x090c, 0x0d65, 0x2900, 0x703a, 0xa867, + 0x0003, 0xa86f, 0x0100, 0xa8ab, 0xdcb0, 0x0005, 0x2071, 0x19db, + 0x1d04, 0x815b, 0x2091, 0x6000, 0x700c, 0x8001, 0x700e, 0x1560, + 0x2001, 0x187d, 0x2004, 0xd0c4, 0x0158, 0x3a00, 0xd08c, 0x1140, + 0x20d1, 0x0000, 0x20d1, 0x0001, 0x20d1, 0x0000, 0x080c, 0x0d65, + 0x700f, 0x0361, 0x7007, 0x0001, 0x0126, 0x2091, 0x8000, 0x2069, + 0x1800, 0x69e8, 0xd1e4, 0x1138, 0xd1dc, 0x1118, 0x080c, 0x82a7, + 0x0010, 0x080c, 0x827e, 0x7040, 0x900d, 0x0148, 0x8109, 0x7142, + 0x1130, 0x7044, 0x080f, 0x0018, 0x0126, 0x2091, 0x8000, 0x7024, + 0x900d, 0x0188, 0x7020, 0x8001, 0x7022, 0x1168, 0x7023, 0x0009, + 0x8109, 0x7126, 0x9186, 0x03e8, 0x1110, 0x7028, 0x080f, 0x81ff, + 0x1110, 0x7028, 0x080f, 0x7030, 0x900d, 0x0180, 0x702c, 0x8001, + 0x702e, 0x1160, 0x702f, 0x0009, 0x8109, 0x7132, 0x0128, 0x9184, + 0x007f, 0x090c, 0x90f5, 0x0010, 0x7034, 0x080f, 0x703c, 0x9005, + 0x0118, 0x0310, 0x8001, 0x703e, 0x704c, 0x900d, 0x0168, 0x7048, + 0x8001, 0x704a, 0x1148, 0x704b, 0x0009, 0x8109, 0x714e, 0x1120, + 0x7150, 0x714e, 0x7058, 0x080f, 0x7018, 0x900d, 0x01d8, 0x0016, + 0x7070, 0x900d, 0x0158, 0x706c, 0x8001, 0x706e, 0x1138, 0x706f, + 0x0009, 0x8109, 0x7172, 0x1110, 0x7074, 0x080f, 0x001e, 0x7008, + 0x8001, 0x700a, 0x1138, 0x700b, 0x0009, 0x8109, 0x711a, 0x1110, + 0x701c, 0x080f, 0x012e, 0x7004, 0x0002, 0x8183, 0x8184, 0x81ae, + 0x00e6, 0x2071, 0x19db, 0x7018, 0x9005, 0x1120, 0x711a, 0x721e, + 0x700b, 0x0009, 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x19db, + 0x701c, 0x9206, 0x1120, 0x701a, 0x701e, 0x7072, 0x7076, 0x000e, + 0x00ee, 0x0005, 0x00e6, 0x2071, 0x19db, 0xb888, 0x9102, 0x0208, + 0xb98a, 0x00ee, 0x0005, 0x0005, 0x00b6, 0x2031, 0x0010, 0x7110, + 0x080c, 0x628f, 0x11a8, 0xb888, 0x8001, 0x0290, 0xb88a, 0x1180, + 0x0126, 0x2091, 0x8000, 0x0066, 0xb8c0, 0x9005, 0x0138, 0x0026, + 0xba3c, 0x0016, 0x080c, 0x63ba, 0x001e, 0x002e, 0x006e, 0x012e, + 0x8108, 0x9182, 0x0800, 0x1220, 0x8631, 0x0128, 0x7112, 0x0c00, + 0x900e, 0x7007, 0x0002, 0x7112, 0x00be, 0x0005, 0x2031, 0x0010, + 0x7014, 0x2060, 0x0126, 0x2091, 0x8000, 0x6048, 0x9005, 0x0128, + 0x8001, 0x604a, 0x1110, 0x080c, 0xbb8a, 0x6018, 0x9005, 0x0904, + 0x8200, 0x00f6, 0x2079, 0x0300, 0x7918, 0xd1b4, 0x1904, 0x8213, + 0x781b, 0x2020, 0xa001, 0x7918, 0xd1b4, 0x0120, 0x781b, 0x2000, + 0x0804, 0x8213, 0x8001, 0x601a, 0x0106, 0x781b, 0x2000, 0xa001, + 0x7918, 0xd1ac, 0x1dd0, 0x010e, 0x00fe, 0x1510, 0x6120, 0x9186, + 0x0003, 0x0118, 0x9186, 0x0006, 0x11c8, 0x080c, 0xb870, 0x01b0, + 0x6014, 0x2048, 0xa884, 0x908a, 0x199a, 0x0280, 0x9082, 0x1999, + 0xa886, 0x908a, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, 0x800b, + 0x810b, 0x9108, 0x611a, 0x080c, 0xbfbb, 0x0110, 0x080c, 0xb551, + 0x012e, 0x9c88, 0x001c, 0x7116, 0x2001, 0x1819, 0x2004, 0x9102, + 0x1228, 0x8631, 0x0138, 0x2160, 0x0804, 0x81b2, 0x7017, 0x1ddc, + 0x7007, 0x0000, 0x0005, 0x00fe, 0x0c58, 0x00e6, 0x2071, 0x19db, + 0x7027, 0x07d0, 0x7023, 0x0009, 0x00ee, 0x0005, 0x2001, 0x19e4, + 0x2003, 0x0000, 0x0005, 0x00e6, 0x2071, 0x19db, 0x7132, 0x702f, + 0x0009, 0x00ee, 0x0005, 0x2011, 0x19e7, 0x2013, 0x0000, 0x0005, + 0x00e6, 0x2071, 0x19db, 0x711a, 0x721e, 0x700b, 0x0009, 0x00ee, + 0x0005, 0x0086, 0x0026, 0x7054, 0x8000, 0x7056, 0x2001, 0x19e9, + 0x2044, 0xa06c, 0x9086, 0x0000, 0x0150, 0x7068, 0xa09a, 0x7064, + 0xa096, 0x7060, 0xa092, 0x705c, 0xa08e, 0x080c, 0x1124, 0x002e, + 0x008e, 0x0005, 0x0006, 0x0016, 0x0096, 0x00a6, 0x00b6, 0x00c6, + 0x00d6, 0x00e6, 0x00f6, 0x0156, 0x080c, 0x80c6, 0x015e, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x00be, 0x00ae, 0x009e, 0x001e, 0x000e, + 0x0005, 0x00e6, 0x2071, 0x19db, 0x7172, 0x7276, 0x706f, 0x0009, + 0x00ee, 0x0005, 0x00e6, 0x0006, 0x2071, 0x19db, 0x7074, 0x9206, + 0x1110, 0x7072, 0x7076, 0x000e, 0x00ee, 0x0005, 0x2069, 0x1800, + 0x69e8, 0xd1e4, 0x1518, 0x0026, 0xd1ec, 0x0140, 0x6a50, 0x6870, + 0x9202, 0x0288, 0x8117, 0x9294, 0x00c1, 0x0088, 0x9184, 0x0007, + 0x01a0, 0x8109, 0x9184, 0x0007, 0x0110, 0x69ea, 0x0070, 0x8107, + 0x9084, 0x0007, 0x910d, 0x8107, 0x9106, 0x9094, 0x00c1, 0x9184, + 0xff3e, 0x9205, 0x68ea, 0x080c, 0x0efa, 0x002e, 0x0005, 0x69e4, + 0x9184, 0x003f, 0x05b8, 0x8109, 0x9184, 0x003f, 0x01a8, 0x6a50, + 0x6870, 0x9202, 0x0220, 0xd1bc, 0x0168, 0xc1bc, 0x0018, 0xd1bc, + 0x1148, 0xc1bd, 0x2110, 0x00e6, 0x2071, 0x1800, 0x080c, 0x0f1c, + 0x00ee, 0x0400, 0x69e6, 0x00f0, 0x0026, 0x8107, 0x9094, 0x0007, + 0x0128, 0x8001, 0x8007, 0x9085, 0x0007, 0x0050, 0x2010, 0x8004, + 0x8004, 0x8004, 0x9084, 0x0007, 0x9205, 0x8007, 0x9085, 0x0028, + 0x9086, 0x0040, 0x2010, 0x00e6, 0x2071, 0x1800, 0x080c, 0x0f1c, + 0x00ee, 0x002e, 0x0005, 0x00c6, 0x2061, 0x1a46, 0x00ce, 0x0005, + 0x9184, 0x000f, 0x8003, 0x8003, 0x8003, 0x9080, 0x1a46, 0x2060, + 0x0005, 0xa884, 0x908a, 0x199a, 0x1638, 0x9005, 0x1150, 0x00c6, + 0x2061, 0x1a46, 0x6014, 0x00ce, 0x9005, 0x1130, 0x2001, 0x001e, + 0x0018, 0x908e, 0xffff, 0x01b0, 0x8003, 0x800b, 0x810b, 0x9108, + 0x611a, 0xa87c, 0x908c, 0x00c0, 0x918e, 0x00c0, 0x0904, 0x83ab, + 0xd0b4, 0x1168, 0xd0bc, 0x1904, 0x8384, 0x2009, 0x0006, 0x080c, + 0x83d8, 0x0005, 0x900e, 0x0c60, 0x2001, 0x1999, 0x08b0, 0xd0fc, + 0x05e0, 0x908c, 0x2023, 0x1568, 0x87ff, 0x1558, 0xa9a8, 0x81ff, + 0x1540, 0x6124, 0x918c, 0x0500, 0x1520, 0x6100, 0x918e, 0x0007, + 0x1500, 0x2009, 0x187d, 0x210c, 0xd184, 0x11d8, 0x6003, 0x0003, + 0x6007, 0x0043, 0x6047, 0xb035, 0x080c, 0x1aca, 0xa87c, 0xc0dd, + 0xa87e, 0x600f, 0x0000, 0x00f6, 0x2079, 0x0380, 0x7818, 0xd0bc, + 0x1de8, 0x7833, 0x0013, 0x2c00, 0x7836, 0x781b, 0x8080, 0x00fe, + 0x0005, 0x908c, 0x0003, 0x0120, 0x918e, 0x0003, 0x1904, 0x83d2, + 0x908c, 0x2020, 0x918e, 0x2020, 0x01a8, 0x6024, 0xd0d4, 0x11e8, + 0x2009, 0x187d, 0x2104, 0xd084, 0x1138, 0x87ff, 0x1120, 0x2009, + 0x0043, 0x0804, 0x9c82, 0x0005, 0x87ff, 0x1de8, 0x2009, 0x0042, + 0x0804, 0x9c82, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, + 0x0d20, 0x6024, 0xc0cd, 0x6026, 0x0c00, 0xc0d4, 0x6026, 0xa890, + 0x602e, 0xa88c, 0x6032, 0x08e0, 0xd0fc, 0x0160, 0x908c, 0x0003, + 0x0120, 0x918e, 0x0003, 0x1904, 0x83d2, 0x908c, 0x2020, 0x918e, + 0x2020, 0x0170, 0x0076, 0x00f6, 0x2c78, 0x080c, 0x1669, 0x00fe, + 0x007e, 0x87ff, 0x1120, 0x2009, 0x0042, 0x080c, 0x9c82, 0x0005, + 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d58, 0x6124, + 0xc1cd, 0x6126, 0x0c38, 0xd0fc, 0x0188, 0x908c, 0x2020, 0x918e, + 0x2020, 0x01a8, 0x9084, 0x0003, 0x908e, 0x0002, 0x0148, 0x87ff, + 0x1120, 0x2009, 0x0041, 0x080c, 0x9c82, 0x0005, 0x00b9, 0x0ce8, + 0x87ff, 0x1dd8, 0x2009, 0x0043, 0x080c, 0x9c82, 0x0cb0, 0x6110, + 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1ac, 0x0d20, 0x6124, 0xc1cd, + 0x6126, 0x0c00, 0x2009, 0x0004, 0x0019, 0x0005, 0x2009, 0x0001, + 0x0096, 0x080c, 0xb870, 0x0518, 0x6014, 0x2048, 0xa982, 0xa800, + 0x6016, 0x9186, 0x0001, 0x1188, 0xa97c, 0x918c, 0x8100, 0x918e, + 0x8100, 0x1158, 0x00c6, 0x2061, 0x1a46, 0x6200, 0xd28c, 0x1120, + 0x6204, 0x8210, 0x0208, 0x6206, 0x00ce, 0x080c, 0x67ea, 0x6014, + 0x904d, 0x0076, 0x2039, 0x0000, 0x190c, 0x82f1, 0x007e, 0x009e, + 0x0005, 0x0156, 0x00c6, 0x2061, 0x1a46, 0x6000, 0x81ff, 0x0110, + 0x9205, 0x0008, 0x9204, 0x6002, 0x00ce, 0x015e, 0x0005, 0x6800, + 0xd08c, 0x1138, 0x6808, 0x9005, 0x0120, 0x8001, 0x680a, 0x9085, + 0x0001, 0x0005, 0x0126, 0x2091, 0x8000, 0x0036, 0x0046, 0x20a9, + 0x0010, 0x9006, 0x8004, 0x8086, 0x818e, 0x1208, 0x9200, 0x1f04, + 0x8423, 0x8086, 0x818e, 0x004e, 0x003e, 0x012e, 0x0005, 0x0126, + 0x2091, 0x8000, 0x0076, 0x0156, 0x20a9, 0x0010, 0x9005, 0x01c8, + 0x911a, 0x12b8, 0x8213, 0x818d, 0x0228, 0x911a, 0x1220, 0x1f04, + 0x843a, 0x0028, 0x911a, 0x2308, 0x8210, 0x1f04, 0x843a, 0x0006, + 0x3200, 0x9084, 0xefff, 0x2080, 0x000e, 0x015e, 0x007e, 0x012e, + 0x0005, 0x0006, 0x3200, 0x9085, 0x1000, 0x0ca8, 0x0126, 0x2091, + 0x2800, 0x2079, 0x19bf, 0x012e, 0x00d6, 0x2069, 0x19bf, 0x6803, + 0x0005, 0x0156, 0x0146, 0x01d6, 0x20e9, 0x0000, 0x2069, 0x0200, + 0x080c, 0x97f4, 0x04a9, 0x080c, 0x97df, 0x0491, 0x080c, 0x97e2, + 0x0479, 0x080c, 0x97e5, 0x0461, 0x080c, 0x97e8, 0x0449, 0x080c, + 0x97eb, 0x0431, 0x080c, 0x97ee, 0x0419, 0x080c, 0x97f1, 0x0401, + 0x01de, 0x014e, 0x015e, 0x6857, 0x0000, 0x00f6, 0x2079, 0x0380, + 0x00f9, 0x7807, 0x0003, 0x7803, 0x0000, 0x7803, 0x0001, 0x2069, + 0x0004, 0x2d04, 0x9084, 0xfffe, 0x9085, 0x8000, 0x206a, 0x2069, + 0x0100, 0x6828, 0x9084, 0xfffc, 0x682a, 0x00fe, 0x00de, 0x0005, + 0x20a9, 0x0020, 0x20a1, 0x0240, 0x2001, 0x0000, 0x4004, 0x0005, + 0x00c6, 0x7803, 0x0000, 0x9006, 0x7827, 0x0030, 0x782b, 0x0400, + 0x7827, 0x0031, 0x782b, 0x1ac6, 0x781f, 0xff00, 0x781b, 0xff00, + 0x2061, 0x1abb, 0x602f, 0x19bf, 0x6033, 0x1800, 0x6037, 0x19db, + 0x603b, 0x1d1c, 0x603f, 0x1d2c, 0x6042, 0x6047, 0x1a91, 0x00ce, + 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, + 0x01b0, 0x00c6, 0x6146, 0x600f, 0x0000, 0x2c08, 0x2061, 0x19bf, + 0x602c, 0x8000, 0x602e, 0x601c, 0x9005, 0x0130, 0x9080, 0x0003, + 0x2102, 0x611e, 0x00ce, 0x0005, 0x6122, 0x611e, 0x0cd8, 0x6146, + 0x2c08, 0x2001, 0x0012, 0x080c, 0x98b8, 0x0005, 0x0016, 0x2009, + 0x8020, 0x6146, 0x2c08, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x9086, 0x0001, 0x1128, 0x2001, 0x0019, 0x080c, 0x98b8, 0x0088, + 0x00c6, 0x2061, 0x19bf, 0x602c, 0x8000, 0x602e, 0x600c, 0x9005, + 0x0128, 0x9080, 0x0003, 0x2102, 0x610e, 0x0010, 0x6112, 0x610e, + 0x00ce, 0x001e, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x9086, 0x0001, 0x0198, 0x00c6, 0x6146, 0x600f, 0x0000, 0x2c08, + 0x2061, 0x19bf, 0x6044, 0x9005, 0x0130, 0x9080, 0x0003, 0x2102, + 0x6146, 0x00ce, 0x0005, 0x614a, 0x6146, 0x0cd8, 0x6146, 0x600f, + 0x0000, 0x2c08, 0x2001, 0x0013, 0x080c, 0x98b8, 0x0005, 0x6044, + 0xd0dc, 0x0110, 0x080c, 0x948d, 0x0005, 0x00f6, 0x00e6, 0x00d6, + 0x00c6, 0x00b6, 0x0096, 0x0076, 0x0066, 0x0056, 0x0036, 0x0026, + 0x0016, 0x0006, 0x0126, 0x902e, 0x2071, 0x19bf, 0x7648, 0x2660, + 0x2678, 0x2091, 0x8000, 0x8cff, 0x0904, 0x85ba, 0x6010, 0x2058, + 0xb8a0, 0x9206, 0x1904, 0x85b5, 0x87ff, 0x0120, 0x605c, 0x9106, + 0x1904, 0x85b5, 0x704c, 0x9c06, 0x1178, 0x0036, 0x2019, 0x0001, + 0x080c, 0x929d, 0x703f, 0x0000, 0x9006, 0x704e, 0x706a, 0x7052, + 0x706e, 0x003e, 0x2029, 0x0001, 0x0811, 0x7048, 0x9c36, 0x1110, + 0x660c, 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, + 0x2f00, 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, 0x0066, 0x2c00, + 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, + 0xb870, 0x01f0, 0x6014, 0x2048, 0x6020, 0x9086, 0x0003, 0x1588, + 0x6004, 0x9086, 0x0040, 0x090c, 0x948d, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x0016, 0x0036, 0x0076, 0x080c, 0xbb73, 0x080c, + 0xd563, 0x080c, 0x69b5, 0x007e, 0x003e, 0x001e, 0x080c, 0xba5f, + 0x080c, 0x9c20, 0x00ce, 0x0804, 0x8553, 0x2c78, 0x600c, 0x2060, + 0x0804, 0x8553, 0x012e, 0x000e, 0x001e, 0x002e, 0x003e, 0x005e, + 0x006e, 0x007e, 0x009e, 0x00be, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0076, + 0x080c, 0xd563, 0x080c, 0xd267, 0x007e, 0x003e, 0x001e, 0x08c0, + 0x6020, 0x9086, 0x000a, 0x0918, 0x0804, 0x8598, 0x0006, 0x0066, + 0x0096, 0x00c6, 0x00d6, 0x00f6, 0x9036, 0x0126, 0x2091, 0x8000, + 0x2079, 0x19bf, 0x7848, 0x9065, 0x0904, 0x8642, 0x600c, 0x0006, + 0x600f, 0x0000, 0x784c, 0x9c06, 0x11a0, 0x0036, 0x2019, 0x0001, + 0x080c, 0x929d, 0x783f, 0x0000, 0x901e, 0x7b4e, 0x7b6a, 0x7b52, + 0x7b6e, 0x003e, 0x000e, 0x9005, 0x1118, 0x600c, 0x600f, 0x0000, + 0x0006, 0x00e6, 0x2f70, 0x080c, 0x8537, 0x00ee, 0x080c, 0xb870, + 0x0548, 0x6014, 0x2048, 0x6020, 0x9086, 0x0003, 0x15a8, 0x3e08, + 0x918e, 0x0002, 0x1188, 0x6010, 0x9005, 0x0170, 0x00b6, 0x2058, + 0xb800, 0x00be, 0xd0bc, 0x0140, 0x6048, 0x9005, 0x11c0, 0x2001, + 0x1960, 0x2004, 0x604a, 0x0098, 0x6004, 0x9086, 0x0040, 0x090c, + 0x948d, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x69a9, + 0x080c, 0xba5f, 0x6044, 0xc0fc, 0x6046, 0x080c, 0x9c20, 0x000e, + 0x0804, 0x85eb, 0x7e4a, 0x7e46, 0x012e, 0x00fe, 0x00de, 0x00ce, + 0x009e, 0x006e, 0x000e, 0x0005, 0x6020, 0x9086, 0x0006, 0x1118, + 0x080c, 0xd267, 0x0c38, 0x6020, 0x9086, 0x000a, 0x09e0, 0x08a0, + 0x0016, 0x0026, 0x0086, 0x9046, 0x00a9, 0x080c, 0x8749, 0x008e, + 0x002e, 0x001e, 0x0005, 0x00f6, 0x0126, 0x2079, 0x19bf, 0x2091, + 0x8000, 0x080c, 0x8792, 0x080c, 0x8826, 0x080c, 0x641c, 0x012e, + 0x00fe, 0x0005, 0x00b6, 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, + 0x0066, 0x0016, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, + 0x7620, 0x2660, 0x2678, 0x8cff, 0x0904, 0x870e, 0x6010, 0x2058, + 0xb8a0, 0x9206, 0x1904, 0x8709, 0x88ff, 0x0120, 0x605c, 0x9106, + 0x1904, 0x8709, 0x7030, 0x9c06, 0x1570, 0x2069, 0x0100, 0x6820, + 0xd0a4, 0x1508, 0x080c, 0x821e, 0x080c, 0x8fd0, 0x68c3, 0x0000, + 0x080c, 0x948d, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, + 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2872, 0x9006, + 0x080c, 0x2872, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x003e, 0x0040, 0x7008, 0xc0ad, 0x700a, 0x6003, 0x0009, + 0x630a, 0x0804, 0x8709, 0x7020, 0x9c36, 0x1110, 0x660c, 0x7622, + 0x701c, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x701e, + 0x0010, 0x701f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, + 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x6044, 0xc0fc, 0x6046, + 0x6014, 0x2048, 0x080c, 0xb870, 0x01e8, 0x6020, 0x9086, 0x0003, + 0x1580, 0x080c, 0xba85, 0x1118, 0x080c, 0xa59c, 0x0098, 0xa867, + 0x0103, 0xab7a, 0xa877, 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, + 0xbb73, 0x080c, 0xd563, 0x080c, 0x69b5, 0x008e, 0x003e, 0x001e, + 0x080c, 0xba5f, 0x080c, 0x9c20, 0x080c, 0x9363, 0x00ce, 0x0804, + 0x8683, 0x2c78, 0x600c, 0x2060, 0x0804, 0x8683, 0x012e, 0x000e, + 0x001e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, 0x00be, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1158, 0x0016, 0x0036, 0x0086, + 0x080c, 0xd563, 0x080c, 0xd267, 0x008e, 0x003e, 0x001e, 0x08d0, + 0x080c, 0xa59c, 0x6020, 0x9086, 0x0002, 0x1160, 0x6004, 0x0006, + 0x9086, 0x0085, 0x000e, 0x0904, 0x86ef, 0x9086, 0x008b, 0x0904, + 0x86ef, 0x0840, 0x6020, 0x9086, 0x0005, 0x1920, 0x6004, 0x0006, + 0x9086, 0x0085, 0x000e, 0x09c8, 0x9086, 0x008b, 0x09b0, 0x0804, + 0x8702, 0x0006, 0x00f6, 0x00e6, 0x0096, 0x00b6, 0x00c6, 0x0066, + 0x0016, 0x0126, 0x2091, 0x8000, 0x9280, 0x1000, 0x2004, 0x905d, + 0x2079, 0x19bf, 0x9036, 0x7828, 0x2060, 0x8cff, 0x0538, 0x6010, + 0x9b06, 0x1500, 0x6043, 0xffff, 0x080c, 0x9a83, 0x01d8, 0x610c, + 0x0016, 0x080c, 0x9127, 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x0016, 0x0036, 0x0086, 0x080c, 0xbb73, 0x080c, + 0xd563, 0x080c, 0x69b5, 0x008e, 0x003e, 0x001e, 0x080c, 0x9c20, + 0x00ce, 0x08d8, 0x2c30, 0x600c, 0x2060, 0x08b8, 0x080c, 0x6439, + 0x012e, 0x001e, 0x006e, 0x00ce, 0x00be, 0x009e, 0x00ee, 0x00fe, + 0x000e, 0x0005, 0x0096, 0x0006, 0x0066, 0x00c6, 0x00d6, 0x9036, + 0x7820, 0x9065, 0x0904, 0x87f9, 0x600c, 0x0006, 0x6044, 0xc0fc, + 0x6046, 0x600f, 0x0000, 0x7830, 0x9c06, 0x1588, 0x2069, 0x0100, + 0x6820, 0xd0a4, 0x1508, 0x080c, 0x821e, 0x080c, 0x8fd0, 0x68c3, + 0x0000, 0x080c, 0x948d, 0x7833, 0x0000, 0x0036, 0x2069, 0x0140, + 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2872, + 0x9006, 0x080c, 0x2872, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, + 0x6827, 0x0001, 0x003e, 0x0058, 0x080c, 0x6640, 0x1538, 0x6003, + 0x0009, 0x630a, 0x7808, 0xc0ad, 0x780a, 0x2c30, 0x00f8, 0x6014, + 0x2048, 0x080c, 0xb86e, 0x01b0, 0x6020, 0x9086, 0x0003, 0x1508, + 0x080c, 0xba85, 0x1118, 0x080c, 0xa59c, 0x0060, 0x080c, 0x6640, + 0x1168, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x69b5, + 0x080c, 0xba5f, 0x080c, 0x9c20, 0x080c, 0x9363, 0x000e, 0x0804, + 0x8799, 0x7e22, 0x7e1e, 0x00de, 0x00ce, 0x006e, 0x000e, 0x009e, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1118, 0x080c, 0xd267, 0x0c50, + 0x080c, 0xa59c, 0x6020, 0x9086, 0x0002, 0x1150, 0x6004, 0x0006, + 0x9086, 0x0085, 0x000e, 0x0990, 0x9086, 0x008b, 0x0978, 0x08d0, + 0x6020, 0x9086, 0x0005, 0x19b0, 0x6004, 0x0006, 0x9086, 0x0085, + 0x000e, 0x0d18, 0x9086, 0x008b, 0x0d00, 0x0860, 0x0006, 0x0096, + 0x00b6, 0x00c6, 0x0066, 0x9036, 0x7828, 0x9065, 0x0510, 0x6010, + 0x2058, 0x600c, 0x0006, 0x3e08, 0x918e, 0x0002, 0x1118, 0xb800, + 0xd0bc, 0x11a8, 0x6043, 0xffff, 0x080c, 0x9a83, 0x0180, 0x610c, + 0x080c, 0x9127, 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, + 0x0000, 0x080c, 0x69b5, 0x080c, 0x9c20, 0x000e, 0x08f0, 0x2c30, + 0x0ce0, 0x006e, 0x00ce, 0x00be, 0x009e, 0x000e, 0x0005, 0x00e6, + 0x00d6, 0x0096, 0x0066, 0x080c, 0x5df1, 0x11b0, 0x2071, 0x19bf, + 0x7030, 0x9080, 0x0005, 0x2004, 0x904d, 0x0170, 0xa878, 0x9606, + 0x1158, 0x2071, 0x19bf, 0x7030, 0x9035, 0x0130, 0x9080, 0x0005, + 0x2004, 0x9906, 0x1108, 0x0029, 0x006e, 0x009e, 0x00de, 0x00ee, + 0x0005, 0x00c6, 0x2660, 0x6043, 0xffff, 0x080c, 0x9a83, 0x0178, + 0x080c, 0x9127, 0x6014, 0x2048, 0xa867, 0x0103, 0xab7a, 0xa877, + 0x0000, 0x080c, 0xbb73, 0x080c, 0x69b5, 0x080c, 0x9c20, 0x00ce, + 0x0005, 0x00b6, 0x00e6, 0x00c6, 0x080c, 0x98c7, 0x0106, 0x2071, + 0x0101, 0x2e04, 0xc0c4, 0x2072, 0x6044, 0xd0fc, 0x1138, 0x010e, + 0x090c, 0x98e3, 0x00ce, 0x00ee, 0x00be, 0x0005, 0x2071, 0x19bf, + 0x7030, 0x9005, 0x0da0, 0x9c06, 0x190c, 0x0d65, 0x7036, 0x080c, + 0x821e, 0x7004, 0x9084, 0x0007, 0x0002, 0x88bf, 0x88c1, 0x88c8, + 0x88d2, 0x88e0, 0x88bf, 0x88cd, 0x88bd, 0x080c, 0x0d65, 0x0428, + 0x0005, 0x080c, 0x9a6e, 0x7007, 0x0000, 0x7033, 0x0000, 0x00e8, + 0x0066, 0x9036, 0x080c, 0x9127, 0x006e, 0x7007, 0x0000, 0x7033, + 0x0000, 0x0098, 0x080c, 0x9a59, 0x0140, 0x080c, 0x9a6e, 0x0128, + 0x0066, 0x9036, 0x080c, 0x9127, 0x006e, 0x7033, 0x0000, 0x0028, + 0x080c, 0x9a59, 0x080c, 0x948d, 0x0000, 0x010e, 0x190c, 0x98e3, + 0x00ce, 0x00ee, 0x00be, 0x0005, 0x00d6, 0x00c6, 0x080c, 0x98c7, + 0x0106, 0x6044, 0xd0fc, 0x1130, 0x010e, 0x090c, 0x98e3, 0x00ce, + 0x00de, 0x0005, 0x2069, 0x19bf, 0x684c, 0x9005, 0x0da8, 0x9c06, + 0x190c, 0x0d65, 0x6852, 0x00e6, 0x2d70, 0x080c, 0x8537, 0x00ee, + 0x080c, 0x822b, 0x0016, 0x2009, 0x0040, 0x080c, 0x207b, 0x001e, + 0x683c, 0x9084, 0x0003, 0x0002, 0x891a, 0x891b, 0x8939, 0x8918, + 0x080c, 0x0d65, 0x0460, 0x6868, 0x9086, 0x0001, 0x0190, 0x600c, + 0x9015, 0x0160, 0x6a4a, 0x600f, 0x0000, 0x6044, 0xc0fc, 0x6046, + 0x9006, 0x7042, 0x684e, 0x683f, 0x0000, 0x00c8, 0x684a, 0x6846, + 0x0ca0, 0x686b, 0x0000, 0x6848, 0x9065, 0x0d78, 0x6003, 0x0002, + 0x0c60, 0x9006, 0x686a, 0x6852, 0x686e, 0x600c, 0x9015, 0x0120, + 0x6a4a, 0x600f, 0x0000, 0x0018, 0x684e, 0x684a, 0x6846, 0x684f, + 0x0000, 0x010e, 0x190c, 0x98e3, 0x00ce, 0x00de, 0x0005, 0x0005, + 0x6020, 0x9084, 0x000f, 0x000b, 0x0005, 0x8965, 0x8968, 0x8dc1, + 0x8e50, 0x8968, 0x8dc1, 0x8e50, 0x8965, 0x8968, 0x8965, 0x8965, + 0x8965, 0x8965, 0x8965, 0x8965, 0x8965, 0x080c, 0x8891, 0x0005, + 0x00b6, 0x0156, 0x0136, 0x0146, 0x01c6, 0x01d6, 0x00c6, 0x00d6, + 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, + 0x0053, 0x1a0c, 0x0d65, 0x6110, 0x2158, 0xb984, 0x2c78, 0x2061, + 0x0100, 0x619a, 0x908a, 0x0040, 0x1a04, 0x89d4, 0x005b, 0x00fe, + 0x00ee, 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, + 0x00be, 0x0005, 0x8b4b, 0x8b86, 0x8baf, 0x8c52, 0x8c73, 0x8c79, + 0x8c86, 0x8c8e, 0x8c9a, 0x8ca0, 0x8cb1, 0x8ca0, 0x8d08, 0x8c8e, + 0x8d14, 0x8d1a, 0x8c9a, 0x8d1a, 0x8d26, 0x89d2, 0x89d2, 0x89d2, + 0x89d2, 0x89d2, 0x89d2, 0x89d2, 0x89d2, 0x89d2, 0x89d2, 0x89d2, + 0x9148, 0x916b, 0x917c, 0x919c, 0x91ce, 0x8c86, 0x89d2, 0x8c86, + 0x8ca0, 0x89d2, 0x8baf, 0x8c52, 0x89d2, 0x958b, 0x8ca0, 0x89d2, + 0x95a7, 0x8ca0, 0x89d2, 0x8c9a, 0x8b45, 0x89f5, 0x89d2, 0x95c3, + 0x9630, 0x9714, 0x89d2, 0x9721, 0x8c83, 0x974c, 0x89d2, 0x91d8, + 0x9758, 0x89d2, 0x080c, 0x0d65, 0x2100, 0x005b, 0x00fe, 0x00ee, + 0x00de, 0x00ce, 0x01de, 0x01ce, 0x014e, 0x013e, 0x015e, 0x00be, + 0x0005, 0x89f3, 0x89f3, 0x89f3, 0x8a1c, 0x8ac8, 0x8ad3, 0x89f3, + 0x89f3, 0x89f3, 0x8b1a, 0x8b26, 0x8a37, 0x89f3, 0x8a52, 0x8a86, + 0x9ad9, 0x9b1e, 0x8ca0, 0x080c, 0x0d65, 0x00d6, 0x0096, 0x080c, + 0x8d39, 0x7003, 0x2414, 0x7007, 0x0018, 0x700b, 0x0800, 0x7814, + 0x2048, 0xa83c, 0x700e, 0xa850, 0x7022, 0xa854, 0x7026, 0x60c3, + 0x0018, 0x080c, 0x8fa0, 0x009e, 0x00de, 0x0005, 0x7810, 0x00b6, + 0x2058, 0xb8a0, 0x00be, 0x080c, 0x9b65, 0x1118, 0x9084, 0xff80, + 0x0110, 0x9085, 0x0001, 0x0005, 0x00d6, 0x0096, 0x080c, 0x8d39, + 0x7003, 0x0500, 0x7814, 0x2048, 0xa874, 0x700a, 0xa878, 0x700e, + 0xa87c, 0x7012, 0xa880, 0x7016, 0xa884, 0x701a, 0xa888, 0x701e, + 0x60c3, 0x0010, 0x080c, 0x8fa0, 0x009e, 0x00de, 0x0005, 0x00d6, + 0x0096, 0x080c, 0x8d39, 0x7003, 0x0500, 0x7814, 0x2048, 0xa8cc, + 0x700a, 0xa8d0, 0x700e, 0xa8d4, 0x7012, 0xa8d8, 0x7016, 0xa8dc, + 0x701a, 0xa8e0, 0x701e, 0x60c3, 0x0010, 0x080c, 0x8fa0, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, 0x0126, 0x2091, 0x8000, 0x080c, - 0x8d50, 0x20e9, 0x0000, 0x2001, 0x1973, 0x2003, 0x0000, 0x7814, - 0x2048, 0xa86f, 0x0200, 0xa873, 0x0000, 0xa814, 0x8003, 0x60c2, - 0xa830, 0x20a8, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, 0x2098, - 0x2001, 0x1973, 0x0016, 0x200c, 0x080c, 0xc59f, 0x001e, 0xa804, - 0x9005, 0x0110, 0x2048, 0x0c60, 0x0051, 0x7814, 0x2048, 0x080c, - 0x0fd4, 0x080c, 0x8f6c, 0x012e, 0x009e, 0x00de, 0x0005, 0x60c0, - 0x8004, 0x9084, 0x0003, 0x9005, 0x0130, 0x9082, 0x0004, 0x20a3, - 0x0000, 0x8000, 0x1de0, 0x0005, 0x080c, 0x8d05, 0x7003, 0x7800, - 0x7808, 0x8007, 0x700a, 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x00d6, - 0x00e6, 0x080c, 0x8d50, 0x7814, 0x9084, 0xff00, 0x2073, 0x0200, - 0x8e70, 0x8e70, 0x9095, 0x0010, 0x2272, 0x8e70, 0x2073, 0x0034, - 0x8e70, 0x2069, 0x1805, 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, - 0x1f04, 0x8ab5, 0x2069, 0x1801, 0x20a9, 0x0004, 0x2d76, 0x8d68, - 0x8e70, 0x1f04, 0x8abe, 0x2069, 0x1983, 0x9086, 0xdf00, 0x0110, - 0x2069, 0x199d, 0x20a9, 0x001a, 0x9e86, 0x0260, 0x1148, 0x00c6, - 0x2061, 0x0200, 0x6010, 0x8000, 0x6012, 0x00ce, 0x2071, 0x0240, - 0x2d04, 0x8007, 0x2072, 0x8d68, 0x8e70, 0x1f04, 0x8acc, 0x60c3, - 0x004c, 0x080c, 0x8f6c, 0x00ee, 0x00de, 0x0005, 0x080c, 0x8d05, - 0x7003, 0x6300, 0x7007, 0x0028, 0x7808, 0x700e, 0x60c3, 0x0008, - 0x0804, 0x8f6c, 0x00d6, 0x0026, 0x0016, 0x080c, 0x8d50, 0x7003, - 0x0200, 0x7814, 0x700e, 0x00e6, 0x9ef0, 0x0004, 0x2009, 0x0001, - 0x2011, 0x000c, 0x2073, 0x0800, 0x8e70, 0x2073, 0x0000, 0x00ee, - 0x7206, 0x710a, 0x62c2, 0x080c, 0x8f6c, 0x001e, 0x002e, 0x00de, - 0x0005, 0x2001, 0x1817, 0x2004, 0x609a, 0x0804, 0x8f6c, 0x080c, - 0x8d05, 0x7003, 0x5200, 0x2069, 0x1853, 0x6804, 0xd084, 0x0130, - 0x6828, 0x0016, 0x080c, 0x2470, 0x710e, 0x001e, 0x20a9, 0x0004, - 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, - 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x0254, 0x4003, - 0x080c, 0x9b59, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, - 0x181e, 0x2004, 0x7032, 0x2001, 0x181f, 0x2004, 0x7036, 0x0030, - 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x7036, 0x60c3, 0x001c, - 0x0804, 0x8f6c, 0x080c, 0x8d05, 0x7003, 0x0500, 0x080c, 0x9b59, - 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181e, 0x2004, - 0x700a, 0x2001, 0x181f, 0x2004, 0x700e, 0x0030, 0x2001, 0x1817, - 0x2004, 0x9084, 0x00ff, 0x700e, 0x20a9, 0x0004, 0x20e1, 0x0001, - 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x60c3, - 0x0010, 0x0804, 0x8f6c, 0x080c, 0x8d05, 0x9006, 0x080c, 0x6630, - 0xb8a0, 0x9086, 0x007e, 0x1130, 0x7003, 0x0400, 0x620c, 0xc2b4, - 0x620e, 0x0058, 0x7814, 0x0096, 0x904d, 0x0120, 0x9006, 0xa89a, - 0xa8a6, 0xa8aa, 0x009e, 0x7003, 0x0300, 0xb8a0, 0x9086, 0x007e, - 0x1904, 0x8be6, 0x00d6, 0x2069, 0x193c, 0x2001, 0x1836, 0x2004, - 0xd0a4, 0x0178, 0x6800, 0x700a, 0x6808, 0x9084, 0x2000, 0x7012, - 0x680c, 0x7016, 0x701f, 0x2710, 0x6818, 0x7022, 0x681c, 0x7026, - 0x0080, 0x6800, 0x700a, 0x6804, 0x700e, 0x6808, 0x080c, 0x7096, - 0x1118, 0x9084, 0x37ff, 0x0010, 0x9084, 0x3fff, 0x7012, 0x680c, - 0x7016, 0x00de, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, - 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, 0x2099, - 0x1801, 0x20a1, 0x025a, 0x4003, 0x00d6, 0x080c, 0x97d3, 0x2069, - 0x1944, 0x2071, 0x024e, 0x6800, 0xc0dd, 0x7002, 0x080c, 0x538c, - 0xd0e4, 0x0110, 0x680c, 0x700e, 0x00de, 0x04a0, 0x2001, 0x1836, - 0x2004, 0xd0a4, 0x0168, 0x0016, 0x2009, 0x0002, 0x60e0, 0x9106, - 0x0130, 0x2100, 0x60e3, 0x0000, 0x080c, 0x24b1, 0x61e2, 0x001e, - 0x20e1, 0x0001, 0x2099, 0x193c, 0x20e9, 0x0000, 0x20a1, 0x024e, - 0x20a9, 0x0008, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1805, 0x20a1, - 0x0256, 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, - 0x4003, 0x080c, 0x97d3, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x2099, - 0x1944, 0x4003, 0x60c3, 0x0074, 0x0804, 0x8f6c, 0x080c, 0x8d05, - 0x7003, 0x2010, 0x7007, 0x0014, 0x700b, 0x0800, 0x700f, 0x2000, - 0x9006, 0x00f6, 0x2079, 0x1853, 0x7904, 0x00fe, 0xd1ac, 0x1110, - 0x9085, 0x0020, 0x0010, 0x9085, 0x0010, 0x9085, 0x0002, 0x00d6, - 0x0804, 0x8cb5, 0x7026, 0x60c3, 0x0014, 0x0804, 0x8f6c, 0x080c, - 0x8d05, 0x7003, 0x5000, 0x0804, 0x8b95, 0x080c, 0x8d05, 0x7003, - 0x2110, 0x7007, 0x0014, 0x60c3, 0x0014, 0x0804, 0x8f6c, 0x080c, - 0x8d47, 0x0010, 0x080c, 0x8d50, 0x7003, 0x0200, 0x60c3, 0x0004, - 0x0804, 0x8f6c, 0x080c, 0x8d50, 0x7003, 0x0100, 0x700b, 0x0003, - 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x080c, 0x8d50, - 0x7003, 0x0200, 0x0804, 0x8b95, 0x080c, 0x8d50, 0x7003, 0x0100, - 0x782c, 0x9005, 0x0110, 0x700a, 0x0010, 0x700b, 0x0003, 0x7814, - 0x700e, 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x00d6, 0x080c, 0x8d50, - 0x7003, 0x0210, 0x7007, 0x0014, 0x700b, 0x0800, 0xb894, 0x9086, - 0x0014, 0x1198, 0xb99c, 0x9184, 0x0030, 0x0190, 0xb998, 0x9184, - 0xc000, 0x1140, 0xd1ec, 0x0118, 0x700f, 0x2100, 0x0058, 0x700f, - 0x0100, 0x0040, 0x700f, 0x0400, 0x0028, 0x700f, 0x0700, 0x0010, - 0x700f, 0x0800, 0x00f6, 0x2079, 0x1853, 0x7904, 0x00fe, 0xd1ac, - 0x1110, 0x9085, 0x0020, 0x0010, 0x9085, 0x0010, 0x2009, 0x1875, - 0x210c, 0xd184, 0x1110, 0x9085, 0x0002, 0x0026, 0x2009, 0x1873, - 0x210c, 0xd1e4, 0x0150, 0xc0c5, 0xbac4, 0xd28c, 0x1108, 0xc0cd, - 0x9094, 0x0030, 0x9296, 0x0010, 0x0140, 0xd1ec, 0x0130, 0x9094, - 0x0030, 0x9296, 0x0010, 0x0108, 0xc0bd, 0x002e, 0x7026, 0x60c3, - 0x0014, 0x00de, 0x0804, 0x8f6c, 0x080c, 0x8d50, 0x7003, 0x0210, - 0x7007, 0x0014, 0x700f, 0x0100, 0x60c3, 0x0014, 0x0804, 0x8f6c, - 0x080c, 0x8d50, 0x7003, 0x0200, 0x0804, 0x8b1b, 0x080c, 0x8d50, + 0x8d39, 0x20e9, 0x0000, 0x2001, 0x197b, 0x2003, 0x0000, 0x7814, + 0x2048, 0xa814, 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, + 0xa85c, 0x9080, 0x001b, 0x2098, 0x2001, 0x197b, 0x0016, 0x200c, + 0x2001, 0x0001, 0x080c, 0x2060, 0x080c, 0xc5cd, 0x9006, 0x080c, + 0x2060, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c28, 0x04d9, + 0x080c, 0x8fa0, 0x012e, 0x009e, 0x00de, 0x0005, 0x00d6, 0x0096, + 0x0126, 0x2091, 0x8000, 0x080c, 0x8d84, 0x20e9, 0x0000, 0x2001, + 0x197b, 0x2003, 0x0000, 0x7814, 0x2048, 0xa86f, 0x0200, 0xa873, + 0x0000, 0xa814, 0x8003, 0x60c2, 0xa830, 0x20a8, 0xa860, 0x20e0, + 0xa85c, 0x9080, 0x001b, 0x2098, 0x2001, 0x197b, 0x0016, 0x200c, + 0x080c, 0xc5cd, 0x001e, 0xa804, 0x9005, 0x0110, 0x2048, 0x0c60, + 0x0051, 0x7814, 0x2048, 0x080c, 0x0fe1, 0x080c, 0x8fa0, 0x012e, + 0x009e, 0x00de, 0x0005, 0x60c0, 0x8004, 0x9084, 0x0003, 0x9005, + 0x0130, 0x9082, 0x0004, 0x20a3, 0x0000, 0x8000, 0x1de0, 0x0005, + 0x080c, 0x8d39, 0x7003, 0x7800, 0x7808, 0x8007, 0x700a, 0x60c3, + 0x0008, 0x0804, 0x8fa0, 0x00d6, 0x00e6, 0x080c, 0x8d84, 0x7814, + 0x9084, 0xff00, 0x2073, 0x0200, 0x8e70, 0x8e70, 0x9095, 0x0010, + 0x2272, 0x8e70, 0x2073, 0x0034, 0x8e70, 0x2069, 0x1805, 0x20a9, + 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8ae9, 0x2069, 0x1801, + 0x20a9, 0x0004, 0x2d76, 0x8d68, 0x8e70, 0x1f04, 0x8af2, 0x2069, + 0x198b, 0x9086, 0xdf00, 0x0110, 0x2069, 0x19a5, 0x20a9, 0x001a, + 0x9e86, 0x0260, 0x1148, 0x00c6, 0x2061, 0x0200, 0x6010, 0x8000, + 0x6012, 0x00ce, 0x2071, 0x0240, 0x2d04, 0x8007, 0x2072, 0x8d68, + 0x8e70, 0x1f04, 0x8b00, 0x60c3, 0x004c, 0x080c, 0x8fa0, 0x00ee, + 0x00de, 0x0005, 0x080c, 0x8d39, 0x7003, 0x6300, 0x7007, 0x0028, + 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0x8fa0, 0x00d6, 0x0026, + 0x0016, 0x080c, 0x8d84, 0x7003, 0x0200, 0x7814, 0x700e, 0x00e6, + 0x9ef0, 0x0004, 0x2009, 0x0001, 0x2011, 0x000c, 0x2073, 0x0800, + 0x8e70, 0x2073, 0x0000, 0x00ee, 0x7206, 0x710a, 0x62c2, 0x080c, + 0x8fa0, 0x001e, 0x002e, 0x00de, 0x0005, 0x2001, 0x1817, 0x2004, + 0x609a, 0x0804, 0x8fa0, 0x080c, 0x8d39, 0x7003, 0x5200, 0x2069, + 0x185b, 0x6804, 0xd084, 0x0130, 0x6828, 0x0016, 0x080c, 0x248c, + 0x710e, 0x001e, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, + 0x20e9, 0x0000, 0x20a1, 0x0250, 0x4003, 0x20a9, 0x0004, 0x2099, + 0x1801, 0x20a1, 0x0254, 0x4003, 0x080c, 0x9b65, 0x1120, 0xb8a0, + 0x9082, 0x007f, 0x0248, 0x2001, 0x181e, 0x2004, 0x7032, 0x2001, + 0x181f, 0x2004, 0x7036, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, + 0x00ff, 0x7036, 0x60c3, 0x001c, 0x0804, 0x8fa0, 0x080c, 0x8d39, + 0x7003, 0x0500, 0x080c, 0x9b65, 0x1120, 0xb8a0, 0x9082, 0x007f, + 0x0248, 0x2001, 0x181e, 0x2004, 0x700a, 0x2001, 0x181f, 0x2004, + 0x700e, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, 0x700e, + 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, + 0x20a1, 0x0250, 0x4003, 0x60c3, 0x0010, 0x0804, 0x8fa0, 0x080c, + 0x8d39, 0x9006, 0x080c, 0x6654, 0xb8a0, 0x9086, 0x007e, 0x1130, + 0x7003, 0x0400, 0x620c, 0xc2b4, 0x620e, 0x0058, 0x7814, 0x0096, + 0x904d, 0x0120, 0x9006, 0xa89a, 0xa8a6, 0xa8aa, 0x009e, 0x7003, + 0x0300, 0xb8a0, 0x9086, 0x007e, 0x1904, 0x8c1a, 0x00d6, 0x2069, + 0x1944, 0x2001, 0x1836, 0x2004, 0xd0a4, 0x0178, 0x6800, 0x700a, + 0x6808, 0x9084, 0x2000, 0x7012, 0x680c, 0x7016, 0x701f, 0x2710, + 0x6818, 0x7022, 0x681c, 0x7026, 0x0080, 0x6800, 0x700a, 0x6804, + 0x700e, 0x6808, 0x080c, 0x70ba, 0x1118, 0x9084, 0x37ff, 0x0010, + 0x9084, 0x3fff, 0x7012, 0x680c, 0x7016, 0x00de, 0x20a9, 0x0004, + 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, + 0x4003, 0x20a9, 0x0004, 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, + 0x00d6, 0x080c, 0x97df, 0x2069, 0x194c, 0x2071, 0x024e, 0x6800, + 0xc0dd, 0x7002, 0x080c, 0x53ac, 0xd0e4, 0x0110, 0x680c, 0x700e, + 0x00de, 0x04a0, 0x2001, 0x1836, 0x2004, 0xd0a4, 0x0168, 0x0016, + 0x2009, 0x0002, 0x60e0, 0x9106, 0x0130, 0x2100, 0x60e3, 0x0000, + 0x080c, 0x24cd, 0x61e2, 0x001e, 0x20e1, 0x0001, 0x2099, 0x1944, + 0x20e9, 0x0000, 0x20a1, 0x024e, 0x20a9, 0x0008, 0x4003, 0x20a9, + 0x0004, 0x2099, 0x1805, 0x20a1, 0x0256, 0x4003, 0x20a9, 0x0004, + 0x2099, 0x1801, 0x20a1, 0x025a, 0x4003, 0x080c, 0x97df, 0x20a1, + 0x024e, 0x20a9, 0x0008, 0x2099, 0x194c, 0x4003, 0x60c3, 0x0074, + 0x0804, 0x8fa0, 0x080c, 0x8d39, 0x7003, 0x2010, 0x7007, 0x0014, + 0x700b, 0x0800, 0x700f, 0x2000, 0x9006, 0x00f6, 0x2079, 0x185b, + 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0x0010, 0x9085, + 0x0010, 0x9085, 0x0002, 0x00d6, 0x0804, 0x8ce9, 0x7026, 0x60c3, + 0x0014, 0x0804, 0x8fa0, 0x080c, 0x8d39, 0x7003, 0x5000, 0x0804, + 0x8bc9, 0x080c, 0x8d39, 0x7003, 0x2110, 0x7007, 0x0014, 0x60c3, + 0x0014, 0x0804, 0x8fa0, 0x080c, 0x8d7b, 0x0010, 0x080c, 0x8d84, + 0x7003, 0x0200, 0x60c3, 0x0004, 0x0804, 0x8fa0, 0x080c, 0x8d84, 0x7003, 0x0100, 0x700b, 0x0003, 0x700f, 0x2a00, 0x60c3, 0x0008, - 0x0804, 0x8f6c, 0x080c, 0x8d50, 0x7003, 0x0100, 0x700b, 0x000b, - 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x0026, 0x00d6, 0x0036, 0x0046, - 0x2019, 0x3200, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, - 0x0046, 0x2019, 0x2200, 0x2021, 0x0100, 0x080c, 0x97e8, 0xb810, - 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, - 0x687c, 0x700e, 0x9485, 0x0029, 0x7012, 0x004e, 0x003e, 0x00de, - 0x080c, 0x8f60, 0x721a, 0x9f95, 0x0000, 0x7222, 0x7027, 0xffff, - 0x2071, 0x024c, 0x002e, 0x0005, 0x0026, 0x080c, 0x97e8, 0x7003, - 0x02ff, 0x7007, 0xfffc, 0x00d6, 0x2069, 0x1800, 0x6878, 0x700a, - 0x687c, 0x700e, 0x00de, 0x7013, 0x2029, 0x0c10, 0x7003, 0x0100, - 0x7007, 0x0000, 0x700b, 0xfc02, 0x700f, 0x0000, 0x0005, 0x0026, - 0x00d6, 0x0036, 0x0046, 0x2019, 0x3300, 0x2021, 0x0800, 0x0040, - 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x2300, 0x2021, 0x0100, - 0x080c, 0x97e8, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, 0x2069, - 0x1800, 0xb810, 0x9005, 0x1140, 0xb814, 0x9005, 0x1128, 0x700b, - 0x00ff, 0x700f, 0xfffe, 0x0020, 0x6878, 0x700a, 0x687c, 0x700e, - 0x0000, 0x9485, 0x0098, 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, - 0x8f60, 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x2071, 0x024c, - 0x002e, 0x0005, 0x080c, 0x8f60, 0x721a, 0x7a08, 0x7222, 0x7814, - 0x7026, 0x2071, 0x024c, 0x002e, 0x0005, 0x00b6, 0x00c6, 0x00d6, - 0x00e6, 0x00f6, 0x2069, 0x0200, 0x2071, 0x0240, 0x6004, 0x908a, - 0x0085, 0x0a0c, 0x0d65, 0x908a, 0x0092, 0x1a0c, 0x0d65, 0x6110, - 0x2158, 0xb984, 0x2c78, 0x2061, 0x0100, 0x619a, 0x9082, 0x0085, - 0x0033, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x8dbe, - 0x8dcd, 0x8dd8, 0x8dbc, 0x8dbc, 0x8dbc, 0x8dbe, 0x8dbc, 0x8dbc, - 0x8dbc, 0x8dbc, 0x8dbc, 0x8dbc, 0x080c, 0x0d65, 0x0411, 0x60c3, - 0x0000, 0x0026, 0x080c, 0x27c1, 0x0228, 0x2011, 0x0101, 0x2204, - 0xc0c5, 0x2012, 0x002e, 0x0804, 0x8f6c, 0x0431, 0x7808, 0x700a, - 0x7814, 0x700e, 0x7017, 0xffff, 0x60c3, 0x000c, 0x0804, 0x8f6c, - 0x0479, 0x7003, 0x0003, 0x7007, 0x0300, 0x60c3, 0x0004, 0x0804, - 0x8f6c, 0x0026, 0x080c, 0x97e8, 0xb810, 0x9085, 0x8100, 0x7002, - 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, - 0x7013, 0x0009, 0x0804, 0x8d20, 0x0026, 0x080c, 0x97e8, 0xb810, - 0x9085, 0x8400, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, - 0x700a, 0x687c, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x8d82, - 0x0026, 0x080c, 0x97e8, 0xb810, 0x9085, 0x8500, 0x7002, 0xb814, + 0x0804, 0x8fa0, 0x080c, 0x8d84, 0x7003, 0x0200, 0x0804, 0x8bc9, + 0x080c, 0x8d84, 0x7003, 0x0100, 0x782c, 0x9005, 0x0110, 0x700a, + 0x0010, 0x700b, 0x0003, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, + 0x8fa0, 0x00d6, 0x080c, 0x8d84, 0x7003, 0x0210, 0x7007, 0x0014, + 0x700b, 0x0800, 0xb894, 0x9086, 0x0014, 0x1198, 0xb99c, 0x9184, + 0x0030, 0x0190, 0xb998, 0x9184, 0xc000, 0x1140, 0xd1ec, 0x0118, + 0x700f, 0x2100, 0x0058, 0x700f, 0x0100, 0x0040, 0x700f, 0x0400, + 0x0028, 0x700f, 0x0700, 0x0010, 0x700f, 0x0800, 0x00f6, 0x2079, + 0x185b, 0x7904, 0x00fe, 0xd1ac, 0x1110, 0x9085, 0x0020, 0x0010, + 0x9085, 0x0010, 0x2009, 0x187d, 0x210c, 0xd184, 0x1110, 0x9085, + 0x0002, 0x0026, 0x2009, 0x187b, 0x210c, 0xd1e4, 0x0150, 0xc0c5, + 0xbac4, 0xd28c, 0x1108, 0xc0cd, 0x9094, 0x0030, 0x9296, 0x0010, + 0x0140, 0xd1ec, 0x0130, 0x9094, 0x0030, 0x9296, 0x0010, 0x0108, + 0xc0bd, 0x002e, 0x7026, 0x60c3, 0x0014, 0x00de, 0x0804, 0x8fa0, + 0x080c, 0x8d84, 0x7003, 0x0210, 0x7007, 0x0014, 0x700f, 0x0100, + 0x60c3, 0x0014, 0x0804, 0x8fa0, 0x080c, 0x8d84, 0x7003, 0x0200, + 0x0804, 0x8b4f, 0x080c, 0x8d84, 0x7003, 0x0100, 0x700b, 0x0003, + 0x700f, 0x2a00, 0x60c3, 0x0008, 0x0804, 0x8fa0, 0x080c, 0x8d84, + 0x7003, 0x0100, 0x700b, 0x000b, 0x60c3, 0x0008, 0x0804, 0x8fa0, + 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x3200, 0x2021, 0x0800, + 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, 0x2200, 0x2021, + 0x0100, 0x080c, 0x97f4, 0xb810, 0x9305, 0x7002, 0xb814, 0x7006, + 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x9485, 0x0029, + 0x7012, 0x004e, 0x003e, 0x00de, 0x080c, 0x8f94, 0x721a, 0x9f95, + 0x0000, 0x7222, 0x7027, 0xffff, 0x2071, 0x024c, 0x002e, 0x0005, + 0x0026, 0x080c, 0x97f4, 0x7003, 0x02ff, 0x7007, 0xfffc, 0x00d6, + 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x00de, 0x7013, + 0x2029, 0x0c10, 0x7003, 0x0100, 0x7007, 0x0000, 0x700b, 0xfc02, + 0x700f, 0x0000, 0x0005, 0x0026, 0x00d6, 0x0036, 0x0046, 0x2019, + 0x3300, 0x2021, 0x0800, 0x0040, 0x0026, 0x00d6, 0x0036, 0x0046, + 0x2019, 0x2300, 0x2021, 0x0100, 0x080c, 0x97f4, 0xb810, 0x9305, + 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0xb810, 0x9005, 0x1140, + 0xb814, 0x9005, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0020, + 0x6878, 0x700a, 0x687c, 0x700e, 0x0000, 0x9485, 0x0098, 0x7012, + 0x004e, 0x003e, 0x00de, 0x080c, 0x8f94, 0x721a, 0x7a08, 0x7222, + 0x2f10, 0x7226, 0x2071, 0x024c, 0x002e, 0x0005, 0x080c, 0x8f94, + 0x721a, 0x7a08, 0x7222, 0x7814, 0x7026, 0x2071, 0x024c, 0x002e, + 0x0005, 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2069, 0x0200, + 0x2071, 0x0240, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d65, 0x908a, + 0x0092, 0x1a0c, 0x0d65, 0x6110, 0x2158, 0xb984, 0x2c78, 0x2061, + 0x0100, 0x619a, 0x9082, 0x0085, 0x0033, 0x00fe, 0x00ee, 0x00de, + 0x00ce, 0x00be, 0x0005, 0x8df2, 0x8e01, 0x8e0c, 0x8df0, 0x8df0, + 0x8df0, 0x8df2, 0x8df0, 0x8df0, 0x8df0, 0x8df0, 0x8df0, 0x8df0, + 0x080c, 0x0d65, 0x0411, 0x60c3, 0x0000, 0x0026, 0x080c, 0x27dd, + 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, 0x002e, 0x0804, + 0x8fa0, 0x0431, 0x7808, 0x700a, 0x7814, 0x700e, 0x7017, 0xffff, + 0x60c3, 0x000c, 0x0804, 0x8fa0, 0x0479, 0x7003, 0x0003, 0x7007, + 0x0300, 0x60c3, 0x0004, 0x0804, 0x8fa0, 0x0026, 0x080c, 0x97f4, + 0xb810, 0x9085, 0x8100, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, + 0x6878, 0x700a, 0x687c, 0x700e, 0x7013, 0x0009, 0x0804, 0x8d54, + 0x0026, 0x080c, 0x97f4, 0xb810, 0x9085, 0x8400, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, 0x700a, 0x687c, 0x700e, 0x2001, - 0x0099, 0x7012, 0x0804, 0x8d82, 0x00b6, 0x00c6, 0x00d6, 0x00e6, - 0x00f6, 0x2c78, 0x2069, 0x0200, 0x2071, 0x0240, 0x7804, 0x908a, - 0x0040, 0x0a0c, 0x0d65, 0x908a, 0x0057, 0x1a0c, 0x0d65, 0x7910, - 0x2158, 0xb984, 0x2061, 0x0100, 0x619a, 0x9082, 0x0040, 0x0033, - 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x00be, 0x0005, 0x8e51, 0x8e51, - 0x8e51, 0x8e77, 0x8e51, 0x8e51, 0x8e51, 0x8e51, 0x8e51, 0x8e51, - 0x8e51, 0x9338, 0x9340, 0x9348, 0x9350, 0x8e51, 0x8e51, 0x8e51, - 0x9330, 0x080c, 0x0d65, 0x6813, 0x0008, 0xba8c, 0x8210, 0xb8c4, - 0xd084, 0x0128, 0x7a4e, 0x7b14, 0x7b52, 0x722e, 0x732a, 0x9294, - 0x00ff, 0xba8e, 0x8217, 0x721a, 0xba10, 0x9295, 0x0600, 0x7202, - 0xba14, 0x7206, 0x2069, 0x1800, 0x6a78, 0x720a, 0x6a7c, 0x720e, - 0x7013, 0x0829, 0x2f10, 0x7222, 0x7027, 0xffff, 0x0005, 0x0016, - 0x7814, 0x9084, 0x0700, 0x8007, 0x0013, 0x001e, 0x0005, 0x8e87, - 0x8e87, 0x8e89, 0x8e87, 0x8e87, 0x8e87, 0x8ea3, 0x8e87, 0x080c, - 0x0d65, 0x7914, 0x918c, 0x08ff, 0x918d, 0xf600, 0x7916, 0x2009, - 0x0003, 0x00b9, 0x2069, 0x1853, 0x6804, 0xd0bc, 0x0130, 0x682c, - 0x9084, 0x00ff, 0x8007, 0x7032, 0x0010, 0x7033, 0x3f00, 0x60c3, - 0x0001, 0x0804, 0x8f6c, 0x2009, 0x0003, 0x0019, 0x7033, 0x7f00, - 0x0cb0, 0x0016, 0x080c, 0x97e8, 0x001e, 0xb810, 0x9085, 0x0100, - 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6a78, 0x720a, 0x6a7c, - 0x720e, 0x7013, 0x0888, 0x918d, 0x0008, 0x7116, 0x080c, 0x8f60, - 0x721a, 0x7a08, 0x7222, 0x2f10, 0x7226, 0x0005, 0x00b6, 0x0096, - 0x00e6, 0x00d6, 0x00c6, 0x0056, 0x0046, 0x0036, 0x2061, 0x0100, - 0x2071, 0x1800, 0x7810, 0x2058, 0xb8a0, 0x2028, 0xb910, 0xba14, - 0x7378, 0x747c, 0x7820, 0x0002, 0x8eeb, 0x8eeb, 0x8eeb, 0x8eeb, - 0x8eeb, 0x8eeb, 0x8eeb, 0x8eeb, 0x8eeb, 0x8eeb, 0x8eed, 0x8eeb, - 0x8eeb, 0x8eeb, 0x8eeb, 0x080c, 0x0d65, 0xb884, 0x609e, 0x7814, - 0x2048, 0xa87c, 0xd0fc, 0x0558, 0xaf90, 0x9784, 0xff00, 0x9105, - 0x6062, 0x873f, 0x9784, 0xff00, 0x0006, 0x7814, 0x2048, 0xa878, - 0xc0fc, 0x9005, 0x000e, 0x1160, 0xaf94, 0x87ff, 0x0198, 0x2039, - 0x0098, 0x9705, 0x6072, 0x7808, 0x6082, 0x2f00, 0x6086, 0x0038, - 0x9185, 0x2200, 0x6062, 0x6073, 0x0129, 0x6077, 0x0000, 0xb884, - 0x609e, 0x0050, 0x2039, 0x0029, 0x9705, 0x6072, 0x0cc0, 0x9185, - 0x0200, 0x6062, 0x6073, 0x2029, 0xa87c, 0xd0fc, 0x0118, 0xaf94, - 0x87ff, 0x1120, 0x2f00, 0x6082, 0x7808, 0x6086, 0x6266, 0x636a, - 0x646e, 0x6077, 0x0000, 0xb88c, 0x8000, 0x9084, 0x00ff, 0xb88e, - 0x8007, 0x607a, 0x607f, 0x0000, 0xa848, 0x608a, 0xa844, 0x608e, - 0xa838, 0x60c6, 0xa834, 0x60ca, 0xb86c, 0x60ce, 0x60af, 0x95d5, - 0x60d7, 0x0000, 0x080c, 0x97c8, 0x2009, 0x07d0, 0x60c4, 0x9084, - 0xfff0, 0x9005, 0x0110, 0x2009, 0x1b58, 0x080c, 0x81ef, 0x003e, - 0x004e, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x009e, 0x00be, 0x0005, - 0x7a40, 0x9294, 0x00ff, 0x8217, 0x0005, 0x00d6, 0x2069, 0x19b7, - 0x686b, 0x0001, 0x00de, 0x0005, 0x60a3, 0x0056, 0x60a7, 0x9575, - 0x00f1, 0x080c, 0x81e1, 0x0005, 0x0016, 0x2001, 0x180c, 0x200c, - 0x9184, 0x0600, 0x9086, 0x0600, 0x0128, 0x0089, 0x080c, 0x81e1, - 0x001e, 0x0005, 0xc1e5, 0x2001, 0x180c, 0x2102, 0x2001, 0x19b8, - 0x2003, 0x0000, 0x2001, 0x19c3, 0x2003, 0x0000, 0x0c88, 0x0006, - 0x0016, 0x0026, 0x2009, 0x1804, 0x2011, 0x0009, 0x080c, 0x289b, - 0x002e, 0x001e, 0x000e, 0x0005, 0x0016, 0x00c6, 0x0006, 0x080c, - 0x98bb, 0x0106, 0x2061, 0x0100, 0x61a4, 0x60a7, 0x95f5, 0x0016, - 0x0026, 0x2009, 0x1804, 0x2011, 0x0008, 0x080c, 0x289b, 0x002e, - 0x001e, 0x010e, 0x090c, 0x98d7, 0x000e, 0xa001, 0xa001, 0xa001, - 0x61a6, 0x00ce, 0x001e, 0x0005, 0x00c6, 0x00d6, 0x0016, 0x0026, - 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x7096, 0x1510, 0x2001, - 0x19dc, 0x2004, 0x9005, 0x1904, 0x901b, 0x080c, 0x7137, 0x11a8, - 0x2069, 0x0380, 0x6843, 0x0101, 0x6844, 0xd084, 0x1de8, 0x2061, - 0x0100, 0x6020, 0xd0b4, 0x1120, 0x6024, 0xd084, 0x090c, 0x0d65, - 0x6843, 0x0100, 0x080c, 0x81e1, 0x04b0, 0x00c6, 0x2061, 0x19b7, - 0x00f0, 0x6904, 0x9194, 0x4000, 0x0598, 0x080c, 0x8f9c, 0x080c, - 0x2862, 0x00c6, 0x2061, 0x19b7, 0x6134, 0x9192, 0x0008, 0x1278, - 0x8108, 0x6136, 0x080c, 0x98bb, 0x6130, 0x080c, 0x98d7, 0x00ce, - 0x81ff, 0x01c8, 0x080c, 0x81e1, 0x080c, 0x8f8f, 0x00a0, 0x080c, - 0x98bb, 0x6130, 0x91e5, 0x0000, 0x0150, 0x080c, 0xd621, 0x080c, - 0x81ea, 0x6003, 0x0001, 0x2009, 0x0014, 0x080c, 0x9c76, 0x080c, - 0x98d7, 0x00ce, 0x0000, 0x002e, 0x001e, 0x00de, 0x00ce, 0x0005, - 0x2001, 0x19dc, 0x2004, 0x9005, 0x1db0, 0x00c6, 0x2061, 0x19b7, - 0x6134, 0x9192, 0x0003, 0x1ad8, 0x8108, 0x6136, 0x00ce, 0x080c, - 0x81e1, 0x080c, 0x5b92, 0x2009, 0x1852, 0x2114, 0x8210, 0x220a, - 0x0c10, 0x0096, 0x00c6, 0x00d6, 0x00e6, 0x0016, 0x0026, 0x080c, - 0x81f7, 0x080c, 0x98bb, 0x2001, 0x0387, 0x2003, 0x0202, 0x2071, - 0x19b7, 0x714c, 0x81ff, 0x0904, 0x90af, 0x2061, 0x0100, 0x2069, - 0x0140, 0x080c, 0x7096, 0x11c0, 0x0036, 0x2019, 0x0002, 0x080c, - 0x9269, 0x003e, 0x714c, 0x2160, 0x080c, 0xd621, 0x2009, 0x004a, - 0x6003, 0x0003, 0x080c, 0x9c76, 0x2001, 0x0386, 0x2003, 0x5040, - 0x080c, 0x7137, 0x0804, 0x90af, 0x6904, 0xd1f4, 0x0904, 0x90bc, - 0x080c, 0x2862, 0x00c6, 0x704c, 0x9065, 0x090c, 0x0d65, 0x6020, - 0x00ce, 0x9086, 0x0006, 0x1518, 0x61c8, 0x60c4, 0x9105, 0x11f8, - 0x2009, 0x180c, 0x2104, 0xd0d4, 0x01d0, 0x6214, 0x9294, 0x1800, - 0x1128, 0x6224, 0x9294, 0x0002, 0x1510, 0x0010, 0xc0d4, 0x200a, - 0x6014, 0x9084, 0xe7fd, 0x9085, 0x0010, 0x6016, 0x704c, 0x2060, - 0x080c, 0x88b8, 0x2009, 0x0049, 0x080c, 0x9c76, 0x0080, 0x0036, - 0x2019, 0x0001, 0x080c, 0x9269, 0x003e, 0x714c, 0x2160, 0x080c, - 0xd621, 0x2009, 0x004a, 0x6003, 0x0003, 0x080c, 0x9c76, 0x2001, - 0x0387, 0x2003, 0x0200, 0x080c, 0x98d7, 0x002e, 0x001e, 0x00ee, - 0x00de, 0x00ce, 0x009e, 0x0005, 0xd1ec, 0x1904, 0x9070, 0x0804, - 0x9072, 0x0026, 0x00e6, 0x2071, 0x19b7, 0x706c, 0xd084, 0x01d0, - 0xc084, 0x706e, 0x714c, 0x81ff, 0x01a8, 0x2071, 0x0100, 0x9188, - 0x0008, 0x2114, 0x928e, 0x0006, 0x1138, 0x2009, 0x1984, 0x2011, - 0x0012, 0x080c, 0x289b, 0x0030, 0x2009, 0x1984, 0x2011, 0x0016, - 0x080c, 0x289b, 0x00ee, 0x002e, 0x0005, 0x9036, 0x2001, 0x19c1, - 0x2004, 0x9005, 0x0128, 0x9c06, 0x0128, 0x2c30, 0x600c, 0x0cc8, - 0x9085, 0x0001, 0x0005, 0x00f6, 0x2079, 0x19b7, 0x610c, 0x9006, - 0x600e, 0x6044, 0xc0fc, 0x6046, 0x86ff, 0x1140, 0x7824, 0x9c06, - 0x1118, 0x7826, 0x782a, 0x0050, 0x792a, 0x0040, 0x00c6, 0x2660, - 0x610e, 0x00ce, 0x7824, 0x9c06, 0x1108, 0x7e26, 0x080c, 0x935b, - 0x080c, 0xba31, 0x00fe, 0x0005, 0x080c, 0x8d05, 0x7003, 0x1200, - 0x7838, 0x7012, 0x783c, 0x7016, 0x00c6, 0x7820, 0x9086, 0x0004, - 0x1148, 0x7810, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb810, 0xb914, - 0x00be, 0x0020, 0x2061, 0x1800, 0x6078, 0x617c, 0x9084, 0x00ff, - 0x700a, 0x710e, 0x00ce, 0x60c3, 0x002c, 0x0804, 0x8f6c, 0x080c, - 0x8d05, 0x7003, 0x0f00, 0x7808, 0xd09c, 0x0128, 0xb810, 0x9084, - 0x00ff, 0x700a, 0xb814, 0x700e, 0x60c3, 0x0008, 0x0804, 0x8f6c, - 0x0156, 0x080c, 0x8d50, 0x7003, 0x0200, 0x2011, 0x1848, 0x63f0, - 0x2312, 0x20a9, 0x0006, 0x2011, 0x1840, 0x2019, 0x1841, 0x9ef0, - 0x0002, 0x2376, 0x8e70, 0x2276, 0x8e70, 0x9398, 0x0002, 0x9290, - 0x0002, 0x1f04, 0x9159, 0x60c3, 0x001c, 0x015e, 0x0804, 0x8f6c, - 0x0016, 0x0026, 0x080c, 0x8d2c, 0x080c, 0x8d3e, 0x9e80, 0x0004, - 0x20e9, 0x0000, 0x20a0, 0x7814, 0x0096, 0x2048, 0xa800, 0x2048, - 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0021, 0x2098, 0x009e, 0x7808, - 0x9088, 0x0002, 0x21a8, 0x9192, 0x0010, 0x1250, 0x4003, 0x9080, - 0x0004, 0x8003, 0x60c2, 0x080c, 0x8f6c, 0x002e, 0x001e, 0x0005, - 0x20a9, 0x0010, 0x4003, 0x080c, 0x97d3, 0x20a1, 0x0240, 0x22a8, - 0x4003, 0x0c68, 0x080c, 0x8d05, 0x7003, 0x6200, 0x7808, 0x700e, - 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x0016, 0x0026, 0x080c, 0x8d05, - 0x20e9, 0x0000, 0x20a1, 0x024c, 0x7814, 0x0096, 0x2048, 0xa800, - 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x0023, 0x2098, 0x009e, - 0x7808, 0x9088, 0x0002, 0x21a8, 0x4003, 0x8003, 0x60c2, 0x080c, - 0x8f6c, 0x002e, 0x001e, 0x0005, 0x00e6, 0x00c6, 0x0006, 0x0126, - 0x2091, 0x8000, 0x2071, 0x19b7, 0x7010, 0x2060, 0x8cff, 0x0188, - 0x080c, 0xba57, 0x1110, 0x080c, 0xa581, 0x600c, 0x0006, 0x080c, - 0xbcd3, 0x600f, 0x0000, 0x080c, 0x9bda, 0x080c, 0x935b, 0x00ce, - 0x0c68, 0x2c00, 0x7012, 0x700e, 0x012e, 0x000e, 0x00ce, 0x00ee, - 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, - 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, - 0x918c, 0xe7ff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, - 0x19b7, 0x7030, 0x2060, 0x8cff, 0x0548, 0x080c, 0x8f9c, 0x6ac0, - 0x68c3, 0x0000, 0x080c, 0x81ea, 0x00c6, 0x2061, 0x0100, 0x080c, - 0x97ec, 0x00ce, 0x20a9, 0x01f4, 0x04b1, 0x080c, 0x885d, 0x6044, - 0xd0ac, 0x1128, 0x2001, 0x1958, 0x2004, 0x604a, 0x0020, 0x2009, - 0x0013, 0x080c, 0x9c76, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, - 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x2001, 0x1800, - 0x2004, 0x9096, 0x0001, 0x0d78, 0x9096, 0x0004, 0x0d60, 0x080c, - 0x81ea, 0x6814, 0x9084, 0x0001, 0x0110, 0x68a7, 0x95f5, 0x6817, - 0x0008, 0x68c3, 0x0000, 0x2011, 0x5b3c, 0x080c, 0x8138, 0x20a9, - 0x01f4, 0x0009, 0x08c0, 0x6824, 0xd094, 0x0140, 0x6827, 0x0004, - 0x7804, 0x9084, 0x4000, 0x190c, 0x2862, 0x0090, 0xd084, 0x0118, - 0x6827, 0x0001, 0x0010, 0x1f04, 0x924b, 0x7804, 0x9084, 0x1000, - 0x0138, 0x2001, 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, - 0x0005, 0x0126, 0x0156, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, - 0x0026, 0x0016, 0x0006, 0x2091, 0x8000, 0x2001, 0x180c, 0x200c, - 0x918c, 0xdbff, 0x2102, 0x2069, 0x0100, 0x2079, 0x0140, 0x2071, - 0x0380, 0x701c, 0x0006, 0x701f, 0x0202, 0x2071, 0x19b7, 0x704c, - 0x2060, 0x8cff, 0x0904, 0x930a, 0x9386, 0x0002, 0x1128, 0x6814, - 0x9084, 0x0002, 0x0904, 0x930a, 0x68af, 0x95f5, 0x6817, 0x0010, - 0x2009, 0x00fa, 0x8109, 0x1df0, 0x69c6, 0x68cb, 0x0008, 0x080c, - 0x81f7, 0x080c, 0x1c87, 0x0046, 0x2009, 0x00a5, 0x080c, 0x0e3d, - 0x2021, 0x0169, 0x2404, 0x9084, 0x000f, 0x9086, 0x0004, 0x11f8, - 0x68af, 0x95f5, 0x68c6, 0x68cb, 0x0008, 0x00e6, 0x00f6, 0x2079, - 0x0090, 0x2071, 0x19b7, 0x6814, 0x9084, 0x1984, 0x9085, 0x0012, - 0x6816, 0x782b, 0x0008, 0x7057, 0x0000, 0x00fe, 0x00ee, 0x9386, - 0x0002, 0x1128, 0x7884, 0x9005, 0x1110, 0x7887, 0x0001, 0x0016, - 0x2009, 0x0040, 0x080c, 0x2063, 0x001e, 0x2009, 0x0000, 0x080c, - 0x0e3d, 0x004e, 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0140, 0x6827, - 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, 0x2862, 0x0090, 0xd08c, - 0x0118, 0x6827, 0x0002, 0x0010, 0x1f04, 0x92dc, 0x7804, 0x9084, - 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, - 0x2852, 0x6827, 0x4000, 0x6824, 0x83ff, 0x1160, 0x2009, 0x0049, - 0x080c, 0x88b8, 0x6044, 0xd0ac, 0x1118, 0x6003, 0x0002, 0x0010, - 0x080c, 0x9c76, 0x000e, 0x2071, 0x0380, 0xd08c, 0x1110, 0x701f, + 0x0099, 0x7012, 0x0804, 0x8db6, 0x0026, 0x080c, 0x97f4, 0xb810, + 0x9085, 0x8500, 0x7002, 0xb814, 0x7006, 0x2069, 0x1800, 0x6878, + 0x700a, 0x687c, 0x700e, 0x2001, 0x0099, 0x7012, 0x0804, 0x8db6, + 0x00b6, 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2c78, 0x2069, 0x0200, + 0x2071, 0x0240, 0x7804, 0x908a, 0x0040, 0x0a0c, 0x0d65, 0x908a, + 0x0057, 0x1a0c, 0x0d65, 0x7910, 0x2158, 0xb984, 0x2061, 0x0100, + 0x619a, 0x9082, 0x0040, 0x0033, 0x00fe, 0x00ee, 0x00de, 0x00ce, + 0x00be, 0x0005, 0x8e85, 0x8e85, 0x8e85, 0x8eab, 0x8e85, 0x8e85, + 0x8e85, 0x8e85, 0x8e85, 0x8e85, 0x8e85, 0x9340, 0x9348, 0x9350, + 0x9358, 0x8e85, 0x8e85, 0x8e85, 0x9338, 0x080c, 0x0d65, 0x6813, + 0x0008, 0xba8c, 0x8210, 0xb8c4, 0xd084, 0x0128, 0x7a4e, 0x7b14, + 0x7b52, 0x722e, 0x732a, 0x9294, 0x00ff, 0xba8e, 0x8217, 0x721a, + 0xba10, 0x9295, 0x0600, 0x7202, 0xba14, 0x7206, 0x2069, 0x1800, + 0x6a78, 0x720a, 0x6a7c, 0x720e, 0x7013, 0x0829, 0x2f10, 0x7222, + 0x7027, 0xffff, 0x0005, 0x0016, 0x7814, 0x9084, 0x0700, 0x8007, + 0x0013, 0x001e, 0x0005, 0x8ebb, 0x8ebb, 0x8ebd, 0x8ebb, 0x8ebb, + 0x8ebb, 0x8ed7, 0x8ebb, 0x080c, 0x0d65, 0x7914, 0x918c, 0x08ff, + 0x918d, 0xf600, 0x7916, 0x2009, 0x0003, 0x00b9, 0x2069, 0x185b, + 0x6804, 0xd0bc, 0x0130, 0x682c, 0x9084, 0x00ff, 0x8007, 0x7032, + 0x0010, 0x7033, 0x3f00, 0x60c3, 0x0001, 0x0804, 0x8fa0, 0x2009, + 0x0003, 0x0019, 0x7033, 0x7f00, 0x0cb0, 0x0016, 0x080c, 0x97f4, + 0x001e, 0xb810, 0x9085, 0x0100, 0x7002, 0xb814, 0x7006, 0x2069, + 0x1800, 0x6a78, 0x720a, 0x6a7c, 0x720e, 0x7013, 0x0888, 0x918d, + 0x0008, 0x7116, 0x080c, 0x8f94, 0x721a, 0x7a08, 0x7222, 0x2f10, + 0x7226, 0x0005, 0x00b6, 0x0096, 0x00e6, 0x00d6, 0x00c6, 0x0056, + 0x0046, 0x0036, 0x2061, 0x0100, 0x2071, 0x1800, 0x7810, 0x2058, + 0xb8a0, 0x2028, 0xb910, 0xba14, 0x7378, 0x747c, 0x7820, 0x0002, + 0x8f1f, 0x8f1f, 0x8f1f, 0x8f1f, 0x8f1f, 0x8f1f, 0x8f1f, 0x8f1f, + 0x8f1f, 0x8f1f, 0x8f21, 0x8f1f, 0x8f1f, 0x8f1f, 0x8f1f, 0x080c, + 0x0d65, 0xb884, 0x609e, 0x7814, 0x2048, 0xa87c, 0xd0fc, 0x0558, + 0xaf90, 0x9784, 0xff00, 0x9105, 0x6062, 0x873f, 0x9784, 0xff00, + 0x0006, 0x7814, 0x2048, 0xa878, 0xc0fc, 0x9005, 0x000e, 0x1160, + 0xaf94, 0x87ff, 0x0198, 0x2039, 0x0098, 0x9705, 0x6072, 0x7808, + 0x6082, 0x2f00, 0x6086, 0x0038, 0x9185, 0x2200, 0x6062, 0x6073, + 0x0129, 0x6077, 0x0000, 0xb884, 0x609e, 0x0050, 0x2039, 0x0029, + 0x9705, 0x6072, 0x0cc0, 0x9185, 0x0200, 0x6062, 0x6073, 0x2029, + 0xa87c, 0xd0fc, 0x0118, 0xaf94, 0x87ff, 0x1120, 0x2f00, 0x6082, + 0x7808, 0x6086, 0x6266, 0x636a, 0x646e, 0x6077, 0x0000, 0xb88c, + 0x8000, 0x9084, 0x00ff, 0xb88e, 0x8007, 0x607a, 0x607f, 0x0000, + 0xa848, 0x608a, 0xa844, 0x608e, 0xa838, 0x60c6, 0xa834, 0x60ca, + 0xb86c, 0x60ce, 0x60af, 0x95d5, 0x60d7, 0x0000, 0x080c, 0x97d4, + 0x2009, 0x07d0, 0x60c4, 0x9084, 0xfff0, 0x9005, 0x0110, 0x2009, + 0x1b58, 0x080c, 0x8223, 0x003e, 0x004e, 0x005e, 0x00ce, 0x00de, + 0x00ee, 0x009e, 0x00be, 0x0005, 0x7a40, 0x9294, 0x00ff, 0x8217, + 0x0005, 0x00d6, 0x2069, 0x19bf, 0x686b, 0x0001, 0x00de, 0x0005, + 0x60a3, 0x0056, 0x60a7, 0x9575, 0x00f1, 0x080c, 0x8215, 0x0005, + 0x0016, 0x2001, 0x180c, 0x200c, 0x9184, 0x0600, 0x9086, 0x0600, + 0x0128, 0x0089, 0x080c, 0x8215, 0x001e, 0x0005, 0xc1e5, 0x2001, + 0x180c, 0x2102, 0x2001, 0x19c0, 0x2003, 0x0000, 0x2001, 0x19cb, + 0x2003, 0x0000, 0x0c88, 0x0006, 0x0016, 0x0026, 0x2009, 0x1804, + 0x2011, 0x0009, 0x080c, 0x28bb, 0x002e, 0x001e, 0x000e, 0x0005, + 0x0016, 0x00c6, 0x0006, 0x080c, 0x98c7, 0x0106, 0x2061, 0x0100, + 0x61a4, 0x60a7, 0x95f5, 0x0016, 0x0026, 0x2009, 0x1804, 0x2011, + 0x0008, 0x080c, 0x28bb, 0x002e, 0x001e, 0x010e, 0x090c, 0x98e3, + 0x000e, 0xa001, 0xa001, 0xa001, 0x61a6, 0x00ce, 0x001e, 0x0005, + 0x00c6, 0x00d6, 0x0016, 0x0026, 0x2061, 0x0100, 0x2069, 0x0140, + 0x080c, 0x70ba, 0x1510, 0x2001, 0x19e4, 0x2004, 0x9005, 0x1904, + 0x904f, 0x080c, 0x715f, 0x11a8, 0x2069, 0x0380, 0x6843, 0x0101, + 0x6844, 0xd084, 0x1de8, 0x2061, 0x0100, 0x6020, 0xd0b4, 0x1120, + 0x6024, 0xd084, 0x090c, 0x0d65, 0x6843, 0x0100, 0x080c, 0x8215, + 0x04b0, 0x00c6, 0x2061, 0x19bf, 0x00f0, 0x6904, 0x9194, 0x4000, + 0x0598, 0x080c, 0x8fd0, 0x080c, 0x2882, 0x00c6, 0x2061, 0x19bf, + 0x6134, 0x9192, 0x0008, 0x1278, 0x8108, 0x6136, 0x080c, 0x98c7, + 0x6130, 0x080c, 0x98e3, 0x00ce, 0x81ff, 0x01c8, 0x080c, 0x8215, + 0x080c, 0x8fc3, 0x00a0, 0x080c, 0x98c7, 0x6130, 0x91e5, 0x0000, + 0x0150, 0x080c, 0xd659, 0x080c, 0x821e, 0x6003, 0x0001, 0x2009, + 0x0014, 0x080c, 0x9c82, 0x080c, 0x98e3, 0x00ce, 0x0000, 0x002e, + 0x001e, 0x00de, 0x00ce, 0x0005, 0x2001, 0x19e4, 0x2004, 0x9005, + 0x1db0, 0x00c6, 0x2061, 0x19bf, 0x6134, 0x9192, 0x0003, 0x1ad8, + 0x8108, 0x6136, 0x00ce, 0x080c, 0x8215, 0x080c, 0x5bb2, 0x2009, + 0x185a, 0x2114, 0x8210, 0x220a, 0x0c10, 0x0096, 0x00c6, 0x00d6, + 0x00e6, 0x0016, 0x0026, 0x080c, 0x822b, 0x080c, 0x98c7, 0x2001, + 0x0387, 0x2003, 0x0202, 0x2071, 0x19bf, 0x714c, 0x81ff, 0x0904, + 0x90e3, 0x2061, 0x0100, 0x2069, 0x0140, 0x080c, 0x70ba, 0x11c0, + 0x0036, 0x2019, 0x0002, 0x080c, 0x929d, 0x003e, 0x714c, 0x2160, + 0x080c, 0xd659, 0x2009, 0x004a, 0x6003, 0x0003, 0x080c, 0x9c82, + 0x2001, 0x0386, 0x2003, 0x5040, 0x080c, 0x715f, 0x0804, 0x90e3, + 0x6904, 0xd1f4, 0x0904, 0x90f0, 0x080c, 0x2882, 0x00c6, 0x704c, + 0x9065, 0x090c, 0x0d65, 0x6020, 0x00ce, 0x9086, 0x0006, 0x1518, + 0x61c8, 0x60c4, 0x9105, 0x11f8, 0x2009, 0x180c, 0x2104, 0xd0d4, + 0x01d0, 0x6214, 0x9294, 0x1800, 0x1128, 0x6224, 0x9294, 0x0002, + 0x1510, 0x0010, 0xc0d4, 0x200a, 0x6014, 0x9084, 0xe7fd, 0x9085, + 0x0010, 0x6016, 0x704c, 0x2060, 0x080c, 0x88ec, 0x2009, 0x0049, + 0x080c, 0x9c82, 0x0080, 0x0036, 0x2019, 0x0001, 0x080c, 0x929d, + 0x003e, 0x714c, 0x2160, 0x080c, 0xd659, 0x2009, 0x004a, 0x6003, + 0x0003, 0x080c, 0x9c82, 0x2001, 0x0387, 0x2003, 0x0200, 0x080c, + 0x98e3, 0x002e, 0x001e, 0x00ee, 0x00de, 0x00ce, 0x009e, 0x0005, + 0xd1ec, 0x1904, 0x90a4, 0x0804, 0x90a6, 0x0026, 0x00e6, 0x2071, + 0x19bf, 0x706c, 0xd084, 0x01d0, 0xc084, 0x706e, 0x714c, 0x81ff, + 0x01a8, 0x2071, 0x0100, 0x9188, 0x0008, 0x2114, 0x928e, 0x0006, + 0x1138, 0x2009, 0x1984, 0x2011, 0x0012, 0x080c, 0x28bb, 0x0030, + 0x2009, 0x1984, 0x2011, 0x0016, 0x080c, 0x28bb, 0x00ee, 0x002e, + 0x0005, 0x9036, 0x2001, 0x19c9, 0x2004, 0x9005, 0x0128, 0x9c06, + 0x0128, 0x2c30, 0x600c, 0x0cc8, 0x9085, 0x0001, 0x0005, 0x00f6, + 0x2079, 0x19bf, 0x610c, 0x9006, 0x600e, 0x6044, 0xc0fc, 0x6046, + 0x86ff, 0x1140, 0x7824, 0x9c06, 0x1118, 0x7826, 0x782a, 0x0050, + 0x792a, 0x0040, 0x00c6, 0x2660, 0x610e, 0x00ce, 0x7824, 0x9c06, + 0x1108, 0x7e26, 0x080c, 0x9363, 0x080c, 0xba5f, 0x00fe, 0x0005, + 0x080c, 0x8d39, 0x7003, 0x1200, 0x7838, 0x7012, 0x783c, 0x7016, + 0x00c6, 0x7820, 0x9086, 0x0004, 0x1148, 0x7810, 0x9005, 0x0130, + 0x00b6, 0x2058, 0xb810, 0xb914, 0x00be, 0x0020, 0x2061, 0x1800, + 0x6078, 0x617c, 0x9084, 0x00ff, 0x700a, 0x710e, 0x00ce, 0x60c3, + 0x002c, 0x0804, 0x8fa0, 0x080c, 0x8d39, 0x7003, 0x0f00, 0x7808, + 0xd09c, 0x0128, 0xb810, 0x9084, 0x00ff, 0x700a, 0xb814, 0x700e, + 0x60c3, 0x0008, 0x0804, 0x8fa0, 0x0156, 0x080c, 0x8d84, 0x7003, + 0x0200, 0x2011, 0x1848, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, + 0x1840, 0x2019, 0x1841, 0x9ef0, 0x0002, 0x2376, 0x8e70, 0x2276, + 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x918d, 0x60c3, + 0x001c, 0x015e, 0x0804, 0x8fa0, 0x0016, 0x0026, 0x080c, 0x8d60, + 0x080c, 0x8d72, 0x9e80, 0x0004, 0x20e9, 0x0000, 0x20a0, 0x7814, + 0x0096, 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, 0x9080, + 0x0021, 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, 0x9192, + 0x0010, 0x1250, 0x4003, 0x9080, 0x0004, 0x8003, 0x60c2, 0x080c, + 0x8fa0, 0x002e, 0x001e, 0x0005, 0x20a9, 0x0010, 0x4003, 0x080c, + 0x97df, 0x20a1, 0x0240, 0x22a8, 0x4003, 0x0c68, 0x080c, 0x8d39, + 0x7003, 0x6200, 0x7808, 0x700e, 0x60c3, 0x0008, 0x0804, 0x8fa0, + 0x0016, 0x0026, 0x080c, 0x8d39, 0x20e9, 0x0000, 0x20a1, 0x024c, + 0x7814, 0x0096, 0x2048, 0xa800, 0x2048, 0xa860, 0x20e0, 0xa85c, + 0x9080, 0x0023, 0x2098, 0x009e, 0x7808, 0x9088, 0x0002, 0x21a8, + 0x4003, 0x8003, 0x60c2, 0x080c, 0x8fa0, 0x002e, 0x001e, 0x0005, + 0x00e6, 0x00c6, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, + 0x7010, 0x2060, 0x8cff, 0x0188, 0x080c, 0xba85, 0x1110, 0x080c, + 0xa59c, 0x600c, 0x0006, 0x080c, 0xbd01, 0x600f, 0x0000, 0x080c, + 0x9be6, 0x080c, 0x9363, 0x00ce, 0x0c68, 0x2c00, 0x7012, 0x700e, + 0x012e, 0x000e, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0156, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, + 0x8000, 0x2001, 0x180c, 0x200c, 0x918c, 0xe7ff, 0x2102, 0x2069, + 0x0100, 0x2079, 0x0140, 0x2071, 0x19bf, 0x7030, 0x2060, 0x8cff, + 0x0548, 0x080c, 0x8fd0, 0x6ac0, 0x68c3, 0x0000, 0x080c, 0x821e, + 0x00c6, 0x2061, 0x0100, 0x080c, 0x97f8, 0x00ce, 0x20a9, 0x01f4, + 0x04b1, 0x080c, 0x8891, 0x6044, 0xd0ac, 0x1128, 0x2001, 0x1960, + 0x2004, 0x604a, 0x0020, 0x2009, 0x0013, 0x080c, 0x9c82, 0x000e, + 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, + 0x012e, 0x0005, 0x2001, 0x1800, 0x2004, 0x9096, 0x0001, 0x0d78, + 0x9096, 0x0004, 0x0d60, 0x080c, 0x821e, 0x6814, 0x9084, 0x0001, + 0x0110, 0x68a7, 0x95f5, 0x6817, 0x0008, 0x68c3, 0x0000, 0x2011, + 0x5b5c, 0x080c, 0x816c, 0x20a9, 0x01f4, 0x0009, 0x08c0, 0x6824, + 0xd094, 0x0140, 0x6827, 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, + 0x2882, 0x0090, 0xd084, 0x0118, 0x6827, 0x0001, 0x0010, 0x1f04, + 0x927f, 0x7804, 0x9084, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, + 0x2872, 0x9006, 0x080c, 0x2872, 0x0005, 0x0126, 0x0156, 0x00f6, + 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0016, 0x0006, 0x2091, + 0x8000, 0x2001, 0x180c, 0x200c, 0x918c, 0xdbff, 0x2102, 0x2069, + 0x0100, 0x2079, 0x0140, 0x2071, 0x0380, 0x701c, 0x0006, 0x701f, + 0x0202, 0x2071, 0x19bf, 0x704c, 0x2060, 0x8cff, 0x0904, 0x9312, + 0x9386, 0x0002, 0x1128, 0x6814, 0x9084, 0x0002, 0x0904, 0x9312, + 0x68af, 0x95f5, 0x6817, 0x0010, 0x2009, 0x00fa, 0x8109, 0x1df0, + 0x69c6, 0x68cb, 0x0008, 0x080c, 0x822b, 0x080c, 0x1c9f, 0x2001, + 0x0032, 0x6920, 0xd1bc, 0x0130, 0x8001, 0x1dd8, 0x692c, 0x918d, + 0x0008, 0x692e, 0x20a9, 0x03e8, 0x6824, 0xd094, 0x0140, 0x6827, + 0x0004, 0x7804, 0x9084, 0x4000, 0x190c, 0x2882, 0x0090, 0xd08c, + 0x0118, 0x6827, 0x0002, 0x0010, 0x1f04, 0x92e4, 0x7804, 0x9084, + 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2872, 0x9006, 0x080c, + 0x2872, 0x6827, 0x4000, 0x6824, 0x83ff, 0x1160, 0x2009, 0x0049, + 0x080c, 0x88ec, 0x6044, 0xd0ac, 0x1118, 0x6003, 0x0002, 0x0010, + 0x080c, 0x9c82, 0x000e, 0x2071, 0x0380, 0xd08c, 0x1110, 0x701f, 0x0200, 0x000e, 0x001e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x015e, 0x012e, 0x0005, 0x00d6, 0x0126, 0x2091, 0x8000, - 0x2069, 0x19b7, 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, - 0x2091, 0x8000, 0x2069, 0x19b7, 0x6a3e, 0x012e, 0x00de, 0x0005, - 0x080c, 0x8e53, 0x785c, 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, - 0x080c, 0x8e53, 0x785c, 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, - 0x080c, 0x8e53, 0x785c, 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, - 0x080c, 0x8e53, 0x785c, 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, - 0x080c, 0x8e53, 0x785c, 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, - 0x0020, 0x0804, 0x8f6c, 0x00e6, 0x2071, 0x19b7, 0x702c, 0x9005, + 0x2069, 0x19bf, 0x6a06, 0x012e, 0x00de, 0x0005, 0x00d6, 0x0126, + 0x2091, 0x8000, 0x2069, 0x19bf, 0x6a3e, 0x012e, 0x00de, 0x0005, + 0x080c, 0x8e87, 0x785c, 0x7032, 0x7042, 0x7047, 0x1000, 0x00f8, + 0x080c, 0x8e87, 0x785c, 0x7032, 0x7042, 0x7047, 0x4000, 0x00b8, + 0x080c, 0x8e87, 0x785c, 0x7032, 0x7042, 0x7047, 0x2000, 0x0078, + 0x080c, 0x8e87, 0x785c, 0x7032, 0x7042, 0x7047, 0x0400, 0x0038, + 0x080c, 0x8e87, 0x785c, 0x7032, 0x7042, 0x7047, 0x0200, 0x60c3, + 0x0020, 0x0804, 0x8fa0, 0x00e6, 0x2071, 0x19bf, 0x702c, 0x9005, 0x0110, 0x8001, 0x702e, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, - 0x19b7, 0x7620, 0x2660, 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, - 0x9400, 0x8cff, 0x0904, 0x9400, 0x6020, 0x9086, 0x0006, 0x1904, - 0x93fb, 0x88ff, 0x0138, 0x2800, 0x9c06, 0x1904, 0x93fb, 0x2039, - 0x0000, 0x0050, 0x6010, 0x9b06, 0x1904, 0x93fb, 0x85ff, 0x0120, - 0x605c, 0x9106, 0x1904, 0x93fb, 0x7030, 0x9c06, 0x15b0, 0x2069, + 0x19bf, 0x7620, 0x2660, 0x2678, 0x2039, 0x0001, 0x87ff, 0x0904, + 0x9408, 0x8cff, 0x0904, 0x9408, 0x6020, 0x9086, 0x0006, 0x1904, + 0x9403, 0x88ff, 0x0138, 0x2800, 0x9c06, 0x1904, 0x9403, 0x2039, + 0x0000, 0x0050, 0x6010, 0x9b06, 0x1904, 0x9403, 0x85ff, 0x0120, + 0x605c, 0x9106, 0x1904, 0x9403, 0x7030, 0x9c06, 0x15b0, 0x2069, 0x0100, 0x68c0, 0x9005, 0x1160, 0x6824, 0xd084, 0x0148, 0x6827, - 0x0001, 0x080c, 0x81ea, 0x080c, 0x9485, 0x7033, 0x0000, 0x0428, - 0x080c, 0x81ea, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, - 0x0008, 0x68c3, 0x0000, 0x080c, 0x9485, 0x7033, 0x0000, 0x0036, + 0x0001, 0x080c, 0x821e, 0x080c, 0x948d, 0x7033, 0x0000, 0x0428, + 0x080c, 0x821e, 0x6820, 0xd0b4, 0x0110, 0x68a7, 0x95f5, 0x6817, + 0x0008, 0x68c3, 0x0000, 0x080c, 0x948d, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, - 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x2069, 0x0100, 0x6824, + 0x080c, 0x2872, 0x9006, 0x080c, 0x2872, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x7020, 0x9c36, 0x1110, 0x660c, 0x7622, 0x701c, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x701e, 0x0010, 0x701f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x89ff, 0x1168, 0x600f, - 0x0000, 0x6014, 0x0096, 0x2048, 0x080c, 0xb840, 0x0110, 0x080c, - 0xd22f, 0x009e, 0x080c, 0x9c14, 0x080c, 0x935b, 0x88ff, 0x1190, - 0x00ce, 0x0804, 0x9376, 0x2c78, 0x600c, 0x2060, 0x0804, 0x9376, + 0x0000, 0x6014, 0x0096, 0x2048, 0x080c, 0xb86e, 0x0110, 0x080c, + 0xd267, 0x009e, 0x080c, 0x9c20, 0x080c, 0x9363, 0x88ff, 0x1190, + 0x00ce, 0x0804, 0x937e, 0x2c78, 0x600c, 0x2060, 0x0804, 0x937e, 0x9006, 0x012e, 0x000e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, 0x0000, 0x00ce, 0x98c5, 0x0001, 0x0c88, 0x00f6, 0x00e6, 0x00d6, 0x0096, 0x00c6, 0x0066, 0x0026, 0x0006, - 0x0126, 0x2091, 0x8000, 0x2071, 0x19b7, 0x7648, 0x2660, 0x2678, - 0x8cff, 0x0904, 0x9474, 0x6020, 0x9086, 0x0006, 0x1904, 0x946f, - 0x87ff, 0x0128, 0x2700, 0x9c06, 0x1904, 0x946f, 0x0040, 0x6010, + 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, 0x7648, 0x2660, 0x2678, + 0x8cff, 0x0904, 0x947c, 0x6020, 0x9086, 0x0006, 0x1904, 0x9477, + 0x87ff, 0x0128, 0x2700, 0x9c06, 0x1904, 0x9477, 0x0040, 0x6010, 0x9b06, 0x15e8, 0x85ff, 0x0118, 0x605c, 0x9106, 0x15c0, 0x704c, - 0x9c06, 0x1168, 0x0036, 0x2019, 0x0001, 0x080c, 0x9269, 0x703f, + 0x9c06, 0x1168, 0x0036, 0x2019, 0x0001, 0x080c, 0x929d, 0x703f, 0x0000, 0x9006, 0x704e, 0x706a, 0x7052, 0x706e, 0x003e, 0x7048, 0x9c36, 0x1110, 0x660c, 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, - 0x0000, 0x6014, 0x2048, 0x080c, 0xb840, 0x0110, 0x080c, 0xd22f, - 0x080c, 0x9c14, 0x87ff, 0x1198, 0x00ce, 0x0804, 0x9420, 0x2c78, - 0x600c, 0x2060, 0x0804, 0x9420, 0x9006, 0x012e, 0x000e, 0x002e, + 0x0000, 0x6014, 0x2048, 0x080c, 0xb86e, 0x0110, 0x080c, 0xd267, + 0x080c, 0x9c20, 0x87ff, 0x1198, 0x00ce, 0x0804, 0x9428, 0x2c78, + 0x600c, 0x2060, 0x0804, 0x9428, 0x9006, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x009e, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x601b, - 0x0000, 0x00ce, 0x97bd, 0x0001, 0x0c80, 0x00e6, 0x2071, 0x19b7, + 0x0000, 0x00ce, 0x97bd, 0x0001, 0x0c80, 0x00e6, 0x2071, 0x19bf, 0x9006, 0x7032, 0x700a, 0x7004, 0x9086, 0x0003, 0x0158, 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1118, 0x7007, 0x0005, 0x0010, 0x7007, 0x0000, 0x00ee, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0066, - 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19b7, 0x2c10, + 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2071, 0x19bf, 0x2c10, 0x7648, 0x2660, 0x2678, 0x8cff, 0x0540, 0x2200, 0x9c06, 0x1508, 0x7048, 0x9c36, 0x1110, 0x660c, 0x764a, 0x7044, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x7046, 0x0010, 0x7047, 0x0000, 0x660c, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, - 0x0000, 0x6004, 0x9086, 0x0040, 0x090c, 0x885d, 0x9085, 0x0001, + 0x0000, 0x6004, 0x9086, 0x0040, 0x090c, 0x8891, 0x9085, 0x0001, 0x0020, 0x2c78, 0x600c, 0x2060, 0x08b0, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00ee, 0x00fe, 0x0005, 0x0096, 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x0066, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, - 0x2071, 0x19b7, 0x7610, 0x2660, 0x2678, 0x8cff, 0x0904, 0x9572, - 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x1904, 0x956d, + 0x2071, 0x19bf, 0x7610, 0x2660, 0x2678, 0x8cff, 0x0904, 0x957a, + 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x1904, 0x9575, 0x7030, 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, - 0x9544, 0x080c, 0x8f9c, 0x68c3, 0x0000, 0x080c, 0x9485, 0x7033, + 0x954c, 0x080c, 0x8fd0, 0x68c3, 0x0000, 0x080c, 0x948d, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, - 0x2001, 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x2069, + 0x2001, 0x0100, 0x080c, 0x2872, 0x9006, 0x080c, 0x2872, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x7010, 0x9c36, 0x1110, 0x660c, 0x7612, 0x700c, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700e, 0x0010, 0x700f, 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, - 0x0000, 0x080c, 0xba46, 0x1180, 0x080c, 0x303d, 0x080c, 0xba57, - 0x1518, 0x080c, 0xa581, 0x0400, 0x080c, 0x9485, 0x6824, 0xd084, - 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xba57, 0x1118, 0x080c, - 0xa581, 0x0090, 0x6014, 0x2048, 0x080c, 0xb840, 0x0168, 0x6020, + 0x0000, 0x080c, 0xba74, 0x1180, 0x080c, 0x305d, 0x080c, 0xba85, + 0x1518, 0x080c, 0xa59c, 0x0400, 0x080c, 0x948d, 0x6824, 0xd084, + 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xba85, 0x1118, 0x080c, + 0xa59c, 0x0090, 0x6014, 0x2048, 0x080c, 0xb86e, 0x0168, 0x6020, 0x9086, 0x0003, 0x1508, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, - 0x080c, 0x6985, 0x080c, 0xba31, 0x080c, 0xbcd3, 0x080c, 0x9c14, - 0x080c, 0x935b, 0x00ce, 0x0804, 0x94ed, 0x2c78, 0x600c, 0x2060, - 0x0804, 0x94ed, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, + 0x080c, 0x69a9, 0x080c, 0xba5f, 0x080c, 0xbd01, 0x080c, 0x9c20, + 0x080c, 0x9363, 0x00ce, 0x0804, 0x94f5, 0x2c78, 0x600c, 0x2060, + 0x0804, 0x94f5, 0x012e, 0x000e, 0x002e, 0x006e, 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x009e, 0x0005, 0x6020, 0x9086, 0x0006, 0x1d20, - 0x080c, 0xd22f, 0x0c08, 0x00d6, 0x080c, 0x8d50, 0x7003, 0x0200, - 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, 0x2099, 0x1959, + 0x080c, 0xd267, 0x0c08, 0x00d6, 0x080c, 0x8d84, 0x7003, 0x0200, + 0x7007, 0x0014, 0x60c3, 0x0014, 0x20e1, 0x0001, 0x2099, 0x1961, 0x20e9, 0x0000, 0x20a1, 0x0250, 0x20a9, 0x0004, 0x4003, 0x7023, - 0x0004, 0x7027, 0x7878, 0x080c, 0x8f6c, 0x00de, 0x0005, 0x080c, - 0x8d50, 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, + 0x0004, 0x7027, 0x7878, 0x080c, 0x8fa0, 0x00de, 0x0005, 0x080c, + 0x8d84, 0x700b, 0x0800, 0x7814, 0x9084, 0xff00, 0x700e, 0x7814, 0x9084, 0x00ff, 0x7022, 0x782c, 0x7026, 0x7860, 0x9084, 0x00ff, 0x9085, 0x0200, 0x7002, 0x7860, 0x9084, 0xff00, 0x8007, 0x7006, - 0x60c2, 0x0804, 0x8f6c, 0x00b6, 0x00d6, 0x0016, 0x00d6, 0x2f68, - 0x2009, 0x0035, 0x080c, 0xbed9, 0x00de, 0x1904, 0x9620, 0x080c, - 0x8d05, 0x7003, 0x1300, 0x782c, 0x080c, 0x972b, 0x2068, 0x6820, - 0x9086, 0x0003, 0x0560, 0x7810, 0x2058, 0xbaa0, 0x080c, 0x9b59, + 0x60c2, 0x0804, 0x8fa0, 0x00b6, 0x00d6, 0x0016, 0x00d6, 0x2f68, + 0x2009, 0x0035, 0x080c, 0xbf07, 0x00de, 0x1904, 0x9628, 0x080c, + 0x8d39, 0x7003, 0x1300, 0x782c, 0x080c, 0x9737, 0x2068, 0x6820, + 0x9086, 0x0003, 0x0560, 0x7810, 0x2058, 0xbaa0, 0x080c, 0x9b65, 0x11d8, 0x9286, 0x007e, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffe, 0x0498, 0x9286, 0x007f, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffd, 0x0458, 0x9284, 0xff80, 0x0180, 0x9286, 0x0080, 0x1128, 0x700b, 0x00ff, 0x700f, 0xfffc, 0x0400, 0x92d8, 0x1000, 0x2b5c, 0xb810, 0x700a, 0xb814, 0x700e, 0x00c0, 0xb884, 0x700e, 0x00a8, 0x080c, - 0x9b59, 0x1130, 0x7810, 0x2058, 0xb8a0, 0x9082, 0x007e, 0x0250, + 0x9b65, 0x1130, 0x7810, 0x2058, 0xb8a0, 0x9082, 0x007e, 0x0250, 0x00d6, 0x2069, 0x181e, 0x2d04, 0x700a, 0x8d68, 0x2d04, 0x700e, 0x00de, 0x0010, 0x6034, 0x700e, 0x7838, 0x7012, 0x783c, 0x7016, - 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, 0x8f6c, 0x00be, 0x0005, + 0x60c3, 0x000c, 0x001e, 0x00de, 0x080c, 0x8fa0, 0x00be, 0x0005, 0x781b, 0x0001, 0x7803, 0x0006, 0x001e, 0x00de, 0x00be, 0x0005, 0x792c, 0x9180, 0x0008, 0x200c, 0x9186, 0x0006, 0x01c0, 0x9186, - 0x0003, 0x0904, 0x969e, 0x9186, 0x0005, 0x0904, 0x9686, 0x9186, - 0x0004, 0x05f0, 0x9186, 0x0008, 0x0904, 0x968f, 0x7807, 0x0037, - 0x782f, 0x0003, 0x7817, 0x1700, 0x080c, 0x9708, 0x0005, 0x080c, - 0x96c9, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6800, - 0x6a44, 0xd2fc, 0x11f8, 0x0002, 0x9667, 0x9672, 0x9669, 0x9672, - 0x966e, 0x9667, 0x9667, 0x9672, 0x9672, 0x9672, 0x9672, 0x9667, - 0x9667, 0x9667, 0x9667, 0x9667, 0x9672, 0x9667, 0x9672, 0x080c, + 0x0003, 0x0904, 0x96a7, 0x9186, 0x0005, 0x0904, 0x968f, 0x9186, + 0x0004, 0x05f0, 0x9186, 0x0008, 0x0904, 0x9698, 0x7807, 0x0037, + 0x782f, 0x0003, 0x7817, 0x1700, 0x080c, 0x9714, 0x0005, 0x080c, + 0x96d5, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x6800, + 0x6a44, 0xd2fc, 0x11f8, 0x0002, 0x966f, 0x967a, 0x9671, 0x967a, + 0x9676, 0x966f, 0x966f, 0x967a, 0x967a, 0x967a, 0x967a, 0x966f, + 0x966f, 0x966f, 0x966f, 0x966f, 0x967a, 0x966f, 0x967a, 0x080c, 0x0d65, 0x6824, 0xd0e4, 0x0110, 0xd0cc, 0x0110, 0x900e, 0x0010, - 0x2009, 0x2000, 0x682c, 0x7022, 0x6830, 0x7026, 0x0804, 0x96c2, - 0x080c, 0x96c9, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, - 0x6a00, 0x9286, 0x0002, 0x1108, 0x900e, 0x04e0, 0x080c, 0x96c9, - 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x0498, 0x04c9, - 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x9286, 0x0005, - 0x0118, 0x9286, 0x0002, 0x1108, 0x900e, 0x0420, 0x0451, 0x00d6, - 0x0026, 0x792c, 0x2168, 0x6814, 0x0096, 0x2048, 0xa9ac, 0xa834, - 0x9112, 0xa9b0, 0xa838, 0x009e, 0x9103, 0x7022, 0x7226, 0x792c, - 0x9180, 0x0011, 0x2004, 0xd0fc, 0x1148, 0x9180, 0x0000, 0x2004, - 0x908e, 0x0002, 0x0130, 0x908e, 0x0004, 0x0118, 0x2009, 0x4000, - 0x0008, 0x900e, 0x712a, 0x60c3, 0x0018, 0x002e, 0x00de, 0x0804, - 0x8f6c, 0x00b6, 0x0036, 0x0046, 0x0056, 0x0066, 0x080c, 0x8d50, - 0x9006, 0x7003, 0x0200, 0x7938, 0x710a, 0x793c, 0x710e, 0x7810, - 0x2058, 0xb8a0, 0x080c, 0x9b59, 0x1118, 0x9092, 0x007e, 0x0268, - 0x00d6, 0x2069, 0x181e, 0x2d2c, 0x8d68, 0x2d34, 0x90d8, 0x1000, - 0x2b5c, 0xbb10, 0xbc14, 0x00de, 0x0028, 0x901e, 0xbc84, 0x2029, - 0x0000, 0x6634, 0x782c, 0x9080, 0x0008, 0x2004, 0x9086, 0x0003, - 0x1128, 0x7512, 0x7616, 0x731a, 0x741e, 0x0020, 0x7312, 0x7416, - 0x751a, 0x761e, 0x006e, 0x005e, 0x004e, 0x003e, 0x00be, 0x0005, - 0x080c, 0x8d50, 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, - 0x700e, 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x080c, 0x8cfc, 0x7003, - 0x1400, 0x7838, 0x700a, 0x0079, 0x783c, 0x700e, 0x782c, 0x7012, - 0x7830, 0x7016, 0x7834, 0x9084, 0x00ff, 0x8007, 0x701a, 0x60c3, - 0x0010, 0x0804, 0x8f6c, 0x00e6, 0x2071, 0x0240, 0x0006, 0x00f6, - 0x2078, 0x7810, 0x00b6, 0x2058, 0xb8c4, 0xd084, 0x0120, 0x7850, - 0x702a, 0x784c, 0x702e, 0x00be, 0x00fe, 0x000e, 0x00ee, 0x0005, - 0x080c, 0x8d47, 0x7003, 0x0100, 0x782c, 0x700a, 0x7814, 0x700e, - 0x60c3, 0x0008, 0x0804, 0x8f6c, 0x00a9, 0x7914, 0x712a, 0x60c3, - 0x0000, 0x60a7, 0x9575, 0x0026, 0x080c, 0x27c1, 0x0228, 0x2011, - 0x0101, 0x2204, 0xc0c5, 0x2012, 0x002e, 0x080c, 0x8f8f, 0x080c, - 0x81e1, 0x0005, 0x0036, 0x0096, 0x00d6, 0x00e6, 0x7860, 0x2048, - 0xaa7c, 0x9296, 0x00c0, 0x9294, 0xfffd, 0xaa7e, 0xaa80, 0x9294, - 0x0300, 0xaa82, 0xa96c, 0x9194, 0x00ff, 0xab74, 0x9384, 0x00ff, - 0x908d, 0xc200, 0xa96e, 0x9384, 0xff00, 0x9215, 0xaa76, 0xa870, - 0xaa78, 0xa87a, 0xaa72, 0x00d6, 0x2069, 0x0200, 0x080c, 0x97e8, - 0x00de, 0x20e9, 0x0000, 0x20a1, 0x0240, 0x20a9, 0x000a, 0xa860, - 0x20e0, 0xa85c, 0x9080, 0x001b, 0x2098, 0x4003, 0x60a3, 0x0035, - 0xaa68, 0x9294, 0x7000, 0x9286, 0x3000, 0x0110, 0x60a3, 0x0037, - 0x00ee, 0x00de, 0x009e, 0x003e, 0x0005, 0x900e, 0x7814, 0x0096, - 0x2048, 0xa87c, 0xd0fc, 0x01c0, 0x9084, 0x0003, 0x11a8, 0x2001, - 0x180c, 0x2004, 0xd0bc, 0x0180, 0x7824, 0xd0cc, 0x1168, 0xd0c4, - 0x1158, 0xa8a8, 0x9005, 0x1140, 0x2001, 0x180c, 0x200c, 0xc1d5, - 0x2102, 0x2009, 0x1982, 0x210c, 0x009e, 0x918d, 0x0092, 0x0010, - 0x2009, 0x0096, 0x60ab, 0x0036, 0x0026, 0x2110, 0x900e, 0x080c, - 0x289b, 0x002e, 0x0005, 0x2009, 0x0009, 0x00a0, 0x2009, 0x000a, - 0x0088, 0x2009, 0x000b, 0x0070, 0x2009, 0x000c, 0x0058, 0x2009, - 0x000d, 0x0040, 0x2009, 0x000e, 0x0028, 0x2009, 0x000f, 0x0010, - 0x2009, 0x0008, 0x6912, 0x0005, 0x00d6, 0x9290, 0x0018, 0x8214, - 0x20e9, 0x0000, 0x2069, 0x0200, 0x6813, 0x0000, 0x22a8, 0x9284, - 0x00e0, 0x0128, 0x20a9, 0x0020, 0x9292, 0x0020, 0x0008, 0x9016, - 0x20a1, 0x0240, 0x9006, 0x4004, 0x82ff, 0x0120, 0x6810, 0x8000, - 0x6812, 0x0c60, 0x00de, 0x0005, 0x00f6, 0x00e6, 0x00d6, 0x00c6, - 0x00a6, 0x0096, 0x0066, 0x0126, 0x2091, 0x8000, 0x2071, 0x19b7, - 0x7610, 0x2660, 0x2678, 0x8cff, 0x0904, 0x9898, 0x7030, 0x9c06, - 0x1520, 0x2069, 0x0100, 0x68c0, 0x9005, 0x0904, 0x986a, 0x080c, - 0x8f9c, 0x68c3, 0x0000, 0x080c, 0x9485, 0x7033, 0x0000, 0x0036, - 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, - 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x2069, 0x0100, 0x6824, - 0xd084, 0x0110, 0x6827, 0x0001, 0x003e, 0x7010, 0x9c36, 0x1110, - 0x660c, 0x7612, 0x700c, 0x9c36, 0x1140, 0x2c00, 0x9f36, 0x0118, - 0x2f00, 0x700e, 0x0010, 0x700f, 0x0000, 0x660c, 0x0066, 0x2c00, - 0x9f06, 0x0110, 0x7e0e, 0x0008, 0x2678, 0x600f, 0x0000, 0x080c, - 0xba46, 0x1180, 0x080c, 0x303d, 0x080c, 0xba57, 0x1518, 0x080c, - 0xa581, 0x0400, 0x080c, 0x9485, 0x6824, 0xd084, 0x09b0, 0x6827, - 0x0001, 0x0898, 0x080c, 0xba57, 0x1118, 0x080c, 0xa581, 0x0090, - 0x6014, 0x2048, 0x080c, 0xb840, 0x0168, 0x6020, 0x9086, 0x0003, - 0x1520, 0xa867, 0x0103, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6991, - 0x080c, 0xba31, 0x080c, 0xbcd3, 0x080c, 0x9c14, 0x080c, 0x935b, - 0x00ce, 0x0804, 0x981b, 0x2c78, 0x600c, 0x2060, 0x0804, 0x981b, - 0x7013, 0x0000, 0x700f, 0x0000, 0x012e, 0x006e, 0x009e, 0x00ae, - 0x00ce, 0x00de, 0x00ee, 0x00fe, 0x0005, 0x6020, 0x9086, 0x0006, - 0x1d08, 0x080c, 0xd22f, 0x08f0, 0x00f6, 0x0036, 0x2079, 0x0380, - 0x7b18, 0xd3bc, 0x1de8, 0x7832, 0x7936, 0x7a3a, 0x781b, 0x8080, - 0x003e, 0x00fe, 0x0005, 0x0016, 0x2001, 0x0382, 0x2004, 0x9084, - 0x0007, 0x9086, 0x0001, 0x1188, 0x2001, 0x0015, 0x0c29, 0x2009, - 0x1000, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, - 0x0120, 0x8109, 0x1db0, 0x080c, 0x0d65, 0x001e, 0x0005, 0x2001, - 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, 0x1120, 0x2001, - 0x0380, 0x2003, 0x0001, 0x0005, 0x0156, 0x0016, 0x0026, 0x00e6, - 0x900e, 0x2071, 0x19b7, 0x0469, 0x0106, 0x0190, 0x7004, 0x9086, - 0x0003, 0x0148, 0x20a9, 0x1000, 0x6044, 0xd0fc, 0x01d8, 0x1f04, - 0x98f4, 0x080c, 0x0d65, 0x080c, 0x98bb, 0x6044, 0xd0fc, 0x0190, - 0x7030, 0x9c06, 0x1148, 0x080c, 0x885d, 0x6044, 0xd0dc, 0x0150, - 0xc0dc, 0x6046, 0x700a, 0x7042, 0x704c, 0x9c06, 0x190c, 0x0d65, - 0x080c, 0x88b8, 0x010e, 0x1919, 0x00ee, 0x002e, 0x001e, 0x015e, - 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0003, - 0x0005, 0x0126, 0x2091, 0x2400, 0x7808, 0xd0a4, 0x190c, 0x0d5e, - 0xd09c, 0x0128, 0x7820, 0x908c, 0xf000, 0x11b8, 0x0012, 0x012e, - 0x0005, 0x9941, 0x997f, 0x99a6, 0x99d6, 0x99e6, 0x99f7, 0x9a06, - 0x9a14, 0x9a25, 0x9a29, 0x9941, 0x9941, 0x9941, 0x9941, 0x9941, - 0x9941, 0x080c, 0x0d65, 0x012e, 0x0005, 0x2060, 0x6044, 0xd0bc, - 0x0140, 0xc0bc, 0x6046, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, - 0x0012, 0x012e, 0x0005, 0x9966, 0x9968, 0x9966, 0x996e, 0x9966, - 0x9966, 0x9966, 0x9966, 0x9966, 0x9968, 0x9966, 0x9968, 0x9966, - 0x9968, 0x9966, 0x9966, 0x9966, 0x9968, 0x9966, 0x080c, 0x0d65, - 0x2009, 0x0013, 0x080c, 0x9c76, 0x012e, 0x0005, 0x6014, 0x2048, - 0xa87c, 0xd0dc, 0x0130, 0x080c, 0x83a2, 0x080c, 0x9bda, 0x012e, - 0x0005, 0x2009, 0x0049, 0x080c, 0x9c76, 0x012e, 0x0005, 0x080c, - 0x98bb, 0x2001, 0x19dc, 0x2003, 0x0000, 0x7030, 0x9065, 0x090c, - 0x0d65, 0x7034, 0x9092, 0x00c8, 0x1258, 0x8000, 0x7036, 0x7004, - 0x9086, 0x0003, 0x0110, 0x7007, 0x0000, 0x781f, 0x0808, 0x0040, - 0x080c, 0xd621, 0x6003, 0x0001, 0x2009, 0x0014, 0x080c, 0x9c76, - 0x781f, 0x0100, 0x080c, 0x98d7, 0x012e, 0x0005, 0x080c, 0x98bb, - 0x714c, 0x81ff, 0x1128, 0x2011, 0x19df, 0x2013, 0x0000, 0x0400, - 0x2061, 0x0100, 0x7150, 0x9192, 0x7530, 0x12b8, 0x8108, 0x7152, - 0x714c, 0x9188, 0x0008, 0x210c, 0x918e, 0x0006, 0x1138, 0x6014, - 0x9084, 0x1984, 0x9085, 0x0012, 0x6016, 0x0050, 0x6014, 0x9084, - 0x1984, 0x9085, 0x0016, 0x6016, 0x0018, 0x706c, 0xc085, 0x706e, - 0x781f, 0x0200, 0x080c, 0x98d7, 0x012e, 0x0005, 0x080c, 0x98bb, - 0x714c, 0x2160, 0x6003, 0x0003, 0x2009, 0x004a, 0x080c, 0x9c76, - 0x781f, 0x0200, 0x080c, 0x98d7, 0x012e, 0x0005, 0x7808, 0xd09c, - 0x0de8, 0x7820, 0x2060, 0x6003, 0x0003, 0x080c, 0x98bb, 0x080c, - 0x1c0f, 0x781f, 0x0400, 0x080c, 0x98d7, 0x012e, 0x0005, 0x7808, - 0xd09c, 0x0de8, 0x7820, 0x2060, 0x080c, 0x98bb, 0x080c, 0x1c57, - 0x781f, 0x0400, 0x080c, 0x98d7, 0x012e, 0x0005, 0x7030, 0x9065, - 0x0148, 0x6044, 0xc0bc, 0x6046, 0x7104, 0x9186, 0x0003, 0x0110, - 0x080c, 0x891c, 0x012e, 0x0005, 0x00f6, 0x703c, 0x9086, 0x0002, - 0x0148, 0x704c, 0x907d, 0x0130, 0x7844, 0xc0bc, 0x7846, 0x080c, - 0x8ec6, 0x0000, 0x00fe, 0x012e, 0x0005, 0x080c, 0x7137, 0x012e, - 0x0005, 0x080c, 0x0d65, 0x0005, 0x00e6, 0x2071, 0x19b7, 0x6044, - 0xc0bc, 0x6046, 0xd0fc, 0x01b8, 0x704c, 0x9c06, 0x1190, 0x2019, - 0x0001, 0x080c, 0x9269, 0x704f, 0x0000, 0x2001, 0x0109, 0x2004, - 0xd08c, 0x1138, 0x2001, 0x0108, 0x2004, 0xd0bc, 0x1110, 0x703f, - 0x0000, 0x080c, 0x949c, 0x00ee, 0x0005, 0x0026, 0x7010, 0x9c06, - 0x1178, 0x080c, 0x935b, 0x6044, 0xc0fc, 0x6046, 0x600c, 0x9015, - 0x0120, 0x7212, 0x600f, 0x0000, 0x0010, 0x7212, 0x720e, 0x9006, - 0x002e, 0x0005, 0x0026, 0x7020, 0x9c06, 0x1178, 0x080c, 0x935b, - 0x6044, 0xc0fc, 0x6046, 0x600c, 0x9015, 0x0120, 0x7222, 0x600f, - 0x0000, 0x0010, 0x7222, 0x721e, 0x9006, 0x002e, 0x0005, 0x00d6, - 0x0036, 0x7830, 0x9c06, 0x1558, 0x2069, 0x0100, 0x68c0, 0x9005, - 0x01f8, 0x080c, 0x81ea, 0x080c, 0x8f9c, 0x68c3, 0x0000, 0x080c, - 0x9485, 0x2069, 0x0140, 0x6b04, 0x9384, 0x1000, 0x0138, 0x2001, - 0x0100, 0x080c, 0x2852, 0x9006, 0x080c, 0x2852, 0x2069, 0x0100, - 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, 0x9085, 0x0001, 0x0038, - 0x7808, 0xc0ad, 0x780a, 0x6003, 0x0009, 0x630a, 0x9006, 0x003e, - 0x00de, 0x0005, 0x0016, 0x0026, 0x0036, 0x6100, 0x2019, 0x0100, - 0x2001, 0x0382, 0x2004, 0xd09c, 0x0190, 0x00c6, 0x0126, 0x2091, - 0x2800, 0x0016, 0x0036, 0x080c, 0x9921, 0x003e, 0x001e, 0x012e, - 0x00ce, 0x6200, 0x2200, 0x9106, 0x0d58, 0x2200, 0x0010, 0x8319, - 0x1d38, 0x003e, 0x002e, 0x001e, 0x0005, 0x00d6, 0x0156, 0x080c, - 0x8d50, 0x7a14, 0x82ff, 0x0138, 0x7003, 0x0100, 0x700b, 0x0003, - 0x60c3, 0x0008, 0x0490, 0x7003, 0x0200, 0x7007, 0x0000, 0x2069, - 0x1800, 0x901e, 0x6800, 0x9086, 0x0004, 0x1110, 0xc38d, 0x0060, - 0x080c, 0x7096, 0x1110, 0xc3ad, 0x0008, 0xc3a5, 0x6ad8, 0xd29c, - 0x1110, 0xd2ac, 0x0108, 0xc39d, 0x730e, 0x2011, 0x1848, 0x63f0, - 0x2312, 0x20a9, 0x0006, 0x2011, 0x1840, 0x2019, 0x1841, 0x2071, - 0x0250, 0x2376, 0x8e70, 0x2276, 0x8e70, 0x9398, 0x0002, 0x9290, - 0x0002, 0x1f04, 0x9b01, 0x60c3, 0x0020, 0x080c, 0x8f6c, 0x015e, - 0x00de, 0x0005, 0x0156, 0x080c, 0x8d50, 0x7a14, 0x82ff, 0x0168, - 0x9286, 0xffff, 0x0118, 0x9282, 0x000e, 0x1238, 0x7003, 0x0100, - 0x700b, 0x0003, 0x60c3, 0x0008, 0x0488, 0x7003, 0x0200, 0x7007, - 0x001c, 0x700f, 0x0001, 0x2011, 0x198d, 0x2204, 0x8007, 0x701a, - 0x8210, 0x2204, 0x8007, 0x701e, 0x0421, 0x1120, 0xb8a0, 0x9082, - 0x007f, 0x0248, 0x2001, 0x181e, 0x2004, 0x7022, 0x2001, 0x181f, - 0x2004, 0x7026, 0x0030, 0x2001, 0x1817, 0x2004, 0x9084, 0x00ff, - 0x7026, 0x20a9, 0x0004, 0x20e1, 0x0001, 0x2099, 0x1805, 0x20e9, - 0x0000, 0x20a1, 0x0256, 0x4003, 0x60c3, 0x001c, 0x015e, 0x0804, - 0x8f6c, 0x0006, 0x2001, 0x1836, 0x2004, 0xd0ac, 0x000e, 0x0005, - 0x2011, 0x0003, 0x080c, 0x931c, 0x2011, 0x0002, 0x080c, 0x9326, - 0x080c, 0x91e9, 0x0036, 0x901e, 0x080c, 0x9269, 0x003e, 0x0005, - 0x2071, 0x1883, 0x7000, 0x9005, 0x0140, 0x2001, 0x0812, 0x2071, - 0x1800, 0x7072, 0x7076, 0x7067, 0xffd4, 0x2071, 0x1800, 0x7070, - 0x7052, 0x7057, 0x1ddc, 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, - 0x2091, 0x8000, 0x7550, 0x9582, 0x0010, 0x0608, 0x7054, 0x2060, - 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x001c, 0x7064, 0x9c02, - 0x1208, 0x0cb0, 0x2061, 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, - 0x7552, 0x9ca8, 0x001c, 0x7064, 0x9502, 0x1230, 0x7556, 0x9085, - 0x0001, 0x012e, 0x00ee, 0x0005, 0x7057, 0x1ddc, 0x0cc0, 0x9006, - 0x0cc0, 0x00e6, 0x2071, 0x1800, 0x7550, 0x9582, 0x0010, 0x0600, - 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x001c, - 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1ddc, 0x0c98, 0x6003, - 0x0008, 0x8529, 0x7552, 0x9ca8, 0x001c, 0x7064, 0x9502, 0x1228, - 0x7556, 0x9085, 0x0001, 0x00ee, 0x0005, 0x7057, 0x1ddc, 0x0cc8, - 0x9006, 0x0cc8, 0x9c82, 0x1ddc, 0x0a0c, 0x0d65, 0x2001, 0x1819, - 0x2004, 0x9c02, 0x1a0c, 0x0d65, 0x9006, 0x6006, 0x600a, 0x600e, - 0x6016, 0x601a, 0x6012, 0x6023, 0x0000, 0x6003, 0x0000, 0x601e, - 0x605e, 0x6062, 0x6026, 0x602a, 0x602e, 0x6032, 0x6036, 0x603a, - 0x603e, 0x604a, 0x6046, 0x6042, 0x2061, 0x1800, 0x6050, 0x8000, - 0x6052, 0x0005, 0x9006, 0x600e, 0x6016, 0x601a, 0x6012, 0x6022, - 0x6002, 0x601e, 0x605e, 0x6062, 0x604a, 0x6046, 0x2061, 0x1800, - 0x6050, 0x8000, 0x6052, 0x0005, 0x0006, 0x6000, 0x9086, 0x0000, - 0x01d0, 0x601c, 0xd084, 0x190c, 0x1921, 0x6023, 0x0007, 0x2001, - 0x1956, 0x2004, 0x0006, 0x9082, 0x0051, 0x000e, 0x0208, 0x8004, - 0x601a, 0x080c, 0xd4df, 0x604b, 0x0000, 0x6044, 0xd0fc, 0x1129, - 0x9006, 0x6046, 0x6016, 0x000e, 0x0005, 0x080c, 0x98bb, 0x0106, - 0x2001, 0x19ca, 0x2004, 0x9c06, 0x1130, 0x0036, 0x2019, 0x0001, - 0x080c, 0x9269, 0x003e, 0x080c, 0x949c, 0x010e, 0x090c, 0x98d7, - 0x0005, 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7550, - 0x9582, 0x0001, 0x0608, 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, - 0x0148, 0x9ce0, 0x001c, 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, - 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7552, 0x9ca8, 0x001c, - 0x7064, 0x9502, 0x1230, 0x7556, 0x9085, 0x0001, 0x012e, 0x00ee, - 0x0005, 0x7057, 0x1ddc, 0x0cc0, 0x9006, 0x0cc0, 0x6020, 0x9084, - 0x000f, 0x0002, 0x9c8a, 0x9c94, 0x9caf, 0x9cca, 0xbfb4, 0xbfd1, - 0xbfec, 0x9c8a, 0x9c94, 0x9c8a, 0x9ce6, 0x9c8a, 0x9c8a, 0x9c8a, - 0x9c8a, 0x9c8a, 0x9186, 0x0013, 0x1130, 0x6044, 0xd0fc, 0x0110, - 0x080c, 0x885d, 0x0005, 0x0005, 0x0066, 0x6000, 0x90b2, 0x0016, - 0x1a0c, 0x0d65, 0x0013, 0x006e, 0x0005, 0x9cad, 0xa3f6, 0xa5c8, - 0x9cad, 0xa656, 0x9faf, 0x9cad, 0x9cad, 0xa378, 0xabfd, 0x9cad, - 0x9cad, 0x9cad, 0x9cad, 0x9cad, 0x9cad, 0x080c, 0x0d65, 0x0066, - 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d65, 0x0013, 0x006e, 0x0005, - 0x9cc8, 0xb202, 0x9cc8, 0x9cc8, 0x9cc8, 0x9cc8, 0x9cc8, 0x9cc8, - 0xb1a7, 0xb385, 0x9cc8, 0xb23f, 0xb2c3, 0xb23f, 0xb2c3, 0x9cc8, - 0x080c, 0x0d65, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d65, 0x6000, - 0x0002, 0x9ce4, 0xac47, 0xacde, 0xae5e, 0xaecd, 0x9ce4, 0x9ce4, - 0x9ce4, 0xac16, 0xb128, 0xb12b, 0x9ce4, 0x9ce4, 0x9ce4, 0x9ce4, - 0xb15b, 0x9ce4, 0x9ce4, 0x9ce4, 0x080c, 0x0d65, 0x0066, 0x6000, - 0x90b2, 0x0016, 0x1a0c, 0x0d65, 0x0013, 0x006e, 0x0005, 0x9cff, - 0x9cff, 0x9d3d, 0x9ddc, 0x9e5c, 0x9cff, 0x9cff, 0x9cff, 0x9d01, - 0x9cff, 0x9cff, 0x9cff, 0x9cff, 0x9cff, 0x9cff, 0x9cff, 0x080c, - 0x0d65, 0x9186, 0x004c, 0x0560, 0x9186, 0x0003, 0x190c, 0x0d65, - 0x0096, 0x601c, 0xc0ed, 0x601e, 0x6003, 0x0003, 0x6106, 0x6014, - 0x2048, 0xa87c, 0x9084, 0xa000, 0xc0b5, 0xa87e, 0xa8ac, 0xa836, - 0xa8b0, 0xa83a, 0x9006, 0xa846, 0xa84a, 0xa884, 0x9092, 0x199a, - 0x0210, 0x2001, 0x1999, 0x8003, 0x8013, 0x8213, 0x9210, 0x621a, - 0x009e, 0x080c, 0x1a71, 0x2009, 0x8030, 0x080c, 0x84fa, 0x0005, - 0x6010, 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x080c, 0x9e7e, - 0x080c, 0xbf79, 0x6003, 0x0007, 0x0005, 0x00d6, 0x0096, 0x00f6, - 0x2079, 0x1800, 0x7a8c, 0x6014, 0x2048, 0xa87c, 0xd0ec, 0x1110, - 0x9290, 0x0018, 0xac78, 0xc4fc, 0x0046, 0xa8e0, 0x9005, 0x1140, - 0xa8dc, 0x921a, 0x0140, 0x0220, 0xa87b, 0x0007, 0x2010, 0x0028, - 0xa87b, 0x0015, 0x0010, 0xa87b, 0x0000, 0x8214, 0xa883, 0x0000, - 0xaa02, 0x0006, 0x0016, 0x0026, 0x00c6, 0x00d6, 0x00e6, 0x00f6, - 0x2400, 0x9005, 0x1108, 0x009a, 0x2100, 0x9086, 0x0015, 0x1118, - 0x2001, 0x0001, 0x0038, 0x2100, 0x9086, 0x0016, 0x0118, 0x2001, - 0x0001, 0x002a, 0x94a4, 0x0007, 0x8423, 0x9405, 0x0002, 0x9da4, - 0x9da4, 0x9d9f, 0x9da2, 0x9da4, 0x9d9c, 0x9d8f, 0x9d8f, 0x9d8f, - 0x9d8f, 0x9d8f, 0x9d8f, 0x9d8f, 0x9d8f, 0x9d8f, 0x9d8f, 0x00fe, - 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, 0x000e, 0x004e, 0x00fe, - 0x009e, 0x00de, 0x080c, 0x0d65, 0x080c, 0xa839, 0x0028, 0x080c, - 0xa95c, 0x0010, 0x080c, 0xaa4b, 0x00fe, 0x00ee, 0x00de, 0x00ce, - 0x002e, 0x001e, 0x2c00, 0xa896, 0x000e, 0x080c, 0x9f3c, 0x0530, - 0xa804, 0xa80e, 0x00a6, 0x2050, 0xb100, 0x00ae, 0x8006, 0x8006, - 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, 0x0002, 0xaacc, - 0xabd0, 0xacd4, 0xadd8, 0x2031, 0x0000, 0x2041, 0x128b, 0x080c, - 0xa0e7, 0x0160, 0x000e, 0x9005, 0x0120, 0x00fe, 0x009e, 0x00de, - 0x0005, 0x00fe, 0x009e, 0x00de, 0x0804, 0x9bda, 0x2001, 0x002c, - 0x900e, 0x080c, 0x9fa2, 0x0c70, 0x91b6, 0x0015, 0x0170, 0x91b6, - 0x0016, 0x0158, 0x91b2, 0x0047, 0x0a0c, 0x0d65, 0x91b2, 0x0050, - 0x1a0c, 0x0d65, 0x9182, 0x0047, 0x0042, 0x080c, 0x9aaa, 0x0120, - 0x9086, 0x0002, 0x0904, 0x9d3d, 0x0005, 0x9dfe, 0x9dfe, 0x9e00, - 0x9e32, 0x9dfe, 0x9dfe, 0x9dfe, 0x9dfe, 0x9e45, 0x080c, 0x0d65, - 0x00d6, 0x0016, 0x0096, 0x6003, 0x0004, 0x6114, 0x2148, 0xa87c, - 0xd0fc, 0x01c0, 0xa878, 0xc0fc, 0x9005, 0x1158, 0xa894, 0x9005, - 0x0140, 0x2001, 0x0000, 0x900e, 0x080c, 0x9fa2, 0x080c, 0x9bda, - 0x00a8, 0x6003, 0x0002, 0xa8a4, 0xa9a8, 0x9105, 0x1178, 0xa8ae, - 0xa8b2, 0x0c78, 0xa87f, 0x0020, 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, - 0xa8a8, 0xa8b2, 0xa8c7, 0x0000, 0xa8cb, 0x0000, 0x009e, 0x001e, - 0x00de, 0x0005, 0x080c, 0x88b8, 0x00d6, 0x0096, 0x6114, 0x2148, - 0x080c, 0xb842, 0x0120, 0xa87b, 0x0006, 0x080c, 0x6991, 0x009e, - 0x00de, 0x080c, 0x9bda, 0x0804, 0x891b, 0x080c, 0x88b8, 0x080c, - 0x300e, 0x080c, 0xbf76, 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, - 0xb842, 0x0120, 0xa87b, 0x0029, 0x080c, 0x6991, 0x009e, 0x00de, - 0x080c, 0x9bda, 0x0804, 0x891b, 0x9182, 0x0047, 0x0002, 0x9e6c, - 0x9e6e, 0x9e6c, 0x9e6c, 0x9e6c, 0x9e6c, 0x9e6c, 0x9e6c, 0x9e6c, - 0x9e6c, 0x9e6c, 0x9e6c, 0x9e6e, 0x080c, 0x0d65, 0x00d6, 0x0096, - 0x080c, 0x15a2, 0x6114, 0x2148, 0xa87b, 0x0000, 0xa883, 0x0000, - 0x080c, 0x6991, 0x009e, 0x00de, 0x0804, 0x9bda, 0x0026, 0x0036, - 0x0056, 0x0066, 0x0096, 0x00a6, 0x00f6, 0x0006, 0x080c, 0x1022, - 0x000e, 0x090c, 0x0d65, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, - 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, 0xa87a, 0x2079, 0x1800, - 0x798c, 0x9188, 0x0018, 0x918c, 0x0fff, 0xa972, 0xac76, 0x2950, - 0x00a6, 0x2001, 0x0205, 0x2003, 0x0000, 0x901e, 0x2029, 0x0001, - 0x9182, 0x0034, 0x1228, 0x2011, 0x001f, 0x080c, 0xb408, 0x04c0, - 0x2130, 0x2009, 0x0034, 0x2011, 0x001f, 0x080c, 0xb408, 0x96b2, - 0x0034, 0xb004, 0x904d, 0x0110, 0x080c, 0x0fd4, 0x080c, 0x1022, - 0x01d0, 0x8528, 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, - 0x968a, 0x003d, 0x1230, 0x2608, 0x2011, 0x001b, 0x080c, 0xb408, - 0x00b8, 0x96b2, 0x003c, 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, - 0x080c, 0xb408, 0x0c18, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, - 0x852f, 0x95ad, 0x0050, 0xb566, 0xb070, 0xc0fd, 0xb072, 0x0048, - 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, - 0xb566, 0x2a48, 0xa804, 0xa807, 0x0000, 0x0006, 0x080c, 0x6991, - 0x000e, 0x2048, 0x9005, 0x1db0, 0x00fe, 0x00ae, 0x009e, 0x006e, - 0x005e, 0x003e, 0x002e, 0x0005, 0x00d6, 0x00f6, 0x0096, 0x0006, - 0x080c, 0x1022, 0x000e, 0x090c, 0x0d65, 0xa960, 0x21e8, 0xa95c, - 0x9188, 0x0019, 0x21a0, 0x900e, 0x20a9, 0x0020, 0x4104, 0xaa66, - 0xa87a, 0x2079, 0x1800, 0x798c, 0x810c, 0x9188, 0x000c, 0x9182, - 0x001a, 0x0210, 0x2009, 0x001a, 0x21a8, 0x810b, 0xa972, 0xac76, - 0x2e98, 0xa85c, 0x9080, 0x001f, 0x20a0, 0x2001, 0x0205, 0x200c, - 0x918d, 0x0080, 0x2102, 0x4003, 0x2003, 0x0000, 0x080c, 0x6991, - 0x009e, 0x00fe, 0x00de, 0x0005, 0x0016, 0x00d6, 0x00f6, 0x0096, - 0x0016, 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x001e, - 0x2079, 0x0200, 0x2e98, 0xa87c, 0xd0ec, 0x0118, 0x9e80, 0x000c, - 0x2098, 0x2021, 0x003e, 0x901e, 0x9282, 0x0020, 0x0218, 0x2011, - 0x0020, 0x2018, 0x9486, 0x003e, 0x1170, 0x0096, 0x080c, 0x1022, - 0x2900, 0x009e, 0x05c0, 0xa806, 0x2048, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0002, 0x20a0, 0x3300, 0x908e, 0x0260, 0x0140, 0x2009, - 0x0280, 0x9102, 0x920a, 0x0218, 0x2010, 0x2100, 0x9318, 0x2200, - 0x9402, 0x1228, 0x2400, 0x9202, 0x2410, 0x9318, 0x9006, 0x2020, - 0x22a8, 0xa800, 0x9200, 0xa802, 0x20e1, 0x0000, 0x4003, 0x83ff, - 0x0180, 0x3300, 0x9086, 0x0280, 0x1130, 0x7814, 0x8000, 0x9085, - 0x0080, 0x7816, 0x2e98, 0x2310, 0x84ff, 0x0904, 0x9f51, 0x0804, - 0x9f53, 0x9085, 0x0001, 0x7817, 0x0000, 0x009e, 0x00fe, 0x00de, - 0x001e, 0x0005, 0x00d6, 0x0036, 0x0096, 0x6314, 0x2348, 0xa87a, - 0xa982, 0x080c, 0x6985, 0x009e, 0x003e, 0x00de, 0x0005, 0x91b6, - 0x0015, 0x1118, 0x080c, 0x9bda, 0x0030, 0x91b6, 0x0016, 0x190c, - 0x0d65, 0x080c, 0x9bda, 0x0005, 0x20a9, 0x000e, 0x20e1, 0x0000, - 0x2e98, 0x6014, 0x0096, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x20a0, - 0x009e, 0x4003, 0x0136, 0x9080, 0x001b, 0x20a0, 0x2011, 0x0006, - 0x20a9, 0x0001, 0x3418, 0x8318, 0x23a0, 0x4003, 0x3318, 0x8318, - 0x2398, 0x8211, 0x1db8, 0x2011, 0x0006, 0x013e, 0x20a0, 0x3318, - 0x8318, 0x2398, 0x4003, 0x3418, 0x8318, 0x23a0, 0x8211, 0x1db8, - 0x0096, 0x080c, 0xb842, 0x0130, 0x6014, 0x2048, 0xa807, 0x0000, - 0xa867, 0x0103, 0x009e, 0x0804, 0x9bda, 0x0096, 0x00d6, 0x0036, - 0x7330, 0x9386, 0x0200, 0x11a8, 0x6010, 0x00b6, 0x2058, 0xb8c7, - 0x0000, 0x00be, 0x6014, 0x9005, 0x0130, 0x2048, 0xa807, 0x0000, - 0xa867, 0x0103, 0xab32, 0x080c, 0x9bda, 0x003e, 0x00de, 0x009e, - 0x0005, 0x0011, 0x1d48, 0x0cc8, 0x0006, 0x0016, 0x080c, 0xbf61, - 0x0188, 0x6014, 0x9005, 0x1170, 0x600b, 0x0003, 0x601b, 0x0000, - 0x604b, 0x0000, 0x2009, 0x0022, 0x080c, 0xa3ce, 0x9006, 0x001e, - 0x000e, 0x0005, 0x9085, 0x0001, 0x0cd0, 0x0096, 0x0016, 0x20a9, - 0x0014, 0x9e80, 0x000c, 0x20e1, 0x0000, 0x2098, 0x6014, 0x2048, + 0x2009, 0x2000, 0x682c, 0x7022, 0x6830, 0x7026, 0x0804, 0x96ce, + 0x080c, 0x96d5, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, + 0x6a00, 0x9286, 0x0002, 0x1108, 0x900e, 0x0804, 0x96ce, 0x080c, + 0x96d5, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x04b0, + 0x04e1, 0x00d6, 0x0026, 0x792c, 0x2168, 0x2009, 0x4000, 0x9286, + 0x0005, 0x0118, 0x9286, 0x0002, 0x1108, 0x900e, 0x0438, 0x0469, + 0x00d6, 0x0026, 0x792c, 0x2168, 0x6814, 0x6924, 0xc185, 0x6926, + 0x0096, 0x2048, 0xa9ac, 0xa834, 0x9112, 0xa9b0, 0xa838, 0x009e, + 0x9103, 0x7022, 0x7226, 0x792c, 0x9180, 0x0011, 0x2004, 0xd0fc, + 0x1148, 0x9180, 0x0000, 0x2004, 0x908e, 0x0002, 0x0130, 0x908e, + 0x0004, 0x0118, 0x2009, 0x4000, 0x0008, 0x900e, 0x712a, 0x60c3, + 0x0018, 0x002e, 0x00de, 0x0804, 0x8fa0, 0x00b6, 0x0036, 0x0046, + 0x0056, 0x0066, 0x080c, 0x8d84, 0x9006, 0x7003, 0x0200, 0x7938, + 0x710a, 0x793c, 0x710e, 0x7810, 0x2058, 0xb8a0, 0x080c, 0x9b65, + 0x1118, 0x9092, 0x007e, 0x0268, 0x00d6, 0x2069, 0x181e, 0x2d2c, + 0x8d68, 0x2d34, 0x90d8, 0x1000, 0x2b5c, 0xbb10, 0xbc14, 0x00de, + 0x0028, 0x901e, 0xbc84, 0x2029, 0x0000, 0x6634, 0x782c, 0x9080, + 0x0008, 0x2004, 0x9086, 0x0003, 0x1128, 0x7512, 0x7616, 0x731a, + 0x741e, 0x0020, 0x7312, 0x7416, 0x751a, 0x761e, 0x006e, 0x005e, + 0x004e, 0x003e, 0x00be, 0x0005, 0x080c, 0x8d84, 0x7003, 0x0100, + 0x782c, 0x700a, 0x7814, 0x700e, 0x700e, 0x60c3, 0x0008, 0x0804, + 0x8fa0, 0x080c, 0x8d30, 0x7003, 0x1400, 0x7838, 0x700a, 0x0079, + 0x783c, 0x700e, 0x782c, 0x7012, 0x7830, 0x7016, 0x7834, 0x9084, + 0x00ff, 0x8007, 0x701a, 0x60c3, 0x0010, 0x0804, 0x8fa0, 0x00e6, + 0x2071, 0x0240, 0x0006, 0x00f6, 0x2078, 0x7810, 0x00b6, 0x2058, + 0xb8c4, 0xd084, 0x0120, 0x7850, 0x702a, 0x784c, 0x702e, 0x00be, + 0x00fe, 0x000e, 0x00ee, 0x0005, 0x080c, 0x8d7b, 0x7003, 0x0100, + 0x782c, 0x700a, 0x7814, 0x700e, 0x60c3, 0x0008, 0x0804, 0x8fa0, + 0x00a9, 0x7914, 0x712a, 0x60c3, 0x0000, 0x60a7, 0x9575, 0x0026, + 0x080c, 0x27dd, 0x0228, 0x2011, 0x0101, 0x2204, 0xc0c5, 0x2012, + 0x002e, 0x080c, 0x8fc3, 0x080c, 0x8215, 0x0005, 0x0036, 0x0096, + 0x00d6, 0x00e6, 0x7860, 0x2048, 0xaa7c, 0x9296, 0x00c0, 0x9294, + 0xfffd, 0xaa7e, 0xaa80, 0x9294, 0x0300, 0xaa82, 0xa96c, 0x9194, + 0x00ff, 0xab74, 0x9384, 0x00ff, 0x908d, 0xc200, 0xa96e, 0x9384, + 0xff00, 0x9215, 0xaa76, 0xa870, 0xaa78, 0xa87a, 0xaa72, 0x00d6, + 0x2069, 0x0200, 0x080c, 0x97f4, 0x00de, 0x20e9, 0x0000, 0x20a1, + 0x0240, 0x20a9, 0x000a, 0xa860, 0x20e0, 0xa85c, 0x9080, 0x001b, + 0x2098, 0x4003, 0x60a3, 0x0035, 0xaa68, 0x9294, 0x7000, 0x9286, + 0x3000, 0x0110, 0x60a3, 0x0037, 0x00ee, 0x00de, 0x009e, 0x003e, + 0x0005, 0x900e, 0x7814, 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x01c0, + 0x9084, 0x0003, 0x11a8, 0x2001, 0x180c, 0x2004, 0xd0bc, 0x0180, + 0x7824, 0xd0cc, 0x1168, 0xd0c4, 0x1158, 0xa8a8, 0x9005, 0x1140, + 0x2001, 0x180c, 0x200c, 0xc1d5, 0x2102, 0x2009, 0x198a, 0x210c, + 0x009e, 0x918d, 0x0092, 0x0010, 0x2009, 0x0096, 0x60ab, 0x0036, + 0x0026, 0x2110, 0x900e, 0x080c, 0x28bb, 0x002e, 0x0005, 0x2009, + 0x0009, 0x00a0, 0x2009, 0x000a, 0x0088, 0x2009, 0x000b, 0x0070, + 0x2009, 0x000c, 0x0058, 0x2009, 0x000d, 0x0040, 0x2009, 0x000e, + 0x0028, 0x2009, 0x000f, 0x0010, 0x2009, 0x0008, 0x6912, 0x0005, + 0x00d6, 0x9290, 0x0018, 0x8214, 0x20e9, 0x0000, 0x2069, 0x0200, + 0x6813, 0x0000, 0x22a8, 0x9284, 0x00e0, 0x0128, 0x20a9, 0x0020, + 0x9292, 0x0020, 0x0008, 0x9016, 0x20a1, 0x0240, 0x9006, 0x4004, + 0x82ff, 0x0120, 0x6810, 0x8000, 0x6812, 0x0c60, 0x00de, 0x0005, + 0x00f6, 0x00e6, 0x00d6, 0x00c6, 0x00a6, 0x0096, 0x0066, 0x0126, + 0x2091, 0x8000, 0x2071, 0x19bf, 0x7610, 0x2660, 0x2678, 0x8cff, + 0x0904, 0x98a4, 0x7030, 0x9c06, 0x1520, 0x2069, 0x0100, 0x68c0, + 0x9005, 0x0904, 0x9876, 0x080c, 0x8fd0, 0x68c3, 0x0000, 0x080c, + 0x948d, 0x7033, 0x0000, 0x0036, 0x2069, 0x0140, 0x6b04, 0x9384, + 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2872, 0x9006, 0x080c, + 0x2872, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, 0x0001, + 0x003e, 0x7010, 0x9c36, 0x1110, 0x660c, 0x7612, 0x700c, 0x9c36, + 0x1140, 0x2c00, 0x9f36, 0x0118, 0x2f00, 0x700e, 0x0010, 0x700f, + 0x0000, 0x660c, 0x0066, 0x2c00, 0x9f06, 0x0110, 0x7e0e, 0x0008, + 0x2678, 0x600f, 0x0000, 0x080c, 0xba74, 0x1180, 0x080c, 0x305d, + 0x080c, 0xba85, 0x1518, 0x080c, 0xa59c, 0x0400, 0x080c, 0x948d, + 0x6824, 0xd084, 0x09b0, 0x6827, 0x0001, 0x0898, 0x080c, 0xba85, + 0x1118, 0x080c, 0xa59c, 0x0090, 0x6014, 0x2048, 0x080c, 0xb86e, + 0x0168, 0x6020, 0x9086, 0x0003, 0x1520, 0xa867, 0x0103, 0xab7a, + 0xa877, 0x0000, 0x080c, 0x69b5, 0x080c, 0xba5f, 0x080c, 0xbd01, + 0x080c, 0x9c20, 0x080c, 0x9363, 0x00ce, 0x0804, 0x9827, 0x2c78, + 0x600c, 0x2060, 0x0804, 0x9827, 0x7013, 0x0000, 0x700f, 0x0000, + 0x012e, 0x006e, 0x009e, 0x00ae, 0x00ce, 0x00de, 0x00ee, 0x00fe, + 0x0005, 0x6020, 0x9086, 0x0006, 0x1d08, 0x080c, 0xd267, 0x08f0, + 0x00f6, 0x0036, 0x2079, 0x0380, 0x7b18, 0xd3bc, 0x1de8, 0x7832, + 0x7936, 0x7a3a, 0x781b, 0x8080, 0x003e, 0x00fe, 0x0005, 0x0016, + 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, 0x9086, 0x0001, 0x1188, + 0x2001, 0x0015, 0x0c29, 0x2009, 0x1000, 0x2001, 0x0382, 0x2004, + 0x9084, 0x0007, 0x9086, 0x0003, 0x0120, 0x8109, 0x1db0, 0x080c, + 0x0d65, 0x001e, 0x0005, 0x2001, 0x0382, 0x2004, 0x9084, 0x0007, + 0x9086, 0x0003, 0x1120, 0x2001, 0x0380, 0x2003, 0x0001, 0x0005, + 0x0156, 0x0016, 0x0026, 0x00e6, 0x900e, 0x2071, 0x19bf, 0x0469, + 0x0106, 0x0190, 0x7004, 0x9086, 0x0003, 0x0148, 0x20a9, 0x1000, + 0x6044, 0xd0fc, 0x01d8, 0x1f04, 0x9900, 0x080c, 0x0d65, 0x080c, + 0x98c7, 0x6044, 0xd0fc, 0x0190, 0x7030, 0x9c06, 0x1148, 0x080c, + 0x8891, 0x6044, 0xd0dc, 0x0150, 0xc0dc, 0x6046, 0x700a, 0x7042, + 0x704c, 0x9c06, 0x190c, 0x0d65, 0x080c, 0x88ec, 0x010e, 0x1919, + 0x00ee, 0x002e, 0x001e, 0x015e, 0x0005, 0x2001, 0x0382, 0x2004, + 0x9084, 0x0007, 0x9086, 0x0003, 0x0005, 0x0126, 0x2091, 0x2400, + 0x7808, 0xd0a4, 0x190c, 0x0d5e, 0xd09c, 0x0128, 0x7820, 0x908c, + 0xf000, 0x11b8, 0x0012, 0x012e, 0x0005, 0x994d, 0x998b, 0x99b2, + 0x99e2, 0x99f2, 0x9a03, 0x9a12, 0x9a20, 0x9a31, 0x9a35, 0x994d, + 0x994d, 0x994d, 0x994d, 0x994d, 0x994d, 0x080c, 0x0d65, 0x012e, + 0x0005, 0x2060, 0x6044, 0xd0bc, 0x0140, 0xc0bc, 0x6046, 0x6000, + 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x0012, 0x012e, 0x0005, 0x9972, + 0x9974, 0x9972, 0x997a, 0x9972, 0x9972, 0x9972, 0x9972, 0x9972, + 0x9974, 0x9972, 0x9974, 0x9972, 0x9974, 0x9972, 0x9972, 0x9972, + 0x9974, 0x9972, 0x080c, 0x0d65, 0x2009, 0x0013, 0x080c, 0x9c82, + 0x012e, 0x0005, 0x6014, 0x2048, 0xa87c, 0xd0dc, 0x0130, 0x080c, + 0x83d6, 0x080c, 0x9be6, 0x012e, 0x0005, 0x2009, 0x0049, 0x080c, + 0x9c82, 0x012e, 0x0005, 0x080c, 0x98c7, 0x2001, 0x19e4, 0x2003, + 0x0000, 0x7030, 0x9065, 0x090c, 0x0d65, 0x7034, 0x9092, 0x00c8, + 0x1258, 0x8000, 0x7036, 0x7004, 0x9086, 0x0003, 0x0110, 0x7007, + 0x0000, 0x781f, 0x0808, 0x0040, 0x080c, 0xd659, 0x6003, 0x0001, + 0x2009, 0x0014, 0x080c, 0x9c82, 0x781f, 0x0100, 0x080c, 0x98e3, + 0x012e, 0x0005, 0x080c, 0x98c7, 0x714c, 0x81ff, 0x1128, 0x2011, + 0x19e7, 0x2013, 0x0000, 0x0400, 0x2061, 0x0100, 0x7150, 0x9192, + 0x7530, 0x12b8, 0x8108, 0x7152, 0x714c, 0x9188, 0x0008, 0x210c, + 0x918e, 0x0006, 0x1138, 0x6014, 0x9084, 0x1984, 0x9085, 0x0012, + 0x6016, 0x0050, 0x6014, 0x9084, 0x1984, 0x9085, 0x0016, 0x6016, + 0x0018, 0x706c, 0xc085, 0x706e, 0x781f, 0x0200, 0x080c, 0x98e3, + 0x012e, 0x0005, 0x080c, 0x98c7, 0x714c, 0x2160, 0x6003, 0x0003, + 0x2009, 0x004a, 0x080c, 0x9c82, 0x781f, 0x0200, 0x080c, 0x98e3, + 0x012e, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x2060, 0x6003, + 0x0003, 0x080c, 0x98c7, 0x080c, 0x1c27, 0x781f, 0x0400, 0x080c, + 0x98e3, 0x012e, 0x0005, 0x7808, 0xd09c, 0x0de8, 0x7820, 0x2060, + 0x080c, 0x98c7, 0x080c, 0x1c6f, 0x781f, 0x0400, 0x080c, 0x98e3, + 0x012e, 0x0005, 0x7030, 0x9065, 0x0148, 0x6044, 0xc0bc, 0x6046, + 0x7104, 0x9186, 0x0003, 0x0110, 0x080c, 0x8950, 0x012e, 0x0005, + 0x00f6, 0x703c, 0x9086, 0x0002, 0x0148, 0x704c, 0x907d, 0x0130, + 0x7844, 0xc0bc, 0x7846, 0x080c, 0x8efa, 0x0000, 0x00fe, 0x012e, + 0x0005, 0x080c, 0x715f, 0x012e, 0x0005, 0x080c, 0x0d65, 0x0005, + 0x00e6, 0x2071, 0x19bf, 0x6044, 0xc0bc, 0x6046, 0xd0fc, 0x01b8, + 0x704c, 0x9c06, 0x1190, 0x2019, 0x0001, 0x080c, 0x929d, 0x704f, + 0x0000, 0x2001, 0x0109, 0x2004, 0xd08c, 0x1138, 0x2001, 0x0108, + 0x2004, 0xd0bc, 0x1110, 0x703f, 0x0000, 0x080c, 0x94a4, 0x00ee, + 0x0005, 0x0026, 0x7010, 0x9c06, 0x1178, 0x080c, 0x9363, 0x6044, + 0xc0fc, 0x6046, 0x600c, 0x9015, 0x0120, 0x7212, 0x600f, 0x0000, + 0x0010, 0x7212, 0x720e, 0x9006, 0x002e, 0x0005, 0x0026, 0x7020, + 0x9c06, 0x1178, 0x080c, 0x9363, 0x6044, 0xc0fc, 0x6046, 0x600c, + 0x9015, 0x0120, 0x7222, 0x600f, 0x0000, 0x0010, 0x7222, 0x721e, + 0x9006, 0x002e, 0x0005, 0x00d6, 0x0036, 0x7830, 0x9c06, 0x1558, + 0x2069, 0x0100, 0x68c0, 0x9005, 0x01f8, 0x080c, 0x821e, 0x080c, + 0x8fd0, 0x68c3, 0x0000, 0x080c, 0x948d, 0x2069, 0x0140, 0x6b04, + 0x9384, 0x1000, 0x0138, 0x2001, 0x0100, 0x080c, 0x2872, 0x9006, + 0x080c, 0x2872, 0x2069, 0x0100, 0x6824, 0xd084, 0x0110, 0x6827, + 0x0001, 0x9085, 0x0001, 0x0038, 0x7808, 0xc0ad, 0x780a, 0x6003, + 0x0009, 0x630a, 0x9006, 0x003e, 0x00de, 0x0005, 0x0016, 0x0026, + 0x0036, 0x6100, 0x2019, 0x0100, 0x2001, 0x0382, 0x2004, 0xd09c, + 0x0190, 0x00c6, 0x0126, 0x2091, 0x2800, 0x0016, 0x0036, 0x080c, + 0x992d, 0x003e, 0x001e, 0x012e, 0x00ce, 0x6200, 0x2200, 0x9106, + 0x0d58, 0x2200, 0x0010, 0x8319, 0x1d38, 0x003e, 0x002e, 0x001e, + 0x0005, 0x00d6, 0x0156, 0x080c, 0x8d84, 0x7a14, 0x82ff, 0x0138, + 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, 0x0490, 0x7003, + 0x0200, 0x7007, 0x0000, 0x2069, 0x1800, 0x901e, 0x6800, 0x9086, + 0x0004, 0x1110, 0xc38d, 0x0060, 0x080c, 0x70ba, 0x1110, 0xc3ad, + 0x0008, 0xc3a5, 0x6ad8, 0xd29c, 0x1110, 0xd2ac, 0x0108, 0xc39d, + 0x730e, 0x2011, 0x1848, 0x63f0, 0x2312, 0x20a9, 0x0006, 0x2011, + 0x1840, 0x2019, 0x1841, 0x2071, 0x0250, 0x2376, 0x8e70, 0x2276, + 0x8e70, 0x9398, 0x0002, 0x9290, 0x0002, 0x1f04, 0x9b0d, 0x60c3, + 0x0020, 0x080c, 0x8fa0, 0x015e, 0x00de, 0x0005, 0x0156, 0x080c, + 0x8d84, 0x7a14, 0x82ff, 0x0168, 0x9286, 0xffff, 0x0118, 0x9282, + 0x000e, 0x1238, 0x7003, 0x0100, 0x700b, 0x0003, 0x60c3, 0x0008, + 0x0488, 0x7003, 0x0200, 0x7007, 0x001c, 0x700f, 0x0001, 0x2011, + 0x1995, 0x2204, 0x8007, 0x701a, 0x8210, 0x2204, 0x8007, 0x701e, + 0x0421, 0x1120, 0xb8a0, 0x9082, 0x007f, 0x0248, 0x2001, 0x181e, + 0x2004, 0x7022, 0x2001, 0x181f, 0x2004, 0x7026, 0x0030, 0x2001, + 0x1817, 0x2004, 0x9084, 0x00ff, 0x7026, 0x20a9, 0x0004, 0x20e1, + 0x0001, 0x2099, 0x1805, 0x20e9, 0x0000, 0x20a1, 0x0256, 0x4003, + 0x60c3, 0x001c, 0x015e, 0x0804, 0x8fa0, 0x0006, 0x2001, 0x1836, + 0x2004, 0xd0ac, 0x000e, 0x0005, 0x2011, 0x0003, 0x080c, 0x9324, + 0x2011, 0x0002, 0x080c, 0x932e, 0x080c, 0x921d, 0x0036, 0x901e, + 0x080c, 0x929d, 0x003e, 0x0005, 0x2071, 0x188b, 0x7000, 0x9005, + 0x0140, 0x2001, 0x0812, 0x2071, 0x1800, 0x7072, 0x7076, 0x7067, + 0xffd4, 0x2071, 0x1800, 0x7070, 0x7052, 0x7057, 0x1ddc, 0x0005, + 0x00e6, 0x0126, 0x2071, 0x1800, 0x2091, 0x8000, 0x7550, 0x9582, + 0x0010, 0x0608, 0x7054, 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, + 0x9ce0, 0x001c, 0x7064, 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1ddc, + 0x0c98, 0x6003, 0x0008, 0x8529, 0x7552, 0x9ca8, 0x001c, 0x7064, + 0x9502, 0x1230, 0x7556, 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, + 0x7057, 0x1ddc, 0x0cc0, 0x9006, 0x0cc0, 0x00e6, 0x2071, 0x1800, + 0x7550, 0x9582, 0x0010, 0x0600, 0x7054, 0x2060, 0x6000, 0x9086, + 0x0000, 0x0148, 0x9ce0, 0x001c, 0x7064, 0x9c02, 0x1208, 0x0cb0, + 0x2061, 0x1ddc, 0x0c98, 0x6003, 0x0008, 0x8529, 0x7552, 0x9ca8, + 0x001c, 0x7064, 0x9502, 0x1228, 0x7556, 0x9085, 0x0001, 0x00ee, + 0x0005, 0x7057, 0x1ddc, 0x0cc8, 0x9006, 0x0cc8, 0x9c82, 0x1ddc, + 0x0a0c, 0x0d65, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1a0c, 0x0d65, + 0x9006, 0x6006, 0x600a, 0x600e, 0x6016, 0x601a, 0x6012, 0x6023, + 0x0000, 0x6003, 0x0000, 0x601e, 0x605e, 0x6062, 0x6026, 0x602a, + 0x602e, 0x6032, 0x6036, 0x603a, 0x603e, 0x604a, 0x6046, 0x6042, + 0x2061, 0x1800, 0x6050, 0x8000, 0x6052, 0x0005, 0x9006, 0x600e, + 0x6016, 0x601a, 0x6012, 0x6022, 0x6002, 0x601e, 0x605e, 0x6062, + 0x604a, 0x6046, 0x2061, 0x1800, 0x6050, 0x8000, 0x6052, 0x0005, + 0x0006, 0x6000, 0x9086, 0x0000, 0x01d0, 0x601c, 0xd084, 0x190c, + 0x193e, 0x6023, 0x0007, 0x2001, 0x195e, 0x2004, 0x0006, 0x9082, + 0x0051, 0x000e, 0x0208, 0x8004, 0x601a, 0x080c, 0xd517, 0x604b, + 0x0000, 0x6044, 0xd0fc, 0x1129, 0x9006, 0x6046, 0x6016, 0x000e, + 0x0005, 0x080c, 0x98c7, 0x0106, 0x2001, 0x19d2, 0x2004, 0x9c06, + 0x1130, 0x0036, 0x2019, 0x0001, 0x080c, 0x929d, 0x003e, 0x080c, + 0x94a4, 0x010e, 0x090c, 0x98e3, 0x0005, 0x00e6, 0x0126, 0x2071, + 0x1800, 0x2091, 0x8000, 0x7550, 0x9582, 0x0001, 0x0608, 0x7054, + 0x2060, 0x6000, 0x9086, 0x0000, 0x0148, 0x9ce0, 0x001c, 0x7064, + 0x9c02, 0x1208, 0x0cb0, 0x2061, 0x1ddc, 0x0c98, 0x6003, 0x0008, + 0x8529, 0x7552, 0x9ca8, 0x001c, 0x7064, 0x9502, 0x1230, 0x7556, + 0x9085, 0x0001, 0x012e, 0x00ee, 0x0005, 0x7057, 0x1ddc, 0x0cc0, + 0x9006, 0x0cc0, 0x6020, 0x9084, 0x000f, 0x0002, 0x9c96, 0x9ca0, + 0x9cbb, 0x9cd6, 0xbfe2, 0xbfff, 0xc01a, 0x9c96, 0x9ca0, 0x9c96, + 0x9cf2, 0x9c96, 0x9c96, 0x9c96, 0x9c96, 0x9c96, 0x9186, 0x0013, + 0x1130, 0x6044, 0xd0fc, 0x0110, 0x080c, 0x8891, 0x0005, 0x0005, + 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d65, 0x0013, 0x006e, + 0x0005, 0x9cb9, 0xa40f, 0xa5e3, 0x9cb9, 0xa671, 0x9fbb, 0x9cb9, + 0x9cb9, 0xa391, 0xac18, 0x9cb9, 0x9cb9, 0x9cb9, 0x9cb9, 0x9cb9, + 0x9cb9, 0x080c, 0x0d65, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d65, 0x0013, 0x006e, 0x0005, 0x9cd4, 0xb220, 0x9cd4, 0x9cd4, + 0x9cd4, 0x9cd4, 0x9cd4, 0x9cd4, 0xb1c2, 0xb3a3, 0x9cd4, 0xb25d, + 0xb2e1, 0xb25d, 0xb2e1, 0x9cd4, 0x080c, 0x0d65, 0x6000, 0x9082, + 0x0016, 0x1a0c, 0x0d65, 0x6000, 0x0002, 0x9cf0, 0xac62, 0xacf9, + 0xae79, 0xaee8, 0x9cf0, 0x9cf0, 0x9cf0, 0xac31, 0xb143, 0xb146, + 0x9cf0, 0x9cf0, 0x9cf0, 0x9cf0, 0xb176, 0x9cf0, 0x9cf0, 0x9cf0, + 0x080c, 0x0d65, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d65, + 0x0013, 0x006e, 0x0005, 0x9d0b, 0x9d0b, 0x9d49, 0x9de8, 0x9e68, + 0x9d0b, 0x9d0b, 0x9d0b, 0x9d0d, 0x9d0b, 0x9d0b, 0x9d0b, 0x9d0b, + 0x9d0b, 0x9d0b, 0x9d0b, 0x080c, 0x0d65, 0x9186, 0x004c, 0x0560, + 0x9186, 0x0003, 0x190c, 0x0d65, 0x0096, 0x601c, 0xc0ed, 0x601e, + 0x6003, 0x0003, 0x6106, 0x6014, 0x2048, 0xa87c, 0x9084, 0xa000, + 0xc0b5, 0xa87e, 0xa8ac, 0xa836, 0xa8b0, 0xa83a, 0x9006, 0xa846, + 0xa84a, 0xa884, 0x9092, 0x199a, 0x0210, 0x2001, 0x1999, 0x8003, + 0x8013, 0x8213, 0x9210, 0x621a, 0x009e, 0x080c, 0x1a89, 0x2009, + 0x8030, 0x080c, 0x852e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xbca0, + 0x00be, 0x2c00, 0x080c, 0x9e8a, 0x080c, 0xbfa7, 0x6003, 0x0007, + 0x0005, 0x00d6, 0x0096, 0x00f6, 0x2079, 0x1800, 0x7a8c, 0x6014, + 0x2048, 0xa87c, 0xd0ec, 0x1110, 0x9290, 0x0018, 0xac78, 0xc4fc, + 0x0046, 0xa8e0, 0x9005, 0x1140, 0xa8dc, 0x921a, 0x0140, 0x0220, + 0xa87b, 0x0007, 0x2010, 0x0028, 0xa87b, 0x0015, 0x0010, 0xa87b, + 0x0000, 0x8214, 0xa883, 0x0000, 0xaa02, 0x0006, 0x0016, 0x0026, + 0x00c6, 0x00d6, 0x00e6, 0x00f6, 0x2400, 0x9005, 0x1108, 0x009a, + 0x2100, 0x9086, 0x0015, 0x1118, 0x2001, 0x0001, 0x0038, 0x2100, + 0x9086, 0x0016, 0x0118, 0x2001, 0x0001, 0x002a, 0x94a4, 0x0007, + 0x8423, 0x9405, 0x0002, 0x9db0, 0x9db0, 0x9dab, 0x9dae, 0x9db0, + 0x9da8, 0x9d9b, 0x9d9b, 0x9d9b, 0x9d9b, 0x9d9b, 0x9d9b, 0x9d9b, + 0x9d9b, 0x9d9b, 0x9d9b, 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, + 0x001e, 0x000e, 0x004e, 0x00fe, 0x009e, 0x00de, 0x080c, 0x0d65, + 0x080c, 0xa854, 0x0028, 0x080c, 0xa977, 0x0010, 0x080c, 0xaa66, + 0x00fe, 0x00ee, 0x00de, 0x00ce, 0x002e, 0x001e, 0x2c00, 0xa896, + 0x000e, 0x080c, 0x9f48, 0x0530, 0xa804, 0xa80e, 0x00a6, 0x2050, + 0xb100, 0x00ae, 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, + 0xffc0, 0x9080, 0x0002, 0xaacc, 0xabd0, 0xacd4, 0xadd8, 0x2031, + 0x0000, 0x2041, 0x1298, 0x080c, 0xa0f3, 0x0160, 0x000e, 0x9005, + 0x0120, 0x00fe, 0x009e, 0x00de, 0x0005, 0x00fe, 0x009e, 0x00de, + 0x0804, 0x9be6, 0x2001, 0x002c, 0x900e, 0x080c, 0x9fae, 0x0c70, + 0x91b6, 0x0015, 0x0170, 0x91b6, 0x0016, 0x0158, 0x91b2, 0x0047, + 0x0a0c, 0x0d65, 0x91b2, 0x0050, 0x1a0c, 0x0d65, 0x9182, 0x0047, + 0x0042, 0x080c, 0x9ab6, 0x0120, 0x9086, 0x0002, 0x0904, 0x9d49, + 0x0005, 0x9e0a, 0x9e0a, 0x9e0c, 0x9e3e, 0x9e0a, 0x9e0a, 0x9e0a, + 0x9e0a, 0x9e51, 0x080c, 0x0d65, 0x00d6, 0x0016, 0x0096, 0x6003, + 0x0004, 0x6114, 0x2148, 0xa87c, 0xd0fc, 0x01c0, 0xa878, 0xc0fc, + 0x9005, 0x1158, 0xa894, 0x9005, 0x0140, 0x2001, 0x0000, 0x900e, + 0x080c, 0x9fae, 0x080c, 0x9be6, 0x00a8, 0x6003, 0x0002, 0xa8a4, + 0xa9a8, 0x9105, 0x1178, 0xa8ae, 0xa8b2, 0x0c78, 0xa87f, 0x0020, + 0xa88c, 0xa88a, 0xa8a4, 0xa8ae, 0xa8a8, 0xa8b2, 0xa8c7, 0x0000, + 0xa8cb, 0x0000, 0x009e, 0x001e, 0x00de, 0x0005, 0x080c, 0x88ec, + 0x00d6, 0x0096, 0x6114, 0x2148, 0x080c, 0xb870, 0x0120, 0xa87b, + 0x0006, 0x080c, 0x69b5, 0x009e, 0x00de, 0x080c, 0x9be6, 0x0804, + 0x894f, 0x080c, 0x88ec, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x00d6, + 0x0096, 0x6114, 0x2148, 0x080c, 0xb870, 0x0120, 0xa87b, 0x0029, + 0x080c, 0x69b5, 0x009e, 0x00de, 0x080c, 0x9be6, 0x0804, 0x894f, + 0x9182, 0x0047, 0x0002, 0x9e78, 0x9e7a, 0x9e78, 0x9e78, 0x9e78, + 0x9e78, 0x9e78, 0x9e78, 0x9e78, 0x9e78, 0x9e78, 0x9e78, 0x9e7a, + 0x080c, 0x0d65, 0x00d6, 0x0096, 0x080c, 0x15af, 0x6114, 0x2148, + 0xa87b, 0x0000, 0xa883, 0x0000, 0x080c, 0x69b5, 0x009e, 0x00de, + 0x0804, 0x9be6, 0x0026, 0x0036, 0x0056, 0x0066, 0x0096, 0x00a6, + 0x00f6, 0x0006, 0x080c, 0x102f, 0x000e, 0x090c, 0x0d65, 0xa960, + 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, 0x20a9, 0x0020, + 0x4104, 0xa87a, 0x2079, 0x1800, 0x798c, 0x9188, 0x0018, 0x918c, + 0x0fff, 0xa972, 0xac76, 0x2950, 0x00a6, 0x2001, 0x0205, 0x2003, + 0x0000, 0x901e, 0x2029, 0x0001, 0x9182, 0x0034, 0x1228, 0x2011, + 0x001f, 0x080c, 0xb426, 0x04c0, 0x2130, 0x2009, 0x0034, 0x2011, + 0x001f, 0x080c, 0xb426, 0x96b2, 0x0034, 0xb004, 0x904d, 0x0110, + 0x080c, 0x0fe1, 0x080c, 0x102f, 0x01d0, 0x8528, 0xa867, 0x0110, + 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, 0x1230, 0x2608, + 0x2011, 0x001b, 0x080c, 0xb426, 0x00b8, 0x96b2, 0x003c, 0x2009, + 0x003c, 0x2950, 0x2011, 0x001b, 0x080c, 0xb426, 0x0c18, 0x2001, + 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, + 0xb070, 0xc0fd, 0xb072, 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, + 0x00ae, 0x852f, 0x95ad, 0x0050, 0xb566, 0x2a48, 0xa804, 0xa807, + 0x0000, 0x0006, 0x080c, 0x69b5, 0x000e, 0x2048, 0x9005, 0x1db0, + 0x00fe, 0x00ae, 0x009e, 0x006e, 0x005e, 0x003e, 0x002e, 0x0005, + 0x00d6, 0x00f6, 0x0096, 0x0006, 0x080c, 0x102f, 0x000e, 0x090c, + 0x0d65, 0xa960, 0x21e8, 0xa95c, 0x9188, 0x0019, 0x21a0, 0x900e, + 0x20a9, 0x0020, 0x4104, 0xaa66, 0xa87a, 0x2079, 0x1800, 0x798c, + 0x810c, 0x9188, 0x000c, 0x9182, 0x001a, 0x0210, 0x2009, 0x001a, + 0x21a8, 0x810b, 0xa972, 0xac76, 0x2e98, 0xa85c, 0x9080, 0x001f, + 0x20a0, 0x2001, 0x0205, 0x200c, 0x918d, 0x0080, 0x2102, 0x4003, + 0x2003, 0x0000, 0x080c, 0x69b5, 0x009e, 0x00fe, 0x00de, 0x0005, + 0x0016, 0x00d6, 0x00f6, 0x0096, 0x0016, 0x2001, 0x0205, 0x200c, + 0x918d, 0x0080, 0x2102, 0x001e, 0x2079, 0x0200, 0x2e98, 0xa87c, + 0xd0ec, 0x0118, 0x9e80, 0x000c, 0x2098, 0x2021, 0x003e, 0x901e, + 0x9282, 0x0020, 0x0218, 0x2011, 0x0020, 0x2018, 0x9486, 0x003e, + 0x1170, 0x0096, 0x080c, 0x102f, 0x2900, 0x009e, 0x05c0, 0xa806, + 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x3300, + 0x908e, 0x0260, 0x0140, 0x2009, 0x0280, 0x9102, 0x920a, 0x0218, + 0x2010, 0x2100, 0x9318, 0x2200, 0x9402, 0x1228, 0x2400, 0x9202, + 0x2410, 0x9318, 0x9006, 0x2020, 0x22a8, 0xa800, 0x9200, 0xa802, + 0x20e1, 0x0000, 0x4003, 0x83ff, 0x0180, 0x3300, 0x9086, 0x0280, + 0x1130, 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, 0x2e98, 0x2310, + 0x84ff, 0x0904, 0x9f5d, 0x0804, 0x9f5f, 0x9085, 0x0001, 0x7817, + 0x0000, 0x009e, 0x00fe, 0x00de, 0x001e, 0x0005, 0x00d6, 0x0036, + 0x0096, 0x6314, 0x2348, 0xa87a, 0xa982, 0x080c, 0x69a9, 0x009e, + 0x003e, 0x00de, 0x0005, 0x91b6, 0x0015, 0x1118, 0x080c, 0x9be6, + 0x0030, 0x91b6, 0x0016, 0x190c, 0x0d65, 0x080c, 0x9be6, 0x0005, + 0x20a9, 0x000e, 0x20e1, 0x0000, 0x2e98, 0x6014, 0x0096, 0x2048, + 0xa860, 0x20e8, 0xa85c, 0x20a0, 0x009e, 0x4003, 0x0136, 0x9080, + 0x001b, 0x20a0, 0x2011, 0x0006, 0x20a9, 0x0001, 0x3418, 0x8318, + 0x23a0, 0x4003, 0x3318, 0x8318, 0x2398, 0x8211, 0x1db8, 0x2011, + 0x0006, 0x013e, 0x20a0, 0x3318, 0x8318, 0x2398, 0x4003, 0x3418, + 0x8318, 0x23a0, 0x8211, 0x1db8, 0x0096, 0x080c, 0xb870, 0x0130, + 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0x009e, 0x0804, + 0x9be6, 0x0096, 0x00d6, 0x0036, 0x7330, 0x9386, 0x0200, 0x11a8, + 0x6010, 0x00b6, 0x2058, 0xb8c7, 0x0000, 0x00be, 0x6014, 0x9005, + 0x0130, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, 0xab32, 0x080c, + 0x9be6, 0x003e, 0x00de, 0x009e, 0x0005, 0x0011, 0x1d48, 0x0cc8, + 0x0006, 0x0016, 0x080c, 0xbf8f, 0x0188, 0x6014, 0x9005, 0x1170, + 0x600b, 0x0003, 0x601b, 0x0000, 0x604b, 0x0000, 0x2009, 0x0022, + 0x080c, 0xa3e7, 0x9006, 0x001e, 0x000e, 0x0005, 0x9085, 0x0001, + 0x0cd0, 0x0096, 0x0016, 0x20a9, 0x0014, 0x9e80, 0x000c, 0x20e1, + 0x0000, 0x2098, 0x6014, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, 0x0001, 0x2099, + 0x0260, 0x20a9, 0x0016, 0x4003, 0x20a9, 0x000a, 0xa804, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0002, 0x20a0, 0x4003, 0x2001, - 0x0205, 0x2003, 0x0001, 0x2099, 0x0260, 0x20a9, 0x0016, 0x4003, - 0x20a9, 0x000a, 0xa804, 0x2048, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x0002, 0x20a0, 0x4003, 0x2001, 0x0205, 0x2003, 0x0002, 0x2099, - 0x0260, 0x20a9, 0x0020, 0x4003, 0x2003, 0x0000, 0x6014, 0x2048, - 0xa800, 0x2048, 0xa867, 0x0103, 0x080c, 0x9bda, 0x001e, 0x009e, - 0x0005, 0x0096, 0x0016, 0x900e, 0x7030, 0x9086, 0x0100, 0x0140, - 0x7038, 0x9084, 0x00ff, 0x800c, 0x703c, 0x9084, 0x00ff, 0x8004, - 0x9080, 0x0004, 0x9108, 0x810b, 0x2011, 0x0002, 0x2019, 0x000c, - 0x6014, 0x2048, 0x080c, 0xb408, 0x080c, 0xb842, 0x0140, 0x6014, - 0x2048, 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, - 0x9bda, 0x001e, 0x009e, 0x0005, 0x0016, 0x0096, 0x7030, 0x9086, - 0x0100, 0x1118, 0x2009, 0x0004, 0x0010, 0x7034, 0x800c, 0x810b, - 0x2011, 0x000c, 0x2019, 0x000c, 0x6014, 0x2048, 0xa804, 0x0096, - 0x9005, 0x0108, 0x2048, 0x080c, 0xb408, 0x009e, 0x080c, 0xb842, - 0x0148, 0xa804, 0x9005, 0x1158, 0xa807, 0x0000, 0xa864, 0xa8e2, - 0xa867, 0x0103, 0x080c, 0x9bda, 0x009e, 0x001e, 0x0005, 0x0086, - 0x2040, 0xa030, 0x8007, 0x9086, 0x0100, 0x1118, 0x080c, 0xa581, - 0x00e0, 0xa034, 0x8007, 0x800c, 0x8806, 0x8006, 0x8007, 0x90bc, - 0x003f, 0x9084, 0xffc0, 0x9080, 0x000c, 0xa87b, 0x0000, 0xa883, - 0x0000, 0xa897, 0x4000, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, - 0x0000, 0x2041, 0x1271, 0x0019, 0x0d08, 0x008e, 0x0898, 0x0096, - 0x0006, 0x080c, 0x1022, 0x000e, 0x01b0, 0xa8ab, 0x0dcb, 0xa876, - 0x000e, 0xa8a2, 0x0006, 0xae6a, 0x2800, 0xa89e, 0xa97a, 0xaf72, - 0xaa8e, 0xab92, 0xac96, 0xad9a, 0x0086, 0x2940, 0x080c, 0x1117, - 0x008e, 0x9085, 0x0001, 0x009e, 0x0005, 0x00e6, 0x00d6, 0x0026, - 0x7008, 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, - 0x9206, 0x1520, 0x700c, 0x6210, 0x00b6, 0x2258, 0xba14, 0x00be, - 0x9206, 0x11e0, 0x604b, 0x0000, 0x2c68, 0x0016, 0x2009, 0x0035, - 0x080c, 0xbed9, 0x001e, 0x1158, 0x622c, 0x2268, 0x2071, 0x026c, - 0x6b20, 0x9386, 0x0003, 0x0130, 0x9386, 0x0006, 0x0128, 0x080c, - 0x9bda, 0x0020, 0x0039, 0x0010, 0x080c, 0xa203, 0x002e, 0x00de, - 0x00ee, 0x0005, 0x0096, 0x6814, 0x2048, 0x9186, 0x0015, 0x0904, - 0xa1e2, 0x918e, 0x0016, 0x1904, 0xa201, 0x700c, 0x908c, 0xff00, - 0x9186, 0x1700, 0x0120, 0x9186, 0x0300, 0x1904, 0xa1bc, 0x89ff, - 0x1138, 0x6800, 0x9086, 0x000f, 0x0904, 0xa19e, 0x0804, 0xa1ff, - 0x6808, 0x9086, 0xffff, 0x1904, 0xa1e4, 0xa87c, 0x9084, 0x0060, - 0x9086, 0x0020, 0x1128, 0xa83c, 0xa940, 0x9105, 0x1904, 0xa1e4, - 0x6824, 0xd0b4, 0x1904, 0xa1e4, 0x080c, 0xba31, 0x6864, 0xa882, - 0xa87c, 0xc0dc, 0xc0f4, 0xc0d4, 0xa87e, 0x0026, 0x900e, 0x6a18, - 0x2001, 0x000a, 0x080c, 0x83fb, 0xa884, 0x920a, 0x0208, 0x8011, - 0xaa86, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, 0xb55b, - 0x00ce, 0x0804, 0xa1ff, 0x00c6, 0xa868, 0xd0fc, 0x1118, 0x080c, - 0x5d51, 0x0010, 0x080c, 0x60f6, 0x00ce, 0x1904, 0xa1e4, 0x00c6, - 0x2d60, 0x080c, 0x9bda, 0x00ce, 0x0804, 0xa1ff, 0x00c6, 0x080c, - 0x9c49, 0x0198, 0x6017, 0x0000, 0x6810, 0x6012, 0x080c, 0xbcdb, - 0x6023, 0x0003, 0x6904, 0x00c6, 0x2d60, 0x080c, 0x9bda, 0x00ce, - 0x080c, 0x9c76, 0x00ce, 0x0804, 0xa1ff, 0x2001, 0x1958, 0x2004, - 0x684a, 0x00ce, 0x0804, 0xa1ff, 0x7008, 0x9086, 0x000b, 0x11c8, - 0x6010, 0x00b6, 0x2058, 0xb900, 0xc1bc, 0xb902, 0x00be, 0x00c6, - 0x2d60, 0xa87b, 0x0003, 0x080c, 0xbf1b, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x84b3, 0x00ce, - 0x0430, 0x700c, 0x9086, 0x2a00, 0x1138, 0x2001, 0x1958, 0x2004, - 0x684a, 0x00e8, 0x04c1, 0x00e8, 0x89ff, 0x090c, 0x0d65, 0x00c6, - 0x00d6, 0x2d60, 0xa867, 0x0103, 0xa87b, 0x0003, 0x080c, 0x67a7, - 0x080c, 0xba31, 0x080c, 0x9c14, 0x0026, 0x6010, 0x00b6, 0x2058, - 0xba3c, 0x080c, 0x6396, 0x00be, 0x002e, 0x00de, 0x00ce, 0x080c, - 0x9bda, 0x009e, 0x0005, 0x9186, 0x0015, 0x1128, 0x2001, 0x1958, - 0x2004, 0x684a, 0x0068, 0x918e, 0x0016, 0x1160, 0x00c6, 0x2d00, - 0x2060, 0x080c, 0xd4df, 0x080c, 0x83a2, 0x080c, 0x9bda, 0x00ce, - 0x080c, 0x9bda, 0x0005, 0x0026, 0x0036, 0x0046, 0x7228, 0xacb0, - 0xabac, 0xd2f4, 0x0130, 0x2001, 0x1958, 0x2004, 0x684a, 0x0804, - 0xa27d, 0x00c6, 0x2d60, 0x080c, 0xb433, 0x00ce, 0x6804, 0x9086, - 0x0050, 0x1168, 0x00c6, 0x2d00, 0x2060, 0x6003, 0x0001, 0x6007, - 0x0050, 0x2009, 0x8023, 0x080c, 0x84b3, 0x00ce, 0x04f0, 0x6800, - 0x9086, 0x000f, 0x01a8, 0x89ff, 0x090c, 0x0d65, 0x6800, 0x9086, - 0x0004, 0x1190, 0xa87c, 0xd0ac, 0x0178, 0xa843, 0x0fff, 0xa83f, - 0x0fff, 0xa880, 0xc0fc, 0xa882, 0x2001, 0x0001, 0x6832, 0x0400, - 0x2001, 0x0007, 0x6832, 0x00e0, 0xa87c, 0xd0b4, 0x1150, 0xd0ac, - 0x0db8, 0x6824, 0xd0f4, 0x1d48, 0xa838, 0xa934, 0x9105, 0x0d80, - 0x0c20, 0xd2ec, 0x1d68, 0x7024, 0x9306, 0x1118, 0x7020, 0x9406, - 0x0d38, 0x7020, 0x683e, 0x7024, 0x683a, 0x2001, 0x0005, 0x6832, - 0x080c, 0xbbc5, 0x080c, 0x891b, 0x0010, 0x080c, 0x9bda, 0x004e, - 0x003e, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, - 0x00ff, 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1904, - 0xa2e8, 0x700c, 0x6210, 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, - 0x1904, 0xa2e8, 0x6038, 0x2068, 0x6824, 0xc0dc, 0x6826, 0x6a20, - 0x9286, 0x0007, 0x0904, 0xa2e8, 0x9286, 0x0002, 0x0904, 0xa2e8, - 0x9286, 0x0000, 0x05e8, 0x6808, 0x633c, 0x9306, 0x15c8, 0x2071, - 0x026c, 0x9186, 0x0015, 0x0570, 0x918e, 0x0016, 0x1100, 0x00c6, - 0x6038, 0x2060, 0x6104, 0x9186, 0x004b, 0x01c0, 0x9186, 0x004c, - 0x01a8, 0x9186, 0x004d, 0x0190, 0x9186, 0x004e, 0x0178, 0x9186, - 0x0052, 0x0160, 0x6014, 0x0096, 0x2048, 0x080c, 0xb842, 0x090c, - 0x0d65, 0xa87b, 0x0003, 0x009e, 0x080c, 0xbf1b, 0x6007, 0x0085, - 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x84b3, - 0x00ce, 0x0030, 0x6038, 0x2070, 0x2001, 0x1958, 0x2004, 0x704a, - 0x080c, 0x9bda, 0x002e, 0x00de, 0x00ee, 0x0005, 0x00b6, 0x0096, - 0x00f6, 0x6014, 0x2048, 0x6010, 0x2058, 0x91b6, 0x0015, 0x0130, - 0xba08, 0xbb0c, 0xbc00, 0xc48c, 0xbc02, 0x0460, 0x0096, 0x0156, - 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0010, 0x2019, 0x000a, 0x20a9, - 0x0004, 0x080c, 0xabd3, 0x002e, 0x003e, 0x015e, 0x009e, 0x1904, - 0xa357, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0014, - 0x2019, 0x0006, 0x20a9, 0x0004, 0x080c, 0xabd3, 0x002e, 0x003e, - 0x015e, 0x009e, 0x15a0, 0x7238, 0xba0a, 0x733c, 0xbb0e, 0xbc00, - 0xc48d, 0xbc02, 0xa804, 0x9005, 0x1128, 0x00fe, 0x009e, 0x00be, - 0x0804, 0x9fe8, 0x0096, 0x2048, 0xaa12, 0xab16, 0xac0a, 0x009e, - 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, - 0x0002, 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, 0x2031, - 0x0000, 0x2041, 0x1271, 0x080c, 0xa0e7, 0x0130, 0x00fe, 0x009e, - 0x080c, 0x9bda, 0x00be, 0x0005, 0x080c, 0xa581, 0x0cb8, 0x2b78, - 0x00f6, 0x080c, 0x300e, 0x080c, 0xbf76, 0x00fe, 0x00c6, 0x080c, - 0x9b84, 0x2f00, 0x6012, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, - 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, 0x080c, 0x61bc, 0x080c, - 0x61e8, 0x080c, 0x84ba, 0x080c, 0x891b, 0x00ce, 0x0804, 0xa32a, - 0x2100, 0x91b2, 0x0053, 0x1a0c, 0x0d65, 0x91b2, 0x0040, 0x1a04, - 0xa3e0, 0x0002, 0xa3ce, 0xa3ce, 0xa3c4, 0xa3ce, 0xa3ce, 0xa3ce, - 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, - 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, - 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, - 0xa3c2, 0xa3ce, 0xa3c2, 0xa3ce, 0xa3ce, 0xa3c2, 0xa3c2, 0xa3c2, - 0xa3c2, 0xa3c2, 0xa3c4, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, - 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3ce, 0xa3ce, 0xa3c2, 0xa3c2, - 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3c2, 0xa3ce, - 0xa3c2, 0xa3c2, 0x080c, 0x0d65, 0x0066, 0x00b6, 0x6610, 0x2658, - 0xb8c4, 0xc08c, 0xb8c6, 0x00be, 0x006e, 0x0000, 0x6003, 0x0001, - 0x6106, 0x9186, 0x0032, 0x0118, 0x080c, 0x84ba, 0x0010, 0x080c, - 0x84b3, 0x0126, 0x2091, 0x8000, 0x080c, 0x891b, 0x012e, 0x0005, - 0x2600, 0x0002, 0xa3f4, 0xa3f4, 0xa3f4, 0xa3ce, 0xa3ce, 0xa3f4, - 0xa3f4, 0xa3f4, 0xa3f4, 0xa3ce, 0xa3f4, 0xa3ce, 0xa3f4, 0xa3ce, - 0xa3f4, 0xa3f4, 0xa3f4, 0xa3f4, 0x080c, 0x0d65, 0x6004, 0x90b2, - 0x0053, 0x1a0c, 0x0d65, 0x91b6, 0x0013, 0x0904, 0xa4cb, 0x91b6, - 0x0027, 0x1904, 0xa477, 0x080c, 0x885d, 0x6004, 0x080c, 0xba46, - 0x01b0, 0x080c, 0xba57, 0x01a8, 0x908e, 0x0021, 0x0904, 0xa474, - 0x908e, 0x0022, 0x1130, 0x080c, 0xa014, 0x0904, 0xa470, 0x0804, - 0xa471, 0x908e, 0x003d, 0x0904, 0xa474, 0x0804, 0xa46a, 0x080c, - 0x303d, 0x2001, 0x0007, 0x080c, 0x61bc, 0x6010, 0x00b6, 0x2058, - 0xb9a0, 0x00be, 0x080c, 0xa581, 0x9186, 0x007e, 0x1148, 0x2001, - 0x1836, 0x2014, 0xc285, 0x080c, 0x7096, 0x1108, 0xc2ad, 0x2202, - 0x080c, 0x98bb, 0x0036, 0x0026, 0x2019, 0x0028, 0x2110, 0x080c, - 0xd53a, 0x002e, 0x003e, 0x0016, 0x0026, 0x0036, 0x2110, 0x2019, - 0x0028, 0x080c, 0x8624, 0x0076, 0x903e, 0x080c, 0x8509, 0x6010, - 0x00b6, 0x905d, 0x0100, 0x00be, 0x2c08, 0x080c, 0xcfd9, 0x007e, - 0x003e, 0x002e, 0x001e, 0x080c, 0x98d7, 0x080c, 0xbf76, 0x0016, - 0x080c, 0xbcd3, 0x080c, 0x9bda, 0x001e, 0x080c, 0x3116, 0x080c, - 0x891b, 0x0030, 0x080c, 0xbcd3, 0x080c, 0x9bda, 0x080c, 0x891b, - 0x0005, 0x080c, 0xa581, 0x0cb0, 0x080c, 0xa5bd, 0x0c98, 0x9186, - 0x0015, 0x0118, 0x9186, 0x0016, 0x1140, 0x080c, 0x9aaa, 0x0d80, - 0x9086, 0x0002, 0x0904, 0xa5c8, 0x0c58, 0x9186, 0x0014, 0x1d40, - 0x080c, 0x885d, 0x6004, 0x908e, 0x0022, 0x1118, 0x080c, 0xa014, - 0x09f8, 0x080c, 0x300e, 0x080c, 0xbf76, 0x080c, 0xba46, 0x1190, - 0x080c, 0x303d, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, 0x080c, - 0xa581, 0x9186, 0x007e, 0x1128, 0x2001, 0x1836, 0x200c, 0xc185, - 0x2102, 0x0800, 0x080c, 0xba57, 0x1120, 0x080c, 0xa581, 0x0804, - 0xa46a, 0x6004, 0x908e, 0x0032, 0x1160, 0x00e6, 0x00f6, 0x2071, - 0x1894, 0x2079, 0x0000, 0x080c, 0x33b0, 0x00fe, 0x00ee, 0x0804, - 0xa46a, 0x6004, 0x908e, 0x0021, 0x0d40, 0x908e, 0x0022, 0x090c, - 0xa581, 0x0804, 0xa46a, 0x90b2, 0x0040, 0x1a04, 0xa56a, 0x2008, - 0x0002, 0xa513, 0xa514, 0xa517, 0xa51a, 0xa51d, 0xa520, 0xa511, - 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, - 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, - 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, 0xa523, - 0xa52c, 0xa511, 0xa52d, 0xa52c, 0xa511, 0xa511, 0xa511, 0xa511, - 0xa511, 0xa52c, 0xa52c, 0xa511, 0xa511, 0xa511, 0xa511, 0xa511, - 0xa511, 0xa511, 0xa511, 0xa555, 0xa52c, 0xa511, 0xa528, 0xa511, - 0xa511, 0xa511, 0xa529, 0xa511, 0xa511, 0xa511, 0xa52c, 0xa550, - 0xa511, 0x080c, 0x0d65, 0x00c0, 0x2001, 0x000b, 0x00e8, 0x2001, - 0x0003, 0x00d0, 0x2001, 0x0005, 0x00b8, 0x2001, 0x0001, 0x00a0, - 0x2001, 0x0009, 0x0088, 0x6003, 0x0005, 0x080c, 0x891b, 0x0058, - 0x0018, 0x0010, 0x080c, 0x61bc, 0x04b8, 0x080c, 0xbf79, 0x6003, - 0x0004, 0x080c, 0x891b, 0x0005, 0x080c, 0x61bc, 0x6003, 0x0002, - 0x0036, 0x2019, 0x185e, 0x2304, 0x9084, 0xff00, 0x1120, 0x2001, - 0x1956, 0x201c, 0x0040, 0x8007, 0x909a, 0x0004, 0x0ec0, 0x8003, - 0x801b, 0x831b, 0x9318, 0x631a, 0x003e, 0x080c, 0x891b, 0x0c18, - 0x080c, 0xbcd3, 0x080c, 0x9bda, 0x08f0, 0x00e6, 0x00f6, 0x2071, - 0x1894, 0x2079, 0x0000, 0x080c, 0x33b0, 0x00fe, 0x00ee, 0x080c, - 0x885d, 0x080c, 0x9bda, 0x0878, 0x6003, 0x0002, 0x080c, 0xbf79, - 0x0804, 0x891b, 0x2600, 0x2008, 0x0002, 0xa57f, 0xa57f, 0xa57f, - 0xa564, 0xa564, 0xa57f, 0xa57f, 0xa57f, 0xa57f, 0xa564, 0xa57f, - 0xa564, 0xa57f, 0xa564, 0xa57f, 0xa57f, 0xa57f, 0xa57f, 0x080c, - 0x0d65, 0x00e6, 0x0096, 0x0026, 0x0016, 0x080c, 0xb842, 0x0568, - 0x6014, 0x2048, 0xa864, 0x9086, 0x0139, 0x11a8, 0xa894, 0x9086, - 0x0056, 0x1148, 0x080c, 0x5129, 0x0130, 0x2001, 0x0000, 0x900e, - 0x2011, 0x4000, 0x0028, 0x2001, 0x0030, 0x900e, 0x2011, 0x4005, - 0x080c, 0xbe40, 0x0090, 0xa868, 0xd0fc, 0x0178, 0xa807, 0x0000, - 0x0016, 0x6004, 0x908e, 0x0021, 0x0168, 0x908e, 0x003d, 0x0150, - 0x001e, 0xa867, 0x0103, 0xa833, 0x0100, 0x001e, 0x002e, 0x009e, - 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc0, 0x0096, 0x6014, 0x2048, - 0xa800, 0x2048, 0xa867, 0x0103, 0xa823, 0x8001, 0x009e, 0x0005, - 0x00b6, 0x6610, 0x2658, 0xb804, 0x9084, 0x00ff, 0x90b2, 0x000c, - 0x1a0c, 0x0d65, 0x6604, 0x96b6, 0x004d, 0x1120, 0x080c, 0xbd5f, - 0x0804, 0xa645, 0x6604, 0x96b6, 0x0043, 0x1120, 0x080c, 0xbda8, - 0x0804, 0xa645, 0x6604, 0x96b6, 0x004b, 0x1120, 0x080c, 0xbdd4, - 0x0804, 0xa645, 0x6604, 0x96b6, 0x0033, 0x1120, 0x080c, 0xbcf5, - 0x0804, 0xa645, 0x6604, 0x96b6, 0x0028, 0x1120, 0x080c, 0xba95, - 0x0804, 0xa645, 0x6604, 0x96b6, 0x0029, 0x1120, 0x080c, 0xbad6, - 0x0804, 0xa645, 0x6604, 0x96b6, 0x001f, 0x1118, 0x080c, 0x9fbc, - 0x04e0, 0x6604, 0x96b6, 0x0000, 0x1118, 0x080c, 0xa2ee, 0x04a8, - 0x6604, 0x96b6, 0x0022, 0x1118, 0x080c, 0x9ff5, 0x0470, 0x6604, - 0x96b6, 0x0035, 0x1118, 0x080c, 0xa105, 0x0438, 0x6604, 0x96b6, - 0x0039, 0x1118, 0x080c, 0xa283, 0x0400, 0x6604, 0x96b6, 0x003d, - 0x1118, 0x080c, 0xa02d, 0x00c8, 0x6604, 0x96b6, 0x0044, 0x1118, - 0x080c, 0xa069, 0x0090, 0x6604, 0x96b6, 0x0049, 0x1118, 0x080c, - 0xa094, 0x0058, 0x91b6, 0x0015, 0x1110, 0x0063, 0x0030, 0x91b6, - 0x0016, 0x1128, 0x00be, 0x0804, 0xa905, 0x00be, 0x0005, 0x080c, - 0x9c93, 0x0cd8, 0xa662, 0xa665, 0xa662, 0xa6a9, 0xa662, 0xa839, - 0xa912, 0xa662, 0xa662, 0xa8df, 0xa662, 0xa8f3, 0x0096, 0x080c, - 0x15a2, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0x009e, - 0x0804, 0x9bda, 0xa001, 0xa001, 0x0005, 0x00e6, 0x2071, 0x1800, - 0x708c, 0x9086, 0x0074, 0x1540, 0x080c, 0xcfaa, 0x11b0, 0x6010, - 0x00b6, 0x2058, 0x7030, 0xd08c, 0x0128, 0xb800, 0xd0bc, 0x0110, - 0xc0c5, 0xb802, 0x00e9, 0x00be, 0x2001, 0x0006, 0x080c, 0x61bc, - 0x080c, 0x303d, 0x080c, 0x9bda, 0x0088, 0x2001, 0x000a, 0x080c, - 0x61bc, 0x080c, 0x303d, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, - 0x84ba, 0x080c, 0x891b, 0x0010, 0x080c, 0xa824, 0x00ee, 0x0005, - 0x00d6, 0xb800, 0xd084, 0x0158, 0x9006, 0x080c, 0x61a8, 0x2069, - 0x1853, 0x6804, 0x0020, 0x2001, 0x0006, 0x080c, 0x61e8, 0x00de, - 0x0005, 0x00b6, 0x0096, 0x00d6, 0x2011, 0x1823, 0x2204, 0x9086, - 0x0074, 0x1904, 0xa7fb, 0x6010, 0x2058, 0xbaa0, 0x9286, 0x007e, - 0x1120, 0x080c, 0xaa56, 0x0804, 0xa760, 0x00d6, 0x080c, 0x7096, - 0x0198, 0x0026, 0x2011, 0x0010, 0x080c, 0x668a, 0x002e, 0x05c8, - 0x080c, 0x539c, 0x1540, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, - 0x0103, 0xa833, 0xdead, 0x00f8, 0x0026, 0x2011, 0x8008, 0x080c, - 0x668a, 0x002e, 0x0530, 0x6014, 0x2048, 0xa864, 0x9084, 0x00ff, - 0x9086, 0x0039, 0x1140, 0x2001, 0x0030, 0x900e, 0x2011, 0x4009, - 0x080c, 0xbe40, 0x0040, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, - 0x0103, 0xa833, 0xdead, 0x6010, 0x2058, 0xb9a0, 0x0016, 0x080c, - 0x303d, 0x080c, 0x9bda, 0x001e, 0x080c, 0x3116, 0x00de, 0x0804, - 0xa7fe, 0x00de, 0x080c, 0xaa4b, 0x6010, 0x2058, 0xbaa0, 0x9286, - 0x0080, 0x1510, 0x6014, 0x9005, 0x01a8, 0x2048, 0xa864, 0x9084, - 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0000, 0x900e, 0x2011, - 0x4000, 0x080c, 0xbe40, 0x0030, 0xa807, 0x0000, 0xa867, 0x0103, - 0xa833, 0x0200, 0x2001, 0x0006, 0x080c, 0x61bc, 0x080c, 0x303d, - 0x080c, 0x9bda, 0x0804, 0xa7fe, 0x080c, 0xa80c, 0x6014, 0x9005, - 0x0190, 0x2048, 0xa868, 0xd0f4, 0x01e8, 0xa864, 0x9084, 0x00ff, - 0x9086, 0x0039, 0x1d08, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, - 0x080c, 0xbe40, 0x08f8, 0x080c, 0xa802, 0x0160, 0x9006, 0x080c, - 0x61a8, 0x2001, 0x0004, 0x080c, 0x61e8, 0x2001, 0x0007, 0x080c, - 0x61bc, 0x08a0, 0x2001, 0x0004, 0x080c, 0x61bc, 0x6003, 0x0001, - 0x6007, 0x0003, 0x080c, 0x84ba, 0x080c, 0x891b, 0x0804, 0xa7fe, - 0xb85c, 0xd0e4, 0x01d0, 0x080c, 0xbc6d, 0x080c, 0x7096, 0x0118, - 0xd0dc, 0x1904, 0xa722, 0x2011, 0x1836, 0x2204, 0xc0ad, 0x2012, - 0x2001, 0x0002, 0x00f6, 0x2079, 0x0100, 0x78e3, 0x0000, 0x080c, - 0x24b1, 0x78e2, 0x00fe, 0x0804, 0xa722, 0x080c, 0xbcae, 0x2011, - 0x1836, 0x2204, 0xc0a5, 0x2012, 0x0006, 0x080c, 0xd10f, 0x000e, - 0x1904, 0xa722, 0xc0b5, 0x2012, 0x2001, 0x0006, 0x080c, 0x61bc, - 0x9006, 0x080c, 0x61a8, 0x00c6, 0x2001, 0x180f, 0x2004, 0xd09c, - 0x0520, 0x00f6, 0x2079, 0x0100, 0x00e6, 0x2071, 0x1800, 0x700c, - 0x9084, 0x00ff, 0x78e6, 0x707a, 0x7010, 0x78ea, 0x707e, 0x908c, - 0x00ff, 0x00ee, 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x2486, - 0x00f6, 0x2100, 0x900e, 0x080c, 0x243d, 0x795a, 0x00fe, 0x9186, - 0x0081, 0x01d8, 0x2009, 0x0081, 0x00c8, 0x2009, 0x00ef, 0x00f6, - 0x2079, 0x0100, 0x79ea, 0x7932, 0x7936, 0x780c, 0xc0b5, 0x780e, - 0x00fe, 0x080c, 0x2486, 0x00f6, 0x2079, 0x1800, 0x797e, 0x2100, - 0x900e, 0x080c, 0x243d, 0x795a, 0x00fe, 0x8108, 0x080c, 0x620b, - 0x2b00, 0x00ce, 0x1904, 0xa722, 0x6012, 0x2009, 0x180f, 0x210c, - 0xd19c, 0x0150, 0x2009, 0x027c, 0x210c, 0x918c, 0x00ff, 0xb912, - 0x2009, 0x027d, 0x210c, 0xb916, 0x2001, 0x0002, 0x080c, 0x61bc, - 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x84ba, - 0x080c, 0x891b, 0x0018, 0x080c, 0xa581, 0x0431, 0x00de, 0x009e, - 0x00be, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0a4, 0x0120, 0x2001, - 0x1854, 0x2004, 0xd0ac, 0x0005, 0x00e6, 0x080c, 0xd593, 0x0190, - 0x2071, 0x0260, 0x7108, 0x720c, 0x918c, 0x00ff, 0x1118, 0x9284, - 0xff00, 0x0140, 0x6010, 0x2058, 0xb8a0, 0x9084, 0xff80, 0x1110, - 0xb912, 0xba16, 0x00ee, 0x0005, 0x2030, 0x2001, 0x0007, 0x080c, - 0x61bc, 0x080c, 0x539c, 0x1120, 0x2001, 0x0007, 0x080c, 0x61e8, - 0x080c, 0x303d, 0x6020, 0x9086, 0x000a, 0x1108, 0x0005, 0x0804, - 0x9bda, 0x00b6, 0x00e6, 0x0026, 0x0016, 0x2071, 0x1800, 0x708c, - 0x9086, 0x0014, 0x1904, 0xa8d6, 0x00d6, 0x080c, 0x7096, 0x0198, - 0x0026, 0x2011, 0x0010, 0x080c, 0x668a, 0x002e, 0x05c8, 0x080c, - 0x539c, 0x1540, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xa833, 0xdead, 0x00f8, 0x0026, 0x2011, 0x8008, 0x080c, 0x668a, - 0x002e, 0x0530, 0x6014, 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, - 0x0039, 0x1140, 0x2001, 0x0030, 0x900e, 0x2011, 0x4009, 0x080c, - 0xbe40, 0x0040, 0x6014, 0x2048, 0xa807, 0x0000, 0xa867, 0x0103, - 0xa833, 0xdead, 0x6010, 0x2058, 0xb9a0, 0x0016, 0x080c, 0x303d, - 0x080c, 0x9bda, 0x001e, 0x080c, 0x3116, 0x00de, 0x0804, 0xa8da, - 0x00de, 0x080c, 0x539c, 0x1170, 0x6014, 0x9005, 0x1158, 0x0036, - 0x0046, 0x6010, 0x2058, 0xbba0, 0x2021, 0x0006, 0x080c, 0x4a77, - 0x004e, 0x003e, 0x00d6, 0x6010, 0x2058, 0x080c, 0x6306, 0x080c, - 0xa698, 0x00de, 0x080c, 0xab1c, 0x1588, 0x6010, 0x2058, 0xb890, - 0x9005, 0x0560, 0x2001, 0x0006, 0x080c, 0x61bc, 0x0096, 0x6014, - 0x904d, 0x01d0, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, - 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xbe40, 0x0060, - 0xa864, 0x9084, 0x00ff, 0x9086, 0x0029, 0x0130, 0xa807, 0x0000, - 0xa867, 0x0103, 0xa833, 0x0200, 0x009e, 0x080c, 0x303d, 0x6020, - 0x9086, 0x000a, 0x0138, 0x080c, 0x9bda, 0x0020, 0x080c, 0xa581, - 0x080c, 0xa824, 0x001e, 0x002e, 0x00ee, 0x00be, 0x0005, 0x2011, - 0x1823, 0x2204, 0x9086, 0x0014, 0x1160, 0x2001, 0x0002, 0x080c, - 0x61bc, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x84ba, 0x0804, - 0x891b, 0x0804, 0xa824, 0x2030, 0x2011, 0x1823, 0x2204, 0x9086, - 0x0004, 0x1148, 0x96b6, 0x000b, 0x1120, 0x2001, 0x0007, 0x080c, - 0x61bc, 0x0804, 0x9bda, 0x0804, 0xa824, 0x0002, 0xa662, 0xa91d, - 0xa662, 0xa95c, 0xa662, 0xaa07, 0xa912, 0xa662, 0xa662, 0xaa1a, - 0xa662, 0xaa2a, 0x6604, 0x9686, 0x0003, 0x0904, 0xa839, 0x96b6, - 0x001e, 0x1110, 0x080c, 0x9bda, 0x0005, 0x00b6, 0x00d6, 0x00c6, - 0x080c, 0xaa3a, 0x11a0, 0x9006, 0x080c, 0x61a8, 0x080c, 0x300e, - 0x080c, 0xbf76, 0x2001, 0x0002, 0x080c, 0x61bc, 0x6003, 0x0001, - 0x6007, 0x0002, 0x080c, 0x84ba, 0x080c, 0x891b, 0x0408, 0x2009, - 0x026e, 0x2104, 0x9086, 0x0009, 0x1160, 0x6010, 0x2058, 0xb840, - 0x9084, 0x00ff, 0x9005, 0x0170, 0x8001, 0xb842, 0x601b, 0x000a, - 0x0078, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x1900, - 0x1108, 0x08a0, 0x080c, 0x300e, 0x080c, 0xbf76, 0x080c, 0xa824, - 0x00ce, 0x00de, 0x00be, 0x0005, 0x0096, 0x00b6, 0x0026, 0x9016, - 0x080c, 0xaa48, 0x00d6, 0x2069, 0x194c, 0x2d04, 0x9005, 0x0168, - 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x2069, 0x181f, - 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, 0x00de, 0x0088, 0x9006, - 0x080c, 0x61a8, 0x2001, 0x0002, 0x080c, 0x61bc, 0x6003, 0x0001, - 0x6007, 0x0002, 0x080c, 0x84ba, 0x080c, 0x891b, 0x0804, 0xa9d7, - 0x080c, 0xb842, 0x01b0, 0x6014, 0x2048, 0xa864, 0x2010, 0x9086, - 0x0139, 0x1138, 0x6007, 0x0016, 0x2001, 0x0002, 0x080c, 0xbe9a, - 0x00b0, 0x6014, 0x2048, 0xa864, 0xd0fc, 0x0118, 0x2001, 0x0001, - 0x0ca8, 0x2001, 0x180e, 0x2004, 0xd0dc, 0x0148, 0x6010, 0x2058, - 0xb840, 0x9084, 0x00ff, 0x9005, 0x1110, 0x9006, 0x0c38, 0x080c, - 0xa581, 0x2009, 0x026e, 0x2134, 0x96b4, 0x00ff, 0x9686, 0x0005, - 0x0510, 0x9686, 0x000b, 0x01c8, 0x2009, 0x026f, 0x2104, 0x9084, - 0xff00, 0x1118, 0x9686, 0x0009, 0x01b0, 0x9086, 0x1900, 0x1168, - 0x9686, 0x0009, 0x0180, 0x2001, 0x0004, 0x080c, 0x61bc, 0x2001, - 0x0028, 0x601a, 0x6007, 0x0052, 0x0010, 0x080c, 0xa824, 0x002e, - 0x00be, 0x009e, 0x0005, 0x9286, 0x0139, 0x0160, 0x6014, 0x2048, - 0x080c, 0xb842, 0x0140, 0xa864, 0x9086, 0x0139, 0x0118, 0xa868, - 0xd0fc, 0x0108, 0x0c50, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, - 0x9005, 0x0138, 0x8001, 0xb842, 0x601b, 0x000a, 0x6007, 0x0016, - 0x08f0, 0xb8a0, 0x9086, 0x007e, 0x1138, 0x00e6, 0x2071, 0x1800, - 0x080c, 0x5c6a, 0x00ee, 0x0010, 0x080c, 0x300e, 0x0870, 0x080c, - 0xaa48, 0x1160, 0x2001, 0x0004, 0x080c, 0x61bc, 0x6003, 0x0001, - 0x6007, 0x0003, 0x080c, 0x84ba, 0x0804, 0x891b, 0x080c, 0xa581, - 0x0804, 0xa824, 0x0469, 0x1160, 0x2001, 0x0008, 0x080c, 0x61bc, - 0x6003, 0x0001, 0x6007, 0x0005, 0x080c, 0x84ba, 0x0804, 0x891b, - 0x0804, 0xa824, 0x00e9, 0x1160, 0x2001, 0x000a, 0x080c, 0x61bc, - 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x84ba, 0x0804, 0x891b, - 0x0804, 0xa824, 0x2009, 0x026e, 0x2104, 0x9086, 0x0003, 0x1138, - 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, 0x9086, 0x2a00, 0x0005, - 0x9085, 0x0001, 0x0005, 0x00b6, 0x00c6, 0x0016, 0x6110, 0x2158, - 0x080c, 0x627a, 0x001e, 0x00ce, 0x00be, 0x0005, 0x00b6, 0x00f6, - 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6010, 0x2058, 0x2009, 0x1836, - 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, 0xaaee, 0x0560, 0x2009, - 0x1836, 0x2104, 0xc0cd, 0x200a, 0x080c, 0x6662, 0x0158, 0x9006, - 0x2020, 0x2009, 0x002a, 0x080c, 0xd284, 0x2001, 0x180c, 0x200c, - 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, 0x0001, 0x080c, 0x2fd3, - 0x00e6, 0x2071, 0x1800, 0x080c, 0x2de9, 0x00ee, 0x00c6, 0x0156, - 0x20a9, 0x0781, 0x2009, 0x007f, 0x080c, 0x3116, 0x8108, 0x1f04, - 0xaa8c, 0x015e, 0x00ce, 0x080c, 0xaa4b, 0x2071, 0x0260, 0x2079, - 0x0200, 0x7817, 0x0001, 0x2001, 0x1836, 0x200c, 0xc1c5, 0x7018, - 0xd0fc, 0x0110, 0xd0dc, 0x0118, 0x7038, 0xd0dc, 0x1108, 0xc1c4, - 0x7817, 0x0000, 0x2001, 0x1836, 0x2102, 0x2079, 0x0100, 0x2e04, - 0x9084, 0x00ff, 0x2069, 0x181e, 0x206a, 0x78e6, 0x0006, 0x8e70, - 0x2e04, 0x2069, 0x181f, 0x206a, 0x78ea, 0x7832, 0x7836, 0x2010, - 0x9084, 0xff00, 0x001e, 0x9105, 0x2009, 0x182b, 0x200a, 0x2200, - 0x9084, 0x00ff, 0x2008, 0x080c, 0x2486, 0x080c, 0x7096, 0x0170, - 0x2071, 0x0260, 0x2069, 0x1952, 0x7048, 0x206a, 0x704c, 0x6806, - 0x7050, 0x680a, 0x7054, 0x680e, 0x080c, 0xbc6d, 0x0040, 0x2001, - 0x0006, 0x080c, 0x61bc, 0x080c, 0x303d, 0x080c, 0x9bda, 0x001e, - 0x003e, 0x00de, 0x00ee, 0x00fe, 0x00be, 0x0005, 0x0096, 0x0026, - 0x0036, 0x00e6, 0x0156, 0x2019, 0x182b, 0x231c, 0x83ff, 0x01f0, - 0x2071, 0x0260, 0x7200, 0x9294, 0x00ff, 0x7004, 0x9084, 0xff00, - 0x9205, 0x9306, 0x1198, 0x2011, 0x0276, 0x20a9, 0x0004, 0x2b48, - 0x2019, 0x000a, 0x080c, 0xabd3, 0x1148, 0x2011, 0x027a, 0x20a9, - 0x0004, 0x2019, 0x0006, 0x080c, 0xabd3, 0x1100, 0x015e, 0x00ee, - 0x003e, 0x002e, 0x009e, 0x0005, 0x00e6, 0x2071, 0x0260, 0x7034, - 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, 0x0800, 0x1188, 0x703c, - 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, 0x0100, 0x1138, 0x7054, - 0xd0a4, 0x1110, 0xd0ac, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, - 0x00ee, 0x0005, 0x00e6, 0x0096, 0x00c6, 0x0076, 0x0056, 0x0046, - 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, 0x2029, 0x19c3, 0x252c, - 0x2021, 0x19ca, 0x2424, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7250, - 0x7070, 0x9202, 0x1a04, 0xabab, 0x080c, 0xd2b5, 0x0904, 0xaba4, - 0x6720, 0x9786, 0x0007, 0x0904, 0xaba4, 0x2500, 0x9c06, 0x0904, - 0xaba4, 0x2400, 0x9c06, 0x0904, 0xaba4, 0x3e08, 0x9186, 0x0002, - 0x1148, 0x6010, 0x9005, 0x0130, 0x00b6, 0x2058, 0xb800, 0x00be, - 0xd0bc, 0x1590, 0x00c6, 0x6043, 0xffff, 0x6000, 0x9086, 0x0004, - 0x1110, 0x080c, 0x1921, 0x9786, 0x000a, 0x0148, 0x080c, 0xba57, - 0x1130, 0x00ce, 0x080c, 0xa581, 0x080c, 0x9c14, 0x00e8, 0x6014, - 0x2048, 0x080c, 0xb842, 0x01a8, 0x9786, 0x0003, 0x1530, 0xa867, - 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, - 0x0fd4, 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, 0x6985, 0x080c, - 0xba31, 0x080c, 0x9c14, 0x00ce, 0x9ce0, 0x001c, 0x7064, 0x9c02, - 0x1210, 0x0804, 0xab4f, 0x012e, 0x000e, 0x002e, 0x004e, 0x005e, - 0x007e, 0x00ce, 0x009e, 0x00ee, 0x0005, 0x9786, 0x0006, 0x1118, - 0x080c, 0xd22f, 0x0c30, 0x9786, 0x000a, 0x0998, 0x0880, 0x220c, - 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, 0x1f04, 0xabbf, 0x9006, - 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, 0x0001, 0x0008, 0x9006, - 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, 0x0016, 0x8906, 0x8006, - 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, 0xffc0, 0x9300, 0x2098, - 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, 0x910e, 0x1140, 0x8210, - 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, 0x013e, 0x0005, 0x220c, - 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, 0x2001, 0x0000, 0x918d, - 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, 0x6004, 0x908a, 0x0053, - 0x1a0c, 0x0d65, 0x080c, 0xba46, 0x0120, 0x080c, 0xba57, 0x0158, - 0x0028, 0x080c, 0x303d, 0x080c, 0xba57, 0x0128, 0x080c, 0x885d, - 0x080c, 0x9bda, 0x0005, 0x080c, 0xa581, 0x0cc0, 0x9182, 0x0057, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xac35, 0xac35, - 0xac35, 0xac35, 0xac35, 0xac35, 0xac35, 0xac35, 0xac35, 0xac35, - 0xac35, 0xac37, 0xac37, 0xac37, 0xac37, 0xac35, 0xac35, 0xac35, - 0xac37, 0xac35, 0xac35, 0xac35, 0xac35, 0x080c, 0x0d65, 0x600b, - 0xffff, 0x6003, 0x000f, 0x6106, 0x0126, 0x2091, 0x8000, 0x080c, - 0xbf79, 0x2009, 0x8000, 0x080c, 0x84b3, 0x012e, 0x0005, 0x9186, - 0x0013, 0x1128, 0x6004, 0x9082, 0x0040, 0x0804, 0xacbc, 0x9186, - 0x0027, 0x1520, 0x080c, 0x885d, 0x080c, 0x300e, 0x080c, 0xbf76, - 0x0096, 0x6114, 0x2148, 0x080c, 0xb842, 0x0198, 0x080c, 0xba57, - 0x1118, 0x080c, 0xa581, 0x0068, 0xa867, 0x0103, 0xa87b, 0x0029, - 0xa877, 0x0000, 0xa97c, 0xc1c5, 0xa97e, 0x080c, 0x6991, 0x080c, - 0xba31, 0x009e, 0x080c, 0x9bda, 0x0804, 0x891b, 0x9186, 0x0014, - 0x1120, 0x6004, 0x9082, 0x0040, 0x0018, 0x080c, 0x0d65, 0x0005, - 0x0002, 0xac9a, 0xac98, 0xac98, 0xac98, 0xac98, 0xac98, 0xac98, - 0xac98, 0xac98, 0xac98, 0xac98, 0xacb3, 0xacb3, 0xacb3, 0xacb3, - 0xac98, 0xacb3, 0xac98, 0xacb3, 0xac98, 0xac98, 0xac98, 0xac98, - 0x080c, 0x0d65, 0x080c, 0x885d, 0x0096, 0x6114, 0x2148, 0x080c, - 0xb842, 0x0168, 0xa867, 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, - 0xa880, 0xc0ec, 0xa882, 0x080c, 0x6991, 0x080c, 0xba31, 0x009e, - 0x080c, 0x9bda, 0x0005, 0x080c, 0x885d, 0x080c, 0xba57, 0x090c, - 0xa581, 0x080c, 0x9bda, 0x0005, 0x0002, 0xacd6, 0xacd4, 0xacd4, - 0xacd4, 0xacd4, 0xacd4, 0xacd4, 0xacd4, 0xacd4, 0xacd4, 0xacd4, - 0xacd8, 0xacd8, 0xacd8, 0xacd8, 0xacd4, 0xacda, 0xacd4, 0xacd8, - 0xacd4, 0xacd4, 0xacd4, 0xacd4, 0x080c, 0x0d65, 0x080c, 0x0d65, - 0x080c, 0x0d65, 0x080c, 0x9bda, 0x0804, 0x891b, 0x9182, 0x0057, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xacfd, 0xacfd, - 0xacfd, 0xacfd, 0xacfd, 0xad36, 0xae25, 0xacfd, 0xae31, 0xacfd, - 0xacfd, 0xacfd, 0xacfd, 0xacfd, 0xacfd, 0xacfd, 0xacfd, 0xacfd, - 0xacfd, 0xae31, 0xacff, 0xacfd, 0xae2f, 0x080c, 0x0d65, 0x00b6, - 0x0096, 0x6114, 0x2148, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1508, - 0xa87b, 0x0000, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87c, 0xd0ac, - 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xaeb6, 0x080c, 0x67a7, - 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0xb8c0, - 0x9005, 0x0110, 0x080c, 0x6396, 0x080c, 0x9bda, 0x009e, 0x00be, - 0x0005, 0xa87c, 0xd0ac, 0x09e0, 0xa838, 0xa934, 0x9105, 0x09c0, - 0xa880, 0xd0bc, 0x19a8, 0x080c, 0xbb8c, 0x0c80, 0x00b6, 0x0096, - 0x6114, 0x2148, 0x601c, 0xd0fc, 0x1110, 0x7644, 0x0008, 0x9036, - 0x96b4, 0x0fff, 0x86ff, 0x1590, 0x6010, 0x2058, 0xb800, 0xd0bc, - 0x1904, 0xae14, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0xa87c, - 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xaeb6, 0x080c, - 0x67a7, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, - 0xb8c0, 0x9005, 0x0110, 0x080c, 0x6396, 0x601c, 0xd0fc, 0x1148, - 0x7044, 0xd0e4, 0x1904, 0xadf8, 0x080c, 0x9bda, 0x009e, 0x00be, - 0x0005, 0x2009, 0x0211, 0x210c, 0x080c, 0x0d65, 0x968c, 0x0c00, - 0x0150, 0x6010, 0x2058, 0xb800, 0xd0bc, 0x1904, 0xadfc, 0x7348, - 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, 0x0508, - 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00e8, 0xd6dc, 0x01a0, - 0xa87b, 0x0015, 0xa87c, 0xd0ac, 0x0170, 0xa938, 0xaa34, 0x2100, - 0x9205, 0x0148, 0x7048, 0x9106, 0x1118, 0x704c, 0x9206, 0x0118, - 0xa992, 0xaa8e, 0xc6dc, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, - 0x0010, 0xa87b, 0x0000, 0xa867, 0x0103, 0xae76, 0x901e, 0xd6c4, - 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, - 0x0804, 0xad42, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, 0x0009, - 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, 0x2011, - 0x0025, 0x080c, 0xb408, 0x003e, 0xd6cc, 0x0904, 0xad57, 0x7154, - 0xa98a, 0x81ff, 0x0904, 0xad57, 0x9192, 0x0021, 0x1278, 0x8304, - 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xb408, 0x2011, 0x0205, - 0x2013, 0x0000, 0x080c, 0xbf06, 0x0804, 0xad57, 0xa868, 0xd0fc, - 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c50, 0x00a6, 0x2950, 0x080c, - 0xb3a7, 0x00ae, 0x080c, 0xbf06, 0x080c, 0xb3f8, 0x0804, 0xad59, - 0x080c, 0xbb4f, 0x0804, 0xad6e, 0xa87c, 0xd0ac, 0x0904, 0xad7f, - 0xa880, 0xd0bc, 0x1904, 0xad7f, 0x7348, 0xa838, 0x9306, 0x11c8, - 0x734c, 0xa834, 0x931e, 0x0904, 0xad7f, 0xd6d4, 0x0190, 0xab38, - 0x9305, 0x0904, 0xad7f, 0x0068, 0xa87c, 0xd0ac, 0x0904, 0xad4a, - 0xa838, 0xa934, 0x9105, 0x0904, 0xad4a, 0xa880, 0xd0bc, 0x1904, - 0xad4a, 0x080c, 0xbb8c, 0x0804, 0xad6e, 0x00f6, 0x2079, 0x026c, - 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x00fe, 0x0021, 0x0005, 0x0011, - 0x0005, 0x0005, 0x0096, 0x6003, 0x0002, 0x6007, 0x0043, 0x6014, - 0x2048, 0xa87c, 0xd0ac, 0x0128, 0x009e, 0x0005, 0x2130, 0x2228, - 0x0058, 0x2400, 0xa9ac, 0x910a, 0x2300, 0xaab0, 0x9213, 0x2600, - 0x9102, 0x2500, 0x9203, 0x0e90, 0xac46, 0xab4a, 0xae36, 0xad3a, - 0x6044, 0xd0fc, 0x190c, 0x98e4, 0x604b, 0x0000, 0x080c, 0x1adf, - 0x1118, 0x6144, 0x080c, 0x84df, 0x009e, 0x0005, 0x9182, 0x0057, - 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xae7d, 0xae7d, - 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae7d, - 0xae7f, 0xae7d, 0xae7d, 0xae7d, 0xae7d, 0xae90, 0xae7d, 0xae7d, - 0xae7d, 0xae7d, 0xaeb4, 0xae7d, 0xae7d, 0x080c, 0x0d65, 0x6004, - 0x9086, 0x0040, 0x1110, 0x080c, 0x885d, 0x2019, 0x0001, 0x080c, - 0x9269, 0x6003, 0x0002, 0x080c, 0xbf7e, 0x080c, 0x88b8, 0x0005, - 0x6004, 0x9086, 0x0040, 0x1110, 0x080c, 0x885d, 0x2019, 0x0001, - 0x080c, 0x9269, 0x080c, 0x88b8, 0x080c, 0x300e, 0x080c, 0xbf76, - 0x0096, 0x6114, 0x2148, 0x080c, 0xb842, 0x0150, 0xa867, 0x0103, - 0xa87b, 0x0029, 0xa877, 0x0000, 0x080c, 0x6991, 0x080c, 0xba31, - 0x009e, 0x080c, 0x9bda, 0x0005, 0x080c, 0x0d65, 0xa87b, 0x0015, - 0xd1fc, 0x0180, 0xa87b, 0x0007, 0x8002, 0x8000, 0x810a, 0x9189, - 0x0000, 0x0006, 0x0016, 0x2009, 0x1a47, 0x2104, 0x8000, 0x200a, - 0x001e, 0x000e, 0xa992, 0xa88e, 0x0005, 0x9182, 0x0057, 0x1220, - 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xaeec, 0xaeec, 0xaeec, - 0xaeec, 0xaeec, 0xaeee, 0xaeec, 0xaeec, 0xafab, 0xaeec, 0xaeec, - 0xaeec, 0xaeec, 0xaeec, 0xaeec, 0xaeec, 0xaeec, 0xaeec, 0xaeec, - 0xb0e9, 0xaeec, 0xb0f3, 0xaeec, 0x080c, 0x0d65, 0x601c, 0xd0bc, - 0x0178, 0xd084, 0x0168, 0xd0f4, 0x0120, 0xc084, 0x601e, 0x0804, - 0xacde, 0x6114, 0x0096, 0x2148, 0xa87c, 0xc0e5, 0xa87e, 0x009e, - 0x0076, 0x00a6, 0x00e6, 0x0096, 0x2071, 0x0260, 0x6114, 0x2150, - 0x601c, 0xd0fc, 0x1110, 0x7644, 0x0008, 0x9036, 0xb676, 0x96b4, - 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, 0x00b6, 0x2258, 0xba3c, - 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, 0x86ff, 0x0904, 0xafa4, - 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, 0x7048, 0xb092, 0x704c, - 0xb08e, 0x9284, 0x0300, 0x0904, 0xafa4, 0x9686, 0x0100, 0x1130, - 0x7064, 0x9005, 0x1118, 0xc6c4, 0xb676, 0x0c38, 0x080c, 0x1022, - 0x090c, 0x0d65, 0x2900, 0xb07a, 0xb77c, 0x97bd, 0x0200, 0xb77e, - 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, 0xa86e, 0xb070, 0xa872, - 0x7044, 0x9084, 0xf000, 0x9635, 0xae76, 0x968c, 0x0c00, 0x0120, - 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, 0x9186, 0x0002, - 0x0180, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, 0x0060, 0xd6dc, - 0x0118, 0xa87b, 0x0015, 0x0038, 0xd6d4, 0x0118, 0xa87b, 0x0007, - 0x0010, 0xa87b, 0x0000, 0xaf7e, 0xb080, 0xa882, 0xb084, 0xa886, - 0x901e, 0xd6c4, 0x0190, 0x735c, 0xab86, 0x83ff, 0x0170, 0x938a, - 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, 0x2019, 0x0018, - 0x2011, 0x0025, 0x080c, 0xb408, 0x003e, 0xd6cc, 0x01e8, 0x7154, - 0xa98a, 0x81ff, 0x01c8, 0x9192, 0x0021, 0x1260, 0x8304, 0x9098, - 0x0018, 0x2011, 0x0029, 0x080c, 0xb408, 0x2011, 0x0205, 0x2013, - 0x0000, 0x0050, 0xb068, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, - 0x0c68, 0x2950, 0x080c, 0xb3a7, 0x080c, 0x18ff, 0x009e, 0x00ee, - 0x00ae, 0x007e, 0x0005, 0x2001, 0x1958, 0x2004, 0x604a, 0x0096, - 0x6114, 0x2148, 0xa83c, 0xa940, 0x9105, 0x1118, 0xa87c, 0xc0dc, - 0xa87e, 0x6003, 0x0002, 0x080c, 0xbf87, 0x0904, 0xb0e4, 0x604b, - 0x0000, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1500, - 0xd1cc, 0x0904, 0xb0a9, 0xa978, 0xa868, 0xd0fc, 0x0904, 0xb06a, - 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, 0x00a6, 0x2150, 0xb174, - 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0904, 0xb038, 0x9086, 0x0028, - 0x1904, 0xb024, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x0804, 0xb040, - 0x6024, 0xd0f4, 0x11d0, 0xa838, 0xaa34, 0x9205, 0x09c8, 0xa838, - 0xaa90, 0x9206, 0x1120, 0xa88c, 0xaa34, 0x9206, 0x0988, 0x6024, - 0xd0d4, 0x1148, 0xa9ac, 0xa834, 0x9102, 0x603a, 0xa9b0, 0xa838, - 0x9103, 0x603e, 0x6024, 0xc0f5, 0x6026, 0x6010, 0x00b6, 0x2058, - 0xb83c, 0x8000, 0xb83e, 0x00be, 0x601c, 0xc0fc, 0x601e, 0x9006, - 0xa876, 0xa892, 0xa88e, 0xa87c, 0xc0e4, 0xa87e, 0xd0cc, 0x0140, - 0xc0cc, 0xa87e, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fd4, 0x009e, - 0x080c, 0xbb8c, 0x0804, 0xb0e4, 0xd1dc, 0x0158, 0xa87b, 0x0015, - 0xb07b, 0x0015, 0x080c, 0xbe29, 0x0118, 0xb174, 0xc1dc, 0xb176, - 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, - 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xaeb6, - 0xa87c, 0xb07e, 0xa890, 0xb092, 0xa88c, 0xb08e, 0xa860, 0x20e8, - 0xa85c, 0x9080, 0x0019, 0x20a0, 0x20a9, 0x0020, 0x8a06, 0x8006, - 0x8007, 0x9094, 0x003f, 0x22e0, 0x9084, 0xffc0, 0x9080, 0x0019, - 0x2098, 0x4003, 0x00ae, 0x000e, 0xa882, 0x000e, 0xa87e, 0x080c, - 0xbf06, 0x001e, 0xa874, 0x0006, 0x2148, 0x080c, 0x0fd4, 0x001e, - 0x0804, 0xb0d6, 0x0016, 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, - 0x90b6, 0x0002, 0x01e0, 0x9086, 0x0028, 0x1128, 0xa87b, 0x001c, - 0xb07b, 0x001c, 0x00e0, 0xd1dc, 0x0158, 0xa87b, 0x0015, 0xb07b, - 0x0015, 0x080c, 0xbe29, 0x0118, 0xb174, 0xc1dc, 0xb176, 0x0078, - 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, 0x0007, 0x0040, 0xa87c, - 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, 0xaeb6, 0xa890, - 0xb092, 0xa88c, 0xb08e, 0xa87c, 0xb07e, 0x00ae, 0x080c, 0x0fd4, - 0x009e, 0x080c, 0xbf06, 0xa974, 0x0016, 0x080c, 0xb3f8, 0x001e, - 0x0468, 0xa867, 0x0103, 0xa974, 0x9184, 0x00ff, 0x90b6, 0x0002, - 0x01b0, 0x9086, 0x0028, 0x1118, 0xa87b, 0x001c, 0x00d0, 0xd1dc, - 0x0148, 0xa87b, 0x0015, 0x080c, 0xbe29, 0x0118, 0xa974, 0xc1dc, - 0xa976, 0x0078, 0xd1d4, 0x0118, 0xa87b, 0x0007, 0x0050, 0xa87b, + 0x0205, 0x2003, 0x0002, 0x2099, 0x0260, 0x20a9, 0x0020, 0x4003, + 0x2003, 0x0000, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, + 0x080c, 0x9be6, 0x001e, 0x009e, 0x0005, 0x0096, 0x0016, 0x900e, + 0x7030, 0x9086, 0x0100, 0x0140, 0x7038, 0x9084, 0x00ff, 0x800c, + 0x703c, 0x9084, 0x00ff, 0x8004, 0x9080, 0x0004, 0x9108, 0x810b, + 0x2011, 0x0002, 0x2019, 0x000c, 0x6014, 0x2048, 0x080c, 0xb426, + 0x080c, 0xb870, 0x0140, 0x6014, 0x2048, 0xa807, 0x0000, 0xa864, + 0xa8e2, 0xa867, 0x0103, 0x080c, 0x9be6, 0x001e, 0x009e, 0x0005, + 0x0016, 0x0096, 0x7030, 0x9086, 0x0100, 0x1118, 0x2009, 0x0004, + 0x0010, 0x7034, 0x800c, 0x810b, 0x2011, 0x000c, 0x2019, 0x000c, + 0x6014, 0x2048, 0xa804, 0x0096, 0x9005, 0x0108, 0x2048, 0x080c, + 0xb426, 0x009e, 0x080c, 0xb870, 0x0148, 0xa804, 0x9005, 0x1158, + 0xa807, 0x0000, 0xa864, 0xa8e2, 0xa867, 0x0103, 0x080c, 0x9be6, + 0x009e, 0x001e, 0x0005, 0x0086, 0x2040, 0xa030, 0x8007, 0x9086, + 0x0100, 0x1118, 0x080c, 0xa59c, 0x00e0, 0xa034, 0x8007, 0x800c, + 0x8806, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, 0x9080, + 0x000c, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0xaaa0, + 0xab9c, 0xaca8, 0xada4, 0x2031, 0x0000, 0x2041, 0x127e, 0x0019, + 0x0d08, 0x008e, 0x0898, 0x0096, 0x0006, 0x080c, 0x102f, 0x000e, + 0x01b0, 0xa8ab, 0x0dcb, 0xa876, 0x000e, 0xa8a2, 0x0006, 0xae6a, + 0x2800, 0xa89e, 0xa97a, 0xaf72, 0xaa8e, 0xab92, 0xac96, 0xad9a, + 0x0086, 0x2940, 0x080c, 0x1124, 0x008e, 0x9085, 0x0001, 0x009e, + 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, 0x9084, 0x00ff, 0x6210, + 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, 0x1520, 0x700c, 0x6210, + 0x00b6, 0x2258, 0xba14, 0x00be, 0x9206, 0x11e0, 0x604b, 0x0000, + 0x2c68, 0x0016, 0x2009, 0x0035, 0x080c, 0xbf07, 0x001e, 0x1158, + 0x622c, 0x2268, 0x2071, 0x026c, 0x6b20, 0x9386, 0x0003, 0x0130, + 0x9386, 0x0006, 0x0128, 0x080c, 0x9be6, 0x0020, 0x0039, 0x0010, + 0x080c, 0xa21c, 0x002e, 0x00de, 0x00ee, 0x0005, 0x0096, 0x6814, + 0x2048, 0x9186, 0x0015, 0x0904, 0xa1fb, 0x918e, 0x0016, 0x1904, + 0xa21a, 0x700c, 0x908c, 0xff00, 0x9186, 0x1700, 0x0120, 0x9186, + 0x0300, 0x1904, 0xa1d5, 0x89ff, 0x1138, 0x6800, 0x9086, 0x000f, + 0x0904, 0xa1b7, 0x0804, 0xa218, 0x6808, 0x9086, 0xffff, 0x1904, + 0xa1fd, 0xa87c, 0x9084, 0x0060, 0x9086, 0x0020, 0x1128, 0xa83c, + 0xa940, 0x9105, 0x1904, 0xa1fd, 0x6824, 0xd084, 0x1904, 0xa1fd, + 0xd0b4, 0x0158, 0x0016, 0x2001, 0x195e, 0x200c, 0x6018, 0x9102, + 0x9082, 0x0005, 0x001e, 0x1a04, 0xa1fd, 0x080c, 0xba5f, 0x6864, + 0xa882, 0xa87c, 0xc0dc, 0xc0f4, 0xc0d4, 0xa87e, 0x0026, 0x900e, + 0x6a18, 0x2001, 0x000a, 0x080c, 0x842f, 0xa884, 0x920a, 0x0208, + 0x8011, 0xaa86, 0x82ff, 0x002e, 0x1138, 0x00c6, 0x2d60, 0x080c, + 0xb579, 0x00ce, 0x0804, 0xa218, 0x00c6, 0xa868, 0xd0fc, 0x1118, + 0x080c, 0x5d71, 0x0010, 0x080c, 0x611a, 0x00ce, 0x1904, 0xa1fd, + 0x00c6, 0x2d60, 0x080c, 0x9be6, 0x00ce, 0x0804, 0xa218, 0x00c6, + 0x080c, 0x9c55, 0x0198, 0x6017, 0x0000, 0x6810, 0x6012, 0x080c, + 0xbd09, 0x6023, 0x0003, 0x6904, 0x00c6, 0x2d60, 0x080c, 0x9be6, + 0x00ce, 0x080c, 0x9c82, 0x00ce, 0x0804, 0xa218, 0x2001, 0x1960, + 0x2004, 0x684a, 0x00ce, 0x0804, 0xa218, 0x7008, 0x9086, 0x000b, + 0x11c8, 0x6010, 0x00b6, 0x2058, 0xb900, 0xc1bc, 0xb902, 0x00be, + 0x00c6, 0x2d60, 0xa87b, 0x0003, 0x080c, 0xbf49, 0x6007, 0x0085, + 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x84e7, + 0x00ce, 0x0430, 0x700c, 0x9086, 0x2a00, 0x1138, 0x2001, 0x1960, + 0x2004, 0x684a, 0x00e8, 0x04c1, 0x00e8, 0x89ff, 0x090c, 0x0d65, + 0x00c6, 0x00d6, 0x2d60, 0xa867, 0x0103, 0xa87b, 0x0003, 0x080c, + 0x67cb, 0x080c, 0xba5f, 0x080c, 0x9c20, 0x0026, 0x6010, 0x00b6, + 0x2058, 0xba3c, 0x080c, 0x63ba, 0x00be, 0x002e, 0x00de, 0x00ce, + 0x080c, 0x9be6, 0x009e, 0x0005, 0x9186, 0x0015, 0x1128, 0x2001, + 0x1960, 0x2004, 0x684a, 0x0068, 0x918e, 0x0016, 0x1160, 0x00c6, + 0x2d00, 0x2060, 0x080c, 0xd517, 0x080c, 0x83d6, 0x080c, 0x9be6, + 0x00ce, 0x080c, 0x9be6, 0x0005, 0x0026, 0x0036, 0x0046, 0x7228, + 0xacb0, 0xabac, 0xd2f4, 0x0130, 0x2001, 0x1960, 0x2004, 0x684a, + 0x0804, 0xa296, 0x00c6, 0x2d60, 0x080c, 0xb451, 0x00ce, 0x6804, + 0x9086, 0x0050, 0x1168, 0x00c6, 0x2d00, 0x2060, 0x6003, 0x0001, + 0x6007, 0x0050, 0x2009, 0x8023, 0x080c, 0x84e7, 0x00ce, 0x04f0, + 0x6800, 0x9086, 0x000f, 0x01a8, 0x89ff, 0x090c, 0x0d65, 0x6800, + 0x9086, 0x0004, 0x1190, 0xa87c, 0xd0ac, 0x0178, 0xa843, 0x0fff, + 0xa83f, 0x0fff, 0xa880, 0xc0fc, 0xa882, 0x2001, 0x0001, 0x6832, + 0x0400, 0x2001, 0x0007, 0x6832, 0x00e0, 0xa87c, 0xd0b4, 0x1150, + 0xd0ac, 0x0db8, 0x6824, 0xd0f4, 0x1d48, 0xa838, 0xa934, 0x9105, + 0x0d80, 0x0c20, 0xd2ec, 0x1d68, 0x7024, 0x9306, 0x1118, 0x7020, + 0x9406, 0x0d38, 0x7020, 0x683e, 0x7024, 0x683a, 0x2001, 0x0005, + 0x6832, 0x080c, 0xbbf3, 0x080c, 0x894f, 0x0010, 0x080c, 0x9be6, + 0x004e, 0x003e, 0x002e, 0x0005, 0x00e6, 0x00d6, 0x0026, 0x7008, + 0x9084, 0x00ff, 0x6210, 0x00b6, 0x2258, 0xba10, 0x00be, 0x9206, + 0x1904, 0xa301, 0x700c, 0x6210, 0x00b6, 0x2258, 0xba14, 0x00be, + 0x9206, 0x1904, 0xa301, 0x6038, 0x2068, 0x6824, 0xc0dc, 0x6826, + 0x6a20, 0x9286, 0x0007, 0x0904, 0xa301, 0x9286, 0x0002, 0x0904, + 0xa301, 0x9286, 0x0000, 0x05e8, 0x6808, 0x633c, 0x9306, 0x15c8, + 0x2071, 0x026c, 0x9186, 0x0015, 0x0570, 0x918e, 0x0016, 0x1100, + 0x00c6, 0x6038, 0x2060, 0x6104, 0x9186, 0x004b, 0x01c0, 0x9186, + 0x004c, 0x01a8, 0x9186, 0x004d, 0x0190, 0x9186, 0x004e, 0x0178, + 0x9186, 0x0052, 0x0160, 0x6014, 0x0096, 0x2048, 0x080c, 0xb870, + 0x090c, 0x0d65, 0xa87b, 0x0003, 0x009e, 0x080c, 0xbf49, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, + 0x84e7, 0x00ce, 0x0030, 0x6038, 0x2070, 0x2001, 0x1960, 0x2004, + 0x704a, 0x080c, 0x9be6, 0x002e, 0x00de, 0x00ee, 0x0005, 0x00b6, + 0x0096, 0x00f6, 0x6014, 0x2048, 0x6010, 0x2058, 0x91b6, 0x0015, + 0x0130, 0xba08, 0xbb0c, 0xbc00, 0xc48c, 0xbc02, 0x0460, 0x0096, + 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, 0x0010, 0x2019, 0x000a, + 0x20a9, 0x0004, 0x080c, 0xabee, 0x002e, 0x003e, 0x015e, 0x009e, + 0x1904, 0xa370, 0x0096, 0x0156, 0x0036, 0x0026, 0x2b48, 0x9e90, + 0x0014, 0x2019, 0x0006, 0x20a9, 0x0004, 0x080c, 0xabee, 0x002e, + 0x003e, 0x015e, 0x009e, 0x15a0, 0x7238, 0xba0a, 0x733c, 0xbb0e, + 0xbc00, 0xc48d, 0xbc02, 0xa804, 0x9005, 0x1128, 0x00fe, 0x009e, + 0x00be, 0x0804, 0x9ff4, 0x0096, 0x2048, 0xaa12, 0xab16, 0xac0a, + 0x009e, 0x8006, 0x8006, 0x8007, 0x90bc, 0x003f, 0x9084, 0xffc0, + 0x9080, 0x0002, 0x2009, 0x002b, 0xaaa0, 0xab9c, 0xaca8, 0xada4, + 0x2031, 0x0000, 0x2041, 0x127e, 0x080c, 0xa0f3, 0x0130, 0x00fe, + 0x009e, 0x080c, 0x9be6, 0x00be, 0x0005, 0x080c, 0xa59c, 0x0cb8, + 0x2b78, 0x00f6, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x00fe, 0x00c6, + 0x080c, 0x9b90, 0x2f00, 0x6012, 0x6017, 0x0000, 0x6023, 0x0001, + 0x6007, 0x0001, 0x6003, 0x0001, 0x2001, 0x0007, 0x080c, 0x61e0, + 0x080c, 0x620c, 0x080c, 0x84ee, 0x080c, 0x894f, 0x00ce, 0x0804, + 0xa343, 0x2100, 0x91b2, 0x0053, 0x1a0c, 0x0d65, 0x91b2, 0x0040, + 0x1a04, 0xa3f9, 0x0002, 0xa3e7, 0xa3e7, 0xa3dd, 0xa3e7, 0xa3e7, + 0xa3e7, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, + 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, + 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, + 0xa3db, 0xa3db, 0xa3e7, 0xa3db, 0xa3e7, 0xa3e7, 0xa3db, 0xa3db, + 0xa3db, 0xa3db, 0xa3db, 0xa3dd, 0xa3db, 0xa3db, 0xa3db, 0xa3db, + 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3e7, 0xa3e7, 0xa3db, + 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, 0xa3db, + 0xa3e7, 0xa3db, 0xa3db, 0x080c, 0x0d65, 0x0066, 0x00b6, 0x6610, + 0x2658, 0xb8c4, 0xc08c, 0xb8c6, 0x00be, 0x006e, 0x0000, 0x6003, + 0x0001, 0x6106, 0x9186, 0x0032, 0x0118, 0x080c, 0x84ee, 0x0010, + 0x080c, 0x84e7, 0x0126, 0x2091, 0x8000, 0x080c, 0x894f, 0x012e, + 0x0005, 0x2600, 0x0002, 0xa40d, 0xa40d, 0xa40d, 0xa3e7, 0xa3e7, + 0xa40d, 0xa40d, 0xa40d, 0xa40d, 0xa3e7, 0xa40d, 0xa3e7, 0xa40d, + 0xa3e7, 0xa40d, 0xa40d, 0xa40d, 0xa40d, 0x080c, 0x0d65, 0x6004, + 0x90b2, 0x0053, 0x1a0c, 0x0d65, 0x91b6, 0x0013, 0x0904, 0xa4e4, + 0x91b6, 0x0027, 0x1904, 0xa490, 0x080c, 0x8891, 0x6004, 0x080c, + 0xba74, 0x01b0, 0x080c, 0xba85, 0x01a8, 0x908e, 0x0021, 0x0904, + 0xa48d, 0x908e, 0x0022, 0x1130, 0x080c, 0xa020, 0x0904, 0xa489, + 0x0804, 0xa48a, 0x908e, 0x003d, 0x0904, 0xa48d, 0x0804, 0xa483, + 0x080c, 0x305d, 0x2001, 0x0007, 0x080c, 0x61e0, 0x6010, 0x00b6, + 0x2058, 0xb9a0, 0x00be, 0x080c, 0xa59c, 0x9186, 0x007e, 0x1148, + 0x2001, 0x1836, 0x2014, 0xc285, 0x080c, 0x70ba, 0x1108, 0xc2ad, + 0x2202, 0x080c, 0x98c7, 0x0036, 0x0026, 0x2019, 0x0028, 0x2110, + 0x080c, 0xd572, 0x002e, 0x003e, 0x0016, 0x0026, 0x0036, 0x2110, + 0x2019, 0x0028, 0x080c, 0x8658, 0x0076, 0x903e, 0x080c, 0x853d, + 0x6010, 0x00b6, 0x905d, 0x0100, 0x00be, 0x2c08, 0x080c, 0xd011, + 0x007e, 0x003e, 0x002e, 0x001e, 0x080c, 0x98e3, 0x080c, 0xbfa4, + 0x0016, 0x080c, 0xbd01, 0x080c, 0x9be6, 0x001e, 0x080c, 0x3136, + 0x080c, 0x894f, 0x0030, 0x080c, 0xbd01, 0x080c, 0x9be6, 0x080c, + 0x894f, 0x0005, 0x080c, 0xa59c, 0x0cb0, 0x080c, 0xa5d8, 0x0c98, + 0x9186, 0x0015, 0x0118, 0x9186, 0x0016, 0x1140, 0x080c, 0x9ab6, + 0x0d80, 0x9086, 0x0002, 0x0904, 0xa5e3, 0x0c58, 0x9186, 0x0014, + 0x1d40, 0x080c, 0x8891, 0x6004, 0x908e, 0x0022, 0x1118, 0x080c, + 0xa020, 0x09f8, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x080c, 0xba74, + 0x1190, 0x080c, 0x305d, 0x6010, 0x00b6, 0x2058, 0xb9a0, 0x00be, + 0x080c, 0xa59c, 0x9186, 0x007e, 0x1128, 0x2001, 0x1836, 0x200c, + 0xc185, 0x2102, 0x0800, 0x080c, 0xba85, 0x1120, 0x080c, 0xa59c, + 0x0804, 0xa483, 0x6004, 0x908e, 0x0032, 0x1160, 0x00e6, 0x00f6, + 0x2071, 0x189c, 0x2079, 0x0000, 0x080c, 0x33d0, 0x00fe, 0x00ee, + 0x0804, 0xa483, 0x6004, 0x908e, 0x0021, 0x0d40, 0x908e, 0x0022, + 0x090c, 0xa59c, 0x0804, 0xa483, 0x90b2, 0x0040, 0x1a04, 0xa585, + 0x2008, 0x0002, 0xa52c, 0xa52d, 0xa530, 0xa533, 0xa536, 0xa539, + 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, + 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, + 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa52a, + 0xa53c, 0xa547, 0xa52a, 0xa548, 0xa547, 0xa52a, 0xa52a, 0xa52a, + 0xa52a, 0xa52a, 0xa547, 0xa547, 0xa52a, 0xa52a, 0xa52a, 0xa52a, + 0xa52a, 0xa52a, 0xa52a, 0xa52a, 0xa570, 0xa547, 0xa52a, 0xa543, + 0xa52a, 0xa52a, 0xa52a, 0xa544, 0xa52a, 0xa52a, 0xa52a, 0xa547, + 0xa56b, 0xa52a, 0x080c, 0x0d65, 0x00d0, 0x2001, 0x000b, 0x00f8, + 0x2001, 0x0003, 0x00e0, 0x2001, 0x0005, 0x00c8, 0x2001, 0x0001, + 0x00b0, 0x2001, 0x0009, 0x0098, 0x6003, 0x0005, 0x080c, 0xbfa7, + 0x080c, 0x894f, 0x0058, 0x0018, 0x0010, 0x080c, 0x61e0, 0x04b8, + 0x080c, 0xbfa7, 0x6003, 0x0004, 0x080c, 0x894f, 0x0005, 0x080c, + 0x61e0, 0x6003, 0x0002, 0x0036, 0x2019, 0x1866, 0x2304, 0x9084, + 0xff00, 0x1120, 0x2001, 0x195e, 0x201c, 0x0040, 0x8007, 0x909a, + 0x0004, 0x0ec0, 0x8003, 0x801b, 0x831b, 0x9318, 0x631a, 0x003e, + 0x080c, 0x894f, 0x0c18, 0x080c, 0xbd01, 0x080c, 0x9be6, 0x08f0, + 0x00e6, 0x00f6, 0x2071, 0x189c, 0x2079, 0x0000, 0x080c, 0x33d0, + 0x00fe, 0x00ee, 0x080c, 0x8891, 0x080c, 0x9be6, 0x0878, 0x6003, + 0x0002, 0x080c, 0xbfa7, 0x0804, 0x894f, 0x2600, 0x2008, 0x0002, + 0xa59a, 0xa59a, 0xa59a, 0xa57f, 0xa57f, 0xa59a, 0xa59a, 0xa59a, + 0xa59a, 0xa57f, 0xa59a, 0xa57f, 0xa59a, 0xa57f, 0xa59a, 0xa59a, + 0xa59a, 0xa59a, 0x080c, 0x0d65, 0x00e6, 0x0096, 0x0026, 0x0016, + 0x080c, 0xb870, 0x0568, 0x6014, 0x2048, 0xa864, 0x9086, 0x0139, + 0x11a8, 0xa894, 0x9086, 0x0056, 0x1148, 0x080c, 0x5149, 0x0130, + 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, 0x0028, 0x2001, 0x0030, + 0x900e, 0x2011, 0x4005, 0x080c, 0xbe6e, 0x0090, 0xa868, 0xd0fc, + 0x0178, 0xa807, 0x0000, 0x0016, 0x6004, 0x908e, 0x0021, 0x0168, + 0x908e, 0x003d, 0x0150, 0x001e, 0xa867, 0x0103, 0xa833, 0x0100, + 0x001e, 0x002e, 0x009e, 0x00ee, 0x0005, 0x001e, 0x0009, 0x0cc0, + 0x0096, 0x6014, 0x2048, 0xa800, 0x2048, 0xa867, 0x0103, 0xa823, + 0x8001, 0x009e, 0x0005, 0x00b6, 0x6610, 0x2658, 0xb804, 0x9084, + 0x00ff, 0x90b2, 0x000c, 0x1a0c, 0x0d65, 0x6604, 0x96b6, 0x004d, + 0x1120, 0x080c, 0xbd8d, 0x0804, 0xa660, 0x6604, 0x96b6, 0x0043, + 0x1120, 0x080c, 0xbdd6, 0x0804, 0xa660, 0x6604, 0x96b6, 0x004b, + 0x1120, 0x080c, 0xbe02, 0x0804, 0xa660, 0x6604, 0x96b6, 0x0033, + 0x1120, 0x080c, 0xbd23, 0x0804, 0xa660, 0x6604, 0x96b6, 0x0028, + 0x1120, 0x080c, 0xbac3, 0x0804, 0xa660, 0x6604, 0x96b6, 0x0029, + 0x1120, 0x080c, 0xbb04, 0x0804, 0xa660, 0x6604, 0x96b6, 0x001f, + 0x1118, 0x080c, 0x9fc8, 0x04e0, 0x6604, 0x96b6, 0x0000, 0x1118, + 0x080c, 0xa307, 0x04a8, 0x6604, 0x96b6, 0x0022, 0x1118, 0x080c, + 0xa001, 0x0470, 0x6604, 0x96b6, 0x0035, 0x1118, 0x080c, 0xa111, + 0x0438, 0x6604, 0x96b6, 0x0039, 0x1118, 0x080c, 0xa29c, 0x0400, + 0x6604, 0x96b6, 0x003d, 0x1118, 0x080c, 0xa039, 0x00c8, 0x6604, + 0x96b6, 0x0044, 0x1118, 0x080c, 0xa075, 0x0090, 0x6604, 0x96b6, + 0x0049, 0x1118, 0x080c, 0xa0a0, 0x0058, 0x91b6, 0x0015, 0x1110, + 0x0063, 0x0030, 0x91b6, 0x0016, 0x1128, 0x00be, 0x0804, 0xa920, + 0x00be, 0x0005, 0x080c, 0x9c9f, 0x0cd8, 0xa67d, 0xa680, 0xa67d, + 0xa6c4, 0xa67d, 0xa854, 0xa92d, 0xa67d, 0xa67d, 0xa8fa, 0xa67d, + 0xa90e, 0x0096, 0x080c, 0x15af, 0x6014, 0x2048, 0xa800, 0x2048, + 0xa867, 0x0103, 0x009e, 0x0804, 0x9be6, 0xa001, 0xa001, 0x0005, + 0x00e6, 0x2071, 0x1800, 0x708c, 0x9086, 0x0074, 0x1540, 0x080c, + 0xcfe2, 0x11b0, 0x6010, 0x00b6, 0x2058, 0x7030, 0xd08c, 0x0128, + 0xb800, 0xd0bc, 0x0110, 0xc0c5, 0xb802, 0x00e9, 0x00be, 0x2001, + 0x0006, 0x080c, 0x61e0, 0x080c, 0x305d, 0x080c, 0x9be6, 0x0088, + 0x2001, 0x000a, 0x080c, 0x61e0, 0x080c, 0x305d, 0x6003, 0x0001, + 0x6007, 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, 0x0010, 0x080c, + 0xa83f, 0x00ee, 0x0005, 0x00d6, 0xb800, 0xd084, 0x0158, 0x9006, + 0x080c, 0x61cc, 0x2069, 0x185b, 0x6804, 0x0020, 0x2001, 0x0006, + 0x080c, 0x620c, 0x00de, 0x0005, 0x00b6, 0x0096, 0x00d6, 0x2011, + 0x1823, 0x2204, 0x9086, 0x0074, 0x1904, 0xa816, 0x6010, 0x2058, + 0xbaa0, 0x9286, 0x007e, 0x1120, 0x080c, 0xaa71, 0x0804, 0xa77b, + 0x00d6, 0x080c, 0x70ba, 0x0198, 0x0026, 0x2011, 0x0010, 0x080c, + 0x66ae, 0x002e, 0x05c8, 0x080c, 0x53bc, 0x1540, 0x6014, 0x2048, + 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x00f8, 0x0026, + 0x2011, 0x8008, 0x080c, 0x66ae, 0x002e, 0x0530, 0x6014, 0x2048, + 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0030, + 0x900e, 0x2011, 0x4009, 0x080c, 0xbe6e, 0x0040, 0x6014, 0x2048, + 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x6010, 0x2058, + 0xb9a0, 0x0016, 0x080c, 0x305d, 0x080c, 0x9be6, 0x001e, 0x080c, + 0x3136, 0x00de, 0x0804, 0xa819, 0x00de, 0x080c, 0xaa66, 0x6010, + 0x2058, 0xbaa0, 0x9286, 0x0080, 0x1510, 0x6014, 0x9005, 0x01a8, + 0x2048, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, + 0x0000, 0x900e, 0x2011, 0x4000, 0x080c, 0xbe6e, 0x0030, 0xa807, + 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, 0x2001, 0x0006, 0x080c, + 0x61e0, 0x080c, 0x305d, 0x080c, 0x9be6, 0x0804, 0xa819, 0x080c, + 0xa827, 0x6014, 0x9005, 0x0190, 0x2048, 0xa868, 0xd0f4, 0x01e8, + 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x1d08, 0x2001, 0x0000, + 0x900e, 0x2011, 0x4000, 0x080c, 0xbe6e, 0x08f8, 0x080c, 0xa81d, + 0x0160, 0x9006, 0x080c, 0x61cc, 0x2001, 0x0004, 0x080c, 0x620c, + 0x2001, 0x0007, 0x080c, 0x61e0, 0x08a0, 0x2001, 0x0004, 0x080c, + 0x61e0, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x84ee, 0x080c, + 0x894f, 0x0804, 0xa819, 0xb85c, 0xd0e4, 0x01d0, 0x080c, 0xbc9b, + 0x080c, 0x70ba, 0x0118, 0xd0dc, 0x1904, 0xa73d, 0x2011, 0x1836, + 0x2204, 0xc0ad, 0x2012, 0x2001, 0x0002, 0x00f6, 0x2079, 0x0100, + 0x78e3, 0x0000, 0x080c, 0x24cd, 0x78e2, 0x00fe, 0x0804, 0xa73d, + 0x080c, 0xbcdc, 0x2011, 0x1836, 0x2204, 0xc0a5, 0x2012, 0x0006, + 0x080c, 0xd147, 0x000e, 0x1904, 0xa73d, 0xc0b5, 0x2012, 0x2001, + 0x0006, 0x080c, 0x61e0, 0x9006, 0x080c, 0x61cc, 0x00c6, 0x2001, + 0x180f, 0x2004, 0xd09c, 0x0520, 0x00f6, 0x2079, 0x0100, 0x00e6, + 0x2071, 0x1800, 0x700c, 0x9084, 0x00ff, 0x78e6, 0x707a, 0x7010, + 0x78ea, 0x707e, 0x908c, 0x00ff, 0x00ee, 0x780c, 0xc0b5, 0x780e, + 0x00fe, 0x080c, 0x24a2, 0x00f6, 0x2100, 0x900e, 0x080c, 0x2459, + 0x795a, 0x00fe, 0x9186, 0x0081, 0x01d8, 0x2009, 0x0081, 0x00c8, + 0x2009, 0x00ef, 0x00f6, 0x2079, 0x0100, 0x79ea, 0x7932, 0x7936, + 0x780c, 0xc0b5, 0x780e, 0x00fe, 0x080c, 0x24a2, 0x00f6, 0x2079, + 0x1800, 0x797e, 0x2100, 0x900e, 0x080c, 0x2459, 0x795a, 0x00fe, + 0x8108, 0x080c, 0x622f, 0x2b00, 0x00ce, 0x1904, 0xa73d, 0x6012, + 0x2009, 0x180f, 0x210c, 0xd19c, 0x0150, 0x2009, 0x027c, 0x210c, + 0x918c, 0x00ff, 0xb912, 0x2009, 0x027d, 0x210c, 0xb916, 0x2001, + 0x0002, 0x080c, 0x61e0, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, + 0x0002, 0x080c, 0x84ee, 0x080c, 0x894f, 0x0018, 0x080c, 0xa59c, + 0x0431, 0x00de, 0x009e, 0x00be, 0x0005, 0x2001, 0x1810, 0x2004, + 0xd0a4, 0x0120, 0x2001, 0x185c, 0x2004, 0xd0ac, 0x0005, 0x00e6, + 0x080c, 0xd5cb, 0x0190, 0x2071, 0x0260, 0x7108, 0x720c, 0x918c, + 0x00ff, 0x1118, 0x9284, 0xff00, 0x0140, 0x6010, 0x2058, 0xb8a0, + 0x9084, 0xff80, 0x1110, 0xb912, 0xba16, 0x00ee, 0x0005, 0x2030, + 0x2001, 0x0007, 0x080c, 0x61e0, 0x080c, 0x53bc, 0x1120, 0x2001, + 0x0007, 0x080c, 0x620c, 0x080c, 0x305d, 0x6020, 0x9086, 0x000a, + 0x1108, 0x0005, 0x0804, 0x9be6, 0x00b6, 0x00e6, 0x0026, 0x0016, + 0x2071, 0x1800, 0x708c, 0x9086, 0x0014, 0x1904, 0xa8f1, 0x00d6, + 0x080c, 0x70ba, 0x0198, 0x0026, 0x2011, 0x0010, 0x080c, 0x66ae, + 0x002e, 0x05c8, 0x080c, 0x53bc, 0x1540, 0x6014, 0x2048, 0xa807, + 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x00f8, 0x0026, 0x2011, + 0x8008, 0x080c, 0x66ae, 0x002e, 0x0530, 0x6014, 0x2048, 0xa864, + 0x9084, 0x00ff, 0x9086, 0x0039, 0x1140, 0x2001, 0x0030, 0x900e, + 0x2011, 0x4009, 0x080c, 0xbe6e, 0x0040, 0x6014, 0x2048, 0xa807, + 0x0000, 0xa867, 0x0103, 0xa833, 0xdead, 0x6010, 0x2058, 0xb9a0, + 0x0016, 0x080c, 0x305d, 0x080c, 0x9be6, 0x001e, 0x080c, 0x3136, + 0x00de, 0x0804, 0xa8f5, 0x00de, 0x080c, 0x53bc, 0x1170, 0x6014, + 0x9005, 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, 0xbba0, 0x2021, + 0x0006, 0x080c, 0x4a97, 0x004e, 0x003e, 0x00d6, 0x6010, 0x2058, + 0x080c, 0x632a, 0x080c, 0xa6b3, 0x00de, 0x080c, 0xab37, 0x1588, + 0x6010, 0x2058, 0xb890, 0x9005, 0x0560, 0x2001, 0x0006, 0x080c, + 0x61e0, 0x0096, 0x6014, 0x904d, 0x01d0, 0xa864, 0x9084, 0x00ff, + 0x9086, 0x0039, 0x1140, 0x2001, 0x0000, 0x900e, 0x2011, 0x4000, + 0x080c, 0xbe6e, 0x0060, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0029, + 0x0130, 0xa807, 0x0000, 0xa867, 0x0103, 0xa833, 0x0200, 0x009e, + 0x080c, 0x305d, 0x6020, 0x9086, 0x000a, 0x0138, 0x080c, 0x9be6, + 0x0020, 0x080c, 0xa59c, 0x080c, 0xa83f, 0x001e, 0x002e, 0x00ee, + 0x00be, 0x0005, 0x2011, 0x1823, 0x2204, 0x9086, 0x0014, 0x1160, + 0x2001, 0x0002, 0x080c, 0x61e0, 0x6003, 0x0001, 0x6007, 0x0001, + 0x080c, 0x84ee, 0x0804, 0x894f, 0x0804, 0xa83f, 0x2030, 0x2011, + 0x1823, 0x2204, 0x9086, 0x0004, 0x1148, 0x96b6, 0x000b, 0x1120, + 0x2001, 0x0007, 0x080c, 0x61e0, 0x0804, 0x9be6, 0x0804, 0xa83f, + 0x0002, 0xa67d, 0xa938, 0xa67d, 0xa977, 0xa67d, 0xaa22, 0xa92d, + 0xa67d, 0xa67d, 0xaa35, 0xa67d, 0xaa45, 0x6604, 0x9686, 0x0003, + 0x0904, 0xa854, 0x96b6, 0x001e, 0x1110, 0x080c, 0x9be6, 0x0005, + 0x00b6, 0x00d6, 0x00c6, 0x080c, 0xaa55, 0x11a0, 0x9006, 0x080c, + 0x61cc, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x2001, 0x0002, 0x080c, + 0x61e0, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x84ee, 0x080c, + 0x894f, 0x0408, 0x2009, 0x026e, 0x2104, 0x9086, 0x0009, 0x1160, + 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0170, 0x8001, + 0xb842, 0x601b, 0x000a, 0x0078, 0x2009, 0x026f, 0x2104, 0x9084, + 0xff00, 0x9086, 0x1900, 0x1108, 0x08a0, 0x080c, 0x302e, 0x080c, + 0xbfa4, 0x080c, 0xa83f, 0x00ce, 0x00de, 0x00be, 0x0005, 0x0096, + 0x00b6, 0x0026, 0x9016, 0x080c, 0xaa63, 0x00d6, 0x2069, 0x1954, + 0x2d04, 0x9005, 0x0168, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, + 0x1138, 0x2069, 0x181f, 0x2d04, 0x8000, 0x206a, 0x00de, 0x0010, + 0x00de, 0x0088, 0x9006, 0x080c, 0x61cc, 0x2001, 0x0002, 0x080c, + 0x61e0, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x84ee, 0x080c, + 0x894f, 0x0804, 0xa9f2, 0x080c, 0xb870, 0x01b0, 0x6014, 0x2048, + 0xa864, 0x2010, 0x9086, 0x0139, 0x1138, 0x6007, 0x0016, 0x2001, + 0x0002, 0x080c, 0xbec8, 0x00b0, 0x6014, 0x2048, 0xa864, 0xd0fc, + 0x0118, 0x2001, 0x0001, 0x0ca8, 0x2001, 0x180e, 0x2004, 0xd0dc, + 0x0148, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x1110, + 0x9006, 0x0c38, 0x080c, 0xa59c, 0x2009, 0x026e, 0x2134, 0x96b4, + 0x00ff, 0x9686, 0x0005, 0x0510, 0x9686, 0x000b, 0x01c8, 0x2009, + 0x026f, 0x2104, 0x9084, 0xff00, 0x1118, 0x9686, 0x0009, 0x01b0, + 0x9086, 0x1900, 0x1168, 0x9686, 0x0009, 0x0180, 0x2001, 0x0004, + 0x080c, 0x61e0, 0x2001, 0x0028, 0x601a, 0x6007, 0x0052, 0x0010, + 0x080c, 0xa83f, 0x002e, 0x00be, 0x009e, 0x0005, 0x9286, 0x0139, + 0x0160, 0x6014, 0x2048, 0x080c, 0xb870, 0x0140, 0xa864, 0x9086, + 0x0139, 0x0118, 0xa868, 0xd0fc, 0x0108, 0x0c50, 0x6010, 0x2058, + 0xb840, 0x9084, 0x00ff, 0x9005, 0x0138, 0x8001, 0xb842, 0x601b, + 0x000a, 0x6007, 0x0016, 0x08f0, 0xb8a0, 0x9086, 0x007e, 0x1138, + 0x00e6, 0x2071, 0x1800, 0x080c, 0x5c8a, 0x00ee, 0x0010, 0x080c, + 0x302e, 0x0870, 0x080c, 0xaa63, 0x1160, 0x2001, 0x0004, 0x080c, + 0x61e0, 0x6003, 0x0001, 0x6007, 0x0003, 0x080c, 0x84ee, 0x0804, + 0x894f, 0x080c, 0xa59c, 0x0804, 0xa83f, 0x0469, 0x1160, 0x2001, + 0x0008, 0x080c, 0x61e0, 0x6003, 0x0001, 0x6007, 0x0005, 0x080c, + 0x84ee, 0x0804, 0x894f, 0x0804, 0xa83f, 0x00e9, 0x1160, 0x2001, + 0x000a, 0x080c, 0x61e0, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, + 0x84ee, 0x0804, 0x894f, 0x0804, 0xa83f, 0x2009, 0x026e, 0x2104, + 0x9086, 0x0003, 0x1138, 0x2009, 0x026f, 0x2104, 0x9084, 0xff00, + 0x9086, 0x2a00, 0x0005, 0x9085, 0x0001, 0x0005, 0x00b6, 0x00c6, + 0x0016, 0x6110, 0x2158, 0x080c, 0x629e, 0x001e, 0x00ce, 0x00be, + 0x0005, 0x00b6, 0x00f6, 0x00e6, 0x00d6, 0x0036, 0x0016, 0x6010, + 0x2058, 0x2009, 0x1836, 0x2104, 0x9085, 0x0003, 0x200a, 0x080c, + 0xab09, 0x0560, 0x2009, 0x1836, 0x2104, 0xc0cd, 0x200a, 0x080c, + 0x6686, 0x0158, 0x9006, 0x2020, 0x2009, 0x002a, 0x080c, 0xd2bc, + 0x2001, 0x180c, 0x200c, 0xc195, 0x2102, 0x2019, 0x002a, 0x2009, + 0x0001, 0x080c, 0x2ff3, 0x00e6, 0x2071, 0x1800, 0x080c, 0x2e09, + 0x00ee, 0x00c6, 0x0156, 0x20a9, 0x0781, 0x2009, 0x007f, 0x080c, + 0x3136, 0x8108, 0x1f04, 0xaaa7, 0x015e, 0x00ce, 0x080c, 0xaa66, + 0x2071, 0x0260, 0x2079, 0x0200, 0x7817, 0x0001, 0x2001, 0x1836, + 0x200c, 0xc1c5, 0x7018, 0xd0fc, 0x0110, 0xd0dc, 0x0118, 0x7038, + 0xd0dc, 0x1108, 0xc1c4, 0x7817, 0x0000, 0x2001, 0x1836, 0x2102, + 0x2079, 0x0100, 0x2e04, 0x9084, 0x00ff, 0x2069, 0x181e, 0x206a, + 0x78e6, 0x0006, 0x8e70, 0x2e04, 0x2069, 0x181f, 0x206a, 0x78ea, + 0x7832, 0x7836, 0x2010, 0x9084, 0xff00, 0x001e, 0x9105, 0x2009, + 0x182b, 0x200a, 0x2200, 0x9084, 0x00ff, 0x2008, 0x080c, 0x24a2, + 0x080c, 0x70ba, 0x0170, 0x2071, 0x0260, 0x2069, 0x195a, 0x7048, + 0x206a, 0x704c, 0x6806, 0x7050, 0x680a, 0x7054, 0x680e, 0x080c, + 0xbc9b, 0x0040, 0x2001, 0x0006, 0x080c, 0x61e0, 0x080c, 0x305d, + 0x080c, 0x9be6, 0x001e, 0x003e, 0x00de, 0x00ee, 0x00fe, 0x00be, + 0x0005, 0x0096, 0x0026, 0x0036, 0x00e6, 0x0156, 0x2019, 0x182b, + 0x231c, 0x83ff, 0x01f0, 0x2071, 0x0260, 0x7200, 0x9294, 0x00ff, + 0x7004, 0x9084, 0xff00, 0x9205, 0x9306, 0x1198, 0x2011, 0x0276, + 0x20a9, 0x0004, 0x2b48, 0x2019, 0x000a, 0x080c, 0xabee, 0x1148, + 0x2011, 0x027a, 0x20a9, 0x0004, 0x2019, 0x0006, 0x080c, 0xabee, + 0x1100, 0x015e, 0x00ee, 0x003e, 0x002e, 0x009e, 0x0005, 0x00e6, + 0x2071, 0x0260, 0x7034, 0x9086, 0x0014, 0x11a8, 0x7038, 0x9086, + 0x0800, 0x1188, 0x703c, 0xd0ec, 0x0160, 0x9084, 0x0f00, 0x9086, + 0x0100, 0x1138, 0x7054, 0xd0a4, 0x1110, 0xd0ac, 0x0110, 0x9006, + 0x0010, 0x9085, 0x0001, 0x00ee, 0x0005, 0x00e6, 0x0096, 0x00c6, + 0x0076, 0x0056, 0x0046, 0x0026, 0x0006, 0x0126, 0x2091, 0x8000, + 0x2029, 0x19cb, 0x252c, 0x2021, 0x19d2, 0x2424, 0x2061, 0x1ddc, + 0x2071, 0x1800, 0x7250, 0x7070, 0x9202, 0x1a04, 0xabc6, 0x080c, + 0xd2ed, 0x0904, 0xabbf, 0x6720, 0x9786, 0x0007, 0x0904, 0xabbf, + 0x2500, 0x9c06, 0x0904, 0xabbf, 0x2400, 0x9c06, 0x0904, 0xabbf, + 0x3e08, 0x9186, 0x0002, 0x1148, 0x6010, 0x9005, 0x0130, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1590, 0x00c6, 0x6043, 0xffff, + 0x6000, 0x9086, 0x0004, 0x1110, 0x080c, 0x193e, 0x9786, 0x000a, + 0x0148, 0x080c, 0xba85, 0x1130, 0x00ce, 0x080c, 0xa59c, 0x080c, + 0x9c20, 0x00e8, 0x6014, 0x2048, 0x080c, 0xb870, 0x01a8, 0x9786, + 0x0003, 0x1530, 0xa867, 0x0103, 0xa87c, 0xd0cc, 0x0130, 0x0096, + 0xa878, 0x2048, 0x080c, 0x0fe1, 0x009e, 0xab7a, 0xa877, 0x0000, + 0x080c, 0x69a9, 0x080c, 0xba5f, 0x080c, 0x9c20, 0x00ce, 0x9ce0, + 0x001c, 0x7064, 0x9c02, 0x1210, 0x0804, 0xab6a, 0x012e, 0x000e, + 0x002e, 0x004e, 0x005e, 0x007e, 0x00ce, 0x009e, 0x00ee, 0x0005, + 0x9786, 0x0006, 0x1118, 0x080c, 0xd267, 0x0c30, 0x9786, 0x000a, + 0x0998, 0x0880, 0x220c, 0x2304, 0x9106, 0x1130, 0x8210, 0x8318, + 0x1f04, 0xabda, 0x9006, 0x0005, 0x2304, 0x9102, 0x0218, 0x2001, + 0x0001, 0x0008, 0x9006, 0x918d, 0x0001, 0x0005, 0x0136, 0x01c6, + 0x0016, 0x8906, 0x8006, 0x8007, 0x908c, 0x003f, 0x21e0, 0x9084, + 0xffc0, 0x9300, 0x2098, 0x3518, 0x20a9, 0x0001, 0x220c, 0x4002, + 0x910e, 0x1140, 0x8210, 0x8319, 0x1dc8, 0x9006, 0x001e, 0x01ce, + 0x013e, 0x0005, 0x220c, 0x9102, 0x0218, 0x2001, 0x0001, 0x0010, + 0x2001, 0x0000, 0x918d, 0x0001, 0x001e, 0x01ce, 0x013e, 0x0005, + 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0d65, 0x080c, 0xba74, 0x0120, + 0x080c, 0xba85, 0x0158, 0x0028, 0x080c, 0x305d, 0x080c, 0xba85, + 0x0128, 0x080c, 0x8891, 0x080c, 0x9be6, 0x0005, 0x080c, 0xa59c, + 0x0cc0, 0x9182, 0x0057, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, + 0x0005, 0xac50, 0xac50, 0xac50, 0xac50, 0xac50, 0xac50, 0xac50, + 0xac50, 0xac50, 0xac50, 0xac50, 0xac52, 0xac52, 0xac52, 0xac52, + 0xac50, 0xac50, 0xac50, 0xac52, 0xac50, 0xac50, 0xac50, 0xac50, + 0x080c, 0x0d65, 0x600b, 0xffff, 0x6003, 0x000f, 0x6106, 0x0126, + 0x2091, 0x8000, 0x080c, 0xbfa7, 0x2009, 0x8000, 0x080c, 0x84e7, + 0x012e, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0040, + 0x0804, 0xacd7, 0x9186, 0x0027, 0x1520, 0x080c, 0x8891, 0x080c, + 0x302e, 0x080c, 0xbfa4, 0x0096, 0x6114, 0x2148, 0x080c, 0xb870, + 0x0198, 0x080c, 0xba85, 0x1118, 0x080c, 0xa59c, 0x0068, 0xa867, + 0x0103, 0xa87b, 0x0029, 0xa877, 0x0000, 0xa97c, 0xc1c5, 0xa97e, + 0x080c, 0x69b5, 0x080c, 0xba5f, 0x009e, 0x080c, 0x9be6, 0x0804, + 0x894f, 0x9186, 0x0014, 0x1120, 0x6004, 0x9082, 0x0040, 0x0018, + 0x080c, 0x0d65, 0x0005, 0x0002, 0xacb5, 0xacb3, 0xacb3, 0xacb3, + 0xacb3, 0xacb3, 0xacb3, 0xacb3, 0xacb3, 0xacb3, 0xacb3, 0xacce, + 0xacce, 0xacce, 0xacce, 0xacb3, 0xacce, 0xacb3, 0xacce, 0xacb3, + 0xacb3, 0xacb3, 0xacb3, 0x080c, 0x0d65, 0x080c, 0x8891, 0x0096, + 0x6114, 0x2148, 0x080c, 0xb870, 0x0168, 0xa867, 0x0103, 0xa87b, + 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ec, 0xa882, 0x080c, 0x69b5, + 0x080c, 0xba5f, 0x009e, 0x080c, 0x9be6, 0x0005, 0x080c, 0x8891, + 0x080c, 0xba85, 0x090c, 0xa59c, 0x080c, 0x9be6, 0x0005, 0x0002, + 0xacf1, 0xacef, 0xacef, 0xacef, 0xacef, 0xacef, 0xacef, 0xacef, + 0xacef, 0xacef, 0xacef, 0xacf3, 0xacf3, 0xacf3, 0xacf3, 0xacef, + 0xacf5, 0xacef, 0xacf3, 0xacef, 0xacef, 0xacef, 0xacef, 0x080c, + 0x0d65, 0x080c, 0x0d65, 0x080c, 0x0d65, 0x080c, 0x9be6, 0x0804, + 0x894f, 0x9182, 0x0057, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, + 0x0005, 0xad18, 0xad18, 0xad18, 0xad18, 0xad18, 0xad51, 0xae40, + 0xad18, 0xae4c, 0xad18, 0xad18, 0xad18, 0xad18, 0xad18, 0xad18, + 0xad18, 0xad18, 0xad18, 0xad18, 0xae4c, 0xad1a, 0xad18, 0xae4a, + 0x080c, 0x0d65, 0x00b6, 0x0096, 0x6114, 0x2148, 0x6010, 0x2058, + 0xb800, 0xd0bc, 0x1508, 0xa87b, 0x0000, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, 0x190c, - 0xaeb6, 0xa974, 0x0016, 0x080c, 0x67a7, 0x001e, 0x6010, 0x00b6, - 0x2058, 0xb8c0, 0x0016, 0x9005, 0x190c, 0x6396, 0x001e, 0x00be, - 0xd1e4, 0x1120, 0x080c, 0x9bda, 0x009e, 0x0005, 0x080c, 0xbb4f, - 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, 0x080c, 0xbf87, 0x190c, - 0x190d, 0x009e, 0x0005, 0x0096, 0x6114, 0x2148, 0xa83c, 0xa940, - 0x9105, 0x01e8, 0xa877, 0x0000, 0xa87b, 0x0000, 0xa867, 0x0103, - 0x00b6, 0x6010, 0x2058, 0xa834, 0xa938, 0x9115, 0x11a0, 0x080c, - 0x67a7, 0xba3c, 0x8211, 0x0208, 0xba3e, 0xb8c0, 0x9005, 0x0110, - 0x080c, 0x6396, 0x080c, 0x9bda, 0x00be, 0x009e, 0x0005, 0xa87c, - 0xc0dc, 0xa87e, 0x08f8, 0xb800, 0xd0bc, 0x1120, 0xa834, 0x080c, - 0xaeb6, 0x0c28, 0xa880, 0xd0bc, 0x1dc8, 0x080c, 0xbb8c, 0x0c60, - 0x080c, 0x885d, 0x0010, 0x080c, 0x88b8, 0x601c, 0xd084, 0x0110, - 0x080c, 0x1921, 0x080c, 0xb842, 0x01f0, 0x0096, 0x6114, 0x2148, - 0x080c, 0xba57, 0x1118, 0x080c, 0xa581, 0x00a0, 0xa867, 0x0103, - 0x2009, 0x180c, 0x210c, 0xd18c, 0x1198, 0xd184, 0x1170, 0x6108, - 0xa97a, 0x918e, 0x0029, 0x1110, 0x080c, 0xd52b, 0xa877, 0x0000, - 0x080c, 0x6991, 0x009e, 0x0804, 0x9c14, 0xa87b, 0x0004, 0x0cb0, - 0xa87b, 0x0004, 0x0c98, 0x9182, 0x0057, 0x1220, 0x9182, 0x0040, - 0x0208, 0x000a, 0x0005, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, - 0xb17c, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, - 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb17a, 0xb1a0, - 0xb17a, 0xb17a, 0x080c, 0x0d65, 0x080c, 0x5390, 0x01f8, 0x6014, - 0x7144, 0x918c, 0x0fff, 0x9016, 0xd1c4, 0x0118, 0x7264, 0x9294, - 0x00ff, 0x0096, 0x904d, 0x0188, 0xa87b, 0x0000, 0xa864, 0x9086, - 0x0139, 0x0128, 0xa867, 0x0103, 0xa976, 0xaa96, 0x0030, 0xa897, - 0x4000, 0xa99a, 0xaa9e, 0x080c, 0x6991, 0x009e, 0x0804, 0x9bda, - 0x080c, 0x5390, 0x0dd8, 0x6014, 0x900e, 0x9016, 0x0c10, 0x9182, - 0x0085, 0x0002, 0xb1b9, 0xb1b7, 0xb1b7, 0xb1c5, 0xb1b7, 0xb1b7, - 0xb1b7, 0xb1b7, 0xb1b7, 0xb1b7, 0xb1b7, 0xb1b7, 0xb1b7, 0x080c, - 0x0d65, 0x6003, 0x0001, 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, - 0x8020, 0x080c, 0x84b3, 0x012e, 0x0005, 0x0026, 0x0056, 0x00d6, - 0x00e6, 0x2071, 0x0260, 0x7224, 0x6216, 0x7220, 0x080c, 0xb830, - 0x01a0, 0x2268, 0x6800, 0x9086, 0x0000, 0x0178, 0x6010, 0x6d10, - 0x952e, 0x1158, 0x00c6, 0x2d60, 0x080c, 0xb433, 0x00ce, 0x0128, - 0x6803, 0x0002, 0x6007, 0x0086, 0x0010, 0x6007, 0x0087, 0x6003, - 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, 0x9280, 0x0004, 0x00b6, - 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0140, 0x6824, 0xd0ec, 0x0128, - 0x00c6, 0x2260, 0x080c, 0xbb8c, 0x00ce, 0x00ee, 0x00de, 0x005e, - 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, - 0x0a0c, 0x0d65, 0x908a, 0x0092, 0x1a0c, 0x0d65, 0x9082, 0x0085, - 0x00e2, 0x9186, 0x0027, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d65, - 0x080c, 0x885d, 0x0096, 0x6014, 0x2048, 0x080c, 0xb842, 0x0140, - 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, 0x080c, 0x6991, - 0x009e, 0x080c, 0x9c14, 0x0804, 0x891b, 0xb23a, 0xb23c, 0xb23c, - 0xb23a, 0xb23a, 0xb23a, 0xb23a, 0xb23a, 0xb23a, 0xb23a, 0xb23a, - 0xb23a, 0xb23a, 0x080c, 0x0d65, 0x080c, 0x9c14, 0x0005, 0x9186, - 0x0013, 0x1130, 0x6004, 0x9082, 0x0085, 0x2008, 0x0804, 0xb28b, - 0x9186, 0x0027, 0x1558, 0x080c, 0x885d, 0x080c, 0x300e, 0x080c, - 0xbf76, 0x0096, 0x6014, 0x2048, 0x080c, 0xb842, 0x0150, 0xa867, - 0x0103, 0xa877, 0x0000, 0xa87b, 0x0029, 0x080c, 0x6991, 0x080c, - 0xba31, 0x009e, 0x080c, 0x9bda, 0x0005, 0x9186, 0x0089, 0x0118, - 0x9186, 0x008a, 0x1140, 0x080c, 0x9aaa, 0x0128, 0x9086, 0x000c, - 0x0904, 0xb2c3, 0x0000, 0x080c, 0x9c93, 0x0c70, 0x9186, 0x0014, - 0x1d60, 0x080c, 0x885d, 0x0096, 0x6014, 0x2048, 0x080c, 0xb842, - 0x0d00, 0xa867, 0x0103, 0xa877, 0x0000, 0xa87b, 0x0006, 0xa880, - 0xc0ec, 0xa882, 0x0890, 0x0002, 0xb29b, 0xb299, 0xb299, 0xb299, - 0xb299, 0xb299, 0xb2af, 0xb299, 0xb299, 0xb299, 0xb299, 0xb299, - 0xb299, 0x080c, 0x0d65, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, - 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, 0x1956, 0x0010, - 0x2001, 0x1957, 0x2004, 0x601a, 0x6003, 0x000c, 0x0005, 0x6034, - 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, - 0x1118, 0x2001, 0x1956, 0x0010, 0x2001, 0x1957, 0x2004, 0x601a, - 0x6003, 0x000e, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, - 0x0208, 0x0012, 0x0804, 0x9c93, 0xb2d9, 0xb2d9, 0xb2d9, 0xb2d9, - 0xb2db, 0xb328, 0xb2d9, 0xb2d9, 0xb2d9, 0xb2d9, 0xb2d9, 0xb2d9, - 0xb2d9, 0x080c, 0x0d65, 0x0096, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0168, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, - 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x009e, 0x0804, 0xb33c, - 0x080c, 0xb842, 0x1118, 0x080c, 0xba31, 0x0068, 0x6014, 0x2048, - 0x080c, 0xbf8d, 0x1110, 0x080c, 0xba31, 0xa867, 0x0103, 0x080c, - 0xbf41, 0x080c, 0x6991, 0x00d6, 0x2c68, 0x080c, 0x9b84, 0x01d0, - 0x6003, 0x0001, 0x6007, 0x001e, 0x600b, 0xffff, 0x2009, 0x026e, - 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x6910, 0x6112, - 0x080c, 0xbcdb, 0x695c, 0x615e, 0x6023, 0x0001, 0x2009, 0x8020, - 0x080c, 0x84b3, 0x2d60, 0x00de, 0x080c, 0x9bda, 0x009e, 0x0005, - 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x05a0, 0x6034, - 0x908c, 0xff00, 0x810f, 0x9186, 0x0035, 0x0130, 0x9186, 0x001e, - 0x0118, 0x9186, 0x0039, 0x1538, 0x00d6, 0x2c68, 0x080c, 0xbed9, - 0x11f0, 0x080c, 0x9b84, 0x01d8, 0x6106, 0x6003, 0x0001, 0x6023, - 0x0001, 0x6910, 0x6112, 0x692c, 0x612e, 0x6930, 0x6132, 0x6934, - 0x918c, 0x00ff, 0x6136, 0x6938, 0x613a, 0x693c, 0x613e, 0x695c, - 0x615e, 0x080c, 0xbcdb, 0x2009, 0x8020, 0x080c, 0x84b3, 0x2d60, - 0x00de, 0x0804, 0x9bda, 0x0096, 0x6014, 0x2048, 0x080c, 0xb842, - 0x01c8, 0xa867, 0x0103, 0xa880, 0xd0b4, 0x0128, 0xc0ec, 0xa882, - 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, 0x0020, - 0xa87b, 0x0005, 0x080c, 0xbb4b, 0xa877, 0x0000, 0x080c, 0x6991, - 0x080c, 0xba31, 0x009e, 0x0804, 0x9bda, 0x0016, 0x0096, 0x6014, - 0x2048, 0x080c, 0xb842, 0x0140, 0xa867, 0x0103, 0xa87b, 0x0028, - 0xa877, 0x0000, 0x080c, 0x6991, 0x009e, 0x001e, 0x9186, 0x0013, - 0x0158, 0x9186, 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, - 0x9c93, 0x0020, 0x080c, 0x885d, 0x080c, 0x9c14, 0x0005, 0x0056, - 0x0066, 0x0096, 0x00a6, 0x2029, 0x0001, 0x9182, 0x0101, 0x1208, - 0x0010, 0x2009, 0x0100, 0x2130, 0x8304, 0x9098, 0x0018, 0x2009, - 0x0020, 0x2011, 0x0029, 0x080c, 0xb408, 0x96b2, 0x0020, 0xb004, - 0x904d, 0x0110, 0x080c, 0x0fd4, 0x080c, 0x1022, 0x0520, 0x8528, - 0xa867, 0x0110, 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, - 0x1228, 0x2608, 0x2011, 0x001b, 0x0499, 0x00a8, 0x96b2, 0x003c, - 0x2009, 0x003c, 0x2950, 0x2011, 0x001b, 0x0451, 0x0c28, 0x2001, - 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, - 0x95ac, 0x0000, 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, - 0x852f, 0x95ad, 0x0003, 0xb566, 0x009e, 0x006e, 0x005e, 0x0005, - 0x00a6, 0x89ff, 0x0158, 0xa804, 0x9055, 0x0130, 0xa807, 0x0000, - 0x080c, 0x6991, 0x2a48, 0x0cb8, 0x080c, 0x6991, 0x00ae, 0x0005, - 0x00f6, 0x2079, 0x0200, 0x7814, 0x9085, 0x0080, 0x7816, 0xd184, - 0x0108, 0x8108, 0x810c, 0x20a9, 0x0001, 0xa860, 0x20e8, 0xa85c, - 0x9200, 0x20a0, 0x20e1, 0x0000, 0x2300, 0x9e00, 0x2098, 0x4003, - 0x8318, 0x9386, 0x0020, 0x1148, 0x2018, 0x2300, 0x9e00, 0x2098, - 0x7814, 0x8000, 0x9085, 0x0080, 0x7816, 0x8109, 0x1d80, 0x7817, - 0x0000, 0x00fe, 0x0005, 0x0066, 0x0126, 0x2091, 0x8000, 0x2031, - 0x0001, 0x6020, 0x9084, 0x000f, 0x0083, 0x012e, 0x006e, 0x0005, - 0x0126, 0x2091, 0x8000, 0x0066, 0x2031, 0x0000, 0x6020, 0x9084, - 0x000f, 0x001b, 0x006e, 0x012e, 0x0005, 0xb485, 0xb485, 0xb480, - 0xb4a9, 0xb45d, 0xb480, 0xb45f, 0xb480, 0xb45d, 0xb45d, 0xb480, - 0xb480, 0xb480, 0xb45d, 0xb45d, 0xb45d, 0x080c, 0x0d65, 0x6010, - 0x9080, 0x0000, 0x2004, 0xd0bc, 0x190c, 0xb4a9, 0x0036, 0x6014, - 0x0096, 0x2048, 0xa880, 0x009e, 0xd0cc, 0x0118, 0x2019, 0x000c, - 0x0038, 0xd094, 0x0118, 0x2019, 0x000d, 0x0010, 0x2019, 0x0010, - 0x080c, 0xce09, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, - 0x9006, 0x0005, 0x9085, 0x0001, 0x0005, 0x0096, 0x86ff, 0x11e8, - 0x6014, 0x2048, 0x080c, 0xb842, 0x01d0, 0x6043, 0xffff, 0xa864, - 0x9086, 0x0139, 0x1128, 0xa87b, 0x0005, 0xa883, 0x0000, 0x0028, - 0x900e, 0x2001, 0x0005, 0x080c, 0x6ba2, 0x080c, 0xbb4b, 0x080c, - 0x6985, 0x080c, 0x9c14, 0x9085, 0x0001, 0x009e, 0x0005, 0x9006, - 0x0ce0, 0x080c, 0x98bb, 0x080c, 0xbf9b, 0x6000, 0x908a, 0x0016, - 0x1a0c, 0x0d65, 0x002b, 0x0106, 0x080c, 0x98d7, 0x010e, 0x0005, - 0xb4c8, 0xb4f6, 0xb4ca, 0xb51d, 0xb4f1, 0xb4c8, 0xb480, 0xb485, - 0xb485, 0xb480, 0xb480, 0xb480, 0xb480, 0xb480, 0xb480, 0xb480, - 0x080c, 0x0d65, 0x86ff, 0x1510, 0x6020, 0x9086, 0x0006, 0x01f0, - 0x0096, 0x6014, 0x2048, 0x080c, 0xb842, 0x0158, 0xa87c, 0xd0cc, - 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fd4, 0x009e, 0x080c, - 0xbb4b, 0x009e, 0x080c, 0xbf1b, 0x6007, 0x0085, 0x6003, 0x000b, - 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x8495, 0x9085, 0x0001, - 0x0005, 0x0066, 0x080c, 0x1921, 0x006e, 0x08a0, 0x00e6, 0x2071, - 0x19b7, 0x7030, 0x9c06, 0x1120, 0x080c, 0x91e9, 0x00ee, 0x0850, - 0x6020, 0x9084, 0x000f, 0x9086, 0x0006, 0x1150, 0x0086, 0x0096, - 0x2049, 0x0001, 0x2c40, 0x080c, 0x9365, 0x009e, 0x008e, 0x0040, - 0x0066, 0x080c, 0x90e5, 0x190c, 0x0d65, 0x080c, 0x90f3, 0x006e, - 0x00ee, 0x1904, 0xb4ca, 0x0804, 0xb480, 0x0036, 0x00e6, 0x2071, - 0x19b7, 0x704c, 0x9c06, 0x1138, 0x901e, 0x080c, 0x9269, 0x00ee, - 0x003e, 0x0804, 0xb4ca, 0x080c, 0x949c, 0x00ee, 0x003e, 0x1904, - 0xb4ca, 0x0804, 0xb480, 0x00c6, 0x0066, 0x6020, 0x9084, 0x000f, - 0x001b, 0x006e, 0x00ce, 0x0005, 0xb553, 0xb622, 0xb789, 0xb55b, - 0x9c14, 0xb553, 0xcdfb, 0xbf83, 0xb622, 0xb54c, 0xb808, 0xb54c, - 0xb54c, 0xb54c, 0xb54c, 0xb54c, 0x080c, 0x0d65, 0x080c, 0xba57, - 0x1110, 0x080c, 0xa581, 0x0005, 0x080c, 0x885d, 0x0804, 0x9bda, - 0x601b, 0x0001, 0x0005, 0x080c, 0xb842, 0x0130, 0x6014, 0x0096, - 0x2048, 0x2c00, 0xa896, 0x009e, 0x080c, 0x98bb, 0x080c, 0xbf9b, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x0013, 0x0804, 0x98d7, - 0xb580, 0xb582, 0xb5ac, 0xb5c0, 0xb5ed, 0xb580, 0xb553, 0xb553, - 0xb553, 0xb5c7, 0xb5c7, 0xb580, 0xb580, 0xb580, 0xb580, 0xb5d1, - 0x080c, 0x0d65, 0x00e6, 0x6014, 0x0096, 0x2048, 0xa880, 0xc0b5, - 0xa882, 0x009e, 0x2071, 0x19b7, 0x7030, 0x9c06, 0x01d0, 0x0066, - 0x080c, 0x90e5, 0x190c, 0x0d65, 0x080c, 0x90f3, 0x006e, 0x080c, - 0xbf1b, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, - 0x1957, 0x2004, 0x601a, 0x2009, 0x8020, 0x080c, 0x8495, 0x00ee, - 0x0005, 0x601b, 0x0001, 0x0cd8, 0x0096, 0x6014, 0x2048, 0xa880, - 0xc0b5, 0xa882, 0x009e, 0x080c, 0xbf1b, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x2009, 0x8020, 0x080c, 0x8495, 0x0005, - 0x080c, 0x98bb, 0x080c, 0x9a2c, 0x080c, 0x98d7, 0x0c28, 0x0096, - 0x601b, 0x0001, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, - 0x0005, 0x080c, 0x5390, 0x01b8, 0x6014, 0x0096, 0x904d, 0x0190, - 0xa864, 0xa867, 0x0103, 0xa87b, 0x0006, 0x9086, 0x0139, 0x1150, - 0xa867, 0x0139, 0xa87b, 0x0030, 0xa897, 0x4005, 0xa89b, 0x0004, - 0x080c, 0x6991, 0x009e, 0x0804, 0x9bda, 0x6014, 0x0096, 0x904d, - 0x0560, 0xa97c, 0xd1e4, 0x1158, 0x611c, 0xd1fc, 0x0530, 0x6110, - 0x00b6, 0x2158, 0xb93c, 0x8109, 0x0208, 0xb93e, 0x00be, 0x080c, - 0x98d7, 0x2001, 0x180f, 0x2004, 0xd0c4, 0x0110, 0x009e, 0x0005, - 0xa884, 0x009e, 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x2001, - 0x0037, 0x2c08, 0x080c, 0x15ab, 0x6000, 0x9086, 0x0004, 0x1120, - 0x2009, 0x0048, 0x080c, 0x9c76, 0x0005, 0x009e, 0x080c, 0x1921, - 0x0804, 0xb5ac, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x000b, - 0x0005, 0xb639, 0xb558, 0xb63b, 0xb639, 0xb63b, 0xb63b, 0xb554, - 0xb639, 0xb54e, 0xb54e, 0xb639, 0xb639, 0xb639, 0xb639, 0xb639, - 0xb639, 0x080c, 0x0d65, 0x6010, 0x00b6, 0x2058, 0xb804, 0x9084, - 0x00ff, 0x00be, 0x908a, 0x000c, 0x1a0c, 0x0d65, 0x00b6, 0x0013, - 0x00be, 0x0005, 0xb656, 0xb723, 0xb658, 0xb698, 0xb658, 0xb698, - 0xb658, 0xb666, 0xb656, 0xb698, 0xb656, 0xb687, 0x080c, 0x0d65, - 0x6004, 0x908e, 0x0016, 0x05c0, 0x908e, 0x0004, 0x05a8, 0x908e, - 0x0002, 0x0590, 0x908e, 0x0052, 0x0904, 0xb71f, 0x6004, 0x080c, - 0xba57, 0x0904, 0xb73c, 0x908e, 0x0004, 0x1110, 0x080c, 0x303d, - 0x908e, 0x0021, 0x0904, 0xb740, 0x908e, 0x0022, 0x0904, 0xb784, - 0x908e, 0x003d, 0x0904, 0xb740, 0x908e, 0x0039, 0x0904, 0xb744, - 0x908e, 0x0035, 0x0904, 0xb744, 0x908e, 0x001e, 0x0178, 0x908e, - 0x0001, 0x1140, 0x6010, 0x2058, 0xb804, 0x9084, 0x00ff, 0x9086, - 0x0006, 0x0110, 0x080c, 0x300e, 0x080c, 0xa581, 0x0804, 0x9c14, - 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0904, 0xb710, 0x9186, - 0x0002, 0x1904, 0xb6e5, 0x2001, 0x1836, 0x2004, 0xd08c, 0x11c8, - 0x080c, 0x7096, 0x11b0, 0x080c, 0xbf61, 0x0138, 0x080c, 0x70b9, - 0x1120, 0x080c, 0x6fa1, 0x0804, 0xb76d, 0x2001, 0x194d, 0x2003, - 0x0001, 0x2001, 0x1800, 0x2003, 0x0001, 0x080c, 0x6fc7, 0x0804, - 0xb76d, 0x6010, 0x2058, 0x2001, 0x1836, 0x2004, 0xd0ac, 0x1904, - 0xb76d, 0xb8a0, 0x9084, 0xff80, 0x1904, 0xb76d, 0xb840, 0x9084, - 0x00ff, 0x9005, 0x0190, 0x8001, 0xb842, 0x6017, 0x0000, 0x6023, - 0x0007, 0x601b, 0x0398, 0x604b, 0x0000, 0x080c, 0x9b84, 0x0128, - 0x2b00, 0x6012, 0x6023, 0x0001, 0x0458, 0x00de, 0x00ce, 0x6004, - 0x908e, 0x0002, 0x11a0, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, - 0x1170, 0x2009, 0x1836, 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, - 0x1800, 0x080c, 0x5c6a, 0x00ee, 0x080c, 0xa581, 0x0030, 0x080c, - 0xa581, 0x080c, 0x300e, 0x080c, 0xbf76, 0x00e6, 0x0126, 0x2091, - 0x8000, 0x080c, 0x303d, 0x012e, 0x00ee, 0x080c, 0x9c14, 0x0005, - 0x2001, 0x0002, 0x080c, 0x61bc, 0x6003, 0x0001, 0x6007, 0x0002, - 0x080c, 0x84ba, 0x080c, 0x891b, 0x00de, 0x00ce, 0x0c80, 0x080c, - 0x303d, 0x0804, 0xb694, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, - 0x0d38, 0x6010, 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0904, - 0xb6e5, 0x8001, 0xb842, 0x6003, 0x0001, 0x080c, 0x84ba, 0x080c, - 0x891b, 0x00de, 0x00ce, 0x0898, 0x080c, 0xa581, 0x0804, 0xb696, - 0x080c, 0xa5bd, 0x0804, 0xb696, 0x00d6, 0x2c68, 0x6104, 0x080c, - 0xbed9, 0x00de, 0x0118, 0x080c, 0x9bda, 0x00f0, 0x6004, 0x8007, - 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, - 0x000b, 0x6023, 0x0002, 0x603c, 0x600a, 0x2001, 0x1957, 0x2004, - 0x601a, 0x602c, 0x2c08, 0x2060, 0x6024, 0xc0b5, 0x6026, 0x2160, - 0x2009, 0x8020, 0x080c, 0x84b3, 0x0005, 0x00de, 0x00ce, 0x080c, - 0xa581, 0x080c, 0x300e, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, - 0x303d, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, 0x604b, - 0x0000, 0x012e, 0x00ee, 0x0005, 0x080c, 0xa014, 0x1904, 0xb73c, - 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x0096, 0x00d6, - 0x001b, 0x00de, 0x009e, 0x0005, 0xb7a4, 0xb7a4, 0xb7a4, 0xb7a4, - 0xb7a4, 0xb7a4, 0xb7a4, 0xb7a4, 0xb7a4, 0xb553, 0xb7a4, 0xb558, - 0xb7a6, 0xb558, 0xb7b3, 0xb7a4, 0x080c, 0x0d65, 0x6004, 0x9086, - 0x008b, 0x0148, 0x6007, 0x008b, 0x6003, 0x000d, 0x2009, 0x8020, - 0x080c, 0x84b3, 0x0005, 0x080c, 0xbf55, 0x0118, 0x080c, 0xbf68, - 0x0010, 0x080c, 0xbf76, 0x080c, 0xba31, 0x080c, 0xb842, 0x0570, - 0x080c, 0x300e, 0x080c, 0xb842, 0x0168, 0x6014, 0x2048, 0xa867, - 0x0103, 0xa87b, 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ed, 0xa882, - 0x080c, 0x6991, 0x2c68, 0x080c, 0x9b84, 0x0150, 0x6810, 0x6012, - 0x080c, 0xbcdb, 0x00c6, 0x2d60, 0x080c, 0x9c14, 0x00ce, 0x0008, - 0x2d60, 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, - 0x0001, 0x080c, 0x84ba, 0x080c, 0x891b, 0x00c8, 0x080c, 0xbf55, - 0x0138, 0x6034, 0x9086, 0x4000, 0x1118, 0x080c, 0x300e, 0x08d0, - 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, - 0x0035, 0x1118, 0x080c, 0x300e, 0x0868, 0x080c, 0x9c14, 0x0005, - 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x0002, 0xb81e, 0xb81e, - 0xb820, 0xb820, 0xb820, 0xb81e, 0xb81e, 0x9c14, 0xb81e, 0xb81e, - 0xb81e, 0xb81e, 0xb81e, 0xb81e, 0xb81e, 0xb81e, 0x080c, 0x0d65, - 0x080c, 0x98bb, 0x080c, 0x9a2c, 0x080c, 0x98d7, 0x6114, 0x0096, - 0x2148, 0xa87b, 0x0006, 0x080c, 0x6991, 0x009e, 0x0804, 0x9bda, - 0x9284, 0x0003, 0x1158, 0x9282, 0x1ddc, 0x0240, 0x2001, 0x1819, - 0x2004, 0x9202, 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, - 0x0096, 0x0028, 0x0096, 0x0006, 0x6014, 0x2048, 0x000e, 0x0006, - 0x9984, 0xf000, 0x9086, 0xf000, 0x0110, 0x080c, 0x10cd, 0x000e, - 0x009e, 0x0005, 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, - 0x8000, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7350, 0x7070, 0x9302, - 0x1640, 0x6020, 0x9206, 0x11f8, 0x080c, 0xbf61, 0x0180, 0x9286, - 0x0001, 0x1168, 0x6004, 0x9086, 0x0004, 0x1148, 0x080c, 0x300e, - 0x080c, 0xbf76, 0x00c6, 0x080c, 0x9c14, 0x00ce, 0x0060, 0x080c, - 0xbc4d, 0x0148, 0x080c, 0xba57, 0x1110, 0x080c, 0xa581, 0x00c6, - 0x080c, 0x9bda, 0x00ce, 0x9ce0, 0x001c, 0x7064, 0x9c02, 0x1208, - 0x08a0, 0x012e, 0x000e, 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, - 0x00c6, 0x0016, 0x9188, 0x1000, 0x210c, 0x81ff, 0x0128, 0x2061, - 0x1b01, 0x6112, 0x080c, 0x300e, 0x9006, 0x0010, 0x9085, 0x0001, - 0x001e, 0x00ce, 0x00ee, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0x9b84, 0x01b0, 0x665e, 0x2b00, 0x6012, 0x080c, 0x5390, - 0x0118, 0x080c, 0xb973, 0x0168, 0x080c, 0xbcdb, 0x6023, 0x0003, - 0x2009, 0x004b, 0x080c, 0x9c76, 0x9085, 0x0001, 0x012e, 0x00ce, - 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0xbaa0, - 0x080c, 0x9c49, 0x0580, 0x605f, 0x0000, 0x2b00, 0x6012, 0x080c, - 0xbcdb, 0x6023, 0x0003, 0x0016, 0x080c, 0x98bb, 0x080c, 0x8624, - 0x0076, 0x903e, 0x080c, 0x8509, 0x2c08, 0x080c, 0xcfd9, 0x007e, - 0x080c, 0x98d7, 0x001e, 0xd184, 0x0128, 0x080c, 0x9bda, 0x9085, - 0x0001, 0x0070, 0x080c, 0x5390, 0x0128, 0xd18c, 0x1170, 0x080c, - 0xb973, 0x0148, 0x2009, 0x004c, 0x080c, 0x9c76, 0x9085, 0x0001, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x2900, 0x6016, 0x0c90, - 0x2009, 0x004d, 0x0010, 0x2009, 0x004e, 0x00f6, 0x00c6, 0x0046, - 0x0016, 0x080c, 0x9b84, 0x2c78, 0x0590, 0x7e5e, 0x2b00, 0x7812, - 0x7823, 0x0003, 0x2021, 0x0005, 0x080c, 0xb985, 0x9186, 0x004d, - 0x0118, 0x9186, 0x004e, 0x0148, 0x2001, 0x1950, 0x200c, 0xd1fc, - 0x0168, 0x2f60, 0x080c, 0x9bda, 0x00d0, 0x2001, 0x194f, 0x200c, - 0xd1fc, 0x0120, 0x2f60, 0x080c, 0x9bda, 0x0088, 0x2f60, 0x080c, - 0x5390, 0x0138, 0xd18c, 0x1118, 0x04f1, 0x0148, 0x0010, 0x2900, - 0x7816, 0x001e, 0x0016, 0x080c, 0x9c76, 0x9085, 0x0001, 0x001e, - 0x004e, 0x00ce, 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x080c, - 0x9b84, 0x2c78, 0x0508, 0x7e5e, 0x2b00, 0x7812, 0x7823, 0x0003, - 0x0096, 0x2021, 0x0004, 0x0489, 0x009e, 0x2001, 0x194e, 0x200c, - 0xd1fc, 0x0120, 0x2f60, 0x080c, 0x9bda, 0x0060, 0x2f60, 0x080c, - 0x5390, 0x0120, 0xd18c, 0x1160, 0x0071, 0x0130, 0x2009, 0x0052, - 0x080c, 0x9c76, 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, - 0x2900, 0x7816, 0x0c98, 0x00c6, 0x080c, 0x487a, 0x00ce, 0x1120, - 0x080c, 0x9bda, 0x9006, 0x0005, 0xa867, 0x0000, 0xa86b, 0x8000, - 0x2900, 0x6016, 0x9085, 0x0001, 0x0005, 0x0096, 0x0076, 0x0126, - 0x2091, 0x8000, 0x080c, 0x98bb, 0x080c, 0x644d, 0x0158, 0x2001, - 0xb98c, 0x0006, 0x900e, 0x2400, 0x080c, 0x6ba2, 0x080c, 0x6991, - 0x000e, 0x0807, 0x2418, 0x080c, 0x8823, 0xbaa0, 0x0086, 0x2041, - 0x0001, 0x2039, 0x0001, 0x2608, 0x080c, 0x863e, 0x008e, 0x080c, - 0x8509, 0x2f08, 0x2648, 0x080c, 0xcfd9, 0xb93c, 0x81ff, 0x090c, - 0x8715, 0x080c, 0x98d7, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, - 0x0126, 0x2091, 0x8000, 0x080c, 0x9b84, 0x0190, 0x660a, 0x2b08, - 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, - 0x001f, 0x080c, 0x9c76, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, - 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9c49, - 0x01b8, 0x660a, 0x2b08, 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0008, - 0x2900, 0x6016, 0x00f6, 0x2c78, 0x080c, 0x165c, 0x00fe, 0x2009, - 0x0021, 0x080c, 0x9c76, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, - 0x9006, 0x0cd8, 0x2009, 0x003d, 0x00c6, 0x0126, 0x0016, 0x2091, - 0x8000, 0x080c, 0x9b84, 0x0198, 0x660a, 0x2b08, 0x6112, 0x080c, - 0xbcdb, 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x0016, 0x080c, - 0x9c76, 0x9085, 0x0001, 0x001e, 0x012e, 0x00ce, 0x0005, 0x9006, - 0x0cd0, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9c49, 0x0188, - 0x2b08, 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0001, 0x2900, 0x6016, - 0x2009, 0x0000, 0x080c, 0x9c76, 0x9085, 0x0001, 0x012e, 0x00ce, - 0x0005, 0x9006, 0x0cd8, 0x2009, 0x0044, 0x0830, 0x2009, 0x0049, - 0x0818, 0x0026, 0x00b6, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0118, - 0x8211, 0xba3e, 0x1140, 0xb8c0, 0x9005, 0x0128, 0xb888, 0x9005, - 0x1110, 0xb88b, 0x0001, 0x00be, 0x002e, 0x0005, 0x0006, 0x0016, - 0x6004, 0x908e, 0x0002, 0x0140, 0x908e, 0x0003, 0x0128, 0x908e, - 0x0004, 0x0110, 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, - 0x0086, 0x0096, 0x6020, 0x9086, 0x0004, 0x01a8, 0x6014, 0x904d, - 0x080c, 0xb842, 0x0180, 0xa864, 0x9086, 0x0139, 0x0170, 0x6020, - 0x90c6, 0x0003, 0x0140, 0x90c6, 0x0002, 0x0128, 0xa868, 0xd0fc, - 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, 0x009e, 0x008e, 0x000e, - 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9c49, 0x0198, - 0x2b08, 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0001, 0x2900, 0x6016, - 0x080c, 0x300e, 0x2009, 0x0028, 0x080c, 0x9c76, 0x9085, 0x0001, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x9186, 0x0015, 0x11a8, - 0x2011, 0x1823, 0x2204, 0x9086, 0x0074, 0x1178, 0x00b6, 0x080c, - 0xa80c, 0x00be, 0x080c, 0xaa4b, 0x6003, 0x0001, 0x6007, 0x0029, - 0x080c, 0x84ba, 0x080c, 0x891b, 0x0078, 0x6014, 0x0096, 0x2048, - 0xa868, 0x009e, 0xd0fc, 0x0148, 0x2001, 0x0001, 0x080c, 0xbe9a, - 0x080c, 0xa581, 0x080c, 0x9bda, 0x0005, 0x0096, 0x6014, 0x904d, - 0x090c, 0x0d65, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, - 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6991, 0x012e, 0x009e, 0x080c, 0x9bda, 0x0c30, 0x0096, 0x9186, - 0x0016, 0x1128, 0x2001, 0x0004, 0x080c, 0x61bc, 0x00e8, 0x9186, - 0x0015, 0x1510, 0x2011, 0x1823, 0x2204, 0x9086, 0x0014, 0x11e0, - 0x6010, 0x00b6, 0x2058, 0x080c, 0x6306, 0x00be, 0x080c, 0xab1c, - 0x1198, 0x6010, 0x00b6, 0x2058, 0xb890, 0x00be, 0x9005, 0x0160, - 0x2001, 0x0006, 0x080c, 0x61bc, 0x6014, 0x2048, 0xa868, 0xd0fc, - 0x0170, 0x080c, 0x9fe8, 0x0048, 0x6014, 0x2048, 0xa868, 0xd0fc, - 0x0528, 0x080c, 0xa581, 0x080c, 0x9bda, 0x009e, 0x0005, 0x6014, - 0x6310, 0x2358, 0x904d, 0x090c, 0x0d65, 0xa87b, 0x0000, 0xa883, - 0x0000, 0xa897, 0x4000, 0x900e, 0x080c, 0x655e, 0x1108, 0xc185, - 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xa99a, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6991, 0x012e, 0x080c, 0x9bda, 0x08f8, 0x6014, 0x904d, - 0x090c, 0x0d65, 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, - 0xa89b, 0x0004, 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, - 0x6991, 0x012e, 0x080c, 0x9bda, 0x0840, 0xa878, 0x9086, 0x0005, - 0x1108, 0x0009, 0x0005, 0xa880, 0xc0ad, 0xa882, 0x0005, 0x604b, - 0x0000, 0x6017, 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, 0x2009, - 0x8023, 0x080c, 0x84b3, 0x0005, 0x00c6, 0x6010, 0x00b6, 0x2058, - 0xb800, 0x00be, 0xd0bc, 0x0130, 0x0066, 0x6020, 0x9084, 0x000f, - 0x001b, 0x006e, 0x00ce, 0x0005, 0xb553, 0xbb7e, 0xbb7e, 0xbb81, - 0xd2d3, 0xd2ee, 0xd2f1, 0xb553, 0xb553, 0xb553, 0xb553, 0xb553, - 0xb553, 0xb553, 0xb553, 0xb553, 0x080c, 0x0d65, 0xa001, 0xa001, - 0x0005, 0x0096, 0x6014, 0x904d, 0x0118, 0xa87c, 0xd0e4, 0x1110, - 0x009e, 0x0010, 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, - 0x00be, 0xd0bc, 0x0550, 0x2001, 0x1833, 0x2004, 0x9005, 0x1540, - 0x00f6, 0x2c78, 0x080c, 0x9b84, 0x0508, 0x7810, 0x6012, 0x080c, - 0xbcdb, 0x7820, 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, - 0x603e, 0x0020, 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, - 0x0001, 0x6007, 0x0035, 0x6003, 0x0001, 0x795c, 0x615e, 0x2009, - 0x8020, 0x080c, 0x84b3, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, - 0x2001, 0x1958, 0x2004, 0x604a, 0x0005, 0x0016, 0x0096, 0x6814, - 0x2048, 0x681c, 0xd0fc, 0xc0fc, 0x681e, 0xa87c, 0x1108, 0xd0e4, - 0x0180, 0xc0e4, 0xa87e, 0xa877, 0x0000, 0xa893, 0x0000, 0xa88f, - 0x0000, 0xd0cc, 0x0130, 0xc0cc, 0xa87e, 0xa878, 0x2048, 0x080c, - 0x0fd4, 0x6830, 0x6036, 0x908e, 0x0001, 0x0148, 0x6803, 0x0002, - 0x9086, 0x0005, 0x0170, 0x9006, 0x602e, 0x6032, 0x00d0, 0x681c, - 0xc085, 0x681e, 0x6803, 0x0004, 0x6824, 0xc0f4, 0x9085, 0x0c00, - 0x6826, 0x6814, 0x2048, 0xa8ac, 0x6938, 0x9102, 0xa8b0, 0x693c, - 0x9103, 0x1e48, 0x683c, 0x602e, 0x6838, 0x9084, 0xfffc, 0x683a, - 0x6032, 0x2d00, 0x603a, 0x6808, 0x603e, 0x6910, 0x6112, 0x695c, - 0x615e, 0x6023, 0x0001, 0x6007, 0x0039, 0x6003, 0x0001, 0x2009, - 0x8020, 0x080c, 0x84b3, 0x009e, 0x001e, 0x0005, 0x6024, 0xd0d4, - 0x0510, 0xd0f4, 0x11f8, 0x6038, 0x940a, 0x603c, 0x9303, 0x0230, - 0x9105, 0x0120, 0x6024, 0xc0d4, 0xc0f5, 0x0098, 0x643a, 0x633e, - 0xac3e, 0xab42, 0x0046, 0x0036, 0x2400, 0xacac, 0x9402, 0xa836, - 0x2300, 0xabb0, 0x9303, 0xa83a, 0x003e, 0x004e, 0x6024, 0xc0d4, - 0x0000, 0x6026, 0x0005, 0xd0f4, 0x1138, 0xa83c, 0x603a, 0xa840, - 0x603e, 0x6024, 0xc0f5, 0x6026, 0x0005, 0x0006, 0x0016, 0x6004, - 0x908e, 0x0034, 0x01b8, 0x908e, 0x0035, 0x01a0, 0x908e, 0x0036, - 0x0188, 0x908e, 0x0037, 0x0170, 0x908e, 0x0038, 0x0158, 0x908e, - 0x0039, 0x0140, 0x908e, 0x003a, 0x0128, 0x908e, 0x003b, 0x0110, - 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, - 0x0036, 0x00e6, 0x2001, 0x1952, 0x200c, 0x8000, 0x2014, 0x2001, - 0x0032, 0x080c, 0x83fb, 0x2001, 0x1956, 0x82ff, 0x1110, 0x2011, - 0x0014, 0x2202, 0x2001, 0x1954, 0x200c, 0x8000, 0x2014, 0x2071, - 0x193c, 0x711a, 0x721e, 0x2001, 0x0064, 0x080c, 0x83fb, 0x2001, - 0x1957, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1958, - 0x9288, 0x000a, 0x2102, 0x2001, 0x0017, 0x080c, 0x98ac, 0x2001, - 0x1a58, 0x2102, 0x2001, 0x0032, 0x080c, 0x15ab, 0x080c, 0x6647, - 0x00ee, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, - 0x00e6, 0x2001, 0x1956, 0x2003, 0x0028, 0x2001, 0x1957, 0x2003, - 0x0014, 0x2071, 0x193c, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, - 0x1958, 0x2009, 0x001e, 0x2102, 0x2001, 0x0017, 0x080c, 0x98ac, - 0x2001, 0x1a58, 0x2102, 0x2001, 0x0032, 0x080c, 0x15ab, 0x00ee, - 0x001e, 0x000e, 0x0005, 0x0096, 0x6060, 0x904d, 0x0110, 0x080c, - 0x1054, 0x009e, 0x0005, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x080c, 0x9b84, 0x0180, 0x2b08, 0x6112, 0x0ca9, 0x6023, 0x0001, - 0x2900, 0x6016, 0x2009, 0x0033, 0x080c, 0x9c76, 0x9085, 0x0001, - 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x0096, 0x00e6, 0x00f6, - 0x2071, 0x1800, 0x9186, 0x0015, 0x1500, 0x708c, 0x9086, 0x0018, - 0x11e0, 0x6014, 0x2048, 0xaa3c, 0xd2e4, 0x1160, 0x2c78, 0x080c, - 0x89da, 0x01d8, 0x7078, 0xaa50, 0x9206, 0x1160, 0x707c, 0xaa54, - 0x9206, 0x1140, 0x6210, 0x00b6, 0x2258, 0xbaa0, 0x00be, 0x900e, - 0x080c, 0x305d, 0x080c, 0x9fe8, 0x0020, 0x080c, 0xa581, 0x080c, - 0x9bda, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, 0xaa54, 0x9206, - 0x0d48, 0x0c80, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9b84, - 0x0188, 0x2b08, 0x6112, 0x080c, 0xbcdb, 0x6023, 0x0001, 0x2900, - 0x6016, 0x2009, 0x004d, 0x080c, 0x9c76, 0x9085, 0x0001, 0x012e, - 0x00ce, 0x0005, 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, - 0x0016, 0x080c, 0x9b84, 0x0180, 0x2b08, 0x6112, 0x080c, 0xbcdb, - 0x6023, 0x0001, 0x2900, 0x6016, 0x001e, 0x080c, 0x9c76, 0x9085, - 0x0001, 0x012e, 0x00ce, 0x0005, 0x001e, 0x9006, 0x0cd0, 0x0016, - 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0096, 0x00e6, 0x00f6, - 0x2071, 0x1800, 0x9186, 0x0015, 0x1568, 0x718c, 0x6014, 0x2048, - 0xa814, 0x8003, 0x9106, 0x1530, 0x20e1, 0x0000, 0x2001, 0x1970, - 0x2003, 0x0000, 0x6014, 0x2048, 0xa830, 0x20a8, 0x8906, 0x8006, - 0x8007, 0x9094, 0x003f, 0x22e8, 0x9084, 0xffc0, 0x9080, 0x001b, - 0x20a0, 0x2001, 0x1970, 0x0016, 0x200c, 0x080c, 0xc553, 0x001e, - 0xa804, 0x9005, 0x0110, 0x2048, 0x0c38, 0x6014, 0x2048, 0xa867, - 0x0103, 0x0010, 0x080c, 0xa581, 0x080c, 0x9bda, 0x00fe, 0x00ee, - 0x009e, 0x006e, 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, - 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x11b8, - 0x708c, 0x9086, 0x0004, 0x1198, 0x6014, 0x2048, 0x2c78, 0x080c, - 0x89da, 0x01a8, 0x7078, 0xaa74, 0x9206, 0x1130, 0x707c, 0xaa78, - 0x9206, 0x1110, 0x080c, 0x300e, 0x080c, 0x9fe8, 0x0020, 0x080c, - 0xa581, 0x080c, 0x9bda, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, - 0xaa78, 0x9206, 0x0d78, 0x0c80, 0x0096, 0x00e6, 0x00f6, 0x2071, - 0x1800, 0x9186, 0x0015, 0x1550, 0x708c, 0x9086, 0x0004, 0x1530, - 0x6014, 0x2048, 0x2c78, 0x080c, 0x89da, 0x05f0, 0x7078, 0xaacc, - 0x9206, 0x1180, 0x707c, 0xaad0, 0x9206, 0x1160, 0x080c, 0x300e, - 0x0016, 0xa998, 0xaab0, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5340, - 0x001e, 0x0010, 0x080c, 0x5129, 0x080c, 0xb842, 0x0508, 0xa87b, - 0x0000, 0xa883, 0x0000, 0xa897, 0x4000, 0x0080, 0x080c, 0xb842, - 0x01b8, 0x6014, 0x2048, 0x080c, 0x5129, 0x1d70, 0xa87b, 0x0030, - 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, 0x0126, 0x2091, - 0x8000, 0xa867, 0x0139, 0x080c, 0x6991, 0x012e, 0x080c, 0x9bda, - 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, 0xaad0, 0x9206, 0x0930, - 0x0888, 0x0016, 0x0026, 0xa87c, 0xd0ac, 0x0178, 0xa938, 0xaa34, - 0x2100, 0x9205, 0x0150, 0xa890, 0x9106, 0x1118, 0xa88c, 0x9206, - 0x0120, 0xa992, 0xaa8e, 0x9085, 0x0001, 0x002e, 0x001e, 0x0005, - 0x00b6, 0x00d6, 0x0036, 0x080c, 0xb842, 0x0904, 0xbe96, 0x0096, - 0x6314, 0x2348, 0xa87a, 0xa982, 0x929e, 0x4000, 0x1580, 0x6310, - 0x00c6, 0x2358, 0x2009, 0x0000, 0xa868, 0xd0f4, 0x1140, 0x080c, - 0x655e, 0x1108, 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xaa96, - 0xa99a, 0x20a9, 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, - 0x20a0, 0xb8b4, 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, 0x080c, - 0x0f9f, 0x20a9, 0x0004, 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8b8, - 0x9080, 0x000a, 0x2098, 0x080c, 0x0f9f, 0x00ce, 0x0090, 0xaa96, - 0x3918, 0x9398, 0x0007, 0x231c, 0x6004, 0x9086, 0x0016, 0x0110, - 0xa89b, 0x0004, 0xaba2, 0x6310, 0x2358, 0xb804, 0x9084, 0x00ff, - 0xa89e, 0x080c, 0x6985, 0x6017, 0x0000, 0x009e, 0x003e, 0x00de, - 0x00be, 0x0005, 0x0026, 0x0036, 0x0046, 0x00b6, 0x0096, 0x00f6, - 0x6214, 0x2248, 0x6210, 0x2258, 0x2079, 0x0260, 0x9096, 0x0000, - 0x11a0, 0xb814, 0x9084, 0x00ff, 0x900e, 0x080c, 0x243d, 0x2118, - 0x831f, 0x939c, 0xff00, 0x7838, 0x9084, 0x00ff, 0x931d, 0x7c3c, - 0x2011, 0x8018, 0x080c, 0x48da, 0x00a8, 0x9096, 0x0001, 0x1148, - 0x89ff, 0x0180, 0xa89b, 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, - 0x0048, 0x9096, 0x0002, 0x1130, 0xa89b, 0x000d, 0x7838, 0xa8a6, - 0x783c, 0xa8aa, 0x00fe, 0x009e, 0x00be, 0x004e, 0x003e, 0x002e, - 0x0005, 0x00c6, 0x0026, 0x0016, 0x9186, 0x0035, 0x0110, 0x6a38, - 0x0008, 0x6a2c, 0x080c, 0xb830, 0x01f0, 0x2260, 0x6120, 0x9186, - 0x0003, 0x0118, 0x9186, 0x0006, 0x1190, 0x6838, 0x9206, 0x0140, - 0x683c, 0x9206, 0x1160, 0x6108, 0x6838, 0x9106, 0x1140, 0x0020, - 0x6008, 0x693c, 0x9106, 0x1118, 0x6010, 0x6910, 0x9106, 0x001e, - 0x002e, 0x00ce, 0x0005, 0x9085, 0x0001, 0x0cc8, 0xa974, 0xd1cc, - 0x0188, 0x918c, 0x00ff, 0x918e, 0x0002, 0x1160, 0xa9a8, 0x918c, - 0x0f00, 0x810f, 0x918e, 0x0001, 0x1128, 0xa834, 0xa938, 0x9115, - 0x190c, 0xaeb6, 0x0005, 0x0036, 0x2019, 0x0001, 0x0010, 0x0036, - 0x901e, 0x0499, 0x01e0, 0x080c, 0xb842, 0x01c8, 0x080c, 0xba31, - 0x6037, 0x4000, 0x6014, 0x6017, 0x0000, 0x0096, 0x2048, 0xa87c, - 0x080c, 0xba57, 0x1118, 0x080c, 0xa581, 0x0040, 0xa867, 0x0103, - 0xa877, 0x0000, 0x83ff, 0x1129, 0x080c, 0x6991, 0x009e, 0x003e, - 0x0005, 0xa880, 0xd0b4, 0x0128, 0xa87b, 0x0006, 0xc0ec, 0xa882, + 0xaed1, 0x080c, 0x67cb, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0110, + 0x8211, 0xba3e, 0xb8c0, 0x9005, 0x0110, 0x080c, 0x63ba, 0x080c, + 0x9be6, 0x009e, 0x00be, 0x0005, 0xa87c, 0xd0ac, 0x09e0, 0xa838, + 0xa934, 0x9105, 0x09c0, 0xa880, 0xd0bc, 0x19a8, 0x080c, 0xbbba, + 0x0c80, 0x00b6, 0x0096, 0x6114, 0x2148, 0x601c, 0xd0fc, 0x1110, + 0x7644, 0x0008, 0x9036, 0x96b4, 0x0fff, 0x86ff, 0x1590, 0x6010, + 0x2058, 0xb800, 0xd0bc, 0x1904, 0xae2f, 0xa87b, 0x0000, 0xa867, + 0x0103, 0xae76, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, + 0x190c, 0xaed1, 0x080c, 0x67cb, 0x6210, 0x2258, 0xba3c, 0x82ff, + 0x0110, 0x8211, 0xba3e, 0xb8c0, 0x9005, 0x0110, 0x080c, 0x63ba, + 0x601c, 0xd0fc, 0x1148, 0x7044, 0xd0e4, 0x1904, 0xae13, 0x080c, + 0x9be6, 0x009e, 0x00be, 0x0005, 0x2009, 0x0211, 0x210c, 0x080c, + 0x0d65, 0x968c, 0x0c00, 0x0150, 0x6010, 0x2058, 0xb800, 0xd0bc, + 0x1904, 0xae17, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, 0x00ff, + 0x9186, 0x0002, 0x0508, 0x9186, 0x0028, 0x1118, 0xa87b, 0x001c, + 0x00e8, 0xd6dc, 0x01a0, 0xa87b, 0x0015, 0xa87c, 0xd0ac, 0x0170, + 0xa938, 0xaa34, 0x2100, 0x9205, 0x0148, 0x7048, 0x9106, 0x1118, + 0x704c, 0x9206, 0x0118, 0xa992, 0xaa8e, 0xc6dc, 0x0038, 0xd6d4, + 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xa867, 0x0103, + 0xae76, 0x901e, 0xd6c4, 0x01d8, 0x9686, 0x0100, 0x1130, 0x7064, + 0x9005, 0x1118, 0xc6c4, 0x0804, 0xad5d, 0x735c, 0xab86, 0x83ff, + 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, 0x2308, + 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, 0xb426, 0x003e, 0xd6cc, + 0x0904, 0xad72, 0x7154, 0xa98a, 0x81ff, 0x0904, 0xad72, 0x9192, + 0x0021, 0x1278, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, + 0xb426, 0x2011, 0x0205, 0x2013, 0x0000, 0x080c, 0xbf34, 0x0804, + 0xad72, 0xa868, 0xd0fc, 0x0120, 0x2009, 0x0020, 0xa98a, 0x0c50, + 0x00a6, 0x2950, 0x080c, 0xb3c5, 0x00ae, 0x080c, 0xbf34, 0x080c, + 0xb416, 0x0804, 0xad74, 0x080c, 0xbb7d, 0x0804, 0xad89, 0xa87c, + 0xd0ac, 0x0904, 0xad9a, 0xa880, 0xd0bc, 0x1904, 0xad9a, 0x7348, + 0xa838, 0x9306, 0x11c8, 0x734c, 0xa834, 0x931e, 0x0904, 0xad9a, + 0xd6d4, 0x0190, 0xab38, 0x9305, 0x0904, 0xad9a, 0x0068, 0xa87c, + 0xd0ac, 0x0904, 0xad65, 0xa838, 0xa934, 0x9105, 0x0904, 0xad65, + 0xa880, 0xd0bc, 0x1904, 0xad65, 0x080c, 0xbbba, 0x0804, 0xad89, + 0x00f6, 0x2079, 0x026c, 0x7c04, 0x7b00, 0x7e0c, 0x7d08, 0x00fe, + 0x0021, 0x0005, 0x0011, 0x0005, 0x0005, 0x0096, 0x6003, 0x0002, + 0x6007, 0x0043, 0x6014, 0x2048, 0xa87c, 0xd0ac, 0x0128, 0x009e, + 0x0005, 0x2130, 0x2228, 0x0058, 0x2400, 0xa9ac, 0x910a, 0x2300, + 0xaab0, 0x9213, 0x2600, 0x9102, 0x2500, 0x9203, 0x0e90, 0xac46, + 0xab4a, 0xae36, 0xad3a, 0x6044, 0xd0fc, 0x190c, 0x98f0, 0x604b, + 0x0000, 0x080c, 0x1af7, 0x1118, 0x6144, 0x080c, 0x8513, 0x009e, + 0x0005, 0x9182, 0x0057, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, + 0x0005, 0xae98, 0xae98, 0xae98, 0xae98, 0xae98, 0xae98, 0xae98, + 0xae98, 0xae98, 0xae98, 0xae9a, 0xae98, 0xae98, 0xae98, 0xae98, + 0xaeab, 0xae98, 0xae98, 0xae98, 0xae98, 0xaecf, 0xae98, 0xae98, + 0x080c, 0x0d65, 0x6004, 0x9086, 0x0040, 0x1110, 0x080c, 0x8891, + 0x2019, 0x0001, 0x080c, 0x929d, 0x6003, 0x0002, 0x080c, 0xbfac, + 0x080c, 0x88ec, 0x0005, 0x6004, 0x9086, 0x0040, 0x1110, 0x080c, + 0x8891, 0x2019, 0x0001, 0x080c, 0x929d, 0x080c, 0x88ec, 0x080c, + 0x302e, 0x080c, 0xbfa4, 0x0096, 0x6114, 0x2148, 0x080c, 0xb870, + 0x0150, 0xa867, 0x0103, 0xa87b, 0x0029, 0xa877, 0x0000, 0x080c, + 0x69b5, 0x080c, 0xba5f, 0x009e, 0x080c, 0x9be6, 0x0005, 0x080c, + 0x0d65, 0xa87b, 0x0015, 0xd1fc, 0x0180, 0xa87b, 0x0007, 0x8002, + 0x8000, 0x810a, 0x9189, 0x0000, 0x0006, 0x0016, 0x2009, 0x1a4f, + 0x2104, 0x8000, 0x200a, 0x001e, 0x000e, 0xa992, 0xa88e, 0x0005, + 0x9182, 0x0057, 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, + 0xaf07, 0xaf07, 0xaf07, 0xaf07, 0xaf07, 0xaf09, 0xaf07, 0xaf07, + 0xafc6, 0xaf07, 0xaf07, 0xaf07, 0xaf07, 0xaf07, 0xaf07, 0xaf07, + 0xaf07, 0xaf07, 0xaf07, 0xb104, 0xaf07, 0xb10e, 0xaf07, 0x080c, + 0x0d65, 0x601c, 0xd0bc, 0x0178, 0xd084, 0x0168, 0xd0f4, 0x0120, + 0xc084, 0x601e, 0x0804, 0xacf9, 0x6114, 0x0096, 0x2148, 0xa87c, + 0xc0e5, 0xa87e, 0x009e, 0x0076, 0x00a6, 0x00e6, 0x0096, 0x2071, + 0x0260, 0x6114, 0x2150, 0x601c, 0xd0fc, 0x1110, 0x7644, 0x0008, + 0x9036, 0xb676, 0x96b4, 0x0fff, 0xb77c, 0xc7e5, 0xb77e, 0x6210, + 0x00b6, 0x2258, 0xba3c, 0x82ff, 0x0110, 0x8211, 0xba3e, 0x00be, + 0x86ff, 0x0904, 0xafbf, 0x9694, 0xff00, 0x9284, 0x0c00, 0x0120, + 0x7048, 0xb092, 0x704c, 0xb08e, 0x9284, 0x0300, 0x0904, 0xafbf, + 0x9686, 0x0100, 0x1130, 0x7064, 0x9005, 0x1118, 0xc6c4, 0xb676, + 0x0c38, 0x080c, 0x102f, 0x090c, 0x0d65, 0x2900, 0xb07a, 0xb77c, + 0x97bd, 0x0200, 0xb77e, 0xa867, 0x0103, 0xb068, 0xa86a, 0xb06c, + 0xa86e, 0xb070, 0xa872, 0x7044, 0x9084, 0xf000, 0x9635, 0xae76, + 0x968c, 0x0c00, 0x0120, 0x7348, 0xab92, 0x734c, 0xab8e, 0x968c, + 0x00ff, 0x9186, 0x0002, 0x0180, 0x9186, 0x0028, 0x1118, 0xa87b, + 0x001c, 0x0060, 0xd6dc, 0x0118, 0xa87b, 0x0015, 0x0038, 0xd6d4, + 0x0118, 0xa87b, 0x0007, 0x0010, 0xa87b, 0x0000, 0xaf7e, 0xb080, + 0xa882, 0xb084, 0xa886, 0x901e, 0xd6c4, 0x0190, 0x735c, 0xab86, + 0x83ff, 0x0170, 0x938a, 0x0009, 0x0210, 0x2019, 0x0008, 0x0036, + 0x2308, 0x2019, 0x0018, 0x2011, 0x0025, 0x080c, 0xb426, 0x003e, + 0xd6cc, 0x01e8, 0x7154, 0xa98a, 0x81ff, 0x01c8, 0x9192, 0x0021, + 0x1260, 0x8304, 0x9098, 0x0018, 0x2011, 0x0029, 0x080c, 0xb426, + 0x2011, 0x0205, 0x2013, 0x0000, 0x0050, 0xb068, 0xd0fc, 0x0120, + 0x2009, 0x0020, 0xa98a, 0x0c68, 0x2950, 0x080c, 0xb3c5, 0x080c, + 0x190c, 0x009e, 0x00ee, 0x00ae, 0x007e, 0x0005, 0x2001, 0x1960, + 0x2004, 0x604a, 0x0096, 0x6114, 0x2148, 0xa83c, 0xa940, 0x9105, + 0x1118, 0xa87c, 0xc0dc, 0xa87e, 0x6003, 0x0002, 0x080c, 0xbfb5, + 0x0904, 0xb0ff, 0x604b, 0x0000, 0x6010, 0x00b6, 0x2058, 0xb800, + 0x00be, 0xd0bc, 0x1500, 0xd1cc, 0x0904, 0xb0c4, 0xa978, 0xa868, + 0xd0fc, 0x0904, 0xb085, 0x0016, 0xa87c, 0x0006, 0xa880, 0x0006, + 0x00a6, 0x2150, 0xb174, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x0904, + 0xb053, 0x9086, 0x0028, 0x1904, 0xb03f, 0xa87b, 0x001c, 0xb07b, + 0x001c, 0x0804, 0xb05b, 0x6024, 0xd0f4, 0x11d0, 0xa838, 0xaa34, + 0x9205, 0x09c8, 0xa838, 0xaa90, 0x9206, 0x1120, 0xa88c, 0xaa34, + 0x9206, 0x0988, 0x6024, 0xd0d4, 0x1148, 0xa9ac, 0xa834, 0x9102, + 0x603a, 0xa9b0, 0xa838, 0x9103, 0x603e, 0x6024, 0xc0f5, 0x6026, + 0x6010, 0x00b6, 0x2058, 0xb83c, 0x8000, 0xb83e, 0x00be, 0x601c, + 0xc0fc, 0x601e, 0x9006, 0xa876, 0xa892, 0xa88e, 0xa87c, 0xc0e4, + 0xa87e, 0xd0cc, 0x0140, 0xc0cc, 0xa87e, 0x0096, 0xa878, 0x2048, + 0x080c, 0x0fe1, 0x009e, 0x080c, 0xbbba, 0x0804, 0xb0ff, 0xd1dc, + 0x0158, 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, 0xbe57, 0x0118, + 0xb174, 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, + 0xb07b, 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, + 0x9115, 0x190c, 0xaed1, 0xa87c, 0xb07e, 0xa890, 0xb092, 0xa88c, + 0xb08e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0019, 0x20a0, 0x20a9, + 0x0020, 0x8a06, 0x8006, 0x8007, 0x9094, 0x003f, 0x22e0, 0x9084, + 0xffc0, 0x9080, 0x0019, 0x2098, 0x4003, 0x00ae, 0x000e, 0xa882, + 0x000e, 0xa87e, 0x080c, 0xbf34, 0x001e, 0xa874, 0x0006, 0x2148, + 0x080c, 0x0fe1, 0x001e, 0x0804, 0xb0f1, 0x0016, 0x00a6, 0x2150, + 0xb174, 0x9184, 0x00ff, 0x90b6, 0x0002, 0x01e0, 0x9086, 0x0028, + 0x1128, 0xa87b, 0x001c, 0xb07b, 0x001c, 0x00e0, 0xd1dc, 0x0158, + 0xa87b, 0x0015, 0xb07b, 0x0015, 0x080c, 0xbe57, 0x0118, 0xb174, + 0xc1dc, 0xb176, 0x0078, 0xd1d4, 0x0128, 0xa87b, 0x0007, 0xb07b, + 0x0007, 0x0040, 0xa87c, 0xd0ac, 0x0128, 0xa834, 0xa938, 0x9115, + 0x190c, 0xaed1, 0xa890, 0xb092, 0xa88c, 0xb08e, 0xa87c, 0xb07e, + 0x00ae, 0x080c, 0x0fe1, 0x009e, 0x080c, 0xbf34, 0xa974, 0x0016, + 0x080c, 0xb416, 0x001e, 0x0468, 0xa867, 0x0103, 0xa974, 0x9184, + 0x00ff, 0x90b6, 0x0002, 0x01b0, 0x9086, 0x0028, 0x1118, 0xa87b, + 0x001c, 0x00d0, 0xd1dc, 0x0148, 0xa87b, 0x0015, 0x080c, 0xbe57, + 0x0118, 0xa974, 0xc1dc, 0xa976, 0x0078, 0xd1d4, 0x0118, 0xa87b, + 0x0007, 0x0050, 0xa87b, 0x0000, 0xa87c, 0xd0ac, 0x0128, 0xa834, + 0xa938, 0x9115, 0x190c, 0xaed1, 0xa974, 0x0016, 0x080c, 0x67cb, + 0x001e, 0x6010, 0x00b6, 0x2058, 0xb8c0, 0x0016, 0x9005, 0x190c, + 0x63ba, 0x001e, 0x00be, 0xd1e4, 0x1120, 0x080c, 0x9be6, 0x009e, + 0x0005, 0x080c, 0xbb7d, 0x0cd8, 0x6114, 0x0096, 0x2148, 0xa97c, + 0x080c, 0xbfb5, 0x190c, 0x192a, 0x009e, 0x0005, 0x0096, 0x6114, + 0x2148, 0xa83c, 0xa940, 0x9105, 0x01e8, 0xa877, 0x0000, 0xa87b, + 0x0000, 0xa867, 0x0103, 0x00b6, 0x6010, 0x2058, 0xa834, 0xa938, + 0x9115, 0x11a0, 0x080c, 0x67cb, 0xba3c, 0x8211, 0x0208, 0xba3e, + 0xb8c0, 0x9005, 0x0110, 0x080c, 0x63ba, 0x080c, 0x9be6, 0x00be, + 0x009e, 0x0005, 0xa87c, 0xc0dc, 0xa87e, 0x08f8, 0xb800, 0xd0bc, + 0x1120, 0xa834, 0x080c, 0xaed1, 0x0c28, 0xa880, 0xd0bc, 0x1dc8, + 0x080c, 0xbbba, 0x0c60, 0x080c, 0x8891, 0x0010, 0x080c, 0x88ec, + 0x601c, 0xd084, 0x0110, 0x080c, 0x193e, 0x080c, 0xb870, 0x01f0, + 0x0096, 0x6114, 0x2148, 0x080c, 0xba85, 0x1118, 0x080c, 0xa59c, + 0x00a0, 0xa867, 0x0103, 0x2009, 0x180c, 0x210c, 0xd18c, 0x1198, + 0xd184, 0x1170, 0x6108, 0xa97a, 0x918e, 0x0029, 0x1110, 0x080c, + 0xd563, 0xa877, 0x0000, 0x080c, 0x69b5, 0x009e, 0x0804, 0x9c20, + 0xa87b, 0x0004, 0x0cb0, 0xa87b, 0x0004, 0x0c98, 0x9182, 0x0057, + 0x1220, 0x9182, 0x0040, 0x0208, 0x000a, 0x0005, 0xb195, 0xb195, + 0xb195, 0xb195, 0xb195, 0xb197, 0xb195, 0xb195, 0xb195, 0xb195, + 0xb195, 0xb195, 0xb195, 0xb195, 0xb195, 0xb195, 0xb195, 0xb195, + 0xb195, 0xb195, 0xb1bb, 0xb195, 0xb195, 0x080c, 0x0d65, 0x080c, + 0x53b0, 0x01f8, 0x6014, 0x7144, 0x918c, 0x0fff, 0x9016, 0xd1c4, + 0x0118, 0x7264, 0x9294, 0x00ff, 0x0096, 0x904d, 0x0188, 0xa87b, + 0x0000, 0xa864, 0x9086, 0x0139, 0x0128, 0xa867, 0x0103, 0xa976, + 0xaa96, 0x0030, 0xa897, 0x4000, 0xa99a, 0xaa9e, 0x080c, 0x69b5, + 0x009e, 0x0804, 0x9be6, 0x080c, 0x53b0, 0x0dd8, 0x6014, 0x900e, + 0x9016, 0x0c10, 0x9182, 0x0085, 0x0002, 0xb1d4, 0xb1d2, 0xb1d2, + 0xb1e0, 0xb1d2, 0xb1d2, 0xb1d2, 0xb1d2, 0xb1d2, 0xb1d2, 0xb1d2, + 0xb1d2, 0xb1d2, 0x080c, 0x0d65, 0x6003, 0x0001, 0x6106, 0x0126, + 0x2091, 0x8000, 0x2009, 0x8020, 0x080c, 0x84e7, 0x012e, 0x0005, + 0x0026, 0x0056, 0x00d6, 0x00e6, 0x2071, 0x0260, 0x7224, 0x6216, + 0x7220, 0x080c, 0xb85e, 0x01a0, 0x2268, 0x6800, 0x9086, 0x0000, + 0x0178, 0x6010, 0x6d10, 0x952e, 0x1158, 0x00c6, 0x2d60, 0x080c, + 0xb451, 0x00ce, 0x0128, 0x6803, 0x0002, 0x6007, 0x0086, 0x0010, + 0x6007, 0x0087, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, + 0x7220, 0x080c, 0xb85e, 0x0178, 0x6810, 0x00b6, 0x2058, 0xb800, + 0x00be, 0xd0bc, 0x0140, 0x6824, 0xd0ec, 0x0128, 0x00c6, 0x2d60, + 0x080c, 0xbbba, 0x00ce, 0x00ee, 0x00de, 0x005e, 0x002e, 0x0005, + 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d65, + 0x908a, 0x0092, 0x1a0c, 0x0d65, 0x9082, 0x0085, 0x00e2, 0x9186, + 0x0027, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d65, 0x080c, 0x8891, + 0x0096, 0x6014, 0x2048, 0x080c, 0xb870, 0x0140, 0xa867, 0x0103, + 0xa877, 0x0000, 0xa87b, 0x0029, 0x080c, 0x69b5, 0x009e, 0x080c, + 0x9c20, 0x0804, 0x894f, 0xb258, 0xb25a, 0xb25a, 0xb258, 0xb258, + 0xb258, 0xb258, 0xb258, 0xb258, 0xb258, 0xb258, 0xb258, 0xb258, + 0x080c, 0x0d65, 0x080c, 0x9c20, 0x0005, 0x9186, 0x0013, 0x1130, + 0x6004, 0x9082, 0x0085, 0x2008, 0x0804, 0xb2a9, 0x9186, 0x0027, + 0x1558, 0x080c, 0x8891, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x0096, + 0x6014, 0x2048, 0x080c, 0xb870, 0x0150, 0xa867, 0x0103, 0xa877, + 0x0000, 0xa87b, 0x0029, 0x080c, 0x69b5, 0x080c, 0xba5f, 0x009e, + 0x080c, 0x9be6, 0x0005, 0x9186, 0x0089, 0x0118, 0x9186, 0x008a, + 0x1140, 0x080c, 0x9ab6, 0x0128, 0x9086, 0x000c, 0x0904, 0xb2e1, + 0x0000, 0x080c, 0x9c9f, 0x0c70, 0x9186, 0x0014, 0x1d60, 0x080c, + 0x8891, 0x0096, 0x6014, 0x2048, 0x080c, 0xb870, 0x0d00, 0xa867, + 0x0103, 0xa877, 0x0000, 0xa87b, 0x0006, 0xa880, 0xc0ec, 0xa882, + 0x0890, 0x0002, 0xb2b9, 0xb2b7, 0xb2b7, 0xb2b7, 0xb2b7, 0xb2b7, + 0xb2cd, 0xb2b7, 0xb2b7, 0xb2b7, 0xb2b7, 0xb2b7, 0xb2b7, 0x080c, + 0x0d65, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, + 0x9186, 0x0035, 0x1118, 0x2001, 0x195e, 0x0010, 0x2001, 0x195f, + 0x2004, 0x601a, 0x6003, 0x000c, 0x0005, 0x6034, 0x908c, 0xff00, + 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, 0x2001, + 0x195e, 0x0010, 0x2001, 0x195f, 0x2004, 0x601a, 0x6003, 0x000e, + 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, 0x0012, + 0x0804, 0x9c9f, 0xb2f7, 0xb2f7, 0xb2f7, 0xb2f7, 0xb2f9, 0xb346, + 0xb2f7, 0xb2f7, 0xb2f7, 0xb2f7, 0xb2f7, 0xb2f7, 0xb2f7, 0x080c, + 0x0d65, 0x0096, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, + 0x0168, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, + 0x9186, 0x0035, 0x1118, 0x009e, 0x0804, 0xb35a, 0x080c, 0xb870, + 0x1118, 0x080c, 0xba5f, 0x0068, 0x6014, 0x2048, 0x080c, 0xbfbb, + 0x1110, 0x080c, 0xba5f, 0xa867, 0x0103, 0x080c, 0xbf6f, 0x080c, + 0x69b5, 0x00d6, 0x2c68, 0x080c, 0x9b90, 0x01d0, 0x6003, 0x0001, + 0x6007, 0x001e, 0x600b, 0xffff, 0x2009, 0x026e, 0x210c, 0x613a, + 0x2009, 0x026f, 0x210c, 0x613e, 0x6910, 0x6112, 0x080c, 0xbd09, + 0x695c, 0x615e, 0x6023, 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, + 0x2d60, 0x00de, 0x080c, 0x9be6, 0x009e, 0x0005, 0x6010, 0x00b6, + 0x2058, 0xb800, 0x00be, 0xd0bc, 0x05a0, 0x6034, 0x908c, 0xff00, + 0x810f, 0x9186, 0x0035, 0x0130, 0x9186, 0x001e, 0x0118, 0x9186, + 0x0039, 0x1538, 0x00d6, 0x2c68, 0x080c, 0xbf07, 0x11f0, 0x080c, + 0x9b90, 0x01d8, 0x6106, 0x6003, 0x0001, 0x6023, 0x0001, 0x6910, + 0x6112, 0x692c, 0x612e, 0x6930, 0x6132, 0x6934, 0x918c, 0x00ff, + 0x6136, 0x6938, 0x613a, 0x693c, 0x613e, 0x695c, 0x615e, 0x080c, + 0xbd09, 0x2009, 0x8020, 0x080c, 0x84e7, 0x2d60, 0x00de, 0x0804, + 0x9be6, 0x0096, 0x6014, 0x2048, 0x080c, 0xb870, 0x01c8, 0xa867, + 0x0103, 0xa880, 0xd0b4, 0x0128, 0xc0ec, 0xa882, 0xa87b, 0x0006, 0x0048, 0xd0bc, 0x0118, 0xa87b, 0x0002, 0x0020, 0xa87b, 0x0005, - 0x080c, 0xbb4b, 0xa877, 0x0000, 0x0005, 0x2001, 0x1810, 0x2004, - 0xd0ec, 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0f4, 0x000e, - 0x0005, 0x0006, 0x2001, 0x1810, 0x2004, 0xd0e4, 0x000e, 0x0005, - 0x0036, 0x0046, 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, - 0x0007, 0x080c, 0x4a77, 0x004e, 0x003e, 0x0005, 0x0c51, 0x1d81, - 0x0005, 0x2001, 0x1956, 0x2004, 0x601a, 0x0005, 0x2001, 0x1958, - 0x2004, 0x604a, 0x0005, 0x080c, 0x9bda, 0x0804, 0x891b, 0x611c, - 0xd1fc, 0xa97c, 0x1108, 0xd1e4, 0x0005, 0x601c, 0xd0fc, 0xa87c, - 0x1108, 0xd0e4, 0x0005, 0x601c, 0xd0fc, 0xc0fc, 0x601e, 0xa87c, - 0x1108, 0xd0e4, 0x0005, 0x6044, 0xd0fc, 0x1138, 0xd0bc, 0x0198, - 0xc0bc, 0x6046, 0x6003, 0x0002, 0x0070, 0xd0ac, 0x1160, 0xd0dc, - 0x1128, 0x908c, 0x000f, 0x9186, 0x0005, 0x1118, 0x6003, 0x0003, - 0x0010, 0x6003, 0x0001, 0x0005, 0x00b6, 0x0066, 0x6000, 0x90b2, - 0x0016, 0x1a0c, 0x0d65, 0x001b, 0x006e, 0x00be, 0x0005, 0xbfcf, - 0xc6ae, 0xc7fd, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xc006, - 0xc881, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0xbfcf, 0x080c, - 0x0d65, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d65, 0x0013, - 0x006e, 0x0005, 0xbfea, 0xcd98, 0xbfea, 0xbfea, 0xbfea, 0xbfea, - 0xbfea, 0xbfea, 0xcd47, 0xcdea, 0xbfea, 0xd40e, 0xd442, 0xd40e, - 0xd442, 0xbfea, 0x080c, 0x0d65, 0x6000, 0x9082, 0x0016, 0x1a0c, - 0x0d65, 0x6000, 0x000a, 0x0005, 0xc004, 0xca5d, 0xcb26, 0xcb48, - 0xcbc3, 0xc004, 0xccbd, 0xcc4b, 0xc88b, 0xcd1f, 0xcd34, 0xc004, - 0xc004, 0xc004, 0xc004, 0xc004, 0x080c, 0x0d65, 0x91b2, 0x0053, - 0x1a0c, 0x0d65, 0x2100, 0x91b2, 0x0040, 0x1a04, 0xc451, 0x0002, - 0xc050, 0xc242, 0xc050, 0xc050, 0xc050, 0xc24b, 0xc050, 0xc050, - 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, - 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc052, - 0xc0b9, 0xc0c8, 0xc12c, 0xc157, 0xc1cf, 0xc22d, 0xc050, 0xc050, - 0xc24e, 0xc050, 0xc050, 0xc263, 0xc270, 0xc050, 0xc050, 0xc050, - 0xc050, 0xc050, 0xc2f3, 0xc050, 0xc050, 0xc307, 0xc050, 0xc050, - 0xc2c2, 0xc050, 0xc050, 0xc050, 0xc31f, 0xc050, 0xc050, 0xc050, - 0xc39c, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc050, 0xc419, - 0x080c, 0x0d65, 0x080c, 0x6624, 0x1150, 0x2001, 0x1836, 0x2004, - 0xd0cc, 0x1128, 0x9084, 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, - 0x0009, 0x602f, 0x0009, 0x6017, 0x0000, 0x0804, 0xc23b, 0x080c, - 0x660d, 0x00e6, 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2258, - 0xbaa0, 0x0026, 0x2019, 0x0029, 0x080c, 0x98bb, 0x080c, 0x8624, - 0x0076, 0x903e, 0x080c, 0x8509, 0x2c08, 0x080c, 0xcfd9, 0x007e, - 0x001e, 0x080c, 0x98d7, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, - 0x6610, 0x2658, 0x080c, 0x627a, 0xbe04, 0x9684, 0x00ff, 0x9082, - 0x0006, 0x1268, 0x0016, 0x0026, 0x6210, 0x00b6, 0x2258, 0xbaa0, - 0x00be, 0x2c08, 0x080c, 0xd5ba, 0x002e, 0x001e, 0x1178, 0x080c, - 0xcf08, 0x1904, 0xc124, 0x080c, 0xcea4, 0x1120, 0x6007, 0x0008, - 0x0804, 0xc23b, 0x6007, 0x0009, 0x0804, 0xc23b, 0x080c, 0xd10f, - 0x0128, 0x080c, 0xcf08, 0x0d78, 0x0804, 0xc124, 0x6017, 0x1900, - 0x0c88, 0x080c, 0x3144, 0x1904, 0xc44e, 0x6106, 0x080c, 0xce55, - 0x6007, 0x0006, 0x0804, 0xc23b, 0x6007, 0x0007, 0x0804, 0xc23b, - 0x080c, 0xd47e, 0x1904, 0xc44e, 0x080c, 0x3144, 0x1904, 0xc44e, - 0x00d6, 0x6610, 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, - 0x1220, 0x2001, 0x0001, 0x080c, 0x61a8, 0x96b4, 0xff00, 0x8637, - 0x9686, 0x0006, 0x0188, 0x9686, 0x0004, 0x0170, 0xbe04, 0x96b4, - 0x00ff, 0x9686, 0x0006, 0x0140, 0x9686, 0x0004, 0x0128, 0x9686, - 0x0005, 0x0110, 0x00de, 0x0480, 0x00e6, 0x2071, 0x0260, 0x7034, - 0x9084, 0x0003, 0x1140, 0x7034, 0x9082, 0x0014, 0x0220, 0x7030, - 0x9084, 0x0003, 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, 0x0007, - 0x00b0, 0x00ee, 0x080c, 0xcf6f, 0x1190, 0x9686, 0x0006, 0x1140, - 0x0026, 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x305d, 0x002e, - 0x080c, 0x6306, 0x6007, 0x000a, 0x00de, 0x0804, 0xc23b, 0x6007, - 0x000b, 0x00de, 0x0804, 0xc23b, 0x080c, 0x300e, 0x080c, 0xbf76, - 0x6007, 0x0001, 0x0804, 0xc23b, 0x080c, 0xd47e, 0x1904, 0xc44e, - 0x080c, 0x3144, 0x1904, 0xc44e, 0x2071, 0x0260, 0x7034, 0x90b4, - 0x0003, 0x1948, 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, 0x0003, - 0x1910, 0x6610, 0x2658, 0xbe04, 0x9686, 0x0707, 0x09e8, 0x0026, - 0x6210, 0x2258, 0xbaa0, 0x900e, 0x080c, 0x305d, 0x002e, 0x6007, - 0x000c, 0x2001, 0x0001, 0x080c, 0xd59a, 0x0804, 0xc23b, 0x080c, - 0x6624, 0x1140, 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, 0x9086, - 0x0008, 0x1110, 0x0804, 0xc05f, 0x080c, 0x660d, 0x6610, 0x2658, - 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x06c0, 0x1138, 0x0026, - 0x2001, 0x0006, 0x080c, 0x61e8, 0x002e, 0x0050, 0x96b4, 0xff00, - 0x8637, 0x9686, 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xc124, - 0x080c, 0xcf7c, 0x1120, 0x6007, 0x000e, 0x0804, 0xc23b, 0x0046, - 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x300e, 0x080c, 0xbf76, - 0x004e, 0x0016, 0x9006, 0x2009, 0x1854, 0x210c, 0x0048, 0x2009, - 0x0029, 0x080c, 0xd284, 0x6010, 0x2058, 0xb800, 0xc0e5, 0xb802, - 0x001e, 0x004e, 0x6007, 0x0001, 0x0804, 0xc23b, 0x2001, 0x0001, - 0x080c, 0x61a8, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, - 0x2019, 0x1805, 0x2011, 0x0270, 0x080c, 0xabbf, 0x003e, 0x002e, - 0x001e, 0x015e, 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, 0x9682, - 0x0004, 0x0a04, 0xc124, 0x9682, 0x0007, 0x0a04, 0xc180, 0x0804, - 0xc124, 0x6017, 0x1900, 0x6007, 0x0009, 0x0804, 0xc23b, 0x080c, - 0x6624, 0x1140, 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, 0x9086, - 0x0008, 0x1110, 0x0804, 0xc05f, 0x080c, 0x660d, 0x6610, 0x2658, - 0xbe04, 0x9684, 0x00ff, 0x0006, 0x9086, 0x0001, 0x000e, 0x0170, - 0x9082, 0x0006, 0x0690, 0x0150, 0x96b4, 0xff00, 0x8637, 0x9686, - 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xc124, 0x080c, 0xcfaa, - 0x1130, 0x080c, 0xcea4, 0x1118, 0x6007, 0x0010, 0x04e0, 0x0046, - 0x6410, 0x2458, 0xbca0, 0x0046, 0x080c, 0x300e, 0x080c, 0xbf76, - 0x004e, 0x0016, 0x9006, 0x2009, 0x1854, 0x210c, 0x0048, 0x2009, - 0x0029, 0x080c, 0xd284, 0x6010, 0x2058, 0xb800, 0xc0e5, 0xb802, - 0x001e, 0x004e, 0x6007, 0x0001, 0x00f0, 0x080c, 0xd10f, 0x0140, - 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0980, 0x0804, 0xc124, - 0x6017, 0x1900, 0x6007, 0x0009, 0x0070, 0x080c, 0x3144, 0x1904, - 0xc44e, 0x080c, 0xd47e, 0x1904, 0xc44e, 0x080c, 0xc5ee, 0x1904, - 0xc124, 0x6007, 0x0012, 0x6003, 0x0001, 0x080c, 0x84ba, 0x080c, - 0x891b, 0x0005, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x84ba, - 0x080c, 0x891b, 0x0cb0, 0x6007, 0x0005, 0x0c68, 0x080c, 0xd47e, - 0x1904, 0xc44e, 0x080c, 0x3144, 0x1904, 0xc44e, 0x080c, 0xc5ee, - 0x1904, 0xc124, 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, 0x84ba, - 0x080c, 0x891b, 0x0005, 0x080c, 0x3144, 0x1904, 0xc44e, 0x6007, - 0x0023, 0x6003, 0x0001, 0x080c, 0x84ba, 0x080c, 0x891b, 0x0005, - 0x080c, 0xd47e, 0x1904, 0xc44e, 0x080c, 0x3144, 0x1904, 0xc44e, - 0x080c, 0xc5ee, 0x1904, 0xc124, 0x0016, 0x0026, 0x00e6, 0x2071, - 0x0260, 0x7244, 0x9286, 0xffff, 0x0180, 0x2c08, 0x080c, 0xb830, - 0x01b0, 0x2260, 0x7240, 0x6008, 0x9206, 0x1188, 0x6010, 0x9190, - 0x0004, 0x2214, 0x9206, 0x01b8, 0x0050, 0x7240, 0x2c08, 0x9006, - 0x080c, 0xd256, 0x1180, 0x7244, 0x9286, 0xffff, 0x01b0, 0x2160, - 0x6007, 0x0026, 0x6017, 0x1700, 0x7214, 0x9296, 0xffff, 0x1180, - 0x6007, 0x0025, 0x0068, 0x6020, 0x9086, 0x0007, 0x1d80, 0x6004, - 0x9086, 0x0024, 0x1110, 0x080c, 0x9bda, 0x2160, 0x6007, 0x0025, - 0x6003, 0x0001, 0x080c, 0x84ba, 0x080c, 0x891b, 0x00ee, 0x002e, - 0x001e, 0x0005, 0x2001, 0x0001, 0x080c, 0x61a8, 0x0156, 0x0016, - 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, - 0x080c, 0xabbf, 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, 0x6007, - 0x0031, 0x0804, 0xc23b, 0x080c, 0xa824, 0x080c, 0x7096, 0x1190, - 0x0006, 0x0026, 0x0036, 0x080c, 0x70b0, 0x1138, 0x080c, 0x7396, - 0x080c, 0x5cd7, 0x080c, 0x6fc7, 0x0010, 0x080c, 0x706a, 0x003e, - 0x002e, 0x000e, 0x0005, 0x080c, 0x3144, 0x1904, 0xc44e, 0x080c, - 0xc5ee, 0x1904, 0xc124, 0x6106, 0x080c, 0xc60a, 0x1120, 0x6007, - 0x002b, 0x0804, 0xc23b, 0x6007, 0x002c, 0x0804, 0xc23b, 0x080c, - 0xd47e, 0x1904, 0xc44e, 0x080c, 0x3144, 0x1904, 0xc44e, 0x080c, - 0xc5ee, 0x1904, 0xc124, 0x6106, 0x080c, 0xc60f, 0x1120, 0x6007, - 0x002e, 0x0804, 0xc23b, 0x6007, 0x002f, 0x0804, 0xc23b, 0x080c, - 0x3144, 0x1904, 0xc44e, 0x00e6, 0x00d6, 0x00c6, 0x6010, 0x2058, - 0xb904, 0x9184, 0x00ff, 0x9086, 0x0006, 0x0158, 0x9184, 0xff00, - 0x8007, 0x9086, 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, 0x0804, - 0xc242, 0x080c, 0x538c, 0xd0e4, 0x0904, 0xc399, 0x2071, 0x026c, - 0x7010, 0x603a, 0x7014, 0x603e, 0x7108, 0x720c, 0x080c, 0x6662, - 0x0140, 0x6010, 0x2058, 0xb810, 0x9106, 0x1118, 0xb814, 0x9206, - 0x0510, 0x080c, 0x665e, 0x15b8, 0x2069, 0x1800, 0x687c, 0x9206, - 0x1590, 0x6878, 0x9106, 0x1578, 0x7210, 0x080c, 0xb830, 0x0590, - 0x080c, 0xc4d9, 0x0578, 0x080c, 0xd300, 0x0560, 0x622e, 0x6007, - 0x0036, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, 0x00ce, - 0x00de, 0x00ee, 0x0005, 0x7214, 0x9286, 0xffff, 0x0150, 0x080c, - 0xb830, 0x01c0, 0x9280, 0x0002, 0x2004, 0x7110, 0x9106, 0x1190, - 0x08e0, 0x7210, 0x2c08, 0x9085, 0x0001, 0x080c, 0xd256, 0x2c10, - 0x2160, 0x0140, 0x0890, 0x6007, 0x0037, 0x602f, 0x0009, 0x6017, - 0x1500, 0x08b8, 0x6007, 0x0037, 0x602f, 0x0003, 0x6017, 0x1700, - 0x0880, 0x6007, 0x0012, 0x0868, 0x080c, 0x3144, 0x1904, 0xc44e, - 0x6010, 0x2058, 0xb804, 0x9084, 0xff00, 0x8007, 0x9086, 0x0006, - 0x1904, 0xc242, 0x00e6, 0x00d6, 0x00c6, 0x080c, 0x538c, 0xd0e4, - 0x0904, 0xc411, 0x2069, 0x1800, 0x2071, 0x026c, 0x7008, 0x603a, - 0x720c, 0x623e, 0x9286, 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, - 0x9085, 0x0001, 0x080c, 0xd256, 0x2c10, 0x00ce, 0x05e8, 0x080c, - 0xb830, 0x05d0, 0x7108, 0x9280, 0x0002, 0x2004, 0x9106, 0x15a0, - 0x00c6, 0x0026, 0x2260, 0x080c, 0xb433, 0x002e, 0x00ce, 0x7118, - 0x918c, 0xff00, 0x810f, 0x9186, 0x0001, 0x0178, 0x9186, 0x0005, - 0x0118, 0x9186, 0x0007, 0x1198, 0x9280, 0x0005, 0x2004, 0x9005, - 0x0170, 0x080c, 0xc4d9, 0x0904, 0xc392, 0x0056, 0x7510, 0x7614, - 0x080c, 0xd319, 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, - 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x2009, - 0x8020, 0x080c, 0x84b3, 0x0c78, 0x6007, 0x003b, 0x602f, 0x0003, - 0x6017, 0x0300, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, - 0x0c10, 0x6007, 0x003b, 0x602f, 0x000b, 0x6017, 0x0000, 0x0804, - 0xc369, 0x00e6, 0x0026, 0x080c, 0x6624, 0x0550, 0x080c, 0x660d, - 0x080c, 0xd4f0, 0x1518, 0x2071, 0x1800, 0x70d8, 0x9085, 0x0003, - 0x70da, 0x00f6, 0x2079, 0x0100, 0x72ac, 0x9284, 0x00ff, 0x707a, - 0x78e6, 0x9284, 0xff00, 0x727c, 0x9205, 0x707e, 0x78ea, 0x00fe, - 0x70e3, 0x0000, 0x080c, 0x6662, 0x0120, 0x2011, 0x19d9, 0x2013, - 0x07d0, 0xd0ac, 0x1128, 0x080c, 0x2de9, 0x0010, 0x080c, 0xd522, - 0x002e, 0x00ee, 0x080c, 0x9bda, 0x0804, 0xc241, 0x080c, 0x9bda, - 0x0005, 0x2600, 0x0002, 0xc465, 0xc465, 0xc465, 0xc465, 0xc465, - 0xc467, 0xc465, 0xc465, 0xc465, 0xc465, 0xc484, 0xc465, 0xc465, - 0xc465, 0xc496, 0xc4a3, 0xc4d4, 0xc465, 0x080c, 0x0d65, 0x080c, - 0xd47e, 0x1d20, 0x080c, 0x3144, 0x1d08, 0x080c, 0xc5ee, 0x1148, - 0x7038, 0x6016, 0x6007, 0x0045, 0x6003, 0x0001, 0x080c, 0x84ba, - 0x0005, 0x080c, 0x300e, 0x080c, 0xbf76, 0x6007, 0x0001, 0x6003, - 0x0001, 0x080c, 0x84ba, 0x0005, 0x080c, 0xd47e, 0x1938, 0x080c, - 0x3144, 0x1920, 0x080c, 0xc5ee, 0x1d60, 0x703c, 0x6016, 0x6007, - 0x004a, 0x6003, 0x0001, 0x080c, 0x84ba, 0x0005, 0x080c, 0xc4f6, - 0x0904, 0xc44e, 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, 0x84ba, - 0x080c, 0x891b, 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, 0x7134, - 0x918c, 0x00ff, 0x81ff, 0x0508, 0x9186, 0x0001, 0x1160, 0x7140, - 0x2001, 0x198d, 0x2004, 0x9106, 0x11b0, 0x7144, 0x2001, 0x198e, - 0x2004, 0x9106, 0x0190, 0x9186, 0x0002, 0x1168, 0x2011, 0x0276, - 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, - 0xabd3, 0x009e, 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, - 0x84ba, 0x080c, 0x891b, 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, - 0x0ca0, 0x0016, 0x00e6, 0x2071, 0x0260, 0x00b6, 0x00c6, 0x2260, - 0x6010, 0x2058, 0xb8c4, 0xd084, 0x0150, 0x7128, 0x6050, 0x9106, - 0x1120, 0x712c, 0x604c, 0x9106, 0x0110, 0x9006, 0x0010, 0x9085, - 0x0001, 0x00ce, 0x00be, 0x00ee, 0x001e, 0x0005, 0x0016, 0x0096, - 0x0086, 0x00e6, 0x01c6, 0x01d6, 0x0126, 0x2091, 0x8000, 0x2071, - 0x1800, 0x708c, 0x908a, 0x00f9, 0x16e8, 0x20e1, 0x0000, 0x2001, - 0x1970, 0x2003, 0x0000, 0x080c, 0x103b, 0x05a0, 0x2900, 0x6016, - 0x708c, 0x8004, 0xa816, 0x908a, 0x001e, 0x02d0, 0xa833, 0x001e, - 0x20a9, 0x001e, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, - 0x2001, 0x1970, 0x0016, 0x200c, 0x0471, 0x001e, 0x2940, 0x080c, - 0x103b, 0x01c0, 0x2900, 0xa006, 0x2100, 0x81ff, 0x0180, 0x0c18, - 0xa832, 0x20a8, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, - 0x2001, 0x1970, 0x0016, 0x200c, 0x00b1, 0x001e, 0x0000, 0x9085, - 0x0001, 0x0048, 0x2071, 0x1800, 0x708f, 0x0000, 0x6014, 0x2048, - 0x080c, 0x0fd4, 0x9006, 0x012e, 0x01de, 0x01ce, 0x00ee, 0x008e, - 0x009e, 0x001e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, - 0x918c, 0xffff, 0x11a8, 0x080c, 0x203c, 0x2099, 0x026c, 0x2001, - 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x00f8, 0x20a8, - 0x4003, 0x22a8, 0x8108, 0x080c, 0x203c, 0x2099, 0x0260, 0x0ca8, - 0x080c, 0x203c, 0x2061, 0x1970, 0x6004, 0x2098, 0x6008, 0x3518, - 0x9312, 0x1218, 0x23a8, 0x4003, 0x0048, 0x20a8, 0x4003, 0x22a8, - 0x8108, 0x080c, 0x203c, 0x2099, 0x0260, 0x0ca8, 0x2061, 0x1970, - 0x2019, 0x0280, 0x3300, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, - 0x0260, 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, - 0x620a, 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, - 0x0016, 0x0026, 0x0036, 0x00c6, 0x81ff, 0x11b8, 0x080c, 0x2054, - 0x20a1, 0x024c, 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, - 0x4003, 0x0418, 0x20a8, 0x4003, 0x82ff, 0x01f8, 0x22a8, 0x8108, - 0x080c, 0x2054, 0x20a1, 0x0240, 0x0c98, 0x080c, 0x2054, 0x2061, - 0x1973, 0x6004, 0x20a0, 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, - 0x4003, 0x0058, 0x20a8, 0x4003, 0x82ff, 0x0138, 0x22a8, 0x8108, - 0x080c, 0x2054, 0x20a1, 0x0240, 0x0c98, 0x2061, 0x1973, 0x2019, - 0x0260, 0x3400, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0240, - 0x6006, 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, - 0x00ce, 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, 0x0066, - 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, - 0x0170, 0x9686, 0x0004, 0x0158, 0xbe04, 0x96b4, 0x00ff, 0x9686, - 0x0006, 0x0128, 0x9686, 0x0004, 0x0110, 0x9085, 0x0001, 0x006e, - 0x00be, 0x0005, 0x00d6, 0x080c, 0xc684, 0x00de, 0x0005, 0x00d6, - 0x080c, 0xc691, 0x1520, 0x680c, 0x908c, 0xff00, 0x6820, 0x9084, - 0x00ff, 0x9115, 0x6216, 0x6824, 0x602e, 0xd1e4, 0x0130, 0x9006, - 0x080c, 0xd59a, 0x2009, 0x0001, 0x0078, 0xd1ec, 0x0180, 0x6920, - 0x918c, 0x00ff, 0x6824, 0x080c, 0x243d, 0x1148, 0x2001, 0x0001, - 0x080c, 0xd59a, 0x2110, 0x900e, 0x080c, 0x305d, 0x0018, 0x9085, - 0x0001, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00c6, 0x080c, - 0x9c49, 0x0598, 0x0016, 0x0026, 0x00c6, 0x2011, 0x0263, 0x2204, - 0x8211, 0x220c, 0x080c, 0x243d, 0x1568, 0x080c, 0x620b, 0x1550, - 0xbe12, 0xbd16, 0x00ce, 0x002e, 0x001e, 0x2b00, 0x6012, 0x080c, - 0xd47e, 0x11c8, 0x080c, 0x3144, 0x11b0, 0x080c, 0xc5ee, 0x0500, - 0x2001, 0x0007, 0x080c, 0x61bc, 0x2001, 0x0007, 0x080c, 0x61e8, - 0x6017, 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, - 0x080c, 0x84ba, 0x0010, 0x080c, 0x9bda, 0x9085, 0x0001, 0x00ce, - 0x00be, 0x0005, 0x080c, 0x9bda, 0x00ce, 0x002e, 0x001e, 0x0ca8, - 0x080c, 0x9bda, 0x9006, 0x0c98, 0x2069, 0x026d, 0x6800, 0x9082, - 0x0010, 0x1228, 0x6017, 0x0000, 0x9085, 0x0001, 0x0008, 0x9006, - 0x0005, 0x6017, 0x0000, 0x2069, 0x026c, 0x6808, 0x9084, 0xff00, - 0x9086, 0x0800, 0x1190, 0x6904, 0x9186, 0x0018, 0x0118, 0x9186, - 0x0014, 0x1158, 0x810f, 0x6800, 0x9084, 0x00ff, 0x910d, 0x6162, - 0x908e, 0x0014, 0x0110, 0x908e, 0x0010, 0x0005, 0x6004, 0x90b2, - 0x0053, 0x1a0c, 0x0d65, 0x91b6, 0x0013, 0x1130, 0x2008, 0x91b2, - 0x0040, 0x1a04, 0xc7d1, 0x0092, 0x91b6, 0x0027, 0x0120, 0x91b6, - 0x0014, 0x190c, 0x0d65, 0x2001, 0x0007, 0x080c, 0x61e8, 0x080c, - 0x885d, 0x080c, 0x9c14, 0x080c, 0x891b, 0x0005, 0xc70e, 0xc710, - 0xc70e, 0xc70e, 0xc70e, 0xc710, 0xc71d, 0xc7ce, 0xc76d, 0xc7ce, - 0xc77f, 0xc7ce, 0xc71d, 0xc7ce, 0xc7c6, 0xc7ce, 0xc7c6, 0xc7ce, - 0xc7ce, 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0xc70e, - 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0xc710, 0xc70e, 0xc7ce, 0xc70e, - 0xc70e, 0xc7ce, 0xc70e, 0xc7cb, 0xc7ce, 0xc70e, 0xc70e, 0xc70e, - 0xc70e, 0xc7ce, 0xc7ce, 0xc70e, 0xc7ce, 0xc7ce, 0xc70e, 0xc718, - 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0xc7ca, 0xc7ce, 0xc70e, 0xc70e, - 0xc7ce, 0xc7ce, 0xc70e, 0xc70e, 0xc70e, 0xc70e, 0x080c, 0x0d65, - 0x080c, 0xbf79, 0x6003, 0x0002, 0x080c, 0x891b, 0x0804, 0xc7d0, - 0x9006, 0x080c, 0x61a8, 0x0804, 0xc7ce, 0x080c, 0x665e, 0x1904, - 0xc7ce, 0x9006, 0x080c, 0x61a8, 0x6010, 0x2058, 0xb810, 0x9086, - 0x00ff, 0x1140, 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, - 0x00fe, 0x0428, 0x6010, 0x2058, 0xb884, 0x9005, 0x1178, 0x080c, - 0xbf61, 0x1904, 0xc7ce, 0x0036, 0x0046, 0xbba0, 0x2021, 0x0007, - 0x080c, 0x4a77, 0x004e, 0x003e, 0x0804, 0xc7ce, 0x080c, 0x3175, - 0x1904, 0xc7ce, 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1138, - 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x2001, - 0x0002, 0x080c, 0x61bc, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, - 0x0002, 0x080c, 0x84ba, 0x080c, 0x891b, 0x6110, 0x2158, 0x2009, - 0x0001, 0x080c, 0x8146, 0x0804, 0xc7d0, 0x6610, 0x2658, 0xbe04, - 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0904, 0xc7ce, 0x9686, - 0x0004, 0x0904, 0xc7ce, 0x2001, 0x0004, 0x0804, 0xc7cc, 0x2001, - 0x1800, 0x2004, 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, 0x6010, - 0x2058, 0xbba0, 0x2021, 0x0006, 0x080c, 0x4a77, 0x004e, 0x003e, - 0x2001, 0x0006, 0x080c, 0xc7ea, 0x6610, 0x2658, 0xbe04, 0x0066, - 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x006e, 0x0168, 0x2001, - 0x0006, 0x080c, 0x61e8, 0x9284, 0x00ff, 0x908e, 0x0007, 0x1120, - 0x2001, 0x0006, 0x080c, 0x61bc, 0x080c, 0x665e, 0x11f8, 0x2001, - 0x1836, 0x2004, 0xd0a4, 0x01d0, 0xbe04, 0x96b4, 0x00ff, 0x9686, - 0x0006, 0x01a0, 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, - 0x00fe, 0x0804, 0xc757, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, - 0x0409, 0x0020, 0x0018, 0x0010, 0x080c, 0x61e8, 0x080c, 0x9bda, - 0x0005, 0x2600, 0x0002, 0xc7e5, 0xc7e5, 0xc7e5, 0xc7e5, 0xc7e5, - 0xc7e7, 0xc7e5, 0xc7e5, 0xc7e5, 0xc7e5, 0xc7e7, 0xc7e5, 0xc7e5, - 0xc7e5, 0xc7e7, 0xc7e7, 0xc7e7, 0xc7e7, 0x080c, 0x0d65, 0x080c, - 0x9bda, 0x0005, 0x0016, 0x00b6, 0x00d6, 0x6110, 0x2158, 0xb900, - 0xd184, 0x0138, 0x080c, 0x61bc, 0x9006, 0x080c, 0x61a8, 0x080c, - 0x303d, 0x00de, 0x00be, 0x001e, 0x0005, 0x6610, 0x2658, 0xb804, - 0x9084, 0xff00, 0x8007, 0x90b2, 0x000c, 0x1a0c, 0x0d65, 0x91b6, - 0x0015, 0x1110, 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, 0x0d65, - 0x006b, 0x0005, 0xa662, 0xa662, 0xa662, 0xa662, 0xc87f, 0xa662, - 0xc869, 0xc82a, 0xa662, 0xa662, 0xa662, 0xa662, 0xa662, 0xa662, - 0xa662, 0xa662, 0xc87f, 0xa662, 0xc869, 0xc870, 0xa662, 0xa662, - 0xa662, 0xa662, 0x00f6, 0x080c, 0x665e, 0x11d8, 0x080c, 0xbf61, - 0x11c0, 0x6010, 0x905d, 0x01a8, 0xb884, 0x9005, 0x0190, 0x9006, - 0x080c, 0x61a8, 0x2001, 0x0002, 0x080c, 0x61bc, 0x6023, 0x0001, - 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x84ba, 0x080c, 0x891b, - 0x00f0, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x243d, - 0x11b0, 0x080c, 0x626b, 0x0118, 0x080c, 0x9bda, 0x0080, 0xb810, - 0x0006, 0xb814, 0x0006, 0xb884, 0x0006, 0x080c, 0x5cf1, 0x000e, - 0xb886, 0x000e, 0xb816, 0x000e, 0xb812, 0x080c, 0x9bda, 0x00fe, - 0x0005, 0x6604, 0x96b6, 0x001e, 0x1110, 0x080c, 0x9bda, 0x0005, - 0x080c, 0xaa48, 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, - 0x84ba, 0x080c, 0x891b, 0x0010, 0x080c, 0x9bda, 0x0005, 0x0804, - 0x9bda, 0x6004, 0x908a, 0x0053, 0x1a0c, 0x0d65, 0x080c, 0x885d, - 0x080c, 0x9c14, 0x0005, 0x9182, 0x0040, 0x0002, 0xc8a1, 0xc8a1, - 0xc8a1, 0xc8a1, 0xc8a3, 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, - 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, 0xc8a1, - 0xc8a1, 0x080c, 0x0d65, 0x0096, 0x00b6, 0x00d6, 0x00e6, 0x00f6, - 0x0046, 0x0026, 0x6210, 0x2258, 0xb8ac, 0x9005, 0x11b0, 0x6007, - 0x0044, 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, 0xc90a, - 0x080c, 0xd58e, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, 0x0001, - 0x2011, 0x0200, 0x080c, 0x83cd, 0x0020, 0x9026, 0x080c, 0xd4c3, - 0x0c30, 0x080c, 0x1022, 0x090c, 0x0d65, 0x6003, 0x0007, 0xa867, - 0x010d, 0x9006, 0xa802, 0xa86a, 0xac8a, 0x2c00, 0xa88e, 0x6008, - 0xa8e2, 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa97a, 0x0016, 0xa876, - 0xa87f, 0x0000, 0xa883, 0x0000, 0xa887, 0x0036, 0x080c, 0x6991, - 0x001e, 0x080c, 0xd58e, 0x1904, 0xc96a, 0x9486, 0x2000, 0x1130, - 0x2019, 0x0017, 0x080c, 0xd1fc, 0x0804, 0xc96a, 0x9486, 0x0200, - 0x1120, 0x080c, 0xd18c, 0x0804, 0xc96a, 0x9486, 0x0400, 0x0120, - 0x9486, 0x1000, 0x1904, 0xc96a, 0x2019, 0x0002, 0x080c, 0xd1ab, - 0x0804, 0xc96a, 0x2069, 0x1a3e, 0x6a00, 0xd284, 0x0904, 0xc9d4, - 0x9284, 0x0300, 0x1904, 0xc9cd, 0x6804, 0x9005, 0x0904, 0xc9b5, - 0x2d78, 0x6003, 0x0007, 0x080c, 0x103b, 0x0904, 0xc976, 0x7800, - 0xd08c, 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, 0x2001, - 0x180f, 0x2004, 0xd084, 0x1904, 0xc9d8, 0x9006, 0xa802, 0xa867, - 0x0116, 0xa86a, 0x6008, 0xa8e2, 0x2c00, 0xa87a, 0x6010, 0x2058, - 0xb8a0, 0x7130, 0xa9b6, 0xa876, 0xb928, 0xa9ba, 0xb92c, 0xa9be, - 0xb930, 0xa9c2, 0xb934, 0xa9c6, 0xa883, 0x003d, 0x7044, 0x9084, - 0x0003, 0x9080, 0xc972, 0x2005, 0xa87e, 0x20a9, 0x000a, 0x2001, - 0x0270, 0xaa5c, 0x9290, 0x0021, 0x2009, 0x0205, 0x200b, 0x0080, - 0x20e1, 0x0000, 0xab60, 0x23e8, 0x2098, 0x22a0, 0x4003, 0x200b, - 0x0000, 0x2001, 0x027a, 0x200c, 0xa9b2, 0x8000, 0x200c, 0xa9ae, - 0x080c, 0x6994, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, 0x00be, - 0x009e, 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, 0x1810, - 0x2004, 0xd084, 0x0120, 0x080c, 0x1022, 0x1904, 0xc91f, 0x6017, - 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, - 0x84b3, 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, 0x9086, - 0x1200, 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, 0x918c, - 0xf700, 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, 0x0043, - 0x2009, 0xa025, 0x080c, 0x84b3, 0x0828, 0x6868, 0x602e, 0x686c, - 0x6032, 0x6017, 0xf200, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, - 0xa022, 0x080c, 0x84b3, 0x0804, 0xc96a, 0x2001, 0x180e, 0x2004, - 0xd0ec, 0x0120, 0x2011, 0x8049, 0x080c, 0x48da, 0x6017, 0xf300, - 0x0010, 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, - 0xa022, 0x080c, 0x84b3, 0x0804, 0xc96a, 0x6017, 0xf500, 0x0c98, - 0x6017, 0xf600, 0x0804, 0xc98a, 0x6017, 0xf200, 0x0804, 0xc98a, - 0xa867, 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, 0xa87a, - 0x7044, 0x9084, 0x0003, 0x9080, 0xc972, 0x2005, 0xa87e, 0x2928, - 0x6010, 0x2058, 0xb8a0, 0xa876, 0xb828, 0xa88a, 0xb82c, 0xa88e, - 0xb830, 0xa892, 0xb834, 0xa896, 0xa883, 0x003d, 0x2009, 0x0205, - 0x2104, 0x9085, 0x0080, 0x200a, 0x20e1, 0x0000, 0x2011, 0x0210, - 0x2214, 0x9294, 0x0fff, 0xaaa2, 0x9282, 0x0111, 0x1a0c, 0x0d65, - 0x8210, 0x821c, 0x2001, 0x026c, 0x2098, 0xa860, 0x20e8, 0xa85c, - 0x9080, 0x0029, 0x20a0, 0x2011, 0xca54, 0x2041, 0x0001, 0x223d, - 0x9784, 0x00ff, 0x9322, 0x1208, 0x2300, 0x20a8, 0x4003, 0x931a, - 0x0530, 0x8210, 0xd7fc, 0x1130, 0x8d68, 0x2d0a, 0x2001, 0x0260, - 0x2098, 0x0c68, 0x2950, 0x080c, 0x103b, 0x0170, 0x2900, 0xb002, - 0xa867, 0x0147, 0xa86b, 0x0000, 0xa860, 0x20e8, 0xa85c, 0x9080, - 0x001b, 0x20a0, 0x8840, 0x08d8, 0x2548, 0xa800, 0x902d, 0x0118, - 0x080c, 0x1054, 0x0cc8, 0x080c, 0x1054, 0x0804, 0xc976, 0x2548, - 0x8847, 0x9885, 0x0046, 0xa866, 0x2009, 0x0205, 0x200b, 0x0000, - 0x080c, 0xd22f, 0x0804, 0xc96a, 0x8010, 0x0004, 0x801a, 0x0006, - 0x8018, 0x0008, 0x8016, 0x000a, 0x8014, 0x9186, 0x0013, 0x1160, - 0x6004, 0x908a, 0x0057, 0x1a0c, 0x0d65, 0x9082, 0x0040, 0x0a0c, - 0x0d65, 0x2008, 0x0804, 0xcadf, 0x9186, 0x0051, 0x0108, 0x0040, - 0x080c, 0x9aaa, 0x01e8, 0x9086, 0x0002, 0x0904, 0xcb26, 0x00c0, - 0x9186, 0x0027, 0x0180, 0x9186, 0x0048, 0x0128, 0x9186, 0x0014, - 0x0150, 0x190c, 0x0d65, 0x080c, 0x9aaa, 0x0150, 0x9086, 0x0004, - 0x0904, 0xcbc3, 0x0028, 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, - 0x080c, 0x9c93, 0x0005, 0xcaa6, 0xcaa8, 0xcaa8, 0xcacf, 0xcaa6, - 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, - 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0xcaa6, 0x080c, 0x0d65, - 0x080c, 0x885d, 0x080c, 0x891b, 0x0036, 0x0096, 0x6014, 0x904d, - 0x01d8, 0x080c, 0xb842, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, + 0x080c, 0xbb79, 0xa877, 0x0000, 0x080c, 0x69b5, 0x080c, 0xba5f, + 0x009e, 0x0804, 0x9be6, 0x0016, 0x0096, 0x6014, 0x2048, 0x080c, + 0xb870, 0x0140, 0xa867, 0x0103, 0xa87b, 0x0028, 0xa877, 0x0000, + 0x080c, 0x69b5, 0x009e, 0x001e, 0x9186, 0x0013, 0x0158, 0x9186, + 0x0014, 0x0130, 0x9186, 0x0027, 0x0118, 0x080c, 0x9c9f, 0x0020, + 0x080c, 0x8891, 0x080c, 0x9c20, 0x0005, 0x0056, 0x0066, 0x0096, + 0x00a6, 0x2029, 0x0001, 0x9182, 0x0101, 0x1208, 0x0010, 0x2009, + 0x0100, 0x2130, 0x8304, 0x9098, 0x0018, 0x2009, 0x0020, 0x2011, + 0x0029, 0x080c, 0xb426, 0x96b2, 0x0020, 0xb004, 0x904d, 0x0110, + 0x080c, 0x0fe1, 0x080c, 0x102f, 0x0520, 0x8528, 0xa867, 0x0110, + 0xa86b, 0x0000, 0x2920, 0xb406, 0x968a, 0x003d, 0x1228, 0x2608, + 0x2011, 0x001b, 0x0499, 0x00a8, 0x96b2, 0x003c, 0x2009, 0x003c, + 0x2950, 0x2011, 0x001b, 0x0451, 0x0c28, 0x2001, 0x0205, 0x2003, + 0x0000, 0x00ae, 0x852f, 0x95ad, 0x0003, 0xb566, 0x95ac, 0x0000, + 0x0048, 0x2001, 0x0205, 0x2003, 0x0000, 0x00ae, 0x852f, 0x95ad, + 0x0003, 0xb566, 0x009e, 0x006e, 0x005e, 0x0005, 0x00a6, 0x89ff, + 0x0158, 0xa804, 0x9055, 0x0130, 0xa807, 0x0000, 0x080c, 0x69b5, + 0x2a48, 0x0cb8, 0x080c, 0x69b5, 0x00ae, 0x0005, 0x00f6, 0x2079, + 0x0200, 0x7814, 0x9085, 0x0080, 0x7816, 0xd184, 0x0108, 0x8108, + 0x810c, 0x20a9, 0x0001, 0xa860, 0x20e8, 0xa85c, 0x9200, 0x20a0, + 0x20e1, 0x0000, 0x2300, 0x9e00, 0x2098, 0x4003, 0x8318, 0x9386, + 0x0020, 0x1148, 0x2018, 0x2300, 0x9e00, 0x2098, 0x7814, 0x8000, + 0x9085, 0x0080, 0x7816, 0x8109, 0x1d80, 0x7817, 0x0000, 0x00fe, + 0x0005, 0x0066, 0x0126, 0x2091, 0x8000, 0x2031, 0x0001, 0x6020, + 0x9084, 0x000f, 0x0083, 0x012e, 0x006e, 0x0005, 0x0126, 0x2091, + 0x8000, 0x0066, 0x2031, 0x0000, 0x6020, 0x9084, 0x000f, 0x001b, + 0x006e, 0x012e, 0x0005, 0xb4a3, 0xb4a3, 0xb49e, 0xb4c7, 0xb47b, + 0xb49e, 0xb47d, 0xb49e, 0xb47b, 0xb47b, 0xb49e, 0xb49e, 0xb49e, + 0xb47b, 0xb47b, 0xb47b, 0x080c, 0x0d65, 0x6010, 0x9080, 0x0000, + 0x2004, 0xd0bc, 0x190c, 0xb4c7, 0x0036, 0x6014, 0x0096, 0x2048, + 0xa880, 0x009e, 0xd0cc, 0x0118, 0x2019, 0x000c, 0x0038, 0xd094, + 0x0118, 0x2019, 0x000d, 0x0010, 0x2019, 0x0010, 0x080c, 0xce41, + 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x9006, 0x0005, + 0x9085, 0x0001, 0x0005, 0x0096, 0x86ff, 0x11e8, 0x6014, 0x2048, + 0x080c, 0xb870, 0x01d0, 0x6043, 0xffff, 0xa864, 0x9086, 0x0139, + 0x1128, 0xa87b, 0x0005, 0xa883, 0x0000, 0x0028, 0x900e, 0x2001, + 0x0005, 0x080c, 0x6bc6, 0x080c, 0xbb79, 0x080c, 0x69a9, 0x080c, + 0x9c20, 0x9085, 0x0001, 0x009e, 0x0005, 0x9006, 0x0ce0, 0x080c, + 0x98c7, 0x080c, 0xbfc9, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, + 0x002b, 0x0106, 0x080c, 0x98e3, 0x010e, 0x0005, 0xb4e6, 0xb514, + 0xb4e8, 0xb53b, 0xb50f, 0xb4e6, 0xb49e, 0xb4a3, 0xb4a3, 0xb49e, + 0xb49e, 0xb49e, 0xb49e, 0xb49e, 0xb49e, 0xb49e, 0x080c, 0x0d65, + 0x86ff, 0x1510, 0x6020, 0x9086, 0x0006, 0x01f0, 0x0096, 0x6014, + 0x2048, 0x080c, 0xb870, 0x0158, 0xa87c, 0xd0cc, 0x0130, 0x0096, + 0xa878, 0x2048, 0x080c, 0x0fe1, 0x009e, 0x080c, 0xbb79, 0x009e, + 0x080c, 0xbf49, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, + 0x2009, 0x8020, 0x080c, 0x84c9, 0x9085, 0x0001, 0x0005, 0x0066, + 0x080c, 0x193e, 0x006e, 0x08a0, 0x00e6, 0x2071, 0x19bf, 0x7030, + 0x9c06, 0x1120, 0x080c, 0x921d, 0x00ee, 0x0850, 0x6020, 0x9084, + 0x000f, 0x9086, 0x0006, 0x1150, 0x0086, 0x0096, 0x2049, 0x0001, + 0x2c40, 0x080c, 0x936d, 0x009e, 0x008e, 0x0040, 0x0066, 0x080c, + 0x9119, 0x190c, 0x0d65, 0x080c, 0x9127, 0x006e, 0x00ee, 0x1904, + 0xb4e8, 0x0804, 0xb49e, 0x0036, 0x00e6, 0x2071, 0x19bf, 0x704c, + 0x9c06, 0x1138, 0x901e, 0x080c, 0x929d, 0x00ee, 0x003e, 0x0804, + 0xb4e8, 0x080c, 0x94a4, 0x00ee, 0x003e, 0x1904, 0xb4e8, 0x0804, + 0xb49e, 0x00c6, 0x0066, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, + 0x00ce, 0x0005, 0xb571, 0xb640, 0xb7aa, 0xb579, 0x9c20, 0xb571, + 0xce33, 0xbfb1, 0xb640, 0xb56a, 0xb836, 0xb56a, 0xb56a, 0xb56a, + 0xb56a, 0xb56a, 0x080c, 0x0d65, 0x080c, 0xba85, 0x1110, 0x080c, + 0xa59c, 0x0005, 0x080c, 0x8891, 0x0804, 0x9be6, 0x601b, 0x0001, + 0x0005, 0x080c, 0xb870, 0x0130, 0x6014, 0x0096, 0x2048, 0x2c00, + 0xa896, 0x009e, 0x080c, 0x98c7, 0x080c, 0xbfc9, 0x6000, 0x908a, + 0x0016, 0x1a0c, 0x0d65, 0x0013, 0x0804, 0x98e3, 0xb59e, 0xb5a0, + 0xb5ca, 0xb5de, 0xb60b, 0xb59e, 0xb571, 0xb571, 0xb571, 0xb5e5, + 0xb5e5, 0xb59e, 0xb59e, 0xb59e, 0xb59e, 0xb5ef, 0x080c, 0x0d65, + 0x00e6, 0x6014, 0x0096, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, + 0x2071, 0x19bf, 0x7030, 0x9c06, 0x01d0, 0x0066, 0x080c, 0x9119, + 0x190c, 0x0d65, 0x080c, 0x9127, 0x006e, 0x080c, 0xbf49, 0x6007, + 0x0085, 0x6003, 0x000b, 0x6023, 0x0002, 0x2001, 0x195f, 0x2004, + 0x601a, 0x2009, 0x8020, 0x080c, 0x84c9, 0x00ee, 0x0005, 0x601b, + 0x0001, 0x0cd8, 0x0096, 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, + 0x009e, 0x080c, 0xbf49, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x2009, 0x8020, 0x080c, 0x84c9, 0x0005, 0x080c, 0x98c7, + 0x080c, 0x9a38, 0x080c, 0x98e3, 0x0c28, 0x0096, 0x601b, 0x0001, + 0x6014, 0x2048, 0xa880, 0xc0b5, 0xa882, 0x009e, 0x0005, 0x080c, + 0x53b0, 0x01b8, 0x6014, 0x0096, 0x904d, 0x0190, 0xa864, 0xa867, + 0x0103, 0xa87b, 0x0006, 0x9086, 0x0139, 0x1150, 0xa867, 0x0139, + 0xa87b, 0x0030, 0xa897, 0x4005, 0xa89b, 0x0004, 0x080c, 0x69b5, + 0x009e, 0x0804, 0x9be6, 0x6014, 0x0096, 0x904d, 0x0560, 0xa97c, + 0xd1e4, 0x1158, 0x611c, 0xd1fc, 0x0530, 0x6110, 0x00b6, 0x2158, + 0xb93c, 0x8109, 0x0208, 0xb93e, 0x00be, 0x080c, 0x98e3, 0x2001, + 0x180f, 0x2004, 0xd0c4, 0x0110, 0x009e, 0x0005, 0xa884, 0x009e, + 0x8003, 0x800b, 0x810b, 0x9108, 0x611a, 0x2001, 0x0037, 0x2c08, + 0x080c, 0x15b8, 0x6000, 0x9086, 0x0004, 0x1120, 0x2009, 0x0048, + 0x080c, 0x9c82, 0x0005, 0x009e, 0x080c, 0x193e, 0x0804, 0xb5ca, + 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x000b, 0x0005, 0xb657, + 0xb576, 0xb659, 0xb657, 0xb659, 0xb659, 0xb572, 0xb657, 0xb56c, + 0xb56c, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0xb657, 0x080c, + 0x0d65, 0x6010, 0x00b6, 0x2058, 0xb804, 0x9084, 0x00ff, 0x00be, + 0x908a, 0x000c, 0x1a0c, 0x0d65, 0x00b6, 0x0013, 0x00be, 0x0005, + 0xb674, 0xb741, 0xb676, 0xb6b6, 0xb676, 0xb6b6, 0xb676, 0xb684, + 0xb674, 0xb6b6, 0xb674, 0xb6a5, 0x080c, 0x0d65, 0x6004, 0x908e, + 0x0016, 0x05c0, 0x908e, 0x0004, 0x05a8, 0x908e, 0x0002, 0x0590, + 0x908e, 0x0052, 0x0904, 0xb73d, 0x6004, 0x080c, 0xba85, 0x0904, + 0xb75a, 0x908e, 0x0004, 0x1110, 0x080c, 0x305d, 0x908e, 0x0021, + 0x0904, 0xb75e, 0x908e, 0x0022, 0x0904, 0xb7a5, 0x908e, 0x003d, + 0x0904, 0xb75e, 0x908e, 0x0039, 0x0904, 0xb762, 0x908e, 0x0035, + 0x0904, 0xb762, 0x908e, 0x001e, 0x0178, 0x908e, 0x0001, 0x1140, + 0x6010, 0x2058, 0xb804, 0x9084, 0x00ff, 0x9086, 0x0006, 0x0110, + 0x080c, 0x302e, 0x080c, 0xa59c, 0x0804, 0x9c20, 0x00c6, 0x00d6, + 0x6104, 0x9186, 0x0016, 0x0904, 0xb72e, 0x9186, 0x0002, 0x1904, + 0xb703, 0x2001, 0x1836, 0x2004, 0xd08c, 0x11c8, 0x080c, 0x70ba, + 0x11b0, 0x080c, 0xbf8f, 0x0138, 0x080c, 0x70dd, 0x1120, 0x080c, + 0x6fc5, 0x0804, 0xb78e, 0x2001, 0x1955, 0x2003, 0x0001, 0x2001, + 0x1800, 0x2003, 0x0001, 0x080c, 0x6feb, 0x0804, 0xb78e, 0x6010, + 0x2058, 0x2001, 0x1836, 0x2004, 0xd0ac, 0x1904, 0xb78e, 0xb8a0, + 0x9084, 0xff80, 0x1904, 0xb78e, 0xb840, 0x9084, 0x00ff, 0x9005, + 0x0190, 0x8001, 0xb842, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, + 0x0398, 0x604b, 0x0000, 0x080c, 0x9b90, 0x0128, 0x2b00, 0x6012, + 0x6023, 0x0001, 0x0458, 0x00de, 0x00ce, 0x6004, 0x908e, 0x0002, + 0x11a0, 0x6010, 0x2058, 0xb8a0, 0x9086, 0x007e, 0x1170, 0x2009, + 0x1836, 0x2104, 0xc085, 0x200a, 0x00e6, 0x2071, 0x1800, 0x080c, + 0x5c8a, 0x00ee, 0x080c, 0xa59c, 0x0030, 0x080c, 0xa59c, 0x080c, + 0x302e, 0x080c, 0xbfa4, 0x00e6, 0x0126, 0x2091, 0x8000, 0x080c, + 0x305d, 0x012e, 0x00ee, 0x080c, 0x9c20, 0x0005, 0x2001, 0x0002, + 0x080c, 0x61e0, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, 0x84ee, + 0x080c, 0x894f, 0x00de, 0x00ce, 0x0c80, 0x080c, 0x305d, 0x0804, + 0xb6b2, 0x00c6, 0x00d6, 0x6104, 0x9186, 0x0016, 0x0d38, 0x6010, + 0x2058, 0xb840, 0x9084, 0x00ff, 0x9005, 0x0904, 0xb703, 0x8001, + 0xb842, 0x6003, 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, 0x00de, + 0x00ce, 0x0898, 0x080c, 0xa59c, 0x0804, 0xb6b4, 0x080c, 0xa5d8, + 0x0804, 0xb6b4, 0x00d6, 0x2c68, 0x6104, 0x080c, 0xbf07, 0x00de, + 0x0118, 0x080c, 0x9be6, 0x0408, 0x6004, 0x8007, 0x6134, 0x918c, + 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, 0x6003, 0x000b, 0x6023, + 0x0002, 0x603c, 0x600a, 0x2001, 0x195f, 0x2004, 0x601a, 0x602c, + 0x2c08, 0x2060, 0x6024, 0xd0b4, 0x0108, 0xc085, 0xc0b5, 0x6026, + 0x2160, 0x2009, 0x8020, 0x080c, 0x84e7, 0x0005, 0x00de, 0x00ce, + 0x080c, 0xa59c, 0x080c, 0x302e, 0x00e6, 0x0126, 0x2091, 0x8000, + 0x080c, 0x305d, 0x6017, 0x0000, 0x6023, 0x0007, 0x601b, 0x0398, + 0x604b, 0x0000, 0x012e, 0x00ee, 0x0005, 0x080c, 0xa020, 0x1904, + 0xb75a, 0x0005, 0x6000, 0x908a, 0x0016, 0x1a0c, 0x0d65, 0x0096, + 0x00d6, 0x001b, 0x00de, 0x009e, 0x0005, 0xb7c5, 0xb7c5, 0xb7c5, + 0xb7c5, 0xb7c5, 0xb7c5, 0xb7c5, 0xb7c5, 0xb7c5, 0xb571, 0xb7c5, + 0xb576, 0xb7c7, 0xb576, 0xb7e1, 0xb7c5, 0x080c, 0x0d65, 0x6004, + 0x9086, 0x008b, 0x01b0, 0x6034, 0x908c, 0xff00, 0x810f, 0x9186, + 0x0035, 0x1130, 0x602c, 0x9080, 0x0009, 0x200c, 0xc185, 0x2102, + 0x6007, 0x008b, 0x6003, 0x000d, 0x2009, 0x8020, 0x080c, 0x84e7, + 0x0005, 0x080c, 0xbf83, 0x0118, 0x080c, 0xbf96, 0x0010, 0x080c, + 0xbfa4, 0x080c, 0xba5f, 0x080c, 0xb870, 0x0570, 0x080c, 0x302e, + 0x080c, 0xb870, 0x0168, 0x6014, 0x2048, 0xa867, 0x0103, 0xa87b, + 0x0006, 0xa877, 0x0000, 0xa880, 0xc0ed, 0xa882, 0x080c, 0x69b5, + 0x2c68, 0x080c, 0x9b90, 0x0150, 0x6810, 0x6012, 0x080c, 0xbd09, + 0x00c6, 0x2d60, 0x080c, 0x9c20, 0x00ce, 0x0008, 0x2d60, 0x6017, + 0x0000, 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, + 0x84ee, 0x080c, 0x894f, 0x00c8, 0x080c, 0xbf83, 0x0138, 0x6034, + 0x9086, 0x4000, 0x1118, 0x080c, 0x302e, 0x08d0, 0x6034, 0x908c, + 0xff00, 0x810f, 0x9186, 0x0039, 0x0118, 0x9186, 0x0035, 0x1118, + 0x080c, 0x302e, 0x0868, 0x080c, 0x9c20, 0x0005, 0x6000, 0x908a, + 0x0016, 0x1a0c, 0x0d65, 0x0002, 0xb84c, 0xb84c, 0xb84e, 0xb84e, + 0xb84e, 0xb84c, 0xb84c, 0x9c20, 0xb84c, 0xb84c, 0xb84c, 0xb84c, + 0xb84c, 0xb84c, 0xb84c, 0xb84c, 0x080c, 0x0d65, 0x080c, 0x98c7, + 0x080c, 0x9a38, 0x080c, 0x98e3, 0x6114, 0x0096, 0x2148, 0xa87b, + 0x0006, 0x080c, 0x69b5, 0x009e, 0x0804, 0x9be6, 0x9284, 0x0003, + 0x1158, 0x9282, 0x1ddc, 0x0240, 0x2001, 0x1819, 0x2004, 0x9202, + 0x1218, 0x9085, 0x0001, 0x0005, 0x9006, 0x0ce8, 0x0096, 0x0028, + 0x0096, 0x0006, 0x6014, 0x2048, 0x000e, 0x0006, 0x9984, 0xf000, + 0x9086, 0xf000, 0x0110, 0x080c, 0x10da, 0x000e, 0x009e, 0x0005, + 0x00e6, 0x00c6, 0x0036, 0x0006, 0x0126, 0x2091, 0x8000, 0x2061, + 0x1ddc, 0x2071, 0x1800, 0x7350, 0x7070, 0x9302, 0x1640, 0x6020, + 0x9206, 0x11f8, 0x080c, 0xbf8f, 0x0180, 0x9286, 0x0001, 0x1168, + 0x6004, 0x9086, 0x0004, 0x1148, 0x080c, 0x302e, 0x080c, 0xbfa4, + 0x00c6, 0x080c, 0x9c20, 0x00ce, 0x0060, 0x080c, 0xbc7b, 0x0148, + 0x080c, 0xba85, 0x1110, 0x080c, 0xa59c, 0x00c6, 0x080c, 0x9be6, + 0x00ce, 0x9ce0, 0x001c, 0x7064, 0x9c02, 0x1208, 0x08a0, 0x012e, + 0x000e, 0x003e, 0x00ce, 0x00ee, 0x0005, 0x00e6, 0x00c6, 0x0016, + 0x9188, 0x1000, 0x210c, 0x81ff, 0x0128, 0x2061, 0x1b09, 0x6112, + 0x080c, 0x302e, 0x9006, 0x0010, 0x9085, 0x0001, 0x001e, 0x00ce, + 0x00ee, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9b90, + 0x01b0, 0x665e, 0x2b00, 0x6012, 0x080c, 0x53b0, 0x0118, 0x080c, + 0xb9a1, 0x0168, 0x080c, 0xbd09, 0x6023, 0x0003, 0x2009, 0x004b, + 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, + 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0xbaa0, 0x080c, 0x9c55, + 0x0580, 0x605f, 0x0000, 0x2b00, 0x6012, 0x080c, 0xbd09, 0x6023, + 0x0003, 0x0016, 0x080c, 0x98c7, 0x080c, 0x8658, 0x0076, 0x903e, + 0x080c, 0x853d, 0x2c08, 0x080c, 0xd011, 0x007e, 0x080c, 0x98e3, + 0x001e, 0xd184, 0x0128, 0x080c, 0x9be6, 0x9085, 0x0001, 0x0070, + 0x080c, 0x53b0, 0x0128, 0xd18c, 0x1170, 0x080c, 0xb9a1, 0x0148, + 0x2009, 0x004c, 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x2900, 0x6016, 0x0c90, 0x2009, 0x004d, + 0x0010, 0x2009, 0x004e, 0x00f6, 0x00c6, 0x0046, 0x0016, 0x080c, + 0x9b90, 0x2c78, 0x0590, 0x7e5e, 0x2b00, 0x7812, 0x7823, 0x0003, + 0x2021, 0x0005, 0x080c, 0xb9b3, 0x9186, 0x004d, 0x0118, 0x9186, + 0x004e, 0x0148, 0x2001, 0x1958, 0x200c, 0xd1fc, 0x0168, 0x2f60, + 0x080c, 0x9be6, 0x00d0, 0x2001, 0x1957, 0x200c, 0xd1fc, 0x0120, + 0x2f60, 0x080c, 0x9be6, 0x0088, 0x2f60, 0x080c, 0x53b0, 0x0138, + 0xd18c, 0x1118, 0x04f1, 0x0148, 0x0010, 0x2900, 0x7816, 0x001e, + 0x0016, 0x080c, 0x9c82, 0x9085, 0x0001, 0x001e, 0x004e, 0x00ce, + 0x00fe, 0x0005, 0x00f6, 0x00c6, 0x0046, 0x080c, 0x9b90, 0x2c78, + 0x0508, 0x7e5e, 0x2b00, 0x7812, 0x7823, 0x0003, 0x0096, 0x2021, + 0x0004, 0x0489, 0x009e, 0x2001, 0x1956, 0x200c, 0xd1fc, 0x0120, + 0x2f60, 0x080c, 0x9be6, 0x0060, 0x2f60, 0x080c, 0x53b0, 0x0120, + 0xd18c, 0x1160, 0x0071, 0x0130, 0x2009, 0x0052, 0x080c, 0x9c82, + 0x9085, 0x0001, 0x004e, 0x00ce, 0x00fe, 0x0005, 0x2900, 0x7816, + 0x0c98, 0x00c6, 0x080c, 0x489a, 0x00ce, 0x1120, 0x080c, 0x9be6, + 0x9006, 0x0005, 0xa867, 0x0000, 0xa86b, 0x8000, 0x2900, 0x6016, + 0x9085, 0x0001, 0x0005, 0x0096, 0x0076, 0x0126, 0x2091, 0x8000, + 0x080c, 0x98c7, 0x080c, 0x6471, 0x0158, 0x2001, 0xb9ba, 0x0006, + 0x900e, 0x2400, 0x080c, 0x6bc6, 0x080c, 0x69b5, 0x000e, 0x0807, + 0x2418, 0x080c, 0x8857, 0xbaa0, 0x0086, 0x2041, 0x0001, 0x2039, + 0x0001, 0x2608, 0x080c, 0x8672, 0x008e, 0x080c, 0x853d, 0x2f08, + 0x2648, 0x080c, 0xd011, 0xb93c, 0x81ff, 0x090c, 0x8749, 0x080c, + 0x98e3, 0x012e, 0x007e, 0x009e, 0x0005, 0x00c6, 0x0126, 0x2091, + 0x8000, 0x080c, 0x9b90, 0x0190, 0x660a, 0x2b08, 0x6112, 0x080c, + 0xbd09, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x001f, 0x080c, + 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9c55, 0x01b8, 0x660a, + 0x2b08, 0x6112, 0x080c, 0xbd09, 0x6023, 0x0008, 0x2900, 0x6016, + 0x00f6, 0x2c78, 0x080c, 0x1669, 0x00fe, 0x2009, 0x0021, 0x080c, + 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd8, + 0x2009, 0x003d, 0x00c6, 0x0126, 0x0016, 0x2091, 0x8000, 0x080c, + 0x9b90, 0x0198, 0x660a, 0x2b08, 0x6112, 0x080c, 0xbd09, 0x6023, + 0x0001, 0x2900, 0x6016, 0x001e, 0x0016, 0x080c, 0x9c82, 0x9085, + 0x0001, 0x001e, 0x012e, 0x00ce, 0x0005, 0x9006, 0x0cd0, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x080c, 0x9c55, 0x0188, 0x2b08, 0x6112, + 0x080c, 0xbd09, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, 0x0000, + 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, 0x9006, + 0x0cd8, 0x2009, 0x0044, 0x0830, 0x2009, 0x0049, 0x0818, 0x0026, + 0x00b6, 0x6210, 0x2258, 0xba3c, 0x82ff, 0x0118, 0x8211, 0xba3e, + 0x1140, 0xb8c0, 0x9005, 0x0128, 0xb888, 0x9005, 0x1110, 0xb88b, + 0x0001, 0x00be, 0x002e, 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, + 0x0002, 0x0140, 0x908e, 0x0003, 0x0128, 0x908e, 0x0004, 0x0110, + 0x9085, 0x0001, 0x001e, 0x000e, 0x0005, 0x0006, 0x0086, 0x0096, + 0x6020, 0x9086, 0x0004, 0x01a8, 0x6014, 0x904d, 0x080c, 0xb870, + 0x0180, 0xa864, 0x9086, 0x0139, 0x0170, 0x6020, 0x90c6, 0x0003, + 0x0140, 0x90c6, 0x0002, 0x0128, 0xa868, 0xd0fc, 0x0110, 0x9006, + 0x0010, 0x9085, 0x0001, 0x009e, 0x008e, 0x000e, 0x0005, 0x00c6, + 0x0126, 0x2091, 0x8000, 0x080c, 0x9c55, 0x0198, 0x2b08, 0x6112, + 0x080c, 0xbd09, 0x6023, 0x0001, 0x2900, 0x6016, 0x080c, 0x302e, + 0x2009, 0x0028, 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x9186, 0x0015, 0x11a8, 0x2011, 0x1823, + 0x2204, 0x9086, 0x0074, 0x1178, 0x00b6, 0x080c, 0xa827, 0x00be, + 0x080c, 0xaa66, 0x6003, 0x0001, 0x6007, 0x0029, 0x080c, 0x84ee, + 0x080c, 0x894f, 0x0078, 0x6014, 0x0096, 0x2048, 0xa868, 0x009e, + 0xd0fc, 0x0148, 0x2001, 0x0001, 0x080c, 0xbec8, 0x080c, 0xa59c, + 0x080c, 0x9be6, 0x0005, 0x0096, 0x6014, 0x904d, 0x090c, 0x0d65, + 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, + 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, 0x69b5, 0x012e, + 0x009e, 0x080c, 0x9be6, 0x0c30, 0x0096, 0x9186, 0x0016, 0x1128, + 0x2001, 0x0004, 0x080c, 0x61e0, 0x00e8, 0x9186, 0x0015, 0x1510, + 0x2011, 0x1823, 0x2204, 0x9086, 0x0014, 0x11e0, 0x6010, 0x00b6, + 0x2058, 0x080c, 0x632a, 0x00be, 0x080c, 0xab37, 0x1198, 0x6010, + 0x00b6, 0x2058, 0xb890, 0x00be, 0x9005, 0x0160, 0x2001, 0x0006, + 0x080c, 0x61e0, 0x6014, 0x2048, 0xa868, 0xd0fc, 0x0170, 0x080c, + 0x9ff4, 0x0048, 0x6014, 0x2048, 0xa868, 0xd0fc, 0x0528, 0x080c, + 0xa59c, 0x080c, 0x9be6, 0x009e, 0x0005, 0x6014, 0x6310, 0x2358, + 0x904d, 0x090c, 0x0d65, 0xa87b, 0x0000, 0xa883, 0x0000, 0xa897, + 0x4000, 0x900e, 0x080c, 0x6582, 0x1108, 0xc185, 0xb800, 0xd0bc, + 0x0108, 0xc18d, 0xa99a, 0x0126, 0x2091, 0x8000, 0x080c, 0x69b5, + 0x012e, 0x080c, 0x9be6, 0x08f8, 0x6014, 0x904d, 0x090c, 0x0d65, + 0xa87b, 0x0030, 0xa883, 0x0000, 0xa897, 0x4005, 0xa89b, 0x0004, + 0xa867, 0x0139, 0x0126, 0x2091, 0x8000, 0x080c, 0x69b5, 0x012e, + 0x080c, 0x9be6, 0x0840, 0xa878, 0x9086, 0x0005, 0x1108, 0x0009, + 0x0005, 0xa880, 0xc0ad, 0xa882, 0x0005, 0x604b, 0x0000, 0x6017, + 0x0000, 0x6003, 0x0001, 0x6007, 0x0050, 0x2009, 0x8023, 0x080c, + 0x84e7, 0x0005, 0x00c6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x0130, 0x0066, 0x6020, 0x9084, 0x000f, 0x001b, 0x006e, + 0x00ce, 0x0005, 0xb571, 0xbbac, 0xbbac, 0xbbaf, 0xd30b, 0xd326, + 0xd329, 0xb571, 0xb571, 0xb571, 0xb571, 0xb571, 0xb571, 0xb571, + 0xb571, 0xb571, 0x080c, 0x0d65, 0xa001, 0xa001, 0x0005, 0x0096, + 0x6014, 0x904d, 0x0118, 0xa87c, 0xd0e4, 0x1110, 0x009e, 0x0010, + 0x009e, 0x0005, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, + 0x0550, 0x2001, 0x1833, 0x2004, 0x9005, 0x1540, 0x00f6, 0x2c78, + 0x080c, 0x9b90, 0x0508, 0x7810, 0x6012, 0x080c, 0xbd09, 0x7820, + 0x9086, 0x0003, 0x0128, 0x7808, 0x603a, 0x2f00, 0x603e, 0x0020, + 0x7808, 0x603e, 0x2f00, 0x603a, 0x602e, 0x6023, 0x0001, 0x6007, + 0x0035, 0x6003, 0x0001, 0x795c, 0x615e, 0x2009, 0x8020, 0x080c, + 0x84e7, 0x2f60, 0x00fe, 0x0005, 0x2f60, 0x00fe, 0x2001, 0x1960, + 0x2004, 0x604a, 0x0005, 0x0016, 0x0096, 0x6814, 0x2048, 0x681c, + 0xd0fc, 0xc0fc, 0x681e, 0xa87c, 0x1108, 0xd0e4, 0x0180, 0xc0e4, + 0xa87e, 0xa877, 0x0000, 0xa893, 0x0000, 0xa88f, 0x0000, 0xd0cc, + 0x0130, 0xc0cc, 0xa87e, 0xa878, 0x2048, 0x080c, 0x0fe1, 0x6830, + 0x6036, 0x908e, 0x0001, 0x0148, 0x6803, 0x0002, 0x9086, 0x0005, + 0x0170, 0x9006, 0x602e, 0x6032, 0x00d0, 0x681c, 0xc085, 0x681e, + 0x6803, 0x0004, 0x6824, 0xc0f4, 0x9085, 0x0c00, 0x6826, 0x6814, + 0x2048, 0xa8ac, 0x6938, 0x9102, 0xa8b0, 0x693c, 0x9103, 0x1e48, + 0x683c, 0x602e, 0x6838, 0x9084, 0xfffc, 0x683a, 0x6032, 0x2d00, + 0x603a, 0x6808, 0x603e, 0x6910, 0x6112, 0x695c, 0x615e, 0x6023, + 0x0001, 0x6007, 0x0039, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, + 0x84e7, 0x009e, 0x001e, 0x0005, 0x6024, 0xd0d4, 0x0510, 0xd0f4, + 0x11f8, 0x6038, 0x940a, 0x603c, 0x9303, 0x0230, 0x9105, 0x0120, + 0x6024, 0xc0d4, 0xc0f5, 0x0098, 0x643a, 0x633e, 0xac3e, 0xab42, + 0x0046, 0x0036, 0x2400, 0xacac, 0x9402, 0xa836, 0x2300, 0xabb0, + 0x9303, 0xa83a, 0x003e, 0x004e, 0x6024, 0xc0d4, 0x0000, 0x6026, + 0x0005, 0xd0f4, 0x1138, 0xa83c, 0x603a, 0xa840, 0x603e, 0x6024, + 0xc0f5, 0x6026, 0x0005, 0x0006, 0x0016, 0x6004, 0x908e, 0x0034, + 0x01b8, 0x908e, 0x0035, 0x01a0, 0x908e, 0x0036, 0x0188, 0x908e, + 0x0037, 0x0170, 0x908e, 0x0038, 0x0158, 0x908e, 0x0039, 0x0140, + 0x908e, 0x003a, 0x0128, 0x908e, 0x003b, 0x0110, 0x9085, 0x0001, + 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00e6, + 0x2001, 0x195a, 0x200c, 0x8000, 0x2014, 0x2001, 0x0032, 0x080c, + 0x842f, 0x2001, 0x195e, 0x82ff, 0x1110, 0x2011, 0x0014, 0x2202, + 0x2001, 0x195c, 0x200c, 0x8000, 0x2014, 0x2071, 0x1944, 0x711a, + 0x721e, 0x2001, 0x0064, 0x080c, 0x842f, 0x2001, 0x195f, 0x82ff, + 0x1110, 0x2011, 0x0014, 0x2202, 0x2001, 0x1960, 0x9288, 0x000a, + 0x2102, 0x2001, 0x0017, 0x080c, 0x98b8, 0x2001, 0x1a60, 0x2102, + 0x2001, 0x0032, 0x080c, 0x15b8, 0x080c, 0x666b, 0x00ee, 0x003e, + 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x00e6, 0x2001, + 0x195e, 0x2003, 0x0028, 0x2001, 0x195f, 0x2003, 0x0014, 0x2071, + 0x1944, 0x701b, 0x0000, 0x701f, 0x07d0, 0x2001, 0x1960, 0x2009, + 0x001e, 0x2102, 0x2001, 0x0017, 0x080c, 0x98b8, 0x2001, 0x1a60, + 0x2102, 0x2001, 0x0032, 0x080c, 0x15b8, 0x00ee, 0x001e, 0x000e, + 0x0005, 0x0096, 0x6060, 0x904d, 0x0110, 0x080c, 0x1061, 0x009e, + 0x0005, 0x0005, 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9b90, + 0x0180, 0x2b08, 0x6112, 0x0ca9, 0x6023, 0x0001, 0x2900, 0x6016, + 0x2009, 0x0033, 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, + 0x0005, 0x9006, 0x0cd8, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, + 0x9186, 0x0015, 0x1500, 0x708c, 0x9086, 0x0018, 0x11e0, 0x6014, + 0x2048, 0xaa3c, 0xd2e4, 0x1160, 0x2c78, 0x080c, 0x8a0e, 0x01d8, + 0x7078, 0xaa50, 0x9206, 0x1160, 0x707c, 0xaa54, 0x9206, 0x1140, + 0x6210, 0x00b6, 0x2258, 0xbaa0, 0x00be, 0x900e, 0x080c, 0x307d, + 0x080c, 0x9ff4, 0x0020, 0x080c, 0xa59c, 0x080c, 0x9be6, 0x00fe, + 0x00ee, 0x009e, 0x0005, 0x705c, 0xaa54, 0x9206, 0x0d48, 0x0c80, + 0x00c6, 0x0126, 0x2091, 0x8000, 0x080c, 0x9b90, 0x0188, 0x2b08, + 0x6112, 0x080c, 0xbd09, 0x6023, 0x0001, 0x2900, 0x6016, 0x2009, + 0x004d, 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, 0x00ce, 0x0005, + 0x9006, 0x0cd8, 0x00c6, 0x0126, 0x2091, 0x8000, 0x0016, 0x080c, + 0x9b90, 0x0180, 0x2b08, 0x6112, 0x080c, 0xbd09, 0x6023, 0x0001, + 0x2900, 0x6016, 0x001e, 0x080c, 0x9c82, 0x9085, 0x0001, 0x012e, + 0x00ce, 0x0005, 0x001e, 0x9006, 0x0cd0, 0x0016, 0x0026, 0x0036, + 0x0046, 0x0056, 0x0066, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, + 0x9186, 0x0015, 0x1568, 0x718c, 0x6014, 0x2048, 0xa814, 0x8003, + 0x9106, 0x1530, 0x20e1, 0x0000, 0x2001, 0x1978, 0x2003, 0x0000, + 0x6014, 0x2048, 0xa830, 0x20a8, 0x8906, 0x8006, 0x8007, 0x9094, + 0x003f, 0x22e8, 0x9084, 0xffc0, 0x9080, 0x001b, 0x20a0, 0x2001, + 0x1978, 0x0016, 0x200c, 0x080c, 0xc581, 0x001e, 0xa804, 0x9005, + 0x0110, 0x2048, 0x0c38, 0x6014, 0x2048, 0xa867, 0x0103, 0x0010, + 0x080c, 0xa59c, 0x080c, 0x9be6, 0x00fe, 0x00ee, 0x009e, 0x006e, + 0x005e, 0x004e, 0x003e, 0x002e, 0x001e, 0x0005, 0x0096, 0x00e6, + 0x00f6, 0x2071, 0x1800, 0x9186, 0x0015, 0x11b8, 0x708c, 0x9086, + 0x0004, 0x1198, 0x6014, 0x2048, 0x2c78, 0x080c, 0x8a0e, 0x01a8, + 0x7078, 0xaa74, 0x9206, 0x1130, 0x707c, 0xaa78, 0x9206, 0x1110, + 0x080c, 0x302e, 0x080c, 0x9ff4, 0x0020, 0x080c, 0xa59c, 0x080c, + 0x9be6, 0x00fe, 0x00ee, 0x009e, 0x0005, 0x705c, 0xaa78, 0x9206, + 0x0d78, 0x0c80, 0x0096, 0x00e6, 0x00f6, 0x2071, 0x1800, 0x9186, + 0x0015, 0x1550, 0x708c, 0x9086, 0x0004, 0x1530, 0x6014, 0x2048, + 0x2c78, 0x080c, 0x8a0e, 0x05f0, 0x7078, 0xaacc, 0x9206, 0x1180, + 0x707c, 0xaad0, 0x9206, 0x1160, 0x080c, 0x302e, 0x0016, 0xa998, + 0xaab0, 0x9284, 0x1000, 0xc0fd, 0x080c, 0x5360, 0x001e, 0x0010, + 0x080c, 0x5149, 0x080c, 0xb870, 0x0508, 0xa87b, 0x0000, 0xa883, + 0x0000, 0xa897, 0x4000, 0x0080, 0x080c, 0xb870, 0x01b8, 0x6014, + 0x2048, 0x080c, 0x5149, 0x1d70, 0xa87b, 0x0030, 0xa883, 0x0000, + 0xa897, 0x4005, 0xa89b, 0x0004, 0x0126, 0x2091, 0x8000, 0xa867, + 0x0139, 0x080c, 0x69b5, 0x012e, 0x080c, 0x9be6, 0x00fe, 0x00ee, + 0x009e, 0x0005, 0x705c, 0xaad0, 0x9206, 0x0930, 0x0888, 0x0016, + 0x0026, 0xa87c, 0xd0ac, 0x0178, 0xa938, 0xaa34, 0x2100, 0x9205, + 0x0150, 0xa890, 0x9106, 0x1118, 0xa88c, 0x9206, 0x0120, 0xa992, + 0xaa8e, 0x9085, 0x0001, 0x002e, 0x001e, 0x0005, 0x00b6, 0x00d6, + 0x0036, 0x080c, 0xb870, 0x0904, 0xbec4, 0x0096, 0x6314, 0x2348, + 0xa87a, 0xa982, 0x929e, 0x4000, 0x1580, 0x6310, 0x00c6, 0x2358, + 0x2009, 0x0000, 0xa868, 0xd0f4, 0x1140, 0x080c, 0x6582, 0x1108, + 0xc185, 0xb800, 0xd0bc, 0x0108, 0xc18d, 0xaa96, 0xa99a, 0x20a9, + 0x0004, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x0031, 0x20a0, 0xb8b4, + 0x20e0, 0xb8b8, 0x9080, 0x0006, 0x2098, 0x080c, 0x0fac, 0x20a9, + 0x0004, 0xa85c, 0x9080, 0x0035, 0x20a0, 0xb8b8, 0x9080, 0x000a, + 0x2098, 0x080c, 0x0fac, 0x00ce, 0x0090, 0xaa96, 0x3918, 0x9398, + 0x0007, 0x231c, 0x6004, 0x9086, 0x0016, 0x0110, 0xa89b, 0x0004, + 0xaba2, 0x6310, 0x2358, 0xb804, 0x9084, 0x00ff, 0xa89e, 0x080c, + 0x69a9, 0x6017, 0x0000, 0x009e, 0x003e, 0x00de, 0x00be, 0x0005, + 0x0026, 0x0036, 0x0046, 0x00b6, 0x0096, 0x00f6, 0x6214, 0x2248, + 0x6210, 0x2258, 0x2079, 0x0260, 0x9096, 0x0000, 0x11a0, 0xb814, + 0x9084, 0x00ff, 0x900e, 0x080c, 0x2459, 0x2118, 0x831f, 0x939c, + 0xff00, 0x7838, 0x9084, 0x00ff, 0x931d, 0x7c3c, 0x2011, 0x8018, + 0x080c, 0x48fa, 0x00a8, 0x9096, 0x0001, 0x1148, 0x89ff, 0x0180, + 0xa89b, 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, 0x0048, 0x9096, + 0x0002, 0x1130, 0xa89b, 0x000d, 0x7838, 0xa8a6, 0x783c, 0xa8aa, + 0x00fe, 0x009e, 0x00be, 0x004e, 0x003e, 0x002e, 0x0005, 0x00c6, + 0x0026, 0x0016, 0x9186, 0x0035, 0x0110, 0x6a38, 0x0008, 0x6a2c, + 0x080c, 0xb85e, 0x01f0, 0x2260, 0x6120, 0x9186, 0x0003, 0x0118, + 0x9186, 0x0006, 0x1190, 0x6838, 0x9206, 0x0140, 0x683c, 0x9206, + 0x1160, 0x6108, 0x6838, 0x9106, 0x1140, 0x0020, 0x6008, 0x693c, + 0x9106, 0x1118, 0x6010, 0x6910, 0x9106, 0x001e, 0x002e, 0x00ce, + 0x0005, 0x9085, 0x0001, 0x0cc8, 0xa974, 0xd1cc, 0x0188, 0x918c, + 0x00ff, 0x918e, 0x0002, 0x1160, 0xa9a8, 0x918c, 0x0f00, 0x810f, + 0x918e, 0x0001, 0x1128, 0xa834, 0xa938, 0x9115, 0x190c, 0xaed1, + 0x0005, 0x0036, 0x2019, 0x0001, 0x0010, 0x0036, 0x901e, 0x0499, + 0x01e0, 0x080c, 0xb870, 0x01c8, 0x080c, 0xba5f, 0x6037, 0x4000, + 0x6014, 0x6017, 0x0000, 0x0096, 0x2048, 0xa87c, 0x080c, 0xba85, + 0x1118, 0x080c, 0xa59c, 0x0040, 0xa867, 0x0103, 0xa877, 0x0000, + 0x83ff, 0x1129, 0x080c, 0x69b5, 0x009e, 0x003e, 0x0005, 0xa880, + 0xd0b4, 0x0128, 0xa87b, 0x0006, 0xc0ec, 0xa882, 0x0048, 0xd0bc, + 0x0118, 0xa87b, 0x0002, 0x0020, 0xa87b, 0x0005, 0x080c, 0xbb79, + 0xa877, 0x0000, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0ec, 0x0005, + 0x0006, 0x2001, 0x1810, 0x2004, 0xd0f4, 0x000e, 0x0005, 0x0006, + 0x2001, 0x1810, 0x2004, 0xd0e4, 0x000e, 0x0005, 0x0036, 0x0046, + 0x6010, 0x00b6, 0x2058, 0xbba0, 0x00be, 0x2021, 0x0007, 0x080c, + 0x4a97, 0x004e, 0x003e, 0x0005, 0x0c51, 0x1d81, 0x0005, 0x2001, + 0x195e, 0x2004, 0x601a, 0x0005, 0x2001, 0x1960, 0x2004, 0x604a, + 0x0005, 0x080c, 0x9be6, 0x0804, 0x894f, 0x611c, 0xd1fc, 0xa97c, + 0x1108, 0xd1e4, 0x0005, 0x601c, 0xd0fc, 0xa87c, 0x1108, 0xd0e4, + 0x0005, 0x601c, 0xd0fc, 0xc0fc, 0x601e, 0xa87c, 0x1108, 0xd0e4, + 0x0005, 0x6044, 0xd0fc, 0x1138, 0xd0bc, 0x0198, 0xc0bc, 0x6046, + 0x6003, 0x0002, 0x0070, 0xd0ac, 0x1160, 0xd0dc, 0x1128, 0x908c, + 0x000f, 0x9186, 0x0005, 0x1118, 0x6003, 0x0003, 0x0010, 0x6003, + 0x0001, 0x0005, 0x00b6, 0x0066, 0x6000, 0x90b2, 0x0016, 0x1a0c, + 0x0d65, 0x001b, 0x006e, 0x00be, 0x0005, 0xbffd, 0xc6dc, 0xc82b, + 0xbffd, 0xbffd, 0xbffd, 0xbffd, 0xbffd, 0xc034, 0xc8af, 0xbffd, + 0xbffd, 0xbffd, 0xbffd, 0xbffd, 0xbffd, 0x080c, 0x0d65, 0x0066, + 0x6000, 0x90b2, 0x0016, 0x1a0c, 0x0d65, 0x0013, 0x006e, 0x0005, + 0xc018, 0xcdd0, 0xc018, 0xc018, 0xc018, 0xc018, 0xc018, 0xc018, + 0xcd7f, 0xce22, 0xc018, 0xd446, 0xd47a, 0xd446, 0xd47a, 0xc018, + 0x080c, 0x0d65, 0x6000, 0x9082, 0x0016, 0x1a0c, 0x0d65, 0x6000, + 0x000a, 0x0005, 0xc032, 0xca8c, 0xcb57, 0xcb7a, 0xcbf6, 0xc032, + 0xccf1, 0xcc7e, 0xc8b9, 0xcd57, 0xcd6c, 0xc032, 0xc032, 0xc032, + 0xc032, 0xc032, 0x080c, 0x0d65, 0x91b2, 0x0053, 0x1a0c, 0x0d65, + 0x2100, 0x91b2, 0x0040, 0x1a04, 0xc47f, 0x0002, 0xc07e, 0xc270, + 0xc07e, 0xc07e, 0xc07e, 0xc279, 0xc07e, 0xc07e, 0xc07e, 0xc07e, + 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, + 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc080, 0xc0e7, 0xc0f6, + 0xc15a, 0xc185, 0xc1fd, 0xc25b, 0xc07e, 0xc07e, 0xc27c, 0xc07e, + 0xc07e, 0xc291, 0xc29e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, + 0xc321, 0xc07e, 0xc07e, 0xc335, 0xc07e, 0xc07e, 0xc2f0, 0xc07e, + 0xc07e, 0xc07e, 0xc34d, 0xc07e, 0xc07e, 0xc07e, 0xc3ca, 0xc07e, + 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc07e, 0xc447, 0x080c, 0x0d65, + 0x080c, 0x6648, 0x1150, 0x2001, 0x1836, 0x2004, 0xd0cc, 0x1128, + 0x9084, 0x0009, 0x9086, 0x0008, 0x1140, 0x6007, 0x0009, 0x602f, + 0x0009, 0x6017, 0x0000, 0x0804, 0xc269, 0x080c, 0x6631, 0x00e6, + 0x00c6, 0x0036, 0x0026, 0x0016, 0x6210, 0x2258, 0xbaa0, 0x0026, + 0x2019, 0x0029, 0x080c, 0x98c7, 0x080c, 0x8658, 0x0076, 0x903e, + 0x080c, 0x853d, 0x2c08, 0x080c, 0xd011, 0x007e, 0x001e, 0x080c, + 0x98e3, 0x001e, 0x002e, 0x003e, 0x00ce, 0x00ee, 0x6610, 0x2658, + 0x080c, 0x629e, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x1268, + 0x0016, 0x0026, 0x6210, 0x00b6, 0x2258, 0xbaa0, 0x00be, 0x2c08, + 0x080c, 0xd5f2, 0x002e, 0x001e, 0x1178, 0x080c, 0xcf40, 0x1904, + 0xc152, 0x080c, 0xcedc, 0x1120, 0x6007, 0x0008, 0x0804, 0xc269, + 0x6007, 0x0009, 0x0804, 0xc269, 0x080c, 0xd147, 0x0128, 0x080c, + 0xcf40, 0x0d78, 0x0804, 0xc152, 0x6017, 0x1900, 0x0c88, 0x080c, + 0x3164, 0x1904, 0xc47c, 0x6106, 0x080c, 0xce8d, 0x6007, 0x0006, + 0x0804, 0xc269, 0x6007, 0x0007, 0x0804, 0xc269, 0x080c, 0xd4b6, + 0x1904, 0xc47c, 0x080c, 0x3164, 0x1904, 0xc47c, 0x00d6, 0x6610, + 0x2658, 0xbe04, 0x9684, 0x00ff, 0x9082, 0x0006, 0x1220, 0x2001, + 0x0001, 0x080c, 0x61cc, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, + 0x0188, 0x9686, 0x0004, 0x0170, 0xbe04, 0x96b4, 0x00ff, 0x9686, + 0x0006, 0x0140, 0x9686, 0x0004, 0x0128, 0x9686, 0x0005, 0x0110, + 0x00de, 0x0480, 0x00e6, 0x2071, 0x0260, 0x7034, 0x9084, 0x0003, + 0x1140, 0x7034, 0x9082, 0x0014, 0x0220, 0x7030, 0x9084, 0x0003, + 0x0130, 0x00ee, 0x6017, 0x0000, 0x602f, 0x0007, 0x00b0, 0x00ee, + 0x080c, 0xcfa7, 0x1190, 0x9686, 0x0006, 0x1140, 0x0026, 0x6210, + 0x2258, 0xbaa0, 0x900e, 0x080c, 0x307d, 0x002e, 0x080c, 0x632a, + 0x6007, 0x000a, 0x00de, 0x0804, 0xc269, 0x6007, 0x000b, 0x00de, + 0x0804, 0xc269, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x6007, 0x0001, + 0x0804, 0xc269, 0x080c, 0xd4b6, 0x1904, 0xc47c, 0x080c, 0x3164, + 0x1904, 0xc47c, 0x2071, 0x0260, 0x7034, 0x90b4, 0x0003, 0x1948, + 0x90b2, 0x0014, 0x0a30, 0x7030, 0x9084, 0x0003, 0x1910, 0x6610, + 0x2658, 0xbe04, 0x9686, 0x0707, 0x09e8, 0x0026, 0x6210, 0x2258, + 0xbaa0, 0x900e, 0x080c, 0x307d, 0x002e, 0x6007, 0x000c, 0x2001, + 0x0001, 0x080c, 0xd5d2, 0x0804, 0xc269, 0x080c, 0x6648, 0x1140, + 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, 0x9086, 0x0008, 0x1110, + 0x0804, 0xc08d, 0x080c, 0x6631, 0x6610, 0x2658, 0xbe04, 0x9684, + 0x00ff, 0x9082, 0x0006, 0x06c0, 0x1138, 0x0026, 0x2001, 0x0006, + 0x080c, 0x620c, 0x002e, 0x0050, 0x96b4, 0xff00, 0x8637, 0x9686, + 0x0004, 0x0120, 0x9686, 0x0006, 0x1904, 0xc152, 0x080c, 0xcfb4, + 0x1120, 0x6007, 0x000e, 0x0804, 0xc269, 0x0046, 0x6410, 0x2458, + 0xbca0, 0x0046, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x004e, 0x0016, + 0x9006, 0x2009, 0x185c, 0x210c, 0x0048, 0x2009, 0x0029, 0x080c, + 0xd2bc, 0x6010, 0x2058, 0xb800, 0xc0e5, 0xb802, 0x001e, 0x004e, + 0x6007, 0x0001, 0x0804, 0xc269, 0x2001, 0x0001, 0x080c, 0x61cc, + 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, 0x0004, 0x2019, 0x1805, + 0x2011, 0x0270, 0x080c, 0xabda, 0x003e, 0x002e, 0x001e, 0x015e, + 0x9005, 0x0168, 0x96b4, 0xff00, 0x8637, 0x9682, 0x0004, 0x0a04, + 0xc152, 0x9682, 0x0007, 0x0a04, 0xc1ae, 0x0804, 0xc152, 0x6017, + 0x1900, 0x6007, 0x0009, 0x0804, 0xc269, 0x080c, 0x6648, 0x1140, + 0x2001, 0x1836, 0x2004, 0x9084, 0x0009, 0x9086, 0x0008, 0x1110, + 0x0804, 0xc08d, 0x080c, 0x6631, 0x6610, 0x2658, 0xbe04, 0x9684, + 0x00ff, 0x0006, 0x9086, 0x0001, 0x000e, 0x0170, 0x9082, 0x0006, + 0x0690, 0x0150, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0004, 0x0120, + 0x9686, 0x0006, 0x1904, 0xc152, 0x080c, 0xcfe2, 0x1130, 0x080c, + 0xcedc, 0x1118, 0x6007, 0x0010, 0x04e0, 0x0046, 0x6410, 0x2458, + 0xbca0, 0x0046, 0x080c, 0x302e, 0x080c, 0xbfa4, 0x004e, 0x0016, + 0x9006, 0x2009, 0x185c, 0x210c, 0x0048, 0x2009, 0x0029, 0x080c, + 0xd2bc, 0x6010, 0x2058, 0xb800, 0xc0e5, 0xb802, 0x001e, 0x004e, + 0x6007, 0x0001, 0x00f0, 0x080c, 0xd147, 0x0140, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0006, 0x0980, 0x0804, 0xc152, 0x6017, 0x1900, + 0x6007, 0x0009, 0x0070, 0x080c, 0x3164, 0x1904, 0xc47c, 0x080c, + 0xd4b6, 0x1904, 0xc47c, 0x080c, 0xc61c, 0x1904, 0xc152, 0x6007, + 0x0012, 0x6003, 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, 0x0005, + 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, + 0x0cb0, 0x6007, 0x0005, 0x0c68, 0x080c, 0xd4b6, 0x1904, 0xc47c, + 0x080c, 0x3164, 0x1904, 0xc47c, 0x080c, 0xc61c, 0x1904, 0xc152, + 0x6007, 0x0020, 0x6003, 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, + 0x0005, 0x080c, 0x3164, 0x1904, 0xc47c, 0x6007, 0x0023, 0x6003, + 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, 0x0005, 0x080c, 0xd4b6, + 0x1904, 0xc47c, 0x080c, 0x3164, 0x1904, 0xc47c, 0x080c, 0xc61c, + 0x1904, 0xc152, 0x0016, 0x0026, 0x00e6, 0x2071, 0x0260, 0x7244, + 0x9286, 0xffff, 0x0180, 0x2c08, 0x080c, 0xb85e, 0x01b0, 0x2260, + 0x7240, 0x6008, 0x9206, 0x1188, 0x6010, 0x9190, 0x0004, 0x2214, + 0x9206, 0x01b8, 0x0050, 0x7240, 0x2c08, 0x9006, 0x080c, 0xd28e, + 0x1180, 0x7244, 0x9286, 0xffff, 0x01b0, 0x2160, 0x6007, 0x0026, + 0x6017, 0x1700, 0x7214, 0x9296, 0xffff, 0x1180, 0x6007, 0x0025, + 0x0068, 0x6020, 0x9086, 0x0007, 0x1d80, 0x6004, 0x9086, 0x0024, + 0x1110, 0x080c, 0x9be6, 0x2160, 0x6007, 0x0025, 0x6003, 0x0001, + 0x080c, 0x84ee, 0x080c, 0x894f, 0x00ee, 0x002e, 0x001e, 0x0005, + 0x2001, 0x0001, 0x080c, 0x61cc, 0x0156, 0x0016, 0x0026, 0x0036, + 0x20a9, 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, 0xabda, + 0x003e, 0x002e, 0x001e, 0x015e, 0x0120, 0x6007, 0x0031, 0x0804, + 0xc269, 0x080c, 0xa83f, 0x080c, 0x70ba, 0x1190, 0x0006, 0x0026, + 0x0036, 0x080c, 0x70d4, 0x1138, 0x080c, 0x73b9, 0x080c, 0x5cf7, + 0x080c, 0x6feb, 0x0010, 0x080c, 0x708e, 0x003e, 0x002e, 0x000e, + 0x0005, 0x080c, 0x3164, 0x1904, 0xc47c, 0x080c, 0xc61c, 0x1904, + 0xc152, 0x6106, 0x080c, 0xc638, 0x1120, 0x6007, 0x002b, 0x0804, + 0xc269, 0x6007, 0x002c, 0x0804, 0xc269, 0x080c, 0xd4b6, 0x1904, + 0xc47c, 0x080c, 0x3164, 0x1904, 0xc47c, 0x080c, 0xc61c, 0x1904, + 0xc152, 0x6106, 0x080c, 0xc63d, 0x1120, 0x6007, 0x002e, 0x0804, + 0xc269, 0x6007, 0x002f, 0x0804, 0xc269, 0x080c, 0x3164, 0x1904, + 0xc47c, 0x00e6, 0x00d6, 0x00c6, 0x6010, 0x2058, 0xb904, 0x9184, + 0x00ff, 0x9086, 0x0006, 0x0158, 0x9184, 0xff00, 0x8007, 0x9086, + 0x0006, 0x0128, 0x00ce, 0x00de, 0x00ee, 0x0804, 0xc270, 0x080c, + 0x53ac, 0xd0e4, 0x0904, 0xc3c7, 0x2071, 0x026c, 0x7010, 0x603a, + 0x7014, 0x603e, 0x7108, 0x720c, 0x080c, 0x6686, 0x0140, 0x6010, + 0x2058, 0xb810, 0x9106, 0x1118, 0xb814, 0x9206, 0x0510, 0x080c, + 0x6682, 0x15b8, 0x2069, 0x1800, 0x687c, 0x9206, 0x1590, 0x6878, + 0x9106, 0x1578, 0x7210, 0x080c, 0xb85e, 0x0590, 0x080c, 0xc507, + 0x0578, 0x080c, 0xd338, 0x0560, 0x622e, 0x6007, 0x0036, 0x6003, + 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, 0x00ce, 0x00de, 0x00ee, + 0x0005, 0x7214, 0x9286, 0xffff, 0x0150, 0x080c, 0xb85e, 0x01c0, + 0x9280, 0x0002, 0x2004, 0x7110, 0x9106, 0x1190, 0x08e0, 0x7210, + 0x2c08, 0x9085, 0x0001, 0x080c, 0xd28e, 0x2c10, 0x2160, 0x0140, + 0x0890, 0x6007, 0x0037, 0x602f, 0x0009, 0x6017, 0x1500, 0x08b8, + 0x6007, 0x0037, 0x602f, 0x0003, 0x6017, 0x1700, 0x0880, 0x6007, + 0x0012, 0x0868, 0x080c, 0x3164, 0x1904, 0xc47c, 0x6010, 0x2058, + 0xb804, 0x9084, 0xff00, 0x8007, 0x9086, 0x0006, 0x1904, 0xc270, + 0x00e6, 0x00d6, 0x00c6, 0x080c, 0x53ac, 0xd0e4, 0x0904, 0xc43f, + 0x2069, 0x1800, 0x2071, 0x026c, 0x7008, 0x603a, 0x720c, 0x623e, + 0x9286, 0xffff, 0x1150, 0x7208, 0x00c6, 0x2c08, 0x9085, 0x0001, + 0x080c, 0xd28e, 0x2c10, 0x00ce, 0x05e8, 0x080c, 0xb85e, 0x05d0, + 0x7108, 0x9280, 0x0002, 0x2004, 0x9106, 0x15a0, 0x00c6, 0x0026, + 0x2260, 0x080c, 0xb451, 0x002e, 0x00ce, 0x7118, 0x918c, 0xff00, + 0x810f, 0x9186, 0x0001, 0x0178, 0x9186, 0x0005, 0x0118, 0x9186, + 0x0007, 0x1198, 0x9280, 0x0005, 0x2004, 0x9005, 0x0170, 0x080c, + 0xc507, 0x0904, 0xc3c0, 0x0056, 0x7510, 0x7614, 0x080c, 0xd351, + 0x005e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x6007, 0x003b, 0x602f, + 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, + 0x84e7, 0x0c78, 0x6007, 0x003b, 0x602f, 0x0003, 0x6017, 0x0300, + 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, 0x0c10, 0x6007, + 0x003b, 0x602f, 0x000b, 0x6017, 0x0000, 0x0804, 0xc397, 0x00e6, + 0x0026, 0x080c, 0x6648, 0x0550, 0x080c, 0x6631, 0x080c, 0xd528, + 0x1518, 0x2071, 0x1800, 0x70d8, 0x9085, 0x0003, 0x70da, 0x00f6, + 0x2079, 0x0100, 0x72ac, 0x9284, 0x00ff, 0x707a, 0x78e6, 0x9284, + 0xff00, 0x727c, 0x9205, 0x707e, 0x78ea, 0x00fe, 0x70e3, 0x0000, + 0x080c, 0x6686, 0x0120, 0x2011, 0x19e1, 0x2013, 0x07d0, 0xd0ac, + 0x1128, 0x080c, 0x2e09, 0x0010, 0x080c, 0xd55a, 0x002e, 0x00ee, + 0x080c, 0x9be6, 0x0804, 0xc26f, 0x080c, 0x9be6, 0x0005, 0x2600, + 0x0002, 0xc493, 0xc493, 0xc493, 0xc493, 0xc493, 0xc495, 0xc493, + 0xc493, 0xc493, 0xc493, 0xc4b2, 0xc493, 0xc493, 0xc493, 0xc4c4, + 0xc4d1, 0xc502, 0xc493, 0x080c, 0x0d65, 0x080c, 0xd4b6, 0x1d20, + 0x080c, 0x3164, 0x1d08, 0x080c, 0xc61c, 0x1148, 0x7038, 0x6016, + 0x6007, 0x0045, 0x6003, 0x0001, 0x080c, 0x84ee, 0x0005, 0x080c, + 0x302e, 0x080c, 0xbfa4, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, + 0x84ee, 0x0005, 0x080c, 0xd4b6, 0x1938, 0x080c, 0x3164, 0x1920, + 0x080c, 0xc61c, 0x1d60, 0x703c, 0x6016, 0x6007, 0x004a, 0x6003, + 0x0001, 0x080c, 0x84ee, 0x0005, 0x080c, 0xc524, 0x0904, 0xc47c, + 0x6007, 0x004e, 0x6003, 0x0001, 0x080c, 0x84ee, 0x080c, 0x894f, + 0x0005, 0x6007, 0x004f, 0x6017, 0x0000, 0x7134, 0x918c, 0x00ff, + 0x81ff, 0x0508, 0x9186, 0x0001, 0x1160, 0x7140, 0x2001, 0x1995, + 0x2004, 0x9106, 0x11b0, 0x7144, 0x2001, 0x1996, 0x2004, 0x9106, + 0x0190, 0x9186, 0x0002, 0x1168, 0x2011, 0x0276, 0x20a9, 0x0004, + 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xabee, 0x009e, + 0x0110, 0x6017, 0x0001, 0x6003, 0x0001, 0x080c, 0x84ee, 0x080c, + 0x894f, 0x0005, 0x6007, 0x0050, 0x703c, 0x6016, 0x0ca0, 0x0016, + 0x00e6, 0x2071, 0x0260, 0x00b6, 0x00c6, 0x2260, 0x6010, 0x2058, + 0xb8c4, 0xd084, 0x0150, 0x7128, 0x6050, 0x9106, 0x1120, 0x712c, + 0x604c, 0x9106, 0x0110, 0x9006, 0x0010, 0x9085, 0x0001, 0x00ce, + 0x00be, 0x00ee, 0x001e, 0x0005, 0x0016, 0x0096, 0x0086, 0x00e6, + 0x01c6, 0x01d6, 0x0126, 0x2091, 0x8000, 0x2071, 0x1800, 0x708c, + 0x908a, 0x00f9, 0x16e8, 0x20e1, 0x0000, 0x2001, 0x1978, 0x2003, + 0x0000, 0x080c, 0x1048, 0x05a0, 0x2900, 0x6016, 0x708c, 0x8004, + 0xa816, 0x908a, 0x001e, 0x02d0, 0xa833, 0x001e, 0x20a9, 0x001e, + 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, 0x2001, 0x1978, + 0x0016, 0x200c, 0x0471, 0x001e, 0x2940, 0x080c, 0x1048, 0x01c0, + 0x2900, 0xa006, 0x2100, 0x81ff, 0x0180, 0x0c18, 0xa832, 0x20a8, + 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, 0x20a0, 0x2001, 0x1978, + 0x0016, 0x200c, 0x00b1, 0x001e, 0x0000, 0x9085, 0x0001, 0x0048, + 0x2071, 0x1800, 0x708f, 0x0000, 0x6014, 0x2048, 0x080c, 0x0fe1, + 0x9006, 0x012e, 0x01de, 0x01ce, 0x00ee, 0x008e, 0x009e, 0x001e, + 0x0005, 0x0006, 0x0016, 0x0026, 0x0036, 0x00c6, 0x918c, 0xffff, + 0x11a8, 0x080c, 0x2054, 0x2099, 0x026c, 0x2001, 0x0014, 0x3518, + 0x9312, 0x1218, 0x23a8, 0x4003, 0x00f8, 0x20a8, 0x4003, 0x22a8, + 0x8108, 0x080c, 0x2054, 0x2099, 0x0260, 0x0ca8, 0x080c, 0x2054, + 0x2061, 0x1978, 0x6004, 0x2098, 0x6008, 0x3518, 0x9312, 0x1218, + 0x23a8, 0x4003, 0x0048, 0x20a8, 0x4003, 0x22a8, 0x8108, 0x080c, + 0x2054, 0x2099, 0x0260, 0x0ca8, 0x2061, 0x1978, 0x2019, 0x0280, + 0x3300, 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0260, 0x6006, + 0x8108, 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, + 0x003e, 0x002e, 0x001e, 0x000e, 0x0005, 0x0006, 0x0016, 0x0026, + 0x0036, 0x00c6, 0x81ff, 0x11b8, 0x080c, 0x206c, 0x20a1, 0x024c, + 0x2001, 0x0014, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0418, + 0x20a8, 0x4003, 0x82ff, 0x01f8, 0x22a8, 0x8108, 0x080c, 0x206c, + 0x20a1, 0x0240, 0x0c98, 0x080c, 0x206c, 0x2061, 0x197b, 0x6004, + 0x20a0, 0x6008, 0x3518, 0x9312, 0x1218, 0x23a8, 0x4003, 0x0058, + 0x20a8, 0x4003, 0x82ff, 0x0138, 0x22a8, 0x8108, 0x080c, 0x206c, + 0x20a1, 0x0240, 0x0c98, 0x2061, 0x197b, 0x2019, 0x0260, 0x3400, + 0x931e, 0x0110, 0x6006, 0x0020, 0x2001, 0x0240, 0x6006, 0x8108, + 0x2162, 0x9292, 0x0021, 0x9296, 0xffff, 0x620a, 0x00ce, 0x003e, + 0x002e, 0x001e, 0x000e, 0x0005, 0x00b6, 0x0066, 0x6610, 0x2658, + 0xbe04, 0x96b4, 0xff00, 0x8637, 0x9686, 0x0006, 0x0170, 0x9686, + 0x0004, 0x0158, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x0128, + 0x9686, 0x0004, 0x0110, 0x9085, 0x0001, 0x006e, 0x00be, 0x0005, + 0x00d6, 0x080c, 0xc6b2, 0x00de, 0x0005, 0x00d6, 0x080c, 0xc6bf, + 0x1520, 0x680c, 0x908c, 0xff00, 0x6820, 0x9084, 0x00ff, 0x9115, + 0x6216, 0x6824, 0x602e, 0xd1e4, 0x0130, 0x9006, 0x080c, 0xd5d2, + 0x2009, 0x0001, 0x0078, 0xd1ec, 0x0180, 0x6920, 0x918c, 0x00ff, + 0x6824, 0x080c, 0x2459, 0x1148, 0x2001, 0x0001, 0x080c, 0xd5d2, + 0x2110, 0x900e, 0x080c, 0x307d, 0x0018, 0x9085, 0x0001, 0x0008, + 0x9006, 0x00de, 0x0005, 0x00b6, 0x00c6, 0x080c, 0x9c55, 0x0598, + 0x0016, 0x0026, 0x00c6, 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, + 0x080c, 0x2459, 0x1568, 0x080c, 0x622f, 0x1550, 0xbe12, 0xbd16, + 0x00ce, 0x002e, 0x001e, 0x2b00, 0x6012, 0x080c, 0xd4b6, 0x11c8, + 0x080c, 0x3164, 0x11b0, 0x080c, 0xc61c, 0x0500, 0x2001, 0x0007, + 0x080c, 0x61e0, 0x2001, 0x0007, 0x080c, 0x620c, 0x6017, 0x0000, + 0x6023, 0x0001, 0x6007, 0x0001, 0x6003, 0x0001, 0x080c, 0x84ee, + 0x0010, 0x080c, 0x9be6, 0x9085, 0x0001, 0x00ce, 0x00be, 0x0005, + 0x080c, 0x9be6, 0x00ce, 0x002e, 0x001e, 0x0ca8, 0x080c, 0x9be6, + 0x9006, 0x0c98, 0x2069, 0x026d, 0x6800, 0x9082, 0x0010, 0x1228, + 0x6017, 0x0000, 0x9085, 0x0001, 0x0008, 0x9006, 0x0005, 0x6017, + 0x0000, 0x2069, 0x026c, 0x6808, 0x9084, 0xff00, 0x9086, 0x0800, + 0x1190, 0x6904, 0x9186, 0x0018, 0x0118, 0x9186, 0x0014, 0x1158, + 0x810f, 0x6800, 0x9084, 0x00ff, 0x910d, 0x6162, 0x908e, 0x0014, + 0x0110, 0x908e, 0x0010, 0x0005, 0x6004, 0x90b2, 0x0053, 0x1a0c, + 0x0d65, 0x91b6, 0x0013, 0x1130, 0x2008, 0x91b2, 0x0040, 0x1a04, + 0xc7ff, 0x0092, 0x91b6, 0x0027, 0x0120, 0x91b6, 0x0014, 0x190c, + 0x0d65, 0x2001, 0x0007, 0x080c, 0x620c, 0x080c, 0x8891, 0x080c, + 0x9c20, 0x080c, 0x894f, 0x0005, 0xc73c, 0xc73e, 0xc73c, 0xc73c, + 0xc73c, 0xc73e, 0xc74b, 0xc7fc, 0xc79b, 0xc7fc, 0xc7ad, 0xc7fc, + 0xc74b, 0xc7fc, 0xc7f4, 0xc7fc, 0xc7f4, 0xc7fc, 0xc7fc, 0xc73c, + 0xc73c, 0xc73c, 0xc73c, 0xc73c, 0xc73c, 0xc73c, 0xc73c, 0xc73c, + 0xc73c, 0xc73c, 0xc73e, 0xc73c, 0xc7fc, 0xc73c, 0xc73c, 0xc7fc, + 0xc73c, 0xc7f9, 0xc7fc, 0xc73c, 0xc73c, 0xc73c, 0xc73c, 0xc7fc, + 0xc7fc, 0xc73c, 0xc7fc, 0xc7fc, 0xc73c, 0xc746, 0xc73c, 0xc73c, + 0xc73c, 0xc73c, 0xc7f8, 0xc7fc, 0xc73c, 0xc73c, 0xc7fc, 0xc7fc, + 0xc73c, 0xc73c, 0xc73c, 0xc73c, 0x080c, 0x0d65, 0x080c, 0xbfa7, + 0x6003, 0x0002, 0x080c, 0x894f, 0x0804, 0xc7fe, 0x9006, 0x080c, + 0x61cc, 0x0804, 0xc7fc, 0x080c, 0x6682, 0x1904, 0xc7fc, 0x9006, + 0x080c, 0x61cc, 0x6010, 0x2058, 0xb810, 0x9086, 0x00ff, 0x1140, + 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x0428, + 0x6010, 0x2058, 0xb884, 0x9005, 0x1178, 0x080c, 0xbf8f, 0x1904, + 0xc7fc, 0x0036, 0x0046, 0xbba0, 0x2021, 0x0007, 0x080c, 0x4a97, + 0x004e, 0x003e, 0x0804, 0xc7fc, 0x080c, 0x3195, 0x1904, 0xc7fc, + 0x2001, 0x1800, 0x2004, 0x9086, 0x0002, 0x1138, 0x00f6, 0x2079, + 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x2001, 0x0002, 0x080c, + 0x61e0, 0x6023, 0x0001, 0x6003, 0x0001, 0x6007, 0x0002, 0x080c, + 0x84ee, 0x080c, 0x894f, 0x6110, 0x2158, 0x2009, 0x0001, 0x080c, + 0x817a, 0x0804, 0xc7fe, 0x6610, 0x2658, 0xbe04, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0006, 0x0904, 0xc7fc, 0x9686, 0x0004, 0x0904, + 0xc7fc, 0x2001, 0x0004, 0x0804, 0xc7fa, 0x2001, 0x1800, 0x2004, + 0x9086, 0x0003, 0x1158, 0x0036, 0x0046, 0x6010, 0x2058, 0xbba0, + 0x2021, 0x0006, 0x080c, 0x4a97, 0x004e, 0x003e, 0x2001, 0x0006, + 0x080c, 0xc818, 0x6610, 0x2658, 0xbe04, 0x0066, 0x96b4, 0xff00, + 0x8637, 0x9686, 0x0006, 0x006e, 0x0168, 0x2001, 0x0006, 0x080c, + 0x620c, 0x9284, 0x00ff, 0x908e, 0x0007, 0x1120, 0x2001, 0x0006, + 0x080c, 0x61e0, 0x080c, 0x6682, 0x11f8, 0x2001, 0x1836, 0x2004, + 0xd0a4, 0x01d0, 0xbe04, 0x96b4, 0x00ff, 0x9686, 0x0006, 0x01a0, + 0x00f6, 0x2079, 0x1800, 0x78a4, 0x8000, 0x78a6, 0x00fe, 0x0804, + 0xc785, 0x2001, 0x0004, 0x0030, 0x2001, 0x0006, 0x0409, 0x0020, + 0x0018, 0x0010, 0x080c, 0x620c, 0x080c, 0x9be6, 0x0005, 0x2600, + 0x0002, 0xc813, 0xc813, 0xc813, 0xc813, 0xc813, 0xc815, 0xc813, + 0xc813, 0xc813, 0xc813, 0xc815, 0xc813, 0xc813, 0xc813, 0xc815, + 0xc815, 0xc815, 0xc815, 0x080c, 0x0d65, 0x080c, 0x9be6, 0x0005, + 0x0016, 0x00b6, 0x00d6, 0x6110, 0x2158, 0xb900, 0xd184, 0x0138, + 0x080c, 0x61e0, 0x9006, 0x080c, 0x61cc, 0x080c, 0x305d, 0x00de, + 0x00be, 0x001e, 0x0005, 0x6610, 0x2658, 0xb804, 0x9084, 0xff00, + 0x8007, 0x90b2, 0x000c, 0x1a0c, 0x0d65, 0x91b6, 0x0015, 0x1110, + 0x003b, 0x0028, 0x91b6, 0x0016, 0x190c, 0x0d65, 0x006b, 0x0005, + 0xa67d, 0xa67d, 0xa67d, 0xa67d, 0xc8ad, 0xa67d, 0xc897, 0xc858, + 0xa67d, 0xa67d, 0xa67d, 0xa67d, 0xa67d, 0xa67d, 0xa67d, 0xa67d, + 0xc8ad, 0xa67d, 0xc897, 0xc89e, 0xa67d, 0xa67d, 0xa67d, 0xa67d, + 0x00f6, 0x080c, 0x6682, 0x11d8, 0x080c, 0xbf8f, 0x11c0, 0x6010, + 0x905d, 0x01a8, 0xb884, 0x9005, 0x0190, 0x9006, 0x080c, 0x61cc, + 0x2001, 0x0002, 0x080c, 0x61e0, 0x6023, 0x0001, 0x6003, 0x0001, + 0x6007, 0x0002, 0x080c, 0x84ee, 0x080c, 0x894f, 0x00f0, 0x2011, + 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2459, 0x11b0, 0x080c, + 0x628f, 0x0118, 0x080c, 0x9be6, 0x0080, 0xb810, 0x0006, 0xb814, + 0x0006, 0xb884, 0x0006, 0x080c, 0x5d11, 0x000e, 0xb886, 0x000e, + 0xb816, 0x000e, 0xb812, 0x080c, 0x9be6, 0x00fe, 0x0005, 0x6604, + 0x96b6, 0x001e, 0x1110, 0x080c, 0x9be6, 0x0005, 0x080c, 0xaa63, + 0x1148, 0x6003, 0x0001, 0x6007, 0x0001, 0x080c, 0x84ee, 0x080c, + 0x894f, 0x0010, 0x080c, 0x9be6, 0x0005, 0x0804, 0x9be6, 0x6004, + 0x908a, 0x0053, 0x1a0c, 0x0d65, 0x080c, 0x8891, 0x080c, 0x9c20, + 0x0005, 0x9182, 0x0040, 0x0002, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, + 0xc8d2, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, + 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, 0xc8d0, + 0x080c, 0x0d65, 0x0096, 0x00b6, 0x00d6, 0x00e6, 0x00f6, 0x0046, + 0x0026, 0x6210, 0x2258, 0xb8ac, 0x9005, 0x11b0, 0x6007, 0x0044, + 0x2071, 0x0260, 0x7444, 0x94a4, 0xff00, 0x0904, 0xc939, 0x080c, + 0xd5c6, 0x1170, 0x9486, 0x2000, 0x1158, 0x2009, 0x0001, 0x2011, + 0x0200, 0x080c, 0x8401, 0x0020, 0x9026, 0x080c, 0xd4fb, 0x0c30, + 0x080c, 0x102f, 0x090c, 0x0d65, 0x6003, 0x0007, 0xa867, 0x010d, + 0x9006, 0xa802, 0xa86a, 0xac8a, 0x2c00, 0xa88e, 0x6008, 0xa8e2, + 0x6010, 0x2058, 0xb8a0, 0x7130, 0xa97a, 0x0016, 0xa876, 0xa87f, + 0x0000, 0xa883, 0x0000, 0xa887, 0x0036, 0x080c, 0x69b5, 0x001e, + 0x080c, 0xd5c6, 0x1904, 0xc999, 0x9486, 0x2000, 0x1130, 0x2019, + 0x0017, 0x080c, 0xd234, 0x0804, 0xc999, 0x9486, 0x0200, 0x1120, + 0x080c, 0xd1c4, 0x0804, 0xc999, 0x9486, 0x0400, 0x0120, 0x9486, + 0x1000, 0x1904, 0xc999, 0x2019, 0x0002, 0x080c, 0xd1e3, 0x0804, + 0xc999, 0x2069, 0x1a46, 0x6a00, 0xd284, 0x0904, 0xca03, 0x9284, + 0x0300, 0x1904, 0xc9fc, 0x6804, 0x9005, 0x0904, 0xc9e4, 0x2d78, + 0x6003, 0x0007, 0x080c, 0x1048, 0x0904, 0xc9a5, 0x7800, 0xd08c, + 0x1118, 0x7804, 0x8001, 0x7806, 0x6017, 0x0000, 0x2001, 0x180f, + 0x2004, 0xd084, 0x1904, 0xca07, 0x9006, 0xa802, 0xa867, 0x0116, + 0xa86a, 0x6008, 0xa8e2, 0x2c00, 0xa87a, 0x6010, 0x2058, 0xb8a0, + 0x7130, 0xa9b6, 0xa876, 0xb928, 0xa9ba, 0xb92c, 0xa9be, 0xb930, + 0xa9c2, 0xb934, 0xa9c6, 0xa883, 0x003d, 0x7044, 0x9084, 0x0003, + 0x9080, 0xc9a1, 0x2005, 0xa87e, 0x20a9, 0x000a, 0x2001, 0x0270, + 0xaa5c, 0x9290, 0x0021, 0x2009, 0x0205, 0x200b, 0x0080, 0x20e1, + 0x0000, 0xab60, 0x23e8, 0x2098, 0x22a0, 0x4003, 0x200b, 0x0000, + 0x2001, 0x027a, 0x200c, 0xa9b2, 0x8000, 0x200c, 0xa9ae, 0x080c, + 0x69b8, 0x002e, 0x004e, 0x00fe, 0x00ee, 0x00de, 0x00be, 0x009e, + 0x0005, 0x0000, 0x0080, 0x0040, 0x0000, 0x2001, 0x1810, 0x2004, + 0xd084, 0x0120, 0x080c, 0x102f, 0x1904, 0xc94e, 0x6017, 0xf100, + 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x84e7, + 0x0c00, 0x2069, 0x0260, 0x6848, 0x9084, 0xff00, 0x9086, 0x1200, + 0x1198, 0x686c, 0x9084, 0x00ff, 0x0016, 0x6114, 0x918c, 0xf700, + 0x910d, 0x6116, 0x001e, 0x6003, 0x0001, 0x6007, 0x0043, 0x2009, + 0xa025, 0x080c, 0x84e7, 0x0828, 0x6868, 0x602e, 0x686c, 0x6032, + 0x6017, 0xf200, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, + 0x080c, 0x84e7, 0x0804, 0xc999, 0x2001, 0x180e, 0x2004, 0xd0ec, + 0x0120, 0x2011, 0x8049, 0x080c, 0x48fa, 0x6017, 0xf300, 0x0010, + 0x6017, 0xf100, 0x6003, 0x0001, 0x6007, 0x0041, 0x2009, 0xa022, + 0x080c, 0x84e7, 0x0804, 0xc999, 0x6017, 0xf500, 0x0c98, 0x6017, + 0xf600, 0x0804, 0xc9b9, 0x6017, 0xf200, 0x0804, 0xc9b9, 0xa867, + 0x0146, 0xa86b, 0x0000, 0x6008, 0xa886, 0x2c00, 0xa87a, 0x7044, + 0x9084, 0x0003, 0x9080, 0xc9a1, 0x2005, 0xa87e, 0x2928, 0x6010, + 0x2058, 0xb8a0, 0xa876, 0xb828, 0xa88a, 0xb82c, 0xa88e, 0xb830, + 0xa892, 0xb834, 0xa896, 0xa883, 0x003d, 0x2009, 0x0205, 0x2104, + 0x9085, 0x0080, 0x200a, 0x20e1, 0x0000, 0x2011, 0x0210, 0x2214, + 0x9294, 0x0fff, 0xaaa2, 0x9282, 0x0111, 0x1a0c, 0x0d65, 0x8210, + 0x821c, 0x2001, 0x026c, 0x2098, 0xa860, 0x20e8, 0xa85c, 0x9080, + 0x0029, 0x20a0, 0x2011, 0xca83, 0x2041, 0x0001, 0x223d, 0x9784, + 0x00ff, 0x9322, 0x1208, 0x2300, 0x20a8, 0x4003, 0x931a, 0x0530, + 0x8210, 0xd7fc, 0x1130, 0x8d68, 0x2d0a, 0x2001, 0x0260, 0x2098, + 0x0c68, 0x2950, 0x080c, 0x1048, 0x0170, 0x2900, 0xb002, 0xa867, + 0x0147, 0xa86b, 0x0000, 0xa860, 0x20e8, 0xa85c, 0x9080, 0x001b, + 0x20a0, 0x8840, 0x08d8, 0x2548, 0xa800, 0x902d, 0x0118, 0x080c, + 0x1061, 0x0cc8, 0x080c, 0x1061, 0x0804, 0xc9a5, 0x2548, 0x8847, + 0x9885, 0x0046, 0xa866, 0x2009, 0x0205, 0x200b, 0x0000, 0x080c, + 0xd267, 0x0804, 0xc999, 0x8010, 0x0004, 0x801a, 0x0006, 0x8018, + 0x0008, 0x8016, 0x000a, 0x8014, 0x9186, 0x0013, 0x1160, 0x6004, + 0x908a, 0x0057, 0x1a0c, 0x0d65, 0x9082, 0x0040, 0x0a0c, 0x0d65, + 0x2008, 0x0804, 0xcb0f, 0x9186, 0x0051, 0x0108, 0x0040, 0x080c, + 0x9ab6, 0x01e8, 0x9086, 0x0002, 0x0904, 0xcb57, 0x00c0, 0x9186, + 0x0027, 0x0180, 0x9186, 0x0048, 0x0128, 0x9186, 0x0014, 0x0150, + 0x190c, 0x0d65, 0x080c, 0x9ab6, 0x0150, 0x9086, 0x0004, 0x0904, + 0xcbf6, 0x0028, 0x6004, 0x9082, 0x0040, 0x2008, 0x001a, 0x080c, + 0x9c9f, 0x0005, 0xcad6, 0xcad8, 0xcad8, 0xcaff, 0xcad6, 0xcad6, + 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0xcad6, + 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0xcad6, 0x080c, 0x0d65, + 0x080c, 0x8891, 0x080c, 0x894f, 0x0036, 0x0096, 0x6014, 0x904d, + 0x01d8, 0x080c, 0xb870, 0x01c0, 0x6003, 0x0002, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x1178, 0x2019, 0x0004, 0x080c, - 0xd22f, 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x1957, + 0xd267, 0x6017, 0x0000, 0x6018, 0x9005, 0x1120, 0x2001, 0x195f, 0x2004, 0x601a, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x0096, - 0x080c, 0x885d, 0x080c, 0x891b, 0x080c, 0xb842, 0x0120, 0x6014, - 0x2048, 0x080c, 0x1054, 0x080c, 0x9c14, 0x009e, 0x0005, 0x0002, - 0xcaf3, 0xcb08, 0xcaf5, 0xcb1d, 0xcaf3, 0xcaf3, 0xcaf3, 0xcaf3, - 0xcaf3, 0xcaf3, 0xcaf3, 0xcaf3, 0xcaf3, 0xcaf3, 0xcaf3, 0xcaf3, - 0xcaf3, 0xcaf3, 0xcaf3, 0x080c, 0x0d65, 0x0096, 0x6014, 0x2048, - 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, 0x080c, - 0x9c76, 0x0010, 0x6003, 0x0004, 0x080c, 0x891b, 0x009e, 0x0005, - 0x080c, 0xb842, 0x0138, 0x6114, 0x0096, 0x2148, 0xa97c, 0x009e, - 0xd1ec, 0x1138, 0x080c, 0x83a2, 0x080c, 0x9bda, 0x080c, 0x891b, - 0x0005, 0x080c, 0xd487, 0x0db0, 0x0cc8, 0x6003, 0x0001, 0x6007, - 0x0041, 0x2009, 0xa022, 0x080c, 0x84b3, 0x0005, 0x9182, 0x0040, - 0x0002, 0xcb3c, 0xcb3e, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, - 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, 0xcb3c, - 0xcb3c, 0xcb3c, 0xcb3f, 0xcb3c, 0x080c, 0x0d65, 0x0005, 0x00d6, - 0x080c, 0x83a2, 0x00de, 0x080c, 0xd4df, 0x080c, 0x9bda, 0x0005, - 0x9182, 0x0040, 0x0002, 0xcb5e, 0xcb5e, 0xcb5e, 0xcb5e, 0xcb5e, - 0xcb5e, 0xcb5e, 0xcb5e, 0xcb5e, 0xcb60, 0xcb8b, 0xcb5e, 0xcb5e, - 0xcb5e, 0xcb5e, 0xcb8b, 0xcb5e, 0xcb5e, 0xcb5e, 0x080c, 0x0d65, - 0x6014, 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x0168, 0x908c, 0x0003, - 0x918e, 0x0002, 0x0180, 0x6144, 0xd1e4, 0x1168, 0x2009, 0x0041, - 0x009e, 0x0804, 0xcc4b, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, - 0x83a2, 0x009e, 0x0005, 0x6014, 0x2048, 0xa97c, 0xd1ec, 0x1130, - 0x080c, 0x83a2, 0x080c, 0x9bda, 0x009e, 0x0005, 0x080c, 0xd487, - 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, 0x200c, 0xc1d4, 0x2102, - 0x0036, 0x080c, 0x88b8, 0x080c, 0x891b, 0x6014, 0x0096, 0x2048, - 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0bc, 0x0188, 0xa87c, - 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, 0xa8ac, 0x6330, 0x931a, - 0x6332, 0xa8b0, 0x632c, 0x931b, 0x632e, 0x6003, 0x0002, 0x0080, - 0x2019, 0x0004, 0x080c, 0xd22f, 0x6018, 0x9005, 0x1128, 0x2001, - 0x1957, 0x2004, 0x8003, 0x601a, 0x6017, 0x0000, 0x6003, 0x0007, - 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, 0x0002, 0xcbda, 0xcbda, - 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbdc, 0xcbda, - 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbda, 0xcbda, - 0xcbda, 0xcc27, 0x080c, 0x0d65, 0x6014, 0x0096, 0x2048, 0xa834, - 0xaa38, 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1190, - 0x920d, 0x1518, 0xa87c, 0xd0fc, 0x0128, 0x2009, 0x0041, 0x009e, - 0x0804, 0xcc4b, 0x6003, 0x0007, 0x601b, 0x0000, 0x080c, 0x83a2, - 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, 0x0006, 0x0046, 0xacac, - 0x9422, 0xa9b0, 0x2200, 0x910b, 0x6030, 0x9420, 0x6432, 0x602c, - 0x9109, 0x612e, 0x004e, 0x000e, 0x08d8, 0x6110, 0x00b6, 0x2158, - 0xb900, 0x00be, 0xd1bc, 0x1178, 0x2009, 0x180e, 0x210c, 0xd19c, - 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, 0x0006, 0x00e9, 0x080c, - 0x83a4, 0x009e, 0x0005, 0x6003, 0x0002, 0x009e, 0x0005, 0x6024, - 0xd0f4, 0x0128, 0x080c, 0x15a2, 0x1904, 0xcbdc, 0x0005, 0x6014, - 0x0096, 0x2048, 0xa834, 0xa938, 0x009e, 0x9105, 0x1120, 0x080c, - 0x15a2, 0x1904, 0xcbdc, 0x0005, 0xd2fc, 0x0140, 0x8002, 0x8000, - 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, 0x0010, 0x2009, 0x0015, - 0xaa9a, 0xa896, 0x0005, 0x9182, 0x0040, 0x0208, 0x0062, 0x9186, - 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, 0x0d65, 0x6024, 0xd0dc, - 0x090c, 0x0d65, 0x0005, 0xcc6e, 0xcc7a, 0xcc86, 0xcc92, 0xcc6e, - 0xcc6e, 0xcc6e, 0xcc6e, 0xcc75, 0xcc70, 0xcc70, 0xcc6e, 0xcc6e, - 0xcc6e, 0xcc6e, 0xcc70, 0xcc6e, 0xcc70, 0xcc6e, 0x080c, 0x0d65, - 0x6024, 0xd0dc, 0x090c, 0x0d65, 0x0005, 0x6014, 0x9005, 0x190c, - 0x0d65, 0x0005, 0x6003, 0x0001, 0x6106, 0x0126, 0x2091, 0x8000, - 0x2009, 0xa022, 0x080c, 0x8495, 0x012e, 0x0005, 0x6003, 0x0004, - 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, 0xa001, 0x080c, 0x84b3, - 0x012e, 0x0005, 0x6003, 0x0003, 0x6106, 0x080c, 0x1ab2, 0x0126, - 0x2091, 0x8000, 0x6014, 0x0096, 0x2048, 0xa87c, 0xd0fc, 0x0188, - 0x9084, 0x0003, 0x9086, 0x0002, 0x01a0, 0x6024, 0xd0cc, 0x1148, - 0xd0c4, 0x1138, 0xa8a8, 0x9005, 0x1120, 0x6144, 0x918d, 0xb035, - 0x0018, 0x6144, 0x918d, 0xa035, 0x009e, 0x080c, 0x84fa, 0x012e, - 0x0005, 0x6144, 0x918d, 0xa032, 0x0cb8, 0x0126, 0x2091, 0x8000, - 0x0036, 0x0096, 0x9182, 0x0040, 0x0023, 0x009e, 0x003e, 0x012e, - 0x0005, 0xccd9, 0xccdb, 0xccf0, 0xcd0a, 0xccd9, 0xccd9, 0xccd9, - 0xccd9, 0xccd9, 0xccd9, 0xccd9, 0xccd9, 0xccd9, 0xccd9, 0xccd9, - 0xccd9, 0x080c, 0x0d65, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0510, + 0x080c, 0x8891, 0x080c, 0x894f, 0x080c, 0xb870, 0x0120, 0x6014, + 0x2048, 0x080c, 0x1061, 0x080c, 0x9c20, 0x009e, 0x0005, 0x0002, + 0xcb24, 0xcb39, 0xcb26, 0xcb4e, 0xcb24, 0xcb24, 0xcb24, 0xcb24, + 0xcb24, 0xcb24, 0xcb24, 0xcb24, 0xcb24, 0xcb24, 0xcb24, 0xcb24, + 0xcb24, 0xcb24, 0xcb24, 0xcb24, 0x080c, 0x0d65, 0x0096, 0x6014, + 0x2048, 0xa87c, 0xd0b4, 0x0138, 0x6003, 0x0007, 0x2009, 0x0043, + 0x080c, 0x9c82, 0x0010, 0x6003, 0x0004, 0x080c, 0x894f, 0x009e, + 0x0005, 0x080c, 0xb870, 0x0138, 0x6114, 0x0096, 0x2148, 0xa97c, + 0x009e, 0xd1ec, 0x1138, 0x080c, 0x83d6, 0x080c, 0x9be6, 0x080c, + 0x894f, 0x0005, 0x080c, 0xd4bf, 0x0db0, 0x0cc8, 0x6003, 0x0001, + 0x6007, 0x0041, 0x2009, 0xa022, 0x080c, 0x84e7, 0x0005, 0x9182, + 0x0040, 0x0002, 0xcb6e, 0xcb70, 0xcb6e, 0xcb6e, 0xcb6e, 0xcb6e, + 0xcb6e, 0xcb6e, 0xcb6e, 0xcb6e, 0xcb6e, 0xcb6e, 0xcb6e, 0xcb6e, + 0xcb6e, 0xcb6e, 0xcb6e, 0xcb71, 0xcb6e, 0xcb6e, 0x080c, 0x0d65, + 0x0005, 0x00d6, 0x080c, 0x83d6, 0x00de, 0x080c, 0xd517, 0x080c, + 0x9be6, 0x0005, 0x9182, 0x0040, 0x0002, 0xcb91, 0xcb91, 0xcb91, + 0xcb91, 0xcb91, 0xcb91, 0xcb91, 0xcb91, 0xcb91, 0xcb93, 0xcbbe, + 0xcb91, 0xcb91, 0xcb91, 0xcb91, 0xcbbe, 0xcb91, 0xcb91, 0xcb91, + 0xcb91, 0x080c, 0x0d65, 0x6014, 0x0096, 0x2048, 0xa87c, 0xd0fc, + 0x0168, 0x908c, 0x0003, 0x918e, 0x0002, 0x0180, 0x6144, 0xd1e4, + 0x1168, 0x2009, 0x0041, 0x009e, 0x0804, 0xcc7e, 0x6003, 0x0007, + 0x601b, 0x0000, 0x080c, 0x83d6, 0x009e, 0x0005, 0x6014, 0x2048, + 0xa97c, 0xd1ec, 0x1130, 0x080c, 0x83d6, 0x080c, 0x9be6, 0x009e, + 0x0005, 0x080c, 0xd4bf, 0x0db8, 0x009e, 0x0005, 0x2001, 0x180c, + 0x200c, 0xc1d4, 0x2102, 0x0036, 0x080c, 0x88ec, 0x080c, 0x894f, + 0x6014, 0x0096, 0x2048, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, + 0xd0bc, 0x0188, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x0140, + 0xa8ac, 0x6330, 0x931a, 0x6332, 0xa8b0, 0x632c, 0x931b, 0x632e, + 0x6003, 0x0002, 0x0080, 0x2019, 0x0004, 0x080c, 0xd267, 0x6018, + 0x9005, 0x1128, 0x2001, 0x195f, 0x2004, 0x8003, 0x601a, 0x6017, + 0x0000, 0x6003, 0x0007, 0x009e, 0x003e, 0x0005, 0x9182, 0x0040, + 0x0002, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, + 0xcc0d, 0xcc0f, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, + 0xcc0d, 0xcc0d, 0xcc0d, 0xcc0d, 0xcc5a, 0x080c, 0x0d65, 0x6014, + 0x0096, 0x2048, 0xa834, 0xaa38, 0x6110, 0x00b6, 0x2158, 0xb900, + 0x00be, 0xd1bc, 0x1190, 0x920d, 0x1518, 0xa87c, 0xd0fc, 0x0128, + 0x2009, 0x0041, 0x009e, 0x0804, 0xcc7e, 0x6003, 0x0007, 0x601b, + 0x0000, 0x080c, 0x83d6, 0x009e, 0x0005, 0x6124, 0xd1f4, 0x1d58, + 0x0006, 0x0046, 0xacac, 0x9422, 0xa9b0, 0x2200, 0x910b, 0x6030, + 0x9420, 0x6432, 0x602c, 0x9109, 0x612e, 0x004e, 0x000e, 0x08d8, + 0x6110, 0x00b6, 0x2158, 0xb900, 0x00be, 0xd1bc, 0x1178, 0x2009, + 0x180e, 0x210c, 0xd19c, 0x0118, 0x6003, 0x0007, 0x0010, 0x6003, + 0x0006, 0x00e9, 0x080c, 0x83d8, 0x009e, 0x0005, 0x6003, 0x0002, + 0x009e, 0x0005, 0x6024, 0xd0f4, 0x0128, 0x080c, 0x15af, 0x1904, + 0xcc0f, 0x0005, 0x6014, 0x0096, 0x2048, 0xa834, 0xa938, 0x009e, + 0x9105, 0x1120, 0x080c, 0x15af, 0x1904, 0xcc0f, 0x0005, 0xd2fc, + 0x0140, 0x8002, 0x8000, 0x8212, 0x9291, 0x0000, 0x2009, 0x0009, + 0x0010, 0x2009, 0x0015, 0xaa9a, 0xa896, 0x0005, 0x9182, 0x0040, + 0x0208, 0x0062, 0x9186, 0x0013, 0x0120, 0x9186, 0x0014, 0x190c, + 0x0d65, 0x6024, 0xd0dc, 0x090c, 0x0d65, 0x0005, 0xcca2, 0xccae, + 0xccba, 0xccc6, 0xcca2, 0xcca2, 0xcca2, 0xcca2, 0xcca9, 0xcca4, + 0xcca4, 0xcca2, 0xcca2, 0xcca2, 0xcca2, 0xcca4, 0xcca2, 0xcca4, + 0xcca2, 0xcca9, 0x080c, 0x0d65, 0x6024, 0xd0dc, 0x090c, 0x0d65, + 0x0005, 0x6014, 0x9005, 0x190c, 0x0d65, 0x0005, 0x6003, 0x0001, + 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, 0xa022, 0x080c, 0x84c9, + 0x012e, 0x0005, 0x6003, 0x0004, 0x6106, 0x0126, 0x2091, 0x8000, + 0x2009, 0xa001, 0x080c, 0x84e7, 0x012e, 0x0005, 0x6003, 0x0003, + 0x6106, 0x080c, 0x1aca, 0x0126, 0x2091, 0x8000, 0x6014, 0x0096, + 0x2048, 0xa87c, 0xd0fc, 0x0188, 0x9084, 0x0003, 0x9086, 0x0002, + 0x01a0, 0x6024, 0xd0cc, 0x1148, 0xd0c4, 0x1138, 0xa8a8, 0x9005, + 0x1120, 0x6144, 0x918d, 0xb035, 0x0018, 0x6144, 0x918d, 0xa035, + 0x009e, 0x080c, 0x852e, 0x012e, 0x0005, 0x6144, 0x918d, 0xa032, + 0x0cb8, 0x0126, 0x2091, 0x8000, 0x0036, 0x0096, 0x9182, 0x0040, + 0x0023, 0x009e, 0x003e, 0x012e, 0x0005, 0xcd11, 0xcd13, 0xcd28, + 0xcd42, 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, + 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, 0xcd11, + 0xcd11, 0x080c, 0x0d65, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0510, 0x909c, 0x0003, 0x939e, 0x0003, 0x01e8, 0x6003, 0x0001, 0x6106, - 0x0126, 0x2091, 0x8000, 0x2009, 0xa022, 0x080c, 0x84b3, 0x0470, + 0x0126, 0x2091, 0x8000, 0x2009, 0xa022, 0x080c, 0x84e7, 0x0470, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0168, 0x909c, 0x0003, 0x939e, 0x0003, 0x0140, 0x6003, 0x0001, 0x6106, 0x2009, 0xa001, 0x080c, - 0x84b3, 0x00e0, 0x901e, 0x6316, 0x631a, 0x2019, 0x0004, 0x080c, - 0xd22f, 0x00a0, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0d98, 0x909c, + 0x84e7, 0x00e0, 0x901e, 0x6316, 0x631a, 0x2019, 0x0004, 0x080c, + 0xd267, 0x00a0, 0x6014, 0x2048, 0xa87c, 0xd0fc, 0x0d98, 0x909c, 0x0003, 0x939e, 0x0003, 0x0d70, 0x6003, 0x0003, 0x6106, 0x080c, - 0x1ab2, 0x6144, 0x918d, 0xa035, 0x080c, 0x84fa, 0x0005, 0x080c, - 0x885d, 0x6114, 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, 0xd52b, - 0x0036, 0x2019, 0x0029, 0x080c, 0xd22f, 0x003e, 0x009e, 0x080c, - 0x9c14, 0x080c, 0x891b, 0x0005, 0x080c, 0x88b8, 0x6114, 0x81ff, - 0x0158, 0x0096, 0x2148, 0x080c, 0xd52b, 0x0036, 0x2019, 0x0029, - 0x080c, 0xd22f, 0x003e, 0x009e, 0x080c, 0x9c14, 0x0005, 0x9182, - 0x0085, 0x0002, 0xcd59, 0xcd57, 0xcd57, 0xcd65, 0xcd57, 0xcd57, - 0xcd57, 0xcd57, 0xcd57, 0xcd57, 0xcd57, 0xcd57, 0xcd57, 0x080c, + 0x1aca, 0x6144, 0x918d, 0xa035, 0x080c, 0x852e, 0x0005, 0x080c, + 0x8891, 0x6114, 0x81ff, 0x0158, 0x0096, 0x2148, 0x080c, 0xd563, + 0x0036, 0x2019, 0x0029, 0x080c, 0xd267, 0x003e, 0x009e, 0x080c, + 0x9c20, 0x080c, 0x894f, 0x0005, 0x080c, 0x88ec, 0x6114, 0x81ff, + 0x0158, 0x0096, 0x2148, 0x080c, 0xd563, 0x0036, 0x2019, 0x0029, + 0x080c, 0xd267, 0x003e, 0x009e, 0x080c, 0x9c20, 0x0005, 0x9182, + 0x0085, 0x0002, 0xcd91, 0xcd8f, 0xcd8f, 0xcd9d, 0xcd8f, 0xcd8f, + 0xcd8f, 0xcd8f, 0xcd8f, 0xcd8f, 0xcd8f, 0xcd8f, 0xcd8f, 0x080c, 0x0d65, 0x6003, 0x000b, 0x6106, 0x0126, 0x2091, 0x8000, 0x2009, - 0x8020, 0x080c, 0x84b3, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, - 0xd47e, 0x0118, 0x080c, 0x9bda, 0x0440, 0x2071, 0x0260, 0x7224, + 0x8020, 0x080c, 0x84e7, 0x012e, 0x0005, 0x0026, 0x00e6, 0x080c, + 0xd4b6, 0x0118, 0x080c, 0x9be6, 0x0440, 0x2071, 0x0260, 0x7224, 0x6216, 0x2001, 0x180e, 0x2004, 0xd0e4, 0x0150, 0x6010, 0x00b6, - 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0x9f04, - 0x7220, 0x080c, 0xd0c5, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, + 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2011, 0x014e, 0x080c, 0x9f10, + 0x7220, 0x080c, 0xd0fd, 0x0118, 0x6007, 0x0086, 0x0040, 0x6007, 0x0087, 0x7224, 0x9296, 0xffff, 0x1110, 0x6007, 0x0086, 0x6003, - 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, 0x00ee, 0x002e, 0x0005, + 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, 0x00ee, 0x002e, 0x0005, 0x9186, 0x0013, 0x1160, 0x6004, 0x908a, 0x0085, 0x0a0c, 0x0d65, 0x908a, 0x0092, 0x1a0c, 0x0d65, 0x9082, 0x0085, 0x00a2, 0x9186, - 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, 0x9c93, 0x0050, - 0x2001, 0x0007, 0x080c, 0x61e8, 0x080c, 0x885d, 0x080c, 0x9c14, - 0x080c, 0x891b, 0x0005, 0xcdc8, 0xcdca, 0xcdca, 0xcdc8, 0xcdc8, - 0xcdc8, 0xcdc8, 0xcdc8, 0xcdc8, 0xcdc8, 0xcdc8, 0xcdc8, 0xcdc8, - 0x080c, 0x0d65, 0x080c, 0x9c14, 0x080c, 0x891b, 0x0005, 0x9182, + 0x0027, 0x0130, 0x9186, 0x0014, 0x0118, 0x080c, 0x9c9f, 0x0050, + 0x2001, 0x0007, 0x080c, 0x620c, 0x080c, 0x8891, 0x080c, 0x9c20, + 0x080c, 0x894f, 0x0005, 0xce00, 0xce02, 0xce02, 0xce00, 0xce00, + 0xce00, 0xce00, 0xce00, 0xce00, 0xce00, 0xce00, 0xce00, 0xce00, + 0x080c, 0x0d65, 0x080c, 0x9c20, 0x080c, 0x894f, 0x0005, 0x9182, 0x0085, 0x0a0c, 0x0d65, 0x9182, 0x0092, 0x1a0c, 0x0d65, 0x9182, - 0x0085, 0x0002, 0xcde7, 0xcde7, 0xcde7, 0xcde9, 0xcde7, 0xcde7, - 0xcde7, 0xcde7, 0xcde7, 0xcde7, 0xcde7, 0xcde7, 0xcde7, 0x080c, + 0x0085, 0x0002, 0xce1f, 0xce1f, 0xce1f, 0xce21, 0xce1f, 0xce1f, + 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0xce1f, 0x080c, 0x0d65, 0x0005, 0x9186, 0x0013, 0x0148, 0x9186, 0x0014, 0x0130, - 0x9186, 0x0027, 0x0118, 0x080c, 0x9c93, 0x0020, 0x080c, 0x885d, - 0x080c, 0x9c14, 0x0005, 0x0036, 0x080c, 0xd4df, 0x604b, 0x0000, + 0x9186, 0x0027, 0x0118, 0x080c, 0x9c9f, 0x0020, 0x080c, 0x8891, + 0x080c, 0x9c20, 0x0005, 0x0036, 0x080c, 0xd517, 0x604b, 0x0000, 0x2019, 0x000b, 0x0031, 0x6023, 0x0006, 0x6003, 0x0007, 0x003e, 0x0005, 0x0126, 0x0036, 0x2091, 0x8000, 0x2001, 0x0382, 0x2004, - 0x9084, 0x0007, 0x0006, 0x9086, 0x0003, 0x0110, 0x080c, 0x98bb, - 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, 0x9365, 0x009e, 0x008e, - 0x1558, 0x0076, 0x2c38, 0x080c, 0x9410, 0x007e, 0x1528, 0x6000, + 0x9084, 0x0007, 0x0006, 0x9086, 0x0003, 0x0110, 0x080c, 0x98c7, + 0x0086, 0x2c40, 0x0096, 0x904e, 0x080c, 0x936d, 0x009e, 0x008e, + 0x1558, 0x0076, 0x2c38, 0x080c, 0x9418, 0x007e, 0x1528, 0x6000, 0x9086, 0x0000, 0x0508, 0x6020, 0x9086, 0x0007, 0x01e8, 0x0096, - 0x601c, 0xd084, 0x0140, 0x080c, 0xd4df, 0x080c, 0xbf79, 0x080c, - 0x1921, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, 0xb842, 0x0110, - 0x080c, 0xd22f, 0x009e, 0x9006, 0x6046, 0x6016, 0x080c, 0xd4df, - 0x6023, 0x0007, 0x080c, 0xbf79, 0x000e, 0x9086, 0x0003, 0x0110, - 0x080c, 0x98d7, 0x003e, 0x012e, 0x0005, 0x00f6, 0x00c6, 0x00b6, - 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, 0x783c, 0x080c, 0x243d, - 0x15e8, 0x0016, 0x00c6, 0x080c, 0x626b, 0x15b0, 0x001e, 0x00c6, - 0x2160, 0x080c, 0xbf76, 0x00ce, 0x002e, 0x0026, 0x0016, 0x080c, - 0x98bb, 0x2019, 0x0029, 0x080c, 0x94dd, 0x080c, 0x8624, 0x0076, - 0x903e, 0x080c, 0x8509, 0x007e, 0x001e, 0x0076, 0x903e, 0x080c, - 0xcfd9, 0x007e, 0x080c, 0x98d7, 0x0026, 0xba04, 0x9294, 0xff00, + 0x601c, 0xd084, 0x0140, 0x080c, 0xd517, 0x080c, 0xbfa7, 0x080c, + 0x193e, 0x6023, 0x0007, 0x6014, 0x2048, 0x080c, 0xb870, 0x0110, + 0x080c, 0xd267, 0x009e, 0x9006, 0x6046, 0x6016, 0x080c, 0xd517, + 0x6023, 0x0007, 0x080c, 0xbfa7, 0x000e, 0x9086, 0x0003, 0x0110, + 0x080c, 0x98e3, 0x003e, 0x012e, 0x0005, 0x00f6, 0x00c6, 0x00b6, + 0x0036, 0x0156, 0x2079, 0x0260, 0x7938, 0x783c, 0x080c, 0x2459, + 0x15e8, 0x0016, 0x00c6, 0x080c, 0x628f, 0x15b0, 0x001e, 0x00c6, + 0x2160, 0x080c, 0xbfa4, 0x00ce, 0x002e, 0x0026, 0x0016, 0x080c, + 0x98c7, 0x2019, 0x0029, 0x080c, 0x94e5, 0x080c, 0x8658, 0x0076, + 0x903e, 0x080c, 0x853d, 0x007e, 0x001e, 0x0076, 0x903e, 0x080c, + 0xd011, 0x007e, 0x080c, 0x98e3, 0x0026, 0xba04, 0x9294, 0xff00, 0x8217, 0x9286, 0x0006, 0x0118, 0x9286, 0x0004, 0x1118, 0xbaa0, - 0x080c, 0x30d8, 0x002e, 0xbc84, 0x001e, 0x080c, 0x5cf1, 0xbe12, + 0x080c, 0x30f8, 0x002e, 0xbc84, 0x001e, 0x080c, 0x5d11, 0xbe12, 0xbd16, 0xbc86, 0x9006, 0x0010, 0x00ce, 0x001e, 0x015e, 0x003e, 0x00be, 0x00ce, 0x00fe, 0x0005, 0x00c6, 0x00d6, 0x00b6, 0x0016, - 0x2009, 0x1823, 0x2104, 0x9086, 0x0074, 0x1904, 0xcefd, 0x2069, + 0x2009, 0x1823, 0x2104, 0x9086, 0x0074, 0x1904, 0xcf35, 0x2069, 0x0260, 0x6944, 0x9182, 0x0100, 0x06e0, 0x6940, 0x9184, 0x8000, - 0x0904, 0xcefa, 0x2001, 0x194c, 0x2004, 0x9005, 0x1140, 0x6010, + 0x0904, 0xcf32, 0x2001, 0x1954, 0x2004, 0x9005, 0x1140, 0x6010, 0x2058, 0xb884, 0x9005, 0x0118, 0x9184, 0x0800, 0x0598, 0x6948, - 0x918a, 0x0001, 0x0648, 0x080c, 0xd593, 0x0118, 0x6978, 0xd1fc, + 0x918a, 0x0001, 0x0648, 0x080c, 0xd5cb, 0x0118, 0x6978, 0xd1fc, 0x11b8, 0x2009, 0x0205, 0x200b, 0x0001, 0x693c, 0x81ff, 0x1198, 0x6944, 0x9182, 0x0100, 0x02a8, 0x6940, 0x81ff, 0x1178, 0x6948, 0x918a, 0x0001, 0x0288, 0x6950, 0x918a, 0x0001, 0x0298, 0x00d0, @@ -6422,225 +6429,225 @@ unsigned short risc_code01[] = { 0x00c6, 0x00b6, 0x0026, 0x0036, 0x0156, 0x6210, 0x2258, 0xbb04, 0x9394, 0x00ff, 0x9286, 0x0006, 0x0180, 0x9286, 0x0004, 0x0168, 0x9394, 0xff00, 0x8217, 0x9286, 0x0006, 0x0138, 0x9286, 0x0004, - 0x0120, 0x080c, 0x627a, 0x0804, 0xcf68, 0x2011, 0x0276, 0x20a9, - 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xabd3, 0x009e, + 0x0120, 0x080c, 0x629e, 0x0804, 0xcfa0, 0x2011, 0x0276, 0x20a9, + 0x0004, 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xabee, 0x009e, 0x15c0, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, - 0x0006, 0x080c, 0xabd3, 0x009e, 0x1560, 0x0046, 0x0016, 0xbaa0, - 0x2220, 0x9006, 0x2009, 0x1854, 0x210c, 0x0038, 0x2009, 0x0029, - 0x080c, 0xd284, 0xb800, 0xc0e5, 0xb802, 0x080c, 0x98bb, 0x2019, - 0x0029, 0x080c, 0x8624, 0x0076, 0x2039, 0x0000, 0x080c, 0x8509, - 0x2c08, 0x080c, 0xcfd9, 0x007e, 0x080c, 0x98d7, 0x2001, 0x0007, - 0x080c, 0x61e8, 0x2001, 0x0007, 0x080c, 0x61bc, 0x001e, 0x004e, + 0x0006, 0x080c, 0xabee, 0x009e, 0x1560, 0x0046, 0x0016, 0xbaa0, + 0x2220, 0x9006, 0x2009, 0x185c, 0x210c, 0x0038, 0x2009, 0x0029, + 0x080c, 0xd2bc, 0xb800, 0xc0e5, 0xb802, 0x080c, 0x98c7, 0x2019, + 0x0029, 0x080c, 0x8658, 0x0076, 0x2039, 0x0000, 0x080c, 0x853d, + 0x2c08, 0x080c, 0xd011, 0x007e, 0x080c, 0x98e3, 0x2001, 0x0007, + 0x080c, 0x620c, 0x2001, 0x0007, 0x080c, 0x61e0, 0x001e, 0x004e, 0x9006, 0x015e, 0x003e, 0x002e, 0x00be, 0x00ce, 0x0005, 0x00d6, 0x2069, 0x026e, 0x6800, 0x9086, 0x0800, 0x0118, 0x6017, 0x0000, 0x0008, 0x9006, 0x00de, 0x0005, 0x00b6, 0x00f6, 0x0016, 0x0026, - 0x0036, 0x0156, 0x2079, 0x026c, 0x7930, 0x7834, 0x080c, 0x243d, - 0x11d0, 0x080c, 0x626b, 0x11b8, 0x2011, 0x0270, 0x20a9, 0x0004, - 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xabd3, 0x009e, 0x1158, + 0x0036, 0x0156, 0x2079, 0x026c, 0x7930, 0x7834, 0x080c, 0x2459, + 0x11d0, 0x080c, 0x628f, 0x11b8, 0x2011, 0x0270, 0x20a9, 0x0004, + 0x0096, 0x2b48, 0x2019, 0x000a, 0x080c, 0xabee, 0x009e, 0x1158, 0x2011, 0x0274, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, - 0x080c, 0xabd3, 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, + 0x080c, 0xabee, 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, 0x00fe, 0x00be, 0x0005, 0x00b6, 0x0006, 0x0016, 0x0026, 0x0036, 0x0156, - 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x243d, 0x11d0, - 0x080c, 0x626b, 0x11b8, 0x2011, 0x0276, 0x20a9, 0x0004, 0x0096, - 0x2b48, 0x2019, 0x000a, 0x080c, 0xabd3, 0x009e, 0x1158, 0x2011, + 0x2011, 0x0263, 0x2204, 0x8211, 0x220c, 0x080c, 0x2459, 0x11d0, + 0x080c, 0x628f, 0x11b8, 0x2011, 0x0276, 0x20a9, 0x0004, 0x0096, + 0x2b48, 0x2019, 0x000a, 0x080c, 0xabee, 0x009e, 0x1158, 0x2011, 0x027a, 0x20a9, 0x0004, 0x0096, 0x2b48, 0x2019, 0x0006, 0x080c, - 0xabd3, 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, 0x000e, 0x00be, + 0xabee, 0x009e, 0x015e, 0x003e, 0x002e, 0x001e, 0x000e, 0x00be, 0x0005, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x0056, 0x0046, - 0x0026, 0x0126, 0x2091, 0x8000, 0x080c, 0x9919, 0x0106, 0x190c, - 0x98bb, 0x2740, 0x2029, 0x19c3, 0x252c, 0x2021, 0x19ca, 0x2424, + 0x0026, 0x0126, 0x2091, 0x8000, 0x080c, 0x9925, 0x0106, 0x190c, + 0x98c7, 0x2740, 0x2029, 0x19cb, 0x252c, 0x2021, 0x19d2, 0x2424, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7650, 0x7070, 0x81ff, 0x0150, - 0x0006, 0x9186, 0x1b01, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, - 0xd07a, 0x0018, 0x9606, 0x0904, 0xd07a, 0x2100, 0x9c06, 0x0904, - 0xd071, 0x080c, 0xd2c5, 0x1904, 0xd071, 0x080c, 0xd5b0, 0x0904, - 0xd071, 0x080c, 0xd2b5, 0x0904, 0xd071, 0x6720, 0x9786, 0x0001, - 0x1148, 0x080c, 0x3175, 0x0904, 0xd099, 0x6004, 0x9086, 0x0000, - 0x1904, 0xd099, 0x9786, 0x0004, 0x0904, 0xd099, 0x9786, 0x0007, - 0x0904, 0xd071, 0x2500, 0x9c06, 0x0904, 0xd071, 0x2400, 0x9c06, - 0x0904, 0xd071, 0x88ff, 0x0118, 0x605c, 0x9906, 0x15d0, 0x0096, + 0x0006, 0x9186, 0x1b09, 0x000e, 0x0128, 0x8001, 0x9602, 0x1a04, + 0xd0b2, 0x0018, 0x9606, 0x0904, 0xd0b2, 0x2100, 0x9c06, 0x0904, + 0xd0a9, 0x080c, 0xd2fd, 0x1904, 0xd0a9, 0x080c, 0xd5e8, 0x0904, + 0xd0a9, 0x080c, 0xd2ed, 0x0904, 0xd0a9, 0x6720, 0x9786, 0x0001, + 0x1148, 0x080c, 0x3195, 0x0904, 0xd0d1, 0x6004, 0x9086, 0x0000, + 0x1904, 0xd0d1, 0x9786, 0x0004, 0x0904, 0xd0d1, 0x9786, 0x0007, + 0x0904, 0xd0a9, 0x2500, 0x9c06, 0x0904, 0xd0a9, 0x2400, 0x9c06, + 0x0904, 0xd0a9, 0x88ff, 0x0118, 0x605c, 0x9906, 0x15d0, 0x0096, 0x6043, 0xffff, 0x6000, 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, - 0x1921, 0x001e, 0x9786, 0x000a, 0x0148, 0x080c, 0xba57, 0x1130, - 0x080c, 0xa581, 0x009e, 0x080c, 0x9c14, 0x0418, 0x6014, 0x2048, - 0x080c, 0xb842, 0x01d8, 0x9786, 0x0003, 0x1588, 0xa867, 0x0103, - 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fd4, - 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, 0xd52b, 0x0016, 0x080c, - 0xbb45, 0x080c, 0x6985, 0x001e, 0x080c, 0xba31, 0x009e, 0x080c, - 0x9c14, 0x9ce0, 0x001c, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1210, - 0x0804, 0xcff2, 0x010e, 0x190c, 0x98d7, 0x012e, 0x002e, 0x004e, + 0x193e, 0x001e, 0x9786, 0x000a, 0x0148, 0x080c, 0xba85, 0x1130, + 0x080c, 0xa59c, 0x009e, 0x080c, 0x9c20, 0x0418, 0x6014, 0x2048, + 0x080c, 0xb870, 0x01d8, 0x9786, 0x0003, 0x1588, 0xa867, 0x0103, + 0xa87c, 0xd0cc, 0x0130, 0x0096, 0xa878, 0x2048, 0x080c, 0x0fe1, + 0x009e, 0xab7a, 0xa877, 0x0000, 0x080c, 0xd563, 0x0016, 0x080c, + 0xbb73, 0x080c, 0x69a9, 0x001e, 0x080c, 0xba5f, 0x009e, 0x080c, + 0x9c20, 0x9ce0, 0x001c, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1210, + 0x0804, 0xd02a, 0x010e, 0x190c, 0x98e3, 0x012e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x0005, 0x9786, - 0x0006, 0x1150, 0x9386, 0x0005, 0x0128, 0x080c, 0xd52b, 0x080c, - 0xd22f, 0x08e0, 0x009e, 0x08e8, 0x9786, 0x000a, 0x0908, 0x0804, - 0xd056, 0x81ff, 0x09b0, 0x9180, 0x0001, 0x2004, 0x9086, 0x0018, + 0x0006, 0x1150, 0x9386, 0x0005, 0x0128, 0x080c, 0xd563, 0x080c, + 0xd267, 0x08e0, 0x009e, 0x08e8, 0x9786, 0x000a, 0x0908, 0x0804, + 0xd08e, 0x81ff, 0x09b0, 0x9180, 0x0001, 0x2004, 0x9086, 0x0018, 0x0130, 0x9180, 0x0001, 0x2004, 0x9086, 0x002d, 0x1950, 0x6000, - 0x9086, 0x0002, 0x1930, 0x080c, 0xba46, 0x0130, 0x080c, 0xba57, - 0x1900, 0x080c, 0xa581, 0x0038, 0x080c, 0x303d, 0x080c, 0xba57, - 0x1110, 0x080c, 0xa581, 0x080c, 0x9c14, 0x0804, 0xd071, 0xa864, + 0x9086, 0x0002, 0x1930, 0x080c, 0xba74, 0x0130, 0x080c, 0xba85, + 0x1900, 0x080c, 0xa59c, 0x0038, 0x080c, 0x305d, 0x080c, 0xba85, + 0x1110, 0x080c, 0xa59c, 0x080c, 0x9c20, 0x0804, 0xd0a9, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0039, 0x0005, 0x00c6, 0x00e6, 0x0016, - 0x2c08, 0x2170, 0x9006, 0x080c, 0xd256, 0x001e, 0x0120, 0x6020, - 0x9084, 0x000f, 0x001b, 0x00ee, 0x00ce, 0x0005, 0xd0e4, 0xd0e4, - 0xd0e4, 0xd0e4, 0xd0e4, 0xd0e4, 0xd0e6, 0xd0e4, 0xd0e4, 0xd0e4, - 0xd0e4, 0x9c14, 0x9c14, 0xd0e4, 0x9006, 0x0005, 0x0036, 0x0046, + 0x2c08, 0x2170, 0x9006, 0x080c, 0xd28e, 0x001e, 0x0120, 0x6020, + 0x9084, 0x000f, 0x001b, 0x00ee, 0x00ce, 0x0005, 0xd11c, 0xd11c, + 0xd11c, 0xd11c, 0xd11c, 0xd11c, 0xd11e, 0xd11c, 0xd11c, 0xd11c, + 0xd11c, 0x9c20, 0x9c20, 0xd11c, 0x9006, 0x0005, 0x0036, 0x0046, 0x0016, 0x7010, 0x00b6, 0x2058, 0xbca0, 0x00be, 0x2c00, 0x2009, - 0x0020, 0x080c, 0xd284, 0x001e, 0x004e, 0x2019, 0x0002, 0x080c, - 0xce09, 0x003e, 0x9085, 0x0001, 0x0005, 0x0096, 0x080c, 0xb842, - 0x0140, 0x6014, 0x904d, 0x080c, 0xb440, 0x687b, 0x0005, 0x080c, - 0x6991, 0x009e, 0x080c, 0x9c14, 0x9085, 0x0001, 0x0005, 0x2001, - 0x0001, 0x080c, 0x61a8, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, - 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, 0xabbf, 0x003e, + 0x0020, 0x080c, 0xd2bc, 0x001e, 0x004e, 0x2019, 0x0002, 0x080c, + 0xce41, 0x003e, 0x9085, 0x0001, 0x0005, 0x0096, 0x080c, 0xb870, + 0x0140, 0x6014, 0x904d, 0x080c, 0xb45e, 0x687b, 0x0005, 0x080c, + 0x69b5, 0x009e, 0x080c, 0x9c20, 0x9085, 0x0001, 0x0005, 0x2001, + 0x0001, 0x080c, 0x61cc, 0x0156, 0x0016, 0x0026, 0x0036, 0x20a9, + 0x0004, 0x2019, 0x1805, 0x2011, 0x0276, 0x080c, 0xabda, 0x003e, 0x002e, 0x001e, 0x015e, 0x9005, 0x0005, 0x00f6, 0x00e6, 0x00c6, 0x0086, 0x0076, 0x0066, 0x00b6, 0x0126, 0x2091, 0x8000, 0x2740, - 0x2061, 0x1ddc, 0x2079, 0x0001, 0x8fff, 0x0904, 0xd17f, 0x2071, - 0x1800, 0x7650, 0x7070, 0x8001, 0x9602, 0x1a04, 0xd17f, 0x88ff, - 0x0120, 0x2800, 0x9c06, 0x1590, 0x2078, 0x080c, 0xd2b5, 0x0570, + 0x2061, 0x1ddc, 0x2079, 0x0001, 0x8fff, 0x0904, 0xd1b7, 0x2071, + 0x1800, 0x7650, 0x7070, 0x8001, 0x9602, 0x1a04, 0xd1b7, 0x88ff, + 0x0120, 0x2800, 0x9c06, 0x1590, 0x2078, 0x080c, 0xd2ed, 0x0570, 0x2400, 0x9c06, 0x0558, 0x6720, 0x9786, 0x0006, 0x1538, 0x9786, 0x0007, 0x0520, 0x88ff, 0x1140, 0x6010, 0x9b06, 0x11f8, 0x85ff, 0x0118, 0x605c, 0x9106, 0x11d0, 0x0096, 0x601c, 0xd084, 0x0140, - 0x080c, 0xd4df, 0x080c, 0xbf79, 0x080c, 0x1921, 0x6023, 0x0007, - 0x6014, 0x2048, 0x080c, 0xb842, 0x0120, 0x0046, 0x080c, 0xd22f, - 0x004e, 0x009e, 0x080c, 0x9c14, 0x88ff, 0x1198, 0x9ce0, 0x001c, - 0x2001, 0x1819, 0x2004, 0x9c02, 0x1210, 0x0804, 0xd134, 0x9006, + 0x080c, 0xd517, 0x080c, 0xbfa7, 0x080c, 0x193e, 0x6023, 0x0007, + 0x6014, 0x2048, 0x080c, 0xb870, 0x0120, 0x0046, 0x080c, 0xd267, + 0x004e, 0x009e, 0x080c, 0x9c20, 0x88ff, 0x1198, 0x9ce0, 0x001c, + 0x2001, 0x1819, 0x2004, 0x9c02, 0x1210, 0x0804, 0xd16c, 0x9006, 0x012e, 0x00be, 0x006e, 0x007e, 0x008e, 0x00ce, 0x00ee, 0x00fe, - 0x0005, 0x98c5, 0x0001, 0x0ca0, 0x080c, 0x98bb, 0x00b6, 0x0076, + 0x0005, 0x98c5, 0x0001, 0x0ca0, 0x080c, 0x98c7, 0x00b6, 0x0076, 0x0056, 0x0086, 0x9046, 0x2029, 0x0001, 0x2c20, 0x2019, 0x0002, - 0x6210, 0x2258, 0x0096, 0x904e, 0x080c, 0x9365, 0x009e, 0x008e, - 0x903e, 0x080c, 0x9410, 0x080c, 0xd125, 0x005e, 0x007e, 0x00be, - 0x080c, 0x98d7, 0x0005, 0x080c, 0x98bb, 0x00b6, 0x0046, 0x0056, + 0x6210, 0x2258, 0x0096, 0x904e, 0x080c, 0x936d, 0x009e, 0x008e, + 0x903e, 0x080c, 0x9418, 0x080c, 0xd15d, 0x005e, 0x007e, 0x00be, + 0x080c, 0x98e3, 0x0005, 0x080c, 0x98c7, 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x2128, 0x20a9, 0x007f, 0x900e, - 0x0016, 0x0036, 0x080c, 0x626b, 0x1190, 0x0056, 0x0086, 0x9046, - 0x2508, 0x2029, 0x0001, 0x0096, 0x904e, 0x080c, 0x9365, 0x009e, - 0x008e, 0x903e, 0x080c, 0x9410, 0x080c, 0xd125, 0x005e, 0x003e, - 0x001e, 0x8108, 0x1f04, 0xd1b8, 0x015e, 0x00ce, 0x007e, 0x005e, - 0x004e, 0x00be, 0x080c, 0x98d7, 0x0005, 0x080c, 0x98bb, 0x00b6, + 0x0016, 0x0036, 0x080c, 0x628f, 0x1190, 0x0056, 0x0086, 0x9046, + 0x2508, 0x2029, 0x0001, 0x0096, 0x904e, 0x080c, 0x936d, 0x009e, + 0x008e, 0x903e, 0x080c, 0x9418, 0x080c, 0xd15d, 0x005e, 0x003e, + 0x001e, 0x8108, 0x1f04, 0xd1f0, 0x015e, 0x00ce, 0x007e, 0x005e, + 0x004e, 0x00be, 0x080c, 0x98e3, 0x0005, 0x080c, 0x98c7, 0x00b6, 0x0076, 0x0056, 0x6210, 0x2258, 0x0086, 0x9046, 0x2029, 0x0001, - 0x2019, 0x0048, 0x0096, 0x904e, 0x080c, 0x9365, 0x009e, 0x008e, - 0x903e, 0x080c, 0x9410, 0x2c20, 0x080c, 0xd125, 0x005e, 0x007e, - 0x00be, 0x080c, 0x98d7, 0x0005, 0x080c, 0x98bb, 0x00b6, 0x0046, + 0x2019, 0x0048, 0x0096, 0x904e, 0x080c, 0x936d, 0x009e, 0x008e, + 0x903e, 0x080c, 0x9418, 0x2c20, 0x080c, 0xd15d, 0x005e, 0x007e, + 0x00be, 0x080c, 0x98e3, 0x0005, 0x080c, 0x98c7, 0x00b6, 0x0046, 0x0056, 0x0076, 0x00c6, 0x0156, 0x2c20, 0x20a9, 0x0800, 0x900e, - 0x0016, 0x0036, 0x080c, 0x626b, 0x11a0, 0x0086, 0x9046, 0x2828, - 0x0046, 0x2021, 0x0001, 0x080c, 0xd4c3, 0x004e, 0x0096, 0x904e, - 0x080c, 0x9365, 0x009e, 0x008e, 0x903e, 0x080c, 0x9410, 0x080c, - 0xd125, 0x003e, 0x001e, 0x8108, 0x1f04, 0xd208, 0x015e, 0x00ce, - 0x007e, 0x005e, 0x004e, 0x00be, 0x080c, 0x98d7, 0x0005, 0x0016, - 0x00f6, 0x080c, 0xb840, 0x0198, 0xa864, 0x9084, 0x00ff, 0x9086, + 0x0016, 0x0036, 0x080c, 0x628f, 0x11a0, 0x0086, 0x9046, 0x2828, + 0x0046, 0x2021, 0x0001, 0x080c, 0xd4fb, 0x004e, 0x0096, 0x904e, + 0x080c, 0x936d, 0x009e, 0x008e, 0x903e, 0x080c, 0x9418, 0x080c, + 0xd15d, 0x003e, 0x001e, 0x8108, 0x1f04, 0xd240, 0x015e, 0x00ce, + 0x007e, 0x005e, 0x004e, 0x00be, 0x080c, 0x98e3, 0x0005, 0x0016, + 0x00f6, 0x080c, 0xb86e, 0x0198, 0xa864, 0x9084, 0x00ff, 0x9086, 0x0046, 0x0180, 0xa800, 0x907d, 0x0138, 0xa803, 0x0000, 0xab82, - 0x080c, 0x6991, 0x2f48, 0x0cb0, 0xab82, 0x080c, 0x6991, 0x00fe, + 0x080c, 0x69b5, 0x2f48, 0x0cb0, 0xab82, 0x080c, 0x69b5, 0x00fe, 0x001e, 0x0005, 0xa800, 0x907d, 0x0130, 0xa803, 0x0000, 0x080c, - 0x6991, 0x2f48, 0x0cb8, 0x080c, 0x6991, 0x0c88, 0x00e6, 0x0046, + 0x69b5, 0x2f48, 0x0cb8, 0x080c, 0x69b5, 0x0c88, 0x00e6, 0x0046, 0x0036, 0x2061, 0x1ddc, 0x9005, 0x1138, 0x2071, 0x1800, 0x7450, 0x7070, 0x8001, 0x9402, 0x12d8, 0x2100, 0x9c06, 0x0168, 0x6000, 0x9086, 0x0000, 0x0148, 0x6008, 0x9206, 0x1130, 0x6010, 0x91a0, 0x0004, 0x2424, 0x9406, 0x0140, 0x9ce0, 0x001c, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1220, 0x0c40, 0x9085, 0x0001, 0x0008, 0x9006, - 0x003e, 0x004e, 0x00ee, 0x0005, 0x0096, 0x0006, 0x080c, 0x1022, + 0x003e, 0x004e, 0x00ee, 0x0005, 0x0096, 0x0006, 0x080c, 0x102f, 0x000e, 0x090c, 0x0d65, 0xaae2, 0xa867, 0x010d, 0xa88e, 0x0026, - 0x2010, 0x080c, 0xb830, 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, + 0x2010, 0x080c, 0xb85e, 0x2001, 0x0000, 0x0120, 0x2200, 0x9080, 0x0017, 0x2004, 0x002e, 0xa87a, 0x9186, 0x0020, 0x0110, 0xa8e3, - 0xffff, 0xa986, 0xac76, 0xa87f, 0x0000, 0x2001, 0x195e, 0x2004, + 0xffff, 0xa986, 0xac76, 0xa87f, 0x0000, 0x2001, 0x1966, 0x2004, 0xa882, 0x9006, 0xa802, 0xa86a, 0xa88a, 0x0126, 0x2091, 0x8000, - 0x080c, 0x6991, 0x012e, 0x009e, 0x0005, 0x6700, 0x9786, 0x0000, + 0x080c, 0x69b5, 0x012e, 0x009e, 0x0005, 0x6700, 0x9786, 0x0000, 0x0158, 0x9786, 0x0001, 0x0140, 0x9786, 0x000a, 0x0128, 0x9786, 0x0009, 0x0110, 0x9085, 0x0001, 0x0005, 0x00e6, 0x6010, 0x9075, 0x0138, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x9206, 0x00ee, 0x0005, 0x9085, 0x0001, 0x0cd8, 0x0016, 0x6004, 0x908e, 0x001e, 0x11a0, 0x8007, 0x6134, 0x918c, 0x00ff, 0x9105, 0x6036, 0x6007, 0x0085, - 0x6003, 0x000b, 0x6023, 0x0005, 0x2001, 0x1957, 0x2004, 0x601a, - 0x2009, 0x8020, 0x080c, 0x84b3, 0x001e, 0x0005, 0xa001, 0xa001, - 0x0005, 0x6024, 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0xbb8c, - 0x0030, 0x080c, 0xd4df, 0x080c, 0x83a2, 0x080c, 0x9bda, 0x0005, - 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd314, 0xd314, - 0xd314, 0xd316, 0xd314, 0xd316, 0xd316, 0xd314, 0xd316, 0xd314, - 0xd314, 0xd314, 0xd314, 0xd314, 0x9006, 0x0005, 0x9085, 0x0001, - 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd32d, - 0xd32d, 0xd32d, 0xd32d, 0xd32d, 0xd32d, 0xd33a, 0xd32d, 0xd32d, - 0xd32d, 0xd32d, 0xd32d, 0xd32d, 0xd32d, 0x6007, 0x003b, 0x602f, + 0x6003, 0x000b, 0x6023, 0x0005, 0x2001, 0x195f, 0x2004, 0x601a, + 0x2009, 0x8020, 0x080c, 0x84e7, 0x001e, 0x0005, 0xa001, 0xa001, + 0x0005, 0x6024, 0xd0e4, 0x0158, 0xd0cc, 0x0118, 0x080c, 0xbbba, + 0x0030, 0x080c, 0xd517, 0x080c, 0x83d6, 0x080c, 0x9be6, 0x0005, + 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd34c, 0xd34c, + 0xd34c, 0xd34e, 0xd34c, 0xd34e, 0xd34e, 0xd34c, 0xd34e, 0xd34c, + 0xd34c, 0xd34c, 0xd34c, 0xd34c, 0x9006, 0x0005, 0x9085, 0x0001, + 0x0005, 0x9280, 0x0008, 0x2004, 0x9084, 0x000f, 0x0002, 0xd365, + 0xd365, 0xd365, 0xd365, 0xd365, 0xd365, 0xd372, 0xd365, 0xd365, + 0xd365, 0xd365, 0xd365, 0xd365, 0xd365, 0x6007, 0x003b, 0x602f, 0x0009, 0x6017, 0x2a00, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, - 0x84b3, 0x0005, 0x0096, 0x00c6, 0x2260, 0x080c, 0xd4df, 0x604b, + 0x84e7, 0x0005, 0x0096, 0x00c6, 0x2260, 0x080c, 0xd517, 0x604b, 0x0000, 0x6024, 0xc0f4, 0xc0e4, 0x6026, 0x603b, 0x0000, 0x00ce, - 0x00d6, 0x2268, 0x9186, 0x0007, 0x1904, 0xd393, 0x6814, 0x9005, + 0x00d6, 0x2268, 0x9186, 0x0007, 0x1904, 0xd3cb, 0x6814, 0x9005, 0x0138, 0x2048, 0xa87c, 0xd0fc, 0x1118, 0x00de, 0x009e, 0x08a8, - 0x6007, 0x003a, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, - 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x1904, 0xd40a, 0x6014, + 0x6007, 0x003a, 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, + 0x00c6, 0x2d60, 0x6100, 0x9186, 0x0002, 0x1904, 0xd442, 0x6014, 0x9005, 0x1138, 0x6000, 0x9086, 0x0007, 0x190c, 0x0d65, 0x0804, - 0xd40a, 0x2048, 0x080c, 0xb842, 0x1130, 0x0028, 0x2048, 0xa800, + 0xd442, 0x2048, 0x080c, 0xb870, 0x1130, 0x0028, 0x2048, 0xa800, 0x9005, 0x1de0, 0x2900, 0x2048, 0xa87c, 0x9084, 0x0003, 0x9086, 0x0002, 0x1168, 0xa87c, 0xc0dc, 0xc0f4, 0xa87e, 0xa880, 0xc0fc, - 0xa882, 0x2009, 0x0043, 0x080c, 0xcc4b, 0x0804, 0xd40a, 0x2009, - 0x0041, 0x0804, 0xd404, 0x9186, 0x0005, 0x15a0, 0x6814, 0x2048, - 0xa87c, 0xd0bc, 0x1120, 0x00de, 0x009e, 0x0804, 0xd32d, 0xd0b4, - 0x0128, 0xd0fc, 0x090c, 0x0d65, 0x0804, 0xd34e, 0x6007, 0x003a, - 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84b3, 0x00c6, 0x2d60, - 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, 0x0004, 0x1904, 0xd40a, + 0xa882, 0x2009, 0x0043, 0x080c, 0xcc7e, 0x0804, 0xd442, 0x2009, + 0x0041, 0x0804, 0xd43c, 0x9186, 0x0005, 0x15a0, 0x6814, 0x2048, + 0xa87c, 0xd0bc, 0x1120, 0x00de, 0x009e, 0x0804, 0xd365, 0xd0b4, + 0x0128, 0xd0fc, 0x090c, 0x0d65, 0x0804, 0xd386, 0x6007, 0x003a, + 0x6003, 0x0001, 0x2009, 0x8020, 0x080c, 0x84e7, 0x00c6, 0x2d60, + 0x6100, 0x9186, 0x0002, 0x0120, 0x9186, 0x0004, 0x1904, 0xd442, 0x6814, 0x2048, 0xa97c, 0xc1f4, 0xc1dc, 0xa97e, 0xa980, 0xc1fc, - 0xc1bc, 0xa982, 0x00f6, 0x2c78, 0x080c, 0x165c, 0x00fe, 0x2009, - 0x0042, 0x04d0, 0x0036, 0x080c, 0x1022, 0x090c, 0x0d65, 0xa867, + 0xc1bc, 0xa982, 0x00f6, 0x2c78, 0x080c, 0x1669, 0x00fe, 0x2009, + 0x0042, 0x04d0, 0x0036, 0x080c, 0x102f, 0x090c, 0x0d65, 0xa867, 0x010d, 0x9006, 0xa802, 0xa86a, 0xa88a, 0x2d18, 0xab8e, 0xa887, 0x0045, 0x2c00, 0xa892, 0x6038, 0xa8a2, 0x2360, 0x6024, 0xc0dd, 0x6026, 0x6010, 0x00b6, 0x2058, 0xb8a0, 0x00be, 0x2004, 0x635c, 0xab7a, 0xa876, 0x9006, 0xa87e, 0xa882, 0xad9a, 0xae96, 0xa89f, - 0x0001, 0x080c, 0x6991, 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, - 0xce09, 0x2d00, 0x600a, 0x6023, 0x0006, 0x6003, 0x0007, 0x901e, + 0x0001, 0x080c, 0x69b5, 0x2019, 0x0045, 0x6008, 0x2068, 0x080c, + 0xce41, 0x2d00, 0x600a, 0x6023, 0x0006, 0x6003, 0x0007, 0x901e, 0x631a, 0x634a, 0x003e, 0x0038, 0x604b, 0x0000, 0x6003, 0x0007, - 0x080c, 0xcc4b, 0x00ce, 0x00de, 0x009e, 0x0005, 0x9186, 0x0013, + 0x080c, 0xcc7e, 0x00ce, 0x00de, 0x009e, 0x0005, 0x9186, 0x0013, 0x1128, 0x6004, 0x9082, 0x0085, 0x2008, 0x00c2, 0x9186, 0x0027, - 0x1178, 0x080c, 0x885d, 0x0036, 0x0096, 0x6014, 0x2048, 0x2019, - 0x0004, 0x080c, 0xd22f, 0x009e, 0x003e, 0x080c, 0x891b, 0x0005, - 0x9186, 0x0014, 0x0d70, 0x080c, 0x9c93, 0x0005, 0xd43d, 0xd43b, - 0xd43b, 0xd43b, 0xd43b, 0xd43b, 0xd43d, 0xd43b, 0xd43b, 0xd43b, - 0xd43b, 0xd43b, 0xd43b, 0x080c, 0x0d65, 0x6003, 0x000c, 0x080c, - 0x891b, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, - 0x001a, 0x080c, 0x9c93, 0x0005, 0xd459, 0xd459, 0xd459, 0xd459, - 0xd45b, 0xd47b, 0xd459, 0xd459, 0xd459, 0xd459, 0xd459, 0xd459, - 0xd459, 0x080c, 0x0d65, 0x00d6, 0x2c68, 0x080c, 0x9b84, 0x01b0, + 0x1178, 0x080c, 0x8891, 0x0036, 0x0096, 0x6014, 0x2048, 0x2019, + 0x0004, 0x080c, 0xd267, 0x009e, 0x003e, 0x080c, 0x894f, 0x0005, + 0x9186, 0x0014, 0x0d70, 0x080c, 0x9c9f, 0x0005, 0xd475, 0xd473, + 0xd473, 0xd473, 0xd473, 0xd473, 0xd475, 0xd473, 0xd473, 0xd473, + 0xd473, 0xd473, 0xd473, 0x080c, 0x0d65, 0x6003, 0x000c, 0x080c, + 0x894f, 0x0005, 0x9182, 0x0092, 0x1220, 0x9182, 0x0085, 0x0208, + 0x001a, 0x080c, 0x9c9f, 0x0005, 0xd491, 0xd491, 0xd491, 0xd491, + 0xd493, 0xd4b3, 0xd491, 0xd491, 0xd491, 0xd491, 0xd491, 0xd491, + 0xd491, 0x080c, 0x0d65, 0x00d6, 0x2c68, 0x080c, 0x9b90, 0x01b0, 0x6003, 0x0001, 0x6007, 0x001e, 0x2009, 0x026e, 0x210c, 0x613a, 0x2009, 0x026f, 0x210c, 0x613e, 0x600b, 0xffff, 0x6910, 0x6112, - 0x6023, 0x0004, 0x2009, 0x8020, 0x080c, 0x84b3, 0x2d60, 0x080c, - 0x9bda, 0x00de, 0x0005, 0x080c, 0x9bda, 0x0005, 0x00e6, 0x6010, + 0x6023, 0x0004, 0x2009, 0x8020, 0x080c, 0x84e7, 0x2d60, 0x080c, + 0x9be6, 0x00de, 0x0005, 0x080c, 0x9be6, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0ec, 0x00ee, 0x0005, 0x2009, - 0x1873, 0x210c, 0xd1ec, 0x05b0, 0x6003, 0x0002, 0x6024, 0xc0e5, - 0x6026, 0xd0cc, 0x0150, 0x2001, 0x1958, 0x2004, 0x604a, 0x2009, - 0x1873, 0x210c, 0xd1f4, 0x1520, 0x00a0, 0x2009, 0x1873, 0x210c, + 0x187b, 0x210c, 0xd1ec, 0x05b0, 0x6003, 0x0002, 0x6024, 0xc0e5, + 0x6026, 0xd0cc, 0x0150, 0x2001, 0x1960, 0x2004, 0x604a, 0x2009, + 0x187b, 0x210c, 0xd1f4, 0x1520, 0x00a0, 0x2009, 0x187b, 0x210c, 0xd1f4, 0x0128, 0x6024, 0xc0e4, 0x6026, 0x9006, 0x00d8, 0x2001, - 0x1958, 0x200c, 0x2001, 0x1956, 0x2004, 0x9100, 0x9080, 0x000a, + 0x1960, 0x200c, 0x2001, 0x195e, 0x2004, 0x9100, 0x9080, 0x000a, 0x604a, 0x6010, 0x00b6, 0x2058, 0xb8ac, 0x00be, 0x0008, 0x2104, 0x9005, 0x0118, 0x9088, 0x0003, 0x0cd0, 0x2c0a, 0x600f, 0x0000, 0x9085, 0x0001, 0x0005, 0x0016, 0x00c6, 0x00e6, 0x615c, 0xb8ac, 0x2060, 0x8cff, 0x0180, 0x84ff, 0x1118, 0x605c, 0x9106, 0x1138, - 0x600c, 0x2072, 0x080c, 0x83a2, 0x080c, 0x9bda, 0x0010, 0x9cf0, + 0x600c, 0x2072, 0x080c, 0x83d6, 0x080c, 0x9be6, 0x0010, 0x9cf0, 0x0003, 0x2e64, 0x0c70, 0x00ee, 0x00ce, 0x001e, 0x0005, 0x00d6, 0x00b6, 0x6010, 0x2058, 0xb8ac, 0x2068, 0x9005, 0x0130, 0x9c06, 0x0110, 0x680c, 0x0cd0, 0x600c, 0x680e, 0x00be, 0x00de, 0x0005, 0x0026, 0x0036, 0x0156, 0x2011, 0x182b, 0x2204, 0x9084, 0x00ff, 0x2019, 0x026e, 0x2334, 0x9636, 0x1508, 0x8318, 0x2334, 0x2204, 0x9084, 0xff00, 0x9636, 0x11d0, 0x2011, 0x0270, 0x20a9, 0x0004, - 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xabd3, 0x009e, + 0x6010, 0x0096, 0x2048, 0x2019, 0x000a, 0x080c, 0xabee, 0x009e, 0x1168, 0x2011, 0x0274, 0x20a9, 0x0004, 0x6010, 0x0096, 0x2048, - 0x2019, 0x0006, 0x080c, 0xabd3, 0x009e, 0x1100, 0x015e, 0x003e, - 0x002e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5c6a, 0x080c, - 0x2de9, 0x00ee, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, + 0x2019, 0x0006, 0x080c, 0xabee, 0x009e, 0x1100, 0x015e, 0x003e, + 0x002e, 0x0005, 0x00e6, 0x2071, 0x1800, 0x080c, 0x5c8a, 0x080c, + 0x2e09, 0x00ee, 0x0005, 0x00e6, 0x6010, 0x00b6, 0x2058, 0xb800, 0x00be, 0xd0fc, 0x0108, 0x0011, 0x00ee, 0x0005, 0xa880, 0xc0e5, 0xa882, 0x0005, 0x00e6, 0x00d6, 0x00c6, 0x0076, 0x0066, 0x0056, - 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, 0x19c3, - 0x252c, 0x2021, 0x19ca, 0x2424, 0x2061, 0x1ddc, 0x2071, 0x1800, + 0x0046, 0x0026, 0x0016, 0x0126, 0x2091, 0x8000, 0x2029, 0x19cb, + 0x252c, 0x2021, 0x19d2, 0x2424, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7650, 0x7070, 0x9606, 0x0578, 0x6720, 0x9786, 0x0001, 0x0118, 0x9786, 0x0008, 0x1500, 0x2500, 0x9c06, 0x01e8, 0x2400, 0x9c06, - 0x01d0, 0x080c, 0xd2b5, 0x01b8, 0x080c, 0xd2c5, 0x11a0, 0x6000, - 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x1921, 0x001e, 0x080c, - 0xba46, 0x1110, 0x080c, 0x303d, 0x080c, 0xba57, 0x1110, 0x080c, - 0xa581, 0x080c, 0x9c14, 0x9ce0, 0x001c, 0x2001, 0x1819, 0x2004, + 0x01d0, 0x080c, 0xd2ed, 0x01b8, 0x080c, 0xd2fd, 0x11a0, 0x6000, + 0x9086, 0x0004, 0x1120, 0x0016, 0x080c, 0x193e, 0x001e, 0x080c, + 0xba74, 0x1110, 0x080c, 0x305d, 0x080c, 0xba85, 0x1110, 0x080c, + 0xa59c, 0x080c, 0x9c20, 0x9ce0, 0x001c, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1208, 0x0858, 0x012e, 0x001e, 0x002e, 0x004e, 0x005e, 0x006e, 0x007e, 0x00ce, 0x00de, 0x00ee, 0x0005, 0x2001, 0x1810, 0x2004, 0xd0dc, 0x0005, 0x0006, 0x2001, 0x1836, 0x2004, 0xd09c, - 0x000e, 0x0005, 0x0006, 0x0036, 0x0046, 0x080c, 0xbf61, 0x0168, + 0x000e, 0x0005, 0x0006, 0x0036, 0x0046, 0x080c, 0xbf8f, 0x0168, 0x2019, 0xffff, 0x9005, 0x0128, 0x6010, 0x00b6, 0x2058, 0xbba0, - 0x00be, 0x2021, 0x0004, 0x080c, 0x4a77, 0x004e, 0x003e, 0x000e, - 0x6004, 0x9086, 0x0001, 0x1128, 0x080c, 0x94dd, 0x080c, 0x9c14, + 0x00be, 0x2021, 0x0004, 0x080c, 0x4a97, 0x004e, 0x003e, 0x000e, + 0x6004, 0x9086, 0x0001, 0x1128, 0x080c, 0x94e5, 0x080c, 0x9c20, 0x9006, 0x0005, 0x00e6, 0x00c6, 0x00b6, 0x0046, 0x2061, 0x1ddc, 0x2071, 0x1800, 0x7450, 0x7070, 0x8001, 0x9402, 0x12b8, 0x2100, 0x9c06, 0x0148, 0x6000, 0x9086, 0x0000, 0x0128, 0x6010, 0x2058, 0xb8a0, 0x9206, 0x0140, 0x9ce0, 0x001c, 0x2001, 0x1819, 0x2004, 0x9c02, 0x1220, 0x0c60, 0x9085, 0x0001, 0x0008, 0x9006, 0x004e, 0x00be, 0x00ce, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, 0x0016, - 0x2091, 0x8000, 0x2071, 0x1840, 0xd5a4, 0x0118, 0x7034, 0x8000, - 0x7036, 0xd5b4, 0x0118, 0x7030, 0x8000, 0x7032, 0xd5ac, 0x0178, + 0x2091, 0x8000, 0x2071, 0x1840, 0xd5a4, 0x0118, 0x7054, 0x8000, + 0x7056, 0xd5b4, 0x0118, 0x7050, 0x8000, 0x7052, 0xd5ac, 0x0178, 0x2500, 0x9084, 0x0007, 0x908e, 0x0003, 0x0148, 0x908e, 0x0004, 0x0130, 0x908e, 0x0005, 0x0118, 0x2071, 0x184a, 0x0089, 0x001e, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0126, 0x0006, 0x00e6, 0x2091, @@ -6648,15 +6655,15 @@ unsigned short risc_code01[] = { 0x2e04, 0x8000, 0x2072, 0x1220, 0x8e70, 0x2e04, 0x8000, 0x2072, 0x0005, 0x00e6, 0x2071, 0x1840, 0x0c99, 0x00ee, 0x0005, 0x00e6, 0x2071, 0x1844, 0x0c69, 0x00ee, 0x0005, 0x0126, 0x0006, 0x00e6, - 0x2091, 0x8000, 0x2071, 0x1840, 0x7044, 0x8000, 0x7046, 0x00ee, + 0x2091, 0x8000, 0x2071, 0x1840, 0x7064, 0x8000, 0x7066, 0x00ee, 0x000e, 0x012e, 0x0005, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0020, 0x0040, 0x0080, 0x0100, 0x0200, 0x0400, 0x0800, 0x1000, - 0x2000, 0x4000, 0x8000, 0x9407 + 0x2000, 0x4000, 0x8000, 0x8c0a }; #ifdef UNIQUE_FW_NAME -unsigned short fw2322flx_length01 = 0xce4c; +unsigned short fw2322flx_length01 = 0xce84; #else -unsigned short risc_code_length01 = 0xce4c; +unsigned short risc_code_length01 = 0xce84; #endif /* @@ -7054,7 +7061,7 @@ unsigned short xseqflx_code01[] = { 0x0000, 0x0002, 0x0002, 0x1f43, 0x000b, 0x1256, 0x0001, 0xff88, 0x0000, 0x0002, 0x0013, 0x0258, 0x0001, 0xff88, 0x0000, 0x0004, 0x0000, 0xff31, 0x0015, 0x0033, 0x0000, 0xb011, 0x001b, 0x825b, - 0x0000, 0xb0ff, 0x0011, 0x16a0, 0x0000, 0xff16, 0x000b, 0x24e2, + 0x0000, 0xb0ff, 0x0011, 0x16a0, 0x0000, 0xff16, 0x001b, 0x2262, 0x0002, 0xb100, 0x0003, 0x0263, 0x0010, 0xb1ff, 0x0001, 0x17a0, 0x0010, 0xff17, 0x0003, 0x0221, 0x0000, 0x16ff, 0x0001, 0x18a0, 0x0010, 0xff00, 0x001b, 0x226d, 0x0002, 0x1700, 0x0013, 0x12c0, @@ -7421,6 +7428,6 @@ unsigned short xseqflx_code01[] = { 0x000b, 0x880c, 0x0012, 0x1027, 0x0010, 0xffb2, 0x0011, 0x1388, 0x0010, 0x0011, 0x0000, 0xff31, 0x0015, 0x0033, 0x0010, 0xb20a, 0x000b, 0x8814, 0x0015, 0x00b8, 0x0000, 0x0007, 0x0013, 0x4817, - 0x0000, 0xb838, 0x0017, 0x4000, 0xa5a5, 0x1ab5 + 0x0000, 0xb838, 0x0017, 0x4000, 0xa595, 0x1d35 }; unsigned short xseqflx_code_length01 = 0x1036; diff --git a/drivers/scsi/qla2xxx/qla_dbg.c b/drivers/scsi/qla2xxx/qla_dbg.c index 23f43ec5e..dcc33daa5 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.c +++ b/drivers/scsi/qla2xxx/qla_dbg.c @@ -36,13 +36,12 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) uint16_t mb0, mb2; uint32_t stat; - device_reg_t *reg; - uint16_t *dmp_reg; + device_reg_t __iomem *reg = ha->iobase; + uint16_t __iomem *dmp_reg; unsigned long flags; struct qla2300_fw_dump *fw; uint32_t dump_size, data_ram_cnt; - reg = ha->iobase; risc_address = data_ram_cnt = 0; mb0 = mb2 = 0; flags = 0; @@ -86,89 +85,90 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) rval = QLA_FUNCTION_TIMEOUT; } } else { + RD_REG_WORD(®->hccr); /* PCI Posting. */ udelay(10); } if (rval == QLA_SUCCESS) { - dmp_reg = (uint16_t *)(reg + 0); + dmp_reg = (uint16_t __iomem *)(reg + 0); for (cnt = 0; cnt < sizeof(fw->pbiu_reg) / 2; cnt++) fw->pbiu_reg[cnt] = RD_REG_WORD(dmp_reg++); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x10); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x10); for (cnt = 0; cnt < sizeof(fw->risc_host_reg) / 2; cnt++) fw->risc_host_reg[cnt] = RD_REG_WORD(dmp_reg++); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x40); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x40); for (cnt = 0; cnt < sizeof(fw->mailbox_reg) / 2; cnt++) fw->mailbox_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x40); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->resp_dma_reg) / 2; cnt++) fw->resp_dma_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x50); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->dma_reg) / 2; cnt++) fw->dma_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x00); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0xA0); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0xA0); for (cnt = 0; cnt < sizeof(fw->risc_hdw_reg) / 2; cnt++) fw->risc_hdw_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2000); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp0_reg) / 2; cnt++) fw->risc_gp0_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2200); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp1_reg) / 2; cnt++) fw->risc_gp1_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2400); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp2_reg) / 2; cnt++) fw->risc_gp2_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2600); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp3_reg) / 2; cnt++) fw->risc_gp3_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2800); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp4_reg) / 2; cnt++) fw->risc_gp4_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2A00); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp5_reg) / 2; cnt++) fw->risc_gp5_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2C00); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp6_reg) / 2; cnt++) fw->risc_gp6_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2E00); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp7_reg) / 2; cnt++) fw->risc_gp7_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x10); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->frame_buf_hdw_reg) / 2; cnt++) fw->frame_buf_hdw_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x20); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->fpm_b0_reg) / 2; cnt++) fw->fpm_b0_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x30); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->fpm_b1_reg) / 2; cnt++) fw->fpm_b1_reg[cnt] = RD_REG_WORD(dmp_reg++); @@ -221,6 +221,7 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->semaphore, 0); WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } else if (stat == 0x10 || stat == 0x11) { set_bit(MBX_INTERRUPT, @@ -231,11 +232,13 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } /* clear this intr; it wasn't a mailbox intr */ WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); } udelay(5); } @@ -277,6 +280,7 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->semaphore, 0); WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } else if (stat == 0x10 || stat == 0x11) { set_bit(MBX_INTERRUPT, @@ -287,11 +291,13 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } /* clear this intr; it wasn't a mailbox intr */ WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); } udelay(5); } @@ -334,6 +340,7 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->semaphore, 0); WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } else if (stat == 0x10 || stat == 0x11) { set_bit(MBX_INTERRUPT, @@ -344,11 +351,13 @@ qla2300_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } /* clear this intr; it wasn't a mailbox intr */ WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); } udelay(5); } @@ -578,13 +587,11 @@ qla2100_fw_dump(scsi_qla_host_t *ha, int hardware_locked) uint32_t cnt, timer; uint16_t risc_address; uint16_t mb0, mb2; - - device_reg_t *reg; - uint16_t *dmp_reg; + device_reg_t __iomem *reg = ha->iobase; + uint16_t __iomem *dmp_reg; unsigned long flags; struct qla2100_fw_dump *fw; - reg = ha->iobase; risc_address = 0; mb0 = mb2 = 0; flags = 0; @@ -624,79 +631,79 @@ qla2100_fw_dump(scsi_qla_host_t *ha, int hardware_locked) rval = QLA_FUNCTION_TIMEOUT; } if (rval == QLA_SUCCESS) { - dmp_reg = (uint16_t *)(reg + 0); + dmp_reg = (uint16_t __iomem *)(reg + 0); for (cnt = 0; cnt < sizeof(fw->pbiu_reg) / 2; cnt++) fw->pbiu_reg[cnt] = RD_REG_WORD(dmp_reg++); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x10); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x10); for (cnt = 0; cnt < ha->mbx_count; cnt++) { if (cnt == 8) { - dmp_reg = (uint16_t *)((uint8_t *)reg + 0xe0); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0xe0); } fw->mailbox_reg[cnt] = RD_REG_WORD(dmp_reg++); } - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x20); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x20); for (cnt = 0; cnt < sizeof(fw->dma_reg) / 2; cnt++) fw->dma_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x00); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0xA0); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0xA0); for (cnt = 0; cnt < sizeof(fw->risc_hdw_reg) / 2; cnt++) fw->risc_hdw_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2000); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp0_reg) / 2; cnt++) fw->risc_gp0_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2100); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp1_reg) / 2; cnt++) fw->risc_gp1_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2200); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp2_reg) / 2; cnt++) fw->risc_gp2_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2300); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp3_reg) / 2; cnt++) fw->risc_gp3_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2400); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp4_reg) / 2; cnt++) fw->risc_gp4_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2500); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp5_reg) / 2; cnt++) fw->risc_gp5_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2600); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp6_reg) / 2; cnt++) fw->risc_gp6_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->pcr, 0x2700); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->risc_gp7_reg) / 2; cnt++) fw->risc_gp7_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x10); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->frame_buf_hdw_reg) / 2; cnt++) fw->frame_buf_hdw_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x20); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->fpm_b0_reg) / 2; cnt++) fw->fpm_b0_reg[cnt] = RD_REG_WORD(dmp_reg++); WRT_REG_WORD(®->ctrl_status, 0x30); - dmp_reg = (uint16_t *)((uint8_t *)reg + 0x80); + dmp_reg = (uint16_t __iomem *)((uint8_t __iomem *)reg + 0x80); for (cnt = 0; cnt < sizeof(fw->fpm_b1_reg) / 2; cnt++) fw->fpm_b1_reg[cnt] = RD_REG_WORD(dmp_reg++); @@ -731,6 +738,7 @@ qla2100_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->mctr, 0xf1); else WRT_REG_WORD(®->mctr, 0xf2); + RD_REG_WORD(®->mctr); /* PCI Posting. */ /* Release RISC. */ WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC); @@ -761,9 +769,11 @@ qla2100_fw_dump(scsi_qla_host_t *ha, int hardware_locked) WRT_REG_WORD(®->semaphore, 0); WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); break; } WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); } udelay(5); } @@ -974,9 +984,7 @@ qla_uprintf(char **uiter, char *fmt, ...) void qla2x00_dump_regs(scsi_qla_host_t *ha) { - device_reg_t *reg; - - reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; printk("Mailbox registers:\n"); printk("scsi(%ld): mbox 0 0x%04x \n", diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 96de77053..6c94b8667 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h @@ -26,8 +26,10 @@ #include #include #include +#include #include #include +#include #include #include #include @@ -232,6 +234,7 @@ /* ISP request and response entry counts (37-65535) */ #define REQUEST_ENTRY_CNT_2100 128 /* Number of request entries. */ #define REQUEST_ENTRY_CNT_2200 2048 /* Number of request entries. */ +#define REQUEST_ENTRY_CNT_2XXX_EXT_MEM 4096 /* Number of request entries. */ #define RESPONSE_ENTRY_CNT_2100 64 /* Number of response entries.*/ #define RESPONSE_ENTRY_CNT_2300 512 /* Number of response entries.*/ @@ -2028,6 +2031,16 @@ struct qla_board_info { struct qla_fw_info *fw_info; }; +/* Return data from MBC_GET_ID_LIST call. */ +struct gid_list_info { + uint8_t al_pa; + uint8_t area; + uint8_t domain; + uint8_t loop_id_2100; /* ISP2100/ISP2200 -- 4 bytes. */ + uint16_t loop_id; /* ISP23XX -- 6 bytes. */ +}; +#define GID_LIST_SIZE (sizeof(struct gid_list_info) * MAX_FIBRE_DEVICES) + /* * Linux Host Adapter structure */ @@ -2113,11 +2126,9 @@ typedef struct scsi_qla_host { spinlock_t hardware_lock ____cacheline_aligned; - device_reg_t *iobase; /* Base I/O address */ + device_reg_t __iomem *iobase; /* Base I/O address */ unsigned long pio_address; unsigned long pio_length; - void * mmio_address; - unsigned long mmio_length; #define MIN_IOBASE_LEN 0x100 /* ISP ring lock, rings, and indexes */ @@ -2239,8 +2250,6 @@ typedef struct scsi_qla_host { struct io_descriptor io_descriptors[MAX_IO_DESCRIPTORS]; uint16_t iodesc_signature; - port_database_t *iodesc_pd; - dma_addr_t iodesc_pd_dma; /* OS target queue pointers. */ os_tgt_t *otgt[MAX_FIBRE_DEVICES]; @@ -2275,10 +2284,22 @@ typedef struct scsi_qla_host { uint32_t timer_active; struct timer_list timer; - /* Firmware Initialization Control Block data */ - dma_addr_t init_cb_dma; /* Physical address. */ + dma_addr_t gid_list_dma; + struct gid_list_info *gid_list; + + dma_addr_t rlc_rsp_dma; + rpt_lun_cmd_rsp_t *rlc_rsp; + + /* Small DMA pool allocations -- maximum 256 bytes in length. */ +#define DMA_POOL_SIZE 256 + struct dma_pool *s_dma_pool; + + dma_addr_t init_cb_dma; init_cb_t *init_cb; - + + dma_addr_t iodesc_pd_dma; + port_database_t *iodesc_pd; + /* These are used by mailbox operations. */ volatile uint16_t mailbox_out[MAILBOX_REGISTER_COUNT]; diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 1b54cde88..ef5abaaf8 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h @@ -246,7 +246,8 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map); /* * Global Function Prototypes in qla_isr.c source file. */ -extern irqreturn_t qla2x00_intr_handler(int, void *, struct pt_regs *); +extern irqreturn_t qla2100_intr_handler(int, void *, struct pt_regs *); +extern irqreturn_t qla2300_intr_handler(int, void *, struct pt_regs *); extern void qla2x00_process_response_queue(struct scsi_qla_host *); /* diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index e31b5fe3e..aa6e8103d 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c @@ -37,6 +37,7 @@ static int qla2x00_pci_config(scsi_qla_host_t *); static int qla2x00_isp_firmware(scsi_qla_host_t *); static void qla2x00_reset_chip(scsi_qla_host_t *); static int qla2x00_chip_diag(scsi_qla_host_t *); +static void qla2x00_resize_request_q(scsi_qla_host_t *); static int qla2x00_setup_chip(scsi_qla_host_t *); static void qla2x00_init_response_q_entries(scsi_qla_host_t *); static int qla2x00_init_rings(scsi_qla_host_t *); @@ -50,8 +51,7 @@ static void qla2x00_update_fcport(scsi_qla_host_t *, fc_port_t *); static void qla2x00_lun_discovery(scsi_qla_host_t *, fc_port_t *); static int qla2x00_rpt_lun_discovery(scsi_qla_host_t *, fc_port_t *, inq_cmd_rsp_t *, dma_addr_t); -static int qla2x00_report_lun(scsi_qla_host_t *, fc_port_t *, - rpt_lun_cmd_rsp_t *, dma_addr_t); +static int qla2x00_report_lun(scsi_qla_host_t *, fc_port_t *); static fc_lun_t *qla2x00_cfg_lun(scsi_qla_host_t *, fc_port_t *, uint16_t, inq_cmd_rsp_t *, dma_addr_t); static fc_lun_t * qla2x00_add_lun(fc_port_t *, uint16_t); @@ -217,7 +217,9 @@ check_fw_ready_again: rval = QLA_FUNCTION_FAILED; if (ha->mem_err) restart_risc = 1; - } + } else if (ha->device_flags & DFLG_NO_CABLE) + /* If no cable, then all is good. */ + rval = QLA_SUCCESS; } } while (restart_risc && retry--); @@ -306,6 +308,7 @@ qla2x00_pci_config(scsi_qla_host_t *ha) /* Select FPM registers. */ WRT_REG_WORD(&ha->iobase->ctrl_status, 0x20); + RD_REG_WORD(&ha->iobase->ctrl_status); /* Get the fb rev level */ ha->fb_rev = RD_FB_CMD_REG(ha, ha->iobase); @@ -315,6 +318,7 @@ qla2x00_pci_config(scsi_qla_host_t *ha) /* Deselect FPM registers. */ WRT_REG_WORD(&ha->iobase->ctrl_status, 0x0); + RD_REG_WORD(&ha->iobase->ctrl_status); /* Release RISC module. */ WRT_REG_WORD(&ha->iobase->hccr, HCCR_RELEASE_RISC); @@ -381,7 +385,7 @@ static void qla2x00_reset_chip(scsi_qla_host_t *ha) { unsigned long flags = 0; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; uint32_t cnt; unsigned long mbx_flags = 0; uint16_t cmd; @@ -408,25 +412,32 @@ qla2x00_reset_chip(scsi_qla_host_t *ha) udelay(100); } } else { + RD_REG_WORD(®->hccr); /* PCI Posting. */ udelay(10); } /* Select FPM registers. */ WRT_REG_WORD(®->ctrl_status, 0x20); + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ /* FPM Soft Reset. */ WRT_REG_WORD(®->fpm_diag_config, 0x100); + RD_REG_WORD(®->fpm_diag_config); /* PCI Posting. */ /* Toggle Fpm Reset. */ - if (!IS_QLA2200(ha)) + if (!IS_QLA2200(ha)) { WRT_REG_WORD(®->fpm_diag_config, 0x0); + RD_REG_WORD(®->fpm_diag_config); /* PCI Posting. */ + } /* Select frame buffer registers. */ WRT_REG_WORD(®->ctrl_status, 0x10); + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ /* Reset frame buffer FIFOs. */ if (IS_QLA2200(ha)) { WRT_FB_CMD_REG(ha, reg, 0xa000); + RD_FB_CMD_REG(ha, reg); /* PCI Posting. */ } else { WRT_FB_CMD_REG(ha, reg, 0x00fc); @@ -440,12 +451,15 @@ qla2x00_reset_chip(scsi_qla_host_t *ha) /* Select RISC module registers. */ WRT_REG_WORD(®->ctrl_status, 0); + RD_REG_WORD(®->ctrl_status); /* PCI Posting. */ /* Reset RISC processor. */ WRT_REG_WORD(®->hccr, HCCR_RESET_RISC); + RD_REG_WORD(®->hccr); /* PCI Posting. */ /* Release RISC processor. */ WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC); + RD_REG_WORD(®->hccr); /* PCI Posting. */ } WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); @@ -478,7 +492,7 @@ qla2x00_reset_chip(scsi_qla_host_t *ha) /* Release RISC processor. */ WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC); - RD_REG_WORD(®->hccr); /* PCI Posting. */ + RD_REG_WORD(®->hccr); /* PCI Posting. */ if (IS_QLA2100(ha) || IS_QLA2200(ha) || IS_QLA2300(ha)) { for (cnt = 0; cnt < 30000; cnt++) { @@ -507,8 +521,10 @@ qla2x00_reset_chip(scsi_qla_host_t *ha) pci_write_config_word(ha->pdev, PCI_COMMAND, cmd); /* Disable RISC pause on FPM parity error. */ - if (!IS_QLA2100(ha)) + if (!IS_QLA2100(ha)) { WRT_REG_WORD(®->hccr, HCCR_DISABLE_PARITY_PAUSE); + RD_REG_WORD(®->hccr); /* PCI Posting. */ + } spin_unlock_irqrestore(&ha->hardware_lock, flags); } @@ -523,7 +539,7 @@ static int qla2x00_chip_diag(scsi_qla_host_t *ha) { int rval; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; unsigned long flags = 0; uint16_t data; uint32_t cnt; @@ -539,6 +555,7 @@ qla2x00_chip_diag(scsi_qla_host_t *ha) /* Reset ISP chip. */ WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET); + /* * We need to have a delay here since the card will not respond while * in reset causing an MCA on some architectures. @@ -637,6 +654,59 @@ chip_diag_failed: return (rval); } +/** + * qla2x00_resize_request_q() - Resize request queue given available ISP memory. + * @ha: HA context + * + * Returns 0 on success. + */ +static void +qla2x00_resize_request_q(scsi_qla_host_t *ha) +{ + int rval; + uint16_t fw_iocb_cnt = 0; + uint16_t request_q_length = REQUEST_ENTRY_CNT_2XXX_EXT_MEM; + dma_addr_t request_dma; + request_t *request_ring; + + /* Valid only on recent ISPs. */ + if (IS_QLA2100(ha) || IS_QLA2200(ha)) + return; + + /* Retrieve IOCB counts available to the firmware. */ + rval = qla2x00_get_resource_cnts(ha, NULL, NULL, NULL, &fw_iocb_cnt); + if (rval) + return; + /* No point in continuing if current settings are sufficient. */ + if (fw_iocb_cnt < 1024) + return; + if (ha->request_q_length >= request_q_length) + return; + + /* Attempt to claim larger area for request queue. */ + request_ring = dma_alloc_coherent(&ha->pdev->dev, + (request_q_length + 1) * sizeof(request_t), &request_dma, + GFP_KERNEL); + if (request_ring == NULL) + return; + + /* Resize successful, report extensions. */ + qla_printk(KERN_INFO, ha, "Extended memory detected (%d KB)...\n", + (ha->fw_memory_size + 1) / 1024); + qla_printk(KERN_INFO, ha, "Resizing request queue depth " + "(%d -> %d)...\n", ha->request_q_length, request_q_length); + + /* Clear old allocations. */ + dma_free_coherent(&ha->pdev->dev, + (ha->request_q_length + 1) * sizeof(request_t), ha->request_ring, + ha->request_dma); + + /* Begin using larger queue. */ + ha->request_q_length = request_q_length; + ha->request_ring = request_ring; + ha->request_dma = request_dma; +} + /** * qla2x00_setup_chip() - Load and start RISC firmware. * @ha: HA context @@ -734,9 +804,9 @@ qla2x00_setup_chip(scsi_qla_host_t *ha) &ha->fw_minor_version, &ha->fw_subminor_version, &ha->fw_attributes, &ha->fw_memory_size); + qla2x00_resize_request_q(ha); } - } - else { + } else { DEBUG2(printk(KERN_INFO "scsi(%ld): ISP Firmware failed checksum.\n", ha->host_no)); @@ -783,7 +853,6 @@ qla2x00_init_response_q_entries(scsi_qla_host_t *ha) static void qla2x00_update_fw_options(scsi_qla_host_t *ha) { - /* Setup seriallink options */ uint16_t swing, emphasis; memset(ha->fw_options, 0, sizeof(ha->fw_options)); @@ -807,7 +876,6 @@ qla2x00_update_fw_options(scsi_qla_host_t *ha) emphasis = ha->fw_seriallink_options[0] & (BIT_4 | BIT_3); emphasis >>= 3; ha->fw_options[10] = (emphasis << 14) | (swing << 8) | 0x3; - /* 2G settings */ swing = ha->fw_seriallink_options[0] & (BIT_7 | BIT_6 | BIT_5); swing >>= 5; @@ -818,7 +886,7 @@ qla2x00_update_fw_options(scsi_qla_host_t *ha) /* Return command IOCBs without waiting for an ABTS to complete. */ ha->fw_options[3] |= BIT_13; - /* Update Serial Link options. */ + /* Update firmware options. */ qla2x00_set_fw_options(ha, ha->fw_options); } @@ -837,13 +905,13 @@ qla2x00_init_rings(scsi_qla_host_t *ha) int rval; unsigned long flags = 0; int cnt; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; spin_lock_irqsave(&ha->hardware_lock, flags); /* Clear outstanding commands array. */ for (cnt = 0; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) - ha->outstanding_cmds[cnt] = 0; + ha->outstanding_cmds[cnt] = NULL; ha->current_outstanding_cmd = 0; @@ -858,6 +926,16 @@ qla2x00_init_rings(scsi_qla_host_t *ha) ha->response_ring_ptr = ha->response_ring; ha->rsp_ring_index = 0; + /* Setup ring parameters in initialization control block. */ + ha->init_cb->request_q_outpointer = __constant_cpu_to_le16(0); + ha->init_cb->response_q_inpointer = __constant_cpu_to_le16(0); + ha->init_cb->request_q_length = cpu_to_le16(ha->request_q_length); + ha->init_cb->response_q_length = cpu_to_le16(ha->response_q_length); + ha->init_cb->request_q_address[0] = cpu_to_le32(LSD(ha->request_dma)); + ha->init_cb->request_q_address[1] = cpu_to_le32(MSD(ha->request_dma)); + ha->init_cb->response_q_address[0] = cpu_to_le32(LSD(ha->response_dma)); + ha->init_cb->response_q_address[1] = cpu_to_le32(MSD(ha->response_dma)); + /* Initialize response queue entries */ qla2x00_init_response_q_entries(ha); @@ -865,19 +943,19 @@ qla2x00_init_rings(scsi_qla_host_t *ha) WRT_REG_WORD(ISP_REQ_Q_OUT(ha, reg), 0); WRT_REG_WORD(ISP_RSP_Q_IN(ha, reg), 0); WRT_REG_WORD(ISP_RSP_Q_OUT(ha, reg), 0); - RD_REG_WORD(ISP_RSP_Q_OUT(ha, reg)); + RD_REG_WORD(ISP_RSP_Q_OUT(ha, reg)); /* PCI Posting. */ spin_unlock_irqrestore(&ha->hardware_lock, flags); + /* Update any ISP specific firmware options before initialization. */ + qla2x00_update_fw_options(ha); + DEBUG(printk("scsi(%ld): Issue init firmware.\n", ha->host_no)); rval = qla2x00_init_firmware(ha, sizeof(init_cb_t)); if (rval) { DEBUG2_3(printk("scsi(%ld): Init firmware **** FAILED ****.\n", ha->host_no)); } else { - /* Update any ISP specific firmware options. */ - qla2x00_update_fw_options(ha); - DEBUG3(printk("scsi(%ld): Init firmware -- success.\n", ha->host_no)); } @@ -969,8 +1047,7 @@ qla2x00_fw_ready(scsi_qla_host_t *ha) break; /* Delay for a while */ - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ / 2); + msleep(500); DEBUG3(printk("scsi(%ld): fw_state=%x curr time=%lx.\n", ha->host_no, fw_state, jiffies)); @@ -1115,14 +1192,11 @@ qla2x00_nvram_config(scsi_qla_host_t *ha) init_cb_t *icb = ha->init_cb; nvram_t *nv = (nvram_t *)ha->request_ring; uint16_t *wptr = (uint16_t *)ha->request_ring; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; uint8_t timer_mode; rval = QLA_SUCCESS; - if (ha->flags.init_done) - return (rval); - /* Determine NVRAM starting address. */ ha->nvram_base = 0; if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) @@ -1405,18 +1479,6 @@ qla2x00_nvram_config(scsi_qla_host_t *ha) ha->binding_type = BIND_BY_PORT_NAME; } - /* - * Setup ring parameters in initialization control block - */ - icb->request_q_outpointer = __constant_cpu_to_le16(0); - icb->response_q_inpointer = __constant_cpu_to_le16(0); - icb->request_q_length = cpu_to_le16(ha->request_q_length); - icb->response_q_length = cpu_to_le16(ha->response_q_length); - icb->request_q_address[0] = cpu_to_le32(LSD(ha->request_dma)); - icb->request_q_address[1] = cpu_to_le32(MSD(ha->request_dma)); - icb->response_q_address[0] = cpu_to_le32(LSD(ha->response_dma)); - icb->response_q_address[1] = cpu_to_le32(MSD(ha->response_dma)); - icb->lun_enables = __constant_cpu_to_le16(0); icb->command_resource_count = 0; icb->immediate_notify_resource_count = 0; @@ -1640,50 +1702,28 @@ qla2x00_configure_local_loop(scsi_qla_host_t *ha) uint16_t index; uint16_t entries; - struct dev_id { - uint8_t al_pa; - uint8_t area; - uint8_t domain; - uint8_t loop_id_2100; /* ISP2100/ISP2200 -- 4 bytes. */ - uint16_t loop_id; /* ISP23XX -- 6 bytes. */ - } *id_list; -#define MAX_ID_LIST_SIZE (sizeof(struct dev_id) * MAX_FIBRE_DEVICES) - dma_addr_t id_list_dma; char *id_iter; uint16_t loop_id; uint8_t domain, area, al_pa; found_devs = 0; new_fcport = NULL; - entries = MAX_FIBRE_DEVICES; - id_list = pci_alloc_consistent(ha->pdev, MAX_ID_LIST_SIZE, - &id_list_dma); - if (id_list == NULL) { - DEBUG2(printk("scsi(%ld): Failed to allocate memory, No local " - "loop\n", ha->host_no)); - - qla_printk(KERN_WARNING, ha, - "Memory Allocation failed - port_list"); - - ha->mem_err++; - return (QLA_MEMORY_ALLOC_FAILED); - } - memset(id_list, 0, MAX_ID_LIST_SIZE); DEBUG3(printk("scsi(%ld): Getting FCAL position map\n", ha->host_no)); DEBUG3(qla2x00_get_fcal_position_map(ha, NULL)); /* Get list of logged in devices. */ - rval = qla2x00_get_id_list(ha, id_list, id_list_dma, &entries); - if (rval != QLA_SUCCESS) { + memset(ha->gid_list, 0, GID_LIST_SIZE); + rval = qla2x00_get_id_list(ha, ha->gid_list, ha->gid_list_dma, + &entries); + if (rval != QLA_SUCCESS) goto cleanup_allocation; - } DEBUG3(printk("scsi(%ld): Entries in ID list (%d)\n", ha->host_no, entries)); - DEBUG3(qla2x00_dump_buffer((uint8_t *)id_list, - entries * sizeof(struct dev_id))); + DEBUG3(qla2x00_dump_buffer((uint8_t *)ha->gid_list, + entries * sizeof(struct gid_list_info))); /* Allocate temporary fcport for any new fcports discovered. */ new_fcport = qla2x00_alloc_fcport(ha, GFP_KERNEL); @@ -1711,18 +1751,18 @@ qla2x00_configure_local_loop(scsi_qla_host_t *ha) } /* Add devices to port list. */ - id_iter = (char *)id_list; + id_iter = (char *)ha->gid_list; for (index = 0; index < entries; index++) { - domain = ((struct dev_id *)id_iter)->domain; - area = ((struct dev_id *)id_iter)->area; - al_pa = ((struct dev_id *)id_iter)->al_pa; + domain = ((struct gid_list_info *)id_iter)->domain; + area = ((struct gid_list_info *)id_iter)->area; + al_pa = ((struct gid_list_info *)id_iter)->al_pa; if (IS_QLA2100(ha) || IS_QLA2200(ha)) { - loop_id = - (uint16_t)((struct dev_id *)id_iter)->loop_id_2100; + loop_id = (uint16_t) + ((struct gid_list_info *)id_iter)->loop_id_2100; id_iter += 4; } else { - loop_id = - le16_to_cpu(((struct dev_id *)id_iter)->loop_id); + loop_id = le16_to_cpu( + ((struct gid_list_info *)id_iter)->loop_id); id_iter += 6; } @@ -1793,8 +1833,6 @@ qla2x00_configure_local_loop(scsi_qla_host_t *ha) } cleanup_allocation: - pci_free_consistent(ha->pdev, MAX_ID_LIST_SIZE, id_list, id_list_dma); - if (new_fcport) kfree(new_fcport); @@ -1902,7 +1940,7 @@ qla2x00_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport) dma_addr_t inq_dma; uint16_t lun; - inq = pci_alloc_consistent(ha->pdev, sizeof(inq_cmd_rsp_t), &inq_dma); + inq = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &inq_dma); if (inq == NULL) { qla_printk(KERN_WARNING, ha, "Memory Allocation failed - INQ\n"); @@ -1918,7 +1956,7 @@ qla2x00_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport) } } - pci_free_consistent(ha->pdev, sizeof(inq_cmd_rsp_t), inq, inq_dma); + dma_pool_free(ha->s_dma_pool, inq, inq_dma); } /* @@ -1942,8 +1980,6 @@ qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, int rval; uint32_t len, cnt; uint16_t lun; - rpt_lun_cmd_rsp_t *rlc; - dma_addr_t rlc_dma; /* Assume a failed status */ rval = QLA_FUNCTION_FAILED; @@ -1952,30 +1988,19 @@ qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, if ((fcport->flags & FCF_RLC_SUPPORT) == 0) return (rval); - rlc = pci_alloc_consistent(ha->pdev, sizeof(rpt_lun_cmd_rsp_t), - &rlc_dma); - if (rlc == NULL) { - qla_printk(KERN_WARNING, ha, - "Memory Allocation failed - RLC"); - return QLA_MEMORY_ALLOC_FAILED; - } - - rval = qla2x00_report_lun(ha, fcport, rlc, rlc_dma); - if (rval != QLA_SUCCESS) { - pci_free_consistent(ha->pdev, sizeof(rpt_lun_cmd_rsp_t), rlc, - rlc_dma); + rval = qla2x00_report_lun(ha, fcport); + if (rval != QLA_SUCCESS) return (rval); - } /* Always add a fc_lun_t structure for lun 0 -- mid-layer requirement */ qla2x00_add_lun(fcport, 0); /* Configure LUN list. */ - len = be32_to_cpu(rlc->list.hdr.len); + len = be32_to_cpu(ha->rlc_rsp->list.hdr.len); len /= 8; for (cnt = 0; cnt < len; cnt++) { - lun = CHAR_TO_SHORT(rlc->list.lst[cnt].lsb, - rlc->list.lst[cnt].msb.b); + lun = CHAR_TO_SHORT(ha->rlc_rsp->list.lst[cnt].lsb, + ha->rlc_rsp->list.lst[cnt].msb.b); DEBUG3(printk("scsi(%ld): RLC lun = (%d)\n", ha->host_no, lun)); @@ -1986,8 +2011,6 @@ qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, } atomic_set(&fcport->state, FCS_ONLINE); - pci_free_consistent(ha->pdev, sizeof(rpt_lun_cmd_rsp_t), rlc, rlc_dma); - return (rval); } @@ -1998,8 +2021,6 @@ qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, * Input: * ha: adapter state pointer. * fcport: FC port structure pointer. - * mem: pointer to dma memory object for report LUN IOCB - * packet. * * Returns: * qla2x00 local function return status code. @@ -2008,15 +2029,18 @@ qla2x00_rpt_lun_discovery(scsi_qla_host_t *ha, fc_port_t *fcport, * Kernel context. */ static int -qla2x00_report_lun(scsi_qla_host_t *ha, - fc_port_t *fcport, rpt_lun_cmd_rsp_t *rlc, dma_addr_t rlc_dma) +qla2x00_report_lun(scsi_qla_host_t *ha, fc_port_t *fcport) { int rval; uint16_t retries; uint16_t comp_status; uint16_t scsi_status; + rpt_lun_cmd_rsp_t *rlc; + dma_addr_t rlc_dma; rval = QLA_FUNCTION_FAILED; + rlc = ha->rlc_rsp; + rlc_dma = ha->rlc_rsp_dma; for (retries = 3; retries; retries--) { memset(rlc, 0, sizeof(rpt_lun_cmd_rsp_t)); @@ -4133,7 +4157,7 @@ qla2x00_abort_isp(scsi_qla_host_t *ha) for (cnt = 1; cnt < MAX_OUTSTANDING_COMMANDS; cnt++) { sp = ha->outstanding_cmds[cnt]; if (sp) { - ha->outstanding_cmds[cnt] = 0; + ha->outstanding_cmds[cnt] = NULL; if (ha->actthreads) ha->actthreads--; sp->lun_queue->out_cnt--; @@ -4247,7 +4271,7 @@ static int qla2x00_restart_isp(scsi_qla_host_t *ha) { uint8_t status = 0; - device_reg_t *reg; + device_reg_t __iomem *reg = ha->iobase; unsigned long flags = 0; uint32_t wait_time; @@ -4261,9 +4285,13 @@ qla2x00_restart_isp(scsi_qla_host_t *ha) } reg = ha->iobase; + spin_lock_irqsave(&ha->hardware_lock, flags); + /* Disable SRAM, Instruction RAM and GP RAM parity. */ WRT_REG_WORD(®->hccr, (HCCR_ENABLE_PARITY + 0x0)); + RD_REG_WORD(®->hccr); /* PCI Posting. */ + spin_unlock_irqrestore(&ha->hardware_lock, flags); status = qla2x00_setup_chip(ha); @@ -4279,6 +4307,7 @@ qla2x00_restart_isp(scsi_qla_host_t *ha) /* SRAM, Instruction RAM and GP RAM parity */ WRT_REG_WORD(®->hccr, (HCCR_ENABLE_PARITY + 0x7)); + RD_REG_WORD(®->hccr); /* PCI Posting. */ spin_unlock_irqrestore(&ha->hardware_lock, flags); } @@ -4327,13 +4356,16 @@ static void qla2x00_reset_adapter(scsi_qla_host_t *ha) { unsigned long flags = 0; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; ha->flags.online = 0; qla2x00_disable_intrs(ha); + /* Reset RISC processor. */ spin_lock_irqsave(&ha->hardware_lock, flags); WRT_REG_WORD(®->hccr, HCCR_RESET_RISC); + RD_REG_WORD(®->hccr); /* PCI Posting. */ WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC); + RD_REG_WORD(®->hccr); /* PCI Posting. */ spin_unlock_irqrestore(&ha->hardware_lock, flags); } diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h index 9bd7757b9..07c11330f 100644 --- a/drivers/scsi/qla2xxx/qla_inline.h +++ b/drivers/scsi/qla2xxx/qla_inline.h @@ -18,7 +18,7 @@ */ -static __inline__ uint16_t qla2x00_debounce_register(volatile uint16_t *); +static __inline__ uint16_t qla2x00_debounce_register(volatile uint16_t __iomem *); /* * qla2x00_debounce_register * Debounce register. @@ -30,7 +30,7 @@ static __inline__ uint16_t qla2x00_debounce_register(volatile uint16_t *); * register value. */ static __inline__ uint16_t -qla2x00_debounce_register(volatile uint16_t *addr) +qla2x00_debounce_register(volatile uint16_t __iomem *addr) { volatile uint16_t first; volatile uint16_t second; @@ -117,7 +117,10 @@ static __inline__ void qla2x00_poll(scsi_qla_host_t *); static inline void qla2x00_poll(scsi_qla_host_t *ha) { - qla2x00_intr_handler(0, ha, NULL); + if (IS_QLA2100(ha) || IS_QLA2200(ha)) + qla2100_intr_handler(0, ha, NULL); + else + qla2300_intr_handler(0, ha, NULL); } @@ -128,10 +131,9 @@ static inline void qla2x00_enable_intrs(scsi_qla_host_t *ha) { unsigned long flags = 0; - device_reg_t *reg; + device_reg_t __iomem *reg = ha->iobase; spin_lock_irqsave(&ha->hardware_lock, flags); - reg = ha->iobase; ha->interrupts_on = 1; /* enable risc and host interrupts */ WRT_REG_WORD(®->ictrl, ICR_EN_INT | ICR_EN_RISC); @@ -144,10 +146,9 @@ static inline void qla2x00_disable_intrs(scsi_qla_host_t *ha) { unsigned long flags = 0; - device_reg_t *reg; + device_reg_t __iomem *reg = ha->iobase; spin_lock_irqsave(&ha->hardware_lock, flags); - reg = ha->iobase; ha->interrupts_on = 0; /* disable risc and host interrupts */ WRT_REG_WORD(®->ictrl, 0); diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index 710a88d67..ed3f9413a 100644 --- a/drivers/scsi/qla2xxx/qla_iocb.c +++ b/drivers/scsi/qla2xxx/qla_iocb.c @@ -22,6 +22,8 @@ #include #include +#include + static inline uint16_t qla2x00_get_cmd_direction(struct scsi_cmnd *cmd); static inline cont_entry_t *qla2x00_prep_cont_type0_iocb(scsi_qla_host_t *); static inline cont_a64_entry_t *qla2x00_prep_cont_type1_iocb(scsi_qla_host_t *); @@ -336,14 +338,15 @@ qla2x00_start_scsi(srb_t *sp) uint16_t cnt; uint16_t req_cnt; uint16_t tot_dsds; - device_reg_t *reg; + device_reg_t __iomem *reg; + char tag[2]; /* Setup device pointers. */ ret = 0; fclun = sp->lun_queue->fclun; ha = fclun->fcport->ha; - cmd = sp->cmd; reg = ha->iobase; + cmd = sp->cmd; /* Send marker if required */ if (ha->marker_needed != 0) { @@ -416,13 +419,13 @@ qla2x00_start_scsi(srb_t *sp) /* Update tagged queuing modifier */ cmd_pkt->control_flags = __constant_cpu_to_le16(CF_SIMPLE_TAG); - if (cmd->device->tagged_supported) { - switch (cmd->tag) { - case HEAD_OF_QUEUE_TAG: + if (scsi_populate_tag_msg(cmd, tag)) { + switch (tag[0]) { + case MSG_HEAD_TAG: cmd_pkt->control_flags = __constant_cpu_to_le16(CF_HEAD_TAG); break; - case ORDERED_QUEUE_TAG: + case MSG_ORDERED_TAG: cmd_pkt->control_flags = __constant_cpu_to_le16(CF_ORDERED_TAG); break; @@ -544,7 +547,7 @@ qla2x00_marker(scsi_qla_host_t *ha, uint16_t loop_id, uint16_t lun, request_t * qla2x00_req_pkt(scsi_qla_host_t *ha) { - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; request_t *pkt = NULL; uint16_t cnt; uint32_t *dword_ptr; @@ -613,7 +616,7 @@ qla2x00_req_pkt(scsi_qla_host_t *ha) request_t * qla2x00_ms_req_pkt(scsi_qla_host_t *ha, srb_t *sp) { - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; request_t *pkt = NULL; uint16_t cnt, i, index; uint32_t *dword_ptr; @@ -703,7 +706,7 @@ qla2x00_ms_req_pkt(scsi_qla_host_t *ha, srb_t *sp) void qla2x00_isp_cmd(scsi_qla_host_t *ha) { - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; DEBUG5(printk("%s(): IOCB data:\n", __func__)); DEBUG5(qla2x00_dump_buffer( diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index f9284fd87..5dbbc5197 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c @@ -30,7 +30,7 @@ static void qla2x00_ms_entry(scsi_qla_host_t *, ms_iocb_entry_t *); static int qla2x00_check_sense(struct scsi_cmnd *cp, os_lun_t *); /** - * qla2x00_intr_handler() - Process interrupts for the ISP. + * qla2100_intr_handler() - Process interrupts for the ISP2100 and ISP2200. * @irq: * @dev_id: SCSI driver HA context * @regs: @@ -40,20 +40,14 @@ static int qla2x00_check_sense(struct scsi_cmnd *cp, os_lun_t *); * Returns handled flag. */ irqreturn_t -qla2x00_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs) { scsi_qla_host_t *ha; - device_reg_t *reg; + device_reg_t __iomem *reg; + int status; + unsigned long flags; + unsigned long iter; uint32_t mbx; - int status = 0; - unsigned long flags = 0; - unsigned long mbx_flags = 0; - unsigned long intr_iter; - uint32_t stat; - uint16_t hccr; - - /* Don't loop forever, interrupt are OFF */ - intr_iter = 50; ha = (scsi_qla_host_t *) dev_id; if (!ha) { @@ -63,107 +57,40 @@ qla2x00_intr_handler(int irq, void *dev_id, struct pt_regs *regs) } reg = ha->iobase; + status = 0; spin_lock_irqsave(&ha->hardware_lock, flags); - - for (;;) { - /* Relax CPU! */ - if (!(intr_iter--)) + for (iter = 50; iter--; ) { + if ((RD_REG_WORD(®->istatus) & ISR_RISC_INT) == 0) break; - if (IS_QLA2100(ha) || IS_QLA2200(ha)) { - if ((RD_REG_WORD(®->istatus) & ISR_RISC_INT) == 0) - break; - - if (RD_REG_WORD(®->semaphore) & BIT_0) { - WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); - RD_REG_WORD(®->hccr); - - /* Get mailbox data. */ - mbx = RD_MAILBOX_REG(ha, reg, 0); - if (mbx > 0x3fff && mbx < 0x8000) { - qla2x00_mbx_completion(ha, - (uint16_t)mbx); - status |= MBX_INTERRUPT; - } else if (mbx > 0x7fff && mbx < 0xc000) { - qla2x00_async_event(ha, mbx); - } else { - /*EMPTY*/ - DEBUG2(printk("scsi(%ld): Unrecognized " - "interrupt type (%d)\n", - ha->host_no, mbx)); - } - /* Release mailbox registers. */ - WRT_REG_WORD(®->semaphore, 0); - /* Workaround for ISP2100 chip. */ - if (IS_QLA2100(ha)) - RD_REG_WORD(®->semaphore); - } else { - qla2x00_process_response_queue(ha); - - WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); - RD_REG_WORD(®->hccr); - } - } else /* IS_QLA23XX(ha) */ { - stat = RD_REG_DWORD(®->u.isp2300.host_status); - if (stat & HSR_RISC_PAUSED) { - hccr = RD_REG_WORD(®->hccr); - if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8)) - qla_printk(KERN_INFO, ha, - "Parity error -- HCCR=%x.\n", hccr); - else - qla_printk(KERN_INFO, ha, - "RISC paused -- HCCR=%x\n", hccr); - - /* - * Issue a "HARD" reset in order for the RISC - * interrupt bit to be cleared. Schedule a big - * hammmer to get out of the RISC PAUSED state. - */ - WRT_REG_WORD(®->hccr, HCCR_RESET_RISC); - RD_REG_WORD(®->hccr); - set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); - break; - } else if ((stat & HSR_RISC_INT) == 0) - break; + if (RD_REG_WORD(®->semaphore) & BIT_0) { + WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD(®->hccr); - mbx = MSW(stat); - switch (stat & 0xff) { - case 0x13: - qla2x00_process_response_queue(ha); - break; - case 0x1: - case 0x2: - case 0x10: - case 0x11: + /* Get mailbox data. */ + mbx = RD_MAILBOX_REG(ha, reg, 0); + if (mbx > 0x3fff && mbx < 0x8000) { qla2x00_mbx_completion(ha, (uint16_t)mbx); status |= MBX_INTERRUPT; - - /* Release mailbox registers. */ - WRT_REG_WORD(®->semaphore, 0); - break; - case 0x12: - qla2x00_async_event(ha, mbx); - break; - case 0x15: - mbx = mbx << 16 | MBA_CMPLT_1_16BIT; - qla2x00_async_event(ha, mbx); - break; - case 0x16: - mbx = mbx << 16 | MBA_SCSI_COMPLETION; + } else if (mbx > 0x7fff && mbx < 0xc000) { qla2x00_async_event(ha, mbx); - break; - default: + } else { + /*EMPTY*/ DEBUG2(printk("scsi(%ld): Unrecognized " "interrupt type (%d)\n", - ha->host_no, stat & 0xff)); - break; + ha->host_no, mbx)); } + /* Release mailbox registers. */ + WRT_REG_WORD(®->semaphore, 0); + RD_REG_WORD(®->semaphore); + } else { + qla2x00_process_response_queue(ha); + WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); - RD_REG_WORD_RELAXED(®->hccr); + RD_REG_WORD(®->hccr); } } - spin_unlock_irqrestore(&ha->hardware_lock, flags); qla2x00_next(ha); @@ -172,48 +99,130 @@ qla2x00_intr_handler(int irq, void *dev_id, struct pt_regs *regs) if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && (status & MBX_INTERRUPT) && ha->flags.mbox_int) { + spin_lock_irqsave(&ha->mbx_reg_lock, flags); - /* There was a mailbox completion */ - DEBUG3(printk("%s(%ld): Going to get mbx reg lock.\n", - __func__, ha->host_no)); + set_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags); + up(&ha->mbx_intr_sem); - spin_lock_irqsave(&ha->mbx_reg_lock, mbx_flags); + spin_unlock_irqrestore(&ha->mbx_reg_lock, flags); + } - if (ha->mcp == NULL) { - DEBUG3(printk("%s(%ld): Error mbx pointer.\n", - __func__, ha->host_no)); - } else { - DEBUG3(printk("%s(%ld): Going to set mbx intr flags. " - "cmd=%x.\n", - __func__, ha->host_no, ha->mcp->mb[0])); - } - set_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags); + if (!list_empty(&ha->done_queue)) + qla2x00_done(ha); - DEBUG3(printk("%s(%ld): Going to wake up mbx function for " - "completion.\n", - __func__, ha->host_no)); + return (IRQ_HANDLED); +} - up(&ha->mbx_intr_sem); +/** + * qla2300_intr_handler() - Process interrupts for the ISP23xx and ISP63xx. + * @irq: + * @dev_id: SCSI driver HA context + * @regs: + * + * Called by system whenever the host adapter generates an interrupt. + * + * Returns handled flag. + */ +irqreturn_t +qla2300_intr_handler(int irq, void *dev_id, struct pt_regs *regs) +{ + scsi_qla_host_t *ha; + device_reg_t __iomem *reg; + int status; + unsigned long flags; + unsigned long iter; + uint32_t stat; + uint32_t mbx; + uint16_t hccr; - DEBUG3(printk("%s(%ld): Going to release mbx reg lock.\n", - __func__, ha->host_no)); + ha = (scsi_qla_host_t *) dev_id; + if (!ha) { + printk(KERN_INFO + "%s(): NULL host pointer\n", __func__); + return (IRQ_NONE); + } + + reg = ha->iobase; + status = 0; + + spin_lock_irqsave(&ha->hardware_lock, flags); + for (iter = 50; iter--; ) { + stat = RD_REG_DWORD(®->u.isp2300.host_status); + if (stat & HSR_RISC_PAUSED) { + hccr = RD_REG_WORD(®->hccr); + if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8)) + qla_printk(KERN_INFO, ha, + "Parity error -- HCCR=%x.\n", hccr); + else + qla_printk(KERN_INFO, ha, + "RISC paused -- HCCR=%x\n", hccr); + + /* + * Issue a "HARD" reset in order for the RISC + * interrupt bit to be cleared. Schedule a big + * hammmer to get out of the RISC PAUSED state. + */ + WRT_REG_WORD(®->hccr, HCCR_RESET_RISC); + RD_REG_WORD(®->hccr); + set_bit(ISP_ABORT_NEEDED, &ha->dpc_flags); + break; + } else if ((stat & HSR_RISC_INT) == 0) + break; - spin_unlock_irqrestore(&ha->mbx_reg_lock, mbx_flags); + mbx = MSW(stat); + switch (stat & 0xff) { + case 0x13: + qla2x00_process_response_queue(ha); + break; + case 0x1: + case 0x2: + case 0x10: + case 0x11: + qla2x00_mbx_completion(ha, (uint16_t)mbx); + status |= MBX_INTERRUPT; + + /* Release mailbox registers. */ + WRT_REG_WORD(®->semaphore, 0); + break; + case 0x12: + qla2x00_async_event(ha, mbx); + break; + case 0x15: + mbx = mbx << 16 | MBA_CMPLT_1_16BIT; + qla2x00_async_event(ha, mbx); + break; + case 0x16: + mbx = mbx << 16 | MBA_SCSI_COMPLETION; + qla2x00_async_event(ha, mbx); + break; + default: + DEBUG2(printk("scsi(%ld): Unrecognized interrupt type " + "(%d)\n", + ha->host_no, stat & 0xff)); + break; + } + WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT); + RD_REG_WORD_RELAXED(®->hccr); } + spin_unlock_irqrestore(&ha->hardware_lock, flags); - if (!list_empty(&ha->done_queue)) - qla2x00_done(ha); + qla2x00_next(ha); + ha->last_irq_cpu = smp_processor_id(); + ha->total_isr_cnt++; + + if (test_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags) && + (status & MBX_INTERRUPT) && ha->flags.mbox_int) { + spin_lock_irqsave(&ha->mbx_reg_lock, flags); - /* Wakeup the DPC routine */ - if ((!ha->flags.mbox_busy && - (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) || - test_bit(RESET_MARKER_NEEDED, &ha->dpc_flags) || - test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))) && - ha->dpc_wait && !ha->dpc_active) { + set_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags); + up(&ha->mbx_intr_sem); - up(ha->dpc_wait); + spin_unlock_irqrestore(&ha->mbx_reg_lock, flags); } + if (!list_empty(&ha->done_queue)) + qla2x00_done(ha); + return (IRQ_HANDLED); } @@ -226,17 +235,17 @@ static void qla2x00_mbx_completion(scsi_qla_host_t *ha, uint16_t mb0) { uint16_t cnt; - uint16_t *wptr; - device_reg_t *reg = ha->iobase; + uint16_t __iomem *wptr; + device_reg_t __iomem *reg = ha->iobase; /* Load return mailbox registers. */ ha->flags.mbox_int = 1; ha->mailbox_out[0] = mb0; - wptr = (uint16_t *)MAILBOX_REG(ha, reg, 1); + wptr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 1); for (cnt = 1; cnt < ha->mbx_count; cnt++) { if (IS_QLA2200(ha) && cnt == 8) - wptr = (uint16_t *)MAILBOX_REG(ha, reg, 8); + wptr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 8); if (cnt == 4 || cnt == 5) ha->mailbox_out[cnt] = qla2x00_debounce_register(wptr); else @@ -268,7 +277,7 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint32_t mbx) uint16_t handle_cnt; uint16_t cnt; uint32_t handles[5]; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; uint32_t rscn_entry, host_pid; uint8_t rscn_queue_index; @@ -574,7 +583,7 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint32_t mbx) } /* - * If PORT UPDATE is global (recieved LIP_OCCURED/LIP_RESET + * If PORT UPDATE is global (received LIP_OCCURRED/LIP_RESET * event etc. earlier indicating loop is down) then process * it. Otherwise ignore it and Wait for RSCN to come in. */ @@ -715,7 +724,7 @@ qla2x00_process_completed_request(struct scsi_qla_host *ha, uint32_t index) void qla2x00_process_response_queue(struct scsi_qla_host *ha) { - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; sts_entry_t *pkt; uint16_t handle_cnt; uint16_t cnt; @@ -969,7 +978,7 @@ qla2x00_status_entry(scsi_qla_host_t *ha, sts_entry_t *pkt) sizeof(cp->sense_buffer)) sense_sz = le16_to_cpu(pkt->req_sense_length); else - sense_sz = sizeof(cp->sense_buffer) - 1; + sense_sz = sizeof(cp->sense_buffer); CMD_ACTUAL_SNSLEN(cp) = sense_sz; sp->request_sense_length = sense_sz; @@ -1039,7 +1048,7 @@ qla2x00_status_entry(scsi_qla_host_t *ha, sts_entry_t *pkt) sizeof(cp->sense_buffer)) sense_sz = le16_to_cpu(pkt->req_sense_length); else - sense_sz = sizeof(cp->sense_buffer) - 1; + sense_sz = sizeof(cp->sense_buffer); CMD_ACTUAL_SNSLEN(cp) = sense_sz; sp->request_sense_length = sense_sz; diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index eadc3d4d2..db3854123 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c @@ -58,12 +58,13 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp) { int rval; unsigned long flags = 0; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; struct timer_list tmp_intr_timer; uint8_t abort_active = test_bit(ABORT_ISP_ACTIVE, &ha->dpc_flags); uint8_t io_lock_on = ha->flags.init_done; uint16_t command; - uint16_t *iptr, *optr; + uint16_t *iptr; + uint16_t __iomem *optr; uint32_t cnt; uint32_t mboxes; unsigned long mbx_flags = 0; @@ -101,7 +102,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp) spin_lock_irqsave(&ha->hardware_lock, flags); /* Load mailbox registers. */ - optr = (uint16_t *)MAILBOX_REG(ha, reg, 0); + optr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 0); iptr = mcp->mb; command = mcp->mb[0]; @@ -109,7 +110,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp) for (cnt = 0; cnt < ha->mbx_count; cnt++) { if (IS_QLA2200(ha) && cnt == 8) - optr = (uint16_t *)MAILBOX_REG(ha, reg, 8); + optr = (uint16_t __iomem *)MAILBOX_REG(ha, reg, 8); if (mboxes & BIT_0) WRT_REG_WORD(optr, *iptr); @@ -209,6 +210,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp) /* Check whether we timed out */ if (ha->flags.mbox_int) { + uint16_t *iptr2; DEBUG3_11(printk("qla2x00_mailbox_cmd: cmd %x completed.\n", command);) @@ -223,15 +225,15 @@ qla2x00_mailbox_command(scsi_qla_host_t *ha, mbx_cmd_t *mcp) } /* Load return mailbox registers. */ - optr = mcp->mb; + iptr2 = mcp->mb; iptr = (uint16_t *)&ha->mailbox_out[0]; mboxes = mcp->in_mb; for (cnt = 0; cnt < ha->mbx_count; cnt++) { if (mboxes & BIT_0) - *optr = *iptr; + *iptr2 = *iptr; mboxes >>= 1; - optr++; + iptr2++; iptr++; } } else { @@ -1403,7 +1405,7 @@ qla2x00_get_port_database(scsi_qla_host_t *ha, fc_port_t *fcport, uint8_t opt) DEBUG11(printk("qla2x00_get_port_database(%ld): entered.\n", ha->host_no);) - pd = pci_alloc_consistent(ha->pdev, PORT_DATABASE_SIZE, &pd_dma); + pd = dma_pool_alloc(ha->s_dma_pool, GFP_ATOMIC, &pd_dma); if (pd == NULL) { DEBUG2_3_11(printk("qla2x00_get_port_database(%ld): **** " "Mem Alloc Failed ****", ha->host_no);) @@ -1464,7 +1466,7 @@ qla2x00_get_port_database(scsi_qla_host_t *ha, fc_port_t *fcport, uint8_t opt) fcport->port_type = FCT_TARGET; gpd_error_out: - pci_free_consistent(ha->pdev, PORT_DATABASE_SIZE, pd, pd_dma); + dma_pool_free(ha->s_dma_pool, pd, pd_dma); if (rval != QLA_SUCCESS) { /*EMPTY*/ @@ -1617,14 +1619,12 @@ qla2x00_get_link_status(scsi_qla_host_t *ha, uint16_t loop_id, mbx_cmd_t mc; mbx_cmd_t *mcp = &mc; link_stat_t *stat_buf; - dma_addr_t phys_address = 0; - + dma_addr_t stat_buf_dma; DEBUG11(printk("qla2x00_get_link_status(%ld): entered.\n", ha->host_no);) - stat_buf = pci_alloc_consistent(ha->pdev, sizeof(link_stat_t), - &phys_address); + stat_buf = dma_pool_alloc(ha->s_dma_pool, GFP_ATOMIC, &stat_buf_dma); if (stat_buf == NULL) { DEBUG2_3_11(printk("qla2x00_get_link_status(%ld): Failed to " "allocate memory.\n", ha->host_no)); @@ -1641,10 +1641,10 @@ qla2x00_get_link_status(scsi_qla_host_t *ha, uint16_t loop_id, } else { mcp->mb[1] = loop_id << 8; } - mcp->mb[2] = MSW(phys_address); - mcp->mb[3] = LSW(phys_address); - mcp->mb[6] = MSW(MSD(phys_address)); - mcp->mb[7] = LSW(MSD(phys_address)); + mcp->mb[2] = MSW(stat_buf_dma); + mcp->mb[3] = LSW(stat_buf_dma); + mcp->mb[6] = MSW(MSD(stat_buf_dma)); + mcp->mb[7] = LSW(MSD(stat_buf_dma)); mcp->in_mb = MBX_0; mcp->tov = 30; @@ -1688,8 +1688,7 @@ qla2x00_get_link_status(scsi_qla_host_t *ha, uint16_t loop_id, rval = BIT_1; } - pci_free_consistent(ha->pdev, sizeof(link_stat_t), stat_buf, - phys_address); + dma_pool_free(ha->s_dma_pool, stat_buf, stat_buf_dma); return rval; } @@ -2409,7 +2408,7 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map) char *pmap; dma_addr_t pmap_dma; - pmap = pci_alloc_consistent(ha->pdev, FCAL_MAP_SIZE, &pmap_dma); + pmap = dma_pool_alloc(ha->s_dma_pool, GFP_ATOMIC, &pmap_dma); if (pmap == NULL) { DEBUG2_3_11(printk("%s(%ld): **** Mem Alloc Failed ****", __func__, ha->host_no)); @@ -2438,7 +2437,7 @@ qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map) if (pos_map) memcpy(pos_map, pmap, FCAL_MAP_SIZE); } - pci_free_consistent(ha->pdev, FCAL_MAP_SIZE, pmap, pmap_dma); + dma_pool_free(ha->s_dma_pool, pmap, pmap_dma); if (rval != QLA_SUCCESS) { DEBUG2_3_11(printk("%s(%ld): failed=%x.\n", __func__, diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index dd5aaba4e..143305bef 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -235,67 +236,6 @@ static __inline__ void sp_get(struct scsi_qla_host * ha, srb_t *sp); static __inline__ void qla2x00_delete_from_done_queue(scsi_qla_host_t *, srb_t *); -/************************************************************************** -* sp_put -* -* Description: -* Decrement reference count and call the callback if we're the last -* owner of the specified sp. Will get the host_lock before calling -* the callback. -* -* Input: -* ha - pointer to the scsi_qla_host_t where the callback is to occur. -* sp - pointer to srb_t structure to use. -* -* Returns: -* -**************************************************************************/ -static inline void -sp_put(struct scsi_qla_host * ha, srb_t *sp) -{ - if (atomic_read(&sp->ref_count) == 0) { - qla_printk(KERN_INFO, ha, - "%s(): **** SP->ref_count not zero\n", - __func__); - DEBUG2(BUG();) - - return; - } - - if (!atomic_dec_and_test(&sp->ref_count)) { - return; - } - - qla2x00_callback(ha, sp->cmd); -} - -/************************************************************************** -* sp_get -* -* Description: -* Increment reference count of the specified sp. -* -* Input: -* sp - pointer to srb_t structure to use. -* -* Returns: -* -**************************************************************************/ -static inline void -sp_get(struct scsi_qla_host * ha, srb_t *sp) -{ - atomic_inc(&sp->ref_count); - - if (atomic_read(&sp->ref_count) > 2) { - qla_printk(KERN_INFO, ha, - "%s(): **** SP->ref_count greater than two\n", - __func__); - DEBUG2(BUG();) - - return; - } -} - /* * qla2x00_callback * Returns the completed SCSI command to LINUX. @@ -366,6 +306,67 @@ qla2x00_callback(scsi_qla_host_t *ha, struct scsi_cmnd *cmd) (*(cmd)->scsi_done)(cmd); } +/************************************************************************** +* sp_put +* +* Description: +* Decrement reference count and call the callback if we're the last +* owner of the specified sp. Will get the host_lock before calling +* the callback. +* +* Input: +* ha - pointer to the scsi_qla_host_t where the callback is to occur. +* sp - pointer to srb_t structure to use. +* +* Returns: +* +**************************************************************************/ +static inline void +sp_put(struct scsi_qla_host * ha, srb_t *sp) +{ + if (atomic_read(&sp->ref_count) == 0) { + qla_printk(KERN_INFO, ha, + "%s(): **** SP->ref_count not zero\n", + __func__); + DEBUG2(BUG();) + + return; + } + + if (!atomic_dec_and_test(&sp->ref_count)) { + return; + } + + qla2x00_callback(ha, sp->cmd); +} + +/************************************************************************** +* sp_get +* +* Description: +* Increment reference count of the specified sp. +* +* Input: +* sp - pointer to srb_t structure to use. +* +* Returns: +* +**************************************************************************/ +static inline void +sp_get(struct scsi_qla_host * ha, srb_t *sp) +{ + atomic_inc(&sp->ref_count); + + if (atomic_read(&sp->ref_count) > 2) { + qla_printk(KERN_INFO, ha, + "%s(): **** SP->ref_count greater than two\n", + __func__); + DEBUG2(BUG();) + + return; + } +} + static inline void qla2x00_delete_from_done_queue(scsi_qla_host_t *dest_ha, srb_t *sp) { @@ -753,7 +754,7 @@ qla2x00_queuecommand(struct scsi_cmnd *cmd, void (*fn)(struct scsi_cmnd *)) cmd->host_scribble = (unsigned char *)handle; /* Bookkeeping information */ - sp->r_start = jiffies; /* time the request was recieved */ + sp->r_start = jiffies; /* time the request was received */ sp->u_start = 0; /* Setup device queue pointers. */ @@ -844,11 +845,9 @@ qla2x00_queuecommand(struct scsi_cmnd *cmd, void (*fn)(struct scsi_cmnd *)) was_empty = add_to_pending_queue(ha, sp); if ((IS_QLA2100(ha) || IS_QLA2200(ha)) && ha->flags.online) { - unsigned long flags; - device_reg_t *reg; - reg = ha->iobase; - if (ha->response_ring_ptr->signature != RESPONSE_PROCESSED) { + unsigned long flags; + spin_lock_irqsave(&ha->hardware_lock, flags); qla2x00_process_response_queue(ha); spin_unlock_irqrestore(&ha->hardware_lock, flags); @@ -969,8 +968,7 @@ qla2x00_wait_for_hba_online(scsi_qla_host_t *ha) test_bit(ISP_ABORT_RETRY, &ha->dpc_flags) || ha->dpc_active) && time_before(jiffies, wait_online)) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + msleep(1000); } if (ha->flags.online) return_status = QLA_SUCCESS; @@ -1011,8 +1009,7 @@ qla2x00_wait_for_loop_ready(scsi_qla_host_t *ha) atomic_read(&ha->loop_state) == LOOP_DOWN) || test_bit(CFG_ACTIVE, &ha->cfg_flags) || atomic_read(&ha->loop_state) != LOOP_READY) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ); + msleep(1000); if (time_after_eq(jiffies, loop_timeout)) { return_status = QLA_FUNCTION_FAILED; break; @@ -1583,14 +1580,10 @@ qla2xxx_eh_bus_reset(struct scsi_cmnd *cmd) if (rval == FAILED) goto out; - /* - * Blocking Call. It goes to sleep waiting for cmd to get to done q - * - * XXX(hch): really? We're under host_lock here.. - */ /* Waiting for our command in done_queue to be returned to OS.*/ - if (!qla2x00_eh_wait_for_pending_commands(ha)) - rval = FAILED; + if (cmd->device->host->eh_active) + if (!qla2x00_eh_wait_for_pending_commands(ha)) + rval = FAILED; out: qla_printk(KERN_INFO, ha, "%s: reset %s\n", __func__, @@ -1663,7 +1656,7 @@ qla2xxx_eh_host_reset(struct scsi_cmnd *cmd) goto out; /* Waiting for our command in done_queue to be returned to OS.*/ - if (qla2x00_eh_wait_for_pending_commands(ha)) + if (!qla2x00_eh_wait_for_pending_commands(ha)) rval = FAILED; out: @@ -1784,7 +1777,7 @@ qla2xxx_slave_configure(struct scsi_device *sdev) ql2xmaxqdepth = queue_depth; - scsi_adjust_queue_depth(sdev, MSG_ORDERED_TAG, queue_depth); + scsi_activate_tcq(sdev, queue_depth); qla_printk(KERN_INFO, ha, "scsi(%d:%d:%d:%d): Enabled tagged queuing, queue " @@ -1819,28 +1812,27 @@ qla2x00_config_dma_addressing(scsi_qla_host_t *ha) * assist in setting the proper dma mask. */ if (sizeof(dma_addr_t) > 4) { - /* Update our PCI device dma_mask for full 64 bits */ - if (pci_set_dma_mask(ha->pdev, 0xffffffffffffffffULL) == 0) { + if (pci_set_dma_mask(ha->pdev, DMA_64BIT_MASK) == 0) { ha->flags.enable_64bit_addressing = 1; ha->calc_request_entries = qla2x00_calc_iocbs_64; ha->build_scsi_iocbs = qla2x00_build_scsi_iocbs_64; if (pci_set_consistent_dma_mask(ha->pdev, - 0xffffffffffffffffULL)) { + DMA_64BIT_MASK)) { qla_printk(KERN_DEBUG, ha, "Failed to set 64 bit PCI consistent mask; " "using 32 bit.\n"); pci_set_consistent_dma_mask(ha->pdev, - 0xffffffffULL); + DMA_32BIT_MASK); } } else { qla_printk(KERN_DEBUG, ha, "Failed to set 64 bit PCI DMA mask, falling back " "to 32 bit MASK.\n"); - pci_set_dma_mask(ha->pdev, 0xffffffff); + pci_set_dma_mask(ha->pdev, DMA_32BIT_MASK); } } else { - pci_set_dma_mask(ha->pdev, 0xffffffff); + pci_set_dma_mask(ha->pdev, DMA_32BIT_MASK); } } @@ -1896,15 +1888,13 @@ qla2x00_iospace_config(scsi_qla_host_t *ha) ha->pio_address = pio; ha->pio_length = pio_len; - ha->mmio_address = ioremap(mmio, MIN_IOBASE_LEN); - if (!ha->mmio_address) { + ha->iobase = ioremap(mmio, MIN_IOBASE_LEN); + if (!ha->iobase) { qla_printk(KERN_ERR, ha, "cannot remap MMIO (%s), aborting\n", ha->pdev->slot_name); goto iospace_error_exit; } - ha->mmio_length = mmio_len; - ha->iobase = (device_reg_t *) ha->mmio_address; return (0); @@ -1918,7 +1908,7 @@ iospace_error_exit: int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) { int ret; - device_reg_t *reg; + device_reg_t __iomem *reg; struct Scsi_Host *host; scsi_qla_host_t *ha; unsigned long flags = 0; @@ -1934,7 +1924,7 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) if (host == NULL) { printk(KERN_WARNING "qla2xxx: Couldn't allocate host from scsi layer!\n"); - return -1; + goto probe_disable_device; } /* Clear our data area */ @@ -2068,8 +2058,13 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) host->unique_id = ha->instance; host->max_id = ha->max_targets; - if (request_irq(host->irq, qla2x00_intr_handler, SA_INTERRUPT|SA_SHIRQ, - ha->brd_info->drv_name, ha)) { + if (IS_QLA2100(ha) || IS_QLA2200(ha)) + ret = request_irq(host->irq, qla2100_intr_handler, + SA_INTERRUPT|SA_SHIRQ, ha->brd_info->drv_name, ha); + else + ret = request_irq(host->irq, qla2300_intr_handler, + SA_INTERRUPT|SA_SHIRQ, ha->brd_info->drv_name, ha); + if (ret != 0) { qla_printk(KERN_WARNING, ha, "Failed to reserve interrupt %d already in use.\n", host->irq); @@ -2120,8 +2115,7 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) qla2x00_check_fabric_devices(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/100); + msleep(10); } pci_set_drvdata(pdev, ha); @@ -2158,6 +2152,9 @@ probe_failed: scsi_host_put(host); +probe_disable_device: + pci_disable_device(pdev); + return -1; } EXPORT_SYMBOL_GPL(qla2x00_probe_one); @@ -2224,12 +2221,11 @@ qla2x00_free_device(scsi_qla_host_t *ha) free_irq(ha->pdev->irq, ha); /* release io space registers */ + if (ha->iobase) + iounmap(ha->iobase); pci_release_regions(ha->pdev); -#if MEMORY_MAPPED_IO - if (ha->mmio_address) - iounmap(ha->mmio_address); -#endif + pci_disable_device(ha->pdev); } @@ -2815,6 +2811,7 @@ qla2x00_mark_all_devices_lost(scsi_qla_host_t *ha) static uint8_t qla2x00_mem_alloc(scsi_qla_host_t *ha) { + char name[16]; uint8_t status = 1; int retry= 10; @@ -2825,57 +2822,105 @@ qla2x00_mem_alloc(scsi_qla_host_t *ha) * bug where available mem is not allocated until after a * little delay and a retry. */ - ha->request_ring = pci_alloc_consistent(ha->pdev, - ((ha->request_q_length + 1) * (sizeof(request_t))), - &ha->request_dma); + ha->request_ring = dma_alloc_coherent(&ha->pdev->dev, + (ha->request_q_length + 1) * sizeof(request_t), + &ha->request_dma, GFP_KERNEL); if (ha->request_ring == NULL) { qla_printk(KERN_WARNING, ha, "Memory Allocation failed - request_ring\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } - ha->response_ring = pci_alloc_consistent(ha->pdev, - ((ha->response_q_length + 1) * (sizeof(response_t))), - &ha->response_dma); + ha->response_ring = dma_alloc_coherent(&ha->pdev->dev, + (ha->response_q_length + 1) * sizeof(response_t), + &ha->response_dma, GFP_KERNEL); if (ha->response_ring == NULL) { qla_printk(KERN_WARNING, ha, "Memory Allocation failed - response_ring\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); + + continue; + } + + ha->gid_list = dma_alloc_coherent(&ha->pdev->dev, GID_LIST_SIZE, + &ha->gid_list_dma, GFP_KERNEL); + if (ha->gid_list == NULL) { + qla_printk(KERN_WARNING, ha, + "Memory Allocation failed - gid_list\n"); + + qla2x00_mem_free(ha); + msleep(100); + + continue; + } + + ha->rlc_rsp = dma_alloc_coherent(&ha->pdev->dev, + sizeof(rpt_lun_cmd_rsp_t), &ha->rlc_rsp_dma, GFP_KERNEL); + if (ha->rlc_rsp == NULL) { + qla_printk(KERN_WARNING, ha, + "Memory Allocation failed - rlc"); + + qla2x00_mem_free(ha); + msleep(100); + + continue; + } + + snprintf(name, sizeof(name), "qla2xxx_%ld", ha->host_no); + ha->s_dma_pool = dma_pool_create(name, &ha->pdev->dev, + DMA_POOL_SIZE, 8, 0); + if (ha->s_dma_pool == NULL) { + qla_printk(KERN_WARNING, ha, + "Memory Allocation failed - s_dma_pool\n"); + + qla2x00_mem_free(ha); + msleep(100); continue; } /* get consistent memory allocated for init control block */ - ha->init_cb = pci_alloc_consistent(ha->pdev, - sizeof(init_cb_t), &ha->init_cb_dma); + ha->init_cb = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, + &ha->init_cb_dma); if (ha->init_cb == NULL) { qla_printk(KERN_WARNING, ha, "Memory Allocation failed - init_cb\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } memset(ha->init_cb, 0, sizeof(init_cb_t)); + /* Get consistent memory allocated for Get Port Database cmd */ + ha->iodesc_pd = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, + &ha->iodesc_pd_dma); + if (ha->iodesc_pd == NULL) { + /* error */ + qla_printk(KERN_WARNING, ha, + "Memory Allocation failed - iodesc_pd\n"); + + qla2x00_mem_free(ha); + msleep(100); + + continue; + } + memset(ha->iodesc_pd, 0, PORT_DATABASE_SIZE); + /* Allocate ioctl related memory. */ if (qla2x00_alloc_ioctl_mem(ha)) { qla_printk(KERN_WARNING, ha, "Memory Allocation failed - ioctl_mem\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } @@ -2886,8 +2931,7 @@ qla2x00_mem_alloc(scsi_qla_host_t *ha) "qla2x00_allocate_sp_pool()\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } @@ -2895,32 +2939,31 @@ qla2x00_mem_alloc(scsi_qla_host_t *ha) /* Allocate memory for SNS commands */ if (IS_QLA2100(ha) || IS_QLA2200(ha)) { /* Get consistent memory allocated for SNS commands */ - ha->sns_cmd = pci_alloc_consistent(ha->pdev, - sizeof(struct sns_cmd_pkt), &ha->sns_cmd_dma); + ha->sns_cmd = dma_alloc_coherent(&ha->pdev->dev, + sizeof(struct sns_cmd_pkt), &ha->sns_cmd_dma, + GFP_KERNEL); if (ha->sns_cmd == NULL) { /* error */ qla_printk(KERN_WARNING, ha, "Memory Allocation failed - sns_cmd\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } memset(ha->sns_cmd, 0, sizeof(struct sns_cmd_pkt)); } else { /* Get consistent memory allocated for MS IOCB */ - ha->ms_iocb = pci_alloc_consistent(ha->pdev, - sizeof(ms_iocb_entry_t), &ha->ms_iocb_dma); + ha->ms_iocb = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, + &ha->ms_iocb_dma); if (ha->ms_iocb == NULL) { /* error */ qla_printk(KERN_WARNING, ha, "Memory Allocation failed - ms_iocb\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } @@ -2930,38 +2973,22 @@ qla2x00_mem_alloc(scsi_qla_host_t *ha) * Get consistent memory allocated for CT SNS * commands */ - ha->ct_sns = pci_alloc_consistent(ha->pdev, - sizeof(struct ct_sns_pkt), &ha->ct_sns_dma); + ha->ct_sns = dma_alloc_coherent(&ha->pdev->dev, + sizeof(struct ct_sns_pkt), &ha->ct_sns_dma, + GFP_KERNEL); if (ha->ct_sns == NULL) { /* error */ qla_printk(KERN_WARNING, ha, "Memory Allocation failed - ct_sns\n"); qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + msleep(100); continue; } memset(ha->ct_sns, 0, sizeof(struct ct_sns_pkt)); } - /* Get consistent memory allocated for Get Port Database cmd */ - ha->iodesc_pd = pci_alloc_consistent(ha->pdev, - PORT_DATABASE_SIZE, &ha->iodesc_pd_dma); - if (ha->iodesc_pd == NULL) { - /* error */ - qla_printk(KERN_WARNING, ha, - "Memory Allocation failed - iodesc_pd\n"); - - qla2x00_mem_free(ha); - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); - - continue; - } - memset(ha->iodesc_pd, 0, PORT_DATABASE_SIZE); - /* Done all allocations without any error. */ status = 0; @@ -3016,52 +3043,67 @@ qla2x00_mem_free(scsi_qla_host_t *ha) /* free sp pool */ qla2x00_free_sp_pool(ha); - if (ha->iodesc_pd) { - pci_free_consistent(ha->pdev, PORT_DATABASE_SIZE, - ha->iodesc_pd, ha->iodesc_pd_dma); - } + if (ha->sns_cmd) + dma_free_coherent(&ha->pdev->dev, sizeof(struct sns_cmd_pkt), + ha->sns_cmd, ha->sns_cmd_dma); - if (ha->sns_cmd) { - pci_free_consistent(ha->pdev, - sizeof(struct sns_cmd_pkt), ha->sns_cmd, ha->sns_cmd_dma); - } + if (ha->ct_sns) + dma_free_coherent(&ha->pdev->dev, sizeof(struct ct_sns_pkt), + ha->ct_sns, ha->ct_sns_dma); - if (ha->ct_sns) { - pci_free_consistent(ha->pdev, - sizeof(struct ct_sns_pkt), ha->ct_sns, ha->ct_sns_dma); - } - if (ha->ms_iocb) { - pci_free_consistent(ha->pdev, - sizeof(ms_iocb_entry_t), ha->ms_iocb, ha->ms_iocb_dma); - } + if (ha->ms_iocb) + dma_pool_free(ha->s_dma_pool, ha->ms_iocb, ha->ms_iocb_dma); - if (ha->init_cb) { - pci_free_consistent(ha->pdev, - sizeof(init_cb_t), ha->init_cb, ha->init_cb_dma); - } + if (ha->iodesc_pd) + dma_pool_free(ha->s_dma_pool, ha->iodesc_pd, ha->iodesc_pd_dma); - if (ha->request_ring) { - pci_free_consistent(ha->pdev, - ((ha->request_q_length + 1) * (sizeof(request_t))), - ha->request_ring, ha->request_dma); - } + if (ha->init_cb) + dma_pool_free(ha->s_dma_pool, ha->init_cb, ha->init_cb_dma); + + if (ha->s_dma_pool) + dma_pool_destroy(ha->s_dma_pool); + + if (ha->rlc_rsp) + dma_free_coherent(&ha->pdev->dev, + sizeof(rpt_lun_cmd_rsp_t), ha->rlc_rsp, + ha->rlc_rsp_dma); + + if (ha->gid_list) + dma_free_coherent(&ha->pdev->dev, GID_LIST_SIZE, ha->gid_list, + ha->gid_list_dma); - if (ha->response_ring) { - pci_free_consistent(ha->pdev, - ((ha->response_q_length + 1) * (sizeof(response_t))), + if (ha->response_ring) + dma_free_coherent(&ha->pdev->dev, + (ha->response_q_length + 1) * sizeof(response_t), ha->response_ring, ha->response_dma); - } - ha->iodesc_pd = NULL; - ha->iodesc_pd_dma = 0; + if (ha->request_ring) + dma_free_coherent(&ha->pdev->dev, + (ha->request_q_length + 1) * sizeof(request_t), + ha->request_ring, ha->request_dma); + + ha->sns_cmd = NULL; + ha->sns_cmd_dma = 0; ha->ct_sns = NULL; + ha->ct_sns_dma = 0; ha->ms_iocb = NULL; - + ha->ms_iocb_dma = 0; + ha->iodesc_pd = NULL; + ha->iodesc_pd_dma = 0; ha->init_cb = NULL; - ha->request_ring = NULL; - ha->request_dma = 0; + ha->init_cb_dma = 0; + + ha->s_dma_pool = NULL; + + ha->rlc_rsp = NULL; + ha->rlc_rsp_dma = 0; + ha->gid_list = NULL; + ha->gid_list_dma = 0; + ha->response_ring = NULL; ha->response_dma = 0; + ha->request_ring = NULL; + ha->request_dma = 0; list_for_each_safe(fcpl, fcptemp, &ha->fcports) { fcport = list_entry(fcpl, fc_port_t, list); @@ -3080,16 +3122,15 @@ qla2x00_mem_free(scsi_qla_host_t *ha) } INIT_LIST_HEAD(&ha->fcports); - if (ha->fw_dump) { + if (ha->fw_dump) free_pages((unsigned long)ha->fw_dump, ha->fw_dump_order); - ha->fw_dump = NULL; - } - if (ha->fw_dump_buffer) { + if (ha->fw_dump_buffer) vfree(ha->fw_dump_buffer); - ha->fw_dump_reading = 0; - ha->fw_dump_buffer = NULL; - } + + ha->fw_dump = NULL; + ha->fw_dump_reading = 0; + ha->fw_dump_buffer = NULL; } /* @@ -3187,9 +3228,6 @@ qla2x00_do_dpc(void *data) if (ha->dpc_should_die) break; - if (!list_empty(&ha->done_queue)) - qla2x00_done(ha); - DEBUG3(printk("qla2x00: DPC handler waking up\n")); /* Initialization not yet finished. Don't do anything yet. */ @@ -3200,6 +3238,9 @@ qla2x00_do_dpc(void *data) ha->dpc_active = 1; + if (!list_empty(&ha->done_queue)) + qla2x00_done(ha); + /* Process commands in retry queue */ if (test_and_clear_bit(PORT_RESTART_NEEDED, &ha->dpc_flags)) { DEBUG(printk("scsi(%ld): DPC checking retry_q. " @@ -3590,7 +3631,7 @@ qla2x00_get_new_sp(scsi_qla_host_t *ha) { srb_t *sp; - sp = mempool_alloc(ha->srb_mempool, GFP_KERNEL); + sp = mempool_alloc(ha->srb_mempool, GFP_ATOMIC); if (sp) atomic_set(&sp->ref_count, 1); return (sp); @@ -4403,61 +4444,64 @@ qla2x00_down_timeout(struct semaphore *sema, unsigned long timeout) } static void -qla2xxx_get_port_id(struct scsi_device *sdev) +qla2xxx_get_port_id(struct scsi_target *starget) { - scsi_qla_host_t *ha = to_qla_host(sdev->host); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + scsi_qla_host_t *ha = to_qla_host(shost); struct fc_port *fc; list_for_each_entry(fc, &ha->fcports, list) { - if (fc->os_target_id == sdev->id) { - fc_port_id(sdev) = fc->d_id.b.domain << 16 | + if (fc->os_target_id == starget->id) { + fc_starget_port_id(starget) = fc->d_id.b.domain << 16 | fc->d_id.b.area << 8 | fc->d_id.b.al_pa; return; } } - fc_port_id(sdev) = -1; + fc_starget_port_id(starget) = -1; } static void -qla2xxx_get_port_name(struct scsi_device *sdev) +qla2xxx_get_port_name(struct scsi_target *starget) { - scsi_qla_host_t *ha = to_qla_host(sdev->host); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + scsi_qla_host_t *ha = to_qla_host(shost); struct fc_port *fc; list_for_each_entry(fc, &ha->fcports, list) { - if (fc->os_target_id == sdev->id) { - fc_port_name(sdev) = + if (fc->os_target_id == starget->id) { + fc_starget_port_name(starget) = __be64_to_cpu(*(uint64_t *)fc->port_name); return; } } - fc_port_name(sdev) = -1; + fc_starget_port_name(starget) = -1; } static void -qla2xxx_get_node_name(struct scsi_device *sdev) +qla2xxx_get_node_name(struct scsi_target *starget) { - scsi_qla_host_t *ha = to_qla_host(sdev->host); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + scsi_qla_host_t *ha = to_qla_host(shost); struct fc_port *fc; list_for_each_entry(fc, &ha->fcports, list) { - if (fc->os_target_id == sdev->id) { - fc_node_name(sdev) = + if (fc->os_target_id == starget->id) { + fc_starget_node_name(starget) = __be64_to_cpu(*(uint64_t *)fc->node_name); return; } } - fc_node_name(sdev) = -1; + fc_starget_node_name(starget) = -1; } static struct fc_function_template qla2xxx_transport_functions = { - .get_port_id = qla2xxx_get_port_id, - .show_port_id = 1, - .get_port_name = qla2xxx_get_port_name, - .show_port_name = 1, - .get_node_name = qla2xxx_get_node_name, - .show_node_name = 1, + .get_starget_port_id = qla2xxx_get_port_id, + .show_starget_port_id = 1, + .get_starget_port_name = qla2xxx_get_port_name, + .show_starget_port_name = 1, + .get_starget_node_name = qla2xxx_get_node_name, + .show_starget_node_name = 1, }; /** @@ -4517,3 +4561,4 @@ module_exit(qla2x00_module_exit); MODULE_AUTHOR("QLogic Corporation"); MODULE_DESCRIPTION("QLogic Fibre Channel HBA Driver"); MODULE_LICENSE("GPL"); +MODULE_VERSION(QLA2XXX_VERSION); diff --git a/drivers/scsi/qla2xxx/qla_rscn.c b/drivers/scsi/qla2xxx/qla_rscn.c index f2050f9dd..26d6d3843 100644 --- a/drivers/scsi/qla2xxx/qla_rscn.c +++ b/drivers/scsi/qla2xxx/qla_rscn.c @@ -241,6 +241,20 @@ qla2x00_free_iodesc(struct io_descriptor *iodesc) iodesc->signature = 0; } +/** + * qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor. + * @iodesc: io descriptor + */ +static inline void +qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc) +{ + if (iodesc->timer.function != NULL) { + del_timer_sync(&iodesc->timer); + iodesc->timer.data = (unsigned long) NULL; + iodesc->timer.function = NULL; + } +} + /** * qla2x00_init_io_descriptors() - Initialize the pool of IO descriptors. * @ha: HA context @@ -311,20 +325,6 @@ qla2x00_add_iodesc_timer(struct io_descriptor *iodesc) add_timer(&iodesc->timer); } -/** - * qla2x00_remove_iodesc_timer() - Remove an active timer from an IO descriptor. - * @iodesc: io descriptor - */ -static inline void -qla2x00_remove_iodesc_timer(struct io_descriptor *iodesc) -{ - if (iodesc->timer.function != NULL) { - del_timer_sync(&iodesc->timer); - iodesc->timer.data = (unsigned long) NULL; - iodesc->timer.function = NULL; - } -} - /** * IO descriptor support routines. **/ @@ -374,10 +374,9 @@ static inline struct mbx_entry * qla2x00_get_mbx_iocb_entry(scsi_qla_host_t *ha, uint32_t handle) { uint16_t cnt; - device_reg_t *reg; + device_reg_t __iomem *reg = ha->iobase; struct mbx_entry *mbxentry; - reg = ha->iobase; mbxentry = NULL; if (ha->req_q_cnt < 3) { diff --git a/drivers/scsi/qla2xxx/qla_sup.c b/drivers/scsi/qla2xxx/qla_sup.c index 5196a746d..203c23dfa 100644 --- a/drivers/scsi/qla2xxx/qla_sup.c +++ b/drivers/scsi/qla2xxx/qla_sup.c @@ -39,9 +39,7 @@ void qla2x00_lock_nvram_access(scsi_qla_host_t *ha) { uint16_t data; - device_reg_t *reg; - - reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) { data = RD_REG_WORD(®->nvram); @@ -52,12 +50,14 @@ qla2x00_lock_nvram_access(scsi_qla_host_t *ha) /* Lock resource */ WRT_REG_WORD(®->u.isp2300.host_semaphore, 0x1); + RD_REG_WORD(®->u.isp2300.host_semaphore); udelay(5); data = RD_REG_WORD(®->u.isp2300.host_semaphore); while ((data & BIT_0) == 0) { /* Lock failed */ udelay(100); WRT_REG_WORD(®->u.isp2300.host_semaphore, 0x1); + RD_REG_WORD(®->u.isp2300.host_semaphore); udelay(5); data = RD_REG_WORD(®->u.isp2300.host_semaphore); } @@ -71,12 +71,12 @@ qla2x00_lock_nvram_access(scsi_qla_host_t *ha) void qla2x00_unlock_nvram_access(scsi_qla_host_t *ha) { - device_reg_t *reg; - - reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; - if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) + if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) { WRT_REG_WORD(®->u.isp2300.host_semaphore, 0); + RD_REG_WORD(®->u.isp2300.host_semaphore); + } } /** @@ -112,7 +112,7 @@ qla2x00_write_nvram_word(scsi_qla_host_t *ha, uint32_t addr, uint16_t data) int count; uint16_t word; uint32_t nv_cmd; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; qla2x00_nv_write(ha, NVR_DATA_OUT); qla2x00_nv_write(ha, 0); @@ -197,7 +197,7 @@ static uint16_t qla2x00_nvram_request(scsi_qla_host_t *ha, uint32_t nv_cmd) { uint8_t cnt; - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; uint16_t data = 0; uint16_t reg_data; @@ -239,7 +239,7 @@ qla2x00_nvram_request(scsi_qla_host_t *ha, uint32_t nv_cmd) void qla2x00_nv_deselect(scsi_qla_host_t *ha) { - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; WRT_REG_WORD(®->nvram, NVR_DESELECT); NVRAM_DELAY(); @@ -254,7 +254,7 @@ qla2x00_nv_deselect(scsi_qla_host_t *ha) void qla2x00_nv_write(scsi_qla_host_t *ha, uint16_t data) { - device_reg_t *reg = ha->iobase; + device_reg_t __iomem *reg = ha->iobase; WRT_REG_WORD(®->nvram, data | NVR_SELECT); NVRAM_DELAY(); diff --git a/drivers/scsi/qla2xxx/qla_version.h b/drivers/scsi/qla2xxx/qla_version.h index 1dc4c9594..69081270f 100644 --- a/drivers/scsi/qla2xxx/qla_version.h +++ b/drivers/scsi/qla2xxx/qla_version.h @@ -19,9 +19,9 @@ /* * Driver version */ -#define QLA2XXX_VERSION "8.00.00b14-k" +#define QLA2XXX_VERSION "8.00.00b21-k" #define QLA_DRIVER_MAJOR_VER 8 #define QLA_DRIVER_MINOR_VER 0 #define QLA_DRIVER_PATCH_VER 0 -#define QLA_DRIVER_BETA_VER 14 +#define QLA_DRIVER_BETA_VER 21 diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c index c49ca7f2f..91aaf50c7 100644 --- a/drivers/scsi/qlogicpti.c +++ b/drivers/scsi/qlogicpti.c @@ -987,7 +987,7 @@ const char *qlogicpti_info(struct Scsi_Host *host) static char buf[80]; struct qlogicpti *qpti = (struct qlogicpti *) host->hostdata; - sprintf(buf, "PTI Qlogic,ISP SBUS SCSI irq %s regs at %lx", + sprintf(buf, "PTI Qlogic,ISP SBUS SCSI irq %s regs at %p", __irq_itoa(qpti->qhost->irq), qpti->qregs); return buf; } diff --git a/drivers/scsi/qlogicpti.h b/drivers/scsi/qlogicpti.h index a40ff75ca..6cd1c0771 100644 --- a/drivers/scsi/qlogicpti.h +++ b/drivers/scsi/qlogicpti.h @@ -335,7 +335,7 @@ struct scsi_cmnd; /* Software state for the driver. */ struct qlogicpti { /* These are the hot elements in the cache, so they come first. */ - unsigned long qregs; /* Adapter registers */ + void __iomem *qregs; /* Adapter registers */ struct pti_queue_entry *res_cpu; /* Ptr to RESPONSE bufs (CPU) */ struct pti_queue_entry *req_cpu; /* Ptr to REQUEST bufs (CPU) */ @@ -370,7 +370,7 @@ struct qlogicpti { struct host_param host_param; struct dev_param dev_param[MAX_TARGETS]; - unsigned long sreg; + void __iomem *sreg; #define SREG_TPOWER 0x80 /* State of termpwr */ #define SREG_FUSE 0x40 /* State of on board fuse */ #define SREG_PDISAB 0x20 /* Disable state for power on */ diff --git a/drivers/scsi/sata_promise.c b/drivers/scsi/sata_promise.c index a2eefb6bc..5221f1ec6 100644 --- a/drivers/scsi/sata_promise.c +++ b/drivers/scsi/sata_promise.c @@ -73,8 +73,7 @@ struct pdc_port_priv { static u32 pdc_sata_scr_read (struct ata_port *ap, unsigned int sc_reg); static void pdc_sata_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val); -static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); -static void pdc_dma_start(struct ata_queued_cmd *qc); +static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent); static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *regs); static void pdc_eng_timeout(struct ata_port *ap); static int pdc_port_start(struct ata_port *ap); @@ -83,14 +82,13 @@ static void pdc_phy_reset(struct ata_port *ap); static void pdc_qc_prep(struct ata_queued_cmd *qc); static void pdc_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf); static void pdc_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf); -static inline void pdc_dma_complete (struct ata_port *ap, - struct ata_queued_cmd *qc, int have_err); static void pdc_irq_clear(struct ata_port *ap); static int pdc_qc_issue_prot(struct ata_queued_cmd *qc); -static Scsi_Host_Template pdc_sata_sht = { +static Scsi_Host_Template pdc_ata_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -106,12 +104,13 @@ static Scsi_Host_Template pdc_sata_sht = { .bios_param = ata_std_bios_param, }; -static struct ata_port_operations pdc_sata_ops = { +static struct ata_port_operations pdc_ata_ops = { .port_disable = ata_port_disable, .tf_load = pdc_tf_load_mmio, - .tf_read = ata_tf_read_mmio, - .check_status = ata_check_status_mmio, + .tf_read = ata_tf_read, + .check_status = ata_check_status, .exec_command = pdc_exec_command_mmio, + .dev_select = ata_std_dev_select, .phy_reset = pdc_phy_reset, .qc_prep = pdc_qc_prep, .qc_issue = pdc_qc_issue_prot, @@ -127,26 +126,28 @@ static struct ata_port_operations pdc_sata_ops = { static struct ata_port_info pdc_port_info[] = { /* board_2037x */ { - .sht = &pdc_sata_sht, + .sht = &pdc_ata_sht, .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | ATA_FLAG_MMIO, - .pio_mask = 0x03, /* pio3-4 */ + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ .udma_mask = 0x7f, /* udma0-6 ; FIXME */ - .port_ops = &pdc_sata_ops, + .port_ops = &pdc_ata_ops, }, /* board_20319 */ { - .sht = &pdc_sata_sht, + .sht = &pdc_ata_sht, .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | ATA_FLAG_MMIO, - .pio_mask = 0x03, /* pio3-4 */ + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ .udma_mask = 0x7f, /* udma0-6 ; FIXME */ - .port_ops = &pdc_sata_ops, + .port_ops = &pdc_ata_ops, }, }; -static struct pci_device_id pdc_sata_pci_tbl[] = { +static struct pci_device_id pdc_ata_pci_tbl[] = { { PCI_VENDOR_ID_PROMISE, 0x3371, PCI_ANY_ID, PCI_ANY_ID, 0, 0, board_2037x }, { PCI_VENDOR_ID_PROMISE, 0x3373, PCI_ANY_ID, PCI_ANY_ID, 0, 0, @@ -163,10 +164,10 @@ static struct pci_device_id pdc_sata_pci_tbl[] = { }; -static struct pci_driver pdc_sata_pci_driver = { +static struct pci_driver pdc_ata_pci_driver = { .name = DRV_NAME, - .id_table = pdc_sata_pci_tbl, - .probe = pdc_sata_init_one, + .id_table = pdc_ata_pci_tbl, + .probe = pdc_ata_init_one, .remove = ata_pci_remove_one, }; @@ -269,26 +270,26 @@ static void pdc_qc_prep(struct ata_queued_cmd *qc) VPRINTK("ENTER\n"); - ata_qc_prep(qc); - - i = pdc_pkt_header(&qc->tf, qc->ap->prd_dma, qc->dev->devno, pp->pkt); + switch (qc->tf.protocol) { + case ATA_PROT_DMA: + ata_qc_prep(qc); + /* fall through */ - if (qc->tf.flags & ATA_TFLAG_LBA48) - i = pdc_prep_lba48(&qc->tf, pp->pkt, i); - else - i = pdc_prep_lba28(&qc->tf, pp->pkt, i); + case ATA_PROT_NODATA: + i = pdc_pkt_header(&qc->tf, qc->ap->prd_dma, + qc->dev->devno, pp->pkt); - pdc_pkt_footer(&qc->tf, pp->pkt, i); -} + if (qc->tf.flags & ATA_TFLAG_LBA48) + i = pdc_prep_lba48(&qc->tf, pp->pkt, i); + else + i = pdc_prep_lba28(&qc->tf, pp->pkt, i); -static inline void pdc_dma_complete (struct ata_port *ap, - struct ata_queued_cmd *qc, - int have_err) -{ - u8 err_bit = have_err ? ATA_ERR : 0; + pdc_pkt_footer(&qc->tf, pp->pkt, i); + break; - /* get drive status; clear intr; complete txn */ - ata_qc_complete(qc, ata_wait_idle(ap) | err_bit); + default: + break; + } } static void pdc_eng_timeout(struct ata_port *ap) @@ -315,17 +316,9 @@ static void pdc_eng_timeout(struct ata_port *ap) switch (qc->tf.protocol) { case ATA_PROT_DMA: - printk(KERN_ERR "ata%u: DMA timeout\n", ap->id); - ata_qc_complete(qc, ata_wait_idle(ap) | ATA_ERR); - break; - case ATA_PROT_NODATA: - drv_stat = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000); - - printk(KERN_ERR "ata%u: command 0x%x timeout, stat 0x%x\n", - ap->id, qc->tf.command, drv_stat); - - ata_qc_complete(qc, drv_stat); + printk(KERN_ERR "ata%u: command timeout\n", ap->id); + ata_qc_complete(qc, ata_wait_idle(ap) | ATA_ERR); break; default: @@ -358,13 +351,8 @@ static inline unsigned int pdc_host_intr( struct ata_port *ap, switch (qc->tf.protocol) { case ATA_PROT_DMA: - pdc_dma_complete(ap, qc, have_err); - handled = 1; - break; - - case ATA_PROT_NODATA: /* command completion, but no data xfer */ - status = ata_busy_wait(ap, ATA_BUSY | ATA_DRQ, 1000); - DPRINTK("BUS_NODATA (drv_stat 0x%X)\n", status); + case ATA_PROT_NODATA: + status = ata_wait_idle(ap); if (have_err) status |= ATA_ERR; ata_qc_complete(qc, status); @@ -440,7 +428,7 @@ static irqreturn_t pdc_interrupt (int irq, void *dev_instance, struct pt_regs *r return IRQ_RETVAL(handled); } -static inline void pdc_dma_start(struct ata_queued_cmd *qc) +static inline void pdc_packet_start(struct ata_queued_cmd *qc) { struct ata_port *ap = qc->ap; struct pdc_port_priv *pp = ap->private_data; @@ -462,7 +450,8 @@ static int pdc_qc_issue_prot(struct ata_queued_cmd *qc) { switch (qc->tf.protocol) { case ATA_PROT_DMA: - pdc_dma_start(qc); + case ATA_PROT_NODATA: + pdc_packet_start(qc); return 0; case ATA_PROT_ATAPI_DMA: @@ -478,19 +467,21 @@ static int pdc_qc_issue_prot(struct ata_queued_cmd *qc) static void pdc_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf) { - WARN_ON (tf->protocol == ATA_PROT_DMA); - ata_tf_load_mmio(ap, tf); + WARN_ON (tf->protocol == ATA_PROT_DMA || + tf->protocol == ATA_PROT_NODATA); + ata_tf_load(ap, tf); } static void pdc_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf) { - WARN_ON (tf->protocol == ATA_PROT_DMA); - ata_exec_command_mmio(ap, tf); + WARN_ON (tf->protocol == ATA_PROT_DMA || + tf->protocol == ATA_PROT_NODATA); + ata_exec_command(ap, tf); } -static void pdc_sata_setup_port(struct ata_ioports *port, unsigned long base) +static void pdc_ata_setup_port(struct ata_ioports *port, unsigned long base) { port->cmd_addr = base; port->data_addr = base; @@ -539,8 +530,7 @@ static void pdc_host_init(unsigned int chip_id, struct ata_probe_ent *pe) writel(tmp, mmio + PDC_TBG_MODE); readl(mmio + PDC_TBG_MODE); /* flush */ - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(msecs_to_jiffies(10) + 1); + msleep(10); /* adjust slew rate control register. */ tmp = readl(mmio + PDC_SLEW_CTL); @@ -549,7 +539,7 @@ static void pdc_host_init(unsigned int chip_id, struct ata_probe_ent *pe) writel(tmp, mmio + PDC_SLEW_CTL); } -static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) +static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) { static int printed_version; struct ata_probe_ent *probe_ent = NULL; @@ -601,6 +591,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id * probe_ent->sht = pdc_port_info[board_idx].sht; probe_ent->host_flags = pdc_port_info[board_idx].host_flags; probe_ent->pio_mask = pdc_port_info[board_idx].pio_mask; + probe_ent->mwdma_mask = pdc_port_info[board_idx].mwdma_mask; probe_ent->udma_mask = pdc_port_info[board_idx].udma_mask; probe_ent->port_ops = pdc_port_info[board_idx].port_ops; @@ -608,8 +599,8 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id * probe_ent->irq_flags = SA_SHIRQ; probe_ent->mmio_base = mmio_base; - pdc_sata_setup_port(&probe_ent->port[0], base + 0x200); - pdc_sata_setup_port(&probe_ent->port[1], base + 0x280); + pdc_ata_setup_port(&probe_ent->port[0], base + 0x200); + pdc_ata_setup_port(&probe_ent->port[1], base + 0x280); probe_ent->port[0].scr_addr = base + 0x400; probe_ent->port[1].scr_addr = base + 0x500; @@ -619,8 +610,8 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id * case board_20319: probe_ent->n_ports = 4; - pdc_sata_setup_port(&probe_ent->port[2], base + 0x300); - pdc_sata_setup_port(&probe_ent->port[3], base + 0x380); + pdc_ata_setup_port(&probe_ent->port[2], base + 0x300); + pdc_ata_setup_port(&probe_ent->port[3], base + 0x380); probe_ent->port[2].scr_addr = base + 0x600; probe_ent->port[3].scr_addr = base + 0x700; @@ -654,22 +645,23 @@ err_out: } -static int __init pdc_sata_init(void) +static int __init pdc_ata_init(void) { - return pci_module_init(&pdc_sata_pci_driver); + return pci_module_init(&pdc_ata_pci_driver); } -static void __exit pdc_sata_exit(void) +static void __exit pdc_ata_exit(void) { - pci_unregister_driver(&pdc_sata_pci_driver); + pci_unregister_driver(&pdc_ata_pci_driver); } MODULE_AUTHOR("Jeff Garzik"); MODULE_DESCRIPTION("Promise SATA TX2/TX4 low-level driver"); MODULE_LICENSE("GPL"); -MODULE_DEVICE_TABLE(pci, pdc_sata_pci_tbl); +MODULE_DEVICE_TABLE(pci, pdc_ata_pci_tbl); +MODULE_VERSION(DRV_VERSION); -module_init(pdc_sata_init); -module_exit(pdc_sata_exit); +module_init(pdc_ata_init); +module_exit(pdc_ata_exit); diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c index 72a89d1be..ee5b39da2 100644 --- a/drivers/scsi/sata_sil.c +++ b/drivers/scsi/sata_sil.c @@ -6,7 +6,7 @@ * on emails. * * Copyright 2003 Red Hat, Inc. - * Copyright 2003 Benjamin Herrenschmidt + * Copyright 2003 Benjamin Herrenschmidt * * The contents of this file are subject to the Open * Software License version 1.1 that can be found at @@ -87,6 +87,7 @@ struct sil_drivelist { { "ST380023AS", SIL_QUIRK_MOD15WRITE }, { "ST3120023AS", SIL_QUIRK_MOD15WRITE }, { "ST3160023AS", SIL_QUIRK_MOD15WRITE }, + { "ST3120026AS", SIL_QUIRK_MOD15WRITE }, { "ST340014ASL", SIL_QUIRK_MOD15WRITE }, { "ST360014ASL", SIL_QUIRK_MOD15WRITE }, { "ST380011ASL", SIL_QUIRK_MOD15WRITE }, @@ -106,6 +107,7 @@ static struct pci_driver sil_pci_driver = { static Scsi_Host_Template sil_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -124,14 +126,15 @@ static Scsi_Host_Template sil_sht = { static struct ata_port_operations sil_ops = { .port_disable = ata_port_disable, .dev_config = sil_dev_config, - .tf_load = ata_tf_load_mmio, - .tf_read = ata_tf_read_mmio, - .check_status = ata_check_status_mmio, - .exec_command = ata_exec_command_mmio, + .tf_load = ata_tf_load, + .tf_read = ata_tf_read, + .check_status = ata_check_status, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, .phy_reset = sata_phy_reset, .post_set_mode = sil_post_set_mode, - .bmdma_setup = ata_bmdma_setup_mmio, - .bmdma_start = ata_bmdma_start_mmio, + .bmdma_setup = ata_bmdma_setup, + .bmdma_start = ata_bmdma_start, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, .eng_timeout = ata_eng_timeout, @@ -149,7 +152,8 @@ static struct ata_port_info sil_port_info[] = { .sht = &sil_sht, .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | ATA_FLAG_MMIO, - .pio_mask = 0x03, /* pio3-4 */ + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ .udma_mask = 0x3f, /* udma0-5 */ .port_ops = &sil_ops, }, /* sil_3114 */ @@ -157,7 +161,8 @@ static struct ata_port_info sil_port_info[] = { .sht = &sil_sht, .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | ATA_FLAG_SRST | ATA_FLAG_MMIO, - .pio_mask = 0x03, /* pio3-4 */ + .pio_mask = 0x1f, /* pio0-4 */ + .mwdma_mask = 0x07, /* mwdma0-2 */ .udma_mask = 0x3f, /* udma0-5 */ .port_ops = &sil_ops, }, @@ -185,6 +190,7 @@ MODULE_AUTHOR("Jeff Garzik"); MODULE_DESCRIPTION("low-level driver for Silicon Image SATA controller"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, sil_pci_tbl); +MODULE_VERSION(DRV_VERSION); static void sil_post_set_mode (struct ata_port *ap) { @@ -283,7 +289,7 @@ static void sil_dev_config(struct ata_port *ap, struct ata_device *dev) const char *s; unsigned int len; - ata_dev_id_string(dev, model_num, ATA_ID_PROD_OFS, + ata_dev_id_string(dev->id, model_num, ATA_ID_PROD_OFS, sizeof(model_num)); s = &model_num[0]; len = strnlen(s, sizeof(model_num)); @@ -363,6 +369,7 @@ static int sil_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) probe_ent->sht = sil_port_info[ent->driver_data].sht; probe_ent->n_ports = (ent->driver_data == sil_3114) ? 4 : 2; probe_ent->pio_mask = sil_port_info[ent->driver_data].pio_mask; + probe_ent->mwdma_mask = sil_port_info[ent->driver_data].mwdma_mask; probe_ent->udma_mask = sil_port_info[ent->driver_data].udma_mask; probe_ent->irq = pdev->irq; probe_ent->irq_flags = SA_SHIRQ; diff --git a/drivers/scsi/sata_sis.c b/drivers/scsi/sata_sis.c index 88b7a02ea..d3228e2e7 100644 --- a/drivers/scsi/sata_sis.c +++ b/drivers/scsi/sata_sis.c @@ -76,6 +76,7 @@ static struct pci_driver sis_pci_driver = { static Scsi_Host_Template sis_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -93,13 +94,14 @@ static Scsi_Host_Template sis_sht = { static struct ata_port_operations sis_ops = { .port_disable = ata_port_disable, - .tf_load = ata_tf_load_pio, - .tf_read = ata_tf_read_pio, - .check_status = ata_check_status_pio, - .exec_command = ata_exec_command_pio, + .tf_load = ata_tf_load, + .tf_read = ata_tf_read, + .check_status = ata_check_status, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, .phy_reset = sata_phy_reset, - .bmdma_setup = ata_bmdma_setup_pio, - .bmdma_start = ata_bmdma_start_pio, + .bmdma_setup = ata_bmdma_setup, + .bmdma_start = ata_bmdma_start, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, .eng_timeout = ata_eng_timeout, @@ -111,11 +113,22 @@ static struct ata_port_operations sis_ops = { .port_stop = ata_port_stop, }; +static struct ata_port_info sis_port_info = { + .sht = &sis_sht, + .host_flags = ATA_FLAG_SATA | ATA_FLAG_SATA_RESET | + ATA_FLAG_NO_LEGACY, + .pio_mask = 0x1f, + .mwdma_mask = 0x7, + .udma_mask = 0x7f, + .port_ops = &sis_ops, +}; + MODULE_AUTHOR("Uwe Koziolek"); MODULE_DESCRIPTION("low-level driver for Silicon Integratad Systems SATA controller"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, sis_pci_tbl); +MODULE_VERSION(DRV_VERSION); static unsigned int get_scr_cfg_addr(unsigned int port_no, unsigned int sc_reg) { @@ -184,6 +197,7 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) struct ata_probe_ent *probe_ent = NULL; int rc; u32 genctl; + struct ata_port_info *ppi; rc = pci_enable_device(pdev); if (rc) @@ -200,20 +214,13 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) if (rc) goto err_out_regions; - probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL); + ppi = &sis_port_info; + probe_ent = ata_pci_init_native_mode(pdev, &ppi); if (!probe_ent) { rc = -ENOMEM; goto err_out_regions; } - memset(probe_ent, 0, sizeof(*probe_ent)); - probe_ent->pdev = pdev; - INIT_LIST_HEAD(&probe_ent->node); - - probe_ent->sht = &sis_sht; - probe_ent->host_flags = ATA_FLAG_SATA | ATA_FLAG_SATA_RESET | - ATA_FLAG_NO_LEGACY; - /* check and see if the SCRs are in IO space or PCI cfg space */ pci_read_config_dword(pdev, SIS_GENCTL, &genctl); if ((genctl & GENCTL_IOMAPPED_SCR) == 0) @@ -230,31 +237,12 @@ static int sis_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) probe_ent->host_flags |= SIS_FLAG_CFGSCR; } - probe_ent->pio_mask = 0x03; - probe_ent->udma_mask = 0x7f; - probe_ent->port_ops = &sis_ops; - - probe_ent->port[0].cmd_addr = pci_resource_start(pdev, 0); - ata_std_ports(&probe_ent->port[0]); - probe_ent->port[0].ctl_addr = - pci_resource_start(pdev, 1) | ATA_PCI_CTL_OFS; - probe_ent->port[0].bmdma_addr = pci_resource_start(pdev, 4); - if (!(probe_ent->host_flags & SIS_FLAG_CFGSCR)) + if (!(probe_ent->host_flags & SIS_FLAG_CFGSCR)) { probe_ent->port[0].scr_addr = pci_resource_start(pdev, SIS_SCR_PCI_BAR); - - probe_ent->port[1].cmd_addr = pci_resource_start(pdev, 2); - ata_std_ports(&probe_ent->port[1]); - probe_ent->port[1].ctl_addr = - pci_resource_start(pdev, 3) | ATA_PCI_CTL_OFS; - probe_ent->port[1].bmdma_addr = pci_resource_start(pdev, 4) + 8; - if (!(probe_ent->host_flags & SIS_FLAG_CFGSCR)) probe_ent->port[1].scr_addr = pci_resource_start(pdev, SIS_SCR_PCI_BAR) + 64; - - probe_ent->n_ports = 2; - probe_ent->irq = pdev->irq; - probe_ent->irq_flags = SA_SHIRQ; + } pci_set_master(pdev); pci_enable_intx(pdev); @@ -284,6 +272,6 @@ static void __exit sis_exit(void) pci_unregister_driver(&sis_pci_driver); } - module_init(sis_init); module_exit(sis_exit); + diff --git a/drivers/scsi/sata_svw.c b/drivers/scsi/sata_svw.c index 398f24f27..b985355bc 100644 --- a/drivers/scsi/sata_svw.c +++ b/drivers/scsi/sata_svw.c @@ -148,7 +148,73 @@ static void k2_sata_tf_read(struct ata_port *ap, struct ata_taskfile *tf) } } +/** + * k2_bmdma_setup_mmio - Set up PCI IDE BMDMA transaction (MMIO) + * @qc: Info associated with this ATA transaction. + * + * LOCKING: + * spin_lock_irqsave(host_set lock) + */ + +void k2_bmdma_setup_mmio (struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + unsigned int rw = (qc->tf.flags & ATA_TFLAG_WRITE); + u8 dmactl; + void *mmio = (void *) ap->ioaddr.bmdma_addr; + /* load PRD table addr. */ + mb(); /* make sure PRD table writes are visible to controller */ + writel(ap->prd_dma, mmio + ATA_DMA_TABLE_OFS); + + /* specify data direction, triple-check start bit is clear */ + dmactl = readb(mmio + ATA_DMA_CMD); + dmactl &= ~(ATA_DMA_WR | ATA_DMA_START); + if (!rw) + dmactl |= ATA_DMA_WR; + writeb(dmactl, mmio + ATA_DMA_CMD); + + /* issue r/w command if this is not a ATA DMA command*/ + if (qc->tf.protocol != ATA_PROT_DMA) + ap->ops->exec_command(ap, &qc->tf); +} + +/** + * k2_bmdma_start_mmio - Start a PCI IDE BMDMA transaction (MMIO) + * @qc: Info associated with this ATA transaction. + * + * LOCKING: + * spin_lock_irqsave(host_set lock) + */ + +void k2_bmdma_start_mmio (struct ata_queued_cmd *qc) +{ + struct ata_port *ap = qc->ap; + void *mmio = (void *) ap->ioaddr.bmdma_addr; + u8 dmactl; + + /* start host DMA transaction */ + dmactl = readb(mmio + ATA_DMA_CMD); + writeb(dmactl | ATA_DMA_START, mmio + ATA_DMA_CMD); + /* There is a race condition in certain SATA controllers that can + be seen when the r/w command is given to the controller before the + host DMA is started. On a Read command, the controller would initiate + the command to the drive even before it sees the DMA start. When there + are very fast drives connected to the controller, or when the data request + hits in the drive cache, there is the possibility that the drive returns a part + or all of the requested data to the controller before the DMA start is issued. + In this case, the controller would become confused as to what to do with the data. + In the worst case when all the data is returned back to the controller, the + controller could hang. In other cases it could return partial data returning + in data corruption. This problem has been seen in PPC systems and can also appear + on an system with very fast disks, where the SATA controller is sitting behind a + number of bridges, and hence there is significant latency between the r/w command + and the start command. */ + /* issue r/w command if the access is to ATA*/ + if (qc->tf.protocol == ATA_PROT_DMA) + ap->ops->exec_command(ap, &qc->tf); +} + static u8 k2_stat_check_status(struct ata_port *ap) { return readl((void *) ap->ioaddr.status_addr); @@ -205,6 +271,7 @@ static int k2_sata_proc_info(struct Scsi_Host *shost, char *page, char **start, static Scsi_Host_Template k2_sata_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -229,10 +296,11 @@ static struct ata_port_operations k2_sata_ops = { .tf_load = k2_sata_tf_load, .tf_read = k2_sata_tf_read, .check_status = k2_stat_check_status, - .exec_command = ata_exec_command_mmio, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, .phy_reset = sata_phy_reset, - .bmdma_setup = ata_bmdma_setup_mmio, - .bmdma_start = ata_bmdma_start_mmio, + .bmdma_setup = k2_bmdma_setup_mmio, + .bmdma_start = k2_bmdma_start_mmio, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, .eng_timeout = ata_eng_timeout, @@ -343,6 +411,7 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e * if we don't fill these */ probe_ent->pio_mask = 0x1f; + probe_ent->mwdma_mask = 0x7; probe_ent->udma_mask = 0x7f; /* We have 4 ports per PCI function */ @@ -371,6 +440,8 @@ err_out: static struct pci_device_id k2_sata_pci_tbl[] = { { 0x1166, 0x0240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { 0x1166, 0x0241, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, + { 0x1166, 0x0242, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { } }; @@ -388,6 +459,7 @@ static int __init k2_sata_init(void) return pci_module_init(&k2_sata_pci_driver); } + static void __exit k2_sata_exit(void) { pci_unregister_driver(&k2_sata_pci_driver); @@ -398,6 +470,7 @@ MODULE_AUTHOR("Benjamin Herrenschmidt"); MODULE_DESCRIPTION("low-level driver for K2 SATA controller"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, k2_sata_pci_tbl); +MODULE_VERSION(DRV_VERSION); module_init(k2_sata_init); module_exit(k2_sata_exit); diff --git a/drivers/scsi/sata_via.c b/drivers/scsi/sata_via.c index 993edfc99..992329bab 100644 --- a/drivers/scsi/sata_via.c +++ b/drivers/scsi/sata_via.c @@ -81,6 +81,7 @@ static struct pci_driver svia_pci_driver = { static Scsi_Host_Template svia_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -99,15 +100,16 @@ static Scsi_Host_Template svia_sht = { static struct ata_port_operations svia_sata_ops = { .port_disable = ata_port_disable, - .tf_load = ata_tf_load_pio, - .tf_read = ata_tf_read_pio, - .check_status = ata_check_status_pio, - .exec_command = ata_exec_command_pio, + .tf_load = ata_tf_load, + .tf_read = ata_tf_read, + .check_status = ata_check_status, + .exec_command = ata_exec_command, + .dev_select = ata_std_dev_select, .phy_reset = sata_phy_reset, - .bmdma_setup = ata_bmdma_setup_pio, - .bmdma_start = ata_bmdma_start_pio, + .bmdma_setup = ata_bmdma_setup, + .bmdma_start = ata_bmdma_start, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, @@ -123,10 +125,20 @@ static struct ata_port_operations svia_sata_ops = { .port_stop = ata_port_stop, }; +static struct ata_port_info svia_port_info = { + .sht = &svia_sht, + .host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST | ATA_FLAG_NO_LEGACY, + .pio_mask = 0x1f, + .mwdma_mask = 0x07, + .udma_mask = 0x7f, + .port_ops = &svia_sata_ops, +}; + MODULE_AUTHOR("Jeff Garzik"); MODULE_DESCRIPTION("SCSI low-level driver for VIA SATA controllers"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, svia_pci_tbl); +MODULE_VERSION(DRV_VERSION); static u32 svia_scr_read (struct ata_port *ap, unsigned int sc_reg) { @@ -156,6 +168,7 @@ static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) static int printed_version; unsigned int i; int rc; + struct ata_port_info *ppi; struct ata_probe_ent *probe_ent; u8 tmp8; @@ -196,41 +209,17 @@ static int svia_init_one (struct pci_dev *pdev, const struct pci_device_id *ent) if (rc) goto err_out_regions; - probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL); + ppi = &svia_port_info; + probe_ent = ata_pci_init_native_mode(pdev, &ppi); if (!probe_ent) { printk(KERN_ERR DRV_NAME "(%s): out of memory\n", pci_name(pdev)); rc = -ENOMEM; goto err_out_regions; } - memset(probe_ent, 0, sizeof(*probe_ent)); - INIT_LIST_HEAD(&probe_ent->node); - probe_ent->pdev = pdev; - probe_ent->sht = &svia_sht; - probe_ent->host_flags = ATA_FLAG_SATA | ATA_FLAG_SRST | - ATA_FLAG_NO_LEGACY; - probe_ent->port_ops = &svia_sata_ops; - probe_ent->n_ports = 2; - probe_ent->irq = pdev->irq; - probe_ent->irq_flags = SA_SHIRQ; - probe_ent->pio_mask = 0x1f; - probe_ent->udma_mask = 0x7f; - - probe_ent->port[0].cmd_addr = pci_resource_start(pdev, 0); - ata_std_ports(&probe_ent->port[0]); - probe_ent->port[0].altstatus_addr = - probe_ent->port[0].ctl_addr = - pci_resource_start(pdev, 1) | ATA_PCI_CTL_OFS; - probe_ent->port[0].bmdma_addr = pci_resource_start(pdev, 4); + probe_ent->port[0].scr_addr = svia_scr_addr(pci_resource_start(pdev, 5), 0); - - probe_ent->port[1].cmd_addr = pci_resource_start(pdev, 2); - ata_std_ports(&probe_ent->port[1]); - probe_ent->port[1].altstatus_addr = - probe_ent->port[1].ctl_addr = - pci_resource_start(pdev, 3) | ATA_PCI_CTL_OFS; - probe_ent->port[1].bmdma_addr = pci_resource_start(pdev, 4) + 8; probe_ent->port[1].scr_addr = svia_scr_addr(pci_resource_start(pdev, 5), 1); diff --git a/drivers/scsi/sata_vsc.c b/drivers/scsi/sata_vsc.c index d63a339cc..94c2bd43c 100644 --- a/drivers/scsi/sata_vsc.c +++ b/drivers/scsi/sata_vsc.c @@ -190,6 +190,7 @@ irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance, struct pt_regs *reg static Scsi_Host_Template vsc_sata_sht = { .module = THIS_MODULE, .name = DRV_NAME, + .ioctl = ata_scsi_ioctl, .queuecommand = ata_scsi_queuecmd, .eh_strategy_handler = ata_scsi_error, .can_queue = ATA_DEF_QUEUE, @@ -210,11 +211,12 @@ static struct ata_port_operations vsc_sata_ops = { .port_disable = ata_port_disable, .tf_load = vsc_sata_tf_load, .tf_read = vsc_sata_tf_read, - .exec_command = ata_exec_command_mmio, - .check_status = ata_check_status_mmio, + .exec_command = ata_exec_command, + .check_status = ata_check_status, + .dev_select = ata_std_dev_select, .phy_reset = sata_phy_reset, - .bmdma_setup = ata_bmdma_setup_mmio, - .bmdma_start = ata_bmdma_start_mmio, + .bmdma_setup = ata_bmdma_setup, + .bmdma_start = ata_bmdma_start, .qc_prep = ata_qc_prep, .qc_issue = ata_qc_issue_prot, .eng_timeout = ata_eng_timeout, @@ -320,6 +322,7 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d * if we don't fill these */ probe_ent->pio_mask = 0x1f; + probe_ent->mwdma_mask = 0x07; probe_ent->udma_mask = 0x7f; /* We have 4 ports per PCI function */ @@ -330,6 +333,14 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d pci_set_master(pdev); + /* + * Config offset 0x98 is "Extended Control and Status Register 0" + * Default value is (1 << 28). All bits except bit 28 are reserved in + * DPA mode. If bit 28 is set, LED 0 reflects all ports' activity. + * If bit 28 is clear, each port has its own LED. + */ + pci_write_config_dword(pdev, 0x98, 0); + /* FIXME: check ata_device_add return value */ ata_device_add(probe_ent); kfree(probe_ent); @@ -382,6 +393,7 @@ MODULE_AUTHOR("Jeremy Higdon"); MODULE_DESCRIPTION("low-level driver for Vitesse VSC7174 SATA controller"); MODULE_LICENSE("GPL"); MODULE_DEVICE_TABLE(pci, vsc_sata_pci_tbl); +MODULE_VERSION(DRV_VERSION); module_init(vsc_sata_init); module_exit(vsc_sata_exit); diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 17dce6657..ec6faebd9 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -244,7 +244,13 @@ static struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, */ struct scsi_cmnd *scsi_get_command(struct scsi_device *dev, int gfp_mask) { - struct scsi_cmnd *cmd = __scsi_get_command(dev->host, gfp_mask); + struct scsi_cmnd *cmd; + + /* Bail if we can't get a reference to the device */ + if (!get_device(&dev->sdev_gendev)) + return NULL; + + cmd = __scsi_get_command(dev->host, gfp_mask); if (likely(cmd != NULL)) { unsigned long flags; @@ -258,7 +264,8 @@ struct scsi_cmnd *scsi_get_command(struct scsi_device *dev, int gfp_mask) spin_lock_irqsave(&dev->list_lock, flags); list_add_tail(&cmd->list, &dev->cmd_list); spin_unlock_irqrestore(&dev->list_lock, flags); - } + } else + put_device(&dev->sdev_gendev); return cmd; } @@ -276,7 +283,8 @@ struct scsi_cmnd *scsi_get_command(struct scsi_device *dev, int gfp_mask) */ void scsi_put_command(struct scsi_cmnd *cmd) { - struct Scsi_Host *shost = cmd->device->host; + struct scsi_device *sdev = cmd->device; + struct Scsi_Host *shost = sdev->host; unsigned long flags; /* serious error if the command hasn't come from a device list */ @@ -294,6 +302,8 @@ void scsi_put_command(struct scsi_cmnd *cmd) if (likely(cmd != NULL)) kmem_cache_free(shost->cmd_pool->slab, cmd); + + put_device(&sdev->sdev_gendev); } /* @@ -518,6 +528,26 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) /* return 0 (because the command has been processed) */ goto out; } + + /* Check to see if the scsi lld put this device into state SDEV_BLOCK. */ + if (unlikely(cmd->device->sdev_state == SDEV_BLOCK)) { + /* + * in SDEV_BLOCK, the command is just put back on the device + * queue. The suspend state has already blocked the queue so + * future requests should not occur until the device + * transitions out of the suspend state. + */ + scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY); + + SCSI_LOG_MLQUEUE(3, printk("queuecommand : device blocked \n")); + + /* + * NOTE: rtn is still zero here because we don't need the + * queue to be plugged on return (it's already stopped) + */ + goto out; + } + /* Assign a unique nonzero serial_number. */ /* XXX(hch): this is racy */ if (++serial_number == 0) @@ -897,15 +927,16 @@ void scsi_adjust_queue_depth(struct scsi_device *sdev, int tagged, int tags) */ if (tags <= 0) return; - /* - * Limit max queue depth on a single lun to 256 for now. Remember, - * we allocate a struct scsi_command for each of these and keep it - * around forever. Too deep of a depth just wastes memory. - */ - if (tags > 256) - return; spin_lock_irqsave(&device_request_lock, flags); + spin_lock(sdev->request_queue->queue_lock); + + /* Check to see if the queue is managed by the block layer + * if it is, and we fail to adjust the depth, exit */ + if (blk_queue_tagged(sdev->request_queue) && + blk_queue_resize_tags(sdev->request_queue, tags) != 0) + goto out; + sdev->queue_depth = tags; switch (tagged) { case MSG_ORDERED_TAG: @@ -926,6 +957,8 @@ void scsi_adjust_queue_depth(struct scsi_device *sdev, int tagged, int tags) sdev->queue_depth = tags; break; } + out: + spin_unlock(sdev->request_queue->queue_lock); spin_unlock_irqrestore(&device_request_lock, flags); } @@ -1030,6 +1063,8 @@ struct scsi_device *__scsi_iterate_devices(struct Scsi_Host *shost, /* skip devices that we can't get a reference to */ if (!scsi_device_get(next)) break; + + next = NULL; list = list->next; } spin_unlock_irqrestore(shost->host_lock, flags); @@ -1100,8 +1135,8 @@ EXPORT_SYMBOL(scsi_device_lookup); /** * scsi_device_cancel - cancel outstanding IO to this device - * @sdev: pointer to struct scsi_device - * @data: pointer to cancel value. + * @sdev: Pointer to struct scsi_device + * @recovery: Boolean instructing function to recover device or not. * **/ int scsi_device_cancel(struct scsi_device *sdev, int recovery) diff --git a/drivers/scsi/scsi_devinfo.c b/drivers/scsi/scsi_devinfo.c index 0153b7747..ea19077e5 100644 --- a/drivers/scsi/scsi_devinfo.c +++ b/drivers/scsi/scsi_devinfo.c @@ -118,10 +118,7 @@ static struct { */ {"ADAPTEC", "AACRAID", NULL, BLIST_FORCELUN}, {"ADAPTEC", "Adaptec 5400S", NULL, BLIST_FORCELUN}, - {"AFT PRO", "-IX CF", "0.0>", BLIST_FORCELUN}, - {"BELKIN", "USB 2 HS-CF", "1.95", BLIST_FORCELUN}, {"CANON", "IPUBJD", NULL, BLIST_SPARSELUN}, - {"CBOX3", "USB Storage-SMC", "300A", BLIST_FORCELUN}, {"CMD", "CRA-7280", NULL, BLIST_SPARSELUN}, /* CMD RAID Controller */ {"CNSI", "G7324", NULL, BLIST_SPARSELUN}, /* Chaparral G7324 RAID */ {"CNSi", "G8324", NULL, BLIST_SPARSELUN}, /* Chaparral G8324 RAID */ @@ -142,9 +139,6 @@ static struct { {"EMC", "SYMMETRIX", NULL, BLIST_SPARSELUN | BLIST_LARGELUN | BLIST_FORCELUN}, {"EMULEX", "MD21/S2 ESDI", NULL, BLIST_SINGLELUN}, {"FSC", "CentricStor", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, - {"Generic", "USB SD Reader", "1.00", BLIST_FORCELUN}, - {"Generic", "USB Storage-SMC", "0180", BLIST_FORCELUN}, - {"Generic", "USB Storage-SMC", "0207", BLIST_FORCELUN}, {"HITACHI", "DF400", "*", BLIST_SPARSELUN}, {"HITACHI", "DF500", "*", BLIST_SPARSELUN}, {"HITACHI", "DF600", "*", BLIST_SPARSELUN}, @@ -164,7 +158,6 @@ static struct { {"MATSHITA", "PD-1", NULL, BLIST_FORCELUN | BLIST_SINGLELUN}, {"MATSHITA", "DMC-LC5", NULL, BLIST_NOT_LOCKABLE | BLIST_INQUIRY_36}, {"MATSHITA", "DMC-LC40", NULL, BLIST_NOT_LOCKABLE | BLIST_INQUIRY_36}, - {"Medion", "Flash XL MMC/SD", "2.6D", BLIST_FORCELUN}, {"MegaRAID", "LD", NULL, BLIST_FORCELUN}, {"MICROP", "4110", NULL, BLIST_NOTQ}, {"MYLEX", "DACARMRB", "*", BLIST_REPORTLUN2}, @@ -178,11 +171,9 @@ static struct { {"PIONEER", "CD-ROM DRM-602X", NULL, BLIST_FORCELUN | BLIST_SINGLELUN}, {"PIONEER", "CD-ROM DRM-604X", NULL, BLIST_FORCELUN | BLIST_SINGLELUN}, {"REGAL", "CDC-4X", NULL, BLIST_MAX5LUN | BLIST_SINGLELUN}, - {"SanDisk", "ImageMate CF-SD1", NULL, BLIST_FORCELUN}, {"SGI", "RAID3", "*", BLIST_SPARSELUN}, {"SGI", "RAID5", "*", BLIST_SPARSELUN}, {"SGI", "TP9100", "*", BLIST_REPORTLUN2}, - {"SMSC", "USB 2 HS-CF", NULL, BLIST_SPARSELUN}, {"SONY", "CD-ROM CDU-8001", NULL, BLIST_BORKEN}, {"SONY", "TSL", NULL, BLIST_FORCELUN}, /* DDS3 & DDS4 autoloaders */ {"SUN", "T300", "*", BLIST_SPARSELUN}, @@ -190,10 +181,41 @@ static struct { {"TEXEL", "CD-ROM", "1.06", BLIST_BORKEN}, {"TOSHIBA", "CDROM", NULL, BLIST_ISROM}, {"TOSHIBA", "CD-ROM", NULL, BLIST_ISROM}, - {"USB2.0", "SMARTMEDIA/XD", NULL, BLIST_FORCELUN}, {"XYRATEX", "RS", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, {"Zzyzx", "RocketStor 500S", NULL, BLIST_SPARSELUN}, {"Zzyzx", "RocketStor 2000", NULL, BLIST_SPARSELUN}, + + /* + * USB multi card readers. Only these should use BLIST_FORCELUN. + */ + {"AFT PRO", "-IX CF", "0.0>", BLIST_FORCELUN}, + {"BELKIN", "USB 2 HS-CF", "1.95", BLIST_FORCELUN}, + {"CBOX3", "USB Storage-SMC", "300A", BLIST_FORCELUN}, + {"DMI", "MultiFlash", "3.00", BLIST_FORCELUN}, + {"eUSB", "Compact Flash", NULL, BLIST_FORCELUN}, + {"GENERIC", "Card Reader CF", "v26F", BLIST_FORCELUN}, + {"Generic", "USB SD Reader", "1.00", BLIST_FORCELUN}, + {"Generic", "USB Storage-SMC", "0090", BLIST_FORCELUN}, + {"Generic", "USB Storage-SMC", "0180", BLIST_FORCELUN}, + {"Generic", "USB Storage-SMC", "0207", BLIST_FORCELUN}, + {"generic", "USB Storage-SMC", "0207", BLIST_FORCELUN}, + {"IC", "USB Storage-CFC", "322E", BLIST_FORCELUN}, + {"ICSI", "SD Card", "2.7C", BLIST_FORCELUN}, + {"IOI", "Media Bay", "*", BLIST_FORCELUN}, + {"Lexar", "Media Inc. SM/xD", "009E", BLIST_FORCELUN}, + {"Medion", "Flash XL MMC/SD", "2.6D", BLIST_FORCELUN}, + {"OEI-USB2", "CompactFlash", "2.00", BLIST_FORCELUN}, + {"SanDisk", "ImageMate CF-SD1", NULL, BLIST_FORCELUN}, + {"SMSC", "223 U HS-CF", "1.95", BLIST_FORCELUN}, + {"SMSC", "USB 2 HS-CF", NULL, BLIST_FORCELUN}, + {"TwinMOS", "7-in-1 Card RWCF", "0100", BLIST_FORCELUN}, + {"USB2.0", "CardReader SM RW", "0814", BLIST_FORCELUN}, + {"USB2.0", "CardReader CF RW", "0.0>", BLIST_FORCELUN}, + {"USB2.0", "CF CardReader", NULL, BLIST_FORCELUN}, + {"USB2.0", "SMARTMEDIA/XD", NULL, BLIST_FORCELUN}, + {"Y-E DATA", "CF Card Reader", "1.03", BLIST_FORCELUN}, + {"Zynet", "USB Storage-SMC", "I03A", BLIST_FORCELUN}, + { NULL, NULL, NULL, 0 }, }; diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index 288f2fde9..617412e06 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include @@ -42,8 +42,8 @@ * These should *probably* be handled by the host itself. * Since it is allowed to sleep, it probably should. */ -#define BUS_RESET_SETTLE_TIME (10*HZ) -#define HOST_RESET_SETTLE_TIME (10*HZ) +#define BUS_RESET_SETTLE_TIME (10) +#define HOST_RESET_SETTLE_TIME (10) /* called with shost->host_lock held */ void scsi_eh_wakeup(struct Scsi_Host *shost) @@ -643,15 +643,13 @@ static void scsi_eh_finish_cmd(struct scsi_cmnd *scmd, * Notes: * This has the unfortunate side effect that if a shost adapter does * not automatically request sense information, that we end up shutting - * it down before we request it. All shosts should be doing this - * anyways, so for now all I have to say is tough noogies if you end up - * in here. On second thought, this is probably a good idea. We - * *really* want to give authors an incentive to automatically request - * this. + * it down before we request it. * - * In 2.5 this capability will be going away. + * All drivers should request sense information internally these days, + * so for now all I have to say is tough noogies if you end up in here. * - * Really? --hch + * XXX: Long term this code should go away, but that needs an audit of + * all LLDDs first. **/ static int scsi_eh_get_sense(struct list_head *work_q, struct list_head *done_q) @@ -1044,7 +1042,7 @@ static int scsi_try_bus_reset(struct scsi_cmnd *scmd) if (rtn == SUCCESS) { if (!scmd->device->host->hostt->skip_settle_delay) - scsi_sleep(BUS_RESET_SETTLE_TIME); + ssleep(BUS_RESET_SETTLE_TIME); spin_lock_irqsave(scmd->device->host->host_lock, flags); scsi_report_bus_reset(scmd->device->host, scmd->device->channel); spin_unlock_irqrestore(scmd->device->host->host_lock, flags); @@ -1076,7 +1074,7 @@ static int scsi_try_host_reset(struct scsi_cmnd *scmd) if (rtn == SUCCESS) { if (!scmd->device->host->hostt->skip_settle_delay) - scsi_sleep(HOST_RESET_SETTLE_TIME); + ssleep(HOST_RESET_SETTLE_TIME); spin_lock_irqsave(scmd->device->host->host_lock, flags); scsi_report_bus_reset(scmd->device->host, scmd->device->channel); spin_unlock_irqrestore(scmd->device->host->host_lock, flags); @@ -1215,43 +1213,6 @@ static void scsi_eh_offline_sdevs(struct list_head *work_q, return; } -/** - * scsi_sleep_done - timer function for scsi_sleep - * @sem: semphore to signal - * - **/ -static void scsi_sleep_done(unsigned long data) -{ - struct semaphore *sem = (struct semaphore *)data; - - if (sem) - up(sem); -} - -/** - * scsi_sleep - sleep for specified timeout - * @timeout: timeout value - * - **/ -void scsi_sleep(int timeout) -{ - DECLARE_MUTEX_LOCKED(sem); - struct timer_list timer; - - init_timer(&timer); - timer.data = (unsigned long)&sem; - timer.expires = jiffies + timeout; - timer.function = (void (*)(unsigned long))scsi_sleep_done; - - SCSI_LOG_ERROR_RECOVERY(5, printk("sleeping for timer tics %d\n", - timeout)); - - add_timer(&timer); - - down(&sem); - del_timer(&timer); -} - /** * scsi_decide_disposition - Disposition a cmd on return from LLD. * @scmd: SCSI cmd to examine. @@ -1639,8 +1600,6 @@ int scsi_error_handler(void *data) int rtn; DECLARE_MUTEX_LOCKED(sem); - lock_kernel(); - /* * Flush resources */ @@ -1652,8 +1611,6 @@ int scsi_error_handler(void *data) shost->eh_wait = &sem; shost->ehandler = current; - unlock_kernel(); - /* * Wake up the thread that created us. */ diff --git a/drivers/scsi/scsi_ioctl.c b/drivers/scsi/scsi_ioctl.c index bc5869b10..d459bb7a0 100644 --- a/drivers/scsi/scsi_ioctl.c +++ b/drivers/scsi/scsi_ioctl.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "scsi_logging.h" @@ -391,6 +392,21 @@ int scsi_ioctl(struct scsi_device *sdev, int cmd, void __user *arg) if (!scsi_block_when_processing_errors(sdev)) return -ENODEV; + /* Check for deprecated ioctls ... all the ioctls which don't + * follow the new unique numbering scheme are deprecated */ + switch (cmd) { + case SCSI_IOCTL_SEND_COMMAND: + case SCSI_IOCTL_TEST_UNIT_READY: + case SCSI_IOCTL_BENCHMARK_COMMAND: + case SCSI_IOCTL_SYNC: + case SCSI_IOCTL_START_UNIT: + case SCSI_IOCTL_STOP_UNIT: + printk(KERN_WARNING "program %s is using a deprecated SCSI ioctl, please convert it to SG_IO\n", current->comm); + break; + default: + break; + } + switch (cmd) { case SCSI_IOCTL_GET_IDLUN: if (verify_area(VERIFY_WRITE, arg, sizeof(struct scsi_idlun))) @@ -417,12 +433,8 @@ int scsi_ioctl(struct scsi_device *sdev, int cmd, void __user *arg) case SCSI_IOCTL_DOORUNLOCK: return scsi_set_medium_removal(sdev, SCSI_REMOVAL_ALLOW); case SCSI_IOCTL_TEST_UNIT_READY: - scsi_cmd[0] = TEST_UNIT_READY; - scsi_cmd[1] = 0; - scsi_cmd[2] = scsi_cmd[3] = scsi_cmd[5] = 0; - scsi_cmd[4] = 0; - return ioctl_internal_command(sdev, scsi_cmd, - IOCTL_NORMAL_TIMEOUT, NORMAL_RETRIES); + return scsi_test_unit_ready(sdev, IOCTL_NORMAL_TIMEOUT, + NORMAL_RETRIES); case SCSI_IOCTL_START_UNIT: scsi_cmd[0] = START_STOP; scsi_cmd[1] = 0; @@ -445,3 +457,51 @@ int scsi_ioctl(struct scsi_device *sdev, int cmd, void __user *arg) } return -EINVAL; } + +/* + * the scsi_nonblock_ioctl() function is designed for ioctls which may + * be executed even if the device is in recovery. + */ +int scsi_nonblockable_ioctl(struct scsi_device *sdev, int cmd, + void __user *arg, struct file *filp) +{ + int val, result; + + /* The first set of iocts may be executed even if we're doing + * error processing, as long as the device was opened + * non-blocking */ + if (filp && filp->f_flags & O_NONBLOCK) { + if (test_bit(SHOST_RECOVERY, + &sdev->host->shost_state)) + return -ENODEV; + } else if (!scsi_block_when_processing_errors(sdev)) + return -ENODEV; + + switch (cmd) { + case SG_SCSI_RESET: + result = get_user(val, (int __user *)arg); + if (result) + return result; + if (val == SG_SCSI_RESET_NOTHING) + return 0; + switch (val) { + case SG_SCSI_RESET_DEVICE: + val = SCSI_TRY_RESET_DEVICE; + break; + case SG_SCSI_RESET_BUS: + val = SCSI_TRY_RESET_BUS; + break; + case SG_SCSI_RESET_HOST: + val = SCSI_TRY_RESET_HOST; + break; + default: + return -EINVAL; + } + if (!capable(CAP_SYS_ADMIN) || !capable(CAP_SYS_RAWIO)) + return -EACCES; + return (scsi_reset_provider(sdev, val) == + SUCCESS) ? 0 : -EIO; + } + return -ENODEV; +} +EXPORT_SYMBOL(scsi_nonblockable_ioctl); diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index e30d3f2bf..389cf504f 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -365,7 +365,7 @@ static void scsi_single_lun_run(struct scsi_device *current_sdev) unsigned long flags; spin_lock_irqsave(shost->host_lock, flags); - current_sdev->sdev_target->starget_sdev_user = NULL; + scsi_target(current_sdev)->starget_sdev_user = NULL; spin_unlock_irqrestore(shost->host_lock, flags); /* @@ -377,7 +377,7 @@ static void scsi_single_lun_run(struct scsi_device *current_sdev) blk_run_queue(current_sdev->request_queue); spin_lock_irqsave(shost->host_lock, flags); - if (current_sdev->sdev_target->starget_sdev_user) + if (scsi_target(current_sdev)->starget_sdev_user) goto out; list_for_each_entry_safe(sdev, tmp, ¤t_sdev->same_target_siblings, same_target_siblings) { @@ -711,8 +711,7 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes, } if (blk_pc_request(req)) { /* SG_IO ioctl from block level */ - req->errors = (driver_byte(result) & DRIVER_SENSE) ? - (CHECK_CONDITION << 1) : (result & 0xff); + req->errors = result; if (result) { clear_errors = 0; if (cmd->sense_buffer[0] & 0x70) { @@ -954,6 +953,22 @@ static int scsi_init_io(struct scsi_cmnd *cmd) return BLKPREP_KILL; } +static int scsi_issue_flush_fn(request_queue_t *q, struct gendisk *disk, + sector_t *error_sector) +{ + struct scsi_device *sdev = q->queuedata; + struct scsi_driver *drv; + + if (sdev->sdev_state != SDEV_RUNNING) + return -ENXIO; + + drv = *(struct scsi_driver **) disk->private_data; + if (drv->issue_flush) + return drv->issue_flush(&sdev->sdev_gendev, error_sector); + + return -EOPNOTSUPP; +} + static int scsi_prep_fn(struct request_queue *q, struct request *req) { struct scsi_device *sdev = q->queuedata; @@ -1008,7 +1023,8 @@ static int scsi_prep_fn(struct request_queue *q, struct request *req) } else if (req->flags & (REQ_CMD | REQ_BLOCK_PC)) { if(unlikely(specials_only)) { - if(specials_only == SDEV_QUIESCE) + if(specials_only == SDEV_QUIESCE || + specials_only == SDEV_BLOCK) return BLKPREP_DEFER; printk(KERN_ERR "scsi%d (%d:%d): rejecting I/O to device being removed\n", @@ -1231,10 +1247,10 @@ static void scsi_request_fn(struct request_queue *q) if (!scsi_host_queue_ready(q, shost, sdev)) goto not_ready; if (sdev->single_lun) { - if (sdev->sdev_target->starget_sdev_user && - sdev->sdev_target->starget_sdev_user != sdev) + if (scsi_target(sdev)->starget_sdev_user && + scsi_target(sdev)->starget_sdev_user != sdev) goto not_ready; - sdev->sdev_target->starget_sdev_user = sdev; + scsi_target(sdev)->starget_sdev_user = sdev; } shost->host_busy++; @@ -1304,19 +1320,22 @@ static void scsi_request_fn(struct request_queue *q) u64 scsi_calculate_bounce_limit(struct Scsi_Host *shost) { struct device *host_dev; + u64 bounce_limit = 0xffffffff; if (shost->unchecked_isa_dma) return BLK_BOUNCE_ISA; - - host_dev = scsi_get_device(shost); - if (PCI_DMA_BUS_IS_PHYS && host_dev && host_dev->dma_mask) - return *host_dev->dma_mask; - /* * Platforms with virtual-DMA translation * hardware have no practical limit. */ - return BLK_BOUNCE_ANY; + if (!PCI_DMA_BUS_IS_PHYS) + return BLK_BOUNCE_ANY; + + host_dev = scsi_get_device(shost); + if (host_dev && host_dev->dma_mask) + bounce_limit = *host_dev->dma_mask; + + return bounce_limit; } struct request_queue *scsi_alloc_queue(struct scsi_device *sdev) @@ -1335,7 +1354,8 @@ struct request_queue *scsi_alloc_queue(struct scsi_device *sdev) blk_queue_max_sectors(q, shost->max_sectors); blk_queue_bounce_limit(q, scsi_calculate_bounce_limit(shost)); blk_queue_segment_boundary(q, shost->dma_boundary); - + blk_queue_issue_flush_fn(q, scsi_issue_flush_fn); + if (!shost->use_clustering) clear_bit(QUEUE_FLAG_CLUSTER, &q->queue_flags); return q; @@ -1555,6 +1575,35 @@ scsi_mode_sense(struct scsi_device *sdev, int dbd, int modepage, return ret; } +int +scsi_test_unit_ready(struct scsi_device *sdev, int timeout, int retries) +{ + struct scsi_request *sreq; + char cmd[] = { + TEST_UNIT_READY, 0, 0, 0, 0, 0, + }; + int result; + + sreq = scsi_allocate_request(sdev, GFP_KERNEL); + if (!sreq) + return -ENOMEM; + + sreq->sr_data_direction = DMA_NONE; + scsi_wait_req(sreq, cmd, NULL, 0, timeout, retries); + + if ((driver_byte(sreq->sr_result) & DRIVER_SENSE) && + ((sreq->sr_sense_buffer[2] & 0x0f) == UNIT_ATTENTION || + (sreq->sr_sense_buffer[2] & 0x0f) == NOT_READY) && + sdev->removable) { + sdev->changed = 1; + sreq->sr_result = 0; + } + result = sreq->sr_result; + scsi_release_request(sreq); + return result; +} +EXPORT_SYMBOL(scsi_test_unit_ready); + /** * scsi_device_set_state - Take the given device through the device * state model. @@ -1584,6 +1633,7 @@ scsi_device_set_state(struct scsi_device *sdev, enum scsi_device_state state) case SDEV_CREATED: case SDEV_OFFLINE: case SDEV_QUIESCE: + case SDEV_BLOCK: break; default: goto illegal; @@ -1605,6 +1655,17 @@ scsi_device_set_state(struct scsi_device *sdev, enum scsi_device_state state) case SDEV_CREATED: case SDEV_RUNNING: case SDEV_QUIESCE: + case SDEV_BLOCK: + break; + default: + goto illegal; + } + break; + + case SDEV_BLOCK: + switch (oldstate) { + case SDEV_CREATED: + case SDEV_RUNNING: break; default: goto illegal; @@ -1616,6 +1677,7 @@ scsi_device_set_state(struct scsi_device *sdev, enum scsi_device_state state) case SDEV_CREATED: case SDEV_RUNNING: case SDEV_OFFLINE: + case SDEV_BLOCK: break; default: goto illegal; @@ -1694,3 +1756,130 @@ scsi_device_resume(struct scsi_device *sdev) } EXPORT_SYMBOL(scsi_device_resume); +static int +device_quiesce_fn(struct device *dev, void *data) +{ + scsi_device_quiesce(to_scsi_device(dev)); + return 0; +} + +void +scsi_target_quiesce(struct scsi_target *starget) +{ + device_for_each_child(&starget->dev, NULL, device_quiesce_fn); +} +EXPORT_SYMBOL(scsi_target_quiesce); + +static int +device_resume_fn(struct device *dev, void *data) +{ + scsi_device_resume(to_scsi_device(dev)); + return 0; +} + +void +scsi_target_resume(struct scsi_target *starget) +{ + device_for_each_child(&starget->dev, NULL, device_resume_fn); +} +EXPORT_SYMBOL(scsi_target_resume); + +/** + * scsi_internal_device_block - internal function to put a device + * temporarily into the SDEV_BLOCK state + * @sdev: device to block + * + * Block request made by scsi lld's to temporarily stop all + * scsi commands on the specified device. Called from interrupt + * or normal process context. + * + * Returns zero if successful or error if not + * + * Notes: + * This routine transitions the device to the SDEV_BLOCK state + * (which must be a legal transition). When the device is in this + * state, all commands are deferred until the scsi lld reenables + * the device with scsi_device_unblock or device_block_tmo fires. + * This routine assumes the host_lock is held on entry. + * + * As the LLDD/Transport that is calling this function doesn't + * actually know what the device state is, the function may be + * called at an inappropriate time. Therefore, before requesting + * the state change, the function validates that the transition is + * valid. + **/ +int +scsi_internal_device_block(struct scsi_device *sdev) +{ + request_queue_t *q = sdev->request_queue; + unsigned long flags; + int err = 0; + + if ((sdev->sdev_state != SDEV_CREATED) && + (sdev->sdev_state != SDEV_RUNNING)) + return 0; + + err = scsi_device_set_state(sdev, SDEV_BLOCK); + if (err) + return err; + + /* + * The device has transitioned to SDEV_BLOCK. Stop the + * block layer from calling the midlayer with this device's + * request queue. + */ + spin_lock_irqsave(q->queue_lock, flags); + blk_stop_queue(q); + spin_unlock_irqrestore(q->queue_lock, flags); + + return 0; +} +EXPORT_SYMBOL_GPL(scsi_internal_device_block); + +/** + * scsi_internal_device_unblock - resume a device after a block request + * @sdev: device to resume + * + * Called by scsi lld's or the midlayer to restart the device queue + * for the previously suspended scsi device. Called from interrupt or + * normal process context. + * + * Returns zero if successful or error if not. + * + * Notes: + * This routine transitions the device to the SDEV_RUNNING state + * (which must be a legal transition) allowing the midlayer to + * goose the queue for this device. This routine assumes the + * host_lock is held upon entry. + * + * As the LLDD/Transport that is calling this function doesn't + * actually know what the device state is, the function may be + * called at an inappropriate time. Therefore, before requesting + * the state change, the function validates that the transition is + * valid. + **/ +int +scsi_internal_device_unblock(struct scsi_device *sdev) +{ + request_queue_t *q = sdev->request_queue; + int err; + unsigned long flags; + + if (sdev->sdev_state != SDEV_BLOCK) + return 0; + + /* + * Try to transition the scsi device to SDEV_RUNNING + * and goose the device queue if successful. + */ + err = scsi_device_set_state(sdev, SDEV_RUNNING); + if (err) + return err; + + spin_lock_irqsave(q->queue_lock, flags); + blk_start_queue(q); + spin_unlock_irqrestore(q->queue_lock, flags); + + return 0; +} +EXPORT_SYMBOL_GPL(scsi_internal_device_unblock); diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h index 4dfb3db63..d380ca35b 100644 --- a/drivers/scsi/scsi_priv.h +++ b/drivers/scsi/scsi_priv.h @@ -58,16 +58,6 @@ struct Scsi_Host; */ #define SCAN_WILD_CARD ~0 -/* - * scsi_target: representation of a scsi target, for now, this is only - * used for single_lun devices. If no one has active IO to the target, - * starget_sdev_user is NULL, else it points to the active sdev. - */ -struct scsi_target { - struct scsi_device *starget_sdev_user; - unsigned int starget_refcnt; -}; - /* hosts.c */ extern int scsi_init_hosts(void); extern void scsi_exit_hosts(void); @@ -156,9 +146,20 @@ extern int scsi_sysfs_add_sdev(struct scsi_device *); extern int scsi_sysfs_add_host(struct Scsi_Host *); extern int scsi_sysfs_register(void); extern void scsi_sysfs_unregister(void); +extern int scsi_sysfs_device_initialize(struct scsi_device *); +extern int scsi_sysfs_target_initialize(struct scsi_device *); extern struct scsi_transport_template blank_transport_template; extern struct class sdev_class; extern struct bus_type scsi_bus_type; +/* + * internal scsi timeout functions: for use by mid-layer and transport + * classes. + */ + +#define SCSI_DEVICE_BLOCK_MAX_TIMEOUT (HZ*60) +extern int scsi_internal_device_block(struct scsi_device *sdev); +extern int scsi_internal_device_unblock(struct scsi_device *sdev); + #endif /* _SCSI_PRIV_H */ diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 166cb9ab3..1c09ffab6 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c @@ -200,12 +200,14 @@ static void print_inquiry(unsigned char *inq_result) * scsi_Device pointer, or NULL on failure. **/ static struct scsi_device *scsi_alloc_sdev(struct Scsi_Host *shost, - uint channel, uint id, uint lun) + uint channel, uint id, uint lun, void *hostdata) { - struct scsi_device *sdev, *device; + struct scsi_device *sdev; unsigned long flags; + int display_failure_msg = 1, ret; - sdev = kmalloc(sizeof(*sdev) + shost->transportt->size, GFP_ATOMIC); + sdev = kmalloc(sizeof(*sdev) + shost->transportt->device_size, + GFP_ATOMIC); if (!sdev) goto out; @@ -224,6 +226,8 @@ static struct scsi_device *scsi_alloc_sdev(struct Scsi_Host *shost, INIT_LIST_HEAD(&sdev->starved_entry); spin_lock_init(&sdev->list_lock); + /* usually NULL and set by ->slave_alloc instead */ + sdev->hostdata = hostdata; /* if the device needs this changing, it may do so in the * slave_configure function */ @@ -249,81 +253,53 @@ static struct scsi_device *scsi_alloc_sdev(struct Scsi_Host *shost, sdev->request_queue->queuedata = sdev; scsi_adjust_queue_depth(sdev, 0, sdev->host->cmd_per_lun); - if (shost->hostt->slave_alloc) { - if (shost->hostt->slave_alloc(sdev)) + if (shost->transportt->device_setup) { + if (shost->transportt->device_setup(sdev)) goto out_free_queue; } - if (shost->transportt->setup) { - if (shost->transportt->setup(sdev)) - goto out_cleanup_slave; + if (shost->hostt->slave_alloc) { + ret = shost->hostt->slave_alloc(sdev); + if (ret) { + /* + * if LLDD reports slave not present, don't clutter + * console with alloc failure messages + */ + if (ret == -ENXIO) + display_failure_msg = 0; + goto out_device_destroy; + } } - if (get_device(&sdev->host->shost_gendev)) { - - device_initialize(&sdev->sdev_gendev); - sdev->sdev_gendev.parent = &sdev->host->shost_gendev; - sdev->sdev_gendev.bus = &scsi_bus_type; - sdev->sdev_gendev.release = scsi_device_dev_release; - sprintf(sdev->sdev_gendev.bus_id,"%d:%d:%d:%d", - sdev->host->host_no, sdev->channel, sdev->id, - sdev->lun); - - class_device_initialize(&sdev->sdev_classdev); - sdev->sdev_classdev.dev = &sdev->sdev_gendev; - sdev->sdev_classdev.class = &sdev_class; - snprintf(sdev->sdev_classdev.class_id, BUS_ID_SIZE, - "%d:%d:%d:%d", sdev->host->host_no, - sdev->channel, sdev->id, sdev->lun); - - class_device_initialize(&sdev->transport_classdev); - sdev->transport_classdev.dev = &sdev->sdev_gendev; - sdev->transport_classdev.class = sdev->host->transportt->class; - snprintf(sdev->transport_classdev.class_id, BUS_ID_SIZE, - "%d:%d:%d:%d", sdev->host->host_no, - sdev->channel, sdev->id, sdev->lun); - } else - goto out_cleanup_transport; + if (scsi_sysfs_device_initialize(sdev) != 0) + goto out_cleanup_slave; - /* - * If there are any same target siblings, add this to the - * sibling list - */ - spin_lock_irqsave(shost->host_lock, flags); - list_for_each_entry(device, &shost->__devices, siblings) { - if (device->id == sdev->id && - device->channel == sdev->channel) { - list_add_tail(&sdev->same_target_siblings, - &device->same_target_siblings); - sdev->scsi_level = device->scsi_level; - break; - } - } - /* - * If there wasn't another lun already configured at this - * target, then default this device to SCSI_2 until we - * know better - */ - if (!sdev->scsi_level) - sdev->scsi_level = SCSI_2; + /* NOTE: this target initialisation code depends critically on + * lun scanning being sequential. */ + if (scsi_sysfs_target_initialize(sdev)) + goto out_remove_siblings; - list_add_tail(&sdev->siblings, &shost->__devices); - spin_unlock_irqrestore(shost->host_lock, flags); return sdev; -out_cleanup_transport: - if (shost->transportt->cleanup) - shost->transportt->cleanup(sdev); +out_remove_siblings: + spin_lock_irqsave(shost->host_lock, flags); + list_del(&sdev->siblings); + list_del(&sdev->same_target_siblings); + spin_unlock_irqrestore(shost->host_lock, flags); out_cleanup_slave: if (shost->hostt->slave_destroy) shost->hostt->slave_destroy(sdev); +out_device_destroy: + if (shost->transportt->device_destroy) + shost->transportt->device_destroy(sdev); out_free_queue: scsi_free_queue(sdev->request_queue); out_free_dev: kfree(sdev); out: - printk(ALLOC_FAILURE_MSG, __FUNCTION__); + if (display_failure_msg) + printk(ALLOC_FAILURE_MSG, __FUNCTION__); return NULL; } @@ -498,10 +474,6 @@ static void scsi_probe_lun(struct scsi_request *sreq, char *inq_result, **/ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) { - struct scsi_device *sdev_sibling; - struct scsi_target *starget; - unsigned long flags; - /* * XXX do not save the inquiry, since it can change underneath us, * save just vendor/model/rev. @@ -610,40 +582,9 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) if (*bflags & BLIST_NOSTARTONADD) sdev->no_start_on_add = 1; - /* - * If we need to allow I/O to only one of the luns attached to - * this target id at a time set single_lun, and allocate or modify - * sdev_target. - */ - if (*bflags & BLIST_SINGLELUN) { + if (*bflags & BLIST_SINGLELUN) sdev->single_lun = 1; - spin_lock_irqsave(sdev->host->host_lock, flags); - starget = NULL; - /* - * Search for an existing target for this sdev. - */ - list_for_each_entry(sdev_sibling, &sdev->same_target_siblings, - same_target_siblings) { - if (sdev_sibling->sdev_target != NULL) { - starget = sdev_sibling->sdev_target; - break; - } - } - if (!starget) { - starget = kmalloc(sizeof(*starget), GFP_ATOMIC); - if (!starget) { - printk(ALLOC_FAILURE_MSG, __FUNCTION__); - spin_unlock_irqrestore(sdev->host->host_lock, - flags); - return SCSI_SCAN_NO_RESPONSE; - } - starget->starget_refcnt = 0; - starget->starget_sdev_user = NULL; - } - starget->starget_refcnt++; - sdev->sdev_target = starget; - spin_unlock_irqrestore(sdev->host->host_lock, flags); - } + sdev->use_10_for_rw = 1; @@ -666,7 +607,10 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) if (*bflags & BLIST_NOT_LOCKABLE) sdev->lockable = 0; - if(sdev->host->hostt->slave_configure) + if (sdev->host->transportt->device_configure) + sdev->host->transportt->device_configure(sdev); + + if (sdev->host->hostt->slave_configure) sdev->host->hostt->slave_configure(sdev); /* @@ -697,7 +641,7 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) **/ static int scsi_probe_and_add_lun(struct Scsi_Host *host, uint channel, uint id, uint lun, int *bflagsp, - struct scsi_device **sdevp, int rescan) + struct scsi_device **sdevp, int rescan, void *hostdata) { struct scsi_device *sdev; struct scsi_request *sreq; @@ -726,7 +670,7 @@ static int scsi_probe_and_add_lun(struct Scsi_Host *host, } } - sdev = scsi_alloc_sdev(host, channel, id, lun); + sdev = scsi_alloc_sdev(host, channel, id, lun, hostdata); if (!sdev) goto out; sreq = scsi_allocate_request(sdev, GFP_ATOMIC); @@ -783,8 +727,8 @@ static int scsi_probe_and_add_lun(struct Scsi_Host *host, } else { if (sdev->host->hostt->slave_destroy) sdev->host->hostt->slave_destroy(sdev); - if (sdev->host->transportt->cleanup) - sdev->host->transportt->cleanup(sdev); + if (sdev->host->transportt->device_destroy) + sdev->host->transportt->device_destroy(sdev); put_device(&sdev->sdev_gendev); } out: @@ -874,7 +818,7 @@ static void scsi_sequential_lun_scan(struct Scsi_Host *shost, uint channel, */ for (lun = 1; lun < max_dev_lun; ++lun) if ((scsi_probe_and_add_lun(shost, channel, id, lun, - NULL, NULL, rescan) != SCSI_SCAN_LUN_PRESENT) && + NULL, NULL, rescan, NULL) != SCSI_SCAN_LUN_PRESENT) && !sparse_lun) return; } @@ -1085,7 +1029,7 @@ static int scsi_report_lun_scan(struct scsi_device *sdev, int bflags, int res; res = scsi_probe_and_add_lun(sdev->host, sdev->channel, - sdev->id, lun, NULL, NULL, rescan); + sdev->id, lun, NULL, NULL, rescan, NULL); if (res == SCSI_SCAN_NO_RESPONSE) { /* * Got some results, but now none, abort. @@ -1111,14 +1055,15 @@ static int scsi_report_lun_scan(struct scsi_device *sdev, int bflags, return 0; } -struct scsi_device *scsi_add_device(struct Scsi_Host *shost, - uint channel, uint id, uint lun) +struct scsi_device *__scsi_add_device(struct Scsi_Host *shost, uint channel, + uint id, uint lun, void *hostdata) { struct scsi_device *sdev; int res; down(&shost->scan_mutex); - res = scsi_probe_and_add_lun(shost, channel, id, lun, NULL, &sdev, 1); + res = scsi_probe_and_add_lun(shost, channel, id, lun, NULL, + &sdev, 1, hostdata); if (res != SCSI_SCAN_LUN_PRESENT) sdev = ERR_PTR(-ENODEV); up(&shost->scan_mutex); @@ -1178,7 +1123,7 @@ static void scsi_scan_target(struct Scsi_Host *shost, unsigned int channel, * Scan for a specific host/chan/id/lun. */ scsi_probe_and_add_lun(shost, channel, id, lun, NULL, NULL, - rescan); + rescan, NULL); return; } @@ -1187,7 +1132,7 @@ static void scsi_scan_target(struct Scsi_Host *shost, unsigned int channel, * would not configure LUN 0 until all LUNs are scanned. */ res = scsi_probe_and_add_lun(shost, channel, id, 0, &bflags, &sdev, - rescan); + rescan, NULL); if (res == SCSI_SCAN_LUN_PRESENT) { if (scsi_report_lun_scan(sdev, bflags, rescan) != 0) /* @@ -1316,7 +1261,7 @@ struct scsi_device *scsi_get_host_dev(struct Scsi_Host *shost) { struct scsi_device *sdev; - sdev = scsi_alloc_sdev(shost, 0, shost->this_id, 0); + sdev = scsi_alloc_sdev(shost, 0, shost->this_id, 0, NULL); if (sdev) { sdev->borken = 0; } @@ -1342,7 +1287,7 @@ void scsi_free_host_dev(struct scsi_device *sdev) if (sdev->host->hostt->slave_destroy) sdev->host->hostt->slave_destroy(sdev); - if (sdev->host->transportt->cleanup) - sdev->host->transportt->cleanup(sdev); + if (sdev->host->transportt->device_destroy) + sdev->host->transportt->device_destroy(sdev); put_device(&sdev->sdev_gendev); } diff --git a/drivers/scsi/scsi_syms.c b/drivers/scsi/scsi_syms.c index 9da2db4ee..37231932e 100644 --- a/drivers/scsi/scsi_syms.c +++ b/drivers/scsi/scsi_syms.c @@ -69,11 +69,9 @@ EXPORT_SYMBOL(scsi_track_queue_full); EXPORT_SYMBOL(scsi_get_host_dev); EXPORT_SYMBOL(scsi_free_host_dev); -EXPORT_SYMBOL(scsi_sleep); - EXPORT_SYMBOL(scsi_io_completion); -EXPORT_SYMBOL(scsi_add_device); +EXPORT_SYMBOL(__scsi_add_device); EXPORT_SYMBOL(scsi_remove_device); EXPORT_SYMBOL(scsi_device_cancel); diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index a8855d324..961724e07 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c @@ -30,6 +30,7 @@ static struct { { SDEV_DEL, "deleted" }, { SDEV_QUIESCE, "quiesce" }, { SDEV_OFFLINE, "offline" }, + { SDEV_BLOCK, "blocked" }, }; const char *scsi_device_state_name(enum scsi_device_state state) @@ -153,25 +154,39 @@ void scsi_device_dev_release(struct device *dev) struct scsi_device *sdev; struct device *parent; unsigned long flags; + int delete; parent = dev->parent; sdev = to_scsi_device(dev); spin_lock_irqsave(sdev->host->host_lock, flags); + /* If we're the last LUN on the target, destroy the target */ + delete = list_empty(&sdev->same_target_siblings); list_del(&sdev->siblings); list_del(&sdev->same_target_siblings); list_del(&sdev->starved_entry); - if (sdev->single_lun && --sdev->sdev_target->starget_refcnt == 0) - kfree(sdev->sdev_target); spin_unlock_irqrestore(sdev->host->host_lock, flags); + if (delete) { + struct scsi_target *starget = to_scsi_target(parent); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + if (!starget->create) { + if (shost->transportt->target_destroy) + shost->transportt->target_destroy(starget); + device_del(parent); + if (starget->transport_classdev.class) + class_device_unregister(&starget->transport_classdev); + } + put_device(parent); + } if (sdev->request_queue) scsi_free_queue(sdev->request_queue); kfree(sdev->inquiry); kfree(sdev); - put_device(parent); + if (parent) + put_device(parent); } struct class sdev_class = { @@ -430,6 +445,14 @@ static int attr_add(struct device *dev, struct device_attribute *attr) return device_create_file(dev, attr); } +static void scsi_target_dev_release(struct device *dev) +{ + struct scsi_target *starget = to_scsi_target(dev); + struct device *parent = dev->parent; + kfree(starget); + put_device(parent); +} + /** * scsi_sysfs_add_sdev - add scsi device to sysfs * @sdev: scsi_device to add @@ -440,13 +463,55 @@ static int attr_add(struct device *dev, struct device_attribute *attr) int scsi_sysfs_add_sdev(struct scsi_device *sdev) { struct class_device_attribute **attrs; - int error, i; + struct scsi_target *starget = sdev->sdev_target; + struct Scsi_Host *shost = sdev->host; + int error, i, create; + unsigned long flags; + + spin_lock_irqsave(shost->host_lock, flags); + create = starget->create; + starget->create = 0; + spin_unlock_irqrestore(shost->host_lock, flags); + + if (create) { + error = device_add(&starget->dev); + if (error) { + printk(KERN_ERR "Target device_add failed\n"); + return error; + } + if (starget->transport_classdev.class) { + int i; + struct class_device_attribute **attrs = + sdev->host->transportt->target_attrs; + + error = class_device_add(&starget->transport_classdev); + if (error) { + dev_printk(KERN_ERR, &starget->dev, + "Target transport add failed\n"); + return error; + } + + /* take a reference for the transport_classdev; this + * is released by the transport_class .release */ + get_device(&starget->dev); + for (i = 0; attrs[i]; i++) { + error = class_device_create_file(&starget->transport_classdev, + attrs[i]); + if (error) { + dev_printk(KERN_ERR, &starget->dev, + "Target transport attr add failed\n"); + return error; + } + } + } + } if ((error = scsi_device_set_state(sdev, SDEV_RUNNING)) != 0) return error; error = device_add(&sdev->sdev_gendev); if (error) { + put_device(sdev->sdev_gendev.parent); printk(KERN_INFO "error 1\n"); return error; } @@ -459,7 +524,6 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev) /* take a reference for the sdev_classdev; this is * released by the sdev_class .release */ get_device(&sdev->sdev_gendev); - if (sdev->transport_classdev.class) { error = class_device_add(&sdev->transport_classdev); if (error) @@ -494,7 +558,7 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev) } if (sdev->transport_classdev.class) { - attrs = sdev->host->transportt->attrs; + attrs = sdev->host->transportt->device_attrs; for (i = 0; attrs[i]; i++) { error = class_device_create_file(&sdev->transport_classdev, attrs[i]); @@ -525,8 +589,11 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev) **/ void scsi_remove_device(struct scsi_device *sdev) { + struct Scsi_Host *shost = sdev->host; + + down(&shost->scan_mutex); if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0) - return; + goto out; class_device_unregister(&sdev->sdev_classdev); if (sdev->transport_classdev.class) @@ -535,9 +602,12 @@ void scsi_remove_device(struct scsi_device *sdev) scsi_device_set_state(sdev, SDEV_DEL); if (sdev->host->hostt->slave_destroy) sdev->host->hostt->slave_destroy(sdev); - if (sdev->host->transportt->cleanup) - sdev->host->transportt->cleanup(sdev); + if (sdev->host->transportt->device_destroy) + sdev->host->transportt->device_destroy(sdev); put_device(&sdev->sdev_gendev); + +out: + up(&shost->scan_mutex); } int scsi_register_driver(struct device_driver *drv) @@ -620,6 +690,121 @@ int scsi_sysfs_add_host(struct Scsi_Host *shost) } } + class_device_initialize(&shost->transport_classdev); + shost->transport_classdev.class = shost->transportt->host_class; + shost->transport_classdev.dev = &shost->shost_gendev; + snprintf(shost->transport_classdev.class_id, BUS_ID_SIZE, + "host%d", shost->host_no); + + if (shost->transport_classdev.class) { + struct class_device_attribute **attrs = + shost->transportt->host_attrs; + error = class_device_add(&shost->transport_classdev); + if (error) + return error; + /* take a reference for the transport_classdev; this + * is released by the transport_class .release */ + get_device(&shost->shost_gendev); + for (i = 0; attrs[i]; i++) { + error = class_device_create_file(&shost->transport_classdev, + attrs[i]); + if (error) + return error; + } + } + + return 0; +} + +int scsi_sysfs_device_initialize(struct scsi_device *sdev) +{ + device_initialize(&sdev->sdev_gendev); + sdev->sdev_gendev.bus = &scsi_bus_type; + sdev->sdev_gendev.release = scsi_device_dev_release; + sprintf(sdev->sdev_gendev.bus_id,"%d:%d:%d:%d", + sdev->host->host_no, sdev->channel, sdev->id, + sdev->lun); + + class_device_initialize(&sdev->sdev_classdev); + sdev->sdev_classdev.dev = &sdev->sdev_gendev; + sdev->sdev_classdev.class = &sdev_class; + snprintf(sdev->sdev_classdev.class_id, BUS_ID_SIZE, + "%d:%d:%d:%d", sdev->host->host_no, + sdev->channel, sdev->id, sdev->lun); + + class_device_initialize(&sdev->transport_classdev); + sdev->transport_classdev.dev = &sdev->sdev_gendev; + sdev->transport_classdev.class = sdev->host->transportt->device_class; + snprintf(sdev->transport_classdev.class_id, BUS_ID_SIZE, + "%d:%d:%d:%d", sdev->host->host_no, + sdev->channel, sdev->id, sdev->lun); + return 0; +} + +int scsi_sysfs_target_initialize(struct scsi_device *sdev) +{ + struct scsi_target *starget = NULL; + struct Scsi_Host *shost = sdev->host; + struct scsi_device *device; + struct device *dev = NULL; + unsigned long flags; + int create = 0; + + spin_lock_irqsave(shost->host_lock, flags); + /* + * Search for an existing target for this sdev. + */ + list_for_each_entry(device, &shost->__devices, siblings) { + if (device->id == sdev->id && + device->channel == sdev->channel) { + list_add_tail(&sdev->same_target_siblings, + &device->same_target_siblings); + sdev->scsi_level = device->scsi_level; + starget = device->sdev_target; + break; + } + } + + if (!starget) { + const int size = sizeof(*starget) + + shost->transportt->target_size; + starget = kmalloc(size, GFP_ATOMIC); + if (!starget) { + printk(KERN_ERR "%s: allocation failure\n", __FUNCTION__); + spin_unlock_irqrestore(shost->host_lock, + flags); + return -ENOMEM; + } + memset(starget, 0, size); + dev = &starget->dev; + device_initialize(dev); + dev->parent = get_device(&shost->shost_gendev); + dev->release = scsi_target_dev_release; + sprintf(dev->bus_id, "target%d:%d:%d", + shost->host_no, sdev->channel, sdev->id); + class_device_initialize(&starget->transport_classdev); + starget->transport_classdev.dev = &starget->dev; + starget->transport_classdev.class = shost->transportt->target_class; + snprintf(starget->transport_classdev.class_id, BUS_ID_SIZE, + "target%d:%d:%d", + shost->host_no, sdev->channel, sdev->id); + starget->id = sdev->id; + starget->channel = sdev->channel; + create = starget->create = 1; + /* + * If there wasn't another lun already configured at + * this target, then default this device to SCSI_2 + * until we know better + */ + sdev->scsi_level = SCSI_2; + } + get_device(&starget->dev); + sdev->sdev_gendev.parent = &starget->dev; + sdev->sdev_target = starget; + list_add_tail(&sdev->siblings, &shost->__devices); + spin_unlock_irqrestore(shost->host_lock, flags); + if (create && shost->transportt->target_setup) + shost->transportt->target_setup(starget); return 0; } diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 3480d4941..d4d6dd69a 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c @@ -23,23 +23,33 @@ #include #include #include +#include "scsi_priv.h" #define FC_PRINTK(x, l, f, a...) printk(l "scsi(%d:%d:%d:%d): " f, (x)->host->host_no, (x)->channel, (x)->id, (x)->lun , ##a) static void transport_class_release(struct class_device *class_dev); +static void host_class_release(struct class_device *class_dev); +static void fc_timeout_blocked_host(void *data); +static void fc_timeout_blocked_tgt(void *data); -#define FC_NUM_ATTRS 3 /* increase this if you add attributes */ -#define FC_OTHER_ATTRS 0 /* increase this if you add "always on" - * attributes */ +#define FC_STARGET_NUM_ATTRS 4 /* increase this if you add attributes */ +#define FC_STARGET_OTHER_ATTRS 0 /* increase this if you add "always on" + * attributes */ +#define FC_HOST_NUM_ATTRS 1 struct fc_internal { struct scsi_transport_template t; struct fc_function_template *f; /* The actual attributes */ - struct class_device_attribute private_attrs[FC_NUM_ATTRS]; + struct class_device_attribute private_starget_attrs[ + FC_STARGET_NUM_ATTRS]; /* The array of null terminated pointers to attributes * needed by scsi_sysfs.c */ - struct class_device_attribute *attrs[FC_NUM_ATTRS + FC_OTHER_ATTRS + 1]; + struct class_device_attribute *starget_attrs[ + FC_STARGET_NUM_ATTRS + FC_STARGET_OTHER_ATTRS + 1]; + + struct class_device_attribute private_host_attrs[FC_HOST_NUM_ATTRS]; + struct class_device_attribute *host_attrs[FC_HOST_NUM_ATTRS + 1]; }; #define to_fc_internal(tmpl) container_of(tmpl, struct fc_internal, t) @@ -49,101 +59,227 @@ struct class fc_transport_class = { .release = transport_class_release, }; +struct class fc_host_class = { + .name = "fc_host", + .release = host_class_release, +}; + static __init int fc_transport_init(void) { + int error = class_register(&fc_host_class); + if (error) + return error; return class_register(&fc_transport_class); } static void __exit fc_transport_exit(void) { class_unregister(&fc_transport_class); + class_unregister(&fc_host_class); } -static int fc_setup_transport_attrs(struct scsi_device *sdev) +static int fc_setup_starget_transport_attrs(struct scsi_target *starget) { - /* I'm not sure what values are invalid. We should pick some invalid - * values for the defaults */ - fc_node_name(sdev) = -1; - fc_port_name(sdev) = -1; - fc_port_id(sdev) = -1; + /* + * Set default values easily detected by the midlayer as + * failure cases. The scsi lldd is responsible for initializing + * all transport attributes to valid values per target. + */ + fc_starget_node_name(starget) = -1; + fc_starget_port_name(starget) = -1; + fc_starget_port_id(starget) = -1; + fc_starget_dev_loss_tmo(starget) = -1; + INIT_WORK(&fc_starget_dev_loss_work(starget), + fc_timeout_blocked_tgt, starget); + return 0; +} +static void fc_destroy_starget(struct scsi_target *starget) +{ + /* Stop the target timer */ + if (cancel_delayed_work(&fc_starget_dev_loss_work(starget))) + flush_scheduled_work(); +} + +static int fc_setup_host_transport_attrs(struct Scsi_Host *shost) +{ + /* + * Set default values easily detected by the midlayer as + * failure cases. The scsi lldd is responsible for initializing + * all transport attributes to valid values per host. + */ + fc_host_link_down_tmo(shost) = -1; + INIT_WORK(&fc_host_link_down_work(shost), + fc_timeout_blocked_host, shost); return 0; } +static void fc_destroy_host(struct Scsi_Host *shost) +{ + /* Stop the host timer */ + if (cancel_delayed_work(&fc_host_link_down_work(shost))) + flush_scheduled_work(); +} + static void transport_class_release(struct class_device *class_dev) { - struct scsi_device *sdev = transport_class_to_sdev(class_dev); - put_device(&sdev->sdev_gendev); + struct scsi_target *starget = transport_class_to_starget(class_dev); + put_device(&starget->dev); } -#define fc_transport_show_function(field, format_string, cast) \ - \ +static void host_class_release(struct class_device *class_dev) +{ + struct Scsi_Host *shost = transport_class_to_shost(class_dev); + put_device(&shost->shost_gendev); +} + + +/* + * Remote Port Attribute Management + */ + +#define fc_starget_show_function(field, format_string, cast) \ static ssize_t \ -show_fc_transport_##field (struct class_device *cdev, char *buf) \ +show_fc_starget_##field (struct class_device *cdev, char *buf) \ { \ - struct scsi_device *sdev = transport_class_to_sdev(cdev); \ - struct fc_transport_attrs *tp; \ - struct fc_internal *i = to_fc_internal(sdev->host->transportt); \ - tp = (struct fc_transport_attrs *)&sdev->transport_data; \ - if (i->f->get_##field) \ - i->f->get_##field(sdev); \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \ + struct fc_starget_attrs *tp; \ + struct fc_internal *i = to_fc_internal(shost->transportt); \ + tp = (struct fc_starget_attrs *)&starget->starget_data; \ + if (i->f->get_starget_##field) \ + i->f->get_starget_##field(starget); \ return snprintf(buf, 20, format_string, cast tp->field); \ } -#define fc_transport_store_function(field, format_string) \ +#define fc_starget_store_function(field, format_string) \ static ssize_t \ -store_fc_transport_##field(struct class_device *cdev, const char *buf, \ +store_fc_starget_##field(struct class_device *cdev, const char *buf, \ size_t count) \ { \ int val; \ - struct scsi_device *sdev = transport_class_to_sdev(cdev); \ - struct fc_internal *i = to_fc_internal(sdev->host->transportt); \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \ + struct fc_internal *i = to_fc_internal(shost->transportt); \ \ val = simple_strtoul(buf, NULL, 0); \ - i->f->set_##field(sdev, val); \ + i->f->set_starget_##field(starget, val); \ return count; \ } -#define fc_transport_rd_attr(field, format_string) \ - fc_transport_show_function(field, format_string, ) \ +#define fc_starget_rd_attr(field, format_string) \ + fc_starget_show_function(field, format_string, ) \ static CLASS_DEVICE_ATTR(field, S_IRUGO, \ - show_fc_transport_##field, NULL) + show_fc_starget_##field, NULL) -#define fc_transport_rd_attr_cast(field, format_string, cast) \ - fc_transport_show_function(field, format_string, (cast)) \ -static CLASS_DEVICE_ATTR( field, S_IRUGO, \ - show_fc_transport_##field, NULL) +#define fc_starget_rd_attr_cast(field, format_string, cast) \ + fc_starget_show_function(field, format_string, (cast)) \ +static CLASS_DEVICE_ATTR(field, S_IRUGO, \ + show_fc_starget_##field, NULL) -#define fc_transport_rw_attr(field, format_string) \ - fc_transport_show_function(field, format_string, ) \ - fc_transport_store_function(field, format_string) \ +#define fc_starget_rw_attr(field, format_string) \ + fc_starget_show_function(field, format_string, ) \ + fc_starget_store_function(field, format_string) \ static CLASS_DEVICE_ATTR(field, S_IRUGO | S_IWUSR, \ - show_fc_transport_##field, \ - store_fc_transport_##field) - -/* the FiberChannel Tranport Attributes: */ -fc_transport_rd_attr_cast(node_name, "0x%llx\n", unsigned long long); -fc_transport_rd_attr_cast(port_name, "0x%llx\n", unsigned long long); -fc_transport_rd_attr(port_id, "0x%06x\n"); - -#define SETUP_ATTRIBUTE_RD(field) \ - i->private_attrs[count] = class_device_attr_##field; \ - i->private_attrs[count].attr.mode = S_IRUGO; \ - i->private_attrs[count].store = NULL; \ - i->attrs[count] = &i->private_attrs[count]; \ - if (i->f->show_##field) \ + show_fc_starget_##field, \ + store_fc_starget_##field) + +#define SETUP_STARGET_ATTRIBUTE_RD(field) \ + i->private_starget_attrs[count] = class_device_attr_##field; \ + i->private_starget_attrs[count].attr.mode = S_IRUGO; \ + i->private_starget_attrs[count].store = NULL; \ + i->starget_attrs[count] = &i->private_starget_attrs[count]; \ + if (i->f->show_starget_##field) \ + count++ + +#define SETUP_STARGET_ATTRIBUTE_RW(field) \ + i->private_starget_attrs[count] = class_device_attr_##field; \ + if (!i->f->set_starget_##field) { \ + i->private_starget_attrs[count].attr.mode = S_IRUGO; \ + i->private_starget_attrs[count].store = NULL; \ + } \ + i->starget_attrs[count] = &i->private_starget_attrs[count]; \ + if (i->f->show_starget_##field) \ + count++ + +/* The FC Tranport Remote Port (Target) Attributes: */ +fc_starget_rd_attr_cast(node_name, "0x%llx\n", unsigned long long); +fc_starget_rd_attr_cast(port_name, "0x%llx\n", unsigned long long); +fc_starget_rd_attr(port_id, "0x%06x\n"); +fc_starget_rw_attr(dev_loss_tmo, "%d\n"); + + +/* + * Host Attribute Management + */ + +#define fc_host_show_function(field, format_string, cast) \ +static ssize_t \ +show_fc_host_##field (struct class_device *cdev, char *buf) \ +{ \ + struct Scsi_Host *shost = transport_class_to_shost(cdev); \ + struct fc_host_attrs *tp; \ + struct fc_internal *i = to_fc_internal(shost->transportt); \ + tp = (struct fc_host_attrs *)shost->shost_data; \ + if (i->f->get_host_##field) \ + i->f->get_host_##field(shost); \ + return snprintf(buf, 20, format_string, cast tp->field); \ +} + +#define fc_host_store_function(field, format_string) \ +static ssize_t \ +store_fc_host_##field(struct class_device *cdev, const char *buf, \ + size_t count) \ +{ \ + int val; \ + struct Scsi_Host *shost = transport_class_to_shost(cdev); \ + struct fc_internal *i = to_fc_internal(shost->transportt); \ + \ + val = simple_strtoul(buf, NULL, 0); \ + i->f->set_host_##field(shost, val); \ + return count; \ +} + +#define fc_host_rd_attr(field, format_string) \ + fc_host_show_function(field, format_string, ) \ +static CLASS_DEVICE_ATTR(host_##field, S_IRUGO, \ + show_fc_host_##field, NULL) + +#define fc_host_rd_attr_cast(field, format_string, cast) \ + fc_host_show_function(field, format_string, (cast)) \ +static CLASS_DEVICE_ATTR(host_##field, S_IRUGO, \ + show_fc_host_##field, NULL) + +#define fc_host_rw_attr(field, format_string) \ + fc_host_show_function(field, format_string, ) \ + fc_host_store_function(field, format_string) \ +static CLASS_DEVICE_ATTR(host_##field, S_IRUGO | S_IWUSR, \ + show_fc_host_##field, \ + store_fc_host_##field) + +#define SETUP_HOST_ATTRIBUTE_RD(field) \ + i->private_host_attrs[count] = class_device_attr_host_##field; \ + i->private_host_attrs[count].attr.mode = S_IRUGO; \ + i->private_host_attrs[count].store = NULL; \ + i->host_attrs[count] = &i->private_host_attrs[count]; \ + if (i->f->show_host_##field) \ count++ -#define SETUP_ATTRIBUTE_RW(field) \ - i->private_attrs[count] = class_device_attr_##field; \ - if (!i->f->set_##field) { \ - i->private_attrs[count].attr.mode = S_IRUGO; \ - i->private_attrs[count].store = NULL; \ - } \ - i->attrs[count] = &i->private_attrs[count]; \ - if (i->f->show_##field) \ +#define SETUP_HOST_ATTRIBUTE_RW(field) \ + i->private_host_attrs[count] = class_device_attr_host_##field; \ + if (!i->f->set_host_##field) { \ + i->private_host_attrs[count].attr.mode = S_IRUGO; \ + i->private_host_attrs[count].store = NULL; \ + } \ + i->host_attrs[count] = &i->private_host_attrs[count]; \ + if (i->f->show_host_##field) \ count++ +/* The FC Tranport Host Attributes: */ +fc_host_rw_attr(link_down_tmo, "%d\n"); + + + struct scsi_transport_template * fc_attach_transport(struct fc_function_template *ft) { @@ -156,21 +292,45 @@ fc_attach_transport(struct fc_function_template *ft) memset(i, 0, sizeof(struct fc_internal)); - i->t.attrs = &i->attrs[0]; - i->t.class = &fc_transport_class; - i->t.setup = &fc_setup_transport_attrs; - i->t.size = sizeof(struct fc_transport_attrs); + i->t.target_attrs = &i->starget_attrs[0]; + i->t.target_class = &fc_transport_class; + i->t.target_setup = &fc_setup_starget_transport_attrs; + i->t.target_destroy = &fc_destroy_starget; + i->t.target_size = sizeof(struct fc_starget_attrs); + + i->t.host_attrs = &i->host_attrs[0]; + i->t.host_class = &fc_host_class; + i->t.host_setup = &fc_setup_host_transport_attrs; + i->t.host_destroy = &fc_destroy_host; + i->t.host_size = sizeof(struct fc_host_attrs); i->f = ft; - SETUP_ATTRIBUTE_RD(port_id); - SETUP_ATTRIBUTE_RD(port_name); - SETUP_ATTRIBUTE_RD(node_name); + + /* + * setup remote port (target) attributes + */ + SETUP_STARGET_ATTRIBUTE_RD(port_id); + SETUP_STARGET_ATTRIBUTE_RD(port_name); + SETUP_STARGET_ATTRIBUTE_RD(node_name); + SETUP_STARGET_ATTRIBUTE_RW(dev_loss_tmo); + + BUG_ON(count > FC_STARGET_NUM_ATTRS); + + /* Setup the always-on attributes here */ + + i->starget_attrs[count] = NULL; + - BUG_ON(count > FC_NUM_ATTRS); + /* setup host attributes */ + count=0; + SETUP_HOST_ATTRIBUTE_RW(link_down_tmo); + + BUG_ON(count > FC_HOST_NUM_ATTRS); /* Setup the always-on attributes here */ - i->attrs[count] = NULL; + i->host_attrs[count] = NULL; + return &i->t; } @@ -185,6 +345,200 @@ void fc_release_transport(struct scsi_transport_template *t) EXPORT_SYMBOL(fc_release_transport); + +/** + * fc_device_block - called by target functions to block a scsi device + * @dev: scsi device + * @data: unused + **/ +static int fc_device_block(struct device *dev, void *data) +{ + scsi_internal_device_block(to_scsi_device(dev)); + return 0; +} + +/** + * fc_device_unblock - called by target functions to unblock a scsi device + * @dev: scsi device + * @data: unused + **/ +static int fc_device_unblock(struct device *dev, void *data) +{ + scsi_internal_device_unblock(to_scsi_device(dev)); + return 0; +} + +/** + * fc_timeout_blocked_tgt - Timeout handler for blocked scsi targets + * that fail to recover in the alloted time. + * @data: scsi target that failed to reappear in the alloted time. + **/ +static void fc_timeout_blocked_tgt(void *data) +{ + struct scsi_target *starget = (struct scsi_target *)data; + + dev_printk(KERN_ERR, &starget->dev, + "blocked target time out: target resuming\n"); + + /* + * set the device going again ... if the scsi lld didn't + * unblock this device, then IO errors will probably + * result if the host still isn't ready. + */ + device_for_each_child(&starget->dev, NULL, fc_device_unblock); +} + +/** + * fc_target_block - block a target by temporarily putting all its scsi devices + * into the SDEV_BLOCK state. + * @starget: scsi target managed by this fc scsi lldd. + * + * scsi lldd's with a FC transport call this routine to temporarily stop all + * scsi commands to all devices managed by this scsi target. Called + * from interrupt or normal process context. + * + * Returns zero if successful or error if not + * + * Notes: + * The timeout and timer types are extracted from the fc transport + * attributes from the caller's target pointer. This routine assumes no + * locks are held on entry. + **/ +int +fc_target_block(struct scsi_target *starget) +{ + int timeout = fc_starget_dev_loss_tmo(starget); + struct work_struct *work = &fc_starget_dev_loss_work(starget); + + if (timeout < 0 || timeout > SCSI_DEVICE_BLOCK_MAX_TIMEOUT) + return -EINVAL; + + device_for_each_child(&starget->dev, NULL, fc_device_block); + + /* The scsi lld blocks this target for the timeout period only. */ + schedule_delayed_work(work, timeout * HZ); + + return 0; +} +EXPORT_SYMBOL(fc_target_block); + +/** + * fc_target_unblock - unblock a target following a fc_target_block request. + * @starget: scsi target managed by this fc scsi lldd. + * + * scsi lld's with a FC transport call this routine to restart IO to all + * devices associated with the caller's scsi target following a fc_target_block + * request. Called from interrupt or normal process context. + * + * Notes: + * This routine assumes no locks are held on entry. + **/ +void +fc_target_unblock(struct scsi_target *starget) +{ + /* + * Stop the target timer first. Take no action on the del_timer + * failure as the state machine state change will validate the + * transaction. + */ + if (cancel_delayed_work(&fc_starget_dev_loss_work(starget))) + flush_scheduled_work(); + + device_for_each_child(&starget->dev, NULL, fc_device_unblock); +} +EXPORT_SYMBOL(fc_target_unblock); + +/** + * fc_timeout_blocked_host - Timeout handler for blocked scsi hosts + * that fail to recover in the alloted time. + * @data: scsi host that failed to recover its devices in the alloted + * time. + **/ +static void fc_timeout_blocked_host(void *data) +{ + struct Scsi_Host *shost = (struct Scsi_Host *)data; + struct scsi_device *sdev; + + dev_printk(KERN_ERR, &shost->shost_gendev, + "blocked host time out: host resuming\n"); + + shost_for_each_device(sdev, shost) { + /* + * set the device going again ... if the scsi lld didn't + * unblock this device, then IO errors will probably + * result if the host still isn't ready. + */ + scsi_internal_device_unblock(sdev); + } +} + +/** + * fc_host_block - block all scsi devices managed by the calling host temporarily + * by putting each device in the SDEV_BLOCK state. + * @shost: scsi host pointer that contains all scsi device siblings. + * + * scsi lld's with a FC transport call this routine to temporarily stop all + * scsi commands to all devices managed by this host. Called + * from interrupt or normal process context. + * + * Returns zero if successful or error if not + * + * Notes: + * The timeout and timer types are extracted from the fc transport + * attributes from the caller's host pointer. This routine assumes no + * locks are held on entry. + **/ +int +fc_host_block(struct Scsi_Host *shost) +{ + struct scsi_device *sdev; + int timeout = fc_host_link_down_tmo(shost); + struct work_struct *work = &fc_host_link_down_work(shost); + + if (timeout < 0 || timeout > SCSI_DEVICE_BLOCK_MAX_TIMEOUT) + return -EINVAL; + + shost_for_each_device(sdev, shost) { + scsi_internal_device_block(sdev); + } + + schedule_delayed_work(work, timeout * HZ); + + return 0; +} +EXPORT_SYMBOL(fc_host_block); + +/** + * fc_host_unblock - unblock all devices managed by this host following a + * fc_host_block request. + * @shost: scsi host containing all scsi device siblings to unblock. + * + * scsi lld's with a FC transport call this routine to restart IO to all scsi + * devices managed by the specified scsi host following an fc_host_block + * request. Called from interrupt or normal process context. + * + * Notes: + * This routine assumes no locks are held on entry. + **/ +void +fc_host_unblock(struct Scsi_Host *shost) +{ + struct scsi_device *sdev; + + /* + * Stop the host timer first. Take no action on the del_timer + * failure as the state machine state change will validate the + * transaction. + */ + if (cancel_delayed_work(&fc_host_link_down_work(shost))) + flush_scheduled_work(); + + shost_for_each_device(sdev, shost) { + scsi_internal_device_unblock(sdev); + } +} +EXPORT_SYMBOL(fc_host_unblock); + MODULE_AUTHOR("Martin Hicks"); MODULE_DESCRIPTION("FC Transport Attributes"); MODULE_LICENSE("GPL"); diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c index 9c41eefb9..57fe7b126 100644 --- a/drivers/scsi/scsi_transport_spi.c +++ b/drivers/scsi/scsi_transport_spi.c @@ -27,25 +27,28 @@ #include #include #include +#include "scsi_priv.h" #include #include #include #include #include -#define SPI_PRINTK(x, l, f, a...) printk(l "scsi(%d:%d:%d:%d): " f, (x)->host->host_no, (x)->channel, (x)->id, (x)->lun , ##a) +#define SPI_PRINTK(x, l, f, a...) dev_printk(l, &(x)->dev, f , ##a) static void transport_class_release(struct class_device *class_dev); +static void host_class_release(struct class_device *class_dev); #define SPI_NUM_ATTRS 10 /* increase this if you add attributes */ #define SPI_OTHER_ATTRS 1 /* Increase this if you add "always * on" attributes */ +#define SPI_HOST_ATTRS 1 #define SPI_MAX_ECHO_BUFFER_SIZE 4096 /* Private data accessors (keep these out of the header file) */ -#define spi_dv_pending(x) (((struct spi_transport_attrs *)&(x)->transport_data)->dv_pending) -#define spi_dv_sem(x) (((struct spi_transport_attrs *)&(x)->transport_data)->dv_sem) +#define spi_dv_pending(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_pending) +#define spi_dv_sem(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dv_sem) struct spi_internal { struct scsi_transport_template t; @@ -55,6 +58,8 @@ struct spi_internal { /* The array of null terminated pointers to attributes * needed by scsi_sysfs.c */ struct class_device_attribute *attrs[SPI_NUM_ATTRS + SPI_OTHER_ATTRS + 1]; + struct class_device_attribute private_host_attrs[SPI_HOST_ATTRS]; + struct class_device_attribute *host_attrs[SPI_HOST_ATTRS + 1]; }; #define to_spi_internal(tmpl) container_of(tmpl, struct spi_internal, t) @@ -80,43 +85,117 @@ static const char *const ppr_to_ns[] = { * by 4 */ #define SPI_STATIC_PPR 0x0c +static struct { + enum spi_signal_type value; + char *name; +} signal_types[] = { + { SPI_SIGNAL_UNKNOWN, "unknown" }, + { SPI_SIGNAL_SE, "SE" }, + { SPI_SIGNAL_LVD, "LVD" }, + { SPI_SIGNAL_HVD, "HVD" }, +}; + +static inline const char *spi_signal_to_string(enum spi_signal_type type) +{ + int i; + + for (i = 0; i < sizeof(signal_types)/sizeof(signal_types[0]); i++) { + if (type == signal_types[i].value) + return signal_types[i].name; + } + return NULL; +} +static inline enum spi_signal_type spi_signal_to_value(const char *name) +{ + int i, len; + + for (i = 0; i < sizeof(signal_types)/sizeof(signal_types[0]); i++) { + len = strlen(signal_types[i].name); + if (strncmp(name, signal_types[i].name, len) == 0 && + (name[len] == '\n' || name[len] == '\0')) + return signal_types[i].value; + } + return SPI_SIGNAL_UNKNOWN; +} + + struct class spi_transport_class = { .name = "spi_transport", .release = transport_class_release, }; +struct class spi_host_class = { + .name = "spi_host", + .release = host_class_release, +}; + static __init int spi_transport_init(void) { + int error = class_register(&spi_host_class); + if (error) + return error; return class_register(&spi_transport_class); } static void __exit spi_transport_exit(void) { class_unregister(&spi_transport_class); + class_unregister(&spi_host_class); +} + +static int spi_setup_host_attrs(struct Scsi_Host *shost) +{ + spi_signalling(shost) = SPI_SIGNAL_UNKNOWN; + + return 0; } -static int spi_setup_transport_attrs(struct scsi_device *sdev) +static int spi_configure_device(struct scsi_device *sdev) { - spi_period(sdev) = -1; /* illegal value */ - spi_offset(sdev) = 0; /* async */ - spi_width(sdev) = 0; /* narrow */ - spi_iu(sdev) = 0; /* no IU */ - spi_dt(sdev) = 0; /* ST */ - spi_qas(sdev) = 0; - spi_wr_flow(sdev) = 0; - spi_rd_strm(sdev) = 0; - spi_rti(sdev) = 0; - spi_pcomp_en(sdev) = 0; - spi_dv_pending(sdev) = 0; - init_MUTEX(&spi_dv_sem(sdev)); + struct scsi_target *starget = sdev->sdev_target; + + /* Populate the target capability fields with the values + * gleaned from the device inquiry */ + + spi_support_sync(starget) = scsi_device_sync(sdev); + spi_support_wide(starget) = scsi_device_wide(sdev); + spi_support_dt(starget) = scsi_device_dt(sdev); + spi_support_dt_only(starget) = scsi_device_dt_only(sdev); + spi_support_ius(starget) = scsi_device_ius(sdev); + spi_support_qas(starget) = scsi_device_qas(sdev); + + return 0; +} + +static int spi_setup_transport_attrs(struct scsi_target *starget) +{ + spi_period(starget) = -1; /* illegal value */ + spi_offset(starget) = 0; /* async */ + spi_width(starget) = 0; /* narrow */ + spi_iu(starget) = 0; /* no IU */ + spi_dt(starget) = 0; /* ST */ + spi_qas(starget) = 0; + spi_wr_flow(starget) = 0; + spi_rd_strm(starget) = 0; + spi_rti(starget) = 0; + spi_pcomp_en(starget) = 0; + spi_dv_pending(starget) = 0; + spi_initial_dv(starget) = 0; + init_MUTEX(&spi_dv_sem(starget)); return 0; } static void transport_class_release(struct class_device *class_dev) { - struct scsi_device *sdev = transport_class_to_sdev(class_dev); - put_device(&sdev->sdev_gendev); + struct scsi_target *starget = transport_class_to_starget(class_dev); + put_device(&starget->dev); +} + +static void host_class_release(struct class_device *class_dev) +{ + struct Scsi_Host *shost = transport_class_to_shost(class_dev); + put_device(&shost->shost_gendev); } #define spi_transport_show_function(field, format_string) \ @@ -124,12 +203,13 @@ static void transport_class_release(struct class_device *class_dev) static ssize_t \ show_spi_transport_##field(struct class_device *cdev, char *buf) \ { \ - struct scsi_device *sdev = transport_class_to_sdev(cdev); \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \ struct spi_transport_attrs *tp; \ - struct spi_internal *i = to_spi_internal(sdev->host->transportt); \ - tp = (struct spi_transport_attrs *)&sdev->transport_data; \ + struct spi_internal *i = to_spi_internal(shost->transportt); \ + tp = (struct spi_transport_attrs *)&starget->starget_data; \ if (i->f->get_##field) \ - i->f->get_##field(sdev); \ + i->f->get_##field(starget); \ return snprintf(buf, 20, format_string, tp->field); \ } @@ -139,11 +219,12 @@ store_spi_transport_##field(struct class_device *cdev, const char *buf, \ size_t count) \ { \ int val; \ - struct scsi_device *sdev = transport_class_to_sdev(cdev); \ - struct spi_internal *i = to_spi_internal(sdev->host->transportt); \ + struct scsi_target *starget = transport_class_to_starget(cdev); \ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); \ + struct spi_internal *i = to_spi_internal(shost->transportt); \ \ val = simple_strtoul(buf, NULL, 0); \ - i->f->set_##field(sdev, val); \ + i->f->set_##field(starget, val); \ return count; \ } @@ -168,8 +249,13 @@ spi_transport_rd_attr(pcomp_en, "%d\n"); static ssize_t store_spi_revalidate(struct class_device *cdev, const char *buf, size_t count) { - struct scsi_device *sdev = transport_class_to_sdev(cdev); + struct scsi_target *starget = transport_class_to_starget(cdev); + /* FIXME: we're relying on an awful lot of device internals + * here. We really need a function to get the first available + * child */ + struct device *dev = container_of(starget->dev.children.next, struct device, node); + struct scsi_device *sdev = to_scsi_device(dev); spi_dv_device(sdev); return count; } @@ -180,15 +266,16 @@ static CLASS_DEVICE_ATTR(revalidate, S_IWUSR, NULL, store_spi_revalidate); static ssize_t show_spi_transport_period(struct class_device *cdev, char *buf) { - struct scsi_device *sdev = transport_class_to_sdev(cdev); + struct scsi_target *starget = transport_class_to_starget(cdev); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); struct spi_transport_attrs *tp; const char *str; - struct spi_internal *i = to_spi_internal(sdev->host->transportt); + struct spi_internal *i = to_spi_internal(shost->transportt); - tp = (struct spi_transport_attrs *)&sdev->transport_data; + tp = (struct spi_transport_attrs *)&starget->starget_data; if (i->f->get_period) - i->f->get_period(sdev); + i->f->get_period(starget); switch(tp->period) { @@ -212,8 +299,9 @@ static ssize_t store_spi_transport_period(struct class_device *cdev, const char *buf, size_t count) { - struct scsi_device *sdev = transport_class_to_sdev(cdev); - struct spi_internal *i = to_spi_internal(sdev->host->transportt); + struct scsi_target *starget = transport_class_to_starget(cdev); + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct spi_internal *i = to_spi_internal(shost->transportt); int j, period = -1; for (j = 0; j < SPI_STATIC_PPR; j++) { @@ -246,7 +334,7 @@ store_spi_transport_period(struct class_device *cdev, const char *buf, if (period > 0xff) period = 0xff; - i->f->set_period(sdev, period); + i->f->set_period(starget, period); return count; } @@ -255,9 +343,36 @@ static CLASS_DEVICE_ATTR(period, S_IRUGO | S_IWUSR, show_spi_transport_period, store_spi_transport_period); +static ssize_t show_spi_host_signalling(struct class_device *cdev, char *buf) +{ + struct Scsi_Host *shost = transport_class_to_shost(cdev); + struct spi_internal *i = to_spi_internal(shost->transportt); + + if (i->f->get_signalling) + i->f->get_signalling(shost); + + return sprintf(buf, "%s\n", spi_signal_to_string(spi_signalling(shost))); +} +static ssize_t store_spi_host_signalling(struct class_device *cdev, + const char *buf, size_t count) +{ + struct Scsi_Host *shost = transport_class_to_shost(cdev); + struct spi_internal *i = to_spi_internal(shost->transportt); + enum spi_signal_type type = spi_signal_to_value(buf); + + if (type != SPI_SIGNAL_UNKNOWN) + return count; + + i->f->set_signalling(shost, type); + return count; +} +static CLASS_DEVICE_ATTR(signalling, S_IRUGO | S_IWUSR, + show_spi_host_signalling, + store_spi_host_signalling); + #define DV_SET(x, y) \ if(i->f->set_##x) \ - i->f->set_##x(sdev, y) + i->f->set_##x(sdev->sdev_target, y) #define DV_LOOPS 3 #define DV_TIMEOUT (10*HZ) @@ -325,7 +440,7 @@ spi_dv_device_echo_buffer(struct scsi_request *sreq, u8 *buffer, DV_TIMEOUT, DV_RETRIES); if(sreq->sr_result || !scsi_device_online(sdev)) { scsi_device_set_state(sdev, SDEV_QUIESCE); - SPI_PRINTK(sdev, KERN_ERR, "Write Buffer failure %x\n", sreq->sr_result); + SPI_PRINTK(sdev->sdev_target, KERN_ERR, "Write Buffer failure %x\n", sreq->sr_result); return 0; } @@ -401,8 +516,8 @@ spi_dv_retrain(struct scsi_request *sreq, u8 *buffer, u8 *ptr, /* OK, retrain, fallback */ if (i->f->get_period) - i->f->get_period(sdev); - newperiod = spi_period(sdev); + i->f->get_period(sdev->sdev_target); + newperiod = spi_period(sdev->sdev_target); period = newperiod > period ? newperiod : period; if (period < 0x0d) period++; @@ -411,11 +526,11 @@ spi_dv_retrain(struct scsi_request *sreq, u8 *buffer, u8 *ptr, if (unlikely(period > 0xff || period == prevperiod)) { /* Total failure; set to async and return */ - SPI_PRINTK(sdev, KERN_ERR, "Domain Validation Failure, dropping back to Asynchronous\n"); + SPI_PRINTK(sdev->sdev_target, KERN_ERR, "Domain Validation Failure, dropping back to Asynchronous\n"); DV_SET(offset, 0); return 0; } - SPI_PRINTK(sdev, KERN_ERR, "Domain Validation detected failure, dropping back\n"); + SPI_PRINTK(sdev->sdev_target, KERN_ERR, "Domain Validation detected failure, dropping back\n"); DV_SET(period, period); prevperiod = period; } @@ -486,20 +601,20 @@ spi_dv_device_internal(struct scsi_request *sreq, u8 *buffer) DV_SET(width, 0); if (!spi_dv_device_compare_inquiry(sreq, buffer, buffer, DV_LOOPS)) { - SPI_PRINTK(sdev, KERN_ERR, "Domain Validation Initial Inquiry Failed\n"); + SPI_PRINTK(sdev->sdev_target, KERN_ERR, "Domain Validation Initial Inquiry Failed\n"); /* FIXME: should probably offline the device here? */ return; } /* test width */ if (i->f->set_width && sdev->wdtr) { - i->f->set_width(sdev, 1); + i->f->set_width(sdev->sdev_target, 1); if (!spi_dv_device_compare_inquiry(sreq, buffer, buffer + len, DV_LOOPS)) { - SPI_PRINTK(sdev, KERN_ERR, "Wide Transfers Fail\n"); - i->f->set_width(sdev, 0); + SPI_PRINTK(sdev->sdev_target, KERN_ERR, "Wide Transfers Fail\n"); + i->f->set_width(sdev->sdev_target, 0); } } @@ -521,11 +636,11 @@ spi_dv_device_internal(struct scsi_request *sreq, u8 *buffer) * test, now try an echo buffer test (if the device allows it) */ if ((len = spi_dv_device_get_echo_buffer(sreq, buffer)) == 0) { - SPI_PRINTK(sdev, KERN_INFO, "Domain Validation skipping write tests\n"); + SPI_PRINTK(sdev->sdev_target, KERN_INFO, "Domain Validation skipping write tests\n"); return; } if (len > SPI_MAX_ECHO_BUFFER_SIZE) { - SPI_PRINTK(sdev, KERN_WARNING, "Echo buffer size %d is too big, trimming to %d\n", len, SPI_MAX_ECHO_BUFFER_SIZE); + SPI_PRINTK(sdev->sdev_target, KERN_WARNING, "Echo buffer size %d is too big, trimming to %d\n", len, SPI_MAX_ECHO_BUFFER_SIZE); len = SPI_MAX_ECHO_BUFFER_SIZE; } @@ -547,6 +662,7 @@ void spi_dv_device(struct scsi_device *sdev) { struct scsi_request *sreq = scsi_allocate_request(sdev, GFP_KERNEL); + struct scsi_target *starget = sdev->sdev_target; u8 *buffer; const int len = SPI_MAX_ECHO_BUFFER_SIZE*2; @@ -563,22 +679,28 @@ spi_dv_device(struct scsi_device *sdev) memset(buffer, 0, len); + /* We need to verify that the actual device will quiesce; the + * later target quiesce is just a nice to have */ if (unlikely(scsi_device_quiesce(sdev))) goto out_free; - spi_dv_pending(sdev) = 1; - down(&spi_dv_sem(sdev)); + scsi_target_quiesce(starget); - SPI_PRINTK(sdev, KERN_INFO, "Beginning Domain Validation\n"); + spi_dv_pending(starget) = 1; + down(&spi_dv_sem(starget)); + + SPI_PRINTK(starget, KERN_INFO, "Beginning Domain Validation\n"); spi_dv_device_internal(sreq, buffer); - SPI_PRINTK(sdev, KERN_INFO, "Ending Domain Validation\n"); + SPI_PRINTK(starget, KERN_INFO, "Ending Domain Validation\n"); + + up(&spi_dv_sem(starget)); + spi_dv_pending(starget) = 0; - up(&spi_dv_sem(sdev)); - spi_dv_pending(sdev) = 0; + scsi_target_resume(starget); - scsi_device_resume(sdev); + spi_initial_dv(starget) = 1; out_free: kfree(buffer); @@ -602,7 +724,7 @@ spi_dv_device_work_wrapper(void *data) kfree(wqw); spi_dv_device(sdev); - spi_dv_pending(sdev) = 0; + spi_dv_pending(sdev->sdev_target) = 0; scsi_device_put(sdev); } @@ -625,15 +747,15 @@ spi_schedule_dv_device(struct scsi_device *sdev) if (unlikely(!wqw)) return; - if (unlikely(spi_dv_pending(sdev))) { + if (unlikely(spi_dv_pending(sdev->sdev_target))) { kfree(wqw); return; } /* Set pending early (dv_device doesn't check it, only sets it) */ - spi_dv_pending(sdev) = 1; + spi_dv_pending(sdev->sdev_target) = 1; if (unlikely(scsi_device_get(sdev))) { kfree(wqw); - spi_dv_pending(sdev) = 0; + spi_dv_pending(sdev->sdev_target) = 0; return; } @@ -654,6 +776,15 @@ EXPORT_SYMBOL(spi_schedule_dv_device); if (i->f->show_##field) \ count++ +#define SETUP_HOST_ATTRIBUTE(field) \ + i->private_host_attrs[count] = class_device_attr_##field; \ + if (!i->f->set_##field) { \ + i->private_host_attrs[count].attr.mode = S_IRUGO; \ + i->private_host_attrs[count].store = NULL; \ + } \ + i->host_attrs[count] = &i->private_host_attrs[count]; \ + count++ + struct scsi_transport_template * spi_attach_transport(struct spi_function_template *ft) { @@ -666,10 +797,15 @@ spi_attach_transport(struct spi_function_template *ft) memset(i, 0, sizeof(struct spi_internal)); - i->t.attrs = &i->attrs[0]; - i->t.class = &spi_transport_class; - i->t.setup = &spi_setup_transport_attrs; - i->t.size = sizeof(struct spi_transport_attrs); + i->t.target_attrs = &i->attrs[0]; + i->t.target_class = &spi_transport_class; + i->t.target_setup = &spi_setup_transport_attrs; + i->t.device_configure = &spi_configure_device; + i->t.target_size = sizeof(struct spi_transport_attrs); + i->t.host_attrs = &i->host_attrs[0]; + i->t.host_class = &spi_host_class; + i->t.host_setup = &spi_setup_host_attrs; + i->t.host_size = sizeof(struct spi_host_attrs); i->f = ft; SETUP_ATTRIBUTE(period); @@ -691,6 +827,13 @@ spi_attach_transport(struct spi_function_template *ft) i->attrs[count] = NULL; + count = 0; + SETUP_HOST_ATTRIBUTE(signalling); + + BUG_ON(count > SPI_HOST_ATTRS); + + i->host_attrs[count] = NULL; + return &i->t; } EXPORT_SYMBOL(spi_attach_transport); diff --git a/drivers/scsi/scsicam.c b/drivers/scsi/scsicam.c index 920a1b717..f7630f8dd 100644 --- a/drivers/scsi/scsicam.c +++ b/drivers/scsi/scsicam.c @@ -29,10 +29,11 @@ unsigned char *scsi_bios_ptable(struct block_device *dev) unsigned char *res = kmalloc(66, GFP_KERNEL); if (res) { struct block_device *bdev = dev->bd_contains; - struct buffer_head *bh = __bread(bdev, 0, block_size(bdev)); - if (bh) { - memcpy(res, bh->b_data + 0x1be, 66); - brelse(bh); + Sector sect; + void *data = read_dev_sector(bdev, 0, §); + if (data) { + memcpy(res, data + 0x1be, 66); + put_dev_sector(sect); } else { kfree(res); res = NULL; diff --git a/drivers/scsi/scsiiom.c b/drivers/scsi/scsiiom.c index 89b957673..bc6907943 100644 --- a/drivers/scsi/scsiiom.c +++ b/drivers/scsi/scsiiom.c @@ -213,8 +213,17 @@ dc390_dma_intr (struct dc390_acb* pACB) } #endif + +static void __inline__ +dc390_InvalidCmd(struct dc390_acb* pACB) +{ + if (pACB->pActiveDCB->pActiveSRB->SRBState & (SRB_START_ | SRB_MSGOUT)) + DC390_write8(ScsiCmd, CLEAR_FIFO_CMD); +} + + static irqreturn_t __inline__ -DC390_Interrupt( int irq, void *dev_id, struct pt_regs *regs) +DC390_Interrupt(int irq, void *dev_id, struct pt_regs *regs) { struct dc390_acb *pACB, *pACB2; struct dc390_dcb *pDCB; @@ -594,7 +603,7 @@ dc390_MsgIn_reject (struct dc390_acb* pACB, struct dc390_srb* pSRB) } /* abort command */ -static void __inline__ +static void dc390_EnableMsgOut_Abort ( struct dc390_acb* pACB, struct dc390_srb* pSRB ) { pSRB->MsgOutBuf[0] = ABORT; @@ -890,14 +899,22 @@ dc390_DataIO_Comm( struct dc390_acb* pACB, struct dc390_srb* pSRB, u8 ioDir) if (pSRB == pACB->pTmpSRB) { - if (pDCB) printk (KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (%02i-%i)\n", - pDCB->TargetID, pDCB->TargetLUN); - else printk (KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (DCB 0!)\n"); - - pSRB->pSRBDCB = pDCB; - dc390_EnableMsgOut_Abort (pACB, pSRB); - if (pDCB) pDCB->DCBFlag |= ABORT_DEV; - return; + if (pDCB) + printk(KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (%02i-%i)\n", pDCB->TargetID, pDCB->TargetLUN); + else + printk(KERN_ERR "DC390: pSRB == pTmpSRB! (TagQ Error?) (DCB 0!)\n"); + + /* Try to recover - some broken disks react badly to tagged INQUIRY */ + if (pDCB && pACB->scan_devices && pDCB->GoingSRBCnt == 1) { + pSRB = pDCB->pGoingSRB; + pDCB->pActiveSRB = pSRB; + } else { + pSRB->pSRBDCB = pDCB; + dc390_EnableMsgOut_Abort(pACB, pSRB); + if (pDCB) + pDCB->DCBFlag |= ABORT_DEV; + return; + } } if( pSRB->SGIndex < pSRB->SGcount ) @@ -1138,7 +1155,7 @@ dc390_Disconnect( struct dc390_acb* pACB ) } DC390_write8 (ScsiCmd, EN_SEL_RESEL); pSRB = pDCB->pActiveSRB; - pACB->pActiveDCB = 0; + pACB->pActiveDCB = NULL; pSRB->ScsiPhase = SCSI_NOP0; if( pSRB->SRBState & SRB_UNEXPECT_RESEL ) { @@ -1158,7 +1175,7 @@ dc390_Disconnect( struct dc390_acb* pACB ) dc390_Free_insert (pACB, pSRB); pSRB = psrb; } - pDCB->pGoingSRB = 0; + pDCB->pGoingSRB = NULL; dc390_Waiting_process (pACB); } else @@ -1187,7 +1204,7 @@ dc390_Disconnect( struct dc390_acb* pACB ) { disc1: dc390_freetag (pDCB, pSRB); - pDCB->pActiveSRB = 0; + pDCB->pActiveSRB = NULL; pSRB->SRBState = SRB_FREE; dc390_SRBdone( pACB, pDCB, pSRB); } @@ -1325,6 +1342,35 @@ dc390_add_dev (struct dc390_acb* pACB, struct dc390_dcb* pDCB, PSCSI_INQDATA ptr } +static void __inline__ +dc390_RequestSense(struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pSRB) +{ + struct scsi_cmnd *pcmd; + + pcmd = pSRB->pcmd; + + REMOVABLEDEBUG(printk(KERN_INFO "DC390: RequestSense(Cmd %02x, Id %02x, LUN %02x)\n",\ + pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN)); + + pSRB->SRBFlag |= AUTO_REQSENSE; + pSRB->SavedSGCount = pcmd->use_sg; + pSRB->SavedTotXLen = pSRB->TotalXferredLen; + pSRB->AdaptStatus = 0; + pSRB->TargetStatus = 0; /* CHECK_CONDITION<<1; */ + + /* We are called from SRBdone, original PCI mapping has been removed + * already, new one is set up from StartSCSI */ + pSRB->SGIndex = 0; + + pSRB->TotalXferredLen = 0; + pSRB->SGToBeXferLen = 0; + if (dc390_StartSCSI(pACB, pDCB, pSRB)) { + dc390_Going_to_Waiting(pDCB, pSRB); + dc390_waiting_timer(pACB, HZ/5); + } +} + + static void dc390_SRBdone( struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pSRB ) { @@ -1352,26 +1398,7 @@ dc390_SRBdone( struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pSRB->SRBFlag &= ~AUTO_REQSENSE; pSRB->AdaptStatus = 0; pSRB->TargetStatus = CHECK_CONDITION << 1; -#ifdef DC390_REMOVABLEDEBUG - switch (pcmd->sense_buffer[2] & 0x0f) - { - case NOT_READY: printk (KERN_INFO "DC390: ReqSense: NOT_READY (Cmnd = 0x%02x, Dev = %i-%i, Stat = %i, Scan = %i)\n", - pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN, - status, pACB->scan_devices); break; - case UNIT_ATTENTION: printk (KERN_INFO "DC390: ReqSense: UNIT_ATTENTION (Cmnd = 0x%02x, Dev = %i-%i, Stat = %i, Scan = %i)\n", - pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN, - status, pACB->scan_devices); break; - case ILLEGAL_REQUEST: printk (KERN_INFO "DC390: ReqSense: ILLEGAL_REQUEST (Cmnd = 0x%02x, Dev = %i-%i, Stat = %i, Scan = %i)\n", - pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN, - status, pACB->scan_devices); break; - case MEDIUM_ERROR: printk (KERN_INFO "DC390: ReqSense: MEDIUM_ERROR (Cmnd = 0x%02x, Dev = %i-%i, Stat = %i, Scan = %i)\n", - pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN, - status, pACB->scan_devices); break; - case HARDWARE_ERROR: printk (KERN_INFO "DC390: ReqSense: HARDWARE_ERROR (Cmnd = 0x%02x, Dev = %i-%i, Stat = %i, Scan = %i)\n", - pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN, - status, pACB->scan_devices); break; - } -#endif + //pcmd->result = MK_RES(DRIVER_SENSE,DID_OK,0,status); if (status == (CHECK_CONDITION << 1)) { @@ -1525,23 +1552,6 @@ dc390_SRBdone( struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pDCB->Inquiry7 = ptr->Flags; ckc_e: - if( pACB->scan_devices ) - { - if( pcmd->cmnd[0] == TEST_UNIT_READY || - pcmd->cmnd[0] == INQUIRY) - { -#ifdef DC390_DEBUG0 - printk (KERN_INFO "DC390: %s: result: %08x", - (pcmd->cmnd[0] == INQUIRY? "INQUIRY": "TEST_UNIT_READY"), - pcmd->result); - if (pcmd->result & (DRIVER_SENSE << 24)) printk (" (sense: %02x %02x %02x %02x)\n", - pcmd->sense_buffer[0], pcmd->sense_buffer[1], - pcmd->sense_buffer[2], pcmd->sense_buffer[3]); - else printk ("\n"); -#endif - } - } - if( pcmd->cmnd[0] == INQUIRY && (pcmd->result == (DID_OK << 16) || status_byte(pcmd->result) & CHECK_CONDITION) ) { @@ -1586,18 +1596,6 @@ dc390_DoingSRB_Done(struct dc390_acb* pACB, struct scsi_cmnd *cmd) psrb2 = psrb->pNextSRB; pcmd = psrb->pcmd; dc390_Free_insert (pACB, psrb); -#ifndef USE_NEW_EH - /* New EH will crash on being given timed out cmnds */ - if (pcmd == cmd) - pcmd->result = MK_RES(0,DID_ABORT,0,0); - else - pcmd->result = MK_RES(0,DID_RESET,0,0); - -/* ReleaseSRB( pDCB, pSRB ); */ - - DEBUG0(printk (KERN_DEBUG "DC390: DoingSRB_Done: done pid %li\n", pcmd->pid)); - pcmd->scsi_done( pcmd ); -#endif psrb = psrb2; } pdcb->GoingSRBCnt = 0; @@ -1646,7 +1644,7 @@ dc390_ScsiRstDetect( struct dc390_acb* pACB ) pACB->ACBFlag |= RESET_DETECT; dc390_ResetDevParam( pACB ); - dc390_DoingSRB_Done( pACB, 0 ); + dc390_DoingSRB_Done( pACB, NULL ); //dc390_RecoverSRB( pACB ); pACB->pActiveDCB = NULL; pACB->ACBFlag = 0; @@ -1654,51 +1652,3 @@ dc390_ScsiRstDetect( struct dc390_acb* pACB ) } return; } - - -static void __inline__ -dc390_RequestSense( struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pSRB ) -{ - struct scsi_cmnd *pcmd; - - pcmd = pSRB->pcmd; - - REMOVABLEDEBUG(printk (KERN_INFO "DC390: RequestSense (Cmd %02x, Id %02x, LUN %02x)\n",\ - pcmd->cmnd[0], pDCB->TargetID, pDCB->TargetLUN)); - - pSRB->SRBFlag |= AUTO_REQSENSE; - //pSRB->Segment0[0] = (u32) pSRB->CmdBlock[0]; - //pSRB->Segment0[1] = (u32) pSRB->CmdBlock[4]; - //pSRB->Segment1[0] = ((u32)(pcmd->cmd_len) << 8) + pSRB->SGcount; - //pSRB->Segment1[1] = pSRB->TotalXferredLen; - pSRB->SavedSGCount = pcmd->use_sg; - pSRB->SavedTotXLen = pSRB->TotalXferredLen; - pSRB->AdaptStatus = 0; - pSRB->TargetStatus = 0; /* CHECK_CONDITION<<1; */ - - /* We are called from SRBdone, original PCI mapping has been removed - * already, new one is set up from StartSCSI */ - pSRB->SGIndex = 0; - - //pSRB->CmdBlock[0] = REQUEST_SENSE; - //pSRB->CmdBlock[1] = pDCB->TargetLUN << 5; - //(u16) pSRB->CmdBlock[2] = 0; - //(u16) pSRB->CmdBlock[4] = sizeof(pcmd->sense_buffer); - //pSRB->ScsiCmdLen = 6; - - pSRB->TotalXferredLen = 0; - pSRB->SGToBeXferLen = 0; - if( dc390_StartSCSI( pACB, pDCB, pSRB ) ) { - dc390_Going_to_Waiting ( pDCB, pSRB ); - dc390_waiting_timer (pACB, HZ/5); - } -} - - - -static void __inline__ -dc390_InvalidCmd( struct dc390_acb* pACB ) -{ - if( pACB->pActiveDCB->pActiveSRB->SRBState & (SRB_START_+SRB_MSGOUT) ) - DC390_write8 (ScsiCmd, CLEAR_FIFO_CMD); -} diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 8fd459060..ebd71b7b7 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -62,12 +63,18 @@ #include "scsi_logging.h" - /* - * Remaining dev_t-handling stuff + * More than enough for everybody ;) The huge number of majors + * is a leftover from 16bit dev_t days, we don't really need that + * much numberspace. */ #define SD_MAJORS 16 -#define SD_DISKS 32768 /* anything between 256 and 262144 */ + +/* + * This is limited by the naming scheme enforced in sd_probe, + * add another character to it if you really need more disks. + */ +#define SD_MAX_DISKS (((26 * 26) + 26 + 1) * 26) /* * Time out in seconds for disks and Magneto-opticals (which are slower). @@ -96,8 +103,7 @@ struct scsi_disk { unsigned RCD : 1; /* state of disk RCD bit, unused */ }; - -static unsigned long sd_index_bits[SD_DISKS / BITS_PER_LONG]; +static DEFINE_IDR(sd_index_idr); static spinlock_t sd_index_lock = SPIN_LOCK_UNLOCKED; /* This semaphore is used to mediate the 0->1 reference get in the @@ -113,6 +119,7 @@ static int sd_remove(struct device *); static void sd_shutdown(struct device *dev); static void sd_rescan(struct device *); static int sd_init_command(struct scsi_cmnd *); +static int sd_issue_flush(struct device *, sector_t *); static void sd_read_capacity(struct scsi_disk *sdkp, char *diskname, struct scsi_request *SRpnt, unsigned char *buffer); @@ -126,9 +133,11 @@ static struct scsi_driver sd_template = { }, .rescan = sd_rescan, .init_command = sd_init_command, + .issue_flush = sd_issue_flush, }; -/* Device no to disk mapping: +/* + * Device no to disk mapping: * * major disc2 disc p1 * |............|.............|....|....| <- dev_t @@ -141,7 +150,6 @@ static struct scsi_driver sd_template = { * As we stay compatible with our numbering scheme, we can reuse * the well-know SCSI majors 8, 65--71, 136--143. */ - static int sd_major(int major_idx) { switch (major_idx) { @@ -157,14 +165,6 @@ static int sd_major(int major_idx) } } -static unsigned int make_sd_dev(unsigned int sd_nr, unsigned int part) -{ - return (part & 0xf) | ((sd_nr & 0xf) << 4) | - (sd_major((sd_nr & 0xf0) >> 4) << 20) | (sd_nr & 0xfff00); -} - -/* reverse mapping dev -> (sd_nr, part) not currently needed */ - #define to_scsi_disk(obj) container_of(obj,struct scsi_disk,kref) static inline struct scsi_disk *scsi_disk(struct gendisk *disk) @@ -180,16 +180,14 @@ static struct scsi_disk *scsi_disk_get(struct gendisk *disk) if (disk->private_data == NULL) goto out; sdkp = scsi_disk(disk); - if (!kref_get(&sdkp->kref)) - goto out_sdkp; + kref_get(&sdkp->kref); if (scsi_device_get(sdkp->device)) goto out_put; up(&sd_ref_sem); return sdkp; out_put: - kref_put(&sdkp->kref); - out_sdkp: + kref_put(&sdkp->kref, scsi_disk_release); sdkp = NULL; out: up(&sd_ref_sem); @@ -199,8 +197,8 @@ static struct scsi_disk *scsi_disk_get(struct gendisk *disk) static void scsi_disk_put(struct scsi_disk *sdkp) { down(&sd_ref_sem); + kref_put(&sdkp->kref, scsi_disk_release); scsi_device_put(sdkp->device); - kref_put(&sdkp->kref); up(&sd_ref_sem); } @@ -575,8 +573,9 @@ static int sd_ioctl(struct inode * inode, struct file * filp, * may try and take the device offline, in which case all further * access to the device is prohibited. */ - if (!scsi_block_when_processing_errors(sdp)) - return -ENODEV; + error = scsi_nonblockable_ioctl(sdp, cmd, p, filp); + if (!scsi_block_when_processing_errors(sdp) || !error) + return error; if (cmd == HDIO_GETGEO) { if (!arg) @@ -648,7 +647,7 @@ static int sd_media_changed(struct gendisk *disk) */ retval = -ENODEV; if (scsi_block_when_processing_errors(sdp)) - retval = scsi_ioctl(sdp, SCSI_IOCTL_TEST_UNIT_READY, NULL); + retval = scsi_test_unit_ready(sdp, SD_TIMEOUT, SD_MAX_RETRIES); /* * Unable to test, unit probably not ready. This usually @@ -676,6 +675,62 @@ not_present: return 1; } +static int sd_sync_cache(struct scsi_device *sdp) +{ + struct scsi_request *sreq; + int retries, res; + + if (!scsi_device_online(sdp)) + return -ENODEV; + + sreq = scsi_allocate_request(sdp, GFP_KERNEL); + if (!sreq) { + printk("FAILED\n No memory for request\n"); + return -ENOMEM; + } + + sreq->sr_data_direction = DMA_NONE; + for (retries = 3; retries > 0; --retries) { + unsigned char cmd[10] = { 0 }; + + cmd[0] = SYNCHRONIZE_CACHE; + /* + * Leave the rest of the command zero to indicate + * flush everything. + */ + scsi_wait_req(sreq, cmd, NULL, 0, SD_TIMEOUT, SD_MAX_RETRIES); + if (sreq->sr_result == 0) + break; + } + + res = sreq->sr_result; + if (res) { + printk(KERN_WARNING "FAILED\n status = %x, message = %02x, " + "host = %d, driver = %02x\n ", + status_byte(res), msg_byte(res), + host_byte(res), driver_byte(res)); + if (driver_byte(res) & DRIVER_SENSE) + scsi_print_req_sense("sd", sreq); + } + + scsi_release_request(sreq); + return res; +} + +static int sd_issue_flush(struct device *dev, sector_t *error_sector) +{ + struct scsi_device *sdp = to_scsi_device(dev); + struct scsi_disk *sdkp = dev_get_drvdata(dev); + + if (!sdkp) + return -ENODEV; + + if (!sdkp->WCE) + return 0; + + return sd_sync_cache(sdp); +} + static void sd_rescan(struct device *dev) { struct scsi_disk *sdkp = dev_get_drvdata(dev); @@ -1074,6 +1129,13 @@ got_data: * For this reason, we leave the thing in the table. */ sdkp->capacity = 0; + /* + * set a bogus sector size so the normal read/write + * logic in the block layer will eventually refuse any + * request on this device without tripping over power + * of two sector size assumptions + */ + sector_size = 512; } { /* @@ -1347,7 +1409,7 @@ static int sd_probe(struct device *dev) struct scsi_disk *sdkp; struct gendisk *gd; u32 index; - int error, devno; + int error; error = -ENODEV; if ((sdp->type != TYPE_DISK) && (sdp->type != TYPE_MOD)) @@ -1362,27 +1424,23 @@ static int sd_probe(struct device *dev) goto out; memset (sdkp, 0, sizeof(*sdkp)); - kref_init(&sdkp->kref, scsi_disk_release); - - /* Note: We can accomodate 64 partitions, but the genhd code - * assumes partitions allocate consecutive minors, which they don't. - * So for now stay with max 16 partitions and leave two spare bits. - * Later, we may change the genhd code and the alloc_disk() call - * and the ->minors assignment here. KG, 2004-02-10 - */ + kref_init(&sdkp->kref); + gd = alloc_disk(16); if (!gd) goto out_free; + if (!idr_pre_get(&sd_index_idr, GFP_KERNEL)) + goto out_put; + spin_lock(&sd_index_lock); - index = find_first_zero_bit(sd_index_bits, SD_DISKS); - if (index == SD_DISKS) { - spin_unlock(&sd_index_lock); + error = idr_get_new(&sd_index_idr, NULL, &index); + spin_unlock(&sd_index_lock); + + if (index >= SD_MAX_DISKS) error = -EBUSY; + if (error) goto out_put; - } - __set_bit(index, sd_index_bits); - spin_unlock(&sd_index_lock); sdkp->device = sdp; sdkp->driver = &sd_template; @@ -1397,15 +1455,14 @@ static int sd_probe(struct device *dev) sdp->timeout = SD_MOD_TIMEOUT; } - devno = make_sd_dev(index, 0); - gd->major = MAJOR(devno); - gd->first_minor = MINOR(devno); + gd->major = sd_major((index & 0xf0) >> 4); + gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00); gd->minors = 16; gd->fops = &sd_fops; if (index < 26) { sprintf(gd->disk_name, "sd%c", 'a' + index % 26); - } else if (index < (26*27)) { + } else if (index < (26 + 1) * 26) { sprintf(gd->disk_name, "sd%c%c", 'a' + index / 26 - 1,'a' + index % 26); } else { @@ -1464,7 +1521,7 @@ static int sd_remove(struct device *dev) del_gendisk(sdkp->disk); sd_shutdown(dev); down(&sd_ref_sem); - kref_put(&sdkp->kref); + kref_put(&sdkp->kref, scsi_disk_release); up(&sd_ref_sem); return 0; @@ -1485,7 +1542,7 @@ static void scsi_disk_release(struct kref *kref) struct gendisk *disk = sdkp->disk; spin_lock(&sd_index_lock); - clear_bit(sdkp->index, sd_index_bits); + idr_remove(&sd_index_idr, sdkp->index); spin_unlock(&sd_index_lock); disk->private_data = NULL; @@ -1503,52 +1560,17 @@ static void scsi_disk_release(struct kref *kref) static void sd_shutdown(struct device *dev) { struct scsi_device *sdp = to_scsi_device(dev); - struct scsi_disk *sdkp; - struct scsi_request *sreq; - int retries, res; + struct scsi_disk *sdkp = dev_get_drvdata(dev); - sdkp = dev_get_drvdata(dev); if (!sdkp) - return; /* this can happen */ + return; /* this can happen */ - if (!scsi_device_online(sdp) || !sdkp->WCE) + if (!sdkp->WCE) return; - printk(KERN_NOTICE "Synchronizing SCSI cache for disk %s: ", + printk(KERN_NOTICE "Synchronizing SCSI cache for disk %s: \n", sdkp->disk->disk_name); - - sreq = scsi_allocate_request(sdp, GFP_KERNEL); - if (!sreq) { - printk("FAILED\n No memory for request\n"); - return; - } - - sreq->sr_data_direction = DMA_NONE; - for (retries = 3; retries > 0; --retries) { - unsigned char cmd[10] = { 0 }; - - cmd[0] = SYNCHRONIZE_CACHE; - /* - * Leave the rest of the command zero to indicate - * flush everything. - */ - scsi_wait_req(sreq, cmd, NULL, 0, SD_TIMEOUT, SD_MAX_RETRIES); - if (sreq->sr_result == 0) - break; - } - - res = sreq->sr_result; - if (res) { - printk(KERN_WARNING "FAILED\n status = %x, message = %02x, " - "host = %d, driver = %02x\n ", - status_byte(res), msg_byte(res), - host_byte(res), driver_byte(res)); - if (driver_byte(res) & DRIVER_SENSE) - scsi_print_req_sense("sd", sreq); - } - - scsi_release_request(sreq); - printk("\n"); + sd_sync_cache(sdp); } /** diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 80dbb1441..728855e6e 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c @@ -47,8 +47,9 @@ static int sg_version_num = 30531; /* 2 digits for each component */ #include #include #include - #include +#include + #include "scsi.h" #include #include @@ -205,8 +206,6 @@ static Sg_request *sg_get_rq_mark(Sg_fd * sfp, int pack_id); static Sg_request *sg_add_request(Sg_fd * sfp); static int sg_remove_request(Sg_fd * sfp, Sg_request * srp); static int sg_res_in_use(Sg_fd * sfp); -static int sg_ms_to_jif(unsigned int msecs); -static inline unsigned sg_jif_to_ms(int jifs); static int sg_allow_access(unsigned char opcode, char dev_type); static int sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len); static Sg_device *sg_get_dev(int dev); @@ -241,12 +240,6 @@ sg_open(struct inode *inode, struct file *filp) return -ENXIO; if (sdp->detached) return -ENODEV; - - /* scsi generic is only for non-disk, non-cd, non-tape devices */ - if ( (sdp->device->type == TYPE_DISK) || (sdp->device->type == TYPE_MOD) || (sdp->device->type == TYPE_ROM) - || (sdp->device->type == TYPE_WORM) || ( sdp->device->type == TYPE_TAPE)) - printk(KERN_WARNING "%s: Using deprecated /dev/sg mechanism instead of SG_IO on the actual device\n",current->comm); - /* This driver's module count bumped by fops_get in */ /* Prevent the device driver from vanishing while we sleep */ @@ -617,7 +610,7 @@ sg_new_write(Sg_fd * sfp, const char __user *buf, size_t count, return -EBUSY; /* reserve buffer already being used */ } } - timeout = sg_ms_to_jif(srp->header.timeout); + timeout = msecs_to_jiffies(srp->header.timeout); if ((!hp->cmdp) || (hp->cmd_len < 6) || (hp->cmd_len > sizeof (cmnd))) { sg_remove_request(sfp, srp); return -EMSGSIZE; @@ -725,17 +718,16 @@ sg_common_write(Sg_fd * sfp, Sg_request * srp, return 0; } -static inline unsigned -sg_jif_to_ms(int jifs) +static int +sg_srp_done(Sg_request *srp, Sg_fd *sfp) { - if (jifs <= 0) - return 0U; - else { - unsigned int j = (unsigned int) jifs; - return (j < - (UINT_MAX / 1000)) ? ((j * 1000) / HZ) : ((j / HZ) * - 1000); - } + unsigned long iflags; + int done; + + read_lock_irqsave(&sfp->rq_list_lock, iflags); + done = srp->done; + read_unlock_irqrestore(&sfp->rq_list_lock, iflags); + return done; } static int @@ -777,7 +769,7 @@ sg_ioctl(struct inode *inode, struct file *filp, while (1) { result = 0; /* following macro to beat race condition */ __wait_event_interruptible(sfp->read_wait, - (sdp->detached || sfp->closed || srp->done), + (sdp->detached || sfp->closed || sg_srp_done(srp, sfp)), result); if (sdp->detached) return -ENODEV; @@ -788,7 +780,9 @@ sg_ioctl(struct inode *inode, struct file *filp, srp->orphan = 1; return result; /* -ERESTARTSYS because signal hit process */ } + write_lock_irqsave(&sfp->rq_list_lock, iflags); srp->done = 2; + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); result = sg_new_read(sfp, p, SZ_SG_IO_HDR, srp); return (result < 0) ? result : 0; } @@ -947,7 +941,7 @@ sg_ioctl(struct inode *inode, struct file *filp, srp->header.driver_status; rinfo[val].duration = srp->done ? srp->header.duration : - sg_jif_to_ms( + jiffies_to_msecs( jiffies - srp->header.duration); rinfo[val].orphan = srp->orphan; rinfo[val].sg_io_owned = srp->sg_io_owned; @@ -1231,6 +1225,7 @@ sg_cmd_done(Scsi_Cmnd * SCpnt) Sg_device *sdp = NULL; Sg_fd *sfp; Sg_request *srp = NULL; + unsigned long iflags; if (SCpnt && (SRpnt = SCpnt->sc_request)) srp = (Sg_request *) SRpnt->upper_private_data; @@ -1269,7 +1264,7 @@ sg_cmd_done(Scsi_Cmnd * SCpnt) srp->header.resid = SCpnt->resid; /* N.B. unit of duration changes here from jiffies to millisecs */ srp->header.duration = - sg_jif_to_ms(jiffies - (int) srp->header.duration); + jiffies_to_msecs(jiffies - srp->header.duration); if (0 != SRpnt->sr_result) { memcpy(srp->sense_b, SRpnt->sr_sense_buffer, sizeof (srp->sense_b)); @@ -1319,8 +1314,10 @@ sg_cmd_done(Scsi_Cmnd * SCpnt) if (sfp && srp) { /* Now wake up any sg_read() that is waiting for this packet. */ kill_fasync(&sfp->async_qp, SIGPOLL, POLL_IN); + write_lock_irqsave(&sfp->rq_list_lock, iflags); srp->done = 1; wake_up_interruptible(&sfp->read_wait); + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); } } @@ -1514,7 +1511,7 @@ sg_remove(struct class_device *cl_dev) tsfp = sfp->nextfp; for (srp = sfp->headrp; srp; srp = tsrp) { tsrp = srp->nextrp; - if (sfp->closed || (0 == srp->done)) + if (sfp->closed || (0 == sg_srp_done(srp, sfp))) sg_finish_rem_req(srp); } if (sfp->closed) { @@ -1553,7 +1550,7 @@ sg_remove(struct class_device *cl_dev) } if (delay) - scsi_sleep(2); /* dirty detach so delay device destruction */ + msleep(10); /* dirty detach so delay device destruction */ } /* Set 'perm' (4th argument) to 0 to disable module_param's definition @@ -2496,7 +2493,7 @@ sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp) for (srp = sfp->headrp; srp; srp = tsrp) { tsrp = srp->nextrp; - if (srp->done) + if (sg_srp_done(srp, sfp)) sg_finish_rem_req(srp); else ++dirty; @@ -2593,17 +2590,6 @@ sg_page_free(char *buff, int size) free_pages((unsigned long) buff, order); } -static int -sg_ms_to_jif(unsigned int msecs) -{ - if ((UINT_MAX / 2U) < msecs) - return INT_MAX; /* special case, set largest possible */ - else - return ((int) msecs < - (INT_MAX / 1000)) ? (((int) msecs * HZ) / 1000) - : (((int) msecs / 1000) * HZ); -} - static unsigned char allow_ops[] = { TEST_UNIT_READY, REQUEST_SENSE, INQUIRY, READ_CAPACITY, READ_BUFFER, READ_6, READ_10, READ_12, MODE_SENSE, MODE_SENSE_10, LOG_SENSE @@ -2966,7 +2952,7 @@ static void sg_proc_debug_helper(struct seq_file *s, Sg_device * sdp) for (k = 0; (fp = sg_get_nth_sfp(sdp, k)); ++k) { seq_printf(s, " FD(%d): timeout=%dms bufflen=%d " "(res)sgat=%d low_dma=%d\n", k + 1, - sg_jif_to_ms(fp->timeout), + jiffies_to_msecs(fp->timeout), fp->reserve.bufflen, (int) fp->reserve.k_use_sg, (int) fp->low_dma); @@ -3002,8 +2988,8 @@ static void sg_proc_debug_helper(struct seq_file *s, Sg_device * sdp) seq_printf(s, " dur=%d", hp->duration); else seq_printf(s, " t_o/elap=%d/%d", - new_interface ? hp->timeout : sg_jif_to_ms(fp->timeout), - sg_jif_to_ms(hp->duration ? (jiffies - hp->duration) : 0)); + new_interface ? hp->timeout : jiffies_to_msecs(fp->timeout), + jiffies_to_msecs(hp->duration ? (jiffies - hp->duration) : 0)); seq_printf(s, "ms sgat=%d op=0x%02x\n", usg, (int) srp->data.cmd_opcode); } diff --git a/drivers/scsi/sim710.c b/drivers/scsi/sim710.c index f73bf835d..841449da9 100644 --- a/drivers/scsi/sim710.c +++ b/drivers/scsi/sim710.c @@ -36,6 +36,9 @@ #include #include #include +#include +#include +#include #include "53c700.h" diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index b80aa283c..3fedadca7 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -140,15 +140,13 @@ static inline struct scsi_cd *scsi_cd_get(struct gendisk *disk) if (disk->private_data == NULL) goto out; cd = scsi_cd(disk); - if (!kref_get(&cd->kref)) - goto out_null; + kref_get(&cd->kref); if (scsi_device_get(cd->device)) goto out_put; goto out; out_put: - kref_put(&cd->kref); - out_null: + kref_put(&cd->kref, sr_kref_release); cd = NULL; out: up(&sr_ref_sem); @@ -158,8 +156,8 @@ static inline struct scsi_cd *scsi_cd_get(struct gendisk *disk) static inline void scsi_cd_put(struct scsi_cd *cd) { down(&sr_ref_sem); + kref_put(&cd->kref, sr_kref_release); scsi_device_put(cd->device); - kref_put(&cd->kref); up(&sr_ref_sem); } @@ -183,7 +181,7 @@ int sr_media_change(struct cdrom_device_info *cdi, int slot) return -EINVAL; } - retval = scsi_ioctl(cd->device, SCSI_IOCTL_TEST_UNIT_READY, NULL); + retval = scsi_test_unit_ready(cd->device, SR_TIMEOUT, MAX_RETRIES); if (retval) { /* Unable to test, unit probably not ready. This usually * means there is no disc in the drive. Mark as changed, @@ -576,7 +574,7 @@ static int sr_probe(struct device *dev) goto fail; memset(cd, 0, sizeof(*cd)); - kref_init(&cd->kref, sr_kref_release); + kref_init(&cd->kref); disk = alloc_disk(1); if (!disk) @@ -937,7 +935,7 @@ static int sr_remove(struct device *dev) del_gendisk(cd->disk); down(&sr_ref_sem); - kref_put(&cd->kref); + kref_put(&cd->kref, sr_kref_release); up(&sr_ref_sem); return 0; diff --git a/drivers/scsi/sr_ioctl.c b/drivers/scsi/sr_ioctl.c index 7d24b57c2..462b79167 100644 --- a/drivers/scsi/sr_ioctl.c +++ b/drivers/scsi/sr_ioctl.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -131,7 +132,7 @@ int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc) printk(KERN_INFO "%s: CDROM not ready yet.\n", cd->cdi.name); if (retries++ < 10) { /* sleep 2 sec and try again */ - scsi_sleep(2 * HZ); + ssleep(2); goto retry; } else { /* 20 secs are enough? */ @@ -548,5 +549,17 @@ int sr_dev_ioctl(struct cdrom_device_info *cdi, unsigned int cmd, unsigned long arg) { Scsi_CD *cd = cdi->handle; + int ret; + + ret = scsi_nonblockable_ioctl(cd->device, cmd, + (void __user *)arg, NULL); + /* + * ENODEV means that we didn't recognise the ioctl, or that we + * cannot execute it in the current device state. In either + * case fall through to scsi_ioctl, which will return ENDOEV again + * if it doesn't recognise the ioctl + */ + if (ret != -ENODEV) + return ret; return scsi_ioctl(cd->device, cmd, (void __user *)arg); } diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 5fa0153da..5f5313510 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -3125,10 +3125,10 @@ static int st_ioctl(struct inode *inode, struct file *file, * may try and take the device offline, in which case all further * access to the device is prohibited. */ - if (!scsi_block_when_processing_errors(STp->device)) { - retval = (-ENXIO); + retval = scsi_nonblockable_ioctl(STp->device, cmd_in, p, file); + if (!scsi_block_when_processing_errors(STp->device) || !retval) goto out; - } + cmd_type = _IOC_TYPE(cmd_in); cmd_nr = _IOC_NR(cmd_in); diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c index 0d9d1b42b..633d58c26 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.c +++ b/drivers/scsi/sym53c8xx_2/sym_glue.c @@ -1096,7 +1096,8 @@ static int sym53c8xx_slave_configure(struct scsi_device *device) lp->s.scdev_depth = depth_to_use; sym_tune_dev_queuing(np, device->id, device->lun, reqtags); - spi_dv_device(device); + if (!spi_initial_dv(device->sdev_target)) + spi_dv_device(device); return 0; } @@ -2304,35 +2305,61 @@ static void __devexit sym2_remove(struct pci_dev *pdev) attach_count--; } -static void sym2_get_offset(struct scsi_device *sdev) +static void sym2_get_signalling(struct Scsi_Host *shost) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + enum spi_signal_type type; - spi_offset(sdev) = tp->tinfo.curr.offset; + switch (np->scsi_mode) { + case SMODE_SE: + type = SPI_SIGNAL_SE; + break; + case SMODE_LVD: + type = SPI_SIGNAL_LVD; + break; + case SMODE_HVD: + type = SPI_SIGNAL_HVD; + break; + default: + type = SPI_SIGNAL_UNKNOWN; + break; + } + spi_signalling(shost) = type; +} + +static void sym2_get_offset(struct scsi_target *starget) +{ + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; + + spi_offset(starget) = tp->tinfo.curr.offset; } -static void sym2_set_offset(struct scsi_device *sdev, int offset) +static void sym2_set_offset(struct scsi_target *starget, int offset) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; tp->tinfo.goal.offset = offset; } -static void sym2_get_period(struct scsi_device *sdev) +static void sym2_get_period(struct scsi_target *starget) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; - spi_period(sdev) = tp->tinfo.curr.period; + spi_period(starget) = tp->tinfo.curr.period; } -static void sym2_set_period(struct scsi_device *sdev, int period) +static void sym2_set_period(struct scsi_target *starget, int period) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; /* have to have DT for these transfers */ if (period <= np->minsync) @@ -2341,18 +2368,24 @@ static void sym2_set_period(struct scsi_device *sdev, int period) tp->tinfo.goal.period = period; } -static void sym2_get_width(struct scsi_device *sdev) +static void sym2_get_width(struct scsi_target *starget) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; - spi_width(sdev) = tp->tinfo.curr.width ? 1 : 0; + spi_width(starget) = tp->tinfo.curr.width ? 1 : 0; } -static void sym2_set_width(struct scsi_device *sdev, int width) +static void sym2_set_width(struct scsi_target *starget, int width) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; + + /* It is illegal to have DT set on narrow transfers */ + if (width == 0) + tp->tinfo.goal.options &= ~PPR_OPT_DT; /* It is illegal to have DT set on narrow transfers */ if (width == 0) @@ -2361,18 +2394,20 @@ static void sym2_set_width(struct scsi_device *sdev, int width) tp->tinfo.goal.width = width; } -static void sym2_get_dt(struct scsi_device *sdev) +static void sym2_get_dt(struct scsi_target *starget) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; - spi_dt(sdev) = (tp->tinfo.curr.options & PPR_OPT_DT) ? 1 : 0; + spi_dt(starget) = (tp->tinfo.curr.options & PPR_OPT_DT) ? 1 : 0; } -static void sym2_set_dt(struct scsi_device *sdev, int dt) +static void sym2_set_dt(struct scsi_target *starget, int dt) { - struct sym_hcb *np = ((struct host_data *)sdev->host->hostdata)->ncb; - struct sym_tcb *tp = &np->target[sdev->id]; + struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); + struct sym_hcb *np = ((struct host_data *)shost->hostdata)->ncb; + struct sym_tcb *tp = &np->target[starget->id]; if (dt) tp->tinfo.goal.options |= PPR_OPT_DT; @@ -2394,6 +2429,7 @@ static struct spi_function_template sym2_transport_functions = { .get_dt = sym2_get_dt, .set_dt = sym2_set_dt, .show_dt = 1, + .get_signalling = sym2_get_signalling, }; static struct pci_device_id sym2_id_table[] __devinitdata = { diff --git a/drivers/scsi/t128.c b/drivers/scsi/t128.c index 7ef1b8c92..7e73fc257 100644 --- a/drivers/scsi/t128.c +++ b/drivers/scsi/t128.c @@ -284,6 +284,7 @@ static int t128_release(struct Scsi_Host *shost) { if (shost->irq) free_irq(shost->irq, NULL); + NCR5380_exit(shost); if (shost->io_port && shost->n_io_port) release_region(shost->io_port, shost->n_io_port); scsi_unregister(shost); diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c index 1b324b800..8a1ed11fb 100644 --- a/drivers/scsi/tmscsim.c +++ b/drivers/scsi/tmscsim.c @@ -240,17 +240,15 @@ #include #include -#if 0 #include #include #include -#else -#include "scsi.h" -#endif #include #include -#include "dc390.h" + +#define DC390_BANNER "Tekram DC390/AM53C974" +#define DC390_VERSION "2.1d 2004-05-27" #define PCI_DEVICE_ID_AMD53C974 PCI_DEVICE_ID_AMD_SCSI @@ -291,20 +289,14 @@ static void dc390_SRBdone( struct dc390_acb* pACB, struct dc390_dcb* pDCB, struc static void dc390_DoingSRB_Done( struct dc390_acb* pACB, struct scsi_cmnd * cmd); static void dc390_ScsiRstDetect( struct dc390_acb* pACB ); static void dc390_ResetSCSIBus( struct dc390_acb* pACB ); -static void __inline__ dc390_RequestSense( struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pSRB ); -static void __inline__ dc390_InvalidCmd( struct dc390_acb* pACB ); -static void __inline__ dc390_EnableMsgOut_Abort (struct dc390_acb*, struct dc390_srb*); +static void dc390_EnableMsgOut_Abort(struct dc390_acb*, struct dc390_srb*); static irqreturn_t do_DC390_Interrupt( int, void *, struct pt_regs *); static int dc390_initAdapter(struct Scsi_Host *psh, unsigned long io_port, u8 Irq, u8 index ); static void dc390_updateDCB (struct dc390_acb* pACB, struct dc390_dcb* pDCB); -static int DC390_proc_info (struct Scsi_Host *shpnt, char *buffer, char **start, - off_t offset, int length, int inout); - static struct dc390_acb* dc390_pACB_start= NULL; static struct dc390_acb* dc390_pACB_current = NULL; -static unsigned long dc390_lastabortedpid = 0; static u32 dc390_laststatus = 0; static u8 dc390_adapterCnt = 0; @@ -612,16 +604,12 @@ static u8 __devinit dc390_CheckEEpromCheckSum(struct pci_dev *pdev, u8 index) **********************************************************************/ static struct dc390_dcb __inline__ *dc390_findDCB ( struct dc390_acb* pACB, u8 id, u8 lun) { - struct dc390_dcb* pDCB = pACB->pLinkDCB; if (!pDCB) return 0; + struct dc390_dcb* pDCB = pACB->pLinkDCB; if (!pDCB) return NULL; while (pDCB->TargetID != id || pDCB->TargetLUN != lun) { pDCB = pDCB->pNextDCB; if (pDCB == pACB->pLinkDCB) - { - DCBDEBUG(printk (KERN_WARNING "DC390: DCB not found (DCB=%p, DCBmap[%2x]=%2x)\n", - pDCB, id, pACB->DCBmap[id])); - return 0; - } + return NULL; } DCBDEBUG1( printk (KERN_DEBUG "DCB %p (%02x,%02x) found.\n", \ pDCB, pDCB->TargetID, pDCB->TargetLUN)); @@ -942,8 +930,6 @@ static void dc390_BuildSRB (struct scsi_cmnd *pcmd, struct dc390_dcb* pDCB, stru { pSRB->pSRBDCB = pDCB; pSRB->pcmd = pcmd; - //pSRB->ScsiCmdLen = pcmd->cmd_len; - //memcpy (pSRB->CmdBlock, pcmd->cmnd, pcmd->cmd_len); pSRB->SGIndex = 0; pSRB->AdaptStatus = 0; @@ -991,28 +977,6 @@ static int DC390_queue_command(struct scsi_cmnd *cmd, struct dc390_srb* pSRB; struct dc390_acb* pACB = (struct dc390_acb*) cmd->device->host->hostdata; - DEBUG0(/* if(pACB->scan_devices) */ \ - printk(KERN_INFO "DC390: Queue Cmd=%02x,Tgt=%d,LUN=%d (pid=%li), buffer=%p\n",\ - cmd->cmnd[0],cmd->device->id,cmd->device->lun,cmd->pid, cmd->buffer)); - - /* TODO: Change the policy: Always accept TEST_UNIT_READY or INQUIRY - * commands and alloc a DCB for the device if not yet there. DCB will - * be removed in dc390_SRBdone if SEL_TIMEOUT */ - if (!(pACB->scan_devices) && !(pACB->DCBmap[cmd->device->id] & (1 << cmd->device->lun))) { - printk(KERN_INFO "DC390: Ignore target %02x lun %02x\n", - cmd->device->id, cmd->device->lun); - goto fail; - } - - /* Should it be: BUG_ON(!pDCB); ? */ - - if (!pDCB) - { /* should never happen */ - printk (KERN_ERR "DC390: no DCB found, target %02x lun %02x\n", - cmd->device->id, cmd->device->lun); - goto fail; - } - pACB->Cmds++; cmd->scsi_done = done; cmd->result = 0; @@ -1033,146 +997,8 @@ static int DC390_queue_command(struct scsi_cmnd *cmd, requeue: return 1; - fail: - cmd->result = DID_BAD_TARGET << 16; - done(cmd); - return 0; -} - -/* We ignore mapping problems, as we expect everybody to respect - * valid partition tables. Waiting for complaints ;-) */ - -#ifdef CONFIG_SCSI_DC390T_TRADMAP -/* - * The next function, partsize(), is copied from scsicam.c. - * - * This is ugly code duplication, but I didn't find another way to solve it: - * We want to respect the partition table and if it fails, we apply the - * DC390 BIOS heuristic. Too bad, just calling scsicam_bios_param() doesn't do - * the job, because we don't know, whether the values returned are from - * the part. table or determined by setsize(). Unfortunately the setsize() - * values differ from the ones chosen by the DC390 BIOS. - * - * Looking forward to seeing suggestions for a better solution! KG, 98/10/14 - */ -#include - -/* - * Function : static int partsize(unsigned char *buf, unsigned long - * capacity,unsigned int *cyls, unsigned int *hds, unsigned int *secs); - * - * Purpose : to determine the BIOS mapping used to create the partition - * table, storing the results in *cyls, *hds, and *secs - * - * Returns : -1 on failure, 0 on success. - * - */ - -static int partsize(unsigned char *buf, unsigned long capacity, - unsigned int *cyls, unsigned int *hds, unsigned int *secs) { - struct partition *p, *largest = NULL; - int i, largest_cyl; - int cyl, ext_cyl, end_head, end_cyl, end_sector; - unsigned int logical_end, physical_end, ext_physical_end; - - - if (*(unsigned short *) (buf+64) == 0xAA55) { - for (largest_cyl = -1, p = (struct partition *) buf, - i = 0; i < 4; ++i, ++p) { - if (!p->sys_ind) - continue; - cyl = p->cyl + ((p->sector & 0xc0) << 2); - if (cyl > largest_cyl) { - largest_cyl = cyl; - largest = p; - } - } - } - - if (largest) { - end_cyl = largest->end_cyl + ((largest->end_sector & 0xc0) << 2); - end_head = largest->end_head; - end_sector = largest->end_sector & 0x3f; - - physical_end = end_cyl * (end_head + 1) * end_sector + - end_head * end_sector + end_sector; - - /* This is the actual _sector_ number at the end */ - logical_end = get_unaligned(&largest->start_sect) - + get_unaligned(&largest->nr_sects); - - /* This is for >1023 cylinders */ - ext_cyl= (logical_end-(end_head * end_sector + end_sector)) - /(end_head + 1) / end_sector; - ext_physical_end = ext_cyl * (end_head + 1) * end_sector + - end_head * end_sector + end_sector; - - if ((logical_end == physical_end) || - (end_cyl==1023 && ext_physical_end==logical_end)) { - *secs = end_sector; - *hds = end_head + 1; - *cyls = capacity / ((end_head + 1) * end_sector); - return 0; - } - } - return -1; } -/*********************************************************************** - * Function: - * DC390_bios_param - * - * Description: - * Return the disk geometry for the given SCSI device. - * Respect the partition table, otherwise try own heuristic - * - * Note: - * In contrary to other externally callable funcs (DC390_), we don't lock - ***********************************************************************/ -static int DC390_bios_param (struct scsi_device *sdev, struct block_device *bdev, - sector_t capacity, int geom[]) -{ - int heads, sectors, cylinders; - struct dc390_acb* pACB = (struct dc390_acb*) sdev->host->hostdata; - int ret_code = -1; - int size = capacity; - unsigned char *buf; - - if ((buf = scsi_bios_ptable(bdev))) - { - /* try to infer mapping from partition table */ - ret_code = partsize (buf, (unsigned long) size, (unsigned int *) geom + 2, - (unsigned int *) geom + 0, (unsigned int *) geom + 1); - kfree (buf); - } - if (ret_code == -1) - { - heads = 64; - sectors = 32; - cylinders = size / (heads * sectors); - - if ( (pACB->Gmode2 & GREATER_1G) && (cylinders > 1024) ) - { - heads = 255; - sectors = 63; - cylinders = size / (heads * sectors); - } - - geom[0] = heads; - geom[1] = sectors; - geom[2] = cylinders; - } - - return (0); -} -#else -static int DC390_bios_param (struct scsi_device *sdev, struct block_device *bdev, - sector_t capacity, int geom[]) -{ - return scsicam_bios_param (bdev, capacity, geom); -} -#endif - static void dc390_dumpinfo (struct dc390_acb* pACB, struct dc390_dcb* pDCB, struct dc390_srb* pSRB) { struct pci_dev *pdev; @@ -1219,146 +1045,54 @@ static void dc390_dumpinfo (struct dc390_acb* pACB, struct dc390_dcb* pDCB, stru } -/*********************************************************************** - * Function : int DC390_abort (struct scsi_cmnd *cmd) - * - * Purpose : Abort an errant SCSI command - * - * Inputs : cmd - command to abort - * - * Returns : 0 on success, -1 on failure. - * - * Status: Buggy ! - ***********************************************************************/ - -static int DC390_abort (struct scsi_cmnd *cmd) +static int DC390_abort(struct scsi_cmnd *cmd) { - struct dc390_dcb *pDCB = (struct dc390_dcb*) cmd->device->hostdata; - struct dc390_srb *pSRB, *psrb; - u32 count, i; - int status; - //unsigned long sbac; - struct dc390_acb *pACB = (struct dc390_acb*) cmd->device->host->hostdata; - - printk ("DC390: Abort command (pid %li, Device %02i-%02i)\n", - cmd->pid, cmd->device->id, cmd->device->lun); - - if( !pDCB ) goto NOT_RUN; - - /* Added 98/07/02 KG */ - /* - pSRB = pDCB->pActiveSRB; - if (pSRB && pSRB->pcmd == cmd ) - goto ON_GOING; - */ - - pSRB = pDCB->pWaitingSRB; - if( !pSRB ) - goto ON_GOING; + struct dc390_acb *pACB = (struct dc390_acb*) cmd->device->host->hostdata; + struct dc390_dcb *pDCB = (struct dc390_dcb*) cmd->device->hostdata; + struct dc390_srb *pSRB, *psrb; - /* Now scan Waiting queue */ - if( pSRB->pcmd == cmd ) - { - pDCB->pWaitingSRB = pSRB->pNextSRB; - goto IN_WAIT; - } - else - { - psrb = pSRB; - if( !(psrb->pNextSRB) ) - goto ON_GOING; - while( psrb->pNextSRB->pcmd != cmd ) - { - psrb = psrb->pNextSRB; - if( !(psrb->pNextSRB) || psrb == pSRB) - goto ON_GOING; - } - pSRB = psrb->pNextSRB; - psrb->pNextSRB = pSRB->pNextSRB; - if( pSRB == pDCB->pWaitLast ) - pDCB->pWaitLast = psrb; -IN_WAIT: - dc390_Free_insert (pACB, pSRB); + printk("DC390: Abort command (pid %li, Device %02i-%02i)\n", + cmd->pid, cmd->device->id, cmd->device->lun); + + pSRB = pDCB->pWaitingSRB; + if (!pSRB) + goto on_going; + + /* Now scan Waiting queue */ + if (pSRB->pcmd != cmd) { + psrb = pSRB; + if (!(psrb->pNextSRB)) + goto on_going; + + while (psrb->pNextSRB->pcmd != cmd) { + psrb = psrb->pNextSRB; + if (!(psrb->pNextSRB) || psrb == pSRB) + goto on_going; + } + + pSRB = psrb->pNextSRB; + psrb->pNextSRB = pSRB->pNextSRB; + if (pSRB == pDCB->pWaitLast) + pDCB->pWaitLast = psrb; + } else + pDCB->pWaitingSRB = pSRB->pNextSRB; + + dc390_Free_insert(pACB, pSRB); pDCB->WaitSRBCnt--; INIT_LIST_HEAD((struct list_head*)&cmd->SCp); - status = SCSI_ABORT_SUCCESS; - goto ABO_X; - } - /* SRB has already been sent ! */ -ON_GOING: - /* abort() is too stupid for already sent commands at the moment. - * If it's called we are in trouble anyway, so let's dump some info - * into the syslog at least. (KG, 98/08/20,99/06/20) */ - dc390_dumpinfo (pACB, pDCB, pSRB); - pSRB = pDCB->pGoingSRB; - pDCB->DCBFlag |= ABORT_DEV_; - /* Now for the hard part: The command is currently processed */ - for( count = pDCB->GoingSRBCnt, i=0; ipcmd != cmd ) - pSRB = pSRB->pNextSRB; - else - { - if( (pACB->pActiveDCB == pDCB) && (pDCB->pActiveSRB == pSRB) ) - { - status = SCSI_ABORT_BUSY; - printk ("DC390: Abort current command (pid %li, SRB %p)\n", - cmd->pid, pSRB); - goto ABO_X; - } - else - { - status = SCSI_ABORT_SNOOZE; - goto ABO_X; - } - } - } + return SUCCESS; -NOT_RUN: - status = SCSI_ABORT_NOT_RUNNING; +on_going: + /* abort() is too stupid for already sent commands at the moment. + * If it's called we are in trouble anyway, so let's dump some info + * into the syslog at least. (KG, 98/08/20,99/06/20) */ + dc390_dumpinfo(pACB, pDCB, pSRB); -ABO_X: - cmd->result = DID_ABORT << 16; - printk(KERN_INFO "DC390: Aborted pid %li with status %i\n", cmd->pid, status); -#if 0 - if (cmd->pid == dc390_lastabortedpid) /* repeated failure ? */ - { - /* Let's do something to help the bus getting clean again */ - DC390_write8 (DMA_Cmd, DMA_IDLE_CMD); - DC390_write8 (ScsiCmd, DMA_COMMAND); - //DC390_write8 (ScsiCmd, CLEAR_FIFO_CMD); - //DC390_write8 (ScsiCmd, RESET_ATN_CMD); - DC390_write8 (ScsiCmd, NOP_CMD); - //udelay (10000); - //DC390_read8 (INT_Status); - //DC390_write8 (ScsiCmd, EN_SEL_RESEL); - } - sbac = DC390_read32 (DMA_ScsiBusCtrl); - if (sbac & SCSI_BUSY) - { /* clear BSY, SEL and ATN */ - printk (KERN_WARNING "DC390: Reset SCSI device: "); - //DC390_write32 (DMA_ScsiBusCtrl, (sbac | SCAM) & ~SCSI_LINES); - //udelay (250); - //sbac = DC390_read32 (DMA_ScsiBusCtrl); - //printk ("%08lx ", sbac); - //DC390_write32 (DMA_ScsiBusCtrl, sbac & ~(SCSI_LINES | SCAM)); - //udelay (100); - //sbac = DC390_read32 (DMA_ScsiBusCtrl); - //printk ("%08lx ", sbac); - DC390_write8 (ScsiCmd, RST_DEVICE_CMD); - udelay (250); - DC390_write8 (ScsiCmd, NOP_CMD); - sbac = DC390_read32 (DMA_ScsiBusCtrl); - printk ("%08lx\n", sbac); - } -#endif - dc390_lastabortedpid = cmd->pid; - //do_DC390_Interrupt (pACB->IRQLevel, 0, 0); -#ifndef USE_NEW_EH - if (status == SCSI_ABORT_SUCCESS) cmd->scsi_done(cmd); -#endif - return( status ); + pDCB->DCBFlag |= ABORT_DEV_; + printk(KERN_INFO "DC390: Aborted pid %li\n", cmd->pid); + + return FAILED; } @@ -1385,93 +1119,38 @@ static void dc390_ResetDevParam( struct dc390_acb* pACB ) } -#if 0 -/* Moves all SRBs from Going to Waiting for all DCBs */ -static void dc390_RecoverSRB( struct dc390_acb* pACB ) +static int DC390_bus_reset (struct scsi_cmnd *cmd) { - struct dc390_dcb *pDCB, *pdcb; - struct dc390_srb *psrb, *psrb2; - u32 cnt, i; + struct dc390_acb* pACB = (struct dc390_acb*) cmd->device->host->hostdata; + u8 bval; - pDCB = pACB->pLinkDCB; - if( !pDCB ) return; - pdcb = pDCB; - do - { - cnt = pdcb->GoingSRBCnt; - psrb = pdcb->pGoingSRB; - for (i=0; ipNextSRB; -/* dc390_RewaitSRB( pDCB, psrb ); */ - if( pdcb->pWaitingSRB ) - { - psrb2->pNextSRB = pdcb->pWaitingSRB; - pdcb->pWaitingSRB = psrb2; - } - else - { - pdcb->pWaitingSRB = psrb2; - pdcb->pWaitLast = psrb2; - psrb2->pNextSRB = NULL; - } - } - pdcb->GoingSRBCnt = 0; - pdcb->pGoingSRB = NULL; - pdcb->TagMask = 0; - pdcb = pdcb->pNextDCB; - } while( pdcb != pDCB ); -} -#endif - -/*********************************************************************** - * Function : int DC390_reset (struct scsi_cmnd *cmd, ...) - * - * Purpose : perform a hard reset on the SCSI bus - * - * Inputs : cmd - command which caused the SCSI RESET - * resetFlags - how hard to try - * - * Returns : 0 on success. - ***********************************************************************/ - -static int DC390_reset (struct scsi_cmnd *cmd) -{ - u8 bval; - struct dc390_acb* pACB = (struct dc390_acb*) cmd->device->host->hostdata; + del_timer (&pACB->Waiting_Timer); - printk(KERN_INFO "DC390: RESET ... "); - - if (timer_pending (&pACB->Waiting_Timer)) del_timer (&pACB->Waiting_Timer); - bval = DC390_read8 (CtrlReg1); - bval |= DIS_INT_ON_SCSI_RST; - DC390_write8 (CtrlReg1, bval); /* disable IRQ on bus reset */ + bval = DC390_read8(CtrlReg1) | DIS_INT_ON_SCSI_RST; + DC390_write8(CtrlReg1, bval); /* disable IRQ on bus reset */ - pACB->ACBFlag |= RESET_DEV; - dc390_ResetSCSIBus( pACB ); + pACB->ACBFlag |= RESET_DEV; + dc390_ResetSCSIBus(pACB); - dc390_ResetDevParam( pACB ); - udelay (1000); - pACB->pScsiHost->last_reset = jiffies + 3*HZ/2 + dc390_ResetDevParam(pACB); + udelay(1000); + pACB->pScsiHost->last_reset = jiffies + 3*HZ/2 + HZ * dc390_eepromBuf[pACB->AdapterIndex][EE_DELAY]; - DC390_write8 (ScsiCmd, CLEAR_FIFO_CMD); - DC390_read8 (INT_Status); /* Reset Pending INT */ + DC390_write8(ScsiCmd, CLEAR_FIFO_CMD); + DC390_read8(INT_Status); /* Reset Pending INT */ - dc390_DoingSRB_Done( pACB, cmd ); - /* dc390_RecoverSRB (pACB); */ - pACB->pActiveDCB = NULL; + dc390_DoingSRB_Done(pACB, cmd); - pACB->ACBFlag = 0; - bval = DC390_read8 (CtrlReg1); - bval &= ~DIS_INT_ON_SCSI_RST; - DC390_write8 (CtrlReg1, bval); /* re-enable interrupt */ + pACB->pActiveDCB = NULL; + pACB->ACBFlag = 0; + + bval = DC390_read8(CtrlReg1) & ~DIS_INT_ON_SCSI_RST; + DC390_write8(CtrlReg1, bval); /* re-enable interrupt */ - dc390_Waiting_process( pACB ); + dc390_Waiting_process(pACB); - printk("done\n"); - return( SCSI_RESET_SUCCESS ); + return SUCCESS; } #include "scsiiom.c" @@ -1548,7 +1227,6 @@ static void dc390_linkSRB( struct dc390_acb* pACB ) static void __devinit dc390_initACB (struct Scsi_Host *psh, unsigned long io_port, u8 Irq, u8 index) { struct dc390_acb* pACB; - u8 i; psh->can_queue = MAX_CMD_QUEUE; psh->cmd_per_lun = MAX_CMD_PER_LUN; @@ -1595,8 +1273,6 @@ static void __devinit dc390_initACB (struct Scsi_Host *psh, unsigned long io_por dc390_linkSRB( pACB ); pACB->pTmpSRB = &pACB->TmpSRB; dc390_initSRB( pACB->pTmpSRB ); - for(i=0; iDCBmap[i] = 0; pACB->sel_timeout = SEL_TIMEOUT; pACB->glitch_cfg = EATER_25NS; pACB->Cmds = pACB->CmdInQ = pACB->CmdOutOfSRB = 0; @@ -1706,7 +1382,7 @@ static void __devinit dc390_set_pci_cfg (struct pci_dev *pdev) static int dc390_slave_alloc(struct scsi_device *scsi_device) { struct dc390_acb *pACB = (struct dc390_acb*) scsi_device->host->hostdata; - struct dc390_dcb *pDCB, *pDCB2 = 0; + struct dc390_dcb *pDCB, *pDCB2 = NULL; uint id = scsi_device->id; uint lun = scsi_device->lun; @@ -1757,7 +1433,6 @@ static int dc390_slave_alloc(struct scsi_device *scsi_device) pDCB->CtrlR4 |= NEGATE_REQACKDATA | NEGATE_REQACK; } - pACB->DCBmap[id] |= (1 << lun); dc390_updateDCB(pACB, pDCB); pACB->scan_devices = 1; @@ -1781,8 +1456,6 @@ static void dc390_slave_destroy(struct scsi_device *scsi_device) BUG_ON(pDCB->GoingSRBCnt > 1); - pACB->DCBmap[pDCB->TargetID] &= ~(1 << pDCB->TargetLUN); - if (pDCB == pACB->pLinkDCB) { if (pACB->pLastDCB == pDCB) { pDCB->pNextDCB = NULL; @@ -1818,15 +1491,13 @@ static int dc390_slave_configure(struct scsi_device *scsi_device) static struct scsi_host_template driver_template = { .module = THIS_MODULE, .proc_name = "tmscsim", - .proc_info = DC390_proc_info, .name = DC390_BANNER " V" DC390_VERSION, .slave_alloc = dc390_slave_alloc, .slave_configure = dc390_slave_configure, .slave_destroy = dc390_slave_destroy, .queuecommand = DC390_queue_command, .eh_abort_handler = DC390_abort, - .eh_bus_reset_handler = DC390_reset, - .bios_param = DC390_bios_param, + .eh_bus_reset_handler = DC390_bus_reset, .can_queue = 42, .this_id = 7, .sg_tablesize = SG_ALL, @@ -1939,152 +1610,6 @@ static void __devexit dc390_remove_one(struct pci_dev *dev) pci_set_drvdata(dev, NULL); } -/******************************************************************** - * Function: DC390_proc_info(char* buffer, char **start, - * off_t offset, int length, int hostno, int inout) - * - * Purpose: return SCSI Adapter/Device Info - * - * Input: buffer: Pointer to a buffer where to write info - * start : - * offset: - * hostno: Host adapter index - * inout : Read (=0) or set(!=0) info - * - * Output: buffer: contains info - * length; length of info in buffer - * - * return value: length - * - ********************************************************************/ - -#undef SPRINTF -#define SPRINTF(args...) pos += sprintf(pos, ## args) - -#define YESNO(YN) \ - if (YN) SPRINTF(" Yes "); \ - else SPRINTF(" No ") - - -static int DC390_proc_info (struct Scsi_Host *shpnt, char *buffer, char **start, - off_t offset, int length, int inout) -{ - int dev, spd, spd1; - char *pos = buffer; - struct dc390_acb* pACB; - struct dc390_dcb* pDCB; - - pACB = dc390_pACB_start; - - while(pACB != (struct dc390_acb*)-1) - { - if (shpnt == pACB->pScsiHost) - break; - pACB = pACB->pNextACB; - } - - if (pACB == (struct dc390_acb*)-1) return(-ESRCH); - - if(inout) /* Has data been written to the file ? */ - return -ENOSYS; - - SPRINTF("Tekram DC390/AM53C974 PCI SCSI Host Adapter, "); - SPRINTF("Driver Version %s\n", DC390_VERSION); - - SPRINTF("SCSI Host Nr %i, ", shpnt->host_no); - SPRINTF("%s Adapter Nr %i\n", dc390_adapname, pACB->AdapterIndex); - SPRINTF("IOPortBase 0x%04x, ", pACB->IOPortBase); - SPRINTF("IRQ %02i\n", pACB->IRQLevel); - - SPRINTF("MaxID %i, MaxLUN %i, ", shpnt->max_id, shpnt->max_lun); - SPRINTF("AdapterID %i, SelTimeout %i ms, DelayReset %i s\n", - shpnt->this_id, (pACB->sel_timeout*164)/100, - dc390_eepromBuf[pACB->AdapterIndex][EE_DELAY]); - - SPRINTF("TagMaxNum %i, Status 0x%02x, ACBFlag 0x%02x, GlitchEater %i ns\n", - pACB->TagMaxNum, pACB->status, pACB->ACBFlag, GLITCH_TO_NS(pACB->glitch_cfg)*12); - - SPRINTF("Statistics: Cmnds %li, Cmnds not sent directly %i, Out of SRB conds %i\n", - pACB->Cmds, pACB->CmdInQ, pACB->CmdOutOfSRB); - SPRINTF(" Lost arbitrations %i, Sel. connected %i, Connected: %s\n", - pACB->SelLost, pACB->SelConn, pACB->Connected? "Yes": "No"); - - SPRINTF("Nr of DCBs: %i\n", pACB->DCBCnt); - SPRINTF("Map of attached LUNs: %02x %02x %02x %02x %02x %02x %02x %02x\n", - pACB->DCBmap[0], pACB->DCBmap[1], pACB->DCBmap[2], pACB->DCBmap[3], - pACB->DCBmap[4], pACB->DCBmap[5], pACB->DCBmap[6], pACB->DCBmap[7]); - - SPRINTF("Idx ID LUN Prty Sync DsCn SndS TagQ NegoPeriod SyncSpeed SyncOffs MaxCmd\n"); - - pDCB = pACB->pLinkDCB; - for (dev = 0; dev < pACB->DCBCnt; dev++) - { - SPRINTF("%02i %02i %02i ", dev, pDCB->TargetID, pDCB->TargetLUN); - YESNO(pDCB->DevMode & PARITY_CHK_); - YESNO(pDCB->SyncMode & SYNC_NEGO_DONE); - YESNO(pDCB->DevMode & EN_DISCONNECT_); - YESNO(pDCB->DevMode & SEND_START_); - YESNO(pDCB->SyncMode & EN_TAG_QUEUEING); - if (pDCB->SyncOffset & 0x0f) - { - int sp = pDCB->SyncPeriod; if (! (pDCB->CtrlR3 & FAST_SCSI)) sp++; - SPRINTF(" %03i ns ", (pDCB->NegoPeriod) << 2); - spd = 40/(sp); spd1 = 40%(sp); - spd1 = (spd1 * 10 + sp/2) / (sp); - SPRINTF(" %2i.%1i M %02i", spd, spd1, (pDCB->SyncOffset & 0x0f)); - } - else SPRINTF(" (%03i ns) ", (pDCB->NegoPeriod) << 2); - /* Add more info ...*/ - SPRINTF (" %02i\n", pDCB->MaxCommand); - pDCB = pDCB->pNextDCB; - } - if (timer_pending(&pACB->Waiting_Timer)) SPRINTF ("Waiting queue timer running\n"); - else SPRINTF ("\n"); - pDCB = pACB->pLinkDCB; - - for (dev = 0; dev < pACB->DCBCnt; dev++) - { - struct dc390_srb* pSRB; - if (pDCB->WaitSRBCnt) - SPRINTF ("DCB (%02i-%i): Waiting: %i:", pDCB->TargetID, pDCB->TargetLUN, - pDCB->WaitSRBCnt); - for (pSRB = pDCB->pWaitingSRB; pSRB; pSRB = pSRB->pNextSRB) - SPRINTF(" %li", pSRB->pcmd->pid); - if (pDCB->GoingSRBCnt) - SPRINTF ("\nDCB (%02i-%i): Going : %i:", pDCB->TargetID, pDCB->TargetLUN, - pDCB->GoingSRBCnt); - for (pSRB = pDCB->pGoingSRB; pSRB; pSRB = pSRB->pNextSRB) -#if 0 //def DC390_DEBUGTRACE - SPRINTF(" %s\n ", pSRB->debugtrace); -#else - SPRINTF(" %li", pSRB->pcmd->pid); -#endif - if (pDCB->WaitSRBCnt || pDCB->GoingSRBCnt) SPRINTF ("\n"); - pDCB = pDCB->pNextDCB; - } - -#ifdef DC390_DEBUGDCB - SPRINTF ("DCB list for ACB %p:\n", pACB); - pDCB = pACB->pLinkDCB; - SPRINTF ("%p", pDCB); - for (dev = 0; dev < pACB->DCBCnt; dev++, pDCB=pDCB->pNextDCB) - SPRINTF ("->%p", pDCB->pNextDCB); - SPRINTF("\n"); -#endif - - *start = buffer + offset; - - if (pos - buffer < offset) - return 0; - else if (pos - buffer - offset < length) - return pos - buffer - offset; - else - return length; -} - -#undef YESNO -#undef SPRINTF - static struct pci_driver dc390_driver = { .name = "tmscsim", .id_table = tmscsim_pci_tbl, diff --git a/drivers/scsi/tmscsim.h b/drivers/scsi/tmscsim.h index 62e9f8791..5cc90e951 100644 --- a/drivers/scsi/tmscsim.h +++ b/drivers/scsi/tmscsim.h @@ -163,7 +163,6 @@ struct dc390_srb *pFreeSRB; struct dc390_srb *pTmpSRB; u8 msgin123[4]; -u8 DCBmap[MAX_SCSI_ID]; u8 Connected; u8 pad; diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c index 193e40c18..553a5f1e2 100644 --- a/drivers/scsi/wd7000.c +++ b/drivers/scsi/wd7000.c @@ -190,7 +190,6 @@ #include -#define ANY2SCSI_INLINE /* undef this to use old macros */ #undef WD7000_DEBUG /* general debug */ #ifdef WD7000_DEBUG #define dprintk printk @@ -726,55 +725,17 @@ static int __init wd7000_setup(char *str) __setup("wd7000=", wd7000_setup); -#ifdef ANY2SCSI_INLINE -/* - * Since they're used a lot, I've redone the following from the macros - * formerly in wd7000.h, hopefully to speed them up by getting rid of - * all the shifting (it may not matter; GCC might have done as well anyway). - * - * xany2scsi and xscsi2int were not being used, and are no longer defined. - * (They were simply 4-byte versions of these routines). - */ -typedef union { /* let's cheat... */ - int i; - unchar u[sizeof(int)]; /* the sizeof(int) makes it more portable */ -} i_u; - - static inline void any2scsi(unchar * scsi, int any) { - *scsi++ = ((i_u) any).u[2]; - *scsi++ = ((i_u) any).u[1]; - *scsi++ = ((i_u) any).u[0]; + *scsi++ = (unsigned)any >> 16; + *scsi++ = (unsigned)any >> 8; + *scsi++ = any; } - static inline int scsi2int(unchar * scsi) { - i_u result; - - result.i = 0; /* clears unused bytes */ - result.u[2] = *scsi++; - result.u[1] = *scsi++; - result.u[0] = *scsi++; - - return (result.i); + return (scsi[0] << 16) | (scsi[1] << 8) | scsi[2]; } -#else -/* - * These are the old ones - I've just moved them here... - */ -#undef any2scsi -#define any2scsi(up, p) (up)[0] = (((unsigned long) (p)) >> 16); \ - (up)[1] = ((unsigned long) (p)) >> 8; \ - (up)[2] = ((unsigned long) (p)); - -#undef scsi2int -#define scsi2int(up) ( (((unsigned long) *(up)) << 16) + \ - (((unsigned long) (up)[1]) << 8) + \ - ((unsigned long) (up)[2]) ) -#endif - static inline void wd7000_enable_intr(Adapter * host) { diff --git a/drivers/serial/68360serial.c b/drivers/serial/68360serial.c index 64e296ad3..cd2d62cd1 100644 --- a/drivers/serial/68360serial.c +++ b/drivers/serial/68360serial.c @@ -700,12 +700,8 @@ static void do_softint(void *private_) if (!tty) return; - if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - wake_up_interruptible(&tty->write_wait); - } + if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) + tty_wakeup(tty); } @@ -1152,10 +1148,7 @@ static void rs_360_flush_buffer(struct tty_struct *tty) /* There is nothing to "flush", whatever we gave the CPM * is on its way out. */ - wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); info->flags &= ~TX_WAKEUP; } @@ -1716,8 +1709,7 @@ static void rs_360_close(struct tty_struct *tty, struct file * filp) shutdown(info); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); tty->closing = 0; info->event = 0; info->tty = 0; @@ -2592,7 +2584,7 @@ int rs_360_init(void) state->icount.rx = state->icount.tx = 0; state->icount.frame = state->icount.parity = 0; state->icount.overrun = state->icount.brk = 0; - printk(KERN_INFO "ttyS%02d at irq 0x%02x is an %s\n", + printk(KERN_INFO "ttyS%d at irq 0x%02x is an %s\n", i, (unsigned int)(state->irq), (state->smc_scc_num & NUM_IS_SCC) ? "SCC" : "SMC"); diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 4906b5751..2ade801d0 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c @@ -130,6 +130,7 @@ struct uart_8250_port { struct timer_list timer; /* "no irq" timer */ struct list_head list; /* ports on this IRQ */ unsigned int capabilities; /* port capabilities */ + unsigned int tx_loadsz; /* transmit fifo load size */ unsigned short rev; unsigned char acr; unsigned char ier; @@ -156,23 +157,23 @@ static struct irq_info irq_lists[NR_IRQS]; /* * Here we define the default xmit fifo size used for each type of UART. */ -static const struct serial_uart_config uart_config[PORT_MAX_8250+1] = { - { "unknown", 1, 0 }, - { "8250", 1, 0 }, - { "16450", 1, 0 }, - { "16550", 1, 0 }, - { "16550A", 16, UART_CLEAR_FIFO | UART_USE_FIFO }, - { "Cirrus", 1, 0 }, - { "ST16650", 1, UART_CLEAR_FIFO | UART_STARTECH }, - { "ST16650V2", 32, UART_CLEAR_FIFO | UART_USE_FIFO | UART_STARTECH }, - { "TI16750", 64, UART_CLEAR_FIFO | UART_USE_FIFO }, - { "Startech", 1, 0 }, - { "16C950/954", 128, UART_CLEAR_FIFO | UART_USE_FIFO }, - { "ST16654", 64, UART_CLEAR_FIFO | UART_USE_FIFO | UART_STARTECH }, - { "XR16850", 128, UART_CLEAR_FIFO | UART_USE_FIFO | UART_STARTECH }, - { "RSA", 2048, UART_CLEAR_FIFO | UART_USE_FIFO }, - { "NS16550A", 16, UART_CLEAR_FIFO | UART_USE_FIFO | UART_NATSEMI }, - { "XScale", 32, UART_CLEAR_FIFO | UART_USE_FIFO }, +static const struct serial8250_config uart_config[PORT_MAX_8250+1] = { + { "unknown", 1, 1, 0 }, + { "8250", 1, 1, 0 }, + { "16450", 1, 1, 0 }, + { "16550", 1, 1, 0 }, + { "16550A", 16, 16, UART_CAP_FIFO }, + { "Cirrus", 1, 1, 0 }, + { "ST16650", 1, 1, UART_CAP_FIFO | UART_CAP_SLEEP | UART_CAP_EFR }, + { "ST16650V2", 32, 16, UART_CAP_FIFO | UART_CAP_SLEEP | UART_CAP_EFR }, + { "TI16750", 64, 64, UART_CAP_FIFO | UART_CAP_SLEEP }, + { "Startech", 1, 1, 0 }, + { "16C950/954", 128, 128, UART_CAP_FIFO }, + { "ST16654", 64, 32, UART_CAP_FIFO | UART_CAP_SLEEP | UART_CAP_EFR }, + { "XR16850", 128, 128, UART_CAP_FIFO | UART_CAP_SLEEP | UART_CAP_EFR }, + { "RSA", 2048, 2048, UART_CAP_FIFO }, + { "NS16550A", 16, 16, UART_CAP_FIFO | UART_NATSEMI }, + { "XScale", 32, 32, UART_CAP_FIFO }, }; static _INLINE_ unsigned int serial_in(struct uart_8250_port *up, int offset) @@ -187,6 +188,9 @@ static _INLINE_ unsigned int serial_in(struct uart_8250_port *up, int offset) case UPIO_MEM: return readb(up->port.membase + offset); + case UPIO_MEM32: + return readl(up->port.membase + offset); + default: return inb(up->port.iobase + offset); } @@ -207,6 +211,10 @@ serial_out(struct uart_8250_port *up, int offset, int value) writeb(value, up->port.membase + offset); break; + case UPIO_MEM32: + writel(value, up->port.membase + offset); + break; + default: outb(value, up->port.iobase + offset); } @@ -243,6 +251,41 @@ static unsigned int serial_icr_read(struct uart_8250_port *up, int offset) return value; } +/* + * FIFO support. + */ +static inline void serial8250_clear_fifos(struct uart_8250_port *p) +{ + if (p->capabilities & UART_CAP_FIFO) { + serial_outp(p, UART_FCR, UART_FCR_ENABLE_FIFO); + serial_outp(p, UART_FCR, UART_FCR_ENABLE_FIFO | + UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); + serial_outp(p, UART_FCR, 0); + } +} + +/* + * IER sleep support. UARTs which have EFRs need the "extended + * capability" bit enabled. Note that on XR16C850s, we need to + * reset LCR to write to IER. + */ +static inline void serial8250_set_sleep(struct uart_8250_port *p, int sleep) +{ + if (p->capabilities & UART_CAP_SLEEP) { + if (p->capabilities & UART_CAP_EFR) { + serial_outp(p, UART_LCR, 0xBF); + serial_outp(p, UART_EFR, UART_EFR_ECB); + serial_outp(p, UART_LCR, 0); + } + serial_outp(p, UART_IER, sleep ? UART_IERX_SLEEP : 0); + if (p->capabilities & UART_CAP_EFR) { + serial_outp(p, UART_LCR, 0xBF); + serial_outp(p, UART_EFR, 0); + serial_outp(p, UART_LCR, 0); + } + } +} + #ifdef CONFIG_SERIAL_8250_RSA /* * Attempts to turn on the RSA FIFO. Returns zero on failure. @@ -697,8 +740,9 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags) #endif serial_outp(up, UART_LCR, save_lcr); - up->port.fifosize = uart_config[up->port.type].dfl_xmit_fifo_size; + up->port.fifosize = uart_config[up->port.type].fifo_size; up->capabilities = uart_config[up->port.type].flags; + up->tx_loadsz = uart_config[up->port.type].tx_loadsz; if (up->port.type == PORT_UNKNOWN) goto out; @@ -711,10 +755,7 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags) serial_outp(up, UART_RSA_FRR, 0); #endif serial_outp(up, UART_MCR, save_mcr); - serial_outp(up, UART_FCR, (UART_FCR_ENABLE_FIFO | - UART_FCR_CLEAR_RCVR | - UART_FCR_CLEAR_XMIT)); - serial_outp(up, UART_FCR, 0); + serial8250_clear_fifos(up); (void)serial_in(up, UART_RX); serial_outp(up, UART_IER, 0); @@ -923,7 +964,7 @@ static _INLINE_ void transmit_chars(struct uart_8250_port *up) return; } - count = up->port.fifosize; + count = up->tx_loadsz; do { serial_out(up, UART_TX, xmit->buf[xmit->tail]); xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); @@ -1227,12 +1268,7 @@ static int serial8250_startup(struct uart_port *port) * Clear the FIFO buffers and disable them. * (they will be reeanbled in set_termios()) */ - if (up->capabilities & UART_CLEAR_FIFO) { - serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO); - serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO | - UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); - serial_outp(up, UART_FCR, 0); - } + serial8250_clear_fifos(up); /* * Clear the interrupt registers. @@ -1253,6 +1289,23 @@ static int serial8250_startup(struct uart_port *port) return -ENODEV; } + /* + * For a XR16C850, we need to set the trigger levels + */ + if (up->port.type == PORT_16850) { + unsigned char fctr; + + serial_outp(up, UART_LCR, 0xbf); + + fctr = serial_inp(up, UART_FCTR) & ~(UART_FCTR_RX|UART_FCTR_TX); + serial_outp(up, UART_FCTR, fctr | UART_FCTR_TRGD | UART_FCTR_RX); + serial_outp(up, UART_TRG, UART_TRG_96); + serial_outp(up, UART_FCTR, fctr | UART_FCTR_TRGD | UART_FCTR_TX); + serial_outp(up, UART_TRG, UART_TRG_96); + + serial_outp(up, UART_LCR, 0); + } + /* * If the "interrupt" for this port doesn't correspond with any * hardware interrupt, we use a timer-based system. The original @@ -1345,10 +1398,7 @@ static void serial8250_shutdown(struct uart_port *port) * Disable break condition and FIFOs */ serial_out(up, UART_LCR, serial_inp(up, UART_LCR) & ~UART_LCR_SBC); - serial_outp(up, UART_FCR, UART_FCR_ENABLE_FIFO | - UART_FCR_CLEAR_RCVR | - UART_FCR_CLEAR_XMIT); - serial_outp(up, UART_FCR, 0); + serial8250_clear_fifos(up); #ifdef CONFIG_SERIAL_8250_RSA /* @@ -1440,7 +1490,7 @@ serial8250_set_termios(struct uart_port *port, struct termios *termios, up->rev == 0x5201) quot ++; - if (up->capabilities & UART_USE_FIFO) { + if (up->capabilities & UART_CAP_FIFO && up->port.fifosize > 1) { if (baud < 2400) fcr = UART_FCR_ENABLE_FIFO | UART_FCR_TRIGGER_1; #ifdef CONFIG_SERIAL_8250_RSA @@ -1514,7 +1564,7 @@ serial8250_set_termios(struct uart_port *port, struct termios *termios, serial_out(up, UART_IER, up->ier); - if (up->capabilities & UART_STARTECH) { + if (up->capabilities & UART_CAP_EFR) { serial_outp(up, UART_LCR, 0xBF); serial_outp(up, UART_EFR, termios->c_cflag & CRTSCTS ? UART_EFR_CTS :0); @@ -1554,71 +1604,12 @@ static void serial8250_pm(struct uart_port *port, unsigned int state, unsigned int oldstate) { - struct uart_8250_port *up = (struct uart_8250_port *)port; - if (state) { - /* sleep */ - if (up->capabilities & UART_STARTECH) { - /* Arrange to enter sleep mode */ - serial_outp(up, UART_LCR, 0xBF); - serial_outp(up, UART_EFR, UART_EFR_ECB); - serial_outp(up, UART_LCR, 0); - serial_outp(up, UART_IER, UART_IERX_SLEEP); - serial_outp(up, UART_LCR, 0xBF); - serial_outp(up, UART_EFR, 0); - serial_outp(up, UART_LCR, 0); - } - if (up->port.type == PORT_16750) { - /* Arrange to enter sleep mode */ - serial_outp(up, UART_IER, UART_IERX_SLEEP); - } + struct uart_8250_port *p = (struct uart_8250_port *)port; - if (up->pm) - up->pm(port, state, oldstate); - } else { - /* wake */ - if (up->capabilities & UART_STARTECH) { - /* Wake up UART */ - serial_outp(up, UART_LCR, 0xBF); - serial_outp(up, UART_EFR, UART_EFR_ECB); - /* - * Turn off LCR == 0xBF so we actually set the IER - * register on the XR16C850 - */ - serial_outp(up, UART_LCR, 0); - serial_outp(up, UART_IER, 0); - /* - * Now reset LCR so we can turn off the ECB bit - */ - serial_outp(up, UART_LCR, 0xBF); - serial_outp(up, UART_EFR, 0); - /* - * For a XR16C850, we need to set the trigger levels - */ - if (up->port.type == PORT_16850) { - unsigned char fctr; - - fctr = serial_inp(up, UART_FCTR) & - ~(UART_FCTR_RX | UART_FCTR_TX); - serial_outp(up, UART_FCTR, fctr | - UART_FCTR_TRGD | - UART_FCTR_RX); - serial_outp(up, UART_TRG, UART_TRG_96); - serial_outp(up, UART_FCTR, fctr | - UART_FCTR_TRGD | - UART_FCTR_TX); - serial_outp(up, UART_TRG, UART_TRG_96); - } - serial_outp(up, UART_LCR, 0); - } + serial8250_set_sleep(p, state != 0); - if (up->port.type == PORT_16750) { - /* Wake up UART */ - serial_outp(up, UART_IER, 0); - } - - if (up->pm) - up->pm(port, state, oldstate); - } + if (p->pm) + p->pm(port, state, oldstate); } /* diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 34b367778..55c8aa908 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c @@ -83,7 +83,7 @@ struct pci_serial_quirk { struct serial_private { unsigned int nr; - void *remapped_bar[PCI_NUM_BAR_RESOURCES]; + void __iomem *remapped_bar[PCI_NUM_BAR_RESOURCES]; struct pci_serial_quirk *quirk; int line[0]; }; @@ -243,7 +243,8 @@ static int __devinit pci_inteli960ni_init(struct pci_dev *dev) */ static int __devinit pci_plx9050_init(struct pci_dev *dev) { - u8 *p, irq_config; + u8 irq_config; + void __iomem *p; if ((pci_resource_flags(dev, 0) & IORESOURCE_MEM) == 0) { moan_device("no memory in bar 0", dev); @@ -272,12 +273,12 @@ static int __devinit pci_plx9050_init(struct pci_dev *dev) p = ioremap(pci_resource_start(dev, 0), 0x80); if (p == NULL) return -ENOMEM; - writel(irq_config, (unsigned long)p + 0x4c); + writel(irq_config, p + 0x4c); /* * Read the register back to ensure that it took effect. */ - readl((unsigned long)p + 0x4c); + readl(p + 0x4c); iounmap(p); return 0; @@ -397,7 +398,8 @@ static void __devexit sbs_exit(struct pci_dev *dev) static int pci_siig10x_init(struct pci_dev *dev) { - u16 data, *p; + u16 data; + void __iomem *p; switch (dev->device & 0xfff8) { case PCI_DEVICE_ID_SIIG_1S_10x: /* 1S */ @@ -415,8 +417,8 @@ static int pci_siig10x_init(struct pci_dev *dev) if (p == NULL) return -ENOMEM; - writew(readw((unsigned long) p + 0x28) & data, (unsigned long) p + 0x28); - readw((unsigned long)p + 0x28); + writew(readw(p + 0x28) & data, p + 0x28); + readw(p + 0x28); iounmap(p); return 0; } @@ -1068,6 +1070,9 @@ enum pci_board_num_t { pbn_computone_6, pbn_computone_8, pbn_sbsxrsio, + pbn_exar_XR17C152, + pbn_exar_XR17C154, + pbn_exar_XR17C158, }; /* @@ -1488,7 +1493,30 @@ static struct pci_board pci_boards[] __devinitdata = { .base_baud = 460800, .uart_offset = 256, .reg_shift = 4, - } + }, + /* + * Exar Corp. XR17C15[248] Dual/Quad/Octal UART + * Only basic 16550A support. + * XR17C15[24] are not tested, but they should work. + */ + [pbn_exar_XR17C152] = { + .flags = FL_BASE0, + .num_ports = 2, + .base_baud = 921600, + .uart_offset = 0x200, + }, + [pbn_exar_XR17C154] = { + .flags = FL_BASE0, + .num_ports = 4, + .base_baud = 921600, + .uart_offset = 0x200, + }, + [pbn_exar_XR17C158] = { + .flags = FL_BASE0, + .num_ports = 8, + .base_baud = 921600, + .uart_offset = 0x200, + }, }; /* @@ -2147,6 +2175,22 @@ static struct pci_device_id serial_pci_tbl[] = { PCI_ANY_ID, PCI_ANY_ID, 0, 0, pbn_b3_8_115200 }, + /* + * Exar Corp. XR17C15[248] Dual/Quad/Octal UART + */ + { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17C152, + PCI_ANY_ID, PCI_ANY_ID, + 0, + 0, pbn_exar_XR17C152 }, + { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17C154, + PCI_ANY_ID, PCI_ANY_ID, + 0, + 0, pbn_exar_XR17C154 }, + { PCI_VENDOR_ID_EXAR, PCI_DEVICE_ID_EXAR_XR17C158, + PCI_ANY_ID, PCI_ANY_ID, + 0, + 0, pbn_exar_XR17C158 }, + /* * These entries match devices with class COMMUNICATION_SERIAL, * COMMUNICATION_MODEM or COMMUNICATION_MULTISERIAL diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index 74a0b9cad..6f8984a54 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig @@ -450,7 +450,7 @@ config SERIAL_MUX_CONSOLE config PDC_CONSOLE bool "PDC software console support" - depends on PARISC && !SERIAL_MUX + depends on PARISC && !SERIAL_MUX && VT default n help Saying Y here will enable the software based PDC console to be @@ -682,6 +682,7 @@ config SERIAL_SGI_L1_CONSOLE bool "SGI Altix L1 serial console support" depends on IA64_GENERIC || IA64_SGI_SN2 select SERIAL_CORE + select SERIAL_CORE_CONSOLE help If you have an SGI Altix and you would like to use the system controller serial port as your console (you want this!), @@ -714,4 +715,16 @@ config SERIAL_MPC52xx_CONSOLE_BAUD This value is only used if the bootloader doesn't pass in the console baudrate +config SERIAL_ICOM + tristate "IBM Multiport Serial Adapter" + depends on PPC_ISERIES || PPC_PSERIES + select SERIAL_CORE + help + This driver is for a family of multiport serial adapters + including 2 port RVX, 2 port internal modem, 4 port internal + modem and a split 1 port RVX and 1 port internal modem. + + This driver can also be built as a module. If so, the module + will be called icom. + endmenu diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index dbe2e5f76..a686a6115 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile @@ -41,3 +41,4 @@ obj-$(CONFIG_SERIAL_BAST_SIO) += bast_sio.o obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o obj-$(CONFIG_SERIAL_CPM) += cpm_uart/ obj-$(CONFIG_SERIAL_MPC52xx) += mpc52xx_uart.o +obj-$(CONFIG_SERIAL_ICOM) += icom.o diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index c91f6b149..69bd7f5ce 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c @@ -696,7 +696,6 @@ static int __init pl011_console_setup(struct console *co, char *options) int bits = 8; int parity = 'n'; int flow = 'n'; - int ret; /* * Check whether an invalid uart number has been specified, and diff --git a/drivers/serial/bast_sio.c b/drivers/serial/bast_sio.c index 698514d16..2b48fab6f 100644 --- a/drivers/serial/bast_sio.c +++ b/drivers/serial/bast_sio.c @@ -1,3 +1,19 @@ +/* linux/drivers/serial/bast_sio.c + * + * Copyright (c) 2004 Simtec Electronics + * Ben Dooks + * + * http://www.simtec.co.uk/products/EB2410ITX/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Modifications: + * 23-Sep-2004 BJD Added copyright header + * 23-Sep-2004 BJD Added serial port remove code +*/ + #include #include #include @@ -20,10 +36,6 @@ static int __init serial_bast_register(unsigned long port, unsigned int irq) { struct serial_struct serial_req; -#if 0 - printk("BAST: SuperIO serial (%08lx,%d)\n", port, irq); -#endif - serial_req.flags = UPF_AUTOPROBE | UPF_SHARE_IRQ; serial_req.baud_base = BASE_BAUD; serial_req.irq = irq; @@ -37,11 +49,13 @@ static int __init serial_bast_register(unsigned long port, unsigned int irq) #define SERIAL_BASE (S3C2410_CS2 + BAST_PA_SUPERIO) +static int port[2] = { -1, -1 }; + static int __init serial_bast_init(void) { if (machine_is_bast()) { - serial_bast_register(SERIAL_BASE + 0x2f8, IRQ_PCSERIAL1); - serial_bast_register(SERIAL_BASE + 0x3f8, IRQ_PCSERIAL2); + port[0] = serial_bast_register(SERIAL_BASE + 0x2f8, IRQ_PCSERIAL1); + port[1] = serial_bast_register(SERIAL_BASE + 0x3f8, IRQ_PCSERIAL2); } return 0; @@ -49,7 +63,10 @@ static int __init serial_bast_init(void) static void __exit serial_bast_exit(void) { - /* todo -> remove both our ports */ + if (port[0] != -1) + unregister_serial(port[0]); + if (port[1] != -1) + unregister_serial(port[1]); } diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c index cb6b4f3ec..3a7ab51d2 100644 --- a/drivers/serial/pxa.c +++ b/drivers/serial/pxa.c @@ -40,6 +40,7 @@ #include #include #include +#include #if defined(CONFIG_SERIAL_PXA_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ) #define SUPPORT_SYSRQ diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index 24ef1cbf5..1ac6c9d81 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c @@ -107,15 +107,7 @@ static void uart_start(struct tty_struct *tty) static void uart_tasklet_action(unsigned long data) { struct uart_state *state = (struct uart_state *)data; - struct tty_struct *tty; - - tty = state->info->tty; - if (tty) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - tty->ldisc.write_wakeup(tty); - wake_up_interruptible(&tty->write_wait); - } + tty_wakeup(state->info->tty); } static inline void @@ -403,7 +395,7 @@ uart_get_divisor(struct uart_port *port, unsigned int baud) if (baud == 38400 && (port->flags & UPF_SPD_MASK) == UPF_SPD_CUST) quot = port->custom_divisor; else - quot = port->uartclk / (16 * baud); + quot = (port->uartclk + (8 * baud)) / (16 * baud); return quot; } @@ -581,10 +573,7 @@ static void uart_flush_buffer(struct tty_struct *tty) spin_lock_irqsave(&port->lock, flags); uart_circ_clear(&state->info->xmit); spin_unlock_irqrestore(&port->lock, flags); - wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); } /* @@ -1216,7 +1205,7 @@ static void uart_close(struct tty_struct *tty, struct file *filp) { struct uart_state *state = tty->driver_data; struct uart_port *port; - + BUG_ON(!kernel_locked()); if (!state || !state->port) @@ -1239,12 +1228,12 @@ static void uart_close(struct tty_struct *tty, struct file *filp) * one, we've got real problems, since it means the * serial port won't be shutdown. */ - printk("uart_close: bad serial port count; tty->count is 1, " + printk(KERN_ERR "uart_close: bad serial port count; tty->count is 1, " "state->count is %d\n", state->count); state->count = 1; } if (--state->count < 0) { - printk("rs_close: bad serial port count for %s: %d\n", + printk(KERN_ERR "uart_close: bad serial port count for %s: %d\n", tty->name, state->count); state->count = 0; } @@ -1280,8 +1269,9 @@ static void uart_close(struct tty_struct *tty, struct file *filp) uart_shutdown(state); uart_flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + + tty_ldisc_flush(tty); + tty->closing = 0; state->info->tty = NULL; @@ -1978,6 +1968,7 @@ uart_report_port(struct uart_driver *drv, struct uart_port *port) printk("I/O 0x%x offset 0x%x", port->iobase, port->hub6); break; case UPIO_MEM: + case UPIO_MEM32: printk("MMIO 0x%lx", port->mapbase); break; } diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index 494df5557..4c38513b2 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c @@ -768,25 +768,6 @@ static void sunsab_convert_to_sab(struct uart_sunsab_port *up, unsigned int cfla writeb((readb(&up->regs->rw.ccr2) & ~0xc0) | ((ebrg >> 2) & 0xc0), &up->regs->rw.ccr2); - if (cflag & CRTSCTS) { - writeb(readb(&up->regs->rw.mode) & ~SAB82532_MODE_RTS, - &up->regs->rw.mode); - writeb(readb(&up->regs->rw.mode) | SAB82532_MODE_FRTS, - &up->regs->rw.mode); - writeb(readb(&up->regs->rw.mode) & ~SAB82532_MODE_FCTS, - &up->regs->rw.mode); - up->interrupt_mask1 &= ~SAB82532_IMR1_CSC; - writeb(up->interrupt_mask1, &up->regs->w.imr1); - } else { - writeb(readb(&up->regs->rw.mode) | SAB82532_MODE_RTS, - &up->regs->rw.mode); - writeb(readb(&up->regs->rw.mode) & ~SAB82532_MODE_FRTS, - &up->regs->rw.mode); - writeb(readb(&up->regs->rw.mode) | SAB82532_MODE_FCTS, - &up->regs->rw.mode); - up->interrupt_mask1 |= SAB82532_IMR1_CSC; - writeb(up->interrupt_mask1, &up->regs->w.imr1); - } writeb(readb(&up->regs->rw.mode) | SAB82532_MODE_RAC, &up->regs->rw.mode); } @@ -940,6 +921,7 @@ static int sunsab_console_setup(struct console *con, char *options) writeb(up->interrupt_mask1, &up->regs->w.imr1); sunsab_convert_to_sab(up, con->cflag, 0, baud); + sunsab_set_mctrl(&up->port, TIOCM_DTR | TIOCM_RTS); spin_unlock_irqrestore(&up->port.lock, flags); diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index 02586518a..2446dd664 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c @@ -98,7 +98,7 @@ struct uart_sunsu_port { unsigned int irq; #ifdef CONFIG_SERIO - struct serio serio; + struct serio *serio; int serio_open; #endif }; @@ -520,7 +520,7 @@ static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *reg /* Stop-A is handled by drivers/char/keyboard.c now. */ if (up->su_type == SU_PORT_KBD) { #ifdef CONFIG_SERIO - serio_interrupt(&up->serio, ch, 0, regs); + serio_interrupt(up->serio, ch, 0, regs); #endif } else if (up->su_type == SU_PORT_MS) { int ret = suncore_mouse_baud_detection(ch, is_break); @@ -534,7 +534,7 @@ static void receive_kbd_ms_chars(struct uart_sunsu_port *up, struct pt_regs *reg case 0: #ifdef CONFIG_SERIO - serio_interrupt(&up->serio, ch, 0, regs); + serio_interrupt(up->serio, ch, 0, regs); #endif break; }; @@ -994,7 +994,7 @@ static spinlock_t sunsu_serio_lock = SPIN_LOCK_UNLOCKED; static int sunsu_serio_write(struct serio *serio, unsigned char ch) { - struct uart_sunsu_port *up = serio->driver; + struct uart_sunsu_port *up = serio->port_data; unsigned long flags; int lsr; @@ -1014,7 +1014,7 @@ static int sunsu_serio_write(struct serio *serio, unsigned char ch) static int sunsu_serio_open(struct serio *serio) { - struct uart_sunsu_port *up = serio->driver; + struct uart_sunsu_port *up = serio->port_data; unsigned long flags; int ret; @@ -1031,7 +1031,7 @@ static int sunsu_serio_open(struct serio *serio) static void sunsu_serio_close(struct serio *serio) { - struct uart_sunsu_port *up = serio->driver; + struct uart_sunsu_port *up = serio->port_data; unsigned long flags; spin_lock_irqsave(&sunsu_serio_lock, flags); @@ -1284,54 +1284,58 @@ static struct uart_driver sunsu_reg = { .major = TTY_MAJOR, }; -static int __init sunsu_kbd_ms_init(void) +static int __init sunsu_kbd_ms_init(struct uart_sunsu_port *up, int channel) { - struct uart_sunsu_port *up; - int i; + struct serio *serio; - for (i = 0, up = sunsu_ports; i < 2; i++, up++) { - up->port.line = i; - up->port.type = PORT_UNKNOWN; - up->port.uartclk = (SU_BASE_BAUD * 16); + up->port.line = channel; + up->port.type = PORT_UNKNOWN; + up->port.uartclk = (SU_BASE_BAUD * 16); - if (up->su_type == SU_PORT_KBD) - up->cflag = B1200 | CS8 | CLOCAL | CREAD; - else - up->cflag = B4800 | CS8 | CLOCAL | CREAD; + if (up->su_type == SU_PORT_KBD) + up->cflag = B1200 | CS8 | CLOCAL | CREAD; + else + up->cflag = B4800 | CS8 | CLOCAL | CREAD; - sunsu_autoconfig(up); - if (up->port.type == PORT_UNKNOWN) - continue; + sunsu_autoconfig(up); + if (up->port.type == PORT_UNKNOWN) + return -1; - printk(KERN_INFO "su%d at 0x%p (irq = %s) is a %s\n", - i, - up->port.membase, __irq_itoa(up->irq), - sunsu_type(&up->port)); + printk(KERN_INFO "su%d at 0x%p (irq = %s) is a %s\n", + channel, + up->port.membase, __irq_itoa(up->irq), + sunsu_type(&up->port)); #ifdef CONFIG_SERIO - memset(&up->serio, 0, sizeof(up->serio)); + up->serio = serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (serio) { + memset(serio, 0, sizeof(*serio)); - up->serio.driver = up; + serio->port_data = up; - up->serio.type = SERIO_RS232; + serio->type = SERIO_RS232; if (up->su_type == SU_PORT_KBD) { - up->serio.type |= SERIO_SUNKBD; - up->serio.name = "sukbd"; + serio->type |= SERIO_SUNKBD; + strlcpy(serio->name, "sukbd", sizeof(serio->name)); } else { - up->serio.type |= (SERIO_SUN | (1 << 16)); - up->serio.name = "sums"; + serio->type |= (SERIO_SUN | (1 << 16)); + strlcpy(serio->name, "sums", sizeof(serio->name)); } - up->serio.phys = (i == 0 ? "su/serio0" : "su/serio1"); + strlcpy(serio->phys, (channel == 0 ? "su/serio0" : "su/serio1"), + sizeof(serio->phys)); - up->serio.write = sunsu_serio_write; - up->serio.open = sunsu_serio_open; - up->serio.close = sunsu_serio_close; + serio->write = sunsu_serio_write; + serio->open = sunsu_serio_open; + serio->close = sunsu_serio_close; - serio_register_port(&up->serio); + serio_register_port(serio); + } else { + printk(KERN_WARNING "su%d: not enough memory for serio port\n", + channel); + } #endif - sunsu_startup(&up->port); - } + sunsu_startup(&up->port); return 0; } @@ -1680,10 +1684,12 @@ static int __init sunsu_probe(void) if (scan.msx != -1 && scan.kbx != -1) { sunsu_ports[0].su_type = SU_PORT_MS; sunsu_ports[0].port_node = scan.msnode; + sunsu_kbd_ms_init(&sunsu_ports[0], 0); + sunsu_ports[1].su_type = SU_PORT_KBD; sunsu_ports[1].port_node = scan.kbnode; + sunsu_kbd_ms_init(&sunsu_ports[1], 1); - sunsu_kbd_ms_init(); return 0; } @@ -1715,7 +1721,10 @@ static void __exit sunsu_exit(void) if (up->su_type == SU_PORT_MS || up->su_type == SU_PORT_KBD) { #ifdef CONFIG_SERIO - serio_unregister_port(&up->serio); + if (up->serio) { + serio_unregister_port(up->serio); + up->serio = NULL; + } #endif } else if (up->port.type != PORT_UNKNOWN) { uart_remove_one_port(&sunsu_reg, &up->port); diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c index b38c02593..11ec83d8e 100644 --- a/drivers/serial/sunzilog.c +++ b/drivers/serial/sunzilog.c @@ -107,7 +107,7 @@ struct uart_sunzilog_port { unsigned char prev_status; #ifdef CONFIG_SERIO - struct serio serio; + struct serio *serio; int serio_open; #endif }; @@ -291,7 +291,7 @@ static void sunzilog_kbdms_receive_chars(struct uart_sunzilog_port *up, /* Stop-A is handled by drivers/char/keyboard.c now. */ #ifdef CONFIG_SERIO if (up->serio_open) - serio_interrupt(&up->serio, ch, 0, regs); + serio_interrupt(up->serio, ch, 0, regs); #endif } else if (ZS_IS_MOUSE(up)) { int ret = suncore_mouse_baud_detection(ch, is_break); @@ -306,7 +306,7 @@ static void sunzilog_kbdms_receive_chars(struct uart_sunzilog_port *up, case 0: #ifdef CONFIG_SERIO if (up->serio_open) - serio_interrupt(&up->serio, ch, 0, regs); + serio_interrupt(up->serio, ch, 0, regs); #endif break; }; @@ -1295,7 +1295,7 @@ static spinlock_t sunzilog_serio_lock = SPIN_LOCK_UNLOCKED; static int sunzilog_serio_write(struct serio *serio, unsigned char ch) { - struct uart_sunzilog_port *up = serio->driver; + struct uart_sunzilog_port *up = serio->port_data; unsigned long flags; spin_lock_irqsave(&sunzilog_serio_lock, flags); @@ -1309,7 +1309,7 @@ static int sunzilog_serio_write(struct serio *serio, unsigned char ch) static int sunzilog_serio_open(struct serio *serio) { - struct uart_sunzilog_port *up = serio->driver; + struct uart_sunzilog_port *up = serio->port_data; unsigned long flags; int ret; @@ -1326,7 +1326,7 @@ static int sunzilog_serio_open(struct serio *serio) static void sunzilog_serio_close(struct serio *serio) { - struct uart_sunzilog_port *up = serio->driver; + struct uart_sunzilog_port *up = serio->port_data; unsigned long flags; spin_lock_irqsave(&sunzilog_serio_lock, flags); @@ -1545,33 +1545,44 @@ static void __init sunzilog_init_kbdms(struct uart_sunzilog_port *up, int channe up->curregs[R15] = BRKIE; brg = BPS_TO_BRG(baud, ZS_CLOCK / ZS_CLOCK_DIVISOR); sunzilog_convert_to_zs(up, up->cflag, 0, brg); + sunzilog_set_mctrl(&up->port, TIOCM_DTR | TIOCM_RTS); + __sunzilog_startup(up); +} #ifdef CONFIG_SERIO - memset(&up->serio, 0, sizeof(up->serio)); +static void __init sunzilog_register_serio(struct uart_sunzilog_port *up, int channel) +{ + struct serio *serio; - up->serio.driver = up; + up->serio = serio = kmalloc(sizeof(struct serio), GFP_KERNEL); + if (serio) { + memset(serio, 0, sizeof(*serio)); - up->serio.type = SERIO_RS232; - if (channel == KEYBOARD_LINE) { - up->serio.type |= SERIO_SUNKBD; - up->serio.name = "zskbd"; - } else { - up->serio.type |= (SERIO_SUN | (1 << 16)); - up->serio.name = "zsms"; - } - up->serio.phys = (channel == KEYBOARD_LINE ? - "zs/serio0" : "zs/serio1"); + serio->port_data = up; - up->serio.write = sunzilog_serio_write; - up->serio.open = sunzilog_serio_open; - up->serio.close = sunzilog_serio_close; + serio->type = SERIO_RS232; + if (channel == KEYBOARD_LINE) { + serio->type |= SERIO_SUNKBD; + strlcpy(serio->name, "zskbd", sizeof(serio->name)); + } else { + serio->type |= (SERIO_SUN | (1 << 16)); + strlcpy(serio->name, "zsms", sizeof(serio->name)); + } + strlcpy(serio->phys, + (channel == KEYBOARD_LINE ? "zs/serio0" : "zs/serio1"), + sizeof(serio->phys)); - serio_register_port(&up->serio); -#endif + serio->write = sunzilog_serio_write; + serio->open = sunzilog_serio_open; + serio->close = sunzilog_serio_close; - sunzilog_set_mctrl(&up->port, TIOCM_DTR | TIOCM_RTS); - __sunzilog_startup(up); + serio_register_port(serio); + } else { + printk(KERN_WARNING "zs%d: not enough memory for serio port\n", + channel); + } } +#endif static void __init sunzilog_init_hw(void) { @@ -1615,6 +1626,11 @@ static void __init sunzilog_init_hw(void) } spin_unlock_irqrestore(&up->port.lock, flags); + +#ifdef CONFIG_SERIO + if (i == KEYBOARD_LINE || i == MOUSE_LINE) + sunzilog_register_serio(up, i); +#endif } } @@ -1732,10 +1748,15 @@ static void __exit sunzilog_exit(void) for (i = 0; i < NUM_CHANNELS; i++) { struct uart_sunzilog_port *up = &sunzilog_port_table[i]; - if (ZS_IS_KEYB(up) || ZS_IS_MOUSE(up)) - continue; - - uart_remove_one_port(&sunzilog_reg, &up->port); + if (ZS_IS_KEYB(up) || ZS_IS_MOUSE(up)) { +#ifdef CONFIG_SERIO + if (up->serio) { + serio_unregister_port(up->serio); + up->serio = NULL; + } +#endif + } else + uart_remove_one_port(&sunzilog_reg, &up->port); } uart_unregister_driver(&sunzilog_reg); diff --git a/drivers/tc/zs.c b/drivers/tc/zs.c index 7391ae649..c5befc9af 100644 --- a/drivers/tc/zs.c +++ b/drivers/tc/zs.c @@ -211,10 +211,6 @@ static void probe_sccs(void); static void change_speed(struct dec_serial *info); static void rs_wait_until_sent(struct tty_struct *tty, int timeout); -#ifndef MIN -#define MIN(a,b) ((a) < (b) ? (a) : (b)) -#endif - /* * tmp_buf is used as a temporary buffer by serial_write. We need to * lock it in case the copy_from_user blocks while swapping in a page, @@ -683,10 +679,7 @@ static void do_softint(void *private_) return; if (test_and_clear_bit(RS_EVENT_WRITE_WAKEUP, &info->event)) { - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); } } @@ -706,7 +699,7 @@ int zs_startup(struct dec_serial * info) save_flags(flags); cli(); #ifdef SERIAL_DEBUG_OPEN - printk("starting up ttyS%02d (irq %d)...", info->line, info->irq); + printk("starting up ttyS%d (irq %d)...", info->line, info->irq); #endif /* @@ -950,16 +943,16 @@ static int rs_write(struct tty_struct * tty, int from_user, save_flags(flags); while (1) { cli(); - c = MIN(count, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, - SERIAL_XMIT_SIZE - info->xmit_head)); + c = min_t(int, count, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, + SERIAL_XMIT_SIZE - info->xmit_head)); if (c <= 0) break; if (from_user) { down(&tmp_buf_sem); copy_from_user(tmp_buf, buf, c); - c = MIN(c, MIN(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, - SERIAL_XMIT_SIZE - info->xmit_head)); + c = min_t(int, c, min(SERIAL_XMIT_SIZE - info->xmit_cnt - 1, + SERIAL_XMIT_SIZE - info->xmit_head)); memcpy(info->xmit_buf + info->xmit_head, tmp_buf, c); up(&tmp_buf_sem); } else @@ -1010,10 +1003,7 @@ static void rs_flush_buffer(struct tty_struct *tty) cli(); info->xmit_cnt = info->xmit_head = info->xmit_tail = 0; sti(); - wake_up_interruptible(&tty->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); + tty_wakeup(tty); } /* @@ -1356,7 +1346,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) } #ifdef SERIAL_DEBUG_OPEN - printk("rs_close ttyS%02d, count = %d\n", info->line, info->count); + printk("rs_close ttyS%d, count = %d\n", info->line, info->count); #endif if ((tty->count == 1) && (info->count != 1)) { /* @@ -1371,7 +1361,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) info->count = 1; } if (--info->count < 0) { - printk("rs_close: bad serial port count for ttyS%02d: %d\n", + printk("rs_close: bad serial port count for ttyS%d: %d\n", info->line, info->count); info->count = 0; } @@ -1407,8 +1397,7 @@ static void rs_close(struct tty_struct *tty, struct file * filp) shutdown(info); if (tty->driver->flush_buffer) tty->driver->flush_buffer(tty); - if (tty->ldisc.flush_buffer) - tty->ldisc.flush_buffer(tty); + tty_ldisc_flush(tty); tty->closing = 0; info->event = 0; info->tty = 0; @@ -1446,7 +1435,7 @@ static void rs_wait_until_sent(struct tty_struct *tty, int timeout) if (char_time == 0) char_time = 1; if (timeout) - char_time = MIN(char_time, timeout); + char_time = min_t(unsigned long, char_time, timeout); while ((read_zsreg(info->zs_channel, 1) & Tx_BUF_EMP) == 0) { current->state = TASK_INTERRUPTIBLE; schedule_timeout(char_time); @@ -1531,7 +1520,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, retval = 0; add_wait_queue(&info->open_wait, &wait); #ifdef SERIAL_DEBUG_OPEN - printk("block_til_ready before block: ttyS%02d, count = %d\n", + printk("block_til_ready before block: ttyS%d, count = %d\n", info->line, info->count); #endif cli(); @@ -1565,7 +1554,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, break; } #ifdef SERIAL_DEBUG_OPEN - printk("block_til_ready blocking: ttyS%02d, count = %d\n", + printk("block_til_ready blocking: ttyS%d, count = %d\n", info->line, info->count); #endif schedule(); @@ -1576,7 +1565,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp, info->count++; info->blocked_open--; #ifdef SERIAL_DEBUG_OPEN - printk("block_til_ready after blocking: ttyS%02d, count = %d\n", + printk("block_til_ready after blocking: ttyS%d, count = %d\n", info->line, info->count); #endif if (retval) @@ -1742,14 +1731,10 @@ static void __init probe_sccs(void) * We're called early and memory managment isn't up, yet. * Thus check_region would fail. */ - if (check_region((unsigned long) + if (!request_region((unsigned long) zs_channels[n_channels].control, - ZS_CHAN_IO_SIZE) < 0) { + ZS_CHAN_IO_SIZE, "SCC")) panic("SCC I/O region is not free"); - } - request_region((unsigned long) - zs_channels[n_channels].control, - ZS_CHAN_IO_SIZE, "SCC"); #endif zs_soft[n_channels].zs_channel = &zs_channels[n_channels]; zs_soft[n_channels].irq = zs_parms->irq; @@ -1896,7 +1881,7 @@ int __init zs_init(void) info->tqueue.data = info; init_waitqueue_head(&info->open_wait); init_waitqueue_head(&info->close_wait); - printk("ttyS%02d at 0x%08x (irq = %d)", info->line, + printk("ttyS%d at 0x%08x (irq = %d)", info->line, info->port, info->irq); printk(" is a Z85C30 SCC\n"); tty_register_device(serial_driver, info->line, NULL); diff --git a/drivers/telephony/ixj.c b/drivers/telephony/ixj.c index 1d0a2e1a7..59a6515e7 100644 --- a/drivers/telephony/ixj.c +++ b/drivers/telephony/ixj.c @@ -7718,6 +7718,23 @@ static void __exit ixj_exit(void) cleanup(); } +static IXJ *new_ixj(unsigned long port) +{ + IXJ *res; + if (!request_region(port, 16, "ixj DSP")) { + printk(KERN_INFO "ixj: can't get I/O address 0x%lx\n", port); + return NULL; + } + res = ixj_alloc(); + if (!res) { + release_region(port, 16); + printk(KERN_INFO "ixj: out of memory\n"); + return NULL; + } + res->DSPbase = port; + return res; +} + int __init ixj_probe_isapnp(int *cnt) { int probe = 0; @@ -7750,15 +7767,9 @@ int __init ixj_probe_isapnp(int *cnt) return -ENODEV; } - result = check_region(pnp_port_start(dev, 0), 16); - if (result) { - printk(KERN_INFO "ixj: can't get I/O address 0x%lx\n", pnp_port_start(dev, 0)); + j = new_ixj(pnp_port_start(dev, 0)); + if (!j) break; - } - - j = ixj_alloc(); - j->DSPbase = pnp_port_start(dev,0); - request_region(j->DSPbase, 16, "ixj DSP"); if (func != 0x110) j->XILINXbase = pnp_port_start(dev, 1); /* get real port */ @@ -7806,22 +7817,15 @@ int __init ixj_probe_isapnp(int *cnt) int __init ixj_probe_isa(int *cnt) { - int i, result, probe; + int i, probe; /* Use passed parameters for older kernels without PnP */ for (i = 0; i < IXJMAX; i++) { if (dspio[i]) { - IXJ *j; + IXJ *j = new_ixj(dspio[i]); - if ((result = check_region(ixj[*cnt].DSPbase, 16)) < 0) { - printk(KERN_INFO "ixj: can't get I/O address 0x%x\n", ixj[*cnt].DSPbase); + if (!j) break; - } - - j = ixj_alloc(); - - j->DSPbase = dspio[i]; - request_region(j->DSPbase, 16, "ixj DSP"); j->XILINXbase = xio[i]; j->cardtype = 0; @@ -7840,7 +7844,6 @@ int __init ixj_probe_pci(int *cnt) struct pci_dev *pci = NULL; int i, probe = 0; IXJ *j = NULL; - int result; for (i = 0; i < IXJMAX - *cnt; i++) { pci = pci_find_device(0x15E2, 0x0500, pci); @@ -7849,20 +7852,12 @@ int __init ixj_probe_pci(int *cnt) if (pci_enable_device(pci)) break; - if ((result = check_region(pci_resource_start(pci, 0), 16)) < 0) { - printk(KERN_INFO "ixj: can't get I/O address\n"); + j = new_ixj(pci_resource_start(pci, 0)); + if (!j) break; - } - /* Grab a device slot */ - j = ixj_alloc(); - if(j == NULL) - break; - - j->DSPbase = pci_resource_start(pci, 0); j->serial = (PCIEE_GetSerialNumber)pci_resource_start(pci, 2); j->XILINXbase = j->DSPbase + 0x10; - request_region(j->DSPbase, 16, "ixj DSP"); j->cardtype = QTI_PHONEJACK_PCI; j->board = *cnt; probe = ixj_selfprobe(j); diff --git a/drivers/telephony/ixj.h b/drivers/telephony/ixj.h index ad23b28e6..143818a56 100644 --- a/drivers/telephony/ixj.h +++ b/drivers/telephony/ixj.h @@ -1188,12 +1188,12 @@ typedef struct { unsigned int cid_rec_codec; unsigned int cid_rec_volume; unsigned char cid_rec_flag; - char rec_mode; + signed char rec_mode; unsigned int play_codec; unsigned int cid_play_codec; unsigned int cid_play_volume; unsigned char cid_play_flag; - char play_mode; + signed char play_mode; IXJ_FLAGS flags; unsigned long busyflags; unsigned int rec_frame_size; diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 0e805e4f3..42ab55b9b 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig @@ -91,6 +91,8 @@ source "drivers/usb/serial/Kconfig" source "drivers/usb/misc/Kconfig" +source "drivers/usb/atm/Kconfig" + source "drivers/usb/gadget/Kconfig" endmenu diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index e3787f35c..63a7f2d80 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -62,8 +62,10 @@ obj-$(CONFIG_USB_LCD) += misc/ obj-$(CONFIG_USB_LED) += misc/ obj-$(CONFIG_USB_LEGOTOWER) += misc/ obj-$(CONFIG_USB_RIO500) += misc/ -obj-$(CONFIG_USB_SPEEDTOUCH) += misc/ obj-$(CONFIG_USB_TEST) += misc/ obj-$(CONFIG_USB_TIGL) += misc/ obj-$(CONFIG_USB_USS720) += misc/ obj-$(CONFIG_USB_PHIDGETSERVO) += misc/ + +obj-$(CONFIG_USB_ATM) += atm/ +obj-$(CONFIG_USB_SPEEDTOUCH) += atm/ diff --git a/drivers/usb/class/audio.c b/drivers/usb/class/audio.c index 42f60fa37..17a6dd747 100644 --- a/drivers/usb/class/audio.c +++ b/drivers/usb/class/audio.c @@ -1954,9 +1954,9 @@ static int usb_audio_open_mixdev(struct inode *inode, struct file *file) struct usb_audio_state *s; down(&open_sem); - for (devs = audiodevs.next; devs != &audiodevs; devs = devs->next) { + list_for_each(devs, &audiodevs) { s = list_entry(devs, struct usb_audio_state, audiodev); - for (mdevs = s->mixerlist.next; mdevs != &s->mixerlist; mdevs = mdevs->next) { + list_for_each(mdevs, &s->mixerlist) { ms = list_entry(mdevs, struct usb_mixerdev, list); if (ms->dev_mixer == minor) goto mixer_found; @@ -2640,9 +2640,9 @@ static int usb_audio_open(struct inode *inode, struct file *file) for (;;) { down(&open_sem); - for (devs = audiodevs.next; devs != &audiodevs; devs = devs->next) { + list_for_each(devs, &audiodevs) { s = list_entry(devs, struct usb_audio_state, audiodev); - for (adevs = s->audiolist.next; adevs != &s->audiolist; adevs = adevs->next) { + list_for_each(adevs, &s->audiolist) { as = list_entry(adevs, struct usb_audiodev, list); if (!((as->dev_audio ^ minor) & ~0xf)) goto device_found; @@ -3831,7 +3831,7 @@ static void usb_audio_disconnect(struct usb_interface *intf) usb_set_intfdata (intf, NULL); /* deregister all audio and mixer devices, so no new processes can open this device */ - for(list = s->audiolist.next; list != &s->audiolist; list = list->next) { + list_for_each(list, &s->audiolist) { as = list_entry(list, struct usb_audiodev, list); usbin_disc(as); usbout_disc(as); @@ -3843,7 +3843,7 @@ static void usb_audio_disconnect(struct usb_interface *intf) } as->dev_audio = -1; } - for(list = s->mixerlist.next; list != &s->mixerlist; list = list->next) { + list_for_each(list, &s->mixerlist) { ms = list_entry(list, struct usb_mixerdev, list); if (ms->dev_mixer >= 0) { unregister_sound_mixer(ms->dev_mixer); diff --git a/drivers/usb/class/bluetty.c b/drivers/usb/class/bluetty.c index 2e8f5200c..4d8e01895 100644 --- a/drivers/usb/class/bluetty.c +++ b/drivers/usb/class/bluetty.c @@ -988,21 +988,13 @@ static void bluetooth_write_bulk_callback (struct urb *urb, struct pt_regs *regs static void bluetooth_softint(void *private) { struct usb_bluetooth *bluetooth = get_usb_bluetooth ((struct usb_bluetooth *)private, __FUNCTION__); - struct tty_struct *tty; dbg("%s", __FUNCTION__); - if (!bluetooth) { + if (!bluetooth) return; - } - - tty = bluetooth->tty; - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) { - dbg("%s - write wakeup call.", __FUNCTION__); - (tty->ldisc.write_wakeup)(tty); - } - wake_up_interruptible(&tty->write_wait); + tty_wakeup(bluetooth->tty); } diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 3fae8a6e4..a929a5212 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -142,7 +142,7 @@ static void acm_ctrl_irq(struct urb *urb, struct pt_regs *regs) case ACM_IRQ_LINE_STATE: - newctrl = le16_to_cpu(get_unaligned((__u16 *) data)); + newctrl = le16_to_cpu(get_unaligned((__le16 *) data)); if (acm->tty && !acm->clocal && (acm->ctrlin & ~newctrl & ACM_CTRL_DCD)) { dbg("calling hangup"); @@ -248,16 +248,11 @@ out: static void acm_softint(void *private) { struct acm *acm = private; - struct tty_struct *tty = acm->tty; dbg("Entering acm_softint.\n"); if (!ACM_READY(acm)) return; - - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - - wake_up_interruptible(&tty->write_wait); + tty_wakeup(acm->tty); } /* @@ -367,7 +362,7 @@ static int acm_tty_write(struct tty_struct *tty, int from_user, const unsigned c acm->writeurb->dev = acm->dev; acm->ready_for_write = 0; - stat = usb_submit_urb(acm->writeurb, GFP_NOIO); + stat = usb_submit_urb(acm->writeurb, from_user ? GFP_KERNEL : GFP_ATOMIC); if (stat < 0) { dbg("usb_submit_urb(write bulk) failed"); acm->ready_for_write = 1; @@ -583,19 +578,25 @@ next_desc: } if (!union_header) { - dev_dbg(&intf->dev,"No union descriptor, giving up\n"); - return -ENODEV; - } - - control_interface = usb_ifnum_to_if(usb_dev, union_header->bMasterInterface0); - data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = union_header->bSlaveInterface0)); - if (!control_interface || !data_interface) { - dev_dbg(&intf->dev,"no interfaces\n"); - return -ENODEV; + if (call_interface_num > 0) { + dev_dbg(&intf->dev,"No union descriptor, using call management descriptor\n"); + data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = call_interface_num)); + control_interface = intf; + } else { + dev_dbg(&intf->dev,"No union descriptor, giving up\n"); + return -ENODEV; + } + } else { + control_interface = usb_ifnum_to_if(usb_dev, union_header->bMasterInterface0); + data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = union_header->bSlaveInterface0)); + if (!control_interface || !data_interface) { + dev_dbg(&intf->dev,"no interfaces\n"); + return -ENODEV; + } } - if (data_interface_num != call_interface_num) - dev_dbg(&intf->dev,"Seperate call control interface. That is not fully supported."); + if (data_interface_num != call_interface_num) + dev_dbg(&intf->dev,"Seperate call control interface. That is not fully supported."); if (usb_interface_claimed(data_interface)) { /* valid in this context */ dev_dbg(&intf->dev,"The data interface isn't available\n"); diff --git a/drivers/usb/class/usb-midi.c b/drivers/usb/class/usb-midi.c index 6a6dbac49..a9dc047a0 100644 --- a/drivers/usb/class/usb-midi.c +++ b/drivers/usb/class/usb-midi.c @@ -55,39 +55,39 @@ /* ------------------------------------------------------------------------- */ static int singlebyte = 0; -MODULE_PARM(singlebyte,"i"); +module_param(singlebyte, int, 0); MODULE_PARM_DESC(singlebyte,"Enable sending MIDI messages with single message packet"); static int maxdevices = 4; -MODULE_PARM(maxdevices,"i"); +module_param(maxdevices, int, 0); MODULE_PARM_DESC(maxdevices,"Max number of allocatable MIDI device"); static int uvendor = -1; -MODULE_PARM(uvendor,"i"); +module_param(uvendor, int, 0); MODULE_PARM_DESC(uvendor, "The USB Vendor ID of a semi-compliant interface"); static int uproduct = -1; -MODULE_PARM(uproduct,"i"); +module_param(uproduct, int, 0); MODULE_PARM_DESC(uproduct, "The USB Product ID of a semi-compliant interface"); static int uinterface = -1; -MODULE_PARM(uinterface,"i"); +module_param(uinterface, int, 0); MODULE_PARM_DESC(uinterface, "The Interface number of a semi-compliant interface"); static int ualt = -1; -MODULE_PARM(ualt,"i"); +module_param(ualt, int, 0); MODULE_PARM_DESC(ualt, "The optional alternative setting of a semi-compliant interface"); static int umin = -1; -MODULE_PARM(umin,"i"); +module_param(umin, int, 0); MODULE_PARM_DESC(umin, "The input endpoint of a semi-compliant interface"); static int umout = -1; -MODULE_PARM(umout,"i"); +module_param(umout, int, 0); MODULE_PARM_DESC(umout, "The output endpoint of a semi-compliant interface"); static int ucable = -1; -MODULE_PARM(ucable,"i"); +module_param(ucable, int, 0); MODULE_PARM_DESC(ucable, "The cable number used for a semi-compliant interface"); /** Note -- the usb_string() returns only Latin-1 characters. @@ -95,7 +95,7 @@ MODULE_PARM_DESC(ucable, "The cable number used for a semi-compliant interface") * unicode16LE-to-JIS routine is needed to wrap around usb_get_string(). **/ static unsigned short ulangid = 0x0409; /** 0x0411 for Japanese **/ -MODULE_PARM(ulangid,"h"); +module_param(ulangid, ushort, 0); MODULE_PARM_DESC(ulangid, "The optional preferred USB Language ID for all devices"); MODULE_AUTHOR("NAGANO Daisuke "); @@ -817,9 +817,9 @@ static int usb_midi_open(struct inode *inode, struct file *file) for(;;) { down(&open_sem); - for (devs = mididevs.next; devs != &mididevs; devs = devs->next) { + list_for_each(devs, &mididevs) { s = list_entry(devs, struct usb_midi_state, mididev); - for (mdevs = s->midiDevList.next; mdevs != &s->midiDevList; mdevs = mdevs->next) { + list_for_each(mdevs, &s->midiDevList) { m = list_entry(mdevs, struct usb_mididev, list); if ( !((m->dev_midi ^ minor) & ~0xf) ) goto device_found; @@ -2012,7 +2012,7 @@ static void usb_midi_disconnect(struct usb_interface *intf) s->usbdev = NULL; usb_set_intfdata (intf, NULL); - for ( list = s->midiDevList.next; list != &s->midiDevList; list = list->next ) { + list_for_each(list, &s->midiDevList) { m = list_entry(list, struct usb_mididev, list); wake_up(&(m->min.ep->wait)); wake_up(&(m->mout.ep->wait)); diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index b6da40067..da91bbd67 100644 --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c @@ -221,7 +221,7 @@ static int usblp_set_protocol(struct usblp *usblp, int protocol); static int usblp_cache_device_id_string(struct usblp *usblp); /* forward reference to make our lives easier */ -extern struct usb_driver usblp_driver; +static struct usb_driver usblp_driver; /* * Functions for usblp control messages. @@ -397,10 +397,6 @@ static void usblp_cleanup (struct usblp *usblp) { info("usblp%d: removed", usblp->minor); - usb_buffer_free (usblp->dev, USBLP_BUF_SIZE, - usblp->writebuf, usblp->writeurb->transfer_dma); - usb_buffer_free (usblp->dev, USBLP_BUF_SIZE, - usblp->readbuf, usblp->readurb->transfer_dma); kfree (usblp->device_id_string); kfree (usblp->statusbuf); usb_free_urb(usblp->writeurb); @@ -1129,7 +1125,7 @@ static int usblp_cache_device_id_string(struct usblp *usblp) /* First two bytes are length in big-endian. * They count themselves, and we copy them into * the user's buffer. */ - length = be16_to_cpu(*((u16 *)usblp->device_id_string)); + length = be16_to_cpu(*((__be16 *)usblp->device_id_string)); if (length < 2) length = 2; else if (length >= USBLP_DEVICE_ID_SIZE) @@ -1159,6 +1155,10 @@ static void usblp_disconnect(struct usb_interface *intf) usb_set_intfdata (intf, NULL); usblp_unlink_urbs(usblp); + usb_buffer_free (usblp->dev, USBLP_BUF_SIZE, + usblp->writebuf, usblp->writeurb->transfer_dma); + usb_buffer_free (usblp->dev, USBLP_BUF_SIZE, + usblp->readbuf, usblp->readurb->transfer_dma); if (!usblp->used) usblp_cleanup (usblp); @@ -1208,6 +1208,6 @@ module_exit(usblp_exit); MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); -MODULE_PARM(proto_bias, "i"); +module_param(proto_bias, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(proto_bias, "Favourite protocol number"); MODULE_LICENSE("GPL"); diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c index ae7ec7405..33c51714f 100644 --- a/drivers/usb/core/config.c +++ b/drivers/usb/core/config.c @@ -106,7 +106,7 @@ skip_to_next_endpoint_or_interface_descriptor: return buffer - buffer0 + i; } -static void usb_release_interface_cache(struct kref *ref) +void usb_release_interface_cache(struct kref *ref) { struct usb_interface_cache *intfc = ref_to_usb_interface_cache(ref); int j; @@ -356,7 +356,7 @@ int usb_parse_configuration(struct device *ddev, int cfgidx, if (!intfc) return -ENOMEM; memset(intfc, 0, len); - kref_init(&intfc->ref, usb_release_interface_cache); + kref_init(&intfc->ref); } /* Skip over any Class Specific or Vendor Specific descriptors; @@ -422,7 +422,8 @@ void usb_destroy_configuration(struct usb_device *dev) for (i = 0; i < cf->desc.bNumInterfaces; i++) { if (cf->intf_cache[i]) - kref_put(&cf->intf_cache[i]->ref); + kref_put(&cf->intf_cache[i]->ref, + usb_release_interface_cache); } } kfree(dev->config); diff --git a/drivers/usb/core/devices.c b/drivers/usb/core/devices.c index 5541363b6..8e535789f 100644 --- a/drivers/usb/core/devices.c +++ b/drivers/usb/core/devices.c @@ -283,9 +283,8 @@ static char *usb_dump_interface( /* TBD: * 0. TBDs - * 1. marking active config and ifaces (code lists all, but should mark + * 1. marking active interface altsettings (code lists all, but should mark * which ones are active, if any) - * 2. add status to each endpoint line */ static char *usb_dump_config_descriptor(char *start, char *end, const struct usb_config_descriptor *desc, int active) @@ -584,7 +583,7 @@ static ssize_t usb_device_read(struct file *file, char __user *buf, size_t nbyte /* enumerate busses */ down (&usb_bus_list_lock); - for (buslist = usb_bus_list.next; buslist != &usb_bus_list; buslist = buslist->next) { + list_for_each(buslist, &usb_bus_list) { /* print devices for this bus */ bus = list_entry(buslist, struct usb_bus, bus_list); diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index 6f969a4da..776c1bf0d 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -72,6 +72,8 @@ MODULE_PARM_DESC (usbfs_snoop, "true to log all usbfs traffic"); } while (0) +#define MAX_USBFS_BUFFER_SIZE 16384 + static inline int connected (struct usb_device *dev) { return dev->state != USB_STATE_NOTATTACHED; @@ -555,8 +557,10 @@ static int proc_control(struct dev_state *ps, void __user *arg) snoop(&dev->dev, "control read: bRequest=%02x bRrequestType=%02x wValue=%04x wIndex=%04x\n", ctrl.bRequest, ctrl.bRequestType, ctrl.wValue, ctrl.wIndex); + up(&dev->serialize); i = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), ctrl.bRequest, ctrl.bRequestType, ctrl.wValue, ctrl.wIndex, tbuf, ctrl.wLength, tmo); + down(&dev->serialize); if ((i > 0) && ctrl.wLength) { if (usbfs_snoop) { dev_info(&dev->dev, "control read: data "); @@ -584,8 +588,10 @@ static int proc_control(struct dev_state *ps, void __user *arg) printk ("%02x ", (unsigned char)(tbuf)[j]); printk("\n"); } + up(&dev->serialize); i = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), ctrl.bRequest, ctrl.bRequestType, ctrl.wValue, ctrl.wIndex, tbuf, ctrl.wLength, tmo); + down(&dev->serialize); } free_page((unsigned long)tbuf); if (i<0) { @@ -619,6 +625,8 @@ static int proc_bulk(struct dev_state *ps, void __user *arg) if (!usb_maxpacket(dev, pipe, !(bulk.ep & USB_DIR_IN))) return -EINVAL; len1 = bulk.len; + if (len1 > MAX_USBFS_BUFFER_SIZE) + return -EINVAL; if (!(tbuf = kmalloc(len1, GFP_KERNEL))) return -ENOMEM; tmo = (bulk.timeout * HZ + 999) / 1000; @@ -627,7 +635,9 @@ static int proc_bulk(struct dev_state *ps, void __user *arg) kfree(tbuf); return -EINVAL; } + up(&dev->serialize); i = usb_bulk_msg(dev, pipe, tbuf, len1, &len2, tmo); + down(&dev->serialize); if (!i && len2) { if (copy_to_user(bulk.data, tbuf, len2)) { kfree(tbuf); @@ -641,7 +651,9 @@ static int proc_bulk(struct dev_state *ps, void __user *arg) return -EFAULT; } } + up(&dev->serialize); i = usb_bulk_msg(dev, pipe, tbuf, len1, &len2, tmo); + down(&dev->serialize); } kfree(tbuf); if (i < 0) { @@ -849,7 +861,7 @@ static int proc_submiturb(struct dev_state *ps, void __user *arg) case USBDEVFS_URB_TYPE_BULK: uurb.number_of_packets = 0; - if (uurb.buffer_length > 16384) + if (uurb.buffer_length > MAX_USBFS_BUFFER_SIZE) return -EINVAL; if (!access_ok((uurb.endpoint & USB_DIR_IN) ? VERIFY_WRITE : VERIFY_READ, uurb.buffer, uurb.buffer_length)) return -EFAULT; @@ -891,7 +903,7 @@ static int proc_submiturb(struct dev_state *ps, void __user *arg) interval = 1 << min (15, ep_desc->bInterval - 1); else interval = ep_desc->bInterval; - if (uurb.buffer_length > 16384) + if (uurb.buffer_length > MAX_USBFS_BUFFER_SIZE) return -EINVAL; if (!access_ok((uurb.endpoint & USB_DIR_IN) ? VERIFY_WRITE : VERIFY_READ, uurb.buffer, uurb.buffer_length)) return -EFAULT; diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index e7a7ba513..5fdaae079 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c @@ -65,7 +65,7 @@ int usb_hcd_pci_probe (struct pci_dev *dev, const struct pci_device_id *id) { struct hc_driver *driver; unsigned long resource, len; - void *base; + void __iomem *base; struct usb_hcd *hcd; int retval, region; char buf [8], *bufp = buf; @@ -121,7 +121,7 @@ clean_1: dev_dbg (&dev->dev, "no i/o regions available\n"); return -EBUSY; } - base = (void *) resource; + base = (void __iomem *) resource; } // driver->reset(), later on, will transfer device from diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index cd2268ad1..d970e2c0c 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -708,6 +708,7 @@ int usb_register_bus(struct usb_bus *bus) bus->busnum = busnum; } else { printk (KERN_ERR "%s: too many buses\n", usbcore_name); + up(&usb_bus_list_lock); return -E2BIG; } @@ -790,6 +791,8 @@ int usb_register_root_hub (struct usb_device *usb_dev, struct device *parent_dev usb_dev->epmaxpacketin[0] = usb_dev->epmaxpacketout[0] = 64; retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE); if (retval != sizeof usb_dev->descriptor) { + usb_dev->bus->root_hub = NULL; + up (&usb_bus_list_lock); dev_dbg (parent_dev, "can't read %s device descriptor %d\n", usb_dev->dev.bus_id, retval); return (retval < 0) ? retval : -EMSGSIZE; @@ -1311,13 +1314,10 @@ static void hcd_endpoint_disable (struct usb_device *udev, int endpoint) rescan: /* (re)block new requests, as best we can */ - if (endpoint & USB_DIR_IN) { - usb_endpoint_halt (udev, epnum, 0); + if (endpoint & USB_DIR_IN) udev->epmaxpacketin [epnum] = 0; - } else { - usb_endpoint_halt (udev, epnum, 1); + else udev->epmaxpacketout [epnum] = 0; - } /* then kill any current requests */ spin_lock (&hcd_data_lock); @@ -1407,6 +1407,45 @@ static int hcd_hub_resume (struct usb_bus *bus) /*-------------------------------------------------------------------------*/ +#ifdef CONFIG_USB_OTG + +/** + * usb_bus_start_enum - start immediate enumeration (for OTG) + * @bus: the bus (must use hcd framework) + * @port: 1-based number of port; usually bus->otg_port + * Context: in_interrupt() + * + * Starts enumeration, with an immediate reset followed later by + * khubd identifying and possibly configuring the device. + * This is needed by OTG controller drivers, where it helps meet + * HNP protocol timing requirements for starting a port reset. + */ +int usb_bus_start_enum(struct usb_bus *bus, unsigned port_num) +{ + struct usb_hcd *hcd; + int status = -EOPNOTSUPP; + + /* NOTE: since HNP can't start by grabbing the bus's address0_sem, + * boards with root hubs hooked up to internal devices (instead of + * just the OTG port) may need more attention to resetting... + */ + hcd = container_of (bus, struct usb_hcd, self); + if (port_num && hcd->driver->start_port_reset) + status = hcd->driver->start_port_reset(hcd, port_num); + + /* run khubd shortly after (first) root port reset finishes; + * it may issue others, until at least 50 msecs have passed. + */ + if (status == 0) + mod_timer(&hcd->rh_timer, jiffies + msecs_to_jiffies(10)); + return status; +} +EXPORT_SYMBOL (usb_bus_start_enum); + +#endif + +/*-------------------------------------------------------------------------*/ + /* called by khubd, rmmod, apmd, or other thread for hcd-private cleanup. * we're guaranteed that the device is fully quiesced. also, that each * endpoint has been hcd_endpoint_disabled. diff --git a/drivers/usb/core/hcd.h b/drivers/usb/core/hcd.h index 89b6fc2e3..340977b72 100644 --- a/drivers/usb/core/hcd.h +++ b/drivers/usb/core/hcd.h @@ -77,7 +77,7 @@ struct usb_hcd { /* usb_bus.hcpriv points to this */ unsigned can_wakeup:1; /* hw supports wakeup? */ unsigned remote_wakeup:1;/* sw should use wakeup? */ int irq; /* irq allocated */ - void *regs; /* device memory/io */ + void __iomem *regs; /* device memory/io */ #ifdef CONFIG_PCI int region; /* pci region for regs */ @@ -212,6 +212,7 @@ struct hc_driver { char *buf, u16 wLength); int (*hub_suspend)(struct usb_hcd *); int (*hub_resume)(struct usb_hcd *); + int (*start_port_reset)(struct usb_hcd *, unsigned port_num); }; extern void usb_hcd_giveback_urb (struct usb_hcd *hcd, struct urb *urb, struct pt_regs *regs); @@ -376,8 +377,6 @@ extern void usb_bus_put (struct usb_bus *bus); extern int usb_find_interface_driver (struct usb_device *dev, struct usb_interface *interface); -#define usb_endpoint_halt(dev, ep, out) ((dev)->halted[out] |= (1 << (ep))) - #define usb_endpoint_out(ep_dir) (!((ep_dir) & USB_DIR_IN)) /* diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index b13fe4040..7f72ee96c 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -36,7 +36,7 @@ #include "hcd.h" #include "hub.h" -/* Protect all struct usb_device state members */ +/* Protect struct usb_device state and children members */ static spinlock_t device_state_lock = SPIN_LOCK_UNLOCKED; /* Wakes up khubd */ @@ -143,7 +143,7 @@ static void led_work (void *__hub) unsigned changed = 0; int cursor = -1; - if (hdev->state != USB_STATE_CONFIGURED) + if (hdev->state != USB_STATE_CONFIGURED || hub->quiescing) return; for (i = 0; i < hub->descriptor->bNbrPorts; i++) { @@ -269,6 +269,9 @@ static void hub_irq(struct urb *urb, struct pt_regs *regs) spin_unlock(&hub_event_lock); resubmit: + if (hub->quiescing) + return; + if ((status = usb_submit_urb (hub->urb, GFP_ATOMIC)) != 0 && status != -ENODEV && status != -EPERM) dev_err (&hub->intf->dev, "resubmit --> %d\n", status); @@ -623,6 +626,33 @@ fail: static unsigned highspeed_hubs; +static void hub_quiesce(struct usb_hub *hub) +{ + /* stop khubd and related activity */ + hub->quiescing = 1; + usb_kill_urb(hub->urb); + if (hub->has_indicators) + cancel_delayed_work(&hub->leds); + if (hub->has_indicators || hub->tt.hub) + flush_scheduled_work(); +} + +#ifdef CONFIG_USB_SUSPEND + +static void hub_reactivate(struct usb_hub *hub) +{ + int status; + + hub->quiescing = 0; + status = usb_submit_urb(hub->urb, GFP_NOIO); + if (status < 0) + dev_err(&hub->intf->dev, "reactivate --> %d\n", status); + if (hub->has_indicators && blinkenlights) + schedule_delayed_work(&hub->leds, LED_CYCLE_PERIOD); +} + +#endif + static void hub_disconnect(struct usb_interface *intf) { struct usb_hub *hub = usb_get_intfdata (intf); @@ -637,22 +667,14 @@ static void hub_disconnect(struct usb_interface *intf) usb_set_intfdata (intf, NULL); - if (hub->urb) { - usb_kill_urb(hub->urb); - usb_free_urb(hub->urb); - hub->urb = NULL; - } + hub_quiesce(hub); + usb_free_urb(hub->urb); + hub->urb = NULL; spin_lock_irq(&hub_event_lock); list_del_init(&hub->event_list); spin_unlock_irq(&hub_event_lock); - /* assuming we used keventd, it must quiesce too */ - if (hub->has_indicators) - cancel_delayed_work (&hub->leds); - if (hub->has_indicators || hub->tt.hub) - flush_scheduled_work (); - if (hub->descriptor) { kfree(hub->descriptor); hub->descriptor = NULL; @@ -772,6 +794,7 @@ hub_ioctl(struct usb_interface *intf, unsigned int code, void *user_data) } } +/* caller has locked the hub and must own the device lock */ static int hub_reset(struct usb_hub *hub) { struct usb_device *hdev = hub->hdev; @@ -789,7 +812,7 @@ static int hub_reset(struct usb_hub *hub) else return -1; - if (usb_reset_device(hdev)) + if (__usb_reset_device(hdev)) return -1; hub->urb->dev = hdev; @@ -801,6 +824,7 @@ static int hub_reset(struct usb_hub *hub) return 0; } +/* caller has locked the hub */ /* FIXME! This routine should be subsumed into hub_reset */ static void hub_start_disconnect(struct usb_device *hdev) { @@ -832,12 +856,65 @@ static void recursively_mark_NOTATTACHED(struct usb_device *udev) udev->state = USB_STATE_NOTATTACHED; } +/* grab device/port lock, returning index of that port (zero based). + * protects the upstream link used by this device from concurrent + * tree operations like suspend, resume, reset, and disconnect, which + * apply to everything downstream of a given port. + */ +static int locktree(struct usb_device *udev) +{ + int t; + struct usb_device *hdev; + + if (!udev) + return -ENODEV; + + /* root hub is always the first lock in the series */ + hdev = udev->parent; + if (!hdev) { + down(&udev->serialize); + return 0; + } + + /* on the path from root to us, lock everything from + * top down, dropping parent locks when not needed + * + * NOTE: if disconnect were to ignore the locking, we'd need + * to get extra refcounts to everything since hdev->children + * and udev->parent could be invalidated while we work... + */ + t = locktree(hdev); + if (t < 0) + return t; + spin_lock_irq(&device_state_lock); + for (t = 0; t < hdev->maxchild; t++) { + if (hdev->children[t] == udev) { + /* everything is fail-fast once disconnect + * processing starts + */ + if (udev->state == USB_STATE_NOTATTACHED) + break; + + /* when everyone grabs locks top->bottom, + * non-overlapping work may be concurrent + */ + spin_unlock_irq(&device_state_lock); + down(&udev->serialize); + up(&hdev->serialize); + return t; + } + } + spin_unlock_irq(&device_state_lock); + up(&hdev->serialize); + return -ENODEV; +} + /** * usb_set_device_state - change a device's current state (usbcore-internal) * @udev: pointer to device whose state should be changed * @new_state: new state value to be stored * - * udev->state is _not_ protected by the udev->serialize semaphore. This + * udev->state is _not_ protected by the device lock. This * is so that devices can be marked as disconnected as soon as possible, * without having to wait for the semaphore to be released. Instead, * changes to the state must be protected by the device_state_lock spinlock. @@ -897,7 +974,7 @@ static void release_address(struct usb_device *udev) /** * usb_disconnect - disconnect a device (usbcore-internal) - * @pdev: pointer to device being disconnected + * @pdev: pointer to device being disconnected, into a locked hub * Context: !in_interrupt () * * Something got disconnected. Get rid of it, and all of its children. @@ -921,7 +998,8 @@ void usb_disconnect(struct usb_device **pdev) } /* mark the device as inactive, so any further urb submissions for - * this device will fail. + * this device (and any of its children) will fail immediately. + * this quiesces everyting except pending urbs. */ usb_set_device_state(udev, USB_STATE_NOTATTACHED); @@ -940,6 +1018,7 @@ void usb_disconnect(struct usb_device **pdev) /* deallocate hcd/hardware state ... nuking all pending urbs and * cleaning up all state associated with the current configuration + * so that the hardware is now fully quiesced. */ usb_disable_device(udev, 0); @@ -952,7 +1031,7 @@ void usb_disconnect(struct usb_device **pdev) usbfs_remove_device(udev); usb_remove_sysfs_dev_files(udev); - /* Avoid races with recursively_mark_NOTATTACHED() */ + /* Avoid races with recursively_mark_NOTATTACHED() and locktree() */ spin_lock_irq(&device_state_lock); *pdev = NULL; spin_unlock_irq(&device_state_lock); @@ -1016,6 +1095,10 @@ static inline void show_string(struct usb_device *udev, char *id, int index) {} #endif +#ifdef CONFIG_USB_OTG +#include "otg_whitelist.h" +#endif + /** * usb_new_device - perform initial device setup (usbcore-internal) * @udev: newly addressed device (in ADDRESS state) @@ -1065,6 +1148,79 @@ int usb_new_device(struct usb_device *udev) show_string(udev, "SerialNumber", udev->descriptor.iSerialNumber); +#ifdef CONFIG_USB_OTG + /* + * OTG-aware devices on OTG-capable root hubs may be able to use SRP, + * to wake us after we've powered off VBUS; and HNP, switching roles + * "host" to "peripheral". The OTG descriptor helps figure this out. + */ + if (!udev->bus->is_b_host + && udev->config + && udev->parent == udev->bus->root_hub) { + struct usb_otg_descriptor *desc = 0; + struct usb_bus *bus = udev->bus; + + /* descriptor may appear anywhere in config */ + if (__usb_get_extra_descriptor (udev->rawdescriptors[0], + udev->config[0].desc.wTotalLength, + USB_DT_OTG, (void **) &desc) == 0) { + if (desc->bmAttributes & USB_OTG_HNP) { + unsigned port; + struct usb_device *root = udev->parent; + + for (port = 0; port < root->maxchild; port++) { + if (root->children[port] == udev) + break; + } + port++; + + dev_info(&udev->dev, + "Dual-Role OTG device on %sHNP port\n", + (port == bus->otg_port) + ? "" : "non-"); + + /* enable HNP before suspend, it's simpler */ + if (port == bus->otg_port) + bus->b_hnp_enable = 1; + err = usb_control_msg(udev, + usb_sndctrlpipe(udev, 0), + USB_REQ_SET_FEATURE, 0, + bus->b_hnp_enable + ? USB_DEVICE_B_HNP_ENABLE + : USB_DEVICE_A_ALT_HNP_SUPPORT, + 0, NULL, 0, HZ * USB_CTRL_SET_TIMEOUT); + if (err < 0) { + /* OTG MESSAGE: report errors here, + * customize to match your product. + */ + dev_info(&udev->dev, + "can't set HNP mode; %d\n", + err); + bus->b_hnp_enable = 0; + } + } + } + } + + if (!is_targeted(udev)) { + + /* Maybe it can talk to us, though we can't talk to it. + * (Includes HNP test device.) + */ + if (udev->bus->b_hnp_enable || udev->bus->is_b_host) { + static int __usb_suspend_device (struct usb_device *, + int port, u32 state); + err = __usb_suspend_device(udev, + udev->bus->otg_port - 1, + PM_SUSPEND_MEM); + if (err < 0) + dev_dbg(&udev->dev, "HNP fail, %d\n", err); + } + err = -ENODEV; + goto fail; + } +#endif + /* put device-specific files into sysfs */ err = device_add (&udev->dev); if (err) { @@ -1203,6 +1359,7 @@ static int hub_port_reset(struct usb_device *hdev, int port, if (status == -ENOTCONN || status == 0) { clear_port_feature(hdev, port + 1, USB_PORT_FEAT_C_RESET); + /* FIXME need disconnect() for NOTATTACHED device */ usb_set_device_state(udev, status ? USB_STATE_NOTATTACHED : USB_STATE_DEFAULT); @@ -1226,9 +1383,11 @@ static int hub_port_disable(struct usb_device *hdev, int port) { int ret; - if (hdev->children[port]) + if (hdev->children[port]) { + /* FIXME need disconnect() for NOTATTACHED device */ usb_set_device_state(hdev->children[port], USB_STATE_NOTATTACHED); + } ret = clear_port_feature(hdev, port + 1, USB_PORT_FEAT_ENABLE); if (ret) dev_err(hubdev(hdev), "cannot disable port %d (err = %d)\n", @@ -1239,7 +1398,490 @@ static int hub_port_disable(struct usb_device *hdev, int port) #ifdef CONFIG_USB_SUSPEND - /* no USB_SUSPEND yet! */ +/* + * Selective port suspend reduces power; most suspended devices draw + * less than 500 uA. It's also used in OTG, along with remote wakeup. + * All devices below the suspended port are also suspended. + * + * Devices leave suspend state when the host wakes them up. Some devices + * also support "remote wakeup", where the device can activate the USB + * tree above them to deliver data, such as a keypress or packet. In + * some cases, this wakes the USB host. + */ +static int hub_port_suspend(struct usb_device *hdev, int port) +{ + int status; + struct usb_device *udev; + + udev = hdev->children[port - 1]; + // dev_dbg(hubdev(hdev), "suspend port %d\n", port); + + /* enable remote wakeup when appropriate; this lets the device + * wake up the upstream hub (including maybe the root hub). + * + * NOTE: OTG devices may issue remote wakeup (or SRP) even when + * we don't explicitly enable it here. + */ + if (udev->actconfig + // && FIXME (remote wakeup enabled on this bus) + // ... currently assuming it's always appropriate + && (udev->actconfig->desc.bmAttributes + & USB_CONFIG_ATT_WAKEUP) != 0) { + status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_SET_FEATURE, USB_RECIP_DEVICE, + USB_DEVICE_REMOTE_WAKEUP, 0, + NULL, 0, + USB_CTRL_SET_TIMEOUT); + if (status) + dev_dbg(&udev->dev, + "won't remote wakeup, status %d\n", + status); + } + + /* see 7.1.7.6 */ + status = set_port_feature(hdev, port, USB_PORT_FEAT_SUSPEND); + if (status) { + dev_dbg(hubdev(hdev), + "can't suspend port %d, status %d\n", + port, status); + /* paranoia: "should not happen" */ + (void) usb_control_msg(udev, usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, USB_RECIP_DEVICE, + USB_DEVICE_REMOTE_WAKEUP, 0, + NULL, 0, + USB_CTRL_SET_TIMEOUT); + } else { + /* device has up to 10 msec to fully suspend */ + dev_dbg(&udev->dev, "usb suspend\n"); + udev->state = USB_STATE_SUSPENDED; + msleep(10); + } + return status; +} + +/* + * Devices on USB hub ports have only one "suspend" state, corresponding + * to ACPI D2 (PM_SUSPEND_MEM), "may cause the device to lose some context". + * State transitions include: + * + * - suspend, resume ... when the VBUS power link stays live + * - suspend, disconnect ... VBUS lost + * + * Once VBUS drop breaks the circuit, the port it's using has to go through + * normal re-enumeration procedures, starting with enabling VBUS power. + * Other than re-initializing the hub (plug/unplug, except for root hubs), + * Linux (2.6) currently has NO mechanisms to initiate that: no khubd + * timer, no SRP, no requests through sysfs. + */ +static int __usb_suspend_device (struct usb_device *udev, int port, u32 state) +{ + int status; + + if (port < 0) + return port; + + /* NOTE: udev->serialize released on all real returns! */ + + if (state <= udev->dev.power.power_state + || state < PM_SUSPEND_MEM + || udev->state == USB_STATE_SUSPENDED + || udev->state == USB_STATE_NOTATTACHED) { + up(&udev->serialize); + return 0; + } + + /* suspend interface drivers; if this is a hub, it + * suspends the child devices + */ + if (udev->actconfig) { + int i; + + for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) { + struct usb_interface *intf; + struct usb_driver *driver; + + intf = udev->actconfig->interface[i]; + if (state <= intf->dev.power.power_state) + continue; + if (!intf->dev.driver) + continue; + driver = to_usb_driver(intf->dev.driver); + + if (driver->suspend) { + status = driver->suspend(intf, state); + if (intf->dev.power.power_state != state + || status) + dev_err(&intf->dev, + "suspend %d fail, code %d\n", + state, status); + } + + /* only drivers with suspend() can ever resume(); + * and after power loss, even they won't. + * bus_rescan_devices() can rebind drivers later. + * + * FIXME the PM core self-deadlocks when unbinding + * drivers during suspend/resume ... everything grabs + * dpm_sem (not a spinlock, ugh). we want to unbind, + * since we know every driver's probe/disconnect works + * even for drivers that can't suspend. + */ + if (!driver->suspend || state > PM_SUSPEND_MEM) { +#if 1 + dev_warn(&intf->dev, "resume is unsafe!\n"); +#else + down_write(&usb_bus_type.rwsem); + device_release_driver(&intf->dev); + up_write(&usb_bus_type.rwsem); +#endif + } + } + } + + /* + * FIXME this needs port power off call paths too, to help force + * USB into the "generic" PM model. At least for devices on + * ports that aren't using ganged switching (usually root hubs). + * + * NOTE: SRP-capable links should adopt more aggressive poweroff + * policies (when HNP doesn't apply) once we have mechanisms to + * turn power back on! (Likely not before 2.7...) + */ + if (state > PM_SUSPEND_MEM) { + dev_warn(&udev->dev, "no poweroff yet, suspending instead\n"); + state = PM_SUSPEND_MEM; + } + + /* "global suspend" of the HC-to-USB interface (root hub), or + * "selective suspend" of just one hub-device link. + */ + if (!udev->parent) { + struct usb_bus *bus = udev->bus; + if (bus && bus->op->hub_suspend) + status = bus->op->hub_suspend (bus); + else + status = -EOPNOTSUPP; + } else + status = hub_port_suspend(udev->parent, port + 1); + + if (status == 0) + udev->dev.power.power_state = state; + up(&udev->serialize); + return status; +} + +/** + * usb_suspend_device - suspend a usb device + * @udev: device that's no longer in active use + * @state: PM_SUSPEND_MEM to suspend + * Context: must be able to sleep; device not locked + * + * Suspends a USB device that isn't in active use, conserving power. + * Devices may wake out of a suspend, if anything important happens, + * using the remote wakeup mechanism. They may also be taken out of + * suspend by the host, using usb_resume_device(). It's also routine + * to disconnect devices while they are suspended. + * + * Suspending OTG devices may trigger HNP, if that's been enabled + * between a pair of dual-role devices. That will change roles, such + * as from A-Host to A-Peripheral or from B-Host back to B-Peripheral. + * + * Returns 0 on success, else negative errno. + */ +int usb_suspend_device(struct usb_device *udev, u32 state) +{ + return __usb_suspend_device(udev, locktree(udev), state); +} + +/* + * hardware resume signaling is finished, either because of selective + * resume (by host) or remote wakeup (by device) ... now see what changed + * in the tree that's rooted at this device. + */ +static int finish_port_resume(struct usb_device *udev) +{ + int status; + u16 devstatus; + + /* caller owns udev->serialize */ + dev_dbg(&udev->dev, "usb resume\n"); + udev->dev.power.power_state = PM_SUSPEND_ON; + + /* usb ch9 identifies four variants of SUSPENDED, based on what + * state the device resumes to. Linux currently won't see the + * first two on the host side; they'd be inside hub_port_init() + * during many timeouts, but khubd can't suspend until later. + */ + udev->state = udev->actconfig + ? USB_STATE_CONFIGURED + : USB_STATE_ADDRESS; + + /* 10.5.4.5 says be sure devices in the tree are still there. + * For now let's assume the device didn't go crazy on resume, + * and device drivers will know about any resume quirks. + */ + status = usb_get_status(udev, USB_RECIP_DEVICE, 0, &devstatus); + if (status < 0) + dev_dbg(&udev->dev, + "gone after usb resume? status %d\n", + status); + else if (udev->actconfig) { + unsigned i; + + le16_to_cpus(&devstatus); + if (devstatus & (1 << USB_DEVICE_REMOTE_WAKEUP)) { + status = usb_control_msg(udev, + usb_sndctrlpipe(udev, 0), + USB_REQ_CLEAR_FEATURE, + USB_RECIP_DEVICE, + USB_DEVICE_REMOTE_WAKEUP, 0, + NULL, 0, + USB_CTRL_SET_TIMEOUT); + if (status) { + dev_dbg(&udev->dev, "disable remote " + "wakeup, status %d\n", status); + status = 0; + } + } + + /* resume interface drivers; if this is a hub, it + * resumes the child devices + */ + for (i = 0; i < udev->actconfig->desc.bNumInterfaces; i++) { + struct usb_interface *intf; + struct usb_driver *driver; + + intf = udev->actconfig->interface[i]; + if (intf->dev.power.power_state == PM_SUSPEND_ON) + continue; + if (!intf->dev.driver) { + /* FIXME maybe force to alt 0 */ + continue; + } + driver = to_usb_driver(intf->dev.driver); + + /* bus_rescan_devices() may rebind drivers */ + if (!driver->resume) + continue; + + /* can we do better than just logging errors? */ + status = driver->resume(intf); + if (intf->dev.power.power_state != PM_SUSPEND_ON + || status) + dev_dbg(&intf->dev, + "resume fail, state %d code %d\n", + intf->dev.power.power_state, status); + } + status = 0; + + } else if (udev->devnum <= 0) { + dev_dbg(&udev->dev, "bogus resume!\n"); + status = -EINVAL; + } + return status; +} + +static int +hub_port_resume(struct usb_device *hdev, int port) +{ + int status; + struct usb_device *udev; + + udev = hdev->children[port - 1]; + // dev_dbg(hubdev(hdev), "resume port %d\n", port); + + /* see 7.1.7.7; affects power usage, but not budgeting */ + status = clear_port_feature(hdev, port, USB_PORT_FEAT_SUSPEND); + if (status) { + dev_dbg(&hdev->actconfig->interface[0]->dev, + "can't resume port %d, status %d\n", + port, status); + } else { + u16 devstatus; + u16 portchange; + + /* drive resume for at least 20 msec */ + dev_dbg(&udev->dev, "RESUME\n"); + msleep(25); + +#define LIVE_FLAGS ( USB_PORT_STAT_POWER \ + | USB_PORT_STAT_ENABLE \ + | USB_PORT_STAT_CONNECTION) + + /* Virtual root hubs can trigger on GET_PORT_STATUS to + * stop resume signaling. Then finish the resume + * sequence. + */ + devstatus = portchange = 0; + status = hub_port_status(hdev, port - 1, + &devstatus, &portchange); + if (status < 0 + || (devstatus & LIVE_FLAGS) != LIVE_FLAGS + || (devstatus & USB_PORT_STAT_SUSPEND) != 0 + ) { + dev_dbg(&hdev->actconfig->interface[0]->dev, + "port %d status %04x.%04x after resume, %d\n", + port, portchange, devstatus, status); + } else { + /* TRSMRCY = 10 msec */ + msleep(10); + status = finish_port_resume(udev); + } + } + if (status < 0) + status = hub_port_disable(hdev, port); + + return status; +} + +static int hub_resume (struct usb_interface *intf); + +/** + * usb_resume_device - re-activate a suspended usb device + * @udev: device to re-activate + * Context: must be able to sleep; device not locked + * + * This will re-activate the suspended device, increasing power usage + * while letting drivers communicate again with its endpoints. + * USB resume explicitly guarantees that the power session between + * the host and the device is the same as it was when the device + * suspended. + * + * Returns 0 on success, else negative errno. + */ +int usb_resume_device(struct usb_device *udev) +{ + int port, status; + + port = locktree(udev); + if (port < 0) + return port; + + /* "global resume" of the HC-to-USB interface (root hub), or + * selective resume of one hub-to-device port + */ + if (!udev->parent) { + struct usb_bus *bus = udev->bus; + if (bus && bus->op->hub_resume) + status = bus->op->hub_resume (bus); + else + status = -EOPNOTSUPP; + if (status == 0) { + /* TRSMRCY = 10 msec */ + msleep(10); + status = hub_resume (bus->root_hub + ->actconfig->interface[0]); + } + } else if (udev->state == USB_STATE_SUSPENDED) { + status = hub_port_resume(udev->parent, port + 1); + } else { + status = 0; + udev->dev.power.power_state = PM_SUSPEND_ON; + } + if (status < 0) { + dev_dbg(&udev->dev, "can't resume, status %d\n", + status); + } + + up(&udev->serialize); + + /* rebind drivers that had no suspend() */ + bus_rescan_devices(&usb_bus_type); + + return status; +} + +static int remote_wakeup(struct usb_device *udev) +{ + int status = 0; + + /* don't repeat RESUME sequence if this device + * was already woken up by some other task + */ + down(&udev->serialize); + if (udev->state == USB_STATE_SUSPENDED) { + dev_dbg(&udev->dev, "RESUME (wakeup)\n"); + /* TRSMRCY = 10 msec */ + msleep(10); + status = finish_port_resume(udev); + } + up(&udev->serialize); + return status; +} + +static int hub_suspend(struct usb_interface *intf, u32 state) +{ + struct usb_hub *hub = usb_get_intfdata (intf); + struct usb_device *hdev = hub->hdev; + unsigned port; + int status; + + /* stop khubd and related activity */ + hub_quiesce(hub); + + /* then suspend every port */ + for (port = 0; port < hdev->maxchild; port++) { + struct usb_device *udev; + + udev = hdev->children [port]; + if (!udev) + continue; + down(&udev->serialize); + status = __usb_suspend_device(udev, port, state); + if (status < 0) + dev_dbg(&intf->dev, "suspend port %d --> %d\n", + port, status); + } + + intf->dev.power.power_state = state; + return 0; +} + +static int hub_resume(struct usb_interface *intf) +{ + struct usb_device *hdev = interface_to_usbdev(intf); + struct usb_hub *hub = usb_get_intfdata (intf); + unsigned port; + int status; + + for (port = 0; port < hdev->maxchild; port++) { + struct usb_device *udev; + u16 portstat, portchange; + + udev = hdev->children [port]; + status = hub_port_status(hdev, port, &portstat, &portchange); + if (status == 0) { + if (portchange & USB_PORT_STAT_C_SUSPEND) { + clear_port_feature(hdev, port + 1, + USB_PORT_FEAT_C_SUSPEND); + portchange &= ~USB_PORT_STAT_C_SUSPEND; + } + + /* let khubd handle disconnects etc */ + if (portchange) + continue; + } + + if (!udev) + continue; + down (&udev->serialize); + if (portstat & USB_PORT_STAT_SUSPEND) + status = hub_port_resume(hdev, port + 1); + else { + status = finish_port_resume(udev); + if (status < 0) + status = hub_port_disable(hdev, port); + if (status < 0) + dev_dbg(&intf->dev, "resume port %d --> %d\n", + port, status); + } + up(&udev->serialize); + } + intf->dev.power.power_state = PM_SUSPEND_ON; + + hub_reactivate(hub); + return 0; +} #else /* !CONFIG_USB_SUSPEND */ @@ -1369,6 +2011,10 @@ hub_port_init (struct usb_device *hdev, struct usb_device *udev, int port) hdev->bus->b_hnp_enable = 0; } + retval = clear_port_feature(hdev, port, USB_PORT_FEAT_SUSPEND); + if (retval < 0 && retval != -EPIPE) + dev_dbg(&udev->dev, "can't clear suspend; %d\n", retval); + /* Some low speed devices have problems with the quick delay, so */ /* be a bit pessimistic with those devices. RHbug #23670 */ if (oldspeed == USB_SPEED_LOW) @@ -1479,8 +2125,6 @@ hub_port_init (struct usb_device *hdev, struct usb_device *udev, int port) != udev->descriptor.bMaxPacketSize0)) { usb_disable_endpoint(udev, 0 + USB_DIR_IN); usb_disable_endpoint(udev, 0 + USB_DIR_OUT); - usb_endpoint_running(udev, 0, 1); - usb_endpoint_running(udev, 0, 0); udev->epmaxpacketin [0] = udev->descriptor.bMaxPacketSize0; udev->epmaxpacketout[0] = udev->descriptor.bMaxPacketSize0; } @@ -1574,6 +2218,7 @@ hub_power_remaining (struct usb_hub *hub) * a port enable-change occurs (often caused by EMI); * usb_reset_device() encounters changed descriptors (as from * a firmware download) + * caller already locked the hub */ static void hub_port_connect_change(struct usb_hub *hub, int port, u16 portstatus, u16 portchange) @@ -1596,6 +2241,12 @@ static void hub_port_connect_change(struct usb_hub *hub, int port, usb_disconnect(&hdev->children[port]); clear_bit(port, hub->change_bits); +#ifdef CONFIG_USB_OTG + /* during HNP, don't repeat the debounce */ + if (hdev->bus->is_b_host) + portchange &= ~USB_PORT_STAT_C_CONNECTION; +#endif + if (portchange & USB_PORT_STAT_C_CONNECTION) { status = hub_port_debounce(hdev, port); if (status < 0) { @@ -1780,7 +2431,8 @@ static void hub_events(void) /* Lock the device, then check to see if we were * disconnected while waiting for the lock to succeed. */ - down(&hdev->serialize); + if (locktree(hdev) < 0) + break; if (hdev->state != USB_STATE_CONFIGURED || !hdev->actconfig || hub != usb_get_intfdata( @@ -2034,7 +2686,7 @@ static int config_descriptors_changed(struct usb_device *udev) } /** - * usb_reset_devce - perform a USB port reset to reinitialize a device + * usb_reset_device - perform a USB port reset to reinitialize a device * @udev: device to reset (not in SUSPENDED or NOTATTACHED state) * * WARNING - don't reset any device unless drivers for all of its @@ -2123,7 +2775,7 @@ int __usb_reset_device(struct usb_device *udev) struct usb_interface *intf = udev->actconfig->interface[i]; struct usb_interface_descriptor *desc; - /* set_interface resets host side toggle and halt status even + /* set_interface resets host side toggle even * for altsetting zero. the interface may have no driver. */ desc = &intf->cur_altsetting->desc; diff --git a/drivers/usb/core/hub.h b/drivers/usb/core/hub.h index 9e81738fd..7ace2d24d 100644 --- a/drivers/usb/core/hub.h +++ b/drivers/usb/core/hub.h @@ -60,8 +60,8 @@ * See USB 2.0 spec Table 11-19 and Table 11-20 */ struct usb_port_status { - __u16 wPortStatus; - __u16 wPortChange; + __le16 wPortStatus; + __le16 wPortChange; } __attribute__ ((packed)); /* @@ -103,8 +103,8 @@ struct usb_port_status { #define HUB_CHAR_PORTIND 0x0080 /* D7 */ struct usb_hub_status { - __u16 wHubStatus; - __u16 wHubChange; + __le16 wHubStatus; + __le16 wHubChange; } __attribute__ ((packed)); /* @@ -190,8 +190,8 @@ struct usb_hub { struct usb_device *hdev; struct urb *urb; /* for interrupt polling pipe */ - /* buffer for urb ... 1 bit each for hub and children, rounded up */ - char (*buffer)[(USB_MAXCHILDREN + 1 + 7) / 8]; + /* buffer for urb ... with extra space in case of babble */ + char (*buffer)[8]; dma_addr_t buffer_dma; /* DMA address for buffer */ union { struct usb_hub_status hub; @@ -214,6 +214,8 @@ struct usb_hub { u8 power_budget; /* in 2mA units; or zero */ + unsigned quiescing:1; + unsigned has_indicators:1; enum hub_led_mode indicator[USB_MAXCHILDREN]; struct work_struct leds; diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c index d73c3ad45..c9f57e334 100644 --- a/drivers/usb/core/inode.c +++ b/drivers/usb/core/inode.c @@ -345,30 +345,13 @@ static int usbfs_unlink (struct inode *dir, struct dentry *dentry) return 0; } -static void d_unhash(struct dentry *dentry) -{ - dget(dentry); - spin_lock(&dcache_lock); - switch (atomic_read(&dentry->d_count)) { - default: - spin_unlock(&dcache_lock); - shrink_dcache_parent(dentry); - spin_lock(&dcache_lock); - if (atomic_read(&dentry->d_count) != 2) - break; - case 2: - __d_drop(dentry); - } - spin_unlock(&dcache_lock); -} - static int usbfs_rmdir(struct inode *dir, struct dentry *dentry) { int error = -ENOTEMPTY; struct inode * inode = dentry->d_inode; down(&inode->i_sem); - d_unhash(dentry); + dentry_unhash(dentry); if (usbfs_empty(dentry)) { dentry->d_inode->i_nlink -= 2; dput(dentry); diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index e0eacc28a..98695c68d 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -248,7 +248,7 @@ static void sg_complete (struct urb *urb, struct pt_regs *regs) * unlink pending urbs so they won't rx/tx bad data. */ for (i = 0, found = 0; i < io->entries; i++) { - if (!io->urbs [i]) + if (!io->urbs [i] || !io->urbs [i]->dev) continue; if (found) { status = usb_unlink_urb (io->urbs [i]); @@ -337,7 +337,7 @@ int usb_sg_init ( if (io->entries <= 0) return io->entries; - io->count = 0; + io->count = io->entries; io->urbs = kmalloc (io->entries * sizeof *io->urbs, mem_flags); if (!io->urbs) goto nomem; @@ -347,7 +347,7 @@ int usb_sg_init ( if (usb_pipein (pipe)) urb_flags |= URB_SHORT_NOT_OK; - for (i = 0; i < io->entries; i++, io->count = i) { + for (i = 0; i < io->entries; i++) { unsigned len; io->urbs [i] = usb_alloc_urb (0, mem_flags); @@ -477,24 +477,19 @@ void usb_sg_wait (struct usb_sg_request *io) /* fail any uncompleted urbs */ default: - spin_lock_irq (&io->lock); - io->count -= entries - i; - if (io->status == -EINPROGRESS) - io->status = retval; - if (io->count == 0) - complete (&io->complete); - spin_unlock_irq (&io->lock); - - io->urbs[i]->dev = NULL; + io->urbs [i]->dev = NULL; io->urbs [i]->status = retval; dev_dbg (&io->dev->dev, "%s, submit --> %d\n", __FUNCTION__, retval); usb_sg_cancel (io); } spin_lock_irq (&io->lock); - if (retval && io->status == -ECONNRESET) + if (retval && (io->status == 0 || io->status == -ECONNRESET)) io->status = retval; } + io->count -= entries - i; + if (io->count == 0) + complete (&io->complete); spin_unlock_irq (&io->lock); /* OK, yes, this could be packaged as non-blocking. @@ -577,8 +572,13 @@ int usb_get_descriptor(struct usb_device *dev, unsigned char type, unsigned char USB_REQ_GET_DESCRIPTOR, USB_DIR_IN, (type << 8) + index, 0, buf, size, HZ * USB_CTRL_GET_TIMEOUT); - if (!(result == 0 || result == -EPIPE)) - break; + if (result == 0 || result == -EPIPE) + continue; + if (result > 1 && ((u8 *)buf)[1] != type) { + result = -EPROTO; + continue; + } + break; } return result; } @@ -854,9 +854,8 @@ int usb_clear_halt(struct usb_device *dev, int pipe) * the copy in usb-storage, for as long as we need two copies. */ - /* toggle was reset by the clear, then ep was reactivated */ + /* toggle was reset by the clear */ usb_settoggle(dev, usb_pipeendpoint(pipe), usb_pipeout(pipe), 0); - usb_endpoint_running(dev, usb_pipeendpoint(pipe), usb_pipeout(pipe)); return 0; } @@ -870,9 +869,8 @@ int usb_clear_halt(struct usb_device *dev, int pipe) * Deallocates hcd/hardware state for this endpoint ... and nukes all * pending urbs. * - * If the HCD hasn't registered a disable() function, this marks the - * endpoint as halted and sets its maxpacket size to 0 to prevent - * further submissions. + * If the HCD hasn't registered a disable() function, this sets the + * endpoint's maxpacket size to 0 to prevent further submissions. */ void usb_disable_endpoint(struct usb_device *dev, unsigned int epaddr) { @@ -881,13 +879,10 @@ void usb_disable_endpoint(struct usb_device *dev, unsigned int epaddr) else { unsigned int epnum = epaddr & USB_ENDPOINT_NUMBER_MASK; - if (usb_endpoint_out(epaddr)) { - usb_endpoint_halt(dev, epnum, 1); + if (usb_endpoint_out(epaddr)) dev->epmaxpacketout[epnum] = 0; - } else { - usb_endpoint_halt(dev, epnum, 0); + else dev->epmaxpacketin[epnum] = 0; - } } } @@ -930,7 +925,6 @@ void usb_disable_device(struct usb_device *dev, int skip_ep0) usb_disable_endpoint(dev, i + USB_DIR_IN); } dev->toggle[0] = dev->toggle[1] = 0; - dev->halted[0] = dev->halted[1] = 0; /* getting rid of interfaces will disconnect * any drivers bound to them (a key side effect) @@ -966,9 +960,8 @@ void usb_disable_device(struct usb_device *dev, int skip_ep0) * @dev: the device whose interface is being enabled * @epd: pointer to the endpoint descriptor * - * Marks the endpoint as running, resets its toggle, and stores - * its maxpacket value. For control endpoints, both the input - * and output sides are handled. + * Resets the endpoint toggle and stores its maxpacket value. + * For control endpoints, both the input and output sides are handled. */ void usb_enable_endpoint(struct usb_device *dev, struct usb_endpoint_descriptor *epd) @@ -980,12 +973,10 @@ void usb_enable_endpoint(struct usb_device *dev, USB_ENDPOINT_XFER_CONTROL); if (usb_endpoint_out(epaddr) || is_control) { - usb_endpoint_running(dev, epnum, 1); usb_settoggle(dev, epnum, 1, 0); dev->epmaxpacketout[epnum] = maxsize; } if (!usb_endpoint_out(epaddr) || is_control) { - usb_endpoint_running(dev, epnum, 0); usb_settoggle(dev, epnum, 0, 0); dev->epmaxpacketin[epnum] = maxsize; } @@ -1048,6 +1039,9 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate) int ret; int manual = 0; + if (dev->state == USB_STATE_SUSPENDED) + return -EHOSTUNREACH; + iface = usb_ifnum_to_if(dev, interface); if (!iface) { dev_dbg(&dev->dev, "selecting invalid interface %d\n", @@ -1145,6 +1139,9 @@ int usb_reset_configuration(struct usb_device *dev) int i, retval; struct usb_host_config *config; + if (dev->state == USB_STATE_SUSPENDED) + return -EHOSTUNREACH; + /* caller must own dev->serialize (config won't change) * and the usb bus readlock (so driver bindings are stable); * so calls during probe() are fine @@ -1166,7 +1163,6 @@ int usb_reset_configuration(struct usb_device *dev) } dev->toggle[0] = dev->toggle[1] = 0; - dev->halted[0] = dev->halted[1] = 0; /* re-init hc/hcd interface/endpoint state */ for (i = 0; i < config->desc.bNumInterfaces; i++) { @@ -1195,7 +1191,7 @@ static void release_interface(struct device *dev) struct usb_interface_cache *intfc = altsetting_to_usb_interface_cache(intf->altsetting); - kref_put(&intfc->ref); + kref_put(&intfc->ref, usb_release_interface_cache); kfree(intf); } @@ -1258,6 +1254,9 @@ int usb_set_configuration(struct usb_device *dev, int configuration) if (cp && configuration == 0) dev_warn(&dev->dev, "config 0 descriptor??\n"); + if (dev->state == USB_STATE_SUSPENDED) + return -EHOSTUNREACH; + /* Allocate memory for new interfaces before doing anything else, * so that if we run out then nothing will have changed. */ n = nintf = 0; diff --git a/drivers/usb/core/urb.c b/drivers/usb/core/urb.c index 777f34ea6..3c14361bb 100644 --- a/drivers/usb/core/urb.c +++ b/drivers/usb/core/urb.c @@ -39,7 +39,7 @@ void usb_init_urb(struct urb *urb) { if (urb) { memset(urb, 0, sizeof(*urb)); - kref_init(&urb->kref, urb_destroy); + kref_init(&urb->kref); spin_lock_init(&urb->lock); } } @@ -88,7 +88,7 @@ struct urb *usb_alloc_urb(int iso_packets, int mem_flags) void usb_free_urb(struct urb *urb) { if (urb) - kref_put(&urb->kref); + kref_put(&urb->kref, urb_destroy); } /** @@ -256,13 +256,6 @@ int usb_submit_urb(struct urb *urb, int mem_flags) if (!usb_pipecontrol (pipe) && dev->state < USB_STATE_CONFIGURED) return -ENODEV; - /* (actually HCDs may need to duplicate this, endpoint might yet - * stall due to queued bulk/intr transactions that complete after - * we check) - */ - if (usb_endpoint_halted (dev, usb_pipeendpoint (pipe), is_out)) - return -EPIPE; - /* FIXME there should be a sharable lock protecting us against * config/altsetting changes and disconnects, kicking in here. * (here == before maxpacket, and eventually endpoint type, diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c index 324e16caf..de2edfb08 100644 --- a/drivers/usb/core/usb.c +++ b/drivers/usb/core/usb.c @@ -93,6 +93,8 @@ int usb_probe_interface(struct device *dev) if (!driver->probe) return error; + if (interface_to_usbdev(intf)->state == USB_STATE_SUSPENDED) + return -EHOSTUNREACH; id = usb_match_id (intf, driver->id_table); if (id) { diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h index 7d978af3a..f1dff4f4d 100644 --- a/drivers/usb/core/usb.h +++ b/drivers/usb/core/usb.h @@ -10,6 +10,7 @@ extern int usb_unbind_interface (struct device *dev); extern void usb_disable_endpoint (struct usb_device *dev, unsigned int epaddr); extern void usb_disable_interface (struct usb_device *dev, struct usb_interface *intf); +extern void usb_release_interface_cache(struct kref *ref); extern void usb_disable_device (struct usb_device *dev, int skip_ep0); extern void usb_enable_endpoint (struct usb_device *dev, diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index 9189fb0da..decbca335 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -135,6 +135,18 @@ config USB_SA1100 depends on USB_GADGET_SA1100 default USB_GADGET +config USB_GADGET_LH7A40X + boolean "LH7A40X" + depends on ARCH_LH7A40X + help + This driver provides USB Device Controller driver for LH7A40x + +config USB_LH7A40X + tristate + depends on USB_GADGET_LH7A40X + default USB_GADGET + + config USB_GADGET_DUMMY_HCD boolean "Dummy HCD (DEVELOPMENT)" depends on USB && EXPERIMENTAL @@ -163,6 +175,41 @@ config USB_DUMMY_HCD depends on USB_GADGET_DUMMY_HCD default USB_GADGET +config USB_GADGET_OMAP + boolean "OMAP USB Device Controller" + depends on ARCH_OMAP + select ISP1301_OMAP if MACH_OMAP_H2 + help + Many Texas Instruments OMAP processors have flexible full + speed USB device controllers, with support for up to 30 + endpoints (plus endpoint zero). This driver supports the + controller in the OMAP 1611, and should work with controllers + in other OMAP processors too, given minor tweaks. + + Say "y" to link the driver statically, or "m" to build a + dynamically linked module called "omap_udc" and force all + gadget drivers to also be dynamically linked. + +config USB_OMAP + tristate + depends on USB_GADGET_OMAP + default USB_GADGET + +config USB_OTG + boolean "OTG Support" + depends on USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD + help + The most notable feature of USB OTG is support for a + "Dual-Role" device, which can act as either a device + or a host. The initial role choice can be changed + later, when two dual-role devices talk to each other. + + Select this only if your OMAP board has a Mini-AB connector. + +config USB_OMAP_PROC + boolean "/proc/driver/udc file" + depends on USB_GADGET_OMAP + endchoice config USB_GADGET_DUALSPEED @@ -275,7 +322,7 @@ config USB_GADGETFS dynamically linked module called "gadgetfs". config USB_FILE_STORAGE - tristate "File-backed Storage Gadget (DEVELOPMENT)" + tristate "File-backed Storage Gadget" # we don't support the SA1100 because of its limitations depends on USB_GADGET_SA1100 = n help @@ -288,7 +335,7 @@ config USB_FILE_STORAGE dynamically linked module called "g_file_storage". config USB_FILE_STORAGE_TEST - bool "File-backed Storage Gadget test version" + bool "File-backed Storage Gadget testing version" depends on USB_FILE_STORAGE default n help diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c index 4c1b157cf..91e878642 100644 --- a/drivers/usb/gadget/dummy_hcd.c +++ b/drivers/usb/gadget/dummy_hcd.c @@ -596,14 +596,13 @@ static const struct usb_gadget_ops dummy_ops = { /* "function" sysfs attribute */ static ssize_t -show_function (struct device *_dev, char *buf) +show_function (struct device *dev, char *buf) { - struct dummy *dum = the_controller; + struct dummy *dum = gadget_dev_to_dummy (dev); - if (!dum->driver->function - || strlen (dum->driver->function) > PAGE_SIZE) + if (!dum->driver || !dum->driver->function) return 0; - return snprintf (buf, PAGE_SIZE, "%s\n", dum->driver->function); + return scnprintf (buf, PAGE_SIZE, "%s\n", dum->driver->function); } DEVICE_ATTR (function, S_IRUGO, show_function, NULL); diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 174afd47b..763d05521 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c @@ -63,6 +63,7 @@ /* * Ethernet gadget driver -- with CDC and non-CDC options + * Builds on hardware support for a full duplex link. * * CDC Ethernet is the standard USB solution for sending Ethernet frames * using USB. Real hardware tends to use the same framing protocol but look @@ -242,6 +243,10 @@ MODULE_PARM_DESC(host_addr, "Host Ethernet Address"); #define DEV_CONFIG_SUBSET #endif +#ifdef CONFIG_USB_GADGET_LH7A40X +#define DEV_CONFIG_CDC +#endif + #ifdef CONFIG_USB_GADGET_SA1100 /* use non-CDC for backwards compatibility */ #define DEV_CONFIG_SUBSET @@ -855,7 +860,7 @@ static char product_desc [40] = DRIVER_DESC; static char ethaddr [2 * ETH_ALEN + 1]; #endif -/* static strings, in iso 8859/1 */ +/* static strings, in UTF-8 */ static struct usb_string strings [] = { { STRING_MANUFACTURER, manufacturer, }, { STRING_PRODUCT, product_desc, }, @@ -897,9 +902,9 @@ config_buf (enum usb_device_speed speed, if (type == USB_DT_OTHER_SPEED_CONFIG) hs = !hs; -#define which_fn(t) (hs ? & hs_ ## t ## _function : & fs_ ## t ## _function) +#define which_fn(t) (hs ? hs_ ## t ## _function : fs_ ## t ## _function) #else -#define which_fn(t) (& fs_ ## t ## _function) +#define which_fn(t) (fs_ ## t ## _function) #endif if (index >= device_desc.bNumConfigurations) @@ -911,14 +916,12 @@ config_buf (enum usb_device_speed speed, */ if (device_desc.bNumConfigurations == 2 && index == 0) { config = &rndis_config; - function = (const struct usb_descriptor_header **) - which_fn (rndis); + function = which_fn (rndis); } else #endif { config = ð_config; - function = (const struct usb_descriptor_header **) - which_fn (eth); + function = which_fn (eth); } /* for now, don't advertise srp-only devices */ @@ -2329,6 +2332,8 @@ eth_bind (struct usb_gadget *gadget) device_desc.bcdDevice = __constant_cpu_to_le16 (0x0207); } else if (gadget_is_omap (gadget)) { device_desc.bcdDevice = __constant_cpu_to_le16 (0x0208); + } else if (gadget_is_lh7a40x(gadget)) { + device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209); } else { /* can't assume CDC works. don't want to default to * anything less functional on CDC-capable hardware, diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c index 9b978911e..6e8008fa4 100644 --- a/drivers/usb/gadget/file_storage.c +++ b/drivers/usb/gadget/file_storage.c @@ -46,17 +46,16 @@ * * Backing storage is provided by a regular file or a block device, specified * by the "file" module parameter. Access can be limited to read-only by - * setting the optional "ro" module parameter. + * setting the optional "ro" module parameter. The gadget will indicate that + * it has removable media if the optional "removable" module parameter is set. * * The gadget supports the Control-Bulk (CB), Control-Bulk-Interrupt (CBI), * and Bulk-Only (also known as Bulk-Bulk-Bulk or BBB) transports, selected * by the optional "transport" module parameter. It also supports the * following protocols: RBC (0x01), ATAPI or SFF-8020i (0x02), QIC-157 (0c03), * UFI (0x04), SFF-8070i (0x05), and transparent SCSI (0x06), selected by - * the optional "protocol" module parameter. For testing purposes the - * gadget will indicate that it has removable media if the optional - * "removable" module parameter is set. In addition, the default Vendor ID, - * Product ID, and release number can be overridden. + * the optional "protocol" module parameter. In addition, the default + * Vendor ID, Product ID, and release number can be overridden. * * There is support for multiple logical units (LUNs), each of which has * its own backing file. The number of LUNs can be set using the optional @@ -79,13 +78,13 @@ * the files or block devices used for * backing storage * ro=b[,b...] Default false, booleans for read-only access + * removable Default false, boolean for removable media * luns=N Default N = number of filenames, number of * LUNs to support * transport=XXX Default BBB, transport name (CB, CBI, or BBB) * protocol=YYY Default SCSI, protocol name (RBC, 8020 or * ATAPI, QIC, UFI, 8070, or SCSI; * also 1 - 6) - * removable Default false, boolean for removable media * vendor=0xVVVV Default 0x0525 (NetChip), USB Vendor ID * product=0xPPPP Default 0xa4a5 (FSG), USB Product ID * release=0xRRRR Override the USB release number (bcdDevice) @@ -97,16 +96,16 @@ * boolean to permit the driver to halt * bulk endpoints * - * If CONFIG_USB_FILE_STORAGE_TEST is not set, only the "file" and "ro" - * options are available; default values are used for everything else. + * If CONFIG_USB_FILE_STORAGE_TEST is not set, only the "file", "ro", + * "removable", and "luns" options are available; default values are used + * for everything else. * * The pathnames of the backing files and the ro settings are available in * the attribute files "file" and "ro" in the lun subdirectory of the - * gadget's sysfs directory. If CONFIG_USB_FILE_STORAGE_TEST and the - * "removable" option are both set, writing to these files will simulate - * ejecting/loading the medium (writing an empty line means eject) and - * adjusting a write-enable tab. Changes to the ro setting are not allowed - * when the medium is loaded. + * gadget's sysfs directory. If the "removable" option is set, writing to + * these files will simulate ejecting/loading the medium (writing an empty + * line means eject) and adjusting a write-enable tab. Changes to the ro + * setting are not allowed when the medium is loaded. * * This gadget driver is heavily based on "Gadget Zero" by David Brownell. */ @@ -178,7 +177,10 @@ * Bulk-only specification requires a stall. In such cases the driver * will halt the endpoint and set a flag indicating that it should clear * the halt in software during the next device reset. Hopefully this - * will permit everything to work correctly. + * will permit everything to work correctly. Furthermore, although the + * specification allows the bulk-out endpoint to halt when the host sends + * too much data, implementing this would cause an unavoidable race. + * The driver will always use the "no-stall" approach for OUT transfers. * * One subtle point concerns sending status-stage responses for ep0 * requests. Some of these requests, such as device reset, can involve @@ -246,7 +248,7 @@ #define DRIVER_DESC "File-backed Storage Gadget" #define DRIVER_NAME "g_file_storage" -#define DRIVER_VERSION "21 March 2004" +#define DRIVER_VERSION "28 July 2004" static const char longname[] = DRIVER_DESC; static const char shortname[] = DRIVER_NAME; @@ -371,14 +373,17 @@ MODULE_PARM_DESC(file, "names of backing files or devices"); module_param_array(ro, bool, mod_data.num_ros, S_IRUGO); MODULE_PARM_DESC(ro, "true to force read-only"); +module_param_named(luns, mod_data.nluns, uint, S_IRUGO); +MODULE_PARM_DESC(luns, "number of LUNs"); -/* In the non-TEST version, only the file and ro module parameters +module_param_named(removable, mod_data.removable, bool, S_IRUGO); +MODULE_PARM_DESC(removable, "true to simulate removable media"); + + +/* In the non-TEST version, only the module parameters listed above * are available. */ #ifdef CONFIG_USB_FILE_STORAGE_TEST -module_param_named(luns, mod_data.nluns, uint, S_IRUGO); -MODULE_PARM_DESC(luns, "number of LUNs"); - module_param_named(transport, mod_data.transport_parm, charp, S_IRUGO); MODULE_PARM_DESC(transport, "type of transport (BBB, CBI, or CB)"); @@ -386,9 +391,6 @@ module_param_named(protocol, mod_data.protocol_parm, charp, S_IRUGO); MODULE_PARM_DESC(protocol, "type of protocol (RBC, 8020, QIC, UFI, " "8070, or SCSI)"); -module_param_named(removable, mod_data.removable, bool, S_IRUGO); -MODULE_PARM_DESC(removable, "true to simulate removable media"); - module_param_named(vendor, mod_data.vendor, ushort, S_IRUGO); MODULE_PARM_DESC(vendor, "USB Vendor ID"); @@ -525,11 +527,6 @@ struct interrupt_data { * parts of the driver that aren't used in the non-TEST version. Even gcc * can recognize when a test of a constant expression yields a dead code * path. - * - * Also, in the non-TEST version, open_backing_file() is only used during - * initialization and the sysfs attribute store_xxx routines aren't used - * at all. We will define NORMALLY_INIT to mark them as __init so they - * don't occupy kernel code space unnecessarily. */ #ifdef CONFIG_USB_FILE_STORAGE_TEST @@ -537,16 +534,12 @@ struct interrupt_data { #define transport_is_bbb() (mod_data.transport_type == USB_PR_BULK) #define transport_is_cbi() (mod_data.transport_type == USB_PR_CBI) #define protocol_is_scsi() (mod_data.protocol_type == USB_SC_SCSI) -#define backing_file_is_open(curlun) ((curlun)->filp != NULL) -#define NORMALLY_INIT #else #define transport_is_bbb() 1 #define transport_is_cbi() 0 #define protocol_is_scsi() 1 -#define backing_file_is_open(curlun) 1 -#define NORMALLY_INIT __init #endif /* CONFIG_USB_FILE_STORAGE_TEST */ @@ -567,6 +560,8 @@ struct lun { struct device dev; }; +#define backing_file_is_open(curlun) ((curlun)->filp != NULL) + static inline struct lun *dev_to_lun(struct device *dev) { return container_of(dev, struct lun, dev); @@ -659,6 +654,7 @@ struct fsg_dev { unsigned long atomic_bitflags; #define REGISTERED 0 #define CLEAR_BULK_HALTS 1 +#define SUSPENDED 2 struct usb_ep *bulk_in; struct usb_ep *bulk_out; @@ -1041,8 +1037,6 @@ static int populate_config_buf(enum usb_device_speed speed, function = fs_function; len = usb_gadget_config_buf(&config_desc, buf, EP0_BUFSIZE, function); - if (len < 0) - return len; ((struct usb_config_descriptor *) buf)->bDescriptorType = type; return len; } @@ -1172,9 +1166,10 @@ static void bulk_out_complete(struct usb_ep *ep, struct usb_request *req) wakeup_thread(fsg); } + +#ifdef CONFIG_USB_FILE_STORAGE_TEST static void intr_in_complete(struct usb_ep *ep, struct usb_request *req) { -#ifdef CONFIG_USB_FILE_STORAGE_TEST struct fsg_dev *fsg = (struct fsg_dev *) ep->driver_data; struct fsg_buffhd *bh = (struct fsg_buffhd *) req->context; @@ -1190,17 +1185,21 @@ static void intr_in_complete(struct usb_ep *ep, struct usb_request *req) bh->state = BUF_STATE_EMPTY; spin_unlock(&fsg->lock); wakeup_thread(fsg); -#endif /* CONFIG_USB_FILE_STORAGE_TEST */ } +#else +static void intr_in_complete(struct usb_ep *ep, struct usb_request *req) +{} +#endif /* CONFIG_USB_FILE_STORAGE_TEST */ + /*-------------------------------------------------------------------------*/ /* Ep0 class-specific handlers. These always run in_irq. */ +#ifdef CONFIG_USB_FILE_STORAGE_TEST static void received_cbi_adsc(struct fsg_dev *fsg, struct fsg_buffhd *bh) { -#ifdef CONFIG_USB_FILE_STORAGE_TEST struct usb_request *req = fsg->ep0req; static u8 cbi_reset_cmnd[6] = { SC_SEND_DIAGNOSTIC, 4, 0xff, 0xff, 0xff, 0xff}; @@ -1238,9 +1237,13 @@ static void received_cbi_adsc(struct fsg_dev *fsg, struct fsg_buffhd *bh) spin_unlock(&fsg->lock); wakeup_thread(fsg); -#endif /* CONFIG_USB_FILE_STORAGE_TEST */ } +#else +static void received_cbi_adsc(struct fsg_dev *fsg, struct fsg_buffhd *bh) +{} +#endif /* CONFIG_USB_FILE_STORAGE_TEST */ + static int class_setup_req(struct fsg_dev *fsg, const struct usb_ctrlrequest *ctrl) @@ -1465,8 +1468,8 @@ static int fsg_setup(struct usb_gadget *gadget, /* Respond with data/status or defer until later? */ if (rc >= 0 && rc != DELAYED_STATUS) { fsg->ep0req->length = rc; - fsg->ep0req->zero = rc < ctrl->wLength - && (rc % gadget->ep0->maxpacket) == 0; + fsg->ep0req->zero = (rc < ctrl->wLength && + (rc % gadget->ep0->maxpacket) == 0); fsg->ep0req_name = (ctrl->bRequestType & USB_DIR_IN ? "ep0-in" : "ep0-out"); rc = ep0_queue(fsg); @@ -2443,14 +2446,19 @@ static int finish_reply(struct fsg_dev *fsg) rc = -EINTR; } - /* We haven't processed all the incoming data. If we are - * allowed to stall, halt the bulk-out endpoint and cancel - * any outstanding requests. */ + /* We haven't processed all the incoming data. Even though + * we may be allowed to stall, doing so would cause a race. + * The controller may already have ACK'ed all the remaining + * bulk-out packets, in which case the host wouldn't see a + * STALL. Not realizing the endpoint was halted, it wouldn't + * clear the halt -- leading to problems later on. */ +#if 0 else if (mod_data.can_stall) { fsg_set_halt(fsg, fsg->bulk_out); raise_exception(fsg, FSG_STATE_ABORT_BULK_OUT); rc = -EINTR; } +#endif /* We can't stall. Read in the excess data and throw it * all away. */ @@ -2513,7 +2521,7 @@ static int send_status(struct fsg_dev *fsg) } else if (mod_data.transport_type == USB_PR_CB) { - /* Control-Bulk transport has no status stage! */ + /* Control-Bulk transport has no status phase! */ return 0; } else { // USB_PR_CBI @@ -2603,8 +2611,10 @@ static int check_command(struct fsg_dev *fsg, int cmnd_size, fsg->residue = fsg->usb_amount_left = fsg->data_size; /* Conflicting data directions is a phase error */ - if (fsg->data_dir != data_dir && fsg->data_size_from_cmnd > 0) - goto phase_error; + if (fsg->data_dir != data_dir && fsg->data_size_from_cmnd > 0) { + fsg->phase_error = 1; + return -EINVAL; + } /* Verify the length of the command itself */ if (cmnd_size != fsg->cmnd_size) { @@ -2613,8 +2623,10 @@ static int check_command(struct fsg_dev *fsg, int cmnd_size, * with cbw->Length == 12 (it should be 6). */ if (fsg->cmnd[0] == SC_REQUEST_SENSE && fsg->cmnd_size == 12) cmnd_size = fsg->cmnd_size; - else - goto phase_error; + else { + fsg->phase_error = 1; + return -EINVAL; + } } /* Check that the LUN values are oonsistent */ @@ -2674,10 +2686,6 @@ static int check_command(struct fsg_dev *fsg, int cmnd_size, } return 0; - -phase_error: - fsg->phase_error = 1; - return -EINVAL; } @@ -3424,8 +3432,7 @@ static int fsg_main_thread(void *fsg_) /* If the next two routines are called while the gadget is registered, * the caller must own fsg->filesem for writing. */ -static int NORMALLY_INIT open_backing_file(struct lun *curlun, - const char *filename) +static int open_backing_file(struct lun *curlun, const char *filename) { int ro; struct file *filp = NULL; @@ -3550,8 +3557,7 @@ static ssize_t show_file(struct device *dev, char *buf) } -ssize_t NORMALLY_INIT store_ro(struct device *dev, const char *buf, - size_t count) +ssize_t store_ro(struct device *dev, const char *buf, size_t count) { ssize_t rc = count; struct lun *curlun = dev_to_lun(dev); @@ -3575,8 +3581,7 @@ ssize_t NORMALLY_INIT store_ro(struct device *dev, const char *buf, return rc; } -ssize_t NORMALLY_INIT store_file(struct device *dev, const char *buf, - size_t count) +ssize_t store_file(struct device *dev, const char *buf, size_t count) { struct lun *curlun = dev_to_lun(dev); struct fsg_dev *fsg = (struct fsg_dev *) dev_get_drvdata(dev); @@ -3708,6 +3713,8 @@ static int __init check_parameters(struct fsg_dev *fsg) mod_data.release = __constant_cpu_to_le16(0x0307); else if (gadget_is_omap(fsg->gadget)) mod_data.release = __constant_cpu_to_le16(0x0308); + else if (gadget_is_lh7a40x(gadget)) + mod_data.release = __constant_cpu_to_le16 (0x0309); else { WARN(fsg, "controller '%s' not recognized\n", fsg->gadget->name); @@ -3805,9 +3812,8 @@ static int __init fsg_bind(struct usb_gadget *gadget) goto out; } - /* Create the LUNs and open their backing files. We can't register - * the LUN devices until the gadget itself is registered, which - * doesn't happen until after fsg_bind() returns. */ + /* Create the LUNs, open their backing files, and register the + * LUN devices in sysfs. */ fsg->luns = kmalloc(i * sizeof(struct lun), GFP_KERNEL); if (!fsg->luns) { rc = -ENOMEM; @@ -3825,6 +3831,15 @@ static int __init fsg_bind(struct usb_gadget *gadget) snprintf(curlun->dev.bus_id, BUS_ID_SIZE, "%s-lun%d", gadget->dev.bus_id, i); + if ((rc = device_register(&curlun->dev)) != 0) + INFO(fsg, "failed to register LUN%d: %d\n", i, rc); + else { + curlun->registered = 1; + curlun->dev.release = lun_release; + device_create_file(&curlun->dev, &dev_attr_ro); + device_create_file(&curlun->dev, &dev_attr_file); + } + if (file[i] && *file[i]) { if ((rc = open_backing_file(curlun, file[i])) != 0) goto out; @@ -3972,6 +3987,25 @@ out: } +/*-------------------------------------------------------------------------*/ + +static void fsg_suspend(struct usb_gadget *gadget) +{ + struct fsg_dev *fsg = get_gadget_data(gadget); + + DBG(fsg, "suspend\n"); + set_bit(SUSPENDED, &fsg->atomic_bitflags); +} + +static void fsg_resume(struct usb_gadget *gadget) +{ + struct fsg_dev *fsg = get_gadget_data(gadget); + + DBG(fsg, "resume\n"); + clear_bit(SUSPENDED, &fsg->atomic_bitflags); +} + + /*-------------------------------------------------------------------------*/ static struct usb_gadget_driver fsg_driver = { @@ -3985,6 +4019,8 @@ static struct usb_gadget_driver fsg_driver = { .unbind = fsg_unbind, .disconnect = fsg_disconnect, .setup = fsg_setup, + .suspend = fsg_suspend, + .resume = fsg_resume, .driver = { .name = (char *) shortname, @@ -4024,8 +4060,6 @@ static int __init fsg_init(void) { int rc; struct fsg_dev *fsg; - int i; - struct lun *curlun; if ((rc = fsg_alloc()) != 0) return rc; @@ -4036,19 +4070,6 @@ static int __init fsg_init(void) } set_bit(REGISTERED, &fsg->atomic_bitflags); - /* Register the LUN devices and their attribute files */ - for (i = 0; i < fsg->nluns; ++i) { - curlun = &fsg->luns[i]; - if ((rc = device_register(&curlun->dev)) != 0) - INFO(fsg, "failed to register LUN%d: %d\n", i, rc); - else { - curlun->registered = 1; - curlun->dev.release = lun_release; - device_create_file(&curlun->dev, &dev_attr_ro); - device_create_file(&curlun->dev, &dev_attr_file); - } - } - /* Tell the thread to start working */ complete(&fsg->thread_notifier); return 0; diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h index 3093bceb9..e24e2f9ad 100644 --- a/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h @@ -44,6 +44,12 @@ #define gadget_is_sa1100(g) 0 #endif +#ifdef CONFIG_USB_GADGET_LH7A40X +#define gadget_is_lh7a40x(g) !strcmp("lh7a40x_udc", (g)->name) +#else +#define gadget_is_lh7a40x(g) 0 +#endif + #ifdef CONFIG_USB_GADGET_MQ11XX #define gadget_is_mq11xx(g) !strcmp("mq11xx_udc", (g)->name) #else diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c index c746ecbe1..f5e146225 100644 --- a/drivers/usb/gadget/inode.c +++ b/drivers/usb/gadget/inode.c @@ -1,7 +1,7 @@ /* * inode.c -- user mode filesystem api for usb gadget controllers * - * Copyright (C) 2003 David Brownell + * Copyright (C) 2003-2004 David Brownell * Copyright (C) 2003 Agilent Technologies * * This program is free software; you can redistribute it and/or modify @@ -71,7 +71,7 @@ */ #define DRIVER_DESC "USB Gadget filesystem" -#define DRIVER_VERSION "18 Nov 2003" +#define DRIVER_VERSION "24 Aug 2004" static const char driver_desc [] = DRIVER_DESC; static const char shortname [] = "gadgetfs"; @@ -229,37 +229,12 @@ static void put_ep (struct ep_data *data) /*----------------------------------------------------------------------*/ /* most "how to use the hardware" policy choices are in userspace: - * mapping endpoint roles the driver needs to the capabilities that - * the usb controller exposes. + * mapping endpoint roles (which the driver needs) to the capabilities + * which the usb controller has. most of those capabilities are exposed + * implicitly, starting with the driver name and then endpoint names. */ -#ifdef CONFIG_USB_GADGET_DUMMY_HCD -/* act (mostly) like a net2280 */ -#define CONFIG_USB_GADGET_NET2280 -#endif - -#ifdef CONFIG_USB_GADGET_NET2280 -#define CHIP "net2280" -#define HIGHSPEED -#endif - -#ifdef CONFIG_USB_GADGET_PXA2XX -#define CHIP "pxa2xx_udc" -/* earlier hardware doesn't have UDCCFR, races set_{config,interface} */ -#warning works best with pxa255 or newer -#endif - -#ifdef CONFIG_USB_GADGET_GOKU -#define CHIP "goku_udc" -#endif - -#ifdef CONFIG_USB_GADGET_OMAP -#define CHIP "omap_udc" -#endif - -#ifdef CONFIG_USB_GADGET_SA1100 -#define CHIP "sa1100" -#endif +static const char *CHIP; /*----------------------------------------------------------------------*/ @@ -558,7 +533,7 @@ struct kiocb_priv { static int ep_aio_cancel(struct kiocb *iocb, struct io_event *e) { - struct kiocb_priv *priv = (void *) &iocb->private; + struct kiocb_priv *priv = iocb->private; struct ep_data *epdata; int value; @@ -577,10 +552,10 @@ static int ep_aio_cancel(struct kiocb *iocb, struct io_event *e) return value; } -static long ep_aio_read_retry(struct kiocb *iocb) +static ssize_t ep_aio_read_retry(struct kiocb *iocb) { - struct kiocb_priv *priv = (void *) &iocb->private; - int status = priv->actual; + struct kiocb_priv *priv = iocb->private; + ssize_t status = priv->actual; /* we "retry" to get the right mm context for this: */ status = copy_to_user(priv->ubuf, priv->buf, priv->actual); @@ -589,6 +564,7 @@ static long ep_aio_read_retry(struct kiocb *iocb) else status = priv->actual; kfree(priv->buf); + kfree(priv); aio_put_req(iocb); return status; } @@ -596,7 +572,7 @@ static long ep_aio_read_retry(struct kiocb *iocb) static void ep_aio_complete(struct usb_ep *ep, struct usb_request *req) { struct kiocb *iocb = req->context; - struct kiocb_priv *priv = (void *) &iocb->private; + struct kiocb_priv *priv = iocb->private; struct ep_data *epdata = priv->epdata; /* lock against disconnect (and ideally, cancel) */ @@ -607,6 +583,8 @@ static void ep_aio_complete(struct usb_ep *ep, struct usb_request *req) || unlikely(0 == req->actual) || unlikely(kiocbIsCancelled(iocb))) { kfree(req->buf); + kfree(priv); + iocb->private = NULL; /* aio_complete() reports bytes-transferred _and_ faults */ if (unlikely(kiocbIsCancelled(iocb))) aio_put_req(iocb); @@ -631,17 +609,33 @@ static void ep_aio_complete(struct usb_ep *ep, struct usb_request *req) } static ssize_t -ep_aio_rwtail(struct kiocb *iocb, char *buf, size_t len, struct ep_data *epdata) +ep_aio_rwtail( + struct kiocb *iocb, + char *buf, + size_t len, + struct ep_data *epdata, + char __user *ubuf +) { struct kiocb_priv *priv = (void *) &iocb->private; struct usb_request *req; ssize_t value; - value = get_ready_ep(iocb->ki_filp->f_flags, epdata); - if (unlikely(value < 0)) { + priv = kmalloc(sizeof *priv, GFP_KERNEL); + if (!priv) { + value = -ENOMEM; +fail: kfree(buf); return value; } + iocb->private = priv; + priv->ubuf = ubuf; + + value = get_ready_ep(iocb->ki_filp->f_flags, epdata); + if (unlikely(value < 0)) { + kfree(priv); + goto fail; + } iocb->ki_cancel = ep_aio_cancel; get_ep(epdata); @@ -671,9 +665,10 @@ ep_aio_rwtail(struct kiocb *iocb, char *buf, size_t len, struct ep_data *epdata) up(&epdata->lock); - if (unlikely(value)) + if (unlikely(value)) { + kfree(priv); put_ep(epdata); - else + } else value = -EIOCBQUEUED; return value; } @@ -681,7 +676,6 @@ ep_aio_rwtail(struct kiocb *iocb, char *buf, size_t len, struct ep_data *epdata) static ssize_t ep_aio_read(struct kiocb *iocb, char __user *ubuf, size_t len, loff_t o) { - struct kiocb_priv *priv = (void *) &iocb->private; struct ep_data *epdata = iocb->ki_filp->private_data; char *buf; @@ -691,8 +685,7 @@ ep_aio_read(struct kiocb *iocb, char __user *ubuf, size_t len, loff_t o) if (unlikely(!buf)) return -ENOMEM; iocb->ki_retry = ep_aio_read_retry; - priv->ubuf = ubuf; - return ep_aio_rwtail(iocb, buf, len, epdata); + return ep_aio_rwtail(iocb, buf, len, epdata, ubuf); } static ssize_t @@ -710,7 +703,7 @@ ep_aio_write(struct kiocb *iocb, const char __user *ubuf, size_t len, loff_t o) kfree(buf); return -EFAULT; } - return ep_aio_rwtail(iocb, buf, len, epdata); + return ep_aio_rwtail(iocb, buf, len, epdata, NULL); } /*----------------------------------------------------------------------*/ @@ -718,6 +711,8 @@ ep_aio_write(struct kiocb *iocb, const char __user *ubuf, size_t len, loff_t o) /* used after endpoint configuration */ static struct file_operations ep_io_operations = { .owner = THIS_MODULE, + .llseek = no_llseek, + .read = ep_read, .write = ep_write, .ioctl = ep_ioctl, @@ -874,6 +869,8 @@ ep_open (struct inode *inode, struct file *fd) /* used before endpoint configuration */ static struct file_operations ep_config_operations = { .owner = THIS_MODULE, + .llseek = no_llseek, + .open = ep_open, .write = ep_config, .release = ep_release, @@ -980,6 +977,18 @@ ep0_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr) retval = usb_ep_queue (ep, req, GFP_ATOMIC); dev->state = STATE_CONNECTED; + /* assume that was SET_CONFIGURATION */ + if (dev->current_config) { + unsigned power; +#ifdef HIGHSPEED + if (dev->gadget->speed == USB_SPEED_HIGH) + power = dev->hs_config->bMaxPower; + else +#endif + power = dev->config->bMaxPower; + usb_gadget_vbus_draw(dev->gadget, 2 * power); + } + } else { /* collect OUT data */ if ((fd->f_flags & O_NONBLOCK) != 0 && !dev->setup_out_ready) { @@ -1230,6 +1239,8 @@ static int dev_ioctl (struct inode *inode, struct file *fd, /* used after device configuration */ static struct file_operations ep0_io_operations = { .owner = THIS_MODULE, + .llseek = no_llseek, + .read = ep0_read, .write = ep0_write, .fasync = ep0_fasync, @@ -1406,19 +1417,25 @@ gadgetfs_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl) if (0 == (u8) ctrl->wValue) { value = 0; dev->current_config = 0; + usb_gadget_vbus_draw(gadget, 8 /* mA */ ); // user mode expected to disable endpoints } else { - u8 config; + u8 config, power; #ifdef HIGHSPEED - if (gadget->speed == USB_SPEED_HIGH) + if (gadget->speed == USB_SPEED_HIGH) { config = dev->hs_config->bConfigurationValue; - else + power = dev->hs_config->bMaxPower; + } else #endif + { config = dev->config->bConfigurationValue; + power = dev->config->bMaxPower; + } if (config == (u8) ctrl->wValue) { value = 0; dev->current_config = config; + usb_gadget_vbus_draw(gadget, 2 * power); } } @@ -1636,8 +1653,8 @@ gadgetfs_bind (struct usb_gadget *gadget) if (!dev) return -ESRCH; if (0 != strcmp (CHIP, gadget->name)) { - printk (KERN_ERR "%s expected " CHIP " controller not %s\n", - shortname, gadget->name); + printk (KERN_ERR "%s expected %s controller not %s\n", + shortname, CHIP, gadget->name); return -ENODEV; } @@ -1727,6 +1744,26 @@ static struct usb_gadget_driver gadgetfs_driver = { /*----------------------------------------------------------------------*/ +static void gadgetfs_nop(struct usb_gadget *arg) { } + +static int gadgetfs_probe (struct usb_gadget *gadget) +{ + CHIP = gadget->name; + return -EISNAM; +} + +static struct usb_gadget_driver probe_driver = { + .speed = USB_SPEED_HIGH, + .bind = gadgetfs_probe, + .unbind = gadgetfs_nop, + .setup = (void *)gadgetfs_nop, + .disconnect = gadgetfs_nop, + .driver = { + .name = "nop", + }, +}; + + /* DEVICE INITIALIZATION * * fd = open ("/dev/gadget/$CHIP", O_RDWR) @@ -1763,6 +1800,7 @@ static int is_valid_config (struct usb_config_descriptor *config) && config->bConfigurationValue != 0 && (config->bmAttributes & USB_CONFIG_ATT_ONE) != 0 && (config->bmAttributes & USB_CONFIG_ATT_WAKEUP) == 0; + /* FIXME if gadget->is_otg, _must_ include an otg descriptor */ /* FIXME check lengths: walk to end */ } @@ -1881,6 +1919,8 @@ dev_open (struct inode *inode, struct file *fd) static struct file_operations dev_init_operations = { .owner = THIS_MODULE, + .llseek = no_llseek, + .open = dev_open, .write = dev_config, .fasync = ep0_fasync, @@ -1976,6 +2016,11 @@ gadgetfs_fill_super (struct super_block *sb, void *opts, int silent) if (the_device) return -ESRCH; + /* fake probe to determine $CHIP */ + (void) usb_gadget_register_driver (&probe_driver); + if (!CHIP) + return -ENODEV; + /* superblock */ sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c index 880b1f799..d28de0b8c 100644 --- a/drivers/usb/gadget/net2280.c +++ b/drivers/usb/gadget/net2280.c @@ -7,13 +7,9 @@ * * CODE STATUS HIGHLIGHTS * - * Used with a gadget driver like "zero.c" this enumerates fine to Windows - * or Linux hosts; handles disconnect, reconnect, and reset, for full or - * high speed operation; and passes USB-IF "chapter 9" tests. - * - * Handles standard stress loads from the Linux "usbtest" driver, with - * either DMA (default) or PIO (use_dma=n) used for ep-{a,b,c,d}. Testing - * with "ttcp" (and the "ether.c" driver) behaves nicely too. + * This driver should work well with most "gadget" drivers, including + * the File Storage, Serial, and Ethernet/RNDIS gadget drivers + * as well as Gadget Zero and Gadgetfs. * * DMA is enabled by default. Drivers using transfer queues might use * DMA chaining to remove IRQ latencies between transfers. (Except when @@ -257,7 +253,7 @@ net2280_enable (struct usb_ep *_ep, const struct usb_endpoint_descriptor *desc) return 0; } -static int handshake (u32 *ptr, u32 mask, u32 done, int usec) +static int handshake (u32 __iomem *ptr, u32 mask, u32 done, int usec) { u32 result; @@ -276,7 +272,7 @@ static int handshake (u32 *ptr, u32 mask, u32 done, int usec) static struct usb_ep_ops net2280_ep_ops; -static void ep_reset (struct net2280_regs *regs, struct net2280_ep *ep) +static void ep_reset (struct net2280_regs __iomem *regs, struct net2280_ep *ep) { u32 tmp; @@ -307,14 +303,16 @@ static void ep_reset (struct net2280_regs *regs, struct net2280_ep *ep) /* init to our chosen defaults, notably so that we NAK OUT * packets until the driver queues a read (+note erratum 0112) */ - writel ( (1 << SET_NAK_OUT_PACKETS_MODE) + tmp = (1 << SET_NAK_OUT_PACKETS_MODE) | (1 << SET_NAK_OUT_PACKETS) | (1 << CLEAR_EP_HIDE_STATUS_PHASE) - | (1 << CLEAR_INTERRUPT_MODE) - | (1 << CLEAR_CONTROL_STATUS_PHASE_HANDSHAKE) - | (1 << CLEAR_ENDPOINT_TOGGLE) - | (1 << CLEAR_ENDPOINT_HALT) - , &ep->regs->ep_rsp); + | (1 << CLEAR_INTERRUPT_MODE); + + if (ep->num != 0) { + tmp |= (1 << CLEAR_ENDPOINT_TOGGLE) + | (1 << CLEAR_ENDPOINT_HALT); + } + writel (tmp, &ep->regs->ep_rsp); /* scrub most status bits, and flush any fifo state */ writel ( (1 << TIMEOUT) @@ -517,7 +515,7 @@ net2280_free_buffer ( static void write_fifo (struct net2280_ep *ep, struct usb_request *req) { - struct net2280_ep_regs *regs = ep->regs; + struct net2280_ep_regs __iomem *regs = ep->regs; u8 *buf; u32 tmp; unsigned count, total; @@ -577,7 +575,8 @@ write_fifo (struct net2280_ep *ep, struct usb_request *req) */ static void out_flush (struct net2280_ep *ep) { - u32 *statp, tmp; + u32 __iomem *statp; + u32 tmp; ASSERT_OUT_NAKING (ep); @@ -610,7 +609,7 @@ static void out_flush (struct net2280_ep *ep) static int read_fifo (struct net2280_ep *ep, struct net2280_request *req) { - struct net2280_ep_regs *regs = ep->regs; + struct net2280_ep_regs __iomem *regs = ep->regs; u8 *buf = req->req.buf + req->req.actual; unsigned count, tmp, is_short; unsigned cleanup = 0, prevent = 0; @@ -678,7 +677,7 @@ read_fifo (struct net2280_ep *ep, struct net2280_request *req) } if (count) { tmp = readl (®s->ep_data); - cpu_to_le32s (&tmp); + /* LE conversion is implicit here: */ do { *buf++ = (u8) tmp; tmp >>= 8; @@ -737,12 +736,12 @@ static const u32 dmactl_default = /* erratum 0116 workaround part 2 (no AUTOSTART) */ | (1 << DMA_ENABLE); -static inline void spin_stop_dma (struct net2280_dma_regs *dma) +static inline void spin_stop_dma (struct net2280_dma_regs __iomem *dma) { handshake (&dma->dmactl, (1 << DMA_ENABLE), 0, 50); } -static inline void stop_dma (struct net2280_dma_regs *dma) +static inline void stop_dma (struct net2280_dma_regs __iomem *dma) { writel (readl (&dma->dmactl) & ~(1 << DMA_ENABLE), &dma->dmactl); spin_stop_dma (dma); @@ -750,7 +749,7 @@ static inline void stop_dma (struct net2280_dma_regs *dma) static void start_queue (struct net2280_ep *ep, u32 dmactl, u32 td_dma) { - struct net2280_dma_regs *dma = ep->dma; + struct net2280_dma_regs __iomem *dma = ep->dma; writel ((1 << VALID_BIT) | (ep->is_in << DMA_DIRECTION), &dma->dmacount); @@ -771,7 +770,7 @@ static void start_queue (struct net2280_ep *ep, u32 dmactl, u32 td_dma) static void start_dma (struct net2280_ep *ep, struct net2280_request *req) { u32 tmp; - struct net2280_dma_regs *dma = ep->dma; + struct net2280_dma_regs __iomem *dma = ep->dma; /* FIXME can't use DMA for ZLPs */ @@ -1419,10 +1418,34 @@ static int net2280_set_selfpowered (struct usb_gadget *_gadget, int value) return 0; } +static int net2280_pullup(struct usb_gadget *_gadget, int is_on) +{ + struct net2280 *dev; + u32 tmp; + unsigned long flags; + + if (!_gadget) + return -ENODEV; + dev = container_of (_gadget, struct net2280, gadget); + + spin_lock_irqsave (&dev->lock, flags); + tmp = readl (&dev->usb->usbctl); + dev->softconnect = (is_on != 0); + if (is_on) + tmp |= (1 << USB_DETECT_ENABLE); + else + tmp &= ~(1 << USB_DETECT_ENABLE); + writel (tmp, &dev->usb->usbctl); + spin_unlock_irqrestore (&dev->lock, flags); + + return 0; +} + static const struct usb_gadget_ops net2280_ops = { .get_frame = net2280_get_frame, .wakeup = net2280_wakeup, .set_selfpowered = net2280_set_selfpowered, + .pullup = net2280_pullup, }; /*-------------------------------------------------------------------------*/ @@ -1807,8 +1830,6 @@ static void usb_reset (struct net2280 *dev) { u32 tmp; - /* force immediate bus disconnect, and synch through pci */ - writel (0, &dev->usb->usbctl); dev->gadget.speed = USB_SPEED_UNKNOWN; (void) readl (&dev->usb->usbctl); @@ -1902,10 +1923,8 @@ static void ep0_start (struct net2280 *dev) , &dev->usb->stdrsp); writel ( (1 << USB_ROOT_PORT_WAKEUP_ENABLE) | (1 << SELF_POWERED_USB_DEVICE) - /* erratum 0102 workaround */ - | ((dev->chiprev == 0100) ? 0 : 1) << SUSPEND_IMMEDIATELY | (1 << REMOTE_WAKEUP_SUPPORT) - | (1 << USB_DETECT_ENABLE) + | (dev->softconnect << USB_DETECT_ENABLE) | (1 << SELF_POWERED_STATUS) , &dev->usb->usbctl); @@ -1957,6 +1976,7 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver) dev->ep [i].irqs = 0; /* hook up the driver ... */ + dev->softconnect = 1; driver->driver.bus = NULL; dev->driver = driver; dev->gadget.dev.driver = &driver->driver; @@ -2028,6 +2048,8 @@ int usb_gadget_unregister_driver (struct usb_gadget_driver *driver) stop_activity (dev, driver); spin_unlock_irqrestore (&dev->lock, flags); + net2280_pullup (&dev->gadget, 0); + driver->unbind (&dev->gadget); dev->gadget.dev.driver = NULL; dev->driver = NULL; @@ -2492,15 +2514,23 @@ next_endpoints: static void handle_stat1_irqs (struct net2280 *dev, u32 stat) { struct net2280_ep *ep; - u32 tmp, num, scratch; + u32 tmp, num, mask, scratch; /* after disconnect there's nothing else to do! */ tmp = (1 << VBUS_INTERRUPT) | (1 << ROOT_PORT_RESET_INTERRUPT); + mask = (1 << HIGH_SPEED) | (1 << FULL_SPEED); + + /* VBUS disconnect is indicated by VBUS_PIN and VBUS_INTERRUPT set. + * Root Port Reset is indicated by ROOT_PORT_RESET_INTERRRUPT set and + * both HIGH_SPEED and FULL_SPEED clear (as ROOT_PORT_RESET_INTERRUPT + * only indicates a change in the reset state). + */ if (stat & tmp) { writel (tmp, &dev->regs->irqstat1); - if (((stat & (1 << ROOT_PORT_RESET_INTERRUPT)) != 0 - || (readl (&dev->usb->usbctl) & (1 << VBUS_PIN)) == 0 - ) && dev->gadget.speed != USB_SPEED_UNKNOWN) { + if ((((stat & (1 << ROOT_PORT_RESET_INTERRUPT)) && + ((readl (&dev->usb->usbstat) & mask) == 0)) + || ((readl (&dev->usb->usbctl) & (1 << VBUS_PIN)) == 0) + ) && ( dev->gadget.speed != USB_SPEED_UNKNOWN)) { DEBUG (dev, "disconnect %s\n", dev->driver->driver.name); stop_activity (dev, dev->driver); @@ -2525,8 +2555,6 @@ static void handle_stat1_irqs (struct net2280 *dev, u32 stat) if (stat & (1 << SUSPEND_REQUEST_INTERRUPT)) { if (dev->driver->suspend) dev->driver->suspend (&dev->gadget); - /* we use SUSPEND_IMMEDIATELY */ - stat &= ~(1 << SUSPEND_REQUEST_INTERRUPT); } else { if (dev->driver->resume) dev->driver->resume (&dev->gadget); @@ -2553,7 +2581,7 @@ static void handle_stat1_irqs (struct net2280 *dev, u32 stat) stat &= ~DMA_INTERRUPTS; scratch >>= 9; for (num = 0; scratch; num++) { - struct net2280_dma_regs *dma; + struct net2280_dma_regs __iomem *dma; tmp = 1 << num; if ((tmp & scratch) == 0) @@ -2722,7 +2750,7 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) { struct net2280 *dev; unsigned long resource, len; - void *base = NULL; + void __iomem *base = NULL; int retval, i; char buf [8], *bufp; @@ -2780,14 +2808,15 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) retval = -EFAULT; goto done; } - dev->regs = (struct net2280_regs *) base; - dev->usb = (struct net2280_usb_regs *) (base + 0x0080); - dev->pci = (struct net2280_pci_regs *) (base + 0x0100); - dev->dma = (struct net2280_dma_regs *) (base + 0x0180); - dev->dep = (struct net2280_dep_regs *) (base + 0x0200); - dev->epregs = (struct net2280_ep_regs *) (base + 0x0300); + dev->regs = (struct net2280_regs __iomem *) base; + dev->usb = (struct net2280_usb_regs __iomem *) (base + 0x0080); + dev->pci = (struct net2280_pci_regs __iomem *) (base + 0x0100); + dev->dma = (struct net2280_dma_regs __iomem *) (base + 0x0180); + dev->dep = (struct net2280_dep_regs __iomem *) (base + 0x0200); + dev->epregs = (struct net2280_ep_regs __iomem *) (base + 0x0300); /* put into initial config, link up all endpoints */ + writel (0, &dev->usb->usbctl); usb_reset (dev); usb_reinit (dev); diff --git a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c index 63e538a57..c1139b51d 100644 --- a/drivers/usb/gadget/pxa2xx_udc.c +++ b/drivers/usb/gadget/pxa2xx_udc.c @@ -54,6 +54,7 @@ #include #include #include +#include #include #include @@ -116,7 +117,7 @@ static const char ep0name [] = "ep0"; #ifdef USE_DMA static int use_dma = 1; -MODULE_PARM (use_dma, "i"); +module_param(use_dma, bool, 0); MODULE_PARM_DESC (use_dma, "true to use dma"); static void dma_nodesc_handler (int dmach, void *_ep, struct pt_regs *r); @@ -146,7 +147,7 @@ static void kick_dma(struct pxa2xx_ep *ep, struct pxa2xx_request *req); * ... so mode = 3 (or 7, 15, etc) does it for both */ static ushort fifo_mode = 0; -MODULE_PARM (fifo_mode, "h"); +module_param(fifo_mode, ushort, 0); MODULE_PARM_DESC (fifo_mode, "pxa2xx udc fifo mode"); #endif @@ -1508,7 +1509,7 @@ static void udc_enable (struct pxa2xx_udc *dev) /* caller must be able to sleep in order to cope * with startup transients. */ - schedule_timeout(HZ/10); + msleep(100); /* enable suspend/resume and reset irqs */ udc_clear_mask_UDCCR(UDCCR_SRM | UDCCR_REM); diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c index ebfc22b2a..1e18e92a6 100644 --- a/drivers/usb/gadget/serial.c +++ b/drivers/usb/gadget/serial.c @@ -48,6 +48,8 @@ #include #include +#include "gadget_chips.h" + /* Wait Cond */ @@ -123,8 +125,8 @@ do { \ /* Defines */ -#define GS_VERSION_STR "v0.1" -#define GS_VERSION_NUM 0x0001 +#define GS_VERSION_STR "v1.0" +#define GS_VERSION_NUM 0x0100 #define GS_LONG_NAME "Gadget Serial" #define GS_SHORT_NAME "g_serial" @@ -173,164 +175,6 @@ static int debug = G_SERIAL_DEBUG; #endif /* G_SERIAL_DEBUG */ -/* USB Controllers */ - -/* - * NetChip 2280, PCI based. - * - * This has half a dozen configurable endpoints, four with dedicated - * DMA channels to manage their FIFOs. It supports high speed. - * Those endpoints can be arranged in any desired configuration. - */ -#ifdef CONFIG_USB_GADGET_NET2280 -#define CHIP "net2280" -#define EP0_MAXPACKET 64 -static const char EP_OUT_NAME[] = "ep-a"; -#define EP_OUT_NUM 2 -static const char EP_IN_NAME[] = "ep-b"; -#define EP_IN_NUM 2 -#define HIGHSPEED -#define SELFPOWER USB_CONFIG_ATT_SELFPOWER - -extern int net2280_set_fifo_mode(struct usb_gadget *gadget, int mode); - -static inline void hw_optimize(struct usb_gadget *gadget) -{ - /* we can have bigger ep-a/ep-b fifos (2KB each, 4 packets - * for highspeed bulk) because we're not using ep-c/ep-d. - */ - net2280_set_fifo_mode (gadget, 1); -} -#endif - - -/* - * Dummy_hcd, software-based loopback controller. - * - * This imitates the abilities of the NetChip 2280, so we will use - * the same configuration. - */ -#ifdef CONFIG_USB_GADGET_DUMMY_HCD -#define CHIP "dummy" -#define EP0_MAXPACKET 64 -static const char EP_OUT_NAME[] = "ep-a"; -#define EP_OUT_NUM 2 -static const char EP_IN_NAME[] = "ep-b"; -#define EP_IN_NUM 2 -#define HIGHSPEED -#define SELFPOWER USB_CONFIG_ATT_SELFPOWER - -/* no hw optimizations to apply */ -#define hw_optimize(g) do {} while (0) -#endif - - -/* - * PXA-2xx UDC: widely used in second gen Linux-capable PDAs. - * - * This has fifteen fixed-function full speed endpoints, and it - * can support all USB transfer types. - * - * These supports three or four configurations, with fixed numbers. - * The hardware interprets SET_INTERFACE, net effect is that you - * can't use altsettings or reset the interfaces independently. - * So stick to a single interface. - */ -#ifdef CONFIG_USB_GADGET_PXA2XX -#define CHIP "pxa2xx" -#define EP0_MAXPACKET 16 -static const char EP_OUT_NAME[] = "ep2out-bulk"; -#define EP_OUT_NUM 2 -static const char EP_IN_NAME[] = "ep1in-bulk"; -#define EP_IN_NUM 1 -#define SELFPOWER USB_CONFIG_ATT_SELFPOWER - -/* no hw optimizations to apply */ -#define hw_optimize(g) do {} while (0) -#endif - -#ifdef CONFIG_USB_GADGET_OMAP -#define CHIP "omap" -#define EP0_MAXPACKET 64 -static const char EP_OUT_NAME [] = "ep2out-bulk"; -#define EP_OUT_NUM 2 -static const char EP_IN_NAME [] = "ep1in-bulk"; -#define EP_IN_NUM 1 -#define SELFPOWER USB_CONFIG_ATT_SELFPOWER -/* supports remote wakeup, but this driver doesn't */ - -/* no hw optimizations to apply */ -#define hw_optimize(g) do {} while (0) -#endif - - -/* - * SA-1100 UDC: widely used in first gen Linux-capable PDAs. - * - * This has only two fixed function endpoints, which can only - * be used for bulk (or interrupt) transfers. (Plus control.) - * - * Since it can't flush its TX fifos without disabling the UDC, - * the current configuration or altsettings can't change except - * in special situations. So this is a case of "choose it right - * during enumeration" ... - */ -#ifdef CONFIG_USB_GADGET_SA1100 -#define CHIP "sa1100" -#define EP0_MAXPACKET 8 -static const char EP_OUT_NAME[] = "ep1out-bulk"; -#define EP_OUT_NUM 1 -static const char EP_IN_NAME [] = "ep2in-bulk"; -#define EP_IN_NUM 2 -#define SELFPOWER USB_CONFIG_ATT_SELFPOWER - -/* no hw optimizations to apply */ -#define hw_optimize(g) do {} while (0) -#endif - - -/* - * Toshiba TC86C001 ("Goku-S") UDC - * - * This has three semi-configurable full speed bulk/interrupt endpoints. - */ -#ifdef CONFIG_USB_GADGET_GOKU -#define CHIP "goku" -#define DRIVER_VERSION_NUM 0x0116 -#define EP0_MAXPACKET 8 -static const char EP_OUT_NAME [] = "ep1-bulk"; -#define EP_OUT_NUM 1 -static const char EP_IN_NAME [] = "ep2-bulk"; -#define EP_IN_NUM 2 -#define SELFPOWER USB_CONFIG_ATT_SELFPOWER - -/* no hw optimizations to apply */ -#define hw_optimize(g) do {} while (0) -#endif - -/* - * USB Controller Defaults - */ -#ifndef EP0_MAXPACKET -#error Configure some USB peripheral controller for g_serial! -#endif - -#ifndef SELFPOWER -/* default: say we rely on bus power */ -#define SELFPOWER 0 -/* else value must be USB_CONFIG_ATT_SELFPOWER */ -#endif - -#ifndef MAX_USB_POWER -/* any hub supports this steady state bus power consumption */ -#define MAX_USB_POWER 100 /* mA */ -#endif - -#ifndef WAKEUP -/* default: this driver won't do remote wakeup */ -#define WAKEUP 0 -/* else value must be USB_CONFIG_ATT_WAKEUP */ -#endif /* Thanks to NetChip Technologies for donating this product ID. * @@ -449,11 +293,17 @@ static unsigned int gs_buf_put(struct gs_buf *gb, const char *buf, static unsigned int gs_buf_get(struct gs_buf *gb, char *buf, unsigned int count); +/* external functions */ +extern int net2280_set_fifo_mode(struct usb_gadget *gadget, int mode); + /* Globals */ static struct gs_dev *gs_device; +static const char *EP_IN_NAME; +static const char *EP_OUT_NAME; + static struct semaphore gs_open_close_sem[GS_NUM_PORTS]; static unsigned int read_q_size = GS_DEFAULT_READ_Q_SIZE; @@ -483,7 +333,7 @@ static struct tty_driver *gs_tty_driver; /* gadget driver struct */ static struct usb_gadget_driver gs_gadget_driver = { -#ifdef HIGHSPEED +#ifdef CONFIG_USB_GADGET_DUALSPEED .speed = USB_SPEED_HIGH, #else .speed = USB_SPEED_FULL, @@ -510,8 +360,9 @@ static struct usb_gadget_driver gs_gadget_driver = { #define GS_CONFIG_STR_ID 4 /* static strings, in iso 8859/1 */ +static char manufacturer[40]; static struct usb_string gs_strings[] = { - { GS_MANUFACTURER_STR_ID, UTS_SYSNAME " " UTS_RELEASE " with " CHIP }, + { GS_MANUFACTURER_STR_ID, manufacturer }, { GS_PRODUCT_STR_ID, GS_LONG_NAME }, { GS_SERIAL_STR_ID, "0" }, { GS_CONFIG_STR_ID, "Bulk" }, @@ -523,15 +374,13 @@ static struct usb_gadget_strings gs_string_table = { .strings = gs_strings, }; -static const struct usb_device_descriptor gs_device_desc = { +static struct usb_device_descriptor gs_device_desc = { .bLength = USB_DT_DEVICE_SIZE, .bDescriptorType = USB_DT_DEVICE, .bcdUSB = __constant_cpu_to_le16(0x0200), .bDeviceClass = USB_CLASS_VENDOR_SPEC, - .bMaxPacketSize0 = EP0_MAXPACKET, .idVendor = __constant_cpu_to_le16(GS_VENDOR_ID), .idProduct = __constant_cpu_to_le16(GS_PRODUCT_ID), - .bcdDevice = __constant_cpu_to_le16(GS_VERSION_NUM), .iManufacturer = GS_MANUFACTURER_STR_ID, .iProduct = GS_PRODUCT_STR_ID, .iSerialNumber = GS_SERIAL_STR_ID, @@ -545,8 +394,8 @@ static const struct usb_config_descriptor gs_config_desc = { .bNumInterfaces = GS_NUM_INTERFACES, .bConfigurationValue = GS_BULK_CONFIG_ID, .iConfiguration = GS_CONFIG_STR_ID, - .bmAttributes = USB_CONFIG_ATT_ONE | SELFPOWER | WAKEUP, - .bMaxPower = (MAX_USB_POWER + 1) / 2, + .bmAttributes = USB_CONFIG_ATT_ONE | USB_CONFIG_ATT_SELFPOWER, + .bMaxPower = 1, }; static const struct usb_interface_descriptor gs_interface_desc = { @@ -557,46 +406,41 @@ static const struct usb_interface_descriptor gs_interface_desc = { .iInterface = GS_CONFIG_STR_ID, }; -static const struct usb_endpoint_descriptor gs_fullspeed_in_desc = { +static struct usb_endpoint_descriptor gs_fullspeed_in_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, - .bEndpointAddress = EP_IN_NUM | USB_DIR_IN, + .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_BULK, - .wMaxPacketSize = __constant_cpu_to_le16(64), }; -static const struct usb_endpoint_descriptor gs_fullspeed_out_desc = { +static struct usb_endpoint_descriptor gs_fullspeed_out_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, - .bEndpointAddress = EP_OUT_NUM | USB_DIR_OUT, + .bEndpointAddress = USB_DIR_OUT, .bmAttributes = USB_ENDPOINT_XFER_BULK, - .wMaxPacketSize = __constant_cpu_to_le16(64), }; -static const struct usb_endpoint_descriptor gs_highspeed_in_desc = { +static struct usb_endpoint_descriptor gs_highspeed_in_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, - .bEndpointAddress = EP_IN_NUM | USB_DIR_IN, .bmAttributes = USB_ENDPOINT_XFER_BULK, .wMaxPacketSize = __constant_cpu_to_le16(512), }; -static const struct usb_endpoint_descriptor gs_highspeed_out_desc = { +static struct usb_endpoint_descriptor gs_highspeed_out_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, - .bEndpointAddress = EP_OUT_NUM | USB_DIR_OUT, .bmAttributes = USB_ENDPOINT_XFER_BULK, .wMaxPacketSize = __constant_cpu_to_le16(512), }; -#ifdef HIGHSPEED -static const struct usb_qualifier_descriptor gs_qualifier_desc = { +#ifdef CONFIG_USB_GADGET_DUALSPEED +static struct usb_qualifier_descriptor gs_qualifier_desc = { .bLength = sizeof(struct usb_qualifier_descriptor), .bDescriptorType = USB_DT_DEVICE_QUALIFIER, .bcdUSB = __constant_cpu_to_le16 (0x0200), .bDeviceClass = USB_CLASS_VENDOR_SPEC, /* assumes ep0 uses the same value for both speeds ... */ - .bMaxPacketSize0 = EP0_MAXPACKET, .bNumConfigurations = GS_NUM_CONFIGS, }; #endif @@ -608,17 +452,17 @@ MODULE_AUTHOR("Al Borchers"); MODULE_LICENSE("GPL"); #if G_SERIAL_DEBUG -MODULE_PARM(debug, "i"); -MODULE_PARM_DESC(debug, "Enable debugging, 0=off, 1=on"); +module_param(debug, int, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(debug, "Enable debugging, 0=off, 1=on, larger values for more messages"); #endif -MODULE_PARM(read_q_size, "i"); +module_param(read_q_size, int, 0); MODULE_PARM_DESC(read_q_size, "Read request queue size, default=32"); -MODULE_PARM(write_q_size, "i"); +module_param(write_q_size, int, 0); MODULE_PARM_DESC(write_q_size, "Write request queue size, default=32"); -MODULE_PARM(write_buf_size, "i"); +module_param(write_buf_size, int, 0); MODULE_PARM_DESC(write_buf_size, "Write buffer size, default=8192"); module_init(gs_module_init); @@ -1416,18 +1260,81 @@ requeue: static int gs_bind(struct usb_gadget *gadget) { int ret; + struct usb_ep *ep; struct gs_dev *dev; + usb_ep_autoconfig_reset(gadget); + + ep = usb_ep_autoconfig(gadget, &gs_fullspeed_in_desc); + if (!ep) + goto autoconf_fail; + EP_IN_NAME = ep->name; + ep->driver_data = ep; /* claim the endpoint */ + + ep = usb_ep_autoconfig(gadget, &gs_fullspeed_out_desc); + if (!ep) + goto autoconf_fail; + EP_OUT_NAME = ep->name; + ep->driver_data = ep; /* claim the endpoint */ + + /* device specific bcdDevice value in device descriptor */ + if (gadget_is_net2280(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0001); + } else if (gadget_is_pxa(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0002); + } else if (gadget_is_sh(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0003); + } else if (gadget_is_sa1100(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0004); + } else if (gadget_is_goku(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0005); + } else if (gadget_is_mq11xx(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0006); + } else if (gadget_is_omap(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0007); + } else if (gadget_is_lh7a40x(gadget)) { + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0008); + } else { + printk(KERN_WARNING "gs_bind: controller '%s' not recognized\n", + gadget->name); + /* unrecognized, but safe unless bulk is REALLY quirky */ + gs_device_desc.bcdDevice = + __constant_cpu_to_le16(GS_VERSION_NUM|0x0099); + } + + gs_device_desc.bMaxPacketSize0 = gadget->ep0->maxpacket; +#ifdef CONFIG_USB_GADGET_DUALSPEED + /* assume ep0 uses the same packet size for both speeds */ + gs_qualifier_desc.bMaxPacketSize0 = gs_device_desc.bMaxPacketSize0; + /* assume endpoints are dual-speed */ + gs_highspeed_in_desc.bEndpointAddress = + gs_fullspeed_in_desc.bEndpointAddress; + gs_highspeed_out_desc.bEndpointAddress = + gs_fullspeed_out_desc.bEndpointAddress; +#endif /* CONFIG_USB_GADGET_DUALSPEED */ + + usb_gadget_set_selfpowered(gadget); + gs_device = dev = kmalloc(sizeof(struct gs_dev), GFP_KERNEL); if (dev == NULL) return -ENOMEM; - set_gadget_data(gadget, dev); + snprintf (manufacturer, sizeof(manufacturer), + UTS_SYSNAME " " UTS_RELEASE " with %s", gadget->name); memset(dev, 0, sizeof(struct gs_dev)); dev->dev_gadget = gadget; spin_lock_init(&dev->dev_lock); INIT_LIST_HEAD(&dev->dev_req_list); + set_gadget_data(gadget, dev); if ((ret=gs_alloc_ports(dev, GFP_KERNEL)) != 0) { printk(KERN_ERR "gs_bind: cannot allocate ports\n"); @@ -1450,6 +1357,10 @@ static int gs_bind(struct usb_gadget *gadget) GS_LONG_NAME, GS_VERSION_STR); return 0; + +autoconf_fail: + printk(KERN_ERR "gs_bind: cannot autoconfigure on %s\n", gadget->name); + return -ENODEV; } /* @@ -1505,15 +1416,17 @@ static int gs_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctr memcpy(req->buf, &gs_device_desc, ret); break; -#ifdef HIGHSPEED +#ifdef CONFIG_USB_GADGET_DUALSPEED case USB_DT_DEVICE_QUALIFIER: + if (!gadget->is_dualspeed) + break; ret = min(ctrl->wLength, (u16)sizeof(struct usb_qualifier_descriptor)); memcpy(req->buf, &gs_qualifier_desc, ret); break; case USB_DT_OTHER_SPEED_CONFIG: -#endif /* HIGHSPEED */ +#endif /* CONFIG_USB_GADGET_DUALSPEED */ case USB_DT_CONFIG: ret = gs_build_config_desc(req->buf, gadget->speed, ctrl->wValue >> 8, ctrl->wValue & 0xff); @@ -1677,7 +1590,9 @@ static int gs_set_config(struct gs_dev *dev, unsigned config) if (config != GS_BULK_CONFIG_ID) return -EINVAL; - hw_optimize(gadget); + /* device specific optimizations */ + if (gadget_is_net2280(gadget)) + net2280_set_fifo_mode(gadget, 1); gadget_for_each_ep(ep, gadget) { diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c index 4fa5e1c8f..a415a33ed 100644 --- a/drivers/usb/gadget/zero.c +++ b/drivers/usb/gadget/zero.c @@ -399,7 +399,7 @@ static const struct usb_descriptor_header *hs_loopback_function [] = { static char manufacturer [40]; static char serial [40]; -/* static strings, in iso 8859/1 */ +/* static strings, in UTF-8 */ static struct usb_string strings [] = { { STRING_MANUFACTURER, manufacturer, }, { STRING_PRODUCT, longname, }, @@ -960,7 +960,8 @@ zero_setup (struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl) case USB_DT_STRING: /* wIndex == language code. * this driver only handles one language, you can - * add others even if they don't use iso8859/1 + * add string tables for other languages, using + * any UTF-8 characters */ value = usb_gadget_get_string (&stringtab, ctrl->wValue & 0xff, req->buf); @@ -1185,6 +1186,8 @@ autoconf_fail: device_desc.bcdDevice = __constant_cpu_to_le16 (0x0207); } else if (gadget_is_omap (gadget)) { device_desc.bcdDevice = __constant_cpu_to_le16 (0x0208); + } else if (gadget_is_lh7a40x(gadget)) { + device_desc.bcdDevice = __constant_cpu_to_le16 (0x0209); } else { /* gadget zero is so simple (for now, no altsettings) that * it SHOULD NOT have problems with bulk-capable hardware. @@ -1236,6 +1239,12 @@ autoconf_fail: loopback_config.bmAttributes |= USB_CONFIG_ATT_WAKEUP; } + if (gadget->is_otg) { + otg_descriptor.bmAttributes |= USB_OTG_HNP, + source_sink_config.bmAttributes |= USB_CONFIG_ATT_WAKEUP; + loopback_config.bmAttributes |= USB_CONFIG_ATT_WAKEUP; + } + usb_gadget_set_selfpowered (gadget); init_timer (&dev->resume); diff --git a/drivers/usb/host/ehci-dbg.c b/drivers/usb/host/ehci-dbg.c index ad32ba159..bb8bf4c98 100644 --- a/drivers/usb/host/ehci-dbg.c +++ b/drivers/usb/host/ehci-dbg.c @@ -119,16 +119,16 @@ static void __attribute__((__unused__)) dbg_qtd (const char *label, struct ehci_hcd *ehci, struct ehci_qtd *qtd) { ehci_dbg (ehci, "%s td %p n%08x %08x t%08x p0=%08x\n", label, qtd, - cpu_to_le32p (&qtd->hw_next), - cpu_to_le32p (&qtd->hw_alt_next), - cpu_to_le32p (&qtd->hw_token), - cpu_to_le32p (&qtd->hw_buf [0])); + le32_to_cpup (&qtd->hw_next), + le32_to_cpup (&qtd->hw_alt_next), + le32_to_cpup (&qtd->hw_token), + le32_to_cpup (&qtd->hw_buf [0])); if (qtd->hw_buf [1]) ehci_dbg (ehci, " p1=%08x p2=%08x p3=%08x p4=%08x\n", - cpu_to_le32p (&qtd->hw_buf [1]), - cpu_to_le32p (&qtd->hw_buf [2]), - cpu_to_le32p (&qtd->hw_buf [3]), - cpu_to_le32p (&qtd->hw_buf [4])); + le32_to_cpup (&qtd->hw_buf [1]), + le32_to_cpup (&qtd->hw_buf [2]), + le32_to_cpup (&qtd->hw_buf [3]), + le32_to_cpup (&qtd->hw_buf [4])); } static void __attribute__((__unused__)) @@ -331,14 +331,14 @@ static inline void remove_debug_files (struct ehci_hcd *bus) { } default: tmp = '?'; break; \ }; tmp; }) -static inline char token_mark (u32 token) +static inline char token_mark (__le32 token) { - token = le32_to_cpu (token); - if (token & QTD_STS_ACTIVE) + __u32 v = le32_to_cpu (token); + if (v & QTD_STS_ACTIVE) return '*'; - if (token & QTD_STS_HALT) + if (v & QTD_STS_HALT) return '-'; - if (!IS_SHORT_READ (token)) + if (!IS_SHORT_READ (v)) return ' '; /* tries to advance through hw_alt_next */ return '/'; @@ -371,25 +371,25 @@ static void qh_lines ( mark = '.'; /* use hw_qtd_next */ /* else alt_next points to some other qtd */ } - scratch = cpu_to_le32p (&qh->hw_info1); - hw_curr = (mark == '*') ? cpu_to_le32p (&qh->hw_current) : 0; + scratch = le32_to_cpup (&qh->hw_info1); + hw_curr = (mark == '*') ? le32_to_cpup (&qh->hw_current) : 0; temp = scnprintf (next, size, "qh/%p dev%d %cs ep%d %08x %08x (%08x%c %s nak%d)", qh, scratch & 0x007f, speed_char (scratch), (scratch >> 8) & 0x000f, - scratch, cpu_to_le32p (&qh->hw_info2), - cpu_to_le32p (&qh->hw_token), mark, + scratch, le32_to_cpup (&qh->hw_info2), + le32_to_cpup (&qh->hw_token), mark, (__constant_cpu_to_le32 (QTD_TOGGLE) & qh->hw_token) ? "data1" : "data0", - (cpu_to_le32p (&qh->hw_alt_next) >> 1) & 0x0f); + (le32_to_cpup (&qh->hw_alt_next) >> 1) & 0x0f); size -= temp; next += temp; /* hc may be modifying the list as we read it ... */ list_for_each (entry, &qh->qtd_list) { td = list_entry (entry, struct ehci_qtd, qtd_list); - scratch = cpu_to_le32p (&td->hw_token); + scratch = le32_to_cpup (&td->hw_token); mark = ' '; if (hw_curr == td->qtd_dma) mark = '*'; @@ -488,7 +488,8 @@ show_periodic (struct class_device *class_dev, char *buf) union ehci_shadow p, *seen; unsigned temp, size, seen_count; char *next; - unsigned i, tag; + unsigned i; + __le32 tag; if (!(seen = kmalloc (DBG_SCHED_LIMIT * sizeof *seen, SLAB_ATOMIC))) return 0; @@ -541,7 +542,7 @@ show_periodic (struct class_device *class_dev, char *buf) } /* show more info the first time around */ if (temp == seen_count && p.ptr) { - u32 scratch = cpu_to_le32p ( + u32 scratch = le32_to_cpup ( &p.qh->hw_info1); struct ehci_qtd *qtd; char *type = ""; diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 7299b7cd5..86708645a 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c @@ -155,7 +155,7 @@ MODULE_PARM_DESC (log2_irq_thresh, "log2 IRQ latency, 1-64 microframes"); * before driver shutdown. But it also seems to be caused by bugs in cardbus * bridge shutdown: shutting down the bridge before the devices using it. */ -static int handshake (u32 *ptr, u32 mask, u32 done, int usec) +static int handshake (u32 __iomem *ptr, u32 mask, u32 done, int usec) { u32 result; @@ -289,7 +289,7 @@ static void ehci_watchdog (unsigned long param) static int bios_handoff (struct ehci_hcd *ehci, int where, u32 cap) { if (cap & (1 << 16)) { - int msec = 500; + int msec = 5000; struct pci_dev *pdev = to_pci_dev(ehci->hcd.self.controller); /* request handoff to OS */ @@ -305,7 +305,10 @@ static int bios_handoff (struct ehci_hcd *ehci, int where, u32 cap) if (cap & (1 << 16)) { ehci_err (ehci, "BIOS handoff failed (%d, %04x)\n", where, cap); - return 1; + // some BIOS versions seem buggy... + // return 1; + ehci_warn (ehci, "continuing after BIOS bug...\n"); + return 0; } ehci_dbg (ehci, "BIOS handoff succeeded\n"); } @@ -337,8 +340,8 @@ static int ehci_hc_reset (struct usb_hcd *hcd) spin_lock_init (&ehci->lock); - ehci->caps = (struct ehci_caps *) hcd->regs; - ehci->regs = (struct ehci_regs *) (hcd->regs + + ehci->caps = hcd->regs; + ehci->regs = (hcd->regs + HC_LENGTH (readl (&ehci->caps->hc_capbase))); dbg_hcs_params (ehci, "reset"); dbg_hcc_params (ehci, "reset"); @@ -693,9 +696,18 @@ static void ehci_work (struct ehci_hcd *ehci, struct pt_regs *regs) timer_action_done (ehci, TIMER_IO_WATCHDOG); if (ehci->reclaim_ready) end_unlink_async (ehci, regs); + + /* another CPU may drop ehci->lock during a schedule scan while + * it reports urb completions. this flag guards against bogus + * attempts at re-entrant schedule scanning. + */ + if (ehci->scanning) + return; + ehci->scanning = 1; scan_async (ehci, regs); if (ehci->next_uframe != -1) scan_periodic (ehci, regs); + ehci->scanning = 0; /* the IO watchdog guards against hardware or driver bugs that * misplace IRQs, and should let us run completely without IRQs. diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c index 452c73ede..4ff7f868b 100644 --- a/drivers/usb/host/ehci-hub.c +++ b/drivers/usb/host/ehci-hub.c @@ -146,8 +146,8 @@ static int ehci_hub_resume (struct usb_hcd *hcd) #else -#define ehci_hub_suspend 0 -#define ehci_hub_resume 0 +#define ehci_hub_suspend NULL +#define ehci_hub_resume NULL #endif /* CONFIG_PM */ @@ -455,7 +455,7 @@ static int ehci_hub_control ( #endif dbg_port (ehci, "GetStatus", wIndex + 1, temp); // we "know" this alignment is good, caller used kmalloc()... - *((u32 *) buf) = cpu_to_le32 (status); + *((__le32 *) buf) = cpu_to_le32 (status); break; case SetHubFeature: switch (wValue) { diff --git a/drivers/usb/host/ehci-mem.c b/drivers/usb/host/ehci-mem.c index 31f311d53..beee4d996 100644 --- a/drivers/usb/host/ehci-mem.c +++ b/drivers/usb/host/ehci-mem.c @@ -114,7 +114,7 @@ static struct ehci_qh *ehci_qh_alloc (struct ehci_hcd *ehci, int flags) return qh; memset (qh, 0, sizeof *qh); - kref_init(&qh->kref, qh_destroy); + kref_init(&qh->kref); qh->ehci = ehci; qh->qh_dma = dma; // INIT_LIST_HEAD (&qh->qh_list); @@ -139,7 +139,7 @@ static inline struct ehci_qh *qh_get (struct ehci_qh *qh) static inline void qh_put (struct ehci_qh *qh) { - kref_put(&qh->kref); + kref_put(&qh->kref, qh_destroy); } /*-------------------------------------------------------------------------*/ @@ -235,9 +235,9 @@ static int ehci_mem_init (struct ehci_hcd *ehci, int flags) } /* Hardware periodic table */ - ehci->periodic = (u32 *) + ehci->periodic = (__le32 *) dma_alloc_coherent (ehci->hcd.self.controller, - ehci->periodic_size * sizeof (u32), + ehci->periodic_size * sizeof(__le32), &ehci->periodic_dma, 0); if (ehci->periodic == 0) { goto fail; diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index be39e7aba..b80a2f70d 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c @@ -153,17 +153,9 @@ static void qtd_copy_status ( usb_pipein (urb->pipe) ? "in" : "out", token, urb->status); - /* stall indicates some recovery action is needed */ - if (urb->status == -EPIPE) { - int pipe = urb->pipe; - - if (!usb_pipecontrol (pipe)) - usb_endpoint_halt (urb->dev, - usb_pipeendpoint (pipe), - usb_pipeout (pipe)); - /* if async CSPLIT failed, try cleaning out the TT buffer */ - } else if (urb->dev->tt && !usb_pipeint (urb->pipe) + if (urb->status != -EPIPE + && urb->dev->tt && !usb_pipeint (urb->pipe) && ((token & QTD_STS_MMF) != 0 || QTD_CERR(token) == 0) && (!ehci_is_ARC(ehci) @@ -729,7 +721,7 @@ done: static void qh_link_async (struct ehci_hcd *ehci, struct ehci_qh *qh) { - u32 dma = QH_NEXT (qh->qh_dma); + __le32 dma = QH_NEXT (qh->qh_dma); struct ehci_qh *head; /* (re)start the async schedule? */ @@ -764,7 +756,7 @@ static void qh_link_async (struct ehci_hcd *ehci, struct ehci_qh *qh) /*-------------------------------------------------------------------------*/ -#define QH_ADDR_MASK __constant_le32_to_cpu(0x7f) +#define QH_ADDR_MASK __constant_cpu_to_le32(0x7f) /* * For control/bulk/interrupt, return QH with these TDs appended. @@ -848,7 +840,7 @@ static struct ehci_qh *qh_append_tds ( if (likely (qtd != 0)) { struct ehci_qtd *dummy; dma_addr_t dma; - u32 token; + __le32 token; /* to avoid racing the HC, use the dummy td instead of * the first td of our list (becomes new dummy). both diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index 10df2665e..8e10d89be 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c @@ -44,7 +44,7 @@ static int ehci_get_frame (struct usb_hcd *hcd); * @tag: hardware tag for type of this record */ static union ehci_shadow * -periodic_next_shadow (union ehci_shadow *periodic, int tag) +periodic_next_shadow (union ehci_shadow *periodic, __le32 tag) { switch (tag) { case Q_TYPE_QH: @@ -64,7 +64,7 @@ periodic_next_shadow (union ehci_shadow *periodic, int tag) static int periodic_unlink (struct ehci_hcd *ehci, unsigned frame, void *ptr) { union ehci_shadow *prev_p = &ehci->pshadow [frame]; - u32 *hw_p = &ehci->periodic [frame]; + __le32 *hw_p = &ehci->periodic [frame]; union ehci_shadow here = *prev_p; union ehci_shadow *next_p; @@ -98,7 +98,7 @@ static int periodic_unlink (struct ehci_hcd *ehci, unsigned frame, void *ptr) static unsigned short periodic_usecs (struct ehci_hcd *ehci, unsigned frame, unsigned uframe) { - u32 *hw_p = &ehci->periodic [frame]; + __le32 *hw_p = &ehci->periodic [frame]; union ehci_shadow *q = &ehci->pshadow [frame]; unsigned usecs = 0; @@ -196,7 +196,7 @@ static int tt_no_collision ( */ for (; frame < ehci->periodic_size; frame += period) { union ehci_shadow here; - u32 type; + __le32 type; here = ehci->pshadow [frame]; type = Q_NEXT_TYPE (ehci->periodic [frame]); @@ -403,7 +403,7 @@ static int check_intr_schedule ( unsigned frame, unsigned uframe, const struct ehci_qh *qh, - u32 *c_maskp + __le32 *c_maskp ) { int retval = -ENOSPC; @@ -412,7 +412,7 @@ static int check_intr_schedule ( goto done; if (!qh->c_usecs) { retval = 0; - *c_maskp = cpu_to_le32 (0); + *c_maskp = 0; goto done; } @@ -447,7 +447,7 @@ static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh) { int status; unsigned uframe; - u32 c_mask; + __le32 c_mask; unsigned frame; /* 0..(qh->period - 1), or NO_FRAME */ qh->hw_next = EHCI_LIST_END; @@ -907,6 +907,7 @@ itd_urb_transaction ( if (unlikely (0 == itd)) { iso_sched_free (stream, sched); + spin_unlock_irqrestore (&ehci->lock, flags); return -ENOMEM; } memset (itd, 0, sizeof *itd); @@ -1008,8 +1009,7 @@ sitd_slot_ok ( uframe += period_uframes; } while (uframe < mod); - stream->splits = stream->raw_mask << (uframe & 7); - cpu_to_le32s (&stream->splits); + stream->splits = cpu_to_le32(stream->raw_mask << (uframe & 7)); return 1; } @@ -1812,7 +1812,7 @@ scan_periodic (struct ehci_hcd *ehci, struct pt_regs *regs) for (;;) { union ehci_shadow q, *q_p; - u32 type, *hw_p; + __le32 type, *hw_p; unsigned uframes; /* don't scan past the live uframe */ diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h index ed4d00291..0e8541133 100644 --- a/drivers/usb/host/ehci.h +++ b/drivers/usb/host/ehci.h @@ -52,12 +52,13 @@ struct ehci_hcd { /* one per controller */ /* async schedule support */ struct ehci_qh *async; struct ehci_qh *reclaim; - int reclaim_ready : 1; + unsigned reclaim_ready : 1; + unsigned scanning : 1; /* periodic schedule support */ #define DEFAULT_I_TDPS 1024 /* some HCs can do less */ unsigned periodic_size; - u32 *periodic; /* hw periodic table */ + __le32 *periodic; /* hw periodic table */ dma_addr_t periodic_dma; unsigned i_thresh; /* uframes HC might cache */ @@ -70,9 +71,9 @@ struct ehci_hcd { /* one per controller */ /* glue to PCI and HCD framework */ struct usb_hcd hcd; - struct ehci_caps *caps; - struct ehci_regs *regs; - u32 hcs_params; /* cached register copy */ + struct ehci_caps __iomem *caps; + struct ehci_regs __iomem *regs; + __u32 hcs_params; /* cached register copy */ /* per-HC memory pools (could be per-bus, but ...) */ struct dma_pool *qh_pool; /* qh per active urb */ @@ -272,9 +273,9 @@ struct ehci_regs { */ struct ehci_qtd { /* first part defined by EHCI spec */ - u32 hw_next; /* see EHCI 3.5.1 */ - u32 hw_alt_next; /* see EHCI 3.5.2 */ - u32 hw_token; /* see EHCI 3.5.3 */ + __le32 hw_next; /* see EHCI 3.5.1 */ + __le32 hw_alt_next; /* see EHCI 3.5.2 */ + __le32 hw_token; /* see EHCI 3.5.3 */ #define QTD_TOGGLE (1 << 31) /* data toggle */ #define QTD_LENGTH(tok) (((tok)>>16) & 0x7fff) #define QTD_IOC (1 << 15) /* interrupt on complete */ @@ -288,8 +289,8 @@ struct ehci_qtd { #define QTD_STS_MMF (1 << 2) /* incomplete split transaction */ #define QTD_STS_STS (1 << 1) /* split transaction state */ #define QTD_STS_PING (1 << 0) /* issue PING? */ - u32 hw_buf [5]; /* see EHCI 3.5.4 */ - u32 hw_buf_hi [5]; /* Appendix B */ + __le32 hw_buf [5]; /* see EHCI 3.5.4 */ + __le32 hw_buf_hi [5]; /* Appendix B */ /* the rest is HCD-private */ dma_addr_t qtd_dma; /* qtd address */ @@ -349,18 +350,18 @@ union ehci_shadow { struct ehci_qh { /* first part defined by EHCI spec */ - u32 hw_next; /* see EHCI 3.6.1 */ - u32 hw_info1; /* see EHCI 3.6.2 */ + __le32 hw_next; /* see EHCI 3.6.1 */ + __le32 hw_info1; /* see EHCI 3.6.2 */ #define QH_HEAD 0x00008000 - u32 hw_info2; /* see EHCI 3.6.2 */ - u32 hw_current; /* qtd list - see EHCI 3.6.4 */ + __le32 hw_info2; /* see EHCI 3.6.2 */ + __le32 hw_current; /* qtd list - see EHCI 3.6.4 */ /* qtd overlay (hardware parts of a struct ehci_qtd) */ - u32 hw_qtd_next; - u32 hw_alt_next; - u32 hw_token; - u32 hw_buf [5]; - u32 hw_buf_hi [5]; + __le32 hw_qtd_next; + __le32 hw_alt_next; + __le32 hw_token; + __le32 hw_buf [5]; + __le32 hw_buf_hi [5]; /* the rest is HCD-private */ dma_addr_t qh_dma; /* address of qh */ @@ -396,7 +397,7 @@ struct ehci_qh { struct ehci_iso_packet { /* These will be copied to iTD when scheduling */ u64 bufp; /* itd->hw_bufp{,_hi}[pg] |= */ - u32 transaction; /* itd->hw_transaction[i] |= */ + __le32 transaction; /* itd->hw_transaction[i] |= */ u8 cross; /* buf crosses pages */ /* for full speed OUT splits */ u16 buf1; @@ -418,8 +419,8 @@ struct ehci_iso_sched { */ struct ehci_iso_stream { /* first two fields match QH, but info1 == 0 */ - u32 hw_next; - u32 hw_info1; + __le32 hw_next; + __le32 hw_info1; u32 refcount; u8 bEndpointAddress; @@ -433,7 +434,7 @@ struct ehci_iso_stream { unsigned long start; /* jiffies */ unsigned long rescheduled; int next_uframe; - u32 splits; + __le32 splits; /* the rest is derived from the endpoint descriptor, * trusting urb->interval == f(epdesc->bInterval) and @@ -446,12 +447,12 @@ struct ehci_iso_stream { unsigned bandwidth; /* This is used to initialize iTD's hw_bufp fields */ - u32 buf0; - u32 buf1; - u32 buf2; + __le32 buf0; + __le32 buf1; + __le32 buf2; /* this is used to initialize sITD's tt info */ - u32 address; + __le32 address; }; /*-------------------------------------------------------------------------*/ @@ -464,8 +465,8 @@ struct ehci_iso_stream { */ struct ehci_itd { /* first part defined by EHCI spec */ - u32 hw_next; /* see EHCI 3.3.1 */ - u32 hw_transaction [8]; /* see EHCI 3.3.2 */ + __le32 hw_next; /* see EHCI 3.3.1 */ + __le32 hw_transaction [8]; /* see EHCI 3.3.2 */ #define EHCI_ISOC_ACTIVE (1<<31) /* activate transfer this slot */ #define EHCI_ISOC_BUF_ERR (1<<30) /* Data buffer error */ #define EHCI_ISOC_BABBLE (1<<29) /* babble detected */ @@ -475,8 +476,8 @@ struct ehci_itd { #define ITD_ACTIVE __constant_cpu_to_le32(EHCI_ISOC_ACTIVE) - u32 hw_bufp [7]; /* see EHCI 3.3.3 */ - u32 hw_bufp_hi [7]; /* Appendix B */ + __le32 hw_bufp [7]; /* see EHCI 3.3.3 */ + __le32 hw_bufp_hi [7]; /* Appendix B */ /* the rest is HCD-private */ dma_addr_t itd_dma; /* for this itd */ @@ -503,11 +504,11 @@ struct ehci_itd { */ struct ehci_sitd { /* first part defined by EHCI spec */ - u32 hw_next; + __le32 hw_next; /* uses bit field macros above - see EHCI 0.95 Table 3-8 */ - u32 hw_fullspeed_ep; /* EHCI table 3-9 */ - u32 hw_uframe; /* EHCI table 3-10 */ - u32 hw_results; /* EHCI table 3-11 */ + __le32 hw_fullspeed_ep; /* EHCI table 3-9 */ + __le32 hw_uframe; /* EHCI table 3-10 */ + __le32 hw_results; /* EHCI table 3-11 */ #define SITD_IOC (1 << 31) /* interrupt on completion */ #define SITD_PAGE (1 << 30) /* buffer 0/1 */ #define SITD_LENGTH(x) (0x3ff & ((x)>>16)) @@ -521,9 +522,9 @@ struct ehci_sitd { #define SITD_ACTIVE __constant_cpu_to_le32(SITD_STS_ACTIVE) - u32 hw_buf [2]; /* EHCI table 3-12 */ - u32 hw_backpointer; /* EHCI table 3-13 */ - u32 hw_buf_hi [2]; /* Appendix B */ + __le32 hw_buf [2]; /* EHCI table 3-12 */ + __le32 hw_backpointer; /* EHCI table 3-13 */ + __le32 hw_buf_hi [2]; /* Appendix B */ /* the rest is HCD-private */ dma_addr_t sitd_dma; @@ -548,8 +549,8 @@ struct ehci_sitd { * it hits a "restore" FSTN; then it returns to finish other uframe 0/1 work. */ struct ehci_fstn { - u32 hw_next; /* any periodic q entry */ - u32 hw_prev; /* qh or EHCI_LIST_END */ + __le32 hw_next; /* any periodic q entry */ + __le32 hw_prev; /* qh or EHCI_LIST_END */ /* the rest is HCD-private */ dma_addr_t fstn_dma; diff --git a/drivers/usb/host/hc_simple.c b/drivers/usb/host/hc_simple.c index 8a464917e..ade67124a 100644 --- a/drivers/usb/host/hc_simple.c +++ b/drivers/usb/host/hc_simple.c @@ -146,11 +146,6 @@ static int hci_submit_urb (struct urb * urb, int mem_flags) if (!urb->dev || !urb->dev->bus || urb->hcpriv) return -EINVAL; - if (usb_endpoint_halted - (urb->dev, usb_pipeendpoint (pipe), usb_pipeout (pipe))) { - printk ("hci_submit_urb: endpoint_halted\n"); - return -EPIPE; - } hci = (hci_t *) urb->dev->bus->hcpriv; /* a request to the virtual root hub */ diff --git a/drivers/usb/host/ohci-dbg.c b/drivers/usb/host/ohci-dbg.c index 54daaacdc..947bf4a5e 100644 --- a/drivers/usb/host/ohci-dbg.c +++ b/drivers/usb/host/ohci-dbg.c @@ -131,7 +131,7 @@ static char *hcfs2string (int state) static void ohci_dump_status (struct ohci_hcd *controller, char **next, unsigned *size) { - struct ohci_regs *regs = controller->regs; + struct ohci_regs __iomem *regs = controller->regs; u32 temp; temp = ohci_readl (®s->revision) & 0xff; @@ -336,7 +336,7 @@ static void __attribute__((unused)) ohci_dump_ed (const struct ohci_hcd *ohci, const char *label, const struct ed *ed, int verbose) { - u32 tmp = ed->hwINFO; + __le32 tmp = ed->hwINFO; char *type = ""; ohci_dbg (ohci, "%s, ed %p state 0x%x type %s; next ed %08x\n", @@ -359,7 +359,7 @@ ohci_dump_ed (const struct ohci_hcd *ohci, const char *label, type, 0x007f & le32_to_cpu (tmp)); ohci_dbg (ohci, " tds: head %08x %s%s tail %08x%s\n", - tmp = le32_to_cpup (&ed->hwHeadP), + le32_to_cpup (&ed->hwHeadP), (ed->hwHeadP & ED_C) ? data1 : data0, (ed->hwHeadP & ED_H) ? " HALT" : "", le32_to_cpup (&ed->hwTailP), @@ -415,8 +415,8 @@ show_list (struct ohci_hcd *ohci, char *buf, size_t count, struct ed *ed) /* dump a snapshot of the bulk or control schedule */ while (ed) { - u32 info = ed->hwINFO; - u32 scratch = cpu_to_le32p (&ed->hwINFO); + __le32 info = ed->hwINFO; + u32 scratch = le32_to_cpup (&ed->hwINFO); struct list_head *entry; struct td *td; @@ -439,7 +439,7 @@ show_list (struct ohci_hcd *ohci, char *buf, size_t count, struct ed *ed) u32 cbp, be; td = list_entry (entry, struct td, td_list); - scratch = cpu_to_le32p (&td->hwINFO); + scratch = le32_to_cpup (&td->hwINFO); cbp = le32_to_cpup (&td->hwCBP); be = le32_to_cpup (&td->hwBE); temp = scnprintf (buf, size, @@ -541,8 +541,8 @@ show_periodic (struct class_device *class_dev, char *buf) /* show more info the first time around */ if (temp == seen_count) { - u32 info = ed->hwINFO; - u32 scratch = cpu_to_le32p (&ed->hwINFO); + __le32 info = ed->hwINFO; + u32 scratch = le32_to_cpup (&ed->hwINFO); struct list_head *entry; unsigned qlen = 0; @@ -599,7 +599,7 @@ show_registers (struct class_device *class_dev, char *buf) struct usb_bus *bus; struct usb_hcd *hcd; struct ohci_hcd *ohci; - struct ohci_regs *regs; + struct ohci_regs __iomem *regs; unsigned long flags; unsigned temp, size; char *next; diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index d13e98e35..0609e12ef 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -97,6 +97,7 @@ #include #include /* for in_interrupt () */ #include +#include #include "../core/hcd.h" #include #include /* needed by ohci-mem.c when no PCI */ @@ -593,7 +594,7 @@ static int hc_start (struct ohci_hcd *ohci) static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs) { struct ohci_hcd *ohci = hcd_to_ohci (hcd); - struct ohci_regs *regs = ohci->regs; + struct ohci_regs __iomem *regs = ohci->regs; int ints; /* we can eliminate a (slow) ohci_readl() @@ -693,7 +694,7 @@ static void ohci_stop (struct usb_hcd *hcd) /* must not be called from interrupt context */ -#ifdef CONFIG_PM +#if defined(CONFIG_USB_SUSPEND) || defined(CONFIG_PM) static void mark_children_gone (struct usb_device *dev) { diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c index f6263bf9b..424971c4b 100644 --- a/drivers/usb/host/ohci-hub.c +++ b/drivers/usb/host/ohci-hub.c @@ -435,6 +435,89 @@ ohci_hub_descriptor ( /*-------------------------------------------------------------------------*/ +#ifdef CONFIG_USB_OTG + +static int ohci_start_port_reset (struct usb_hcd *hcd, unsigned port) +{ + struct ohci_hcd *ohci = hcd_to_ohci (hcd); + u32 status; + + if (!port) + return -EINVAL; + port--; + + /* start port reset before HNP protocol times out */ + status = ohci_readl(&ohci->regs->roothub.portstatus [port]); + if (!(status & RH_PS_CCS)) + return -ENODEV; + + /* khubd will finish the reset later */ + writel(RH_PS_PRS, &ohci->regs->roothub.portstatus [port]); + return 0; +} + +static void start_hnp(struct ohci_hcd *ohci); + +#else + +#define ohci_start_port_reset NULL + +#endif + +/*-------------------------------------------------------------------------*/ + + +/* See usb 7.1.7.5: root hubs must issue at least 50 msec reset signaling, + * not necessarily continuous ... to guard against resume signaling. + * The short timeout is safe for non-root hubs, and is backward-compatible + * with earlier Linux hosts. + */ +#ifdef CONFIG_USB_SUSPEND +#define PORT_RESET_MSEC 50 +#else +#define PORT_RESET_MSEC 10 +#endif + +/* this timer value might be vendor-specific ... */ +#define PORT_RESET_HW_MSEC 10 + +/* wrap-aware logic stolen from */ +#define tick_before(t1,t2) ((((s16)(t1))-((s16)(t2))) < 0) + +/* called from some task, normally khubd */ +static inline void root_port_reset (struct ohci_hcd *ohci, unsigned port) +{ + u32 __iomem *portstat = &ohci->regs->roothub.portstatus [port]; + u32 temp; + u16 now = readl(&ohci->regs->fmnumber); + u16 reset_done = now + PORT_RESET_MSEC; + + /* build a "continuous enough" reset signal, with up to + * 3msec gap between pulses. scheduler HZ==100 must work; + * this might need to be deadline-scheduled. + */ + do { + /* spin until any current reset finishes */ + for (;;) { + temp = ohci_readl (portstat); + if (!(temp & RH_PS_PRS)) + break; + udelay (500); + } + + if (!(temp & RH_PS_CCS)) + break; + if (temp & RH_PS_PRSC) + writel (RH_PS_PRSC, portstat); + + /* start the next reset, sleep till it's probably done */ + writel (RH_PS_PRS, portstat); + msleep(PORT_RESET_HW_MSEC); + now = readl(&ohci->regs->fmnumber); + } while (tick_before(now, reset_done)); + /* caller synchronizes using PRSC */ +} + static int ohci_hub_control ( struct usb_hcd *hcd, u16 typeReq, @@ -503,14 +586,14 @@ static int ohci_hub_control ( break; case GetHubStatus: temp = roothub_status (ohci) & ~(RH_HS_CRWE | RH_HS_DRWE); - *(u32 *) buf = cpu_to_le32 (temp); + *(__le32 *) buf = cpu_to_le32 (temp); break; case GetPortStatus: if (!wIndex || wIndex > ports) goto error; wIndex--; temp = roothub_portstatus (ohci, wIndex); - *(u32 *) buf = cpu_to_le32 (temp); + *(__le32 *) buf = cpu_to_le32 (temp); #ifndef OHCI_VERBOSE_DEBUG if (*(u16*)(buf+2)) /* only if wPortChange is interesting */ @@ -533,6 +616,12 @@ static int ohci_hub_control ( wIndex--; switch (wValue) { case USB_PORT_FEAT_SUSPEND: +#ifdef CONFIG_USB_OTG + if (ohci->hcd.self.otg_port == (wIndex + 1) + && ohci->hcd.self.b_hnp_enable) + start_hnp(ohci); + else +#endif writel (RH_PS_PSS, &ohci->regs->roothub.portstatus [wIndex]); break; @@ -541,10 +630,7 @@ static int ohci_hub_control ( &ohci->regs->roothub.portstatus [wIndex]); break; case USB_PORT_FEAT_RESET: - temp = ohci_readl (&ohci->regs->roothub.portstatus [wIndex]); - if (temp & RH_PS_CCS) - writel (RH_PS_PRS, - &ohci->regs->roothub.portstatus [wIndex]); + root_port_reset (ohci, wIndex); break; default: goto error; diff --git a/drivers/usb/host/ohci-omap.c b/drivers/usb/host/ohci-omap.c index 1e5fc5d93..d133ff22a 100644 --- a/drivers/usb/host/ohci-omap.c +++ b/drivers/usb/host/ohci-omap.c @@ -2,27 +2,30 @@ * OHCI HCD (Host Controller Driver) for USB. * * (C) Copyright 1999 Roman Weissgaerber - * (C) Copyright 2000-2002 David Brownell + * (C) Copyright 2000-2004 David Brownell * (C) Copyright 2002 Hewlett-Packard Company * * OMAP Bus Glue * * Written by Christopher Hoover - * Based on fragments of previous driver by Rusell King et al. + * Based on fragments of previous driver by Russell King et al. * * Modified for OMAP from ohci-sa1111.c by Tony Lindgren * Based on the 2.4 OMAP OHCI driver originally done by MontaVista Software Inc. * * This file is licenced under the GPL. */ - + #include #include +#include -#include #include #include #include +#include +#include +#include #include "ohci-omap.h" @@ -33,123 +36,54 @@ extern int usb_disabled(void); extern int ocpi_enable(void); -/* - * Use the first port only by default. Override with hmc_mode option. - * - * NOTE: Many OMAP-1510 Innovators supposedly have bad wiring for the USB ports - * 1 & 2, so only port 0 will work. To use the OHCI on the first port, use - * the Innovator USB client cable with a client-to-client connector and modify - * either the cable or the hub to feed 5V VBUS back to Innovator. VBUS should - * be the red lead in the cable. - * - * To mount USB hard disk as root, see the patch for do_mounts.c that tries - * remounting the root, and use root=0801 if your root is on sda1. Does not - * work with devfs. - */ -static int default_hmc_mode = 16; -static int hmc_mode = 1234; - -/* - * Set the USB host pin multiplexing and the selected HMC mode - */ -static int omap_usb_set_hmc_mode(int hmc_mode) -{ - unsigned int val; - - switch (hmc_mode) { - case 0: - /* 0: function, 1: disabled, 2: disabled */ - omap_cfg_reg(W4_USB_PUEN); - omap_cfg_reg(R18_1510_USB_GPIO0); - break; - case 4: - /* 0: function 1: host 2: host */ - omap_cfg_reg(usb1_speed); - omap_cfg_reg(usb1_susp); - omap_cfg_reg(usb1_seo); - omap_cfg_reg(usb1_txen); - omap_cfg_reg(usb1_txd); - omap_cfg_reg(usb1_vp); - omap_cfg_reg(usb1_vm); - omap_cfg_reg(usb1_rcv); - omap_cfg_reg(usb2_susp); - omap_cfg_reg(usb2_seo); - omap_cfg_reg(usb2_txen); - omap_cfg_reg(usb2_txd); - omap_cfg_reg(usb2_vp); - omap_cfg_reg(usb2_vm); - omap_cfg_reg(usb2_rcv); - break; - case 16: - /* 0: host, 1: disabled, 2: disabled */ - omap_cfg_reg(W9_USB0_TXEN); - omap_cfg_reg(AA9_USB0_VP); - omap_cfg_reg(Y5_USB0_RCV); - omap_cfg_reg(R9_USB0_VM); - omap_cfg_reg(V6_USB0_TXD); - omap_cfg_reg(W5_USB0_SE0); - break; - default: - printk("Unknown USB host configuration: %i\n", hmc_mode); - return -ENODEV; - } - - /* Write the selected HMC mode */ - val = readl(MOD_CONF_CTRL_0) & ~HMC_CLEAR; - val |= (hmc_mode << 1); - writel(val, MOD_CONF_CTRL_0); - - return 0; -} - /* * OHCI clock initialization for OMAP-1510 and 1610 */ static int omap_ohci_clock_power(int on) { if (on) { - if (cpu_is_omap_1510()) { + if (cpu_is_omap1510()) { /* Use DPLL, not APLL */ - writel(readl(ULPD_APLL_CTRL_REG) & ~APLL_NDPLL_SWITCH, - ULPD_APLL_CTRL_REG); + omap_writel(omap_readl(ULPD_APLL_CTRL) & ~APLL_NDPLL_SWITCH, + ULPD_APLL_CTRL); /* Enable DPLL */ - writel(readl(ULPD_DPLL_CTRL_REG) | DPLL_PLL_ENABLE, - ULPD_DPLL_CTRL_REG); + omap_writel(omap_readl(ULPD_DPLL_CTRL) | DPLL_PLL_ENABLE, + ULPD_DPLL_CTRL); /* Software request for USB 48MHz clock */ - writel(readl(ULPD_SOFT_REQ_REG) | SOFT_REQ_REG_REQ, - ULPD_SOFT_REQ_REG); + omap_writel(omap_readl(ULPD_SOFT_REQ) | SOFT_REQ_REG_REQ, + ULPD_SOFT_REQ); - while (!(readl(ULPD_DPLL_CTRL_REG) & DPLL_LOCK)); + while (!(omap_readl(ULPD_DPLL_CTRL) & DPLL_LOCK)); } - if (cpu_is_omap_1610()) { + if (cpu_is_omap16xx()) { /* Enable OHCI */ - writel(readl(ULPD_SOFT_REQ_REG) | SOFT_USB_OTG_REQ, - ULPD_SOFT_REQ_REG); + omap_writel(omap_readl(ULPD_SOFT_REQ) | SOFT_USB_OTG_REQ, + ULPD_SOFT_REQ); /* USB host clock request if not using OTG */ - writel(readl(ULPD_SOFT_REQ_REG) | SOFT_USB_REQ, - ULPD_SOFT_REQ_REG); + omap_writel(omap_readl(ULPD_SOFT_REQ) | SOFT_USB_REQ, + ULPD_SOFT_REQ); - writel(readl(ULPD_STATUS_REQ_REG) | USB_HOST_DPLL_REQ, - ULPD_STATUS_REQ_REG); + omap_writel(omap_readl(ULPD_STATUS_REQ) | USB_HOST_DPLL_REQ, + ULPD_STATUS_REQ); } /* Enable 48MHz clock to USB */ - writel(readl(ULPD_CLOCK_CTRL_REG) | USB_MCLK_EN, - ULPD_CLOCK_CTRL_REG); + omap_writel(omap_readl(ULPD_CLOCK_CTRL) | USB_MCLK_EN, + ULPD_CLOCK_CTRL); - writel(readl(ARM_IDLECT2) | (1 << EN_LBFREECK) | (1 << EN_LBCK), + omap_writel(omap_readl(ARM_IDLECT2) | (1 << EN_LBFREECK) | (1 << EN_LBCK), ARM_IDLECT2); - writel(readl(MOD_CONF_CTRL_0) | USB_HOST_HHC_UHOST_EN, + omap_writel(omap_readl(MOD_CONF_CTRL_0) | USB_HOST_HHC_UHOST_EN, MOD_CONF_CTRL_0); } else { /* Disable 48MHz clock to USB */ - writel(readl(ULPD_CLOCK_CTRL_REG) & ~USB_MCLK_EN, - ULPD_CLOCK_CTRL_REG); + omap_writel(omap_readl(ULPD_CLOCK_CTRL) & ~USB_MCLK_EN, + ULPD_CLOCK_CTRL); /* FIXME: The DPLL stays on for now */ } @@ -163,13 +97,19 @@ static int omap_ohci_clock_power(int on) static int omap_ohci_transceiver_power(int on) { if (on) { - if (omap_is_innovator()) - writel(readl(OMAP1510_FPGA_HOST_CTRL) | 0x20, - OMAP1510_FPGA_HOST_CTRL); + if (machine_is_omap_innovator() && cpu_is_omap1510()) + fpga_write(fpga_read(INNOVATOR_FPGA_CAM_USB_CONTROL) | 0x20, + INNOVATOR_FPGA_CAM_USB_CONTROL); + else if (machine_is_omap_osk()) { + /* FIXME: GPIO1 -> 1 on the TPS65010 I2C chip */ + } } else { - if (omap_is_innovator()) - writel(readl(OMAP1510_FPGA_HOST_CTRL) & ~0x20, - OMAP1510_FPGA_HOST_CTRL); + if (machine_is_omap_innovator() && cpu_is_omap1510()) + fpga_write(fpga_read(INNOVATOR_FPGA_CAM_USB_CONTROL) & ~0x20, + INNOVATOR_FPGA_CAM_USB_CONTROL); + else if (machine_is_omap_osk()) { + /* FIXME: GPIO1 -> 0 on the TPS65010 I2C chip */ + } } return 0; @@ -181,10 +121,10 @@ static int omap_ohci_transceiver_power(int on) static int omap_1510_local_bus_power(int on) { if (on) { - writel((1 << 1) | (1 << 0), OMAP1510_LB_MMU_CTL); + omap_writel((1 << 1) | (1 << 0), OMAP1510_LB_MMU_CTL); udelay(200); } else { - writel(0, OMAP1510_LB_MMU_CTL); + omap_writel(0, OMAP1510_LB_MMU_CTL); } return 0; @@ -193,8 +133,8 @@ static int omap_1510_local_bus_power(int on) /* * OMAP-1510 specific Local Bus initialization * NOTE: This assumes 32MB memory size in OMAP1510LB_MEMSIZE. - * See also arch/mach-omap/memory.h for __virt_to_bus() and - * __bus_to_virt() which need to match with the physical + * See also arch/mach-omap/memory.h for __virt_to_dma() and + * __dma_to_virt() which need to match with the physical * Local Bus address below. */ static int omap_1510_local_bus_init(void) @@ -202,125 +142,115 @@ static int omap_1510_local_bus_init(void) unsigned int tlb; unsigned long lbaddr, physaddr; - writel((readl(OMAP1510_LB_CLOCK_DIV) & 0xfffffff8) | 0x4, + omap_writel((omap_readl(OMAP1510_LB_CLOCK_DIV) & 0xfffffff8) | 0x4, OMAP1510_LB_CLOCK_DIV); /* Configure the Local Bus MMU table */ for (tlb = 0; tlb < OMAP1510_LB_MEMSIZE; tlb++) { lbaddr = tlb * 0x00100000 + OMAP1510_LB_OFFSET; physaddr = tlb * 0x00100000 + PHYS_OFFSET; - writel((lbaddr & 0x0fffffff) >> 22, OMAP1510_LB_MMU_CAM_H); - writel(((lbaddr & 0x003ffc00) >> 6) | 0xc, + omap_writel((lbaddr & 0x0fffffff) >> 22, OMAP1510_LB_MMU_CAM_H); + omap_writel(((lbaddr & 0x003ffc00) >> 6) | 0xc, OMAP1510_LB_MMU_CAM_L); - writel(physaddr >> 16, OMAP1510_LB_MMU_RAM_H); - writel((physaddr & 0x0000fc00) | 0x300, OMAP1510_LB_MMU_RAM_L); - writel(tlb << 4, OMAP1510_LB_MMU_LCK); - writel(0x1, OMAP1510_LB_MMU_LD_TLB); + omap_writel(physaddr >> 16, OMAP1510_LB_MMU_RAM_H); + omap_writel((physaddr & 0x0000fc00) | 0x300, OMAP1510_LB_MMU_RAM_L); + omap_writel(tlb << 4, OMAP1510_LB_MMU_LCK); + omap_writel(0x1, OMAP1510_LB_MMU_LD_TLB); } /* Enable the walking table */ - writel(readl(OMAP1510_LB_MMU_CTL) | (1 << 3), OMAP1510_LB_MMU_CTL); + omap_writel(omap_readl(OMAP1510_LB_MMU_CTL) | (1 << 3), OMAP1510_LB_MMU_CTL); udelay(200); return 0; } -/* - * OMAP-1610 specific hardware initialization - * - * Intended to configure OMAP-1610 USB host and OTG ports depending on - * the HMC mode selected. - * - * FIXME: Currently only supports alternate ping group 2 mode, should - * be easy to modify for other configurations once there is some - * hardware to test with. - */ -static int omap_1610_usb_init(int mode) -{ - u_int val = 0; - - /* Configure the OMAP transceiver settings */ - val |= (1 << 8); /* CONF_USB2_UNI TRM p 15-205*/ - val |= (4 << 4); /* TRM p 5-59, p 15-157 (1224) */ +#ifdef CONFIG_USB_OTG - //val |= (1 << 3); /* Isolate integrated transceiver from port 0 */ - val |= (1 << 2); /* Disable pulldown on integrated transceiver DM */ - val |= (1 << 1); /* Disable pulldown on integraded transceiver DP */ +static void start_hnp(struct ohci_hcd *ohci) +{ + const unsigned port = ohci->hcd.self.otg_port - 1; + unsigned long flags; - writel(val, USB_TRANSCEIVER_CTRL); + otg_start_hnp(ohci->transceiver); - /* Set the USB0_TRX_MODE */ - val = 0; - val &= ~OTG_IDLE_EN; - val &= ~DEV_IDLE_EN; - val &= ~(7 << 16); /* Clear USB0_TRX_MODE */ - val |= (3 << 16); /* 0 or 3, 6-wire DAT/SE0, TRM p 15-159 */ - writel(val, OTG_SYSCON_1); + local_irq_save(flags); + ohci->transceiver->state = OTG_STATE_A_SUSPEND; + writel (RH_PS_PSS, &ohci->regs->roothub.portstatus [port]); + OTG_CTRL_REG &= ~OTG_A_BUSREQ; + local_irq_restore(flags); +} - /* - * Control via OTG, see TRM p 15-163 - */ - val = 0; - //val |= 1; /* REVISIT: Enable OTG = 1 */ +#endif - /* Control via OTG */ - val &= ~HMC_PADEN; - val &= ~OTG_PADEN; - val |= UHOST_EN; +/*-------------------------------------------------------------------------*/ - val &= ~0x3f; /* Clear HMC mode */ - val |= mode; /* Set HMC mode */ - val &= ~(7 << 16); /* Clear ASE0_BRST */ - val |= (4 << 16); /* Must be 4 */ - val |= USBX_SYNCHRO; /* Must be set */ - val |= SRP_VBUS; - writel(val, OTG_SYSCON_2); +static int omap_start_hc(struct ohci_hcd *ohci, struct platform_device *pdev) +{ + struct omap_usb_config *config = pdev->dev.platform_data; + int need_transceiver = (config->otg != 0); - /* Enable OTG idle */ - //writel(readl(OTG_SYSCON_1) | OTG_IDLE_EN, OTG_SYSCON_1); + dev_dbg(&pdev->dev, "starting USB Controller\n"); - return 0; -} + if (config->otg) { + ohci->hcd.self.otg_port = config->otg; + /* default/minimum OTG power budget: 8 mA */ + ohci->power_budget = 8; + } -/*-------------------------------------------------------------------------*/ + /* boards can use OTG transceivers in non-OTG modes */ + need_transceiver = need_transceiver + || machine_is_omap_h2(); -static void omap_start_hc(struct omap_dev *dev) -{ - printk(KERN_DEBUG __FILE__ - ": starting OMAP OHCI USB Controller\n"); + if (cpu_is_omap16xx()) + ocpi_enable(); - /* - * Set the HMC mode for the USB ports - */ -#if 0 - /* See note about the Innovator wiring above */ - if (omap_is_innovator()) - hmc_mode = 4; /* 0: function 1: host 2: host */ +#ifdef CONFIG_ARCH_OMAP_OTG + if (need_transceiver) { + ohci->transceiver = otg_get_transceiver(); + if (ohci->transceiver) { + int status = otg_set_host(ohci->transceiver, + &ohci->hcd.self); + dev_dbg(&pdev->dev, "init %s transceiver, status %d\n", + ohci->transceiver->label, status); + if (status) { + if (ohci->transceiver) + put_device(ohci->transceiver->dev); + return status; + } + } else { + dev_err(&pdev->dev, "can't find transceiver\n"); + return -ENODEV; + } + } #endif - if (cpu_is_omap_1610()) - ocpi_enable(); - - omap_usb_set_hmc_mode(hmc_mode); + if (machine_is_omap_osk()) { + omap_request_gpio(9); + omap_set_gpio_direction(9, 1); + omap_set_gpio_dataout(9, 1); + } omap_ohci_clock_power(1); + omap_ohci_transceiver_power(1); - if (cpu_is_omap_1510()) { + if (cpu_is_omap1510()) { omap_1510_local_bus_power(1); omap_1510_local_bus_init(); } - if (cpu_is_omap_1610()) - omap_1610_usb_init(hmc_mode); + /* board init will have already handled HMC and mux setup. + * any external transceiver should already be initialized + * too, so all configured ports use the right signaling now. + */ - //omap_enable_device(dev); + return 0; } -static void omap_stop_hc(struct omap_dev *dev) +static void omap_stop_hc(struct platform_device *pdev) { - printk(KERN_DEBUG __FILE__ - ": stopping OMAP OHCI USB Controller\n"); + dev_dbg(&pdev->dev, "stopping USB Controller\n"); /* * FIXME: Put the USB host controller into reset. @@ -336,16 +266,7 @@ static void omap_stop_hc(struct omap_dev *dev) /*-------------------------------------------------------------------------*/ -static irqreturn_t usb_hcd_omap_hcim_irq (int irq, void *__hcd, struct pt_regs * r) -{ - struct usb_hcd *hcd = __hcd; - - return usb_hcd_irq(irq, hcd, r); -} - -/*-------------------------------------------------------------------------*/ - -void usb_hcd_omap_remove (struct usb_hcd *, struct omap_dev *); +void usb_hcd_omap_remove (struct usb_hcd *, struct platform_device *); /* configure so an HC device and id are always provided */ /* always called with process context; sleeping is OK */ @@ -358,59 +279,71 @@ void usb_hcd_omap_remove (struct usb_hcd *, struct omap_dev *); * Allocates basic resources for this USB host controller, and * then invokes the start() method for the HCD associated with it * through the hotplug entry's driver_data. - * - * Store this function in the HCD's struct pci_driver as probe(). */ int usb_hcd_omap_probe (const struct hc_driver *driver, - struct usb_hcd **hcd_out, - struct omap_dev *dev) + struct platform_device *pdev) { int retval; struct usb_hcd *hcd = 0; + struct ohci_hcd *ohci; - if (!request_mem_region(dev->res.start, - dev->res.end - dev->res.start + 1, hcd_name)) { - dbg("request_mem_region failed"); - return -EBUSY; + if (pdev->num_resources != 2) { + printk(KERN_ERR "hcd probe: invalid num_resources: %i\n", + pdev->num_resources); + return -ENODEV; } - omap_start_hc(dev); + if (pdev->resource[0].flags != IORESOURCE_MEM + || pdev->resource[1].flags != IORESOURCE_IRQ) { + printk(KERN_ERR "hcd probe: invalid resource type\n"); + return -ENODEV; + } + + if (!request_mem_region(pdev->resource[0].start, + pdev->resource[0].end - pdev->resource[0].start + 1, hcd_name)) { + dev_dbg(&pdev->dev, "request_mem_region failed\n"); + return -EBUSY; + } hcd = driver->hcd_alloc (); if (hcd == NULL){ - dbg ("hcd_alloc failed"); + dev_dbg(&pdev->dev, "hcd_alloc failed\n"); retval = -ENOMEM; goto err1; } + dev_set_drvdata(&pdev->dev, hcd); + ohci = hcd_to_ohci(hcd); hcd->driver = (struct hc_driver *) driver; hcd->description = driver->description; - hcd->irq = dev->irq[0]; - hcd->regs = dev->mapbase; - hcd->self.controller = &dev->dev; + hcd->irq = pdev->resource[1].start; + hcd->regs = (void *)pdev->resource[0].start; + hcd->self.controller = &pdev->dev; + + retval = omap_start_hc(ohci, pdev); + if (retval < 0) + goto err2; retval = hcd_buffer_create (hcd); if (retval != 0) { - dbg ("pool alloc fail"); + dev_dbg(&pdev->dev, "pool alloc fail\n"); goto err1; } - retval = request_irq (hcd->irq, - usb_hcd_omap_hcim_irq, + retval = request_irq (hcd->irq, usb_hcd_irq, SA_INTERRUPT, hcd->description, hcd); if (retval != 0) { - dbg("request_irq failed"); + dev_dbg(&pdev->dev, "request_irq failed\n"); retval = -EBUSY; goto err2; } - info ("%s (OMAP) at 0x%p, irq %d\n", - hcd->description, hcd->regs, hcd->irq); + dev_info(&pdev->dev, "at 0x%p, irq %d\n", hcd->regs, hcd->irq); usb_bus_init (&hcd->self); hcd->self.op = &usb_hcd_operations; hcd->self.hcpriv = (void *) hcd; - hcd->self.bus_name = "omap"; + hcd->self.bus_name = pdev->dev.bus_id; hcd->product_desc = "OMAP OHCI"; INIT_LIST_HEAD (&hcd->dev_list); @@ -418,11 +351,10 @@ int usb_hcd_omap_probe (const struct hc_driver *driver, if ((retval = driver->start (hcd)) < 0) { - usb_hcd_omap_remove(hcd, dev); + usb_hcd_omap_remove(hcd, pdev); return retval; } - *hcd_out = hcd; return 0; err2: @@ -430,10 +362,12 @@ int usb_hcd_omap_probe (const struct hc_driver *driver, if (hcd) driver->hcd_free(hcd); err1: - omap_stop_hc(dev); + omap_stop_hc(pdev); - release_mem_region(dev->res.start, dev->res.end - dev->res.start + 1); + release_mem_region(pdev->resource[0].start, + pdev->resource[0].end - pdev->resource[0].start + 1); + dev_set_drvdata(&pdev->dev, 0); return retval; } @@ -451,24 +385,27 @@ int usb_hcd_omap_probe (const struct hc_driver *driver, * context, normally "rmmod", "apmd", or something similar. * */ -void usb_hcd_omap_remove (struct usb_hcd *hcd, struct omap_dev *dev) +void usb_hcd_omap_remove (struct usb_hcd *hcd, struct platform_device *pdev) { void *base; - info ("remove: %s, state %x", hcd->self.bus_name, hcd->state); + dev_info(&pdev->dev, "remove: state %x\n", hcd->state); if (in_interrupt ()) BUG (); hcd->state = USB_STATE_QUIESCING; - dbg ("%s: roothub graceful disconnect", hcd->self.bus_name); + dev_dbg(&pdev->dev, "roothub graceful disconnect\n"); usb_disconnect (&hcd->self.root_hub); hcd->driver->stop (hcd); hcd_buffer_destroy (hcd); hcd->state = USB_STATE_HALT; + if (machine_is_omap_osk()) + omap_free_gpio(9); + free_irq (hcd->irq, hcd); usb_deregister_bus (&hcd->self); @@ -476,9 +413,10 @@ void usb_hcd_omap_remove (struct usb_hcd *hcd, struct omap_dev *dev) base = hcd->regs; hcd->driver->hcd_free (hcd); - omap_stop_hc(dev); + omap_stop_hc(pdev); - release_mem_region(dev->res.start, dev->res.end - dev->res.start + 1); + release_mem_region(pdev->resource[0].start, + pdev->resource[0].end - pdev->resource[0].start + 1); } /*-------------------------------------------------------------------------*/ @@ -486,11 +424,13 @@ void usb_hcd_omap_remove (struct usb_hcd *hcd, struct omap_dev *dev) static int __devinit ohci_omap_start (struct usb_hcd *hcd) { + struct omap_usb_config *config; struct ohci_hcd *ohci = hcd_to_ohci (hcd); int ret; - ohci->hcca = dma_alloc_consistent (hcd->self.controller, - sizeof *ohci->hcca, &ohci->hcca_dma); + config = hcd->self.controller->platform_data; + ohci->hcca = dma_alloc_coherent (hcd->self.controller, + sizeof *ohci->hcca, &ohci->hcca_dma, 0); if (!ohci->hcca) return -ENOMEM; @@ -500,6 +440,10 @@ ohci_omap_start (struct usb_hcd *hcd) return ret; } ohci->regs = hcd->regs; + + if (config->otg || config->rwc) + writel(OHCI_CTRL_RWC, &ohci->regs->control); + if (hc_reset (ohci) < 0) { ohci_stop (hcd); return -ENODEV; @@ -510,6 +454,9 @@ ohci_omap_start (struct usb_hcd *hcd) ohci_stop (hcd); return -EBUSY; } + if (ohci->power_budget) + hub_set_power_budget(ohci->hcd.self.root_hub, + ohci->power_budget); create_debug_files (ohci); #ifdef DEBUG @@ -533,10 +480,6 @@ static const struct hc_driver ohci_omap_hc_driver = { * basic lifecycle operations */ .start = ohci_omap_start, -#ifdef CONFIG_PM - /* suspend: ohci_omap_suspend, -- tbd */ - /* resume: ohci_omap_resume, -- tbd */ -#endif .stop = ohci_stop, /* @@ -566,104 +509,130 @@ static const struct hc_driver ohci_omap_hc_driver = { .hub_suspend = ohci_hub_suspend, .hub_resume = ohci_hub_resume, #endif + .start_port_reset = ohci_start_port_reset, }; /*-------------------------------------------------------------------------*/ -static int ohci_hcd_omap_drv_probe(struct omap_dev *dev) +static int ohci_hcd_omap_drv_probe(struct device *dev) { - struct usb_hcd *hcd = NULL; - int ret; + return usb_hcd_omap_probe(&ohci_omap_hc_driver, + to_platform_device(dev)); +} - if (usb_disabled()) - return -ENODEV; +static int ohci_hcd_omap_drv_remove(struct device *dev) +{ + struct platform_device *pdev = to_platform_device(dev); + struct usb_hcd *hcd = dev_get_drvdata(dev); + struct ohci_hcd *ohci = hcd_to_ohci (hcd); + + usb_hcd_omap_remove(hcd, pdev); + if (ohci->transceiver) { + (void) otg_set_host(ohci->transceiver, 0); + put_device(ohci->transceiver->dev); + } + dev_set_drvdata(dev, NULL); + + return 0; +} + +/*-------------------------------------------------------------------------*/ - ret = usb_hcd_omap_probe(&ohci_omap_hc_driver, &hcd, dev); +#if defined(CONFIG_USB_SUSPEND) || defined(CONFIG_PM) - if (ret == 0) - omap_set_drvdata(dev, hcd); +/* states match PCI usage, always suspending the root hub except that + * 4 ~= D3cold (ACPI D3) with clock off (resume sees reset). + */ - return ret; +static int ohci_omap_suspend(struct device *dev, u32 state, u32 level) +{ + struct ohci_hcd *ohci = hcd_to_ohci(dev_get_drvdata(dev)); + int status = -EINVAL; + + if (state <= dev->power.power_state) + return 0; + + dev_dbg(dev, "suspend to %d\n", state); + down(&ohci->hcd.self.root_hub->serialize); + status = ohci_hub_suspend(&ohci->hcd); + if (status == 0) { + if (state >= 4) { + /* power off + reset */ + OTG_SYSCON_2_REG &= ~UHOST_EN; + ohci->hcd.self.root_hub->state = USB_STATE_SUSPENDED; + state = 4; + } + ohci->hcd.state = HCD_STATE_SUSPENDED; + dev->power.power_state = state; + } + up(&ohci->hcd.self.root_hub->serialize); + return status; } -static int ohci_hcd_omap_drv_remove(struct omap_dev *dev) +static int ohci_omap_resume(struct device *dev, u32 level) { - struct usb_hcd *hcd = omap_get_drvdata(dev); + struct ohci_hcd *ohci = hcd_to_ohci(dev_get_drvdata(dev)); + int status = 0; - usb_hcd_omap_remove(hcd, dev); + switch (dev->power.power_state) { + case 0: + break; + case 4: + if (time_before(jiffies, ohci->next_statechange)) + msleep(5); + ohci->next_statechange = jiffies; + OTG_SYSCON_2_REG |= UHOST_EN; + /* FALLTHROUGH */ + default: + dev_dbg(dev, "resume from %d\n", dev->power.power_state); +#ifdef CONFIG_USB_SUSPEND + /* get extra cleanup even if remote wakeup isn't in use */ + status = usb_resume_device(ohci->hcd.self.root_hub); +#else + down(&ohci->hcd.self.root_hub->serialize); + status = ohci_hub_resume(&ohci->hcd); + up(&ohci->hcd.self.root_hub->serialize); +#endif + if (status == 0) + dev->power.power_state = 0; + break; + } + return status; +} - omap_set_drvdata(dev, NULL); +#endif - return 0; -} +/*-------------------------------------------------------------------------*/ /* * Driver definition to register with the OMAP bus */ -static struct omap_driver ohci_hcd_omap_driver = { - .drv = { - .name = OMAP_OHCI_NAME, - }, - .devid = OMAP_OCP_DEVID_USB, - .busid = OMAP_BUS_OCP, - .clocks = 0, +static struct device_driver ohci_hcd_omap_driver = { + .name = "ohci", + .bus = &platform_bus_type, .probe = ohci_hcd_omap_drv_probe, .remove = ohci_hcd_omap_drv_remove, -}; - -/* Any dma_mask must be set for OHCI to work */ -static u64 omap_dmamask = 0xffffffffUL; - -/* - * Device definition to match the driver above - */ -static struct omap_dev ohci_hcd_omap_device = { - .name = OMAP_OHCI_NAME, - .devid = OMAP_OCP_DEVID_USB, - .busid = OMAP_BUS_OCP, - .mapbase = (void *)OMAP_OHCI_BASE, - .dma_mask = &omap_dmamask, /* Needed only for OHCI */ - .res = { - .start = OMAP_OHCI_BASE, - .end = OMAP_OHCI_BASE + OMAP_OHCI_SIZE, - }, - .irq = { - INT_USB_HHC_1, - }, +#if defined(CONFIG_USB_SUSPEND) || defined(CONFIG_PM) + .suspend = ohci_omap_suspend, + .resume = ohci_omap_resume, +#endif }; static int __init ohci_hcd_omap_init (void) { - int ret; - - dbg (DRIVER_INFO " (OMAP)"); - dbg ("block sizes: ed %d td %d\n", - sizeof (struct ed), sizeof (struct td)); - - if (hmc_mode < 0 || hmc_mode > 25) - hmc_mode = default_hmc_mode; - - /* Register the driver with OMAP bus */ - ret = omap_driver_register(&ohci_hcd_omap_driver); - if (ret != 0) + printk (KERN_DEBUG "%s: " DRIVER_INFO " (OMAP)\n", hcd_name); + if (usb_disabled()) return -ENODEV; - /* Register the device with OMAP bus */ - ret = omap_device_register(&ohci_hcd_omap_device); - if (ret != 0) { - omap_driver_unregister(&ohci_hcd_omap_driver); - return -ENODEV; - } + pr_debug("%s: block sizes: ed %Zd td %Zd\n", hcd_name, + sizeof (struct ed), sizeof (struct td)); - return ret; + return driver_register(&ohci_hcd_omap_driver); } -MODULE_PARM(hmc_mode, "hmc_mode"); - static void __exit ohci_hcd_omap_cleanup (void) { - omap_device_unregister(&ohci_hcd_omap_device); - omap_driver_unregister(&ohci_hcd_omap_driver); + driver_unregister(&ohci_hcd_omap_driver); } module_init (ohci_hcd_omap_init); diff --git a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c index dc8bc13bf..73d9aee65 100644 --- a/drivers/usb/host/ohci-pci.c +++ b/drivers/usb/host/ohci-pci.c @@ -242,6 +242,7 @@ static const struct hc_driver ohci_pci_hc_driver = { .hub_suspend = ohci_hub_suspend, .hub_resume = ohci_hub_resume, #endif + .start_port_reset = ohci_start_port_reset, }; /*-------------------------------------------------------------------------*/ @@ -276,7 +277,7 @@ static int __init ohci_hcd_pci_init (void) if (usb_disabled()) return -ENODEV; - printk (KERN_DEBUG "%s: block sizes: ed %Zd td %Zd\n", hcd_name, + pr_debug ("%s: block sizes: ed %Zd td %Zd\n", hcd_name, sizeof (struct ed), sizeof (struct td)); return pci_module_init (&ohci_pci_driver); } diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c index 74c829f92..1afd40fec 100644 --- a/drivers/usb/host/ohci-q.c +++ b/drivers/usb/host/ohci-q.c @@ -136,7 +136,7 @@ static void periodic_link (struct ohci_hcd *ohci, struct ed *ed) for (i = ed->branch; i < NUM_INTS; i += ed->interval) { struct ed **prev = &ohci->periodic [i]; - u32 *prev_p = &ohci->hcca->int_table [i]; + __le32 *prev_p = &ohci->hcca->int_table [i]; struct ed *here = *prev; /* sorting each branch by period (slow before fast) @@ -156,7 +156,7 @@ static void periodic_link (struct ohci_hcd *ohci, struct ed *ed) ed->hwNextED = *prev_p; wmb (); *prev = ed; - *prev_p = cpu_to_le32p (&ed->dma); + *prev_p = cpu_to_le32(ed->dma); wmb(); } ohci->load [i] += ed->load; @@ -257,7 +257,7 @@ static void periodic_unlink (struct ohci_hcd *ohci, struct ed *ed) for (i = ed->branch; i < NUM_INTS; i += ed->interval) { struct ed *temp; struct ed **prev = &ohci->periodic [i]; - u32 *prev_p = &ohci->hcca->int_table [i]; + __le32 *prev_p = &ohci->hcca->int_table [i]; while (*prev && (temp = *prev) != ed) { prev_p = &temp->hwNextED; @@ -427,20 +427,21 @@ static struct ed *ed_get ( */ if (ed->state == ED_IDLE) { u32 info; + __le32 hw_info; info = usb_pipedevice (pipe); info |= (ep >> 1) << 7; info |= usb_maxpacket (udev, pipe, is_out) << 16; - info = cpu_to_le32 (info); + hw_info = cpu_to_le32 (info); if (udev->speed == USB_SPEED_LOW) - info |= ED_LOWSPEED; + hw_info |= ED_LOWSPEED; /* only control transfers store pids in tds */ if (type != PIPE_CONTROL) { - info |= is_out ? ED_OUT : ED_IN; + hw_info |= is_out ? ED_OUT : ED_IN; if (type != PIPE_BULK) { /* periodic transfers... */ if (type == PIPE_ISOCHRONOUS) - info |= ED_ISO; + hw_info |= ED_ISO; else if (interval > 32) /* iso can be bigger */ interval = 32; ed->interval = interval; @@ -451,7 +452,7 @@ static struct ed *ed_get ( / 1000; } } - ed->hwINFO = info; + ed->hwINFO = hw_info; } done: @@ -751,12 +752,6 @@ static void td_done (struct ohci_hcd *ohci, struct urb *urb, struct td *td) cc = TD_CC_GET (tdINFO); - /* control endpoints only have soft stalls */ - if (type != PIPE_CONTROL && cc == TD_CC_STALL) - usb_endpoint_halt (urb->dev, - usb_pipeendpoint (urb->pipe), - usb_pipeout (urb->pipe)); - /* update packet status if needed (short is normally ok) */ if (cc == TD_DATAUNDERRUN && !(urb->transfer_flags & URB_SHORT_NOT_OK)) @@ -795,7 +790,7 @@ ed_halted (struct ohci_hcd *ohci, struct td *td, int cc, struct td *rev) struct urb *urb = td->urb; struct ed *ed = td->ed; struct list_head *tmp = td->td_list.next; - u32 toggle = ed->hwHeadP & ED_C; + __le32 toggle = ed->hwHeadP & ED_C; /* clear ed halt; this is the td that caused it, but keep it inactive * until its urb->complete() has a chance to clean up. @@ -810,7 +805,7 @@ ed_halted (struct ohci_hcd *ohci, struct td *td, int cc, struct td *rev) */ while (tmp != &ed->td_list) { struct td *next; - u32 info; + __le32 info; next = list_entry (tmp, struct td, td_list); tmp = next->td_list.next; @@ -906,9 +901,6 @@ static struct td *dl_reverse_done_list (struct ohci_hcd *ohci) /*-------------------------------------------------------------------------*/ -/* wrap-aware logic stolen from */ -#define tick_before(t1,t2) ((((s16)(t1))-((s16)(t2))) < 0) - /* there are some urbs/eds to unlink; called in_irq(), with HCD locked */ static void finish_unlinks (struct ohci_hcd *ohci, u16 tick, struct pt_regs *regs) @@ -919,7 +911,7 @@ rescan_all: for (last = &ohci->ed_rm_list, ed = *last; ed != NULL; ed = *last) { struct list_head *entry, *tmp; int completed, modified; - u32 *prev; + __le32 *prev; /* only take off EDs that the HC isn't using, accounting for * frame counter wraps and EDs with partially retired TDs @@ -937,7 +929,7 @@ skip_ed: td = list_entry (ed->td_list.next, struct td, td_list); - head = cpu_to_le32 (ed->hwHeadP) & TD_MASK; + head = le32_to_cpu (ed->hwHeadP) & TD_MASK; /* INTR_WDH may need to clean up first */ if (td->td_dma != head) @@ -968,7 +960,7 @@ rescan_this: struct td *td; struct urb *urb; urb_priv_t *urb_priv; - u32 savebits; + __le32 savebits; td = list_entry (entry, struct td, td_list); urb = td->urb; diff --git a/drivers/usb/host/ohci.h b/drivers/usb/host/ohci.h index 5f0384417..19436cdd7 100644 --- a/drivers/usb/host/ohci.h +++ b/drivers/usb/host/ohci.h @@ -16,7 +16,7 @@ */ struct ed { /* first fields are hardware-specified, le32 */ - __u32 hwINFO; /* endpoint config bitmap */ + __le32 hwINFO; /* endpoint config bitmap */ /* info bits defined by hcd */ #define ED_DEQUEUE __constant_cpu_to_le32(1 << 27) /* info bits defined by the hardware */ @@ -25,11 +25,11 @@ struct ed { #define ED_LOWSPEED __constant_cpu_to_le32(1 << 13) #define ED_OUT __constant_cpu_to_le32(0x01 << 11) #define ED_IN __constant_cpu_to_le32(0x02 << 11) - __u32 hwTailP; /* tail of TD list */ - __u32 hwHeadP; /* head of TD list (hc r/w) */ + __le32 hwTailP; /* tail of TD list */ + __le32 hwHeadP; /* head of TD list (hc r/w) */ #define ED_C __constant_cpu_to_le32(0x02) /* toggle carry */ #define ED_H __constant_cpu_to_le32(0x01) /* halted */ - __u32 hwNextED; /* next ED in list */ + __le32 hwNextED; /* next ED in list */ /* rest are purely for the driver's use */ dma_addr_t dma; /* addr of ED */ @@ -71,7 +71,7 @@ struct ed { */ struct td { /* first fields are hardware-specified, le32 */ - __u32 hwINFO; /* transfer info bitmask */ + __le32 hwINFO; /* transfer info bitmask */ /* hwINFO bits for both general and iso tds: */ #define TD_CC 0xf0000000 /* condition code */ @@ -100,13 +100,13 @@ struct td { /* (no hwINFO #defines yet for iso tds) */ - __u32 hwCBP; /* Current Buffer Pointer (or 0) */ - __u32 hwNextTD; /* Next TD Pointer */ - __u32 hwBE; /* Memory Buffer End Pointer */ + __le32 hwCBP; /* Current Buffer Pointer (or 0) */ + __le32 hwNextTD; /* Next TD Pointer */ + __le32 hwBE; /* Memory Buffer End Pointer */ /* PSW is only for ISO */ #define MAXPSW 1 /* hardware allows 8 */ - __u16 hwPSW [MAXPSW]; + __le16 hwPSW [MAXPSW]; /* rest are purely for the driver's use */ __u8 index; @@ -171,16 +171,16 @@ static const int cc_to_error [16] = { */ struct ohci_hcca { #define NUM_INTS 32 - __u32 int_table [NUM_INTS]; /* periodic schedule */ + __le32 int_table [NUM_INTS]; /* periodic schedule */ /* * OHCI defines u16 frame_no, followed by u16 zero pad. * Since some processors can't do 16 bit bus accesses, * portable access must be a 32 bit byteswapped access. */ - u32 frame_no; /* current frame number */ + __le32 frame_no; /* current frame number */ #define OHCI_FRAME_NO(hccap) ((u16)le32_to_cpup(&(hccap)->frame_no)) - __u32 done_head; /* info returned for an interrupt */ + __le32 done_head; /* info returned for an interrupt */ u8 reserved_for_hc [116]; u8 what [4]; /* spec only identifies 252 bytes :) */ } __attribute__ ((aligned(256))); @@ -343,7 +343,7 @@ struct ohci_hcd { /* * I/O memory used to communicate with the HC (dma-consistent) */ - struct ohci_regs *regs; + struct ohci_regs __iomem *regs; /* * main memory used to communicate with the HC (dma-consistent). @@ -359,6 +359,13 @@ struct ohci_hcd { struct ed *ed_controltail; /* last in ctrl list */ struct ed *periodic [NUM_INTS]; /* shadow int_table */ + /* + * OTG controllers and transceivers need software interaction; + * other external transceivers should be software-transparent + */ + struct otg_transceiver *transceiver; + unsigned power_budget; + /* * memory management for queue data structures */ @@ -443,7 +450,7 @@ static inline unsigned int ohci_readl (void* regs) #else /* Standard version of ohci_readl uses standard, platform * specific implementation. */ -static inline unsigned int ohci_readl (void* regs) +static inline unsigned int ohci_readl (void __iomem * regs) { return readl (regs); } diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index bf8ab3cd7..20a42f914 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c @@ -82,7 +82,7 @@ static int debug = 1; #else static int debug = 0; #endif -MODULE_PARM(debug, "i"); +module_param(debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug level"); static char *errbuf; #define ERRBUF_LEN (32 * 1024) @@ -232,7 +232,7 @@ static void uhci_remove_td(struct uhci_hcd *uhci, struct uhci_td *td) /* * Inserts a td into qh list at the top. */ -static void uhci_insert_tds_in_qh(struct uhci_qh *qh, struct urb *urb, u32 breadth) +static void uhci_insert_tds_in_qh(struct uhci_qh *qh, struct urb *urb, __le32 breadth) { struct list_head *tmp, *head; struct urb_priv *urbp = (struct urb_priv *)urb->hcpriv; @@ -376,7 +376,7 @@ static void uhci_insert_qh(struct uhci_hcd *uhci, struct uhci_qh *skelqh, struct static void uhci_remove_qh(struct uhci_hcd *uhci, struct uhci_qh *qh) { struct uhci_qh *pqh; - u32 newlink; + __le32 newlink; unsigned int age; if (!qh) @@ -1120,10 +1120,6 @@ static int uhci_result_common(struct uhci_hcd *uhci, struct urb *urb) td_error: ret = uhci_map_status(status, uhci_packetout(td_token(td))); - if (ret == -EPIPE) - /* endpoint has stalled - mark it halted */ - usb_endpoint_halt(urb->dev, uhci_endpoint(td_token(td)), - uhci_packetout(td_token(td))); err: /* @@ -1344,7 +1340,7 @@ static struct urb *uhci_find_urb_ep(struct uhci_hcd *uhci, struct urb *urb) static int uhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, int mem_flags) { - int ret = -EINVAL; + int ret; struct uhci_hcd *uhci = hcd_to_uhci(hcd); unsigned long flags; struct urb *eurb; @@ -1352,7 +1348,8 @@ static int uhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, int mem_flags) spin_lock_irqsave(&uhci->schedule_lock, flags); - if (urb->status != -EINPROGRESS) /* URB already unlinked! */ + ret = urb->status; + if (ret != -EINPROGRESS) /* URB already unlinked! */ goto out; eurb = uhci_find_urb_ep(uhci, urb); @@ -1637,13 +1634,6 @@ static void stall_callback(unsigned long ptr) if (up->fsbr && !up->fsbr_timeout && time_after_eq(jiffies, up->fsbrtime + IDLE_TIMEOUT)) uhci_fsbr_timeout(uhci, u); - /* Check if the URB timed out */ - if (u->timeout && u->status == -EINPROGRESS && - time_after_eq(jiffies, up->inserttime + u->timeout)) { - u->status = -ETIMEDOUT; - list_move_tail(&up->urb_list, &list); - } - spin_unlock(&u->lock); } spin_unlock_irqrestore(&uhci->schedule_lock, flags); @@ -2258,7 +2248,8 @@ static int uhci_start(struct usb_hcd *hcd) irq = 7; /* Only place we don't use the frame list routines */ - uhci->fl->frame[i] = cpu_to_le32(uhci->skelqh[irq]->dma_handle); + uhci->fl->frame[i] = UHCI_PTR_QH | + cpu_to_le32(uhci->skelqh[irq]->dma_handle); } /* diff --git a/drivers/usb/host/uhci-hcd.h b/drivers/usb/host/uhci-hcd.h index b4bf3b6ca..785c0c2cc 100644 --- a/drivers/usb/host/uhci-hcd.h +++ b/drivers/usb/host/uhci-hcd.h @@ -80,7 +80,7 @@ #define CAN_SCHEDULE_FRAMES 1000 /* how far future frames can be scheduled */ struct uhci_frame_list { - u32 frame[UHCI_NUMFRAMES]; + __le32 frame[UHCI_NUMFRAMES]; void *frame_cpu[UHCI_NUMFRAMES]; @@ -105,8 +105,8 @@ struct urb_priv; */ struct uhci_qh { /* Hardware fields */ - u32 link; /* Next queue */ - u32 element; /* Queue element pointer */ + __le32 link; /* Next queue */ + __le32 element; /* Queue element pointer */ /* Software fields */ dma_addr_t dma_handle; @@ -185,10 +185,10 @@ struct uhci_qh { */ struct uhci_td { /* Hardware fields */ - u32 link; - u32 status; - u32 token; - u32 buffer; + __le32 link; + __le32 status; + __le32 token; + __le32 buffer; /* Software fields */ dma_addr_t dma_handle; diff --git a/drivers/usb/host/uhci-hub.c b/drivers/usb/host/uhci-hub.c index 2dde38163..22bbd7006 100644 --- a/drivers/usb/host/uhci-hub.c +++ b/drivers/usb/host/uhci-hub.c @@ -82,7 +82,7 @@ static int uhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, */ case GetHubStatus: - *(__u32 *)buf = cpu_to_le32(0); + *(__le32 *)buf = cpu_to_le32(0); OK(4); /* hub power */ case GetPortStatus: if (!wIndex || wIndex > uhci->rh_numports) @@ -126,8 +126,8 @@ static int uhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue, dev_dbg(uhci_dev(uhci), "port %d portsc %04x\n", wIndex, status); - *(__u16 *)buf = cpu_to_le16(wPortStatus); - *(__u16 *)(buf + 2) = cpu_to_le16(wPortChange); + *(__le16 *)buf = cpu_to_le16(wPortStatus); + *(__le16 *)(buf + 2) = cpu_to_le16(wPortChange); OK(4); case SetHubFeature: /* We don't implement these */ case ClearHubFeature: diff --git a/drivers/usb/image/microtek.c b/drivers/usb/image/microtek.c index 230efaf7b..9d3aa3075 100644 --- a/drivers/usb/image/microtek.c +++ b/drivers/usb/image/microtek.c @@ -214,8 +214,8 @@ static struct usb_driver mts_usb_driver = { #ifdef MTS_DO_DEBUG static inline void mts_debug_dump(struct mts_desc* desc) { - MTS_DEBUG("desc at 0x%x: halted = %02x%02x, toggle = %02x%02x\n", - (int)desc,(int)desc->usb_dev->halted[1],(int)desc->usb_dev->halted[0], + MTS_DEBUG("desc at 0x%x: toggle = %02x%02x\n", + (int)desc, (int)desc->usb_dev->toggle[1],(int)desc->usb_dev->toggle[0] ); MTS_DEBUG("ep_out=%x ep_response=%x ep_image=%x\n", diff --git a/drivers/usb/input/aiptek.c b/drivers/usb/input/aiptek.c index b0261f8a6..44b8faee6 100644 --- a/drivers/usb/input/aiptek.c +++ b/drivers/usb/input/aiptek.c @@ -494,9 +494,9 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs) } else { input_regs(inputdev, regs); - x = le16_to_cpu(get_unaligned((__u16 *) (data + 1))); - y = le16_to_cpu(get_unaligned((__u16 *) (data + 3))); - z = le16_to_cpu(get_unaligned((__u16 *) (data + 6))); + x = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); + y = le16_to_cpu(get_unaligned((__le16 *) (data + 3))); + z = le16_to_cpu(get_unaligned((__le16 *) (data + 6))); p = (data[5] & 0x01) != 0 ? 1 : 0; dv = (data[5] & 0x02) != 0 ? 1 : 0; @@ -573,8 +573,8 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs) aiptek->diagnostic = AIPTEK_DIAGNOSTIC_TOOL_DISALLOWED; } else { input_regs(inputdev, regs); - x = le16_to_cpu(get_unaligned((__u16 *) (data + 1))); - y = le16_to_cpu(get_unaligned((__u16 *) (data + 3))); + x = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); + y = le16_to_cpu(get_unaligned((__le16 *) (data + 3))); jitterable = data[5] & 0x1c; @@ -632,7 +632,7 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs) pck = (data[1] & aiptek->curSetting.stylusButtonUpper) != 0 ? 1 : 0; macro = data[3]; - z = le16_to_cpu(get_unaligned((__u16 *) (data + 4))); + z = le16_to_cpu(get_unaligned((__le16 *) (data + 4))); if (dv != 0) { input_regs(inputdev, regs); @@ -729,7 +729,7 @@ static void aiptek_irq(struct urb *urb, struct pt_regs *regs) * hat switches (which just so happen to be the macroKeys.) */ else if (data[0] == 6) { - macro = le16_to_cpu(get_unaligned((__u16 *) (data + 1))); + macro = le16_to_cpu(get_unaligned((__le16 *) (data + 1))); input_regs(inputdev, regs); if (macro > 0) { @@ -930,7 +930,7 @@ aiptek_query(struct aiptek *aiptek, unsigned char command, unsigned char data) buf[0], buf[1], buf[2]); ret = -EIO; } else { - ret = le16_to_cpu(get_unaligned((__u16 *) (buf + 1))); + ret = le16_to_cpu(get_unaligned((__le16 *) (buf + 1))); } kfree(buf); return ret; @@ -2289,9 +2289,9 @@ MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -MODULE_PARM(programmableDelay, "i"); +module_param(programmableDelay, int, 0); MODULE_PARM_DESC(programmableDelay, "delay used during tablet programming"); -MODULE_PARM(jitterDelay, "i"); +module_param(jitterDelay, int, 0); MODULE_PARM_DESC(jitterDelay, "stylus/mouse settlement delay"); module_init(aiptek_init); diff --git a/drivers/usb/input/ati_remote.c b/drivers/usb/input/ati_remote.c index c1f1c1d20..61a42bdae 100644 --- a/drivers/usb/input/ati_remote.c +++ b/drivers/usb/input/ati_remote.c @@ -112,11 +112,11 @@ #define ATI_INPUTNUM 1 /* Which input device to register as */ static unsigned long channel_mask = 0; -module_param(channel_mask, ulong, 444); +module_param(channel_mask, ulong, 0444); MODULE_PARM_DESC(channel_mask, "Bitmask of remote control channels to ignore"); static int debug = 0; -module_param(debug, int, 444); +module_param(debug, int, 0444); MODULE_PARM_DESC(debug, "Enable extra debug messages and information"); #define dbginfo(dev, format, arg...) do { if (debug) dev_info(dev , format , ## arg); } while (0) diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index 79082d918..35baacd77 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c @@ -219,17 +219,13 @@ static int hid_add_field(struct hid_parser *parser, unsigned report_type, unsign dbg("logical range invalid %d %d", parser->global.logical_minimum, parser->global.logical_maximum); return -1; } - usages = parser->local.usage_index; + + if (!(usages = max_t(int, parser->local.usage_index, parser->global.report_count))) + return 0; /* Ignore padding fields */ offset = report->size; report->size += parser->global.report_size * parser->global.report_count; - if (usages < parser->global.report_count) - usages = parser->global.report_count; - - if (usages == 0) - return 0; /* ignore padding fields */ - if ((field = hid_register_field(report, usages, parser->global.report_count)) == NULL) return 0; @@ -609,16 +605,16 @@ static u8 *fetch_item(__u8 *start, __u8 *end, struct hid_item *item) case 2: if ((end - start) < 2) return NULL; - item->data.u16 = le16_to_cpu(get_unaligned((__u16*)start)); - start = (__u8 *)((__u16 *)start + 1); + item->data.u16 = le16_to_cpu(get_unaligned((__le16*)start)); + start = (__u8 *)((__le16 *)start + 1); return start; case 3: item->size++; if ((end - start) < 4) return NULL; - item->data.u32 = le32_to_cpu(get_unaligned((__u32*)start)); - start = (__u8 *)((__u32 *)start + 1); + item->data.u32 = le32_to_cpu(get_unaligned((__le32*)start)); + start = (__u8 *)((__le32 *)start + 1); return start; } @@ -760,15 +756,15 @@ static __inline__ __u32 s32ton(__s32 value, unsigned n) static __inline__ __u32 extract(__u8 *report, unsigned offset, unsigned n) { report += (offset >> 5) << 2; offset &= 31; - return (le64_to_cpu(get_unaligned((__u64*)report)) >> offset) & ((1 << n) - 1); + return (le64_to_cpu(get_unaligned((__le64*)report)) >> offset) & ((1 << n) - 1); } static __inline__ void implement(__u8 *report, unsigned offset, unsigned n, __u32 value) { report += (offset >> 5) << 2; offset &= 31; - put_unaligned((get_unaligned((__u64*)report) + put_unaligned((get_unaligned((__le64*)report) & cpu_to_le64(~((((__u64) 1 << n) - 1) << offset))) - | cpu_to_le64((__u64)value << offset), (__u64*)report); + | cpu_to_le64((__u64)value << offset), (__le64*)report); } /* @@ -923,20 +919,22 @@ static void hid_irq_in(struct urb *urb, struct pt_regs *regs) int status; switch (urb->status) { - case 0: /* success */ - hid_input_report(HID_INPUT_REPORT, urb, regs); - break; - case -ECONNRESET: /* unlink */ - case -ENOENT: - case -ESHUTDOWN: - return; - default: /* error */ - dbg("nonzero status in input irq %d", urb->status); + case 0: /* success */ + hid_input_report(HID_INPUT_REPORT, urb, regs); + break; + case -ECONNRESET: /* unlink */ + case -ENOENT: + case -ESHUTDOWN: + return; + case -ETIMEDOUT: /* NAK */ + break; + default: /* error */ + warn("input irq status %d received", urb->status); } - status = usb_submit_urb (urb, SLAB_ATOMIC); + status = usb_submit_urb(urb, SLAB_ATOMIC); if (status) - err ("can't resubmit intr, %s-%s/input%d, status %d", + err("can't resubmit intr, %s-%s/input%d, status %d", hid->dev->bus->bus_name, hid->dev->devpath, hid->ifnum, status); } @@ -1137,23 +1135,31 @@ static void hid_irq_out(struct urb *urb, struct pt_regs *regs) struct hid_device *hid = urb->context; unsigned long flags; - if (urb->status) - warn("output irq status %d received", urb->status); + switch (urb->status) { + case 0: /* success */ + case -ECONNRESET: /* unlink */ + case -ENOENT: + case -ESHUTDOWN: + break; + default: /* error */ + warn("output irq status %d received", urb->status); + } spin_lock_irqsave(&hid->outlock, flags); hid->outtail = (hid->outtail + 1) & (HID_OUTPUT_FIFO_SIZE - 1); if (hid->outhead != hid->outtail) { - hid_submit_out(hid); + if (hid_submit_out(hid)) { + clear_bit(HID_OUT_RUNNING, &hid->iofl);; + wake_up(&hid->wait); + } spin_unlock_irqrestore(&hid->outlock, flags); return; } clear_bit(HID_OUT_RUNNING, &hid->iofl); - spin_unlock_irqrestore(&hid->outlock, flags); - wake_up(&hid->wait); } @@ -1166,26 +1172,34 @@ static void hid_ctrl(struct urb *urb, struct pt_regs *regs) struct hid_device *hid = urb->context; unsigned long flags; - if (urb->status) - warn("ctrl urb status %d received", urb->status); - spin_lock_irqsave(&hid->ctrllock, flags); - if (hid->ctrl[hid->ctrltail].dir == USB_DIR_IN) - hid_input_report(hid->ctrl[hid->ctrltail].report->type, urb, regs); + switch (urb->status) { + case 0: /* success */ + if (hid->ctrl[hid->ctrltail].dir == USB_DIR_IN) + hid_input_report(hid->ctrl[hid->ctrltail].report->type, urb, regs); + case -ECONNRESET: /* unlink */ + case -ENOENT: + case -ESHUTDOWN: + case -EPIPE: /* report not available */ + break; + default: /* error */ + warn("ctrl urb status %d received", urb->status); + } hid->ctrltail = (hid->ctrltail + 1) & (HID_CONTROL_FIFO_SIZE - 1); if (hid->ctrlhead != hid->ctrltail) { - hid_submit_ctrl(hid); + if (hid_submit_ctrl(hid)) { + clear_bit(HID_CTRL_RUNNING, &hid->iofl); + wake_up(&hid->wait); + } spin_unlock_irqrestore(&hid->ctrllock, flags); return; } clear_bit(HID_CTRL_RUNNING, &hid->iofl); - spin_unlock_irqrestore(&hid->ctrllock, flags); - wake_up(&hid->wait); } @@ -1211,7 +1225,8 @@ void hid_submit_report(struct hid_device *hid, struct hid_report *report, unsign hid->outhead = head; if (!test_and_set_bit(HID_OUT_RUNNING, &hid->iofl)) - hid_submit_out(hid); + if (hid_submit_out(hid)) + clear_bit(HID_OUT_RUNNING, &hid->iofl); spin_unlock_irqrestore(&hid->outlock, flags); return; @@ -1230,7 +1245,8 @@ void hid_submit_report(struct hid_device *hid, struct hid_report *report, unsign hid->ctrlhead = head; if (!test_and_set_bit(HID_CTRL_RUNNING, &hid->iofl)) - hid_submit_ctrl(hid); + if (hid_submit_ctrl(hid)) + clear_bit(HID_CTRL_RUNNING, &hid->iofl); spin_unlock_irqrestore(&hid->ctrllock, flags); } @@ -1282,7 +1298,7 @@ int hid_open(struct hid_device *hid) void hid_close(struct hid_device *hid) { if (!--hid->open) - usb_unlink_urb(hid->urbin); + usb_kill_urb(hid->urbin); } /* @@ -1439,6 +1455,11 @@ void hid_init_reports(struct hid_device *hid) #define USB_DEVICE_ID_1_PHIDGETSERVO_20 0x8101 #define USB_DEVICE_ID_4_PHIDGETSERVO_20 0x8104 +#define USB_VENDOR_ID_CODEMERCS 0x07c0 +#define USB_DEVICE_ID_CODEMERCS_IOW40 0x1500 +#define USB_DEVICE_ID_CODEMERCS_IOW24 0x1501 + + static struct hid_blacklist { __u16 idVendor; __u16 idProduct; @@ -1453,20 +1474,20 @@ static struct hid_blacklist { { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_23, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_AIPTEK, USB_DEVICE_ID_AIPTEK_24, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_BERKSHIRE, USB_DEVICE_ID_BERKSHIRE_PCWD, HID_QUIRK_IGNORE }, + { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW40, HID_QUIRK_IGNORE }, + { USB_VENDOR_ID_CODEMERCS, USB_DEVICE_ID_CODEMERCS_IOW24, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_ESSENTIAL_REALITY, USB_DEVICE_ID_ESSENTIAL_REALITY_P5, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS1, HID_QUIRK_IGNORE }, - { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 100, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 200, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 300, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 400, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_ONTRAK, USB_DEVICE_ID_ONTRAK_ADU100 + 500, HID_QUIRK_IGNORE }, - { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PENPARTNER, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE, HID_QUIRK_IGNORE }, { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 1, HID_QUIRK_IGNORE }, @@ -1619,11 +1640,17 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf) struct usb_endpoint_descriptor *endpoint; int pipe; + int interval; endpoint = &interface->endpoint[n].desc; if ((endpoint->bmAttributes & 3) != 3) /* Not an interrupt endpoint */ continue; + /* handle potential highspeed HID correctly */ + interval = endpoint->bInterval; + if (dev->speed == USB_SPEED_HIGH) + interval = 1 << (interval - 1); + if (endpoint->bEndpointAddress & USB_DIR_IN) { int len; @@ -1636,9 +1663,9 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf) if (len > HID_BUFFER_SIZE) len = HID_BUFFER_SIZE; usb_fill_int_urb(hid->urbin, dev, pipe, hid->inbuf, len, - hid_irq_in, hid, endpoint->bInterval); + hid_irq_in, hid, interval); hid->urbin->transfer_dma = hid->inbuf_dma; - hid->urbin->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + hid->urbin->transfer_flags |=(URB_NO_TRANSFER_DMA_MAP | URB_ASYNC_UNLINK); } else { if (hid->urbout) continue; @@ -1646,9 +1673,9 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf) goto fail; pipe = usb_sndintpipe(dev, endpoint->bEndpointAddress); usb_fill_int_urb(hid->urbout, dev, pipe, hid->outbuf, 0, - hid_irq_out, hid, 1); + hid_irq_out, hid, interval); hid->urbout->transfer_dma = hid->outbuf_dma; - hid->urbout->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + hid->urbout->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_ASYNC_UNLINK); } } @@ -1698,8 +1725,7 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf) hid->ctrlbuf, 1, hid_ctrl, hid); hid->urbctrl->setup_dma = hid->cr_dma; hid->urbctrl->transfer_dma = hid->ctrlbuf_dma; - hid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP - | URB_NO_SETUP_DMA_MAP); + hid->urbctrl->transfer_flags |= (URB_NO_TRANSFER_DMA_MAP | URB_NO_SETUP_DMA_MAP | URB_ASYNC_UNLINK); return hid; @@ -1725,9 +1751,9 @@ static void hid_disconnect(struct usb_interface *intf) return; usb_set_intfdata(intf, NULL); - usb_unlink_urb(hid->urbin); - usb_unlink_urb(hid->urbout); - usb_unlink_urb(hid->urbctrl); + usb_kill_urb(hid->urbin); + usb_kill_urb(hid->urbout); + usb_kill_urb(hid->urbctrl); if (hid->claimed & HID_CLAIMED_INPUT) hidinput_disconnect(hid); @@ -1835,8 +1861,8 @@ hiddev_init_fail: static void __exit hid_exit(void) { - hiddev_exit(); usb_deregister(&hid_driver); + hiddev_exit(); } module_init(hid_init); diff --git a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c index ff319d9ad..44e466d19 100644 --- a/drivers/usb/input/hiddev.c +++ b/drivers/usb/input/hiddev.c @@ -223,16 +223,6 @@ static int hiddev_fasync(int fd, struct file *file, int on) return retval < 0 ? retval : 0; } -/* - * De-allocate a hiddev structure - */ -static struct usb_class_driver hiddev_class; -static void hiddev_cleanup(struct hiddev *hiddev) -{ - hiddev_table[hiddev->hid->minor - HIDDEV_MINOR_BASE] = NULL; - usb_deregister_dev(hiddev->hid->intf, &hiddev_class); - kfree(hiddev); -} /* * release file op @@ -253,7 +243,7 @@ static int hiddev_release(struct inode * inode, struct file * file) if (list->hiddev->exist) hid_close(list->hiddev->hid); else - hiddev_cleanup(list->hiddev); + kfree(list->hiddev); } kfree(list); @@ -636,16 +626,19 @@ static int hiddev_ioctl(struct inode *inode, struct file *file, unsigned int cmd goto inval; field = report->field[uref->field_index]; - if (uref->usage_index >= field->maxusage) - goto inval; - if (cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) { - if (uref_multi->num_values >= HID_MAX_USAGES || - uref->usage_index >= field->maxusage || - (uref->usage_index + uref_multi->num_values) >= field->maxusage) + if (cmd == HIDIOCGCOLLECTIONINDEX) { + if (uref->usage_index >= field->maxusage) goto inval; + } else if (uref->usage_index >= field->report_count) + goto inval; + + else if ((cmd == HIDIOCGUSAGES || cmd == HIDIOCSUSAGES) && + (uref_multi->num_values >= HID_MAX_MULTI_USAGES || + uref->usage_index + uref_multi->num_values >= field->report_count || + uref->usage_index + uref_multi->num_values < uref->usage_index)) + goto inval; } - } switch (cmd) { case HIDIOCGUSAGE: @@ -795,17 +788,21 @@ int hiddev_connect(struct hid_device *hid) * This is where hid.c calls us to disconnect a hiddev device from the * corresponding hid device (usually because the usb device has disconnected) */ +static struct usb_class_driver hiddev_class; void hiddev_disconnect(struct hid_device *hid) { struct hiddev *hiddev = hid->hiddev; hiddev->exist = 0; + hiddev_table[hiddev->hid->minor - HIDDEV_MINOR_BASE] = NULL; + usb_deregister_dev(hiddev->hid->intf, &hiddev_class); + if (hiddev->open) { hid_close(hiddev->hid); wake_up_interruptible(&hiddev->wait); } else { - hiddev_cleanup(hiddev); + kfree(hiddev); } } diff --git a/drivers/usb/input/kbtab.c b/drivers/usb/input/kbtab.c index 43af4031f..39c0d38ae 100644 --- a/drivers/usb/input/kbtab.c +++ b/drivers/usb/input/kbtab.c @@ -26,10 +26,9 @@ MODULE_LICENSE(DRIVER_LICENSE); #define USB_VENDOR_ID_KBGEAR 0x084e -static int kb_pressure_click = 0x10; -MODULE_PARM (kb_pressure_click,"i"); -MODULE_PARM_DESC(kb_pressure_click, - "pressure threshold for clicks"); +static int kb_pressure_click = 0x10; +module_param(kb_pressure_click, int, 0); +MODULE_PARM_DESC(kb_pressure_click, "pressure threshold for clicks"); struct kbtab { signed char *data; @@ -67,8 +66,8 @@ static void kbtab_irq(struct urb *urb, struct pt_regs *regs) goto exit; } - kbtab->x = le16_to_cpu(get_unaligned((u16 *) &data[1])); - kbtab->y = le16_to_cpu(get_unaligned((u16 *) &data[3])); + kbtab->x = le16_to_cpu(get_unaligned((__le16 *) &data[1])); + kbtab->y = le16_to_cpu(get_unaligned((__le16 *) &data[3])); kbtab->pressure = (data[5]); diff --git a/drivers/usb/input/wacom.c b/drivers/usb/input/wacom.c index c66001351..492a5cb12 100644 --- a/drivers/usb/input/wacom.c +++ b/drivers/usb/input/wacom.c @@ -285,8 +285,8 @@ static void wacom_penpartner_irq(struct urb *urb, struct pt_regs *regs) input_regs(dev, regs); input_report_key(dev, BTN_TOOL_PEN, 1); - input_report_abs(dev, ABS_X, le16_to_cpu(get_unaligned((u16 *) &data[1]))); - input_report_abs(dev, ABS_Y, le16_to_cpu(get_unaligned((u16 *) &data[3]))); + input_report_abs(dev, ABS_X, le16_to_cpu(get_unaligned((__le16 *) &data[1]))); + input_report_abs(dev, ABS_Y, le16_to_cpu(get_unaligned((__le16 *) &data[3]))); input_report_abs(dev, ABS_PRESSURE, (signed char)data[6] + 127); input_report_key(dev, BTN_TOUCH, ((signed char)data[6] > -80) && !(data[5] & 0x20)); input_report_key(dev, BTN_STYLUS, (data[5] & 0x40)); @@ -329,8 +329,8 @@ static void wacom_graphire_irq(struct urb *urb, struct pt_regs *regs) if (data[0] != 2) dbg("wacom_graphire_irq: received unknown report #%d", data[0]); - x = le16_to_cpu(*(u16 *) &data[2]); - y = le16_to_cpu(*(u16 *) &data[4]); + x = le16_to_cpu(*(__le16 *) &data[2]); + y = le16_to_cpu(*(__le16 *) &data[4]); input_regs(dev, regs); @@ -367,7 +367,7 @@ static void wacom_graphire_irq(struct urb *urb, struct pt_regs *regs) input_report_abs(dev, ABS_Y, y); } - input_report_abs(dev, ABS_PRESSURE, le16_to_cpu(*(u16 *) &data[6])); + input_report_abs(dev, ABS_PRESSURE, le16_to_cpu(*(__le16 *) &data[6])); input_report_key(dev, BTN_TOUCH, data[1] & 0x01); input_report_key(dev, BTN_STYLUS, data[1] & 0x02); input_report_key(dev, BTN_STYLUS2, data[1] & 0x04); @@ -456,8 +456,8 @@ static void wacom_intuos_irq(struct urb *urb, struct pt_regs *regs) goto exit; } - input_report_abs(dev, ABS_X, be16_to_cpu(*(u16 *) &data[2])); - input_report_abs(dev, ABS_Y, be16_to_cpu(*(u16 *) &data[4])); + input_report_abs(dev, ABS_X, be16_to_cpu(*(__be16 *) &data[2])); + input_report_abs(dev, ABS_Y, be16_to_cpu(*(__be16 *) &data[4])); input_report_abs(dev, ABS_DISTANCE, data[9]); if ((data[1] & 0xb8) == 0xa0) { /* general pen packet */ diff --git a/drivers/usb/media/Kconfig b/drivers/usb/media/Kconfig index 6dac4dc14..9e0888f83 100644 --- a/drivers/usb/media/Kconfig +++ b/drivers/usb/media/Kconfig @@ -106,46 +106,6 @@ config USB_OV511 To compile this driver as a module, choose M here: the module will be called ov511. -config USB_PWC - tristate "USB Philips Cameras" - depends on USB && VIDEO_DEV - ---help--- - Say Y or M here if you want to use one of these Philips & OEM - webcams: - * Philips PCA645, PCA646 - * Philips PCVC675, PCVC680, PCVC690 - * Philips PCVC720/40, PCVC730, PCVC740, PCVC750 - * Askey VC010 - * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro' - and 'Orbit'/'Sphere' - * Samsung MPC-C10, MPC-C30 - * Creative Webcam 5, Pro Ex - * SOTEC Afina Eye - * Visionite VCS-UC300, VCS-UM100 - - The PCA635, PCVC665 and PCVC720/20 are not supported by this driver - and never will be, but the 665 and 720/20 are supported by other - drivers. - - This driver has an optional plugin (called PWCX), which is - distributed as a binary module only. It contains code that allow you - to use higher resolutions and framerates but may not be distributed - as source. But even without this plugin you can these cams for most - applications. - - See for more information and - installation instructions. - - The built-in microphone is enabled by selecting USB Audio support. - - This driver uses the Video For Linux API. You must say Y or M to - "Video For Linux" (under Character Devices) to use this driver. - Information on this API and pointers to "v4l" programs may be found - at . - - To compile this driver as a module, choose M here: the - module will be called pwc. - config USB_SE401 tristate "USB SE401 Camera support" depends on USB && VIDEO_DEV @@ -163,11 +123,11 @@ config USB_SE401 module will be called se401. config USB_SN9C102 - tristate "USB SN9C10[12] PC Camera Controller support (EXPERIMENTAL)" - depends on USB && VIDEO_DEV && EXPERIMENTAL + tristate "USB SN9C10[12] PC Camera Controller support" + depends on USB && VIDEO_DEV ---help--- - Say Y here if you want support for cameras based on SN9C101 and - SN9C102 PC Camera Controllers. + Say Y here if you want support for cameras based on SONiX SN9C101 + or SN9C102 PC Camera Controllers. See for more informations. @@ -215,3 +175,39 @@ config USB_W9968CF To compile this driver as a module, choose M here: the module will be called w9968cf. + +config USB_PWC + tristate "USB Philips Cameras" + depends on USB && VIDEO_DEV + ---help--- + Say Y or M here if you want to use one of these Philips & OEM + webcams: + * Philips PCA645, PCA646 + * Philips PCVC675, PCVC680, PCVC690 + * Philips PCVC720/40, PCVC730, PCVC740, PCVC750 + * Askey VC010 + * Logitech QuickCam Pro 3000, 4000, 'Zoom', 'Notebook Pro' + and 'Orbit'/'Sphere' + * Samsung MPC-C10, MPC-C30 + * Creative Webcam 5, Pro Ex + * SOTEC Afina Eye + * Visionite VCS-UC300, VCS-UM100 + + The PCA635, PCVC665 and PCVC720/20 are not supported by this driver + and never will be, but the 665 and 720/20 are supported by other + drivers. + + See for more information and + installation instructions. + + The built-in microphone is enabled by selecting USB Audio support. + + This driver uses the Video For Linux API. You must say Y or M to + "Video For Linux" (under Character Devices) to use this driver. + Information on this API and pointers to "v4l" programs may be found + at . + + To compile this driver as a module, choose M here: the + module will be called pwc. + + diff --git a/drivers/usb/media/Makefile b/drivers/usb/media/Makefile index 059764cd4..1a3a2f52b 100644 --- a/drivers/usb/media/Makefile +++ b/drivers/usb/media/Makefile @@ -2,17 +2,16 @@ # Makefile for USB Media drivers # -pwc-objs := pwc-if.o pwc-misc.o pwc-ctrl.o pwc-uncompress.o -sn9c102-objs := sn9c102_core.o sn9c102_pas106b.o sn9c102_tas5110c1b.o sn9c102_tas5130d1b.o +sn9c102-objs := sn9c102_core.o sn9c102_pas106b.o sn9c102_tas5110c1b.o sn9c102_tas5130d1b.o sn9c102_pas202bcb.o obj-$(CONFIG_USB_DABUSB) += dabusb.o obj-$(CONFIG_USB_DSBR) += dsbr100.o obj-$(CONFIG_USB_IBMCAM) += ibmcam.o usbvideo.o ultracam.o obj-$(CONFIG_USB_KONICAWC) += konicawc.o usbvideo.o obj-$(CONFIG_USB_OV511) += ov511.o -obj-$(CONFIG_USB_PWC) += pwc.o obj-$(CONFIG_USB_SE401) += se401.o obj-$(CONFIG_USB_SN9C102) += sn9c102.o obj-$(CONFIG_USB_STV680) += stv680.o obj-$(CONFIG_USB_VICAM) += vicam.o usbvideo.o obj-$(CONFIG_USB_W9968CF) += w9968cf.o +obj-$(CONFIG_USB_PWC) += pwc/ diff --git a/drivers/usb/media/dabusb.c b/drivers/usb/media/dabusb.c index 01f77cbc4..0e5425f32 100644 --- a/drivers/usb/media/dabusb.c +++ b/drivers/usb/media/dabusb.c @@ -61,7 +61,7 @@ static dabusb_t dabusb[NRDABUSB]; static int buffers = 256; -extern struct usb_driver dabusb_driver; +static struct usb_driver dabusb_driver; /*-------------------------------------------------------------------*/ @@ -868,7 +868,7 @@ MODULE_AUTHOR( DRIVER_AUTHOR ); MODULE_DESCRIPTION( DRIVER_DESC ); MODULE_LICENSE("GPL"); -MODULE_PARM (buffers, "i"); +module_param(buffers, int, 0); MODULE_PARM_DESC (buffers, "Number of buffers (default=256)"); module_init (dabusb_init); diff --git a/drivers/usb/media/dsbr100.c b/drivers/usb/media/dsbr100.c index f6b18a218..7503f5b96 100644 --- a/drivers/usb/media/dsbr100.c +++ b/drivers/usb/media/dsbr100.c @@ -107,7 +107,7 @@ static int usb_dsbr100_open(struct inode *inode, struct file *file); static int usb_dsbr100_close(struct inode *inode, struct file *file); static int radio_nr = -1; -MODULE_PARM(radio_nr, "i"); +module_param(radio_nr, int, 0); /* Data for one (physical) device */ typedef struct { diff --git a/drivers/usb/media/ibmcam.c b/drivers/usb/media/ibmcam.c index 2740aeb0f..277d65b38 100644 --- a/drivers/usb/media/ibmcam.c +++ b/drivers/usb/media/ibmcam.c @@ -124,38 +124,38 @@ static int init_model2_yb = -1; /* Settings for camera model 3 */ static int init_model3_input = 0; -MODULE_PARM(debug, "i"); +module_param(debug, int, 0); MODULE_PARM_DESC(debug, "Debug level: 0-9 (default=0)"); -MODULE_PARM(flags, "i"); +module_param(flags, int, 0); MODULE_PARM_DESC(flags, "Bitfield: 0=VIDIOCSYNC, 1=B/W, 2=show hints, 3=show stats, 4=test pattern, 5=separate frames, 6=clean frames"); -MODULE_PARM(framerate, "i"); +module_param(framerate, int, 0); MODULE_PARM_DESC(framerate, "Framerate setting: 0=slowest, 6=fastest (default=2)"); -MODULE_PARM(lighting, "i"); +module_param(lighting, int, 0); MODULE_PARM_DESC(lighting, "Photosensitivity: 0=bright, 1=medium (default), 2=low light"); -MODULE_PARM(sharpness, "i"); +module_param(sharpness, int, 0); MODULE_PARM_DESC(sharpness, "Model1 noise reduction: 0=smooth, 6=sharp (default=4)"); -MODULE_PARM(size, "i"); +module_param(size, int, 0); MODULE_PARM_DESC(size, "Image size: 0=128x96 1=160x120 2=176x144 3=320x240 4=352x240 5=352x288 6=640x480 (default=5)"); -MODULE_PARM(init_brightness, "i"); +module_param(init_brightness, int, 0); MODULE_PARM_DESC(init_brightness, "Brightness preconfiguration: 0-255 (default=128)"); -MODULE_PARM(init_contrast, "i"); +module_param(init_contrast, int, 0); MODULE_PARM_DESC(init_contrast, "Contrast preconfiguration: 0-255 (default=192)"); -MODULE_PARM(init_color, "i"); +module_param(init_color, int, 0); MODULE_PARM_DESC(init_color, "Color preconfiguration: 0-255 (default=128)"); -MODULE_PARM(init_hue, "i"); +module_param(init_hue, int, 0); MODULE_PARM_DESC(init_hue, "Hue preconfiguration: 0-255 (default=128)"); -MODULE_PARM(hue_correction, "i"); +module_param(hue_correction, int, 0); MODULE_PARM_DESC(hue_correction, "YUV colorspace regulation: 0-255 (default=128)"); -MODULE_PARM(init_model2_rg2, "i"); +module_param(init_model2_rg2, int, 0); MODULE_PARM_DESC(init_model2_rg2, "Model2 preconfiguration: 0-255 (default=47)"); -MODULE_PARM(init_model2_sat, "i"); +module_param(init_model2_sat, int, 0); MODULE_PARM_DESC(init_model2_sat, "Model2 preconfiguration: 0-255 (default=52)"); -MODULE_PARM(init_model2_yb, "i"); +module_param(init_model2_yb, int, 0); MODULE_PARM_DESC(init_model2_yb, "Model2 preconfiguration: 0-255 (default=160)"); /* 01.01.08 - Added for RCA video in support -LO */ -MODULE_PARM(init_model3_input, "i"); +module_param(init_model3_input, int, 0); MODULE_PARM_DESC(init_model3_input, "Model3 input: 0=CCD 1=RCA"); MODULE_AUTHOR ("Dmitri"); diff --git a/drivers/usb/media/konicawc.c b/drivers/usb/media/konicawc.c index 5fc52c5d3..3376654ca 100644 --- a/drivers/usb/media/konicawc.c +++ b/drivers/usb/media/konicawc.c @@ -68,7 +68,7 @@ static const int debug = 0; /* Some default values for initial camera settings, can be set by modprobe */ -static enum frame_sizes size; +static int size; static int speed = 6; /* Speed (fps) 0 (slowest) to 6 (fastest) */ static int brightness = MAX_BRIGHTNESS/2; static int contrast = MAX_CONTRAST/2; @@ -362,8 +362,8 @@ static void konicawc_isoc_irq(struct urb *urb, struct pt_regs *regs) else if (!urb->status && !cam->last_data_urb->status) len = konicawc_compress_iso(uvd, cam->last_data_urb, urb); - resubmit_urb(uvd, urb); resubmit_urb(uvd, cam->last_data_urb); + resubmit_urb(uvd, urb); cam->last_data_urb = NULL; uvd->stats.urb_length = len; uvd->stats.data_count += len; @@ -928,23 +928,23 @@ MODULE_DEVICE_TABLE(usb, id_table); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Simon Evans "); MODULE_DESCRIPTION(DRIVER_DESC); -MODULE_PARM(speed, "i"); +module_param(speed, int, 0); MODULE_PARM_DESC(speed, "Initial speed: 0 (slowest) - 6 (fastest)"); -MODULE_PARM(size, "i"); +module_param(size, int, 0); MODULE_PARM_DESC(size, "Initial Size 0: 160x120 1: 160x136 2: 176x144 3: 320x240"); -MODULE_PARM(brightness, "i"); +module_param(brightness, int, 0); MODULE_PARM_DESC(brightness, "Initial brightness 0 - 108"); -MODULE_PARM(contrast, "i"); +module_param(contrast, int, 0); MODULE_PARM_DESC(contrast, "Initial contrast 0 - 108"); -MODULE_PARM(saturation, "i"); +module_param(saturation, int, 0); MODULE_PARM_DESC(saturation, "Initial saturation 0 - 108"); -MODULE_PARM(sharpness, "i"); +module_param(sharpness, int, 0); MODULE_PARM_DESC(sharpness, "Initial brightness 0 - 108"); -MODULE_PARM(whitebal, "i"); +module_param(whitebal, int, 0); MODULE_PARM_DESC(whitebal, "Initial white balance 0 - 363"); #ifdef CONFIG_USB_DEBUG -MODULE_PARM(debug, "i"); +module_param(debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug level: 0-9 (default=0)"); #endif diff --git a/drivers/usb/media/ov511.c b/drivers/usb/media/ov511.c index 529a2de54..d040c8e30 100644 --- a/drivers/usb/media/ov511.c +++ b/drivers/usb/media/ov511.c @@ -119,78 +119,79 @@ static int remove_zeros; static int mirror; static int ov518_color; -MODULE_PARM(autobright, "i"); +module_param(autobright, int, 0); MODULE_PARM_DESC(autobright, "Sensor automatically changes brightness"); -MODULE_PARM(autogain, "i"); +module_param(autogain, int, 0); MODULE_PARM_DESC(autogain, "Sensor automatically changes gain"); -MODULE_PARM(autoexp, "i"); +module_param(autoexp, int, 0); MODULE_PARM_DESC(autoexp, "Sensor automatically changes exposure"); -MODULE_PARM(debug, "i"); +module_param(debug, int, 0); MODULE_PARM_DESC(debug, "Debug level: 0=none, 1=inits, 2=warning, 3=config, 4=functions, 5=max"); -MODULE_PARM(snapshot, "i"); +module_param(snapshot, int, 0); MODULE_PARM_DESC(snapshot, "Enable snapshot mode"); -MODULE_PARM(cams, "i"); +module_param(cams, int, 0); MODULE_PARM_DESC(cams, "Number of simultaneous cameras"); -MODULE_PARM(compress, "i"); +module_param(compress, int, 0); MODULE_PARM_DESC(compress, "Turn on compression"); -MODULE_PARM(testpat, "i"); +module_param(testpat, int, 0); MODULE_PARM_DESC(testpat, "Replace image with vertical bar testpattern (only partially working)"); -MODULE_PARM(dumppix, "i"); +module_param(dumppix, int, 0); MODULE_PARM_DESC(dumppix, "Dump raw pixel data"); -MODULE_PARM(led, "i"); +module_param(led, int, 0); MODULE_PARM_DESC(led, "LED policy (OV511+ or later). 0=off, 1=on (default), 2=auto (on when open)"); -MODULE_PARM(dump_bridge, "i"); +module_param(dump_bridge, int, 0); MODULE_PARM_DESC(dump_bridge, "Dump the bridge registers"); -MODULE_PARM(dump_sensor, "i"); +module_param(dump_sensor, int, 0); MODULE_PARM_DESC(dump_sensor, "Dump the sensor registers"); -MODULE_PARM(printph, "i"); +module_param(printph, int, 0); MODULE_PARM_DESC(printph, "Print frame start/end headers"); -MODULE_PARM(phy, "i"); +module_param(phy, int, 0); MODULE_PARM_DESC(phy, "Prediction range (horiz. Y)"); -MODULE_PARM(phuv, "i"); +module_param(phuv, int, 0); MODULE_PARM_DESC(phuv, "Prediction range (horiz. UV)"); -MODULE_PARM(pvy, "i"); +module_param(pvy, int, 0); MODULE_PARM_DESC(pvy, "Prediction range (vert. Y)"); -MODULE_PARM(pvuv, "i"); +module_param(pvuv, int, 0); MODULE_PARM_DESC(pvuv, "Prediction range (vert. UV)"); -MODULE_PARM(qhy, "i"); +module_param(qhy, int, 0); MODULE_PARM_DESC(qhy, "Quantization threshold (horiz. Y)"); -MODULE_PARM(qhuv, "i"); +module_param(qhuv, int, 0); MODULE_PARM_DESC(qhuv, "Quantization threshold (horiz. UV)"); -MODULE_PARM(qvy, "i"); +module_param(qvy, int, 0); MODULE_PARM_DESC(qvy, "Quantization threshold (vert. Y)"); -MODULE_PARM(qvuv, "i"); +module_param(qvuv, int, 0); MODULE_PARM_DESC(qvuv, "Quantization threshold (vert. UV)"); -MODULE_PARM(lightfreq, "i"); +module_param(lightfreq, int, 0); MODULE_PARM_DESC(lightfreq, "Light frequency. Set to 50 or 60 Hz, or zero for default settings"); -MODULE_PARM(bandingfilter, "i"); +module_param(bandingfilter, int, 0); MODULE_PARM_DESC(bandingfilter, "Enable banding filter (to reduce effects of fluorescent lighting)"); -MODULE_PARM(clockdiv, "i"); +module_param(clockdiv, int, 0); MODULE_PARM_DESC(clockdiv, "Force pixel clock divisor to a specific value"); -MODULE_PARM(packetsize, "i"); +module_param(packetsize, int, 0); MODULE_PARM_DESC(packetsize, "Force a specific isoc packet size"); -MODULE_PARM(framedrop, "i"); +module_param(framedrop, int, 0); MODULE_PARM_DESC(framedrop, "Force a specific frame drop register setting"); -MODULE_PARM(fastset, "i"); +module_param(fastset, int, 0); MODULE_PARM_DESC(fastset, "Allows picture settings to take effect immediately"); -MODULE_PARM(force_palette, "i"); +module_param(force_palette, int, 0); MODULE_PARM_DESC(force_palette, "Force the palette to a specific value"); -MODULE_PARM(backlight, "i"); +module_param(backlight, int, 0); MODULE_PARM_DESC(backlight, "For objects that are lit from behind"); -MODULE_PARM(unit_video, "1-" __MODULE_STRING(OV511_MAX_UNIT_VIDEO) "i"); +static int num_uv; +module_param_array(unit_video, int, num_uv, 0); MODULE_PARM_DESC(unit_video, "Force use of specific minor number(s). 0 is not allowed."); -MODULE_PARM(remove_zeros, "i"); +module_param(remove_zeros, int, 0); MODULE_PARM_DESC(remove_zeros, "Remove zero-padding from uncompressed incoming data"); -MODULE_PARM(mirror, "i"); +module_param(mirror, int, 0); MODULE_PARM_DESC(mirror, "Reverse image horizontally"); -MODULE_PARM(ov518_color, "i"); +module_param(ov518_color, int, 0); MODULE_PARM_DESC(ov518_color, "Enable OV518 color (experimental)"); MODULE_AUTHOR(DRIVER_AUTHOR); @@ -472,7 +473,7 @@ ov518_reg_w32(struct usb_ov511 *ov, unsigned char reg, u32 val, int n) down(&ov->cbuf_lock); - *((u32 *)ov->cbuf) = __cpu_to_le32(val); + *((__le32 *)ov->cbuf) = __cpu_to_le32(val); rc = usb_control_msg(ov->dev, usb_sndctrlpipe(ov->dev, 0), @@ -1169,7 +1170,7 @@ init_ov_sensor(struct usb_ov511 *ov) return -EIO; /* Wait for it to initialize */ - schedule_timeout(1 + 150 * HZ / 1000); + msleep(150); for (i = 0, success = 0; i < i2c_detect_tries && !success; i++) { if ((i2c_r(ov, OV7610_REG_ID_HIGH) == 0x7F) && @@ -1182,7 +1183,7 @@ init_ov_sensor(struct usb_ov511 *ov) if (i2c_w(ov, 0x12, 0x80) < 0) return -EIO; /* Wait for it to initialize */ - schedule_timeout(1 + 150 * HZ / 1000); + msleep(150); /* Dummy read to sync I2C */ if (i2c_r(ov, 0x00) < 0) return -EIO; @@ -4947,7 +4948,7 @@ ov7xx0_configure(struct usb_ov511 *ov) return -1; /* Wait for it to initialize */ - schedule_timeout(1 + 150 * HZ / 1000); + msleep(150); i = 0; success = 0; diff --git a/drivers/usb/media/se401.c b/drivers/usb/media/se401.c index 260bbd98b..c694caaac 100644 --- a/drivers/usb/media/se401.c +++ b/drivers/usb/media/se401.c @@ -53,9 +53,9 @@ MODULE_DEVICE_TABLE(usb, device_table); MODULE_AUTHOR("Jeroen Vreeken "); MODULE_DESCRIPTION("SE401 USB Camera Driver"); MODULE_LICENSE("GPL"); -MODULE_PARM(flickerless, "i"); +module_param(flickerless, int, 0); MODULE_PARM_DESC(flickerless, "Net frequency to adjust exposure time to (0/50/60)"); -MODULE_PARM(video_nr, "i"); +module_param(video_nr, int, 0); static struct usb_driver se401_driver; diff --git a/drivers/usb/media/stv680.c b/drivers/usb/media/stv680.c index af460298a..cd73a45d0 100644 --- a/drivers/usb/media/stv680.c +++ b/drivers/usb/media/stv680.c @@ -93,11 +93,11 @@ static unsigned int debug = 0; MODULE_AUTHOR (DRIVER_AUTHOR); MODULE_DESCRIPTION (DRIVER_DESC); MODULE_LICENSE ("GPL"); -MODULE_PARM (debug, "i"); +module_param(debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC (debug, "Debug enabled or not"); -MODULE_PARM (swapRGB_on, "i"); +module_param(swapRGB_on, int, 0); MODULE_PARM_DESC (swapRGB_on, "Red/blue swap: 1=always, 0=auto, -1=never"); -MODULE_PARM (video_nr, "i"); +module_param(video_nr, int, 0); /******************************************************************** * @@ -704,7 +704,6 @@ static int stv680_start_stream (struct usb_stv *stv680) usb_rcvbulkpipe (stv680->udev, stv680->bulk_in_endpointAddr), stv680->sbuf[i].data, stv680->rawbufsize, stv680_video_irq, stv680); - urb->timeout = PENCAM_TIMEOUT * 2; stv680->urb[i] = urb; err = usb_submit_urb (stv680->urb[i], GFP_KERNEL); if (err) diff --git a/drivers/usb/media/ultracam.c b/drivers/usb/media/ultracam.c index cbaf7d804..84f38839c 100644 --- a/drivers/usb/media/ultracam.c +++ b/drivers/usb/media/ultracam.c @@ -60,9 +60,9 @@ static int init_color = 128; static int init_hue = 128; static int hue_correction = 128; -MODULE_PARM(debug, "i"); +module_param(debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug level: 0-9 (default=0)"); -MODULE_PARM(flags, "i"); +module_param(flags, int, 0); MODULE_PARM_DESC(flags, "Bitfield: 0=VIDIOCSYNC, " "1=B/W, " @@ -71,18 +71,18 @@ MODULE_PARM_DESC(flags, "4=test pattern, " "5=separate frames, " "6=clean frames"); -MODULE_PARM(framerate, "i"); +module_param(framerate, int, 0); MODULE_PARM_DESC(framerate, "Framerate setting: 0=slowest, 6=fastest (default=2)"); -MODULE_PARM(init_brightness, "i"); +module_param(init_brightness, int, 0); MODULE_PARM_DESC(init_brightness, "Brightness preconfiguration: 0-255 (default=128)"); -MODULE_PARM(init_contrast, "i"); +module_param(init_contrast, int, 0); MODULE_PARM_DESC(init_contrast, "Contrast preconfiguration: 0-255 (default=192)"); -MODULE_PARM(init_color, "i"); +module_param(init_color, int, 0); MODULE_PARM_DESC(init_color, "Color preconfiguration: 0-255 (default=128)"); -MODULE_PARM(init_hue, "i"); +module_param(init_hue, int, 0); MODULE_PARM_DESC(init_hue, "Hue preconfiguration: 0-255 (default=128)"); -MODULE_PARM(hue_correction, "i"); +module_param(hue_correction, int, 0); MODULE_PARM_DESC(hue_correction, "YUV colorspace regulation: 0-255 (default=128)"); /* diff --git a/drivers/usb/media/usbvideo.c b/drivers/usb/media/usbvideo.c index d46b136c9..1107e398d 100644 --- a/drivers/usb/media/usbvideo.c +++ b/drivers/usb/media/usbvideo.c @@ -34,7 +34,7 @@ #endif static int video_nr = -1; -MODULE_PARM(video_nr, "i"); +module_param(video_nr, int, 0); /* * Local prototypes. diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig index 8c958af4a..d6401c0a8 100644 --- a/drivers/usb/misc/Kconfig +++ b/drivers/usb/misc/Kconfig @@ -121,18 +121,6 @@ config USB_CYTHERM To compile this driver as a module, choose M here: the module will be called cytherm. -config USB_SPEEDTOUCH - tristate "Alcatel Speedtouch USB support" - depends on USB && ATM - select CRC32 - help - Say Y here if you have an Alcatel SpeedTouch USB or SpeedTouch 330 - modem. In order to use your modem you will need to install some user - space tools, see for details. - - To compile this driver as a module, choose M here: the - module will be called speedtch. - config USB_PHIDGETSERVO tristate "USB PhidgetServo support" depends on USB diff --git a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile index d641a470e..074a1d662 100644 --- a/drivers/usb/misc/Makefile +++ b/drivers/usb/misc/Makefile @@ -11,7 +11,6 @@ obj-$(CONFIG_USB_LCD) += usblcd.o obj-$(CONFIG_USB_LED) += usbled.o obj-$(CONFIG_USB_LEGOTOWER) += legousbtower.o obj-$(CONFIG_USB_RIO500) += rio500.o -obj-$(CONFIG_USB_SPEEDTOUCH) += speedtch.o obj-$(CONFIG_USB_TEST) += usbtest.o obj-$(CONFIG_USB_TIGL) += tiglusb.o obj-$(CONFIG_USB_USS720) += uss720.o diff --git a/drivers/usb/misc/auerswald.c b/drivers/usb/misc/auerswald.c index 310c5a96c..c4bebdacd 100644 --- a/drivers/usb/misc/auerswald.c +++ b/drivers/usb/misc/auerswald.c @@ -269,7 +269,7 @@ typedef struct /* Forwards */ static void auerswald_ctrlread_complete (struct urb * urb, struct pt_regs *regs); static void auerswald_removeservice (pauerswald_t cp, pauerscon_t scp); -extern struct usb_driver auerswald_driver; +static struct usb_driver auerswald_driver; /*-------------------------------------------------------------------*/ @@ -1037,7 +1037,8 @@ static void auerswald_int_complete (struct urb * urb, struct pt_regs *regs) /* now extract the information */ channelid = cp->intbufp[2]; - bytecount = le16_to_cpup (&cp->intbufp[3]); + bytecount = (unsigned char)cp->intbufp[3]; + bytecount |= (unsigned char)cp->intbufp[4] << 8; /* check the channel id */ if (channelid >= AUH_TYPESIZE) { @@ -1930,7 +1931,7 @@ static int auerswald_probe (struct usb_interface *intf, struct usb_device *usbdev = interface_to_usbdev(intf); pauerswald_t cp = NULL; unsigned int u = 0; - char *pbuf; + __le16 *pbuf; int ret; dbg ("probe: vendor id 0x%x, device id 0x%x", @@ -1976,8 +1977,7 @@ static int auerswald_probe (struct usb_interface *intf, dbg ("Version is %X", cp->version); /* allow some time to settle the device */ - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/3); + msleep(334); /* Try to get a suitable textual description of the device */ /* Device name:*/ @@ -2003,7 +2003,7 @@ static int auerswald_probe (struct usb_interface *intf, info("device is a %s", cp->dev_desc); /* get the maximum allowed control transfer length */ - pbuf = (char *) kmalloc (2, GFP_KERNEL); /* use an allocated buffer because of urb target */ + pbuf = (__le16 *) kmalloc (2, GFP_KERNEL); /* use an allocated buffer because of urb target */ if (!pbuf) { err( "out of memory"); goto pfail; diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c index cd7b548b9..06c4bfa2f 100644 --- a/drivers/usb/misc/legousbtower.c +++ b/drivers/usb/misc/legousbtower.c @@ -71,6 +71,8 @@ * - make device locking interruptible * 2004-04-30 - 0.95 Juergen Stuber * - check for valid udev on resubmitting and unlinking urbs + * 2004-08-03 - 0.96 Juergen Stuber + * - move reset into open to clean out spurious data */ #include @@ -98,12 +100,12 @@ /* Version Information */ -#define DRIVER_VERSION "v0.95" +#define DRIVER_VERSION "v0.96" #define DRIVER_AUTHOR "Juergen Stuber " #define DRIVER_DESC "LEGO USB Tower Driver" /* Module parameters */ -MODULE_PARM(debug, "i"); +module_param(debug, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug enabled or not"); /* The defaults are chosen to work with the latest versions of leJOS and NQC. @@ -113,8 +115,8 @@ MODULE_PARM_DESC(debug, "Debug enabled or not"); * In this case read_buffer_size should exceed the maximal packet length * (417 for datalog uploads), and packet_timeout should be set. */ -static size_t read_buffer_size = 480; -MODULE_PARM(read_buffer_size, "i"); +static int read_buffer_size = 480; +module_param(read_buffer_size, int, 0); MODULE_PARM_DESC(read_buffer_size, "Read buffer size"); /* Some legacy software likes to send packets in one piece. @@ -123,8 +125,8 @@ MODULE_PARM_DESC(read_buffer_size, "Read buffer size"); * A problem with long writes is that the following read may time out * if the software is not prepared to wait long enough. */ -static size_t write_buffer_size = 480; -MODULE_PARM(write_buffer_size, "i"); +static int write_buffer_size = 480; +module_param(write_buffer_size, int, 0); MODULE_PARM_DESC(write_buffer_size, "Write buffer size"); /* Some legacy software expects reads to contain whole LASM packets. @@ -138,7 +140,7 @@ MODULE_PARM_DESC(write_buffer_size, "Write buffer size"); * Set it to 0 to disable. */ static int packet_timeout = 50; -MODULE_PARM(packet_timeout, "i"); +module_param(packet_timeout, int, 0); MODULE_PARM_DESC(packet_timeout, "Packet timeout in ms"); /* Some legacy software expects blocking reads to time out. @@ -146,7 +148,7 @@ MODULE_PARM_DESC(packet_timeout, "Packet timeout in ms"); * Set it to 0 to disable. */ static int read_timeout = 200; -MODULE_PARM(read_timeout, "i"); +module_param(read_timeout, int, 0); MODULE_PARM_DESC(read_timeout, "Read timeout in ms"); /* As of kernel version 2.6.4 ehci-hcd uses an @@ -159,11 +161,11 @@ MODULE_PARM_DESC(read_timeout, "Read timeout in ms"); * or set to 0 to use the standard interval from the endpoint descriptors. */ static int interrupt_in_interval = 2; -MODULE_PARM(interrupt_in_interval, "i"); +module_param(interrupt_in_interval, int, 0); MODULE_PARM_DESC(interrupt_in_interval, "Interrupt in interval in ms"); static int interrupt_out_interval = 8; -MODULE_PARM(interrupt_out_interval, "i"); +module_param(interrupt_out_interval, int, 0); MODULE_PARM_DESC(interrupt_out_interval, "Interrupt out interval in ms"); /* Define these values to match your device */ @@ -175,18 +177,18 @@ MODULE_PARM_DESC(interrupt_out_interval, "Interrupt out interval in ms"); #define LEGO_USB_TOWER_REQUEST_GET_VERSION 0xFD struct tower_reset_reply { - __u16 size; /* little-endian */ + __le16 size; /* little-endian */ __u8 err_code; __u8 spare; } __attribute__ ((packed)); struct tower_get_version_reply { - __u16 size; /* little-endian */ + __le16 size; /* little-endian */ __u8 err_code; __u8 spare; __u8 major; __u8 minor; - __u16 build_no; /* little-endian */ + __le16 build_no; /* little-endian */ } __attribute__ ((packed)); @@ -341,6 +343,8 @@ static int tower_open (struct inode *inode, struct file *file) int subminor; int retval = 0; struct usb_interface *interface; + struct tower_reset_reply reset_reply; + int result; dbg(2, "%s: enter", __FUNCTION__); @@ -378,6 +382,22 @@ static int tower_open (struct inode *inode, struct file *file) } dev->open_count = 1; + /* reset the tower */ + result = usb_control_msg (dev->udev, + usb_rcvctrlpipe(dev->udev, 0), + LEGO_USB_TOWER_REQUEST_RESET, + USB_TYPE_VENDOR | USB_DIR_IN | USB_RECIP_DEVICE, + 0, + 0, + &reset_reply, + sizeof(reset_reply), + HZ); + if (result < 0) { + err("LEGO USB Tower reset control request failed"); + retval = result; + goto unlock_exit; + } + /* initialize in direction */ dev->read_buffer_length = 0; dev->read_packet_length = 0; @@ -694,7 +714,7 @@ static ssize_t tower_write (struct file *file, const char __user *buffer, size_t } /* write the data into interrupt_out_buffer from userspace */ - bytes_to_write = min(count, write_buffer_size); + bytes_to_write = min_t(int, count, write_buffer_size); dbg(4, "%s: count = %Zd, bytes_to_write = %Zd", __FUNCTION__, count, bytes_to_write); if (copy_from_user (dev->interrupt_out_buffer, buffer, bytes_to_write)) { @@ -828,7 +848,6 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device struct lego_usb_tower *dev = NULL; struct usb_host_interface *iface_desc; struct usb_endpoint_descriptor* endpoint; - struct tower_reset_reply reset_reply; struct tower_get_version_reply get_version_reply; int i; int retval = -ENOMEM; @@ -951,22 +970,6 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device /* let the user know what node this device is now attached to */ info ("LEGO USB Tower #%d now attached to major %d minor %d", (dev->minor - LEGO_USB_TOWER_MINOR_BASE), USB_MAJOR, dev->minor); - /* reset the tower */ - result = usb_control_msg (udev, - usb_rcvctrlpipe(udev, 0), - LEGO_USB_TOWER_REQUEST_RESET, - USB_TYPE_VENDOR | USB_DIR_IN | USB_RECIP_DEVICE, - 0, - 0, - &reset_reply, - sizeof(reset_reply), - HZ); - if (result < 0) { - err("LEGO USB Tower reset control request failed"); - retval = result; - goto error; - } - /* get the firmware version and log it */ result = usb_control_msg (udev, usb_rcvctrlpipe(udev, 0), diff --git a/drivers/usb/misc/speedtch.c b/drivers/usb/misc/speedtch.c index 667e2d1b2..e69de29bb 100644 --- a/drivers/usb/misc/speedtch.c +++ b/drivers/usb/misc/speedtch.c @@ -1,1373 +0,0 @@ -/****************************************************************************** - * speedtouch.c - Alcatel SpeedTouch USB xDSL modem driver - * - * Copyright (C) 2001, Alcatel - * Copyright (C) 2003, Duncan Sands - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the Free - * Software Foundation; either version 2 of the License, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 59 - * Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - ******************************************************************************/ - -/* - * Written by Johan Verrept, maintained by Duncan Sands (duncan.sands@free.fr) - * - * 1.7+: - See the check-in logs - * - * 1.6: - No longer opens a connection if the firmware is not loaded - * - Added support for the speedtouch 330 - * - Removed the limit on the number of devices - * - Module now autoloads on device plugin - * - Merged relevant parts of sarlib - * - Replaced the kernel thread with a tasklet - * - New packet transmission code - * - Changed proc file contents - * - Fixed all known SMP races - * - Many fixes and cleanups - * - Various fixes by Oliver Neukum (oliver@neukum.name) - * - * 1.5A: - Version for inclusion in 2.5 series kernel - * - Modifications by Richard Purdie (rpurdie@rpsys.net) - * - made compatible with kernel 2.5.6 onwards by changing - * udsl_usb_send_data_context->urb to a pointer and adding code - * to alloc and free it - * - remove_wait_queue() added to udsl_atm_processqueue_thread() - * - * 1.5: - fixed memory leak when atmsar_decode_aal5 returned NULL. - * (reported by stephen.robinson@zen.co.uk) - * - * 1.4: - changed the spin_lock() under interrupt to spin_lock_irqsave() - * - unlink all active send urbs of a vcc that is being closed. - * - * 1.3.1: - added the version number - * - * 1.3: - Added multiple send urb support - * - fixed memory leak and vcc->tx_inuse starvation bug - * when not enough memory left in vcc. - * - * 1.2: - Fixed race condition in udsl_usb_send_data() - * 1.1: - Turned off packet debugging - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* -#define DEBUG -#define VERBOSE_DEBUG -*/ - -#if !defined (DEBUG) && defined (CONFIG_USB_DEBUG) -# define DEBUG -#endif - -#include - -#ifdef DEBUG -#define DEBUG_ON(x) BUG_ON(x) -#else -#define DEBUG_ON(x) do { if (x); } while (0) -#endif - -#ifdef VERBOSE_DEBUG -static int udsl_print_packet (const unsigned char *data, int len); -#define PACKETDEBUG(arg...) udsl_print_packet (arg) -#define vdbg(arg...) dbg (arg) -#else -#define PACKETDEBUG(arg...) -#define vdbg(arg...) -#endif - -#define DRIVER_AUTHOR "Johan Verrept, Duncan Sands " -#define DRIVER_VERSION "1.8" -#define DRIVER_DESC "Alcatel SpeedTouch USB driver version " DRIVER_VERSION - -static const char udsl_driver_name [] = "speedtch"; - -#define SPEEDTOUCH_VENDORID 0x06b9 -#define SPEEDTOUCH_PRODUCTID 0x4061 - -#define UDSL_MAX_RCV_URBS 4 -#define UDSL_MAX_SND_URBS 4 -#define UDSL_MAX_RCV_BUFS 8 -#define UDSL_MAX_SND_BUFS 8 -#define UDSL_MAX_RCV_BUF_SIZE 1024 /* ATM cells */ -#define UDSL_MAX_SND_BUF_SIZE 1024 /* ATM cells */ -#define UDSL_DEFAULT_RCV_URBS 2 -#define UDSL_DEFAULT_SND_URBS 2 -#define UDSL_DEFAULT_RCV_BUFS 4 -#define UDSL_DEFAULT_SND_BUFS 4 -#define UDSL_DEFAULT_RCV_BUF_SIZE 64 /* ATM cells */ -#define UDSL_DEFAULT_SND_BUF_SIZE 64 /* ATM cells */ - -static unsigned int num_rcv_urbs = UDSL_DEFAULT_RCV_URBS; -static unsigned int num_snd_urbs = UDSL_DEFAULT_SND_URBS; -static unsigned int num_rcv_bufs = UDSL_DEFAULT_RCV_BUFS; -static unsigned int num_snd_bufs = UDSL_DEFAULT_SND_BUFS; -static unsigned int rcv_buf_size = UDSL_DEFAULT_RCV_BUF_SIZE; -static unsigned int snd_buf_size = UDSL_DEFAULT_SND_BUF_SIZE; - -module_param (num_rcv_urbs, uint, 0444); -MODULE_PARM_DESC (num_rcv_urbs, "Number of urbs used for reception (range: 0-" __MODULE_STRING (UDSL_MAX_RCV_URBS) ", default: " __MODULE_STRING (UDSL_DEFAULT_RCV_URBS) ")"); - -module_param (num_snd_urbs, uint, 0444); -MODULE_PARM_DESC (num_snd_urbs, "Number of urbs used for transmission (range: 0-" __MODULE_STRING (UDSL_MAX_SND_URBS) ", default: " __MODULE_STRING (UDSL_DEFAULT_SND_URBS) ")"); - -module_param (num_rcv_bufs, uint, 0444); -MODULE_PARM_DESC (num_rcv_bufs, "Number of buffers used for reception (range: 0-" __MODULE_STRING (UDSL_MAX_RCV_BUFS) ", default: " __MODULE_STRING (UDSL_DEFAULT_RCV_BUFS) ")"); - -module_param (num_snd_bufs, uint, 0444); -MODULE_PARM_DESC (num_snd_bufs, "Number of buffers used for transmission (range: 0-" __MODULE_STRING (UDSL_MAX_SND_BUFS) ", default: " __MODULE_STRING (UDSL_DEFAULT_SND_BUFS) ")"); - -module_param (rcv_buf_size, uint, 0444); -MODULE_PARM_DESC (rcv_buf_size, "Size of the buffers used for reception (range: 0-" __MODULE_STRING (UDSL_MAX_RCV_BUF_SIZE) ", default: " __MODULE_STRING (UDSL_DEFAULT_RCV_BUF_SIZE) ")"); - -module_param (snd_buf_size, uint, 0444); -MODULE_PARM_DESC (snd_buf_size, "Size of the buffers used for transmission (range: 0-" __MODULE_STRING (UDSL_MAX_SND_BUF_SIZE) ", default: " __MODULE_STRING (UDSL_DEFAULT_SND_BUF_SIZE) ")"); - -#define UDSL_IOCTL_LINE_UP 1 -#define UDSL_IOCTL_LINE_DOWN 2 - -#define UDSL_ENDPOINT_DATA_OUT 0x07 -#define UDSL_ENDPOINT_DATA_IN 0x87 - -#define ATM_CELL_HEADER (ATM_CELL_SIZE - ATM_CELL_PAYLOAD) -#define UDSL_NUM_CELLS(x) (((x) + ATM_AAL5_TRAILER + ATM_CELL_PAYLOAD - 1) / ATM_CELL_PAYLOAD) - -#define hex2int(c) ( (c >= '0') && (c <= '9') ? (c - '0') : ((c & 0xf) + 9) ) - -static struct usb_device_id udsl_usb_ids [] = { - { USB_DEVICE (SPEEDTOUCH_VENDORID, SPEEDTOUCH_PRODUCTID) }, - { } -}; - -MODULE_DEVICE_TABLE (usb, udsl_usb_ids); - -/* receive */ - -struct udsl_receive_buffer { - struct list_head list; - unsigned char *base; - unsigned int filled_cells; -}; - -struct udsl_receiver { - struct list_head list; - struct udsl_receive_buffer *buffer; - struct urb *urb; - struct udsl_instance_data *instance; -}; - -struct udsl_vcc_data { - /* vpi/vci lookup */ - struct list_head list; - short vpi; - int vci; - struct atm_vcc *vcc; - - /* raw cell reassembly */ - struct sk_buff *sarb; -}; - -/* send */ - -struct udsl_send_buffer { - struct list_head list; - unsigned char *base; - unsigned char *free_start; - unsigned int free_cells; -}; - -struct udsl_sender { - struct list_head list; - struct udsl_send_buffer *buffer; - struct urb *urb; - struct udsl_instance_data *instance; -}; - -struct udsl_control { - struct atm_skb_data atm_data; - unsigned int num_cells; - unsigned int num_entire; - unsigned int pdu_padding; - unsigned char cell_header [ATM_CELL_HEADER]; - unsigned char aal5_trailer [ATM_AAL5_TRAILER]; -}; - -#define UDSL_SKB(x) ((struct udsl_control *)(x)->cb) - -/* main driver data */ - -struct udsl_instance_data { - struct semaphore serialize; - - /* USB device part */ - struct usb_device *usb_dev; - char description [64]; - int firmware_loaded; - - /* ATM device part */ - struct atm_dev *atm_dev; - struct list_head vcc_list; - - /* receive */ - struct udsl_receiver receivers [UDSL_MAX_RCV_URBS]; - struct udsl_receive_buffer receive_buffers [UDSL_MAX_RCV_BUFS]; - - spinlock_t receive_lock; - struct list_head spare_receivers; - struct list_head filled_receive_buffers; - - struct tasklet_struct receive_tasklet; - struct list_head spare_receive_buffers; - - /* send */ - struct udsl_sender senders [UDSL_MAX_SND_URBS]; - struct udsl_send_buffer send_buffers [UDSL_MAX_SND_BUFS]; - - struct sk_buff_head sndqueue; - - spinlock_t send_lock; - struct list_head spare_senders; - struct list_head spare_send_buffers; - - struct tasklet_struct send_tasklet; - struct sk_buff *current_skb; /* being emptied */ - struct udsl_send_buffer *current_buffer; /* being filled */ - struct list_head filled_send_buffers; -}; - -/* ATM */ - -static void udsl_atm_dev_close (struct atm_dev *dev); -static int udsl_atm_open (struct atm_vcc *vcc); -static void udsl_atm_close (struct atm_vcc *vcc); -static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void __user *arg); -static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb); -static int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t *pos, char *page); - -static struct atmdev_ops udsl_atm_devops = { - .dev_close = udsl_atm_dev_close, - .open = udsl_atm_open, - .close = udsl_atm_close, - .ioctl = udsl_atm_ioctl, - .send = udsl_atm_send, - .proc_read = udsl_atm_proc_read, - .owner = THIS_MODULE, -}; - -/* USB */ - -static int udsl_usb_probe (struct usb_interface *intf, const struct usb_device_id *id); -static void udsl_usb_disconnect (struct usb_interface *intf); -static int udsl_usb_ioctl (struct usb_interface *intf, unsigned int code, void *user_data); - -static struct usb_driver udsl_usb_driver = { - .owner = THIS_MODULE, - .name = udsl_driver_name, - .probe = udsl_usb_probe, - .disconnect = udsl_usb_disconnect, - .ioctl = udsl_usb_ioctl, - .id_table = udsl_usb_ids, -}; - - -/*********** -** misc ** -***********/ - -static inline void udsl_pop (struct atm_vcc *vcc, struct sk_buff *skb) -{ - if (vcc->pop) - vcc->pop (vcc, skb); - else - dev_kfree_skb (skb); -} - - -/************* -** decode ** -*************/ - -static inline struct udsl_vcc_data *udsl_find_vcc (struct udsl_instance_data *instance, short vpi, int vci) -{ - struct udsl_vcc_data *vcc; - - list_for_each_entry (vcc, &instance->vcc_list, list) - if ((vcc->vci == vci) && (vcc->vpi == vpi)) - return vcc; - return NULL; -} - -static void udsl_extract_cells (struct udsl_instance_data *instance, unsigned char *source, unsigned int howmany) -{ - struct udsl_vcc_data *cached_vcc = NULL; - struct atm_vcc *vcc; - struct sk_buff *sarb; - struct udsl_vcc_data *vcc_data; - int cached_vci = 0; - unsigned int i; - int pti; - int vci; - short cached_vpi = 0; - short vpi; - - for (i = 0; i < howmany; i++, source += ATM_CELL_SIZE) { - vpi = ((source [0] & 0x0f) << 4) | (source [1] >> 4); - vci = ((source [1] & 0x0f) << 12) | (source [2] << 4) | (source [3] >> 4); - pti = (source [3] & 0x2) != 0; - - vdbg ("udsl_extract_cells: vpi %hd, vci %d, pti %d", vpi, vci, pti); - - if (cached_vcc && (vci == cached_vci) && (vpi == cached_vpi)) - vcc_data = cached_vcc; - else if ((vcc_data = udsl_find_vcc (instance, vpi, vci))) { - cached_vcc = vcc_data; - cached_vpi = vpi; - cached_vci = vci; - } else { - dbg ("udsl_extract_cells: unknown vpi/vci (%hd/%d)!", vpi, vci); - continue; - } - - vcc = vcc_data->vcc; - sarb = vcc_data->sarb; - - if (sarb->tail + ATM_CELL_PAYLOAD > sarb->end) { - dbg ("udsl_extract_cells: buffer overrun (sarb->len %u, vcc: 0x%p)!", sarb->len, vcc); - /* discard cells already received */ - skb_trim (sarb, 0); - } - - memcpy (sarb->tail, source + ATM_CELL_HEADER, ATM_CELL_PAYLOAD); - __skb_put (sarb, ATM_CELL_PAYLOAD); - - if (pti) { - struct sk_buff *skb; - unsigned int length; - unsigned int pdu_length; - - length = (source [ATM_CELL_SIZE - 6] << 8) + source [ATM_CELL_SIZE - 5]; - - /* guard against overflow */ - if (length > ATM_MAX_AAL5_PDU) { - dbg ("udsl_extract_cells: bogus length %u (vcc: 0x%p)!", length, vcc); - atomic_inc (&vcc->stats->rx_err); - goto out; - } - - pdu_length = UDSL_NUM_CELLS (length) * ATM_CELL_PAYLOAD; - - if (sarb->len < pdu_length) { - dbg ("udsl_extract_cells: bogus pdu_length %u (sarb->len: %u, vcc: 0x%p)!", pdu_length, sarb->len, vcc); - atomic_inc (&vcc->stats->rx_err); - goto out; - } - - if (crc32_be (~0, sarb->tail - pdu_length, pdu_length) != 0xc704dd7b) { - dbg ("udsl_extract_cells: packet failed crc check (vcc: 0x%p)!", vcc); - atomic_inc (&vcc->stats->rx_err); - goto out; - } - - vdbg ("udsl_extract_cells: got packet (length: %u, pdu_length: %u, vcc: 0x%p)", length, pdu_length, vcc); - - if (!(skb = dev_alloc_skb (length))) { - dbg ("udsl_extract_cells: no memory for skb (length: %u)!", length); - atomic_inc (&vcc->stats->rx_drop); - goto out; - } - - vdbg ("udsl_extract_cells: allocated new sk_buff (skb: 0x%p, skb->truesize: %u)", skb, skb->truesize); - - if (!atm_charge (vcc, skb->truesize)) { - dbg ("udsl_extract_cells: failed atm_charge (skb->truesize: %u)!", skb->truesize); - dev_kfree_skb (skb); - goto out; /* atm_charge increments rx_drop */ - } - - memcpy (skb->data, sarb->tail - pdu_length, length); - __skb_put (skb, length); - - vdbg ("udsl_extract_cells: sending skb 0x%p, skb->len %u, skb->truesize %u", skb, skb->len, skb->truesize); - - PACKETDEBUG (skb->data, skb->len); - - vcc->push (vcc, skb); - - atomic_inc (&vcc->stats->rx); -out: - skb_trim (sarb, 0); - } - } -} - - -/************* -** encode ** -*************/ - -static const unsigned char zeros [ATM_CELL_PAYLOAD]; - -static void udsl_groom_skb (struct atm_vcc *vcc, struct sk_buff *skb) -{ - struct udsl_control *ctrl = UDSL_SKB (skb); - unsigned int zero_padding; - u32 crc; - - ctrl->atm_data.vcc = vcc; - ctrl->cell_header [0] = vcc->vpi >> 4; - ctrl->cell_header [1] = (vcc->vpi << 4) | (vcc->vci >> 12); - ctrl->cell_header [2] = vcc->vci >> 4; - ctrl->cell_header [3] = vcc->vci << 4; - ctrl->cell_header [4] = 0xec; - - ctrl->num_cells = UDSL_NUM_CELLS (skb->len); - ctrl->num_entire = skb->len / ATM_CELL_PAYLOAD; - - zero_padding = ctrl->num_cells * ATM_CELL_PAYLOAD - skb->len - ATM_AAL5_TRAILER; - - if (ctrl->num_entire + 1 < ctrl->num_cells) - ctrl->pdu_padding = zero_padding - (ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER); - else - ctrl->pdu_padding = zero_padding; - - ctrl->aal5_trailer [0] = 0; /* UU = 0 */ - ctrl->aal5_trailer [1] = 0; /* CPI = 0 */ - ctrl->aal5_trailer [2] = skb->len >> 8; - ctrl->aal5_trailer [3] = skb->len; - - crc = crc32_be (~0, skb->data, skb->len); - crc = crc32_be (crc, zeros, zero_padding); - crc = crc32_be (crc, ctrl->aal5_trailer, 4); - crc = ~crc; - - ctrl->aal5_trailer [4] = crc >> 24; - ctrl->aal5_trailer [5] = crc >> 16; - ctrl->aal5_trailer [6] = crc >> 8; - ctrl->aal5_trailer [7] = crc; -} - -static unsigned int udsl_write_cells (unsigned int howmany, struct sk_buff *skb, unsigned char **target_p) -{ - struct udsl_control *ctrl = UDSL_SKB (skb); - unsigned char *target = *target_p; - unsigned int nc, ne, i; - - vdbg ("udsl_write_cells: howmany=%u, skb->len=%d, num_cells=%u, num_entire=%u, pdu_padding=%u", howmany, skb->len, ctrl->num_cells, ctrl->num_entire, ctrl->pdu_padding); - - nc = ctrl->num_cells; - ne = min (howmany, ctrl->num_entire); - - for (i = 0; i < ne; i++) { - memcpy (target, ctrl->cell_header, ATM_CELL_HEADER); - target += ATM_CELL_HEADER; - memcpy (target, skb->data, ATM_CELL_PAYLOAD); - target += ATM_CELL_PAYLOAD; - __skb_pull (skb, ATM_CELL_PAYLOAD); - } - - ctrl->num_entire -= ne; - - if (!(ctrl->num_cells -= ne) || !(howmany -= ne)) - goto out; - - memcpy (target, ctrl->cell_header, ATM_CELL_HEADER); - target += ATM_CELL_HEADER; - memcpy (target, skb->data, skb->len); - target += skb->len; - __skb_pull (skb, skb->len); - memset (target, 0, ctrl->pdu_padding); - target += ctrl->pdu_padding; - - if (--ctrl->num_cells) { - if (!--howmany) { - ctrl->pdu_padding = ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER; - goto out; - } - - memcpy (target, ctrl->cell_header, ATM_CELL_HEADER); - target += ATM_CELL_HEADER; - memset (target, 0, ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER); - target += ATM_CELL_PAYLOAD - ATM_AAL5_TRAILER; - - DEBUG_ON (--ctrl->num_cells); - } - - memcpy (target, ctrl->aal5_trailer, ATM_AAL5_TRAILER); - target += ATM_AAL5_TRAILER; - /* set pti bit in last cell */ - *(target + 3 - ATM_CELL_SIZE) |= 0x2; - -out: - *target_p = target; - return nc - ctrl->num_cells; -} - - -/************** -** receive ** -**************/ - -static void udsl_complete_receive (struct urb *urb, struct pt_regs *regs) -{ - struct udsl_receive_buffer *buf; - struct udsl_instance_data *instance; - struct udsl_receiver *rcv; - unsigned long flags; - - if (!urb || !(rcv = urb->context)) { - dbg ("udsl_complete_receive: bad urb!"); - return; - } - - instance = rcv->instance; - buf = rcv->buffer; - - buf->filled_cells = urb->actual_length / ATM_CELL_SIZE; - - vdbg ("udsl_complete_receive: urb 0x%p, status %d, actual_length %d, filled_cells %u, rcv 0x%p, buf 0x%p", urb, urb->status, urb->actual_length, buf->filled_cells, rcv, buf); - - DEBUG_ON (buf->filled_cells > rcv_buf_size); - - /* may not be in_interrupt() */ - spin_lock_irqsave (&instance->receive_lock, flags); - list_add (&rcv->list, &instance->spare_receivers); - list_add_tail (&buf->list, &instance->filled_receive_buffers); - if (likely (!urb->status)) - tasklet_schedule (&instance->receive_tasklet); - spin_unlock_irqrestore (&instance->receive_lock, flags); -} - -static void udsl_process_receive (unsigned long data) -{ - struct udsl_receive_buffer *buf; - struct udsl_instance_data *instance = (struct udsl_instance_data *) data; - struct udsl_receiver *rcv; - int err; - -made_progress: - while (!list_empty (&instance->spare_receive_buffers)) { - spin_lock_irq (&instance->receive_lock); - if (list_empty (&instance->spare_receivers)) { - spin_unlock_irq (&instance->receive_lock); - break; - } - rcv = list_entry (instance->spare_receivers.next, struct udsl_receiver, list); - list_del (&rcv->list); - spin_unlock_irq (&instance->receive_lock); - - buf = list_entry (instance->spare_receive_buffers.next, struct udsl_receive_buffer, list); - list_del (&buf->list); - - rcv->buffer = buf; - - usb_fill_bulk_urb (rcv->urb, - instance->usb_dev, - usb_rcvbulkpipe (instance->usb_dev, UDSL_ENDPOINT_DATA_IN), - buf->base, - rcv_buf_size * ATM_CELL_SIZE, - udsl_complete_receive, - rcv); - - vdbg ("udsl_process_receive: sending urb 0x%p, rcv 0x%p, buf 0x%p", rcv->urb, rcv, buf); - - if ((err = usb_submit_urb(rcv->urb, GFP_ATOMIC)) < 0) { - dbg ("udsl_process_receive: urb submission failed (%d)!", err); - list_add (&buf->list, &instance->spare_receive_buffers); - spin_lock_irq (&instance->receive_lock); - list_add (&rcv->list, &instance->spare_receivers); - spin_unlock_irq (&instance->receive_lock); - break; - } - } - - spin_lock_irq (&instance->receive_lock); - if (list_empty (&instance->filled_receive_buffers)) { - spin_unlock_irq (&instance->receive_lock); - return; /* done - no more buffers */ - } - buf = list_entry (instance->filled_receive_buffers.next, struct udsl_receive_buffer, list); - list_del (&buf->list); - spin_unlock_irq (&instance->receive_lock); - vdbg ("udsl_process_receive: processing buf 0x%p", buf); - udsl_extract_cells (instance, buf->base, buf->filled_cells); - list_add (&buf->list, &instance->spare_receive_buffers); - goto made_progress; -} - - -/*********** -** send ** -***********/ - -static void udsl_complete_send (struct urb *urb, struct pt_regs *regs) -{ - struct udsl_instance_data *instance; - struct udsl_sender *snd; - unsigned long flags; - - if (!urb || !(snd = urb->context) || !(instance = snd->instance)) { - dbg ("udsl_complete_send: bad urb!"); - return; - } - - vdbg ("udsl_complete_send: urb 0x%p, status %d, snd 0x%p, buf 0x%p", urb, urb->status, snd, snd->buffer); - - /* may not be in_interrupt() */ - spin_lock_irqsave (&instance->send_lock, flags); - list_add (&snd->list, &instance->spare_senders); - list_add (&snd->buffer->list, &instance->spare_send_buffers); - tasklet_schedule (&instance->send_tasklet); - spin_unlock_irqrestore (&instance->send_lock, flags); -} - -static void udsl_process_send (unsigned long data) -{ - struct udsl_send_buffer *buf; - struct udsl_instance_data *instance = (struct udsl_instance_data *) data; - struct sk_buff *skb; - struct udsl_sender *snd; - int err; - unsigned int num_written; - -made_progress: - spin_lock_irq (&instance->send_lock); - while (!list_empty (&instance->spare_senders)) { - if (!list_empty (&instance->filled_send_buffers)) { - buf = list_entry (instance->filled_send_buffers.next, struct udsl_send_buffer, list); - list_del (&buf->list); - } else if ((buf = instance->current_buffer)) { - instance->current_buffer = NULL; - } else /* all buffers empty */ - break; - - snd = list_entry (instance->spare_senders.next, struct udsl_sender, list); - list_del (&snd->list); - spin_unlock_irq (&instance->send_lock); - - snd->buffer = buf; - usb_fill_bulk_urb (snd->urb, - instance->usb_dev, - usb_sndbulkpipe (instance->usb_dev, UDSL_ENDPOINT_DATA_OUT), - buf->base, - (snd_buf_size - buf->free_cells) * ATM_CELL_SIZE, - udsl_complete_send, - snd); - - vdbg ("udsl_process_send: submitting urb 0x%p (%d cells), snd 0x%p, buf 0x%p", snd->urb, snd_buf_size - buf->free_cells, snd, buf); - - if ((err = usb_submit_urb(snd->urb, GFP_ATOMIC)) < 0) { - dbg ("udsl_process_send: urb submission failed (%d)!", err); - spin_lock_irq (&instance->send_lock); - list_add (&snd->list, &instance->spare_senders); - spin_unlock_irq (&instance->send_lock); - list_add (&buf->list, &instance->filled_send_buffers); - return; /* bail out */ - } - - spin_lock_irq (&instance->send_lock); - } /* while */ - spin_unlock_irq (&instance->send_lock); - - if (!instance->current_skb && !(instance->current_skb = skb_dequeue (&instance->sndqueue))) - return; /* done - no more skbs */ - - skb = instance->current_skb; - - if (!(buf = instance->current_buffer)) { - spin_lock_irq (&instance->send_lock); - if (list_empty (&instance->spare_send_buffers)) { - instance->current_buffer = NULL; - spin_unlock_irq (&instance->send_lock); - return; /* done - no more buffers */ - } - buf = list_entry (instance->spare_send_buffers.next, struct udsl_send_buffer, list); - list_del (&buf->list); - spin_unlock_irq (&instance->send_lock); - - buf->free_start = buf->base; - buf->free_cells = snd_buf_size; - - instance->current_buffer = buf; - } - - num_written = udsl_write_cells (buf->free_cells, skb, &buf->free_start); - - vdbg ("udsl_process_send: wrote %u cells from skb 0x%p to buffer 0x%p", num_written, skb, buf); - - if (!(buf->free_cells -= num_written)) { - list_add_tail (&buf->list, &instance->filled_send_buffers); - instance->current_buffer = NULL; - } - - vdbg ("udsl_process_send: buffer contains %d cells, %d left", snd_buf_size - buf->free_cells, buf->free_cells); - - if (!UDSL_SKB (skb)->num_cells) { - struct atm_vcc *vcc = UDSL_SKB (skb)->atm_data.vcc; - - udsl_pop (vcc, skb); - instance->current_skb = NULL; - - atomic_inc (&vcc->stats->tx); - } - - goto made_progress; -} - -static void udsl_cancel_send (struct udsl_instance_data *instance, struct atm_vcc *vcc) -{ - struct sk_buff *skb, *n; - - dbg ("udsl_cancel_send entered"); - spin_lock_irq (&instance->sndqueue.lock); - for (skb = instance->sndqueue.next, n = skb->next; skb != (struct sk_buff *)&instance->sndqueue; skb = n, n = skb->next) - if (UDSL_SKB (skb)->atm_data.vcc == vcc) { - dbg ("udsl_cancel_send: popping skb 0x%p", skb); - __skb_unlink (skb, &instance->sndqueue); - udsl_pop (vcc, skb); - } - spin_unlock_irq (&instance->sndqueue.lock); - - tasklet_disable (&instance->send_tasklet); - if ((skb = instance->current_skb) && (UDSL_SKB (skb)->atm_data.vcc == vcc)) { - dbg ("udsl_cancel_send: popping current skb (0x%p)", skb); - instance->current_skb = NULL; - udsl_pop (vcc, skb); - } - tasklet_enable (&instance->send_tasklet); - dbg ("udsl_cancel_send done"); -} - -static int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb) -{ - struct udsl_instance_data *instance = vcc->dev->dev_data; - int err; - - vdbg ("udsl_atm_send called (skb 0x%p, len %u)", skb, skb->len); - - if (!instance || !instance->usb_dev) { - dbg ("udsl_atm_send: NULL data!"); - err = -ENODEV; - goto fail; - } - - if (vcc->qos.aal != ATM_AAL5) { - dbg ("udsl_atm_send: unsupported ATM type %d!", vcc->qos.aal); - err = -EINVAL; - goto fail; - } - - if (skb->len > ATM_MAX_AAL5_PDU) { - dbg ("udsl_atm_send: packet too long (%d vs %d)!", skb->len, ATM_MAX_AAL5_PDU); - err = -EINVAL; - goto fail; - } - - PACKETDEBUG (skb->data, skb->len); - - udsl_groom_skb (vcc, skb); - skb_queue_tail (&instance->sndqueue, skb); - tasklet_schedule (&instance->send_tasklet); - - return 0; - -fail: - udsl_pop (vcc, skb); - return err; -} - - -/********** -** ATM ** -**********/ - -static void udsl_atm_dev_close (struct atm_dev *dev) -{ - struct udsl_instance_data *instance = dev->dev_data; - - if (!instance) { - dbg ("udsl_atm_dev_close: NULL instance!"); - return; - } - - dbg ("udsl_atm_dev_close: queue has %u elements", instance->sndqueue.qlen); - - tasklet_kill (&instance->receive_tasklet); - tasklet_kill (&instance->send_tasklet); - kfree (instance); - dev->dev_data = NULL; -} - -static int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t *pos, char *page) -{ - struct udsl_instance_data *instance = atm_dev->dev_data; - int left = *pos; - - if (!instance) { - dbg ("udsl_atm_proc_read: NULL instance!"); - return -ENODEV; - } - - if (!left--) - return sprintf (page, "%s\n", instance->description); - - if (!left--) - return sprintf (page, "MAC: %02x:%02x:%02x:%02x:%02x:%02x\n", - atm_dev->esi [0], atm_dev->esi [1], atm_dev->esi [2], - atm_dev->esi [3], atm_dev->esi [4], atm_dev->esi [5]); - - if (!left--) - return sprintf (page, "AAL5: tx %d ( %d err ), rx %d ( %d err, %d drop )\n", - atomic_read (&atm_dev->stats.aal5.tx), - atomic_read (&atm_dev->stats.aal5.tx_err), - atomic_read (&atm_dev->stats.aal5.rx), - atomic_read (&atm_dev->stats.aal5.rx_err), - atomic_read (&atm_dev->stats.aal5.rx_drop)); - - if (!left--) { - switch (atm_dev->signal) { - case ATM_PHY_SIG_FOUND: - sprintf (page, "Line up"); - break; - case ATM_PHY_SIG_LOST: - sprintf (page, "Line down"); - break; - default: - sprintf (page, "Line state unknown"); - break; - } - - if (instance->usb_dev) { - if (!instance->firmware_loaded) - strcat (page, ", no firmware\n"); - else - strcat (page, ", firmware loaded\n"); - } else - strcat (page, ", disconnected\n"); - - return strlen (page); - } - - return 0; -} - -static int udsl_atm_open (struct atm_vcc *vcc) -{ - struct udsl_instance_data *instance = vcc->dev->dev_data; - struct udsl_vcc_data *new; - unsigned int max_pdu; - int vci = vcc->vci; - short vpi = vcc->vpi; - - dbg ("udsl_atm_open: vpi %hd, vci %d", vpi, vci); - - if (!instance || !instance->usb_dev) { - dbg ("udsl_atm_open: NULL data!"); - return -ENODEV; - } - - /* only support AAL5 */ - if ((vcc->qos.aal != ATM_AAL5) || (vcc->qos.rxtp.max_sdu < 0) || (vcc->qos.rxtp.max_sdu > ATM_MAX_AAL5_PDU)) { - dbg ("udsl_atm_open: unsupported ATM type %d!", vcc->qos.aal); - return -EINVAL; - } - - if (!instance->firmware_loaded) { - dbg ("udsl_atm_open: firmware not loaded!"); - return -EAGAIN; - } - - down (&instance->serialize); /* vs self, udsl_atm_close */ - - if (udsl_find_vcc (instance, vpi, vci)) { - dbg ("udsl_atm_open: %hd/%d already in use!", vpi, vci); - up (&instance->serialize); - return -EADDRINUSE; - } - - if (!(new = kmalloc (sizeof (struct udsl_vcc_data), GFP_KERNEL))) { - dbg ("udsl_atm_open: no memory for vcc_data!"); - up (&instance->serialize); - return -ENOMEM; - } - - memset (new, 0, sizeof (struct udsl_vcc_data)); - new->vcc = vcc; - new->vpi = vpi; - new->vci = vci; - - /* udsl_extract_cells requires at least one cell */ - max_pdu = max (1, UDSL_NUM_CELLS (vcc->qos.rxtp.max_sdu)) * ATM_CELL_PAYLOAD; - if (!(new->sarb = alloc_skb (max_pdu, GFP_KERNEL))) { - dbg ("udsl_atm_open: no memory for SAR buffer!"); - kfree (new); - up (&instance->serialize); - return -ENOMEM; - } - - vcc->dev_data = new; - - tasklet_disable (&instance->receive_tasklet); - list_add (&new->list, &instance->vcc_list); - tasklet_enable (&instance->receive_tasklet); - - set_bit (ATM_VF_ADDR, &vcc->flags); - set_bit (ATM_VF_PARTIAL, &vcc->flags); - set_bit (ATM_VF_READY, &vcc->flags); - - up (&instance->serialize); - - tasklet_schedule (&instance->receive_tasklet); - - dbg ("udsl_atm_open: allocated vcc data 0x%p (max_pdu: %u)", new, max_pdu); - - return 0; -} - -static void udsl_atm_close (struct atm_vcc *vcc) -{ - struct udsl_instance_data *instance = vcc->dev->dev_data; - struct udsl_vcc_data *vcc_data = vcc->dev_data; - - dbg ("udsl_atm_close called"); - - if (!instance || !vcc_data) { - dbg ("udsl_atm_close: NULL data!"); - return; - } - - dbg ("udsl_atm_close: deallocating vcc 0x%p with vpi %d vci %d", vcc_data, vcc_data->vpi, vcc_data->vci); - - udsl_cancel_send (instance, vcc); - - down (&instance->serialize); /* vs self, udsl_atm_open */ - - tasklet_disable (&instance->receive_tasklet); - list_del (&vcc_data->list); - tasklet_enable (&instance->receive_tasklet); - - kfree_skb (vcc_data->sarb); - vcc_data->sarb = NULL; - - kfree (vcc_data); - vcc->dev_data = NULL; - - vcc->vpi = ATM_VPI_UNSPEC; - vcc->vci = ATM_VCI_UNSPEC; - clear_bit (ATM_VF_READY, &vcc->flags); - clear_bit (ATM_VF_PARTIAL, &vcc->flags); - clear_bit (ATM_VF_ADDR, &vcc->flags); - - up (&instance->serialize); - - dbg ("udsl_atm_close successful"); -} - -static int udsl_atm_ioctl (struct atm_dev *dev, unsigned int cmd, void __user *arg) -{ - switch (cmd) { - case ATM_QUERYLOOP: - return put_user (ATM_LM_NONE, (int __user *)arg) ? -EFAULT : 0; - default: - return -ENOIOCTLCMD; - } -} - - -/********** -** USB ** -**********/ - -static int udsl_set_alternate (struct udsl_instance_data *instance) -{ - down (&instance->serialize); /* vs self */ - if (!instance->firmware_loaded) { - int ret; - - if ((ret = usb_set_interface (instance->usb_dev, 1, 1)) < 0) { - dbg ("udsl_set_alternate: usb_set_interface returned %d!", ret); - up (&instance->serialize); - return ret; - } - instance->firmware_loaded = 1; - } - up (&instance->serialize); - - tasklet_schedule (&instance->receive_tasklet); - - return 0; -} - -static int udsl_usb_ioctl (struct usb_interface *intf, unsigned int code, void *user_data) -{ - struct udsl_instance_data *instance = usb_get_intfdata (intf); - - dbg ("udsl_usb_ioctl entered"); - - if (!instance) { - dbg ("udsl_usb_ioctl: NULL instance!"); - return -ENODEV; - } - - switch (code) { - case UDSL_IOCTL_LINE_UP: - instance->atm_dev->signal = ATM_PHY_SIG_FOUND; - return udsl_set_alternate (instance); - case UDSL_IOCTL_LINE_DOWN: - instance->atm_dev->signal = ATM_PHY_SIG_LOST; - return 0; - default: - return -ENOTTY; - } -} - -static int udsl_usb_probe (struct usb_interface *intf, const struct usb_device_id *id) -{ - struct usb_device *dev = interface_to_usbdev(intf); - int ifnum = intf->altsetting->desc.bInterfaceNumber; - struct udsl_instance_data *instance; - unsigned char mac_str [13]; - int i, length; - char *buf; - - dbg ("udsl_usb_probe: trying device with vendor=0x%x, product=0x%x, ifnum %d", - dev->descriptor.idVendor, dev->descriptor.idProduct, ifnum); - - if ((dev->descriptor.bDeviceClass != USB_CLASS_VENDOR_SPEC) || - (dev->descriptor.idVendor != SPEEDTOUCH_VENDORID) || - (dev->descriptor.idProduct != SPEEDTOUCH_PRODUCTID) || (ifnum != 1)) - return -ENODEV; - - dbg ("udsl_usb_probe: device accepted"); - - /* instance init */ - if (!(instance = kmalloc (sizeof (struct udsl_instance_data), GFP_KERNEL))) { - dbg ("udsl_usb_probe: no memory for instance data!"); - return -ENOMEM; - } - - memset (instance, 0, sizeof (struct udsl_instance_data)); - - init_MUTEX (&instance->serialize); - - instance->usb_dev = dev; - - INIT_LIST_HEAD (&instance->vcc_list); - - spin_lock_init (&instance->receive_lock); - INIT_LIST_HEAD (&instance->spare_receivers); - INIT_LIST_HEAD (&instance->filled_receive_buffers); - - tasklet_init (&instance->receive_tasklet, udsl_process_receive, (unsigned long) instance); - INIT_LIST_HEAD (&instance->spare_receive_buffers); - - skb_queue_head_init (&instance->sndqueue); - - spin_lock_init (&instance->send_lock); - INIT_LIST_HEAD (&instance->spare_senders); - INIT_LIST_HEAD (&instance->spare_send_buffers); - - tasklet_init (&instance->send_tasklet, udsl_process_send, (unsigned long) instance); - INIT_LIST_HEAD (&instance->filled_send_buffers); - - /* receive init */ - for (i = 0; i < num_rcv_urbs; i++) { - struct udsl_receiver *rcv = &(instance->receivers [i]); - - if (!(rcv->urb = usb_alloc_urb (0, GFP_KERNEL))) { - dbg ("udsl_usb_probe: no memory for receive urb %d!", i); - goto fail; - } - - rcv->instance = instance; - - list_add (&rcv->list, &instance->spare_receivers); - } - - for (i = 0; i < num_rcv_bufs; i++) { - struct udsl_receive_buffer *buf = &(instance->receive_buffers [i]); - - if (!(buf->base = kmalloc (rcv_buf_size * ATM_CELL_SIZE, GFP_KERNEL))) { - dbg ("udsl_usb_probe: no memory for receive buffer %d!", i); - goto fail; - } - - list_add (&buf->list, &instance->spare_receive_buffers); - } - - /* send init */ - for (i = 0; i < num_snd_urbs; i++) { - struct udsl_sender *snd = &(instance->senders [i]); - - if (!(snd->urb = usb_alloc_urb (0, GFP_KERNEL))) { - dbg ("udsl_usb_probe: no memory for send urb %d!", i); - goto fail; - } - - snd->instance = instance; - - list_add (&snd->list, &instance->spare_senders); - } - - for (i = 0; i < num_snd_bufs; i++) { - struct udsl_send_buffer *buf = &(instance->send_buffers [i]); - - if (!(buf->base = kmalloc (snd_buf_size * ATM_CELL_SIZE, GFP_KERNEL))) { - dbg ("udsl_usb_probe: no memory for send buffer %d!", i); - goto fail; - } - - list_add (&buf->list, &instance->spare_send_buffers); - } - - /* ATM init */ - if (!(instance->atm_dev = atm_dev_register (udsl_driver_name, &udsl_atm_devops, -1, NULL))) { - dbg ("udsl_usb_probe: failed to register ATM device!"); - goto fail; - } - - instance->atm_dev->ci_range.vpi_bits = ATM_CI_MAX; - instance->atm_dev->ci_range.vci_bits = ATM_CI_MAX; - instance->atm_dev->signal = ATM_PHY_SIG_UNKNOWN; - - /* temp init ATM device, set to 128kbit */ - instance->atm_dev->link_rate = 128 * 1000 / 424; - - /* set MAC address, it is stored in the serial number */ - memset (instance->atm_dev->esi, 0, sizeof (instance->atm_dev->esi)); - if (usb_string (dev, dev->descriptor.iSerialNumber, mac_str, sizeof (mac_str)) == 12) - for (i = 0; i < 6; i++) - instance->atm_dev->esi [i] = (hex2int (mac_str [i * 2]) * 16) + (hex2int (mac_str [i * 2 + 1])); - - /* device description */ - buf = instance->description; - length = sizeof (instance->description); - - if ((i = usb_string (dev, dev->descriptor.iProduct, buf, length)) < 0) - goto finish; - - buf += i; - length -= i; - - i = scnprintf (buf, length, " ("); - buf += i; - length -= i; - - if (length <= 0 || (i = usb_make_path (dev, buf, length)) < 0) - goto finish; - - buf += i; - length -= i; - - snprintf (buf, length, ")"); - -finish: - /* ready for ATM callbacks */ - wmb (); - instance->atm_dev->dev_data = instance; - - usb_set_intfdata (intf, instance); - - return 0; - -fail: - for (i = 0; i < num_snd_bufs; i++) - kfree (instance->send_buffers [i].base); - - for (i = 0; i < num_snd_urbs; i++) - usb_free_urb (instance->senders [i].urb); - - for (i = 0; i < num_rcv_bufs; i++) - kfree (instance->receive_buffers [i].base); - - for (i = 0; i < num_rcv_urbs; i++) - usb_free_urb (instance->receivers [i].urb); - - kfree (instance); - - return -ENOMEM; -} - -static void udsl_usb_disconnect (struct usb_interface *intf) -{ - struct udsl_instance_data *instance = usb_get_intfdata (intf); - struct list_head *pos; - unsigned int count; - int result, i; - - dbg ("udsl_usb_disconnect entered"); - - usb_set_intfdata (intf, NULL); - - if (!instance) { - dbg ("udsl_usb_disconnect: NULL instance!"); - return; - } - - /* receive finalize */ - tasklet_disable (&instance->receive_tasklet); - - for (i = 0; i < num_rcv_urbs; i++) - if ((result = usb_unlink_urb (instance->receivers [i].urb)) < 0) - dbg ("udsl_usb_disconnect: usb_unlink_urb on receive urb %d returned %d!", i, result); - - /* wait for completion handlers to finish */ - do { - count = 0; - spin_lock_irq (&instance->receive_lock); - list_for_each (pos, &instance->spare_receivers) - DEBUG_ON (++count > num_rcv_urbs); - spin_unlock_irq (&instance->receive_lock); - - dbg ("udsl_usb_disconnect: found %u spare receivers", count); - - if (count == num_rcv_urbs) - break; - - set_current_state (TASK_RUNNING); - schedule (); - } while (1); - - /* no need to take the spinlock */ - INIT_LIST_HEAD (&instance->filled_receive_buffers); - INIT_LIST_HEAD (&instance->spare_receive_buffers); - - tasklet_enable (&instance->receive_tasklet); - - for (i = 0; i < num_rcv_urbs; i++) - usb_free_urb (instance->receivers [i].urb); - - for (i = 0; i < num_rcv_bufs; i++) - kfree (instance->receive_buffers [i].base); - - /* send finalize */ - tasklet_disable (&instance->send_tasklet); - - for (i = 0; i < num_snd_urbs; i++) - if ((result = usb_unlink_urb (instance->senders [i].urb)) < 0) - dbg ("udsl_usb_disconnect: usb_unlink_urb on send urb %d returned %d!", i, result); - - /* wait for completion handlers to finish */ - do { - count = 0; - spin_lock_irq (&instance->send_lock); - list_for_each (pos, &instance->spare_senders) - DEBUG_ON (++count > num_snd_urbs); - spin_unlock_irq (&instance->send_lock); - - dbg ("udsl_usb_disconnect: found %u spare senders", count); - - if (count == num_snd_urbs) - break; - - set_current_state (TASK_RUNNING); - schedule (); - } while (1); - - /* no need to take the spinlock */ - INIT_LIST_HEAD (&instance->spare_senders); - INIT_LIST_HEAD (&instance->spare_send_buffers); - instance->current_buffer = NULL; - - tasklet_enable (&instance->send_tasklet); - - for (i = 0; i < num_snd_urbs; i++) - usb_free_urb (instance->senders [i].urb); - - for (i = 0; i < num_snd_bufs; i++) - kfree (instance->send_buffers [i].base); - - wmb (); - instance->usb_dev = NULL; - - /* ATM finalize */ - shutdown_atm_dev (instance->atm_dev); /* frees instance, kills tasklets */ -} - - -/*********** -** init ** -***********/ - -static int __init udsl_usb_init (void) -{ - dbg ("udsl_usb_init: driver version " DRIVER_VERSION); - - if (sizeof (struct udsl_control) > sizeof (((struct sk_buff *)0)->cb)) { - printk (KERN_ERR __FILE__ ": unusable with this kernel!\n"); - return -EIO; - } - - if ((num_rcv_urbs > UDSL_MAX_RCV_URBS) || (num_snd_urbs > UDSL_MAX_SND_URBS) || - (num_rcv_bufs > UDSL_MAX_RCV_BUFS) || (num_snd_bufs > UDSL_MAX_SND_BUFS) || - (rcv_buf_size > UDSL_MAX_RCV_BUF_SIZE) || (snd_buf_size > UDSL_MAX_SND_BUF_SIZE)) - return -EINVAL; - - return usb_register (&udsl_usb_driver); -} - -static void __exit udsl_usb_cleanup (void) -{ - dbg ("udsl_usb_cleanup entered"); - - usb_deregister (&udsl_usb_driver); -} - -module_init (udsl_usb_init); -module_exit (udsl_usb_cleanup); - -MODULE_AUTHOR (DRIVER_AUTHOR); -MODULE_DESCRIPTION (DRIVER_DESC); -MODULE_LICENSE ("GPL"); -MODULE_VERSION (DRIVER_VERSION); - - -/************ -** debug ** -************/ - -#ifdef VERBOSE_DEBUG -static int udsl_print_packet (const unsigned char *data, int len) -{ - unsigned char buffer [256]; - int i = 0, j = 0; - - for (i = 0; i < len;) { - buffer [0] = '\0'; - sprintf (buffer, "%.3d :", i); - for (j = 0; (j < 16) && (i < len); j++, i++) { - sprintf (buffer, "%s %2.2x", buffer, data [i]); - } - dbg ("%s", buffer); - } - return i; -} -#endif diff --git a/drivers/usb/misc/tiglusb.c b/drivers/usb/misc/tiglusb.c index cdf5919f8..0f9c57537 100644 --- a/drivers/usb/misc/tiglusb.c +++ b/drivers/usb/misc/tiglusb.c @@ -560,7 +560,7 @@ MODULE_AUTHOR (DRIVER_AUTHOR); MODULE_DESCRIPTION (DRIVER_DESC); MODULE_LICENSE (DRIVER_LICENSE); -MODULE_PARM (timeout, "i"); +module_param(timeout, int, 0); MODULE_PARM_DESC (timeout, "Timeout in tenths of seconds (default=1.5 seconds)"); /* --------------------------------------------------------------------- */ diff --git a/drivers/usb/misc/usbtest.c b/drivers/usb/misc/usbtest.c index 8ee1b05ea..d630edfac 100644 --- a/drivers/usb/misc/usbtest.c +++ b/drivers/usb/misc/usbtest.c @@ -1054,8 +1054,7 @@ static int unlink1 (struct usbtest_dev *dev, int pipe, int size, int async) urb = simple_alloc_urb (testdev_to_usbdev (dev), pipe, size); if (!urb) return -ENOMEM; - if (async) - urb->transfer_flags |= URB_ASYNC_UNLINK; + urb->transfer_flags |= URB_ASYNC_UNLINK; urb->context = &completion; urb->complete = unlink1_callback; @@ -1074,17 +1073,20 @@ static int unlink1 (struct usbtest_dev *dev, int pipe, int size, int async) * hcd states and code paths, even with little other system load. */ msleep (jiffies % (2 * INTERRUPT_RATE)); + if (async) { retry: - retval = usb_unlink_urb (urb); - if (retval == -EBUSY || retval == -EIDRM) { - /* we can't unlink urbs while they're completing. - * or if they've completed, and we haven't resubmitted. - * "normal" drivers would prevent resubmission, but - * since we're testing unlink paths, we can't. - */ - dev_dbg (&dev->intf->dev, "unlink retry\n"); - goto retry; - } + retval = usb_unlink_urb (urb); + if (retval == -EBUSY || retval == -EIDRM) { + /* we can't unlink urbs while they're completing. + * or if they've completed, and we haven't resubmitted. + * "normal" drivers would prevent resubmission, but + * since we're testing unlink paths, we can't. + */ + dev_dbg (&dev->intf->dev, "unlink retry\n"); + goto retry; + } + } else + usb_kill_urb (urb); if (!(retval == 0 || retval == -EINPROGRESS)) { dev_dbg (&dev->intf->dev, "unlink fail %d\n", retval); return retval; @@ -1095,9 +1097,10 @@ retry: simple_free_urb (urb); if (async) - return (retval != -ECONNRESET) ? -ECONNRESET : 0; + return (retval == -ECONNRESET) ? 0 : retval - 1000; else - return (retval != -ENOENT) ? -ENOENT : 0; + return (retval == -ENOENT || retval == -EPERM) ? + 0 : retval - 2000; } static int unlink_simple (struct usbtest_dev *dev, int pipe, int len) @@ -1352,7 +1355,7 @@ static void iso_callback (struct urb *urb, struct pt_regs *regs) "iso test, %lu errors\n", ctx->errors); complete (&ctx->done); - } else + } done: spin_unlock(&ctx->lock); } @@ -1454,8 +1457,10 @@ test_iso_queue (struct usbtest_dev *dev, struct usbtest_param *param, status = usb_submit_urb (urbs [i], SLAB_ATOMIC); if (status < 0) { ERROR (dev, "submit iso[%d], error %d\n", i, status); - if (i == 0) + if (i == 0) { + spin_unlock_irq (&context.lock); goto fail; + } simple_free_urb (urbs [i]); context.pending--; diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c index 6eb637a80..40e921ade 100644 --- a/drivers/usb/net/kaweth.c +++ b/drivers/usb/net/kaweth.c @@ -203,7 +203,7 @@ struct kaweth_ethernet_configuration __u8 reserved2; eth_addr_t hw_addr; __u32 statistics_mask; - __u16 segment_size; + __le16 segment_size; __u16 max_multicast_filters; __u8 reserved3; } __attribute__ ((packed)); @@ -588,7 +588,7 @@ static void kaweth_usb_receive(struct urb *urb, struct pt_regs *regs) int count = urb->actual_length; int count2 = urb->transfer_buffer_length; - __u16 pkt_len = le16_to_cpup((u16 *)kaweth->rx_buf); + __u16 pkt_len = le16_to_cpup((__le16 *)kaweth->rx_buf); struct sk_buff *skb; @@ -668,7 +668,7 @@ static int kaweth_open(struct net_device *net) INTBUFFERSIZE, int_callback, kaweth, - HZ/4); + 8); kaweth->irq_urb->transfer_dma = kaweth->intbufferhandle; kaweth->irq_urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; @@ -763,7 +763,7 @@ static void kaweth_usb_transmit_complete(struct urb *urb, struct pt_regs *regs) static int kaweth_start_xmit(struct sk_buff *skb, struct net_device *net) { struct kaweth_device *kaweth = net->priv; - u16 *private_header; + __le16 *private_header; int res; @@ -794,7 +794,7 @@ static int kaweth_start_xmit(struct sk_buff *skb, struct net_device *net) } } - private_header = (u16 *)__skb_push(skb, 2); + private_header = (__le16 *)__skb_push(skb, 2); *private_header = cpu_to_le16(skb->len-2); kaweth->tx_skb = skb; diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c index f4f1071a3..c515916e3 100644 --- a/drivers/usb/net/pegasus.c +++ b/drivers/usb/net/pegasus.c @@ -78,8 +78,8 @@ static struct usb_device_id pegasus_ids[] = { MODULE_AUTHOR(DRIVER_AUTHOR); MODULE_DESCRIPTION(DRIVER_DESC); MODULE_LICENSE("GPL"); -MODULE_PARM(loopback, "i"); -MODULE_PARM(mii_mode, "i"); +module_param(loopback, bool, 0); +module_param(mii_mode, bool, 0); MODULE_PARM_DESC(loopback, "Enable MAC loopback mode (bit 0)"); MODULE_PARM_DESC(mii_mode, "Enable HomePNA mode (bit 0),default=MII mode = 0"); @@ -286,7 +286,7 @@ static int read_mii_word(pegasus_t * pegasus, __u8 phy, __u8 indx, __u16 * regd) { int i; __u8 data[4] = { phy, 0, 0, indx }; - __u16 regdi; + __le16 regdi; set_register(pegasus, PhyCtrl, 0); set_registers(pegasus, PhyAddr, sizeof (data), data); @@ -347,7 +347,7 @@ static int read_eprom_word(pegasus_t * pegasus, __u8 index, __u16 * retdata) { int i; __u8 tmp; - __u16 retdatai; + __le16 retdatai; set_register(pegasus, EpromCtrl, 0); set_register(pegasus, EpromOffset, index); @@ -417,7 +417,7 @@ static inline void get_node_id(pegasus_t * pegasus, __u8 * id) for (i = 0; i < 3; i++) { read_eprom_word(pegasus, i, &w16); - ((__u16 *) id)[i] = cpu_to_le16p(&w16); + ((__le16 *) id)[i] = cpu_to_le16p(&w16); } } @@ -581,7 +581,7 @@ static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) if (!count) goto goon; - rx_status = le32_to_cpu(*(int *) (urb->transfer_buffer + count - 4)); + rx_status = le32_to_cpu(*(__le32 *) (urb->transfer_buffer + count - 4)); if (rx_status & 0x000e0000) { dbg("%s: RX packet error %x", net->name, rx_status & 0xe0000); pegasus->stats.rx_errors++; @@ -594,7 +594,7 @@ static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) goto goon; } if (pegasus->chip == 0x8513) { - pkt_len = le32_to_cpu(*(int *)urb->transfer_buffer); + pkt_len = le32_to_cpu(*(__le32 *)urb->transfer_buffer); pkt_len &= 0x0fff; pegasus->rx_skb->data += 2; } else { @@ -774,7 +774,7 @@ static int pegasus_start_xmit(struct sk_buff *skb, struct net_device *net) netif_stop_queue(net); - ((__u16 *) pegasus->tx_buff)[0] = cpu_to_le16(l16); + ((__le16 *) pegasus->tx_buff)[0] = cpu_to_le16(l16); memcpy(pegasus->tx_buff + 2, skb->data, skb->len); usb_fill_bulk_urb(pegasus->tx_urb, pegasus->usb, usb_sndbulkpipe(pegasus->usb, 2), diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index d9d09e984..640aa5b68 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c @@ -160,7 +160,7 @@ struct rtl8150 { spinlock_t rx_pool_lock; struct usb_ctrlrequest dr; int intr_interval; - u16 rx_creg; + __le16 rx_creg; u8 *intr_buff; u8 phy; }; @@ -265,7 +265,7 @@ static int read_mii_word(rtl8150_t * dev, u8 phy, __u8 indx, u16 * reg) if (i < MII_TIMEOUT) { get_registers(dev, PHYDAT, 2, data); - *reg = le16_to_cpup(data); + *reg = data[0] | (data[1] << 8); return 0; } else return 1; @@ -450,7 +450,7 @@ static void read_bulk_callback(struct urb *urb, struct pt_regs *regs) goto goon; res = urb->actual_length; - rx_stat = le16_to_cpu(*(short *)(urb->transfer_buffer + res - 4)); + rx_stat = le16_to_cpu(*(__le16 *)(urb->transfer_buffer + res - 4)); pkt_len = res - 4; skb_put(dev->rx_skb, pkt_len); diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c index 2d68cb01e..cca6e72cf 100644 --- a/drivers/usb/net/usbnet.c +++ b/drivers/usb/net/usbnet.c @@ -166,7 +166,7 @@ #define CONTROL_TIMEOUT_JIFFIES ((CONTROL_TIMEOUT_MS * HZ)/1000) // between wakeups -#define UNLINK_TIMEOUT_JIFFIES ((3 /*ms*/ * HZ)/1000) +#define UNLINK_TIMEOUT_MS 3 /*-------------------------------------------------------------------------*/ @@ -268,7 +268,7 @@ static const char driver_name [] = "usbnet"; /* use ethtool to change the level for any given device */ static int msg_level = 1; -MODULE_PARM (msg_level, "i"); +module_param (msg_level, int, 0); MODULE_PARM_DESC (msg_level, "Initial message level (default = 1)"); @@ -937,8 +937,8 @@ struct ether_desc { u8 iMACAddress; u32 bmEthernetStatistics; - u16 wMaxSegmentSize; - u16 wNumberMCFilters; + __le16 wMaxSegmentSize; + __le16 wNumberMCFilters; u8 bNumberPowerFilters; } __attribute__ ((packed)); @@ -1074,7 +1074,7 @@ static int generic_cdc_bind (struct usbnet *dev, struct usb_interface *intf) info->u->bLength); goto bad_desc; } - dev->net->mtu = cpu_to_le16p ( + dev->net->mtu = le16_to_cpup ( &info->ether->wMaxSegmentSize) - ETH_HLEN; /* because of Zaurus, we may be ignoring the host @@ -2591,8 +2591,7 @@ static int usbnet_stop (struct net_device *net) while (skb_queue_len (&dev->rxq) && skb_queue_len (&dev->txq) && skb_queue_len (&dev->done)) { - set_current_state (TASK_UNINTERRUPTIBLE); - schedule_timeout (UNLINK_TIMEOUT_JIFFIES); + msleep(UNLINK_TIMEOUT_MS); devdbg (dev, "waited for %d urb completions", temp); } dev->wait = NULL; diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c index 3ee5f493a..33613b008 100644 --- a/drivers/usb/serial/cyberjack.c +++ b/drivers/usb/serial/cyberjack.c @@ -44,7 +44,7 @@ static int debug; /* * Version Information */ -#define DRIVER_VERSION "v1.0" +#define DRIVER_VERSION "v1.01" #define DRIVER_AUTHOR "Matthias Bruestle" #define DRIVER_DESC "REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver" @@ -111,6 +111,7 @@ struct cyberjack_private { static int cyberjack_startup (struct usb_serial *serial) { struct cyberjack_private *priv; + int i; dbg("%s", __FUNCTION__); @@ -128,6 +129,16 @@ static int cyberjack_startup (struct usb_serial *serial) init_waitqueue_head(&serial->port[0]->write_wait); + for (i = 0; i < serial->num_ports; ++i) { + int result; + serial->port[i]->interrupt_in_urb->dev = serial->dev; + result = usb_submit_urb(serial->port[i]->interrupt_in_urb, + GFP_KERNEL); + if (result) + err(" usb_submit_urb(read int) failed"); + dbg("%s - usb_submit_urb(int urb)", __FUNCTION__); + } + return( 0 ); } @@ -138,6 +149,7 @@ static void cyberjack_shutdown (struct usb_serial *serial) dbg("%s", __FUNCTION__); for (i=0; i < serial->num_ports; ++i) { + usb_unlink_urb (serial->port[i]->interrupt_in_urb); /* My special items, the standard routines free my urbs */ kfree(usb_get_serial_port_data(serial->port[i])); usb_set_serial_port_data(serial->port[i], NULL); @@ -168,17 +180,6 @@ static int cyberjack_open (struct usb_serial_port *port, struct file *filp) priv->wrsent = 0; spin_unlock_irqrestore(&priv->lock, flags); - /* shutdown any bulk reads that might be going on */ - usb_unlink_urb (port->write_urb); - usb_unlink_urb (port->read_urb); - usb_unlink_urb (port->interrupt_in_urb); - - port->interrupt_in_urb->dev = port->serial->dev; - result = usb_submit_urb(port->interrupt_in_urb, GFP_KERNEL); - if (result) - err(" usb_submit_urb(read int) failed"); - dbg("%s - usb_submit_urb(int urb)", __FUNCTION__); - return result; } @@ -190,11 +191,6 @@ static void cyberjack_close (struct usb_serial_port *port, struct file *filp) /* shutdown any bulk reads that might be going on */ usb_unlink_urb (port->write_urb); usb_unlink_urb (port->read_urb); - usb_unlink_urb (port->interrupt_in_urb); - dbg("%s - usb_clear_halt", __FUNCTION__ ); - usb_clear_halt(port->serial->dev, port->write_urb->pipe); - usb_clear_halt(port->serial->dev, port->read_urb->pipe); - usb_clear_halt(port->serial->dev, port->interrupt_in_urb->pipe); } } @@ -376,6 +372,10 @@ static void cyberjack_read_bulk_callback (struct urb *urb, struct pt_regs *regs) } tty = port->tty; + if (!tty) { + dbg("%s - ignoring since device not open\n", __FUNCTION__); + return; + } if (urb->actual_length) { for (i = 0; i < urb->actual_length ; ++i) { /* if we insert more than TTY_FLIPBUF_SIZE characters, we drop them. */ diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c index f187b3165..3ac69f2c2 100644 --- a/drivers/usb/serial/digi_acceleport.c +++ b/drivers/usb/serial/digi_acceleport.c @@ -624,14 +624,7 @@ static void digi_wakeup_write( struct usb_serial_port *port ) wake_up_interruptible( &port->write_wait ); /* wake up line discipline */ - if( (tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) - && tty->ldisc.write_wakeup ) - (tty->ldisc.write_wakeup)(tty); - - /* wake up other tty processes */ - wake_up_interruptible( &tty->write_wait ); - /* For 2.2.16 backport -- wake_up_interruptible( &tty->poll_wait ); */ - + tty_wakeup(tty); } @@ -1553,13 +1546,17 @@ static void digi_close( struct usb_serial_port *port, struct file *filp ) dbg( "digi_close: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_count ); + /* if disconnected, just clear flags */ + if (!usb_get_intfdata(port->serial->interface)) + goto exit; + /* do cleanup only after final close on this port */ spin_lock_irqsave( &priv->dp_port_lock, flags ); priv->dp_in_close = 1; spin_unlock_irqrestore( &priv->dp_port_lock, flags ); /* tell line discipline to process only XON/XOFF */ - tty->closing = 1; + tty->closing = 1; /* wait for output to drain */ if( (filp->f_flags&(O_NDELAY|O_NONBLOCK)) == 0 ) { @@ -1569,8 +1566,7 @@ dbg( "digi_close: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_co /* flush driver and line discipline buffers */ if( tty->driver->flush_buffer ) tty->driver->flush_buffer( tty ); - if( tty->ldisc.flush_buffer ) - tty->ldisc.flush_buffer( tty ); + tty_ldisc_flush(tty); if (port->serial->dev) { /* wait for transmit idle */ @@ -1624,6 +1620,7 @@ dbg( "digi_close: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_co tty->closing = 0; +exit: spin_lock_irqsave( &priv->dp_port_lock, flags ); priv->dp_write_urb_in_use = 0; priv->dp_in_close = 0; diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c index 972f3b91d..251a50fda 100644 --- a/drivers/usb/serial/empeg.c +++ b/drivers/usb/serial/empeg.c @@ -516,11 +516,7 @@ static void empeg_set_termios (struct usb_serial_port *port, struct termios *old */ port->tty->low_latency = 1; - /* Notify the tty driver that the termios have changed. */ - port->tty->ldisc.set_termios(port->tty, NULL); - return; - } diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index b35ab607a..9073ea84d 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -17,6 +17,11 @@ * See http://ftdi-usb-sio.sourceforge.net for upto date testing info * and extra documentation * + * (21/Jul/2004) Ian Abbott + * Incorporated Steven Turner's code to add support for the FT2232C chip. + * The prelimilary port to the 2.6 kernel was by Rus V. Brushkoff. I have + * fixed a couple of things. + * * (27/May/2004) Ian Abbott * Improved throttling code, mostly stolen from the WhiteHEAT driver. * @@ -259,7 +264,7 @@ /* * Version Information */ -#define DRIVER_VERSION "v1.4.0" +#define DRIVER_VERSION "v1.4.1" #define DRIVER_AUTHOR "Greg Kroah-Hartman , Bill Ryder , Kuba Ober " #define DRIVER_DESC "USB FTDI Serial Converters Driver" @@ -489,11 +494,18 @@ static struct usb_device_id id_table_HE_TIRA1 [] = { }; +static struct usb_device_id id_table_FT2232C[] = { + { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) }, + { } /* Terminating entry */ +}; + + static struct usb_device_id id_table_combined [] = { { USB_DEVICE(FTDI_VID, FTDI_IRTRANS_PID) }, { USB_DEVICE(FTDI_VID, FTDI_SIO_PID) }, { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) }, + { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) }, { USB_DEVICE(FTDI_VID, FTDI_RELAIS_PID) }, { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, @@ -621,6 +633,8 @@ struct ftdi_private { __u8 rx_flags; /* receive state flags (throttling) */ spinlock_t rx_lock; /* spinlock for receive state */ + __u16 interface; /* FT2232C port interface (0 for FT232/245) */ + int force_baud; /* if non-zero, force the baud rate to this value */ int force_rtscts; /* if non-zero, force RTS-CTS to always be enabled */ }; @@ -637,6 +651,7 @@ struct ftdi_private { static int ftdi_SIO_startup (struct usb_serial *serial); static int ftdi_8U232AM_startup (struct usb_serial *serial); static int ftdi_FT232BM_startup (struct usb_serial *serial); +static int ftdi_FT2232C_startup (struct usb_serial *serial); static int ftdi_USB_UIRT_startup (struct usb_serial *serial); static int ftdi_HE_TIRA1_startup (struct usb_serial *serial); static void ftdi_shutdown (struct usb_serial *serial); @@ -739,6 +754,32 @@ static struct usb_serial_device_type ftdi_FT232BM_device = { .shutdown = ftdi_shutdown, }; +static struct usb_serial_device_type ftdi_FT2232C_device = { + .owner = THIS_MODULE, + .name = "FTDI FT2232C Compatible", + .id_table = id_table_FT2232C, + .num_interrupt_in = 0, + .num_bulk_in = 1, + .num_bulk_out = 1, + .num_ports = 1, + .open = ftdi_open, + .close = ftdi_close, + .throttle = ftdi_throttle, + .unthrottle = ftdi_unthrottle, + .write = ftdi_write, + .write_room = ftdi_write_room, + .chars_in_buffer = ftdi_chars_in_buffer, + .read_bulk_callback = ftdi_read_bulk_callback, + .write_bulk_callback = ftdi_write_bulk_callback, + .tiocmget = ftdi_tiocmget, + .tiocmset = ftdi_tiocmset, + .ioctl = ftdi_ioctl, + .set_termios = ftdi_set_termios, + .break_ctl = ftdi_break_ctl, + .attach = ftdi_FT2232C_startup, + .shutdown = ftdi_shutdown, +}; + static struct usb_serial_device_type ftdi_USB_UIRT_device = { .owner = THIS_MODULE, .name = "USB-UIRT Infrared Tranceiver", @@ -866,7 +907,7 @@ static int set_rts(struct usb_serial_port *port, int high_or_low) usb_sndctrlpipe(port->serial->dev, 0), FTDI_SIO_SET_MODEM_CTRL_REQUEST, FTDI_SIO_SET_MODEM_CTRL_REQUEST_TYPE, - ftdi_high_or_low, 0, + ftdi_high_or_low, priv->interface, buf, 0, WDR_TIMEOUT); kfree(buf); @@ -896,7 +937,7 @@ static int set_dtr(struct usb_serial_port *port, int high_or_low) usb_sndctrlpipe(port->serial->dev, 0), FTDI_SIO_SET_MODEM_CTRL_REQUEST, FTDI_SIO_SET_MODEM_CTRL_REQUEST_TYPE, - ftdi_high_or_low, 0, + ftdi_high_or_low, priv->interface, buf, 0, WDR_TIMEOUT); kfree(buf); @@ -909,6 +950,7 @@ static __u32 get_ftdi_divisor(struct usb_serial_port * port); static int change_speed(struct usb_serial_port *port) { + struct ftdi_private *priv = usb_get_serial_port_data(port); char *buf; __u16 urb_value; __u16 urb_index; @@ -922,6 +964,9 @@ static int change_speed(struct usb_serial_port *port) urb_index_value = get_ftdi_divisor(port); urb_value = (__u16)urb_index_value; urb_index = (__u16)(urb_index_value >> 16); + if (priv->interface) { /* FT2232C */ + urb_index = (__u16)((urb_index << 8) | priv->interface); + } rv = usb_control_msg(port->serial->dev, usb_sndctrlpipe(port->serial->dev, 0), @@ -1015,7 +1060,12 @@ static __u32 get_ftdi_divisor(struct usb_serial_port * port) } break; case FT232BM: /* FT232BM chip */ - chip_name = "FT232BM"; + case FT2232C: /* FT2232C chip */ + if (priv->chip_type == FT2232C) { + chip_name = "FT2232C"; + } else { + chip_name = "FT232BM"; + } if (baud <= 3000000) { div_value = ftdi_232bm_baud_to_divisor(baud); } else { @@ -1231,6 +1281,35 @@ static int ftdi_FT232BM_startup (struct usb_serial *serial) return (0); } /* ftdi_FT232BM_startup */ +/* Startup for the FT2232C chip */ +/* Called from usbserial:serial_probe */ +static int ftdi_FT2232C_startup (struct usb_serial *serial) +{ /* ftdi_FT2232C_startup */ + struct ftdi_private *priv; + int err; + int inter; + + dbg("%s",__FUNCTION__); + err = ftdi_common_startup(serial); + if (err){ + return (err); + } + + priv = usb_get_serial_port_data(serial->port[0]); + priv->chip_type = FT2232C; + inter = serial->interface->altsetting->desc.bInterfaceNumber; + + if (inter) { + priv->interface = INTERFACE_B; + } + else { + priv->interface = INTERFACE_A; + } + priv->baud_base = 48000000 / 2; /* Would be / 16, but FT2232C supports multiple of 0.125 divisor fractions! */ + + return (0); +} /* ftdi_FT2232C_startup */ + /* Startup for the USB-UIRT device, which requires hardwired baudrate (38400 gets mapped to 312500) */ /* Called from usbserial:serial_probe */ static int ftdi_USB_UIRT_startup (struct usb_serial *serial) @@ -1323,7 +1402,7 @@ static int ftdi_open (struct usb_serial_port *port, struct file *filp) usb_control_msg(dev, usb_sndctrlpipe(dev, 0), FTDI_SIO_RESET_REQUEST, FTDI_SIO_RESET_REQUEST_TYPE, FTDI_SIO_RESET_SIO, - 0, buf, 0, WDR_TIMEOUT); + priv->interface, buf, 0, WDR_TIMEOUT); /* Termios defaults are set by usb_serial_init. We don't change port->tty->termios - this would loose speed settings, etc. @@ -1373,6 +1452,7 @@ static int ftdi_open (struct usb_serial_port *port, struct file *filp) static void ftdi_close (struct usb_serial_port *port, struct file *filp) { /* ftdi_close */ unsigned int c_cflag = port->tty->termios->c_cflag; + struct ftdi_private *priv = usb_get_serial_port_data(port); char buf[1]; dbg("%s", __FUNCTION__); @@ -1383,7 +1463,8 @@ static void ftdi_close (struct usb_serial_port *port, struct file *filp) usb_sndctrlpipe(port->serial->dev, 0), FTDI_SIO_SET_FLOW_CTRL_REQUEST, FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE, - 0, 0, buf, 0, WDR_TIMEOUT) < 0) { + 0, priv->interface, buf, 0, + WDR_TIMEOUT) < 0) { err("error from flowcontrol urb"); } @@ -1796,7 +1877,7 @@ static void ftdi_break_ctl( struct usb_serial_port *port, int break_state ) if (usb_control_msg(port->serial->dev, usb_sndctrlpipe(port->serial->dev, 0), FTDI_SIO_SET_DATA_REQUEST, FTDI_SIO_SET_DATA_REQUEST_TYPE, - urb_value , 0, + urb_value , priv->interface, buf, 0, WDR_TIMEOUT) < 0) { err("%s FAILED to enable/disable break state (state was %d)", __FUNCTION__,break_state); } @@ -1875,7 +1956,7 @@ static void ftdi_set_termios (struct usb_serial_port *port, struct termios *old_ if (usb_control_msg(dev, usb_sndctrlpipe(dev, 0), FTDI_SIO_SET_DATA_REQUEST, FTDI_SIO_SET_DATA_REQUEST_TYPE, - urb_value , 0, + urb_value , priv->interface, buf, 0, 100) < 0) { err("%s FAILED to set databits/stopbits/parity", __FUNCTION__); } @@ -1886,7 +1967,7 @@ static void ftdi_set_termios (struct usb_serial_port *port, struct termios *old_ if (usb_control_msg(dev, usb_sndctrlpipe(dev, 0), FTDI_SIO_SET_FLOW_CTRL_REQUEST, FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE, - 0, 0, + 0, priv->interface, buf, 0, WDR_TIMEOUT) < 0) { err("%s error from disable flowcontrol urb", __FUNCTION__); } @@ -1903,6 +1984,13 @@ static void ftdi_set_termios (struct usb_serial_port *port, struct termios *old_ if (change_speed(port)) { err("%s urb failed to set baurdrate", __FUNCTION__); } + /* Ensure RTS and DTR are raised */ + else if (set_dtr(port, HIGH) < 0){ + err("%s Error from DTR HIGH urb", __FUNCTION__); + } + else if (set_rts(port, HIGH) < 0){ + err("%s Error from RTS HIGH urb", __FUNCTION__); + } } /* Set flow control */ @@ -1913,7 +2001,7 @@ static void ftdi_set_termios (struct usb_serial_port *port, struct termios *old_ usb_sndctrlpipe(dev, 0), FTDI_SIO_SET_FLOW_CTRL_REQUEST, FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE, - 0 , FTDI_SIO_RTS_CTS_HS, + 0 , (FTDI_SIO_RTS_CTS_HS | priv->interface), buf, 0, WDR_TIMEOUT) < 0) { err("urb failed to set to rts/cts flow control"); } @@ -1939,7 +2027,8 @@ static void ftdi_set_termios (struct usb_serial_port *port, struct termios *old_ usb_sndctrlpipe(dev, 0), FTDI_SIO_SET_FLOW_CTRL_REQUEST, FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE, - urb_value , FTDI_SIO_XON_XOFF_HS, + urb_value , (FTDI_SIO_XON_XOFF_HS + | priv->interface), buf, 0, WDR_TIMEOUT) < 0) { err("urb failed to set to xon/xoff flow control"); } @@ -1951,7 +2040,7 @@ static void ftdi_set_termios (struct usb_serial_port *port, struct termios *old_ usb_sndctrlpipe(dev, 0), FTDI_SIO_SET_FLOW_CTRL_REQUEST, FTDI_SIO_SET_FLOW_CTRL_REQUEST_TYPE, - 0, 0, + 0, priv->interface, buf, 0, WDR_TIMEOUT) < 0) { err("urb failed to clear flow control"); } @@ -1985,13 +2074,14 @@ static int ftdi_tiocmget (struct usb_serial_port *port, struct file *file) break; case FT8U232AM: case FT232BM: + case FT2232C: /* the 8U232AM returns a two byte value (the sio is a 1 byte value) - in the same format as the data returned from the in point */ if ((ret = usb_control_msg(port->serial->dev, usb_rcvctrlpipe(port->serial->dev, 0), FTDI_SIO_GET_MODEM_STATUS_REQUEST, FTDI_SIO_GET_MODEM_STATUS_REQUEST_TYPE, - 0, 0, + 0, priv->interface, buf, 2, WDR_TIMEOUT)) < 0 ) { err("%s Could not get modem status of device - err: %d", __FUNCTION__, ret); @@ -2206,6 +2296,9 @@ static int __init ftdi_init (void) retval = usb_serial_register(&ftdi_FT232BM_device); if (retval) goto failed_FT232BM_register; + retval = usb_serial_register(&ftdi_FT2232C_device); + if (retval) + goto failed_FT2232C_register; retval = usb_serial_register(&ftdi_USB_UIRT_device); if (retval) goto failed_USB_UIRT_register; @@ -2223,6 +2316,8 @@ failed_usb_register: failed_HE_TIRA1_register: usb_serial_deregister(&ftdi_USB_UIRT_device); failed_USB_UIRT_register: + usb_serial_deregister(&ftdi_FT2232C_device); +failed_FT2232C_register: usb_serial_deregister(&ftdi_FT232BM_device); failed_FT232BM_register: usb_serial_deregister(&ftdi_8U232AM_device); @@ -2241,6 +2336,7 @@ static void __exit ftdi_exit (void) usb_deregister (&ftdi_driver); usb_serial_deregister (&ftdi_HE_TIRA1_device); usb_serial_deregister (&ftdi_USB_UIRT_device); + usb_serial_deregister (&ftdi_FT2232C_device); usb_serial_deregister (&ftdi_FT232BM_device); usb_serial_deregister (&ftdi_8U232AM_device); usb_serial_deregister (&ftdi_SIO_device); diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index 02554035e..232213b02 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h @@ -26,6 +26,7 @@ #define FTDI_SIO_PID 0x8372 /* Product Id SIO application of 8U100AX */ #define FTDI_8U232AM_PID 0x6001 /* Similar device to SIO above */ #define FTDI_8U232AM_ALT_PID 0x6006 /* FTDI's alternate PID for above */ +#define FTDI_8U2232C_PID 0x6010 /* Dual channel device */ #define FTDI_RELAIS_PID 0xFA10 /* Relais device from Rudolf Gugler */ #define FTDI_NF_RIC_VID 0x0DCD /* Vendor Id */ #define FTDI_NF_RIC_PID 0x0001 /* Product Id */ @@ -234,6 +235,21 @@ #define FTDI_SIO_SET_EVENT_CHAR 6 /* Set the event character */ #define FTDI_SIO_SET_ERROR_CHAR 7 /* Set the error character */ +/* Port interface code for FT2232C */ +#define INTERFACE_A 1 +#define INTERFACE_B 2 + + +/* + * BmRequestType: 1100 0000b + * bRequest: FTDI_E2_READ + * wValue: 0 + * wIndex: Address of word to read + * wLength: 2 + * Data: Will return a word of data from E2Address + * + */ + /* Port Identifier Table */ #define PIT_DEFAULT 0 /* SIOA */ #define PIT_SIOA 1 /* SIOA */ @@ -333,6 +349,7 @@ typedef enum { SIO = 1, FT8U232AM = 2, FT232BM = 3, + FT2232C = 4, } ftdi_chip_type_t; typedef enum { diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c index 6b821b6ed..ace42c870 100644 --- a/drivers/usb/serial/io_ti.c +++ b/drivers/usb/serial/io_ti.c @@ -124,15 +124,11 @@ static struct usb_device_id edgeport_2port_id_table [] = { { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_2C) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_2I) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_421) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_421_BOOT) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_421_DOWN) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_21) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_21_BOOT) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_21_DOWN) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_42) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_4) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_4I) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_22) }, + { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_22I) }, { } }; @@ -143,15 +139,11 @@ static struct usb_device_id id_table_combined [] = { { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_2C) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_2I) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_421) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_421_BOOT) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_421_DOWN) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_21) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_21_BOOT) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_21_DOWN) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_42) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_4) }, { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_4I) }, - { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_22) }, + { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_TI_EDGEPORT_22I) }, { } }; @@ -278,7 +270,7 @@ static int TIReadDownloadMemory(struct usb_device *dev, int start_address, { int status = 0; __u8 read_length; - __u16 be_start_address; + __be16 be_start_address; dbg ("%s - @ %x for %d", __FUNCTION__, start_address, length); @@ -395,7 +387,7 @@ static int TIWriteDownloadI2C (struct edgeport_serial *serial, int start_address { int status = 0; int write_length; - __u16 be_start_address; + __be16 be_start_address; /* We can only send a maximum of 1 aligned byte page at a time */ @@ -1804,12 +1796,7 @@ static void edge_bulk_out_callback (struct urb *urb, struct pt_regs *regs) tty = port->tty; if (tty) { /* let the tty driver wakeup if it has a special write_wakeup function */ - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) { - (tty->ldisc.write_wakeup)(tty); - } - - /* tell the tty driver that something has changed */ - wake_up_interruptible(&tty->write_wait); + tty_wakeup(tty); } } diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c index 42119dd44..8fbce2732 100644 --- a/drivers/usb/serial/ipaq.c +++ b/drivers/usb/serial/ipaq.c @@ -127,6 +127,7 @@ static struct usb_device_id ipaq_id_table [] = { { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_E740_ID) }, { USB_DEVICE(TOSHIBA_VENDOR_ID, TOSHIBA_E335_ID) }, { USB_DEVICE(HTC_VENDOR_ID, HTC_PRODUCT_ID) }, + { USB_DEVICE(HTC_VENDOR_ID, HTC_HIMALAYA_ID) }, { USB_DEVICE(NEC_VENDOR_ID, NEC_PRODUCT_ID) }, { USB_DEVICE(ASUS_VENDOR_ID, ASUS_A600_PRODUCT_ID) }, { USB_DEVICE(ASUS_VENDOR_ID, ASUS_A620_PRODUCT_ID) }, @@ -188,6 +189,7 @@ static int ipaq_open(struct usb_serial_port *port, struct file *filp) usb_set_serial_port_data(port, priv); priv->active = 0; priv->queue_len = 0; + priv->free_len = 0; INIT_LIST_HEAD(&priv->queue); INIT_LIST_HEAD(&priv->freelist); diff --git a/drivers/usb/serial/ipaq.h b/drivers/usb/serial/ipaq.h index e9bedde0d..b997a9596 100644 --- a/drivers/usb/serial/ipaq.h +++ b/drivers/usb/serial/ipaq.h @@ -78,6 +78,7 @@ #define HTC_VENDOR_ID 0x0bb4 #define HTC_PRODUCT_ID 0x00ce +#define HTC_HIMALAYA_ID 0x0a02 #define NEC_VENDOR_ID 0x0409 #define NEC_PRODUCT_ID 0x00d5 diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c index cb42cc7c3..3d1571695 100644 --- a/drivers/usb/serial/ir-usb.c +++ b/drivers/usb/serial/ir-usb.c @@ -449,6 +449,10 @@ static void ir_read_bulk_callback (struct urb *urb, struct pt_regs *regs) */ tty = port->tty; + /* + * FIXME: must not do this in IRQ context, + * must honour TTY_DONT_FLIP + */ tty->ldisc.receive_buf( tty, data+1, diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c index fd6c1b838..cd441d783 100644 --- a/drivers/usb/serial/keyspan_pda.c +++ b/drivers/usb/serial/keyspan_pda.c @@ -186,13 +186,7 @@ static void keyspan_pda_wakeup_write( struct usb_serial_port *port ) wake_up_interruptible( &port->write_wait ); /* wake up line discipline */ - if( (tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) - && tty->ldisc.write_wakeup ) - (tty->ldisc.write_wakeup)(tty); - - /* wake up other tty processes */ - wake_up_interruptible( &tty->write_wait ); - /* For 2.2.16 backport -- wake_up_interruptible( &tty->poll_wait ); */ + tty_wakeup(tty); } static void keyspan_pda_request_unthrottle( struct usb_serial *serial ) diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c index c5207d194..128ebf3b5 100644 --- a/drivers/usb/serial/kl5kusb105.c +++ b/drivers/usb/serial/kl5kusb105.c @@ -782,9 +782,11 @@ static void klsi_105_set_termios (struct usb_serial_port *port, switch (cflag & CSIZE) { case CS5: dbg("%s - 5 bits/byte not supported", __FUNCTION__); + spin_unlock_irqrestore (&priv->lock, flags); return ; case CS6: dbg("%s - 6 bits/byte not supported", __FUNCTION__); + spin_unlock_irqrestore (&priv->lock, flags); return ; case CS7: priv->cfg.databits = kl5kusb105a_dtb_7; diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c index b4961f0d2..212906c74 100644 --- a/drivers/usb/serial/mct_u232.c +++ b/drivers/usb/serial/mct_u232.c @@ -579,11 +579,7 @@ static void mct_u232_write_bulk_callback (struct urb *urb, struct pt_regs *regs) if (write_blocking) { wake_up_interruptible(&port->write_wait); - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && - tty->ldisc.write_wakeup) - (tty->ldisc.write_wakeup)(tty); - wake_up_interruptible(&tty->write_wait); - + tty_wakeup(tty); } else { /* from generic_write_bulk_callback */ schedule_work(&port->work); diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index af0d230c6..c61e56829 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c @@ -659,7 +659,7 @@ static void pl2303_break_ctl (struct usb_serial_port *port, int break_state) state = BREAK_OFF; else state = BREAK_ON; - dbg("%s - turning break %s", state==BREAK_OFF ? "off" : "on", __FUNCTION__); + dbg("%s - turning break %s", __FUNCTION__, state==BREAK_OFF ? "off" : "on"); result = usb_control_msg (serial->dev, usb_sndctrlpipe (serial->dev, 0), BREAK_REQUEST, BREAK_REQUEST_TYPE, state, diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index 2656807d7..03e8a7e1c 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c @@ -421,6 +421,63 @@ static void return_serial (struct usb_serial *serial) return; } +static void destroy_serial(struct kref *kref) +{ + struct usb_serial *serial; + struct usb_serial_port *port; + int i; + + serial = to_usb_serial(kref); + + dbg ("%s - %s", __FUNCTION__, serial->type->name); + + serial->type->shutdown(serial); + + /* return the minor range that this device had */ + return_serial(serial); + + for (i = 0; i < serial->num_ports; ++i) + serial->port[i]->open_count = 0; + + /* the ports are cleaned up and released in port_release() */ + for (i = 0; i < serial->num_ports; ++i) + if (serial->port[i]->dev.parent != NULL) { + device_unregister(&serial->port[i]->dev); + serial->port[i] = NULL; + } + + /* If this is a "fake" port, we have to clean it up here, as it will + * not get cleaned up in port_release() as it was never registered with + * the driver core */ + if (serial->num_ports < serial->num_port_pointers) { + for (i = serial->num_ports; i < serial->num_port_pointers; ++i) { + port = serial->port[i]; + if (!port) + continue; + if (port->read_urb) { + usb_unlink_urb(port->read_urb); + usb_free_urb(port->read_urb); + } + if (port->write_urb) { + usb_unlink_urb(port->write_urb); + usb_free_urb(port->write_urb); + } + if (port->interrupt_in_urb) { + usb_unlink_urb(port->interrupt_in_urb); + usb_free_urb(port->interrupt_in_urb); + } + kfree(port->bulk_in_buffer); + kfree(port->bulk_out_buffer); + kfree(port->interrupt_in_buffer); + } + } + + usb_put_dev(serial->dev); + + /* free up any memory that we allocated */ + kfree (serial); +} + /***************************************************************************** * Driver tty interface functions *****************************************************************************/ @@ -465,7 +522,7 @@ static int serial_open (struct tty_struct *tty, struct file * filp) if (retval) { port->open_count = 0; module_put(serial->type->owner); - kref_put(&serial->kref); + kref_put(&serial->kref, destroy_serial); } } bailout: @@ -496,7 +553,7 @@ static void serial_close(struct tty_struct *tty, struct file * filp) } module_put(port->serial->type->owner); - kref_put(&port->serial->kref); + kref_put(&port->serial->kref, destroy_serial); } static int serial_write (struct tty_struct * tty, int from_user, const unsigned char *buf, int count) @@ -654,13 +711,6 @@ exit: ; } -static void serial_shutdown (struct usb_serial *serial) -{ - dbg ("%s", __FUNCTION__); - - serial->type->shutdown(serial); -} - static int serial_read_proc (char *page, char **start, off_t off, int count, int *eof, void *data) { struct usb_serial *serial; @@ -694,7 +744,7 @@ static int serial_read_proc (char *page, char **start, off_t off, int count, int begin += length; length = 0; } - kref_put(&serial->kref); + kref_put(&serial->kref, destroy_serial); } *eof = 1; done: @@ -755,68 +805,7 @@ void usb_serial_port_softint(void *private) if (!tty) return; - if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup) { - dbg("%s - write wakeup call.", __FUNCTION__); - (tty->ldisc.write_wakeup)(tty); - } - - wake_up_interruptible(&tty->write_wait); -} - -static void destroy_serial(struct kref *kref) -{ - struct usb_serial *serial; - struct usb_serial_port *port; - int i; - - serial = to_usb_serial(kref); - - dbg ("%s - %s", __FUNCTION__, serial->type->name); - serial_shutdown (serial); - - /* return the minor range that this device had */ - return_serial(serial); - - for (i = 0; i < serial->num_ports; ++i) - serial->port[i]->open_count = 0; - - /* the ports are cleaned up and released in port_release() */ - for (i = 0; i < serial->num_ports; ++i) - if (serial->port[i]->dev.parent != NULL) { - device_unregister(&serial->port[i]->dev); - serial->port[i] = NULL; - } - - /* If this is a "fake" port, we have to clean it up here, as it will - * not get cleaned up in port_release() as it was never registered with - * the driver core */ - if (serial->num_ports < serial->num_port_pointers) { - for (i = serial->num_ports; i < serial->num_port_pointers; ++i) { - port = serial->port[i]; - if (!port) - continue; - if (port->read_urb) { - usb_unlink_urb(port->read_urb); - usb_free_urb(port->read_urb); - } - if (port->write_urb) { - usb_unlink_urb(port->write_urb); - usb_free_urb(port->write_urb); - } - if (port->interrupt_in_urb) { - usb_unlink_urb(port->interrupt_in_urb); - usb_free_urb(port->interrupt_in_urb); - } - kfree(port->bulk_in_buffer); - kfree(port->bulk_out_buffer); - kfree(port->interrupt_in_buffer); - } - } - - usb_put_dev(serial->dev); - - /* free up any memory that we allocated */ - kfree (serial); + tty_wakeup(tty); } static void port_release(struct device *dev) @@ -859,7 +848,7 @@ static struct usb_serial * create_serial (struct usb_device *dev, serial->interface = interface; serial->vendor = dev->descriptor.idVendor; serial->product = dev->descriptor.idProduct; - kref_init(&serial->kref, destroy_serial); + kref_init(&serial->kref); return serial; } @@ -1209,7 +1198,7 @@ void usb_serial_disconnect(struct usb_interface *interface) if (serial) { /* let the last holder of this object * cause it to be cleaned up */ - kref_put(&serial->kref); + kref_put(&serial->kref, destroy_serial); } dev_info(dev, "device disconnected\n"); } diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c index 8a0a75533..933d67cba 100644 --- a/drivers/usb/serial/visor.c +++ b/drivers/usb/serial/visor.c @@ -381,10 +381,17 @@ static struct usb_serial_device_type clie_3_5_device = { .read_bulk_callback = visor_read_bulk_callback, }; +struct visor_private { + spinlock_t lock; + int bytes_in; + int bytes_out; + int outstanding_urbs; +}; -static int bytes_in; -static int bytes_out; +/* number of outstanding urbs to prevent userspace DoS from happening */ +#define URB_UPPER_LIMIT 42 +static int stats; /****************************************************************************** * Handspring Visor specific driver functions @@ -392,6 +399,8 @@ static int bytes_out; static int visor_open (struct usb_serial_port *port, struct file *filp) { struct usb_serial *serial = port->serial; + struct visor_private *priv = usb_get_serial_port_data(port); + unsigned long flags; int result = 0; dbg("%s - port %d", __FUNCTION__, port->number); @@ -402,8 +411,11 @@ static int visor_open (struct usb_serial_port *port, struct file *filp) return -ENODEV; } - bytes_in = 0; - bytes_out = 0; + spin_lock_irqsave(&priv->lock, flags); + priv->bytes_in = 0; + priv->bytes_out = 0; + priv->outstanding_urbs = 0; + spin_unlock_irqrestore(&priv->lock, flags); /* * Force low_latency on so that our tty_push actually forces the data @@ -441,6 +453,7 @@ exit: static void visor_close (struct usb_serial_port *port, struct file * filp) { + struct visor_private *priv = usb_get_serial_port_data(port); unsigned char *transfer_buffer; dbg("%s - port %d", __FUNCTION__, port->number); @@ -461,20 +474,31 @@ static void visor_close (struct usb_serial_port *port, struct file * filp) kfree (transfer_buffer); } - /* Uncomment the following line if you want to see some statistics in your syslog */ - /* dev_info (&port->dev, "Bytes In = %d Bytes Out = %d\n", bytes_in, bytes_out); */ + if (stats) + dev_info(&port->dev, "Bytes In = %d Bytes Out = %d\n", + priv->bytes_in, priv->bytes_out); } static int visor_write (struct usb_serial_port *port, int from_user, const unsigned char *buf, int count) { + struct visor_private *priv = usb_get_serial_port_data(port); struct usb_serial *serial = port->serial; struct urb *urb; unsigned char *buffer; + unsigned long flags; int status; dbg("%s - port %d", __FUNCTION__, port->number); + spin_lock_irqsave(&priv->lock, flags); + if (priv->outstanding_urbs > URB_UPPER_LIMIT) { + spin_unlock_irqrestore(&priv->lock, flags); + dev_dbg(&port->dev, "write limit hit\n"); + return 0; + } + spin_unlock_irqrestore(&priv->lock, flags); + buffer = kmalloc (count, GFP_ATOMIC); if (!buffer) { dev_err(&port->dev, "out of memory\n"); @@ -514,7 +538,10 @@ static int visor_write (struct usb_serial_port *port, int from_user, const unsig count = status; kfree (buffer); } else { - bytes_out += count; + spin_lock_irqsave(&priv->lock, flags); + ++priv->outstanding_urbs; + priv->bytes_out += count; + spin_unlock_irqrestore(&priv->lock, flags); } /* we are done with this urb, so let the host driver @@ -555,6 +582,8 @@ static int visor_chars_in_buffer (struct usb_serial_port *port) static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs) { struct usb_serial_port *port = (struct usb_serial_port *)urb->context; + struct visor_private *priv = usb_get_serial_port_data(port); + unsigned long flags; /* free up the transfer buffer, as usb_free_urb() does not do this */ kfree (urb->transfer_buffer); @@ -565,6 +594,10 @@ static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs) dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status); + spin_lock_irqsave(&priv->lock, flags); + --priv->outstanding_urbs; + spin_unlock_irqrestore(&priv->lock, flags); + schedule_work(&port->work); } @@ -572,8 +605,10 @@ static void visor_write_bulk_callback (struct urb *urb, struct pt_regs *regs) static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs) { struct usb_serial_port *port = (struct usb_serial_port *)urb->context; - struct tty_struct *tty; + struct visor_private *priv = usb_get_serial_port_data(port); unsigned char *data = urb->transfer_buffer; + struct tty_struct *tty; + unsigned long flags; int i; int result; @@ -598,7 +633,9 @@ static void visor_read_bulk_callback (struct urb *urb, struct pt_regs *regs) } tty_flip_buffer_push(tty); } - bytes_in += urb->actual_length; + spin_lock_irqsave(&priv->lock, flags); + priv->bytes_in += urb->actual_length; + spin_unlock_irqrestore(&priv->lock, flags); /* Continue trying to always read */ usb_fill_bulk_urb (port->read_urb, port->serial->dev, @@ -833,6 +870,22 @@ static int visor_calc_num_ports (struct usb_serial *serial) return num_ports; } +static int generic_startup(struct usb_serial *serial) +{ + struct visor_private *priv; + int i; + + for (i = 0; i < serial->num_ports; ++i) { + priv = kmalloc (sizeof(*priv), GFP_KERNEL); + if (!priv) + return -ENOMEM; + memset (priv, 0x00, sizeof(*priv)); + spin_lock_init(&priv->lock); + usb_set_serial_port_data(serial->port[i], priv); + } + return 0; +} + static int clie_3_5_startup (struct usb_serial *serial) { struct device *dev = &serial->dev->dev; @@ -872,7 +925,7 @@ static int clie_3_5_startup (struct usb_serial *serial) return -EIO; } - return 0; + return generic_startup(serial); } static int treo_attach (struct usb_serial *serial) @@ -884,7 +937,7 @@ static int treo_attach (struct usb_serial *serial) if (!((serial->dev->descriptor.idVendor == HANDSPRING_VENDOR_ID) || (serial->dev->descriptor.idVendor == KYOCERA_VENDOR_ID)) || (serial->num_interrupt_in == 0)) - return 0; + goto generic_startup; dbg("%s", __FUNCTION__); @@ -911,7 +964,8 @@ static int treo_attach (struct usb_serial *serial) COPY_PORT(serial->port[1], swap_port); kfree(swap_port); - return 0; +generic_startup: + return generic_startup(serial); } static int clie_5_attach (struct usb_serial *serial) @@ -932,7 +986,7 @@ static int clie_5_attach (struct usb_serial *serial) /* port 0 now uses the modified endpoint Address */ serial->port[0]->bulk_out_endpointAddress = serial->port[1]->bulk_out_endpointAddress; - return 0; + return generic_startup(serial); } static void visor_shutdown (struct usb_serial *serial) @@ -1088,8 +1142,11 @@ MODULE_LICENSE("GPL"); module_param(debug, bool, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(debug, "Debug enabled or not"); +module_param(stats, bool, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(stats, "Enables statistics or not"); module_param(vendor, ushort, 0); MODULE_PARM_DESC(vendor, "User specified vendor ID"); module_param(product, ushort, 0); MODULE_PARM_DESC(product, "User specified product ID"); + diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c index b27741bf5..47c6270b4 100644 --- a/drivers/usb/serial/whiteheat.c +++ b/drivers/usb/serial/whiteheat.c @@ -668,8 +668,7 @@ static void whiteheat_close(struct usb_serial_port *port, struct file * filp) if (port->tty->driver->flush_buffer) port->tty->driver->flush_buffer(port->tty); - if (port->tty->ldisc.flush_buffer) - port->tty->ldisc.flush_buffer(port->tty); + tty_ldisc_flush(port->tty); firm_report_tx_done(port); @@ -1120,11 +1119,11 @@ static int firm_send_command (struct usb_serial_port *port, __u8 command, __u8 * command_port->write_urb->transfer_buffer_length = datasize + 1; command_port->write_urb->dev = port->serial->dev; retval = usb_submit_urb (command_port->write_urb, GFP_KERNEL); - spin_unlock_irqrestore(&command_info->lock, flags); if (retval) { dbg("%s - submit urb failed", __FUNCTION__); goto exit; } + spin_unlock_irqrestore(&command_info->lock, flags); /* wait for the command to complete */ wait_event_interruptible_timeout(command_info->wait_command, diff --git a/drivers/usb/storage/datafab.c b/drivers/usb/storage/datafab.c index 58baacc9a..94798eb1a 100644 --- a/drivers/usb/storage/datafab.c +++ b/drivers/usb/storage/datafab.c @@ -50,16 +50,19 @@ * in that routine. */ +#include +#include +#include + +#include +#include + #include "transport.h" #include "protocol.h" #include "usb.h" #include "debug.h" #include "datafab.h" -#include -#include -#include - static int datafab_determine_lun(struct us_data *us, struct datafab_info *info); @@ -388,7 +391,7 @@ static int datafab_id_device(struct us_data *us, static int datafab_handle_mode_sense(struct us_data *us, - Scsi_Cmnd * srb, + struct scsi_cmnd * srb, int sense_6) { static unsigned char rw_err_page[12] = { @@ -483,7 +486,7 @@ static int datafab_handle_mode_sense(struct us_data *us, if (sense_6) ptr[0] = i - 1; else - ((u16 *) ptr)[0] = cpu_to_be16(i - 2); + ((__be16 *) ptr)[0] = cpu_to_be16(i - 2); usb_stor_set_xfer_buf(ptr, i, srb); return USB_STOR_TRANSPORT_GOOD; @@ -498,7 +501,7 @@ static void datafab_info_destructor(void *extra) // Transport for the Datafab MDCFE-B // -int datafab_transport(Scsi_Cmnd * srb, struct us_data *us) +int datafab_transport(struct scsi_cmnd * srb, struct us_data *us) { struct datafab_info *info; int rc; @@ -540,8 +543,8 @@ int datafab_transport(Scsi_Cmnd * srb, struct us_data *us) // build the reply // we need the last sector, not the number of sectors - ((u32 *) ptr)[0] = cpu_to_be32(info->sectors - 1); - ((u32 *) ptr)[1] = cpu_to_be32(info->ssize); + ((__be32 *) ptr)[0] = cpu_to_be32(info->sectors - 1); + ((__be32 *) ptr)[1] = cpu_to_be32(info->ssize); usb_stor_set_xfer_buf(ptr, 8, srb); return USB_STOR_TRANSPORT_GOOD; @@ -625,12 +628,12 @@ int datafab_transport(Scsi_Cmnd * srb, struct us_data *us) if (srb->cmnd[0] == MODE_SENSE) { US_DEBUGP("datafab_transport: MODE_SENSE_6 detected\n"); - return datafab_handle_mode_sense(us, srb, TRUE); + return datafab_handle_mode_sense(us, srb, 1); } if (srb->cmnd[0] == MODE_SENSE_10) { US_DEBUGP("datafab_transport: MODE_SENSE_10 detected\n"); - return datafab_handle_mode_sense(us, srb, FALSE); + return datafab_handle_mode_sense(us, srb, 0); } if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) { diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c index 43cc9c5e0..8aa136b4b 100644 --- a/drivers/usb/storage/isd200.c +++ b/drivers/usb/storage/isd200.c @@ -44,6 +44,16 @@ /* Include files */ +#include +#include +#include +#include +#include + +#include +#include +#include + #include "transport.h" #include "protocol.h" #include "usb.h" @@ -51,11 +61,6 @@ #include "scsiglue.h" #include "isd200.h" -#include -#include -#include -#include -#include /* Timeout defines (in Seconds) */ @@ -290,8 +295,8 @@ struct isd200_info { */ struct read_capacity_data { - unsigned long LogicalBlockAddress; - unsigned long BytesPerBlock; + __be32 LogicalBlockAddress; + __be32 BytesPerBlock; }; /* @@ -349,7 +354,7 @@ struct sense_data { * RETURNS: * void */ -static void isd200_build_sense(struct us_data *us, Scsi_Cmnd *srb) +static void isd200_build_sense(struct us_data *us, struct scsi_cmnd *srb) { struct isd200_info *info = (struct isd200_info *)us->extra; struct sense_data *buf = (struct sense_data *) &srb->sense_buffer[0]; @@ -427,7 +432,7 @@ static int isd200_action( struct us_data *us, int action, ata.generic.RegisterSelect = REG_CYLINDER_LOW | REG_CYLINDER_HIGH | REG_STATUS | REG_ERROR; - srb->sc_data_direction = SCSI_DATA_READ; + srb->sc_data_direction = DMA_FROM_DEVICE; srb->request_buffer = pointer; srb->request_bufflen = value; break; @@ -439,7 +444,7 @@ static int isd200_action( struct us_data *us, int action, ACTION_SELECT_5; ata.generic.RegisterSelect = REG_DEVICE_HEAD; ata.write.DeviceHeadByte = value; - srb->sc_data_direction = SCSI_DATA_NONE; + srb->sc_data_direction = DMA_NONE; break; case ACTION_RESET: @@ -448,7 +453,7 @@ static int isd200_action( struct us_data *us, int action, ACTION_SELECT_3|ACTION_SELECT_4; ata.generic.RegisterSelect = REG_DEVICE_CONTROL; ata.write.DeviceControlByte = ATA_DC_RESET_CONTROLLER; - srb->sc_data_direction = SCSI_DATA_NONE; + srb->sc_data_direction = DMA_NONE; break; case ACTION_REENABLE: @@ -457,7 +462,7 @@ static int isd200_action( struct us_data *us, int action, ACTION_SELECT_3|ACTION_SELECT_4; ata.generic.RegisterSelect = REG_DEVICE_CONTROL; ata.write.DeviceControlByte = ATA_DC_REENABLE_CONTROLLER; - srb->sc_data_direction = SCSI_DATA_NONE; + srb->sc_data_direction = DMA_NONE; break; case ACTION_SOFT_RESET: @@ -466,14 +471,14 @@ static int isd200_action( struct us_data *us, int action, ata.generic.RegisterSelect = REG_DEVICE_HEAD | REG_COMMAND; ata.write.DeviceHeadByte = info->DeviceHead; ata.write.CommandByte = WIN_SRST; - srb->sc_data_direction = SCSI_DATA_NONE; + srb->sc_data_direction = DMA_NONE; break; case ACTION_IDENTIFY: US_DEBUGP(" isd200_action(IDENTIFY)\n"); ata.generic.RegisterSelect = REG_COMMAND; ata.write.CommandByte = WIN_IDENTIFY; - srb->sc_data_direction = SCSI_DATA_READ; + srb->sc_data_direction = DMA_FROM_DEVICE; srb->request_buffer = (void *) info->id; srb->request_bufflen = sizeof(struct hd_driveid); break; @@ -535,7 +540,7 @@ static int isd200_read_regs( struct us_data *us ) * the device and receive the response. */ static void isd200_invoke_transport( struct us_data *us, - Scsi_Cmnd *srb, + struct scsi_cmnd *srb, union ata_cdb *ataCdb ) { int need_auto_sense = 0; @@ -839,7 +844,7 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave, unsigned long endTime; struct isd200_info *info = (struct isd200_info *)us->extra; unsigned char *regs = info->RegsBuf; - int recheckAsMaster = FALSE; + int recheckAsMaster = 0; if ( detect ) endTime = jiffies + ISD200_ENUM_DETECT_TIMEOUT * HZ; @@ -847,7 +852,7 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave, endTime = jiffies + ISD200_ENUM_BSY_TIMEOUT * HZ; /* loop until we detect !BSY or timeout */ - while(TRUE) { + while(1) { #ifdef CONFIG_USB_STORAGE_DEBUG char* mstr = master_slave == ATA_ADDRESS_DEVHEAD_STD ? "Master" : "Slave"; @@ -899,9 +904,9 @@ static int isd200_try_enum(struct us_data *us, unsigned char master_slave, itself okay as a master also */ if ((master_slave & ATA_ADDRESS_DEVHEAD_SLAVE) && - (recheckAsMaster == FALSE)) { + !recheckAsMaster) { US_DEBUGP(" Identified ATAPI device as slave. Rechecking again as master\n"); - recheckAsMaster = TRUE; + recheckAsMaster = 1; master_slave = ATA_ADDRESS_DEVHEAD_STD; } else { US_DEBUGP(" Identified ATAPI device\n"); @@ -948,15 +953,15 @@ static int isd200_manual_enum(struct us_data *us) if (retStatus == ISD200_GOOD) { int isslave; /* master or slave? */ - retStatus = isd200_try_enum( us, ATA_ADDRESS_DEVHEAD_STD, FALSE ); + retStatus = isd200_try_enum( us, ATA_ADDRESS_DEVHEAD_STD, 0); if (retStatus == ISD200_GOOD) - retStatus = isd200_try_enum( us, ATA_ADDRESS_DEVHEAD_SLAVE, FALSE ); + retStatus = isd200_try_enum( us, ATA_ADDRESS_DEVHEAD_SLAVE, 0); if (retStatus == ISD200_GOOD) { retStatus = isd200_srst(us); if (retStatus == ISD200_GOOD) /* ata or atapi? */ - retStatus = isd200_try_enum( us, ATA_ADDRESS_DEVHEAD_STD, TRUE ); + retStatus = isd200_try_enum( us, ATA_ADDRESS_DEVHEAD_STD, 1); } isslave = (info->DeviceHead & ATA_ADDRESS_DEVHEAD_SLAVE) ? 1 : 0; @@ -1011,7 +1016,8 @@ static int isd200_get_inquiry_data( struct us_data *us ) } else { /* ATA Command Identify successful */ int i; - __u16 *src, *dest; + __be16 *src; + __u16 *dest; ide_fix_driveid(id); US_DEBUGP(" Identify Data Structure:\n"); @@ -1063,17 +1069,17 @@ static int isd200_get_inquiry_data( struct us_data *us ) } /* Fill in vendor identification fields */ - src = (__u16*)id->model; + src = (__be16*)id->model; dest = (__u16*)info->InquiryData.VendorId; for (i=0;i<4;i++) dest[i] = be16_to_cpu(src[i]); - src = (__u16*)(id->model+8); + src = (__be16*)(id->model+8); dest = (__u16*)info->InquiryData.ProductId; for (i=0;i<8;i++) dest[i] = be16_to_cpu(src[i]); - src = (__u16*)id->fw_rev; + src = (__be16*)id->fw_rev; dest = (__u16*)info->InquiryData.ProductRevisionLevel; for (i=0;i<2;i++) dest[i] = be16_to_cpu(src[i]); @@ -1121,15 +1127,15 @@ static int isd200_get_inquiry_data( struct us_data *us ) * Translate SCSI commands to ATA commands. * * RETURNS: - * TRUE if the command needs to be sent to the transport layer - * FALSE otherwise + * 1 if the command needs to be sent to the transport layer + * 0 otherwise */ -static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, +static int isd200_scsi_to_ata(struct scsi_cmnd *srb, struct us_data *us, union ata_cdb * ataCdb) { struct isd200_info *info = (struct isd200_info *)us->extra; struct hd_driveid *id = info->id; - int sendToTransport = TRUE; + int sendToTransport = 1; unsigned char sectnum, head; unsigned short cylinder; unsigned long lba; @@ -1147,7 +1153,7 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, usb_stor_set_xfer_buf((unsigned char *) &info->InquiryData, sizeof(info->InquiryData), srb); srb->result = SAM_STAT_GOOD; - sendToTransport = FALSE; + sendToTransport = 0; break; case MODE_SENSE: @@ -1167,7 +1173,7 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, } else { US_DEBUGP(" Media Status not supported, just report okay\n"); srb->result = SAM_STAT_GOOD; - sendToTransport = FALSE; + sendToTransport = 0; } break; @@ -1185,7 +1191,7 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, } else { US_DEBUGP(" Media Status not supported, just report okay\n"); srb->result = SAM_STAT_GOOD; - sendToTransport = FALSE; + sendToTransport = 0; } break; @@ -1209,15 +1215,14 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, usb_stor_set_xfer_buf((unsigned char *) &readCapacityData, sizeof(readCapacityData), srb); srb->result = SAM_STAT_GOOD; - sendToTransport = FALSE; + sendToTransport = 0; } break; case READ_10: US_DEBUGP(" ATA OUT - SCSIOP_READ\n"); - lba = *(unsigned long *)&srb->cmnd[2]; - lba = cpu_to_be32(lba); + lba = be32_to_cpu(*(__be32 *)&srb->cmnd[2]); blockCount = (unsigned long)srb->cmnd[7]<<8 | (unsigned long)srb->cmnd[8]; if (id->capability & CAPABILITY_LBA) { @@ -1249,8 +1254,7 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, case WRITE_10: US_DEBUGP(" ATA OUT - SCSIOP_WRITE\n"); - lba = *(unsigned long *)&srb->cmnd[2]; - lba = cpu_to_be32(lba); + lba = be32_to_cpu(*(__be32 *)&srb->cmnd[2]); blockCount = (unsigned long)srb->cmnd[7]<<8 | (unsigned long)srb->cmnd[8]; if (id->capability & CAPABILITY_LBA) { @@ -1293,7 +1297,7 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, } else { US_DEBUGP(" Not removeable media, just report okay\n"); srb->result = SAM_STAT_GOOD; - sendToTransport = FALSE; + sendToTransport = 0; } break; @@ -1319,14 +1323,14 @@ static int isd200_scsi_to_ata(Scsi_Cmnd *srb, struct us_data *us, } else { US_DEBUGP(" Nothing to do, just report okay\n"); srb->result = SAM_STAT_GOOD; - sendToTransport = FALSE; + sendToTransport = 0; } break; default: US_DEBUGP("Unsupported SCSI command - 0x%X\n", srb->cmnd[0]); srb->result = DID_ERROR << 16; - sendToTransport = FALSE; + sendToTransport = 0; break; } @@ -1424,9 +1428,9 @@ int isd200_Initialization(struct us_data *us) * */ -void isd200_ata_command(Scsi_Cmnd *srb, struct us_data *us) +void isd200_ata_command(struct scsi_cmnd *srb, struct us_data *us) { - int sendToTransport = TRUE; + int sendToTransport = 1; union ata_cdb ataCdb; /* Make sure driver was initialized */ diff --git a/drivers/usb/storage/jumpshot.c b/drivers/usb/storage/jumpshot.c index ac9c908c4..24464ece5 100644 --- a/drivers/usb/storage/jumpshot.c +++ b/drivers/usb/storage/jumpshot.c @@ -47,15 +47,19 @@ * in that routine. */ +#include +#include +#include + +#include +#include + #include "transport.h" #include "protocol.h" #include "usb.h" #include "debug.h" #include "jumpshot.h" -#include -#include -#include static inline int jumpshot_bulk_read(struct us_data *us, unsigned char *data, @@ -319,7 +323,7 @@ static int jumpshot_id_device(struct us_data *us, } static int jumpshot_handle_mode_sense(struct us_data *us, - Scsi_Cmnd * srb, + struct scsi_cmnd * srb, int sense_6) { static unsigned char rw_err_page[12] = { @@ -409,7 +413,7 @@ static int jumpshot_handle_mode_sense(struct us_data *us, if (sense_6) ptr[0] = i - 1; else - ((u16 *) ptr)[0] = cpu_to_be16(i - 2); + ((__be16 *) ptr)[0] = cpu_to_be16(i - 2); usb_stor_set_xfer_buf(ptr, i, srb); return USB_STOR_TRANSPORT_GOOD; @@ -426,7 +430,7 @@ static void jumpshot_info_destructor(void *extra) // Transport for the Lexar 'Jumpshot' // -int jumpshot_transport(Scsi_Cmnd * srb, struct us_data *us) +int jumpshot_transport(struct scsi_cmnd * srb, struct us_data *us) { struct jumpshot_info *info; int rc; @@ -471,8 +475,8 @@ int jumpshot_transport(Scsi_Cmnd * srb, struct us_data *us) // build the reply // - ((u32 *) ptr)[0] = cpu_to_be32(info->sectors - 1); - ((u32 *) ptr)[1] = cpu_to_be32(info->ssize); + ((__be32 *) ptr)[0] = cpu_to_be32(info->sectors - 1); + ((__be32 *) ptr)[1] = cpu_to_be32(info->ssize); usb_stor_set_xfer_buf(ptr, 8, srb); return USB_STOR_TRANSPORT_GOOD; @@ -551,12 +555,12 @@ int jumpshot_transport(Scsi_Cmnd * srb, struct us_data *us) if (srb->cmnd[0] == MODE_SENSE) { US_DEBUGP("jumpshot_transport: MODE_SENSE_6 detected\n"); - return jumpshot_handle_mode_sense(us, srb, TRUE); + return jumpshot_handle_mode_sense(us, srb, 1); } if (srb->cmnd[0] == MODE_SENSE_10) { US_DEBUGP("jumpshot_transport: MODE_SENSE_10 detected\n"); - return jumpshot_handle_mode_sense(us, srb, FALSE); + return jumpshot_handle_mode_sense(us, srb, 0); } if (srb->cmnd[0] == ALLOW_MEDIUM_REMOVAL) { diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index 43cb90d0d..fe3c23884 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c @@ -44,17 +44,23 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include "scsiglue.h" -#include "usb.h" -#include "debug.h" -#include "transport.h" -#include "protocol.h" #include #include + +#include +#include #include +#include +#include #include +#include "scsiglue.h" +#include "usb.h" +#include "debug.h" +#include "transport.h" +#include "protocol.h" + /*********************************************************************** * Host functions ***********************************************************************/ @@ -92,17 +98,15 @@ static int slave_configure(struct scsi_device *sdev) * the end, scatter-gather buffers follow page boundaries. */ blk_queue_dma_alignment(sdev->request_queue, (512 - 1)); - /* Devices using Genesys Logic chips cause a lot of trouble for - * high-speed transfers; they die unpredictably when given more - * than 64 KB of data at a time. If we detect such a device, - * reduce the maximum transfer size to 64 KB = 128 sectors. */ - -#define USB_VENDOR_ID_GENESYS 0x05e3 // Needs a standard location - + /* According to the technical support people at Genesys Logic, + * devices using their chips have problems transferring more than + * 32 KB at a time. In practice people have found that 64 KB + * works okay and that's what Windows does. But we'll be + * conservative; people can always use the sysfs interface to + * increase max_sectors. */ if (us->pusb_dev->descriptor.idVendor == USB_VENDOR_ID_GENESYS && - us->pusb_dev->speed == USB_SPEED_HIGH && - sdev->request_queue->max_sectors > 128) - blk_queue_max_sectors(sdev->request_queue, 128); + sdev->request_queue->max_sectors > 64) + blk_queue_max_sectors(sdev->request_queue, 64); /* We can't put these settings in slave_alloc() because that gets * called before the device type is known. Consequently these @@ -146,14 +150,15 @@ static int slave_configure(struct scsi_device *sdev) /* queue a command */ /* This is always called with scsi_lock(srb->host) held */ -static int queuecommand( Scsi_Cmnd *srb , void (*done)(Scsi_Cmnd *)) +static int queuecommand(struct scsi_cmnd *srb, + void (*done)(struct scsi_cmnd *)) { struct us_data *us = (struct us_data *)srb->device->host->hostdata[0]; US_DEBUGP("%s called\n", __FUNCTION__); srb->host_scribble = (unsigned char *)us; - /* enqueue the command */ + /* check for state-transition errors */ if (us->sm_state != US_STATE_IDLE || us->srb != NULL) { printk(KERN_ERR USB_STORAGE "Error in %s: " "state = %d, us->srb = %p\n", @@ -161,10 +166,17 @@ static int queuecommand( Scsi_Cmnd *srb , void (*done)(Scsi_Cmnd *)) return SCSI_MLQUEUE_HOST_BUSY; } + /* fail the command if we are disconnecting */ + if (test_bit(US_FLIDX_DISCONNECTING, &us->flags)) { + US_DEBUGP("Fail command during disconnect\n"); + srb->result = DID_NO_CONNECT << 16; + done(srb); + return 0; + } + + /* enqueue the command and wake up the control thread */ srb->scsi_done = done; us->srb = srb; - - /* wake up the process task */ up(&(us->sema)); return 0; @@ -176,7 +188,7 @@ static int queuecommand( Scsi_Cmnd *srb , void (*done)(Scsi_Cmnd *)) /* Command abort */ /* This is always called with scsi_lock(srb->host) held */ -static int command_abort( Scsi_Cmnd *srb ) +static int command_abort(struct scsi_cmnd *srb ) { struct Scsi_Host *host = srb->device->host; struct us_data *us = (struct us_data *) host->hostdata[0]; @@ -223,7 +235,7 @@ static int command_abort( Scsi_Cmnd *srb ) /* This invokes the transport reset mechanism to reset the state of the * device */ /* This is always called with scsi_lock(srb->host) held */ -static int device_reset( Scsi_Cmnd *srb ) +static int device_reset(struct scsi_cmnd *srb) { struct us_data *us = (struct us_data *)srb->device->host->hostdata[0]; int result; @@ -258,7 +270,7 @@ static int device_reset( Scsi_Cmnd *srb ) /* It refuses to work if there's more than one interface in * the device, so that other users are not affected. */ /* This is always called with scsi_lock(srb->host) held */ -static int bus_reset( Scsi_Cmnd *srb ) +static int bus_reset(struct scsi_cmnd *srb) { struct us_data *us = (struct us_data *)srb->device->host->hostdata[0]; int result; @@ -444,10 +456,10 @@ struct scsi_host_template usb_stor_host_template = { * periodically someone should test to see which setting is more * optimal. */ - .use_clustering = TRUE, + .use_clustering = 1, /* emulated HBA */ - .emulated = TRUE, + .emulated = 1, /* we do our own delay after a device or bus reset */ .skip_settle_delay = 1, diff --git a/drivers/usb/storage/scsiglue.h b/drivers/usb/storage/scsiglue.h index e5dc7613b..70df2a7bc 100644 --- a/drivers/usb/storage/scsiglue.h +++ b/drivers/usb/storage/scsiglue.h @@ -41,17 +41,15 @@ #ifndef _SCSIGLUE_H_ #define _SCSIGLUE_H_ -#include -#include "scsi.h" #include -#include "usb.h" + +struct us_data; +struct scsi_cmnd; extern void usb_stor_report_device_reset(struct us_data *us); extern unsigned char usb_stor_sense_notready[18]; extern unsigned char usb_stor_sense_invalidCDB[18]; extern struct scsi_host_template usb_stor_host_template; -extern int usb_stor_scsiSense10to6(Scsi_Cmnd*); -extern int usb_stor_scsiSense6to10(Scsi_Cmnd*); #endif diff --git a/drivers/usb/storage/sddr09.c b/drivers/usb/storage/sddr09.c index f96bb7535..ff81b40c2 100644 --- a/drivers/usb/storage/sddr09.c +++ b/drivers/usb/storage/sddr09.c @@ -41,16 +41,19 @@ * EF: compute checksum (?) */ +#include +#include +#include + +#include +#include + #include "transport.h" #include "protocol.h" #include "usb.h" #include "debug.h" #include "sddr09.h" -#include -#include -#include -#include #define short_pack(lsb,msb) ( ((u16)(lsb)) | ( ((u16)(msb))<<8 ) ) #define LSB_of(s) ((s)&0xFF) @@ -1401,7 +1404,7 @@ sddr09_init(struct us_data *us) { /* * Transport for the Sandisk SDDR-09 */ -int sddr09_transport(Scsi_Cmnd *srb, struct us_data *us) +int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us) { static unsigned char sensekey = 0, sensecode = 0; static unsigned char havefakesense = 0; @@ -1486,11 +1489,11 @@ int sddr09_transport(Scsi_Cmnd *srb, struct us_data *us) capacity = (info->lbact << info->blockshift) - 1; - ((u32 *) ptr)[0] = cpu_to_be32(capacity); + ((__be32 *) ptr)[0] = cpu_to_be32(capacity); // Report page size - ((u32 *) ptr)[1] = cpu_to_be32(info->pagesize); + ((__be32 *) ptr)[1] = cpu_to_be32(info->pagesize); usb_stor_set_xfer_buf(ptr, 8, srb); return USB_STOR_TRANSPORT_GOOD; @@ -1507,7 +1510,7 @@ int sddr09_transport(Scsi_Cmnd *srb, struct us_data *us) "mode page 0x%x\n", modepage); memcpy(ptr, mode_page_01, sizeof(mode_page_01)); - ((u16*)ptr)[0] = cpu_to_be16(sizeof(mode_page_01) - 2); + ((__be16*)ptr)[0] = cpu_to_be16(sizeof(mode_page_01) - 2); ptr[3] = (info->flags & SDDR09_WP) ? 0x80 : 0; usb_stor_set_xfer_buf(ptr, sizeof(mode_page_01), srb); return USB_STOR_TRANSPORT_GOOD; @@ -1581,13 +1584,13 @@ int sddr09_transport(Scsi_Cmnd *srb, struct us_data *us) if (srb->request_bufflen == 0) return USB_STOR_TRANSPORT_GOOD; - if (srb->sc_data_direction == SCSI_DATA_WRITE || - srb->sc_data_direction == SCSI_DATA_READ) { - unsigned int pipe = (srb->sc_data_direction == SCSI_DATA_WRITE) + if (srb->sc_data_direction == DMA_TO_DEVICE || + srb->sc_data_direction == DMA_FROM_DEVICE) { + unsigned int pipe = (srb->sc_data_direction == DMA_TO_DEVICE) ? us->send_bulk_pipe : us->recv_bulk_pipe; US_DEBUGP("SDDR09: %s %d bytes\n", - (srb->sc_data_direction == SCSI_DATA_WRITE) ? + (srb->sc_data_direction == DMA_TO_DEVICE) ? "sending" : "receiving", srb->request_bufflen); diff --git a/drivers/usb/storage/shuttle_usbat.c b/drivers/usb/storage/shuttle_usbat.c index b0af06e4f..c98fa3938 100644 --- a/drivers/usb/storage/shuttle_usbat.c +++ b/drivers/usb/storage/shuttle_usbat.c @@ -39,16 +39,20 @@ * 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include +#include +#include +#include + +#include +#include + #include "transport.h" #include "protocol.h" #include "usb.h" #include "debug.h" #include "shuttle_usbat.h" -#include -#include -#include - #define short_pack(LSB,MSB) ( ((u16)(LSB)) | ( ((u16)(MSB))<<8 ) ) #define LSB_of(s) ((s)&0xFF) #define MSB_of(s) ((s)>>8) @@ -275,7 +279,7 @@ static int usbat_rw_block_test(struct us_data *us, int minutes) { int result; - unsigned int pipe = (direction == SCSI_DATA_READ) ? + unsigned int pipe = (direction == DMA_FROM_DEVICE) ? us->recv_bulk_pipe : us->send_bulk_pipe; // Not really sure the 0x07, 0x17, 0xfc, 0xe7 is necessary here, @@ -315,9 +319,9 @@ static int usbat_rw_block_test(struct us_data *us, } else cmdlen = 8; - command[cmdlen-8] = (direction==SCSI_DATA_WRITE ? 0x40 : 0xC0); + command[cmdlen-8] = (direction==DMA_TO_DEVICE ? 0x40 : 0xC0); command[cmdlen-7] = access | - (direction==SCSI_DATA_WRITE ? 0x05 : 0x04); + (direction==DMA_TO_DEVICE ? 0x05 : 0x04); command[cmdlen-6] = data_reg; command[cmdlen-5] = status_reg; command[cmdlen-4] = timeout; @@ -355,7 +359,7 @@ static int usbat_rw_block_test(struct us_data *us, //US_DEBUGP("Transfer %s %d bytes, sg buffers %d\n", - // direction == SCSI_DATA_WRITE ? "out" : "in", + // direction == DMA_TO_DEVICE ? "out" : "in", // len, use_sg); result = usb_stor_bulk_transfer_sg(us, @@ -388,7 +392,7 @@ static int usbat_rw_block_test(struct us_data *us, * the bulk output pipe only the first time. */ - if (direction==SCSI_DATA_READ && i==0) { + if (direction==DMA_FROM_DEVICE && i==0) { if (usb_stor_clear_halt(us, us->send_bulk_pipe) < 0) return USB_STOR_TRANSPORT_ERROR; @@ -399,7 +403,7 @@ static int usbat_rw_block_test(struct us_data *us, */ result = usbat_read(us, USBAT_ATA, - direction==SCSI_DATA_WRITE ? 0x17 : 0x0E, + direction==DMA_TO_DEVICE ? 0x17 : 0x0E, status); if (result!=USB_STOR_XFER_GOOD) @@ -410,7 +414,7 @@ static int usbat_rw_block_test(struct us_data *us, return USB_STOR_TRANSPORT_FAILED; US_DEBUGP("Redoing %s\n", - direction==SCSI_DATA_WRITE ? "write" : "read"); + direction==DMA_TO_DEVICE ? "write" : "read"); } else if (result != USB_STOR_XFER_GOOD) return USB_STOR_TRANSPORT_ERROR; @@ -420,7 +424,7 @@ static int usbat_rw_block_test(struct us_data *us, } US_DEBUGP("Bummer! %s bulk data 20 times failed.\n", - direction==SCSI_DATA_WRITE ? "Writing" : "Reading"); + direction==DMA_TO_DEVICE ? "Writing" : "Reading"); return USB_STOR_TRANSPORT_FAILED; } @@ -520,7 +524,7 @@ static int usbat_write_user_io(struct us_data *us, static int usbat_handle_read10(struct us_data *us, unsigned char *registers, unsigned char *data, - Scsi_Cmnd *srb) + struct scsi_cmnd *srb) { int result = USB_STOR_TRANSPORT_GOOD; unsigned char *buffer; @@ -537,7 +541,7 @@ static int usbat_handle_read10(struct us_data *us, result = usbat_rw_block_test(us, USBAT_ATA, registers, data, 19, 0x10, 0x17, 0xFD, 0x30, - SCSI_DATA_READ, + DMA_FROM_DEVICE, srb->request_buffer, srb->request_bufflen, srb->use_sg, 1); @@ -606,7 +610,7 @@ static int usbat_handle_read10(struct us_data *us, result = usbat_rw_block_test(us, USBAT_ATA, registers, data, 19, 0x10, 0x17, 0xFD, 0x30, - SCSI_DATA_READ, + DMA_FROM_DEVICE, buffer, len, 0, 1); @@ -803,7 +807,7 @@ int init_8200e(struct us_data *us) /* * Transport for the HP 8200e */ -int hp8200e_transport(Scsi_Cmnd *srb, struct us_data *us) +int hp8200e_transport(struct scsi_cmnd *srb, struct us_data *us) { int result; unsigned char *status = us->iobuf; @@ -847,12 +851,12 @@ int hp8200e_transport(Scsi_Cmnd *srb, struct us_data *us) if (srb->cmnd[0] == TEST_UNIT_READY) transferred = 0; - if (srb->sc_data_direction == SCSI_DATA_WRITE) { + if (srb->sc_data_direction == DMA_TO_DEVICE) { result = usbat_rw_block_test(us, USBAT_ATA, registers, data, 19, 0x10, 0x17, 0xFD, 0x30, - SCSI_DATA_WRITE, + DMA_TO_DEVICE, srb->request_buffer, len, srb->use_sg, 10); @@ -900,7 +904,7 @@ int hp8200e_transport(Scsi_Cmnd *srb, struct us_data *us) // If there is response data to be read in // then do it here. - if (len != 0 && (srb->sc_data_direction == SCSI_DATA_READ)) { + if (len != 0 && (srb->sc_data_direction == DMA_FROM_DEVICE)) { // How many bytes to read in? Check cylL register diff --git a/drivers/usb/storage/shuttle_usbat.h b/drivers/usb/storage/shuttle_usbat.h index e9c4aead5..9855c1d32 100644 --- a/drivers/usb/storage/shuttle_usbat.h +++ b/drivers/usb/storage/shuttle_usbat.h @@ -53,7 +53,7 @@ #define USBAT_UIO_ADPRST 0x01 // Reset SCM chip /* HP 8200e stuff */ -extern int hp8200e_transport(Scsi_Cmnd *srb, struct us_data *us); +extern int hp8200e_transport(struct scsi_cmnd *srb, struct us_data *us); extern int init_8200e(struct us_data *us); #endif diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c index 232155854..42f784321 100644 --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c @@ -46,15 +46,20 @@ */ #include +#include +#include +#include + +#include +#include +#include + #include "transport.h" #include "protocol.h" #include "scsiglue.h" #include "usb.h" #include "debug.h" -#include -#include -#include /*********************************************************************** * Data transfer routines @@ -260,9 +265,7 @@ int usb_stor_clear_halt(struct us_data *us, unsigned int pipe) USB_ENDPOINT_HALT, endp, NULL, 0, 3*HZ); - /* reset the toggles and endpoint flags */ - usb_endpoint_running(us->pusb_dev, usb_pipeendpoint(pipe), - usb_pipeout(pipe)); + /* reset the endpoint toggle */ usb_settoggle(us->pusb_dev, usb_pipeendpoint(pipe), usb_pipeout(pipe), 0); @@ -522,7 +525,7 @@ int usb_stor_bulk_transfer_sg(struct us_data* us, unsigned int pipe, * This is used by the protocol layers to actually send the message to * the device and receive the response. */ -void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us) +void usb_stor_invoke_transport(struct scsi_cmnd *srb, struct us_data *us) { int need_auto_sense; int result; @@ -569,7 +572,7 @@ void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us) * can signal most data-in errors by stalling the bulk-in pipe. */ if ((us->protocol == US_PR_CB || us->protocol == US_PR_DPCM_USB) && - srb->sc_data_direction != SCSI_DATA_READ) { + srb->sc_data_direction != DMA_FROM_DEVICE) { US_DEBUGP("-- CB transport device requiring auto-sense\n"); need_auto_sense = 1; } @@ -629,7 +632,7 @@ void usb_stor_invoke_transport(Scsi_Cmnd *srb, struct us_data *us) /* set the transfer direction */ old_sc_data_direction = srb->sc_data_direction; - srb->sc_data_direction = SCSI_DATA_READ; + srb->sc_data_direction = DMA_FROM_DEVICE; /* use the new buffer we have */ old_request_buffer = srb->request_buffer; @@ -749,7 +752,7 @@ void usb_stor_stop_transport(struct us_data *us) * Control/Bulk/Interrupt transport */ -int usb_stor_CBI_transport(Scsi_Cmnd *srb, struct us_data *us) +int usb_stor_CBI_transport(struct scsi_cmnd *srb, struct us_data *us) { unsigned int transfer_length = srb->request_bufflen; unsigned int pipe = 0; @@ -778,7 +781,7 @@ int usb_stor_CBI_transport(Scsi_Cmnd *srb, struct us_data *us) /* DATA STAGE */ /* transfer the data payload for this command, if one exists*/ if (transfer_length) { - pipe = srb->sc_data_direction == SCSI_DATA_READ ? + pipe = srb->sc_data_direction == DMA_FROM_DEVICE ? us->recv_bulk_pipe : us->send_bulk_pipe; result = usb_stor_bulk_transfer_sg(us, pipe, srb->request_buffer, transfer_length, @@ -849,7 +852,7 @@ int usb_stor_CBI_transport(Scsi_Cmnd *srb, struct us_data *us) /* * Control/Bulk transport */ -int usb_stor_CB_transport(Scsi_Cmnd *srb, struct us_data *us) +int usb_stor_CB_transport(struct scsi_cmnd *srb, struct us_data *us) { unsigned int transfer_length = srb->request_bufflen; int result; @@ -877,7 +880,7 @@ int usb_stor_CB_transport(Scsi_Cmnd *srb, struct us_data *us) /* DATA STAGE */ /* transfer the data payload for this command, if one exists*/ if (transfer_length) { - unsigned int pipe = srb->sc_data_direction == SCSI_DATA_READ ? + unsigned int pipe = srb->sc_data_direction == DMA_FROM_DEVICE ? us->recv_bulk_pipe : us->send_bulk_pipe; result = usb_stor_bulk_transfer_sg(us, pipe, srb->request_buffer, transfer_length, @@ -908,6 +911,7 @@ int usb_stor_Bulk_max_lun(struct us_data *us) int result; /* issue the command */ + us->iobuf[0] = 0; result = usb_stor_control_msg(us, us->recv_ctrl_pipe, US_BULK_GET_MAX_LUN, USB_DIR_IN | USB_TYPE_CLASS | @@ -918,7 +922,7 @@ int usb_stor_Bulk_max_lun(struct us_data *us) result, us->iobuf[0]); /* if we have a successful request, return the result */ - if (result == 1) + if (result >= 0) return us->iobuf[0]; /* @@ -939,7 +943,7 @@ int usb_stor_Bulk_max_lun(struct us_data *us) return -1; } -int usb_stor_Bulk_transport(Scsi_Cmnd *srb, struct us_data *us) +int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us) { struct bulk_cb_wrap *bcb = (struct bulk_cb_wrap *) us->iobuf; struct bulk_cs_wrap *bcs = (struct bulk_cs_wrap *) us->iobuf; @@ -952,7 +956,7 @@ int usb_stor_Bulk_transport(Scsi_Cmnd *srb, struct us_data *us) /* set up the command wrapper */ bcb->Signature = cpu_to_le32(US_BULK_CB_SIGN); bcb->DataTransferLength = cpu_to_le32(transfer_length); - bcb->Flags = srb->sc_data_direction == SCSI_DATA_READ ? 1 << 7 : 0; + bcb->Flags = srb->sc_data_direction == DMA_FROM_DEVICE ? 1 << 7 : 0; bcb->Tag = srb->serial_number; bcb->Lun = srb->device->lun; if (us->flags & US_FL_SCM_MULT_TARG) @@ -977,8 +981,14 @@ int usb_stor_Bulk_transport(Scsi_Cmnd *srb, struct us_data *us) /* DATA STAGE */ /* send/receive data payload, if there is any */ + + /* Genesys Logic interface chips need a 100us delay between the + * command phase and the data phase */ + if (us->pusb_dev->descriptor.idVendor == USB_VENDOR_ID_GENESYS) + udelay(100); + if (transfer_length) { - unsigned int pipe = srb->sc_data_direction == SCSI_DATA_READ ? + unsigned int pipe = srb->sc_data_direction == DMA_FROM_DEVICE ? us->recv_bulk_pipe : us->send_bulk_pipe; result = usb_stor_bulk_transfer_sg(us, pipe, srb->request_buffer, transfer_length, diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index 195e98f95..36d2bfa48 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h @@ -45,11 +45,6 @@ * */ -UNUSUAL_DEV( 0x03ee, 0x0000, 0x0000, 0x0245, - "Mitsumi", - "CD-R/RW Drive", - US_SC_8020, US_PR_CBI, NULL, 0), - UNUSUAL_DEV( 0x03ee, 0x6901, 0x0000, 0x0100, "Mitsumi", "USB FDD", @@ -73,16 +68,6 @@ UNUSUAL_DEV( 0x03f0, 0x0307, 0x0001, 0x0001, US_SC_8070, US_PR_SCM_ATAPI, init_8200e, 0), #endif -/* : I don't know the name of the bridge - * manufacturer, but I've got an external USB drive by the Revoltec company - * that needs this. otherwise the drive is recognized as /dev/sda, but any - * access to it blocks indefinitely. - */ -UNUSUAL_DEV( 0x0402, 0x5621, 0x0103, 0x0103, - "Revoltec", - "USB/IDE Bridge (ATA/ATAPI)", - US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_FIX_INQUIRY), - /* Deduced by Jonathan Woithe * Entry needed for flags: US_FL_FIX_INQUIRY because initial inquiry message * always fails and confuses drive. @@ -373,6 +358,15 @@ UNUSUAL_DEV( 0x057b, 0x0000, 0x0300, 0x9999, US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_SINGLE_LUN), +/* Reported by Johann Cardon + * This entry is needed only because the device reports + * bInterfaceClass = 0xff (vendor-specific) + */ +UNUSUAL_DEV( 0x057b, 0x0022, 0x0000, 0x9999, + "Y-E Data", + "Silicon Media R/W", + US_SC_DEVICE, US_PR_DEVICE, NULL, 0), + /* Fabrizio Fellini */ UNUSUAL_DEV( 0x0595, 0x4343, 0x0000, 0x2210, "Fujifilm", @@ -384,11 +378,15 @@ UNUSUAL_DEV( 0x059f, 0xa601, 0x0200, 0x0200, "USB Hard Disk", US_SC_RBC, US_PR_CB, NULL, 0 ), -/* Submitted by Jol Bourquard */ +/* Submitted by Joel Bourquard + * Some versions of this device need the SubClass and Protocol overrides + * while others don't. + */ UNUSUAL_DEV( 0x05ab, 0x0060, 0x1104, 0x1110, "In-System", "PyroGate External CD-ROM Enclosure (FCD-523)", - US_SC_SCSI, US_PR_BULK, NULL, 0 ), + US_SC_SCSI, US_PR_BULK, NULL, + US_FL_NEED_OVERRIDE ), #ifdef CONFIG_USB_STORAGE_ISD200 UNUSUAL_DEV( 0x05ab, 0x0031, 0x0100, 0x0110, @@ -416,6 +414,20 @@ UNUSUAL_DEV( 0x05ab, 0x5701, 0x0100, 0x0110, 0 ), #endif +/* Reported by Avi Kivity */ +UNUSUAL_DEV( 0x05ac, 0x1203, 0x0001, 0x0001, + "Apple", + "iPod", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_FIX_CAPACITY ), + +/* Reported by */ +UNUSUAL_DEV( 0x05ac, 0x1202, 0x0001, 0x0001, + "Apple", + "iPod", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_FIX_CAPACITY ), + #ifdef CONFIG_USB_STORAGE_JUMPSHOT UNUSUAL_DEV( 0x05dc, 0x0001, 0x0000, 0x0001, "Lexar", @@ -482,6 +494,13 @@ UNUSUAL_DEV( 0x066b, 0x0105, 0x0100, 0x0100, US_FL_SINGLE_LUN ), #endif +/* Reported by Darsen Lu */ +UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0001, + "SigmaTel", + "USBMSC Audio Player", + US_SC_DEVICE, US_PR_DEVICE, NULL, + US_FL_FIX_CAPACITY ), + /* Submitted by Benny Sjostrand */ UNUSUAL_DEV( 0x0686, 0x4011, 0x0001, 0x0001, "Minolta", @@ -510,11 +529,13 @@ UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, US_SC_SCSI, US_PR_CB, NULL, US_FL_SINGLE_LUN ), +#if !defined(CONFIG_BLK_DEV_UB) && !defined(CONFIG_BLK_DEV_UB_MODULE) UNUSUAL_DEV( 0x0781, 0x0002, 0x0009, 0x0009, "Sandisk", "ImageMate SDDR-31", US_SC_DEVICE, US_PR_DEVICE, NULL, US_FL_IGNORE_SER ), +#endif UNUSUAL_DEV( 0x0781, 0x0100, 0x0100, 0x0100, "Sandisk", @@ -685,7 +706,7 @@ UNUSUAL_DEV( 0x090a, 0x1001, 0x0100, 0x0100, "Trumpion", "t33520 USB Flash Card Controller", US_SC_DEVICE, US_PR_BULK, NULL, - US_FL_MODE_XLATE), + US_FL_NEED_OVERRIDE | US_FL_MODE_XLATE), /* Trumpion Microelectronics MP3 player (felipe_alfaro@linuxmail.org) */ UNUSUAL_DEV( 0x090a, 0x1200, 0x0000, 0x9999, diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index ad22739be..1c49b7bd3 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -50,6 +50,11 @@ #include #include #include + +#include +#include +#include + #include "usb.h" #include "scsiglue.h" #include "transport.h" @@ -133,7 +138,9 @@ static struct usb_device_id storage_usb_ids [] = { { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_QIC, US_PR_BULK) }, { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_UFI, US_PR_BULK) }, { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_8070, US_PR_BULK) }, +#if !defined(CONFIG_BLK_DEV_UB) && !defined(CONFIG_BLK_DEV_UB_MODULE) { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, US_SC_SCSI, US_PR_BULK) }, +#endif /* Terminating entry */ { } @@ -207,8 +214,10 @@ static struct us_unusual_dev us_unusual_dev_list[] = { .useTransport = US_PR_BULK}, { .useProtocol = US_SC_8070, .useTransport = US_PR_BULK}, +#if !defined(CONFIG_BLK_DEV_UB) && !defined(CONFIG_BLK_DEV_UB_MODULE) { .useProtocol = US_SC_SCSI, .useTransport = US_PR_BULK}, +#endif /* Terminating entry */ { NULL } @@ -276,7 +285,7 @@ static int usb_stor_control_thread(void * __us) */ daemonize("usb-storage"); - current->flags |= PF_NOFREEZE; + current->flags |= PF_NOFREEZE|PF_MEMALLOC; unlock_kernel(); @@ -322,7 +331,7 @@ static int usb_stor_control_thread(void * __us) /* reject the command if the direction indicator * is UNKNOWN */ - if (us->srb->sc_data_direction == SCSI_DATA_UNKNOWN) { + if (us->srb->sc_data_direction == DMA_BIDIRECTIONAL) { US_DEBUGP("UNKNOWN data direction\n"); us->srb->result = DID_ERROR << 16; } @@ -423,6 +432,13 @@ static int associate_dev(struct us_data *us, struct usb_interface *intf) us->pusb_dev = interface_to_usbdev(intf); us->pusb_intf = intf; us->ifnum = intf->cur_altsetting->desc.bInterfaceNumber; + US_DEBUGP("Vendor: 0x%04x, Product: 0x%04x, Revision: 0x%04x\n", + us->pusb_dev->descriptor.idVendor, + us->pusb_dev->descriptor.idProduct, + us->pusb_dev->descriptor.bcdDevice); + US_DEBUGP("Interface Subclass: 0x%02x, Protocol: 0x%02x\n", + intf->cur_altsetting->desc.bInterfaceSubClass, + intf->cur_altsetting->desc.bInterfaceProtocol); /* Store our private data in the interface */ usb_set_intfdata(intf, us); @@ -453,11 +469,6 @@ static void get_device_info(struct us_data *us, int id_index) struct us_unusual_dev *unusual_dev = &us_unusual_dev_list[id_index]; struct usb_device_id *id = &storage_usb_ids[id_index]; - if (unusual_dev->vendorName) - US_DEBUGP("Vendor: %s\n", unusual_dev->vendorName); - if (unusual_dev->productName) - US_DEBUGP("Product: %s\n", unusual_dev->productName); - /* Store the entries */ us->unusual_dev = unusual_dev; us->subclass = (unusual_dev->useProtocol == US_SC_DEVICE) ? @@ -528,6 +539,8 @@ static void get_device_info(struct us_data *us, int id_index) } if (strlen(us->serial) == 0) strcpy(us->serial, "None"); + + US_DEBUGP("Vendor: %s, Product: %s\n", us->vendor, us->product); } /* Get the transport settings */ @@ -715,8 +728,6 @@ static int get_pipes(struct us_data *us) ep_int = ep; } } - US_DEBUGP("Endpoints: In: 0x%p Out: 0x%p Int: 0x%p (Period %d)\n", - ep_in, ep_out, ep_int, ep_int ? ep_int->bInterval : 0); if (!ep_in || !ep_out || (us->protocol == US_PR_CBI && !ep_int)) { US_DEBUGP("Endpoint sanity check failed! Rejecting dev.\n"); @@ -880,9 +891,6 @@ static int storage_probe(struct usb_interface *intf, int result; US_DEBUGP("USB Mass Storage device detected\n"); - US_DEBUGP("altsetting is %d, id_index is %d\n", - intf->cur_altsetting->desc.bAlternateSetting, - id_index); /* Allocate the us_data structure and initialize the mutexes */ us = (struct us_data *) kmalloc(sizeof(*us), GFP_KERNEL); diff --git a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h index 35d01444a..785f30be6 100644 --- a/drivers/usb/storage/usb.h +++ b/drivers/usb/storage/usb.h @@ -48,10 +48,9 @@ #include #include #include -#include "scsi.h" -#include struct us_data; +struct scsi_cmnd; /* * Unusual device list definitions @@ -102,9 +101,9 @@ struct us_unusual_dev { #define US_IOBUF_SIZE 64 /* Size of the DMA-mapped I/O buffer */ -typedef int (*trans_cmnd)(Scsi_Cmnd*, struct us_data*); +typedef int (*trans_cmnd)(struct scsi_cmnd *, struct us_data*); typedef int (*trans_reset)(struct us_data*); -typedef void (*proto_cmnd)(Scsi_Cmnd*, struct us_data*); +typedef void (*proto_cmnd)(struct scsi_cmnd*, struct us_data*); typedef void (*extra_data_destructor)(void *); /* extra data destructor */ /* we allocate one of these for every device that we remember */ @@ -144,7 +143,7 @@ struct us_data { /* SCSI interfaces */ struct Scsi_Host *host; /* our dummy host data */ - Scsi_Cmnd *srb; /* current srb */ + struct scsi_cmnd *srb; /* current srb */ /* thread information */ int pid; /* control thread */ @@ -180,4 +179,8 @@ extern void fill_inquiry_response(struct us_data *us, #define scsi_unlock(host) spin_unlock_irq(host->host_lock) #define scsi_lock(host) spin_lock_irq(host->host_lock) + +/* Vendor ID list for devices that require special handling */ +#define USB_VENDOR_ID_GENESYS 0x05e3 /* Genesys Logic */ + #endif diff --git a/drivers/video/68328fb.c b/drivers/video/68328fb.c index 5e9bcf5a8..6a3cfbdc6 100644 --- a/drivers/video/68328fb.c +++ b/drivers/video/68328fb.c @@ -199,6 +199,15 @@ static int mc68x328fb_check_var(struct fb_var_screeninfo *var, */ switch (var->bits_per_pixel) { case 1: + var->red.offset = 0; + var->red.length = 1; + var->green.offset = 0; + var->green.length = 1; + var->blue.offset = 0; + var->blue.length = 1; + var->transp.offset = 0; + var->transp.length = 0; + break; case 8: var->red.offset = 0; var->red.length = 8; @@ -430,6 +439,13 @@ int __init mc68x328fb_setup(char *options) int __init mc68x328fb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("68328fb", &option)) + return -ENODEV; + mc68x328fb_setup(option); +#endif /* * initialize the default mode from the LCD controller registers */ @@ -452,8 +468,12 @@ int __init mc68x328fb_init(void) get_line_length(mc68x328fb_default.xres_virtual, mc68x328fb_default.bits_per_pixel); fb_info.fix.visual = (mc68x328fb_default.bits_per_pixel) == 1 ? MC68X328FB_MONO_VISUAL : FB_VISUAL_PSEUDOCOLOR; + if (fb_info.var.bits_per_pixel == 1) { + fb_info.var.red.length = fb_info.var.green.length = fb_info.var.blue.length = 1; + fb_info.var.red.offset = fb_info.var.green.offset = fb_info.var.blue.offset = 0; + } fb_info.pseudo_palette = &mc68x328fb_pseudo_palette; - fb_info.flags = FBINFO_FLAG_DEFAULT; + fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; fb_alloc_cmap(&fb_info.cmap, 256, 0); @@ -471,6 +491,8 @@ int __init mc68x328fb_init(void) return 0; } +module_init(mc68x328fb_init); + #ifdef MODULE static void __exit mc68x328fb_cleanup(void) @@ -478,7 +500,6 @@ static void __exit mc68x328fb_cleanup(void) unregister_framebuffer(&fb_info); } -module_init(mc68x328fb_init); module_exit(mc68x328fb_cleanup); MODULE_LICENSE("GPL"); diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 798ba0032..ab23abe01 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -38,6 +38,17 @@ config FB (e.g. an accelerated X server) and that are not frame buffer device-aware may cause unexpected results. If unsure, say N. +config FB_MODE_HELPERS + bool "Enable Video Mode Handling Helpers" + depends on FB + default y + ---help--- + This enables functions for handling video modes using the + Generalized Timing Formula and the EDID parser. A few drivers rely + on this feature such as the radeonfb, rivafb, and the i810fb. If + your driver does not take advantage of this feature, choosing Y will + just increase the kernel size by about 5K. + config FB_CIRRUS tristate "Cirrus Logic support" depends on FB && (ZORRO || PCI) @@ -68,6 +79,19 @@ config FB_PM2_FIFO_DISCONNECT help Support the Permedia2 FIFO disconnect feature (see CONFIG_FB_PM2). +config FB_ARMCLCD + tristate "ARM PrimeCell PL110 support" + depends on FB && ARM && ARM_AMBA + help + This framebuffer device driver is for the ARM PrimeCell PL110 + Colour LCD controller. ARM PrimeCells provide the building + blocks for System on a Chip devices. + + If you want to compile this as a module (=code which can be + inserted into and removed from the running kernel), say M + here and read . The module + will be called amba-clcd. + config FB_ACORN bool "Acorn VIDC support" depends on FB && ARM && ARCH_ACORN @@ -392,40 +416,21 @@ config FB_PVR2 (). Please see the file . -config FB_E1355 +config FB_EPSON1355 bool "Epson 1355 framebuffer support" - depends on FB && SUPERH + depends on FB && (SUPERH || ARCH_CEIVA) help Build in support for the SED1355 Epson Research Embedded RAMDAC LCD/CRT Controller (since redesignated as the S1D13505) as a framebuffer. Product specs at . -config E1355_REG_BASE - hex "Register Base Address" - depends on FB_E1355 - default "a8000000" - help - Epson SED1355/S1D13505 LCD/CRT controller register base address. - See the manuals at - for - discussion. - -config E1355_FB_BASE - hex "Framebuffer Base Address" - depends on FB_E1355 - default "a8200000" - help - Epson SED1355/S1D13505 LCD/CRT controller memory base address. See - the manuals at - for - discussion. - config FB_RIVA tristate "nVidia Riva support" depends on FB && PCI select I2C_ALGOBIT if FB_RIVA_I2C select I2C if FB_RIVA_I2C + select FB_MODE_HELPERS help This driver supports graphics boards with the nVidia Riva/Geforce chips. @@ -457,7 +462,10 @@ config FB_RIVA_DEBUG config FB_I810 tristate "Intel 810/815 support (EXPERIMENTAL)" - depends on FB && AGP && AGP_INTEL && EXPERIMENTAL && PCI + depends on FB && EXPERIMENTAL && PCI && X86 && !X86_64 + select AGP + select AGP_INTEL + select FB_MODE_HELPERS help This driver supports the on-board graphics built in to the Intel 810 and 815 chipsets. Say Y if you have and plan to use such a board. @@ -661,6 +669,7 @@ config FB_RADEON depends on FB && PCI select I2C_ALGOBIT if FB_RADEON_I2C select I2C if FB_RADEON_I2C + select FB_MODE_HELPERS help Choose this option if you want to use an ATI Radeon graphics card as a framebuffer device. There are both PCI and AGP versions. You @@ -766,6 +775,7 @@ config FB_SIS_315 config FB_NEOMAGIC tristate "NeoMagic display support" depends on FB && PCI + select FB_MODE_HELPERS help This driver supports notebooks with NeoMagic PCI chips. Say Y if you have such a graphics card. diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 52e37a0fc..b88f69ae1 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -13,80 +13,88 @@ ifeq ($(CONFIG_FB),y) obj-$(CONFIG_PPC) += macmodes.o endif -obj-$(CONFIG_FB_ACORN) += acornfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +# Hardware specific drivers go first +obj-$(CONFIG_FB_RETINAZ3) += retz3fb.o obj-$(CONFIG_FB_AMIGA) += amifb.o c2p.o +obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_CYBER) += cyberfb.o +obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_PM2) += pm2fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_PM3) += pm3fb.o -obj-$(CONFIG_FB_APOLLO) += dnfb.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_Q40) += q40fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_ATARI) += atafb.o -obj-$(CONFIG_FB_68328) += 68328fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o + +obj-$(CONFIG_FB_MATROX) += matrox/ cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_RIVA) += riva/ cfbimgblt.o vgastate.o +obj-$(CONFIG_FB_ATY) += aty/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o +obj-$(CONFIG_FB_ATY128) += aty/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o +obj-$(CONFIG_FB_RADEON) += aty/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o +obj-$(CONFIG_FB_SIS) += sis/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o +obj-$(CONFIG_FB_KYRO) += kyro/ cfbfillrect.o cfbcopyarea.o cfbimgblt.o + +obj-$(CONFIG_FB_I810) += cfbcopyarea.o cfbfillrect.o cfbimgblt.o \ + vgastate.o obj-$(CONFIG_FB_RADEON_OLD) += radeonfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_NEOMAGIC) += neofb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o vgastate.o -obj-$(CONFIG_FB_IGA) += igafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_VIRGE) += virgefb.o +obj-$(CONFIG_FB_3DFX) += tdfxfb.o cfbimgblt.o +ifneq ($(CONFIG_FB_3DFX_ACCEL),y) +obj-$(CONFIG_FB_3DFX) += cfbfillrect.o cfbcopyarea.o +endif obj-$(CONFIG_FB_CONTROL) += controlfb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_PLATINUM) += platinumfb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_CT65550) += chipsfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_CYBER) += cyberfb.o -obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_GBE) += gbefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_SGIVW) += sgivwfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_3DFX) += tdfxfb.o cfbimgblt.o -obj-$(CONFIG_FB_MAC) += macfb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_HP300) += hpfb.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_OF) += offb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o obj-$(CONFIG_FB_IMSTT) += imsttfb.o cfbimgblt.o -obj-$(CONFIG_FB_RETINAZ3) += retz3fb.o -obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o -obj-$(CONFIG_FB_TRIDENT) += tridentfb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o obj-$(CONFIG_FB_S3TRIO) += S3triofb.o -obj-$(CONFIG_FB_TGA) += tgafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_VESA) += vesafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_VGA16) += vga16fb.o cfbfillrect.o cfbcopyarea.o \ - cfbimgblt.o vgastate.o -obj-$(CONFIG_FB_VIRGE) += virgefb.o -obj-$(CONFIG_FB_G364) += g364fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_FM2) += fm2fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_TRIDENT) += tridentfb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o obj-$(CONFIG_FB_STI) += stifb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_MAXINE) += maxinefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_TX3912) += tx3912fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o - -obj-$(CONFIG_FB_MATROX) += matrox/ cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_RIVA) += riva/ cfbimgblt.o vgastate.o -obj-$(CONFIG_FB_SIS) += sis/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_ATY) += aty/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_ATY128) += aty/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_RADEON) += aty/ cfbcopyarea.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_I810) += i810/ cfbfillrect.o cfbcopyarea.o \ - cfbimgblt.o vgastate.o - -obj-$(CONFIG_FB_SUN3) += sun3fb.o +obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o cfbimgblt.o cfbcopyarea.o +obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o cfbimgblt.o cfbcopyarea.o +obj-$(CONFIG_FB_CG3) += cg3.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ + cfbfillrect.o +obj-$(CONFIG_FB_BW2) += bw2.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ + cfbfillrect.o +obj-$(CONFIG_FB_CG14) += cg14.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ + cfbfillrect.o +obj-$(CONFIG_FB_P9100) += p9100.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ + cfbfillrect.o +obj-$(CONFIG_FB_TCX) += tcx.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ + cfbfillrect.o +obj-$(CONFIG_FB_LEO) += leo.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ + cfbfillrect.o +obj-$(CONFIG_FB_SGIVW) += sgivwfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_ACORN) += acornfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_ATARI) += atafb.o +obj-$(CONFIG_FB_MAC) += macfb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_HGA) += hgafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_IGA) += igafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_APOLLO) += dnfb.o cfbfillrect.o cfbimgblt.o +obj-$(CONFIG_FB_Q40) += q40fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_TGA) += tgafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_HP300) += hpfb.o cfbfillrect.o cfbimgblt.o +obj-$(CONFIG_FB_G364) += g364fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_SA1100) += sa1100fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_VIRTUAL) += vfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_SUN3) += sun3fb.o obj-$(CONFIG_FB_HIT) += hitfb.o cfbfillrect.o cfbimgblt.o -obj-$(CONFIG_FB_E1355) += epson1355fb.o +obj-$(CONFIG_FB_TX3912) += tx3912fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_EPSON1355) += epson1355fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_PVR2) += pvr2fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o -obj-$(CONFIG_FB_KYRO) += kyro/ cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_MAXINE) += maxinefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o obj-$(CONFIG_FB_VOODOO1) += sstfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_68328) += 68328fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_GBE) += gbefb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o obj-$(CONFIG_FB_ASILIANT) += asiliantfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_PXA) += pxafb.o cfbimgblt.o cfbcopyarea.o cfbfillrect.o + +# Platform or fallback drivers go here +obj-$(CONFIG_FB_VESA) += vesafb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o +obj-$(CONFIG_FB_VGA16) += vga16fb.o cfbfillrect.o cfbcopyarea.o \ + cfbimgblt.o vgastate.o +obj-$(CONFIG_FB_OF) += offb.o cfbfillrect.o cfbimgblt.o cfbcopyarea.o -obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o cfbimgblt.o cfbcopyarea.o -obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o cfbimgblt.o cfbcopyarea.o -obj-$(CONFIG_FB_CG3) += cg3.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ - cfbfillrect.o -obj-$(CONFIG_FB_BW2) += bw2.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ - cfbfillrect.o -obj-$(CONFIG_FB_CG14) += cg14.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ - cfbfillrect.o -obj-$(CONFIG_FB_P9100) += p9100.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ - cfbfillrect.o -obj-$(CONFIG_FB_TCX) += tcx.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ - cfbfillrect.o -obj-$(CONFIG_FB_LEO) += leo.o sbuslib.o cfbimgblt.o cfbcopyarea.o \ - cfbfillrect.o -obj-$(CONFIG_FB_PXA) += pxafb.o cfbimgblt.o cfbcopyarea.o cfbfillrect.o +# the test framebuffer is last +obj-$(CONFIG_FB_VIRTUAL) += vfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o diff --git a/drivers/video/acornfb.c b/drivers/video/acornfb.c index 0c3aa4a7f..f7bfbc722 100644 --- a/drivers/video/acornfb.c +++ b/drivers/video/acornfb.c @@ -1010,7 +1010,7 @@ static void __init acornfb_init_fbinfo(void) first = 0; fb_info.fbops = &acornfb_ops; - fb_info.flags = FBINFO_FLAG_DEFAULT; + fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; fb_info.pseudo_palette = current_par.pseudo_palette; strcpy(fb_info.fix.id, "Acorn"); @@ -1291,6 +1291,11 @@ acornfb_init(void) unsigned long size; u_int h_sync, v_sync; int rc, i; + char *option = NULL; + + if (fb_get_options("acornfb", &option)) + return -ENODEV; + acornfb_setup(option); acornfb_init_fbinfo(); @@ -1456,6 +1461,8 @@ acornfb_init(void) return 0; } +module_init(acornfb_init); + MODULE_AUTHOR("Russell King"); MODULE_DESCRIPTION("VIDC 1/1a/20 framebuffer driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c index 37177bece..2d753a150 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c @@ -1902,7 +1902,7 @@ static int __init aty_init(struct fb_info *info, const char *name) return 1; } -int __init atyfb_init(void) +int __init atyfb_do_init(void) { #if defined(CONFIG_PCI) unsigned long addr, res_start, res_size; @@ -1917,12 +1917,14 @@ int __init atyfb_init(void) char prop[128]; int node, len, j; u32 mem, chip_id; +#else + u16 tmp; +#endif +#ifdef __sparc__ /* Do not attach when we have a serial console. */ if (!con_is_present()) return -ENXIO; -#else - u16 tmp; #endif while ((pdev = @@ -2377,6 +2379,19 @@ int __init atyfb_init(void) return 0; } +int __init atyfb_init(void) +{ +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("atyfb", &option)) + return -ENODEV; + atyfb_setup(option); +#endif + return atyfb_do_init(); +} + + #ifndef MODULE int __init atyfb_setup(char *options) { @@ -2445,6 +2460,7 @@ int __init atyfb_setup(char *options) } return 0; } +module_init(atyfb_init); #endif /* !MODULE */ #ifdef CONFIG_ATARI diff --git a/drivers/video/aty/radeon_base.c b/drivers/video/aty/radeon_base.c index acec888bd..458137971 100644 --- a/drivers/video/aty/radeon_base.c +++ b/drivers/video/aty/radeon_base.c @@ -282,7 +282,7 @@ static void __devexit radeon_unmap_ROM(struct radeonfb_info *rinfo, struct pci_d static int __devinit radeon_map_ROM(struct radeonfb_info *rinfo, struct pci_dev *dev) { - void *rom; + void __iomem *rom; struct resource *r; u16 dptr; u8 rom_type; @@ -395,13 +395,13 @@ static int __devinit radeon_find_mem_vbios(struct radeonfb_info *rinfo) * if we end up having conflicts */ u32 segstart; - unsigned char *rom_base = NULL; + void __iomem *rom_base = NULL; for(segstart=0x000c0000; segstart<0x000f0000; segstart+=0x00001000) { - rom_base = (char *)ioremap(segstart, 0x10000); + rom_base = ioremap(segstart, 0x10000); if (rom_base == NULL) return -ENOMEM; - if ((*rom_base == 0x55) && (((*(rom_base + 1)) & 0xff) == 0xaa)) + if (readb(rom_base) == 0x55 && readb(rom_base + 1) == 0xaa) break; iounmap(rom_base); rom_base = NULL; @@ -1707,68 +1707,6 @@ int radeonfb_set_par(struct fb_info *info) } - -static ssize_t radeonfb_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) -{ - unsigned long p = *ppos; - struct inode *inode = file->f_dentry->d_inode; - int fbidx = iminor(inode); - struct fb_info *info = registered_fb[fbidx]; - struct radeonfb_info *rinfo = info->par; - - if (p >= rinfo->mapped_vram) - return 0; - if (count >= rinfo->mapped_vram) - count = rinfo->mapped_vram; - if (count + p > rinfo->mapped_vram) - count = rinfo->mapped_vram - p; - radeonfb_sync(info); - if (count) { - char *base_addr; - - base_addr = info->screen_base; - count -= copy_to_user(buf, base_addr+p, count); - if (!count) - return -EFAULT; - *ppos += count; - } - return count; -} - -static ssize_t radeonfb_write(struct file *file, const char __user *buf, size_t count, - loff_t *ppos) -{ - unsigned long p = *ppos; - struct inode *inode = file->f_dentry->d_inode; - int fbidx = iminor(inode); - struct fb_info *info = registered_fb[fbidx]; - struct radeonfb_info *rinfo = info->par; - int err; - - if (p > rinfo->mapped_vram) - return -ENOSPC; - if (count >= rinfo->mapped_vram) - count = rinfo->mapped_vram; - err = 0; - if (count + p > rinfo->mapped_vram) { - count = rinfo->mapped_vram - p; - err = -ENOSPC; - } - radeonfb_sync(info); - if (count) { - char *base_addr; - - base_addr = info->screen_base; - count -= copy_from_user(base_addr+p, buf, count); - *ppos += count; - err = -EFAULT; - } - if (count) - return count; - return err; -} - - static struct fb_ops radeonfb_ops = { .owner = THIS_MODULE, .fb_check_var = radeonfb_check_var, @@ -1781,8 +1719,6 @@ static struct fb_ops radeonfb_ops = { .fb_fillrect = radeonfb_fillrect, .fb_copyarea = radeonfb_copyarea, .fb_imageblit = radeonfb_imageblit, - .fb_read = radeonfb_read, - .fb_write = radeonfb_write, .fb_cursor = soft_cursor, }; @@ -1800,8 +1736,8 @@ static int __devinit radeon_set_fbinfo (struct radeonfb_info *rinfo) | FBINFO_HWACCEL_XPAN | FBINFO_HWACCEL_YPAN; info->fbops = &radeonfb_ops; - info->screen_base = (char *)rinfo->fb_base; - + info->screen_base = rinfo->fb_base; + info->screen_size = rinfo->mapped_vram; /* Fill fix common fields */ strlcpy(info->fix.id, rinfo->name, sizeof(info->fix.id)); info->fix.smem_start = rinfo->fb_base_phys; @@ -1937,7 +1873,7 @@ static int radeon_set_backlight_level(int level, void *data) #undef SET_MC_FB_FROM_APERTURE static void fixup_memory_mappings(struct radeonfb_info *rinfo) { - u32 save_crtc_gen_cntl, save_crtc2_gen_cntl; + u32 save_crtc_gen_cntl, save_crtc2_gen_cntl = 0; u32 save_crtc_ext_cntl; u32 aper_base, aper_size; u32 agp_base; @@ -2074,19 +2010,22 @@ static int radeonfb_pci_register (struct pci_dev *pdev, struct fb_info *info; struct radeonfb_info *rinfo; u32 tmp; + int ret; RTRACE("radeonfb_pci_register BEGIN\n"); /* Enable device in PCI config */ - if (pci_enable_device(pdev) != 0) { + ret = pci_enable_device(pdev); + if (ret < 0) { printk(KERN_ERR "radeonfb: Cannot enable PCI device\n"); - return -ENODEV; + goto err_out; } info = framebuffer_alloc(sizeof(struct radeonfb_info), &pdev->dev); if (!info) { printk (KERN_ERR "radeonfb: could not allocate memory\n"); - return -ENODEV; + ret = -ENOMEM; + goto err_disable; } rinfo = info->par; rinfo->info = info; @@ -2111,23 +2050,19 @@ static int radeonfb_pci_register (struct pci_dev *pdev, rinfo->mmio_base_phys = pci_resource_start (pdev, 2); /* request the mem regions */ - if (!request_mem_region (rinfo->fb_base_phys, - pci_resource_len(pdev, 0), "radeonfb")) { - printk (KERN_ERR "radeonfb: cannot reserve FB region\n"); - goto free_rinfo; - } - - if (!request_mem_region (rinfo->mmio_base_phys, - pci_resource_len(pdev, 2), "radeonfb")) { - printk (KERN_ERR "radeonfb: cannot reserve MMIO region\n"); - goto release_fb; + ret = pci_request_regions(pdev, "radeonfb"); + if (ret < 0) { + printk( KERN_ERR "radeonfb: cannot reserve PCI regions." + " Someone already got them?\n"); + goto err_release_fb; } /* map the regions */ - rinfo->mmio_base = (unsigned long) ioremap (rinfo->mmio_base_phys, RADEON_REGSIZE); + rinfo->mmio_base = ioremap(rinfo->mmio_base_phys, RADEON_REGSIZE); if (!rinfo->mmio_base) { - printk (KERN_ERR "radeonfb: cannot map MMIO\n"); - goto release_mmio; + printk(KERN_ERR "radeonfb: cannot map MMIO\n"); + ret = -EIO; + goto err_release_pci; } /* On PPC, the firmware sets up a memory mapping that tends @@ -2231,33 +2166,24 @@ static int radeonfb_pci_register (struct pci_dev *pdev, RTRACE("radeonfb: probed %s %ldk videoram\n", (rinfo->ram_type), (rinfo->video_ram/1024)); - rinfo->mapped_vram = MAX_MAPPED_VRAM; - if (rinfo->video_ram < rinfo->mapped_vram) - rinfo->mapped_vram = rinfo->video_ram; - for (;;) { - rinfo->fb_base = (unsigned long) ioremap (rinfo->fb_base_phys, - rinfo->mapped_vram); - if (rinfo->fb_base == 0 && rinfo->mapped_vram > MIN_MAPPED_VRAM) { - rinfo->mapped_vram /= 2; - continue; - } - memset_io(rinfo->fb_base, 0, rinfo->mapped_vram); - break; - } + rinfo->mapped_vram = min_t(unsigned long, MAX_MAPPED_VRAM, rinfo->video_ram); - if (!rinfo->fb_base) { + do { + rinfo->fb_base = ioremap (rinfo->fb_base_phys, + rinfo->mapped_vram); + } while ( rinfo->fb_base == 0 && + ((rinfo->mapped_vram /=2) >= MIN_MAPPED_VRAM) ); + + if (rinfo->fb_base) + memset_io(rinfo->fb_base, 0, rinfo->mapped_vram); + else { printk (KERN_ERR "radeonfb: cannot map FB\n"); - goto unmap_rom; + ret = -EIO; + goto err_unmap_rom; } RTRACE("radeonfb: mapped %ldk videoram\n", rinfo->mapped_vram/1024); - - /* Argh. Scary arch !!! */ -#ifdef CONFIG_PPC64 - rinfo->fb_base = IO_TOKEN_TO_ADDR(rinfo->fb_base); -#endif - /* * Check for required workaround for PLL accesses */ @@ -2335,9 +2261,10 @@ static int radeonfb_pci_register (struct pci_dev *pdev, printk("radeonfb: Power Management enabled for Mobility chipsets\n"); } - if (register_framebuffer(info) < 0) { + ret = register_framebuffer(info); + if (ret < 0) { printk (KERN_ERR "radeonfb: could not register framebuffer\n"); - goto unmap_fb; + goto err_unmap_fb; } #ifdef CONFIG_MTRR @@ -2363,30 +2290,30 @@ static int radeonfb_pci_register (struct pci_dev *pdev, RTRACE("radeonfb_pci_register END\n"); return 0; -unmap_fb: - iounmap ((void*)rinfo->fb_base); -unmap_rom: +err_unmap_fb: + iounmap(rinfo->fb_base); +err_unmap_rom: if (rinfo->mon1_EDID) kfree(rinfo->mon1_EDID); if (rinfo->mon2_EDID) kfree(rinfo->mon2_EDID); if (rinfo->mon1_modedb) fb_destroy_modedb(rinfo->mon1_modedb); + fb_dealloc_cmap(&info->cmap); #ifdef CONFIG_FB_RADEON_I2C radeon_delete_i2c_busses(rinfo); #endif if (rinfo->bios_seg) radeon_unmap_ROM(rinfo, pdev); - iounmap ((void*)rinfo->mmio_base); -release_mmio: - release_mem_region (rinfo->mmio_base_phys, - pci_resource_len(pdev, 2)); -release_fb: - release_mem_region (rinfo->fb_base_phys, - pci_resource_len(pdev, 0)); -free_rinfo: + iounmap(rinfo->mmio_base); +err_release_pci: + pci_release_regions(pdev); +err_release_fb: framebuffer_release(info); - return -ENODEV; +err_disable: + pci_disable_device(pdev); +err_out: + return ret; } @@ -2415,13 +2342,10 @@ static void __devexit radeonfb_pci_unregister (struct pci_dev *pdev) unregister_framebuffer(info); - iounmap ((void*)rinfo->mmio_base); - iounmap ((void*)rinfo->fb_base); + iounmap(rinfo->mmio_base); + iounmap(rinfo->fb_base); - release_mem_region (rinfo->mmio_base_phys, - pci_resource_len(pdev, 2)); - release_mem_region (rinfo->fb_base_phys, - pci_resource_len(pdev, 0)); + pci_release_regions(pdev); if (rinfo->mon1_EDID) kfree(rinfo->mon1_EDID); @@ -2432,7 +2356,9 @@ static void __devexit radeonfb_pci_unregister (struct pci_dev *pdev) #ifdef CONFIG_FB_RADEON_I2C radeon_delete_i2c_busses(rinfo); #endif + fb_dealloc_cmap(&info->cmap); framebuffer_release(info); + pci_disable_device(pdev); } @@ -2447,9 +2373,17 @@ static struct pci_driver radeonfb_driver = { #endif /* CONFIG_PM */ }; +int __init radeonfb_setup (char *options); int __init radeonfb_init (void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("radeonfb", &option)) + return -ENODEV; + radeonfb_setup(option); +#endif return pci_module_init (&radeonfb_driver); } @@ -2494,9 +2428,9 @@ int __init radeonfb_setup (char *options) return 0; } +module_init(radeonfb_init); #ifdef MODULE -module_init(radeonfb_init); module_exit(radeonfb_exit); #endif diff --git a/drivers/video/aty/radeon_monitor.c b/drivers/video/aty/radeon_monitor.c index 94ff455d0..e6c01642c 100644 --- a/drivers/video/aty/radeon_monitor.c +++ b/drivers/video/aty/radeon_monitor.c @@ -55,7 +55,7 @@ static int __devinit radeon_parse_montype_prop(struct device_node *dp, u8 **out_ u8 *pedid = NULL; u8 *pmt = NULL; u8 *tmp; - int i, mt; + int i, mt = MT_NONE; RTRACE("analyzing OF properties...\n"); pmt = (u8 *)get_property(dp, "display-type", NULL); @@ -72,7 +72,9 @@ static int __devinit radeon_parse_montype_prop(struct device_node *dp, u8 **out_ else if (strcmp(pmt, "NONE")) { printk(KERN_WARNING "radeonfb: Unknown OF display-type: %s\n", pmt); return MT_NONE; - } + } else + return MT_NONE; + for (i = 0; propnames[i] != NULL; ++i) { pedid = (u8 *)get_property(dp, propnames[i], NULL); if (pedid != NULL) @@ -645,15 +647,23 @@ static void radeon_fixup_panel_info(struct radeonfb_info *rinfo) rinfo->panel_info.fbk_divider = 0xad; rinfo->panel_info.use_bios_dividers = 1; } + /* Aluminium PowerBook 15" */ + if (machine_is_compatible("PowerBook5,4")) { + rinfo->panel_info.ref_divider = rinfo->pll.ref_div; + rinfo->panel_info.post_divider = 0x2; + rinfo->panel_info.fbk_divider = 0x8e; + rinfo->panel_info.use_bios_dividers = 1; + } /* Aluminium PowerBook 17" */ - if (machine_is_compatible("PowerBook5,3")) { + if (machine_is_compatible("PowerBook5,3") || + machine_is_compatible("PowerBook5,5")) { rinfo->panel_info.ref_divider = rinfo->pll.ref_div; rinfo->panel_info.post_divider = 0x4; rinfo->panel_info.fbk_divider = 0x80; rinfo->panel_info.use_bios_dividers = 1; } /* iBook G4 */ - if (machine_is_compatible("PowerBook6,3") | + if (machine_is_compatible("PowerBook6,3") || machine_is_compatible("PowerBook6,5")) { rinfo->panel_info.ref_divider = rinfo->pll.ref_div; rinfo->panel_info.post_divider = 0x6; diff --git a/drivers/video/aty/radeonfb.h b/drivers/video/aty/radeonfb.h index 87223df80..447eb5841 100644 --- a/drivers/video/aty/radeonfb.h +++ b/drivers/video/aty/radeonfb.h @@ -262,14 +262,14 @@ struct radeonfb_info { unsigned long mmio_base_phys; unsigned long fb_base_phys; - unsigned long mmio_base; - unsigned long fb_base; + void __iomem *mmio_base; + void __iomem *fb_base; - unsigned long fb_local_base; + unsigned long fb_local_base; struct pci_dev *pdev; - u8 *bios_seg; + void __iomem *bios_seg; int fp_bios_start; u32 pseudo_palette[17]; diff --git a/drivers/video/cirrusfb.c b/drivers/video/cirrusfb.c index 82c26b15c..8132b3bf2 100644 --- a/drivers/video/cirrusfb.c +++ b/drivers/video/cirrusfb.c @@ -752,6 +752,12 @@ int cirrusfb_check_var(struct fb_var_screeninfo *var, switch (var->bits_per_pixel) { case 1: + var->red.offset = 0; + var->red.length = 1; + var->green.offset = 0; + var->green.length = 1; + var->blue.offset = 0; + var->blue.length = 1; break; case 8: @@ -2600,6 +2606,14 @@ int __init cirrusfb_init(void) { int error = 0; +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("cirrusfb", &option)) + return -ENODEV; + cirrusfb_setup(option); +#endif + #ifdef CONFIG_ZORRO error |= zorro_module_init(&cirrusfb_zorro_driver); #endif @@ -2657,8 +2671,9 @@ void __exit cirrusfb_exit (void) #endif } -#ifdef MODULE module_init(cirrusfb_init); + +#ifdef MODULE module_exit(cirrusfb_exit); #endif diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig index 5bc0ef0ab..85e796b70 100644 --- a/drivers/video/console/Kconfig +++ b/drivers/video/console/Kconfig @@ -6,7 +6,7 @@ menu "Console display driver support" config VGA_CONSOLE bool "VGA text console" if EMBEDDED || !X86 - depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC32 && !SPARC64 && !M68K + depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC32 && !SPARC64 && !M68K && !PARISC default y help Saying Y here will allow you to use Linux in text mode through a @@ -43,7 +43,7 @@ config VIDEO_SELECT about the Video mode selection support. If unsure, say N. config MDA_CONSOLE - depends on !M68K + depends on !M68K && ISA tristate "MDA text console (dual-headed) (EXPERIMENTAL)" ---help--- Say Y here if you have an old MDA or monochrome Hercules graphics @@ -67,7 +67,7 @@ config SGI_NEWPORT_CONSOLE # bool 'IODC console' CONFIG_IODC_CONSOLE config STI_CONSOLE tristate "STI text console" - depends on PARISC + depends on PARISC && FRAMEBUFFER_CONSOLE default y help The STI console is the builtin display/keyboard on HP-PARISC diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 2fcb51a57..2fba5cfcb 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -314,6 +314,28 @@ static int search_for_mapped_con(void) return 0; } +static int fbcon_takeover(void) +{ + int err, i; + + if (!num_registered_fb) + return -ENODEV; + + for (i = first_fb_vc; i <= last_fb_vc; i++) + con2fb_map[i] = info_idx; + + err = take_over_console(&fb_con, first_fb_vc, last_fb_vc, + fbcon_is_default); + if (err) { + for (i = first_fb_vc; i <= last_fb_vc; i++) { + con2fb_map[i] = -1; + } + info_idx = -1; + } + + return err; +} + /** * set_con2fb_map - map console to frame buffer device * @unit: virtual console number to map @@ -322,7 +344,7 @@ static int search_for_mapped_con(void) * Maps a virtual console @unit to a frame buffer device * @newidx. */ -int set_con2fb_map(int unit, int newidx) +static int set_con2fb_map(int unit, int newidx) { struct vc_data *vc = vc_cons[unit].d; int oldidx = con2fb_map[unit]; @@ -338,8 +360,7 @@ int set_con2fb_map(int unit, int newidx) if (!search_for_mapped_con()) { info_idx = newidx; - fb_console_init(); - return 0; + return fbcon_takeover(); } if (oldidx != -1) @@ -405,6 +426,87 @@ int set_con2fb_map(int unit, int newidx) /* * Accelerated handlers. */ +static inline int get_color(struct vc_data *vc, struct fb_info *info, + u16 c, int is_fg) +{ + int depth = fb_get_color_depth(info); + int color = 0; + + if (depth != 1) + color = (is_fg) ? attr_fgcol((vc->vc_hi_font_mask) ? 9 : 8, c) + : attr_bgcol((vc->vc_hi_font_mask) ? 13 : 12, c); + + switch (depth) { + case 1: + { + /* 0 or 1 */ + int fg = (info->fix.visual != FB_VISUAL_MONO01) ? 1 : 0; + int bg = (info->fix.visual != FB_VISUAL_MONO01) ? 0 : 1; + + color = (is_fg) ? fg : bg; + break; + } + case 2: + /* + * Scale down 16-colors to 4 colors. Default 4-color palette + * is grayscale. + */ + color /= 4; + break; + case 3: + /* + * Last 8 entries of default 16-color palette is a more intense + * version of the first 8 (i.e., same chrominance, different + * luminance). + */ + color &= 7; + break; + } + + return color; +} + +#define FBCON_ATTRIBUTE_UNDERLINE 1 +#define FBCON_ATTRIBUTE_REVERSE 2 +#define FBCON_ATTRIBUTE_BOLD 4 + +static inline int get_attribute(struct fb_info *info, u16 c) +{ + int attribute = 0; + + if (fb_get_color_depth(info) == 1) { + if (attr_underline(c)) + attribute |= FBCON_ATTRIBUTE_UNDERLINE; + if (attr_reverse(c)) + attribute |= FBCON_ATTRIBUTE_REVERSE; + if (attr_bold(c)) + attribute |= FBCON_ATTRIBUTE_BOLD; + } + + return attribute; +} + +static inline void update_attr(u8 *dst, u8 *src, int attribute, + struct vc_data *vc) +{ + int i, offset = (vc->vc_font.height < 10) ? 1 : 2; + int width = (vc->vc_font.width + 7) >> 3; + unsigned int cellsize = vc->vc_font.height * width; + u8 c; + + offset = cellsize - (offset * width); + for (i = 0; i < cellsize; i++) { + c = src[i]; + if (attribute & FBCON_ATTRIBUTE_UNDERLINE && i >= offset) + c = 0xff; + if (attribute & FBCON_ATTRIBUTE_BOLD) + c |= c >> 1; + if (attribute & FBCON_ATTRIBUTE_REVERSE) + c = ~c; + dst[i] = c; + } +} + void accel_bmove(struct vc_data *vc, struct fb_info *info, int sy, int sx, int dy, int dx, int height, int width) { @@ -455,13 +557,19 @@ void accel_putcs(struct vc_data *vc, struct fb_info *info, unsigned int shift_low = 0, mod = vc->vc_font.width % 8; unsigned int shift_high = 8, pitch, cnt, size, k; unsigned int idx = vc->vc_font.width >> 3; + unsigned int attribute = get_attribute(info, scr_readw(s)); struct fb_image image; - u8 *src, *dst; + u8 *src, *dst, *buf = NULL; + + if (attribute) { + buf = kmalloc(cellsize, GFP_KERNEL); + if (!buf) + return; + } + + image.fg_color = get_color(vc, info, scr_readw(s), 1); + image.bg_color = get_color(vc, info, scr_readw(s), 0); - image.fg_color = attr_fgcol((vc->vc_hi_font_mask) ? 9 : 8, - scr_readw(s)); - image.bg_color = attr_bgcol((vc->vc_hi_font_mask) ? 13 : 12, - scr_readw(s)); image.dx = xx * vc->vc_font.width; image.dy = yy * vc->vc_font.height; image.height = vc->vc_font.height; @@ -491,6 +599,12 @@ void accel_putcs(struct vc_data *vc, struct fb_info *info, while (k--) { src = vc->vc_font.data + (scr_readw(s++)& charmask)*cellsize; + + if (attribute) { + update_attr(buf, src, attribute, vc); + src = buf; + } + move_unaligned(info, &info->pixmap, dst, pitch, src, idx, image.height, shift_high, shift_low, mod); @@ -503,6 +617,12 @@ void accel_putcs(struct vc_data *vc, struct fb_info *info, while (k--) { src = vc->vc_font.data + (scr_readw(s++)& charmask)*cellsize; + + if (attribute) { + update_attr(buf, src, attribute, vc); + src = buf; + } + move_aligned(info, &info->pixmap, dst, pitch, src, idx, image.height); dst += width; @@ -512,6 +632,9 @@ void accel_putcs(struct vc_data *vc, struct fb_info *info, image.dx += cnt * vc->vc_font.width; count -= cnt; } + + if (buf) + kfree(buf); } void accel_clear_margins(struct vc_data *vc, struct fb_info *info, @@ -550,6 +673,47 @@ void accel_clear_margins(struct vc_data *vc, struct fb_info *info, * Low Level Operations */ /* NOTE: fbcon cannot be __init: it may be called from take_over_console later */ +static int var_to_display(struct display *disp, + struct fb_var_screeninfo *var, + struct fb_info *info) +{ + disp->xres_virtual = var->xres_virtual; + disp->yres_virtual = var->yres_virtual; + disp->bits_per_pixel = var->bits_per_pixel; + disp->grayscale = var->grayscale; + disp->nonstd = var->nonstd; + disp->accel_flags = var->accel_flags; + disp->height = var->height; + disp->width = var->width; + disp->red = var->red; + disp->green = var->green; + disp->blue = var->blue; + disp->transp = var->transp; + disp->mode = fb_match_mode(var, &info->modelist); + if (disp->mode == NULL) + /* This should not happen */ + return -EINVAL; + return 0; +} + +static void display_to_var(struct fb_var_screeninfo *var, + struct display *disp) +{ + fb_videomode_to_var(var, disp->mode); + var->xres_virtual = disp->xres_virtual; + var->yres_virtual = disp->yres_virtual; + var->bits_per_pixel = disp->bits_per_pixel; + var->grayscale = disp->grayscale; + var->nonstd = disp->nonstd; + var->accel_flags = disp->accel_flags; + var->height = disp->height; + var->width = disp->width; + var->red = disp->red; + var->green = disp->green; + var->blue = disp->blue; + var->transp = disp->transp; +} + static const char *fbcon_startup(void) { const char *display_desc = "frame buffer device"; @@ -723,6 +887,9 @@ static void fbcon_init(struct vc_data *vc, int init) info->var.xoffset = info->var.yoffset = p->yscroll = 0; /* reset wrap/pan */ + if (var_to_display(p, &info->var, info)) + return; + /* If we are not the first console on this fb, copy the font from that console */ t = &fb_display[display_fg]; @@ -737,7 +904,7 @@ static void fbcon_init(struct vc_data *vc, int init) } if (p->userfont) charcnt = FNTCHARCNT(p->fontdata); - vc->vc_can_do_color = info->var.bits_per_pixel != 1; + vc->vc_can_do_color = (fb_get_color_depth(info) != 1); vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800; if (charcnt == 256) { vc->vc_hi_font_mask = 0; @@ -780,9 +947,15 @@ static void fbcon_init(struct vc_data *vc, int init) if (logo) { /* Need to make room for the logo */ - int cnt; + int cnt, erase = vc->vc_video_erase_char; int step; + /* + * remove underline attribute from erase character + * if black and white framebuffer. + */ + if (fb_get_color_depth(info) == 1) + erase &= ~0x400; logo_height = fb_prepare_logo(info); logo_lines = (logo_height + vc->vc_font.height - 1) / vc->vc_font.height; @@ -796,8 +969,7 @@ static void fbcon_init(struct vc_data *vc, int init) save = kmalloc(logo_lines * new_cols * 2, GFP_KERNEL); if (save) { int i = cols < new_cols ? cols : new_cols; - scr_memsetw(save, vc->vc_video_erase_char, - logo_lines * new_cols * 2); + scr_memsetw(save, erase, logo_lines * new_cols * 2); r = q - step; for (cnt = 0; cnt < logo_lines; cnt++, r += i) scr_memcpyw(save + cnt * new_cols, r, 2 * i); @@ -817,7 +989,7 @@ static void fbcon_init(struct vc_data *vc, int init) } } scr_memsetw((unsigned short *) vc->vc_origin, - vc->vc_video_erase_char, + erase, vc->vc_size_row * logo_lines); if (CON_IS_VISIBLE(vc) && vt_cons[vc->vc_num]->vc_mode == KD_TEXT) { @@ -926,55 +1098,6 @@ static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height, accel_clear(vc, info, real_y(p, sy), sx, height, width); } -static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos) -{ - struct fb_info *info = registered_fb[(int) con2fb_map[vc->vc_num]]; - unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; - unsigned int scan_align = info->pixmap.scan_align - 1; - unsigned int buf_align = info->pixmap.buf_align - 1; - unsigned int width = (vc->vc_font.width + 7) >> 3; - int bgshift = (vc->vc_hi_font_mask) ? 13 : 12; - int fgshift = (vc->vc_hi_font_mask) ? 9 : 8; - struct display *p = &fb_display[vc->vc_num]; - unsigned int size, pitch; - struct fb_image image; - u8 *src, *dst; - - if (!info->fbops->fb_blank && console_blanked) - return; - if (info->state != FBINFO_STATE_RUNNING) - return; - - if (vt_cons[vc->vc_num]->vc_mode != KD_TEXT) - return; - - image.dx = xpos * vc->vc_font.width; - image.dy = real_y(p, ypos) * vc->vc_font.height; - image.width = vc->vc_font.width; - image.height = vc->vc_font.height; - image.fg_color = attr_fgcol(fgshift, c); - image.bg_color = attr_bgcol(bgshift, c); - image.depth = 1; - - src = vc->vc_font.data + (c & charmask) * vc->vc_font.height * width; - - pitch = width + scan_align; - pitch &= ~scan_align; - size = pitch * vc->vc_font.height; - size += buf_align; - size &= ~buf_align; - - dst = fb_get_buffer_offset(info, &info->pixmap, size); - image.data = dst; - - if (info->pixmap.outbuf) - fb_iomove_buf_aligned(info, &info->pixmap, dst, pitch, src, width, image.height); - else - fb_sysmove_buf_aligned(info, &info->pixmap, dst, pitch, src, width, image.height); - - info->fbops->fb_imageblit(info, &image); -} - static void fbcon_putcs(struct vc_data *vc, const unsigned short *s, int count, int ypos, int xpos) { @@ -992,17 +1115,22 @@ static void fbcon_putcs(struct vc_data *vc, const unsigned short *s, accel_putcs(vc, info, s, count, real_y(p, ypos), xpos); } +static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos) +{ + fbcon_putcs(vc, (const unsigned short *) &c, 1, ypos, xpos); +} + static void fbcon_cursor(struct vc_data *vc, int mode) { + struct fb_cursor cursor; struct fb_info *info = registered_fb[(int) con2fb_map[vc->vc_num]]; unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; - int bgshift = (vc->vc_hi_font_mask) ? 13 : 12; - int fgshift = (vc->vc_hi_font_mask) ? 9 : 8; struct display *p = &fb_display[vc->vc_num]; int w = (vc->vc_font.width + 7) >> 3, c; - int y = real_y(p, vc->vc_y); - struct fb_cursor cursor; - + int y = real_y(p, vc->vc_y), fg, bg; + int attribute; + u8 *src; + if (mode & CM_SOFTBACK) { mode &= ~CM_SOFTBACK; if (softback_lines) { @@ -1015,8 +1143,22 @@ static void fbcon_cursor(struct vc_data *vc, int mode) fbcon_set_origin(vc); c = scr_readw((u16 *) vc->vc_pos); - - cursor.image.data = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height)); + attribute = get_attribute(info, c); + src = vc->vc_font.data + ((c & charmask) * (w * vc->vc_font.height)); + if (attribute) { + u8 *dst; + + dst = kmalloc(w * vc->vc_font.height, GFP_ATOMIC); + if (!dst) + return; + if (info->cursor.data) + kfree(info->cursor.data); + info->cursor.data = dst; + update_attr(dst, src, attribute, vc); + src = dst; + } + + cursor.image.data = src; cursor.set = FB_CUR_SETCUR; cursor.image.depth = 1; @@ -1031,11 +1173,13 @@ static void fbcon_cursor(struct vc_data *vc, int mode) case CM_MOVE: case CM_DRAW: info->cursor.enable = 1; - - if (info->cursor.image.fg_color != attr_fgcol(fgshift, c) || - info->cursor.image.bg_color != attr_bgcol(bgshift, c)) { - cursor.image.fg_color = attr_fgcol(fgshift, c); - cursor.image.bg_color = attr_bgcol(bgshift, c); + fg = get_color(vc, info, c, 1); + bg = get_color(vc, info, c, 0); + + if (info->cursor.image.fg_color != fg || + info->cursor.image.bg_color != bg) { + cursor.image.fg_color = fg; + cursor.image.bg_color = bg; cursor.set |= FB_CUR_SETCMAP; } @@ -1058,17 +1202,19 @@ static void fbcon_cursor(struct vc_data *vc, int mode) cursor.set |= FB_CUR_SETHOT; } - if ((cursor.set & FB_CUR_SETSIZE) || ((vc->vc_cursor_type & 0x0f) != p->cursor_shape) + if ((cursor.set & FB_CUR_SETSIZE) || + ((vc->vc_cursor_type & 0x0f) != p->cursor_shape) || info->cursor.mask == NULL) { char *mask = kmalloc(w*vc->vc_font.height, GFP_ATOMIC); int cur_height, size, i = 0; + u8 msk = 0xff; - if (!mask) return; + if (!mask) + return; if (info->cursor.mask) kfree(info->cursor.mask); info->cursor.mask = mask; - p->cursor_shape = vc->vc_cursor_type & 0x0f; cursor.set |= FB_CUR_SETSHAPE; @@ -1095,10 +1241,10 @@ static void fbcon_cursor(struct vc_data *vc, int mode) } size = (vc->vc_font.height - cur_height) * w; while (size--) - mask[i++] = 0; + mask[i++] = ~msk; size = cur_height * w; while (size--) - mask[i++] = 0xff; + mask[i++] = msk; } info->cursor.rop = ROP_XOR; info->fbops->fb_cursor(info, &cursor); @@ -1126,6 +1272,8 @@ static void fbcon_set_disp(struct fb_info *info, struct vc_data *vc) int rows, cols, charcnt = 256; info->var.xoffset = info->var.yoffset = p->yscroll = 0; + if (var_to_display(p, &info->var, info)) + return; t = &fb_display[display_fg]; if (!vc->vc_font.data) { vc->vc_font.data = p->fontdata = t->fontdata; @@ -1139,7 +1287,7 @@ static void fbcon_set_disp(struct fb_info *info, struct vc_data *vc) if (p->userfont) charcnt = FNTCHARCNT(p->fontdata); - vc->vc_can_do_color = info->var.bits_per_pixel != 1; + vc->vc_can_do_color = (fb_get_color_depth(info) != 1); vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800; if (charcnt == 256) { vc->vc_hi_font_mask = 0; @@ -1813,7 +1961,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, struct fb_info *info = registered_fb[(int) con2fb_map[vc->vc_num]]; struct display *p = &fb_display[vc->vc_num]; struct fb_var_screeninfo var = info->var; - int err; int x_diff, y_diff; + int x_diff, y_diff; int fw = vc->vc_font.width; int fh = vc->vc_font.height; @@ -1822,15 +1970,31 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, x_diff = info->var.xres - var.xres; y_diff = info->var.yres - var.yres; if (x_diff < 0 || x_diff > fw || (y_diff < 0 || y_diff > fh)) { - char mode[40]; + struct fb_videomode *mode; DPRINTK("attempting resize %ix%i\n", var.xres, var.yres); - snprintf(mode, 40, "%ix%i", var.xres, var.yres); - err = fb_find_mode(&var, info, mode, info->monspecs.modedb, - info->monspecs.modedb_len, NULL, - info->var.bits_per_pixel); - if (!err || width > var.xres/fw || height > var.yres/fh) + mode = fb_find_best_mode(&var, &info->modelist); + if (mode == NULL) + return -EINVAL; + fb_videomode_to_var(&var, mode); + if (width > var.xres/fw || height > var.yres/fh) return -EINVAL; + /* + * The following can probably have any value... Do we need to + * set all of them? + */ + var.bits_per_pixel = p->bits_per_pixel; + var.xres_virtual = p->xres_virtual; + var.yres_virtual = p->yres_virtual; + var.accel_flags = p->accel_flags; + var.width = p->width; + var.height = p->height; + var.red = p->red; + var.green = p->green; + var.blue = p->blue; + var.transp = p->transp; + var.nonstd = p->nonstd; + DPRINTK("resize now %ix%i\n", var.xres, var.yres); if (CON_IS_VISIBLE(vc)) { var.activate = FB_ACTIVATE_NOW | @@ -1838,6 +2002,7 @@ static int fbcon_resize(struct vc_data *vc, unsigned int width, fb_set_var(info, &var); info->flags &= ~FBINFO_MISC_MODESWITCH; } + var_to_display(p, &info->var, info); } updatescrollmode(p, info, vc); return 0; @@ -1847,6 +2012,7 @@ static int fbcon_switch(struct vc_data *vc) { struct fb_info *info = registered_fb[(int) con2fb_map[vc->vc_num]]; struct display *p = &fb_display[vc->vc_num]; + struct fb_var_screeninfo var; int i; if (softback_top) { @@ -1872,8 +2038,6 @@ static int fbcon_switch(struct vc_data *vc) conp2->vc_top = 0; logo_shown = -1; } - if (info) - info->var.yoffset = p->yscroll = 0; /* * FIXME: If we have multiple fbdev's loaded, we need to @@ -1888,7 +2052,18 @@ static int fbcon_switch(struct vc_data *vc) registered_fb[i]->currcon = vc->vc_num; } - fbcon_resize(vc, vc->vc_cols, vc->vc_rows); + memset(&var, 0, sizeof(struct fb_var_screeninfo)); + fb_videomode_to_var(&var, p->mode); + display_to_var(&var, p); + var.activate = FB_ACTIVATE_NOW; + + /* + * make sure we don't unnecessarily trip the memcmp() + * in fb_set_var() + */ + info->var.activate = var.activate; + info->var.yoffset = info->var.xoffset = p->yscroll = 0; + fb_set_var(info, &var); if (info->flags & FBINFO_MISC_MODESWITCH) { if (info->fbops->fb_set_par) @@ -1896,6 +2071,10 @@ static int fbcon_switch(struct vc_data *vc) info->flags &= ~FBINFO_MISC_MODESWITCH; } + vc->vc_can_do_color = (fb_get_color_depth(info) != 1); + vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800; + updatescrollmode(p, info, vc); + switch (p->scrollmode) { case SCROLL_WRAP_MOVE: scrollback_phys_max = p->vrows - vc->vc_rows; @@ -2290,26 +2469,31 @@ static struct fb_cmap palette_cmap = { static int fbcon_set_palette(struct vc_data *vc, unsigned char *table) { struct fb_info *info = registered_fb[(int) con2fb_map[vc->vc_num]]; - int i, j, k; + int i, j, k, depth; u8 val; - if (!vc->vc_can_do_color - || (!info->fbops->fb_blank && console_blanked)) + if (!info->fbops->fb_blank && console_blanked) return -EINVAL; - for (i = j = 0; i < 16; i++) { - k = table[i]; - val = vc->vc_palette[j++]; - palette_red[k] = (val << 8) | val; - val = vc->vc_palette[j++]; - palette_green[k] = (val << 8) | val; - val = vc->vc_palette[j++]; - palette_blue[k] = (val << 8) | val; - } - if (info->var.bits_per_pixel <= 4) - palette_cmap.len = 1 << info->var.bits_per_pixel; - else + depth = fb_get_color_depth(info); + if (depth > 3) { + for (i = j = 0; i < 16; i++) { + k = table[i]; + val = vc->vc_palette[j++]; + palette_red[k] = (val << 8) | val; + val = vc->vc_palette[j++]; + palette_green[k] = (val << 8) | val; + val = vc->vc_palette[j++]; + palette_blue[k] = (val << 8) | val; + } palette_cmap.len = 16; - palette_cmap.start = 0; + palette_cmap.start = 0; + /* + * If framebuffer is capable of less than 16 colors, + * use default palette of fbcon. + */ + } else + fb_copy_cmap(fb_default_cmap(1 << depth), &palette_cmap); + return fb_set_cmap(&palette_cmap, info); } @@ -2516,10 +2700,9 @@ static void fbcon_modechanged(struct fb_info *info) p = &fb_display[vc->vc_num]; info->var.xoffset = info->var.yoffset = p->yscroll = 0; - vc->vc_can_do_color = info->var.bits_per_pixel != 1; - vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800; if (CON_IS_VISIBLE(vc)) { + var_to_display(p, &info->var, info); cols = info->var.xres / vc->vc_font.width; rows = info->var.yres / vc->vc_font.height; vc_resize(vc->vc_num, cols, rows); @@ -2542,10 +2725,52 @@ static void fbcon_modechanged(struct fb_info *info) } } +static int fbcon_mode_deleted(struct fb_info *info, + struct fb_videomode *mode) +{ + struct fb_info *fb_info; + struct display *p; + int i, j, found = 0; + + /* before deletion, ensure that mode is not in use */ + for (i = first_fb_vc; i <= last_fb_vc; i++) { + j = (int) con2fb_map[i]; + if (j == -1) + continue; + fb_info = registered_fb[j]; + if (fb_info != info) + continue; + p = &fb_display[i]; + if (!p || !p->mode) + continue; + if (fb_mode_is_equal(p->mode, mode)) { + found = 1; + break; + } + } + return found; +} + +static int fbcon_fb_registered(int idx) +{ + int ret = 0; + + if (info_idx == -1) { + info_idx = idx; + ret = fbcon_takeover(); + } + + return ret; +} + static int fbcon_event_notify(struct notifier_block *self, unsigned long action, void *data) { - struct fb_info *info = (struct fb_info *) data; + struct fb_event *event = (struct fb_event *) data; + struct fb_info *info = event->info; + struct fb_videomode *mode; + struct fb_con2fbmap *con2fb; + int ret = 0; switch(action) { case FB_EVENT_SUSPEND: @@ -2557,9 +2782,24 @@ static int fbcon_event_notify(struct notifier_block *self, case FB_EVENT_MODE_CHANGE: fbcon_modechanged(info); break; + case FB_EVENT_MODE_DELETE: + mode = (struct fb_videomode *) event->data; + ret = fbcon_mode_deleted(info, mode); + break; + case FB_EVENT_FB_REGISTERED: + ret = fbcon_fb_registered(info->node); + break; + case FB_EVENT_SET_CONSOLE_MAP: + con2fb = (struct fb_con2fbmap *) event->data; + ret = set_con2fb_map(con2fb->console - 1, con2fb->framebuffer); + break; + case FB_EVENT_GET_CONSOLE_MAP: + con2fb = (struct fb_con2fbmap *) event->data; + con2fb->framebuffer = con2fb_map[con2fb->console - 1]; + break; } - return 0; + return ret; } /* @@ -2595,60 +2835,43 @@ const struct consw fb_con = { static struct notifier_block fbcon_event_notifier = { .notifier_call = fbcon_event_notify, }; -static int fbcon_event_notifier_registered; -/* can't be __init as it can be called by set_con2fb_map() later */ -int fb_console_init(void) +int __init fb_console_init(void) { - int err, i; + int i; + + acquire_console_sem(); + fb_register_client(&fbcon_event_notifier); + release_console_sem(); for (i = 0; i < MAX_NR_CONSOLES; i++) con2fb_map[i] = -1; - if (!num_registered_fb) - return -ENODEV; - - if (info_idx == -1) { + if (num_registered_fb) { for (i = 0; i < FB_MAX; i++) { if (registered_fb[i] != NULL) { info_idx = i; break; } } + fbcon_takeover(); } - for (i = first_fb_vc; i <= last_fb_vc; i++) - con2fb_map[i] = info_idx; - err = take_over_console(&fb_con, first_fb_vc, last_fb_vc, - fbcon_is_default); - if (err) { - for (i = first_fb_vc; i <= last_fb_vc; i++) { - con2fb_map[i] = -1; - } - return err; - } - acquire_console_sem(); - if (!fbcon_event_notifier_registered) { - fb_register_client(&fbcon_event_notifier); - fbcon_event_notifier_registered = 1; - } - release_console_sem(); + return 0; } +module_init(fb_console_init); + #ifdef MODULE void __exit fb_console_exit(void) { acquire_console_sem(); - if (fbcon_event_notifier_registered) { - fb_unregister_client(&fbcon_event_notifier); - fbcon_event_notifier_registered = 0; - } + fb_unregister_client(&fbcon_event_notifier); release_console_sem(); give_up_console(&fb_con); } -module_init(fb_console_init); module_exit(fb_console_exit); #endif diff --git a/drivers/video/console/fbcon.h b/drivers/video/console/fbcon.h index 71643f5ad..a89001a40 100644 --- a/drivers/video/console/fbcon.h +++ b/drivers/video/console/fbcon.h @@ -33,12 +33,21 @@ struct display { short yscroll; /* Hardware scrolling */ int vrows; /* number of virtual rows */ int cursor_shape; + u32 xres_virtual; + u32 yres_virtual; + u32 height; + u32 width; + u32 bits_per_pixel; + u32 grayscale; + u32 nonstd; + u32 accel_flags; + struct fb_bitfield red; + struct fb_bitfield green; + struct fb_bitfield blue; + struct fb_bitfield transp; + struct fb_videomode *mode; }; -/* drivers/video/console/fbcon.c */ -extern signed char con2fb_map[MAX_NR_CONSOLES]; -extern int set_con2fb_map(int unit, int newidx); - /* * Attribute Decoding */ @@ -56,8 +65,8 @@ extern int set_con2fb_map(int unit, int newidx); /* Monochrome */ #define attr_bold(s) \ ((s) & 0x200) -#define attr_reverse(s, inverse) \ - (((s) & 0x800) ^ (inverse ? 0x800 : 0)) +#define attr_reverse(s) \ + ((s) & 0x800) #define attr_underline(s) \ ((s) & 0x400) #define attr_blink(s) \ diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c index 0afebb72c..4dca34fdf 100644 --- a/drivers/video/cyber2000fb.c +++ b/drivers/video/cyber2000fb.c @@ -1166,7 +1166,7 @@ static struct fb_videomode __devinitdata cyber2000fb_default_mode = { .vmode = FB_VMODE_NONINTERLACED }; -static char igs_regs[] __devinitdata = { +static char igs_regs[] = { EXT_CRT_IRQ, 0, EXT_CRT_TEST, 0, EXT_SYNC_CTL, 0, @@ -1281,7 +1281,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name) cfb->fb.var.accel_flags = FB_ACCELF_TEXT; cfb->fb.fbops = &cyber2000fb_ops; - cfb->fb.flags = FBINFO_FLAG_DEFAULT; + cfb->fb.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; cfb->fb.pseudo_palette = (void *)(cfb + 1); fb_alloc_cmap(&cfb->fb.cmap, NR_PALETTE, 0); @@ -1289,7 +1289,7 @@ cyberpro_alloc_fb_info(unsigned int id, char *name) return cfb; } -static void __devinit +static void cyberpro_free_fb_info(struct cfb_info *cfb) { if (cfb) { @@ -1712,11 +1712,21 @@ static struct pci_driver cyberpro_driver = { * I don't think we can use the "module_init" stuff here because * the fbcon stuff may not be initialised yet. Hence the #ifdef * around module_init. + * + * Tony: "module_init" is now required */ int __init cyber2000fb_init(void) { int ret = -1, err; +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("cyber2000fb", NULL)) + return -ENODEV; + cyber2000fb_setup(option); +#endif + #ifdef CONFIG_ARCH_SHARK err = cyberpro_vl_probe(); if (!err) { @@ -1738,9 +1748,7 @@ static void __exit cyberpro_exit(void) pci_unregister_driver(&cyberpro_driver); } -#ifdef MODULE module_init(cyber2000fb_init); -#endif module_exit(cyberpro_exit); MODULE_AUTHOR("Russell King"); diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 2a55e5dbf..ef5cea5a0 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c @@ -47,385 +47,34 @@ #include -#ifdef CONFIG_FRAMEBUFFER_CONSOLE -#include "console/fbcon.h" -#endif /* * Frame buffer device initialization and setup routines */ -extern int acornfb_init(void); -extern int acornfb_setup(char*); -extern int amifb_init(void); -extern int amifb_setup(char*); -extern int atafb_init(void); -extern int atafb_setup(char*); -extern int macfb_init(void); -extern int macfb_setup(char*); -extern int cyberfb_init(void); -extern int cyberfb_setup(char*); -extern int pm2fb_init(void); -extern int pm2fb_setup(char*); -extern int pm3fb_init(void); -extern int pm3fb_setup(char*); -extern int clps711xfb_init(void); -extern int cyber2000fb_init(void); -extern int cyber2000fb_setup(char*); -extern int retz3fb_init(void); -extern int retz3fb_setup(char*); -extern int cirrusfb_init(void); -extern int cirrusfb_setup(char*); -extern int hitfb_init(void); -extern int vfb_init(void); -extern int vfb_setup(char*); -extern int offb_init(void); -extern int atyfb_init(void); -extern int atyfb_setup(char*); -extern int aty128fb_init(void); -extern int aty128fb_setup(char*); -extern int neofb_init(void); -extern int neofb_setup(char*); -extern int igafb_init(void); -extern int igafb_setup(char*); -extern int imsttfb_init(void); -extern int imsttfb_setup(char*); -extern int dnfb_init(void); -extern int tgafb_init(void); -extern int tgafb_setup(char*); -extern int virgefb_init(void); -extern int virgefb_setup(char*); -extern int resolver_video_setup(char*); -extern int s3triofb_init(void); -extern int vesafb_init(void); -extern int vesafb_setup(char*); -extern int vga16fb_init(void); -extern int vga16fb_setup(char*); -extern int hgafb_init(void); -extern int hgafb_setup(char*); -extern int matroxfb_init(void); -extern int matroxfb_setup(char*); -extern int hpfb_init(void); -extern int platinumfb_init(void); -extern int platinumfb_setup(char*); -extern int control_init(void); -extern int control_setup(char*); -extern int valkyriefb_init(void); -extern int valkyriefb_setup(char*); -extern int chips_init(void); -extern int g364fb_init(void); -extern int sa1100fb_init(void); -extern int pxafb_init(void); -extern int pxafb_setup(char*); -extern int fm2fb_init(void); -extern int fm2fb_setup(char*); -extern int q40fb_init(void); -extern int sun3fb_init(void); -extern int sun3fb_setup(char *); -extern int sgivwfb_init(void); -extern int sgivwfb_setup(char*); -extern int gbefb_init(void); -extern int gbefb_setup(char*); -extern int rivafb_init(void); -extern int rivafb_setup(char*); -extern int tdfxfb_init(void); -extern int tdfxfb_setup(char*); -extern int tridentfb_init(void); -extern int tridentfb_setup(char*); -extern int sisfb_init(void); -extern int sisfb_setup(char*); -extern int stifb_init(void); -extern int stifb_setup(char*); -extern int pmagbafb_init(void); -extern int pmagbbfb_init(void); -extern int maxinefb_init(void); -extern int tx3912fb_init(void); -extern int tx3912fb_setup(char*); -extern int radeonfb_init(void); -extern int radeonfb_setup(char*); -extern int radeonfb_old_init(void); -extern int radeonfb_old_setup(char*); -extern int e1355fb_init(void); -extern int e1355fb_setup(char*); -extern int pvr2fb_init(void); -extern int pvr2fb_setup(char*); -extern int sstfb_init(void); -extern int sstfb_setup(char*); -extern int i810fb_init(void); -extern int i810fb_setup(char*); -extern int ffb_init(void); -extern int ffb_setup(char*); -extern int cg6_init(void); -extern int cg6_setup(char*); -extern int cg3_init(void); -extern int cg3_setup(char*); -extern int bw2_init(void); -extern int bw2_setup(char*); -extern int cg14_init(void); -extern int cg14_setup(char*); -extern int p9100_init(void); -extern int p9100_setup(char*); -extern int tcx_init(void); -extern int tcx_setup(char*); -extern int leo_init(void); -extern int leo_setup(char*); -extern int kyrofb_init(void); -extern int kyrofb_setup(char*); -extern int mc68x328fb_init(void); -extern int mc68x328fb_setup(char *); -extern int asiliantfb_init(void); - -static struct { - const char *name; - int (*init)(void); - int (*setup)(char*); -} fb_drivers[] __initdata = { - - /* - * Chipset specific drivers that use resource management - */ -#ifdef CONFIG_FB_RETINAZ3 - { "retz3fb", retz3fb_init, retz3fb_setup }, -#endif -#ifdef CONFIG_FB_AMIGA - { "amifb", amifb_init, amifb_setup }, -#endif -#ifdef CONFIG_FB_CLPS711X - { "clps711xfb", clps711xfb_init, NULL }, -#endif -#ifdef CONFIG_FB_CYBER - { "cyberfb", cyberfb_init, cyberfb_setup }, -#endif -#ifdef CONFIG_FB_CYBER2000 - { "cyber2000fb", cyber2000fb_init, cyber2000fb_setup }, -#endif -#ifdef CONFIG_FB_PM2 - { "pm2fb", pm2fb_init, pm2fb_setup }, -#endif -#ifdef CONFIG_FB_PM3 - { "pm3fb", pm3fb_init, pm3fb_setup }, -#endif -#ifdef CONFIG_FB_CIRRUS - { "cirrusfb", cirrusfb_init, cirrusfb_setup }, -#endif -#ifdef CONFIG_FB_ATY - { "atyfb", atyfb_init, atyfb_setup }, -#endif -#ifdef CONFIG_FB_MATROX - { "matroxfb", matroxfb_init, matroxfb_setup }, -#endif -#ifdef CONFIG_FB_ATY128 - { "aty128fb", aty128fb_init, aty128fb_setup }, -#endif -#ifdef CONFIG_FB_NEOMAGIC - { "neofb", neofb_init, neofb_setup }, -#endif -#ifdef CONFIG_FB_VIRGE - { "virgefb", virgefb_init, virgefb_setup }, -#endif -#ifdef CONFIG_FB_RIVA - { "rivafb", rivafb_init, rivafb_setup }, -#endif -#ifdef CONFIG_FB_3DFX - { "tdfxfb", tdfxfb_init, tdfxfb_setup }, -#endif -#ifdef CONFIG_FB_RADEON - { "radeonfb", radeonfb_init, radeonfb_setup }, -#endif -#ifdef CONFIG_FB_RADEON_OLD - { "radeonfb_old", radeonfb_old_init, radeonfb_old_setup }, -#endif -#ifdef CONFIG_FB_CONTROL - { "controlfb", control_init, control_setup }, -#endif -#ifdef CONFIG_FB_PLATINUM - { "platinumfb", platinumfb_init, platinumfb_setup }, -#endif -#ifdef CONFIG_FB_VALKYRIE - { "valkyriefb", valkyriefb_init, valkyriefb_setup }, -#endif -#ifdef CONFIG_FB_CT65550 - { "chipsfb", chips_init, NULL }, -#endif -#ifdef CONFIG_FB_IMSTT - { "imsttfb", imsttfb_init, imsttfb_setup }, -#endif -#ifdef CONFIG_FB_S3TRIO - { "s3triofb", s3triofb_init, NULL }, -#endif -#ifdef CONFIG_FB_FM2 - { "fm2fb", fm2fb_init, fm2fb_setup }, -#endif -#ifdef CONFIG_FB_SIS - { "sisfb", sisfb_init, sisfb_setup }, -#endif -#ifdef CONFIG_FB_TRIDENT - { "tridentfb", tridentfb_init, tridentfb_setup }, -#endif -#ifdef CONFIG_FB_I810 - { "i810fb", i810fb_init, i810fb_setup }, -#endif -#ifdef CONFIG_FB_STI - { "stifb", stifb_init, stifb_setup }, -#endif -#ifdef CONFIG_FB_FFB - { "ffb", ffb_init, ffb_setup }, -#endif -#ifdef CONFIG_FB_CG6 - { "cg6fb", cg6_init, cg6_setup }, -#endif -#ifdef CONFIG_FB_CG3 - { "cg3fb", cg3_init, cg3_setup }, -#endif -#ifdef CONFIG_FB_BW2 - { "bw2fb", bw2_init, bw2_setup }, -#endif -#ifdef CONFIG_FB_CG14 - { "cg14fb", cg14_init, cg14_setup }, -#endif -#ifdef CONFIG_FB_P9100 - { "p9100fb", p9100_init, p9100_setup }, -#endif -#ifdef CONFIG_FB_TCX - { "tcxfb", tcx_init, tcx_setup }, -#endif -#ifdef CONFIG_FB_LEO - { "leofb", leo_init, leo_setup }, -#endif - - /* - * Generic drivers that are used as fallbacks - * - * These depend on resource management and must be initialized - * _after_ all other frame buffer devices that use resource - * management! - */ - -#ifdef CONFIG_FB_OF - { "offb", offb_init, NULL }, -#endif -#ifdef CONFIG_FB_VESA - { "vesafb", vesafb_init, vesafb_setup }, -#endif - - /* - * Chipset specific drivers that don't use resource management (yet) - */ - -#ifdef CONFIG_FB_SGIVW - { "sgivwfb", sgivwfb_init, sgivwfb_setup }, -#endif -#ifdef CONFIG_FB_GBE - { "gbefb", gbefb_init, gbefb_setup }, -#endif -#ifdef CONFIG_FB_ACORN - { "acornfb", acornfb_init, acornfb_setup }, -#endif -#ifdef CONFIG_FB_ATARI - { "atafb", atafb_init, atafb_setup }, -#endif -#ifdef CONFIG_FB_MAC - { "macfb", macfb_init, macfb_setup }, -#endif -#ifdef CONFIG_FB_HGA - { "hgafb", hgafb_init, hgafb_setup }, -#endif -#ifdef CONFIG_FB_IGA - { "igafb", igafb_init, igafb_setup }, -#endif -#ifdef CONFIG_APOLLO - { "apollofb", dnfb_init, NULL }, -#endif -#ifdef CONFIG_FB_Q40 - { "q40fb", q40fb_init, NULL }, -#endif -#ifdef CONFIG_FB_TGA - { "tgafb", tgafb_init, tgafb_setup }, -#endif -#ifdef CONFIG_FB_HP300 - { "hpfb", hpfb_init, NULL }, -#endif -#ifdef CONFIG_FB_G364 - { "g364fb", g364fb_init, NULL }, -#endif -#ifdef CONFIG_FB_SA1100 - { "sa1100fb", sa1100fb_init, NULL }, -#endif -#ifdef CONFIG_FB_PXA - { "pxafb", pxafb_init, pxafb_setup }, -#endif -#ifdef CONFIG_FB_SUN3 - { "sun3fb", sun3fb_init, sun3fb_setup }, -#endif -#ifdef CONFIG_FB_HIT - { "hitfb", hitfb_init, NULL }, -#endif -#ifdef CONFIG_FB_TX3912 - { "tx3912fb", tx3912fb_init, tx3912fb_setup }, -#endif -#ifdef CONFIG_FB_E1355 - { "e1355fb", e1355fb_init, e1355fb_setup }, -#endif -#ifdef CONFIG_FB_PVR2 - { "pvr2fb", pvr2fb_init, pvr2fb_setup }, -#endif -#ifdef CONFIG_FB_PMAG_BA - { "pmagbafb", pmagbafb_init, NULL }, -#endif -#ifdef CONFIG_FB_PMAGB_B - { "pmagbbfb", pmagbbfb_init, NULL }, -#endif -#ifdef CONFIG_FB_MAXINE - { "maxinefb", maxinefb_init, NULL }, -#endif -#ifdef CONFIG_FB_VOODOO1 - { "sstfb", sstfb_init, sstfb_setup }, -#endif -#ifdef CONFIG_FB_KYRO - { "kyrofb", kyrofb_init, kyrofb_setup }, -#endif -#ifdef CONFIG_FB_68328 - { "68328fb", mc68x328fb_init, mc68x328fb_setup }, -#endif -#ifdef CONFIG_FB_ASILIANT - { "asiliantfb", asiliantfb_init, NULL }, -#endif - - /* - * Generic drivers that don't use resource management (yet) - */ - -#ifdef CONFIG_FB_VGA16 - { "vga16fb", vga16fb_init, vga16fb_setup }, -#endif - -#ifdef CONFIG_GSP_RESOLVER - /* Not a real frame buffer device... */ - { "resolverfb", NULL, resolver_video_setup }, -#endif - -#ifdef CONFIG_FB_VIRTUAL - /* - * Vfb must be last to avoid that it becomes your primary display if - * other display devices are present - */ - { "vfb", vfb_init, vfb_setup }, -#endif -}; - -#define NUM_FB_DRIVERS (sizeof(fb_drivers)/sizeof(*fb_drivers)) #define FBPIXMAPSIZE 16384 -extern const char *global_mode_option; - -static initcall_t pref_init_funcs[FB_MAX]; -static int num_pref_init_funcs __initdata = 0; static struct notifier_block *fb_notifier_list; struct fb_info *registered_fb[FB_MAX]; int num_registered_fb; -#ifdef CONFIG_FB_OF -static int ofonly __initdata = 0; -#endif +/* + * Helpers + */ + +int fb_get_color_depth(struct fb_info *info) +{ + struct fb_var_screeninfo *var = &info->var; + + if (var->green.length == var->blue.length && + var->green.length == var->red.length && + !var->green.offset && !var->blue.offset && + !var->red.offset) + return var->green.length; + else + return (var->green.length + var->red.length + + var->blue.length); +} +EXPORT_SYMBOL(fb_get_color_depth); /* * Drawing helpers. @@ -646,9 +295,12 @@ static void fb_set_logo(struct fb_info *info, const struct linux_logo *logo, u8 *dst, int depth) { - int i, j, shift; + int i, j, k, fg = 1; const u8 *src = logo->data; - u8 d, xor = 0; + u8 d, xor = (info->fix.visual == FB_VISUAL_MONO01) ? 0xff : 0; + + if (fb_get_color_depth(info) == 3) + fg = 7; switch (depth) { case 4: @@ -662,17 +314,14 @@ static void fb_set_logo(struct fb_info *info, } } break; - case ~1: - xor = 0xff; case 1: for (i = 0; i < logo->height; i++) { - shift = 7; - d = *src++ ^ xor; - for (j = 0; j < logo->width; j++) { - *dst++ = (d >> shift) & 1; - shift = (shift-1) & 7; - if (shift == 7) - d = *src++ ^ xor; + for (j = 0; j < logo->width; src++) { + d = *src ^ xor; + for (k = 7; k >= 0; k--) { + *dst++ = ((d >> k) & 1) ? fg : 0; + j++; + } } } break; @@ -715,26 +364,35 @@ static struct logo_data { int fb_prepare_logo(struct fb_info *info) { + int depth = fb_get_color_depth(info); + memset(&fb_logo, 0, sizeof(struct logo_data)); - switch (info->fix.visual) { - case FB_VISUAL_TRUECOLOR: - if (info->var.bits_per_pixel >= 8) + if (info->fix.visual == FB_VISUAL_DIRECTCOLOR) { + depth = info->var.blue.length; + if (info->var.red.length < depth) + depth = info->var.red.length; + if (info->var.green.length < depth) + depth = info->var.green.length; + } + + if (depth >= 8) { + switch (info->fix.visual) { + case FB_VISUAL_TRUECOLOR: fb_logo.needs_truepalette = 1; - break; - case FB_VISUAL_DIRECTCOLOR: - if (info->var.bits_per_pixel >= 24) { + break; + case FB_VISUAL_DIRECTCOLOR: fb_logo.needs_directpalette = 1; fb_logo.needs_cmapreset = 1; + break; + case FB_VISUAL_PSEUDOCOLOR: + fb_logo.needs_cmapreset = 1; + break; } - break; - case FB_VISUAL_PSEUDOCOLOR: - fb_logo.needs_cmapreset = 1; - break; } /* Return if no suitable logo was found */ - fb_logo.logo = fb_find_logo(info->var.bits_per_pixel); + fb_logo.logo = fb_find_logo(depth); if (!fb_logo.logo || fb_logo.logo->height > info->var.yres) { fb_logo.logo = NULL; @@ -761,7 +419,7 @@ int fb_show_logo(struct fb_info *info) if (fb_logo.logo == NULL || info->state != FBINFO_STATE_RUNNING) return 0; - image.depth = fb_logo.depth; + image.depth = 8; image.data = fb_logo.logo->data; if (fb_logo.needs_cmapreset) @@ -782,7 +440,7 @@ int fb_show_logo(struct fb_info *info) info->pseudo_palette = palette; } - if (fb_logo.depth == 4) { + if (fb_logo.depth <= 4) { logo_new = kmalloc(fb_logo.logo->width * fb_logo.logo->height, GFP_KERNEL); if (logo_new == NULL) { @@ -846,6 +504,9 @@ fb_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) struct inode *inode = file->f_dentry->d_inode; int fbidx = iminor(inode); struct fb_info *info = registered_fb[fbidx]; + u32 *buffer, *dst, *src; + int c, i, cnt = 0, err = 0; + unsigned long total_size; if (!info || ! info->screen_base) return -ENODEV; @@ -856,24 +517,55 @@ fb_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) if (info->fbops->fb_read) return info->fbops->fb_read(file, buf, count, ppos); - if (p >= info->fix.smem_len) + total_size = info->screen_size; + if (total_size == 0) + total_size = info->fix.smem_len; + + if (p >= total_size) return 0; - if (count >= info->fix.smem_len) - count = info->fix.smem_len; - if (count + p > info->fix.smem_len) - count = info->fix.smem_len - p; + if (count >= total_size) + count = total_size; + if (count + p > total_size) + count = total_size - p; + + cnt = 0; + buffer = kmalloc((count > PAGE_SIZE) ? PAGE_SIZE : count, + GFP_KERNEL); + if (!buffer) + return -ENOMEM; + + src = (u32 *) (info->screen_base + p); + if (info->fbops->fb_sync) info->fbops->fb_sync(info); - if (count) { - char *base_addr; - base_addr = info->screen_base; - count -= copy_to_user(buf, base_addr+p, count); - if (!count) - return -EFAULT; - *ppos += count; + while (count) { + c = (count > PAGE_SIZE) ? PAGE_SIZE : count; + dst = buffer; + for (i = c >> 2; i--; ) + *dst++ = fb_readl(src++); + if (c & 3) { + u8 *dst8 = (u8 *) dst; + u8 *src8 = (u8 *) src; + + for (i = c & 3; i--;) + *dst8++ = fb_readb(src8++); + + src = (u32 *) src8; + } + + if (copy_to_user(buf, buffer, c)) { + err = -EFAULT; + break; + } + *ppos += c; + buf += c; + cnt += c; + count -= c; } - return count; + + kfree(buffer); + return (err) ? err : cnt; } static ssize_t @@ -883,7 +575,9 @@ fb_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) struct inode *inode = file->f_dentry->d_inode; int fbidx = iminor(inode); struct fb_info *info = registered_fb[fbidx]; - int err; + u32 *buffer, *dst, *src; + int c, i, cnt = 0, err; + unsigned long total_size; if (!info || !info->screen_base) return -ENODEV; @@ -894,28 +588,56 @@ fb_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) if (info->fbops->fb_write) return info->fbops->fb_write(file, buf, count, ppos); - if (p > info->fix.smem_len) + total_size = info->screen_size; + if (total_size == 0) + total_size = info->fix.smem_len; + + if (p > total_size) return -ENOSPC; - if (count >= info->fix.smem_len) - count = info->fix.smem_len; + if (count >= total_size) + count = total_size; err = 0; - if (count + p > info->fix.smem_len) { - count = info->fix.smem_len - p; + if (count + p > total_size) { + count = total_size - p; err = -ENOSPC; } + cnt = 0; + buffer = kmalloc((count > PAGE_SIZE) ? PAGE_SIZE : count, + GFP_KERNEL); + if (!buffer) + return -ENOMEM; + + dst = (u32 *) (info->screen_base + p); + if (info->fbops->fb_sync) info->fbops->fb_sync(info); - if (count) { - char *base_addr; - base_addr = info->screen_base; - count -= copy_from_user(base_addr+p, buf, count); - *ppos += count; - err = -EFAULT; + while (count) { + c = (count > PAGE_SIZE) ? PAGE_SIZE : count; + src = buffer; + if (copy_from_user(src, buf, c)) { + err = -EFAULT; + break; + } + for (i = c >> 2; i--; ) + fb_writel(*src++, dst++); + if (c & 3) { + u8 *src8 = (u8 *) src; + u8 *dst8 = (u8 *) dst; + + for (i = c & 3; i--; ) + fb_writeb(*src8++, dst8++); + + dst = (u32 *) dst8; + } + *ppos += c; + buf += c; + cnt += c; + count -= c; } - if (count) - return count; - return err; + kfree(buffer); + + return (err) ? err : cnt; } #ifdef CONFIG_KMOD @@ -942,20 +664,21 @@ fb_cursor(struct fb_info *info, struct fb_cursor_user __user *sprite) { struct fb_cursor_user cursor_user; struct fb_cursor cursor; - char *data = NULL, *mask = NULL; + char *data = NULL, *mask = NULL, *info_mask = NULL; u16 *red = NULL, *green = NULL, *blue = NULL, *transp = NULL; int err = -EINVAL; if (copy_from_user(&cursor_user, sprite, sizeof(struct fb_cursor_user))) return -EFAULT; - memcpy(&cursor, &cursor_user, sizeof(cursor)); - cursor.mask = NULL; - cursor.image.data = NULL; - cursor.image.cmap.red = NULL; - cursor.image.cmap.green = NULL; - cursor.image.cmap.blue = NULL; - cursor.image.cmap.transp = NULL; + memcpy(&cursor, &cursor_user, sizeof(cursor_user)); + cursor.mask = info->cursor.mask; + cursor.image.data = info->cursor.image.data; + cursor.image.cmap.red = info->cursor.image.cmap.red; + cursor.image.cmap.green = info->cursor.image.cmap.green; + cursor.image.cmap.blue = info->cursor.image.cmap.blue; + cursor.image.cmap.transp = info->cursor.image.cmap.transp; + cursor.data = NULL; if (cursor.set & FB_CUR_SETCUR) info->cursor.enable = 1; @@ -1014,6 +737,8 @@ fb_cursor(struct fb_info *info, struct fb_cursor_user __user *sprite) cursor.image.data = data; cursor.mask = mask; + info_mask = (char *) info->cursor.mask; + info->cursor.mask = mask; } info->cursor.set = cursor.set; info->cursor.rop = cursor.rop; @@ -1025,6 +750,8 @@ out: kfree(green); kfree(blue); kfree(transp); + if (info_mask) + info->cursor.mask = info_mask; return err; } @@ -1055,6 +782,30 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) { int err; + if (var->activate & FB_ACTIVATE_INV_MODE) { + struct fb_videomode mode1, mode2; + int ret = 0; + + fb_var_to_videomode(&mode1, var); + fb_var_to_videomode(&mode2, &info->var); + /* make sure we don't delete the videomode of current var */ + ret = fb_mode_is_equal(&mode1, &mode2); + + if (!ret) { + struct fb_event event; + + event.info = info; + event.data = &mode1; + ret = notifier_call_chain(&fb_notifier_list, + FB_EVENT_MODE_DELETE, &event); + } + + if (!ret) + fb_delete_videomode(&mode1, &info->modelist); + + return ret; + } + if ((var->activate & FB_ACTIVATE_FORCE) || memcmp(&info->var, var, sizeof(struct fb_var_screeninfo))) { if (!info->fbops->fb_check_var) { @@ -1066,6 +817,7 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) return err; if ((var->activate & FB_ACTIVATE_MASK) == FB_ACTIVATE_NOW) { + struct fb_videomode mode; info->var = *var; if (info->fbops->fb_set_par) @@ -1075,10 +827,16 @@ fb_set_var(struct fb_info *info, struct fb_var_screeninfo *var) fb_set_cmap(&info->cmap, info); + fb_var_to_videomode(&mode, &info->var); + fb_add_videomode(&mode, &info->modelist); + if (info->flags & FBINFO_MISC_MODECHANGEUSER) { + struct fb_event event; + info->flags &= ~FBINFO_MISC_MODECHANGEUSER; + event.info = info; notifier_call_chain(&fb_notifier_list, - FB_EVENT_MODE_CHANGE, info); + FB_EVENT_MODE_CHANGE, &event); } } } @@ -1114,10 +872,9 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, struct fb_ops *fb = info->fbops; struct fb_var_screeninfo var; struct fb_fix_screeninfo fix; -#ifdef CONFIG_FRAMEBUFFER_CONSOLE struct fb_con2fbmap con2fb; -#endif struct fb_cmap_user cmap; + struct fb_event event; void __user *argp = (void __user *)arg; int i; @@ -1166,13 +923,16 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, i = fb_cursor(info, argp); release_console_sem(); return i; -#ifdef CONFIG_FRAMEBUFFER_CONSOLE case FBIOGET_CON2FBMAP: if (copy_from_user(&con2fb, argp, sizeof(con2fb))) return -EFAULT; if (con2fb.console < 1 || con2fb.console > MAX_NR_CONSOLES) return -EINVAL; - con2fb.framebuffer = con2fb_map[con2fb.console-1]; + con2fb.framebuffer = -1; + event.info = info; + event.data = &con2fb; + notifier_call_chain(&fb_notifier_list, + FB_EVENT_GET_CONSOLE_MAP, &event); return copy_to_user(argp, &con2fb, sizeof(con2fb)) ? -EFAULT : 0; case FBIOPUT_CON2FBMAP: @@ -1188,11 +948,14 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd, #endif /* CONFIG_KMOD */ if (!registered_fb[con2fb.framebuffer]) return -EINVAL; - if (con2fb.console > 0 && con2fb.console < MAX_NR_CONSOLES) - return set_con2fb_map(con2fb.console-1, - con2fb.framebuffer); + if (con2fb.console > 0 && con2fb.console < MAX_NR_CONSOLES) { + event.info = info; + event.data = &con2fb; + return notifier_call_chain(&fb_notifier_list, + FB_EVENT_SET_CONSOLE_MAP, + &event); + } return -EINVAL; -#endif /* CONFIG_FRAMEBUFFER_CONSOLE */ case FBIOBLANK: acquire_console_sem(); i = fb_blank(info, arg); @@ -1371,6 +1134,7 @@ register_framebuffer(struct fb_info *fb_info) { int i; struct class_device *c; + struct fb_event event; if (num_registered_fb == FB_MAX) return -ENXIO; @@ -1410,10 +1174,23 @@ register_framebuffer(struct fb_info *fb_info) } fb_info->sprite.offset = 0; + if (!fb_info->modelist.prev || + !fb_info->modelist.next || + list_empty(&fb_info->modelist)) { + struct fb_videomode mode; + + INIT_LIST_HEAD(&fb_info->modelist); + fb_var_to_videomode(&mode, &fb_info->var); + fb_add_videomode(&mode, &fb_info->modelist); + } + registered_fb[i] = fb_info; devfs_mk_cdev(MKDEV(FB_MAJOR, i), S_IFCHR | S_IRUGO | S_IWUGO, "fb/%d", i); + event.info = fb_info; + notifier_call_chain(&fb_notifier_list, + FB_EVENT_FB_REGISTERED, &event); return 0; } @@ -1442,6 +1219,7 @@ unregister_framebuffer(struct fb_info *fb_info) kfree(fb_info->pixmap.addr); if (fb_info->sprite.addr && (fb_info->sprite.flags & FB_PIXMAP_DEFAULT)) kfree(fb_info->sprite.addr); + fb_destroy_modelist(&fb_info->modelist); registered_fb[i]=NULL; num_registered_fb--; class_simple_device_remove(MKDEV(FB_MAJOR, i)); @@ -1477,12 +1255,15 @@ int fb_unregister_client(struct notifier_block *nb) */ void fb_set_suspend(struct fb_info *info, int state) { + struct fb_event event; + + event.info = info; if (state) { - notifier_call_chain(&fb_notifier_list, FB_EVENT_SUSPEND, info); + notifier_call_chain(&fb_notifier_list, FB_EVENT_SUSPEND, &event); info->state = FBINFO_STATE_SUSPENDED; } else { info->state = FBINFO_STATE_RUNNING; - notifier_call_chain(&fb_notifier_list, FB_EVENT_RESUME, info); + notifier_call_chain(&fb_notifier_list, FB_EVENT_RESUME, &event); } } @@ -1495,11 +1276,9 @@ void fb_set_suspend(struct fb_info *info, int state) * */ -void __init +int __init fbmem_init(void) { - int i; - create_proc_read_entry("fb", 0, NULL, fbmem_read_proc, NULL); devfs_mk_dir("fb"); @@ -1511,26 +1290,53 @@ fbmem_init(void) printk(KERN_WARNING "Unable to create fb class; errno = %ld\n", PTR_ERR(fb_class)); fb_class = NULL; } + return 0; +} +module_init(fbmem_init); + +#define NR_FB_DRIVERS 64 +static char *video_options[NR_FB_DRIVERS]; +static int ofonly; -#ifdef CONFIG_FB_OF - if (ofonly) { - offb_init(); - return; +/** + * fb_get_options - get kernel boot parameters + * @name - framebuffer name as it would appear in + * the boot parameter line + * (video=:) + * + * NOTE: Needed to maintain backwards compatibility + */ +int fb_get_options(char *name, char **option) +{ + char *opt, *options = NULL; + int opt_len, retval = 0; + int name_len = strlen(name), i; + + if (name_len && ofonly && strncmp(name, "offb", 4)) + retval = 1; + + if (name_len && !retval) { + for (i = 0; i < NR_FB_DRIVERS; i++) { + if (video_options[i] == NULL) + continue; + opt_len = strlen(video_options[i]); + if (!opt_len) + continue; + opt = video_options[i]; + if (!strncmp(name, opt, name_len) && + opt[name_len] == ':') + options = opt + name_len + 1; + } } -#endif + if (options && !strncmp(options, "off", 3)) + retval = 1; - /* - * Probe for all builtin frame buffer devices - */ - for (i = 0; i < num_pref_init_funcs; i++) - pref_init_funcs[i](); + if (option) + *option = options; - for (i = 0; i < NUM_FB_DRIVERS; i++) - if (fb_drivers[i].init) - fb_drivers[i].init(); + return retval; } - /** * video_setup - process command line options * @options: string of options @@ -1538,6 +1344,8 @@ fbmem_init(void) * Process command line options for frame buffer subsystem. * * NOTE: This function is a __setup and __init function. + * It only stores the options. Drivers have to call + * fb_get_options() as necessary. * * Returns zero. * @@ -1545,48 +1353,22 @@ fbmem_init(void) int __init video_setup(char *options) { - int i, j; + int i; if (!options || !*options) return 0; - -#ifdef CONFIG_FB_OF - if (!strcmp(options, "ofonly")) { - ofonly = 1; - return 0; - } -#endif - - if (num_pref_init_funcs == FB_MAX) - return 0; - for (i = 0; i < NUM_FB_DRIVERS; i++) { - j = strlen(fb_drivers[i].name); - if (!strncmp(options, fb_drivers[i].name, j) && - options[j] == ':') { - if (!strcmp(options+j+1, "off")) - fb_drivers[i].init = NULL; - else { - if (fb_drivers[i].init) { - pref_init_funcs[num_pref_init_funcs++] = - fb_drivers[i].init; - fb_drivers[i].init = NULL; - } - if (fb_drivers[i].setup) - fb_drivers[i].setup(options+j+1); - } - return 0; + for (i = 0; i < NR_FB_DRIVERS; i++) { + if (!strncmp(options, "ofonly", 6)) + ofonly = 1; + if (video_options[i] == NULL) { + video_options[i] = options; + break; } } - /* - * If we get here no fb was specified. - * We consider the argument to be a global video mode option. - */ - global_mode_option = options; return 0; } - __setup("video=", video_setup); /* @@ -1611,5 +1393,6 @@ EXPORT_SYMBOL(fb_load_cursor_image); EXPORT_SYMBOL(fb_set_suspend); EXPORT_SYMBOL(fb_register_client); EXPORT_SYMBOL(fb_unregister_client); +EXPORT_SYMBOL(fb_get_options); MODULE_LICENSE("GPL"); diff --git a/drivers/video/hgafb.c b/drivers/video/hgafb.c index 05244ce4a..87d008af2 100644 --- a/drivers/video/hgafb.c +++ b/drivers/video/hgafb.c @@ -547,6 +547,9 @@ static struct fb_ops hgafb_ops = { int __init hgafb_init(void) { + if (fb_get_options("hgafb", NULL)) + return -ENODEV; + if (! hga_card_detect()) { printk(KERN_INFO "hgafb: HGA card not detected.\n"); return -EINVAL; @@ -558,7 +561,7 @@ int __init hgafb_init(void) hga_fix.smem_start = VGA_MAP_MEM(hga_vram_base); hga_fix.smem_len = hga_vram_len; - fb_info.flags = FBINFO_FLAG_DEFAULT; + fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; fb_info.var = hga_default_var; fb_info.fix = hga_fix; fb_info.monspecs.hfmin = 0; @@ -609,8 +612,8 @@ MODULE_LICENSE("GPL"); MODULE_PARM(nologo, "i"); MODULE_PARM_DESC(nologo, "Disables startup logo if != 0 (default=0)"); +module_init(hgafb_init); #ifdef MODULE -module_init(hgafb_init); module_exit(hgafb_exit); #endif diff --git a/drivers/video/imsttfb.c b/drivers/video/imsttfb.c index 7bef8b772..c4a07f27c 100644 --- a/drivers/video/imsttfb.c +++ b/drivers/video/imsttfb.c @@ -1442,7 +1442,10 @@ init_imstt(struct fb_info *info) info->var.pixclock = 1000000 / getclkMHz(par); info->fbops = &imsttfb_ops; - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT | + FBINFO_HWACCEL_COPYAREA | + FBINFO_HWACCEL_FILLRECT | + FBINFO_HWACCEL_YPAN; fb_alloc_cmap(&info->cmap, 0, 0); @@ -1599,6 +1602,14 @@ imsttfb_setup(char *options) int __init imsttfb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("imsttfb", &option)) + return -ENODEV; + + imsttfb_setup(option); +#endif return pci_module_init(&imsttfb_pci_driver); } @@ -1609,7 +1620,7 @@ static void __exit imsttfb_exit(void) #ifdef MODULE MODULE_LICENSE("GPL"); -module_init(imsttfb_init); #endif +module_init(imsttfb_init); module_exit(imsttfb_exit); diff --git a/drivers/video/kyro/fbdev.c b/drivers/video/kyro/fbdev.c index ad74caab2..2352a9142 100644 --- a/drivers/video/kyro/fbdev.c +++ b/drivers/video/kyro/fbdev.c @@ -712,7 +712,7 @@ static int __devinit kyrofb_probe(struct pci_dev *pdev, info->fix = kyro_fix; info->par = currentpar; info->pseudo_palette = (void *)(currentpar + 1); - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT; SetCoreClockPLL(deviceInfo.pSTGReg, pdev); @@ -787,6 +787,13 @@ static void __devexit kyrofb_remove(struct pci_dev *pdev) int __init kyrofb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("kyrofb", &option)) + return -ENODEV; + kyrofb_setup(option); +#endif return pci_module_init(&kyrofb_pci_driver); } @@ -795,8 +802,9 @@ static void __exit kyrofb_exit(void) pci_unregister_driver(&kyrofb_pci_driver); } -#ifdef MODULE module_init(kyrofb_init); + +#ifdef MODULE module_exit(kyrofb_exit); #endif diff --git a/drivers/video/matrox/matroxfb_base.c b/drivers/video/matrox/matroxfb_base.c index 8074e858c..e2a2290b6 100644 --- a/drivers/video/matrox/matroxfb_base.c +++ b/drivers/video/matrox/matroxfb_base.c @@ -2415,8 +2415,14 @@ static int __initdata initialized = 0; int __init matroxfb_init(void) { + char *option = NULL; + DBG(__FUNCTION__) + if (fb_get_options("matroxfb", &option)) + return -ENODEV; + matroxfb_setup(option); + if (disabled) return -ENXIO; if (!initialized) { @@ -2428,6 +2434,8 @@ int __init matroxfb_init(void) return 0; } +module_init(matroxfb_init); + #else /* *************************** init module code **************************** */ diff --git a/drivers/video/matrox/matroxfb_base.h b/drivers/video/matrox/matroxfb_base.h index 18938f119..79a6873f7 100644 --- a/drivers/video/matrox/matroxfb_base.h +++ b/drivers/video/matrox/matroxfb_base.h @@ -99,21 +99,16 @@ #endif #endif -#if defined(__alpha__) || defined(__mc68000__) +#if defined(__alpha__) || defined(__mc68000__) || defined(__i386__) || defined(__x86_64__) #define READx_WORKS #define MEMCPYTOIO_WORKS #else +/* ppc/ppc64 must use __raw_{read,write}[bwl] as we drive adapter + in big-endian mode for compatibility with XFree mga driver, and + so we do not want little-endian {read,write}[bwl] */ #define READx_FAILS -/* recheck __ppc__, maybe that __ppc__ needs MEMCPYTOIO_WRITEL */ -/* I benchmarked PII/350MHz with G200... MEMCPY, MEMCPYTOIO and WRITEL are on same speed ( <2% diff) */ -/* so that means that G200 speed (or AGP speed?) is our limit... I do not have benchmark to test, how */ -/* much of PCI bandwidth is used during transfers... */ -#if defined(__i386__) || defined(__x86_64__) -#define MEMCPYTOIO_MEMCPY -#else #define MEMCPYTOIO_WRITEL #endif -#endif #if defined(__mc68000__) #define MAP_BUSTOVIRT @@ -160,7 +155,7 @@ #endif typedef struct { - u_int8_t* vaddr; + u_int8_t __iomem* vaddr; } vaddr_t; #ifdef READx_WORKS @@ -189,27 +184,27 @@ static inline void mga_writel(vaddr_t va, unsigned int offs, u_int32_t value) { } #else static inline unsigned int mga_readb(vaddr_t va, unsigned int offs) { - return *(volatile u_int8_t*)(va.vaddr + offs); + return __raw_readb(va.vaddr + offs); } static inline unsigned int mga_readw(vaddr_t va, unsigned int offs) { - return *(volatile u_int16_t*)(va.vaddr + offs); + return __raw_readw(va.vaddr + offs); } static inline u_int32_t mga_readl(vaddr_t va, unsigned int offs) { - return *(volatile u_int32_t*)(va.vaddr + offs); + return __raw_readl(va.vaddr + offs); } static inline void mga_writeb(vaddr_t va, unsigned int offs, u_int8_t value) { - *(volatile u_int8_t*)(va.vaddr + offs) = value; + __raw_writeb(value, va.vaddr + offs); } static inline void mga_writew(vaddr_t va, unsigned int offs, u_int16_t value) { - *(volatile u_int16_t*)(va.vaddr + offs) = value; + __raw_writew(value, va.vaddr + offs); } static inline void mga_writel(vaddr_t va, unsigned int offs, u_int32_t value) { - *(volatile u_int32_t*)(va.vaddr + offs) = value; + __raw_writel(value, va.vaddr + offs); } #endif @@ -238,8 +233,6 @@ static inline void mga_memcpy_toio(vaddr_t va, unsigned int offs, const void* sr memcpy(&tmp, src, len); mga_writel(va, offs, tmp); } -#elif defined(MEMCPYTOIO_MEMCPY) - memcpy(va.vaddr + offs, src, len); #else #error "Sorry, do not know how to write block of data to device" #endif @@ -249,7 +242,7 @@ static inline void vaddr_add(vaddr_t* va, unsigned long offs) { va->vaddr += offs; } -static inline void* vaddr_va(vaddr_t va) { +static inline void __iomem* vaddr_va(vaddr_t va) { return va.vaddr; } diff --git a/drivers/video/matrox/matroxfb_crtc2.c b/drivers/video/matrox/matroxfb_crtc2.c index 0d7e067fe..75d19696f 100644 --- a/drivers/video/matrox/matroxfb_crtc2.c +++ b/drivers/video/matrox/matroxfb_crtc2.c @@ -721,6 +721,9 @@ static struct matroxfb_driver crtc2 = { .remove = matroxfb_crtc2_remove }; static int matroxfb_crtc2_init(void) { + if (fb_get_options("matrox_crtc2fb", NULL)) + return -ENODEV; + matroxfb_register_driver(&crtc2); return 0; } diff --git a/drivers/video/modedb.c b/drivers/video/modedb.c index d046edf1e..3892222d1 100644 --- a/drivers/video/modedb.c +++ b/drivers/video/modedb.c @@ -39,7 +39,7 @@ const char *global_mode_option = NULL; #define DEFAULT_MODEDB_INDEX 0 -static const struct fb_videomode modedb[] = { +static const __init struct fb_videomode modedb[] = { { /* 640x400 @ 70 Hz, 31.5 kHz hsync */ NULL, 70, 640, 400, 39721, 40, 24, 39, 9, 96, 2, @@ -251,6 +251,7 @@ static const struct fb_videomode modedb[] = { }, }; +#ifdef CONFIG_FB_MODE_HELPERS const struct fb_videomode vesa_modes[] = { /* 0 640x350-85 VESA */ { NULL, 85, 640, 350, 31746, 96, 32, 60, 32, 64, 3, @@ -374,6 +375,8 @@ const struct fb_videomode vesa_modes[] = { { NULL, 60, 1920, 1440, 3367, 352, 144, 56, 1, 224, 3, FB_SYNC_VERT_HIGH_ACT, FB_VMODE_NONINTERLACED, FB_MODE_IS_VESA }, }; +EXPORT_SYMBOL(vesa_modes); +#endif /* CONFIG_FB_MODE_HELPERS */ static int my_atoi(const char *name) { @@ -404,7 +407,7 @@ static int my_atoi(const char *name) */ int fb_try_mode(struct fb_var_screeninfo *var, struct fb_info *info, - const struct fb_videomode *mode, unsigned int bpp) + const struct fb_videomode *mode, unsigned int bpp) { int err = 0; @@ -570,5 +573,261 @@ done: return 0; } -EXPORT_SYMBOL(vesa_modes); +/** + * fb_var_to_videomode - convert fb_var_screeninfo to fb_videomode + * @mode: pointer to struct fb_videomode + * @var: pointer to struct fb_var_screeninfo + */ +void fb_var_to_videomode(struct fb_videomode *mode, + struct fb_var_screeninfo *var) +{ + u32 pixclock, hfreq, htotal, vtotal; + + mode->name = NULL; + mode->xres = var->xres; + mode->yres = var->yres; + mode->pixclock = var->pixclock; + mode->hsync_len = var->hsync_len; + mode->vsync_len = var->vsync_len; + mode->left_margin = var->left_margin; + mode->right_margin = var->right_margin; + mode->upper_margin = var->upper_margin; + mode->lower_margin = var->lower_margin; + mode->sync = var->sync; + mode->vmode = var->vmode & FB_VMODE_MASK; + mode->flag = FB_MODE_IS_FROM_VAR; + if (!var->pixclock) + return; + + pixclock = PICOS2KHZ(var->pixclock) * 1000; + + htotal = var->xres + var->right_margin + var->hsync_len + + var->left_margin; + vtotal = var->yres + var->lower_margin + var->vsync_len + + var->upper_margin; + + if (var->vmode & FB_VMODE_INTERLACED) + vtotal /= 2; + if (var->vmode & FB_VMODE_DOUBLE) + vtotal *= 2; + + hfreq = pixclock/htotal; + mode->refresh = hfreq/vtotal; +} + +/** + * fb_videomode_to_var - convert fb_videomode to fb_var_screeninfo + * @var: pointer to struct fb_var_screeninfo + * @mode: pointer to struct fb_videomode + */ +void fb_videomode_to_var(struct fb_var_screeninfo *var, + struct fb_videomode *mode) +{ + var->xres = mode->xres; + var->yres = mode->yres; + var->pixclock = mode->pixclock; + var->left_margin = mode->left_margin; + var->hsync_len = mode->hsync_len; + var->vsync_len = mode->vsync_len; + var->right_margin = mode->right_margin; + var->upper_margin = mode->upper_margin; + var->lower_margin = mode->lower_margin; + var->sync = mode->sync; + var->vmode = mode->vmode & FB_VMODE_MASK; +} + +/** + * fb_mode_is_equal - compare 2 videomodes + * @mode1: first videomode + * @mode2: second videomode + * + * RETURNS: + * 1 if equal, 0 if not + */ +int fb_mode_is_equal(struct fb_videomode *mode1, + struct fb_videomode *mode2) +{ + return (mode1->xres == mode2->xres && + mode1->yres == mode2->yres && + mode1->pixclock == mode2->pixclock && + mode1->hsync_len == mode2->hsync_len && + mode1->vsync_len == mode2->vsync_len && + mode1->left_margin == mode2->left_margin && + mode1->right_margin == mode2->right_margin && + mode1->upper_margin == mode2->upper_margin && + mode1->lower_margin == mode2->lower_margin && + mode1->sync == mode2->sync && + mode1->vmode == mode2->vmode); +} + +/** + * fb_find_best_mode - find best matching videomode + * @var: pointer to struct fb_var_screeninfo + * @head: pointer to struct list_head of modelist + * + * RETURNS: + * struct fb_videomode, NULL if none found + * + * IMPORTANT: + * This function assumes that all modelist entries in + * info->modelist are valid. + * + * NOTES: + * Finds best matching videomode which has an equal or greater dimension than + * var->xres and var->yres. If more than 1 videomode is found, will return + * the videomode with the highest refresh rate + */ +struct fb_videomode *fb_find_best_mode(struct fb_var_screeninfo *var, + struct list_head *head) +{ + struct list_head *pos; + struct fb_modelist *modelist; + struct fb_videomode *mode, *best = NULL; + u32 diff = -1; + + list_for_each(pos, head) { + u32 d; + + modelist = list_entry(pos, struct fb_modelist, list); + mode = &modelist->mode; + + if (mode->xres >= var->xres && mode->yres >= var->yres) { + d = (mode->xres - var->xres) + + (mode->yres - var->yres); + if (diff > d) { + diff = d; + best = mode; + } else if (diff == d && mode->refresh > best->refresh) + best = mode; + } + } + return best; +} + +/** + * fb_match_mode - find a videomode which exactly matches the timings in var + * @var: pointer to struct fb_var_screeninfo + * @head: pointer to struct list_head of modelist + * + * RETURNS: + * struct fb_videomode, NULL if none found + */ +struct fb_videomode *fb_match_mode(struct fb_var_screeninfo *var, + struct list_head *head) +{ + struct list_head *pos; + struct fb_modelist *modelist; + struct fb_videomode *m, mode; + + fb_var_to_videomode(&mode, var); + list_for_each(pos, head) { + modelist = list_entry(pos, struct fb_modelist, list); + m = &modelist->mode; + if (fb_mode_is_equal(m, &mode)) + return m; + } + return NULL; +} + +/** + * fb_add_videomode: adds videomode entry to modelist + * @mode: videomode to add + * @head: struct list_head of modelist + * + * NOTES: + * Will only add unmatched mode entries + */ +int fb_add_videomode(struct fb_videomode *mode, struct list_head *head) +{ + struct list_head *pos; + struct fb_modelist *modelist; + struct fb_videomode *m; + int found = 0; + + list_for_each(pos, head) { + modelist = list_entry(pos, struct fb_modelist, list); + m = &modelist->mode; + if (fb_mode_is_equal(m, mode)) { + found = 1; + break; + } + } + if (!found) { + modelist = kmalloc(sizeof(struct fb_modelist), + GFP_KERNEL); + + if (!modelist) + return -ENOMEM; + modelist->mode = *mode; + list_add(&modelist->list, head); + } + return 0; +} + +/** + * fb_delete_videomode: removed videomode entry from modelist + * @mode: videomode to remove + * @head: struct list_head of modelist + * + * NOTES: + * Will remove all matching mode entries + */ +void fb_delete_videomode(struct fb_videomode *mode, struct list_head *head) +{ + struct list_head *pos, *n; + struct fb_modelist *modelist; + struct fb_videomode *m; + + list_for_each_safe(pos, n, head) { + modelist = list_entry(pos, struct fb_modelist, list); + m = &modelist->mode; + if (fb_mode_is_equal(m, mode)) { + list_del(pos); + kfree(pos); + } + } +} + +/** + * fb_destroy_modelist: destroy modelist + * @head: struct list_head of modelist + */ +void fb_destroy_modelist(struct list_head *head) +{ + struct list_head *pos, *n; + + list_for_each_safe(pos, n, head) { + list_del(pos); + kfree(pos); + } +} + +/** + * fb_videomode_to_modelist: convert mode array to mode list + * @modedb: array of struct fb_videomode + * @num: number of entries in array + * @head: struct list_head of modelist + */ +void fb_videomode_to_modelist(struct fb_videomode *modedb, int num, + struct list_head *head) +{ + int i; + + INIT_LIST_HEAD(head); + + for (i = 0; i < num; i++) { + if (fb_add_videomode(&modedb[i], head)) + return; + } +} + +EXPORT_SYMBOL(fb_videomode_to_var); +EXPORT_SYMBOL(fb_var_to_videomode); +EXPORT_SYMBOL(fb_mode_is_equal); +EXPORT_SYMBOL(fb_add_videomode); +EXPORT_SYMBOL(fb_delete_videomode); +EXPORT_SYMBOL(fb_destroy_modelist); +EXPORT_SYMBOL(fb_match_mode); +EXPORT_SYMBOL(fb_find_best_mode); +EXPORT_SYMBOL(fb_videomode_to_modelist); EXPORT_SYMBOL(fb_find_mode); diff --git a/drivers/video/neofb.c b/drivers/video/neofb.c index dfa6e35d7..6ce5ba85c 100644 --- a/drivers/video/neofb.c +++ b/drivers/video/neofb.c @@ -93,7 +93,7 @@ static int external; static int libretto; static int nostretch; static int nopciburst; - +static char *mode_option __initdata = NULL; #ifdef MODULE @@ -111,6 +111,8 @@ MODULE_PARM_DESC(nostretch, "Disable stretching of modes smaller than LCD."); MODULE_PARM(nopciburst, "i"); MODULE_PARM_DESC(nopciburst, "Disable PCI burst mode."); +MODULE_PARM(mode_option, "s"); +MODULE_PARM_DESC(mode_option, "Preferred video mode ('640x480-8@60', etc)"); #endif @@ -544,6 +546,10 @@ static inline void neo2200_accel_init(struct fb_info *info, bltMod = NEO_MODE1_DEPTH16; pitch = var->xres_virtual * 2; break; + case 24: + bltMod = NEO_MODE1_DEPTH24; + pitch = var->xres_virtual * 3; + break; default: printk(KERN_ERR "neofb: neo2200_accel_init: unexpected bits per pixel!\n"); @@ -562,7 +568,7 @@ neofb_open(struct fb_info *info, int user) struct neofb_par *par = (struct neofb_par *) info->par; int cnt = atomic_read(&par->ref_count); - if (cnt) { + if (!cnt) { memset(&par->state, 0, sizeof(struct vgastate)); par->state.flags = VGA_SAVE_MODE | VGA_SAVE_FONTS; save_vga(&par->state); @@ -695,6 +701,7 @@ neofb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) var->green.offset = 8; var->green.length = 8; var->blue.offset = 0; + var->blue.length = 8; break; #ifdef NO_32BIT_SUPPORT_YET @@ -994,41 +1001,6 @@ static int neofb_set_par(struct fb_info *info) /* Since we program the clocks ourselves, always use VCLK3. */ par->MiscOutReg |= 0x0C; - /* linear colormap for non palettized modes */ - switch (info->var.bits_per_pixel) { - case 8: - /* PseudoColor, 256 */ - info->fix.visual = FB_VISUAL_PSEUDOCOLOR; - break; - case 16: - /* DirectColor, 64k */ - info->fix.visual = FB_VISUAL_DIRECTCOLOR; - - for (i = 0; i < 64; i++) { - outb(i, 0x3c8); - - outb(i << 1, 0x3c9); - outb(i, 0x3c9); - outb(i << 1, 0x3c9); - } - break; - case 24: -#ifdef NO_32BIT_SUPPORT_YET - case 32: -#endif - /* TrueColor, 16m */ - info->fix.visual = FB_VISUAL_TRUECOLOR; - - for (i = 0; i < 256; i++) { - outb(i, 0x3c8); - - outb(i, 0x3c9); - outb(i, 0x3c9); - outb(i, 0x3c9); - } - break; - } - /* alread unlocked above */ /* BOGUS vga_wgfx(NULL, 0x09, 0x26); */ @@ -1090,6 +1062,41 @@ static int neofb_set_par(struct fb_info *info) * This function handles restoring the generic VGA registers. */ vgaHWRestore(info, par); + /* linear colormap for non palettized modes */ + switch (info->var.bits_per_pixel) { + case 8: + /* PseudoColor, 256 */ + info->fix.visual = FB_VISUAL_PSEUDOCOLOR; + break; + case 16: + /* TrueColor, 64k */ + info->fix.visual = FB_VISUAL_TRUECOLOR; + + for (i = 0; i < 64; i++) { + outb(i, 0x3c8); + + outb(i << 1, 0x3c9); + outb(i, 0x3c9); + outb(i << 1, 0x3c9); + } + break; + case 24: +#ifdef NO_32BIT_SUPPORT_YET + case 32: +#endif + /* TrueColor, 16m */ + info->fix.visual = FB_VISUAL_TRUECOLOR; + + for (i = 0; i < 256; i++) { + outb(i, 0x3c8); + + outb(i, 0x3c9); + outb(i, 0x3c9); + outb(i, 0x3c9); + } + break; + } + vga_wgfx(NULL, 0x0E, par->ExtCRTDispAddr); vga_wgfx(NULL, 0x0F, par->ExtCRTOffset); temp = vga_rgfx(NULL, 0x10); @@ -1276,7 +1283,7 @@ static int neofb_pan_display(struct fb_var_screeninfo *var, static int neofb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *fb) { - if (regno >= 255) + if (regno >= fb->cmap.len || regno > 255) return -EINVAL; switch (fb->var.bits_per_pixel) { @@ -1288,25 +1295,20 @@ static int neofb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, outb(blue >> 10, 0x3c9); break; case 16: - if (regno < 16) - ((u16 *) fb->pseudo_palette)[regno] = - ((red & 0xf800)) | ((green & 0xfc00) >> 5) | - ((blue & 0xf800) >> 11); + ((u32 *) fb->pseudo_palette)[regno] = + ((red & 0xf800)) | ((green & 0xfc00) >> 5) | + ((blue & 0xf800) >> 11); break; case 24: - if (regno < 16) - ((u32 *) fb->pseudo_palette)[regno] = - ((red & 0xff00) << 8) | ((green & 0xff00)) | - ((blue & 0xff00) >> 8); + ((u32 *) fb->pseudo_palette)[regno] = + ((red & 0xff00) << 8) | ((green & 0xff00)) | + ((blue & 0xff00) >> 8); break; #ifdef NO_32BIT_SUPPORT_YET case 32: - if (regno < 16) - ((u32 *) fb->pseudo_palette)[regno] = - ((transp & 0xff00) << 16) | ((red & 0xff00) << - 8) | ((green & - 0xff00)) | - ((blue & 0xff00) >> 8); + ((u32 *) fb->pseudo_palette)[regno] = + ((transp & 0xff00) << 16) | ((red & 0xff00) << 8) | + ((green & 0xff00)) | ((blue & 0xff00) >> 8); break; #endif default: @@ -1318,27 +1320,33 @@ static int neofb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, /* * (Un)Blank the display. */ -static int neofb_blank(int blank, struct fb_info *info) +int neofb_blank(int blank_mode, struct fb_info *info) { /* - * Blank the screen if blank_mode != 0, else unblank. If - * blank == NULL then the caller blanks by setting the CLUT - * (Color Look Up Table) to all black. Return 0 if blanking - * succeeded, != 0 if un-/blanking failed due to e.g. a - * video mode which doesn't support it. Implements VESA - * suspend and powerdown modes on hardware that supports - * disabling hsync/vsync: - * blank_mode == 2: suspend vsync - * blank_mode == 3: suspend hsync - * blank_mode == 4: powerdown + * Blank the screen if blank_mode != 0, else unblank. + * Return 0 if blanking succeeded, != 0 if un-/blanking failed due to + * e.g. a video mode which doesn't support it. Implements VESA suspend + * and powerdown modes for monitors, and backlight control on LCDs. + * blank_mode == 0: unblanked (backlight on) + * blank_mode == 1: blank (backlight on) + * blank_mode == 2: suspend vsync (backlight off) + * blank_mode == 3: suspend hsync (backlight off) + * blank_mode == 4: powerdown (backlight off) * - * wms...Enable VESA DMPS compatible powerdown mode + * wms...Enable VESA DPMS compatible powerdown mode * run "setterm -powersave powerdown" to take advantage */ + struct neofb_par *par = (struct neofb_par *)info->par; + int seqflags, lcdflags, dpmsflags, reg; - switch (blank) { + switch (blank_mode) { case 4: /* powerdown - both sync lines down */ + seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ + lcdflags = 0; /* LCD off */ + dpmsflags = NEO_GR01_SUPPRESS_HSYNC | + NEO_GR01_SUPPRESS_VSYNC; #ifdef CONFIG_TOSHIBA + /* Do we still need this ? */ /* attempt to turn off backlight on toshiba; also turns off external */ { SMMRegisters regs; @@ -1351,13 +1359,26 @@ static int neofb_blank(int blank, struct fb_info *info) #endif break; case 3: /* hsync off */ + seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ + lcdflags = 0; /* LCD off */ + dpmsflags = NEO_GR01_SUPPRESS_HSYNC; break; case 2: /* vsync off */ - break; - case 1: /* just software blanking of screen */ - break; - default: /* case 0, or anything else: unblank */ + seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ + lcdflags = 0; /* LCD off */ + dpmsflags = NEO_GR01_SUPPRESS_VSYNC; + break; + case 1: /* just blank screen (backlight stays on) */ + seqflags = VGA_SR01_SCREEN_OFF; /* Disable sequencer */ + lcdflags = par->PanelDispCntlReg1 & 0x02; /* LCD normal */ + dpmsflags = 0; /* no hsync/vsync suppression */ + break; + case 0: /* unblank */ + seqflags = 0; /* Enable sequencer */ + lcdflags = par->PanelDispCntlReg1 & 0x02; /* LCD normal */ + dpmsflags = 0x00; /* no hsync/vsync suppression */ #ifdef CONFIG_TOSHIBA + /* Do we still need this ? */ /* attempt to re-enable backlight/external on toshiba */ { SMMRegisters regs; @@ -1369,7 +1390,19 @@ static int neofb_blank(int blank, struct fb_info *info) } #endif break; + default: /* Anything else we don't understand; return 1 to tell + * fb_blank we didn't aactually do anything */ + return 1; } + + neoUnlock(); + reg = (vga_rseq(NULL, 0x01) & ~0x20) | seqflags; + vga_wseq(NULL, 0x01, reg); + reg = (vga_rgfx(NULL, 0x20) & ~0x02) | lcdflags; + vga_wgfx(NULL, 0x20, reg); + reg = (vga_rgfx(NULL, 0x01) & ~0xF0) | 0x80 | dpmsflags; + vga_wgfx(NULL, 0x01, reg); + neoLock(&par->state); return 0; } @@ -1396,8 +1429,9 @@ neo2200_fillrect(struct fb_info *info, const struct fb_fillrect *rect) par->neo2200->fgColor = rect->color; break; case 16: + case 24: par->neo2200->fgColor = - ((u16 *) (info->pseudo_palette))[rect->color]; + ((u32 *) (info->pseudo_palette))[rect->color]; break; } @@ -1440,31 +1474,57 @@ neo2200_copyarea(struct fb_info *info, const struct fb_copyarea *area) (area->height << 16) | (area->width & 0xffff); } -/* static void neo2200_imageblit(struct fb_info *info, const struct fb_image *image) { struct neofb_par *par = (struct neofb_par *) info->par; + int s_pitch = (image->width * image->depth + 7) >> 3; + int scan_align = info->pixmap.scan_align - 1; + int buf_align = info->pixmap.buf_align - 1; + int bltCntl_flags, d_pitch, data_len; + + // The data is padded for the hardware + d_pitch = (s_pitch + scan_align) & ~scan_align; + data_len = ((d_pitch * image->height) + buf_align) & ~buf_align; neo2200_sync(info); + if (image->depth == 1) { + if (info->var.bits_per_pixel == 24 && image->width < 16) { + /* FIXME. There is a bug with accelerated color-expanded + * transfers in 24 bit mode if the image being transferred + * is less than 16 bits wide. This is due to insufficient + * padding when writing the image. We need to adjust + * struct fb_pixmap. Not yet done. */ + return cfb_imageblit(info, image); + } + bltCntl_flags = NEO_BC0_SRC_MONO; + } else if (image->depth == info->var.bits_per_pixel) { + bltCntl_flags = 0; + } else { + /* We don't currently support hardware acceleration if image + * depth is different from display */ + return cfb_imageblit(info, image); + } + switch (info->var.bits_per_pixel) { case 8: par->neo2200->fgColor = image->fg_color; par->neo2200->bgColor = image->bg_color; break; case 16: + case 24: par->neo2200->fgColor = - ((u16 *) (info->pseudo_palette))[image->fg_color]; + ((u32 *) (info->pseudo_palette))[image->fg_color]; par->neo2200->bgColor = - ((u16 *) (info->pseudo_palette))[image->bg_color]; + ((u32 *) (info->pseudo_palette))[image->bg_color]; break; } par->neo2200->bltCntl = NEO_BC0_SYS_TO_VID | - NEO_BC0_SRC_MONO | NEO_BC3_SKIP_MAPPING | - // NEO_BC3_DST_XY_ADDR | - 0x0c0000; + NEO_BC3_SKIP_MAPPING | bltCntl_flags | + // NEO_BC3_DST_XY_ADDR | + 0x0c0000; par->neo2200->srcStart = 0; // par->neo2200->dstStart = (image->dy << 16) | (image->dx & 0xffff); @@ -1474,10 +1534,8 @@ neo2200_imageblit(struct fb_info *info, const struct fb_image *image) par->neo2200->xyExt = (image->height << 16) | (image->width & 0xffff); - memcpy(par->mmio_vbase + 0x100000, image->data, - (image->width * image->height) >> 3); + memcpy(par->mmio_vbase + 0x100000, image->data, data_len); } -*/ static void neofb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) @@ -1514,23 +1572,18 @@ neofb_copyarea(struct fb_info *info, const struct fb_copyarea *area) static void neofb_imageblit(struct fb_info *info, const struct fb_image *image) { -/* - if (image->depth == 1) { - switch (info->fix.accel) { - case FB_ACCEL_NEOMAGIC_NM2200: - case FB_ACCEL_NEOMAGIC_NM2230: - case FB_ACCEL_NEOMAGIC_NM2360: - case FB_ACCEL_NEOMAGIC_NM2380: - neo2200_imageblit(info, image); - break; - default: - cfb_imageblit(info, image); - break; - } - } else -*/ - cfb_imageblit(info, image); -} + switch (info->fix.accel) { + case FB_ACCEL_NEOMAGIC_NM2200: + case FB_ACCEL_NEOMAGIC_NM2230: + case FB_ACCEL_NEOMAGIC_NM2360: + case FB_ACCEL_NEOMAGIC_NM2380: + neo2200_imageblit(info, image); + break; + default: + cfb_imageblit(info, image); + break; + } +} static int neofb_sync(struct fb_info *info) @@ -1623,48 +1676,9 @@ static struct fb_ops neofb_ops = { /* --------------------------------------------------------------------- */ -static struct fb_var_screeninfo __devinitdata neofb_var640x480x8 = { - .accel_flags = FB_ACCELF_TEXT, - .xres = 640, - .yres = 480, - .xres_virtual = 640, - .yres_virtual = 30000, - .bits_per_pixel = 8, - .pixclock = 39722, - .left_margin = 48, - .right_margin = 16, - .upper_margin = 33, - .lower_margin = 10, - .hsync_len = 96, - .vsync_len = 2, - .vmode = FB_VMODE_NONINTERLACED -}; - -static struct fb_var_screeninfo __devinitdata neofb_var800x600x8 = { - .accel_flags = FB_ACCELF_TEXT, - .xres = 800, - .yres = 600, - .xres_virtual = 800, - .yres_virtual = 30000, - .bits_per_pixel = 8, - .pixclock = 25000, - .left_margin = 88, - .right_margin = 40, - .upper_margin = 23, - .lower_margin = 1, - .hsync_len = 128, - .vsync_len = 4, - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, - .vmode = FB_VMODE_NONINTERLACED -}; - -static struct fb_var_screeninfo __devinitdata neofb_var800x480x8 = { - .accel_flags = FB_ACCELF_TEXT, +static struct fb_videomode __devinitdata mode800x480 = { .xres = 800, .yres = 480, - .xres_virtual = 800, - .yres_virtual = 30000, - .bits_per_pixel = 8, .pixclock = 25000, .left_margin = 88, .right_margin = 40, @@ -1676,44 +1690,6 @@ static struct fb_var_screeninfo __devinitdata neofb_var800x480x8 = { .vmode = FB_VMODE_NONINTERLACED }; -static struct fb_var_screeninfo __devinitdata neofb_var1024x768x8 = { - .accel_flags = FB_ACCELF_TEXT, - .xres = 1024, - .yres = 768, - .xres_virtual = 1024, - .yres_virtual = 30000, - .bits_per_pixel = 8, - .pixclock = 15385, - .left_margin = 160, - .right_margin = 24, - .upper_margin = 29, - .lower_margin = 3, - .hsync_len = 136, - .vsync_len = 6, - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, - .vmode = FB_VMODE_NONINTERLACED -}; - -#ifdef NOT_DONE -static struct fb_var_screeninfo __devinitdata neofb_var1280x1024x8 = { - .accel_flags = FB_ACCELF_TEXT, - .xres = 1280, - .yres = 1024, - .xres_virtual = 1280, - .yres_virtual = 30000, - .bits_per_pixel = 8, - .pixclock = 9260, - .left_margin = 248, - .right_margin = 48, - .upper_margin = 38, - .lower_margin = 1, - .hsync_len = 112, - .vsync_len = 3, - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, - .vmode = FB_VMODE_NONINTERLACED -}; -#endif - static int __devinit neo_map_mmio(struct fb_info *info, struct pci_dev *dev) { @@ -1803,11 +1779,15 @@ static int __devinit neo_map_video(struct fb_info *info, static void neo_unmap_video(struct fb_info *info) { + DBG("neo_unmap_video"); + #ifdef CONFIG_MTRR - struct neofb_par *par = (struct neofb_par *) info->par; + { + struct neofb_par *par = (struct neofb_par *) info->par; - mtrr_del(par->mtrr, info->fix.smem_start, - info->fix.smem_len); + mtrr_del(par->mtrr, info->fix.smem_start, + info->fix.smem_len); + } #endif iounmap(info->screen_base); info->screen_base = NULL; @@ -1816,32 +1796,17 @@ static void neo_unmap_video(struct fb_info *info) info->fix.smem_len); } -static int __devinit neo_init_hw(struct fb_info *info) +static int __devinit neo_scan_monitor(struct fb_info *info) { struct neofb_par *par = (struct neofb_par *) info->par; unsigned char type, display; - int videoRam = 896; - int maxClock = 65000; - int CursorMem = 1024; - int CursorOff = 0x100; - int linearSize = 1024; - int maxWidth = 1024; - int maxHeight = 1024; int w; - DBG("neo_init_hw"); - - neoUnlock(); - -#if 0 - printk(KERN_DEBUG "--- Neo extended register dump ---\n"); - for (w = 0; w < 0x85; w++) - printk(KERN_DEBUG "CR %p: %p\n", (void *) w, - (void *) vga_rcrt(NULL, w); - for (w = 0; w < 0xC7; w++) - printk(KERN_DEBUG "GR %p: %p\n", (void *) w, - (void *) vga_rgfx(NULL, w)); -#endif + // Eventually we will have i2c support. + info->monspecs.modedb = kmalloc(sizeof(struct fb_videomode), GFP_KERNEL); + if (!info->monspecs.modedb) + return -ENOMEM; + info->monspecs.modedb_len = 1; /* Determine the panel type */ vga_wgfx(NULL, 0x09, 0x26); @@ -1860,26 +1825,34 @@ static int __devinit neo_init_hw(struct fb_info *info) vga_wgfx(NULL, 0x09, 0x00); switch ((w & 0x18) >> 3) { case 0x00: + // 640x480@60 par->NeoPanelWidth = 640; par->NeoPanelHeight = 480; - info->var = neofb_var640x480x8; + memcpy(info->monspecs.modedb, &vesa_modes[3], sizeof(struct fb_videomode)); break; case 0x01: par->NeoPanelWidth = 800; - par->NeoPanelHeight = par->libretto ? 480 : 600; - info->var = par->libretto ? neofb_var800x480x8 : neofb_var800x600x8; + if (par->libretto) { + par->NeoPanelHeight = 480; + memcpy(info->monspecs.modedb, &mode800x480, sizeof(struct fb_videomode)); + } else { + // 800x600@60 + par->NeoPanelHeight = 600; + memcpy(info->monspecs.modedb, &vesa_modes[8], sizeof(struct fb_videomode)); + } break; case 0x02: + // 1024x768@60 par->NeoPanelWidth = 1024; par->NeoPanelHeight = 768; - info->var = neofb_var1024x768x8; + memcpy(info->monspecs.modedb, &vesa_modes[13], sizeof(struct fb_videomode)); break; case 0x03: - /* 1280x1024 panel support needs to be added */ + /* 1280x1024@60 panel support needs to be added */ #ifdef NOT_DONE par->NeoPanelWidth = 1280; par->NeoPanelHeight = 1024; - info->var = neofb_var1280x1024x8; + memcpy(info->monspecs.modedb, &vesa_modes[20], sizeof(struct fb_videomode)); break; #else printk(KERN_ERR @@ -1887,9 +1860,10 @@ static int __devinit neo_init_hw(struct fb_info *info) return -1; #endif default: + // 640x480@60 par->NeoPanelWidth = 640; par->NeoPanelHeight = 480; - info->var = neofb_var640x480x8; + memcpy(info->monspecs.modedb, &vesa_modes[3], sizeof(struct fb_videomode)); break; } @@ -1898,7 +1872,33 @@ static int __devinit neo_init_hw(struct fb_info *info) par->NeoPanelHeight, (type & 0x02) ? "color" : "monochrome", (type & 0x10) ? "TFT" : "dual scan"); + return 0; +} +static int __devinit neo_init_hw(struct fb_info *info) +{ + struct neofb_par *par = (struct neofb_par *) info->par; + int videoRam = 896; + int maxClock = 65000; + int CursorMem = 1024; + int CursorOff = 0x100; + int linearSize = 1024; + int maxWidth = 1024; + int maxHeight = 1024; + + DBG("neo_init_hw"); + + neoUnlock(); + +#if 0 + printk(KERN_DEBUG "--- Neo extended register dump ---\n"); + for (int w = 0; w < 0x85; w++) + printk(KERN_DEBUG "CR %p: %p\n", (void *) w, + (void *) vga_rcrt(NULL, w); + for (int w = 0; w < 0xC7; w++) + printk(KERN_DEBUG "GR %p: %p\n", (void *) w, + (void *) vga_rgfx(NULL, w)); +#endif switch (info->fix.accel) { case FB_ACCEL_NEOMAGIC_NM2070: videoRam = 896; @@ -2055,7 +2055,9 @@ static struct fb_info *__devinit neo_alloc_fb_info(struct pci_dev *dev, const st info->fix.accel = id->driver_data; info->fbops = &neofb_ops; - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN | + FBINFO_HWACCEL_IMAGEBLIT | FBINFO_HWACCEL_COPYAREA | + FBINFO_HWACCEL_COPYAREA; info->pseudo_palette = (void *) (par + 1); return info; } @@ -2078,8 +2080,7 @@ static int __devinit neofb_probe(struct pci_dev *dev, { struct fb_info *info; u_int h_sync, v_sync; - int err; - int video_len; + int video_len, err; DBG("neofb_probe"); @@ -2096,6 +2097,10 @@ static int __devinit neofb_probe(struct pci_dev *dev, if (err) goto err_map_mmio; + err = neo_scan_monitor(info); + if (err) + goto err_scan_monitor; + video_len = neo_init_hw(info); if (video_len < 0) { err = video_len; @@ -2106,8 +2111,11 @@ static int __devinit neofb_probe(struct pci_dev *dev, if (err) goto err_init_hw; - if (neofb_check_var(&info->var, info)) + if (!fb_find_mode(&info->var, info, mode_option, NULL, 0, + info->monspecs.modedb, 16)) { + printk(KERN_ERR "neofb: Unable to find usable video mode.\n"); goto err_map_video; + } /* * Calculate the hsync and vsync frequencies. Note that @@ -2149,6 +2157,8 @@ err_reg_fb: err_map_video: neo_unmap_video(info); err_init_hw: + fb_destroy_modedb(info->monspecs.modedb); +err_scan_monitor: neo_unmap_mmio(info); err_map_mmio: neo_free_fb_info(info); @@ -2172,6 +2182,7 @@ static void __devexit neofb_remove(struct pci_dev *dev) "neofb: danger danger! Oopsen imminent!\n"); neo_unmap_video(info); + fb_destroy_modedb(info->monspecs.modedb); neo_unmap_mmio(info); neo_free_fb_info(info); @@ -2240,31 +2251,39 @@ int __init neofb_setup(char *options) if (!strncmp(this_opt, "internal", 8)) internal = 1; - if (!strncmp(this_opt, "external", 8)) + else if (!strncmp(this_opt, "external", 8)) external = 1; - if (!strncmp(this_opt, "nostretch", 9)) + else if (!strncmp(this_opt, "nostretch", 9)) nostretch = 1; - if (!strncmp(this_opt, "nopciburst", 10)) + else if (!strncmp(this_opt, "nopciburst", 10)) nopciburst = 1; - if (!strncmp(this_opt, "libretto", 8)) + else if (!strncmp(this_opt, "libretto", 8)) libretto = 1; + else + mode_option = this_opt; } - return 0; } int __init neofb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("neofb", &option)) + return -ENODEV; + neofb_setup(option); +#endif return pci_register_driver(&neofb_driver); } -#ifdef MODULE +module_init(neofb_init); +#ifdef MODULE static void __exit neofb_exit(void) { pci_unregister_driver(&neofb_driver); } -module_init(neofb_init); module_exit(neofb_exit); #endif /* MODULE */ diff --git a/drivers/video/pm2fb.c b/drivers/video/pm2fb.c index 61953c1e1..92f539a65 100644 --- a/drivers/video/pm2fb.c +++ b/drivers/video/pm2fb.c @@ -1124,7 +1124,8 @@ static int __devinit pm2fb_probe(struct pci_dev *pdev, info->fbops = &pm2fb_ops; info->fix = pm2fb_fix; info->pseudo_palette = (void *)(default_par + 1); - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT | + FBINFO_HWACCEL_YPAN; #ifndef MODULE if (!mode) @@ -1214,8 +1215,18 @@ MODULE_DEVICE_TABLE(pci, pm2fb_id_table); * Initialization */ +int __init pm2fb_setup(char *options); + int __init pm2fb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("pm2fb", &option)) + return -ENODEV; + pm2fb_setup(option); +#endif + return pci_module_init(&pm2fb_driver); } @@ -1265,9 +1276,7 @@ int __init pm2fb_setup(char *options) -#ifdef MODULE module_init(pm2fb_init); -#endif module_exit(pm2fb_exit); MODULE_PARM(mode,"s"); diff --git a/drivers/video/q40fb.c b/drivers/video/q40fb.c index 0c7b267e4..71b69da0c 100644 --- a/drivers/video/q40fb.c +++ b/drivers/video/q40fb.c @@ -105,7 +105,7 @@ static int __init q40fb_probe(struct device *device) info->var = q40fb_var; info->fix = q40fb_fix; info->fbops = &q40fb_ops; - info->flags = FBINFO_FLAG_DEFAULT; /* not as module for now */ + info->flags = FBINFO_DEFAULT; /* not as module for now */ info->pseudo_palette = info->par; info->par = NULL; info->screen_base = (char *) q40fb_fix.smem_start; @@ -143,6 +143,9 @@ int __init q40fb_init(void) { int ret = 0; + if (fb_get_options("q40fb", NULL)) + return -ENODEV; + ret = driver_register(&q40fb_driver); if (!ret) { @@ -153,4 +156,5 @@ int __init q40fb_init(void) return ret; } +module_init(q40fb_init); MODULE_LICENSE("GPL"); diff --git a/drivers/video/radeonfb.c b/drivers/video/radeonfb.c index 1f3f23f3c..eedb2b8e9 100644 --- a/drivers/video/radeonfb.c +++ b/drivers/video/radeonfb.c @@ -360,13 +360,13 @@ struct radeonfb_info { unsigned long mmio_base_phys; unsigned long fb_base_phys; - unsigned long mmio_base; - unsigned long fb_base; + void __iomem *mmio_base; + void __iomem *fb_base; struct pci_dev *pdev; unsigned char *EDID; - unsigned char *bios_seg; + unsigned char __iomem *bios_seg; u32 pseudo_palette[17]; struct { u8 red, green, blue, pad; } palette[256]; @@ -702,8 +702,8 @@ static void radeon_write_mode (struct radeonfb_info *rinfo, static int __devinit radeon_set_fbinfo (struct radeonfb_info *rinfo); static int __devinit radeon_init_disp (struct radeonfb_info *rinfo); static int radeon_init_disp_var (struct radeonfb_info *rinfo, struct fb_var_screeninfo *var); -static char *radeon_find_rom(struct radeonfb_info *rinfo); -static void radeon_get_pllinfo(struct radeonfb_info *rinfo, char *bios_seg); +static void __iomem *radeon_find_rom(struct radeonfb_info *rinfo); +static void radeon_get_pllinfo(struct radeonfb_info *rinfo, void __iomem *bios_seg); static void radeon_get_moninfo (struct radeonfb_info *rinfo); static int radeon_get_dfpinfo (struct radeonfb_info *rinfo); static int radeon_get_dfpinfo_BIOS(struct radeonfb_info *rinfo); @@ -735,12 +735,12 @@ static struct backlight_controller radeon_backlight_controller = { #endif /* CONFIG_PPC_OF */ -static char *radeon_find_rom(struct radeonfb_info *rinfo) +static void __iomem *radeon_find_rom(struct radeonfb_info *rinfo) { #if defined(__i386__) u32 segstart; - char *rom_base; - char *rom; + char __iomem *rom_base; + char __iomem *rom; int stage; int i,j; char aty_rom_sig[] = "761295520"; @@ -753,7 +753,7 @@ static char *radeon_find_rom(struct radeonfb_info *rinfo) stage = 1; - rom_base = (char *)ioremap(segstart, 0x1000); + rom_base = ioremap(segstart, 0x1000); if ((*rom_base == 0x55) && (((*(rom_base + 1)) & 0xff) == 0xaa)) stage = 2; @@ -804,10 +804,10 @@ static char *radeon_find_rom(struct radeonfb_info *rinfo) -static void radeon_get_pllinfo(struct radeonfb_info *rinfo, char *bios_seg) +static void radeon_get_pllinfo(struct radeonfb_info *rinfo, void __iomem *bios_seg) { - void *bios_header; - void *header_ptr; + void __iomem *bios_header; + void __iomem *header_ptr; u16 bios_header_offset, pll_info_offset; PLL_BLOCK pll; @@ -1077,7 +1077,7 @@ static void radeon_update_default_var(struct radeonfb_info *rinfo) static int radeon_get_dfpinfo_BIOS(struct radeonfb_info *rinfo) { - char *fpbiosstart, *tmp, *tmp0; + char __iomem *fpbiosstart, *tmp, *tmp0; char stmp[30]; int i; @@ -2250,9 +2250,9 @@ static int __devinit radeon_set_fbinfo (struct radeonfb_info *rinfo) info->currcon = -1; info->par = rinfo; info->pseudo_palette = rinfo->pseudo_palette; - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; info->fbops = &radeonfb_ops; - info->screen_base = (char *)rinfo->fb_base; + info->screen_base = rinfo->fb_base; /* Fill fix common fields */ strlcpy(info->fix.id, rinfo->name, sizeof(info->fix.id)); @@ -2851,7 +2851,7 @@ static int radeonfb_pci_register (struct pci_dev *pdev, } /* map the regions */ - rinfo->mmio_base = (unsigned long) ioremap (rinfo->mmio_base_phys, RADEON_REGSIZE); + rinfo->mmio_base = ioremap (rinfo->mmio_base_phys, RADEON_REGSIZE); if (!rinfo->mmio_base) { printk ("radeonfb: cannot map MMIO\n"); release_mem_region (rinfo->mmio_base_phys, @@ -2978,7 +2978,7 @@ static int radeonfb_pci_register (struct pci_dev *pdev, if ((rinfo->dviDisp_type == MT_DFP) || (rinfo->dviDisp_type == MT_LCD) || (rinfo->crtDisp_type == MT_DFP)) { if (!radeon_get_dfpinfo(rinfo)) { - iounmap ((void*)rinfo->mmio_base); + iounmap(rinfo->mmio_base); release_mem_region (rinfo->mmio_base_phys, pci_resource_len(pdev, 2)); release_mem_region (rinfo->fb_base_phys, @@ -2988,10 +2988,10 @@ static int radeonfb_pci_register (struct pci_dev *pdev, } } - rinfo->fb_base = (unsigned long) ioremap (rinfo->fb_base_phys, rinfo->video_ram); + rinfo->fb_base = ioremap (rinfo->fb_base_phys, rinfo->video_ram); if (!rinfo->fb_base) { printk ("radeonfb: cannot map FB\n"); - iounmap ((void*)rinfo->mmio_base); + iounmap(rinfo->mmio_base); release_mem_region (rinfo->mmio_base_phys, pci_resource_len(pdev, 2)); release_mem_region (rinfo->fb_base_phys, @@ -3043,8 +3043,8 @@ static int radeonfb_pci_register (struct pci_dev *pdev, if (register_framebuffer ((struct fb_info *) rinfo) < 0) { printk ("radeonfb: could not register framebuffer\n"); - iounmap ((void*)rinfo->fb_base); - iounmap ((void*)rinfo->mmio_base); + iounmap(rinfo->fb_base); + iounmap(rinfo->mmio_base); release_mem_region (rinfo->mmio_base_phys, pci_resource_len(pdev, 2)); release_mem_region (rinfo->fb_base_phys, @@ -3113,8 +3113,8 @@ static void __devexit radeonfb_pci_unregister (struct pci_dev *pdev) unregister_framebuffer ((struct fb_info *) rinfo); - iounmap ((void*)rinfo->mmio_base); - iounmap ((void*)rinfo->fb_base); + iounmap(rinfo->mmio_base); + iounmap(rinfo->fb_base); release_mem_region (rinfo->mmio_base_phys, pci_resource_len(pdev, 2)); @@ -3132,9 +3132,17 @@ static struct pci_driver radeonfb_driver = { .remove = __devexit_p(radeonfb_pci_unregister), }; +int __init radeonfb_old_setup (char *options); int __init radeonfb_old_init (void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("radeonfb_old", &option)) + return -ENODEV; + radeonfb_old_setup(option); +#endif return pci_module_init (&radeonfb_driver); } @@ -3172,8 +3180,9 @@ int __init radeonfb_old_setup (char *options) return 0; } -#ifdef MODULE module_init(radeonfb_old_init); + +#ifdef MODULE module_exit(radeonfb_old_exit); #endif diff --git a/drivers/video/riva/fbdev.c b/drivers/video/riva/fbdev.c index fec702460..825b39dbe 100644 --- a/drivers/video/riva/fbdev.c +++ b/drivers/video/riva/fbdev.c @@ -111,177 +111,87 @@ static int rivafb_blank(int blank, struct fb_info *info); * * ------------------------------------------------------------------------- */ -enum riva_chips { - CH_RIVA_128 = 0, - CH_RIVA_TNT, - CH_RIVA_TNT2, - CH_RIVA_UTNT2, - CH_RIVA_VTNT2, - CH_RIVA_UVTNT2, - CH_RIVA_ITNT2, - CH_GEFORCE_SDR, - CH_GEFORCE_DDR, - CH_QUADRO, - CH_GEFORCE2_MX, - CH_GEFORCE2_MX2, - CH_GEFORCE2_GO, - CH_QUADRO2_MXR, - CH_GEFORCE2_GTS, - CH_GEFORCE2_GTS2, - CH_GEFORCE2_ULTRA, - CH_QUADRO2_PRO, - CH_GEFORCE4_MX_460, - CH_GEFORCE4_MX_440, - CH_GEFORCE4_MX_420, - CH_GEFORCE4_440_GO, - CH_GEFORCE4_420_GO, - CH_GEFORCE4_420_GO_M32, - CH_QUADRO4_500XGL, - CH_GEFORCE4_440_GO_M64, - CH_QUADRO4_200, - CH_QUADRO4_550XGL, - CH_QUADRO4_500_GOGL, - CH_IGEFORCE2, - CH_GEFORCE3, - CH_GEFORCE3_1, - CH_GEFORCE3_2, - CH_QUADRO_DDC, - CH_GEFORCE4_TI_4600, - CH_GEFORCE4_TI_4400, - CH_GEFORCE4_TI_4200, - CH_QUADRO4_900XGL, - CH_QUADRO4_750XGL, - CH_QUADRO4_700XGL -}; - -/* directly indexed by riva_chips enum, above */ -static struct riva_chip_info { - const char *name; - unsigned arch_rev; -} riva_chip_info[] __initdata = { - { "RIVA-128", NV_ARCH_03 }, - { "RIVA-TNT", NV_ARCH_04 }, - { "RIVA-TNT2", NV_ARCH_04 }, - { "RIVA-UTNT2", NV_ARCH_04 }, - { "RIVA-VTNT2", NV_ARCH_04 }, - { "RIVA-UVTNT2", NV_ARCH_04 }, - { "RIVA-ITNT2", NV_ARCH_04 }, - { "GeForce-SDR", NV_ARCH_10 }, - { "GeForce-DDR", NV_ARCH_10 }, - { "Quadro", NV_ARCH_10 }, - { "GeForce2-MX", NV_ARCH_10 }, - { "GeForce2-MX", NV_ARCH_10 }, - { "GeForce2-GO", NV_ARCH_10 }, - { "Quadro2-MXR", NV_ARCH_10 }, - { "GeForce2-GTS", NV_ARCH_10 }, - { "GeForce2-GTS", NV_ARCH_10 }, - { "GeForce2-ULTRA", NV_ARCH_10 }, - { "Quadro2-PRO", NV_ARCH_10 }, - { "GeForce4-MX-460", NV_ARCH_10 }, - { "GeForce4-MX-440", NV_ARCH_10 }, - { "GeForce4-MX-420", NV_ARCH_10 }, - { "GeForce4-440-GO", NV_ARCH_10 }, - { "GeForce4-420-GO", NV_ARCH_10 }, - { "GeForce4-420-GO-M32", NV_ARCH_10 }, - { "Quadro4-500-XGL", NV_ARCH_10 }, - { "GeForce4-440-GO-M64", NV_ARCH_10 }, - { "Quadro4-200", NV_ARCH_10 }, - { "Quadro4-550-XGL", NV_ARCH_10 }, - { "Quadro4-500-GOGL", NV_ARCH_10 }, - { "GeForce2", NV_ARCH_10 }, - { "GeForce3", NV_ARCH_20 }, - { "GeForce3 Ti 200", NV_ARCH_20 }, - { "GeForce3 Ti 500", NV_ARCH_20 }, - { "Quadro DDC", NV_ARCH_20 }, - { "GeForce4 Ti 4600", NV_ARCH_20 }, - { "GeForce4 Ti 4400", NV_ARCH_20 }, - { "GeForce4 Ti 4200", NV_ARCH_20 }, - { "Quadro4-900-XGL", NV_ARCH_20 }, - { "Quadro4-750-XGL", NV_ARCH_20 }, - { "Quadro4-700-XGL", NV_ARCH_20 } -}; - static struct pci_device_id rivafb_pci_tbl[] = { { PCI_VENDOR_ID_NVIDIA_SGS, PCI_DEVICE_ID_NVIDIA_SGS_RIVA128, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_128 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_TNT, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_TNT }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_TNT2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_TNT2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_UTNT2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_UTNT2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_VTNT2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_VTNT2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_UVTNT2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_VTNT2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_ITNT2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_RIVA_ITNT2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_SDR }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE_DDR }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_MX }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_MX2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_MX2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_GO, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_GO }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO2_MXR, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO2_MXR }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_GTS }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_GTS2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_GTS2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE2_ULTRA, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE2_ULTRA }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO2_PRO, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO2_PRO }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_460, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_MX_460 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_440, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_MX_440 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_MX_420, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_MX_420 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_440_GO }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_420_GO }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_420_GO_M32, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_420_GO_M32 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_500XGL, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_500XGL }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_440_GO_M64, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_440_GO_M64 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_200, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_200 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_550XGL, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_550XGL }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_500_GOGL, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_500_GOGL }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_IGEFORCE2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_IGEFORCE2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE3, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE3 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE3_1, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE3_1 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE3_2, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE3_2 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO_DDC, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO_DDC }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4600, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_TI_4600 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4400, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_TI_4400 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_GEFORCE4_TI_4200, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_GEFORCE4_TI_4200 }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_900XGL, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_900XGL }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_750XGL, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_750XGL }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_QUADRO4_700XGL, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, CH_QUADRO4_700XGL }, + PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, { 0, } /* terminate list */ }; MODULE_DEVICE_TABLE(pci, rivafb_pci_tbl); @@ -293,7 +203,6 @@ MODULE_DEVICE_TABLE(pci, rivafb_pci_tbl); * ------------------------------------------------------------------------- */ /* command line data, set in rivafb_setup() */ -static u32 pseudo_palette[17]; static int flatpanel __initdata = -1; /* Autodetect later */ static int forceCRTC __initdata = -1; #ifdef CONFIG_MTRR @@ -303,14 +212,13 @@ static int nomtrr __initdata = 0; static char *mode_option __initdata = NULL; static int strictmode = 0; -static struct fb_fix_screeninfo rivafb_fix = { - .id = "nVidia", +static struct fb_fix_screeninfo __initdata rivafb_fix = { .type = FB_TYPE_PACKED_PIXELS, .xpanstep = 1, .ypanstep = 1, }; -static struct fb_var_screeninfo rivafb_default_var = { +static struct fb_var_screeninfo __initdata rivafb_default_var = { .xres = 640, .yres = 480, .xres_virtual = 640, @@ -533,6 +441,8 @@ static void rivafb_load_cursor_image(struct riva_par *par, u8 *data8, int i, j, k = 0; u32 b, tmp; u32 *data = (u32 *)data8; + bg = le16_to_cpu(bg); + fg = le16_to_cpu(fg); for (i = 0; i < h; i++) { b = *data++; @@ -606,7 +516,7 @@ static void riva_rclut(RIVA_HW_INST *chip, unsigned char *green, unsigned char *blue) { - VGA_WR08(chip->PDIO, 0x3c8, regnum); + VGA_WR08(chip->PDIO, 0x3c7, regnum); *red = VGA_RD08(chip->PDIO, 0x3c9); *green = VGA_RD08(chip->PDIO, 0x3c9); *blue = VGA_RD08(chip->PDIO, 0x3c9); @@ -1090,13 +1000,15 @@ static int rivafb_open(struct fb_info *info, int user) NVTRACE_ENTER(); if (!cnt) { +#ifdef CONFIG_X86 memset(&par->state, 0, sizeof(struct vgastate)); par->state.flags = VGA_SAVE_MODE | VGA_SAVE_FONTS; /* save the DAC for Riva128 */ if (par->riva.Architecture == NV_ARCH_03) par->state.flags |= VGA_SAVE_CMAP; save_vga(&par->state); - +#endif + riva_common_setup(par); RivaGetConfig(&par->riva, par->Chipset); /* vgaHWunlock() + riva unlock (0x7F) */ CRTCout(par, 0x11, 0xFF); @@ -1121,7 +1033,9 @@ static int rivafb_release(struct fb_info *info, int user) par->riva.LockUnlock(&par->riva, 0); par->riva.LoadStateExt(&par->riva, &par->initial_state.ext); riva_load_state(par, &par->initial_state); +#ifdef CONFIG_X86 restore_vga(&par->state); +#endif par->riva.LockUnlock(&par->riva, 1); } atomic_dec(&par->ref_count); @@ -1131,7 +1045,8 @@ static int rivafb_release(struct fb_info *info, int user) static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) { - struct fb_monspecs *specs = &info->monspecs; + struct fb_videomode *mode; + struct riva_par *par = (struct riva_par *) info->par; int nom, den; /* translating from pixels->bytes */ int mode_valid = 0; @@ -1148,6 +1063,9 @@ static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) /* fall through */ case 16: var->bits_per_pixel = 16; + /* The Riva128 supports RGB555 only */ + if (par->riva.Architecture == NV_ARCH_03) + var->green.length = 5; if (var->green.length == 5) { /* 0rrrrrgg gggbbbbb */ var->red.offset = 10; @@ -1190,62 +1108,21 @@ static int rivafb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) mode_valid = 1; } - /* find best mode from modedb */ - if (!mode_valid && specs->modedb_len) { - int i, best, best_refresh, best_x, best_y, diff_x, diff_y; - - best_refresh = best = best_x = best_y = 0; - diff_x = diff_y = -1; - - for (i = 0; i < specs->modedb_len; i++) { - if (var->xres <= specs->modedb[i].xres && - !(specs->modedb[i].flag & FB_MODE_IS_CALCULATED) && - specs->modedb[i].xres - var->xres < diff_x) { - best_x = specs->modedb[i].xres; - diff_x = best_x - var->xres; - } - if (!diff_x) break; - } - - if (diff_x != -1) { - for (i = 0; i < specs->modedb_len; i++) { - if (best_x == specs->modedb[i].xres && - var->yres <= specs->modedb[i].yres && - !(specs->modedb[i].flag & - FB_MODE_IS_CALCULATED) && - specs->modedb[i].yres-var->yres < diff_y) { - best_y = specs->modedb[i].yres; - diff_y = best_y - var->yres; - } - if (!diff_y) break; - } - } - - if (diff_y != -1) { - for (i = 0; i < specs->modedb_len; i++) { - if (best_x == specs->modedb[i].xres && - best_y == specs->modedb[i].yres && - !(specs->modedb[i].flag & - FB_MODE_IS_CALCULATED) && - specs->modedb[i].refresh > best_refresh) { - best_refresh=specs->modedb[i].refresh; - best = i; - } - } - } - - if (best_refresh) { - riva_update_var(var, &specs->modedb[best]); - mode_valid = 1; - } - } - /* calculate modeline if supported by monitor */ if (!mode_valid && info->monspecs.gtf) { if (!fb_get_mode(FB_MAXTIMINGS, 0, var, info)) mode_valid = 1; } - if (!mode_valid && info->monspecs.modedb_len) + + if (!mode_valid) { + mode = fb_find_best_mode(var, &info->modelist); + if (mode) { + riva_update_var(var, mode); + mode_valid = 1; + } + } + + if (!mode_valid && !list_empty(&info->modelist)) return -EINVAL; if (var->xres_virtual < var->xres) @@ -1293,6 +1170,7 @@ static int rivafb_set_par(struct fb_info *info) info->fix.line_length = (info->var.xres_virtual * (info->var.bits_per_pixel >> 3)); info->fix.visual = (info->var.bits_per_pixel == 8) ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR; + NVTRACE_LEAVE(); return 0; } @@ -1413,7 +1291,7 @@ static int rivafb_setcolreg(unsigned regno, unsigned red, unsigned green, int i; if (regno >= riva_get_cmap_len(&info->var)) - return -EINVAL; + return -EINVAL; if (info->var.grayscale) { /* gray = 0.30*R + 0.59*G + 0.11*B */ @@ -1421,6 +1299,31 @@ static int rivafb_setcolreg(unsigned regno, unsigned red, unsigned green, (red * 77 + green * 151 + blue * 28) >> 8; } + if (regno < 16 && info->fix.visual == FB_VISUAL_DIRECTCOLOR) { + ((u32 *) info->pseudo_palette)[regno] = + (regno << info->var.red.offset) | + (regno << info->var.green.offset) | + (regno << info->var.blue.offset); + /* + * The Riva128 2D engine requires color information in + * TrueColor format even if framebuffer is in DirectColor + */ + if (par->riva.Architecture == NV_ARCH_03) { + switch (info->var.bits_per_pixel) { + case 16: + par->palette[regno] = ((red & 0xf800) >> 1) | + ((green & 0xf800) >> 6) | + ((blue & 0xf800) >> 11); + break; + case 32: + par->palette[regno] = ((red & 0xff00) << 8) | + ((green & 0xff00)) | + ((blue & 0xff00) >> 8); + break; + } + } + } + switch (info->var.bits_per_pixel) { case 8: /* "transparent" stuff is completely ignored. */ @@ -1428,45 +1331,27 @@ static int rivafb_setcolreg(unsigned regno, unsigned red, unsigned green, break; case 16: if (info->var.green.length == 5) { - if (regno < 16) { - /* 0rrrrrgg gggbbbbb */ - ((u32 *)info->pseudo_palette)[regno] = - ((red & 0xf800) >> 1) | - ((green & 0xf800) >> 6) | - ((blue & 0xf800) >> 11); - } - for (i = 0; i < 8; i++) + for (i = 0; i < 8; i++) { riva_wclut(chip, regno*8+i, red >> 8, green >> 8, blue >> 8); + } } else { u8 r, g, b; - if (regno < 16) { - /* rrrrrggg gggbbbbb */ - ((u32 *)info->pseudo_palette)[regno] = - ((red & 0xf800) >> 0) | - ((green & 0xf800) >> 5) | - ((blue & 0xf800) >> 11); - } if (regno < 32) { for (i = 0; i < 8; i++) { - riva_wclut(chip, regno*8+i, red >> 8, - green >> 8, blue >> 8); + riva_wclut(chip, regno*8+i, + red >> 8, green >> 8, + blue >> 8); } } - for (i = 0; i < 4; i++) { - riva_rclut(chip, regno*2+i, &r, &g, &b); - riva_wclut(chip, regno*4+i, r, green >> 8, b); - } + riva_rclut(chip, regno*4, &r, &g, &b); + for (i = 0; i < 4; i++) + riva_wclut(chip, regno*4+i, r, + green >> 8, b); } break; case 32: - if (regno < 16) { - ((u32 *)info->pseudo_palette)[regno] = - ((red & 0xff00) << 8) | - ((green & 0xff00)) | ((blue & 0xff00) >> 8); - - } riva_wclut(chip, regno, red >> 8, green >> 8, blue >> 8); break; default: @@ -1495,8 +1380,12 @@ static void rivafb_fillrect(struct fb_info *info, const struct fb_fillrect *rect if (info->var.bits_per_pixel == 8) color = rect->color; - else - color = ((u32 *)info->pseudo_palette)[rect->color]; + else { + if (par->riva.Architecture != NV_ARCH_03) + color = ((u32 *)info->pseudo_palette)[rect->color]; + else + color = par->palette[rect->color]; + } switch (rect->rop) { case ROP_XOR: @@ -1592,15 +1481,17 @@ static void rivafb_imageblit(struct fb_info *info, bgx = image->bg_color; break; case 16: - fgx = ((u32 *)info->pseudo_palette)[image->fg_color]; - bgx = ((u32 *)info->pseudo_palette)[image->bg_color]; + case 32: + if (par->riva.Architecture != NV_ARCH_03) { + fgx = ((u32 *)info->pseudo_palette)[image->fg_color]; + bgx = ((u32 *)info->pseudo_palette)[image->bg_color]; + } else { + fgx = par->palette[image->fg_color]; + bgx = par->palette[image->bg_color]; + } if (info->var.green.length == 6) convert_bgcolor_16(&bgx); break; - case 32: - fgx = ((u32 *)info->pseudo_palette)[image->fg_color]; - bgx = ((u32 *)info->pseudo_palette)[image->bg_color]; - break; } RIVA_FIFO_FREE(par->riva, Bitmap, 7); @@ -1769,6 +1660,7 @@ static struct fb_ops riva_fb_ops = { static int __devinit riva_set_fbinfo(struct fb_info *info) { unsigned int cmap_len; + struct riva_par *par = (struct riva_par *) info->par; NVTRACE_ENTER(); info->flags = FBINFO_DEFAULT @@ -1781,7 +1673,8 @@ static int __devinit riva_set_fbinfo(struct fb_info *info) info->var = rivafb_default_var; info->fix.visual = (info->var.bits_per_pixel == 8) ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_DIRECTCOLOR; - info->pseudo_palette = pseudo_palette; + + info->pseudo_palette = par->pseudo_palette; cmap_len = riva_get_cmap_len(&info->var); fb_alloc_cmap(&info->cmap, cmap_len, 0); @@ -1796,7 +1689,7 @@ static int __devinit riva_set_fbinfo(struct fb_info *info) } #ifdef CONFIG_PPC_OF -static int riva_get_EDID_OF(struct fb_info *info, struct pci_dev *pd) +static int __devinit riva_get_EDID_OF(struct fb_info *info, struct pci_dev *pd) { struct riva_par *par = (struct riva_par *) info->par; struct device_node *dp; @@ -1828,7 +1721,28 @@ static int riva_get_EDID_OF(struct fb_info *info, struct pci_dev *pd) } #endif /* CONFIG_PPC_OF */ -static void riva_update_default_var(struct fb_var_screeninfo *var, struct fb_info *info) +#if defined(CONFIG_FB_RIVA_I2C) && !defined(CONFIG_PPC_OF) +static int __devinit riva_get_EDID_i2c(struct fb_info *info) +{ + struct riva_par *par = (struct riva_par *) info->par; + int i; + + NVTRACE_ENTER(); + riva_create_i2c_busses(par); + for (i = par->bus; i >= 1; i--) { + riva_probe_i2c_connector(par, i, &par->EDID); + if (par->EDID) { + printk("rivafb: Found EDID Block from BUS %i\n", i); + break; + } + } + NVTRACE_LEAVE(); + return (par->EDID) ? 1 : 0; +} +#endif /* CONFIG_FB_RIVA_I2C */ + +static void __devinit riva_update_default_var(struct fb_var_screeninfo *var, + struct fb_info *info) { struct fb_monspecs *specs = &info->monspecs; struct fb_videomode modedb; @@ -1862,41 +1776,28 @@ static void riva_update_default_var(struct fb_var_screeninfo *var, struct fb_inf } -static void riva_get_EDID(struct fb_info *info, struct pci_dev *pdev) +static void __devinit riva_get_EDID(struct fb_info *info, struct pci_dev *pdev) { - struct riva_par *par; - int i; - NVTRACE_ENTER(); #ifdef CONFIG_PPC_OF if (!riva_get_EDID_OF(info, pdev)) printk("rivafb: could not retrieve EDID from OF\n"); -#else - /* XXX use other methods later */ -#ifdef CONFIG_FB_RIVA_I2C - - par = (struct riva_par *) info->par; - riva_create_i2c_busses(par); - for (i = par->bus; i >= 1; i--) { - riva_probe_i2c_connector(par, i, &par->EDID); - if (par->EDID) { - printk("rivafb: Found EDID Block from BUS %i\n", i); - break; - } - } - riva_delete_i2c_busses(par); -#endif +#elif CONFIG_FB_RIVA_I2C + if (!riva_get_EDID_i2c(info)) + printk("rivafb: could not retrieve EDID from DDC/I2C\n"); #endif NVTRACE_LEAVE(); } -static void riva_get_edidinfo(struct fb_info *info) +static void __devinit riva_get_edidinfo(struct fb_info *info) { struct fb_var_screeninfo *var = &rivafb_default_var; struct riva_par *par = (struct riva_par *) info->par; fb_edid_to_monspecs(par->EDID, &info->monspecs); + fb_videomode_to_modelist(info->monspecs.modedb, info->monspecs.modedb_len, + &info->modelist); riva_update_default_var(var, info); /* if user specified flatpanel, we respect that */ @@ -1910,16 +1811,52 @@ static void riva_get_edidinfo(struct fb_info *info) * * ------------------------------------------------------------------------- */ +static u32 __devinit riva_get_arch(struct pci_dev *pd) +{ + u32 arch = 0; + + switch (pd->device & 0x0ff0) { + case 0x0100: /* GeForce 256 */ + case 0x0110: /* GeForce2 MX */ + case 0x0150: /* GeForce2 */ + case 0x0170: /* GeForce4 MX */ + case 0x0180: /* GeForce4 MX (8x AGP) */ + case 0x01A0: /* nForce */ + case 0x01F0: /* nForce2 */ + arch = NV_ARCH_10; + break; + case 0x0200: /* GeForce3 */ + case 0x0250: /* GeForce4 Ti */ + case 0x0280: /* GeForce4 Ti (8x AGP) */ + arch = NV_ARCH_20; + break; + case 0x0300: /* GeForceFX 5800 */ + case 0x0310: /* GeForceFX 5600 */ + case 0x0320: /* GeForceFX 5200 */ + case 0x0330: /* GeForceFX 5900 */ + case 0x0340: /* GeForceFX 5700 */ + arch = NV_ARCH_30; + break; + case 0x0020: /* TNT, TNT2 */ + arch = NV_ARCH_04; + break; + case 0x0010: /* Riva128 */ + arch = NV_ARCH_03; + break; + default: /* unknown architecture */ + break; + } + return arch; +} + static int __devinit rivafb_probe(struct pci_dev *pd, const struct pci_device_id *ent) { - struct riva_chip_info *rci = &riva_chip_info[ent->driver_data]; struct riva_par *default_par; struct fb_info *info; NVTRACE_ENTER(); assert(pd != NULL); - assert(rci != NULL); info = kmalloc(sizeof(struct fb_info), GFP_KERNEL); if (!info) @@ -1948,12 +1885,27 @@ static int __devinit rivafb_probe(struct pci_dev *pd, goto err_out_request; } - strcat(rivafb_fix.id, rci->name); - default_par->riva.Architecture = rci->arch_rev; + default_par->riva.Architecture = riva_get_arch(pd); default_par->Chipset = (pd->vendor << 16) | pd->device; printk(KERN_INFO PFX "nVidia device/chipset %X\n",default_par->Chipset); +#ifdef CONFIG_PCI_NAMES + printk(KERN_INFO PFX "%s\n", pd->pretty_name); +#endif + + if(default_par->riva.Architecture == 0) { + printk(KERN_ERR PFX "unknown NV_ARCH\n"); + goto err_out_kfree1; + } + if(default_par->riva.Architecture == NV_ARCH_10 || + default_par->riva.Architecture == NV_ARCH_20 || + default_par->riva.Architecture == NV_ARCH_30) { + sprintf(rivafb_fix.id, "NV%x", (pd->device & 0x0ff0) >> 4); + } else { + sprintf(rivafb_fix.id, "NV%x", default_par->riva.Architecture); + } + default_par->FlatPanel = flatpanel; if (flatpanel == 1) printk(KERN_INFO PFX "flatpanel support enabled\n"); @@ -1995,15 +1947,14 @@ static int __devinit rivafb_probe(struct pci_dev *pd, goto err_out_free_nv3_pramin; } rivafb_fix.accel = FB_ACCEL_NV3; - default_par->bus = 1; break; case NV_ARCH_04: case NV_ARCH_10: case NV_ARCH_20: + case NV_ARCH_30: default_par->riva.PCRTC0 = (unsigned *)(default_par->ctrl_base + 0x00600000); default_par->riva.PRAMIN = (unsigned *)(default_par->ctrl_base + 0x00710000); rivafb_fix.accel = FB_ACCEL_NV4; - default_par->bus = 2; break; } @@ -2015,7 +1966,6 @@ static int __devinit rivafb_probe(struct pci_dev *pd, rivafb_fix.smem_len = riva_get_memlen(default_par) * 1024; default_par->dclk_max = riva_get_maxdclk(default_par) * 1000; - info->screen_base = ioremap(rivafb_fix.smem_start, rivafb_fix.smem_len); if (!info->screen_base) { @@ -2048,6 +1998,10 @@ static int __devinit rivafb_probe(struct pci_dev *pd, goto err_out_iounmap_fb; } + fb_destroy_modedb(info->monspecs.modedb); + info->monspecs.modedb_len = 0; + info->monspecs.modedb = NULL; + if (register_framebuffer(info) < 0) { printk(KERN_ERR PFX "error registering riva framebuffer\n"); @@ -2057,10 +2011,9 @@ static int __devinit rivafb_probe(struct pci_dev *pd, pci_set_drvdata(pd, info); printk(KERN_INFO PFX - "PCI nVidia NV%x framebuffer ver %s (%s, %dMB @ 0x%lX)\n", - default_par->riva.Architecture, - RIVAFB_VERSION, + "PCI nVidia %s framebuffer ver %s (%dMB @ 0x%lX)\n", info->fix.id, + RIVAFB_VERSION, info->fix.smem_len / (1024 * 1024), info->fix.smem_start); #ifdef CONFIG_PMAC_BACKLIGHT @@ -2072,6 +2025,9 @@ static int __devinit rivafb_probe(struct pci_dev *pd, return 0; err_out_iounmap_fb: +#ifdef CONFIG_FB_RIVA_I2C + riva_delete_i2c_busses((struct riva_par *) info->par); +#endif iounmap(info->screen_base); err_out_free_base1: if (default_par->riva.Architecture == NV_ARCH_03) @@ -2101,6 +2057,12 @@ static void __exit rivafb_remove(struct pci_dev *pd) if (!info) return; +#ifdef CONFIG_FB_RIVA_I2C + riva_delete_i2c_busses(par); + if (par->EDID) + kfree(par->EDID); +#endif + unregister_framebuffer(info); #ifdef CONFIG_MTRR if (par->mtrr.vram_valid) @@ -2114,7 +2076,6 @@ static void __exit rivafb_remove(struct pci_dev *pd) iounmap((caddr_t)par->riva.PRAMIN); pci_release_regions(pd); pci_disable_device(pd); - fb_destroy_modedb(info->monspecs.modedb); kfree(info->pixmap.addr); kfree(par); kfree(info); @@ -2177,8 +2138,15 @@ static struct pci_driver rivafb_driver = { * * ------------------------------------------------------------------------- */ -int __init rivafb_init(void) +int __devinit rivafb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("rivafb", &option)) + return -ENODEV; + rivafb_setup(option); +#endif if (pci_register_driver(&rivafb_driver) > 0) return 0; pci_unregister_driver(&rivafb_driver); @@ -2186,13 +2154,14 @@ int __init rivafb_init(void) } +module_init(rivafb_init); + #ifdef MODULE static void __exit rivafb_exit(void) { pci_unregister_driver(&rivafb_driver); } -module_init(rivafb_init); module_exit(rivafb_exit); MODULE_PARM(flatpanel, "i"); @@ -2203,9 +2172,9 @@ MODULE_PARM_DESC(forceCRTC, "Forces usage of a particular CRTC in case autodetec #ifdef CONFIG_MTRR MODULE_PARM(nomtrr, "i"); MODULE_PARM_DESC(nomtrr, "Disables MTRR support (0 or 1=disabled) (default=0)"); +#endif MODULE_PARM(strictmode, "i"); MODULE_PARM_DESC(strictmode, "Only use video modes from EDID"); -#endif #endif /* MODULE */ MODULE_AUTHOR("Ani Joshi, maintainer"); diff --git a/drivers/video/riva/riva_hw.c b/drivers/video/riva/riva_hw.c index ac79134bd..fe5e937b1 100644 --- a/drivers/video/riva/riva_hw.c +++ b/drivers/video/riva/riva_hw.c @@ -1274,6 +1274,7 @@ static void CalcStateExt break; case NV_ARCH_10: case NV_ARCH_20: + case NV_ARCH_30: if((chip->Chipset == NV_CHIP_IGEFORCE2) || (chip->Chipset == NV_CHIP_0x01F0)) { @@ -1299,9 +1300,10 @@ static void CalcStateExt break; } - /* Paul Richards: below if block borks things in kernel for some reason */ - /* if((bpp != 8) && (chip->Architecture != NV_ARCH_03)) - state->general |= 0x00000030; */ + /* Paul Richards: below if block borks things in kernel for some reason */ + /* Tony: Below is needed to set hardware in DirectColor */ + if((bpp != 8) && (chip->Architecture != NV_ARCH_03)) + state->general |= 0x00000030; state->vpll = (p << 16) | (n << 8) | m; state->repaint0 = (((width/8)*pixelDepth) & 0x700) >> 3; @@ -1349,6 +1351,7 @@ static void UpdateFifoState break; case NV_ARCH_10: case NV_ARCH_20: + case NV_ARCH_30: /* * Initialize state for the RivaTriangle3D05 routines. */ @@ -1458,6 +1461,7 @@ static void LoadStateExt break; case NV_ARCH_10: case NV_ARCH_20: + case NV_ARCH_30: if(chip->twoHeads) { VGA_WR08(chip->PCIO, 0x03D4, 0x44); VGA_WR08(chip->PCIO, 0x03D5, state->crtcOwner); @@ -1754,6 +1758,7 @@ static void UnloadStateExt break; case NV_ARCH_10: case NV_ARCH_20: + case NV_ARCH_30: state->offset0 = chip->PGRAPH[0x00000640/4]; state->offset1 = chip->PGRAPH[0x00000644/4]; state->offset2 = chip->PGRAPH[0x00000648/4]; @@ -2184,6 +2189,7 @@ int RivaGetConfig break; case NV_ARCH_10: case NV_ARCH_20: + case NV_ARCH_30: nv10GetConfig(chip, chipset); break; default: diff --git a/drivers/video/riva/rivafb.h b/drivers/video/riva/rivafb.h index 198a29c3c..fab7036fb 100644 --- a/drivers/video/riva/rivafb.h +++ b/drivers/video/riva/rivafb.h @@ -44,16 +44,17 @@ struct riva_i2c_chan { struct riva_par { RIVA_HW_INST riva; /* interface to riva_hw.c */ - + u32 pseudo_palette[16]; /* default palette */ + u32 palette[16]; /* for Riva128 */ caddr_t ctrl_base; /* virtual control register base addr */ unsigned dclk_max; /* max DCLK */ struct riva_regs initial_state; /* initial startup video mode */ struct riva_regs current_state; +#ifdef CONFIG_X86 struct vgastate state; +#endif atomic_t ref_count; - u32 cursor_data[32 * 32/4]; - int cursor_reset; unsigned char *EDID; unsigned int Chipset; int forceCRTC; diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c index ae8fb7aef..b2c7aa104 100644 --- a/drivers/video/sa1100fb.c +++ b/drivers/video/sa1100fb.c @@ -1671,7 +1671,7 @@ static struct sa1100fb_info * __init sa1100fb_init_fbinfo(struct device *dev) fbi->fb.var.vmode = FB_VMODE_NONINTERLACED; fbi->fb.fbops = &sa1100fb_ops; - fbi->fb.flags = FBINFO_FLAG_DEFAULT; + fbi->fb.flags = FBINFO_DEFAULT; fbi->fb.monspecs = monspecs; fbi->fb.currcon = -1; fbi->fb.pseudo_palette = (fbi + 1); @@ -1804,6 +1804,9 @@ static struct device_driver sa1100fb_driver = { int __init sa1100fb_init(void) { + if (fb_get_options("sa1100fb", NULL)) + return -ENODEV; + return driver_register(&sa1100fb_driver); } @@ -1848,5 +1851,6 @@ int __init sa1100fb_setup(char *options) return 0; } +module_init(sa1100fb_init); MODULE_DESCRIPTION("StrongARM-1100/1110 framebuffer driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/video/sis/sis.h b/drivers/video/sis/sis.h index 97599dfd5..6638b5443 100644 --- a/drivers/video/sis/sis.h +++ b/drivers/video/sis/sis.h @@ -360,10 +360,10 @@ struct sis_video_info { unsigned long mmio_base; unsigned long vga_base; - unsigned long video_vbase; - unsigned long mmio_vbase; - char * bios_vbase; - char * bios_abase; + void __iomem * video_vbase; + void __iomem * mmio_vbase; + void __iomem * bios_vbase; + void * bios_abase; int mtrr; @@ -392,8 +392,8 @@ struct sis_video_info { #endif u32 heapstart; /* offset */ - unsigned long sisfb_heap_start; /* address */ - unsigned long sisfb_heap_end; /* address */ + void __iomem * sisfb_heap_start; /* address */ + void __iomem * sisfb_heap_end; /* address */ u32 sisfb_heap_size; int havenoheap; #if 0 @@ -469,7 +469,7 @@ struct sis_video_info { u8 detectedpdca; u8 detectedlcda; - unsigned long hwcursor_vbase; + void __iomem * hwcursor_vbase; int chronteltype; int tvxpos, tvypos; diff --git a/drivers/video/sis/sis_main.c b/drivers/video/sis/sis_main.c index 9ad218d6a..72afe0838 100644 --- a/drivers/video/sis/sis_main.c +++ b/drivers/video/sis/sis_main.c @@ -3952,19 +3952,19 @@ int __init sisfb_setup(char *options) } #endif -static char * __devinit sis_find_rom(struct pci_dev *pdev) +static void __iomem * __devinit sis_find_rom(struct pci_dev *pdev) { struct sis_video_info *ivideo = pci_get_drvdata(pdev); #if defined(__i386__) || defined(__x86_64__) u32 segstart; - unsigned char *rom_base, *rom; + void __iomem *rom_base, *rom; int romptr; unsigned short pciid; for(segstart=0x000c0000; segstart<0x000f0000; segstart+=0x00001000) { - rom_base = (unsigned char *)ioremap(segstart, 0x10000); + rom_base = ioremap(segstart, 0x10000); if(!rom_base) continue; if((readb(rom_base) != 0x55) || (readb(rom_base + 1) != 0xaa)) { @@ -3998,7 +3998,7 @@ static char * __devinit sis_find_rom(struct pci_dev *pdev) iounmap(rom_base); } #else - unsigned char *rom_base, *rom, *myrombase = NULL; + void __iomem *rom_base, *rom, *myrombase = NULL; int romptr; unsigned short pciid; u32 backup; @@ -4037,7 +4037,7 @@ static char * __devinit sis_find_rom(struct pci_dev *pdev) #ifdef CONFIG_FB_SIS_300 static int __devinit -sisfb_chkbuswidth300(struct pci_dev *pdev, ULONG FBAddress) +sisfb_chkbuswidth300(struct pci_dev *pdev, void __iomem *FBAddress) { struct sis_video_info *ivideo = pci_get_drvdata(pdev); int i, j; @@ -4080,7 +4080,7 @@ static void __devinit sisfb_setramsize300(struct pci_dev *pdev) { struct sis_video_info *ivideo = pci_get_drvdata(pdev); - ULONG FBAddr = (ULONG)ivideo->sishw_ext.pjVideoMemoryAddress, Addr; + void __iomem *FBAddr = ivideo->sishw_ext.pjVideoMemoryAddress, *Addr; USHORT SR13, SR14=0, buswidth, Done, data, TotalCapacity, PhysicalAdrOtherPage=0; int PseudoRankCapacity, PseudoTotalCapacity, PseudoAdrPinCount; int RankCapacity, AdrPinCount, BankNumHigh, BankNumMid, MB2Bank; @@ -4959,7 +4959,7 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) ivideo->modeprechange = 0x03; #if defined(__i386__) || defined(__x86_64__) { - unsigned char *tt = ioremap(0, 0x1000); + unsigned char __iomem *tt = ioremap(0, 0x1000); if(tt) { ivideo->modeprechange = tt[0x449]; iounmap(tt); @@ -4993,7 +4993,8 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) } #endif - ivideo->bios_vbase = ivideo->bios_abase = NULL; + ivideo->bios_abase = NULL; + ivideo->bios_vbase = NULL; if(ivideo->sisfb_userom) { ivideo->sishw_ext.pjVirtualRomBase = sis_find_rom(pdev); #if defined(__i386__) || defined(__x86_64__) @@ -5147,8 +5148,8 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) return -ENODEV; } - ivideo->video_vbase = (unsigned long)ioremap(ivideo->video_base, ivideo->video_size); - ivideo->sishw_ext.pjVideoMemoryAddress = (unsigned char *)ivideo->video_vbase; + ivideo->video_vbase = ioremap(ivideo->video_base, ivideo->video_size); + ivideo->sishw_ext.pjVideoMemoryAddress = ivideo->video_vbase; if(!ivideo->video_vbase) { printk(KERN_ERR "sisfb: Fatal error: Unable to map frame buffer memory\n"); release_mem_region(ivideo->video_base, ivideo->video_size); @@ -5160,10 +5161,10 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) return -ENODEV; } - ivideo->mmio_vbase = (unsigned long)ioremap(ivideo->mmio_base, ivideo->mmio_size); + ivideo->mmio_vbase = ioremap(ivideo->mmio_base, ivideo->mmio_size); if(!ivideo->mmio_vbase) { printk(KERN_ERR "sisfb: Fatal error: Unable to map MMIO region\n"); - iounmap((void *)ivideo->video_vbase); + iounmap(ivideo->video_vbase); release_mem_region(ivideo->video_base, ivideo->video_size); release_mem_region(ivideo->mmio_base, ivideo->mmio_size); if(ivideo->bios_abase) vfree(ivideo->bios_abase); @@ -5173,10 +5174,10 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) return -ENODEV; } - printk(KERN_INFO "sisfb: Framebuffer at 0x%lx, mapped to 0x%lx, size %ldk\n", + printk(KERN_INFO "sisfb: Framebuffer at 0x%lx, mapped to 0x%p, size %ldk\n", ivideo->video_base, ivideo->video_vbase, ivideo->video_size / 1024); - printk(KERN_INFO "sisfb: MMIO at 0x%lx, mapped to 0x%lx, size %ldk\n", + printk(KERN_INFO "sisfb: MMIO at 0x%lx, mapped to 0x%p, size %ldk\n", ivideo->mmio_base, ivideo->mmio_vbase, ivideo->mmio_size / 1024); if((ivideo->havenoheap = sisfb_heap_init(ivideo))) { @@ -5450,8 +5451,8 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if(SiSSetMode(&ivideo->SiS_Pr, &ivideo->sishw_ext, ivideo->mode_no) == 0) { printk(KERN_ERR "sisfb: Fatal error: Setting mode[0x%x] failed\n", ivideo->mode_no); - iounmap((void *)ivideo->video_vbase); - iounmap((void *)ivideo->mmio_vbase); + iounmap(ivideo->video_vbase); + iounmap(ivideo->mmio_vbase); release_mem_region(ivideo->video_base, ivideo->video_size); release_mem_region(ivideo->mmio_base, ivideo->mmio_size); if(ivideo->bios_abase) vfree(ivideo->bios_abase); @@ -5549,7 +5550,7 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) #endif sis_fb_info->var = ivideo->default_var; sis_fb_info->fix = ivideo->sisfb_fix; - sis_fb_info->screen_base = (char *)ivideo->video_vbase; + sis_fb_info->screen_base = ivideo->video_vbase; sis_fb_info->fbops = &sisfb_ops; sisfb_get_fix(&sis_fb_info->fix, -1, sis_fb_info); @@ -5574,8 +5575,8 @@ int __devinit sisfb_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if(register_framebuffer(sis_fb_info) < 0) { printk(KERN_ERR "sisfb: Fatal error: Failed to register framebuffer\n"); - iounmap((void *)ivideo->video_vbase); - iounmap((void *)ivideo->mmio_vbase); + iounmap(ivideo->video_vbase); + iounmap(ivideo->mmio_vbase); release_mem_region(ivideo->video_base, ivideo->video_size); release_mem_region(ivideo->mmio_base, ivideo->mmio_size); if(ivideo->bios_abase) vfree(ivideo->bios_abase); @@ -5669,8 +5670,8 @@ static void __devexit sisfb_remove(struct pci_dev *pdev) #endif /* Unmap */ - iounmap((void *)ivideo->video_vbase); - iounmap((void *)ivideo->mmio_vbase); + iounmap(ivideo->video_vbase); + iounmap(ivideo->mmio_vbase); if(ivideo->bios_vbase) iounmap(ivideo->bios_vbase); if(ivideo->bios_abase) vfree(ivideo->bios_abase); @@ -5718,9 +5719,24 @@ static struct pci_driver sisfb_driver = { int __init sisfb_init(void) { +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,8) +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("sisfb", &option)) + return -ENODEV; + sisfb_setup(option); +#endif +#endif return(pci_module_init(&sisfb_driver)); } +#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,8) +#ifndef MODULE +module_init(sisfb_init); +#endif +#endif + /*****************************************************/ /* MODULE */ /*****************************************************/ diff --git a/drivers/video/sis/sis_main.h b/drivers/video/sis/sis_main.h index 3f9298d52..176a9b165 100644 --- a/drivers/video/sis/sis_main.h +++ b/drivers/video/sis/sis_main.h @@ -880,7 +880,7 @@ static int sisfb_do_set_var(struct fb_var_screeninfo *var, int isactive, struct fb_info *info); static void sisfb_pre_setmode(struct sis_video_info *ivideo); static void sisfb_post_setmode(struct sis_video_info *ivideo); -static char * sis_find_rom(struct pci_dev *pdev); +static void __iomem *sis_find_rom(struct pci_dev *pdev); static BOOLEAN sisfb_CheckVBRetrace(struct sis_video_info *ivideo); static BOOLEAN sisfbcheckvretracecrt2(struct sis_video_info *ivideo); static BOOLEAN sisfbcheckvretracecrt1(struct sis_video_info *ivideo); diff --git a/drivers/video/skeletonfb.c b/drivers/video/skeletonfb.c index 75ab62945..115440079 100644 --- a/drivers/video/skeletonfb.c +++ b/drivers/video/skeletonfb.c @@ -582,6 +582,17 @@ int __init xxxfb_init(void) static void __exit xxxfb_cleanup(void) { + /* + * For kernel boot options (in 'video=xxxfb:' format) + */ +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("xxxfb", &option)) + return -ENODEV; + xxxfb_setup(option); +#endif + /* * If your driver supports multiple boards, you should unregister and * clean up all instances. @@ -639,9 +650,7 @@ static struct fb_ops xxxfb_ops = { * Modularization */ -#ifdef MODULE module_init(xxxfb_init); -#endif module_exit(xxxfb_cleanup); MODULE_LICENSE("GPL"); diff --git a/drivers/video/softcursor.c b/drivers/video/softcursor.c index a953b467b..7637dc870 100644 --- a/drivers/video/softcursor.c +++ b/drivers/video/softcursor.c @@ -22,7 +22,8 @@ int soft_cursor(struct fb_info *info, struct fb_cursor *cursor) unsigned int scan_align = info->sprite.scan_align - 1; unsigned int buf_align = info->sprite.buf_align - 1; unsigned int i, size, dsize, s_pitch, d_pitch; - u8 *dst, src[64]; + struct fb_cursor *cur; + u8 *dst, *src; if (cursor->set & FB_CUR_SETSIZE) { info->cursor.image.height = cursor->image.height; @@ -48,9 +49,17 @@ int soft_cursor(struct fb_info *info, struct fb_cursor *cursor) info->cursor.image.depth = cursor->image.depth; } + info->cursor.image.data = cursor->image.data; + if (info->state != FBINFO_STATE_RUNNING) return 0; + src = kmalloc(64 + sizeof(struct fb_cursor), GFP_ATOMIC); + if (!src) + return -ENOMEM; + cur = (struct fb_cursor *) (src + 64); + *cur = info->cursor; + s_pitch = (info->cursor.image.width + 7) >> 3; dsize = s_pitch * info->cursor.image.height; d_pitch = (s_pitch + scan_align) & ~scan_align; @@ -79,9 +88,12 @@ int soft_cursor(struct fb_info *info, struct fb_cursor *cursor) else fb_sysmove_buf_aligned(info, &info->sprite, dst, d_pitch, src, s_pitch, info->cursor.image.height); - info->cursor.image.data = dst; + cur->image.data = dst; - info->fbops->fb_imageblit(info, &info->cursor.image); + info->fbops->fb_imageblit(info, &cur->image); + + kfree(src); + return 0; } diff --git a/drivers/video/sstfb.c b/drivers/video/sstfb.c index f732dbbf8..e3ea32b6c 100644 --- a/drivers/video/sstfb.c +++ b/drivers/video/sstfb.c @@ -1473,7 +1473,7 @@ static int __devinit sstfb_probe(struct pci_dev *pdev, f_ddprintk("membase_phys: %#lx\n", fix->smem_start); f_ddprintk("fbbase_virt: %p\n", info->screen_base); - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT; info->fbops = &sstfb_ops; info->currcon = -1; info->pseudo_palette = &all->pseudo_palette; @@ -1571,6 +1571,13 @@ static struct pci_driver sstfb_driver = { int __devinit sstfb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("sstfb", &option)) + return -ENODEV; + sstfb_setup(option); +#endif return pci_module_init(&sstfb_driver); } @@ -1693,9 +1700,9 @@ static void sstfb_drawdebugimage(struct fb_info *info) sstfb_drawrect_XY(info, 250, 250, 120, 100, 0xf800, idx); } +module_init(sstfb_init); #ifdef MODULE -module_init(sstfb_init); module_exit(sstfb_exit); #endif diff --git a/drivers/video/tdfxfb.c b/drivers/video/tdfxfb.c index 287387762..503ecc356 100644 --- a/drivers/video/tdfxfb.c +++ b/drivers/video/tdfxfb.c @@ -1,4 +1,3 @@ - /* * * tdfxfb.c @@ -126,8 +125,9 @@ static struct fb_var_screeninfo tdfx_var __initdata = { /* * PCI driver prototypes */ -static int tdfxfb_probe(struct pci_dev *pdev, const struct pci_device_id *id); -static void tdfxfb_remove(struct pci_dev *pdev); +static int __devinit tdfxfb_probe(struct pci_dev *pdev, + const struct pci_device_id *id); +static void __devexit tdfxfb_remove(struct pci_dev *pdev); static struct pci_device_id tdfxfb_id_table[] = { { PCI_VENDOR_ID_3DFX, PCI_DEVICE_ID_3DFX_BANSHEE, @@ -155,7 +155,7 @@ MODULE_DEVICE_TABLE(pci, tdfxfb_id_table); * Frame buffer device API */ int tdfxfb_init(void); -void tdfxfb_setup(char *options, int *ints); +void tdfxfb_setup(char *options); static int tdfxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fb); static int tdfxfb_set_par(struct fb_info *info); @@ -163,15 +163,12 @@ static int tdfxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info); static int tdfxfb_blank(int blank, struct fb_info *info); static int tdfxfb_pan_display(struct fb_var_screeninfo *var, struct fb_info *info); +static int banshee_wait_idle(struct fb_info *info); +#ifdef CONFIG_FB_3DFX_ACCEL static void tdfxfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect); static void tdfxfb_copyarea(struct fb_info *info, const struct fb_copyarea *area); static void tdfxfb_imageblit(struct fb_info *info, const struct fb_image *image); -#ifdef CONFIG_FB_3DFX_ACCEL -static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor); -#else /* !CONFIG_FB_3DFX_ACCEL */ -#define tdfxfb_cursor soft_cursor #endif /* CONFIG_FB_3DFX_ACCEL */ -static int banshee_wait_idle(struct fb_info *info); static struct fb_ops tdfxfb_ops = { .owner = THIS_MODULE, @@ -180,11 +177,17 @@ static struct fb_ops tdfxfb_ops = { .fb_setcolreg = tdfxfb_setcolreg, .fb_blank = tdfxfb_blank, .fb_pan_display = tdfxfb_pan_display, + .fb_sync = banshee_wait_idle, +#ifdef CONFIG_FB_3DFX_ACCEL .fb_fillrect = tdfxfb_fillrect, .fb_copyarea = tdfxfb_copyarea, .fb_imageblit = tdfxfb_imageblit, - .fb_sync = banshee_wait_idle, - .fb_cursor = tdfxfb_cursor, +#else + .fb_fillrect = cfb_fillrect, + .fb_copyarea = cfb_copyarea, + .fb_imageblit = cfb_imageblit, +#endif + .fb_cursor = soft_cursor, }; /* @@ -497,23 +500,21 @@ static int tdfxfb_check_var(struct fb_var_screeninfo *var,struct fb_info *info) return -EINVAL; } - if (var->xres != var->xres_virtual) { - DPRINTK("virtual x resolution != physical x resolution not supported\n"); - return -EINVAL; - } + if (var->xres != var->xres_virtual) + var->xres_virtual = var->xres; - if (var->yres > var->yres_virtual) { - DPRINTK("virtual y resolution < physical y resolution not possible\n"); - return -EINVAL; - } + if (var->yres > var->yres_virtual) + var->yres_virtual = var->yres; if (var->xoffset) { DPRINTK("xoffset not supported\n"); return -EINVAL; } - /* fixme: does Voodoo3 support interlace? Banshee doesn't */ - if ((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) { + /* Banshee doesn't support interlace, but Voodoo4/5 and probably Voodoo3 do. */ + /* no direct information about device id now? use max_pixclock for this... */ + if (((var->vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) && + (par->max_pixclock < VOODOO3_MAX_PIXCLOCK)) { DPRINTK("interlace not supported\n"); return -EINVAL; } @@ -532,9 +533,12 @@ static int tdfxfb_check_var(struct fb_var_screeninfo *var,struct fb_info *info) } if (lpitch * var->yres_virtual > info->fix.smem_len) { - DPRINTK("no memory for screen (%ux%ux%u)\n", - var->xres, var->yres_virtual, var->bits_per_pixel); - return -EINVAL; + var->yres_virtual = info->fix.smem_len/lpitch; + if (var->yres_virtual < var->yres) { + DPRINTK("no memory for screen (%ux%ux%u)\n", + var->xres, var->yres_virtual, var->bits_per_pixel); + return -EINVAL; + } } if (PICOS2KHZ(var->pixclock) > par->max_pixclock) { @@ -584,7 +588,6 @@ static int tdfxfb_set_par(struct fb_info *info) int fout, freq; u32 wd, cpp; - info->cmap.len = (info->var.bits_per_pixel == 8) ? 256 : 16; par->baseline = 0; memset(®, 0, sizeof(reg)); @@ -620,10 +623,17 @@ static int tdfxfb_set_par(struct fb_info *info) hbs = hd; hbe = ht; - vbs = vd = info->var.yres - 1; - vs = vd + info->var.lower_margin; - ve = vs + info->var.vsync_len; - vbe = vt = ve + info->var.upper_margin - 1; + if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) { + vbs = vd = (info->var.yres << 1) - 1; + vs = vd + (info->var.lower_margin << 1); + ve = vs + (info->var.vsync_len << 1); + vbe = vt = ve + (info->var.upper_margin << 1) - 1; + } else { + vbs = vd = info->var.yres - 1; + vs = vd + info->var.lower_margin; + ve = vs + info->var.vsync_len; + vbe = vt = ve + info->var.upper_margin - 1; + } /* this is all pretty standard VGA register stuffing */ reg.misc[0x00] = 0x0f | @@ -746,8 +756,16 @@ static int tdfxfb_set_par(struct fb_info *info) reg.gfxpll = do_calc_pll(..., &fout); #endif - reg.screensize = info->var.xres | (info->var.yres << 12); - reg.vidcfg &= ~VIDCFG_HALF_MODE; + if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_DOUBLE) { + reg.screensize = info->var.xres | (info->var.yres << 13); + reg.vidcfg |= VIDCFG_HALF_MODE; + reg.crt[0x09] |= 0x80; + } else { + reg.screensize = info->var.xres | (info->var.yres << 12); + reg.vidcfg &= ~VIDCFG_HALF_MODE; + } + if ((info->var.vmode & FB_VMODE_MASK) == FB_VMODE_INTERLACED) + reg.vidcfg |= VIDCFG_INTERLACE; reg.miscinit0 = tdfx_inl(par, MISCINIT0); #if defined(__BIG_ENDIAN) @@ -787,7 +805,7 @@ static int tdfxfb_setcolreg(unsigned regno, unsigned red, unsigned green, struct tdfx_par *par = (struct tdfx_par *) info->par; u32 rgbcol; - if (regno >= info->cmap.len) return 1; + if (regno >= info->cmap.len || regno > 255) return 1; switch (info->fix.visual) { case FB_VISUAL_PSEUDOCOLOR: @@ -876,6 +894,7 @@ static int tdfxfb_pan_display(struct fb_var_screeninfo *var, return 0; } +#ifdef CONFIG_FB_3DFX_ACCEL /* * FillRect 2D command (solidfill or invert (via ROP_XOR)) */ @@ -894,7 +913,11 @@ static void tdfxfb_fillrect(struct fb_info *info, const struct fb_fillrect *rect banshee_make_room(par, 5); tdfx_outl(par, DSTFORMAT, fmt); - tdfx_outl(par, COLORFORE, rect->color); + if (info->fix.visual == FB_VISUAL_PSEUDOCOLOR) { + tdfx_outl(par, COLORFORE, rect->color); + } else { /* FB_VISUAL_TRUECOLOR */ + tdfx_outl(par, COLORFORE, ((u32*)(info->pseudo_palette))[rect->color]); + } tdfx_outl(par, COMMAND_2D, COMMAND_2D_FILLRECT | (tdfx_rop << 24)); tdfx_outl(par, DSTSIZE, rect->width | (rect->height << 16)); tdfx_outl(par, LAUNCH_2D, rect->dx | (rect->dy << 16)); @@ -1004,8 +1027,9 @@ static void tdfxfb_imageblit(struct fb_info *info, const struct fb_image *image) } banshee_wait_idle(info); } +#endif /* CONFIG_FB_3DFX_ACCEL */ -#ifdef CONFIG_FB_3DFX_ACCEL +#ifdef TDFX_HARDWARE_CURSOR static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor) { struct tdfx_par *par = (struct tdfx_par *) info->par; @@ -1043,7 +1067,7 @@ static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor) struct fb_cmap cmap = cursor->image.cmap; unsigned long bg_color, fg_color; - cmap.len = 2;/* Voodoo 3+ only support 2 color cursors*/ + cmap.len = 2; /* Voodoo 3+ only support 2 color cursors */ fg_color = ((cmap.red[cmap.start] << 16) | (cmap.green[cmap.start] << 8) | (cmap.blue[cmap.start])); @@ -1101,7 +1125,7 @@ static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor) */ u8 *cursorbase = (u8 *) info->cursor.image.data; char *bitmap = (char *)cursor->image.data; - const char *mask = cursor->mask; + char *mask = (char *) cursor->mask; int i, j, k, h = 0; for (i = 0; i < 64; i++) { @@ -1142,7 +1166,7 @@ static int tdfxfb_cursor(struct fb_info *info, struct fb_cursor *cursor) spin_unlock_irqrestore(&par->DAClock, flags); return 0; } -#endif /* CONFIG_FB_3DFX_ACCEL */ +#endif /** * tdfxfb_probe - Device Initializiation @@ -1158,22 +1182,20 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev, { struct tdfx_par *default_par; struct fb_info *info; - int size, err; + int size, err, lpitch; if ((err = pci_enable_device(pdev))) { printk(KERN_WARNING "tdfxfb: Can't enable pdev: %d\n", err); return err; } - size = sizeof(struct fb_info)+sizeof(struct tdfx_par)+16*sizeof(u32); + size = sizeof(struct tdfx_par)+256*sizeof(u32); - info = kmalloc(size, GFP_KERNEL); + info = framebuffer_alloc(size, &pdev->dev); if (!info) return -ENOMEM; - memset(info, 0, size); - - default_par = (struct tdfx_par *) (info + 1); + default_par = info->par; /* Configure the default fb_fix_screeninfo first */ switch (pdev->device) { @@ -1251,24 +1273,44 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev, info->fbops = &tdfxfb_ops; info->fix = tdfx_fix; - info->par = default_par; info->pseudo_palette = (void *)(default_par + 1); - info->flags = FBINFO_FLAG_DEFAULT; + info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; +#ifdef CONFIG_FB_3DFX_ACCEL + info->flags |= FBINFO_HWACCEL_FILLRECT | + FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_IMAGEBLIT; +#endif -#ifndef MODULE if (!mode_option) mode_option = "640x480@60"; err = fb_find_mode(&info->var, info, mode_option, NULL, 0, NULL, 8); if (!err || err == 4) -#endif info->var = tdfx_var; - size = (info->var.bits_per_pixel == 8) ? 256 : 16; - fb_alloc_cmap(&info->cmap, size, 0); + /* maximize virtual vertical length */ + lpitch = info->var.xres_virtual * ((info->var.bits_per_pixel + 7) >> 3); + info->var.yres_virtual = info->fix.smem_len/lpitch; + if (info->var.yres_virtual < info->var.yres) + goto out_err; + +#ifdef CONFIG_FB_3DFX_ACCEL + /* + * FIXME: Limit var->yres_virtual to 4096 because of screen artifacts + * during scrolling. This is only present if 2D acceleration is + * enabled. + */ + if (info->var.yres_virtual > 4096) + info->var.yres_virtual = 4096; +#endif /* CONFIG_FB_3DFX_ACCEL */ + + if (fb_alloc_cmap(&info->cmap, 256, 0) < 0) { + printk(KERN_WARNING "tdfxfb: Can't allocate color map\n"); + goto out_err; + } if (register_framebuffer(info) < 0) { printk("tdfxfb: can't register framebuffer\n"); + fb_dealloc_cmap(&info->cmap); goto out_err; } /* @@ -1285,7 +1327,7 @@ out_err: iounmap(default_par->regbase_virt); if (info->screen_base) iounmap(info->screen_base); - kfree(info); + framebuffer_release(info); return -ENXIO; } @@ -1315,11 +1357,19 @@ static void __devexit tdfxfb_remove(struct pci_dev *pdev) release_mem_region(pci_resource_start(pdev, 0), pci_resource_len(pdev, 0)); pci_set_drvdata(pdev, NULL); - kfree(info); + framebuffer_release(info); } int __init tdfxfb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("tdfxfb", &option)) + return -ENODEV; + + tdfxfb_setup(option); +#endif return pci_module_init(&tdfxfb_driver); } @@ -1332,14 +1382,12 @@ MODULE_AUTHOR("Hannu Mallat "); MODULE_DESCRIPTION("3Dfx framebuffer device driver"); MODULE_LICENSE("GPL"); -#ifdef MODULE module_init(tdfxfb_init); -#endif module_exit(tdfxfb_exit); #ifndef MODULE -void tdfxfb_setup(char *options, int *ints) +void tdfxfb_setup(char *options) { char* this_opt; diff --git a/drivers/video/tgafb.c b/drivers/video/tgafb.c index 3d02b0de9..07ee3202e 100644 --- a/drivers/video/tgafb.c +++ b/drivers/video/tgafb.c @@ -1426,7 +1426,8 @@ tgafb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent) pci_read_config_byte(pdev, PCI_REVISION_ID, &all->par.tga_chip_rev); /* Setup framebuffer. */ - all->info.flags = FBINFO_FLAG_DEFAULT; + all->info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_COPYAREA | + FBINFO_HWACCEL_IMAGEBLIT | FBINFO_HWACCEL_FILLRECT; all->info.fbops = &tgafb_ops; all->info.screen_base = (char *) all->par.tga_fb_base; all->info.currcon = -1; @@ -1476,12 +1477,6 @@ tgafb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent) return ret; } -int __init -tgafb_init(void) -{ - return pci_module_init(&tgafb_driver); -} - #ifdef MODULE static void __exit tgafb_pci_unregister(struct pci_dev *pdev) @@ -1528,12 +1523,26 @@ tgafb_setup(char *arg) } #endif /* !MODULE */ +int __init +tgafb_init(void) +{ +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("tgafb", &option)) + return -ENODEV; + tgafb_setup(option); +#endif + return pci_module_init(&tgafb_driver); +} + /* * Modularisation */ -#ifdef MODULE module_init(tgafb_init); + +#ifdef MODULE module_exit(tgafb_exit); #endif diff --git a/drivers/video/tridentfb.c b/drivers/video/tridentfb.c index 17f8101ff..aea0e05c8 100644 --- a/drivers/video/tridentfb.c +++ b/drivers/video/tridentfb.c @@ -28,7 +28,7 @@ struct tridentfb_par { int vclk; //in MHz - unsigned long io_virt; //iospace virtual memory address + void __iomem * io_virt; //iospace virtual memory address }; unsigned char eng_oper; //engine operation... @@ -1107,7 +1107,7 @@ static int __devinit trident_pci_probe(struct pci_dev * dev, const struct pci_de return -1; } - default_par.io_virt = (unsigned long)ioremap_nocache(tridentfb_fix.mmio_start, tridentfb_fix.mmio_len); + default_par.io_virt = ioremap_nocache(tridentfb_fix.mmio_start, tridentfb_fix.mmio_len); if (!default_par.io_virt) { release_region(tridentfb_fix.mmio_start, tridentfb_fix.mmio_len); @@ -1149,7 +1149,10 @@ static int __devinit trident_pci_probe(struct pci_dev * dev, const struct pci_de fb_info.fbops = &tridentfb_ops; - fb_info.flags = FBINFO_FLAG_DEFAULT; + fb_info.flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN; +#ifdef CONFIG_FB_TRIDENT_ACCEL + fb_info.flags |= FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT; +#endif fb_info.pseudo_palette = pseudo_pal; if (!fb_find_mode(&default_var,&fb_info,mode,NULL,0,NULL,bpp)) @@ -1175,8 +1178,8 @@ static void __devexit trident_pci_remove(struct pci_dev * dev) { struct tridentfb_par *par = (struct tridentfb_par*)fb_info.par; unregister_framebuffer(&fb_info); - iounmap((void *)par->io_virt); - iounmap((void*)fb_info.screen_base); + iounmap(par->io_virt); + iounmap(fb_info.screen_base); release_mem_region(tridentfb_fix.smem_start, tridentfb_fix.smem_len); release_region(tridentfb_fix.mmio_start, tridentfb_fix.mmio_len); } @@ -1215,8 +1218,17 @@ static struct pci_driver tridentfb_pci_driver = { .remove = __devexit_p(trident_pci_remove) }; +int tridentfb_setup(char *options); + int __init tridentfb_init(void) { +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("tridentfb", &option)) + return -ENODEV; + tridentfb_setup(option); +#endif output("Trident framebuffer %s initializing\n", VERSION); return pci_module_init(&tridentfb_pci_driver); } @@ -1276,9 +1288,7 @@ static struct fb_ops tridentfb_ops = { .fb_cursor = soft_cursor, }; -#ifdef MODULE module_init(tridentfb_init); -#endif module_exit(tridentfb_exit); MODULE_AUTHOR("Jani Monoses "); diff --git a/drivers/video/vesafb.c b/drivers/video/vesafb.c index 15f7f8e47..c5c649d9b 100644 --- a/drivers/video/vesafb.c +++ b/drivers/video/vesafb.c @@ -87,15 +87,17 @@ static int vesafb_pan_display(struct fb_var_screeninfo *var, return 0; } -static void vesa_setpalette(int regno, unsigned red, unsigned green, unsigned blue) +static void vesa_setpalette(int regno, unsigned red, unsigned green, + unsigned blue, struct fb_var_screeninfo *var) { #ifdef __i386__ struct { u_char blue, green, red, pad; } entry; + int shift = 16 - var->green.length; if (pmi_setpal) { - entry.red = red >> 10; - entry.green = green >> 10; - entry.blue = blue >> 10; + entry.red = red >> shift; + entry.green = green >> shift; + entry.blue = blue >> shift; entry.pad = 0; __asm__ __volatile__( "call *(%%esi)" @@ -109,9 +111,9 @@ static void vesa_setpalette(int regno, unsigned red, unsigned green, unsigned bl } else { /* without protected mode interface, try VGA registers... */ outb_p(regno, dac_reg); - outb_p(red >> 10, dac_val); - outb_p(green >> 10, dac_val); - outb_p(blue >> 10, dac_val); + outb_p(red >> shift, dac_val); + outb_p(green >> shift, dac_val); + outb_p(blue >> shift, dac_val); } #endif } @@ -132,7 +134,7 @@ static int vesafb_setcolreg(unsigned regno, unsigned red, unsigned green, switch (info->var.bits_per_pixel) { case 8: - vesa_setpalette(regno,red,green,blue); + vesa_setpalette(regno,red,green,blue, &info->var); break; case 16: if (info->var.red.offset == 10) { @@ -331,30 +333,26 @@ static int __init vesafb_probe(struct device *device) vesafb_defined.left_margin = (vesafb_defined.xres / 8) & 0xf8; vesafb_defined.hsync_len = (vesafb_defined.xres / 8) & 0xf8; - if (vesafb_defined.bits_per_pixel > 8) { - vesafb_defined.red.offset = screen_info.red_pos; - vesafb_defined.red.length = screen_info.red_size; - vesafb_defined.green.offset = screen_info.green_pos; - vesafb_defined.green.length = screen_info.green_size; - vesafb_defined.blue.offset = screen_info.blue_pos; - vesafb_defined.blue.length = screen_info.blue_size; - vesafb_defined.transp.offset = screen_info.rsvd_pos; - vesafb_defined.transp.length = screen_info.rsvd_size; - printk(KERN_INFO "vesafb: directcolor: " - "size=%d:%d:%d:%d, shift=%d:%d:%d:%d\n", - screen_info.rsvd_size, - screen_info.red_size, - screen_info.green_size, - screen_info.blue_size, - screen_info.rsvd_pos, - screen_info.red_pos, - screen_info.green_pos, - screen_info.blue_pos); - } else { - vesafb_defined.red.length = 6; - vesafb_defined.green.length = 6; - vesafb_defined.blue.length = 6; - } + vesafb_defined.red.offset = screen_info.red_pos; + vesafb_defined.red.length = screen_info.red_size; + vesafb_defined.green.offset = screen_info.green_pos; + vesafb_defined.green.length = screen_info.green_size; + vesafb_defined.blue.offset = screen_info.blue_pos; + vesafb_defined.blue.length = screen_info.blue_size; + vesafb_defined.transp.offset = screen_info.rsvd_pos; + vesafb_defined.transp.length = screen_info.rsvd_size; + printk(KERN_INFO "vesafb: %s: " + "size=%d:%d:%d:%d, shift=%d:%d:%d:%d\n", + (vesafb_defined.bits_per_pixel > 8) ? + "Truecolor" : "Pseudocolor", + screen_info.rsvd_size, + screen_info.red_size, + screen_info.green_size, + screen_info.blue_size, + screen_info.rsvd_pos, + screen_info.red_pos, + screen_info.green_pos, + screen_info.blue_pos); vesafb_fix.ypanstep = ypan ? 1 : 0; vesafb_fix.ywrapstep = (ypan>1) ? 1 : 0; @@ -412,7 +410,11 @@ static struct platform_device vesafb_device = { int __init vesafb_init(void) { int ret; + char *option = NULL; + /* ignore error return of fb_get_options */ + fb_get_options("vesafb", &option); + vesafb_setup(option); ret = driver_register(&vesafb_driver); if (!ret) { @@ -422,6 +424,7 @@ int __init vesafb_init(void) } return ret; } +module_init(vesafb_init); /* * Overrides for Emacs so that we follow Linus's tabbing style. diff --git a/drivers/video/vfb.c b/drivers/video/vfb.c index 8b01918a5..a00da53ec 100644 --- a/drivers/video/vfb.c +++ b/drivers/video/vfb.c @@ -496,6 +496,14 @@ int __init vfb_init(void) { int ret = 0; +#ifndef MODULE + char *option = NULL; + + if (fb_get_options("vfb", &option)) + return -ENODEV; + vfb_setup(option); +#endif + if (!vfb_enable) return -ENXIO; @@ -509,6 +517,8 @@ int __init vfb_init(void) return ret; } +module_init(vfb_init); + #ifdef MODULE static void __exit vfb_exit(void) { @@ -516,7 +526,6 @@ static void __exit vfb_exit(void) driver_unregister(&vfb_driver); } -module_init(vfb_init); module_exit(vfb_exit); MODULE_LICENSE("GPL"); diff --git a/drivers/video/vga16fb.c b/drivers/video/vga16fb.c index 770681ca6..2e132fb61 100644 --- a/drivers/video/vga16fb.c +++ b/drivers/video/vga16fb.c @@ -1342,7 +1342,14 @@ int __init vga16fb_init(void) { int i; int ret; +#ifndef MODULE + char *option = NULL; + if (fb_get_options("vga16fb", &option)) + return -ENODEV; + + vga16fb_setup(option); +#endif printk(KERN_DEBUG "vga16fb: initializing\n"); /* XXX share VGA_FB_PHYS and I/O region with vgacon and others */ @@ -1418,8 +1425,8 @@ static void __exit vga16fb_exit(void) #ifdef MODULE MODULE_LICENSE("GPL"); -module_init(vga16fb_init); #endif +module_init(vga16fb_init); module_exit(vga16fb_exit); diff --git a/fs/Kconfig b/fs/Kconfig index 460a4cbe4..a602c6cc7 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -289,7 +289,7 @@ config FS_POSIX_ACL # Never use this symbol for ifdefs. # bool - depends on EXT2_FS_POSIX_ACL || EXT3_FS_POSIX_ACL || JFS_POSIX_ACL || REISERFS_FS_POSIX_ACL + depends on EXT2_FS_POSIX_ACL || EXT3_FS_POSIX_ACL || JFS_POSIX_ACL || REISERFS_FS_POSIX_ACL || NFSD_V4 default y config XFS_FS @@ -650,18 +650,21 @@ config FAT_DEFAULT_CODEPAGE default 437 help This option should be set to the codepage of your FAT filesystems. - It can be overridden with the 'codepage' mount option. + It can be overridden with the "codepage" mount option. + See for more information. config FAT_DEFAULT_IOCHARSET string "Default iocharset for FAT" depends on VFAT_FS default "iso8859-1" help - Set this to the default I/O character set you'd like FAT to use. - It should probably match the character set that most of your - FAT filesystems use, and can be overridded with the 'iocharset' - mount option for FAT filesystems. Note that UTF8 is *not* a - supported charset for FAT filesystems. + Set this to the default input/output character set you'd + like FAT to use. It should probably match the character set + that most of your FAT filesystems use, and can be overridden + with the "iocharset" mount option for FAT filesystems. + Note that "utf8" is not recommended for FAT filesystems. + If unsure, you shouldn't set "utf8" here. + See for more information. config UMSDOS_FS #dep_tristate ' UMSDOS: Unix-like file system on top of standard MSDOS fs' CONFIG_UMSDOS_FS $CONFIG_MSDOS_FS @@ -916,6 +919,27 @@ config TMPFS See for details. +config TMPFS_XATTR + bool "tmpfs Extended Attributes" + depends on TMPFS + help + Extended attributes are name:value pairs associated with inodes by + the kernel or by users (see the attr(5) manual page, or visit + for details). + + If unsure, say N. + +config TMPFS_SECURITY + bool "tmpfs Security Labels" + depends on TMPFS_XATTR + help + Security labels support alternative access control models + implemented by security modules like SELinux. This option + enables an extended attribute handler for file security + labels in the tmpfs filesystem. + If you are not using a security module that requires using + extended attributes for file security labels, say N. + config HUGETLBFS bool "HugeTLB file system support" depends X86 || IA64 || PPC64 || SPARC64 || SUPERH || X86_64 || BROKEN @@ -1263,7 +1287,7 @@ config JFFS2_CMODE_SIZE endchoice config CRAMFS - tristate "Compressed ROM file system support" + tristate "Compressed ROM file system support (cramfs)" select ZLIB_INFLATE help Saying Y here includes support for CramFs (Compressed ROM File @@ -1459,8 +1483,8 @@ config NFS_V3 bool "Provide NFSv3 client support" depends on NFS_FS help - Say Y here if you want your NFS client to be able to speak the newer - version 3 of the NFS protocol. + Say Y here if you want your NFS client to be able to speak version + 3 of the NFS protocol. If unsure, say Y. @@ -1539,6 +1563,7 @@ config NFSD_V3 config NFSD_V4 bool "Provide NFSv4 server support (EXPERIMENTAL)" depends on NFSD_V3 && EXPERIMENTAL + select NFSD_TCP help If you would like to include the NFSv4 server as well as the NFSv2 and NFSv3 servers, say Y here. This feature is experimental, and @@ -1603,6 +1628,22 @@ config RPCSEC_GSS_KRB5 If unsure, say N. +config RPCSEC_GSS_SPKM3 + tristate "Secure RPC: SPKM3 mechanism (EXPERIMENTAL)" + depends on SUNRPC && EXPERIMENTAL + select SUNRPC_GSS + select CRYPTO + select CRYPTO_MD5 + select CRYPTO_DES + help + Provides for secure RPC calls by means of a gss-api + mechanism based on the SPKM3 public-key mechanism. + + Note: Requires an auxiliary userspace daemon which may be found on + http://www.citi.umich.edu/projects/nfsv4/ + + If unsure, say N. + config SMB_FS tristate "SMB file system support (to mount Windows shares etc.)" depends on INET diff --git a/fs/Makefile b/fs/Makefile index 9911572f2..de7c84e6a 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -94,3 +94,5 @@ obj-$(CONFIG_AFS_FS) += afs/ obj-$(CONFIG_BEFS_FS) += befs/ obj-$(CONFIG_EXTERNFS) += hostfs/ obj-$(CONFIG_RCFS_FS) += rcfs/ +obj-$(CONFIG_HOSTFS) += hostfs/ +obj-$(CONFIG_HPPFS) += hppfs/ diff --git a/fs/affs/amigaffs.c b/fs/affs/amigaffs.c index 17a4bfbb1..1ad629167 100644 --- a/fs/affs/amigaffs.c +++ b/fs/affs/amigaffs.c @@ -84,7 +84,8 @@ affs_remove_hash(struct inode *dir, struct buffer_head *rem_bh) { struct super_block *sb; struct buffer_head *bh; - u32 rem_ino, hash_ino, ino; + u32 rem_ino, hash_ino; + __be32 ino; int offset, retval; sb = dir->i_sb; @@ -203,9 +204,9 @@ affs_remove_link(struct dentry *dentry) while ((ino = be32_to_cpu(AFFS_TAIL(sb, bh)->link_chain)) != 0) { if (ino == link_ino) { - ino = AFFS_TAIL(sb, link_bh)->link_chain; - AFFS_TAIL(sb, bh)->link_chain = ino; - affs_adjust_checksum(bh, be32_to_cpu(ino) - link_ino); + __be32 ino2 = AFFS_TAIL(sb, link_bh)->link_chain; + AFFS_TAIL(sb, bh)->link_chain = ino2; + affs_adjust_checksum(bh, be32_to_cpu(ino2) - link_ino); mark_buffer_dirty_inode(bh, inode); retval = 0; /* Fix the link count, if bh is a normal header block without links */ @@ -341,12 +342,12 @@ done_unlock: u32 affs_checksum_block(struct super_block *sb, struct buffer_head *bh) { - u32 *ptr = (u32 *)bh->b_data; + __be32 *ptr = (__be32 *)bh->b_data; u32 sum; int bsize; sum = 0; - for (bsize = sb->s_blocksize / sizeof(u32); bsize > 0; bsize--) + for (bsize = sb->s_blocksize / sizeof(__be32); bsize > 0; bsize--) sum += be32_to_cpu(*ptr++); return sum; } @@ -359,9 +360,10 @@ affs_checksum_block(struct super_block *sb, struct buffer_head *bh) void affs_fix_checksum(struct super_block *sb, struct buffer_head *bh) { - int cnt = sb->s_blocksize / sizeof(u32); - u32 *ptr = (u32 *)bh->b_data; - u32 checksum, *checksumptr; + int cnt = sb->s_blocksize / sizeof(__be32); + __be32 *ptr = (__be32 *)bh->b_data; + u32 checksum; + __be32 *checksumptr; checksumptr = ptr + 5; *checksumptr = 0; @@ -384,9 +386,9 @@ secs_to_datestamp(time_t secs, struct affs_date *ds) minute = secs / 60; secs -= minute * 60; - ds->days = be32_to_cpu(days); - ds->mins = be32_to_cpu(minute); - ds->ticks = be32_to_cpu(secs * 50); + ds->days = cpu_to_be32(days); + ds->mins = cpu_to_be32(minute); + ds->ticks = cpu_to_be32(secs * 50); } mode_t diff --git a/fs/affs/bitmap.c b/fs/affs/bitmap.c index 93d32d18e..44e322143 100644 --- a/fs/affs/bitmap.c +++ b/fs/affs/bitmap.c @@ -21,7 +21,7 @@ static int nibblemap[] = { 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4 }; -u32 +static u32 affs_count_free_bits(u32 blocksize, const void *data) { const u32 *map; @@ -72,7 +72,7 @@ affs_free_block(struct super_block *sb, u32 block) struct affs_bm_info *bm; struct buffer_head *bh; u32 blk, bmap, bit, mask, tmp; - u32 *data; + __be32 *data; pr_debug("AFFS: free_block(%u)\n", block); @@ -97,7 +97,7 @@ affs_free_block(struct super_block *sb, u32 block) } mask = 1 << (bit & 31); - data = (u32 *)bh->b_data + bit / 32 + 1; + data = (__be32 *)bh->b_data + bit / 32 + 1; /* mark block free */ tmp = be32_to_cpu(*data); @@ -106,8 +106,8 @@ affs_free_block(struct super_block *sb, u32 block) *data = cpu_to_be32(tmp | mask); /* fix checksum */ - tmp = be32_to_cpu(*(u32 *)bh->b_data); - *(u32 *)bh->b_data = cpu_to_be32(tmp - mask); + tmp = be32_to_cpu(*(__be32 *)bh->b_data); + *(__be32 *)bh->b_data = cpu_to_be32(tmp - mask); mark_buffer_dirty(bh); sb->s_dirt = 1; @@ -149,7 +149,7 @@ affs_alloc_block(struct inode *inode, u32 goal) struct affs_sb_info *sbi; struct affs_bm_info *bm; struct buffer_head *bh; - u32 *data, *enddata; + __be32 *data, *enddata; u32 blk, bmap, bit, mask, mask2, tmp; int i; @@ -211,8 +211,8 @@ find_bmap_bit: /* find an unused block in this bitmap block */ bit = blk % sbi->s_bmap_bits; - data = (u32 *)bh->b_data + bit / 32 + 1; - enddata = (u32 *)((u8 *)bh->b_data + sb->s_blocksize); + data = (__be32 *)bh->b_data + bit / 32 + 1; + enddata = (__be32 *)((u8 *)bh->b_data + sb->s_blocksize); mask = ~0UL << (bit & 31); blk &= ~31UL; @@ -228,8 +228,8 @@ find_bmap_bit: * if scan didn't start at 0, try next bmap */ goto find_bmap; - } while (!(tmp = *data)); - tmp = be32_to_cpu(tmp); + } while (!*data); + tmp = be32_to_cpu(*data); mask = ~0; find_bit: @@ -251,8 +251,8 @@ find_bit: *data = cpu_to_be32(tmp & ~mask); /* fix checksum */ - tmp = be32_to_cpu(*(u32 *)bh->b_data); - *(u32 *)bh->b_data = cpu_to_be32(tmp + mask); + tmp = be32_to_cpu(*(__be32 *)bh->b_data); + *(__be32 *)bh->b_data = cpu_to_be32(tmp + mask); mark_buffer_dirty(bh); sb->s_dirt = 1; @@ -276,7 +276,7 @@ int affs_init_bitmap(struct super_block *sb, int *flags) { struct affs_bm_info *bm; struct buffer_head *bmap_bh = NULL, *bh = NULL; - u32 *bmap_blk; + __be32 *bmap_blk; u32 size, blk, end, offset, mask; int i, res = 0; struct affs_sb_info *sbi = AFFS_SB(sb); @@ -304,7 +304,7 @@ int affs_init_bitmap(struct super_block *sb, int *flags) } memset(sbi->s_bitmap, 0, size); - bmap_blk = (u32 *)sbi->s_root_bh->b_data; + bmap_blk = (__be32 *)sbi->s_root_bh->b_data; blk = sb->s_blocksize / 4 - 49; end = blk + 25; @@ -340,7 +340,7 @@ int affs_init_bitmap(struct super_block *sb, int *flags) res = -EIO; goto out; } - bmap_blk = (u32 *)bmap_bh->b_data; + bmap_blk = (__be32 *)bmap_bh->b_data; blk = 0; end = sb->s_blocksize / 4 - 1; } @@ -354,23 +354,23 @@ int affs_init_bitmap(struct super_block *sb, int *flags) u32 old, new; /* Mark unused bits in the last word as allocated */ - old = be32_to_cpu(((u32 *)bh->b_data)[offset]); + old = be32_to_cpu(((__be32 *)bh->b_data)[offset]); new = old & mask; //if (old != new) { - ((u32 *)bh->b_data)[offset] = cpu_to_be32(new); + ((__be32 *)bh->b_data)[offset] = cpu_to_be32(new); /* fix checksum */ //new -= old; - //old = be32_to_cpu(*(u32 *)bh->b_data); - //*(u32 *)bh->b_data = cpu_to_be32(old - new); + //old = be32_to_cpu(*(__be32 *)bh->b_data); + //*(__be32 *)bh->b_data = cpu_to_be32(old - new); //mark_buffer_dirty(bh); //} /* correct offset for the bitmap count below */ //offset++; } while (++offset < sb->s_blocksize / 4) - ((u32 *)bh->b_data)[offset] = 0; - ((u32 *)bh->b_data)[0] = 0; - ((u32 *)bh->b_data)[0] = cpu_to_be32(-affs_checksum_block(sb, bh)); + ((__be32 *)bh->b_data)[offset] = 0; + ((__be32 *)bh->b_data)[0] = 0; + ((__be32 *)bh->b_data)[0] = cpu_to_be32(-affs_checksum_block(sb, bh)); mark_buffer_dirty(bh); /* recalculate bitmap count for last block */ diff --git a/fs/affs/inode.c b/fs/affs/inode.c index f94afc028..3142f402e 100644 --- a/fs/affs/inode.c +++ b/fs/affs/inode.c @@ -181,7 +181,7 @@ bad_inode: return; } -void +int affs_write_inode(struct inode *inode, int unused) { struct super_block *sb = inode->i_sb; @@ -194,14 +194,14 @@ affs_write_inode(struct inode *inode, int unused) if (!inode->i_nlink) // possibly free block - return; + return 0; bh = affs_bread(sb, inode->i_ino); if (!bh) { affs_error(sb,"write_inode","Cannot read block %lu",inode->i_ino); - return; + return -EIO; } tail = AFFS_TAIL(sb, bh); - if (tail->stype == be32_to_cpu(ST_ROOT)) { + if (tail->stype == cpu_to_be32(ST_ROOT)) { secs_to_datestamp(inode->i_mtime.tv_sec,&AFFS_ROOT_TAIL(sb, bh)->root_change); } else { tail->protect = cpu_to_be32(AFFS_I(inode)->i_protect); @@ -226,6 +226,7 @@ affs_write_inode(struct inode *inode, int unused) mark_buffer_dirty_inode(bh, inode); affs_brelse(bh); affs_free_prealloc(inode); + return 0; } int @@ -396,7 +397,7 @@ affs_add_entry(struct inode *dir, struct inode *inode, struct dentry *dentry, s3 AFFS_TAIL(sb, bh)->parent = cpu_to_be32(dir->i_ino); if (inode_bh) { - u32 chain; + __be32 chain; chain = AFFS_TAIL(sb, inode_bh)->link_chain; AFFS_TAIL(sb, bh)->original = cpu_to_be32(inode->i_ino); AFFS_TAIL(sb, bh)->link_chain = chain; diff --git a/fs/affs/super.c b/fs/affs/super.c index f4ebbd27e..073e80cbe 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c @@ -44,7 +44,7 @@ affs_put_super(struct super_block *sb) pr_debug("AFFS: put_super()\n"); if (!(sb->s_flags & MS_RDONLY)) { - AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag = be32_to_cpu(1); + AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag = cpu_to_be32(1); secs_to_datestamp(get_seconds(), &AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->disk_change); affs_fix_checksum(sb, sbi->s_root_bh); @@ -70,7 +70,7 @@ affs_write_super(struct super_block *sb) // if (sbi->s_bitmap[i].bm_bh) { // if (buffer_dirty(sbi->s_bitmap[i].bm_bh)) { // clean = 0; - AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag = be32_to_cpu(clean); + AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->bm_flag = cpu_to_be32(clean); secs_to_datestamp(get_seconds(), &AFFS_ROOT_TAIL(sb, sbi->s_root_bh)->disk_change); affs_fix_checksum(sb, sbi->s_root_bh); @@ -115,7 +115,7 @@ static int init_inodecache(void) { affs_inode_cachep = kmem_cache_create("affs_inode_cache", sizeof(struct affs_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (affs_inode_cachep == NULL) return -ENOMEM; @@ -387,7 +387,7 @@ got_root: printk(KERN_ERR "AFFS: Cannot read boot block\n"); goto out_error; } - chksum = be32_to_cpu(*(u32 *)boot_bh->b_data); + chksum = be32_to_cpu(*(__be32 *)boot_bh->b_data); brelse(boot_bh); /* Dircache filesystems are compatible with non-dircache ones diff --git a/fs/afs/cmservice.c b/fs/afs/cmservice.c index 1f968366e..72443ef17 100644 --- a/fs/afs/cmservice.c +++ b/fs/afs/cmservice.c @@ -424,7 +424,7 @@ static void _SRXAFSCM_CallBack(struct rxrpc_call *call) { struct afs_callback *cb, *pcb; int loop; - u32 *fp, *bp; + __be32 *fp, *bp; fp = rxrpc_call_alloc_scratch(call, qty); diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 7fcdd24dc..6682d6d7f 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -65,9 +65,9 @@ union afs_dirent { struct { uint8_t valid; uint8_t unused[1]; - uint16_t hash_next; - uint32_t vnode; - uint32_t unique; + __be16 hash_next; + __be32 vnode; + __be32 unique; uint8_t name[16]; uint8_t overflow[4]; /* if any char of the name (inc * NUL) reaches here, consume @@ -78,8 +78,8 @@ union afs_dirent { /* AFS directory page header (one at the beginning of every 2048-byte chunk) */ struct afs_dir_pagehdr { - uint16_t npages; - uint16_t magic; + __be16 npages; + __be16 magic; #define AFS_DIR_MAGIC htons(1234) uint8_t nentries; uint8_t bitmap[8]; @@ -308,7 +308,7 @@ static int afs_dir_iterate_block(unsigned *fpos, blkoff + offset * sizeof(union afs_dirent), ntohl(dire->u.vnode), filldir == afs_dir_lookup_filldir ? - dire->u.unique : DT_UNKNOWN); + ntohl(dire->u.unique) : DT_UNKNOWN); if (ret < 0) { _leave(" = 0 [full]"); return 0; @@ -416,7 +416,7 @@ static int afs_dir_lookup_filldir(void *_cookie, const char *name, int nlen, struct afs_dir_lookup_cookie *cookie = _cookie; _enter("{%s,%Zu},%s,%u,,%lu,%u", - cookie->name, cookie->nlen, name, nlen, ino, ntohl(dtype)); + cookie->name, cookie->nlen, name, nlen, ino, dtype); if (cookie->nlen != nlen || memcmp(cookie->name, name, nlen) != 0) { _leave(" = 0 [no]"); @@ -424,7 +424,7 @@ static int afs_dir_lookup_filldir(void *_cookie, const char *name, int nlen, } cookie->fid.vnode = ino; - cookie->fid.unique = ntohl(dtype); + cookie->fid.unique = dtype; cookie->found = 1; _leave(" = -1 [found]"); diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c index e6377cea6..61bc37153 100644 --- a/fs/afs/fsclient.c +++ b/fs/afs/fsclient.c @@ -307,7 +307,7 @@ int afs_rxfs_fetch_file_status(struct afs_server *server, struct kvec piov[1]; size_t sent; int ret; - u32 *bp; + __be32 *bp; DECLARE_WAITQUEUE(myself, current); @@ -432,7 +432,7 @@ int afs_rxfs_fetch_file_data(struct afs_server *server, struct kvec piov[1]; size_t sent; int ret; - u32 *bp; + __be32 *bp; DECLARE_WAITQUEUE(myself, current); @@ -583,7 +583,7 @@ int afs_rxfs_give_up_callback(struct afs_server *server, struct kvec piov[1]; size_t sent; int ret; - u32 *bp; + __be32 *bp; DECLARE_WAITQUEUE(myself, current); diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c index cc225ce9d..bfc28abe1 100644 --- a/fs/afs/mntpt.c +++ b/fs/afs/mntpt.c @@ -235,8 +235,8 @@ static struct vfsmount *afs_mntpt_do_automount(struct dentry *mntpt) */ static int afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd) { - struct dentry *old_dentry; struct vfsmount *newmnt; + struct dentry *old_dentry; int err; kenter("%p{%s},{%s:%p{%s}}", @@ -258,6 +258,7 @@ static int afs_mntpt_follow_link(struct dentry *dentry, struct nameidata *nd) nd->dentry = old_dentry; path_release(nd); + if (!err) { mntget(newmnt); nd->mnt = newmnt; diff --git a/fs/afs/vlclient.c b/fs/afs/vlclient.c index 6a663cedd..7b0e3192e 100644 --- a/fs/afs/vlclient.c +++ b/fs/afs/vlclient.c @@ -89,18 +89,19 @@ static void afs_rxvl_aemap(struct rxrpc_call *call) } } /* end afs_rxvl_aemap() */ +#if 0 /*****************************************************************************/ /* - * probe a volume location server to see if it is still alive + * probe a volume location server to see if it is still alive -- unused */ -int afs_rxvl_probe(struct afs_server *server, int alloc_flags) +static int afs_rxvl_probe(struct afs_server *server, int alloc_flags) { struct rxrpc_connection *conn; struct rxrpc_call *call; struct kvec piov[1]; size_t sent; int ret; - u32 param[1]; + __be32 param[1]; DECLARE_WAITQUEUE(myself, current); @@ -173,6 +174,7 @@ int afs_rxvl_probe(struct afs_server *server, int alloc_flags) return ret; } /* end afs_rxvl_probe() */ +#endif /*****************************************************************************/ /* @@ -191,7 +193,7 @@ int afs_rxvl_get_entry_by_name(struct afs_server *server, unsigned tmp; size_t sent; int ret, loop; - u32 *bp, param[2], zero; + __be32 *bp, param[2], zero; _enter(",%*.*s,%u,", volnamesz, volnamesz, volname, volnamesz); @@ -326,7 +328,7 @@ int afs_rxvl_get_entry_by_id(struct afs_server *server, unsigned tmp; size_t sent; int ret, loop; - u32 *bp, param[3]; + __be32 *bp, param[3]; _enter(",%x,%d,", volid, voltype); @@ -462,7 +464,7 @@ int afs_rxvl_get_entry_by_id_async(struct afs_async_op *op, struct kvec piov[1]; size_t sent; int ret; - u32 param[3]; + __be32 param[3]; _enter(",%x,%d,", volid, voltype); @@ -545,7 +547,8 @@ int afs_rxvl_get_entry_by_id_async(struct afs_async_op *op, int afs_rxvl_get_entry_by_id_async2(struct afs_async_op *op, struct afs_cache_vlocation *entry) { - unsigned *bp, tmp; + __be32 *bp; + __u32 tmp; int loop, ret; _enter("{op=%p cst=%u}", op, op->call->app_call_state); diff --git a/fs/afs/vlocation.c b/fs/afs/vlocation.c index c7396ca08..5d650422e 100644 --- a/fs/afs/vlocation.c +++ b/fs/afs/vlocation.c @@ -29,6 +29,7 @@ static void afs_vlocation_update_timer(struct afs_timer *timer); static void afs_vlocation_update_attend(struct afs_async_op *op); static void afs_vlocation_update_discard(struct afs_async_op *op); +static void __afs_put_vlocation(struct afs_vlocation *vlocation); static void __afs_vlocation_timeout(struct afs_timer *timer) { @@ -455,7 +456,7 @@ int afs_vlocation_lookup(struct afs_cell *cell, * finish using a volume location record * - caller must have cell->vol_sem write-locked */ -void __afs_put_vlocation(struct afs_vlocation *vlocation) +static void __afs_put_vlocation(struct afs_vlocation *vlocation) { struct afs_cell *cell; diff --git a/fs/aio.c b/fs/aio.c index 2335a0756..9baeee037 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -39,6 +39,9 @@ #define dprintk(x...) do { ; } while (0) #endif +long aio_run = 0; /* for testing only */ +long aio_wakeups = 0; /* for testing only */ + /*------ sysctl variables----*/ atomic_t aio_nr = ATOMIC_INIT(0); /* current system wide number of aio requests */ unsigned aio_max_nr = 0x10000; /* system wide maximum number of aio requests */ @@ -277,6 +280,7 @@ static void aio_cancel_all(struct kioctx *ctx) struct kiocb *iocb = list_kiocb(pos); list_del_init(&iocb->ki_list); cancel = iocb->ki_cancel; + kiocbSetCancelled(iocb); if (cancel) { iocb->ki_users++; spin_unlock_irq(&ctx->ctx_lock); @@ -337,6 +341,11 @@ void fastcall exit_aio(struct mm_struct *mm) aio_cancel_all(ctx); wait_for_all_aios(ctx); + /* + * this is an overkill, but ensures we don't leave + * the ctx on the aio_wq + */ + flush_workqueue(aio_wq); if (1 != atomic_read(&ctx->users)) printk(KERN_DEBUG @@ -359,6 +368,8 @@ void fastcall __put_ioctx(struct kioctx *ctx) if (unlikely(ctx->reqs_active)) BUG(); + cancel_delayed_work(&ctx->wq); + flush_workqueue(aio_wq); aio_free_ring(ctx); mmdrop(ctx->mm); ctx->mm = NULL; @@ -398,6 +409,7 @@ static struct kiocb fastcall *__aio_get_req(struct kioctx *ctx) req->ki_obj.user = NULL; req->ki_dtor = NULL; req->private = NULL; + INIT_LIST_HEAD(&req->ki_run_list); /* Check if the completion queue has enough free space to * accept an event from this io. @@ -543,85 +555,367 @@ struct kioctx *lookup_ioctx(unsigned long ctx_id) return ioctx; } +/* + * use_mm + * Makes the calling kernel thread take on the specified + * mm context. + * Called by the retry thread execute retries within the + * iocb issuer's mm context, so that copy_from/to_user + * operations work seamlessly for aio. + * (Note: this routine is intended to be called only + * from a kernel thread context) + */ void use_mm(struct mm_struct *mm) { struct mm_struct *active_mm; + struct task_struct *tsk = current; + task_lock(tsk); + active_mm = tsk->active_mm; atomic_inc(&mm->mm_count); - task_lock(current); - active_mm = current->active_mm; - current->mm = mm; - if (mm != active_mm) { - current->active_mm = mm; - activate_mm(active_mm, mm); - } - task_unlock(current); + tsk->mm = mm; + tsk->active_mm = mm; + activate_mm(active_mm, mm); + task_unlock(tsk); + mmdrop(active_mm); } -static void unuse_mm(struct mm_struct *mm) +/* + * unuse_mm + * Reverses the effect of use_mm, i.e. releases the + * specified mm context which was earlier taken on + * by the calling kernel thread + * (Note: this routine is intended to be called only + * from a kernel thread context) + * + * Comments: Called with ctx->ctx_lock held. This nests + * task_lock instead ctx_lock. + */ +void unuse_mm(struct mm_struct *mm) { - task_lock(current); - current->mm = NULL; - task_unlock(current); + struct task_struct *tsk = current; + + task_lock(tsk); + tsk->mm = NULL; /* active_mm is still 'mm' */ - enter_lazy_tlb(mm, current); + enter_lazy_tlb(mm, tsk); + task_unlock(tsk); } -/* Run on kevent's context. FIXME: needs to be per-cpu and warn if an - * operation blocks. +/* + * Queue up a kiocb to be retried. Assumes that the kiocb + * has already been marked as kicked, and places it on + * the retry run list for the corresponding ioctx, if it + * isn't already queued. Returns 1 if it actually queued + * the kiocb (to tell the caller to activate the work + * queue to process it), or 0, if it found that it was + * already queued. + * + * Should be called with the spin lock iocb->ki_ctx->ctx_lock + * held */ -static void aio_kick_handler(void *data) +static inline int __queue_kicked_iocb(struct kiocb *iocb) { - struct kioctx *ctx = data; + struct kioctx *ctx = iocb->ki_ctx; - use_mm(ctx->mm); + if (list_empty(&iocb->ki_run_list)) { + list_add_tail(&iocb->ki_run_list, + &ctx->run_list); + iocb->ki_queued++; + return 1; + } + return 0; +} - spin_lock_irq(&ctx->ctx_lock); - while (!list_empty(&ctx->run_list)) { - struct kiocb *iocb; - long ret; +/* aio_run_iocb + * This is the core aio execution routine. It is + * invoked both for initial i/o submission and + * subsequent retries via the aio_kick_handler. + * Expects to be invoked with iocb->ki_ctx->lock + * already held. The lock is released and reaquired + * as needed during processing. + * + * Calls the iocb retry method (already setup for the + * iocb on initial submission) for operation specific + * handling, but takes care of most of common retry + * execution details for a given iocb. The retry method + * needs to be non-blocking as far as possible, to avoid + * holding up other iocbs waiting to be serviced by the + * retry kernel thread. + * + * The trickier parts in this code have to do with + * ensuring that only one retry instance is in progress + * for a given iocb at any time. Providing that guarantee + * simplifies the coding of individual aio operations as + * it avoids various potential races. + */ +static ssize_t aio_run_iocb(struct kiocb *iocb) +{ + struct kioctx *ctx = iocb->ki_ctx; + ssize_t (*retry)(struct kiocb *); + ssize_t ret; - iocb = list_entry(ctx->run_list.next, struct kiocb, - ki_run_list); - list_del(&iocb->ki_run_list); - iocb->ki_users ++; - spin_unlock_irq(&ctx->ctx_lock); + if (iocb->ki_retried++ > 1024*1024) { + printk("Maximal retry count. Bytes done %Zd\n", + iocb->ki_nbytes - iocb->ki_left); + return -EAGAIN; + } - kiocbClearKicked(iocb); - ret = iocb->ki_retry(iocb); - if (-EIOCBQUEUED != ret) { + if (!(iocb->ki_retried & 0xff)) { + pr_debug("%ld retry: %d of %d (kick %ld, Q %ld run %ld, wake %ld)\n", + iocb->ki_retried, + iocb->ki_nbytes - iocb->ki_left, iocb->ki_nbytes, + iocb->ki_kicked, iocb->ki_queued, aio_run, aio_wakeups); + } + + if (!(retry = iocb->ki_retry)) { + printk("aio_run_iocb: iocb->ki_retry = NULL\n"); + return 0; + } + + /* + * We don't want the next retry iteration for this + * operation to start until this one has returned and + * updated the iocb state. However, wait_queue functions + * can trigger a kick_iocb from interrupt context in the + * meantime, indicating that data is available for the next + * iteration. We want to remember that and enable the + * next retry iteration _after_ we are through with + * this one. + * + * So, in order to be able to register a "kick", but + * prevent it from being queued now, we clear the kick + * flag, but make the kick code *think* that the iocb is + * still on the run list until we are actually done. + * When we are done with this iteration, we check if + * the iocb was kicked in the meantime and if so, queue + * it up afresh. + */ + + kiocbClearKicked(iocb); + + /* + * This is so that aio_complete knows it doesn't need to + * pull the iocb off the run list (We can't just call + * INIT_LIST_HEAD because we don't want a kick_iocb to + * queue this on the run list yet) + */ + iocb->ki_run_list.next = iocb->ki_run_list.prev = NULL; + spin_unlock_irq(&ctx->ctx_lock); + + /* Quit retrying if the i/o has been cancelled */ + if (kiocbIsCancelled(iocb)) { + ret = -EINTR; + aio_complete(iocb, ret, 0); + /* must not access the iocb after this */ + goto out; + } + + /* + * Now we are all set to call the retry method in async + * context. By setting this thread's io_wait context + * to point to the wait queue entry inside the currently + * running iocb for the duration of the retry, we ensure + * that async notification wakeups are queued by the + * operation instead of blocking waits, and when notified, + * cause the iocb to be kicked for continuation (through + * the aio_wake_function callback). + */ + BUG_ON(current->io_wait != NULL); + current->io_wait = &iocb->ki_wait; + ret = retry(iocb); + current->io_wait = NULL; + + if (-EIOCBRETRY != ret) { + if (-EIOCBQUEUED != ret) { + BUG_ON(!list_empty(&iocb->ki_wait.task_list)); aio_complete(iocb, ret, 0); - iocb = NULL; + /* must not access the iocb after this */ } + } else { + /* + * Issue an additional retry to avoid waiting forever if + * no waits were queued (e.g. in case of a short read). + */ + if (list_empty(&iocb->ki_wait.task_list)) + kiocbSetKicked(iocb); + } +out: + spin_lock_irq(&ctx->ctx_lock); - spin_lock_irq(&ctx->ctx_lock); - if (NULL != iocb) - __aio_put_req(ctx, iocb); + if (-EIOCBRETRY == ret) { + /* + * OK, now that we are done with this iteration + * and know that there is more left to go, + * this is where we let go so that a subsequent + * "kick" can start the next iteration + */ + + /* will make __queue_kicked_iocb succeed from here on */ + INIT_LIST_HEAD(&iocb->ki_run_list); + /* we must queue the next iteration ourselves, if it + * has already been kicked */ + if (kiocbIsKicked(iocb)) { + __queue_kicked_iocb(iocb); + } } + return ret; +} + +/* + * __aio_run_iocbs: + * Process all pending retries queued on the ioctx + * run list. + * Assumes it is operating within the aio issuer's mm + * context. Expects to be called with ctx->ctx_lock held + */ +static int __aio_run_iocbs(struct kioctx *ctx) +{ + struct kiocb *iocb; + int count = 0; + LIST_HEAD(run_list); + + list_splice_init(&ctx->run_list, &run_list); + while (!list_empty(&run_list)) { + iocb = list_entry(run_list.next, struct kiocb, + ki_run_list); + list_del(&iocb->ki_run_list); + /* + * Hold an extra reference while retrying i/o. + */ + iocb->ki_users++; /* grab extra reference */ + aio_run_iocb(iocb); + if (__aio_put_req(ctx, iocb)) /* drop extra ref */ + put_ioctx(ctx); + count++; + } + aio_run++; + if (!list_empty(&ctx->run_list)) + return 1; + return 0; +} + +static void aio_queue_work(struct kioctx * ctx) +{ + unsigned long timeout; + /* + * if someone is waiting, get the work started right + * away, otherwise, use a longer delay + */ + smp_mb(); + if (waitqueue_active(&ctx->wait)) + timeout = 1; + else + timeout = HZ/10; + queue_delayed_work(aio_wq, &ctx->wq, timeout); +} + + +/* + * aio_run_iocbs: + * Process all pending retries queued on the ioctx + * run list. + * Assumes it is operating within the aio issuer's mm + * context. + */ +static inline void aio_run_iocbs(struct kioctx *ctx) +{ + int requeue; + + spin_lock_irq(&ctx->ctx_lock); + + requeue = __aio_run_iocbs(ctx); spin_unlock_irq(&ctx->ctx_lock); + if (requeue) + aio_queue_work(ctx); +} - unuse_mm(ctx->mm); +/* + * just like aio_run_iocbs, but keeps running them until + * the list stays empty + */ +static inline void aio_run_all_iocbs(struct kioctx *ctx) +{ + spin_lock_irq(&ctx->ctx_lock); + while (__aio_run_iocbs(ctx)) + ; + spin_unlock_irq(&ctx->ctx_lock); } -void fastcall kick_iocb(struct kiocb *iocb) +/* + * aio_kick_handler: + * Work queue handler triggered to process pending + * retries on an ioctx. Takes on the aio issuer's + * mm context before running the iocbs, so that + * copy_xxx_user operates on the issuer's address + * space. + * Run on aiod's context. + */ +static void aio_kick_handler(void *data) { - struct kioctx *ctx = iocb->ki_ctx; + struct kioctx *ctx = data; + mm_segment_t oldfs = get_fs(); + int requeue; + set_fs(USER_DS); + use_mm(ctx->mm); + spin_lock_irq(&ctx->ctx_lock); + requeue =__aio_run_iocbs(ctx); + unuse_mm(ctx->mm); + spin_unlock_irq(&ctx->ctx_lock); + set_fs(oldfs); + /* + * we're in a worker thread already, don't use queue_delayed_work, + */ + if (requeue) + queue_work(aio_wq, &ctx->wq); +} + + +/* + * Called by kick_iocb to queue the kiocb for retry + * and if required activate the aio work queue to process + * it + */ +void queue_kicked_iocb(struct kiocb *iocb) +{ + struct kioctx *ctx = iocb->ki_ctx; + unsigned long flags; + int run = 0; + + WARN_ON((!list_empty(&iocb->ki_wait.task_list))); + + spin_lock_irqsave(&ctx->ctx_lock, flags); + run = __queue_kicked_iocb(iocb); + spin_unlock_irqrestore(&ctx->ctx_lock, flags); + if (run) { + aio_queue_work(ctx); + aio_wakeups++; + } +} + +/* + * kick_iocb: + * Called typically from a wait queue callback context + * (aio_wake_function) to trigger a retry of the iocb. + * The retry is usually executed by aio workqueue + * threads (See aio_kick_handler). + */ +void fastcall kick_iocb(struct kiocb *iocb) +{ /* sync iocbs are easy: they can only ever be executing from a * single context. */ if (is_sync_kiocb(iocb)) { kiocbSetKicked(iocb); - wake_up_process(iocb->ki_obj.tsk); + wake_up_process(iocb->ki_obj.tsk); return; } + iocb->ki_kicked++; + /* If its already kicked we shouldn't queue it again */ if (!kiocbTryKick(iocb)) { - unsigned long flags; - spin_lock_irqsave(&ctx->ctx_lock, flags); - list_add_tail(&iocb->ki_run_list, &ctx->run_list); - spin_unlock_irqrestore(&ctx->ctx_lock, flags); - queue_work(aio_wq, &ctx->wq); + queue_kicked_iocb(iocb); } } EXPORT_SYMBOL(kick_iocb); @@ -675,6 +969,16 @@ int fastcall aio_complete(struct kiocb *iocb, long res, long res2) */ spin_lock_irqsave(&ctx->ctx_lock, flags); + if (iocb->ki_run_list.prev && !list_empty(&iocb->ki_run_list)) + list_del_init(&iocb->ki_run_list); + + /* + * cancelled requests don't get events, userland was given one + * when the event got cancelled. + */ + if (kiocbIsCancelled(iocb)) + goto put_rq; + ring = kmap_atomic(info->ring_pages[0], KM_IRQ1); tail = info->tail; @@ -703,6 +1007,11 @@ int fastcall aio_complete(struct kiocb *iocb, long res, long res2) pr_debug("added to ring %p at [%lu]\n", iocb, tail); + pr_debug("%ld retries: %d of %d (kicked %ld, Q %ld run %ld wake %ld)\n", + iocb->ki_retried, + iocb->ki_nbytes - iocb->ki_left, iocb->ki_nbytes, + iocb->ki_kicked, iocb->ki_queued, aio_run, aio_wakeups); +put_rq: /* everything turned out well, dispose of the aiocb. */ ret = __aio_put_req(ctx, iocb); @@ -759,7 +1068,7 @@ out: return ret; } -struct timeout { +struct aio_timeout { struct timer_list timer; int timed_out; struct task_struct *p; @@ -767,13 +1076,13 @@ struct timeout { static void timeout_func(unsigned long data) { - struct timeout *to = (struct timeout *)data; + struct aio_timeout *to = (struct aio_timeout *)data; to->timed_out = 1; wake_up_process(to->p); } -static inline void init_timeout(struct timeout *to) +static inline void init_timeout(struct aio_timeout *to) { init_timer(&to->timer); to->timer.data = (unsigned long)to; @@ -782,7 +1091,7 @@ static inline void init_timeout(struct timeout *to) to->p = current; } -static inline void set_timeout(long start_jiffies, struct timeout *to, +static inline void set_timeout(long start_jiffies, struct aio_timeout *to, const struct timespec *ts) { to->timer.expires = start_jiffies + timespec_to_jiffies(ts); @@ -792,7 +1101,7 @@ static inline void set_timeout(long start_jiffies, struct timeout *to, to->timed_out = 1; } -static inline void clear_timeout(struct timeout *to) +static inline void clear_timeout(struct aio_timeout *to) { del_singleshot_timer_sync(&to->timer); } @@ -808,14 +1117,16 @@ static int read_events(struct kioctx *ctx, int ret; int i = 0; struct io_event ent; - struct timeout to; + struct aio_timeout to; + int event_loop = 0; /* testing only */ + int retry = 0; /* needed to zero any padding within an entry (there shouldn't be * any, but C is fun! */ memset(&ent, 0, sizeof(ent)); +retry: ret = 0; - while (likely(i < nr)) { ret = aio_read_evt(ctx, &ent); if (unlikely(ret <= 0)) @@ -844,6 +1155,13 @@ static int read_events(struct kioctx *ctx, /* End fast path */ + /* racey check, but it gets redone */ + if (!retry && unlikely(!list_empty(&ctx->run_list))) { + retry = 1; + aio_run_all_iocbs(ctx); + goto retry; + } + init_timeout(&to); if (timeout) { struct timespec ts; @@ -858,7 +1176,6 @@ static int read_events(struct kioctx *ctx, add_wait_queue_exclusive(&ctx->wait, &wait); do { set_task_state(tsk, TASK_INTERRUPTIBLE); - ret = aio_read_evt(ctx, &ent); if (ret) break; @@ -868,6 +1185,7 @@ static int read_events(struct kioctx *ctx, if (to.timed_out) /* Only check after read evt */ break; schedule(); + event_loop++; if (signal_pending(tsk)) { ret = -EINTR; break; @@ -895,6 +1213,9 @@ static int read_events(struct kioctx *ctx, if (timeout) clear_timeout(&to); out: + pr_debug("event loop executed %d times\n", event_loop); + pr_debug("aio_run %ld\n", aio_run); + pr_debug("aio_wakeups %ld\n", aio_wakeups); return i ? i : ret; } @@ -962,7 +1283,7 @@ asmlinkage long sys_io_setup(unsigned nr_events, aio_context_t __user *ctxp) ret = put_user(ioctx->user_id, ctxp); if (!ret) return 0; - get_ioctx(ioctx); + io_destroy(ioctx); } @@ -987,13 +1308,181 @@ asmlinkage long sys_io_destroy(aio_context_t ctx) return -EINVAL; } +/* + * Default retry method for aio_read (also used for first time submit) + * Responsible for updating iocb state as retries progress + */ +static ssize_t aio_pread(struct kiocb *iocb) +{ + struct file *file = iocb->ki_filp; + struct address_space *mapping = file->f_mapping; + struct inode *inode = mapping->host; + ssize_t ret = 0; + + ret = file->f_op->aio_read(iocb, iocb->ki_buf, + iocb->ki_left, iocb->ki_pos); + + /* + * Can't just depend on iocb->ki_left to determine + * whether we are done. This may have been a short read. + */ + if (ret > 0) { + iocb->ki_buf += ret; + iocb->ki_left -= ret; + /* + * For pipes and sockets we return once we have + * some data; for regular files we retry till we + * complete the entire read or find that we can't + * read any more data (e.g short reads). + */ + if (!S_ISFIFO(inode->i_mode) && !S_ISSOCK(inode->i_mode)) + ret = -EIOCBRETRY; + } + + /* This means we must have transferred all that we could */ + /* No need to retry anymore */ + if ((ret == 0) || (iocb->ki_left == 0)) + ret = iocb->ki_nbytes - iocb->ki_left; + + return ret; +} + +/* + * Default retry method for aio_write (also used for first time submit) + * Responsible for updating iocb state as retries progress + */ +static ssize_t aio_pwrite(struct kiocb *iocb) +{ + struct file *file = iocb->ki_filp; + ssize_t ret = 0; + + ret = file->f_op->aio_write(iocb, iocb->ki_buf, + iocb->ki_left, iocb->ki_pos); + + if (ret > 0) { + iocb->ki_buf += ret; + iocb->ki_left -= ret; + + ret = -EIOCBRETRY; + } + + /* This means we must have transferred all that we could */ + /* No need to retry anymore */ + if ((ret == 0) || (iocb->ki_left == 0)) + ret = iocb->ki_nbytes - iocb->ki_left; + + return ret; +} + +static ssize_t aio_fdsync(struct kiocb *iocb) +{ + struct file *file = iocb->ki_filp; + ssize_t ret = -EINVAL; + + if (file->f_op->aio_fsync) + ret = file->f_op->aio_fsync(iocb, 1); + return ret; +} + +static ssize_t aio_fsync(struct kiocb *iocb) +{ + struct file *file = iocb->ki_filp; + ssize_t ret = -EINVAL; + + if (file->f_op->aio_fsync) + ret = file->f_op->aio_fsync(iocb, 0); + return ret; +} + +/* + * aio_setup_iocb: + * Performs the initial checks and aio retry method + * setup for the kiocb at the time of io submission. + */ +ssize_t aio_setup_iocb(struct kiocb *kiocb) +{ + struct file *file = kiocb->ki_filp; + ssize_t ret = 0; + + switch (kiocb->ki_opcode) { + case IOCB_CMD_PREAD: + ret = -EBADF; + if (unlikely(!(file->f_mode & FMODE_READ))) + break; + ret = -EFAULT; + if (unlikely(!access_ok(VERIFY_WRITE, kiocb->ki_buf, + kiocb->ki_left))) + break; + ret = -EINVAL; + if (file->f_op->aio_read) + kiocb->ki_retry = aio_pread; + break; + case IOCB_CMD_PWRITE: + ret = -EBADF; + if (unlikely(!(file->f_mode & FMODE_WRITE))) + break; + ret = -EFAULT; + if (unlikely(!access_ok(VERIFY_READ, kiocb->ki_buf, + kiocb->ki_left))) + break; + ret = -EINVAL; + if (file->f_op->aio_write) + kiocb->ki_retry = aio_pwrite; + break; + case IOCB_CMD_FDSYNC: + ret = -EINVAL; + if (file->f_op->aio_fsync) + kiocb->ki_retry = aio_fdsync; + break; + case IOCB_CMD_FSYNC: + ret = -EINVAL; + if (file->f_op->aio_fsync) + kiocb->ki_retry = aio_fsync; + break; + default: + dprintk("EINVAL: io_submit: no operation provided\n"); + ret = -EINVAL; + } + + if (!kiocb->ki_retry) + return ret; + + return 0; +} + +/* + * aio_wake_function: + * wait queue callback function for aio notification, + * Simply triggers a retry of the operation via kick_iocb. + * + * This callback is specified in the wait queue entry in + * a kiocb (current->io_wait points to this wait queue + * entry when an aio operation executes; it is used + * instead of a synchronous wait when an i/o blocking + * condition is encountered during aio). + * + * Note: + * This routine is executed with the wait queue lock held. + * Since kick_iocb acquires iocb->ctx->ctx_lock, it nests + * the ioctx lock inside the wait queue lock. This is safe + * because this callback isn't used for wait queues which + * are nested inside ioctx lock (i.e. ctx->wait) + */ +int aio_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key) +{ + struct kiocb *iocb = container_of(wait, struct kiocb, ki_wait); + + list_del_init(&wait->task_list); + kick_iocb(iocb); + return 1; +} + int fastcall io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, struct iocb *iocb) { struct kiocb *req; struct file *file; ssize_t ret; - char __user *buf; /* enforce forwards compatibility on users */ if (unlikely(iocb->aio_reserved1 || iocb->aio_reserved2 || @@ -1034,58 +1523,31 @@ int fastcall io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, req->ki_user_data = iocb->aio_data; req->ki_pos = iocb->aio_offset; - buf = (char __user *)(unsigned long)iocb->aio_buf; + req->ki_buf = (char __user *)(unsigned long)iocb->aio_buf; + req->ki_left = req->ki_nbytes = iocb->aio_nbytes; + req->ki_opcode = iocb->aio_lio_opcode; + init_waitqueue_func_entry(&req->ki_wait, aio_wake_function); + INIT_LIST_HEAD(&req->ki_wait.task_list); + req->ki_run_list.next = req->ki_run_list.prev = NULL; + req->ki_retry = NULL; + req->ki_retried = 0; + req->ki_kicked = 0; + req->ki_queued = 0; + aio_run = 0; + aio_wakeups = 0; - switch (iocb->aio_lio_opcode) { - case IOCB_CMD_PREAD: - ret = -EBADF; - if (unlikely(!(file->f_mode & FMODE_READ))) - goto out_put_req; - ret = -EFAULT; - if (unlikely(!access_ok(VERIFY_WRITE, buf, iocb->aio_nbytes))) - goto out_put_req; - ret = security_file_permission (file, MAY_READ); - if (ret) - goto out_put_req; - ret = -EINVAL; - if (file->f_op->aio_read) - ret = file->f_op->aio_read(req, buf, - iocb->aio_nbytes, req->ki_pos); - break; - case IOCB_CMD_PWRITE: - ret = -EBADF; - if (unlikely(!(file->f_mode & FMODE_WRITE))) - goto out_put_req; - ret = -EFAULT; - if (unlikely(!access_ok(VERIFY_READ, buf, iocb->aio_nbytes))) - goto out_put_req; - ret = security_file_permission (file, MAY_WRITE); - if (ret) - goto out_put_req; - ret = -EINVAL; - if (file->f_op->aio_write) - ret = file->f_op->aio_write(req, buf, - iocb->aio_nbytes, req->ki_pos); - break; - case IOCB_CMD_FDSYNC: - ret = -EINVAL; - if (file->f_op->aio_fsync) - ret = file->f_op->aio_fsync(req, 1); - break; - case IOCB_CMD_FSYNC: - ret = -EINVAL; - if (file->f_op->aio_fsync) - ret = file->f_op->aio_fsync(req, 0); - break; - default: - dprintk("EINVAL: io_submit: no operation provided\n"); - ret = -EINVAL; - } + ret = aio_setup_iocb(req); + if (ret) + goto out_put_req; + + spin_lock_irq(&ctx->ctx_lock); + list_add_tail(&req->ki_run_list, &ctx->run_list); + /* drain the run list */ + while (__aio_run_iocbs(ctx)) + ; + spin_unlock_irq(&ctx->ctx_lock); aio_put_req(req); /* drop extra ref to req */ - if (likely(-EIOCBQUEUED == ret)) - return 0; - aio_complete(req, ret, 0); /* will drop i/o ref to req */ return 0; out_put_req: @@ -1201,6 +1663,7 @@ asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb, if (kiocb && kiocb->ki_cancel) { cancel = kiocb->ki_cancel; kiocb->ki_users ++; + kiocbSetCancelled(kiocb); } else cancel = NULL; spin_unlock_irq(&ctx->ctx_lock); diff --git a/fs/attr.c b/fs/attr.c index 89e03f7bb..5f78d75a8 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -81,7 +81,7 @@ int inode_change_ok(struct inode *inode, struct iattr *attr) printk(KERN_WARNING "VSW: xid=%d messing with the devpts.\n", vx_current_xid()); - goto error; + goto error; } fine: retval = 0; diff --git a/fs/autofs/root.c b/fs/autofs/root.c index 563706176..a1ab1c0ed 100644 --- a/fs/autofs/root.c +++ b/fs/autofs/root.c @@ -238,9 +238,15 @@ static struct dentry *autofs_root_lookup(struct inode *dir, struct dentry *dentr * a signal. If so we can force a restart.. */ if (dentry->d_flags & DCACHE_AUTOFS_PENDING) { + /* See if we were interrupted */ if (signal_pending(current)) { - unlock_kernel(); - return ERR_PTR(-ERESTARTNOINTR); + sigset_t *sigset = ¤t->pending.signal; + if (sigismember (sigset, SIGKILL) || + sigismember (sigset, SIGQUIT) || + sigismember (sigset, SIGINT)) { + unlock_kernel(); + return ERR_PTR(-ERESTARTNOINTR); + } } } unlock_kernel(); diff --git a/fs/autofs4/autofs_i.h b/fs/autofs4/autofs_i.h index 94a12aee2..f5a52c871 100644 --- a/fs/autofs4/autofs_i.h +++ b/fs/autofs4/autofs_i.h @@ -138,7 +138,6 @@ static inline void autofs4_copy_atime(struct file *src, struct file *dst) } struct inode *autofs4_get_inode(struct super_block *, struct autofs_info *); -struct autofs_info *autofs4_init_inf(struct autofs_sb_info *, mode_t mode); void autofs4_free_ino(struct autofs_info *); /* Expiration */ diff --git a/fs/autofs4/expire.c b/fs/autofs4/expire.c index 5ebffa647..31540a640 100644 --- a/fs/autofs4/expire.c +++ b/fs/autofs4/expire.c @@ -146,10 +146,10 @@ resume: return 1; } -struct dentry *autofs4_check_leaves(struct vfsmount *mnt, - struct dentry *parent, - unsigned long timeout, - int do_now) +static struct dentry *autofs4_check_leaves(struct vfsmount *mnt, + struct dentry *parent, + unsigned long timeout, + int do_now) { struct dentry *this_parent = parent; struct list_head *next; diff --git a/fs/autofs4/root.c b/fs/autofs4/root.c index 1ff9adb6a..82ef8ed2f 100644 --- a/fs/autofs4/root.c +++ b/fs/autofs4/root.c @@ -19,7 +19,6 @@ #include #include "autofs_i.h" -static struct dentry *autofs4_dir_lookup(struct inode *,struct dentry *, struct nameidata *); static int autofs4_dir_symlink(struct inode *,struct dentry *,const char *); static int autofs4_dir_unlink(struct inode *,struct dentry *); static int autofs4_dir_rmdir(struct inode *,struct dentry *); @@ -29,7 +28,7 @@ static int autofs4_dir_open(struct inode *inode, struct file *file); static int autofs4_dir_close(struct inode *inode, struct file *file); static int autofs4_dir_readdir(struct file * filp, void * dirent, filldir_t filldir); static int autofs4_root_readdir(struct file * filp, void * dirent, filldir_t filldir); -static struct dentry *autofs4_root_lookup(struct inode *,struct dentry *, struct nameidata *); +static struct dentry *autofs4_lookup(struct inode *,struct dentry *, struct nameidata *); static int autofs4_dcache_readdir(struct file *, void *, filldir_t); struct file_operations autofs4_root_operations = { @@ -48,7 +47,7 @@ struct file_operations autofs4_dir_operations = { }; struct inode_operations autofs4_root_inode_operations = { - .lookup = autofs4_root_lookup, + .lookup = autofs4_lookup, .unlink = autofs4_dir_unlink, .symlink = autofs4_dir_symlink, .mkdir = autofs4_dir_mkdir, @@ -56,7 +55,7 @@ struct inode_operations autofs4_root_inode_operations = { }; struct inode_operations autofs4_dir_inode_operations = { - .lookup = autofs4_dir_lookup, + .lookup = autofs4_lookup, .unlink = autofs4_dir_unlink, .symlink = autofs4_dir_symlink, .mkdir = autofs4_dir_mkdir, @@ -439,23 +438,8 @@ static struct dentry_operations autofs4_dentry_operations = { .d_release = autofs4_dentry_release, }; -/* Lookups in non-root dirs never find anything - if it's there, it's - already in the dcache */ -static struct dentry *autofs4_dir_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) -{ -#if 0 - DPRINTK("ignoring lookup of %.*s/%.*s", - dentry->d_parent->d_name.len, dentry->d_parent->d_name.name, - dentry->d_name.len, dentry->d_name.name); -#endif - - dentry->d_fsdata = NULL; - d_add(dentry, NULL); - return NULL; -} - /* Lookups in the root directory */ -static struct dentry *autofs4_root_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) +static struct dentry *autofs4_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) { struct autofs_sb_info *sbi; int oz_mode; diff --git a/fs/befs/befs.h b/fs/befs/befs.h index fcb7f47b0..057a2c3d7 100644 --- a/fs/befs/befs.h +++ b/fs/befs/befs.h @@ -96,7 +96,6 @@ void befs_dump_super_block(const struct super_block *sb, befs_super_block *); void befs_dump_inode(const struct super_block *sb, befs_inode *); void befs_dump_index_entry(const struct super_block *sb, befs_btree_super *); void befs_dump_index_node(const struct super_block *sb, befs_btree_nodehead *); -void befs_dump_inode_addr(const struct super_block *sb, befs_inode_addr); /****************************/ diff --git a/fs/befs/debug.c b/fs/befs/debug.c index 651c39634..80acc157c 100644 --- a/fs/befs/debug.c +++ b/fs/befs/debug.c @@ -222,11 +222,13 @@ befs_dump_super_block(const struct super_block *sb, befs_super_block * sup) #endif //CONFIG_BEFS_DEBUG } +/* unused */ void befs_dump_small_data(const struct super_block *sb, befs_small_data * sd) { } +/* unused */ void befs_dump_run(const struct super_block *sb, befs_block_run run) { diff --git a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c index 49cf3428d..de5bb280a 100644 --- a/fs/befs/linuxvfs.c +++ b/fs/befs/linuxvfs.c @@ -64,22 +64,22 @@ static const struct super_operations befs_sops = { /* slab cache for befs_inode_info objects */ static kmem_cache_t *befs_inode_cachep; -struct file_operations befs_dir_operations = { +static struct file_operations befs_dir_operations = { .read = generic_read_dir, .readdir = befs_readdir, }; -struct inode_operations befs_dir_inode_operations = { +static struct inode_operations befs_dir_inode_operations = { .lookup = befs_lookup, }; -struct file_operations befs_file_operations = { +static struct file_operations befs_file_operations = { .llseek = default_llseek, .read = generic_file_read, .mmap = generic_file_readonly_mmap, }; -struct address_space_operations befs_aops = { +static struct address_space_operations befs_aops = { .readpage = befs_readpage, .sync_page = block_sync_page, .bmap = befs_bmap, @@ -433,7 +433,7 @@ befs_init_inodecache(void) { befs_inode_cachep = kmem_cache_create("befs_inode_cache", sizeof (struct befs_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (befs_inode_cachep == NULL) { printk(KERN_ERR "befs_init_inodecache: " @@ -857,10 +857,14 @@ befs_fill_super(struct super_block *sb, void *data, int silent) befs_sb->nls = load_nls(befs_sb->mount_opts.iocharset); if (!befs_sb->nls) { befs_warning(sb, "Cannot load nls %s" - "loding default nls", - befs_sb->mount_opts.iocharset); + " loading default nls", + befs_sb->mount_opts.iocharset); befs_sb->nls = load_nls_default(); } + /* load default nls if none is specified in mount options */ + } else { + befs_debug(sb, "Loading default nls"); + befs_sb->nls = load_nls_default(); } return 0; diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c index 59d1feb40..26c4eec27 100644 --- a/fs/binfmt_aout.c +++ b/fs/binfmt_aout.c @@ -44,13 +44,18 @@ static struct linux_binfmt aout_format = { .min_coredump = PAGE_SIZE }; -static void set_brk(unsigned long start, unsigned long end) +#define BAD_ADDR(x) ((unsigned long)(x) >= TASK_SIZE) + +static int set_brk(unsigned long start, unsigned long end) { start = PAGE_ALIGN(start); end = PAGE_ALIGN(end); - if (end <= start) - return; - do_brk(start, end - start); + if (end > start) { + unsigned long addr = do_brk(start, end - start); + if (BAD_ADDR(addr)) + return addr; + } + return 0; } /* @@ -415,7 +420,11 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs) beyond_if: set_binfmt(&aout_format); - set_brk(current->mm->start_brk, current->mm->brk); + retval = set_brk(current->mm->start_brk, current->mm->brk); + if (retval < 0) { + send_sig(SIGKILL, current, 0); + return retval; + } retval = setup_arg_pages(bprm, EXSTACK_DEFAULT); if (retval < 0) { diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index fb98fceb5..c356b1a37 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -41,6 +41,7 @@ #include #include +#include #include @@ -364,9 +365,12 @@ static unsigned long load_elf_interp(struct elfhdr * interp_elf_ex, goto out; retval = kernel_read(interpreter,interp_elf_ex->e_phoff,(char *)elf_phdata,size); - error = retval; - if (retval < 0) + error = -EIO; + if (retval != size) { + if (retval < 0) + error = retval; goto out_close; + } total_size = total_mapping_size(elf_phdata, interp_elf_ex->e_phnum); if (!total_size) @@ -524,25 +528,33 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) unsigned long elf_entry, interp_load_addr = 0; unsigned long start_code, end_code, start_data, end_data; unsigned long reloc_func_desc = 0; - struct elfhdr elf_ex; - struct elfhdr interp_elf_ex; - struct exec interp_ex; char passed_fileno[6]; struct files_struct *files; int have_pt_gnu_stack, executable_stack, relocexec, old_relocexec = current->flags & PF_RELOCEXEC; unsigned long def_flags = 0; + struct { + struct elfhdr elf_ex; + struct elfhdr interp_elf_ex; + struct exec interp_ex; + } *loc; + + loc = kmalloc(sizeof(*loc), GFP_KERNEL); + if (!loc) { + retval = -ENOMEM; + goto out_ret; + } /* Get the exec-header */ - elf_ex = *((struct elfhdr *) bprm->buf); + loc->elf_ex = *((struct elfhdr *) bprm->buf); retval = -ENOEXEC; /* First of all, some simple consistency checks */ - if (memcmp(elf_ex.e_ident, ELFMAG, SELFMAG) != 0) + if (memcmp(loc->elf_ex.e_ident, ELFMAG, SELFMAG) != 0) goto out; - if (elf_ex.e_type != ET_EXEC && elf_ex.e_type != ET_DYN) + if (loc->elf_ex.e_type != ET_EXEC && loc->elf_ex.e_type != ET_DYN) goto out; - if (!elf_check_arch(&elf_ex)) + if (!elf_check_arch(&loc->elf_ex)) goto out; if (!bprm->file->f_op||!bprm->file->f_op->mmap) goto out; @@ -550,18 +562,21 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) /* Now read in all of the header information */ retval = -ENOMEM; - if (elf_ex.e_phentsize != sizeof(struct elf_phdr)) + if (loc->elf_ex.e_phentsize != sizeof(struct elf_phdr)) goto out; - if (elf_ex.e_phnum > 65536U / sizeof(struct elf_phdr)) + if (loc->elf_ex.e_phnum > 65536U / sizeof(struct elf_phdr)) goto out; - size = elf_ex.e_phnum * sizeof(struct elf_phdr); + size = loc->elf_ex.e_phnum * sizeof(struct elf_phdr); elf_phdata = (struct elf_phdr *) kmalloc(size, GFP_KERNEL); if (!elf_phdata) goto out; - retval = kernel_read(bprm->file, elf_ex.e_phoff, (char *) elf_phdata, size); - if (retval < 0) + retval = kernel_read(bprm->file, loc->elf_ex.e_phoff, (char *) elf_phdata, size); + if (retval != size) { + if (retval >= 0) + retval = -EIO; goto out_free_ph; + } files = current->files; /* Refcounted so ok */ retval = unshare_files(); @@ -590,7 +605,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) start_data = 0; end_data = 0; - for (i = 0; i < elf_ex.e_phnum; i++) { + for (i = 0; i < loc->elf_ex.e_phnum; i++) { if (elf_ppnt->p_type == PT_INTERP) { /* This is the program interpreter used for * shared libraries - for now assume that this @@ -598,7 +613,8 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) */ retval = -ENOMEM; - if (elf_ppnt->p_filesz > PATH_MAX) + if (elf_ppnt->p_filesz > PATH_MAX || + elf_ppnt->p_filesz == 0) goto out_free_file; elf_interpreter = (char *) kmalloc(elf_ppnt->p_filesz, GFP_KERNEL); @@ -608,8 +624,16 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) retval = kernel_read(bprm->file, elf_ppnt->p_offset, elf_interpreter, elf_ppnt->p_filesz); - if (retval < 0) + if (retval != elf_ppnt->p_filesz) { + if (retval >= 0) + retval = -EIO; goto out_free_interp; + } + /* make sure path is NULL terminated */ + retval = -EINVAL; + if (elf_interpreter[elf_ppnt->p_filesz - 1] != '\0') + goto out_free_interp; + /* If the program interpreter is one of these two, * then assume an iBCS2 image. Otherwise assume * a native linux image. @@ -637,19 +661,22 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) * switch really is going to happen - do this in * flush_thread(). - akpm */ - SET_PERSONALITY(elf_ex, ibcs2_interpreter); + SET_PERSONALITY(loc->elf_ex, ibcs2_interpreter); interpreter = open_exec(elf_interpreter); retval = PTR_ERR(interpreter); if (IS_ERR(interpreter)) goto out_free_interp; retval = kernel_read(interpreter, 0, bprm->buf, BINPRM_BUF_SIZE); - if (retval < 0) + if (retval != BINPRM_BUF_SIZE) { + if (retval >= 0) + retval = -EIO; goto out_free_dentry; + } /* Get the exec headers */ - interp_ex = *((struct exec *) bprm->buf); - interp_elf_ex = *((struct elfhdr *) bprm->buf); + loc->interp_ex = *((struct exec *) bprm->buf); + loc->interp_elf_ex = *((struct elfhdr *) bprm->buf); break; } elf_ppnt++; @@ -658,7 +685,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) elf_ppnt = elf_phdata; executable_stack = EXSTACK_DEFAULT; - for (i = 0; i < elf_ex.e_phnum; i++, elf_ppnt++) + for (i = 0; i < loc->elf_ex.e_phnum; i++, elf_ppnt++) if (elf_ppnt->p_type == PT_GNU_STACK) { if (elf_ppnt->p_flags & PF_X) executable_stack = EXSTACK_ENABLE_X; @@ -666,14 +693,14 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) executable_stack = EXSTACK_DISABLE_X; break; } - have_pt_gnu_stack = (i < elf_ex.e_phnum); + have_pt_gnu_stack = (i < loc->elf_ex.e_phnum); relocexec = 0; if (current->personality == PER_LINUX) switch (exec_shield) { case 1: - if (executable_stack != EXSTACK_DEFAULT) { + if (executable_stack == EXSTACK_DISABLE_X) { current->flags |= PF_RELOCEXEC; relocexec = PF_RELOCEXEC; } @@ -691,12 +718,12 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT; /* Now figure out which format our binary is */ - if ((N_MAGIC(interp_ex) != OMAGIC) && - (N_MAGIC(interp_ex) != ZMAGIC) && - (N_MAGIC(interp_ex) != QMAGIC)) + if ((N_MAGIC(loc->interp_ex) != OMAGIC) && + (N_MAGIC(loc->interp_ex) != ZMAGIC) && + (N_MAGIC(loc->interp_ex) != QMAGIC)) interpreter_type = INTERPRETER_ELF; - if (memcmp(interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0) + if (memcmp(loc->interp_elf_ex.e_ident, ELFMAG, SELFMAG) != 0) interpreter_type &= ~INTERPRETER_ELF; retval = -ELIBBAD; @@ -712,11 +739,11 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) } /* Verify the interpreter has a valid arch */ if ((interpreter_type == INTERPRETER_ELF) && - !elf_check_arch(&interp_elf_ex)) + !elf_check_arch(&loc->interp_elf_ex)) goto out_free_dentry; } else { /* Executables without an interpreter also need a personality */ - SET_PERSONALITY(elf_ex, ibcs2_interpreter); + SET_PERSONALITY(loc->elf_ex, ibcs2_interpreter); } /* OK, we are done with that, now set up the arg stuff, @@ -745,7 +772,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) * Turn off the CS limit completely if exec-shield disabled or * NX active: */ - if (!exec_shield) + if (!exec_shield || executable_stack != EXSTACK_DISABLE_X) arch_add_exec_range(current->mm, -1); #endif @@ -766,10 +793,12 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) /* Do this immediately, since STACK_TOP as used in setup_arg_pages may depend on the personality. */ - SET_PERSONALITY(elf_ex, ibcs2_interpreter); - if (elf_read_implies_exec(elf_ex, have_pt_gnu_stack)) + SET_PERSONALITY(loc->elf_ex, ibcs2_interpreter); + if (elf_read_implies_exec(loc->elf_ex, have_pt_gnu_stack)) current->personality |= READ_IMPLIES_EXEC; + arch_pick_mmap_layout(current->mm); + /* Do this so that we can load the interpreter, if need be. We will change some of these later */ // current->mm->rss = 0; @@ -788,7 +817,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) the correct location in memory. */ - for(i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum; i++, elf_ppnt++) { + for(i = 0, elf_ppnt = elf_phdata; i < loc->elf_ex.e_phnum; i++, elf_ppnt++) { int elf_prot = 0, elf_flags; unsigned long k, vaddr; @@ -823,9 +852,9 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) elf_flags = MAP_PRIVATE|MAP_DENYWRITE|MAP_EXECUTABLE; vaddr = elf_ppnt->p_vaddr; - if (elf_ex.e_type == ET_EXEC || load_addr_set) + if (loc->elf_ex.e_type == ET_EXEC || load_addr_set) elf_flags |= MAP_FIXED; - else if (elf_ex.e_type == ET_DYN) + else if (loc->elf_ex.e_type == ET_DYN) #ifdef __i386__ load_bias = 0; #else @@ -833,13 +862,15 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) #endif error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, elf_prot, elf_flags, 0); - if (BAD_ADDR(error)) - continue; + if (BAD_ADDR(error)) { + send_sig(SIGKILL, current, 0); + goto out_free_dentry; + } if (!load_addr_set) { load_addr_set = 1; load_addr = (elf_ppnt->p_vaddr - elf_ppnt->p_offset); - if (elf_ex.e_type == ET_DYN) { + if (loc->elf_ex.e_type == ET_DYN) { load_bias += error - ELF_PAGESTART(load_bias + vaddr); load_addr += load_bias; @@ -876,7 +907,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) elf_brk = k; } - elf_ex.e_entry += load_bias; + loc->elf_ex.e_entry += load_bias; elf_bss += load_bias; elf_brk += load_bias; start_code += load_bias; @@ -898,10 +929,10 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) if (elf_interpreter) { if (interpreter_type == INTERPRETER_AOUT) - elf_entry = load_aout_interp(&interp_ex, + elf_entry = load_aout_interp(&loc->interp_ex, interpreter); else - elf_entry = load_elf_interp(&interp_elf_ex, + elf_entry = load_elf_interp(&loc->interp_elf_ex, interpreter, &interp_load_addr, load_bias); @@ -917,7 +948,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) fput(interpreter); kfree(elf_interpreter); } else { - elf_entry = elf_ex.e_entry; + elf_entry = loc->elf_ex.e_entry; } kfree(elf_phdata); @@ -937,7 +968,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) compute_creds(bprm); current->flags &= ~PF_FORKNOEXEC; - create_elf_tables(bprm, &elf_ex, (interpreter_type == INTERPRETER_AOUT), + create_elf_tables(bprm, &loc->elf_ex, (interpreter_type == INTERPRETER_AOUT), load_addr, interp_load_addr); /* N.B. passed_fileno might not be initialized? */ if (interpreter_type == INTERPRETER_AOUT) @@ -986,6 +1017,8 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) } retval = 0; out: + kfree(loc); +out_ret: return retval; /* error cleanup */ @@ -1259,10 +1292,27 @@ static void fill_prstatus(struct elf_prstatus *prstatus, prstatus->pr_ppid = p->parent->pid; prstatus->pr_pgrp = process_group(p); prstatus->pr_sid = p->signal->session; - jiffies_to_timeval(p->utime, &prstatus->pr_utime); - jiffies_to_timeval(p->stime, &prstatus->pr_stime); - jiffies_to_timeval(p->cutime, &prstatus->pr_cutime); - jiffies_to_timeval(p->cstime, &prstatus->pr_cstime); + if (p->pid == p->tgid) { + /* + * This is the record for the group leader. Add in the + * cumulative times of previous dead threads. This total + * won't include the time of each live thread whose state + * is included in the core dump. The final total reported + * to our parent process when it calls wait4 will include + * those sums as well as the little bit more time it takes + * this and each other thread to finish dying after the + * core dump synchronization phase. + */ + jiffies_to_timeval(p->utime + p->signal->utime, + &prstatus->pr_utime); + jiffies_to_timeval(p->stime + p->signal->stime, + &prstatus->pr_stime); + } else { + jiffies_to_timeval(p->utime, &prstatus->pr_utime); + jiffies_to_timeval(p->stime, &prstatus->pr_stime); + } + jiffies_to_timeval(p->signal->cutime, &prstatus->pr_cutime); + jiffies_to_timeval(p->signal->cstime, &prstatus->pr_cstime); } static void fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p, @@ -1307,6 +1357,7 @@ struct elf_thread_status struct list_head list; struct elf_prstatus prstatus; /* NT_PRSTATUS */ elf_fpregset_t fpu; /* NT_PRFPREG */ + struct task_struct *thread; #ifdef ELF_CORE_COPY_XFPREGS elf_fpxregset_t xfpu; /* NT_PRXFPREG */ #endif @@ -1319,18 +1370,10 @@ struct elf_thread_status * we need to keep a linked list of every threads pr_status and then * create a single section for them in the final core file. */ -static int elf_dump_thread_status(long signr, struct task_struct * p, struct list_head * thread_list) +static int elf_dump_thread_status(long signr, struct elf_thread_status *t) { - - struct elf_thread_status *t; int sz = 0; - - t = kmalloc(sizeof(*t), GFP_ATOMIC); - if (!t) - return 0; - memset(t, 0, sizeof(*t)); - - INIT_LIST_HEAD(&t->list); + struct task_struct *p = t->thread; t->num_notes = 0; fill_prstatus(&t->prstatus, p, signr); @@ -1353,7 +1396,6 @@ static int elf_dump_thread_status(long signr, struct task_struct * p, struct lis sz += notesize(&t->notes[2]); } #endif - list_add(&t->list, thread_list); return sz; } @@ -1424,22 +1466,32 @@ static int elf_core_dump(long signr, struct pt_regs * regs, struct file * file) goto cleanup; #endif - /* capture the status of all other threads */ if (signr) { + struct elf_thread_status *tmp; read_lock(&tasklist_lock); do_each_thread(g,p) if (current->mm == p->mm && current != p) { - int sz = elf_dump_thread_status(signr, p, &thread_list); - if (!sz) { + tmp = kmalloc(sizeof(*tmp), GFP_ATOMIC); + if (!tmp) { read_unlock(&tasklist_lock); goto cleanup; - } else - thread_status_size += sz; + } + memset(tmp, 0, sizeof(*tmp)); + INIT_LIST_HEAD(&tmp->list); + tmp->thread = p; + list_add(&tmp->list, &thread_list); } while_each_thread(g,p); read_unlock(&tasklist_lock); - } + list_for_each(t, &thread_list) { + struct elf_thread_status *tmp; + int sz; + tmp = list_entry(t, struct elf_thread_status, list); + sz = elf_dump_thread_status(signr, tmp); + thread_status_size += sz; + } + } /* now collect the dump for the current */ memset(prstatus, 0, sizeof(*prstatus)); fill_prstatus(prstatus, current, signr); diff --git a/fs/bio.c b/fs/bio.c index e246f542a..0ebd86b4a 100644 --- a/fs/bio.c +++ b/fs/bio.c @@ -137,33 +137,29 @@ inline void bio_init(struct bio *bio) **/ struct bio *bio_alloc(int gfp_mask, int nr_iovecs) { - struct bio_vec *bvl = NULL; - unsigned long idx; - struct bio *bio; - - bio = mempool_alloc(bio_pool, gfp_mask); - if (unlikely(!bio)) - goto out; + struct bio *bio = mempool_alloc(bio_pool, gfp_mask); - bio_init(bio); + if (likely(bio)) { + struct bio_vec *bvl = NULL; - if (unlikely(!nr_iovecs)) - goto noiovec; + bio_init(bio); + if (likely(nr_iovecs)) { + unsigned long idx; - bvl = bvec_alloc(gfp_mask, nr_iovecs, &idx); - if (bvl) { - bio->bi_flags |= idx << BIO_POOL_OFFSET; - bio->bi_max_vecs = bvec_array[idx].nr_vecs; -noiovec: + bvl = bvec_alloc(gfp_mask, nr_iovecs, &idx); + if (unlikely(!bvl)) { + mempool_free(bio, bio_pool); + bio = NULL; + goto out; + } + bio->bi_flags |= idx << BIO_POOL_OFFSET; + bio->bi_max_vecs = bvec_array[idx].nr_vecs; + } bio->bi_io_vec = bvl; bio->bi_destructor = bio_destructor; -out: - return bio; } - - mempool_free(bio, bio_pool); - bio = NULL; - goto out; +out: + return bio; } /** @@ -376,6 +372,38 @@ int bio_add_page(struct bio *bio, struct page *page, unsigned int len, len, offset); } +struct bio_map_data { + struct bio_vec *iovecs; + void __user *userptr; +}; + +static void bio_set_map_data(struct bio_map_data *bmd, struct bio *bio) +{ + memcpy(bmd->iovecs, bio->bi_io_vec, sizeof(struct bio_vec) * bio->bi_vcnt); + bio->bi_private = bmd; +} + +static void bio_free_map_data(struct bio_map_data *bmd) +{ + kfree(bmd->iovecs); + kfree(bmd); +} + +static struct bio_map_data *bio_alloc_map_data(int nr_segs) +{ + struct bio_map_data *bmd = kmalloc(sizeof(*bmd), GFP_KERNEL); + + if (!bmd) + return NULL; + + bmd->iovecs = kmalloc(sizeof(struct bio_vec) * nr_segs, GFP_KERNEL); + if (bmd->iovecs) + return bmd; + + kfree(bmd); + return NULL; +} + /** * bio_uncopy_user - finish previously mapped bio * @bio: bio being terminated @@ -385,23 +413,22 @@ int bio_add_page(struct bio *bio, struct page *page, unsigned int len, */ int bio_uncopy_user(struct bio *bio) { + struct bio_map_data *bmd = bio->bi_private; + const int read = bio_data_dir(bio) == READ; struct bio_vec *bvec; int i, ret = 0; - if (bio_data_dir(bio) == READ) { - char *uaddr = bio->bi_private; - - __bio_for_each_segment(bvec, bio, i, 0) { - char *addr = page_address(bvec->bv_page); + __bio_for_each_segment(bvec, bio, i, 0) { + char *addr = page_address(bvec->bv_page); + unsigned int len = bmd->iovecs[i].bv_len; - if (!ret && copy_to_user(uaddr, addr, bvec->bv_len)) - ret = -EFAULT; + if (read && !ret && copy_to_user(bmd->userptr, addr, len)) + ret = -EFAULT; - __free_page(bvec->bv_page); - uaddr += bvec->bv_len; - } + __free_page(bvec->bv_page); + bmd->userptr += len; } - + bio_free_map_data(bmd); bio_put(bio); return ret; } @@ -422,14 +449,25 @@ struct bio *bio_copy_user(request_queue_t *q, unsigned long uaddr, { unsigned long end = (uaddr + len + PAGE_SIZE - 1) >> PAGE_SHIFT; unsigned long start = uaddr >> PAGE_SHIFT; + struct bio_map_data *bmd; struct bio_vec *bvec; struct page *page; struct bio *bio; int i, ret; + bmd = bio_alloc_map_data(end - start); + if (!bmd) + return ERR_PTR(-ENOMEM); + + bmd->userptr = (void __user *) uaddr; + bio = bio_alloc(GFP_KERNEL, end - start); - if (!bio) + if (!bio) { + bio_free_map_data(bmd); return ERR_PTR(-ENOMEM); + } + + bio->bi_rw |= (!write_to_vm << BIO_RW); ret = 0; while (len) { @@ -452,31 +490,30 @@ struct bio *bio_copy_user(request_queue_t *q, unsigned long uaddr, len -= bytes; } + if (ret) + goto cleanup; + /* * success */ - if (!ret) { - if (!write_to_vm) { - bio->bi_rw |= (1 << BIO_RW); - /* - * for a write, copy in data to kernel pages - */ - ret = -EFAULT; - bio_for_each_segment(bvec, bio, i) { - char *addr = page_address(bvec->bv_page); + if (!write_to_vm) { + char __user *p = (char __user *) uaddr; - if (copy_from_user(addr, (char *) uaddr, bvec->bv_len)) - goto cleanup; - } - } + /* + * for a write, copy in data to kernel pages + */ + ret = -EFAULT; + bio_for_each_segment(bvec, bio, i) { + char *addr = page_address(bvec->bv_page); - bio->bi_private = (void *) uaddr; - return bio; + if (copy_from_user(addr, p, bvec->bv_len)) + goto cleanup; + p += bvec->bv_len; + } } - /* - * cleanup - */ + bio_set_map_data(bmd, bio); + return bio; cleanup: bio_for_each_segment(bvec, bio, i) __free_page(bvec->bv_page); @@ -608,18 +645,6 @@ static void __bio_unmap_user(struct bio *bio) struct bio_vec *bvec; int i; - /* - * find original bio if it was bounced - */ - if (bio->bi_private) { - /* - * someone stole our bio, must not happen - */ - BUG_ON(!bio_flagged(bio, BIO_BOUNCED)); - - bio = bio->bi_private; - } - /* * make sure we dirty pages we wrote to */ diff --git a/fs/block_dev.c b/fs/block_dev.c index 5c3f09b86..a949d4cda 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c @@ -137,13 +137,26 @@ static int blkdev_get_blocks(struct inode *inode, sector_t iblock, unsigned long max_blocks, struct buffer_head *bh, int create) { - if ((iblock + max_blocks) > max_block(I_BDEV(inode))) - return -EIO; + sector_t end_block = max_block(I_BDEV(inode)); + + if ((iblock + max_blocks) > end_block) { + max_blocks = end_block - iblock; + if ((long)max_blocks <= 0) { + if (create) + return -EIO; /* write fully beyond EOF */ + /* + * It is a read which is fully beyond EOF. We return + * a !buffer_mapped buffer + */ + max_blocks = 0; + } + } bh->b_bdev = I_BDEV(inode); bh->b_blocknr = iblock; bh->b_size = max_blocks << inode->i_blkbits; - set_buffer_mapped(bh); + if (max_blocks) + set_buffer_mapped(bh); return 0; } @@ -666,7 +679,7 @@ int blkdev_get(struct block_device *bdev, mode_t mode, unsigned flags) EXPORT_SYMBOL(blkdev_get); -int blkdev_open(struct inode * inode, struct file * filp) +static int blkdev_open(struct inode * inode, struct file * filp) { struct block_device *bdev; int res; @@ -695,8 +708,6 @@ int blkdev_open(struct inode * inode, struct file * filp) return res; } -EXPORT_SYMBOL(blkdev_open); - int blkdev_put(struct block_device *bdev) { int ret = 0; @@ -798,8 +809,6 @@ struct file_operations def_blk_fops = { .sendfile = generic_file_sendfile, }; -EXPORT_SYMBOL(def_blk_fops); - int ioctl_by_bdev(struct block_device *bdev, unsigned cmd, unsigned long arg) { int res; diff --git a/fs/buffer.c b/fs/buffer.c index 7e849b1dd..fdd398d12 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -39,6 +39,7 @@ #include #include +static int fsync_buffers_list(spinlock_t *lock, struct list_head *list); static void invalidate_bh_lrus(void); #define BH_ENTRY(list) list_entry((list), struct buffer_head, b_assoc_buffers) @@ -213,7 +214,7 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate) if (uptodate) { set_buffer_uptodate(bh); } else { - if (printk_ratelimit()) { + if (!buffer_eopnotsupp(bh) && printk_ratelimit()) { buffer_io_error(bh); printk(KERN_WARNING "lost page write due to " "I/O error on %s\n", @@ -505,6 +506,7 @@ __find_get_block_slow(struct block_device *bdev, sector_t block, int unused) struct buffer_head *bh; struct buffer_head *head; struct page *page; + int all_mapped = 1; index = block >> (PAGE_CACHE_SHIFT - bd_inode->i_blkbits); page = find_get_page(bd_mapping, index); @@ -522,14 +524,23 @@ __find_get_block_slow(struct block_device *bdev, sector_t block, int unused) get_bh(bh); goto out_unlock; } + if (!buffer_mapped(bh)) + all_mapped = 0; bh = bh->b_this_page; } while (bh != head); - printk("__find_get_block_slow() failed. " - "block=%llu, b_blocknr=%llu\n", - (unsigned long long)block, (unsigned long long)bh->b_blocknr); - printk("b_state=0x%08lx, b_size=%u\n", bh->b_state, bh->b_size); - printk("device blocksize: %d\n", 1 << bd_inode->i_blkbits); + /* we might be here because some of the buffers on this page are + * not mapped. This is due to various races between + * file io on the block device and getblk. It gets dealt with + * elsewhere, don't buffer_error if we had some unmapped buffers + */ + if (all_mapped) { + printk("__find_get_block_slow() failed. " + "block=%llu, b_blocknr=%llu\n", + (unsigned long long)block, (unsigned long long)bh->b_blocknr); + printk("b_state=0x%08lx, b_size=%u\n", bh->b_state, bh->b_size); + printk("device blocksize: %d\n", 1 << bd_inode->i_blkbits); + } out_unlock: spin_unlock(&bd_mapping->private_lock); page_cache_release(page); @@ -725,12 +736,11 @@ still_busy: * PageLocked prevents anyone from starting writeback of a page which is * under read I/O (PageWriteback is only ever set against a locked page). */ -void mark_buffer_async_read(struct buffer_head *bh) +static void mark_buffer_async_read(struct buffer_head *bh) { bh->b_end_io = end_buffer_async_read; set_buffer_async_read(bh); } -EXPORT_SYMBOL(mark_buffer_async_read); void mark_buffer_async_write(struct buffer_head *bh) { @@ -789,14 +799,6 @@ EXPORT_SYMBOL(mark_buffer_async_write); * b_inode back. */ -void buffer_insert_list(spinlock_t *lock, - struct buffer_head *bh, struct list_head *list) -{ - spin_lock(lock); - list_move_tail(&bh->b_assoc_buffers, list); - spin_unlock(lock); -} - /* * The buffer's backing address_space's private_lock must be held */ @@ -899,9 +901,12 @@ void mark_buffer_dirty_inode(struct buffer_head *bh, struct inode *inode) if (mapping->assoc_mapping != buffer_mapping) BUG(); } - if (list_empty(&bh->b_assoc_buffers)) - buffer_insert_list(&buffer_mapping->private_lock, - bh, &mapping->private_list); + if (list_empty(&bh->b_assoc_buffers)) { + spin_lock(&buffer_mapping->private_lock); + list_move_tail(&bh->b_assoc_buffers, + &mapping->private_list); + spin_unlock(&buffer_mapping->private_lock); + } } EXPORT_SYMBOL(mark_buffer_dirty_inode); @@ -982,7 +987,7 @@ EXPORT_SYMBOL(__set_page_dirty_buffers); * the osync code to catch these locked, dirty buffers without requeuing * any newly dirty buffers for write. */ -int fsync_buffers_list(spinlock_t *lock, struct list_head *list) +static int fsync_buffers_list(spinlock_t *lock, struct list_head *list) { struct buffer_head *bh; struct list_head tmp; @@ -1177,18 +1182,16 @@ init_page_buffers(struct page *page, struct block_device *bdev, { struct buffer_head *head = page_buffers(page); struct buffer_head *bh = head; - unsigned int b_state; - - b_state = 1 << BH_Mapped; - if (PageUptodate(page)) - b_state |= 1 << BH_Uptodate; + int uptodate = PageUptodate(page); do { - if (!(bh->b_state & (1 << BH_Mapped))) { + if (!buffer_mapped(bh)) { init_buffer(bh, NULL, NULL); bh->b_bdev = bdev; bh->b_blocknr = block; - bh->b_state = b_state; + if (uptodate) + set_buffer_uptodate(bh); + set_buffer_mapped(bh); } block++; bh = bh->b_this_page; @@ -1217,8 +1220,10 @@ grow_dev_page(struct block_device *bdev, sector_t block, if (page_has_buffers(page)) { bh = page_buffers(page); - if (bh->b_size == size) + if (bh->b_size == size) { + init_page_buffers(page, bdev, block, size); return page; + } if (!try_to_free_buffers(page)) goto failed; } @@ -2759,21 +2764,33 @@ static int end_bio_bh_io_sync(struct bio *bio, unsigned int bytes_done, int err) if (bio->bi_size) return 1; + if (err == -EOPNOTSUPP) { + set_bit(BIO_EOPNOTSUPP, &bio->bi_flags); + set_bit(BH_Eopnotsupp, &bh->b_state); + } + bh->b_end_io(bh, test_bit(BIO_UPTODATE, &bio->bi_flags)); bio_put(bio); return 0; } -void submit_bh(int rw, struct buffer_head * bh) +int submit_bh(int rw, struct buffer_head * bh) { struct bio *bio; + int ret = 0; BUG_ON(!buffer_locked(bh)); BUG_ON(!buffer_mapped(bh)); BUG_ON(!bh->b_end_io); - /* Only clear out a write error when rewriting */ - if (test_set_buffer_req(bh) && rw == WRITE) + if (buffer_ordered(bh) && (rw == WRITE)) + rw = WRITE_BARRIER; + + /* + * Only clear out a write error when rewriting, should this + * include WRITE_SYNC as well? + */ + if (test_set_buffer_req(bh) && (rw == WRITE || rw == WRITE_BARRIER)) clear_buffer_write_io_error(bh); /* @@ -2795,7 +2812,14 @@ void submit_bh(int rw, struct buffer_head * bh) bio->bi_end_io = end_bio_bh_io_sync; bio->bi_private = bh; + bio_get(bio); submit_bio(rw, bio); + + if (bio_flagged(bio, BIO_EOPNOTSUPP)) + ret = -EOPNOTSUPP; + + bio_put(bio); + return ret; } /** @@ -2854,20 +2878,30 @@ void ll_rw_block(int rw, int nr, struct buffer_head *bhs[]) /* * For a data-integrity writeout, we need to wait upon any in-progress I/O - * and then start new I/O and then wait upon it. + * and then start new I/O and then wait upon it. The caller must have a ref on + * the buffer_head. */ -void sync_dirty_buffer(struct buffer_head *bh) +int sync_dirty_buffer(struct buffer_head *bh) { + int ret = 0; + WARN_ON(atomic_read(&bh->b_count) < 1); lock_buffer(bh); if (test_clear_buffer_dirty(bh)) { get_bh(bh); bh->b_end_io = end_buffer_write_sync; - submit_bh(WRITE, bh); + ret = submit_bh(WRITE, bh); wait_on_buffer(bh); + if (buffer_eopnotsupp(bh)) { + clear_buffer_eopnotsupp(bh); + ret = -EOPNOTSUPP; + } + if (!ret && !buffer_uptodate(bh)) + ret = -EIO; } else { unlock_buffer(bh); } + return ret; } /* @@ -3124,14 +3158,12 @@ EXPORT_SYMBOL(block_read_full_page); EXPORT_SYMBOL(block_sync_page); EXPORT_SYMBOL(block_truncate_page); EXPORT_SYMBOL(block_write_full_page); -EXPORT_SYMBOL(buffer_insert_list); EXPORT_SYMBOL(cont_prepare_write); EXPORT_SYMBOL(end_buffer_async_write); EXPORT_SYMBOL(end_buffer_read_sync); EXPORT_SYMBOL(end_buffer_write_sync); EXPORT_SYMBOL(file_fsync); EXPORT_SYMBOL(fsync_bdev); -EXPORT_SYMBOL(fsync_buffers_list); EXPORT_SYMBOL(generic_block_bmap); EXPORT_SYMBOL(generic_commit_write); EXPORT_SYMBOL(generic_cont_expand); diff --git a/fs/char_dev.c b/fs/char_dev.c index a1fd84692..bbc17eef0 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c @@ -248,6 +248,28 @@ int unregister_chrdev(unsigned int major, const char *name) } static spinlock_t cdev_lock = SPIN_LOCK_UNLOCKED; + +static struct kobject *cdev_get(struct cdev *p) +{ + struct module *owner = p->owner; + struct kobject *kobj; + + if (owner && !try_module_get(owner)) + return NULL; + kobj = kobject_get(&p->kobj); + if (!kobj) + module_put(owner); + return kobj; +} + +void cdev_put(struct cdev *p) +{ + if (p) { + kobject_put(&p->kobj); + module_put(p->owner); + } +} + /* * Called every time a character special file is opened */ @@ -356,26 +378,6 @@ void cdev_del(struct cdev *p) kobject_put(&p->kobj); } -struct kobject *cdev_get(struct cdev *p) -{ - struct module *owner = p->owner; - struct kobject *kobj; - - if (owner && !try_module_get(owner)) - return NULL; - kobj = kobject_get(&p->kobj); - if (!kobj) - module_put(owner); - return kobj; -} - -void cdev_put(struct cdev *p) -{ - if (p) { - kobject_put(&p->kobj); - module_put(p->owner); - } -} static decl_subsys(cdev, NULL, NULL); @@ -446,8 +448,6 @@ EXPORT_SYMBOL(unregister_chrdev_region); EXPORT_SYMBOL(alloc_chrdev_region); EXPORT_SYMBOL(cdev_init); EXPORT_SYMBOL(cdev_alloc); -EXPORT_SYMBOL(cdev_get); -EXPORT_SYMBOL(cdev_put); EXPORT_SYMBOL(cdev_del); EXPORT_SYMBOL(cdev_add); EXPORT_SYMBOL(register_chrdev); diff --git a/fs/cifs/AUTHORS b/fs/cifs/AUTHORS index 43a7b6534..fccc9ca44 100644 --- a/fs/cifs/AUTHORS +++ b/fs/cifs/AUTHORS @@ -24,6 +24,7 @@ Shobhit Dayal Sergey Vlasov Richard Hughes Yury Umanets +Mark Hamzy Test case and Bug Report contributors ------------------------------------- @@ -31,7 +32,9 @@ Thanks to those in the community who have submitted detailed bug reports and debug of problems they have found: Jochen Dolze, David Blaine, Rene Scharfe, Martin Josefsson, Alexander Wild, Anthony Liguori, Lars Muller, Urban Widmark, Massimiliano Ferrero, Howard Owen, -Olaf Kirch, Kieron Briggs, Nick Millington and others. +Olaf Kirch, Kieron Briggs, Nick Millington and others. Also special +mention to the Stanford Checker (SWAT) which pointed out many minor +bugs in error paths. And thanks to the IBM LTC and Power test teams and SuSE testers for finding multiple bugs during excellent stress test runs. diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index a853ec02e..087be3621 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES @@ -1,7 +1,9 @@ Version 1.22 ------------ Add config option to enable XATTR (extended attribute) support, mapping -xattr names in the "user." namespace space to SMB/CIFS EAs. +xattr names in the "user." namespace space to SMB/CIFS EAs. Lots of +minor fixes pointed out by the Stanford SWAT checker (mostly missing +or out of order NULL pointer checks in little used error paths). Version 1.21 ------------ diff --git a/fs/cifs/asn1.c b/fs/cifs/asn1.c index cf3c02767..60f67697b 100644 --- a/fs/cifs/asn1.c +++ b/fs/cifs/asn1.c @@ -375,7 +375,7 @@ asn1_subid_decode(struct asn1_ctx *ctx, unsigned long *subid) return 1; } -static unsigned char +static int asn1_oid_decode(struct asn1_ctx *ctx, unsigned char *eoc, unsigned long **oid, unsigned int *len) { @@ -454,11 +454,11 @@ decode_negTokenInit(unsigned char *security_blob, int length, struct asn1_ctx ctx; unsigned char *end; unsigned char *sequence_end; - unsigned long *oid; + unsigned long *oid = NULL; unsigned int cls, con, tag, oidlen, rc; int use_ntlmssp = FALSE; - *secType = NTLM; /* BB eventually make Kerberos or NLTMSSP the default */ + *secType = NTLM; /* BB eventually make Kerberos or NLTMSSP the default */ /* cifs_dump_mem(" Received SecBlob ", security_blob, length); */ @@ -543,16 +543,19 @@ decode_negTokenInit(unsigned char *security_blob, int length, return 0; } if ((tag == ASN1_OJI) && (con == ASN1_PRI)) { - asn1_oid_decode(&ctx, end, &oid, &oidlen); - cFYI(1, - ("OID len = %d oid = 0x%lx 0x%lx 0x%lx 0x%lx", - oidlen, *oid, *(oid + 1), *(oid + 2), - *(oid + 3))); - rc = compare_oid(oid, oidlen, NTLMSSP_OID, + rc = asn1_oid_decode(&ctx, end, &oid, &oidlen); + if(rc) { + cFYI(1, + ("OID len = %d oid = 0x%lx 0x%lx 0x%lx 0x%lx", + oidlen, *oid, *(oid + 1), *(oid + 2), + *(oid + 3))); + rc = compare_oid(oid, oidlen, NTLMSSP_OID, NTLMSSP_OID_LEN); - kfree(oid); - if (rc) - use_ntlmssp = TRUE; + if(oid) + kfree(oid); + if (rc) + use_ntlmssp = TRUE; + } } else { cFYI(1,("This should be an oid what is going on? ")); } diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c index 5ed31456f..0cf2b223e 100644 --- a/fs/cifs/cifs_debug.c +++ b/fs/cifs/cifs_debug.c @@ -126,26 +126,28 @@ cifs_debug_data_read(char *buf, char **beginBuffer, off_t offset, i = 0; read_lock(&GlobalSMBSeslock); list_for_each(tmp, &GlobalTreeConnectionList) { + __u32 dev_type; i++; tcon = list_entry(tmp, struct cifsTconInfo, cifsConnectionList); + dev_type = le32_to_cpu(tcon->fsDevInfo.DeviceType); length = sprintf(buf, "\n%d) %s Uses: %d Type: %s Characteristics: 0x%x Attributes: 0x%x\nPathComponentMax: %d Status: %d", i, tcon->treeName, atomic_read(&tcon->useCount), tcon->nativeFileSystem, - tcon->fsDevInfo.DeviceCharacteristics, - tcon->fsAttrInfo.Attributes, - tcon->fsAttrInfo.MaxPathNameComponentLength,tcon->tidStatus); + le32_to_cpu(tcon->fsDevInfo.DeviceCharacteristics), + le32_to_cpu(tcon->fsAttrInfo.Attributes), + le32_to_cpu(tcon->fsAttrInfo.MaxPathNameComponentLength), + tcon->tidStatus); buf += length; - if (tcon->fsDevInfo.DeviceType == FILE_DEVICE_DISK) + if (dev_type == FILE_DEVICE_DISK) length = sprintf(buf, " type: DISK "); - else if (tcon->fsDevInfo.DeviceType == FILE_DEVICE_CD_ROM) + else if (dev_type == FILE_DEVICE_CD_ROM) length = sprintf(buf, " type: CDROM "); else length = - sprintf(buf, " type: %d ", - tcon->fsDevInfo.DeviceType); + sprintf(buf, " type: %d ", dev_type); buf += length; if(tcon->tidStatus == CifsNeedReconnect) { buf += sprintf(buf, "\tDISCONNECTED "); diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index cd31d1941..729cdba71 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c @@ -255,12 +255,14 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m) if (cifs_sb) { if (cifs_sb->tcon) { seq_printf(s, ",unc=%s", cifs_sb->tcon->treeName); - if ((cifs_sb->tcon->ses) && (cifs_sb->tcon->ses->userName)) - seq_printf(s, ",username=%s", + if (cifs_sb->tcon->ses) { + if (cifs_sb->tcon->ses->userName) + seq_printf(s, ",username=%s", cifs_sb->tcon->ses->userName); - if(cifs_sb->tcon->ses->domainName) - seq_printf(s, ",domain=%s", - cifs_sb->tcon->ses->domainName); + if(cifs_sb->tcon->ses->domainName) + seq_printf(s, ",domain=%s", + cifs_sb->tcon->ses->domainName); + } } seq_printf(s, ",rsize=%d",cifs_sb->rsize); seq_printf(s, ",wsize=%d",cifs_sb->wsize); @@ -510,7 +512,7 @@ struct inode_operations cifs_file_inode_ops = { }; struct inode_operations cifs_symlink_inode_ops = { - .readlink = cifs_readlink, + .readlink = generic_readlink, .follow_link = cifs_follow_link, .put_link = cifs_put_link, .permission = cifs_permission, @@ -562,7 +564,7 @@ cifs_init_inodecache(void) { cifs_inode_cachep = kmem_cache_create("cifs_inode_cache", sizeof (struct cifsInodeInfo), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, cifs_init_once, NULL); if (cifs_inode_cachep == NULL) return -ENOMEM; @@ -757,11 +759,14 @@ init_cifs(void) if (!rc) { rc = register_filesystem(&cifs_fs_type); if (!rc) { - kernel_thread(cifs_oplock_thread, NULL, + rc = (int)kernel_thread(cifs_oplock_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_VM); - return rc; /* Success */ - } else - cifs_destroy_request_bufs(); + if(rc > 0) + return 0; + else + cERROR(1,("error %d create oplock thread",rc)); + } + cifs_destroy_request_bufs(); } cifs_destroy_mids(); } diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 21ac75cf0..150210c57 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -126,7 +126,7 @@ struct TCP_Server_Info { enum protocolEnum protocolType; char versionMajor; char versionMinor; - int svlocal:1; /* local server or remote */ + unsigned svlocal:1; /* local server or remote */ atomic_t socketUseCount; /* number of open cifs sessions on socket */ atomic_t inFlight; /* number of requests on the wire to server */ enum statusEnum tcpStatus; /* what we think the status is */ @@ -222,7 +222,7 @@ struct cifsTconInfo { FILE_SYSTEM_DEVICE_INFO fsDevInfo; FILE_SYSTEM_ATTRIBUTE_INFO fsAttrInfo; /* ok if file system name truncated */ FILE_SYSTEM_UNIX_INFO fsUnixInfo; - int retry:1; + unsigned retry:1; /* BB add field for back pointer to sb struct? */ }; @@ -250,10 +250,10 @@ struct cifsFileInfo { /* lock scope id (0 if none) */ struct file * pfile; /* needed for writepage */ struct inode * pInode; /* needed for oplock break */ - int endOfSearch:1; /* we have reached end of search */ - int closePend:1; /* file is marked to close */ - int emptyDir:1; - int invalidHandle:1; /* file closed via session abend */ + unsigned endOfSearch:1; /* we have reached end of search */ + unsigned closePend:1; /* file is marked to close */ + unsigned emptyDir:1; + unsigned invalidHandle:1; /* file closed via session abend */ struct semaphore fh_sem; /* prevents reopen race after dead ses*/ char * search_resume_name; unsigned int resume_name_length; @@ -272,9 +272,9 @@ struct cifsInodeInfo { __u32 cifsAttrs; /* e.g. DOS archive bit, sparse, compressed, system */ atomic_t inUse; /* num concurrent users (local openers cifs) of file*/ unsigned long time; /* jiffies of last update/check of inode */ - int clientCanCacheRead:1; /* read oplock */ - int clientCanCacheAll:1; /* read and writebehind oplock */ - int oplockPending:1; + unsigned clientCanCacheRead:1; /* read oplock */ + unsigned clientCanCacheAll:1; /* read and writebehind oplock */ + unsigned oplockPending:1; struct inode vfs_inode; }; diff --git a/fs/cifs/cifspdu.h b/fs/cifs/cifspdu.h index 94646af9f..20430a2d2 100644 --- a/fs/cifs/cifspdu.h +++ b/fs/cifs/cifspdu.h @@ -137,15 +137,15 @@ /* * SMB flag2 definitions */ -#define SMBFLG2_KNOWS_LONG_NAMES 0x0001 /* can send long (non-8.3) path names in response */ -#define SMBFLG2_KNOWS_EAS 0x0002 -#define SMBFLG2_SECURITY_SIGNATURE 0x0004 -#define SMBFLG2_IS_LONG_NAME 0x0040 -#define SMBFLG2_EXT_SEC 0x0800 -#define SMBFLG2_DFS 0x1000 -#define SMBFLG2_PAGING_IO 0x2000 -#define SMBFLG2_ERR_STATUS 0x4000 -#define SMBFLG2_UNICODE 0x8000 +#define SMBFLG2_KNOWS_LONG_NAMES cpu_to_le16(1) /* can send long (non-8.3) path names in response */ +#define SMBFLG2_KNOWS_EAS cpu_to_le16(2) +#define SMBFLG2_SECURITY_SIGNATURE cpu_to_le16(4) +#define SMBFLG2_IS_LONG_NAME cpu_to_le16(0x40) +#define SMBFLG2_EXT_SEC cpu_to_le16(0x80) +#define SMBFLG2_DFS cpu_to_le16(0x1000) +#define SMBFLG2_PAGING_IO cpu_to_le16(0x2000) +#define SMBFLG2_ERR_STATUS cpu_to_le16(0x4000) +#define SMBFLG2_UNICODE cpu_to_le16(0x8000) /* * These are the file access permission bits defined in CIFS for the @@ -303,23 +303,23 @@ struct smb_hdr { struct { __u8 ErrorClass; __u8 Reserved; - __u16 Error; /* note: treated as little endian (le) on wire */ + __le16 Error; } DosError; - __u32 CifsError; /* note: le */ + __le32 CifsError; } Status; __u8 Flags; - __u16 Flags2; /* note: le */ - __u16 PidHigh; /* note: le */ + __le16 Flags2; /* note: le */ + __le16 PidHigh; union { struct { - __u32 SequenceNumber; /* le */ + __le32 SequenceNumber; /* le */ __u32 Reserved; /* zero */ } Sequence; __u8 SecuritySignature[8]; /* le */ } Signature; __u8 pad[2]; __u16 Tid; - __u16 Pid; /* note: le */ + __le16 Pid; __u16 Uid; __u16 Mid; __u8 WordCount; @@ -328,7 +328,7 @@ struct smb_hdr { #define BCC(smb_var) ( *(__u16 *)((char *)smb_var + sizeof(struct smb_hdr) + (2* smb_var->WordCount) ) ) /* given a pointer to an smb_hdr retrieve the pointer to the byte area */ -#define pByteArea(smb_var) ((char *)smb_var + sizeof(struct smb_hdr) + (2* smb_var->WordCount) + 2 ) +#define pByteArea(smb_var) ((unsigned char *)smb_var + sizeof(struct smb_hdr) + (2* smb_var->WordCount) + 2 ) /* * Computer Name Length @@ -373,23 +373,23 @@ struct smb_hdr { typedef struct negotiate_req { struct smb_hdr hdr; /* wct = 0 */ - __u16 ByteCount; + __le16 ByteCount; unsigned char DialectsArray[1]; } NEGOTIATE_REQ; typedef struct negotiate_rsp { struct smb_hdr hdr; /* wct = 17 */ - __u16 DialectIndex; + __le16 DialectIndex; __u8 SecurityMode; - __u16 MaxMpxCount; - __u16 MaxNumberVcs; - __u32 MaxBufferSize; - __u32 MaxRawSize; - __u32 SessionKey; - __u32 Capabilities; /* see below */ - __u32 SystemTimeLow; - __u32 SystemTimeHigh; - __u16 ServerTimeZone; + __le16 MaxMpxCount; + __le16 MaxNumberVcs; + __le32 MaxBufferSize; + __le32 MaxRawSize; + __le32 SessionKey; + __le32 Capabilities; /* see below */ + __le32 SystemTimeLow; + __le32 SystemTimeHigh; + __le16 ServerTimeZone; __u8 EncryptionKeyLength; __u16 ByteCount; union { @@ -436,15 +436,15 @@ typedef union smb_com_session_setup_andx { struct smb_hdr hdr; /* wct = 12 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 MaxBufferSize; - __u16 MaxMpxCount; - __u16 VcNumber; + __le16 AndXOffset; + __le16 MaxBufferSize; + __le16 MaxMpxCount; + __le16 VcNumber; __u32 SessionKey; - __u16 SecurityBlobLength; + __le16 SecurityBlobLength; __u32 Reserved; - __u32 Capabilities; /* see below */ - __u16 ByteCount; + __le32 Capabilities; /* see below */ + __le16 ByteCount; unsigned char SecurityBlob[1]; /* followed by */ /* STRING NativeOS */ /* STRING NativeLanMan */ @@ -454,16 +454,16 @@ typedef union smb_com_session_setup_andx { struct smb_hdr hdr; /* wct = 13 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 MaxBufferSize; - __u16 MaxMpxCount; - __u16 VcNumber; + __le16 AndXOffset; + __le16 MaxBufferSize; + __le16 MaxMpxCount; + __le16 VcNumber; __u32 SessionKey; - __u16 CaseInsensitivePasswordLength; /* ASCII password length */ - __u16 CaseSensitivePasswordLength; /* Unicode password length */ + __le16 CaseInsensitivePasswordLength; /* ASCII password length */ + __le16 CaseSensitivePasswordLength; /* Unicode password length */ __u32 Reserved; /* see below */ - __u32 Capabilities; - __u16 ByteCount; + __le32 Capabilities; + __le16 ByteCount; unsigned char CaseInsensitivePassword[1]; /* followed by: */ /* unsigned char * CaseSensitivePassword; */ /* STRING AccountName */ @@ -476,9 +476,9 @@ typedef union smb_com_session_setup_andx { struct smb_hdr hdr; /* wct = 4 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 Action; /* see below */ - __u16 SecurityBlobLength; + __le16 AndXOffset; + __le16 Action; /* see below */ + __le16 SecurityBlobLength; __u16 ByteCount; unsigned char SecurityBlob[1]; /* followed by */ /* unsigned char * NativeOS; */ @@ -490,14 +490,14 @@ typedef union smb_com_session_setup_andx { struct smb_hdr hdr; /* wct = 10 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 MaxBufferSize; - __u16 MaxMpxCount; - __u16 VcNumber; + __le16 AndXOffset; + __le16 MaxBufferSize; + __le16 MaxMpxCount; + __le16 VcNumber; __u32 SessionKey; - __u16 PassswordLength; + __le16 PassswordLength; __u32 Reserved; - __u16 ByteCount; + __le16 ByteCount; unsigned char AccountPassword[1]; /* followed by */ /* STRING AccountName */ /* STRING PrimaryDomain */ @@ -509,8 +509,8 @@ typedef union smb_com_session_setup_andx { struct smb_hdr hdr; /* wct = 3 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 Action; /* see below */ + __le16 AndXOffset; + __le16 Action; /* see below */ __u16 ByteCount; unsigned char NativeOS[1]; /* followed by */ /* unsigned char * NativeLanMan; */ @@ -537,10 +537,10 @@ typedef struct smb_com_tconx_req { struct smb_hdr hdr; /* wct = 4 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 Flags; /* see below */ - __u16 PasswordLength; - __u16 ByteCount; + __le16 AndXOffset; + __le16 Flags; /* see below */ + __le16 PasswordLength; + __le16 ByteCount; unsigned char Password[1]; /* followed by */ /* STRING Path *//* \\server\share name */ /* STRING Service */ @@ -550,8 +550,8 @@ typedef struct smb_com_tconx_rsp { struct smb_hdr hdr; /* wct = 3 *//* note that Win2000 has sent wct=7 in some cases on responses. Four unspecified words followed OptionalSupport */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 OptionalSupport; /* see below */ + __le16 AndXOffset; + __le16 OptionalSupport; /* see below */ __u16 ByteCount; unsigned char Service[1]; /* always ASCII, not Unicode */ /* STRING NativeFileSystem */ @@ -619,20 +619,20 @@ typedef struct smb_com_open_req { /* also handles create */ struct smb_hdr hdr; /* wct = 24 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; + __le16 AndXOffset; __u8 Reserved; /* Must Be Zero */ - __u16 NameLength; - __u32 OpenFlags; - __u32 RootDirectoryFid; - __u32 DesiredAccess; - __u64 AllocationSize; - __u32 FileAttributes; - __u32 ShareAccess; - __u32 CreateDisposition; - __u32 CreateOptions; - __u32 ImpersonationLevel; + __le16 NameLength; + __le32 OpenFlags; + __le32 RootDirectoryFid; + __le32 DesiredAccess; + __le64 AllocationSize; + __le32 FileAttributes; + __le32 ShareAccess; + __le32 CreateDisposition; + __le32 CreateOptions; + __le32 ImpersonationLevel; __u8 SecurityFlags; - __u16 ByteCount; + __le16 ByteCount; char fileName[1]; } OPEN_REQ; @@ -649,19 +649,19 @@ typedef struct smb_com_open_rsp { struct smb_hdr hdr; /* wct = 34 BB */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; + __le16 AndXOffset; __u8 OplockLevel; __u16 Fid; - __u32 CreateAction; - __u64 CreationTime; - __u64 LastAccessTime; - __u64 LastWriteTime; - __u64 ChangeTime; - __u32 FileAttributes; - __u64 AllocationSize; - __u64 EndOfFile; - __u16 FileType; - __u16 DeviceState; + __le32 CreateAction; + __le64 CreationTime; + __le64 LastAccessTime; + __le64 LastWriteTime; + __le64 ChangeTime; + __le32 FileAttributes; + __le64 AllocationSize; + __le64 EndOfFile; + __le16 FileType; + __le16 DeviceState; __u8 DirectoryFlag; __u16 ByteCount; /* bct = 0 */ } OPEN_RSP; @@ -670,17 +670,17 @@ typedef struct smb_com_write_req { struct smb_hdr hdr; /* wct = 14 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; + __le16 AndXOffset; __u16 Fid; - __u32 OffsetLow; + __le32 OffsetLow; __u32 Reserved; - __u16 WriteMode; - __u16 Remaining; - __u16 DataLengthHigh; - __u16 DataLengthLow; - __u16 DataOffset; - __u32 OffsetHigh; - __u16 ByteCount; + __le16 WriteMode; + __le16 Remaining; + __le16 DataLengthHigh; + __le16 DataLengthLow; + __le16 DataOffset; + __le32 OffsetHigh; + __le16 ByteCount; __u8 Pad; /* BB check for whether padded to DWORD boundary and optimum performance here */ char Data[1]; } WRITE_REQ; @@ -689,10 +689,10 @@ typedef struct smb_com_write_rsp { struct smb_hdr hdr; /* wct = 6 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 Count; - __u16 Remaining; - __u32 Reserved; + __le16 AndXOffset; + __le16 Count; + __le16 Remaining; + __le32 Reserved; __u16 ByteCount; } WRITE_RSP; @@ -700,28 +700,28 @@ typedef struct smb_com_read_req { struct smb_hdr hdr; /* wct = 12 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; + __le16 AndXOffset; __u16 Fid; - __u32 OffsetLow; - __u16 MaxCount; - __u16 MinCount; /* obsolete */ - __u32 MaxCountHigh; - __u16 Remaining; - __u32 OffsetHigh; - __u16 ByteCount; + __le32 OffsetLow; + __le16 MaxCount; + __le16 MinCount; /* obsolete */ + __le32 MaxCountHigh; + __le16 Remaining; + __le32 OffsetHigh; + __le16 ByteCount; } READ_REQ; typedef struct smb_com_read_rsp { struct smb_hdr hdr; /* wct = 12 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; - __u16 Remaining; - __u16 DataCompactionMode; - __u16 Reserved; - __u16 DataLength; - __u16 DataOffset; - __u16 DataLengthHigh; + __le16 AndXOffset; + __le16 Remaining; + __le16 DataCompactionMode; + __le16 Reserved; + __le16 DataLength; + __le16 DataOffset; + __le16 DataLengthHigh; __u64 Reserved2; __u16 ByteCount; __u8 Pad; /* BB check for whether padded to DWORD boundary and optimum performance here */ @@ -729,12 +729,12 @@ typedef struct smb_com_read_rsp { } READ_RSP; typedef struct locking_andx_range { - __u16 Pid; - __u16 Pad; - __u32 OffsetHigh; - __u32 OffsetLow; - __u32 LengthHigh; - __u32 LengthLow; + __le16 Pid; + __le16 Pad; + __le32 OffsetHigh; + __le32 OffsetLow; + __le32 LengthHigh; + __le32 LengthLow; } LOCKING_ANDX_RANGE; #define LOCKING_ANDX_SHARED_LOCK 0x01 @@ -747,14 +747,14 @@ typedef struct smb_com_lock_req { struct smb_hdr hdr; /* wct = 8 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; + __le16 AndXOffset; __u16 Fid; __u8 LockType; __u8 OplockLevel; - __u32 Timeout; - __u16 NumberOfUnlocks; - __u16 NumberOfLocks; - __u16 ByteCount; + __le32 Timeout; + __le16 NumberOfUnlocks; + __le16 NumberOfLocks; + __le16 ByteCount; LOCKING_ANDX_RANGE Locks[1]; } LOCK_REQ; @@ -762,14 +762,14 @@ typedef struct smb_com_lock_rsp { struct smb_hdr hdr; /* wct = 2 */ __u8 AndXCommand; __u8 AndXReserved; - __u16 AndXOffset; + __le16 AndXOffset; __u16 ByteCount; } LOCK_RSP; typedef struct smb_com_rename_req { struct smb_hdr hdr; /* wct = 1 */ - __u16 SearchAttributes; /* target file attributes */ - __u16 ByteCount; + __le16 SearchAttributes; /* target file attributes */ + __le16 ByteCount; __u8 BufferFormat; /* 4 = ASCII or Unicode */ unsigned char OldFileName[1]; /* followed by __u8 BufferFormat2 */ @@ -787,9 +787,9 @@ typedef struct smb_com_rename_req { typedef struct smb_com_copy_req { struct smb_hdr hdr; /* wct = 3 */ __u16 Tid2; - __u16 OpenFunction; - __u16 Flags; - __u16 ByteCount; + __le16 OpenFunction; + __le16 Flags; + __le16 ByteCount; __u8 BufferFormat; /* 4 = ASCII or Unicode */ unsigned char OldFileName[1]; /* followed by __u8 BufferFormat2 */ @@ -798,7 +798,7 @@ typedef struct smb_com_copy_req { typedef struct smb_com_copy_rsp { struct smb_hdr hdr; /* wct = 1 */ - __u16 CopyCount; /* number of files copied */ + __le16 CopyCount; /* number of files copied */ __u16 ByteCount; /* may be zero */ __u8 BufferFormat; /* 0x04 - only present if errored file follows */ unsigned char ErrorFileName[1]; /* only present if error in copy */ @@ -810,10 +810,10 @@ typedef struct smb_com_copy_rsp { typedef struct smb_com_nt_rename_req { /* A5 - also used for create hardlink */ struct smb_hdr hdr; /* wct = 4 */ - __u16 SearchAttributes; /* target file attributes */ - __u16 Flags; /* spec says Information Level */ - __u32 ClusterCount; - __u16 ByteCount; + __le16 SearchAttributes; /* target file attributes */ + __le16 Flags; /* spec says Information Level */ + __le32 ClusterCount; + __le16 ByteCount; __u8 BufferFormat; /* 4 = ASCII or Unicode */ unsigned char OldFileName[1]; /* followed by __u8 BufferFormat2 */ @@ -827,8 +827,8 @@ typedef struct smb_com_rename_rsp { typedef struct smb_com_delete_file_req { struct smb_hdr hdr; /* wct = 1 */ - __u16 SearchAttributes; - __u16 ByteCount; + __le16 SearchAttributes; + __le16 ByteCount; __u8 BufferFormat; /* 4 = ASCII */ unsigned char fileName[1]; } DELETE_FILE_REQ; @@ -840,7 +840,7 @@ typedef struct smb_com_delete_file_rsp { typedef struct smb_com_delete_directory_req { struct smb_hdr hdr; /* wct = 0 */ - __u16 ByteCount; + __le16 ByteCount; __u8 BufferFormat; /* 4 = ASCII */ unsigned char DirName[1]; } DELETE_DIRECTORY_REQ; @@ -852,7 +852,7 @@ typedef struct smb_com_delete_directory_rsp { typedef struct smb_com_create_directory_req { struct smb_hdr hdr; /* wct = 0 */ - __u16 ByteCount; + __le16 ByteCount; __u8 BufferFormat; /* 4 = ASCII */ unsigned char DirName[1]; } CREATE_DIRECTORY_REQ; @@ -870,22 +870,22 @@ typedef struct smb_com_transaction_ioctl_req { struct smb_hdr hdr; /* wct = 23 */ __u8 MaxSetupCount; __u16 Reserved; - __u32 TotalParameterCount; - __u32 TotalDataCount; - __u32 MaxParameterCount; - __u32 MaxDataCount; - __u32 ParameterCount; - __u32 ParameterOffset; - __u32 DataCount; - __u32 DataOffset; + __le32 TotalParameterCount; + __le32 TotalDataCount; + __le32 MaxParameterCount; + __le32 MaxDataCount; + __le32 ParameterCount; + __le32 ParameterOffset; + __le32 DataCount; + __le32 DataOffset; __u8 SetupCount; /* four setup words follow subcommand */ /* SNIA spec incorrectly included spurious pad here */ - __u16 SubCommand;/* 2 = IOCTL/FSCTL */ - __u32 FunctionCode; + __le16 SubCommand;/* 2 = IOCTL/FSCTL */ + __le32 FunctionCode; __u16 Fid; __u8 IsFsctl; /* 1 = File System Control, 0 = device control (IOCTL)*/ __u8 IsRootFlag; /* 1 = apply command to root of share (must be DFS share)*/ - __u16 ByteCount; + __le16 ByteCount; __u8 Pad[3]; __u8 Data[1]; } TRANSACT_IOCTL_REQ; @@ -893,16 +893,16 @@ typedef struct smb_com_transaction_ioctl_req { typedef struct smb_com_transaction_ioctl_rsp { struct smb_hdr hdr; /* wct = 19 */ __u8 Reserved[3]; - __u32 TotalParameterCount; - __u32 TotalDataCount; - __u32 ParameterCount; - __u32 ParameterOffset; - __u32 ParameterDisplacement; - __u32 DataCount; - __u32 DataOffset; - __u32 DataDisplacement; + __le32 TotalParameterCount; + __le32 TotalDataCount; + __le32 ParameterCount; + __le32 ParameterOffset; + __le32 ParameterDisplacement; + __le32 DataCount; + __le32 DataOffset; + __le32 DataDisplacement; __u8 SetupCount; /* 1 */ - __u16 ReturnedDataLen; + __le16 ReturnedDataLen; __u16 ByteCount; __u8 Pad[3]; } TRANSACT_IOCTL_RSP; @@ -911,22 +911,22 @@ typedef struct smb_com_transaction_change_notify_req { struct smb_hdr hdr; /* wct = 23 */ __u8 MaxSetupCount; __u16 Reserved; - __u32 TotalParameterCount; - __u32 TotalDataCount; - __u32 MaxParameterCount; - __u32 MaxDataCount; - __u32 ParameterCount; - __u32 ParameterOffset; - __u32 DataCount; - __u32 DataOffset; + __le32 TotalParameterCount; + __le32 TotalDataCount; + __le32 MaxParameterCount; + __le32 MaxDataCount; + __le32 ParameterCount; + __le32 ParameterOffset; + __le32 DataCount; + __le32 DataOffset; __u8 SetupCount; /* four setup words follow subcommand */ /* SNIA spec incorrectly included spurious pad here */ - __u16 SubCommand;/* 4 = Change Notify */ - __u32 CompletionFilter; /* operation to monitor */ + __le16 SubCommand;/* 4 = Change Notify */ + __le32 CompletionFilter; /* operation to monitor */ __u16 Fid; __u8 WatchTree; /* 1 = Monitor subdirectories */ __u8 Reserved2; - __u16 ByteCount; + __le16 ByteCount; /* __u8 Pad[3];*/ /* __u8 Data[1];*/ } TRANSACT_CHANGE_NOTIFY_REQ; @@ -934,14 +934,14 @@ typedef struct smb_com_transaction_change_notify_req { typedef struct smb_com_transaction_change_notify_rsp { struct smb_hdr hdr; /* wct = 18 */ __u8 Reserved[3]; - __u32 TotalParameterCount; - __u32 TotalDataCount; - __u32 ParameterCount; - __u32 ParameterOffset; - __u32 ParameterDisplacement; - __u32 DataCount; - __u32 DataOffset; - __u32 DataDisplacement; + __le32 TotalParameterCount; + __le32 TotalDataCount; + __le32 ParameterCount; + __le32 ParameterOffset; + __le32 ParameterDisplacement; + __le32 DataCount; + __le32 DataOffset; + __le32 DataDisplacement; __u8 SetupCount; /* 0 */ __u16 ByteCount; /* __u8 Pad[3]; */ @@ -1090,40 +1090,40 @@ typedef union smb_com_transaction2 { typedef struct smb_com_transaction2_qpi_req { struct smb_hdr hdr; /* wct = 14+ */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; __u8 Reserved3; - __u16 SubCommand; /* one setup word */ - __u16 ByteCount; + __le16 SubCommand; /* one setup word */ + __le16 ByteCount; __u8 Pad; - __u16 InformationLevel; + __le16 InformationLevel; __u32 Reserved4; char FileName[1]; } TRANSACTION2_QPI_REQ; typedef struct smb_com_transaction2_qpi_rsp { struct smb_hdr hdr; /* wct = 10 + SetupCount */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 Reserved; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* should be zero setup words following */ __u16 ByteCount; @@ -1132,41 +1132,41 @@ typedef struct smb_com_transaction2_qpi_rsp { typedef struct smb_com_transaction2_spi_req { struct smb_hdr hdr; /* wct = 15 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; __u8 Reserved3; - __u16 SubCommand; /* one setup word */ - __u16 ByteCount; + __le16 SubCommand; /* one setup word */ + __le16 ByteCount; __u8 Pad; __u16 Pad1; - __u16 InformationLevel; + __le16 InformationLevel; __u32 Reserved4; char FileName[1]; } TRANSACTION2_SPI_REQ; typedef struct smb_com_transaction2_spi_rsp { struct smb_hdr hdr; /* wct = 10 + SetupCount */ - __u16 TotalParameterCount; - __u16 TotalDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* should be zero setup words following */ __u16 ByteCount; @@ -1174,49 +1174,49 @@ typedef struct smb_com_transaction2_spi_rsp { } TRANSACTION2_SPI_RSP; struct set_file_rename { - __u32 overwrite; /* 1 = overwrite dest */ + __le32 overwrite; /* 1 = overwrite dest */ __u32 root_fid; /* zero */ - __u32 target_name_len; + __le32 target_name_len; char target_name[0]; /* Must be unicode */ }; struct smb_com_transaction2_sfi_req { struct smb_hdr hdr; /* wct = 15 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; __u8 Reserved3; - __u16 SubCommand; /* one setup word */ - __u16 ByteCount; + __le16 SubCommand; /* one setup word */ + __le16 ByteCount; __u8 Pad; __u16 Pad1; __u16 Fid; - __u16 InformationLevel; + __le16 InformationLevel; __u16 Reserved4; }; struct smb_com_transaction2_sfi_rsp { struct smb_hdr hdr; /* wct = 10 + SetupCount */ - __u16 TotalParameterCount; - __u16 TotalDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* should be zero setup words following */ __u16 ByteCount; @@ -1240,43 +1240,43 @@ struct smb_com_transaction2_sfi_rsp { typedef struct smb_com_transaction2_ffirst_req { struct smb_hdr hdr; /* wct = 15 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; /* one */ __u8 Reserved3; - __u16 SubCommand; /* TRANS2_FIND_FIRST */ - __u16 ByteCount; + __le16 SubCommand; /* TRANS2_FIND_FIRST */ + __le16 ByteCount; __u8 Pad; - __u16 SearchAttributes; - __u16 SearchCount; - __u16 SearchFlags; - __u16 InformationLevel; - __u32 SearchStorageType; + __le16 SearchAttributes; + __le16 SearchCount; + __le16 SearchFlags; + __le16 InformationLevel; + __le32 SearchStorageType; char FileName[1]; } TRANSACTION2_FFIRST_REQ; typedef struct smb_com_transaction2_ffirst_rsp { struct smb_hdr hdr; /* wct = 10 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* should be zero setup words following */ __u16 ByteCount; @@ -1284,61 +1284,61 @@ typedef struct smb_com_transaction2_ffirst_rsp { typedef struct smb_com_transaction2_ffirst_rsp_parms { __u16 SearchHandle; - __u16 SearchCount; - __u16 EndofSearch; - __u16 EAErrorOffset; - __u16 LastNameOffset; + __le16 SearchCount; + __le16 EndofSearch; + __le16 EAErrorOffset; + __le16 LastNameOffset; } T2_FFIRST_RSP_PARMS; typedef struct smb_com_transaction2_fnext_req { struct smb_hdr hdr; /* wct = 15 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; /* one */ __u8 Reserved3; - __u16 SubCommand; /* TRANS2_FIND_NEXT */ - __u16 ByteCount; + __le16 SubCommand; /* TRANS2_FIND_NEXT */ + __le16 ByteCount; __u8 Pad; __u16 SearchHandle; - __u16 SearchCount; - __u16 InformationLevel; + __le16 SearchCount; + __le16 InformationLevel; __u32 ResumeKey; - __u16 SearchFlags; + __le16 SearchFlags; char ResumeFileName[1]; } TRANSACTION2_FNEXT_REQ; typedef struct smb_com_transaction2_fnext_rsp { struct smb_hdr hdr; /* wct = 10 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* should be zero setup words following */ __u16 ByteCount; } TRANSACTION2_FNEXT_RSP; typedef struct smb_com_transaction2_fnext_rsp_parms { - __u16 SearchCount; - __u16 EndofSearch; - __u16 EAErrorOffset; - __u16 LastNameOffset; + __le16 SearchCount; + __le16 EndofSearch; + __le16 EAErrorOffset; + __le16 LastNameOffset; } T2_FNEXT_RSP_PARMS; /* QFSInfo Levels */ @@ -1354,38 +1354,38 @@ typedef struct smb_com_transaction2_fnext_rsp_parms { typedef struct smb_com_transaction2_qfsi_req { struct smb_hdr hdr; /* wct = 14+ */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; __u8 Reserved3; - __u16 SubCommand; /* one setup word */ - __u16 ByteCount; + __le16 SubCommand; /* one setup word */ + __le16 ByteCount; __u8 Pad; - __u16 InformationLevel; + __le16 InformationLevel; } TRANSACTION2_QFSI_REQ; typedef struct smb_com_transaction_qfsi_rsp { struct smb_hdr hdr; /* wct = 10 + SetupCount */ - __u16 TotalParameterCount; - __u16 TotalDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* should be zero setup words following */ __u16 ByteCount; @@ -1394,58 +1394,58 @@ typedef struct smb_com_transaction_qfsi_rsp { typedef struct smb_com_transaction2_get_dfs_refer_req { struct smb_hdr hdr; /* wct = 15 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; - __u16 MaxParameterCount; - __u16 MaxDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; + __le16 MaxParameterCount; + __le16 MaxDataCount; __u8 MaxSetupCount; __u8 Reserved; - __u16 Flags; - __u32 Timeout; + __le16 Flags; + __le32 Timeout; __u16 Reserved2; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 DataCount; - __u16 DataOffset; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 DataCount; + __le16 DataOffset; __u8 SetupCount; __u8 Reserved3; - __u16 SubCommand; /* one setup word */ - __u16 ByteCount; + __le16 SubCommand; /* one setup word */ + __le16 ByteCount; __u8 Pad[3]; /* Win2K has sent 0x0F01 (max resp length perhaps?) followed by one byte pad - doesn't seem to matter though */ - __u16 MaxReferralLevel; + __le16 MaxReferralLevel; char RequestFileName[1]; } TRANSACTION2_GET_DFS_REFER_REQ; typedef struct dfs_referral_level_3 { - __u16 VersionNumber; - __u16 ReferralSize; - __u16 ServerType; /* 0x0001 = CIFS server */ - __u16 ReferralFlags; /* or proximity - not clear which since always set to zero - SNIA spec says 0x01 means strip off PathConsumed chars before submitting RequestFileName to remote node */ - __u16 TimeToLive; - __u16 Proximity; - __u16 DfsPathOffset; - __u16 DfsAlternatePathOffset; - __u16 NetworkAddressOffset; + __le16 VersionNumber; + __le16 ReferralSize; + __le16 ServerType; /* 0x0001 = CIFS server */ + __le16 ReferralFlags; /* or proximity - not clear which since always set to zero - SNIA spec says 0x01 means strip off PathConsumed chars before submitting RequestFileName to remote node */ + __le16 TimeToLive; + __le16 Proximity; + __le16 DfsPathOffset; + __le16 DfsAlternatePathOffset; + __le16 NetworkAddressOffset; } REFERRAL3; typedef struct smb_com_transaction_get_dfs_refer_rsp { struct smb_hdr hdr; /* wct = 10 */ - __u16 TotalParameterCount; - __u16 TotalDataCount; + __le16 TotalParameterCount; + __le16 TotalDataCount; __u16 Reserved; - __u16 ParameterCount; - __u16 ParameterOffset; - __u16 ParameterDisplacement; - __u16 DataCount; - __u16 DataOffset; - __u16 DataDisplacement; + __le16 ParameterCount; + __le16 ParameterOffset; + __le16 ParameterDisplacement; + __le16 DataCount; + __le16 DataOffset; + __le16 DataDisplacement; __u8 SetupCount; __u8 Reserved1; /* zero setup words following */ __u16 ByteCount; __u8 Pad; - __u16 PathConsumed; - __u16 NumberOfReferrals; - __u16 DFSFlags; + __le16 PathConsumed; + __le16 NumberOfReferrals; + __le16 DFSFlags; __u16 Pad2; REFERRAL3 referrals[1]; /* array of level 3 dfs_referral structures */ /* followed by the strings pointed to by the referral structures */ @@ -1531,16 +1531,16 @@ struct aliasInfo92 { }; typedef struct { - __u64 TotalAllocationUnits; - __u64 FreeAllocationUnits; - __u32 SectorsPerAllocationUnit; - __u32 BytesPerSector; + __le64 TotalAllocationUnits; + __le64 FreeAllocationUnits; + __le32 SectorsPerAllocationUnit; + __le32 BytesPerSector; } FILE_SYSTEM_INFO; /* size info, level 0x103 */ typedef struct { - __u16 MajorVersionNumber; - __u16 MinorVersionNumber; - __u64 Capability; + __le16 MajorVersionNumber; + __le16 MinorVersionNumber; + __le64 Capability; } FILE_SYSTEM_UNIX_INFO; /* Unix extensions info, level 0x200 */ /* Linux/Unix extensions capability flags */ #define CIFS_UNIX_FCNTL_CAP 0x00000001 /* support for fcntl locks */ @@ -1567,55 +1567,55 @@ typedef struct { #define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 typedef struct { - __u32 DeviceType; - __u32 DeviceCharacteristics; + __le32 DeviceType; + __le32 DeviceCharacteristics; } FILE_SYSTEM_DEVICE_INFO; /* device info, level 0x104 */ typedef struct { - __u32 Attributes; - __u32 MaxPathNameComponentLength; - __u32 FileSystemNameLen; + __le32 Attributes; + __le32 MaxPathNameComponentLength; + __le32 FileSystemNameLen; char FileSystemName[52]; /* do not really need to save this - so potentially get only subset of name */ } FILE_SYSTEM_ATTRIBUTE_INFO; typedef struct { /* data block encoding of response to level 263 QPathInfo */ - __u64 CreationTime; - __u64 LastAccessTime; - __u64 LastWriteTime; - __u64 ChangeTime; - __u32 Attributes; + __le64 CreationTime; + __le64 LastAccessTime; + __le64 LastWriteTime; + __le64 ChangeTime; + __le32 Attributes; __u32 Pad1; - __u64 AllocationSize; - __u64 EndOfFile; /* size ie offset to first free byte in file */ - __u32 NumberOfLinks; /* hard links */ + __le64 AllocationSize; + __le64 EndOfFile; /* size ie offset to first free byte in file */ + __le32 NumberOfLinks; /* hard links */ __u8 DeletePending; __u8 Directory; __u16 Pad2; __u64 IndexNumber; - __u32 EASize; - __u32 AccessFlags; + __le32 EASize; + __le32 AccessFlags; __u64 IndexNumber1; - __u64 CurrentByteOffset; - __u32 Mode; - __u32 AlignmentRequirement; - __u32 FileNameLength; + __le64 CurrentByteOffset; + __le32 Mode; + __le32 AlignmentRequirement; + __le32 FileNameLength; char FileName[1]; } FILE_ALL_INFO; /* level 263 QPathInfo */ typedef struct { - __u64 EndOfFile; - __u64 NumOfBytes; - __u64 LastStatusChange; /*SNIA spec says DCE time for the three time fields */ - __u64 LastAccessTime; - __u64 LastModificationTime; - __u64 Uid; - __u64 Gid; - __u32 Type; - __u64 DevMajor; - __u64 DevMinor; + __le64 EndOfFile; + __le64 NumOfBytes; + __le64 LastStatusChange; /*SNIA spec says DCE time for the three time fields */ + __le64 LastAccessTime; + __le64 LastModificationTime; + __le64 Uid; + __le64 Gid; + __le32 Type; + __le64 DevMajor; + __le64 DevMinor; __u64 UniqueId; - __u64 Permissions; - __u64 Nlinks; + __le64 Permissions; + __le64 Nlinks; } FILE_UNIX_BASIC_INFO; /* level 512 QPathInfo */ typedef struct { @@ -1645,52 +1645,52 @@ typedef struct { #define UNIX_SOCKET 6 typedef struct { - __u32 NextEntryOffset; - __u32 ResumeKey; - __u64 EndOfFile; - __u64 NumOfBytes; - __u64 LastStatusChange; /*SNIA spec says DCE time for the three time fields */ - __u64 LastAccessTime; - __u64 LastModificationTime; - __u64 Uid; - __u64 Gid; - __u32 Type; - __u64 DevMajor; - __u64 DevMinor; - __u64 UniqueId; - __u64 Permissions; - __u64 Nlinks; + __le32 NextEntryOffset; + __le32 ResumeKey; + __le64 EndOfFile; + __le64 NumOfBytes; + __le64 LastStatusChange; /*SNIA spec says DCE time for the three time fields */ + __le64 LastAccessTime; + __le64 LastModificationTime; + __le64 Uid; + __le64 Gid; + __le32 Type; + __le64 DevMajor; + __le64 DevMinor; + __le64 UniqueId; + __le64 Permissions; + __le64 Nlinks; char FileName[1]; } FILE_UNIX_INFO; typedef struct { - __u64 CreationTime; - __u64 LastAccessTime; - __u64 LastWriteTime; - __u64 ChangeTime; - __u32 Attributes; + __le64 CreationTime; + __le64 LastAccessTime; + __le64 LastWriteTime; + __le64 ChangeTime; + __le32 Attributes; __u32 Pad; } FILE_BASIC_INFO; /* size info, level 0x101 */ struct file_allocation_info { - __u64 AllocationSize; + __le64 AllocationSize; }; /* size info, level 0x103 */ struct file_end_of_file_info { - __u64 FileSize; /* offset to end of file */ + __le64 FileSize; /* offset to end of file */ }; /* size info, level 0x104 */ typedef struct { - __u32 NextEntryOffset; + __le32 NextEntryOffset; __u32 FileIndex; - __u64 CreationTime; - __u64 LastAccessTime; - __u64 LastWriteTime; - __u64 ChangeTime; - __u64 EndOfFile; - __u64 AllocationSize; - __u32 ExtFileAttributes; - __u32 FileNameLength; + __le64 CreationTime; + __le64 LastAccessTime; + __le64 LastWriteTime; + __le64 ChangeTime; + __le64 EndOfFile; + __le64 AllocationSize; + __le32 ExtFileAttributes; + __le32 FileNameLength; char FileName[1]; } FILE_DIRECTORY_INFO; /* level 257 FF response data area */ @@ -1707,7 +1707,7 @@ struct gealist { struct fea { unsigned char EA_flags; __u8 name_len; - __u16 value_len; + __le16 value_len; char name[1]; /* optionally followed by value */ }; @@ -1715,7 +1715,7 @@ struct fea { #define FEA_NEEDEA 0x80 /* need EA bit */ struct fealist { - __u32 list_len; + __le32 list_len; struct fea list[1]; }; @@ -1726,6 +1726,7 @@ struct data_blob { void (*free) (struct data_blob * data_blob); }; + #ifdef CONFIG_CIFS_POSIX /* For better POSIX semantics from Linux client, (even better @@ -1774,9 +1775,9 @@ struct data_blob { COPY (note support for copy across directories) - FUTURE, OPTIONAL setting/getting OS/2 EAs - FUTURE (BB can this handle - setting Linux xattrs perfectly) - OPTIONAL - dnotify - FUTURE, OPTIONAL - quota - FUTURE, OPTIONAL + setting Linux xattrs perfectly) - OPTIONAL + dnotify - FUTURE, OPTIONAL + quota - FUTURE, OPTIONAL Note that various requests implemented for NT interop such as NT_TRANSACT (IOCTL) QueryReparseInfo @@ -1801,6 +1802,34 @@ struct data_blob { */ + +/* xsymlink is a symlink format that can be used + to save symlink info in a regular file when + mounted to operating systems that do not + support the cifs Unix extensions or EAs (for xattr + based symlinks). For such a file to be recognized + as containing symlink data: + + 1) file size must be 1067, + 2) signature must begin file data, + 3) length field must be set to ASCII representation + of a number which is less than or equal to 1024, + 4) md5 must match that of the path data */ + +struct xsymlink { + /* 1067 bytes */ + char signature[4]; /* XSym */ /* not null terminated */ + char cr0; /* \n */ +/* ASCII representation of length (4 bytes decimal) terminated by \n not null */ + char length[4]; + char cr1; /* \n */ +/* md5 of valid subset of path ie path[0] through path[length-1] */ + __u8 md5[32]; + char cr2; /* \n */ +/* if room left, then end with \n then 0x20s by convention but not required */ + char path[1024]; +}; + #endif #pragma pack() /* resume default structure packing */ diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index 827370077..572b6a404 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h @@ -37,7 +37,7 @@ extern int smb_send(struct socket *, struct smb_hdr *, extern unsigned int _GetXid(void); extern void _FreeXid(unsigned int); #define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__FUNCTION__, xid,current->fsuid)); -#define FreeXid(curr_xid) {_FreeXid(curr_xid); cFYI(1,("CIFS VFS: leaving %s (xid = %d) rc = %d",__FUNCTION__,curr_xid,rc));} +#define FreeXid(curr_xid) {_FreeXid(curr_xid); cFYI(1,("CIFS VFS: leaving %s (xid = %d) rc = %d",__FUNCTION__,curr_xid,(int)rc));} extern char *build_path_from_dentry(struct dentry *); extern char *build_wildcard_path_from_dentry(struct dentry *direntry); extern void renew_parental_timestamps(struct dentry *direntry); diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index dc9e0fd4e..8e1718538 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -183,6 +183,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) int rc = 0; int bytes_returned; struct TCP_Server_Info * server; + u16 count; if(ses->server) server = ses->server; @@ -199,12 +200,12 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) if (extended_security) pSMB->hdr.Flags2 |= SMBFLG2_EXT_SEC; - pSMB->ByteCount = strlen(protocols[0].name) + 1; + count = strlen(protocols[0].name) + 1; strncpy(pSMB->DialectsArray, protocols[0].name, 30); /* null guaranteed to be at end of source and target buffers anyway */ - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += count; + pSMB->ByteCount = cpu_to_le16(count); rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -234,10 +235,12 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) /* BB might be helpful to save off the domain of server here */ - if (pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC) { - if (pSMBr->ByteCount < 16) + if ((pSMBr->hdr.Flags2 & SMBFLG2_EXT_SEC) && + (server->capabilities & CAP_EXTENDED_SECURITY)) { + count = pSMBr->ByteCount; + if (count < 16) rc = -EIO; - else if (pSMBr->ByteCount == 16) { + else if (count == 16) { server->secType = RawNTLMSSP; if (server->socketUseCount.counter > 1) { if (memcmp @@ -260,8 +263,8 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses) rc = decode_negTokenInit(pSMBr->u. extended_response. SecurityBlob, - pSMBr->ByteCount - - 16, &server->secType); + count - 16, + &server->secType); } } else server->capabilities &= ~CAP_EXTENDED_SECURITY; @@ -365,9 +368,12 @@ CIFSSMBLogoff(const int xid, struct cifsSesInfo *ses) rc = smb_init(SMB_COM_LOGOFF_ANDX, 2, NULL /* no tcon anymore */, (void **) &pSMB, (void **) &smb_buffer_response); - - if(ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) - pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; + + if(ses->server) { + if(ses->server->secMode & + (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) + pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE; + } if (rc) { up(&ses->sesSem); @@ -430,10 +436,9 @@ DelFileRetry: } pSMB->SearchAttributes = cpu_to_le16(ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM); - pSMB->ByteCount = name_len + 1; pSMB->BufferFormat = 0x04; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += name_len + 1; + pSMB->ByteCount = cpu_to_le16(name_len + 1); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -482,10 +487,9 @@ RmDirRetry: strncpy(pSMB->DirName, dirName, name_len); } - pSMB->ByteCount = name_len + 1; pSMB->BufferFormat = 0x04; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += name_len + 1; + pSMB->ByteCount = cpu_to_le16(name_len + 1); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -533,10 +537,9 @@ MkDirRetry: strncpy(pSMB->DirName, name, name_len); } - pSMB->ByteCount = name_len + 1 /* for buf format */ ; pSMB->BufferFormat = 0x04; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += name_len + 1; + pSMB->ByteCount = cpu_to_le16(name_len + 1); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -566,6 +569,7 @@ CIFSSMBOpen(const int xid, struct cifsTconInfo *tcon, OPEN_RSP *pSMBr = NULL; int bytes_returned; int name_len; + __u16 count; openRetry: rc = smb_init(SMB_COM_NT_CREATE_ANDX, 24, tcon, (void **) &pSMB, @@ -576,7 +580,7 @@ openRetry: pSMB->AndXCommand = 0xFF; /* none */ if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { - pSMB->ByteCount = 1; /* account for one byte pad to word boundary */ + count = 1; /* account for one byte pad to word boundary */ name_len = cifs_strtoUCS((wchar_t *) (pSMB->fileName + 1), fileName, 530 @@ -586,7 +590,7 @@ openRetry: name_len *= 2; pSMB->NameLength = cpu_to_le16(name_len); } else { /* BB improve the check for buffer overruns BB */ - pSMB->ByteCount = 0; /* no pad */ + count = 0; /* no pad */ name_len = strnlen(fileName, 530); name_len++; /* trailing null */ pSMB->NameLength = cpu_to_le16(name_len); @@ -599,30 +603,29 @@ openRetry: } pSMB->DesiredAccess = cpu_to_le32(access_flags); pSMB->AllocationSize = 0; - pSMB->FileAttributes = ATTR_NORMAL; + pSMB->FileAttributes = cpu_to_le32(ATTR_NORMAL); /* XP does not handle ATTR_POSIX_SEMANTICS */ /* but it helps speed up case sensitive checks for other servers such as Samba */ if (tcon->ses->capabilities & CAP_UNIX) - pSMB->FileAttributes |= ATTR_POSIX_SEMANTICS; + pSMB->FileAttributes |= cpu_to_le32(ATTR_POSIX_SEMANTICS); /* if ((omode & S_IWUGO) == 0) - pSMB->FileAttributes |= ATTR_READONLY;*/ + pSMB->FileAttributes |= cpu_to_le32(ATTR_READONLY);*/ /* Above line causes problems due to vfs splitting create into two pieces - need to set mode after file created not while it is being created */ - pSMB->FileAttributes = cpu_to_le32(pSMB->FileAttributes); pSMB->ShareAccess = cpu_to_le32(FILE_SHARE_ALL); pSMB->CreateDisposition = cpu_to_le32(openDisposition); pSMB->CreateOptions = cpu_to_le32(create_options); pSMB->ImpersonationLevel = cpu_to_le32(SECURITY_IMPERSONATION); /* BB ??*/ pSMB->SecurityFlags = - cpu_to_le32(SECURITY_CONTEXT_TRACKING | SECURITY_EFFECTIVE_ONLY); + SECURITY_CONTEXT_TRACKING | SECURITY_EFFECTIVE_ONLY; - pSMB->ByteCount += name_len; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; + count += name_len; + pSMB->hdr.smb_buf_length += count; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->ByteCount = cpu_to_le16(count); /* long_op set to 1 to allow for oplock break timeouts */ rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 1); @@ -694,24 +697,24 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon, if (rc) { cERROR(1, ("Send error in read = %d", rc)); } else { - pSMBr->DataLength = le16_to_cpu(pSMBr->DataLength); - *nbytes = pSMBr->DataLength; + __u16 data_length = le16_to_cpu(pSMBr->DataLength); + *nbytes = data_length; /*check that DataLength would not go beyond end of SMB */ - if ((pSMBr->DataLength > CIFS_MAX_MSGSIZE) - || (pSMBr->DataLength > count)) { - cFYI(1,("bad length %d for count %d",pSMBr->DataLength,count)); + if ((data_length > CIFS_MAX_MSGSIZE) + || (data_length > count)) { + cFYI(1,("bad length %d for count %d",data_length,count)); rc = -EIO; *nbytes = 0; } else { pReadData = (char *) (&pSMBr->hdr.Protocol) + le16_to_cpu(pSMBr->DataOffset); -/* if(rc = copy_to_user(buf, pReadData, pSMBr->DataLength)) { +/* if(rc = copy_to_user(buf, pReadData, data_length)) { cERROR(1,("Faulting on read rc = %d",rc)); rc = -EFAULT; }*/ /* can not use copy_to_user when using page cache*/ if(*buf) - memcpy(*buf,pReadData,pSMBr->DataLength); + memcpy(*buf,pReadData,data_length); } } if (pSMB) { @@ -736,6 +739,8 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon, WRITE_REQ *pSMB = NULL; WRITE_RSP *pSMBr = NULL; int bytes_returned; + unsigned bytes_sent; + __u16 byte_count; rc = smb_init(SMB_COM_WRITE_ANDX, 14, tcon, (void **) &pSMB, (void **) &pSMBr); @@ -750,21 +755,20 @@ CIFSSMBWrite(const int xid, struct cifsTconInfo *tcon, pSMB->OffsetLow = cpu_to_le32(offset & 0xFFFFFFFF); pSMB->OffsetHigh = cpu_to_le32(offset >> 32); pSMB->Remaining = 0; - if (count > ((tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) & 0xFFFFFF00)) - pSMB->DataLengthLow = - (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) & 0xFFFFFF00; - else - pSMB->DataLengthLow = count; + bytes_sent = (tcon->ses->server->maxBuf - MAX_CIFS_HDR_SIZE) & ~0xFF; + if (bytes_sent > count) + bytes_sent = count; pSMB->DataLengthHigh = 0; pSMB->DataOffset = cpu_to_le16(offsetof(struct smb_com_write_req,Data) - 4); - memcpy(pSMB->Data,buf,pSMB->DataLengthLow); + memcpy(pSMB->Data,buf,bytes_sent); - pSMB->ByteCount += pSMB->DataLengthLow + 1 /* pad */ ; - pSMB->DataLengthLow = cpu_to_le16(pSMB->DataLengthLow); - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + byte_count = bytes_sent + 1 /* pad */ ; + pSMB->DataLengthLow = cpu_to_le16(bytes_sent); + pSMB->DataLengthHigh = 0; + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, long_op); @@ -794,7 +798,7 @@ CIFSSMBLock(const int xid, struct cifsTconInfo *tcon, LOCK_RSP *pSMBr = NULL; int bytes_returned; int timeout = 0; - __u64 temp; + __u16 count; cFYI(1, ("In CIFSSMBLock - timeout %d numLock %d",waitFlag,numLock)); rc = smb_init(SMB_COM_LOCKING_ANDX, 8, tcon, (void **) &pSMB, @@ -807,33 +811,31 @@ CIFSSMBLock(const int xid, struct cifsTconInfo *tcon, pSMB->Timeout = 0; } else if (waitFlag == TRUE) { timeout = 3; /* blocking operation, no timeout */ - pSMB->Timeout = -1; /* blocking - do not time out */ + pSMB->Timeout = cpu_to_le32(-1);/* blocking - do not time out */ } else { pSMB->Timeout = 0; } - pSMB->NumberOfLocks = cpu_to_le32(numLock); - pSMB->NumberOfUnlocks = cpu_to_le32(numUnlock); + pSMB->NumberOfLocks = cpu_to_le16(numLock); + pSMB->NumberOfUnlocks = cpu_to_le16(numUnlock); pSMB->LockType = lockType; pSMB->AndXCommand = 0xFF; /* none */ pSMB->Fid = smb_file_id; /* netfid stays le */ - if(numLock != 0) { + if((numLock != 0) || (numUnlock != 0)) { pSMB->Locks[0].Pid = cpu_to_le16(current->tgid); /* BB where to store pid high? */ - temp = cpu_to_le64(len); - pSMB->Locks[0].LengthLow = (__u32)(temp & 0xFFFFFFFF); - pSMB->Locks[0].LengthHigh = (__u32)(temp>>32); - temp = cpu_to_le64(offset); - pSMB->Locks[0].OffsetLow = (__u32)(temp & 0xFFFFFFFF); - pSMB->Locks[0].OffsetHigh = (__u32)(temp>>32); - pSMB->ByteCount = sizeof (LOCKING_ANDX_RANGE); + pSMB->Locks[0].LengthLow = cpu_to_le32((u32)len); + pSMB->Locks[0].LengthHigh = cpu_to_le32((u32)(len>>32)); + pSMB->Locks[0].OffsetLow = cpu_to_le32((u32)offset); + pSMB->Locks[0].OffsetHigh = cpu_to_le32((u32)(offset>>32)); + count = sizeof(LOCKING_ANDX_RANGE); } else { /* oplock break */ - pSMB->ByteCount = 0; + count = 0; } - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += count; + pSMB->ByteCount = cpu_to_le16(count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, timeout); @@ -897,6 +899,7 @@ CIFSSMBRename(const int xid, struct cifsTconInfo *tcon, RENAME_RSP *pSMBr = NULL; int bytes_returned; int name_len, name_len2; + __u16 count; cFYI(1, ("In CIFSSMBRename")); renameRetry: @@ -938,9 +941,9 @@ renameRetry: name_len2++; /* signature byte */ } - pSMB->ByteCount = 1 /* 1st signature byte */ + name_len + name_len2; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + count = 1 /* 1st signature byte */ + name_len + name_len2; + pSMB->hdr.smb_buf_length += count; + pSMB->ByteCount = cpu_to_le16(count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -974,6 +977,7 @@ int CIFSSMBRenameOpenFile(const int xid,struct cifsTconInfo *pTcon, int rc = 0; int bytes_returned = 0; int len_of_str; + __u16 params, param_offset, offset, count, byte_count; cFYI(1, ("Rename to File by handle")); rc = smb_init(SMB_COM_TRANSACTION2, 15, pTcon, (void **) &pSMB, @@ -981,28 +985,27 @@ int CIFSSMBRenameOpenFile(const int xid,struct cifsTconInfo *pTcon, if (rc) return rc; - pSMB->ParameterCount = 6; + params = 6; pSMB->MaxSetupCount = 0; pSMB->Reserved = 0; pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_sfi_req, - Fid) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + param_offset = offsetof(struct smb_com_transaction2_sfi_req, Fid) - 4; + offset = param_offset + params; - data_offset = (char *) (&pSMB->hdr.Protocol) + pSMB->DataOffset; + data_offset = (char *) (&pSMB->hdr.Protocol) + offset; rename_info = (struct set_file_rename *) data_offset; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB PDU from sess */ pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + byte_count = 3 /* pad */ + params; + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalParameterCount = pSMB->ParameterCount; - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); /* construct random name ".cifs_tmp" */ rename_info->overwrite = cpu_to_le32(1); rename_info->root_fid = 0; @@ -1014,16 +1017,16 @@ int CIFSSMBRenameOpenFile(const int xid,struct cifsTconInfo *pTcon, len_of_str = cifs_strtoUCS((wchar_t *) rename_info->target_name, target_name, 530, nls_codepage); } rename_info->target_name_len = cpu_to_le32(2 * len_of_str); - pSMB->DataCount = 12 /* sizeof(struct set_file_rename) */ + (2 * len_of_str) + 2; - pSMB->ByteCount += pSMB->DataCount; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); + count = 12 /* sizeof(struct set_file_rename) */ + (2 * len_of_str) + 2; + byte_count += count; + pSMB->DataCount = cpu_to_le16(count); pSMB->TotalDataCount = pSMB->DataCount; pSMB->Fid = netfid; pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_RENAME_INFORMATION); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, pTcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -1053,6 +1056,7 @@ CIFSSMBCopy(const int xid, struct cifsTconInfo *tcon, const char * fromName, COPY_RSP *pSMBr = NULL; int bytes_returned; int name_len, name_len2; + __u16 count; cFYI(1, ("In CIFSSMBCopy")); copyRetry: @@ -1064,9 +1068,7 @@ copyRetry: pSMB->BufferFormat = 0x04; pSMB->Tid2 = target_tid; - if(flags & COPY_TREE) - pSMB->Flags |= COPY_TREE; - pSMB->Flags = cpu_to_le16(pSMB->Flags); + pSMB->Flags = cpu_to_le16(flags & COPY_TREE); if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { name_len = cifs_strtoUCS((wchar_t *) pSMB->OldFileName, @@ -1095,15 +1097,15 @@ copyRetry: name_len2++; /* signature byte */ } - pSMB->ByteCount = 1 /* 1st signature byte */ + name_len + name_len2; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + count = 1 /* 1st signature byte */ + name_len + name_len2; + pSMB->hdr.smb_buf_length += count; + pSMB->ByteCount = cpu_to_le16(count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in copy = %d with %d files copied", - rc, pSMBr->CopyCount)); + rc, le16_to_cpu(pSMBr->CopyCount))); } if (pSMB) cifs_buf_release(pSMB); @@ -1126,6 +1128,7 @@ CIFSUnixCreateSymLink(const int xid, struct cifsTconInfo *tcon, int name_len_target; int rc = 0; int bytes_returned = 0; + __u16 params, param_offset, offset, byte_count; cFYI(1, ("In Symlink Unix style")); createSymLinkRetry: @@ -1147,17 +1150,17 @@ createSymLinkRetry: name_len++; /* trailing null */ strncpy(pSMB->FileName, fromName, name_len); } - pSMB->ParameterCount = 6 + name_len; + params = 6 + name_len; pSMB->MaxSetupCount = 0; pSMB->Reserved = 0; pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + offset = param_offset + params; - data_offset = (char *) (&pSMB->hdr.Protocol) + pSMB->DataOffset; + data_offset = (char *) (&pSMB->hdr.Protocol) + offset; if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { name_len_target = cifs_strtoUCS((wchar_t *) data_offset, toName, 530 @@ -1171,24 +1174,23 @@ createSymLinkRetry: strncpy(data_offset, toName, name_len_target); } - pSMB->DataCount = name_len_target; pSMB->MaxParameterCount = cpu_to_le16(2); /* BB find exact max on data count below from sess */ pSMB->MaxDataCount = cpu_to_le16(1000); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + byte_count = 3 /* pad */ + params + name_len_target; + pSMB->DataCount = cpu_to_le16(name_len_target); + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalDataCount = pSMB->DataCount; pSMB->TotalParameterCount = pSMB->ParameterCount; - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_LINK); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -1218,6 +1220,7 @@ CIFSUnixCreateHardLink(const int xid, struct cifsTconInfo *tcon, int name_len_target; int rc = 0; int bytes_returned = 0; + __u16 params, param_offset, offset, byte_count; cFYI(1, ("In Create Hard link Unix style")); createHardLinkRetry: @@ -1238,17 +1241,17 @@ createHardLinkRetry: name_len++; /* trailing null */ strncpy(pSMB->FileName, toName, name_len); } - pSMB->ParameterCount = 6 + name_len; + params = 6 + name_len; pSMB->MaxSetupCount = 0; pSMB->Reserved = 0; pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + offset = param_offset + params; - data_offset = (char *) (&pSMB->hdr.Protocol) + pSMB->DataOffset; + data_offset = (char *) (&pSMB->hdr.Protocol) + offset; if (pSMB->hdr.Flags2 & SMBFLG2_UNICODE) { name_len_target = cifs_strtoUCS((wchar_t *) data_offset, fromName, 530 @@ -1262,24 +1265,23 @@ createHardLinkRetry: strncpy(data_offset, fromName, name_len_target); } - pSMB->DataCount = name_len_target; pSMB->MaxParameterCount = cpu_to_le16(2); /* BB find exact max on data count below from sess*/ pSMB->MaxDataCount = cpu_to_le16(1000); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + byte_count = 3 /* pad */ + params + name_len_target; + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalParameterCount = pSMB->ParameterCount; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); + pSMB->DataCount = cpu_to_le16(name_len_target); pSMB->TotalDataCount = pSMB->DataCount; - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_HLINK); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -1304,6 +1306,7 @@ CIFSCreateHardLink(const int xid, struct cifsTconInfo *tcon, RENAME_RSP *pSMBr = NULL; int bytes_returned; int name_len, name_len2; + __u16 count; cFYI(1, ("In CIFSCreateHardLink")); winCreateHardLinkRetry: @@ -1348,9 +1351,9 @@ winCreateHardLinkRetry: name_len2++; /* signature byte */ } - pSMB->ByteCount = 1 /* string type byte */ + name_len + name_len2; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + count = 1 /* string type byte */ + name_len + name_len2; + pSMB->hdr.smb_buf_length += count; + pSMB->ByteCount = cpu_to_le16(count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -1377,6 +1380,7 @@ CIFSSMBUnixQuerySymLink(const int xid, struct cifsTconInfo *tcon, int rc = 0; int bytes_returned; int name_len; + __u16 params, byte_count; cFYI(1, ("In QPathSymLinkInfo (Unix) for path %s", searchName)); @@ -1399,8 +1403,7 @@ querySymLinkRetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = - 2 /* level */ + 4 /* rsrvd */ + name_len /* incl null */ ; + params = 2 /* level */ + 4 /* rsrvd */ + name_len /* incl null */ ; pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); /* BB find exact max data count below from sess structure BB */ @@ -1417,38 +1420,38 @@ querySymLinkRetry: pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_LINK); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in QuerySymLinkInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); - pSMBr->DataCount = le16_to_cpu(pSMBr->DataCount); - if ((pSMBr->ByteCount < 2) || (pSMBr->DataOffset > 512)) + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); + __u16 count = le16_to_cpu(pSMBr->DataCount); + if ((pSMBr->ByteCount < 2) || (data_offset > 512)) /* BB also check enough total bytes returned */ rc = -EIO; /* bad smb */ else { if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { name_len = UniStrnlen((wchar_t *) ((char *) - &pSMBr->hdr.Protocol +pSMBr->DataOffset), - min_t(const int, buflen,pSMBr->DataCount) / 2); + &pSMBr->hdr.Protocol +data_offset), + min_t(const int, buflen,count) / 2); cifs_strfromUCS_le(symlinkinfo, (wchar_t *) ((char *)&pSMBr->hdr.Protocol + - pSMBr->DataOffset), + data_offset), name_len, nls_codepage); } else { strncpy(symlinkinfo, (char *) &pSMBr->hdr.Protocol + - pSMBr->DataOffset, - min_t(const int, buflen, pSMBr->DataCount)); + data_offset, + min_t(const int, buflen, count)); } symlinkinfo[buflen] = 0; /* just in case so calling code does not go off the end of buffer */ @@ -1505,16 +1508,16 @@ CIFSSMBQueryReparseLinkInfo(const int xid, struct cifsTconInfo *tcon, if (rc) { cFYI(1, ("Send error in QueryReparseLinkInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); - pSMBr->DataCount = le16_to_cpu(pSMBr->DataCount); - if ((pSMBr->ByteCount < 2) || (pSMBr->DataOffset > 512)) + __u32 data_offset = le32_to_cpu(pSMBr->DataOffset); + __u32 data_count = le32_to_cpu(pSMBr->DataCount); + if ((pSMBr->ByteCount < 2) || (data_offset > 512)) /* BB also check enough total bytes returned */ rc = -EIO; /* bad smb */ else { - if(pSMBr->DataCount && (pSMBr->DataCount < 2048)) { + if(data_count && (data_count < 2048)) { /* could also validate reparse tag && better check name length */ struct reparse_data * reparse_buf = (struct reparse_data *) - ((char *)&pSMBr->hdr.Protocol + pSMBr->DataOffset); + ((char *)&pSMBr->hdr.Protocol + data_offset); if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { name_len = UniStrnlen((wchar_t *) (reparse_buf->LinkNamesBuf + @@ -1559,6 +1562,7 @@ CIFSSMBQPathInfo(const int xid, struct cifsTconInfo *tcon, int rc = 0; int bytes_returned; int name_len; + __u16 params, byte_count; cFYI(1, ("In QPathInfo path %s", searchName)); QPathInfoRetry: @@ -1580,8 +1584,7 @@ QPathInfoRetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = 2 /* level */ + 4 /* reserved */ + - name_len /* includes null */ ; + params = 2 /* level */ + 4 /* reserved */ + name_len /* includes NUL */ ; pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(4000); /* BB find exact max SMB PDU from sess structure BB */ @@ -1597,29 +1600,29 @@ QPathInfoRetry: pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_ALL_INFO); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in QPathInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); /* BB also check enough total bytes returned */ /* BB we need to improve the validity checking of these trans2 responses */ - if ((pSMBr->ByteCount < 40) || (pSMBr->DataOffset > 512)) + if ((pSMBr->ByteCount < 40) || (data_offset > 512)) rc = -EIO; /* bad smb */ else if (pFindData){ memcpy((char *) pFindData, (char *) &pSMBr->hdr.Protocol + - pSMBr->DataOffset, sizeof (FILE_ALL_INFO)); + data_offset, sizeof (FILE_ALL_INFO)); } else rc = -ENOMEM; } @@ -1643,6 +1646,7 @@ CIFSSMBUnixQPathInfo(const int xid, struct cifsTconInfo *tcon, int rc = 0; int bytes_returned = 0; int name_len; + __u16 params, byte_count; cFYI(1, ("In QPathInfo (Unix) the path %s", searchName)); UnixQPathInfoRetry: @@ -1664,8 +1668,7 @@ UnixQPathInfoRetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = 2 /* level */ + 4 /* reserved */ + - name_len /* includes null */ ; + params = 2 /* level */ + 4 /* reserved */ + name_len /* includes NUL */ ; pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); /* BB find exact max SMB PDU from sess structure BB */ @@ -1682,31 +1685,31 @@ UnixQPathInfoRetry: pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FILE_UNIX_BASIC); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in QPathInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); /* BB also check if enough total bytes returned */ if ((pSMBr->ByteCount < sizeof(FILE_UNIX_BASIC_INFO)) || - (pSMBr->DataOffset > 512) || - (pSMBr->DataOffset < sizeof(struct smb_hdr))) { + (data_offset > 512) || + (data_offset < sizeof(struct smb_hdr))) { cFYI(1,("UnixQPathinfo invalid data offset %d bytes returned %d", - (int)pSMBr->DataOffset,bytes_returned)); + (int)data_offset,bytes_returned)); rc = -EIO; /* bad smb */ } else { memcpy((char *) pFindData, (char *) &pSMBr->hdr.Protocol + - pSMBr->DataOffset, + data_offset, sizeof (FILE_UNIX_BASIC_INFO)); } } @@ -1729,6 +1732,7 @@ CIFSFindSingle(const int xid, struct cifsTconInfo *tcon, int rc = 0; int bytes_returned; int name_len; + __u16 params, byte_count; cFYI(1, ("In FindUnique")); findUniqueRetry: @@ -1750,7 +1754,7 @@ findUniqueRetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = 12 + name_len /* includes null */ ; + params = 12 + name_len /* includes null */ ; pSMB->TotalDataCount = 0; /* no EAs */ pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(4000); /* BB find exact max SMB PDU from sess structure BB */ @@ -1766,8 +1770,8 @@ findUniqueRetry: pSMB->SetupCount = 1; /* one byte, no need to le convert */ pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_FIND_FIRST); - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalDataCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->SearchAttributes = cpu_to_le16(ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | @@ -1776,8 +1780,8 @@ findUniqueRetry: pSMB->SearchFlags = cpu_to_le16(1); pSMB->InformationLevel = cpu_to_le16(SMB_FIND_FILE_DIRECTORY_INFO); pSMB->SearchStorageType = 0; /* BB what should we set this to? BB */ - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -1810,6 +1814,7 @@ CIFSFindFirst(const int xid, struct cifsTconInfo *tcon, int rc = 0; int bytes_returned; int name_len; + __u16 params, byte_count; cFYI(1, ("In FindFirst")); findFirstRetry: @@ -1831,7 +1836,7 @@ findFirstRetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = 12 + name_len /* includes null */ ; + params = 12 + name_len /* includes null */ ; pSMB->TotalDataCount = 0; /* no EAs */ pSMB->MaxParameterCount = cpu_to_le16(10); pSMB->MaxDataCount = cpu_to_le16((tcon->ses->server->maxBuf - @@ -1841,8 +1846,8 @@ findFirstRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->ParameterOffset = cpu_to_le16(offsetof(struct smb_com_transaction2_ffirst_req, SearchAttributes) - 4); @@ -1867,8 +1872,8 @@ findFirstRetry: *pUnixFlag = FALSE; } pSMB->SearchStorageType = 0; /* BB what should we set this to? It is not clear if it matters BB */ - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -1885,11 +1890,6 @@ findFirstRetry: (char *) &pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->ParameterOffset), sizeof (T2_FFIRST_RSP_PARMS)); - /* search handle can stay LE and EAoffset not needed so not converted */ - findParms->EndofSearch = le16_to_cpu(findParms->EndofSearch); - findParms->LastNameOffset = - le16_to_cpu(findParms->LastNameOffset); - findParms->SearchCount = le16_to_cpu(findParms->SearchCount); response_data = (char *) &pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->DataOffset); @@ -1916,6 +1916,7 @@ CIFSFindNext(const int xid, struct cifsTconInfo *tcon, char *response_data; int rc = 0; int bytes_returned; + __u16 params, byte_count; cFYI(1, ("In FindNext")); @@ -1927,7 +1928,8 @@ CIFSFindNext(const int xid, struct cifsTconInfo *tcon, if (rc) return rc; - pSMB->TotalParameterCount = 14; /* includes 2 bytes of null string, converted to LE below */ + params = 14; /* includes 2 bytes of null string, converted to LE below */ + byte_count = 0; pSMB->TotalDataCount = 0; /* no EAs */ pSMB->MaxParameterCount = cpu_to_le16(8); pSMB->MaxDataCount = @@ -1963,15 +1965,15 @@ CIFSFindNext(const int xid, struct cifsTconInfo *tcon, /* BB add check to make sure we do not cross end of smb */ if(name_len < CIFS_MAX_MSGSIZE) { memcpy(pSMB->ResumeFileName, resume_file_name, name_len); - pSMB->ByteCount += name_len; + byte_count += name_len; } - pSMB->TotalParameterCount += name_len; - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + params += name_len; + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; /* BB improve error handling here */ - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -1991,10 +1993,6 @@ CIFSFindNext(const int xid, struct cifsTconInfo *tcon, (char *) &pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->ParameterOffset), sizeof (T2_FNEXT_RSP_PARMS)); - findParms->EndofSearch = le16_to_cpu(findParms->EndofSearch); - findParms->LastNameOffset = - le16_to_cpu(findParms->LastNameOffset); - findParms->SearchCount = le16_to_cpu(findParms->SearchCount); response_data = (char *) &pSMBr->hdr.Protocol + le16_to_cpu(pSMBr->DataOffset); @@ -2060,6 +2058,7 @@ CIFSGetDFSRefer(const int xid, struct cifsSesInfo *ses, int name_len; unsigned int i; char * temp; + __u16 params, byte_count; *number_of_UNC_in_array = 0; *targetUNCs = NULL; @@ -2096,7 +2095,7 @@ getDFSRetry: strncpy(pSMB->RequestFileName, searchName, name_len); } - pSMB->ParameterCount = 2 /* level */ + name_len /*includes null */ ; + params = 2 /* level */ + name_len /*includes null */ ; pSMB->TotalDataCount = 0; pSMB->DataCount = 0; pSMB->DataOffset = 0; @@ -2112,12 +2111,12 @@ getDFSRetry: pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_GET_DFS_REFERRAL); - pSMB->ByteCount = pSMB->ParameterCount + 3 /* pad */ ; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + byte_count = params + 3 /* pad */ ; + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalParameterCount = pSMB->ParameterCount; pSMB->MaxReferralLevel = cpu_to_le16(3); - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); @@ -2125,20 +2124,21 @@ getDFSRetry: cFYI(1, ("Send error in GetDFSRefer = %d", rc)); } else { /* decode response */ /* BB Add logic to parse referrals here */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); - pSMBr->DataCount = le16_to_cpu(pSMBr->DataCount); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_count = le16_to_cpu(pSMBr->DataCount); cFYI(1, ("Decoding GetDFSRefer response. BCC: %d Offset %d", - pSMBr->ByteCount, pSMBr->DataOffset)); - if ((pSMBr->ByteCount < 17) || (pSMBr->DataOffset > 512)) /* BB also check enough total bytes returned */ + pSMBr->ByteCount, data_offset)); + if ((pSMBr->ByteCount < 17) || (data_offset > 512)) /* BB also check enough total bytes returned */ rc = -EIO; /* bad smb */ else { referrals = (struct dfs_referral_level_3 *) (8 /* sizeof start of data block */ + - pSMBr->DataOffset + + data_offset + (char *) &pSMBr->hdr.Protocol); - cFYI(1,("num_referrals: %d dfs flags: 0x%x ... \nfor referral one refer size: 0x%x srv type: 0x%x refer flags: 0x%x ttl: 0x%x",pSMBr->NumberOfReferrals,pSMBr->DFSFlags, referrals->ReferralSize,referrals->ServerType,referrals->ReferralFlags,referrals->TimeToLive)); + cFYI(1,("num_referrals: %d dfs flags: 0x%x ... \nfor referral one refer size: 0x%x srv type: 0x%x refer flags: 0x%x ttl: 0x%x", + le16_to_cpu(pSMBr->NumberOfReferrals),le16_to_cpu(pSMBr->DFSFlags), le16_to_cpu(referrals->ReferralSize),le16_to_cpu(referrals->ServerType),le16_to_cpu(referrals->ReferralFlags),le16_to_cpu(referrals->TimeToLive))); /* BB This field is actually two bytes in from start of data block so we could do safety check that DataBlock begins at address of pSMBr->NumberOfReferrals */ @@ -2152,19 +2152,19 @@ getDFSRetry: name_len = 0; for(i=0;i<*number_of_UNC_in_array;i++) { /* make sure that DfsPathOffset not past end */ - referrals->DfsPathOffset = le16_to_cpu(referrals->DfsPathOffset); - if(referrals->DfsPathOffset > pSMBr->DataCount) { + __u16 offset = le16_to_cpu(referrals->DfsPathOffset); + if (offset > data_count) { /* if invalid referral, stop here and do not try to copy any more */ *number_of_UNC_in_array = i; break; } - temp = ((char *)referrals) + referrals->DfsPathOffset; + temp = ((char *)referrals) + offset; if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { - name_len += UniStrnlen((wchar_t *)temp,pSMBr->DataCount); + name_len += UniStrnlen((wchar_t *)temp,data_count); } else { - name_len += strnlen(temp,pSMBr->DataCount); + name_len += strnlen(temp,data_count); } referrals++; /* BB add check that referral pointer does not fall off end PDU */ @@ -2173,15 +2173,19 @@ getDFSRetry: /* BB add check for name_len bigger than bcc */ *targetUNCs = kmalloc(name_len+1+ (*number_of_UNC_in_array),GFP_KERNEL); + if(*targetUNCs == NULL) { + rc = -ENOMEM; + goto GetDFSRefExit; + } /* copy the ref strings */ referrals = (struct dfs_referral_level_3 *) (8 /* sizeof data hdr */ + - pSMBr->DataOffset + + data_offset + (char *) &pSMBr->hdr.Protocol); for(i=0;i<*number_of_UNC_in_array;i++) { - temp = ((char *)referrals) + referrals->DfsPathOffset; + temp = ((char *)referrals) + le16_to_cpu(referrals->DfsPathOffset); if (pSMBr->hdr.Flags2 & SMBFLG2_UNICODE) { cifs_strfromUCS_le(*targetUNCs, (wchar_t *) temp, name_len, nls_codepage); @@ -2196,6 +2200,7 @@ getDFSRetry: } } +GetDFSRefExit: if (pSMB) cifs_buf_release(pSMB); @@ -2215,6 +2220,7 @@ CIFSSMBQFSInfo(const int xid, struct cifsTconInfo *tcon, FILE_SYSTEM_INFO *response_data; int rc = 0; int bytes_returned = 0; + __u16 params, byte_count; cFYI(1, ("In QFSInfo")); QFSInfoRetry: @@ -2223,7 +2229,7 @@ QFSInfoRetry: if (rc) return rc; - pSMB->TotalParameterCount = 2; /* level */ + params = 2; /* level */ pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find exact max SMB PDU from sess structure BB */ @@ -2232,8 +2238,8 @@ QFSInfoRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->ParameterOffset = cpu_to_le16(offsetof( struct smb_com_transaction2_qfsi_req, InformationLevel) - 4); @@ -2243,25 +2249,25 @@ QFSInfoRetry: pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_SIZE_INFO); - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cERROR(1, ("Send error in QFSInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); cFYI(1, ("Decoding qfsinfo response. BCC: %d Offset %d", - pSMBr->ByteCount, pSMBr->DataOffset)); - if ((pSMBr->ByteCount < 24) || (pSMBr->DataOffset > 512)) /* BB also check enough total bytes returned */ + pSMBr->ByteCount, data_offset)); + if ((pSMBr->ByteCount < 24) || (data_offset > 512)) /* BB also check enough total bytes returned */ rc = -EIO; /* bad smb */ else { response_data = (FILE_SYSTEM_INFO *) (((char *) &pSMBr->hdr.Protocol) + - pSMBr->DataOffset); + data_offset); FSData->f_bsize = le32_to_cpu(response_data->BytesPerSector) * le32_to_cpu(response_data-> @@ -2296,6 +2302,7 @@ CIFSSMBQFSAttributeInfo(const int xid, struct cifsTconInfo *tcon, FILE_SYSTEM_ATTRIBUTE_INFO *response_data; int rc = 0; int bytes_returned = 0; + __u16 params, byte_count; cFYI(1, ("In QFSAttributeInfo")); QFSAttributeRetry: @@ -2304,7 +2311,7 @@ QFSAttributeRetry: if (rc) return rc; - pSMB->TotalParameterCount = 2; /* level */ + params = 2; /* level */ pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find exact max SMB PDU from sess structure BB */ @@ -2313,8 +2320,8 @@ QFSAttributeRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->ParameterOffset = cpu_to_le16(offsetof( struct smb_com_transaction2_qfsi_req, InformationLevel) - 4); @@ -2324,27 +2331,22 @@ QFSAttributeRetry: pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_ATTRIBUTE_INFO); - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cERROR(1, ("Send error in QFSAttributeInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); - if ((pSMBr->ByteCount < 13) || (pSMBr->DataOffset > 512)) { /* BB also check enough bytes returned */ + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); + if ((pSMBr->ByteCount < 13) || (data_offset > 512)) { /* BB also check enough bytes returned */ rc = -EIO; /* bad smb */ } else { response_data = (FILE_SYSTEM_ATTRIBUTE_INFO *) (((char *) &pSMBr->hdr.Protocol) + - pSMBr->DataOffset); - response_data->Attributes = le32_to_cpu(response_data->Attributes); - response_data->MaxPathNameComponentLength = - le32_to_cpu(response_data->MaxPathNameComponentLength); - response_data->FileSystemNameLen = - le32_to_cpu(response_data->FileSystemNameLen); + data_offset); memcpy(&tcon->fsAttrInfo, response_data, sizeof (FILE_SYSTEM_ATTRIBUTE_INFO)); } @@ -2368,6 +2370,7 @@ CIFSSMBQFSDeviceInfo(const int xid, struct cifsTconInfo *tcon, FILE_SYSTEM_DEVICE_INFO *response_data; int rc = 0; int bytes_returned = 0; + __u16 params, byte_count; cFYI(1, ("In QFSDeviceInfo")); QFSDeviceRetry: @@ -2376,7 +2379,7 @@ QFSDeviceRetry: if (rc) return rc; - pSMB->TotalParameterCount = 2; /* level */ + params = 2; /* level */ pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find exact max SMB PDU from sess structure BB */ @@ -2385,8 +2388,8 @@ QFSDeviceRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->ParameterOffset = cpu_to_le16(offsetof( struct smb_com_transaction2_qfsi_req, InformationLevel) - 4); @@ -2397,27 +2400,23 @@ QFSDeviceRetry: pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_FS_DEVICE_INFO); - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in QFSDeviceInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); if ((pSMBr->ByteCount < sizeof (FILE_SYSTEM_DEVICE_INFO)) - || (pSMBr->DataOffset > 512)) + || (data_offset > 512)) rc = -EIO; /* bad smb */ else { response_data = (FILE_SYSTEM_DEVICE_INFO *) (((char *) &pSMBr->hdr.Protocol) + - pSMBr->DataOffset); - response_data->DeviceType = - le32_to_cpu(response_data->DeviceType); - response_data->DeviceCharacteristics = - le32_to_cpu(response_data->DeviceCharacteristics); + data_offset); memcpy(&tcon->fsDevInfo, response_data, sizeof (FILE_SYSTEM_DEVICE_INFO)); } @@ -2441,6 +2440,7 @@ CIFSSMBQFSUnixInfo(const int xid, struct cifsTconInfo *tcon, FILE_SYSTEM_UNIX_INFO *response_data; int rc = 0; int bytes_returned = 0; + __u16 params, byte_count; cFYI(1, ("In QFSUnixInfo")); QFSUnixRetry: @@ -2449,7 +2449,7 @@ QFSUnixRetry: if (rc) return rc; - pSMB->ParameterCount = 2; /* level */ + params = 2; /* level */ pSMB->TotalDataCount = 0; pSMB->DataCount = 0; pSMB->DataOffset = 0; @@ -2460,8 +2460,8 @@ QFSUnixRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ByteCount = pSMB->ParameterCount + 1 /* pad */ ; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalParameterCount = pSMB->ParameterCount; pSMB->ParameterOffset = cpu_to_le16(offsetof(struct smb_com_transaction2_qfsi_req, InformationLevel) - 4); @@ -2469,28 +2469,22 @@ QFSUnixRetry: pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_FS_INFORMATION); pSMB->InformationLevel = cpu_to_le16(SMB_QUERY_CIFS_UNIX_INFO); - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cERROR(1, ("Send error in QFSUnixInfo = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = cpu_to_le16(pSMBr->DataOffset); - if ((pSMBr->ByteCount < 13) || (pSMBr->DataOffset > 512)) { + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); + if ((pSMBr->ByteCount < 13) || (data_offset > 512)) { rc = -EIO; /* bad smb */ } else { response_data = (FILE_SYSTEM_UNIX_INFO *) (((char *) &pSMBr->hdr.Protocol) + - pSMBr->DataOffset); - response_data->MajorVersionNumber = - le16_to_cpu(response_data->MajorVersionNumber); - response_data->MinorVersionNumber = - le16_to_cpu(response_data->MinorVersionNumber); - response_data->Capability = - le64_to_cpu(response_data->Capability); + data_offset); memcpy(&tcon->fsUnixInfo, response_data, sizeof (FILE_SYSTEM_UNIX_INFO)); } @@ -2521,6 +2515,7 @@ CIFSSMBSetEOF(const int xid, struct cifsTconInfo *tcon, const char *fileName, int name_len; int rc = 0; int bytes_returned = 0; + __u16 params, byte_count, data_count, param_offset, offset; cFYI(1, ("In SetEOF")); SetEOFRetry: @@ -2541,8 +2536,8 @@ SetEOFRetry: name_len++; /* trailing null */ strncpy(pSMB->FileName, fileName, name_len); } - pSMB->ParameterCount = 6 + name_len; - pSMB->DataCount = sizeof (struct file_end_of_file_info); + params = 6 + name_len; + data_count = sizeof (struct file_end_of_file_info); pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB size from sess */ pSMB->MaxSetupCount = 0; @@ -2550,9 +2545,9 @@ SetEOFRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + offset = param_offset + params; if(SetAllocation) { if (tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU) pSMB->InformationLevel = @@ -2571,21 +2566,21 @@ SetEOFRetry: parm_data = (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) + - pSMB->DataOffset); - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + offset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); + byte_count = 3 /* pad */ + params + data_count; + pSMB->DataCount = cpu_to_le16(data_count); pSMB->TotalDataCount = pSMB->DataCount; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalParameterCount = pSMB->ParameterCount; pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; + pSMB->hdr.smb_buf_length += byte_count; parm_data->FileSize = cpu_to_le64(size); - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -2611,7 +2606,7 @@ CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, __u64 size, struct file_end_of_file_info *parm_data; int rc = 0; int bytes_returned = 0; - __u32 tmp; + __u16 params, param_offset, offset, byte_count, count; cFYI(1, ("SetFileSize (via SetFileInfo) %lld", (long long)size)); @@ -2620,40 +2615,36 @@ CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, __u64 size, if (rc) return rc; - tmp = cpu_to_le32(pid_of_opener); /* override pid of current process - so network fid will be valid */ - pSMB->hdr.Pid = tmp & 0xFFFF; - tmp >>= 16; - pSMB->hdr.PidHigh = tmp & 0xFFFF; + pSMB->hdr.Pid = cpu_to_le16((__u16)pid_of_opener); + pSMB->hdr.PidHigh = cpu_to_le16((__u16)(pid_of_opener >> 16)); - pSMB->ParameterCount = 6; + params = 6; pSMB->MaxSetupCount = 0; pSMB->Reserved = 0; pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_sfi_req, - Fid) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + param_offset = offsetof(struct smb_com_transaction2_sfi_req, Fid) - 4; + offset = param_offset + params; - data_offset = (char *) (&pSMB->hdr.Protocol) + pSMB->DataOffset; + data_offset = (char *) (&pSMB->hdr.Protocol) + offset; - pSMB->DataCount = sizeof(struct file_end_of_file_info); + count = sizeof(struct file_end_of_file_info); pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB PDU from sess */ pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_FILE_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + byte_count = 3 /* pad */ + params + count; + pSMB->DataCount = cpu_to_le16(count); + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalDataCount = pSMB->DataCount; pSMB->TotalParameterCount = pSMB->ParameterCount; - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); parm_data = (struct file_end_of_file_info *) (((char *) &pSMB->hdr.Protocol) + - pSMB->DataOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); /* now safe to change to le */ + offset); + pSMB->DataOffset = cpu_to_le16(offset); parm_data->FileSize = cpu_to_le64(size); pSMB->Fid = fid; if(SetAllocation) { @@ -2672,8 +2663,8 @@ CIFSSMBSetFileSize(const int xid, struct cifsTconInfo *tcon, __u64 size, cpu_to_le16(SMB_SET_FILE_END_OF_FILE_INFO); } pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -2702,6 +2693,7 @@ CIFSSMBSetTimes(const int xid, struct cifsTconInfo *tcon, const char *fileName, int rc = 0; int bytes_returned = 0; char *data_offset; + __u16 params, param_offset, offset, byte_count, count; cFYI(1, ("In SetTimes")); @@ -2724,8 +2716,8 @@ SetTimesRetry: strncpy(pSMB->FileName, fileName, name_len); } - pSMB->ParameterCount = 6 + name_len; - pSMB->DataCount = sizeof (FILE_BASIC_INFO); + params = 6 + name_len; + count = sizeof (FILE_BASIC_INFO); pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find exact max SMB PDU from sess structure BB */ pSMB->MaxSetupCount = 0; @@ -2733,19 +2725,19 @@ SetTimesRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; - data_offset = (char *) (&pSMB->hdr.Protocol) + pSMB->DataOffset; - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + offset = param_offset + params; + data_offset = (char *) (&pSMB->hdr.Protocol) + offset; + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; + byte_count = 3 /* pad */ + params + count; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + pSMB->DataCount = cpu_to_le16(count); + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalDataCount = pSMB->DataCount; pSMB->TotalParameterCount = pSMB->ParameterCount; if (tcon->ses->capabilities & CAP_INFOLEVEL_PASSTHRU) @@ -2753,9 +2745,9 @@ SetTimesRetry: else pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_BASIC_INFO); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; + pSMB->hdr.smb_buf_length += byte_count; memcpy(data_offset, data, sizeof (FILE_BASIC_INFO)); - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -2771,7 +2763,6 @@ SetTimesRetry: return rc; } - int CIFSSMBSetTimesLegacy(int xid, struct cifsTconInfo *tcon, char *fileName, FILE_INFO_STANDARD * data, const struct nls_table *nls_codepage) @@ -2782,6 +2773,7 @@ CIFSSMBSetTimesLegacy(int xid, struct cifsTconInfo *tcon, char *fileName, int rc = 0; int bytes_returned = 0; char *data_offset; + __u16 params, param_offset, count, offset, byte_count; cFYI(1, ("In SetTimesLegacy")); @@ -2805,8 +2797,8 @@ SetTimesRetryLegacy: } /* BB fixme - we have to map to FILE_STANDARD_INFO (level 1 info in parent function, from the better and ususal FILE_BASIC_INFO */ - pSMB->ParameterCount = 6 + name_len; - pSMB->DataCount = sizeof (FILE_INFO_STANDARD); + params = 6 + name_len; + count = sizeof (FILE_INFO_STANDARD); pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find exact max SMB PDU from sess structure BB */ pSMB->MaxSetupCount = 0; @@ -2814,19 +2806,19 @@ SetTimesRetryLegacy: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; - data_offset = (char *) (&pSMB->hdr.Protocol) + pSMB->DataOffset; - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + offset = param_offset + params; + data_offset = (char *) (&pSMB->hdr.Protocol) + offset; + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; + byte_count = 3 /* pad */ + params + count; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + pSMB->DataCount = cpu_to_le16(count); + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalDataCount = pSMB->DataCount; pSMB->TotalParameterCount = pSMB->ParameterCount; /* I doubt that passthrough levels apply to this old @@ -2836,9 +2828,9 @@ SetTimesRetryLegacy: else*/ pSMB->InformationLevel = cpu_to_le16(SMB_INFO_STANDARD); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; + pSMB->hdr.smb_buf_length += byte_count; memcpy(data_offset, data, sizeof (FILE_INFO_STANDARD)); - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -2865,6 +2857,7 @@ CIFSSMBUnixSetPerms(const int xid, struct cifsTconInfo *tcon, int rc = 0; int bytes_returned = 0; FILE_UNIX_BASIC_INFO *data_offset; + __u16 params, param_offset, offset, count, byte_count; cFYI(1, ("In SetUID/GID/Mode")); setPermsRetry: @@ -2886,8 +2879,8 @@ setPermsRetry: strncpy(pSMB->FileName, fileName, name_len); } - pSMB->ParameterCount = 6 + name_len; - pSMB->DataCount = sizeof (FILE_UNIX_BASIC_INFO); + params = 6 + name_len; + count = sizeof (FILE_UNIX_BASIC_INFO); pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find exact max SMB PDU from sess structure BB */ pSMB->MaxSetupCount = 0; @@ -2895,25 +2888,25 @@ setPermsRetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + offset = param_offset + params; data_offset = (FILE_UNIX_BASIC_INFO *) ((char *) &pSMB->hdr.Protocol + - pSMB->DataOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); + offset); + pSMB->DataOffset = cpu_to_le16(offset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); + byte_count = 3 /* pad */ + params + count; + pSMB->ParameterCount = cpu_to_le16(params); + pSMB->DataCount = cpu_to_le16(count); pSMB->TotalParameterCount = pSMB->ParameterCount; pSMB->TotalDataCount = pSMB->DataCount; pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_UNIX_BASIC); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; + pSMB->hdr.smb_buf_length += byte_count; data_offset->Uid = cpu_to_le64(uid); data_offset->Gid = cpu_to_le64(gid); /* better to leave device as zero when it is */ @@ -2937,7 +2930,7 @@ setPermsRetry: data_offset->Type = cpu_to_le32(UNIX_SOCKET); - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -2986,7 +2979,6 @@ int CIFSSMBNotify(const int xid, struct cifsTconInfo *tcon, pSMB->Fid = netfid; /* file handle always le */ pSMB->ByteCount = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { @@ -3013,6 +3005,7 @@ CIFSSMBQAllEAs(const int xid, struct cifsTconInfo *tcon, int name_len; struct fea * temp_fea; char * temp_ptr; + __u16 params, byte_count; cFYI(1, ("In Query All EAs path %s", searchName)); QAllEAsRetry: @@ -3034,8 +3027,7 @@ QAllEAsRetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = 2 /* level */ + 4 /* reserved */ + - name_len /* includes null */ ; + params = 2 /* level */ + 4 /* reserved */ + name_len /* includes NUL */ ; pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(4000); /* BB find exact max SMB PDU from sess structure BB */ @@ -3051,29 +3043,29 @@ QAllEAsRetry: pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->InformationLevel = cpu_to_le16(SMB_INFO_QUERY_ALL_EAS); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in QueryAllEAs = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); /* BB also check enough total bytes returned */ /* BB we need to improve the validity checking of these trans2 responses */ - if ((pSMBr->ByteCount < 4) || (pSMBr->DataOffset > 512)) + if ((pSMBr->ByteCount < 4) || (data_offset > 512)) rc = -EIO; /* bad smb */ /* else if (pFindData){ memcpy((char *) pFindData, (char *) &pSMBr->hdr.Protocol + - pSMBr->DataOffset, kl); + data_offset, kl); }*/ else { /* check that length of list is not more than bcc */ /* check that each entry does not go beyond length @@ -3083,14 +3075,12 @@ QAllEAsRetry: struct fealist * ea_response_data; rc = 0; /* validate_trans2_offsets() */ - /* BB to check if(start of smb + pSMBr->DataOffset > &bcc+ bcc)*/ + /* BB to check if(start of smb + data_offset > &bcc+ bcc)*/ ea_response_data = (struct fealist *) (((char *) &pSMBr->hdr.Protocol) + - pSMBr->DataOffset); - ea_response_data->list_len = - cpu_to_le32(ea_response_data->list_len); - cFYI(1,("ea length %d",ea_response_data->list_len)); - name_len = ea_response_data->list_len; + data_offset); + name_len = le32_to_cpu(ea_response_data->list_len); + cFYI(1,("ea length %d", name_len)); if(name_len <= 8) { /* returned EA size zeroed at top of function */ cFYI(1,("empty EA list returned from server")); @@ -3100,12 +3090,13 @@ QAllEAsRetry: temp_fea = ea_response_data->list; temp_ptr = (char *)temp_fea; while(name_len > 0) { + __u16 value_len; name_len -= 4; temp_ptr += 4; rc += temp_fea->name_len; /* account for prefix user. and trailing null */ rc = rc + 5 + 1; - if(rcname_len); @@ -3125,9 +3116,9 @@ QAllEAsRetry: /* account for trailing null */ name_len--; temp_ptr++; - temp_fea->value_len = cpu_to_le16(temp_fea->value_len); - name_len -= temp_fea->value_len; - temp_ptr += temp_fea->value_len; + value_len = le16_to_cpu(temp_fea->value_len); + name_len -= value_len; + temp_ptr += value_len; /* BB check that temp_ptr is still within smb BB*/ /* no trailing null to account for in value len */ /* go on to next EA */ @@ -3141,7 +3132,7 @@ QAllEAsRetry: if (rc == -EAGAIN) goto QAllEAsRetry; - return rc; + return (ssize_t)rc; } ssize_t CIFSSMBQueryEA(const int xid,struct cifsTconInfo * tcon, @@ -3156,6 +3147,7 @@ ssize_t CIFSSMBQueryEA(const int xid,struct cifsTconInfo * tcon, int name_len; struct fea * temp_fea; char * temp_ptr; + __u16 params, byte_count; cFYI(1, ("In Query EA path %s", searchName)); QEARetry: @@ -3177,8 +3169,7 @@ QEARetry: strncpy(pSMB->FileName, searchName, name_len); } - pSMB->TotalParameterCount = 2 /* level */ + 4 /* reserved */ + - name_len /* includes null */ ; + params = 2 /* level */ + 4 /* reserved */ + name_len /* includes NUL */ ; pSMB->TotalDataCount = 0; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(4000); /* BB find exact max SMB PDU from sess structure BB */ @@ -3194,29 +3185,29 @@ QEARetry: pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_QUERY_PATH_INFORMATION); - pSMB->ByteCount = pSMB->TotalParameterCount + 1 /* pad */ ; - pSMB->TotalParameterCount = cpu_to_le16(pSMB->TotalParameterCount); + byte_count = params + 1 /* pad */ ; + pSMB->TotalParameterCount = cpu_to_le16(params); pSMB->ParameterCount = pSMB->TotalParameterCount; pSMB->InformationLevel = cpu_to_le16(SMB_INFO_QUERY_ALL_EAS); pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { cFYI(1, ("Send error in Query EA = %d", rc)); } else { /* decode response */ - pSMBr->DataOffset = le16_to_cpu(pSMBr->DataOffset); + __u16 data_offset = le16_to_cpu(pSMBr->DataOffset); /* BB also check enough total bytes returned */ /* BB we need to improve the validity checking of these trans2 responses */ - if ((pSMBr->ByteCount < 4) || (pSMBr->DataOffset > 512)) + if ((pSMBr->ByteCount < 4) || (data_offset > 512)) rc = -EIO; /* bad smb */ /* else if (pFindData){ memcpy((char *) pFindData, (char *) &pSMBr->hdr.Protocol + - pSMBr->DataOffset, kl); + data_offset, kl); }*/ else { /* check that length of list is not more than bcc */ /* check that each entry does not go beyond length @@ -3226,14 +3217,12 @@ QEARetry: struct fealist * ea_response_data; rc = -ENOENT; /* validate_trans2_offsets() */ - /* BB to check if(start of smb + pSMBr->DataOffset > &bcc+ bcc)*/ + /* BB to check if(start of smb + data_offset > &bcc+ bcc)*/ ea_response_data = (struct fealist *) (((char *) &pSMBr->hdr.Protocol) + - pSMBr->DataOffset); - ea_response_data->list_len = - cpu_to_le32(ea_response_data->list_len); - cFYI(1,("ea length %d",ea_response_data->list_len)); - name_len = ea_response_data->list_len; + data_offset); + name_len = le32_to_cpu(ea_response_data->list_len); + cFYI(1,("ea length %d", name_len)); if(name_len <= 8) { /* returned EA size zeroed at top of function */ cFYI(1,("empty EA list returned from server")); @@ -3245,17 +3234,18 @@ QEARetry: /* loop through checking if we have a matching name and then return the associated value */ while(name_len > 0) { + __u16 value_len; name_len -= 4; temp_ptr += 4; - temp_fea->value_len = cpu_to_le16(temp_fea->value_len); + value_len = le16_to_cpu(temp_fea->value_len); /* BB validate that value_len falls within SMB, even though maximum for name_len is 255 */ if(memcmp(temp_fea->name,ea_name, temp_fea->name_len) == 0) { /* found a match */ - rc = temp_fea->value_len; + rc = value_len; /* account for prefix user. and trailing null */ - if(rc<=buf_size) { + if(rc<=(int)buf_size) { memcpy(ea_value, temp_fea->name+temp_fea->name_len+1, rc); @@ -3274,8 +3264,8 @@ QEARetry: /* account for trailing null */ name_len--; temp_ptr++; - name_len -= temp_fea->value_len; - temp_ptr += temp_fea->value_len; + name_len -= value_len; + temp_ptr += value_len; /* no trailing null to account for in value len */ /* go on to next EA */ temp_fea = (struct fea *)temp_ptr; @@ -3288,7 +3278,7 @@ QEARetry: if (rc == -EAGAIN) goto QEARetry; - return rc; + return (ssize_t)rc; } int @@ -3302,6 +3292,7 @@ CIFSSMBSetEA(const int xid, struct cifsTconInfo *tcon, const char *fileName, int name_len; int rc = 0; int bytes_returned = 0; + __u16 params, param_offset, byte_count, offset, count; cFYI(1, ("In SetEA")); SetEARetry: @@ -3323,7 +3314,7 @@ SetEARetry: strncpy(pSMB->FileName, fileName, name_len); } - pSMB->ParameterCount = 6 + name_len; + params = 6 + name_len; /* done calculating parms using name_len of file name, now use name_len to calculate length of ea name @@ -3333,7 +3324,7 @@ SetEARetry: else name_len = strnlen(ea_name,255); - pSMB->DataCount = sizeof(*parm_data) + ea_value_len + name_len + 1; + count = sizeof(*parm_data) + ea_value_len + name_len + 1; pSMB->MaxParameterCount = cpu_to_le16(2); pSMB->MaxDataCount = cpu_to_le16(1000); /* BB find max SMB size from sess */ pSMB->MaxSetupCount = 0; @@ -3341,23 +3332,23 @@ SetEARetry: pSMB->Flags = 0; pSMB->Timeout = 0; pSMB->Reserved2 = 0; - pSMB->ParameterOffset = offsetof(struct smb_com_transaction2_spi_req, + param_offset = offsetof(struct smb_com_transaction2_spi_req, InformationLevel) - 4; - pSMB->DataOffset = pSMB->ParameterOffset + pSMB->ParameterCount; + offset = param_offset + params; pSMB->InformationLevel = cpu_to_le16(SMB_SET_FILE_EA); parm_data = (struct fealist *) (((char *) &pSMB->hdr.Protocol) + - pSMB->DataOffset); - pSMB->ParameterOffset = cpu_to_le16(pSMB->ParameterOffset); - pSMB->DataOffset = cpu_to_le16(pSMB->DataOffset); + offset); + pSMB->ParameterOffset = cpu_to_le16(param_offset); + pSMB->DataOffset = cpu_to_le16(offset); pSMB->SetupCount = 1; pSMB->Reserved3 = 0; pSMB->SubCommand = cpu_to_le16(TRANS2_SET_PATH_INFORMATION); - pSMB->ByteCount = 3 /* pad */ + pSMB->ParameterCount + pSMB->DataCount; - pSMB->DataCount = cpu_to_le16(pSMB->DataCount); - parm_data->list_len = (__u32)(pSMB->DataCount); + byte_count = 3 /* pad */ + params + count; + pSMB->DataCount = cpu_to_le16(count); + parm_data->list_len = cpu_to_le32(count); parm_data->list[0].EA_flags = 0; /* we checked above that name len is less than 255 */ parm_data->list[0].name_len = (__u8)name_len;; @@ -3374,11 +3365,11 @@ SetEARetry: memcpy(parm_data->list[0].name+name_len+1,ea_value,ea_value_len); pSMB->TotalDataCount = pSMB->DataCount; - pSMB->ParameterCount = cpu_to_le16(pSMB->ParameterCount); + pSMB->ParameterCount = cpu_to_le16(params); pSMB->TotalParameterCount = pSMB->ParameterCount; pSMB->Reserved4 = 0; - pSMB->hdr.smb_buf_length += pSMB->ByteCount; - pSMB->ByteCount = cpu_to_le16(pSMB->ByteCount); + pSMB->hdr.smb_buf_length += byte_count; + pSMB->ByteCount = cpu_to_le16(byte_count); rc = SendReceive(xid, tcon->ses, (struct smb_hdr *) pSMB, (struct smb_hdr *) pSMBr, &bytes_returned, 0); if (rc) { diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index bb6b0f3b2..e548bb3cf 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -64,11 +64,11 @@ struct smb_vol { gid_t linux_gid; mode_t file_mode; mode_t dir_mode; - int rw:1; - int retry:1; - int intr:1; - int setuids:1; - int noperm:1; + unsigned rw:1; + unsigned retry:1; + unsigned intr:1; + unsigned setuids:1; + unsigned noperm:1; unsigned int rsize; unsigned int wsize; unsigned int sockopt; @@ -313,7 +313,7 @@ cifs_demultiplex_thread(struct TCP_Server_Info *server) connected to port 139 (the NACK is since we do not begin with RFC1001 session initialize frame) */ - server->addr.sockAddr.sin_port = CIFS_PORT; + server->addr.sockAddr.sin_port = htons(CIFS_PORT); cifs_reconnect(server); csocket = server->ssocket; wake_up(&server->response_q); @@ -814,19 +814,23 @@ cifs_parse_mount_options(char *options, const char *devname, struct smb_vol *vol } static struct cifsSesInfo * -cifs_find_tcp_session(__u32 new_target_ip_addr, +cifs_find_tcp_session(struct in_addr * target_ip_addr, + struct in6_addr *target_ip6_addr, char *userName, struct TCP_Server_Info **psrvTcp) { struct list_head *tmp; struct cifsSesInfo *ses; - *psrvTcp = NULL; read_lock(&GlobalSMBSeslock); + list_for_each(tmp, &GlobalSMBSessionList) { ses = list_entry(tmp, struct cifsSesInfo, cifsSessionList); if (ses->server) { - if (ses->server->addr.sockAddr.sin_addr.s_addr == - new_target_ip_addr) { + if((target_ip_addr && + (ses->server->addr.sockAddr.sin_addr.s_addr + == target_ip_addr->s_addr)) || (target_ip6_addr + && memcmp(&ses->server->addr.sockAddr6.sin6_addr, + target_ip6_addr,sizeof(*target_ip6_addr)))){ /* BB lock server and tcp session and increment use count here?? */ *psrvTcp = ses->server; /* found a match on the TCP session */ /* BB check if reconnection needed */ @@ -845,7 +849,7 @@ cifs_find_tcp_session(__u32 new_target_ip_addr, } static struct cifsTconInfo * -find_unc(__u32 new_target_ip_addr, char *uncName, char *userName) +find_unc(__be32 new_target_ip_addr, char *uncName, char *userName) { struct list_head *tmp; struct cifsTconInfo *tcon; @@ -964,7 +968,7 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, { int rc = 0; int connected = 0; - unsigned short int orig_port = 0; + __be16 orig_port = 0; if(*csocket == NULL) { rc = sock_create_kern(PF_INET, SOCK_STREAM, IPPROTO_TCP, csocket); @@ -1029,7 +1033,7 @@ ipv4_connect(struct sockaddr_in *psin_server, struct socket **csocket, /* send RFC1001 sessinit */ - if(psin_server->sin_port == htons(139)) { + if(psin_server->sin_port == htons(RFC1001_PORT)) { /* some servers require RFC1001 sessinit before sending negprot - BB check reconnection in case where second sessinit is sent but no second negprot */ @@ -1072,6 +1076,7 @@ ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket) { int rc = 0; int connected = 0; + __be16 orig_port = 0; if(*csocket == NULL) { rc = sock_create_kern(PF_INET6, SOCK_STREAM, IPPROTO_TCP, csocket); @@ -1097,6 +1102,10 @@ ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket) } if(!connected) { + /* save original port so we can retry user specified port + later if fall back ports fail this time */ + + orig_port = psin_server->sin6_port; /* do not retry on the same port we just failed on */ if(psin_server->sin6_port != htons(CIFS_PORT)) { psin_server->sin6_port = htons(CIFS_PORT); @@ -1119,6 +1128,8 @@ ipv6_connect(struct sockaddr_in6 *psin_server, struct socket **csocket) /* give up here - unless we want to retry on different protocol families some day */ if (!connected) { + if(orig_port) + psin_server->sin6_port = orig_port; cFYI(1,("Error %d connecting to server via ipv6",rc)); sock_release(*csocket); *csocket = NULL; @@ -1138,6 +1149,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, { int rc = 0; int xid; + int address_type = AF_INET; struct socket *csocket = NULL; struct sockaddr_in sin_server; struct sockaddr_in6 sin_server6; @@ -1179,12 +1191,16 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, if (volume_info.UNCip && volume_info.UNC) { rc = cifs_inet_pton(AF_INET, volume_info.UNCip,&sin_server.sin_addr.s_addr); - if(rc == 0) { + if(rc <= 0) { /* not ipv4 address, try ipv6 */ rc = cifs_inet_pton(AF_INET6,volume_info.UNCip,&sin_server6.sin6_addr.in6_u); - } + if(rc > 0) + address_type = AF_INET6; + } else { + address_type = AF_INET; + } - if(rc != 1) { + if(rc <= 0) { /* we failed translating address */ if(volume_info.UNC) kfree(volume_info.UNC); @@ -1234,9 +1250,24 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, } } - existingCifsSes = - cifs_find_tcp_session(sin_server.sin_addr.s_addr, - volume_info.username, &srvTcp); + if(address_type == AF_INET) + existingCifsSes = cifs_find_tcp_session(&sin_server.sin_addr, + NULL /* no ipv6 addr */, + volume_info.username, &srvTcp); + else if(address_type == AF_INET6) + existingCifsSes = cifs_find_tcp_session(NULL /* no ipv4 addr */, + &sin_server6.sin6_addr, + volume_info.username, &srvTcp); + else { + if(volume_info.UNC) + kfree(volume_info.UNC); + if(volume_info.password) + kfree(volume_info.password); + FreeXid(xid); + return -EINVAL; + } + + if (srvTcp) { cFYI(1, ("Existing tcp session with server found ")); } else { /* create socket */ @@ -1283,8 +1314,19 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, so no need to spinlock this init of tcpStatus */ srvTcp->tcpStatus = CifsNew; init_MUTEX(&srvTcp->tcpSem); - kernel_thread((void *)(void *)cifs_demultiplex_thread, srvTcp, + rc = (int)kernel_thread((void *)(void *)cifs_demultiplex_thread, srvTcp, CLONE_FS | CLONE_FILES | CLONE_VM); + if(rc < 0) { + rc = -ENOMEM; + sock_release(csocket); + if(volume_info.UNC) + kfree(volume_info.UNC); + if(volume_info.password) + kfree(volume_info.password); + FreeXid(xid); + return rc; + } else + rc = 0; memcpy(srvTcp->workstation_RFC1001_name, volume_info.source_rfc1001_name,16); } } @@ -1464,15 +1506,20 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, SESSION_SETUP_ANDX *pSMB; SESSION_SETUP_ANDX *pSMBr; char *bcc_ptr; - char *user = ses->userName; - char *domain = ses->domainName; + char *user; + char *domain; int rc = 0; int remaining_words = 0; int bytes_returned = 0; int len; + __u32 capabilities; + __u16 count; cFYI(1, ("In sesssetup ")); - + if(ses == NULL) + return -EINVAL; + user = ses->userName; + domain = ses->domainName; smb_buffer = cifs_buf_get(); if (smb_buffer == 0) { return -ENOMEM; @@ -1491,22 +1538,20 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, if(ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; - pSMB->req_no_secext.Capabilities = - CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS; + capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS; if (ses->capabilities & CAP_UNICODE) { smb_buffer->Flags2 |= SMBFLG2_UNICODE; - pSMB->req_no_secext.Capabilities |= CAP_UNICODE; + capabilities |= CAP_UNICODE; } if (ses->capabilities & CAP_STATUS32) { smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS; - pSMB->req_no_secext.Capabilities |= CAP_STATUS32; + capabilities |= CAP_STATUS32; } if (ses->capabilities & CAP_DFS) { smb_buffer->Flags2 |= SMBFLG2_DFS; - pSMB->req_no_secext.Capabilities |= CAP_DFS; + capabilities |= CAP_DFS; } - pSMB->req_no_secext.Capabilities = - cpu_to_le32(pSMB->req_no_secext.Capabilities); + pSMB->req_no_secext.Capabilities = cpu_to_le32(capabilities); /* pSMB->req_no_secext.CaseInsensitivePasswordLength = CIFS_SESSION_KEY_SIZE; */ pSMB->req_no_secext.CaseInsensitivePasswordLength = 0; @@ -1578,9 +1623,9 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, strcpy(bcc_ptr, CIFS_NETWORK_OPSYS); bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1; } - BCC(smb_buffer) = (long) bcc_ptr - (long) pByteArea(smb_buffer); - smb_buffer->smb_buf_length += BCC(smb_buffer); - BCC(smb_buffer) = cpu_to_le16(BCC(smb_buffer)); + count = (long) bcc_ptr - (long) pByteArea(smb_buffer); + smb_buffer->smb_buf_length += count; + pSMB->req_no_secext.ByteCount = cpu_to_le16(count); rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &bytes_returned, 1); @@ -1588,114 +1633,106 @@ CIFSSessSetup(unsigned int xid, struct cifsSesInfo *ses, /* rc = map_smb_to_linux_error(smb_buffer_response); now done in SendReceive */ } else if ((smb_buffer_response->WordCount == 3) || (smb_buffer_response->WordCount == 4)) { - pSMBr->resp.Action = le16_to_cpu(pSMBr->resp.Action); - if (pSMBr->resp.Action & GUEST_LOGIN) + __u16 action = le16_to_cpu(pSMBr->resp.Action); + __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength); + if (action & GUEST_LOGIN) cFYI(1, (" Guest login")); /* do we want to mark SesInfo struct ? */ - if (ses) { - ses->Suid = smb_buffer_response->Uid; /* UID left in wire format (le) */ - cFYI(1, ("UID = %d ", ses->Suid)); + ses->Suid = smb_buffer_response->Uid; /* UID left in wire format (le) */ + cFYI(1, ("UID = %d ", ses->Suid)); /* response can have either 3 or 4 word count - Samba sends 3 */ - bcc_ptr = pByteArea(smb_buffer_response); - if ((pSMBr->resp.hdr.WordCount == 3) - || ((pSMBr->resp.hdr.WordCount == 4) - && (pSMBr->resp.SecurityBlobLength < - pSMBr->resp.ByteCount))) { - if (pSMBr->resp.hdr.WordCount == 4) - bcc_ptr += - pSMBr->resp.SecurityBlobLength; - - if (smb_buffer->Flags2 & SMBFLG2_UNICODE) { - if ((long) (bcc_ptr) % 2) { - remaining_words = - (BCC(smb_buffer_response) - - 1) / 2; - bcc_ptr++; /* Unicode strings must be word aligned */ - } else { - remaining_words = - BCC - (smb_buffer_response) / 2; - } - len = - UniStrnlen((wchar_t *) bcc_ptr, - remaining_words - 1); + bcc_ptr = pByteArea(smb_buffer_response); + if ((pSMBr->resp.hdr.WordCount == 3) + || ((pSMBr->resp.hdr.WordCount == 4) + && (blob_len < pSMBr->resp.ByteCount))) { + if (pSMBr->resp.hdr.WordCount == 4) + bcc_ptr += blob_len; + + if (smb_buffer->Flags2 & SMBFLG2_UNICODE) { + if ((long) (bcc_ptr) % 2) { + remaining_words = + (BCC(smb_buffer_response) - 1) /2; + bcc_ptr++; /* Unicode strings must be word aligned */ + } else { + remaining_words = + BCC(smb_buffer_response) / 2; + } + len = + UniStrnlen((wchar_t *) bcc_ptr, + remaining_words - 1); /* We look for obvious messed up bcc or strings in response so we do not go off the end since (at least) WIN2K and Windows XP have a major bug in not null terminating last Unicode string in response */ - ses->serverOS = cifs_kcalloc(2 * (len + 1), GFP_KERNEL); - cifs_strfromUCS_le(ses->serverOS, - (wchar_t *)bcc_ptr, len,nls_codepage); + ses->serverOS = cifs_kcalloc(2 * (len + 1), GFP_KERNEL); + cifs_strfromUCS_le(ses->serverOS, + (wchar_t *)bcc_ptr, len,nls_codepage); + bcc_ptr += 2 * (len + 1); + remaining_words -= len + 1; + ses->serverOS[2 * len] = 0; + ses->serverOS[1 + (2 * len)] = 0; + if (remaining_words > 0) { + len = UniStrnlen((wchar_t *)bcc_ptr, + remaining_words-1); + ses->serverNOS =cifs_kcalloc(2 * (len + 1),GFP_KERNEL); + cifs_strfromUCS_le(ses->serverNOS, + (wchar_t *)bcc_ptr,len,nls_codepage); bcc_ptr += 2 * (len + 1); + ses->serverNOS[2 * len] = 0; + ses->serverNOS[1 + (2 * len)] = 0; remaining_words -= len + 1; - ses->serverOS[2 * len] = 0; - ses->serverOS[1 + (2 * len)] = 0; if (remaining_words > 0) { - len = UniStrnlen((wchar_t *)bcc_ptr, - remaining_words - - 1); - ses->serverNOS =cifs_kcalloc(2 * (len + 1),GFP_KERNEL); - cifs_strfromUCS_le(ses->serverNOS, - (wchar_t *)bcc_ptr,len,nls_codepage); - bcc_ptr += 2 * (len + 1); - ses->serverNOS[2 * len] = 0; - ses->serverNOS[1 + (2 * len)] = 0; - remaining_words -= len + 1; - if (remaining_words > 0) { - len = UniStrnlen((wchar_t *) bcc_ptr, remaining_words); + len = UniStrnlen((wchar_t *) bcc_ptr, remaining_words); /* last string is not always null terminated (for e.g. for Windows XP & 2000) */ - ses->serverDomain = - cifs_kcalloc(2*(len+1),GFP_KERNEL); - cifs_strfromUCS_le(ses->serverDomain, - (wchar_t *)bcc_ptr,len,nls_codepage); - bcc_ptr += 2 * (len + 1); - ses->serverDomain[2*len] = 0; - ses->serverDomain[1+(2*len)] = 0; - } /* else no more room so create dummy domain string */ - else - ses->serverDomain = - cifs_kcalloc(2, - GFP_KERNEL); - } else { /* no room so create dummy domain and NOS string */ ses->serverDomain = - cifs_kcalloc(2, GFP_KERNEL); - ses->serverNOS = - cifs_kcalloc(2, GFP_KERNEL); - } - } else { /* ASCII */ - len = strnlen(bcc_ptr, 1024); - if (((long) bcc_ptr + len) - (long) - pByteArea(smb_buffer_response) + cifs_kcalloc(2*(len+1),GFP_KERNEL); + cifs_strfromUCS_le(ses->serverDomain, + (wchar_t *)bcc_ptr,len,nls_codepage); + bcc_ptr += 2 * (len + 1); + ses->serverDomain[2*len] = 0; + ses->serverDomain[1+(2*len)] = 0; + } /* else no more room so create dummy domain string */ + else + ses->serverDomain = + cifs_kcalloc(2, + GFP_KERNEL); + } else { /* no room so create dummy domain and NOS string */ + ses->serverDomain = + cifs_kcalloc(2, GFP_KERNEL); + ses->serverNOS = + cifs_kcalloc(2, GFP_KERNEL); + } + } else { /* ASCII */ + len = strnlen(bcc_ptr, 1024); + if (((long) bcc_ptr + len) - (long) + pByteArea(smb_buffer_response) <= BCC(smb_buffer_response)) { - ses->serverOS = cifs_kcalloc(len + 1,GFP_KERNEL); - strncpy(ses->serverOS,bcc_ptr, len); + ses->serverOS = cifs_kcalloc(len + 1,GFP_KERNEL); + strncpy(ses->serverOS,bcc_ptr, len); - bcc_ptr += len; - bcc_ptr[0] = 0; /* null terminate the string */ - bcc_ptr++; + bcc_ptr += len; + bcc_ptr[0] = 0; /* null terminate the string */ + bcc_ptr++; - len = strnlen(bcc_ptr, 1024); - ses->serverNOS = cifs_kcalloc(len + 1,GFP_KERNEL); - strncpy(ses->serverNOS, bcc_ptr, len); - bcc_ptr += len; - bcc_ptr[0] = 0; - bcc_ptr++; + len = strnlen(bcc_ptr, 1024); + ses->serverNOS = cifs_kcalloc(len + 1,GFP_KERNEL); + strncpy(ses->serverNOS, bcc_ptr, len); + bcc_ptr += len; + bcc_ptr[0] = 0; + bcc_ptr++; - len = strnlen(bcc_ptr, 1024); - ses->serverDomain = cifs_kcalloc(len + 1,GFP_KERNEL); - strncpy(ses->serverDomain, bcc_ptr, len); - bcc_ptr += len; - bcc_ptr[0] = 0; - bcc_ptr++; - } else - cFYI(1, - ("Variable field of length %d extends beyond end of smb ", - len)); - } - } else { - cERROR(1, - (" Security Blob Length extends beyond end of SMB")); + len = strnlen(bcc_ptr, 1024); + ses->serverDomain = cifs_kcalloc(len + 1,GFP_KERNEL); + strncpy(ses->serverDomain, bcc_ptr, len); + bcc_ptr += len; + bcc_ptr[0] = 0; + bcc_ptr++; + } else + cFYI(1, + ("Variable field of length %d extends beyond end of smb ", + len)); } } else { - cERROR(1, ("No session structure passed in.")); + cERROR(1, + (" Security Blob Length extends beyond end of SMB")); } } else { cERROR(1, @@ -1720,14 +1757,20 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, SESSION_SETUP_ANDX *pSMB; SESSION_SETUP_ANDX *pSMBr; char *bcc_ptr; - char *user = ses->userName; - char *domain = ses->domainName; + char *user; + char *domain; int rc = 0; int remaining_words = 0; int bytes_returned = 0; int len; + __u32 capabilities; + __u16 count; cFYI(1, ("In spnego sesssetup ")); + if(ses == NULL) + return -EINVAL; + user = ses->userName; + domain = ses->domainName; smb_buffer = cifs_buf_get(); if (smb_buffer == 0) { @@ -1747,22 +1790,21 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, if(ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; - pSMB->req.Capabilities = - CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS | + capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS | CAP_EXTENDED_SECURITY; if (ses->capabilities & CAP_UNICODE) { smb_buffer->Flags2 |= SMBFLG2_UNICODE; - pSMB->req.Capabilities |= CAP_UNICODE; + capabilities |= CAP_UNICODE; } if (ses->capabilities & CAP_STATUS32) { smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS; - pSMB->req.Capabilities |= CAP_STATUS32; + capabilities |= CAP_STATUS32; } if (ses->capabilities & CAP_DFS) { smb_buffer->Flags2 |= SMBFLG2_DFS; - pSMB->req.Capabilities |= CAP_DFS; + capabilities |= CAP_DFS; } - pSMB->req.Capabilities = cpu_to_le32(pSMB->req.Capabilities); + pSMB->req.Capabilities = cpu_to_le32(capabilities); pSMB->req.SecurityBlobLength = cpu_to_le16(SecurityBlobLength); bcc_ptr = pByteArea(smb_buffer); @@ -1823,9 +1865,9 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, strcpy(bcc_ptr, CIFS_NETWORK_OPSYS); bcc_ptr += strlen(CIFS_NETWORK_OPSYS) + 1; } - BCC(smb_buffer) = (long) bcc_ptr - (long) pByteArea(smb_buffer); - smb_buffer->smb_buf_length += BCC(smb_buffer); - BCC(smb_buffer) = cpu_to_le16(BCC(smb_buffer)); + count = (long) bcc_ptr - (long) pByteArea(smb_buffer); + smb_buffer->smb_buf_length += count; + pSMB->req.ByteCount = cpu_to_le16(count); rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &bytes_returned, 1); @@ -1833,10 +1875,10 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, /* rc = map_smb_to_linux_error(smb_buffer_response); *//* done in SendReceive now */ } else if ((smb_buffer_response->WordCount == 3) || (smb_buffer_response->WordCount == 4)) { - pSMBr->resp.Action = le16_to_cpu(pSMBr->resp.Action); - pSMBr->resp.SecurityBlobLength = + __u16 action = le16_to_cpu(pSMBr->resp.Action); + __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength); - if (pSMBr->resp.Action & GUEST_LOGIN) + if (action & GUEST_LOGIN) cFYI(1, (" Guest login")); /* BB do we want to set anything in SesInfo struct ? */ if (ses) { ses->Suid = smb_buffer_response->Uid; /* UID left in wire format (le) */ @@ -1847,14 +1889,14 @@ CIFSSpnegoSessSetup(unsigned int xid, struct cifsSesInfo *ses, if ((pSMBr->resp.hdr.WordCount == 3) || ((pSMBr->resp.hdr.WordCount == 4) - && (pSMBr->resp.SecurityBlobLength < + && (blob_len < pSMBr->resp.ByteCount))) { if (pSMBr->resp.hdr.WordCount == 4) { bcc_ptr += - pSMBr->resp.SecurityBlobLength; + blob_len; cFYI(1, ("Security Blob Length %d ", - pSMBr->resp.SecurityBlobLength)); + blob_len)); } if (smb_buffer->Flags2 & SMBFLG2_UNICODE) { @@ -1979,7 +2021,7 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, SESSION_SETUP_ANDX *pSMB; SESSION_SETUP_ANDX *pSMBr; char *bcc_ptr; - char *domain = ses->domainName; + char *domain; int rc = 0; int remaining_words = 0; int bytes_returned = 0; @@ -1987,8 +2029,13 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, int SecurityBlobLength = sizeof (NEGOTIATE_MESSAGE); PNEGOTIATE_MESSAGE SecurityBlob; PCHALLENGE_MESSAGE SecurityBlob2; + __u32 negotiate_flags, capabilities; + __u16 count; cFYI(1, ("In NTLMSSP sesssetup (negotiate) ")); + if(ses == NULL) + return -EINVAL; + domain = ses->domainName; *pNTLMv2_flag = FALSE; smb_buffer = cifs_buf_get(); if (smb_buffer == 0) { @@ -2011,35 +2058,34 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, if(ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; - pSMB->req.Capabilities = - CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS | + capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS | CAP_EXTENDED_SECURITY; if (ses->capabilities & CAP_UNICODE) { smb_buffer->Flags2 |= SMBFLG2_UNICODE; - pSMB->req.Capabilities |= CAP_UNICODE; + capabilities |= CAP_UNICODE; } if (ses->capabilities & CAP_STATUS32) { smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS; - pSMB->req.Capabilities |= CAP_STATUS32; + capabilities |= CAP_STATUS32; } if (ses->capabilities & CAP_DFS) { smb_buffer->Flags2 |= SMBFLG2_DFS; - pSMB->req.Capabilities |= CAP_DFS; + capabilities |= CAP_DFS; } - pSMB->req.Capabilities = cpu_to_le32(pSMB->req.Capabilities); + pSMB->req.Capabilities = cpu_to_le32(capabilities); bcc_ptr = (char *) &pSMB->req.SecurityBlob; SecurityBlob = (PNEGOTIATE_MESSAGE) bcc_ptr; strncpy(SecurityBlob->Signature, NTLMSSP_SIGNATURE, 8); SecurityBlob->MessageType = NtLmNegotiate; - SecurityBlob->NegotiateFlags = + negotiate_flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_OEM | NTLMSSP_REQUEST_TARGET | NTLMSSP_NEGOTIATE_NTLM | 0x80000000 | /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN | */ NTLMSSP_NEGOTIATE_128; if(sign_CIFS_PDUs) - SecurityBlob->NegotiateFlags |= NTLMSSP_NEGOTIATE_SIGN; + negotiate_flags |= NTLMSSP_NEGOTIATE_SIGN; if(ntlmv2_support) - SecurityBlob->NegotiateFlags |= NTLMSSP_NEGOTIATE_NTLMV2; + negotiate_flags |= NTLMSSP_NEGOTIATE_NTLMV2; /* setup pointers to domain name and workstation name */ bcc_ptr += SecurityBlobLength; @@ -2052,20 +2098,20 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, SecurityBlob->DomainName.Length = 0; SecurityBlob->DomainName.MaximumLength = 0; } else { - SecurityBlob->NegotiateFlags |= - NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED; + __u16 len; + negotiate_flags |= NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED; strncpy(bcc_ptr, domain, 63); - SecurityBlob->DomainName.Length = strnlen(domain, 64); + len = strnlen(domain, 64); SecurityBlob->DomainName.MaximumLength = - cpu_to_le16(SecurityBlob->DomainName.Length); + cpu_to_le16(len); SecurityBlob->DomainName.Buffer = cpu_to_le32((long) &SecurityBlob-> DomainString - (long) &SecurityBlob->Signature); - bcc_ptr += SecurityBlob->DomainName.Length; - SecurityBlobLength += SecurityBlob->DomainName.Length; + bcc_ptr += len; + SecurityBlobLength += len; SecurityBlob->DomainName.Length = - cpu_to_le16(SecurityBlob->DomainName.Length); + cpu_to_le16(len); } if (ses->capabilities & CAP_UNICODE) { if ((long) bcc_ptr % 2) { @@ -2102,28 +2148,27 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, bcc_ptr++; /* empty domain field */ *bcc_ptr = 0; } - SecurityBlob->NegotiateFlags = - cpu_to_le32(SecurityBlob->NegotiateFlags); + SecurityBlob->NegotiateFlags = cpu_to_le32(negotiate_flags); pSMB->req.SecurityBlobLength = cpu_to_le16(SecurityBlobLength); - BCC(smb_buffer) = (long) bcc_ptr - (long) pByteArea(smb_buffer); - smb_buffer->smb_buf_length += BCC(smb_buffer); - BCC(smb_buffer) = cpu_to_le16(BCC(smb_buffer)); + count = (long) bcc_ptr - (long) pByteArea(smb_buffer); + smb_buffer->smb_buf_length += count; + pSMB->req.ByteCount = cpu_to_le16(count); rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &bytes_returned, 1); if (smb_buffer_response->Status.CifsError == - (NT_STATUS_MORE_PROCESSING_REQUIRED)) + cpu_to_le32(NT_STATUS_MORE_PROCESSING_REQUIRED)) rc = 0; if (rc) { /* rc = map_smb_to_linux_error(smb_buffer_response); *//* done in SendReceive now */ } else if ((smb_buffer_response->WordCount == 3) || (smb_buffer_response->WordCount == 4)) { - pSMBr->resp.Action = le16_to_cpu(pSMBr->resp.Action); - pSMBr->resp.SecurityBlobLength = - le16_to_cpu(pSMBr->resp.SecurityBlobLength); - if (pSMBr->resp.Action & GUEST_LOGIN) + __u16 action = le16_to_cpu(pSMBr->resp.Action); + __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength); + + if (action & GUEST_LOGIN) cFYI(1, (" Guest login")); /* Do we want to set anything in SesInfo struct when guest login? */ @@ -2140,14 +2185,14 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, cFYI(1, ("UID = %d ", ses->Suid)); if ((pSMBr->resp.hdr.WordCount == 3) || ((pSMBr->resp.hdr.WordCount == 4) - && (pSMBr->resp.SecurityBlobLength < + && (blob_len < pSMBr->resp.ByteCount))) { + if (pSMBr->resp.hdr.WordCount == 4) { - bcc_ptr += - pSMBr->resp.SecurityBlobLength; + bcc_ptr += blob_len; cFYI(1, ("Security Blob Length %d ", - pSMBr->resp.SecurityBlobLength)); + blob_len)); } cFYI(1, ("NTLMSSP Challenge rcvd ")); @@ -2155,16 +2200,16 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, memcpy(ses->server->cryptKey, SecurityBlob2->Challenge, CIFS_CRYPTO_KEY_SIZE); - if(SecurityBlob2->NegotiateFlags & NTLMSSP_NEGOTIATE_NTLMV2) + if(SecurityBlob2->NegotiateFlags & cpu_to_le32(NTLMSSP_NEGOTIATE_NTLMV2)) *pNTLMv2_flag = TRUE; if((SecurityBlob2->NegotiateFlags & - NTLMSSP_NEGOTIATE_ALWAYS_SIGN) + cpu_to_le32(NTLMSSP_NEGOTIATE_ALWAYS_SIGN)) || (sign_CIFS_PDUs > 1)) ses->server->secMode |= SECMODE_SIGN_REQUIRED; if ((SecurityBlob2->NegotiateFlags & - NTLMSSP_NEGOTIATE_SIGN) && (sign_CIFS_PDUs)) + cpu_to_le32(NTLMSSP_NEGOTIATE_SIGN)) && (sign_CIFS_PDUs)) ses->server->secMode |= SECMODE_SIGN_ENABLED; @@ -2308,7 +2353,6 @@ CIFSNTLMSSPNegotiateSessSetup(unsigned int xid, return rc; } - static int CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, char *ntlm_session_key, int ntlmv2_flag, @@ -2319,17 +2363,22 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, SESSION_SETUP_ANDX *pSMB; SESSION_SETUP_ANDX *pSMBr; char *bcc_ptr; - char *user = ses->userName; - char *domain = ses->domainName; + char *user; + char *domain; int rc = 0; int remaining_words = 0; int bytes_returned = 0; int len; int SecurityBlobLength = sizeof (AUTHENTICATE_MESSAGE); PAUTHENTICATE_MESSAGE SecurityBlob; + __u32 negotiate_flags, capabilities; + __u16 count; cFYI(1, ("In NTLMSSPSessSetup (Authenticate)")); - + if(ses == NULL) + return -EINVAL; + user = ses->userName; + domain = ses->domainName; smb_buffer = cifs_buf_get(); if (smb_buffer == 0) { return -ENOMEM; @@ -2352,36 +2401,35 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, if(ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; - pSMB->req.Capabilities = - CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS | + capabilities = CAP_LARGE_FILES | CAP_NT_SMBS | CAP_LEVEL_II_OPLOCKS | CAP_EXTENDED_SECURITY; if (ses->capabilities & CAP_UNICODE) { smb_buffer->Flags2 |= SMBFLG2_UNICODE; - pSMB->req.Capabilities |= CAP_UNICODE; + capabilities |= CAP_UNICODE; } if (ses->capabilities & CAP_STATUS32) { smb_buffer->Flags2 |= SMBFLG2_ERR_STATUS; - pSMB->req.Capabilities |= CAP_STATUS32; + capabilities |= CAP_STATUS32; } if (ses->capabilities & CAP_DFS) { smb_buffer->Flags2 |= SMBFLG2_DFS; - pSMB->req.Capabilities |= CAP_DFS; + capabilities |= CAP_DFS; } - pSMB->req.Capabilities = cpu_to_le32(pSMB->req.Capabilities); + pSMB->req.Capabilities = cpu_to_le32(capabilities); bcc_ptr = (char *) &pSMB->req.SecurityBlob; SecurityBlob = (PAUTHENTICATE_MESSAGE) bcc_ptr; strncpy(SecurityBlob->Signature, NTLMSSP_SIGNATURE, 8); SecurityBlob->MessageType = NtLmAuthenticate; bcc_ptr += SecurityBlobLength; - SecurityBlob->NegotiateFlags = + negotiate_flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_REQUEST_TARGET | NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_NEGOTIATE_TARGET_INFO | 0x80000000 | NTLMSSP_NEGOTIATE_128; if(sign_CIFS_PDUs) - SecurityBlob->NegotiateFlags |= /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN |*/ NTLMSSP_NEGOTIATE_SIGN; + negotiate_flags |= /* NTLMSSP_NEGOTIATE_ALWAYS_SIGN |*/ NTLMSSP_NEGOTIATE_SIGN; if(ntlmv2_flag) - SecurityBlob->NegotiateFlags |= NTLMSSP_NEGOTIATE_NTLMV2; + negotiate_flags |= NTLMSSP_NEGOTIATE_NTLMV2; /* setup pointers to domain name and workstation name */ @@ -2412,36 +2460,36 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, SecurityBlob->DomainName.Length = 0; SecurityBlob->DomainName.MaximumLength = 0; } else { - SecurityBlob->DomainName.Length = + __u16 len = cifs_strtoUCS((wchar_t *) bcc_ptr, domain, 64, nls_codepage); - SecurityBlob->DomainName.Length *= 2; + len *= 2; SecurityBlob->DomainName.MaximumLength = - cpu_to_le16(SecurityBlob->DomainName.Length); + cpu_to_le16(len); SecurityBlob->DomainName.Buffer = cpu_to_le32(SecurityBlobLength); - bcc_ptr += SecurityBlob->DomainName.Length; - SecurityBlobLength += SecurityBlob->DomainName.Length; + bcc_ptr += len; + SecurityBlobLength += len; SecurityBlob->DomainName.Length = - cpu_to_le16(SecurityBlob->DomainName.Length); + cpu_to_le16(len); } if (user == NULL) { SecurityBlob->UserName.Buffer = 0; SecurityBlob->UserName.Length = 0; SecurityBlob->UserName.MaximumLength = 0; } else { - SecurityBlob->UserName.Length = + __u16 len = cifs_strtoUCS((wchar_t *) bcc_ptr, user, 64, nls_codepage); - SecurityBlob->UserName.Length *= 2; + len *= 2; SecurityBlob->UserName.MaximumLength = - cpu_to_le16(SecurityBlob->UserName.Length); + cpu_to_le16(len); SecurityBlob->UserName.Buffer = cpu_to_le32(SecurityBlobLength); - bcc_ptr += SecurityBlob->UserName.Length; - SecurityBlobLength += SecurityBlob->UserName.Length; + bcc_ptr += len; + SecurityBlobLength += len; SecurityBlob->UserName.Length = - cpu_to_le16(SecurityBlob->UserName.Length); + cpu_to_le16(len); } /* SecurityBlob->WorkstationName.Length = cifs_strtoUCS((wchar_t *) bcc_ptr, "AMACHINE",64, nls_codepage); @@ -2481,34 +2529,33 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, SecurityBlob->DomainName.Length = 0; SecurityBlob->DomainName.MaximumLength = 0; } else { - SecurityBlob->NegotiateFlags |= - NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED; + __u16 len; + negotiate_flags |= NTLMSSP_NEGOTIATE_DOMAIN_SUPPLIED; strncpy(bcc_ptr, domain, 63); - SecurityBlob->DomainName.Length = strnlen(domain, 64); + len = strnlen(domain, 64); SecurityBlob->DomainName.MaximumLength = - cpu_to_le16(SecurityBlob->DomainName.Length); + cpu_to_le16(len); SecurityBlob->DomainName.Buffer = cpu_to_le32(SecurityBlobLength); - bcc_ptr += SecurityBlob->DomainName.Length; - SecurityBlobLength += SecurityBlob->DomainName.Length; - SecurityBlob->DomainName.Length = - cpu_to_le16(SecurityBlob->DomainName.Length); + bcc_ptr += len; + SecurityBlobLength += len; + SecurityBlob->DomainName.Length = cpu_to_le16(len); } if (user == NULL) { SecurityBlob->UserName.Buffer = 0; SecurityBlob->UserName.Length = 0; SecurityBlob->UserName.MaximumLength = 0; } else { + __u16 len; strncpy(bcc_ptr, user, 63); - SecurityBlob->UserName.Length = strnlen(user, 64); + len = strnlen(user, 64); SecurityBlob->UserName.MaximumLength = - cpu_to_le16(SecurityBlob->UserName.Length); + cpu_to_le16(len); SecurityBlob->UserName.Buffer = cpu_to_le32(SecurityBlobLength); - bcc_ptr += SecurityBlob->UserName.Length; - SecurityBlobLength += SecurityBlob->UserName.Length; - SecurityBlob->UserName.Length = - cpu_to_le16(SecurityBlob->UserName.Length); + bcc_ptr += len; + SecurityBlobLength += len; + SecurityBlob->UserName.Length = cpu_to_le16(len); } /* BB fill in our workstation name if known BB */ @@ -2521,12 +2568,11 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, bcc_ptr++; /* null domain */ *bcc_ptr = 0; } - SecurityBlob->NegotiateFlags = - cpu_to_le32(SecurityBlob->NegotiateFlags); + SecurityBlob->NegotiateFlags = cpu_to_le32(negotiate_flags); pSMB->req.SecurityBlobLength = cpu_to_le16(SecurityBlobLength); - BCC(smb_buffer) = (long) bcc_ptr - (long) pByteArea(smb_buffer); - smb_buffer->smb_buf_length += BCC(smb_buffer); - BCC(smb_buffer) = cpu_to_le16(BCC(smb_buffer)); + count = (long) bcc_ptr - (long) pByteArea(smb_buffer); + smb_buffer->smb_buf_length += count; + pSMB->req.ByteCount = cpu_to_le16(count); rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &bytes_returned, 1); @@ -2534,10 +2580,10 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, /* rc = map_smb_to_linux_error(smb_buffer_response); *//* done in SendReceive now */ } else if ((smb_buffer_response->WordCount == 3) || (smb_buffer_response->WordCount == 4)) { - pSMBr->resp.Action = le16_to_cpu(pSMBr->resp.Action); - pSMBr->resp.SecurityBlobLength = + __u16 action = le16_to_cpu(pSMBr->resp.Action); + __u16 blob_len = le16_to_cpu(pSMBr->resp.SecurityBlobLength); - if (pSMBr->resp.Action & GUEST_LOGIN) + if (action & GUEST_LOGIN) cFYI(1, (" Guest login")); /* BB do we want to set anything in SesInfo struct ? */ /* if(SecurityBlob2->MessageType != NtLm??){ cFYI("Unexpected message type on auth response is %d ")); @@ -2551,14 +2597,14 @@ CIFSNTLMSSPAuthSessSetup(unsigned int xid, struct cifsSesInfo *ses, /* response can have either 3 or 4 word count - Samba sends 3 */ if ((pSMBr->resp.hdr.WordCount == 3) || ((pSMBr->resp.hdr.WordCount == 4) - && (pSMBr->resp.SecurityBlobLength < + && (blob_len < pSMBr->resp.ByteCount))) { if (pSMBr->resp.hdr.WordCount == 4) { bcc_ptr += - pSMBr->resp.SecurityBlobLength; + blob_len; cFYI(1, ("Security Blob Length %d ", - pSMBr->resp.SecurityBlobLength)); + blob_len)); } cFYI(1, @@ -2699,9 +2745,10 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, struct smb_hdr *smb_buffer_response; TCONX_REQ *pSMB; TCONX_RSP *pSMBr; - char *bcc_ptr; + unsigned char *bcc_ptr; int rc = 0; int length; + __u16 count; if (ses == NULL) return -EIO; @@ -2721,7 +2768,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, pSMB->AndXCommand = 0xFF; pSMB->Flags = cpu_to_le16(TCON_EXTENDED_SECINFO); pSMB->PasswordLength = cpu_to_le16(1); /* minimum */ - bcc_ptr = &(pSMB->Password[0]); + bcc_ptr = &pSMB->Password[0]; bcc_ptr++; /* skip password */ if(ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) @@ -2747,16 +2794,16 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, strcpy(bcc_ptr, "?????"); bcc_ptr += strlen("?????"); bcc_ptr += 1; - BCC(smb_buffer) = (long) bcc_ptr - (long) pByteArea(smb_buffer); - smb_buffer->smb_buf_length += BCC(smb_buffer); - BCC(smb_buffer) = cpu_to_le16(BCC(smb_buffer)); + count = bcc_ptr - &pSMB->Password[0]; + pSMB->hdr.smb_buf_length += count; + pSMB->ByteCount = cpu_to_le16(count); rc = SendReceive(xid, ses, smb_buffer, smb_buffer_response, &length, 0); /* if (rc) rc = map_smb_to_linux_error(smb_buffer_response); */ /* above now done in SendReceive */ if ((rc == 0) && (tcon != NULL)) { - tcon->tidStatus = CifsGood; + tcon->tidStatus = CifsGood; tcon->tid = smb_buffer_response->Tid; bcc_ptr = pByteArea(smb_buffer_response); length = strnlen(bcc_ptr, BCC(smb_buffer_response) - 2); @@ -2765,8 +2812,8 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, strncpy(tcon->treeName, tree, MAX_TREE_SIZE); if (smb_buffer->Flags2 & SMBFLG2_UNICODE) { length = UniStrnlen((wchar_t *) bcc_ptr, 512); - if (((long) bcc_ptr + (2 * length)) - - (long) pByteArea(smb_buffer_response) <= + if ((bcc_ptr + (2 * length)) - + pByteArea(smb_buffer_response) <= BCC(smb_buffer_response)) { if(tcon->nativeFileSystem) kfree(tcon->nativeFileSystem); @@ -2783,8 +2830,8 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses, /* else do not bother copying these informational fields */ } else { length = strnlen(bcc_ptr, 1024); - if (((long) bcc_ptr + length) - - (long) pByteArea(smb_buffer_response) <= + if ((bcc_ptr + length) - + pByteArea(smb_buffer_response) <= BCC(smb_buffer_response)) { if(tcon->nativeFileSystem) kfree(tcon->nativeFileSystem); diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 73505c6cc..bd31d4e2a 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -148,7 +148,7 @@ cifs_open(struct inode *inode, struct file *file) and the first handle has writebehind data, we might be able to simply do a filemap_fdatawrite/filemap_fdatawait first */ buf = kmalloc(sizeof(FILE_ALL_INFO),GFP_KERNEL); - if(buf==0) { + if(buf== NULL) { if (full_path) kfree(full_path); FreeXid(xid); @@ -569,6 +569,8 @@ cifs_lock(struct file *file, int cmd, struct file_lock *pfLock) netfid, length, pfLock->fl_start, numUnlock, numLock, lockType, wait_flag); + if (rc == 0 && (pfLock->fl_flags & FL_POSIX)) + posix_lock_file(file, pfLock); FreeXid(xid); return rc; } @@ -1346,12 +1348,11 @@ fill_in_inode(struct inode *tmp_inode, { struct cifsInodeInfo *cifsInfo = CIFS_I(tmp_inode); struct cifs_sb_info *cifs_sb = CIFS_SB(tmp_inode->i_sb); + __u32 attr = le32_to_cpu(pfindData->ExtFileAttributes); + __u64 allocation_size = le64_to_cpu(pfindData->AllocationSize); + __u64 end_of_file = le64_to_cpu(pfindData->EndOfFile); - pfindData->ExtFileAttributes = - le32_to_cpu(pfindData->ExtFileAttributes); - pfindData->AllocationSize = le64_to_cpu(pfindData->AllocationSize); - pfindData->EndOfFile = le64_to_cpu(pfindData->EndOfFile); - cifsInfo->cifsAttrs = pfindData->ExtFileAttributes; + cifsInfo->cifsAttrs = attr; cifsInfo->time = jiffies; /* Linux can not store file creation time unfortunately so ignore it */ @@ -1374,12 +1375,12 @@ fill_in_inode(struct inode *tmp_inode, cFYI(0, ("CIFS FFIRST: Attributes came in as 0x%x", - pfindData->ExtFileAttributes)); - if (pfindData->ExtFileAttributes & ATTR_REPARSE) { + attr)); + if (attr & ATTR_REPARSE) { *pobject_type = DT_LNK; /* BB can this and S_IFREG or S_IFDIR be set as in Windows? */ tmp_inode->i_mode |= S_IFLNK; - } else if (pfindData->ExtFileAttributes & ATTR_DIRECTORY) { + } else if (attr & ATTR_DIRECTORY) { *pobject_type = DT_DIR; /* override default perms since we do not lock dirs */ if(atomic_read(&cifsInfo->inUse) == 0) { @@ -1389,7 +1390,7 @@ fill_in_inode(struct inode *tmp_inode, } else { *pobject_type = DT_REG; tmp_inode->i_mode |= S_IFREG; - if(pfindData->ExtFileAttributes & ATTR_READONLY) + if(attr & ATTR_READONLY) tmp_inode->i_mode &= ~(S_IWUGO); }/* could add code here - to validate if device or weird share type? */ @@ -1402,14 +1403,14 @@ fill_in_inode(struct inode *tmp_inode, if(is_size_safe_to_change(cifsInfo)) { /* can not safely change the file size here if the client is writing to it due to potential races */ - i_size_write(tmp_inode,pfindData->EndOfFile); + i_size_write(tmp_inode,end_of_file); /* 512 bytes (2**9) is the fake blocksize that must be used */ /* for this calculation, even though the reported blocksize is larger */ - tmp_inode->i_blocks = (512 - 1 + pfindData->AllocationSize) >> 9; + tmp_inode->i_blocks = (512 - 1 + allocation_size) >> 9; } - if (pfindData->AllocationSize < pfindData->EndOfFile) + if (allocation_size < end_of_file) cFYI(1, ("Possible sparse file: allocation size less than end of file ")); cFYI(1, ("File Size %ld and blocks %ld and blocksize %ld", @@ -1439,6 +1440,9 @@ unix_fill_in_inode(struct inode *tmp_inode, FILE_UNIX_INFO * pfindData, int *pobject_type) { struct cifsInodeInfo *cifsInfo = CIFS_I(tmp_inode); + __u32 type = le32_to_cpu(pfindData->Type); + __u64 num_of_bytes = le64_to_cpu(pfindData->NumOfBytes); + __u64 end_of_file = le64_to_cpu(pfindData->EndOfFile); cifsInfo->time = jiffies; atomic_inc(&cifsInfo->inUse); @@ -1450,30 +1454,29 @@ unix_fill_in_inode(struct inode *tmp_inode, cifs_NTtimeToUnix(le64_to_cpu(pfindData->LastStatusChange)); tmp_inode->i_mode = le64_to_cpu(pfindData->Permissions); - pfindData->Type = le32_to_cpu(pfindData->Type); - if (pfindData->Type == UNIX_FILE) { + if (type == UNIX_FILE) { *pobject_type = DT_REG; tmp_inode->i_mode |= S_IFREG; - } else if (pfindData->Type == UNIX_SYMLINK) { + } else if (type == UNIX_SYMLINK) { *pobject_type = DT_LNK; tmp_inode->i_mode |= S_IFLNK; - } else if (pfindData->Type == UNIX_DIR) { + } else if (type == UNIX_DIR) { *pobject_type = DT_DIR; tmp_inode->i_mode |= S_IFDIR; - } else if (pfindData->Type == UNIX_CHARDEV) { + } else if (type == UNIX_CHARDEV) { *pobject_type = DT_CHR; tmp_inode->i_mode |= S_IFCHR; tmp_inode->i_rdev = MKDEV(le64_to_cpu(pfindData->DevMajor), le64_to_cpu(pfindData->DevMinor) & MINORMASK); - } else if (pfindData->Type == UNIX_BLOCKDEV) { + } else if (type == UNIX_BLOCKDEV) { *pobject_type = DT_BLK; tmp_inode->i_mode |= S_IFBLK; tmp_inode->i_rdev = MKDEV(le64_to_cpu(pfindData->DevMajor), le64_to_cpu(pfindData->DevMinor) & MINORMASK); - } else if (pfindData->Type == UNIX_FIFO) { + } else if (type == UNIX_FIFO) { *pobject_type = DT_FIFO; tmp_inode->i_mode |= S_IFIFO; - } else if (pfindData->Type == UNIX_SOCKET) { + } else if (type == UNIX_SOCKET) { *pobject_type = DT_SOCK; tmp_inode->i_mode |= S_IFSOCK; } @@ -1482,17 +1485,15 @@ unix_fill_in_inode(struct inode *tmp_inode, tmp_inode->i_gid = le64_to_cpu(pfindData->Gid); tmp_inode->i_nlink = le64_to_cpu(pfindData->Nlinks); - pfindData->NumOfBytes = le64_to_cpu(pfindData->NumOfBytes); if(is_size_safe_to_change(cifsInfo)) { /* can not safely change the file size here if the client is writing to it due to potential races */ - pfindData->EndOfFile = le64_to_cpu(pfindData->EndOfFile); - i_size_write(tmp_inode,pfindData->EndOfFile); + i_size_write(tmp_inode,end_of_file); /* 512 bytes (2**9) is the fake blocksize that must be used */ /* for this calculation, not the real blocksize */ - tmp_inode->i_blocks = (512 - 1 + pfindData->NumOfBytes) >> 9; + tmp_inode->i_blocks = (512 - 1 + num_of_bytes) >> 9; } if (S_ISREG(tmp_inode->i_mode)) { @@ -1606,7 +1607,7 @@ cifs_filldir(struct qstr *pqstring, FILE_DIRECTORY_INFO * pfindData, int object_type,rc; pqstring->name = pfindData->FileName; - pqstring->len = pfindData->FileNameLength; + /* pqstring->len is already set by caller */ construct_dentry(pqstring, file, &tmp_inode, &tmp_dentry); if((tmp_inode == NULL) || (tmp_dentry == NULL)) { @@ -1685,8 +1686,12 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) } data = kmalloc(bufsize, GFP_KERNEL); pfindData = (FILE_DIRECTORY_INFO *) data; - + if(data == NULL) { + FreeXid(xid); + return -ENOMEM; + } if(file->f_dentry == NULL) { + kfree(data); FreeXid(xid); return -EIO; } @@ -1694,7 +1699,11 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) full_path = build_wildcard_path_from_dentry(file->f_dentry); up(&file->f_dentry->d_sb->s_vfs_rename_sem); - + if(full_path == NULL) { + kfree(data); + FreeXid(xid); + return -ENOMEM; + } cFYI(1, ("Full path: %s start at: %lld ", full_path, file->f_pos)); switch ((int) file->f_pos) { @@ -1736,10 +1745,12 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) rc = CIFSFindFirst(xid, pTcon, full_path, pfindData, &findParms, cifs_sb->local_nls, &Unicode, &UnixSearch); - cFYI(1, ("Count: %d End: %d ", findParms.SearchCount, - findParms.EndofSearch)); + cFYI(1, ("Count: %d End: %d ", + le16_to_cpu(findParms.SearchCount), + le16_to_cpu(findParms.EndofSearch))); if (rc == 0) { + __u16 count = le16_to_cpu(findParms.SearchCount); searchHandle = findParms.SearchHandle; if(file->private_data == NULL) file->private_data = @@ -1760,7 +1771,7 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) renew_parental_timestamps(file->f_dentry); lastFindData = (FILE_DIRECTORY_INFO *) ((char *) pfindData + - findParms.LastNameOffset); + le16_to_cpu(findParms.LastNameOffset)); if((char *)lastFindData > (char *)pfindData + bufsize) { cFYI(1,("last search entry past end of packet")); rc = -EIO; @@ -1782,6 +1793,10 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) cFYI(1,("Last file: %s with name %d bytes long", lastFindData->FileName, cifsFile->resume_name_length)); + if(cifsFile->search_resume_name == NULL) { + rc = -ENOMEM; + break; + } memcpy(cifsFile->search_resume_name, lastFindData->FileName, cifsFile->resume_name_length); @@ -1811,27 +1826,29 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) cFYI(1,("Last file: %s with name %d bytes long", pfindDataUnix->FileName, cifsFile->resume_name_length)); + if(cifsFile->search_resume_name == NULL) { + rc = -ENOMEM; + break; + } memcpy(cifsFile->search_resume_name, pfindDataUnix->FileName, cifsFile->resume_name_length); } - for (i = 2; i < (unsigned int)findParms.SearchCount + 2; i++) { + for (i = 2; i < count + 2; i++) { if (UnixSearch == FALSE) { - pfindData->FileNameLength = - le32_to_cpu(pfindData->FileNameLength); + __u32 len = le32_to_cpu(pfindData->FileNameLength); if (Unicode == TRUE) - pfindData->FileNameLength = + len = cifs_strfromUCS_le (pfindData->FileName, (wchar_t *) pfindData->FileName, - (pfindData-> - FileNameLength) / 2, + len / 2, cifs_sb->local_nls); - qstring.len = pfindData->FileNameLength; - if (((qstring.len != 1) + qstring.len = len; + if (((len != 1) || (pfindData->FileName[0] != '.')) - && ((qstring.len != 2) + && ((len != 2) || (pfindData-> FileName[0] != '.') || (pfindData-> @@ -1899,7 +1916,7 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) } /* end for loop */ if ((findParms.EndofSearch != 0) && cifsFile) { cifsFile->endOfSearch = TRUE; - if(findParms.SearchCount == 2) + if(findParms.SearchCount == cpu_to_le16(2)) cifsFile->emptyDir = TRUE; } } else { @@ -1930,13 +1947,14 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) cifsFile->resume_key, &Unicode, &UnixSearch); cFYI(1,("Count: %d End: %d ", - findNextParms.SearchCount, - findNextParms.EndofSearch)); + le16_to_cpu(findNextParms.SearchCount), + le16_to_cpu(findNextParms.EndofSearch))); if ((rc == 0) && (findNextParms.SearchCount != 0)) { /* BB save off resume key, key name and name length */ + __u16 count = le16_to_cpu(findNextParms.SearchCount); lastFindData = (FILE_DIRECTORY_INFO *) ((char *) pfindData - + findNextParms.LastNameOffset); + + le16_to_cpu(findNextParms.LastNameOffset)); if((char *)lastFindData > (char *)pfindData + bufsize) { cFYI(1,("last search entry past end of packet")); rc = -EIO; @@ -1964,6 +1982,11 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) cFYI(1,("Last file: %s with name %d bytes long", lastFindData->FileName, cifsFile->resume_name_length)); + if(cifsFile->search_resume_name == NULL) { + rc = -ENOMEM; + break; + } + memcpy(cifsFile->search_resume_name, lastFindData->FileName, cifsFile->resume_name_length); @@ -1999,29 +2022,31 @@ cifs_readdir(struct file *file, void *direntry, filldir_t filldir) cFYI(1,("fnext last file: %s with name %d bytes long", pfindDataUnix->FileName, cifsFile->resume_name_length)); + if(cifsFile->search_resume_name == NULL) { + rc = -ENOMEM; + break; + } memcpy(cifsFile->search_resume_name, pfindDataUnix->FileName, cifsFile->resume_name_length); } - for (i = 0; i < findNextParms.SearchCount; i++) { - pfindData->FileNameLength = - le32_to_cpu(pfindData-> + for (i = 0; i < count; i++) { + __u32 len = le32_to_cpu(pfindData-> FileNameLength); if (UnixSearch == FALSE) { if (Unicode == TRUE) - pfindData->FileNameLength = + len = cifs_strfromUCS_le (pfindData->FileName, (wchar_t *) pfindData->FileName, - (pfindData->FileNameLength)/ 2, + len / 2, cifs_sb->local_nls); - qstring.len = - pfindData->FileNameLength; - if (((qstring.len != 1) + qstring.len = len; + if (((len != 1) || (pfindData->FileName[0] != '.')) - && ((qstring.len != 2) + && ((len != 2) || (pfindData->FileName[0] != '.') || (pfindData->FileName[1] != '.'))) { diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index a2965cfd3..84d09d9f1 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c @@ -76,6 +76,9 @@ cifs_get_inode_info_unix(struct inode **pinode, } else { struct cifsInodeInfo *cifsInfo; + __u32 type = le32_to_cpu(findData.Type); + __u64 num_of_bytes = le64_to_cpu(findData.NumOfBytes); + __u64 end_of_file = le64_to_cpu(findData.EndOfFile); /* get new inode */ if (*pinode == NULL) { @@ -101,37 +104,34 @@ cifs_get_inode_info_unix(struct inode **pinode, inode->i_ctime = cifs_NTtimeToUnix(le64_to_cpu(findData.LastStatusChange)); inode->i_mode = le64_to_cpu(findData.Permissions); - findData.Type = le32_to_cpu(findData.Type); - if (findData.Type == UNIX_FILE) { + if (type == UNIX_FILE) { inode->i_mode |= S_IFREG; - } else if (findData.Type == UNIX_SYMLINK) { + } else if (type == UNIX_SYMLINK) { inode->i_mode |= S_IFLNK; - } else if (findData.Type == UNIX_DIR) { + } else if (type == UNIX_DIR) { inode->i_mode |= S_IFDIR; - } else if (findData.Type == UNIX_CHARDEV) { + } else if (type == UNIX_CHARDEV) { inode->i_mode |= S_IFCHR; inode->i_rdev = MKDEV(le64_to_cpu(findData.DevMajor), le64_to_cpu(findData.DevMinor) & MINORMASK); - } else if (findData.Type == UNIX_BLOCKDEV) { + } else if (type == UNIX_BLOCKDEV) { inode->i_mode |= S_IFBLK; inode->i_rdev = MKDEV(le64_to_cpu(findData.DevMajor), le64_to_cpu(findData.DevMinor) & MINORMASK); - } else if (findData.Type == UNIX_FIFO) { + } else if (type == UNIX_FIFO) { inode->i_mode |= S_IFIFO; - } else if (findData.Type == UNIX_SOCKET) { + } else if (type == UNIX_SOCKET) { inode->i_mode |= S_IFSOCK; } inode->i_uid = le64_to_cpu(findData.Uid); inode->i_gid = le64_to_cpu(findData.Gid); inode->i_nlink = le64_to_cpu(findData.Nlinks); - findData.NumOfBytes = le64_to_cpu(findData.NumOfBytes); - findData.EndOfFile = le64_to_cpu(findData.EndOfFile); if(is_size_safe_to_change(cifsInfo)) { /* can not safely change the file size here if the client is writing to it due to potential races */ - i_size_write(inode,findData.EndOfFile); + i_size_write(inode, end_of_file); /* blksize needs to be multiple of two. So safer to default to blksize and blkbits set in superblock so 2**blkbits and blksize will match */ /* inode->i_blksize = @@ -143,14 +143,14 @@ cifs_get_inode_info_unix(struct inode **pinode, /* inode->i_blocks = - (inode->i_blksize - 1 + findData.NumOfBytes) >> inode->i_blkbits;*/ + (inode->i_blksize - 1 + num_of_bytes) >> inode->i_blkbits;*/ /* 512 bytes (2**9) is the fake blocksize that must be used */ /* for this calculation */ - inode->i_blocks = (512 - 1 + findData.NumOfBytes) >> 9; + inode->i_blocks = (512 - 1 + num_of_bytes) >> 9; } - if (findData.NumOfBytes < findData.EndOfFile) + if (num_of_bytes < end_of_file) cFYI(1, ("Server inconsistency Error: it says allocation size less than end of file ")); cFYI(1, ("Size %ld and blocks %ld ", @@ -201,6 +201,8 @@ cifs_get_inode_info(struct inode **pinode, const unsigned char *search_path, /* if file info not passed in then get it from server */ if(pfindData == NULL) { buf = kmalloc(sizeof(FILE_ALL_INFO),GFP_KERNEL); + if(buf == NULL) + return -ENOMEM; pfindData = (FILE_ALL_INFO *)buf; /* could do find first instead but this returns more info */ rc = CIFSSMBQPathInfo(xid, pTcon, search_path, pfindData, @@ -235,6 +237,7 @@ cifs_get_inode_info(struct inode **pinode, const unsigned char *search_path, } } else { struct cifsInodeInfo *cifsInfo; + __u32 attr = le32_to_cpu(pfindData->Attributes); /* get new inode */ if (*pinode == NULL) { @@ -245,8 +248,7 @@ cifs_get_inode_info(struct inode **pinode, const unsigned char *search_path, } inode = *pinode; cifsInfo = CIFS_I(inode); - pfindData->Attributes = le32_to_cpu(pfindData->Attributes); - cifsInfo->cifsAttrs = pfindData->Attributes; + cifsInfo->cifsAttrs = attr; cFYI(1, (" Old time %ld ", cifsInfo->time)); cifsInfo->time = jiffies; cFYI(1, (" New time %ld ", cifsInfo->time)); @@ -264,17 +266,17 @@ cifs_get_inode_info(struct inode **pinode, const unsigned char *search_path, inode->i_ctime = cifs_NTtimeToUnix(le64_to_cpu(pfindData->ChangeTime)); cFYI(0, - (" Attributes came in as 0x%x ", pfindData->Attributes)); + (" Attributes came in as 0x%x ", attr)); /* set default mode. will override for dirs below */ if(atomic_read(&cifsInfo->inUse) == 0) /* new inode, can safely set these fields */ inode->i_mode = cifs_sb->mnt_file_mode; - if (pfindData->Attributes & ATTR_REPARSE) { + if (attr & ATTR_REPARSE) { /* Can IFLNK be set as it basically is on windows with IFREG or IFDIR? */ inode->i_mode |= S_IFLNK; - } else if (pfindData->Attributes & ATTR_DIRECTORY) { + } else if (attr & ATTR_DIRECTORY) { /* override default perms since we do not do byte range locking on dirs */ inode->i_mode = cifs_sb->mnt_dir_mode; inode->i_mode |= S_IFDIR; @@ -293,10 +295,9 @@ cifs_get_inode_info(struct inode **pinode, const unsigned char *search_path, /* 512 bytes (2**9) is the fake blocksize that must be used */ /* for this calculation */ - inode->i_blocks = (512 - 1 + pfindData->AllocationSize) + inode->i_blocks = (512 - 1 + le64_to_cpu(pfindData->AllocationSize)) >> 9; } - pfindData->AllocationSize = le64_to_cpu(pfindData->AllocationSize); inode->i_nlink = le32_to_cpu(pfindData->NumberOfLinks); @@ -949,7 +950,7 @@ cifs_setattr(struct dentry *direntry, struct iattr *attrs) } else time_buf.ChangeTime = 0; - if (set_time | time_buf.Attributes) { + if (set_time || time_buf.Attributes) { /* BB what if setting one attribute fails (such as size) but time setting works */ time_buf.CreationTime = 0; /* do not change */ diff --git a/fs/cifs/link.c b/fs/cifs/link.c index 244d44157..1455810ba 100644 --- a/fs/cifs/link.c +++ b/fs/cifs/link.c @@ -106,7 +106,7 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd) up(&direntry->d_sb->s_vfs_rename_sem); if (!full_path) - goto out; + goto out_no_free; cFYI(1, ("Full path: %s inode = 0x%p", full_path, inode)); cifs_sb = CIFS_SB(inode->i_sb); @@ -126,9 +126,8 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd) else { /* rc = CIFSSMBQueryReparseLinkInfo */ /* BB Add code to Query ReparsePoint info */ + /* BB Add MAC style xsymlink check here if enabled */ } - /* BB Anything else to do to handle recursive links? */ - /* BB Should we be using page symlink ops here? */ if (rc == 0) { @@ -142,6 +141,7 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd) out: kfree(full_path); +out_no_free: FreeXid(xid); nd_set_link(nd, target_path); return 0; @@ -293,10 +293,7 @@ cifs_readlink(struct dentry *direntry, char __user *pBuffer, int buflen) if(referrals) kfree(referrals); kfree(tmp_path); - if(referrals) { - kfree(referrals); - } - } +} /* BB add code like else decode referrals then memcpy to tmpbuffer and free referrals string array BB */ } diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c index f3e258d11..6bf6ee31d 100644 --- a/fs/cifs/misc.c +++ b/fs/cifs/misc.c @@ -189,7 +189,6 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ , ) { int i; - __u32 tmp; struct list_head* temp_item; struct cifsSesInfo * ses; char *temp = (char *) buffer; @@ -211,10 +210,8 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ , buffer->Command = smb_command; buffer->Flags = 0x00; /* case sensitive */ buffer->Flags2 = SMBFLG2_KNOWS_LONG_NAMES; - tmp = cpu_to_le32(current->tgid); - buffer->Pid = tmp & 0xFFFF; - tmp >>= 16; - buffer->PidHigh = tmp & 0xFFFF; + buffer->Pid = cpu_to_le16((__u16)current->tgid); + buffer->PidHigh = cpu_to_le16((__u16)(current->tgid >> 16)); spin_lock(&GlobalMid_Lock); GlobalMid++; buffer->Mid = GlobalMid; @@ -276,7 +273,7 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ , } if (treeCon->Flags & SMB_SHARE_IS_IN_DFS) buffer->Flags2 |= SMBFLG2_DFS; - if(treeCon->ses->server) + if((treeCon->ses) && (treeCon->ses->server)) if(treeCon->ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED)) buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; @@ -292,7 +289,7 @@ checkSMBhdr(struct smb_hdr *smb, __u16 mid) { /* Make sure that this really is an SMB, that it is a response, and that the message ids match */ - if ((*(unsigned int *) smb->Protocol == cpu_to_le32(0x424d53ff)) && + if ((*(__le32 *) smb->Protocol == cpu_to_le32(0x424d53ff)) && (mid == smb->Mid)) { if(smb->Flags & SMBFLG_RESPONSE) return 0; @@ -304,7 +301,7 @@ checkSMBhdr(struct smb_hdr *smb, __u16 mid) cERROR(1, ("Rcvd Request not response ")); } } else { /* bad signature or mid */ - if (*(unsigned int *) smb->Protocol != cpu_to_le32(0x424d53ff)) + if (*(__le32 *) smb->Protocol != cpu_to_le32(0x424d53ff)) cERROR(1, ("Bad protocol string signature header %x ", *(unsigned int *) smb->Protocol)); @@ -318,12 +315,12 @@ checkSMBhdr(struct smb_hdr *smb, __u16 mid) int checkSMB(struct smb_hdr *smb, __u16 mid, int length) { + __u32 len = be32_to_cpu(smb->smb_buf_length); cFYI(0, ("Entering checkSMB with Length: %x, smb_buf_length: %x ", - length, ntohl(smb->smb_buf_length))); - if (((unsigned int)length < 2 + sizeof (struct smb_hdr)) - || (ntohl(smb->smb_buf_length) > - CIFS_MAX_MSGSIZE + MAX_CIFS_HDR_SIZE - 4)) { + length, len)); + if (((unsigned int)length < 2 + sizeof (struct smb_hdr)) || + (len > CIFS_MAX_MSGSIZE + MAX_CIFS_HDR_SIZE - 4)) { if ((unsigned int)length < 2 + sizeof (struct smb_hdr)) { cERROR(1, ("Length less than 2 + sizeof smb_hdr ")); if (((unsigned int)length >= sizeof (struct smb_hdr) - 1) @@ -331,8 +328,7 @@ checkSMB(struct smb_hdr *smb, __u16 mid, int length) return 0; /* some error cases do not return wct and bcc */ } - if (ntohl(smb->smb_buf_length) > - CIFS_MAX_MSGSIZE + MAX_CIFS_HDR_SIZE - 4) + if (len > CIFS_MAX_MSGSIZE + MAX_CIFS_HDR_SIZE - 4) cERROR(1, ("smb_buf_length greater than CIFS_MAX_MSGSIZE ... ")); cERROR(1, @@ -344,8 +340,8 @@ checkSMB(struct smb_hdr *smb, __u16 mid, int length) if (checkSMBhdr(smb, mid)) return 1; - if ((4 + ntohl(smb->smb_buf_length) != smbCalcSize(smb)) - || (4 + ntohl(smb->smb_buf_length) != (unsigned int)length)) { + if ((4 + len != smbCalcSize(smb)) + || (4 + len != (unsigned int)length)) { return 0; } else { cERROR(1, ("smbCalcSize %x ", smbCalcSize(smb))); diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c index cdc7ed342..a19f4a9c9 100644 --- a/fs/cifs/transport.c +++ b/fs/cifs/transport.c @@ -123,11 +123,12 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, int i = 0; struct msghdr smb_msg; struct kvec iov; + unsigned len = smb_buf_length + 4; if(ssocket == NULL) return -ENOTSOCK; /* BB eventually add reconnect code here */ iov.iov_base = smb_buffer; - iov.iov_len = smb_buf_length + 4; + iov.iov_len = len; smb_msg.msg_name = sin; smb_msg.msg_namelen = sizeof (struct sockaddr); @@ -142,10 +143,10 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, smb_buffer->smb_buf_length = cpu_to_be32(smb_buffer->smb_buf_length); cFYI(1, ("Sending smb of length %d ", smb_buf_length)); - dump_smb(smb_buffer, smb_buf_length + 4); + dump_smb(smb_buffer, len); - while(iov.iov_len > 0) { - rc = kernel_sendmsg(ssocket, &smb_msg, &iov, 1, smb_buf_length + 4); + while (len > 0) { + rc = kernel_sendmsg(ssocket, &smb_msg, &iov, 1, len); if ((rc == -ENOSPC) || (rc == -EAGAIN)) { i++; if(i > 60) { @@ -163,6 +164,7 @@ smb_send(struct socket *ssocket, struct smb_hdr *smb_buffer, break; iov.iov_base += rc; iov.iov_len -= rc; + len -= rc; } if (rc < 0) { @@ -181,7 +183,7 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, { int rc = 0; unsigned int receive_len; - long timeout; + unsigned long timeout; struct mid_q_entry *midQ; if (ses == NULL) { @@ -272,9 +274,6 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, return -EIO; } - if (in_buf->smb_buf_length > 12) - in_buf->Flags2 = cpu_to_le16(in_buf->Flags2); - rc = cifs_sign_smb(in_buf, ses, &midQ->sequence_number); midQ->midState = MID_REQUEST_SUBMITTED; @@ -307,27 +306,29 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, if (signal_pending(current)) { /* if signal pending do not hold up user for full smb timeout but we still give response a change to complete */ - if(midQ->midState & MID_REQUEST_SUBMITTED) { - set_current_state(TASK_UNINTERRUPTIBLE); - timeout = sleep_on_timeout(&ses->server->response_q,2 * HZ); - } - } else { /* using normal timeout */ - /* timeout = wait_event_interruptible_timeout(ses->server->response_q, + timeout = 2 * HZ; + + } + + /* No user interrupts in wait - wreaks havoc with performance */ + if(timeout != MAX_SCHEDULE_TIMEOUT) { + timeout += jiffies; + wait_event(ses->server->response_q, (midQ->midState & MID_RESPONSE_RECEIVED) || + time_after(jiffies, timeout) || ((ses->server->tcpStatus != CifsGood) && - (ses->server->tcpStatus != CifsNew)), - timeout); */ - /* Can not allow user interrupts- wreaks havoc with performance */ - if(midQ->midState & MID_REQUEST_SUBMITTED) { - set_current_state(TASK_UNINTERRUPTIBLE); - timeout = sleep_on_timeout(&ses->server->response_q,timeout); - } + (ses->server->tcpStatus != CifsNew))); + } else { + wait_event(ses->server->response_q, + (midQ->midState & MID_RESPONSE_RECEIVED) || + ((ses->server->tcpStatus != CifsGood) && + (ses->server->tcpStatus != CifsNew))); } - + spin_lock(&GlobalMid_Lock); if (midQ->resp_buf) { spin_unlock(&GlobalMid_Lock); - receive_len = be32_to_cpu(midQ->resp_buf->smb_buf_length); + receive_len = be32_to_cpu(*(__be32 *)midQ->resp_buf); } else { cERROR(1,("No response buffer")); if(midQ->midState == MID_REQUEST_SUBMITTED) { @@ -366,29 +367,20 @@ SendReceive(const unsigned int xid, struct cifsSesInfo *ses, if (midQ->resp_buf && out_buf && (midQ->midState == MID_RESPONSE_RECEIVED)) { - memcpy(out_buf, midQ->resp_buf, - receive_len + - 4 /* include 4 byte RFC1001 header */ ); + out_buf->smb_buf_length = receive_len; + memcpy((char *)out_buf + 4, + (char *)midQ->resp_buf + 4, + receive_len); dump_smb(out_buf, 92); /* convert the length into a more usable form */ - out_buf->smb_buf_length = - be32_to_cpu(out_buf->smb_buf_length); - if((out_buf->smb_buf_length > 24) && + if((receive_len > 24) && (ses->server->secMode & (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))) { rc = cifs_verify_signature(out_buf, ses->mac_signing_key,midQ->sequence_number); /* BB fix BB */ if(rc) cFYI(1,("Unexpected signature received from server")); } - if (out_buf->smb_buf_length > 12) - out_buf->Flags2 = le16_to_cpu(out_buf->Flags2); - if (out_buf->smb_buf_length > 28) - out_buf->Pid = le16_to_cpu(out_buf->Pid); - if (out_buf->smb_buf_length > 28) - out_buf->PidHigh = - le16_to_cpu(out_buf->PidHigh); - *pbytes_returned = out_buf->smb_buf_length; /* BB special case reconnect tid and reconnect uid here? */ diff --git a/fs/coda/inode.c b/fs/coda/inode.c index 9d39ef496..11b7eb1e7 100644 --- a/fs/coda/inode.c +++ b/fs/coda/inode.c @@ -69,7 +69,7 @@ int coda_init_inodecache(void) { coda_inode_cachep = kmem_cache_create("coda_inode_cache", sizeof(struct coda_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (coda_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/coda/psdev.c b/fs/coda/psdev.c index 6793b3740..9051ac173 100644 --- a/fs/coda/psdev.c +++ b/fs/coda/psdev.c @@ -405,7 +405,7 @@ static int __init init_coda(void) int status; int i; printk(KERN_INFO "Coda Kernel/Venus communications, " -#ifdef CODA_FS_OLD_API +#ifdef CONFIG_CODA_FS_OLD_API "v5.3.20" #else "v6.0.0" diff --git a/fs/compat.c b/fs/compat.c index 07f06a307..8fdb224ed 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -41,6 +41,7 @@ #include #include #include +#include #include /* siocdevprivate_ioctl */ @@ -247,7 +248,8 @@ out: /* ioctl32 stuff, used by sparc64, parisc, s390x, ppc64, x86_64, MIPS */ #define IOCTL_HASHSIZE 256 -struct ioctl_trans *ioctl32_hash_table[IOCTL_HASHSIZE]; +static struct ioctl_trans *ioctl32_hash_table[IOCTL_HASHSIZE]; +static DECLARE_RWSEM(ioctl32_sem); extern struct ioctl_trans ioctl_start[]; extern int ioctl_table_size; @@ -291,8 +293,8 @@ static int __init init_sys32_ioctl(void) __initcall(init_sys32_ioctl); -int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, - unsigned int, unsigned long, struct file *)) +int register_ioctl32_conversion(unsigned int cmd, + ioctl_trans_handler_t handler) { struct ioctl_trans *t; struct ioctl_trans *new_t; @@ -302,12 +304,12 @@ int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, if (!new_t) return -ENOMEM; - lock_kernel(); + down_write(&ioctl32_sem); for (t = ioctl32_hash_table[hash]; t; t = t->next) { if (t->cmd == cmd) { printk(KERN_ERR "Trying to register duplicated ioctl32 " "handler %x\n", cmd); - unlock_kernel(); + up_write(&ioctl32_sem); kfree(new_t); return -EINVAL; } @@ -317,7 +319,7 @@ int register_ioctl32_conversion(unsigned int cmd, int (*handler)(unsigned int, new_t->handler = handler; ioctl32_insert_translation(new_t); - unlock_kernel(); + up_write(&ioctl32_sem); return 0; } EXPORT_SYMBOL(register_ioctl32_conversion); @@ -337,11 +339,11 @@ int unregister_ioctl32_conversion(unsigned int cmd) unsigned long hash = ioctl32_hash(cmd); struct ioctl_trans *t, *t1; - lock_kernel(); + down_write(&ioctl32_sem); t = ioctl32_hash_table[hash]; if (!t) { - unlock_kernel(); + up_write(&ioctl32_sem); return -EINVAL; } @@ -351,7 +353,7 @@ int unregister_ioctl32_conversion(unsigned int cmd) __builtin_return_address(0), cmd); } else { ioctl32_hash_table[hash] = t->next; - unlock_kernel(); + up_write(&ioctl32_sem); kfree(t); return 0; } @@ -366,7 +368,7 @@ int unregister_ioctl32_conversion(unsigned int cmd) goto out; } else { t->next = t1->next; - unlock_kernel(); + up_write(&ioctl32_sem); kfree(t1); return 0; } @@ -376,7 +378,7 @@ int unregister_ioctl32_conversion(unsigned int cmd) printk(KERN_ERR "Trying to free unknown 32bit ioctl handler %x\n", cmd); out: - unlock_kernel(); + up_write(&ioctl32_sem); return -EINVAL; } EXPORT_SYMBOL(unregister_ioctl32_conversion); @@ -397,7 +399,7 @@ asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd, goto out; } - lock_kernel(); + down_read(&ioctl32_sem); t = ioctl32_hash_table[ioctl32_hash (cmd)]; @@ -405,14 +407,16 @@ asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd, t = t->next; if (t) { if (t->handler) { + lock_kernel(); error = t->handler(fd, cmd, arg, filp); unlock_kernel(); + up_read(&ioctl32_sem); } else { - unlock_kernel(); + up_read(&ioctl32_sem); error = sys_ioctl(fd, cmd, arg); } } else { - unlock_kernel(); + up_read(&ioctl32_sem); if (cmd >= SIOCDEVPRIVATE && cmd <= (SIOCDEVPRIVATE + 15)) { error = siocdevprivate_ioctl(fd, cmd, arg); } else { @@ -429,6 +433,8 @@ asmlinkage long compat_sys_ioctl(unsigned int fd, unsigned int cmd, fn = d_path(filp->f_dentry, filp->f_vfsmnt, path, PAGE_SIZE); + if (IS_ERR(fn)) + fn = "?"; } sprintf(buf,"'%c'", (cmd>>24) & 0x3f); @@ -522,10 +528,10 @@ asmlinkage long compat_sys_fcntl64(unsigned int fd, unsigned int cmd, ret = sys_fcntl(fd, cmd, (unsigned long)&f); set_fs(old_fs); if ((cmd == F_GETLK) && (ret == 0)) { - if ((f.l_start >= COMPAT_OFF_T_MAX) || - ((f.l_start + f.l_len) >= COMPAT_OFF_T_MAX)) + if ((compat_off_t) f.l_start != f.l_start || + (compat_off_t) f.l_len != f.l_len) ret = -EOVERFLOW; - if (ret == 0) + else ret = put_compat_flock(&f, compat_ptr(arg)); } break; @@ -543,10 +549,10 @@ asmlinkage long compat_sys_fcntl64(unsigned int fd, unsigned int cmd, (unsigned long)&f); set_fs(old_fs); if ((cmd == F_GETLK64) && (ret == 0)) { - if ((f.l_start >= COMPAT_LOFF_T_MAX) || - ((f.l_start + f.l_len) >= COMPAT_LOFF_T_MAX)) + if ((compat_loff_t) f.l_start != f.l_start || + (compat_loff_t) f.l_len != f.l_len) ret = -EOVERFLOW; - if (ret == 0) + else ret = put_compat_flock64(&f, compat_ptr(arg)); } break; @@ -979,19 +985,14 @@ static int compat_filldir64(void * __buf, const char * name, int namlen, loff_t dirent = buf->previous; if (dirent) { - if (__put_user(offset, (u32 __user *)&dirent->d_off)) - goto efault; - if (__put_user(offset >> 32, - ((u32 __user *)&dirent->d_off) + 1)) + if (__put_user_unaligned(offset, &dirent->d_off)) goto efault; } dirent = buf->current_dir; - if ((__put_user(ino, (u32 __user *)&dirent->d_ino)) - || (__put_user(ino >> 32, ((u32 __user *)&dirent->d_ino) + 1))) + if (__put_user_unaligned(ino, &dirent->d_ino)) goto efault; off = 0; - if ((__put_user(off, (u32 __user *)&dirent->d_off)) - || (__put_user(off >> 32, ((u32 __user *)&dirent->d_off) + 1))) + if (__put_user_unaligned(off, &dirent->d_off)) goto efault; if (__put_user(reclen, &dirent->d_reclen)) goto efault; @@ -1040,8 +1041,7 @@ asmlinkage long compat_sys_getdents64(unsigned int fd, lastdirent = buf.previous; if (lastdirent) { typeof(lastdirent->d_off) d_off = file->f_pos; - __put_user(d_off, (u32 __user *)&lastdirent->d_off); - __put_user(d_off >> 32, ((u32 __user *)&lastdirent->d_off) + 1); + __put_user_unaligned(d_off, &lastdirent->d_off); error = count - buf.count; } @@ -1368,97 +1368,99 @@ int compat_do_execve(char * filename, compat_uptr_t __user *envp, struct pt_regs * regs) { - struct linux_binprm bprm; + struct linux_binprm *bprm; struct file *file; int retval; int i; - sched_balance_exec(); - file = open_exec(filename); retval = PTR_ERR(file); if (IS_ERR(file)) return retval; - bprm.p = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *); - memset(bprm.page, 0, MAX_ARG_PAGES*sizeof(bprm.page[0])); - - bprm.file = file; - bprm.filename = filename; - bprm.interp = filename; - bprm.sh_bang = 0; - bprm.loader = 0; - bprm.exec = 0; - bprm.security = NULL; - bprm.mm = mm_alloc(); + sched_exec(); + retval = -ENOMEM; - if (!bprm.mm) + bprm = kmalloc(sizeof(*bprm), GFP_KERNEL); + if (!bprm) + goto out_ret; + memset(bprm, 0, sizeof(*bprm)); + + bprm->p = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *); + bprm->file = file; + bprm->filename = filename; + bprm->interp = filename; + bprm->mm = mm_alloc(); + if (!bprm->mm) goto out_file; - retval = init_new_context(current, bprm.mm); + retval = init_new_context(current, bprm->mm); if (retval < 0) goto out_mm; - bprm.argc = compat_count(argv, bprm.p / sizeof(compat_uptr_t)); - if ((retval = bprm.argc) < 0) + bprm->argc = compat_count(argv, bprm->p / sizeof(compat_uptr_t)); + if ((retval = bprm->argc) < 0) goto out_mm; - bprm.envc = compat_count(envp, bprm.p / sizeof(compat_uptr_t)); - if ((retval = bprm.envc) < 0) + bprm->envc = compat_count(envp, bprm->p / sizeof(compat_uptr_t)); + if ((retval = bprm->envc) < 0) goto out_mm; - retval = security_bprm_alloc(&bprm); + retval = security_bprm_alloc(bprm); if (retval) goto out; - retval = prepare_binprm(&bprm); + retval = prepare_binprm(bprm); if (retval < 0) goto out; - retval = copy_strings_kernel(1, &bprm.filename, &bprm); + retval = copy_strings_kernel(1, &bprm->filename, bprm); if (retval < 0) goto out; - bprm.exec = bprm.p; - retval = compat_copy_strings(bprm.envc, envp, &bprm); + bprm->exec = bprm->p; + retval = compat_copy_strings(bprm->envc, envp, bprm); if (retval < 0) goto out; - retval = compat_copy_strings(bprm.argc, argv, &bprm); + retval = compat_copy_strings(bprm->argc, argv, bprm); if (retval < 0) goto out; - retval = search_binary_handler(&bprm,regs); + retval = search_binary_handler(bprm, regs); if (retval >= 0) { - free_arg_pages(&bprm); + free_arg_pages(bprm); /* execve success */ - security_bprm_free(&bprm); + security_bprm_free(bprm); + kfree(bprm); return retval; } out: /* Something went wrong, return the inode and free the argument pages*/ for (i = 0 ; i < MAX_ARG_PAGES ; i++) { - struct page * page = bprm.page[i]; + struct page * page = bprm->page[i]; if (page) __free_page(page); } - if (bprm.security) - security_bprm_free(&bprm); + if (bprm->security) + security_bprm_free(bprm); out_mm: - if (bprm.mm) - mmdrop(bprm.mm); + if (bprm->mm) + mmdrop(bprm->mm); out_file: - if (bprm.file) { - allow_write_access(bprm.file); - fput(bprm.file); + if (bprm->file) { + allow_write_access(bprm->file); + fput(bprm->file); } + kfree(bprm); +out_ret: return retval; } diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index dc1a2d2c4..2edf63444 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -115,6 +116,8 @@ #include #include +#include + #undef INCLUDES #endif @@ -407,6 +410,7 @@ out: return err; } +#ifdef CONFIG_NET static int do_siocgstamp(unsigned int fd, unsigned int cmd, unsigned long arg) { struct compat_timeval __user *up = compat_ptr(arg); @@ -461,7 +465,6 @@ struct ifconf32 { compat_caddr_t ifcbuf; }; -#ifdef CONFIG_NET static int dev_ifname32(unsigned int fd, unsigned int cmd, unsigned long arg) { struct net_device *dev; @@ -481,7 +484,6 @@ static int dev_ifname32(unsigned int fd, unsigned int cmd, unsigned long arg) err = copy_to_user(compat_ptr(arg), &ifr32, sizeof(ifr32)); return (err ? -EFAULT : 0); } -#endif static int dev_ifconf(unsigned int fd, unsigned int cmd, unsigned long arg) { @@ -797,6 +799,7 @@ static int routing_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) return ret; } +#endif struct hd_geometry32 { unsigned char heads; @@ -1872,7 +1875,8 @@ static int do_atm_ioctl(unsigned int fd, unsigned int cmd32, unsigned long arg) return -EINVAL; } -static int ret_einval(unsigned int fd, unsigned int cmd, unsigned long arg) +static __attribute_used__ int +ret_einval(unsigned int fd, unsigned int cmd, unsigned long arg) { return -EINVAL; } @@ -3162,7 +3166,6 @@ HANDLE_IOCTL(MEMREADOOB32, mtd_rw_oob) HANDLE_IOCTL(MEMWRITEOOB32, mtd_rw_oob) #ifdef CONFIG_NET HANDLE_IOCTL(SIOCGIFNAME, dev_ifname32) -#endif HANDLE_IOCTL(SIOCGIFCONF, dev_ifconf) HANDLE_IOCTL(SIOCGIFFLAGS, dev_ifsioc) HANDLE_IOCTL(SIOCSIFFLAGS, dev_ifsioc) @@ -3206,6 +3209,7 @@ HANDLE_IOCTL(SIOCBRDELIF, dev_ifsioc) /* Note SIOCRTMSG is no longer, so this is safe and * the user would have seen just an -EINVAL anyways. */ HANDLE_IOCTL(SIOCRTMSG, ret_einval) HANDLE_IOCTL(SIOCGSTAMP, do_siocgstamp) +#endif HANDLE_IOCTL(HDIO_GETGEO, hdio_getgeo) HANDLE_IOCTL(BLKRAGET, w_long) HANDLE_IOCTL(BLKGETSIZE, w_long) diff --git a/fs/dcache.c b/fs/dcache.c index e779a1cc7..a56398970 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -61,9 +61,6 @@ static unsigned int d_hash_shift; static struct hlist_head *dentry_hashtable; static LIST_HEAD(dentry_unused); -static void prune_dcache(int count); - - /* Statistics gathering. */ struct dentry_stat_t dentry_stat = { .age_limit = 45, @@ -151,6 +148,8 @@ void dput(struct dentry *dentry) return; repeat: + if (atomic_read(&dentry->d_count) == 1) + might_sleep(); if (!atomic_dec_and_lock(&dentry->d_count, &dcache_lock)) return; @@ -283,22 +282,25 @@ struct dentry * dget_locked(struct dentry *dentry) /** * d_find_alias - grab a hashed alias of inode * @inode: inode in question + * @want_discon: flag, used by d_splice_alias, to request + * that only a DISCONNECTED alias be returned. * - * If inode has a hashed alias - acquire the reference to alias and - * return it. Otherwise return NULL. Notice that if inode is a directory - * there can be only one alias and it can be unhashed only if it has - * no children. + * If inode has a hashed alias, or is a directory and has any alias, + * acquire the reference to alias and return it. Otherwise return NULL. + * Notice that if inode is a directory there can be only one alias and + * it can be unhashed only if it has no children, or if it is the root + * of a filesystem. * * If the inode has a DCACHE_DISCONNECTED alias, then prefer - * any other hashed alias over that one. + * any other hashed alias over that one unless @want_discon is set, + * in which case only return a DCACHE_DISCONNECTED alias. */ -struct dentry * d_find_alias(struct inode *inode) +static struct dentry * __d_find_alias(struct inode *inode, int want_discon) { struct list_head *head, *next, *tmp; struct dentry *alias, *discon_alias=NULL; - spin_lock(&dcache_lock); head = &inode->i_dentry; next = inode->i_dentry.next; while (next != head) { @@ -306,22 +308,29 @@ struct dentry * d_find_alias(struct inode *inode) next = tmp->next; prefetch(next); alias = list_entry(tmp, struct dentry, d_alias); - if (!d_unhashed(alias)) { + if (S_ISDIR(inode->i_mode) || !d_unhashed(alias)) { if (alias->d_flags & DCACHE_DISCONNECTED) discon_alias = alias; - else { + else if (!want_discon) { __dget_locked(alias); - spin_unlock(&dcache_lock); return alias; } } } if (discon_alias) __dget_locked(discon_alias); - spin_unlock(&dcache_lock); return discon_alias; } +struct dentry * d_find_alias(struct inode *inode) +{ + struct dentry *de; + spin_lock(&dcache_lock); + de = __d_find_alias(inode, 0); + spin_unlock(&dcache_lock); + return de; +} + /* * Try to kill dentries associated with this inode. * WARNING: you must own a reference to inode. @@ -622,7 +631,7 @@ void shrink_dcache_parent(struct dentry * parent) * * Prune the dentries that are anonymous * - * parsing d_hash list does not read_barrier_depends() as it + * parsing d_hash list does not hlist_for_each_rcu() as it * done under dcache_lock. * */ @@ -692,19 +701,6 @@ struct dentry *d_alloc(struct dentry * parent, const struct qstr *name) struct dentry *dentry; char *dname; -#define DENTRY_UNUSED_THRESHOLD 30000 -#define DENTRY_BATCH_COUNT 32 - - if (dentry_stat.nr_unused > DENTRY_UNUSED_THRESHOLD) { - int doit = 1; - spin_lock(&dcache_lock); - if (dentry_stat.nr_unused < DENTRY_UNUSED_THRESHOLD) - doit = 0; - spin_unlock(&dcache_lock); - if (doit) - prune_dcache(DENTRY_BATCH_COUNT); - } - dentry = kmem_cache_alloc(dentry_cache, GFP_KERNEL); if (!dentry) return NULL; @@ -856,33 +852,27 @@ struct dentry * d_alloc_anon(struct inode *inode) tmp->d_parent = tmp; /* make sure dput doesn't croak */ spin_lock(&dcache_lock); - if (S_ISDIR(inode->i_mode) && !list_empty(&inode->i_dentry)) { - /* A directory can only have one dentry. - * This (now) has one, so use it. - */ - res = list_entry(inode->i_dentry.next, struct dentry, d_alias); - __dget_locked(res); - } else { + res = __d_find_alias(inode, 0); + if (!res) { /* attach a disconnected dentry */ res = tmp; tmp = NULL; - if (res) { - spin_lock(&res->d_lock); - res->d_sb = inode->i_sb; - res->d_parent = res; - res->d_inode = inode; + spin_lock(&res->d_lock); + res->d_sb = inode->i_sb; + res->d_parent = res; + res->d_inode = inode; + + /* + * Set d_bucket to an "impossible" bucket address so + * that d_move() doesn't get a false positive + */ + res->d_bucket = NULL; + res->d_flags |= DCACHE_DISCONNECTED; + res->d_flags &= ~DCACHE_UNHASHED; + list_add(&res->d_alias, &inode->i_dentry); + hlist_add_head(&res->d_hash, &inode->i_sb->s_anon); + spin_unlock(&res->d_lock); - /* - * Set d_bucket to an "impossible" bucket address so - * that d_move() doesn't get a false positive - */ - res->d_bucket = NULL; - res->d_flags |= DCACHE_DISCONNECTED; - res->d_flags &= ~DCACHE_UNHASHED; - list_add(&res->d_alias, &inode->i_dentry); - hlist_add_head(&res->d_hash, &inode->i_sb->s_anon); - spin_unlock(&res->d_lock); - } inode = NULL; /* don't drop reference */ } spin_unlock(&dcache_lock); @@ -904,7 +894,7 @@ struct dentry * d_alloc_anon(struct inode *inode) * DCACHE_DISCONNECTED), then d_move that in place of the given dentry * and return it, else simply d_add the inode to the dentry and return NULL. * - * This is (will be) needed in the lookup routine of any filesystem that is exportable + * This is needed in the lookup routine of any filesystem that is exportable * (via knfsd) so that we can build dcache paths to directories effectively. * * If a dentry was found and moved, then it is returned. Otherwise NULL @@ -915,11 +905,11 @@ struct dentry *d_splice_alias(struct inode *inode, struct dentry *dentry) { struct dentry *new = NULL; - if (inode && S_ISDIR(inode->i_mode)) { + if (inode) { spin_lock(&dcache_lock); - if (!list_empty(&inode->i_dentry)) { - new = list_entry(inode->i_dentry.next, struct dentry, d_alias); - __dget_locked(new); + new = __d_find_alias(inode, 1); + if (new) { + BUG_ON(!(new->d_flags & DCACHE_DISCONNECTED)); spin_unlock(&dcache_lock); security_d_instantiate(new, inode); d_rehash(dentry); @@ -993,11 +983,10 @@ struct dentry * __d_lookup(struct dentry * parent, struct qstr * name) rcu_read_lock(); - hlist_for_each (node, head) { + hlist_for_each_rcu(node, head) { struct dentry *dentry; struct qstr *qstr; - smp_read_barrier_depends(); dentry = hlist_entry(node, struct dentry, d_hash); smp_rmb(); @@ -1024,8 +1013,7 @@ struct dentry * __d_lookup(struct dentry * parent, struct qstr * name) if (dentry->d_parent != parent) goto next; - qstr = &dentry->d_name; - smp_read_barrier_depends(); + qstr = rcu_dereference(&dentry->d_name); if (parent->d_op && parent->d_op->d_compare) { if (parent->d_op->d_compare(parent, qstr, name)) goto next; @@ -1078,7 +1066,7 @@ int d_validate(struct dentry *dentry, struct dentry *dparent) spin_lock(&dcache_lock); base = d_hash(dparent, dentry->d_name.hash); hlist_for_each(lhp,base) { - /* read_barrier_depends() not required for d_hash list + /* hlist_for_each_rcu() not required for d_hash list * as it is parsed under dcache_lock */ if (dentry == hlist_entry(lhp, struct dentry, d_hash)) { @@ -1707,8 +1695,6 @@ EXPORT_SYMBOL(dget_locked); EXPORT_SYMBOL(dput); EXPORT_SYMBOL(find_inode_number); EXPORT_SYMBOL(have_submounts); -EXPORT_SYMBOL(is_subdir); EXPORT_SYMBOL(names_cachep); -EXPORT_SYMBOL(shrink_dcache_anon); EXPORT_SYMBOL(shrink_dcache_parent); EXPORT_SYMBOL(shrink_dcache_sb); diff --git a/fs/devfs/base.c b/fs/devfs/base.c index a62d9412e..65e299a2d 100644 --- a/fs/devfs/base.c +++ b/fs/devfs/base.c @@ -1802,7 +1802,6 @@ static int __init devfs_setup(char *str) __setup("devfs=", devfs_setup); -EXPORT_SYMBOL(devfs_mk_symlink); EXPORT_SYMBOL(devfs_mk_dir); EXPORT_SYMBOL(devfs_remove); diff --git a/fs/devpts/Makefile b/fs/devpts/Makefile index 5eb7a942a..5800df2e5 100644 --- a/fs/devpts/Makefile +++ b/fs/devpts/Makefile @@ -5,5 +5,4 @@ obj-$(CONFIG_UNIX98_PTYS) += devpts.o devpts-$(CONFIG_UNIX98_PTYS) := inode.o -devpts-$(CONFIG_DEVPTS_FS_XATTR) += xattr.o devpts-$(CONFIG_DEVPTS_FS_SECURITY) += xattr_security.o diff --git a/fs/devpts/inode.c b/fs/devpts/inode.c index a429f2817..a9aec8b53 100644 --- a/fs/devpts/inode.c +++ b/fs/devpts/inode.c @@ -19,7 +19,18 @@ #include #include #include -#include "xattr.h" +#include + +#define DEVPTS_SUPER_MAGIC 0x1cd1 + +extern struct xattr_handler devpts_xattr_security_handler; + +static struct xattr_handler *devpts_xattr_handlers[] = { +#ifdef CONFIG_DEVPTS_FS_SECURITY + &devpts_xattr_security_handler, +#endif + NULL +}; static struct vfsmount *devpts_mnt; static struct dentry *devpts_root; @@ -69,6 +80,68 @@ static int devpts_remount(struct super_block *sb, int *flags, char *data) return 0; } +static int devpts_readdir(struct file * filp, void * dirent, filldir_t filldir) +{ + struct dentry *dentry = filp->f_dentry; + struct dentry *cursor = filp->private_data; + struct list_head *p, *q = &cursor->d_child; + ino_t ino; + int i = filp->f_pos; + + switch (i) { + case 0: + ino = dentry->d_inode->i_ino; + if (filldir(dirent, ".", 1, i, ino, DT_DIR) < 0) + break; + filp->f_pos++; + i++; + /* fallthrough */ + case 1: + ino = parent_ino(dentry); + if (filldir(dirent, "..", 2, i, ino, DT_DIR) < 0) + break; + filp->f_pos++; + i++; + /* fallthrough */ + default: + spin_lock(&dcache_lock); + if (filp->f_pos == 2) { + list_del(q); + list_add(q, &dentry->d_subdirs); + } + for (p=q->next; p != &dentry->d_subdirs; p=p->next) { + struct dentry *next; + next = list_entry(p, struct dentry, d_child); + if (d_unhashed(next) || !next->d_inode) + continue; + if (!vx_check(next->d_inode->i_xid, VX_IDENT)) + continue; + + spin_unlock(&dcache_lock); + if (filldir(dirent, next->d_name.name, + next->d_name.len, filp->f_pos, + next->d_inode->i_ino, DT_CHR) < 0) + return 0; + spin_lock(&dcache_lock); + /* next is still alive */ + list_del(q); + list_add(q, p); + p = q; + filp->f_pos++; + } + spin_unlock(&dcache_lock); + } + return 0; +} + +static struct file_operations devpts_dir_operations = { + .open = dcache_dir_open, + .release = dcache_dir_close, + .llseek = dcache_dir_lseek, + .read = generic_read_dir, + .readdir = devpts_readdir, +}; + static struct super_operations devpts_sops = { .statfs = simple_statfs, .remount_fs = devpts_remount, @@ -83,6 +156,7 @@ devpts_fill_super(struct super_block *s, void *data, int silent) s->s_blocksize_bits = 10; s->s_magic = DEVPTS_SUPER_MAGIC; s->s_op = &devpts_sops; + s->s_xattr = devpts_xattr_handlers; inode = new_inode(s); if (!inode) @@ -94,7 +168,7 @@ devpts_fill_super(struct super_block *s, void *data, int silent) inode->i_uid = inode->i_gid = 0; inode->i_mode = S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR; inode->i_op = &simple_dir_inode_operations; - inode->i_fop = &simple_dir_operations; + inode->i_fop = &devpts_dir_operations; inode->i_nlink = 2; inode->i_xid = vx_current_xid(); @@ -134,21 +208,25 @@ static struct dentry *get_node(int num) return lookup_one_len(s, root, sprintf(s, "%d", num)); } +#ifdef CONFIG_DEVPTS_FS_XATTR static int devpts_permission(struct inode *inode, int mask, struct nameidata *nd) { int ret = -EACCES; - + if (vx_check(inode->i_xid, VX_IDENT)) ret = vfs_permission(inode, mask); return ret; } - -static struct inode_operations devpts_file_inode_operations = { - .setxattr = devpts_setxattr, - .getxattr = devpts_getxattr, - .listxattr = devpts_listxattr, - .removexattr = devpts_removexattr, +#endif + +struct inode_operations devpts_file_inode_operations = { +#ifdef CONFIG_DEVPTS_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .listxattr = generic_listxattr, + .removexattr = generic_removexattr, .permission = devpts_permission, +#endif }; int devpts_pty_new(struct tty_struct *tty) @@ -190,8 +268,12 @@ struct tty_struct *devpts_get_tty(int number) struct dentry *dentry = get_node(number); struct tty_struct *tty; - tty = (IS_ERR(dentry) || !dentry->d_inode) ? NULL : - dentry->d_inode->u.generic_ip; + tty = NULL; + if (!IS_ERR(dentry)) { + if (dentry->d_inode) + tty = dentry->d_inode->u.generic_ip; + dput(dentry); + } up(&devpts_root->d_inode->i_sem); @@ -216,10 +298,7 @@ void devpts_pty_kill(int number) static int __init init_devpts_fs(void) { - int err = init_devpts_xattr(); - if (err) - return err; - err = register_filesystem(&devpts_fs_type); + int err = register_filesystem(&devpts_fs_type); if (!err) { devpts_mnt = kern_mount(&devpts_fs_type); if (IS_ERR(devpts_mnt)) @@ -232,7 +311,6 @@ static void __exit exit_devpts_fs(void) { unregister_filesystem(&devpts_fs_type); mntput(devpts_mnt); - exit_devpts_xattr(); } module_init(init_devpts_fs) diff --git a/fs/devpts/xattr_security.c b/fs/devpts/xattr_security.c index 4291d7b35..864cb5c79 100644 --- a/fs/devpts/xattr_security.c +++ b/fs/devpts/xattr_security.c @@ -1,38 +1,45 @@ /* - * File: fs/devpts/xattr_security.c + * Security xattr support for devpts. + * + * Author: Stephen Smalley + * Copyright (c) 2004 Red Hat, Inc., James Morris + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. */ - -#include #include #include #include -#include "xattr.h" +#include static size_t -devpts_xattr_security_list(struct dentry *dentry, char *buffer) +devpts_xattr_security_list(struct inode *inode, char *list, size_t list_len, + const char *name, size_t name_len) { - return security_inode_listsecurity(dentry, buffer); + return security_inode_listsecurity(inode, list, list_len); } static int -devpts_xattr_security_get(struct dentry *dentry, const char *name, +devpts_xattr_security_get(struct inode *inode, const char *name, void *buffer, size_t size) { if (strcmp(name, "") == 0) return -EINVAL; - return security_inode_getsecurity(dentry, name, buffer, size); + return security_inode_getsecurity(inode, name, buffer, size); } static int -devpts_xattr_security_set(struct dentry *dentry, const char *name, +devpts_xattr_security_set(struct inode *inode, const char *name, const void *value, size_t size, int flags) { if (strcmp(name, "") == 0) return -EINVAL; - return security_inode_setsecurity(dentry, name, value, size, flags); + return security_inode_setsecurity(inode, name, value, size, flags); } -struct devpts_xattr_handler devpts_xattr_security_handler = { +struct xattr_handler devpts_xattr_security_handler = { .prefix = XATTR_SECURITY_PREFIX, .list = devpts_xattr_security_list, .get = devpts_xattr_security_get, diff --git a/fs/direct-io.c b/fs/direct-io.c index 37f593c42..afc38f43f 100644 --- a/fs/direct-io.c +++ b/fs/direct-io.c @@ -53,9 +53,12 @@ * If blkfactor is zero then the user's request was aligned to the filesystem's * blocksize. * - * needs_locking is set for regular files on direct-IO-naive filesystems. It - * determines whether we need to do the fancy locking which prevents direct-IO - * from being able to read uninitialised disk blocks. + * lock_type is DIO_LOCKING for regular files on direct-IO-naive filesystems. + * This determines whether we need to do the fancy locking which prevents + * direct-IO from being able to read uninitialised disk blocks. If its zero + * (blockdev) this locking is not done, and if it is DIO_OWN_LOCKING i_sem is + * not held for the entire direct write (taken briefly, initially, during a + * direct read though, but its never held for the duration of a direct-IO). */ struct dio { @@ -63,7 +66,7 @@ struct dio { struct bio *bio; /* bio under assembly */ struct inode *inode; int rw; - int needs_locking; /* doesn't change */ + int lock_type; /* doesn't change */ unsigned blkbits; /* doesn't change */ unsigned blkfactor; /* When we're using an alignment which is finer than the filesystem's soft @@ -212,7 +215,7 @@ static void dio_complete(struct dio *dio, loff_t offset, ssize_t bytes) { if (dio->end_io && dio->result) dio->end_io(dio->inode, offset, bytes, dio->map_bh.b_private); - if (dio->needs_locking) + if (dio->lock_type != DIO_NO_LOCKING) up_read(&dio->inode->i_alloc_sem); } @@ -235,7 +238,8 @@ static void finished_one_bio(struct dio *dio) dio_complete(dio, dio->block_in_file << dio->blkbits, dio->result); /* Complete AIO later if falling back to buffered i/o */ - if (dio->result == dio->size || dio->rw == READ) { + if (dio->result == dio->size || + ((dio->rw == READ) && dio->result)) { aio_complete(dio->iocb, dio->result, 0); kfree(dio); return; @@ -492,7 +496,7 @@ static int get_more_blocks(struct dio *dio) unsigned long fs_count; /* Number of filesystem-sized blocks */ unsigned long dio_count;/* Number of dio_block-sized blocks */ unsigned long blkmask; - int beyond_eof = 0; + int create; /* * If there was a memory error and we've overwritten all the @@ -510,10 +514,13 @@ static int get_more_blocks(struct dio *dio) if (dio_count & blkmask) fs_count++; - if (dio->needs_locking) { - if (dio->block_in_file >= (i_size_read(dio->inode) >> + create = dio->rw == WRITE; + if (dio->lock_type == DIO_LOCKING) { + if (dio->block_in_file < (i_size_read(dio->inode) >> dio->blkbits)) - beyond_eof = 1; + create = 0; + } else if (dio->lock_type == DIO_NO_LOCKING) { + create = 0; } /* * For writes inside i_size we forbid block creations: only @@ -522,7 +529,7 @@ static int get_more_blocks(struct dio *dio) * writes. */ ret = (*dio->get_blocks)(dio->inode, fs_startblk, fs_count, - map_bh, (dio->rw == WRITE) && beyond_eof); + map_bh, create); } return ret; } @@ -561,7 +568,11 @@ static int dio_bio_add_page(struct dio *dio) ret = bio_add_page(dio->bio, dio->cur_page, dio->cur_page_len, dio->cur_page_offset); if (ret == dio->cur_page_len) { - dio->pages_in_io--; + /* + * Decrement count only, if we are done with this page + */ + if ((dio->cur_page_len + dio->cur_page_offset) == PAGE_SIZE) + dio->pages_in_io--; page_cache_get(dio->cur_page); dio->final_block_in_bio = dio->cur_page_block + (dio->cur_page_len >> dio->blkbits); @@ -953,9 +964,21 @@ direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode, dio->bio_list = NULL; dio->waiter = NULL; - dio->pages_in_io = 0; - for (seg = 0; seg < nr_segs; seg++) - dio->pages_in_io += (iov[seg].iov_len >> blkbits) + 2; + /* + * In case of non-aligned buffers, we may need 2 more + * pages since we need to zero out first and last block. + */ + if (unlikely(dio->blkfactor)) + dio->pages_in_io = 2; + else + dio->pages_in_io = 0; + + for (seg = 0; seg < nr_segs; seg++) { + user_addr = (unsigned long)iov[seg].iov_base; + dio->pages_in_io += + ((user_addr+iov[seg].iov_len +PAGE_SIZE-1)/PAGE_SIZE + - user_addr/PAGE_SIZE); + } for (seg = 0; seg < nr_segs; seg++) { user_addr = (unsigned long)iov[seg].iov_base; @@ -1024,7 +1047,7 @@ direct_io_worker(int rw, struct kiocb *iocb, struct inode *inode, * we can let i_sem go now that its achieved its purpose * of protecting us from looking up uninitialized blocks. */ - if ((rw == READ) && dio->needs_locking) + if ((rw == READ) && (dio->lock_type == DIO_LOCKING)) up(&dio->inode->i_sem); /* @@ -1111,7 +1134,7 @@ ssize_t __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, struct block_device *bdev, const struct iovec *iov, loff_t offset, unsigned long nr_segs, get_blocks_t get_blocks, dio_iodone_t end_io, - int needs_special_locking) + int dio_lock_type) { int seg; size_t size; @@ -1122,7 +1145,6 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, ssize_t retval = -EINVAL; loff_t end = offset; struct dio *dio; - int needs_locking; if (bdev) bdev_blkbits = blksize_bits(bdev_hardsect_size(bdev)); @@ -1155,13 +1177,15 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, goto out; /* - * For regular files, + * For regular files using DIO_LOCKING, * readers need to grab i_sem and i_alloc_sem * writers need to grab i_alloc_sem only (i_sem is already held) + * For regular files using DIO_OWN_LOCKING, + * both readers and writers need to grab i_alloc_sem + * neither readers nor writers hold i_sem on entry (nor exit) */ - needs_locking = 0; - if (S_ISREG(inode->i_mode) && needs_special_locking) { - needs_locking = 1; + dio->lock_type = dio_lock_type; + if (dio_lock_type != DIO_NO_LOCKING) { if (rw == READ) { struct address_space *mapping; @@ -1173,10 +1197,13 @@ __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, kfree(dio); goto out; } + down_read(&inode->i_alloc_sem); + if (dio_lock_type == DIO_OWN_LOCKING) + up(&inode->i_sem); + } else { + down_read(&inode->i_alloc_sem); } - down_read(&inode->i_alloc_sem); } - dio->needs_locking = needs_locking; /* * For file extending writes updating i_size before data * writeouts complete can expose uninitialized blocks. So diff --git a/fs/dquot.c b/fs/dquot.c index 35c84acdc..b035fc4b4 100644 --- a/fs/dquot.c +++ b/fs/dquot.c @@ -120,7 +120,7 @@ * i_sem on quota files is special (it's below dqio_sem) */ -spinlock_t dq_list_lock = SPIN_LOCK_UNLOCKED; +static spinlock_t dq_list_lock = SPIN_LOCK_UNLOCKED; spinlock_t dq_data_lock = SPIN_LOCK_UNLOCKED; static char *quotatypes[] = INITQFNAMES; @@ -1792,7 +1792,6 @@ module_init(dquot_init); EXPORT_SYMBOL(register_quota_format); EXPORT_SYMBOL(unregister_quota_format); EXPORT_SYMBOL(dqstats); -EXPORT_SYMBOL(dq_list_lock); EXPORT_SYMBOL(dq_data_lock); EXPORT_SYMBOL(vfs_quota_on); EXPORT_SYMBOL(vfs_quota_on_mount); diff --git a/fs/eventpoll.c b/fs/eventpoll.c index c81ddcd31..7d6a12f66 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -148,6 +148,9 @@ /* Get the "struct epitem" from an epoll queue wrapper */ #define EP_ITEM_FROM_EPQUEUE(p) (container_of(p, struct ep_pqueue, pt)->epi) +/* Tells if the epoll_ctl(2) operation needs an event copy from userspace */ +#define EP_OP_HASH_EVENT(op) ((op) != EPOLL_CTL_DEL) + struct epoll_filefd { struct file *file; @@ -531,7 +534,8 @@ sys_epoll_ctl(int epfd, int op, int fd, struct epoll_event __user *event) current, epfd, op, fd, event)); error = -EFAULT; - if (copy_from_user(&epds, event, sizeof(struct epoll_event))) + if (EP_OP_HASH_EVENT(op) && + copy_from_user(&epds, event, sizeof(struct epoll_event))) goto eexit_1; /* Get the "struct file *" for the eventpoll file */ diff --git a/fs/exec.c b/fs/exec.c index 90580ec70..3d1f71b8b 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -59,6 +59,10 @@ int core_uses_pid; char core_pattern[65] = "core"; +int suid_dumpable = 0; + +EXPORT_SYMBOL(suid_dumpable); + /* The maximal length of core_pattern is also specified in sysctl.c */ static struct linux_binfmt *formats; @@ -345,7 +349,7 @@ int setup_arg_pages(struct linux_binprm *bprm, int executable_stack) unsigned long stack_base; struct vm_area_struct *mpnt; struct mm_struct *mm = current->mm; - int i; + int i, ret; long arg_size; #ifdef CONFIG_STACK_GROWSUP @@ -442,10 +446,14 @@ int setup_arg_pages(struct linux_binprm *bprm, int executable_stack) mpnt->vm_flags = VM_STACK_FLAGS; mpnt->vm_flags |= mm->def_flags; mpnt->vm_page_prot = protection_map[mpnt->vm_flags & 0x7]; - insert_vm_struct(mm, mpnt); - // mm->total_vm = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; - vx_vmpages_sub(mm, mm->total_vm - - ((mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT)); + if ((ret = insert_vm_struct(mm, mpnt))) { + up_write(&mm->mmap_sem); + kmem_cache_free(vm_area_cachep, mpnt); + return ret; + } + // mm->stack_vm = mm->total_vm = vma_pages(mpnt); + vx_vmpages_sub(mm, mm->total_vm - vma_pages(mpnt)); + mm->stack_vm = mm->total_vm; } for (i = 0 ; i < MAX_ARG_PAGES ; i++) { @@ -683,14 +691,14 @@ static inline int de_thread(struct task_struct *tsk) if (current->pid != current->tgid) { struct task_struct *leader = current->group_leader, *parent; struct dentry *proc_dentry1, *proc_dentry2; - unsigned long state, ptrace; + unsigned long exit_state, ptrace; /* * Wait for the thread group leader to be a zombie. * It should already be zombie at this point, most * of the time. */ - while (leader->state != TASK_ZOMBIE) + while (leader->exit_state != EXIT_ZOMBIE) yield(); spin_lock(&leader->proc_lock); @@ -734,7 +742,7 @@ static inline int de_thread(struct task_struct *tsk) list_del(¤t->tasks); list_add_tail(¤t->tasks, &init_task.tasks); current->exit_signal = SIGCHLD; - state = leader->state; + exit_state = leader->exit_state; write_unlock_irq(&tasklist_lock); spin_unlock(&leader->proc_lock); @@ -742,7 +750,7 @@ static inline int de_thread(struct task_struct *tsk) proc_pid_flush(proc_dentry1); proc_pid_flush(proc_dentry2); - if (state != TASK_ZOMBIE) + if (exit_state != EXIT_ZOMBIE) BUG(); release_task(leader); } @@ -765,8 +773,10 @@ no_thread_group: spin_unlock(&oldsighand->siglock); write_unlock_irq(&tasklist_lock); - if (newsig && atomic_dec_and_test(&oldsig->count)) + if (newsig && atomic_dec_and_test(&oldsig->count)) { + exit_itimers(oldsig); kmem_cache_free(signal_cachep, oldsig); + } if (atomic_dec_and_test(&oldsighand->count)) kmem_cache_free(sighand_cachep, oldsighand); @@ -811,11 +821,27 @@ static inline void flush_old_files(struct files_struct * files) spin_unlock(&files->file_lock); } +void get_task_comm(char *buf, struct task_struct *tsk) +{ + /* buf must be at least sizeof(tsk->comm) in size */ + task_lock(tsk); + memcpy(buf, tsk->comm, sizeof(tsk->comm)); + task_unlock(tsk); +} + +void set_task_comm(struct task_struct *tsk, char *buf) +{ + task_lock(tsk); + strlcpy(tsk->comm, buf, sizeof(tsk->comm)); + task_unlock(tsk); +} + int flush_old_exec(struct linux_binprm * bprm) { char * name; int i, ch, retval; struct files_struct *files; + char tcomm[sizeof(current->comm)]; /* * Make sure we have a private signal table and that @@ -851,15 +877,19 @@ int flush_old_exec(struct linux_binprm * bprm) if (current->euid == current->uid && current->egid == current->gid) current->mm->dumpable = 1; + else + current->mm->dumpable = suid_dumpable; + name = bprm->filename; for (i=0; (ch = *(name++)) != '\0';) { if (ch == '/') i = 0; else - if (i < 15) - current->comm[i++] = ch; + if (i < (sizeof(tcomm) - 1)) + tcomm[i++] = ch; } - current->comm[i] = '\0'; + tcomm[i] = '\0'; + set_task_comm(current, tcomm); current->flags &= ~PF_RELOCEXEC; flush_thread(); @@ -867,7 +897,7 @@ int flush_old_exec(struct linux_binprm * bprm) if (bprm->e_uid != current->euid || bprm->e_gid != current->egid || permission(bprm->file->f_dentry->d_inode,MAY_READ, NULL) || (bprm->interp_flags & BINPRM_FLAGS_ENFORCE_NONDUMP)) - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; /* An exec changes our domain. We are no longer part of the thread group */ @@ -1000,7 +1030,7 @@ EXPORT_SYMBOL(remove_arg_zero); */ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) { - int try,retval=0; + int try,retval; struct linux_binfmt *fmt; #ifdef __alpha__ /* handle /sbin/loader.. */ @@ -1044,6 +1074,7 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) /* kernel module loader fixup */ /* so we don't try to load run modprobe in kernel space. */ set_fs(USER_DS); + retval = -ENOENT; for (try=0; try<2; try++) { read_lock(&binfmt_lock); for (fmt = formats ; fmt ; fmt = fmt->next) { @@ -1101,7 +1132,7 @@ int do_execve(char * filename, char __user *__user *envp, struct pt_regs * regs) { - struct linux_binprm bprm; + struct linux_binprm *bprm; struct file *file; int retval; int i; @@ -1112,92 +1143,92 @@ int do_execve(char * filename, if (IS_ERR(file)) return retval; - sched_balance_exec(); - - bprm.p = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *); - memset(bprm.page, 0, MAX_ARG_PAGES*sizeof(bprm.page[0])); - - bprm.file = file; - bprm.filename = filename; - bprm.interp = filename; - bprm.interp_flags = 0; - bprm.interp_data = 0; - bprm.sh_bang = 0; - bprm.loader = 0; - bprm.exec = 0; - bprm.security = NULL; - bprm.mm = mm_alloc(); + sched_exec(); + retval = -ENOMEM; - if (!bprm.mm) + bprm = kmalloc(sizeof(*bprm), GFP_KERNEL); + if (!bprm) + goto out_ret; + memset(bprm, 0, sizeof(*bprm)); + + bprm->p = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *); + + bprm->file = file; + bprm->filename = filename; + bprm->interp = filename; + bprm->mm = mm_alloc(); + if (!bprm->mm) goto out_file; - retval = init_new_context(current, bprm.mm); + retval = init_new_context(current, bprm->mm); if (retval < 0) goto out_mm; - bprm.argc = count(argv, bprm.p / sizeof(void *)); - if ((retval = bprm.argc) < 0) + bprm->argc = count(argv, bprm->p / sizeof(void *)); + if ((retval = bprm->argc) < 0) goto out_mm; - bprm.envc = count(envp, bprm.p / sizeof(void *)); - if ((retval = bprm.envc) < 0) + bprm->envc = count(envp, bprm->p / sizeof(void *)); + if ((retval = bprm->envc) < 0) goto out_mm; - retval = security_bprm_alloc(&bprm); + retval = security_bprm_alloc(bprm); if (retval) goto out; - retval = prepare_binprm(&bprm); + retval = prepare_binprm(bprm); if (retval < 0) goto out; - retval = copy_strings_kernel(1, &bprm.filename, &bprm); + retval = copy_strings_kernel(1, &bprm->filename, bprm); if (retval < 0) goto out; - bprm.exec = bprm.p; - retval = copy_strings(bprm.envc, envp, &bprm); + bprm->exec = bprm->p; + retval = copy_strings(bprm->envc, envp, bprm); if (retval < 0) goto out; - retval = copy_strings(bprm.argc, argv, &bprm); + retval = copy_strings(bprm->argc, argv, bprm); if (retval < 0) goto out; - retval = search_binary_handler(&bprm,regs); + retval = search_binary_handler(bprm,regs); if (retval >= 0) { - free_arg_pages(&bprm); + free_arg_pages(bprm); /* execve success */ - security_bprm_free(&bprm); + security_bprm_free(bprm); + kfree(bprm); return retval; } out: /* Something went wrong, return the inode and free the argument pages*/ for (i = 0 ; i < MAX_ARG_PAGES ; i++) { - struct page * page = bprm.page[i]; + struct page * page = bprm->page[i]; if (page) __free_page(page); } - if (bprm.security) - security_bprm_free(&bprm); + if (bprm->security) + security_bprm_free(bprm); out_mm: - if (bprm.mm) - mmdrop(bprm.mm); + if (bprm->mm) + mmdrop(bprm->mm); out_file: - if (bprm.file) { - allow_write_access(bprm.file); - fput(bprm.file); + if (bprm->file) { + allow_write_access(bprm->file); + fput(bprm->file); } + kfree(bprm); + +out_ret: return retval; } -EXPORT_SYMBOL(do_execve); - int set_binfmt(struct linux_binfmt *new) { struct linux_binfmt *old = current->binfmt; @@ -1220,7 +1251,7 @@ EXPORT_SYMBOL(set_binfmt); * name into corename, which must have space for at least * CORENAME_MAX_SIZE bytes plus one byte for the zero terminator. */ -void format_corename(char *corename, const char *pattern, long signr) +static void format_corename(char *corename, const char *pattern, long signr) { const char *pat_ptr = pattern; char *out_ptr = corename; @@ -1383,16 +1414,30 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs) struct inode * inode; struct file * file; int retval = 0; - - lock_kernel(); + int fsuid = current->fsuid; + int flag = 0; + binfmt = current->binfmt; if (!binfmt || !binfmt->core_dump) goto fail; + if (current->tux_exit) + current->tux_exit(); down_write(&mm->mmap_sem); if (!mm->dumpable) { up_write(&mm->mmap_sem); goto fail; } + + /* + * We cannot trust fsuid as being the "true" uid of the + * process nor do we know its entire history. We only know it + * was tainted so we dump it as root in mode 2. + */ + if (mm->dumpable == 2) /* Setuid core dump mode */ + { + flag = O_EXCL; /* Stop rewrite attacks */ + current->fsuid = 0; /* Dump root private */ + } mm->dumpable = 0; init_completion(&mm->core_done); current->signal->group_exit = 1; @@ -1402,8 +1447,14 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs) if (current->rlim[RLIMIT_CORE].rlim_cur < binfmt->min_coredump) goto fail_unlock; - format_corename(corename, core_pattern, signr); - file = filp_open(corename, O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE, 0600); + /* + * lock_kernel() because format_corename() is controlled by sysctl, which + * uses lock_kernel() + */ + lock_kernel(); + format_corename(corename, core_pattern, signr); + unlock_kernel(); + file = filp_open(corename, O_CREAT | 2 | O_NOFOLLOW | O_LARGEFILE | flag, 0600); if (IS_ERR(file)) goto fail_unlock; inode = file->f_dentry->d_inode; @@ -1427,8 +1478,8 @@ int do_coredump(long signr, int exit_code, struct pt_regs * regs) close_fail: filp_close(file, NULL); fail_unlock: + current->fsuid = fsuid; complete_all(&mm->core_done); fail: - unlock_kernel(); return retval; } diff --git a/fs/exportfs/expfs.c b/fs/exportfs/expfs.c index edde9a5d5..0a6f7b06b 100644 --- a/fs/exportfs/expfs.c +++ b/fs/exportfs/expfs.c @@ -1,5 +1,6 @@ #include +#include #include #include #include @@ -282,7 +283,12 @@ find_exported_dentry(struct super_block *sb, void *obj, void *parent, /* drat - I just cannot find anything acceptable */ dput(result); - return ERR_PTR(-ESTALE); + /* It might be justifiable to return ESTALE here, + * but the filehandle at-least looks reasonable good + * and it just be a permission problem, so returning + * -EACCESS is safer + */ + return ERR_PTR(-EACCES); err_target: dput(target_dir); @@ -347,7 +353,7 @@ static int get_name(struct dentry *dentry, char *name, { struct inode *dir = dentry->d_inode; int error; - struct file file; + struct file *file; struct getdents_callback buffer; error = -ENOTDIR; @@ -359,11 +365,13 @@ static int get_name(struct dentry *dentry, char *name, /* * Open the directory ... */ - error = open_private_file(&file, dentry, O_RDONLY); - if (error) + file = dentry_open(dget(dentry), NULL, O_RDONLY); + error = PTR_ERR(file); + if (IS_ERR(file)) goto out; + error = -EINVAL; - if (!file.f_op->readdir) + if (!file->f_op->readdir) goto out_close; buffer.name = name; @@ -373,7 +381,7 @@ static int get_name(struct dentry *dentry, char *name, while (1) { int old_seq = buffer.sequence; - error = vfs_readdir(&file, filldir_one, &buffer); + error = vfs_readdir(file, filldir_one, &buffer); if (error < 0) break; @@ -387,7 +395,7 @@ static int get_name(struct dentry *dentry, char *name, } out_close: - close_private_file(&file); + fput(file); out: return error; } diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index d232026b4..ae923b847 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c @@ -435,27 +435,27 @@ ext2_acl_chmod(struct inode *inode) * Extended attribut handlers */ static size_t -ext2_xattr_list_acl_access(char *list, struct inode *inode, - const char *name, int name_len) +ext2_xattr_list_acl_access(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { const size_t size = sizeof(XATTR_NAME_ACL_ACCESS); if (!test_opt(inode->i_sb, POSIX_ACL)) return 0; - if (list) + if (list && size <= list_size) memcpy(list, XATTR_NAME_ACL_ACCESS, size); return size; } static size_t -ext2_xattr_list_acl_default(char *list, struct inode *inode, - const char *name, int name_len) +ext2_xattr_list_acl_default(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { const size_t size = sizeof(XATTR_NAME_ACL_DEFAULT); if (!test_opt(inode->i_sb, POSIX_ACL)) return 0; - if (list) + if (list && size <= list_size) memcpy(list, XATTR_NAME_ACL_DEFAULT, size); return size; } @@ -547,45 +547,16 @@ ext2_xattr_set_acl_default(struct inode *inode, const char *name, return ext2_xattr_set_acl(inode, ACL_TYPE_DEFAULT, value, size); } -struct ext2_xattr_handler ext2_xattr_acl_access_handler = { +struct xattr_handler ext2_xattr_acl_access_handler = { .prefix = XATTR_NAME_ACL_ACCESS, .list = ext2_xattr_list_acl_access, .get = ext2_xattr_get_acl_access, .set = ext2_xattr_set_acl_access, }; -struct ext2_xattr_handler ext2_xattr_acl_default_handler = { +struct xattr_handler ext2_xattr_acl_default_handler = { .prefix = XATTR_NAME_ACL_DEFAULT, .list = ext2_xattr_list_acl_default, .get = ext2_xattr_get_acl_default, .set = ext2_xattr_set_acl_default, }; - -void -exit_ext2_acl(void) -{ - ext2_xattr_unregister(EXT2_XATTR_INDEX_POSIX_ACL_ACCESS, - &ext2_xattr_acl_access_handler); - ext2_xattr_unregister(EXT2_XATTR_INDEX_POSIX_ACL_DEFAULT, - &ext2_xattr_acl_default_handler); -} - -int __init -init_ext2_acl(void) -{ - int error; - - error = ext2_xattr_register(EXT2_XATTR_INDEX_POSIX_ACL_ACCESS, - &ext2_xattr_acl_access_handler); - if (error) - goto fail; - error = ext2_xattr_register(EXT2_XATTR_INDEX_POSIX_ACL_DEFAULT, - &ext2_xattr_acl_default_handler); - if (error) - goto fail; - return 0; - -fail: - exit_ext2_acl(); - return error; -} diff --git a/fs/ext2/acl.h b/fs/ext2/acl.h index b0a1c4b38..f613bc33d 100644 --- a/fs/ext2/acl.h +++ b/fs/ext2/acl.h @@ -63,9 +63,6 @@ extern int ext2_permission (struct inode *, int, struct nameidata *); extern int ext2_acl_chmod (struct inode *); extern int ext2_init_acl (struct inode *, struct inode *); -extern int init_ext2_acl(void); -extern void exit_ext2_acl(void); - #else #include #define ext2_permission NULL diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 7b776af84..5fbe1ca0b 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c @@ -90,8 +90,8 @@ read_block_bitmap(struct super_block *sb, unsigned int block_group) if (!bh) ext2_error (sb, "read_block_bitmap", "Cannot read block bitmap - " - "block_group = %d, block_bitmap = %lu", - block_group, (unsigned long) desc->bg_block_bitmap); + "block_group = %d, block_bitmap = %u", + block_group, le32_to_cpu(desc->bg_block_bitmap)); error_out: return bh; } diff --git a/fs/ext2/file.c b/fs/ext2/file.c index 713fb9b07..f5e86141e 100644 --- a/fs/ext2/file.c +++ b/fs/ext2/file.c @@ -57,10 +57,12 @@ struct file_operations ext2_file_operations = { struct inode_operations ext2_file_inode_operations = { .truncate = ext2_truncate, - .setxattr = ext2_setxattr, - .getxattr = ext2_getxattr, +#ifdef CONFIG_EXT2_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext2_listxattr, - .removexattr = ext2_removexattr, + .removexattr = generic_removexattr, +#endif .setattr = ext2_setattr, .permission = ext2_permission, }; diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c index 1b1dce48f..3d9fa57ca 100644 --- a/fs/ext2/ialloc.c +++ b/fs/ext2/ialloc.c @@ -60,8 +60,8 @@ read_inode_bitmap(struct super_block * sb, unsigned long block_group) if (!bh) ext2_error(sb, "read_inode_bitmap", "Cannot read inode bitmap - " - "block_group = %lu, inode_bitmap = %lu", - block_group, (unsigned long) desc->bg_inode_bitmap); + "block_group = %lu, inode_bitmap = %u", + block_group, le32_to_cpu(desc->bg_inode_bitmap)); error_out: return bh; } @@ -469,7 +469,7 @@ struct inode *ext2_new_inode(struct inode *dir, int mode) if (!inode) return ERR_PTR(-ENOMEM); - if (sb->s_flags & MS_TAGXID) + if (sb->s_flags & MS_TAGXID) inode->i_xid = current->xid; else inode->i_xid = 0; @@ -634,14 +634,14 @@ got: return inode; fail2: - DLIMIT_FREE_INODE(sb, inode->i_xid); + DLIMIT_FREE_INODE(sb, inode->i_xid); inode->i_flags |= S_NOQUOTA; inode->i_nlink = 0; iput(inode); return ERR_PTR(err); fail: - DLIMIT_FREE_INODE(sb, inode->i_xid); + DLIMIT_FREE_INODE(sb, inode->i_xid); fail_dlim: make_bad_inode(inode); iput(inode); diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c index fe9c6a13b..dcb9508a8 100644 --- a/fs/ext2/inode.c +++ b/fs/ext2/inode.c @@ -145,12 +145,12 @@ static int ext2_alloc_block (struct inode * inode, unsigned long goal, int *err) } typedef struct { - u32 *p; - u32 key; + __le32 *p; + __le32 key; struct buffer_head *bh; } Indirect; -static inline void add_chain(Indirect *p, struct buffer_head *bh, u32 *v) +static inline void add_chain(Indirect *p, struct buffer_head *bh, __le32 *v) { p->key = *(p->p = v); p->bh = bh; @@ -283,7 +283,7 @@ static Indirect *ext2_get_branch(struct inode *inode, read_lock(&EXT2_I(inode)->i_meta_lock); if (!verify_chain(chain, p)) goto changed; - add_chain(++p, bh, (u32*)bh->b_data + *++offsets); + add_chain(++p, bh, (__le32*)bh->b_data + *++offsets); read_unlock(&EXT2_I(inode)->i_meta_lock); if (!p->key) goto no_block; @@ -324,8 +324,8 @@ no_block: static unsigned long ext2_find_near(struct inode *inode, Indirect *ind) { struct ext2_inode_info *ei = EXT2_I(inode); - u32 *start = ind->bh ? (u32*) ind->bh->b_data : ei->i_data; - u32 *p; + __le32 *start = ind->bh ? (__le32 *) ind->bh->b_data : ei->i_data; + __le32 *p; unsigned long bg_start; unsigned long colour; @@ -443,7 +443,7 @@ static int ext2_alloc_branch(struct inode *inode, lock_buffer(bh); memset(bh->b_data, 0, blocksize); branch[n].bh = bh; - branch[n].p = (u32*) bh->b_data + offsets[n]; + branch[n].p = (__le32 *) bh->b_data + offsets[n]; *branch[n].p = branch[n].key; set_buffer_uptodate(bh); unlock_buffer(bh); @@ -705,7 +705,7 @@ struct address_space_operations ext2_nobh_aops = { * or memcmp with zero_page, whatever is better for particular architecture. * Linus? */ -static inline int all_zeroes(u32 *p, u32 *q) +static inline int all_zeroes(__le32 *p, __le32 *q) { while (p < q) if (*p++) @@ -751,7 +751,7 @@ static Indirect *ext2_find_shared(struct inode *inode, int depth, int offsets[4], Indirect chain[4], - u32 *top) + __le32 *top) { Indirect *partial, *p; int k, err; @@ -771,7 +771,7 @@ static Indirect *ext2_find_shared(struct inode *inode, write_unlock(&EXT2_I(inode)->i_meta_lock); goto no_top; } - for (p=partial; p>chain && all_zeroes((u32*)p->bh->b_data,p->p); p--) + for (p=partial; p>chain && all_zeroes((__le32*)p->bh->b_data,p->p); p--) ; /* * OK, we've found the last block that must survive. The rest of our @@ -806,7 +806,7 @@ no_top: * stored as little-endian 32-bit) and updating @inode->i_blocks * appropriately. */ -static inline void ext2_free_data(struct inode *inode, u32 *p, u32 *q) +static inline void ext2_free_data(struct inode *inode, __le32 *p, __le32 *q) { unsigned long block_to_free = 0, count = 0; unsigned long nr; @@ -846,7 +846,7 @@ static inline void ext2_free_data(struct inode *inode, u32 *p, u32 *q) * stored as little-endian 32-bit) and updating @inode->i_blocks * appropriately. */ -static void ext2_free_branches(struct inode *inode, u32 *p, u32 *q, int depth) +static void ext2_free_branches(struct inode *inode, __le32 *p, __le32 *q, int depth) { struct buffer_head * bh; unsigned long nr; @@ -870,8 +870,8 @@ static void ext2_free_branches(struct inode *inode, u32 *p, u32 *q, int depth) continue; } ext2_free_branches(inode, - (u32*)bh->b_data, - (u32*)bh->b_data + addr_per_block, + (__le32*)bh->b_data, + (__le32*)bh->b_data + addr_per_block, depth); bforget(bh); ext2_free_blocks(inode, nr, 1); @@ -883,12 +883,12 @@ static void ext2_free_branches(struct inode *inode, u32 *p, u32 *q, int depth) static void ext2_truncate_nocheck(struct inode * inode) { - u32 *i_data = EXT2_I(inode)->i_data; + __le32 *i_data = EXT2_I(inode)->i_data; int addr_per_block = EXT2_ADDR_PER_BLOCK(inode->i_sb); int offsets[4]; Indirect chain[4]; Indirect *partial; - int nr = 0; + __le32 nr = 0; int n; long iblock; unsigned blocksize; @@ -934,7 +934,7 @@ static void ext2_truncate_nocheck(struct inode * inode) while (partial > chain) { ext2_free_branches(inode, partial->p + 1, - (u32*)partial->bh->b_data + addr_per_block, + (__le32*)partial->bh->b_data+addr_per_block, (chain+n-1) - partial); mark_buffer_dirty_inode(partial->bh, inode); brelse (partial->bh); @@ -1270,9 +1270,9 @@ static int ext2_update_inode(struct inode * inode, int do_sync) return err; } -void ext2_write_inode(struct inode *inode, int wait) +int ext2_write_inode(struct inode *inode, int wait) { - ext2_update_inode(inode, wait); + return ext2_update_inode(inode, wait); } int ext2_sync_inode(struct inode *inode) @@ -1290,7 +1290,7 @@ int ext2_setattr_flags(struct inode *inode, unsigned int flags) oldflags = EXT2_I(inode)->i_flags; newflags = oldflags & - ~(EXT2_IMMUTABLE_FL | EXT2_IUNLINK_FL | EXT2_BARRIER_FL); + ~(EXT2_IMMUTABLE_FL | EXT2_IUNLINK_FL | EXT2_BARRIER_FL); if (flags & ATTR_FLAG_IMMUTABLE) newflags |= EXT2_IMMUTABLE_FL; if (flags & ATTR_FLAG_IUNLINK) diff --git a/fs/ext2/namei.c b/fs/ext2/namei.c index 4abd2f06b..661a751d1 100644 --- a/fs/ext2/namei.c +++ b/fs/ext2/namei.c @@ -395,19 +395,23 @@ struct inode_operations ext2_dir_inode_operations = { .rmdir = ext2_rmdir, .mknod = ext2_mknod, .rename = ext2_rename, - .setxattr = ext2_setxattr, - .getxattr = ext2_getxattr, +#ifdef CONFIG_EXT2_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext2_listxattr, - .removexattr = ext2_removexattr, + .removexattr = generic_removexattr, +#endif .setattr = ext2_setattr, .permission = ext2_permission, }; struct inode_operations ext2_special_inode_operations = { - .setxattr = ext2_setxattr, - .getxattr = ext2_getxattr, +#ifdef CONFIG_EXT2_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext2_listxattr, - .removexattr = ext2_removexattr, + .removexattr = generic_removexattr, +#endif .setattr = ext2_setattr, .permission = ext2_permission, }; diff --git a/fs/ext2/super.c b/fs/ext2/super.c index 3e54fbeac..ed846dc61 100644 --- a/fs/ext2/super.c +++ b/fs/ext2/super.c @@ -37,8 +37,6 @@ static void ext2_sync_super(struct super_block *sb, static int ext2_remount (struct super_block * sb, int * flags, char * data); static int ext2_statfs (struct super_block * sb, struct kstatfs * buf); -static char error_buf[1024]; - void ext2_error (struct super_block * sb, const char * function, const char * fmt, ...) { @@ -52,39 +50,19 @@ void ext2_error (struct super_block * sb, const char * function, cpu_to_le16(le16_to_cpu(es->s_state) | EXT2_ERROR_FS); ext2_sync_super(sb, es); } - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); - if (test_opt (sb, ERRORS_PANIC)) - panic ("EXT2-fs panic (device %s): %s: %s\n", - sb->s_id, function, error_buf); - printk (KERN_CRIT "EXT2-fs error (device %s): %s: %s\n", - sb->s_id, function, error_buf); - if (test_opt (sb, ERRORS_RO)) { - printk ("Remounting filesystem read-only\n"); - sb->s_flags |= MS_RDONLY; - } -} -NORET_TYPE void ext2_panic (struct super_block * sb, const char * function, - const char * fmt, ...) -{ - va_list args; - struct ext2_sb_info *sbi = EXT2_SB(sb); + va_start(args, fmt); + printk(KERN_CRIT "EXT2-fs error (device %s): %s: ",sb->s_id, function); + vprintk(fmt, args); + printk("\n"); + va_end(args); - if (!(sb->s_flags & MS_RDONLY)) { - sbi->s_mount_state |= EXT2_ERROR_FS; - sbi->s_es->s_state = - cpu_to_le16(le16_to_cpu(sbi->s_es->s_state) | EXT2_ERROR_FS); - mark_buffer_dirty(sbi->s_sbh); - sb->s_dirt = 1; + if (test_opt(sb, ERRORS_PANIC)) + panic("EXT2-fs panic from previous error\n"); + if (test_opt(sb, ERRORS_RO)) { + printk("Remounting filesystem read-only\n"); + sb->s_flags |= MS_RDONLY; } - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); - sb->s_flags |= MS_RDONLY; - panic ("EXT2-fs panic (device %s): %s: %s\n", - sb->s_id, function, error_buf); } void ext2_warning (struct super_block * sb, const char * function, @@ -92,11 +70,12 @@ void ext2_warning (struct super_block * sb, const char * function, { va_list args; - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); - printk (KERN_WARNING "EXT2-fs warning (device %s): %s: %s\n", - sb->s_id, function, error_buf); + va_start(args, fmt); + printk(KERN_WARNING "EXT2-fs warning (device %s): %s: ", + sb->s_id, function); + vprintk(fmt, args); + printk("\n"); + va_end(args); } void ext2_update_dynamic_rev(struct super_block *sb) @@ -134,7 +113,7 @@ static void ext2_put_super (struct super_block * sb) if (!(sb->s_flags & MS_RDONLY)) { struct ext2_super_block *es = sbi->s_es; - es->s_state = le16_to_cpu(sbi->s_mount_state); + es->s_state = cpu_to_le16(sbi->s_mount_state); ext2_sync_super(sb, es); } db_count = sbi->s_gdb_count; @@ -143,6 +122,9 @@ static void ext2_put_super (struct super_block * sb) brelse (sbi->s_group_desc[i]); kfree(sbi->s_group_desc); kfree(sbi->s_debts); + percpu_counter_destroy(&sbi->s_freeblocks_counter); + percpu_counter_destroy(&sbi->s_freeinodes_counter); + percpu_counter_destroy(&sbi->s_dirs_counter); brelse (sbi->s_sbh); sb->s_fs_info = NULL; kfree(sbi); @@ -189,7 +171,7 @@ static int init_inodecache(void) { ext2_inode_cachep = kmem_cache_create("ext2_inode_cache", sizeof(struct ext2_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (ext2_inode_cachep == NULL) return -ENOMEM; @@ -455,8 +437,8 @@ static int ext2_setup_super (struct super_block * sb, (le32_to_cpu(es->s_lastcheck) + le32_to_cpu(es->s_checkinterval) <= get_seconds())) printk ("EXT2-fs warning: checktime reached, " "running e2fsck is recommended\n"); - if (!(__s16) le16_to_cpu(es->s_max_mnt_count)) - es->s_max_mnt_count = (__s16) cpu_to_le16(EXT2_DFL_MAX_MNT_COUNT); + if (!le16_to_cpu(es->s_max_mnt_count)) + es->s_max_mnt_count = cpu_to_le16(EXT2_DFL_MAX_MNT_COUNT); es->s_mnt_count=cpu_to_le16(le16_to_cpu(es->s_mnt_count) + 1); ext2_write_super(sb); if (test_opt (sb, DEBUG)) @@ -578,6 +560,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) int blocksize = BLOCK_SIZE; int db_count; int i, j; + __le32 features; sbi = kmalloc(sizeof(*sbi), GFP_KERNEL); if (!sbi) @@ -669,17 +652,18 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) * previously didn't change the revision level when setting the flags, * so there is a chance incompat flags are set on a rev 0 filesystem. */ - if ((i = EXT2_HAS_INCOMPAT_FEATURE(sb, ~EXT2_FEATURE_INCOMPAT_SUPP))) { + features = EXT2_HAS_INCOMPAT_FEATURE(sb, ~EXT2_FEATURE_INCOMPAT_SUPP); + if (features) { printk("EXT2-fs: %s: couldn't mount because of " "unsupported optional features (%x).\n", - sb->s_id, i); + sb->s_id, le32_to_cpu(features)); goto failed_mount; } if (!(sb->s_flags & MS_RDONLY) && - (i = EXT2_HAS_RO_COMPAT_FEATURE(sb, ~EXT2_FEATURE_RO_COMPAT_SUPP))){ + (features = EXT2_HAS_RO_COMPAT_FEATURE(sb, ~EXT2_FEATURE_RO_COMPAT_SUPP))){ printk("EXT2-fs: %s: couldn't mount RDWR because of " "unsupported optional features (%x).\n", - sb->s_id, i); + sb->s_id, le32_to_cpu(features)); goto failed_mount; } blocksize = BLOCK_SIZE << le32_to_cpu(sbi->s_es->s_log_block_size); @@ -702,7 +686,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) } es = (struct ext2_super_block *) (((char *)bh->b_data) + offset); sbi->s_es = es; - if (es->s_magic != le16_to_cpu(EXT2_SUPER_MAGIC)) { + if (es->s_magic != cpu_to_le16(EXT2_SUPER_MAGIC)) { printk ("EXT2-fs: Magic mismatch, very weird !\n"); goto failed_mount; } @@ -827,6 +811,7 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent) */ sb->s_op = &ext2_sops; sb->s_export_op = &ext2_export_ops; + sb->s_xattr = ext2_xattr_handlers; root = iget(sb, EXT2_ROOT_INO); sb->s_root = d_alloc_root(root); if (!sb->s_root) { @@ -945,12 +930,12 @@ static int ext2_remount (struct super_block * sb, int * flags, char * data) es->s_state = cpu_to_le16(sbi->s_mount_state); es->s_mtime = cpu_to_le32(get_seconds()); } else { - int ret; - if ((ret = EXT2_HAS_RO_COMPAT_FEATURE(sb, - ~EXT2_FEATURE_RO_COMPAT_SUPP))) { + __le32 ret = EXT2_HAS_RO_COMPAT_FEATURE(sb, + ~EXT2_FEATURE_RO_COMPAT_SUPP); + if (ret) { printk("EXT2-fs: %s: couldn't remount RDWR because of " "unsupported optional features (%x).\n", - sb->s_id, ret); + sb->s_id, le32_to_cpu(ret)); return -EROFS; } /* diff --git a/fs/ext2/symlink.c b/fs/ext2/symlink.c index 4680ea7ec..9f7bac01d 100644 --- a/fs/ext2/symlink.c +++ b/fs/ext2/symlink.c @@ -32,17 +32,21 @@ struct inode_operations ext2_symlink_inode_operations = { .readlink = generic_readlink, .follow_link = page_follow_link_light, .put_link = page_put_link, - .setxattr = ext2_setxattr, - .getxattr = ext2_getxattr, +#ifdef CONFIG_EXT2_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext2_listxattr, - .removexattr = ext2_removexattr, + .removexattr = generic_removexattr, +#endif }; struct inode_operations ext2_fast_symlink_inode_operations = { .readlink = generic_readlink, .follow_link = ext2_follow_link, - .setxattr = ext2_setxattr, - .getxattr = ext2_getxattr, +#ifdef CONFIG_EXT2_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext2_listxattr, - .removexattr = ext2_removexattr, + .removexattr = generic_removexattr, +#endif }; diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c index ab8308a6d..8c79e1669 100644 --- a/fs/ext2/xattr.c +++ b/fs/ext2/xattr.c @@ -6,6 +6,9 @@ * Fix by Harrison Xing . * Extended attributes for symlinks and special files added per * suggestion of Luka Renko . + * xattr consolidation Copyright (c) 2004 James Morris , + * Red Hat Inc. + * */ /* @@ -62,13 +65,6 @@ #include "xattr.h" #include "acl.h" -/* These symbols may be needed by a module. */ -EXPORT_SYMBOL(ext2_xattr_register); -EXPORT_SYMBOL(ext2_xattr_unregister); -EXPORT_SYMBOL(ext2_xattr_get); -EXPORT_SYMBOL(ext2_xattr_list); -EXPORT_SYMBOL(ext2_xattr_set); - #define HDR(bh) ((struct ext2_xattr_header *)((bh)->b_data)) #define ENTRY(ptr) ((struct ext2_xattr_entry *)(ptr)) #define FIRST_ENTRY(bh) ENTRY(HDR(bh)+1) @@ -100,106 +96,44 @@ static int ext2_xattr_set2(struct inode *, struct buffer_head *, static int ext2_xattr_cache_insert(struct buffer_head *); static struct buffer_head *ext2_xattr_cache_find(struct inode *, struct ext2_xattr_header *); -static void ext2_xattr_cache_remove(struct buffer_head *); static void ext2_xattr_rehash(struct ext2_xattr_header *, struct ext2_xattr_entry *); static struct mb_cache *ext2_xattr_cache; -static struct ext2_xattr_handler *ext2_xattr_handlers[EXT2_XATTR_INDEX_MAX]; -static rwlock_t ext2_handler_lock = RW_LOCK_UNLOCKED; - -int -ext2_xattr_register(int name_index, struct ext2_xattr_handler *handler) -{ - int error = -EINVAL; - if (name_index > 0 && name_index <= EXT2_XATTR_INDEX_MAX) { - write_lock(&ext2_handler_lock); - if (!ext2_xattr_handlers[name_index-1]) { - ext2_xattr_handlers[name_index-1] = handler; - error = 0; - } - write_unlock(&ext2_handler_lock); - } - return error; -} - -void -ext2_xattr_unregister(int name_index, struct ext2_xattr_handler *handler) -{ - if (name_index > 0 || name_index <= EXT2_XATTR_INDEX_MAX) { - write_lock(&ext2_handler_lock); - ext2_xattr_handlers[name_index-1] = NULL; - write_unlock(&ext2_handler_lock); - } -} - -static inline const char * -strcmp_prefix(const char *a, const char *a_prefix) -{ - while (*a_prefix && *a == *a_prefix) { - a++; - a_prefix++; - } - return *a_prefix ? NULL : a; -} +static struct xattr_handler *ext2_xattr_handler_map[EXT2_XATTR_INDEX_MAX] = { + [EXT2_XATTR_INDEX_USER] = &ext2_xattr_user_handler, +#ifdef CONFIG_EXT2_FS_POSIX_ACL + [EXT2_XATTR_INDEX_POSIX_ACL_ACCESS] = &ext2_xattr_acl_access_handler, + [EXT2_XATTR_INDEX_POSIX_ACL_DEFAULT] = &ext2_xattr_acl_default_handler, +#endif + [EXT2_XATTR_INDEX_TRUSTED] = &ext2_xattr_trusted_handler, +#ifdef CONFIG_EXT2_FS_SECURITY + [EXT2_XATTR_INDEX_SECURITY] = &ext2_xattr_security_handler, +#endif +}; -/* - * Decode the extended attribute name, and translate it into - * the name_index and name suffix. - */ -static struct ext2_xattr_handler * -ext2_xattr_resolve_name(const char **name) -{ - struct ext2_xattr_handler *handler = NULL; - int i; - - if (!*name) - return NULL; - read_lock(&ext2_handler_lock); - for (i=0; iprefix); - if (n) { - handler = ext2_xattr_handlers[i]; - *name = n; - break; - } - } - } - read_unlock(&ext2_handler_lock); - return handler; -} +struct xattr_handler *ext2_xattr_handlers[] = { + &ext2_xattr_user_handler, + &ext2_xattr_trusted_handler, +#ifdef CONFIG_EXT2_FS_POSIX_ACL + &ext2_xattr_acl_access_handler, + &ext2_xattr_acl_default_handler, +#endif +#ifdef CONFIG_EXT2_FS_SECURITY + &ext2_xattr_security_handler, +#endif + NULL +}; -static inline struct ext2_xattr_handler * +static inline struct xattr_handler * ext2_xattr_handler(int name_index) { - struct ext2_xattr_handler *handler = NULL; - if (name_index > 0 && name_index <= EXT2_XATTR_INDEX_MAX) { - read_lock(&ext2_handler_lock); - handler = ext2_xattr_handlers[name_index-1]; - read_unlock(&ext2_handler_lock); - } - return handler; -} + struct xattr_handler *handler = NULL; -/* - * Inode operation getxattr() - * - * dentry->d_inode->i_sem: don't care - */ -ssize_t -ext2_getxattr(struct dentry *dentry, const char *name, - void *buffer, size_t size) -{ - struct ext2_xattr_handler *handler; - struct inode *inode = dentry->d_inode; - - handler = ext2_xattr_resolve_name(&name); - if (!handler) - return -EOPNOTSUPP; - return handler->get(inode, name, buffer, size); + if (name_index > 0 && name_index <= EXT2_XATTR_INDEX_MAX) + handler = ext2_xattr_handler_map[name_index]; + return handler; } /* @@ -213,43 +147,6 @@ ext2_listxattr(struct dentry *dentry, char *buffer, size_t size) return ext2_xattr_list(dentry->d_inode, buffer, size); } -/* - * Inode operation setxattr() - * - * dentry->d_inode->i_sem: down - */ -int -ext2_setxattr(struct dentry *dentry, const char *name, - const void *value, size_t size, int flags) -{ - struct ext2_xattr_handler *handler; - struct inode *inode = dentry->d_inode; - - if (size == 0) - value = ""; /* empty EA, do not remove */ - handler = ext2_xattr_resolve_name(&name); - if (!handler) - return -EOPNOTSUPP; - return handler->set(inode, name, value, size, flags); -} - -/* - * Inode operation removexattr() - * - * dentry->d_inode->i_sem: down - */ -int -ext2_removexattr(struct dentry *dentry, const char *name) -{ - struct ext2_xattr_handler *handler; - struct inode *inode = dentry->d_inode; - - handler = ext2_xattr_resolve_name(&name); - if (!handler) - return -EOPNOTSUPP; - return handler->set(inode, name, NULL, 0, XATTR_REPLACE); -} - /* * ext2_xattr_get() * @@ -368,8 +265,8 @@ ext2_xattr_list(struct inode *inode, char *buffer, size_t buffer_size) { struct buffer_head *bh = NULL; struct ext2_xattr_entry *entry; - size_t size = 0; - char *buf, *end; + char *end; + size_t rest = buffer_size; int error; ea_idebug(inode, "buffer=%p, buffer_size=%ld", @@ -395,44 +292,40 @@ bad_block: ext2_error(inode->i_sb, "ext2_xattr_list", error = -EIO; goto cleanup; } - /* compute the size required for the list of attribute names */ - for (entry = FIRST_ENTRY(bh); !IS_LAST_ENTRY(entry); - entry = EXT2_XATTR_NEXT(entry)) { - struct ext2_xattr_handler *handler; - struct ext2_xattr_entry *next = - EXT2_XATTR_NEXT(entry); + + /* check the on-disk data structure */ + entry = FIRST_ENTRY(bh); + while (!IS_LAST_ENTRY(entry)) { + struct ext2_xattr_entry *next = EXT2_XATTR_NEXT(entry); + if ((char *)next >= end) goto bad_block; - - handler = ext2_xattr_handler(entry->e_name_index); - if (handler) - size += handler->list(NULL, inode, entry->e_name, - entry->e_name_len); + entry = next; } - if (ext2_xattr_cache_insert(bh)) ea_idebug(inode, "cache insert failed"); - if (!buffer) { - error = size; - goto cleanup; - } else { - error = -ERANGE; - if (size > buffer_size) - goto cleanup; - } /* list the attribute names */ - buf = buffer; for (entry = FIRST_ENTRY(bh); !IS_LAST_ENTRY(entry); entry = EXT2_XATTR_NEXT(entry)) { - struct ext2_xattr_handler *handler; - - handler = ext2_xattr_handler(entry->e_name_index); - if (handler) - buf += handler->list(buf, inode, entry->e_name, - entry->e_name_len); + struct xattr_handler *handler = + ext2_xattr_handler(entry->e_name_index); + + if (handler) { + size_t size = handler->list(inode, buffer, rest, + entry->e_name, + entry->e_name_len); + if (buffer) { + if (size > rest) { + error = -ERANGE; + goto cleanup; + } + buffer += size; + } + rest -= size; + } } - error = size; + error = buffer_size - rest; /* total size */ cleanup: brelse(bh); @@ -601,15 +494,21 @@ bad_block: ext2_error(sb, "ext2_xattr_set", /* Here we know that we can set the new attribute. */ if (header) { + struct mb_cache_entry *ce; /* assert(header == HDR(bh)); */ + ce = mb_cache_entry_get(ext2_xattr_cache, bh->b_bdev, + bh->b_blocknr); lock_buffer(bh); if (header->h_refcount == cpu_to_le32(1)) { ea_bdebug(bh, "modifying in-place"); - ext2_xattr_cache_remove(bh); + if (ce) + mb_cache_entry_free(ce); /* keep the buffer locked while modifying it. */ } else { int offset; + if (ce) + mb_cache_entry_release(ce); unlock_buffer(bh); ea_bdebug(bh, "cloning"); header = kmalloc(bh->b_size, GFP_KERNEL); @@ -818,13 +717,18 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, error = 0; if (old_bh && old_bh != new_bh) { + struct mb_cache_entry *ce; /* * If there was an old block and we are no longer using it, * release the old block. */ + ce = mb_cache_entry_get(ext2_xattr_cache, old_bh->b_bdev, + old_bh->b_blocknr); lock_buffer(old_bh); if (HDR(old_bh)->h_refcount == cpu_to_le32(1)) { /* Free the old block. */ + if (ce) + mb_cache_entry_free(ce); ea_bdebug(old_bh, "freeing"); ext2_free_blocks(inode, old_bh->b_blocknr, 1); /* We let our caller release old_bh, so we @@ -833,6 +737,8 @@ ext2_xattr_set2(struct inode *inode, struct buffer_head *old_bh, bforget(old_bh); } else { /* Decrement the refcount only. */ + if (ce) + mb_cache_entry_release(ce); HDR(old_bh)->h_refcount = cpu_to_le32( le32_to_cpu(HDR(old_bh)->h_refcount) - 1); DLIMIT_FREE_BLOCK(sb, inode->i_xid, 1); @@ -860,6 +766,7 @@ void ext2_xattr_delete_inode(struct inode *inode) { struct buffer_head *bh = NULL; + struct mb_cache_entry *ce; down_write(&EXT2_I(inode)->xattr_sem); if (!EXT2_I(inode)->i_file_acl) @@ -879,13 +786,18 @@ ext2_xattr_delete_inode(struct inode *inode) EXT2_I(inode)->i_file_acl); goto cleanup; } + ce = mb_cache_entry_get(ext2_xattr_cache, bh->b_bdev, + bh->b_blocknr); lock_buffer(bh); if (HDR(bh)->h_refcount == cpu_to_le32(1)) { - ext2_xattr_cache_remove(bh); + if (ce) + mb_cache_entry_free(ce); ext2_free_blocks(inode, EXT2_I(inode)->i_file_acl, 1); get_bh(bh); bforget(bh); } else { + if (ce) + mb_cache_entry_release(ce); HDR(bh)->h_refcount = cpu_to_le32( le32_to_cpu(HDR(bh)->h_refcount) - 1); mark_buffer_dirty(bh); @@ -1005,10 +917,19 @@ ext2_xattr_cache_find(struct inode *inode, struct ext2_xattr_header *header) if (!header->h_hash) return NULL; /* never share */ ea_idebug(inode, "looking for cached blocks [%x]", (int)hash); +again: ce = mb_cache_entry_find_first(ext2_xattr_cache, 0, inode->i_sb->s_bdev, hash); while (ce) { - struct buffer_head *bh = sb_bread(inode->i_sb, ce->e_block); + struct buffer_head *bh; + + if (IS_ERR(ce)) { + if (PTR_ERR(ce) == -EAGAIN) + goto again; + break; + } + + bh = sb_bread(inode->i_sb, ce->e_block); if (!bh) { ext2_error(inode->i_sb, "ext2_xattr_cache_find", @@ -1036,26 +957,6 @@ ext2_xattr_cache_find(struct inode *inode, struct ext2_xattr_header *header) return NULL; } -/* - * ext2_xattr_cache_remove() - * - * Remove the cache entry of a block from the cache. Called when a - * block becomes invalid. - */ -static void -ext2_xattr_cache_remove(struct buffer_head *bh) -{ - struct mb_cache_entry *ce; - - ce = mb_cache_entry_get(ext2_xattr_cache, bh->b_bdev, bh->b_blocknr); - if (ce) { - ea_bdebug(bh, "removing (%d cache entries remaining)", - atomic_read(&ext2_xattr_cache->c_entry_count)-1); - mb_cache_entry_free(ce); - } else - ea_bdebug(bh, "no cache entry"); -} - #define NAME_HASH_SHIFT 5 #define VALUE_HASH_SHIFT 16 @@ -1078,7 +979,7 @@ static inline void ext2_xattr_hash_entry(struct ext2_xattr_header *header, } if (entry->e_value_block == 0 && entry->e_value_size != 0) { - __u32 *value = (__u32 *)((char *)header + + __le32 *value = (__le32 *)((char *)header + le16_to_cpu(entry->e_value_offs)); for (n = (le32_to_cpu(entry->e_value_size) + EXT2_XATTR_ROUND) >> EXT2_XATTR_PAD_BITS; n; n--) { @@ -1127,66 +1028,16 @@ static void ext2_xattr_rehash(struct ext2_xattr_header *header, int __init init_ext2_xattr(void) { - int err; - - err = ext2_xattr_register(EXT2_XATTR_INDEX_USER, - &ext2_xattr_user_handler); - if (err) - return err; - err = ext2_xattr_register(EXT2_XATTR_INDEX_TRUSTED, - &ext2_xattr_trusted_handler); - if (err) - goto out; -#ifdef CONFIG_EXT2_FS_SECURITY - err = ext2_xattr_register(EXT2_XATTR_INDEX_SECURITY, - &ext2_xattr_security_handler); - if (err) - goto out1; -#endif -#ifdef CONFIG_EXT2_FS_POSIX_ACL - err = init_ext2_acl(); - if (err) - goto out2; -#endif ext2_xattr_cache = mb_cache_create("ext2_xattr", NULL, sizeof(struct mb_cache_entry) + sizeof(struct mb_cache_entry_index), 1, 6); - if (!ext2_xattr_cache) { - err = -ENOMEM; - goto out3; - } + if (!ext2_xattr_cache) + return -ENOMEM; return 0; -out3: -#ifdef CONFIG_EXT2_FS_POSIX_ACL - exit_ext2_acl(); -out2: -#endif -#ifdef CONFIG_EXT2_FS_SECURITY - ext2_xattr_unregister(EXT2_XATTR_INDEX_SECURITY, - &ext2_xattr_security_handler); -out1: -#endif - ext2_xattr_unregister(EXT2_XATTR_INDEX_TRUSTED, - &ext2_xattr_trusted_handler); -out: - ext2_xattr_unregister(EXT2_XATTR_INDEX_USER, - &ext2_xattr_user_handler); - return err; } void exit_ext2_xattr(void) { mb_cache_destroy(ext2_xattr_cache); -#ifdef CONFIG_EXT2_FS_POSIX_ACL - exit_ext2_acl(); -#endif -#ifdef CONFIG_EXT2_FS_SECURITY - ext2_xattr_unregister(EXT2_XATTR_INDEX_SECURITY, - &ext2_xattr_security_handler); -#endif - ext2_xattr_unregister(EXT2_XATTR_INDEX_TRUSTED, - &ext2_xattr_trusted_handler); - ext2_xattr_unregister(EXT2_XATTR_INDEX_USER, - &ext2_xattr_user_handler); } diff --git a/fs/ext2/xattr.h b/fs/ext2/xattr.h index 6268bcdaf..65ea5f9e7 100644 --- a/fs/ext2/xattr.h +++ b/fs/ext2/xattr.h @@ -57,23 +57,13 @@ struct ext2_xattr_entry { # ifdef CONFIG_EXT2_FS_XATTR -struct ext2_xattr_handler { - char *prefix; - size_t (*list)(char *list, struct inode *inode, const char *name, - int name_len); - int (*get)(struct inode *inode, const char *name, void *buffer, - size_t size); - int (*set)(struct inode *inode, const char *name, const void *buffer, - size_t size, int flags); -}; - -extern int ext2_xattr_register(int, struct ext2_xattr_handler *); -extern void ext2_xattr_unregister(int, struct ext2_xattr_handler *); +extern struct xattr_handler ext2_xattr_user_handler; +extern struct xattr_handler ext2_xattr_trusted_handler; +extern struct xattr_handler ext2_xattr_acl_access_handler; +extern struct xattr_handler ext2_xattr_acl_default_handler; +extern struct xattr_handler ext2_xattr_security_handler; -extern int ext2_setxattr(struct dentry *, const char *, const void *, size_t, int); -extern ssize_t ext2_getxattr(struct dentry *, const char *, void *, size_t); extern ssize_t ext2_listxattr(struct dentry *, char *, size_t); -extern int ext2_removexattr(struct dentry *, const char *); extern int ext2_xattr_get(struct inode *, int, const char *, void *, size_t); extern int ext2_xattr_list(struct inode *, char *, size_t); @@ -85,11 +75,9 @@ extern void ext2_xattr_put_super(struct super_block *); extern int init_ext2_xattr(void); extern void exit_ext2_xattr(void); +extern struct xattr_handler *ext2_xattr_handlers[]; + # else /* CONFIG_EXT2_FS_XATTR */ -# define ext2_setxattr NULL -# define ext2_getxattr NULL -# define ext2_listxattr NULL -# define ext2_removexattr NULL static inline int ext2_xattr_get(struct inode *inode, int name_index, @@ -132,9 +120,7 @@ exit_ext2_xattr(void) { } -# endif /* CONFIG_EXT2_FS_XATTR */ +#define ext2_xattr_handlers NULL -extern struct ext2_xattr_handler ext2_xattr_user_handler; -extern struct ext2_xattr_handler ext2_xattr_trusted_handler; -extern struct ext2_xattr_handler ext2_xattr_security_handler; +# endif /* CONFIG_EXT2_FS_XATTR */ diff --git a/fs/ext2/xattr_security.c b/fs/ext2/xattr_security.c index 837abd7bd..6a6c59fbe 100644 --- a/fs/ext2/xattr_security.c +++ b/fs/ext2/xattr_security.c @@ -11,17 +11,18 @@ #include "xattr.h" static size_t -ext2_xattr_security_list(char *list, struct inode *inode, - const char *name, int name_len) +ext2_xattr_security_list(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { const int prefix_len = sizeof(XATTR_SECURITY_PREFIX)-1; + const size_t total_len = prefix_len + name_len + 1; - if (list) { + if (list && total_len <= list_size) { memcpy(list, XATTR_SECURITY_PREFIX, prefix_len); memcpy(list+prefix_len, name, name_len); list[prefix_len + name_len] = '\0'; } - return prefix_len + name_len + 1; + return total_len; } static int @@ -44,7 +45,7 @@ ext2_xattr_security_set(struct inode *inode, const char *name, value, size, flags); } -struct ext2_xattr_handler ext2_xattr_security_handler = { +struct xattr_handler ext2_xattr_security_handler = { .prefix = XATTR_SECURITY_PREFIX, .list = ext2_xattr_security_list, .get = ext2_xattr_security_get, diff --git a/fs/ext2/xattr_trusted.c b/fs/ext2/xattr_trusted.c index d9478aed7..52b30ee6a 100644 --- a/fs/ext2/xattr_trusted.c +++ b/fs/ext2/xattr_trusted.c @@ -15,20 +15,21 @@ #define XATTR_TRUSTED_PREFIX "trusted." static size_t -ext2_xattr_trusted_list(char *list, struct inode *inode, - const char *name, int name_len) +ext2_xattr_trusted_list(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { const int prefix_len = sizeof(XATTR_TRUSTED_PREFIX)-1; + const size_t total_len = prefix_len + name_len + 1; if (!capable(CAP_SYS_ADMIN)) return 0; - if (list) { + if (list && total_len <= list_size) { memcpy(list, XATTR_TRUSTED_PREFIX, prefix_len); memcpy(list+prefix_len, name, name_len); list[prefix_len + name_len] = '\0'; } - return prefix_len + name_len + 1; + return total_len; } static int @@ -55,7 +56,7 @@ ext2_xattr_trusted_set(struct inode *inode, const char *name, value, size, flags); } -struct ext2_xattr_handler ext2_xattr_trusted_handler = { +struct xattr_handler ext2_xattr_trusted_handler = { .prefix = XATTR_TRUSTED_PREFIX, .list = ext2_xattr_trusted_list, .get = ext2_xattr_trusted_get, diff --git a/fs/ext2/xattr_user.c b/fs/ext2/xattr_user.c index be1558761..0c03ea131 100644 --- a/fs/ext2/xattr_user.c +++ b/fs/ext2/xattr_user.c @@ -14,20 +14,21 @@ #define XATTR_USER_PREFIX "user." static size_t -ext2_xattr_user_list(char *list, struct inode *inode, - const char *name, int name_len) +ext2_xattr_user_list(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { - const int prefix_len = sizeof(XATTR_USER_PREFIX)-1; + const size_t prefix_len = sizeof(XATTR_USER_PREFIX)-1; + const size_t total_len = prefix_len + name_len + 1; if (!test_opt(inode->i_sb, XATTR_USER)) return 0; - if (list) { + if (list && total_len <= list_size) { memcpy(list, XATTR_USER_PREFIX, prefix_len); memcpy(list+prefix_len, name, name_len); list[prefix_len + name_len] = '\0'; } - return prefix_len + name_len + 1; + return total_len; } static int @@ -68,23 +69,9 @@ ext2_xattr_user_set(struct inode *inode, const char *name, value, size, flags); } -struct ext2_xattr_handler ext2_xattr_user_handler = { +struct xattr_handler ext2_xattr_user_handler = { .prefix = XATTR_USER_PREFIX, .list = ext2_xattr_user_list, .get = ext2_xattr_user_get, .set = ext2_xattr_user_set, }; - -int __init -init_ext2_xattr_user(void) -{ - return ext2_xattr_register(EXT2_XATTR_INDEX_USER, - &ext2_xattr_user_handler); -} - -void -exit_ext2_xattr_user(void) -{ - ext2_xattr_unregister(EXT2_XATTR_INDEX_USER, - &ext2_xattr_user_handler); -} diff --git a/fs/ext3/Makefile b/fs/ext3/Makefile index 92deb0d95..704cd44a4 100644 --- a/fs/ext3/Makefile +++ b/fs/ext3/Makefile @@ -5,7 +5,7 @@ obj-$(CONFIG_EXT3_FS) += ext3.o ext3-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \ - ioctl.o namei.o super.o symlink.o hash.o + ioctl.o namei.o super.o symlink.o hash.o resize.o ext3-$(CONFIG_EXT3_FS_XATTR) += xattr.o xattr_user.o xattr_trusted.o ext3-$(CONFIG_EXT3_FS_POSIX_ACL) += acl.o diff --git a/fs/ext3/acl.c b/fs/ext3/acl.c index e89cb306c..5cd972caa 100644 --- a/fs/ext3/acl.c +++ b/fs/ext3/acl.c @@ -458,27 +458,27 @@ out: * Extended attribute handlers */ static size_t -ext3_xattr_list_acl_access(char *list, struct inode *inode, - const char *name, int name_len) +ext3_xattr_list_acl_access(struct inode *inode, char *list, size_t list_len, + const char *name, size_t name_len) { const size_t size = sizeof(XATTR_NAME_ACL_ACCESS); if (!test_opt(inode->i_sb, POSIX_ACL)) return 0; - if (list) + if (list && size <= list_len) memcpy(list, XATTR_NAME_ACL_ACCESS, size); return size; } static size_t -ext3_xattr_list_acl_default(char *list, struct inode *inode, - const char *name, int name_len) +ext3_xattr_list_acl_default(struct inode *inode, char *list, size_t list_len, + const char *name, size_t name_len) { const size_t size = sizeof(XATTR_NAME_ACL_DEFAULT); if (!test_opt(inode->i_sb, POSIX_ACL)) return 0; - if (list) + if (list && size <= list_len) memcpy(list, XATTR_NAME_ACL_DEFAULT, size); return size; } @@ -578,45 +578,16 @@ ext3_xattr_set_acl_default(struct inode *inode, const char *name, return ext3_xattr_set_acl(inode, ACL_TYPE_DEFAULT, value, size); } -struct ext3_xattr_handler ext3_xattr_acl_access_handler = { +struct xattr_handler ext3_xattr_acl_access_handler = { .prefix = XATTR_NAME_ACL_ACCESS, .list = ext3_xattr_list_acl_access, .get = ext3_xattr_get_acl_access, .set = ext3_xattr_set_acl_access, }; -struct ext3_xattr_handler ext3_xattr_acl_default_handler = { +struct xattr_handler ext3_xattr_acl_default_handler = { .prefix = XATTR_NAME_ACL_DEFAULT, .list = ext3_xattr_list_acl_default, .get = ext3_xattr_get_acl_default, .set = ext3_xattr_set_acl_default, }; - -void -exit_ext3_acl(void) -{ - ext3_xattr_unregister(EXT3_XATTR_INDEX_POSIX_ACL_ACCESS, - &ext3_xattr_acl_access_handler); - ext3_xattr_unregister(EXT3_XATTR_INDEX_POSIX_ACL_DEFAULT, - &ext3_xattr_acl_default_handler); -} - -int __init -init_ext3_acl(void) -{ - int error; - - error = ext3_xattr_register(EXT3_XATTR_INDEX_POSIX_ACL_ACCESS, - &ext3_xattr_acl_access_handler); - if (error) - goto fail; - error = ext3_xattr_register(EXT3_XATTR_INDEX_POSIX_ACL_DEFAULT, - &ext3_xattr_acl_default_handler); - if (error) - goto fail; - return 0; - -fail: - exit_ext3_acl(); - return error; -} diff --git a/fs/ext3/balloc.c b/fs/ext3/balloc.c index 3b3160d8e..7af1266bc 100644 --- a/fs/ext3/balloc.c +++ b/fs/ext3/balloc.c @@ -56,6 +56,7 @@ struct ext3_group_desc * ext3_get_group_desc(struct super_block * sb, return NULL; } + smp_rmb(); group_desc = block_group / EXT3_DESC_PER_BLOCK(sb); desc = block_group % EXT3_DESC_PER_BLOCK(sb); @@ -93,15 +94,192 @@ read_block_bitmap(struct super_block *sb, unsigned int block_group) if (!bh) ext3_error (sb, "read_block_bitmap", "Cannot read block bitmap - " - "block_group = %d, block_bitmap = %lu", - block_group, (unsigned long) desc->bg_block_bitmap); + "block_group = %d, block_bitmap = %u", + block_group, le32_to_cpu(desc->bg_block_bitmap)); error_out: return bh; } +/* + * The reservation window structure operations + * -------------------------------------------- + * Operations include: + * dump, find, add, remove, is_empty, find_next_reservable_window, etc. + * + * We use sorted double linked list for the per-filesystem reservation + * window list. (like in vm_region). + * + * Initially, we keep those small operations in the abstract functions, + * so later if we need a better searching tree than double linked-list, + * we could easily switch to that without changing too much + * code. + */ +#if 0 +static void __rsv_window_dump(struct rb_root *root, int verbose, + const char *fn) +{ + struct rb_node *n; + struct reserve_window_node *rsv, *prev; + int bad; + +restart: + n = rb_first(root); + bad = 0; + prev = NULL; + + printk("Block Allocation Reservation Windows Map (%s):\n", fn); + while (n) { + rsv = list_entry(n, struct reserve_window_node, rsv_node); + if (verbose) + printk("reservation window 0x%p " + "start: %d, end: %d\n", + rsv, rsv->rsv_start, rsv->rsv_end); + if (rsv->rsv_start && rsv->rsv_start >= rsv->rsv_end) { + printk("Bad reservation %p (start >= end)\n", + rsv); + bad = 1; + } + if (prev && prev->rsv_end >= rsv->rsv_start) { + printk("Bad reservation %p (prev->end >= start)\n", + rsv); + bad = 1; + } + if (bad) { + if (!verbose) { + printk("Restarting reservation walk in verbose mode\n"); + verbose = 1; + goto restart; + } + } + n = rb_next(n); + prev = rsv; + } + printk("Window map complete.\n"); + if (bad) + BUG(); +} +#define rsv_window_dump(root, verbose) \ + __rsv_window_dump((root), (verbose), __FUNCTION__) +#else +#define rsv_window_dump(root, verbose) do {} while (0) +#endif + +static int +goal_in_my_reservation(struct reserve_window *rsv, int goal, + unsigned int group, struct super_block * sb) +{ + unsigned long group_first_block, group_last_block; + + group_first_block = le32_to_cpu(EXT3_SB(sb)->s_es->s_first_data_block) + + group * EXT3_BLOCKS_PER_GROUP(sb); + group_last_block = group_first_block + EXT3_BLOCKS_PER_GROUP(sb) - 1; + + if ((rsv->_rsv_start > group_last_block) || + (rsv->_rsv_end < group_first_block)) + return 0; + if ((goal >= 0) && ((goal + group_first_block < rsv->_rsv_start) + || (goal + group_first_block > rsv->_rsv_end))) + return 0; + return 1; +} + +/* + * Find the reserved window which includes the goal, or the previous one + * if the goal is not in any window. + * Returns NULL if there are no windows or if all windows start after the goal. + */ +static struct reserve_window_node *search_reserve_window(struct rb_root *root, + unsigned long goal) +{ + struct rb_node *n = root->rb_node; + struct reserve_window_node *rsv; + + if (!n) + return NULL; + + while (n) + { + rsv = rb_entry(n, struct reserve_window_node, rsv_node); + + if (goal < rsv->rsv_start) + n = n->rb_left; + else if (goal > rsv->rsv_end) + n = n->rb_right; + else + return rsv; + } + /* + * We've fallen off the end of the tree: the goal wasn't inside + * any particular node. OK, the previous node must be to one + * side of the interval containing the goal. If it's the RHS, + * we need to back up one. + */ + if (rsv->rsv_start > goal) { + n = rb_prev(&rsv->rsv_node); + rsv = rb_entry(n, struct reserve_window_node, rsv_node); + } + return rsv; +} + +void rsv_window_add(struct super_block *sb, + struct reserve_window_node *rsv) +{ + struct rb_root *root = &EXT3_SB(sb)->s_rsv_window_root; + struct rb_node *node = &rsv->rsv_node; + unsigned int start = rsv->rsv_start; + + struct rb_node ** p = &root->rb_node; + struct rb_node * parent = NULL; + struct reserve_window_node *this; + + while (*p) + { + parent = *p; + this = rb_entry(parent, struct reserve_window_node, rsv_node); + + if (start < this->rsv_start) + p = &(*p)->rb_left; + else if (start > this->rsv_end) + p = &(*p)->rb_right; + else + BUG(); + } + + rb_link_node(node, parent, p); + rb_insert_color(node, root); +} + +static void rsv_window_remove(struct super_block *sb, + struct reserve_window_node *rsv) +{ + rsv->rsv_start = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + rsv->rsv_end = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + atomic_set(&rsv->rsv_alloc_hit, 0); + rb_erase(&rsv->rsv_node, &EXT3_SB(sb)->s_rsv_window_root); +} + +static inline int rsv_is_empty(struct reserve_window *rsv) +{ + /* a valid reservation end block could not be 0 */ + return (rsv->_rsv_end == EXT3_RESERVE_WINDOW_NOT_ALLOCATED); +} + +void ext3_discard_reservation(struct inode *inode) +{ + struct ext3_inode_info *ei = EXT3_I(inode); + struct reserve_window_node *rsv = &ei->i_rsv_window; + spinlock_t *rsv_lock = &EXT3_SB(inode->i_sb)->s_rsv_window_lock; + + if (!rsv_is_empty(&rsv->rsv_window)) { + spin_lock(rsv_lock); + rsv_window_remove(inode->i_sb, rsv); + spin_unlock(rsv_lock); + } +} /* Free given blocks, update quota and i_blocks field */ -void ext3_free_blocks (handle_t *handle, struct inode * inode, - unsigned long block, unsigned long count) +void ext3_free_blocks_sb(handle_t *handle, struct super_block *sb, + unsigned long block, unsigned long count, + int *pdquot_freed_blocks) { struct buffer_head *bitmap_bh = NULL; struct buffer_head *gd_bh; @@ -109,18 +287,12 @@ void ext3_free_blocks (handle_t *handle, struct inode * inode, unsigned long bit; unsigned long i; unsigned long overflow; - struct super_block * sb; struct ext3_group_desc * gdp; struct ext3_super_block * es; struct ext3_sb_info *sbi; int err = 0, ret; - int dquot_freed_blocks = 0; - sb = inode->i_sb; - if (!sb) { - printk ("ext3_free_blocks: nonexistent device"); - return; - } + *pdquot_freed_blocks = 0; sbi = EXT3_SB(sb); es = EXT3_SB(sb)->s_es; if (block < le32_to_cpu(es->s_first_data_block) || @@ -247,7 +419,7 @@ do_more: jbd_lock_bh_state(bitmap_bh); BUFFER_TRACE(bitmap_bh, "bit already cleared"); } else { - dquot_freed_blocks++; + (*pdquot_freed_blocks)++; } } jbd_unlock_bh_state(bitmap_bh); @@ -255,7 +427,7 @@ do_more: spin_lock(sb_bgl_lock(sbi, block_group)); gdp->bg_free_blocks_count = cpu_to_le16(le16_to_cpu(gdp->bg_free_blocks_count) + - dquot_freed_blocks); + *pdquot_freed_blocks); spin_unlock(sb_bgl_lock(sbi, block_group)); percpu_counter_mod(&sbi->s_freeblocks_counter, count); @@ -277,6 +449,22 @@ do_more: error_return: brelse(bitmap_bh); ext3_std_error(sb, err); + return; +} + +/* Free given blocks, update quota and i_blocks field */ +void ext3_free_blocks(handle_t *handle, struct inode *inode, + unsigned long block, unsigned long count) +{ + struct super_block * sb; + int dquot_freed_blocks; + + sb = inode->i_sb; + if (!sb) { + printk ("ext3_free_blocks: nonexistent device"); + return; + } + ext3_free_blocks_sb(handle, sb, block, count, &dquot_freed_blocks); if (dquot_freed_blocks) { DLIMIT_FREE_BLOCK(sb, inode->i_xid, dquot_freed_blocks); DQUOT_FREE_BLOCK(inode, dquot_freed_blocks); @@ -300,7 +488,7 @@ error_return: * data-writes at some point, and disable it for metadata allocations or * sync-data inodes. */ -static inline int ext3_test_allocatable(int nr, struct buffer_head *bh) +static int ext3_test_allocatable(int nr, struct buffer_head *bh) { int ret; struct journal_head *jh = bh2jh(bh); @@ -317,6 +505,33 @@ static inline int ext3_test_allocatable(int nr, struct buffer_head *bh) return ret; } +static int +bitmap_search_next_usable_block(int start, struct buffer_head *bh, + int maxblocks) +{ + int next; + struct journal_head *jh = bh2jh(bh); + + /* + * The bitmap search --- search forward alternately through the actual + * bitmap and the last-committed copy until we find a bit free in + * both + */ + while (start < maxblocks) { + next = ext3_find_next_zero_bit(bh->b_data, maxblocks, start); + if (next >= maxblocks) + return -1; + if (ext3_test_allocatable(next, bh)) + return next; + jbd_lock_bh_state(bh); + if (jh->b_committed_data) + start = ext3_find_next_zero_bit(jh->b_committed_data, + maxblocks, next); + jbd_unlock_bh_state(bh); + } + return -1; +} + /* * Find an allocatable block in a bitmap. We honour both the bitmap and * its last-committed copy (if that exists), and perform the "most @@ -329,7 +544,6 @@ find_next_usable_block(int start, struct buffer_head *bh, int maxblocks) { int here, next; char *p, *r; - struct journal_head *jh = bh2jh(bh); if (start > 0) { /* @@ -341,6 +555,8 @@ find_next_usable_block(int start, struct buffer_head *bh, int maxblocks) * next 64-bit boundary is simple.. */ int end_goal = (start + 63) & ~63; + if (end_goal > maxblocks) + end_goal = maxblocks; here = ext3_find_next_zero_bit(bh->b_data, end_goal, start); if (here < end_goal && ext3_test_allocatable(here, bh)) return here; @@ -355,7 +571,7 @@ find_next_usable_block(int start, struct buffer_head *bh, int maxblocks) r = memscan(p, 0, (maxblocks - here + 7) >> 3); next = (r - ((char *)bh->b_data)) << 3; - if (next < maxblocks && ext3_test_allocatable(next, bh)) + if (next < maxblocks && next >= start && ext3_test_allocatable(next, bh)) return next; /* @@ -363,19 +579,8 @@ find_next_usable_block(int start, struct buffer_head *bh, int maxblocks) * bitmap and the last-committed copy until we find a bit free in * both */ - while (here < maxblocks) { - next = ext3_find_next_zero_bit(bh->b_data, maxblocks, here); - if (next >= maxblocks) - return -1; - if (ext3_test_allocatable(next, bh)) - return next; - jbd_lock_bh_state(bh); - if (jh->b_committed_data) - here = ext3_find_next_zero_bit(jh->b_committed_data, - maxblocks, next); - jbd_unlock_bh_state(bh); - } - return -1; + here = bitmap_search_next_usable_block(here, bh, maxblocks); + return here; } /* @@ -411,62 +616,494 @@ claim_block(spinlock_t *lock, int block, struct buffer_head *bh) */ static int ext3_try_to_allocate(struct super_block *sb, handle_t *handle, int group, - struct buffer_head *bitmap_bh, int goal, int *errp) + struct buffer_head *bitmap_bh, int goal, struct reserve_window *my_rsv) { - int i; - int fatal; - int credits = 0; - - *errp = 0; - - /* - * Make sure we use undo access for the bitmap, because it is critical - * that we do the frozen_data COW on bitmap buffers in all cases even - * if the buffer is in BJ_Forget state in the committing transaction. - */ - BUFFER_TRACE(bitmap_bh, "get undo access for new block"); - fatal = ext3_journal_get_undo_access(handle, bitmap_bh, &credits); - if (fatal) { - *errp = fatal; - goto fail; + int group_first_block, start, end; + + /* we do allocation within the reservation window if we have a window */ + if (my_rsv) { + group_first_block = + le32_to_cpu(EXT3_SB(sb)->s_es->s_first_data_block) + + group * EXT3_BLOCKS_PER_GROUP(sb); + if (my_rsv->_rsv_start >= group_first_block) + start = my_rsv->_rsv_start - group_first_block; + else + /* reservation window cross group boundary */ + start = 0; + end = my_rsv->_rsv_end - group_first_block + 1; + if (end > EXT3_BLOCKS_PER_GROUP(sb)) + /* reservation window crosses group boundary */ + end = EXT3_BLOCKS_PER_GROUP(sb); + if ((start <= goal) && (goal < end)) + start = goal; + else + goal = -1; + } else { + if (goal > 0) + start = goal; + else + start = 0; + end = EXT3_BLOCKS_PER_GROUP(sb); } + BUG_ON(start > EXT3_BLOCKS_PER_GROUP(sb)); + repeat: if (goal < 0 || !ext3_test_allocatable(goal, bitmap_bh)) { - goal = find_next_usable_block(goal, bitmap_bh, - EXT3_BLOCKS_PER_GROUP(sb)); + goal = find_next_usable_block(start, bitmap_bh, end); if (goal < 0) goto fail_access; - - for (i = 0; i < 7 && goal > 0 && - ext3_test_allocatable(goal - 1, bitmap_bh); - i++, goal--); + if (!my_rsv) { + int i; + + for (i = 0; i < 7 && goal > start && + ext3_test_allocatable(goal - 1, + bitmap_bh); + i++, goal--) + ; + } } + start = goal; if (!claim_block(sb_bgl_lock(EXT3_SB(sb), group), goal, bitmap_bh)) { /* * The block was allocated by another thread, or it was * allocated and then freed by another thread */ + start++; goal++; - if (goal >= EXT3_BLOCKS_PER_GROUP(sb)) + if (start >= end) goto fail_access; goto repeat; } + return goal; +fail_access: + return -1; +} + +/** + * find_next_reservable_window(): + * find a reservable space within the given range. + * It does not allocate the reservation window for now: + * alloc_new_reservation() will do the work later. + * + * @search_head: the head of the searching list; + * This is not necessarily the list head of the whole filesystem + * + * We have both head and start_block to assist the search + * for the reservable space. The list starts from head, + * but we will shift to the place where start_block is, + * then start from there, when looking for a reservable space. + * + * @size: the target new reservation window size + * + * @group_first_block: the first block we consider to start + * the real search from + * + * @last_block: + * the maximum block number that our goal reservable space + * could start from. This is normally the last block in this + * group. The search will end when we found the start of next + * possible reservable space is out of this boundary. + * This could handle the cross boundary reservation window + * request. + * + * basically we search from the given range, rather than the whole + * reservation double linked list, (start_block, last_block) + * to find a free region that is of my size and has not + * been reserved. + * + * on succeed, it returns the reservation window to be appended to. + * failed, return NULL. + */ +static struct reserve_window_node *find_next_reservable_window( + struct reserve_window_node *search_head, + unsigned long size, int *start_block, + int last_block) +{ + struct rb_node *next; + struct reserve_window_node *rsv, *prev; + int cur; + + /* TODO: make the start of the reservation window byte-aligned */ + /* cur = *start_block & ~7;*/ + cur = *start_block; + rsv = search_head; + if (!rsv) + return NULL; + + while (1) { + if (cur <= rsv->rsv_end) + cur = rsv->rsv_end + 1; + + /* TODO? + * in the case we could not find a reservable space + * that is what is expected, during the re-search, we could + * remember what's the largest reservable space we could have + * and return that one. + * + * For now it will fail if we could not find the reservable + * space with expected-size (or more)... + */ + if (cur > last_block) + return NULL; /* fail */ + + prev = rsv; + next = rb_next(&rsv->rsv_node); + rsv = list_entry(next, struct reserve_window_node, rsv_node); + + /* + * Reached the last reservation, we can just append to the + * previous one. + */ + if (!next) + break; + + if (cur + size <= rsv->rsv_start) { + /* + * Found a reserveable space big enough. We could + * have a reservation across the group boundary here + */ + break; + } + } + /* + * we come here either : + * when we reach the end of the whole list, + * and there is empty reservable space after last entry in the list. + * append it to the end of the list. + * + * or we found one reservable space in the middle of the list, + * return the reservation window that we could append to. + * succeed. + */ + *start_block = cur; + return prev; +} + +/** + * alloc_new_reservation()--allocate a new reservation window + * if there is an existing reservation, discard it first + * then allocate the new one from there + * otherwise allocate the new reservation from the given + * start block, or the beginning of the group, if a goal + * is not given. + * + * To make a new reservation, we search part of the filesystem + * reservation list (the list that inside the group). + * + * If we have a old reservation, the search goal is the end of + * last reservation. If we do not have a old reservation, then we + * start from a given goal, or the first block of the group, if + * the goal is not given. + * + * We first find a reservable space after the goal, then from + * there, we check the bitmap for the first free block after + * it. If there is no free block until the end of group, then the + * whole group is full, we failed. Otherwise, check if the free + * block is inside the expected reservable space, if so, we + * succeed. + * If the first free block is outside the reservable space, then + * start from the first free block, we search for next available + * space, and go on. + * + * on succeed, a new reservation will be found and inserted into the list + * It contains at least one free block, and it does not overlap with other + * reservation windows. + * + * failed: we failed to find a reservation window in this group + * + * @rsv: the reservation + * + * @goal: The goal (group-relative). It is where the search for a + * free reservable space should start from. + * if we have a old reservation, start_block is the end of + * old reservation. Otherwise, + * if we have a goal(goal >0 ), then start from there, + * no goal(goal = -1), we start from the first block + * of the group. + * + * @sb: the super block + * @group: the group we are trying to allocate in + * @bitmap_bh: the block group block bitmap + */ +static int alloc_new_reservation(struct reserve_window_node *my_rsv, + int goal, struct super_block *sb, + unsigned int group, struct buffer_head *bitmap_bh) +{ + struct reserve_window_node *search_head; + int group_first_block, group_end_block, start_block; + int first_free_block; + int reservable_space_start; + struct reserve_window_node *prev_rsv; + struct rb_root *fs_rsv_root = &EXT3_SB(sb)->s_rsv_window_root; + unsigned long size; + + group_first_block = le32_to_cpu(EXT3_SB(sb)->s_es->s_first_data_block) + + group * EXT3_BLOCKS_PER_GROUP(sb); + group_end_block = group_first_block + EXT3_BLOCKS_PER_GROUP(sb) - 1; + + if (goal < 0) + start_block = group_first_block; + else + start_block = goal + group_first_block; + + size = atomic_read(&my_rsv->rsv_goal_size); + /* if we have a old reservation, start the search from the old rsv */ + if (!rsv_is_empty(&my_rsv->rsv_window)) { + /* + * if the old reservation is cross group boundary + * we will come here when we just failed to allocate from + * the first part of the window. We still have another part + * that belongs to the next group. In this case, there is no + * point to discard our window and try to allocate a new one + * in this group(which will fail). we should + * keep the reservation window, just simply move on. + * + * Maybe we could shift the start block of the reservation + * window to the first block of next group. + */ + + if ((my_rsv->rsv_start <= group_end_block) && + (my_rsv->rsv_end > group_end_block)) + return -1; + + /* remember where we are before we discard the old one */ + if (my_rsv->rsv_end + 1 > start_block) + start_block = my_rsv->rsv_end + 1; + search_head = my_rsv; + if ((atomic_read(&my_rsv->rsv_alloc_hit) > + (my_rsv->rsv_end - my_rsv->rsv_start + 1) / 2)) { + /* + * if we previously allocation hit ration is greater than half + * we double the size of reservation window next time + * otherwise keep the same + */ + size = size * 2; + if (size > EXT3_MAX_RESERVE_BLOCKS) + size = EXT3_MAX_RESERVE_BLOCKS; + atomic_set(&my_rsv->rsv_goal_size, size); + } + } + else { + /* + * we don't have a reservation, + * we set our goal(start_block) and + * the list head for the search + */ + search_head = search_reserve_window(fs_rsv_root, start_block); + } + + /* + * find_next_reservable_window() simply finds a reservable window + * inside the given range(start_block, group_end_block). + * + * To make sure the reservation window has a free bit inside it, we + * need to check the bitmap after we found a reservable window. + */ +retry: + prev_rsv = find_next_reservable_window(search_head, size, + &start_block, group_end_block); + if (prev_rsv == NULL) + goto failed; + reservable_space_start = start_block; + /* + * On success, find_next_reservable_window() returns the + * reservation window where there is a reservable space after it. + * Before we reserve this reservable space, we need + * to make sure there is at least a free block inside this region. + * + * searching the first free bit on the block bitmap and copy of + * last committed bitmap alternatively, until we found a allocatable + * block. Search start from the start block of the reservable space + * we just found. + */ + first_free_block = bitmap_search_next_usable_block( + reservable_space_start - group_first_block, + bitmap_bh, group_end_block - group_first_block + 1); + + if (first_free_block < 0) { + /* + * no free block left on the bitmap, no point + * to reserve the space. return failed. + */ + goto failed; + } + start_block = first_free_block + group_first_block; + /* + * check if the first free block is within the + * free space we just found + */ + if ((start_block >= reservable_space_start) && + (start_block < reservable_space_start + size)) + goto found_rsv_window; + /* + * if the first free bit we found is out of the reservable space + * this means there is no free block on the reservable space + * we should continue search for next reservable space, + * start from where the free block is, + * we also shift the list head to where we stopped last time + */ + search_head = prev_rsv; + goto retry; + +found_rsv_window: + /* + * great! the reservable space contains some free blocks. + * if the search returns that we should add the new + * window just next to where the old window, we don't + * need to remove the old window first then add it to the + * same place, just update the new start and new end. + */ + if (my_rsv != prev_rsv) { + if (!rsv_is_empty(&my_rsv->rsv_window)) + rsv_window_remove(sb, my_rsv); + } + my_rsv->rsv_start = reservable_space_start; + my_rsv->rsv_end = my_rsv->rsv_start + size - 1; + atomic_set(&my_rsv->rsv_alloc_hit, 0); + if (my_rsv != prev_rsv) { + rsv_window_add(sb, my_rsv); + } + return 0; /* succeed */ +failed: + return -1; /* failed */ +} + +/* + * This is the main function used to allocate a new block and its reservation + * window. + * + * Each time when a new block allocation is need, first try to allocate from + * its own reservation. If it does not have a reservation window, instead of + * looking for a free bit on bitmap first, then look up the reservation list to + * see if it is inside somebody else's reservation window, we try to allocate a + * reservation window for it starting from the goal first. Then do the block + * allocation within the reservation window. + * + * This will avoid keeping on searching the reservation list again and + * again when someboday is looking for a free block (without + * reservation), and there are lots of free blocks, but they are all + * being reserved. + * + * We use a sorted double linked list for the per-filesystem reservation list. + * The insert, remove and find a free space(non-reserved) operations for the + * sorted double linked list should be fast. + * + */ +static int +ext3_try_to_allocate_with_rsv(struct super_block *sb, handle_t *handle, + unsigned int group, struct buffer_head *bitmap_bh, + int goal, struct reserve_window_node * my_rsv, + int *errp) +{ + spinlock_t *rsv_lock; + unsigned long group_first_block; + int ret = 0; + int fatal; + int credits = 0; + + *errp = 0; - BUFFER_TRACE(bitmap_bh, "journal_dirty_metadata for bitmap block"); - fatal = ext3_journal_dirty_metadata(handle, bitmap_bh); + /* + * Make sure we use undo access for the bitmap, because it is critical + * that we do the frozen_data COW on bitmap buffers in all cases even + * if the buffer is in BJ_Forget state in the committing transaction. + */ + BUFFER_TRACE(bitmap_bh, "get undo access for new block"); + fatal = ext3_journal_get_undo_access(handle, bitmap_bh, &credits); if (fatal) { *errp = fatal; - goto fail; + return -1; + } + + /* + * we don't deal with reservation when + * filesystem is mounted without reservation + * or the file is not a regular file + * or last attempt to allocate a block with reservation turned on failed + */ + if (my_rsv == NULL ) { + ret = ext3_try_to_allocate(sb, handle, group, bitmap_bh, goal, NULL); + goto out; + } + rsv_lock = &EXT3_SB(sb)->s_rsv_window_lock; + /* + * goal is a group relative block number (if there is a goal) + * 0 < goal < EXT3_BLOCKS_PER_GROUP(sb) + * first block is a filesystem wide block number + * first block is the block number of the first block in this group + */ + group_first_block = le32_to_cpu(EXT3_SB(sb)->s_es->s_first_data_block) + + group * EXT3_BLOCKS_PER_GROUP(sb); + + /* + * Basically we will allocate a new block from inode's reservation + * window. + * + * We need to allocate a new reservation window, if: + * a) inode does not have a reservation window; or + * b) last attempt to allocate a block from existing reservation + * failed; or + * c) we come here with a goal and with a reservation window + * + * We do not need to allocate a new reservation window if we come here + * at the beginning with a goal and the goal is inside the window, or + * we don't have a goal but already have a reservation window. + * then we could go to allocate from the reservation window directly. + */ + while (1) { + struct reserve_window rsv_copy; + unsigned int seq; + + do { + seq = read_seqbegin(&my_rsv->rsv_seqlock); + rsv_copy._rsv_start = my_rsv->rsv_start; + rsv_copy._rsv_end = my_rsv->rsv_end; + } while (read_seqretry(&my_rsv->rsv_seqlock, seq)); + + if (rsv_is_empty(&rsv_copy) || (ret < 0) || + !goal_in_my_reservation(&rsv_copy, goal, group, sb)) { + spin_lock(rsv_lock); + write_seqlock(&my_rsv->rsv_seqlock); + ret = alloc_new_reservation(my_rsv, goal, sb, + group, bitmap_bh); + rsv_copy._rsv_start = my_rsv->rsv_start; + rsv_copy._rsv_end = my_rsv->rsv_end; + write_sequnlock(&my_rsv->rsv_seqlock); + spin_unlock(rsv_lock); + if (ret < 0) + break; /* failed */ + + if (!goal_in_my_reservation(&rsv_copy, goal, group, sb)) + goal = -1; + } + if ((rsv_copy._rsv_start >= group_first_block + EXT3_BLOCKS_PER_GROUP(sb)) + || (rsv_copy._rsv_end < group_first_block)) + BUG(); + ret = ext3_try_to_allocate(sb, handle, group, bitmap_bh, goal, + &rsv_copy); + if (ret >= 0) { + if (!read_seqretry(&my_rsv->rsv_seqlock, seq)) + atomic_inc(&my_rsv->rsv_alloc_hit); + break; /* succeed */ + } + } +out: + if (ret >= 0) { + BUFFER_TRACE(bitmap_bh, "journal_dirty_metadata for " + "bitmap block"); + fatal = ext3_journal_dirty_metadata(handle, bitmap_bh); + if (fatal) { + *errp = fatal; + return -1; + } + return ret; } - return goal; -fail_access: BUFFER_TRACE(bitmap_bh, "journal_release_buffer"); ext3_journal_release_buffer(handle, bitmap_bh, credits); -fail: - return -1; + return ret; } static int ext3_has_free_blocks(struct super_block *sb) @@ -521,16 +1158,16 @@ int ext3_should_retry_alloc(struct super_block *sb, int *retries) * bitmap, and then for any free bit if that fails. * This function also updates quota and i_blocks field. */ -int -ext3_new_block(handle_t *handle, struct inode *inode, unsigned long goal, - u32 *prealloc_count, u32 *prealloc_block, int *errp) +int ext3_new_block(handle_t *handle, struct inode *inode, + unsigned long goal, int *errp) { - struct buffer_head *bitmap_bh = NULL; /* bh */ - struct buffer_head *gdp_bh; /* bh2 */ - int group_no; /* i */ - int ret_block; /* j */ - int bgi; /* blockgroup iteration index */ - int target_block; /* tmp */ + struct buffer_head *bitmap_bh = NULL; + struct buffer_head *gdp_bh; + int group_no; + int goal_group; + int ret_block; + int bgi; /* blockgroup iteration index */ + int target_block; int fatal = 0, err; int performed_allocation = 0; int free_blocks; @@ -538,9 +1175,12 @@ ext3_new_block(handle_t *handle, struct inode *inode, unsigned long goal, struct ext3_group_desc *gdp; struct ext3_super_block *es; struct ext3_sb_info *sbi; + struct reserve_window_node *my_rsv = NULL; #ifdef EXT3FS_DEBUG static int goal_hits, goal_attempts; #endif + unsigned long ngroups; + *errp = -ENOSPC; sb = inode->i_sb; if (!sb) { @@ -561,7 +1201,9 @@ ext3_new_block(handle_t *handle, struct inode *inode, unsigned long goal, sbi = EXT3_SB(sb); es = EXT3_SB(sb)->s_es; ext3_debug("goal=%lu.\n", goal); - + if (test_opt(sb, RESERVATION) && S_ISREG(inode->i_mode)) + my_rsv = &EXT3_I(inode)->i_rsv_window; +#warning MEF was if (!ext3_has_free_blocks(sbi)) in 1.11-FC2 if (!ext3_has_free_blocks(sb)) { *errp = -ENOSPC; goto out; @@ -579,6 +1221,8 @@ ext3_new_block(handle_t *handle, struct inode *inode, unsigned long goal, if (!gdp) goto io_error; + goal_group = group_no; +retry: free_blocks = le16_to_cpu(gdp->bg_free_blocks_count); if (free_blocks > 0) { ret_block = ((goal - le32_to_cpu(es->s_first_data_block)) % @@ -586,21 +1230,24 @@ ext3_new_block(handle_t *handle, struct inode *inode, unsigned long goal, bitmap_bh = read_block_bitmap(sb, group_no); if (!bitmap_bh) goto io_error; - ret_block = ext3_try_to_allocate(sb, handle, group_no, - bitmap_bh, ret_block, &fatal); + ret_block = ext3_try_to_allocate_with_rsv(sb, handle, group_no, + bitmap_bh, ret_block, my_rsv, &fatal); if (fatal) goto out; if (ret_block >= 0) goto allocated; } + ngroups = EXT3_SB(sb)->s_groups_count; + smp_rmb(); + /* * Now search the rest of the groups. We assume that * i and gdp correctly point to the last group visited. */ - for (bgi = 0; bgi < EXT3_SB(sb)->s_groups_count; bgi++) { + for (bgi = 0; bgi < ngroups; bgi++) { group_no++; - if (group_no >= EXT3_SB(sb)->s_groups_count) + if (group_no >= ngroups) group_no = 0; gdp = ext3_get_group_desc(sb, group_no, &gdp_bh); if (!gdp) { @@ -615,14 +1262,25 @@ ext3_new_block(handle_t *handle, struct inode *inode, unsigned long goal, bitmap_bh = read_block_bitmap(sb, group_no); if (!bitmap_bh) goto io_error; - ret_block = ext3_try_to_allocate(sb, handle, group_no, - bitmap_bh, -1, &fatal); + ret_block = ext3_try_to_allocate_with_rsv(sb, handle, group_no, + bitmap_bh, -1, my_rsv, &fatal); if (fatal) goto out; if (ret_block >= 0) goto allocated; } - + /* + * We may end up a bogus ealier ENOSPC error due to + * filesystem is "full" of reservations, but + * there maybe indeed free blocks avaliable on disk + * In this case, we just forget about the reservations + * just do block allocation as without reservations. + */ + if (my_rsv) { + my_rsv = NULL; + group_no = goal_group; + goto retry; + } /* No space left on the device */ *errp = -ENOSPC; goto out; @@ -738,6 +1396,7 @@ unsigned long ext3_count_free_blocks(struct super_block *sb) unsigned long desc_count; struct ext3_group_desc *gdp; int i; + unsigned long ngroups; #ifdef EXT3FS_DEBUG struct ext3_super_block *es; unsigned long bitmap_count, x; @@ -770,7 +1429,9 @@ unsigned long ext3_count_free_blocks(struct super_block *sb) return bitmap_count; #else desc_count = 0; - for (i = 0; i < EXT3_SB(sb)->s_groups_count; i++) { + ngroups = EXT3_SB(sb)->s_groups_count; + smp_rmb(); + for (i = 0; i < ngroups; i++) { gdp = ext3_get_group_desc(sb, i, NULL); if (!gdp) continue; diff --git a/fs/ext3/file.c b/fs/ext3/file.c index 50ba6861a..dd237a0a5 100644 --- a/fs/ext3/file.c +++ b/fs/ext3/file.c @@ -33,8 +33,10 @@ */ static int ext3_release_file (struct inode * inode, struct file * filp) { - if (filp->f_mode & FMODE_WRITE) - ext3_discard_prealloc (inode); + /* if we are the last writer on the inode, drop the block reservation */ + if ((filp->f_mode & FMODE_WRITE) && + (atomic_read(&inode->i_writecount) == 1)) + ext3_discard_reservation(inode); if (is_dx(inode) && filp->private_data) ext3_htree_free_dir_info(filp->private_data); @@ -132,10 +134,12 @@ struct file_operations ext3_file_operations = { struct inode_operations ext3_file_inode_operations = { .truncate = ext3_truncate, .setattr = ext3_setattr, - .setxattr = ext3_setxattr, - .getxattr = ext3_getxattr, +#ifdef CONFIG_EXT3_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext3_listxattr, - .removexattr = ext3_removexattr, + .removexattr = generic_removexattr, +#endif .permission = ext3_permission, }; diff --git a/fs/ext3/ialloc.c b/fs/ext3/ialloc.c index f30a4f41a..b6674cfa8 100644 --- a/fs/ext3/ialloc.c +++ b/fs/ext3/ialloc.c @@ -65,8 +65,8 @@ read_inode_bitmap(struct super_block * sb, unsigned long block_group) if (!bh) ext3_error(sb, "read_inode_bitmap", "Cannot read inode bitmap - " - "block_group = %lu, inode_bitmap = %lu", - block_group, (unsigned long) desc->bg_inode_bitmap); + "block_group = %lu, inode_bitmap = %u", + block_group, le32_to_cpu(desc->bg_inode_bitmap)); error_out: return bh; } @@ -98,7 +98,7 @@ void ext3_free_inode (handle_t *handle, struct inode * inode) unsigned long bit; struct ext3_group_desc * gdp; struct ext3_super_block * es; - struct ext3_sb_info *sbi = EXT3_SB(sb); + struct ext3_sb_info *sbi; int fatal = 0, err; if (atomic_read(&inode->i_count) > 1) { @@ -115,6 +115,7 @@ void ext3_free_inode (handle_t *handle, struct inode * inode) printk("ext3_free_inode: inode on nonexistent device\n"); return; } + sbi = EXT3_SB(sb); ino = inode->i_ino; ext3_debug ("freeing inode %lu\n", ino); @@ -321,8 +322,6 @@ static int find_group_orlov(struct super_block *sb, struct inode *parent) desc = ext3_get_group_desc (sb, group, &bh); if (!desc || !desc->bg_free_inodes_count) continue; - if (sbi->s_debts[group] >= max_debt) - continue; if (le16_to_cpu(desc->bg_used_dirs_count) >= max_dirs) continue; if (le16_to_cpu(desc->bg_free_inodes_count) < min_inodes) @@ -594,10 +593,11 @@ got: ei->i_file_acl = 0; ei->i_dir_acl = 0; ei->i_dtime = 0; -#ifdef EXT3_PREALLOCATE - ei->i_prealloc_block = 0; - ei->i_prealloc_count = 0; -#endif + ei->i_rsv_window.rsv_start = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + ei->i_rsv_window.rsv_end = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + atomic_set(&ei->i_rsv_window.rsv_goal_size, EXT3_DEFAULT_RESERVE_BLOCKS); + atomic_set(&ei->i_rsv_window.rsv_alloc_hit, 0); + seqlock_init(&ei->i_rsv_window.rsv_seqlock); ei->i_block_group = group; ext3_set_inode_flags(inode); diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index 7bc33d5f5..b15d640d8 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c @@ -85,7 +85,7 @@ int ext3_forget(handle_t *handle, int is_metadata, (!is_metadata && !ext3_should_journal_data(inode))) { if (bh) { BUFFER_TRACE(bh, "call journal_forget"); - ext3_journal_forget(handle, bh); + return ext3_journal_forget(handle, bh); } return 0; } @@ -181,19 +181,6 @@ static int ext3_journal_test_restart(handle_t *handle, struct inode *inode) static void ext3_truncate_nocheck (struct inode *inode); -/* - * Called at each iput() - * - * The inode may be "bad" if ext3_read_inode() saw an error from - * ext3_get_inode(), so we need to check that to avoid freeing random disk - * blocks. - */ -void ext3_put_inode(struct inode *inode) -{ - if (!is_bad_inode(inode)) - ext3_discard_prealloc(inode); -} - /* * Called at the last iput() if i_nlink is zero. */ @@ -247,73 +234,23 @@ no_delete: clear_inode(inode); /* We must guarantee clearing of inode... */ } -void ext3_discard_prealloc (struct inode * inode) -{ -#ifdef EXT3_PREALLOCATE - struct ext3_inode_info *ei = EXT3_I(inode); - /* Writer: ->i_prealloc* */ - if (ei->i_prealloc_count) { - unsigned short total = ei->i_prealloc_count; - unsigned long block = ei->i_prealloc_block; - ei->i_prealloc_count = 0; - ei->i_prealloc_block = 0; - /* Writer: end */ - ext3_free_blocks (inode, block, total); - } -#endif -} - static int ext3_alloc_block (handle_t *handle, struct inode * inode, unsigned long goal, int *err) { unsigned long result; -#ifdef EXT3_PREALLOCATE -#ifdef EXT3FS_DEBUG - static unsigned long alloc_hits, alloc_attempts; -#endif - struct ext3_inode_info *ei = EXT3_I(inode); - /* Writer: ->i_prealloc* */ - if (ei->i_prealloc_count && - (goal == ei->i_prealloc_block || - goal + 1 == ei->i_prealloc_block)) - { - result = ei->i_prealloc_block++; - ei->i_prealloc_count--; - /* Writer: end */ - ext3_debug ("preallocation hit (%lu/%lu).\n", - ++alloc_hits, ++alloc_attempts); - } else { - ext3_discard_prealloc (inode); - ext3_debug ("preallocation miss (%lu/%lu).\n", - alloc_hits, ++alloc_attempts); - if (S_ISREG(inode->i_mode)) - result = ext3_new_block (inode, goal, - &ei->i_prealloc_count, - &ei->i_prealloc_block, err); - else - result = ext3_new_block(inode, goal, NULL, NULL, err); - /* - * AKPM: this is somewhat sticky. I'm not surprised it was - * disabled in 2.2's ext3. Need to integrate b_committed_data - * guarding with preallocation, if indeed preallocation is - * effective. - */ - } -#else - result = ext3_new_block(handle, inode, goal, NULL, NULL, err); -#endif + result = ext3_new_block(handle, inode, goal, err); return result; } typedef struct { - u32 *p; - u32 key; + __le32 *p; + __le32 key; struct buffer_head *bh; } Indirect; -static inline void add_chain(Indirect *p, struct buffer_head *bh, u32 *v) +static inline void add_chain(Indirect *p, struct buffer_head *bh, __le32 *v) { p->key = *(p->p = v); p->bh = bh; @@ -444,7 +381,7 @@ static Indirect *ext3_get_branch(struct inode *inode, int depth, int *offsets, /* Reader: pointers */ if (!verify_chain(chain, p)) goto changed; - add_chain(++p, bh, (u32*)bh->b_data + *++offsets); + add_chain(++p, bh, (__le32*)bh->b_data + *++offsets); /* Reader: end */ if (!p->key) goto no_block; @@ -485,8 +422,8 @@ no_block: static unsigned long ext3_find_near(struct inode *inode, Indirect *ind) { struct ext3_inode_info *ei = EXT3_I(inode); - u32 *start = ind->bh ? (u32*) ind->bh->b_data : ei->i_data; - u32 *p; + __le32 *start = ind->bh ? (__le32*) ind->bh->b_data : ei->i_data; + __le32 *p; unsigned long bg_start; unsigned long colour; @@ -614,7 +551,7 @@ static int ext3_alloc_branch(handle_t *handle, struct inode *inode, } memset(bh->b_data, 0, blocksize); - branch[n].p = (u32*) bh->b_data + offsets[n]; + branch[n].p = (__le32*) bh->b_data + offsets[n]; *branch[n].p = branch[n].key; BUFFER_TRACE(bh, "marking uptodate"); set_buffer_uptodate(bh); @@ -986,38 +923,6 @@ struct buffer_head *ext3_bread(handle_t *handle, struct inode * inode, bh = ext3_getblk (handle, inode, block, create, err); if (!bh) return bh; -#ifdef EXT3_PREALLOCATE - /* - * If the inode has grown, and this is a directory, then use a few - * more of the preallocated blocks to keep directory fragmentation - * down. The preallocated blocks are guaranteed to be contiguous. - */ - if (create && - S_ISDIR(inode->i_mode) && - inode->i_blocks > prev_blocks && - EXT3_HAS_COMPAT_FEATURE(inode->i_sb, - EXT3_FEATURE_COMPAT_DIR_PREALLOC)) { - int i; - struct buffer_head *tmp_bh; - - for (i = 1; - EXT3_I(inode)->i_prealloc_count && - i < EXT3_SB(inode->i_sb)->s_es->s_prealloc_dir_blocks; - i++) { - /* - * ext3_getblk will zero out the contents of the - * directory for us - */ - tmp_bh = ext3_getblk(handle, inode, - block+i, create, err); - if (!tmp_bh) { - brelse (bh); - return 0; - } - brelse (tmp_bh); - } - } -#endif if (buffer_uptodate(bh)) return bh; ll_rw_block (READ, 1, &bh); @@ -1582,6 +1487,12 @@ static ssize_t ext3_direct_IO(int rw, struct kiocb *iocb, offset, nr_segs, ext3_direct_io_get_blocks, NULL); + /* + * Reacquire the handle: ext3_direct_io_get_block() can restart the + * transaction + */ + handle = journal_current_handle(); + out_stop: if (handle) { int err; @@ -1770,7 +1681,7 @@ unlock: * or memcmp with zero_page, whatever is better for particular architecture. * Linus? */ -static inline int all_zeroes(u32 *p, u32 *q) +static inline int all_zeroes(__le32 *p, __le32 *q) { while (p < q) if (*p++) @@ -1817,7 +1728,7 @@ static Indirect *ext3_find_shared(struct inode *inode, int depth, int offsets[4], Indirect chain[4], - u32 *top) + __le32 *top) { Indirect *partial, *p; int k, err; @@ -1837,7 +1748,7 @@ static Indirect *ext3_find_shared(struct inode *inode, if (!partial->key && *partial->p) /* Writer: end */ goto no_top; - for (p=partial; p>chain && all_zeroes((u32*)p->bh->b_data,p->p); p--) + for (p=partial; p>chain && all_zeroes((__le32*)p->bh->b_data,p->p); p--) ; /* * OK, we've found the last block that must survive. The rest of our @@ -1876,9 +1787,9 @@ no_top: static void ext3_clear_blocks(handle_t *handle, struct inode *inode, struct buffer_head *bh, unsigned long block_to_free, unsigned long count, - u32 *first, u32 *last) + __le32 *first, __le32 *last) { - u32 *p; + __le32 *p; if (try_to_extend_transaction(handle, inode)) { if (bh) { BUFFER_TRACE(bh, "call ext3_journal_dirty_metadata"); @@ -1934,15 +1845,16 @@ ext3_clear_blocks(handle_t *handle, struct inode *inode, struct buffer_head *bh, * block pointers. */ static void ext3_free_data(handle_t *handle, struct inode *inode, - struct buffer_head *this_bh, u32 *first, u32 *last) + struct buffer_head *this_bh, + __le32 *first, __le32 *last) { unsigned long block_to_free = 0; /* Starting block # of a run */ unsigned long count = 0; /* Number of blocks in the run */ - u32 *block_to_free_p = NULL; /* Pointer into inode/ind + __le32 *block_to_free_p = NULL; /* Pointer into inode/ind corresponding to block_to_free */ unsigned long nr; /* Current block # */ - u32 *p; /* Pointer into inode/ind + __le32 *p; /* Pointer into inode/ind for current block */ int err; @@ -2001,10 +1913,10 @@ static void ext3_free_data(handle_t *handle, struct inode *inode, */ static void ext3_free_branches(handle_t *handle, struct inode *inode, struct buffer_head *parent_bh, - u32 *first, u32 *last, int depth) + __le32 *first, __le32 *last, int depth) { unsigned long nr; - u32 *p; + __le32 *p; if (is_handle_aborted(handle)) return; @@ -2034,8 +1946,9 @@ static void ext3_free_branches(handle_t *handle, struct inode *inode, /* This zaps the entire block. Bottom up. */ BUFFER_TRACE(bh, "free child branches"); - ext3_free_branches(handle, inode, bh, (u32*)bh->b_data, - (u32*)bh->b_data + addr_per_block, + ext3_free_branches(handle, inode, bh, + (__le32*)bh->b_data, + (__le32*)bh->b_data + addr_per_block, depth); /* @@ -2140,13 +2053,13 @@ void ext3_truncate_nocheck(struct inode * inode) { handle_t *handle; struct ext3_inode_info *ei = EXT3_I(inode); - u32 *i_data = ei->i_data; + __le32 *i_data = ei->i_data; int addr_per_block = EXT3_ADDR_PER_BLOCK(inode->i_sb); struct address_space *mapping = inode->i_mapping; int offsets[4]; Indirect chain[4]; Indirect *partial; - int nr = 0; + __le32 nr = 0; int n; long last_block; unsigned blocksize = inode->i_sb->s_blocksize; @@ -2158,7 +2071,7 @@ void ext3_truncate_nocheck(struct inode * inode) if (ext3_inode_is_fast_symlink(inode)) return; - ext3_discard_prealloc(inode); + ext3_discard_reservation(inode); /* * We have to lock the EOF page here, because lock_page() nests @@ -2251,7 +2164,7 @@ void ext3_truncate_nocheck(struct inode * inode) /* Clear the ends of indirect blocks on the shared branch */ while (partial > chain) { ext3_free_branches(handle, inode, partial->bh, partial->p + 1, - (u32*)partial->bh->b_data + addr_per_block, + (__le32*)partial->bh->b_data+addr_per_block, (chain+n-1) - partial); BUFFER_TRACE(partial->bh, "call brelse"); brelse (partial->bh); @@ -2314,8 +2227,10 @@ static unsigned long ext3_get_inode_block(struct super_block *sb, struct buffer_head *bh; struct ext3_group_desc * gdp; + if ((ino != EXT3_ROOT_INO && ino != EXT3_JOURNAL_INO && + ino != EXT3_RESIZE_INO && ino < EXT3_FIRST_INO(sb)) || ino > le32_to_cpu( EXT3_SB(sb)->s_es->s_inodes_count)) { @@ -2329,6 +2244,7 @@ static unsigned long ext3_get_inode_block(struct super_block *sb, "group >= groups count"); return 0; } + smp_rmb(); group_desc = block_group >> EXT3_DESC_PER_BLOCK_BITS(sb); desc = block_group & (EXT3_DESC_PER_BLOCK(sb) - 1); bh = EXT3_SB(sb)->s_group_desc[group_desc]; @@ -2505,6 +2421,8 @@ void ext3_read_inode(struct inode * inode) ei->i_acl = EXT3_ACL_NOT_CACHED; ei->i_default_acl = EXT3_ACL_NOT_CACHED; #endif + ei->i_rsv_window.rsv_end = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + if (ext3_get_inode_loc(inode, &iloc, 0)) goto bad_inode; bh = iloc.bh; @@ -2569,11 +2487,11 @@ void ext3_read_inode(struct inode * inode) } ei->i_disksize = inode->i_size; inode->i_generation = le32_to_cpu(raw_inode->i_generation); -#ifdef EXT3_PREALLOCATE - ei->i_prealloc_count = 0; -#endif ei->i_block_group = iloc.block_group; - + ei->i_rsv_window.rsv_start = 0; + ei->i_rsv_window.rsv_end= 0; + atomic_set(&ei->i_rsv_window.rsv_goal_size, EXT3_DEFAULT_RESERVE_BLOCKS); + seqlock_init(&ei->i_rsv_window.rsv_seqlock); /* * NOTE! The in-memory inode i_data array is in little-endian order * even on big-endian machines: we do NOT byteswap the block numbers! @@ -2769,21 +2687,21 @@ out_brelse: * `stuff()' is running, and the new i_size will be lost. Plus the inode * will no longer be on the superblock's dirty inode list. */ -void ext3_write_inode(struct inode *inode, int wait) +int ext3_write_inode(struct inode *inode, int wait) { if (current->flags & PF_MEMALLOC) - return; + return 0; if (ext3_journal_current_handle()) { jbd_debug(0, "called recursively, non-PF_MEMALLOC!\n"); dump_stack(); - return; + return -EIO; } if (!wait) - return; + return 0; - ext3_force_commit(inode->i_sb); + return ext3_force_commit(inode->i_sb); } int ext3_setattr_flags(struct inode *inode, unsigned int flags) @@ -2793,7 +2711,7 @@ int ext3_setattr_flags(struct inode *inode, unsigned int flags) oldflags = EXT3_I(inode)->i_flags; newflags = oldflags & - ~(EXT3_IMMUTABLE_FL | EXT3_IUNLINK_FL | EXT3_BARRIER_FL); + ~(EXT3_IMMUTABLE_FL | EXT3_IUNLINK_FL | EXT3_BARRIER_FL); if (flags & ATTR_FLAG_IMMUTABLE) newflags |= EXT3_IMMUTABLE_FL; if (flags & ATTR_FLAG_IUNLINK) @@ -2813,7 +2731,7 @@ int ext3_setattr_flags(struct inode *inode, unsigned int flags) err = ext3_reserve_inode_write(handle, inode, &iloc); if (err) goto flags_err; - + EXT3_I(inode)->i_flags = newflags; inode->i_ctime = CURRENT_TIME; diff --git a/fs/ext3/ioctl.c b/fs/ext3/ioctl.c index f58d49736..ac1510724 100644 --- a/fs/ext3/ioctl.c +++ b/fs/ext3/ioctl.c @@ -21,6 +21,7 @@ int ext3_ioctl (struct inode * inode, struct file * filp, unsigned int cmd, { struct ext3_inode_info *ei = EXT3_I(inode); unsigned int flags; + unsigned short rsv_window_size; ext3_debug ("cmd = %u, arg = %lu\n", cmd, arg); @@ -171,7 +172,7 @@ flags_err: if (!(inode->i_sb->s_flags & MS_TAGXID)) return -ENOSYS; if (get_user(xid, (int *) arg)) - return -EFAULT; + return -EFAULT; handle = ext3_journal_start(inode, 1); if (IS_ERR(handle)) @@ -188,6 +189,73 @@ flags_err: return err; } #endif + case EXT3_IOC_GETRSVSZ: + if (test_opt(inode->i_sb, RESERVATION) && S_ISREG(inode->i_mode)) { + rsv_window_size = atomic_read(&ei->i_rsv_window.rsv_goal_size); + return put_user(rsv_window_size, (int *)arg); + } + return -ENOTTY; + case EXT3_IOC_SETRSVSZ: + if (!test_opt(inode->i_sb, RESERVATION) ||!S_ISREG(inode->i_mode)) + return -ENOTTY; + + if (IS_RDONLY(inode)) + return -EROFS; + + if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER)) + return -EACCES; + + if (get_user(rsv_window_size, (int *)arg)) + return -EFAULT; + + if (rsv_window_size > EXT3_MAX_RESERVE_BLOCKS) + rsv_window_size = EXT3_MAX_RESERVE_BLOCKS; + atomic_set(&ei->i_rsv_window.rsv_goal_size, rsv_window_size); + return 0; + case EXT3_IOC_GROUP_EXTEND: { + unsigned long n_blocks_count; + struct super_block *sb = inode->i_sb; + int err; + + if (!capable(CAP_SYS_RESOURCE)) + return -EPERM; + + if (IS_RDONLY(inode)) + return -EROFS; + + if (get_user(n_blocks_count, (__u32 *)arg)) + return -EFAULT; + + err = ext3_group_extend(sb, EXT3_SB(sb)->s_es, n_blocks_count); + journal_lock_updates(EXT3_SB(sb)->s_journal); + journal_flush(EXT3_SB(sb)->s_journal); + journal_unlock_updates(EXT3_SB(sb)->s_journal); + + return err; + } + case EXT3_IOC_GROUP_ADD: { + struct ext3_new_group_data input; + struct super_block *sb = inode->i_sb; + int err; + + if (!capable(CAP_SYS_RESOURCE)) + return -EPERM; + + if (IS_RDONLY(inode)) + return -EROFS; + + if (copy_from_user(&input, (struct ext3_new_group_input *)arg, + sizeof(input))) + return -EFAULT; + + err = ext3_group_add(sb, &input); + journal_lock_updates(EXT3_SB(sb)->s_journal); + journal_flush(EXT3_SB(sb)->s_journal); + journal_unlock_updates(EXT3_SB(sb)->s_journal); + + return err; + } + default: return -ENOTTY; } diff --git a/fs/ext3/namei.c b/fs/ext3/namei.c index 36e5b4ec3..cf359ec81 100644 --- a/fs/ext3/namei.c +++ b/fs/ext3/namei.c @@ -71,9 +71,6 @@ static struct buffer_head *ext3_append(handle_t *handle, #define swap(x, y) do { typeof(x) z = x; x = y; y = z; } while (0) #endif -typedef struct { u32 v; } le_u32; -typedef struct { u16 v; } le_u16; - #ifdef DX_DEBUG #define dxtrace(command) command #else @@ -82,22 +79,22 @@ typedef struct { u16 v; } le_u16; struct fake_dirent { - /*le*/u32 inode; - /*le*/u16 rec_len; + __le32 inode; + __le16 rec_len; u8 name_len; u8 file_type; }; struct dx_countlimit { - le_u16 limit; - le_u16 count; + __le16 limit; + __le16 count; }; struct dx_entry { - le_u32 hash; - le_u32 block; + __le32 hash; + __le32 block; }; /* @@ -114,7 +111,7 @@ struct dx_root char dotdot_name[4]; struct dx_root_info { - le_u32 reserved_zero; + __le32 reserved_zero; u8 hash_version; u8 info_length; /* 8 */ u8 indirect_levels; @@ -184,42 +181,42 @@ static int ext3_dx_add_entry(handle_t *handle, struct dentry *dentry, static inline unsigned dx_get_block (struct dx_entry *entry) { - return le32_to_cpu(entry->block.v) & 0x00ffffff; + return le32_to_cpu(entry->block) & 0x00ffffff; } static inline void dx_set_block (struct dx_entry *entry, unsigned value) { - entry->block.v = cpu_to_le32(value); + entry->block = cpu_to_le32(value); } static inline unsigned dx_get_hash (struct dx_entry *entry) { - return le32_to_cpu(entry->hash.v); + return le32_to_cpu(entry->hash); } static inline void dx_set_hash (struct dx_entry *entry, unsigned value) { - entry->hash.v = cpu_to_le32(value); + entry->hash = cpu_to_le32(value); } static inline unsigned dx_get_count (struct dx_entry *entries) { - return le16_to_cpu(((struct dx_countlimit *) entries)->count.v); + return le16_to_cpu(((struct dx_countlimit *) entries)->count); } static inline unsigned dx_get_limit (struct dx_entry *entries) { - return le16_to_cpu(((struct dx_countlimit *) entries)->limit.v); + return le16_to_cpu(((struct dx_countlimit *) entries)->limit); } static inline void dx_set_count (struct dx_entry *entries, unsigned value) { - ((struct dx_countlimit *) entries)->count.v = cpu_to_le16(value); + ((struct dx_countlimit *) entries)->count = cpu_to_le16(value); } static inline void dx_set_limit (struct dx_entry *entries, unsigned value) { - ((struct dx_countlimit *) entries)->limit.v = cpu_to_le16(value); + ((struct dx_countlimit *) entries)->limit = cpu_to_le16(value); } static inline unsigned dx_root_limit (struct inode *dir, unsigned infosize) @@ -2258,7 +2255,7 @@ static int ext3_rename (struct inode * old_dir, struct dentry *old_dentry, } else { BUFFER_TRACE(new_bh, "get write access"); ext3_journal_get_write_access(handle, new_bh); - new_de->inode = le32_to_cpu(old_inode->i_ino); + new_de->inode = cpu_to_le32(old_inode->i_ino); if (EXT3_HAS_INCOMPAT_FEATURE(new_dir->i_sb, EXT3_FEATURE_INCOMPAT_FILETYPE)) new_de->file_type = old_de->file_type; @@ -2313,7 +2310,7 @@ static int ext3_rename (struct inode * old_dir, struct dentry *old_dentry, if (dir_bh) { BUFFER_TRACE(dir_bh, "get_write_access"); ext3_journal_get_write_access(handle, dir_bh); - PARENT_INO(dir_bh->b_data) = le32_to_cpu(new_dir->i_ino); + PARENT_INO(dir_bh->b_data) = cpu_to_le32(new_dir->i_ino); BUFFER_TRACE(dir_bh, "call ext3_journal_dirty_metadata"); ext3_journal_dirty_metadata(handle, dir_bh); old_dir->i_nlink--; @@ -2355,18 +2352,22 @@ struct inode_operations ext3_dir_inode_operations = { .mknod = ext3_mknod, .rename = ext3_rename, .setattr = ext3_setattr, - .setxattr = ext3_setxattr, - .getxattr = ext3_getxattr, +#ifdef CONFIG_EXT3_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext3_listxattr, - .removexattr = ext3_removexattr, + .removexattr = generic_removexattr, +#endif .permission = ext3_permission, }; struct inode_operations ext3_special_inode_operations = { .setattr = ext3_setattr, - .setxattr = ext3_setxattr, - .getxattr = ext3_getxattr, +#ifdef CONFIG_EXT3_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext3_listxattr, - .removexattr = ext3_removexattr, + .removexattr = generic_removexattr, +#endif .permission = ext3_permission, }; diff --git a/fs/ext3/resize.c b/fs/ext3/resize.c new file mode 100644 index 000000000..b2786fac3 --- /dev/null +++ b/fs/ext3/resize.c @@ -0,0 +1,996 @@ +/* + * linux/fs/ext3/resize.c + * + * Support for resizing an ext3 filesystem while it is mounted. + * + * Copyright (C) 2001, 2002 Andreas Dilger + * + * This could probably be made into a module, because it is not often in use. + */ + +#include + +#define EXT3FS_DEBUG + +#include +#include +#include + +#include +#include + + +#define outside(b, first, last) ((b) < (first) || (b) >= (last)) +#define inside(b, first, last) ((b) >= (first) && (b) < (last)) + +static int verify_group_input(struct super_block *sb, + struct ext3_new_group_data *input) +{ + struct ext3_sb_info *sbi = EXT3_SB(sb); + struct ext3_super_block *es = sbi->s_es; + unsigned start = le32_to_cpu(es->s_blocks_count); + unsigned end = start + input->blocks_count; + unsigned group = input->group; + unsigned itend = input->inode_table + EXT3_SB(sb)->s_itb_per_group; + unsigned overhead = ext3_bg_has_super(sb, group) ? + (1 + ext3_bg_num_gdb(sb, group) + + le16_to_cpu(es->s_reserved_gdt_blocks)) : 0; + unsigned metaend = start + overhead; + struct buffer_head *bh = NULL; + int free_blocks_count; + int err = -EINVAL; + + input->free_blocks_count = free_blocks_count = + input->blocks_count - 2 - overhead - sbi->s_itb_per_group; + + if (test_opt(sb, DEBUG)) + printk(KERN_DEBUG "EXT3-fs: adding %s group %u: %u blocks " + "(%d free, %u reserved)\n", + ext3_bg_has_super(sb, input->group) ? "normal" : + "no-super", input->group, input->blocks_count, + free_blocks_count, input->reserved_blocks); + + if (group != sbi->s_groups_count) + ext3_warning(sb, __FUNCTION__, + "Cannot add at group %u (only %lu groups)", + input->group, sbi->s_groups_count); + else if ((start - le32_to_cpu(es->s_first_data_block)) % + EXT3_BLOCKS_PER_GROUP(sb)) + ext3_warning(sb, __FUNCTION__, "Last group not full"); + else if (input->reserved_blocks > input->blocks_count / 5) + ext3_warning(sb, __FUNCTION__, "Reserved blocks too high (%u)", + input->reserved_blocks); + else if (free_blocks_count < 0) + ext3_warning(sb, __FUNCTION__, "Bad blocks count %u", + input->blocks_count); + else if (!(bh = sb_bread(sb, end - 1))) + ext3_warning(sb, __FUNCTION__, "Cannot read last block (%u)", + end - 1); + else if (outside(input->block_bitmap, start, end)) + ext3_warning(sb, __FUNCTION__, + "Block bitmap not in group (block %u)", + input->block_bitmap); + else if (outside(input->inode_bitmap, start, end)) + ext3_warning(sb, __FUNCTION__, + "Inode bitmap not in group (block %u)", + input->inode_bitmap); + else if (outside(input->inode_table, start, end) || + outside(itend - 1, start, end)) + ext3_warning(sb, __FUNCTION__, + "Inode table not in group (blocks %u-%u)", + input->inode_table, itend - 1); + else if (input->inode_bitmap == input->block_bitmap) + ext3_warning(sb, __FUNCTION__, + "Block bitmap same as inode bitmap (%u)", + input->block_bitmap); + else if (inside(input->block_bitmap, input->inode_table, itend)) + ext3_warning(sb, __FUNCTION__, + "Block bitmap (%u) in inode table (%u-%u)", + input->block_bitmap, input->inode_table, itend-1); + else if (inside(input->inode_bitmap, input->inode_table, itend)) + ext3_warning(sb, __FUNCTION__, + "Inode bitmap (%u) in inode table (%u-%u)", + input->inode_bitmap, input->inode_table, itend-1); + else if (inside(input->block_bitmap, start, metaend)) + ext3_warning(sb, __FUNCTION__, + "Block bitmap (%u) in GDT table (%u-%u)", + input->block_bitmap, start, metaend - 1); + else if (inside(input->inode_bitmap, start, metaend)) + ext3_warning(sb, __FUNCTION__, + "Inode bitmap (%u) in GDT table (%u-%u)", + input->inode_bitmap, start, metaend - 1); + else if (inside(input->inode_table, start, metaend) || + inside(itend - 1, start, metaend)) + ext3_warning(sb, __FUNCTION__, + "Inode table (%u-%u) overlaps GDT table (%u-%u)", + input->inode_table, itend - 1, start, metaend - 1); + else + err = 0; + brelse(bh); + + return err; +} + +static struct buffer_head *bclean(handle_t *handle, struct super_block *sb, + unsigned long blk) +{ + struct buffer_head *bh; + int err; + + bh = sb_getblk(sb, blk); + if ((err = ext3_journal_get_write_access(handle, bh))) { + brelse(bh); + bh = ERR_PTR(err); + } else { + lock_buffer(bh); + memset(bh->b_data, 0, sb->s_blocksize); + set_buffer_uptodate(bh); + unlock_buffer(bh); + } + + return bh; +} + +/* + * To avoid calling the atomic setbit hundreds or thousands of times, we only + * need to use it within a single byte (to ensure we get endianness right). + * We can use memset for the rest of the bitmap as there are no other users. + */ +static void mark_bitmap_end(int start_bit, int end_bit, char *bitmap) +{ + int i; + + if (start_bit >= end_bit) + return; + + ext3_debug("mark end bits +%d through +%d used\n", start_bit, end_bit); + for (i = start_bit; i < ((start_bit + 7) & ~7UL); i++) + ext3_set_bit(i, bitmap); + if (i < end_bit) + memset(bitmap + (i >> 3), 0xff, (end_bit - i) >> 3); +} + +/* + * Set up the block and inode bitmaps, and the inode table for the new group. + * This doesn't need to be part of the main transaction, since we are only + * changing blocks outside the actual filesystem. We still do journaling to + * ensure the recovery is correct in case of a failure just after resize. + * If any part of this fails, we simply abort the resize. + */ +static int setup_new_group_blocks(struct super_block *sb, + struct ext3_new_group_data *input) +{ + struct ext3_sb_info *sbi = EXT3_SB(sb); + unsigned long start = input->group * sbi->s_blocks_per_group + + le32_to_cpu(sbi->s_es->s_first_data_block); + int reserved_gdb = ext3_bg_has_super(sb, input->group) ? + le16_to_cpu(sbi->s_es->s_reserved_gdt_blocks) : 0; + unsigned long gdblocks = ext3_bg_num_gdb(sb, input->group); + struct buffer_head *bh; + handle_t *handle; + unsigned long block; + int bit; + int i; + int err = 0, err2; + + handle = ext3_journal_start_sb(sb, reserved_gdb + gdblocks + + 2 + sbi->s_itb_per_group); + if (IS_ERR(handle)) + return PTR_ERR(handle); + + lock_super(sb); + if (input->group != sbi->s_groups_count) { + err = -EBUSY; + goto exit_journal; + } + + if (IS_ERR(bh = bclean(handle, sb, input->block_bitmap))) { + err = PTR_ERR(bh); + goto exit_journal; + } + + if (ext3_bg_has_super(sb, input->group)) { + ext3_debug("mark backup superblock %#04lx (+0)\n", start); + ext3_set_bit(0, bh->b_data); + } + + /* Copy all of the GDT blocks into the backup in this group */ + for (i = 0, bit = 1, block = start + 1; + i < gdblocks; i++, block++, bit++) { + struct buffer_head *gdb; + + ext3_debug("update backup group %#04lx (+%d)\n", block, bit); + + gdb = sb_getblk(sb, block); + if ((err = ext3_journal_get_write_access(handle, gdb))) { + brelse(gdb); + goto exit_bh; + } + lock_buffer(bh); + memcpy(gdb->b_data, sbi->s_group_desc[i], bh->b_size); + set_buffer_uptodate(gdb); + unlock_buffer(bh); + ext3_journal_dirty_metadata(handle, gdb); + ext3_set_bit(bit, bh->b_data); + brelse(gdb); + } + + /* Zero out all of the reserved backup group descriptor table blocks */ + for (i = 0, bit = gdblocks + 1, block = start + bit; + i < reserved_gdb; i++, block++, bit++) { + struct buffer_head *gdb; + + ext3_debug("clear reserved block %#04lx (+%d)\n", block, bit); + + if (IS_ERR(gdb = bclean(handle, sb, block))) { + err = PTR_ERR(bh); + goto exit_bh; + } + ext3_journal_dirty_metadata(handle, gdb); + ext3_set_bit(bit, bh->b_data); + brelse(gdb); + } + ext3_debug("mark block bitmap %#04x (+%ld)\n", input->block_bitmap, + input->block_bitmap - start); + ext3_set_bit(input->block_bitmap - start, bh->b_data); + ext3_debug("mark inode bitmap %#04x (+%ld)\n", input->inode_bitmap, + input->inode_bitmap - start); + ext3_set_bit(input->inode_bitmap - start, bh->b_data); + + /* Zero out all of the inode table blocks */ + for (i = 0, block = input->inode_table, bit = block - start; + i < sbi->s_itb_per_group; i++, bit++, block++) { + struct buffer_head *it; + + ext3_debug("clear inode block %#04x (+%ld)\n", block, bit); + if (IS_ERR(it = bclean(handle, sb, block))) { + err = PTR_ERR(it); + goto exit_bh; + } + ext3_journal_dirty_metadata(handle, it); + brelse(it); + ext3_set_bit(bit, bh->b_data); + } + mark_bitmap_end(input->blocks_count, EXT3_BLOCKS_PER_GROUP(sb), + bh->b_data); + ext3_journal_dirty_metadata(handle, bh); + brelse(bh); + + /* Mark unused entries in inode bitmap used */ + ext3_debug("clear inode bitmap %#04x (+%ld)\n", + input->inode_bitmap, input->inode_bitmap - start); + if (IS_ERR(bh = bclean(handle, sb, input->inode_bitmap))) { + err = PTR_ERR(bh); + goto exit_journal; + } + + mark_bitmap_end(EXT3_INODES_PER_GROUP(sb), EXT3_BLOCKS_PER_GROUP(sb), + bh->b_data); + ext3_journal_dirty_metadata(handle, bh); +exit_bh: + brelse(bh); + +exit_journal: + unlock_super(sb); + if ((err2 = ext3_journal_stop(handle)) && !err) + err = err2; + + return err; +} + +/* + * Iterate through the groups which hold BACKUP superblock/GDT copies in an + * ext3 filesystem. The counters should be initialized to 1, 5, and 7 before + * calling this for the first time. In a sparse filesystem it will be the + * sequence of powers of 3, 5, and 7: 1, 3, 5, 7, 9, 25, 27, 49, 81, ... + * For a non-sparse filesystem it will be every group: 1, 2, 3, 4, ... + */ +unsigned ext3_list_backups(struct super_block *sb, unsigned *three, + unsigned *five, unsigned *seven) +{ + unsigned *min = three; + int mult = 3; + unsigned ret; + + if (!EXT3_HAS_RO_COMPAT_FEATURE(sb, + EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER)) { + ret = *min; + *min += 1; + return ret; + } + + if (*five < *min) { + min = five; + mult = 5; + } + if (*seven < *min) { + min = seven; + mult = 7; + } + + ret = *min; + *min *= mult; + + return ret; +} + +/* + * Check that all of the backup GDT blocks are held in the primary GDT block. + * It is assumed that they are stored in group order. Returns the number of + * groups in current filesystem that have BACKUPS, or -ve error code. + */ +static int verify_reserved_gdb(struct super_block *sb, + struct buffer_head *primary) +{ + const unsigned long blk = primary->b_blocknr; + const unsigned long end = EXT3_SB(sb)->s_groups_count; + unsigned three = 1; + unsigned five = 5; + unsigned seven = 7; + unsigned grp; + __u32 *p = (__u32 *)primary->b_data; + int gdbackups = 0; + + while ((grp = ext3_list_backups(sb, &three, &five, &seven)) < end) { + if (le32_to_cpu(*p++) != grp * EXT3_BLOCKS_PER_GROUP(sb) + blk){ + ext3_warning(sb, __FUNCTION__, + "reserved GDT %ld missing grp %d (%ld)\n", + blk, grp, + grp * EXT3_BLOCKS_PER_GROUP(sb) + blk); + return -EINVAL; + } + if (++gdbackups > EXT3_ADDR_PER_BLOCK(sb)) + return -EFBIG; + } + + return gdbackups; +} + +/* + * Called when we need to bring a reserved group descriptor table block into + * use from the resize inode. The primary copy of the new GDT block currently + * is an indirect block (under the double indirect block in the resize inode). + * The new backup GDT blocks will be stored as leaf blocks in this indirect + * block, in group order. Even though we know all the block numbers we need, + * we check to ensure that the resize inode has actually reserved these blocks. + * + * Don't need to update the block bitmaps because the blocks are still in use. + * + * We get all of the error cases out of the way, so that we are sure to not + * fail once we start modifying the data on disk, because JBD has no rollback. + */ +static int add_new_gdb(handle_t *handle, struct inode *inode, + struct ext3_new_group_data *input, + struct buffer_head **primary) +{ + struct super_block *sb = inode->i_sb; + struct ext3_super_block *es = EXT3_SB(sb)->s_es; + unsigned long gdb_num = input->group / EXT3_DESC_PER_BLOCK(sb); + unsigned long gdblock = EXT3_SB(sb)->s_sbh->b_blocknr + 1 + gdb_num; + struct buffer_head **o_group_desc, **n_group_desc; + struct buffer_head *dind; + int gdbackups; + struct ext3_iloc iloc; + __u32 *data; + int err; + + if (test_opt(sb, DEBUG)) + printk(KERN_DEBUG + "EXT3-fs: ext3_add_new_gdb: adding group block %lu\n", + gdb_num); + + /* + * If we are not using the primary superblock/GDT copy don't resize, + * because the user tools have no way of handling this. Probably a + * bad time to do it anyways. + */ + if (EXT3_SB(sb)->s_sbh->b_blocknr != + le32_to_cpu(EXT3_SB(sb)->s_es->s_first_data_block)) { + ext3_warning(sb, __FUNCTION__, + "won't resize using backup superblock at %llu\n", + (unsigned long long)EXT3_SB(sb)->s_sbh->b_blocknr); + return -EPERM; + } + + *primary = sb_bread(sb, gdblock); + if (!*primary) + return -EIO; + + if ((gdbackups = verify_reserved_gdb(sb, *primary)) < 0) { + err = gdbackups; + goto exit_bh; + } + + data = EXT3_I(inode)->i_data + EXT3_DIND_BLOCK; + dind = sb_bread(sb, le32_to_cpu(*data)); + if (!dind) { + err = -EIO; + goto exit_bh; + } + + data = (__u32 *)dind->b_data; + if (le32_to_cpu(data[gdb_num % EXT3_ADDR_PER_BLOCK(sb)]) != gdblock) { + ext3_warning(sb, __FUNCTION__, + "new group %u GDT block %lu not reserved\n", + input->group, gdblock); + err = -EINVAL; + goto exit_dind; + } + + if ((err = ext3_journal_get_write_access(handle, EXT3_SB(sb)->s_sbh))) + goto exit_dind; + + if ((err = ext3_journal_get_write_access(handle, *primary))) + goto exit_sbh; + + if ((err = ext3_journal_get_write_access(handle, dind))) + goto exit_primary; + + /* ext3_reserve_inode_write() gets a reference on the iloc */ + if ((err = ext3_reserve_inode_write(handle, inode, &iloc))) + goto exit_dindj; + + n_group_desc = (struct buffer_head **)kmalloc((gdb_num + 1) * + sizeof(struct buffer_head *), GFP_KERNEL); + if (!n_group_desc) { + err = -ENOMEM; + ext3_warning (sb, __FUNCTION__, + "not enough memory for %lu groups", gdb_num + 1); + goto exit_inode; + } + + /* + * Finally, we have all of the possible failures behind us... + * + * Remove new GDT block from inode double-indirect block and clear out + * the new GDT block for use (which also "frees" the backup GDT blocks + * from the reserved inode). We don't need to change the bitmaps for + * these blocks, because they are marked as in-use from being in the + * reserved inode, and will become GDT blocks (primary and backup). + */ + data[gdb_num % EXT3_ADDR_PER_BLOCK(sb)] = 0; + ext3_journal_dirty_metadata(handle, dind); + brelse(dind); + inode->i_blocks -= (gdbackups + 1) * sb->s_blocksize >> 9; + ext3_mark_iloc_dirty(handle, inode, &iloc); + memset((*primary)->b_data, 0, sb->s_blocksize); + ext3_journal_dirty_metadata(handle, *primary); + + o_group_desc = EXT3_SB(sb)->s_group_desc; + memcpy(n_group_desc, o_group_desc, + EXT3_SB(sb)->s_gdb_count * sizeof(struct buffer_head *)); + n_group_desc[gdb_num] = *primary; + EXT3_SB(sb)->s_group_desc = n_group_desc; + EXT3_SB(sb)->s_gdb_count++; + kfree(o_group_desc); + + es->s_reserved_gdt_blocks = + cpu_to_le16(le16_to_cpu(es->s_reserved_gdt_blocks) - 1); + ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh); + + return 0; + +exit_inode: + //ext3_journal_release_buffer(handle, iloc.bh); + brelse(iloc.bh); +exit_dindj: + //ext3_journal_release_buffer(handle, dind); +exit_primary: + //ext3_journal_release_buffer(handle, *primary); +exit_sbh: + //ext3_journal_release_buffer(handle, *primary); +exit_dind: + brelse(dind); +exit_bh: + brelse(*primary); + + ext3_debug("leaving with error %d\n", err); + return err; +} + +/* + * Called when we are adding a new group which has a backup copy of each of + * the GDT blocks (i.e. sparse group) and there are reserved GDT blocks. + * We need to add these reserved backup GDT blocks to the resize inode, so + * that they are kept for future resizing and not allocated to files. + * + * Each reserved backup GDT block will go into a different indirect block. + * The indirect blocks are actually the primary reserved GDT blocks, + * so we know in advance what their block numbers are. We only get the + * double-indirect block to verify it is pointing to the primary reserved + * GDT blocks so we don't overwrite a data block by accident. The reserved + * backup GDT blocks are stored in their reserved primary GDT block. + */ +static int reserve_backup_gdb(handle_t *handle, struct inode *inode, + struct ext3_new_group_data *input) +{ + struct super_block *sb = inode->i_sb; + int reserved_gdb =le16_to_cpu(EXT3_SB(sb)->s_es->s_reserved_gdt_blocks); + struct buffer_head **primary; + struct buffer_head *dind; + struct ext3_iloc iloc; + unsigned long blk; + __u32 *data, *end; + int gdbackups = 0; + int res, i; + int err; + + primary = kmalloc(reserved_gdb * sizeof(*primary), GFP_KERNEL); + if (!primary) + return -ENOMEM; + + data = EXT3_I(inode)->i_data + EXT3_DIND_BLOCK; + dind = sb_bread(sb, le32_to_cpu(*data)); + if (!dind) { + err = -EIO; + goto exit_free; + } + + blk = EXT3_SB(sb)->s_sbh->b_blocknr + 1 + EXT3_SB(sb)->s_gdb_count; + data = (__u32 *)dind->b_data + EXT3_SB(sb)->s_gdb_count; + end = (__u32 *)dind->b_data + EXT3_ADDR_PER_BLOCK(sb); + + /* Get each reserved primary GDT block and verify it holds backups */ + for (res = 0; res < reserved_gdb; res++, blk++) { + if (le32_to_cpu(*data) != blk) { + ext3_warning(sb, __FUNCTION__, + "reserved block %lu not at offset %ld\n", + blk, (long)(data - (__u32 *)dind->b_data)); + err = -EINVAL; + goto exit_bh; + } + primary[res] = sb_bread(sb, blk); + if (!primary[res]) { + err = -EIO; + goto exit_bh; + } + if ((gdbackups = verify_reserved_gdb(sb, primary[res])) < 0) { + brelse(primary[res]); + err = gdbackups; + goto exit_bh; + } + if (++data >= end) + data = (__u32 *)dind->b_data; + } + + for (i = 0; i < reserved_gdb; i++) { + if ((err = ext3_journal_get_write_access(handle, primary[i]))) { + /* + int j; + for (j = 0; j < i; j++) + ext3_journal_release_buffer(handle, primary[j]); + */ + goto exit_bh; + } + } + + if ((err = ext3_reserve_inode_write(handle, inode, &iloc))) + goto exit_bh; + + /* + * Finally we can add each of the reserved backup GDT blocks from + * the new group to its reserved primary GDT block. + */ + blk = input->group * EXT3_BLOCKS_PER_GROUP(sb); + for (i = 0; i < reserved_gdb; i++) { + int err2; + data = (__u32 *)primary[i]->b_data; + /* printk("reserving backup %lu[%u] = %lu\n", + primary[i]->b_blocknr, gdbackups, + blk + primary[i]->b_blocknr); */ + data[gdbackups] = cpu_to_le32(blk + primary[i]->b_blocknr); + err2 = ext3_journal_dirty_metadata(handle, primary[i]); + if (!err) + err = err2; + } + inode->i_blocks += reserved_gdb * sb->s_blocksize >> 9; + ext3_mark_iloc_dirty(handle, inode, &iloc); + +exit_bh: + while (--res >= 0) + brelse(primary[res]); + brelse(dind); + +exit_free: + kfree(primary); + + return err; +} + +/* + * Update the backup copies of the ext3 metadata. These don't need to be part + * of the main resize transaction, because e2fsck will re-write them if there + * is a problem (basically only OOM will cause a problem). However, we + * _should_ update the backups if possible, in case the primary gets trashed + * for some reason and we need to run e2fsck from a backup superblock. The + * important part is that the new block and inode counts are in the backup + * superblocks, and the location of the new group metadata in the GDT backups. + * + * We do not need lock_super() for this, because these blocks are not + * otherwise touched by the filesystem code when it is mounted. We don't + * need to worry about last changing from sbi->s_groups_count, because the + * worst that can happen is that we do not copy the full number of backups + * at this time. The resize which changed s_groups_count will backup again. + */ +static void update_backups(struct super_block *sb, + int blk_off, char *data, int size) +{ + struct ext3_sb_info *sbi = EXT3_SB(sb); + const unsigned long last = sbi->s_groups_count; + const int bpg = EXT3_BLOCKS_PER_GROUP(sb); + unsigned three = 1; + unsigned five = 5; + unsigned seven = 7; + unsigned group; + int rest = sb->s_blocksize - size; + handle_t *handle; + int err = 0, err2; + + handle = ext3_journal_start_sb(sb, EXT3_MAX_TRANS_DATA); + if (IS_ERR(handle)) { + group = 1; + err = PTR_ERR(handle); + goto exit_err; + } + + while ((group = ext3_list_backups(sb, &three, &five, &seven)) < last) { + struct buffer_head *bh; + + /* Out of journal space, and can't get more - abort - so sad */ + if (handle->h_buffer_credits == 0 && + ext3_journal_extend(handle, EXT3_MAX_TRANS_DATA) && + (err = ext3_journal_restart(handle, EXT3_MAX_TRANS_DATA))) + break; + + bh = sb_getblk(sb, group * bpg + blk_off); + ext3_debug(sb, __FUNCTION__, "update metadata backup %#04lx\n", + bh->b_blocknr); + if ((err = ext3_journal_get_write_access(handle, bh))) + break; + lock_buffer(bh); + memcpy(bh->b_data, data, size); + if (rest) + memset(bh->b_data + size, 0, rest); + set_buffer_uptodate(bh); + unlock_buffer(bh); + ext3_journal_dirty_metadata(handle, bh); + brelse(bh); + } + if ((err2 = ext3_journal_stop(handle)) && !err) + err = err2; + + /* + * Ugh! Need to have e2fsck write the backup copies. It is too + * late to revert the resize, we shouldn't fail just because of + * the backup copies (they are only needed in case of corruption). + * + * However, if we got here we have a journal problem too, so we + * can't really start a transaction to mark the superblock. + * Chicken out and just set the flag on the hope it will be written + * to disk, and if not - we will simply wait until next fsck. + */ +exit_err: + if (err) { + ext3_warning(sb, __FUNCTION__, + "can't update backup for group %d (err %d), " + "forcing fsck on next reboot\n", group, err); + sbi->s_mount_state &= ~EXT3_VALID_FS; + sbi->s_es->s_state &= ~cpu_to_le16(EXT3_VALID_FS); + mark_buffer_dirty(sbi->s_sbh); + } +} + +/* Add group descriptor data to an existing or new group descriptor block. + * Ensure we handle all possible error conditions _before_ we start modifying + * the filesystem, because we cannot abort the transaction and not have it + * write the data to disk. + * + * If we are on a GDT block boundary, we need to get the reserved GDT block. + * Otherwise, we may need to add backup GDT blocks for a sparse group. + * + * We only need to hold the superblock lock while we are actually adding + * in the new group's counts to the superblock. Prior to that we have + * not really "added" the group at all. We re-check that we are still + * adding in the last group in case things have changed since verifying. + */ +int ext3_group_add(struct super_block *sb, struct ext3_new_group_data *input) +{ + struct ext3_sb_info *sbi = EXT3_SB(sb); + struct ext3_super_block *es = sbi->s_es; + int reserved_gdb = ext3_bg_has_super(sb, input->group) ? + le16_to_cpu(es->s_reserved_gdt_blocks) : 0; + struct buffer_head *primary = NULL; + struct ext3_group_desc *gdp; + struct inode *inode = NULL; + handle_t *handle; + int gdb_off, gdb_num; + int err, err2; + + gdb_num = input->group / EXT3_DESC_PER_BLOCK(sb); + gdb_off = input->group % EXT3_DESC_PER_BLOCK(sb); + + if (gdb_off == 0 && !EXT3_HAS_RO_COMPAT_FEATURE(sb, + EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER)) { + ext3_warning(sb, __FUNCTION__, + "Can't resize non-sparse filesystem further\n"); + return -EPERM; + } + + if (reserved_gdb || gdb_off == 0) { + if (!EXT3_HAS_COMPAT_FEATURE(sb, + EXT3_FEATURE_COMPAT_RESIZE_INODE)){ + ext3_warning(sb, __FUNCTION__, + "No reserved GDT blocks, can't resize\n"); + return -EPERM; + } + inode = iget(sb, EXT3_RESIZE_INO); + if (!inode || is_bad_inode(inode)) { + ext3_warning(sb, __FUNCTION__, + "Error opening resize inode\n"); + iput(inode); + return -ENOENT; + } + } + + if ((err = verify_group_input(sb, input))) + goto exit_put; + + if ((err = setup_new_group_blocks(sb, input))) + goto exit_put; + + /* + * We will always be modifying at least the superblock and a GDT + * block. If we are adding a group past the last current GDT block, + * we will also modify the inode and the dindirect block. If we + * are adding a group with superblock/GDT backups we will also + * modify each of the reserved GDT dindirect blocks. + */ + handle = ext3_journal_start_sb(sb, + ext3_bg_has_super(sb, input->group) ? + 3 + reserved_gdb : 4); + if (IS_ERR(handle)) { + err = PTR_ERR(handle); + goto exit_put; + } + + lock_super(sb); + if (input->group != EXT3_SB(sb)->s_groups_count) { + ext3_warning(sb, __FUNCTION__, + "multiple resizers run on filesystem!\n"); + goto exit_journal; + } + + if ((err = ext3_journal_get_write_access(handle, sbi->s_sbh))) + goto exit_journal; + + /* + * We will only either add reserved group blocks to a backup group + * or remove reserved blocks for the first group in a new group block. + * Doing both would be mean more complex code, and sane people don't + * use non-sparse filesystems anymore. This is already checked above. + */ + if (gdb_off) { + primary = sbi->s_group_desc[gdb_num]; + if ((err = ext3_journal_get_write_access(handle, primary))) + goto exit_journal; + + if (reserved_gdb && ext3_bg_num_gdb(sb, input->group) && + (err = reserve_backup_gdb(handle, inode, input))) + goto exit_journal; + } else if ((err = add_new_gdb(handle, inode, input, &primary))) + goto exit_journal; + + /* + * OK, now we've set up the new group. Time to make it active. + * + * Current kernels don't lock all allocations via lock_super(), + * so we have to be safe wrt. concurrent accesses the group + * data. So we need to be careful to set all of the relevant + * group descriptor data etc. *before* we enable the group. + * + * The key field here is EXT3_SB(sb)->s_groups_count: as long as + * that retains its old value, nobody is going to access the new + * group. + * + * So first we update all the descriptor metadata for the new + * group; then we update the total disk blocks count; then we + * update the groups count to enable the group; then finally we + * update the free space counts so that the system can start + * using the new disk blocks. + */ + + /* Update group descriptor block for new group */ + gdp = (struct ext3_group_desc *)primary->b_data + gdb_off; + + gdp->bg_block_bitmap = cpu_to_le32(input->block_bitmap); + gdp->bg_inode_bitmap = cpu_to_le32(input->inode_bitmap); + gdp->bg_inode_table = cpu_to_le32(input->inode_table); + gdp->bg_free_blocks_count = cpu_to_le16(input->free_blocks_count); + gdp->bg_free_inodes_count = cpu_to_le16(EXT3_INODES_PER_GROUP(sb)); + + /* + * Make the new blocks and inodes valid next. We do this before + * increasing the group count so that once the group is enabled, + * all of its blocks and inodes are already valid. + * + * We always allocate group-by-group, then block-by-block or + * inode-by-inode within a group, so enabling these + * blocks/inodes before the group is live won't actually let us + * allocate the new space yet. + */ + es->s_blocks_count = cpu_to_le32(le32_to_cpu(es->s_blocks_count) + + input->blocks_count); + es->s_inodes_count = cpu_to_le32(le32_to_cpu(es->s_inodes_count) + + EXT3_INODES_PER_GROUP(sb)); + + /* + * We need to protect s_groups_count against other CPUs seeing + * inconsistent state in the superblock. + * + * The precise rules we use are: + * + * * Writers of s_groups_count *must* hold lock_super + * AND + * * Writers must perform a smp_wmb() after updating all dependent + * data and before modifying the groups count + * + * * Readers must hold lock_super() over the access + * OR + * * Readers must perform an smp_rmb() after reading the groups count + * and before reading any dependent data. + * + * NB. These rules can be relaxed when checking the group count + * while freeing data, as we can only allocate from a block + * group after serialising against the group count, and we can + * only then free after serialising in turn against that + * allocation. + */ + smp_wmb(); + + /* Update the global fs size fields */ + EXT3_SB(sb)->s_groups_count++; + + ext3_journal_dirty_metadata(handle, primary); + + /* Update the reserved block counts only once the new group is + * active. */ + es->s_r_blocks_count = cpu_to_le32(le32_to_cpu(es->s_r_blocks_count) + + input->reserved_blocks); + + /* Update the free space counts */ + percpu_counter_mod(&sbi->s_freeblocks_counter, + input->free_blocks_count); + percpu_counter_mod(&sbi->s_freeinodes_counter, + EXT3_INODES_PER_GROUP(sb)); + + ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh); + sb->s_dirt = 1; + +exit_journal: + unlock_super(sb); + if ((err2 = ext3_journal_stop(handle)) && !err) + err = err2; + if (!err) { + update_backups(sb, sbi->s_sbh->b_blocknr, (char *)es, + sizeof(struct ext3_super_block)); + update_backups(sb, primary->b_blocknr, primary->b_data, + primary->b_size); + } +exit_put: + iput(inode); + return err; +} /* ext3_group_add */ + +/* Extend the filesystem to the new number of blocks specified. This entry + * point is only used to extend the current filesystem to the end of the last + * existing group. It can be accessed via ioctl, or by "remount,resize=" + * for emergencies (because it has no dependencies on reserved blocks). + * + * If we _really_ wanted, we could use default values to call ext3_group_add() + * allow the "remount" trick to work for arbitrary resizing, assuming enough + * GDT blocks are reserved to grow to the desired size. + */ +int ext3_group_extend(struct super_block *sb, struct ext3_super_block *es, + unsigned long n_blocks_count) +{ + unsigned long o_blocks_count; + unsigned long o_groups_count; + unsigned long last; + int add; + struct buffer_head * bh; + handle_t *handle; + int err, freed_blocks; + + /* We don't need to worry about locking wrt other resizers just + * yet: we're going to revalidate es->s_blocks_count after + * taking lock_super() below. */ + o_blocks_count = le32_to_cpu(es->s_blocks_count); + o_groups_count = EXT3_SB(sb)->s_groups_count; + + if (test_opt(sb, DEBUG)) + printk(KERN_DEBUG "EXT3-fs: extending last group from %lu to %lu blocks\n", + o_blocks_count, n_blocks_count); + + if (n_blocks_count == 0 || n_blocks_count == o_blocks_count) + return 0; + + if (n_blocks_count < o_blocks_count) { + ext3_warning(sb, __FUNCTION__, + "can't shrink FS - resize aborted"); + return -EBUSY; + } + + /* Handle the remaining blocks in the last group only. */ + last = (o_blocks_count - le32_to_cpu(es->s_first_data_block)) % + EXT3_BLOCKS_PER_GROUP(sb); + + if (last == 0) { + ext3_warning(sb, __FUNCTION__, + "need to use ext2online to resize further\n"); + return -EPERM; + } + + add = EXT3_BLOCKS_PER_GROUP(sb) - last; + + if (o_blocks_count + add > n_blocks_count) + add = n_blocks_count - o_blocks_count; + + if (o_blocks_count + add < n_blocks_count) + ext3_warning(sb, __FUNCTION__, + "will only finish group (%lu blocks, %u new)", + o_blocks_count + add, add); + + /* See if the device is actually as big as what was requested */ + bh = sb_bread(sb, o_blocks_count + add -1); + if (!bh) { + ext3_warning(sb, __FUNCTION__, + "can't read last block, resize aborted"); + return -ENOSPC; + } + brelse(bh); + + /* We will update the superblock, one block bitmap, and + * one group descriptor via ext3_free_blocks(). + */ + handle = ext3_journal_start_sb(sb, 3); + if (IS_ERR(handle)) { + err = PTR_ERR(handle); + ext3_warning(sb, __FUNCTION__, "error %d on journal start",err); + goto exit_put; + } + + lock_super(sb); + if (o_blocks_count != le32_to_cpu(es->s_blocks_count)) { + ext3_warning(sb, __FUNCTION__, + "multiple resizers run on filesystem!\n"); + err = -EBUSY; + goto exit_put; + } + + if ((err = ext3_journal_get_write_access(handle, + EXT3_SB(sb)->s_sbh))) { + ext3_warning(sb, __FUNCTION__, + "error %d on journal write access", err); + unlock_super(sb); + ext3_journal_stop(handle); + goto exit_put; + } + es->s_blocks_count = cpu_to_le32(o_blocks_count + add); + ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh); + sb->s_dirt = 1; + unlock_super(sb); + ext3_debug("freeing blocks %ld through %ld\n", o_blocks_count, + o_blocks_count + add); + ext3_free_blocks_sb(handle, sb, o_blocks_count, add, &freed_blocks); + ext3_debug("freed blocks %ld through %ld\n", o_blocks_count, + o_blocks_count + add); + if ((err = ext3_journal_stop(handle))) + goto exit_put; + if (test_opt(sb, DEBUG)) + printk(KERN_DEBUG "EXT3-fs: extended group to %u blocks\n", + le32_to_cpu(es->s_blocks_count)); + update_backups(sb, EXT3_SB(sb)->s_sbh->b_blocknr, (char *)es, + sizeof(struct ext3_super_block)); +exit_put: + return err; +} /* ext3_group_extend */ diff --git a/fs/ext3/super.c b/fs/ext3/super.c index 61943d319..b5850a961 100644 --- a/fs/ext3/super.c +++ b/fs/ext3/super.c @@ -59,19 +59,19 @@ static int ext3_sync_fs(struct super_block *sb, int wait); * that sync() will call the filesystem's write_super callback if * appropriate. */ -handle_t *ext3_journal_start(struct inode *inode, int nblocks) +handle_t *ext3_journal_start_sb(struct super_block *sb, int nblocks) { journal_t *journal; - if (inode->i_sb->s_flags & MS_RDONLY) + if (sb->s_flags & MS_RDONLY) return ERR_PTR(-EROFS); /* Special case here: if the journal has aborted behind our * backs (eg. EIO in the commit thread), then we still need to * take the FS itself readonly cleanly. */ - journal = EXT3_JOURNAL(inode); + journal = EXT3_SB(sb)->s_journal; if (is_journal_aborted(journal)) { - ext3_abort(inode->i_sb, __FUNCTION__, + ext3_abort(sb, __FUNCTION__, "Detected aborted journal"); return ERR_PTR(-EROFS); } @@ -108,17 +108,20 @@ void ext3_journal_abort_handle(const char *caller, const char *err_fn, char nbuf[16]; const char *errstr = ext3_decode_error(NULL, err, nbuf); - printk(KERN_ERR "%s: aborting transaction: %s in %s", - caller, errstr, err_fn); - if (bh) BUFFER_TRACE(bh, "abort"); - journal_abort_handle(handle); + if (!handle->h_err) handle->h_err = err; -} -static char error_buf[1024]; + if (is_handle_aborted(handle)) + return; + + printk(KERN_ERR "%s: aborting transaction: %s in %s\n", + caller, errstr, err_fn); + + journal_abort_handle(handle); +} /* Deal with the reporting of failure conditions on a filesystem such as * inconsistencies detected or read IO failures. @@ -140,7 +143,7 @@ static void ext3_handle_error(struct super_block *sb) struct ext3_super_block *es = EXT3_SB(sb)->s_es; EXT3_SB(sb)->s_mount_state |= EXT3_ERROR_FS; - es->s_state |= cpu_to_le32(EXT3_ERROR_FS); + es->s_state |= cpu_to_le16(EXT3_ERROR_FS); if (sb->s_flags & MS_RDONLY) return; @@ -166,12 +169,11 @@ void ext3_error (struct super_block * sb, const char * function, { va_list args; - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); - - printk (KERN_CRIT "EXT3-fs error (device %s): %s: %s\n", - sb->s_id, function, error_buf); + va_start(args, fmt); + printk(KERN_CRIT "EXT3-fs error (device %s): %s: ",sb->s_id, function); + vprintk(fmt, args); + printk("\n"); + va_end(args); ext3_handle_error(sb); } @@ -240,21 +242,19 @@ void ext3_abort (struct super_block * sb, const char * function, printk (KERN_CRIT "ext3_abort called.\n"); - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); - - if (test_opt (sb, ERRORS_PANIC)) - panic ("EXT3-fs panic (device %s): %s: %s\n", - sb->s_id, function, error_buf); + va_start(args, fmt); + printk(KERN_CRIT "EXT3-fs error (device %s): %s: ",sb->s_id, function); + vprintk(fmt, args); + printk("\n"); + va_end(args); - printk (KERN_CRIT "EXT3-fs abort (device %s): %s: %s\n", - sb->s_id, function, error_buf); + if (test_opt(sb, ERRORS_PANIC)) + panic("EXT3-fs panic from previous error\n"); if (sb->s_flags & MS_RDONLY) return; - printk (KERN_CRIT "Remounting filesystem read-only\n"); + printk(KERN_CRIT "Remounting filesystem read-only\n"); EXT3_SB(sb)->s_mount_state |= EXT3_ERROR_FS; sb->s_flags |= MS_RDONLY; EXT3_SB(sb)->s_mount_opt |= EXT3_MOUNT_ABORT; @@ -272,15 +272,16 @@ NORET_TYPE void ext3_panic (struct super_block * sb, const char * function, { va_list args; - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); + va_start(args, fmt); + printk(KERN_CRIT "EXT3-fs error (device %s): %s: ",sb->s_id, function); + vprintk(fmt, args); + printk("\n"); + va_end(args); /* this is to prevent panic from syncing this filesystem */ /* AKPM: is this sufficient? */ sb->s_flags |= MS_RDONLY; - panic ("EXT3-fs panic (device %s): %s: %s\n", - sb->s_id, function, error_buf); + panic ("EXT3-fs panic forced\n"); } void ext3_warning (struct super_block * sb, const char * function, @@ -288,11 +289,12 @@ void ext3_warning (struct super_block * sb, const char * function, { va_list args; - va_start (args, fmt); - vsprintf (error_buf, fmt, args); - va_end (args); - printk (KERN_WARNING "EXT3-fs warning (device %s): %s: %s\n", - sb->s_id, function, error_buf); + va_start(args, fmt); + printk(KERN_WARNING "EXT3-fs warning (device %s): %s: ", + sb->s_id, function); + vprintk(fmt, args); + printk("\n"); + va_end(args); } void ext3_update_dynamic_rev(struct super_block *sb) @@ -380,7 +382,7 @@ static void dump_orphan_list(struct super_block *sb, struct ext3_sb_info *sbi) "inode %s:%ld at %p: mode %o, nlink %d, next %d\n", inode->i_sb->s_id, inode->i_ino, inode, inode->i_mode, inode->i_nlink, - le32_to_cpu(NEXT_ORPHAN(inode))); + NEXT_ORPHAN(inode)); } } @@ -394,7 +396,7 @@ void ext3_put_super (struct super_block * sb) journal_destroy(sbi->s_journal); if (!(sb->s_flags & MS_RDONLY)) { EXT3_CLEAR_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_RECOVER); - es->s_state = le16_to_cpu(sbi->s_mount_state); + es->s_state = cpu_to_le16(sbi->s_mount_state); BUFFER_TRACE(sbi->s_sbh, "marking dirty"); mark_buffer_dirty(sbi->s_sbh); ext3_commit_super(sb, es, 1); @@ -403,7 +405,9 @@ void ext3_put_super (struct super_block * sb) for (i = 0; i < sbi->s_gdb_count; i++) brelse(sbi->s_group_desc[i]); kfree(sbi->s_group_desc); - kfree(sbi->s_debts); + percpu_counter_destroy(&sbi->s_freeblocks_counter); + percpu_counter_destroy(&sbi->s_freeinodes_counter); + percpu_counter_destroy(&sbi->s_dirs_counter); brelse(sbi->s_sbh); #ifdef CONFIG_QUOTA for (i = 0; i < MAXQUOTAS; i++) { @@ -452,6 +456,7 @@ static struct inode *ext3_alloc_inode(struct super_block *sb) ei->i_acl = EXT3_ACL_NOT_CACHED; ei->i_default_acl = EXT3_ACL_NOT_CACHED; #endif + ei->i_rsv_window.rsv_end = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; ei->vfs_inode.i_version = 1; return &ei->vfs_inode; } @@ -480,7 +485,7 @@ static int init_inodecache(void) { ext3_inode_cachep = kmem_cache_create("ext3_inode_cache", sizeof(struct ext3_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (ext3_inode_cachep == NULL) return -ENOMEM; @@ -493,10 +498,9 @@ static void destroy_inodecache(void) printk(KERN_INFO "ext3_inode_cache: not all structures were freed\n"); } -#ifdef CONFIG_EXT3_FS_POSIX_ACL - static void ext3_clear_inode(struct inode *inode) { +#ifdef CONFIG_EXT3_FS_POSIX_ACL if (EXT3_I(inode)->i_acl && EXT3_I(inode)->i_acl != EXT3_ACL_NOT_CACHED) { posix_acl_release(EXT3_I(inode)->i_acl); @@ -507,11 +511,9 @@ static void ext3_clear_inode(struct inode *inode) posix_acl_release(EXT3_I(inode)->i_default_acl); EXT3_I(inode)->i_default_acl = EXT3_ACL_NOT_CACHED; } -} - -#else -# define ext3_clear_inode NULL #endif + ext3_discard_reservation(inode); +} #ifdef CONFIG_QUOTA @@ -561,7 +563,6 @@ static struct super_operations ext3_sops = { .read_inode = ext3_read_inode, .write_inode = ext3_write_inode, .dirty_inode = ext3_dirty_inode, - .put_inode = ext3_put_inode, .delete_inode = ext3_delete_inode, .put_super = ext3_put_super, .write_super = ext3_write_super, @@ -582,12 +583,13 @@ enum { Opt_bsd_df, Opt_minix_df, Opt_grpid, Opt_nogrpid, Opt_resgid, Opt_resuid, Opt_sb, Opt_err_cont, Opt_err_panic, Opt_err_ro, Opt_nouid32, Opt_check, Opt_nocheck, Opt_debug, Opt_oldalloc, Opt_orlov, - Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl, Opt_noload, + Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl, + Opt_reservation, Opt_noreservation, Opt_noload, Opt_commit, Opt_journal_update, Opt_journal_inum, Opt_abort, Opt_data_journal, Opt_data_ordered, Opt_data_writeback, Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, - Opt_tagxid, Opt_ignore, Opt_err + Opt_tagxid, Opt_barrier, Opt_ignore, Opt_err, Opt_resize, }; static match_table_t tokens = { @@ -614,6 +616,8 @@ static match_table_t tokens = { {Opt_nouser_xattr, "nouser_xattr"}, {Opt_acl, "acl"}, {Opt_noacl, "noacl"}, + {Opt_reservation, "reservation"}, + {Opt_noreservation, "noreservation"}, {Opt_noload, "noload"}, {Opt_commit, "commit=%u"}, {Opt_journal_update, "journal=update"}, @@ -633,7 +637,9 @@ static match_table_t tokens = { {Opt_ignore, "noquota"}, {Opt_ignore, "quota"}, {Opt_ignore, "usrquota"}, - {Opt_err, NULL} + {Opt_barrier, "barrier=%u"}, + {Opt_err, NULL}, + {Opt_resize, "resize"}, }; static unsigned long get_sb_block(void **data) @@ -657,7 +663,7 @@ static unsigned long get_sb_block(void **data) } static int parse_options (char * options, struct super_block *sb, - unsigned long * inum, int is_remount) + unsigned long * inum, unsigned long *n_blocks_count, int is_remount) { struct ext3_sb_info *sbi = EXT3_SB(sb); char * p; @@ -778,6 +784,12 @@ static int parse_options (char * options, struct super_block *sb, printk("EXT3 (no)acl options not supported\n"); break; #endif + case Opt_reservation: + set_opt(sbi->s_mount_opt, RESERVATION); + break; + case Opt_noreservation: + clear_opt(sbi->s_mount_opt, RESERVATION); + break; case Opt_journal_update: /* @@@ FIXME */ /* Eventually we will want to be able to create @@ -908,8 +920,25 @@ clear_qf_name: case Opt_abort: set_opt(sbi->s_mount_opt, ABORT); break; + case Opt_barrier: + if (match_int(&args[0], &option)) + return 0; + if (option) + set_opt(sbi->s_mount_opt, BARRIER); + else + clear_opt(sbi->s_mount_opt, BARRIER); + break; case Opt_ignore: break; + case Opt_resize: + if (!n_blocks_count) { + printk("EXT3-fs: resize option only available " + "for remount\n"); + return 0; + } + match_int(&args[0], &option); + *n_blocks_count = option; + break; default: printk (KERN_ERR "EXT3-fs: Unrecognized mount option \"%s\" " @@ -969,8 +998,7 @@ static int ext3_setup_super(struct super_block *sb, struct ext3_super_block *es, es->s_state = cpu_to_le16(le16_to_cpu(es->s_state) & ~EXT3_VALID_FS); #endif if (!(__s16) le16_to_cpu(es->s_max_mnt_count)) - es->s_max_mnt_count = - (__s16) cpu_to_le16(EXT3_DFL_MAX_MNT_COUNT); + es->s_max_mnt_count = cpu_to_le16(EXT3_DFL_MAX_MNT_COUNT); es->s_mnt_count=cpu_to_le16(le16_to_cpu(es->s_mnt_count) + 1); es->s_mtime = cpu_to_le32(get_seconds()); ext3_update_dynamic_rev(sb); @@ -1004,6 +1032,7 @@ static int ext3_setup_super(struct super_block *sb, struct ext3_super_block *es, return res; } +/* Called at mount-time, super-block is locked */ static int ext3_check_descriptors (struct super_block * sb) { struct ext3_sb_info *sbi = EXT3_SB(sb); @@ -1226,6 +1255,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) int db_count; int i; int needs_recovery; + __le32 features; sbi = kmalloc(sizeof(*sbi), GFP_KERNEL); if (!sbi) @@ -1299,7 +1329,9 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) sbi->s_resuid = le16_to_cpu(es->s_def_resuid); sbi->s_resgid = le16_to_cpu(es->s_def_resgid); - if (!parse_options ((char *) data, sb, &journal_inum, 0)) + set_opt(sbi->s_mount_opt, RESERVATION); + + if (!parse_options ((char *) data, sb, &journal_inum, NULL, 0)) goto failed_mount; if (EXT3_SB(sb)->s_mount_opt & EXT3_MOUNT_TAG_XID) @@ -1320,17 +1352,18 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) * previously didn't change the revision level when setting the flags, * so there is a chance incompat flags are set on a rev 0 filesystem. */ - if ((i = EXT3_HAS_INCOMPAT_FEATURE(sb, ~EXT3_FEATURE_INCOMPAT_SUPP))) { + features = EXT3_HAS_INCOMPAT_FEATURE(sb, ~EXT3_FEATURE_INCOMPAT_SUPP); + if (features) { printk(KERN_ERR "EXT3-fs: %s: couldn't mount because of " "unsupported optional features (%x).\n", - sb->s_id, i); + sb->s_id, le32_to_cpu(features)); goto failed_mount; } - if (!(sb->s_flags & MS_RDONLY) && - (i = EXT3_HAS_RO_COMPAT_FEATURE(sb, ~EXT3_FEATURE_RO_COMPAT_SUPP))){ + features = EXT3_HAS_RO_COMPAT_FEATURE(sb, ~EXT3_FEATURE_RO_COMPAT_SUPP); + if (!(sb->s_flags & MS_RDONLY) && features) { printk(KERN_ERR "EXT3-fs: %s: couldn't mount RDWR because of " "unsupported optional features (%x).\n", - sb->s_id, i); + sb->s_id, le32_to_cpu(features)); goto failed_mount; } blocksize = BLOCK_SIZE << le32_to_cpu(es->s_log_block_size); @@ -1367,7 +1400,7 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) } es = (struct ext3_super_block *)(((char *)bh->b_data) + offset); sbi->s_es = es; - if (es->s_magic != le16_to_cpu(EXT3_SUPER_MAGIC)) { + if (es->s_magic != cpu_to_le16(EXT3_SUPER_MAGIC)) { printk (KERN_ERR "EXT3-fs: Magic mismatch, very weird !\n"); goto failed_mount; @@ -1445,13 +1478,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) printk (KERN_ERR "EXT3-fs: not enough memory\n"); goto failed_mount; } - sbi->s_debts = kmalloc(sbi->s_groups_count * sizeof(u8), - GFP_KERNEL); - if (!sbi->s_debts) { - printk("EXT3-fs: not enough memory to allocate s_bgi\n"); - goto failed_mount2; - } - memset(sbi->s_debts, 0, sbi->s_groups_count * sizeof(u8)); percpu_counter_init(&sbi->s_freeblocks_counter); percpu_counter_init(&sbi->s_freeinodes_counter); @@ -1475,11 +1501,25 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) sbi->s_gdb_count = db_count; get_random_bytes(&sbi->s_next_generation, sizeof(u32)); spin_lock_init(&sbi->s_next_gen_lock); + /* per fileystem reservation list head & lock */ + spin_lock_init(&sbi->s_rsv_window_lock); + sbi->s_rsv_window_root = RB_ROOT; + /* Add a single, static dummy reservation to the start of the + * reservation window list --- it gives us a placeholder for + * append-at-start-of-list which makes the allocation logic + * _much_ simpler. */ + sbi->s_rsv_window_head.rsv_start = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + sbi->s_rsv_window_head.rsv_end = EXT3_RESERVE_WINDOW_NOT_ALLOCATED; + atomic_set(&sbi->s_rsv_window_head.rsv_alloc_hit, 0); + atomic_set(&sbi->s_rsv_window_head.rsv_goal_size, 0); + rsv_window_add(sb, &sbi->s_rsv_window_head); + /* * set up enough so that it can read an inode */ sb->s_op = &ext3_sops; sb->s_export_op = &ext3_export_ops; + sb->s_xattr = ext3_xattr_handlers; #ifdef CONFIG_QUOTA sb->s_qcop = &ext3_qctl_operations; sb->dq_op = &ext3_quota_operations; @@ -1588,7 +1628,6 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent) failed_mount3: journal_destroy(sbi->s_journal); failed_mount2: - kfree(sbi->s_debts); for (i = 0; i < db_count; i++) brelse(sbi->s_group_desc[i]); kfree(sbi->s_group_desc); @@ -1612,16 +1651,23 @@ out_fail: * initial mount, once the journal has been initialised but before we've * done any recovery; and again on any subsequent remount. */ -static void ext3_init_journal_params(struct ext3_sb_info *sbi, - journal_t *journal) +static void ext3_init_journal_params(struct super_block *sb, journal_t *journal) { + struct ext3_sb_info *sbi = EXT3_SB(sb); + if (sbi->s_commit_interval) journal->j_commit_interval = sbi->s_commit_interval; /* We could also set up an ext3-specific default for the commit * interval here, but for now we'll just fall back to the jbd * default. */ -} + spin_lock(&journal->j_state_lock); + if (test_opt(sb, BARRIER)) + journal->j_flags |= JFS_BARRIER; + else + journal->j_flags &= ~JFS_BARRIER; + spin_unlock(&journal->j_state_lock); +} static journal_t *ext3_get_journal(struct super_block *sb, int journal_inum) { @@ -1659,7 +1705,7 @@ static journal_t *ext3_get_journal(struct super_block *sb, int journal_inum) return NULL; } journal->j_private = sb; - ext3_init_journal_params(EXT3_SB(sb), journal); + ext3_init_journal_params(sb, journal); return journal; } @@ -1737,14 +1783,14 @@ static journal_t *ext3_get_dev_journal(struct super_block *sb, printk(KERN_ERR "EXT3-fs: I/O error on journal device\n"); goto out_journal; } - if (ntohl(journal->j_superblock->s_nr_users) != 1) { + if (be32_to_cpu(journal->j_superblock->s_nr_users) != 1) { printk(KERN_ERR "EXT3-fs: External journal has more than one " "user (unsupported) - %d\n", - ntohl(journal->j_superblock->s_nr_users)); + be32_to_cpu(journal->j_superblock->s_nr_users)); goto out_journal; } EXT3_SB(sb)->journal_bdev = bdev; - ext3_init_journal_params(EXT3_SB(sb), journal); + ext3_init_journal_params(sb, journal); return journal; out_journal: journal_destroy(journal); @@ -2026,11 +2072,12 @@ int ext3_remount (struct super_block * sb, int * flags, char * data) struct ext3_super_block * es; struct ext3_sb_info *sbi = EXT3_SB(sb); unsigned long tmp; + unsigned long n_blocks_count = 0; /* * Allow the "check" option to be passed as a remount option. */ - if (!parse_options(data, sb, &tmp, 1)) + if (!parse_options(data, sb, &tmp, &n_blocks_count, 1)) return -EINVAL; if (sbi->s_mount_opt & EXT3_MOUNT_ABORT) @@ -2041,9 +2088,10 @@ int ext3_remount (struct super_block * sb, int * flags, char * data) es = sbi->s_es; - ext3_init_journal_params(sbi, sbi->s_journal); + ext3_init_journal_params(sb, sbi->s_journal); - if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY)) { + if ((*flags & MS_RDONLY) != (sb->s_flags & MS_RDONLY) || + n_blocks_count > le32_to_cpu(es->s_blocks_count)) { if (sbi->s_mount_opt & EXT3_MOUNT_ABORT) return -EROFS; @@ -2065,13 +2113,13 @@ int ext3_remount (struct super_block * sb, int * flags, char * data) ext3_mark_recovery_complete(sb, es); } else { - int ret; + __le32 ret; if ((ret = EXT3_HAS_RO_COMPAT_FEATURE(sb, ~EXT3_FEATURE_RO_COMPAT_SUPP))) { printk(KERN_WARNING "EXT3-fs: %s: couldn't " "remount RDWR because of unsupported " "optional features (%x).\n", - sb->s_id, ret); + sb->s_id, le32_to_cpu(ret)); return -EROFS; } /* @@ -2082,6 +2130,8 @@ int ext3_remount (struct super_block * sb, int * flags, char * data) */ ext3_clear_journal_err(sb, es); sbi->s_mount_state = le16_to_cpu(es->s_state); + if ((ret = ext3_group_extend(sb, es, n_blocks_count))) + return ret; if (!ext3_setup_super (sb, es, 0)) sb->s_flags &= ~MS_RDONLY; } @@ -2098,6 +2148,10 @@ int ext3_statfs (struct super_block * sb, struct kstatfs * buf) if (test_opt (sb, MINIX_DF)) overhead = 0; else { + unsigned long ngroups; + ngroups = EXT3_SB(sb)->s_groups_count; + smp_rmb(); + /* * Compute the overhead (FS structures) */ @@ -2113,7 +2167,7 @@ int ext3_statfs (struct super_block * sb, struct kstatfs * buf) * block group descriptors. If the sparse superblocks * feature is turned on, then not all groups have this. */ - for (i = 0; i < EXT3_SB(sb)->s_groups_count; i++) + for (i = 0; i < ngroups; i++) overhead += ext3_bg_has_super(sb, i) + ext3_bg_num_gdb(sb, i); @@ -2121,8 +2175,7 @@ int ext3_statfs (struct super_block * sb, struct kstatfs * buf) * Every block group has an inode bitmap, a block * bitmap, and an inode table. */ - overhead += (EXT3_SB(sb)->s_groups_count * - (2 + EXT3_SB(sb)->s_itb_per_group)); + overhead += (ngroups * (2 + EXT3_SB(sb)->s_itb_per_group)); } buf->f_type = EXT3_SUPER_MAGIC; diff --git a/fs/ext3/symlink.c b/fs/ext3/symlink.c index 867f713a1..8c3e72818 100644 --- a/fs/ext3/symlink.c +++ b/fs/ext3/symlink.c @@ -34,17 +34,21 @@ struct inode_operations ext3_symlink_inode_operations = { .readlink = generic_readlink, .follow_link = page_follow_link_light, .put_link = page_put_link, - .setxattr = ext3_setxattr, - .getxattr = ext3_getxattr, +#ifdef CONFIG_EXT3_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext3_listxattr, - .removexattr = ext3_removexattr, + .removexattr = generic_removexattr, +#endif }; struct inode_operations ext3_fast_symlink_inode_operations = { .readlink = generic_readlink, .follow_link = ext3_follow_link, - .setxattr = ext3_setxattr, - .getxattr = ext3_getxattr, +#ifdef CONFIG_EXT3_FS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, .listxattr = ext3_listxattr, - .removexattr = ext3_removexattr, + .removexattr = generic_removexattr, +#endif }; diff --git a/fs/ext3/xattr.c b/fs/ext3/xattr.c index b6c382c83..23f6b7be3 100644 --- a/fs/ext3/xattr.c +++ b/fs/ext3/xattr.c @@ -7,6 +7,8 @@ * Ext3 code with a lot of help from Eric Jarman . * Extended attributes for symlinks and special files added per * suggestion of Luka Renko . + * xattr consolidation Copyright (c) 2004 James Morris , + * Red Hat Inc. */ /* @@ -96,106 +98,44 @@ static int ext3_xattr_cache_insert(struct buffer_head *); static struct buffer_head *ext3_xattr_cache_find(handle_t *, struct inode *, struct ext3_xattr_header *, int *); -static void ext3_xattr_cache_remove(struct buffer_head *); static void ext3_xattr_rehash(struct ext3_xattr_header *, struct ext3_xattr_entry *); static struct mb_cache *ext3_xattr_cache; -static struct ext3_xattr_handler *ext3_xattr_handlers[EXT3_XATTR_INDEX_MAX]; -static rwlock_t ext3_handler_lock = RW_LOCK_UNLOCKED; -int -ext3_xattr_register(int name_index, struct ext3_xattr_handler *handler) -{ - int error = -EINVAL; - - if (name_index > 0 && name_index <= EXT3_XATTR_INDEX_MAX) { - write_lock(&ext3_handler_lock); - if (!ext3_xattr_handlers[name_index-1]) { - ext3_xattr_handlers[name_index-1] = handler; - error = 0; - } - write_unlock(&ext3_handler_lock); - } - return error; -} - -void -ext3_xattr_unregister(int name_index, struct ext3_xattr_handler *handler) -{ - if (name_index > 0 || name_index <= EXT3_XATTR_INDEX_MAX) { - write_lock(&ext3_handler_lock); - ext3_xattr_handlers[name_index-1] = NULL; - write_unlock(&ext3_handler_lock); - } -} - -static inline const char * -strcmp_prefix(const char *a, const char *a_prefix) -{ - while (*a_prefix && *a == *a_prefix) { - a++; - a_prefix++; - } - return *a_prefix ? NULL : a; -} +static struct xattr_handler *ext3_xattr_handler_map[EXT3_XATTR_INDEX_MAX] = { + [EXT3_XATTR_INDEX_USER] = &ext3_xattr_user_handler, +#ifdef CONFIG_EXT3_FS_POSIX_ACL + [EXT3_XATTR_INDEX_POSIX_ACL_ACCESS] = &ext3_xattr_acl_access_handler, + [EXT3_XATTR_INDEX_POSIX_ACL_DEFAULT] = &ext3_xattr_acl_default_handler, +#endif + [EXT3_XATTR_INDEX_TRUSTED] = &ext3_xattr_trusted_handler, +#ifdef CONFIG_EXT3_FS_SECURITY + [EXT3_XATTR_INDEX_SECURITY] = &ext3_xattr_security_handler, +#endif +}; -/* - * Decode the extended attribute name, and translate it into - * the name_index and name suffix. - */ -static inline struct ext3_xattr_handler * -ext3_xattr_resolve_name(const char **name) -{ - struct ext3_xattr_handler *handler = NULL; - int i; - - if (!*name) - return NULL; - read_lock(&ext3_handler_lock); - for (i=0; iprefix); - if (n) { - handler = ext3_xattr_handlers[i]; - *name = n; - break; - } - } - } - read_unlock(&ext3_handler_lock); - return handler; -} +struct xattr_handler *ext3_xattr_handlers[] = { + &ext3_xattr_user_handler, + &ext3_xattr_trusted_handler, +#ifdef CONFIG_EXT3_FS_POSIX_ACL + &ext3_xattr_acl_access_handler, + &ext3_xattr_acl_default_handler, +#endif +#ifdef CONFIG_EXT3_FS_SECURITY + &ext3_xattr_security_handler, +#endif + NULL +}; -static inline struct ext3_xattr_handler * +static inline struct xattr_handler * ext3_xattr_handler(int name_index) { - struct ext3_xattr_handler *handler = NULL; - if (name_index > 0 && name_index <= EXT3_XATTR_INDEX_MAX) { - read_lock(&ext3_handler_lock); - handler = ext3_xattr_handlers[name_index-1]; - read_unlock(&ext3_handler_lock); - } - return handler; -} + struct xattr_handler *handler = NULL; -/* - * Inode operation getxattr() - * - * dentry->d_inode->i_sem: don't care - */ -ssize_t -ext3_getxattr(struct dentry *dentry, const char *name, - void *buffer, size_t size) -{ - struct ext3_xattr_handler *handler; - struct inode *inode = dentry->d_inode; - - handler = ext3_xattr_resolve_name(&name); - if (!handler) - return -EOPNOTSUPP; - return handler->get(inode, name, buffer, size); + if (name_index > 0 && name_index <= EXT3_XATTR_INDEX_MAX) + handler = ext3_xattr_handler_map[name_index]; + return handler; } /* @@ -209,43 +149,6 @@ ext3_listxattr(struct dentry *dentry, char *buffer, size_t size) return ext3_xattr_list(dentry->d_inode, buffer, size); } -/* - * Inode operation setxattr() - * - * dentry->d_inode->i_sem: down - */ -int -ext3_setxattr(struct dentry *dentry, const char *name, - const void *value, size_t size, int flags) -{ - struct ext3_xattr_handler *handler; - struct inode *inode = dentry->d_inode; - - if (size == 0) - value = ""; /* empty EA, do not remove */ - handler = ext3_xattr_resolve_name(&name); - if (!handler) - return -EOPNOTSUPP; - return handler->set(inode, name, value, size, flags); -} - -/* - * Inode operation removexattr() - * - * dentry->d_inode->i_sem: down - */ -int -ext3_removexattr(struct dentry *dentry, const char *name) -{ - struct ext3_xattr_handler *handler; - struct inode *inode = dentry->d_inode; - - handler = ext3_xattr_resolve_name(&name); - if (!handler) - return -EOPNOTSUPP; - return handler->set(inode, name, NULL, 0, XATTR_REPLACE); -} - /* * ext3_xattr_get() * @@ -364,8 +267,8 @@ ext3_xattr_list(struct inode *inode, char *buffer, size_t buffer_size) { struct buffer_head *bh = NULL; struct ext3_xattr_entry *entry; - size_t size = 0; - char *buf, *end; + char *end; + size_t rest = buffer_size; int error; ea_idebug(inode, "buffer=%p, buffer_size=%ld", @@ -391,44 +294,40 @@ bad_block: ext3_error(inode->i_sb, "ext3_xattr_list", error = -EIO; goto cleanup; } - /* compute the size required for the list of attribute names */ - for (entry = FIRST_ENTRY(bh); !IS_LAST_ENTRY(entry); - entry = EXT3_XATTR_NEXT(entry)) { - struct ext3_xattr_handler *handler; - struct ext3_xattr_entry *next = - EXT3_XATTR_NEXT(entry); + + /* check the on-disk data structure */ + entry = FIRST_ENTRY(bh); + while (!IS_LAST_ENTRY(entry)) { + struct ext3_xattr_entry *next = EXT3_XATTR_NEXT(entry); + if ((char *)next >= end) goto bad_block; - - handler = ext3_xattr_handler(entry->e_name_index); - if (handler) - size += handler->list(NULL, inode, entry->e_name, - entry->e_name_len); + entry = next; } - if (ext3_xattr_cache_insert(bh)) ea_idebug(inode, "cache insert failed"); - if (!buffer) { - error = size; - goto cleanup; - } else { - error = -ERANGE; - if (size > buffer_size) - goto cleanup; - } /* list the attribute names */ - buf = buffer; for (entry = FIRST_ENTRY(bh); !IS_LAST_ENTRY(entry); entry = EXT3_XATTR_NEXT(entry)) { - struct ext3_xattr_handler *handler; - - handler = ext3_xattr_handler(entry->e_name_index); - if (handler) - buf += handler->list(buf, inode, entry->e_name, - entry->e_name_len); + struct xattr_handler *handler = + ext3_xattr_handler(entry->e_name_index); + + if (handler) { + size_t size = handler->list(inode, buffer, rest, + entry->e_name, + entry->e_name_len); + if (buffer) { + if (size > rest) { + error = -ERANGE; + goto cleanup; + } + buffer += size; + } + rest -= size; + } } - error = size; + error = buffer_size - rest; /* total size */ cleanup: brelse(bh); @@ -601,6 +500,7 @@ bad_block: ext3_error(sb, "ext3_xattr_set", /* Here we know that we can set the new attribute. */ if (header) { + struct mb_cache_entry *ce; int credits = 0; /* assert(header == HDR(bh)); */ @@ -612,14 +512,19 @@ bad_block: ext3_error(sb, "ext3_xattr_set", &credits); if (error) goto cleanup; + ce = mb_cache_entry_get(ext3_xattr_cache, bh->b_bdev, + bh->b_blocknr); lock_buffer(bh); if (header->h_refcount == cpu_to_le32(1)) { ea_bdebug(bh, "modifying in-place"); - ext3_xattr_cache_remove(bh); + if (ce) + mb_cache_entry_free(ce); /* keep the buffer locked while modifying it. */ } else { int offset; + if (ce) + mb_cache_entry_release(ce); unlock_buffer(bh); journal_release_buffer(handle, bh, credits); skip_get_write_access: @@ -791,8 +696,7 @@ ext3_xattr_set_handle2(handle_t *handle, struct inode *inode, EXT3_SB(sb)->s_es->s_first_data_block) + EXT3_I(inode)->i_block_group * EXT3_BLOCKS_PER_GROUP(sb); - int block = ext3_new_block(handle, inode, goal, - NULL, NULL, &error); + int block = ext3_new_block(handle, inode, goal, &error); if (error) goto cleanup; ea_idebug(inode, "creating block %d", block); @@ -831,6 +735,7 @@ getblk_failed: error = 0; if (old_bh && old_bh != new_bh) { + struct mb_cache_entry *ce; /* * If there was an old block, and we are no longer using it, * release the old block. @@ -838,9 +743,13 @@ getblk_failed: error = ext3_journal_get_write_access(handle, old_bh); if (error) goto cleanup; + ce = mb_cache_entry_get(ext3_xattr_cache, old_bh->b_bdev, + old_bh->b_blocknr); lock_buffer(old_bh); if (HDR(old_bh)->h_refcount == cpu_to_le32(1)) { /* Free the old block. */ + if (ce) + mb_cache_entry_free(ce); ea_bdebug(old_bh, "freeing"); ext3_free_blocks(handle, inode, old_bh->b_blocknr, 1); @@ -851,6 +760,8 @@ getblk_failed: ext3_forget(handle, 1, inode, old_bh,old_bh->b_blocknr); } else { /* Decrement the refcount only. */ + if (ce) + mb_cache_entry_release(ce); HDR(old_bh)->h_refcount = cpu_to_le32( le32_to_cpu(HDR(old_bh)->h_refcount) - 1); DLIMIT_FREE_BLOCK(sb, inode->i_xid, 1); @@ -913,6 +824,7 @@ void ext3_xattr_delete_inode(handle_t *handle, struct inode *inode) { struct buffer_head *bh = NULL; + struct mb_cache_entry *ce; down_write(&EXT3_I(inode)->xattr_sem); if (!EXT3_I(inode)->i_file_acl) @@ -933,13 +845,18 @@ ext3_xattr_delete_inode(handle_t *handle, struct inode *inode) } if (ext3_journal_get_write_access(handle, bh) != 0) goto cleanup; + ce = mb_cache_entry_get(ext3_xattr_cache, bh->b_bdev, + bh->b_blocknr); lock_buffer(bh); if (HDR(bh)->h_refcount == cpu_to_le32(1)) { - ext3_xattr_cache_remove(bh); + if (ce) + mb_cache_entry_free(ce); ext3_free_blocks(handle, inode, EXT3_I(inode)->i_file_acl, 1); get_bh(bh); ext3_forget(handle, 1, inode, bh, EXT3_I(inode)->i_file_acl); } else { + if (ce) + mb_cache_entry_release(ce); HDR(bh)->h_refcount = cpu_to_le32( le32_to_cpu(HDR(bh)->h_refcount) - 1); ext3_journal_dirty_metadata(handle, bh); @@ -1059,11 +976,19 @@ ext3_xattr_cache_find(handle_t *handle, struct inode *inode, if (!header->h_hash) return NULL; /* never share */ ea_idebug(inode, "looking for cached blocks [%x]", (int)hash); +again: ce = mb_cache_entry_find_first(ext3_xattr_cache, 0, inode->i_sb->s_bdev, hash); while (ce) { - struct buffer_head *bh = sb_bread(inode->i_sb, ce->e_block); + struct buffer_head *bh; + + if (IS_ERR(ce)) { + if (PTR_ERR(ce) == -EAGAIN) + goto again; + break; + } + bh = sb_bread(inode->i_sb, ce->e_block); if (!bh) { ext3_error(inode->i_sb, "ext3_xattr_cache_find", "inode %ld: block %ld read error", @@ -1094,27 +1019,6 @@ ext3_xattr_cache_find(handle_t *handle, struct inode *inode, return NULL; } -/* - * ext3_xattr_cache_remove() - * - * Remove the cache entry of a block from the cache. Called when a - * block becomes invalid. - */ -static void -ext3_xattr_cache_remove(struct buffer_head *bh) -{ - struct mb_cache_entry *ce; - - ce = mb_cache_entry_get(ext3_xattr_cache, bh->b_bdev, - bh->b_blocknr); - if (ce) { - ea_bdebug(bh, "removing (%d cache entries remaining)", - atomic_read(&ext3_xattr_cache->c_entry_count)-1); - mb_cache_entry_free(ce); - } else - ea_bdebug(bh, "no cache entry"); -} - #define NAME_HASH_SHIFT 5 #define VALUE_HASH_SHIFT 16 @@ -1137,7 +1041,7 @@ static inline void ext3_xattr_hash_entry(struct ext3_xattr_header *header, } if (entry->e_value_block == 0 && entry->e_value_size != 0) { - __u32 *value = (__u32 *)((char *)header + + __le32 *value = (__le32 *)((char *)header + le16_to_cpu(entry->e_value_offs)); for (n = (le32_to_cpu(entry->e_value_size) + EXT3_XATTR_ROUND) >> EXT3_XATTR_PAD_BITS; n; n--) { @@ -1186,51 +1090,12 @@ static void ext3_xattr_rehash(struct ext3_xattr_header *header, int __init init_ext3_xattr(void) { - int err; - - err = ext3_xattr_register(EXT3_XATTR_INDEX_USER, - &ext3_xattr_user_handler); - if (err) - return err; - err = ext3_xattr_register(EXT3_XATTR_INDEX_TRUSTED, - &ext3_xattr_trusted_handler); - if (err) - goto out; -#ifdef CONFIG_EXT3_FS_SECURITY - err = ext3_xattr_register(EXT3_XATTR_INDEX_SECURITY, - &ext3_xattr_security_handler); - if (err) - goto out1; -#endif -#ifdef CONFIG_EXT3_FS_POSIX_ACL - err = init_ext3_acl(); - if (err) - goto out2; -#endif ext3_xattr_cache = mb_cache_create("ext3_xattr", NULL, sizeof(struct mb_cache_entry) + sizeof(struct mb_cache_entry_index), 1, 6); - if (!ext3_xattr_cache) { - err = -ENOMEM; - goto out3; - } + if (!ext3_xattr_cache) + return -ENOMEM; return 0; -out3: -#ifdef CONFIG_EXT3_FS_POSIX_ACL - exit_ext3_acl(); -out2: -#endif -#ifdef CONFIG_EXT3_FS_SECURITY - ext3_xattr_unregister(EXT3_XATTR_INDEX_SECURITY, - &ext3_xattr_security_handler); -out1: -#endif - ext3_xattr_unregister(EXT3_XATTR_INDEX_TRUSTED, - &ext3_xattr_trusted_handler); -out: - ext3_xattr_unregister(EXT3_XATTR_INDEX_USER, - &ext3_xattr_user_handler); - return err; } void @@ -1239,15 +1104,4 @@ exit_ext3_xattr(void) if (ext3_xattr_cache) mb_cache_destroy(ext3_xattr_cache); ext3_xattr_cache = NULL; -#ifdef CONFIG_EXT3_FS_POSIX_ACL - exit_ext3_acl(); -#endif -#ifdef CONFIG_EXT3_FS_SECURITY - ext3_xattr_unregister(EXT3_XATTR_INDEX_SECURITY, - &ext3_xattr_security_handler); -#endif - ext3_xattr_unregister(EXT3_XATTR_INDEX_TRUSTED, - &ext3_xattr_trusted_handler); - ext3_xattr_unregister(EXT3_XATTR_INDEX_USER, - &ext3_xattr_user_handler); } diff --git a/fs/ext3/xattr.h b/fs/ext3/xattr.h index 2aabe9f59..6ca51c0e6 100644 --- a/fs/ext3/xattr.h +++ b/fs/ext3/xattr.h @@ -56,23 +56,13 @@ struct ext3_xattr_entry { # ifdef CONFIG_EXT3_FS_XATTR -struct ext3_xattr_handler { - char *prefix; - size_t (*list)(char *list, struct inode *inode, const char *name, - int name_len); - int (*get)(struct inode *inode, const char *name, void *buffer, - size_t size); - int (*set)(struct inode *inode, const char *name, const void *buffer, - size_t size, int flags); -}; - -extern int ext3_xattr_register(int, struct ext3_xattr_handler *); -extern void ext3_xattr_unregister(int, struct ext3_xattr_handler *); +extern struct xattr_handler ext3_xattr_user_handler; +extern struct xattr_handler ext3_xattr_trusted_handler; +extern struct xattr_handler ext3_xattr_acl_access_handler; +extern struct xattr_handler ext3_xattr_acl_default_handler; +extern struct xattr_handler ext3_xattr_security_handler; -extern int ext3_setxattr(struct dentry *, const char *, const void *, size_t, int); -extern ssize_t ext3_getxattr(struct dentry *, const char *, void *, size_t); extern ssize_t ext3_listxattr(struct dentry *, char *, size_t); -extern int ext3_removexattr(struct dentry *, const char *); extern int ext3_xattr_get(struct inode *, int, const char *, void *, size_t); extern int ext3_xattr_list(struct inode *, char *, size_t); @@ -85,11 +75,9 @@ extern void ext3_xattr_put_super(struct super_block *); extern int init_ext3_xattr(void); extern void exit_ext3_xattr(void); +extern struct xattr_handler *ext3_xattr_handlers[]; + # else /* CONFIG_EXT3_FS_XATTR */ -# define ext3_setxattr NULL -# define ext3_getxattr NULL -# define ext3_listxattr NULL -# define ext3_removexattr NULL static inline int ext3_xattr_get(struct inode *inode, int name_index, const char *name, @@ -139,8 +127,6 @@ exit_ext3_xattr(void) { } -# endif /* CONFIG_EXT3_FS_XATTR */ +#define ext3_xattr_handlers NULL -extern struct ext3_xattr_handler ext3_xattr_user_handler; -extern struct ext3_xattr_handler ext3_xattr_trusted_handler; -extern struct ext3_xattr_handler ext3_xattr_security_handler; +# endif /* CONFIG_EXT3_FS_XATTR */ diff --git a/fs/ext3/xattr_security.c b/fs/ext3/xattr_security.c index c948effaa..ddc1c4175 100644 --- a/fs/ext3/xattr_security.c +++ b/fs/ext3/xattr_security.c @@ -12,17 +12,19 @@ #include "xattr.h" static size_t -ext3_xattr_security_list(char *list, struct inode *inode, - const char *name, int name_len) +ext3_xattr_security_list(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { - const int prefix_len = sizeof(XATTR_SECURITY_PREFIX)-1; + const size_t prefix_len = sizeof(XATTR_SECURITY_PREFIX)-1; + const size_t total_len = prefix_len + name_len + 1; - if (list) { + + if (list && total_len <= list_size) { memcpy(list, XATTR_SECURITY_PREFIX, prefix_len); memcpy(list+prefix_len, name, name_len); list[prefix_len + name_len] = '\0'; } - return prefix_len + name_len + 1; + return total_len; } static int @@ -45,7 +47,7 @@ ext3_xattr_security_set(struct inode *inode, const char *name, value, size, flags); } -struct ext3_xattr_handler ext3_xattr_security_handler = { +struct xattr_handler ext3_xattr_security_handler = { .prefix = XATTR_SECURITY_PREFIX, .list = ext3_xattr_security_list, .get = ext3_xattr_security_get, diff --git a/fs/ext3/xattr_trusted.c b/fs/ext3/xattr_trusted.c index 45b1549c4..f68bfd1cf 100644 --- a/fs/ext3/xattr_trusted.c +++ b/fs/ext3/xattr_trusted.c @@ -16,20 +16,21 @@ #define XATTR_TRUSTED_PREFIX "trusted." static size_t -ext3_xattr_trusted_list(char *list, struct inode *inode, - const char *name, int name_len) +ext3_xattr_trusted_list(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { - const int prefix_len = sizeof(XATTR_TRUSTED_PREFIX)-1; + const size_t prefix_len = sizeof(XATTR_TRUSTED_PREFIX)-1; + const size_t total_len = prefix_len + name_len + 1; if (!capable(CAP_SYS_ADMIN)) return 0; - if (list) { + if (list && total_len <= list_size) { memcpy(list, XATTR_TRUSTED_PREFIX, prefix_len); memcpy(list+prefix_len, name, name_len); list[prefix_len + name_len] = '\0'; } - return prefix_len + name_len + 1; + return total_len; } static int @@ -56,7 +57,7 @@ ext3_xattr_trusted_set(struct inode *inode, const char *name, value, size, flags); } -struct ext3_xattr_handler ext3_xattr_trusted_handler = { +struct xattr_handler ext3_xattr_trusted_handler = { .prefix = XATTR_TRUSTED_PREFIX, .list = ext3_xattr_trusted_list, .get = ext3_xattr_trusted_get, diff --git a/fs/ext3/xattr_user.c b/fs/ext3/xattr_user.c index 84877afff..e907cae7a 100644 --- a/fs/ext3/xattr_user.c +++ b/fs/ext3/xattr_user.c @@ -16,20 +16,21 @@ #define XATTR_USER_PREFIX "user." static size_t -ext3_xattr_user_list(char *list, struct inode *inode, - const char *name, int name_len) +ext3_xattr_user_list(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len) { - const int prefix_len = sizeof(XATTR_USER_PREFIX)-1; + const size_t prefix_len = sizeof(XATTR_USER_PREFIX)-1; + const size_t total_len = prefix_len + name_len + 1; if (!test_opt(inode->i_sb, XATTR_USER)) return 0; - if (list) { + if (list && total_len <= list_size) { memcpy(list, XATTR_USER_PREFIX, prefix_len); memcpy(list+prefix_len, name, name_len); list[prefix_len + name_len] = '\0'; } - return prefix_len + name_len + 1; + return total_len; } static int @@ -70,7 +71,7 @@ ext3_xattr_user_set(struct inode *inode, const char *name, value, size, flags); } -struct ext3_xattr_handler ext3_xattr_user_handler = { +struct xattr_handler ext3_xattr_user_handler = { .prefix = XATTR_USER_PREFIX, .list = ext3_xattr_user_list, .get = ext3_xattr_user_get, diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 993d50c0d..184cdc0a3 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c @@ -22,6 +22,10 @@ #include +static int fat_dir_ioctl(struct inode * inode, struct file * filp, + unsigned int cmd, unsigned long arg); +static int fat_readdir(struct file *filp, void *dirent, filldir_t filldir); + struct file_operations fat_dir_operations = { .read = generic_read_dir, .readdir = fat_readdir, @@ -567,7 +571,7 @@ out: return ret; } -int fat_readdir(struct file *filp, void *dirent, filldir_t filldir) +static int fat_readdir(struct file *filp, void *dirent, filldir_t filldir) { struct inode *inode = filp->f_dentry->d_inode; return fat_readdirx(inode, filp, dirent, filldir, 0, 0); @@ -624,7 +628,7 @@ efault: return -EFAULT; } -int fat_dir_ioctl(struct inode * inode, struct file * filp, +static int fat_dir_ioctl(struct inode * inode, struct file * filp, unsigned int cmd, unsigned long arg) { struct fat_ioctl_filldir_callback buf; diff --git a/fs/fat/fatfs_syms.c b/fs/fat/fatfs_syms.c index aba880e20..6df55e272 100644 --- a/fs/fat/fatfs_syms.c +++ b/fs/fat/fatfs_syms.c @@ -12,26 +12,17 @@ #include EXPORT_SYMBOL(fat_new_dir); -EXPORT_SYMBOL(fat_get_block); -EXPORT_SYMBOL(fat_clear_inode); EXPORT_SYMBOL(fat_date_unix2dos); -EXPORT_SYMBOL(fat_delete_inode); EXPORT_SYMBOL(fat__get_entry); EXPORT_SYMBOL(fat_notify_change); -EXPORT_SYMBOL(fat_put_super); EXPORT_SYMBOL(fat_attach); EXPORT_SYMBOL(fat_detach); EXPORT_SYMBOL(fat_build_inode); EXPORT_SYMBOL(fat_fill_super); EXPORT_SYMBOL(fat_search_long); -EXPORT_SYMBOL(fat_readdir); EXPORT_SYMBOL(fat_scan); -EXPORT_SYMBOL(fat_statfs); -EXPORT_SYMBOL(fat_write_inode); -EXPORT_SYMBOL(fat_dir_ioctl); EXPORT_SYMBOL(fat_add_entries); EXPORT_SYMBOL(fat_dir_empty); -EXPORT_SYMBOL(fat_truncate); int __init fat_init_inodecache(void); void __exit fat_destroy_inodecache(void); diff --git a/fs/fat/file.c b/fs/fat/file.c index ba1707a5c..3b48219ae 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c @@ -90,12 +90,6 @@ void fat_truncate(struct inode *inode) const unsigned int cluster_size = sbi->cluster_size; int nr_clusters; - /* Why no return value? Surely the disk could fail... */ - if (IS_RDONLY (inode)) - return /* -EPERM */; - if (IS_IMMUTABLE(inode)) - return /* -EPERM */; - /* * This protects against truncating a file bigger than it was then * trying to write into the hole. diff --git a/fs/fat/inode.c b/fs/fat/inode.c index c0fc6b7d6..833a45c3d 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c @@ -31,6 +31,9 @@ static int fat_default_codepage = CONFIG_FAT_DEFAULT_CODEPAGE; static char fat_default_iocharset[] = CONFIG_FAT_DEFAULT_IOCHARSET; +static int fat_statfs(struct super_block *sb, struct kstatfs *buf); +static int fat_write_inode(struct inode *inode, int wait); + /* * New FAT inode stuff. We do the following: * a) i_ino is constant and has nothing with on-disk location. @@ -59,7 +62,7 @@ static char fat_default_iocharset[] = CONFIG_FAT_DEFAULT_IOCHARSET; #define FAT_HASH_SIZE (1UL << FAT_HASH_BITS) #define FAT_HASH_MASK (FAT_HASH_SIZE-1) static struct list_head fat_inode_hashtable[FAT_HASH_SIZE]; -spinlock_t fat_inode_lock = SPIN_LOCK_UNLOCKED; +static spinlock_t fat_inode_lock = SPIN_LOCK_UNLOCKED; void fat_hash_init(void) { @@ -143,7 +146,7 @@ out: return inode; } -void fat_delete_inode(struct inode *inode) +static void fat_delete_inode(struct inode *inode) { if (!is_bad_inode(inode)) { inode->i_size = 0; @@ -152,7 +155,7 @@ void fat_delete_inode(struct inode *inode) clear_inode(inode); } -void fat_clear_inode(struct inode *inode) +static void fat_clear_inode(struct inode *inode) { if (is_bad_inode(inode)) return; @@ -164,7 +167,7 @@ void fat_clear_inode(struct inode *inode) unlock_kernel(); } -void fat_put_super(struct super_block *sb) +static void fat_put_super(struct super_block *sb) { struct msdos_sb_info *sbi = MSDOS_SB(sb); @@ -579,12 +582,11 @@ static int fat_read_root(struct inode *inode) * of i_logstart is used to store the directory entry offset. */ -struct dentry *fat_decode_fh(struct super_block *sb, __u32 *fh, - int len, int fhtype, - int (*acceptable)(void *context, struct dentry *de), - void *context) +static struct dentry * +fat_decode_fh(struct super_block *sb, __u32 *fh, int len, int fhtype, + int (*acceptable)(void *context, struct dentry *de), + void *context) { - if (fhtype != 3) return ERR_PTR(-ESTALE); if (len < 5) @@ -593,7 +595,7 @@ struct dentry *fat_decode_fh(struct super_block *sb, __u32 *fh, return sb->s_export_op->find_exported_dentry(sb, fh, NULL, acceptable, context); } -struct dentry *fat_get_dentry(struct super_block *sb, void *inump) +static struct dentry *fat_get_dentry(struct super_block *sb, void *inump) { struct inode *inode = NULL; struct dentry *result; @@ -653,7 +655,8 @@ struct dentry *fat_get_dentry(struct super_block *sb, void *inump) return result; } -int fat_encode_fh(struct dentry *de, __u32 *fh, int *lenp, int connectable) +static int +fat_encode_fh(struct dentry *de, __u32 *fh, int *lenp, int connectable) { int len = *lenp; struct inode *inode = de->d_inode; @@ -676,7 +679,7 @@ int fat_encode_fh(struct dentry *de, __u32 *fh, int *lenp, int connectable) return 3; } -struct dentry *fat_get_parent(struct dentry *child) +static struct dentry *fat_get_parent(struct dentry *child) { struct buffer_head *bh=NULL; struct msdos_dir_entry *de = NULL; @@ -744,7 +747,7 @@ int __init fat_init_inodecache(void) { fat_inode_cachep = kmem_cache_create("fat_inode_cache", sizeof(struct msdos_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (fat_inode_cachep == NULL) return -ENOMEM; @@ -857,7 +860,7 @@ int fat_fill_super(struct super_block *sb, void *data, int silent, brelse(bh); goto out_invalid; } - logical_sector_size = CF_LE_W(get_unaligned((u16 *)&b->sector_size)); + logical_sector_size = CF_LE_W(get_unaligned((__le16 *)&b->sector_size)); if (!logical_sector_size || (logical_sector_size & (logical_sector_size - 1)) || (logical_sector_size < 512) @@ -957,7 +960,7 @@ int fat_fill_super(struct super_block *sb, void *data, int silent, sbi->dir_per_block_bits = ffs(sbi->dir_per_block) - 1; sbi->dir_start = sbi->fat_start + sbi->fats * sbi->fat_length; - sbi->dir_entries = CF_LE_W(get_unaligned((u16 *)&b->dir_entries)); + sbi->dir_entries = CF_LE_W(get_unaligned((__le16 *)&b->dir_entries)); if (sbi->dir_entries & (sbi->dir_per_block - 1)) { if (!silent) printk(KERN_ERR "FAT: bogus directroy-entries per block" @@ -969,7 +972,7 @@ int fat_fill_super(struct super_block *sb, void *data, int silent, rootdir_sectors = sbi->dir_entries * sizeof(struct msdos_dir_entry) / sb->s_blocksize; sbi->data_start = sbi->dir_start + rootdir_sectors; - total_sectors = CF_LE_W(get_unaligned((u16 *)&b->sectors)); + total_sectors = CF_LE_W(get_unaligned((__le16 *)&b->sectors)); if (total_sectors == 0) total_sectors = CF_LE_L(b->total_sect); @@ -1003,6 +1006,8 @@ int fat_fill_super(struct super_block *sb, void *data, int silent, /* all is as it should be */ } else if (media == 0xf8 && FAT_FIRST_ENT(sb, 0xfe) == first) { /* bad, reported on pc9800 */ + } else if (media == 0xf8 && FAT_FIRST_ENT(sb, 0xff) == first) { + /* bad, reported on Nokia phone with USB storage */ } else if (media == 0xf0 && FAT_FIRST_ENT(sb, 0xf8) == first) { /* bad, reported with a MO disk on win95/me */ } else if (first == 0) { @@ -1072,7 +1077,7 @@ out_fail: return error; } -int fat_statfs(struct super_block *sb, struct kstatfs *buf) +static int fat_statfs(struct super_block *sb, struct kstatfs *buf) { int free, nr, ret; @@ -1227,7 +1232,7 @@ static int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de) return 0; } -void fat_write_inode(struct inode *inode, int wait) +int fat_write_inode(struct inode *inode, int wait) { struct super_block *sb = inode->i_sb; struct buffer_head *bh; @@ -1237,14 +1242,14 @@ void fat_write_inode(struct inode *inode, int wait) retry: i_pos = MSDOS_I(inode)->i_pos; if (inode->i_ino == MSDOS_ROOT_INO || !i_pos) { - return; + return 0; } lock_kernel(); if (!(bh = sb_bread(sb, i_pos >> MSDOS_SB(sb)->dir_per_block_bits))) { printk(KERN_ERR "FAT: unable to read inode block " "for updating (i_pos %lld)\n", i_pos); unlock_kernel(); - return /* -EIO */; + return -EIO; } spin_lock(&fat_inode_lock); if (i_pos != MSDOS_I(inode)->i_pos) { @@ -1268,19 +1273,16 @@ retry: MSDOS_I(inode)->i_attrs; raw_entry->start = CT_LE_W(MSDOS_I(inode)->i_logstart); raw_entry->starthi = CT_LE_W(MSDOS_I(inode)->i_logstart >> 16); - fat_date_unix2dos(inode->i_mtime.tv_sec,&raw_entry->time,&raw_entry->date); - raw_entry->time = CT_LE_W(raw_entry->time); - raw_entry->date = CT_LE_W(raw_entry->date); + fat_date_unix2dos(inode->i_mtime.tv_sec, &raw_entry->time, &raw_entry->date); if (MSDOS_SB(sb)->options.isvfat) { fat_date_unix2dos(inode->i_ctime.tv_sec,&raw_entry->ctime,&raw_entry->cdate); raw_entry->ctime_ms = MSDOS_I(inode)->i_ctime_ms; /* use i_ctime.tv_nsec? */ - raw_entry->ctime = CT_LE_W(raw_entry->ctime); - raw_entry->cdate = CT_LE_W(raw_entry->cdate); } spin_unlock(&fat_inode_lock); mark_buffer_dirty(bh); brelse(bh); unlock_kernel(); + return 0; } diff --git a/fs/fcntl.c b/fs/fcntl.c index a7966c9be..a769c01a7 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -297,8 +297,6 @@ void f_delown(struct file *filp) f_modown(filp, 0, 0, 0, 1); } -EXPORT_SYMBOL(f_delown); - static long do_fcntl(int fd, unsigned int cmd, unsigned long arg, struct file *filp) { @@ -439,11 +437,12 @@ static long band_table[NSIGPOLL] = { }; static inline int sigio_perm(struct task_struct *p, - struct fown_struct *fown) + struct fown_struct *fown, int sig) { - return ((fown->euid == 0) || + return (((fown->euid == 0) || (fown->euid == p->suid) || (fown->euid == p->uid) || - (fown->uid == p->suid) || (fown->uid == p->uid)); + (fown->uid == p->suid) || (fown->uid == p->uid)) && + !security_file_send_sigiotask(p, fown, sig)); } static void send_sigio_to_task(struct task_struct *p, @@ -451,10 +450,7 @@ static void send_sigio_to_task(struct task_struct *p, int fd, int reason) { - if (!sigio_perm(p, fown)) - return; - - if (security_file_send_sigiotask(p, fown, fd, reason)) + if (!sigio_perm(p, fown, fown->signum)) return; switch (fown->signum) { @@ -499,16 +495,14 @@ void send_sigio(struct fown_struct *fown, int fd, int band) read_lock(&tasklist_lock); if (pid > 0) { - p = find_task_by_pid(pid); + p = find_task_by_real_pid(pid); if (p) { send_sigio_to_task(p, fown, fd, band); } } else { - struct list_head *l; - struct pid *pidptr; - for_each_task_pid(-pid, PIDTYPE_PGID, p, l, pidptr) { + do_each_task_pid(-pid, PIDTYPE_PGID, p) { send_sigio_to_task(p, fown, fd, band); - } + } while_each_task_pid(-pid, PIDTYPE_PGID, p); } read_unlock(&tasklist_lock); out_unlock_fown: @@ -518,7 +512,7 @@ void send_sigio(struct fown_struct *fown, int fd, int band) static void send_sigurg_to_task(struct task_struct *p, struct fown_struct *fown) { - if (sigio_perm(p, fown)) + if (sigio_perm(p, fown, SIGURG)) send_group_sig_info(SIGURG, SEND_SIG_PRIV, p); } @@ -536,16 +530,14 @@ int send_sigurg(struct fown_struct *fown) read_lock(&tasklist_lock); if (pid > 0) { - p = find_task_by_pid(pid); + p = find_task_by_real_pid(pid); if (p) { send_sigurg_to_task(p, fown); } } else { - struct list_head *l; - struct pid *pidptr; - for_each_task_pid(-pid, PIDTYPE_PGID, p, l, pidptr) { + do_each_task_pid(-pid, PIDTYPE_PGID, p) { send_sigurg_to_task(p, fown); - } + } while_each_task_pid(-pid, PIDTYPE_PGID, p); } read_unlock(&tasklist_lock); out_unlock_fown: diff --git a/fs/file_table.c b/fs/file_table.c index 8996d4d11..75c94a47f 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -17,6 +17,7 @@ #include #include #include +#include /* sysctl tunables... */ struct files_stat_struct files_stat = { @@ -25,11 +26,9 @@ struct files_stat_struct files_stat = { EXPORT_SYMBOL(files_stat); /* Needed by unix.o */ -/* public *and* exported. Not pretty! */ +/* public. Not pretty! */ spinlock_t __cacheline_aligned_in_smp files_lock = SPIN_LOCK_UNLOCKED; -EXPORT_SYMBOL(files_lock); - static spinlock_t filp_count_lock = SPIN_LOCK_UNLOCKED; /* slab constructors and destructors are called from arbitrary @@ -88,6 +87,8 @@ static int old_max; f->f_owner.lock = RW_LOCK_UNLOCKED; /* f->f_version: 0 */ INIT_LIST_HEAD(&f->f_list); + // set_vx_info(&f->f_vx_info, current->vx_info); + f->f_xid = current->xid; vx_files_inc(f); return f; } @@ -108,52 +109,6 @@ fail: EXPORT_SYMBOL(get_empty_filp); -/* - * Clear and initialize a (private) struct file for the given dentry, - * allocate the security structure, and call the open function (if any). - * The file should be released using close_private_file. - */ -int open_private_file(struct file *filp, struct dentry *dentry, int flags) -{ - int error; - memset(filp, 0, sizeof(*filp)); - eventpoll_init_file(filp); - filp->f_flags = flags; - filp->f_mode = ((flags+1) & O_ACCMODE) | FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE; - atomic_set(&filp->f_count, 1); - filp->f_dentry = dentry; - filp->f_mapping = dentry->d_inode->i_mapping; - filp->f_uid = current->fsuid; - filp->f_gid = current->fsgid; - filp->f_op = dentry->d_inode->i_fop; - INIT_LIST_HEAD(&filp->f_list); - error = security_file_alloc(filp); - if (!error) - if (filp->f_op && filp->f_op->open) { - error = filp->f_op->open(dentry->d_inode, filp); - if (error) - security_file_free(filp); - } - return error; -} - -EXPORT_SYMBOL(open_private_file); - -/* - * Release a private file by calling the release function (if any) and - * freeing the security structure. - */ -void close_private_file(struct file *file) -{ - struct inode * inode = file->f_dentry->d_inode; - - if (file->f_op && file->f_op->release) - file->f_op->release(inode, file); - security_file_free(file); -} - -EXPORT_SYMBOL(close_private_file); - void fastcall fput(struct file *file) { if (atomic_dec_and_test(&file->f_count)) @@ -171,6 +126,7 @@ void fastcall __fput(struct file *file) struct vfsmount *mnt = file->f_vfsmnt; struct inode *inode = dentry->d_inode; + might_sleep(); /* * The function eventpoll_release() should be the first called * in the file cleanup chain. @@ -187,6 +143,7 @@ void fastcall __fput(struct file *file) if (file->f_mode & FMODE_WRITE) put_write_access(inode); vx_files_dec(file); + file->f_xid = 0; file_kill(file); file->f_dentry = NULL; file->f_vfsmnt = NULL; @@ -242,13 +199,13 @@ void put_filp(struct file *file) { if (atomic_dec_and_test(&file->f_count)) { security_file_free(file); + vx_files_dec(file); + file->f_xid = 0; file_kill(file); file_free(file); } } -EXPORT_SYMBOL(put_filp); - void file_move(struct file *file, struct list_head *list) { if (!list) diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 136967605..a39a1d2c1 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -133,10 +133,11 @@ out: EXPORT_SYMBOL(__mark_inode_dirty); -static void write_inode(struct inode *inode, int sync) +static int write_inode(struct inode *inode, int sync) { if (inode->i_sb->s_op->write_inode && !is_bad_inode(inode)) - inode->i_sb->s_op->write_inode(inode, sync); + return inode->i_sb->s_op->write_inode(inode, sync); + return 0; } /* @@ -170,8 +171,11 @@ __sync_single_inode(struct inode *inode, struct writeback_control *wbc) ret = do_writepages(mapping, wbc); /* Don't write the inode if only I_DIRTY_PAGES was set */ - if (dirty & (I_DIRTY_SYNC | I_DIRTY_DATASYNC)) - write_inode(inode, wait); + if (dirty & (I_DIRTY_SYNC | I_DIRTY_DATASYNC)) { + int err = write_inode(inode, wait); + if (ret == 0) + ret = err; + } if (wait) { int err = filemap_fdatawait(mapping); @@ -304,14 +308,20 @@ sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc) long pages_skipped; if (bdi->memory_backed) { + list_move(&inode->i_list, &sb->s_dirty); if (sb == blockdev_superblock) { /* * Dirty memory-backed blockdev: the ramdisk - * driver does this. + * driver does this. Skip just this inode */ - list_move(&inode->i_list, &sb->s_dirty); continue; } + /* + * Dirty memory-backed inode against a filesystem other + * than the kernel-internal bdev filesystem. Skip the + * entire superblock. + */ + break; } if (wbc->nonblocking && bdi_write_congested(bdi)) { @@ -394,7 +404,6 @@ writeback_inodes(struct writeback_control *wbc) struct super_block *sb; might_sleep(); - spin_lock(&inode_lock); spin_lock(&sb_lock); restart: sb = sb_entry(super_blocks.prev); @@ -409,19 +418,21 @@ restart: * be unmounted by the time it is released. */ if (down_read_trylock(&sb->s_umount)) { - if (sb->s_root) + if (sb->s_root) { + spin_lock(&inode_lock); sync_sb_inodes(sb, wbc); + spin_unlock(&inode_lock); + } up_read(&sb->s_umount); } spin_lock(&sb_lock); - if (__put_super(sb)) + if (__put_super_and_need_restart(sb)) goto restart; } if (wbc->nr_to_write <= 0) break; } spin_unlock(&sb_lock); - spin_unlock(&inode_lock); } /* @@ -573,6 +584,7 @@ int sync_inode(struct inode *inode, struct writeback_control *wbc) { int ret; + might_sleep(); spin_lock(&inode_lock); ret = __writeback_single_inode(inode, wbc); spin_unlock(&inode_lock); diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c index d38e18c2f..b21c09b78 100644 --- a/fs/hfs/catalog.c +++ b/fs/hfs/catalog.c @@ -35,7 +35,7 @@ void hfs_cat_build_key(btree_key *key, u32 parent, struct qstr *name) int hfs_cat_build_record(hfs_cat_rec *rec, u32 cnid, struct inode *inode) { - u32 mtime = hfs_mtime(); + __be32 mtime = hfs_mtime(); memset(rec, 0, sizeof(*rec)); if (S_ISDIR(inode->i_mode)) { diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c index 4ff20bcc4..6c869f377 100644 --- a/fs/hfs/inode.c +++ b/fs/hfs/inode.c @@ -210,14 +210,14 @@ void hfs_delete_inode(struct inode *inode) dprint(DBG_INODE, "delete_inode: %lu\n", inode->i_ino); if (S_ISDIR(inode->i_mode)) { HFS_SB(sb)->folder_count--; - if (HFS_I(inode)->cat_key.ParID == be32_to_cpu(HFS_ROOT_CNID)) + if (HFS_I(inode)->cat_key.ParID == cpu_to_be32(HFS_ROOT_CNID)) HFS_SB(sb)->root_dirs--; set_bit(HFS_FLG_MDB_DIRTY, &HFS_SB(sb)->flags); sb->s_dirt = 1; return; } HFS_SB(sb)->file_count--; - if (HFS_I(inode)->cat_key.ParID == be32_to_cpu(HFS_ROOT_CNID)) + if (HFS_I(inode)->cat_key.ParID == cpu_to_be32(HFS_ROOT_CNID)) HFS_SB(sb)->root_files--; if (S_ISREG(inode->i_mode)) { if (!inode->i_nlink) { @@ -230,9 +230,10 @@ void hfs_delete_inode(struct inode *inode) } void hfs_inode_read_fork(struct inode *inode, struct hfs_extent *ext, - u32 log_size, u32 phys_size, u32 clump_size) + __be32 __log_size, __be32 phys_size, u32 clump_size) { struct super_block *sb = inode->i_sb; + u32 log_size = be32_to_cpu(__log_size); u16 count; int i; @@ -241,7 +242,6 @@ void hfs_inode_read_fork(struct inode *inode, struct hfs_extent *ext, count += be16_to_cpu(ext[i].count); HFS_I(inode)->first_blocks = count; - log_size = be32_to_cpu(log_size); inode->i_size = HFS_I(inode)->phys_size = log_size; inode->i_blocks = (log_size + sb->s_blocksize - 1) >> sb->s_blocksize_bits; HFS_I(inode)->alloc_blocks = be32_to_cpu(phys_size) / @@ -370,7 +370,7 @@ struct inode *hfs_iget(struct super_block *sb, struct hfs_cat_key *key, hfs_cat_ } void hfs_inode_write_fork(struct inode *inode, struct hfs_extent *ext, - u32 *log_size, u32 *phys_size) + __be32 *log_size, __be32 *phys_size) { memcpy(ext, HFS_I(inode)->first_extents, sizeof(hfs_extent_rec)); @@ -381,7 +381,7 @@ void hfs_inode_write_fork(struct inode *inode, struct hfs_extent *ext, HFS_SB(inode->i_sb)->alloc_blksz); } -void hfs_write_inode(struct inode *inode, int unused) +int hfs_write_inode(struct inode *inode, int unused) { struct hfs_find_data fd; hfs_cat_rec rec; @@ -395,27 +395,27 @@ void hfs_write_inode(struct inode *inode, int unused) break; case HFS_EXT_CNID: hfs_btree_write(HFS_SB(inode->i_sb)->ext_tree); - return; + return 0; case HFS_CAT_CNID: hfs_btree_write(HFS_SB(inode->i_sb)->cat_tree); - return; + return 0; default: BUG(); - return; + return -EIO; } } if (HFS_IS_RSRC(inode)) { mark_inode_dirty(HFS_I(inode)->rsrc_inode); - return; + return 0; } if (!inode->i_nlink) - return; + return 0; if (hfs_find_init(HFS_SB(inode->i_sb)->cat_tree, &fd)) /* panic? */ - return; + return -EIO; fd.search_key->cat = HFS_I(inode)->cat_key; if (hfs_brec_find(&fd)) @@ -460,6 +460,7 @@ void hfs_write_inode(struct inode *inode, int unused) } out: hfs_find_exit(&fd); + return 0; } static struct dentry *hfs_file_lookup(struct inode *dir, struct dentry *dentry, @@ -609,6 +610,7 @@ struct file_operations hfs_file_operations = { .read = generic_file_read, .write = generic_file_write, .mmap = generic_file_mmap, + .sendfile = generic_file_sendfile, .fsync = file_fsync, .open = hfs_file_open, .release = hfs_file_release, diff --git a/fs/hfs/super.c b/fs/hfs/super.c index 345651903..c773aa763 100644 --- a/fs/hfs/super.c +++ b/fs/hfs/super.c @@ -152,8 +152,7 @@ static int parse_options(char *options, struct hfs_sb_info *hsb) hsb->s_gid = current->gid; hsb->s_file_umask = 0644; hsb->s_dir_umask = 0755; - hsb->s_type = 0x3f3f3f3f; /* == '????' */ - hsb->s_creator = 0x3f3f3f3f; /* == '????' */ + hsb->s_type = hsb->s_creator = cpu_to_be32(0x3f3f3f3f); /* == '????' */ hsb->s_quiet = 0; hsb->part = -1; hsb->session = -1; @@ -216,11 +215,11 @@ static int parse_options(char *options, struct hfs_sb_info *hsb) } else if (!strcmp(this_char, "type") && value) { if (strlen(value) != 4) return 0; - hsb->s_type = *(u32 *)value; + memcpy(&hsb->s_type, value, 4); } else if (!strcmp(this_char, "creator") && value) { if (strlen(value) != 4) return 0; - hsb->s_creator = *(u32 *)value; + memcpy(&hsb->s_creator, value, 4); /* Boolean-valued options */ } else if (!strcmp(this_char, "quiet")) { if (value) diff --git a/fs/hfsplus/bnode.c b/fs/hfsplus/bnode.c index 5ce5d7713..e0edb707c 100644 --- a/fs/hfsplus/bnode.c +++ b/fs/hfsplus/bnode.c @@ -44,7 +44,7 @@ void hfs_bnode_read(struct hfs_bnode *node, void *buf, int off, int len) u16 hfs_bnode_read_u16(struct hfs_bnode *node, int off) { - u16 data; + __be16 data; // optimize later... hfs_bnode_read(node, &data, off, 2); return be16_to_cpu(data); @@ -55,7 +55,7 @@ u8 hfs_bnode_read_u8(struct hfs_bnode *node, int off) u8 data; // optimize later... hfs_bnode_read(node, &data, off, 1); - return be16_to_cpu(data); + return data; } void hfs_bnode_read_key(struct hfs_bnode *node, void *key, int off) @@ -98,9 +98,9 @@ void hfs_bnode_write(struct hfs_bnode *node, void *buf, int off, int len) void hfs_bnode_write_u16(struct hfs_bnode *node, int off, u16 data) { - data = cpu_to_be16(data); + __be16 v = cpu_to_be16(data); // optimize later... - hfs_bnode_write(node, &data, off, 2); + hfs_bnode_write(node, &v, off, 2); } void hfs_bnode_clear(struct hfs_bnode *node, int off, int len) @@ -297,7 +297,7 @@ void hfs_bnode_move(struct hfs_bnode *node, int dst, int src, int len) void hfs_bnode_dump(struct hfs_bnode *node) { struct hfs_bnode_desc desc; - u32 cnid; + __be32 cnid; int i, off, key_off; dprint(DBG_BNODE_MOD, "bnode: %d\n", node->this); @@ -334,7 +334,7 @@ void hfs_bnode_unlink(struct hfs_bnode *node) { struct hfs_btree *tree; struct hfs_bnode *tmp; - u32 cnid; + __be32 cnid; tree = node->tree; if (node->prev) { diff --git a/fs/hfsplus/brec.c b/fs/hfsplus/brec.c index 8e1fc76ca..f5df0a3b2 100644 --- a/fs/hfsplus/brec.c +++ b/fs/hfsplus/brec.c @@ -14,7 +14,7 @@ /* Get the length and offset of the given record in the given node */ u16 hfs_brec_lenoff(struct hfs_bnode *node, u16 rec, u16 *off) { - u16 retval[2]; + __be16 retval[2]; u16 dataoff; dataoff = node->tree->node_size - (rec + 2) * 2; @@ -53,7 +53,7 @@ int hfs_brec_insert(struct hfs_find_data *fd, void *entry, int entry_len) int size, key_len, rec; int data_off, end_off; int idx_rec_off, data_rec_off, end_rec_off; - u32 cnid; + __be32 cnid; tree = fd->tree; if (!fd->bnode) { @@ -387,7 +387,7 @@ skip: node = parent; if (new_node) { - u32 cnid; + __be32 cnid; fd->bnode = hfs_bnode_find(tree, new_node->parent); /* create index key and entry */ @@ -419,7 +419,7 @@ int hfs_btree_inc_height(struct hfs_btree *tree) struct hfs_bnode *node, *new_node; struct hfs_bnode_desc node_desc; int key_size, rec; - u32 cnid; + __be32 cnid; node = NULL; if (tree->root) { diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c index 9bb1055f1..b6c6cdb63 100644 --- a/fs/hfsplus/catalog.c +++ b/fs/hfsplus/catalog.c @@ -15,7 +15,7 @@ int hfsplus_cat_cmp_key(hfsplus_btree_key *k1, hfsplus_btree_key *k2) { - u32 k1p, k2p; + __be32 k1p, k2p; k1p = k1->cat.parent; k2p = k2->cat.parent; @@ -34,8 +34,10 @@ void hfsplus_cat_build_key(hfsplus_btree_key *key, u32 parent, if (str) { hfsplus_asc2uni(&key->cat.name, str->name, str->len); len = be16_to_cpu(key->cat.name.length); - } else - len = key->cat.name.length = 0; + } else { + key->cat.name.length = 0; + len = 0; + } key->key_len = cpu_to_be16(6 + 2 * len); } diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c index 5dc9bdbd1..eff1c987b 100644 --- a/fs/hfsplus/inode.c +++ b/fs/hfsplus/inode.c @@ -308,6 +308,7 @@ struct file_operations hfsplus_file_operations = { .read = generic_file_read, .write = generic_file_write, .mmap = generic_file_mmap, + .sendfile = generic_file_sendfile, .fsync = file_fsync, .open = hfsplus_file_open, .release = hfsplus_file_release, @@ -483,22 +484,22 @@ int hfsplus_cat_read_inode(struct inode *inode, struct hfs_find_data *fd) return res; } -void hfsplus_cat_write_inode(struct inode *inode) +int hfsplus_cat_write_inode(struct inode *inode) { struct hfs_find_data fd; hfsplus_cat_entry entry; if (HFSPLUS_IS_RSRC(inode)) { mark_inode_dirty(HFSPLUS_I(inode).rsrc_inode); - return; + return 0; } if (!inode->i_nlink) - return; + return 0; if (hfs_find_init(HFSPLUS_SB(inode->i_sb).cat_tree, &fd)) /* panic? */ - return; + return -EIO; if (hfsplus_find_cat(inode->i_sb, inode->i_ino, &fd)) /* panic? */ @@ -546,4 +547,5 @@ void hfsplus_cat_write_inode(struct inode *inode) } out: hfs_find_exit(&fd); + return 0; } diff --git a/fs/hfsplus/wrapper.c b/fs/hfsplus/wrapper.c index 777db1122..0c51d6338 100644 --- a/fs/hfsplus/wrapper.c +++ b/fs/hfsplus/wrapper.c @@ -30,22 +30,22 @@ static int hfsplus_read_mdb(void *bufptr, struct hfsplus_wd *wd) u32 extent; u16 attrib; - if (be16_to_cpu(*(u16 *)(bufptr + HFSP_WRAPOFF_EMBEDSIG)) != HFSPLUS_VOLHEAD_SIG) + if (be16_to_cpu(*(__be16 *)(bufptr + HFSP_WRAPOFF_EMBEDSIG)) != HFSPLUS_VOLHEAD_SIG) return 0; - attrib = be16_to_cpu(*(u16 *)(bufptr + HFSP_WRAPOFF_ATTRIB)); + attrib = be16_to_cpu(*(__be16 *)(bufptr + HFSP_WRAPOFF_ATTRIB)); if (!(attrib & HFSP_WRAP_ATTRIB_SLOCK) || !(attrib & HFSP_WRAP_ATTRIB_SPARED)) return 0; - wd->ablk_size = be32_to_cpu(*(u32 *)(bufptr + HFSP_WRAPOFF_ABLKSIZE)); + wd->ablk_size = be32_to_cpu(*(__be32 *)(bufptr + HFSP_WRAPOFF_ABLKSIZE)); if (wd->ablk_size < HFSPLUS_SECTOR_SIZE) return 0; if (wd->ablk_size % HFSPLUS_SECTOR_SIZE) return 0; - wd->ablk_start = be16_to_cpu(*(u16 *)(bufptr + HFSP_WRAPOFF_ABLKSTART)); + wd->ablk_start = be16_to_cpu(*(__be16 *)(bufptr + HFSP_WRAPOFF_ABLKSTART)); - extent = be32_to_cpu(get_unaligned((u32 *)(bufptr + HFSP_WRAPOFF_EMBEDEXT))); + extent = be32_to_cpu(get_unaligned((__be32 *)(bufptr + HFSP_WRAPOFF_EMBEDEXT))); wd->embed_start = (extent >> 16) & 0xFFFF; wd->embed_count = extent & 0xFFFF; diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c new file mode 100644 index 000000000..7d42da0a3 --- /dev/null +++ b/fs/hostfs/hostfs_kern.c @@ -0,0 +1,1030 @@ +/* + * Copyright (C) 2000, 2001, 2002 Jeff Dike (jdike@karaya.com) + * Licensed under the GPL + * + * Ported the filesystem routines to 2.5. + * 2003-02-10 Petr Baudis + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "hostfs.h" +#include "kern_util.h" +#include "kern.h" +#include "user_util.h" +#include "2_5compat.h" +#include "init.h" + +struct hostfs_inode_info { + char *host_filename; + int fd; + int mode; + struct inode vfs_inode; +}; + +static inline struct hostfs_inode_info *HOSTFS_I(struct inode *inode) +{ + return(list_entry(inode, struct hostfs_inode_info, vfs_inode)); +} + +#define FILE_HOSTFS_I(file) HOSTFS_I((file)->f_dentry->d_inode) + +int hostfs_d_delete(struct dentry *dentry) +{ + return(1); +} + +struct dentry_operations hostfs_dentry_ops = { + .d_delete = hostfs_d_delete, +}; + +/* Changed in hostfs_args before the kernel starts running */ +static char *root_ino = "/"; +static int append = 0; + +#define HOSTFS_SUPER_MAGIC 0x00c0ffee + +static struct inode_operations hostfs_iops; +static struct inode_operations hostfs_dir_iops; +static struct address_space_operations hostfs_link_aops; + +#ifndef MODULE +static int __init hostfs_args(char *options, int *add) +{ + char *ptr; + + ptr = strchr(options, ','); + if(ptr != NULL) + *ptr++ = '\0'; + if(*options != '\0') + root_ino = options; + + options = ptr; + while(options){ + ptr = strchr(options, ','); + if(ptr != NULL) + *ptr++ = '\0'; + if(*options != '\0'){ + if(!strcmp(options, "append")) + append = 1; + else printf("hostfs_args - unsupported option - %s\n", + options); + } + options = ptr; + } + return(0); +} + +__uml_setup("hostfs=", hostfs_args, +"hostfs=,,...\n" +" This is used to set hostfs parameters. The root directory argument\n" +" is used to confine all hostfs mounts to within the specified directory\n" +" tree on the host. If this isn't specified, then a user inside UML can\n" +" mount anything on the host that's accessible to the user that's running\n" +" it.\n" +" The only flag currently supported is 'append', which specifies that all\n" +" files opened by hostfs will be opened in append mode.\n\n" +); +#endif + +static char *dentry_name(struct dentry *dentry, int extra) +{ + struct dentry *parent; + char *root, *name; + int len; + + len = 0; + parent = dentry; + while(parent->d_parent != parent){ + len += parent->d_name.len + 1; + parent = parent->d_parent; + } + + root = HOSTFS_I(parent->d_inode)->host_filename; + len += strlen(root); + name = kmalloc(len + extra + 1, GFP_KERNEL); + if(name == NULL) return(NULL); + + name[len] = '\0'; + parent = dentry; + while(parent->d_parent != parent){ + len -= parent->d_name.len + 1; + name[len] = '/'; + strncpy(&name[len + 1], parent->d_name.name, + parent->d_name.len); + parent = parent->d_parent; + } + strncpy(name, root, strlen(root)); + return(name); +} + +static char *inode_name(struct inode *ino, int extra) +{ + struct dentry *dentry; + + dentry = list_entry(ino->i_dentry.next, struct dentry, d_alias); + return(dentry_name(dentry, extra)); +} + +static int read_name(struct inode *ino, char *name) +{ + /* The non-int inode fields are copied into ints by stat_file and + * then copied into the inode because passing the actual pointers + * in and having them treated as int * breaks on big-endian machines + */ + int err; + int i_mode, i_nlink, i_blksize; + unsigned long long i_size; + unsigned long long i_ino; + unsigned long long i_blocks; + + err = stat_file(name, &i_ino, &i_mode, &i_nlink, &ino->i_uid, + &ino->i_gid, &i_size, &ino->i_atime, &ino->i_mtime, + &ino->i_ctime, &i_blksize, &i_blocks); + if(err) + return(err); + + ino->i_ino = i_ino; + ino->i_mode = i_mode; + ino->i_nlink = i_nlink; + ino->i_size = i_size; + ino->i_blksize = i_blksize; + ino->i_blocks = i_blocks; + if((ino->i_sb->s_dev == ROOT_DEV) && (ino->i_uid == getuid())) + ino->i_uid = 0; + return(0); +} + +static char *follow_link(char *link) +{ + int len, n; + char *name, *resolved, *end; + + len = 64; + while(1){ + n = -ENOMEM; + name = kmalloc(len, GFP_KERNEL); + if(name == NULL) + goto out; + + n = do_readlink(link, name, len); + if(n < len) + break; + len *= 2; + kfree(name); + } + if(n < 0) + goto out_free; + + if(*name == '/') + return(name); + + end = strrchr(link, '/'); + if(end == NULL) + return(name); + + *(end + 1) = '\0'; + len = strlen(link) + strlen(name) + 1; + + resolved = kmalloc(len, GFP_KERNEL); + if(resolved == NULL){ + n = -ENOMEM; + goto out_free; + } + + sprintf(resolved, "%s%s", link, name); + kfree(name); + kfree(link); + return(resolved); + + out_free: + kfree(name); + out: + return(ERR_PTR(n)); +} + +static int read_inode(struct inode *ino) +{ + char *name; + int err = 0; + + /* Unfortunately, we are called from iget() when we don't have a dentry + * allocated yet. + */ + if(list_empty(&ino->i_dentry)) + goto out; + + err = -ENOMEM; + name = inode_name(ino, 0); + if(name == NULL) + goto out; + + if(file_type(name, NULL, NULL) == OS_TYPE_SYMLINK){ + name = follow_link(name); + if(IS_ERR(name)){ + err = PTR_ERR(name); + goto out; + } + } + + err = read_name(ino, name); + kfree(name); + out: + return(err); +} + +int hostfs_statfs(struct super_block *sb, struct kstatfs *sf) +{ + /* do_statfs uses struct statfs64 internally, but the linux kernel + * struct statfs still has 32-bit versions for most of these fields, + * so we convert them here + */ + int err; + long long f_blocks; + long long f_bfree; + long long f_bavail; + long long f_files; + long long f_ffree; + + err = do_statfs(HOSTFS_I(sb->s_root->d_inode)->host_filename, + &sf->f_bsize, &f_blocks, &f_bfree, &f_bavail, &f_files, + &f_ffree, &sf->f_fsid, sizeof(sf->f_fsid), + &sf->f_namelen, sf->f_spare); + if(err) return(err); + sf->f_blocks = f_blocks; + sf->f_bfree = f_bfree; + sf->f_bavail = f_bavail; + sf->f_files = f_files; + sf->f_ffree = f_ffree; + sf->f_type = HOSTFS_SUPER_MAGIC; + return(0); +} + +static struct inode *hostfs_alloc_inode(struct super_block *sb) +{ + struct hostfs_inode_info *hi; + + hi = kmalloc(sizeof(*hi), GFP_KERNEL); + if(hi == NULL) + return(NULL); + + *hi = ((struct hostfs_inode_info) { .host_filename = NULL, + .fd = -1, + .mode = 0 }); + inode_init_once(&hi->vfs_inode); + return(&hi->vfs_inode); +} + +static void hostfs_delete_inode(struct inode *inode) +{ + if(HOSTFS_I(inode)->fd != -1) { + close_file(&HOSTFS_I(inode)->fd); + HOSTFS_I(inode)->fd = -1; + } + clear_inode(inode); +} + +static void hostfs_destroy_inode(struct inode *inode) +{ + if(HOSTFS_I(inode)->host_filename) + kfree(HOSTFS_I(inode)->host_filename); + + /*XXX: This should not happen, probably. The check is here for + * additional safety.*/ + if(HOSTFS_I(inode)->fd != -1) { + close_file(&HOSTFS_I(inode)->fd); + printk(KERN_DEBUG "Closing host fd in .destroy_inode\n"); + } + + kfree(HOSTFS_I(inode)); +} + +static void hostfs_read_inode(struct inode *inode) +{ + read_inode(inode); +} + +static struct super_operations hostfs_sbops = { + .alloc_inode = hostfs_alloc_inode, + .drop_inode = generic_delete_inode, + .delete_inode = hostfs_delete_inode, + .destroy_inode = hostfs_destroy_inode, + .read_inode = hostfs_read_inode, + .statfs = hostfs_statfs, +}; + +int hostfs_readdir(struct file *file, void *ent, filldir_t filldir) +{ + void *dir; + char *name; + unsigned long long next, ino; + int error, len; + + name = dentry_name(file->f_dentry, 0); + if(name == NULL) return(-ENOMEM); + dir = open_dir(name, &error); + kfree(name); + if(dir == NULL) return(-error); + next = file->f_pos; + while((name = read_dir(dir, &next, &ino, &len)) != NULL){ + error = (*filldir)(ent, name, len, file->f_pos, + ino, DT_UNKNOWN); + if(error) break; + file->f_pos = next; + } + close_dir(dir); + return(0); +} + +int hostfs_file_open(struct inode *ino, struct file *file) +{ + char *name; + int mode = 0, r = 0, w = 0, fd; + + mode = file->f_mode & (FMODE_READ | FMODE_WRITE); + if((mode & HOSTFS_I(ino)->mode) == mode) + return(0); + + /* The file may already have been opened, but with the wrong access, + * so this resets things and reopens the file with the new access. + */ + if(HOSTFS_I(ino)->fd != -1){ + close_file(&HOSTFS_I(ino)->fd); + HOSTFS_I(ino)->fd = -1; + } + + HOSTFS_I(ino)->mode |= mode; + if(HOSTFS_I(ino)->mode & FMODE_READ) + r = 1; + if(HOSTFS_I(ino)->mode & FMODE_WRITE) + w = 1; + if(w) + r = 1; + + name = dentry_name(file->f_dentry, 0); + if(name == NULL) + return(-ENOMEM); + + fd = open_file(name, r, w, append); + kfree(name); + if(fd < 0) return(fd); + FILE_HOSTFS_I(file)->fd = fd; + + return(0); +} + +int hostfs_fsync(struct file *file, struct dentry *dentry, int datasync) +{ + return(0); +} + +static struct file_operations hostfs_file_fops = { + .llseek = generic_file_llseek, + .read = generic_file_read, + .write = generic_file_write, + .mmap = generic_file_mmap, + .open = hostfs_file_open, + .release = NULL, + .fsync = hostfs_fsync, +}; + +static struct file_operations hostfs_dir_fops = { + .readdir = hostfs_readdir, + .read = generic_read_dir, +}; + +int hostfs_writepage(struct page *page, struct writeback_control *wbc) +{ + struct address_space *mapping = page->mapping; + struct inode *inode = mapping->host; + char *buffer; + unsigned long long base; + int count = PAGE_CACHE_SIZE; + int end_index = inode->i_size >> PAGE_CACHE_SHIFT; + int err; + + if (page->index >= end_index) + count = inode->i_size & (PAGE_CACHE_SIZE-1); + + buffer = kmap(page); + base = ((unsigned long long) page->index) << PAGE_CACHE_SHIFT; + + err = write_file(HOSTFS_I(inode)->fd, &base, buffer, count); + if(err != count){ + ClearPageUptodate(page); + goto out; + } + + if (base > inode->i_size) + inode->i_size = base; + + if (PageError(page)) + ClearPageError(page); + err = 0; + + out: + kunmap(page); + + unlock_page(page); + return err; +} + +int hostfs_readpage(struct file *file, struct page *page) +{ + char *buffer; + long long start; + int err = 0; + + start = (long long) page->index << PAGE_CACHE_SHIFT; + buffer = kmap(page); + err = read_file(FILE_HOSTFS_I(file)->fd, &start, buffer, + PAGE_CACHE_SIZE); + if(err < 0) goto out; + + memset(&buffer[err], 0, PAGE_CACHE_SIZE - err); + + flush_dcache_page(page); + SetPageUptodate(page); + if (PageError(page)) ClearPageError(page); + err = 0; + out: + kunmap(page); + unlock_page(page); + return(err); +} + +int hostfs_prepare_write(struct file *file, struct page *page, + unsigned int from, unsigned int to) +{ + char *buffer; + long long start, tmp; + int err; + + start = (long long) page->index << PAGE_CACHE_SHIFT; + buffer = kmap(page); + if(from != 0){ + tmp = start; + err = read_file(FILE_HOSTFS_I(file)->fd, &tmp, buffer, + from); + if(err < 0) goto out; + } + if(to != PAGE_CACHE_SIZE){ + start += to; + err = read_file(FILE_HOSTFS_I(file)->fd, &start, buffer + to, + PAGE_CACHE_SIZE - to); + if(err < 0) goto out; + } + err = 0; + out: + kunmap(page); + return(err); +} + +int hostfs_commit_write(struct file *file, struct page *page, unsigned from, + unsigned to) +{ + struct address_space *mapping = page->mapping; + struct inode *inode = mapping->host; + char *buffer; + long long start; + int err = 0; + + start = (long long) (page->index << PAGE_CACHE_SHIFT) + from; + buffer = kmap(page); + err = write_file(FILE_HOSTFS_I(file)->fd, &start, buffer + from, + to - from); + if(err > 0) err = 0; + if(!err && (start > inode->i_size)) + inode->i_size = start; + + kunmap(page); + return(err); +} + +static struct address_space_operations hostfs_aops = { + .writepage = hostfs_writepage, + .readpage = hostfs_readpage, +/* .set_page_dirty = __set_page_dirty_nobuffers, */ + .prepare_write = hostfs_prepare_write, + .commit_write = hostfs_commit_write +}; + +static int init_inode(struct inode *inode, struct dentry *dentry) +{ + char *name; + int type, err = -ENOMEM; + int maj, min; + dev_t rdev = 0; + + if(dentry){ + name = dentry_name(dentry, 0); + if(name == NULL) + goto out; + type = file_type(name, &maj, &min); + /*Reencode maj and min with the kernel encoding.*/ + rdev = MKDEV(maj, min); + kfree(name); + } + else type = OS_TYPE_DIR; + + err = 0; + if(type == OS_TYPE_SYMLINK) + inode->i_op = &page_symlink_inode_operations; + else if(type == OS_TYPE_DIR) + inode->i_op = &hostfs_dir_iops; + else inode->i_op = &hostfs_iops; + + if(type == OS_TYPE_DIR) inode->i_fop = &hostfs_dir_fops; + else inode->i_fop = &hostfs_file_fops; + + if(type == OS_TYPE_SYMLINK) + inode->i_mapping->a_ops = &hostfs_link_aops; + else inode->i_mapping->a_ops = &hostfs_aops; + + switch (type) { + case OS_TYPE_CHARDEV: + init_special_inode(inode, S_IFCHR, rdev); + break; + case OS_TYPE_BLOCKDEV: + init_special_inode(inode, S_IFBLK, rdev); + break; + case OS_TYPE_FIFO: + init_special_inode(inode, S_IFIFO, 0); + break; + case OS_TYPE_SOCK: + init_special_inode(inode, S_IFSOCK, 0); + break; + } + out: + return(err); +} + +int hostfs_create(struct inode *dir, struct dentry *dentry, int mode, + struct nameidata *nd) +{ + struct inode *inode; + char *name; + int error, fd; + + error = -ENOMEM; + inode = iget(dir->i_sb, 0); + if(inode == NULL) goto out; + + error = init_inode(inode, dentry); + if(error) + goto out_put; + + error = -ENOMEM; + name = dentry_name(dentry, 0); + if(name == NULL) + goto out_put; + + fd = file_create(name, + mode & S_IRUSR, mode & S_IWUSR, mode & S_IXUSR, + mode & S_IRGRP, mode & S_IWGRP, mode & S_IXGRP, + mode & S_IROTH, mode & S_IWOTH, mode & S_IXOTH); + if(fd < 0) + error = fd; + else error = read_name(inode, name); + + kfree(name); + if(error) + goto out_put; + + HOSTFS_I(inode)->fd = fd; + HOSTFS_I(inode)->mode = FMODE_READ | FMODE_WRITE; + d_instantiate(dentry, inode); + return(0); + + out_put: + iput(inode); + out: + return(error); +} + +struct dentry *hostfs_lookup(struct inode *ino, struct dentry *dentry, + struct nameidata *nd) +{ + struct inode *inode; + char *name; + int err; + + err = -ENOMEM; + inode = iget(ino->i_sb, 0); + if(inode == NULL) + goto out; + + err = init_inode(inode, dentry); + if(err) + goto out_put; + + err = -ENOMEM; + name = dentry_name(dentry, 0); + if(name == NULL) + goto out_put; + + err = read_name(inode, name); + kfree(name); + if(err == -ENOENT){ + iput(inode); + inode = NULL; + } + else if(err) + goto out_put; + + d_add(dentry, inode); + dentry->d_op = &hostfs_dentry_ops; + return(NULL); + + out_put: + iput(inode); + out: + return(ERR_PTR(err)); +} + +static char *inode_dentry_name(struct inode *ino, struct dentry *dentry) +{ + char *file; + int len; + + file = inode_name(ino, dentry->d_name.len + 1); + if(file == NULL) return(NULL); + strcat(file, "/"); + len = strlen(file); + strncat(file, dentry->d_name.name, dentry->d_name.len); + file[len + dentry->d_name.len] = '\0'; + return(file); +} + +int hostfs_link(struct dentry *to, struct inode *ino, struct dentry *from) +{ + char *from_name, *to_name; + int err; + + if((from_name = inode_dentry_name(ino, from)) == NULL) + return(-ENOMEM); + to_name = dentry_name(to, 0); + if(to_name == NULL){ + kfree(from_name); + return(-ENOMEM); + } + err = link_file(to_name, from_name); + kfree(from_name); + kfree(to_name); + return(err); +} + +int hostfs_unlink(struct inode *ino, struct dentry *dentry) +{ + char *file; + int err; + + if((file = inode_dentry_name(ino, dentry)) == NULL) return(-ENOMEM); + if(append) + return(-EPERM); + + err = unlink_file(file); + kfree(file); + return(err); +} + +int hostfs_symlink(struct inode *ino, struct dentry *dentry, const char *to) +{ + char *file; + int err; + + if((file = inode_dentry_name(ino, dentry)) == NULL) return(-ENOMEM); + err = make_symlink(file, to); + kfree(file); + return(err); +} + +int hostfs_mkdir(struct inode *ino, struct dentry *dentry, int mode) +{ + char *file; + int err; + + if((file = inode_dentry_name(ino, dentry)) == NULL) return(-ENOMEM); + err = do_mkdir(file, mode); + kfree(file); + return(err); +} + +int hostfs_rmdir(struct inode *ino, struct dentry *dentry) +{ + char *file; + int err; + + if((file = inode_dentry_name(ino, dentry)) == NULL) return(-ENOMEM); + err = do_rmdir(file); + kfree(file); + return(err); +} + +int hostfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev) +{ + struct inode *inode; + char *name; + int err = -ENOMEM; + + inode = iget(dir->i_sb, 0); + if(inode == NULL) + goto out; + + err = init_inode(inode, dentry); + if(err) + goto out_put; + + err = -ENOMEM; + name = dentry_name(dentry, 0); + if(name == NULL) + goto out_put; + + init_special_inode(inode, mode, dev); + err = do_mknod(name, mode, dev); + if(err) + goto out_free; + + err = read_name(inode, name); + kfree(name); + if(err) + goto out_put; + + d_instantiate(dentry, inode); + return(0); + + out_free: + kfree(name); + out_put: + iput(inode); + out: + return(err); +} + +int hostfs_rename(struct inode *from_ino, struct dentry *from, + struct inode *to_ino, struct dentry *to) +{ + char *from_name, *to_name; + int err; + + if((from_name = inode_dentry_name(from_ino, from)) == NULL) + return(-ENOMEM); + if((to_name = inode_dentry_name(to_ino, to)) == NULL){ + kfree(from_name); + return(-ENOMEM); + } + err = rename_file(from_name, to_name); + kfree(from_name); + kfree(to_name); + return(err); +} + +void hostfs_truncate(struct inode *ino) +{ + not_implemented(); +} + +int hostfs_permission(struct inode *ino, int desired, struct nameidata *nd) +{ + char *name; + int r = 0, w = 0, x = 0, err; + + if(desired & MAY_READ) r = 1; + if(desired & MAY_WRITE) w = 1; + if(desired & MAY_EXEC) x = 1; + name = inode_name(ino, 0); + if(name == NULL) return(-ENOMEM); + err = access_file(name, r, w, x); + kfree(name); + if(!err) err = vfs_permission(ino, desired); + return(err); +} + +int hostfs_setattr(struct dentry *dentry, struct iattr *attr) +{ + struct hostfs_iattr attrs; + char *name; + int err; + + if(append) + attr->ia_valid &= ~ATTR_SIZE; + + attrs.ia_valid = 0; + if(attr->ia_valid & ATTR_MODE){ + attrs.ia_valid |= HOSTFS_ATTR_MODE; + attrs.ia_mode = attr->ia_mode; + } + if(attr->ia_valid & ATTR_UID){ + if((dentry->d_inode->i_sb->s_dev == ROOT_DEV) && + (attr->ia_uid == 0)) + attr->ia_uid = getuid(); + attrs.ia_valid |= HOSTFS_ATTR_UID; + attrs.ia_uid = attr->ia_uid; + } + if(attr->ia_valid & ATTR_GID){ + if((dentry->d_inode->i_sb->s_dev == ROOT_DEV) && + (attr->ia_gid == 0)) + attr->ia_gid = getuid(); + attrs.ia_valid |= HOSTFS_ATTR_GID; + attrs.ia_gid = attr->ia_gid; + } + if(attr->ia_valid & ATTR_SIZE){ + attrs.ia_valid |= HOSTFS_ATTR_SIZE; + attrs.ia_size = attr->ia_size; + } + if(attr->ia_valid & ATTR_ATIME){ + attrs.ia_valid |= HOSTFS_ATTR_ATIME; + attrs.ia_atime = attr->ia_atime; + } + if(attr->ia_valid & ATTR_MTIME){ + attrs.ia_valid |= HOSTFS_ATTR_MTIME; + attrs.ia_mtime = attr->ia_mtime; + } + if(attr->ia_valid & ATTR_CTIME){ + attrs.ia_valid |= HOSTFS_ATTR_CTIME; + attrs.ia_ctime = attr->ia_ctime; + } + if(attr->ia_valid & ATTR_ATIME_SET){ + attrs.ia_valid |= HOSTFS_ATTR_ATIME_SET; + } + if(attr->ia_valid & ATTR_MTIME_SET){ + attrs.ia_valid |= HOSTFS_ATTR_MTIME_SET; + } + name = dentry_name(dentry, 0); + if(name == NULL) return(-ENOMEM); + err = set_attr(name, &attrs); + kfree(name); + if(err) + return(err); + + return(inode_setattr(dentry->d_inode, attr)); +} + +int hostfs_getattr(struct vfsmount *mnt, struct dentry *dentry, + struct kstat *stat) +{ + generic_fillattr(dentry->d_inode, stat); + return(0); +} + +static struct inode_operations hostfs_iops = { + .create = hostfs_create, + .link = hostfs_link, + .unlink = hostfs_unlink, + .symlink = hostfs_symlink, + .mkdir = hostfs_mkdir, + .rmdir = hostfs_rmdir, + .mknod = hostfs_mknod, + .rename = hostfs_rename, + .truncate = hostfs_truncate, + .permission = hostfs_permission, + .setattr = hostfs_setattr, + .getattr = hostfs_getattr, +}; + +static struct inode_operations hostfs_dir_iops = { + .create = hostfs_create, + .lookup = hostfs_lookup, + .link = hostfs_link, + .unlink = hostfs_unlink, + .symlink = hostfs_symlink, + .mkdir = hostfs_mkdir, + .rmdir = hostfs_rmdir, + .mknod = hostfs_mknod, + .rename = hostfs_rename, + .truncate = hostfs_truncate, + .permission = hostfs_permission, + .setattr = hostfs_setattr, + .getattr = hostfs_getattr, +}; + +int hostfs_link_readpage(struct file *file, struct page *page) +{ + char *buffer, *name; + long long start; + int err; + + start = page->index << PAGE_CACHE_SHIFT; + buffer = kmap(page); + name = inode_name(page->mapping->host, 0); + if(name == NULL) return(-ENOMEM); + err = do_readlink(name, buffer, PAGE_CACHE_SIZE); + kfree(name); + if(err == PAGE_CACHE_SIZE) + err = -E2BIG; + else if(err > 0){ + flush_dcache_page(page); + SetPageUptodate(page); + if (PageError(page)) ClearPageError(page); + err = 0; + } + kunmap(page); + unlock_page(page); + return(err); +} + +static struct address_space_operations hostfs_link_aops = { + .readpage = hostfs_link_readpage, +}; + +static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent) +{ + struct inode *root_inode; + char *name, *data = d; + int err; + + sb->s_blocksize = 1024; + sb->s_blocksize_bits = 10; + sb->s_magic = HOSTFS_SUPER_MAGIC; + sb->s_op = &hostfs_sbops; + + if((data == NULL) || (*data == '\0')) + data = root_ino; + + err = -ENOMEM; + name = kmalloc(strlen(data) + 1, GFP_KERNEL); + if(name == NULL) + goto out; + + strcpy(name, data); + + root_inode = iget(sb, 0); + if(root_inode == NULL) + goto out_free; + + err = init_inode(root_inode, NULL); + if(err) + goto out_put; + + HOSTFS_I(root_inode)->host_filename = name; + + err = -ENOMEM; + sb->s_root = d_alloc_root(root_inode); + if(sb->s_root == NULL) + goto out_put; + + err = read_inode(root_inode); + if(err) + goto out_put; + + return(0); + + out_put: + iput(root_inode); + out_free: + kfree(name); + out: + return(err); +} + +static struct super_block *hostfs_read_sb(struct file_system_type *type, + int flags, const char *dev_name, + void *data) +{ + return(get_sb_nodev(type, flags, data, hostfs_fill_sb_common)); +} + +static struct file_system_type hostfs_type = { + .owner = THIS_MODULE, + .name = "hostfs", + .get_sb = hostfs_read_sb, + .kill_sb = kill_anon_super, + .fs_flags = 0, +}; + +static int __init init_hostfs(void) +{ + return(register_filesystem(&hostfs_type)); +} + +static void __exit exit_hostfs(void) +{ + unregister_filesystem(&hostfs_type); +} + +module_init(init_hostfs) +module_exit(exit_hostfs) +MODULE_LICENSE("GPL"); + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * --------------------------------------------------------------------------- + * Local variables: + * c-file-style: "linux" + * End: + */ diff --git a/fs/hostfs/hostfs_user.c b/fs/hostfs/hostfs_user.c new file mode 100644 index 000000000..16974dc07 --- /dev/null +++ b/fs/hostfs/hostfs_user.c @@ -0,0 +1,365 @@ +/* + * Copyright (C) 2000 Jeff Dike (jdike@karaya.com) + * Licensed under the GPL + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "hostfs.h" +#include "kern_util.h" +#include "user.h" + +int stat_file(const char *path, unsigned long long *inode_out, int *mode_out, + int *nlink_out, int *uid_out, int *gid_out, + unsigned long long *size_out, struct timespec *atime_out, + struct timespec *mtime_out, struct timespec *ctime_out, + int *blksize_out, unsigned long long *blocks_out) +{ + struct stat64 buf; + + if(lstat64(path, &buf) < 0) + return(-errno); + + /* See the Makefile for why STAT64_INO_FIELD is passed in + * by the build + */ + if(inode_out != NULL) *inode_out = buf.STAT64_INO_FIELD; + if(mode_out != NULL) *mode_out = buf.st_mode; + if(nlink_out != NULL) *nlink_out = buf.st_nlink; + if(uid_out != NULL) *uid_out = buf.st_uid; + if(gid_out != NULL) *gid_out = buf.st_gid; + if(size_out != NULL) *size_out = buf.st_size; + if(atime_out != NULL) { + atime_out->tv_sec = buf.st_atime; + atime_out->tv_nsec = 0; + } + if(mtime_out != NULL) { + mtime_out->tv_sec = buf.st_mtime; + mtime_out->tv_nsec = 0; + } + if(ctime_out != NULL) { + ctime_out->tv_sec = buf.st_ctime; + ctime_out->tv_nsec = 0; + } + if(blksize_out != NULL) *blksize_out = buf.st_blksize; + if(blocks_out != NULL) *blocks_out = buf.st_blocks; + return(0); +} + +int file_type(const char *path, int *maj, int *min) +{ + struct stat64 buf; + + if(lstat64(path, &buf) < 0) + return(-errno); + /*We cannot pass rdev as is because glibc and the kernel disagree + *about its definition.*/ + if(maj != NULL) + *maj = major(buf.st_rdev); + if(min != NULL) + *min = minor(buf.st_rdev); + + if(S_ISDIR(buf.st_mode)) return(OS_TYPE_DIR); + else if(S_ISLNK(buf.st_mode)) return(OS_TYPE_SYMLINK); + else if(S_ISCHR(buf.st_mode)) return(OS_TYPE_CHARDEV); + else if(S_ISBLK(buf.st_mode)) return(OS_TYPE_BLOCKDEV); + else if(S_ISFIFO(buf.st_mode))return(OS_TYPE_FIFO); + else if(S_ISSOCK(buf.st_mode))return(OS_TYPE_SOCK); + else return(OS_TYPE_FILE); +} + +int access_file(char *path, int r, int w, int x) +{ + int mode = 0; + + if(r) mode = R_OK; + if(w) mode |= W_OK; + if(x) mode |= X_OK; + if(access(path, mode) != 0) return(-errno); + else return(0); +} + +int open_file(char *path, int r, int w, int append) +{ + int mode = 0, fd; + + if(r && !w) + mode = O_RDONLY; + else if(!r && w) + mode = O_WRONLY; + else if(r && w) + mode = O_RDWR; + else panic("Impossible mode in open_file"); + + if(append) + mode |= O_APPEND; + fd = open64(path, mode); + if(fd < 0) return(-errno); + else return(fd); +} + +void *open_dir(char *path, int *err_out) +{ + DIR *dir; + + dir = opendir(path); + *err_out = errno; + if(dir == NULL) return(NULL); + return(dir); +} + +char *read_dir(void *stream, unsigned long long *pos, + unsigned long long *ino_out, int *len_out) +{ + DIR *dir = stream; + struct dirent *ent; + + seekdir(dir, *pos); + ent = readdir(dir); + if(ent == NULL) return(NULL); + *len_out = strlen(ent->d_name); + *ino_out = ent->d_ino; + *pos = telldir(dir); + return(ent->d_name); +} + +int read_file(int fd, unsigned long long *offset, char *buf, int len) +{ + int n; + + n = pread64(fd, buf, len, *offset); + if(n < 0) return(-errno); + *offset += n; + return(n); +} + +int write_file(int fd, unsigned long long *offset, const char *buf, int len) +{ + int n; + + n = pwrite64(fd, buf, len, *offset); + if(n < 0) return(-errno); + *offset += n; + return(n); +} + +int lseek_file(int fd, long long offset, int whence) +{ + int ret; + + ret = lseek64(fd, offset, whence); + if(ret < 0) return(-errno); + return(0); +} + +void close_file(void *stream) +{ + close(*((int *) stream)); +} + +void close_dir(void *stream) +{ + closedir(stream); +} + +int file_create(char *name, int ur, int uw, int ux, int gr, + int gw, int gx, int or, int ow, int ox) +{ + int mode, fd; + + mode = 0; + mode |= ur ? S_IRUSR : 0; + mode |= uw ? S_IWUSR : 0; + mode |= ux ? S_IXUSR : 0; + mode |= gr ? S_IRGRP : 0; + mode |= gw ? S_IWGRP : 0; + mode |= gx ? S_IXGRP : 0; + mode |= or ? S_IROTH : 0; + mode |= ow ? S_IWOTH : 0; + mode |= ox ? S_IXOTH : 0; + fd = open64(name, O_CREAT | O_RDWR, mode); + if(fd < 0) + return(-errno); + return(fd); +} + +int set_attr(const char *file, struct hostfs_iattr *attrs) +{ + struct utimbuf buf; + int err, ma; + + if(attrs->ia_valid & HOSTFS_ATTR_MODE){ + if(chmod(file, attrs->ia_mode) != 0) return(-errno); + } + if(attrs->ia_valid & HOSTFS_ATTR_UID){ + if(chown(file, attrs->ia_uid, -1)) return(-errno); + } + if(attrs->ia_valid & HOSTFS_ATTR_GID){ + if(chown(file, -1, attrs->ia_gid)) return(-errno); + } + if(attrs->ia_valid & HOSTFS_ATTR_SIZE){ + if(truncate(file, attrs->ia_size)) return(-errno); + } + ma = HOSTFS_ATTR_ATIME_SET | HOSTFS_ATTR_MTIME_SET; + if((attrs->ia_valid & ma) == ma){ + buf.actime = attrs->ia_atime.tv_sec; + buf.modtime = attrs->ia_mtime.tv_sec; + if(utime(file, &buf) != 0) return(-errno); + } + else { + struct timespec ts; + + if(attrs->ia_valid & HOSTFS_ATTR_ATIME_SET){ + err = stat_file(file, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, &ts, NULL, NULL, NULL); + if(err != 0) + return(err); + buf.actime = attrs->ia_atime.tv_sec; + buf.modtime = ts.tv_sec; + if(utime(file, &buf) != 0) + return(-errno); + } + if(attrs->ia_valid & HOSTFS_ATTR_MTIME_SET){ + err = stat_file(file, NULL, NULL, NULL, NULL, NULL, + NULL, &ts, NULL, NULL, NULL, NULL); + if(err != 0) + return(err); + buf.actime = ts.tv_sec; + buf.modtime = attrs->ia_mtime.tv_sec; + if(utime(file, &buf) != 0) + return(-errno); + } + } + if(attrs->ia_valid & HOSTFS_ATTR_CTIME) ; + if(attrs->ia_valid & (HOSTFS_ATTR_ATIME | HOSTFS_ATTR_MTIME)){ + err = stat_file(file, NULL, NULL, NULL, NULL, NULL, NULL, + &attrs->ia_atime, &attrs->ia_mtime, NULL, + NULL, NULL); + if(err != 0) return(err); + } + return(0); +} + +int make_symlink(const char *from, const char *to) +{ + int err; + + err = symlink(to, from); + if(err) return(-errno); + return(0); +} + +int unlink_file(const char *file) +{ + int err; + + err = unlink(file); + if(err) return(-errno); + return(0); +} + +int do_mkdir(const char *file, int mode) +{ + int err; + + err = mkdir(file, mode); + if(err) return(-errno); + return(0); +} + +int do_rmdir(const char *file) +{ + int err; + + err = rmdir(file); + if(err) return(-errno); + return(0); +} + +int do_mknod(const char *file, int mode, int dev) +{ + int err; + + err = mknod(file, mode, dev); + if(err) return(-errno); + return(0); +} + +int link_file(const char *to, const char *from) +{ + int err; + + err = link(to, from); + if(err) return(-errno); + return(0); +} + +int do_readlink(char *file, char *buf, int size) +{ + int n; + + n = readlink(file, buf, size); + if(n < 0) + return(-errno); + if(n < size) + buf[n] = '\0'; + return(n); +} + +int rename_file(char *from, char *to) +{ + int err; + + err = rename(from, to); + if(err < 0) return(-errno); + return(0); +} + +int do_statfs(char *root, long *bsize_out, long long *blocks_out, + long long *bfree_out, long long *bavail_out, + long long *files_out, long long *ffree_out, + void *fsid_out, int fsid_size, long *namelen_out, + long *spare_out) +{ + struct statfs64 buf; + int err; + + err = statfs64(root, &buf); + if(err < 0) return(-errno); + *bsize_out = buf.f_bsize; + *blocks_out = buf.f_blocks; + *bfree_out = buf.f_bfree; + *bavail_out = buf.f_bavail; + *files_out = buf.f_files; + *ffree_out = buf.f_ffree; + memcpy(fsid_out, &buf.f_fsid, + sizeof(buf.f_fsid) > fsid_size ? fsid_size : + sizeof(buf.f_fsid)); + *namelen_out = buf.f_namelen; + spare_out[0] = buf.f_spare[0]; + spare_out[1] = buf.f_spare[1]; + spare_out[2] = buf.f_spare[2]; + spare_out[3] = buf.f_spare[3]; + spare_out[4] = buf.f_spare[4]; + spare_out[5] = buf.f_spare[5]; + return(0); +} + +/* + * Overrides for Emacs so that we follow Linus's tabbing style. + * Emacs will notice this stuff at the end of the file and automatically + * adjust the settings for this buffer only. This must remain at the end + * of the file. + * --------------------------------------------------------------------------- + * Local variables: + * c-file-style: "linux" + * End: + */ diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c index 714f64447..34074b378 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c @@ -191,7 +191,7 @@ static int init_inodecache(void) { hpfs_inode_cachep = kmem_cache_create("hpfs_inode_cache", sizeof(struct hpfs_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (hpfs_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c index 794f9e590..864759c80 100644 --- a/fs/hugetlbfs/inode.c +++ b/fs/hugetlbfs/inode.c @@ -43,6 +43,8 @@ static struct backing_dev_info hugetlbfs_backing_dev_info = { .memory_backed = 1, /* Does not contribute to dirty memory */ }; +int sysctl_hugetlb_shm_group; + static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) { struct inode *inode = file->f_dentry->d_inode; @@ -50,6 +52,9 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) loff_t len, vma_len; int ret; + if ((vma->vm_flags & (VM_MAYSHARE | VM_WRITE)) == VM_WRITE) + return -EINVAL; + if (vma->vm_pgoff & (HPAGE_SIZE / PAGE_SIZE - 1)) return -EINVAL; @@ -68,10 +73,19 @@ static int hugetlbfs_file_mmap(struct file *file, struct vm_area_struct *vma) file_accessed(file); vma->vm_flags |= VM_HUGETLB | VM_RESERVED; vma->vm_ops = &hugetlb_vm_ops; + + ret = -ENOMEM; + len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); + if (!(vma->vm_flags & VM_WRITE) && len > inode->i_size) + goto out; + ret = hugetlb_prefault(mapping, vma); - len = vma_len + ((loff_t)vma->vm_pgoff << PAGE_SHIFT); - if (ret == 0 && inode->i_size < len) + if (ret) + goto out; + + if (inode->i_size < len) inode->i_size = len; +out: up(&inode->i_sem); return ret; @@ -91,6 +105,7 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr, { struct mm_struct *mm = current->mm; struct vm_area_struct *vma; + unsigned long start_addr; if (len & ~HPAGE_MASK) return -EINVAL; @@ -105,12 +120,25 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr, return addr; } - addr = ALIGN(mm->free_area_cache, HPAGE_SIZE); + start_addr = mm->free_area_cache; + +full_search: + addr = ALIGN(start_addr, HPAGE_SIZE); for (vma = find_vma(mm, addr); ; vma = vma->vm_next) { /* At this point: (!vma || addr < vma->vm_end). */ - if (TASK_SIZE - len < addr) + if (TASK_SIZE - len < addr) { + /* + * Start a new search - just in case we missed + * some holes. + */ + if (start_addr != TASK_UNMAPPED_BASE) { + start_addr = TASK_UNMAPPED_BASE; + goto full_search; + } return -ENOMEM; + } + if (!vma || addr + len <= vma->vm_start) return addr; addr = ALIGN(vma->vm_end, HPAGE_SIZE); @@ -270,11 +298,10 @@ static void hugetlbfs_drop_inode(struct inode *inode) static inline void hugetlb_vmtruncate_list(struct prio_tree_root *root, unsigned long h_pgoff) { - struct vm_area_struct *vma = NULL; + struct vm_area_struct *vma; struct prio_tree_iter iter; - while ((vma = vma_prio_tree_next(vma, root, &iter, - h_pgoff, ULONG_MAX)) != NULL) { + vma_prio_tree_foreach(vma, &iter, root, h_pgoff, ULONG_MAX) { unsigned long h_vm_pgoff; unsigned long v_length; unsigned long v_offset; @@ -638,6 +665,7 @@ hugetlbfs_fill_super(struct super_block *sb, void *data, int silent) sbinfo->free_blocks = config.nr_blocks; sbinfo->max_inodes = config.nr_inodes; sbinfo->free_inodes = config.nr_inodes; + sb->s_maxbytes = MAX_LFS_FILESIZE; sb->s_blocksize = HPAGE_SIZE; sb->s_blocksize_bits = HPAGE_SHIFT; sb->s_magic = HUGETLBFS_MAGIC; @@ -716,6 +744,13 @@ static unsigned long hugetlbfs_counter(void) return ret; } +static int can_do_hugetlb_shm(void) +{ + return likely(capable(CAP_IPC_LOCK) || + in_group_p(sysctl_hugetlb_shm_group) || + can_do_mlock()); +} + struct file *hugetlb_zero_setup(size_t size) { int error = -ENOMEM; @@ -725,7 +760,7 @@ struct file *hugetlb_zero_setup(size_t size) struct qstr quick_string; char buf[16]; - if (!capable(CAP_IPC_LOCK)) + if (!can_do_hugetlb_shm()) return ERR_PTR(-EPERM); if (!is_hugepage_mem_enough(size)) @@ -780,8 +815,7 @@ static int __init init_hugetlbfs_fs(void) hugetlbfs_inode_cachep = kmem_cache_create("hugetlbfs_inode_cache", sizeof(struct hugetlbfs_inode_info), - 0, SLAB_RECLAIM_ACCOUNT, - init_once, NULL); + 0, 0, init_once, NULL); if (hugetlbfs_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/inode.c b/fs/inode.c index d8586166f..fe06bd2ed 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -100,36 +100,13 @@ struct inodes_stat_t inodes_stat; static kmem_cache_t * inode_cachep; -static void prune_icache(int nr_to_scan); - - -#define INODE_UNUSED_THRESHOLD 15000 -#define PRUNE_BATCH_COUNT 32 - -void try_to_clip_inodes(void) -{ - unsigned long count = 0; - /* if there are a LOT of unused inodes in cache, better shrink a few first */ - - /* check lockless first to not take the lock always here; racing occasionally isn't a big deal */ - if (inodes_stat.nr_unused > INODE_UNUSED_THRESHOLD) { - spin_lock(&inode_lock); - if (inodes_stat.nr_unused > INODE_UNUSED_THRESHOLD) - count = inodes_stat.nr_unused - INODE_UNUSED_THRESHOLD; - spin_unlock(&inode_lock); - if (count) - prune_icache(count); - } -} - - static struct inode *alloc_inode(struct super_block *sb) { static struct address_space_operations empty_aops; static struct inode_operations empty_iops; static struct file_operations empty_fops; struct inode *inode; - + if (sb->s_op->alloc_inode) inode = sb->s_op->alloc_inode(sb); else @@ -514,8 +491,9 @@ static int shrink_icache_memory(int nr, unsigned int gfp_mask) * and we don't want to recurse into the FS that called us * in clear_inode() and friends.. */ - if (gfp_mask & __GFP_FS) - prune_icache(nr); + if (!(gfp_mask & __GFP_FS)) + return -1; + prune_icache(nr); } return (inodes_stat.nr_unused / 100) * sysctl_vfs_cache_pressure; } @@ -1401,8 +1379,7 @@ void __init inode_init(unsigned long mempages) /* inode slab cache */ inode_cachep = kmem_cache_create("inode_cache", sizeof(struct inode), - 0, SLAB_HWCACHE_ALIGN|SLAB_PANIC, init_once, - NULL); + 0, SLAB_PANIC, init_once, NULL); set_shrinker(DEFAULT_SEEKS, shrink_icache_memory); } diff --git a/fs/ioctl.c b/fs/ioctl.c index 6404b0c10..81641b444 100644 --- a/fs/ioctl.c +++ b/fs/ioctl.c @@ -19,7 +19,7 @@ #include #include -#ifdef CONFIG_VSERVER_LEGACY +#ifdef CONFIG_VSERVER_LEGACY extern int vx_proc_ioctl(struct inode *, struct file *, unsigned int, unsigned long); #endif @@ -131,7 +131,7 @@ asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) else error = -ENOTTY; break; -#ifdef CONFIG_VSERVER_LEGACY +#ifdef CONFIG_VSERVER_LEGACY #ifndef CONFIG_INOXID_NONE case FIOC_GETXID: { struct inode *inode = filp->f_dentry->d_inode; @@ -163,7 +163,7 @@ asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg) inode->i_xid = (xid & 0xFFFF); inode->i_ctime = CURRENT_TIME; mark_inode_dirty(inode); - break; + break; } #endif case FIOC_GETXFLG: diff --git a/fs/isofs/compress.c b/fs/isofs/compress.c index 877b4e47d..0b5a3a0ed 100644 --- a/fs/isofs/compress.c +++ b/fs/isofs/compress.c @@ -132,7 +132,7 @@ static int zisofs_readpage(struct file *file, struct page *page) brelse(ptrbh[1]); goto eio; } - cstart = le32_to_cpu(*(u32 *)(bh->b_data + (blockptr & bufmask))); + cstart = le32_to_cpu(*(__le32 *)(bh->b_data + (blockptr & bufmask))); if ( indexblocks == 2 ) { /* We just crossed a block boundary. Switch to the next block */ @@ -144,7 +144,7 @@ static int zisofs_readpage(struct file *file, struct page *page) goto eio; } } - cend = le32_to_cpu(*(u32 *)(bh->b_data + (blockendptr & bufmask))); + cend = le32_to_cpu(*(__le32 *)(bh->b_data + (blockendptr & bufmask))); brelse(bh); csize = cend-cstart; diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index 491dcde30..0ee7beb9d 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c @@ -108,7 +108,7 @@ static int init_inodecache(void) { isofs_inode_cachep = kmem_cache_create("isofs_inode_cache", sizeof(struct iso_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (isofs_inode_cachep == NULL) return -ENOMEM; @@ -715,6 +715,7 @@ root_found: } s->s_magic = ISOFS_SUPER_MAGIC; + s->s_maxbytes = 0xffffffff; /* We can handle files up to 4 GB */ /* The CDROM is read-only, has no nodes (devices) on it, and since all of the files appear to be owned by root, we really do not want diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c index c09d4bd4b..19d999fd4 100644 --- a/fs/isofs/rock.c +++ b/fs/isofs/rock.c @@ -62,7 +62,7 @@ } #define MAYBE_CONTINUE(LABEL,DEV) \ - {if (buffer) kfree(buffer); \ + {if (buffer) { kfree(buffer); buffer = NULL; } \ if (cont_extent){ \ int block, offset, offset1; \ struct buffer_head * pbh; \ @@ -153,14 +153,17 @@ int get_rock_ridge_filename(struct iso_directory_record * de, } } MAYBE_CONTINUE(repeat,inode); + if (buffer) kfree(buffer); return retnamlen; /* If 0, this file did not have a NM field */ out: if(buffer) kfree(buffer); return 0; } -int parse_rock_ridge_inode_internal(struct iso_directory_record * de, - struct inode * inode,int regard_xa){ +static int +parse_rock_ridge_inode_internal(struct iso_directory_record *de, + struct inode *inode, int regard_xa) +{ int len; unsigned char * chr; int symlink_len = 0; @@ -174,7 +177,7 @@ int parse_rock_ridge_inode_internal(struct iso_directory_record * de, chr+=14; len-=14; if (len<0) len=0; - }; + } repeat: { @@ -351,7 +354,6 @@ int parse_rock_ridge_inode_internal(struct iso_directory_record * de, } } MAYBE_CONTINUE(repeat,inode); - return 0; out: if(buffer) kfree(buffer); return 0; @@ -435,9 +437,9 @@ int parse_rock_ridge_inode(struct iso_directory_record * de, &&(ISOFS_SB(inode->i_sb)->s_rock==2)) { result=parse_rock_ridge_inode_internal(de,inode,14); - }; + } return result; -}; +} /* readpage() for symlinks: reads symlink contents into the page and either makes it uptodate and returns 0 or returns error (-EIO) */ @@ -515,6 +517,8 @@ static int rock_ridge_symlink_readpage(struct file *file, struct page *page) } } MAYBE_CONTINUE(repeat, inode); + if (buffer) + kfree(buffer); if (rpnt == link) goto fail; diff --git a/fs/jbd/commit.c b/fs/jbd/commit.c index 964516301..5a2fe257c 100644 --- a/fs/jbd/commit.c +++ b/fs/jbd/commit.c @@ -405,9 +405,9 @@ write_out_data: jbd_debug(4, "JBD: got buffer %llu (%p)\n", (unsigned long long)bh->b_blocknr, bh->b_data); header = (journal_header_t *)&bh->b_data[0]; - header->h_magic = htonl(JFS_MAGIC_NUMBER); - header->h_blocktype = htonl(JFS_DESCRIPTOR_BLOCK); - header->h_sequence = htonl(commit_transaction->t_tid); + header->h_magic = cpu_to_be32(JFS_MAGIC_NUMBER); + header->h_blocktype = cpu_to_be32(JFS_DESCRIPTOR_BLOCK); + header->h_sequence = cpu_to_be32(commit_transaction->t_tid); tagp = &bh->b_data[sizeof(journal_header_t)]; space_left = bh->b_size - sizeof(journal_header_t); @@ -473,8 +473,8 @@ write_out_data: tag_flag |= JFS_FLAG_SAME_UUID; tag = (journal_block_tag_t *) tagp; - tag->t_blocknr = htonl(jh2bh(jh)->b_blocknr); - tag->t_flags = htonl(tag_flag); + tag->t_blocknr = cpu_to_be32(jh2bh(jh)->b_blocknr); + tag->t_flags = cpu_to_be32(tag_flag); tagp += sizeof(journal_block_tag_t); space_left -= sizeof(journal_block_tag_t); @@ -498,7 +498,7 @@ write_out_data: submitting the IOs. "tag" still points to the last tag we set up. */ - tag->t_flags |= htonl(JFS_FLAG_LAST_TAG); + tag->t_flags |= cpu_to_be32(JFS_FLAG_LAST_TAG); start_journal_io: for (i = 0; i < bufs; i++) { @@ -633,18 +633,46 @@ wait_for_iobuf: for (i = 0; i < jh2bh(descriptor)->b_size; i += 512) { journal_header_t *tmp = (journal_header_t*)jh2bh(descriptor)->b_data; - tmp->h_magic = htonl(JFS_MAGIC_NUMBER); - tmp->h_blocktype = htonl(JFS_COMMIT_BLOCK); - tmp->h_sequence = htonl(commit_transaction->t_tid); + tmp->h_magic = cpu_to_be32(JFS_MAGIC_NUMBER); + tmp->h_blocktype = cpu_to_be32(JFS_COMMIT_BLOCK); + tmp->h_sequence = cpu_to_be32(commit_transaction->t_tid); } JBUFFER_TRACE(descriptor, "write commit block"); { struct buffer_head *bh = jh2bh(descriptor); + int ret; + int barrier_done = 0; set_buffer_dirty(bh); - sync_dirty_buffer(bh); - if (unlikely(!buffer_uptodate(bh))) + if (journal->j_flags & JFS_BARRIER) { + set_buffer_ordered(bh); + barrier_done = 1; + } + ret = sync_dirty_buffer(bh); + /* is it possible for another commit to fail at roughly + * the same time as this one? If so, we don't want to + * trust the barrier flag in the super, but instead want + * to remember if we sent a barrier request + */ + if (ret == -EOPNOTSUPP && barrier_done) { + char b[BDEVNAME_SIZE]; + + printk(KERN_WARNING + "JBD: barrier-based sync failed on %s - " + "disabling barriers\n", + bdevname(journal->j_dev, b)); + spin_lock(&journal->j_state_lock); + journal->j_flags &= ~JFS_BARRIER; + spin_unlock(&journal->j_state_lock); + + /* And try again, without the barrier */ + clear_buffer_ordered(bh); + set_buffer_uptodate(bh); + set_buffer_dirty(bh); + ret = sync_dirty_buffer(bh); + } + if (unlikely(ret == -EIO)) err = -EIO; put_bh(bh); /* One for getblk() */ journal_put_journal_head(descriptor); diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c index 1cf23ff17..cb9d794cc 100644 --- a/fs/jbd/journal.c +++ b/fs/jbd/journal.c @@ -34,6 +34,7 @@ #include #include #include +#include #include EXPORT_SYMBOL(journal_start); @@ -325,8 +326,8 @@ repeat: /* * Check for escaping */ - if (*((unsigned int *)(mapped_data + new_offset)) == - htonl(JFS_MAGIC_NUMBER)) { + if (*((__be32 *)(mapped_data + new_offset)) == + cpu_to_be32(JFS_MAGIC_NUMBER)) { need_copy_out = 1; do_escape = 1; } @@ -808,8 +809,8 @@ static int journal_reset(journal_t *journal) journal_superblock_t *sb = journal->j_superblock; unsigned int first, last; - first = ntohl(sb->s_first); - last = ntohl(sb->s_maxlen); + first = be32_to_cpu(sb->s_first); + last = be32_to_cpu(sb->s_maxlen); journal->j_first = first; journal->j_last = last; @@ -886,12 +887,12 @@ int journal_create(journal_t *journal) /* OK, fill in the initial static fields in the new superblock */ sb = journal->j_superblock; - sb->s_header.h_magic = htonl(JFS_MAGIC_NUMBER); - sb->s_header.h_blocktype = htonl(JFS_SUPERBLOCK_V2); + sb->s_header.h_magic = cpu_to_be32(JFS_MAGIC_NUMBER); + sb->s_header.h_blocktype = cpu_to_be32(JFS_SUPERBLOCK_V2); - sb->s_blocksize = htonl(journal->j_blocksize); - sb->s_maxlen = htonl(journal->j_maxlen); - sb->s_first = htonl(1); + sb->s_blocksize = cpu_to_be32(journal->j_blocksize); + sb->s_maxlen = cpu_to_be32(journal->j_maxlen); + sb->s_first = cpu_to_be32(1); journal->j_transaction_sequence = 1; @@ -934,9 +935,9 @@ void journal_update_superblock(journal_t *journal, int wait) jbd_debug(1,"JBD: updating superblock (start %ld, seq %d, errno %d)\n", journal->j_tail, journal->j_tail_sequence, journal->j_errno); - sb->s_sequence = htonl(journal->j_tail_sequence); - sb->s_start = htonl(journal->j_tail); - sb->s_errno = htonl(journal->j_errno); + sb->s_sequence = cpu_to_be32(journal->j_tail_sequence); + sb->s_start = cpu_to_be32(journal->j_tail); + sb->s_errno = cpu_to_be32(journal->j_errno); spin_unlock(&journal->j_state_lock); BUFFER_TRACE(bh, "marking dirty"); @@ -987,13 +988,13 @@ static int journal_get_superblock(journal_t *journal) err = -EINVAL; - if (sb->s_header.h_magic != htonl(JFS_MAGIC_NUMBER) || - sb->s_blocksize != htonl(journal->j_blocksize)) { + if (sb->s_header.h_magic != cpu_to_be32(JFS_MAGIC_NUMBER) || + sb->s_blocksize != cpu_to_be32(journal->j_blocksize)) { printk(KERN_WARNING "JBD: no valid journal superblock found\n"); goto out; } - switch(ntohl(sb->s_header.h_blocktype)) { + switch(be32_to_cpu(sb->s_header.h_blocktype)) { case JFS_SUPERBLOCK_V1: journal->j_format_version = 1; break; @@ -1005,9 +1006,9 @@ static int journal_get_superblock(journal_t *journal) goto out; } - if (ntohl(sb->s_maxlen) < journal->j_maxlen) - journal->j_maxlen = ntohl(sb->s_maxlen); - else if (ntohl(sb->s_maxlen) > journal->j_maxlen) { + if (be32_to_cpu(sb->s_maxlen) < journal->j_maxlen) + journal->j_maxlen = be32_to_cpu(sb->s_maxlen); + else if (be32_to_cpu(sb->s_maxlen) > journal->j_maxlen) { printk (KERN_WARNING "JBD: journal file too short\n"); goto out; } @@ -1035,11 +1036,11 @@ static int load_superblock(journal_t *journal) sb = journal->j_superblock; - journal->j_tail_sequence = ntohl(sb->s_sequence); - journal->j_tail = ntohl(sb->s_start); - journal->j_first = ntohl(sb->s_first); - journal->j_last = ntohl(sb->s_maxlen); - journal->j_errno = ntohl(sb->s_errno); + journal->j_tail_sequence = be32_to_cpu(sb->s_sequence); + journal->j_tail = be32_to_cpu(sb->s_start); + journal->j_first = be32_to_cpu(sb->s_first); + journal->j_last = be32_to_cpu(sb->s_maxlen); + journal->j_errno = be32_to_cpu(sb->s_errno); return 0; } @@ -1252,7 +1253,7 @@ int journal_update_format (journal_t *journal) sb = journal->j_superblock; - switch (ntohl(sb->s_header.h_blocktype)) { + switch (be32_to_cpu(sb->s_header.h_blocktype)) { case JFS_SUPERBLOCK_V2: return 0; case JFS_SUPERBLOCK_V1: @@ -1274,7 +1275,7 @@ static int journal_convert_superblock_v1(journal_t *journal, /* Pre-initialise new fields to zero */ offset = ((char *) &(sb->s_feature_compat)) - ((char *) sb); - blocksize = ntohl(sb->s_blocksize); + blocksize = be32_to_cpu(sb->s_blocksize); memset(&sb->s_feature_compat, 0, blocksize-offset); sb->s_nr_users = cpu_to_be32(1); diff --git a/fs/jbd/revoke.c b/fs/jbd/revoke.c index df95ec122..d327a598f 100644 --- a/fs/jbd/revoke.c +++ b/fs/jbd/revoke.c @@ -376,7 +376,12 @@ int journal_revoke(handle_t *handle, unsigned long blocknr, first having the revoke cancelled: it's illegal to free a block twice without allocating it in between! */ if (bh) { - J_ASSERT_BH(bh, !buffer_revoked(bh)); + if (!J_EXPECT_BH(bh, !buffer_revoked(bh), + "inconsistent data on disk")) { + if (!bh_in) + brelse(bh); + return -EIO; + } set_buffer_revoked(bh); set_buffer_revokevalid(bh); if (bh_in) { @@ -566,9 +571,9 @@ static void write_one_revoke_record(journal_t *journal, if (!descriptor) return; header = (journal_header_t *) &jh2bh(descriptor)->b_data[0]; - header->h_magic = htonl(JFS_MAGIC_NUMBER); - header->h_blocktype = htonl(JFS_REVOKE_BLOCK); - header->h_sequence = htonl(transaction->t_tid); + header->h_magic = cpu_to_be32(JFS_MAGIC_NUMBER); + header->h_blocktype = cpu_to_be32(JFS_REVOKE_BLOCK); + header->h_sequence = cpu_to_be32(transaction->t_tid); /* Record it so that we can wait for IO completion later */ JBUFFER_TRACE(descriptor, "file as BJ_LogCtl"); @@ -578,8 +583,8 @@ static void write_one_revoke_record(journal_t *journal, *descriptorp = descriptor; } - * ((unsigned int *)(&jh2bh(descriptor)->b_data[offset])) = - htonl(record->blocknr); + * ((__be32 *)(&jh2bh(descriptor)->b_data[offset])) = + cpu_to_be32(record->blocknr); offset += 4; *offsetp = offset; } @@ -604,7 +609,7 @@ static void flush_descriptor(journal_t *journal, } header = (journal_revoke_header_t *) jh2bh(descriptor)->b_data; - header->r_count = htonl(offset); + header->r_count = cpu_to_be32(offset); set_buffer_jwrite(bh); BUFFER_TRACE(bh, "write"); set_buffer_dirty(bh); diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c index 18a678ce2..c9fb09f9e 100644 --- a/fs/jbd/transaction.c +++ b/fs/jbd/transaction.c @@ -1200,12 +1200,13 @@ journal_release_buffer(handle_t *handle, struct buffer_head *bh, int credits) * Allow this call even if the handle has aborted --- it may be part of * the caller's cleanup after an abort. */ -void journal_forget(handle_t *handle, struct buffer_head *bh) +int journal_forget (handle_t *handle, struct buffer_head *bh) { transaction_t *transaction = handle->h_transaction; journal_t *journal = transaction->t_journal; struct journal_head *jh; - + int err = 0; + BUFFER_TRACE(bh, "entry"); jbd_lock_bh_state(bh); @@ -1215,6 +1216,14 @@ void journal_forget(handle_t *handle, struct buffer_head *bh) goto not_jbd; jh = bh2jh(bh); + /* Critical error: attempting to delete a bitmap buffer, maybe? + * Don't do any jbd operations, and return an error. */ + if (!J_EXPECT_JH(jh, !jh->b_committed_data, + "inconsistent data on disk")) { + err = -EIO; + goto not_jbd; + } + if (jh->b_transaction == handle->h_transaction) { J_ASSERT_JH(jh, !jh->b_frozen_data); @@ -1225,7 +1234,6 @@ void journal_forget(handle_t *handle, struct buffer_head *bh) clear_buffer_jbddirty(bh); JBUFFER_TRACE(jh, "belongs to current transaction: unfile"); - J_ASSERT_JH(jh, !jh->b_committed_data); __journal_unfile_buffer(jh); @@ -1250,7 +1258,7 @@ void journal_forget(handle_t *handle, struct buffer_head *bh) spin_unlock(&journal->j_list_lock); jbd_unlock_bh_state(bh); __bforget(bh); - return; + return 0; } } } else if (jh->b_transaction) { @@ -1272,7 +1280,7 @@ not_jbd: spin_unlock(&journal->j_list_lock); jbd_unlock_bh_state(bh); __brelse(bh); - return; + return err; } /** diff --git a/fs/jffs2/super.c b/fs/jffs2/super.c index c37fb163e..257a06ea0 100644 --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c @@ -7,7 +7,7 @@ * * For licensing information, see the file 'LICENCE' in this directory. * - * $Id: super.c,v 1.97 2004/07/16 15:17:57 dwmw2 Exp $ + * $Id: super.c,v 1.99 2004/08/24 07:59:57 dwmw2 Exp $ * */ @@ -130,7 +130,7 @@ static struct super_block *jffs2_get_sb_mtd(struct file_system_type *fs_type, mtd->index, mtd->name)); sb->s_op = &jffs2_super_operations; - sb->s_flags |= MS_NOATIME; + sb->s_flags = flags | MS_NOATIME; ret = jffs2_do_fill_super(sb, data, (flags&MS_VERBOSE)?1:0); @@ -302,7 +302,7 @@ static int __init init_jffs2_fs(void) jffs2_inode_cachep = kmem_cache_create("jffs2_i", sizeof(struct jffs2_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, jffs2_i_init_once, NULL); if (!jffs2_inode_cachep) { printk(KERN_ERR "JFFS2 error: Failed to initialise inode cache\n"); @@ -330,6 +330,7 @@ static int __init init_jffs2_fs(void) out_compressors: jffs2_compressors_exit(); out: + kmem_cache_destroy(jffs2_inode_cachep); return ret; } diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c index a1cef90ae..050d9ddf3 100644 --- a/fs/jfs/acl.c +++ b/fs/jfs/acl.c @@ -1,7 +1,7 @@ /* - * Copyright (c) International Business Machines Corp., 2002 - * Copyright (c) Andreas Gruenbacher, 2001 - * Copyright (c) Linus Torvalds, 1991, 1992 + * Copyright (C) International Business Machines Corp., 2002-2004 + * Copyright (C) Andreas Gruenbacher, 2001 + * Copyright (C) Linus Torvalds, 1991, 1992 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ #include #include +#include #include "jfs_incore.h" #include "jfs_xattr.h" #include "jfs_acl.h" @@ -281,6 +282,12 @@ int jfs_setattr(struct dentry *dentry, struct iattr *iattr) if (rc) return rc; + if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) || + (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) { + if (DQUOT_TRANSFER(inode, iattr)) + return -EDQUOT; + } + rc = inode_setattr(inode, iattr); if (!rc && (iattr->ia_valid & ATTR_MODE)) diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c index 71e797774..29930b6cc 100644 --- a/fs/jfs/jfs_dtree.c +++ b/fs/jfs/jfs_dtree.c @@ -101,6 +101,7 @@ */ #include +#include #include "jfs_incore.h" #include "jfs_superblock.h" #include "jfs_filsys.h" @@ -380,7 +381,8 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) * It's time to move the inline table to an external * page and begin to build the xtree */ - if (dbAlloc(ip, 0, sbi->nbperpage, &xaddr)) + if (DQUOT_ALLOC_BLOCK(ip, sbi->nbperpage) || + dbAlloc(ip, 0, sbi->nbperpage, &xaddr)) goto clean_up; /* No space */ /* @@ -405,7 +407,6 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) goto clean_up; } ip->i_size = PSIZE; - ip->i_blocks += LBLK2PBLK(sb, sbi->nbperpage); if ((mp = get_index_page(ip, 0)) == 0) { jfs_err("add_index: get_metapage failed!"); @@ -447,7 +448,6 @@ static u32 add_index(tid_t tid, struct inode *ip, s64 bn, int slot) goto clean_up; } ip->i_size += PSIZE; - ip->i_blocks += LBLK2PBLK(sb, sbi->nbperpage); if ((mp = get_index_page(ip, blkno))) memset(mp->data, 0, PSIZE); /* Just looks better */ @@ -946,6 +946,7 @@ static int dtSplitUp(tid_t tid, struct dt_lock *dtlck; struct tlock *tlck; struct lv *lv; + int quota_allocation = 0; /* get split page */ smp = split->mp; @@ -992,7 +993,9 @@ static int dtSplitUp(tid_t tid, split->pxdlist = &pxdlist; rc = dtSplitRoot(tid, ip, split, &rmp); - if (!rc) + if (rc) + dbFree(ip, xaddr, xlen); + else DT_PUTPAGE(rmp); DT_PUTPAGE(smp); @@ -1017,6 +1020,14 @@ static int dtSplitUp(tid_t tid, n = xlen + (xlen << 1); else n = xlen; + + /* Allocate blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, n)) { + rc = -EDQUOT; + goto extendOut; + } + quota_allocation += n; + if ((rc = dbReAlloc(sbi->ipbmap, xaddr, (s64) xlen, (s64) n, &nxaddr))) goto extendOut; @@ -1285,6 +1296,10 @@ static int dtSplitUp(tid_t tid, freeKeyName: kfree(key.name); + /* Rollback quota allocation */ + if (rc && quota_allocation) + DQUOT_FREE_BLOCK(ip, quota_allocation); + dtSplitUp_Exit: return rc; @@ -1305,7 +1320,6 @@ static int dtSplitUp(tid_t tid, static int dtSplitPage(tid_t tid, struct inode *ip, struct dtsplit * split, struct metapage ** rmpp, dtpage_t ** rpp, pxd_t * rpxdp) { - struct super_block *sb = ip->i_sb; int rc = 0; struct metapage *smp; dtpage_t *sp; @@ -1344,6 +1358,12 @@ static int dtSplitPage(tid_t tid, struct inode *ip, struct dtsplit * split, if (rmp == NULL) return -EIO; + /* Allocate blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, lengthPXD(pxd))) { + release_metapage(rmp); + return -EDQUOT; + } + jfs_info("dtSplitPage: ip:0x%p smp:0x%p rmp:0x%p", ip, smp, rmp); BT_MARK_DIRTY(rmp, ip); @@ -1593,8 +1613,6 @@ static int dtSplitPage(tid_t tid, struct inode *ip, struct dtsplit * split, *rmpp = rmp; *rpxdp = *pxd; - ip->i_blocks += LBLK2PBLK(sb, lengthPXD(pxd)); - return rc; } @@ -1823,16 +1841,6 @@ static int dtExtendPage(tid_t tid, tpxd = (pxd_t *) & pp->slot[1]; *tpxd = *pxd; - /* Since the directory might have an EA and/or ACL associated with it - * we need to make sure we take that into account when setting the - * i_nblocks - */ - ip->i_blocks = LBLK2PBLK(ip->i_sb, xlen + - ((JFS_IP(ip)->ea.flag & DXD_EXTENT) ? - lengthDXD(&JFS_IP(ip)->ea) : 0) + - ((JFS_IP(ip)->acl.flag & DXD_EXTENT) ? - lengthDXD(&JFS_IP(ip)->acl) : 0)); - DT_PUTPAGE(pmp); return 0; } @@ -1900,6 +1908,12 @@ static int dtSplitRoot(tid_t tid, rp = rmp->data; + /* Allocate blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, lengthPXD(pxd))) { + release_metapage(rmp); + return -EDQUOT; + } + BT_MARK_DIRTY(rmp, ip); /* * acquire a transaction lock on the new right page @@ -2042,7 +2056,6 @@ static int dtSplitRoot(tid_t tid, *rmpp = rmp; - ip->i_blocks += LBLK2PBLK(ip->i_sb, lengthPXD(pxd)); return 0; } @@ -2265,7 +2278,9 @@ static int dtDeleteUp(tid_t tid, struct inode *ip, } xlen = lengthPXD(&fp->header.self); - ip->i_blocks -= LBLK2PBLK(ip->i_sb, xlen); + + /* Free quota allocation. */ + DQUOT_FREE_BLOCK(ip, xlen); /* free/invalidate its buffer page */ discard_metapage(fmp); @@ -2339,7 +2354,9 @@ static int dtDeleteUp(tid_t tid, struct inode *ip, } xlen = lengthPXD(&p->header.self); - ip->i_blocks -= LBLK2PBLK(ip->i_sb, xlen); + + /* Free quota allocation */ + DQUOT_FREE_BLOCK(ip, xlen); /* free/invalidate its buffer page */ discard_metapage(mp); @@ -2877,14 +2894,6 @@ void dtInitRoot(tid_t tid, struct inode *ip, u32 idotdot) /* init '..' entry */ p->header.idotdot = cpu_to_le32(idotdot); -#if 0 - ip->i_blocks = LBLK2PBLK(ip->i_sb, - ((jfs_ip->ea.flag & DXD_EXTENT) ? - lengthDXD(&jfs_ip->ea) : 0) + - ((jfs_ip->acl.flag & DXD_EXTENT) ? - lengthDXD(&jfs_ip->acl) : 0)); -#endif - return; } diff --git a/fs/jfs/jfs_extent.c b/fs/jfs/jfs_extent.c index 2b411bc32..1953acb79 100644 --- a/fs/jfs/jfs_extent.c +++ b/fs/jfs/jfs_extent.c @@ -1,5 +1,5 @@ /* - * Copyright (C) International Business Machines Corp., 2000-2003 + * Copyright (C) International Business Machines Corp., 2000-2004 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,6 +17,7 @@ */ #include +#include #include "jfs_incore.h" #include "jfs_superblock.h" #include "jfs_dmap.h" @@ -144,6 +145,13 @@ extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr) return (rc); } + /* Allocate blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, nxlen)) { + dbFree(ip, nxaddr, (s64) nxlen); + up(&JFS_IP(ip)->commit_sem); + return -EDQUOT; + } + /* determine the value of the extent flag */ xflag = (abnr == TRUE) ? XAD_NOTRECORDED : 0; @@ -161,13 +169,11 @@ extAlloc(struct inode *ip, s64 xlen, s64 pno, xad_t * xp, boolean_t abnr) */ if (rc) { dbFree(ip, nxaddr, nxlen); + DQUOT_FREE_BLOCK(ip, nxlen); up(&JFS_IP(ip)->commit_sem); return (rc); } - /* update the number of blocks allocated to the file */ - ip->i_blocks += LBLK2PBLK(ip->i_sb, nxlen); - /* set the results of the extent allocation */ XADaddress(xp, nxaddr); XADlength(xp, nxlen); @@ -254,6 +260,13 @@ int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr) if ((rc = extBrealloc(ip, xaddr, xlen, &nxlen, &nxaddr))) goto exit; + /* Allocat blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, nxlen)) { + dbFree(ip, nxaddr, (s64) nxlen); + up(&JFS_IP(ip)->commit_sem); + return -EDQUOT; + } + delta = nxlen - xlen; /* check if the extend page is not abnr but the request is abnr @@ -289,6 +302,7 @@ int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr) /* extend the extent */ if ((rc = xtExtend(0, ip, xoff + xlen, (int) nextend, 0))) { dbFree(ip, xaddr + xlen, delta); + DQUOT_FREE_BLOCK(ip, nxlen); goto exit; } } else { @@ -299,6 +313,7 @@ int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr) */ if ((rc = xtTailgate(0, ip, xoff, (int) ntail, nxaddr, 0))) { dbFree(ip, nxaddr, nxlen); + DQUOT_FREE_BLOCK(ip, nxlen); goto exit; } } @@ -320,9 +335,6 @@ int extRealloc(struct inode *ip, s64 nxlen, xad_t * xp, boolean_t abnr) } } - /* update the inode with the number of blocks allocated */ - ip->i_blocks += LBLK2PBLK(sb, delta); - /* set the return results */ XADaddress(xp, nxaddr); XADlength(xp, nxlen); diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index 6a6f147e8..1c77abca0 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c @@ -1,5 +1,5 @@ /* - * Copyright (C) International Business Machines Corp., 2000-2003 + * Copyright (C) International Business Machines Corp., 2000-2004 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -44,7 +44,9 @@ #include #include #include +#include #include +#include #include "jfs_incore.h" #include "jfs_filsys.h" @@ -505,6 +507,9 @@ struct inode *diReadSpecial(struct super_block *sb, ino_t inum, int secondary) ip->i_mapping->a_ops = &jfs_aops; mapping_set_gfp_mask(ip->i_mapping, GFP_NOFS); + /* Allocations to metadata inodes should not affect quotas */ + ip->i_flags |= S_NOQUOTA; + if ((inum == FILESYSTEM_I) && (JFS_IP(ip)->ipimap == sbi->ipaimap)) { sbi->gengen = le32_to_cpu(dp->di_gengen); sbi->inostamp = le32_to_cpu(dp->di_inostamp); @@ -2602,28 +2607,11 @@ diNewIAG(struct inomap * imap, int *iagnop, int agno, struct metapage ** mpp) iagp->inosmap[i] = ONES; flush_metapage(mp); -#ifdef _STILL_TO_PORT - /* synchronously write the iag page */ - if (bmWrite(bp)) { - /* Free the blocks allocated for the iag since it was - * not successfully added to the inode map - */ - dbFree(ipimap, xaddr, (s64) xlen); - - /* release the inode map lock */ - IWRITE_UNLOCK(ipimap); - - rc = -EIO; - goto out; - } - - /* Now the iag is on disk */ /* * start tyransaction of update of the inode map * addressing structure pointing to the new iag page; */ -#endif /* _STILL_TO_PORT */ tid = txBegin(sb, COMMIT_FORCE); down(&JFS_IP(ipimap)->commit_sem); @@ -2645,7 +2633,7 @@ diNewIAG(struct inomap * imap, int *iagnop, int agno, struct metapage ** mpp) /* update the inode map's inode to reflect the extension */ ipimap->i_size += PSIZE; - ipimap->i_blocks += LBLK2PBLK(sb, xlen); + inode_add_bytes(ipimap, PSIZE); /* * txCommit(COMMIT_FORCE) will synchronously write address @@ -3086,7 +3074,7 @@ static void duplicateIXtree(struct super_block *sb, s64 blkno, } /* update the inode map's inode to reflect the extension */ ip->i_size += PSIZE; - ip->i_blocks += LBLK2PBLK(sb, xlen); + inode_add_bytes(ip, PSIZE); txCommit(tid, 1, &ip, COMMIT_FORCE); cleanup: txEnd(tid); @@ -3119,7 +3107,7 @@ static int copy_from_dinode(struct dinode * dip, struct inode *ip) ip->i_uid = INOXID_UID(XID_TAG(ip), uid, gid); ip->i_gid = INOXID_GID(XID_TAG(ip), uid, gid); ip->i_xid = INOXID_XID(XID_TAG(ip), uid, gid, 0); - + ip->i_size = le64_to_cpu(dip->di_size); ip->i_atime.tv_sec = le32_to_cpu(dip->di_atime.tv_sec); ip->i_atime.tv_nsec = le32_to_cpu(dip->di_atime.tv_nsec); diff --git a/fs/jfs/jfs_metapage.c b/fs/jfs/jfs_metapage.c index 831ee09c2..82ffeaadf 100644 --- a/fs/jfs/jfs_metapage.c +++ b/fs/jfs/jfs_metapage.c @@ -557,6 +557,7 @@ again: if (page) { block_invalidatepage(page, 0); unlock_page(page); + page_cache_release(page); } } } diff --git a/fs/jfs/jfs_mount.c b/fs/jfs/jfs_mount.c index fad757e9e..aa871829b 100644 --- a/fs/jfs/jfs_mount.c +++ b/fs/jfs/jfs_mount.c @@ -197,9 +197,6 @@ int jfs_mount(struct super_block *sb) /* * unwind on error */ -//errout42: /* close fileset inode allocation map */ - diUnmount(ipimap, 1); - errout41: /* close fileset inode allocation map inode */ diFreeSpecial(ipimap); diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c index f4bd79b70..12e9ccffb 100644 --- a/fs/jfs/jfs_txnmgr.c +++ b/fs/jfs/jfs_txnmgr.c @@ -165,7 +165,6 @@ struct { * external references */ extern int lmGroupCommit(struct jfs_log *, struct tblock *); -extern void lmSync(struct jfs_log *); extern int jfs_commit_inode(struct inode *, int); extern int jfs_stop_threads; @@ -2622,8 +2621,6 @@ void txAbort(tid_t tid, int dirty) struct tblock *tblk = tid_to_tblock(tid); struct tlock *tlck; - jfs_warn("txAbort: tid:%d dirty:0x%x", tid, dirty); - /* * free tlocks of the transaction */ diff --git a/fs/jfs/jfs_xtree.c b/fs/jfs/jfs_xtree.c index 19913fcd4..b4dc15924 100644 --- a/fs/jfs/jfs_xtree.c +++ b/fs/jfs/jfs_xtree.c @@ -1,5 +1,5 @@ /* - * Copyright (C) International Business Machines Corp., 2000-2003 + * Copyright (C) International Business Machines Corp., 2000-2004 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,6 +20,7 @@ */ #include +#include #include "jfs_incore.h" #include "jfs_filsys.h" #include "jfs_metapage.h" @@ -829,8 +830,12 @@ int xtInsert(tid_t tid, /* transaction id */ hint = addressXAD(xad) + lengthXAD(xad) - 1; } else hint = 0; - if ((rc = dbAlloc(ip, hint, (s64) xlen, &xaddr))) + if ((rc = DQUOT_ALLOC_BLOCK(ip, xlen))) goto out; + if ((rc = dbAlloc(ip, hint, (s64) xlen, &xaddr))) { + DQUOT_FREE_BLOCK(ip, xlen); + goto out; + } } /* @@ -855,8 +860,10 @@ int xtInsert(tid_t tid, /* transaction id */ split.pxdlist = NULL; if ((rc = xtSplitUp(tid, ip, &split, &btstack))) { /* undo data extent allocation */ - if (*xaddrp == 0) + if (*xaddrp == 0) { dbFree(ip, xaddr, (s64) xlen); + DQUOT_FREE_BLOCK(ip, xlen); + } return rc; } @@ -1214,22 +1221,34 @@ xtSplitPage(tid_t tid, struct inode *ip, pxd_t *pxd; struct tlock *tlck; struct xtlock *sxtlck = NULL, *rxtlck = NULL; + int quota_allocation = 0; smp = split->mp; sp = XT_PAGE(ip, smp); INCREMENT(xtStat.split); - /* - * allocate the new right page for the split - */ pxdlist = split->pxdlist; pxd = &pxdlist->pxd[pxdlist->npxd]; pxdlist->npxd++; rbn = addressPXD(pxd); + + /* Allocate blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, lengthPXD(pxd))) { + rc = -EDQUOT; + goto clean_up; + } + + quota_allocation += lengthPXD(pxd); + + /* + * allocate the new right page for the split + */ rmp = get_metapage(ip, rbn, PSIZE, 1); - if (rmp == NULL) - return -EIO; + if (rmp == NULL) { + rc = -EIO; + goto clean_up; + } jfs_info("xtSplitPage: ip:0x%p smp:0x%p rmp:0x%p", ip, smp, rmp); @@ -1304,8 +1323,6 @@ xtSplitPage(tid_t tid, struct inode *ip, *rmpp = rmp; *rbnp = rbn; - ip->i_blocks += LBLK2PBLK(ip->i_sb, lengthPXD(pxd)); - jfs_info("xtSplitPage: sp:0x%p rp:0x%p", sp, rp); return 0; } @@ -1321,7 +1338,7 @@ xtSplitPage(tid_t tid, struct inode *ip, XT_GETPAGE(ip, nextbn, mp, PSIZE, p, rc); if (rc) { XT_PUTPAGE(rmp); - return rc; + goto clean_up; } BT_MARK_DIRTY(mp, ip); @@ -1420,10 +1437,16 @@ xtSplitPage(tid_t tid, struct inode *ip, *rmpp = rmp; *rbnp = rbn; - ip->i_blocks += LBLK2PBLK(ip->i_sb, lengthPXD(pxd)); - jfs_info("xtSplitPage: sp:0x%p rp:0x%p", sp, rp); return rc; + + clean_up: + + /* Rollback quota allocation. */ + if (quota_allocation) + DQUOT_FREE_BLOCK(ip, quota_allocation); + + return (rc); } @@ -1478,6 +1501,12 @@ xtSplitRoot(tid_t tid, if (rmp == NULL) return -EIO; + /* Allocate blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, lengthPXD(pxd))) { + release_metapage(rmp); + return -EDQUOT; + } + jfs_info("xtSplitRoot: ip:0x%p rmp:0x%p", ip, rmp); /* @@ -1561,8 +1590,6 @@ xtSplitRoot(tid_t tid, *rmpp = rmp; - ip->i_blocks += LBLK2PBLK(ip->i_sb, lengthPXD(pxd)); - jfs_info("xtSplitRoot: sp:0x%p rp:0x%p", sp, rp); return 0; } @@ -3909,8 +3936,8 @@ s64 xtTruncate(tid_t tid, struct inode *ip, s64 newsize, int flag) else ip->i_size = newsize; - /* update nblocks to reflect freed blocks */ - ip->i_blocks -= LBLK2PBLK(ip->i_sb, nfreed); + /* update quota allocation to reflect freed blocks */ + DQUOT_FREE_BLOCK(ip, nfreed); /* * free tlock of invalidated pages diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c index 8c3a8e78d..e089615ad 100644 --- a/fs/jfs/namei.c +++ b/fs/jfs/namei.c @@ -19,6 +19,7 @@ #include #include +#include #include "jfs_incore.h" #include "jfs_superblock.h" #include "jfs_inode.h" @@ -123,10 +124,10 @@ static int jfs_create(struct inode *dip, struct dentry *dentry, int mode, */ ino = ip->i_ino; if ((rc = dtInsert(tid, dip, &dname, &ino, &btstack))) { - jfs_err("jfs_create: dtInsert returned %d", rc); - if (rc == -EIO) + if (rc == -EIO) { + jfs_err("jfs_create: dtInsert returned -EIO"); txAbort(tid, 1); /* Marks Filesystem dirty */ - else + } else txAbort(tid, 0); /* Filesystem full */ goto out3; } @@ -250,11 +251,10 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) */ ino = ip->i_ino; if ((rc = dtInsert(tid, dip, &dname, &ino, &btstack))) { - jfs_err("jfs_mkdir: dtInsert returned %d", rc); - - if (rc == -EIO) + if (rc == -EIO) { + jfs_err("jfs_mkdir: dtInsert returned -EIO"); txAbort(tid, 1); /* Marks Filesystem dirty */ - else + } else txAbort(tid, 0); /* Filesystem full */ goto out3; } @@ -330,6 +330,9 @@ static int jfs_rmdir(struct inode *dip, struct dentry *dentry) jfs_info("jfs_rmdir: dip:0x%p name:%s", dip, dentry->d_name.name); + /* Init inode for quota operations. */ + DQUOT_INIT(ip); + /* directory must be empty to be removed */ if (!dtEmpty(ip)) { rc = -ENOTEMPTY; @@ -455,6 +458,9 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry) jfs_info("jfs_unlink: dip:0x%p name:%s", dip, dentry->d_name.name); + /* Init inode for quota operations. */ + DQUOT_INIT(ip); + if ((rc = get_UCSname(&dname, dentry))) goto out; @@ -813,7 +819,10 @@ static int jfs_link(struct dentry *old_dentry, iplist[1] = dir; rc = txCommit(tid, 2, &iplist[0], 0); - if (!rc) + if (rc) { + ip->i_nlink--; + iput(ip); + } else d_instantiate(dentry, ip); free_dname: @@ -964,7 +973,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, mp = get_metapage(ip, xaddr, PSIZE, 1); if (mp == NULL) { - dbFree(ip, extent, xlen); + xtTruncate(tid, ip, 0, COMMIT_PWMAP); rc = -EIO; txAbort(tid, 0); goto out3; @@ -975,7 +984,6 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, name += copy_size; xaddr += JFS_SBI(sb)->nbperpage; } - ip->i_blocks = LBLK2PBLK(sb, xlen); } /* @@ -988,7 +996,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, } if (rc) { if (xlen) - dbFree(ip, extent, xlen); + xtTruncate(tid, ip, 0, COMMIT_PWMAP); txAbort(tid, 0); /* discard new inode */ goto out3; @@ -1104,8 +1112,11 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, rc = -EMLINK; goto out3; } - } else if (new_ip) + } else if (new_ip) { IWRITE_LOCK(new_ip); + /* Init inode for quota operations. */ + DQUOT_INIT(new_ip); + } /* * The real work starts here @@ -1174,8 +1185,8 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, ino = old_ip->i_ino; rc = dtInsert(tid, new_dir, &new_dname, &ino, &btstack); if (rc) { - jfs_err("jfs_rename: dtInsert failed w/rc = %d", - rc); + if (rc == -EIO) + jfs_err("jfs_rename: dtInsert returned -EIO"); goto out4; } if (S_ISDIR(old_ip->i_mode)) diff --git a/fs/jfs/super.c b/fs/jfs/super.c index 9615a83d7..7c91ccfe3 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c @@ -58,7 +58,7 @@ DECLARE_COMPLETION(jfsIOwait); #ifdef CONFIG_JFS_DEBUG int jfsloglevel = JFS_LOGLEVEL_WARN; -module_param(jfsloglevel, int, 644); +module_param(jfsloglevel, int, 0644); MODULE_PARM_DESC(jfsloglevel, "Specify JFS loglevel (0, 1 or 2)"); #endif @@ -77,7 +77,7 @@ extern int jfs_sync(void *); extern void jfs_read_inode(struct inode *inode); extern void jfs_dirty_inode(struct inode *inode); extern void jfs_delete_inode(struct inode *inode); -extern void jfs_write_inode(struct inode *inode, int wait); +extern int jfs_write_inode(struct inode *inode, int wait); extern struct dentry *jfs_get_parent(struct dentry *dentry); extern int jfs_extendfs(struct super_block *, s64, int); diff --git a/fs/jfs/xattr.c b/fs/jfs/xattr.c index cf3fba6e5..9c0e3a524 100644 --- a/fs/jfs/xattr.c +++ b/fs/jfs/xattr.c @@ -1,5 +1,5 @@ /* - * Copyright (C) International Business Machines Corp., 2000-2003 + * Copyright (C) International Business Machines Corp., 2000-2004 * Copyright (C) Christoph Hellwig, 2002 * * This program is free software; you can redistribute it and/or modify @@ -19,6 +19,7 @@ #include #include +#include #include "jfs_incore.h" #include "jfs_superblock.h" #include "jfs_dmap.h" @@ -251,9 +252,17 @@ static int ea_write(struct inode *ip, struct jfs_ea_list *ealist, int size, /* figure out how many blocks we need */ nblocks = (size + (sb->s_blocksize - 1)) >> sb->s_blocksize_bits; + /* Allocate new blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(ip, nblocks)) { + return -EDQUOT; + } + rc = dbAlloc(ip, INOHINT(ip), nblocks, &blkno); - if (rc) + if (rc) { + /*Rollback quota allocation. */ + DQUOT_FREE_BLOCK(ip, nblocks); return rc; + } /* * Now have nblocks worth of storage to stuff into the FEALIST. @@ -315,6 +324,9 @@ static int ea_write(struct inode *ip, struct jfs_ea_list *ealist, int size, return 0; failed: + /* Rollback quota allocation. */ + DQUOT_FREE_BLOCK(ip, nblocks); + dbFree(ip, blkno, nblocks); return rc; } @@ -448,6 +460,7 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) int blocks_needed, current_blocks; s64 blkno; int rc; + int quota_allocation = 0; /* When fsck.jfs clears a bad ea, it doesn't clear the size */ if (ji->ea.flag == 0) @@ -517,10 +530,16 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) sb->s_blocksize_bits; if (blocks_needed > current_blocks) { + /* Allocate new blocks to quota. */ + if (DQUOT_ALLOC_BLOCK(inode, blocks_needed)) + return -EDQUOT; + + quota_allocation = blocks_needed; + rc = dbAlloc(inode, INOHINT(inode), (s64) blocks_needed, &blkno); if (rc) - return rc; + goto clean_up; DXDlength(&ea_buf->new_ea, blocks_needed); DXDaddress(&ea_buf->new_ea, blkno); @@ -534,7 +553,8 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) 1); if (ea_buf->mp == NULL) { dbFree(inode, blkno, (s64) blocks_needed); - return -EIO; + rc = -EIO; + goto clean_up; } ea_buf->xattr = ea_buf->mp->data; ea_buf->max_size = (min_size + sb->s_blocksize - 1) & @@ -544,7 +564,7 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) if ((rc = ea_read(inode, ea_buf->xattr))) { discard_metapage(ea_buf->mp); dbFree(inode, blkno, (s64) blocks_needed); - return rc; + goto clean_up; } goto size_check; } @@ -552,8 +572,10 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) ea_buf->mp = read_metapage(inode, addressDXD(&ji->ea), lengthDXD(&ji->ea) << sb->s_blocksize_bits, 1); - if (ea_buf->mp == NULL) - return -EIO; + if (ea_buf->mp == NULL) { + rc = -EIO; + goto clean_up; + } ea_buf->xattr = ea_buf->mp->data; ea_buf->max_size = (ea_size + sb->s_blocksize - 1) & ~(sb->s_blocksize - 1); @@ -563,10 +585,18 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) printk(KERN_ERR "ea_get: invalid extended attribute\n"); dump_mem("xattr", ea_buf->xattr, ea_size); ea_release(inode, ea_buf); - return -EIO; + rc = -EIO; + goto clean_up; } return ea_size; + + clean_up: + /* Rollback quota allocation */ + if (quota_allocation) + DQUOT_FREE_BLOCK(inode, quota_allocation); + + return (rc); } static void ea_release(struct inode *inode, struct ea_buffer *ea_buf) @@ -640,7 +670,10 @@ static int ea_put(struct inode *inode, struct ea_buffer *ea_buf, int new_size) ji->ea.size = 0; } - inode->i_blocks += LBLK2PBLK(inode->i_sb, new_blocks - old_blocks); + /* If old blocks exist, they must be removed from quota allocation. */ + if (old_blocks) + DQUOT_FREE_BLOCK(inode, old_blocks); + inode->i_ctime = CURRENT_TIME; rc = txCommit(tid, 1, &inode, 0); txEnd(tid); diff --git a/fs/lockd/clntlock.c b/fs/lockd/clntlock.c index f16c78417..afec51c95 100644 --- a/fs/lockd/clntlock.c +++ b/fs/lockd/clntlock.c @@ -50,14 +50,19 @@ nlmclnt_block(struct nlm_host *host, struct file_lock *fl, u32 *statp) struct nlm_wait block, **head; int err; u32 pstate; + wait_queue_t __wait; block.b_host = host; block.b_lock = fl; - init_waitqueue_head(&block.b_wait); block.b_status = NLM_LCK_BLOCKED; + init_waitqueue_entry(&__wait, current); + init_waitqueue_head(&block.b_wait); + add_wait_queue(&block.b_wait, &__wait); + block.b_next = nlm_blocked; nlm_blocked = █ + /* Remember pseudo nsm state */ pstate = host->h_state; @@ -69,8 +74,8 @@ nlmclnt_block(struct nlm_host *host, struct file_lock *fl, u32 *statp) * a 1 minute timeout would do. See the comment before * nlmclnt_lock for an explanation. */ - sleep_on_timeout(&block.b_wait, 30*HZ); - #warning race + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(30*HZ); for (head = &nlm_blocked; *head; head = &(*head)->b_next) { if (*head == &block) { @@ -78,6 +83,7 @@ nlmclnt_block(struct nlm_host *host, struct file_lock *fl, u32 *statp) break; } } + remove_wait_queue(&block.b_wait, &__wait); if (!signalled()) { *statp = block.b_status; @@ -147,7 +153,7 @@ void nlmclnt_mark_reclaim(struct nlm_host *host) inode = fl->fl_file->f_dentry->d_inode; if (inode->i_sb->s_magic != NFS_SUPER_MAGIC) continue; - if (fl->fl_u.nfs_fl.host != host) + if (fl->fl_u.nfs_fl.owner->host != host) continue; if (!(fl->fl_u.nfs_fl.flags & NFS_LCK_GRANTED)) continue; @@ -168,7 +174,7 @@ void nlmclnt_prepare_reclaim(struct nlm_host *host, u32 newstate) host->h_nextrebind = 0; nlm_rebind_host(host); nlmclnt_mark_reclaim(host); - dprintk("NLM: reclaiming locks for host %s", host->h_name); + dprintk("NLM: reclaiming locks for host %s\n", host->h_name); } /* @@ -216,7 +222,7 @@ restart: inode = fl->fl_file->f_dentry->d_inode; if (inode->i_sb->s_magic != NFS_SUPER_MAGIC) continue; - if (fl->fl_u.nfs_fl.host != host) + if (fl->fl_u.nfs_fl.owner->host != host) continue; if (!(fl->fl_u.nfs_fl.flags & NFS_LCK_RECLAIM)) continue; diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c index caad617be..b8d77d4c7 100644 --- a/fs/lockd/clntproc.c +++ b/fs/lockd/clntproc.c @@ -592,9 +592,25 @@ nlmclnt_reclaim(struct nlm_host *host, struct file_lock *fl) nlmclnt_setlockargs(req, fl); req->a_args.reclaim = 1; - if ((status = nlmclnt_call(req, NLMPROC_LOCK)) >= 0 - && req->a_res.status == NLM_LCK_GRANTED) - return 0; +again: + switch ((status = nlmclnt_call(req, NLMPROC_LOCK))) { + case 0: + if (req->a_res.status == NLM_LCK_GRANTED) + return 0; + break; + case -EAGAIN: + case -EACCES: /* portmapper might be up, but lockd isn't */ + current->state = TASK_INTERRUPTIBLE; + schedule_timeout(10*HZ); + if (signalled()) { + status = -EINTR; + dprintk("lockd: reclaim got interrupted!\n"); + break; + } + goto again; + default: + break; + } printk(KERN_WARNING "lockd: failed to reclaim lock for pid %d " "(errno %d, status %d)\n", fl->fl_pid, diff --git a/fs/lockd/host.c b/fs/lockd/host.c index 6bf6befe6..7b4020e67 100644 --- a/fs/lockd/host.c +++ b/fs/lockd/host.c @@ -104,11 +104,7 @@ nlm_lookup_host(int server, struct sockaddr_in *sin, memset(host, 0, sizeof(*host)); addr = sin->sin_addr.s_addr; - sprintf(host->h_name, "%d.%d.%d.%d", - (unsigned char) (ntohl(addr) >> 24), - (unsigned char) (ntohl(addr) >> 16), - (unsigned char) (ntohl(addr) >> 8), - (unsigned char) (ntohl(addr) >> 0)); + sprintf(host->h_name, "%u.%u.%u.%u", NIPQUAD(addr)); host->h_addr = *sin; host->h_addr.sin_port = 0; /* ouch! */ @@ -119,13 +115,15 @@ nlm_lookup_host(int server, struct sockaddr_in *sin, init_MUTEX(&host->h_sema); host->h_nextrebind = jiffies + NLM_HOST_REBIND; host->h_expires = jiffies + NLM_HOST_EXPIRE; - host->h_count = 1; + atomic_set(&host->h_count, 1); init_waitqueue_head(&host->h_gracewait); host->h_state = 0; /* pseudo NSM state */ host->h_nsmstate = 0; /* real NSM state */ host->h_server = server; host->h_next = nlm_hosts[hash]; nlm_hosts[hash] = host; + INIT_LIST_HEAD(&host->h_lockowners); + spin_lock_init(&host->h_lock); if (++nrhosts > NLM_HOST_MAX) next_gc = 0; @@ -188,15 +186,17 @@ nlm_bind_host(struct nlm_host *host) } } else { xprt = xprt_create_proto(host->h_proto, &host->h_addr, NULL); - if (IS_ERR(xprt)) + if (IS_ERR(xprt)) { + dprintk("lockd: xprt_create_proto failed: %ld\n", PTR_ERR(xprt)); goto forgetit; - + } xprt_set_timeout(&xprt->timeout, 5, nlmsvc_timeout); clnt = rpc_create_client(xprt, host->h_name, &nlm_program, host->h_version, host->h_authflavor); if (IS_ERR(clnt)) { xprt_destroy(xprt); + dprintk("lockd: rpc_create_client failed: %ld\n", PTR_ERR(clnt)); goto forgetit; } clnt->cl_autobind = 1; /* turn on pmap queries */ @@ -235,7 +235,7 @@ struct nlm_host * nlm_get_host(struct nlm_host *host) { if (host) { dprintk("lockd: get host %s\n", host->h_name); - host->h_count ++; + atomic_inc(&host->h_count); host->h_expires = jiffies + NLM_HOST_EXPIRE; } return host; @@ -246,9 +246,10 @@ struct nlm_host * nlm_get_host(struct nlm_host *host) */ void nlm_release_host(struct nlm_host *host) { - if (host && host->h_count) { + if (host != NULL) { dprintk("lockd: release host %s\n", host->h_name); - host->h_count --; + atomic_dec(&host->h_count); + BUG_ON(atomic_read(&host->h_count) < 0); } } @@ -283,7 +284,7 @@ nlm_shutdown_hosts(void) for (i = 0; i < NLM_HOST_NRHASH; i++) { for (host = nlm_hosts[i]; host; host = host->h_next) { dprintk(" %s (cnt %d use %d exp %ld)\n", - host->h_name, host->h_count, + host->h_name, atomic_read(&host->h_count), host->h_inuse, host->h_expires); } } @@ -314,10 +315,10 @@ nlm_gc_hosts(void) for (i = 0; i < NLM_HOST_NRHASH; i++) { q = &nlm_hosts[i]; while ((host = *q) != NULL) { - if (host->h_count || host->h_inuse + if (atomic_read(&host->h_count) || host->h_inuse || time_before(jiffies, host->h_expires)) { dprintk("nlm_gc_hosts skipping %s (cnt %d use %d exp %ld)\n", - host->h_name, host->h_count, + host->h_name, atomic_read(&host->h_count), host->h_inuse, host->h_expires); q = &host->h_next; continue; @@ -336,6 +337,7 @@ nlm_gc_hosts(void) rpc_destroy_client(host->h_rpcclnt); } } + BUG_ON(!list_empty(&host->h_lockowners)); kfree(host); nrhosts--; } diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c index de204b36b..a9f08284c 100644 --- a/fs/lockd/mon.c +++ b/fs/lockd/mon.c @@ -140,7 +140,6 @@ static u32 * xdr_encode_common(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp) { char buffer[20]; - u32 addr = ntohl(argp->addr); /* * Use the dotted-quad IP address of the remote host as @@ -148,8 +147,7 @@ xdr_encode_common(struct rpc_rqst *rqstp, u32 *p, struct nsm_args *argp) * hostname first for whatever remote hostname it receives, * so this works alright. */ - sprintf(buffer, "%d.%d.%d.%d", (addr>>24) & 0xff, (addr>>16) & 0xff, - (addr>>8) & 0xff, (addr) & 0xff); + sprintf(buffer, "%u.%u.%u.%u", NIPQUAD(argp->addr)); if (!(p = xdr_encode_string(p, buffer)) || !(p = xdr_encode_string(p, system_utsname.nodename))) return ERR_PTR(-EIO); diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 1bc0676a4..815a3b541 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c @@ -86,6 +86,46 @@ static inline void clear_grace_period(void) { nlmsvc_grace_period = 0; } +int +nlmsvc_dispatch(struct svc_rqst *rqstp, u32 *statp) +{ + struct svc_procedure *procp; + kxdrproc_t xdr; + struct kvec *argv; + struct kvec *resv; + + dprintk("nlmsvc_dispatch: vers %d proc %d\n", + rqstp->rq_vers, rqstp->rq_proc); + + procp = rqstp->rq_procinfo; + argv = &rqstp->rq_arg.head[0]; + resv = &rqstp->rq_res.head[0]; + + /* Decode arguments */ + xdr = procp->pc_decode; + if (xdr && !xdr(rqstp, argv->iov_base, rqstp->rq_argp)) { + dprintk("nlmsvc_dispatch: failed to decode arguments!\n"); + *statp = rpc_garbage_args; + return 1; + } + *statp = procp->pc_func(rqstp, rqstp->rq_argp, rqstp->rq_resp); + if (*statp == nlm_lck_dropit) { + dprintk("nlmsvc_dispatch: dropping request\n"); + return 0; + } + + /* Encode reply */ + if (*statp == rpc_success && (xdr = procp->pc_encode) + && !xdr(rqstp, resv->iov_base+resv->iov_len, rqstp->rq_resp)) { + dprintk("nlmsvc_dispatch: failed to encode reply\n"); + *statp = rpc_system_err; + return 1; + } + + dprintk("nlmsvc_dispatch: statp %d\n", ntohl(*statp)); + + return 1; +} /* * This is the lockd kernel thread @@ -278,6 +318,8 @@ void lockd_down(void) { static int warned; + wait_queue_t __wait; + int retries=0; down(&nlmsvc_sema); if (nlmsvc_users) { @@ -294,20 +336,33 @@ lockd_down(void) warned = 0; kill_proc(nlmsvc_pid, SIGKILL, 1); + + init_waitqueue_entry(&__wait, current); + add_wait_queue(&lockd_exit, &__wait); + /* * Wait for the lockd process to exit, but since we're holding * the lockd semaphore, we can't wait around forever ... */ clear_thread_flag(TIF_SIGPENDING); - interruptible_sleep_on_timeout(&lockd_exit, HZ); - if (nlmsvc_pid) { + set_current_state(TASK_UNINTERRUPTIBLE); + while (nlmsvc_pid) { + + schedule_timeout(HZ); + if (retries++ < 3) + continue; + printk(KERN_WARNING "lockd_down: lockd failed to exit, clearing pid\n"); nlmsvc_pid = 0; } + set_current_state(TASK_RUNNING); + remove_wait_queue(&lockd_exit, &__wait); + spin_lock_irq(¤t->sighand->siglock); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + out: up(&nlmsvc_sema); } @@ -444,12 +499,14 @@ static struct svc_version nlmsvc_version1 = { .vs_vers = 1, .vs_nproc = 17, .vs_proc = nlmsvc_procedures, + .vs_dispatch = nlmsvc_dispatch, .vs_xdrsize = NLMSVC_XDRSIZE, }; static struct svc_version nlmsvc_version3 = { .vs_vers = 3, .vs_nproc = 24, .vs_proc = nlmsvc_procedures, + .vs_dispatch = nlmsvc_dispatch, .vs_xdrsize = NLMSVC_XDRSIZE, }; #ifdef CONFIG_LOCKD_V4 @@ -457,6 +514,7 @@ static struct svc_version nlmsvc_version4 = { .vs_vers = 4, .vs_nproc = 24, .vs_proc = nlmsvc_procedures4, + .vs_dispatch = nlmsvc_dispatch, .vs_xdrsize = NLMSVC_XDRSIZE, }; #endif diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c index 3afa2659b..4c1d532ce 100644 --- a/fs/lockd/svc4proc.c +++ b/fs/lockd/svc4proc.c @@ -128,9 +128,12 @@ nlm4svc_proc_lock(struct svc_rqst *rqstp, struct nlm_args *argp, } /* Obtain client and file */ - if ((resp->status = nlm4svc_retrieve_args(rqstp, argp, &host, &file))) + if ((resp->status = nlm4svc_retrieve_args(rqstp, argp, &host, &file))) { + dprintk("lockd: LOCK(args) status %d\n", ntohl(resp->status)); + if (resp->status == nlm_lck_dropit) + return nlm_lck_dropit; return rpc_success; - + } #if 0 /* If supplied state doesn't match current state, we assume it's * an old request that time-warped somehow. Any error return would @@ -546,10 +549,10 @@ struct nlm_void { int dummy; }; .pc_ressize = sizeof(struct nlm_##rest), \ .pc_xdrressize = respsize, \ } -#define Ck (1+8) /* cookie */ -#define No (1+1024/4) /* netobj */ -#define St 1 /* status */ -#define Rg 4 /* range (offset + length) */ +#define Ck (1+XDR_QUADLEN(NLM_MAXCOOKIELEN)) /* cookie */ +#define No (1+1024/4) /* netobj */ +#define St 1 /* status */ +#define Rg 4 /* range (offset + length) */ struct svc_procedure nlmsvc_procedures4[] = { PROC(null, void, void, void, void, 1), PROC(test, testargs, testres, args, res, Ck+St+2+No+Rg), diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c index 2addc9200..de3f50afa 100644 --- a/fs/lockd/svclock.c +++ b/fs/lockd/svclock.c @@ -42,7 +42,6 @@ static void nlmsvc_insert_block(struct nlm_block *block, unsigned long); static int nlmsvc_remove_block(struct nlm_block *block); static void nlmsvc_grant_callback(struct rpc_task *task); -static void nlmsvc_notify_blocked(struct file_lock *); /* * The list of blocked locks to retry @@ -113,11 +112,11 @@ nlmsvc_lookup_block(struct nlm_file *file, struct nlm_lock *lock, int remove) (long long)lock->fl.fl_end, lock->fl.fl_type); for (head = &nlm_blocked; (block = *head) != 0; head = &block->b_next) { fl = &block->b_call.a_args.lock.fl; - dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%x\n", + dprintk("lockd: check f=%p pd=%d %Ld-%Ld ty=%d cookie=%s\n", block->b_file, fl->fl_pid, (long long)fl->fl_start, (long long)fl->fl_end, fl->fl_type, - *(unsigned int*)(block->b_call.a_args.cookie.data)); + nlmdbg_cookie2a(&block->b_call.a_args.cookie)); if (block->b_file == file && nlm_compare_locks(fl, &lock->fl)) { if (remove) { *head = block->b_next; @@ -193,7 +192,7 @@ nlmsvc_create_block(struct svc_rqst *rqstp, struct nlm_file *file, goto failed_free; /* Set notifier function for VFS, and init args */ - block->b_call.a_args.lock.fl.fl_notify = nlmsvc_notify_blocked; + block->b_call.a_args.lock.fl.fl_lmops = &nlmsvc_lock_operations; block->b_call.a_args.cookie = *cookie; /* see above */ dprintk("lockd: created block %p...\n", block); @@ -238,8 +237,13 @@ nlmsvc_delete_block(struct nlm_block *block, int unlock) /* Remove block from list */ nlmsvc_remove_block(block); - posix_unblock_lock(&file->f_file, fl); - block->b_granted = 0; + if (fl->fl_next) + posix_unblock_lock(file->f_file, fl); + if (unlock) { + fl->fl_type = F_UNLCK; + posix_lock_file(file->f_file, fl); + block->b_granted = 0; + } /* If the block is in the middle of a GRANT callback, * don't kill it yet. */ @@ -299,8 +303,8 @@ nlmsvc_lock(struct svc_rqst *rqstp, struct nlm_file *file, int error; dprintk("lockd: nlmsvc_lock(%s/%ld, ty=%d, pi=%d, %Ld-%Ld, bl=%d)\n", - file->f_file.f_dentry->d_inode->i_sb->s_id, - file->f_file.f_dentry->d_inode->i_ino, + file->f_file->f_dentry->d_inode->i_sb->s_id, + file->f_file->f_dentry->d_inode->i_ino, lock->fl.fl_type, lock->fl.fl_pid, (long long)lock->fl.fl_start, (long long)lock->fl.fl_end, @@ -316,8 +320,8 @@ again: /* Lock file against concurrent access */ down(&file->f_sema); - if (!(conflock = posix_test_lock(&file->f_file, &lock->fl))) { - error = posix_lock_file(&file->f_file, &lock->fl); + if (!(conflock = posix_test_lock(file->f_file, &lock->fl))) { + error = posix_lock_file(file->f_file, &lock->fl); if (block) nlmsvc_delete_block(block, 0); @@ -382,13 +386,13 @@ nlmsvc_testlock(struct nlm_file *file, struct nlm_lock *lock, struct file_lock *fl; dprintk("lockd: nlmsvc_testlock(%s/%ld, ty=%d, %Ld-%Ld)\n", - file->f_file.f_dentry->d_inode->i_sb->s_id, - file->f_file.f_dentry->d_inode->i_ino, + file->f_file->f_dentry->d_inode->i_sb->s_id, + file->f_file->f_dentry->d_inode->i_ino, lock->fl.fl_type, (long long)lock->fl.fl_start, (long long)lock->fl.fl_end); - if ((fl = posix_test_lock(&file->f_file, &lock->fl)) != NULL) { + if ((fl = posix_test_lock(file->f_file, &lock->fl)) != NULL) { dprintk("lockd: conflicting lock(ty=%d, %Ld-%Ld)\n", fl->fl_type, (long long)fl->fl_start, (long long)fl->fl_end); @@ -414,8 +418,8 @@ nlmsvc_unlock(struct nlm_file *file, struct nlm_lock *lock) int error; dprintk("lockd: nlmsvc_unlock(%s/%ld, pi=%d, %Ld-%Ld)\n", - file->f_file.f_dentry->d_inode->i_sb->s_id, - file->f_file.f_dentry->d_inode->i_ino, + file->f_file->f_dentry->d_inode->i_sb->s_id, + file->f_file->f_dentry->d_inode->i_ino, lock->fl.fl_pid, (long long)lock->fl.fl_start, (long long)lock->fl.fl_end); @@ -424,7 +428,7 @@ nlmsvc_unlock(struct nlm_file *file, struct nlm_lock *lock) nlmsvc_cancel_blocked(file, lock); lock->fl.fl_type = F_UNLCK; - error = posix_lock_file(&file->f_file, &lock->fl); + error = posix_lock_file(file->f_file, &lock->fl); return (error < 0)? nlm_lck_denied_nolocks : nlm_granted; } @@ -442,8 +446,8 @@ nlmsvc_cancel_blocked(struct nlm_file *file, struct nlm_lock *lock) struct nlm_block *block; dprintk("lockd: nlmsvc_cancel(%s/%ld, pi=%d, %Ld-%Ld)\n", - file->f_file.f_dentry->d_inode->i_sb->s_id, - file->f_file.f_dentry->d_inode->i_ino, + file->f_file->f_dentry->d_inode->i_sb->s_id, + file->f_file->f_dentry->d_inode->i_ino, lock->fl.fl_pid, (long long)lock->fl.fl_start, (long long)lock->fl.fl_end); @@ -479,6 +483,16 @@ nlmsvc_notify_blocked(struct file_lock *fl) printk(KERN_WARNING "lockd: notification for unknown block!\n"); } +static int nlmsvc_same_owner(struct file_lock *fl1, struct file_lock *fl2) +{ + return fl1->fl_owner == fl2->fl_owner && fl1->fl_pid == fl2->fl_pid; +} + +struct lock_manager_operations nlmsvc_lock_operations = { + .fl_compare_owner = nlmsvc_same_owner, + .fl_notify = nlmsvc_notify_blocked, +}; + /* * Try to claim a lock that was previously blocked. * @@ -515,7 +529,7 @@ nlmsvc_grant_blocked(struct nlm_block *block) } /* Try the lock operation again */ - if ((conflock = posix_test_lock(&file->f_file, &lock->fl)) != NULL) { + if ((conflock = posix_test_lock(file->f_file, &lock->fl)) != NULL) { /* Bummer, we blocked again */ dprintk("lockd: lock still blocked\n"); nlmsvc_insert_block(block, NLM_NEVER); @@ -528,7 +542,7 @@ nlmsvc_grant_blocked(struct nlm_block *block) * following yields an error, this is most probably due to low * memory. Retry the lock in a few seconds. */ - if ((error = posix_lock_file(&file->f_file, &lock->fl)) < 0) { + if ((error = posix_lock_file(file->f_file, &lock->fl)) < 0) { printk(KERN_WARNING "lockd: unexpected error %d in %s!\n", -error, __FUNCTION__); nlmsvc_insert_block(block, 10 * HZ); @@ -570,13 +584,13 @@ nlmsvc_grant_callback(struct rpc_task *task) struct sockaddr_in *peer_addr = RPC_PEERADDR(task->tk_client); dprintk("lockd: GRANT_MSG RPC callback\n"); - dprintk("callback: looking for cookie %x, host (%08x)\n", - *(unsigned int *)(call->a_args.cookie.data), - ntohl(peer_addr->sin_addr.s_addr)); + dprintk("callback: looking for cookie %s, host (%u.%u.%u.%u)\n", + nlmdbg_cookie2a(&call->a_args.cookie), + NIPQUAD(peer_addr->sin_addr.s_addr)); if (!(block = nlmsvc_find_block(&call->a_args.cookie, peer_addr))) { - dprintk("lockd: no block for cookie %x, host (%08x)\n", - *(u32 *)(call->a_args.cookie.data), - ntohl(peer_addr->sin_addr.s_addr)); + dprintk("lockd: no block for cookie %s, host (%u.%u.%u.%u)\n", + nlmdbg_cookie2a(&call->a_args.cookie), + NIPQUAD(peer_addr->sin_addr.s_addr)); return; } diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c index 3eca6cfdb..757e344cf 100644 --- a/fs/lockd/svcproc.c +++ b/fs/lockd/svcproc.c @@ -571,10 +571,10 @@ struct nlm_void { int dummy; }; .pc_xdrressize = respsize, \ } -#define Ck (1+8) /* cookie */ -#define St 1 /* status */ -#define No (1+1024/4) /* Net Obj */ -#define Rg 2 /* range - offset + size */ +#define Ck (1+XDR_QUADLEN(NLM_MAXCOOKIELEN)) /* cookie */ +#define St 1 /* status */ +#define No (1+1024/4) /* Net Obj */ +#define Rg 2 /* range - offset + size */ struct svc_procedure nlmsvc_procedures[] = { PROC(null, void, void, void, void, 1), diff --git a/fs/lockd/svcsubs.c b/fs/lockd/svcsubs.c index de7536358..91f030039 100644 --- a/fs/lockd/svcsubs.c +++ b/fs/lockd/svcsubs.c @@ -90,7 +90,7 @@ nlm_lookup_file(struct svc_rqst *rqstp, struct nlm_file **result, * the file. */ if ((nfserr = nlmsvc_ops->fopen(rqstp, f, &file->f_file)) != 0) { - dprintk("lockd: open failed (nfserr %d)\n", ntohl(nfserr)); + dprintk("lockd: open failed (nfserr %d)\n", nfserr); goto out_free; } @@ -114,7 +114,10 @@ out_free: nfserr = nlm4_stale_fh; else #endif - nfserr = nlm_lck_denied; + if (nfserr == 2) + nfserr = nlm_lck_dropit; + else + nfserr = nlm_lck_denied; goto out_unlock; } diff --git a/fs/lockd/xdr.c b/fs/lockd/xdr.c index a76c496a5..f01e9c0d2 100644 --- a/fs/lockd/xdr.c +++ b/fs/lockd/xdr.c @@ -55,16 +55,16 @@ static inline u32 *nlm_decode_cookie(u32 *p, struct nlm_cookie *c) c->len=4; memset(c->data, 0, 4); /* hockeypux brain damage */ } - else if(len<=8) + else if(len<=NLM_MAXCOOKIELEN) { c->len=len; memcpy(c->data, p, len); - p+=(len+3)>>2; + p+=XDR_QUADLEN(len); } else { printk(KERN_NOTICE - "lockd: bad cookie size %d (only cookies under 8 bytes are supported.)\n", len); + "lockd: bad cookie size %d (only cookies under %d bytes are supported.)\n", len, NLM_MAXCOOKIELEN); return NULL; } return p; @@ -75,7 +75,7 @@ nlm_encode_cookie(u32 *p, struct nlm_cookie *c) { *p++ = htonl(c->len); memcpy(p, c->data, c->len); - p+=(c->len+3)>>2; + p+=XDR_QUADLEN(c->len); return p; } @@ -86,7 +86,7 @@ nlm_decode_fh(u32 *p, struct nfs_fh *f) if ((len = ntohl(*p++)) != NFS2_FHSIZE) { printk(KERN_NOTICE - "lockd: bad fhandle size %x (should be %d)\n", + "lockd: bad fhandle size %d (should be %d)\n", len, NFS2_FHSIZE); return NULL; } @@ -512,11 +512,11 @@ nlmclt_decode_res(struct rpc_rqst *req, u32 *p, struct nlm_res *resp) * Buffer requirements for NLM */ #define NLM_void_sz 0 -#define NLM_cookie_sz 3 /* 1 len , 2 data */ -#define NLM_caller_sz 1+QUADLEN(sizeof(system_utsname.nodename)) -#define NLM_netobj_sz 1+QUADLEN(XDR_MAX_NETOBJ) -/* #define NLM_owner_sz 1+QUADLEN(NLM_MAXOWNER) */ -#define NLM_fhandle_sz 1+QUADLEN(NFS2_FHSIZE) +#define NLM_cookie_sz 1+XDR_QUADLEN(NLM_MAXCOOKIELEN) +#define NLM_caller_sz 1+XDR_QUADLEN(sizeof(system_utsname.nodename)) +#define NLM_netobj_sz 1+XDR_QUADLEN(XDR_MAX_NETOBJ) +/* #define NLM_owner_sz 1+XDR_QUADLEN(NLM_MAXOWNER) */ +#define NLM_fhandle_sz 1+XDR_QUADLEN(NFS2_FHSIZE) #define NLM_lock_sz 3+NLM_caller_sz+NLM_netobj_sz+NLM_fhandle_sz #define NLM_holder_sz 4+NLM_netobj_sz @@ -604,3 +604,32 @@ struct rpc_program nlm_program = { .stats = &nlm_stats, }; +#ifdef RPC_DEBUG +const char *nlmdbg_cookie2a(const struct nlm_cookie *cookie) +{ + /* + * We can get away with a static buffer because we're only + * called with BKL held. + */ + static char buf[2*NLM_MAXCOOKIELEN+1]; + int i; + int len = sizeof(buf); + char *p = buf; + + len--; /* allow for trailing \0 */ + if (len < 3) + return "???"; + for (i = 0 ; i < cookie->len ; i++) { + if (len < 2) { + strcpy(p-3, "..."); + break; + } + sprintf(p, "%02x", cookie->data[i]); + p += 2; + len -= 2; + } + *p = '\0'; + + return buf; +} +#endif diff --git a/fs/lockd/xdr4.c b/fs/lockd/xdr4.c index 10562d31f..b1af9f639 100644 --- a/fs/lockd/xdr4.c +++ b/fs/lockd/xdr4.c @@ -56,16 +56,16 @@ nlm4_decode_cookie(u32 *p, struct nlm_cookie *c) c->len=4; memset(c->data, 0, 4); /* hockeypux brain damage */ } - else if(len<=8) + else if(len<=NLM_MAXCOOKIELEN) { c->len=len; memcpy(c->data, p, len); - p+=(len+3)>>2; + p+=XDR_QUADLEN(len); } else { printk(KERN_NOTICE - "lockd: bad cookie size %d (only cookies under 8 bytes are supported.)\n", len); + "lockd: bad cookie size %d (only cookies under %d bytes are supported.)\n", len, NLM_MAXCOOKIELEN); return NULL; } return p; @@ -76,7 +76,7 @@ nlm4_encode_cookie(u32 *p, struct nlm_cookie *c) { *p++ = htonl(c->len); memcpy(p, c->data, c->len); - p+=(c->len+3)>>2; + p+=XDR_QUADLEN(c->len); return p; } @@ -355,6 +355,9 @@ nlm4svc_decode_reboot(struct svc_rqst *rqstp, u32 *p, struct nlm_reboot *argp) argp->state = ntohl(*p++); /* Preserve the address in network byte order */ argp->addr = *p++; + argp->vers = *p++; + argp->proto = *p++; + return xdr_argsize_check(rqstp, p); } @@ -515,7 +518,7 @@ nlm4clt_decode_res(struct rpc_rqst *req, u32 *p, struct nlm_res *resp) * Buffer requirements for NLM */ #define NLM4_void_sz 0 -#define NLM4_cookie_sz 3 /* 1 len , 2 data */ +#define NLM4_cookie_sz 1+XDR_QUADLEN(NLM_MAXCOOKIELEN) #define NLM4_caller_sz 1+XDR_QUADLEN(NLM_MAXSTRLEN) #define NLM4_netobj_sz 1+XDR_QUADLEN(XDR_MAX_NETOBJ) /* #define NLM4_owner_sz 1+XDR_QUADLEN(NLM4_MAXOWNER) */ diff --git a/fs/locks.c b/fs/locks.c index 0204acb9f..47efea9a6 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -167,6 +167,13 @@ static inline void locks_free_lock(struct file_lock *fl) if (!list_empty(&fl->fl_link)) panic("Attempting to free lock on active lock list"); + if (fl->fl_ops) { + if (fl->fl_ops->fl_release_private) + fl->fl_ops->fl_release_private(fl); + fl->fl_ops = NULL; + } + fl->fl_lmops = NULL; + kmem_cache_free(filelock_cache, fl); } @@ -183,9 +190,8 @@ void locks_init_lock(struct file_lock *fl) fl->fl_flags = 0; fl->fl_type = 0; fl->fl_start = fl->fl_end = 0; - fl->fl_notify = NULL; - fl->fl_insert = NULL; - fl->fl_remove = NULL; + fl->fl_ops = NULL; + fl->fl_lmops = NULL; } EXPORT_SYMBOL(locks_init_lock); @@ -217,10 +223,10 @@ void locks_copy_lock(struct file_lock *new, struct file_lock *fl) new->fl_type = fl->fl_type; new->fl_start = fl->fl_start; new->fl_end = fl->fl_end; - new->fl_notify = fl->fl_notify; - new->fl_insert = fl->fl_insert; - new->fl_remove = fl->fl_remove; - new->fl_u = fl->fl_u; + new->fl_ops = fl->fl_ops; + new->fl_lmops = fl->fl_lmops; + if (fl->fl_ops && fl->fl_ops->fl_copy_lock) + fl->fl_ops->fl_copy_lock(new, fl); } EXPORT_SYMBOL(locks_copy_lock); @@ -321,9 +327,8 @@ static int flock_to_posix_lock(struct file *filp, struct file_lock *fl, fl->fl_pid = current->tgid; fl->fl_file = filp; fl->fl_flags = FL_POSIX; - fl->fl_notify = NULL; - fl->fl_insert = NULL; - fl->fl_remove = NULL; + fl->fl_ops = NULL; + fl->fl_lmops = NULL; return assign_type(fl, l->l_type); } @@ -361,9 +366,8 @@ static int flock64_to_posix_lock(struct file *filp, struct file_lock *fl, fl->fl_pid = current->tgid; fl->fl_file = filp; fl->fl_flags = FL_POSIX; - fl->fl_notify = NULL; - fl->fl_insert = NULL; - fl->fl_remove = NULL; + fl->fl_ops = NULL; + fl->fl_lmops = NULL; switch (l->l_type) { case F_RDLCK: @@ -397,9 +401,8 @@ static int lease_alloc(struct file *filp, int type, struct file_lock **flp) } fl->fl_start = 0; fl->fl_end = OFFSET_MAX; - fl->fl_notify = NULL; - fl->fl_insert = NULL; - fl->fl_remove = NULL; + fl->fl_ops = NULL; + fl->fl_lmops = NULL; *flp = fl; return 0; @@ -414,14 +417,15 @@ static inline int locks_overlap(struct file_lock *fl1, struct file_lock *fl2) } /* - * Check whether two locks have the same owner. The apparently superfluous - * check for fl_pid enables us to distinguish between locks set by lockd. + * Check whether two locks have the same owner. */ static inline int posix_same_owner(struct file_lock *fl1, struct file_lock *fl2) { - return (fl1->fl_owner == fl2->fl_owner) && - (fl1->fl_pid == fl2->fl_pid); + if (fl1->fl_lmops && fl1->fl_lmops->fl_compare_owner) + return fl2->fl_lmops == fl1->fl_lmops && + fl1->fl_lmops->fl_compare_owner(fl1, fl2); + return fl1->fl_owner == fl2->fl_owner; } /* Remove waiter from blocker's block list. @@ -459,7 +463,8 @@ static void locks_insert_block(struct file_lock *blocker, } list_add_tail(&waiter->fl_block, &blocker->fl_block); waiter->fl_next = blocker; - list_add(&waiter->fl_link, &blocked_list); + if (IS_POSIX(blocker)) + list_add(&waiter->fl_link, &blocked_list); } /* Wake up processes blocked waiting for blocker. @@ -472,8 +477,8 @@ static void locks_wake_up_blocks(struct file_lock *blocker) struct file_lock *waiter = list_entry(blocker->fl_block.next, struct file_lock, fl_block); __locks_delete_block(waiter); - if (waiter->fl_notify) - waiter->fl_notify(waiter); + if (waiter->fl_lmops && waiter->fl_lmops->fl_notify) + waiter->fl_lmops->fl_notify(waiter); else wake_up(&waiter->fl_wait); } @@ -490,8 +495,8 @@ static void locks_insert_lock(struct file_lock **pos, struct file_lock *fl) fl->fl_next = *pos; *pos = fl; - if (fl->fl_insert) - fl->fl_insert(fl); + if (fl->fl_ops && fl->fl_ops->fl_insert) + fl->fl_ops->fl_insert(fl); } /* @@ -514,8 +519,8 @@ static void locks_delete_lock(struct file_lock **thisfl_p) fl->fl_fasync = NULL; } - if (fl->fl_remove) - fl->fl_remove(fl); + if (fl->fl_ops && fl->fl_ops->fl_remove) + fl->fl_ops->fl_remove(fl); locks_wake_up_blocks(fl); locks_free_lock(fl); @@ -631,24 +636,15 @@ int posix_locks_deadlock(struct file_lock *caller_fl, struct file_lock *block_fl) { struct list_head *tmp; - fl_owner_t caller_owner, blocked_owner; - unsigned int caller_pid, blocked_pid; - - caller_owner = caller_fl->fl_owner; - caller_pid = caller_fl->fl_pid; - blocked_owner = block_fl->fl_owner; - blocked_pid = block_fl->fl_pid; next_task: - if (caller_owner == blocked_owner && caller_pid == blocked_pid) + if (posix_same_owner(caller_fl, block_fl)) return 1; list_for_each(tmp, &blocked_list) { struct file_lock *fl = list_entry(tmp, struct file_lock, fl_link); - if ((fl->fl_owner == blocked_owner) - && (fl->fl_pid == blocked_pid)) { + if (posix_same_owner(fl, block_fl)) { fl = fl->fl_next; - blocked_owner = fl->fl_owner; - blocked_pid = fl->fl_pid; + block_fl = fl; goto next_task; } } @@ -911,6 +907,34 @@ int posix_lock_file(struct file *filp, struct file_lock *fl) return __posix_lock_file(filp->f_dentry->d_inode, fl); } +/** + * posix_lock_file_wait - Apply a POSIX-style lock to a file + * @filp: The file to apply the lock to + * @fl: The lock to be applied + * + * Add a POSIX style lock to a file. + * We merge adjacent & overlapping locks whenever possible. + * POSIX locks are sorted by owner task, then by starting address + */ +int posix_lock_file_wait(struct file *filp, struct file_lock *fl) +{ + int error; + might_sleep (); + for (;;) { + error = __posix_lock_file(filp->f_dentry->d_inode, fl); + if ((error != -EAGAIN) || !(fl->fl_flags & FL_SLEEP)) + break; + error = wait_event_interruptible(fl->fl_wait, !fl->fl_next); + if (!error) + continue; + + locks_delete_block(fl); + break; + } + return error; +} +EXPORT_SYMBOL(posix_lock_file_wait); + /** * locks_mandatory_locked - Check for an active lock * @inode: the file to check @@ -1294,6 +1318,33 @@ out_unlock: return error; } +/** + * flock_lock_file_wait - Apply a FLOCK-style lock to a file + * @filp: The file to apply the lock to + * @fl: The lock to be applied + * + * Add a FLOCK style lock to a file. + */ +int flock_lock_file_wait(struct file *filp, struct file_lock *fl) +{ + int error; + might_sleep(); + for (;;) { + error = flock_lock_file(filp, fl); + if ((error != -EAGAIN) || !(fl->fl_flags & FL_SLEEP)) + break; + error = wait_event_interruptible(fl->fl_wait, !fl->fl_next); + if (!error) + continue; + + locks_delete_block(fl); + break; + } + return error; +} + +EXPORT_SYMBOL(flock_lock_file_wait); + /** * sys_flock: - flock() system call. * @fd: the file descriptor to lock. @@ -1342,17 +1393,12 @@ asmlinkage long sys_flock(unsigned int fd, unsigned int cmd) if (error) goto out_free; - for (;;) { - error = flock_lock_file(filp, lock); - if ((error != -EAGAIN) || !can_sleep) - break; - error = wait_event_interruptible(lock->fl_wait, !lock->fl_next); - if (!error) - continue; - - locks_delete_block(lock); - break; - } + if (filp->f_op && filp->f_op->flock) + error = filp->f_op->flock(filp, + (can_sleep) ? F_SETLKW : F_SETLK, + lock); + else + error = flock_lock_file_wait(filp, lock); out_free: if (list_empty(&lock->fl_link)) { @@ -1422,7 +1468,6 @@ int fcntl_getlk(struct file *filp, struct flock __user *l) error = -EFAULT; if (!copy_to_user(l, &flock, sizeof(flock))) error = 0; - out: return error; } @@ -1489,8 +1534,7 @@ int fcntl_setlk(struct file *filp, unsigned int cmd, struct flock __user *l) if (filp->f_op && filp->f_op->lock != NULL) { error = filp->f_op->lock(filp, cmd, file_lock); - if (error < 0) - goto out; + goto out; } for (;;) { @@ -1624,8 +1668,7 @@ int fcntl_setlk64(struct file *filp, unsigned int cmd, struct flock64 __user *l) if (filp->f_op && filp->f_op->lock != NULL) { error = filp->f_op->lock(filp, cmd, file_lock); - if (error < 0) - goto out; + goto out; } for (;;) { @@ -1672,10 +1715,12 @@ void locks_remove_posix(struct file *filp, fl_owner_t owner) lock.fl_owner = owner; lock.fl_pid = current->tgid; lock.fl_file = filp; + lock.fl_ops = NULL; + lock.fl_lmops = NULL; if (filp->f_op && filp->f_op->lock != NULL) { filp->f_op->lock(filp, F_SETLK, &lock); - /* Ignore any error -- we must remove the locks anyway */ + goto out; } /* Can't use posix_lock_file here; we need to remove it no matter @@ -1684,13 +1729,16 @@ void locks_remove_posix(struct file *filp, fl_owner_t owner) lock_kernel(); while (*before != NULL) { struct file_lock *fl = *before; - if (IS_POSIX(fl) && (fl->fl_owner == owner)) { + if (IS_POSIX(fl) && posix_same_owner(fl, &lock)) { locks_delete_lock(before); continue; } before = &fl->fl_next; } unlock_kernel(); +out: + if (lock.fl_ops && lock.fl_ops->fl_release_private) + lock.fl_ops->fl_release_private(&lock); } EXPORT_SYMBOL(locks_remove_posix); @@ -1707,12 +1755,23 @@ void locks_remove_flock(struct file *filp) if (!inode->i_flock) return; + if (filp->f_op && filp->f_op->flock) { + struct file_lock fl = { .fl_flags = FL_FLOCK, + .fl_type = F_UNLCK }; + filp->f_op->flock(filp, F_SETLKW, &fl); + } + lock_kernel(); before = &inode->i_flock; while ((fl = *before) != NULL) { if (fl->fl_file == filp) { - if (IS_FLOCK(fl)) { + /* + * We might have a POSIX lock that was created at the same time + * the filp was closed for the last time. Just remove that too, + * regardless of ownership, since nobody can own it. + */ + if (IS_FLOCK(fl) || IS_POSIX(fl)) { locks_delete_lock(before); continue; } @@ -1720,9 +1779,7 @@ void locks_remove_flock(struct file *filp) lease_modify(before, F_UNLCK); continue; } - /* FL_POSIX locks of this process have already been - * removed in filp_close->locks_remove_posix. - */ + /* What? */ BUG(); } before = &fl->fl_next; @@ -2038,4 +2095,4 @@ static int __init filelock_init(void) return 0; } -module_init(filelock_init) +core_initcall(filelock_init); diff --git a/fs/mbcache.c b/fs/mbcache.c index dbc4443e6..a7109f9c2 100644 --- a/fs/mbcache.c +++ b/fs/mbcache.c @@ -54,6 +54,10 @@ printk(KERN_ERR f); \ printk("\n"); \ } while(0) + +#define MB_CACHE_WRITER ((unsigned short)~0U >> 1) + +DECLARE_WAIT_QUEUE_HEAD(mb_cache_queue); MODULE_AUTHOR("Andreas Gruenbacher "); MODULE_DESCRIPTION("Meta block cache (for extended attributes)"); @@ -65,9 +69,7 @@ EXPORT_SYMBOL(mb_cache_destroy); EXPORT_SYMBOL(mb_cache_entry_alloc); EXPORT_SYMBOL(mb_cache_entry_insert); EXPORT_SYMBOL(mb_cache_entry_release); -EXPORT_SYMBOL(mb_cache_entry_takeout); EXPORT_SYMBOL(mb_cache_entry_free); -EXPORT_SYMBOL(mb_cache_entry_dup); EXPORT_SYMBOL(mb_cache_entry_get); #if !defined(MB_CACHE_INDEXES_COUNT) || (MB_CACHE_INDEXES_COUNT > 0) EXPORT_SYMBOL(mb_cache_entry_find_first); @@ -128,7 +130,8 @@ __mb_cache_entry_forget(struct mb_cache_entry *ce, int gfp_mask) { struct mb_cache *cache = ce->e_cache; - mb_assert(atomic_read(&ce->e_used) == 0); + mb_assert(!ce->e_used); + mb_assert(!ce->e_queued); if (cache->c_op.free && cache->c_op.free(ce, gfp_mask)) { /* free failed -- put back on the lru list for freeing later. */ @@ -145,7 +148,13 @@ __mb_cache_entry_forget(struct mb_cache_entry *ce, int gfp_mask) static inline void __mb_cache_entry_release_unlock(struct mb_cache_entry *ce) { - if (atomic_dec_and_test(&ce->e_used)) { + /* Wake up all processes queuing for this cache entry. */ + if (ce->e_queued) + wake_up_all(&mb_cache_queue); + if (ce->e_used >= MB_CACHE_WRITER) + ce->e_used -= MB_CACHE_WRITER; + ce->e_used--; + if (!(ce->e_used || ce->e_queued)) { if (!__mb_cache_entry_is_hashed(ce)) goto forget; list_add_tail(&ce->e_lru_list, &mb_cache_lru_list); @@ -384,7 +393,8 @@ mb_cache_entry_alloc(struct mb_cache *cache) INIT_LIST_HEAD(&ce->e_lru_list); INIT_LIST_HEAD(&ce->e_block_list); ce->e_cache = cache; - atomic_set(&ce->e_used, 1); + ce->e_used = 1 + MB_CACHE_WRITER; + ce->e_queued = 0; } return ce; } @@ -455,23 +465,6 @@ mb_cache_entry_release(struct mb_cache_entry *ce) } -/* - * mb_cache_entry_takeout() - * - * Take a cache entry out of the cache, making it invalid. The entry can later - * be re-inserted using mb_cache_entry_insert(), or released using - * mb_cache_entry_release(). - */ -void -mb_cache_entry_takeout(struct mb_cache_entry *ce) -{ - spin_lock(&mb_cache_spinlock); - mb_assert(list_empty(&ce->e_lru_list)); - __mb_cache_entry_unhash(ce); - spin_unlock(&mb_cache_spinlock); -} - - /* * mb_cache_entry_free() * @@ -488,26 +481,13 @@ mb_cache_entry_free(struct mb_cache_entry *ce) } -/* - * mb_cache_entry_dup() - * - * Duplicate a handle to a cache entry (does not duplicate the cache entry - * itself). After the call, both the old and the new handle must be released. - */ -struct mb_cache_entry * -mb_cache_entry_dup(struct mb_cache_entry *ce) -{ - atomic_inc(&ce->e_used); - return ce; -} - - /* * mb_cache_entry_get() * * Get a cache entry by device / block number. (There can only be one entry * in the cache per device and block.) Returns NULL if no such cache entry - * exists. + * exists. The returned cache entry is locked for exclusive access ("single + * writer"). */ struct mb_cache_entry * mb_cache_entry_get(struct mb_cache *cache, struct block_device *bdev, @@ -523,9 +503,26 @@ mb_cache_entry_get(struct mb_cache *cache, struct block_device *bdev, list_for_each(l, &cache->c_block_hash[bucket]) { ce = list_entry(l, struct mb_cache_entry, e_block_list); if (ce->e_bdev == bdev && ce->e_block == block) { + DEFINE_WAIT(wait); + + while (ce->e_used > 0) { + ce->e_queued++; + prepare_to_wait(&mb_cache_queue, &wait, + TASK_UNINTERRUPTIBLE); + spin_unlock(&mb_cache_spinlock); + schedule(); + spin_lock(&mb_cache_spinlock); + ce->e_queued--; + } + finish_wait(&mb_cache_queue, &wait); + ce->e_used += 1 + MB_CACHE_WRITER; + + if (!__mb_cache_entry_is_hashed(ce)) { + __mb_cache_entry_release_unlock(ce); + return NULL; + } if (!list_empty(&ce->e_lru_list)) list_del_init(&ce->e_lru_list); - atomic_inc(&ce->e_used); goto cleanup; } } @@ -542,14 +539,37 @@ static struct mb_cache_entry * __mb_cache_entry_find(struct list_head *l, struct list_head *head, int index, struct block_device *bdev, unsigned int key) { + DEFINE_WAIT(wait); + while (l != head) { struct mb_cache_entry *ce = list_entry(l, struct mb_cache_entry, e_indexes[index].o_list); if (ce->e_bdev == bdev && ce->e_indexes[index].o_key == key) { + DEFINE_WAIT(wait); + + /* Incrementing before holding the lock gives readers + priority over writers. */ + ce->e_used++; + + while (ce->e_used >= MB_CACHE_WRITER) { + ce->e_queued++; + prepare_to_wait(&mb_cache_queue, &wait, + TASK_UNINTERRUPTIBLE); + spin_unlock(&mb_cache_spinlock); + schedule(); + spin_lock(&mb_cache_spinlock); + ce->e_queued--; + } + finish_wait(&mb_cache_queue, &wait); + + if (!__mb_cache_entry_is_hashed(ce)) { + __mb_cache_entry_release_unlock(ce); + spin_lock(&mb_cache_spinlock); + return ERR_PTR(-EAGAIN); + } if (!list_empty(&ce->e_lru_list)) list_del_init(&ce->e_lru_list); - atomic_inc(&ce->e_used); return ce; } l = l->next; @@ -563,7 +583,8 @@ __mb_cache_entry_find(struct list_head *l, struct list_head *head, * * Find the first cache entry on a given device with a certain key in * an additional index. Additonal matches can be found with - * mb_cache_entry_find_next(). Returns NULL if no match was found. + * mb_cache_entry_find_next(). Returns NULL if no match was found. The + * returned cache entry is locked for shared access ("multiple readers"). * * @cache: the cache to search * @index: the number of the additonal index to search (0<=index static void minix_read_inode(struct inode * inode); -static void minix_write_inode(struct inode * inode, int wait); +static int minix_write_inode(struct inode * inode, int wait); static int minix_statfs(struct super_block *sb, struct kstatfs *buf); static int minix_remount (struct super_block * sb, int * flags, char * data); @@ -79,7 +79,7 @@ static int init_inodecache(void) { minix_inode_cachep = kmem_cache_create("minix_inode_cache", sizeof(struct minix_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (minix_inode_cachep == NULL) return -ENOMEM; @@ -505,9 +505,10 @@ static struct buffer_head *minix_update_inode(struct inode *inode) return V2_minix_update_inode(inode); } -static void minix_write_inode(struct inode * inode, int wait) +static int minix_write_inode(struct inode * inode, int wait) { brelse(minix_update_inode(inode)); + return 0; } int minix_sync_inode(struct inode * inode) diff --git a/fs/mpage.c b/fs/mpage.c index 71c7ca3a4..4bbf15ee9 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -290,7 +290,8 @@ do_mpage_readpage(struct bio *bio, struct page *page, unsigned nr_pages, alloc_new: if (bio == NULL) { bio = mpage_alloc(bdev, blocks[0] << (blkbits - 9), - nr_pages, GFP_KERNEL); + min_t(int, nr_pages, bio_get_nr_vecs(bdev)), + GFP_KERNEL); if (bio == NULL) goto confused; } @@ -627,7 +628,9 @@ mpage_writepages(struct address_space *mapping, struct pagevec pvec; int nr_pages; pgoff_t index; + pgoff_t end = -1; /* Inclusive */ int scanned = 0; + int is_range = 0; if (wbc->nonblocking && bdi_write_congested(bdi)) { wbc->encountered_congestion = 1; @@ -645,9 +648,17 @@ mpage_writepages(struct address_space *mapping, index = 0; /* whole-file sweep */ scanned = 1; } + if (wbc->start || wbc->end) { + index = wbc->start >> PAGE_CACHE_SHIFT; + end = wbc->end >> PAGE_CACHE_SHIFT; + is_range = 1; + scanned = 1; + } retry: - while (!done && (nr_pages = pagevec_lookup_tag(&pvec, mapping, &index, - PAGECACHE_TAG_DIRTY, PAGEVEC_SIZE))) { + while (!done && (index <= end) && + (nr_pages = pagevec_lookup_tag(&pvec, mapping, &index, + PAGECACHE_TAG_DIRTY, + min(end - index, (pgoff_t)PAGEVEC_SIZE-1) + 1))) { unsigned i; scanned = 1; @@ -664,10 +675,21 @@ retry: lock_page(page); + if (unlikely(page->mapping != mapping)) { + unlock_page(page); + continue; + } + + if (unlikely(is_range) && page->index > end) { + done = 1; + unlock_page(page); + continue; + } + if (wbc->sync_mode != WB_SYNC_NONE) wait_on_page_writeback(page); - if (page->mapping != mapping || PageWriteback(page) || + if (PageWriteback(page) || !clear_page_dirty_for_io(page)) { unlock_page(page); continue; @@ -706,7 +728,8 @@ retry: index = 0; goto retry; } - mapping->writeback_index = index; + if (!is_range) + mapping->writeback_index = index; if (bio) mpage_bio_submit(WRITE, bio); return ret; diff --git a/fs/namei.c b/fs/namei.c index 656430d6b..69fb76c8d 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -625,7 +625,7 @@ struct path { * It _is_ time-critical. */ static int do_lookup(struct nameidata *nd, struct qstr *name, - struct path *path) + struct path *path, int atomic) { struct vfsmount *mnt = nd->mnt; struct dentry *dentry = __d_lookup(nd->dentry, name); @@ -640,12 +640,16 @@ done: return 0; need_lookup: + if (atomic) + return -EWOULDBLOCKIO; dentry = real_lookup(nd->dentry, name, nd); if (IS_ERR(dentry)) goto fail; goto done; need_revalidate: + if (atomic) + return -EWOULDBLOCKIO; if (dentry->d_op->d_revalidate(dentry, nd)) goto done; if (d_invalidate(dentry)) @@ -741,12 +745,9 @@ int fastcall link_path_walk(const char * name, struct nameidata *nd) if (err < 0) break; } - err = -EWOULDBLOCKIO; - if (atomic) - break; nd->flags |= LOOKUP_CONTINUE; /* This does the actual lookups.. */ - err = do_lookup(nd, &this, &next); + err = do_lookup(nd, &this, &next, atomic); if (err) break; /* Check mountpoints.. */ @@ -808,10 +809,7 @@ last_component: if (err < 0) break; } - err = -EWOULDBLOCKIO; - if (atomic) - break; - err = do_lookup(nd, &this, &next); + err = do_lookup(nd, &this, &next, atomic); if (err) break; follow_mount(&next.mnt, &next.dentry); @@ -1114,11 +1112,12 @@ static inline int check_sticky(struct inode *dir, struct inode *inode) static inline int may_delete(struct inode *dir,struct dentry *victim,int isdir) { int error; + if (!victim->d_inode) return -ENOENT; - if (victim->d_parent->d_inode != dir) - BUG(); - + + BUG_ON(victim->d_parent->d_inode != dir); + error = permission(dir,MAY_WRITE | MAY_EXEC, NULL); if (error) return error; @@ -1708,7 +1707,7 @@ out: * if it cannot handle the case of removing a directory * that is still in use by something else.. */ -static void d_unhash(struct dentry *dentry) +void dentry_unhash(struct dentry *dentry) { dget(dentry); spin_lock(&dcache_lock); @@ -1738,7 +1737,7 @@ int vfs_rmdir(struct inode *dir, struct dentry *dentry) DQUOT_INIT(dir); down(&dentry->d_inode->i_sem); - d_unhash(dentry); + dentry_unhash(dentry); if (d_mountpoint(dentry)) error = -EBUSY; else { @@ -1876,13 +1875,12 @@ asmlinkage long sys_unlink(const char __user * pathname) dput(dentry); } up(&nd.dentry->d_inode->i_sem); + if (inode) + iput(inode); /* truncate the inode here */ exit1: path_release(&nd); exit: putname(name); - - if (inode) - iput(inode); /* truncate the inode here */ return error; slashes: @@ -2093,7 +2091,7 @@ int vfs_rename_dir(struct inode *old_dir, struct dentry *old_dentry, target = new_dentry->d_inode; if (target) { down(&target->i_sem); - d_unhash(new_dentry); + dentry_unhash(new_dentry); } if (d_mountpoint(old_dentry)||d_mountpoint(new_dentry)) error = -EBUSY; @@ -2380,18 +2378,6 @@ void page_put_link(struct dentry *dentry, struct nameidata *nd) } } -int page_follow_link(struct dentry *dentry, struct nameidata *nd) -{ - struct page *page = NULL; - char *s = page_getlink(dentry, &page); - int res = __vfs_follow_link(nd, s); - if (page) { - kunmap(page); - page_cache_release(page); - } - return res; -} - int page_symlink(struct inode *inode, const char *symname, int len) { struct address_space *mapping = inode->i_mapping; @@ -2445,10 +2431,8 @@ EXPORT_SYMBOL(follow_up); EXPORT_SYMBOL(get_write_access); /* binfmt_aout */ EXPORT_SYMBOL(getname); EXPORT_SYMBOL(lock_rename); -EXPORT_SYMBOL(lookup_create); EXPORT_SYMBOL(lookup_hash); EXPORT_SYMBOL(lookup_one_len); -EXPORT_SYMBOL(page_follow_link); EXPORT_SYMBOL(page_follow_link_light); EXPORT_SYMBOL(page_put_link); EXPORT_SYMBOL(page_readlink); @@ -2470,4 +2454,5 @@ EXPORT_SYMBOL(vfs_rename); EXPORT_SYMBOL(vfs_rmdir); EXPORT_SYMBOL(vfs_symlink); EXPORT_SYMBOL(vfs_unlink); +EXPORT_SYMBOL(dentry_unhash); EXPORT_SYMBOL(generic_readlink); diff --git a/fs/namespace.c b/fs/namespace.c index 96a4d7316..0dbbf4871 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -246,6 +247,8 @@ static int show_vfsmnt(struct seq_file *m, void *v) if (vx_flags(VXF_HIDE_MOUNT, 0)) return 0; + if (!vx_check_vfsmount(current->vx_info, mnt)) + return 0; mangle(m, mnt->mnt_devname ? mnt->mnt_devname : "none"); seq_putc(m, ' '); @@ -705,7 +708,7 @@ static int do_remount(struct nameidata *nd, int flags, int mnt_flags, int err; struct super_block * sb = nd->mnt->mnt_sb; - if (!capable(CAP_SYS_ADMIN)) + if (!capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_SECURE_REMOUNT)) return -EPERM; if (!check_mnt(nd->mnt)) @@ -714,6 +717,8 @@ static int do_remount(struct nameidata *nd, int flags, int mnt_flags, if (nd->dentry != nd->mnt->mnt_root) return -EINVAL; + if (vx_ccaps(VXC_SECURE_REMOUNT)) + mnt_flags |= MNT_NODEV; down_write(&sb->s_umount); err = do_remount_sb(sb, flags, data, 0); if (!err) @@ -729,7 +734,7 @@ static int do_move_mount(struct nameidata *nd, char *old_name) struct nameidata old_nd, parent_nd; struct vfsmount *p; int err = 0; - if (!capable(CAP_SYS_ADMIN)) + if (!capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_SECURE_MOUNT)) return -EPERM; if (!old_name || !*old_name) return -EINVAL; @@ -962,7 +967,35 @@ void mark_mounts_for_expiry(struct list_head *mounts) EXPORT_SYMBOL_GPL(mark_mounts_for_expiry); -int copy_mount_options (const void __user *data, unsigned long *where) +/* + * Some copy_from_user() implementations do not return the exact number of + * bytes remaining to copy on a fault. But copy_mount_options() requires that. + * Note that this function differs from copy_from_user() in that it will oops + * on bad values of `to', rather than returning a short copy. + */ +static long +exact_copy_from_user(void *to, const void __user *from, unsigned long n) +{ + char *t = to; + const char __user *f = from; + char c; + + if (!access_ok(VERIFY_READ, from, n)) + return n; + + while (n) { + if (__get_user(c, f)) { + memset(t, 0, n); + break; + } + *t++ = c; + f++; + n--; + } + return n; +} + +int copy_mount_options(const void __user *data, unsigned long *where) { int i; unsigned long page; @@ -984,7 +1017,7 @@ int copy_mount_options (const void __user *data, unsigned long *where) if (size > PAGE_SIZE) size = PAGE_SIZE; - i = size - copy_from_user((void *)page, data, size); + i = size - exact_copy_from_user((void *)page, data, size); if (!i) { free_page(page); return -EFAULT; @@ -1088,7 +1121,7 @@ int copy_namespace(int flags, struct task_struct *tsk) if (!(flags & CLONE_NEWNS)) return 0; - if (!capable(CAP_SYS_ADMIN)) { + if (!capable(CAP_SYS_ADMIN) && !vx_ccaps(VXC_SECURE_MOUNT)) { put_namespace(namespace); return -EPERM; } @@ -1221,8 +1254,7 @@ void set_fs_root(struct fs_struct *fs, struct vfsmount *mnt, } } -EXPORT_SYMBOL(set_fs_root); - +EXPORT_SYMBOL_GPL(set_fs_root); /* * Replace the fs->{pwdmnt,pwd} with {mnt,dentry}. Put the old values. * It can block. Requires the big lock held. @@ -1246,8 +1278,6 @@ void set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt, } } -EXPORT_SYMBOL(set_fs_pwd); - static void chroot_fs_refs(struct nameidata *old_nd, struct nameidata *new_nd) { struct task_struct *g, *p; diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c index cfb6c2938..2dc2d8693 100644 --- a/fs/ncpfs/dir.c +++ b/fs/ncpfs/dir.c @@ -174,7 +174,7 @@ ncp_force_unlink(struct inode *dir, struct dentry* dentry) { int res=0x9c,res2; struct nw_modify_dos_info info; - __u32 old_nwattr; + __le32 old_nwattr; struct inode *inode; memset(&info, 0, sizeof(info)); @@ -211,8 +211,8 @@ ncp_force_rename(struct inode *old_dir, struct dentry* old_dentry, char *_old_na struct nw_modify_dos_info info; int res=0x90,res2; struct inode *old_inode = old_dentry->d_inode; - __u32 old_nwattr = NCP_FINFO(old_inode)->nwattr; - __u32 new_nwattr = 0; /* shut compiler warning */ + __le32 old_nwattr = NCP_FINFO(old_inode)->nwattr; + __le32 new_nwattr = 0; /* shut compiler warning */ int old_nwattr_changed = 0; int new_nwattr_changed = 0; @@ -395,8 +395,7 @@ static time_t ncp_obtain_mtime(struct dentry *dentry) if (ncp_obtain_info(server, inode, NULL, &i)) return 0; - return ncp_date_dos2unix(le16_to_cpu(i.modifyTime), - le16_to_cpu(i.modifyDate)); + return ncp_date_dos2unix(i.modifyTime, i.modifyDate); } static int ncp_readdir(struct file *filp, void *dirent, filldir_t filldir) @@ -767,7 +766,9 @@ int ncp_conn_logged_in(struct super_block *sb) if (ncp_single_volume(server)) { int len; struct dentry* dent; - __u32 volNumber, dirEntNum, DosDirNum; + __u32 volNumber; + __le32 dirEntNum; + __le32 DosDirNum; __u8 __name[NCP_MAXPATHLEN + 1]; len = sizeof(__name); @@ -886,7 +887,7 @@ out_close: } int ncp_create_new(struct inode *dir, struct dentry *dentry, int mode, - dev_t rdev, int attributes) + dev_t rdev, __le32 attributes) { struct ncp_server *server = NCP_SERVER(dir); struct ncp_entry_info finfo; @@ -979,7 +980,8 @@ static int ncp_mkdir(struct inode *dir, struct dentry *dentry, int mode) error = -EACCES; if (ncp_open_create_file_or_subdir(server, dir, __name, - OC_MODE_CREATE, aDIR, 0xffff, + OC_MODE_CREATE, aDIR, + cpu_to_le16(0xffff), &finfo) == 0) { if (ncp_is_nfs_extras(server, finfo.volume)) { @@ -1213,8 +1215,9 @@ static int local2utc(int time) /* Convert a MS-DOS time/date pair to a UNIX date (seconds since 1 1 70). */ int -ncp_date_dos2unix(unsigned short time, unsigned short date) +ncp_date_dos2unix(__le16 t, __le16 d) { + unsigned short time = le16_to_cpu(t), date = le16_to_cpu(d); int month, year, secs; /* first subtract and mask after that... Otherwise, if @@ -1231,13 +1234,14 @@ ncp_date_dos2unix(unsigned short time, unsigned short date) /* Convert linear UNIX date to a MS-DOS time/date pair. */ void -ncp_date_unix2dos(int unix_date, unsigned short *time, unsigned short *date) +ncp_date_unix2dos(int unix_date, __le16 *time, __le16 *date) { int day, year, nl_day, month; unix_date = utc2local(unix_date); - *time = (unix_date % 60) / 2 + (((unix_date / 60) % 60) << 5) + - (((unix_date / 3600) % 24) << 11); + *time = cpu_to_le16( + (unix_date % 60) / 2 + (((unix_date / 60) % 60) << 5) + + (((unix_date / 3600) % 24) << 11)); day = unix_date / 86400 - 3652; year = day / 365; if ((year + 3) / 4 + 365 * year > day) @@ -1252,5 +1256,5 @@ ncp_date_unix2dos(int unix_date, unsigned short *time, unsigned short *date) if (day_n[month] > nl_day) break; } - *date = nl_day - day_n[month - 1] + 1 + (month << 5) + (year << 9); + *date = cpu_to_le16(nl_day - day_n[month - 1] + 1 + (month << 5) + (year << 9)); } diff --git a/fs/ncpfs/file.c b/fs/ncpfs/file.c index ed1009dac..701859ef8 100644 --- a/fs/ncpfs/file.c +++ b/fs/ncpfs/file.c @@ -115,11 +115,6 @@ ncp_file_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) if (!ncp_conn_valid(NCP_SERVER(inode))) return -EIO; - if (!S_ISREG(inode->i_mode)) { - DPRINTK("ncp_file_read: read from non-file, mode %07o\n", - inode->i_mode); - return -EINVAL; - } pos = *ppos; @@ -175,10 +170,9 @@ ncp_file_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) *ppos = pos; - if (!IS_RDONLY(inode) || (file && MNT_IS_RDONLY(file->f_vfsmnt))) { - inode->i_atime = CURRENT_TIME; - } - +#warning MEF removed some READONLY MOUNT support -- look for it again in vs1.9.3 + file_accessed(file); + DPRINTK("ncp_file_read: exit %s/%s\n", dentry->d_parent->d_name.name, dentry->d_name.name); outrel: @@ -201,11 +195,6 @@ ncp_file_write(struct file *file, const char __user *buf, size_t count, loff_t * dentry->d_parent->d_name.name, dentry->d_name.name); if (!ncp_conn_valid(NCP_SERVER(inode))) return -EIO; - if (!S_ISREG(inode->i_mode)) { - DPRINTK("ncp_file_write: write to non-file, mode %07o\n", - inode->i_mode); - return -EINVAL; - } if ((ssize_t) count < 0) return -EINVAL; pos = *ppos; @@ -273,8 +262,9 @@ ncp_file_write(struct file *file, const char __user *buf, size_t count, loff_t * } } vfree(bouncebuffer); - inode->i_mtime = inode->i_atime = CURRENT_TIME; - + + inode_update_time(inode, 1); + *ppos = pos; if (pos > inode->i_size) { diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c index 0ca23f23b..44795d2f4 100644 --- a/fs/ncpfs/inode.c +++ b/fs/ncpfs/inode.c @@ -72,7 +72,7 @@ static int init_inodecache(void) { ncp_inode_cachep = kmem_cache_create("ncp_inode_cache", sizeof(struct ncp_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (ncp_inode_cachep == NULL) return -ENOMEM; @@ -142,12 +142,9 @@ static void ncp_update_dates(struct inode *inode, struct nw_info_struct *nwi) inode->i_blocks = (inode->i_size + NCP_BLOCK_SIZE - 1) >> NCP_BLOCK_SHIFT; - inode->i_mtime.tv_sec = ncp_date_dos2unix(le16_to_cpu(nwi->modifyTime), - le16_to_cpu(nwi->modifyDate)); - inode->i_ctime.tv_sec = ncp_date_dos2unix(le16_to_cpu(nwi->creationTime), - le16_to_cpu(nwi->creationDate)); - inode->i_atime.tv_sec = ncp_date_dos2unix(0, - le16_to_cpu(nwi->lastAccessDate)); + inode->i_mtime.tv_sec = ncp_date_dos2unix(nwi->modifyTime, nwi->modifyDate); + inode->i_ctime.tv_sec = ncp_date_dos2unix(nwi->creationTime, nwi->creationDate); + inode->i_atime.tv_sec = ncp_date_dos2unix(0, nwi->lastAccessDate); inode->i_atime.tv_nsec = 0; inode->i_mtime.tv_nsec = 0; inode->i_ctime.tv_nsec = 0; @@ -463,7 +460,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) break; default: error = -ECHRNG; - if (*(__u32*)raw_data == cpu_to_be32(0x76657273)) { + if (memcmp(raw_data, "vers", 4) == 0) { error = ncp_parse_options(&data, raw_data); } if (error) @@ -626,7 +623,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) memset(&finfo, 0, sizeof(finfo)); finfo.i.attributes = aDIR; - finfo.i.dataStreamSize = NCP_BLOCK_SIZE; + finfo.i.dataStreamSize = 0; /* ignored */ finfo.i.dirEntNum = 0; finfo.i.DosDirNum = 0; #ifdef CONFIG_NCPFS_SMALLDOS @@ -795,7 +792,7 @@ int ncp_notify_change(struct dentry *dentry, struct iattr *attr) { struct inode *inode = dentry->d_inode; int result = 0; - int info_mask; + __le32 info_mask; struct nw_modify_dos_info info; struct ncp_server *server; @@ -918,23 +915,18 @@ int ncp_notify_change(struct dentry *dentry, struct iattr *attr) if ((attr->ia_valid & ATTR_CTIME) != 0) { info_mask |= (DM_CREATE_TIME | DM_CREATE_DATE); ncp_date_unix2dos(attr->ia_ctime.tv_sec, - &(info.creationTime), &(info.creationDate)); - info.creationTime = le16_to_cpu(info.creationTime); - info.creationDate = le16_to_cpu(info.creationDate); + &info.creationTime, &info.creationDate); } if ((attr->ia_valid & ATTR_MTIME) != 0) { info_mask |= (DM_MODIFY_TIME | DM_MODIFY_DATE); ncp_date_unix2dos(attr->ia_mtime.tv_sec, - &(info.modifyTime), &(info.modifyDate)); - info.modifyTime = le16_to_cpu(info.modifyTime); - info.modifyDate = le16_to_cpu(info.modifyDate); + &info.modifyTime, &info.modifyDate); } if ((attr->ia_valid & ATTR_ATIME) != 0) { - __u16 dummy; + __le16 dummy; info_mask |= (DM_LAST_ACCESS_DATE); ncp_date_unix2dos(attr->ia_atime.tv_sec, - &(dummy), &(info.lastAccessDate)); - info.lastAccessDate = le16_to_cpu(info.lastAccessDate); + &dummy, &info.lastAccessDate); } if (info_mask != 0) { result = ncp_modify_file_or_subdir_dos_info(NCP_SERVER(inode), diff --git a/fs/ncpfs/ioctl.c b/fs/ncpfs/ioctl.c index a7eb88163..88df79356 100644 --- a/fs/ncpfs/ioctl.c +++ b/fs/ncpfs/ioctl.c @@ -299,7 +299,9 @@ int ncp_ioctl(struct inode *inode, struct file *filp, case NCP_IOC_SETROOT: { struct ncp_setroot_ioctl sr; - __u32 vnum, de, dosde; + __u32 vnum; + __le32 de; + __le32 dosde; struct dentry* dentry; if (!capable(CAP_SYS_ADMIN)) diff --git a/fs/ncpfs/mmap.c b/fs/ncpfs/mmap.c index bae04d66b..52d60c3d8 100644 --- a/fs/ncpfs/mmap.c +++ b/fs/ncpfs/mmap.c @@ -110,23 +110,19 @@ int ncp_mmap(struct file *file, struct vm_area_struct *vma) DPRINTK("ncp_mmap: called\n"); - if (!ncp_conn_valid(NCP_SERVER(inode))) { + if (!ncp_conn_valid(NCP_SERVER(inode))) return -EIO; - } + /* only PAGE_COW or read-only supported now */ if (vma->vm_flags & VM_SHARED) return -EINVAL; - if (!inode->i_sb || !S_ISREG(inode->i_mode)) - return -EACCES; /* we do not support files bigger than 4GB... We eventually supports just 4GB... */ if (((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff > (1U << (32 - PAGE_SHIFT))) return -EFBIG; - if (!IS_RDONLY(inode) || (file && MNT_IS_RDONLY(file->f_vfsmnt))) { - inode->i_atime = CURRENT_TIME; - } vma->vm_ops = &ncp_file_mmap; + file_accessed(file); return 0; } diff --git a/fs/ncpfs/ncplib_kernel.c b/fs/ncpfs/ncplib_kernel.c index ad99ac0ec..51969f278 100644 --- a/fs/ncpfs/ncplib_kernel.c +++ b/fs/ncpfs/ncplib_kernel.c @@ -29,22 +29,36 @@ static void ncp_add_byte(struct ncp_server *server, __u8 x) return; } -static void ncp_add_word(struct ncp_server *server, __u16 x) +static void ncp_add_word(struct ncp_server *server, __le16 x) { assert_server_locked(server); - put_unaligned(x, (__u16 *) (&(server->packet[server->current_size]))); + put_unaligned(x, (__le16 *) (&(server->packet[server->current_size]))); server->current_size += 2; return; } -static void ncp_add_dword(struct ncp_server *server, __u32 x) +static void ncp_add_be16(struct ncp_server *server, __u16 x) { assert_server_locked(server); - put_unaligned(x, (__u32 *) (&(server->packet[server->current_size]))); + put_unaligned(cpu_to_be16(x), (__be16 *) (&(server->packet[server->current_size]))); + server->current_size += 2; +} + +static void ncp_add_dword(struct ncp_server *server, __le32 x) +{ + assert_server_locked(server); + put_unaligned(x, (__le32 *) (&(server->packet[server->current_size]))); server->current_size += 4; return; } +static void ncp_add_be32(struct ncp_server *server, __u32 x) +{ + assert_server_locked(server); + put_unaligned(cpu_to_be32(x), (__be32 *)(&(server->packet[server->current_size]))); + server->current_size += 4; +} + static inline void ncp_add_dword_lh(struct ncp_server *server, __u32 x) { ncp_add_dword(server, cpu_to_le32(x)); } @@ -107,24 +121,30 @@ static __u8 static inline __u16 WVAL_LH(void* data) { - return le16_to_cpu(get_unaligned((__u16*)data)); + return le16_to_cpu(get_unaligned((__le16*)data)); } static __u16 - ncp_reply_word(struct ncp_server *server, int offset) + ncp_reply_le16(struct ncp_server *server, int offset) { - return get_unaligned((__u16 *) ncp_reply_data(server, offset)); + return le16_to_cpu(get_unaligned((__le16 *) ncp_reply_data(server, offset))); +} + +static __u16 + ncp_reply_be16(struct ncp_server *server, int offset) +{ + return be16_to_cpu(get_unaligned((__be16 *) ncp_reply_data(server, offset))); } static inline __u32 DVAL_LH(void* data) { - return le32_to_cpu(get_unaligned((__u32*)data)); + return le32_to_cpu(get_unaligned((__le32*)data)); } -static __u32 +static __le32 ncp_reply_dword(struct ncp_server *server, int offset) { - return get_unaligned((__u32 *) ncp_reply_data(server, offset)); + return get_unaligned((__le32 *) ncp_reply_data(server, offset)); } static inline __u32 ncp_reply_dword_lh(struct ncp_server* server, int offset) { @@ -137,13 +157,13 @@ ncp_negotiate_buffersize(struct ncp_server *server, int size, int *target) int result; ncp_init_request(server); - ncp_add_word(server, htons(size)); + ncp_add_be16(server, size); if ((result = ncp_request(server, 33)) != 0) { ncp_unlock_server(server); return result; } - *target = min_t(unsigned int, ntohs(ncp_reply_word(server, 0)), size); + *target = min_t(unsigned int, ncp_reply_be16(server, 0), size); ncp_unlock_server(server); return 0; @@ -163,7 +183,7 @@ ncp_negotiate_size_and_options(struct ncp_server *server, if (size < NCP_BLOCK_SIZE) size = NCP_BLOCK_SIZE; ncp_init_request(server); - ncp_add_word(server, htons(size)); + ncp_add_be16(server, size); ncp_add_byte(server, options); if ((result = ncp_request(server, 0x61)) != 0) @@ -173,7 +193,7 @@ ncp_negotiate_size_and_options(struct ncp_server *server, } /* NCP over UDP returns 0 (!!!) */ - result = ntohs(ncp_reply_word(server, 0)); + result = ncp_reply_be16(server, 0); if (result >= NCP_BLOCK_SIZE) size = min(result, size); *ret_size = size; @@ -286,7 +306,7 @@ ncp_make_closed(struct inode *inode) } static void ncp_add_handle_path(struct ncp_server *server, __u8 vol_num, - __u32 dir_base, int have_dir_base, + __le32 dir_base, int have_dir_base, const char *path) { ncp_add_byte(server, vol_num); @@ -304,7 +324,7 @@ static void ncp_add_handle_path(struct ncp_server *server, __u8 vol_num, } } -int ncp_dirhandle_alloc(struct ncp_server* server, __u8 volnum, __u32 dirent, +int ncp_dirhandle_alloc(struct ncp_server* server, __u8 volnum, __le32 dirent, __u8* dirhandle) { int result; @@ -403,7 +423,7 @@ int ncp_obtain_info(struct ncp_server *server, struct inode *dir, char *path, struct nw_info_struct *target) { __u8 volnum = NCP_FINFO(dir)->volNumber; - __u32 dirent = NCP_FINFO(dir)->dirEntNum; + __le32 dirent = NCP_FINFO(dir)->dirEntNum; int result; if (target == NULL) { @@ -414,7 +434,7 @@ int ncp_obtain_info(struct ncp_server *server, struct inode *dir, char *path, ncp_add_byte(server, 6); /* subfunction */ ncp_add_byte(server, server->name_space[volnum]); ncp_add_byte(server, server->name_space[volnum]); /* N.B. twice ?? */ - ncp_add_word(server, htons(0x0680)); /* get all */ + ncp_add_word(server, cpu_to_le16(0x8006)); /* get all */ ncp_add_dword(server, RIM_ALL); ncp_add_handle_path(server, volnum, dirent, 1, path); @@ -434,9 +454,9 @@ out: #ifdef CONFIG_NCPFS_NFS_NS static int ncp_obtain_DOS_dir_base(struct ncp_server *server, - __u8 volnum, __u32 dirent, + __u8 volnum, __le32 dirent, char *path, /* At most 1 component */ - __u32 *DOS_dir_base) + __le32 *DOS_dir_base) { int result; @@ -444,7 +464,7 @@ ncp_obtain_DOS_dir_base(struct ncp_server *server, ncp_add_byte(server, 6); /* subfunction */ ncp_add_byte(server, server->name_space[volnum]); ncp_add_byte(server, server->name_space[volnum]); - ncp_add_word(server, htons(0x0680)); /* get all */ + ncp_add_word(server, cpu_to_le16(0x8006)); /* get all */ ncp_add_dword(server, RIM_DIRECTORY); ncp_add_handle_path(server, volnum, dirent, 1, path); @@ -476,7 +496,7 @@ ncp_get_known_namespace(struct ncp_server *server, __u8 volume) } result = NW_NS_DOS; - no_namespaces = le16_to_cpu(ncp_reply_word(server, 0)); + no_namespaces = ncp_reply_le16(server, 0); namespace = ncp_reply_data(server, 2); while (no_namespaces > 0) { @@ -507,9 +527,9 @@ ncp_get_known_namespace(struct ncp_server *server, __u8 volume) static int ncp_ObtainSpecificDirBase(struct ncp_server *server, - __u8 nsSrc, __u8 nsDst, __u8 vol_num, __u32 dir_base, + __u8 nsSrc, __u8 nsDst, __u8 vol_num, __le32 dir_base, char *path, /* At most 1 component */ - __u32 *dirEntNum, __u32 *DosDirNum) + __le32 *dirEntNum, __le32 *DosDirNum) { int result; @@ -517,7 +537,7 @@ ncp_ObtainSpecificDirBase(struct ncp_server *server, ncp_add_byte(server, 6); /* subfunction */ ncp_add_byte(server, nsSrc); ncp_add_byte(server, nsDst); - ncp_add_word(server, htons(0x0680)); /* get all */ + ncp_add_word(server, cpu_to_le16(0x8006)); /* get all */ ncp_add_dword(server, RIM_ALL); ncp_add_handle_path(server, vol_num, dir_base, 1, path); @@ -537,8 +557,8 @@ ncp_ObtainSpecificDirBase(struct ncp_server *server, int ncp_mount_subdir(struct ncp_server *server, - __u8 volNumber, __u8 srcNS, __u32 dirEntNum, - __u32* volume, __u32* newDirEnt, __u32* newDosEnt) + __u8 volNumber, __u8 srcNS, __le32 dirEntNum, + __u32* volume, __le32* newDirEnt, __le32* newDosEnt) { int dstNS; int result; @@ -558,7 +578,7 @@ ncp_mount_subdir(struct ncp_server *server, int ncp_get_volume_root(struct ncp_server *server, const char *volname, - __u32* volume, __u32* dirent, __u32* dosdirent) + __u32* volume, __le32* dirent, __le32* dosdirent) { int result; __u8 volnum; @@ -620,18 +640,18 @@ ncp_lookup_volume(struct ncp_server *server, const char *volname, int ncp_modify_file_or_subdir_dos_info_path(struct ncp_server *server, struct inode *dir, const char *path, - __u32 info_mask, + __le32 info_mask, const struct nw_modify_dos_info *info) { __u8 volnum = NCP_FINFO(dir)->volNumber; - __u32 dirent = NCP_FINFO(dir)->dirEntNum; + __le32 dirent = NCP_FINFO(dir)->dirEntNum; int result; ncp_init_request(server); ncp_add_byte(server, 7); /* subfunction */ ncp_add_byte(server, server->name_space[volnum]); ncp_add_byte(server, 0); /* reserved */ - ncp_add_word(server, htons(0x0680)); /* search attribs: all */ + ncp_add_word(server, cpu_to_le16(0x8006)); /* search attribs: all */ ncp_add_dword(server, info_mask); ncp_add_mem(server, info, sizeof(*info)); @@ -644,7 +664,7 @@ int ncp_modify_file_or_subdir_dos_info_path(struct ncp_server *server, int ncp_modify_file_or_subdir_dos_info(struct ncp_server *server, struct inode *dir, - __u32 info_mask, + __le32 info_mask, const struct nw_modify_dos_info *info) { return ncp_modify_file_or_subdir_dos_info_path(server, dir, NULL, @@ -652,7 +672,7 @@ int ncp_modify_file_or_subdir_dos_info(struct ncp_server *server, } #ifdef CONFIG_NCPFS_NFS_NS -int ncp_modify_nfs_info(struct ncp_server *server, __u8 volnum, __u32 dirent, +int ncp_modify_nfs_info(struct ncp_server *server, __u8 volnum, __le32 dirent, __u32 mode, __u32 rdev) { @@ -681,8 +701,8 @@ int ncp_modify_nfs_info(struct ncp_server *server, __u8 volnum, __u32 dirent, static int ncp_DeleteNSEntry(struct ncp_server *server, - __u8 have_dir_base, __u8 volnum, __u32 dirent, - char* name, __u8 ns, int attr) + __u8 have_dir_base, __u8 volnum, __le32 dirent, + char* name, __u8 ns, __le16 attr) { int result; @@ -704,7 +724,7 @@ ncp_del_file_or_subdir2(struct ncp_server *server, { struct inode *inode = dentry->d_inode; __u8 volnum; - __u32 dirent; + __le32 dirent; if (!inode) { #ifdef CONFIG_NCPFS_DEBUGDENTRY @@ -714,7 +734,7 @@ ncp_del_file_or_subdir2(struct ncp_server *server, } volnum = NCP_FINFO(inode)->volNumber; dirent = NCP_FINFO(inode)->DosDirNum; - return ncp_DeleteNSEntry(server, 1, volnum, dirent, NULL, NW_NS_DOS, htons(0x0680)); + return ncp_DeleteNSEntry(server, 1, volnum, dirent, NULL, NW_NS_DOS, cpu_to_le16(0x8006)); } int @@ -722,7 +742,7 @@ ncp_del_file_or_subdir(struct ncp_server *server, struct inode *dir, char *name) { __u8 volnum = NCP_FINFO(dir)->volNumber; - __u32 dirent = NCP_FINFO(dir)->dirEntNum; + __le32 dirent = NCP_FINFO(dir)->dirEntNum; #ifdef CONFIG_NCPFS_NFS_NS if (server->name_space[volnum]==NW_NS_NFS) @@ -731,18 +751,19 @@ ncp_del_file_or_subdir(struct ncp_server *server, result=ncp_obtain_DOS_dir_base(server, volnum, dirent, name, &dirent); if (result) return result; - return ncp_DeleteNSEntry(server, 1, volnum, dirent, NULL, NW_NS_DOS, htons(0x0680)); + return ncp_DeleteNSEntry(server, 1, volnum, dirent, NULL, NW_NS_DOS, cpu_to_le16(0x8006)); } else #endif /* CONFIG_NCPFS_NFS_NS */ - return ncp_DeleteNSEntry(server, 1, volnum, dirent, name, server->name_space[volnum], htons(0x0680)); + return ncp_DeleteNSEntry(server, 1, volnum, dirent, name, server->name_space[volnum], cpu_to_le16(0x8006)); } -static inline void ConvertToNWfromDWORD(__u32 sfd, __u8 ret[6]) +static inline void ConvertToNWfromDWORD(__u16 v0, __u16 v1, __u8 ret[6]) { - __u16 *dest = (__u16 *) ret; - memcpy(ret + 2, &sfd, 4); - dest[0] = cpu_to_le16((le16_to_cpu(dest[1]) + le16_to_cpu(1))); + __le16 *dest = (__le16 *) ret; + dest[1] = cpu_to_le16(v0); + dest[2] = cpu_to_le16(v1); + dest[0] = cpu_to_le16(v0 + 1); return; } @@ -751,20 +772,20 @@ static inline void ConvertToNWfromDWORD(__u32 sfd, __u8 ret[6]) int ncp_open_create_file_or_subdir(struct ncp_server *server, struct inode *dir, char *name, int open_create_mode, - __u32 create_attributes, - int desired_acc_rights, + __le32 create_attributes, + __le16 desired_acc_rights, struct ncp_entry_info *target) { - __u16 search_attribs = ntohs(0x0600); + __le16 search_attribs = cpu_to_le16(0x0006); __u8 volnum; - __u32 dirent; + __le32 dirent; int result; volnum = NCP_FINFO(dir)->volNumber; dirent = NCP_FINFO(dir)->dirEntNum; if ((create_attributes & aDIR) != 0) { - search_attribs |= ntohs(0x0080); + search_attribs |= cpu_to_le16(0x8000); } ncp_init_request(server); ncp_add_byte(server, 1); /* subfunction */ @@ -786,7 +807,9 @@ int ncp_open_create_file_or_subdir(struct ncp_server *server, /* in target there's a new finfo to fill */ ncp_extract_file_info(ncp_reply_data(server, 6), &(target->i)); target->volume = target->i.volNumber; - ConvertToNWfromDWORD(ncp_reply_dword(server, 0), target->file_handle); + ConvertToNWfromDWORD(ncp_reply_le16(server, 0), + ncp_reply_le16(server, 2), + target->file_handle); ncp_unlock_server(server); @@ -803,7 +826,7 @@ ncp_initialize_search(struct ncp_server *server, struct inode *dir, struct nw_search_sequence *target) { __u8 volnum = NCP_FINFO(dir)->volNumber; - __u32 dirent = NCP_FINFO(dir)->dirEntNum; + __le32 dirent = NCP_FINFO(dir)->dirEntNum; int result; ncp_init_request(server); @@ -833,7 +856,7 @@ int ncp_search_for_file_or_subdir(struct ncp_server *server, ncp_add_byte(server, 3); /* subfunction */ ncp_add_byte(server, server->name_space[seq->volNumber]); ncp_add_byte(server, 0); /* data stream (???) */ - ncp_add_word(server, htons(0x0680)); /* Search attribs */ + ncp_add_word(server, cpu_to_le16(0x8006)); /* Search attribs */ ncp_add_dword(server, RIM_ALL); /* return info mask */ ncp_add_mem(server, seq, 9); #ifdef CONFIG_NCPFS_NFS_NS @@ -877,9 +900,9 @@ int ncp_search_for_fileset(struct ncp_server *server, ncp_add_byte(server, 20); ncp_add_byte(server, server->name_space[seq->volNumber]); ncp_add_byte(server, 0); /* datastream */ - ncp_add_word(server, htons(0x0680)); + ncp_add_word(server, cpu_to_le16(0x8006)); ncp_add_dword(server, RIM_ALL); - ncp_add_word(server, 32767); /* max returned items */ + ncp_add_word(server, cpu_to_le16(32767)); /* max returned items */ ncp_add_mem(server, seq, 9); #ifdef CONFIG_NCPFS_NFS_NS if (server->name_space[seq->volNumber] == NW_NS_NFS) { @@ -912,7 +935,7 @@ int ncp_search_for_fileset(struct ncp_server *server, int ncp_RenameNSEntry(struct ncp_server *server, - struct inode *old_dir, char *old_name, int old_type, + struct inode *old_dir, char *old_name, __le16 old_type, struct inode *new_dir, char *new_name) { int result = -EINVAL; @@ -955,14 +978,14 @@ int ncp_ren_or_mov_file_or_subdir(struct ncp_server *server, struct inode *new_dir, char *new_name) { int result; - int old_type = htons(0x0600); + __le16 old_type = cpu_to_le16(0x06); /* If somebody can do it atomic, call me... vandrove@vc.cvut.cz */ result = ncp_RenameNSEntry(server, old_dir, old_name, old_type, new_dir, new_name); if (result == 0xFF) /* File Not Found, try directory */ { - old_type = htons(0x1600); + old_type = cpu_to_le16(0x16); result = ncp_RenameNSEntry(server, old_dir, old_name, old_type, new_dir, new_name); } @@ -986,13 +1009,13 @@ ncp_read_kernel(struct ncp_server *server, const char *file_id, ncp_init_request(server); ncp_add_byte(server, 0); ncp_add_mem(server, file_id, 6); - ncp_add_dword(server, htonl(offset)); - ncp_add_word(server, htons(to_read)); + ncp_add_be32(server, offset); + ncp_add_be16(server, to_read); if ((result = ncp_request(server, 72)) != 0) { goto out; } - *bytes_read = ntohs(ncp_reply_word(server, 0)); + *bytes_read = ncp_reply_be16(server, 0); source = ncp_reply_data(server, 2 + (offset & 1)); memcpy(target, source, *bytes_read); @@ -1022,12 +1045,12 @@ ncp_read_bounce(struct ncp_server *server, const char *file_id, ncp_init_request(server); ncp_add_byte(server, 0); ncp_add_mem(server, file_id, 6); - ncp_add_dword(server, htonl(offset)); - ncp_add_word(server, htons(to_read)); + ncp_add_be32(server, offset); + ncp_add_be16(server, to_read); result = ncp_request2(server, 72, bounce, bufsize); ncp_unlock_server(server); if (!result) { - int len = be16_to_cpu(get_unaligned((__u16*)((char*)bounce + + int len = be16_to_cpu(get_unaligned((__be16*)((char*)bounce + sizeof(struct ncp_reply_header)))); result = -EIO; if (len <= to_read) { @@ -1055,8 +1078,8 @@ ncp_write_kernel(struct ncp_server *server, const char *file_id, ncp_init_request(server); ncp_add_byte(server, 0); ncp_add_mem(server, file_id, 6); - ncp_add_dword(server, htonl(offset)); - ncp_add_word(server, htons(to_write)); + ncp_add_be32(server, offset); + ncp_add_be16(server, to_write); ncp_add_mem(server, source, to_write); if ((result = ncp_request(server, 73)) == 0) @@ -1075,9 +1098,9 @@ ncp_LogPhysicalRecord(struct ncp_server *server, const char *file_id, ncp_init_request(server); ncp_add_byte(server, locktype); ncp_add_mem(server, file_id, 6); - ncp_add_dword(server, htonl(offset)); - ncp_add_dword(server, htonl(length)); - ncp_add_word(server, htons(timeout)); + ncp_add_be32(server, offset); + ncp_add_be32(server, length); + ncp_add_be16(server, timeout); if ((result = ncp_request(server, 0x1A)) != 0) { @@ -1097,8 +1120,8 @@ ncp_ClearPhysicalRecord(struct ncp_server *server, const char *file_id, ncp_init_request(server); ncp_add_byte(server, 0); /* who knows... lanalyzer says that */ ncp_add_mem(server, file_id, 6); - ncp_add_dword(server, htonl(offset)); - ncp_add_dword(server, htonl(length)); + ncp_add_be32(server, offset); + ncp_add_be32(server, length); if ((result = ncp_request(server, 0x1E)) != 0) { @@ -1115,22 +1138,6 @@ ncp_ClearPhysicalRecord(struct ncp_server *server, const char *file_id, * from the vfat file system and hints from Petr Vandrovec. */ -inline unsigned char -ncp__tolower(struct nls_table *t, unsigned char c) -{ - unsigned char nc = t->charset2lower[c]; - - return nc ? nc : c; -} - -inline unsigned char -ncp__toupper(struct nls_table *t, unsigned char c) -{ - unsigned char nc = t->charset2upper[c]; - - return nc ? nc : c; -} - int ncp__io2vol(struct ncp_server *server, unsigned char *vname, unsigned int *vlen, const unsigned char *iname, unsigned int ilen, int cc) @@ -1346,16 +1353,3 @@ ncp__vol2io(unsigned char *iname, unsigned int *ilen, } #endif - -inline int -ncp_strnicmp(struct nls_table *t, const unsigned char *s1, - const unsigned char *s2, int n) -{ - int i; - - for (i=0; id_inode)->nls_io) -#define ncp_tolower(t, c) ncp__tolower(t, c) -#define ncp_toupper(t, c) ncp__toupper(t, c) +#define ncp_tolower(t, c) nls_tolower(t, c) +#define ncp_toupper(t, c) nls_toupper(t, c) +#define ncp_strnicmp(t, s1, s2, len) \ + nls_strnicmp(t, s1, s2, len) #define ncp_io2vol(S,m,i,n,k,U) ncp__io2vol(S,m,i,n,k,U) #define ncp_vol2io(S,m,i,n,k,U) ncp__vol2io(S,m,i,n,k,U) @@ -159,11 +159,19 @@ int ncp__vol2io(unsigned char *, unsigned int *, #define ncp_io2vol(S,m,i,n,k,U) ncp__io2vol(m,i,n,k,U) #define ncp_vol2io(S,m,i,n,k,U) ncp__vol2io(m,i,n,k,U) -#endif /* CONFIG_NCPFS_NLS */ -int -ncp_strnicmp(struct nls_table *, - const unsigned char *, const unsigned char *, int); +static inline int ncp_strnicmp(struct nls_table *t, const unsigned char *s1, + const unsigned char *s2, int len) +{ + while (len--) { + if (tolower(*s1++) != tolower(*s2++)) + return 1; + } + + return 0; +} + +#endif /* CONFIG_NCPFS_NLS */ #define NCP_GET_AGE(dentry) (jiffies - (dentry)->d_time) #define NCP_MAX_AGE(server) ((server)->dentry_ttl) diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c index 5f9aa3a2d..296761b07 100644 --- a/fs/nfs/dir.c +++ b/fs/nfs/dir.c @@ -32,6 +32,8 @@ #include #include +#include "delegation.h" + #define NFS_PARANOIA 1 /* #define NFS_DEBUG_VERBOSE 1 */ @@ -49,12 +51,14 @@ static int nfs_link(struct dentry *, struct inode *, struct dentry *); static int nfs_mknod(struct inode *, struct dentry *, int, dev_t); static int nfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *); +static int nfs_fsync_dir(struct file *, struct dentry *, int); struct file_operations nfs_dir_operations = { .read = generic_read_dir, .readdir = nfs_readdir, .open = nfs_opendir, .release = nfs_release, + .fsync = nfs_fsync_dir, }; struct inode_operations nfs_dir_inode_operations = { @@ -490,6 +494,15 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir) return 0; } +/* + * All directory operations under NFS are synchronous, so fsync() + * is a dummy operation. + */ +int nfs_fsync_dir(struct file *filp, struct dentry *dentry, int datasync) +{ + return 0; +} + /* * A check for whether or not the parent directory has changed. * In the case it has, we assume that the dentries are untrustworthy @@ -610,7 +623,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) verifier = nfs_save_change_attribute(dir); error = nfs_cached_lookup(dir, dentry, &fhandle, &fattr); if (!error) { - if (memcmp(NFS_FH(inode), &fhandle, sizeof(struct nfs_fh))!= 0) + if (nfs_compare_fh(NFS_FH(inode), &fhandle)) goto out_bad; if (nfs_lookup_verify_inode(inode, isopen)) goto out_zap_parent; @@ -623,7 +636,7 @@ static int nfs_lookup_revalidate(struct dentry * dentry, struct nameidata *nd) error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, &fhandle, &fattr); if (error) goto out_bad; - if (memcmp(NFS_FH(inode), &fhandle, sizeof(struct nfs_fh))!= 0) + if (nfs_compare_fh(NFS_FH(inode), &fhandle)) goto out_bad; if ((error = nfs_refresh_inode(inode, &fattr)) != 0) goto out_bad; @@ -851,22 +864,22 @@ static int nfs_open_revalidate(struct dentry *dentry, struct nameidata *nd) unsigned long verifier; int openflags, ret = 0; - /* NFS only supports OPEN for regular files */ - if (inode && !S_ISREG(inode->i_mode)) - goto no_open; parent = dget_parent(dentry); dir = parent->d_inode; if (!is_atomic_open(dir, nd)) goto no_open; + /* We can't create new files in nfs_open_revalidate(), so we + * optimize away revalidation of negative dentries. + */ + if (inode == NULL) + goto out; + /* NFS only supports OPEN on regular files */ + if (!S_ISREG(inode->i_mode)) + goto no_open; openflags = nd->intent.open.flags; - if (openflags & O_CREAT) { - /* If this is a negative dentry, just drop it */ - if (!inode) - goto out; - /* If this is exclusive open, just revalidate */ - if (openflags & O_EXCL) - goto no_open; - } + /* We cannot do exclusive creation on a positive dentry */ + if ((openflags & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL)) + goto no_open; /* We can't create new files, or truncate existing ones here */ openflags &= ~(O_CREAT|O_TRUNC); @@ -888,6 +901,8 @@ out: return ret; no_open: dput(parent); + if (inode != NULL && nfs_have_delegation(inode, FMODE_READ)) + return 1; return nfs_lookup_revalidate(dentry, nd); } #endif /* CONFIG_NFSV4 */ @@ -983,12 +998,18 @@ static int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fhandle, /* We may have been initialized further down */ if (dentry->d_inode) return 0; - if (fhandle->size == 0 || !(fattr->valid & NFS_ATTR_FATTR)) { + if (fhandle->size == 0) { struct inode *dir = dentry->d_parent->d_inode; error = NFS_PROTO(dir)->lookup(dir, &dentry->d_name, fhandle, fattr); if (error) goto out_err; } + if (!(fattr->valid & NFS_ATTR_FATTR)) { + struct nfs_server *server = NFS_SB(dentry->d_sb); + error = server->rpc_ops->getattr(server, fhandle, fattr); + if (error < 0) + goto out_err; + } inode = nfs_fhget(dentry->d_sb, fhandle, fattr); if (inode) { d_instantiate(dentry, inode); @@ -1300,19 +1321,6 @@ nfs_symlink(struct inode *dir, struct dentry *dentry, const char *symname) dfprintk(VFS, "NFS: symlink(%s/%ld, %s, %s)\n", dir->i_sb->s_id, dir->i_ino, dentry->d_name.name, symname); - error = -ENAMETOOLONG; - switch (NFS_PROTO(dir)->version) { - case 2: - if (strlen(symname) > NFS2_MAXPATHLEN) - goto out; - break; - case 3: - if (strlen(symname) > NFS3_MAXPATHLEN) - goto out; - default: - break; - } - #ifdef NFS_PARANOIA if (dentry->d_inode) printk("nfs_proc_symlink: %s/%s not negative!\n", @@ -1342,8 +1350,6 @@ dentry->d_parent->d_name.name, dentry->d_name.name); d_drop(dentry); } unlock_kernel(); - -out: return error; } @@ -1433,7 +1439,7 @@ static int nfs_rename(struct inode *old_dir, struct dentry *old_dentry, goto go_ahead; if (S_ISDIR(new_inode->i_mode)) goto out; - else if (atomic_read(&new_dentry->d_count) > 1) { + else if (atomic_read(&new_dentry->d_count) > 2) { int err; /* copy the target dentry's name */ dentry = d_alloc(new_dentry->d_parent, @@ -1448,10 +1454,8 @@ static int nfs_rename(struct inode *old_dir, struct dentry *old_dentry, new_inode = NULL; /* instantiate the replacement target */ d_instantiate(new_dentry, NULL); - } - + } else if (atomic_read(&new_dentry->d_count) > 1) { /* dentry still busy? */ - if (atomic_read(&new_dentry->d_count) > 1) { #ifdef NFS_PARANOIA printk("nfs_rename: target %s/%s busy, d_count=%d\n", new_dentry->d_parent->d_name.name, @@ -1499,10 +1503,56 @@ out: return error; } -int -nfs_permission(struct inode *inode, int mask, struct nameidata *nd) +int nfs_access_get_cached(struct inode *inode, struct rpc_cred *cred, struct nfs_access_entry *res) +{ + struct nfs_access_entry *cache = &NFS_I(inode)->cache_access; + + if (cache->cred != cred + || time_after(jiffies, cache->jiffies + NFS_ATTRTIMEO(inode)) + || (NFS_FLAGS(inode) & NFS_INO_INVALID_ATTR)) + return -ENOENT; + memcpy(res, cache, sizeof(*res)); + return 0; +} + +void nfs_access_add_cache(struct inode *inode, struct nfs_access_entry *set) +{ + struct nfs_access_entry *cache = &NFS_I(inode)->cache_access; + + if (cache->cred != set->cred) { + if (cache->cred) + put_rpccred(cache->cred); + cache->cred = get_rpccred(set->cred); + } + cache->jiffies = set->jiffies; + cache->mask = set->mask; +} + +static int nfs_do_access(struct inode *inode, struct rpc_cred *cred, int mask) +{ + struct nfs_access_entry cache; + int status; + + status = nfs_access_get_cached(inode, cred, &cache); + if (status == 0) + goto out; + + /* Be clever: ask server to check for all possible rights */ + cache.mask = MAY_EXEC | MAY_WRITE | MAY_READ; + cache.cred = cred; + cache.jiffies = jiffies; + status = NFS_PROTO(inode)->access(inode, &cache); + if (status != 0) + return status; + nfs_access_add_cache(inode, &cache); +out: + if ((cache.mask & mask) == mask) + return 0; + return -EACCES; +} + +int nfs_permission(struct inode *inode, int mask, struct nameidata *nd) { - struct nfs_access_cache *cache = &NFS_I(inode)->cache_access; struct rpc_cred *cred; int mode = inode->i_mode; int res; @@ -1543,24 +1593,7 @@ nfs_permission(struct inode *inode, int mask, struct nameidata *nd) goto out_notsup; cred = rpcauth_lookupcred(NFS_CLIENT(inode)->cl_auth, 0); - if (cache->cred == cred - && time_before(jiffies, cache->jiffies + NFS_ATTRTIMEO(inode)) - && !(NFS_FLAGS(inode) & NFS_INO_INVALID_ATTR)) { - if (!(res = cache->err)) { - /* Is the mask a subset of an accepted mask? */ - if ((cache->mask & mask) == mask) - goto out; - } else { - /* ...or is it a superset of a rejected mask? */ - if ((cache->mask & mask) == cache->mask) - goto out; - } - } - - res = NFS_PROTO(inode)->access(inode, cred, mask); - if (!res || res == -EACCES) - goto add_cache; -out: + res = nfs_do_access(inode, cred, mask); put_rpccred(cred); unlock_kernel(); return res; @@ -1569,15 +1602,6 @@ out_notsup: res = vfs_permission(inode, mask); unlock_kernel(); return res; -add_cache: - cache->jiffies = jiffies; - if (cache->cred) - put_rpccred(cache->cred); - cache->cred = cred; - cache->mask = mask; - cache->err = res; - unlock_kernel(); - return res; } /* diff --git a/fs/nfs/direct.c b/fs/nfs/direct.c index e4e228ea9..21c3c4d39 100644 --- a/fs/nfs/direct.c +++ b/fs/nfs/direct.c @@ -110,7 +110,7 @@ nfs_free_user_pages(struct page **pages, int npages, int do_dirty) * nfs_direct_read_seg - Read in one iov segment. Generate separate * read RPCs for each "rsize" bytes. * @inode: target inode - * @file: target file (may be NULL) + * @ctx: target file open context * user_addr: starting address of this segment of user's buffer * count: size of this segment * file_offset: offset in file to begin the operation @@ -118,7 +118,7 @@ nfs_free_user_pages(struct page **pages, int npages, int do_dirty) * nr_pages: size of pages array */ static int -nfs_direct_read_seg(struct inode *inode, struct file *file, +nfs_direct_read_seg(struct inode *inode, struct nfs_open_context *ctx, unsigned long user_addr, size_t count, loff_t file_offset, struct page **pages, int nr_pages) { @@ -127,9 +127,10 @@ nfs_direct_read_seg(struct inode *inode, struct file *file, int curpage = 0; struct nfs_read_data rdata = { .inode = inode, + .cred = ctx->cred, .args = { .fh = NFS_FH(inode), - .lockowner = current->files, + .context = ctx, }, .res = { .fattr = &rdata.fattr, @@ -151,7 +152,7 @@ nfs_direct_read_seg(struct inode *inode, struct file *file, user_addr + tot_bytes, rdata.args.pgbase, curpage); lock_kernel(); - result = NFS_PROTO(inode)->read(&rdata, file); + result = NFS_PROTO(inode)->read(&rdata); unlock_kernel(); if (result <= 0) { @@ -183,7 +184,7 @@ nfs_direct_read_seg(struct inode *inode, struct file *file, * nfs_direct_read - For each iov segment, map the user's buffer * then generate read RPCs. * @inode: target inode - * @file: target file (may be NULL) + * @ctx: target file open context * @iov: array of vectors that define I/O buffer * file_offset: offset in file to begin the operation * nr_segs: size of iovec array @@ -193,7 +194,7 @@ nfs_direct_read_seg(struct inode *inode, struct file *file, * server. */ static ssize_t -nfs_direct_read(struct inode *inode, struct file *file, +nfs_direct_read(struct inode *inode, struct nfs_open_context *ctx, const struct iovec *iov, loff_t file_offset, unsigned long nr_segs) { @@ -216,7 +217,7 @@ nfs_direct_read(struct inode *inode, struct file *file, return page_count; } - result = nfs_direct_read_seg(inode, file, user_addr, size, + result = nfs_direct_read_seg(inode, ctx, user_addr, size, file_offset, pages, page_count); nfs_free_user_pages(pages, page_count, 1); @@ -239,7 +240,7 @@ nfs_direct_read(struct inode *inode, struct file *file, * nfs_direct_write_seg - Write out one iov segment. Generate separate * write RPCs for each "wsize" bytes, then commit. * @inode: target inode - * @file: target file (may be NULL) + * @ctx: target file open context * user_addr: starting address of this segment of user's buffer * count: size of this segment * file_offset: offset in file to begin the operation @@ -247,7 +248,7 @@ nfs_direct_read(struct inode *inode, struct file *file, * nr_pages: size of pages array */ static int -nfs_direct_write_seg(struct inode *inode, struct file *file, +nfs_direct_write_seg(struct inode *inode, struct nfs_open_context *ctx, unsigned long user_addr, size_t count, loff_t file_offset, struct page **pages, int nr_pages) { @@ -257,9 +258,10 @@ nfs_direct_write_seg(struct inode *inode, struct file *file, struct nfs_writeverf first_verf; struct nfs_write_data wdata = { .inode = inode, + .cred = ctx->cred, .args = { .fh = NFS_FH(inode), - .lockowner = current->files, + .context = ctx, }, .res = { .fattr = &wdata.fattr, @@ -290,7 +292,7 @@ retry: user_addr + tot_bytes, wdata.args.pgbase, curpage); lock_kernel(); - result = NFS_PROTO(inode)->write(&wdata, file); + result = NFS_PROTO(inode)->write(&wdata); unlock_kernel(); if (result <= 0) { @@ -325,7 +327,7 @@ retry: wdata.args.offset = file_offset; lock_kernel(); - result = NFS_PROTO(inode)->commit(&wdata, file); + result = NFS_PROTO(inode)->commit(&wdata); unlock_kernel(); if (result < 0 || memcmp(&first_verf.verifier, @@ -349,7 +351,7 @@ sync_retry: * nfs_direct_write - For each iov segment, map the user's buffer * then generate write and commit RPCs. * @inode: target inode - * @file: target file (may be NULL) + * @ctx: target file open context * @iov: array of vectors that define I/O buffer * file_offset: offset in file to begin the operation * nr_segs: size of iovec array @@ -358,8 +360,7 @@ sync_retry: * that non-direct readers might access, so they will pick up these * writes immediately. */ -static ssize_t -nfs_direct_write(struct inode *inode, struct file *file, +static int nfs_direct_write(struct inode *inode, struct nfs_open_context *ctx, const struct iovec *iov, loff_t file_offset, unsigned long nr_segs) { @@ -382,7 +383,7 @@ nfs_direct_write(struct inode *inode, struct file *file, return page_count; } - result = nfs_direct_write_seg(inode, file, user_addr, size, + result = nfs_direct_write_seg(inode, ctx, user_addr, size, file_offset, pages, page_count); nfs_free_user_pages(pages, page_count, 0); @@ -414,6 +415,7 @@ nfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, { ssize_t result = -EINVAL; struct file *file = iocb->ki_filp; + struct nfs_open_context *ctx; struct dentry *dentry = file->f_dentry; struct inode *inode = dentry->d_inode; @@ -423,19 +425,20 @@ nfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, if (!is_sync_kiocb(iocb)) return result; + ctx = (struct nfs_open_context *)file->private_data; switch (rw) { case READ: dprintk("NFS: direct_IO(read) (%s) off/no(%Lu/%lu)\n", dentry->d_name.name, file_offset, nr_segs); - result = nfs_direct_read(inode, file, iov, + result = nfs_direct_read(inode, ctx, iov, file_offset, nr_segs); break; case WRITE: dprintk("NFS: direct_IO(write) (%s) off/no(%Lu/%lu)\n", dentry->d_name.name, file_offset, nr_segs); - result = nfs_direct_write(inode, file, iov, + result = nfs_direct_write(inode, ctx, iov, file_offset, nr_segs); break; default: @@ -471,6 +474,8 @@ nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t ssize_t retval = -EINVAL; loff_t *ppos = &iocb->ki_pos; struct file *file = iocb->ki_filp; + struct nfs_open_context *ctx = + (struct nfs_open_context *) file->private_data; struct dentry *dentry = file->f_dentry; struct address_space *mapping = file->f_mapping; struct inode *inode = mapping->host; @@ -502,7 +507,7 @@ nfs_file_direct_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t goto out; } - retval = nfs_direct_read(inode, file, &iov, pos, 1); + retval = nfs_direct_read(inode, ctx, &iov, pos, 1); if (retval > 0) *ppos = pos + retval; @@ -542,6 +547,8 @@ nfs_file_direct_write(struct kiocb *iocb, const char __user *buf, size_t count, loff_t *ppos = &iocb->ki_pos; unsigned long limit = current->rlim[RLIMIT_FSIZE].rlim_cur; struct file *file = iocb->ki_filp; + struct nfs_open_context *ctx = + (struct nfs_open_context *) file->private_data; struct dentry *dentry = file->f_dentry; struct address_space *mapping = file->f_mapping; struct inode *inode = mapping->host; @@ -589,7 +596,7 @@ nfs_file_direct_write(struct kiocb *iocb, const char __user *buf, size_t count, goto out; } - retval = nfs_direct_write(inode, file, &iov, pos, 1); + retval = nfs_direct_write(inode, ctx, &iov, pos, 1); if (mapping->nrpages) invalidate_inode_pages2(mapping); if (retval > 0) diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 91bd05377..21071ddd4 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -31,6 +31,8 @@ #include #include +#include "delegation.h" + #define NFSDBG_FACILITY NFSDBG_FILE static int nfs_file_open(struct inode *, struct file *); @@ -113,6 +115,7 @@ nfs_file_release(struct inode *inode, struct file *filp) static int nfs_file_flush(struct file *file) { + struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct inode *inode = file->f_dentry->d_inode; int status; @@ -124,9 +127,9 @@ nfs_file_flush(struct file *file) /* Ensure that data+attribute caches are up to date after close() */ status = nfs_wb_all(inode); if (!status) { - status = file->f_error; - file->f_error = 0; - if (!status) + status = ctx->error; + ctx->error = 0; + if (!status && !nfs_have_delegation(inode, FMODE_READ)) __nfs_revalidate_inode(NFS_SERVER(inode), inode); } unlock_kernel(); @@ -156,59 +159,265 @@ nfs_file_read(struct kiocb *iocb, char __user * buf, size_t count, loff_t pos) } static ssize_t -nfs_file_sendfile(struct file *f - if (IS_GETLK(cmd)) - status = LOCK_USE_CLNT; - goto out_ok; - } +nfs_file_sendfile(struct file *filp, loff_t *ppos, size_t count, + read_actor_t actor, void *target) +{ + struct dentry *dentry = filp->f_dentry; + struct inode *inode = dentry->d_inode; + ssize_t res; + + dfprintk(VFS, "nfs: sendfile(%s/%s, %lu@%Lu)\n", + dentry->d_parent->d_name.name, dentry->d_name.name, + (unsigned long) count, (unsigned long long) *ppos); + + res = nfs_revalidate_inode(NFS_SERVER(inode), inode); + if (!res) + res = generic_file_sendfile(filp, ppos, count, actor, target); + return res; +} + +static int +nfs_file_mmap(struct file * file, struct vm_area_struct * vma) +{ + struct dentry *dentry = file->f_dentry; + struct inode *inode = dentry->d_inode; + int status; + + dfprintk(VFS, "nfs: mmap(%s/%s)\n", + dentry->d_parent->d_name.name, dentry->d_name.name); + + status = nfs_revalidate_inode(NFS_SERVER(inode), inode); + if (!status) + status = generic_file_mmap(file, vma); + return status; +} + +/* + * Flush any dirty pages for this process, and check for write errors. + * The return status from this call provides a reliable indication of + * whether any write errors occurred for this process. + */ +static int +nfs_fsync(struct file *file, struct dentry *dentry, int datasync) +{ + struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; + struct inode *inode = dentry->d_inode; + int status; + + dfprintk(VFS, "nfs: fsync(%s/%ld)\n", inode->i_sb->s_id, inode->i_ino); + + lock_kernel(); + status = nfs_wb_all(inode); + if (!status) { + status = ctx->error; + ctx->error = 0; } + unlock_kernel(); + return status; +} + +/* + * This does the "real" work of the write. The generic routine has + * allocated the page, locked it, done all the page alignment stuff + * calculations etc. Now we should just copy the data from user + * space and write it back to the real medium.. + * + * If the writer ends up delaying the write, the writer needs to + * increment the page use counts until he is done with the page. + */ +static int nfs_prepare_write(struct file *file, struct page *page, unsigned offset, unsigned to) +{ + return nfs_flush_incompatible(file, page); +} + +static int nfs_commit_write(struct file *file, struct page *page, unsigned offset, unsigned to) +{ + long status; + + lock_kernel(); + status = nfs_updatepage(file, page, offset, to-offset); + unlock_kernel(); + return status; +} + +struct address_space_operations nfs_file_aops = { + .readpage = nfs_readpage, + .readpages = nfs_readpages, + .set_page_dirty = __set_page_dirty_nobuffers, + .writepage = nfs_writepage, + .writepages = nfs_writepages, + .prepare_write = nfs_prepare_write, + .commit_write = nfs_commit_write, +#ifdef CONFIG_NFS_DIRECTIO + .direct_IO = nfs_direct_IO, +#endif +}; + +/* + * Write to a file (through the page cache). + */ +static ssize_t +nfs_file_write(struct kiocb *iocb, const char __user *buf, size_t count, loff_t pos) +{ + struct dentry * dentry = iocb->ki_filp->f_dentry; + struct inode * inode = dentry->d_inode; + ssize_t result; + +#ifdef CONFIG_NFS_DIRECTIO + if (iocb->ki_filp->f_flags & O_DIRECT) + return nfs_file_direct_write(iocb, buf, count, pos); +#endif + + dfprintk(VFS, "nfs: write(%s/%s(%ld), %lu@%lu)\n", + dentry->d_parent->d_name.name, dentry->d_name.name, + inode->i_ino, (unsigned long) count, (unsigned long) pos); + result = -EBUSY; + if (IS_SWAPFILE(inode)) + goto out_swapfile; + result = nfs_revalidate_inode(NFS_SERVER(inode), inode); + if (result) + goto out; + + result = count; + if (!count) + goto out; + + result = generic_file_aio_write(iocb, buf, count, pos); +out: + return result; + +out_swapfile: + printk(KERN_INFO "NFS: attempt to write to active swap file!\n"); + goto out; +} + +static int do_getlk(struct file *filp, int cmd, struct file_lock *fl) +{ + struct inode *inode = filp->f_mapping->host; + int status; + + lock_kernel(); + status = NFS_PROTO(inode)->lock(filp, cmd, fl); + unlock_kernel(); + return status; +} + +static int do_unlk(struct file *filp, int cmd, struct file_lock *fl) +{ + struct inode *inode = filp->f_mapping->host; + sigset_t oldset; + int status; + + rpc_clnt_sigmask(NFS_CLIENT(inode), &oldset); /* - * No BSD flocks over NFS allowed. - * Note: we could try to fake a POSIX lock request here by - * using ((u32) filp | 0x80000000) or some such as the pid. - * Not sure whether that would be unique, though, or whether - * that would break in other places. + * Flush all pending writes before doing anything + * with locks.. */ - if (!fl->fl_owner || !(fl->fl_flags & FL_POSIX)) - return -ENOLCK; + filemap_fdatawrite(filp->f_mapping); + down(&inode->i_sem); + nfs_wb_all(inode); + up(&inode->i_sem); + filemap_fdatawait(filp->f_mapping); + + /* NOTE: special case + * If we're signalled while cleaning up locks on process exit, we + * still need to complete the unlock. + */ + lock_kernel(); + status = NFS_PROTO(inode)->lock(filp, cmd, fl); + rpc_clnt_sigunmask(NFS_CLIENT(inode), &oldset); + return status; +} + +static int do_setlk(struct file *filp, int cmd, struct file_lock *fl) +{ + struct inode *inode = filp->f_mapping->host; + int status; /* * Flush all pending writes before doing anything * with locks.. */ status = filemap_fdatawrite(filp->f_mapping); - down(&inode->i_sem); - status2 = nfs_wb_all(inode); - if (!status) - status = status2; - up(&inode->i_sem); - status2 = filemap_fdatawait(filp->f_mapping); - if (!status) - status = status2; + if (status == 0) { + down(&inode->i_sem); + status = nfs_wb_all(inode); + up(&inode->i_sem); + if (status == 0) + status = filemap_fdatawait(filp->f_mapping); + } if (status < 0) return status; lock_kernel(); status = NFS_PROTO(inode)->lock(filp, cmd, fl); + /* If we were signalled we still need to ensure that + * we clean up any state on the server. We therefore + * record the lock call as having succeeded in order to + * ensure that locks_remove_posix() cleans it out when + * the process exits. + */ + if (status == -EINTR || status == -ERESTARTSYS) + posix_lock_file(filp, fl); unlock_kernel(); if (status < 0) return status; - - status = 0; - /* * Make sure we clear the cache whenever we try to get the lock. * This makes locking act as a cache coherency point. */ - out_ok: - if ((IS_SETLK(cmd) || IS_SETLKW(cmd)) && fl->fl_type != F_UNLCK) { - filemap_fdatawrite(filp->f_mapping); - down(&inode->i_sem); - nfs_wb_all(inode); /* we may have slept */ - up(&inode->i_sem); - filemap_fdatawait(filp->f_mapping); - nfs_zap_caches(inode); + filemap_fdatawrite(filp->f_mapping); + down(&inode->i_sem); + nfs_wb_all(inode); /* we may have slept */ + up(&inode->i_sem); + filemap_fdatawait(filp->f_mapping); + nfs_zap_caches(inode); + return 0; +} + +/* + * Lock a (portion of) a file + */ +int +nfs_lock(struct file *filp, int cmd, struct file_lock *fl) +{ + struct inode * inode = filp->f_mapping->host; + + dprintk("NFS: nfs_lock(f=%s/%ld, t=%x, fl=%x, r=%Ld:%Ld)\n", + inode->i_sb->s_id, inode->i_ino, + fl->fl_type, fl->fl_flags, + (long long)fl->fl_start, (long long)fl->fl_end); + + if (!inode) + return -EINVAL; + + /* No mandatory locks over NFS */ + if ((inode->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID) + return -ENOLCK; + + if (NFS_PROTO(inode)->version != 4) { + /* Fake OK code if mounted without NLM support */ + if (NFS_SERVER(inode)->flags & NFS_MOUNT_NONLM) { + if (IS_GETLK(cmd)) + return LOCK_USE_CLNT; + return 0; + } } - return status; + + /* + * No BSD flocks over NFS allowed. + * Note: we could try to fake a POSIX lock request here by + * using ((u32) filp | 0x80000000) or some such as the pid. + * Not sure whether that would be unique, though, or whether + * that would break in other places. + */ + if (!fl->fl_owner || !(fl->fl_flags & FL_POSIX)) + return -ENOLCK; + + if (IS_GETLK(cmd)) + return do_getlk(filp, cmd, fl); + if (fl->fl_type == F_UNLCK) + return do_unlk(filp, cmd, fl); + return do_setlk(filp, cmd, fl); } diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 7f25c31fd..60b307478 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -40,6 +40,8 @@ #include #include +#include "delegation.h" + #define NFSDBG_FACILITY NFSDBG_VFS #define NFS_PARANOIA 1 @@ -56,9 +58,8 @@ static int nfs_update_inode(struct inode *, struct nfs_fattr *, unsigned long); static struct inode *nfs_alloc_inode(struct super_block *sb); static void nfs_destroy_inode(struct inode *); -static void nfs_write_inode(struct inode *,int); +static int nfs_write_inode(struct inode *,int); static void nfs_delete_inode(struct inode *); -static void nfs_put_super(struct super_block *); static void nfs_clear_inode(struct inode *); static void nfs_umount_begin(struct super_block *); static int nfs_statfs(struct super_block *, struct kstatfs *); @@ -69,7 +70,6 @@ static struct super_operations nfs_sops = { .destroy_inode = nfs_destroy_inode, .write_inode = nfs_write_inode, .delete_inode = nfs_delete_inode, - .put_super = nfs_put_super, .statfs = nfs_statfs, .clear_inode = nfs_clear_inode, .umount_begin = nfs_umount_begin, @@ -111,12 +111,16 @@ nfs_fattr_to_ino_t(struct nfs_fattr *fattr) return nfs_fileid_to_ino_t(fattr->fileid); } -static void +static int nfs_write_inode(struct inode *inode, int sync) { int flags = sync ? FLUSH_WAIT : 0; + int ret; - nfs_commit_inode(inode, 0, 0, flags); + ret = nfs_commit_inode(inode, 0, 0, flags); + if (ret < 0) + return ret; + return 0; } static void @@ -124,8 +128,9 @@ nfs_delete_inode(struct inode * inode) { dprintk("NFS: delete_inode(%s/%ld)\n", inode->i_sb->s_id, inode->i_ino); + nfs_wb_all(inode); /* - * The following can never actually happen... + * The following should never happen... */ if (nfs_have_writebacks(inode)) { printk(KERN_ERR "nfs_delete_inode: inode %ld has pending RPC requests\n", inode->i_ino); @@ -142,37 +147,16 @@ static void nfs_clear_inode(struct inode *inode) { struct nfs_inode *nfsi = NFS_I(inode); - struct rpc_cred *cred = nfsi->mm_cred; + struct rpc_cred *cred; - if (cred) - put_rpccred(cred); + nfs_wb_all(inode); + BUG_ON (!list_empty(&nfsi->open_files)); cred = nfsi->cache_access.cred; if (cred) put_rpccred(cred); BUG_ON(atomic_read(&nfsi->data_updates) != 0); } -void -nfs_put_super(struct super_block *sb) -{ - struct nfs_server *server = NFS_SB(sb); - - nfs4_renewd_prepare_shutdown(server); - - if (server->client != NULL) - rpc_shutdown_client(server->client); - if (server->client_sys != NULL) - rpc_shutdown_client(server->client_sys); - - if (!(server->flags & NFS_MOUNT_NONLM)) - lockd_down(); /* release rpc.lockd */ - rpciod_down(); /* release rpciod */ - - destroy_nfsv4_state(server); - - kfree(server->hostname); -} - void nfs_umount_begin(struct super_block *sb) { @@ -294,14 +278,6 @@ nfs_sb_init(struct super_block *sb, rpc_authflavor_t authflavor) server->rsize = nfs_block_size(fsinfo.rtpref, NULL); if (server->wsize == 0) server->wsize = nfs_block_size(fsinfo.wtpref, NULL); - if (sb->s_blocksize == 0) { - if (fsinfo.wtmult == 0) { - sb->s_blocksize = 512; - sb->s_blocksize_bits = 9; - } else - sb->s_blocksize = nfs_block_bits(fsinfo.wtmult, - &sb->s_blocksize_bits); - } if (fsinfo.rtmax >= 512 && server->rsize > fsinfo.rtmax) server->rsize = nfs_block_size(fsinfo.rtmax, NULL); @@ -320,6 +296,11 @@ nfs_sb_init(struct super_block *sb, rpc_authflavor_t authflavor) server->wsize = server->wpages << PAGE_CACHE_SHIFT; } + if (sb->s_blocksize == 0) + sb->s_blocksize = nfs_block_bits(server->wsize, + &sb->s_blocksize_bits); + server->wtmult = nfs_block_bits(fsinfo.wtmult, NULL); + server->dtsize = nfs_block_size(fsinfo.dtpref, NULL); if (server->dtsize > PAGE_CACHE_SIZE) server->dtsize = PAGE_CACHE_SIZE; @@ -410,7 +391,6 @@ static int nfs_fill_super(struct super_block *sb, struct nfs_mount_data *data, int silent) { struct nfs_server *server; - int err = -EIO; rpc_authflavor_t authflavor; server = NFS_SB(sb); @@ -429,10 +409,14 @@ nfs_fill_super(struct super_block *sb, struct nfs_mount_data *data, int silent) server->acdirmin = data->acdirmin*HZ; server->acdirmax = data->acdirmax*HZ; + /* Start lockd here, before we might error out */ + if (!(server->flags & NFS_MOUNT_NONLM)) + lockd_up(); + server->namelen = data->namlen; server->hostname = kmalloc(strlen(data->hostname) + 1, GFP_KERNEL); if (!server->hostname) - goto out_fail; + return -ENOMEM; strcpy(server->hostname, data->hostname); /* Check NFS protocol revision and initialize RPC op vector @@ -443,11 +427,11 @@ nfs_fill_super(struct super_block *sb, struct nfs_mount_data *data, int silent) server->caps |= NFS_CAP_READDIRPLUS; if (data->version < 4) { printk(KERN_NOTICE "NFS: NFSv3 not supported by mount program.\n"); - goto out_fail; + return -EIO; } #else printk(KERN_NOTICE "NFS: NFSv3 not supported.\n"); - goto out_fail; + return -EIO; #endif } else { server->rpc_ops = &nfs_v2_clientops; @@ -462,30 +446,19 @@ nfs_fill_super(struct super_block *sb, struct nfs_mount_data *data, int silent) /* Create RPC client handles */ server->client = nfs_create_client(server, data); if (IS_ERR(server->client)) - goto out_fail; + return PTR_ERR(server->client); /* RFC 2623, sec 2.3.2 */ if (authflavor != RPC_AUTH_UNIX) { server->client_sys = rpc_clone_client(server->client); - if (server->client_sys == NULL) - goto out_shutdown; + if (IS_ERR(server->client_sys)) + return PTR_ERR(server->client_sys); if (!rpcauth_create(RPC_AUTH_UNIX, server->client_sys)) - goto out_shutdown; + return -ENOMEM; } else { atomic_inc(&server->client->cl_count); server->client_sys = server->client; } - /* Fire up rpciod if not yet running */ - if (rpciod_up() != 0) { - printk(KERN_WARNING "NFS: couldn't start rpciod!\n"); - goto out_shutdown; - } - - sb->s_op = &nfs_sops; - err = nfs_sb_init(sb, authflavor); - if (err != 0) - goto out_noinit; - if (server->flags & NFS_MOUNT_VER3) { if (server->namelen == 0 || server->namelen > NFS3_MAXNAMLEN) server->namelen = NFS3_MAXNAMLEN; @@ -494,21 +467,8 @@ nfs_fill_super(struct super_block *sb, struct nfs_mount_data *data, int silent) server->namelen = NFS2_MAXNAMLEN; } - /* Check whether to start the lockd process */ - if (!(server->flags & NFS_MOUNT_NONLM)) - lockd_up(); - return 0; -out_noinit: - rpciod_down(); -out_shutdown: - if (server->client) - rpc_shutdown_client(server->client); - if (server->client_sys) - rpc_shutdown_client(server->client_sys); -out_fail: - if (server->hostname) - kfree(server->hostname); - return err; + sb->s_op = &nfs_sops; + return nfs_sb_init(sb, authflavor); } static int @@ -531,6 +491,7 @@ nfs_statfs(struct super_block *sb, struct kstatfs *buf) if (error < 0) goto out_err; + buf->f_frsize = server->wtmult; buf->f_bsize = sb->s_blocksize; blockbits = sb->s_blocksize_bits; blockres = (1 << blockbits) - 1; @@ -648,7 +609,7 @@ nfs_find_actor(struct inode *inode, void *opaque) if (NFS_FILEID(inode) != fattr->fileid) return 0; - if (memcmp(NFS_FH(inode), fh, sizeof(struct nfs_fh)) != 0) + if (nfs_compare_fh(NFS_FH(inode), fh)) return 0; if (is_bad_inode(inode)) return 0; @@ -659,11 +620,10 @@ static int nfs_init_locked(struct inode *inode, void *opaque) { struct nfs_find_desc *desc = (struct nfs_find_desc *)opaque; - struct nfs_fh *fh = desc->fh; struct nfs_fattr *fattr = desc->fattr; NFS_FILEID(inode) = fattr->fileid; - memcpy(NFS_FH(inode), fh, sizeof(struct nfs_fh)); + nfs_copy_fh(NFS_FH(inode), desc->fh); return 0; } @@ -765,8 +725,8 @@ out: return inode; /* fail_dlim: - make_bad_inode(inode); - iput(inode); + make_bad_inode(inode); + iput(inode); inode = NULL; */ out_no_inode: @@ -774,8 +734,7 @@ out_no_inode: goto out; } -#define NFS_VALID_ATTRS (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_XID|ATTR_SIZE|\ - ATTR_ATIME|ATTR_ATIME_SET|ATTR_MTIME|ATTR_MTIME_SET) +#define NFS_VALID_ATTRS (ATTR_MODE|ATTR_UID|ATTR_GID|ATTR_SIZE|ATTR_ATIME|ATTR_ATIME_SET|ATTR_MTIME|ATTR_MTIME_SET) int nfs_setattr(struct dentry *dentry, struct iattr *attr) @@ -875,53 +834,114 @@ int nfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) return err; } +struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, struct rpc_cred *cred) +{ + struct nfs_open_context *ctx; + + ctx = (struct nfs_open_context *)kmalloc(sizeof(*ctx), GFP_KERNEL); + if (ctx != NULL) { + atomic_set(&ctx->count, 1); + ctx->dentry = dget(dentry); + ctx->cred = get_rpccred(cred); + ctx->state = NULL; + ctx->lockowner = current->files; + ctx->error = 0; + init_waitqueue_head(&ctx->waitq); + } + return ctx; +} + +struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx) +{ + if (ctx != NULL) + atomic_inc(&ctx->count); + return ctx; +} + +void put_nfs_open_context(struct nfs_open_context *ctx) +{ + if (atomic_dec_and_test(&ctx->count)) { + if (ctx->state != NULL) + nfs4_close_state(ctx->state, ctx->mode); + if (ctx->cred != NULL) + put_rpccred(ctx->cred); + dput(ctx->dentry); + kfree(ctx); + } +} + /* * Ensure that mmap has a recent RPC credential for use when writing out * shared pages */ -void -nfs_set_mmcred(struct inode *inode, struct rpc_cred *cred) +void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx) +{ + struct inode *inode = filp->f_dentry->d_inode; + struct nfs_inode *nfsi = NFS_I(inode); + + filp->private_data = get_nfs_open_context(ctx); + spin_lock(&inode->i_lock); + list_add(&ctx->list, &nfsi->open_files); + spin_unlock(&inode->i_lock); +} + +struct nfs_open_context *nfs_find_open_context(struct inode *inode, int mode) { - struct rpc_cred **p = &NFS_I(inode)->mm_cred, - *oldcred = *p; + struct nfs_inode *nfsi = NFS_I(inode); + struct nfs_open_context *pos, *ctx = NULL; + + spin_lock(&inode->i_lock); + list_for_each_entry(pos, &nfsi->open_files, list) { + if ((pos->mode & mode) == mode) { + ctx = get_nfs_open_context(pos); + break; + } + } + spin_unlock(&inode->i_lock); + return ctx; +} - *p = get_rpccred(cred); - if (oldcred) - put_rpccred(oldcred); +void nfs_file_clear_open_context(struct file *filp) +{ + struct inode *inode = filp->f_dentry->d_inode; + struct nfs_open_context *ctx = (struct nfs_open_context *)filp->private_data; + + if (ctx) { + filp->private_data = NULL; + spin_lock(&inode->i_lock); + list_del(&ctx->list); + spin_unlock(&inode->i_lock); + put_nfs_open_context(ctx); + } } /* - * These are probably going to contain hooks for - * allocating and releasing RPC credentials for - * the file. I'll have to think about Tronds patch - * a bit more.. + * These allocate and release file read/write context information. */ int nfs_open(struct inode *inode, struct file *filp) { - struct rpc_auth *auth; + struct nfs_open_context *ctx; struct rpc_cred *cred; - auth = NFS_CLIENT(inode)->cl_auth; - cred = rpcauth_lookupcred(auth, 0); - filp->private_data = cred; - if ((filp->f_mode & FMODE_WRITE) != 0) { - nfs_set_mmcred(inode, cred); + if ((cred = rpcauth_lookupcred(NFS_CLIENT(inode)->cl_auth, 0)) == NULL) + return -ENOMEM; + ctx = alloc_nfs_open_context(filp->f_dentry, cred); + put_rpccred(cred); + if (ctx == NULL) + return -ENOMEM; + ctx->mode = filp->f_mode; + nfs_file_set_open_context(filp, ctx); + put_nfs_open_context(ctx); + if ((filp->f_mode & FMODE_WRITE) != 0) nfs_begin_data_update(inode); - } return 0; } int nfs_release(struct inode *inode, struct file *filp) { - struct rpc_cred *cred; - - lock_kernel(); if ((filp->f_mode & FMODE_WRITE) != 0) nfs_end_data_update(inode); - cred = nfs_file_cred(filp); - if (cred) - put_rpccred(cred); - unlock_kernel(); + nfs_file_clear_open_context(filp); return 0; } @@ -962,7 +982,7 @@ __nfs_revalidate_inode(struct nfs_server *server, struct inode *inode) /* Protect against RPC races by saving the change attribute */ verifier = nfs_save_change_attribute(inode); - status = NFS_PROTO(inode)->getattr(inode, &fattr); + status = NFS_PROTO(inode)->getattr(server, NFS_FH(inode), &fattr); if (status) { dfprintk(PAGECACHE, "nfs_revalidate_inode: (%s/%Ld) getattr failed, error=%d\n", inode->i_sb->s_id, @@ -1018,6 +1038,30 @@ out: return status; } +int nfs_attribute_timeout(struct inode *inode) +{ + struct nfs_inode *nfsi = NFS_I(inode); + + if (nfs_have_delegation(inode, FMODE_READ)) + return 0; + return time_after(jiffies, nfsi->read_cache_jiffies+nfsi->attrtimeo); +} + +/** + * nfs_revalidate_inode - Revalidate the inode attributes + * @server - pointer to nfs_server struct + * @inode - pointer to inode struct + * + * Updates inode attribute information by retrieving the data from the server. + */ +int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode) +{ + if (!(NFS_FLAGS(inode) & (NFS_INO_INVALID_ATTR|NFS_INO_INVALID_DATA)) + && !nfs_attribute_timeout(inode)) + return NFS_STALE(inode) ? -ESTALE : 0; + return __nfs_revalidate_inode(server, inode); +} + /** * nfs_begin_data_update * @inode - pointer to inode @@ -1039,11 +1083,13 @@ void nfs_end_data_update(struct inode *inode) { struct nfs_inode *nfsi = NFS_I(inode); - /* Mark the attribute cache for revalidation */ - nfsi->flags |= NFS_INO_INVALID_ATTR; - /* Directories and symlinks: invalidate page cache too */ - if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) - nfsi->flags |= NFS_INO_INVALID_DATA; + if (!nfs_have_delegation(inode, FMODE_READ)) { + /* Mark the attribute cache for revalidation */ + nfsi->flags |= NFS_INO_INVALID_ATTR; + /* Directories and symlinks: invalidate page cache too */ + if (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) + nfsi->flags |= NFS_INO_INVALID_DATA; + } nfsi->cache_change_attribute ++; atomic_dec(&nfsi->data_updates); } @@ -1087,6 +1133,10 @@ int nfs_refresh_inode(struct inode *inode, struct nfs_fattr *fattr) gid_t gid; xid_t xid = 0; + /* Do we hold a delegation? */ + if (nfs_have_delegation(inode, FMODE_READ)) + return 0; + /* Are we in the process of updating data on the server? */ data_unstable = nfs_caches_unstable(inode); @@ -1298,7 +1348,8 @@ static int nfs_update_inode(struct inode *inode, struct nfs_fattr *fattr, unsign if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))) invalid &= ~NFS_INO_INVALID_DATA; - nfsi->flags |= invalid; + if (!nfs_have_delegation(inode, FMODE_READ)) + nfsi->flags |= invalid; return 0; out_changed: @@ -1338,7 +1389,7 @@ static int nfs_compare_super(struct super_block *sb, void *data) return 0; if (old->addr.sin_port != server->addr.sin_port) return 0; - return !memcmp(&old->fh, &server->fh, sizeof(struct nfs_fh)); + return !nfs_compare_fh(&old->fh, &server->fh); } static struct super_block *nfs_get_sb(struct file_system_type *fs_type, @@ -1362,11 +1413,6 @@ static struct super_block *nfs_get_sb(struct file_system_type *fs_type, /* Zero out the NFS state stuff */ init_nfsv4_state(server); - root = &server->fh; - memcpy(root, &data->root, sizeof(*root)); - if (root->size < sizeof(root->data)) - memset(root->data+root->size, 0, sizeof(root->data)-root->size); - if (data->version != NFS_MOUNT_VERSION) { printk("nfs warning: mount version %s than kernel\n", data->version < NFS_MOUNT_VERSION ? "older" : "newer"); @@ -1376,19 +1422,25 @@ static struct super_block *nfs_get_sb(struct file_system_type *fs_type, data->bsize = 0; if (data->version < 4) { data->flags &= ~NFS_MOUNT_VER3; - memset(root, 0, sizeof(*root)); - root->size = NFS2_FHSIZE; - memcpy(root->data, data->old_root.data, NFS2_FHSIZE); + data->root.size = NFS2_FHSIZE; + memcpy(data->root.data, data->old_root.data, NFS2_FHSIZE); } if (data->version < 5) data->flags &= ~NFS_MOUNT_SECFLAVOUR; } + root = &server->fh; + if (data->flags & NFS_MOUNT_VER3) + root->size = data->root.size; + else + root->size = NFS2_FHSIZE; if (root->size > sizeof(root->data)) { printk("nfs_get_sb: invalid root filehandle\n"); kfree(server); return ERR_PTR(-EINVAL); } + memcpy(root->data, data->root.data, root->size); + /* We now require that the mount process passes the remote address */ memcpy(&server->addr, &data->addr, sizeof(server->addr)); if (server->addr.sin_addr.s_addr == INADDR_ANY) { @@ -1406,6 +1458,13 @@ static struct super_block *nfs_get_sb(struct file_system_type *fs_type, s->s_flags = flags; + /* Fire up rpciod if not yet running */ + if (rpciod_up() != 0) { + printk(KERN_WARNING "NFS: couldn't start rpciod!\n"); + kfree(server); + return ERR_PTR(-EIO); + } + error = nfs_fill_super(s, data, flags & MS_VERBOSE ? 1 : 0); if (error) { up_write(&s->s_umount); @@ -1419,7 +1478,25 @@ static struct super_block *nfs_get_sb(struct file_system_type *fs_type, static void nfs_kill_super(struct super_block *s) { struct nfs_server *server = NFS_SB(s); + kill_anon_super(s); + + nfs4_renewd_prepare_shutdown(server); + + if (server->client != NULL && !IS_ERR(server->client)) + rpc_shutdown_client(server->client); + if (server->client_sys != NULL && !IS_ERR(server->client_sys)) + rpc_shutdown_client(server->client_sys); + + if (!(server->flags & NFS_MOUNT_NONLM)) + lockd_down(); /* release rpc.lockd */ + + rpciod_down(); /* release rpciod */ + + destroy_nfsv4_state(server); + + if (server->hostname != NULL) + kfree(server->hostname); kfree(server); } @@ -1435,12 +1512,12 @@ static struct file_system_type nfs_fs_type = { static void nfs4_clear_inode(struct inode *); + static struct super_operations nfs4_sops = { .alloc_inode = nfs_alloc_inode, .destroy_inode = nfs_destroy_inode, .write_inode = nfs_write_inode, .delete_inode = nfs_delete_inode, - .put_super = nfs_put_super, .statfs = nfs_statfs, .clear_inode = nfs4_clear_inode, .umount_begin = nfs_umount_begin, @@ -1456,6 +1533,12 @@ static void nfs4_clear_inode(struct inode *inode) { struct nfs_inode *nfsi = NFS_I(inode); + /* If we are holding a delegation, return it! */ + if (nfsi->delegation != NULL) + nfs_inode_return_delegation(inode); + /* First call standard NFS clear_inode() code */ + nfs_clear_inode(inode); + /* Now clear out any remaining state */ while (!list_empty(&nfsi->open_states)) { struct nfs4_state *state; @@ -1470,8 +1553,6 @@ static void nfs4_clear_inode(struct inode *inode) BUG_ON(atomic_read(&state->count) != 1); nfs4_close_state(state, state->state); } - /* Now call standard NFS clear_inode() code */ - nfs_clear_inode(inode); } @@ -1531,7 +1612,7 @@ static int nfs4_fill_super(struct super_block *sb, struct nfs4_mount_data *data, clp = nfs4_get_client(&server->addr.sin_addr); if (!clp) { printk(KERN_WARNING "NFS: failed to create NFS4 client.\n"); - goto out_fail; + return -EIO; } /* Now create transport and client */ @@ -1569,8 +1650,13 @@ static int nfs4_fill_super(struct super_block *sb, struct nfs4_mount_data *data, memcpy(clp->cl_ipaddr, server->ip_addr, sizeof(clp->cl_ipaddr)); nfs_idmap_new(clp); } - if (list_empty(&clp->cl_superblocks)) - clear_bit(NFS4CLNT_OK, &clp->cl_state); + if (list_empty(&clp->cl_superblocks)) { + err = nfs4_init_client(clp); + if (err != 0) { + up_write(&clp->cl_sem); + goto out_fail; + } + } list_add_tail(&server->nfs4_siblings, &clp->cl_superblocks); clnt = rpc_clone_client(clp->cl_rpcclient); if (!IS_ERR(clnt)) @@ -1580,45 +1666,29 @@ static int nfs4_fill_super(struct super_block *sb, struct nfs4_mount_data *data, if (IS_ERR(clnt)) { printk(KERN_WARNING "NFS: cannot create RPC client.\n"); - err = PTR_ERR(clnt); - goto out_remove_list; + return PTR_ERR(clnt); } clnt->cl_intr = (server->flags & NFS4_MOUNT_INTR) ? 1 : 0; clnt->cl_softrtry = (server->flags & NFS4_MOUNT_SOFT) ? 1 : 0; server->client = clnt; - err = -ENOMEM; if (server->nfs4_state->cl_idmap == NULL) { printk(KERN_WARNING "NFS: failed to create idmapper.\n"); - goto out_shutdown; + return -ENOMEM; } if (clnt->cl_auth->au_flavor != authflavour) { if (rpcauth_create(authflavour, clnt) == NULL) { printk(KERN_WARNING "NFS: couldn't create credcache!\n"); - goto out_shutdown; + return -ENOMEM; } } - /* Fire up rpciod if not yet running */ - if (rpciod_up() != 0) { - printk(KERN_WARNING "NFS: couldn't start rpciod!\n"); - goto out_shutdown; - } - sb->s_op = &nfs4_sops; err = nfs_sb_init(sb, authflavour); if (err == 0) return 0; - rpciod_down(); -out_shutdown: - rpc_shutdown_client(server->client); -out_remove_list: - down_write(&server->nfs4_state->cl_sem); - list_del_init(&server->nfs4_siblings); - up_write(&server->nfs4_state->cl_sem); - destroy_nfsv4_state(server); out_fail: if (clp) nfs4_put_client(clp); @@ -1724,6 +1794,13 @@ static struct super_block *nfs4_get_sb(struct file_system_type *fs_type, s->s_flags = flags; + /* Fire up rpciod if not yet running */ + if (rpciod_up() != 0) { + printk(KERN_WARNING "NFS: couldn't start rpciod!\n"); + s = ERR_PTR(-EIO); + goto out_free; + } + error = nfs4_fill_super(s, data, flags & MS_VERBOSE ? 1 : 0); if (error) { up_write(&s->s_umount); @@ -1743,22 +1820,31 @@ out_free: return s; } +static void nfs4_kill_super(struct super_block *sb) +{ + nfs_return_all_delegations(sb); + nfs_kill_super(sb); +} + static struct file_system_type nfs4_fs_type = { .owner = THIS_MODULE, .name = "nfs4", .get_sb = nfs4_get_sb, - .kill_sb = nfs_kill_super, + .kill_sb = nfs4_kill_super, .fs_flags = FS_ODD_RENAME|FS_REVAL_DOT|FS_BINARY_MOUNTDATA, }; -#define nfs4_zero_state(nfsi) \ +#define nfs4_init_once(nfsi) \ do { \ INIT_LIST_HEAD(&(nfsi)->open_states); \ + nfsi->delegation = NULL; \ + nfsi->delegation_state = 0; \ + init_rwsem(&nfsi->rwsem); \ } while(0) #define register_nfs4fs() register_filesystem(&nfs4_fs_type) #define unregister_nfs4fs() unregister_filesystem(&nfs4_fs_type) #else -#define nfs4_zero_state(nfsi) \ +#define nfs4_init_once(nfsi) \ do { } while (0) #define register_nfs4fs() (0) #define unregister_nfs4fs() @@ -1780,8 +1866,6 @@ static struct inode *nfs_alloc_inode(struct super_block *sb) if (!nfsi) return NULL; nfsi->flags = 0; - nfsi->mm_cred = NULL; - nfs4_zero_state(nfsi); return &nfsi->vfs_inode; } @@ -1797,14 +1881,17 @@ static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags) if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) == SLAB_CTOR_CONSTRUCTOR) { inode_init_once(&nfsi->vfs_inode); + spin_lock_init(&nfsi->req_lock); INIT_LIST_HEAD(&nfsi->dirty); INIT_LIST_HEAD(&nfsi->commit); + INIT_LIST_HEAD(&nfsi->open_files); INIT_RADIX_TREE(&nfsi->nfs_page_tree, GFP_ATOMIC); atomic_set(&nfsi->data_updates, 0); nfsi->ndirty = 0; nfsi->ncommit = 0; nfsi->npages = 0; init_waitqueue_head(&nfsi->nfs_i_wait); + nfs4_init_once(nfsi); } } @@ -1812,7 +1899,7 @@ int nfs_init_inodecache(void) { nfs_inode_cachep = kmem_cache_create("nfs_inode_cache", sizeof(struct nfs_inode), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (nfs_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/nfs/nfs2xdr.c b/fs/nfs/nfs2xdr.c index 01aebbf13..d91b69044 100644 --- a/fs/nfs/nfs2xdr.c +++ b/fs/nfs/nfs2xdr.c @@ -57,7 +57,7 @@ extern int nfs_stat_to_errno(int stat); #define NFS_attrstat_sz (1+NFS_fattr_sz) #define NFS_diropres_sz (1+NFS_fhandle_sz+NFS_fattr_sz) -#define NFS_readlinkres_sz (1) +#define NFS_readlinkres_sz (2) #define NFS_readres_sz (1+NFS_fattr_sz+1) #define NFS_writeres_sz (NFS_attrstat_sz) #define NFS_stat_sz (1) @@ -77,8 +77,6 @@ xdr_encode_fhandle(u32 *p, struct nfs_fh *fhandle) static inline u32 * xdr_decode_fhandle(u32 *p, struct nfs_fh *fhandle) { - /* Zero handle first to allow comparisons */ - memset(fhandle, 0, sizeof(*fhandle)); /* NFSv2 handles have a fixed length */ fhandle->size = NFS2_FHSIZE; memcpy(fhandle->data, p, NFS2_FHSIZE); @@ -94,6 +92,23 @@ xdr_encode_time(u32 *p, struct timespec *timep) return p; } +static inline u32* +xdr_encode_current_server_time(u32 *p, struct timespec *timep) +{ + /* + * Passing the invalid value useconds=1000000 is a + * Sun convention for "set to current server time". + * It's needed to make permissions checks for the + * "touch" program across v2 mounts to Solaris and + * Irix boxes work correctly. See description of + * sattr in section 6.1 of "NFS Illustrated" by + * Brent Callaghan, Addison-Wesley, ISBN 0-201-32750-5 + */ + *p++ = htonl(timep->tv_sec); + *p++ = htonl(1000000); + return p; +} + static inline u32* xdr_decode_time(u32 *p, struct timespec *timep) { @@ -142,15 +157,19 @@ xdr_encode_sattr(u32 *p, struct iattr *attr) SATTR(p, attr, ATTR_GID, ia_gid); SATTR(p, attr, ATTR_SIZE, ia_size); - if (attr->ia_valid & (ATTR_ATIME|ATTR_ATIME_SET)) { + if (attr->ia_valid & ATTR_ATIME_SET) { p = xdr_encode_time(p, &attr->ia_atime); + } else if (attr->ia_valid & ATTR_ATIME) { + p = xdr_encode_current_server_time(p, &attr->ia_atime); } else { *p++ = ~(u32) 0; *p++ = ~(u32) 0; } - if (attr->ia_valid & (ATTR_MTIME|ATTR_MTIME_SET)) { + if (attr->ia_valid & ATTR_MTIME_SET) { p = xdr_encode_time(p, &attr->ia_mtime); + } else if (attr->ia_valid & ATTR_MTIME) { + p = xdr_encode_current_server_time(p, &attr->ia_mtime); } else { *p++ = ~(u32) 0; *p++ = ~(u32) 0; @@ -511,7 +530,6 @@ static int nfs_xdr_readlinkargs(struct rpc_rqst *req, u32 *p, struct nfs_readlinkargs *args) { struct rpc_auth *auth = req->rq_task->tk_auth; - unsigned int count = args->count - 5; unsigned int replen; p = xdr_encode_fhandle(p, args->fh); @@ -519,7 +537,7 @@ nfs_xdr_readlinkargs(struct rpc_rqst *req, u32 *p, struct nfs_readlinkargs *args /* Inline the page array */ replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS_readlinkres_sz) << 2; - xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, 0, count); + xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, args->pgbase, args->pglen); return 0; } @@ -531,32 +549,38 @@ nfs_xdr_readlinkres(struct rpc_rqst *req, u32 *p, void *dummy) { struct xdr_buf *rcvbuf = &req->rq_rcv_buf; struct kvec *iov = rcvbuf->head; - unsigned int hdrlen; - u32 *strlen, len; - char *string; + int hdrlen, len, recvd; + char *kaddr; int status; if ((status = ntohl(*p++))) return -nfs_stat_to_errno(status); + /* Convert length of symlink */ + len = ntohl(*p++); + if (len >= rcvbuf->page_len || len <= 0) { + dprintk(KERN_WARNING "nfs: server returned giant symlink!\n"); + return -ENAMETOOLONG; + } hdrlen = (u8 *) p - (u8 *) iov->iov_base; - if (iov->iov_len > hdrlen) { + if (iov->iov_len < hdrlen) { + printk(KERN_WARNING "NFS: READLINK reply header overflowed:" + "length %d > %Zu\n", hdrlen, iov->iov_len); + return -errno_NFSERR_IO; + } else if (iov->iov_len != hdrlen) { dprintk("NFS: READLINK header is short. iovec will be shifted.\n"); xdr_shift_buf(rcvbuf, iov->iov_len - hdrlen); } - - strlen = (u32*)kmap_atomic(rcvbuf->pages[0], KM_USER0); - /* Convert length of symlink */ - len = ntohl(*strlen); - if (len > rcvbuf->page_len) { - dprintk(KERN_WARNING "nfs: server returned giant symlink!\n"); - kunmap_atomic(strlen, KM_USER0); - return -ENAMETOOLONG; + recvd = req->rq_rcv_buf.len - hdrlen; + if (recvd < len) { + printk(KERN_WARNING "NFS: server cheating in readlink reply: " + "count %u > recvd %u\n", len, recvd); + return -EIO; } - *strlen = len; + /* NULL terminate the string we got */ - string = (char *)(strlen + 1); - string[len] = '\0'; - kunmap_atomic(strlen, KM_USER0); + kaddr = (char *)kmap_atomic(rcvbuf->pages[0], KM_USER0); + kaddr[len+rcvbuf->page_base] = '\0'; + kunmap_atomic(kaddr, KM_USER0); return 0; } diff --git a/fs/nfs/nfs3xdr.c b/fs/nfs/nfs3xdr.c index ebfc60759..640316a47 100644 --- a/fs/nfs/nfs3xdr.c +++ b/fs/nfs/nfs3xdr.c @@ -68,7 +68,7 @@ extern int nfs_stat_to_errno(int); #define NFS3_wccstat_sz (1+NFS3_wcc_data_sz) #define NFS3_lookupres_sz (1+NFS3_fh_sz+(2 * NFS3_post_op_attr_sz)) #define NFS3_accessres_sz (1+NFS3_post_op_attr_sz+1) -#define NFS3_readlinkres_sz (1+NFS3_post_op_attr_sz) +#define NFS3_readlinkres_sz (1+NFS3_post_op_attr_sz+1) #define NFS3_readres_sz (1+NFS3_post_op_attr_sz+3) #define NFS3_writeres_sz (1+NFS3_wcc_data_sz+4) #define NFS3_createres_sz (1+NFS3_fh_sz+NFS3_post_op_attr_sz+NFS3_wcc_data_sz) @@ -110,10 +110,6 @@ xdr_encode_fhandle(u32 *p, struct nfs_fh *fh) static inline u32 * xdr_decode_fhandle(u32 *p, struct nfs_fh *fh) { - /* - * Zero all nonused bytes - */ - memset((u8 *)fh, 0, sizeof(*fh)); if ((fh->size = ntohl(*p++)) <= NFS3_FHSIZE) { memcpy(fh->data, p, fh->size); return p + XDR_QUADLEN(fh->size); @@ -710,7 +706,6 @@ static int nfs3_xdr_readlinkargs(struct rpc_rqst *req, u32 *p, struct nfs3_readlinkargs *args) { struct rpc_auth *auth = req->rq_task->tk_auth; - unsigned int count = args->count - 5; unsigned int replen; p = xdr_encode_fhandle(p, args->fh); @@ -718,7 +713,7 @@ nfs3_xdr_readlinkargs(struct rpc_rqst *req, u32 *p, struct nfs3_readlinkargs *ar /* Inline the page array */ replen = (RPC_REPHDRSIZE + auth->au_rslack + NFS3_readlinkres_sz) << 2; - xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, 0, count); + xdr_inline_pages(&req->rq_rcv_buf, replen, args->pages, args->pgbase, args->pglen); return 0; } @@ -730,9 +725,8 @@ nfs3_xdr_readlinkres(struct rpc_rqst *req, u32 *p, struct nfs_fattr *fattr) { struct xdr_buf *rcvbuf = &req->rq_rcv_buf; struct kvec *iov = rcvbuf->head; - unsigned int hdrlen; - u32 *strlen, len; - char *string; + int hdrlen, len, recvd; + char *kaddr; int status; status = ntohl(*p++); @@ -741,25 +735,33 @@ nfs3_xdr_readlinkres(struct rpc_rqst *req, u32 *p, struct nfs_fattr *fattr) if (status != 0) return -nfs_stat_to_errno(status); + /* Convert length of symlink */ + len = ntohl(*p++); + if (len >= rcvbuf->page_len || len <= 0) { + dprintk(KERN_WARNING "nfs: server returned giant symlink!\n"); + return -ENAMETOOLONG; + } + hdrlen = (u8 *) p - (u8 *) iov->iov_base; - if (iov->iov_len > hdrlen) { + if (iov->iov_len < hdrlen) { + printk(KERN_WARNING "NFS: READLINK reply header overflowed:" + "length %d > %Zu\n", hdrlen, iov->iov_len); + return -errno_NFSERR_IO; + } else if (iov->iov_len != hdrlen) { dprintk("NFS: READLINK header is short. iovec will be shifted.\n"); xdr_shift_buf(rcvbuf, iov->iov_len - hdrlen); } - - strlen = (u32*)kmap_atomic(rcvbuf->pages[0], KM_USER0); - /* Convert length of symlink */ - len = ntohl(*strlen); - if (len > rcvbuf->page_len) { - dprintk(KERN_WARNING "nfs: server returned giant symlink!\n"); - kunmap_atomic(strlen, KM_USER0); - return -ENAMETOOLONG; + recvd = req->rq_rcv_buf.len - hdrlen; + if (recvd < len) { + printk(KERN_WARNING "NFS: server cheating in readlink reply: " + "count %u > recvd %u\n", len, recvd); + return -EIO; } - *strlen = len; + /* NULL terminate the string we got */ - string = (char *)(strlen + 1); - string[len] = '\0'; - kunmap_atomic(strlen, KM_USER0); + kaddr = (char*)kmap_atomic(rcvbuf->pages[0], KM_USER0); + kaddr[len+rcvbuf->page_base] = '\0'; + kunmap_atomic(kaddr, KM_USER0); return 0; } diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 2eb124475..7509bd2ae 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -47,12 +47,16 @@ #include #include +#include "delegation.h" + #define NFSDBG_FACILITY NFSDBG_PROC -#define NFS4_POLL_RETRY_TIME (15*HZ) +#define NFS4_POLL_RETRY_MIN (1*HZ) +#define NFS4_POLL_RETRY_MAX (15*HZ) static int nfs4_do_fsinfo(struct nfs_server *, struct nfs_fh *, struct nfs_fsinfo *); static int nfs4_async_handle_error(struct rpc_task *, struct nfs_server *); +static int _nfs4_proc_access(struct inode *inode, struct nfs_access_entry *entry); extern u32 *nfs4_decode_dirent(u32 *p, struct nfs_entry *entry, int plus); extern struct rpc_procinfo nfs4_procedures[]; @@ -189,53 +193,296 @@ static void update_changeattr(struct inode *inode, struct nfs4_change_info *cinf * reclaim state on the server after a reboot. * Assumes caller is holding the sp->so_sem */ -int -nfs4_open_reclaim(struct nfs4_state_owner *sp, struct nfs4_state *state) +static int _nfs4_open_reclaim(struct nfs4_state_owner *sp, struct nfs4_state *state) { struct inode *inode = state->inode; struct nfs_server *server = NFS_SERVER(inode); - struct nfs_fattr fattr = { - .valid = 0, - }; - struct nfs_open_reclaimargs o_arg = { + struct nfs_delegation *delegation = NFS_I(inode)->delegation; + struct nfs_openargs o_arg = { .fh = NFS_FH(inode), .seqid = sp->so_seqid, .id = sp->so_id, - .share_access = state->state, + .open_flags = state->state, .clientid = server->nfs4_state->cl_clientid, .claim = NFS4_OPEN_CLAIM_PREVIOUS, .bitmask = server->attr_bitmask, }; struct nfs_openres o_res = { - .f_attr = &fattr, .server = server, /* Grrr */ }; struct rpc_message msg = { - .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_RECLAIM], + .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_NOATTR], .rpc_argp = &o_arg, .rpc_resp = &o_res, .rpc_cred = sp->so_cred, }; int status; - status = rpc_call_sync(server->client, &msg, 0); + if (delegation != NULL) { + if (!(delegation->flags & NFS_DELEGATION_NEED_RECLAIM)) { + memcpy(&state->stateid, &delegation->stateid, + sizeof(state->stateid)); + set_bit(NFS_DELEGATED_STATE, &state->flags); + return 0; + } + o_arg.u.delegation_type = delegation->type; + } + status = rpc_call_sync(server->client, &msg, RPC_TASK_NOINTR); nfs4_increment_seqid(status, sp); - if (status == 0) + if (status == 0) { memcpy(&state->stateid, &o_res.stateid, sizeof(state->stateid)); - /* Update the inode attributes */ - nfs_refresh_inode(inode, &fattr); + if (o_res.delegation_type != 0) { + nfs_inode_reclaim_delegation(inode, sp->so_cred, &o_res); + /* Did the server issue an immediate delegation recall? */ + if (o_res.do_recall) + nfs_async_inode_return_delegation(inode, &o_res.stateid); + } + } + clear_bit(NFS_DELEGATED_STATE, &state->flags); + /* Ensure we update the inode attributes */ + NFS_CACHEINV(inode); return status; } +int nfs4_open_reclaim(struct nfs4_state_owner *sp, struct nfs4_state *state) +{ + struct nfs_server *server = NFS_SERVER(state->inode); + struct nfs4_exception exception = { }; + int err; + do { + err = _nfs4_open_reclaim(sp, state); + switch (err) { + case 0: + case -NFS4ERR_STALE_CLIENTID: + case -NFS4ERR_STALE_STATEID: + case -NFS4ERR_EXPIRED: + return err; + } + err = nfs4_handle_exception(server, err, &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_open_delegation_recall(struct dentry *dentry, struct nfs4_state *state) +{ + struct nfs4_state_owner *sp = state->owner; + struct inode *inode = dentry->d_inode; + struct nfs_server *server = NFS_SERVER(inode); + struct dentry *parent = dget_parent(dentry); + struct nfs_openargs arg = { + .fh = NFS_FH(parent->d_inode), + .clientid = server->nfs4_state->cl_clientid, + .name = &dentry->d_name, + .id = sp->so_id, + .server = server, + .bitmask = server->attr_bitmask, + .claim = NFS4_OPEN_CLAIM_DELEGATE_CUR, + }; + struct nfs_openres res = { + .server = server, + }; + struct rpc_message msg = { + .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_NOATTR], + .rpc_argp = &arg, + .rpc_resp = &res, + .rpc_cred = sp->so_cred, + }; + int status = 0; + + down(&sp->so_sema); + if (!test_bit(NFS_DELEGATED_STATE, &state->flags)) + goto out; + if (state->state == 0) + goto out; + arg.seqid = sp->so_seqid; + arg.open_flags = state->state; + memcpy(arg.u.delegation.data, state->stateid.data, sizeof(arg.u.delegation.data)); + status = rpc_call_sync(server->client, &msg, RPC_TASK_NOINTR); + nfs4_increment_seqid(status, sp); + if (status >= 0) { + memcpy(state->stateid.data, res.stateid.data, + sizeof(state->stateid.data)); + clear_bit(NFS_DELEGATED_STATE, &state->flags); + } +out: + up(&sp->so_sema); + dput(parent); + return status; +} + +int nfs4_open_delegation_recall(struct dentry *dentry, struct nfs4_state *state) +{ + struct nfs4_exception exception = { }; + struct nfs_server *server = NFS_SERVER(dentry->d_inode); + int err; + do { + err = _nfs4_open_delegation_recall(dentry, state); + switch (err) { + case 0: + return err; + case -NFS4ERR_STALE_CLIENTID: + case -NFS4ERR_STALE_STATEID: + case -NFS4ERR_EXPIRED: + /* Don't recall a delegation if it was lost */ + nfs4_schedule_state_recovery(server->nfs4_state); + return err; + } + err = nfs4_handle_exception(server, err, &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_open_confirm(struct rpc_clnt *clnt, const struct nfs_fh *fh, struct nfs4_state_owner *sp, nfs4_stateid *stateid) +{ + struct nfs_open_confirmargs arg = { + .fh = fh, + .seqid = sp->so_seqid, + .stateid = *stateid, + }; + struct nfs_open_confirmres res; + struct rpc_message msg = { + .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_CONFIRM], + .rpc_argp = &arg, + .rpc_resp = &res, + .rpc_cred = sp->so_cred, + }; + int status; + + status = rpc_call_sync(clnt, &msg, RPC_TASK_NOINTR); + nfs4_increment_seqid(status, sp); + if (status >= 0) + memcpy(stateid, &res.stateid, sizeof(*stateid)); + return status; +} + +static int _nfs4_do_access(struct inode *inode, struct rpc_cred *cred, int mask) +{ + struct nfs_access_entry cache; + int status; + + status = nfs_access_get_cached(inode, cred, &cache); + if (status == 0) + goto out; + + /* Be clever: ask server to check for all possible rights */ + cache.mask = MAY_EXEC | MAY_WRITE | MAY_READ; + cache.cred = cred; + cache.jiffies = jiffies; + status = _nfs4_proc_access(inode, &cache); + if (status != 0) + return status; + nfs_access_add_cache(inode, &cache); +out: + if ((cache.mask & mask) == mask) + return 0; + return -EACCES; +} + +/* + * Returns an nfs4_state + an extra reference to the inode + */ +int _nfs4_open_delegated(struct inode *inode, int flags, struct rpc_cred *cred, struct nfs4_state **res) +{ + struct nfs_delegation *delegation; + struct nfs_server *server = NFS_SERVER(inode); + struct nfs4_client *clp = server->nfs4_state; + struct nfs_inode *nfsi = NFS_I(inode); + struct nfs4_state_owner *sp = NULL; + struct nfs4_state *state = NULL; + int open_flags = flags & (FMODE_READ|FMODE_WRITE); + int mask = 0; + int err; + + /* Protect against reboot recovery - NOTE ORDER! */ + down_read(&clp->cl_sem); + /* Protect against delegation recall */ + down_read(&nfsi->rwsem); + delegation = NFS_I(inode)->delegation; + err = -ENOENT; + if (delegation == NULL || (delegation->type & open_flags) != open_flags) + goto out_err; + err = -ENOMEM; + if (!(sp = nfs4_get_state_owner(server, cred))) { + dprintk("%s: nfs4_get_state_owner failed!\n", __FUNCTION__); + goto out_err; + } + down(&sp->so_sema); + state = nfs4_get_open_state(inode, sp); + if (state == NULL) + goto out_err; + + err = -ENOENT; + if ((state->state & open_flags) == open_flags) { + spin_lock(&inode->i_lock); + if (open_flags & FMODE_READ) + state->nreaders++; + if (open_flags & FMODE_WRITE) + state->nwriters++; + spin_unlock(&inode->i_lock); + goto out_ok; + } else if (state->state != 0) + goto out_err; + + lock_kernel(); + err = _nfs4_do_access(inode, cred, mask); + unlock_kernel(); + if (err != 0) + goto out_err; + spin_lock(&inode->i_lock); + memcpy(state->stateid.data, delegation->stateid.data, + sizeof(state->stateid.data)); + state->state |= open_flags; + if (open_flags & FMODE_READ) + state->nreaders++; + if (open_flags & FMODE_WRITE) + state->nwriters++; + set_bit(NFS_DELEGATED_STATE, &state->flags); + spin_unlock(&inode->i_lock); +out_ok: + up(&sp->so_sema); + nfs4_put_state_owner(sp); + up_read(&nfsi->rwsem); + up_read(&clp->cl_sem); + igrab(inode); + *res = state; + return 0; +out_err: + if (sp != NULL) { + if (state != NULL) + nfs4_put_open_state(state); + up(&sp->so_sema); + nfs4_put_state_owner(sp); + } + up_read(&nfsi->rwsem); + up_read(&clp->cl_sem); + return err; +} + +static struct nfs4_state *nfs4_open_delegated(struct inode *inode, int flags, struct rpc_cred *cred) +{ + struct nfs4_exception exception = { }; + struct nfs4_state *res; + int err; + + do { + err = _nfs4_open_delegated(inode, flags, cred, &res); + if (err == 0) + break; + res = ERR_PTR(nfs4_handle_exception(NFS_SERVER(inode), + err, &exception)); + } while (exception.retry); + return res; +} + /* * Returns an nfs4_state + an referenced inode */ -struct nfs4_state * -nfs4_do_open(struct inode *dir, struct qstr *name, int flags, struct iattr *sattr, struct rpc_cred *cred) +static int _nfs4_do_open(struct inode *dir, struct qstr *name, int flags, struct iattr *sattr, struct rpc_cred *cred, struct nfs4_state **res) { struct nfs4_state_owner *sp; struct nfs4_state *state = NULL; struct nfs_server *server = NFS_SERVER(dir); + struct nfs4_client *clp = server->nfs4_state; struct inode *inode = NULL; int status; struct nfs_fattr f_attr = { @@ -243,12 +490,11 @@ nfs4_do_open(struct inode *dir, struct qstr *name, int flags, struct iattr *satt }; struct nfs_openargs o_arg = { .fh = NFS_FH(dir), - .share_access = flags & (FMODE_READ|FMODE_WRITE), - .opentype = (flags & O_CREAT) ? NFS4_OPEN_CREATE : NFS4_OPEN_NOCREATE, - .createmode = (flags & O_EXCL) ? NFS4_CREATE_EXCLUSIVE : NFS4_CREATE_UNCHECKED, + .open_flags = flags, .name = name, .server = server, .bitmask = server->attr_bitmask, + .claim = NFS4_OPEN_CLAIM_NULL, }; struct nfs_openres o_res = { .f_attr = &f_attr, @@ -261,60 +507,50 @@ nfs4_do_open(struct inode *dir, struct qstr *name, int flags, struct iattr *satt .rpc_cred = cred, }; -retry: + /* Protect against reboot recovery conflicts */ + down_read(&clp->cl_sem); status = -ENOMEM; - if (!(sp = nfs4_get_state_owner(NFS_SERVER(dir), cred))) { + if (!(sp = nfs4_get_state_owner(server, cred))) { dprintk("nfs4_do_open: nfs4_get_state_owner failed!\n"); - goto out; + goto out_err; } - if (o_arg.createmode & NFS4_CREATE_EXCLUSIVE){ + if (flags & O_EXCL) { u32 *p = (u32 *) o_arg.u.verifier.data; p[0] = jiffies; p[1] = current->pid; - } else if (o_arg.createmode == NFS4_CREATE_UNCHECKED) { + } else o_arg.u.attrs = sattr; - } /* Serialization for the sequence id */ down(&sp->so_sema); o_arg.seqid = sp->so_seqid; o_arg.id = sp->so_id; - o_arg.clientid = NFS_SERVER(dir)->nfs4_state->cl_clientid, + o_arg.clientid = clp->cl_clientid, - status = rpc_call_sync(server->client, &msg, 0); + status = rpc_call_sync(server->client, &msg, RPC_TASK_NOINTR); nfs4_increment_seqid(status, sp); if (status) - goto out_up; + goto out_err; update_changeattr(dir, &o_res.cinfo); + if(o_res.rflags & NFS4_OPEN_RESULT_CONFIRM) { + status = _nfs4_proc_open_confirm(server->client, &o_res.fh, + sp, &o_res.stateid); + if (status != 0) + goto out_err; + } + if (!(f_attr.valid & NFS_ATTR_FATTR)) { + status = server->rpc_ops->getattr(server, &o_res.fh, &f_attr); + if (status < 0) + goto out_err; + } status = -ENOMEM; inode = nfs_fhget(dir->i_sb, &o_res.fh, &f_attr); if (!inode) - goto out_up; + goto out_err; state = nfs4_get_open_state(inode, sp); if (!state) - goto out_up; - - if(o_res.rflags & NFS4_OPEN_RESULT_CONFIRM) { - struct nfs_open_confirmargs oc_arg = { - .fh = &o_res.fh, - .seqid = sp->so_seqid, - }; - struct nfs_open_confirmres oc_res; - struct rpc_message msg = { - .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_OPEN_CONFIRM], - .rpc_argp = &oc_arg, - .rpc_resp = &oc_res, - .rpc_cred = cred, - }; - - memcpy(&oc_arg.stateid, &o_res.stateid, sizeof(oc_arg.stateid)); - status = rpc_call_sync(server->client, &msg, 0); - nfs4_increment_seqid(status, sp); - if (status) - goto out_up; - memcpy(&state->stateid, &oc_res.stateid, sizeof(state->stateid)); - } else - memcpy(&state->stateid, &o_res.stateid, sizeof(state->stateid)); + goto out_err; + memcpy(&state->stateid, &o_res.stateid, sizeof(state->stateid)); spin_lock(&inode->i_lock); if (flags & FMODE_READ) state->nreaders++; @@ -322,47 +558,62 @@ retry: state->nwriters++; state->state |= flags & (FMODE_READ|FMODE_WRITE); spin_unlock(&inode->i_lock); - + if (o_res.delegation_type != 0) + nfs_inode_set_delegation(inode, cred, &o_res); up(&sp->so_sema); nfs4_put_state_owner(sp); - return state; - -out_up: - up(&sp->so_sema); - nfs4_put_state_owner(sp); - if (state) { - nfs4_put_open_state(state); - state = NULL; + up_read(&clp->cl_sem); + *res = state; + return 0; +out_err: + if (sp != NULL) { + if (state != NULL) + nfs4_put_open_state(state); + up(&sp->so_sema); + nfs4_put_state_owner(sp); } - if (inode) { + /* Note: clp->cl_sem must be released before nfs4_put_open_state()! */ + up_read(&clp->cl_sem); + if (inode != NULL) iput(inode); - inode = NULL; - } - /* NOTE: BAD_SEQID means the server and client disagree about the - * book-keeping w.r.t. state-changing operations - * (OPEN/CLOSE/LOCK/LOCKU...) - * It is actually a sign of a bug on the client or on the server. - * - * If we receive a BAD_SEQID error in the particular case of - * doing an OPEN, we assume that nfs4_increment_seqid() will - * have unhashed the old state_owner for us, and that we can - * therefore safely retry using a new one. We should still warn - * the user though... - */ - if (status == -NFS4ERR_BAD_SEQID) { - printk(KERN_WARNING "NFS: v4 server returned a bad sequence-id error!\n"); - goto retry; - } - status = nfs4_handle_error(server, status); - if (!status) - goto retry; - BUG_ON(status < -1000 || status > 0); -out: - return ERR_PTR(status); + *res = NULL; + return status; } -int -nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, + +struct nfs4_state *nfs4_do_open(struct inode *dir, struct qstr *name, int flags, struct iattr *sattr, struct rpc_cred *cred) +{ + struct nfs4_exception exception = { }; + struct nfs4_state *res; + int status; + + do { + status = _nfs4_do_open(dir, name, flags, sattr, cred, &res); + if (status == 0) + break; + /* NOTE: BAD_SEQID means the server and client disagree about the + * book-keeping w.r.t. state-changing operations + * (OPEN/CLOSE/LOCK/LOCKU...) + * It is actually a sign of a bug on the client or on the server. + * + * If we receive a BAD_SEQID error in the particular case of + * doing an OPEN, we assume that nfs4_increment_seqid() will + * have unhashed the old state_owner for us, and that we can + * therefore safely retry using a new one. We should still warn + * the user though... + */ + if (status == -NFS4ERR_BAD_SEQID) { + printk(KERN_WARNING "NFS: v4 server returned a bad sequence-id error!\n"); + exception.retry = 1; + continue; + } + res = ERR_PTR(nfs4_handle_exception(NFS_SERVER(dir), + status, &exception)); + } while (exception.retry); + return res; +} + +static int _nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, struct nfs_fh *fhandle, struct iattr *sattr, struct nfs4_state *state) { @@ -381,9 +632,7 @@ nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, .rpc_argp = &arg, .rpc_resp = &res, }; - int status; -retry: fattr->valid = 0; if (sattr->ia_valid & ATTR_SIZE) @@ -391,13 +640,22 @@ retry: else memcpy(&arg.stateid, &zero_stateid, sizeof(arg.stateid)); - status = rpc_call_sync(server->client, &msg, 0); - if (status) { - status = nfs4_handle_error(server, status); - if (!status) - goto retry; - } - return status; + return rpc_call_sync(server->client, &msg, 0); +} + +int nfs4_do_setattr(struct nfs_server *server, struct nfs_fattr *fattr, + struct nfs_fh *fhandle, struct iattr *sattr, + struct nfs4_state *state) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(server, + _nfs4_do_setattr(server, fattr, fhandle, sattr, + state), + &exception); + } while (exception.retry); + return err; } /* @@ -411,8 +669,7 @@ retry: * * NOTE: Caller must be holding the sp->so_owner semaphore! */ -int -nfs4_do_close(struct inode *inode, struct nfs4_state *state) +static int _nfs4_do_close(struct inode *inode, struct nfs4_state *state) { struct nfs4_state_owner *sp = state->owner; int status = 0; @@ -426,10 +683,12 @@ nfs4_do_close(struct inode *inode, struct nfs4_state *state) .rpc_resp = &res, }; + if (test_bit(NFS_DELEGATED_STATE, &state->flags)) + return 0; memcpy(&arg.stateid, &state->stateid, sizeof(arg.stateid)); /* Serialization for the sequence id */ arg.seqid = sp->so_seqid, - status = rpc_call_sync(NFS_SERVER(inode)->client, &msg, 0); + status = rpc_call_sync(NFS_SERVER(inode)->client, &msg, RPC_TASK_NOINTR); /* hmm. we are done with the inode, and in the process of freeing * the state_owner. we keep this around to process errors @@ -441,15 +700,34 @@ nfs4_do_close(struct inode *inode, struct nfs4_state *state) return status; } -int -nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode) +int nfs4_do_close(struct inode *inode, struct nfs4_state *state) +{ + struct nfs_server *server = NFS_SERVER(state->inode); + struct nfs4_exception exception = { }; + int err; + do { + err = _nfs4_do_close(inode, state); + switch (err) { + case -NFS4ERR_STALE_STATEID: + case -NFS4ERR_EXPIRED: + nfs4_schedule_state_recovery(server->nfs4_state); + err = 0; + default: + state->state = 0; + } + err = nfs4_handle_exception(server, err, &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode) { struct nfs4_state_owner *sp = state->owner; int status = 0; struct nfs_closeargs arg = { .fh = NFS_FH(inode), .seqid = sp->so_seqid, - .share_access = mode, + .open_flags = mode, }; struct nfs_closeres res; struct rpc_message msg = { @@ -458,8 +736,10 @@ nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode) .rpc_resp = &res, }; + if (test_bit(NFS_DELEGATED_STATE, &state->flags)) + return 0; memcpy(&arg.stateid, &state->stateid, sizeof(arg.stateid)); - status = rpc_call_sync(NFS_SERVER(inode)->client, &msg, 0); + status = rpc_call_sync(NFS_SERVER(inode)->client, &msg, RPC_TASK_NOINTR); nfs4_increment_seqid(status, sp); if (!status) memcpy(&state->stateid, &res.stateid, sizeof(state->stateid)); @@ -467,6 +747,26 @@ nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode) return status; } +int nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode) +{ + struct nfs_server *server = NFS_SERVER(state->inode); + struct nfs4_exception exception = { }; + int err; + do { + err = _nfs4_do_downgrade(inode, state, mode); + switch (err) { + case -NFS4ERR_STALE_STATEID: + case -NFS4ERR_EXPIRED: + nfs4_schedule_state_recovery(server->nfs4_state); + err = 0; + default: + state->state = mode; + } + err = nfs4_handle_exception(server, err, &exception); + } while (exception.retry); + return err; +} + struct inode * nfs4_atomic_open(struct inode *dir, struct dentry *dentry, struct nameidata *nd) { @@ -500,7 +800,9 @@ nfs4_open_revalidate(struct inode *dir, struct dentry *dentry, int openflags) struct inode *inode; cred = rpcauth_lookupcred(NFS_SERVER(dir)->client->cl_auth, 0); - state = nfs4_do_open(dir, &dentry->d_name, openflags, NULL, cred); + state = nfs4_open_delegated(dentry->d_inode, openflags, cred); + if (IS_ERR(state)) + state = nfs4_do_open(dir, &dentry->d_name, openflags, NULL, cred); put_rpccred(cred); if (state == ERR_PTR(-ENOENT) && dentry->d_inode == 0) return 1; @@ -518,7 +820,7 @@ nfs4_open_revalidate(struct inode *dir, struct dentry *dentry, int openflags) } -static int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) +static int _nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) { struct nfs4_server_caps_res res = {}; struct rpc_message msg = { @@ -542,7 +844,19 @@ static int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fh return status; } -static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, +static int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(server, + _nfs4_server_capabilities(server, fhandle), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *info) { struct nfs_fattr * fattr = info->fattr; @@ -563,6 +877,19 @@ static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, return rpc_call_sync(server->client, &msg, 0); } +static int nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, + struct nfs_fsinfo *info) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(server, + _nfs4_lookup_root(server, fhandle, info), + &exception); + } while (exception.retry); + return err; +} + static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *info) { @@ -597,6 +924,8 @@ static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle, p = server->mnt_path; for (;;) { + struct nfs4_exception exception = { }; + while (*p == '/') p++; if (!*p) @@ -606,9 +935,13 @@ static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle, p++; q.len = p - q.name; - fattr->valid = 0; - status = rpc_call_sync(server->client, &msg, 0); - if (!status) + do { + fattr->valid = 0; + status = nfs4_handle_exception(server, + rpc_call_sync(server->client, &msg, 0), + &exception); + } while (exception.retry); + if (status == 0) continue; if (status == -ENOENT) { printk(KERN_NOTICE "NFS: mount path %s does not exist!\n", server->mnt_path); @@ -621,14 +954,13 @@ static int nfs4_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle, if (status == 0) status = nfs4_do_fsinfo(server, fhandle, info); out: - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_getattr(struct inode *inode, struct nfs_fattr *fattr) +static int _nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fattr *fattr) { - struct nfs_server *server = NFS_SERVER(inode); struct nfs4_getattr_arg args = { - .fh = NFS_FH(inode), + .fh = fhandle, .bitmask = server->attr_bitmask, }; struct nfs4_getattr_res res = { @@ -642,8 +974,19 @@ static int nfs4_proc_getattr(struct inode *inode, struct nfs_fattr *fattr) }; fattr->valid = 0; + return rpc_call_sync(server->client, &msg, 0); +} - return nfs4_map_errors(rpc_call_sync(NFS_CLIENT(inode), &msg, 0)); +static int nfs4_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fattr *fattr) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(server, + _nfs4_proc_getattr(server, fhandle, fattr), + &exception); + } while (exception.retry); + return err; } /* @@ -678,9 +1021,13 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr, if (size_change) { struct rpc_cred *cred = rpcauth_lookupcred(NFS_SERVER(inode)->client->cl_auth, 0); state = nfs4_find_state(inode, cred, FMODE_WRITE); - if (!state) { - state = nfs4_do_open(dentry->d_parent->d_inode, - &dentry->d_name, FMODE_WRITE, NULL, cred); + if (state == NULL) { + state = nfs4_open_delegated(dentry->d_inode, + FMODE_WRITE, cred); + if (IS_ERR(state)) + state = nfs4_do_open(dentry->d_parent->d_inode, + &dentry->d_name, FMODE_WRITE, + NULL, cred); need_iput = 1; } put_rpccred(cred); @@ -705,7 +1052,7 @@ out: return status; } -static int nfs4_proc_lookup(struct inode *dir, struct qstr *name, +static int _nfs4_proc_lookup(struct inode *dir, struct qstr *name, struct nfs_fh *fhandle, struct nfs_fattr *fattr) { int status; @@ -731,12 +1078,23 @@ static int nfs4_proc_lookup(struct inode *dir, struct qstr *name, dprintk("NFS call lookup %s\n", name->name); status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); dprintk("NFS reply lookup: %d\n", status); - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_access(struct inode *inode, struct rpc_cred *cred, int mode) +static int nfs4_proc_lookup(struct inode *dir, struct qstr *name, struct nfs_fh *fhandle, struct nfs_fattr *fattr) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(dir), + _nfs4_proc_lookup(dir, name, fhandle, fattr), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_access(struct inode *inode, struct nfs_access_entry *entry) { - int status; struct nfs4_accessargs args = { .fh = NFS_FH(inode), }; @@ -745,8 +1103,10 @@ static int nfs4_proc_access(struct inode *inode, struct rpc_cred *cred, int mode .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_ACCESS], .rpc_argp = &args, .rpc_resp = &res, - .rpc_cred = cred, + .rpc_cred = entry->cred, }; + int mode = entry->mask; + int status; /* * Determine which access bits we want to ask for... @@ -758,8 +1118,7 @@ static int nfs4_proc_access(struct inode *inode, struct rpc_cred *cred, int mode args.access |= NFS4_ACCESS_MODIFY | NFS4_ACCESS_EXTEND | NFS4_ACCESS_DELETE; if (mode & MAY_EXEC) args.access |= NFS4_ACCESS_LOOKUP; - } - else { + } else { if (mode & MAY_WRITE) args.access |= NFS4_ACCESS_MODIFY | NFS4_ACCESS_EXTEND; if (mode & MAY_EXEC) @@ -767,13 +1126,27 @@ static int nfs4_proc_access(struct inode *inode, struct rpc_cred *cred, int mode } status = rpc_call_sync(NFS_CLIENT(inode), &msg, 0); if (!status) { - if (args.access != res.supported) { - printk(KERN_NOTICE "NFS: server didn't support all access bits!\n"); - status = -ENOTSUPP; - } else if ((args.access & res.access) != args.access) - status = -EACCES; + entry->mask = 0; + if (res.access & NFS4_ACCESS_READ) + entry->mask |= MAY_READ; + if (res.access & (NFS4_ACCESS_MODIFY | NFS4_ACCESS_EXTEND | NFS4_ACCESS_DELETE)) + entry->mask |= MAY_WRITE; + if (res.access & (NFS4_ACCESS_LOOKUP|NFS4_ACCESS_EXECUTE)) + entry->mask |= MAY_EXEC; } - return nfs4_map_errors(status); + return status; +} + +static int nfs4_proc_access(struct inode *inode, struct nfs_access_entry *entry) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(inode), + _nfs4_proc_access(inode, entry), + &exception); + } while (exception.retry); + return err; } /* @@ -800,11 +1173,13 @@ static int nfs4_proc_access(struct inode *inode, struct rpc_cred *cred, int mode * Both of these changes to the XDR layer would in fact be quite * minor, but I decided to leave them for a subsequent patch. */ -static int nfs4_proc_readlink(struct inode *inode, struct page *page) +static int _nfs4_proc_readlink(struct inode *inode, struct page *page, + unsigned int pgbase, unsigned int pglen) { struct nfs4_readlink args = { .fh = NFS_FH(inode), - .count = PAGE_CACHE_SIZE, + .pgbase = pgbase, + .pglen = pglen, .pages = &page, }; struct rpc_message msg = { @@ -813,11 +1188,23 @@ static int nfs4_proc_readlink(struct inode *inode, struct page *page) .rpc_resp = NULL, }; - return nfs4_map_errors(rpc_call_sync(NFS_CLIENT(inode), &msg, 0)); + return rpc_call_sync(NFS_CLIENT(inode), &msg, 0); } -static int -nfs4_proc_read(struct nfs_read_data *rdata, struct file *filp) +static int nfs4_proc_readlink(struct inode *inode, struct page *page, + unsigned int pgbase, unsigned int pglen) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(inode), + _nfs4_proc_readlink(inode, page, pgbase, pglen), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_read(struct nfs_read_data *rdata) { int flags = rdata->flags; struct inode *inode = rdata->inode; @@ -827,6 +1214,7 @@ nfs4_proc_read(struct nfs_read_data *rdata, struct file *filp) .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_READ], .rpc_argp = &rdata->args, .rpc_resp = &rdata->res, + .rpc_cred = rdata->cred, }; unsigned long timestamp = jiffies; int status; @@ -834,29 +1222,27 @@ nfs4_proc_read(struct nfs_read_data *rdata, struct file *filp) dprintk("NFS call read %d @ %Ld\n", rdata->args.count, (long long) rdata->args.offset); - /* - * Try first to use O_RDONLY, then O_RDWR stateid. - */ - if (filp) { - struct nfs4_state *state; - state = (struct nfs4_state *)filp->private_data; - rdata->args.state = state; - msg.rpc_cred = state->owner->so_cred; - } else { - rdata->args.state = NULL; - msg.rpc_cred = NFS_I(inode)->mm_cred; - } - fattr->valid = 0; status = rpc_call_sync(server->client, &msg, flags); if (!status) renew_lease(server, timestamp); dprintk("NFS reply read: %d\n", status); - return nfs4_map_errors(status); + return status; } -static int -nfs4_proc_write(struct nfs_write_data *wdata, struct file *filp) +static int nfs4_proc_read(struct nfs_read_data *rdata) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(rdata->inode), + _nfs4_proc_read(rdata), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_write(struct nfs_write_data *wdata) { int rpcflags = wdata->flags; struct inode *inode = wdata->inode; @@ -866,33 +1252,32 @@ nfs4_proc_write(struct nfs_write_data *wdata, struct file *filp) .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_WRITE], .rpc_argp = &wdata->args, .rpc_resp = &wdata->res, + .rpc_cred = wdata->cred, }; int status; dprintk("NFS call write %d @ %Ld\n", wdata->args.count, (long long) wdata->args.offset); - /* - * Try first to use O_WRONLY, then O_RDWR stateid. - */ - if (filp) { - struct nfs4_state *state; - state = (struct nfs4_state *)filp->private_data; - wdata->args.state = state; - msg.rpc_cred = state->owner->so_cred; - } else { - wdata->args.state = NULL; - msg.rpc_cred = NFS_I(inode)->mm_cred; - } - fattr->valid = 0; status = rpc_call_sync(server->client, &msg, rpcflags); dprintk("NFS reply write: %d\n", status); - return nfs4_map_errors(status); + return status; } -static int -nfs4_proc_commit(struct nfs_write_data *cdata, struct file *filp) +static int nfs4_proc_write(struct nfs_write_data *wdata) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(wdata->inode), + _nfs4_proc_write(wdata), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_commit(struct nfs_write_data *cdata) { struct inode *inode = cdata->inode; struct nfs_fattr *fattr = cdata->res.fattr; @@ -901,24 +1286,29 @@ nfs4_proc_commit(struct nfs_write_data *cdata, struct file *filp) .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_COMMIT], .rpc_argp = &cdata->args, .rpc_resp = &cdata->res, + .rpc_cred = cdata->cred, }; int status; dprintk("NFS call commit %d @ %Ld\n", cdata->args.count, (long long) cdata->args.offset); - /* - * Try first to use O_WRONLY, then O_RDWR stateid. - */ - if (filp) - msg.rpc_cred = ((struct nfs4_state *)filp->private_data)->owner->so_cred; - else - msg.rpc_cred = NFS_I(inode)->mm_cred; - fattr->valid = 0; status = rpc_call_sync(server->client, &msg, 0); dprintk("NFS reply commit: %d\n", status); - return nfs4_map_errors(status); + return status; +} + +static int nfs4_proc_commit(struct nfs_write_data *cdata) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(cdata->inode), + _nfs4_proc_commit(cdata), + &exception); + } while (exception.retry); + return err; } /* @@ -965,7 +1355,7 @@ nfs4_proc_create(struct inode *dir, struct qstr *name, struct iattr *sattr, return inode; } -static int nfs4_proc_remove(struct inode *dir, struct qstr *name) +static int _nfs4_proc_remove(struct inode *dir, struct qstr *name) { struct nfs4_remove_arg args = { .fh = NFS_FH(dir), @@ -982,7 +1372,19 @@ static int nfs4_proc_remove(struct inode *dir, struct qstr *name) status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); if (status == 0) update_changeattr(dir, &res); - return nfs4_map_errors(status); + return status; +} + +static int nfs4_proc_remove(struct inode *dir, struct qstr *name) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(dir), + _nfs4_proc_remove(dir, name), + &exception); + } while (exception.retry); + return err; } struct unlink_desc { @@ -1023,7 +1425,7 @@ static int nfs4_proc_unlink_done(struct dentry *dir, struct rpc_task *task) return 0; } -static int nfs4_proc_rename(struct inode *old_dir, struct qstr *old_name, +static int _nfs4_proc_rename(struct inode *old_dir, struct qstr *old_name, struct inode *new_dir, struct qstr *new_name) { struct nfs4_rename_arg arg = { @@ -1046,10 +1448,24 @@ static int nfs4_proc_rename(struct inode *old_dir, struct qstr *old_name, update_changeattr(old_dir, &res.old_cinfo); update_changeattr(new_dir, &res.new_cinfo); } - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_link(struct inode *inode, struct inode *dir, struct qstr *name) +static int nfs4_proc_rename(struct inode *old_dir, struct qstr *old_name, + struct inode *new_dir, struct qstr *new_name) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(old_dir), + _nfs4_proc_rename(old_dir, old_name, + new_dir, new_name), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_link(struct inode *inode, struct inode *dir, struct qstr *name) { struct nfs4_link_arg arg = { .fh = NFS_FH(inode), @@ -1068,10 +1484,22 @@ static int nfs4_proc_link(struct inode *inode, struct inode *dir, struct qstr *n if (!status) update_changeattr(dir, &cinfo); - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_symlink(struct inode *dir, struct qstr *name, +static int nfs4_proc_link(struct inode *inode, struct inode *dir, struct qstr *name) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(inode), + _nfs4_proc_link(inode, dir, name), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_symlink(struct inode *dir, struct qstr *name, struct qstr *path, struct iattr *sattr, struct nfs_fh *fhandle, struct nfs_fattr *fattr) { @@ -1090,22 +1518,39 @@ static int nfs4_proc_symlink(struct inode *dir, struct qstr *name, .fattr = fattr, }; struct rpc_message msg = { - .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_CREATE], + .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_SYMLINK], .rpc_argp = &arg, .rpc_resp = &res, }; int status; + if (path->len > NFS4_MAXPATHLEN) + return -ENAMETOOLONG; arg.u.symlink = path; fattr->valid = 0; status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); if (!status) update_changeattr(dir, &res.dir_cinfo); - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_mkdir(struct inode *dir, struct qstr *name, +static int nfs4_proc_symlink(struct inode *dir, struct qstr *name, + struct qstr *path, struct iattr *sattr, struct nfs_fh *fhandle, + struct nfs_fattr *fattr) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(dir), + _nfs4_proc_symlink(dir, name, path, sattr, + fhandle, fattr), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_mkdir(struct inode *dir, struct qstr *name, struct iattr *sattr, struct nfs_fh *fhandle, struct nfs_fattr *fattr) { @@ -1135,10 +1580,25 @@ static int nfs4_proc_mkdir(struct inode *dir, struct qstr *name, status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); if (!status) update_changeattr(dir, &res.dir_cinfo); - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, +static int nfs4_proc_mkdir(struct inode *dir, struct qstr *name, + struct iattr *sattr, struct nfs_fh *fhandle, + struct nfs_fattr *fattr) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(dir), + _nfs4_proc_mkdir(dir, name, sattr, + fhandle, fattr), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, u64 cookie, struct page *page, unsigned int count, int plus) { struct inode *dir = dentry->d_inode; @@ -1164,10 +1624,24 @@ static int nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, if (status == 0) memcpy(NFS_COOKIEVERF(dir), res.verifier.data, NFS4_VERIFIER_SIZE); unlock_kernel(); - return nfs4_map_errors(status); + return status; } -static int nfs4_proc_mknod(struct inode *dir, struct qstr *name, +static int nfs4_proc_readdir(struct dentry *dentry, struct rpc_cred *cred, + u64 cookie, struct page *page, unsigned int count, int plus) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(dentry->d_inode), + _nfs4_proc_readdir(dentry, cred, cookie, + page, count, plus), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_mknod(struct inode *dir, struct qstr *name, struct iattr *sattr, dev_t rdev, struct nfs_fh *fh, struct nfs_fattr *fattr) { @@ -1214,10 +1688,25 @@ static int nfs4_proc_mknod(struct inode *dir, struct qstr *name, status = rpc_call_sync(NFS_CLIENT(dir), &msg, 0); if (!status) update_changeattr(dir, &res.dir_cinfo); - return nfs4_map_errors(status); + return status; +} + +static int nfs4_proc_mknod(struct inode *dir, struct qstr *name, + struct iattr *sattr, dev_t rdev, struct nfs_fh *fh, + struct nfs_fattr *fattr) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(NFS_SERVER(dir), + _nfs4_proc_mknod(dir, name, sattr, rdev, + fh, fattr), + &exception); + } while (exception.retry); + return err; } -static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, +static int _nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsstat *fsstat) { struct nfs4_statfs_arg args = { @@ -1231,10 +1720,22 @@ static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, }; fsstat->fattr->valid = 0; - return nfs4_map_errors(rpc_call_sync(server->client, &msg, 0)); + return rpc_call_sync(server->client, &msg, 0); } -static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, +static int nfs4_proc_statfs(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsstat *fsstat) +{ + struct nfs4_exception exception = { }; + int err; + do { + err = nfs4_handle_exception(server, + _nfs4_proc_statfs(server, fhandle, fsstat), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsinfo) { struct nfs4_fsinfo_arg args = { @@ -1247,16 +1748,29 @@ static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, .rpc_resp = fsinfo, }; - return nfs4_map_errors(rpc_call_sync(server->client, &msg, 0)); + return rpc_call_sync(server->client, &msg, 0); +} + +static int nfs4_do_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsinfo) +{ + struct nfs4_exception exception = { }; + int err; + + do { + err = nfs4_handle_exception(server, + _nfs4_do_fsinfo(server, fhandle, fsinfo), + &exception); + } while (exception.retry); + return err; } static int nfs4_proc_fsinfo(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_fsinfo *fsinfo) { fsinfo->fattr->valid = 0; - return nfs4_map_errors(nfs4_do_fsinfo(server, fhandle, fsinfo)); + return nfs4_do_fsinfo(server, fhandle, fsinfo); } -static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, +static int _nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, struct nfs_pathconf *pathconf) { struct nfs4_pathconf_arg args = { @@ -1276,7 +1790,21 @@ static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, } pathconf->fattr->valid = 0; - return nfs4_map_errors(rpc_call_sync(server->client, &msg, 0)); + return rpc_call_sync(server->client, &msg, 0); +} + +static int nfs4_proc_pathconf(struct nfs_server *server, struct nfs_fh *fhandle, + struct nfs_pathconf *pathconf) +{ + struct nfs4_exception exception = { }; + int err; + + do { + err = nfs4_handle_exception(server, + _nfs4_proc_pathconf(server, fhandle, pathconf), + &exception); + } while (exception.retry); + return err; } static void @@ -1415,9 +1943,11 @@ renew_done(struct rpc_task *task) if (task->tk_status < 0) { switch (task->tk_status) { case -NFS4ERR_STALE_CLIENTID: + case -NFS4ERR_EXPIRED: + case -NFS4ERR_CB_PATH_DOWN: nfs4_schedule_state_recovery(clp); - return; } + return; } spin_lock(&clp->cl_lock); if (time_before(clp->cl_last_renewal,timestamp)) @@ -1450,11 +1980,13 @@ nfs4_proc_renew(struct nfs4_client *clp) int status; status = rpc_call_sync(clp->cl_rpcclient, &msg, 0); + if (status < 0) + return status; spin_lock(&clp->cl_lock); if (time_before(clp->cl_last_renewal,now)) clp->cl_last_renewal = now; spin_unlock(&clp->cl_lock); - return status; + return 0; } /* @@ -1467,8 +1999,10 @@ static int nfs4_proc_file_open(struct inode *inode, struct file *filp) { struct dentry *dentry = filp->f_dentry; - struct nfs4_state *state; + struct nfs_open_context *ctx; + struct nfs4_state *state = NULL; struct rpc_cred *cred; + int status = -ENOMEM; dprintk("nfs4_proc_file_open: starting on (%.*s/%.*s)\n", (int)dentry->d_parent->d_name.len, @@ -1478,21 +2012,28 @@ nfs4_proc_file_open(struct inode *inode, struct file *filp) /* Find our open stateid */ cred = rpcauth_lookupcred(NFS_SERVER(inode)->client->cl_auth, 0); - state = nfs4_find_state(inode, cred, filp->f_mode); + if (unlikely(cred == NULL)) + return -ENOMEM; + ctx = alloc_nfs_open_context(dentry, cred); put_rpccred(cred); - if (state == NULL) { - printk(KERN_WARNING "NFS: v4 raced in function %s\n", __FUNCTION__); - return -EIO; /* ERACE actually */ - } + if (unlikely(ctx == NULL)) + return -ENOMEM; + status = -EIO; /* ERACE actually */ + state = nfs4_find_state(inode, cred, filp->f_mode); + if (unlikely(state == NULL)) + goto no_state; + ctx->state = state; nfs4_close_state(state, filp->f_mode); - if (filp->f_mode & FMODE_WRITE) { - lock_kernel(); - nfs_set_mmcred(inode, state->owner->so_cred); + ctx->mode = filp->f_mode; + nfs_file_set_open_context(filp, ctx); + put_nfs_open_context(ctx); + if (filp->f_mode & FMODE_WRITE) nfs_begin_data_update(inode); - unlock_kernel(); - } - filp->private_data = state; return 0; +no_state: + printk(KERN_WARNING "NFS: v4 raced in function %s\n", __FUNCTION__); + put_nfs_open_context(ctx); + return status; } /* @@ -1501,37 +2042,12 @@ nfs4_proc_file_open(struct inode *inode, struct file *filp) static int nfs4_proc_file_release(struct inode *inode, struct file *filp) { - struct nfs4_state *state = (struct nfs4_state *)filp->private_data; - - if (state) - nfs4_close_state(state, filp->f_mode); - if (filp->f_mode & FMODE_WRITE) { - lock_kernel(); + if (filp->f_mode & FMODE_WRITE) nfs_end_data_update(inode); - unlock_kernel(); - } + nfs_file_clear_open_context(filp); return 0; } -/* - * Set up the nfspage struct with the right state info and credentials - */ -static void -nfs4_request_init(struct nfs_page *req, struct file *filp) -{ - struct nfs4_state *state; - - if (!filp) { - req->wb_cred = get_rpccred(NFS_I(req->wb_inode)->mm_cred); - req->wb_state = NULL; - return; - } - state = (struct nfs4_state *)filp->private_data; - req->wb_state = state; - req->wb_cred = get_rpccred(state->owner->so_cred); - req->wb_lockowner = current->files; -} - static int nfs4_async_handle_error(struct rpc_task *task, struct nfs_server *server) { @@ -1545,11 +2061,13 @@ nfs4_async_handle_error(struct rpc_task *task, struct nfs_server *server) case -NFS4ERR_EXPIRED: rpc_sleep_on(&clp->cl_rpcwaitq, task, NULL, NULL); nfs4_schedule_state_recovery(clp); + if (test_bit(NFS4CLNT_OK, &clp->cl_state)) + rpc_wake_up_task(task); task->tk_status = 0; return -EAGAIN; case -NFS4ERR_GRACE: case -NFS4ERR_DELAY: - rpc_delay(task, NFS4_POLL_RETRY_TIME); + rpc_delay(task, NFS4_POLL_RETRY_MAX); task->tk_status = 0; return -EAGAIN; case -NFS4ERR_OLD_STATEID: @@ -1560,12 +2078,11 @@ nfs4_async_handle_error(struct rpc_task *task, struct nfs_server *server) return 0; } -int -nfs4_wait_clnt_recover(struct rpc_clnt *clnt, struct nfs4_client *clp) +int nfs4_wait_clnt_recover(struct rpc_clnt *clnt, struct nfs4_client *clp) { DEFINE_WAIT(wait); sigset_t oldset; - int interruptible, res; + int interruptible, res = 0; might_sleep(); @@ -1573,101 +2090,85 @@ nfs4_wait_clnt_recover(struct rpc_clnt *clnt, struct nfs4_client *clp) interruptible = TASK_UNINTERRUPTIBLE; if (clnt->cl_intr) interruptible = TASK_INTERRUPTIBLE; - do { - res = 0; - prepare_to_wait(&clp->cl_waitq, &wait, interruptible); - nfs4_schedule_state_recovery(clp); - if (test_bit(NFS4CLNT_OK, &clp->cl_state) && - !test_bit(NFS4CLNT_SETUP_STATE, &clp->cl_state)) - break; - if (clnt->cl_intr && signalled()) { - res = -ERESTARTSYS; - break; - } + prepare_to_wait(&clp->cl_waitq, &wait, interruptible); + nfs4_schedule_state_recovery(clp); + if (clnt->cl_intr && signalled()) + res = -ERESTARTSYS; + else if (!test_bit(NFS4CLNT_OK, &clp->cl_state)) schedule(); - } while(!test_bit(NFS4CLNT_OK, &clp->cl_state)); finish_wait(&clp->cl_waitq, &wait); rpc_clnt_sigunmask(clnt, &oldset); return res; } -static int -nfs4_delay(struct rpc_clnt *clnt) +static int nfs4_delay(struct rpc_clnt *clnt, long *timeout) { sigset_t oldset; int res = 0; might_sleep(); + if (*timeout <= 0) + *timeout = NFS4_POLL_RETRY_MIN; + if (*timeout > NFS4_POLL_RETRY_MAX) + *timeout = NFS4_POLL_RETRY_MAX; rpc_clnt_sigmask(clnt, &oldset); if (clnt->cl_intr) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(NFS4_POLL_RETRY_TIME); + schedule_timeout(*timeout); if (signalled()) res = -ERESTARTSYS; } else { set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(NFS4_POLL_RETRY_TIME); + schedule_timeout(*timeout); } rpc_clnt_sigunmask(clnt, &oldset); + *timeout <<= 1; return res; } /* This is the error handling routine for processes that are allowed * to sleep. */ -int -nfs4_handle_error(struct nfs_server *server, int errorcode) +int nfs4_handle_exception(struct nfs_server *server, int errorcode, struct nfs4_exception *exception) { struct nfs4_client *clp = server->nfs4_state; int ret = errorcode; + exception->retry = 0; switch(errorcode) { + case 0: + return 0; case -NFS4ERR_STALE_CLIENTID: case -NFS4ERR_STALE_STATEID: case -NFS4ERR_EXPIRED: ret = nfs4_wait_clnt_recover(server->client, clp); + if (ret == 0) + exception->retry = 1; break; case -NFS4ERR_GRACE: case -NFS4ERR_DELAY: - ret = nfs4_delay(server->client); + ret = nfs4_delay(server->client, &exception->timeout); + if (ret == 0) + exception->retry = 1; break; case -NFS4ERR_OLD_STATEID: - ret = 0; + if (ret == 0) + exception->retry = 1; } /* We failed to handle the error */ return nfs4_map_errors(ret); } - -static int -nfs4_request_compatible(struct nfs_page *req, struct file *filp, struct page *page) -{ - struct nfs4_state *state = NULL; - struct rpc_cred *cred = NULL; - - if (req->wb_file != filp) - return 0; - if (req->wb_page != page) - return 0; - state = (struct nfs4_state *)filp->private_data; - if (req->wb_state != state) - return 0; - if (req->wb_lockowner != current->files) - return 0; - cred = state->owner->so_cred; - if (req->wb_cred != cred) - return 0; - return 1; -} - -int -nfs4_proc_setclientid(struct nfs4_client *clp, - u32 program, unsigned short port) +int nfs4_proc_setclientid(struct nfs4_client *clp, u32 program, unsigned short port) { - u32 *p; - struct nfs4_setclientid setclientid; - struct timespec tv; + static nfs4_verifier sc_verifier; + static int initialized; + + struct nfs4_setclientid setclientid = { + .sc_verifier = &sc_verifier, + .sc_prog = program, + }; struct rpc_message msg = { .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_SETCLIENTID], .rpc_argp = &setclientid, @@ -1675,15 +2176,24 @@ nfs4_proc_setclientid(struct nfs4_client *clp, .rpc_cred = clp->cl_cred, }; - tv = CURRENT_TIME; - p = (u32*)setclientid.sc_verifier.data; - *p++ = (u32)tv.tv_sec; - *p = (u32)tv.tv_nsec; - setclientid.sc_name = clp->cl_ipaddr; - sprintf(setclientid.sc_netid, "tcp"); - sprintf(setclientid.sc_uaddr, "%s.%d.%d", clp->cl_ipaddr, port >> 8, port & 255); - setclientid.sc_prog = htonl(program); - setclientid.sc_cb_ident = 0; + if (!initialized) { + struct timespec boot_time; + u32 *p; + + initialized = 1; + boot_time = CURRENT_TIME; + p = (u32*)sc_verifier.data; + *p++ = htonl((u32)boot_time.tv_sec); + *p = htonl((u32)boot_time.tv_nsec); + } + setclientid.sc_name_len = scnprintf(setclientid.sc_name, + sizeof(setclientid.sc_name), "%s/%u.%u.%u.%u", + clp->cl_ipaddr, NIPQUAD(clp->cl_addr.s_addr)); + setclientid.sc_netid_len = scnprintf(setclientid.sc_netid, + sizeof(setclientid.sc_netid), "tcp"); + setclientid.sc_uaddr_len = scnprintf(setclientid.sc_uaddr, + sizeof(setclientid.sc_uaddr), "%s.%d.%d", + clp->cl_ipaddr, port >> 8, port & 255); return rpc_call_sync(clp->cl_rpcclient, &msg, 0); } @@ -1712,6 +2222,40 @@ nfs4_proc_setclientid_confirm(struct nfs4_client *clp) return status; } +static int _nfs4_proc_delegreturn(struct inode *inode, struct rpc_cred *cred, const nfs4_stateid *stateid) +{ + struct nfs4_delegreturnargs args = { + .fhandle = NFS_FH(inode), + .stateid = stateid, + }; + struct rpc_message msg = { + .rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_DELEGRETURN], + .rpc_argp = &args, + .rpc_cred = cred, + }; + + return rpc_call_sync(NFS_CLIENT(inode), &msg, 0); +} + +int nfs4_proc_delegreturn(struct inode *inode, struct rpc_cred *cred, const nfs4_stateid *stateid) +{ + struct nfs_server *server = NFS_SERVER(inode); + struct nfs4_exception exception = { }; + int err; + do { + err = _nfs4_proc_delegreturn(inode, cred, stateid); + switch (err) { + case -NFS4ERR_STALE_STATEID: + case -NFS4ERR_EXPIRED: + nfs4_schedule_state_recovery(server->nfs4_state); + case 0: + return 0; + } + err = nfs4_handle_exception(server, err, &exception); + } while (exception.retry); + return err; +} + #define NFS4_LOCK_MINTIMEOUT (1 * HZ) #define NFS4_LOCK_MAXTIMEOUT (30 * HZ) @@ -1753,8 +2297,7 @@ nfs4_lck_length(struct file_lock *request) return request->fl_end - request->fl_start + 1; } -int -nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock *request) +static int _nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock *request) { struct inode *inode = state->inode; struct nfs_server *server = NFS_SERVER(inode); @@ -1778,6 +2321,7 @@ nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock *request) struct nfs4_lock_state *lsp; int status; + down_read(&clp->cl_sem); nlo.clientid = clp->cl_clientid; down(&state->lock_sema); lsp = nfs4_find_lock_state(state, request->fl_owner); @@ -1811,14 +2355,28 @@ nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock *request) if (lsp) nfs4_put_lock_state(lsp); up(&state->lock_sema); - return nfs4_map_errors(status); + up_read(&clp->cl_sem); + return status; } -int -nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *request) +static int nfs4_proc_getlk(struct nfs4_state *state, int cmd, struct file_lock *request) +{ + struct nfs4_exception exception = { }; + int err; + + do { + err = nfs4_handle_exception(NFS_SERVER(state->inode), + _nfs4_proc_getlk(state, cmd, request), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *request) { struct inode *inode = state->inode; struct nfs_server *server = NFS_SERVER(inode); + struct nfs4_client *clp = server->nfs4_state; struct nfs_lockargs arg = { .fh = NFS_FH(inode), .type = nfs4_lck_type(cmd, request), @@ -1838,29 +2396,48 @@ nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *request) struct nfs_locku_opargs luargs; int status = 0; + down_read(&clp->cl_sem); down(&state->lock_sema); lsp = nfs4_find_lock_state(state, request->fl_owner); if (!lsp) goto out; - luargs.seqid = lsp->ls_seqid; - memcpy(&luargs.stateid, &lsp->ls_stateid, sizeof(luargs.stateid)); - arg.u.locku = &luargs; - status = rpc_call_sync(server->client, &msg, 0); - nfs4_increment_lock_seqid(status, lsp); + /* We might have lost the locks! */ + if ((lsp->ls_flags & NFS_LOCK_INITIALIZED) != 0) { + luargs.seqid = lsp->ls_seqid; + memcpy(&luargs.stateid, &lsp->ls_stateid, sizeof(luargs.stateid)); + arg.u.locku = &luargs; + status = rpc_call_sync(server->client, &msg, RPC_TASK_NOINTR); + nfs4_increment_lock_seqid(status, lsp); + } if (status == 0) { memcpy(&lsp->ls_stateid, &res.u.stateid, sizeof(lsp->ls_stateid)); - nfs4_notify_unlck(inode, request, lsp); + nfs4_notify_unlck(state, request, lsp); } nfs4_put_lock_state(lsp); out: up(&state->lock_sema); - return nfs4_map_errors(status); + if (status == 0) + posix_lock_file(request->fl_file, request); + up_read(&clp->cl_sem); + return status; } -static int -nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) +static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *request) +{ + struct nfs4_exception exception = { }; + int err; + + do { + err = nfs4_handle_exception(NFS_SERVER(state->inode), + _nfs4_proc_unlck(state, cmd, request), + &exception); + } while (exception.retry); + return err; +} + +static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *request, int reclaim) { struct inode *inode = state->inode; struct nfs_server *server = NFS_SERVER(inode); @@ -1881,23 +2458,22 @@ nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) .rpc_cred = state->owner->so_cred, }; struct nfs_lock_opargs largs = { + .reclaim = reclaim, .new_lock_owner = 0, }; int status; - down(&state->lock_sema); - lsp = nfs4_find_lock_state(state, request->fl_owner); - if (lsp == NULL) { + lsp = nfs4_get_lock_state(state, request->fl_owner); + if (lsp == NULL) + return -ENOMEM; + if (!(lsp->ls_flags & NFS_LOCK_INITIALIZED)) { struct nfs4_state_owner *owner = state->owner; struct nfs_open_to_lock otl = { .lock_owner = { .clientid = server->nfs4_state->cl_clientid, }, }; - status = -ENOMEM; - lsp = nfs4_alloc_lock_state(state, request->fl_owner); - if (!lsp) - goto out; + otl.lock_seqid = lsp->ls_seqid; otl.lock_owner.id = lsp->ls_id; memcpy(&otl.open_stateid, &state->stateid, sizeof(otl.open_stateid)); @@ -1906,7 +2482,7 @@ nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) arg.u.lock = &largs; down(&owner->so_sema); otl.open_seqid = owner->so_seqid; - status = rpc_call_sync(server->client, &msg, 0); + status = rpc_call_sync(server->client, &msg, RPC_TASK_NOINTR); /* increment open_owner seqid on success, and * seqid mutating errors */ nfs4_increment_seqid(status, owner); @@ -1919,32 +2495,70 @@ nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) largs.u.exist_lock = ⪙ largs.new_lock_owner = 0; arg.u.lock = &largs; - status = rpc_call_sync(server->client, &msg, 0); + status = rpc_call_sync(server->client, &msg, RPC_TASK_NOINTR); } /* increment seqid on success, and * seqid mutating errors*/ nfs4_increment_lock_seqid(status, lsp); /* save the returned stateid. */ if (status == 0) { memcpy(&lsp->ls_stateid, &res.u.stateid, sizeof(nfs4_stateid)); - nfs4_notify_setlk(inode, request, lsp); + lsp->ls_flags |= NFS_LOCK_INITIALIZED; + if (!reclaim) + nfs4_notify_setlk(state, request, lsp); } else if (status == -NFS4ERR_DENIED) status = -EAGAIN; nfs4_put_lock_state(lsp); -out: + return status; +} + +int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request) +{ + return _nfs4_do_setlk(state, F_SETLK, request, 1); +} + +static int _nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) +{ + struct nfs4_client *clp = state->owner->so_client; + int status; + + down_read(&clp->cl_sem); + down(&state->lock_sema); + status = _nfs4_do_setlk(state, cmd, request, 0); up(&state->lock_sema); - return nfs4_map_errors(status); + if (status == 0) { + /* Note: we always want to sleep here! */ + request->fl_flags |= FL_SLEEP; + if (posix_lock_file_wait(request->fl_file, request) < 0) + printk(KERN_WARNING "%s: VFS is out of sync with lock manager!\n", __FUNCTION__); + } + up_read(&clp->cl_sem); + return status; +} + +static int nfs4_proc_setlk(struct nfs4_state *state, int cmd, struct file_lock *request) +{ + struct nfs4_exception exception = { }; + int err; + + do { + err = nfs4_handle_exception(NFS_SERVER(state->inode), + _nfs4_proc_setlk(state, cmd, request), + &exception); + } while (exception.retry); + return err; } static int nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request) { + struct nfs_open_context *ctx; struct nfs4_state *state; unsigned long timeout = NFS4_LOCK_MINTIMEOUT; int status; /* verify open state */ - state = (struct nfs4_state *)filp->private_data; - BUG_ON(!state); + ctx = (struct nfs_open_context *)filp->private_data; + state = ctx->state; if (request->fl_start < 0 || request->fl_end < 0) return -EINVAL; @@ -2004,8 +2618,6 @@ struct nfs_rpc_ops nfs_v4_clientops = { .commit_setup = nfs4_proc_commit_setup, .file_open = nfs4_proc_file_open, .file_release = nfs4_proc_file_release, - .request_init = nfs4_request_init, - .request_compatible = nfs4_request_compatible, .lock = nfs4_proc_lock, }; diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 0a8d90899..91e9bd77e 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -40,11 +40,15 @@ #include #include +#include #include #include #include #include +#include "callback.h" +#include "delegation.h" + #define OPENOWNER_POOL_SIZE 8 static spinlock_t state_spinlock = SPIN_LOCK_UNLOCKED; @@ -93,21 +97,26 @@ nfs4_alloc_client(struct in_addr *addr) { struct nfs4_client *clp; - if ((clp = kmalloc(sizeof(*clp), GFP_KERNEL))) { - memset(clp, 0, sizeof(*clp)); - memcpy(&clp->cl_addr, addr, sizeof(clp->cl_addr)); - init_rwsem(&clp->cl_sem); - INIT_LIST_HEAD(&clp->cl_state_owners); - INIT_LIST_HEAD(&clp->cl_unused); - spin_lock_init(&clp->cl_lock); - atomic_set(&clp->cl_count, 1); - INIT_WORK(&clp->cl_recoverd, nfs4_recover_state, clp); - INIT_WORK(&clp->cl_renewd, nfs4_renew_state, clp); - INIT_LIST_HEAD(&clp->cl_superblocks); - init_waitqueue_head(&clp->cl_waitq); - rpc_init_wait_queue(&clp->cl_rpcwaitq, "NFS4 client"); - clp->cl_state = 1 << NFS4CLNT_NEW; + if (nfs_callback_up() < 0) + return NULL; + if ((clp = kmalloc(sizeof(*clp), GFP_KERNEL)) == NULL) { + nfs_callback_down(); + return NULL; } + memset(clp, 0, sizeof(*clp)); + memcpy(&clp->cl_addr, addr, sizeof(clp->cl_addr)); + init_rwsem(&clp->cl_sem); + INIT_LIST_HEAD(&clp->cl_delegations); + INIT_LIST_HEAD(&clp->cl_state_owners); + INIT_LIST_HEAD(&clp->cl_unused); + spin_lock_init(&clp->cl_lock); + atomic_set(&clp->cl_count, 1); + INIT_WORK(&clp->cl_recoverd, nfs4_recover_state, clp); + INIT_WORK(&clp->cl_renewd, nfs4_renew_state, clp); + INIT_LIST_HEAD(&clp->cl_superblocks); + init_waitqueue_head(&clp->cl_waitq); + rpc_init_wait_queue(&clp->cl_rpcwaitq, "NFS4 client"); + clp->cl_state = 1 << NFS4CLNT_OK; return clp; } @@ -130,25 +139,52 @@ nfs4_free_client(struct nfs4_client *clp) if (clp->cl_rpcclient) rpc_shutdown_client(clp->cl_rpcclient); kfree(clp); + nfs_callback_down(); +} + +static struct nfs4_client *__nfs4_find_client(struct in_addr *addr) +{ + struct nfs4_client *clp; + list_for_each_entry(clp, &nfs4_clientid_list, cl_servers) { + if (memcmp(&clp->cl_addr, addr, sizeof(clp->cl_addr)) == 0) { + atomic_inc(&clp->cl_count); + return clp; + } + } + return NULL; +} + +struct nfs4_client *nfs4_find_client(struct in_addr *addr) +{ + struct nfs4_client *clp; + spin_lock(&state_spinlock); + clp = __nfs4_find_client(addr); + spin_unlock(&state_spinlock); + return clp; } struct nfs4_client * nfs4_get_client(struct in_addr *addr) { - struct nfs4_client *new, *clp = NULL; + struct nfs4_client *clp, *new = NULL; - new = nfs4_alloc_client(addr); spin_lock(&state_spinlock); - list_for_each_entry(clp, &nfs4_clientid_list, cl_servers) { - if (memcmp(&clp->cl_addr, addr, sizeof(clp->cl_addr)) == 0) - goto found; + for (;;) { + clp = __nfs4_find_client(addr); + if (clp != NULL) + break; + clp = new; + if (clp != NULL) { + list_add(&clp->cl_servers, &nfs4_clientid_list); + new = NULL; + break; + } + spin_unlock(&state_spinlock); + new = nfs4_alloc_client(addr); + spin_lock(&state_spinlock); + if (new == NULL) + break; } - if (new) - list_add(&new->cl_servers, &nfs4_clientid_list); - spin_unlock(&state_spinlock); - return new; -found: - atomic_inc(&clp->cl_count); spin_unlock(&state_spinlock); if (new) nfs4_free_client(new); @@ -169,6 +205,16 @@ nfs4_put_client(struct nfs4_client *clp) nfs4_free_client(clp); } +int nfs4_init_client(struct nfs4_client *clp) +{ + int status = nfs4_proc_setclientid(clp, NFS4_CALLBACK, nfs_callback_tcpport); + if (status == 0) + status = nfs4_proc_setclientid_confirm(clp); + if (status == 0) + nfs4_schedule_state_renewal(clp); + return status; +} + u32 nfs4_alloc_lockowner_id(struct nfs4_client *clp) { @@ -185,7 +231,6 @@ nfs4_client_grab_unused(struct nfs4_client *clp, struct rpc_cred *cred) atomic_inc(&sp->so_count); sp->so_cred = cred; list_move(&sp->so_list, &clp->cl_state_owners); - sp->so_generation = clp->cl_generation; clp->cl_nunused--; } return sp; @@ -224,6 +269,7 @@ nfs4_alloc_state_owner(void) init_MUTEX(&sp->so_sema); sp->so_seqid = 0; /* arbitrary */ INIT_LIST_HEAD(&sp->so_states); + INIT_LIST_HEAD(&sp->so_delegations); atomic_set(&sp->so_count, 1); return sp; } @@ -237,8 +283,11 @@ nfs4_unhash_state_owner(struct nfs4_state_owner *sp) spin_unlock(&clp->cl_lock); } -struct nfs4_state_owner * -nfs4_get_state_owner(struct nfs_server *server, struct rpc_cred *cred) +/* + * Note: must be called with clp->cl_sem held in order to prevent races + * with reboot recovery! + */ +struct nfs4_state_owner *nfs4_get_state_owner(struct nfs_server *server, struct rpc_cred *cred) { struct nfs4_client *clp = server->nfs4_state; struct nfs4_state_owner *sp, *new; @@ -254,23 +303,23 @@ nfs4_get_state_owner(struct nfs_server *server, struct rpc_cred *cred) new->so_client = clp; new->so_id = nfs4_alloc_lockowner_id(clp); new->so_cred = cred; - new->so_generation = clp->cl_generation; sp = new; new = NULL; } spin_unlock(&clp->cl_lock); if (new) kfree(new); - if (sp) { - if (!test_bit(NFS4CLNT_OK, &clp->cl_state)) - nfs4_wait_clnt_recover(server->client, clp); - } else - put_rpccred(cred); - return sp; + if (sp != NULL) + return sp; + put_rpccred(cred); + return NULL; } -void -nfs4_put_state_owner(struct nfs4_state_owner *sp) +/* + * Must be called with clp->cl_sem held in order to avoid races + * with state recovery... + */ +void nfs4_put_state_owner(struct nfs4_state_owner *sp) { struct nfs4_client *clp = sp->so_client; struct rpc_cred *cred = sp->so_cred; @@ -330,8 +379,6 @@ __nfs4_find_state(struct inode *inode, struct rpc_cred *cred, mode_t mode) continue; if ((state->state & mode) != mode) continue; - /* Add the state to the head of the inode's list */ - list_move(&state->inode_states, &nfsi->open_states); atomic_inc(&state->count); if (mode & FMODE_READ) state->nreaders++; @@ -353,8 +400,6 @@ __nfs4_find_state_byowner(struct inode *inode, struct nfs4_state_owner *owner) if (state->nreaders == 0 && state->nwriters == 0) continue; if (state->owner == owner) { - /* Add the state to the head of the inode's list */ - list_move(&state->inode_states, &nfsi->open_states); atomic_inc(&state->count); return state; } @@ -411,51 +456,40 @@ out: return state; } -static void -__nfs4_put_open_state(struct nfs4_state *state) +/* + * Beware! Caller must be holding exactly one + * reference to clp->cl_sem and owner->so_sema! + */ +void nfs4_put_open_state(struct nfs4_state *state) { struct inode *inode = state->inode; struct nfs4_state_owner *owner = state->owner; - int status = 0; - if (!atomic_dec_and_lock(&state->count, &inode->i_lock)) { - up(&owner->so_sema); + if (!atomic_dec_and_lock(&state->count, &inode->i_lock)) return; - } if (!list_empty(&state->inode_states)) list_del(&state->inode_states); spin_unlock(&inode->i_lock); list_del(&state->open_states); - if (state->state != 0) { - do { - status = nfs4_do_close(inode, state); - if (!status) - break; - up(&owner->so_sema); - status = nfs4_handle_error(NFS_SERVER(inode), status); - down(&owner->so_sema); - } while (!status); - } - up(&owner->so_sema); + BUG_ON (state->state != 0); nfs4_free_open_state(state); nfs4_put_state_owner(owner); } -void -nfs4_put_open_state(struct nfs4_state *state) -{ - down(&state->owner->so_sema); - __nfs4_put_open_state(state); -} - -void -nfs4_close_state(struct nfs4_state *state, mode_t mode) +/* + * Beware! Caller must be holding no references to clp->cl_sem! + * of owner->so_sema! + */ +void nfs4_close_state(struct nfs4_state *state, mode_t mode) { struct inode *inode = state->inode; struct nfs4_state_owner *owner = state->owner; + struct nfs4_client *clp = owner->so_client; int newstate; int status = 0; + atomic_inc(&owner->so_count); + down_read(&clp->cl_sem); down(&owner->so_sema); /* Protect against nfs4_find_state() */ spin_lock(&inode->i_lock); @@ -466,29 +500,24 @@ nfs4_close_state(struct nfs4_state *state, mode_t mode) if (state->nwriters == 0 && state->nreaders == 0) list_del_init(&state->inode_states); spin_unlock(&inode->i_lock); - do { - newstate = 0; - if (state->state == 0) - break; + newstate = 0; + if (state->state != 0) { if (state->nreaders) newstate |= FMODE_READ; if (state->nwriters) newstate |= FMODE_WRITE; if (state->state == newstate) - break; + goto out; if (newstate != 0) status = nfs4_do_downgrade(inode, state, newstate); else status = nfs4_do_close(inode, state); - if (!status) { - state->state = newstate; - break; - } - up(&owner->so_sema); - status = nfs4_handle_error(NFS_SERVER(inode), status); - down(&owner->so_sema); - } while (!status); - __nfs4_put_open_state(state); + } +out: + nfs4_put_open_state(state); + up(&owner->so_sema); + nfs4_put_state_owner(owner); + up_read(&clp->cl_sem); } /* @@ -524,8 +553,7 @@ nfs4_find_lock_state(struct nfs4_state *state, fl_owner_t fl_owner) * * The caller must be holding state->lock_sema */ -struct nfs4_lock_state * -nfs4_alloc_lock_state(struct nfs4_state *state, fl_owner_t fl_owner) +static struct nfs4_lock_state *nfs4_alloc_lock_state(struct nfs4_state *state, fl_owner_t fl_owner) { struct nfs4_lock_state *lsp; struct nfs4_client *clp = state->owner->so_client; @@ -533,12 +561,12 @@ nfs4_alloc_lock_state(struct nfs4_state *state, fl_owner_t fl_owner) lsp = kmalloc(sizeof(*lsp), GFP_KERNEL); if (lsp == NULL) return NULL; + lsp->ls_flags = 0; lsp->ls_seqid = 0; /* arbitrary */ lsp->ls_id = -1; memset(lsp->ls_stateid.data, 0, sizeof(lsp->ls_stateid.data)); atomic_set(&lsp->ls_count, 1); lsp->ls_owner = fl_owner; - lsp->ls_parent = state; INIT_LIST_HEAD(&lsp->ls_locks); spin_lock(&clp->cl_lock); lsp->ls_id = nfs4_alloc_lockowner_id(clp); @@ -546,6 +574,22 @@ nfs4_alloc_lock_state(struct nfs4_state *state, fl_owner_t fl_owner) return lsp; } +/* + * Return a compatible lock_state. If no initialized lock_state structure + * exists, return an uninitialized one. + * + * The caller must be holding state->lock_sema and clp->cl_sem + */ +struct nfs4_lock_state *nfs4_get_lock_state(struct nfs4_state *state, fl_owner_t owner) +{ + struct nfs4_lock_state * lsp; + + lsp = nfs4_find_lock_state(state, owner); + if (lsp == NULL) + lsp = nfs4_alloc_lock_state(state, owner); + return lsp; +} + /* * Byte-range lock aware utility to initialize the stateid of read/write * requests. @@ -567,10 +611,9 @@ nfs4_copy_stateid(nfs4_stateid *dst, struct nfs4_state *state, fl_owner_t fl_own } /* -* Called with state->lock_sema held. +* Called with state->lock_sema and clp->cl_sem held. */ -void -nfs4_increment_lock_seqid(int status, struct nfs4_lock_state *lsp) +void nfs4_increment_lock_seqid(int status, struct nfs4_lock_state *lsp) { if (status == NFS_OK || seqid_mutating_err(-status)) lsp->ls_seqid++; @@ -597,13 +640,11 @@ nfs4_check_unlock(struct file_lock *fl, struct file_lock *request) /* * Post an initialized lock_state on the state->lock_states list. */ -void -nfs4_notify_setlk(struct inode *inode, struct file_lock *request, struct nfs4_lock_state *lsp) +void nfs4_notify_setlk(struct nfs4_state *state, struct file_lock *request, struct nfs4_lock_state *lsp) { - struct nfs4_state *state = lsp->ls_parent; - if (!list_empty(&lsp->ls_locks)) return; + atomic_inc(&lsp->ls_count); write_lock(&state->state_lock); list_add(&lsp->ls_locks, &state->lock_states); set_bit(LK_STATE_IN_USE, &state->flags); @@ -620,9 +661,9 @@ nfs4_notify_setlk(struct inode *inode, struct file_lock *request, struct nfs4_lo * */ void -nfs4_notify_unlck(struct inode *inode, struct file_lock *request, struct nfs4_lock_state *lsp) +nfs4_notify_unlck(struct nfs4_state *state, struct file_lock *request, struct nfs4_lock_state *lsp) { - struct nfs4_state *state = lsp->ls_parent; + struct inode *inode = state->inode; struct file_lock *fl; for (fl = inode->i_flock; fl != NULL; fl = fl->fl_next) { @@ -640,6 +681,7 @@ nfs4_notify_unlck(struct inode *inode, struct file_lock *request, struct nfs4_lo if (list_empty(&state->lock_states)) clear_bit(LK_STATE_IN_USE, &state->flags); write_unlock(&state->state_lock); + nfs4_put_lock_state(lsp); } /* @@ -651,20 +693,18 @@ nfs4_put_lock_state(struct nfs4_lock_state *lsp) { if (!atomic_dec_and_test(&lsp->ls_count)) return; - if (!list_empty(&lsp->ls_locks)) - return; + BUG_ON (!list_empty(&lsp->ls_locks)); kfree(lsp); } /* -* Called with sp->so_sema held. +* Called with sp->so_sema and clp->cl_sem held. * * Increment the seqid if the OPEN/OPEN_DOWNGRADE/CLOSE succeeded, or * failed with a seqid incrementing error - * see comments nfs_fs.h:seqid_mutating_error() */ -void -nfs4_increment_seqid(int status, struct nfs4_state_owner *sp) +void nfs4_increment_seqid(int status, struct nfs4_state_owner *sp) { if (status == NFS_OK || seqid_mutating_err(-status)) sp->so_seqid++; @@ -693,21 +733,14 @@ nfs4_recover_state(void *data) init_completion(&args.complete); - down_read(&clp->cl_sem); - if (test_and_set_bit(NFS4CLNT_SETUP_STATE, &clp->cl_state)) - goto out_failed; if (kernel_thread(reclaimer, &args, CLONE_KERNEL) < 0) goto out_failed_clear; wait_for_completion(&args.complete); return; out_failed_clear: - smp_mb__before_clear_bit(); - clear_bit(NFS4CLNT_SETUP_STATE, &clp->cl_state); - smp_mb__after_clear_bit(); + set_bit(NFS4CLNT_OK, &clp->cl_state); wake_up_all(&clp->cl_waitq); rpc_wake_up(&clp->cl_rpcwaitq); -out_failed: - up_read(&clp->cl_sem); } /* @@ -718,24 +751,66 @@ nfs4_schedule_state_recovery(struct nfs4_client *clp) { if (!clp) return; - smp_mb__before_clear_bit(); - clear_bit(NFS4CLNT_OK, &clp->cl_state); - smp_mb__after_clear_bit(); - schedule_work(&clp->cl_recoverd); + if (test_and_clear_bit(NFS4CLNT_OK, &clp->cl_state)) + schedule_work(&clp->cl_recoverd); } -static int -nfs4_reclaim_open_state(struct nfs4_state_owner *sp) +static int nfs4_reclaim_locks(struct nfs4_state *state) +{ + struct inode *inode = state->inode; + struct file_lock *fl; + int status = 0; + + for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) { + if (!(fl->fl_flags & FL_POSIX)) + continue; + if (((struct nfs_open_context *)fl->fl_file->private_data)->state != state) + continue; + status = nfs4_lock_reclaim(state, fl); + if (status >= 0) + continue; + switch (status) { + default: + printk(KERN_ERR "%s: unhandled error %d. Zeroing state\n", + __FUNCTION__, status); + case -NFS4ERR_EXPIRED: + case -NFS4ERR_NO_GRACE: + case -NFS4ERR_RECLAIM_BAD: + case -NFS4ERR_RECLAIM_CONFLICT: + /* kill_proc(fl->fl_owner, SIGLOST, 1); */ + break; + case -NFS4ERR_STALE_CLIENTID: + goto out_err; + } + } + return 0; +out_err: + return status; +} + +static int nfs4_reclaim_open_state(struct nfs4_state_owner *sp) { struct nfs4_state *state; + struct nfs4_lock_state *lock; int status = 0; list_for_each_entry(state, &sp->so_states, open_states) { if (state->state == 0) continue; status = nfs4_open_reclaim(sp, state); - if (status >= 0) + list_for_each_entry(lock, &state->lock_states, ls_locks) + lock->ls_flags &= ~NFS_LOCK_INITIALIZED; + if (status >= 0) { + status = nfs4_reclaim_locks(state); + if (status < 0) + goto out_err; + list_for_each_entry(lock, &state->lock_states, ls_locks) { + if (!(lock->ls_flags & NFS_LOCK_INITIALIZED)) + printk("%s: Lock reclaim failed!\n", + __FUNCTION__); + } continue; + } switch (status) { default: printk(KERN_ERR "%s: unhandled error %d. Zeroing state\n", @@ -762,75 +837,57 @@ out_err: return status; } -static int -reclaimer(void *ptr) +static int reclaimer(void *ptr) { struct reclaimer_args *args = (struct reclaimer_args *)ptr; struct nfs4_client *clp = args->clp; struct nfs4_state_owner *sp; - int generation; - int status; + int status = 0; daemonize("%u.%u.%u.%u-reclaim", NIPQUAD(clp->cl_addr)); allow_signal(SIGKILL); + atomic_inc(&clp->cl_count); complete(&args->complete); + /* Ensure exclusive access to NFSv4 state */ + lock_kernel(); + down_write(&clp->cl_sem); /* Are there any NFS mounts out there? */ if (list_empty(&clp->cl_superblocks)) goto out; - if (!test_bit(NFS4CLNT_NEW, &clp->cl_state)) { - status = nfs4_proc_renew(clp); - if (status == 0) { - set_bit(NFS4CLNT_OK, &clp->cl_state); - goto out; - } - } - status = nfs4_proc_setclientid(clp, 0, 0); - if (status) - goto out_error; - status = nfs4_proc_setclientid_confirm(clp); +restart_loop: + status = nfs4_proc_renew(clp); + if (status == 0 || status == -NFS4ERR_CB_PATH_DOWN) + goto out; + status = nfs4_init_client(clp); if (status) goto out_error; - generation = ++(clp->cl_generation); - clear_bit(NFS4CLNT_NEW, &clp->cl_state); - set_bit(NFS4CLNT_OK, &clp->cl_state); - up_read(&clp->cl_sem); - nfs4_schedule_state_renewal(clp); -restart_loop: - spin_lock(&clp->cl_lock); + /* Mark all delagations for reclaim */ + nfs_delegation_mark_reclaim(clp); + /* Note: list is protected by exclusive lock on cl->cl_sem */ list_for_each_entry(sp, &clp->cl_state_owners, so_list) { - if (sp->so_generation - generation >= 0) - continue; - atomic_inc(&sp->so_count); - spin_unlock(&clp->cl_lock); - down(&sp->so_sema); - if (sp->so_generation - generation < 0) { - smp_rmb(); - sp->so_generation = clp->cl_generation; - status = nfs4_reclaim_open_state(sp); - } - up(&sp->so_sema); - nfs4_put_state_owner(sp); + status = nfs4_reclaim_open_state(sp); if (status < 0) { if (status == -NFS4ERR_STALE_CLIENTID) - nfs4_schedule_state_recovery(clp); - goto out; + goto restart_loop; + goto out_error; } - goto restart_loop; } - spin_unlock(&clp->cl_lock); + nfs_delegation_reap_unclaimed(clp); out: - smp_mb__before_clear_bit(); - clear_bit(NFS4CLNT_SETUP_STATE, &clp->cl_state); - smp_mb__after_clear_bit(); + set_bit(NFS4CLNT_OK, &clp->cl_state); + up_write(&clp->cl_sem); + unlock_kernel(); wake_up_all(&clp->cl_waitq); rpc_wake_up(&clp->cl_rpcwaitq); + if (status == -NFS4ERR_CB_PATH_DOWN) + nfs_handle_cb_pathdown(clp); + nfs4_put_client(clp); return 0; out_error: - printk(KERN_WARNING "Error: state recovery failed on NFSv4 server %u.%u.%u.%u\n", - NIPQUAD(clp->cl_addr.s_addr)); - up_read(&clp->cl_sem); + printk(KERN_WARNING "Error: state recovery failed on NFSv4 server %u.%u.%u.%u with error %d\n", + NIPQUAD(clp->cl_addr.s_addr), -status); goto out; } diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index a14079f53..481cb0396 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c @@ -84,6 +84,7 @@ static int nfs_stat_to_errno(int); ((3+NFS4_FHSIZE) >> 2)) #define encode_getattr_maxsz (op_encode_hdr_maxsz + 3) #define nfs4_name_maxsz (1 + ((3 + NFS4_MAXNAMLEN) >> 2)) +#define nfs4_path_maxsz (1 + ((3 + NFS4_MAXPATHLEN) >> 2)) #define nfs4_fattr_bitmap_maxsz (36 + 2 * nfs4_name_maxsz) #define decode_getattr_maxsz (op_decode_hdr_maxsz + 3 + \ nfs4_fattr_bitmap_maxsz) @@ -118,10 +119,17 @@ static int nfs_stat_to_errno(int); #define encode_link_maxsz (op_encode_hdr_maxsz + \ nfs4_name_maxsz) #define decode_link_maxsz (op_decode_hdr_maxsz + 5) +#define encode_symlink_maxsz (op_encode_hdr_maxsz + \ + 1 + nfs4_name_maxsz + \ + nfs4_path_maxsz + \ + nfs4_fattr_bitmap_maxsz) +#define decode_symlink_maxsz (op_decode_hdr_maxsz + 8) #define encode_create_maxsz (op_encode_hdr_maxsz + \ - 2 + 2 * nfs4_name_maxsz + \ + 2 + nfs4_name_maxsz + \ nfs4_fattr_bitmap_maxsz) #define decode_create_maxsz (op_decode_hdr_maxsz + 8) +#define encode_delegreturn_maxsz (op_encode_hdr_maxsz + 4) +#define decode_delegreturn_maxsz (op_decode_hdr_maxsz) #define NFS4_enc_compound_sz (1024) /* XXX: large enough? */ #define NFS4_dec_compound_sz (1024) /* XXX: large enough? */ #define NFS4_enc_read_sz (compound_encode_hdr_maxsz + \ @@ -172,16 +180,14 @@ static int nfs_stat_to_errno(int); #define NFS4_dec_open_confirm_sz (compound_decode_hdr_maxsz + \ decode_putfh_maxsz + \ op_decode_hdr_maxsz + 4) -#define NFS4_enc_open_reclaim_sz (compound_encode_hdr_maxsz + \ +#define NFS4_enc_open_noattr_sz (compound_encode_hdr_maxsz + \ encode_putfh_maxsz + \ op_encode_hdr_maxsz + \ - 11 + \ - encode_getattr_maxsz) -#define NFS4_dec_open_reclaim_sz (compound_decode_hdr_maxsz + \ + 11) +#define NFS4_dec_open_noattr_sz (compound_decode_hdr_maxsz + \ decode_putfh_maxsz + \ op_decode_hdr_maxsz + \ - 4 + 5 + 2 + 3 + \ - decode_getattr_maxsz) + 4 + 5 + 2 + 3) #define NFS4_enc_open_downgrade_sz \ (compound_encode_hdr_maxsz + \ encode_putfh_maxsz + \ @@ -313,6 +319,16 @@ static int nfs_stat_to_errno(int); decode_savefh_maxsz + \ decode_putfh_maxsz + \ decode_link_maxsz) +#define NFS4_enc_symlink_sz (compound_encode_hdr_maxsz + \ + encode_putfh_maxsz + \ + encode_symlink_maxsz + \ + encode_getattr_maxsz + \ + encode_getfh_maxsz) +#define NFS4_dec_symlink_sz (compound_decode_hdr_maxsz + \ + decode_putfh_maxsz + \ + decode_symlink_maxsz + \ + decode_getattr_maxsz + \ + decode_getfh_maxsz) #define NFS4_enc_create_sz (compound_encode_hdr_maxsz + \ encode_putfh_maxsz + \ encode_create_maxsz + \ @@ -339,6 +355,11 @@ static int nfs_stat_to_errno(int); encode_getattr_maxsz) #define NFS4_dec_server_caps_sz (compound_decode_hdr_maxsz + \ decode_getattr_maxsz) +#define NFS4_enc_delegreturn_sz (compound_encode_hdr_maxsz + \ + encode_putfh_maxsz + \ + encode_delegreturn_maxsz) +#define NFS4_dec_delegreturn_sz (compound_decode_hdr_maxsz + \ + decode_delegreturn_maxsz) static struct { unsigned int mode; @@ -388,6 +409,15 @@ struct compound_hdr { BUG_ON(!p); \ } while (0) +static void encode_string(struct xdr_stream *xdr, unsigned int len, const char *str) +{ + uint32_t *p; + + p = xdr_reserve_space(xdr, 4 + len); + BUG_ON(p == NULL); + xdr_encode_opaque(p, str, len); +} + static int encode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) { uint32_t *p; @@ -402,6 +432,15 @@ static int encode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) return 0; } +static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *verf) +{ + uint32_t *p; + + p = xdr_reserve_space(xdr, NFS4_VERIFIER_SIZE); + BUG_ON(p == NULL); + xdr_encode_opaque_fixed(p, verf->data, NFS4_VERIFIER_SIZE); +} + static int encode_attrs(struct xdr_stream *xdr, const struct iattr *iap, const struct nfs_server *server) { char owner_name[IDMAP_NAMESZ]; @@ -742,19 +781,12 @@ static int encode_lookup(struct xdr_stream *xdr, const struct qstr *name) return 0; } -static int encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg) +static void encode_share_access(struct xdr_stream *xdr, int open_flags) { - int status; uint32_t *p; - /* - * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, - * owner 4, opentype 4 = 36 - */ - RESERVE_SPACE(36); - WRITE32(OP_OPEN); - WRITE32(arg->seqid); - switch (arg->share_access) { + RESERVE_SPACE(8); + switch (open_flags & (FMODE_READ|FMODE_WRITE)) { case FMODE_READ: WRITE32(NFS4_SHARE_ACCESS_READ); break; @@ -767,84 +799,135 @@ static int encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg) default: BUG(); } - WRITE32(0); /* for linux, share_deny = 0 always */ + WRITE32(0); /* for linux, share_deny = 0 always */ +} + +static inline void encode_openhdr(struct xdr_stream *xdr, const struct nfs_openargs *arg) +{ + uint32_t *p; + /* + * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, + * owner 4 = 32 + */ + RESERVE_SPACE(8); + WRITE32(OP_OPEN); + WRITE32(arg->seqid); + encode_share_access(xdr, arg->open_flags); + RESERVE_SPACE(16); WRITE64(arg->clientid); WRITE32(4); WRITE32(arg->id); - WRITE32(arg->opentype); +} - if (arg->opentype == NFS4_OPEN_CREATE) { - if (arg->createmode == NFS4_CREATE_EXCLUSIVE) { - RESERVE_SPACE(12); - WRITE32(arg->createmode); - WRITEMEM(arg->u.verifier.data, sizeof(arg->u.verifier.data)); - } - else if (arg->u.attrs) { - RESERVE_SPACE(4); - WRITE32(arg->createmode); - if ((status = encode_attrs(xdr, arg->u.attrs, arg->server))) - return status; - } - else { - RESERVE_SPACE(12); - WRITE32(arg->createmode); - WRITE32(0); - WRITE32(0); - } +static inline void encode_createmode(struct xdr_stream *xdr, const struct nfs_openargs *arg) +{ + uint32_t *p; + + RESERVE_SPACE(4); + switch(arg->open_flags & O_EXCL) { + case 0: + WRITE32(NFS4_CREATE_UNCHECKED); + encode_attrs(xdr, arg->u.attrs, arg->server); + break; + default: + WRITE32(NFS4_CREATE_EXCLUSIVE); + encode_nfs4_verifier(xdr, &arg->u.verifier); } +} - RESERVE_SPACE(8 + arg->name->len); - WRITE32(NFS4_OPEN_CLAIM_NULL); - WRITE32(arg->name->len); - WRITEMEM(arg->name->name, arg->name->len); +static void encode_opentype(struct xdr_stream *xdr, const struct nfs_openargs *arg) +{ + uint32_t *p; - return 0; + RESERVE_SPACE(4); + switch (arg->open_flags & O_CREAT) { + case 0: + WRITE32(NFS4_OPEN_NOCREATE); + break; + default: + BUG_ON(arg->claim != NFS4_OPEN_CLAIM_NULL); + WRITE32(NFS4_OPEN_CREATE); + encode_createmode(xdr, arg); + } } -static int encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg) +static inline void encode_delegation_type(struct xdr_stream *xdr, int delegation_type) { uint32_t *p; - RESERVE_SPACE(8+sizeof(arg->stateid.data)); - WRITE32(OP_OPEN_CONFIRM); - WRITEMEM(arg->stateid.data, sizeof(arg->stateid.data)); - WRITE32(arg->seqid); + RESERVE_SPACE(4); + switch (delegation_type) { + case 0: + WRITE32(NFS4_OPEN_DELEGATE_NONE); + break; + case FMODE_READ: + WRITE32(NFS4_OPEN_DELEGATE_READ); + break; + case FMODE_WRITE|FMODE_READ: + WRITE32(NFS4_OPEN_DELEGATE_WRITE); + break; + default: + BUG(); + } +} - return 0; +static inline void encode_claim_null(struct xdr_stream *xdr, const struct qstr *name) +{ + uint32_t *p; + + RESERVE_SPACE(4); + WRITE32(NFS4_OPEN_CLAIM_NULL); + encode_string(xdr, name->len, name->name); } +static inline void encode_claim_previous(struct xdr_stream *xdr, int type) +{ + uint32_t *p; + + RESERVE_SPACE(4); + WRITE32(NFS4_OPEN_CLAIM_PREVIOUS); + encode_delegation_type(xdr, type); +} -static int encode_open_reclaim(struct xdr_stream *xdr, const struct nfs_open_reclaimargs *arg) +static inline void encode_claim_delegate_cur(struct xdr_stream *xdr, const struct qstr *name, const nfs4_stateid *stateid) { uint32_t *p; - /* - * opcode 4, seqid 4, share_access 4, share_deny 4, clientid 8, ownerlen 4, - * owner 4, opentype 4, claim 4, delegation_type 4 = 44 - */ - RESERVE_SPACE(44); - WRITE32(OP_OPEN); - WRITE32(arg->seqid); - switch (arg->share_access) { - case FMODE_READ: - WRITE32(NFS4_SHARE_ACCESS_READ); + RESERVE_SPACE(4+sizeof(stateid->data)); + WRITE32(NFS4_OPEN_CLAIM_DELEGATE_CUR); + WRITEMEM(stateid->data, sizeof(stateid->data)); + encode_string(xdr, name->len, name->name); +} + +static int encode_open(struct xdr_stream *xdr, const struct nfs_openargs *arg) +{ + encode_openhdr(xdr, arg); + encode_opentype(xdr, arg); + switch (arg->claim) { + case NFS4_OPEN_CLAIM_NULL: + encode_claim_null(xdr, arg->name); break; - case FMODE_WRITE: - WRITE32(NFS4_SHARE_ACCESS_WRITE); + case NFS4_OPEN_CLAIM_PREVIOUS: + encode_claim_previous(xdr, arg->u.delegation_type); break; - case FMODE_READ|FMODE_WRITE: - WRITE32(NFS4_SHARE_ACCESS_BOTH); + case NFS4_OPEN_CLAIM_DELEGATE_CUR: + encode_claim_delegate_cur(xdr, arg->name, &arg->u.delegation); break; default: BUG(); } - WRITE32(0); /* for linux, share_deny = 0 always */ - WRITE64(arg->clientid); - WRITE32(4); - WRITE32(arg->id); - WRITE32(NFS4_OPEN_NOCREATE); - WRITE32(NFS4_OPEN_CLAIM_PREVIOUS); - WRITE32(NFS4_OPEN_DELEGATE_NONE); + return 0; +} + +static int encode_open_confirm(struct xdr_stream *xdr, const struct nfs_open_confirmargs *arg) +{ + uint32_t *p; + + RESERVE_SPACE(8+sizeof(arg->stateid.data)); + WRITE32(OP_OPEN_CONFIRM); + WRITEMEM(arg->stateid.data, sizeof(arg->stateid.data)); + WRITE32(arg->seqid); + return 0; } @@ -852,14 +935,11 @@ static int encode_open_downgrade(struct xdr_stream *xdr, const struct nfs_closea { uint32_t *p; - RESERVE_SPACE(16+sizeof(arg->stateid.data)); + RESERVE_SPACE(8+sizeof(arg->stateid.data)); WRITE32(OP_OPEN_DOWNGRADE); WRITEMEM(arg->stateid.data, sizeof(arg->stateid.data)); WRITE32(arg->seqid); - WRITE32(arg->share_access); - /* No deny modes */ - WRITE32(0); - + encode_share_access(xdr, arg->open_flags); return 0; } @@ -887,15 +967,15 @@ static int encode_putrootfh(struct xdr_stream *xdr) return 0; } -static void encode_stateid(struct xdr_stream *xdr, struct nfs4_state *state, fl_owner_t lockowner) +static void encode_stateid(struct xdr_stream *xdr, const struct nfs_open_context *ctx) { extern nfs4_stateid zero_stateid; nfs4_stateid stateid; uint32_t *p; RESERVE_SPACE(16); - if (state != NULL) { - nfs4_copy_stateid(&stateid, state, lockowner); + if (ctx->state != NULL) { + nfs4_copy_stateid(&stateid, ctx->state, ctx->lockowner); WRITEMEM(stateid.data, sizeof(stateid.data)); } else WRITEMEM(zero_stateid.data, sizeof(zero_stateid.data)); @@ -908,7 +988,7 @@ static int encode_read(struct xdr_stream *xdr, const struct nfs_readargs *args) RESERVE_SPACE(4); WRITE32(OP_READ); - encode_stateid(xdr, args->state, args->lockowner); + encode_stateid(xdr, args->context); RESERVE_SPACE(12); WRITE64(args->offset); @@ -927,7 +1007,7 @@ static int encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg WRITE32(OP_READDIR); WRITE64(readdir->cookie); WRITEMEM(readdir->verifier.data, sizeof(readdir->verifier.data)); - WRITE32(readdir->count >> 5); /* meaningless "dircount" field */ + WRITE32(readdir->count >> 1); /* We're not doing readdirplus */ WRITE32(readdir->count); WRITE32(2); WRITE32(FATTR4_WORD0_FILEID); @@ -947,7 +1027,6 @@ static int encode_readdir(struct xdr_stream *xdr, const struct nfs4_readdir_arg static int encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *readlink, struct rpc_rqst *req) { struct rpc_auth *auth = req->rq_task->tk_auth; - unsigned int count = readlink->count - 5; unsigned int replen; uint32_t *p; @@ -956,10 +1035,11 @@ static int encode_readlink(struct xdr_stream *xdr, const struct nfs4_readlink *r /* set up reply kvec * toplevel_status + taglen + rescount + OP_PUTFH + status - * + OP_READLINK + status = 7 + * + OP_READLINK + status + string length = 8 */ - replen = (RPC_REPHDRSIZE + auth->au_rslack + 7) << 2; - xdr_inline_pages(&req->rq_rcv_buf, replen, readlink->pages, 0, count); + replen = (RPC_REPHDRSIZE + auth->au_rslack + 8) << 2; + xdr_inline_pages(&req->rq_rcv_buf, replen, readlink->pages, + readlink->pgbase, readlink->pglen); return 0; } @@ -1031,26 +1111,18 @@ static int encode_setattr(struct xdr_stream *xdr, const struct nfs_setattrargs * static int encode_setclientid(struct xdr_stream *xdr, const struct nfs4_setclientid *setclientid) { - uint32_t total_len; - uint32_t len1, len2, len3; uint32_t *p; - len1 = strlen(setclientid->sc_name); - len2 = strlen(setclientid->sc_netid); - len3 = strlen(setclientid->sc_uaddr); - total_len = XDR_QUADLEN(len1) + XDR_QUADLEN(len2) + XDR_QUADLEN(len3); - total_len = (total_len << 2) + 24 + sizeof(setclientid->sc_verifier.data); - - RESERVE_SPACE(total_len); + RESERVE_SPACE(4 + sizeof(setclientid->sc_verifier->data)); WRITE32(OP_SETCLIENTID); - WRITEMEM(setclientid->sc_verifier.data, sizeof(setclientid->sc_verifier.data)); - WRITE32(len1); - WRITEMEM(setclientid->sc_name, len1); + WRITEMEM(setclientid->sc_verifier->data, sizeof(setclientid->sc_verifier->data)); + + encode_string(xdr, setclientid->sc_name_len, setclientid->sc_name); + RESERVE_SPACE(4); WRITE32(setclientid->sc_prog); - WRITE32(len2); - WRITEMEM(setclientid->sc_netid, len2); - WRITE32(len3); - WRITEMEM(setclientid->sc_uaddr, len3); + encode_string(xdr, setclientid->sc_netid_len, setclientid->sc_netid); + encode_string(xdr, setclientid->sc_uaddr_len, setclientid->sc_uaddr); + RESERVE_SPACE(4); WRITE32(setclientid->sc_cb_ident); return 0; @@ -1075,7 +1147,7 @@ static int encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *args RESERVE_SPACE(4); WRITE32(OP_WRITE); - encode_stateid(xdr, args->state, args->lockowner); + encode_stateid(xdr, args->context); RESERVE_SPACE(16); WRITE64(args->offset); @@ -1086,6 +1158,18 @@ static int encode_write(struct xdr_stream *xdr, const struct nfs_writeargs *args return 0; } + +static int encode_delegreturn(struct xdr_stream *xdr, const nfs4_stateid *stateid) +{ + uint32_t *p; + + RESERVE_SPACE(20); + + WRITE32(OP_DELEGRETURN); + WRITEMEM(stateid->data, sizeof(stateid->data)); + return 0; + +} /* * END OF "GENERIC" ENCODE ROUTINES. */ @@ -1236,13 +1320,21 @@ static int nfs4_xdr_enc_create(struct rpc_rqst *req, uint32_t *p, const struct n goto out; if ((status = encode_create(&xdr, args)) != 0) goto out; - if ((status = encode_getfattr(&xdr, args->bitmask)) != 0) + if ((status = encode_getfh(&xdr)) != 0) goto out; - status = encode_getfh(&xdr); + status = encode_getfattr(&xdr, args->bitmask); out: return status; } +/* + * Encode SYMLINK request + */ +static int nfs4_xdr_enc_symlink(struct rpc_rqst *req, uint32_t *p, const struct nfs4_create_arg *args) +{ + return nfs4_xdr_enc_create(req, p, args); +} + /* * Encode GETATTR request */ @@ -1301,10 +1393,10 @@ static int nfs4_xdr_enc_open(struct rpc_rqst *req, uint32_t *p, struct nfs_opena status = encode_open(&xdr, args); if (status) goto out; - status = encode_getfattr(&xdr, args->bitmask); + status = encode_getfh(&xdr); if (status) goto out; - status = encode_getfh(&xdr); + status = encode_getfattr(&xdr, args->bitmask); out: return status; } @@ -1331,13 +1423,13 @@ out: } /* - * Encode an OPEN request + * Encode an OPEN request with no attributes. */ -static int nfs4_xdr_enc_open_reclaim(struct rpc_rqst *req, uint32_t *p, struct nfs_open_reclaimargs *args) +static int nfs4_xdr_enc_open_noattr(struct rpc_rqst *req, uint32_t *p, struct nfs_openargs *args) { struct xdr_stream xdr; struct compound_hdr hdr = { - .nops = 3, + .nops = 2, }; int status; @@ -1346,10 +1438,7 @@ static int nfs4_xdr_enc_open_reclaim(struct rpc_rqst *req, uint32_t *p, struct n status = encode_putfh(&xdr, args->fh); if (status) goto out; - status = encode_open_reclaim(&xdr, args); - if (status) - goto out; - status = encode_getfattr(&xdr, args->bitmask); + status = encode_open(&xdr, args); out: return status; } @@ -1715,6 +1804,24 @@ static int nfs4_xdr_enc_setclientid_confirm(struct rpc_rqst *req, uint32_t *p, s return status; } +/* + * DELEGRETURN request + */ +static int nfs4_xdr_enc_delegreturn(struct rpc_rqst *req, uint32_t *p, const struct nfs4_delegreturnargs *args) +{ + struct xdr_stream xdr; + struct compound_hdr hdr = { + .nops = 2, + }; + int status; + + xdr_init_encode(&xdr, &req->rq_snd_buf, p); + encode_compound_hdr(&xdr, &hdr); + if ((status = encode_putfh(&xdr, args->fhandle)) == 0) + status = encode_delegreturn(&xdr, args->stateid); + return status; +} + /* * START OF "GENERIC" DECODE ROUTINES. * These may look a little ugly since they are imported from a "generic" @@ -1749,6 +1856,17 @@ static int nfs4_xdr_enc_setclientid_confirm(struct rpc_rqst *req, uint32_t *p, s } \ } while (0) +static int decode_opaque_inline(struct xdr_stream *xdr, uint32_t *len, char **string) +{ + uint32_t *p; + + READ_BUF(4); + READ32(*len); + READ_BUF(*len); + *string = (char *)p; + return 0; +} + static int decode_compound_hdr(struct xdr_stream *xdr, struct compound_hdr *hdr) { uint32_t *p; @@ -1785,6 +1903,17 @@ static int decode_op_hdr(struct xdr_stream *xdr, enum nfs_opnum4 expected) return 0; } +/* Dummy routine */ +static int decode_ace(struct xdr_stream *xdr, void *ace, struct nfs4_client *clp) +{ + uint32_t *p; + uint32_t strlen; + char *str; + + READ_BUF(12); + return decode_opaque_inline(xdr, &strlen, &str); +} + static int decode_attr_bitmap(struct xdr_stream *xdr, uint32_t *bitmap) { uint32_t bmlen, *p; @@ -2717,10 +2846,56 @@ static int decode_lookup(struct xdr_stream *xdr) return decode_op_hdr(xdr, OP_LOOKUP); } +/* This is too sick! */ +static int decode_space_limit(struct xdr_stream *xdr, u64 *maxsize) +{ + uint32_t *p; + uint32_t limit_type, nblocks, blocksize; + + READ_BUF(12); + READ32(limit_type); + switch (limit_type) { + case 1: + READ64(*maxsize); + break; + case 2: + READ32(nblocks); + READ32(blocksize); + *maxsize = (uint64_t)nblocks * (uint64_t)blocksize; + } + return 0; +} + +static int decode_delegation(struct xdr_stream *xdr, struct nfs_openres *res) +{ + uint32_t *p; + uint32_t delegation_type; + + READ_BUF(4); + READ32(delegation_type); + if (delegation_type == NFS4_OPEN_DELEGATE_NONE) { + res->delegation_type = 0; + return 0; + } + READ_BUF(20); + COPYMEM(res->delegation.data, sizeof(res->delegation.data)); + READ32(res->do_recall); + switch (delegation_type) { + case NFS4_OPEN_DELEGATE_READ: + res->delegation_type = FMODE_READ; + break; + case NFS4_OPEN_DELEGATE_WRITE: + res->delegation_type = FMODE_WRITE|FMODE_READ; + if (decode_space_limit(xdr, &res->maxsize) < 0) + return -EIO; + } + return decode_ace(xdr, NULL, res->server->nfs4_state); +} + static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) { uint32_t *p; - uint32_t bmlen, delegation_type; + uint32_t bmlen; int status; status = decode_op_hdr(xdr, OP_OPEN); @@ -2737,11 +2912,9 @@ static int decode_open(struct xdr_stream *xdr, struct nfs_openres *res) if (bmlen > 10) goto xdr_error; - READ_BUF((bmlen << 2) + 4); + READ_BUF(bmlen << 2); p += bmlen; - READ32(delegation_type); - if (delegation_type == NFS4_OPEN_DELEGATE_NONE) - return 0; + return decode_delegation(xdr, res); xdr_error: printk(KERN_NOTICE "%s: xdr error!\n", __FUNCTION__); return -EIO; @@ -2817,8 +2990,8 @@ static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct n struct kvec *iov = rcvbuf->head; unsigned int nr, pglen = rcvbuf->page_len; uint32_t *end, *entry, *p, *kaddr; - uint32_t len, attrlen, word; - int i, hdrlen, recvd, status; + uint32_t len, attrlen; + int hdrlen, recvd, status; status = decode_op_hdr(xdr, OP_READDIR); if (status) @@ -2839,42 +3012,24 @@ static int decode_readdir(struct xdr_stream *xdr, struct rpc_rqst *req, struct n for (nr = 0; *p++; nr++) { if (p + 3 > end) goto short_pkt; - p += 2; /* cookie */ - len = ntohl(*p++); /* filename length */ + p += 2; /* cookie */ + len = ntohl(*p++); /* filename length */ if (len > NFS4_MAXNAMLEN) { printk(KERN_WARNING "NFS: giant filename in readdir (len 0x%x)\n", len); goto err_unmap; } - p += XDR_QUADLEN(len); if (p + 1 > end) goto short_pkt; - len = ntohl(*p++); /* bitmap length */ - if (len > 10) { - printk(KERN_WARNING "NFS: giant bitmap in readdir (len 0x%x)\n", len); - goto err_unmap; - } - if (p + len + 1 > end) - goto short_pkt; - attrlen = 0; - for (i = 0; i < len; i++) { - word = ntohl(*p++); - if (!word) - continue; - else if (i == 0 && word == FATTR4_WORD0_FILEID) { - attrlen = 8; - continue; - } - printk(KERN_WARNING "NFS: unexpected bitmap word in readdir (0x%x)\n", word); - goto err_unmap; - } - if (ntohl(*p++) != attrlen) { - printk(KERN_WARNING "NFS: unexpected attrlen in readdir\n"); - goto err_unmap; - } - p += XDR_QUADLEN(attrlen); + len = ntohl(*p++); /* bitmap length */ + p += len; if (p + 1 > end) goto short_pkt; + attrlen = XDR_QUADLEN(ntohl(*p++)); + p += attrlen; /* attributes */ + if (p + 2 > end) + goto short_pkt; + entry = p; } if (!nr && (entry[0] != 0 || entry[1] == 0)) goto short_pkt; @@ -2898,21 +3053,30 @@ static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) { struct xdr_buf *rcvbuf = &req->rq_rcv_buf; struct kvec *iov = rcvbuf->head; - uint32_t *strlen; - unsigned int hdrlen, len; - char *string; + int hdrlen, len, recvd; + uint32_t *p; + char *kaddr; int status; status = decode_op_hdr(xdr, OP_READLINK); if (status) return status; + /* Convert length of symlink */ + READ_BUF(4); + READ32(len); + if (len >= rcvbuf->page_len || len <= 0) { + dprintk(KERN_WARNING "nfs: server returned giant symlink!\n"); + return -ENAMETOOLONG; + } hdrlen = (char *) xdr->p - (char *) iov->iov_base; - if (iov->iov_len > hdrlen) { - dprintk("NFS: READLINK header is short. iovec will be shifted.\n"); - xdr_shift_buf(rcvbuf, iov->iov_len - hdrlen); - + recvd = req->rq_rcv_buf.len - hdrlen; + if (recvd < len) { + printk(KERN_WARNING "NFS: server cheating in readlink reply: " + "count %u > recvd %u\n", len, recvd); + return -EIO; } + xdr_read_pages(xdr, len); /* * The XDR encode routine has set things up so that * the link text will be copied directly into the @@ -2920,18 +3084,9 @@ static int decode_readlink(struct xdr_stream *xdr, struct rpc_rqst *req) * and and null-terminate the text (the VFS expects * null-termination). */ - strlen = (uint32_t *) kmap_atomic(rcvbuf->pages[0], KM_USER0); - len = ntohl(*strlen); - if (len > rcvbuf->page_len) { - dprintk(KERN_WARNING "nfs: server returned giant symlink!\n"); - kunmap_atomic(strlen, KM_USER0); - return -ENAMETOOLONG; - } - *strlen = len; - - string = (char *)(strlen + 1); - string[len] = '\0'; - kunmap_atomic(strlen, KM_USER0); + kaddr = (char *)kmap_atomic(rcvbuf->pages[0], KM_USER0); + kaddr[len+rcvbuf->page_base] = '\0'; + kunmap_atomic(kaddr, KM_USER0); return 0; } @@ -3048,6 +3203,11 @@ static int decode_write(struct xdr_stream *xdr, struct nfs_writeres *res) return 0; } +static int decode_delegreturn(struct xdr_stream *xdr) +{ + return decode_op_hdr(xdr, OP_DELEGRETURN); +} + /* * Decode OPEN_DOWNGRADE response */ @@ -3214,13 +3374,23 @@ static int nfs4_xdr_dec_create(struct rpc_rqst *rqstp, uint32_t *p, struct nfs4_ goto out; if ((status = decode_create(&xdr,&res->dir_cinfo)) != 0) goto out; - if ((status = decode_getfattr(&xdr, res->fattr, res->server)) != 0) + if ((status = decode_getfh(&xdr, res->fh)) != 0) goto out; - status = decode_getfh(&xdr, res->fh); + status = decode_getfattr(&xdr, res->fattr, res->server); + if (status == NFS4ERR_DELAY) + status = 0; out: return status; } +/* + * Decode SYMLINK response + */ +static int nfs4_xdr_dec_symlink(struct rpc_rqst *rqstp, uint32_t *p, struct nfs4_create_res *res) +{ + return nfs4_xdr_dec_create(rqstp, p, res); +} + /* * Decode GETATTR response */ @@ -3282,12 +3452,14 @@ static int nfs4_xdr_dec_open(struct rpc_rqst *rqstp, uint32_t *p, struct nfs_ope if (status) goto out; status = decode_open(&xdr, res); - if (status) - goto out; - status = decode_getfattr(&xdr, res->f_attr, res->server); if (status) goto out; status = decode_getfh(&xdr, &res->fh); + if (status) + goto out; + status = decode_getfattr(&xdr, res->f_attr, res->server); + if (status == NFS4ERR_DELAY) + status = 0; out: return status; } @@ -3314,9 +3486,9 @@ out: } /* - * Decode OPEN_RECLAIM response + * Decode OPEN response */ -static int nfs4_xdr_dec_open_reclaim(struct rpc_rqst *rqstp, uint32_t *p, struct nfs_openres *res) +static int nfs4_xdr_dec_open_noattr(struct rpc_rqst *rqstp, uint32_t *p, struct nfs_openres *res) { struct xdr_stream xdr; struct compound_hdr hdr; @@ -3330,9 +3502,6 @@ static int nfs4_xdr_dec_open_reclaim(struct rpc_rqst *rqstp, uint32_t *p, struct if (status) goto out; status = decode_open(&xdr, res); - if (status) - goto out; - status = decode_getfattr(&xdr, res->f_attr, res->server); out: return status; } @@ -3357,6 +3526,8 @@ static int nfs4_xdr_dec_setattr(struct rpc_rqst *rqstp, uint32_t *p, struct nfs_ if (status) goto out; status = decode_getfattr(&xdr, res->fattr, res->server); + if (status == NFS4ERR_DELAY) + status = 0; out: return status; } @@ -3665,8 +3836,28 @@ static int nfs4_xdr_dec_setclientid_confirm(struct rpc_rqst *req, uint32_t *p, s return status; } +/* + * DELEGRETURN request + */ +static int nfs4_xdr_dec_delegreturn(struct rpc_rqst *rqstp, uint32_t *p, void *dummy) +{ + struct xdr_stream xdr; + struct compound_hdr hdr; + int status; + + xdr_init_decode(&xdr, &rqstp->rq_rcv_buf, p); + status = decode_compound_hdr(&xdr, &hdr); + if (status == 0) { + status = decode_putfh(&xdr); + if (status == 0) + status = decode_delegreturn(&xdr); + } + return status; +} + uint32_t *nfs4_decode_dirent(uint32_t *p, struct nfs_entry *entry, int plus) { + uint32_t bitmap[1] = {0}; uint32_t len; if (!*p++) { @@ -3689,11 +3880,17 @@ uint32_t *nfs4_decode_dirent(uint32_t *p, struct nfs_entry *entry, int plus) */ entry->ino = 1; - len = ntohl(*p++); /* bitmap length */ - p += len; - len = ntohl(*p++); /* attribute buffer length */ - if (len) - p = xdr_decode_hyper(p, &entry->ino); + len = ntohl(*p++); /* bitmap length */ + if (len > 0) { + bitmap[0] = ntohl(*p); + p += len; + } + len = XDR_QUADLEN(ntohl(*p++)); /* attribute buffer length */ + if (len > 0) { + if (bitmap[0] == FATTR4_WORD0_FILEID) + xdr_decode_hyper(p, &entry->ino); + p += len; + } entry->eof = !p[0] && p[1]; return p; @@ -3756,7 +3953,7 @@ nfs_stat_to_errno(int stat) if (nfs_errtbl[i].stat == stat) return nfs_errtbl[i].errno; } - if (stat < 0) { + if (stat <= 10000 || stat > 10100) { /* The server is looney tunes. */ return ESERVERFAULT; } @@ -3786,7 +3983,7 @@ struct rpc_procinfo nfs4_procedures[] = { PROC(COMMIT, enc_commit, dec_commit), PROC(OPEN, enc_open, dec_open), PROC(OPEN_CONFIRM, enc_open_confirm, dec_open_confirm), - PROC(OPEN_RECLAIM, enc_open_reclaim, dec_open_reclaim), + PROC(OPEN_NOATTR, enc_open_noattr, dec_open_noattr), PROC(OPEN_DOWNGRADE, enc_open_downgrade, dec_open_downgrade), PROC(CLOSE, enc_close, dec_close), PROC(SETATTR, enc_setattr, dec_setattr), @@ -3804,12 +4001,14 @@ struct rpc_procinfo nfs4_procedures[] = { PROC(REMOVE, enc_remove, dec_remove), PROC(RENAME, enc_rename, dec_rename), PROC(LINK, enc_link, dec_link), + PROC(SYMLINK, enc_symlink, dec_symlink), PROC(CREATE, enc_create, dec_create), PROC(PATHCONF, enc_pathconf, dec_pathconf), PROC(STATFS, enc_statfs, dec_statfs), PROC(READLINK, enc_readlink, dec_readlink), PROC(READDIR, enc_readdir, dec_readdir), PROC(SERVER_CAPS, enc_server_caps, dec_server_caps), + PROC(DELEGRETURN, enc_delegreturn, dec_delegreturn), }; struct rpc_version nfs_version4 = { diff --git a/fs/nfs/proc.c b/fs/nfs/proc.c index 8dc6a981c..ae9500199 100644 --- a/fs/nfs/proc.c +++ b/fs/nfs/proc.c @@ -49,18 +49,6 @@ extern struct rpc_procinfo nfs_procedures[]; -static struct rpc_cred * -nfs_cred(struct inode *inode, struct file *filp) -{ - struct rpc_cred *cred = NULL; - - if (filp) - cred = (struct rpc_cred *)filp->private_data; - if (!cred) - cred = NFS_I(inode)->mm_cred; - return cred; -} - /* * Bare-bones access to getattr: this is for nfs_read_super. */ @@ -99,14 +87,15 @@ nfs_proc_get_root(struct nfs_server *server, struct nfs_fh *fhandle, * One function for each procedure in the NFS protocol. */ static int -nfs_proc_getattr(struct inode *inode, struct nfs_fattr *fattr) +nfs_proc_getattr(struct nfs_server *server, struct nfs_fh *fhandle, + struct nfs_fattr *fattr) { int status; dprintk("NFS call getattr\n"); fattr->valid = 0; - status = rpc_call(NFS_CLIENT(inode), NFSPROC_GETATTR, - NFS_FH(inode), fattr, 0); + status = rpc_call(server->client, NFSPROC_GETATTR, + fhandle, fattr, 0); dprintk("NFS reply getattr\n"); return status; } @@ -151,12 +140,13 @@ nfs_proc_lookup(struct inode *dir, struct qstr *name, return status; } -static int -nfs_proc_readlink(struct inode *inode, struct page *page) +static int nfs_proc_readlink(struct inode *inode, struct page *page, + unsigned int pgbase, unsigned int pglen) { struct nfs_readlinkargs args = { .fh = NFS_FH(inode), - .count = PAGE_CACHE_SIZE, + .pgbase = pgbase, + .pglen = pglen, .pages = &page }; int status; @@ -167,8 +157,7 @@ nfs_proc_readlink(struct inode *inode, struct page *page) return status; } -static int -nfs_proc_read(struct nfs_read_data *rdata, struct file *filp) +static int nfs_proc_read(struct nfs_read_data *rdata) { int flags = rdata->flags; struct inode * inode = rdata->inode; @@ -177,15 +166,14 @@ nfs_proc_read(struct nfs_read_data *rdata, struct file *filp) .rpc_proc = &nfs_procedures[NFSPROC_READ], .rpc_argp = &rdata->args, .rpc_resp = &rdata->res, + .rpc_cred = rdata->cred, }; int status; dprintk("NFS call read %d @ %Ld\n", rdata->args.count, (long long) rdata->args.offset); fattr->valid = 0; - msg.rpc_cred = nfs_cred(inode, filp); status = rpc_call_sync(NFS_CLIENT(inode), &msg, flags); - if (status >= 0) { nfs_refresh_inode(inode, fattr); /* Emulate the eof flag, which isn't normally needed in NFSv2 @@ -198,8 +186,7 @@ nfs_proc_read(struct nfs_read_data *rdata, struct file *filp) return status; } -static int -nfs_proc_write(struct nfs_write_data *wdata, struct file *filp) +static int nfs_proc_write(struct nfs_write_data *wdata) { int flags = wdata->flags; struct inode * inode = wdata->inode; @@ -208,13 +195,13 @@ nfs_proc_write(struct nfs_write_data *wdata, struct file *filp) .rpc_proc = &nfs_procedures[NFSPROC_WRITE], .rpc_argp = &wdata->args, .rpc_resp = &wdata->res, + .rpc_cred = wdata->cred, }; int status; dprintk("NFS call write %d @ %Ld\n", wdata->args.count, (long long) wdata->args.offset); fattr->valid = 0; - msg.rpc_cred = nfs_cred(inode, filp); status = rpc_call_sync(NFS_CLIENT(inode), &msg, flags); if (status >= 0) { nfs_refresh_inode(inode, fattr); @@ -400,8 +387,11 @@ nfs_proc_symlink(struct inode *dir, struct qstr *name, struct qstr *path, }; int status; + if (path->len > NFS2_MAXPATHLEN) + return -ENAMETOOLONG; dprintk("NFS call symlink %s -> %s\n", name->name, path->name); fattr->valid = 0; + fhandle->size = 0; status = rpc_call(NFS_CLIENT(dir), NFSPROC_SYMLINK, &arg, NULL, 0); dprintk("NFS reply symlink: %d\n", status); return status; @@ -619,27 +609,6 @@ nfs_proc_commit_setup(struct nfs_write_data *data, int how) BUG(); } -/* - * Set up the nfspage struct with the right credentials - */ -static void -nfs_request_init(struct nfs_page *req, struct file *filp) -{ - req->wb_cred = get_rpccred(nfs_cred(req->wb_inode, filp)); -} - -static int -nfs_request_compatible(struct nfs_page *req, struct file *filp, struct page *page) -{ - if (req->wb_file != filp) - return 0; - if (req->wb_page != page) - return 0; - if (req->wb_cred != nfs_file_cred(filp)) - return 0; - return 1; -} - static int nfs_proc_lock(struct file *filp, int cmd, struct file_lock *fl) { @@ -680,7 +649,5 @@ struct nfs_rpc_ops nfs_v2_clientops = { .commit_setup = nfs_proc_commit_setup, .file_open = nfs_open, .file_release = nfs_release, - .request_init = nfs_request_init, - .request_compatible = nfs_request_compatible, .lock = nfs_proc_lock, }; diff --git a/fs/nfs/read.c b/fs/nfs/read.c index 2d32aba43..0de2e2d12 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c @@ -91,8 +91,8 @@ int nfs_return_empty_page(struct page *page) /* * Read a page synchronously. */ -static int -nfs_readpage_sync(struct file *file, struct inode *inode, struct page *page) +static int nfs_readpage_sync(struct nfs_open_context *ctx, struct inode *inode, + struct page *page) { unsigned int rsize = NFS_SERVER(inode)->rsize; unsigned int count = PAGE_CACHE_SIZE; @@ -105,10 +105,11 @@ nfs_readpage_sync(struct file *file, struct inode *inode, struct page *page) memset(rdata, 0, sizeof(*rdata)); rdata->flags = (IS_SWAPFILE(inode)? NFS_RPC_SWAPFLAGS : 0); + rdata->cred = ctx->cred; rdata->inode = inode; INIT_LIST_HEAD(&rdata->pages); rdata->args.fh = NFS_FH(inode); - rdata->args.lockowner = current->files; + rdata->args.context = ctx; rdata->args.pages = &page; rdata->args.pgbase = 0UL; rdata->args.count = rsize; @@ -134,7 +135,7 @@ nfs_readpage_sync(struct file *file, struct inode *inode, struct page *page) rdata->args.count); lock_kernel(); - result = NFS_PROTO(inode)->read(rdata, file); + result = NFS_PROTO(inode)->read(rdata); unlock_kernel(); /* @@ -169,8 +170,8 @@ io_error: return result; } -static int -nfs_readpage_async(struct file *file, struct inode *inode, struct page *page) +static int nfs_readpage_async(struct nfs_open_context *ctx, struct inode *inode, + struct page *page) { LIST_HEAD(one_request); struct nfs_page *new; @@ -179,7 +180,7 @@ nfs_readpage_async(struct file *file, struct inode *inode, struct page *page) len = nfs_page_length(inode, page); if (len == 0) return nfs_return_empty_page(page); - new = nfs_create_request(file, inode, page, 0, len); + new = nfs_create_request(ctx, inode, page, 0, len); if (IS_ERR(new)) { unlock_page(page); return PTR_ERR(new); @@ -202,8 +203,8 @@ static void nfs_readpage_release(struct nfs_page *req) nfs_unlock_request(req); dprintk("NFS: read done (%s/%Ld %d@%Ld)\n", - req->wb_inode->i_sb->s_id, - (long long)NFS_FILEID(req->wb_inode), + req->wb_context->dentry->d_inode->i_sb->s_id, + (long long)NFS_FILEID(req->wb_context->dentry->d_inode), req->wb_bytes, (long long)req_offset(req)); } @@ -217,16 +218,15 @@ static void nfs_read_rpcsetup(struct nfs_page *req, struct nfs_read_data *data, struct inode *inode; data->req = req; - data->inode = inode = req->wb_inode; - data->cred = req->wb_cred; + data->inode = inode = req->wb_context->dentry->d_inode; + data->cred = req->wb_context->cred; data->args.fh = NFS_FH(inode); data->args.offset = req_offset(req) + offset; data->args.pgbase = req->wb_pgbase + offset; data->args.pages = data->pagevec; data->args.count = count; - data->args.lockowner = req->wb_lockowner; - data->args.state = req->wb_state; + data->args.context = req->wb_context; data->res.fattr = &data->fattr; data->res.count = count; @@ -396,7 +396,7 @@ nfs_pagein_list(struct list_head *head, int rpages) while (!list_empty(head)) { pages += nfs_coalesce_requests(head, &one_request, rpages); req = nfs_list_entry(one_request.next); - error = nfs_pagein_one(&one_request, req->wb_inode); + error = nfs_pagein_one(&one_request, req->wb_context->dentry->d_inode); if (error < 0) break; } @@ -500,9 +500,9 @@ void nfs_readpage_result(struct rpc_task *task) * - The error flag is set for this page. This happens only when a * previous async read operation failed. */ -int -nfs_readpage(struct file *file, struct page *page) +int nfs_readpage(struct file *file, struct page *page) { + struct nfs_open_context *ctx; struct inode *inode = page->mapping->host; int error; @@ -519,25 +519,33 @@ nfs_readpage(struct file *file, struct page *page) if (error) goto out_error; + if (file == NULL) { + ctx = nfs_find_open_context(inode, FMODE_READ); + if (ctx == NULL) + return -EBADF; + } else + ctx = get_nfs_open_context((struct nfs_open_context *) + file->private_data); if (!IS_SYNC(inode)) { - error = nfs_readpage_async(file, inode, page); + error = nfs_readpage_async(ctx, inode, page); goto out; } - error = nfs_readpage_sync(file, inode, page); + error = nfs_readpage_sync(ctx, inode, page); if (error < 0 && IS_SWAPFILE(inode)) printk("Aiee.. nfs swap-in of page failed!\n"); out: + put_nfs_open_context(ctx); return error; out_error: unlock_page(page); - goto out; + return error; } struct nfs_readdesc { struct list_head *head; - struct file *filp; + struct nfs_open_context *ctx; }; static int @@ -552,7 +560,7 @@ readpage_async_filler(void *data, struct page *page) len = nfs_page_length(inode, page); if (len == 0) return nfs_return_empty_page(page); - new = nfs_create_request(desc->filp, inode, page, 0, len); + new = nfs_create_request(desc->ctx, inode, page, 0, len); if (IS_ERR(new)) { SetPageError(page); unlock_page(page); @@ -565,13 +573,11 @@ readpage_async_filler(void *data, struct page *page) return 0; } -int -nfs_readpages(struct file *filp, struct address_space *mapping, +int nfs_readpages(struct file *filp, struct address_space *mapping, struct list_head *pages, unsigned nr_pages) { LIST_HEAD(head); struct nfs_readdesc desc = { - .filp = filp, .head = &head, }; struct inode *inode = mapping->host; @@ -583,12 +589,20 @@ nfs_readpages(struct file *filp, struct address_space *mapping, (long long)NFS_FILEID(inode), nr_pages); + if (filp == NULL) { + desc.ctx = nfs_find_open_context(inode, FMODE_READ); + if (desc.ctx == NULL) + return -EBADF; + } else + desc.ctx = get_nfs_open_context((struct nfs_open_context *) + filp->private_data); ret = read_cache_pages(mapping, pages, readpage_async_filler, &desc); if (!list_empty(&head)) { int err = nfs_pagein_list(&head, server->rpages); if (!ret) ret = err; } + put_nfs_open_context(desc.ctx); return ret; } diff --git a/fs/nfs/symlink.c b/fs/nfs/symlink.c index d601eb78c..35f106599 100644 --- a/fs/nfs/symlink.c +++ b/fs/nfs/symlink.c @@ -27,17 +27,26 @@ /* Symlink caching in the page cache is even more simplistic * and straight-forward than readdir caching. + * + * At the beginning of the page we store pointer to struct page in question, + * simplifying nfs_put_link() (if inode got invalidated we can't find the page + * to be freed via pagecache lookup). + * The NUL-terminated string follows immediately thereafter. */ + +struct nfs_symlink { + struct page *page; + char body[0]; +}; + static int nfs_symlink_filler(struct inode *inode, struct page *page) { + const unsigned int pgbase = offsetof(struct nfs_symlink, body); + const unsigned int pglen = PAGE_SIZE - pgbase; int error; - /* We place the length at the beginning of the page, - * in host byte order, followed by the string. The - * XDR response verification will NULL terminate it. - */ lock_kernel(); - error = NFS_PROTO(inode)->readlink(inode, page); + error = NFS_PROTO(inode)->readlink(inode, page, pgbase, pglen); unlock_kernel(); if (error < 0) goto error; @@ -51,51 +60,46 @@ error: return -EIO; } -enum { - Page_Offset = (PAGE_SIZE - sizeof(void *)) / 4 -}; - static int nfs_follow_link(struct dentry *dentry, struct nameidata *nd) { struct inode *inode = dentry->d_inode; struct page *page; - u32 *p; - - page = ERR_PTR(nfs_revalidate_inode(NFS_SERVER(inode), inode)); - if (page) + struct nfs_symlink *p; + void *err = ERR_PTR(nfs_revalidate_inode(NFS_SERVER(inode), inode)); + if (err) goto read_failed; page = read_cache_page(&inode->i_data, 0, (filler_t *)nfs_symlink_filler, inode); - if (IS_ERR(page)) + if (IS_ERR(page)) { + err = page; goto read_failed; - if (!PageUptodate(page)) + } + if (!PageUptodate(page)) { + err = ERR_PTR(-EIO); goto getlink_read_error; + } p = kmap(page); - if (*p > Page_Offset * 4 - 1 - 4) - goto too_long; - *(struct page **)(p + Page_Offset) = page; - - nd_set_link(nd, (char *)(p+1)); + p->page = page; + nd_set_link(nd, p->body); return 0; -too_long: - kunmap(page); - page_cache_release(page); - page = ERR_PTR(-ENAMETOOLONG); - goto read_failed; getlink_read_error: page_cache_release(page); - page = ERR_PTR(-EIO); read_failed: - nd_set_link(nd, (char*)page); + nd_set_link(nd, err); return 0; } static void nfs_put_link(struct dentry *dentry, struct nameidata *nd) { - u32 *s = (u32 *)nd_get_link(nd); + char *s = nd_get_link(nd); if (!IS_ERR(s)) { - struct page *page = *(struct page **)(s + Page_Offset - 1); + struct nfs_symlink *p; + struct page *page; + + p = container_of(s, struct nfs_symlink, body[0]); + page = p->page; + kunmap(page); page_cache_release(page); } diff --git a/fs/nfs/write.c b/fs/nfs/write.c index a01a2fa0a..847b77d4c 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -63,6 +63,8 @@ #include #include +#include "delegation.h" + #define NFSDBG_FACILITY NFSDBG_PAGECACHE #define MIN_POOL_WRITE (32) @@ -71,7 +73,8 @@ /* * Local function declarations */ -static struct nfs_page * nfs_update_request(struct file*, struct inode *, +static struct nfs_page * nfs_update_request(struct nfs_open_context*, + struct inode *, struct page *, unsigned int, unsigned int); static void nfs_writeback_done_partial(struct nfs_write_data *, int); @@ -173,7 +176,7 @@ static void nfs_mark_uptodate(struct page *page, unsigned int base, unsigned int * Write a page synchronously. * Offset is the data offset within the page. */ -static int nfs_writepage_sync(struct file *file, struct inode *inode, +static int nfs_writepage_sync(struct nfs_open_context *ctx, struct inode *inode, struct page *page, unsigned int offset, unsigned int count, int how) { @@ -187,9 +190,10 @@ static int nfs_writepage_sync(struct file *file, struct inode *inode, memset(wdata, 0, sizeof(*wdata)); wdata->flags = how; + wdata->cred = ctx->cred; wdata->inode = inode; wdata->args.fh = NFS_FH(inode); - wdata->args.lockowner = current->files; + wdata->args.context = ctx; wdata->args.pages = &page; wdata->args.stable = NFS_FILE_SYNC; wdata->args.pgbase = offset; @@ -208,7 +212,7 @@ static int nfs_writepage_sync(struct file *file, struct inode *inode, wdata->args.count = count; wdata->args.offset = page_offset(page) + wdata->args.pgbase; - result = NFS_PROTO(inode)->write(wdata, file); + result = NFS_PROTO(inode)->write(wdata); if (result < 0) { /* Must mark the page invalid after I/O error */ @@ -234,20 +238,19 @@ static int nfs_writepage_sync(struct file *file, struct inode *inode, io_error: nfs_end_data_update_defer(inode); - if (wdata->cred) - put_rpccred(wdata->cred); kfree(wdata); return written ? written : result; } -static int nfs_writepage_async(struct file *file, struct inode *inode, - struct page *page, unsigned int offset, unsigned int count) +static int nfs_writepage_async(struct nfs_open_context *ctx, + struct inode *inode, struct page *page, + unsigned int offset, unsigned int count) { struct nfs_page *req; int status; - req = nfs_update_request(file, inode, page, offset, count); + req = nfs_update_request(ctx, inode, page, offset, count); status = (IS_ERR(req)) ? PTR_ERR(req) : 0; if (status < 0) goto out; @@ -274,6 +277,7 @@ static int wb_priority(struct writeback_control *wbc) */ int nfs_writepage(struct page *page, struct writeback_control *wbc) { + struct nfs_open_context *ctx; struct inode *inode = page->mapping->host; unsigned long end_index; unsigned offset = PAGE_CACHE_SIZE; @@ -308,16 +312,21 @@ int nfs_writepage(struct page *page, struct writeback_control *wbc) if (page->index >= end_index+1 || !offset) goto out; do_it: + ctx = nfs_find_open_context(inode, FMODE_WRITE); + if (ctx == NULL) { + err = -EBADF; + goto out; + } lock_kernel(); if (!IS_SYNC(inode) && inode_referenced) { - err = nfs_writepage_async(NULL, inode, page, 0, offset); + err = nfs_writepage_async(ctx, inode, page, 0, offset); if (err >= 0) { err = 0; if (wbc->for_reclaim) nfs_flush_inode(inode, 0, 0, FLUSH_STABLE); } } else { - err = nfs_writepage_sync(NULL, inode, page, 0, + err = nfs_writepage_sync(ctx, inode, page, 0, offset, priority); if (err >= 0) { if (err != offset) @@ -326,6 +335,7 @@ do_it: } } unlock_kernel(); + put_nfs_open_context(ctx); out: unlock_page(page); if (inode_referenced) @@ -374,8 +384,7 @@ out: /* * Insert a write request into an inode */ -static inline int -nfs_inode_add_request(struct inode *inode, struct nfs_page *req) +static int nfs_inode_add_request(struct inode *inode, struct nfs_page *req) { struct nfs_inode *nfsi = NFS_I(inode); int error; @@ -387,33 +396,33 @@ nfs_inode_add_request(struct inode *inode, struct nfs_page *req) if (!nfsi->npages) { igrab(inode); nfs_begin_data_update(inode); + if (nfs_have_delegation(inode, FMODE_WRITE)) + nfsi->change_attr++; } nfsi->npages++; - req->wb_count++; + atomic_inc(&req->wb_count); return 0; } /* * Insert a write request into an inode */ -static void -nfs_inode_remove_request(struct nfs_page *req) +static void nfs_inode_remove_request(struct nfs_page *req) { - struct nfs_inode *nfsi; - struct inode *inode; + struct inode *inode = req->wb_context->dentry->d_inode; + struct nfs_inode *nfsi = NFS_I(inode); BUG_ON (!NFS_WBACK_BUSY(req)); - spin_lock(&nfs_wreq_lock); - inode = req->wb_inode; - nfsi = NFS_I(inode); + + spin_lock(&nfsi->req_lock); radix_tree_delete(&nfsi->nfs_page_tree, req->wb_index); nfsi->npages--; if (!nfsi->npages) { - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); nfs_end_data_update_defer(inode); iput(inode); } else - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); nfs_clear_request(req); nfs_release_request(req); } @@ -429,7 +438,7 @@ _nfs_find_request(struct inode *inode, unsigned long index) req = (struct nfs_page*)radix_tree_lookup(&nfsi->nfs_page_tree, index); if (req) - req->wb_count++; + atomic_inc(&req->wb_count); return req; } @@ -437,10 +446,11 @@ static struct nfs_page * nfs_find_request(struct inode *inode, unsigned long index) { struct nfs_page *req; + struct nfs_inode *nfsi = NFS_I(inode); - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); req = _nfs_find_request(inode, index); - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); return req; } @@ -450,13 +460,13 @@ nfs_find_request(struct inode *inode, unsigned long index) static void nfs_mark_request_dirty(struct nfs_page *req) { - struct inode *inode = req->wb_inode; + struct inode *inode = req->wb_context->dentry->d_inode; struct nfs_inode *nfsi = NFS_I(inode); - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); nfs_list_add_request(req, &nfsi->dirty); nfsi->ndirty++; - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); inc_page_state(nr_dirty); mark_inode_dirty(inode); } @@ -467,7 +477,7 @@ nfs_mark_request_dirty(struct nfs_page *req) static inline int nfs_dirty_request(struct nfs_page *req) { - struct nfs_inode *nfsi = NFS_I(req->wb_inode); + struct nfs_inode *nfsi = NFS_I(req->wb_context->dentry->d_inode); return !list_empty(&req->wb_list) && req->wb_list_head == &nfsi->dirty; } @@ -478,13 +488,13 @@ nfs_dirty_request(struct nfs_page *req) static void nfs_mark_request_commit(struct nfs_page *req) { - struct inode *inode = req->wb_inode; + struct inode *inode = req->wb_context->dentry->d_inode; struct nfs_inode *nfsi = NFS_I(inode); - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); nfs_list_add_request(req, &nfsi->commit); nfsi->ncommit++; - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); inc_page_state(nr_unstable); mark_inode_dirty(inode); } @@ -509,7 +519,7 @@ nfs_wait_on_requests(struct inode *inode, unsigned long idx_start, unsigned int else idx_end = idx_start + npages - 1; - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); next = idx_start; while (radix_tree_gang_lookup(&nfsi->nfs_page_tree, (void **)&req, next, 1)) { if (req->wb_index > idx_end) @@ -519,16 +529,16 @@ nfs_wait_on_requests(struct inode *inode, unsigned long idx_start, unsigned int if (!NFS_WBACK_BUSY(req)) continue; - req->wb_count++; - spin_unlock(&nfs_wreq_lock); + atomic_inc(&req->wb_count); + spin_unlock(&nfsi->req_lock); error = nfs_wait_on_request(req); nfs_release_request(req); if (error < 0) return error; - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); res++; } - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); return res; } @@ -619,11 +629,12 @@ static int nfs_wait_on_write_congestion(struct address_space *mapping, int intr) * * Note: Should always be called with the Page Lock held! */ -static struct nfs_page * -nfs_update_request(struct file* file, struct inode *inode, struct page *page, - unsigned int offset, unsigned int bytes) +static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx, + struct inode *inode, struct page *page, + unsigned int offset, unsigned int bytes) { struct nfs_server *server = NFS_SERVER(inode); + struct nfs_inode *nfsi = NFS_I(inode); struct nfs_page *req, *new = NULL; unsigned long rqend, end; @@ -635,19 +646,19 @@ nfs_update_request(struct file* file, struct inode *inode, struct page *page, /* Loop over all inode entries and see if we find * A request for the page we wish to update */ - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); req = _nfs_find_request(inode, page->index); if (req) { if (!nfs_lock_request_dontget(req)) { int error; - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); error = nfs_wait_on_request(req); nfs_release_request(req); if (error < 0) return ERR_PTR(error); continue; } - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); if (new) nfs_release_request(new); break; @@ -658,23 +669,19 @@ nfs_update_request(struct file* file, struct inode *inode, struct page *page, nfs_lock_request_dontget(new); error = nfs_inode_add_request(inode, new); if (error) { - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); nfs_unlock_request(new); return ERR_PTR(error); } - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); nfs_mark_request_dirty(new); return new; } - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); - new = nfs_create_request(file, inode, page, offset, bytes); + new = nfs_create_request(ctx, inode, page, offset, bytes); if (IS_ERR(new)) return new; - if (file) { - new->wb_file = file; - get_file(file); - } } /* We have a request for our page. @@ -684,7 +691,7 @@ nfs_update_request(struct file* file, struct inode *inode, struct page *page, * request. */ rqend = req->wb_offset + req->wb_bytes; - if (req->wb_file != file + if (req->wb_context != ctx || req->wb_page != page || !nfs_dirty_request(req) || offset > rqend || end < req->wb_offset) { @@ -705,9 +712,9 @@ nfs_update_request(struct file* file, struct inode *inode, struct page *page, return req; } -int -nfs_flush_incompatible(struct file *file, struct page *page) +int nfs_flush_incompatible(struct file *file, struct page *page) { + struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct inode *inode = page->mapping->host; struct nfs_page *req; int status = 0; @@ -721,7 +728,7 @@ nfs_flush_incompatible(struct file *file, struct page *page) */ req = nfs_find_request(inode, page->index); if (req) { - if (!NFS_PROTO(inode)->request_compatible(req, file, page)) + if (req->wb_page != page || ctx != req->wb_context) status = nfs_wb_page(inode, page); nfs_release_request(req); } @@ -737,6 +744,7 @@ nfs_flush_incompatible(struct file *file, struct page *page) int nfs_updatepage(struct file *file, struct page *page, unsigned int offset, unsigned int count) { + struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct dentry *dentry = file->f_dentry; struct inode *inode = page->mapping->host; struct nfs_page *req; @@ -747,7 +755,7 @@ int nfs_updatepage(struct file *file, struct page *page, count, (long long)(page_offset(page) +offset)); if (IS_SYNC(inode)) { - status = nfs_writepage_sync(file, inode, page, offset, count, 0); + status = nfs_writepage_sync(ctx, inode, page, offset, count, 0); if (status > 0) { if (offset == 0 && status == PAGE_CACHE_SIZE) SetPageUptodate(page); @@ -784,7 +792,7 @@ int nfs_updatepage(struct file *file, struct page *page, * it out now. */ do { - req = nfs_update_request(file, inode, page, offset, count); + req = nfs_update_request(ctx, inode, page, offset, count); status = (IS_ERR(req)) ? PTR_ERR(req) : 0; if (status != -EBUSY) break; @@ -860,16 +868,15 @@ static void nfs_write_rpcsetup(struct nfs_page *req, * NB: take care not to mess about with data->commit et al. */ data->req = req; - data->inode = inode = req->wb_inode; - data->cred = req->wb_cred; + data->inode = inode = req->wb_context->dentry->d_inode; + data->cred = req->wb_context->cred; data->args.fh = NFS_FH(inode); data->args.offset = req_offset(req) + offset; data->args.pgbase = req->wb_pgbase + offset; data->args.pages = data->pagevec; data->args.count = count; - data->args.lockowner = req->wb_lockowner; - data->args.state = req->wb_state; + data->args.context = req->wb_context; data->res.fattr = &data->fattr; data->res.count = count; @@ -1029,7 +1036,7 @@ nfs_flush_list(struct list_head *head, int wpages, int how) while (!list_empty(head)) { pages += nfs_coalesce_requests(head, &one_request, wpages); req = nfs_list_entry(one_request.next); - error = nfs_flush_one(&one_request, req->wb_inode, how); + error = nfs_flush_one(&one_request, req->wb_context->dentry->d_inode, how); if (error < 0) break; } @@ -1054,16 +1061,15 @@ static void nfs_writeback_done_partial(struct nfs_write_data *data, int status) struct page *page = req->wb_page; dprintk("NFS: write (%s/%Ld %d@%Ld)", - req->wb_inode->i_sb->s_id, - (long long)NFS_FILEID(req->wb_inode), + req->wb_context->dentry->d_inode->i_sb->s_id, + (long long)NFS_FILEID(req->wb_context->dentry->d_inode), req->wb_bytes, (long long)req_offset(req)); if (status < 0) { ClearPageUptodate(page); SetPageError(page); - if (req->wb_file) - req->wb_file->f_error = status; + req->wb_context->error = status; dprintk(", error = %d\n", status); } else { #if defined(CONFIG_NFS_V3) || defined(CONFIG_NFS_V4) @@ -1104,16 +1110,15 @@ static void nfs_writeback_done_full(struct nfs_write_data *data, int status) page = req->wb_page; dprintk("NFS: write (%s/%Ld %d@%Ld)", - req->wb_inode->i_sb->s_id, - (long long)NFS_FILEID(req->wb_inode), + req->wb_context->dentry->d_inode->i_sb->s_id, + (long long)NFS_FILEID(req->wb_context->dentry->d_inode), req->wb_bytes, (long long)req_offset(req)); if (status < 0) { ClearPageUptodate(page); SetPageError(page); - if (req->wb_file) - req->wb_file->f_error = status; + req->wb_context->error = status; end_page_writeback(page); nfs_inode_remove_request(req); dprintk(", error = %d\n", status); @@ -1232,7 +1237,7 @@ static void nfs_commit_rpcsetup(struct list_head *head, list_splice_init(head, &data->pages); first = nfs_list_entry(data->pages.next); last = nfs_list_entry(data->pages.prev); - inode = first->wb_inode; + inode = first->wb_context->dentry->d_inode; /* * Determine the offset range of requests in the COMMIT call. @@ -1246,7 +1251,7 @@ static void nfs_commit_rpcsetup(struct list_head *head, len = 0; data->inode = inode; - data->cred = first->wb_cred; + data->cred = first->wb_context->cred; data->args.fh = NFS_FH(data->inode); data->args.offset = start; @@ -1313,13 +1318,12 @@ nfs_commit_done(struct rpc_task *task) nfs_list_remove_request(req); dprintk("NFS: commit (%s/%Ld %d@%Ld)", - req->wb_inode->i_sb->s_id, - (long long)NFS_FILEID(req->wb_inode), + req->wb_context->dentry->d_inode->i_sb->s_id, + (long long)NFS_FILEID(req->wb_context->dentry->d_inode), req->wb_bytes, (long long)req_offset(req)); if (task->tk_status < 0) { - if (req->wb_file) - req->wb_file->f_error = task->tk_status; + req->wb_context->error = task->tk_status; nfs_inode_remove_request(req); dprintk(", error = %d\n", task->tk_status); goto next; @@ -1347,13 +1351,14 @@ nfs_commit_done(struct rpc_task *task) int nfs_flush_inode(struct inode *inode, unsigned long idx_start, unsigned int npages, int how) { + struct nfs_inode *nfsi = NFS_I(inode); LIST_HEAD(head); int res, error = 0; - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); res = nfs_scan_dirty(inode, &head, idx_start, npages); - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); if (res) error = nfs_flush_list(&head, NFS_SERVER(inode)->wpages, how); if (error < 0) @@ -1365,18 +1370,19 @@ int nfs_flush_inode(struct inode *inode, unsigned long idx_start, int nfs_commit_inode(struct inode *inode, unsigned long idx_start, unsigned int npages, int how) { + struct nfs_inode *nfsi = NFS_I(inode); LIST_HEAD(head); int res, error = 0; - spin_lock(&nfs_wreq_lock); + spin_lock(&nfsi->req_lock); res = nfs_scan_commit(inode, &head, idx_start, npages); if (res) { res += nfs_scan_commit(inode, &head, 0, 0); - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); error = nfs_commit_list(&head, how); } else - spin_unlock(&nfs_wreq_lock); + spin_unlock(&nfsi->req_lock); if (error < 0) return error; return res; diff --git a/fs/nfsd/auth.c b/fs/nfsd/auth.c index 8d35f45d9..8637b5f85 100644 --- a/fs/nfsd/auth.c +++ b/fs/nfsd/auth.c @@ -50,7 +50,7 @@ int nfsd_setuser(struct svc_rqst *rqstp, struct svc_export *exp) current->fsgid = INOXID_GID(1, cred->cr_uid, cred->cr_gid); else current->fsgid = exp->ex_anon_gid; - + current->xid = INOXID_XID(1, cred->cr_uid, cred->cr_gid, 0); if (!cred->cr_group_info) diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 3b9e865c4..ef2d84043 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c @@ -294,6 +294,11 @@ void svc_export_request(struct cache_detail *cd, qword_add(bpp, blen, exp->ex_client->name); pth = d_path(exp->ex_dentry, exp->ex_mnt, *bpp, *blen); + if (IS_ERR(pth)) { + /* is this correct? */ + (*bpp)[0] = '\n'; + return; + } qword_add(bpp, blen, pth); (*bpp)[-1] = '\n'; } @@ -504,9 +509,12 @@ exp_find_key(svc_client *clp, int fsid_type, u32 *fsidv, struct cache_req *reqp) memcpy(key.ek_fsid, fsidv, key_len(fsid_type)); ek = svc_expkey_lookup(&key, 0); - if (ek != NULL) - if ((err = cache_check(&svc_expkey_cache, &ek->h, reqp))) + if (ek != NULL) { + if ((err = cache_check(&svc_expkey_cache, &ek->h, reqp))) { + dprintk("exp_find_key: cache_check failed: %d\n", err); ek = ERR_PTR(err); + } + } return ek; } diff --git a/fs/nfsd/lockd.c b/fs/nfsd/lockd.c index 3397bec47..065f972ed 100644 --- a/fs/nfsd/lockd.c +++ b/fs/nfsd/lockd.c @@ -42,15 +42,18 @@ nlm_fopen(struct svc_rqst *rqstp, struct nfs_fh *f, struct file **filp) /* nlm and nfsd don't share error codes. * we invent: 0 = no error * 1 = stale file handle - * 2 = other error + * 2 = nfserr_dropit (or -EAGAIN) + * 3 = other error */ switch (nfserr) { case nfs_ok: return 0; case nfserr_stale: return 1; - default: + case nfserr_dropit: return 2; + default: + return 3; } } diff --git a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c index d102365fa..95a6e29f8 100644 --- a/fs/nfsd/nfs3xdr.c +++ b/fs/nfsd/nfs3xdr.c @@ -770,10 +770,16 @@ nfs3svc_encode_readdirres(struct svc_rqst *rqstp, u32 *p, /* stupid readdir cookie */ memcpy(p, resp->verf, 8); p += 2; xdr_ressize_check(rqstp, p); - p = resp->buffer; + if (rqstp->rq_res.head[0].iov_len + (2<<2) > PAGE_SIZE) + return 1; /*No room for trailer */ + rqstp->rq_res.page_len = (resp->count) << 2; + + /* add the 'tail' to the end of the 'head' page - page 0. */ + rqstp->rq_restailpage = 0; + rqstp->rq_res.tail[0].iov_base = p; *p++ = 0; /* no more entries */ *p++ = htonl(resp->common.err == nfserr_eof); - rqstp->rq_res.page_len = (resp->count + 2) << 2; + rqstp->rq_res.tail[0].iov_len = 2<<2; return 1; } else return xdr_ressize_check(rqstp, p); diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index ff8c203e0..2967d4d18 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -52,6 +52,7 @@ #include #include #include +#include #define NFSDDBG_FACILITY NFSDDBG_PROC @@ -267,7 +268,7 @@ nfsd4_putrootfh(struct svc_rqst *rqstp, struct svc_fh *current_fh) status = exp_pseudoroot(rqstp->rq_client, current_fh, &rqstp->rq_chandle); if (!status) - status = nfsd_setuser(rqstp, current_fh->fh_export); + status = nfserrno(nfsd_setuser(rqstp, current_fh->fh_export)); return status; } @@ -620,7 +621,7 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_se status = nfserr_bad_stateid; if (ZERO_STATEID(&setattr->sa_stateid) || ONE_STATEID(&setattr->sa_stateid)) { dprintk("NFSD: nfsd4_setattr: magic stateid!\n"); - return status; + goto out; } nfs4_lock_state(); @@ -628,17 +629,25 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_se &setattr->sa_stateid, CHECK_FH | RDWR_STATE, &stp))) { dprintk("NFSD: nfsd4_setattr: couldn't process stateid!\n"); - goto out; + goto out_unlock; } status = nfserr_openmode; if (!access_bits_permit_write(stp->st_access_bmap)) { dprintk("NFSD: nfsd4_setattr: not opened for write!\n"); - goto out; + goto out_unlock; } nfs4_unlock_state(); } - return (nfsd_setattr(rqstp, current_fh, &setattr->sa_iattr, 0, (time_t)0)); + status = nfs_ok; + if (setattr->sa_acl != NULL) + status = nfsd4_set_nfs4_acl(rqstp, current_fh, setattr->sa_acl); + if (status) + goto out; + status = nfsd_setattr(rqstp, current_fh, &setattr->sa_iattr, + 0, (time_t)0); out: + return status; +out_unlock: nfs4_unlock_state(); return status; } diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 0ff4425ca..1ca8ce8f6 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -236,7 +236,7 @@ static struct nfs4_client * create_client(struct xdr_netobj name) { struct nfs4_client *clp; - if(!(clp = alloc_client(name))) + if (!(clp = alloc_client(name))) goto out; INIT_LIST_HEAD(&clp->cl_idhash); INIT_LIST_HEAD(&clp->cl_strhash); @@ -268,7 +268,7 @@ copy_cred(struct svc_cred *target, struct svc_cred *source) { static int cmp_name(struct xdr_netobj *n1, struct xdr_netobj *n2) { - if(!n1 || !n2) + if (!n1 || !n2) return 0; return((n1->len == n2->len) && !memcmp(n1->data, n2->data, n2->len)); } @@ -399,7 +399,7 @@ parse_ipv4(unsigned int addr_len, char *addr_val, unsigned int *cbaddrp, unsigne return 0; } cbaddr |= (temp << shift); - if(shift > 0) + if (shift > 0) shift -= 8; } *cbaddrp = cbaddr; @@ -411,7 +411,7 @@ parse_ipv4(unsigned int addr_len, char *addr_val, unsigned int *cbaddrp, unsigne return 0; } cbport |= (temp << shift); - if(shift > 0) + if (shift > 0) shift -= 8; } *cbportp = cbport; @@ -423,7 +423,7 @@ gen_callback(struct nfs4_client *clp, struct nfsd4_setclientid *se) { struct nfs4_callback *cb = &clp->cl_callback; - if( !(parse_ipv4(se->se_callback_addr_len, se->se_callback_addr_val, + if ( !(parse_ipv4(se->se_callback_addr_len, se->se_callback_addr_val, &cb->cb_addr, &cb->cb_port))) { printk(KERN_INFO "NFSD: BAD callback address. client will not receive delegations\n"); cb->cb_parsed = 0; @@ -431,9 +431,9 @@ gen_callback(struct nfs4_client *clp, struct nfsd4_setclientid *se) } cb->cb_netid.len = se->se_callback_netid_len; cb->cb_netid.data = se->se_callback_netid_val; - cb->cb_prog = se->se_callback_prog; - cb->cb_ident = se->se_callback_ident; - cb->cb_parsed = 1; + cb->cb_prog = se->se_callback_prog; + cb->cb_ident = se->se_callback_ident; + cb->cb_parsed = 1; } /* @@ -812,7 +812,7 @@ alloc_init_file(unsigned int hashval, struct inode *ino) { alloc_file++; return fp; } - return (struct nfs4_file *)NULL; + return NULL; } static void @@ -825,7 +825,7 @@ release_all_files(void) while (!list_empty(&file_hashtbl[i])) { fp = list_entry(file_hashtbl[i].next, struct nfs4_file, fi_hash); /* this should never be more than once... */ - if(!list_empty(&fp->fi_perfile)) { + if (!list_empty(&fp->fi_perfile)) { printk("ERROR: release_all_files: file %p is open, creating dangling state !!!\n",fp); } release_file(fp); @@ -839,20 +839,20 @@ alloc_stateowner(struct xdr_netobj *owner) struct nfs4_stateowner *sop; if ((sop = kmalloc(sizeof(struct nfs4_stateowner),GFP_KERNEL))) { - if((sop->so_owner.data = kmalloc(owner->len, GFP_KERNEL))) { + if ((sop->so_owner.data = kmalloc(owner->len, GFP_KERNEL))) { memcpy(sop->so_owner.data, owner->data, owner->len); sop->so_owner.len = owner->len; return sop; } kfree(sop); } - return (struct nfs4_stateowner *)NULL; + return NULL; } /* should use a slab cache */ static void free_stateowner(struct nfs4_stateowner *sop) { - if(sop) { + if (sop) { kfree(sop->so_owner.data); kfree(sop); sop = NULL; @@ -867,7 +867,7 @@ alloc_init_open_stateowner(unsigned int strhashval, struct nfs4_client *clp, str unsigned int idhashval; if (!(sop = alloc_stateowner(&open->op_owner))) - return (struct nfs4_stateowner *)NULL; + return NULL; idhashval = ownerid_hashval(current_ownerid); INIT_LIST_HEAD(&sop->so_idhash); INIT_LIST_HEAD(&sop->so_strhash); @@ -908,7 +908,7 @@ release_stateid_lockowner(struct nfs4_stateid *open_stp) } static void -release_stateowner(struct nfs4_stateowner *sop) +unhash_stateowner(struct nfs4_stateowner *sop) { struct nfs4_stateid *stp; @@ -916,16 +916,22 @@ release_stateowner(struct nfs4_stateowner *sop) list_del(&sop->so_strhash); list_del(&sop->so_perclient); list_del(&sop->so_perlockowner); - list_del(&sop->so_close_lru); del_perclient++; while (!list_empty(&sop->so_perfilestate)) { stp = list_entry(sop->so_perfilestate.next, struct nfs4_stateid, st_perfilestate); - if(sop->so_is_open_owner) + if (sop->so_is_open_owner) release_stateid(stp, OPEN_STATE); else release_stateid(stp, LOCK_STATE); } +} + +static void +release_stateowner(struct nfs4_stateowner *sop) +{ + unhash_stateowner(sop); + list_del(&sop->so_close_lru); free_stateowner(sop); } @@ -960,14 +966,12 @@ release_stateid(struct nfs4_stateid *stp, int flags) { list_del_perfile++; list_del(&stp->st_perfile); list_del(&stp->st_perfilestate); - if((stp->st_vfs_set) && (flags & OPEN_STATE)) { + if ((stp->st_vfs_set) && (flags & OPEN_STATE)) { release_stateid_lockowner(stp); - nfsd_close(&stp->st_vfs_file); + nfsd_close(stp->st_vfs_file); vfsclose++; - dput(stp->st_vfs_file.f_dentry); - mntput(stp->st_vfs_file.f_vfsmnt); } else if ((stp->st_vfs_set) && (flags & LOCK_STATE)) { - struct file *filp = &stp->st_vfs_file; + struct file *filp = stp->st_vfs_file; locks_remove_posix(filp, (fl_owner_t) stp->st_stateowner); } @@ -988,13 +992,10 @@ void move_to_close_lru(struct nfs4_stateowner *sop) { dprintk("NFSD: move_to_close_lru nfs4_stateowner %p\n", sop); - /* remove stateowner from all other hash lists except perclient */ - list_del_init(&sop->so_idhash); - list_del_init(&sop->so_strhash); - list_del_init(&sop->so_perlockowner); - list_add_tail(&sop->so_close_lru, &close_lru); - sop->so_time = get_seconds(); + unhash_stateowner(sop); + list_add_tail(&sop->so_close_lru, &close_lru); + sop->so_time = get_seconds(); } void @@ -1032,7 +1033,7 @@ find_openstateowner_str(unsigned int hashval, struct nfsd4_open *open, struct nf struct nfs4_stateowner *local = NULL; list_for_each_entry(local, &ownerstr_hashtbl[hashval], so_strhash) { - if(!cmp_owner_str(local, &open->op_owner, &open->op_clientid)) + if (!cmp_owner_str(local, &open->op_owner, &open->op_clientid)) continue; *op = local; return(1); @@ -1080,7 +1081,7 @@ set_access(unsigned int *access, unsigned long bmap) { *access = 0; for (i = 1; i < 4; i++) { - if(test_bit(i, &bmap)) + if (test_bit(i, &bmap)) *access |= i; } } @@ -1091,7 +1092,7 @@ set_deny(unsigned int *deny, unsigned long bmap) { *deny = 0; for (i = 0; i < 4; i++) { - if(test_bit(i, &bmap)) + if (test_bit(i, &bmap)) *deny |= i ; } } @@ -1280,7 +1281,7 @@ nfsd4_process_open2(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nf /* Search for conflicting share reservations */ status = nfserr_share_denied; list_for_each_entry(stq, &fp->fi_perfile, st_perfile) { - if(stq->st_stateowner == sop) { + if (stq->st_stateowner == sop) { stp = stq; continue; } @@ -1315,8 +1316,6 @@ nfsd4_process_open2(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nf goto out_free; vfsopen++; - dget(stp->st_vfs_file.f_dentry); - mntget(stp->st_vfs_file.f_vfsmnt); init_stateid(stp, fp, sop, open); stp->st_vfs_set = 1; @@ -1331,7 +1330,7 @@ nfsd4_process_open2(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nf share_access &= open->op_share_access; /* update the struct file */ - if ((status = nfs4_file_upgrade(&stp->st_vfs_file, share_access))) + if ((status = nfs4_file_upgrade(stp->st_vfs_file, share_access))) goto out; /* remember the open */ set_bit(open->op_share_access, &stp->st_access_bmap); @@ -1460,7 +1459,8 @@ nfs4_laundromat(void) } dprintk("NFSD: purging unused open stateowner (so_id %d)\n", sop->so_id); - release_stateowner(sop); + list_del(&sop->so_close_lru); + free_stateowner(sop); } if (clientid_val < NFSD_LAUNDROMAT_MINTIMEOUT) clientid_val = NFSD_LAUNDROMAT_MINTIMEOUT; @@ -1488,7 +1488,7 @@ find_openstateowner_id(u32 st_id, int flags) { dprintk("NFSD: find_openstateowner_id %d\n", st_id); if (flags & CLOSE_STATE) { list_for_each_entry(local, &close_lru, so_close_lru) { - if(local->so_id == st_id) + if (local->so_id == st_id) return local; } } @@ -1499,7 +1499,7 @@ static inline int nfs4_check_fh(struct svc_fh *fhp, struct nfs4_stateid *stp) { return (stp->st_vfs_set == 0 || - fhp->fh_dentry->d_inode != stp->st_vfs_file.f_dentry->d_inode); + fhp->fh_dentry->d_inode != stp->st_vfs_file->f_dentry->d_inode); } static int @@ -1816,7 +1816,7 @@ nfsd4_open_downgrade(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct n goto out; } set_access(&share_access, stp->st_access_bmap); - nfs4_file_downgrade(&stp->st_vfs_file, + nfs4_file_downgrade(stp->st_vfs_file, share_access & ~od->od_share_access); reset_union_bmap_access(od->od_share_access, &stp->st_access_bmap); @@ -1892,16 +1892,16 @@ find_stateid(stateid_t *stid, int flags) if ((flags & LOCK_STATE) || (flags & RDWR_STATE)) { hashval = stateid_hashval(st_id, f_id); list_for_each_entry(local, &lockstateid_hashtbl[hashval], st_hash) { - if((local->st_stateid.si_stateownerid == st_id) && - (local->st_stateid.si_fileid == f_id)) + if ((local->st_stateid.si_stateownerid == st_id) && + (local->st_stateid.si_fileid == f_id)) return local; } } if ((flags & OPEN_STATE) || (flags & RDWR_STATE)) { hashval = stateid_hashval(st_id, f_id); list_for_each_entry(local, &stateid_hashtbl[hashval], st_hash) { - if((local->st_stateid.si_stateownerid == st_id) && - (local->st_stateid.si_fileid == f_id)) + if ((local->st_stateid.si_stateownerid == st_id) && + (local->st_stateid.si_fileid == f_id)) return local; } } else @@ -1950,9 +1950,10 @@ static inline void nfs4_set_lock_denied(struct file_lock *fl, struct nfsd4_lock_denied *deny) { struct nfs4_stateowner *sop = (struct nfs4_stateowner *) fl->fl_owner; + unsigned int hval = lockownerid_hashval(sop->so_id); deny->ld_sop = NULL; - if (nfs4_verify_lock_stateowner(sop, fl->fl_pid)) + if (nfs4_verify_lock_stateowner(sop, hval)) deny->ld_sop = sop; deny->ld_start = fl->fl_start; deny->ld_length = ~(u64)0; @@ -1971,7 +1972,7 @@ find_lockstateowner(struct xdr_netobj *owner, clientid_t *clid) for (i = 0; i < LOCK_HASH_SIZE; i++) { list_for_each_entry(local, &lock_ownerid_hashtbl[i], so_idhash) { - if(!cmp_owner_str(local, owner, clid)) + if (!cmp_owner_str(local, owner, clid)) continue; return local; } @@ -1984,7 +1985,7 @@ find_lockstateowner_str(unsigned int hashval, struct xdr_netobj *owner, clientid struct nfs4_stateowner *local = NULL; list_for_each_entry(local, &lock_ownerstr_hashtbl[hashval], so_strhash) { - if(!cmp_owner_str(local, owner, clid)) + if (!cmp_owner_str(local, owner, clid)) continue; *op = local; return(1); @@ -2009,7 +2010,7 @@ alloc_init_lock_stateowner(unsigned int strhashval, struct nfs4_client *clp, str unsigned int idhashval; if (!(sop = alloc_stateowner(&lock->lk_new_owner))) - return (struct nfs4_stateowner *)NULL; + return NULL; idhashval = lockownerid_hashval(current_ownerid); INIT_LIST_HEAD(&sop->so_idhash); INIT_LIST_HEAD(&sop->so_strhash); @@ -2059,7 +2060,7 @@ alloc_init_lock_stateid(struct nfs4_stateowner *sop, struct nfs4_file *fp, struc stp->st_stateid.si_stateownerid = sop->so_id; stp->st_stateid.si_fileid = fp->fi_id; stp->st_stateid.si_generation = 0; - stp->st_vfs_file = open_stp->st_vfs_file; + stp->st_vfs_file = open_stp->st_vfs_file; /* FIXME refcount?? */ stp->st_vfs_set = open_stp->st_vfs_set; stp->st_access_bmap = open_stp->st_access_bmap; stp->st_deny_bmap = open_stp->st_deny_bmap; @@ -2072,7 +2073,7 @@ int check_lock_length(u64 offset, u64 length) { return ((length == 0) || ((length != ~(u64)0) && - LOFF_OVERFLOW(offset, length))); + LOFF_OVERFLOW(offset, length))); } /* @@ -2157,8 +2158,10 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock if (!(lock->lk_stateowner = alloc_init_lock_stateowner(strhashval, open_sop->so_client, open_stp, lock))) goto out; if ((lock_stp = alloc_init_lock_stateid(lock->lk_stateowner, - fp, open_stp)) == NULL) + fp, open_stp)) == NULL) { + release_stateowner(lock->lk_stateowner); goto out; + } /* bump the open seqid used to create the lock */ open_sop->so_seqid++; } else { @@ -2172,13 +2175,14 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock goto out; } /* lock->lk_stateowner and lock_stp have been created or found */ - filp = &lock_stp->st_vfs_file; + filp = lock_stp->st_vfs_file; if ((status = fh_verify(rqstp, current_fh, S_IFREG, MAY_LOCK))) { printk("NFSD: nfsd4_lock: permission denied!\n"); goto out; } + locks_init_lock(&file_lock); switch (lock->lk_type) { case NFS4_READ_LT: case NFS4_READW_LT: @@ -2193,12 +2197,9 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock goto out; } file_lock.fl_owner = (fl_owner_t) lock->lk_stateowner; - file_lock.fl_pid = lockownerid_hashval(lock->lk_stateowner->so_id); + file_lock.fl_pid = current->tgid; file_lock.fl_file = filp; file_lock.fl_flags = FL_POSIX; - file_lock.fl_notify = NULL; - file_lock.fl_insert = NULL; - file_lock.fl_remove = NULL; file_lock.fl_start = lock->lk_offset; if ((lock->lk_length == ~(u64)0) || @@ -2214,7 +2215,9 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock */ status = posix_lock_file(filp, &file_lock); - dprintk("NFSD: nfsd4_lock: posix_test_lock passed. posix_lock_file status %d\n",status); + if (file_lock.fl_ops && file_lock.fl_ops->fl_release_private) + file_lock.fl_ops->fl_release_private(&file_lock); + dprintk("NFSD: nfsd4_lock: posix_lock_file status %d\n",status); switch (-status) { case 0: /* success! */ update_stateid(&lock_stp->st_stateid); @@ -2265,7 +2268,6 @@ int nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lockt *lockt) { struct inode *inode; - struct nfs4_stateowner *sop; struct file file; struct file_lock file_lock; struct file_lock *conflicting_lock; @@ -2295,6 +2297,7 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock } inode = current_fh->fh_dentry->d_inode; + locks_init_lock(&file_lock); switch (lockt->lt_type) { case NFS4_READ_LT: case NFS4_READW_LT: @@ -2316,14 +2319,9 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock find_lockstateowner_str(strhashval, &lockt->lt_owner, &lockt->lt_clientid, &lockt->lt_stateowner); - sop = lockt->lt_stateowner; - if (sop) { - file_lock.fl_owner = (fl_owner_t) sop; - file_lock.fl_pid = lockownerid_hashval(sop->so_id); - } else { - file_lock.fl_owner = NULL; - file_lock.fl_pid = 0; - } + if (lockt->lt_stateowner) + file_lock.fl_owner = (fl_owner_t)lockt->lt_stateowner; + file_lock.fl_pid = current->tgid; file_lock.fl_flags = FL_POSIX; file_lock.fl_start = lockt->lt_offset; @@ -2378,16 +2376,14 @@ nfsd4_locku(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock &locku->lu_stateowner, &stp, NULL))) goto out; - filp = &stp->st_vfs_file; + filp = stp->st_vfs_file; BUG_ON(!filp); + locks_init_lock(&file_lock); file_lock.fl_type = F_UNLCK; file_lock.fl_owner = (fl_owner_t) locku->lu_stateowner; - file_lock.fl_pid = lockownerid_hashval(locku->lu_stateowner->so_id); + file_lock.fl_pid = current->tgid; file_lock.fl_file = filp; file_lock.fl_flags = FL_POSIX; - file_lock.fl_notify = NULL; - file_lock.fl_insert = NULL; - file_lock.fl_remove = NULL; file_lock.fl_start = locku->lu_offset; if ((locku->lu_length == ~(u64)0) || LOFF_OVERFLOW(locku->lu_offset, locku->lu_length)) @@ -2400,6 +2396,8 @@ nfsd4_locku(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock * Try to unlock the file in the VFS. */ status = posix_lock_file(filp, &file_lock); + if (file_lock.fl_ops && file_lock.fl_ops->fl_release_private) + file_lock.fl_ops->fl_release_private(&file_lock); if (status) { printk("NFSD: nfs4_locku: posix_lock_file failed!\n"); goto out_nfserr; @@ -2462,7 +2460,7 @@ nfsd4_release_lockowner(struct svc_rqst *rqstp, struct nfsd4_release_lockowner * nfs4_lock_state(); - status = nfs_ok; + status = nfs_ok; local = find_lockstateowner(owner, clid); if (local) { struct nfs4_stateid *stp; @@ -2472,8 +2470,8 @@ nfsd4_release_lockowner(struct svc_rqst *rqstp, struct nfsd4_release_lockowner * status = nfserr_locks_held; list_for_each_entry(stp, &local->so_perfilestate, st_perfilestate) { - if(stp->st_vfs_set) { - if (check_for_locks(&stp->st_vfs_file, local)) + if (stp->st_vfs_set) { + if (check_for_locks(stp->st_vfs_file, local)) goto out; } } @@ -2499,7 +2497,7 @@ alloc_reclaim(int namelen) kfree(crp); return NULL; } - return crp; + return crp; } /* @@ -2569,7 +2567,7 @@ nfs4_find_reclaim_client(clientid_t *clid) strhashval = clientstr_hashval(client->cl_name.data, client->cl_name.len); list_for_each_entry(crp, &reclaim_str_hashtbl[strhashval], cr_strhash) { - if(cmp_name(&crp->cr_name, &client->cl_name)) { + if (cmp_name(&crp->cr_name, &client->cl_name)) { return crp; } } diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index e95b02a70..25f8c11d9 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c @@ -55,6 +55,8 @@ #include #include #include +#include +#include #include #define NFSDDBG_FACILITY NFSDDBG_XDR @@ -349,7 +351,8 @@ nfsd4_decode_bitmap(struct nfsd4_compoundargs *argp, u32 *bmval) } static int -nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, struct iattr *iattr) +nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, struct iattr *iattr, + struct nfs4_acl **acl) { int expected_len, len = 0; u32 dummy32; @@ -378,6 +381,51 @@ nfsd4_decode_fattr(struct nfsd4_compoundargs *argp, u32 *bmval, struct iattr *ia READ64(iattr->ia_size); iattr->ia_valid |= ATTR_SIZE; } + if (bmval[0] & FATTR4_WORD0_ACL) { + int nace, i; + struct nfs4_ace ace; + + READ_BUF(4); len += 4; + READ32(nace); + + *acl = nfs4_acl_new(); + if (*acl == NULL) { + status = -ENOMEM; + goto out_nfserr; + } + defer_free(argp, (void (*)(const void *))nfs4_acl_free, *acl); + + for (i = 0; i < nace; i++) { + READ_BUF(16); len += 16; + READ32(ace.type); + READ32(ace.flag); + READ32(ace.access_mask); + READ32(dummy32); + READ_BUF(dummy32); + len += XDR_QUADLEN(dummy32) << 2; + READMEM(buf, dummy32); + if (check_utf8(buf, dummy32)) + return nfserr_inval; + ace.whotype = nfs4_acl_get_whotype(buf, dummy32); + status = 0; + if (ace.whotype != NFS4_ACL_WHO_NAMED) + ace.who = 0; + else if (ace.flag & NFS4_ACE_IDENTIFIER_GROUP) + status = nfsd_map_name_to_gid(argp->rqstp, + buf, dummy32, &ace.who); + else + status = nfsd_map_name_to_uid(argp->rqstp, + buf, dummy32, &ace.who); + if (status) + goto out_nfserr; + if (nfs4_acl_add_ace(*acl, ace.type, ace.flag, + ace.access_mask, ace.whotype, ace.who) != 0) { + status = -ENOMEM; + goto out_nfserr; + } + } + } else + *acl = NULL; if (bmval[1] & FATTR4_WORD1_MODE) { READ_BUF(4); len += 4; @@ -563,7 +611,7 @@ nfsd4_decode_create(struct nfsd4_compoundargs *argp, struct nfsd4_create *create if ((status = check_filename(create->cr_name, create->cr_namelen, nfserr_inval))) return status; - if ((status = nfsd4_decode_fattr(argp, create->cr_bmval, &create->cr_iattr))) + if ((status = nfsd4_decode_fattr(argp, create->cr_bmval, &create->cr_iattr, &create->cr_acl))) goto out; DECODE_TAIL; @@ -712,7 +760,7 @@ nfsd4_decode_open(struct nfsd4_compoundargs *argp, struct nfsd4_open *open) switch (open->op_createmode) { case NFS4_CREATE_UNCHECKED: case NFS4_CREATE_GUARDED: - if ((status = nfsd4_decode_fattr(argp, open->op_bmval, &open->op_iattr))) + if ((status = nfsd4_decode_fattr(argp, open->op_bmval, &open->op_iattr, &open->op_acl))) goto out; break; case NFS4_CREATE_EXCLUSIVE: @@ -889,7 +937,7 @@ nfsd4_decode_setattr(struct nfsd4_compoundargs *argp, struct nfsd4_setattr *seta READ_BUF(sizeof(stateid_t)); READ32(setattr->sa_stateid.si_generation); COPYMEM(&setattr->sa_stateid.si_opaque, sizeof(stateid_opaque_t)); - if ((status = nfsd4_decode_fattr(argp, setattr->sa_bmval, &setattr->sa_iattr))) + if ((status = nfsd4_decode_fattr(argp, setattr->sa_bmval, &setattr->sa_iattr, &setattr->sa_acl))) goto out; DECODE_TAIL; @@ -1303,14 +1351,16 @@ static u32 nfs4_ftypes[16] = { }; static int -nfsd4_encode_name(struct svc_rqst *rqstp, int group, uid_t id, +nfsd4_encode_name(struct svc_rqst *rqstp, int whotype, uid_t id, int group, u32 **p, int *buflen) { int status; if (*buflen < (XDR_QUADLEN(IDMAP_NAMESZ) << 2) + 4) return nfserr_resource; - if (group) + if (whotype != NFS4_ACL_WHO_NAMED) + status = nfs4_acl_write_who(whotype, (u8 *)(*p + 1)); + else if (group) status = nfsd_map_gid_to_name(rqstp, id, (u8 *)(*p + 1)); else status = nfsd_map_uid_to_name(rqstp, id, (u8 *)(*p + 1)); @@ -1325,13 +1375,20 @@ nfsd4_encode_name(struct svc_rqst *rqstp, int group, uid_t id, static inline int nfsd4_encode_user(struct svc_rqst *rqstp, uid_t uid, u32 **p, int *buflen) { - return nfsd4_encode_name(rqstp, uid, 0, p, buflen); + return nfsd4_encode_name(rqstp, NFS4_ACL_WHO_NAMED, uid, 0, p, buflen); } static inline int nfsd4_encode_group(struct svc_rqst *rqstp, uid_t gid, u32 **p, int *buflen) { - return nfsd4_encode_name(rqstp, gid, 1, p, buflen); + return nfsd4_encode_name(rqstp, NFS4_ACL_WHO_NAMED, gid, 1, p, buflen); +} + +static inline int +nfsd4_encode_aclname(struct svc_rqst *rqstp, int whotype, uid_t id, int group, + u32 **p, int *buflen) +{ + return nfsd4_encode_name(rqstp, whotype, id, group, p, buflen); } @@ -1358,6 +1415,8 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, u64 dummy64; u32 *p = buffer; int status; + int aclsupport = 0; + struct nfs4_acl *acl = NULL; BUG_ON(bmval1 & NFSD_WRITEONLY_ATTRS_WORD1); BUG_ON(bmval0 & ~NFSD_SUPPORTED_ATTRS_WORD0); @@ -1380,6 +1439,17 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, goto out; fhp = &tempfh; } + if (bmval0 & (FATTR4_WORD0_ACL | FATTR4_WORD0_ACLSUPPORT + | FATTR4_WORD0_SUPPORTED_ATTRS)) { + status = nfsd4_get_nfs4_acl(rqstp, dentry, &acl); + aclsupport = (status == 0); + if (bmval0 & FATTR4_WORD0_ACL) { + if (status == -EOPNOTSUPP) + bmval0 &= ~FATTR4_WORD0_ACL; + else if (status != 0) + goto out_nfserr; + } + } if ((buflen -= 16) < 0) goto out_resource; @@ -1392,7 +1462,9 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, if ((buflen -= 12) < 0) goto out_resource; WRITE32(2); - WRITE32(NFSD_SUPPORTED_ATTRS_WORD0); + WRITE32(aclsupport ? + NFSD_SUPPORTED_ATTRS_WORD0 : + NFSD_SUPPORTED_ATTRS_WORD0 & ~FATTR4_WORD0_ACL); WRITE32(NFSD_SUPPORTED_ATTRS_WORD1); } if (bmval0 & FATTR4_WORD0_TYPE) { @@ -1463,10 +1535,44 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, goto out_resource; WRITE32(0); } + if (bmval0 & FATTR4_WORD0_ACL) { + struct nfs4_ace *ace; + struct list_head *h; + + if (acl == NULL) { + if ((buflen -= 4) < 0) + goto out_resource; + + WRITE32(0); + goto out_acl; + } + if ((buflen -= 4) < 0) + goto out_resource; + WRITE32(acl->naces); + + list_for_each(h, &acl->ace_head) { + ace = list_entry(h, struct nfs4_ace, l_ace); + + if ((buflen -= 4*3) < 0) + goto out_resource; + WRITE32(ace->type); + WRITE32(ace->flag); + WRITE32(ace->access_mask & NFS4_ACE_MASK_ALL); + status = nfsd4_encode_aclname(rqstp, ace->whotype, + ace->who, ace->flag & NFS4_ACE_IDENTIFIER_GROUP, + &p, &buflen); + if (status == nfserr_resource) + goto out_resource; + if (status) + goto out; + } + } +out_acl: if (bmval0 & FATTR4_WORD0_ACLSUPPORT) { if ((buflen -= 4) < 0) goto out_resource; - WRITE32(0); + WRITE32(aclsupport ? + ACL4_SUPPORT_ALLOW_ACL|ACL4_SUPPORT_DENY_ACL : 0); } if (bmval0 & FATTR4_WORD0_CANSETTIME) { if ((buflen -= 4) < 0) @@ -1653,6 +1759,7 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp, status = nfs_ok; out: + nfs4_acl_free(acl); if (fhp == &tempfh) fh_put(&tempfh); return status; @@ -1893,13 +2000,18 @@ nfsd4_encode_lock_denied(struct nfsd4_compoundres *resp, struct nfsd4_lock_denie { ENCODE_HEAD; - RESERVE_SPACE(32 + XDR_LEN(ld->ld_sop->so_owner.len)); + RESERVE_SPACE(32 + XDR_LEN(ld->ld_sop ? ld->ld_sop->so_owner.len : 0)); WRITE64(ld->ld_start); WRITE64(ld->ld_length); WRITE32(ld->ld_type); - WRITEMEM(&ld->ld_sop->so_client->cl_clientid, 8); - WRITE32(ld->ld_sop->so_owner.len); - WRITEMEM(ld->ld_sop->so_owner.data, ld->ld_sop->so_owner.len); + if (ld->ld_sop) { + WRITEMEM(&ld->ld_sop->so_client->cl_clientid, 8); + WRITE32(ld->ld_sop->so_owner.len); + WRITEMEM(ld->ld_sop->so_owner.data, ld->ld_sop->so_owner.len); + } else { /* non - nfsv4 lock in conflict, no clientid nor owner */ + WRITE64((u64)0); /* clientid */ + WRITE32(0); /* length of owner name */ + } ADJUST_ARGS(); } diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index 9c9399258..161afdcb8 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -80,101 +80,31 @@ static ssize_t (*write_op[])(struct file *, char *, size_t) = { [NFSD_Leasetime] = write_leasetime, }; -/* an argresp is stored in an allocated page and holds the - * size of the argument or response, along with its content - */ -struct argresp { - ssize_t size; - char data[0]; -}; - -/* - * transaction based IO methods. - * The file expects a single write which triggers the transaction, and then - * possibly a read which collects the result - which is stored in a - * file-local buffer. - */ -static ssize_t TA_write(struct file *file, const char __user *buf, size_t size, loff_t *pos) +static ssize_t nfsctl_transaction_write(struct file *file, const char __user *buf, size_t size, loff_t *pos) { ino_t ino = file->f_dentry->d_inode->i_ino; - struct argresp *ar; - ssize_t rv = 0; + char *data; + ssize_t rv; if (ino >= sizeof(write_op)/sizeof(write_op[0]) || !write_op[ino]) return -EINVAL; - if (file->private_data) - return -EINVAL; /* only one write allowed per open */ - if (size > PAGE_SIZE - sizeof(struct argresp)) - return -EFBIG; - ar = kmalloc(PAGE_SIZE, GFP_KERNEL); - if (!ar) - return -ENOMEM; - ar->size = 0; - down(&file->f_dentry->d_inode->i_sem); - if (file->private_data) - rv = -EINVAL; - else - file->private_data = ar; - up(&file->f_dentry->d_inode->i_sem); - if (rv) { - kfree(ar); - return rv; - } - if (copy_from_user(ar->data, buf, size)) - return -EFAULT; - - rv = write_op[ino](file, ar->data, size); + data = simple_transaction_get(file, buf, size); + if (IS_ERR(data)) + return PTR_ERR(data); + + rv = write_op[ino](file, data, size); if (rv>0) { - ar->size = rv; + simple_transaction_set(file, rv); rv = size; } return rv; } - -static ssize_t TA_read(struct file *file, char __user *buf, size_t size, loff_t *pos) -{ - struct argresp *ar; - ssize_t rv = 0; - - if (file->private_data == NULL) - rv = TA_write(file, buf, 0, pos); - if (rv < 0) - return rv; - - ar = file->private_data; - if (!ar) - return 0; - if (*pos >= ar->size) - return 0; - if (*pos + size > ar->size) - size = ar->size - *pos; - if (copy_to_user(buf, ar->data + *pos, size)) - return -EFAULT; - *pos += size; - return size; -} - -static int TA_open(struct inode *inode, struct file *file) -{ - file->private_data = NULL; - return 0; -} - -static int TA_release(struct inode *inode, struct file *file) -{ - void *p = file->private_data; - file->private_data = NULL; - kfree(p); - return 0; -} - static struct file_operations transaction_ops = { - .write = TA_write, - .read = TA_read, - .open = TA_open, - .release = TA_release, + .write = nfsctl_transaction_write, + .read = simple_transaction_read, + .release = simple_transaction_release, }; extern struct seq_operations nfs_exports_op; @@ -366,7 +296,7 @@ static ssize_t write_filehandle(struct file *file, char *buf, size_t size) if (len) return len; - mesg = buf; len = PAGE_SIZE-sizeof(struct argresp); + mesg = buf; len = SIMPLE_TRANSACTION_LIMIT; qword_addhex(&mesg, &len, (char*)&fh.fh_base, fh.fh_size); mesg[-1] = '\n'; return mesg - buf; diff --git a/fs/nfsd/nfsfh.c b/fs/nfsd/nfsfh.c index 8e8c2342b..077ff8413 100644 --- a/fs/nfsd/nfsfh.c +++ b/fs/nfsd/nfsfh.c @@ -142,19 +142,21 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access) } error = nfserr_dropit; - if (IS_ERR(exp) && PTR_ERR(exp) == -EAGAIN) + if (IS_ERR(exp) && PTR_ERR(exp) == -EAGAIN) { + dprintk("nfsd: fh_verify failed: nfserr_dropit\n"); goto out; - + } error = nfserr_stale; - if (!exp || IS_ERR(exp)) + if (!exp || IS_ERR(exp)) { + dprintk("nfsd: fh_verify failed: nfserr_stale\n"); goto out; - + } /* Check if the request originated from a secure port. */ error = nfserr_perm; if (!rqstp->rq_secure && EX_SECURE(exp)) { printk(KERN_WARNING - "nfsd: request from insecure port (%08x:%d)!\n", - ntohl(rqstp->rq_addr.sin_addr.s_addr), + "nfsd: request from insecure port (%u.%u.%u.%u:%d)!\n", + NIPQUAD(rqstp->rq_addr.sin_addr.s_addr), ntohs(rqstp->rq_addr.sin_port)); goto out; } @@ -162,6 +164,7 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access) /* Set user creds for this exportpoint */ error = nfsd_setuser(rqstp, exp); if (error) { + dprintk("nfsd: nfsd_setuser failed: %d\n", error); error = nfserrno(error); goto out; } @@ -190,14 +193,15 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access) dentry = dget(exp->ex_dentry); else { struct export_operations *nop = exp->ex_mnt->mnt_sb->s_export_op; - dentry = CALL(nop,decode_fh)(exp->ex_mnt->mnt_sb, - datap, data_left, - fileid_type, - nfsd_acceptable, exp); + dentry = CALL(nop,decode_fh)(exp->ex_mnt->mnt_sb, + datap, data_left, + fileid_type, + nfsd_acceptable, exp); } if (dentry == NULL) goto out; if (IS_ERR(dentry)) { + dprintk("nfsd: CALL(nop,decode_fh) failed: %ld\n", PTR_ERR(dentry)); if (PTR_ERR(dentry) != -EINVAL) error = nfserrno(PTR_ERR(dentry)); goto out; @@ -243,6 +247,7 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access) error = nfserr_isdir; else error = nfserr_inval; + dprintk("nfsd: bad type: %d\n", ntohl(error)); goto out; } if (type < 0 && (inode->i_mode & S_IFMT) == -type) { @@ -252,6 +257,7 @@ fh_verify(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, int access) error = nfserr_isdir; else error = nfserr_notdir; + dprintk("nfsd: bad type2: %d\n", ntohl(error)); goto out; } @@ -339,13 +345,16 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, st ref_fh_fsid_type = ref_fh->fh_handle.fh_fsid_type; if (ref_fh_fsid_type > 3) ref_fh_fsid_type = 0; - } - /* make sure ref_fh type works for given export */ - if (ref_fh_fsid_type == 1 && - !(exp->ex_flags & NFSEXP_FSID)) { - /* if we don't have an fsid, we cannot provide one... */ - ref_fh_fsid_type = 0; - } + + /* make sure ref_fh type works for given export */ + if (ref_fh_fsid_type == 1 && + !(exp->ex_flags & NFSEXP_FSID)) { + /* if we don't have an fsid, we cannot provide one... */ + ref_fh_fsid_type = 0; + } + } else if (exp->ex_flags & NFSEXP_FSID) + ref_fh_fsid_type = 1; + if (!old_valid_dev(ex_dev) && ref_fh_fsid_type == 0) { /* for newer device numbers, we must use a newer fsid format */ ref_fh_version = 1; diff --git a/fs/nfsd/nfsproc.c b/fs/nfsd/nfsproc.c index d34a59d28..52044f294 100644 --- a/fs/nfsd/nfsproc.c +++ b/fs/nfsd/nfsproc.c @@ -128,8 +128,8 @@ nfsd_proc_read(struct svc_rqst *rqstp, struct nfsd_readargs *argp, if (NFSSVC_MAXBLKSIZE < argp->count) { printk(KERN_NOTICE - "oversized read request from %08x:%d (%d bytes)\n", - ntohl(rqstp->rq_addr.sin_addr.s_addr), + "oversized read request from %u.%u.%u.%u:%d (%d bytes)\n", + NIPQUAD(rqstp->rq_addr.sin_addr.s_addr), ntohs(rqstp->rq_addr.sin_port), argp->count); argp->count = NFSSVC_MAXBLKSIZE; @@ -586,6 +586,7 @@ nfserrno (int errno) { nfserr_dquot, -EDQUOT }, #endif { nfserr_stale, -ESTALE }, + { nfserr_jukebox, -EWOULDBLOCK }, { nfserr_jukebox, -ETIMEDOUT }, { nfserr_dropit, -EAGAIN }, { nfserr_dropit, -ENOMEM }, diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 6ad7bc709..2e6315b05 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -44,6 +45,16 @@ #include #include #include +#ifdef CONFIG_NFSD_V4 +#include +#include +#include +#include +#include +#include +#include +#include +#endif /* CONFIG_NFSD_V4 */ #include @@ -69,6 +80,7 @@ struct raparms { unsigned int p_count; ino_t p_ino; dev_t p_dev; + int p_set; struct file_ra_state p_ra; }; @@ -291,8 +303,8 @@ nfsd_setattr(struct svc_rqst *rqstp, struct svc_fh *fhp, struct iattr *iap, * If we are changing the size of the file, then * we need to break all leases. */ - err = break_lease(inode, FMODE_WRITE); - if (err) + err = break_lease(inode, FMODE_WRITE | O_NONBLOCK); + if (err) /* ENOMEM or EWOULDBLOCK */ goto out_nfserr; err = get_write_access(inode); @@ -344,6 +356,187 @@ out_nfserr: goto out; } +#if defined(CONFIG_NFSD_V4) + +static int +set_nfsv4_acl_one(struct dentry *dentry, struct posix_acl *pacl, char *key) +{ + int len; + size_t buflen; + char *buf = NULL; + int error = 0; + struct inode *inode = dentry->d_inode; + + buflen = posix_acl_xattr_size(pacl->a_count); + buf = kmalloc(buflen, GFP_KERNEL); + error = -ENOMEM; + if (buf == NULL) + goto out; + + len = posix_acl_to_xattr(pacl, buf, buflen); + if (len < 0) { + error = len; + goto out; + } + + error = -EOPNOTSUPP; + if (inode->i_op && inode->i_op->setxattr) { + down(&inode->i_sem); + security_inode_setxattr(dentry, key, buf, len, 0); + error = inode->i_op->setxattr(dentry, key, buf, len, 0); + if (!error) + security_inode_post_setxattr(dentry, key, buf, len, 0); + up(&inode->i_sem); + } +out: + kfree(buf); + return (error); +} + +int +nfsd4_set_nfs4_acl(struct svc_rqst *rqstp, struct svc_fh *fhp, + struct nfs4_acl *acl) +{ + int error; + struct dentry *dentry; + struct inode *inode; + struct posix_acl *pacl = NULL, *dpacl = NULL; + unsigned int flags = 0; + + /* Get inode */ + error = fh_verify(rqstp, fhp, 0 /* S_IFREG */, MAY_SATTR); + if (error) + goto out; + + dentry = fhp->fh_dentry; + inode = dentry->d_inode; + if (S_ISDIR(inode->i_mode)) + flags = NFS4_ACL_DIR; + + error = nfs4_acl_nfsv4_to_posix(acl, &pacl, &dpacl, flags); + if (error < 0) + goto out_nfserr; + + if (pacl) { + error = set_nfsv4_acl_one(dentry, pacl, XATTR_NAME_ACL_ACCESS); + if (error < 0) + goto out_nfserr; + } + + if (dpacl) { + error = set_nfsv4_acl_one(dentry, dpacl, XATTR_NAME_ACL_DEFAULT); + if (error < 0) + goto out_nfserr; + } + + error = nfs_ok; + +out: + posix_acl_release(pacl); + posix_acl_release(dpacl); + return (error); +out_nfserr: + error = nfserrno(error); + goto out; +} + +static struct posix_acl * +_get_posix_acl(struct dentry *dentry, char *key) +{ + struct inode *inode = dentry->d_inode; + char *buf = NULL; + int buflen, error = 0; + struct posix_acl *pacl = NULL; + + down(&inode->i_sem); + + error = -EOPNOTSUPP; + if (inode->i_op == NULL) + goto out_sem; + if (inode->i_op->getxattr == NULL) + goto out_sem; + + error = security_inode_getxattr(dentry, key); + if (error) + goto out_sem; + + buflen = inode->i_op->getxattr(dentry, key, NULL, 0); + if (buflen <= 0) { + error = buflen < 0 ? buflen : -ENODATA; + goto out_sem; + } + + buf = kmalloc(buflen, GFP_KERNEL); + if (buf == NULL) { + error = -ENOMEM; + goto out_sem; + } + + error = -EOPNOTSUPP; + if (inode->i_op && inode->i_op->getxattr) { + error = security_inode_getxattr(dentry, key); + if (error) + goto out_sem; + error = inode->i_op->getxattr(dentry, key, buf, buflen); + } + if (error < 0) + goto out_sem; + + error = 0; + up(&inode->i_sem); + + pacl = posix_acl_from_xattr(buf, buflen); + out: + kfree(buf); + return pacl; + out_sem: + up(&inode->i_sem); + pacl = ERR_PTR(error); + goto out; +} + +int +nfsd4_get_nfs4_acl(struct svc_rqst *rqstp, struct dentry *dentry, struct nfs4_acl **acl) +{ + struct inode *inode = dentry->d_inode; + int error = 0; + struct posix_acl *pacl = NULL, *dpacl = NULL; + unsigned int flags = 0; + + pacl = _get_posix_acl(dentry, XATTR_NAME_ACL_ACCESS); + if (IS_ERR(pacl) && PTR_ERR(pacl) == -ENODATA) + pacl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL); + if (IS_ERR(pacl)) { + error = PTR_ERR(pacl); + pacl = NULL; + goto out; + } + + if (S_ISDIR(inode->i_mode)) { + dpacl = _get_posix_acl(dentry, XATTR_NAME_ACL_DEFAULT); + if (IS_ERR(dpacl) && PTR_ERR(dpacl) == -ENODATA) + dpacl = NULL; + else if (IS_ERR(dpacl)) { + error = PTR_ERR(dpacl); + dpacl = NULL; + goto out; + } + flags = NFS4_ACL_DIR; + } + + *acl = nfs4_acl_posix_to_nfsv4(pacl, dpacl, flags); + if (IS_ERR(*acl)) { + error = PTR_ERR(*acl); + *acl = NULL; + } + out: + posix_acl_release(pacl); + posix_acl_release(dpacl); + return error; +} + +#endif /* defined(CONFIG_NFS_V4) */ + #ifdef CONFIG_NFSD_V3 /* * Check server access rights to a file system object @@ -376,12 +569,13 @@ static struct accessmap nfs3_anyaccess[] = { * to the server to check for access for things like /dev/null * (which really, the server doesn't care about). So * We provide simple access checking for them, looking - * mainly at mode bits + * mainly at mode bits, and we make sure to ignore read-only + * filesystem checks */ { NFS3_ACCESS_READ, MAY_READ }, { NFS3_ACCESS_EXECUTE, MAY_EXEC }, - { NFS3_ACCESS_MODIFY, MAY_WRITE }, - { NFS3_ACCESS_EXTEND, MAY_WRITE }, + { NFS3_ACCESS_MODIFY, MAY_WRITE|MAY_LOCAL_ACCESS }, + { NFS3_ACCESS_EXTEND, MAY_WRITE|MAY_LOCAL_ACCESS }, { 0, 0 } }; @@ -454,7 +648,7 @@ nfsd_access(struct svc_rqst *rqstp, struct svc_fh *fhp, u32 *access, u32 *suppor */ int nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, - int access, struct file *filp) + int access, struct file **filp) { struct dentry *dentry; struct inode *inode; @@ -485,26 +679,18 @@ nfsd_open(struct svc_rqst *rqstp, struct svc_fh *fhp, int type, * Check to see if there are any leases on this file. * This may block while leases are broken. */ - err = break_lease(inode, (access & MAY_WRITE) ? FMODE_WRITE : 0); - if (err) + err = break_lease(inode, O_NONBLOCK | ((access & MAY_WRITE) ? FMODE_WRITE : 0)); + if (err) /* NOMEM or WOULDBLOCK */ goto out_nfserr; if (access & MAY_WRITE) { - err = get_write_access(inode); - if (err) - goto out_nfserr; - flags = O_WRONLY|O_LARGEFILE; DQUOT_INIT(inode); } - - err = open_private_file(filp, dentry, flags); - if (!err) { - filp->f_vfsmnt = fhp->fh_export->ex_mnt; - } else if (access & MAY_WRITE) - put_write_access(inode); - + *filp = dentry_open(dget(dentry), mntget(fhp->fh_export->ex_mnt), flags); + if (IS_ERR(*filp)) + err = PTR_ERR(*filp); out_nfserr: if (err) err = nfserrno(err); @@ -518,12 +704,7 @@ out: void nfsd_close(struct file *filp) { - struct dentry *dentry = filp->f_dentry; - struct inode *inode = dentry->d_inode; - - close_private_file(filp); - if (filp->f_mode & FMODE_WRITE) - put_write_access(inode); + fput(filp); } /* @@ -567,7 +748,7 @@ nfsd_sync_dir(struct dentry *dp) static spinlock_t ra_lock = SPIN_LOCK_UNLOCKED; static inline struct raparms * -nfsd_get_raparms(dev_t dev, ino_t ino, struct address_space *mapping) +nfsd_get_raparms(dev_t dev, ino_t ino) { struct raparms *ra, **rap, **frap = NULL; int depth = 0; @@ -589,7 +770,7 @@ nfsd_get_raparms(dev_t dev, ino_t ino, struct address_space *mapping) ra = *frap; ra->p_dev = dev; ra->p_ino = ino; - file_ra_state_init(&ra->p_ra, mapping); + ra->p_set = 0; found: if (rap != &raparm_cache) { *rap = ra->p_next; @@ -646,14 +827,14 @@ nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, struct raparms *ra; mm_segment_t oldfs; int err; - struct file file; + struct file *file; struct inode *inode; err = nfsd_open(rqstp, fhp, S_IFREG, MAY_READ, &file); if (err) goto out; err = nfserr_perm; - inode = file.f_dentry->d_inode; + inode = file->f_dentry->d_inode; #ifdef MSNFS if ((fhp->fh_export->ex_flags & NFSEXP_MSNFS) && (!lock_may_read(inode, offset, *count))) @@ -661,38 +842,40 @@ nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, #endif /* Get readahead parameters */ - ra = nfsd_get_raparms(inode->i_sb->s_dev, inode->i_ino, - inode->i_mapping->host->i_mapping); - if (ra) - file.f_ra = ra->p_ra; + ra = nfsd_get_raparms(inode->i_sb->s_dev, inode->i_ino); - if (file.f_op->sendfile) { + if (ra && ra->p_set) + file->f_ra = ra->p_ra; + + if (file->f_op->sendfile) { svc_pushback_unused_pages(rqstp); - err = file.f_op->sendfile(&file, &offset, *count, + err = file->f_op->sendfile(file, &offset, *count, nfsd_read_actor, rqstp); } else { oldfs = get_fs(); set_fs(KERNEL_DS); - err = vfs_readv(&file, (struct iovec __user *)vec, vlen, &offset); + err = vfs_readv(file, (struct iovec __user *)vec, vlen, &offset); set_fs(oldfs); } /* Write back readahead params */ if (ra) { spin_lock(&ra_lock); - ra->p_ra = file.f_ra; + ra->p_ra = file->f_ra; + ra->p_set = 1; ra->p_count--; spin_unlock(&ra_lock); } + if (err >= 0) { nfsdstats.io_read += err; *count = err; err = 0; - dnotify_parent(file.f_dentry, DN_ACCESS); + dnotify_parent(file->f_dentry, DN_ACCESS); } else err = nfserrno(err); out_close: - nfsd_close(&file); + nfsd_close(file); out: return err; } @@ -708,7 +891,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, unsigned long cnt, int *stablep) { struct svc_export *exp; - struct file file; + struct file *file; struct dentry *dentry; struct inode *inode; mm_segment_t oldfs; @@ -724,11 +907,11 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, #ifdef MSNFS if ((fhp->fh_export->ex_flags & NFSEXP_MSNFS) && - (!lock_may_write(file.f_dentry->d_inode, offset, cnt))) + (!lock_may_write(file->f_dentry->d_inode, offset, cnt))) goto out_close; #endif - dentry = file.f_dentry; + dentry = file->f_dentry; inode = dentry->d_inode; exp = fhp->fh_export; @@ -741,7 +924,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, * flushing the data to disk is handled separately below. */ - if (file.f_op->fsync == 0) {/* COMMIT3 cannot work */ + if (file->f_op->fsync == 0) {/* COMMIT3 cannot work */ stable = 2; *stablep = 2; /* FILE_SYNC */ } @@ -749,15 +932,15 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, if (!EX_ISSYNC(exp)) stable = 0; if (stable && !EX_WGATHER(exp)) - file.f_flags |= O_SYNC; + file->f_flags |= O_SYNC; /* Write the data. */ oldfs = get_fs(); set_fs(KERNEL_DS); - err = vfs_writev(&file, (struct iovec __user *)vec, vlen, &offset); + err = vfs_writev(file, (struct iovec __user *)vec, vlen, &offset); set_fs(oldfs); if (err >= 0) { nfsdstats.io_write += cnt; - dnotify_parent(file.f_dentry, DN_MODIFY); + dnotify_parent(file->f_dentry, DN_MODIFY); } /* clear setuid/setgid flag after write */ @@ -797,7 +980,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, if (inode->i_state & I_DIRTY) { dprintk("nfsd: write sync %d\n", current->pid); - nfsd_sync(&file); + nfsd_sync(file); } #if 0 wake_up(&inode->i_wait); @@ -813,7 +996,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, else err = nfserrno(err); out_close: - nfsd_close(&file); + nfsd_close(file); out: return err; } @@ -832,7 +1015,7 @@ int nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, unsigned long count) { - struct file file; + struct file *file; int err; if ((u64)count > ~(u64)offset) @@ -841,14 +1024,14 @@ nfsd_commit(struct svc_rqst *rqstp, struct svc_fh *fhp, if ((err = nfsd_open(rqstp, fhp, S_IFREG, MAY_WRITE, &file)) != 0) return err; if (EX_ISSYNC(fhp->fh_export)) { - if (file.f_op && file.f_op->fsync) { - nfsd_sync(&file); + if (file->f_op && file->f_op->fsync) { + nfsd_sync(file); } else { err = nfserr_notsupp; } } - nfsd_close(&file); + nfsd_close(file); return err; } #endif /* CONFIG_NFSD_V3 */ @@ -1471,14 +1654,14 @@ nfsd_readdir(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t *offsetp, struct readdir_cd *cdp, encode_dent_fn func) { int err; - struct file file; + struct file *file; loff_t offset = *offsetp; err = nfsd_open(rqstp, fhp, S_IFDIR, MAY_READ, &file); if (err) goto out; - offset = vfs_llseek(&file, offset, 0); + offset = vfs_llseek(file, offset, 0); if (offset < 0) { err = nfserrno((int)offset); goto out_close; @@ -1492,18 +1675,18 @@ nfsd_readdir(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t *offsetp, do { cdp->err = nfserr_eof; /* will be cleared on successful read */ - err = vfs_readdir(&file, (filldir_t) func, cdp); + err = vfs_readdir(file, (filldir_t) func, cdp); } while (err >=0 && cdp->err == nfs_ok); if (err) err = nfserrno(err); else err = cdp->err; - *offsetp = vfs_llseek(&file, 0, 1); + *offsetp = vfs_llseek(file, 0, 1); if (err == nfserr_eof || err == nfserr_toosmall) err = nfs_ok; /* can still be found in ->err */ out_close: - nfsd_close(&file); + nfsd_close(file); out: return err; } diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog index fa1442d2f..0302c3512 100644 --- a/fs/ntfs/ChangeLog +++ b/fs/ntfs/ChangeLog @@ -1,11 +1,6 @@ ToDo/Notes: - Find and fix bugs. - Checkpoint or disable the user space journal ($UsnJrnl). - - Implement sops->dirty_inode() to implement {a,m,c}time updates and - such things. This should probably just flag the ntfs inode such that - sops->write_inode(), i.e. ntfs_write_inode(), will copy the times - when it is invoked rather than having to update the mft record - every time. - In between ntfs_prepare/commit_write, need exclusion between simultaneous file extensions. Need perhaps an NInoResizeUnderway() flag which we can set in ntfs_prepare_write() and clear again in @@ -26,6 +21,114 @@ ToDo/Notes: - Enable the code for setting the NT4 compatibility flag when we start making NTFS 1.2 specific modifications. +2.1.20 - Fix a stupid bug in ntfs_attr_reinit_search_ctx(). + + - Fix stupid bug in fs/ntfs/attrib.c::ntfs_attr_reinit_search_ctx() + where we did not clear ctx->al_entry but it was still set due to + changes in ntfs_attr_lookup() and ntfs_external_attr_find() in + particular. + - Fix another stupid bug in fs/ntfs/attrib.c::ntfs_external_attr_find() + where we forgot to unmap the extent mft record when we had finished + enumerating an attribute which caused a bug check to trigger when the + VFS calls ->clear_inode. + +2.1.19 - Many cleanups, improvements, and a minor bug fix. + + - Update ->setattr (fs/ntfs/inode.c::ntfs_setattr()) to refuse to + change the uid, gid, and mode of an inode as we do not support NTFS + ACLs yet. + - Remove BKL use from ntfs_setattr() syncing up with the rest of the + kernel. + - Get rid of the ugly transparent union in fs/ntfs/dir.c::ntfs_readdir() + and ntfs_filldir() as per suggestion from Al Viro. + - Change '\0' and L'\0' to simply 0 as per advice from Linus Torvalds. + - Update ->truncate (fs/ntfs/inode.c::ntfs_truncate()) to check if the + inode size has changed and to only output an error if so. + - Rename fs/ntfs/attrib.h::attribute_value_length() to ntfs_attr_size(). + - Add le{16,32,64} as well as sle{16,32,64} data types to + fs/ntfs/types.h. + - Change ntfschar to be le16 instead of u16 in fs/ntfs/types.h. + - Add le versions of VCN, LCN, and LSN called leVCN, leLCN, and leLSN, + respectively, to fs/ntfs/types.h. + - Update endianness conversion macros in fs/ntfs/endian.h to use the + new types as appropriate. + - Do proper type casting when using sle64_to_cpup() in fs/ntfs/dir.c + and index.c. + - Add leMFT_REF data type to fs/ntfs/layout.h. + - Update all NTFS header files with the new little endian data types. + Affected files are fs/ntfs/layout.h, logfile.h, and time.h. + - Do proper type casting when using ntfs_is_*_recordp() in + fs/ntfs/logfile.c, mft.c, and super.c. + - Fix all the sparse bitwise warnings. Had to change all the typedef + enums storing little endian values to simple enums plus a typedef for + the datatype to make sparse happy. + - Fix a bug found by the new sparse bitwise warnings where the default + upcase table was defined as a pointer to wchar_t rather than ntfschar + in fs/ntfs/ntfs.h and super.c. + - Change {const_,}cpu_to_le{16,32}(0) to just 0 as suggested by Al Viro. + +2.1.18 - Fix scheduling latencies at mount time as well as an endianness bug. + + - Remove vol->nr_mft_records as it was pretty meaningless and optimize + the calculation of total/free inodes as used by statfs(). + - Fix scheduling latencies in ntfs_fill_super() by dropping the BKL + because the code itself is using the ntfs_lock semaphore which + provides safe locking. (Ingo Molnar) + - Fix a potential bug in fs/ntfs/mft.c::map_extent_mft_record() that + could occur in the future for when we start closing/freeing extent + inodes if we don't set base_ni->ext.extent_ntfs_inos to NULL after + we free it. + - Rename {find,lookup}_attr() to ntfs_attr_{find,lookup}() as well as + find_external_attr() to ntfs_external_attr_find() to cleanup the + namespace a bit and to be more consistent with libntfs. + - Rename {{re,}init,get,put}_attr_search_ctx() to + ntfs_attr_{{re,}init,get,put}_search_ctx() as well as the type + attr_search_context to ntfs_attr_search_ctx. + - Force use of ntfs_attr_find() in ntfs_attr_lookup() when searching + for the attribute list attribute itself. + - Fix endianness bug in ntfs_external_attr_find(). + - Change ntfs_{external_,}attr_find() to return 0 on success, -ENOENT + if the attribute is not found, and -EIO on real error. In the case + of -ENOENT, the search context is updated to describe the attribute + before which the attribute being searched for would need to be + inserted if such an action were to be desired and in the case of + ntfs_external_attr_find() the search context is also updated to + indicate the attribute list entry before which the attribute list + entry of the attribute being searched for would need to be inserted + if such an action were to be desired. Also make ntfs_find_attr() + static and remove its prototype from attrib.h as it is not used + anywhere other than attrib.c. Update ntfs_attr_lookup() and all + callers of ntfs_{external,}attr_{find,lookup}() for the new return + values. + - Minor cleanup of fs/ntfs/inode.c::ntfs_init_locked_inode(). + +2.1.17 - Fix bugs in mount time error code paths and other updates. + + - Implement bitmap modification code (fs/ntfs/bitmap.[hc]). This + includes functions to set/clear a single bit or a run of bits. + - Add fs/ntfs/attrib.[hc]::ntfs_find_vcn() which returns the locked + runlist element containing a particular vcn. It also takes care of + mapping any needed runlist fragments. + - Implement cluster (de-)allocation code (fs/ntfs/lcnalloc.[hc]). + - Load attribute definition table from $AttrDef at mount time. + - Fix bugs in mount time error code paths involving (de)allocation of + the default and volume upcase tables. + - Remove ntfs_nr_mounts as it is no longer used. + +2.1.16 - Implement access time updates, file sync, async io, and read/writev. + + - Add support for readv/writev and aio_read/aio_write (fs/ntfs/file.c). + This is done by setting the appropriate file operations pointers to + the generic helper functions provided by mm/filemap.c. + - Implement fsync, fdatasync, and msync both for files (fs/ntfs/file.c) + and directories (fs/ntfs/dir.c). + - Add support for {a,m,c}time updates to inode.c::ntfs_write_inode(). + Note, except for the root directory and any other system files opened + by the user, the system files will not have their access times + updated as they are only accessed at the inode level an hence the + file level functions which cause the times to be updated are never + invoked. + 2.1.15 - Invalidate quotas when (re)mounting read-write. - Add new element itype.index.collation_rule to the ntfs inode @@ -434,7 +537,7 @@ ToDo/Notes: cannot set any write related options when the driver is compiled read-only. - Optimize block resolution in fs/ntfs/aops.c::ntfs_read_block() to - cache the current run list element. This should improve performance + cache the current runlist element. This should improve performance when reading very large and/or very fragmented data. 2.0.16 - Convert access to $MFT/$BITMAP to attribute inode API. @@ -482,9 +585,9 @@ ToDo/Notes: - Change fs/ntfs/super.c::ntfs_statfs() to not rely on BKL by moving the locking out of super.c::get_nr_free_mft_records() and taking and dropping the mftbmp_lock rw_semaphore in ntfs_statfs() itself. - - Bring attribute run list merging code (fs/ntfs/attrib.c) in sync with + - Bring attribute runlist merging code (fs/ntfs/attrib.c) in sync with current userspace ntfs library code. This means that if a merge - fails the original run lists are always left unmodified instead of + fails the original runlists are always left unmodified instead of being silently corrupted. - Misc typo fixes. @@ -676,7 +779,7 @@ ToDo/Notes: appropriately. - Update to 2.5.9 kernel (preserving backwards compatibility) by replacing all occurences of page->buffers with page_buffers(page). - - Fix minor bugs in run list merging, also minor cleanup. + - Fix minor bugs in runlist merging, also minor cleanup. - Updates to bootsector layout and mft mirror contents descriptions. - Small bug fix in error detection in unistr.c and some cleanups. - Grow name buffer allocations in unistr.c in aligned mutlipled of 64 @@ -699,12 +802,12 @@ ToDo/Notes: initialized_size vs data_size (i.e. i_size). Done are mft.c::ntfs_mft_readpage(), aops.c::end_buffer_read_index_async(), and attrib.c::load_attribute_list(). - - Lock the run list in attrib.c::load_attribute_list() while using it. + - Lock the runlist in attrib.c::load_attribute_list() while using it. - Fix memory leak in ntfs_file_read_compressed_block() and generally clean up compress.c a little, removing some uncommented/unused debug code. - Tidy up dir.c a little bit. - - Don't bother getting the run list in inode.c::ntfs_read_inode(). + - Don't bother getting the runlist in inode.c::ntfs_read_inode(). - Merge mft.c::ntfs_mft_readpage() and aops.c::ntfs_index_readpage() creating aops.c::ntfs_mst_readpage(), improving the handling of holes and overflow in the process and implementing the correct @@ -734,7 +837,7 @@ tng-0.0.8 - 08/03/2002 - Now using BitKeeper, http://linux-ntfs.bkbits.net/ - Apply kludge in ntfs_read_inode(), setting i_nlink to 1 for directories. Without this the "find" utility gets very upset which is fair enough as Linux/Unix do not support directory hard links. - - Further run list merging work. (Richard Russon) + - Further runlist merging work. (Richard Russon) - Backwards compatibility for gcc-2.95. (Richard Russon) - Update to kernel 2.5.5-pre1 and rediff the now tiny patch. - Convert to new file system declaration using ->ntfs_get_sb() and @@ -789,7 +892,7 @@ tng-0.0.8 - 08/03/2002 - Now using BitKeeper, http://linux-ntfs.bkbits.net/ which is then referenced but not copied. - Rename run_list structure to run_list_element and create a new run_list structure containing a pointer to a run_list_element - structure and a read/write semaphore. Adapt all users of run lists + structure and a read/write semaphore. Adapt all users of runlists to new scheme and take and release the lock as needed. This fixes a nasty race as the run_list changes even when inodes are locked for reading and even when the inode isn't locked at all, so we really @@ -820,7 +923,7 @@ tng-0.0.7 - 13/02/2002 - The driver is now feature complete for read-only! - Cleanup mft.c and it's debug/error output in particular. Fix a minor bug in mapping of extent inodes. Update all the comments to fit all the recent code changes. - - Modify vcn_to_lcn() to cope with entirely unmapped run lists. + - Modify vcn_to_lcn() to cope with entirely unmapped runlists. - Cleanups in compress.c, mostly comments and folding help. - Implement attrib.c::map_run_list() as a generic helper. - Make compress.c::ntfs_file_read_compressed_block() use map_run_list() @@ -846,11 +949,11 @@ tng-0.0.7 - 13/02/2002 - The driver is now feature complete for read-only! pass in the upcase table and its length. These can be gotten from ctx->ntfs_ino->vol->upcase{_len}. Update all callers. - Cleanups in attrib.c. - - Implement merging of run lists, attrib.c::merge_run_lists() and its + - Implement merging of runlists, attrib.c::merge_run_lists() and its helpers. (Richard Russon) - - Attribute lists part 2, attribute extents and multi part run lists: + - Attribute lists part 2, attribute extents and multi part runlists: enable proper support for LCN_RL_NOT_MAPPED and automatic mapping of - further run list parts via attrib.c::map_run_list(). + further runlist parts via attrib.c::map_run_list(). - Tiny endianness bug fix in decompress_mapping_pairs(). tng-0.0.6 - Encrypted directories, bug fixes, cleanups, debugging enhancements. @@ -882,7 +985,7 @@ tng-0.0.6 - Encrypted directories, bug fixes, cleanups, debugging enhancements. support dollar signs in the names of variables/constants. Attribute types now start with AT_ instead of $ and $I30 is now just I30. - Cleanup ntfs_lookup() and add consistency check of sequence numbers. - - Load complete run list for $MFT/$BITMAP during mount and cleanup + - Load complete runlist for $MFT/$BITMAP during mount and cleanup access functions. This means we now cope with $MFT/$BITMAP being spread accross several mft records. - Disable modification of mft_zone_multiplier on remount. We can always @@ -915,11 +1018,11 @@ tng-0.0.4 - Big changes, getting in line with Al Viro's comments. parameter list. Pass either READ or WRITE to this, each has the obvious meaning. - General cleanups to allow for easier folding in vi. - - attrib.c::decompress_mapping_pairs() now accepts the old run list + - attrib.c::decompress_mapping_pairs() now accepts the old runlist argument, and invokes attrib.c::merge_run_lists() to merge the old - and the new run lists. + and the new runlists. - Removed attrib.c::find_first_attr(). - - Implemented loading of attribute list and complete run list for $MFT. + - Implemented loading of attribute list and complete runlist for $MFT. This means we now cope with $MFT being spread across several mft records. - Adapt to 2.5.2-pre9 and the changed create_empty_buffers() syntax. @@ -957,7 +1060,7 @@ tng-0.0.4 - Big changes, getting in line with Al Viro's comments. tng-0.0.3 - Cleanups, enhancements, bug fixes. - Work on attrib.c::decompress_mapping_pairs() to detect base extents - and setup the run list appropriately using knowledge provided by the + and setup the runlist appropriately using knowledge provided by the sizes in the base attribute record. - Balance the get_/put_attr_search_ctx() calls so we don't leak memory any more. diff --git a/fs/ntfs/Makefile b/fs/ntfs/Makefile index 0e3fd2f01..28e8ac163 100644 --- a/fs/ntfs/Makefile +++ b/fs/ntfs/Makefile @@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \ index.o inode.o mft.o mst.o namei.o super.o sysctl.o unistr.o \ upcase.o -EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.15\" +EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.20\" ifeq ($(CONFIG_NTFS_DEBUG),y) EXTRA_CFLAGS += -DDEBUG @@ -15,5 +15,5 @@ endif ifeq ($(CONFIG_NTFS_RW),y) EXTRA_CFLAGS += -DNTFS_RW -ntfs-objs += logfile.o quota.o +ntfs-objs += bitmap.o lcnalloc.o logfile.o quota.o endif diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c index 0ffc1d19c..edcc9fbf6 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c @@ -170,7 +170,7 @@ static int ntfs_read_block(struct page *page) LCN lcn; ntfs_inode *ni; ntfs_volume *vol; - run_list_element *rl; + runlist_element *rl; struct buffer_head *bh, *head, *arr[MAX_BUF_PER_PAGE]; sector_t iblock, lblock, zblock; unsigned int blocksize, vcn_ofs; @@ -196,8 +196,8 @@ static int ntfs_read_block(struct page *page) zblock = (ni->initialized_size + blocksize - 1) >> blocksize_bits; #ifdef DEBUG - if (unlikely(!ni->run_list.rl && !ni->mft_no && !NInoAttr(ni))) - panic("NTFS: $MFT/$DATA run list has been unmapped! This is a " + if (unlikely(!ni->runlist.rl && !ni->mft_no && !NInoAttr(ni))) + panic("NTFS: $MFT/$DATA runlist has been unmapped! This is a " "very serious bug! Cannot continue..."); #endif @@ -225,14 +225,14 @@ static int ntfs_read_block(struct page *page) vol->cluster_size_mask; if (!rl) { lock_retry_remap: - down_read(&ni->run_list.lock); - rl = ni->run_list.rl; + down_read(&ni->runlist.lock); + rl = ni->runlist.rl; } if (likely(rl != NULL)) { /* Seek to element containing target vcn. */ while (rl->length && rl[1].vcn <= vcn) rl++; - lcn = vcn_to_lcn(rl, vcn); + lcn = ntfs_vcn_to_lcn(rl, vcn); } else lcn = (LCN)LCN_RL_NOT_MAPPED; /* Successful remap. */ @@ -252,29 +252,29 @@ lock_retry_remap: /* It is a hole, need to zero it. */ if (lcn == LCN_HOLE) goto handle_hole; - /* If first try and run list unmapped, map and retry. */ + /* If first try and runlist unmapped, map and retry. */ if (!is_retry && lcn == LCN_RL_NOT_MAPPED) { is_retry = TRUE; /* - * Attempt to map run list, dropping lock for + * Attempt to map runlist, dropping lock for * the duration. */ - up_read(&ni->run_list.lock); - if (!map_run_list(ni, vcn)) + up_read(&ni->runlist.lock); + if (!ntfs_map_runlist(ni, vcn)) goto lock_retry_remap; rl = NULL; } /* Hard error, zero out region. */ SetPageError(page); - ntfs_error(vol->sb, "vcn_to_lcn(vcn = 0x%llx) failed " - "with error code 0x%llx%s.", + ntfs_error(vol->sb, "ntfs_vcn_to_lcn(vcn = 0x%llx) " + "failed with error code 0x%llx%s.", (unsigned long long)vcn, (unsigned long long)-lcn, is_retry ? " even after retrying" : ""); // FIXME: Depending on vol->on_errors, do something. } /* - * Either iblock was outside lblock limits or vcn_to_lcn() + * Either iblock was outside lblock limits or ntfs_vcn_to_lcn() * returned error. Just zero that portion of the page and set * the buffer uptodate. */ @@ -291,7 +291,7 @@ handle_zblock: /* Release the lock if we took it. */ if (rl) - up_read(&ni->run_list.lock); + up_read(&ni->runlist.lock); /* Check we have at least one buffer ready for i/o. */ if (nr) { @@ -348,7 +348,7 @@ int ntfs_readpage(struct file *file, struct page *page) s64 attr_pos; ntfs_inode *ni, *base_ni; u8 *kaddr; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; MFT_RECORD *mrec; u32 attr_len; int err = 0; @@ -393,20 +393,19 @@ int ntfs_readpage(struct file *file, struct page *page) /* Map, pin, and lock the mft record. */ mrec = map_mft_record(base_ni); - if (unlikely(IS_ERR(mrec))) { + if (IS_ERR(mrec)) { err = PTR_ERR(mrec); goto err_out; } - ctx = get_attr_search_ctx(base_ni, mrec); + ctx = ntfs_attr_get_search_ctx(base_ni, mrec); if (unlikely(!ctx)) { err = -ENOMEM; goto unm_err_out; } - if (unlikely(!lookup_attr(ni->type, ni->name, ni->name_len, - CASE_SENSITIVE, 0, NULL, 0, ctx))) { - err = -ENOENT; + err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) goto put_unm_err_out; - } /* Starting position of the page within the attribute value. */ attr_pos = page->index << PAGE_CACHE_SHIFT; @@ -433,7 +432,7 @@ int ntfs_readpage(struct file *file, struct page *page) SetPageUptodate(page); put_unm_err_out: - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unm_err_out: unmap_mft_record(base_ni); err_out: @@ -473,7 +472,7 @@ static int ntfs_write_block(struct writeback_control *wbc, struct page *page) struct inode *vi; ntfs_inode *ni; ntfs_volume *vol; - run_list_element *rl; + runlist_element *rl; struct buffer_head *bh, *head; unsigned int blocksize, vcn_ofs; int err; @@ -631,14 +630,14 @@ static int ntfs_write_block(struct writeback_control *wbc, struct page *page) vol->cluster_size_mask; if (!rl) { lock_retry_remap: - down_read(&ni->run_list.lock); - rl = ni->run_list.rl; + down_read(&ni->runlist.lock); + rl = ni->runlist.rl; } if (likely(rl != NULL)) { /* Seek to element containing target vcn. */ while (rl->length && rl[1].vcn <= vcn) rl++; - lcn = vcn_to_lcn(rl, vcn); + lcn = ntfs_vcn_to_lcn(rl, vcn); } else lcn = (LCN)LCN_RL_NOT_MAPPED; /* Successful remap. */ @@ -659,22 +658,22 @@ lock_retry_remap: err = -EOPNOTSUPP; break; } - /* If first try and run list unmapped, map and retry. */ + /* If first try and runlist unmapped, map and retry. */ if (!is_retry && lcn == LCN_RL_NOT_MAPPED) { is_retry = TRUE; /* - * Attempt to map run list, dropping lock for + * Attempt to map runlist, dropping lock for * the duration. */ - up_read(&ni->run_list.lock); - err = map_run_list(ni, vcn); + up_read(&ni->runlist.lock); + err = ntfs_map_runlist(ni, vcn); if (likely(!err)) goto lock_retry_remap; rl = NULL; } /* Failed to map the buffer, even after retrying. */ bh->b_blocknr = -1UL; - ntfs_error(vol->sb, "vcn_to_lcn(vcn = 0x%llx) failed " + ntfs_error(vol->sb, "ntfs_vcn_to_lcn(vcn = 0x%llx) failed " "with error code 0x%llx%s.", (unsigned long long)vcn, (unsigned long long)-lcn, @@ -687,7 +686,7 @@ lock_retry_remap: /* Release the lock if we took it. */ if (rl) - up_read(&ni->run_list.lock); + up_read(&ni->runlist.lock); /* For the error case, need to reset bh to the beginning. */ bh = head; @@ -1030,7 +1029,7 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) struct inode *vi; ntfs_inode *ni, *base_ni; char *kaddr; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; MFT_RECORD *m; u32 attr_len, bytes; int err; @@ -1111,22 +1110,21 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) /* Map, pin, and lock the mft record. */ m = map_mft_record(base_ni); - if (unlikely(IS_ERR(m))) { + if (IS_ERR(m)) { err = PTR_ERR(m); m = NULL; ctx = NULL; goto err_out; } - ctx = get_attr_search_ctx(base_ni, m); + ctx = ntfs_attr_get_search_ctx(base_ni, m); if (unlikely(!ctx)) { err = -ENOMEM; goto err_out; } - if (unlikely(!lookup_attr(ni->type, ni->name, ni->name_len, - CASE_SENSITIVE, 0, NULL, 0, ctx))) { - err = -ENOENT; + err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) goto err_out; - } /* Starting position of the page within the attribute value. */ attr_pos = page->index << PAGE_CACHE_SHIFT; @@ -1201,7 +1199,7 @@ static int ntfs_writepage(struct page *page, struct writeback_control *wbc) /* Mark the mft record dirty, so it gets written back. */ mark_mft_record_dirty(ctx->ntfs_ino); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(base_ni); return 0; err_out: @@ -1221,7 +1219,7 @@ err_out: } unlock_page(page); if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(base_ni); return err; @@ -1240,7 +1238,7 @@ static int ntfs_prepare_nonresident_write(struct page *page, struct inode *vi; ntfs_inode *ni; ntfs_volume *vol; - run_list_element *rl; + runlist_element *rl; struct buffer_head *bh, *head, *wait[2], **wait_bh = wait; unsigned int vcn_ofs, block_start, block_end, blocksize; int err; @@ -1397,14 +1395,14 @@ static int ntfs_prepare_nonresident_write(struct page *page, is_retry = FALSE; if (!rl) { lock_retry_remap: - down_read(&ni->run_list.lock); - rl = ni->run_list.rl; + down_read(&ni->runlist.lock); + rl = ni->runlist.rl; } if (likely(rl != NULL)) { /* Seek to element containing target vcn. */ while (rl->length && rl[1].vcn <= vcn) rl++; - lcn = vcn_to_lcn(rl, vcn); + lcn = ntfs_vcn_to_lcn(rl, vcn); } else lcn = (LCN)LCN_RL_NOT_MAPPED; if (unlikely(lcn < 0)) { @@ -1439,11 +1437,11 @@ lock_retry_remap: lcn == LCN_RL_NOT_MAPPED) { is_retry = TRUE; /* - * Attempt to map run list, dropping + * Attempt to map runlist, dropping * lock for the duration. */ - up_read(&ni->run_list.lock); - err = map_run_list(ni, vcn); + up_read(&ni->runlist.lock); + err = ntfs_map_runlist(ni, vcn); if (likely(!err)) goto lock_retry_remap; rl = NULL; @@ -1453,9 +1451,9 @@ lock_retry_remap: * retrying. */ bh->b_blocknr = -1UL; - ntfs_error(vol->sb, "vcn_to_lcn(vcn = 0x%llx) " - "failed with error code " - "0x%llx%s.", + ntfs_error(vol->sb, "ntfs_vcn_to_lcn(vcn = " + "0x%llx) failed with error " + "code 0x%llx%s.", (unsigned long long)vcn, (unsigned long long)-lcn, is_retry ? " even after " @@ -1530,7 +1528,7 @@ lock_retry_remap: /* Release the lock if we took it. */ if (rl) { - up_read(&ni->run_list.lock); + up_read(&ni->runlist.lock); rl = NULL; } @@ -1576,7 +1574,7 @@ err_out: if (is_retry) flush_dcache_page(page); if (rl) - up_read(&ni->run_list.lock); + up_read(&ni->runlist.lock); return err; } @@ -1683,9 +1681,9 @@ static int ntfs_prepare_write(struct file *file, struct page *page, * We thus defer the uptodate bringing of the page region outside the * region written to to ntfs_commit_write(). The reason for doing this * is that we save one round of: - * map_mft_record(), get_attr_search_ctx(), lookup_attr(), - * kmap_atomic(), kunmap_atomic(), put_attr_search_ctx(), - * unmap_mft_record(). + * map_mft_record(), ntfs_attr_get_search_ctx(), + * ntfs_attr_lookup(), kmap_atomic(), kunmap_atomic(), + * ntfs_attr_put_search_ctx(), unmap_mft_record(). * Which is obviously a very worthwhile save. * * Thus we just return success now... @@ -1804,7 +1802,7 @@ static int ntfs_commit_write(struct file *file, struct page *page, struct inode *vi; ntfs_inode *ni, *base_ni; char *kaddr, *kattr; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; MFT_RECORD *m; u32 attr_len, bytes; int err; @@ -1885,22 +1883,21 @@ static int ntfs_commit_write(struct file *file, struct page *page, /* Map, pin, and lock the mft record. */ m = map_mft_record(base_ni); - if (unlikely(IS_ERR(m))) { + if (IS_ERR(m)) { err = PTR_ERR(m); m = NULL; ctx = NULL; goto err_out; } - ctx = get_attr_search_ctx(base_ni, m); + ctx = ntfs_attr_get_search_ctx(base_ni, m); if (unlikely(!ctx)) { err = -ENOMEM; goto err_out; } - if (unlikely(!lookup_attr(ni->type, ni->name, ni->name_len, - CASE_SENSITIVE, 0, NULL, 0, ctx))) { - err = -ENOENT; + err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) goto err_out; - } /* Starting position of the page within the attribute value. */ attr_pos = page->index << PAGE_CACHE_SHIFT; @@ -1966,7 +1963,7 @@ static int ntfs_commit_write(struct file *file, struct page *page, /* Mark the mft record dirty, so it gets written back. */ mark_mft_record_dirty(ctx->ntfs_ino); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(base_ni); ntfs_debug("Done."); return 0; @@ -1993,7 +1990,7 @@ err_out: SetPageError(page); } if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(base_ni); return err; diff --git a/fs/ntfs/attrib.c b/fs/ntfs/attrib.c index 55686f7bd..fdf20b85c 100644 --- a/fs/ntfs/attrib.c +++ b/fs/ntfs/attrib.c @@ -27,11 +27,11 @@ /* Temporary helper functions -- might become macros */ /** - * ntfs_rl_mm - run_list memmove + * ntfs_rl_mm - runlist memmove * - * It is up to the caller to serialize access to the run list @base. + * It is up to the caller to serialize access to the runlist @base. */ -static inline void ntfs_rl_mm(run_list_element *base, int dst, int src, +static inline void ntfs_rl_mm(runlist_element *base, int dst, int src, int size) { if (likely((dst != src) && (size > 0))) @@ -39,42 +39,42 @@ static inline void ntfs_rl_mm(run_list_element *base, int dst, int src, } /** - * ntfs_rl_mc - run_list memory copy + * ntfs_rl_mc - runlist memory copy * - * It is up to the caller to serialize access to the run lists @dstbase and + * It is up to the caller to serialize access to the runlists @dstbase and * @srcbase. */ -static inline void ntfs_rl_mc(run_list_element *dstbase, int dst, - run_list_element *srcbase, int src, int size) +static inline void ntfs_rl_mc(runlist_element *dstbase, int dst, + runlist_element *srcbase, int src, int size) { if (likely(size > 0)) memcpy(dstbase + dst, srcbase + src, size * sizeof(*dstbase)); } /** - * ntfs_rl_realloc - Reallocate memory for run_lists - * @rl: original run list - * @old_size: number of run list elements in the original run list @rl - * @new_size: number of run list elements we need space for + * ntfs_rl_realloc - Reallocate memory for runlists + * @rl: original runlist + * @old_size: number of runlist elements in the original runlist @rl + * @new_size: number of runlist elements we need space for * - * As the run_lists grow, more memory will be required. To prevent the + * As the runlists grow, more memory will be required. To prevent the * kernel having to allocate and reallocate large numbers of small bits of * memory, this function returns and entire page of memory. * - * It is up to the caller to serialize access to the run list @rl. + * It is up to the caller to serialize access to the runlist @rl. * * N.B. If the new allocation doesn't require a different number of pages in * memory, the function will return the original pointer. * * On success, return a pointer to the newly allocated, or recycled, memory. * On error, return -errno. The following error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. + * -ENOMEM - Not enough memory to allocate runlist array. * -EINVAL - Invalid parameters were passed in. */ -static inline run_list_element *ntfs_rl_realloc(run_list_element *rl, +static inline runlist_element *ntfs_rl_realloc(runlist_element *rl, int old_size, int new_size) { - run_list_element *new_rl; + runlist_element *new_rl; old_size = PAGE_ALIGN(old_size * sizeof(*rl)); new_size = PAGE_ALIGN(new_size * sizeof(*rl)); @@ -95,20 +95,20 @@ static inline run_list_element *ntfs_rl_realloc(run_list_element *rl, } /** - * ntfs_are_rl_mergeable - test if two run lists can be joined together - * @dst: original run list - * @src: new run list to test for mergeability with @dst + * ntfs_are_rl_mergeable - test if two runlists can be joined together + * @dst: original runlist + * @src: new runlist to test for mergeability with @dst * - * Test if two run lists can be joined together. For this, their VCNs and LCNs + * Test if two runlists can be joined together. For this, their VCNs and LCNs * must be adjacent. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. * - * Return: TRUE Success, the run lists can be merged. - * FALSE Failure, the run lists cannot be merged. + * Return: TRUE Success, the runlists can be merged. + * FALSE Failure, the runlists cannot be merged. */ -static inline BOOL ntfs_are_rl_mergeable(run_list_element *dst, - run_list_element *src) +static inline BOOL ntfs_are_rl_mergeable(runlist_element *dst, + runlist_element *src) { BUG_ON(!dst); BUG_ON(!src); @@ -124,37 +124,37 @@ static inline BOOL ntfs_are_rl_mergeable(run_list_element *dst, } /** - * __ntfs_rl_merge - merge two run lists without testing if they can be merged - * @dst: original, destination run list - * @src: new run list to merge with @dst + * __ntfs_rl_merge - merge two runlists without testing if they can be merged + * @dst: original, destination runlist + * @src: new runlist to merge with @dst * - * Merge the two run lists, writing into the destination run list @dst. The - * caller must make sure the run lists can be merged or this will corrupt the - * destination run list. + * Merge the two runlists, writing into the destination runlist @dst. The + * caller must make sure the runlists can be merged or this will corrupt the + * destination runlist. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. */ -static inline void __ntfs_rl_merge(run_list_element *dst, run_list_element *src) +static inline void __ntfs_rl_merge(runlist_element *dst, runlist_element *src) { dst->length += src->length; } /** - * ntfs_rl_merge - test if two run lists can be joined together and merge them - * @dst: original, destination run list - * @src: new run list to merge with @dst + * ntfs_rl_merge - test if two runlists can be joined together and merge them + * @dst: original, destination runlist + * @src: new runlist to merge with @dst * - * Test if two run lists can be joined together. For this, their VCNs and LCNs + * Test if two runlists can be joined together. For this, their VCNs and LCNs * must be adjacent. If they can be merged, perform the merge, writing into - * the destination run list @dst. + * the destination runlist @dst. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. * - * Return: TRUE Success, the run lists have been merged. - * FALSE Failure, the run lists cannot be merged and have not been + * Return: TRUE Success, the runlists have been merged. + * FALSE Failure, the runlists cannot be merged and have not been * modified. */ -static inline BOOL ntfs_rl_merge(run_list_element *dst, run_list_element *src) +static inline BOOL ntfs_rl_merge(runlist_element *dst, runlist_element *src) { BOOL merge = ntfs_are_rl_mergeable(dst, src); @@ -164,31 +164,31 @@ static inline BOOL ntfs_rl_merge(run_list_element *dst, run_list_element *src) } /** - * ntfs_rl_append - append a run list after a given element - * @dst: original run list to be worked on + * ntfs_rl_append - append a runlist after a given element + * @dst: original runlist to be worked on * @dsize: number of elements in @dst (including end marker) - * @src: run list to be inserted into @dst + * @src: runlist to be inserted into @dst * @ssize: number of elements in @src (excluding end marker) - * @loc: append the new run list @src after this element in @dst + * @loc: append the new runlist @src after this element in @dst * - * Append the run list @src after element @loc in @dst. Merge the right end of - * the new run list, if necessary. Adjust the size of the hole before the - * appended run list. + * Append the runlist @src after element @loc in @dst. Merge the right end of + * the new runlist, if necessary. Adjust the size of the hole before the + * appended runlist. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. * - * On success, return a pointer to the new, combined, run list. Note, both - * run lists @dst and @src are deallocated before returning so you cannot use - * the pointers for anything any more. (Strictly speaking the returned run list + * On success, return a pointer to the new, combined, runlist. Note, both + * runlists @dst and @src are deallocated before returning so you cannot use + * the pointers for anything any more. (Strictly speaking the returned runlist * may be the same as @dst but this is irrelevant.) * - * On error, return -errno. Both run lists are left unmodified. The following + * On error, return -errno. Both runlists are left unmodified. The following * error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. + * -ENOMEM - Not enough memory to allocate runlist array. * -EINVAL - Invalid parameters were passed in. */ -static inline run_list_element *ntfs_rl_append(run_list_element *dst, - int dsize, run_list_element *src, int ssize, int loc) +static inline runlist_element *ntfs_rl_append(runlist_element *dst, + int dsize, runlist_element *src, int ssize, int loc) { BOOL right; int magic; @@ -205,7 +205,7 @@ static inline run_list_element *ntfs_rl_append(run_list_element *dst, return dst; /* * We are guaranteed to succeed from here so can start modifying the - * original run lists. + * original runlists. */ /* First, merge the right hand end, if necessary. */ @@ -229,31 +229,31 @@ static inline run_list_element *ntfs_rl_append(run_list_element *dst, } /** - * ntfs_rl_insert - insert a run list into another - * @dst: original run list to be worked on + * ntfs_rl_insert - insert a runlist into another + * @dst: original runlist to be worked on * @dsize: number of elements in @dst (including end marker) - * @src: new run list to be inserted + * @src: new runlist to be inserted * @ssize: number of elements in @src (excluding end marker) - * @loc: insert the new run list @src before this element in @dst + * @loc: insert the new runlist @src before this element in @dst * - * Insert the run list @src before element @loc in the run list @dst. Merge the - * left end of the new run list, if necessary. Adjust the size of the hole - * after the inserted run list. + * Insert the runlist @src before element @loc in the runlist @dst. Merge the + * left end of the new runlist, if necessary. Adjust the size of the hole + * after the inserted runlist. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. * - * On success, return a pointer to the new, combined, run list. Note, both - * run lists @dst and @src are deallocated before returning so you cannot use - * the pointers for anything any more. (Strictly speaking the returned run list + * On success, return a pointer to the new, combined, runlist. Note, both + * runlists @dst and @src are deallocated before returning so you cannot use + * the pointers for anything any more. (Strictly speaking the returned runlist * may be the same as @dst but this is irrelevant.) * - * On error, return -errno. Both run lists are left unmodified. The following + * On error, return -errno. Both runlists are left unmodified. The following * error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. + * -ENOMEM - Not enough memory to allocate runlist array. * -EINVAL - Invalid parameters were passed in. */ -static inline run_list_element *ntfs_rl_insert(run_list_element *dst, - int dsize, run_list_element *src, int ssize, int loc) +static inline runlist_element *ntfs_rl_insert(runlist_element *dst, + int dsize, runlist_element *src, int ssize, int loc) { BOOL left = FALSE; BOOL disc = FALSE; /* Discontinuity */ @@ -290,7 +290,7 @@ static inline run_list_element *ntfs_rl_insert(run_list_element *dst, return dst; /* * We are guaranteed to succeed from here so can start modifying the - * original run list. + * original runlist. */ if (left) @@ -336,30 +336,30 @@ static inline run_list_element *ntfs_rl_insert(run_list_element *dst, } /** - * ntfs_rl_replace - overwrite a run_list element with another run list - * @dst: original run list to be worked on + * ntfs_rl_replace - overwrite a runlist element with another runlist + * @dst: original runlist to be worked on * @dsize: number of elements in @dst (including end marker) - * @src: new run list to be inserted + * @src: new runlist to be inserted * @ssize: number of elements in @src (excluding end marker) - * @loc: index in run list @dst to overwrite with @src + * @loc: index in runlist @dst to overwrite with @src * - * Replace the run list element @dst at @loc with @src. Merge the left and - * right ends of the inserted run list, if necessary. + * Replace the runlist element @dst at @loc with @src. Merge the left and + * right ends of the inserted runlist, if necessary. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. * - * On success, return a pointer to the new, combined, run list. Note, both - * run lists @dst and @src are deallocated before returning so you cannot use - * the pointers for anything any more. (Strictly speaking the returned run list + * On success, return a pointer to the new, combined, runlist. Note, both + * runlists @dst and @src are deallocated before returning so you cannot use + * the pointers for anything any more. (Strictly speaking the returned runlist * may be the same as @dst but this is irrelevant.) * - * On error, return -errno. Both run lists are left unmodified. The following + * On error, return -errno. Both runlists are left unmodified. The following * error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. + * -ENOMEM - Not enough memory to allocate runlist array. * -EINVAL - Invalid parameters were passed in. */ -static inline run_list_element *ntfs_rl_replace(run_list_element *dst, - int dsize, run_list_element *src, int ssize, int loc) +static inline runlist_element *ntfs_rl_replace(runlist_element *dst, + int dsize, runlist_element *src, int ssize, int loc) { BOOL left = FALSE; BOOL right; @@ -380,7 +380,7 @@ static inline run_list_element *ntfs_rl_replace(run_list_element *dst, return dst; /* * We are guaranteed to succeed from here so can start modifying the - * original run lists. + * original runlists. */ if (right) __ntfs_rl_merge(src + ssize - 1, dst + loc + 1); @@ -401,31 +401,31 @@ static inline run_list_element *ntfs_rl_replace(run_list_element *dst, } /** - * ntfs_rl_split - insert a run list into the centre of a hole - * @dst: original run list to be worked on + * ntfs_rl_split - insert a runlist into the centre of a hole + * @dst: original runlist to be worked on * @dsize: number of elements in @dst (including end marker) - * @src: new run list to be inserted + * @src: new runlist to be inserted * @ssize: number of elements in @src (excluding end marker) - * @loc: index in run list @dst at which to split and insert @src + * @loc: index in runlist @dst at which to split and insert @src * - * Split the run list @dst at @loc into two and insert @new in between the two - * fragments. No merging of run lists is necessary. Adjust the size of the + * Split the runlist @dst at @loc into two and insert @new in between the two + * fragments. No merging of runlists is necessary. Adjust the size of the * holes either side. * - * It is up to the caller to serialize access to the run lists @dst and @src. + * It is up to the caller to serialize access to the runlists @dst and @src. * - * On success, return a pointer to the new, combined, run list. Note, both - * run lists @dst and @src are deallocated before returning so you cannot use - * the pointers for anything any more. (Strictly speaking the returned run list + * On success, return a pointer to the new, combined, runlist. Note, both + * runlists @dst and @src are deallocated before returning so you cannot use + * the pointers for anything any more. (Strictly speaking the returned runlist * may be the same as @dst but this is irrelevant.) * - * On error, return -errno. Both run lists are left unmodified. The following + * On error, return -errno. Both runlists are left unmodified. The following * error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. + * -ENOMEM - Not enough memory to allocate runlist array. * -EINVAL - Invalid parameters were passed in. */ -static inline run_list_element *ntfs_rl_split(run_list_element *dst, int dsize, - run_list_element *src, int ssize, int loc) +static inline runlist_element *ntfs_rl_split(runlist_element *dst, int dsize, + runlist_element *src, int ssize, int loc) { BUG_ON(!dst); BUG_ON(!src); @@ -436,7 +436,7 @@ static inline run_list_element *ntfs_rl_split(run_list_element *dst, int dsize, return dst; /* * We are guaranteed to succeed from here so can start modifying the - * original run lists. + * original runlists. */ /* Move the tail of @dst out of the way, then copy in @src. */ @@ -452,17 +452,17 @@ static inline run_list_element *ntfs_rl_split(run_list_element *dst, int dsize, } /** - * ntfs_merge_run_lists - merge two run_lists into one - * @drl: original run list to be worked on - * @srl: new run list to be merged into @drl + * ntfs_merge_runlists - merge two runlists into one + * @drl: original runlist to be worked on + * @srl: new runlist to be merged into @drl * - * First we sanity check the two run lists @srl and @drl to make sure that they - * are sensible and can be merged. The run list @srl must be either after the - * run list @drl or completely within a hole (or unmapped region) in @drl. + * First we sanity check the two runlists @srl and @drl to make sure that they + * are sensible and can be merged. The runlist @srl must be either after the + * runlist @drl or completely within a hole (or unmapped region) in @drl. * - * It is up to the caller to serialize access to the run lists @drl and @srl. + * It is up to the caller to serialize access to the runlists @drl and @srl. * - * Merging of run lists is necessary in two cases: + * Merging of runlists is necessary in two cases: * 1. When attribute lists are used and a further extent is being mapped. * 2. When new clusters are allocated to fill a hole or extend a file. * @@ -471,22 +471,22 @@ static inline run_list_element *ntfs_rl_split(run_list_element *dst, int dsize, * - split the hole in two and be inserted between the two fragments, * - be appended at the end of a hole, or it can * - replace the whole hole. - * It can also be appended to the end of the run list, which is just a variant + * It can also be appended to the end of the runlist, which is just a variant * of the insert case. * - * On success, return a pointer to the new, combined, run list. Note, both - * run lists @drl and @srl are deallocated before returning so you cannot use - * the pointers for anything any more. (Strictly speaking the returned run list + * On success, return a pointer to the new, combined, runlist. Note, both + * runlists @drl and @srl are deallocated before returning so you cannot use + * the pointers for anything any more. (Strictly speaking the returned runlist * may be the same as @dst but this is irrelevant.) * - * On error, return -errno. Both run lists are left unmodified. The following + * On error, return -errno. Both runlists are left unmodified. The following * error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. + * -ENOMEM - Not enough memory to allocate runlist array. * -EINVAL - Invalid parameters were passed in. - * -ERANGE - The run lists overlap and cannot be merged. + * -ERANGE - The runlists overlap and cannot be merged. */ -run_list_element *ntfs_merge_run_lists(run_list_element *drl, - run_list_element *srl) +runlist_element *ntfs_merge_runlists(runlist_element *drl, + runlist_element *srl) { int di, si; /* Current index into @[ds]rl. */ int sstart; /* First index with lcn > LCN_RL_NOT_MAPPED. */ @@ -507,21 +507,21 @@ run_list_element *ntfs_merge_run_lists(run_list_element *drl, /* Check for silly calling... */ if (unlikely(!srl)) return drl; - if (unlikely(IS_ERR(srl) || IS_ERR(drl))) + if (IS_ERR(srl) || IS_ERR(drl)) return ERR_PTR(-EINVAL); /* Check for the case where the first mapping is being done now. */ if (unlikely(!drl)) { drl = srl; - /* Complete the source run list if necessary. */ + /* Complete the source runlist if necessary. */ if (unlikely(drl[0].vcn)) { - /* Scan to the end of the source run list. */ + /* Scan to the end of the source runlist. */ for (dend = 0; likely(drl[dend].length); dend++) ; drl = ntfs_rl_realloc(drl, dend, dend + 1); if (IS_ERR(drl)) return drl; - /* Insert start element at the front of the run list. */ + /* Insert start element at the front of the runlist. */ ntfs_rl_mm(drl, 1, 0, dend); drl[0].vcn = 0; drl[0].lcn = LCN_RL_NOT_MAPPED; @@ -532,11 +532,11 @@ run_list_element *ntfs_merge_run_lists(run_list_element *drl, si = di = 0; - /* Skip any unmapped start element(s) in the source run_list. */ + /* Skip any unmapped start element(s) in the source runlist. */ while (srl[si].length && srl[si].lcn < (LCN)LCN_HOLE) si++; - /* Can't have an entirely unmapped source run list. */ + /* Can't have an entirely unmapped source runlist. */ BUG_ON(!srl[si].length); /* Record the starting points. */ @@ -560,7 +560,7 @@ run_list_element *ntfs_merge_run_lists(run_list_element *drl, return ERR_PTR(-ERANGE); } - /* Scan to the end of both run lists in order to know their sizes. */ + /* Scan to the end of both runlists in order to know their sizes. */ for (send = si; srl[send].length; send++) ; for (dend = di; drl[dend].length; dend++) @@ -631,7 +631,7 @@ run_list_element *ntfs_merge_run_lists(run_list_element *drl, goto finished; } /* - * We need to create an unmapped run list element in + * We need to create an unmapped runlist element in * @drl or extend an existing one before adding the * ENOENT terminator. */ @@ -640,7 +640,7 @@ run_list_element *ntfs_merge_run_lists(run_list_element *drl, slots = 1; } if (drl[ds].lcn != (LCN)LCN_RL_NOT_MAPPED) { - /* Add an unmapped run list element. */ + /* Add an unmapped runlist element. */ if (!slots) { /* FIXME/TODO: We need to have the * extra memory already! (AIA) */ @@ -677,7 +677,7 @@ run_list_element *ntfs_merge_run_lists(run_list_element *drl, finished: /* The merge was completed successfully. */ - ntfs_debug("Merged run list:"); + ntfs_debug("Merged runlist:"); ntfs_debug_dump_runlist(drl); return drl; @@ -688,45 +688,45 @@ critical_error: } /** - * decompress_mapping_pairs - convert mapping pairs array to run list + * decompress_mapping_pairs - convert mapping pairs array to runlist * @vol: ntfs volume on which the attribute resides * @attr: attribute record whose mapping pairs array to decompress - * @old_rl: optional run list in which to insert @attr's run list + * @old_rl: optional runlist in which to insert @attr's runlist * - * It is up to the caller to serialize access to the run list @old_rl. + * It is up to the caller to serialize access to the runlist @old_rl. * - * Decompress the attribute @attr's mapping pairs array into a run list. On - * success, return the decompressed run list. + * Decompress the attribute @attr's mapping pairs array into a runlist. On + * success, return the decompressed runlist. * - * If @old_rl is not NULL, decompressed run list is inserted into the - * appropriate place in @old_rl and the resultant, combined run list is + * If @old_rl is not NULL, decompressed runlist is inserted into the + * appropriate place in @old_rl and the resultant, combined runlist is * returned. The original @old_rl is deallocated. * * On error, return -errno. @old_rl is left unmodified in that case. * * The following error codes are defined: - * -ENOMEM - Not enough memory to allocate run list array. - * -EIO - Corrupt run list. + * -ENOMEM - Not enough memory to allocate runlist array. + * -EIO - Corrupt runlist. * -EINVAL - Invalid parameters were passed in. - * -ERANGE - The two run lists overlap. + * -ERANGE - The two runlists overlap. * * FIXME: For now we take the conceptionally simplest approach of creating the - * new run list disregarding the already existing one and then splicing the + * new runlist disregarding the already existing one and then splicing the * two into one, if that is possible (we check for overlap and discard the new - * run list if overlap present before returning ERR_PTR(-ERANGE)). + * runlist if overlap present before returning ERR_PTR(-ERANGE)). */ -run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, - const ATTR_RECORD *attr, run_list_element *old_rl) +runlist_element *decompress_mapping_pairs(const ntfs_volume *vol, + const ATTR_RECORD *attr, runlist_element *old_rl) { VCN vcn; /* Current vcn. */ LCN lcn; /* Current lcn. */ s64 deltaxcn; /* Change in [vl]cn. */ - run_list_element *rl; /* The output run list. */ + runlist_element *rl; /* The output runlist. */ u8 *buf; /* Current position in mapping pairs array. */ u8 *attr_end; /* End of attribute. */ - int rlsize; /* Size of run list buffer. */ - u16 rlpos; /* Current run list position in units of - run_list_elements. */ + int rlsize; /* Size of runlist buffer. */ + u16 rlpos; /* Current runlist position in units of + runlist_elements. */ u8 b; /* Current byte offset in buf. */ #ifdef DEBUG @@ -748,9 +748,9 @@ run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, ntfs_error(vol->sb, "Corrupt attribute."); return ERR_PTR(-EIO); } - /* Current position in run list array. */ + /* Current position in runlist array. */ rlpos = 0; - /* Allocate first page and set current run list size to one page. */ + /* Allocate first page and set current runlist size to one page. */ rl = ntfs_malloc_nofs(rlsize = PAGE_SIZE); if (unlikely(!rl)) return ERR_PTR(-ENOMEM); @@ -768,7 +768,7 @@ run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, * operates on whole pages only. */ if (((rlpos + 3) * sizeof(*old_rl)) > rlsize) { - run_list_element *rl2; + runlist_element *rl2; rl2 = ntfs_malloc_nofs(rlsize + (int)PAGE_SIZE); if (unlikely(!rl2)) { @@ -780,7 +780,7 @@ run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, rl = rl2; rlsize += PAGE_SIZE; } - /* Enter the current vcn into the current run_list element. */ + /* Enter the current vcn into the current runlist element. */ rl[rlpos].vcn = vcn; /* * Get the change in vcn, i.e. the run length in clusters. @@ -810,7 +810,7 @@ run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, goto err_out; } /* - * Enter the current run length into the current run list + * Enter the current run length into the current runlist * element. */ rl[rlpos].length = deltaxcn; @@ -854,10 +854,10 @@ run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, "mapping pairs array."); goto err_out; } - /* Enter the current lcn into the run_list element. */ + /* Enter the current lcn into the runlist element. */ rl[rlpos].lcn = lcn; } - /* Get to the next run_list element. */ + /* Get to the next runlist element. */ rlpos++; /* Increment the buffer position to the next mapping pair. */ buf += (*buf & 0xf) + ((*buf >> 4) & 0xf) + 1; @@ -866,7 +866,7 @@ run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, goto io_error; /* * If there is a highest_vcn specified, it must be equal to the final - * vcn in the run list - 1, or something has gone badly wrong. + * vcn in the runlist - 1, or something has gone badly wrong. */ deltaxcn = sle64_to_cpu(attr->data.non_resident.highest_vcn); if (unlikely(deltaxcn && vcn - 1 != deltaxcn)) { @@ -875,7 +875,7 @@ mpa_err: "non-resident attribute."); goto err_out; } - /* Setup not mapped run list element if this is the base extent. */ + /* Setup not mapped runlist element if this is the base extent. */ if (!attr->data.non_resident.lowest_vcn) { VCN max_cluster; @@ -885,7 +885,7 @@ mpa_err: vol->cluster_size_bits; /* * If there is a difference between the highest_vcn and the - * highest cluster, the run list is either corrupt or, more + * highest cluster, the runlist is either corrupt or, more * likely, there are more extents following this one. */ if (deltaxcn < --max_cluster) { @@ -908,21 +908,21 @@ mpa_err: } else /* Not the base extent. There may be more extents to follow. */ rl[rlpos].lcn = (LCN)LCN_RL_NOT_MAPPED; - /* Setup terminating run_list element. */ + /* Setup terminating runlist element. */ rl[rlpos].vcn = vcn; rl[rlpos].length = (s64)0; - /* If no existing run list was specified, we are done. */ + /* If no existing runlist was specified, we are done. */ if (!old_rl) { ntfs_debug("Mapping pairs array successfully decompressed:"); ntfs_debug_dump_runlist(rl); return rl; } - /* Now combine the new and old run lists checking for overlaps. */ - old_rl = ntfs_merge_run_lists(old_rl, rl); + /* Now combine the new and old runlists checking for overlaps. */ + old_rl = ntfs_merge_runlists(old_rl, rl); if (likely(!IS_ERR(old_rl))) return old_rl; ntfs_free(rl); - ntfs_error(vol->sb, "Failed to merge run lists."); + ntfs_error(vol->sb, "Failed to merge runlists."); return old_rl; io_error: ntfs_error(vol->sb, "Corrupt attribute."); @@ -932,22 +932,25 @@ err_out: } /** - * map_run_list - map (a part of) a run list of an ntfs inode - * @ni: ntfs inode for which to map (part of) a run list - * @vcn: map run list part containing this vcn + * ntfs_map_runlist - map (a part of) a runlist of an ntfs inode + * @ni: ntfs inode for which to map (part of) a runlist + * @vcn: map runlist part containing this vcn * - * Map the part of a run list containing the @vcn of an the ntfs inode @ni. + * Map the part of a runlist containing the @vcn of the ntfs inode @ni. * * Return 0 on success and -errno on error. + * + * Locking: - The runlist must be unlocked on entry and is unlocked on return. + * - This function takes the lock for writing and modifies the runlist. */ -int map_run_list(ntfs_inode *ni, VCN vcn) +int ntfs_map_runlist(ntfs_inode *ni, VCN vcn) { ntfs_inode *base_ni; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; MFT_RECORD *mrec; int err = 0; - ntfs_debug("Mapping run list part containing vcn 0x%llx.", + ntfs_debug("Mapping runlist part containing vcn 0x%llx.", (unsigned long long)vcn); if (!NInoAttr(ni)) @@ -958,69 +961,67 @@ int map_run_list(ntfs_inode *ni, VCN vcn) mrec = map_mft_record(base_ni); if (IS_ERR(mrec)) return PTR_ERR(mrec); - ctx = get_attr_search_ctx(base_ni, mrec); - if (!ctx) { + ctx = ntfs_attr_get_search_ctx(base_ni, mrec); + if (unlikely(!ctx)) { err = -ENOMEM; goto err_out; } - if (!lookup_attr(ni->type, ni->name, ni->name_len, CASE_SENSITIVE, vcn, - NULL, 0, ctx)) { - put_attr_search_ctx(ctx); - err = -ENOENT; - goto err_out; - } + err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, + CASE_SENSITIVE, vcn, NULL, 0, ctx); + if (unlikely(err)) + goto put_err_out; - down_write(&ni->run_list.lock); + down_write(&ni->runlist.lock); /* Make sure someone else didn't do the work while we were sleeping. */ - if (likely(vcn_to_lcn(ni->run_list.rl, vcn) <= LCN_RL_NOT_MAPPED)) { - run_list_element *rl; + if (likely(ntfs_vcn_to_lcn(ni->runlist.rl, vcn) <= LCN_RL_NOT_MAPPED)) { + runlist_element *rl; rl = decompress_mapping_pairs(ni->vol, ctx->attr, - ni->run_list.rl); - if (unlikely(IS_ERR(rl))) + ni->runlist.rl); + if (IS_ERR(rl)) err = PTR_ERR(rl); else - ni->run_list.rl = rl; + ni->runlist.rl = rl; } - up_write(&ni->run_list.lock); + up_write(&ni->runlist.lock); - put_attr_search_ctx(ctx); +put_err_out: + ntfs_attr_put_search_ctx(ctx); err_out: unmap_mft_record(base_ni); return err; } /** - * vcn_to_lcn - convert a vcn into a lcn given a run list - * @rl: run list to use for conversion + * ntfs_vcn_to_lcn - convert a vcn into a lcn given a runlist + * @rl: runlist to use for conversion * @vcn: vcn to convert * * Convert the virtual cluster number @vcn of an attribute into a logical - * cluster number (lcn) of a device using the run list @rl to map vcns to their + * cluster number (lcn) of a device using the runlist @rl to map vcns to their * corresponding lcns. * - * It is up to the caller to serialize access to the run list @rl. + * It is up to the caller to serialize access to the runlist @rl. * * Since lcns must be >= 0, we use negative return values with special meaning: * * Return value Meaning / Description * ================================================== * -1 = LCN_HOLE Hole / not allocated on disk. - * -2 = LCN_RL_NOT_MAPPED This is part of the run list which has not been - * inserted into the run list yet. + * -2 = LCN_RL_NOT_MAPPED This is part of the runlist which has not been + * inserted into the runlist yet. * -3 = LCN_ENOENT There is no such vcn in the attribute. - * -4 = LCN_EINVAL Input parameter error (if debug enabled). + * + * Locking: - The caller must have locked the runlist (for reading or writing). + * - This function does not touch the lock. */ -LCN vcn_to_lcn(const run_list_element *rl, const VCN vcn) +LCN ntfs_vcn_to_lcn(const runlist_element *rl, const VCN vcn) { int i; -#ifdef DEBUG - if (vcn < (VCN)0) - return (LCN)LCN_EINVAL; -#endif + BUG_ON(vcn < 0); /* - * If rl is NULL, assume that we have found an unmapped run list. The + * If rl is NULL, assume that we have found an unmapped runlist. The * caller can then attempt to map it and fail appropriately if * necessary. */ @@ -1049,7 +1050,104 @@ LCN vcn_to_lcn(const run_list_element *rl, const VCN vcn) } /** - * find_attr - find (next) attribute in mft record + * ntfs_find_vcn - find a vcn in the runlist described by an ntfs inode + * @ni: ntfs inode describing the runlist to search + * @vcn: vcn to find + * @need_write: if false, lock for reading and if true, lock for writing + * + * Find the virtual cluster number @vcn in the runlist described by the ntfs + * inode @ni and return the address of the runlist element containing the @vcn. + * The runlist is left locked and the caller has to unlock it. If @need_write + * is true, the runlist is locked for writing and if @need_write is false, the + * runlist is locked for reading. In the error case, the runlist is not left + * locked. + * + * Note you need to distinguish between the lcn of the returned runlist element + * being >= 0 and LCN_HOLE. In the later case you have to return zeroes on + * read and allocate clusters on write. + * + * Return the runlist element containing the @vcn on success and + * ERR_PTR(-errno) on error. You need to test the return value with IS_ERR() + * to decide if the return is success or failure and PTR_ERR() to get to the + * error code if IS_ERR() is true. + * + * The possible error return codes are: + * -ENOENT - No such vcn in the runlist, i.e. @vcn is out of bounds. + * -ENOMEM - Not enough memory to map runlist. + * -EIO - Critical error (runlist/file is corrupt, i/o error, etc). + * + * Locking: - The runlist must be unlocked on entry. + * - On failing return, the runlist is unlocked. + * - On successful return, the runlist is locked. If @need_write us + * true, it is locked for writing. Otherwise is is locked for + * reading. + */ +runlist_element *ntfs_find_vcn(ntfs_inode *ni, const VCN vcn, + const BOOL need_write) +{ + runlist_element *rl; + int err = 0; + BOOL is_retry = FALSE; + + ntfs_debug("Entering for i_ino 0x%lx, vcn 0x%llx, lock for %sing.", + ni->mft_no, (unsigned long long)vcn, + !need_write ? "read" : "writ"); + BUG_ON(!ni); + BUG_ON(!NInoNonResident(ni)); + BUG_ON(vcn < 0); +lock_retry_remap: + if (!need_write) + down_read(&ni->runlist.lock); + else + down_write(&ni->runlist.lock); + rl = ni->runlist.rl; + if (likely(rl && vcn >= rl[0].vcn)) { + while (likely(rl->length)) { + if (likely(vcn < rl[1].vcn)) { + if (likely(rl->lcn >= (LCN)LCN_HOLE)) { + ntfs_debug("Done."); + return rl; + } + break; + } + rl++; + } + if (likely(rl->lcn != (LCN)LCN_RL_NOT_MAPPED)) { + if (likely(rl->lcn == (LCN)LCN_ENOENT)) + err = -ENOENT; + else + err = -EIO; + } + } + if (!need_write) + up_read(&ni->runlist.lock); + else + up_write(&ni->runlist.lock); + if (!err && !is_retry) { + /* + * The @vcn is in an unmapped region, map the runlist and + * retry. + */ + err = ntfs_map_runlist(ni, vcn); + if (likely(!err)) { + is_retry = TRUE; + goto lock_retry_remap; + } + /* + * -EINVAL and -ENOENT coming from a failed mapping attempt are + * equivalent to i/o errors for us as they should not happen in + * our code paths. + */ + if (err == -EINVAL || err == -ENOENT) + err = -EIO; + } else if (!err) + err = -EIO; + ntfs_error(ni->vol->sb, "Failed with error code %i.", err); + return ERR_PTR(err); +} + +/** + * ntfs_attr_find - find (next) attribute in mft record * @type: attribute type to find * @name: attribute name to find (optional, i.e. NULL means don't care) * @name_len: attribute name length (only needed if @name present) @@ -1058,47 +1156,56 @@ LCN vcn_to_lcn(const run_list_element *rl, const VCN vcn) * @val_len: attribute value length * @ctx: search context with mft record and attribute to search from * - * You shouldn't need to call this function directly. Use lookup_attr() instead. + * You should not need to call this function directly. Use ntfs_attr_lookup() + * instead. * - * find_attr() takes a search context @ctx as parameter and searches the mft - * record specified by @ctx->mrec, beginning at @ctx->attr, for an attribute of - * @type, optionally @name and @val. If found, find_attr() returns TRUE and - * @ctx->attr will point to the found attribute. If not found, find_attr() - * returns FALSE and @ctx->attr is undefined (i.e. do not rely on it not - * changing). + * ntfs_attr_find() takes a search context @ctx as parameter and searches the + * mft record specified by @ctx->mrec, beginning at @ctx->attr, for an + * attribute of @type, optionally @name and @val. * - * If @ctx->is_first is TRUE, the search begins with @ctx->attr itself. If it + * If the attribute is found, ntfs_attr_find() returns 0 and @ctx->attr will + * point to the found attribute. + * + * If the attribute is not found, ntfs_attr_find() returns -ENOENT and + * @ctx->attr will point to the attribute before which the attribute being + * searched for would need to be inserted if such an action were to be desired. + * + * On actual error, ntfs_attr_find() returns -EIO. In this case @ctx->attr is + * undefined and in particular do not rely on it not changing. + * + * If @ctx->is_first is TRUE, the search begins with @ctx->attr itself. If it * is FALSE, the search begins after @ctx->attr. * * If @ic is IGNORE_CASE, the @name comparisson is not case sensitive and * @ctx->ntfs_ino must be set to the ntfs inode to which the mft record - * @ctx->mrec belongs. This is so we can get at the ntfs volume and hence at - * the upcase table. If @ic is CASE_SENSITIVE, the comparison is case - * sensitive. When @name is present, @name_len is the @name length in Unicode + * @ctx->mrec belongs. This is so we can get at the ntfs volume and hence at + * the upcase table. If @ic is CASE_SENSITIVE, the comparison is case + * sensitive. When @name is present, @name_len is the @name length in Unicode * characters. * * If @name is not present (NULL), we assume that the unnamed attribute is * being searched for. * - * Finally, the resident attribute value @val is looked for, if present. If @val - * is not present (NULL), @val_len is ignored. + * Finally, the resident attribute value @val is looked for, if present. If + * @val is not present (NULL), @val_len is ignored. * - * find_attr() only searches the specified mft record and it ignores the + * ntfs_attr_find() only searches the specified mft record and it ignores the * presence of an attribute list attribute (unless it is the one being searched - * for, obviously). If you need to take attribute lists into consideration, use - * lookup_attr() instead (see below). This also means that you cannot use - * find_attr() to search for extent records of non-resident attributes, as - * extents with lowest_vcn != 0 are usually described by the attribute list - * attribute only. - Note that it is possible that the first extent is only in - * the attribute list while the last extent is in the base mft record, so don't - * rely on being able to find the first extent in the base mft record. + * for, obviously). If you need to take attribute lists into consideration, + * use ntfs_attr_lookup() instead (see below). This also means that you cannot + * use ntfs_attr_find() to search for extent records of non-resident + * attributes, as extents with lowest_vcn != 0 are usually described by the + * attribute list attribute only. - Note that it is possible that the first + * extent is only in the attribute list while the last extent is in the base + * mft record, so do not rely on being able to find the first extent in the + * base mft record. * * Warning: Never use @val when looking for attribute types which can be * non-resident as this most likely will result in a crash! */ -BOOL find_attr(const ATTR_TYPES type, const ntfschar *name, const u32 name_len, - const IGNORE_CASE_BOOL ic, const u8 *val, const u32 val_len, - attr_search_context *ctx) +static int ntfs_attr_find(const ATTR_TYPE type, const ntfschar *name, + const u32 name_len, const IGNORE_CASE_BOOL ic, + const u8 *val, const u32 val_len, ntfs_attr_search_ctx *ctx) { ATTR_RECORD *a; ntfs_volume *vol; @@ -1129,21 +1236,21 @@ BOOL find_attr(const ATTR_TYPES type, const ntfschar *name, const u32 name_len, le32_to_cpu(ctx->mrec->bytes_allocated)) break; ctx->attr = a; - /* We catch $END with this more general check, too... */ - if (le32_to_cpu(a->type) > le32_to_cpu(type)) - return FALSE; + if (unlikely(le32_to_cpu(a->type) > le32_to_cpu(type) || + a->type == AT_END)) + return -ENOENT; if (unlikely(!a->length)) break; if (a->type != type) continue; /* - * If @name is present, compare the two names. If @name is + * If @name is present, compare the two names. If @name is * missing, assume we want an unnamed attribute. */ if (!name) { /* The search failed if the found attribute is named. */ if (a->name_length) - return FALSE; + return -ENOENT; } else if (!ntfs_are_names_equal(name, name_len, (ntfschar*)((u8*)a + le16_to_cpu(a->name_offset)), a->name_length, ic, upcase, upcase_len)) { @@ -1151,7 +1258,7 @@ BOOL find_attr(const ATTR_TYPES type, const ntfschar *name, const u32 name_len, rc = ntfs_collate_names(name, name_len, (ntfschar*)((u8*)a + - le16_to_cpu(a->name_offset)), + le16_to_cpu(a->name_offset)), a->name_length, 1, IGNORE_CASE, upcase, upcase_len); /* @@ -1159,67 +1266,66 @@ BOOL find_attr(const ATTR_TYPES type, const ntfschar *name, const u32 name_len, * matching attribute. */ if (rc == -1) - return FALSE; + return -ENOENT; /* If the strings are not equal, continue search. */ if (rc) continue; rc = ntfs_collate_names(name, name_len, (ntfschar*)((u8*)a + - le16_to_cpu(a->name_offset)), + le16_to_cpu(a->name_offset)), a->name_length, 1, CASE_SENSITIVE, upcase, upcase_len); if (rc == -1) - return FALSE; + return -ENOENT; if (rc) continue; } /* * The names match or @name not present and attribute is - * unnamed. If no @val specified, we have found the attribute + * unnamed. If no @val specified, we have found the attribute * and are done. */ if (!val) - return TRUE; + return 0; /* @val is present; compare values. */ else { - u32 vl; register int rc; - vl = le32_to_cpu(a->data.resident.value_length); - if (vl > val_len) - vl = val_len; - rc = memcmp(val, (u8*)a + le16_to_cpu( - a->data.resident.value_offset), vl); + a->data.resident.value_offset), + min_t(u32, val_len, le32_to_cpu( + a->data.resident.value_length))); /* * If @val collates before the current attribute's * value, there is no matching attribute. */ if (!rc) { register u32 avl; + avl = le32_to_cpu( a->data.resident.value_length); if (val_len == avl) - return TRUE; + return 0; if (val_len < avl) - return FALSE; + return -ENOENT; } else if (rc < 0) - return FALSE; + return -ENOENT; } } - ntfs_error(NULL, "Inode is corrupt. Run chkdsk."); - return FALSE; + ntfs_error(NULL, "Inode is corrupt. Run chkdsk."); + NVolSetErrors(vol); + return -EIO; } /** * load_attribute_list - load an attribute list into memory * @vol: ntfs volume from which to read - * @run_list: run list of the attribute list + * @runlist: runlist of the attribute list * @al_start: destination buffer * @size: size of the destination buffer in bytes * @initialized_size: initialized size of the attribute list * - * Walk the run list @run_list and load all clusters from it copying them into + * Walk the runlist @runlist and load all clusters from it copying them into * the linear buffer @al. The maximum number of bytes copied to @al is @size * bytes. Note, @size does not need to be a multiple of the cluster size. If * @initialized_size is less than @size, the region in @al between @@ -1227,13 +1333,13 @@ BOOL find_attr(const ATTR_TYPES type, const ntfschar *name, const u32 name_len, * * Return 0 on success or -errno on error. */ -int load_attribute_list(ntfs_volume *vol, run_list *run_list, u8 *al_start, +int load_attribute_list(ntfs_volume *vol, runlist *runlist, u8 *al_start, const s64 size, const s64 initialized_size) { LCN lcn; u8 *al = al_start; u8 *al_end = al + initialized_size; - run_list_element *rl; + runlist_element *rl; struct buffer_head *bh; struct super_block *sb; unsigned long block_size; @@ -1242,7 +1348,7 @@ int load_attribute_list(ntfs_volume *vol, run_list *run_list, u8 *al_start, unsigned char block_size_bits; ntfs_debug("Entering."); - if (!vol || !run_list || !al || size <= 0 || initialized_size < 0 || + if (!vol || !runlist || !al || size <= 0 || initialized_size < 0 || initialized_size > size) return -EINVAL; if (!initialized_size) { @@ -1252,17 +1358,17 @@ int load_attribute_list(ntfs_volume *vol, run_list *run_list, u8 *al_start, sb = vol->sb; block_size = sb->s_blocksize; block_size_bits = sb->s_blocksize_bits; - down_read(&run_list->lock); - rl = run_list->rl; - /* Read all clusters specified by the run list one run at a time. */ + down_read(&runlist->lock); + rl = runlist->rl; + /* Read all clusters specified by the runlist one run at a time. */ while (rl->length) { - lcn = vcn_to_lcn(rl, rl->vcn); + lcn = ntfs_vcn_to_lcn(rl, rl->vcn); ntfs_debug("Reading vcn = 0x%llx, lcn = 0x%llx.", (unsigned long long)rl->vcn, (unsigned long long)lcn); /* The attribute list cannot be sparse. */ if (lcn < 0) { - ntfs_error(sb, "vcn_to_lcn() failed. Cannot read " + ntfs_error(sb, "ntfs_vcn_to_lcn() failed. Cannot read " "attribute list."); goto err_out; } @@ -1292,7 +1398,7 @@ initialize: memset(al_start + initialized_size, 0, size - initialized_size); } done: - up_read(&run_list->lock); + up_read(&runlist->lock); return err; do_final: if (al < al_end) { @@ -1320,7 +1426,7 @@ err_out: } /** - * find_external_attr - find an attribute in the attribute list of an ntfs inode + * ntfs_external_attr_find - find an attribute in the attribute list of an inode * @type: attribute type to find * @name: attribute name to find (optional, i.e. NULL means don't care) * @name_len: attribute name length (only needed if @name present) @@ -1330,34 +1436,49 @@ err_out: * @val_len: attribute value length * @ctx: search context with mft record and attribute to search from * - * You shouldn't need to call this function directly. Use lookup_attr() instead. + * You should not need to call this function directly. Use ntfs_attr_lookup() + * instead. * * Find an attribute by searching the attribute list for the corresponding - * attribute list entry. Having found the entry, map the mft record for read - * if the attribute is in a different mft record/inode, find_attr the attribute + * attribute list entry. Having found the entry, map the mft record if the + * attribute is in a different mft record/inode, ntfs_attr_find() the attribute * in there and return it. * * On first search @ctx->ntfs_ino must be the base mft record and @ctx must - * have been obtained from a call to get_attr_search_ctx(). On subsequent calls - * @ctx->ntfs_ino can be any extent inode, too (@ctx->base_ntfs_ino is then the - * base inode). + * have been obtained from a call to ntfs_attr_get_search_ctx(). On subsequent + * calls @ctx->ntfs_ino can be any extent inode, too (@ctx->base_ntfs_ino is + * then the base inode). * * After finishing with the attribute/mft record you need to call - * put_attr_search_ctx() to cleanup the search context (unmapping any mapped - * inodes, etc). - * - * Return TRUE if the search was successful and FALSE if not. When TRUE, - * @ctx->attr is the found attribute and it is in mft record @ctx->mrec. When - * FALSE, @ctx->attr is the attribute which collates just after the attribute - * being searched for in the base ntfs inode, i.e. if one wants to add the - * attribute to the mft record this is the correct place to insert it into - * and if there is not enough space, the attribute should be placed in an - * extent mft record. + * ntfs_attr_put_search_ctx() to cleanup the search context (unmapping any + * mapped inodes, etc). + * + * If the attribute is found, ntfs_external_attr_find() returns 0 and + * @ctx->attr will point to the found attribute. @ctx->mrec will point to the + * mft record in which @ctx->attr is located and @ctx->al_entry will point to + * the attribute list entry for the attribute. + * + * If the attribute is not found, ntfs_external_attr_find() returns -ENOENT and + * @ctx->attr will point to the attribute in the base mft record before which + * the attribute being searched for would need to be inserted if such an action + * were to be desired. @ctx->mrec will point to the mft record in which + * @ctx->attr is located and @ctx->al_entry will point to the attribute list + * entry of the attribute before which the attribute being searched for would + * need to be inserted if such an action were to be desired. + * + * Thus to insert the not found attribute, one wants to add the attribute to + * @ctx->mrec (the base mft record) and if there is not enough space, the + * attribute should be placed in a newly allocated extent mft record. The + * attribute list entry for the inserted attribute should be inserted in the + * attribute list attribute at @ctx->al_entry. + * + * On actual error, ntfs_external_attr_find() returns -EIO. In this case + * @ctx->attr is undefined and in particular do not rely on it not changing. */ -static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, - const u32 name_len, const IGNORE_CASE_BOOL ic, - const VCN lowest_vcn, const u8 *val, const u32 val_len, - attr_search_context *ctx) +static int ntfs_external_attr_find(const ATTR_TYPE type, + const ntfschar *name, const u32 name_len, + const IGNORE_CASE_BOOL ic, const VCN lowest_vcn, + const u8 *val, const u32 val_len, ntfs_attr_search_ctx *ctx) { ntfs_inode *base_ni, *ni; ntfs_volume *vol; @@ -1366,6 +1487,8 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, ATTR_RECORD *a; ntfschar *al_name; u32 al_name_len; + int err = 0; + static const char *es = " Unmount and run chkdsk."; ni = ctx->ntfs_ino; base_ni = ctx->base_ntfs_ino; @@ -1377,6 +1500,8 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, } if (ni == base_ni) ctx->base_attr = ctx->attr; + if (type == AT_END) + goto not_found; vol = base_ni->vol; al_start = base_ni->attr_list; al_end = al_start + base_ni->attr_list_size; @@ -1413,7 +1538,7 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, if (type != al_entry->type) continue; /* - * If @name is present, compare the two names. If @name is + * If @name is present, compare the two names. If @name is * missing, assume we want an unnamed attribute. */ al_name_len = al_entry->name_length; @@ -1439,10 +1564,11 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, continue; /* * FIXME: Reverse engineering showed 0, IGNORE_CASE but - * that is inconsistent with find_attr(). The subsequent - * rc checks were also different. Perhaps I made a - * mistake in one of the two. Need to recheck which is - * correct or at least see what is going on... (AIA) + * that is inconsistent with ntfs_attr_find(). The + * subsequent rc checks were also different. Perhaps I + * made a mistake in one of the two. Need to recheck + * which is correct or at least see what is going on... + * (AIA) */ rc = ntfs_collate_names(name, name_len, al_name, al_name_len, 1, CASE_SENSITIVE, @@ -1454,8 +1580,8 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, } /* * The names match or @name not present and attribute is - * unnamed. Now check @lowest_vcn. Continue search if the - * next attribute list entry still fits @lowest_vcn. Otherwise + * unnamed. Now check @lowest_vcn. Continue search if the + * next attribute list entry still fits @lowest_vcn. Otherwise * we have reached the right one or the search has failed. */ if (lowest_vcn && (u8*)next_al_entry >= al_start && @@ -1463,7 +1589,7 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, (u8*)next_al_entry + le16_to_cpu( next_al_entry->length) <= al_end && sle64_to_cpu(next_al_entry->lowest_vcn) <= - sle64_to_cpu(lowest_vcn) && + lowest_vcn && next_al_entry->type == al_entry->type && next_al_entry->name_length == al_name_len && ntfs_are_names_equal((ntfschar*)((u8*) @@ -1476,7 +1602,10 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, if (MREF_LE(al_entry->mft_reference) == ni->mft_no) { if (MSEQNO_LE(al_entry->mft_reference) != ni->seq_no) { ntfs_error(vol->sb, "Found stale mft " - "reference in attribute list!"); + "reference in attribute list " + "of base inode 0x%lx.%s", + base_ni->mft_no, es); + err = -EIO; break; } } else { /* Mft references do not match. */ @@ -1491,13 +1620,20 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, } else { /* We want an extent record. */ ctx->mrec = map_extent_mft_record(base_ni, - al_entry->mft_reference, &ni); + le64_to_cpu( + al_entry->mft_reference), &ni); ctx->ntfs_ino = ni; if (IS_ERR(ctx->mrec)) { - ntfs_error(vol->sb, "Failed to map mft " - "record, error code " - "%ld.", - -PTR_ERR(ctx->mrec)); + ntfs_error(vol->sb, "Failed to map " + "extent mft record " + "0x%lx of base inode " + "0x%lx.%s", + MREF_LE(al_entry-> + mft_reference), + base_ni->mft_no, es); + err = PTR_ERR(ctx->mrec); + if (err == -ENOENT) + err = -EIO; break; } } @@ -1510,14 +1646,14 @@ static BOOL find_external_attr(const ATTR_TYPES type, const ntfschar *name, * current al_entry. */ /* - * We could call into find_attr() to find the right attribute - * in this mft record but this would be less efficient and not - * quite accurate as find_attr() ignores the attribute instance - * numbers for example which become important when one plays - * with attribute lists. Also, because a proper match has been - * found in the attribute list entry above, the comparison can - * now be optimized. So it is worth re-implementing a - * simplified find_attr() here. + * We could call into ntfs_attr_find() to find the right + * attribute in this mft record but this would be less + * efficient and not quite accurate as ntfs_attr_find() ignores + * the attribute instance numbers for example which become + * important when one plays with attribute lists. Also, + * because a proper match has been found in the attribute list + * entry above, the comparison can now be optimized. So it is + * worth re-implementing a simplified ntfs_attr_find() here. */ a = ctx->attr; /* @@ -1534,18 +1670,18 @@ do_next_attr_loop: break; if (al_entry->instance != a->instance) goto do_next_attr; + /* + * If the type and/or the name are mismatched between the + * attribute list entry and the attribute record, there is + * corruption so we break and return error EIO. + */ if (al_entry->type != a->type) - continue; - if (name) { - if (a->name_length != al_name_len) - continue; - if (!ntfs_are_names_equal((ntfschar*)((u8*)a + - le16_to_cpu(a->name_offset)), - a->name_length, al_name, al_name_len, - CASE_SENSITIVE, vol->upcase, - vol->upcase_len)) - continue; - } + break; + if (!ntfs_are_names_equal((ntfschar*)((u8*)a + + le16_to_cpu(a->name_offset)), a->name_length, + al_name, al_name_len, CASE_SENSITIVE, + vol->upcase, vol->upcase_len)) + break; ctx->attr = a; /* * If no @val specified or @val specified and it matches, we @@ -1557,46 +1693,78 @@ do_next_attr_loop: le16_to_cpu(a->data.resident.value_offset), val, val_len))) { ntfs_debug("Done, found."); - return TRUE; + return 0; } do_next_attr: /* Proceed to the next attribute in the current mft record. */ a = (ATTR_RECORD*)((u8*)a + le32_to_cpu(a->length)); goto do_next_attr_loop; } - ntfs_error(base_ni->vol->sb, "Inode contains corrupt attribute list " - "attribute."); + if (!err) { + ntfs_error(vol->sb, "Base inode 0x%lx contains corrupt " + "attribute list attribute.%s", base_ni->mft_no, + es); + err = -EIO; + } if (ni != base_ni) { unmap_extent_mft_record(ni); ctx->ntfs_ino = base_ni; ctx->mrec = ctx->base_mrec; ctx->attr = ctx->base_attr; } + if (err != -ENOMEM) + NVolSetErrors(vol); + return err; +not_found: /* - * FIXME: We absolutely have to return ERROR status instead of just - * false or we will blow up or even worse cause corruption when we add - * write support and we reach this code path! + * If we were looking for AT_END, we reset the search context @ctx and + * use ntfs_attr_find() to seek to the end of the base mft record. */ - printk(KERN_CRIT "NTFS: FIXME: Hit unfinished error code path!!!\n"); - return FALSE; -not_found: + if (type == AT_END) { + ntfs_attr_reinit_search_ctx(ctx); + return ntfs_attr_find(AT_END, name, name_len, ic, val, val_len, + ctx); + } + /* + * The attribute was not found. Before we return, we want to ensure + * @ctx->mrec and @ctx->attr indicate the position at which the + * attribute should be inserted in the base mft record. Since we also + * want to preserve @ctx->al_entry we cannot reinitialize the search + * context using ntfs_attr_reinit_search_ctx() as this would set + * @ctx->al_entry to NULL. Thus we do the necessary bits manually (see + * ntfs_attr_init_search_ctx() below). Note, we _only_ preserve + * @ctx->al_entry as the remaining fields (base_*) are identical to + * their non base_ counterparts and we cannot set @ctx->base_attr + * correctly yet as we do not know what @ctx->attr will be set to by + * the call to ntfs_attr_find() below. + */ + if (ni != base_ni) + unmap_extent_mft_record(ni); + ctx->mrec = ctx->base_mrec; + ctx->attr = (ATTR_RECORD*)((u8*)ctx->mrec + + le16_to_cpu(ctx->mrec->attrs_offset)); + ctx->is_first = TRUE; + ctx->ntfs_ino = base_ni; + ctx->base_ntfs_ino = NULL; + ctx->base_mrec = NULL; + ctx->base_attr = NULL; /* - * Seek to the end of the base mft record, i.e. when we return false, - * ctx->mrec and ctx->attr indicate where the attribute should be - * inserted into the attribute record. - * And of course ctx->al_entry points to the end of the attribute - * list inside NTFS_I(ctx->base_vfs_ino)->attr_list. - * - * FIXME: Do we really want to do this here? Think about it... (AIA) + * In case there are multiple matches in the base mft record, need to + * keep enumerating until we get an attribute not found response (or + * another error), otherwise we would keep returning the same attribute + * over and over again and all programs using us for enumeration would + * lock up in a tight loop. */ - reinit_attr_search_ctx(ctx); - find_attr(type, name, name_len, ic, val, val_len, ctx); + do { + err = ntfs_attr_find(type, name, name_len, ic, val, val_len, + ctx); + } while (!err); ntfs_debug("Done, not found."); - return FALSE; + return err; } /** - * lookup_attr - find an attribute in an ntfs inode + * ntfs_attr_lookup - find an attribute in an ntfs inode * @type: attribute type to find * @name: attribute name to find (optional, i.e. NULL means don't care) * @name_len: attribute name length (only needed if @name present) @@ -1606,27 +1774,38 @@ not_found: * @val_len: attribute value length * @ctx: search context with mft record and attribute to search from * - * Find an attribute in an ntfs inode. On first search @ctx->ntfs_ino must + * Find an attribute in an ntfs inode. On first search @ctx->ntfs_ino must * be the base mft record and @ctx must have been obtained from a call to - * get_attr_search_ctx(). + * ntfs_attr_get_search_ctx(). * * This function transparently handles attribute lists and @ctx is used to * continue searches where they were left off at. * * After finishing with the attribute/mft record you need to call - * put_attr_search_ctx() to cleanup the search context (unmapping any mapped - * inodes, etc). - * - * Return TRUE if the search was successful and FALSE if not. When TRUE, - * @ctx->attr is the found attribute and it is in mft record @ctx->mrec. When - * FALSE, @ctx->attr is the attribute which collates just after the attribute - * being searched for, i.e. if one wants to add the attribute to the mft - * record this is the correct place to insert it into. + * ntfs_attr_put_search_ctx() to cleanup the search context (unmapping any + * mapped inodes, etc). + * + * Return 0 if the search was successful and -errno if not. + * + * When 0, @ctx->attr is the found attribute and it is in mft record + * @ctx->mrec. If an attribute list attribute is present, @ctx->al_entry is + * the attribute list entry of the found attribute. + * + * When -ENOENT, @ctx->attr is the attribute which collates just after the + * attribute being searched for, i.e. if one wants to add the attribute to the + * mft record this is the correct place to insert it into. If an attribute + * list attribute is present, @ctx->al_entry is the attribute list entry which + * collates just after the attribute list entry of the attribute being searched + * for, i.e. if one wants to add the attribute to the mft record this is the + * correct place to insert its attribute list entry into. + * + * When -errno != -ENOENT, an error occured during the lookup. @ctx->attr is + * then undefined and in particular you should not rely on it not changing. */ -BOOL lookup_attr(const ATTR_TYPES type, const ntfschar *name, +int ntfs_attr_lookup(const ATTR_TYPE type, const ntfschar *name, const u32 name_len, const IGNORE_CASE_BOOL ic, const VCN lowest_vcn, const u8 *val, const u32 val_len, - attr_search_context *ctx) + ntfs_attr_search_ctx *ctx) { ntfs_inode *base_ni; @@ -1637,21 +1816,22 @@ BOOL lookup_attr(const ATTR_TYPES type, const ntfschar *name, base_ni = ctx->ntfs_ino; /* Sanity check, just for debugging really. */ BUG_ON(!base_ni); - if (!NInoAttrList(base_ni)) - return find_attr(type, name, name_len, ic, val, val_len, ctx); - return find_external_attr(type, name, name_len, ic, lowest_vcn, val, - val_len, ctx); + if (!NInoAttrList(base_ni) || type == AT_ATTRIBUTE_LIST) + return ntfs_attr_find(type, name, name_len, ic, val, val_len, + ctx); + return ntfs_external_attr_find(type, name, name_len, ic, lowest_vcn, + val, val_len, ctx); } /** - * init_attr_search_ctx - initialize an attribute search context + * ntfs_attr_init_search_ctx - initialize an attribute search context * @ctx: attribute search context to initialize * @ni: ntfs inode with which to initialize the search context * @mrec: mft record with which to initialize the search context * * Initialize the attribute search context @ctx with @ni and @mrec. */ -static inline void init_attr_search_ctx(attr_search_context *ctx, +static inline void ntfs_attr_init_search_ctx(ntfs_attr_search_ctx *ctx, ntfs_inode *ni, MFT_RECORD *mrec) { ctx->mrec = mrec; @@ -1666,7 +1846,7 @@ static inline void init_attr_search_ctx(attr_search_context *ctx, } /** - * reinit_attr_search_ctx - reinitialize an attribute search context + * ntfs_attr_reinit_search_ctx - reinitialize an attribute search context * @ctx: attribute search context to reinitialize * * Reinitialize the attribute search context @ctx, unmapping an associated @@ -1675,7 +1855,7 @@ static inline void init_attr_search_ctx(attr_search_context *ctx, * This is used when a search for a new attribute is being started to reset * the search context to the beginning. */ -void reinit_attr_search_ctx(attr_search_context *ctx) +void ntfs_attr_reinit_search_ctx(ntfs_attr_search_ctx *ctx) { if (likely(!ctx->base_ntfs_ino)) { /* No attribute list. */ @@ -1683,44 +1863,48 @@ void reinit_attr_search_ctx(attr_search_context *ctx) /* Sanity checks are performed elsewhere. */ ctx->attr = (ATTR_RECORD*)((u8*)ctx->mrec + le16_to_cpu(ctx->mrec->attrs_offset)); + /* + * This needs resetting due to ntfs_external_attr_find() which + * can leave it set despite having zeroed ctx->base_ntfs_ino. + */ + ctx->al_entry = NULL; return; } /* Attribute list. */ if (ctx->ntfs_ino != ctx->base_ntfs_ino) unmap_extent_mft_record(ctx->ntfs_ino); - init_attr_search_ctx(ctx, ctx->base_ntfs_ino, ctx->base_mrec); + ntfs_attr_init_search_ctx(ctx, ctx->base_ntfs_ino, ctx->base_mrec); return; } /** - * get_attr_search_ctx - allocate and initialize a new attribute search context + * ntfs_attr_get_search_ctx - allocate/initialize a new attribute search context * @ni: ntfs inode with which to initialize the search context * @mrec: mft record with which to initialize the search context * * Allocate a new attribute search context, initialize it with @ni and @mrec, * and return it. Return NULL if allocation failed. */ -attr_search_context *get_attr_search_ctx(ntfs_inode *ni, MFT_RECORD *mrec) +ntfs_attr_search_ctx *ntfs_attr_get_search_ctx(ntfs_inode *ni, MFT_RECORD *mrec) { - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; ctx = kmem_cache_alloc(ntfs_attr_ctx_cache, SLAB_NOFS); if (ctx) - init_attr_search_ctx(ctx, ni, mrec); + ntfs_attr_init_search_ctx(ctx, ni, mrec); return ctx; } /** - * put_attr_search_ctx - release an attribute search context + * ntfs_attr_put_search_ctx - release an attribute search context * @ctx: attribute search context to free * * Release the attribute search context @ctx, unmapping an associated extent * mft record if present. */ -void put_attr_search_ctx(attr_search_context *ctx) +void ntfs_attr_put_search_ctx(ntfs_attr_search_ctx *ctx) { if (ctx->base_ntfs_ino && ctx->ntfs_ino != ctx->base_ntfs_ino) unmap_extent_mft_record(ctx->ntfs_ino); kmem_cache_free(ntfs_attr_ctx_cache, ctx); return; } - diff --git a/fs/ntfs/attrib.h b/fs/ntfs/attrib.h index bbdc9deca..92899f4ff 100644 --- a/fs/ntfs/attrib.h +++ b/fs/ntfs/attrib.h @@ -30,7 +30,7 @@ #include "types.h" #include "layout.h" -static inline void init_run_list(run_list *rl) +static inline void init_runlist(runlist *rl) { rl->rl = NULL; init_rwsem(&rl->lock); @@ -40,14 +40,13 @@ typedef enum { LCN_HOLE = -1, /* Keep this as highest value or die! */ LCN_RL_NOT_MAPPED = -2, LCN_ENOENT = -3, - LCN_EINVAL = -4, } LCN_SPECIAL_VALUES; /** - * attr_search_context - used in attribute search functions + * ntfs_attr_search_ctx - used in attribute search functions * @mrec: buffer containing mft record to search * @attr: attribute record in @mrec where to begin/continue search - * @is_first: if true lookup_attr() begins search with @attr, else after @attr + * @is_first: if true ntfs_attr_lookup() begins search with @attr, else after * * Structure must be initialized to zero before the first call to one of the * attribute search functions. Initialize @mrec to point to the mft record to @@ -70,37 +69,36 @@ typedef struct { ntfs_inode *base_ntfs_ino; MFT_RECORD *base_mrec; ATTR_RECORD *base_attr; -} attr_search_context; +} ntfs_attr_search_ctx; -extern run_list_element *decompress_mapping_pairs(const ntfs_volume *vol, - const ATTR_RECORD *attr, run_list_element *old_rl); +extern runlist_element *decompress_mapping_pairs(const ntfs_volume *vol, + const ATTR_RECORD *attr, runlist_element *old_rl); -extern int map_run_list(ntfs_inode *ni, VCN vcn); +extern int ntfs_map_runlist(ntfs_inode *ni, VCN vcn); -extern LCN vcn_to_lcn(const run_list_element *rl, const VCN vcn); +extern LCN ntfs_vcn_to_lcn(const runlist_element *rl, const VCN vcn); -extern BOOL find_attr(const ATTR_TYPES type, const ntfschar *name, - const u32 name_len, const IGNORE_CASE_BOOL ic, const u8 *val, - const u32 val_len, attr_search_context *ctx); +extern runlist_element *ntfs_find_vcn(ntfs_inode *ni, const VCN vcn, + const BOOL need_write); -BOOL lookup_attr(const ATTR_TYPES type, const ntfschar *name, +int ntfs_attr_lookup(const ATTR_TYPE type, const ntfschar *name, const u32 name_len, const IGNORE_CASE_BOOL ic, const VCN lowest_vcn, const u8 *val, const u32 val_len, - attr_search_context *ctx); + ntfs_attr_search_ctx *ctx); -extern int load_attribute_list(ntfs_volume *vol, run_list *rl, u8 *al_start, +extern int load_attribute_list(ntfs_volume *vol, runlist *rl, u8 *al_start, const s64 size, const s64 initialized_size); -static inline s64 attribute_value_length(const ATTR_RECORD *a) +static inline s64 ntfs_attr_size(const ATTR_RECORD *a) { if (!a->non_resident) return (s64)le32_to_cpu(a->data.resident.value_length); return sle64_to_cpu(a->data.non_resident.data_size); } -extern void reinit_attr_search_ctx(attr_search_context *ctx); -extern attr_search_context *get_attr_search_ctx(ntfs_inode *ni, +extern void ntfs_attr_reinit_search_ctx(ntfs_attr_search_ctx *ctx); +extern ntfs_attr_search_ctx *ntfs_attr_get_search_ctx(ntfs_inode *ni, MFT_RECORD *mrec); -extern void put_attr_search_ctx(attr_search_context *ctx); +extern void ntfs_attr_put_search_ctx(ntfs_attr_search_ctx *ctx); #endif /* _LINUX_NTFS_ATTRIB_H */ diff --git a/fs/ntfs/compress.c b/fs/ntfs/compress.c index c39391bab..cc3aac147 100644 --- a/fs/ntfs/compress.c +++ b/fs/ntfs/compress.c @@ -203,7 +203,7 @@ do_next_sb: * position in the compression block is one byte before its end so the * first two checks do not detect it. */ - if (cb == cb_end || !le16_to_cpup((u16*)cb) || + if (cb == cb_end || !le16_to_cpup((le16*)cb) || (*dest_index == dest_max_index && *dest_ofs == dest_max_ofs)) { int i; @@ -255,7 +255,7 @@ return_error: /* Setup the current sub-block source pointers and validate range. */ cb_sb_start = cb; - cb_sb_end = cb_sb_start + (le16_to_cpup((u16*)cb) & NTFS_SB_SIZE_MASK) + cb_sb_end = cb_sb_start + (le16_to_cpup((le16*)cb) & NTFS_SB_SIZE_MASK) + 3; if (cb_sb_end > cb_end) goto return_overflow; @@ -277,7 +277,7 @@ return_error: dp_addr = (u8*)page_address(dp) + do_sb_start; /* Now, we are ready to process the current sub-block (sb). */ - if (!(le16_to_cpup((u16*)cb) & NTFS_SB_IS_COMPRESSED)) { + if (!(le16_to_cpup((le16*)cb) & NTFS_SB_IS_COMPRESSED)) { ntfs_debug("Found uncompressed sub-block."); /* This sb is not compressed, just copy it into destination. */ @@ -382,7 +382,7 @@ do_next_tag: lg++; /* Get the phrase token into i. */ - pt = le16_to_cpup((u16*)cb); + pt = le16_to_cpup((le16*)cb); /* * Calculate starting position of the byte sequence in @@ -478,7 +478,7 @@ int ntfs_read_compressed_block(struct page *page) ntfs_inode *ni = NTFS_I(mapping->host); ntfs_volume *vol = ni->vol; struct super_block *sb = vol->sb; - run_list_element *rl; + runlist_element *rl; unsigned long block_size = sb->s_blocksize; unsigned char block_size_bits = sb->s_blocksize_bits; u8 *cb, *cb_pos, *cb_end; @@ -575,7 +575,7 @@ int ntfs_read_compressed_block(struct page *page) } /* - * We have the run list, and all the destination pages we need to fill. + * We have the runlist, and all the destination pages we need to fill. * Now read the first compression block. */ cur_page = 0; @@ -593,14 +593,14 @@ do_next_cb: if (!rl) { lock_retry_remap: - down_read(&ni->run_list.lock); - rl = ni->run_list.rl; + down_read(&ni->runlist.lock); + rl = ni->runlist.rl; } if (likely(rl != NULL)) { /* Seek to element containing target vcn. */ while (rl->length && rl[1].vcn <= vcn) rl++; - lcn = vcn_to_lcn(rl, vcn); + lcn = ntfs_vcn_to_lcn(rl, vcn); } else lcn = (LCN)LCN_RL_NOT_MAPPED; ntfs_debug("Reading vcn = 0x%llx, lcn = 0x%llx.", @@ -617,11 +617,11 @@ lock_retry_remap: goto rl_err; is_retry = TRUE; /* - * Attempt to map run list, dropping lock for the + * Attempt to map runlist, dropping lock for the * duration. */ - up_read(&ni->run_list.lock); - if (!map_run_list(ni, vcn)) + up_read(&ni->runlist.lock); + if (!ntfs_map_runlist(ni, vcn)) goto lock_retry_remap; goto map_rl_err; } @@ -638,7 +638,7 @@ lock_retry_remap: /* Release the lock if we took it. */ if (rl) - up_read(&ni->run_list.lock); + up_read(&ni->runlist.lock); /* Setup and initiate io on all buffer heads. */ for (i = 0; i < nr_bhs; i++) { @@ -920,18 +920,18 @@ read_err: goto err_out; map_rl_err: - ntfs_error(vol->sb, "map_run_list() failed. Cannot read compression " - "block."); + ntfs_error(vol->sb, "ntfs_map_runlist() failed. Cannot read " + "compression block."); goto err_out; rl_err: - up_read(&ni->run_list.lock); - ntfs_error(vol->sb, "vcn_to_lcn() failed. Cannot read compression " - "block."); + up_read(&ni->runlist.lock); + ntfs_error(vol->sb, "ntfs_vcn_to_lcn() failed. Cannot read " + "compression block."); goto err_out; getblk_err: - up_read(&ni->run_list.lock); + up_read(&ni->runlist.lock); ntfs_error(vol->sb, "getblk() failed. Cannot read compression block."); err_out: diff --git a/fs/ntfs/debug.c b/fs/ntfs/debug.c index 8ba061051..6723f1826 100644 --- a/fs/ntfs/debug.c +++ b/fs/ntfs/debug.c @@ -127,22 +127,21 @@ void __ntfs_debug (const char *file, int line, const char *function, va_start(args, fmt); vsnprintf(err_buf, sizeof(err_buf), fmt, args); va_end(args); - printk(KERN_DEBUG "NTFS-fs DEBUG (%s, %d): %s: %s\n", + printk(KERN_DEBUG "NTFS-fs DEBUG (%s, %d): %s(): %s\n", file, line, flen ? function : "", err_buf); spin_unlock(&err_buf_lock); } -/* Dump a run list. Caller has to provide synchronisation for @rl. */ -void ntfs_debug_dump_runlist(const run_list_element *rl) +/* Dump a runlist. Caller has to provide synchronisation for @rl. */ +void ntfs_debug_dump_runlist(const runlist_element *rl) { int i; const char *lcn_str[5] = { "LCN_HOLE ", "LCN_RL_NOT_MAPPED", - "LCN_ENOENT ", "LCN_EINVAL ", - "LCN_unknown " }; + "LCN_ENOENT ", "LCN_unknown " }; if (!debug_msgs) return; - printk(KERN_DEBUG "NTFS-fs DEBUG: Dumping run list (values " + printk(KERN_DEBUG "NTFS-fs DEBUG: Dumping runlist (values " "in hex):\n"); if (!rl) { printk(KERN_DEBUG "Run list not present.\n"); @@ -155,17 +154,17 @@ void ntfs_debug_dump_runlist(const run_list_element *rl) if (lcn < (LCN)0) { int index = -lcn - 1; - if (index > -LCN_EINVAL - 1) - index = 4; + if (index > -LCN_ENOENT - 1) + index = 3; printk(KERN_DEBUG "%-16Lx %s %-16Lx%s\n", (rl + i)->vcn, lcn_str[index], (rl + i)->length, (rl + i)->length ? - "" : " (run list end)"); + "" : " (runlist end)"); } else printk(KERN_DEBUG "%-16Lx %-16Lx %-16Lx%s\n", (rl + i)->vcn, (rl + i)->lcn, (rl + i)->length, (rl + i)->length ? - "" : " (run list end)"); + "" : " (runlist end)"); if (!(rl + i)->length) break; } diff --git a/fs/ntfs/debug.h b/fs/ntfs/debug.h index e90da5153..63c626022 100644 --- a/fs/ntfs/debug.h +++ b/fs/ntfs/debug.h @@ -51,7 +51,7 @@ extern void __ntfs_debug (const char *file, int line, const char *function, #define ntfs_debug(f, a...) \ __ntfs_debug(__FILE__, __LINE__, __FUNCTION__, f, ##a) -extern void ntfs_debug_dump_runlist(const run_list_element *rl); +extern void ntfs_debug_dump_runlist(const runlist_element *rl); #else /* !DEBUG */ diff --git a/fs/ntfs/dir.c b/fs/ntfs/dir.c index 246862279..ed9838e0c 100644 --- a/fs/ntfs/dir.c +++ b/fs/ntfs/dir.c @@ -28,8 +28,7 @@ * The little endian Unicode string $I30 as a global constant. */ ntfschar I30[5] = { const_cpu_to_le16('$'), const_cpu_to_le16('I'), - const_cpu_to_le16('3'), const_cpu_to_le16('0'), - const_cpu_to_le16(0) }; + const_cpu_to_le16('3'), const_cpu_to_le16('0'), 0 }; /** * ntfs_lookup_inode_by_name - find an inode in a directory given its name @@ -83,7 +82,7 @@ MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, INDEX_ALLOCATION *ia; u8 *index_end; u64 mref; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; int err, rc; VCN vcn, old_vcn; struct address_space *ia_mapping; @@ -95,22 +94,26 @@ MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, BUG_ON(NInoAttr(dir_ni)); /* Get hold of the mft record for the directory. */ m = map_mft_record(dir_ni); - if (unlikely(IS_ERR(m))) { + if (IS_ERR(m)) { ntfs_error(sb, "map_mft_record() failed with error code %ld.", -PTR_ERR(m)); return ERR_MREF(PTR_ERR(m)); } - ctx = get_attr_search_ctx(dir_ni, m); + ctx = ntfs_attr_get_search_ctx(dir_ni, m); if (unlikely(!ctx)) { err = -ENOMEM; goto err_out; } /* Find the index root attribute in the mft record. */ - if (!lookup_attr(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, NULL, 0, - ctx)) { - ntfs_error(sb, "Index root attribute missing in directory " - "inode 0x%lx.", dir_ni->mft_no); - err = -EIO; + err = ntfs_attr_lookup(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, NULL, + 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) { + ntfs_error(sb, "Index root attribute missing in " + "directory inode 0x%lx.", + dir_ni->mft_no); + err = -EIO; + } goto err_out; } /* Get to the index root value (it's been verified in read_inode). */ @@ -179,7 +182,7 @@ found_it: *res = NULL; } mref = le64_to_cpu(ie->data.dir.indexed_file); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(dir_ni); return mref; } @@ -278,7 +281,7 @@ found_it: */ if (!(ie->flags & INDEX_ENTRY_NODE)) { if (name) { - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(dir_ni); return name->mref; } @@ -295,13 +298,13 @@ found_it: goto err_out; } /* Get the starting vcn of the index_block holding the child node. */ - vcn = sle64_to_cpup((u8*)ie + le16_to_cpu(ie->length) - 8); + vcn = sle64_to_cpup((sle64*)((u8*)ie + le16_to_cpu(ie->length) - 8)); ia_mapping = VFS_I(dir_ni)->i_mapping; /* * We are done with the index root and the mft record. Release them, * otherwise we deadlock with ntfs_map_page(). */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(dir_ni); m = NULL; ctx = NULL; @@ -547,7 +550,8 @@ found_it2: } /* Child node present, descend into it. */ old_vcn = vcn; - vcn = sle64_to_cpup((u8*)ie + le16_to_cpu(ie->length) - 8); + vcn = sle64_to_cpup((sle64*)((u8*)ie + + le16_to_cpu(ie->length) - 8)); if (vcn >= 0) { /* If vcn is in the same page cache page as old_vcn we * recycle the mapped page. */ @@ -582,7 +586,7 @@ unm_err_out: ntfs_unmap_page(page); err_out: if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(dir_ni); if (name) { @@ -634,7 +638,7 @@ u64 ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, INDEX_ALLOCATION *ia; u8 *index_end; u64 mref; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; int err, rc; IGNORE_CASE_BOOL ic; VCN vcn, old_vcn; @@ -649,17 +653,21 @@ u64 ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, -PTR_ERR(m)); return ERR_MREF(PTR_ERR(m)); } - ctx = get_attr_search_ctx(dir_ni, m); + ctx = ntfs_attr_get_search_ctx(dir_ni, m); if (!ctx) { err = -ENOMEM; goto err_out; } /* Find the index root attribute in the mft record. */ - if (!lookup_attr(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, NULL, 0, - ctx)) { - ntfs_error(sb, "Index root attribute missing in directory " - "inode 0x%lx.", dir_ni->mft_no); - err = -EIO; + err = ntfs_attr_lookup(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, NULL, + 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) { + ntfs_error(sb, "Index root attribute missing in " + "directory inode 0x%lx.", + dir_ni->mft_no); + err = -EIO; + } goto err_out; } /* Get to the index root value (it's been verified in read_inode). */ @@ -710,7 +718,7 @@ u64 ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, vol->upcase, vol->upcase_len)) { found_it: mref = le64_to_cpu(ie->data.dir.indexed_file); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(dir_ni); return mref; } @@ -776,7 +784,7 @@ found_it: * We are done with the index root and the mft record. Release them, * otherwise we deadlock with ntfs_map_page(). */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(dir_ni); m = NULL; ctx = NULL; @@ -979,7 +987,7 @@ unm_err_out: ntfs_unmap_page(page); err_out: if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(dir_ni); return ERR_MREF(err); @@ -991,23 +999,11 @@ dir_err_out: #endif -typedef union { - INDEX_ROOT *ir; - INDEX_ALLOCATION *ia; -} index_union __attribute__ ((__transparent_union__)); - -typedef enum { - INDEX_TYPE_ROOT, /* index root */ - INDEX_TYPE_ALLOCATION, /* index allocation */ -} INDEX_TYPE; - /** * ntfs_filldir - ntfs specific filldir method * @vol: current ntfs volume * @fpos: position in the directory * @ndir: ntfs inode of current directory - * @index_type: specifies whether @iu is an index root or an index allocation - * @iu: index root or index allocation attribute to which @ie belongs * @ia_page: page in which the index allocation buffer @ie is in resides * @ie: current index entry * @name: buffer to use for the converted name @@ -1017,9 +1013,8 @@ typedef enum { * Convert the Unicode @name to the loaded NLS and pass it to the @filldir * callback. * - * If @index_type is INDEX_TYPE_ALLOCATION, @ia_page is the locked page - * containing the index allocation block containing the index entry @ie. - * Otherwise, @ia_page is NULL. + * If @ia_page is not NULL it is the locked page containing the index + * allocation block containing the index entry @ie. * * Note, we drop (and then reacquire) the page lock on @ia_page across the * @filldir() call otherwise we would deadlock with NFSd when it calls ->lookup @@ -1027,9 +1022,8 @@ typedef enum { * retake the lock if we are returning a non-zero value as ntfs_readdir() * would need to drop the lock immediately anyway. */ -static inline int ntfs_filldir(ntfs_volume *vol, loff_t *fpos, - ntfs_inode *ndir, const INDEX_TYPE index_type, - index_union iu, struct page *ia_page, INDEX_ENTRY *ie, +static inline int ntfs_filldir(ntfs_volume *vol, loff_t fpos, + ntfs_inode *ndir, struct page *ia_page, INDEX_ENTRY *ie, u8 *name, void *dirent, filldir_t filldir) { unsigned long mref; @@ -1037,14 +1031,6 @@ static inline int ntfs_filldir(ntfs_volume *vol, loff_t *fpos, unsigned dt_type; FILE_NAME_TYPE_FLAGS name_type; - /* Advance the position even if going to skip the entry. */ - if (index_type == INDEX_TYPE_ALLOCATION) - *fpos = (u8*)ie - (u8*)iu.ia + - (sle64_to_cpu(iu.ia->index_block_vcn) << - ndir->itype.index.vcn_size_bits) + - vol->mft_record_size; - else /* if (index_type == INDEX_TYPE_ROOT) */ - *fpos = (u8*)ie - (u8*)iu.ir; name_type = ie->key.file_name.file_name_type; if (name_type == FILE_NAME_DOS) { ntfs_debug("Skipping DOS name space entry."); @@ -1076,14 +1062,14 @@ static inline int ntfs_filldir(ntfs_volume *vol, loff_t *fpos, * Drop the page lock otherwise we deadlock with NFS when it calls * ->lookup since ntfs_lookup() will lock the same page. */ - if (index_type == INDEX_TYPE_ALLOCATION) + if (ia_page) unlock_page(ia_page); ntfs_debug("Calling filldir for %s with len %i, fpos 0x%llx, inode " - "0x%lx, DT_%s.", name, name_len, *fpos, mref, + "0x%lx, DT_%s.", name, name_len, fpos, mref, dt_type == DT_DIR ? "DIR" : "REG"); - rc = filldir(dirent, name, name_len, *fpos, mref, dt_type); + rc = filldir(dirent, name, name_len, fpos, mref, dt_type); /* Relock the page but not if we are aborting ->readdir. */ - if (!rc && index_type == INDEX_TYPE_ALLOCATION) + if (!rc && ia_page) lock_page(ia_page); return rc; } @@ -1125,7 +1111,7 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir) struct address_space *ia_mapping, *bmp_mapping; struct page *bmp_page = NULL, *ia_page = NULL; u8 *kaddr, *bmp, *index_end; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; fpos = filp->f_pos; ntfs_debug("Entering for inode 0x%lx, fpos 0x%llx.", @@ -1170,12 +1156,12 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir) goto skip_index_root; /* Get hold of the mft record for the directory. */ m = map_mft_record(ndir); - if (unlikely(IS_ERR(m))) { + if (IS_ERR(m)) { err = PTR_ERR(m); m = NULL; goto err_out; } - ctx = get_attr_search_ctx(ndir, m); + ctx = ntfs_attr_get_search_ctx(ndir, m); if (unlikely(!ctx)) { err = -ENOMEM; goto err_out; @@ -1183,8 +1169,9 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir) /* Get the offset into the index root attribute. */ ir_pos = (s64)fpos; /* Find the index root attribute in the mft record. */ - if (unlikely(!lookup_attr(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, - NULL, 0, ctx))) { + err = ntfs_attr_lookup(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, NULL, + 0, ctx); + if (unlikely(err)) { ntfs_error(sb, "Index root attribute missing in directory " "inode 0x%lx.", vdir->i_ino); goto err_out; @@ -1208,7 +1195,7 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir) /* Copy the index root value (it has been verified in read_inode). */ memcpy(ir, (u8*)ctx->attr + le16_to_cpu(ctx->attr->data.resident.value_offset), rc); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ndir); ctx = NULL; m = NULL; @@ -1235,9 +1222,11 @@ static int ntfs_readdir(struct file *filp, void *dirent, filldir_t filldir) /* Skip index root entry if continuing previous readdir. */ if (ir_pos > (u8*)ie - (u8*)ir) continue; + /* Advance the position even if going to skip the entry. */ + fpos = (u8*)ie - (u8*)ir; /* Submit the name to the filldir callback. */ - rc = ntfs_filldir(vol, &fpos, ndir, INDEX_TYPE_ROOT, ir, NULL, - ie, name, dirent, filldir); + rc = ntfs_filldir(vol, fpos, ndir, NULL, ie, name, dirent, + filldir); if (rc) { kfree(ir); goto abort; @@ -1261,7 +1250,7 @@ skip_index_root: if (unlikely(!bmp_vi)) { ntfs_debug("Inode 0x%lx, regetting index bitmap.", vdir->i_ino); bmp_vi = ntfs_attr_iget(vdir, AT_BITMAP, I30, 4); - if (unlikely(IS_ERR(bmp_vi))) { + if (IS_ERR(bmp_vi)) { ntfs_error(sb, "Failed to get bitmap attribute."); err = PTR_ERR(bmp_vi); goto err_out; @@ -1286,7 +1275,7 @@ get_next_bmp_page: ((PAGE_CACHE_SIZE * 8) - 1)); bmp_page = ntfs_map_page(bmp_mapping, bmp_pos >> (3 + PAGE_CACHE_SHIFT)); - if (unlikely(IS_ERR(bmp_page))) { + if (IS_ERR(bmp_page)) { ntfs_error(sb, "Reading index bitmap failed."); err = PTR_ERR(bmp_page); bmp_page = NULL; @@ -1327,7 +1316,7 @@ find_next_index_buffer: * reading it from disk if necessary. */ ia_page = ntfs_map_page(ia_mapping, ia_pos >> PAGE_CACHE_SHIFT); - if (unlikely(IS_ERR(ia_page))) { + if (IS_ERR(ia_page)) { ntfs_error(sb, "Reading index allocation data failed."); err = PTR_ERR(ia_page); ia_page = NULL; @@ -1411,14 +1400,19 @@ find_next_index_buffer: /* Skip index block entry if continuing previous readdir. */ if (ia_pos - ia_start > (u8*)ie - (u8*)ia) continue; + /* Advance the position even if going to skip the entry. */ + fpos = (u8*)ie - (u8*)ia + + (sle64_to_cpu(ia->index_block_vcn) << + ndir->itype.index.vcn_size_bits) + + vol->mft_record_size; /* * Submit the name to the @filldir callback. Note, * ntfs_filldir() drops the lock on @ia_page but it retakes it * before returning, unless a non-zero value is returned in * which case the page is left unlocked. */ - rc = ntfs_filldir(vol, &fpos, ndir, INDEX_TYPE_ALLOCATION, ia, - ia_page, ie, name, dirent, filldir); + rc = ntfs_filldir(vol, fpos, ndir, ia_page, ie, name, dirent, + filldir); if (rc) { /* @ia_page is already unlocked in this case. */ ntfs_unmap_page(ia_page); @@ -1460,7 +1454,7 @@ err_out: if (name) kfree(name); if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(ndir); if (!err) @@ -1495,10 +1489,69 @@ static int ntfs_dir_open(struct inode *vi, struct file *filp) return 0; } +#ifdef NTFS_RW + +/** + * ntfs_dir_fsync - sync a directory to disk + * @filp: directory to be synced + * @dentry: dentry describing the directory to sync + * @datasync: if non-zero only flush user data and not metadata + * + * Data integrity sync of a directory to disk. Used for fsync, fdatasync, and + * msync system calls. This function is based on file.c::ntfs_file_fsync(). + * + * Write the mft record and all associated extent mft records as well as the + * $INDEX_ALLOCATION and $BITMAP attributes and then sync the block device. + * + * If @datasync is true, we do not wait on the inode(s) to be written out + * but we always wait on the page cache pages to be written out. + * + * Note: In the past @filp could be NULL so we ignore it as we don't need it + * anyway. + * + * Locking: Caller must hold i_sem on the inode. + * + * TODO: We should probably also write all attribute/index inodes associated + * with this inode but since we have no simple way of getting to them we ignore + * this problem for now. We do write the $BITMAP attribute if it is present + * which is the important one for a directory so things are not too bad. + */ +static int ntfs_dir_fsync(struct file *filp, struct dentry *dentry, + int datasync) +{ + struct inode *vi = dentry->d_inode; + ntfs_inode *ni = NTFS_I(vi); + int err, ret; + + ntfs_debug("Entering for inode 0x%lx.", vi->i_ino); + BUG_ON(!S_ISDIR(vi->i_mode)); + if (NInoIndexAllocPresent(ni) && ni->itype.index.bmp_ino) + write_inode_now(ni->itype.index.bmp_ino, !datasync); + ret = ntfs_write_inode(vi, 1); + write_inode_now(vi, !datasync); + err = sync_blockdev(vi->i_sb->s_bdev); + if (unlikely(err && !ret)) + ret = err; + if (likely(!ret)) + ntfs_debug("Done."); + else + ntfs_warning(vi->i_sb, "Failed to f%ssync inode 0x%lx. Error " + "%u.", datasync ? "data" : "", vi->i_ino, -ret); + return ret; +} + +#endif /* NTFS_RW */ + struct file_operations ntfs_dir_ops = { .llseek = generic_file_llseek, /* Seek inside directory. */ .read = generic_read_dir, /* Return -EISDIR. */ .readdir = ntfs_readdir, /* Read directory contents. */ +#ifdef NTFS_RW + .fsync = ntfs_dir_fsync, /* Sync a directory to disk. */ + /*.aio_fsync = ,*/ /* Sync all outstanding async + i/o operations on a kiocb. */ +#endif /* NTFS_RW */ + /*.ioctl = ,*/ /* Perform function on the + mounted filesystem. */ .open = ntfs_dir_open, /* Open directory. */ }; - diff --git a/fs/ntfs/endian.h b/fs/ntfs/endian.h index 98909576a..927b5bf04 100644 --- a/fs/ntfs/endian.h +++ b/fs/ntfs/endian.h @@ -24,24 +24,70 @@ #define _LINUX_NTFS_ENDIAN_H #include +#include "types.h" /* - * Signed endianness conversion defines. + * Signed endianness conversion functions. */ -#define sle16_to_cpu(x) ((s16)__le16_to_cpu((s16)(x))) -#define sle32_to_cpu(x) ((s32)__le32_to_cpu((s32)(x))) -#define sle64_to_cpu(x) ((s64)__le64_to_cpu((s64)(x))) -#define sle16_to_cpup(x) ((s16)__le16_to_cpu(*(s16*)(x))) -#define sle32_to_cpup(x) ((s32)__le32_to_cpu(*(s32*)(x))) -#define sle64_to_cpup(x) ((s64)__le64_to_cpu(*(s64*)(x))) +static inline s16 sle16_to_cpu(sle16 x) +{ + return le16_to_cpu((__force le16)x); +} -#define cpu_to_sle16(x) ((s16)__cpu_to_le16((s16)(x))) -#define cpu_to_sle32(x) ((s32)__cpu_to_le32((s32)(x))) -#define cpu_to_sle64(x) ((s64)__cpu_to_le64((s64)(x))) +static inline s32 sle32_to_cpu(sle32 x) +{ + return le32_to_cpu((__force le32)x); +} -#define cpu_to_sle16p(x) ((s16)__cpu_to_le16(*(s16*)(x))) -#define cpu_to_sle32p(x) ((s32)__cpu_to_le32(*(s32*)(x))) -#define cpu_to_sle64p(x) ((s64)__cpu_to_le64(*(s64*)(x))) +static inline s64 sle64_to_cpu(sle64 x) +{ + return le64_to_cpu((__force le64)x); +} + +static inline s16 sle16_to_cpup(sle16 *x) +{ + return le16_to_cpu(*(__force le16*)x); +} + +static inline s32 sle32_to_cpup(sle32 *x) +{ + return le32_to_cpu(*(__force le32*)x); +} + +static inline s64 sle64_to_cpup(sle64 *x) +{ + return le64_to_cpu(*(__force le64*)x); +} + +static inline sle16 cpu_to_sle16(s16 x) +{ + return (__force sle16)cpu_to_le16(x); +} + +static inline sle32 cpu_to_sle32(s32 x) +{ + return (__force sle32)cpu_to_le32(x); +} + +static inline sle64 cpu_to_sle64(s64 x) +{ + return (__force sle64)cpu_to_le64(x); +} + +static inline sle16 cpu_to_sle16p(s16 *x) +{ + return (__force sle16)cpu_to_le16(*x); +} + +static inline sle32 cpu_to_sle32p(s32 *x) +{ + return (__force sle32)cpu_to_le32(*x); +} + +static inline sle64 cpu_to_sle64p(s64 *x) +{ + return (__force sle64)cpu_to_le64(*x); +} #endif /* _LINUX_NTFS_ENDIAN_H */ diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c index f034d826d..c7880d55b 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c @@ -48,26 +48,101 @@ static int ntfs_file_open(struct inode *vi, struct file *filp) return generic_file_open(vi, filp); } +#ifdef NTFS_RW + +/** + * ntfs_file_fsync - sync a file to disk + * @filp: file to be synced + * @dentry: dentry describing the file to sync + * @datasync: if non-zero only flush user data and not metadata + * + * Data integrity sync of a file to disk. Used for fsync, fdatasync, and msync + * system calls. This function is inspired by fs/buffer.c::file_fsync(). + * + * If @datasync is false, write the mft record and all associated extent mft + * records as well as the $DATA attribute and then sync the block device. + * + * If @datasync is true and the attribute is non-resident, we skip the writing + * of the mft record and all associated extent mft records (this might still + * happen due to the write_inode_now() call). + * + * Also, if @datasync is true, we do not wait on the inode to be written out + * but we always wait on the page cache pages to be written out. + * + * Note: In the past @filp could be NULL so we ignore it as we don't need it + * anyway. + * + * Locking: Caller must hold i_sem on the inode. + * + * TODO: We should probably also write all attribute/index inodes associated + * with this inode but since we have no simple way of getting to them we ignore + * this problem for now. + */ +static int ntfs_file_fsync(struct file *filp, struct dentry *dentry, + int datasync) +{ + struct inode *vi = dentry->d_inode; + int err, ret = 0; + + ntfs_debug("Entering for inode 0x%lx.", vi->i_ino); + BUG_ON(S_ISDIR(vi->i_mode)); + if (!datasync || !NInoNonResident(NTFS_I(vi))) + ret = ntfs_write_inode(vi, 1); + write_inode_now(vi, !datasync); + err = sync_blockdev(vi->i_sb->s_bdev); + if (unlikely(err && !ret)) + ret = err; + if (likely(!ret)) + ntfs_debug("Done."); + else + ntfs_warning(vi->i_sb, "Failed to f%ssync inode 0x%lx. Error " + "%u.", datasync ? "data" : "", vi->i_ino, -ret); + return ret; +} + +#endif /* NTFS_RW */ + struct file_operations ntfs_file_ops = { - .llseek = generic_file_llseek, /* Seek inside file. */ - .read = generic_file_read, /* Read from file. */ + .llseek = generic_file_llseek, /* Seek inside file. */ + .read = generic_file_read, /* Read from file. */ + .aio_read = generic_file_aio_read, /* Async read from file. */ + .readv = generic_file_readv, /* Read from file. */ #ifdef NTFS_RW - .write = generic_file_write, /* Write to a file. */ -#endif - .mmap = generic_file_mmap, /* Mmap file. */ - .sendfile = generic_file_sendfile,/* Zero-copy data send with the - data source being on the - ntfs partition. We don't - need to care about the data - destination. */ - .open = ntfs_file_open, /* Open file. */ + .write = generic_file_write, /* Write to file. */ + .aio_write = generic_file_aio_write, /* Async write to file. */ + .writev = generic_file_writev, /* Write to file. */ + /*.release = ,*/ /* Last file is closed. See + fs/ext2/file.c:: + ext2_release_file() for + how to use this to discard + preallocated space for + write opened files. */ + .fsync = ntfs_file_fsync, /* Sync a file to disk. */ + /*.aio_fsync = ,*/ /* Sync all outstanding async + i/o operations on a + kiocb. */ +#endif /* NTFS_RW */ + /*.ioctl = ,*/ /* Perform function on the + mounted filesystem. */ + .mmap = generic_file_mmap, /* Mmap file. */ + .open = ntfs_file_open, /* Open file. */ + .sendfile = generic_file_sendfile, /* Zero-copy data send with + the data source being on + the ntfs partition. We + do not need to care about + the data destination. */ + /*.sendpage = ,*/ /* Zero-copy data send with + the data destination being + on the ntfs partition. We + do not need to care about + the data source. */ }; struct inode_operations ntfs_file_inode_ops = { #ifdef NTFS_RW .truncate = ntfs_truncate, .setattr = ntfs_setattr, -#endif +#endif /* NTFS_RW */ }; struct file_operations ntfs_empty_file_ops = {}; diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index 686d5bbb5..873c25d98 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -105,8 +105,11 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na) ni->name_len = na->name_len; /* If initializing a normal inode, we are done. */ - if (likely(na->type == AT_UNUSED)) + if (likely(na->type == AT_UNUSED)) { + BUG_ON(na->name); + BUG_ON(na->name_len); return 0; + } /* It is a fake inode. */ NInoSetAttr(ni); @@ -118,15 +121,16 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na) * thus the fraction of named attributes with name != I30 is actually * absolutely tiny. */ - if (na->name && na->name_len && na->name != I30) { + if (na->name_len && na->name != I30) { unsigned int i; + BUG_ON(!na->name); i = na->name_len * sizeof(ntfschar); ni->name = (ntfschar*)kmalloc(i + sizeof(ntfschar), GFP_ATOMIC); if (!ni->name) return -ENOMEM; memcpy(ni->name, na->name, i); - ni->name[i] = cpu_to_le16('\0'); + ni->name[i] = 0; } return 0; } @@ -210,7 +214,7 @@ struct inode *ntfs_iget(struct super_block *sb, unsigned long mft_no) * value with IS_ERR() and if true, the function failed and the error code is * obtained from PTR_ERR(). */ -struct inode *ntfs_attr_iget(struct inode *base_vi, ATTR_TYPES type, +struct inode *ntfs_attr_iget(struct inode *base_vi, ATTR_TYPE type, ntfschar *name, u32 name_len) { struct inode *vi; @@ -372,13 +376,13 @@ static void __ntfs_init_inode(struct super_block *sb, ntfs_inode *ni) ni->seq_no = 0; atomic_set(&ni->count, 1); ni->vol = NTFS_SB(sb); - init_run_list(&ni->run_list); + init_runlist(&ni->runlist); init_MUTEX(&ni->mrec_lock); ni->page = NULL; ni->page_ofs = 0; ni->attr_list_size = 0; ni->attr_list = NULL; - init_run_list(&ni->attr_list_rl); + init_runlist(&ni->attr_list_rl); ni->itype.index.bmp_ino = NULL; ni->itype.index.block_size = 0; ni->itype.index.vcn_size = 0; @@ -428,20 +432,21 @@ inline ntfs_inode *ntfs_new_extent_inode(struct super_block *sb, * Return values: * 1: file is in $Extend directory * 0: file is not in $Extend directory - * -EIO: file is corrupt + * -errno: failed to determine if the file is in the $Extend directory */ -static int ntfs_is_extended_system_file(attr_search_context *ctx) +static int ntfs_is_extended_system_file(ntfs_attr_search_ctx *ctx) { - int nr_links; + int nr_links, err; /* Restart search. */ - reinit_attr_search_ctx(ctx); + ntfs_attr_reinit_search_ctx(ctx); /* Get number of hard links. */ nr_links = le16_to_cpu(ctx->mrec->link_count); /* Loop through all hard links. */ - while (lookup_attr(AT_FILE_NAME, NULL, 0, 0, 0, NULL, 0, ctx)) { + while (!(err = ntfs_attr_lookup(AT_FILE_NAME, NULL, 0, 0, 0, NULL, 0, + ctx))) { FILE_NAME_ATTR *file_name_attr; ATTR_RECORD *attr = ctx->attr; u8 *p, *p2; @@ -484,7 +489,9 @@ err_corrupt_attr: if (MREF_LE(file_name_attr->parent_directory) == FILE_Extend) return 1; /* YES, it's an extended system file. */ } - if (nr_links) { + if (unlikely(err != -ENOENT)) + return err; + if (unlikely(nr_links)) { ntfs_error(ctx->ntfs_ino->vol->sb, "Inode hard link count " "doesn't match number of name attributes. You " "should run chkdsk."); @@ -525,7 +532,7 @@ static int ntfs_read_locked_inode(struct inode *vi) ntfs_inode *ni; MFT_RECORD *m; STANDARD_INFORMATION *si; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; int err = 0; ntfs_debug("Entering for i_ino 0x%lx.", vi->i_ino); @@ -557,7 +564,7 @@ static int ntfs_read_locked_inode(struct inode *vi) err = PTR_ERR(m); goto err_out; } - ctx = get_attr_search_ctx(ni, m); + ctx = ntfs_attr_get_search_ctx(ni, m); if (!ctx) { err = -ENOMEM; goto unm_err_out; @@ -608,21 +615,25 @@ static int ntfs_read_locked_inode(struct inode *vi) * in fact fail if the standard information is in an extent record, but * I don't think this actually ever happens. */ - if (!lookup_attr(AT_STANDARD_INFORMATION, NULL, 0, 0, 0, NULL, 0, - ctx)) { - /* - * TODO: We should be performing a hot fix here (if the recover - * mount option is set) by creating a new attribute. - */ - ntfs_error(vi->i_sb, "$STANDARD_INFORMATION attribute is " - "missing."); + err = ntfs_attr_lookup(AT_STANDARD_INFORMATION, NULL, 0, 0, 0, NULL, 0, + ctx); + if (unlikely(err)) { + if (err == -ENOENT) { + /* + * TODO: We should be performing a hot fix here (if the + * recover mount option is set) by creating a new + * attribute. + */ + ntfs_error(vi->i_sb, "$STANDARD_INFORMATION attribute " + "is missing."); + } goto unm_err_out; } /* Get the standard information attribute value. */ si = (STANDARD_INFORMATION*)((char*)ctx->attr + le16_to_cpu(ctx->attr->data.resident.value_offset)); - /* Transfer information from the standard information into vfs_ino. */ + /* Transfer information from the standard information into vi. */ /* * Note: The i_?times do not quite map perfectly onto the NTFS times, * but they are close enough, and in the end it doesn't really matter @@ -646,8 +657,15 @@ static int ntfs_read_locked_inode(struct inode *vi) vi->i_atime = ntfs2utc(si->last_access_time); /* Find the attribute list attribute if present. */ - reinit_attr_search_ctx(ctx); - if (lookup_attr(AT_ATTRIBUTE_LIST, NULL, 0, 0, 0, NULL, 0, ctx)) { + ntfs_attr_reinit_search_ctx(ctx); + err = ntfs_attr_lookup(AT_ATTRIBUTE_LIST, NULL, 0, 0, 0, NULL, 0, ctx); + if (err) { + if (unlikely(err != -ENOENT)) { + ntfs_error(vi->i_sb, "Failed to lookup attribute list " + "attribute. You should run chkdsk."); + goto unm_err_out; + } + } else /* if (!err) */ { if (vi->i_ino == FILE_MFT) goto skip_attr_list_load; ntfs_debug("Attribute list found in inode 0x%lx.", vi->i_ino); @@ -662,7 +680,7 @@ static int ntfs_read_locked_inode(struct inode *vi) goto unm_err_out; } /* Now allocate memory for the attribute list. */ - ni->attr_list_size = (u32)attribute_value_length(ctx->attr); + ni->attr_list_size = (u32)ntfs_attr_size(ctx->attr); ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); if (!ni->attr_list) { ntfs_error(vi->i_sb, "Not enough memory to allocate " @@ -680,7 +698,7 @@ static int ntfs_read_locked_inode(struct inode *vi) goto unm_err_out; } /* - * Setup the run list. No need for locking as we have + * Setup the runlist. No need for locking as we have * exclusive access to the inode at this time. */ ni->attr_list_rl.rl = decompress_mapping_pairs(vol, @@ -733,13 +751,17 @@ skip_attr_list_load: char *ir_end, *index_end; /* It is a directory, find index root attribute. */ - reinit_attr_search_ctx(ctx); - if (!lookup_attr(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, 0, - NULL, 0, ctx)) { - // FIXME: File is corrupt! Hot-fix with empty index - // root attribute if recovery option is set. - ntfs_error(vi->i_sb, "$INDEX_ROOT attribute is " - "missing."); + ntfs_attr_reinit_search_ctx(ctx); + err = ntfs_attr_lookup(AT_INDEX_ROOT, I30, 4, CASE_SENSITIVE, + 0, NULL, 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) { + // FIXME: File is corrupt! Hot-fix with empty + // index root attribute if recovery option is + // set. + ntfs_error(vi->i_sb, "$INDEX_ROOT attribute " + "is missing."); + } goto unm_err_out; } /* Set up the state. */ @@ -841,7 +863,7 @@ skip_attr_list_load: vi->i_size = ni->initialized_size = ni->allocated_size = 0; /* We are done with the mft record, so we release it. */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); m = NULL; ctx = NULL; @@ -849,12 +871,19 @@ skip_attr_list_load: } /* LARGE_INDEX: Index allocation present. Setup state. */ NInoSetIndexAllocPresent(ni); /* Find index allocation attribute. */ - reinit_attr_search_ctx(ctx); - if (!lookup_attr(AT_INDEX_ALLOCATION, I30, 4, CASE_SENSITIVE, - 0, NULL, 0, ctx)) { - ntfs_error(vi->i_sb, "$INDEX_ALLOCATION attribute " - "is not present but $INDEX_ROOT " - "indicated it is."); + ntfs_attr_reinit_search_ctx(ctx); + err = ntfs_attr_lookup(AT_INDEX_ALLOCATION, I30, 4, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) + ntfs_error(vi->i_sb, "$INDEX_ALLOCATION " + "attribute is not present but " + "$INDEX_ROOT indicated it " + "is."); + else + ntfs_error(vi->i_sb, "Failed to lookup " + "$INDEX_ALLOCATION " + "attribute."); goto unm_err_out; } if (!ctx->attr->non_resident) { @@ -894,13 +923,13 @@ skip_attr_list_load: * We are done with the mft record, so we release it. Otherwise * we would deadlock in ntfs_attr_iget(). */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); m = NULL; ctx = NULL; /* Get the index bitmap attribute inode. */ bvi = ntfs_attr_iget(vi, AT_BITMAP, I30, 4); - if (unlikely(IS_ERR(bvi))) { + if (IS_ERR(bvi)) { ntfs_error(vi->i_sb, "Failed to get bitmap attribute."); err = PTR_ERR(bvi); goto unm_err_out; @@ -938,7 +967,7 @@ skip_large_dir_stuff: vi->i_mapping->a_ops = &ntfs_mst_aops; } else { /* It is a file. */ - reinit_attr_search_ctx(ctx); + ntfs_attr_reinit_search_ctx(ctx); /* Setup the data attribute, even if not present. */ ni->type = AT_DATA; @@ -946,9 +975,15 @@ skip_large_dir_stuff: ni->name_len = 0; /* Find first extent of the unnamed data attribute. */ - if (!lookup_attr(AT_DATA, NULL, 0, 0, 0, NULL, 0, ctx)) { + err = ntfs_attr_lookup(AT_DATA, NULL, 0, 0, 0, NULL, 0, ctx); + if (unlikely(err)) { vi->i_size = ni->initialized_size = - ni->allocated_size = 0LL; + ni->allocated_size = 0; + if (err != -ENOENT) { + ntfs_error(vi->i_sb, "Failed to lookup $DATA " + "attribute."); + goto unm_err_out; + } /* * FILE_Secure does not have an unnamed $DATA * attribute, so we special case it here. @@ -1059,7 +1094,7 @@ skip_large_dir_stuff: } no_data_attr_special_case: /* We are done with the mft record, so we release it. */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); m = NULL; ctx = NULL; @@ -1098,7 +1133,7 @@ unm_err_out: if (!err) err = -EIO; if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(ni); err_out: @@ -1133,7 +1168,7 @@ static int ntfs_read_locked_attr_inode(struct inode *base_vi, struct inode *vi) ntfs_volume *vol = NTFS_SB(vi->i_sb); ntfs_inode *ni, *base_ni; MFT_RECORD *m; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; int err = 0; ntfs_debug("Entering for i_ino 0x%lx.", vi->i_ino); @@ -1162,15 +1197,16 @@ static int ntfs_read_locked_attr_inode(struct inode *base_vi, struct inode *vi) err = PTR_ERR(m); goto err_out; } - ctx = get_attr_search_ctx(base_ni, m); + ctx = ntfs_attr_get_search_ctx(base_ni, m); if (!ctx) { err = -ENOMEM; goto unm_err_out; } /* Find the attribute. */ - if (!lookup_attr(ni->type, ni->name, ni->name_len, CASE_SENSITIVE, 0, - NULL, 0, ctx)) + err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) goto unm_err_out; if (!ctx->attr->non_resident) { @@ -1333,7 +1369,7 @@ static int ntfs_read_locked_attr_inode(struct inode *base_vi, struct inode *vi) ni->ext.base_ntfs_ino = base_ni; ni->nr_extents = -1; - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(base_ni); ntfs_debug("Done."); @@ -1343,7 +1379,7 @@ unm_err_out: if (!err) err = -EIO; if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(base_ni); err_out: ntfs_error(vi->i_sb, "Failed with error code %i while reading " @@ -1392,7 +1428,7 @@ static int ntfs_read_locked_index_inode(struct inode *base_vi, struct inode *vi) ntfs_inode *ni, *base_ni, *bni; struct inode *bvi; MFT_RECORD *m; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; INDEX_ROOT *ir; u8 *ir_end, *index_end; int err = 0; @@ -1419,15 +1455,18 @@ static int ntfs_read_locked_index_inode(struct inode *base_vi, struct inode *vi) err = PTR_ERR(m); goto err_out; } - ctx = get_attr_search_ctx(base_ni, m); + ctx = ntfs_attr_get_search_ctx(base_ni, m); if (!ctx) { err = -ENOMEM; goto unm_err_out; } /* Find the index root attribute. */ - if (!lookup_attr(AT_INDEX_ROOT, ni->name, ni->name_len, CASE_SENSITIVE, - 0, NULL, 0, ctx)) { - ntfs_error(vi->i_sb, "$INDEX_ROOT attribute is missing."); + err = ntfs_attr_lookup(AT_INDEX_ROOT, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) + ntfs_error(vi->i_sb, "$INDEX_ROOT attribute is " + "missing."); goto unm_err_out; } /* Set up the state. */ @@ -1497,7 +1536,7 @@ static int ntfs_read_locked_index_inode(struct inode *base_vi, struct inode *vi) /* No index allocation. */ vi->i_size = ni->initialized_size = ni->allocated_size = 0; /* We are done with the mft record, so we release it. */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(base_ni); m = NULL; ctx = NULL; @@ -1505,11 +1544,17 @@ static int ntfs_read_locked_index_inode(struct inode *base_vi, struct inode *vi) } /* LARGE_INDEX: Index allocation present. Setup state. */ NInoSetIndexAllocPresent(ni); /* Find index allocation attribute. */ - reinit_attr_search_ctx(ctx); - if (!lookup_attr(AT_INDEX_ALLOCATION, ni->name, ni->name_len, - CASE_SENSITIVE, 0, NULL, 0, ctx)) { - ntfs_error(vi->i_sb, "$INDEX_ALLOCATION attribute is not " - "present but $INDEX_ROOT indicated it is."); + ntfs_attr_reinit_search_ctx(ctx); + err = ntfs_attr_lookup(AT_INDEX_ALLOCATION, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) + ntfs_error(vi->i_sb, "$INDEX_ALLOCATION attribute is " + "not present but $INDEX_ROOT " + "indicated it is."); + else + ntfs_error(vi->i_sb, "Failed to lookup " + "$INDEX_ALLOCATION attribute."); goto unm_err_out; } if (!ctx->attr->non_resident) { @@ -1546,13 +1591,13 @@ static int ntfs_read_locked_index_inode(struct inode *base_vi, struct inode *vi) * We are done with the mft record, so we release it. Otherwise * we would deadlock in ntfs_attr_iget(). */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(base_ni); m = NULL; ctx = NULL; /* Get the index bitmap attribute inode. */ bvi = ntfs_attr_iget(base_vi, AT_BITMAP, ni->name, ni->name_len); - if (unlikely(IS_ERR(bvi))) { + if (IS_ERR(bvi)) { ntfs_error(vi->i_sb, "Failed to get bitmap attribute."); err = PTR_ERR(bvi); goto unm_err_out; @@ -1597,7 +1642,7 @@ unm_err_out: if (!err) err = -EIO; if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(base_ni); err_out: @@ -1619,16 +1664,16 @@ err_out: * is not initialized and hence we cannot get at the contents of mft records * by calling map_mft_record*(). * - * Further it needs to cope with the circular references problem, i.e. can't + * Further it needs to cope with the circular references problem, i.e. cannot * load any attributes other than $ATTRIBUTE_LIST until $DATA is loaded, because - * we don't know where the other extent mft records are yet and again, because - * we cannot call map_mft_record*() yet. Obviously this applies only when an + * we do not know where the other extent mft records are yet and again, because + * we cannot call map_mft_record*() yet. Obviously this applies only when an * attribute list is actually present in $MFT inode. * * We solve these problems by starting with the $DATA attribute before anything - * else and iterating using lookup_attr($DATA) over all extents. As each extent - * is found, we decompress_mapping_pairs() including the implied - * merge_run_lists(). Each step of the iteration necessarily provides + * else and iterating using ntfs_attr_lookup($DATA) over all extents. As each + * extent is found, we decompress_mapping_pairs() including the implied + * ntfs_merge_runlists(). Each step of the iteration necessarily provides * sufficient information for the next step to complete. * * This should work but there are two possible pit falls (see inline comments @@ -1644,7 +1689,7 @@ int ntfs_read_inode_mount(struct inode *vi) ntfs_inode *ni; MFT_RECORD *m = NULL; ATTR_RECORD *attr; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; unsigned int i, nr_blocks; int err; @@ -1719,14 +1764,21 @@ int ntfs_read_inode_mount(struct inode *vi) /* Provides readpage() and sync_page() for map_mft_record(). */ vi->i_mapping->a_ops = &ntfs_mft_aops; - ctx = get_attr_search_ctx(ni, m); + ctx = ntfs_attr_get_search_ctx(ni, m); if (!ctx) { err = -ENOMEM; goto err_out; } /* Find the attribute list attribute if present. */ - if (lookup_attr(AT_ATTRIBUTE_LIST, NULL, 0, 0, 0, NULL, 0, ctx)) { + err = ntfs_attr_lookup(AT_ATTRIBUTE_LIST, NULL, 0, 0, 0, NULL, 0, ctx); + if (err) { + if (unlikely(err != -ENOENT)) { + ntfs_error(sb, "Failed to lookup attribute list " + "attribute. You should run chkdsk."); + goto put_err_out; + } + } else /* if (!err) */ { ATTR_LIST_ENTRY *al_entry, *next_al_entry; u8 *al_end; @@ -1742,7 +1794,7 @@ int ntfs_read_inode_mount(struct inode *vi) goto put_err_out; } /* Now allocate memory for the attribute list. */ - ni->attr_list_size = (u32)attribute_value_length(ctx->attr); + ni->attr_list_size = (u32)ntfs_attr_size(ctx->attr); ni->attr_list = ntfs_malloc_nofs(ni->attr_list_size); if (!ni->attr_list) { ntfs_error(sb, "Not enough memory to allocate buffer " @@ -1757,7 +1809,7 @@ int ntfs_read_inode_mount(struct inode *vi) "You should run chkdsk."); goto put_err_out; } - /* Setup the run list. */ + /* Setup the runlist. */ ni->attr_list_rl.rl = decompress_mapping_pairs(vol, ctx->attr, NULL); if (IS_ERR(ni->attr_list_rl.rl)) { @@ -1855,13 +1907,14 @@ int ntfs_read_inode_mount(struct inode *vi) } } - reinit_attr_search_ctx(ctx); + ntfs_attr_reinit_search_ctx(ctx); /* Now load all attribute extents. */ attr = NULL; next_vcn = last_vcn = highest_vcn = 0; - while (lookup_attr(AT_DATA, NULL, 0, 0, next_vcn, NULL, 0, ctx)) { - run_list_element *nrl; + while (!(err = ntfs_attr_lookup(AT_DATA, NULL, 0, 0, next_vcn, NULL, 0, + ctx))) { + runlist_element *nrl; /* Cache the current attribute. */ attr = ctx->attr; @@ -1885,23 +1938,21 @@ int ntfs_read_inode_mount(struct inode *vi) } /* * Decompress the mapping pairs array of this extent and merge - * the result into the existing run list. No need for locking + * the result into the existing runlist. No need for locking * as we have exclusive access to the inode at this time and we * are a mount in progress task, too. */ - nrl = decompress_mapping_pairs(vol, attr, ni->run_list.rl); + nrl = decompress_mapping_pairs(vol, attr, ni->runlist.rl); if (IS_ERR(nrl)) { ntfs_error(sb, "decompress_mapping_pairs() failed with " "error code %ld. $MFT is corrupt.", PTR_ERR(nrl)); goto put_err_out; } - ni->run_list.rl = nrl; + ni->runlist.rl = nrl; /* Are we in the first extent? */ if (!next_vcn) { - u64 ll; - if (attr->data.non_resident.lowest_vcn) { ntfs_error(sb, "First extent of $DATA " "attribute has non zero " @@ -1920,19 +1971,17 @@ int ntfs_read_inode_mount(struct inode *vi) non_resident.initialized_size); ni->allocated_size = sle64_to_cpu( attr->data.non_resident.allocated_size); - /* Set the number of mft records. */ - ll = vi->i_size >> vol->mft_record_size_bits; /* * Verify the number of mft records does not exceed * 2^32 - 1. */ - if (ll >= (1ULL << 32)) { + if ((vi->i_size >> vol->mft_record_size_bits) >= + (1ULL << 32)) { ntfs_error(sb, "$MFT is too big! Aborting."); goto put_err_out; } - vol->nr_mft_records = ll; /* - * We have got the first extent of the run_list for + * We have got the first extent of the runlist for * $MFT which means it is now relatively safe to call * the normal ntfs_read_inode() function. * Complete reading the inode, this will actually @@ -1959,7 +2008,7 @@ int ntfs_read_inode_mount(struct inode *vi) "saw this message to " "linux-ntfs-dev@lists." "sourceforge.net"); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); /* Revert to the safe super operations. */ ntfs_free(m); return -1; @@ -1995,21 +2044,26 @@ int ntfs_read_inode_mount(struct inode *vi) goto put_err_out; } } + if (err != -ENOENT) { + ntfs_error(sb, "Failed to lookup $MFT/$DATA attribute extent. " + "$MFT is corrupt. Run chkdsk."); + goto put_err_out; + } if (!attr) { ntfs_error(sb, "$MFT/$DATA attribute not found. $MFT is " "corrupt. Run chkdsk."); goto put_err_out; } if (highest_vcn && highest_vcn != last_vcn - 1) { - ntfs_error(sb, "Failed to load the complete run list " - "for $MFT/$DATA. Driver bug or " - "corrupt $MFT. Run chkdsk."); + ntfs_error(sb, "Failed to load the complete runlist for " + "$MFT/$DATA. Driver bug or corrupt $MFT. " + "Run chkdsk."); ntfs_debug("highest_vcn = 0x%llx, last_vcn - 1 = 0x%llx", (unsigned long long)highest_vcn, (unsigned long long)last_vcn - 1); goto put_err_out; } - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); ntfs_debug("Done."); ntfs_free(m); return 0; @@ -2018,7 +2072,7 @@ em_put_err_out: ntfs_error(sb, "Couldn't find first extent of $DATA attribute in " "attribute list. $MFT is corrupt. Run chkdsk."); put_err_out: - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); err_out: ntfs_error(sb, "Failed. Marking inode as bad."); make_bad_inode(vi); @@ -2073,12 +2127,12 @@ void ntfs_put_inode(struct inode *vi) void __ntfs_clear_inode(ntfs_inode *ni) { /* Free all alocated memory. */ - down_write(&ni->run_list.lock); - if (ni->run_list.rl) { - ntfs_free(ni->run_list.rl); - ni->run_list.rl = NULL; + down_write(&ni->runlist.lock); + if (ni->runlist.rl) { + ntfs_free(ni->runlist.rl); + ni->runlist.rl = NULL; } - up_write(&ni->run_list.lock); + up_write(&ni->runlist.lock); if (ni->attr_list) { ntfs_free(ni->attr_list); @@ -2216,16 +2270,71 @@ int ntfs_show_options(struct seq_file *sf, struct vfsmount *mnt) * * We don't support i_size changes yet. * - * Called with ->i_sem held. + * The kernel guarantees that @vi is a regular file (S_ISREG() is true) and + * that the change is allowed. + * + * This implies for us that @vi is a file inode rather than a directory, index, + * or attribute inode as well as that @vi is a base inode. + * + * Called with ->i_sem held. In all but one case ->i_alloc_sem is held for + * writing. The only case where ->i_alloc_sem is not held is + * mm/filemap.c::generic_file_buffered_write() where vmtruncate() is called + * with the current i_size as the offset which means that it is a noop as far + * as ntfs_truncate() is concerned. */ void ntfs_truncate(struct inode *vi) { - // TODO: Implement... - ntfs_warning(vi->i_sb, "Eeek: i_size may have changed! If you see " - "this right after a message from " - "ntfs_{prepare,commit}_{,nonresident_}write() then " - "just ignore it. Otherwise it is bad news."); - // TODO: reset i_size now! + ntfs_inode *ni = NTFS_I(vi); + ntfs_attr_search_ctx *ctx; + MFT_RECORD *m; + int err; + + m = map_mft_record(ni); + if (IS_ERR(m)) { + ntfs_error(vi->i_sb, "Failed to map mft record for inode 0x%lx " + "(error code %ld).", vi->i_ino, PTR_ERR(m)); + if (PTR_ERR(m) != ENOMEM) + make_bad_inode(vi); + return; + } + ctx = ntfs_attr_get_search_ctx(ni, m); + if (unlikely(!ctx)) { + ntfs_error(vi->i_sb, "Failed to allocate a search context: " + "Not enough memory"); + // FIXME: We can't report an error code upstream. So what do + // we do?!? make_bad_inode() seems a bit harsh... + unmap_mft_record(ni); + return; + } + err = ntfs_attr_lookup(ni->type, ni->name, ni->name_len, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) { + if (err == -ENOENT) { + ntfs_error(vi->i_sb, "Open attribute is missing from " + "mft record. Inode 0x%lx is corrupt. " + "Run chkdsk.", vi->i_ino); + make_bad_inode(vi); + } else { + ntfs_error(vi->i_sb, "Failed to lookup attribute in " + "inode 0x%lx (error code %d).", + vi->i_ino, err); + // FIXME: We can't report an error code upstream. So + // what do we do?!? make_bad_inode() seems a bit + // harsh... + } + goto out; + } + /* If the size has not changed there is nothing to do. */ + if (ntfs_attr_size(ctx->attr) == i_size_read(vi)) + goto out; + // TODO: Implement the truncate... + ntfs_error(vi->i_sb, "Inode size has changed but this is not " + "implemented yet. Resetting inode size to old value. " + " This is most likely a bug in the ntfs driver!"); + i_size_write(vi, ntfs_attr_size(ctx->attr)); +out: + ntfs_attr_put_search_ctx(ctx); + unmap_mft_record(ni); return; } @@ -2235,67 +2344,62 @@ void ntfs_truncate(struct inode *vi) * @attr: structure describing the attributes and the changes * * We have to trap VFS attempts to truncate the file described by @dentry as - * soon as possible, because we do not implement changes in i_size yet. So we + * soon as possible, because we do not implement changes in i_size yet. So we * abort all i_size changes here. * - * Called with ->i_sem held. + * We also abort all changes of user, group, and mode as we do not implement + * the NTFS ACLs yet. + * + * Called with ->i_sem held. For the ATTR_SIZE (i.e. ->truncate) case, also + * called with ->i_alloc_sem held for writing. * * Basically this is a copy of generic notify_change() and inode_setattr() * functionality, except we intercept and abort changes in i_size. */ int ntfs_setattr(struct dentry *dentry, struct iattr *attr) { - struct inode *vi; + struct inode *vi = dentry->d_inode; int err; unsigned int ia_valid = attr->ia_valid; - vi = dentry->d_inode; - err = inode_change_ok(vi, attr); if (err) return err; - if ((ia_valid & ATTR_UID && attr->ia_uid != vi->i_uid) || - (ia_valid & ATTR_GID && attr->ia_gid != vi->i_gid)) { - err = DQUOT_TRANSFER(vi, attr) ? -EDQUOT : 0; - if (err) - return err; + /* We do not support NTFS ACLs yet. */ + if (ia_valid & (ATTR_UID | ATTR_GID | ATTR_MODE)) { + ntfs_warning(vi->i_sb, "Changes in user/group/mode are not " + "supported yet, ignoring."); + err = -EOPNOTSUPP; + goto out; } - lock_kernel(); - if (ia_valid & ATTR_SIZE) { - ntfs_error(vi->i_sb, "Changes in i_size are not supported " - "yet. Sorry."); - // TODO: Implement... - // err = vmtruncate(vi, attr->ia_size); - err = -EOPNOTSUPP; - if (err) - goto trunc_err; + if (attr->ia_size != i_size_read(vi)) { + ntfs_warning(vi->i_sb, "Changes in inode size are not " + "supported yet, ignoring."); + err = -EOPNOTSUPP; + // TODO: Implement... + // err = vmtruncate(vi, attr->ia_size); + if (err || ia_valid == ATTR_SIZE) + goto out; + } else { + /* + * We skipped the truncate but must still update + * timestamps. + */ + ia_valid |= ATTR_MTIME|ATTR_CTIME; + } } - if (ia_valid & ATTR_UID) - vi->i_uid = attr->ia_uid; - if (ia_valid & ATTR_GID) - vi->i_gid = attr->ia_gid; if (ia_valid & ATTR_ATIME) vi->i_atime = attr->ia_atime; if (ia_valid & ATTR_MTIME) vi->i_mtime = attr->ia_mtime; if (ia_valid & ATTR_CTIME) vi->i_ctime = attr->ia_ctime; - if (ia_valid & ATTR_MODE) { - vi->i_mode = attr->ia_mode; - if (!in_group_p(vi->i_gid) && - !capable(CAP_FSETID)) - vi->i_mode &= ~S_ISGID; - } mark_inode_dirty(vi); - -trunc_err: - - unlock_kernel(); - +out: return err; } @@ -2314,67 +2418,93 @@ trunc_err: * marking the page (and in this case mft record) dirty but we do not implement * this yet as write_mft_record() largely ignores the @sync parameter and * always performs synchronous writes. + * + * Return 0 on success and -errno on error. */ -void ntfs_write_inode(struct inode *vi, int sync) +int ntfs_write_inode(struct inode *vi, int sync) { + sle64 nt; ntfs_inode *ni = NTFS_I(vi); -#if 0 - attr_search_context *ctx; -#endif + ntfs_attr_search_ctx *ctx; MFT_RECORD *m; + STANDARD_INFORMATION *si; int err = 0; + BOOL modified = FALSE; ntfs_debug("Entering for %sinode 0x%lx.", NInoAttr(ni) ? "attr " : "", vi->i_ino); /* * Dirty attribute inodes are written via their real inodes so just - * clean them here. TODO: Take care of access time updates. + * clean them here. Access time updates are taken care off when the + * real inode is written. */ if (NInoAttr(ni)) { NInoClearDirty(ni); - return; + ntfs_debug("Done."); + return 0; } /* Map, pin, and lock the mft record belonging to the inode. */ m = map_mft_record(ni); - if (unlikely(IS_ERR(m))) { + if (IS_ERR(m)) { err = PTR_ERR(m); goto err_out; } -#if 0 - /* Obtain the standard information attribute. */ - ctx = get_attr_search_ctx(ni, m); + /* Update the access times in the standard information attribute. */ + ctx = ntfs_attr_get_search_ctx(ni, m); if (unlikely(!ctx)) { err = -ENOMEM; goto unm_err_out; } - if (unlikely(!lookup_attr(AT_STANDARD_INFORMATION, NULL, 0, - CASE_SENSITIVE, 0, NULL, 0, ctx))) { - put_attr_search_ctx(ctx); - err = -ENOENT; + err = ntfs_attr_lookup(AT_STANDARD_INFORMATION, NULL, 0, + CASE_SENSITIVE, 0, NULL, 0, ctx); + if (unlikely(err)) { + ntfs_attr_put_search_ctx(ctx); goto unm_err_out; } - // TODO: Update the access times in the standard information attribute - // which is now in ctx->attr. - // - Probably want to have use sops->dirty_inode() to set a flag that - // we need to update the times here rather than having to blindly do - // it every time. Or even don't do it here at all and do it in - // sops->dirty_inode() instead. Problem with this would be that - // sops->dirty_inode() must be atomic under certain circumstances - // and mapping mft records and such like is not atomic. - // - For atime updates also need to check whether they are enabled in - // the superblock flags. - ntfs_warning(vi->i_sb, "Access time updates not implement yet."); + si = (STANDARD_INFORMATION*)((u8*)ctx->attr + + le16_to_cpu(ctx->attr->data.resident.value_offset)); + /* Update the access times if they have changed. */ + nt = utc2ntfs(vi->i_mtime); + if (si->last_data_change_time != nt) { + ntfs_debug("Updating mtime for inode 0x%lx: old = 0x%llx, " + "new = 0x%llx", vi->i_ino, + sle64_to_cpu(si->last_data_change_time), + sle64_to_cpu(nt)); + si->last_data_change_time = nt; + modified = TRUE; + } + nt = utc2ntfs(vi->i_ctime); + if (si->last_mft_change_time != nt) { + ntfs_debug("Updating ctime for inode 0x%lx: old = 0x%llx, " + "new = 0x%llx", vi->i_ino, + sle64_to_cpu(si->last_mft_change_time), + sle64_to_cpu(nt)); + si->last_mft_change_time = nt; + modified = TRUE; + } + nt = utc2ntfs(vi->i_atime); + if (si->last_access_time != nt) { + ntfs_debug("Updating atime for inode 0x%lx: old = 0x%llx, " + "new = 0x%llx", vi->i_ino, + sle64_to_cpu(si->last_access_time), + sle64_to_cpu(nt)); + si->last_access_time = nt; + modified = TRUE; + } /* - * We just modified the mft record containing the standard information - * attribute. So need to mark the mft record dirty, too, but we do it - * manually so that mark_inode_dirty() is not called again. - * TODO: Only do this if there was a change in any of the times! + * If we just modified the standard information attribute we need to + * mark the mft record it is in dirty. We do this manually so that + * mark_inode_dirty() is not called which would redirty the inode and + * hence result in an infinite loop of trying to write the inode. + * There is no need to mark the base inode nor the base mft record + * dirty, since we are going to write this mft record below in any case + * and the base mft record may actually not have been modified so it + * might not need to be written out. */ - if (!NInoTestSetDirty(ctx->ntfs_ino)) + if (modified && !NInoTestSetDirty(ctx->ntfs_ino)) __set_page_dirty_nobuffers(ctx->ntfs_ino->page); - put_attr_search_ctx(ctx); -#endif - /* Write this base mft record. */ + ntfs_attr_put_search_ctx(ctx); + /* Now the access times are updated, write the base mft record. */ if (NInoDirty(ni)) err = write_mft_record(ni, m, sync); /* Write all attached extent mft records. */ @@ -2391,7 +2521,7 @@ void ntfs_write_inode(struct inode *vi, int sync) MFT_RECORD *tm = map_mft_record(tni); int ret; - if (unlikely(IS_ERR(tm))) { + if (IS_ERR(tm)) { if (!err || err == -ENOMEM) err = PTR_ERR(tm); continue; @@ -2410,11 +2540,9 @@ void ntfs_write_inode(struct inode *vi, int sync) if (unlikely(err)) goto err_out; ntfs_debug("Done."); - return; -#if 0 + return 0; unm_err_out: unmap_mft_record(ni); -#endif err_out: if (err == -ENOMEM) { ntfs_warning(vi->i_sb, "Not enough memory to write inode. " @@ -2426,7 +2554,7 @@ err_out: "as bad. You should run chkdsk.", -err); make_bad_inode(vi); } - return; + return err; } #endif /* NTFS_RW */ diff --git a/fs/ntfs/inode.h b/fs/ntfs/inode.h index 465bef639..3aa7b873f 100644 --- a/fs/ntfs/inode.h +++ b/fs/ntfs/inode.h @@ -53,21 +53,21 @@ struct _ntfs_inode { * name_len = 0 for files and name = I30 (global constant) and * name_len = 4 for directories. */ - ATTR_TYPES type; /* Attribute type of this fake inode. */ + ATTR_TYPE type; /* Attribute type of this fake inode. */ ntfschar *name; /* Attribute name of this fake inode. */ u32 name_len; /* Attribute name length of this fake inode. */ - run_list run_list; /* If state has the NI_NonResident bit set, - the run list of the unnamed data attribute + runlist runlist; /* If state has the NI_NonResident bit set, + the runlist of the unnamed data attribute (if a file) or of the index allocation attribute (directory) or of the attribute described by the fake inode (if NInoAttr()). - If run_list.rl is NULL, the run list has not + If runlist.rl is NULL, the runlist has not been read in yet or has been unmapped. If NI_NonResident is clear, the attribute is resident (file and fake inode) or there is no $I30 index allocation attribute (small directory). In the latter case - run_list.rl is always NULL.*/ + runlist.rl is always NULL.*/ /* * The following fields are only valid for real inodes and extent * inodes. @@ -88,7 +88,7 @@ struct _ntfs_inode { */ u32 attr_list_size; /* Length of attribute list value in bytes. */ u8 *attr_list; /* Attribute list value itself. */ - run_list attr_list_rl; /* Run list for the attribute list value. */ + runlist attr_list_rl; /* Run list for the attribute list value. */ union { struct { /* It is a directory, $MFT, or an index inode. */ struct inode *bmp_ino; /* Attribute inode for the @@ -96,7 +96,7 @@ struct _ntfs_inode { u32 block_size; /* Size of an index block. */ u32 vcn_size; /* Size of a vcn in this index. */ - COLLATION_RULES collation_rule; /* The collation rule + COLLATION_RULE collation_rule; /* The collation rule for the index. */ u8 block_size_bits; /* Log2 of the above. */ u8 vcn_size_bits; /* Log2 of the above. */ @@ -252,7 +252,7 @@ typedef struct { unsigned long mft_no; ntfschar *name; u32 name_len; - ATTR_TYPES type; + ATTR_TYPE type; } ntfs_attr; typedef int (*test_t)(struct inode *, void *); @@ -260,7 +260,7 @@ typedef int (*test_t)(struct inode *, void *); extern int ntfs_test_inode(struct inode *vi, ntfs_attr *na); extern struct inode *ntfs_iget(struct super_block *sb, unsigned long mft_no); -extern struct inode *ntfs_attr_iget(struct inode *base_vi, ATTR_TYPES type, +extern struct inode *ntfs_attr_iget(struct inode *base_vi, ATTR_TYPE type, ntfschar *name, u32 name_len); extern struct inode *ntfs_index_iget(struct inode *base_vi, ntfschar *name, u32 name_len); @@ -285,7 +285,7 @@ extern void ntfs_truncate(struct inode *vi); extern int ntfs_setattr(struct dentry *dentry, struct iattr *attr); -extern void ntfs_write_inode(struct inode *vi, int sync); +extern int ntfs_write_inode(struct inode *vi, int sync); static inline void ntfs_commit_inode(struct inode *vi) { diff --git a/fs/ntfs/layout.h b/fs/ntfs/layout.h index b2b6161eb..57f3a8893 100644 --- a/fs/ntfs/layout.h +++ b/fs/ntfs/layout.h @@ -60,18 +60,18 @@ * BIOS parameter block (bpb) structure. */ typedef struct { - u16 bytes_per_sector; /* Size of a sector in bytes. */ + le16 bytes_per_sector; /* Size of a sector in bytes. */ u8 sectors_per_cluster; /* Size of a cluster in sectors. */ - u16 reserved_sectors; /* zero */ + le16 reserved_sectors; /* zero */ u8 fats; /* zero */ - u16 root_entries; /* zero */ - u16 sectors; /* zero */ + le16 root_entries; /* zero */ + le16 sectors; /* zero */ u8 media_type; /* 0xf8 = hard disk */ - u16 sectors_per_fat; /* zero */ - u16 sectors_per_track; /* irrelevant */ - u16 heads; /* irrelevant */ - u32 hidden_sectors; /* zero */ - u32 large_sectors; /* zero */ + le16 sectors_per_fat; /* zero */ + le16 sectors_per_track; /* irrelevant */ + le16 heads; /* irrelevant */ + le32 hidden_sectors; /* zero */ + le32 large_sectors; /* zero */ } __attribute__ ((__packed__)) BIOS_PARAMETER_BLOCK; /* @@ -79,7 +79,7 @@ typedef struct { */ typedef struct { u8 jump[3]; /* Irrelevant (jump to boot up code).*/ - u64 oem_id; /* Magic "NTFS ". */ + le64 oem_id; /* Magic "NTFS ". */ BIOS_PARAMETER_BLOCK bpb; /* See BIOS_PARAMETER_BLOCK. */ u8 unused[4]; /* zero, NTFS diskedit.exe states that this is actually: @@ -89,21 +89,21 @@ typedef struct { // 0x80 __u8 unused; // zero */ -/*0x28*/s64 number_of_sectors; /* Number of sectors in volume. Gives +/*0x28*/sle64 number_of_sectors; /* Number of sectors in volume. Gives maximum volume size of 2^63 sectors. Assuming standard sector size of 512 bytes, the maximum byte size is approx. 4.7x10^21 bytes. (-; */ - s64 mft_lcn; /* Cluster location of mft data. */ - s64 mftmirr_lcn; /* Cluster location of copy of mft. */ + sle64 mft_lcn; /* Cluster location of mft data. */ + sle64 mftmirr_lcn; /* Cluster location of copy of mft. */ s8 clusters_per_mft_record; /* Mft record size in clusters. */ u8 reserved0[3]; /* zero */ s8 clusters_per_index_record; /* Index block size in clusters. */ u8 reserved1[3]; /* zero */ - u64 volume_serial_number; /* Irrelevant (serial number). */ - u32 checksum; /* Boot sector checksum. */ + le64 volume_serial_number; /* Irrelevant (serial number). */ + le32 checksum; /* Boot sector checksum. */ /*0x54*/u8 bootstrap[426]; /* Irrelevant (boot up code). */ - u16 end_of_sector_marker; /* End of bootsector magic. Always is + le16 end_of_sector_marker; /* End of bootsector magic. Always is 0xaa55 in little endian. */ /* sizeof() = 512 (0x200) bytes */ } __attribute__ ((__packed__)) NTFS_BOOT_SECTOR; @@ -112,7 +112,7 @@ typedef struct { * Magic identifiers present at the beginning of all ntfs record containing * records (like mft records for example). */ -typedef enum { +enum { /* Found in $MFT/$DATA. */ magic_FILE = const_cpu_to_le32(0x454c4946), /* Mft entry. */ magic_INDX = const_cpu_to_le32(0x58444e49), /* Index buffer. */ @@ -128,72 +128,80 @@ typedef enum { /* Found in all ntfs record containing records. */ magic_BAAD = const_cpu_to_le32(0x44414142), /* Failed multi sector transfer was detected. */ - /* - * Found in $LogFile/$DATA when a page is full or 0xff bytes and is - * thus not initialized. User has to initialize the page before using - * it. + * Found in $LogFile/$DATA when a page is full of 0xff bytes and is + * thus not initialized. Page must be initialized before using it. */ - magic_empty = const_cpu_to_le32(0xffffffff),/* Record is empty and has - to be initialized before - it can be used. */ -} NTFS_RECORD_TYPES; + magic_empty = const_cpu_to_le32(0xffffffff) /* Record is empty. */ +}; + +typedef le32 NTFS_RECORD_TYPE; /* * Generic magic comparison macros. Finally found a use for the ## preprocessor * operator! (-8 */ -#define ntfs_is_magic(x, m) ( (u32)(x) == magic_##m ) -#define ntfs_is_magicp(p, m) ( *(u32*)(p) == magic_##m ) + +static inline BOOL __ntfs_is_magic(le32 x, NTFS_RECORD_TYPE r) +{ + return (x == r); +} +#define ntfs_is_magic(x, m) __ntfs_is_magic(x, magic_##m) + +static inline BOOL __ntfs_is_magicp(le32 *p, NTFS_RECORD_TYPE r) +{ + return (*p == r); +} +#define ntfs_is_magicp(p, m) __ntfs_is_magicp(p, magic_##m) /* - * Specialised magic comparison macros for the NTFS_RECORD_TYPES defined above. + * Specialised magic comparison macros for the NTFS_RECORD_TYPEs defined above. */ -#define ntfs_is_file_record(x) ( ntfs_is_magic (x, FILE) ) -#define ntfs_is_file_recordp(p) ( ntfs_is_magicp(p, FILE) ) -#define ntfs_is_mft_record(x) ( ntfs_is_file_record(x) ) -#define ntfs_is_mft_recordp(p) ( ntfs_is_file_recordp(p) ) -#define ntfs_is_indx_record(x) ( ntfs_is_magic (x, INDX) ) -#define ntfs_is_indx_recordp(p) ( ntfs_is_magicp(p, INDX) ) -#define ntfs_is_hole_record(x) ( ntfs_is_magic (x, HOLE) ) -#define ntfs_is_hole_recordp(p) ( ntfs_is_magicp(p, HOLE) ) +#define ntfs_is_file_record(x) ( ntfs_is_magic (x, FILE) ) +#define ntfs_is_file_recordp(p) ( ntfs_is_magicp(p, FILE) ) +#define ntfs_is_mft_record(x) ( ntfs_is_file_record (x) ) +#define ntfs_is_mft_recordp(p) ( ntfs_is_file_recordp(p) ) +#define ntfs_is_indx_record(x) ( ntfs_is_magic (x, INDX) ) +#define ntfs_is_indx_recordp(p) ( ntfs_is_magicp(p, INDX) ) +#define ntfs_is_hole_record(x) ( ntfs_is_magic (x, HOLE) ) +#define ntfs_is_hole_recordp(p) ( ntfs_is_magicp(p, HOLE) ) -#define ntfs_is_rstr_record(x) ( ntfs_is_magic (x, RSTR) ) -#define ntfs_is_rstr_recordp(p) ( ntfs_is_magicp(p, RSTR) ) -#define ntfs_is_rcrd_record(x) ( ntfs_is_magic (x, RCRD) ) -#define ntfs_is_rcrd_recordp(p) ( ntfs_is_magicp(p, RCRD) ) +#define ntfs_is_rstr_record(x) ( ntfs_is_magic (x, RSTR) ) +#define ntfs_is_rstr_recordp(p) ( ntfs_is_magicp(p, RSTR) ) +#define ntfs_is_rcrd_record(x) ( ntfs_is_magic (x, RCRD) ) +#define ntfs_is_rcrd_recordp(p) ( ntfs_is_magicp(p, RCRD) ) -#define ntfs_is_chkd_record(x) ( ntfs_is_magic (x, CHKD) ) -#define ntfs_is_chkd_recordp(p) ( ntfs_is_magicp(p, CHKD) ) +#define ntfs_is_chkd_record(x) ( ntfs_is_magic (x, CHKD) ) +#define ntfs_is_chkd_recordp(p) ( ntfs_is_magicp(p, CHKD) ) -#define ntfs_is_baad_record(x) ( ntfs_is_magic (x, BAAD) ) -#define ntfs_is_baad_recordp(p) ( ntfs_is_magicp(p, BAAD) ) +#define ntfs_is_baad_record(x) ( ntfs_is_magic (x, BAAD) ) +#define ntfs_is_baad_recordp(p) ( ntfs_is_magicp(p, BAAD) ) #define ntfs_is_empty_record(x) ( ntfs_is_magic (x, empty) ) #define ntfs_is_empty_recordp(p) ( ntfs_is_magicp(p, empty) ) /* - * The Update Sequence Array (usa) is an array of the u16 values which belong + * The Update Sequence Array (usa) is an array of the le16 values which belong * to the end of each sector protected by the update sequence record in which * this array is contained. Note that the first entry is the Update Sequence * Number (usn), a cyclic counter of how many times the protected record has * been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All - * last u16's of each sector have to be equal to the usn (during reading) or + * last le16's of each sector have to be equal to the usn (during reading) or * are set to it (during writing). If they are not, an incomplete multi sector * transfer has occurred when the data was written. * The maximum size for the update sequence array is fixed to: * maximum size = usa_ofs + (usa_count * 2) = 510 bytes - * The 510 bytes comes from the fact that the last u16 in the array has to - * (obviously) finish before the last u16 of the first 512-byte sector. + * The 510 bytes comes from the fact that the last le16 in the array has to + * (obviously) finish before the last le16 of the first 512-byte sector. * This formula can be used as a consistency check in that usa_ofs + * (usa_count * 2) has to be less than or equal to 510. */ typedef struct { - NTFS_RECORD_TYPES magic; /* A four-byte magic identifying the - record type and/or status. */ - u16 usa_ofs; /* Offset to the Update Sequence Array (usa) + NTFS_RECORD_TYPE magic; /* A four-byte magic identifying the record + type and/or status. */ + le16 usa_ofs; /* Offset to the Update Sequence Array (usa) from the start of the ntfs record. */ - u16 usa_count; /* Number of u16 sized entries in the usa + le16 usa_count; /* Number of le16 sized entries in the usa including the Update Sequence Number (usn), thus the number of fixups is the usa_count minus 1. */ @@ -249,11 +257,12 @@ typedef enum { * These are the so far known MFT_RECORD_* flags (16-bit) which contain * information about the mft record in which they are present. */ -typedef enum { +enum { MFT_RECORD_IN_USE = const_cpu_to_le16(0x0001), - MFT_RECORD_IS_DIRECTORY = const_cpu_to_le16(0x0002), - MFT_REC_SPACE_FILLER = 0xffff /* Just to make flags 16-bit. */ -} __attribute__ ((__packed__)) MFT_RECORD_FLAGS; + MFT_RECORD_IS_DIRECTORY = const_cpu_to_le16(0x0002), +}; + +typedef le16 MFT_RECORD_FLAGS; /* * mft references (aka file references or file record segment references) are @@ -305,6 +314,7 @@ typedef enum { } MFT_REF_CONSTS; typedef u64 MFT_REF; +typedef le64 leMFT_REF; #define MREF(x) ((unsigned long)((x) & MFT_REF_MASK_CPU)) #define MSEQNO(x) ((u16)(((x) >> 48) & 0xffff)) @@ -325,18 +335,18 @@ typedef u64 MFT_REF; typedef struct { /*Ofs*/ /* 0 NTFS_RECORD; -- Unfolded here as gcc doesn't like unnamed structs. */ - NTFS_RECORD_TYPES magic;/* Usually the magic is "FILE". */ - u16 usa_ofs; /* See NTFS_RECORD definition above. */ - u16 usa_count; /* See NTFS_RECORD definition above. */ + NTFS_RECORD_TYPE magic; /* Usually the magic is "FILE". */ + le16 usa_ofs; /* See NTFS_RECORD definition above. */ + le16 usa_count; /* See NTFS_RECORD definition above. */ -/* 8*/ u64 lsn; /* $LogFile sequence number for this record. +/* 8*/ le64 lsn; /* $LogFile sequence number for this record. Changed every time the record is modified. */ -/* 16*/ u16 sequence_number; /* Number of times this mft record has been +/* 16*/ le16 sequence_number; /* Number of times this mft record has been reused. (See description for MFT_REF above.) NOTE: The increment (skipping zero) is done when the file is deleted. NOTE: If this is zero it is left zero. */ -/* 18*/ u16 link_count; /* Number of hard links, i.e. the number of +/* 18*/ le16 link_count; /* Number of hard links, i.e. the number of directory entries referencing this record. NOTE: Only used in mft base records. NOTE: When deleting a directory entry we @@ -346,18 +356,18 @@ typedef struct { directory entry from the mft record and decrement the link_count. FIXME: Careful with Win32 + DOS names! */ -/* 20*/ u16 attrs_offset; /* Byte offset to the first attribute in this +/* 20*/ le16 attrs_offset; /* Byte offset to the first attribute in this mft record from the start of the mft record. NOTE: Must be aligned to 8-byte boundary. */ /* 22*/ MFT_RECORD_FLAGS flags; /* Bit array of MFT_RECORD_FLAGS. When a file is deleted, the MFT_RECORD_IN_USE flag is set to zero. */ -/* 24*/ u32 bytes_in_use; /* Number of bytes used in this mft record. +/* 24*/ le32 bytes_in_use; /* Number of bytes used in this mft record. NOTE: Must be aligned to 8-byte boundary. */ -/* 28*/ u32 bytes_allocated; /* Number of bytes allocated for this mft +/* 28*/ le32 bytes_allocated; /* Number of bytes allocated for this mft record. This should be equal to the mft record size. */ -/* 32*/ MFT_REF base_mft_record; /* This is zero for base mft records. +/* 32*/ leMFT_REF base_mft_record;/* This is zero for base mft records. When it is not zero it is a mft reference pointing to the base mft record to which this record belongs (this is then used to @@ -369,17 +379,16 @@ typedef struct { attribute list also means finding the other potential extents, belonging to the non-base mft record). */ -/* 40*/ u16 next_attr_instance; /* The instance number that will be - assigned to the next attribute added to this - mft record. NOTE: Incremented each time - after it is used. NOTE: Every time the mft - record is reused this number is set to zero. - NOTE: The first instance number is always 0. - */ +/* 40*/ le16 next_attr_instance;/* The instance number that will be assigned to + the next attribute added to this mft record. + NOTE: Incremented each time after it is used. + NOTE: Every time the mft record is reused + this number is set to zero. NOTE: The first + instance number is always 0. */ /* sizeof() = 42 bytes */ /* NTFS 3.1+ (Windows XP and above) introduce the following additions. */ -/* 42*/ //u16 reserved; /* Reserved/alignment. */ -/* 44*/ //u32 mft_record_number;/* Number of this mft record. */ +/* 42*/ //le16 reserved; /* Reserved/alignment. */ +/* 44*/ //le32 mft_record_number;/* Number of this mft record. */ /* sizeof() = 48 bytes */ /* * When (re)using the mft record, we place the update sequence array at this @@ -393,15 +402,15 @@ typedef struct { } __attribute__ ((__packed__)) MFT_RECORD; /* - * System defined attributes (32-bit). Each attribute type has a corresponding + * System defined attributes (32-bit). Each attribute type has a corresponding * attribute name (Unicode string of maximum 64 character length) as described * by the attribute definitions present in the data attribute of the $AttrDef - * system file. On NTFS 3.0 volumes the names are just as the types are named - * in the below enum exchanging AT_ for the dollar sign ($). If that isn't a - * revealing choice of symbol... (-; + * system file. On NTFS 3.0 volumes the names are just as the types are named + * in the below defines exchanging AT_ for the dollar sign ($). If that is not + * a revealing choice of symbol I do not know what is... (-; */ -typedef enum { - AT_UNUSED = const_cpu_to_le32( 0), +enum { + AT_UNUSED = const_cpu_to_le32( 0), AT_STANDARD_INFORMATION = const_cpu_to_le32( 0x10), AT_ATTRIBUTE_LIST = const_cpu_to_le32( 0x20), AT_FILE_NAME = const_cpu_to_le32( 0x30), @@ -419,12 +428,16 @@ typedef enum { AT_PROPERTY_SET = const_cpu_to_le32( 0xf0), AT_LOGGED_UTILITY_STREAM = const_cpu_to_le32( 0x100), AT_FIRST_USER_DEFINED_ATTRIBUTE = const_cpu_to_le32( 0x1000), - AT_END = const_cpu_to_le32(0xffffffff), -} ATTR_TYPES; + AT_END = const_cpu_to_le32(0xffffffff) +}; + +typedef le32 ATTR_TYPE; /* * The collation rules for sorting views/indexes/etc (32-bit). * + * COLLATION_BINARY - Collate by binary compare where the first byte is most + * significant. * COLLATION_UNICODE_STRING - Collate Unicode strings by comparing their binary * Unicode values, except that when a character can be uppercased, the * upper case value collates before the lower case one. @@ -435,63 +448,59 @@ typedef enum { * unistr.c::ntfs_collate_names() and unistr.c::legal_ansi_char_array[] * for what I mean but COLLATION_UNICODE_STRING would not give any special * treatment to any characters at all, but this is speculation. - * COLLATION_NTOFS_ULONG - Sorting is done according to ascending u32 key + * COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key * values. E.g. used for $SII index in FILE_Secure, which sorts by - * security_id (u32). + * security_id (le32). * COLLATION_NTOFS_SID - Sorting is done according to ascending SID values. * E.g. used for $O index in FILE_Extend/$Quota. * COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash * values and second by ascending security_id values. E.g. used for $SDH * index in FILE_Secure. * COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending - * u32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which + * le32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which * sorts by object_id (16-byte), by splitting up the object_id in four - * u32 values and using them as individual keys. E.g. take the following + * le32 values and using them as individual keys. E.g. take the following * two security_ids, stored as follows on disk: * 1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59 * 2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45 - * To compare them, they are split into four u32 values each, like so: + * To compare them, they are split into four le32 values each, like so: * 1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081 * 2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179 * Now, it is apparent why the 2nd object_id collates after the 1st: the - * first u32 value of the 1st object_id is less than the first u32 of - * the 2nd object_id. If the first u32 values of both object_ids were - * equal then the second u32 values would be compared, etc. - */ -typedef enum { - COLLATION_BINARY = const_cpu_to_le32(0x00), /* Collate by - binary compare where the first byte is - most significant. */ - COLLATION_FILE_NAME = const_cpu_to_le32(0x01), /* Collate file - names as Unicode strings. */ - COLLATION_UNICODE_STRING = const_cpu_to_le32(0x02), /* Collate Unicode - strings by comparing their binary - Unicode values, except that when a - character can be uppercased, the upper - case value collates before the lower - case one. */ + * first le32 value of the 1st object_id is less than the first le32 of + * the 2nd object_id. If the first le32 values of both object_ids were + * equal then the second le32 values would be compared, etc. + */ +enum { + COLLATION_BINARY = const_cpu_to_le32(0x00), + COLLATION_FILE_NAME = const_cpu_to_le32(0x01), + COLLATION_UNICODE_STRING = const_cpu_to_le32(0x02), COLLATION_NTOFS_ULONG = const_cpu_to_le32(0x10), COLLATION_NTOFS_SID = const_cpu_to_le32(0x11), COLLATION_NTOFS_SECURITY_HASH = const_cpu_to_le32(0x12), - COLLATION_NTOFS_ULONGS = const_cpu_to_le32(0x13), -} COLLATION_RULES; + COLLATION_NTOFS_ULONGS = const_cpu_to_le32(0x13) +}; + +typedef le32 COLLATION_RULE; /* * The flags (32-bit) describing attribute properties in the attribute - * definition structure. FIXME: This information is from Regis's information + * definition structure. FIXME: This information is from Regis's information * and, according to him, it is not certain and probably incomplete. * The INDEXABLE flag is fairly certainly correct as only the file name * attribute has this flag set and this is the only attribute indexed in NT4. */ -typedef enum { - INDEXABLE = const_cpu_to_le32(0x02), /* Attribute can be - indexed. */ - NEED_TO_REGENERATE = const_cpu_to_le32(0x40), /* Need to regenerate - during regeneration - phase. */ - CAN_BE_NON_RESIDENT = const_cpu_to_le32(0x80), /* Attribute can be - non-resident. */ -} ATTR_DEF_FLAGS; +enum { + INDEXABLE = const_cpu_to_le32(0x02), /* Attribute can be + indexed. */ + NEED_TO_REGENERATE = const_cpu_to_le32(0x40), /* Need to regenerate + during regeneration + phase. */ + CAN_BE_NON_RESIDENT = const_cpu_to_le32(0x80), /* Attribute can be + non-resident. */ +}; + +typedef le32 ATTR_DEF_FLAGS; /* * The data attribute of FILE_AttrDef contains a sequence of attribute @@ -506,27 +515,29 @@ typedef struct { /*hex ofs*/ /* 0*/ ntfschar name[0x40]; /* Unicode name of the attribute. Zero terminated. */ -/* 80*/ ATTR_TYPES type; /* Type of the attribute. */ -/* 84*/ u32 display_rule; /* Default display rule. +/* 80*/ ATTR_TYPE type; /* Type of the attribute. */ +/* 84*/ le32 display_rule; /* Default display rule. FIXME: What does it mean? (AIA) */ -/* 88*/ COLLATION_RULES collation_rule; /* Default collation rule. */ +/* 88*/ COLLATION_RULE collation_rule; /* Default collation rule. */ /* 8c*/ ATTR_DEF_FLAGS flags; /* Flags describing the attribute. */ -/* 90*/ u64 min_size; /* Optional minimum attribute size. */ -/* 98*/ u64 max_size; /* Maximum size of attribute. */ +/* 90*/ le64 min_size; /* Optional minimum attribute size. */ +/* 98*/ le64 max_size; /* Maximum size of attribute. */ /* sizeof() = 0xa0 or 160 bytes */ } __attribute__ ((__packed__)) ATTR_DEF; /* * Attribute flags (16-bit). */ -typedef enum { - ATTR_IS_COMPRESSED = const_cpu_to_le16(0x0001), - ATTR_COMPRESSION_MASK = const_cpu_to_le16(0x00ff), /* Compression - method mask. Also, first - illegal value. */ - ATTR_IS_ENCRYPTED = const_cpu_to_le16(0x4000), - ATTR_IS_SPARSE = const_cpu_to_le16(0x8000), -} __attribute__ ((__packed__)) ATTR_FLAGS; +enum { + ATTR_IS_COMPRESSED = const_cpu_to_le16(0x0001), + ATTR_COMPRESSION_MASK = const_cpu_to_le16(0x00ff), /* Compression method + mask. Also, first + illegal value. */ + ATTR_IS_ENCRYPTED = const_cpu_to_le16(0x4000), + ATTR_IS_SPARSE = const_cpu_to_le16(0x8000), +} __attribute__ ((__packed__)); + +typedef le16 ATTR_FLAGS; /* * Attribute compression. @@ -545,7 +556,7 @@ typedef enum { * can be stored: * * 1) The data in the block is all zero (a sparse block): - * This is stored as a sparse block in the run list, i.e. the run list + * This is stored as a sparse block in the runlist, i.e. the runlist * entry has length = X and lcn = -1. The mapping pairs array actually * uses a delta_lcn value length of 0, i.e. delta_lcn is not present at * all, which is then interpreted by the driver as lcn = -1. @@ -558,7 +569,7 @@ typedef enum { * in clusters. I.e. if compression has a small effect so that the * compressed data still occupies X clusters, then the uncompressed data * is stored in the block. - * This case is recognised by the fact that the run list entry has + * This case is recognised by the fact that the runlist entry has * length = X and lcn >= 0. The mapping pairs array stores this as * normal with a run length of X and some specific delta_lcn, i.e. * delta_lcn has to be present. @@ -567,7 +578,7 @@ typedef enum { * The common case. This case is recognised by the fact that the run * list entry has length L < X and lcn >= 0. The mapping pairs array * stores this as normal with a run length of X and some specific - * delta_lcn, i.e. delta_lcn has to be present. This run list entry is + * delta_lcn, i.e. delta_lcn has to be present. This runlist entry is * immediately followed by a sparse entry with length = X - L and * lcn = -1. The latter entry is to make up the vcn counting to the * full compression block size X. @@ -575,15 +586,15 @@ typedef enum { * In fact, life is more complicated because adjacent entries of the same type * can be coalesced. This means that one has to keep track of the number of * clusters handled and work on a basis of X clusters at a time being one - * block. An example: if length L > X this means that this particular run list + * block. An example: if length L > X this means that this particular runlist * entry contains a block of length X and part of one or more blocks of length * L - X. Another example: if length L < X, this does not necessarily mean that * the block is compressed as it might be that the lcn changes inside the block - * and hence the following run list entry describes the continuation of the + * and hence the following runlist entry describes the continuation of the * potentially compressed block. The block would be compressed if the - * following run list entry describes at least X - L sparse clusters, thus + * following runlist entry describes at least X - L sparse clusters, thus * making up the compression block length as described in point 3 above. (Of - * course, there can be several run list entries with small lengths so that the + * course, there can be several runlist entries with small lengths so that the * sparse entry does not follow the first data containing entry with * length < X.) * @@ -598,26 +609,28 @@ typedef enum { /* * Flags of resident attributes (8-bit). */ -typedef enum { +enum { RESIDENT_ATTR_IS_INDEXED = 0x01, /* Attribute is referenced in an index (has implications for deleting and modifying the attribute). */ -} __attribute__ ((__packed__)) RESIDENT_ATTR_FLAGS; +} __attribute__ ((__packed__)); + +typedef u8 RESIDENT_ATTR_FLAGS; /* * Attribute record header. Always aligned to 8-byte boundary. */ typedef struct { /*Ofs*/ -/* 0*/ ATTR_TYPES type; /* The (32-bit) type of the attribute. */ -/* 4*/ u32 length; /* Byte size of the resident part of the +/* 0*/ ATTR_TYPE type; /* The (32-bit) type of the attribute. */ +/* 4*/ le32 length; /* Byte size of the resident part of the attribute (aligned to 8-byte boundary). Used to get to the next attribute. */ /* 8*/ u8 non_resident; /* If 0, attribute is resident. If 1, attribute is non-resident. */ /* 9*/ u8 name_length; /* Unicode character size of name of attribute. 0 if unnamed. */ -/* 10*/ u16 name_offset; /* If name_length != 0, the byte offset to the +/* 10*/ le16 name_offset; /* If name_length != 0, the byte offset to the beginning of the name from the attribute record. Note that the name is stored as a Unicode string. When creating, place offset @@ -627,15 +640,15 @@ typedef struct { respectively, aligning to an 8-byte boundary. */ /* 12*/ ATTR_FLAGS flags; /* Flags describing the attribute. */ -/* 14*/ u16 instance; /* The instance of this attribute record. This +/* 14*/ le16 instance; /* The instance of this attribute record. This number is unique within this mft record (see MFT_RECORD/next_attribute_instance notes in in mft.h for more details). */ /* 16*/ union { /* Resident attributes. */ struct { -/* 16 */ u32 value_length; /* Byte size of attribute value. */ -/* 20 */ u16 value_offset; /* Byte offset of the attribute +/* 16 */ le32 value_length;/* Byte size of attribute value. */ +/* 20 */ le16 value_offset;/* Byte offset of the attribute value from the start of the attribute record. When creating, align to 8-byte boundary if we @@ -648,18 +661,18 @@ typedef struct { } __attribute__ ((__packed__)) resident; /* Non-resident attributes. */ struct { -/* 16*/ VCN lowest_vcn; /* Lowest valid virtual cluster number +/* 16*/ leVCN lowest_vcn;/* Lowest valid virtual cluster number for this portion of the attribute value or 0 if this is the only extent (usually the case). - Only when an attribute list is used does lowest_vcn != 0 ever occur. */ -/* 24*/ VCN highest_vcn; /* Highest valid vcn of this extent of +/* 24*/ leVCN highest_vcn;/* Highest valid vcn of this extent of the attribute value. - Usually there is only one portion, so this usually equals the attribute value size in clusters minus 1. Can be -1 for zero length files. Can be 0 for "single extent" attributes. */ -/* 32*/ u16 mapping_pairs_offset; /* Byte offset from the +/* 32*/ le16 mapping_pairs_offset; /* Byte offset from the beginning of the structure to the mapping pairs array which contains the mappings between the vcns and the logical cluster numbers (lcns). @@ -674,7 +687,7 @@ typedef struct { /* 35*/ u8 reserved[5]; /* Align to 8-byte boundary. */ /* The sizes below are only used when lowest_vcn is zero, as otherwise it would be difficult to keep them up-to-date.*/ -/* 40*/ s64 allocated_size; /* Byte size of disk space +/* 40*/ sle64 allocated_size; /* Byte size of disk space allocated to hold the attribute value. Always is a multiple of the cluster size. When a file is compressed, this field is a multiple of the @@ -682,14 +695,14 @@ typedef struct { it represents the logically allocated space rather than the actual on disk usage. For this use the compressed_size (see below). */ -/* 48*/ s64 data_size; /* Byte size of the attribute +/* 48*/ sle64 data_size; /* Byte size of the attribute value. Can be larger than allocated_size if attribute value is compressed or sparse. */ -/* 56*/ s64 initialized_size; /* Byte size of initialized +/* 56*/ sle64 initialized_size; /* Byte size of initialized portion of the attribute value. Usually equals data_size. */ /* sizeof(uncompressed attr) = 64*/ -/* 64*/ s64 compressed_size; /* Byte size of the attribute +/* 64*/ sle64 compressed_size; /* Byte size of the attribute value after compression. Only present when compressed. Always is a multiple of the cluster size. Represents the actual amount of @@ -704,19 +717,19 @@ typedef ATTR_RECORD ATTR_REC; /* * File attribute flags (32-bit). */ -typedef enum { +enum { /* - * These flags are only present in the STANDARD_INFORMATION attribute - * (in the field file_attributes). + * The following flags are only present in the STANDARD_INFORMATION + * attribute (in the field file_attributes). */ FILE_ATTR_READONLY = const_cpu_to_le32(0x00000001), FILE_ATTR_HIDDEN = const_cpu_to_le32(0x00000002), FILE_ATTR_SYSTEM = const_cpu_to_le32(0x00000004), - /* Old DOS volid. Unused in NT. = cpu_to_le32(0x00000008), */ + /* Old DOS volid. Unused in NT. = const_cpu_to_le32(0x00000008), */ FILE_ATTR_DIRECTORY = const_cpu_to_le32(0x00000010), - /* FILE_ATTR_DIRECTORY is not considered valid in NT. It is reserved - for the DOS SUBDIRECTORY flag. */ + /* Note, FILE_ATTR_DIRECTORY is not considered valid in NT. It is + reserved for the DOS SUBDIRECTORY flag. */ FILE_ATTR_ARCHIVE = const_cpu_to_le32(0x00000020), FILE_ATTR_DEVICE = const_cpu_to_le32(0x00000040), FILE_ATTR_NORMAL = const_cpu_to_le32(0x00000080), @@ -731,29 +744,31 @@ typedef enum { FILE_ATTR_ENCRYPTED = const_cpu_to_le32(0x00004000), FILE_ATTR_VALID_FLAGS = const_cpu_to_le32(0x00007fb7), - /* FILE_ATTR_VALID_FLAGS masks out the old DOS VolId and the - FILE_ATTR_DEVICE and preserves everything else. This mask - is used to obtain all flags that are valid for reading. */ + /* Note, FILE_ATTR_VALID_FLAGS masks out the old DOS VolId and the + FILE_ATTR_DEVICE and preserves everything else. This mask is used + to obtain all flags that are valid for reading. */ FILE_ATTR_VALID_SET_FLAGS = const_cpu_to_le32(0x000031a7), - /* FILE_ATTR_VALID_SET_FLAGS masks out the old DOS VolId, the + /* Note, FILE_ATTR_VALID_SET_FLAGS masks out the old DOS VolId, the F_A_DEVICE, F_A_DIRECTORY, F_A_SPARSE_FILE, F_A_REPARSE_POINT, - F_A_COMPRESSED and F_A_ENCRYPTED and preserves the rest. This mask + F_A_COMPRESSED, and F_A_ENCRYPTED and preserves the rest. This mask is used to to obtain all flags that are valid for setting. */ /* - * These flags are only present in the FILE_NAME attribute (in the - * field file_attributes). + * The following flags are only present in the FILE_NAME attribute (in + * the field file_attributes). */ FILE_ATTR_DUP_FILE_NAME_INDEX_PRESENT = const_cpu_to_le32(0x10000000), - /* This is a copy of the corresponding bit from the mft record, telling - us whether this is a directory or not, i.e. whether it has an - index root attribute or not. */ + /* Note, this is a copy of the corresponding bit from the mft record, + telling us whether this is a directory or not, i.e. whether it has + an index root attribute or not. */ FILE_ATTR_DUP_VIEW_INDEX_PRESENT = const_cpu_to_le32(0x20000000), - /* This is a copy of the corresponding bit from the mft record, telling - us whether this file has a view index present (eg. object id index, - quota index, one of the security indexes or the encrypting file - system related indexes). */ -} FILE_ATTR_FLAGS; + /* Note, this is a copy of the corresponding bit from the mft record, + telling us whether this file has a view index present (eg. object id + index, quota index, one of the security indexes or the encrypting + file system related indexes). */ +}; + +typedef le32 FILE_ATTR_FLAGS; /* * NOTE on times in NTFS: All times are in MS standard time format, i.e. they @@ -774,13 +789,13 @@ typedef enum { */ typedef struct { /*Ofs*/ -/* 0*/ s64 creation_time; /* Time file was created. Updated when +/* 0*/ sle64 creation_time; /* Time file was created. Updated when a filename is changed(?). */ -/* 8*/ s64 last_data_change_time; /* Time the data attribute was last +/* 8*/ sle64 last_data_change_time; /* Time the data attribute was last modified. */ -/* 16*/ s64 last_mft_change_time; /* Time this mft record was last +/* 16*/ sle64 last_mft_change_time; /* Time this mft record was last modified. */ -/* 24*/ s64 last_access_time; /* Approximate time when the file was +/* 24*/ sle64 last_access_time; /* Approximate time when the file was last accessed (obviously this is not updated on read-only volumes). In Windows this is only updated when @@ -817,23 +832,23 @@ typedef struct { * views that as a corruption, assuming that it behaves like this for all * attributes. */ - /* 36*/ u32 maximum_versions; /* Maximum allowed versions for + /* 36*/ le32 maximum_versions; /* Maximum allowed versions for file. Zero if version numbering is disabled. */ - /* 40*/ u32 version_number; /* This file's version (if any). + /* 40*/ le32 version_number; /* This file's version (if any). Set to zero if maximum_versions is zero. */ - /* 44*/ u32 class_id; /* Class id from bidirectional + /* 44*/ le32 class_id; /* Class id from bidirectional class id index (?). */ - /* 48*/ u32 owner_id; /* Owner_id of the user owning + /* 48*/ le32 owner_id; /* Owner_id of the user owning the file. Translate via $Q index in FILE_Extend /$Quota to the quota control entry for the user owning the file. Zero if quotas are disabled. */ - /* 52*/ u32 security_id; /* Security_id for the file. + /* 52*/ le32 security_id; /* Security_id for the file. Translate via $SII index and $SDS data stream in FILE_Secure to the security descriptor. */ - /* 56*/ u64 quota_charged; /* Byte size of the charge to + /* 56*/ le64 quota_charged; /* Byte size of the charge to the quota for all streams of the file. Note: Is zero if quotas are disabled. */ - /* 64*/ u64 usn; /* Last update sequence number + /* 64*/ le64 usn; /* Last update sequence number of the file. This is a direct index into the change (aka usn) journal file. It is zero if the usn journal is disabled. @@ -886,14 +901,14 @@ typedef struct { */ typedef struct { /*Ofs*/ -/* 0*/ ATTR_TYPES type; /* Type of referenced attribute. */ -/* 4*/ u16 length; /* Byte size of this entry (8-byte aligned). */ +/* 0*/ ATTR_TYPE type; /* Type of referenced attribute. */ +/* 4*/ le16 length; /* Byte size of this entry (8-byte aligned). */ /* 6*/ u8 name_length; /* Size in Unicode chars of the name of the attribute or 0 if unnamed. */ /* 7*/ u8 name_offset; /* Byte offset to beginning of attribute name (always set this to where the name would start even if unnamed). */ -/* 8*/ VCN lowest_vcn; /* Lowest virtual cluster number of this portion +/* 8*/ leVCN lowest_vcn; /* Lowest virtual cluster number of this portion of the attribute value. This is usually 0. It is non-zero for the case where one attribute does not fit into one mft record and thus @@ -905,10 +920,10 @@ typedef struct { value! The windows driver uses cmp, followed by jg when comparing this, thus it treats it as signed. */ -/* 16*/ MFT_REF mft_reference; /* The reference of the mft record holding +/* 16*/ leMFT_REF mft_reference;/* The reference of the mft record holding the ATTR_RECORD for this portion of the attribute value. */ -/* 24*/ u16 instance; /* If lowest_vcn = 0, the instance of the +/* 24*/ le16 instance; /* If lowest_vcn = 0, the instance of the attribute being referenced; otherwise 0. */ /* 26*/ ntfschar name[0]; /* Use when creating only. When reading use name_offset to determine the location of the @@ -924,28 +939,28 @@ typedef struct { /* * Possible namespaces for filenames in ntfs (8-bit). */ -typedef enum { - FILE_NAME_POSIX = 0x00, - /* This is the largest namespace. It is case sensitive and - allows all Unicode characters except for: '\0' and '/'. - Beware that in WinNT/2k files which eg have the same name - except for their case will not be distinguished by the - standard utilities and thus a "del filename" will delete - both "filename" and "fileName" without warning. */ - FILE_NAME_WIN32 = 0x01, - /* The standard WinNT/2k NTFS long filenames. Case insensitive. - All Unicode chars except: '\0', '"', '*', '/', ':', '<', - '>', '?', '\' and '|'. Further, names cannot end with a '.' - or a space. */ - FILE_NAME_DOS = 0x02, - /* The standard DOS filenames (8.3 format). Uppercase only. - All 8-bit characters greater space, except: '"', '*', '+', - ',', '/', ':', ';', '<', '=', '>', '?' and '\'. */ - FILE_NAME_WIN32_AND_DOS = 0x03, - /* 3 means that both the Win32 and the DOS filenames are - identical and hence have been saved in this single filename - record. */ -} __attribute__ ((__packed__)) FILE_NAME_TYPE_FLAGS; +enum { + FILE_NAME_POSIX = 0x00, + /* This is the largest namespace. It is case sensitive and allows all + Unicode characters except for: '\0' and '/'. Beware that in + WinNT/2k files which eg have the same name except for their case + will not be distinguished by the standard utilities and thus a "del + filename" will delete both "filename" and "fileName" without + warning. */ + FILE_NAME_WIN32 = 0x01, + /* The standard WinNT/2k NTFS long filenames. Case insensitive. All + Unicode chars except: '\0', '"', '*', '/', ':', '<', '>', '?', '\', + and '|'. Further, names cannot end with a '.' or a space. */ + FILE_NAME_DOS = 0x02, + /* The standard DOS filenames (8.3 format). Uppercase only. All 8-bit + characters greater space, except: '"', '*', '+', ',', '/', ':', ';', + '<', '=', '>', '?', and '\'. */ + FILE_NAME_WIN32_AND_DOS = 0x03, + /* 3 means that both the Win32 and the DOS filenames are identical and + hence have been saved in this single filename record. */ +} __attribute__ ((__packed__)); + +typedef u8 FILE_NAME_TYPE_FLAGS; /* * Attribute: Filename (0x30). @@ -962,30 +977,30 @@ typedef enum { */ typedef struct { /*hex ofs*/ -/* 0*/ MFT_REF parent_directory; /* Directory this filename is +/* 0*/ leMFT_REF parent_directory; /* Directory this filename is referenced from. */ -/* 8*/ s64 creation_time; /* Time file was created. */ -/* 10*/ s64 last_data_change_time; /* Time the data attribute was last +/* 8*/ sle64 creation_time; /* Time file was created. */ +/* 10*/ sle64 last_data_change_time; /* Time the data attribute was last modified. */ -/* 18*/ s64 last_mft_change_time; /* Time this mft record was last +/* 18*/ sle64 last_mft_change_time; /* Time this mft record was last modified. */ -/* 20*/ s64 last_access_time; /* Time this mft record was last +/* 20*/ sle64 last_access_time; /* Time this mft record was last accessed. */ -/* 28*/ s64 allocated_size; /* Byte size of allocated space for the +/* 28*/ sle64 allocated_size; /* Byte size of allocated space for the data attribute. NOTE: Is a multiple of the cluster size. */ -/* 30*/ s64 data_size; /* Byte size of actual data in data +/* 30*/ sle64 data_size; /* Byte size of actual data in data attribute. */ /* 38*/ FILE_ATTR_FLAGS file_attributes; /* Flags describing the file. */ /* 3c*/ union { /* 3c*/ struct { - /* 3c*/ u16 packed_ea_size; /* Size of the buffer needed to + /* 3c*/ le16 packed_ea_size; /* Size of the buffer needed to pack the extended attributes (EAs), if such are present.*/ - /* 3e*/ u16 reserved; /* Reserved for alignment. */ + /* 3e*/ le16 reserved; /* Reserved for alignment. */ } __attribute__ ((__packed__)) ea; /* 3c*/ struct { - /* 3c*/ u32 reparse_point_tag; /* Type of reparse point, + /* 3c*/ le32 reparse_point_tag; /* Type of reparse point, present only in reparse points and only if there are no EAs. */ @@ -1007,9 +1022,9 @@ typedef struct { * 1F010768-5A73-BC91-0010A52216A7 */ typedef struct { - u32 data1; /* The first eight hexadecimal digits of the GUID. */ - u16 data2; /* The first group of four hexadecimal digits. */ - u16 data3; /* The second group of four hexadecimal digits. */ + le32 data1; /* The first eight hexadecimal digits of the GUID. */ + le16 data2; /* The first group of four hexadecimal digits. */ + le16 data3; /* The second group of four hexadecimal digits. */ u8 data4[8]; /* The first two bytes are the third group of four hexadecimal digits. The remaining six bytes are the final 12 hexadecimal digits. */ @@ -1027,7 +1042,7 @@ typedef struct { * domain_id - Reserved (always zero). */ typedef struct { - MFT_REF mft_reference; /* Mft record containing the object_id in + leMFT_REF mft_reference;/* Mft record containing the object_id in the index entry key. */ union { struct { @@ -1195,13 +1210,16 @@ typedef enum { /* Identifier authority. */ /* * The SID_IDENTIFIER_AUTHORITY is a 48-bit value used in the SID structure. + * + * NOTE: This is stored as a big endian number, hence the high_part comes + * before the low_part. */ typedef union { struct { - u32 low; /* Low 32-bits. */ - u16 high; /* High 16-bits. */ + u16 high_part; /* High 16-bits. */ + u32 low_part; /* Low 32-bits. */ } __attribute__ ((__packed__)) parts; - u8 value[6]; /* Value as individual bytes. */ + u8 value[6]; /* Value as individual bytes. */ } __attribute__ ((__packed__)) SID_IDENTIFIER_AUTHORITY; /* @@ -1232,7 +1250,7 @@ typedef struct { u8 revision; u8 sub_authority_count; SID_IDENTIFIER_AUTHORITY identifier_authority; - u32 sub_authority[1]; /* At least one sub_authority. */ + le32 sub_authority[1]; /* At least one sub_authority. */ } __attribute__ ((__packed__)) SID; /* @@ -1248,7 +1266,7 @@ typedef enum { /* * The predefined ACE types (8-bit, see below). */ -typedef enum { +enum { ACCESS_MIN_MS_ACE_TYPE = 0, ACCESS_ALLOWED_ACE_TYPE = 0, ACCESS_DENIED_ACE_TYPE = 1, @@ -1269,9 +1287,11 @@ typedef enum { ACCESS_MAX_MS_V4_ACE_TYPE = 8, - /* This one is for WinNT&2k. */ + /* This one is for WinNT/2k. */ ACCESS_MAX_MS_ACE_TYPE = 8, -} __attribute__ ((__packed__)) ACE_TYPES; +} __attribute__ ((__packed__)); + +typedef u8 ACE_TYPES; /* * The ACE flags (8-bit) for audit and inheritance (see below). @@ -1283,7 +1303,7 @@ typedef enum { * FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types * to indicate that a message is generated (in Windows!) for failed accesses. */ -typedef enum { +enum { /* The inheritance flags. */ OBJECT_INHERIT_ACE = 0x01, CONTAINER_INHERIT_ACE = 0x02, @@ -1295,7 +1315,9 @@ typedef enum { /* The audit flags. */ SUCCESSFUL_ACCESS_ACE_FLAG = 0x40, FAILED_ACCESS_ACE_FLAG = 0x80, -} __attribute__ ((__packed__)) ACE_FLAGS; +} __attribute__ ((__packed__)); + +typedef u8 ACE_FLAGS; /* * An ACE is an access-control entry in an access-control list (ACL). @@ -1312,18 +1334,16 @@ typedef struct { /*Ofs*/ /* 0*/ ACE_TYPES type; /* Type of the ACE. */ /* 1*/ ACE_FLAGS flags; /* Flags describing the ACE. */ -/* 2*/ u16 size; /* Size in bytes of the ACE. */ +/* 2*/ le16 size; /* Size in bytes of the ACE. */ } __attribute__ ((__packed__)) ACE_HEADER; /* * The access mask (32-bit). Defines the access rights. + * + * The specific rights (bits 0 to 15). These depend on the type of the object + * being secured by the ACE. */ -typedef enum { - /* - * The specific rights (bits 0 to 15). Depend on the type of the - * object being secured by the ACE. - */ - +enum { /* Specific rights for files and directories are as follows: */ /* Right to read data from the file. (FILE) */ @@ -1365,8 +1385,8 @@ typedef enum { FILE_WRITE_ATTRIBUTES = const_cpu_to_le32(0x00000100), /* - * The standard rights (bits 16 to 23). Are independent of the type of - * object being secured. + * The standard rights (bits 16 to 23). These are independent of the + * type of object being secured. */ /* Right to delete the object. */ @@ -1374,7 +1394,7 @@ typedef enum { /* * Right to read the information in the object's security descriptor, - * not including the information in the SACL. I.e. right to read the + * not including the information in the SACL, i.e. right to read the * security descriptor and owner. */ READ_CONTROL = const_cpu_to_le32(0x00020000), @@ -1386,8 +1406,8 @@ typedef enum { WRITE_OWNER = const_cpu_to_le32(0x00080000), /* - * Right to use the object for synchronization. Enables a process to - * wait until the object is in the signalled state. Some object types + * Right to use the object for synchronization. Enables a process to + * wait until the object is in the signalled state. Some object types * do not support this access right. */ SYNCHRONIZE = const_cpu_to_le32(0x00100000), @@ -1419,7 +1439,7 @@ typedef enum { MAXIMUM_ALLOWED = const_cpu_to_le32(0x02000000), /* - * The generic rights (bits 28 to 31). These map onto the standard and + * The generic rights (bits 28 to 31). These map onto the standard and * specific rights. */ @@ -1430,23 +1450,25 @@ typedef enum { GENERIC_EXECUTE = const_cpu_to_le32(0x20000000), /* - * Write access. For files, this maps onto: + * Write access. For files, this maps onto: * FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_DATA | * FILE_WRITE_EA | STANDARD_RIGHTS_WRITE | SYNCHRONIZE - * For directories, the mapping has the same numberical value. See + * For directories, the mapping has the same numerical value. See * above for the descriptions of the rights granted. */ GENERIC_WRITE = const_cpu_to_le32(0x40000000), /* - * Read access. For files, this maps onto: + * Read access. For files, this maps onto: * FILE_READ_ATTRIBUTES | FILE_READ_DATA | FILE_READ_EA | * STANDARD_RIGHTS_READ | SYNCHRONIZE - * For directories, the mapping has the same numberical value. See + * For directories, the mapping has the same numberical value. See * above for the descriptions of the rights granted. */ GENERIC_READ = const_cpu_to_le32(0x80000000), -} ACCESS_MASK; +}; + +typedef le32 ACCESS_MASK; /* * The generic mapping array. Used to denote the mapping of each generic @@ -1472,7 +1494,7 @@ typedef struct { /* 0 ACE_HEADER; -- Unfolded here as gcc doesn't like unnamed structs. */ ACE_TYPES type; /* Type of the ACE. */ ACE_FLAGS flags; /* Flags describing the ACE. */ - u16 size; /* Size in bytes of the ACE. */ + le16 size; /* Size in bytes of the ACE. */ /* 4*/ ACCESS_MASK mask; /* Access mask associated with the ACE. */ /* 8*/ SID sid; /* The SID associated with the ACE. */ @@ -1482,16 +1504,18 @@ typedef struct { /* * The object ACE flags (32-bit). */ -typedef enum { +enum { ACE_OBJECT_TYPE_PRESENT = const_cpu_to_le32(1), ACE_INHERITED_OBJECT_TYPE_PRESENT = const_cpu_to_le32(2), -} OBJECT_ACE_FLAGS; +}; + +typedef le32 OBJECT_ACE_FLAGS; typedef struct { /* 0 ACE_HEADER; -- Unfolded here as gcc doesn't like unnamed structs. */ ACE_TYPES type; /* Type of the ACE. */ ACE_FLAGS flags; /* Flags describing the ACE. */ - u16 size; /* Size in bytes of the ACE. */ + le16 size; /* Size in bytes of the ACE. */ /* 4*/ ACCESS_MASK mask; /* Access mask associated with the ACE. */ /* 8*/ OBJECT_ACE_FLAGS object_flags; /* Flags describing the object ACE. */ @@ -1514,10 +1538,10 @@ typedef struct { typedef struct { u8 revision; /* Revision of this ACL. */ u8 alignment1; - u16 size; /* Allocated space in bytes for ACL. Includes this + le16 size; /* Allocated space in bytes for ACL. Includes this header, the ACEs and the remaining free space. */ - u16 ace_count; /* Number of ACEs in the ACL. */ - u16 alignment2; + le16 ace_count; /* Number of ACEs in the ACL. */ + le16 alignment2; /* sizeof() = 8 bytes */ } __attribute__ ((__packed__)) ACL; @@ -1582,22 +1606,27 @@ typedef enum { * security descriptor are contiguous in memory and all pointer fields are * expressed as offsets from the beginning of the security descriptor. */ -typedef enum { +enum { SE_OWNER_DEFAULTED = const_cpu_to_le16(0x0001), SE_GROUP_DEFAULTED = const_cpu_to_le16(0x0002), SE_DACL_PRESENT = const_cpu_to_le16(0x0004), SE_DACL_DEFAULTED = const_cpu_to_le16(0x0008), + SE_SACL_PRESENT = const_cpu_to_le16(0x0010), SE_SACL_DEFAULTED = const_cpu_to_le16(0x0020), + SE_DACL_AUTO_INHERIT_REQ = const_cpu_to_le16(0x0100), SE_SACL_AUTO_INHERIT_REQ = const_cpu_to_le16(0x0200), SE_DACL_AUTO_INHERITED = const_cpu_to_le16(0x0400), SE_SACL_AUTO_INHERITED = const_cpu_to_le16(0x0800), + SE_DACL_PROTECTED = const_cpu_to_le16(0x1000), SE_SACL_PROTECTED = const_cpu_to_le16(0x2000), SE_RM_CONTROL_VALID = const_cpu_to_le16(0x4000), - SE_SELF_RELATIVE = const_cpu_to_le16(0x8000), -} __attribute__ ((__packed__)) SECURITY_DESCRIPTOR_CONTROL; + SE_SELF_RELATIVE = const_cpu_to_le16(0x8000) +} __attribute__ ((__packed__)); + +typedef le16 SECURITY_DESCRIPTOR_CONTROL; /* * Self-relative security descriptor. Contains the owner and group SIDs as well @@ -1608,17 +1637,17 @@ typedef struct { u8 alignment; SECURITY_DESCRIPTOR_CONTROL control; /* Flags qualifying the type of the descriptor as well as the following fields. */ - u32 owner; /* Byte offset to a SID representing an object's + le32 owner; /* Byte offset to a SID representing an object's owner. If this is NULL, no owner SID is present in the descriptor. */ - u32 group; /* Byte offset to a SID representing an object's + le32 group; /* Byte offset to a SID representing an object's primary group. If this is NULL, no primary group SID is present in the descriptor. */ - u32 sacl; /* Byte offset to a system ACL. Only valid, if + le32 sacl; /* Byte offset to a system ACL. Only valid, if SE_SACL_PRESENT is set in the control field. If SE_SACL_PRESENT is set but sacl is NULL, a NULL ACL is specified. */ - u32 dacl; /* Byte offset to a discretionary ACL. Only valid, if + le32 dacl; /* Byte offset to a discretionary ACL. Only valid, if SE_DACL_PRESENT is set in the control field. If SE_DACL_PRESENT is set but dacl is NULL, a NULL ACL (unconditionally granting access) is specified. */ @@ -1721,10 +1750,10 @@ typedef SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_ATTR; * This is also the index entry data part of both the $SII and $SDH indexes. */ typedef struct { - u32 hash; /* Hash of the security descriptor. */ - u32 security_id; /* The security_id assigned to the descriptor. */ - u64 offset; /* Byte offset of this entry in the $SDS stream. */ - u32 length; /* Size in bytes of this entry in $SDS stream. */ + le32 hash; /* Hash of the security descriptor. */ + le32 security_id; /* The security_id assigned to the descriptor. */ + le64 offset; /* Byte offset of this entry in the $SDS stream. */ + le32 length; /* Size in bytes of this entry in $SDS stream. */ } __attribute__ ((__packed__)) SECURITY_DESCRIPTOR_HEADER; /* @@ -1742,10 +1771,10 @@ typedef struct { /*Ofs*/ /* 0 SECURITY_DESCRIPTOR_HEADER; -- Unfolded here as gcc doesn't like unnamed structs. */ - u32 hash; /* Hash of the security descriptor. */ - u32 security_id; /* The security_id assigned to the descriptor. */ - u64 offset; /* Byte offset of this entry in the $SDS stream. */ - u32 length; /* Size in bytes of this entry in $SDS stream. */ + le32 hash; /* Hash of the security descriptor. */ + le32 security_id; /* The security_id assigned to the descriptor. */ + le64 offset; /* Byte offset of this entry in the $SDS stream. */ + le32 length; /* Size in bytes of this entry in $SDS stream. */ /* 20*/ SECURITY_DESCRIPTOR_RELATIVE sid; /* The self-relative security descriptor. */ } __attribute__ ((__packed__)) SDS_ENTRY; @@ -1755,7 +1784,7 @@ typedef struct { * COLLATION_NTOFS_ULONG. */ typedef struct { - u32 security_id; /* The security_id assigned to the descriptor. */ + le32 security_id; /* The security_id assigned to the descriptor. */ } __attribute__ ((__packed__)) SII_INDEX_KEY; /* @@ -1764,8 +1793,8 @@ typedef struct { * COLLATION_NTOFS_SECURITY_HASH. */ typedef struct { - u32 hash; /* Hash of the security descriptor. */ - u32 security_id; /* The security_id assigned to the descriptor. */ + le32 hash; /* Hash of the security descriptor. */ + le32 security_id; /* The security_id assigned to the descriptor. */ } __attribute__ ((__packed__)) SDH_INDEX_KEY; /* @@ -1781,19 +1810,24 @@ typedef struct { /* * Possible flags for the volume (16-bit). */ -typedef enum { +enum { VOLUME_IS_DIRTY = const_cpu_to_le16(0x0001), VOLUME_RESIZE_LOG_FILE = const_cpu_to_le16(0x0002), VOLUME_UPGRADE_ON_MOUNT = const_cpu_to_le16(0x0004), VOLUME_MOUNTED_ON_NT4 = const_cpu_to_le16(0x0008), + VOLUME_DELETE_USN_UNDERWAY = const_cpu_to_le16(0x0010), VOLUME_REPAIR_OBJECT_ID = const_cpu_to_le16(0x0020), + VOLUME_MODIFIED_BY_CHKDSK = const_cpu_to_le16(0x8000), + VOLUME_FLAGS_MASK = const_cpu_to_le16(0x803f), /* To make our life easier when checking if we must mount read-only. */ VOLUME_MUST_MOUNT_RO_MASK = const_cpu_to_le16(0x8037), -} __attribute__ ((__packed__)) VOLUME_FLAGS; +} __attribute__ ((__packed__)); + +typedef le16 VOLUME_FLAGS; /* * Attribute: Volume information (0x70). @@ -1804,7 +1838,7 @@ typedef enum { * NTFS 1.2. I haven't personally seen other values yet. */ typedef struct { - u64 reserved; /* Not used (yet?). */ + le64 reserved; /* Not used (yet?). */ u8 major_ver; /* Major version of the ntfs format. */ u8 minor_ver; /* Minor version of the ntfs format. */ VOLUME_FLAGS flags; /* Bit array of VOLUME_* flags. */ @@ -1824,24 +1858,28 @@ typedef struct { /* * Index header flags (8-bit). */ -typedef enum { - /* When index header is in an index root attribute: */ - SMALL_INDEX = 0, /* The index is small enough to fit inside the - index root attribute and there is no index - allocation attribute present. */ - LARGE_INDEX = 1, /* The index is too large to fit in the index - root attribute and/or an index allocation - attribute is present. */ +enum { + /* + * When index header is in an index root attribute: + */ + SMALL_INDEX = 0, /* The index is small enough to fit inside the index + root attribute and there is no index allocation + attribute present. */ + LARGE_INDEX = 1, /* The index is too large to fit in the index root + attribute and/or an index allocation attribute is + present. */ /* * When index header is in an index block, i.e. is part of index * allocation attribute: */ - LEAF_NODE = 0, /* This is a leaf node, i.e. there are no more - nodes branching off it. */ - INDEX_NODE = 1, /* This node indexes other nodes, i.e. is not a - leaf node. */ - NODE_MASK = 1, /* Mask for accessing the *_NODE bits. */ -} __attribute__ ((__packed__)) INDEX_HEADER_FLAGS; + LEAF_NODE = 0, /* This is a leaf node, i.e. there are no more nodes + branching off it. */ + INDEX_NODE = 1, /* This node indexes other nodes, i.e. it is not a leaf + node. */ + NODE_MASK = 1, /* Mask for accessing the *_NODE bits. */ +} __attribute__ ((__packed__)); + +typedef u8 INDEX_HEADER_FLAGS; /* * This is the header for indexes, describing the INDEX_ENTRY records, which @@ -1853,12 +1891,12 @@ typedef enum { * start of the index root or index allocation structures themselves. */ typedef struct { - u32 entries_offset; /* Byte offset to first INDEX_ENTRY + le32 entries_offset; /* Byte offset to first INDEX_ENTRY aligned to 8-byte boundary. */ - u32 index_length; /* Data size of the index in bytes, + le32 index_length; /* Data size of the index in bytes, i.e. bytes used from allocated size, aligned to 8-byte boundary. */ - u32 allocated_size; /* Byte size of this index (block), + le32 allocated_size; /* Byte size of this index (block), multiple of 8 bytes. */ /* NOTE: For the index root attribute, the above two numbers are always equal, as the attribute is resident and it is resized as needed. In @@ -1891,14 +1929,14 @@ typedef struct { * dircetories do not contain entries for themselves, though. */ typedef struct { - ATTR_TYPES type; /* Type of the indexed attribute. Is + ATTR_TYPE type; /* Type of the indexed attribute. Is $FILE_NAME for directories, zero for view indexes. No other values allowed. */ - COLLATION_RULES collation_rule; /* Collation rule used to sort the + COLLATION_RULE collation_rule; /* Collation rule used to sort the index entries. If type is $FILE_NAME, this must be COLLATION_FILE_NAME. */ - u32 index_block_size; /* Size of each index block in bytes (in + le32 index_block_size; /* Size of each index block in bytes (in the index allocation attribute). */ u8 clusters_per_index_block; /* Cluster size of each index block (in the index allocation attribute), when @@ -1924,13 +1962,13 @@ typedef struct { */ typedef struct { /* 0 NTFS_RECORD; -- Unfolded here as gcc doesn't like unnamed structs. */ - NTFS_RECORD_TYPES magic;/* Magic is "INDX". */ - u16 usa_ofs; /* See NTFS_RECORD definition. */ - u16 usa_count; /* See NTFS_RECORD definition. */ + NTFS_RECORD_TYPE magic; /* Magic is "INDX". */ + le16 usa_ofs; /* See NTFS_RECORD definition. */ + le16 usa_count; /* See NTFS_RECORD definition. */ -/* 8*/ s64 lsn; /* $LogFile sequence number of the last +/* 8*/ sle64 lsn; /* $LogFile sequence number of the last modification of this index block. */ -/* 16*/ VCN index_block_vcn; /* Virtual cluster number of the index block. +/* 16*/ leVCN index_block_vcn; /* Virtual cluster number of the index block. If the cluster_size on the volume is <= the index_block_size of the directory, index_block_vcn counts in units of clusters, @@ -1960,34 +1998,40 @@ typedef INDEX_BLOCK INDEX_ALLOCATION; * primary key / is not a key at all. (AIA) */ typedef struct { - u32 reparse_tag; /* Reparse point type (inc. flags). */ - MFT_REF file_id; /* Mft record of the file containing the + le32 reparse_tag; /* Reparse point type (inc. flags). */ + leMFT_REF file_id; /* Mft record of the file containing the reparse point attribute. */ } __attribute__ ((__packed__)) REPARSE_INDEX_KEY; /* * Quota flags (32-bit). + * + * The user quota flags. Names explain meaning. */ -typedef enum { - /* The user quota flags. Names explain meaning. */ +enum { QUOTA_FLAG_DEFAULT_LIMITS = const_cpu_to_le32(0x00000001), QUOTA_FLAG_LIMIT_REACHED = const_cpu_to_le32(0x00000002), QUOTA_FLAG_ID_DELETED = const_cpu_to_le32(0x00000004), QUOTA_FLAG_USER_MASK = const_cpu_to_le32(0x00000007), - /* Bit mask for user quota flags. */ + /* This is a bit mask for the user quota flags. */ - /* These flags are only present in the quota defaults index entry, - i.e. in the entry where owner_id = QUOTA_DEFAULTS_ID. */ + /* + * These flags are only present in the quota defaults index entry, i.e. + * in the entry where owner_id = QUOTA_DEFAULTS_ID. + */ QUOTA_FLAG_TRACKING_ENABLED = const_cpu_to_le32(0x00000010), QUOTA_FLAG_ENFORCEMENT_ENABLED = const_cpu_to_le32(0x00000020), QUOTA_FLAG_TRACKING_REQUESTED = const_cpu_to_le32(0x00000040), QUOTA_FLAG_LOG_THRESHOLD = const_cpu_to_le32(0x00000080), + QUOTA_FLAG_LOG_LIMIT = const_cpu_to_le32(0x00000100), QUOTA_FLAG_OUT_OF_DATE = const_cpu_to_le32(0x00000200), QUOTA_FLAG_CORRUPT = const_cpu_to_le32(0x00000400), QUOTA_FLAG_PENDING_DELETES = const_cpu_to_le32(0x00000800), -} QUOTA_FLAGS; +}; + +typedef le32 QUOTA_FLAGS; /* * The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas @@ -2011,13 +2055,13 @@ typedef enum { * The $Q index entry data is the quota control entry and is defined below. */ typedef struct { - u32 version; /* Currently equals 2. */ + le32 version; /* Currently equals 2. */ QUOTA_FLAGS flags; /* Flags describing this quota entry. */ - u64 bytes_used; /* How many bytes of the quota are in use. */ - s64 change_time; /* Last time this quota entry was changed. */ - s64 threshold; /* Soft quota (-1 if not limited). */ - s64 limit; /* Hard quota (-1 if not limited). */ - s64 exceeded_time; /* How long the soft quota has been exceeded. */ + le64 bytes_used; /* How many bytes of the quota are in use. */ + sle64 change_time; /* Last time this quota entry was changed. */ + sle64 threshold; /* Soft quota (-1 if not limited). */ + sle64 limit; /* Hard quota (-1 if not limited). */ + sle64 exceeded_time; /* How long the soft quota has been exceeded. */ SID sid; /* The SID of the user/object associated with this quota entry. Equals zero for the quota defaults entry (and in fact on a WinXP @@ -2027,11 +2071,11 @@ typedef struct { /* * Predefined owner_id values (32-bit). */ -typedef enum { +enum { QUOTA_INVALID_ID = const_cpu_to_le32(0x00000000), QUOTA_DEFAULTS_ID = const_cpu_to_le32(0x00000001), QUOTA_FIRST_USER_ID = const_cpu_to_le32(0x00000100), -} PREDEFINED_OWNER_IDS; +}; /* * Current constants for quota control entries. @@ -2044,18 +2088,19 @@ typedef enum { /* * Index entry flags (16-bit). */ -typedef enum { +enum { INDEX_ENTRY_NODE = const_cpu_to_le16(1), /* This entry contains a - sub-node, i.e. a reference to an - index block in form of a virtual - cluster number (see below). */ + sub-node, i.e. a reference to an index block in form of + a virtual cluster number (see below). */ INDEX_ENTRY_END = const_cpu_to_le16(2), /* This signifies the last - entry in an index block. The - index entry does not represent a - file but it can point to a - sub-node. */ - INDEX_ENTRY_SPACE_FILLER = 0xffff, /* Just to force 16-bit width. */ -} __attribute__ ((__packed__)) INDEX_ENTRY_FLAGS; + entry in an index block. The index entry does not + represent a file but it can point to a sub-node. */ + + INDEX_ENTRY_SPACE_FILLER = const_cpu_to_le16(0xffff), /* gcc: Force + enum bit width to 16-bit. */ +} __attribute__ ((__packed__)); + +typedef le16 INDEX_ENTRY_FLAGS; /* * This the index entry header (see below). @@ -2063,26 +2108,26 @@ typedef enum { typedef struct { /* 0*/ union { struct { /* Only valid when INDEX_ENTRY_END is not set. */ - MFT_REF indexed_file; /* The mft reference of the file + leMFT_REF indexed_file; /* The mft reference of the file described by this index entry. Used for directory indexes. */ } __attribute__ ((__packed__)) dir; struct { /* Used for views/indexes to find the entry's data. */ - u16 data_offset; /* Data byte offset from this + le16 data_offset; /* Data byte offset from this INDEX_ENTRY. Follows the index key. */ - u16 data_length; /* Data length in bytes. */ - u32 reservedV; /* Reserved (zero). */ + le16 data_length; /* Data length in bytes. */ + le32 reservedV; /* Reserved (zero). */ } __attribute__ ((__packed__)) vi; } __attribute__ ((__packed__)) data; -/* 8*/ u16 length; /* Byte size of this index entry, multiple of +/* 8*/ le16 length; /* Byte size of this index entry, multiple of 8-bytes. */ -/* 10*/ u16 key_length; /* Byte size of the key value, which is in the +/* 10*/ le16 key_length; /* Byte size of the key value, which is in the index entry. It follows field reserved. Not multiple of 8-bytes. */ /* 12*/ INDEX_ENTRY_FLAGS flags; /* Bit field of INDEX_ENTRY_* flags. */ -/* 14*/ u16 reserved; /* Reserved/align to 8-byte boundary. */ +/* 14*/ le16 reserved; /* Reserved/align to 8-byte boundary. */ /* sizeof() = 16 bytes */ } __attribute__ ((__packed__)) INDEX_ENTRY_HEADER; @@ -2098,26 +2143,26 @@ typedef struct { /* 0 INDEX_ENTRY_HEADER; -- Unfolded here as gcc dislikes unnamed structs. */ union { struct { /* Only valid when INDEX_ENTRY_END is not set. */ - MFT_REF indexed_file; /* The mft reference of the file + leMFT_REF indexed_file; /* The mft reference of the file described by this index entry. Used for directory indexes. */ } __attribute__ ((__packed__)) dir; struct { /* Used for views/indexes to find the entry's data. */ - u16 data_offset; /* Data byte offset from this + le16 data_offset; /* Data byte offset from this INDEX_ENTRY. Follows the index key. */ - u16 data_length; /* Data length in bytes. */ - u32 reservedV; /* Reserved (zero). */ + le16 data_length; /* Data length in bytes. */ + le32 reservedV; /* Reserved (zero). */ } __attribute__ ((__packed__)) vi; } __attribute__ ((__packed__)) data; - u16 length; /* Byte size of this index entry, multiple of + le16 length; /* Byte size of this index entry, multiple of 8-bytes. */ - u16 key_length; /* Byte size of the key value, which is in the + le16 key_length; /* Byte size of the key value, which is in the index entry. It follows field reserved. Not multiple of 8-bytes. */ INDEX_ENTRY_FLAGS flags; /* Bit field of INDEX_ENTRY_* flags. */ - u16 reserved; /* Reserved/align to 8-byte boundary. */ + le16 reserved; /* Reserved/align to 8-byte boundary. */ /* 16*/ union { /* The key of the indexed attribute. NOTE: Only present if INDEX_ENTRY_END bit in flags is not set. NOTE: On @@ -2134,13 +2179,13 @@ typedef struct { FILE_Extend/$Reparse. */ SID sid; /* $O index in FILE_Extend/$Quota: SID of the owner of the user_id. */ - u32 owner_id; /* $Q index in FILE_Extend/$Quota: + le32 owner_id; /* $Q index in FILE_Extend/$Quota: user_id of the owner of the quota control entry in the data part of the index. */ } __attribute__ ((__packed__)) key; /* The (optional) index data is inserted here when creating. */ - // VCN vcn; /* If INDEX_ENTRY_NODE bit in flags is set, the last + // leVCN vcn; /* If INDEX_ENTRY_NODE bit in flags is set, the last // eight bytes of this index entry contain the virtual // cluster number of the index block that holds the // entries immediately preceding the current entry (the @@ -2185,8 +2230,10 @@ typedef struct { * be slow. (E.g. the data is stored on a tape drive.) * bit 31: Microsoft bit. If set, the tag is owned by Microsoft. User * defined tags have to use zero here. + * + * These are the predefined reparse point tags: */ -typedef enum { +enum { IO_REPARSE_TAG_IS_ALIAS = const_cpu_to_le32(0x20000000), IO_REPARSE_TAG_IS_HIGH_LATENCY = const_cpu_to_le32(0x40000000), IO_REPARSE_TAG_IS_MICROSOFT = const_cpu_to_le32(0x80000000), @@ -2207,7 +2254,7 @@ typedef enum { IO_REPARSE_TAG_SYMBOLIC_LINK = const_cpu_to_le32(0xe8000000), IO_REPARSE_TAG_VALID_VALUES = const_cpu_to_le32(0xe000ffff), -} PREDEFINED_REPARSE_TAGS; +}; /* * Attribute: Reparse point (0xc0). @@ -2215,9 +2262,9 @@ typedef enum { * NOTE: Can be resident or non-resident. */ typedef struct { - u32 reparse_tag; /* Reparse point type (inc. flags). */ - u16 reparse_data_length; /* Byte size of reparse data. */ - u16 reserved; /* Align to 8-byte boundary. */ + le32 reparse_tag; /* Reparse point type (inc. flags). */ + le16 reparse_data_length; /* Byte size of reparse data. */ + le16 reserved; /* Align to 8-byte boundary. */ u8 reparse_data[0]; /* Meaning depends on reparse_tag. */ } __attribute__ ((__packed__)) REPARSE_POINT; @@ -2227,11 +2274,11 @@ typedef struct { * NOTE: Always resident. (Is this true???) */ typedef struct { - u16 ea_length; /* Byte size of the packed extended + le16 ea_length; /* Byte size of the packed extended attributes. */ - u16 need_ea_count; /* The number of extended attributes which have + le16 need_ea_count; /* The number of extended attributes which have the NEED_EA bit set. */ - u32 ea_query_length; /* Byte size of the buffer required to query + le32 ea_query_length; /* Byte size of the buffer required to query the extended attributes when calling ZwQueryEaFile() in Windows NT/2k. I.e. the byte size of the unpacked extended @@ -2241,9 +2288,11 @@ typedef struct { /* * Extended attribute flags (8-bit). */ -typedef enum { - NEED_EA = 0x80, -} __attribute__ ((__packed__)) EA_FLAGS; +enum { + NEED_EA = 0x80 +} __attribute__ ((__packed__)); + +typedef u8 EA_FLAGS; /* * Attribute: Extended attribute (EA) (0xe0). @@ -2256,10 +2305,10 @@ typedef enum { * FIXME: It appears weird that the EA name is not unicode. Is it true? */ typedef struct { - u32 next_entry_offset; /* Offset to the next EA_ATTR. */ + le32 next_entry_offset; /* Offset to the next EA_ATTR. */ EA_FLAGS flags; /* Flags describing the EA. */ u8 ea_name_length; /* Length of the name of the EA in bytes. */ - u16 ea_value_length; /* Byte size of the EA's value. */ + le16 ea_value_length; /* Byte size of the EA's value. */ u8 ea_name[0]; /* Name of the EA. */ u8 ea_value[0]; /* The value of the EA. Immediately follows the name. */ diff --git a/fs/ntfs/logfile.c b/fs/ntfs/logfile.c index 5b448b184..1869a4375 100644 --- a/fs/ntfs/logfile.c +++ b/fs/ntfs/logfile.c @@ -497,7 +497,7 @@ BOOL ntfs_check_logfile(struct inode *log_vi) * empty block after a non-empty block has been encountered * means we are done. */ - if (!ntfs_is_empty_recordp(kaddr)) + if (!ntfs_is_empty_recordp((le32*)kaddr)) logfile_is_empty = FALSE; else if (!logfile_is_empty) break; @@ -505,20 +505,20 @@ BOOL ntfs_check_logfile(struct inode *log_vi) * A log record page means there cannot be a restart page after * this so no need to continue searching. */ - if (ntfs_is_rcrd_recordp(kaddr)) + if (ntfs_is_rcrd_recordp((le32*)kaddr)) break; /* * A modified by chkdsk restart page means we cannot handle * this log file. */ - if (ntfs_is_chkd_recordp(kaddr)) { + if (ntfs_is_chkd_recordp((le32*)kaddr)) { ntfs_error(vol->sb, "$LogFile has been modified by " "chkdsk. Mount this volume in " "Windows."); goto err_out; } /* If not a restart page, continue. */ - if (!ntfs_is_rstr_recordp(kaddr)) { + if (!ntfs_is_rstr_recordp((le32*)kaddr)) { /* Skip to the minimum page size for the next one. */ if (!pos) pos = NTFS_BLOCK_SIZE >> 1; diff --git a/fs/ntfs/logfile.h b/fs/ntfs/logfile.h index e5e003a90..4ee4378de 100644 --- a/fs/ntfs/logfile.h +++ b/fs/ntfs/logfile.h @@ -67,34 +67,34 @@ typedef struct { /*Ofs*/ /* 0 NTFS_RECORD; -- Unfolded here as gcc doesn't like unnamed structs. */ -/* 0*/ NTFS_RECORD_TYPES magic;/* The magic is "RSTR". */ -/* 4*/ u16 usa_ofs; /* See NTFS_RECORD definition in layout.h. +/* 0*/ NTFS_RECORD_TYPE magic; /* The magic is "RSTR". */ +/* 4*/ le16 usa_ofs; /* See NTFS_RECORD definition in layout.h. When creating, set this to be immediately after this header structure (without any alignment). */ -/* 6*/ u16 usa_count; /* See NTFS_RECORD definition in layout.h. */ +/* 6*/ le16 usa_count; /* See NTFS_RECORD definition in layout.h. */ -/* 8*/ LSN chkdsk_lsn; /* The last log file sequence number found by +/* 8*/ leLSN chkdsk_lsn; /* The last log file sequence number found by chkdsk. Only used when the magic is changed to "CHKD". Otherwise this is zero. */ -/* 16*/ u32 system_page_size; /* Byte size of system pages when the log file +/* 16*/ le32 system_page_size; /* Byte size of system pages when the log file was created, has to be >= 512 and a power of 2. Use this to calculate the required size of the usa (usa_count) and add it to usa_ofs. Then verify that the result is less than the value of the restart_area_offset. */ -/* 20*/ u32 log_page_size; /* Byte size of log file pages, has to be >= +/* 20*/ le32 log_page_size; /* Byte size of log file pages, has to be >= 512 and a power of 2. The default is 4096 and is used when the system page size is between 4096 and 8192. Otherwise this is set to the system page size instead. */ -/* 24*/ u16 restart_area_offset;/* Byte offset from the start of this header to +/* 24*/ le16 restart_area_offset;/* Byte offset from the start of this header to the RESTART_AREA. Value has to be aligned to 8-byte boundary. When creating, set this to be after the usa. */ -/* 26*/ s16 minor_ver; /* Log file minor version. Only check if major +/* 26*/ sle16 minor_ver; /* Log file minor version. Only check if major version is 1. */ -/* 28*/ s16 major_ver; /* Log file major version. We only support +/* 28*/ sle16 major_ver; /* Log file major version. We only support version 1.1. */ /* sizeof() = 30 (0x1e) bytes */ } __attribute__ ((__packed__)) RESTART_PAGE_HEADER; @@ -111,10 +111,12 @@ typedef struct { * These are the so far known RESTART_AREA_* flags (16-bit) which contain * information about the log file in which they are present. */ -typedef enum { +enum { RESTART_VOLUME_IS_CLEAN = const_cpu_to_le16(0x0002), - REST_AREA_SPACE_FILLER = 0xffff /* Just to make flags 16-bit. */ -} __attribute__ ((__packed__)) RESTART_AREA_FLAGS; + RESTART_SPACE_FILLER = 0xffff, /* gcc: Force enum bit width to 16. */ +} __attribute__ ((__packed__)); + +typedef le16 RESTART_AREA_FLAGS; /* * Log file restart area record. The offset of this record is found by adding @@ -123,16 +125,16 @@ typedef enum { */ typedef struct { /*Ofs*/ -/* 0*/ LSN current_lsn; /* The current, i.e. last LSN inside the log +/* 0*/ leLSN current_lsn; /* The current, i.e. last LSN inside the log when the restart area was last written. This happens often but what is the interval? Is it just fixed time or is it every time a check point is written or somethine else? On create set to 0. */ -/* 8*/ u16 log_clients; /* Number of log client records in the array of +/* 8*/ le16 log_clients; /* Number of log client records in the array of log client records which follows this restart area. Must be 1. */ -/* 10*/ u16 client_free_list; /* The index of the first free log client record +/* 10*/ le16 client_free_list; /* The index of the first free log client record in the array of log client records. LOGFILE_NO_CLIENT means that there are no free log client records in the array. @@ -148,7 +150,7 @@ typedef struct { and presumably later, the logfile is always open, even on clean shutdown so this should always be LOGFILE_NO_CLIENT. */ -/* 12*/ u16 client_in_use_list; /* The index of the first in-use log client +/* 12*/ le16 client_in_use_list;/* The index of the first in-use log client record in the array of log client records. LOGFILE_NO_CLIENT means that there are no in-use log client records in the array. If @@ -181,13 +183,13 @@ typedef struct { clean. If on the other hand the logfile is open and this bit is clear, we can be almost certain that the logfile is dirty. */ -/* 16*/ u32 seq_number_bits; /* How many bits to use for the sequence +/* 16*/ le32 seq_number_bits; /* How many bits to use for the sequence number. This is calculated as 67 - the number of bits required to store the logfile size in bytes and this can be used in with the specified file_size as a consistency check. */ -/* 20*/ u16 restart_area_length;/* Length of the restart area including the +/* 20*/ le16 restart_area_length;/* Length of the restart area including the client array. Following checks required if version matches. Otherwise, skip them. restart_area_offset + restart_area_length @@ -195,7 +197,7 @@ typedef struct { restart_area_length has to be >= client_array_offset + (log_clients * sizeof(log client record)). */ -/* 22*/ u16 client_array_offset;/* Offset from the start of this record to +/* 22*/ le16 client_array_offset;/* Offset from the start of this record to the first log client record if versions are matched. When creating, set this to be after this restart area structure, aligned @@ -217,7 +219,7 @@ typedef struct { the client array. This probably means that the RESTART_AREA record is actually bigger in WinXP and later. */ -/* 24*/ s64 file_size; /* Usable byte size of the log file. If the +/* 24*/ sle64 file_size; /* Usable byte size of the log file. If the restart_area_offset + the offset of the file_size are > 510 then corruption has occured. This is the very first check when @@ -230,28 +232,28 @@ typedef struct { then it has to be at least big enough to store the two restart pages and 48 (0x30) log record pages. */ -/* 32*/ u32 last_lsn_data_length;/* Length of data of last LSN, not including +/* 32*/ le32 last_lsn_data_length;/* Length of data of last LSN, not including the log record header. On create set to 0. */ -/* 36*/ u16 log_record_header_length;/* Byte size of the log record header. If - the version matches then check that the +/* 36*/ le16 log_record_header_length;/* Byte size of the log record header. + If the version matches then check that the value of log_record_header_length is a multiple of 8, i.e. (log_record_header_length + 7) & ~7 == log_record_header_length. When creating set it to sizeof(LOG_RECORD_HEADER), aligned to 8 bytes. */ -/* 38*/ u16 log_page_data_offset;/* Offset to the start of data in a log record +/* 38*/ le16 log_page_data_offset;/* Offset to the start of data in a log record page. Must be a multiple of 8. On create set it to immediately after the update sequence array of the log record page. */ -/* 40*/ u32 restart_log_open_count;/* A counter that gets incremented every time - the logfile is restarted which happens at - mount time when the logfile is opened. When - creating set to a random value. Win2k sets - it to the low 32 bits of the current system - time in NTFS format (see time.h). */ -/* 44*/ u32 reserved; /* Reserved/alignment to 8-byte boundary. */ +/* 40*/ le32 restart_log_open_count;/* A counter that gets incremented every + time the logfile is restarted which happens + at mount time when the logfile is opened. + When creating set to a random value. Win2k + sets it to the low 32 bits of the current + system time in NTFS format (see time.h). */ +/* 44*/ le32 reserved; /* Reserved/alignment to 8-byte boundary. */ /* sizeof() = 48 (0x30) bytes */ } __attribute__ ((__packed__)) RESTART_AREA; @@ -261,32 +263,32 @@ typedef struct { */ typedef struct { /*Ofs*/ -/* 0*/ LSN oldest_lsn; /* Oldest LSN needed by this client. On create +/* 0*/ leLSN oldest_lsn; /* Oldest LSN needed by this client. On create set to 0. */ -/* 8*/ LSN client_restart_lsn; /* LSN at which this client needs to restart +/* 8*/ leLSN client_restart_lsn;/* LSN at which this client needs to restart the volume, i.e. the current position within the log file. At present, if clean this should = current_lsn in restart area but it probably also = current_lsn when dirty most of the time. At create set to 0. */ -/* 16*/ u16 prev_client; /* The offset to the previous log client record +/* 16*/ le16 prev_client; /* The offset to the previous log client record in the array of log client records. LOGFILE_NO_CLIENT means there is no previous client record, i.e. this is the first one. This is always LOGFILE_NO_CLIENT. */ -/* 18*/ u16 next_client; /* The offset to the next log client record in +/* 18*/ le16 next_client; /* The offset to the next log client record in the array of log client records. LOGFILE_NO_CLIENT means there are no next client records, i.e. this is the last one. This is always LOGFILE_NO_CLIENT. */ -/* 20*/ u16 seq_number; /* On Win2k and presumably earlier, this is set +/* 20*/ le16 seq_number; /* On Win2k and presumably earlier, this is set to zero every time the logfile is restarted and it is incremented when the logfile is closed at dismount time. Thus it is 0 when dirty and 1 when clean. On WinXP and presumably later, this is always 0. */ /* 22*/ u8 reserved[6]; /* Reserved/alignment. */ -/* 28*/ u32 client_name_length; /* Length of client name in bytes. Should +/* 28*/ le32 client_name_length;/* Length of client name in bytes. Should always be 8. */ /* 32*/ ntfschar client_name[64];/* Name of the client in Unicode. Should always be "NTFS" with the remaining bytes diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c index 712f7ad0a..9192bbdf2 100644 --- a/fs/ntfs/mft.c +++ b/fs/ntfs/mft.c @@ -44,14 +44,14 @@ static void __format_mft_record(MFT_RECORD *m, const int size, m->usa_ofs = cpu_to_le16((sizeof(MFT_RECORD) + 1) & ~1); m->usa_count = cpu_to_le16(size / NTFS_BLOCK_SIZE + 1); /* Set the update sequence number to 1. */ - *(u16*)((char*)m + ((sizeof(MFT_RECORD) + 1) & ~1)) = cpu_to_le16(1); + *(le16*)((char*)m + ((sizeof(MFT_RECORD) + 1) & ~1)) = cpu_to_le16(1); m->lsn = cpu_to_le64(0LL); m->sequence_number = cpu_to_le16(1); - m->link_count = cpu_to_le16(0); + m->link_count = 0; /* Aligned to 8-byte boundary. */ m->attrs_offset = cpu_to_le16((le16_to_cpu(m->usa_ofs) + (le16_to_cpu(m->usa_count) << 1) + 7) & ~7); - m->flags = cpu_to_le16(0); + m->flags = 0; /* * Using attrs_offset plus eight bytes (for the termination attribute), * aligned to 8-byte boundary. @@ -60,10 +60,10 @@ static void __format_mft_record(MFT_RECORD *m, const int size, ~7); m->bytes_allocated = cpu_to_le32(size); m->base_mft_record = cpu_to_le64((MFT_REF)0); - m->next_attr_instance = cpu_to_le16(0); + m->next_attr_instance = 0; a = (ATTR_RECORD*)((char*)m + le16_to_cpu(m->attrs_offset)); a->type = AT_END; - a->length = cpu_to_le32(0); + a->length = 0; } /** @@ -311,11 +311,11 @@ void unmap_mft_record(ntfs_inode *ni) /** * map_extent_mft_record - load an extent inode and attach it to its base * @base_ni: base ntfs inode - * @mref: mft reference of the extent inode to load (in little endian) + * @mref: mft reference of the extent inode to load * @ntfs_ino: on successful return, pointer to the ntfs_inode structure * * Load the extent mft record @mref and attach it to its base inode @base_ni. - * Return the mapped extent mft record if IS_ERR(result) is false. Otherwise + * Return the mapped extent mft record if IS_ERR(result) is false. Otherwise * PTR_ERR(result) gives the negative error code. * * On successful return, @ntfs_ino contains a pointer to the ntfs_inode @@ -328,8 +328,8 @@ MFT_RECORD *map_extent_mft_record(ntfs_inode *base_ni, MFT_REF mref, ntfs_inode *ni = NULL; ntfs_inode **extent_nis = NULL; int i; - unsigned long mft_no = MREF_LE(mref); - u16 seq_no = MSEQNO_LE(mref); + unsigned long mft_no = MREF(mref); + u16 seq_no = MSEQNO(mref); BOOL destroy_ni = FALSE; ntfs_debug("Mapping extent mft record 0x%lx (base mft record 0x%lx).", @@ -391,7 +391,7 @@ map_err_out: ni->ext.base_ntfs_ino = base_ni; /* Now map the record. */ m = map_mft_record(ni); - if (unlikely(IS_ERR(m))) { + if (IS_ERR(m)) { up(&base_ni->extent_lock); atomic_dec(&base_ni->count); ntfs_clear_extent_inode(ni); @@ -418,7 +418,8 @@ map_err_out: m = ERR_PTR(-ENOMEM); goto unm_err_out; } - if (base_ni->ext.extent_ntfs_inos) { + if (base_ni->nr_extents) { + BUG_ON(!base_ni->ext.extent_ntfs_inos); memcpy(tmp, base_ni->ext.extent_ntfs_inos, new_size - 4 * sizeof(ntfs_inode *)); kfree(base_ni->ext.extent_ntfs_inos); @@ -571,7 +572,7 @@ static int sync_mft_mirror(ntfs_inode *ni, MFT_RECORD *m, int sync) /* Get the page containing the mirror copy of the mft record @m. */ page = ntfs_map_page(vol->mftmirr_ino->i_mapping, ni->mft_no >> (PAGE_CACHE_SHIFT - vol->mft_record_size_bits)); - if (unlikely(IS_ERR(page))) { + if (IS_ERR(page)) { ntfs_error(vol->sb, "Failed to map mft mirror page."); err = PTR_ERR(page); goto err_out; @@ -979,7 +980,7 @@ static int ntfs_mft_writepage(struct page *page, struct writeback_control *wbc) ntfs_debug("Inode 0x%lx is not in icache.", mft_no); /* The inode is not in icache. */ /* Skip the record if it is not a mft record (type "FILE"). */ - if (!ntfs_is_mft_recordp(maddr)) { + if (!ntfs_is_mft_recordp((le32*)maddr)) { ntfs_debug("Mft record 0x%lx is not a FILE record, " "continuing search.", mft_no); continue; diff --git a/fs/ntfs/mst.c b/fs/ntfs/mst.c index 871548cf7..5a858d839 100644 --- a/fs/ntfs/mst.c +++ b/fs/ntfs/mst.c @@ -122,8 +122,9 @@ int post_read_mst_fixup(NTFS_RECORD *b, const u32 size) */ int pre_write_mst_fixup(NTFS_RECORD *b, const u32 size) { + le16 *usa_pos, *data_pos; u16 usa_ofs, usa_count, usn; - u16 *usa_pos, *data_pos; + le16 le_usn; /* Sanity check + only fixup if it makes sense. */ if (!b || ntfs_is_baad_record(b->magic) || @@ -140,7 +141,7 @@ int pre_write_mst_fixup(NTFS_RECORD *b, const u32 size) (size >> NTFS_BLOCK_SIZE_BITS) != usa_count) return -EINVAL; /* Position of usn in update sequence array. */ - usa_pos = (u16*)((u8*)b + usa_ofs); + usa_pos = (le16*)((u8*)b + usa_ofs); /* * Cyclically increment the update sequence number * (skipping 0 and -1, i.e. 0xffff). @@ -148,10 +149,10 @@ int pre_write_mst_fixup(NTFS_RECORD *b, const u32 size) usn = le16_to_cpup(usa_pos) + 1; if (usn == 0xffff || !usn) usn = 1; - usn = cpu_to_le16(usn); - *usa_pos = usn; + le_usn = cpu_to_le16(usn); + *usa_pos = le_usn; /* Position in data of first u16 that needs fixing up. */ - data_pos = (u16*)b + NTFS_BLOCK_SIZE/sizeof(u16) - 1; + data_pos = (le16*)b + NTFS_BLOCK_SIZE/sizeof(le16) - 1; /* Fixup all sectors. */ while (usa_count--) { /* @@ -160,9 +161,9 @@ int pre_write_mst_fixup(NTFS_RECORD *b, const u32 size) */ *(++usa_pos) = *data_pos; /* Apply fixup to data. */ - *data_pos = usn; + *data_pos = le_usn; /* Increment position in data as well. */ - data_pos += NTFS_BLOCK_SIZE/sizeof(u16); + data_pos += NTFS_BLOCK_SIZE/sizeof(le16); } return 0; } @@ -177,16 +178,16 @@ int pre_write_mst_fixup(NTFS_RECORD *b, const u32 size) */ void post_write_mst_fixup(NTFS_RECORD *b) { - u16 *usa_pos, *data_pos; + le16 *usa_pos, *data_pos; u16 usa_ofs = le16_to_cpu(b->usa_ofs); u16 usa_count = le16_to_cpu(b->usa_count) - 1; /* Position of usn in update sequence array. */ - usa_pos = (u16*)b + usa_ofs/sizeof(u16); + usa_pos = (le16*)b + usa_ofs/sizeof(le16); /* Position in protected data of first u16 that needs fixing up. */ - data_pos = (u16*)b + NTFS_BLOCK_SIZE/sizeof(u16) - 1; + data_pos = (le16*)b + NTFS_BLOCK_SIZE/sizeof(le16) - 1; /* Fixup all sectors. */ while (usa_count--) { @@ -197,6 +198,6 @@ void post_write_mst_fixup(NTFS_RECORD *b) *data_pos = *(++usa_pos); /* Increment position in data as well. */ - data_pos += NTFS_BLOCK_SIZE/sizeof(u16); + data_pos += NTFS_BLOCK_SIZE/sizeof(le16); } } diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c index c5ab58086..70b503a85 100644 --- a/fs/ntfs/namei.c +++ b/fs/ntfs/namei.c @@ -171,7 +171,7 @@ handle_name: { struct dentry *real_dent, *new_dent; MFT_RECORD *m; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; ntfs_inode *ni = NTFS_I(dent_inode); int err; struct qstr nls_name; @@ -196,8 +196,8 @@ handle_name: ctx = NULL; goto err_out; } - ctx = get_attr_search_ctx(ni, m); - if (!ctx) { + ctx = ntfs_attr_get_search_ctx(ni, m); + if (unlikely(!ctx)) { err = -ENOMEM; goto err_out; } @@ -205,12 +205,14 @@ handle_name: ATTR_RECORD *a; u32 val_len; - if (!lookup_attr(AT_FILE_NAME, NULL, 0, 0, 0, NULL, 0, - ctx)) { + err = ntfs_attr_lookup(AT_FILE_NAME, NULL, 0, 0, 0, + NULL, 0, ctx); + if (unlikely(err)) { ntfs_error(vol->sb, "Inode corrupt: No WIN32 " "namespace counterpart to DOS " "file name. Run chkdsk."); - err = -EIO; + if (err == -ENOENT) + err = -EIO; goto err_out; } /* Consistency checks. */ @@ -233,7 +235,7 @@ handle_name: (ntfschar*)&fn->file_name, fn->file_name_length, (unsigned char**)&nls_name.name, 0); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); } m = NULL; @@ -329,7 +331,7 @@ eio_err_out: err = -EIO; err_out: if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); if (m) unmap_mft_record(ni); iput(dent_inode); @@ -366,32 +368,36 @@ struct dentry *ntfs_get_parent(struct dentry *child_dent) struct inode *vi = child_dent->d_inode; ntfs_inode *ni = NTFS_I(vi); MFT_RECORD *mrec; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; ATTR_RECORD *attr; FILE_NAME_ATTR *fn; struct inode *parent_vi; struct dentry *parent_dent; unsigned long parent_ino; + int err; ntfs_debug("Entering for inode 0x%lx.", vi->i_ino); /* Get the mft record of the inode belonging to the child dentry. */ mrec = map_mft_record(ni); - if (unlikely(IS_ERR(mrec))) + if (IS_ERR(mrec)) return (struct dentry *)mrec; /* Find the first file name attribute in the mft record. */ - ctx = get_attr_search_ctx(ni, mrec); + ctx = ntfs_attr_get_search_ctx(ni, mrec); if (unlikely(!ctx)) { unmap_mft_record(ni); return ERR_PTR(-ENOMEM); } try_next: - if (unlikely(!lookup_attr(AT_FILE_NAME, NULL, 0, CASE_SENSITIVE, 0, - NULL, 0, ctx))) { - put_attr_search_ctx(ctx); + err = ntfs_attr_lookup(AT_FILE_NAME, NULL, 0, CASE_SENSITIVE, 0, NULL, + 0, ctx); + if (unlikely(err)) { + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); - ntfs_error(vi->i_sb, "Inode 0x%lx does not have a file name " - "attribute. Run chkdsk.", vi->i_ino); - return ERR_PTR(-ENOENT); + if (err == -ENOENT) + ntfs_error(vi->i_sb, "Inode 0x%lx does not have a " + "file name attribute. Run chkdsk.", + vi->i_ino); + return ERR_PTR(err); } attr = ctx->attr; if (unlikely(attr->non_resident)) @@ -404,11 +410,11 @@ try_next: /* Get the inode number of the parent directory. */ parent_ino = MREF_LE(fn->parent_directory); /* Release the search context and the mft record of the child. */ - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); /* Get the inode of the parent directory. */ parent_vi = ntfs_iget(vi->i_sb, parent_ino); - if (unlikely(IS_ERR(parent_vi) || is_bad_inode(parent_vi))) { + if (IS_ERR(parent_vi) || unlikely(is_bad_inode(parent_vi))) { if (!IS_ERR(parent_vi)) iput(parent_vi); ntfs_error(vi->i_sb, "Failed to get parent directory inode " @@ -451,7 +457,7 @@ struct dentry *ntfs_get_dentry(struct super_block *sb, void *fh) ntfs_debug("Entering for inode 0x%lx, generation 0x%x.", ino, gen); vi = ntfs_iget(sb, ino); - if (unlikely(IS_ERR(vi))) { + if (IS_ERR(vi)) { ntfs_error(sb, "Failed to get inode 0x%lx.", ino); return (struct dentry *)vi; } diff --git a/fs/ntfs/ntfs.h b/fs/ntfs/ntfs.h index abc057ecc..c3fda1715 100644 --- a/fs/ntfs/ntfs.h +++ b/fs/ntfs/ntfs.h @@ -156,9 +156,8 @@ extern int ntfs_read_compressed_block(struct page *page); /* From fs/ntfs/super.c */ #define default_upcase_len 0x10000 -extern wchar_t *default_upcase; +extern ntfschar *default_upcase; extern unsigned long ntfs_nr_upcase_users; -extern unsigned long ntfs_nr_mounts; extern struct semaphore ntfs_lock; typedef struct { diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c index e49428592..2c93c5918 100644 --- a/fs/ntfs/super.c +++ b/fs/ntfs/super.c @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include "ntfs.h" #include "sysctl.h" @@ -143,7 +145,7 @@ static BOOL parse_options(ntfs_volume *vol, char *opt) ntfs_debug("Entering with mount options string: %s", opt); while ((p = strsep(&opt, ","))) { if ((v = strchr(p, '='))) - *v++ = '\0'; + *v++ = 0; NTFS_GETOPT("uid", uid) else NTFS_GETOPT("gid", gid) else NTFS_GETOPT("umask", fmask = dmask) @@ -316,11 +318,11 @@ static int ntfs_write_volume_flags(ntfs_volume *vol, const VOLUME_FLAGS flags) ntfs_inode *ni = NTFS_I(vol->vol_ino); MFT_RECORD *m; VOLUME_INFORMATION *vi; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; int err; ntfs_debug("Entering, old flags = 0x%x, new flags = 0x%x.", - vol->vol_flags, flags); + le16_to_cpu(vol->vol_flags), le16_to_cpu(flags)); if (vol->vol_flags == flags) goto done; BUG_ON(!ni); @@ -329,28 +331,28 @@ static int ntfs_write_volume_flags(ntfs_volume *vol, const VOLUME_FLAGS flags) err = PTR_ERR(m); goto err_out; } - ctx = get_attr_search_ctx(ni, m); + ctx = ntfs_attr_get_search_ctx(ni, m); if (!ctx) { err = -ENOMEM; goto put_unm_err_out; } - if (!lookup_attr(AT_VOLUME_INFORMATION, NULL, 0, 0, 0, NULL, 0, ctx)) { - err = -EIO; + err = ntfs_attr_lookup(AT_VOLUME_INFORMATION, NULL, 0, 0, 0, NULL, 0, + ctx); + if (err) goto put_unm_err_out; - } vi = (VOLUME_INFORMATION*)((u8*)ctx->attr + le16_to_cpu(ctx->attr->data.resident.value_offset)); vol->vol_flags = vi->flags = flags; flush_dcache_mft_record_page(ctx->ntfs_ino); mark_mft_record_dirty(ctx->ntfs_ino); - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); done: ntfs_debug("Done."); return 0; put_unm_err_out: if (ctx) - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(ni); err_out: ntfs_error(vol->sb, "Failed with error code %i.", -err); @@ -384,7 +386,8 @@ static inline int ntfs_set_volume_flags(ntfs_volume *vol, VOLUME_FLAGS flags) static inline int ntfs_clear_volume_flags(ntfs_volume *vol, VOLUME_FLAGS flags) { flags &= VOLUME_FLAGS_MASK; - return ntfs_write_volume_flags(vol, vol->vol_flags & ~flags); + flags = vol->vol_flags & cpu_to_le16(~le16_to_cpu(flags)); + return ntfs_write_volume_flags(vol, flags); } #endif /* NTFS_RW */ @@ -409,7 +412,7 @@ static int ntfs_remount(struct super_block *sb, int *flags, char *opt) #ifndef NTFS_RW /* For read-only compiled driver, enforce all read-only flags. */ *flags |= MS_RDONLY | MS_NOATIME | MS_NODIRATIME; -#else /* ! NTFS_RW */ +#else /* NTFS_RW */ /* * For the read-write compiled driver, if we are remounting read-write, * make sure there are no volume errors and that no unsupported volume @@ -479,28 +482,7 @@ static int ntfs_remount(struct super_block *sb, int *flags, char *opt) "flags. Run chkdsk."); } } - // TODO: For now we enforce no atime and dir atime updates as they are - // not implemented. - if ((sb->s_flags & MS_NOATIME) && !(*flags & MS_NOATIME)) - ntfs_warning(sb, "Atime updates are not implemented yet. " - "Leaving them disabled."); - else if ((sb->s_flags & MS_NODIRATIME) && !(*flags & MS_NODIRATIME)) - ntfs_warning(sb, "Directory atime updates are not implemented " - "yet. Leaving them disabled."); - *flags |= MS_NOATIME | MS_NODIRATIME; -#endif /* ! NTFS_RW */ - - // FIXME/TODO: If left like this we will have problems with rw->ro and - // ro->rw, as well as with sync->async and vice versa remounts. - // Note: The VFS already checks that there are no pending deletes and - // no open files for writing. So we only need to worry about dirty - // inode pages and dirty system files (which include dirty inodes). - // Either handle by flushing the whole volume NOW or by having the - // write routines work on MS_RDONLY fs and guarantee we don't mark - // anything as dirty if MS_RDONLY is set. That way the dirty data - // would get flushed but no new dirty data would appear. This is - // probably best but we need to be careful not to mark anything dirty - // or the MS_RDONLY will be leaking writes. +#endif /* NTFS_RW */ // TODO: Deal with *flags. @@ -530,8 +512,10 @@ static BOOL is_boot_sector_ntfs(const struct super_block *sb, * field. If checksum is zero, no checking is done. */ if ((void*)b < (void*)&b->checksum && b->checksum) { - u32 i, *u; - for (i = 0, u = (u32*)b; u < (u32*)(&b->checksum); ++u) + le32 *u; + u32 i; + + for (i = 0, u = (le32*)b; u < (le32*)(&b->checksum); ++u) i += le32_to_cpup(u); if (le32_to_cpu(b->checksum) != i) goto not_ntfs; @@ -540,7 +524,7 @@ static BOOL is_boot_sector_ntfs(const struct super_block *sb, if (b->oem_id != magicNTFS) goto not_ntfs; /* Check bytes per sector value is between 256 and 4096. */ - if (le16_to_cpu(b->bpb.bytes_per_sector) < 0x100 || + if (le16_to_cpu(b->bpb.bytes_per_sector) < 0x100 || le16_to_cpu(b->bpb.bytes_per_sector) > 0x1000) goto not_ntfs; /* Check sectors per cluster value is valid. */ @@ -839,37 +823,86 @@ static BOOL parse_ntfs_boot_sector(ntfs_volume *vol, const NTFS_BOOT_SECTOR *b) vol->serial_no = le64_to_cpu(b->volume_serial_number); ntfs_debug("vol->serial_no = 0x%llx", (unsigned long long)vol->serial_no); - /* - * Determine MFT zone size. This is not strictly the right place to do - * this, but I am too lazy to create a function especially for it... - */ - vol->mft_zone_end = vol->nr_clusters; + return TRUE; +} + +/** + * setup_lcn_allocator - initialize the cluster allocator + * @vol: volume structure for which to setup the lcn allocator + * + * Setup the cluster (lcn) allocator to the starting values. + */ +static void setup_lcn_allocator(ntfs_volume *vol) +{ +#ifdef NTFS_RW + LCN mft_zone_size, mft_lcn; +#endif /* NTFS_RW */ + + ntfs_debug("vol->mft_zone_multiplier = 0x%x", + vol->mft_zone_multiplier); +#ifdef NTFS_RW + /* Determine the size of the MFT zone. */ + mft_zone_size = vol->nr_clusters; switch (vol->mft_zone_multiplier) { /* % of volume size in clusters */ case 4: - vol->mft_zone_end = vol->mft_zone_end >> 1; /* 50% */ + mft_zone_size >>= 1; /* 50% */ break; case 3: - vol->mft_zone_end = (vol->mft_zone_end + - (vol->mft_zone_end >> 1)) >> 2; /* 37.5% */ + mft_zone_size = (mft_zone_size + + (mft_zone_size >> 1)) >> 2; /* 37.5% */ break; case 2: - vol->mft_zone_end = vol->mft_zone_end >> 2; /* 25% */ + mft_zone_size >>= 2; /* 25% */ break; + /* case 1: */ default: - vol->mft_zone_multiplier = 1; - /* Fall through into case 1. */ - case 1: - vol->mft_zone_end = vol->mft_zone_end >> 3; /* 12.5% */ + mft_zone_size >>= 3; /* 12.5% */ break; } - ntfs_debug("vol->mft_zone_multiplier = 0x%x", - vol->mft_zone_multiplier); - vol->mft_zone_start = vol->mft_lcn; - vol->mft_zone_end += vol->mft_lcn; + /* Setup the mft zone. */ + vol->mft_zone_start = vol->mft_zone_pos = vol->mft_lcn; + ntfs_debug("vol->mft_zone_pos = 0x%llx", + (unsigned long long)vol->mft_zone_pos); + /* + * Calculate the mft_lcn for an unmodified NTFS volume (see mkntfs + * source) and if the actual mft_lcn is in the expected place or even + * further to the front of the volume, extend the mft_zone to cover the + * beginning of the volume as well. This is in order to protect the + * area reserved for the mft bitmap as well within the mft_zone itself. + * On non-standard volumes we do not protect it as the overhead would + * be higher than the speed increase we would get by doing it. + */ + mft_lcn = (8192 + 2 * vol->cluster_size - 1) / vol->cluster_size; + if (mft_lcn * vol->cluster_size < 16 * 1024) + mft_lcn = (16 * 1024 + vol->cluster_size - 1) / + vol->cluster_size; + if (vol->mft_zone_start <= mft_lcn) + vol->mft_zone_start = 0; ntfs_debug("vol->mft_zone_start = 0x%llx", - (long long)vol->mft_zone_start); - ntfs_debug("vol->mft_zone_end = 0x%llx", (long long)vol->mft_zone_end); - return TRUE; + (unsigned long long)vol->mft_zone_start); + /* + * Need to cap the mft zone on non-standard volumes so that it does + * not point outside the boundaries of the volume. We do this by + * halving the zone size until we are inside the volume. + */ + vol->mft_zone_end = vol->mft_lcn + mft_zone_size; + while (vol->mft_zone_end >= vol->nr_clusters) { + mft_zone_size >>= 1; + vol->mft_zone_end = vol->mft_lcn + mft_zone_size; + } + ntfs_debug("vol->mft_zone_end = 0x%llx", + (unsigned long long)vol->mft_zone_end); + /* + * Set the current position within each data zone to the start of the + * respective zone. + */ + vol->data1_zone_pos = vol->mft_zone_end; + ntfs_debug("vol->data1_zone_pos = 0x%llx", + (unsigned long long)vol->data1_zone_pos); + vol->data2_zone_pos = 0; + ntfs_debug("vol->data2_zone_pos = 0x%llx", + (unsigned long long)vol->data2_zone_pos); +#endif /* NTFS_RW */ } #ifdef NTFS_RW @@ -934,7 +967,7 @@ static BOOL check_mft_mirror(ntfs_volume *vol) ntfs_inode *mirr_ni; struct page *mft_page, *mirr_page; u8 *kmft, *kmirr; - run_list_element *rl, rl2[2]; + runlist_element *rl, rl2[2]; int mrecs_per_page, i; ntfs_debug("Entering."); @@ -973,7 +1006,7 @@ static BOOL check_mft_mirror(ntfs_volume *vol) ++index; } /* Make sure the record is ok. */ - if (ntfs_is_baad_recordp(kmft)) { + if (ntfs_is_baad_recordp((le32*)kmft)) { ntfs_error(sb, "Incomplete multi sector transfer " "detected in mft record %i.", i); mm_unmap_out: @@ -982,7 +1015,7 @@ mft_unmap_out: ntfs_unmap_page(mft_page); return FALSE; } - if (ntfs_is_baad_recordp(kmirr)) { + if (ntfs_is_baad_recordp((le32*)kmirr)) { ntfs_error(sb, "Incomplete multi sector transfer " "detected in mft mirror record %i.", i); goto mm_unmap_out; @@ -1007,7 +1040,7 @@ mft_unmap_out: ntfs_unmap_page(mft_page); ntfs_unmap_page(mirr_page); - /* Construct the mft mirror run list by hand. */ + /* Construct the mft mirror runlist by hand. */ rl2[0].vcn = 0; rl2[0].lcn = vol->mftmirr_lcn; rl2[0].length = (vol->mftmirr_size * vol->mft_record_size + @@ -1017,23 +1050,23 @@ mft_unmap_out: rl2[1].length = 0; /* * Because we have just read all of the mft mirror, we know we have - * mapped the full run list for it. + * mapped the full runlist for it. */ mirr_ni = NTFS_I(vol->mftmirr_ino); - down_read(&mirr_ni->run_list.lock); - rl = mirr_ni->run_list.rl; - /* Compare the two run lists. They must be identical. */ + down_read(&mirr_ni->runlist.lock); + rl = mirr_ni->runlist.rl; + /* Compare the two runlists. They must be identical. */ i = 0; do { if (rl2[i].vcn != rl[i].vcn || rl2[i].lcn != rl[i].lcn || rl2[i].length != rl[i].length) { ntfs_error(sb, "$MFTMirr location mismatch. " "Run chkdsk."); - up_read(&mirr_ni->run_list.lock); + up_read(&mirr_ni->runlist.lock); return FALSE; } } while (rl2[i++].length); - up_read(&mirr_ni->run_list.lock); + up_read(&mirr_ni->runlist.lock); ntfs_debug("Done."); return TRUE; } @@ -1081,9 +1114,9 @@ static BOOL load_and_init_quota(ntfs_volume *vol) static const ntfschar Quota[7] = { const_cpu_to_le16('$'), const_cpu_to_le16('Q'), const_cpu_to_le16('u'), const_cpu_to_le16('o'), const_cpu_to_le16('t'), - const_cpu_to_le16('a'), const_cpu_to_le16(0) }; + const_cpu_to_le16('a'), 0 }; static ntfschar Q[3] = { const_cpu_to_le16('$'), - const_cpu_to_le16('Q'), const_cpu_to_le16(0) }; + const_cpu_to_le16('Q'), 0 }; ntfs_debug("Entering."); /* @@ -1136,6 +1169,66 @@ static BOOL load_and_init_quota(ntfs_volume *vol) return TRUE; } +/** + * load_and_init_attrdef - load the attribute definitions table for a volume + * @vol: ntfs super block describing device whose attrdef to load + * + * Return TRUE on success or FALSE on error. + */ +static BOOL load_and_init_attrdef(ntfs_volume *vol) +{ + struct super_block *sb = vol->sb; + struct inode *ino; + struct page *page; + unsigned long index, max_index; + unsigned int size; + + ntfs_debug("Entering."); + /* Read attrdef table and setup vol->attrdef and vol->attrdef_size. */ + ino = ntfs_iget(sb, FILE_AttrDef); + if (IS_ERR(ino) || is_bad_inode(ino)) { + if (!IS_ERR(ino)) + iput(ino); + goto failed; + } + /* The size of FILE_AttrDef must be above 0 and fit inside 31 bits. */ + if (!ino->i_size || ino->i_size > 0x7fffffff) + goto iput_failed; + vol->attrdef = (ATTR_DEF*)ntfs_malloc_nofs(ino->i_size); + if (!vol->attrdef) + goto iput_failed; + index = 0; + max_index = ino->i_size >> PAGE_CACHE_SHIFT; + size = PAGE_CACHE_SIZE; + while (index < max_index) { + /* Read the attrdef table and copy it into the linear buffer. */ +read_partial_attrdef_page: + page = ntfs_map_page(ino->i_mapping, index); + if (IS_ERR(page)) + goto free_iput_failed; + memcpy((u8*)vol->attrdef + (index++ << PAGE_CACHE_SHIFT), + page_address(page), size); + ntfs_unmap_page(page); + }; + if (size == PAGE_CACHE_SIZE) { + size = ino->i_size & ~PAGE_CACHE_MASK; + if (size) + goto read_partial_attrdef_page; + } + vol->attrdef_size = ino->i_size; + ntfs_debug("Read %llu bytes from $AttrDef.", ino->i_size); + iput(ino); + return TRUE; +free_iput_failed: + ntfs_free(vol->attrdef); + vol->attrdef = NULL; +iput_failed: + iput(ino); +failed: + ntfs_error(sb, "Failed to initialize attribute definition table."); + return FALSE; +} + #endif /* NTFS_RW */ /** @@ -1236,7 +1329,7 @@ upcase_failed: return TRUE; } up(&ntfs_lock); - ntfs_error(sb, "Failed to initialized upcase table."); + ntfs_error(sb, "Failed to initialize upcase table."); return FALSE; } @@ -1252,10 +1345,9 @@ upcase_failed: static BOOL load_system_files(ntfs_volume *vol) { struct super_block *sb = vol->sb; - struct inode *tmp_ino; MFT_RECORD *m; VOLUME_INFORMATION *vi; - attr_search_context *ctx; + ntfs_attr_search_ctx *ctx; ntfs_debug("Entering."); #ifdef NTFS_RW @@ -1296,6 +1388,14 @@ static BOOL load_system_files(ntfs_volume *vol) /* Read upcase table and setup @vol->upcase and @vol->upcase_len. */ if (!load_and_init_upcase(vol)) goto iput_mftbmp_err_out; +#ifdef NTFS_RW + /* + * Read attribute definitions table and setup @vol->attrdef and + * @vol->attrdef_size. + */ + if (!load_and_init_attrdef(vol)) + goto iput_upcase_err_out; +#endif /* NTFS_RW */ /* * Get the cluster allocation bitmap inode and verify the size, no * need for any locking at this stage as we are already running @@ -1311,7 +1411,7 @@ static BOOL load_system_files(ntfs_volume *vol) iput(vol->lcnbmp_ino); bitmap_failed: ntfs_error(sb, "Failed to load $Bitmap."); - goto iput_mirr_err_out; + goto iput_attrdef_err_out; } /* * Get the volume inode and setup our cache of the volume flags and @@ -1331,14 +1431,14 @@ iput_volume_failed: iput(vol->vol_ino); goto volume_failed; } - if (!(ctx = get_attr_search_ctx(NTFS_I(vol->vol_ino), m))) { + if (!(ctx = ntfs_attr_get_search_ctx(NTFS_I(vol->vol_ino), m))) { ntfs_error(sb, "Failed to get attribute search context."); goto get_ctx_vol_failed; } - if (!lookup_attr(AT_VOLUME_INFORMATION, NULL, 0, 0, 0, NULL, 0, ctx) || - ctx->attr->non_resident || ctx->attr->flags) { + if (ntfs_attr_lookup(AT_VOLUME_INFORMATION, NULL, 0, 0, 0, NULL, 0, + ctx) || ctx->attr->non_resident || ctx->attr->flags) { err_put_vol: - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); get_ctx_vol_failed: unmap_mft_record(NTFS_I(vol->vol_ino)); goto iput_volume_failed; @@ -1354,7 +1454,7 @@ get_ctx_vol_failed: vol->vol_flags = vi->flags; vol->major_ver = vi->major_ver; vol->minor_ver = vi->minor_ver; - put_attr_search_ctx(ctx); + ntfs_attr_put_search_ctx(ctx); unmap_mft_record(NTFS_I(vol->vol_ino)); printk(KERN_INFO "NTFS volume version %i.%i.\n", vol->major_ver, vol->minor_ver); @@ -1483,19 +1583,6 @@ get_ctx_vol_failed: NVolSetErrors(vol); } #endif /* NTFS_RW */ - /* - * Get the inode for the attribute definitions file and parse the - * attribute definitions. - */ - tmp_ino = ntfs_iget(sb, FILE_AttrDef); - if (IS_ERR(tmp_ino) || is_bad_inode(tmp_ino)) { - if (!IS_ERR(tmp_ino)) - iput(tmp_ino); - ntfs_error(sb, "Failed to load $AttrDef."); - goto iput_logfile_err_out; - } - // FIXME: Parse the attribute definitions. - iput(tmp_ino); /* Get the root directory inode. */ vol->root_ino = ntfs_iget(sb, FILE_root); if (IS_ERR(vol->root_ino) || is_bad_inode(vol->root_ino)) { @@ -1591,6 +1678,26 @@ iput_vol_err_out: iput(vol->vol_ino); iput_lcnbmp_err_out: iput(vol->lcnbmp_ino); +iput_attrdef_err_out: + vol->attrdef_size = 0; + if (vol->attrdef) { + ntfs_free(vol->attrdef); + vol->attrdef = NULL; + } +#ifdef NTFS_RW +iput_upcase_err_out: +#endif /* NTFS_RW */ + vol->upcase_len = 0; + down(&ntfs_lock); + if (vol->upcase == default_upcase) { + ntfs_nr_upcase_users--; + vol->upcase = NULL; + } + up(&ntfs_lock); + if (vol->upcase) { + ntfs_free(vol->upcase); + vol->upcase = NULL; + } iput_mftbmp_err_out: iput(vol->mftbmp_ino); iput_mirr_err_out: @@ -1762,14 +1869,18 @@ static void ntfs_put_super(struct super_block *sb) iput(vol->mft_ino); vol->mft_ino = NULL; + /* Throw away the table of attribute definitions. */ + vol->attrdef_size = 0; + if (vol->attrdef) { + ntfs_free(vol->attrdef); + vol->attrdef = NULL; + } vol->upcase_len = 0; /* - * Decrease the number of mounts and destroy the global default upcase - * table if necessary. Also decrease the number of upcase users if we - * are a user. + * Destroy the global default upcase table if necessary. Also decrease + * the number of upcase users if we are a user. */ down(&ntfs_lock); - ntfs_nr_mounts--; if (vol->upcase == default_upcase) { ntfs_nr_upcase_users--; vol->upcase = NULL; @@ -1906,7 +2017,7 @@ static s64 get_nr_free_clusters(ntfs_volume *vol) */ static unsigned long __get_nr_free_mft_records(ntfs_volume *vol) { - s64 nr_free = vol->nr_mft_records; + s64 nr_free; u32 *kaddr; struct address_space *mapping = vol->mftbmp_ino->i_mapping; filler_t *readpage = (filler_t*)mapping->a_ops->readpage; @@ -1915,13 +2026,16 @@ static unsigned long __get_nr_free_mft_records(ntfs_volume *vol) unsigned int max_size; ntfs_debug("Entering."); + /* Number of mft records in file system (at this point in time). */ + nr_free = vol->mft_ino->i_size >> vol->mft_record_size_bits; /* - * Convert the number of bits into bytes rounded up, then convert into - * multiples of PAGE_CACHE_SIZE, rounding up so that if we have one - * full and one partial page max_index = 2. + * Convert the maximum number of set bits into bytes rounded up, then + * convert into multiples of PAGE_CACHE_SIZE, rounding up so that if we + * have one full and one partial page max_index = 2. */ - max_index = (((vol->nr_mft_records + 7) >> 3) + PAGE_CACHE_SIZE - 1) >> - PAGE_CACHE_SHIFT; + max_index = ((((NTFS_I(vol->mft_ino)->initialized_size >> + vol->mft_record_size_bits) + 7) >> 3) + + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT; /* Use multiples of 4 bytes. */ max_size = PAGE_CACHE_SIZE >> 2; ntfs_debug("Reading $MFT/$BITMAP, max_index = 0x%lx, max_size = " @@ -2016,9 +2130,9 @@ static int ntfs_statfs(struct super_block *sb, struct kstatfs *sfs) sfs->f_bavail = sfs->f_bfree = size; /* Serialize accesses to the inode bitmap. */ down_read(&vol->mftbmp_lock); - /* Total file nodes in file system (at this moment in time). */ - sfs->f_files = vol->mft_ino->i_size >> vol->mft_record_size_bits; - /* Free file nodes in fs (based on current total count). */ + /* Number of inodes in file system (at this point in time). */ + sfs->f_files = vol->mft_ino->i_size >> vol->mft_record_size_bits; + /* Free inodes in fs (based on current total count). */ sfs->f_ffree = __get_nr_free_mft_records(vol); up_read(&vol->mftbmp_lock); /* @@ -2139,15 +2253,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) ntfs_debug("Entering."); #ifndef NTFS_RW sb->s_flags |= MS_RDONLY | MS_NOATIME | MS_NODIRATIME; -#else - if (!(sb->s_flags & MS_NOATIME)) - ntfs_warning(sb, "Atime updates are not implemented yet. " - "Disabling them."); - else if (!(sb->s_flags & MS_NODIRATIME)) - ntfs_warning(sb, "Directory atime updates are not implemented " - "yet. Disabling them."); - sb->s_flags |= MS_NOATIME | MS_NODIRATIME; -#endif +#endif /* ! NTFS_RW */ /* Allocate a new ntfs_volume and place it in sb->s_fs_info. */ sb->s_fs_info = kmalloc(sizeof(ntfs_volume), GFP_NOFS); vol = NTFS_SB(sb); @@ -2161,6 +2267,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) memset(vol, 0, sizeof(ntfs_volume)); vol->sb = sb; vol->upcase = NULL; + vol->attrdef = NULL; vol->mft_ino = NULL; vol->mftbmp_ino = NULL; init_rwsem(&vol->mftbmp_lock); @@ -2188,6 +2295,8 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) vol->fmask = 0177; vol->dmask = 0077; + unlock_kernel(); + /* Important to get the mount options dealt with now. */ if (!parse_options(vol, (char*)opt)) goto err_out_now; @@ -2225,6 +2334,9 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) */ result = parse_ntfs_boot_sector(vol, (NTFS_BOOT_SECTOR*)bh->b_data); + /* Initialize the cluster allocator. */ + setup_lcn_allocator(vol); + brelse(bh); if (!result) { @@ -2289,14 +2401,13 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) } } /* - * Increment the number of mounts and generate the global default - * upcase table if necessary. Also temporarily increment the number of - * upcase users to avoid race conditions with concurrent (u)mounts. + * Generate the global default upcase table if necessary. Also + * temporarily increment the number of upcase users to avoid race + * conditions with concurrent (u)mounts. */ - if (!ntfs_nr_mounts++) + if (!default_upcase) default_upcase = generate_default_upcase(); ntfs_nr_upcase_users++; - up(&ntfs_lock); /* * From now on, ignore @silent parameter. If we fail below this line, @@ -2322,6 +2433,7 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) } up(&ntfs_lock); sb->s_export_op = &ntfs_export_ops; + lock_kernel(); return 0; } ntfs_error(sb, "Failed to allocate root directory."); @@ -2368,10 +2480,23 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) vol->mftmirr_ino = NULL; } #endif /* NTFS_RW */ + /* Throw away the table of attribute definitions. */ + vol->attrdef_size = 0; + if (vol->attrdef) { + ntfs_free(vol->attrdef); + vol->attrdef = NULL; + } vol->upcase_len = 0; - if (vol->upcase != default_upcase) + down(&ntfs_lock); + if (vol->upcase == default_upcase) { + ntfs_nr_upcase_users--; + vol->upcase = NULL; + } + up(&ntfs_lock); + if (vol->upcase) { ntfs_free(vol->upcase); - vol->upcase = NULL; + vol->upcase = NULL; + } if (vol->nls_map) { unload_nls(vol->nls_map); vol->nls_map = NULL; @@ -2379,11 +2504,10 @@ static int ntfs_fill_super(struct super_block *sb, void *opt, const int silent) /* Error exit code path. */ unl_upcase_iput_tmp_ino_err_out_now: /* - * Decrease the number of mounts and destroy the global default upcase - * table if necessary. + * Decrease the number of upcase users and destroy the global default + * upcase table if necessary. */ down(&ntfs_lock); - ntfs_nr_mounts--; if (!--ntfs_nr_upcase_users && default_upcase) { ntfs_free(default_upcase); default_upcase = NULL; @@ -2413,6 +2537,7 @@ iput_tmp_ino_err_out_now: } /* Errors at this stage are irrelevant. */ err_out_now: + lock_kernel(); sb->s_fs_info = NULL; kfree(vol); ntfs_debug("Failed, returning -EINVAL."); @@ -2449,12 +2574,9 @@ kmem_cache_t *ntfs_attr_ctx_cache; kmem_cache_t *ntfs_index_ctx_cache; /* A global default upcase table and a corresponding reference count. */ -wchar_t *default_upcase = NULL; +ntfschar *default_upcase = NULL; unsigned long ntfs_nr_upcase_users = 0; -/* The number of mounted filesystems. */ -unsigned long ntfs_nr_mounts = 0; - /* Driver wide semaphore. */ DECLARE_MUTEX(ntfs_lock); @@ -2509,7 +2631,7 @@ static int __init init_ntfs_fs(void) goto ictx_err_out; } ntfs_attr_ctx_cache = kmem_cache_create(ntfs_attr_ctx_cache_name, - sizeof(attr_search_context), 0 /* offset */, + sizeof(ntfs_attr_search_ctx), 0 /* offset */, SLAB_HWCACHE_ALIGN, NULL /* ctor */, NULL /* dtor */); if (!ntfs_attr_ctx_cache) { printk(KERN_CRIT "NTFS: Failed to create %s!\n", @@ -2528,7 +2650,7 @@ static int __init init_ntfs_fs(void) ntfs_inode_cache = kmem_cache_create(ntfs_inode_cache_name, sizeof(ntfs_inode), 0, - SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, NULL, NULL); + SLAB_RECLAIM_ACCOUNT, NULL, NULL); if (!ntfs_inode_cache) { printk(KERN_CRIT "NTFS: Failed to create %s!\n", ntfs_inode_cache_name); @@ -2614,7 +2736,7 @@ MODULE_AUTHOR("Anton Altaparmakov "); MODULE_DESCRIPTION("NTFS 1.2/3.x driver - Copyright (c) 2001-2004 Anton Altaparmakov"); MODULE_LICENSE("GPL"); #ifdef DEBUG -MODULE_PARM(debug_msgs, "i"); +module_param(debug_msgs, bool, 0); MODULE_PARM_DESC(debug_msgs, "Enable debug messages."); #endif diff --git a/fs/ntfs/time.h b/fs/ntfs/time.h index b0a7dbafc..a09a51dab 100644 --- a/fs/ntfs/time.h +++ b/fs/ntfs/time.h @@ -45,7 +45,7 @@ * measured as the number of 100-nano-second intervals since 1st January 1601, * 00:00:00 UTC. */ -static inline s64 utc2ntfs(const struct timespec ts) +static inline sle64 utc2ntfs(const struct timespec ts) { /* * Convert the seconds to 100ns intervals, add the nano-seconds @@ -61,7 +61,7 @@ static inline s64 utc2ntfs(const struct timespec ts) * Get the current time from the Linux kernel, convert it to its corresponding * NTFS time and return that in little endian format. */ -static inline s64 get_current_ntfs_time(void) +static inline sle64 get_current_ntfs_time(void) { return utc2ntfs(current_kernel_time()); } @@ -82,7 +82,7 @@ static inline s64 get_current_ntfs_time(void) * measured as the number of 100 nano-second intervals since 1st January 1601, * 00:00:00 UTC. */ -static inline struct timespec ntfs2utc(const s64 time) +static inline struct timespec ntfs2utc(const sle64 time) { struct timespec ts; diff --git a/fs/ntfs/types.h b/fs/ntfs/types.h index a33fc637f..a98731ece 100644 --- a/fs/ntfs/types.h +++ b/fs/ntfs/types.h @@ -23,8 +23,17 @@ #ifndef _LINUX_NTFS_TYPES_H #define _LINUX_NTFS_TYPES_H +#include + +typedef __le16 le16; +typedef __le32 le32; +typedef __le64 le64; +typedef __u16 __bitwise sle16; +typedef __u32 __bitwise sle32; +typedef __u64 __bitwise sle64; + /* 2-byte Unicode character type. */ -typedef u16 ntfschar; +typedef le16 ntfschar; #define UCHAR_T_SIZE_BITS 1 /* @@ -32,7 +41,9 @@ typedef u16 ntfschar; * and VCN, to allow for type checking and better code readability. */ typedef s64 VCN; +typedef sle64 leVCN; typedef s64 LCN; +typedef sle64 leLCN; /* * The NTFS journal $LogFile uses log sequence numbers which are signed 64-bit @@ -40,9 +51,10 @@ typedef s64 LCN; * code readability. */ typedef s64 LSN; +typedef sle64 leLSN; /** - * run_list_element - in memory vcn to lcn mapping array element + * runlist_element - in memory vcn to lcn mapping array element * @vcn: starting vcn of the current array element * @lcn: starting lcn of the current array element * @length: length in clusters of the current array element @@ -56,18 +68,18 @@ typedef struct { /* In memory vcn to lcn mapping structure element. */ VCN vcn; /* vcn = Starting virtual cluster number. */ LCN lcn; /* lcn = Starting logical cluster number. */ s64 length; /* Run length in clusters. */ -} run_list_element; +} runlist_element; /** - * run_list - in memory vcn to lcn mapping array including a read/write lock - * @rl: pointer to an array of run list elements + * runlist - in memory vcn to lcn mapping array including a read/write lock + * @rl: pointer to an array of runlist elements * @lock: read/write spinlock for serializing access to @rl * */ typedef struct { - run_list_element *rl; + runlist_element *rl; struct rw_semaphore lock; -} run_list; +} runlist; typedef enum { FALSE = 0, diff --git a/fs/ntfs/unistr.c b/fs/ntfs/unistr.c index 507f836f9..ec7405a80 100644 --- a/fs/ntfs/unistr.c +++ b/fs/ntfs/unistr.c @@ -96,7 +96,7 @@ int ntfs_collate_names(const ntfschar *name1, const u32 name1_len, const ntfschar *upcase, const u32 upcase_len) { u32 cnt, min_len; - ntfschar c1, c2; + u16 c1, c2; min_len = name1_len; if (name1_len > name2_len) @@ -144,7 +144,7 @@ int ntfs_collate_names(const ntfschar *name1, const u32 name1_len, */ int ntfs_ucsncmp(const ntfschar *s1, const ntfschar *s2, size_t n) { - ntfschar c1, c2; + u16 c1, c2; size_t i; for (i = 0; i < n; ++i) { @@ -181,8 +181,8 @@ int ntfs_ucsncmp(const ntfschar *s1, const ntfschar *s2, size_t n) int ntfs_ucsncasecmp(const ntfschar *s1, const ntfschar *s2, size_t n, const ntfschar *upcase, const u32 upcase_size) { - ntfschar c1, c2; size_t i; + u16 c1, c2; for (i = 0; i < n; ++i) { if ((c1 = le16_to_cpu(s1[i])) < upcase_size) @@ -203,7 +203,7 @@ void ntfs_upcase_name(ntfschar *name, u32 name_len, const ntfschar *upcase, const u32 upcase_len) { u32 i; - ntfschar u; + u16 u; for (i = 0; i < name_len; i++) if ((u = le16_to_cpu(name[i])) < upcase_len) @@ -276,7 +276,7 @@ int ntfs_nlstoucs(const ntfs_volume *vol, const char *ins, } /* else (wc_len < 0) */ goto conversion_err; } - ucs[o] = cpu_to_le16('\0'); + ucs[o] = 0; *outs = ucs; return o; } /* else (!ucs) */ @@ -362,7 +362,7 @@ retry: wc = nls->uni2char(le16_to_cpu(ins[i]), ns + o, } /* wc < 0, real error. */ goto conversion_err; } - ns[o] = '\0'; + ns[o] = 0; *outs = ns; return o; } /* else (!ins) */ diff --git a/fs/ntfs/upcase.c b/fs/ntfs/upcase.c index 5481f2de8..276ed9798 100644 --- a/fs/ntfs/upcase.c +++ b/fs/ntfs/upcase.c @@ -3,7 +3,7 @@ * Part of the Linux-NTFS project. * * Copyright (c) 2001 Richard Russon - * Copyright (c) 2001-2003 Anton Altaparmakov + * Copyright (c) 2001-2004 Anton Altaparmakov * * Modified for mkntfs inclusion 9 June 2001 by Anton Altaparmakov. * Modified for kernel inclusion 10 September 2001 by Anton Altparmakov. @@ -87,4 +87,3 @@ ntfschar *generate_default_upcase(void) uc[uc_word_table[r][0]] = cpu_to_le16(uc_word_table[r][1]); return uc; } - diff --git a/fs/ntfs/volume.h b/fs/ntfs/volume.h index 330c3a229..9775fa658 100644 --- a/fs/ntfs/volume.h +++ b/fs/ntfs/volume.h @@ -73,16 +73,28 @@ typedef struct { /* Mount specific NTFS information. */ u32 upcase_len; /* Number of entries in upcase[]. */ ntfschar *upcase; /* The upcase table. */ + + s32 attrdef_size; /* Size of the attribute definition + table in bytes. */ + ATTR_DEF *attrdef; /* Table of attribute definitions. + Obtained from FILE_AttrDef. */ + +#ifdef NTFS_RW + /* Variables used by the cluster and mft allocators. */ LCN mft_zone_start; /* First cluster of the mft zone. */ LCN mft_zone_end; /* First cluster beyond the mft zone. */ + LCN mft_zone_pos; /* Current position in the mft zone. */ + LCN data1_zone_pos; /* Current position in the first data + zone. */ + LCN data2_zone_pos; /* Current position in the second data + zone. */ +#endif /* NTFS_RW */ + struct inode *mft_ino; /* The VFS inode of $MFT. */ struct inode *mftbmp_ino; /* Attribute inode for $MFT/$BITMAP. */ struct rw_semaphore mftbmp_lock; /* Lock for serializing accesses to the mft record bitmap ($MFT/$BITMAP). */ - unsigned long nr_mft_records; /* Number of mft records == number of - bits in mft bitmap. */ - #ifdef NTFS_RW struct inode *mftmirr_ino; /* The VFS inode of $MFTMirr. */ int mftmirr_size; /* Size of mft mirror in mft records. */ diff --git a/fs/open.c b/fs/open.c index 6c811736c..f6dab951e 100644 --- a/fs/open.c +++ b/fs/open.c @@ -543,6 +543,8 @@ out: return error; } +EXPORT_SYMBOL_GPL(sys_chdir); + asmlinkage long sys_fchdir(unsigned int fd) { struct file *file; @@ -599,6 +601,8 @@ out: return error; } +EXPORT_SYMBOL_GPL(sys_chroot); + asmlinkage long sys_fchmod(unsigned int fd, mode_t mode) { struct inode * inode; @@ -1051,6 +1055,7 @@ out_unlock: return -EBADF; } +EXPORT_SYMBOL(sys_close); /* * This routine simulates a hangup on the tty, to arrange that users diff --git a/fs/partitions/ibm.c b/fs/partitions/ibm.c index a230fa7fe..4f6007765 100644 --- a/fs/partitions/ibm.c +++ b/fs/partitions/ibm.c @@ -129,6 +129,7 @@ ibm_partition(struct parsed_partitions *state, struct block_device *bdev) while ((data = read_dev_sector(bdev, blk*(blocksize/512), §)) != NULL) { format1_label_t f1; + char *ch; memcpy(&f1, data, sizeof(format1_label_t)); put_dev_sector(sect); @@ -154,6 +155,14 @@ ibm_partition(struct parsed_partitions *state, struct block_device *bdev) put_partition(state, counter + 1, offset * (blocksize >> 9), size * (blocksize >> 9)); + + /* Corrupting the label buffer now to save the stack. */ + EBCASC(f1.DS1DSNAM, 44); + f1.DS1DSNAM[44] = 0; + ch = strstr(f1.DS1DSNAM, "PART"); + if (ch != NULL && strncmp(ch + 9, "RAID ", 6) == 0) + state->parts[counter + 1].flags = 1; + counter++; blk++; } diff --git a/fs/partitions/msdos.c b/fs/partitions/msdos.c index 100fa7548..ff77a954c 100644 --- a/fs/partitions/msdos.c +++ b/fs/partitions/msdos.c @@ -246,6 +246,9 @@ parse_bsd(struct parsed_partitions *state, struct block_device *bdev, put_partition(state, state->next++, bsd_start, bsd_size); } put_dev_sector(sect); + if (le16_to_cpu(l->d_npartitions) > max_partitions) + printk(" (ignored %d more)", + le16_to_cpu(l->d_npartitions) - max_partitions); printk(" >\n"); } #endif diff --git a/fs/posix_acl.c b/fs/posix_acl.c index c802d5a2f..97fbb8619 100644 --- a/fs/posix_acl.c +++ b/fs/posix_acl.c @@ -29,7 +29,6 @@ EXPORT_SYMBOL(posix_acl_equiv_mode); EXPORT_SYMBOL(posix_acl_from_mode); EXPORT_SYMBOL(posix_acl_create_masq); EXPORT_SYMBOL(posix_acl_chmod_masq); -EXPORT_SYMBOL(posix_acl_masq_nfs_mode); EXPORT_SYMBOL(posix_acl_permission); /* @@ -380,44 +379,3 @@ posix_acl_chmod_masq(struct posix_acl *acl, mode_t mode) return 0; } - -/* - * Adjust the mode parameter so that NFSv2 grants nobody permissions - * that may not be granted by the ACL. This is necessary because NFSv2 - * may compute access permissions on the client side, and may serve cached - * data whenever it assumes access would be granted. Since ACLs may also - * be used to deny access to specific users, the minimal permissions - * for secure operation over NFSv2 are very restrictive. Permissions - * granted to users via Access Control Lists will not be effective over - * NFSv2. - * - * Privilege escalation can only happen for read operations, as writes are - * always carried out on the NFS server, where the proper access checks are - * implemented. - */ -int -posix_acl_masq_nfs_mode(struct posix_acl *acl, mode_t *mode_p) -{ - struct posix_acl_entry *pa, *pe; int min_perm = S_IRWXO; - - FOREACH_ACL_ENTRY(pa, acl, pe) { - switch(pa->e_tag) { - case ACL_USER_OBJ: - break; - - case ACL_USER: - case ACL_GROUP_OBJ: - case ACL_GROUP: - case ACL_MASK: - case ACL_OTHER: - min_perm &= pa->e_perm; - break; - - default: - return -EIO; - } - } - *mode_p = (*mode_p & ~(S_IRWXG|S_IRWXO)) | (min_perm << 3) | min_perm; - - return 0; -} diff --git a/fs/proc/array.c b/fs/proc/array.c index 47e254345..454c28065 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -92,10 +92,13 @@ static inline char * task_name(struct task_struct *p, char * buf) { int i; char * name; + char tcomm[sizeof(p->comm)]; + + get_task_comm(tcomm, p); ADDBUF(buf, "Name:\t"); - name = p->comm; - i = sizeof(p->comm); + name = tcomm; + i = sizeof(tcomm); do { unsigned char c = *name; name++; @@ -131,20 +134,22 @@ static const char *task_state_array[] = { "S (sleeping)", /* 1 */ "D (disk sleep)", /* 2 */ "T (stopped)", /* 4 */ - "Z (zombie)", /* 8 */ - "X (dead)", /* 16 */ - "H (on hold)" /* 32 */ + "T (tracing stop)", /* 8 */ + "Z (zombie)", /* 16 */ + "X (dead)", /* 32 */ + "H (on hold)" /* 64 */ }; static inline const char * get_task_state(struct task_struct *tsk) { - unsigned int state = tsk->state & (TASK_RUNNING | - TASK_INTERRUPTIBLE | - TASK_UNINTERRUPTIBLE | - TASK_ZOMBIE | - TASK_DEAD | - TASK_STOPPED | - TASK_ONHOLD); + unsigned int state = (tsk->state & (TASK_RUNNING | + TASK_INTERRUPTIBLE | + TASK_UNINTERRUPTIBLE | + TASK_STOPPED | + TASK_TRACED | + TASK_ONHOLD)) | + (tsk->exit_state & (EXIT_ZOMBIE | + EXIT_DEAD)); const char **p = &task_state_array[0]; while (state) { @@ -158,12 +163,13 @@ static inline char * task_state(struct task_struct *p, char *buffer) { struct group_info *group_info; int g; - pid_t pid, ppid, tgid; + pid_t pid, ppid, tppid, tgid; read_lock(&tasklist_lock); - tgid = vx_map_tgid(current->vx_info, p->tgid); - pid = vx_map_tgid(current->vx_info, p->pid); - ppid = vx_map_tgid(current->vx_info, p->real_parent->pid); + tgid = vx_map_tgid(p->tgid); + pid = vx_map_pid(p->pid); + ppid = vx_map_pid(p->real_parent->pid); + tppid = vx_map_pid(p->parent->pid); buffer += sprintf(buffer, "State:\t%s\n" "SleepAVG:\t%lu%%\n" @@ -175,8 +181,8 @@ static inline char * task_state(struct task_struct *p, char *buffer) "Gid:\t%d\t%d\t%d\t%d\n", get_task_state(p), (p->sleep_avg/1024)*100/(1020000000/1024), - tgid, pid, p->pid ? ppid : 0, - p->pid && p->ptrace ? p->parent->pid : 0, + tgid, pid, (pid > 1) ? ppid : 0, + p->pid && p->ptrace ? tppid : 0, p->uid, p->euid, p->suid, p->fsuid, p->gid, p->egid, p->sgid, p->fsgid); read_unlock(&tasklist_lock); @@ -284,11 +290,10 @@ static inline char *task_cap(struct task_struct *p, char *buffer) cap_t(p->cap_effective)); } -extern char *task_mem(struct mm_struct *, char *); int proc_pid_status(struct task_struct *task, char * buffer) { char * orig = buffer; -#ifdef CONFIG_VSERVER_LEGACY +#ifdef CONFIG_VSERVER_LEGACY struct vx_info *vxi; struct nx_info *nxi; #endif @@ -304,7 +309,7 @@ int proc_pid_status(struct task_struct *task, char * buffer) buffer = task_sig(task, buffer); buffer = task_cap(task, buffer); -#ifdef CONFIG_VSERVER_LEGACY +#ifdef CONFIG_VSERVER_LEGACY buffer += sprintf (buffer,"s_context: %d\n", vx_task_xid(task)); vxi = task_get_vx_info(task); if (vxi) { @@ -342,12 +347,11 @@ int proc_pid_status(struct task_struct *task, char * buffer) return buffer - orig; } -extern unsigned long task_vsize(struct mm_struct *); int proc_pid_stat(struct task_struct *task, char * buffer) { unsigned long vsize, eip, esp, wchan; long priority, nice; - unsigned long long bias_jiffies; + unsigned long long bias_uptime = 0; int tty_pgrp = -1, tty_nr = 0; sigset_t sigign, sigcatch; char state; @@ -356,32 +360,19 @@ int proc_pid_stat(struct task_struct *task, char * buffer) int num_threads = 0; struct mm_struct *mm; unsigned long long start_time; + unsigned long cmin_flt = 0, cmaj_flt = 0, cutime = 0, cstime = 0; + char tcomm[sizeof(task->comm)]; state = *get_task_state(task); vsize = eip = esp = 0; - bias_jiffies = INITIAL_JIFFIES; - - task_lock(task); - if (__vx_task_flags(task, VXF_VIRT_UPTIME, 0)) { - bias_jiffies = task->vx_info->cvirt.bias_jiffies; - /* hmm, do we need that? */ - if (bias_jiffies > task->start_time) - bias_jiffies = task->start_time; - } - pid = vx_map_tgid(task->vx_info, task->pid); - - mm = task->mm; - if(mm) - mm = mmgrab(mm); - task_unlock(task); + mm = get_task_mm(task); if (mm) { - down_read(&mm->mmap_sem); vsize = task_vsize(mm); eip = KSTK_EIP(task); esp = KSTK_ESP(task); - up_read(&mm->mmap_sem); } + get_task_comm(tcomm, task); wchan = 0; if (current->uid == task->uid || current->euid == task->uid || capable(CAP_SYS_NICE)) @@ -403,6 +394,14 @@ int proc_pid_stat(struct task_struct *task, char * buffer) } pgid = process_group(task); sid = task->signal->session; + cmin_flt = task->signal->cmin_flt; + cmaj_flt = task->signal->cmaj_flt; + cutime = task->signal->cutime; + cstime = task->signal->cstime; + } + if (task_vx_flags(task, VXF_VIRT_UPTIME, 0)) { + bias_uptime = task->vx_info->cvirt.bias_uptime.tv_sec * NSEC_PER_SEC + + task->vx_info->cvirt.bias_uptime.tv_nsec; } read_unlock(&tasklist_lock); @@ -412,17 +411,24 @@ int proc_pid_stat(struct task_struct *task, char * buffer) nice = task_nice(task); read_lock(&tasklist_lock); - ppid = task->pid ? task->real_parent->pid : 0; + pid = vx_info_map_pid(task->vx_info, task->pid); + ppid = (!(pid > 1)) ? 0 : + vx_info_map_pid(task->vx_info, task->real_parent->pid); + pgid = vx_info_map_pid(task->vx_info, pgid); read_unlock(&tasklist_lock); /* Temporary variable needed for gcc-2.96 */ - start_time = jiffies_64_to_clock_t(task->start_time - bias_jiffies); + /* convert timespec -> nsec*/ + start_time = (unsigned long long)task->start_time.tv_sec * NSEC_PER_SEC + + task->start_time.tv_nsec; + /* convert nsec -> ticks */ + start_time = nsec_to_clock_t(start_time - bias_uptime); res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \ %lu %lu %lu %lu %lu %ld %ld %ld %ld %d %ld %llu %lu %ld %lu %lu %lu %lu %lu \ %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu\n", pid, - task->comm, + tcomm, state, ppid, pgid, @@ -431,13 +437,13 @@ int proc_pid_stat(struct task_struct *task, char * buffer) tty_pgrp, task->flags, task->min_flt, - task->cmin_flt, + cmin_flt, task->maj_flt, - task->cmaj_flt, + cmaj_flt, jiffies_to_clock_t(task->utime), jiffies_to_clock_t(task->stime), - jiffies_to_clock_t(task->cutime), - jiffies_to_clock_t(task->cstime), + jiffies_to_clock_t(cutime), + jiffies_to_clock_t(cstime), priority, nice, num_threads, @@ -471,17 +477,13 @@ int proc_pid_stat(struct task_struct *task, char * buffer) return res; } -extern int task_statm(struct mm_struct *, int *, int *, int *, int *); int proc_pid_statm(struct task_struct *task, char *buffer) { int size = 0, resident = 0, shared = 0, text = 0, lib = 0, data = 0; struct mm_struct *mm = get_task_mm(task); if (mm) { - down_read(&mm->mmap_sem); size = task_statm(mm, &shared, &text, &data, &resident); - up_read(&mm->mmap_sem); - mmput(mm); } diff --git a/fs/proc/base.c b/fs/proc/base.c index 199e761a8..4628d4781 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -33,7 +33,6 @@ #include #include #include -#include /* * For hysterical raisins we keep the same inumbers as in the old procfs. @@ -62,6 +61,9 @@ enum pid_directory_inos { PROC_TGID_MAPS, PROC_TGID_MOUNTS, PROC_TGID_WCHAN, +#ifdef CONFIG_SCHEDSTATS + PROC_TGID_SCHEDSTAT, +#endif #ifdef CONFIG_SECURITY PROC_TGID_ATTR, PROC_TGID_ATTR_CURRENT, @@ -87,6 +89,9 @@ enum pid_directory_inos { PROC_TID_MAPS, PROC_TID_MOUNTS, PROC_TID_WCHAN, +#ifdef CONFIG_SCHEDSTATS + PROC_TID_SCHEDSTAT, +#endif #ifdef CONFIG_SECURITY PROC_TID_ATTR, PROC_TID_ATTR_CURRENT, @@ -135,9 +140,15 @@ static struct pid_entry tgid_base_stuff[] = { #endif #ifdef CONFIG_KALLSYMS E(PROC_TGID_WCHAN, "wchan", S_IFREG|S_IRUGO), +#endif +#ifdef CONFIG_SCHEDSTATS + E(PROC_TGID_SCHEDSTAT, "schedstat", S_IFREG|S_IRUGO), #endif E(PROC_TGID_VX_INFO, "vinfo", S_IFREG|S_IRUGO), E(PROC_TGID_IP_INFO, "ninfo", S_IFREG|S_IRUGO), +#ifdef CONFIG_SCHEDSTATS + E(PROC_TGID_SCHEDSTAT, "schedstat", S_IFREG|S_IRUGO), +#endif {0,0,NULL,0} }; static struct pid_entry tid_base_stuff[] = { @@ -162,9 +173,15 @@ static struct pid_entry tid_base_stuff[] = { #endif #ifdef CONFIG_KALLSYMS E(PROC_TID_WCHAN, "wchan", S_IFREG|S_IRUGO), +#endif +#ifdef CONFIG_SCHEDSTATS + E(PROC_TID_SCHEDSTAT, "schedstat",S_IFREG|S_IRUGO), #endif E(PROC_TID_VX_INFO, "vinfo", S_IFREG|S_IRUGO), E(PROC_TID_IP_INFO, "ninfo", S_IFREG|S_IRUGO), +#ifdef CONFIG_SCHEDSTATS + E(PROC_TID_SCHEDSTAT, "schedstat",S_IFREG|S_IRUGO), +#endif {0,0,NULL,0} }; @@ -200,8 +217,9 @@ static inline int proc_type(struct inode *inode) int proc_pid_stat(struct task_struct*,char*); int proc_pid_status(struct task_struct*,char*); int proc_pid_statm(struct task_struct*,char*); -int proc_pid_cpu(struct task_struct*,char*); +#ifdef CONFIG_DELAY_ACCT int proc_pid_delay(struct task_struct*,char*); +#endif static int proc_fd_link(struct inode *inode, struct dentry **dentry, struct vfsmount **mnt) { @@ -297,7 +315,8 @@ static int proc_root_link(struct inode *inode, struct dentry **dentry, struct vf #define MAY_PTRACE(task) \ (task == current || \ (task->parent == current && \ - (task->ptrace & PT_PTRACED) && task->state == TASK_STOPPED && \ + (task->ptrace & PT_PTRACED) && \ + (task->state == TASK_STOPPED || task->state == TASK_TRACED) && \ security_ptrace(current,task) == 0)) static int may_ptrace_attach(struct task_struct *task) @@ -316,7 +335,7 @@ static int may_ptrace_attach(struct task_struct *task) (current->gid != task->gid)) && !capable(CAP_SYS_PTRACE)) goto out; rmb(); - if (!task->mm->dumpable && !capable(CAP_SYS_PTRACE)) + if (task->mm->dumpable != 1 && !capable(CAP_SYS_PTRACE)) goto out; if (security_ptrace(current, task)) goto out; @@ -350,6 +369,8 @@ static int proc_pid_cmdline(struct task_struct *task, char * buffer) struct mm_struct *mm = get_task_mm(task); if (!mm) goto out; + if (!mm->arg_end) + goto out_mm; /* Shh! No looking before we're done */ len = mm->arg_end - mm->arg_start; @@ -360,7 +381,7 @@ static int proc_pid_cmdline(struct task_struct *task, char * buffer) // If the nul at the end of args has been overwritten, then // assume application is using setproctitle(3). - if (res > 0 && buffer[res-1] != '\0') { + if (res > 0 && buffer[res-1] != '\0' && len < PAGE_SIZE) { len = strnlen(buffer, res); if (len < res) { res = len; @@ -372,8 +393,8 @@ static int proc_pid_cmdline(struct task_struct *task, char * buffer) res = strnlen(buffer, res); } } +out_mm: mmput(mm); - out: return res; } @@ -418,6 +439,19 @@ static int proc_pid_wchan(struct task_struct *task, char *buffer) } #endif /* CONFIG_KALLSYMS */ +#ifdef CONFIG_SCHEDSTATS +/* + * Provides /proc/PID/schedstat + */ +static int proc_pid_schedstat(struct task_struct *task, char *buffer) +{ + return sprintf(buffer, "%lu %lu %lu\n", + task->sched_info.cpu_time, + task->sched_info.run_delay, + task->sched_info.pcnt); +} +#endif + /************************************************************************/ /* Here the fs part begins */ /************************************************************************/ @@ -538,7 +572,6 @@ static ssize_t proc_info_read(struct file * file, char __user * buf, struct inode * inode = file->f_dentry->d_inode; unsigned long page; ssize_t length; - ssize_t end; struct task_struct *task = proc_task(inode); if (count > PROC_BLOCK_SIZE) @@ -548,24 +581,10 @@ static ssize_t proc_info_read(struct file * file, char __user * buf, length = PROC_I(inode)->op.proc_read(task, (char*)page); - if (length < 0) { - free_page(page); - return length; - } - /* Static 4kB (or whatever) block capacity */ - if (*ppos >= length) { - free_page(page); - return 0; - } - if (count + *ppos > length) - count = length - *ppos; - end = count + *ppos; - if (copy_to_user(buf, (char *) page + *ppos, count)) - count = -EFAULT; - else - *ppos = end; + if (length >= 0) + length = simple_read_from_buffer(buf, count, ppos, (char *)page, length); free_page(page); - return count; + return length; } static struct file_operations proc_info_file_operations = { @@ -788,12 +807,6 @@ static struct inode_operations proc_pid_link_inode_operations = { .follow_link = proc_pid_follow_link }; -static int pid_alive(struct task_struct *p) -{ - BUG_ON(p->pids[PIDTYPE_PID].pidptr != &p->pids[PIDTYPE_PID].pid); - return atomic_read(&p->pids[PIDTYPE_PID].pid.count); -} - #define NUMBUF 10 static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir) @@ -939,7 +952,9 @@ static int task_dumpable(struct task_struct *task) if (mm) dumpable = mm->dumpable; task_unlock(task); - return dumpable; + if(dumpable == 1) + return 1; + return 0; } @@ -1196,7 +1211,6 @@ static ssize_t proc_pid_attr_read(struct file * file, char __user * buf, struct inode * inode = file->f_dentry->d_inode; unsigned long page; ssize_t length; - ssize_t end; struct task_struct *task = proc_task(inode); if (count > PAGE_SIZE) @@ -1207,24 +1221,10 @@ static ssize_t proc_pid_attr_read(struct file * file, char __user * buf, length = security_getprocattr(task, (char*)file->f_dentry->d_name.name, (void*)page, count); - if (length < 0) { - free_page(page); - return length; - } - /* Static 4kB (or whatever) block capacity */ - if (*ppos >= length) { - free_page(page); - return 0; - } - if (count + *ppos > length) - count = length - *ppos; - end = count + *ppos; - if (copy_to_user(buf, (char *) page + *ppos, count)) - count = -EFAULT; - else - *ppos = end; + if (length >= 0) + length = simple_read_from_buffer(buf, count, ppos, (char *)page, length); free_page(page); - return count; + return length; } static ssize_t proc_pid_attr_write(struct file * file, const char __user * buf, @@ -1402,6 +1402,13 @@ static struct dentry *proc_pident_lookup(struct inode *dir, inode->i_fop = &proc_info_file_operations; ei->op.proc_read = proc_pid_wchan; break; +#endif +#ifdef CONFIG_SCHEDSTATS + case PROC_TID_SCHEDSTAT: + case PROC_TGID_SCHEDSTAT: + inode->i_fop = &proc_info_file_operations; + ei->op.proc_read = proc_pid_schedstat; + break; #endif case PROC_TID_VX_INFO: case PROC_TGID_VX_INFO: @@ -1419,6 +1426,13 @@ static struct dentry *proc_pident_lookup(struct inode *dir, inode->i_fop = &proc_info_file_operations; ei->op.proc_read = proc_pid_delay; break; +#endif +#ifdef CONFIG_SCHEDSTATS + case PROC_TID_SCHEDSTAT: + case PROC_TGID_SCHEDSTAT: + inode->i_fop = &proc_info_file_operations; + ei->op.proc_read = proc_pid_schedstat; + break; #endif default: printk("procfs: impossible type (%d)",p->type); @@ -1512,14 +1526,14 @@ static int proc_self_readlink(struct dentry *dentry, char __user *buffer, int buflen) { char tmp[30]; - sprintf(tmp, "%d", current->tgid); + sprintf(tmp, "%d", vx_map_pid(current->tgid)); return vfs_readlink(dentry,buffer,buflen,tmp); } static int proc_self_follow_link(struct dentry *dentry, struct nameidata *nd) { char tmp[30]; - sprintf(tmp, "%d", current->tgid); + sprintf(tmp, "%d", vx_map_pid(current->tgid)); return vfs_follow_link(nd,tmp); } @@ -1602,7 +1616,7 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct d_add(dentry, inode); return NULL; } - tgid = vx_rmap_tgid(current->vx_info, name_to_int(dentry)); + tgid = name_to_int(dentry); if (tgid == ~0U) goto out; @@ -1614,14 +1628,13 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct if (!task) goto out; - inode = NULL; - if (vx_check(vx_task_xid(task), VX_WATCH|VX_IDENT)) - inode = proc_pid_make_inode(dir->i_sb, task, PROC_TGID_INO); + if (!vx_check(vx_task_xid(task), VX_WATCH|VX_IDENT)) + goto out_drop_task; + + inode = proc_pid_make_inode(dir->i_sb, task, PROC_TGID_INO); + if (!inode) + goto out_drop_task; - if (!inode) { - put_task_struct(task); - goto out; - } inode->i_mode = S_IFDIR|S_IRUGO|S_IXUGO; inode->i_op = &proc_tgid_base_inode_operations; inode->i_fop = &proc_tgid_base_operations; @@ -1646,6 +1659,8 @@ struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct goto out; } return NULL; +out_drop_task: + put_task_struct(task); out: return ERR_PTR(-ENOENT); } @@ -1658,11 +1673,11 @@ static struct dentry *proc_task_lookup(struct inode *dir, struct dentry * dentry struct inode *inode; unsigned tid; - tid = vx_rmap_tgid(current->vx_info, name_to_int(dentry)); + tid = name_to_int(dentry); if (tid == ~0U) goto out; - -/* handle fakeinit */ + if (vx_current_initpid(tid)) + goto out; read_lock(&tasklist_lock); task = find_task_by_pid(tid); @@ -1674,12 +1689,13 @@ static struct dentry *proc_task_lookup(struct inode *dir, struct dentry * dentry if (leader->tgid != task->tgid) goto out_drop_task; - inode = NULL; - if (vx_check(vx_task_xid(task), VX_WATCH|VX_IDENT)) - inode = proc_pid_make_inode(dir->i_sb, task, PROC_TID_INO); + if (!vx_check(vx_task_xid(task), VX_WATCH|VX_IDENT)) + goto out_drop_task; + inode = proc_pid_make_inode(dir->i_sb, task, PROC_TID_INO); if (!inode) goto out_drop_task; + inode->i_mode = S_IFDIR|S_IRUGO|S_IXUGO; inode->i_op = &proc_tid_base_inode_operations; inode->i_fop = &proc_tid_base_operations; @@ -1715,8 +1731,8 @@ static int get_tgid_list(int index, unsigned long version, unsigned int *tgids) read_lock(&tasklist_lock); p = NULL; if (version) { - p = find_task_by_pid(version); - if (!thread_group_leader(p)) + p = find_task_by_real_pid(version); + if (p && !thread_group_leader(p)) p = NULL; } @@ -1734,7 +1750,7 @@ static int get_tgid_list(int index, unsigned long version, unsigned int *tgids) continue; if (--index >= 0) continue; - tgids[nr_tgids] = vx_map_tgid(current->vx_info, tgid); + tgids[nr_tgids] = vx_map_tgid(tgid); nr_tgids++; if (nr_tgids >= PROC_MAXPIDS) break; @@ -1768,7 +1784,7 @@ static int get_tid_list(int index, unsigned int *tids, struct inode *dir) continue; if (--index >= 0) continue; - tids[nr_tids] = vx_map_tgid(current->vx_info, tid); + tids[nr_tids] = vx_map_pid(tid); nr_tids++; if (nr_tids >= PROC_MAXPIDS) break; @@ -1784,6 +1800,7 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir) char buf[PROC_NUMBUF]; unsigned int nr = filp->f_pos - FIRST_PROCESS_ENTRY; unsigned int nr_tgids, i; + int next_tgid; if (!nr) { ino_t ino = fake_ino(0,PROC_TGID_INO); @@ -1793,26 +1810,45 @@ int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir) nr++; } - /* - * f_version caches the last tgid which was returned from readdir + /* f_version caches the tgid value that the last readdir call couldn't + * return. lseek aka telldir automagically resets f_version to 0. */ - nr_tgids = get_tgid_list(nr, filp->f_version, tgid_array); + next_tgid = filp->f_version; + filp->f_version = 0; + for (;;) { + nr_tgids = get_tgid_list(nr, next_tgid, tgid_array); + if (!nr_tgids) { + /* no more entries ! */ + break; + } + next_tgid = 0; - for (i = 0; i < nr_tgids; i++) { - int tgid = tgid_array[i]; - ino_t ino = fake_ino(tgid,PROC_TGID_INO); - unsigned long j = PROC_NUMBUF; + /* do not use the last found pid, reserve it for next_tgid */ + if (nr_tgids == PROC_MAXPIDS) { + nr_tgids--; + next_tgid = tgid_array[nr_tgids]; + } - do - buf[--j] = '0' + (tgid % 10); - while ((tgid /= 10) != 0); + for (i=0;if_pos, ino, DT_DIR) < 0) { - filp->f_version = tgid; - break; + do + buf[--j] = '0' + (tgid % 10); + while ((tgid /= 10) != 0); + + if (filldir(dirent, buf+j, PROC_NUMBUF-j, filp->f_pos, ino, DT_DIR) < 0) { + /* returning this tgid failed, save it as the first + * pid for the next readir call */ + filp->f_version = tgid_array[i]; + goto out; + } + filp->f_pos++; + nr++; } - filp->f_pos++; } +out: return 0; } diff --git a/fs/proc/inode.c b/fs/proc/inode.c index bf090daaf..b4d3e5480 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -120,7 +120,7 @@ int __init proc_init_inodecache(void) { proc_inode_cachep = kmem_cache_create("proc_inode_cache", sizeof(struct proc_inode), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (proc_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index f2d7bf0dc..3ee238d29 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c @@ -84,17 +84,32 @@ static int proc_calc_metrics(char *page, char **start, off_t off, static int loadavg_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data) { + unsigned int running, threads; int a, b, c; int len; - a = avenrun[0] + (FIXED_1/200); - b = avenrun[1] + (FIXED_1/200); - c = avenrun[2] + (FIXED_1/200); - len = sprintf(page,"%d.%02d %d.%02d %d.%02d %ld/%d %d\n", + if (vx_flags(VXF_VIRT_LOAD, 0)) { + struct vx_info *vxi = current->vx_info; + + a = vxi->cvirt.load[0] + (FIXED_1/200); + b = vxi->cvirt.load[1] + (FIXED_1/200); + c = vxi->cvirt.load[2] + (FIXED_1/200); + + running = atomic_read(&vxi->cvirt.nr_running); + threads = atomic_read(&vxi->cvirt.nr_threads); + } else { + a = avenrun[0] + (FIXED_1/200); + b = avenrun[1] + (FIXED_1/200); + c = avenrun[2] + (FIXED_1/200); + + running = nr_running(); + threads = nr_threads; + } + len = sprintf(page,"%d.%02d %d.%02d %d.%02d %d/%d %d\n", LOAD_INT(a), LOAD_FRAC(a), LOAD_INT(b), LOAD_FRAC(b), LOAD_INT(c), LOAD_FRAC(c), - nr_running(), nr_threads, last_pid); + running, threads, last_pid); return proc_calc_metrics(page, start, off, count, eof, len); } @@ -424,14 +439,12 @@ int show_stat(struct seq_file *p, void *v) "btime %lu\n" "processes %lu\n" "procs_running %lu\n" - "procs_blocked %lu\n" - "preempt %llu\n", + "procs_blocked %lu\n", nr_context_switches(), (unsigned long)jif, total_forks, nr_running(), - nr_iowait(), - nr_preempt()); + nr_iowait()); return 0; } @@ -549,70 +562,6 @@ static int execdomains_read_proc(char *page, char **start, off_t off, return proc_calc_metrics(page, start, off, count, eof, len); } -/* - * This function accesses profiling information. The returned data is - * binary: the sampling step and the actual contents of the profile - * buffer. Use of the program readprofile is recommended in order to - * get meaningful info out of these data. - */ -static ssize_t -read_profile(struct file *file, char __user *buf, size_t count, loff_t *ppos) -{ - unsigned long p = *ppos; - ssize_t read; - char * pnt; - unsigned int sample_step = 1 << prof_shift; - - if (p >= (prof_len+1)*sizeof(unsigned int)) - return 0; - if (count > (prof_len+1)*sizeof(unsigned int) - p) - count = (prof_len+1)*sizeof(unsigned int) - p; - read = 0; - - while (p < sizeof(unsigned int) && count > 0) { - put_user(*((char *)(&sample_step)+p),buf); - buf++; p++; count--; read++; - } - pnt = (char *)prof_buffer + p - sizeof(unsigned int); - if (copy_to_user(buf,(void *)pnt,count)) - return -EFAULT; - read += count; - *ppos += read; - return read; -} - -/* - * Writing to /proc/profile resets the counters - * - * Writing a 'profiling multiplier' value into it also re-sets the profiling - * interrupt frequency, on architectures that support this. - */ -static ssize_t write_profile(struct file *file, const char __user *buf, - size_t count, loff_t *ppos) -{ -#ifdef CONFIG_SMP - extern int setup_profiling_timer (unsigned int multiplier); - - if (count == sizeof(int)) { - unsigned int multiplier; - - if (copy_from_user(&multiplier, buf, sizeof(int))) - return -EFAULT; - - if (setup_profiling_timer(multiplier)) - return -EINVAL; - } -#endif - - memset(prof_buffer, 0, prof_len * sizeof(*prof_buffer)); - return count; -} - -static struct file_operations proc_profile_operations = { - .read = read_profile, - .write = write_profile, -}; - #ifdef CONFIG_MAGIC_SYSRQ /* * writing 'C' to /proc/sysrq-trigger is like sysrq-C @@ -689,6 +638,9 @@ void __init proc_misc_init(void) #ifdef CONFIG_MODULES create_seq_entry("modules", 0, &proc_modules_operations); #endif +#ifdef CONFIG_SCHEDSTATS + create_seq_entry("schedstat", 0, &proc_schedstat_operations); +#endif #ifdef CONFIG_PROC_KCORE proc_root_kcore = create_proc_entry("kcore", S_IRUSR, NULL); if (proc_root_kcore) { @@ -697,13 +649,6 @@ void __init proc_misc_init(void) (size_t)high_memory - PAGE_OFFSET + PAGE_SIZE; } #endif - if (prof_on) { - entry = create_proc_entry("profile", S_IWUSR | S_IRUGO, NULL); - if (entry) { - entry->proc_fops = &proc_profile_operations; - entry->size = (1+prof_len) * sizeof(unsigned int); - } - } #ifdef CONFIG_MAGIC_SYSRQ entry = create_proc_entry("sysrq-trigger", S_IWUSR, NULL); if (entry) diff --git a/fs/proc/proc_tty.c b/fs/proc/proc_tty.c index a0d4404cc..93cbcbaf6 100644 --- a/fs/proc/proc_tty.c +++ b/fs/proc/proc_tty.c @@ -15,9 +15,6 @@ #include #include -extern struct tty_ldisc ldiscs[]; - - static int tty_ldiscs_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data); @@ -159,12 +156,15 @@ static int tty_ldiscs_read_proc(char *page, char **start, off_t off, int i; int len = 0; off_t begin = 0; - + struct tty_ldisc *ld; + for (i=0; i < NR_LDISCS; i++) { - if (!(ldiscs[i].flags & LDISC_FLAG_DEFINED)) + ld = tty_ldisc_get(i); + if (ld == NULL) continue; len += sprintf(page+len, "%-10s %2d\n", - ldiscs[i].name ? ldiscs[i].name : "???", i); + ld->name ? ld->name : "???", i); + tty_ldisc_put(i); if (len+begin > off+count) break; if (len+begin < off) { diff --git a/fs/proc/root.c b/fs/proc/root.c index 6d8492bc6..34e2c289a 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c @@ -18,7 +18,7 @@ #include #include -struct proc_dir_entry *proc_net, *proc_bus, *proc_root_fs, *proc_root_driver; +struct proc_dir_entry *proc_net, *proc_net_stat, *proc_bus, *proc_root_fs, *proc_root_driver; #ifdef CONFIG_SYSCTL struct proc_dir_entry *proc_sys_root; @@ -56,6 +56,8 @@ void __init proc_root_init(void) } proc_misc_init(); proc_net = proc_mkdir("net", NULL); + proc_net_stat = proc_mkdir("net/stat", NULL); + #ifdef CONFIG_SYSVIPC proc_mkdir("sysvipc", NULL); #endif @@ -151,9 +153,6 @@ struct proc_dir_entry proc_root = { .parent = &proc_root, }; -#ifdef CONFIG_SYSCTL -EXPORT_SYMBOL(proc_sys_root); -#endif EXPORT_SYMBOL(proc_symlink); EXPORT_SYMBOL(proc_mkdir); EXPORT_SYMBOL(create_proc_entry); @@ -161,5 +160,6 @@ EXPORT_SYMBOL(remove_proc_entry); EXPORT_SYMBOL(proc_root); EXPORT_SYMBOL(proc_root_fs); EXPORT_SYMBOL(proc_net); +EXPORT_SYMBOL(proc_net_stat); EXPORT_SYMBOL(proc_bus); EXPORT_SYMBOL(proc_root_driver); diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c index 43301d869..e2ecc4540 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -6,27 +6,11 @@ char *task_mem(struct mm_struct *mm, char *buffer) { - unsigned long data = 0, stack = 0, exec = 0, lib = 0; - struct vm_area_struct *vma; + unsigned long data, text, lib; - down_read(&mm->mmap_sem); - for (vma = mm->mmap; vma; vma = vma->vm_next) { - unsigned long len = (vma->vm_end - vma->vm_start) >> 10; - if (!vma->vm_file) { - data += len; - if (vma->vm_flags & VM_GROWSDOWN) - stack += len; - continue; - } - if (vma->vm_flags & VM_WRITE) - continue; - if (vma->vm_flags & VM_EXEC) { - exec += len; - if (vma->vm_flags & VM_EXECUTABLE) - continue; - lib += len; - } - } + data = mm->total_vm - mm->shared_vm - mm->stack_vm; + text = (mm->end_code - mm->start_code) >> 10; + lib = (mm->exec_vm << (PAGE_SHIFT-10)) - text; buffer += sprintf(buffer, "VmSize:\t%8lu kB\n" "VmLck:\t%8lu kB\n" @@ -42,16 +26,15 @@ char *task_mem(struct mm_struct *mm, char *buffer) "ExecLim:\t%08lx\n" #endif , - mm->total_vm << (PAGE_SHIFT-10), + (mm->total_vm - mm->reserved_vm) << (PAGE_SHIFT-10), mm->locked_vm << (PAGE_SHIFT-10), mm->rss << (PAGE_SHIFT-10), - data - stack, stack, - exec - lib, lib, mm->start_brk, mm->brk, mm->start_stack + data << (PAGE_SHIFT-10), + mm->stack_vm << (PAGE_SHIFT-10), text, lib, mm->start_brk, mm->brk, mm->start_stack #if __i386__ , mm->context.exec_limit #endif ); - up_read(&mm->mmap_sem); return buffer; } @@ -63,28 +46,11 @@ unsigned long task_vsize(struct mm_struct *mm) int task_statm(struct mm_struct *mm, int *shared, int *text, int *data, int *resident) { - struct vm_area_struct *vma; - int size = 0; - + *shared = mm->rss - mm->anon_rss; + *text = (mm->end_code - mm->start_code) >> PAGE_SHIFT; + *data = mm->total_vm - mm->shared_vm; *resident = mm->rss; - for (vma = mm->mmap; vma; vma = vma->vm_next) { - int pages = (vma->vm_end - vma->vm_start) >> PAGE_SHIFT; - - size += pages; - if (is_vm_hugetlb_page(vma)) { - if (!(vma->vm_flags & VM_DONTCOPY)) - *shared += pages; - continue; - } - if (vma->vm_file) - *shared += pages; - if (vma->vm_flags & VM_EXECUTABLE) - *text += pages; - else - *data += pages; - } - - return size; + return mm->total_vm; } static int show_map(struct seq_file *m, void *v) diff --git a/fs/qnx4/inode.c b/fs/qnx4/inode.c index 19b7d5a05..664bb1464 100644 --- a/fs/qnx4/inode.c +++ b/fs/qnx4/inode.c @@ -78,7 +78,7 @@ static void qnx4_write_super(struct super_block *sb) unlock_kernel(); } -static void qnx4_write_inode(struct inode *inode, int unused) +static int qnx4_write_inode(struct inode *inode, int unused) { struct qnx4_inode_entry *raw_inode; int block, ino; @@ -87,12 +87,12 @@ static void qnx4_write_inode(struct inode *inode, int unused) QNX4DEBUG(("qnx4: write inode 1.\n")); if (inode->i_nlink == 0) { - return; + return 0; } if (!ino) { printk("qnx4: bad inode number on dev %s: %d is out of range\n", inode->i_sb->s_id, ino); - return; + return -EIO; } QNX4DEBUG(("qnx4: write inode 2.\n")); block = ino / QNX4_INODES_PER_BLOCK; @@ -101,7 +101,7 @@ static void qnx4_write_inode(struct inode *inode, int unused) printk("qnx4: major problem: unable to read inode from dev " "%s\n", inode->i_sb->s_id); unlock_kernel(); - return; + return -EIO; } raw_inode = ((struct qnx4_inode_entry *) bh->b_data) + (ino % QNX4_INODES_PER_BLOCK); @@ -117,6 +117,7 @@ static void qnx4_write_inode(struct inode *inode, int unused) mark_buffer_dirty(bh); brelse(bh); unlock_kernel(); + return 0; } #endif @@ -544,7 +545,7 @@ static int init_inodecache(void) { qnx4_inode_cachep = kmem_cache_create("qnx4_inode_cache", sizeof(struct qnx4_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (qnx4_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/quota_v2.c b/fs/quota_v2.c index 679d31aca..e12ca82ce 100644 --- a/fs/quota_v2.c +++ b/fs/quota_v2.c @@ -357,7 +357,7 @@ static int do_insert_tree(struct dquot *dquot, uint *treeblk, int depth) struct file *filp = sb_dqopt(dquot->dq_sb)->files[dquot->dq_type]; dqbuf_t buf; int ret = 0, newson = 0, newact = 0; - u32 *ref; + __le32 *ref; uint newblk; if (!(buf = getdqbuf())) @@ -376,14 +376,14 @@ static int do_insert_tree(struct dquot *dquot, uint *treeblk, int depth) goto out_buf; } } - ref = (u32 *)buf; + ref = (__le32 *)buf; newblk = le32_to_cpu(ref[GETIDINDEX(dquot->dq_id, depth)]); if (!newblk) newson = 1; if (depth == V2_DQTREEDEPTH-1) { #ifdef __QUOTA_V2_PARANOIA if (newblk) { - printk(KERN_ERR "VFS: Inserting already present quota entry (block %u).\n", ref[GETIDINDEX(dquot->dq_id, depth)]); + printk(KERN_ERR "VFS: Inserting already present quota entry (block %u).\n", le32_to_cpu(ref[GETIDINDEX(dquot->dq_id, depth)])); ret = -EIO; goto out_buf; } @@ -510,7 +510,7 @@ static int remove_tree(struct dquot *dquot, uint *blk, int depth) dqbuf_t buf = getdqbuf(); int ret = 0; uint newblk; - u32 *ref = (u32 *)buf; + __le32 *ref = (__le32 *)buf; if (!buf) return -ENOMEM; @@ -595,7 +595,7 @@ static loff_t find_tree_dqentry(struct dquot *dquot, uint blk, int depth) struct file *filp = sb_dqopt(dquot->dq_sb)->files[dquot->dq_type]; dqbuf_t buf = getdqbuf(); loff_t ret = 0; - u32 *ref = (u32 *)buf; + __le32 *ref = (__le32 *)buf; if (!buf) return -ENOMEM; diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c index c8e04d6c5..fd4353f2d 100644 --- a/fs/ramfs/inode.c +++ b/fs/ramfs/inode.c @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -39,7 +40,6 @@ static struct super_operations ramfs_ops; static struct address_space_operations ramfs_aops; -static struct file_operations ramfs_file_operations; static struct inode_operations ramfs_file_inode_operations; static struct inode_operations ramfs_dir_inode_operations; @@ -48,7 +48,7 @@ static struct backing_dev_info ramfs_backing_dev_info = { .memory_backed = 1, /* Does not contribute to dirty memory */ }; -static struct inode *ramfs_get_inode(struct super_block *sb, int mode, dev_t dev) +struct inode *ramfs_get_inode(struct super_block *sb, int mode, dev_t dev) { struct inode * inode = new_inode(sb); @@ -146,7 +146,7 @@ static struct address_space_operations ramfs_aops = { .commit_write = simple_commit_write }; -static struct file_operations ramfs_file_operations = { +struct file_operations ramfs_file_operations = { .read = generic_file_read, .write = generic_file_write, .mmap = generic_file_mmap, @@ -199,7 +199,7 @@ static int ramfs_fill_super(struct super_block * sb, void * data, int silent) return 0; } -static struct super_block *ramfs_get_sb(struct file_system_type *fs_type, +struct super_block *ramfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { return get_sb_nodev(fs_type, flags, data, ramfs_fill_super); diff --git a/fs/read_write.c b/fs/read_write.c index 7bf957202..ca32594fc 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -295,6 +295,7 @@ asmlinkage ssize_t sys_read(unsigned int fd, char __user * buf, size_t count) return ret; } +EXPORT_SYMBOL_GPL(sys_read); asmlinkage ssize_t sys_write(unsigned int fd, const char __user * buf, size_t count) { @@ -313,6 +314,8 @@ asmlinkage ssize_t sys_write(unsigned int fd, const char __user * buf, size_t co return ret; } +EXPORT_SYMBOL_GPL(sys_write); + asmlinkage ssize_t sys_pread64(unsigned int fd, char __user *buf, size_t count, loff_t pos) { diff --git a/fs/reiserfs/file.c b/fs/reiserfs/file.c index 11ce15eca..259febfe6 100644 --- a/fs/reiserfs/file.c +++ b/fs/reiserfs/file.c @@ -89,15 +89,16 @@ static int reiserfs_sync_file( ) { struct inode * p_s_inode = p_s_dentry->d_inode; int n_err; - - reiserfs_write_lock(p_s_inode->i_sb); + int barrier_done; if (!S_ISREG(p_s_inode->i_mode)) BUG (); - n_err = sync_mapping_buffers(p_s_inode->i_mapping) ; - reiserfs_commit_for_inode(p_s_inode) ; + reiserfs_write_lock(p_s_inode->i_sb); + barrier_done = reiserfs_commit_for_inode(p_s_inode); reiserfs_write_unlock(p_s_inode->i_sb); + if (barrier_done != 1) + blkdev_issue_flush(p_s_inode->i_sb->s_bdev, NULL); return ( n_err < 0 ) ? -EIO : 0; } @@ -1098,7 +1099,7 @@ ssize_t reiserfs_file_write( struct file *file, /* the file we are going to writ { size_t already_written = 0; // Number of bytes already written to the file. loff_t pos; // Current position in the file. - size_t res; // return value of various functions that we call. + ssize_t res; // return value of various functions that we call. struct inode *inode = file->f_dentry->d_inode; // Inode of the file that we are writing to. /* To simplify coding at this time, we store locked pages in array for now */ @@ -1107,7 +1108,7 @@ ssize_t reiserfs_file_write( struct file *file, /* the file we are going to writ th.t_trans_id = 0; if ( file->f_flags & O_DIRECT) { // Direct IO needs treatment - int result, after_file_end = 0; + ssize_t result, after_file_end = 0; if ( (*ppos + count >= inode->i_size) || (file->f_flags & O_APPEND) ) { /* If we are appending a file, we need to put this savelink in here. If we will crash while doing direct io, finish_unfinished will diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index bf513011e..84166ae69 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c @@ -1514,7 +1514,7 @@ int reiserfs_encode_fh(struct dentry *dentry, __u32 *data, int *lenp, int need_p ** to properly mark inodes for datasync and such, but only actually ** does something when called for a synchronous update. */ -void reiserfs_write_inode (struct inode * inode, int do_sync) { +int reiserfs_write_inode (struct inode * inode, int do_sync) { struct reiserfs_transaction_handle th ; int jbegin_count = 1 ; @@ -1522,7 +1522,7 @@ void reiserfs_write_inode (struct inode * inode, int do_sync) { reiserfs_warning (inode->i_sb, "clm-6005: writing inode %lu on readonly FS", inode->i_ino) ; - return ; + return -EROFS; } /* memory pressure can sometimes initiate write_inode calls with sync == 1, ** these cases are just when the system needs ram, not when the @@ -1536,6 +1536,7 @@ void reiserfs_write_inode (struct inode * inode, int do_sync) { journal_end_sync(&th, inode->i_sb, jbegin_count) ; reiserfs_write_unlock(inode->i_sb); } + return 0; } /* FIXME: no need any more. right? */ diff --git a/fs/reiserfs/ioctl.c b/fs/reiserfs/ioctl.c index 201cf8b88..b090255b3 100644 --- a/fs/reiserfs/ioctl.c +++ b/fs/reiserfs/ioctl.c @@ -65,7 +65,7 @@ int reiserfs_ioctl (struct inode * inode, struct file * filp, unsigned int cmd, if( result ) return result; } - + flags = flags & REISERFS_FL_USER_MODIFYABLE; flags |= oldflags & ~REISERFS_FL_USER_MODIFYABLE; sd_attrs_to_i_attrs( flags, inode ); diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 7ced01070..6f8051f2e 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c @@ -127,6 +127,12 @@ static int reiserfs_clean_and_file_buffer(struct buffer_head *bh) { return 0 ; } +static void disable_barrier(struct super_block *s) +{ + REISERFS_SB(s)->s_mount_opt &= ~(1 << REISERFS_BARRIER_FLUSH); + printk("reiserfs: disabling flush barriers on %s\n", reiserfs_bdevname(s)); +} + static struct reiserfs_bitmap_node * allocate_bitmap_node(struct super_block *p_s_sb) { struct reiserfs_bitmap_node *bn ; @@ -640,6 +646,26 @@ static void submit_ordered_buffer(struct buffer_head *bh) { submit_bh(WRITE, bh) ; } +static int submit_barrier_buffer(struct buffer_head *bh) { + get_bh(bh) ; + bh->b_end_io = reiserfs_end_ordered_io; + clear_buffer_dirty(bh) ; + if (!buffer_uptodate(bh)) + BUG(); + return submit_bh(WRITE_BARRIER, bh) ; +} + +static void check_barrier_completion(struct super_block *s, + struct buffer_head *bh) { + if (buffer_eopnotsupp(bh)) { + clear_buffer_eopnotsupp(bh); + disable_barrier(s); + set_buffer_uptodate(bh); + set_buffer_dirty(bh); + sync_dirty_buffer(bh); + } +} + #define CHUNK_SIZE 32 struct buffer_chunk { struct buffer_head *bh[CHUNK_SIZE]; @@ -909,6 +935,7 @@ static int flush_commit_list(struct super_block *s, struct reiserfs_journal_list int bn ; struct buffer_head *tbh = NULL ; unsigned long trans_id = jl->j_trans_id; + int barrier = 0; reiserfs_check_lock_depth(s, "flush_commit_list") ; @@ -973,7 +1000,20 @@ static int flush_commit_list(struct super_block *s, struct reiserfs_journal_list } atomic_dec(&SB_JOURNAL(s)->j_async_throttle); - /* wait on everything written so far before writing the commit */ + /* wait on everything written so far before writing the commit + * if we are in barrier mode, send the commit down now + */ + barrier = reiserfs_barrier_flush(s); + if (barrier) { + int ret; + lock_buffer(jl->j_commit_bh); + ret = submit_barrier_buffer(jl->j_commit_bh); + if (ret == -EOPNOTSUPP) { + set_buffer_uptodate(jl->j_commit_bh); + disable_barrier(s); + barrier = 0; + } + } for (i = 0 ; i < (jl->j_len + 1) ; i++) { bn = SB_ONDISK_JOURNAL_1st_BLOCK(s) + (jl->j_start + i) % SB_ONDISK_JOURNAL_SIZE(s) ; @@ -995,10 +1035,15 @@ static int flush_commit_list(struct super_block *s, struct reiserfs_journal_list if (atomic_read(&(jl->j_commit_left)) != 1) BUG(); - if (buffer_dirty(jl->j_commit_bh)) - BUG(); - mark_buffer_dirty(jl->j_commit_bh) ; - sync_dirty_buffer(jl->j_commit_bh) ; + if (!barrier) { + if (buffer_dirty(jl->j_commit_bh)) + BUG(); + mark_buffer_dirty(jl->j_commit_bh) ; + sync_dirty_buffer(jl->j_commit_bh) ; + } else + wait_on_buffer(jl->j_commit_bh); + + check_barrier_completion(s, jl->j_commit_bh); if (!buffer_uptodate(jl->j_commit_bh)) { reiserfs_panic(s, "journal-615: buffer write failed\n") ; } @@ -1098,8 +1143,23 @@ static int _update_journal_header_block(struct super_block *p_s_sb, unsigned lon jh->j_last_flush_trans_id = cpu_to_le32(trans_id) ; jh->j_first_unflushed_offset = cpu_to_le32(offset) ; jh->j_mount_id = cpu_to_le32(SB_JOURNAL(p_s_sb)->j_mount_id) ; - set_buffer_dirty(SB_JOURNAL(p_s_sb)->j_header_bh) ; - sync_dirty_buffer(SB_JOURNAL(p_s_sb)->j_header_bh) ; + + if (reiserfs_barrier_flush(p_s_sb)) { + int ret; + lock_buffer(SB_JOURNAL(p_s_sb)->j_header_bh); + ret = submit_barrier_buffer(SB_JOURNAL(p_s_sb)->j_header_bh); + if (ret == -EOPNOTSUPP) { + set_buffer_uptodate(SB_JOURNAL(p_s_sb)->j_header_bh); + disable_barrier(p_s_sb); + goto sync; + } + wait_on_buffer(SB_JOURNAL(p_s_sb)->j_header_bh); + check_barrier_completion(p_s_sb, SB_JOURNAL(p_s_sb)->j_header_bh); + } else { +sync: + set_buffer_dirty(SB_JOURNAL(p_s_sb)->j_header_bh) ; + sync_dirty_buffer(SB_JOURNAL(p_s_sb)->j_header_bh) ; + } if (!buffer_uptodate(SB_JOURNAL(p_s_sb)->j_header_bh)) { reiserfs_warning (p_s_sb, "journal-837: IO error during journal replay"); return -EIO ; @@ -3184,11 +3244,16 @@ void reiserfs_update_inode_transaction(struct inode *inode) { REISERFS_I(inode)->i_trans_id = SB_JOURNAL(inode->i_sb)->j_trans_id ; } -static void __commit_trans_jl(struct inode *inode, unsigned long id, +/* + * returns -1 on error, 0 if no commits/barriers were done and 1 + * if a transaction was actually committed and the barrier was done + */ +static int __commit_trans_jl(struct inode *inode, unsigned long id, struct reiserfs_journal_list *jl) { struct reiserfs_transaction_handle th ; struct super_block *sb = inode->i_sb ; + int ret = 0; /* is it from the current transaction, or from an unknown transaction? */ if (id == SB_JOURNAL(sb)->j_trans_id) { @@ -3210,6 +3275,7 @@ static void __commit_trans_jl(struct inode *inode, unsigned long id, } journal_end_sync(&th, sb, 1) ; + ret = 1; } else { /* this gets tricky, we have to make sure the journal list in @@ -3218,13 +3284,21 @@ static void __commit_trans_jl(struct inode *inode, unsigned long id, */ flush_commit_only: if (journal_list_still_alive(inode->i_sb, id)) { + /* + * we only set ret to 1 when we know for sure + * the barrier hasn't been started yet on the commit + * block. + */ + if (atomic_read(&jl->j_commit_left) > 1) + ret = 1; flush_commit_list(sb, jl, 1) ; } } /* otherwise the list is gone, and long since committed */ + return ret; } -void reiserfs_commit_for_inode(struct inode *inode) { +int reiserfs_commit_for_inode(struct inode *inode) { unsigned long id = REISERFS_I(inode)->i_trans_id; struct reiserfs_journal_list *jl = REISERFS_I(inode)->i_jl; @@ -3237,7 +3311,7 @@ void reiserfs_commit_for_inode(struct inode *inode) { /* jl will be updated in __commit_trans_jl */ } - __commit_trans_jl(inode, id, jl); + return __commit_trans_jl(inode, id, jl); } void reiserfs_restore_prepared_buffer(struct super_block *p_s_sb, diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c index 71eaa0651..3a7f6c64c 100644 --- a/fs/reiserfs/super.c +++ b/fs/reiserfs/super.c @@ -444,7 +444,7 @@ static int init_inodecache(void) { reiserfs_inode_cachep = kmem_cache_create("reiser_inode_cache", sizeof(struct reiserfs_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (reiserfs_inode_cachep == NULL) return -ENOMEM; @@ -549,6 +549,13 @@ static const arg_desc_t logging_mode[] = { {NULL, 0} }; +/* possible values for -o barrier= */ +static const arg_desc_t barrier_mode[] = { + {"none", 1<s_mount_opt &= ~all_barrier; + if (bits & flush) { + REISERFS_SB(s)->s_mount_opt |= flush; + printk("reiserfs: enabling write barrier flush mode\n"); + } else if (bits & none) { + REISERFS_SB(s)->s_mount_opt |= none; + printk("reiserfs: write barriers turned off\n"); + } + } +} + static void handle_attrs( struct super_block *s ) { struct reiserfs_super_block * rs; @@ -855,6 +880,8 @@ static int reiserfs_remount (struct super_block * s, int * mount_flags, char * a safe_mask |= 1 << REISERFS_ATTRS; safe_mask |= 1 << REISERFS_XATTRS_USER; safe_mask |= 1 << REISERFS_POSIXACL; + safe_mask |= 1 << REISERFS_BARRIER_FLUSH; + safe_mask |= 1 << REISERFS_BARRIER_NONE; /* Update the bitmask, taking care to keep * the bits we're not allowed to change here */ @@ -901,6 +928,7 @@ static int reiserfs_remount (struct super_block * s, int * mount_flags, char * a } handle_data_mode(s, mount_options); + handle_barrier_mode(s, mount_options); REISERFS_SB(s)->s_mount_state = sb_umount_state(rs) ; s->s_flags &= ~MS_RDONLY ; /* now it is safe to call journal_begin */ journal_begin(&th, s, 10) ; @@ -1414,6 +1442,9 @@ static int reiserfs_fill_super (struct super_block * s, void * data, int silent) } else { reiserfs_info (s, "using writeback data mode\n"); } + if (reiserfs_barrier_flush(s)) { + printk("reiserfs: using flush barriers\n"); + } // set_device_ro(s->s_dev, 1) ; if( journal_init(s, jdev_name, old_format, commit_max_age) ) { diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index a70801f35..508609ad1 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c @@ -589,8 +589,14 @@ open_file: break; } - inode->i_ctime = CURRENT_TIME; - mark_inode_dirty (inode); + /* We can't mark the inode dirty if it's not hashed. This is the case + * when we're inheriting the default ACL. If we dirty it, the inode + * gets marked dirty, but won't (ever) make it onto the dirty list until + * it's synced explicitly to clear I_DIRTY. This is bad. */ + if (!hlist_unhashed(&inode->i_hash)) { + inode->i_ctime = CURRENT_TIME; + mark_inode_dirty (inode); + } out_filp: up (&xinode->i_sem); @@ -761,6 +767,11 @@ reiserfs_xattr_del (struct inode *inode, const char *name) err = __reiserfs_xattr_del (dir, name, strlen (name)); dput (dir); + if (!err) { + inode->i_ctime = CURRENT_TIME; + mark_inode_dirty (inode); + } + out: return err; } @@ -1240,8 +1251,10 @@ xattr_lookup_poison (struct dentry *dentry, struct qstr *q1, struct qstr *name) name->hash == priv_root->d_name.hash && !memcmp (name->name, priv_root->d_name.name, name->len)) { return -ENOENT; - } - return 0; + } else if (q1->len == name->len && + !memcmp(q1->name, name->name, name->len)) + return 0; + return 1; } static struct dentry_operations xattr_lookup_poison_ops = { diff --git a/fs/select.c b/fs/select.c index 39029ce77..017d484a6 100644 --- a/fs/select.c +++ b/fs/select.c @@ -118,15 +118,11 @@ void __pollwait(struct file *filp, wait_queue_head_t *wait_address, poll_table * } } +#define FDS_IN(fds, n) (fds->in + n) +#define FDS_OUT(fds, n) (fds->out + n) +#define FDS_EX(fds, n) (fds->ex + n) -#define __IN(fds, n) (fds->in + n) -#define __OUT(fds, n) (fds->out + n) -#define __EX(fds, n) (fds->ex + n) -#define __RES_IN(fds, n) (fds->res_in + n) -#define __RES_OUT(fds, n) (fds->res_out + n) -#define __RES_EX(fds, n) (fds->res_ex + n) - -#define BITS(fds, n) (*__IN(fds, n)|*__OUT(fds, n)|*__EX(fds, n)) +#define BITS(fds, n) (*FDS_IN(fds, n)|*FDS_OUT(fds, n)|*FDS_EX(fds, n)) static int max_select_fd(unsigned long n, fd_set_bits *fds) { @@ -272,8 +268,6 @@ int do_select(int n, fd_set_bits *fds, long *timeout) return retval; } -EXPORT_SYMBOL(do_select); - static void *select_bits_alloc(int size) { return kmalloc(6 * size, GFP_KERNEL); @@ -378,9 +372,10 @@ sys_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, s ret = 0; } - set_fd_set(n, inp, fds.res_in); - set_fd_set(n, outp, fds.res_out); - set_fd_set(n, exp, fds.res_ex); + if (set_fd_set(n, inp, fds.res_in) || + set_fd_set(n, outp, fds.res_out) || + set_fd_set(n, exp, fds.res_ex)) + ret = -EFAULT; out: select_bits_free(bits, size); diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c index c8ca98ab2..1001a64b3 100644 --- a/fs/smbfs/inode.c +++ b/fs/smbfs/inode.c @@ -80,7 +80,7 @@ static int init_inodecache(void) { smb_inode_cachep = kmem_cache_create("smb_inode_cache", sizeof(struct smb_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (smb_inode_cachep == NULL) return -ENOMEM; diff --git a/fs/smbfs/proc.c b/fs/smbfs/proc.c index 8096d7492..fc59e4be8 100644 --- a/fs/smbfs/proc.c +++ b/fs/smbfs/proc.c @@ -1427,9 +1427,9 @@ smb_proc_readX_data(struct smb_request *req) * So we must first calculate the amount of padding used by the server. */ data_off -= hdrlen; - if (data_off > SMB_READX_MAX_PAD) { - PARANOIA("offset is larger than max pad!\n"); - PARANOIA("%d > %d\n", data_off, SMB_READX_MAX_PAD); + if (data_off > SMB_READX_MAX_PAD || data_off < 0) { + PARANOIA("offset is larger than SMB_READX_MAX_PAD or negative!\n"); + PARANOIA("%d > %d || %d < 0\n", data_off, SMB_READX_MAX_PAD, data_off); req->rq_rlen = req->rq_bufsize + 1; return; } @@ -2076,6 +2076,8 @@ out: void smb_decode_unix_basic(struct smb_fattr *fattr, char *p) { + u64 size, disk_bytes; + /* FIXME: verify nls support. all is sent as utf8? */ fattr->f_unix = 1; @@ -2093,8 +2095,19 @@ void smb_decode_unix_basic(struct smb_fattr *fattr, char *p) /* 84 L permissions */ /* 92 L link count */ - fattr->f_size = LVAL(p, 0); - fattr->f_blocks = LVAL(p, 8); + size = LVAL(p, 0); + disk_bytes = LVAL(p, 8); + + /* + * Some samba versions round up on-disk byte usage + * to 1MB boundaries, making it useless. When seeing + * that, use the size instead. + */ + if (!(disk_bytes & 0xfffff)) + disk_bytes = size+511; + + fattr->f_size = size; + fattr->f_blocks = disk_bytes >> 9; fattr->f_ctime = smb_ntutc2unixutc(LVAL(p, 16)); fattr->f_atime = smb_ntutc2unixutc(LVAL(p, 24)); fattr->f_mtime = smb_ntutc2unixutc(LVAL(p, 32)); diff --git a/fs/smbfs/request.c b/fs/smbfs/request.c index 563f7a19d..13d100219 100644 --- a/fs/smbfs/request.c +++ b/fs/smbfs/request.c @@ -588,8 +588,18 @@ static int smb_recv_trans2(struct smb_sb_info *server, struct smb_request *req) data_count = WVAL(inbuf, smb_drcnt); /* Modify offset for the split header/buffer we use */ - data_offset -= hdrlen; - parm_offset -= hdrlen; + if (data_count || data_offset) { + if (unlikely(data_offset < hdrlen)) + goto out_bad_data; + else + data_offset -= hdrlen; + } + if (parm_count || parm_offset) { + if (unlikely(parm_offset < hdrlen)) + goto out_bad_parm; + else + parm_offset -= hdrlen; + } if (parm_count == parm_tot && data_count == data_tot) { /* @@ -600,18 +610,22 @@ static int smb_recv_trans2(struct smb_sb_info *server, struct smb_request *req) * response that fits. */ VERBOSE("single trans2 response " - "dcnt=%d, pcnt=%d, doff=%d, poff=%d\n", + "dcnt=%u, pcnt=%u, doff=%u, poff=%u\n", data_count, parm_count, data_offset, parm_offset); req->rq_ldata = data_count; req->rq_lparm = parm_count; req->rq_data = req->rq_buffer + data_offset; req->rq_parm = req->rq_buffer + parm_offset; + if (unlikely(parm_offset + parm_count > req->rq_rlen)) + goto out_bad_parm; + if (unlikely(data_offset + data_count > req->rq_rlen)) + goto out_bad_data; return 0; } VERBOSE("multi trans2 response " - "frag=%d, dcnt=%d, pcnt=%d, doff=%d, poff=%d\n", + "frag=%d, dcnt=%u, pcnt=%u, doff=%u, poff=%u\n", req->rq_fragment, data_count, parm_count, data_offset, parm_offset); @@ -634,16 +648,20 @@ static int smb_recv_trans2(struct smb_sb_info *server, struct smb_request *req) req->rq_trans2buffer = smb_kmalloc(buf_len, GFP_NOFS); if (!req->rq_trans2buffer) goto out_no_mem; + memset(req->rq_trans2buffer, 0, buf_len); req->rq_parm = req->rq_trans2buffer; req->rq_data = req->rq_trans2buffer + parm_tot; - } else if (req->rq_total_data < data_tot || - req->rq_total_parm < parm_tot) + } else if (unlikely(req->rq_total_data < data_tot || + req->rq_total_parm < parm_tot)) goto out_data_grew; - if (parm_disp + parm_count > req->rq_total_parm) + if (unlikely(parm_disp + parm_count > req->rq_total_parm || + parm_offset + parm_count > req->rq_rlen)) goto out_bad_parm; - if (data_disp + data_count > req->rq_total_data) + + if (unlikely(data_disp + data_count > req->rq_total_data || + data_offset + data_count > req->rq_rlen)) goto out_bad_data; inbuf = req->rq_buffer; @@ -657,15 +675,17 @@ static int smb_recv_trans2(struct smb_sb_info *server, struct smb_request *req) * Check whether we've received all of the data. Note that * we use the packet totals -- total lengths might shrink! */ - if (req->rq_ldata >= data_tot && req->rq_lparm >= parm_tot) + if (req->rq_ldata >= data_tot && req->rq_lparm >= parm_tot) { + req->rq_ldata = data_tot; + req->rq_lparm = parm_tot; return 0; + } return 1; out_too_long: - printk(KERN_ERR "smb_trans2: data/param too long, data=%d, parm=%d\n", + printk(KERN_ERR "smb_trans2: data/param too long, data=%u, parm=%u\n", data_tot, parm_tot); - req->rq_errno = -EIO; - goto out; + goto out_EIO; out_no_mem: printk(KERN_ERR "smb_trans2: couldn't allocate data area of %d bytes\n", req->rq_trans2bufsize); @@ -673,16 +693,15 @@ out_no_mem: goto out; out_data_grew: printk(KERN_ERR "smb_trans2: data/params grew!\n"); - req->rq_errno = -EIO; - goto out; + goto out_EIO; out_bad_parm: - printk(KERN_ERR "smb_trans2: invalid parms, disp=%d, cnt=%d, tot=%d\n", - parm_disp, parm_count, parm_tot); - req->rq_errno = -EIO; - goto out; + printk(KERN_ERR "smb_trans2: invalid parms, disp=%u, cnt=%u, tot=%u, ofs=%u\n", + parm_disp, parm_count, parm_tot, parm_offset); + goto out_EIO; out_bad_data: - printk(KERN_ERR "smb_trans2: invalid data, disp=%d, cnt=%d, tot=%d\n", - data_disp, data_count, data_tot); + printk(KERN_ERR "smb_trans2: invalid data, disp=%u, cnt=%u, tot=%u, ofs=%u\n", + data_disp, data_count, data_tot, data_offset); +out_EIO: req->rq_errno = -EIO; out: return req->rq_errno; diff --git a/fs/super.c b/fs/super.c index 37b76d7cf..998fc473e 100644 --- a/fs/super.c +++ b/fs/super.c @@ -118,6 +118,27 @@ int __put_super(struct super_block *sb) return ret; } +/* + * Drop a superblock's refcount. + * Returns non-zero if the superblock is about to be destroyed and + * at least is already removed from super_blocks list, so if we are + * making a loop through super blocks then we need to restart. + * The caller must hold sb_lock. + */ +int __put_super_and_need_restart(struct super_block *sb) +{ + /* check for race with generic_shutdown_super() */ + if (list_empty(&sb->s_list)) { + /* super block is removed, need to restart... */ + __put_super(sb); + return 1; + } + /* can't be the last, since s_list is still in use */ + sb->s_count--; + BUG_ON(sb->s_count == 0); + return 0; +} + /** * put_super - drop a temporary reference to superblock * @s: superblock in question @@ -231,7 +252,8 @@ void generic_shutdown_super(struct super_block *sb) unlock_super(sb); } spin_lock(&sb_lock); - list_del(&sb->s_list); + /* should be initialized for __put_super_and_need_restart() */ + list_del_init(&sb->s_list); list_del(&sb->s_instances); spin_unlock(&sb_lock); up_write(&sb->s_umount); @@ -284,7 +306,7 @@ retry: } s->s_type = type; strlcpy(s->s_id, type->name, sizeof(s->s_id)); - list_add(&s->s_list, super_blocks.prev); + list_add_tail(&s->s_list, &super_blocks); list_add(&s->s_instances, &type->fs_supers); spin_unlock(&sb_lock); get_filesystem(type); diff --git a/fs/sysfs/bin.c b/fs/sysfs/bin.c index d45572510..1ce077888 100644 --- a/fs/sysfs/bin.c +++ b/fs/sysfs/bin.c @@ -17,8 +17,8 @@ static int fill_read(struct dentry *dentry, char *buffer, loff_t off, size_t count) { - struct bin_attribute * attr = dentry->d_fsdata; - struct kobject * kobj = dentry->d_parent->d_fsdata; + struct bin_attribute * attr = to_bin_attr(dentry); + struct kobject * kobj = to_kobj(dentry->d_parent); return attr->read(kobj, buffer, off, count); } @@ -60,8 +60,8 @@ read(struct file * file, char __user * userbuf, size_t count, loff_t * off) static int flush_write(struct dentry *dentry, char *buffer, loff_t offset, size_t count) { - struct bin_attribute *attr = dentry->d_fsdata; - struct kobject *kobj = dentry->d_parent->d_fsdata; + struct bin_attribute *attr = to_bin_attr(dentry); + struct kobject *kobj = to_kobj(dentry->d_parent); return attr->write(kobj, buffer, offset, count); } @@ -95,7 +95,7 @@ static ssize_t write(struct file * file, const char __user * userbuf, static int open(struct inode * inode, struct file * file) { struct kobject *kobj = sysfs_get_kobject(file->f_dentry->d_parent); - struct bin_attribute * attr = file->f_dentry->d_fsdata; + struct bin_attribute * attr = to_bin_attr(file->f_dentry); int error = -EINVAL; if (!kobj || !attr) @@ -130,8 +130,8 @@ static int open(struct inode * inode, struct file * file) static int release(struct inode * inode, struct file * file) { - struct kobject * kobj = file->f_dentry->d_parent->d_fsdata; - struct bin_attribute * attr = file->f_dentry->d_fsdata; + struct kobject * kobj = to_kobj(file->f_dentry->d_parent); + struct bin_attribute * attr = to_bin_attr(file->f_dentry); u8 * buffer = file->private_data; if (kobj) @@ -141,7 +141,7 @@ static int release(struct inode * inode, struct file * file) return 0; } -static struct file_operations bin_fops = { +struct file_operations bin_fops = { .read = read, .write = write, .llseek = generic_file_llseek, @@ -158,31 +158,9 @@ static struct file_operations bin_fops = { int sysfs_create_bin_file(struct kobject * kobj, struct bin_attribute * attr) { - struct dentry * dentry; - struct dentry * parent; - int error = 0; + BUG_ON(!kobj || !kobj->dentry || !attr); - if (!kobj || !attr) - return -EINVAL; - - parent = kobj->dentry; - - down(&parent->d_inode->i_sem); - dentry = sysfs_get_dentry(parent,attr->attr.name); - if (!IS_ERR(dentry)) { - dentry->d_fsdata = (void *)attr; - error = sysfs_create(dentry, - (attr->attr.mode & S_IALLUGO) | S_IFREG, - NULL); - if (!error) { - dentry->d_inode->i_size = attr->size; - dentry->d_inode->i_fop = &bin_fops; - } - dput(dentry); - } else - error = PTR_ERR(dentry); - up(&parent->d_inode->i_sem); - return error; + return sysfs_add_file(kobj->dentry, &attr->attr, SYSFS_KOBJ_BIN_ATTR); } @@ -199,5 +177,5 @@ int sysfs_remove_bin_file(struct kobject * kobj, struct bin_attribute * attr) return 0; } -EXPORT_SYMBOL(sysfs_create_bin_file); -EXPORT_SYMBOL(sysfs_remove_bin_file); +EXPORT_SYMBOL_GPL(sysfs_create_bin_file); +EXPORT_SYMBOL_GPL(sysfs_remove_bin_file); diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index d688117ba..efa640161 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c @@ -12,32 +12,107 @@ DECLARE_RWSEM(sysfs_rename_sem); +static void sysfs_d_iput(struct dentry * dentry, struct inode * inode) +{ + struct sysfs_dirent * sd = dentry->d_fsdata; + + if (sd) { + BUG_ON(sd->s_dentry != dentry); + sd->s_dentry = NULL; + sysfs_put(sd); + } + iput(inode); +} + +static struct dentry_operations sysfs_dentry_ops = { + .d_iput = sysfs_d_iput, +}; + +/* + * Allocates a new sysfs_dirent and links it to the parent sysfs_dirent + */ +static struct sysfs_dirent * sysfs_new_dirent(struct sysfs_dirent * parent_sd, + void * element) +{ + struct sysfs_dirent * sd; + + sd = kmalloc(sizeof(*sd), GFP_KERNEL); + if (!sd) + return NULL; + + memset(sd, 0, sizeof(*sd)); + atomic_set(&sd->s_count, 1); + INIT_LIST_HEAD(&sd->s_children); + list_add(&sd->s_sibling, &parent_sd->s_children); + sd->s_element = element; + + return sd; +} + +int sysfs_make_dirent(struct sysfs_dirent * parent_sd, struct dentry * dentry, + void * element, umode_t mode, int type) +{ + struct sysfs_dirent * sd; + + sd = sysfs_new_dirent(parent_sd, element); + if (!sd) + return -ENOMEM; + + sd->s_mode = mode; + sd->s_type = type; + sd->s_dentry = dentry; + if (dentry) { + dentry->d_fsdata = sysfs_get(sd); + dentry->d_op = &sysfs_dentry_ops; + } + + return 0; +} + static int init_dir(struct inode * inode) { - inode->i_op = &simple_dir_inode_operations; - inode->i_fop = &simple_dir_operations; + inode->i_op = &sysfs_dir_inode_operations; + inode->i_fop = &sysfs_dir_operations; /* directory inodes start off with i_nlink == 2 (for "." entry) */ inode->i_nlink++; return 0; } +static int init_file(struct inode * inode) +{ + inode->i_size = PAGE_SIZE; + inode->i_fop = &sysfs_file_operations; + return 0; +} + +static int init_symlink(struct inode * inode) +{ + inode->i_op = &sysfs_symlink_inode_operations; + return 0; +} static int create_dir(struct kobject * k, struct dentry * p, const char * n, struct dentry ** d) { int error; + umode_t mode = S_IFDIR| S_IRWXU | S_IRUGO | S_IXUGO; down(&p->d_inode->i_sem); *d = sysfs_get_dentry(p,n); if (!IS_ERR(*d)) { - error = sysfs_create(*d, - S_IFDIR| S_IRWXU | S_IRUGO | S_IXUGO, - init_dir); + error = sysfs_create(*d, mode, init_dir); if (!error) { - (*d)->d_fsdata = k; - p->d_inode->i_nlink++; + error = sysfs_make_dirent(p->d_fsdata, *d, k, mode, + SYSFS_DIR); + if (!error) { + p->d_inode->i_nlink++; + (*d)->d_op = &sysfs_dentry_ops; + d_rehash(*d); + } } + if (error && (error != -EEXIST)) + d_drop(*d); dput(*d); } else error = PTR_ERR(*d); @@ -63,8 +138,7 @@ int sysfs_create_dir(struct kobject * kobj) struct dentry * parent; int error = 0; - if (!kobj) - return -EINVAL; + BUG_ON(!kobj); if (kobj->parent) parent = kobj->parent->dentry; @@ -79,12 +153,93 @@ int sysfs_create_dir(struct kobject * kobj) return error; } +/* attaches attribute's sysfs_dirent to the dentry corresponding to the + * attribute file + */ +static int sysfs_attach_attr(struct sysfs_dirent * sd, struct dentry * dentry) +{ + struct attribute * attr = NULL; + struct bin_attribute * bin_attr = NULL; + int (* init) (struct inode *) = NULL; + int error = 0; + + if (sd->s_type & SYSFS_KOBJ_BIN_ATTR) { + bin_attr = sd->s_element; + attr = &bin_attr->attr; + } else { + attr = sd->s_element; + init = init_file; + } + + error = sysfs_create(dentry, (attr->mode & S_IALLUGO) | S_IFREG, init); + if (error) + return error; + + if (bin_attr) { + dentry->d_inode->i_size = bin_attr->size; + dentry->d_inode->i_fop = &bin_fops; + } + dentry->d_op = &sysfs_dentry_ops; + dentry->d_fsdata = sysfs_get(sd); + sd->s_dentry = dentry; + d_rehash(dentry); + + return 0; +} + +static int sysfs_attach_link(struct sysfs_dirent * sd, struct dentry * dentry) +{ + int err = 0; + + err = sysfs_create(dentry, S_IFLNK|S_IRWXUGO, init_symlink); + if (!err) { + dentry->d_op = &sysfs_dentry_ops; + dentry->d_fsdata = sysfs_get(sd); + sd->s_dentry = dentry; + d_rehash(dentry); + } + return err; +} + +static struct dentry * sysfs_lookup(struct inode *dir, struct dentry *dentry, + struct nameidata *nd) +{ + struct sysfs_dirent * parent_sd = dentry->d_parent->d_fsdata; + struct sysfs_dirent * sd; + int err = 0; + + list_for_each_entry(sd, &parent_sd->s_children, s_sibling) { + if (sd->s_type & SYSFS_NOT_PINNED) { + const unsigned char * name = sysfs_get_name(sd); + + if (strcmp(name, dentry->d_name.name)) + continue; + + if (sd->s_type & SYSFS_KOBJ_LINK) + err = sysfs_attach_link(sd, dentry); + else + err = sysfs_attach_attr(sd, dentry); + break; + } + } + + return ERR_PTR(err); +} + +struct inode_operations sysfs_dir_inode_operations = { + .lookup = sysfs_lookup, +}; static void remove_dir(struct dentry * d) { struct dentry * parent = dget(d->d_parent); + struct sysfs_dirent * sd; + down(&parent->d_inode->i_sem); d_delete(d); + sd = d->d_fsdata; + list_del_init(&sd->s_sibling); + sysfs_put(sd); if (d->d_inode) simple_rmdir(parent->d_inode,d); @@ -112,47 +267,22 @@ void sysfs_remove_subdir(struct dentry * d) void sysfs_remove_dir(struct kobject * kobj) { - struct list_head * node; struct dentry * dentry = dget(kobj->dentry); + struct sysfs_dirent * parent_sd = dentry->d_fsdata; + struct sysfs_dirent * sd, * tmp; if (!dentry) return; pr_debug("sysfs %s: removing dir\n",dentry->d_name.name); down(&dentry->d_inode->i_sem); - - spin_lock(&dcache_lock); -restart: - node = dentry->d_subdirs.next; - while (node != &dentry->d_subdirs) { - struct dentry * d = list_entry(node,struct dentry,d_child); - - node = node->next; - pr_debug(" o %s (%d): ",d->d_name.name,atomic_read(&d->d_count)); - if (!d_unhashed(d) && (d->d_inode)) { - d = dget_locked(d); - pr_debug("removing"); - - /** - * Unlink and unhash. - */ - __d_drop(d); - spin_unlock(&dcache_lock); - /* release the target kobject in case of - * a symlink - */ - if (S_ISLNK(d->d_inode->i_mode)) - kobject_put(d->d_fsdata); - - simple_unlink(dentry->d_inode,d); - dput(d); - pr_debug(" done\n"); - spin_lock(&dcache_lock); - /* re-acquired dcache_lock, need to restart */ - goto restart; - } + list_for_each_entry_safe(sd, tmp, &parent_sd->s_children, s_sibling) { + if (!sd->s_element || !(sd->s_type & SYSFS_NOT_PINNED)) + continue; + list_del_init(&sd->s_sibling); + sysfs_drop_dentry(sd, dentry); + sysfs_put(sd); } - spin_unlock(&dcache_lock); up(&dentry->d_inode->i_sem); remove_dir(dentry); @@ -181,10 +311,15 @@ int sysfs_rename_dir(struct kobject * kobj, const char *new_name) new_dentry = sysfs_get_dentry(parent, new_name); if (!IS_ERR(new_dentry)) { if (!new_dentry->d_inode) { - error = kobject_set_name(kobj,new_name); - if (!error) + error = kobject_set_name(kobj, "%s", new_name); + if (!error) { + d_add(new_dentry, NULL); d_move(kobj->dentry, new_dentry); - } + } + else + d_drop(new_dentry); + } else + error = -EEXIST; dput(new_dentry); } up(&parent->d_inode->i_sem); @@ -193,7 +328,145 @@ int sysfs_rename_dir(struct kobject * kobj, const char *new_name) return error; } -EXPORT_SYMBOL(sysfs_create_dir); -EXPORT_SYMBOL(sysfs_remove_dir); -EXPORT_SYMBOL(sysfs_rename_dir); +static int sysfs_dir_open(struct inode *inode, struct file *file) +{ + struct dentry * dentry = file->f_dentry; + struct sysfs_dirent * parent_sd = dentry->d_fsdata; + + down(&dentry->d_inode->i_sem); + file->private_data = sysfs_new_dirent(parent_sd, NULL); + up(&dentry->d_inode->i_sem); + + return file->private_data ? 0 : -ENOMEM; + +} + +static int sysfs_dir_close(struct inode *inode, struct file *file) +{ + struct dentry * dentry = file->f_dentry; + struct sysfs_dirent * cursor = file->private_data; + + down(&dentry->d_inode->i_sem); + list_del_init(&cursor->s_sibling); + up(&dentry->d_inode->i_sem); + + return 0; +} + +/* Relationship between s_mode and the DT_xxx types */ +static inline unsigned char dt_type(struct sysfs_dirent *sd) +{ + return (sd->s_mode >> 12) & 15; +} + +static int sysfs_readdir(struct file * filp, void * dirent, filldir_t filldir) +{ + struct dentry *dentry = filp->f_dentry; + struct sysfs_dirent * parent_sd = dentry->d_fsdata; + struct sysfs_dirent *cursor = filp->private_data; + struct list_head *p, *q = &cursor->s_sibling; + ino_t ino; + int i = filp->f_pos; + + switch (i) { + case 0: + ino = dentry->d_inode->i_ino; + if (filldir(dirent, ".", 1, i, ino, DT_DIR) < 0) + break; + filp->f_pos++; + i++; + /* fallthrough */ + case 1: + ino = parent_ino(dentry); + if (filldir(dirent, "..", 2, i, ino, DT_DIR) < 0) + break; + filp->f_pos++; + i++; + /* fallthrough */ + default: + if (filp->f_pos == 2) { + list_del(q); + list_add(q, &parent_sd->s_children); + } + for (p=q->next; p!= &parent_sd->s_children; p=p->next) { + struct sysfs_dirent *next; + const char * name; + int len; + + next = list_entry(p, struct sysfs_dirent, + s_sibling); + if (!next->s_element) + continue; + + name = sysfs_get_name(next); + len = strlen(name); + if (next->s_dentry) + ino = next->s_dentry->d_inode->i_ino; + else + ino = iunique(sysfs_sb, 2); + + if (filldir(dirent, name, len, filp->f_pos, ino, + dt_type(next)) < 0) + return 0; + + list_del(q); + list_add(q, p); + p = q; + filp->f_pos++; + } + } + return 0; +} + +static loff_t sysfs_dir_lseek(struct file * file, loff_t offset, int origin) +{ + struct dentry * dentry = file->f_dentry; + + down(&dentry->d_inode->i_sem); + switch (origin) { + case 1: + offset += file->f_pos; + case 0: + if (offset >= 0) + break; + default: + up(&file->f_dentry->d_inode->i_sem); + return -EINVAL; + } + if (offset != file->f_pos) { + file->f_pos = offset; + if (file->f_pos >= 2) { + struct sysfs_dirent *sd = dentry->d_fsdata; + struct sysfs_dirent *cursor = file->private_data; + struct list_head *p; + loff_t n = file->f_pos - 2; + + list_del(&cursor->s_sibling); + p = sd->s_children.next; + while (n && p != &sd->s_children) { + struct sysfs_dirent *next; + next = list_entry(p, struct sysfs_dirent, + s_sibling); + if (next->s_element) + n--; + p = p->next; + } + list_add_tail(&cursor->s_sibling, p); + } + } + up(&dentry->d_inode->i_sem); + return offset; +} + +struct file_operations sysfs_dir_operations = { + .open = sysfs_dir_open, + .release = sysfs_dir_close, + .llseek = sysfs_dir_lseek, + .read = generic_read_dir, + .readdir = sysfs_readdir, +}; + +EXPORT_SYMBOL_GPL(sysfs_create_dir); +EXPORT_SYMBOL_GPL(sysfs_remove_dir); +EXPORT_SYMBOL_GPL(sysfs_rename_dir); diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c index 159d99f06..52d2e5a8d 100644 --- a/fs/sysfs/file.c +++ b/fs/sysfs/file.c @@ -6,18 +6,10 @@ #include #include #include +#include #include "sysfs.h" -static struct file_operations sysfs_file_operations; - -static int init_file(struct inode * inode) -{ - inode->i_size = PAGE_SIZE; - inode->i_fop = &sysfs_file_operations; - return 0; -} - #define to_subsys(k) container_of(k,struct subsystem,kset.kobj) #define to_sattr(a) container_of(a,struct subsys_attribute,attr) @@ -62,12 +54,14 @@ struct sysfs_buffer { loff_t pos; char * page; struct sysfs_ops * ops; + struct semaphore sem; + int needs_read_fill; }; /** * fill_read_buffer - allocate and fill buffer from object. - * @file: file pointer. + * @dentry: dentry pointer. * @buffer: data buffer for file. * * Allocate @buffer->page, if it hasn't been already, then call the @@ -75,10 +69,10 @@ struct sysfs_buffer { * data. * This is called only once, on the file's first read. */ -static int fill_read_buffer(struct file * file, struct sysfs_buffer * buffer) +static int fill_read_buffer(struct dentry * dentry, struct sysfs_buffer * buffer) { - struct attribute * attr = file->f_dentry->d_fsdata; - struct kobject * kobj = file->f_dentry->d_parent->d_fsdata; + struct attribute * attr = to_attr(dentry); + struct kobject * kobj = to_kobj(dentry->d_parent); struct sysfs_ops * ops = buffer->ops; int ret = 0; ssize_t count; @@ -89,6 +83,7 @@ static int fill_read_buffer(struct file * file, struct sysfs_buffer * buffer) return -ENOMEM; count = ops->show(kobj,attr,buffer->page); + buffer->needs_read_fill = 0; BUG_ON(count > (ssize_t)PAGE_SIZE); if (count >= 0) buffer->count = count; @@ -115,6 +110,9 @@ static int flush_read_buffer(struct sysfs_buffer * buffer, char __user * buf, { int error; + if (*ppos > buffer->count) + return 0; + if (count > (buffer->count - *ppos)) count = buffer->count - *ppos; @@ -149,13 +147,17 @@ sysfs_read_file(struct file *file, char __user *buf, size_t count, loff_t *ppos) struct sysfs_buffer * buffer = file->private_data; ssize_t retval = 0; - if (!*ppos) { - if ((retval = fill_read_buffer(file,buffer))) - return retval; + down(&buffer->sem); + if (buffer->needs_read_fill) { + if ((retval = fill_read_buffer(file->f_dentry,buffer))) + goto out; } pr_debug("%s: count = %d, ppos = %lld, buf = %s\n", __FUNCTION__,count,*ppos,buffer->page); - return flush_read_buffer(buffer,buf,count,ppos); + retval = flush_read_buffer(buffer,buf,count,ppos); +out: + up(&buffer->sem); + return retval; } @@ -182,6 +184,7 @@ fill_write_buffer(struct sysfs_buffer * buffer, const char __user * buf, size_t if (count >= PAGE_SIZE) count = PAGE_SIZE - 1; error = copy_from_user(buffer->page,buf,count); + buffer->needs_read_fill = 1; return error ? -EFAULT : count; } @@ -197,10 +200,10 @@ fill_write_buffer(struct sysfs_buffer * buffer, const char __user * buf, size_t */ static int -flush_write_buffer(struct file * file, struct sysfs_buffer * buffer, size_t count) +flush_write_buffer(struct dentry * dentry, struct sysfs_buffer * buffer, size_t count) { - struct attribute * attr = file->f_dentry->d_fsdata; - struct kobject * kobj = file->f_dentry->d_parent->d_fsdata; + struct attribute * attr = to_attr(dentry); + struct kobject * kobj = to_kobj(dentry->d_parent); struct sysfs_ops * ops = buffer->ops; return ops->store(kobj,attr,buffer->page,count); @@ -229,18 +232,20 @@ sysfs_write_file(struct file *file, const char __user *buf, size_t count, loff_t { struct sysfs_buffer * buffer = file->private_data; + down(&buffer->sem); count = fill_write_buffer(buffer,buf,count); if (count > 0) - count = flush_write_buffer(file,buffer,count); + count = flush_write_buffer(file->f_dentry,buffer,count); if (count > 0) *ppos += count; + up(&buffer->sem); return count; } static int check_perm(struct inode * inode, struct file * file) { struct kobject *kobj = sysfs_get_kobject(file->f_dentry->d_parent); - struct attribute * attr = file->f_dentry->d_fsdata; + struct attribute * attr = to_attr(file->f_dentry); struct sysfs_buffer * buffer; struct sysfs_ops * ops = NULL; int error = 0; @@ -296,6 +301,8 @@ static int check_perm(struct inode * inode, struct file * file) buffer = kmalloc(sizeof(struct sysfs_buffer),GFP_KERNEL); if (buffer) { memset(buffer,0,sizeof(struct sysfs_buffer)); + init_MUTEX(&buffer->sem); + buffer->needs_read_fill = 1; buffer->ops = ops; file->private_data = buffer; } else @@ -321,13 +328,15 @@ static int sysfs_open_file(struct inode * inode, struct file * filp) static int sysfs_release(struct inode * inode, struct file * filp) { - struct kobject * kobj = filp->f_dentry->d_parent->d_fsdata; - struct attribute * attr = filp->f_dentry->d_fsdata; + struct kobject * kobj = to_kobj(filp->f_dentry->d_parent); + struct attribute * attr = to_attr(filp->f_dentry); + struct module * owner = attr->owner; struct sysfs_buffer * buffer = filp->private_data; if (kobj) kobject_put(kobj); - module_put(attr->owner); + /* After this point, attr should not be accessed. */ + module_put(owner); if (buffer) { if (buffer->page) @@ -337,7 +346,7 @@ static int sysfs_release(struct inode * inode, struct file * filp) return 0; } -static struct file_operations sysfs_file_operations = { +struct file_operations sysfs_file_operations = { .read = sysfs_read_file, .write = sysfs_write_file, .llseek = generic_file_llseek, @@ -346,23 +355,16 @@ static struct file_operations sysfs_file_operations = { }; -int sysfs_add_file(struct dentry * dir, const struct attribute * attr) +int sysfs_add_file(struct dentry * dir, const struct attribute * attr, int type) { - struct dentry * dentry; - int error; + struct sysfs_dirent * parent_sd = dir->d_fsdata; + umode_t mode = (attr->mode & S_IALLUGO) | S_IFREG; + int error = 0; down(&dir->d_inode->i_sem); - dentry = sysfs_get_dentry(dir,attr->name); - if (!IS_ERR(dentry)) { - error = sysfs_create(dentry, - (attr->mode & S_IALLUGO) | S_IFREG, - init_file); - if (!error) - dentry->d_fsdata = (void *)attr; - dput(dentry); - } else - error = PTR_ERR(dentry); + error = sysfs_make_dirent(parent_sd, NULL, (void *) attr, mode, type); up(&dir->d_inode->i_sem); + return error; } @@ -375,9 +377,10 @@ int sysfs_add_file(struct dentry * dir, const struct attribute * attr) int sysfs_create_file(struct kobject * kobj, const struct attribute * attr) { - if (kobj && attr) - return sysfs_add_file(kobj->dentry,attr); - return -EINVAL; + BUG_ON(!kobj || !kobj->dentry || !attr); + + return sysfs_add_file(kobj->dentry, attr, SYSFS_KOBJ_ATTR); + } @@ -409,7 +412,8 @@ int sysfs_update_file(struct kobject * kobj, const struct attribute * attr) */ dput(victim); res = 0; - } + } else + d_drop(victim); /** * Drop the reference acquired from sysfs_get_dentry() above. @@ -436,7 +440,7 @@ void sysfs_remove_file(struct kobject * kobj, const struct attribute * attr) } -EXPORT_SYMBOL(sysfs_create_file); -EXPORT_SYMBOL(sysfs_remove_file); -EXPORT_SYMBOL(sysfs_update_file); +EXPORT_SYMBOL_GPL(sysfs_create_file); +EXPORT_SYMBOL_GPL(sysfs_remove_file); +EXPORT_SYMBOL_GPL(sysfs_update_file); diff --git a/fs/sysfs/group.c b/fs/sysfs/group.c index 61b2462f6..f11ac5ea7 100644 --- a/fs/sysfs/group.c +++ b/fs/sysfs/group.c @@ -31,7 +31,7 @@ static int create_files(struct dentry * dir, int error = 0; for (attr = grp->attrs; *attr && !error; attr++) { - error = sysfs_add_file(dir,*attr); + error = sysfs_add_file(dir, *attr, SYSFS_KOBJ_ATTR); } if (error) remove_files(dir,grp); @@ -45,6 +45,8 @@ int sysfs_create_group(struct kobject * kobj, struct dentry * dir; int error; + BUG_ON(!kobj || !kobj->dentry); + if (grp->name) { error = sysfs_create_subdir(kobj,grp->name,&dir); if (error) @@ -78,5 +80,5 @@ void sysfs_remove_group(struct kobject * kobj, } -EXPORT_SYMBOL(sysfs_create_group); -EXPORT_SYMBOL(sysfs_remove_group); +EXPORT_SYMBOL_GPL(sysfs_create_group); +EXPORT_SYMBOL_GPL(sysfs_remove_group); diff --git a/fs/sysfs/inode.c b/fs/sysfs/inode.c index d0030a4b1..204d071ba 100644 --- a/fs/sysfs/inode.c +++ b/fs/sysfs/inode.c @@ -11,6 +11,8 @@ #include #include #include +#include "sysfs.h" + extern struct super_block * sysfs_sb; static struct address_space_operations sysfs_aops = { @@ -29,8 +31,8 @@ struct inode * sysfs_new_inode(mode_t mode) struct inode * inode = new_inode(sysfs_sb); if (inode) { inode->i_mode = mode; - inode->i_uid = current->fsuid; - inode->i_gid = current->fsgid; + inode->i_uid = 0; + inode->i_gid = 0; inode->i_blksize = PAGE_CACHE_SIZE; inode->i_blocks = 0; inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; @@ -66,18 +68,14 @@ int sysfs_create(struct dentry * dentry, int mode, int (*init)(struct inode *)) error = init(inode); if (!error) { d_instantiate(dentry, inode); - dget(dentry); /* Extra count - pin the dentry in core */ + if (S_ISDIR(mode)) + dget(dentry); /* pin only directory dentry in core */ } else iput(inode); Done: return error; } -int sysfs_mknod(struct inode *dir, struct dentry *dentry, int mode, dev_t dev) -{ - return sysfs_create(dentry, mode, NULL); -} - struct dentry * sysfs_get_dentry(struct dentry * parent, const char * name) { struct qstr qstr; @@ -88,31 +86,74 @@ struct dentry * sysfs_get_dentry(struct dentry * parent, const char * name) return lookup_hash(&qstr,parent); } +/* + * Get the name for corresponding element represented by the given sysfs_dirent + */ +const unsigned char * sysfs_get_name(struct sysfs_dirent *sd) +{ + struct attribute * attr; + struct bin_attribute * bin_attr; + struct sysfs_symlink * sl; + + if (!sd || !sd->s_element) + BUG(); + + switch (sd->s_type) { + case SYSFS_DIR: + /* Always have a dentry so use that */ + return sd->s_dentry->d_name.name; + + case SYSFS_KOBJ_ATTR: + attr = sd->s_element; + return attr->name; + + case SYSFS_KOBJ_BIN_ATTR: + bin_attr = sd->s_element; + return bin_attr->attr.name; + + case SYSFS_KOBJ_LINK: + sl = sd->s_element; + return sl->link_name; + } + return NULL; +} + + +/* + * Unhashes the dentry corresponding to given sysfs_dirent + * Called with parent inode's i_sem held. + */ +void sysfs_drop_dentry(struct sysfs_dirent * sd, struct dentry * parent) +{ + struct dentry * dentry = sd->s_dentry; + + if (dentry) { + spin_lock(&dcache_lock); + if (!(d_unhashed(dentry) && dentry->d_inode)) { + dget_locked(dentry); + __d_drop(dentry); + spin_unlock(&dcache_lock); + simple_unlink(parent->d_inode, dentry); + } else + spin_unlock(&dcache_lock); + } +} + void sysfs_hash_and_remove(struct dentry * dir, const char * name) { - struct dentry * victim; + struct sysfs_dirent * sd; + struct sysfs_dirent * parent_sd = dir->d_fsdata; down(&dir->d_inode->i_sem); - victim = sysfs_get_dentry(dir,name); - if (!IS_ERR(victim)) { - /* make sure dentry is really there */ - if (victim->d_inode && - (victim->d_parent->d_inode == dir->d_inode)) { - pr_debug("sysfs: Removing %s (%d)\n", victim->d_name.name, - atomic_read(&victim->d_count)); - - d_drop(victim); - /* release the target kobject in case of - * a symlink - */ - if (S_ISLNK(victim->d_inode->i_mode)) - kobject_put(victim->d_fsdata); - simple_unlink(dir->d_inode,victim); + list_for_each_entry(sd, &parent_sd->s_children, s_sibling) { + if (!sd->s_element) + continue; + if (!strcmp(sysfs_get_name(sd), name)) { + list_del_init(&sd->s_sibling); + sysfs_drop_dentry(sd, dir); + sysfs_put(sd); + break; } - /* - * Drop reference from sysfs_get_dentry() above. - */ - dput(victim); } up(&dir->d_inode->i_sem); } diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c index 823813ce0..57b699176 100644 --- a/fs/sysfs/mount.c +++ b/fs/sysfs/mount.c @@ -11,6 +11,8 @@ #include "sysfs.h" +/* Random magic number */ +#define SYSFS_MAGIC 0x62656572 struct vfsmount *sysfs_mount; struct super_block * sysfs_sb = NULL; @@ -20,6 +22,13 @@ static struct super_operations sysfs_ops = { .drop_inode = generic_delete_inode, }; +static struct sysfs_dirent sysfs_root = { + .s_sibling = LIST_HEAD_INIT(sysfs_root.s_sibling), + .s_children = LIST_HEAD_INIT(sysfs_root.s_children), + .s_element = NULL, + .s_type = SYSFS_ROOT, +}; + static int sysfs_fill_super(struct super_block *sb, void *data, int silent) { struct inode *inode; @@ -27,14 +36,14 @@ static int sysfs_fill_super(struct super_block *sb, void *data, int silent) sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; - sb->s_magic = SYSFS_SUPER_MAGIC; + sb->s_magic = SYSFS_MAGIC; sb->s_op = &sysfs_ops; sysfs_sb = sb; inode = sysfs_new_inode(S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO); if (inode) { - inode->i_op = &simple_dir_inode_operations; - inode->i_fop = &simple_dir_operations; + inode->i_op = &sysfs_dir_inode_operations; + inode->i_fop = &sysfs_dir_operations; /* directory inodes start off with i_nlink == 2 (for "." entry) */ inode->i_nlink++; } else { @@ -48,6 +57,7 @@ static int sysfs_fill_super(struct super_block *sb, void *data, int silent) iput(inode); return -ENOMEM; } + root->d_fsdata = &sysfs_root; sb->s_root = root; return 0; } diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c index 3169fe516..dfdf70174 100644 --- a/fs/sysfs/symlink.c +++ b/fs/sysfs/symlink.c @@ -9,18 +9,6 @@ #include "sysfs.h" -static struct inode_operations sysfs_symlink_inode_operations = { - .readlink = generic_readlink, - .follow_link = sysfs_follow_link, - .put_link = sysfs_put_link, -}; - -static int init_symlink(struct inode * inode) -{ - inode->i_op = &sysfs_symlink_inode_operations; - return 0; -} - static int object_depth(struct kobject * kobj) { struct kobject * p = kobj; @@ -55,6 +43,36 @@ static void fill_object_path(struct kobject * kobj, char * buffer, int length) } } +static int sysfs_add_link(struct dentry * parent, char * name, struct kobject * target) +{ + struct sysfs_dirent * parent_sd = parent->d_fsdata; + struct sysfs_symlink * sl; + int error = 0; + + error = -ENOMEM; + sl = kmalloc(sizeof(*sl), GFP_KERNEL); + if (!sl) + goto exit1; + + sl->link_name = kmalloc(strlen(name) + 1, GFP_KERNEL); + if (!sl->link_name) + goto exit2; + + strcpy(sl->link_name, name); + sl->target_kobj = kobject_get(target); + + error = sysfs_make_dirent(parent_sd, NULL, sl, S_IFLNK|S_IRWXUGO, + SYSFS_KOBJ_LINK); + if (!error) + return 0; + + kfree(sl->link_name); +exit2: + kfree(sl); +exit1: + return error; +} + /** * sysfs_create_link - create symlink between two objects. * @kobj: object whose directory we're creating the link in. @@ -64,21 +82,12 @@ static void fill_object_path(struct kobject * kobj, char * buffer, int length) int sysfs_create_link(struct kobject * kobj, struct kobject * target, char * name) { struct dentry * dentry = kobj->dentry; - struct dentry * d; int error = 0; + BUG_ON(!kobj || !kobj->dentry || !name); + down(&dentry->d_inode->i_sem); - d = sysfs_get_dentry(dentry,name); - if (!IS_ERR(d)) { - error = sysfs_create(d, S_IFLNK|S_IRWXUGO, init_symlink); - if (!error) - /* - * associate the link dentry with the target kobject - */ - d->d_fsdata = kobject_get(target); - dput(d); - } else - error = PTR_ERR(d); + error = sysfs_add_link(dentry, name, target); up(&dentry->d_inode->i_sem); return error; } @@ -142,7 +151,7 @@ static int sysfs_getlink(struct dentry *dentry, char * path) } -int sysfs_follow_link(struct dentry *dentry, struct nameidata *nd) +static int sysfs_follow_link(struct dentry *dentry, struct nameidata *nd) { int error = -ENOMEM; unsigned long page = get_zeroed_page(GFP_KERNEL); @@ -152,13 +161,20 @@ int sysfs_follow_link(struct dentry *dentry, struct nameidata *nd) return 0; } -void sysfs_put_link(struct dentry *dentry, struct nameidata *nd) +static void sysfs_put_link(struct dentry *dentry, struct nameidata *nd) { char *page = nd_get_link(nd); if (!IS_ERR(page)) free_page((unsigned long)page); } -EXPORT_SYMBOL(sysfs_create_link); -EXPORT_SYMBOL(sysfs_remove_link); +struct inode_operations sysfs_symlink_inode_operations = { + .readlink = generic_readlink, + .follow_link = sysfs_follow_link, + .put_link = sysfs_put_link, +}; + + +EXPORT_SYMBOL_GPL(sysfs_create_link); +EXPORT_SYMBOL_GPL(sysfs_remove_link); diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h index 4a8c21544..f1075824d 100644 --- a/fs/sysfs/sysfs.h +++ b/fs/sysfs/sysfs.h @@ -4,26 +4,91 @@ extern struct vfsmount * sysfs_mount; extern struct inode * sysfs_new_inode(mode_t mode); extern int sysfs_create(struct dentry *, int mode, int (*init)(struct inode *)); +extern int sysfs_make_dirent(struct sysfs_dirent *, struct dentry *, void *, + umode_t, int); extern struct dentry * sysfs_get_dentry(struct dentry *, const char *); -extern int sysfs_add_file(struct dentry * dir, const struct attribute * attr); +extern int sysfs_add_file(struct dentry *, const struct attribute *, int); extern void sysfs_hash_and_remove(struct dentry * dir, const char * name); extern int sysfs_create_subdir(struct kobject *, const char *, struct dentry **); extern void sysfs_remove_subdir(struct dentry *); -extern int sysfs_follow_link(struct dentry *, struct nameidata *); -extern void sysfs_put_link(struct dentry *, struct nameidata *); +extern const unsigned char * sysfs_get_name(struct sysfs_dirent *sd); +extern void sysfs_drop_dentry(struct sysfs_dirent *sd, struct dentry *parent); + extern struct rw_semaphore sysfs_rename_sem; +extern struct super_block * sysfs_sb; +extern struct file_operations sysfs_dir_operations; +extern struct file_operations sysfs_file_operations; +extern struct file_operations bin_fops; +extern struct inode_operations sysfs_dir_inode_operations; +extern struct inode_operations sysfs_symlink_inode_operations; + +struct sysfs_symlink { + char * link_name; + struct kobject * target_kobj; +}; + +static inline struct kobject * to_kobj(struct dentry * dentry) +{ + struct sysfs_dirent * sd = dentry->d_fsdata; + return ((struct kobject *) sd->s_element); +} + +static inline struct attribute * to_attr(struct dentry * dentry) +{ + struct sysfs_dirent * sd = dentry->d_fsdata; + return ((struct attribute *) sd->s_element); +} + +static inline struct bin_attribute * to_bin_attr(struct dentry * dentry) +{ + struct sysfs_dirent * sd = dentry->d_fsdata; + return ((struct bin_attribute *) sd->s_element); +} static inline struct kobject *sysfs_get_kobject(struct dentry *dentry) { struct kobject * kobj = NULL; spin_lock(&dcache_lock); - if (!d_unhashed(dentry)) - kobj = kobject_get(dentry->d_fsdata); + if (!d_unhashed(dentry)) { + struct sysfs_dirent * sd = dentry->d_fsdata; + if (sd->s_type & SYSFS_KOBJ_LINK) { + struct sysfs_symlink * sl = sd->s_element; + kobj = kobject_get(sl->target_kobj); + } else + kobj = kobject_get(sd->s_element); + } spin_unlock(&dcache_lock); return kobj; } + +static inline void release_sysfs_dirent(struct sysfs_dirent * sd) +{ + if (sd->s_type & SYSFS_KOBJ_LINK) { + struct sysfs_symlink * sl = sd->s_element; + kfree(sl->link_name); + kobject_put(sl->target_kobj); + kfree(sl); + } + kfree(sd); +} + +static inline struct sysfs_dirent * sysfs_get(struct sysfs_dirent * sd) +{ + if (sd) { + WARN_ON(!atomic_read(&sd->s_count)); + atomic_inc(&sd->s_count); + } + return sd; +} + +static inline void sysfs_put(struct sysfs_dirent * sd) +{ + if (atomic_dec_and_test(&sd->s_count)) + release_sysfs_dirent(sd); +} + diff --git a/fs/sysv/inode.c b/fs/sysv/inode.c index 2be44b7a9..0530077d9 100644 --- a/fs/sysv/inode.c +++ b/fs/sysv/inode.c @@ -260,13 +260,14 @@ static struct buffer_head * sysv_update_inode(struct inode * inode) return bh; } -void sysv_write_inode(struct inode * inode, int wait) +int sysv_write_inode(struct inode * inode, int wait) { struct buffer_head *bh; lock_kernel(); bh = sysv_update_inode(inode); brelse(bh); unlock_kernel(); + return 0; } int sysv_sync_inode(struct inode * inode) @@ -340,7 +341,7 @@ int __init sysv_init_icache(void) { sysv_inode_cachep = kmem_cache_create("sysv_inode_cache", sizeof(struct sysv_inode_info), 0, - SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (!sysv_inode_cachep) return -ENOMEM; diff --git a/fs/sysv/itree.c b/fs/sysv/itree.c index 490188b38..49d945cf4 100644 --- a/fs/sysv/itree.c +++ b/fs/sysv/itree.c @@ -50,20 +50,20 @@ static int block_to_path(struct inode *inode, long block, int offsets[DEPTH]) return n; } -static inline int block_to_cpu(struct sysv_sb_info *sbi, u32 nr) +static inline int block_to_cpu(struct sysv_sb_info *sbi, sysv_zone_t nr) { return sbi->s_block_base + fs32_to_cpu(sbi, nr); } typedef struct { - u32 *p; - u32 key; + sysv_zone_t *p; + sysv_zone_t key; struct buffer_head *bh; } Indirect; static rwlock_t pointers_lock = RW_LOCK_UNLOCKED; -static inline void add_chain(Indirect *p, struct buffer_head *bh, u32 *v) +static inline void add_chain(Indirect *p, struct buffer_head *bh, sysv_zone_t *v) { p->key = *(p->p = v); p->bh = bh; @@ -76,9 +76,9 @@ static inline int verify_chain(Indirect *from, Indirect *to) return (from > to); } -static inline u32 *block_end(struct buffer_head *bh) +static inline sysv_zone_t *block_end(struct buffer_head *bh) { - return (u32*)((char*)bh->b_data + bh->b_size); + return (sysv_zone_t*)((char*)bh->b_data + bh->b_size); } /* @@ -105,7 +105,7 @@ static Indirect *get_branch(struct inode *inode, goto failure; if (!verify_chain(chain, p)) goto changed; - add_chain(++p, bh, (u32*)bh->b_data + *++offsets); + add_chain(++p, bh, (sysv_zone_t*)bh->b_data + *++offsets); if (!p->key) goto no_block; } @@ -147,7 +147,7 @@ static int alloc_branch(struct inode *inode, lock_buffer(bh); memset(bh->b_data, 0, blocksize); branch[n].bh = bh; - branch[n].p = (u32*) bh->b_data + offsets[n]; + branch[n].p = (sysv_zone_t*) bh->b_data + offsets[n]; *branch[n].p = branch[n].key; set_buffer_uptodate(bh); unlock_buffer(bh); @@ -265,7 +265,7 @@ changed: goto reread; } -static inline int all_zeroes(u32 *p, u32 *q) +static inline int all_zeroes(sysv_zone_t *p, sysv_zone_t *q) { while (p < q) if (*p++) @@ -277,7 +277,7 @@ static Indirect *find_shared(struct inode *inode, int depth, int offsets[], Indirect chain[], - u32 *top) + sysv_zone_t *top) { Indirect *partial, *p; int k, err; @@ -298,7 +298,7 @@ static Indirect *find_shared(struct inode *inode, write_unlock(&pointers_lock); goto no_top; } - for (p=partial; p>chain && all_zeroes((u32*)p->bh->b_data,p->p); p--) + for (p=partial; p>chain && all_zeroes((sysv_zone_t*)p->bh->b_data,p->p); p--) ; /* * OK, we've found the last block that must survive. The rest of our @@ -322,10 +322,10 @@ no_top: return partial; } -static inline void free_data(struct inode *inode, u32 *p, u32 *q) +static inline void free_data(struct inode *inode, sysv_zone_t *p, sysv_zone_t *q) { for ( ; p < q ; p++) { - u32 nr = *p; + sysv_zone_t nr = *p; if (nr) { *p = 0; sysv_free_block(inode->i_sb, nr); @@ -334,7 +334,7 @@ static inline void free_data(struct inode *inode, u32 *p, u32 *q) } } -static void free_branches(struct inode *inode, u32 *p, u32 *q, int depth) +static void free_branches(struct inode *inode, sysv_zone_t *p, sysv_zone_t *q, int depth) { struct buffer_head * bh; struct super_block *sb = inode->i_sb; @@ -342,7 +342,7 @@ static void free_branches(struct inode *inode, u32 *p, u32 *q, int depth) if (depth--) { for ( ; p < q ; p++) { int block; - u32 nr = *p; + sysv_zone_t nr = *p; if (!nr) continue; *p = 0; @@ -350,7 +350,7 @@ static void free_branches(struct inode *inode, u32 *p, u32 *q, int depth) bh = sb_bread(sb, block); if (!bh) continue; - free_branches(inode, (u32*)bh->b_data, + free_branches(inode, (sysv_zone_t*)bh->b_data, block_end(bh), depth); bforget(bh); sysv_free_block(sb, nr); @@ -362,11 +362,11 @@ static void free_branches(struct inode *inode, u32 *p, u32 *q, int depth) void sysv_truncate (struct inode * inode) { - u32 *i_data = SYSV_I(inode)->i_data; + sysv_zone_t *i_data = SYSV_I(inode)->i_data; int offsets[DEPTH]; Indirect chain[DEPTH]; Indirect *partial; - int nr = 0; + sysv_zone_t nr = 0; int n; long iblock; unsigned blocksize; diff --git a/fs/udf/dir.c b/fs/udf/dir.c index 33228f149..82440b731 100644 --- a/fs/udf/dir.c +++ b/fs/udf/dir.c @@ -117,7 +117,7 @@ do_udf_readdir(struct inode * dir, struct file *filp, filldir_t filldir, void *d uint8_t lfi; loff_t size = (udf_ext0_offset(dir) + dir->i_size) >> 2; struct buffer_head * bh = NULL, * tmp, * bha[16]; - lb_addr bloc, eloc; + kernel_lb_addr bloc, eloc; uint32_t extoffset, elen, offset; int i, num; unsigned int dt_type; @@ -237,7 +237,7 @@ do_udf_readdir(struct inode * dir, struct file *filp, filldir_t filldir, void *d } else { - lb_addr tloc = lelb_to_cpu(cfi.icb.extLocation); + kernel_lb_addr tloc = lelb_to_cpu(cfi.icb.extLocation); iblock = udf_get_lb_pblock(dir->i_sb, tloc, 0); flen = udf_get_filename(dir->i_sb, nameptr, fname, lfi); diff --git a/fs/udf/misc.c b/fs/udf/misc.c index 174d7a3ec..fd321f9ac 100644 --- a/fs/udf/misc.c +++ b/fs/udf/misc.c @@ -273,7 +273,7 @@ error_out: } struct buffer_head * -udf_read_ptagged(struct super_block *sb, lb_addr loc, uint32_t offset, uint16_t *ident) +udf_read_ptagged(struct super_block *sb, kernel_lb_addr loc, uint32_t offset, uint16_t *ident) { return udf_read_tagged(sb, udf_get_lb_pblock(sb, loc, offset), loc.logicalBlockNum + offset, ident); @@ -293,8 +293,8 @@ void udf_update_tag(char *data, int length) length -= sizeof(tag); tptr->tagChecksum = 0; - tptr->descCRCLength = le16_to_cpu(length); - tptr->descCRC = le16_to_cpu(udf_crc(data + sizeof(tag), length, 0)); + tptr->descCRCLength = cpu_to_le16(length); + tptr->descCRC = cpu_to_le16(udf_crc(data + sizeof(tag), length, 0)); for (i=0; i<16; i++) if (i != 4) @@ -305,9 +305,9 @@ void udf_new_tag(char *data, uint16_t ident, uint16_t version, uint16_t snum, uint32_t loc, int length) { tag *tptr = (tag *)data; - tptr->tagIdent = le16_to_cpu(ident); - tptr->descVersion = le16_to_cpu(version); - tptr->tagSerialNum = le16_to_cpu(snum); - tptr->tagLocation = le32_to_cpu(loc); + tptr->tagIdent = cpu_to_le16(ident); + tptr->descVersion = cpu_to_le16(version); + tptr->tagSerialNum = cpu_to_le16(snum); + tptr->tagLocation = cpu_to_le32(loc); udf_update_tag(data, length); } diff --git a/fs/udf/namei.c b/fs/udf/namei.c index 86cf34e77..a0e9b733b 100644 --- a/fs/udf/namei.c +++ b/fs/udf/namei.c @@ -119,7 +119,7 @@ int udf_write_fi(struct inode *inode, struct fileIdentDesc *cfi, crc = udf_crc(fibh->ebh->b_data, fibh->eoffset, crc); } - cfi->descTag.descCRC = cpu_to_le32(crc); + cfi->descTag.descCRC = cpu_to_le16(crc); cfi->descTag.descCRCLength = cpu_to_le16(crclen); for (i=0; i<16; i++) @@ -160,7 +160,7 @@ udf_find_entry(struct inode *dir, struct dentry *dentry, uint8_t lfi; uint16_t liu; loff_t size = (udf_ext0_offset(dir) + dir->i_size) >> 2; - lb_addr bloc, eloc; + kernel_lb_addr bloc, eloc; uint32_t extoffset, elen, offset; struct buffer_head *bh = NULL; @@ -314,7 +314,7 @@ udf_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd) /* temporary shorthand for specifying files by inode number */ if (!strncmp(dentry->d_name.name, ".B=", 3) ) { - lb_addr lb = { 0, simple_strtoul(dentry->d_name.name+3, NULL, 0) }; + kernel_lb_addr lb = { 0, simple_strtoul(dentry->d_name.name+3, NULL, 0) }; inode = udf_iget(dir->i_sb, lb); if (!inode) { @@ -360,7 +360,7 @@ udf_add_entry(struct inode *dir, struct dentry *dentry, uint8_t lfi; uint16_t liu; int block; - lb_addr bloc, eloc; + kernel_lb_addr bloc, eloc; uint32_t extoffset, elen, offset; struct buffer_head *bh = NULL; @@ -655,7 +655,7 @@ static int udf_create(struct inode *dir, struct dentry *dentry, int mode, struct } cfi.icb.extLength = cpu_to_le32(inode->i_sb->s_blocksize); cfi.icb.extLocation = cpu_to_lelb(UDF_I_LOCATION(inode)); - *(uint32_t *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = + *(__le32 *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = cpu_to_le32(UDF_I_UNIQUE(inode) & 0x00000000FFFFFFFFUL); udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL); if (UDF_I_ALLOCTYPE(dir) == ICBTAG_FLAG_AD_IN_ICB) @@ -698,7 +698,7 @@ static int udf_mknod(struct inode * dir, struct dentry * dentry, int mode, dev_t } cfi.icb.extLength = cpu_to_le32(inode->i_sb->s_blocksize); cfi.icb.extLocation = cpu_to_lelb(UDF_I_LOCATION(inode)); - *(uint32_t *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = + *(__le32 *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = cpu_to_le32(UDF_I_UNIQUE(inode) & 0x00000000FFFFFFFFUL); udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL); if (UDF_I_ALLOCTYPE(dir) == ICBTAG_FLAG_AD_IN_ICB) @@ -746,7 +746,7 @@ static int udf_mkdir(struct inode * dir, struct dentry * dentry, int mode) inode->i_nlink = 2; cfi.icb.extLength = cpu_to_le32(inode->i_sb->s_blocksize); cfi.icb.extLocation = cpu_to_lelb(UDF_I_LOCATION(dir)); - *(uint32_t *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = + *(__le32 *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = cpu_to_le32(UDF_I_UNIQUE(dir) & 0x00000000FFFFFFFFUL); cfi.fileCharacteristics = FID_FILE_CHAR_DIRECTORY | FID_FILE_CHAR_PARENT; udf_write_fi(inode, &cfi, fi, &fibh, NULL, NULL); @@ -765,7 +765,7 @@ static int udf_mkdir(struct inode * dir, struct dentry * dentry, int mode) } cfi.icb.extLength = cpu_to_le32(inode->i_sb->s_blocksize); cfi.icb.extLocation = cpu_to_lelb(UDF_I_LOCATION(inode)); - *(uint32_t *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = + *(__le32 *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = cpu_to_le32(UDF_I_UNIQUE(inode) & 0x00000000FFFFFFFFUL); cfi.fileCharacteristics |= FID_FILE_CHAR_DIRECTORY; udf_write_fi(dir, &cfi, fi, &fibh, NULL, NULL); @@ -788,7 +788,7 @@ static int empty_dir(struct inode *dir) loff_t f_pos; loff_t size = (udf_ext0_offset(dir) + dir->i_size) >> 2; int block; - lb_addr bloc, eloc; + kernel_lb_addr bloc, eloc; uint32_t extoffset, elen, offset; struct buffer_head *bh = NULL; @@ -861,7 +861,7 @@ static int udf_rmdir(struct inode * dir, struct dentry * dentry) struct inode * inode = dentry->d_inode; struct udf_fileident_bh fibh; struct fileIdentDesc *fi, cfi; - lb_addr tloc; + kernel_lb_addr tloc; retval = -ENOENT; lock_kernel(); @@ -906,7 +906,7 @@ static int udf_unlink(struct inode * dir, struct dentry * dentry) struct udf_fileident_bh fibh; struct fileIdentDesc *fi; struct fileIdentDesc cfi; - lb_addr tloc; + kernel_lb_addr tloc; retval = -ENOENT; lock_kernel(); @@ -971,7 +971,7 @@ static int udf_symlink(struct inode * dir, struct dentry * dentry, const char * if (UDF_I_ALLOCTYPE(inode) != ICBTAG_FLAG_AD_IN_ICB) { struct buffer_head *bh = NULL; - lb_addr bloc, eloc; + kernel_lb_addr bloc, eloc; uint32_t elen, extoffset; block = udf_new_block(inode->i_sb, inode, @@ -1085,7 +1085,7 @@ static int udf_symlink(struct inode * dir, struct dentry * dentry, const char * uint64_t uniqueID; lvhd = (struct logicalVolHeaderDesc *)(UDF_SB_LVID(inode->i_sb)->logicalVolContentsUse); uniqueID = le64_to_cpu(lvhd->uniqueID); - *(uint32_t *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = + *(__le32 *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = cpu_to_le32(uniqueID & 0x00000000FFFFFFFFUL); if (!(++uniqueID & 0x00000000FFFFFFFFUL)) uniqueID += 16; @@ -1142,7 +1142,7 @@ static int udf_link(struct dentry * old_dentry, struct inode * dir, uint64_t uniqueID; lvhd = (struct logicalVolHeaderDesc *)(UDF_SB_LVID(inode->i_sb)->logicalVolContentsUse); uniqueID = le64_to_cpu(lvhd->uniqueID); - *(uint32_t *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = + *(__le32 *)((struct allocDescImpUse *)cfi.icb.impUse)->impUse = cpu_to_le32(uniqueID & 0x00000000FFFFFFFFUL); if (!(++uniqueID & 0x00000000FFFFFFFFUL)) uniqueID += 16; @@ -1178,7 +1178,7 @@ static int udf_rename (struct inode * old_dir, struct dentry * old_dentry, struct fileIdentDesc *ofi = NULL, *nfi = NULL, *dir_fi = NULL, ocfi, ncfi; struct buffer_head *dir_bh = NULL; int retval = -ENOENT; - lb_addr tloc; + kernel_lb_addr tloc; lock_kernel(); if ((ofi = udf_find_entry(old_dir, old_dentry, &ofibh, &ocfi))) @@ -1231,7 +1231,7 @@ static int udf_rename (struct inode * old_dir, struct dentry * old_dentry, } if (!dir_fi) goto end_rename; - tloc = cpu_to_lelb(dir_fi->icb.extLocation); + tloc = lelb_to_cpu(dir_fi->icb.extLocation); if (udf_get_lb_pblock(old_inode->i_sb, tloc, 0) != old_dir->i_ino) goto end_rename; @@ -1277,9 +1277,9 @@ static int udf_rename (struct inode * old_dir, struct dentry * old_dentry, if (dir_fi) { - dir_fi->icb.extLocation = lelb_to_cpu(UDF_I_LOCATION(new_dir)); + dir_fi->icb.extLocation = cpu_to_lelb(UDF_I_LOCATION(new_dir)); udf_update_tag((char *)dir_fi, (sizeof(struct fileIdentDesc) + - cpu_to_le16(dir_fi->lengthOfImpUse) + 3) & ~3); + le16_to_cpu(dir_fi->lengthOfImpUse) + 3) & ~3); if (UDF_I_ALLOCTYPE(old_inode) == ICBTAG_FLAG_AD_IN_ICB) { mark_inode_dirty(old_inode); diff --git a/fs/udf/super.c b/fs/udf/super.c index 54e1ecffa..1865c5a44 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -85,13 +85,13 @@ static void udf_write_super(struct super_block *); static int udf_remount_fs(struct super_block *, int *, char *); static int udf_check_valid(struct super_block *, int, int); static int udf_vrs(struct super_block *sb, int silent); -static int udf_load_partition(struct super_block *, lb_addr *); -static int udf_load_logicalvol(struct super_block *, struct buffer_head *, lb_addr *); -static void udf_load_logicalvolint(struct super_block *, extent_ad); +static int udf_load_partition(struct super_block *, kernel_lb_addr *); +static int udf_load_logicalvol(struct super_block *, struct buffer_head *, kernel_lb_addr *); +static void udf_load_logicalvolint(struct super_block *, kernel_extent_ad); static void udf_find_anchor(struct super_block *); -static int udf_find_fileset(struct super_block *, lb_addr *, lb_addr *); +static int udf_find_fileset(struct super_block *, kernel_lb_addr *, kernel_lb_addr *); static void udf_load_pvoldesc(struct super_block *, struct buffer_head *); -static void udf_load_fileset(struct super_block *, struct buffer_head *, lb_addr *); +static void udf_load_fileset(struct super_block *, struct buffer_head *, kernel_lb_addr *); static void udf_load_partdesc(struct super_block *, struct buffer_head *); static void udf_open_lvid(struct super_block *); static void udf_close_lvid(struct super_block *); @@ -145,7 +145,7 @@ static int init_inodecache(void) { udf_inode_cachep = kmem_cache_create("udf_inode_cache", sizeof(struct udf_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (udf_inode_cachep == NULL) return -ENOMEM; @@ -194,7 +194,6 @@ struct udf_options static int __init init_udf_fs(void) { int err; - printk(KERN_NOTICE "udf: registering filesystem\n"); err = init_inodecache(); if (err) goto out1; @@ -210,7 +209,6 @@ out1: static void __exit exit_udf_fs(void) { - printk(KERN_NOTICE "udf: unregistering filesystem\n"); unregister_filesystem(&udf_fstype); destroy_inodecache(); } @@ -771,7 +769,7 @@ udf_find_anchor(struct super_block *sb) } static int -udf_find_fileset(struct super_block *sb, lb_addr *fileset, lb_addr *root) +udf_find_fileset(struct super_block *sb, kernel_lb_addr *fileset, kernel_lb_addr *root) { struct buffer_head *bh = NULL; long lastblock; @@ -794,7 +792,7 @@ udf_find_fileset(struct super_block *sb, lb_addr *fileset, lb_addr *root) if (!bh) /* Search backwards through the partitions */ { - lb_addr newfileset; + kernel_lb_addr newfileset; return 1; @@ -876,7 +874,7 @@ udf_load_pvoldesc(struct super_block *sb, struct buffer_head *bh) if ( udf_stamp_to_time(&recording, &recording_usec, lets_to_cpu(pvoldesc->recordingDateAndTime)) ) { - timestamp ts; + kernel_timestamp ts; ts = lets_to_cpu(pvoldesc->recordingDateAndTime); udf_debug("recording time %ld/%ld, %04u/%02u/%02u %02u:%02u (%x)\n", recording, recording_usec, @@ -903,7 +901,7 @@ udf_load_pvoldesc(struct super_block *sb, struct buffer_head *bh) } static void -udf_load_fileset(struct super_block *sb, struct buffer_head *bh, lb_addr *root) +udf_load_fileset(struct super_block *sb, struct buffer_head *bh, kernel_lb_addr *root) { struct fileSetDesc *fset; @@ -950,7 +948,7 @@ udf_load_partdesc(struct super_block *sb, struct buffer_head *bh) phd = (struct partitionHeaderDesc *)(p->partitionContentsUse); if (phd->unallocSpaceTable.extLength) { - lb_addr loc = { le32_to_cpu(phd->unallocSpaceTable.extPosition), i }; + kernel_lb_addr loc = { le32_to_cpu(phd->unallocSpaceTable.extPosition), i }; UDF_SB_PARTMAPS(sb)[i].s_uspace.s_table = udf_iget(sb, loc); @@ -976,7 +974,7 @@ udf_load_partdesc(struct super_block *sb, struct buffer_head *bh) udf_debug("partitionIntegrityTable (part %d)\n", i); if (phd->freedSpaceTable.extLength) { - lb_addr loc = { le32_to_cpu(phd->freedSpaceTable.extPosition), i }; + kernel_lb_addr loc = { le32_to_cpu(phd->freedSpaceTable.extPosition), i }; UDF_SB_PARTMAPS(sb)[i].s_fspace.s_table = udf_iget(sb, loc); @@ -1015,7 +1013,7 @@ udf_load_partdesc(struct super_block *sb, struct buffer_head *bh) } static int -udf_load_logicalvol(struct super_block *sb, struct buffer_head * bh, lb_addr *fileset) +udf_load_logicalvol(struct super_block *sb, struct buffer_head * bh, kernel_lb_addr *fileset) { struct logicalVolDesc *lvd; int i, j, offset; @@ -1043,12 +1041,12 @@ udf_load_logicalvol(struct super_block *sb, struct buffer_head * bh, lb_addr *fi struct udfPartitionMap2 *upm2 = (struct udfPartitionMap2 *)&(lvd->partitionMaps[offset]); if (!strncmp(upm2->partIdent.ident, UDF_ID_VIRTUAL, strlen(UDF_ID_VIRTUAL))) { - if (le16_to_cpu(((uint16_t *)upm2->partIdent.identSuffix)[0]) == 0x0150) + if (le16_to_cpu(((__le16 *)upm2->partIdent.identSuffix)[0]) == 0x0150) { UDF_SB_PARTTYPE(sb,i) = UDF_VIRTUAL_MAP15; UDF_SB_PARTFUNC(sb,i) = udf_get_pblock_virt15; } - else if (le16_to_cpu(((uint16_t *)upm2->partIdent.identSuffix)[0]) == 0x0200) + else if (le16_to_cpu(((__le16 *)upm2->partIdent.identSuffix)[0]) == 0x0200) { UDF_SB_PARTTYPE(sb,i) = UDF_VIRTUAL_MAP20; UDF_SB_PARTFUNC(sb,i) = udf_get_pblock_virt20; @@ -1112,7 +1110,7 @@ udf_load_logicalvol(struct super_block *sb, struct buffer_head * bh, lb_addr *fi * */ static void -udf_load_logicalvolint(struct super_block *sb, extent_ad loc) +udf_load_logicalvolint(struct super_block *sb, kernel_extent_ad loc) { struct buffer_head *bh = NULL; uint16_t ident; @@ -1152,7 +1150,7 @@ udf_load_logicalvolint(struct super_block *sb, extent_ad loc) * Written, tested, and released. */ static int -udf_process_sequence(struct super_block *sb, long block, long lastblock, lb_addr *fileset) +udf_process_sequence(struct super_block *sb, long block, long lastblock, kernel_lb_addr *fileset) { struct buffer_head *bh = NULL; struct udf_vds_record vds[VDS_POS_LENGTH]; @@ -1295,7 +1293,7 @@ udf_check_valid(struct super_block *sb, int novrs, int silent) } static int -udf_load_partition(struct super_block *sb, lb_addr *fileset) +udf_load_partition(struct super_block *sb, kernel_lb_addr *fileset) { struct anchorVolDescPtr *anchor; uint16_t ident; @@ -1352,7 +1350,7 @@ udf_load_partition(struct super_block *sb, lb_addr *fileset) case UDF_VIRTUAL_MAP15: case UDF_VIRTUAL_MAP20: { - lb_addr ino; + kernel_lb_addr ino; if (!UDF_SB_LASTBLOCK(sb)) { @@ -1417,7 +1415,7 @@ static void udf_open_lvid(struct super_block *sb) if (UDF_SB_LVIDBH(sb)) { int i; - timestamp cpu_time; + kernel_timestamp cpu_time; UDF_SB_LVIDIU(sb)->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX; UDF_SB_LVIDIU(sb)->impIdent.identSuffix[1] = UDF_OS_ID_LINUX; @@ -1445,7 +1443,7 @@ static void udf_close_lvid(struct super_block *sb) UDF_SB_LVID(sb)->integrityType == LVID_INTEGRITY_TYPE_OPEN) { int i; - timestamp cpu_time; + kernel_timestamp cpu_time; UDF_SB_LVIDIU(sb)->impIdent.identSuffix[0] = UDF_OS_CLASS_UNIX; UDF_SB_LVIDIU(sb)->impIdent.identSuffix[1] = UDF_OS_ID_LINUX; @@ -1457,7 +1455,7 @@ static void udf_close_lvid(struct super_block *sb) UDF_SB_LVIDIU(sb)->minUDFReadRev = cpu_to_le16(UDF_SB_UDFREV(sb)); if (UDF_SB_UDFREV(sb) > le16_to_cpu(UDF_SB_LVIDIU(sb)->minUDFWriteRev)) UDF_SB_LVIDIU(sb)->minUDFWriteRev = cpu_to_le16(UDF_SB_UDFREV(sb)); - UDF_SB_LVID(sb)->integrityType = LVID_INTEGRITY_TYPE_CLOSE; + UDF_SB_LVID(sb)->integrityType = cpu_to_le32(LVID_INTEGRITY_TYPE_CLOSE); UDF_SB_LVID(sb)->descTag.descCRC = cpu_to_le16(udf_crc((char *)UDF_SB_LVID(sb) + sizeof(tag), @@ -1494,7 +1492,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) int i; struct inode *inode=NULL; struct udf_options uopt; - lb_addr rootdir, fileset; + kernel_lb_addr rootdir, fileset; struct udf_sb_info *sbi; uopt.flags = (1 << UDF_FLAG_USE_AD_IN_ICB) | (1 << UDF_FLAG_STRICT); @@ -1587,7 +1585,8 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) if (minUDFReadRev > UDF_MAX_READ_VERSION) { printk("UDF-fs: minUDFReadRev=%x (max is %x)\n", - UDF_SB_LVIDIU(sb)->minUDFReadRev, UDF_MAX_READ_VERSION); + le16_to_cpu(UDF_SB_LVIDIU(sb)->minUDFReadRev), + UDF_MAX_READ_VERSION); goto error_out; } else if (minUDFWriteRev > UDF_MAX_WRITE_VERSION) @@ -1617,7 +1616,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) if (!silent) { - timestamp ts; + kernel_timestamp ts; udf_time_to_stamp(&ts, UDF_SB_RECORDTIME(sb)); udf_info("UDF %s (%s) Mounting volume '%s', timestamp %04u/%02u/%02u %02u:%02u (%x)\n", UDFFS_VERSION, UDFFS_DATE, @@ -1800,7 +1799,7 @@ udf_count_free_bitmap(struct super_block *sb, struct udf_bitmap *bitmap) unsigned int accum = 0; int index; int block = 0, newblock; - lb_addr loc; + kernel_lb_addr loc; uint32_t bytes; uint8_t value; uint8_t *ptr; @@ -1826,7 +1825,7 @@ udf_count_free_bitmap(struct super_block *sb, struct udf_bitmap *bitmap) } bm = (struct spaceBitmapDesc *)bh->b_data; - bytes = bm->numOfBytes; + bytes = le32_to_cpu(bm->numOfBytes); index = sizeof(struct spaceBitmapDesc); /* offset in first block only */ ptr = (uint8_t *)bh->b_data; @@ -1867,7 +1866,7 @@ udf_count_free_table(struct super_block *sb, struct inode * table) { unsigned int accum = 0; uint32_t extoffset, elen; - lb_addr bloc, eloc; + kernel_lb_addr bloc, eloc; int8_t etype; struct buffer_head *bh = NULL; diff --git a/fs/ufs/balloc.c b/fs/ufs/balloc.c index 2e90984b0..9195c9dfa 100644 --- a/fs/ufs/balloc.c +++ b/fs/ufs/balloc.c @@ -28,12 +28,12 @@ #define UFSD(x) #endif -unsigned ufs_add_fragments (struct inode *, unsigned, unsigned, unsigned, int *); -unsigned ufs_alloc_fragments (struct inode *, unsigned, unsigned, unsigned, int *); -unsigned ufs_alloccg_block (struct inode *, struct ufs_cg_private_info *, unsigned, int *); -unsigned ufs_bitmap_search (struct super_block *, struct ufs_cg_private_info *, unsigned, unsigned); +static unsigned ufs_add_fragments (struct inode *, unsigned, unsigned, unsigned, int *); +static unsigned ufs_alloc_fragments (struct inode *, unsigned, unsigned, unsigned, int *); +static unsigned ufs_alloccg_block (struct inode *, struct ufs_cg_private_info *, unsigned, int *); +static unsigned ufs_bitmap_search (struct super_block *, struct ufs_cg_private_info *, unsigned, unsigned); static unsigned char ufs_fragtable_8fpb[], ufs_fragtable_other[]; -void ufs_clusteracct(struct super_block *, struct ufs_cg_private_info *, unsigned, int); +static void ufs_clusteracct(struct super_block *, struct ufs_cg_private_info *, unsigned, int); /* * Free 'count' fragments from fragment number 'fragment' @@ -235,7 +235,7 @@ failed: brelse (bh); \ } -unsigned ufs_new_fragments (struct inode * inode, u32 * p, unsigned fragment, +unsigned ufs_new_fragments (struct inode * inode, __fs32 * p, unsigned fragment, unsigned goal, unsigned count, int * err ) { struct super_block * sb; @@ -393,8 +393,9 @@ unsigned ufs_new_fragments (struct inode * inode, u32 * p, unsigned fragment, return 0; } -unsigned ufs_add_fragments (struct inode * inode, unsigned fragment, - unsigned oldcount, unsigned newcount, int * err) +static unsigned +ufs_add_fragments (struct inode * inode, unsigned fragment, + unsigned oldcount, unsigned newcount, int * err) { struct super_block * sb; struct ufs_sb_private_info * uspi; @@ -411,7 +412,7 @@ unsigned ufs_add_fragments (struct inode * inode, unsigned fragment, count = newcount - oldcount; cgno = ufs_dtog(fragment); - if (UFS_SB(sb)->fs_cs(cgno).cs_nffree < count) + if (fs32_to_cpu(sb, UFS_SB(sb)->fs_cs(cgno).cs_nffree) < count) return 0; if ((ufs_fragnum (fragment) + newcount) > uspi->s_fpb) return 0; @@ -477,7 +478,7 @@ unsigned ufs_add_fragments (struct inode * inode, unsigned fragment, if (fs32_to_cpu(sb, ucg->cg_frsum[k])) \ goto cg_found; -unsigned ufs_alloc_fragments (struct inode * inode, unsigned cgno, +static unsigned ufs_alloc_fragments (struct inode * inode, unsigned cgno, unsigned goal, unsigned count, int * err) { struct super_block * sb; @@ -595,7 +596,7 @@ succed: return result; } -unsigned ufs_alloccg_block (struct inode * inode, +static unsigned ufs_alloccg_block (struct inode * inode, struct ufs_cg_private_info * ucpi, unsigned goal, int * err) { struct super_block * sb; @@ -653,7 +654,7 @@ gotit: return result; } -unsigned ufs_bitmap_search (struct super_block * sb, +static unsigned ufs_bitmap_search (struct super_block * sb, struct ufs_cg_private_info * ucpi, unsigned goal, unsigned count) { struct ufs_sb_private_info * uspi; @@ -724,7 +725,7 @@ unsigned ufs_bitmap_search (struct super_block * sb, return (unsigned)-1; } -void ufs_clusteracct(struct super_block * sb, +static void ufs_clusteracct(struct super_block * sb, struct ufs_cg_private_info * ucpi, unsigned blkno, int cnt) { struct ufs_sb_private_info * uspi; @@ -770,11 +771,11 @@ void ufs_clusteracct(struct super_block * sb, i = back + forw + 1; if (i > uspi->s_contigsumsize) i = uspi->s_contigsumsize; - fs32_add(sb, (u32*)ubh_get_addr(UCPI_UBH, ucpi->c_clustersumoff + (i << 2)), cnt); + fs32_add(sb, (__fs32*)ubh_get_addr(UCPI_UBH, ucpi->c_clustersumoff + (i << 2)), cnt); if (back > 0) - fs32_sub(sb, (u32*)ubh_get_addr(UCPI_UBH, ucpi->c_clustersumoff + (back << 2)), cnt); + fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH, ucpi->c_clustersumoff + (back << 2)), cnt); if (forw > 0) - fs32_sub(sb, (u32*)ubh_get_addr(UCPI_UBH, ucpi->c_clustersumoff + (forw << 2)), cnt); + fs32_sub(sb, (__fs32*)ubh_get_addr(UCPI_UBH, ucpi->c_clustersumoff + (forw << 2)), cnt); } diff --git a/fs/xattr.c b/fs/xattr.c index 24bd5427d..8677d7196 100644 --- a/fs/xattr.c +++ b/fs/xattr.c @@ -5,6 +5,7 @@ Copyright (C) 2001 by Andreas Gruenbacher Copyright (C) 2001 SGI - Silicon Graphics, Inc + Copyright (c) 2004 Red Hat, Inc., James Morris */ #include #include @@ -13,6 +14,7 @@ #include #include #include +#include #include /* @@ -347,3 +349,131 @@ sys_fremovexattr(int fd, char __user *name) fput(f); return error; } + + +static const char * +strcmp_prefix(const char *a, const char *a_prefix) +{ + while (*a_prefix && *a == *a_prefix) { + a++; + a_prefix++; + } + return *a_prefix ? NULL : a; +} + +/* + * In order to implement different sets of xattr operations for each xattr + * prefix with the generic xattr API, a filesystem should create a + * null-terminated array of struct xattr_handler (one for each prefix) and + * hang a pointer to it off of the s_xattr field of the superblock. + * + * The generic_fooxattr() functions will use this list to dispatch xattr + * operations to the correct xattr_handler. + */ +#define for_each_xattr_handler(handlers, handler) \ + for ((handler) = *(handlers)++; \ + (handler) != NULL; \ + (handler) = *(handlers)++) + +/* + * Find the xattr_handler with the matching prefix. + */ +static struct xattr_handler * +xattr_resolve_name(struct xattr_handler **handlers, const char **name) +{ + struct xattr_handler *handler; + + if (!*name) + return NULL; + + for_each_xattr_handler(handlers, handler) { + const char *n = strcmp_prefix(*name, handler->prefix); + if (n) { + *name = n; + break; + } + } + return handler; +} + +/* + * Find the handler for the prefix and dispatch its get() operation. + */ +ssize_t +generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size) +{ + struct xattr_handler *handler; + struct inode *inode = dentry->d_inode; + + handler = xattr_resolve_name(inode->i_sb->s_xattr, &name); + if (!handler) + return -EOPNOTSUPP; + return handler->get(inode, name, buffer, size); +} + +/* + * Combine the results of the list() operation from every xattr_handler in the + * list. + */ +ssize_t +generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size) +{ + struct inode *inode = dentry->d_inode; + struct xattr_handler *handler, **handlers = inode->i_sb->s_xattr; + unsigned int size = 0; + + if (!buffer) { + for_each_xattr_handler(handlers, handler) + size += handler->list(inode, NULL, 0, NULL, 0); + } else { + char *buf = buffer; + + for_each_xattr_handler(handlers, handler) { + size = handler->list(inode, buf, buffer_size, NULL, 0); + if (size > buffer_size) + return -ERANGE; + buf += size; + buffer_size -= size; + } + size = buf - buffer; + } + return size; +} + +/* + * Find the handler for the prefix and dispatch its set() operation. + */ +int +generic_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) +{ + struct xattr_handler *handler; + struct inode *inode = dentry->d_inode; + + if (size == 0) + value = ""; /* empty EA, do not remove */ + handler = xattr_resolve_name(inode->i_sb->s_xattr, &name); + if (!handler) + return -EOPNOTSUPP; + return handler->set(inode, name, value, size, flags); +} + +/* + * Find the handler for the prefix and dispatch its set() operation to remove + * any associated extended attribute. + */ +int +generic_removexattr(struct dentry *dentry, const char *name) +{ + struct xattr_handler *handler; + struct inode *inode = dentry->d_inode; + + handler = xattr_resolve_name(inode->i_sb->s_xattr, &name); + if (!handler) + return -EOPNOTSUPP; + return handler->set(inode, name, NULL, 0, XATTR_REPLACE); +} + +EXPORT_SYMBOL(generic_getxattr); +EXPORT_SYMBOL(generic_listxattr); +EXPORT_SYMBOL(generic_setxattr); +EXPORT_SYMBOL(generic_removexattr); diff --git a/fs/xfs/Makefile b/fs/xfs/Makefile index 09f81b379..bb714c1dc 100644 --- a/fs/xfs/Makefile +++ b/fs/xfs/Makefile @@ -67,10 +67,9 @@ endif xfs-$(CONFIG_XFS_RT) += xfs_rtalloc.o xfs-$(CONFIG_XFS_POSIX_ACL) += xfs_acl.o -xfs-$(CONFIG_XFS_POSIX_CAP) += xfs_cap.o -xfs-$(CONFIG_XFS_POSIX_MAC) += xfs_mac.o xfs-$(CONFIG_PROC_FS) += linux-2.6/xfs_stats.o xfs-$(CONFIG_SYSCTL) += linux-2.6/xfs_sysctl.o +xfs-$(CONFIG_COMPAT) += linux-2.6/xfs_ioctl32.o xfs-y += xfs_alloc.o \ diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/xfs_ioctl.c index 5c5a9a7f6..74c17f662 100644 --- a/fs/xfs/linux-2.6/xfs_ioctl.c +++ b/fs/xfs/linux-2.6/xfs_ioctl.c @@ -72,14 +72,6 @@ #include #include -/* - * ioctl commands that are used by Linux filesystems - */ -#define XFS_IOC_GETXFLAGS _IOR('f', 1, long) -#define XFS_IOC_SETXFLAGS _IOW('f', 2, long) -#define XFS_IOC_GETVERSION _IOR('v', 1, long) - - /* * xfs_find_handle maps from userspace xfs_fsop_handlereq structure to * a file or fs handle. @@ -94,7 +86,7 @@ STATIC int xfs_find_handle( unsigned int cmd, - unsigned long arg) + void __user *arg) { int hsize; xfs_handle_t handle; @@ -102,7 +94,7 @@ xfs_find_handle( struct inode *inode; struct vnode *vp; - if (copy_from_user(&hreq, (xfs_fsop_handlereq_t *)arg, sizeof(hreq))) + if (copy_from_user(&hreq, arg, sizeof(hreq))) return -XFS_ERROR(EFAULT); memset((char *)&handle, 0, sizeof(handle)); @@ -113,7 +105,7 @@ xfs_find_handle( struct nameidata nd; int error; - error = user_path_walk_link(hreq.path, &nd); + error = user_path_walk_link((const char __user *)hreq.path, &nd); if (error) return error; @@ -185,7 +177,7 @@ xfs_find_handle( } /* now copy our handle into the user buffer & write out the size */ - if (copy_to_user((xfs_handle_t *)hreq.ohandle, &handle, hsize) || + if (copy_to_user(hreq.ohandle, &handle, hsize) || copy_to_user(hreq.ohandlen, &hsize, sizeof(__s32))) { iput(inode); return -XFS_ERROR(EFAULT); @@ -211,14 +203,14 @@ xfs_vget_fsop_handlereq( xfs_mount_t *mp, struct inode *parinode, /* parent inode pointer */ int cap, /* capability level for op */ - unsigned long arg, /* userspace data pointer */ + void __user *arg, /* userspace data pointer */ unsigned long size, /* size of expected struct */ /* output arguments */ xfs_fsop_handlereq_t *hreq, vnode_t **vp, struct inode **inode) { - void *hanp; + void __user *hanp; size_t hlen; xfs_fid_t *xfid; xfs_handle_t *handlep; @@ -243,7 +235,7 @@ xfs_vget_fsop_handlereq( * Copy the handle down from the user and validate * that it looks to be in the correct format. */ - if (copy_from_user(hreq, (struct xfs_fsop_handlereq *)arg, size)) + if (copy_from_user(hreq, arg, size)) return XFS_ERROR(EFAULT); hanp = hreq->ihandle; @@ -300,7 +292,7 @@ xfs_vget_fsop_handlereq( STATIC int xfs_open_by_handle( xfs_mount_t *mp, - unsigned long arg, + void __user *arg, struct file *parfilp, struct inode *parinode) { @@ -383,7 +375,7 @@ xfs_open_by_handle( STATIC int xfs_readlink_by_handle( xfs_mount_t *mp, - unsigned long arg, + void __user *arg, struct file *parfilp, struct inode *parinode) { @@ -429,7 +421,7 @@ xfs_readlink_by_handle( STATIC int xfs_fssetdm_by_handle( xfs_mount_t *mp, - unsigned long arg, + void __user *arg, struct file *parfilp, struct inode *parinode) { @@ -469,7 +461,7 @@ xfs_fssetdm_by_handle( STATIC int xfs_attrlist_by_handle( xfs_mount_t *mp, - unsigned long arg, + void __user *arg, struct file *parfilp, struct inode *parinode) { @@ -498,7 +490,7 @@ xfs_attrlist_by_handle( STATIC int xfs_attrmulti_by_handle( xfs_mount_t *mp, - unsigned long arg, + void __user *arg, struct file *parfilp, struct inode *parinode) { @@ -577,23 +569,23 @@ xfs_ioc_space( struct file *filp, int flags, unsigned int cmd, - unsigned long arg); + void __user *arg); STATIC int xfs_ioc_bulkstat( xfs_mount_t *mp, unsigned int cmd, - unsigned long arg); + void __user *arg); STATIC int xfs_ioc_fsgeometry_v1( xfs_mount_t *mp, - unsigned long arg); + void __user *arg); STATIC int xfs_ioc_fsgeometry( xfs_mount_t *mp, - unsigned long arg); + void __user *arg); STATIC int xfs_ioc_xattr( @@ -601,7 +593,7 @@ xfs_ioc_xattr( xfs_inode_t *ip, struct file *filp, unsigned int cmd, - unsigned long arg); + void __user *arg); STATIC int xfs_ioc_getbmap( @@ -609,12 +601,12 @@ xfs_ioc_getbmap( struct file *filp, int flags, unsigned int cmd, - unsigned long arg); + void __user *arg); STATIC int xfs_ioc_getbmapx( bhv_desc_t *bdp, - unsigned long arg); + void __user *arg); int xfs_ioctl( @@ -623,7 +615,7 @@ xfs_ioctl( struct file *filp, int ioflags, unsigned int cmd, - unsigned long arg) + void __user *arg) { int error; vnode_t *vp; @@ -667,7 +659,7 @@ xfs_ioctl( /* The size dio will do in one go */ da.d_maxiosz = 64 * PAGE_CACHE_SIZE; - if (copy_to_user((struct dioattr *)arg, &da, sizeof(da))) + if (copy_to_user(arg, &da, sizeof(da))) return -XFS_ERROR(EFAULT); return 0; } @@ -694,7 +686,7 @@ xfs_ioctl( case XFS_IOC_FSSETDM: { struct fsdmidata dmi; - if (copy_from_user(&dmi, (struct fsdmidata *)arg, sizeof(dmi))) + if (copy_from_user(&dmi, arg, sizeof(dmi))) return -XFS_ERROR(EFAULT); error = xfs_set_dmattrs(bdp, dmi.fsd_dmevmask, dmi.fsd_dmstate, @@ -730,7 +722,7 @@ xfs_ioctl( return xfs_attrmulti_by_handle(mp, arg, filp, inode); case XFS_IOC_SWAPEXT: { - error = xfs_swapext((struct xfs_swapext *)arg); + error = xfs_swapext((struct xfs_swapext __user *)arg); return -error; } @@ -741,7 +733,7 @@ xfs_ioctl( if (error) return -error; - if (copy_to_user((char *)arg, &out, sizeof(out))) + if (copy_to_user(arg, &out, sizeof(out))) return -XFS_ERROR(EFAULT); return 0; } @@ -753,7 +745,7 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (copy_from_user(&inout, (char *)arg, sizeof(inout))) + if (copy_from_user(&inout, arg, sizeof(inout))) return -XFS_ERROR(EFAULT); /* input parameter is passed in resblks field of structure */ @@ -762,7 +754,7 @@ xfs_ioctl( if (error) return -error; - if (copy_to_user((char *)arg, &inout, sizeof(inout))) + if (copy_to_user(arg, &inout, sizeof(inout))) return -XFS_ERROR(EFAULT); return 0; } @@ -777,7 +769,7 @@ xfs_ioctl( if (error) return -error; - if (copy_to_user((char *)arg, &out, sizeof(out))) + if (copy_to_user(arg, &out, sizeof(out))) return -XFS_ERROR(EFAULT); return 0; @@ -789,7 +781,7 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (copy_from_user(&in, (char *)arg, sizeof(in))) + if (copy_from_user(&in, arg, sizeof(in))) return -XFS_ERROR(EFAULT); error = xfs_growfs_data(mp, &in); @@ -802,7 +794,7 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (copy_from_user(&in, (char *)arg, sizeof(in))) + if (copy_from_user(&in, arg, sizeof(in))) return -XFS_ERROR(EFAULT); error = xfs_growfs_log(mp, &in); @@ -815,7 +807,7 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (copy_from_user(&in, (char *)arg, sizeof(in))) + if (copy_from_user(&in, arg, sizeof(in))) return -XFS_ERROR(EFAULT); error = xfs_growfs_rt(mp, &in); @@ -826,13 +818,15 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - freeze_bdev(inode->i_sb->s_bdev); + if (inode->i_sb->s_frozen == SB_UNFROZEN) + freeze_bdev(inode->i_sb->s_bdev); return 0; case XFS_IOC_THAW: if (!capable(CAP_SYS_ADMIN)) return -EPERM; - thaw_bdev(inode->i_sb->s_bdev, inode->i_sb); + if (inode->i_sb->s_frozen != SB_UNFROZEN) + thaw_bdev(inode->i_sb->s_bdev, inode->i_sb); return 0; case XFS_IOC_GOINGDOWN: { @@ -841,7 +835,7 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (get_user(in, (__uint32_t *)arg)) + if (get_user(in, (__uint32_t __user *)arg)) return -XFS_ERROR(EFAULT); error = xfs_fs_goingdown(mp, in); @@ -854,7 +848,7 @@ xfs_ioctl( if (!capable(CAP_SYS_ADMIN)) return -EPERM; - if (copy_from_user(&in, (char *)arg, sizeof(in))) + if (copy_from_user(&in, arg, sizeof(in))) return -XFS_ERROR(EFAULT); error = xfs_errortag_add(in.errtag, mp); @@ -880,7 +874,7 @@ xfs_ioc_space( struct file *filp, int ioflags, unsigned int cmd, - unsigned long arg) + void __user *arg) { xfs_flock64_t bf; int attr_flags = 0; @@ -895,7 +889,7 @@ xfs_ioc_space( if (vp->v_type != VREG) return -XFS_ERROR(EINVAL); - if (copy_from_user(&bf, (xfs_flock64_t *)arg, sizeof(bf))) + if (copy_from_user(&bf, arg, sizeof(bf))) return -XFS_ERROR(EFAULT); if (filp->f_flags & (O_NDELAY|O_NONBLOCK)) @@ -912,7 +906,7 @@ STATIC int xfs_ioc_bulkstat( xfs_mount_t *mp, unsigned int cmd, - unsigned long arg) + void __user *arg) { xfs_fsop_bulkreq_t bulkreq; int count; /* # of records returned */ @@ -929,12 +923,10 @@ xfs_ioc_bulkstat( if (XFS_FORCED_SHUTDOWN(mp)) return -XFS_ERROR(EIO); - if (copy_from_user(&bulkreq, (xfs_fsop_bulkreq_t *)arg, - sizeof(xfs_fsop_bulkreq_t))) + if (copy_from_user(&bulkreq, arg, sizeof(xfs_fsop_bulkreq_t))) return -XFS_ERROR(EFAULT); - if (copy_from_user(&inlast, (__s64 *)bulkreq.lastip, - sizeof(__s64))) + if (copy_from_user(&inlast, bulkreq.lastip, sizeof(__s64))) return -XFS_ERROR(EFAULT); if ((count = bulkreq.icount) <= 0) @@ -963,12 +955,11 @@ xfs_ioc_bulkstat( return -error; if (bulkreq.ocount != NULL) { - if (copy_to_user((xfs_ino_t *)bulkreq.lastip, &inlast, + if (copy_to_user(bulkreq.lastip, &inlast, sizeof(xfs_ino_t))) return -XFS_ERROR(EFAULT); - if (copy_to_user((__s32 *)bulkreq.ocount, &count, - sizeof(count))) + if (copy_to_user(bulkreq.ocount, &count, sizeof(count))) return -XFS_ERROR(EFAULT); } @@ -978,7 +969,7 @@ xfs_ioc_bulkstat( STATIC int xfs_ioc_fsgeometry_v1( xfs_mount_t *mp, - unsigned long arg) + void __user *arg) { xfs_fsop_geom_v1_t fsgeo; int error; @@ -987,7 +978,7 @@ xfs_ioc_fsgeometry_v1( if (error) return -error; - if (copy_to_user((xfs_fsop_geom_t *)arg, &fsgeo, sizeof(fsgeo))) + if (copy_to_user(arg, &fsgeo, sizeof(fsgeo))) return -XFS_ERROR(EFAULT); return 0; } @@ -995,7 +986,7 @@ xfs_ioc_fsgeometry_v1( STATIC int xfs_ioc_fsgeometry( xfs_mount_t *mp, - unsigned long arg) + void __user *arg) { xfs_fsop_geom_t fsgeo; int error; @@ -1004,7 +995,7 @@ xfs_ioc_fsgeometry( if (error) return -error; - if (copy_to_user((xfs_fsop_geom_t *)arg, &fsgeo, sizeof(fsgeo))) + if (copy_to_user(arg, &fsgeo, sizeof(fsgeo))) return -XFS_ERROR(EFAULT); return 0; } @@ -1078,7 +1069,7 @@ xfs_ioc_xattr( xfs_inode_t *ip, struct file *filp, unsigned int cmd, - unsigned long arg) + void __user *arg) { struct fsxattr fa; vattr_t va; @@ -1098,13 +1089,13 @@ xfs_ioc_xattr( fa.fsx_extsize = va.va_extsize; fa.fsx_nextents = va.va_nextents; - if (copy_to_user((struct fsxattr *)arg, &fa, sizeof(fa))) + if (copy_to_user(arg, &fa, sizeof(fa))) return -XFS_ERROR(EFAULT); return 0; } case XFS_IOC_FSSETXATTR: { - if (copy_from_user(&fa, (struct fsxattr *)arg, sizeof(fa))) + if (copy_from_user(&fa, arg, sizeof(fa))) return -XFS_ERROR(EFAULT); attr_flags = 0; @@ -1131,20 +1122,20 @@ xfs_ioc_xattr( fa.fsx_extsize = va.va_extsize; fa.fsx_nextents = va.va_anextents; - if (copy_to_user((struct fsxattr *)arg, &fa, sizeof(fa))) + if (copy_to_user(arg, &fa, sizeof(fa))) return -XFS_ERROR(EFAULT); return 0; } case XFS_IOC_GETXFLAGS: { flags = xfs_di2lxflags(ip->i_d.di_flags); - if (copy_to_user((unsigned int *)arg, &flags, sizeof(flags))) + if (copy_to_user(arg, &flags, sizeof(flags))) return -XFS_ERROR(EFAULT); return 0; } case XFS_IOC_SETXFLAGS: { - if (copy_from_user(&flags, (unsigned int *)arg, sizeof(flags))) + if (copy_from_user(&flags, arg, sizeof(flags))) return -XFS_ERROR(EFAULT); if (flags & ~(LINUX_XFLAG_IMMUTABLE | LINUX_XFLAG_APPEND | \ @@ -1168,7 +1159,7 @@ xfs_ioc_xattr( case XFS_IOC_GETVERSION: { flags = LINVFS_GET_IP(vp)->i_generation; - if (copy_to_user((unsigned int *)arg, &flags, sizeof(flags))) + if (copy_to_user(arg, &flags, sizeof(flags))) return -XFS_ERROR(EFAULT); return 0; } @@ -1184,13 +1175,13 @@ xfs_ioc_getbmap( struct file *filp, int ioflags, unsigned int cmd, - unsigned long arg) + void __user *arg) { struct getbmap bm; int iflags; int error; - if (copy_from_user(&bm, (struct getbmap *)arg, sizeof(bm))) + if (copy_from_user(&bm, arg, sizeof(bm))) return -XFS_ERROR(EFAULT); if (bm.bmv_count < 2) @@ -1200,11 +1191,11 @@ xfs_ioc_getbmap( if (ioflags & IO_INVIS) iflags |= BMV_IF_NO_DMAPI_READ; - error = xfs_getbmap(bdp, &bm, (struct getbmap *)arg+1, iflags); + error = xfs_getbmap(bdp, &bm, (struct getbmap __user *)arg+1, iflags); if (error) return -error; - if (copy_to_user((struct getbmap *)arg, &bm, sizeof(bm))) + if (copy_to_user(arg, &bm, sizeof(bm))) return -XFS_ERROR(EFAULT); return 0; } @@ -1212,14 +1203,14 @@ xfs_ioc_getbmap( STATIC int xfs_ioc_getbmapx( bhv_desc_t *bdp, - unsigned long arg) + void __user *arg) { struct getbmapx bmx; struct getbmap bm; int iflags; int error; - if (copy_from_user(&bmx, (struct getbmapx *)arg, sizeof(bmx))) + if (copy_from_user(&bmx, arg, sizeof(bmx))) return -XFS_ERROR(EFAULT); if (bmx.bmv_count < 2) @@ -1238,13 +1229,13 @@ xfs_ioc_getbmapx( iflags |= BMV_IF_EXTENDED; - error = xfs_getbmap(bdp, &bm, (struct getbmapx *)arg+1, iflags); + error = xfs_getbmap(bdp, &bm, (struct getbmapx __user *)arg+1, iflags); if (error) return -error; GETBMAP_CONVERT(bm, bmx); - if (copy_to_user((struct getbmapx *)arg, &bmx, sizeof(bmx))) + if (copy_to_user(arg, &bmx, sizeof(bmx))) return -XFS_ERROR(EFAULT); return 0; diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c index 962cf8d6b..069dec844 100644 --- a/fs/xfs/linux-2.6/xfs_iops.c +++ b/fs/xfs/linux-2.6/xfs_iops.c @@ -174,8 +174,9 @@ linvfs_mknod( */ teardown.d_inode = ip = LINVFS_GET_IP(vp); teardown.d_name = dentry->d_name; - remove_inode_hash(ip); - make_bad_inode(ip); + + vn_mark_bad(vp); + if (S_ISDIR(mode)) VOP_RMDIR(dvp, &teardown, NULL, err2); else @@ -225,26 +226,21 @@ linvfs_lookup( struct dentry *dentry, struct nameidata *nd) { - struct inode *ip = NULL; - vnode_t *vp, *cvp = NULL; + struct vnode *vp = LINVFS_GET_VP(dir), *cvp; int error; if (dentry->d_name.len >= MAXNAMELEN) return ERR_PTR(-ENAMETOOLONG); - vp = LINVFS_GET_VP(dir); VOP_LOOKUP(vp, dentry, &cvp, 0, NULL, NULL, error); - if (!error) { - ASSERT(cvp); - ip = LINVFS_GET_IP(cvp); - if (!ip) { - VN_RELE(cvp); - return ERR_PTR(-EACCES); - } + if (error) { + if (unlikely(error != ENOENT)) + return ERR_PTR(-error); + d_add(dentry, NULL); + return NULL; } - if (error && (error != ENOENT)) - return ERR_PTR(-error); - return d_splice_alias(ip, dentry); + + return d_splice_alias(LINVFS_GET_IP(cvp), dentry); } STATIC int @@ -304,7 +300,7 @@ linvfs_symlink( { struct inode *ip; vattr_t va; - vnode_t *dvp; /* directory containing name to remove */ + vnode_t *dvp; /* directory containing name of symlink */ vnode_t *cvp; /* used to lookup symlink to put in dentry */ int error; @@ -376,7 +372,7 @@ linvfs_rename( STATIC int linvfs_readlink( struct dentry *dentry, - char *buf, + char __user *buf, int size) { vnode_t *vp = LINVFS_GET_VP(dentry->d_inode); diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 3a2e961ea..eb81476f7 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c @@ -66,6 +66,7 @@ #include "xfs_buf_item.h" #include "xfs_utils.h" #include "xfs_version.h" +#include "xfs_ioctl32.h" #include #include @@ -140,7 +141,7 @@ xfs_set_inodeops( vnode_t *vp = LINVFS_GET_VP(inode); if (vp->v_type == VNON) { - make_bad_inode(inode); + vn_mark_bad(vp); } else if (S_ISREG(inode->i_mode)) { inode->i_op = &linvfs_file_inode_operations; inode->i_fop = &linvfs_file_operations; @@ -230,42 +231,21 @@ xfs_initialize_vnode( bhv_insert(VN_BHV_HEAD(vp), inode_bhv); } - vp->v_type = IFTOVT(ip->i_d.di_mode); - - /* Have we been called during the new inode create process, - * in which case we are too early to fill in the Linux inode. - */ - if (vp->v_type == VNON) - return; - - xfs_revalidate_inode(XFS_BHVTOM(bdp), vp, ip); - - /* For new inodes we need to set the ops vectors, - * and unlock the inode. + /* + * We need to set the ops vectors, and unlock the inode, but if + * we have been called during the new inode create process, it is + * too early to fill in the Linux inode. We will get called a + * second time once the inode is properly set up, and then we can + * finish our work. */ - if (unlock && (inode->i_state & I_NEW)) { + if (ip->i_d.di_mode != 0 && unlock && (inode->i_state & I_NEW)) { + vp->v_type = IFTOVT(ip->i_d.di_mode); + xfs_revalidate_inode(XFS_BHVTOM(bdp), vp, ip); xfs_set_inodeops(inode); unlock_new_inode(inode); } } -void -xfs_flush_inode( - xfs_inode_t *ip) -{ - struct inode *inode = LINVFS_GET_IP(XFS_ITOV(ip)); - - filemap_flush(inode->i_mapping); -} - -void -xfs_flush_device( - xfs_inode_t *ip) -{ - sync_blockdev(XFS_ITOV(ip)->v_vfsp->vfs_super->s_bdev); - xfs_log_force(ip->i_mount, (xfs_lsn_t)0, XFS_LOG_FORCE|XFS_LOG_SYNC); -} - int xfs_blkdev_get( xfs_mount_t *mp, @@ -319,7 +299,6 @@ xfs_inode_shake( { int pages; - pages = kmem_zone_shrink(linvfs_inode_zone); pages += kmem_zone_shrink(xfs_inode_zone); return pages; @@ -342,10 +321,8 @@ STATIC int init_inodecache( void ) { linvfs_inode_zone = kmem_cache_create("linvfs_icache", - sizeof(vnode_t), 0, - SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, + sizeof(vnode_t), 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); - if (linvfs_inode_zone == NULL) return -ENOMEM; return 0; @@ -364,13 +341,13 @@ destroy_inodecache( void ) * at the point when it is unpinned after a log write, * since this is when the inode itself becomes flushable. */ -STATIC void +STATIC int linvfs_write_inode( struct inode *inode, int sync) { vnode_t *vp = LINVFS_GET_VP(inode); - int error, flags = FLUSH_INODE; + int error = 0, flags = FLUSH_INODE; if (vp) { vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); @@ -378,6 +355,8 @@ linvfs_write_inode( flags |= FLUSH_SYNC; VOP_IFLUSH(vp, flags, error); } + + return -error; } STATIC void @@ -397,36 +376,152 @@ linvfs_clear_inode( } +/* + * Enqueue a work item to be picked up by the vfs xfssyncd thread. + * Doing this has two advantages: + * - It saves on stack space, which is tight in certain situations + * - It can be used (with care) as a mechanism to avoid deadlocks. + * Flushing while allocating in a full filesystem requires both. + */ +STATIC void +xfs_syncd_queue_work( + struct vfs *vfs, + void *data, + void (*syncer)(vfs_t *, void *)) +{ + vfs_sync_work_t *work; + + work = kmem_alloc(sizeof(struct vfs_sync_work), KM_SLEEP); + INIT_LIST_HEAD(&work->w_list); + work->w_syncer = syncer; + work->w_data = data; + work->w_vfs = vfs; + spin_lock(&vfs->vfs_sync_lock); + list_add_tail(&work->w_list, &vfs->vfs_sync_list); + spin_unlock(&vfs->vfs_sync_lock); + wake_up_process(vfs->vfs_sync_task); +} + +/* + * Flush delayed allocate data, attempting to free up reserved space + * from existing allocations. At this point a new allocation attempt + * has failed with ENOSPC and we are in the process of scratching our + * heads, looking about for more room... + */ +STATIC void +xfs_flush_inode_work( + vfs_t *vfs, + void *inode) +{ + filemap_flush(((struct inode *)inode)->i_mapping); + iput((struct inode *)inode); +} + +void +xfs_flush_inode( + xfs_inode_t *ip) +{ + struct inode *inode = LINVFS_GET_IP(XFS_ITOV(ip)); + struct vfs *vfs = XFS_MTOVFS(ip->i_mount); + + igrab(inode); + xfs_syncd_queue_work(vfs, inode, xfs_flush_inode_work); + delay(HZ/2); +} + +/* + * This is the "bigger hammer" version of xfs_flush_inode_work... + * (IOW, "If at first you don't succeed, use a Bigger Hammer"). + */ +STATIC void +xfs_flush_device_work( + vfs_t *vfs, + void *inode) +{ + sync_blockdev(vfs->vfs_super->s_bdev); + iput((struct inode *)inode); +} + +void +xfs_flush_device( + xfs_inode_t *ip) +{ + struct inode *inode = LINVFS_GET_IP(XFS_ITOV(ip)); + struct vfs *vfs = XFS_MTOVFS(ip->i_mount); + + igrab(inode); + xfs_syncd_queue_work(vfs, inode, xfs_flush_device_work); + delay(HZ/2); + xfs_log_force(ip->i_mount, (xfs_lsn_t)0, XFS_LOG_FORCE|XFS_LOG_SYNC); +} + #define SYNCD_FLAGS (SYNC_FSDATA|SYNC_BDFLUSH|SYNC_ATTR) +STATIC void +vfs_sync_worker( + vfs_t *vfsp, + void *unused) +{ + int error; + + if (!(vfsp->vfs_flag & VFS_RDONLY)) + VFS_SYNC(vfsp, SYNCD_FLAGS, NULL, error); + vfsp->vfs_sync_seq++; + wmb(); + wake_up(&vfsp->vfs_wait_single_sync_task); +} STATIC int xfssyncd( void *arg) { + long timeleft; vfs_t *vfsp = (vfs_t *) arg; - int error; + struct list_head tmp; + struct vfs_sync_work *work, *n; daemonize("xfssyncd"); + vfsp->vfs_sync_work.w_vfs = vfsp; + vfsp->vfs_sync_work.w_syncer = vfs_sync_worker; vfsp->vfs_sync_task = current; wmb(); wake_up(&vfsp->vfs_wait_sync_task); + INIT_LIST_HEAD(&tmp); + timeleft = (xfs_syncd_centisecs * HZ) / 100; for (;;) { set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout((xfs_syncd_centisecs * HZ) / 100); + timeleft = schedule_timeout(timeleft); /* swsusp */ if (current->flags & PF_FREEZE) refrigerator(PF_FREEZE); if (vfsp->vfs_flag & VFS_UMOUNT) break; - if (vfsp->vfs_flag & VFS_RDONLY) - continue; - VFS_SYNC(vfsp, SYNCD_FLAGS, NULL, error); - vfsp->vfs_sync_seq++; - wmb(); - wake_up(&vfsp->vfs_wait_single_sync_task); + spin_lock(&vfsp->vfs_sync_lock); + /* + * We can get woken by laptop mode, to do a sync - + * that's the (only!) case where the list would be + * empty with time remaining. + */ + if (!timeleft || list_empty(&vfsp->vfs_sync_list)) { + if (!timeleft) + timeleft = (xfs_syncd_centisecs * HZ) / 100; + INIT_LIST_HEAD(&vfsp->vfs_sync_work.w_list); + list_add_tail(&vfsp->vfs_sync_work.w_list, + &vfsp->vfs_sync_list); + } + list_for_each_entry_safe(work, n, &vfsp->vfs_sync_list, w_list) + list_move(&work->w_list, &tmp); + spin_unlock(&vfsp->vfs_sync_lock); + + list_for_each_entry_safe(work, n, &tmp, w_list) { + (*work->w_syncer)(vfsp, work->w_data); + list_del(&work->w_list); + if (work == &vfsp->vfs_sync_work) + continue; + kmem_free(work, sizeof(struct vfs_sync_work)); + } } vfsp->vfs_sync_task = NULL; @@ -514,9 +609,10 @@ linvfs_sync_super( if (unlikely(laptop_mode)) { int prev_sync_seq = vfsp->vfs_sync_seq; + /* * The disk must be active because we're syncing. - * We schedule syncd now (now that the disk is + * We schedule xfssyncd now (now that the disk is * active) instead of later (when it might not be). */ wake_up_process(vfsp->vfs_sync_task); @@ -576,31 +672,22 @@ linvfs_get_parent( int error; vnode_t *vp, *cvp; struct dentry *parent; - struct inode *ip = NULL; struct dentry dotdot; dotdot.d_name.name = ".."; dotdot.d_name.len = 2; - dotdot.d_inode = 0; + dotdot.d_inode = NULL; cvp = NULL; vp = LINVFS_GET_VP(child->d_inode); VOP_LOOKUP(vp, &dotdot, &cvp, 0, NULL, NULL, error); - - if (!error) { - ASSERT(cvp); - ip = LINVFS_GET_IP(cvp); - if (!ip) { - VN_RELE(cvp); - return ERR_PTR(-EACCES); - } - } - if (error) + if (unlikely(error)) return ERR_PTR(-error); - parent = d_alloc_anon(ip); - if (!parent) { + + parent = d_alloc_anon(LINVFS_GET_IP(cvp)); + if (unlikely(!parent)) { VN_RELE(cvp); - parent = ERR_PTR(-ENOMEM); + return ERR_PTR(-ENOMEM); } return parent; } @@ -865,6 +952,10 @@ init_xfs_fs( void ) goto undo_shaker; } + error = xfs_ioctl32_init(); + if (error) + goto undo_ioctl32; + error = register_filesystem(&xfs_fs_type); if (error) goto undo_register; @@ -872,6 +963,9 @@ init_xfs_fs( void ) return 0; undo_register: + xfs_ioctl32_exit(); + +undo_ioctl32: kmem_shake_deregister(xfs_inode_shaker); undo_shaker: @@ -890,6 +984,7 @@ exit_xfs_fs( void ) vfs_exitquota(); XFS_DM_EXIT(&xfs_fs_type); unregister_filesystem(&xfs_fs_type); + xfs_ioctl32_exit(); kmem_shake_deregister(xfs_inode_shaker); xfs_cleanup(); pagebuf_terminate(); diff --git a/fs/xfs/linux-2.6/xfs_vnode.c b/fs/xfs/linux-2.6/xfs_vnode.c index 44ba5e5f4..e8094d24a 100644 --- a/fs/xfs/linux-2.6/xfs_vnode.c +++ b/fs/xfs/linux-2.6/xfs_vnode.c @@ -187,6 +187,53 @@ vn_get( return vp; } +/* + * Revalidate the Linux inode from the vattr. + * Note: i_size _not_ updated; we must hold the inode + * semaphore when doing that - callers responsibility. + */ +void +vn_revalidate_core( + struct vnode *vp, + vattr_t *vap) +{ + struct inode *inode = LINVFS_GET_IP(vp); + + inode = LINVFS_GET_IP(vp); + inode->i_mode = VTTOIF(vap->va_type) | vap->va_mode; + inode->i_nlink = vap->va_nlink; + inode->i_uid = vap->va_uid; + inode->i_gid = vap->va_gid; + inode->i_blocks = vap->va_nblocks; + inode->i_mtime = vap->va_mtime; + inode->i_ctime = vap->va_ctime; + inode->i_atime = vap->va_atime; + if (vap->va_xflags & XFS_XFLAG_IMMUTABLE) + inode->i_flags |= S_IMMUTABLE; + else + inode->i_flags &= ~S_IMMUTABLE; + if (vap->va_xflags & XFS_XFLAG_IUNLINK) + inode->i_flags |= S_IUNLINK; + else + inode->i_flags &= ~S_IUNLINK; + if (vap->va_xflags & XFS_XFLAG_BARRIER) + inode->i_flags |= S_BARRIER; + else + inode->i_flags &= ~S_BARRIER; + if (vap->va_xflags & XFS_XFLAG_APPEND) + inode->i_flags |= S_APPEND; + else + inode->i_flags &= ~S_APPEND; + if (vap->va_xflags & XFS_XFLAG_SYNC) + inode->i_flags |= S_SYNC; + else + inode->i_flags &= ~S_SYNC; + if (vap->va_xflags & XFS_XFLAG_NOATIME) + inode->i_flags |= S_NOATIME; + else + inode->i_flags &= ~S_NOATIME; +} + /* * Revalidate the Linux inode from the vnode. */ @@ -194,7 +241,6 @@ int vn_revalidate( struct vnode *vp) { - struct inode *inode; vattr_t va; int error; @@ -204,39 +250,7 @@ vn_revalidate( va.va_mask = XFS_AT_STAT|XFS_AT_XFLAGS; VOP_GETATTR(vp, &va, 0, NULL, error); if (!error) { - inode = LINVFS_GET_IP(vp); - inode->i_mode = VTTOIF(va.va_type) | va.va_mode; - inode->i_nlink = va.va_nlink; - inode->i_uid = va.va_uid; - inode->i_gid = va.va_gid; - inode->i_blocks = va.va_nblocks; - inode->i_mtime = va.va_mtime; - inode->i_ctime = va.va_ctime; - inode->i_atime = va.va_atime; - if (va.va_xflags & XFS_XFLAG_IMMUTABLE) - inode->i_flags |= S_IMMUTABLE; - else - inode->i_flags &= ~S_IMMUTABLE; - if (va.va_xflags & XFS_XFLAG_IUNLINK) - inode->i_flags |= S_IUNLINK; - else - inode->i_flags &= ~S_IUNLINK; - if (va.va_xflags & XFS_XFLAG_BARRIER) - inode->i_flags |= S_BARRIER; - else - inode->i_flags &= ~S_BARRIER; - if (va.va_xflags & XFS_XFLAG_APPEND) - inode->i_flags |= S_APPEND; - else - inode->i_flags &= ~S_APPEND; - if (va.va_xflags & XFS_XFLAG_SYNC) - inode->i_flags |= S_SYNC; - else - inode->i_flags &= ~S_SYNC; - if (va.va_xflags & XFS_XFLAG_NOATIME) - inode->i_flags |= S_NOATIME; - else - inode->i_flags &= ~S_NOATIME; + vn_revalidate_core(vp, &va); VUNMODIFY(vp); } return -error; diff --git a/fs/xfs/quota/xfs_qm.c b/fs/xfs/quota/xfs_qm.c index 0088d7de4..918b7e874 100644 --- a/fs/xfs/quota/xfs_qm.c +++ b/fs/xfs/quota/xfs_qm.c @@ -229,11 +229,8 @@ xfs_qm_hold_quotafs_ref( */ XFS_QM_LOCK(xfs_Gqm); - if (xfs_Gqm == NULL) { - if ((xfs_Gqm = xfs_Gqm_init()) == NULL) { - return (XFS_ERROR(EINVAL)); - } - } + if (xfs_Gqm == NULL) + xfs_Gqm = xfs_Gqm_init(); /* * We can keep a list of all filesystems with quotas mounted for * debugging and statistical purposes, but ... @@ -1216,22 +1213,46 @@ xfs_qm_init_quotainfo( XFS_QMOPT_DQSUSER|XFS_QMOPT_DOWARN, &dqp); if (! error) { + xfs_disk_dquot_t *ddqp = &dqp->q_core; + /* * The warnings and timers set the grace period given to * a user or group before he or she can not perform any * more writing. If it is zero, a default is used. */ - qinf->qi_btimelimit = INT_GET(dqp->q_core.d_btimer, ARCH_CONVERT) ? - INT_GET(dqp->q_core.d_btimer, ARCH_CONVERT) : XFS_QM_BTIMELIMIT; - qinf->qi_itimelimit = INT_GET(dqp->q_core.d_itimer, ARCH_CONVERT) ? - INT_GET(dqp->q_core.d_itimer, ARCH_CONVERT) : XFS_QM_ITIMELIMIT; - qinf->qi_rtbtimelimit = INT_GET(dqp->q_core.d_rtbtimer, ARCH_CONVERT) ? - INT_GET(dqp->q_core.d_rtbtimer, ARCH_CONVERT) : XFS_QM_RTBTIMELIMIT; - qinf->qi_bwarnlimit = INT_GET(dqp->q_core.d_bwarns, ARCH_CONVERT) ? - INT_GET(dqp->q_core.d_bwarns, ARCH_CONVERT) : XFS_QM_BWARNLIMIT; - qinf->qi_iwarnlimit = INT_GET(dqp->q_core.d_iwarns, ARCH_CONVERT) ? - INT_GET(dqp->q_core.d_iwarns, ARCH_CONVERT) : XFS_QM_IWARNLIMIT; - + qinf->qi_btimelimit = + INT_GET(ddqp->d_btimer, ARCH_CONVERT) ? + INT_GET(ddqp->d_btimer, ARCH_CONVERT) : + XFS_QM_BTIMELIMIT; + qinf->qi_itimelimit = + INT_GET(ddqp->d_itimer, ARCH_CONVERT) ? + INT_GET(ddqp->d_itimer, ARCH_CONVERT) : + XFS_QM_ITIMELIMIT; + qinf->qi_rtbtimelimit = + INT_GET(ddqp->d_rtbtimer, ARCH_CONVERT) ? + INT_GET(ddqp->d_rtbtimer, ARCH_CONVERT) : + XFS_QM_RTBTIMELIMIT; + qinf->qi_bwarnlimit = + INT_GET(ddqp->d_bwarns, ARCH_CONVERT) ? + INT_GET(ddqp->d_bwarns, ARCH_CONVERT) : + XFS_QM_BWARNLIMIT; + qinf->qi_iwarnlimit = + INT_GET(ddqp->d_iwarns, ARCH_CONVERT) ? + INT_GET(ddqp->d_iwarns, ARCH_CONVERT) : + XFS_QM_IWARNLIMIT; + qinf->qi_bhardlimit = + INT_GET(ddqp->d_blk_hardlimit, ARCH_CONVERT); + qinf->qi_bsoftlimit = + INT_GET(ddqp->d_blk_softlimit, ARCH_CONVERT); + qinf->qi_ihardlimit = + INT_GET(ddqp->d_ino_hardlimit, ARCH_CONVERT); + qinf->qi_isoftlimit = + INT_GET(ddqp->d_ino_softlimit, ARCH_CONVERT); + qinf->qi_rtbhardlimit = + INT_GET(ddqp->d_rtb_hardlimit, ARCH_CONVERT); + qinf->qi_rtbsoftlimit = + INT_GET(ddqp->d_rtb_softlimit, ARCH_CONVERT); + /* * We sent the XFS_QMOPT_DQSUSER flag to dqget because * we don't want this dquot cached. We haven't done a @@ -1691,10 +1712,12 @@ xfs_qm_quotacheck_dqadjust( } /* - * Adjust the timers since we just changed usages + * Set default limits, adjust timers (since we changed usages) */ - if (! XFS_IS_SUSER_DQUOT(dqp)) + if (! XFS_IS_SUSER_DQUOT(dqp)) { + xfs_qm_adjust_dqlimits(dqp->q_mount, &dqp->q_core); xfs_qm_adjust_dqtimers(dqp->q_mount, &dqp->q_core); + } dqp->dq_flags |= XFS_DQ_DIRTY; } @@ -1735,7 +1758,7 @@ STATIC int xfs_qm_dqusage_adjust( xfs_mount_t *mp, /* mount point for filesystem */ xfs_ino_t ino, /* inode number to get data for */ - void *buffer, /* not used */ + void __user *buffer, /* not used */ int ubsize, /* not used */ void *private_data, /* not used */ xfs_daddr_t bno, /* starting block of inode cluster */ diff --git a/fs/xfs/quota/xfs_qm_syscalls.c b/fs/xfs/quota/xfs_qm_syscalls.c index 5a0f1ad94..b722dad83 100644 --- a/fs/xfs/quota/xfs_qm_syscalls.c +++ b/fs/xfs/quota/xfs_qm_syscalls.c @@ -648,8 +648,11 @@ xfs_qm_scall_setqlim( if (hard == 0 || hard >= soft) { INT_SET(ddq->d_blk_hardlimit, ARCH_CONVERT, hard); INT_SET(ddq->d_blk_softlimit, ARCH_CONVERT, soft); - } - else { + if (id == 0) { + mp->m_quotainfo->qi_bhardlimit = hard; + mp->m_quotainfo->qi_bsoftlimit = soft; + } + } else { qdprintk("blkhard %Ld < blksoft %Ld\n", hard, soft); } hard = (newlim->d_fieldmask & FS_DQ_RTBHARD) ? @@ -661,40 +664,49 @@ xfs_qm_scall_setqlim( if (hard == 0 || hard >= soft) { INT_SET(ddq->d_rtb_hardlimit, ARCH_CONVERT, hard); INT_SET(ddq->d_rtb_softlimit, ARCH_CONVERT, soft); - } - else + if (id == 0) { + mp->m_quotainfo->qi_rtbhardlimit = hard; + mp->m_quotainfo->qi_rtbsoftlimit = soft; + } + } else { qdprintk("rtbhard %Ld < rtbsoft %Ld\n", hard, soft); + } hard = (newlim->d_fieldmask & FS_DQ_IHARD) ? (xfs_qcnt_t) newlim->d_ino_hardlimit : - INT_GET(ddq->d_ino_hardlimit, ARCH_CONVERT); + INT_GET(ddq->d_ino_hardlimit, ARCH_CONVERT); soft = (newlim->d_fieldmask & FS_DQ_ISOFT) ? (xfs_qcnt_t) newlim->d_ino_softlimit : - INT_GET(ddq->d_ino_softlimit, ARCH_CONVERT); + INT_GET(ddq->d_ino_softlimit, ARCH_CONVERT); if (hard == 0 || hard >= soft) { INT_SET(ddq->d_ino_hardlimit, ARCH_CONVERT, hard); INT_SET(ddq->d_ino_softlimit, ARCH_CONVERT, soft); - } - else + if (id == 0) { + mp->m_quotainfo->qi_ihardlimit = hard; + mp->m_quotainfo->qi_isoftlimit = soft; + } + } else { qdprintk("ihard %Ld < isoft %Ld\n", hard, soft); + } if (id == 0) { /* * Timelimits for the super user set the relative time * the other users can be over quota for this file system. - * If it is zero a default is used. + * If it is zero a default is used. Ditto for the default + * soft and hard limit values (already done, above). */ if (newlim->d_fieldmask & FS_DQ_BTIMER) { mp->m_quotainfo->qi_btimelimit = newlim->d_btimer; - INT_SET(dqp->q_core.d_btimer, ARCH_CONVERT, newlim->d_btimer); + INT_SET(ddq->d_btimer, ARCH_CONVERT, newlim->d_btimer); } if (newlim->d_fieldmask & FS_DQ_ITIMER) { mp->m_quotainfo->qi_itimelimit = newlim->d_itimer; - INT_SET(dqp->q_core.d_itimer, ARCH_CONVERT, newlim->d_itimer); + INT_SET(ddq->d_itimer, ARCH_CONVERT, newlim->d_itimer); } if (newlim->d_fieldmask & FS_DQ_RTBTIMER) { mp->m_quotainfo->qi_rtbtimelimit = newlim->d_rtbtimer; - INT_SET(dqp->q_core.d_rtbtimer, ARCH_CONVERT, newlim->d_rtbtimer); + INT_SET(ddq->d_rtbtimer, ARCH_CONVERT, newlim->d_rtbtimer); } } else /* if (XFS_IS_QUOTA_ENFORCED(mp)) */ { /* @@ -1114,7 +1126,7 @@ mutex_t qcheck_lock; cmn_err(CE_DEBUG, "%s (#%d)", title, (int) (l)->qh_nelems); \ for (dqp = (xfs_dqtest_t *)(l)->qh_next; dqp != NULL; \ dqp = (xfs_dqtest_t *)dqp->NXT) { \ - cmn_err(CE_DEBUG, " %d\. \"%d (%s)\" bcnt = %d, icnt = %d", \ + cmn_err(CE_DEBUG, " %d. \"%d (%s)\" bcnt = %d, icnt = %d", \ ++i, dqp->d_id, DQFLAGTO_TYPESTR(dqp), \ dqp->d_bcount, dqp->d_icount); } \ } @@ -1299,7 +1311,7 @@ STATIC int xfs_qm_internalqcheck_adjust( xfs_mount_t *mp, /* mount point for filesystem */ xfs_ino_t ino, /* inode number to get data for */ - void *buffer, /* not used */ + void __user *buffer, /* not used */ int ubsize, /* not used */ void *private_data, /* not used */ xfs_daddr_t bno, /* starting block of inode cluster */ diff --git a/fs/xfs/xfs_acl.h b/fs/xfs/xfs_acl.h index 35e56b7f0..0363eb46d 100644 --- a/fs/xfs/xfs_acl.h +++ b/fs/xfs/xfs_acl.h @@ -74,8 +74,6 @@ extern struct kmem_zone *xfs_acl_zone; extern int xfs_acl_inherit(struct vnode *, struct vattr *, xfs_acl_t *); extern int xfs_acl_iaccess(struct xfs_inode *, mode_t, cred_t *); -extern int xfs_acl_get(struct vnode *, xfs_acl_t *, xfs_acl_t *); -extern int xfs_acl_set(struct vnode *, xfs_acl_t *, xfs_acl_t *); extern int xfs_acl_vtoacl(struct vnode *, xfs_acl_t *, xfs_acl_t *); extern int xfs_acl_vhasacl_access(struct vnode *); extern int xfs_acl_vhasacl_default(struct vnode *); @@ -95,7 +93,7 @@ extern int xfs_acl_vremove(struct vnode *vp, int); #define _ACL_XFS_IACCESS(i,m,c) (XFS_IFORK_Q(i) ? xfs_acl_iaccess(i,m,c) : -1) #define _ACL_ALLOC(a) ((a) = kmem_zone_alloc(xfs_acl_zone, KM_SLEEP)) -#define _ACL_FREE(a) ((a)? kmem_zone_free(xfs_acl_zone, (a)) : 0) +#define _ACL_FREE(a) ((a)? kmem_zone_free(xfs_acl_zone, (a)):(void)0) #else #define xfs_acl_zone_init(zone,name) diff --git a/fs/xfs/xfs_attr.c b/fs/xfs/xfs_attr.c index f1ccb5890..6cd3b5846 100644 --- a/fs/xfs/xfs_attr.c +++ b/fs/xfs/xfs_attr.c @@ -104,7 +104,6 @@ STATIC int xfs_attr_rmtval_set(xfs_da_args_t *args); STATIC int xfs_attr_rmtval_remove(xfs_da_args_t *args); #define ATTR_RMTVALUE_MAPSIZE 1 /* # of map entries at once */ -#define ATTR_RMTVALUE_TRANSBLKS 8 /* max # of blks in a transaction */ #if defined(XFS_ATTR_TRACE) ktrace_t *xfs_attr_trace_buf; @@ -122,22 +121,14 @@ xfs_attr_fetch(xfs_inode_t *ip, char *name, int namelen, xfs_da_args_t args; int error; - if (XFS_FORCED_SHUTDOWN(ip->i_mount)) - return(EIO); - if ((XFS_IFORK_Q(ip) == 0) || (ip->i_d.di_aformat == XFS_DINODE_FMT_EXTENTS && ip->i_d.di_anextents == 0)) return(ENOATTR); - if (!(flags & ATTR_KERNACCESS)) { - xfs_ilock(ip, XFS_ILOCK_SHARED); - - if (!(flags & ATTR_SECURE) && - ((error = xfs_iaccess(ip, S_IRUSR, cred)))) { - xfs_iunlock(ip, XFS_ILOCK_SHARED); + if (!(flags & (ATTR_KERNACCESS|ATTR_SECURE))) { + if ((error = xfs_iaccess(ip, S_IRUSR, cred))) return(XFS_ERROR(error)); - } } /* @@ -168,9 +159,6 @@ xfs_attr_fetch(xfs_inode_t *ip, char *name, int namelen, error = xfs_attr_node_get(&args); } - if (!(flags & ATTR_KERNACCESS)) - xfs_iunlock(ip, XFS_ILOCK_SHARED); - /* * Return the number of bytes in the value to the caller. */ @@ -186,7 +174,7 @@ xfs_attr_get(bhv_desc_t *bdp, char *name, char *value, int *valuelenp, int flags, struct cred *cred) { xfs_inode_t *ip = XFS_BHVTOI(bdp); - int namelen; + int error, namelen; XFS_STATS_INC(xs_attr_get); @@ -196,7 +184,13 @@ xfs_attr_get(bhv_desc_t *bdp, char *name, char *value, int *valuelenp, if (namelen >= MAXNAMELEN) return(EFAULT); /* match IRIX behaviour */ - return xfs_attr_fetch(ip, name, namelen, value, valuelenp, flags, cred); + if (XFS_FORCED_SHUTDOWN(ip->i_mount)) + return(EIO); + + xfs_ilock(ip, XFS_ILOCK_SHARED); + error = xfs_attr_fetch(ip, name, namelen, value, valuelenp, flags, cred); + xfs_iunlock(ip, XFS_ILOCK_SHARED); + return(error); } /*ARGSUSED*/ @@ -719,16 +713,15 @@ xfs_attr_inactive(xfs_inode_t *dp) mp = dp->i_mount; ASSERT(! XFS_NOT_DQATTACHED(mp, dp)); - /* XXXsup - why on earth are we taking ILOCK_EXCL here??? */ - xfs_ilock(dp, XFS_ILOCK_EXCL); + xfs_ilock(dp, XFS_ILOCK_SHARED); if ((XFS_IFORK_Q(dp) == 0) || (dp->i_d.di_aformat == XFS_DINODE_FMT_LOCAL) || (dp->i_d.di_aformat == XFS_DINODE_FMT_EXTENTS && dp->i_d.di_anextents == 0)) { - xfs_iunlock(dp, XFS_ILOCK_EXCL); + xfs_iunlock(dp, XFS_ILOCK_SHARED); return(0); } - xfs_iunlock(dp, XFS_ILOCK_EXCL); + xfs_iunlock(dp, XFS_ILOCK_SHARED); /* * Start our first transaction of the day. diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c index d797f406e..4b0738238 100644 --- a/fs/xfs/xfs_bmap.c +++ b/fs/xfs/xfs_bmap.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2000-2004 Silicon Graphics, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License as @@ -203,8 +203,6 @@ STATIC void xfs_bmap_check_extents( xfs_inode_t *ip, /* incore inode pointer */ int whichfork); /* data or attr fork */ -#else -#define xfs_bmap_check_extents(ip,w) #endif /* @@ -3429,6 +3427,20 @@ xfs_bmap_do_search_extents( int high; /* high index of binary search */ int low; /* low index of binary search */ + /* + * Initialize the extent entry structure to catch access to + * uninitialized br_startblock field. + */ + got.br_startoff = 0xffa5a5a5a5a5a5a5LL; + got.br_blockcount = 0xa55a5a5a5a5a5a5aLL; + got.br_state = XFS_EXT_INVALID; + +#if XFS_BIG_BLKNOS + got.br_startblock = 0xffffa5a5a5a5a5a5LL; +#else + got.br_startblock = 0xffffa5a5; +#endif + if (lastx != NULLEXTNUM && lastx < nextents) ep = base + lastx; else @@ -3527,6 +3539,8 @@ xfs_bmap_search_extents( xfs_bmbt_rec_t *base; /* base of extent list */ xfs_extnum_t lastx; /* last extent index used */ xfs_extnum_t nextents; /* extent list size */ + xfs_bmbt_rec_t *ep; /* extent list entry pointer */ + int rt; /* realtime flag */ XFS_STATS_INC(xs_look_exlist); ifp = XFS_IFORK_PTR(ip, whichfork); @@ -3534,8 +3548,18 @@ xfs_bmap_search_extents( nextents = ifp->if_bytes / (uint)sizeof(xfs_bmbt_rec_t); base = &ifp->if_u1.if_extents[0]; - return xfs_bmap_do_search_extents(base, lastx, nextents, bno, eofp, + ep = xfs_bmap_do_search_extents(base, lastx, nextents, bno, eofp, lastxp, gotp, prevp); + rt = ip->i_d.di_flags & XFS_DIFLAG_REALTIME; + if(!rt && !gotp->br_startblock && (*lastxp != NULLEXTNUM)) { + cmn_err(CE_PANIC,"Access to block zero: fs: <%s> inode: %lld " + "start_block : %llx start_off : %llx blkcnt : %llx " + "extent-state : %x \n", + (ip->i_mount)->m_fsname,(long long)ip->i_ino, + gotp->br_startblock, gotp->br_startoff, + gotp->br_blockcount,gotp->br_state); + } + return ep; } @@ -4689,8 +4713,41 @@ xfs_bmapi( } break; } + + /* + * Split changing sb for alen and indlen since + * they could be coming from different places. + */ + if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME) { + xfs_extlen_t extsz; + xfs_extlen_t ralen; + if (!(extsz = ip->i_d.di_extsize)) + extsz = mp->m_sb.sb_rextsize; + ralen = roundup(alen, extsz); + ralen = ralen / mp->m_sb.sb_rextsize; + if (xfs_mod_incore_sb(mp, + XFS_SBS_FREXTENTS, + -(ralen), rsvd)) { + if (XFS_IS_QUOTA_ON(ip->i_mount)) + XFS_TRANS_UNRESERVE_BLKQUOTA( + mp, NULL, ip, + (long)alen); + break; + } + } else { + if (xfs_mod_incore_sb(mp, + XFS_SBS_FDBLOCKS, + -(alen), rsvd)) { + if (XFS_IS_QUOTA_ON(ip->i_mount)) + XFS_TRANS_UNRESERVE_BLKQUOTA( + mp, NULL, ip, + (long)alen); + break; + } + } + if (xfs_mod_incore_sb(mp, XFS_SBS_FDBLOCKS, - -(alen + indlen), rsvd)) { + -(indlen), rsvd)) { XFS_TRANS_UNRESERVE_BLKQUOTA( mp, NULL, ip, (long)alen); break; @@ -5445,7 +5502,7 @@ int /* error code */ xfs_getbmap( bhv_desc_t *bdp, /* XFS behavior descriptor*/ struct getbmap *bmv, /* user bmap structure */ - void *ap, /* pointer to user's array */ + void __user *ap, /* pointer to user's array */ int interface) /* interface flags */ { __int64_t bmvend; /* last block requested */ @@ -5634,8 +5691,10 @@ xfs_getbmap( (__int64_t)(bmvend - bmv->bmv_offset)); bmv->bmv_entries++; ap = (interface & BMV_IF_EXTENDED) ? - (void *)((struct getbmapx *)ap + 1) : - (void *)((struct getbmap *)ap + 1); + (void __user *) + ((struct getbmapx __user *)ap + 1) : + (void __user *) + ((struct getbmap __user *)ap + 1); } } } while (nmap && nexleft && bmv->bmv_length); diff --git a/fs/xfs/xfs_bmap.h b/fs/xfs/xfs_bmap.h index 479e0d559..f1bc22fb2 100644 --- a/fs/xfs/xfs_bmap.h +++ b/fs/xfs/xfs_bmap.h @@ -328,7 +328,7 @@ int /* error code */ xfs_getbmap( bhv_desc_t *bdp, /* XFS behavior descriptor*/ struct getbmap *bmv, /* user bmap structure */ - void *ap, /* pointer to user's array */ + void __user *ap, /* pointer to user's array */ int iflags); /* interface flags */ /* diff --git a/fs/xfs/xfs_bmap_btree.c b/fs/xfs/xfs_bmap_btree.c index ed83f855d..0ed189102 100644 --- a/fs/xfs/xfs_bmap_btree.c +++ b/fs/xfs/xfs_bmap_btree.c @@ -1953,7 +1953,7 @@ xfs_bmbt_get_block( *bpp = cur->bc_bufs[level]; rval = XFS_BUF_TO_BMBT_BLOCK(*bpp); } else { - *bpp = 0; + *bpp = NULL; ifp = XFS_IFORK_PTR(cur->bc_private.b.ip, cur->bc_private.b.whichfork); rval = ifp->if_broot; diff --git a/fs/xfs/xfs_bmap_btree.h b/fs/xfs/xfs_bmap_btree.h index e2150f703..1c0904d08 100644 --- a/fs/xfs/xfs_bmap_btree.h +++ b/fs/xfs/xfs_bmap_btree.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2000,2002-2004 Silicon Graphics, Inc. All Rights Reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms of version 2 of the GNU General Public License as @@ -153,7 +153,7 @@ typedef enum { */ typedef enum { XFS_EXT_NORM, XFS_EXT_UNWRITTEN, - XFS_EXT_DMAPI_OFFLINE + XFS_EXT_DMAPI_OFFLINE, XFS_EXT_INVALID } xfs_exntst_t; /* @@ -551,13 +551,6 @@ xfs_bmbt_insert( struct xfs_btree_cur *, int *); -int -xfs_bmbt_insert_many( - struct xfs_btree_cur *, - int, - xfs_bmbt_rec_t *, - int *); - void xfs_bmbt_log_block( struct xfs_btree_cur *, diff --git a/fs/xfs/xfs_buf_item.c b/fs/xfs/xfs_buf_item.c index d550aa030..9ab0039f0 100644 --- a/fs/xfs/xfs_buf_item.c +++ b/fs/xfs/xfs_buf_item.c @@ -55,8 +55,6 @@ #include "xfs_error.h" -#define ROUNDUPNBWORD(x) (((x) + (NBWORD - 1)) & ~(NBWORD - 1)) - kmem_zone_t *xfs_buf_item_zone; #ifdef XFS_TRANS_DEBUG diff --git a/fs/xfs/xfs_da_btree.c b/fs/xfs/xfs_da_btree.c index f0431b7e6..bbe00dc55 100644 --- a/fs/xfs/xfs_da_btree.c +++ b/fs/xfs/xfs_da_btree.c @@ -2092,7 +2092,7 @@ xfs_da_do_buf( int caller, inst_t *ra) { - xfs_buf_t *bp = 0; + xfs_buf_t *bp = NULL; xfs_buf_t **bplist; int error=0; int i; diff --git a/fs/xfs/xfs_dinode.h b/fs/xfs/xfs_dinode.h index f8f6e0fe6..ab20e8e03 100644 --- a/fs/xfs/xfs_dinode.h +++ b/fs/xfs/xfs_dinode.h @@ -456,8 +456,11 @@ xfs_dinode_t *xfs_buf_to_dinode(struct xfs_buf *bp); #define XFS_DIFLAG_SYNC_BIT 5 /* inode is written synchronously */ #define XFS_DIFLAG_NOATIME_BIT 6 /* do not update atime */ #define XFS_DIFLAG_NODUMP_BIT 7 /* do not dump */ -#define XFS_DIFLAG_BARRIER_BIT 10 /* chroot() barrier */ -#define XFS_DIFLAG_IUNLINK_BIT 11 /* inode has iunlink */ +#define XFS_DIFLAG_RTINHERIT_BIT 8 /* create with realtime bit set */ +#define XFS_DIFLAG_PROJINHERIT_BIT 9 /* create with parents projid */ +#define XFS_DIFLAG_NOSYMLINKS_BIT 10 /* disallow symlink creation */ +#define XFS_DIFLAG_BARRIER_BIT 12 /* chroot() barrier */ +#define XFS_DIFLAG_IUNLINK_BIT 13 /* inode has iunlink */ #define XFS_DIFLAG_REALTIME (1 << XFS_DIFLAG_REALTIME_BIT) #define XFS_DIFLAG_PREALLOC (1 << XFS_DIFLAG_PREALLOC_BIT) @@ -467,8 +470,22 @@ xfs_dinode_t *xfs_buf_to_dinode(struct xfs_buf *bp); #define XFS_DIFLAG_SYNC (1 << XFS_DIFLAG_SYNC_BIT) #define XFS_DIFLAG_NOATIME (1 << XFS_DIFLAG_NOATIME_BIT) #define XFS_DIFLAG_NODUMP (1 << XFS_DIFLAG_NODUMP_BIT) -#define XFS_DIFLAG_BARRIER (1 << XFS_DIFLAG_BARRIER_BIT) -#define XFS_DIFLAG_IUNLINK (1 << XFS_DIFLAG_IUNLINK_BIT) - +#define XFS_DIFLAG_RTINHERIT (1 << XFS_DIFLAG_RTINHERIT_BIT) +#define XFS_DIFLAG_PROJINHERIT (1 << XFS_DIFLAG_PROJINHERIT_BIT) +#define XFS_DIFLAG_NOSYMLINKS (1 << XFS_DIFLAG_NOSYMLINKS_BIT) +#define XFS_DIFLAG_BARRIER (1 << XFS_DIFLAG_BARRIER_BIT) +#define XFS_DIFLAG_IUNLINK (1 << XFS_DIFLAG_IUNLINK_BIT) + +#define XFS_DIFLAG_ANY \ + (XFS_DIFLAG_REALTIME | XFS_DIFLAG_PREALLOC | XFS_DIFLAG_NEWRTBM | \ + XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \ + XFS_DIFLAG_NOATIME | XFS_DIFLAG_NODUMP | XFS_DIFLAG_RTINHERIT | \ + XFS_DIFLAG_PROJINHERIT | XFS_DIFLAG_NOSYMLINKS | XFS_DIFLAG_BARRIER | XFS_DIFLAG_IUNLINK) + +#define XFS_DIFLAG_ANY \ + (XFS_DIFLAG_REALTIME | XFS_DIFLAG_PREALLOC | XFS_DIFLAG_NEWRTBM | \ + XFS_DIFLAG_IMMUTABLE | XFS_DIFLAG_APPEND | XFS_DIFLAG_SYNC | \ + XFS_DIFLAG_NOATIME | XFS_DIFLAG_NODUMP | XFS_DIFLAG_RTINHERIT | \ + XFS_DIFLAG_PROJINHERIT | XFS_DIFLAG_NOSYMLINKS) #endif /* __XFS_DINODE_H__ */ diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index 7e1b82c4f..8290ea7fb 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -76,6 +76,9 @@ struct fsxattr { #define XFS_XFLAG_SYNC 0x00000020 /* all writes synchronous */ #define XFS_XFLAG_NOATIME 0x00000040 /* do not update access time */ #define XFS_XFLAG_NODUMP 0x00000080 /* do not include in backups */ +#define XFS_XFLAG_RTINHERIT 0x00000100 /* create with rt bit set */ +#define XFS_XFLAG_PROJINHERIT 0x00000200 /* create with parents projid */ +#define XFS_XFLAG_NOSYMLINKS 0x00000400 /* disallow symlink creation */ #define XFS_XFLAG_BARRIER 0x00004000 /* chroot() barrier */ #define XFS_XFLAG_IUNLINK 0x00008000 /* Immutable unlink */ #define XFS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */ @@ -166,7 +169,7 @@ typedef struct xfs_flock64 { __s64 l_start; __s64 l_len; /* len == 0 means until end of file */ __s32 l_sysid; - pid_t l_pid; + __u32 l_pid; __s32 l_pad[4]; /* reserve area */ } xfs_flock64_t; @@ -315,10 +318,10 @@ typedef struct xfs_bstat { * The user-level BulkStat Request interface structure. */ typedef struct xfs_fsop_bulkreq { - __u64 *lastip; /* last inode # pointer */ + __u64 __user *lastip; /* last inode # pointer */ __s32 icount; /* count of entries in buffer */ - void *ubuffer; /* user buffer for inode desc. */ - __s32 *ocount; /* output count pointer */ + void __user *ubuffer;/* user buffer for inode desc. */ + __s32 __user *ocount; /* output count pointer */ } xfs_fsop_bulkreq_t; @@ -346,12 +349,12 @@ typedef struct xfs_error_injection { */ typedef struct xfs_fsop_handlereq { __u32 fd; /* fd for FD_TO_HANDLE */ - void *path; /* user pathname */ + void __user *path; /* user pathname */ __u32 oflags; /* open flags */ - void *ihandle; /* user supplied handle */ + void __user *ihandle;/* user supplied handle */ __u32 ihandlen; /* user supplied length */ - void *ohandle; /* user buffer for handle */ - __u32 *ohandlen; /* user buffer length */ + void __user *ohandle;/* user buffer for handle */ + __u32 __user *ohandlen;/* user buffer length */ } xfs_fsop_handlereq_t; /* @@ -362,35 +365,35 @@ typedef struct xfs_fsop_handlereq { */ typedef struct xfs_fsop_setdm_handlereq { - struct xfs_fsop_handlereq hreq; /* handle interface structure */ - struct fsdmidata *data; /* DMAPI data to set */ + struct xfs_fsop_handlereq hreq; /* handle information */ + struct fsdmidata __user *data; /* DMAPI data */ } xfs_fsop_setdm_handlereq_t; typedef struct xfs_attrlist_cursor { - __u32 opaque[4]; + __u32 opaque[4]; } xfs_attrlist_cursor_t; typedef struct xfs_fsop_attrlist_handlereq { - struct xfs_fsop_handlereq hreq; /* handle interface structure */ - struct xfs_attrlist_cursor pos; /* opaque cookie, list offset */ - __u32 flags; /* flags, use ROOT/USER names */ - __u32 buflen; /* length of buffer supplied */ - void *buffer; /* attrlist data to return */ + struct xfs_fsop_handlereq hreq; /* handle interface structure */ + struct xfs_attrlist_cursor pos; /* opaque cookie, list offset */ + __u32 flags; /* which namespace to use */ + __u32 buflen; /* length of buffer supplied */ + void __user *buffer; /* returned names */ } xfs_fsop_attrlist_handlereq_t; typedef struct xfs_attr_multiop { - __u32 am_opcode; - __s32 am_error; - void *am_attrname; - void *am_attrvalue; - __u32 am_length; - __u32 am_flags; + __u32 am_opcode; + __s32 am_error; + void __user *am_attrname; + void __user *am_attrvalue; + __u32 am_length; + __u32 am_flags; } xfs_attr_multiop_t; typedef struct xfs_fsop_attrmulti_handlereq { - struct xfs_fsop_handlereq hreq; /* handle interface structure */ - __u32 opcount; /* count of following multiop */ - struct xfs_attr_multiop *ops; /* attr_multi data to get/set */ + struct xfs_fsop_handlereq hreq; /* handle interface structure */ + __u32 opcount;/* count of following multiop */ + struct xfs_attr_multiop __user *ops; /* attr_multi data */ } xfs_fsop_attrmulti_handlereq_t; /* @@ -446,6 +449,13 @@ typedef struct xfs_handle { #define XFS_FSOP_GOING_FLAGS_LOGFLUSH 0x1 /* flush log but not data */ #define XFS_FSOP_GOING_FLAGS_NOLOGFLUSH 0x2 /* don't flush log nor data */ +/* + * ioctl commands that are used by Linux filesystems + */ +#define XFS_IOC_GETXFLAGS _IOR('f', 1, long) +#define XFS_IOC_SETXFLAGS _IOW('f', 2, long) +#define XFS_IOC_GETVERSION _IOR('v', 1, long) + /* * ioctl commands that replace IRIX fcntl()'s * For 'documentation' purposed more than anything else, diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c index 36bb461b6..ebc2f27ce 100644 --- a/fs/xfs/xfs_fsops.c +++ b/fs/xfs/xfs_fsops.c @@ -142,6 +142,7 @@ xfs_growfs_data_private( int dpct; int error; xfs_agnumber_t nagcount; + xfs_agnumber_t nagimax = 0; xfs_rfsblock_t nb, nb_mod; xfs_rfsblock_t new; xfs_rfsblock_t nfree; @@ -183,7 +184,7 @@ xfs_growfs_data_private( memset(&mp->m_perag[oagcount], 0, (nagcount - oagcount) * sizeof(xfs_perag_t)); mp->m_flags |= XFS_MOUNT_32BITINODES; - xfs_initialize_perag(mp, nagcount); + nagimax = xfs_initialize_perag(mp, nagcount); up_write(&mp->m_peraglock); } tp = xfs_trans_alloc(mp, XFS_TRANS_GROWFS); @@ -372,6 +373,9 @@ xfs_growfs_data_private( if (error) { return error; } + /* New allocation groups fully initialized, so update mount struct */ + if (nagimax) + mp->m_maxagi = nagimax; if (mp->m_sb.sb_imax_pct) { __uint64_t icount = mp->m_sb.sb_dblocks * mp->m_sb.sb_imax_pct; do_div(icount, 100); @@ -507,9 +511,9 @@ xfs_reserve_blocks( __uint64_t *inval, xfs_fsop_resblks_t *outval) { - __uint64_t lcounter, delta; - __uint64_t request; - unsigned long s; + __int64_t lcounter, delta; + __uint64_t request; + unsigned long s; /* If inval is null, report current values and return */ @@ -536,8 +540,7 @@ xfs_reserve_blocks( mp->m_resblks = request; } else { delta = request - mp->m_resblks; - lcounter = mp->m_sb.sb_fdblocks; - lcounter -= delta; + lcounter = mp->m_sb.sb_fdblocks - delta; if (lcounter < 0) { /* We can't satisfy the request, just get what we can */ mp->m_resblks += mp->m_sb.sb_fdblocks; @@ -587,9 +590,6 @@ xfs_fs_goingdown( xfs_mount_t *mp, __uint32_t inflags) { - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; - switch (inflags) { case XFS_FSOP_GOING_FLAGS_DEFAULT: { struct vfs *vfsp = XFS_MTOVFS(mp); @@ -599,7 +599,7 @@ xfs_fs_goingdown( xfs_force_shutdown(mp, XFS_FORCE_UMOUNT); thaw_bdev(sb->s_bdev, sb); } - + break; } case XFS_FSOP_GOING_FLAGS_LOGFLUSH: diff --git a/fs/xfs/xfs_inode.c b/fs/xfs/xfs_inode.c index 0a7321804..5f661e223 100644 --- a/fs/xfs/xfs_inode.c +++ b/fs/xfs/xfs_inode.c @@ -860,29 +860,36 @@ xfs_dic2xflags( xfs_arch_t arch) { __uint16_t di_flags; - uint flags = 0; + uint flags; di_flags = INT_GET(dic->di_flags, arch); - if (di_flags & XFS_DIFLAG_REALTIME) - flags |= XFS_XFLAG_REALTIME; - if (di_flags & XFS_DIFLAG_PREALLOC) - flags |= XFS_XFLAG_PREALLOC; - if (di_flags & XFS_DIFLAG_IMMUTABLE) - flags |= XFS_XFLAG_IMMUTABLE; - if (di_flags & XFS_DIFLAG_IUNLINK) - flags |= XFS_XFLAG_IUNLINK; - if (di_flags & XFS_DIFLAG_BARRIER) - flags |= XFS_XFLAG_BARRIER; - if (di_flags & XFS_DIFLAG_APPEND) - flags |= XFS_XFLAG_APPEND; - if (di_flags & XFS_DIFLAG_SYNC) - flags |= XFS_XFLAG_SYNC; - if (di_flags & XFS_DIFLAG_NOATIME) - flags |= XFS_XFLAG_NOATIME; - if (di_flags & XFS_DIFLAG_NODUMP) - flags |= XFS_XFLAG_NODUMP; - if (XFS_CFORK_Q_ARCH(dic, arch)) - flags |= XFS_XFLAG_HASATTR; + flags = XFS_CFORK_Q_ARCH(dic, arch) ? XFS_XFLAG_HASATTR : 0; + if (di_flags & XFS_DIFLAG_ANY) { + if (di_flags & XFS_DIFLAG_REALTIME) + flags |= XFS_XFLAG_REALTIME; + if (di_flags & XFS_DIFLAG_PREALLOC) + flags |= XFS_XFLAG_PREALLOC; + if (di_flags & XFS_DIFLAG_IMMUTABLE) + flags |= XFS_XFLAG_IMMUTABLE; + if (di_flags & XFS_DIFLAG_IUNLINK) + flags |= XFS_XFLAG_IUNLINK; + if (di_flags & XFS_DIFLAG_BARRIER) + flags |= XFS_XFLAG_BARRIER; + if (di_flags & XFS_DIFLAG_APPEND) + flags |= XFS_XFLAG_APPEND; + if (di_flags & XFS_DIFLAG_SYNC) + flags |= XFS_XFLAG_SYNC; + if (di_flags & XFS_DIFLAG_NOATIME) + flags |= XFS_XFLAG_NOATIME; + if (di_flags & XFS_DIFLAG_NODUMP) + flags |= XFS_XFLAG_NODUMP; + if (di_flags & XFS_DIFLAG_RTINHERIT) + flags |= XFS_XFLAG_RTINHERIT; + if (di_flags & XFS_DIFLAG_PROJINHERIT) + flags |= XFS_XFLAG_PROJINHERIT; + if (di_flags & XFS_DIFLAG_NOSYMLINKS) + flags |= XFS_XFLAG_NOSYMLINKS; + } return flags; } @@ -1240,8 +1247,15 @@ xfs_ialloc( break; case S_IFREG: case S_IFDIR: - if (pip->i_d.di_flags & - (XFS_DIFLAG_NOATIME|XFS_DIFLAG_NODUMP|XFS_DIFLAG_SYNC)) { + if (unlikely(pip->i_d.di_flags & XFS_DIFLAG_ANY)) { + if (pip->i_d.di_flags & XFS_DIFLAG_RTINHERIT) { + if ((mode & S_IFMT) == S_IFDIR) { + ip->i_d.di_flags |= XFS_DIFLAG_RTINHERIT; + } else { + ip->i_d.di_flags |= XFS_DIFLAG_REALTIME; + ip->i_iocore.io_flags |= XFS_IOCORE_RT; + } + } if ((pip->i_d.di_flags & XFS_DIFLAG_NOATIME) && xfs_inherit_noatime) ip->i_d.di_flags |= XFS_DIFLAG_NOATIME; @@ -1251,7 +1265,11 @@ xfs_ialloc( if ((pip->i_d.di_flags & XFS_DIFLAG_SYNC) && xfs_inherit_sync) ip->i_d.di_flags |= XFS_DIFLAG_SYNC; + if ((pip->i_d.di_flags & XFS_DIFLAG_NOSYMLINKS) && + xfs_inherit_nosymlinks) + ip->i_d.di_flags |= XFS_DIFLAG_NOSYMLINKS; } + /* FALLTHROUGH */ case S_IFLNK: ip->i_d.di_format = XFS_DINODE_FMT_EXTENTS; ip->i_df.if_flags = XFS_IFEXTENTS; @@ -3583,6 +3601,7 @@ corrupt_out: return XFS_ERROR(EFSCORRUPTED); } + /* * Flush all inactive inodes in mp. Return true if no user references * were found, false otherwise. @@ -3638,7 +3657,6 @@ xfs_iflush_all( continue; } if (!(flag & XFS_FLUSH_ALL)) { - ASSERT(0); busy = 1; done = 1; break; @@ -3855,6 +3873,6 @@ xfs_ilock_trace(xfs_inode_t *ip, int lock, unsigned int lockflags, inst_t *ra) (void *)ra, /* caller of ilock */ (void *)(unsigned long)current_cpu(), (void *)(unsigned long)current_pid(), - 0,0,0,0,0,0,0,0,0,0); + NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); } #endif diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h index f606073ad..dc32e4aa8 100644 --- a/fs/xfs/xfs_inode.h +++ b/fs/xfs/xfs_inode.h @@ -508,7 +508,6 @@ void xfs_xlate_dinode_core(xfs_caddr_t, struct xfs_dinode_core *, uint xfs_dic2xflags(struct xfs_dinode_core *, xfs_arch_t); int xfs_ifree(struct xfs_trans *, xfs_inode_t *, struct xfs_bmap_free *); -int xfs_atruncate_start(xfs_inode_t *); void xfs_itruncate_start(xfs_inode_t *, uint, xfs_fsize_t); int xfs_itruncate_finish(struct xfs_trans **, xfs_inode_t *, xfs_fsize_t, int, int); diff --git a/fs/xfs/xfs_iomap.c b/fs/xfs/xfs_iomap.c index 7e1c1290a..3826e8f0e 100644 --- a/fs/xfs/xfs_iomap.c +++ b/fs/xfs/xfs_iomap.c @@ -165,20 +165,24 @@ xfs_imap_to_bmap( nisize = io->io_new_size; for (pbm = 0; imaps && pbm < iomaps; imaps--, iomapp++, imap++, pbm++) { - iomapp->iomap_target = io->io_flags & XFS_IOCORE_RT ? - mp->m_rtdev_targp : mp->m_ddev_targp; iomapp->iomap_offset = XFS_FSB_TO_B(mp, imap->br_startoff); iomapp->iomap_delta = offset - iomapp->iomap_offset; iomapp->iomap_bsize = XFS_FSB_TO_B(mp, imap->br_blockcount); iomapp->iomap_flags = flags; + if (io->io_flags & XFS_IOCORE_RT) { + iomapp->iomap_flags |= IOMAP_REALTIME; + iomapp->iomap_target = mp->m_rtdev_targp; + } else { + iomapp->iomap_target = mp->m_ddev_targp; + } start_block = imap->br_startblock; if (start_block == HOLESTARTBLOCK) { iomapp->iomap_bn = IOMAP_DADDR_NULL; - iomapp->iomap_flags = IOMAP_HOLE; + iomapp->iomap_flags |= IOMAP_HOLE; } else if (start_block == DELAYSTARTBLOCK) { iomapp->iomap_bn = IOMAP_DADDR_NULL; - iomapp->iomap_flags = IOMAP_DELAY; + iomapp->iomap_flags |= IOMAP_DELAY; } else { iomapp->iomap_bn = XFS_FSB_TO_DB_IO(io, start_block); if (ISUNWRITTEN(imap)) @@ -512,6 +516,15 @@ xfs_iomap_write_direct( *ret_imap = imap[0]; *nmaps = 1; + if ( !(io->io_flags & XFS_IOCORE_RT) && !ret_imap->br_startblock) { + cmn_err(CE_PANIC,"Access to block zero: fs <%s> inode: %lld " + "start_block : %llx start_off : %llx blkcnt : %llx " + "extent-state : %x \n", + (ip->i_mount)->m_fsname, + (long long)ip->i_ino, + ret_imap->br_startblock, ret_imap->br_startoff, + ret_imap->br_blockcount,ret_imap->br_state); + } return 0; error0: /* Cancel bmap, unlock inode, and cancel trans */ @@ -572,8 +585,10 @@ retry: * out to the file system's write iosize. We clean up any extra * space left over when the file is closed in xfs_inactive(). * - * We don't bother with this for sync writes, because we need - * to minimize the amount we write for good performance. + * For sync writes, we are flushing delayed allocate space to + * try to make additional space available for allocation near + * the filesystem full boundary - preallocation hurts in that + * situation, of course. */ if (!(ioflag & BMAPI_SYNC) && ((offset + count) > ip->i_d.di_size)) { xfs_off_t aligned_offset; @@ -598,6 +613,20 @@ retry: return error; } for (n = 0; n < nimaps; n++) { + if ( !(io->io_flags & XFS_IOCORE_RT) && + !imap[n].br_startblock) { + cmn_err(CE_PANIC,"Access to block " + "zero: fs <%s> inode: %lld " + "start_block : %llx start_off " + ": %llx blkcnt : %llx " + "extent-state : %x \n", + (ip->i_mount)->m_fsname, + (long long)ip->i_ino, + imap[n].br_startblock, + imap[n].br_startoff, + imap[n].br_blockcount, + imap[n].br_state); + } if ((imap[n].br_startblock != HOLESTARTBLOCK) && (imap[n].br_startblock != DELAYSTARTBLOCK)) { goto write_map; @@ -621,7 +650,8 @@ write_map: * request to a stripe width boundary if the file size is >= * stripe width and we are allocating past the allocation eof. */ - if (mp->m_swidth && (mp->m_flags & XFS_MOUNT_SWALLOC) + if (!(io->io_flags & XFS_IOCORE_RT) && mp->m_swidth + && (mp->m_flags & XFS_MOUNT_SWALLOC) && (isize >= XFS_FSB_TO_B(mp, mp->m_swidth)) && aeof) { int eof; xfs_fileoff_t new_last_fsb; @@ -639,8 +669,8 @@ write_map: * if the file size is >= stripe unit size, and we are allocating past * the allocation eof. */ - } else if (mp->m_dalign && (isize >= XFS_FSB_TO_B(mp, mp->m_dalign)) - && aeof) { + } else if (!(io->io_flags & XFS_IOCORE_RT) && mp->m_dalign && + (isize >= XFS_FSB_TO_B(mp, mp->m_dalign)) && aeof) { int eof; xfs_fileoff_t new_last_fsb; new_last_fsb = roundup_64(last_fsb, mp->m_dalign); @@ -651,8 +681,22 @@ write_map: if (eof) { last_fsb = new_last_fsb; } - } + /* + * Round up the allocation request to a real-time extent boundary + * if the file is on the real-time subvolume. + */ + } else if (io->io_flags & XFS_IOCORE_RT && aeof) { + int eof; + xfs_fileoff_t new_last_fsb; + new_last_fsb = roundup_64(last_fsb, mp->m_sb.sb_rextsize); + error = XFS_BMAP_EOF(mp, io, new_last_fsb, XFS_DATA_FORK, &eof); + if (error) { + return error; + } + if (eof) + last_fsb = new_last_fsb; + } error = xfs_bmapi(NULL, ip, offset_fsb, (xfs_filblks_t)(last_fsb - offset_fsb), XFS_BMAPI_DELAY | XFS_BMAPI_WRITE | @@ -680,6 +724,15 @@ write_map: *ret_imap = imap[0]; *nmaps = 1; + if ( !(io->io_flags & XFS_IOCORE_RT) && !ret_imap->br_startblock) { + cmn_err(CE_PANIC,"Access to block zero: fs <%s> inode: %lld " + "start_block : %llx start_off : %llx blkcnt : %llx " + "extent-state : %x \n", + (ip->i_mount)->m_fsname, + (long long)ip->i_ino, + ret_imap->br_startblock, ret_imap->br_startoff, + ret_imap->br_blockcount,ret_imap->br_state); + } return 0; } @@ -697,6 +750,7 @@ xfs_iomap_write_allocate( int *retmap) { xfs_mount_t *mp = ip->i_mount; + xfs_iocore_t *io = &ip->i_iocore; xfs_fileoff_t offset_fsb, last_block; xfs_fileoff_t end_fsb, map_start_fsb; xfs_fsblock_t first_block; @@ -802,6 +856,18 @@ xfs_iomap_write_allocate( */ for (i = 0; i < nimaps; i++) { + if ( !(io->io_flags & XFS_IOCORE_RT) && + !imap[i].br_startblock) { + cmn_err(CE_PANIC,"Access to block zero: " + "fs <%s> inode: %lld " + "start_block : %llx start_off : %llx " + "blkcnt : %llx extent-state : %x \n", + (ip->i_mount)->m_fsname, + (long long)ip->i_ino, + imap[i].br_startblock, + imap[i].br_startoff, + imap[i].br_blockcount,imap[i].br_state); + } if ((map->br_startoff >= imap[i].br_startoff) && (map->br_startoff < (imap[i].br_startoff + imap[i].br_blockcount))) { @@ -837,6 +903,7 @@ xfs_iomap_write_unwritten( size_t count) { xfs_mount_t *mp = ip->i_mount; + xfs_iocore_t *io = &ip->i_iocore; xfs_trans_t *tp; xfs_fileoff_t offset_fsb; xfs_filblks_t count_fsb; @@ -853,7 +920,8 @@ xfs_iomap_write_unwritten( &ip->i_iocore, offset, count); offset_fsb = XFS_B_TO_FSBT(mp, offset); - count_fsb = XFS_B_TO_FSB(mp, count); + count_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + count); + count_fsb = (xfs_filblks_t)(count_fsb - offset_fsb); do { nres = XFS_DIOSTRAT_SPACE_RES(mp, 0); @@ -898,6 +966,16 @@ xfs_iomap_write_unwritten( xfs_iunlock(ip, XFS_ILOCK_EXCL); if (error) goto error0; + + if ( !(io->io_flags & XFS_IOCORE_RT) && !imap.br_startblock) { + cmn_err(CE_PANIC,"Access to block zero: fs <%s> " + "inode: %lld start_block : %llx start_off : " + "%llx blkcnt : %llx extent-state : %x \n", + (ip->i_mount)->m_fsname, + (long long)ip->i_ino, + imap.br_startblock,imap.br_startoff, + imap.br_blockcount,imap.br_state); + } if ((numblks_fsb = imap.br_blockcount) == 0) { /* diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 01fae1abb..36dc09c8c 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c @@ -68,7 +68,7 @@ int /* error status */ xfs_bulkstat_one( xfs_mount_t *mp, /* mount point for filesystem */ xfs_ino_t ino, /* inode number to get data for */ - void *buffer, /* buffer to place output in */ + void __user *buffer, /* buffer to place output in */ int ubsize, /* size of buffer */ void *private_data, /* my private data */ xfs_daddr_t bno, /* starting bno of inode cluster */ @@ -231,7 +231,7 @@ xfs_bulkstat( bulkstat_one_pf formatter, /* func that'd fill a single buf */ void *private_data,/* private data for formatter */ size_t statstruct_size, /* sizeof struct filling */ - xfs_caddr_t ubuffer, /* buffer with inode stats */ + char __user *ubuffer, /* buffer with inode stats */ int flags, /* defined in xfs_itable.h */ int *done) /* 1 if there're more stats to get */ { @@ -265,7 +265,7 @@ xfs_bulkstat( int tmp; /* result value from btree calls */ int ubcount; /* size of user's buffer */ int ubleft; /* bytes left in user's buffer */ - xfs_caddr_t ubufp; /* current pointer into user's buffer */ + char __user *ubufp; /* pointer into user's buffer */ int ubelem; /* spaces used in user's buffer */ int ubused; /* bytes used by formatter */ xfs_buf_t *bp; /* ptr to on-disk inode cluster buf */ @@ -633,7 +633,7 @@ int /* error status */ xfs_bulkstat_single( xfs_mount_t *mp, /* mount point for filesystem */ xfs_ino_t *lastinop, /* inode to return */ - xfs_caddr_t buffer, /* buffer with inode stats */ + char __user *buffer, /* buffer with inode stats */ int *done) /* 1 if there're more stats to get */ { int count; /* count value for bulkstat call */ @@ -682,7 +682,7 @@ xfs_inumbers( xfs_mount_t *mp, /* mount point for filesystem */ xfs_ino_t *lastino, /* last inode returned */ int *count, /* size of buffer/count returned */ - xfs_caddr_t ubuffer) /* buffer with inode descriptions */ + xfs_inogrp_t __user *ubuffer)/* buffer with inode descriptions */ { xfs_buf_t *agbp; xfs_agino_t agino; @@ -766,7 +766,7 @@ xfs_inumbers( error = XFS_ERROR(EFAULT); break; } - ubuffer += bufidx * sizeof(*buffer); + ubuffer += bufidx; *count += bufidx; bufidx = 0; } diff --git a/fs/xfs/xfs_itable.h b/fs/xfs/xfs_itable.h index 476e531a9..2be9d1805 100644 --- a/fs/xfs/xfs_itable.h +++ b/fs/xfs/xfs_itable.h @@ -40,7 +40,7 @@ */ typedef int (*bulkstat_one_pf)(struct xfs_mount *mp, xfs_ino_t ino, - void *buffer, + void __user *buffer, int ubsize, void *private_data, xfs_daddr_t bno, @@ -73,7 +73,7 @@ xfs_bulkstat( bulkstat_one_pf formatter, /* func that'd fill a single buf */ void *private_data, /* private data for formatter */ size_t statstruct_size,/* sizeof struct that we're filling */ - xfs_caddr_t ubuffer, /* buffer with inode stats */ + char __user *ubuffer,/* buffer with inode stats */ int flags, /* flag to control access method */ int *done); /* 1 if there're more stats to get */ @@ -81,14 +81,14 @@ int xfs_bulkstat_single( xfs_mount_t *mp, xfs_ino_t *lastinop, - xfs_caddr_t buffer, + char __user *buffer, int *done); int xfs_bulkstat_one( xfs_mount_t *mp, xfs_ino_t ino, - void *buffer, + void __user *buffer, int ubsize, void *private_data, xfs_daddr_t bno, @@ -101,6 +101,6 @@ xfs_inumbers( xfs_mount_t *mp, /* mount point for filesystem */ xfs_ino_t *last, /* last inode returned */ int *count, /* size of buffer/count returned */ - xfs_caddr_t buffer);/* buffer with inode descriptions */ + xfs_inogrp_t __user *buffer);/* buffer with inode info */ #endif /* __XFS_ITABLE_H__ */ diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 212d4e837..7db33af12 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -122,7 +122,6 @@ STATIC void xlog_ticket_put(xlog_t *log, xlog_ticket_t *ticket); /* local debug functions */ #if defined(DEBUG) && !defined(XLOG_NOLOG) STATIC void xlog_verify_dest_ptr(xlog_t *log, __psint_t ptr); -STATIC void xlog_verify_disk_cycle_no(xlog_t *log, xlog_in_core_t *iclog); STATIC void xlog_verify_grant_head(xlog_t *log, int equals); STATIC void xlog_verify_iclog(xlog_t *log, xlog_in_core_t *iclog, int count, boolean_t syncing); @@ -130,7 +129,6 @@ STATIC void xlog_verify_tail_lsn(xlog_t *log, xlog_in_core_t *iclog, xfs_lsn_t tail_lsn); #else #define xlog_verify_dest_ptr(a,b) -#define xlog_verify_disk_cycle_no(a,b) #define xlog_verify_grant_head(a,b) #define xlog_verify_iclog(a,b,c,d) #define xlog_verify_tail_lsn(a,b,c) @@ -356,13 +354,13 @@ xfs_log_notify(xfs_mount_t *mp, /* mount of partition */ if (!xlog_debug && xlog_target == log->l_targ) return 0; #endif - cb->cb_next = 0; + cb->cb_next = NULL; spl = LOG_LOCK(log); abortflg = (iclog->ic_state & XLOG_STATE_IOERROR); if (!abortflg) { ASSERT_ALWAYS((iclog->ic_state == XLOG_STATE_ACTIVE) || (iclog->ic_state == XLOG_STATE_WANT_SYNC)); - cb->cb_next = 0; + cb->cb_next = NULL; *(iclog->ic_callback_tail) = cb; iclog->ic_callback_tail = &(cb->cb_next); } @@ -564,7 +562,7 @@ xfs_log_unmount_write(xfs_mount_t *mp) xlog_in_core_t *first_iclog; #endif xfs_log_iovec_t reg[1]; - xfs_log_ticket_t tic = 0; + xfs_log_ticket_t tic = NULL; xfs_lsn_t lsn; int error; SPLDECL(s); @@ -813,7 +811,7 @@ xfs_log_need_covered(xfs_mount_t *mp) xlog_t *log = mp->m_log; vfs_t *vfsp = XFS_MTOVFS(mp); - if (vfsp->vfs_super->s_frozen || XFS_FORCED_SHUTDOWN(mp) || + if (fs_frozen(vfsp) || XFS_FORCED_SHUTDOWN(mp) || (vfsp->vfs_flag & VFS_RDONLY)) return 0; @@ -1277,7 +1275,7 @@ xlog_commit_record(xfs_mount_t *mp, int error; xfs_log_iovec_t reg[1]; - reg[0].i_addr = 0; + reg[0].i_addr = NULL; reg[0].i_len = 0; ASSERT_ALWAYS(iclog); @@ -1413,9 +1411,13 @@ xlog_sync(xlog_t *log, xlog_pack_data(log, iclog); /* put cycle number in every block */ /* real byte length */ - INT_SET(iclog->ic_header.h_len, - ARCH_CONVERT, - iclog->ic_offset + iclog->ic_roundoff); + if (XFS_SB_VERSION_HASLOGV2(&log->l_mp->m_sb)) { + INT_SET(iclog->ic_header.h_len, + ARCH_CONVERT, + iclog->ic_offset + iclog->ic_roundoff); + } else { + INT_SET(iclog->ic_header.h_len, ARCH_CONVERT, iclog->ic_offset); + } /* put ops count in correct order */ ops = iclog->ic_header.h_num_logops; @@ -1857,7 +1859,7 @@ xlog_state_clean_log(xlog_t *log) if (iclog->ic_state == XLOG_STATE_DIRTY) { iclog->ic_state = XLOG_STATE_ACTIVE; iclog->ic_offset = 0; - iclog->ic_callback = 0; /* don't need to free */ + iclog->ic_callback = NULL; /* don't need to free */ /* * If the number of ops in this iclog indicate it just * contains the dummy transaction, we can @@ -2080,7 +2082,7 @@ xlog_state_do_callback( while (cb != 0) { iclog->ic_callback_tail = &(iclog->ic_callback); - iclog->ic_callback = 0; + iclog->ic_callback = NULL; LOG_UNLOCK(log, s); /* perform callbacks in the order given */ @@ -3098,7 +3100,7 @@ xlog_state_ticket_alloc(xlog_t *log) log->l_ticket_cnt++; log->l_ticket_tcnt++; } - t_list->t_next = 0; + t_list->t_next = NULL; log->l_tail = t_list; LOG_UNLOCK(log, s); } /* xlog_state_ticket_alloc */ @@ -3126,7 +3128,7 @@ xlog_ticket_put(xlog_t *log, /* no need to clear fields */ #else /* When we debug, it is easier if tickets are cycled */ - ticket->t_next = 0; + ticket->t_next = NULL; if (log->l_tail != 0) { log->l_tail->t_next = ticket; } else { @@ -3242,33 +3244,6 @@ xlog_verify_dest_ptr(xlog_t *log, xlog_panic("xlog_verify_dest_ptr: invalid ptr"); } /* xlog_verify_dest_ptr */ - -#ifdef DEBUG -/* check split LR write */ -STATIC void -xlog_verify_disk_cycle_no(xlog_t *log, - xlog_in_core_t *iclog) -{ - xfs_buf_t *bp; - uint cycle_no; - xfs_caddr_t ptr; - xfs_daddr_t i; - - if (BLOCK_LSN(iclog->ic_header.h_lsn, ARCH_CONVERT) < 10) { - cycle_no = CYCLE_LSN(iclog->ic_header.h_lsn, ARCH_CONVERT); - bp = xlog_get_bp(log, 1); - ASSERT(bp); - for (i = 0; i < BLOCK_LSN(iclog->ic_header.h_lsn, ARCH_CONVERT); i++) { - xlog_bread(log, i, 1, bp); - ptr = xlog_align(log, i, 1, bp); - if (GET_CYCLE(ptr, ARCH_CONVERT) != cycle_no) - xlog_warn("XFS: xlog_verify_disk_cycle_no: bad cycle no"); - } - xlog_put_bp(bp); - } -} /* xlog_verify_disk_cycle_no */ -#endif - STATIC void xlog_verify_grant_head(xlog_t *log, int equals) { diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 2e5ab6af8..028685574 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -2047,12 +2047,11 @@ xfs_qm_dqcheck( errs++; } - if (! errs) { + if (! errs && !INT_ISZERO(ddq->d_id, ARCH_CONVERT)) { if (INT_GET(ddq->d_blk_softlimit, ARCH_CONVERT) && INT_GET(ddq->d_bcount, ARCH_CONVERT) >= INT_GET(ddq->d_blk_softlimit, ARCH_CONVERT)) { - if (INT_ISZERO(ddq->d_btimer, ARCH_CONVERT) && - !INT_ISZERO(ddq->d_id, ARCH_CONVERT)) { + if (INT_ISZERO(ddq->d_btimer, ARCH_CONVERT)) { if (flags & XFS_QMOPT_DOWARN) cmn_err(CE_ALERT, "%s : Dquot ID 0x%x (0x%p) " @@ -2065,8 +2064,7 @@ xfs_qm_dqcheck( if (INT_GET(ddq->d_ino_softlimit, ARCH_CONVERT) && INT_GET(ddq->d_icount, ARCH_CONVERT) >= INT_GET(ddq->d_ino_softlimit, ARCH_CONVERT)) { - if (INT_ISZERO(ddq->d_itimer, ARCH_CONVERT) && - !INT_ISZERO(ddq->d_id, ARCH_CONVERT)) { + if (INT_ISZERO(ddq->d_itimer, ARCH_CONVERT)) { if (flags & XFS_QMOPT_DOWARN) cmn_err(CE_ALERT, "%s : Dquot ID 0x%x (0x%p) " @@ -2076,6 +2074,19 @@ xfs_qm_dqcheck( errs++; } } + if (INT_GET(ddq->d_rtb_softlimit, ARCH_CONVERT) && + INT_GET(ddq->d_rtbcount, ARCH_CONVERT) >= + INT_GET(ddq->d_rtb_softlimit, ARCH_CONVERT)) { + if (INT_ISZERO(ddq->d_rtbtimer, ARCH_CONVERT)) { + if (flags & XFS_QMOPT_DOWARN) + cmn_err(CE_ALERT, + "%s : Dquot ID 0x%x (0x%p) " + "RTBLK TIMER NOT STARTED", + str, (int) + INT_GET(ddq->d_id, ARCH_CONVERT), ddq); + errs++; + } + } } if (!errs || !(flags & XFS_QMOPT_DQREPAIR)) @@ -2319,7 +2330,7 @@ xlog_recover_do_inode_trans( * invalidate the buffer when we write it out below. */ imap.im_blkno = 0; - xfs_imap(log->l_mp, 0, ino, &imap, 0); + xfs_imap(log->l_mp, NULL, ino, &imap, 0); } /* diff --git a/fs/xfs/xfs_mount.c b/fs/xfs/xfs_mount.c index 93c544ee5..9c8e7c5a7 100644 --- a/fs/xfs/xfs_mount.c +++ b/fs/xfs/xfs_mount.c @@ -278,17 +278,22 @@ xfs_mount_validate_sb( return XFS_ERROR(EFSCORRUPTED); } -#if !XFS_BIG_BLKNOS + ASSERT(PAGE_SHIFT >= sbp->sb_blocklog); + ASSERT(sbp->sb_blocklog >= BBSHIFT); + +#if XFS_BIG_BLKNOS /* Limited by ULONG_MAX of page cache index */ + if (unlikely( + (sbp->sb_dblocks >> (PAGE_SHIFT - sbp->sb_blocklog)) > ULONG_MAX || + (sbp->sb_rblocks >> (PAGE_SHIFT - sbp->sb_blocklog)) > ULONG_MAX)) { +#else /* Limited by UINT_MAX of sectors */ if (unlikely( - (sbp->sb_dblocks << (__uint64_t)(sbp->sb_blocklog - BBSHIFT)) - > UINT_MAX || - (sbp->sb_rblocks << (__uint64_t)(sbp->sb_blocklog - BBSHIFT)) - > UINT_MAX)) { + (sbp->sb_dblocks << (sbp->sb_blocklog - BBSHIFT)) > UINT_MAX || + (sbp->sb_rblocks << (sbp->sb_blocklog - BBSHIFT)) > UINT_MAX)) { +#endif cmn_err(CE_WARN, "XFS: File system is too large to be mounted on this system."); return XFS_ERROR(E2BIG); } -#endif if (unlikely(sbp->sb_inprogress)) { cmn_err(CE_WARN, "XFS: file system busy"); @@ -313,10 +318,10 @@ xfs_mount_validate_sb( return 0; } -void -xfs_initialize_perag(xfs_mount_t *mp, int agcount) +xfs_agnumber_t +xfs_initialize_perag(xfs_mount_t *mp, xfs_agnumber_t agcount) { - int index, max_metadata; + xfs_agnumber_t index, max_metadata; xfs_perag_t *pag; xfs_agino_t agino; xfs_ino_t ino; @@ -372,7 +377,7 @@ xfs_initialize_perag(xfs_mount_t *mp, int agcount) pag->pagi_inodeok = 1; } } - mp->m_maxagi = index; + return index; } /* @@ -633,9 +638,8 @@ xfs_mountfs( xfs_buf_t *bp; xfs_sb_t *sbp = &(mp->m_sb); xfs_inode_t *rip; - vnode_t *rvp = 0; + vnode_t *rvp = NULL; int readio_log, writeio_log; - vmap_t vmap; xfs_daddr_t d; __uint64_t ret64; __int64_t update_flags; @@ -947,7 +951,7 @@ xfs_mountfs( mp->m_perag = kmem_zalloc(sbp->sb_agcount * sizeof(xfs_perag_t), KM_SLEEP); - xfs_initialize_perag(mp, sbp->sb_agcount); + mp->m_maxagi = xfs_initialize_perag(mp, sbp->sb_agcount); /* * log's mount-time initialization. Perform 1st part recovery if needed @@ -979,7 +983,6 @@ xfs_mountfs( ASSERT(rip != NULL); rvp = XFS_ITOV(rip); - VMAP(rvp, vmap); if (unlikely((rip->i_d.di_mode & S_IFMT) != S_IFDIR)) { cmn_err(CE_WARN, "XFS: corrupted root inode"); @@ -1043,7 +1046,6 @@ xfs_mountfs( * Free up the root inode. */ VN_RELE(rvp); - vn_purge(rvp, &vmap); error3: xfs_log_unmount_dealloc(mp); error2: diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h index f51ec1296..c194b8ef0 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -551,7 +551,7 @@ extern int xfs_readsb(xfs_mount_t *mp); extern void xfs_freesb(xfs_mount_t *); extern void xfs_do_force_shutdown(bhv_desc_t *, int, char *, int); extern int xfs_syncsub(xfs_mount_t *, int, int, int *); -extern void xfs_initialize_perag(xfs_mount_t *, int); +extern xfs_agnumber_t xfs_initialize_perag(xfs_mount_t *, xfs_agnumber_t); extern void xfs_xlatesb(void *, struct xfs_sb *, int, xfs_arch_t, __int64_t); diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index c130d4259..431c8f450 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c @@ -1966,7 +1966,8 @@ xfs_growfs_rt( /* * Calculate new parameters. These are the final values to be reached. */ - nrextents = do_div(nrblocks, in->extsize); + nrextents = nrblocks; + do_div(nrextents, in->extsize); nrbmblocks = roundup_64(nrextents, NBBY * sbp->sb_blocksize); nrextslog = xfs_highbit32(nrextents); nrsumlevels = nrextslog + 1; @@ -2021,7 +2022,8 @@ xfs_growfs_rt( XFS_RTMIN(nrblocks, nsbp->sb_rbmblocks * NBBY * nsbp->sb_blocksize * nsbp->sb_rextsize); - nsbp->sb_rextents = do_div(nsbp->sb_rblocks, nsbp->sb_rextsize); + nsbp->sb_rextents = nsbp->sb_rblocks; + do_div(nsbp->sb_rextents, nsbp->sb_rextsize); nsbp->sb_rextslog = xfs_highbit32(nsbp->sb_rextents); nrsumlevels = nmp->m_rsumlevels = nsbp->sb_rextslog + 1; nrsumsize = @@ -2353,13 +2355,7 @@ xfs_rtmount_inodes( ASSERT(sbp->sb_rsumino != NULLFSINO); error = xfs_iget(mp, NULL, sbp->sb_rsumino, 0, &mp->m_rsumip, 0); if (error) { - vnode_t *rbmvp; /* vnode for bitmap file */ - vmap_t vmap; /* vmap to delete vnode */ - - rbmvp = XFS_ITOV(mp->m_rbmip); - VMAP(rbmvp, vmap); - VN_RELE(rbmvp); - vn_purge(rbmvp, &vmap); + VN_RELE(XFS_ITOV(mp->m_rbmip)); return error; } ASSERT(mp->m_rsumip != NULL); diff --git a/fs/xfs/xfs_trans.c b/fs/xfs/xfs_trans.c index 818857739..3db0e2200 100644 --- a/fs/xfs/xfs_trans.c +++ b/fs/xfs/xfs_trans.c @@ -131,7 +131,7 @@ xfs_trans_alloc( xfs_mount_t *mp, uint type) { - vfs_check_frozen(XFS_MTOVFS(mp)->vfs_super, SB_FREEZE_TRANS); + fs_check_frozen(XFS_MTOVFS(mp), SB_FREEZE_TRANS); atomic_inc(&mp->m_active_trans); return (_xfs_trans_alloc(mp, type)); @@ -491,6 +491,9 @@ xfs_trans_apply_sb_deltas( if (tp->t_frextents_delta != 0) { INT_MOD(sbp->sb_frextents, ARCH_CONVERT, tp->t_frextents_delta); } + if (tp->t_res_frextents_delta != 0) { + INT_MOD(sbp->sb_frextents, ARCH_CONVERT, tp->t_res_frextents_delta); + } if (tp->t_dblocks_delta != 0) { INT_MOD(sbp->sb_dblocks, ARCH_CONVERT, tp->t_dblocks_delta); whole = 1; diff --git a/fs/xfs/xfs_trans_item.c b/fs/xfs/xfs_trans_item.c index 767af4810..1b8a756d8 100644 --- a/fs/xfs/xfs_trans_item.c +++ b/fs/xfs/xfs_trans_item.c @@ -290,7 +290,7 @@ xfs_trans_next_item(xfs_trans_t *tp, xfs_log_item_desc_t *lidp) } ASSERT(0); /* NOTREACHED */ - return 0; /* keep gcc quite */ + return NULL; /* keep gcc quite */ } /* diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index 114c53a76..dc6037a46 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c @@ -430,6 +430,16 @@ xfs_mount( ddev = vfsp->vfs_super->s_bdev; logdev = rtdev = NULL; + /* + * Setup xfs_mount function vectors from available behaviors + */ + p = vfs_bhv_lookup(vfsp, VFS_POSITION_DM); + mp->m_dm_ops = p ? *(xfs_dmops_t *) vfs_bhv_custom(p) : xfs_dmcore_stub; + p = vfs_bhv_lookup(vfsp, VFS_POSITION_QM); + mp->m_qm_ops = p ? *(xfs_qmops_t *) vfs_bhv_custom(p) : xfs_qmcore_stub; + p = vfs_bhv_lookup(vfsp, VFS_POSITION_IO); + mp->m_io_ops = p ? *(xfs_ioops_t *) vfs_bhv_custom(p) : xfs_iocore_xfs; + /* * Open real time and log devices - order is important. */ @@ -454,69 +464,74 @@ xfs_mount( } } - /* - * Setup xfs_mount function vectors from available behaviors - */ - p = vfs_bhv_lookup(vfsp, VFS_POSITION_DM); - mp->m_dm_ops = p ? *(xfs_dmops_t *) vfs_bhv_custom(p) : xfs_dmcore_stub; - p = vfs_bhv_lookup(vfsp, VFS_POSITION_QM); - mp->m_qm_ops = p ? *(xfs_qmops_t *) vfs_bhv_custom(p) : xfs_qmcore_stub; - p = vfs_bhv_lookup(vfsp, VFS_POSITION_IO); - mp->m_io_ops = p ? *(xfs_ioops_t *) vfs_bhv_custom(p) : xfs_iocore_xfs; - /* * Setup xfs_mount buffer target pointers */ + error = ENOMEM; mp->m_ddev_targp = xfs_alloc_buftarg(ddev); - if (rtdev) + if (!mp->m_ddev_targp) { + xfs_blkdev_put(logdev); + xfs_blkdev_put(rtdev); + return error; + } + if (rtdev) { mp->m_rtdev_targp = xfs_alloc_buftarg(rtdev); + if (!mp->m_rtdev_targp) + goto error0; + } mp->m_logdev_targp = (logdev && logdev != ddev) ? xfs_alloc_buftarg(logdev) : mp->m_ddev_targp; + if (!mp->m_logdev_targp) + goto error0; /* * Setup flags based on mount(2) options and then the superblock */ error = xfs_start_flags(vfsp, args, mp); if (error) - goto error; + goto error1; error = xfs_readsb(mp); if (error) - goto error; + goto error1; error = xfs_finish_flags(vfsp, args, mp); - if (error) { - xfs_freesb(mp); - goto error; - } + if (error) + goto error2; /* * Setup xfs_mount buffer target pointers based on superblock */ - xfs_setsize_buftarg(mp->m_ddev_targp, mp->m_sb.sb_blocksize, - mp->m_sb.sb_sectsize); - if (logdev && logdev != ddev) { + error = xfs_setsize_buftarg(mp->m_ddev_targp, mp->m_sb.sb_blocksize, + mp->m_sb.sb_sectsize); + if (!error && logdev && logdev != ddev) { unsigned int log_sector_size = BBSIZE; if (XFS_SB_VERSION_HASSECTOR(&mp->m_sb)) log_sector_size = mp->m_sb.sb_logsectsize; - xfs_setsize_buftarg(mp->m_logdev_targp, mp->m_sb.sb_blocksize, - log_sector_size); + error = xfs_setsize_buftarg(mp->m_logdev_targp, + mp->m_sb.sb_blocksize, + log_sector_size); } - if (rtdev) - xfs_setsize_buftarg(mp->m_rtdev_targp, mp->m_sb.sb_blocksize, - mp->m_sb.sb_blocksize); + if (!error && rtdev) + error = xfs_setsize_buftarg(mp->m_rtdev_targp, + mp->m_sb.sb_blocksize, + mp->m_sb.sb_sectsize); + if (error) + goto error2; - if (!(error = XFS_IOINIT(vfsp, args, flags))) + error = XFS_IOINIT(vfsp, args, flags); + if (!error) return 0; - - error: +error2: + if (mp->m_sb_bp) + xfs_freesb(mp); +error1: xfs_binval(mp->m_ddev_targp); - if (logdev != NULL && logdev != ddev) { + if (logdev && logdev != ddev) xfs_binval(mp->m_logdev_targp); - } - if (rtdev != NULL) { + if (rtdev) xfs_binval(mp->m_rtdev_targp); - } - xfs_unmountfs_close(mp, NULL); +error0: + xfs_unmountfs_close(mp, credp); return error; } @@ -1040,6 +1055,11 @@ xfs_sync_inodes( continue; } + if (VN_BAD(vp)) { + ip = ip->i_mnext; + continue; + } + if (XFS_FORCED_SHUTDOWN(mp) && !(flags & SYNC_CLOSE)) { XFS_MOUNT_IUNLOCK(mp); kmem_free(ipointer, sizeof(xfs_iptr_t)); @@ -1567,31 +1587,35 @@ xfs_vget( vnode_t **vpp, fid_t *fidp) { - xfs_fid_t *xfid; + xfs_mount_t *mp = XFS_BHVTOM(bdp); + xfs_fid_t *xfid = (struct xfs_fid *)fidp; xfs_inode_t *ip; int error; xfs_ino_t ino; unsigned int igen; - xfs_mount_t *mp; - xfid = (struct xfs_fid *)fidp; - if (xfid->xfs_fid_len == sizeof(*xfid) - sizeof(xfid->xfs_fid_len)) { - ino = xfid->xfs_fid_ino; - igen = xfid->xfs_fid_gen; - } else { - /* - * Invalid. Since handles can be created in user space - * and passed in via gethandle(), this is not cause for - * a panic. - */ + /* + * Invalid. Since handles can be created in user space and passed in + * via gethandle(), this is not cause for a panic. + */ + if (xfid->xfs_fid_len != sizeof(*xfid) - sizeof(xfid->xfs_fid_len)) return XFS_ERROR(EINVAL); - } - mp = XFS_BHVTOM(bdp); + + ino = xfid->xfs_fid_ino; + igen = xfid->xfs_fid_gen; + + /* + * NFS can sometimes send requests for ino 0. Fail them gracefully. + */ + if (ino == 0) + return XFS_ERROR(ESTALE); + error = xfs_iget(mp, NULL, ino, XFS_ILOCK_SHARED, &ip, 0); if (error) { *vpp = NULL; return error; } + if (ip == NULL) { *vpp = NULL; return XFS_ERROR(EIO); diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c index 05ab682c6..95fea44c4 100644 --- a/fs/xfs/xfs_vnodeops.c +++ b/fs/xfs/xfs_vnodeops.c @@ -283,7 +283,7 @@ xfs_getattr( /* * xfs_setattr */ -STATIC int +int xfs_setattr( bhv_desc_t *bdp, vattr_t *vap, @@ -305,6 +305,7 @@ xfs_setattr( int mandlock_before, mandlock_after; struct xfs_dquot *udqp, *gdqp, *olddquot1, *olddquot2; int file_owner; + int need_iolock = (flags & ATTR_DMI) == 0; vp = BHV_TO_VNODE(bdp); vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); @@ -406,7 +407,8 @@ xfs_setattr( goto error_return; } } - lock_flags |= XFS_IOLOCK_EXCL; + if (need_iolock) + lock_flags |= XFS_IOLOCK_EXCL; } xfs_ilock(ip, lock_flags); @@ -678,7 +680,8 @@ xfs_setattr( XFS_TRANS_PERM_LOG_RES, XFS_ITRUNCATE_LOG_COUNT))) { xfs_trans_cancel(tp, 0); - xfs_iunlock(ip, XFS_IOLOCK_EXCL); + if (need_iolock) + xfs_iunlock(ip, XFS_IOLOCK_EXCL); return code; } commit_flags = XFS_TRANS_RELEASE_LOG_RES; @@ -823,26 +826,38 @@ xfs_setattr( mp->m_sb.sb_blocklog; } if (mask & XFS_AT_XFLAGS) { - ip->i_d.di_flags = 0; - if (vap->va_xflags & XFS_XFLAG_REALTIME) { - ip->i_d.di_flags |= XFS_DIFLAG_REALTIME; - ip->i_iocore.io_flags |= XFS_IOCORE_RT; - } + uint di_flags; + + /* can't set PREALLOC this way, just preserve it */ + di_flags = (ip->i_d.di_flags & XFS_DIFLAG_PREALLOC); if (vap->va_xflags & XFS_XFLAG_IMMUTABLE) - ip->i_d.di_flags |= XFS_DIFLAG_IMMUTABLE; + di_flags |= XFS_DIFLAG_IMMUTABLE; if (vap->va_xflags & XFS_XFLAG_IUNLINK) - ip->i_d.di_flags |= XFS_DIFLAG_IUNLINK; + di_flags |= XFS_DIFLAG_IUNLINK; if (vap->va_xflags & XFS_XFLAG_BARRIER) - ip->i_d.di_flags |= XFS_DIFLAG_BARRIER; + di_flags |= XFS_DIFLAG_BARRIER; if (vap->va_xflags & XFS_XFLAG_APPEND) - ip->i_d.di_flags |= XFS_DIFLAG_APPEND; + di_flags |= XFS_DIFLAG_APPEND; if (vap->va_xflags & XFS_XFLAG_SYNC) - ip->i_d.di_flags |= XFS_DIFLAG_SYNC; + di_flags |= XFS_DIFLAG_SYNC; if (vap->va_xflags & XFS_XFLAG_NOATIME) - ip->i_d.di_flags |= XFS_DIFLAG_NOATIME; + di_flags |= XFS_DIFLAG_NOATIME; if (vap->va_xflags & XFS_XFLAG_NODUMP) - ip->i_d.di_flags |= XFS_DIFLAG_NODUMP; - /* can't set PREALLOC this way, just ignore it */ + di_flags |= XFS_DIFLAG_NODUMP; + if ((ip->i_d.di_mode & S_IFMT) == S_IFDIR) { + if (vap->va_xflags & XFS_XFLAG_RTINHERIT) + di_flags |= XFS_DIFLAG_RTINHERIT; + if (vap->va_xflags & XFS_XFLAG_NOSYMLINKS) + di_flags |= XFS_DIFLAG_NOSYMLINKS; + } else { + if (vap->va_xflags & XFS_XFLAG_REALTIME) { + di_flags |= XFS_DIFLAG_REALTIME; + ip->i_iocore.io_flags |= XFS_IOCORE_RT; + } else { + ip->i_iocore.io_flags &= ~XFS_IOCORE_RT; + } + } + ip->i_d.di_flags = di_flags; } xfs_trans_log_inode(tp, ip, XFS_ILOG_CORE); timeflags |= XFS_ICHGTIME_CHG; @@ -1600,7 +1615,7 @@ xfs_inactive( * If the inode is already free, then there can be nothing * to clean up here. */ - if (ip->i_d.di_mode == 0) { + if (ip->i_d.di_mode == 0 || VN_BAD(vp)) { ASSERT(ip->i_df.if_real_bytes == 0); ASSERT(ip->i_df.if_broot_bytes == 0); return VN_INACTIVE_CACHE; @@ -1826,8 +1841,6 @@ xfs_lookup( } -#define XFS_CREATE_NEW_MAXTRIES 10000 - /* * xfs_create (create a new file). */ @@ -3385,6 +3398,14 @@ xfs_symlink( xfs_ilock(dp, XFS_ILOCK_EXCL); + /* + * Check whether the directory allows new symlinks or not. + */ + if (dp->i_d.di_flags & XFS_DIFLAG_NOSYMLINKS) { + error = XFS_ERROR(EPERM); + goto error_return; + } + /* * Reserve disk quota : blocks and inode. */ @@ -3791,11 +3812,17 @@ xfs_reclaim( vnode_t *vp; vp = BHV_TO_VNODE(bdp); + ip = XFS_BHVTOI(bdp); vn_trace_entry(vp, __FUNCTION__, (inst_t *)__return_address); ASSERT(!VN_MAPPED(vp)); - ip = XFS_BHVTOI(bdp); + + /* bad inode, get out here ASAP */ + if (VN_BAD(vp)) { + xfs_ireclaim(ip); + return 0; + } if ((ip->i_d.di_mode & S_IFMT) == S_IFREG) { if (ip->i_d.di_size > 0) { @@ -3873,8 +3900,12 @@ xfs_finish_reclaim( int sync_mode) { xfs_ihash_t *ih = ip->i_hash; + vnode_t *vp = XFS_ITOV_NULL(ip); int error; + if (vp && VN_BAD(vp)) + return 0; + /* The hash lock here protects a thread in xfs_iget_core from * racing with us on linking the inode back with a vnode. * Once we have the XFS_IRECLAIM flag set it will not touch @@ -3882,8 +3913,7 @@ xfs_finish_reclaim( */ write_lock(&ih->ih_lock); if ((ip->i_flags & XFS_IRECLAIM) || - (!(ip->i_flags & XFS_IRECLAIMABLE) && - (XFS_ITOV_NULL(ip) == NULL))) { + (!(ip->i_flags & XFS_IRECLAIMABLE) && vp == NULL)) { write_unlock(&ih->ih_lock); if (locked) { xfs_ifunlock(ip); @@ -3950,15 +3980,13 @@ int xfs_finish_reclaim_all(xfs_mount_t *mp, int noblock) { int purged; - struct list_head *curr, *next; - xfs_inode_t *ip; + xfs_inode_t *ip, *n; int done = 0; while (!done) { purged = 0; XFS_MOUNT_ILOCK(mp); - list_for_each_safe(curr, next, &mp->m_del_inodes) { - ip = list_entry(curr, xfs_inode_t, i_reclaim); + list_for_each_entry_safe(ip, n, &mp->m_del_inodes, i_reclaim) { if (noblock) { if (xfs_ilock_nowait(ip, XFS_ILOCK_EXCL) == 0) continue; @@ -4296,6 +4324,7 @@ xfs_free_file_space( int rt; xfs_fileoff_t startoffset_fsb; xfs_trans_t *tp; + int need_iolock = (attr_flags & ATTR_DMI) == 0; vn_trace_entry(XFS_ITOV(ip), __FUNCTION__, (inst_t *)__return_address); mp = ip->i_mount; @@ -4323,7 +4352,8 @@ xfs_free_file_space( return(error); } - xfs_ilock(ip, XFS_IOLOCK_EXCL); + if (need_iolock) + xfs_ilock(ip, XFS_IOLOCK_EXCL); rounding = MAX((__uint8_t)(1 << mp->m_sb.sb_blocklog), (__uint8_t)NBPP); ilen = len + (offset & (rounding - 1)); @@ -4342,7 +4372,7 @@ xfs_free_file_space( error = xfs_bmapi(NULL, ip, startoffset_fsb, 1, 0, NULL, 0, &imap, &nimap, NULL); if (error) - return error; + goto out_unlock_iolock; ASSERT(nimap == 0 || nimap == 1); if (nimap && imap.br_startblock != HOLESTARTBLOCK) { xfs_daddr_t block; @@ -4357,7 +4387,7 @@ xfs_free_file_space( error = xfs_bmapi(NULL, ip, endoffset_fsb - 1, 1, 0, NULL, 0, &imap, &nimap, NULL); if (error) - return error; + goto out_unlock_iolock; ASSERT(nimap == 0 || nimap == 1); if (nimap && imap.br_startblock != HOLESTARTBLOCK) { ASSERT(imap.br_startblock != DELAYSTARTBLOCK); @@ -4446,14 +4476,17 @@ xfs_free_file_space( xfs_iunlock(ip, XFS_ILOCK_EXCL); } - xfs_iunlock(ip, XFS_IOLOCK_EXCL); + out_unlock_iolock: + if (need_iolock) + xfs_iunlock(ip, XFS_IOLOCK_EXCL); return error; error0: xfs_bmap_cancel(&free_list); error1: xfs_trans_cancel(tp, XFS_TRANS_RELEASE_LOG_RES | XFS_TRANS_ABORT); - xfs_iunlock(ip, XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL); + xfs_iunlock(ip, need_iolock ? (XFS_ILOCK_EXCL | XFS_IOLOCK_EXCL) : + XFS_ILOCK_EXCL); return error; } @@ -4610,20 +4643,21 @@ xfs_change_file_space( xfs_trans_ijoin(tp, ip, XFS_ILOCK_EXCL); xfs_trans_ihold(tp, ip); - ip->i_d.di_mode &= ~S_ISUID; - - /* - * Note that we don't have to worry about mandatory - * file locking being disabled here because we only - * clear the S_ISGID bit if the Group execute bit is - * on, but if it was on then mandatory locking wouldn't - * have been enabled. - */ - if (ip->i_d.di_mode & S_IXGRP) - ip->i_d.di_mode &= ~S_ISGID; + if ((attr_flags & ATTR_DMI) == 0) { + ip->i_d.di_mode &= ~S_ISUID; - xfs_ichgtime(ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); + /* + * Note that we don't have to worry about mandatory + * file locking being disabled here because we only + * clear the S_ISGID bit if the Group execute bit is + * on, but if it was on then mandatory locking wouldn't + * have been enabled. + */ + if (ip->i_d.di_mode & S_IXGRP) + ip->i_d.di_mode &= ~S_ISGID; + xfs_ichgtime(ip, XFS_ICHGTIME_MOD | XFS_ICHGTIME_CHG); + } if (setprealloc) ip->i_d.di_flags |= XFS_DIFLAG_PREALLOC; else if (clrprealloc) diff --git a/include/acpi/acpi_drivers.h b/include/acpi/acpi_drivers.h index c4d9a8ebb..09097bb3e 100644 --- a/include/acpi/acpi_drivers.h +++ b/include/acpi/acpi_drivers.h @@ -81,7 +81,8 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_device *device, int domain, int b -------------------------------------------------------------------------- */ #ifdef CONFIG_ACPI_POWER - +int acpi_enable_wakeup_device_power (struct acpi_device *dev); +int acpi_disable_wakeup_device_power (struct acpi_device *dev); int acpi_power_get_inferred_state (struct acpi_device *device); int acpi_power_transition (struct acpi_device *device, int state); #endif @@ -105,59 +106,4 @@ int acpi_ec_ecdt_probe (void); int acpi_processor_set_thermal_limit(acpi_handle handle, int type); -/* -------------------------------------------------------------------------- - Debug Support - -------------------------------------------------------------------------- */ - -#define ACPI_DEBUG_RESTORE 0 -#define ACPI_DEBUG_LOW 1 -#define ACPI_DEBUG_MEDIUM 2 -#define ACPI_DEBUG_HIGH 3 -#define ACPI_DEBUG_DRIVERS 4 - -extern u32 acpi_dbg_level; -extern u32 acpi_dbg_layer; - -static inline void -acpi_set_debug ( - u32 flag) -{ - static u32 layer_save; - static u32 level_save; - - switch (flag) { - case ACPI_DEBUG_RESTORE: - acpi_dbg_layer = layer_save; - acpi_dbg_level = level_save; - break; - case ACPI_DEBUG_LOW: - case ACPI_DEBUG_MEDIUM: - case ACPI_DEBUG_HIGH: - case ACPI_DEBUG_DRIVERS: - layer_save = acpi_dbg_layer; - level_save = acpi_dbg_level; - break; - } - - switch (flag) { - case ACPI_DEBUG_LOW: - acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; - acpi_dbg_level = ACPI_DEBUG_DEFAULT; - break; - case ACPI_DEBUG_MEDIUM: - acpi_dbg_layer = ACPI_COMPONENT_DEFAULT | ACPI_ALL_DRIVERS; - acpi_dbg_level = ACPI_LV_FUNCTIONS | ACPI_LV_ALL_EXCEPTIONS; - break; - case ACPI_DEBUG_HIGH: - acpi_dbg_layer = 0xFFFFFFFF; - acpi_dbg_level = 0xFFFFFFFF; - break; - case ACPI_DEBUG_DRIVERS: - acpi_dbg_layer = ACPI_ALL_DRIVERS; - acpi_dbg_level = 0xFFFFFFFF; - break; - } -} - - #endif /*__ACPI_DRIVERS_H__*/ diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 243727d03..a76c952f8 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h @@ -169,11 +169,11 @@ acpi_status acpi_os_map_memory ( acpi_physical_address physical_address, acpi_size size, - void **logical_address); + void __iomem **logical_address); void acpi_os_unmap_memory ( - void *logical_address, + void __iomem *logical_address, acpi_size size); acpi_status @@ -189,13 +189,13 @@ acpi_os_get_physical_address ( acpi_status acpi_os_install_interrupt_handler ( u32 gsi, - OSD_HANDLER service_routine, + acpi_osd_handler service_routine, void *context); acpi_status acpi_os_remove_interrupt_handler ( - u32 interrupt_number, - OSD_HANDLER service_routine); + u32 gsi, + acpi_osd_handler service_routine); /* @@ -209,7 +209,7 @@ acpi_os_get_thread_id ( acpi_status acpi_os_queue_for_execution ( u32 priority, - OSD_EXECUTION_CALLBACK function, + acpi_osd_exec_callback function, void *context); void @@ -262,25 +262,28 @@ acpi_os_write_memory ( /* * Platform and hardware-independent PCI configuration space access + * Note: Can't use "Register" as a parameter, changed to "Reg" -- + * certain compilers complain. */ acpi_status acpi_os_read_pci_configuration ( struct acpi_pci_id *pci_id, - u32 register, + u32 reg, void *value, u32 width); acpi_status acpi_os_write_pci_configuration ( struct acpi_pci_id *pci_id, - u32 register, + u32 reg, acpi_integer value, u32 width); /* * Interim function needed for PCI IRQ routing */ + void acpi_os_derive_pci_id( acpi_handle rhandle, diff --git a/include/acpi/actbl2.h b/include/acpi/actbl2.h index 188cedb52..95198ee00 100644 --- a/include/acpi/actbl2.h +++ b/include/acpi/actbl2.h @@ -61,6 +61,8 @@ #define BAF_LEGACY_DEVICES 0x0001 #define BAF_8042_KEYBOARD_CONTROLLER 0x0002 +#define FADT2_INTERIM_REVISION_ID 2 +#define FADT2_INTERIM_LENGTH 0x84 #define FADT2_REVISION_ID 3 diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index 7751db56b..f0b87de71 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h @@ -44,9 +44,6 @@ #ifndef __ACLINUX_H__ #define __ACLINUX_H__ -#define ACPI_OS_NAME "Microsoft Windows NT" - /* Microsoft, Microsoft Windows, Microsoft Windows NT are trademarks of Microsoft Corp. */ - #define ACPI_USE_SYSTEM_CLIBRARY #define ACPI_USE_DO_WHILE_0 diff --git a/include/asm-alpha/bitops.h b/include/asm-alpha/bitops.h index 22ecbf95f..87c43e519 100644 --- a/include/asm-alpha/bitops.h +++ b/include/asm-alpha/bitops.h @@ -2,7 +2,6 @@ #define _ALPHA_BITOPS_H #include -#include #include /* @@ -324,7 +323,7 @@ static inline int fls(int word) #endif /* Compute powers of two for the given integer. */ -static inline int floor_log2(unsigned long word) +static inline long floor_log2(unsigned long word) { #if defined(__alpha_cix__) && defined(__alpha_fix__) return 63 - __kernel_ctlz(word); @@ -336,7 +335,7 @@ static inline int floor_log2(unsigned long word) #endif } -static inline int ceil_log2(unsigned int word) +static inline long ceil_log2(unsigned long word) { long bit = floor_log2(word); return bit + (word > (1UL << bit)); diff --git a/include/asm-alpha/core_lca.h b/include/asm-alpha/core_lca.h index a2a55b54a..f7cb4b460 100644 --- a/include/asm-alpha/core_lca.h +++ b/include/asm-alpha/core_lca.h @@ -215,145 +215,117 @@ union el_lca { * data to/from the right byte-lanes. */ -#define vip volatile int * -#define vuip volatile unsigned int * -#define vulp volatile unsigned long * +#define vip volatile int __force * +#define vuip volatile unsigned int __force * +#define vulp volatile unsigned long __force * -__EXTERN_INLINE u8 lca_inb(unsigned long addr) -{ - long result = *(vip) ((addr << 5) + LCA_IO + 0x00); - return __kernel_extbl(result, addr & 3); -} +#define LCA_SET_HAE \ + do { \ + if (addr >= (1UL << 24)) { \ + unsigned long msb = addr & 0xf8000000; \ + addr -= msb; \ + set_hae(msb); \ + } \ + } while (0) -__EXTERN_INLINE void lca_outb(u8 b, unsigned long addr) -{ - unsigned long w; - - w = __kernel_insbl(b, addr & 3); - *(vuip) ((addr << 5) + LCA_IO + 0x00) = w; - mb(); -} - -__EXTERN_INLINE u16 lca_inw(unsigned long addr) -{ - long result = *(vip) ((addr << 5) + LCA_IO + 0x08); - return __kernel_extwl(result, addr & 3); -} -__EXTERN_INLINE void lca_outw(u16 b, unsigned long addr) +__EXTERN_INLINE unsigned int lca_ioread8(void __iomem *xaddr) { - unsigned long w; + unsigned long addr = (unsigned long) xaddr; + unsigned long result, base_and_type; + + if (addr >= LCA_DENSE_MEM) { + addr -= LCA_DENSE_MEM; + LCA_SET_HAE; + base_and_type = LCA_SPARSE_MEM + 0x00; + } else { + addr -= LCA_IO; + base_and_type = LCA_IO + 0x00; + } - w = __kernel_inswl(b, addr & 3); - *(vuip) ((addr << 5) + LCA_IO + 0x08) = w; - mb(); + result = *(vip) ((addr << 5) + base_and_type); + return __kernel_extbl(result, addr & 3); } -__EXTERN_INLINE u32 lca_inl(unsigned long addr) +__EXTERN_INLINE void lca_iowrite8(u8 b, void __iomem *xaddr) { - return *(vuip) ((addr << 5) + LCA_IO + 0x18); -} + unsigned long addr = (unsigned long) xaddr; + unsigned long w, base_and_type; + + if (addr >= LCA_DENSE_MEM) { + addr -= LCA_DENSE_MEM; + LCA_SET_HAE; + base_and_type = LCA_SPARSE_MEM + 0x00; + } else { + addr -= LCA_IO; + base_and_type = LCA_IO + 0x00; + } -__EXTERN_INLINE void lca_outl(u32 b, unsigned long addr) -{ - *(vuip) ((addr << 5) + LCA_IO + 0x18) = b; - mb(); + w = __kernel_insbl(b, addr & 3); + *(vuip) ((addr << 5) + base_and_type) = w; } - -/* - * Memory functions. 64-bit and 32-bit accesses are done through - * dense memory space, everything else through sparse space. - */ - -__EXTERN_INLINE u8 lca_readb(unsigned long addr) +__EXTERN_INLINE unsigned int lca_ioread16(void __iomem *xaddr) { - unsigned long result, msb; - - addr -= LCA_DENSE_MEM; - if (addr >= (1UL << 24)) { - msb = addr & 0xf8000000; - addr -= msb; - set_hae(msb); + unsigned long addr = (unsigned long) xaddr; + unsigned long result, base_and_type; + + if (addr >= LCA_DENSE_MEM) { + addr -= LCA_DENSE_MEM; + LCA_SET_HAE; + base_and_type = LCA_SPARSE_MEM + 0x08; + } else { + addr -= LCA_IO; + base_and_type = LCA_IO + 0x08; } - result = *(vip) ((addr << 5) + LCA_SPARSE_MEM + 0x00); - return __kernel_extbl(result, addr & 3); -} -__EXTERN_INLINE u16 lca_readw(unsigned long addr) -{ - unsigned long result, msb; - - addr -= LCA_DENSE_MEM; - if (addr >= (1UL << 24)) { - msb = addr & 0xf8000000; - addr -= msb; - set_hae(msb); - } - result = *(vip) ((addr << 5) + LCA_SPARSE_MEM + 0x08); + result = *(vip) ((addr << 5) + base_and_type); return __kernel_extwl(result, addr & 3); } -__EXTERN_INLINE u32 lca_readl(unsigned long addr) +__EXTERN_INLINE void lca_iowrite16(u16 b, void __iomem *xaddr) { - return (*(vuip)addr) & 0xffffffff; -} - -__EXTERN_INLINE u64 lca_readq(unsigned long addr) -{ - return *(vulp)addr; -} - -__EXTERN_INLINE void lca_writeb(u8 b, unsigned long addr) -{ - unsigned long msb; - unsigned long w; - - addr -= LCA_DENSE_MEM; - if (addr >= (1UL << 24)) { - msb = addr & 0xf8000000; - addr -= msb; - set_hae(msb); + unsigned long addr = (unsigned long) xaddr; + unsigned long w, base_and_type; + + if (addr >= LCA_DENSE_MEM) { + addr -= LCA_DENSE_MEM; + LCA_SET_HAE; + base_and_type = LCA_SPARSE_MEM + 0x08; + } else { + addr -= LCA_IO; + base_and_type = LCA_IO + 0x08; } - w = __kernel_insbl(b, addr & 3); - *(vuip) ((addr << 5) + LCA_SPARSE_MEM + 0x00) = w; -} -__EXTERN_INLINE void lca_writew(u16 b, unsigned long addr) -{ - unsigned long msb; - unsigned long w; - - addr -= LCA_DENSE_MEM; - if (addr >= (1UL << 24)) { - msb = addr & 0xf8000000; - addr -= msb; - set_hae(msb); - } w = __kernel_inswl(b, addr & 3); - *(vuip) ((addr << 5) + LCA_SPARSE_MEM + 0x08) = w; + *(vuip) ((addr << 5) + base_and_type) = w; } -__EXTERN_INLINE void lca_writel(u32 b, unsigned long addr) +__EXTERN_INLINE unsigned int lca_ioread32(void __iomem *xaddr) { - *(vuip)addr = b; + unsigned long addr = (unsigned long) xaddr; + if (addr < LCA_DENSE_MEM) + addr = ((addr - LCA_IO) << 5) + LCA_IO + 0x18; + return *(vuip)addr; } -__EXTERN_INLINE void lca_writeq(u64 b, unsigned long addr) +__EXTERN_INLINE void lca_iowrite32(u32 b, void __iomem *xaddr) { - *(vulp)addr = b; + unsigned long addr = (unsigned long) xaddr; + if (addr < LCA_DENSE_MEM) + addr = ((addr - LCA_IO) << 5) + LCA_IO + 0x18; + *(vuip)addr = b; } -__EXTERN_INLINE unsigned long lca_ioremap(unsigned long addr, - unsigned long size - __attribute__((unused))) +__EXTERN_INLINE void __iomem *lca_ioportmap(unsigned long addr) { - return addr + LCA_DENSE_MEM; + return (void __iomem *)(addr + LCA_IO); } -__EXTERN_INLINE void lca_iounmap(unsigned long addr) +__EXTERN_INLINE void __iomem *lca_ioremap(unsigned long addr, + unsigned long size) { - return; + return (void __iomem *)(addr + LCA_DENSE_MEM); } __EXTERN_INLINE int lca_is_ioaddr(unsigned long addr) @@ -361,36 +333,23 @@ __EXTERN_INLINE int lca_is_ioaddr(unsigned long addr) return addr >= IDENT_ADDR + 0x120000000UL; } +__EXTERN_INLINE int lca_is_mmio(const volatile void __iomem *addr) +{ + return (unsigned long)addr >= LCA_DENSE_MEM; +} + #undef vip #undef vuip #undef vulp -#ifdef __WANT_IO_DEF - -#define __inb(p) lca_inb((unsigned long)(p)) -#define __inw(p) lca_inw((unsigned long)(p)) -#define __inl(p) lca_inl((unsigned long)(p)) -#define __outb(x,p) lca_outb((x),(unsigned long)(p)) -#define __outw(x,p) lca_outw((x),(unsigned long)(p)) -#define __outl(x,p) lca_outl((x),(unsigned long)(p)) -#define __readb(a) lca_readb((unsigned long)(a)) -#define __readw(a) lca_readw((unsigned long)(a)) -#define __readl(a) lca_readl((unsigned long)(a)) -#define __readq(a) lca_readq((unsigned long)(a)) -#define __writeb(x,a) lca_writeb((x),(unsigned long)(a)) -#define __writew(x,a) lca_writew((x),(unsigned long)(a)) -#define __writel(x,a) lca_writel((x),(unsigned long)(a)) -#define __writeq(x,a) lca_writeq((x),(unsigned long)(a)) -#define __ioremap(a,s) lca_ioremap((unsigned long)(a),(s)) -#define __iounmap(a) lca_iounmap((unsigned long)(a)) -#define __is_ioaddr(a) lca_is_ioaddr((unsigned long)(a)) - -#define __raw_readl(a) __readl(a) -#define __raw_readq(a) __readq(a) -#define __raw_writel(v,a) __writel((v),(a)) -#define __raw_writeq(v,a) __writeq((v),(a)) - -#endif /* __WANT_IO_DEF */ +#undef __IO_PREFIX +#define __IO_PREFIX lca +#define lca_trivial_rw_bw 2 +#define lca_trivial_rw_lq 1 +#define lca_trivial_io_bw 0 +#define lca_trivial_io_lq 0 +#define lca_trivial_iounmap 1 +#include #ifdef __IO_EXTERN_INLINE #undef __EXTERN_INLINE diff --git a/include/asm-alpha/core_mcpcia.h b/include/asm-alpha/core_mcpcia.h index db03753ed..980a3c51b 100644 --- a/include/asm-alpha/core_mcpcia.h +++ b/include/asm-alpha/core_mcpcia.h @@ -211,91 +211,6 @@ struct el_MCPCIA_uncorrected_frame_mcheck { * Unfortunately, we can't use BWIO with EV5, so for now, we always use SPARSE. */ -#define vucp volatile unsigned char * -#define vusp volatile unsigned short * -#define vip volatile int * -#define vuip volatile unsigned int * -#define vulp volatile unsigned long * - -__EXTERN_INLINE u8 mcpcia_inb(unsigned long in_addr) -{ - unsigned long addr, hose, result; - - addr = in_addr & 0xffffUL; - hose = in_addr & ~0xffffUL; - - /* ??? I wish I could get rid of this. But there's no ioremap - equivalent for I/O space. PCI I/O can be forced into the - correct hose's I/O region, but that doesn't take care of - legacy ISA crap. */ - hose += MCPCIA_IO_BIAS; - - result = *(vip) ((addr << 5) + hose + 0x00); - return __kernel_extbl(result, addr & 3); -} - -__EXTERN_INLINE void mcpcia_outb(u8 b, unsigned long in_addr) -{ - unsigned long addr, hose, w; - - addr = in_addr & 0xffffUL; - hose = in_addr & ~0xffffUL; - hose += MCPCIA_IO_BIAS; - - w = __kernel_insbl(b, addr & 3); - *(vuip) ((addr << 5) + hose + 0x00) = w; - mb(); -} - -__EXTERN_INLINE u16 mcpcia_inw(unsigned long in_addr) -{ - unsigned long addr, hose, result; - - addr = in_addr & 0xffffUL; - hose = in_addr & ~0xffffUL; - hose += MCPCIA_IO_BIAS; - - result = *(vip) ((addr << 5) + hose + 0x08); - return __kernel_extwl(result, addr & 3); -} - -__EXTERN_INLINE void mcpcia_outw(u16 b, unsigned long in_addr) -{ - unsigned long addr, hose, w; - - addr = in_addr & 0xffffUL; - hose = in_addr & ~0xffffUL; - hose += MCPCIA_IO_BIAS; - - w = __kernel_inswl(b, addr & 3); - *(vuip) ((addr << 5) + hose + 0x08) = w; - mb(); -} - -__EXTERN_INLINE u32 mcpcia_inl(unsigned long in_addr) -{ - unsigned long addr, hose; - - addr = in_addr & 0xffffUL; - hose = in_addr & ~0xffffUL; - hose += MCPCIA_IO_BIAS; - - return *(vuip) ((addr << 5) + hose + 0x18); -} - -__EXTERN_INLINE void mcpcia_outl(u32 b, unsigned long in_addr) -{ - unsigned long addr, hose; - - addr = in_addr & 0xffffUL; - hose = in_addr & ~0xffffUL; - hose += MCPCIA_IO_BIAS; - - *(vuip) ((addr << 5) + hose + 0x18) = b; - mb(); -} - - /* * Memory functions. 64-bit and 32-bit accesses are done through * dense memory space, everything else through sparse space. @@ -328,149 +243,131 @@ __EXTERN_INLINE void mcpcia_outl(u32 b, unsigned long in_addr) * */ -__EXTERN_INLINE unsigned long mcpcia_ioremap(unsigned long addr, - unsigned long size - __attribute__((unused))) -{ - return addr + MCPCIA_MEM_BIAS; -} +#define vip volatile int __force * +#define vuip volatile unsigned int __force * + +#ifdef MCPCIA_ONE_HAE_WINDOW +#define MCPCIA_FROB_MMIO \ + if (__mcpcia_is_mmio(hose)) { \ + set_hae(hose & 0xffffffff); \ + hose = hose - MCPCIA_DENSE(4) + MCPCIA_SPARSE(4); \ + } +#else +#define MCPCIA_FROB_MMIO \ + if (__mcpcia_is_mmio(hose)) { \ + hose = hose - MCPCIA_DENSE(4) + MCPCIA_SPARSE(4); \ + } +#endif -__EXTERN_INLINE void mcpcia_iounmap(unsigned long addr) +static inline int __mcpcia_is_mmio(unsigned long addr) { - return; + return (addr & 0x80000000UL) == 0; } -__EXTERN_INLINE int mcpcia_is_ioaddr(unsigned long addr) +__EXTERN_INLINE unsigned int mcpcia_ioread8(void __iomem *xaddr) { - return addr >= MCPCIA_SPARSE(0); + unsigned long addr = (unsigned long)xaddr & MCPCIA_MEM_MASK; + unsigned long hose = (unsigned long)xaddr & ~MCPCIA_MEM_MASK; + unsigned long result; + + MCPCIA_FROB_MMIO; + + result = *(vip) ((addr << 5) + hose + 0x00); + return __kernel_extbl(result, addr & 3); } -__EXTERN_INLINE u8 mcpcia_readb(unsigned long in_addr) +__EXTERN_INLINE void mcpcia_iowrite8(u8 b, void __iomem *xaddr) { - unsigned long addr = in_addr & 0xffffffffUL; - unsigned long hose = in_addr & ~0xffffffffUL; - unsigned long result, work; + unsigned long addr = (unsigned long)xaddr & MCPCIA_MEM_MASK; + unsigned long hose = (unsigned long)xaddr & ~MCPCIA_MEM_MASK; + unsigned long w; -#ifndef MCPCIA_ONE_HAE_WINDOW - unsigned long msb; - msb = addr & ~MCPCIA_MEM_MASK; - set_hae(msb); -#endif - addr = addr & MCPCIA_MEM_MASK; + MCPCIA_FROB_MMIO; - hose = hose - MCPCIA_DENSE(4) + MCPCIA_SPARSE(4); - work = ((addr << 5) + hose + 0x00); - result = *(vip) work; - return __kernel_extbl(result, addr & 3); + w = __kernel_insbl(b, addr & 3); + *(vuip) ((addr << 5) + hose + 0x00) = w; } -__EXTERN_INLINE u16 mcpcia_readw(unsigned long in_addr) +__EXTERN_INLINE unsigned int mcpcia_ioread16(void __iomem *xaddr) { - unsigned long addr = in_addr & 0xffffffffUL; - unsigned long hose = in_addr & ~0xffffffffUL; - unsigned long result, work; + unsigned long addr = (unsigned long)xaddr & MCPCIA_MEM_MASK; + unsigned long hose = (unsigned long)xaddr & ~MCPCIA_MEM_MASK; + unsigned long result; -#ifndef MCPCIA_ONE_HAE_WINDOW - unsigned long msb; - msb = addr & ~MCPCIA_MEM_MASK; - set_hae(msb); -#endif - addr = addr & MCPCIA_MEM_MASK; + MCPCIA_FROB_MMIO; - hose = hose - MCPCIA_DENSE(4) + MCPCIA_SPARSE(4); - work = ((addr << 5) + hose + 0x08); - result = *(vip) work; + result = *(vip) ((addr << 5) + hose + 0x08); return __kernel_extwl(result, addr & 3); } -__EXTERN_INLINE void mcpcia_writeb(u8 b, unsigned long in_addr) +__EXTERN_INLINE void mcpcia_iowrite16(u16 b, void __iomem *xaddr) { - unsigned long addr = in_addr & 0xffffffffUL; - unsigned long hose = in_addr & ~0xffffffffUL; + unsigned long addr = (unsigned long)xaddr & MCPCIA_MEM_MASK; + unsigned long hose = (unsigned long)xaddr & ~MCPCIA_MEM_MASK; unsigned long w; -#ifndef MCPCIA_ONE_HAE_WINDOW - unsigned long msb; - msb = addr & ~MCPCIA_MEM_MASK; - set_hae(msb); -#endif - addr = addr & MCPCIA_MEM_MASK; + MCPCIA_FROB_MMIO; - w = __kernel_insbl(b, in_addr & 3); - hose = hose - MCPCIA_DENSE(4) + MCPCIA_SPARSE(4); - *(vuip) ((addr << 5) + hose + 0x00) = w; + w = __kernel_inswl(b, addr & 3); + *(vuip) ((addr << 5) + hose + 0x08) = w; } -__EXTERN_INLINE void mcpcia_writew(u16 b, unsigned long in_addr) +__EXTERN_INLINE unsigned int mcpcia_ioread32(void __iomem *xaddr) { - unsigned long addr = in_addr & 0xffffffffUL; - unsigned long hose = in_addr & ~0xffffffffUL; - unsigned long w; + unsigned long addr = (unsigned long)xaddr; -#ifndef MCPCIA_ONE_HAE_WINDOW - unsigned long msb; - msb = addr & ~MCPCIA_MEM_MASK; - set_hae(msb); -#endif - addr = addr & MCPCIA_MEM_MASK; + if (!__mcpcia_is_mmio(addr)) + addr = ((addr & 0xffff) << 5) + (addr & ~0xfffful) + 0x18; - w = __kernel_inswl(b, in_addr & 3); - hose = hose - MCPCIA_DENSE(4) + MCPCIA_SPARSE(4); - *(vuip) ((addr << 5) + hose + 0x08) = w; + return *(vuip)addr; +} + +__EXTERN_INLINE void mcpcia_iowrite32(u32 b, void __iomem *xaddr) +{ + unsigned long addr = (unsigned long)xaddr; + + if (!__mcpcia_is_mmio(addr)) + addr = ((addr & 0xffff) << 5) + (addr & ~0xfffful) + 0x18; + + *(vuip)addr = b; } -__EXTERN_INLINE u32 mcpcia_readl(unsigned long addr) + +__EXTERN_INLINE void __iomem *mcpcia_ioportmap(unsigned long addr) { - return (*(vuip)addr) & 0xffffffff; + return (void __iomem *)(addr + MCPCIA_IO_BIAS); } -__EXTERN_INLINE u64 mcpcia_readq(unsigned long addr) +__EXTERN_INLINE void __iomem *mcpcia_ioremap(unsigned long addr, + unsigned long size) { - return *(vulp)addr; + return (void __iomem *)(addr + MCPCIA_MEM_BIAS); } -__EXTERN_INLINE void mcpcia_writel(u32 b, unsigned long addr) +__EXTERN_INLINE int mcpcia_is_ioaddr(unsigned long addr) { - *(vuip)addr = b; + return addr >= MCPCIA_SPARSE(0); } -__EXTERN_INLINE void mcpcia_writeq(u64 b, unsigned long addr) +__EXTERN_INLINE int mcpcia_is_mmio(const volatile void __iomem *xaddr) { - *(vulp)addr = b; + unsigned long addr = (unsigned long) xaddr; + return __mcpcia_is_mmio(addr); } -#undef vucp -#undef vusp +#undef MCPCIA_FROB_MMIO + #undef vip #undef vuip -#undef vulp - -#ifdef __WANT_IO_DEF - -#define __inb(p) mcpcia_inb((unsigned long)(p)) -#define __inw(p) mcpcia_inw((unsigned long)(p)) -#define __inl(p) mcpcia_inl((unsigned long)(p)) -#define __outb(x,p) mcpcia_outb((x),(unsigned long)(p)) -#define __outw(x,p) mcpcia_outw((x),(unsigned long)(p)) -#define __outl(x,p) mcpcia_outl((x),(unsigned long)(p)) -#define __readb(a) mcpcia_readb((unsigned long)(a)) -#define __readw(a) mcpcia_readw((unsigned long)(a)) -#define __readl(a) mcpcia_readl((unsigned long)(a)) -#define __readq(a) mcpcia_readq((unsigned long)(a)) -#define __writeb(x,a) mcpcia_writeb((x),(unsigned long)(a)) -#define __writew(x,a) mcpcia_writew((x),(unsigned long)(a)) -#define __writel(x,a) mcpcia_writel((x),(unsigned long)(a)) -#define __writeq(x,a) mcpcia_writeq((x),(unsigned long)(a)) -#define __ioremap(a,s) mcpcia_ioremap((unsigned long)(a),(s)) -#define __iounmap(a) mcpcia_iounmap((unsigned long)(a)) -#define __is_ioaddr(a) mcpcia_is_ioaddr((unsigned long)(a)) - -#define __raw_readl(a) __readl(a) -#define __raw_readq(a) __readq(a) -#define __raw_writel(v,a) __writel((v),(a)) -#define __raw_writeq(v,a) __writeq((v),(a)) - -#endif /* __WANT_IO_DEF */ + +#undef __IO_PREFIX +#define __IO_PREFIX mcpcia +#define mcpcia_trivial_rw_bw 2 +#define mcpcia_trivial_rw_lq 1 +#define mcpcia_trivial_io_bw 0 +#define mcpcia_trivial_io_lq 0 +#define mcpcia_trivial_iounmap 1 +#include #ifdef __IO_EXTERN_INLINE #undef __EXTERN_INLINE diff --git a/include/asm-alpha/core_polaris.h b/include/asm-alpha/core_polaris.h index dca0341b0..2f966b646 100644 --- a/include/asm-alpha/core_polaris.h +++ b/include/asm-alpha/core_polaris.h @@ -63,49 +63,6 @@ struct el_POLARIS_sysdata_mcheck { * However, we will support only the BWX form. */ -#define vucp volatile unsigned char * -#define vusp volatile unsigned short * -#define vuip volatile unsigned int * -#define vulp volatile unsigned long * - -__EXTERN_INLINE u8 polaris_inb(unsigned long addr) -{ - /* ??? I wish I could get rid of this. But there's no ioremap - equivalent for I/O space. PCI I/O can be forced into the - POLARIS I/O region, but that doesn't take care of legacy - ISA crap. */ - - return __kernel_ldbu(*(vucp)(addr + POLARIS_DENSE_IO_BASE)); -} - -__EXTERN_INLINE void polaris_outb(u8 b, unsigned long addr) -{ - __kernel_stb(b, *(vucp)(addr + POLARIS_DENSE_IO_BASE)); - mb(); -} - -__EXTERN_INLINE u16 polaris_inw(unsigned long addr) -{ - return __kernel_ldwu(*(vusp)(addr + POLARIS_DENSE_IO_BASE)); -} - -__EXTERN_INLINE void polaris_outw(u16 b, unsigned long addr) -{ - __kernel_stw(b, *(vusp)(addr + POLARIS_DENSE_IO_BASE)); - mb(); -} - -__EXTERN_INLINE u32 polaris_inl(unsigned long addr) -{ - return *(vuip)(addr + POLARIS_DENSE_IO_BASE); -} - -__EXTERN_INLINE void polaris_outl(u32 b, unsigned long addr) -{ - *(vuip)(addr + POLARIS_DENSE_IO_BASE) = b; - mb(); -} - /* * Memory functions. Polaris allows all accesses (byte/word * as well as long/quad) to be done through dense space. @@ -113,104 +70,35 @@ __EXTERN_INLINE void polaris_outl(u32 b, unsigned long addr) * We will only support DENSE access via BWX insns. */ -__EXTERN_INLINE u8 polaris_readb(unsigned long addr) -{ - return __kernel_ldbu(*(vucp)addr); -} - -__EXTERN_INLINE u16 polaris_readw(unsigned long addr) +__EXTERN_INLINE void __iomem *polaris_ioportmap(unsigned long addr) { - return __kernel_ldwu(*(vusp)addr); + return (void __iomem *)(addr + POLARIS_DENSE_IO_BASE); } -__EXTERN_INLINE u32 polaris_readl(unsigned long addr) +__EXTERN_INLINE void __iomem *polaris_ioremap(unsigned long addr, + unsigned long size) { - return (*(vuip)addr) & 0xffffffff; + return (void __iomem *)(addr + POLARIS_DENSE_MEM_BASE); } -__EXTERN_INLINE u64 polaris_readq(unsigned long addr) -{ - return *(vulp)addr; -} - -__EXTERN_INLINE void polaris_writeb(u8 b, unsigned long addr) -{ - __kernel_stb(b, *(vucp)addr); -} - -__EXTERN_INLINE void polaris_writew(u16 b, unsigned long addr) -{ - __kernel_stw(b, *(vusp)addr); -} - -__EXTERN_INLINE void polaris_writel(u32 b, unsigned long addr) -{ - *(vuip)addr = b; -} - -__EXTERN_INLINE void polaris_writeq(u64 b, unsigned long addr) -{ - *(vulp)addr = b; -} - -__EXTERN_INLINE unsigned long polaris_ioremap(unsigned long addr, - unsigned long size - __attribute__((unused))) -{ - return addr + POLARIS_DENSE_MEM_BASE; -} - -__EXTERN_INLINE void polaris_iounmap(unsigned long addr) +__EXTERN_INLINE int polaris_is_ioaddr(unsigned long addr) { - return; + return addr >= POLARIS_SPARSE_MEM_BASE; } -__EXTERN_INLINE int polaris_is_ioaddr(unsigned long addr) +__EXTERN_INLINE int polaris_is_mmio(const volatile void __iomem *addr) { - return addr >= POLARIS_SPARSE_MEM_BASE; + return (unsigned long)addr < POLARIS_SPARSE_IO_BASE; } -#undef vucp -#undef vusp -#undef vuip -#undef vulp - -#ifdef __WANT_IO_DEF - -#define __inb(p) polaris_inb((unsigned long)(p)) -#define __inw(p) polaris_inw((unsigned long)(p)) -#define __inl(p) polaris_inl((unsigned long)(p)) -#define __outb(x,p) polaris_outb((x),(unsigned long)(p)) -#define __outw(x,p) polaris_outw((x),(unsigned long)(p)) -#define __outl(x,p) polaris_outl((x),(unsigned long)(p)) -#define __readb(a) polaris_readb((unsigned long)(a)) -#define __readw(a) polaris_readw((unsigned long)(a)) -#define __readl(a) polaris_readl((unsigned long)(a)) -#define __readq(a) polaris_readq((unsigned long)(a)) -#define __writeb(x,a) polaris_writeb((x),(unsigned long)(a)) -#define __writew(x,a) polaris_writew((x),(unsigned long)(a)) -#define __writel(x,a) polaris_writel((x),(unsigned long)(a)) -#define __writeq(x,a) polaris_writeq((x),(unsigned long)(a)) -#define __ioremap(a,s) polaris_ioremap((unsigned long)(a),(s)) -#define __iounmap(a) polaris_iounmap((unsigned long)(a)) -#define __is_ioaddr(a) polaris_is_ioaddr((unsigned long)(a)) - -#define inb(p) __inb(p) -#define inw(p) __inw(p) -#define inl(p) __inl(p) -#define outb(x,p) __outb((x),(p)) -#define outw(x,p) __outw((x),(p)) -#define outl(x,p) __outl((x),(p)) -#define __raw_readb(a) __readb(a) -#define __raw_readw(a) __readw(a) -#define __raw_readl(a) __readl(a) -#define __raw_readq(a) __readq(a) -#define __raw_writeb(v,a) __writeb((v),(a)) -#define __raw_writew(v,a) __writew((v),(a)) -#define __raw_writel(v,a) __writel((v),(a)) -#define __raw_writeq(v,a) __writeq((v),(a)) - -#endif /* __WANT_IO_DEF */ +#undef __IO_PREFIX +#define __IO_PREFIX polaris +#define polaris_trivial_rw_bw 1 +#define polaris_trivial_rw_lq 1 +#define polaris_trivial_io_bw 1 +#define polaris_trivial_io_lq 1 +#define polaris_trivial_iounmap 1 +#include #ifdef __IO_EXTERN_INLINE #undef __EXTERN_INLINE diff --git a/include/asm-alpha/io.h b/include/asm-alpha/io.h index 5f4a74357..9e9de8e27 100644 --- a/include/asm-alpha/io.h +++ b/include/asm-alpha/io.h @@ -1,6 +1,20 @@ #ifndef __ALPHA_IO_H #define __ALPHA_IO_H +#ifdef __KERNEL__ + +#include +#include +#include +#include +#include +#include +#include + +/* The generic header contains only prototypes. Including it ensures that + the implementation we have here matches that interface. */ +#include + /* We don't use IO slowdowns on the Alpha, but.. */ #define __SLOW_DOWN_IO do { } while (0) #define SLOW_DOWN_IO do { } while (0) @@ -14,14 +28,6 @@ #define IDENT_ADDR 0xfffffc0000000000UL #endif -#ifdef __KERNEL__ -#include -#include -#include -#include -#include -#include - /* * We try to avoid hae updates (thus the cache), but when we * do need to update the hae, we need to do it atomically, so @@ -88,6 +94,9 @@ static inline void * phys_to_virt(unsigned long address) /* This depends on working iommu. */ #define BIO_VMERGE_BOUNDARY (alpha_mv.mv_pci_tbi ? PAGE_SIZE : 0) +/* Maximum PIO space address supported? */ +#define IO_SPACE_LIMIT 0xffff + /* * Change addresses as seen by the kernel (virtual) to addresses as * seen by a device (bus), and vice versa. @@ -118,67 +127,81 @@ static inline void *bus_to_virt(unsigned long address) return (long)address <= 0 ? NULL : virt; } -#else /* !__KERNEL__ */ - -/* - * Define actual functions in private name-space so it's easier to - * accommodate things like XFree or svgalib that like to define their - * own versions of inb etc. - */ -extern void __sethae (unsigned long addr); /* syscall */ -extern void _sethae (unsigned long addr); /* cached version */ - -#endif /* !__KERNEL__ */ - /* * There are different chipsets to interface the Alpha CPUs to the world. */ -#ifdef __KERNEL__ +#define IO_CONCAT(a,b) _IO_CONCAT(a,b) +#define _IO_CONCAT(a,b) a ## _ ## b + #ifdef CONFIG_ALPHA_GENERIC /* In a generic kernel, we always go through the machine vector. */ -# define __inb(p) alpha_mv.mv_inb((unsigned long)(p)) -# define __inw(p) alpha_mv.mv_inw((unsigned long)(p)) -# define __inl(p) alpha_mv.mv_inl((unsigned long)(p)) -# define __outb(x,p) alpha_mv.mv_outb((x),(unsigned long)(p)) -# define __outw(x,p) alpha_mv.mv_outw((x),(unsigned long)(p)) -# define __outl(x,p) alpha_mv.mv_outl((x),(unsigned long)(p)) - -# define __readb(a) alpha_mv.mv_readb((unsigned long)(a)) -# define __readw(a) alpha_mv.mv_readw((unsigned long)(a)) -# define __readl(a) alpha_mv.mv_readl((unsigned long)(a)) -# define __readq(a) alpha_mv.mv_readq((unsigned long)(a)) -# define __writeb(v,a) alpha_mv.mv_writeb((v),(unsigned long)(a)) -# define __writew(v,a) alpha_mv.mv_writew((v),(unsigned long)(a)) -# define __writel(v,a) alpha_mv.mv_writel((v),(unsigned long)(a)) -# define __writeq(v,a) alpha_mv.mv_writeq((v),(unsigned long)(a)) - -# define __ioremap(a,s) alpha_mv.mv_ioremap((unsigned long)(a),(s)) -# define __iounmap(a) alpha_mv.mv_iounmap((unsigned long)(a)) -# define __is_ioaddr(a) alpha_mv.mv_is_ioaddr((unsigned long)(a)) - -# define inb __inb -# define inw __inw -# define inl __inl -# define outb __outb -# define outw __outw -# define outl __outl - -# define __raw_readb __readb -# define __raw_readw __readw -# define __raw_readl __readl -# define __raw_readq __readq -# define __raw_writeb __writeb -# define __raw_writew __writew -# define __raw_writel __writel -# define __raw_writeq __writeq +#define REMAP1(TYPE, NAME, QUAL) \ +static inline TYPE generic_##NAME(QUAL void __iomem *addr) \ +{ \ + return alpha_mv.mv_##NAME(addr); \ +} + +#define REMAP2(TYPE, NAME, QUAL) \ +static inline void generic_##NAME(TYPE b, QUAL void __iomem *addr) \ +{ \ + alpha_mv.mv_##NAME(b, addr); \ +} -#else +REMAP1(unsigned int, ioread8, /**/) +REMAP1(unsigned int, ioread16, /**/) +REMAP1(unsigned int, ioread32, /**/) +REMAP1(u8, readb, const volatile) +REMAP1(u16, readw, const volatile) +REMAP1(u32, readl, const volatile) +REMAP1(u64, readq, const volatile) + +REMAP2(u8, iowrite8, /**/) +REMAP2(u16, iowrite16, /**/) +REMAP2(u32, iowrite32, /**/) +REMAP2(u8, writeb, volatile) +REMAP2(u16, writew, volatile) +REMAP2(u32, writel, volatile) +REMAP2(u64, writeq, volatile) + +#undef REMAP1 +#undef REMAP2 + +static inline void __iomem *generic_ioportmap(unsigned long a) +{ + return alpha_mv.mv_ioportmap(a); +} + +static inline void __iomem *generic_ioremap(unsigned long a, unsigned long s) +{ + return alpha_mv.mv_ioremap(a, s); +} + +static inline void generic_iounmap(volatile void __iomem *a) +{ + return alpha_mv.mv_iounmap(a); +} + +static inline int generic_is_ioaddr(unsigned long a) +{ + return alpha_mv.mv_is_ioaddr(a); +} -/* Control how and what gets defined within the core logic headers. */ -#define __WANT_IO_DEF +static inline int generic_is_mmio(const volatile void __iomem *a) +{ + return alpha_mv.mv_is_mmio(a); +} + +#define __IO_PREFIX generic +#define generic_trivial_rw_bw 0 +#define generic_trivial_rw_lq 0 +#define generic_trivial_io_bw 0 +#define generic_trivial_io_lq 0 +#define generic_trivial_iounmap 0 + +#else #if defined(CONFIG_ALPHA_APECS) # include @@ -208,245 +231,281 @@ extern void _sethae (unsigned long addr); /* cached version */ #error "What system is this?" #endif -#undef __WANT_IO_DEF - #endif /* GENERIC */ -#endif /* __KERNEL__ */ /* - * The convention used for inb/outb etc. is that names starting with - * two underscores are the inline versions, names starting with a - * single underscore are proper functions, and names starting with a - * letter are macros that map in some way to inline or proper function - * versions. Not all that pretty, but before you change it, be sure - * to convince yourself that it won't break anything (in particular - * module support). + * We always have external versions of these routines. */ -extern u8 _inb (unsigned long port); -extern u16 _inw (unsigned long port); -extern u32 _inl (unsigned long port); -extern void _outb (u8 b,unsigned long port); -extern void _outw (u16 w,unsigned long port); -extern void _outl (u32 l,unsigned long port); -extern u8 _readb(unsigned long addr); -extern u16 _readw(unsigned long addr); -extern u32 _readl(unsigned long addr); -extern u64 _readq(unsigned long addr); -extern void _writeb(u8 b, unsigned long addr); -extern void _writew(u16 b, unsigned long addr); -extern void _writel(u32 b, unsigned long addr); -extern void _writeq(u64 b, unsigned long addr); +extern u8 inb(unsigned long port); +extern u16 inw(unsigned long port); +extern u32 inl(unsigned long port); +extern void outb(u8 b, unsigned long port); +extern void outw(u16 b, unsigned long port); +extern void outl(u32 b, unsigned long port); + +extern u8 readb(const volatile void __iomem *addr); +extern u16 readw(const volatile void __iomem *addr); +extern u32 readl(const volatile void __iomem *addr); +extern u64 readq(const volatile void __iomem *addr); +extern void writeb(u8 b, volatile void __iomem *addr); +extern void writew(u16 b, volatile void __iomem *addr); +extern void writel(u32 b, volatile void __iomem *addr); +extern void writeq(u64 b, volatile void __iomem *addr); + +extern u8 __raw_readb(const volatile void __iomem *addr); +extern u16 __raw_readw(const volatile void __iomem *addr); +extern u32 __raw_readl(const volatile void __iomem *addr); +extern u64 __raw_readq(const volatile void __iomem *addr); +extern void __raw_writeb(u8 b, volatile void __iomem *addr); +extern void __raw_writew(u16 b, volatile void __iomem *addr); +extern void __raw_writel(u32 b, volatile void __iomem *addr); +extern void __raw_writeq(u64 b, volatile void __iomem *addr); -#ifdef __KERNEL__ /* - * The platform header files may define some of these macros to use - * the inlined versions where appropriate. These macros may also be - * redefined by userlevel programs. + * Mapping from port numbers to __iomem space is pretty easy. */ -#ifndef inb -# define inb(p) _inb(p) -#endif -#ifndef inw -# define inw(p) _inw(p) -#endif -#ifndef inl -# define inl(p) _inl(p) -#endif -#ifndef outb -# define outb(b,p) _outb((b),(p)) -#endif -#ifndef outw -# define outw(w,p) _outw((w),(p)) -#endif -#ifndef outl -# define outl(l,p) _outl((l),(p)) -#endif -#ifndef inb_p -# define inb_p inb -#endif -#ifndef inw_p -# define inw_p inw -#endif -#ifndef inl_p -# define inl_p inl -#endif +/* These two have to be extern inline because of the extern prototype from + . It is not legal to mix "extern" and "static" for + the same declaration. */ +extern inline void __iomem *ioport_map(unsigned long port, unsigned int size) +{ + return IO_CONCAT(__IO_PREFIX,ioportmap) (port); +} -#ifndef outb_p -# define outb_p outb -#endif -#ifndef outw_p -# define outw_p outw -#endif -#ifndef outl_p -# define outl_p outl -#endif +extern inline void ioport_unmap(void __iomem *addr) +{ +} -#define IO_SPACE_LIMIT 0xffff +static inline void __iomem *ioremap(unsigned long port, unsigned long size) +{ + return IO_CONCAT(__IO_PREFIX,ioremap) (port, size); +} -#else +static inline void __iomem * ioremap_nocache(unsigned long offset, + unsigned long size) +{ + return ioremap(offset, size); +} -/* Userspace declarations. Kill in 2.5. */ +static inline void iounmap(volatile void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,iounmap)(addr); +} -extern unsigned int inb(unsigned long port); -extern unsigned int inw(unsigned long port); -extern unsigned int inl(unsigned long port); -extern void outb(unsigned char b,unsigned long port); -extern void outw(unsigned short w,unsigned long port); -extern void outl(unsigned int l,unsigned long port); -extern unsigned long readb(unsigned long addr); -extern unsigned long readw(unsigned long addr); -extern unsigned long readl(unsigned long addr); -extern void writeb(unsigned char b, unsigned long addr); -extern void writew(unsigned short b, unsigned long addr); -extern void writel(unsigned int b, unsigned long addr); +static inline int __is_ioaddr(unsigned long addr) +{ + return IO_CONCAT(__IO_PREFIX,is_ioaddr)(addr); +} +#define __is_ioaddr(a) __is_ioaddr((unsigned long)(a)) -#endif /* __KERNEL__ */ +static inline int __is_mmio(const volatile void __iomem *addr) +{ + return IO_CONCAT(__IO_PREFIX,is_mmio)(addr); +} -#ifdef __KERNEL__ /* - * On Alpha, we have the whole of I/O space mapped at all times, but - * at odd and sometimes discontinuous addresses. Note that the - * discontinuities are all across busses, so we need not care for that - * for any one device. - * - * The DRM drivers need to be able to map contiguously a (potentially) - * discontiguous set of I/O pages. This set of pages is scatter-gather - * mapped contiguously from the perspective of the bus, but we can't - * directly access DMA addresses from the CPU, these addresses need to - * have a real ioremap. Therefore, iounmap and the size argument to - * ioremap are needed to give the platforms the ability to fully implement - * ioremap. - * - * Map the I/O space address into the kernel's virtual address space. + * If the actual I/O bits are sufficiently trivial, then expand inline. */ -static inline void * ioremap(unsigned long offset, unsigned long size) + +#if IO_CONCAT(__IO_PREFIX,trivial_io_bw) +extern inline unsigned int ioread8(void __iomem *addr) { - return (void *) __ioremap(offset, size); -} + unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread8)(addr); + mb(); + return ret; +} -static inline void iounmap(void *addr) +extern inline unsigned int ioread16(void __iomem *addr) { - __iounmap(addr); + unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread16)(addr); + mb(); + return ret; } -static inline void * ioremap_nocache(unsigned long offset, unsigned long size) +extern inline void iowrite8(u8 b, void __iomem *addr) { - return ioremap(offset, size); -} + IO_CONCAT(__IO_PREFIX,iowrite8)(b, addr); + mb(); +} -/* Indirect back to the macros provided. */ +extern inline void iowrite16(u16 b, void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,iowrite16)(b, addr); + mb(); +} -extern u8 ___raw_readb(unsigned long addr); -extern u16 ___raw_readw(unsigned long addr); -extern u32 ___raw_readl(unsigned long addr); -extern u64 ___raw_readq(unsigned long addr); -extern void ___raw_writeb(u8 b, unsigned long addr); -extern void ___raw_writew(u16 b, unsigned long addr); -extern void ___raw_writel(u32 b, unsigned long addr); -extern void ___raw_writeq(u64 b, unsigned long addr); +extern inline u8 inb(unsigned long port) +{ + return ioread8(ioport_map(port, 1)); +} -#ifdef __raw_readb -# define readb(a) ({ u8 r_ = __raw_readb(a); mb(); r_; }) -#endif -#ifdef __raw_readw -# define readw(a) ({ u16 r_ = __raw_readw(a); mb(); r_; }) -#endif -#ifdef __raw_readl -# define readl(a) ({ u32 r_ = __raw_readl(a); mb(); r_; }) -#endif -#ifdef __raw_readq -# define readq(a) ({ u64 r_ = __raw_readq(a); mb(); r_; }) -#endif +extern inline u16 inw(unsigned long port) +{ + return ioread16(ioport_map(port, 2)); +} -#ifdef __raw_writeb -# define writeb(v,a) ({ __raw_writeb((v),(a)); mb(); }) -#endif -#ifdef __raw_writew -# define writew(v,a) ({ __raw_writew((v),(a)); mb(); }) -#endif -#ifdef __raw_writel -# define writel(v,a) ({ __raw_writel((v),(a)); mb(); }) -#endif -#ifdef __raw_writeq -# define writeq(v,a) ({ __raw_writeq((v),(a)); mb(); }) -#endif +extern inline void outb(u8 b, unsigned long port) +{ + iowrite8(b, ioport_map(port, 1)); +} -#ifndef __raw_readb -# define __raw_readb(a) ___raw_readb((unsigned long)(a)) -#endif -#ifndef __raw_readw -# define __raw_readw(a) ___raw_readw((unsigned long)(a)) -#endif -#ifndef __raw_readl -# define __raw_readl(a) ___raw_readl((unsigned long)(a)) -#endif -#ifndef __raw_readq -# define __raw_readq(a) ___raw_readq((unsigned long)(a)) +extern inline void outw(u16 b, unsigned long port) +{ + iowrite16(b, ioport_map(port, 2)); +} #endif -#ifndef __raw_writeb -# define __raw_writeb(v,a) ___raw_writeb((v),(unsigned long)(a)) -#endif -#ifndef __raw_writew -# define __raw_writew(v,a) ___raw_writew((v),(unsigned long)(a)) -#endif -#ifndef __raw_writel -# define __raw_writel(v,a) ___raw_writel((v),(unsigned long)(a)) -#endif -#ifndef __raw_writeq -# define __raw_writeq(v,a) ___raw_writeq((v),(unsigned long)(a)) -#endif +#if IO_CONCAT(__IO_PREFIX,trivial_io_lq) +extern inline unsigned int ioread32(void __iomem *addr) +{ + unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread32)(addr); + mb(); + return ret; +} -#ifndef readb -# define readb(a) _readb((unsigned long)(a)) -#endif -#ifndef readw -# define readw(a) _readw((unsigned long)(a)) -#endif -#ifndef readl -# define readl(a) _readl((unsigned long)(a)) -#endif -#ifndef readq -# define readq(a) _readq((unsigned long)(a)) -#endif +extern inline void iowrite32(u32 b, void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,iowrite32)(b, addr); + mb(); +} -#define readb_relaxed(addr) readb(addr) -#define readw_relaxed(addr) readw(addr) -#define readl_relaxed(addr) readl(addr) -#define readq_relaxed(addr) readq(addr) +extern inline u32 inl(unsigned long port) +{ + return ioread32(ioport_map(port, 4)); +} -#ifndef writeb -# define writeb(v,a) _writeb((v),(unsigned long)(a)) -#endif -#ifndef writew -# define writew(v,a) _writew((v),(unsigned long)(a)) +extern inline void outl(u32 b, unsigned long port) +{ + iowrite32(b, ioport_map(port, 4)); +} #endif -#ifndef writel -# define writel(v,a) _writel((v),(unsigned long)(a)) + +#if IO_CONCAT(__IO_PREFIX,trivial_rw_bw) == 1 +extern inline u8 __raw_readb(const volatile void __iomem *addr) +{ + return IO_CONCAT(__IO_PREFIX,readb)(addr); +} + +extern inline u16 __raw_readw(const volatile void __iomem *addr) +{ + return IO_CONCAT(__IO_PREFIX,readw)(addr); +} + +extern inline void __raw_writeb(u8 b, volatile void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,writeb)(b, addr); +} + +extern inline void __raw_writew(u16 b, volatile void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,writew)(b, addr); +} + +extern inline u8 readb(const volatile void __iomem *addr) +{ + u8 ret = __raw_readb(addr); + mb(); + return ret; +} + +extern inline u16 readw(const volatile void __iomem *addr) +{ + u16 ret = __raw_readw(addr); + mb(); + return ret; +} + +extern inline void writeb(u8 b, volatile void __iomem *addr) +{ + __raw_writeb(b, addr); + mb(); +} + +extern inline void writew(u16 b, volatile void __iomem *addr) +{ + __raw_writew(b, addr); + mb(); +} #endif -#ifndef writeq -# define writeq(v,a) _writeq((v),(unsigned long)(a)) + +#if IO_CONCAT(__IO_PREFIX,trivial_rw_lq) == 1 +extern inline u32 __raw_readl(const volatile void __iomem *addr) +{ + return IO_CONCAT(__IO_PREFIX,readl)(addr); +} + +extern inline u64 __raw_readq(const volatile void __iomem *addr) +{ + return IO_CONCAT(__IO_PREFIX,readq)(addr); +} + +extern inline void __raw_writel(u32 b, volatile void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,writel)(b, addr); +} + +extern inline void __raw_writeq(u64 b, volatile void __iomem *addr) +{ + IO_CONCAT(__IO_PREFIX,writeq)(b, addr); +} + +extern inline u32 readl(const volatile void __iomem *addr) +{ + u32 ret = __raw_readl(addr); + mb(); + return ret; +} + +extern inline u64 readq(const volatile void __iomem *addr) +{ + u64 ret = __raw_readq(addr); + mb(); + return ret; +} + +extern inline void writel(u32 b, volatile void __iomem *addr) +{ + __raw_writel(b, addr); + mb(); +} + +extern inline void writeq(u64 b, volatile void __iomem *addr) +{ + __raw_writeq(b, addr); + mb(); +} #endif +#define inb_p inb +#define inw_p inw +#define inl_p inl +#define outb_p outb +#define outw_p outw +#define outl_p outl +#define readb_relaxed(addr) __raw_readb(addr) +#define readw_relaxed(addr) __raw_readw(addr) +#define readl_relaxed(addr) __raw_readl(addr) +#define readq_relaxed(addr) __raw_readq(addr) + /* * String version of IO memory access ops: */ -extern void _memcpy_fromio(void *, unsigned long, long); -extern void _memcpy_toio(unsigned long, const void *, long); -extern void _memset_c_io(unsigned long, unsigned long, long); +extern void memcpy_fromio(void *, const volatile void __iomem *, long); +extern void memcpy_toio(volatile void __iomem *, const void *, long); +extern void _memset_c_io(volatile void __iomem *, unsigned long, long); -#define memcpy_fromio(to,from,len) \ - _memcpy_fromio((to),(unsigned long)(from),(len)) -#define memcpy_toio(to,from,len) \ - _memcpy_toio((unsigned long)(to),(from),(len)) -#define memset_io(addr,c,len) \ - _memset_c_io((unsigned long)(addr),0x0101010101010101UL*(u8)(c),(len)) +static inline void memset_io(volatile void __iomem *addr, u8 c, long len) +{ + _memset_c_io(addr, 0x0101010101010101UL * c, len); +} #define __HAVE_ARCH_MEMSETW_IO -#define memsetw_io(addr,c,len) \ - _memset_c_io((unsigned long)(addr),0x0001000100010001UL*(u16)(c),(len)) +static inline void memsetw_io(volatile void __iomem *addr, u16 c, long len) +{ + _memset_c_io(addr, 0x0001000100010001UL * c, len); +} /* * String versions of in/out ops: @@ -465,26 +524,22 @@ extern void outsl (unsigned long port, const void *src, unsigned long count); */ #define eth_io_copy_and_sum(skb,src,len,unused) \ - memcpy_fromio((skb)->data,(src),(len)) + memcpy_fromio((skb)->data,src,len) #define isa_eth_io_copy_and_sum(skb,src,len,unused) \ - isa_memcpy_fromio((skb)->data,(src),(len)) + isa_memcpy_fromio((skb)->data,src,len) static inline int -check_signature(unsigned long io_addr, const unsigned char *signature, - int length) +check_signature(const volatile void __iomem *io_addr, + const unsigned char *signature, int length) { - int retval = 0; do { if (readb(io_addr) != *signature) - goto out; + return 0; io_addr++; signature++; - length--; - } while (length); - retval = 1; -out: - return retval; + } while (--length); + return 1; } @@ -492,31 +547,89 @@ out: * ISA space is mapped to some machine-specific location on Alpha. * Call into the existing hooks to get the address translated. */ -#define isa_readb(a) readb(__ioremap((a),1)) -#define isa_readw(a) readw(__ioremap((a),2)) -#define isa_readl(a) readl(__ioremap((a),4)) -#define isa_writeb(b,a) writeb((b),__ioremap((a),1)) -#define isa_writew(w,a) writew((w),__ioremap((a),2)) -#define isa_writel(l,a) writel((l),__ioremap((a),4)) -#define isa_memset_io(a,b,c) memset_io(__ioremap((a),(c)),(b),(c)) -#define isa_memcpy_fromio(a,b,c) memcpy_fromio((a),__ioremap((b),(c)),(c)) -#define isa_memcpy_toio(a,b,c) memcpy_toio(__ioremap((a),(c)),(b),(c)) + +static inline u8 +isa_readb(unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 1); + u8 ret = readb(addr); + iounmap(addr); + return ret; +} + +static inline u16 +isa_readw(unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + u16 ret = readw(addr); + iounmap(addr); + return ret; +} + +static inline u32 +isa_readl(unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + u32 ret = readl(addr); + iounmap(addr); + return ret; +} + +static inline void +isa_writeb(u8 b, unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + writeb(b, addr); + iounmap(addr); +} + +static inline void +isa_writew(u16 w, unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + writew(w, addr); + iounmap(addr); +} + +static inline void +isa_writel(u32 l, unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + writel(l, addr); + iounmap(addr); +} + +static inline void +isa_memset_io(unsigned long offset, u8 val, long n) +{ + void __iomem *addr = ioremap(offset, n); + memset_io(addr, val, n); + iounmap(addr); +} + +static inline void +isa_memcpy_fromio(void *dest, unsigned long offset, long n) +{ + void __iomem *addr = ioremap(offset, n); + memcpy_fromio(dest, addr, n); + iounmap(addr); +} + +static inline void +isa_memcpy_toio(unsigned long offset, const void *src, long n) +{ + void __iomem *addr = ioremap(offset, n); + memcpy_toio(addr, src, n); + iounmap(addr); +} static inline int -isa_check_signature(unsigned long io_addr, const unsigned char *signature, - int length) +isa_check_signature(unsigned long offset, const unsigned char *sig, long len) { - int retval = 0; - do { - if (isa_readb(io_addr) != *signature) - goto out; - io_addr++; - signature++; - length--; - } while (length); - retval = 1; -out: - return retval; + void __iomem *addr = ioremap(offset, len); + int ret = check_signature(addr, sig, len); + iounmap(addr); + return ret; } diff --git a/include/asm-alpha/module.h b/include/asm-alpha/module.h index 7b63743c5..3d5a3ea12 100644 --- a/include/asm-alpha/module.h +++ b/include/asm-alpha/module.h @@ -6,6 +6,7 @@ struct mod_arch_specific unsigned int gotsecindex; }; +#define MODULES_ARE_ELF64 #define Elf_Sym Elf64_Sym #define Elf_Shdr Elf64_Shdr #define Elf_Ehdr Elf64_Ehdr @@ -13,6 +14,8 @@ struct mod_arch_specific #define Elf_Dyn Elf64_Dyn #define Elf_Rel Elf64_Rel #define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) #define ARCH_SHF_SMALL SHF_ALPHA_GPREL diff --git a/include/asm-alpha/page.h b/include/asm-alpha/page.h index d53c53ee5..4f7dd5766 100644 --- a/include/asm-alpha/page.h +++ b/include/asm-alpha/page.h @@ -1,6 +1,7 @@ #ifndef _ALPHA_PAGE_H #define _ALPHA_PAGE_H +#include #include /* PAGE_SHIFT determines the page size */ diff --git a/include/asm-alpha/pgtable.h b/include/asm-alpha/pgtable.h index 8707a399b..3f1ed39d2 100644 --- a/include/asm-alpha/pgtable.h +++ b/include/asm-alpha/pgtable.h @@ -328,7 +328,7 @@ extern inline pte_t mk_swap_pte(unsigned long type, unsigned long offset) #endif #define io_remap_page_range(vma, start, busaddr, size, prot) \ - remap_page_range(vma, start, virt_to_phys(__ioremap(busaddr, size)), size, prot) + remap_page_range(vma, start, virt_to_phys((void *)__ioremap(busaddr, size)), size, prot) #define pte_ERROR(e) \ printk("%s:%d: bad pte %016lx.\n", __FILE__, __LINE__, pte_val(e)) diff --git a/include/asm-alpha/resource.h b/include/asm-alpha/resource.h index d2d03a409..bfacb0aa2 100644 --- a/include/asm-alpha/resource.h +++ b/include/asm-alpha/resource.h @@ -41,7 +41,7 @@ {INR_OPEN, INR_OPEN}, /* RLIMIT_NOFILE */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_AS */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_NPROC */ \ - {32768, 32768 }, /* RLIMIT_MEMLOCK */ \ + {MLOCK_LIMIT, MLOCK_LIMIT }, /* RLIMIT_MEMLOCK */ \ {LONG_MAX, LONG_MAX}, /* RLIMIT_LOCKS */ \ {MAX_SIGPENDING, MAX_SIGPENDING}, /* RLIMIT_SIGPENDING */ \ {MQ_BYTES_MAX, MQ_BYTES_MAX}, /* RLIMIT_MSGQUEUE */ \ diff --git a/include/asm-alpha/semaphore.h b/include/asm-alpha/semaphore.h index 1f1978428..eb2cbd97d 100644 --- a/include/asm-alpha/semaphore.h +++ b/include/asm-alpha/semaphore.h @@ -18,21 +18,13 @@ struct semaphore { atomic_t count; wait_queue_head_t wait; -#ifdef WAITQUEUE_DEBUG - long __magic; -#endif }; -#ifdef WAITQUEUE_DEBUG -# define __SEM_DEBUG_INIT(name) , (long)&(name).__magic -#else -# define __SEM_DEBUG_INIT(name) -#endif - -#define __SEMAPHORE_INITIALIZER(name,count) \ - { ATOMIC_INIT(count), \ - __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ - __SEM_DEBUG_INIT(name) } +#define __SEMAPHORE_INITIALIZER(name, n) \ +{ \ + .count = ATOMIC_INIT(n), \ + .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait), \ +} #define __MUTEX_INITIALIZER(name) \ __SEMAPHORE_INITIALIZER(name,1) @@ -53,9 +45,6 @@ static inline void sema_init(struct semaphore *sem, int val) atomic_set(&sem->count, val); init_waitqueue_head(&sem->wait); -#ifdef WAITQUEUE_DEBUG - sem->__magic = (long)&sem->__magic; -#endif } static inline void init_MUTEX (struct semaphore *sem) @@ -142,7 +131,7 @@ static inline void __up(struct semaphore *sem) __up_wakeup(sem); } -#if !defined(WAITQUEUE_DEBUG) && !defined(CONFIG_DEBUG_SEMAPHORE) +#if !defined(CONFIG_DEBUG_SEMAPHORE) extern inline void down(struct semaphore *sem) { __down(sem); diff --git a/include/asm-alpha/spinlock.h b/include/asm-alpha/spinlock.h index 1fc53a935..b5f355444 100644 --- a/include/asm-alpha/spinlock.h +++ b/include/asm-alpha/spinlock.h @@ -95,7 +95,7 @@ static inline int _raw_spin_trylock(spinlock_t *lock) /***********************************************************/ typedef struct { - volatile int write_lock:1, read_counter:31; + volatile unsigned int write_lock:1, read_counter:31; } /*__attribute__((aligned(32)))*/ rwlock_t; #define RW_LOCK_UNLOCKED (rwlock_t) { 0, 0 } @@ -124,7 +124,7 @@ static inline void _raw_write_lock(rwlock_t * lock) " br 1b\n" ".previous" : "=m" (*lock), "=&r" (regx) - : "0" (*lock) : "memory"); + : "m" (*lock) : "memory"); } static inline void _raw_read_lock(rwlock_t * lock) @@ -148,6 +148,29 @@ static inline void _raw_read_lock(rwlock_t * lock) } #endif /* CONFIG_DEBUG_RWLOCK */ +static inline int _raw_write_trylock(rwlock_t * lock) +{ + long regx; + int success; + + __asm__ __volatile__( + "1: ldl_l %1,%0\n" + " lda %2,0\n" + " bne %1,2f\n" + " or $31,1,%1\n" + " stl_c %1,%0\n" + " beq %1,6f\n" + " lda %2,1\n" + "2: mb\n" + ".subsection 2\n" + "6: br 1b\n" + ".previous" + : "=m" (*lock), "=&r" (regx), "=&r" (success) + : "m" (*lock) : "memory"); + + return success; +} + static inline void _raw_write_unlock(rwlock_t * lock) { mb(); diff --git a/include/asm-alpha/system.h b/include/asm-alpha/system.h index 1e5ac92d2..bba276c50 100644 --- a/include/asm-alpha/system.h +++ b/include/asm-alpha/system.h @@ -55,9 +55,9 @@ */ struct el_common { unsigned int size; /* size in bytes of logout area */ - int sbz1 : 30; /* should be zero */ - int err2 : 1; /* second error */ - int retry : 1; /* retry flag */ + unsigned int sbz1 : 30; /* should be zero */ + unsigned int err2 : 1; /* second error */ + unsigned int retry : 1; /* retry flag */ unsigned int proc_offset; /* processor-specific offset */ unsigned int sys_offset; /* system-specific offset */ unsigned int code; /* machine check code */ diff --git a/include/asm-alpha/uaccess.h b/include/asm-alpha/uaccess.h index cc5394e2c..474d06689 100644 --- a/include/asm-alpha/uaccess.h +++ b/include/asm-alpha/uaccess.h @@ -108,7 +108,6 @@ extern void __get_user_unknown(void); ({ \ long __gu_err = -EFAULT, __gu_val = 0; \ const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \ - __chk_user_ptr(ptr); \ if (__access_ok((unsigned long)__gu_addr,size,segment)) { \ __gu_err = 0; \ switch (size) { \ @@ -223,7 +222,6 @@ extern void __put_user_unknown(void); ({ \ long __pu_err = -EFAULT; \ __typeof__(*(ptr)) __user *__pu_addr = (ptr); \ - __chk_user_ptr(ptr); \ if (__access_ok((unsigned long)__pu_addr,size,segment)) { \ __pu_err = 0; \ switch (size) { \ diff --git a/include/asm-alpha/unistd.h b/include/asm-alpha/unistd.h index aae3ab664..9aca27ea7 100644 --- a/include/asm-alpha/unistd.h +++ b/include/asm-alpha/unistd.h @@ -374,8 +374,9 @@ #define __NR_mq_timedreceive 435 #define __NR_mq_notify 436 #define __NR_mq_getsetattr 437 +#define __NR_waitid 438 -#define NR_SYSCALLS 438 +#define NR_SYSCALLS 439 #if defined(__GNUC__) @@ -618,7 +619,7 @@ static inline long read(int fd, char * buf, size_t nr) return sys_read(fd, buf, nr); } -extern long execve(char *, char **, char **); +extern int execve(char *, char **, char **); static inline long setsid(void) { diff --git a/include/asm-arm/arch-ebsa110/uncompress.h b/include/asm-arm/arch-ebsa110/uncompress.h index 1d7d841ef..eee95581a 100644 --- a/include/asm-arm/arch-ebsa110/uncompress.h +++ b/include/asm-arm/arch-ebsa110/uncompress.h @@ -11,7 +11,7 @@ /* * This does not append a newline */ -static void puts(const char *s) +static void putstr(const char *s) { unsigned long tmp1, tmp2; __asm__ __volatile__( diff --git a/include/asm-arm/arch-iop3xx/memory.h b/include/asm-arm/arch-iop3xx/memory.h index a2d077a3b..dc4735cb0 100644 --- a/include/asm-arm/arch-iop3xx/memory.h +++ b/include/asm-arm/arch-iop3xx/memory.h @@ -1,41 +1,39 @@ /* - * linux/include/asm-arm/arch-iop80310/memory.h + * linux/include/asm-arm/arch-iop3xx/memory.h */ #ifndef __ASM_ARCH_MEMORY_H #define __ASM_ARCH_MEMORY_H #include -#include -#include +#include /* * Physical DRAM offset. */ +#ifndef CONFIG_ARCH_IOP331 #define PHYS_OFFSET (0xa0000000UL) +#else +#define PHYS_OFFSET (0x00000000UL) +#endif /* - * Virtual view <-> DMA view memory address translations + * Virtual view <-> PCI DMA view memory address translations * virt_to_bus: Used to translate the virtual address to an * address suitable to be passed to set_dma_addr * bus_to_virt: Used to convert an address for DMA operations * to an address that the kernel can use. */ -#ifdef CONFIG_ARCH_IOP310 - -#define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP310_SIATVR)) | ((*IOP310_SIABAR) & 0xfffffff0)) -#define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP310_SIALR)) | ( *IOP310_SIATVR))) - -#elif defined(CONFIG_ARCH_IOP321) +#if defined(CONFIG_ARCH_IOP321) #define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP321_IATVR2)) | ((*IOP321_IABAR2) & 0xfffffff0)) #define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP321_IALR2)) | ( *IOP321_IATVR2))) -#endif +#elif defined(CONFIG_ARCH_IOP331) + +#define __virt_to_bus(x) (((__virt_to_phys(x)) & ~(*IOP331_IATVR2)) | ((*IOP331_IABAR2) & 0xfffffff0)) +#define __bus_to_virt(x) (__phys_to_virt(((x) & ~(*IOP331_IALR2)) | ( *IOP331_IATVR2))) -/* boot mem allocate global pointer for MU circular queues QBAR */ -#ifdef CONFIG_IOP3XX_MU -extern void *mu_mem; #endif #define PFN_TO_NID(addr) (0) diff --git a/include/asm-arm/arch-omap/hardware.h b/include/asm-arm/arch-omap/hardware.h index 348072bc4..fe0286912 100644 --- a/include/asm-arm/arch-omap/hardware.h +++ b/include/asm-arm/arch-omap/hardware.h @@ -178,6 +178,7 @@ #define IRQ_CONTROL_REG_OFFSET 0x18 #define IRQ_ISR_REG_OFFSET 0x9c #define IRQ_ILR0_REG_OFFSET 0x1c +#define IRQ_GMR_REG_OFFSET 0xa0 /* * --------------------------------------------------------------------------- @@ -185,22 +186,23 @@ * --------------------------------------------------------------------------- */ #define TCMIF_BASE 0xfffecc00 -#define IMIF_PRIO (TCMIF_BASE + 0x00) -#define EMIFS_PRIO (TCMIF_BASE + 0x04) -#define EMIFF_PRIO (TCMIF_BASE + 0x08) -#define EMIFS_CONFIG (TCMIF_BASE + 0x0c) -#define EMIFS_CS0_CONFIG (TCMIF_BASE + 0x10) -#define EMIFS_CS1_CONFIG (TCMIF_BASE + 0x14) -#define EMIFS_CS2_CONFIG (TCMIF_BASE + 0x18) -#define EMIFS_CS3_CONFIG (TCMIF_BASE + 0x1c) -#define EMIFF_SDRAM_CONFIG (TCMIF_BASE + 0x20) -#define EMIFF_MRS (TCMIF_BASE + 0x24) -#define TC_TIMEOUT1 (TCMIF_BASE + 0x28) -#define TC_TIMEOUT2 (TCMIF_BASE + 0x2c) -#define TC_TIMEOUT3 (TCMIF_BASE + 0x30) -#define TC_ENDIANISM (TCMIF_BASE + 0x34) -#define EMIFF_SDRAM_CONFIG_2 (TCMIF_BASE + 0x3c) -#define EMIF_CFG_DYNAMIC_WS (TCMIF_BASE + 0x40) +#define IMIF_PRIO_REG __REG32(TCMIF_BASE + 0x00) +#define EMIFS_PRIO_REG __REG32(TCMIF_BASE + 0x04) +#define EMIFF_PRIO_REG __REG32(TCMIF_BASE + 0x08) +#define EMIFS_CONFIG_REG __REG32(TCMIF_BASE + 0x0c) +#define EMIFS_CS0_CONFIG_REG __REG32(TCMIF_BASE + 0x10) +#define EMIFS_CS1_CONFIG_REG __REG32(TCMIF_BASE + 0x14) +#define EMIFS_CS2_CONFIG_REG __REG32(TCMIF_BASE + 0x18) +#define EMIFS_CS3_CONFIG_REG __REG32(TCMIF_BASE + 0x1c) +#define EMIFF_SDRAM_CONFIG_REG __REG32(TCMIF_BASE + 0x20) +#define EMIFF_MRS_REG __REG32(TCMIF_BASE + 0x24) +#define TC_TIMEOUT1_REG __REG32(TCMIF_BASE + 0x28) +#define TC_TIMEOUT2_REG __REG32(TCMIF_BASE + 0x2c) +#define TC_TIMEOUT3_REG __REG32(TCMIF_BASE + 0x30) +#define TC_ENDIANISM_REG __REG32(TCMIF_BASE + 0x34) +#define EMIFF_SDRAM_CONFIG_2_REG __REG32(TCMIF_BASE + 0x3c) +#define EMIF_CFG_DYNAMIC_WS_REG __REG32(TCMIF_BASE + 0x40) + /* * ---------------------------------------------------------------------------- * System control registers @@ -290,6 +292,7 @@ #define OMAP_ID_1610 0x3576 #define OMAP_ID_1710 0x35F7 #define OMAP_ID_5912 0x358C +#define OMAP_ID_1611 0x358C #ifdef CONFIG_ARCH_OMAP730 #include "omap730.h" @@ -307,12 +310,16 @@ #ifdef CONFIG_ARCH_OMAP1610 #include "omap1610.h" -#define cpu_is_omap1710() (((OMAP_ID_REG >> ID_SHIFT) & ID_MASK) == OMAP_ID_1710) -/* Detect 1710 as 1610 for now */ -#define cpu_is_omap1610() (((OMAP_ID_REG >> ID_SHIFT) & ID_MASK) == OMAP_ID_1610 \ - || cpu_is_omap1710()) +#define cpu_is_omap1610() (((OMAP_ID_REG >> ID_SHIFT) & ID_MASK) == OMAP_ID_1610) || \ + (((OMAP_ID_REG >> ID_SHIFT) & ID_MASK) == OMAP_ID_1611) #else #define cpu_is_omap1610() 0 +#endif + +#ifdef CONFIG_ARCH_OMAP1710 +#include "omap1610.h" +#define cpu_is_omap1710() (((OMAP_ID_REG >> ID_SHIFT) & ID_MASK) == OMAP_ID_1710) +#else #define cpu_is_omap1710() 0 #endif @@ -343,7 +350,6 @@ #ifdef CONFIG_MACH_OMAP_H3 #include "board-h3.h" -#error "Support for H3 board not yet implemented." #endif #ifdef CONFIG_MACH_OMAP_H4 diff --git a/include/asm-arm/arch-omap/memory.h b/include/asm-arm/arch-omap/memory.h index 4f9e8c842..c93c05288 100644 --- a/include/asm-arm/arch-omap/memory.h +++ b/include/asm-arm/arch-omap/memory.h @@ -64,7 +64,7 @@ #define virt_to_lbus(x) ((x) - PAGE_OFFSET + OMAP1510_LB_OFFSET) #define lbus_to_virt(x) ((x) - OMAP1510_LB_OFFSET + PAGE_OFFSET) -#define is_lbus_device(dev) (cpu_is_omap1510() && dev->coherent_dma_mask == 0x0fffffff) +#define is_lbus_device(dev) (cpu_is_omap1510() && dev && dev->coherent_dma_mask == 0x0fffffff) #define __arch_page_to_dma(dev, page) ({is_lbus_device(dev) ? \ (dma_addr_t)virt_to_lbus(page_address(page)) : \ diff --git a/include/asm-arm/arch-omap/mux.h b/include/asm-arm/arch-omap/mux.h index 405395706..d0fdf9833 100644 --- a/include/asm-arm/arch-omap/mux.h +++ b/include/asm-arm/arch-omap/mux.h @@ -135,6 +135,10 @@ typedef enum { UART3_CLKREQ, UART3_BCLK, /* 12MHz clock out */ + /* PWT & PWL */ + PWT, + PWL, + /* USB master generic */ R18_USB_VBUS, R18_1510_USB_GPIO0, @@ -154,6 +158,7 @@ typedef enum { USB1_RCV, USB1_SPEED, R13_1610_USB1_SPEED, + R13_1710_USB1_SE0, /* USB2 master */ USB2_SUSP, @@ -169,6 +174,10 @@ typedef enum { R19_1510_GPIO1, M14_1510_GPIO2, + /* OMAP-1710 GPIO */ + R18_1710_GPIO0, + W15_1710_GPIO40, + /* MPUIO */ MPUIO2, MPUIO4, @@ -225,6 +234,7 @@ typedef enum { P10_1610_GPIO22, V5_1610_GPIO24, AA20_1610_GPIO_41, + W19_1610_GPIO48, /* OMAP-1610 uWire */ V19_1610_UWIRE_SCLK, @@ -242,6 +252,11 @@ typedef enum { MMC_CLK, MMC_DAT3, + /* OMAP-1710 MMC CMDDIR and DATDIR0 */ + M15_1710_MMC_CLKI, + P19_1710_MMC_CMDDIR, + P20_1710_MMC_DATDIR0, + /* OMAP-1610 USB0 alternate pin configuration */ W9_USB0_TXEN, AA9_USB0_VP, @@ -317,6 +332,10 @@ MUX_CFG("UART3_RTS", 5, 15, 2, 0, 25, 0, NA, 0, 0) MUX_CFG("UART3_CLKREQ", 9, 27, 0, 2, 5, 0, NA, 0, 0) MUX_CFG("UART3_BCLK", A, 0, 0, 2, 6, 0, NA, 0, 0) +/* PWT & PWL, conflicts with UART3 */ +MUX_CFG("PWT", 6, 0, 2, 0, 30, 0, NA, 0, 0) +MUX_CFG("PWL", 6, 3, 1, 0, 31, 1, NA, 0, 0) + /* USB internal master generic */ MUX_CFG("R18_USB_VBUS", 7, 9, 2, 1, 11, 0, NA, 0, 1) MUX_CFG("R18_1510_USB_GPIO0", 7, 9, 0, 1, 11, 1, NA, 0, 1) @@ -336,6 +355,7 @@ MUX_CFG("USB1_VM", A, 6, 1, 2, 8, 0, NA, 0, 1) MUX_CFG("USB1_RCV", A, 9, 1, 2, 9, 0, NA, 0, 1) MUX_CFG("USB1_SPEED", A, 12, 2, 2, 10, 0, NA, 0, 1) MUX_CFG("R13_1610_USB1_SPEED", A, 12, 5, 2, 10, 0, NA, 0, 1) +MUX_CFG("R13_1710_USB1_SEO", A, 12, 5, 2, 10, 0, NA, 0, 1) /* USB2 master */ MUX_CFG("USB2_SUSP", B, 3, 1, 2, 17, 0, NA, 0, 1) @@ -347,9 +367,13 @@ MUX_CFG("USB2_SE0", C, 24, 2, 3, 2, 0, NA, 0, 1) MUX_CFG("USB2_TXD", C, 27, 2, 3, 3, 0, NA, 0, 1) /* OMAP-1510 GPIO */ -MUX_CFG("R18_1510_GPIO0", 7, 9, 0, 1, 11, 1, 0, 0, 1) -MUX_CFG("R19_1510_GPIO1", 7, 6, 0, 1, 10, 1, 0, 0, 1) -MUX_CFG("M14_1510_GPIO2", 7, 3, 0, 1, 9, 1, 0, 0, 1) +MUX_CFG("R18_1510_GPIO0", 7, 9, 0, 1, 11, 1, 0, 0, 1) +MUX_CFG("R19_1510_GPIO1", 7, 6, 0, 1, 10, 1, 0, 0, 1) +MUX_CFG("M14_1510_GPIO2", 7, 3, 0, 1, 9, 1, 0, 0, 1) + +/* OMAP-1710 GPIO */ +MUX_CFG("R18_1710_GPIO0", 7, 9, 0, 1, 11, 1, 1, 1, 1) +MUX_CFG("W15_1710_GPIO40", 9, 27, 7, 2, 5, 1, 2, 1, 1) /* MPUIO */ MUX_CFG("MPUIO2", 7, 18, 0, 1, 1, 1, NA, 0, 1) @@ -408,6 +432,7 @@ MUX_CFG("N19_1610_GPIO13", 6, 12, 0, 1, 2, 0, 1, 1, 1) MUX_CFG("P10_1610_GPIO22", C, 0, 7, 2, 26, 0, 2, 1, 1) MUX_CFG("V5_1610_GPIO24", B, 15, 7, 2, 21, 0, 2, 1, 1) MUX_CFG("AA20_1610_GPIO_41", 9, 9, 7, 1, 31, 0, 1, 1, 1) +MUX_CFG("W19_1610_GPIO48", 8, 15, 7, 1, 23, 1, 1, 0, 1) /* OMAP-1610 uWire */ MUX_CFG("V19_1610_UWIRE_SCLK", 8, 6, 0, 1, 20, 0, 1, 1, 1) @@ -417,13 +442,16 @@ MUX_CFG("N14_1610_UWIRE_CS0", 8, 9, 1, 1, 21, 0, 1, 1, 1) MUX_CFG("P15_1610_UWIRE_CS3", 8, 12, 1, 1, 22, 0, 1, 1, 1) MUX_CFG("N15_1610_UWIRE_CS1", 7, 18, 2, 1, 14, 0, NA, 0, 1) -/* First MMC interface, same on 1510 and 1610 */ +/* First MMC interface, same on 1510, 1610 and 1710 */ MUX_CFG("MMC_CMD", A, 27, 0, 2, 15, 1, 2, 1, 1) MUX_CFG("MMC_DAT1", A, 24, 0, 2, 14, 1, 2, 1, 1) MUX_CFG("MMC_DAT2", A, 18, 0, 2, 12, 1, 2, 1, 1) MUX_CFG("MMC_DAT0", B, 0, 0, 2, 16, 1, 2, 1, 1) MUX_CFG("MMC_CLK", A, 21, 0, NA, 0, 0, NA, 0, 1) MUX_CFG("MMC_DAT3", 10, 15, 0, 3, 8, 1, 3, 1, 1) +MUX_CFG("M15_1710_MMC_CLKI", 6, 21, 2, 0, 0, 0, NA, 0, 1) +MUX_CFG("P19_1710_MMC_CMDDIR", 6, 24, 6, 0, 0, 0, NA, 0, 1) +MUX_CFG("P20_1710_MMC_DATDIR0", 6, 27, 5, 0, 0, 0, NA, 0, 1) /* OMAP-1610 USB0 alternate configuration */ MUX_CFG("W9_USB0_TXEN", B, 9, 5, 2, 19, 0, 2, 0, 1) diff --git a/include/asm-arm/arch-omap/uncompress.h b/include/asm-arm/arch-omap/uncompress.h index 9b287366d..7da2d6e4c 100644 --- a/include/asm-arm/arch-omap/uncompress.h +++ b/include/asm-arm/arch-omap/uncompress.h @@ -28,7 +28,7 @@ #define omap_get_id() ((*(volatile unsigned int *)(0xfffed404)) >> 12) & ID_MASK static void -puts(const char *s) +putstr(const char *s) { volatile u8 * uart = 0; int shift = 0; diff --git a/include/asm-arm/arch-pxa/dma.h b/include/asm-arm/arch-pxa/dma.h index df4bc6628..56db3d49b 100644 --- a/include/asm-arm/arch-pxa/dma.h +++ b/include/asm-arm/arch-pxa/dma.h @@ -22,7 +22,7 @@ * Note: this structure must always be aligned to a 16-byte boundary. */ -typedef struct { +typedef struct pxa_dma_desc { volatile u32 ddadr; /* Points to the next descriptor + flags */ volatile u32 dsadr; /* DSADR value for the current transfer */ volatile u32 dtadr; /* DTADR value for the current transfer */ diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h index 127fc1af1..72b04d846 100644 --- a/include/asm-arm/arch-pxa/hardware.h +++ b/include/asm-arm/arch-pxa/hardware.h @@ -59,10 +59,9 @@ typedef struct { volatile u32 offset[4096]; } __regbase; # define __REG(x) __REGP(io_p2v(x)) #endif -/* Let's kick gcc's ass again... */ -# define __REG2(x,y) \ - ( __builtin_constant_p(y) ? (__REG((x) + (y))) \ - : (*(volatile u32 *)((u32)&__REG(x) + (y))) ) +/* With indexed regs we don't want to feed the index through io_p2v() + especially if it is a variable, otherwise horrible code will result. */ +# define __REG2(x,y) (*(volatile u32 *)((u32)&__REG(x) + (y))) # define __PREG(x) (io_v2p((u32)&(x))) @@ -73,8 +72,6 @@ typedef struct { volatile u32 offset[4096]; } __regbase; #endif -#include "pxa-regs.h" - #ifndef __ASSEMBLY__ /* diff --git a/include/asm-arm/arch-pxa/irqs.h b/include/asm-arm/arch-pxa/irqs.h index 29164556b..3d9b92a46 100644 --- a/include/asm-arm/arch-pxa/irqs.h +++ b/include/asm-arm/arch-pxa/irqs.h @@ -12,19 +12,34 @@ #include -#define PXA_IRQ_SKIP 7 /* The first 7 IRQs are not yet used */ +#ifdef CONFIG_PXA27x +#define PXA_IRQ_SKIP 0 +#else +#define PXA_IRQ_SKIP 7 +#endif + #define PXA_IRQ(x) ((x) - PXA_IRQ_SKIP) -#define IRQ_HWUART PXA_IRQ(7) /* HWUART Transmit/Receive/Error */ +#define IRQ_SSP3 PXA_IRQ(0) /* SSP3 service request */ +#define IRQ_MSL PXA_IRQ(1) /* MSL Interface interrupt */ +#define IRQ_USBH2 PXA_IRQ(2) /* USB Host interrupt 1 (OHCI) */ +#define IRQ_USBH1 PXA_IRQ(3) /* USB Host interrupt 2 (non-OHCI) */ +#define IRQ_KEYPAD PXA_IRQ(4) /* Key pad controller */ +#define IRQ_MEMSTK PXA_IRQ(5) /* Memory Stick interrupt */ +#define IRQ_PWRI2C PXA_IRQ(6) /* Power I2C interrupt */ +#define IRQ_HWUART PXA_IRQ(7) /* HWUART Transmit/Receive/Error (PXA26x) */ +#define IRQ_OST_4_11 PXA_IRQ(7) /* OS timer 4-11 matches (PXA27x) */ #define IRQ_GPIO0 PXA_IRQ(8) /* GPIO0 Edge Detect */ #define IRQ_GPIO1 PXA_IRQ(9) /* GPIO1 Edge Detect */ -#define IRQ_GPIO_2_80 PXA_IRQ(10) /* GPIO[2-80] Edge Detect */ +#define IRQ_GPIO_2_x PXA_IRQ(10) /* GPIO[2-x] Edge Detect */ #define IRQ_USB PXA_IRQ(11) /* USB Service */ #define IRQ_PMU PXA_IRQ(12) /* Performance Monitoring Unit */ #define IRQ_I2S PXA_IRQ(13) /* I2S Interrupt */ #define IRQ_AC97 PXA_IRQ(14) /* AC97 Interrupt */ -#define IRQ_ASSP PXA_IRQ(15) /* Audio SSP Service Request */ -#define IRQ_NSSP PXA_IRQ(16) /* Network SSP Service Request */ +#define IRQ_ASSP PXA_IRQ(15) /* Audio SSP Service Request (PXA25x) */ +#define IRQ_USIM PXA_IRQ(15) /* Smart Card interface interrupt (PXA27x) */ +#define IRQ_NSSP PXA_IRQ(16) /* Network SSP Service Request (PXA25x) */ +#define IRQ_SSP2 PXA_IRQ(16) /* SSP2 interrupt (PXA27x) */ #define IRQ_LCD PXA_IRQ(17) /* LCD Controller Service Request */ #define IRQ_I2C PXA_IRQ(18) /* I2C Service Request */ #define IRQ_ICP PXA_IRQ(19) /* ICP Transmit/Receive/Error */ @@ -41,13 +56,28 @@ #define IRQ_RTC1Hz PXA_IRQ(30) /* RTC HZ Clock Tick */ #define IRQ_RTCAlrm PXA_IRQ(31) /* RTC Alarm */ -#define GPIO_2_80_TO_IRQ(x) \ - PXA_IRQ((x) - 2 + 32) -#define IRQ_GPIO(x) (((x) < 2) ? (IRQ_GPIO0 + (x)) : GPIO_2_80_TO_IRQ(x)) +#ifdef CONFIG_PXA27x +#define IRQ_TPM PXA_IRQ(32) /* TPM interrupt */ +#define IRQ_CAMERA PXA_IRQ(33) /* Camera Interface */ -#define IRQ_TO_GPIO_2_80(i) \ - ((i) - PXA_IRQ(32) + 2) -#define IRQ_TO_GPIO(i) ((i) - (((i) > IRQ_GPIO1) ? IRQ_GPIO(2) - 2 : IRQ_GPIO(0))) +#define PXA_INTERNAL_IRQS 34 +#else +#define PXA_INTERNAL_IRQS 32 +#endif + +#define GPIO_2_x_TO_IRQ(x) \ + PXA_IRQ((x) - 2 + PXA_INTERNAL_IRQS) +#define IRQ_GPIO(x) (((x) < 2) ? (IRQ_GPIO0 + (x)) : GPIO_2_x_TO_IRQ(x)) + +#define IRQ_TO_GPIO_2_x(i) \ + ((i) - IRQ_GPIO(2) + 2) +#define IRQ_TO_GPIO(i) (((i) < IRQ_GPIO(2)) ? ((i) - IRQ_GPIO0) : IRQ_TO_GPIO_2_x(i)) + +#if defined(CONFIG_PXA25x) +#define PXA_LAST_GPIO 80 +#elif defined(CONFIG_PXA27x) +#define PXA_LAST_GPIO 127 +#endif /* * The next 16 interrupts are for board specific purposes. Since @@ -55,7 +85,7 @@ * these. If you need more, increase IRQ_BOARD_END, but keep it * within sensible limits. */ -#define IRQ_BOARD_START (IRQ_GPIO(80) + 1) +#define IRQ_BOARD_START (IRQ_GPIO(PXA_LAST_GPIO) + 1) #define IRQ_BOARD_END (IRQ_BOARD_START + 16) #define IRQ_SA1111_START (IRQ_BOARD_END) diff --git a/include/asm-arm/arch-pxa/pxa-regs.h b/include/asm-arm/arch-pxa/pxa-regs.h index d0f64e3f7..4ff0d00e1 100644 --- a/include/asm-arm/arch-pxa/pxa-regs.h +++ b/include/asm-arm/arch-pxa/pxa-regs.h @@ -15,17 +15,6 @@ #include -// FIXME hack so that SA-1111.h will work [cb] - -#ifndef __ASSEMBLY__ -typedef unsigned short Word16 ; -typedef unsigned int Word32 ; -typedef Word32 Word ; -typedef Word Quad [4] ; -typedef void *Address ; -typedef void (*ExcpHndlr) (void) ; -#endif - /* * PXA Chip selects */ @@ -962,7 +951,7 @@ typedef void (*ExcpHndlr) (void) ; #define ICCR0_LBM (1 << 1) /* Loopback mode */ #define ICCR0_ITR (1 << 0) /* IrDA transmission */ -#ifdef CONFIG_CPU_BULVERDE +#ifdef CONFIG_PXA27x #define ICCR2_RXP (1 << 3) /* Receive Pin Polarity select */ #define ICCR2_TXP (1 << 2) /* Transmit Pin Polarity select */ #define ICCR2_TRIG (3 << 0) /* Receive FIFO Trigger threshold */ @@ -971,7 +960,7 @@ typedef void (*ExcpHndlr) (void) ; #define ICCR2_TRIG_32 (2 << 0) /* >= 32 bytes */ #endif -#ifdef CONFIG_CPU_BULVERDE +#ifdef CONFIG_PXA27x #define ICSR0_EOC (1 << 6) /* DMA End of Descriptor Chain */ #endif #define ICSR0_FRE (1 << 5) /* Framing error */ @@ -1134,15 +1123,15 @@ typedef void (*ExcpHndlr) (void) ; #define _GEDR(x) __REG2(0x40E00048, ((x) & 0x60) >> 3) #define _GAFR(x) __REG2(0x40E00054, ((x) & 0x70) >> 2) -#define GPLR(x) ((((x) & 0x7f) < 96) ? _GPLR(x) : GPLR3) -#define GPDR(x) ((((x) & 0x7f) < 96) ? _GPDR(x) : GPDR3) -#define GPSR(x) ((((x) & 0x7f) < 96) ? _GPSR(x) : GPSR3) -#define GPCR(x) ((((x) & 0x7f) < 96) ? _GPCR(x) : GPCR3) -#define GRER(x) ((((x) & 0x7f) < 96) ? _GRER(x) : GRER3) -#define GFER(x) ((((x) & 0x7f) < 96) ? _GFER(x) : GFER3) -#define GEDR(x) ((((x) & 0x7f) < 96) ? _GEDR(x) : GEDR3) -#define GAFR(x) ((((x) & 0x7f) < 96) ? _GAFR(x) : \ - ((((x) & 0x7f) < 112) ? GAFR3_L : GAFR3_U)) +#define GPLR(x) (*((((x) & 0x7f) < 96) ? &_GPLR(x) : &GPLR3)) +#define GPDR(x) (*((((x) & 0x7f) < 96) ? &_GPDR(x) : &GPDR3)) +#define GPSR(x) (*((((x) & 0x7f) < 96) ? &_GPSR(x) : &GPSR3)) +#define GPCR(x) (*((((x) & 0x7f) < 96) ? &_GPCR(x) : &GPCR3)) +#define GRER(x) (*((((x) & 0x7f) < 96) ? &_GRER(x) : &GRER3)) +#define GFER(x) (*((((x) & 0x7f) < 96) ? &_GFER(x) : &GFER3)) +#define GEDR(x) (*((((x) & 0x7f) < 96) ? &_GEDR(x) : &GEDR3)) +#define GAFR(x) (*((((x) & 0x7f) < 96) ? &_GAFR(x) : \ + ((((x) & 0x7f) < 112) ? &GAFR3_L : &GAFR3_U))) #else #define GPLR(x) __REG2(0x40E00000, ((x) & 0x60) >> 3) @@ -1185,6 +1174,7 @@ typedef void (*ExcpHndlr) (void) ; #define GPIO30_SDATA_OUT 30 /* AC97/I2S Sdata_out */ #define GPIO31_SYNC 31 /* AC97/I2S sync */ #define GPIO32_SDATA_IN1 32 /* AC97 Sdata_in1 */ +#define GPIO32_MMCCLK 32 /* MMC Clock (PXA270) */ #define GPIO33_nCS_5 33 /* chip select 5 */ #define GPIO34_FFRXD 34 /* FFUART receive */ #define GPIO34_MMCCS0 34 /* MMC Chip Select 0 */ @@ -1213,6 +1203,7 @@ typedef void (*ExcpHndlr) (void) ; #define GPIO53_MMCCLK 53 /* MMC Clock */ #define GPIO54_MMCCLK 54 /* MMC Clock */ #define GPIO54_pSKTSEL 54 /* Socket Select for Card Space */ +#define GPIO54_nPCE_2 54 /* Card Enable for Card Space (PXA27x) */ #define GPIO55_nPREG 55 /* Card Address bit 26 */ #define GPIO56_nPWAIT 56 /* Wait signal for Card Space */ #define GPIO57_nIOIS16 57 /* Bus Width select for I/O Card Space */ @@ -1247,6 +1238,15 @@ typedef void (*ExcpHndlr) (void) ; #define GPIO78_nCS_2 78 /* chip select 2 */ #define GPIO79_nCS_3 79 /* chip select 3 */ #define GPIO80_nCS_4 80 /* chip select 4 */ +#define GPIO85_nPCE_1 85 /* Card Enable for Card Space (PXA27x) */ +#define GPIO92_MMCDAT0 92 /* MMC DAT0 (PXA27x) */ +#define GPIO109_MMCDAT1 109 /* MMC DAT1 (PXA27x) */ +#define GPIO110_MMCDAT2 110 /* MMC DAT2 (PXA27x) */ +#define GPIO110_MMCCS0 110 /* MMC Chip Select 0 (PXA27x) */ +#define GPIO111_MMCDAT3 111 /* MMC DAT3 (PXA27x) */ +#define GPIO111_MMCCS1 111 /* MMC Chip Select 1 (PXA27x) */ +#define GPIO112_MMCCMD 112 /* MMC CMD (PXA27x) */ +#define GPIO113_AC97_RESET_N 113 /* AC97 NRESET on (PXA27x) */ /* GPIO alternate function mode & direction */ @@ -1292,6 +1292,7 @@ typedef void (*ExcpHndlr) (void) ; #define GPIO31_SYNC_AC97_MD (31 | GPIO_ALT_FN_2_OUT) #define GPIO31_SYNC_I2S_MD (31 | GPIO_ALT_FN_1_OUT) #define GPIO32_SDATA_IN1_AC97_MD (32 | GPIO_ALT_FN_1_IN) +#define GPIO32_MMCCLK_MD ( 32 | GPIO_ALT_FN_2_OUT) #define GPIO33_nCS_5_MD (33 | GPIO_ALT_FN_2_OUT) #define GPIO34_FFRXD_MD (34 | GPIO_ALT_FN_1_IN) #define GPIO34_MMCCS0_MD (34 | GPIO_ALT_FN_2_OUT) @@ -1319,6 +1320,7 @@ typedef void (*ExcpHndlr) (void) ; #define GPIO53_nPCE_2_MD (53 | GPIO_ALT_FN_2_OUT) #define GPIO53_MMCCLK_MD (53 | GPIO_ALT_FN_1_OUT) #define GPIO54_MMCCLK_MD (54 | GPIO_ALT_FN_1_OUT) +#define GPIO54_nPCE_2_MD (54 | GPIO_ALT_FN_2_OUT) #define GPIO54_pSKTSEL_MD (54 | GPIO_ALT_FN_2_OUT) #define GPIO55_nPREG_MD (55 | GPIO_ALT_FN_2_OUT) #define GPIO56_nPWAIT_MD (56 | GPIO_ALT_FN_1_IN) @@ -1353,7 +1355,17 @@ typedef void (*ExcpHndlr) (void) ; #define GPIO77_LCD_ACBIAS_MD (77 | GPIO_ALT_FN_2_OUT) #define GPIO78_nCS_2_MD (78 | GPIO_ALT_FN_2_OUT) #define GPIO79_nCS_3_MD (79 | GPIO_ALT_FN_2_OUT) +#define GPIO79_pSKTSEL_MD (79 | GPIO_ALT_FN_1_OUT) #define GPIO80_nCS_4_MD (80 | GPIO_ALT_FN_2_OUT) +#define GPIO85_nPCE_1_MD (85 | GPIO_ALT_FN_1_OUT) +#define GPIO92_MMCDAT0_MD (92 | GPIO_ALT_FN_1_OUT) +#define GPIO109_MMCDAT1_MD (109 | GPIO_ALT_FN_1_OUT) +#define GPIO110_MMCDAT2_MD (110 | GPIO_ALT_FN_1_OUT) +#define GPIO110_MMCCS0_MD (110 | GPIO_ALT_FN_1_OUT) +#define GPIO111_MMCDAT3_MD (111 | GPIO_ALT_FN_1_OUT) +#define GPIO110_MMCCS1_MD (111 | GPIO_ALT_FN_1_OUT) +#define GPIO112_MMCCMD_MD (112 | GPIO_ALT_FN_1_OUT) +#define GPIO113_AC97_RESET_N_MD (113 | GPIO_ALT_FN_2_OUT) /* diff --git a/include/asm-arm/arch-rpc/uncompress.h b/include/asm-arm/arch-rpc/uncompress.h index 845db9498..43035fec6 100644 --- a/include/asm-arm/arch-rpc/uncompress.h +++ b/include/asm-arm/arch-rpc/uncompress.h @@ -60,14 +60,14 @@ static const unsigned long palette_4[16] = { * params_phys is a linker defined symbol - see * arch/arm/boot/compressed/Makefile */ -extern struct param_struct params_phys; -#define params (¶ms_phys) +extern __attribute__((pure)) struct param_struct *params(void); +#define params (params()) #ifndef STANDALONE_DEBUG /* * This does not append a newline */ -static void puts(const char *s) +static void putstr(const char *s) { extern void ll_write_char(char *, char c, char white); int x,y; diff --git a/include/asm-arm/arch-versatile/uncompress.h b/include/asm-arm/arch-versatile/uncompress.h index 0397911fe..2f57499c7 100644 --- a/include/asm-arm/arch-versatile/uncompress.h +++ b/include/asm-arm/arch-versatile/uncompress.h @@ -25,7 +25,7 @@ /* * This does not append a newline */ -static void puts(const char *s) +static void putstr(const char *s) { while (*s) { while (AMBA_UART_FR & (1 << 5)) diff --git a/include/asm-arm/atomic.h b/include/asm-arm/atomic.h index 257d32f09..dc96af6e9 100644 --- a/include/asm-arm/atomic.h +++ b/include/asm-arm/atomic.h @@ -44,21 +44,6 @@ static inline void atomic_set(atomic_t *v, int i) : "cc"); } -static inline void atomic_add(int i, atomic_t *v) -{ - unsigned long tmp, tmp2; - - __asm__ __volatile__("@ atomic_add\n" -"1: ldrex %0, [%2]\n" -" add %0, %0, %3\n" -" strex %1, %0, [%2]\n" -" teq %1, #0\n" -" bne 1b" - : "=&r" (tmp), "=&r" (tmp2) - : "r" (&v->counter), "Ir" (i) - : "cc"); -} - static inline int atomic_add_return(int i, atomic_t *v) { unsigned long tmp; @@ -77,21 +62,6 @@ static inline int atomic_add_return(int i, atomic_t *v) return result; } -static inline void atomic_sub(int i, atomic_t *v) -{ - unsigned long tmp, tmp2; - - __asm__ __volatile__("@ atomic_sub\n" -"1: ldrex %0, [%2]\n" -" sub %0, %0, %3\n" -" strex %1, %0, [%2]\n" -" teq %1, #0\n" -" bne 1b" - : "=&r" (tmp), "=&r" (tmp2) - : "r" (&v->counter), "Ir" (i) - : "cc"); -} - static inline int atomic_sub_return(int i, atomic_t *v) { unsigned long tmp; @@ -135,15 +105,6 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) #define atomic_set(v,i) (((v)->counter) = (i)) -static inline void atomic_add(int i, atomic_t *v) -{ - unsigned long flags; - - local_irq_save(flags); - v->counter += i; - local_irq_restore(flags); -} - static inline int atomic_add_return(int i, atomic_t *v) { unsigned long flags; @@ -157,15 +118,6 @@ static inline int atomic_add_return(int i, atomic_t *v) return val; } -static inline void atomic_sub(int i, atomic_t *v) -{ - unsigned long flags; - - local_irq_save(flags); - v->counter -= i; - local_irq_restore(flags); -} - static inline int atomic_sub_return(int i, atomic_t *v) { unsigned long flags; @@ -190,11 +142,15 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) #endif /* __LINUX_ARM_ARCH__ */ -#define atomic_inc(v) atomic_add(1, v) -#define atomic_dec(v) atomic_sub(1, v) +#define atomic_add(i, v) (void) atomic_add_return(i, v) +#define atomic_inc(v) (void) atomic_add_return(1, v) +#define atomic_sub(i, v) (void) atomic_sub_return(i, v) +#define atomic_dec(v) (void) atomic_sub_return(1, v) #define atomic_inc_and_test(v) (atomic_add_return(1, v) == 0) #define atomic_dec_and_test(v) (atomic_sub_return(1, v) == 0) +#define atomic_inc_return(v) (atomic_add_return(1, v)) +#define atomic_dec_return(v) (atomic_sub_return(1, v)) #define atomic_add_negative(i,v) (atomic_add_return(i, v) < 0) diff --git a/include/asm-arm/cacheflush.h b/include/asm-arm/cacheflush.h index 84d875206..250d09ca5 100644 --- a/include/asm-arm/cacheflush.h +++ b/include/asm-arm/cacheflush.h @@ -157,6 +157,7 @@ struct cpu_cache_fns { void (*flush_user_range)(unsigned long, unsigned long, unsigned int); void (*coherent_kern_range)(unsigned long, unsigned long); + void (*coherent_user_range)(unsigned long, unsigned long); void (*flush_kern_dcache_page)(void *); void (*dma_inv_range)(unsigned long, unsigned long); @@ -175,6 +176,7 @@ extern struct cpu_cache_fns cpu_cache; #define __cpuc_flush_user_all cpu_cache.flush_user_all #define __cpuc_flush_user_range cpu_cache.flush_user_range #define __cpuc_coherent_kern_range cpu_cache.coherent_kern_range +#define __cpuc_coherent_user_range cpu_cache.coherent_user_range #define __cpuc_flush_dcache_page cpu_cache.flush_kern_dcache_page /* @@ -193,12 +195,14 @@ extern struct cpu_cache_fns cpu_cache; #define __cpuc_flush_user_all __glue(_CACHE,_flush_user_cache_all) #define __cpuc_flush_user_range __glue(_CACHE,_flush_user_cache_range) #define __cpuc_coherent_kern_range __glue(_CACHE,_coherent_kern_range) +#define __cpuc_coherent_user_range __glue(_CACHE,_coherent_user_range) #define __cpuc_flush_dcache_page __glue(_CACHE,_flush_kern_dcache_page) extern void __cpuc_flush_kern_all(void); extern void __cpuc_flush_user_all(void); extern void __cpuc_flush_user_range(unsigned long, unsigned long, unsigned int); extern void __cpuc_coherent_kern_range(unsigned long, unsigned long); +extern void __cpuc_coherent_user_range(unsigned long, unsigned long); extern void __cpuc_flush_dcache_page(void *); /* @@ -233,11 +237,17 @@ extern void dmac_flush_range(unsigned long, unsigned long); * space" model to handle this. */ #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ -do { memcpy(dst, src, len); \ - flush_icache_user_range(vma, page, vaddr, len); \ -} while (0) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + flush_dcache_page(page); \ + } while (0) + #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) /* * Convert calls to our calling convention. @@ -267,6 +277,14 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr) } } +/* + * flush_cache_user_range is used when we want to ensure that the + * Harvard caches are synchronised for the user space address range. + * This is used for the ARM private sys_cacheflush system call. + */ +#define flush_cache_user_range(vma,start,end) \ + __cpuc_coherent_user_range((start) & PAGE_MASK, PAGE_ALIGN(end)) + /* * Perform necessary cache operations to ensure that data previously * stored within this range of addresses can be executed by the CPU. diff --git a/include/asm-arm/checksum.h b/include/asm-arm/checksum.h index f82f595c7..d4256d5f3 100644 --- a/include/asm-arm/checksum.h +++ b/include/asm-arm/checksum.h @@ -37,7 +37,7 @@ unsigned int csum_partial_copy_nocheck(const char *src, char *dst, int len, int sum); unsigned int -csum_partial_copy_from_user(const char *src, char *dst, int len, int sum, int *err_ptr); +csum_partial_copy_from_user(const char __user *src, char *dst, int len, int sum, int *err_ptr); /* * This is the old (and unsafe) way of doing checksums, a warning message will diff --git a/include/asm-arm/fpstate.h b/include/asm-arm/fpstate.h index 7492cfa21..f7430e3aa 100644 --- a/include/asm-arm/fpstate.h +++ b/include/asm-arm/fpstate.h @@ -11,7 +11,7 @@ #ifndef __ASM_ARM_FPSTATE_H #define __ASM_ARM_FPSTATE_H -#define FP_SIZE 35 +#include #ifndef __ASSEMBLY__ @@ -43,19 +43,32 @@ union vfp_state { extern void vfp_flush_thread(union vfp_state *); extern void vfp_release_thread(union vfp_state *); +#define FP_HARD_SIZE 35 + struct fp_hard_struct { - unsigned int save[FP_SIZE]; /* as yet undefined */ + unsigned int save[FP_HARD_SIZE]; /* as yet undefined */ }; +#define FP_SOFT_SIZE 35 + struct fp_soft_struct { - unsigned int save[FP_SIZE]; /* undefined information */ + unsigned int save[FP_SOFT_SIZE]; /* undefined information */ +}; + +struct iwmmxt_struct { + unsigned int save[0x98/sizeof(int) + 1]; }; union fp_state { struct fp_hard_struct hard; struct fp_soft_struct soft; +#ifdef CONFIG_IWMMXT + struct iwmmxt_struct iwmmxt; +#endif }; +#define FP_SIZE (sizeof(union fp_state) / sizeof(int)) + #endif #endif diff --git a/include/asm-arm/memory.h b/include/asm-arm/memory.h index 41f117fb5..e47bea7d1 100644 --- a/include/asm-arm/memory.h +++ b/include/asm-arm/memory.h @@ -13,6 +13,7 @@ #define __ASM_ARM_MEMORY_H #include +#include #include #ifndef TASK_SIZE @@ -108,10 +109,18 @@ static inline void *phys_to_virt(unsigned long x) /* * Virtual <-> DMA view memory address translations * Again, these are *only* valid on the kernel direct mapped RAM - * memory. Use of these is *deprecated*. + * memory. Use of these is *deprecated* (and that doesn't mean + * use the __ prefixed forms instead.) See dma-mapping.h. */ -#define virt_to_bus(x) (__virt_to_bus((unsigned long)(x))) -#define bus_to_virt(x) ((void *)(__bus_to_virt((unsigned long)(x)))) +static inline __deprecated unsigned long virt_to_bus(void *x) +{ + return __virt_to_bus((unsigned long)x); +} + +static inline __deprecated void *bus_to_virt(unsigned long x) +{ + return (void *)__bus_to_virt(x); +} /* * Conversion between a struct page and a physical address. @@ -177,9 +186,9 @@ static inline void *phys_to_virt(unsigned long x) * We should really eliminate virt_to_bus() here - it's deprecated. */ #ifndef __arch_page_to_dma -#define page_to_dma(dev, page) ((dma_addr_t)__virt_to_bus(page_address(page))) -#define dma_to_virt(dev, addr) (__bus_to_virt(addr)) -#define virt_to_dma(dev, addr) (__virt_to_bus(addr)) +#define page_to_dma(dev, page) ((dma_addr_t)__virt_to_bus((unsigned long)page_address(page))) +#define dma_to_virt(dev, addr) ((void *)__bus_to_virt(addr)) +#define virt_to_dma(dev, addr) ((dma_addr_t)__virt_to_bus((unsigned long)(addr))) #else #define page_to_dma(dev, page) (__arch_page_to_dma(dev, page)) #define dma_to_virt(dev, addr) (__arch_dma_to_virt(dev, addr)) diff --git a/include/asm-arm/module.h b/include/asm-arm/module.h index 24b168dc3..f1558f3cb 100644 --- a/include/asm-arm/module.h +++ b/include/asm-arm/module.h @@ -6,9 +6,14 @@ struct mod_arch_specific int foo; }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) /* * Include the ARM architecture version. diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h index 05f6f1e10..081130cfb 100644 --- a/include/asm-arm/page.h +++ b/include/asm-arm/page.h @@ -133,7 +133,7 @@ extern void __cpu_copy_user_page(void *to, const void *from, } while (0) #define clear_page(page) memzero((void *)(page), PAGE_SIZE) -extern void copy_page(void *to, void *from); +extern void copy_page(void *to, const void *from); #undef STRICT_MM_TYPECHECKS diff --git a/include/asm-arm/resource.h b/include/asm-arm/resource.h index f98f2593a..354afada3 100644 --- a/include/asm-arm/resource.h +++ b/include/asm-arm/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING}, \ diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index d500cc940..7572ac4ff 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h @@ -50,11 +50,45 @@ #define read_cpuid(reg) \ ({ \ unsigned int __val; \ - asm("mrc%? p15, 0, %0, c0, c0, " __stringify(reg) \ - : "=r" (__val)); \ + asm("mrc p15, 0, %0, c0, c0, " __stringify(reg) \ + : "=r" (__val) \ + : \ + : "cc"); \ __val; \ }) +#define __cacheid_present(val) (val != read_cpuid(CPUID_ID)) +#define __cacheid_vivt(val) ((val & (15 << 25)) != (14 << 25)) +#define __cacheid_vipt(val) ((val & (15 << 25)) == (14 << 25)) +#define __cacheid_vipt_nonaliasing(val) ((val & (15 << 25 | 1 << 23)) == (14 << 25)) +#define __cacheid_vipt_aliasing(val) ((val & (15 << 25 | 1 << 23)) == (14 << 25 | 1 << 23)) + +#define cache_is_vivt() \ + ({ \ + unsigned int __val = read_cpuid(CPUID_CACHETYPE); \ + (!__cacheid_present(__val)) || __cacheid_vivt(__val); \ + }) + +#define cache_is_vipt() \ + ({ \ + unsigned int __val = read_cpuid(CPUID_CACHETYPE); \ + __cacheid_present(__val) && __cacheid_vipt(__val); \ + }) + +#define cache_is_vipt_nonaliasing() \ + ({ \ + unsigned int __val = read_cpuid(CPUID_CACHETYPE); \ + __cacheid_present(__val) && \ + __cacheid_vipt_nonaliasing(__val); \ + }) + +#define cache_is_vipt_aliasing() \ + ({ \ + unsigned int __val = read_cpuid(CPUID_CACHETYPE); \ + __cacheid_present(__val) && \ + __cacheid_vipt_aliasing(__val); \ + }) + /* * This is used to ensure the compiler did actually allocate the register we * asked it for some inline assembly sequences. Apparently we can't trust @@ -66,9 +100,10 @@ #ifndef __ASSEMBLY__ -#include +#include struct thread_info; +struct task_struct; /* information about the system we're running on */ extern unsigned int system_rev; @@ -171,8 +206,6 @@ do { \ * `prev' will never be the same as `next'. schedule() itself * contains the memory barrier to tell GCC not to cache `current'. */ -struct thread_info; -struct task_struct; extern struct task_struct *__switch_to(struct task_struct *, struct thread_info *, struct thread_info *); #define switch_to(prev,next,last) \ diff --git a/include/asm-arm/thread_info.h b/include/asm-arm/thread_info.h index b3ef76481..1a362ca41 100644 --- a/include/asm-arm/thread_info.h +++ b/include/asm-arm/thread_info.h @@ -100,23 +100,18 @@ extern void free_thread_info(struct thread_info *); #define thread_saved_fp(tsk) \ ((unsigned long)((tsk)->thread_info->cpu_context.fp)) -#else /* !__ASSEMBLY__ */ - -#define TI_FLAGS 0 -#define TI_PREEMPT 4 -#define TI_ADDR_LIMIT 8 -#define TI_TASK 12 -#define TI_EXEC_DOMAIN 16 -#define TI_CPU 20 -#define TI_CPU_DOMAIN 24 -#define TI_CPU_SAVE 28 -#define TI_USED_CP 76 -#define TI_FPSTATE (TI_USED_CP+16) -#define TI_VFPSTATE (TI_FPSTATE+FP_SIZE*4) +extern void iwmmxt_task_disable(struct thread_info *); +extern void iwmmxt_task_copy(struct thread_info *, void *); +extern void iwmmxt_task_restore(struct thread_info *, void *); +extern void iwmmxt_task_release(struct thread_info *); #endif -#define PREEMPT_ACTIVE 0x04000000 +/* + * We use bit 30 of the preempt_count to indicate that kernel + * preemption is occuring. See include/asm-arm/hardirq.h. + */ +#define PREEMPT_ACTIVE 0x40000000 /* * thread information flags: @@ -131,15 +126,15 @@ extern void free_thread_info(struct thread_info *); #define TIF_SIGPENDING 1 #define TIF_NEED_RESCHED 2 #define TIF_SYSCALL_TRACE 8 -#define TIF_USED_FPU 16 -#define TIF_POLLING_NRFLAG 17 +#define TIF_POLLING_NRFLAG 16 +#define TIF_USING_IWMMXT 17 #define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME) #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) #define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE) -#define _TIF_USED_FPU (1 << TIF_USED_FPU) #define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG) +#define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT) /* * Change these and you break ASM code in entry-common.S diff --git a/include/asm-arm/unistd.h b/include/asm-arm/unistd.h index 1435eb396..28d53f0d6 100644 --- a/include/asm-arm/unistd.h +++ b/include/asm-arm/unistd.h @@ -299,6 +299,13 @@ #define __NR_pciconfig_iobase (__NR_SYSCALL_BASE+271) #define __NR_pciconfig_read (__NR_SYSCALL_BASE+272) #define __NR_pciconfig_write (__NR_SYSCALL_BASE+273) +#define __NR_mq_open (__NR_SYSCALL_BASE+274) +#define __NR_mq_unlink (__NR_SYSCALL_BASE+275) +#define __NR_mq_timedsend (__NR_SYSCALL_BASE+276) +#define __NR_mq_timedreceive (__NR_SYSCALL_BASE+277) +#define __NR_mq_notify (__NR_SYSCALL_BASE+278) +#define __NR_mq_getsetattr (__NR_SYSCALL_BASE+279) +#define __NR_waitid (__NR_SYSCALL_BASE+280) /* * The following SWIs are ARM private. @@ -475,51 +482,6 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6 #include #include -static inline pid_t setsid(void) -{ - return sys_setsid(); -} - -static inline long write(int fd, const char *buf, off_t count) -{ - return sys_write(fd, buf, count); -} - -static inline long read(int fd, char *buf, off_t count) -{ - return sys_read(fd, buf, count); -} - -static inline off_t lseek(int fd, off_t offset, int count) -{ - return sys_lseek(fd, offset, count); -} - -static inline long dup(int fd) -{ - return sys_dup(fd); -} - -static inline long open(const char *file, int flag, int mode) -{ - return sys_open(file, flag, mode); -} - -static inline long close(int fd) -{ - return sys_close(fd); -} - -static inline long _exit(int exitcode) -{ - return sys_exit(exitcode); -} - -static inline pid_t waitpid(pid_t pid, int *wait_stat, int options) -{ - return sys_wait4((int)pid, wait_stat, options, NULL); -} - extern long execve(const char *file, char **argv, char **envp); struct pt_regs; diff --git a/include/asm-arm26/atomic.h b/include/asm-arm26/atomic.h index 5697fc898..56fa1a303 100644 --- a/include/asm-arm26/atomic.h +++ b/include/asm-arm26/atomic.h @@ -105,6 +105,27 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr) local_irq_restore(flags); } +static inline int atomic_add_return(int i, volatile atomic_t *v) +{ + unsigned long flags; + int val; + + local_irq_save(flags); + val = v->counter + i; + v->counter = val; + local_irq_restore(flags); + + return val; +} + +static inline int atomic_sub_return(int i, volatile atomic_t *v) +{ + return atomic_add_return(-i, v); +} + +#define atomic_inc_return(v) (atomic_add_return(1,v)) +#define atomic_dec_return(v) (atomic_sub_return(1,v)) + /* Atomic operations are already serializing on ARM */ #define smp_mb__before_atomic_dec() barrier() #define smp_mb__after_atomic_dec() barrier() diff --git a/include/asm-arm26/resource.h b/include/asm-arm26/resource.h index f98f2593a..354afada3 100644 --- a/include/asm-arm26/resource.h +++ b/include/asm-arm26/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING}, \ diff --git a/include/asm-arm26/tlb.h b/include/asm-arm26/tlb.h index 2da30180a..acfdbe8b6 100644 --- a/include/asm-arm26/tlb.h +++ b/include/asm-arm26/tlb.h @@ -39,7 +39,7 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) if (rss < freed) freed = rss; - // mm->rss = rss - freed; + // mm->rss = rss - freed; vx_rsspages_sub(mm, freed); if (freed) { diff --git a/include/asm-cris/module.h b/include/asm-cris/module.h index 7ee72311b..03f7b2e54 100644 --- a/include/asm-cris/module.h +++ b/include/asm-cris/module.h @@ -3,7 +3,12 @@ /* cris is simple */ struct mod_arch_specific { }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #endif /* _ASM_CRIS_MODULE_H */ diff --git a/include/asm-cris/resource.h b/include/asm-cris/resource.h index bae364cf1..7a83ad536 100644 --- a/include/asm-cris/resource.h +++ b/include/asm-cris/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-cris/semaphore.h b/include/asm-cris/semaphore.h index 9ee66b9d5..605aa7eaa 100644 --- a/include/asm-cris/semaphore.h +++ b/include/asm-cris/semaphore.h @@ -24,21 +24,14 @@ struct semaphore { atomic_t count; atomic_t waking; wait_queue_head_t wait; -#if WAITQUEUE_DEBUG - long __magic; -#endif }; -#if WAITQUEUE_DEBUG -# define __SEM_DEBUG_INIT(name) , (long)&(name).__magic -#else -# define __SEM_DEBUG_INIT(name) -#endif - -#define __SEMAPHORE_INITIALIZER(name,count) \ - { ATOMIC_INIT(count), ATOMIC_INIT(0), \ - __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ - __SEM_DEBUG_INIT(name) } +#define __SEMAPHORE_INITIALIZER(name, n) \ +{ \ + .count = ATOMIC_INIT(n), \ + .waking = ATOMIC_INIT(0), \ + .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ +} #define __MUTEX_INITIALIZER(name) \ __SEMAPHORE_INITIALIZER(name,1) @@ -76,9 +69,6 @@ extern inline void down(struct semaphore * sem) unsigned long flags; int failed; -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); /* atomically decrement the semaphores count, and if its negative, we wait */ @@ -102,9 +92,6 @@ extern inline int down_interruptible(struct semaphore * sem) unsigned long flags; int failed; -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); /* atomically decrement the semaphores count, and if its negative, we wait */ @@ -122,10 +109,6 @@ extern inline int down_trylock(struct semaphore * sem) unsigned long flags; int failed; -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - local_save_flags(flags); local_irq_disable(); failed = --(sem->count.counter) < 0; @@ -146,10 +129,6 @@ extern inline void up(struct semaphore * sem) unsigned long flags; int wakeup; -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - /* atomically increment the semaphores count, and if it was negative, we wake people */ local_save_flags(flags); local_irq_disable(); diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h index 29573197c..cf791b073 100644 --- a/include/asm-generic/pgtable.h +++ b/include/asm-generic/pgtable.h @@ -13,11 +13,19 @@ * Note: the old pte is known to not be writable, so we don't need to * worry about dirty bits etc getting lost. */ +#ifndef __HAVE_ARCH_SET_PTE_ATOMIC #define ptep_establish(__vma, __address, __ptep, __entry) \ do { \ set_pte(__ptep, __entry); \ flush_tlb_page(__vma, __address); \ } while (0) +#else /* __HAVE_ARCH_SET_PTE_ATOMIC */ +#define ptep_establish(__vma, __address, __ptep, __entry) \ +do { \ + set_pte_atomic(__ptep, __entry); \ + flush_tlb_page(__vma, __address); \ +} while (0) +#endif /* __HAVE_ARCH_SET_PTE_ATOMIC */ #endif #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS diff --git a/include/asm-generic/siginfo.h b/include/asm-generic/siginfo.h index f757d2d51..3a3f35d75 100644 --- a/include/asm-generic/siginfo.h +++ b/include/asm-generic/siginfo.h @@ -3,6 +3,7 @@ #include #include +#include typedef union sigval { int sival_int; diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 918b02d6c..bb340cb5c 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -16,6 +16,16 @@ *(.rodata1) \ } \ \ + /* PCI quirks */ \ + .pci_fixup : AT(ADDR(.pci_fixup) - LOAD_OFFSET) { \ + VMLINUX_SYMBOL(__start_pci_fixups_header) = .; \ + *(.pci_fixup_header) \ + VMLINUX_SYMBOL(__end_pci_fixups_header) = .; \ + VMLINUX_SYMBOL(__start_pci_fixups_final) = .; \ + *(.pci_fixup_final) \ + VMLINUX_SYMBOL(__end_pci_fixups_final) = .; \ + } \ + \ /* Kernel symbol table: Normal symbols */ \ __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \ VMLINUX_SYMBOL(__start___ksymtab) = .; \ @@ -47,6 +57,13 @@ /* Kernel symbol table: strings */ \ __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \ *(__ksymtab_strings) \ + } \ + \ + /* Built-in module parameters. */ \ + __param : AT(ADDR(__param) - LOAD_OFFSET) { \ + VMLINUX_SYMBOL(__start___param) = .; \ + *(__param) \ + VMLINUX_SYMBOL(__stop___param) = .; \ } #define SECURITY_INIT \ @@ -60,3 +77,8 @@ VMLINUX_SYMBOL(__sched_text_start) = .; \ *(.sched.text) \ VMLINUX_SYMBOL(__sched_text_end) = .; + +#define LOCK_TEXT \ + VMLINUX_SYMBOL(__lock_text_start) = .; \ + *(.spinlock.text) \ + VMLINUX_SYMBOL(__lock_text_end) = .; diff --git a/include/asm-h8300/bitops.h b/include/asm-h8300/bitops.h index 893e6f1c7..94b7a46a6 100644 --- a/include/asm-h8300/bitops.h +++ b/include/asm-h8300/bitops.h @@ -273,6 +273,8 @@ found_middle: return result + __ffs(tmp); } +#define find_first_bit(addr, size) find_next_bit(addr, size, 0) + /* * Every architecture must define this function. It's the fastest * way of searching a 140-bit bitmap where the first 100 bits are diff --git a/include/asm-h8300/hardirq.h b/include/asm-h8300/hardirq.h index c0941a080..c878cc44b 100644 --- a/include/asm-h8300/hardirq.h +++ b/include/asm-h8300/hardirq.h @@ -38,20 +38,6 @@ typedef struct { #define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS) #define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS) -#define __MASK(x) ((1UL << (x))-1) - -#define PREEMPT_MASK (__MASK(PREEMPT_BITS) << PREEMPT_SHIFT) -#define HARDIRQ_MASK (__MASK(HARDIRQ_BITS) << HARDIRQ_SHIFT) -#define SOFTIRQ_MASK (__MASK(SOFTIRQ_BITS) << SOFTIRQ_SHIFT) - -#define hardirq_count() (preempt_count() & HARDIRQ_MASK) -#define softirq_count() (preempt_count() & SOFTIRQ_MASK) -#define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK)) - -#define PREEMPT_OFFSET (1UL << PREEMPT_SHIFT) -#define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT) -#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT) - /* * The hardirq mask has to be large enough to have * space for potentially all IRQ sources in the system @@ -61,27 +47,7 @@ typedef struct { # error HARDIRQ_BITS is too low! #endif -/* - * Are we doing bottom half or hardware interrupt processing? - * Are we in a softirq context? Interrupt context? - */ -#define in_irq() (hardirq_count()) -#define in_softirq() (softirq_count()) -#define in_interrupt() (irq_count()) - -#define hardirq_trylock() (!in_interrupt()) -#define hardirq_endlock() do { } while (0) - #define irq_enter() (preempt_count() += HARDIRQ_OFFSET) - -#ifdef CONFIG_PREEMPT -# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked()) -# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1) -#else -# define in_atomic() (preempt_count() != 0) -# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET -#endif - #define irq_exit() \ do { \ preempt_count() -= IRQ_EXIT_OFFSET; \ @@ -90,10 +56,4 @@ do { \ preempt_enable_no_resched(); \ } while (0) -#ifndef CONFIG_SMP -# define synchronize_irq(irq) barrier() -#else -# error h8300 SMP is not available -#endif /* CONFIG_SMP */ - #endif diff --git a/include/asm-h8300/module.h b/include/asm-h8300/module.h index de23231f3..b1c08e2af 100644 --- a/include/asm-h8300/module.h +++ b/include/asm-h8300/module.h @@ -4,9 +4,14 @@ * This file contains the H8/300 architecture specific module code. */ struct mod_arch_specific { }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #define MODULE_SYMBOL_PREFIX "_" diff --git a/include/asm-h8300/resource.h b/include/asm-h8300/resource.h index f580cf868..2031e3ce4 100644 --- a/include/asm-h8300/resource.h +++ b/include/asm-h8300/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-h8300/semaphore.h b/include/asm-h8300/semaphore.h index 9efd009de..fe6ef3774 100644 --- a/include/asm-h8300/semaphore.h +++ b/include/asm-h8300/semaphore.h @@ -26,21 +26,14 @@ struct semaphore { atomic_t count; int sleepers; wait_queue_head_t wait; -#if WAITQUEUE_DEBUG - long __magic; -#endif }; -#if WAITQUEUE_DEBUG -# define __SEM_DEBUG_INIT(name) \ - , (long)&(name).__magic -#else -# define __SEM_DEBUG_INIT(name) -#endif - -#define __SEMAPHORE_INITIALIZER(name,count) \ -{ ATOMIC_INIT(count), 0, __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ - __SEM_DEBUG_INIT(name) } +#define __SEMAPHORE_INITIALIZER(name, n) \ +{ \ + .count = ATOMIC_INIT(n), \ + .sleepers = 0, \ + .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ +} #define __MUTEX_INITIALIZER(name) \ __SEMAPHORE_INITIALIZER(name,1) @@ -87,9 +80,6 @@ static inline void down(struct semaphore * sem) { register atomic_t *count asm("er0"); -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); count = &(sem->count); @@ -116,9 +106,6 @@ static inline int down_interruptible(struct semaphore * sem) { register atomic_t *count asm("er0"); -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); count = &(sem->count); @@ -147,10 +134,6 @@ static inline int down_trylock(struct semaphore * sem) { register atomic_t *count asm("er0"); -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - count = &(sem->count); __asm__ __volatile__( "stc ccr,r3l\n\t" @@ -187,10 +170,6 @@ static inline void up(struct semaphore * sem) { register atomic_t *count asm("er0"); -#if WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - count = &(sem->count); __asm__ __volatile__( "stc ccr,r3l\n\t" diff --git a/include/asm-i386/acpi.h b/include/asm-i386/acpi.h index 42164a6d5..338c34291 100644 --- a/include/asm-i386/acpi.h +++ b/include/asm-i386/acpi.h @@ -101,6 +101,17 @@ __acpi_release_global_lock (unsigned int *lock) :"=r"(n_hi), "=r"(n_lo) \ :"0"(n_hi), "1"(n_lo)) +/* + * Refer Intel ACPI _PDC support document for bit definitions + */ +#define ACPI_PDC_EST_CAPABILITY_SMP 0xa +#define ACPI_PDC_EST_CAPABILITY_MSR 0x1 + +/* + * Refer Intel ACPI _PDC support document for bit definitions + */ +#define ACPI_PDC_EST_CAPABILITY_SMP 0xa +#define ACPI_PDC_EST_CAPABILITY_MSR 0x1 #ifdef CONFIG_ACPI_BOOT extern int acpi_lapic; @@ -178,6 +189,8 @@ extern void acpi_reserve_bootmem(void); #endif /*CONFIG_ACPI_SLEEP*/ +extern u8 x86_acpiid_to_apicid[]; + #endif /*__KERNEL__*/ #endif /*_ASM_ACPI_H*/ diff --git a/include/asm-i386/agp.h b/include/asm-i386/agp.h index 82eb94e28..a917ff503 100644 --- a/include/asm-i386/agp.h +++ b/include/asm-i386/agp.h @@ -12,8 +12,8 @@ * data corruption on some CPUs. */ -#define map_page_into_agp(page) change_page_attr(page, 1, PAGE_KERNEL_NOCACHE) -#define unmap_page_from_agp(page) change_page_attr(page, 1, PAGE_KERNEL) +int map_page_into_agp(struct page *page); +int unmap_page_from_agp(struct page *page); #define flush_agp_mappings() global_flush_tlb() /* Could use CLFLUSH here if the cpu supports it. But then it would diff --git a/include/asm-i386/apic.h b/include/asm-i386/apic.h index 95cc9c1ba..8135c7c29 100644 --- a/include/asm-i386/apic.h +++ b/include/asm-i386/apic.h @@ -7,13 +7,28 @@ #include #include -#define APIC_DEBUG 0 - -#if APIC_DEBUG -#define Dprintk(x...) printk(x) -#else #define Dprintk(x...) -#endif + +/* + * Debugging macros + */ +#define APIC_QUIET 0 +#define APIC_VERBOSE 1 +#define APIC_DEBUG 2 + +extern int apic_verbosity; + +/* + * Define the default level of output to be very little + * This can be turned up by using apic=verbose for more + * information and apic=debug for _lots_ of information. + * apic_verbosity is defined in apic.c + */ +#define apic_printk(v, s, a...) do { \ + if ((v) <= apic_verbosity) \ + printk(s, ##a); \ + } while (0) + #ifdef CONFIG_X86_LOCAL_APIC diff --git a/include/asm-i386/atomic.h b/include/asm-i386/atomic.h index 4df45c5e4..509720be7 100644 --- a/include/asm-i386/atomic.h +++ b/include/asm-i386/atomic.h @@ -2,6 +2,8 @@ #define __ARCH_I386_ATOMIC__ #include +#include +#include /* * Atomic operations that C can't guarantee us. Useful for @@ -176,6 +178,46 @@ static __inline__ int atomic_add_negative(int i, atomic_t *v) return c; } +/** + * atomic_add_return - add and return + * @v: pointer of type atomic_t + * @i: integer value to add + * + * Atomically adds @i to @v and returns @i + @v + */ +static __inline__ int atomic_add_return(int i, atomic_t *v) +{ + int __i; +#ifdef CONFIG_M386 + if(unlikely(boot_cpu_data.x86==3)) + goto no_xadd; +#endif + /* Modern 486+ processor */ + __i = i; + __asm__ __volatile__( + LOCK "xaddl %0, %1;" + :"=r"(i) + :"m"(v->counter), "0"(i)); + return i + __i; + +#ifdef CONFIG_M386 +no_xadd: /* Legacy 386 processor */ + local_irq_disable(); + __i = atomic_read(v); + atomic_set(v, i + __i); + local_irq_enable(); + return i + __i; +#endif +} + +static __inline__ int atomic_sub_return(int i, atomic_t *v) +{ + return atomic_add_return(-i,v); +} + +#define atomic_inc_return(v) (atomic_add_return(1,v)) +#define atomic_dec_return(v) (atomic_sub_return(1,v)) + /* These are x86-specific, used by some header files */ #define atomic_clear_mask(mask, addr) \ __asm__ __volatile__(LOCK "andl %0,%1" \ diff --git a/include/asm-i386/bitops.h b/include/asm-i386/bitops.h index 8fd938fa9..9db0b712d 100644 --- a/include/asm-i386/bitops.h +++ b/include/asm-i386/bitops.h @@ -31,6 +31,11 @@ * * This function is atomic and may not be reordered. See __set_bit() * if you do not require the atomic guarantees. + * + * Note: there are no guarantees that this function will not be reordered + * on non x86 architectures, so if you are writting portable code, + * make sure not to rely on its reordering guarantees. + * * Note that @nr may be almost arbitrarily large; this function is not * restricted to acting on a single-word quantity. */ @@ -109,7 +114,8 @@ static inline void __change_bit(int nr, volatile unsigned long * addr) * @nr: Bit to change * @addr: Address to start counting from * - * change_bit() is atomic and may not be reordered. + * change_bit() is atomic and may not be reordered. It may be + * reordered on other architectures than x86. * Note that @nr may be almost arbitrarily large; this function is not * restricted to acting on a single-word quantity. */ @@ -127,6 +133,7 @@ static inline void change_bit(int nr, volatile unsigned long * addr) * @addr: Address to count from * * This operation is atomic and cannot be reordered. + * It may be reordered on other architectures than x86. * It also implies a memory barrier. */ static inline int test_and_set_bit(int nr, volatile unsigned long * addr) @@ -165,7 +172,8 @@ static inline int __test_and_set_bit(int nr, volatile unsigned long * addr) * @nr: Bit to clear * @addr: Address to count from * - * This operation is atomic and cannot be reordered. + * This operation is atomic and cannot be reordered. + * It can be reorderdered on other architectures other than x86. * It also implies a memory barrier. */ static inline int test_and_clear_bit(int nr, volatile unsigned long * addr) diff --git a/include/asm-i386/checksum.h b/include/asm-i386/checksum.h index 04b4d2ab4..def093bc8 100644 --- a/include/asm-i386/checksum.h +++ b/include/asm-i386/checksum.h @@ -25,7 +25,7 @@ asmlinkage unsigned int csum_partial(const unsigned char * buff, int len, unsign * better 64-bit) boundary */ -asmlinkage unsigned int direct_csum_partial_copy_generic( const char *src, char *dst, int len, int sum, +asmlinkage unsigned int csum_partial_copy_generic( const char *src, char *dst, int len, int sum, int *src_err_ptr, int *dst_err_ptr); /* @@ -39,19 +39,16 @@ static __inline__ unsigned int csum_partial_copy_nocheck ( const char *src, char *dst, int len, int sum) { - /* - * The direct function is OK for kernel-space => kernel-space copies: - */ - return direct_csum_partial_copy_generic ( src, dst, len, sum, NULL, NULL); + return csum_partial_copy_generic ( src, dst, len, sum, NULL, NULL); } static __inline__ -unsigned int csum_partial_copy_from_user ( const char __user *src, char *dst, +unsigned int csum_partial_copy_from_user(const char __user *src, char *dst, int len, int sum, int *err_ptr) { - if (copy_from_user(dst, src, len)) - *err_ptr = -EFAULT; - return csum_partial(dst, len, sum); + might_sleep(); + return csum_partial_copy_generic((__force char *)src, dst, + len, sum, err_ptr, NULL); } /* @@ -177,28 +174,14 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr, * Copy and checksum to user */ #define HAVE_CSUM_COPY_USER -static __inline__ unsigned int direct_csum_and_copy_to_user(const char *src, +static __inline__ unsigned int csum_and_copy_to_user(const char *src, char __user *dst, int len, int sum, int *err_ptr) { + might_sleep(); if (access_ok(VERIFY_WRITE, dst, len)) - return direct_csum_partial_copy_generic(src, dst, len, sum, NULL, err_ptr); - - if (len) - *err_ptr = -EFAULT; - - return -1; /* invalid checksum */ -} - -static __inline__ unsigned int csum_and_copy_to_user(const char *src, char __user *dst, - int len, int sum, int *err_ptr) -{ - if (access_ok(VERIFY_WRITE, dst, len)) { - if (copy_to_user(dst, src, len)) - *err_ptr = -EFAULT; - return csum_partial(src, len, sum); - } + return csum_partial_copy_generic(src, (__force char *)dst, len, sum, NULL, err_ptr); if (len) *err_ptr = -EFAULT; diff --git a/include/asm-i386/cpufeature.h b/include/asm-i386/cpufeature.h index d6005e6e8..fdbd65ca6 100644 --- a/include/asm-i386/cpufeature.h +++ b/include/asm-i386/cpufeature.h @@ -71,9 +71,13 @@ #define X86_FEATURE_P4 (3*32+ 7) /* P4 */ /* Intel-defined CPU features, CPUID level 0x00000001 (ecx), word 4 */ -#define X86_FEATURE_EST (4*32+ 7) /* Enhanced SpeedStep */ +#define X86_FEATURE_XMM3 (4*32+ 0) /* Streaming SIMD Extensions-3 */ #define X86_FEATURE_MWAIT (4*32+ 3) /* Monitor/Mwait support */ - +#define X86_FEATURE_DSCPL (4*32+ 4) /* CPL Qualified Debug Store */ +#define X86_FEATURE_EST (4*32+ 7) /* Enhanced SpeedStep */ +#define X86_FEATURE_TM2 (4*32+ 8) /* Thermal Monitor 2 */ +#define X86_FEATURE_CID (4*32+10) /* Context ID */ +#define X86_FEATURE_XTPR (4*32+14) /* Send Task Priority Messages */ /* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */ #define X86_FEATURE_XSTORE (5*32+ 2) /* on-CPU RNG present (xstore insn) */ @@ -92,13 +96,14 @@ #define cpu_has_tsc boot_cpu_has(X86_FEATURE_TSC) #define cpu_has_pae boot_cpu_has(X86_FEATURE_PAE) #define cpu_has_pge boot_cpu_has(X86_FEATURE_PGE) -#define cpu_has_sse2 boot_cpu_has(X86_FEATURE_XMM2) #define cpu_has_apic boot_cpu_has(X86_FEATURE_APIC) #define cpu_has_sep boot_cpu_has(X86_FEATURE_SEP) #define cpu_has_mtrr boot_cpu_has(X86_FEATURE_MTRR) #define cpu_has_mmx boot_cpu_has(X86_FEATURE_MMX) #define cpu_has_fxsr boot_cpu_has(X86_FEATURE_FXSR) #define cpu_has_xmm boot_cpu_has(X86_FEATURE_XMM) +#define cpu_has_xmm2 boot_cpu_has(X86_FEATURE_XMM2) +#define cpu_has_xmm3 boot_cpu_has(X86_FEATURE_XMM3) #define cpu_has_ht boot_cpu_has(X86_FEATURE_HT) #define cpu_has_mp boot_cpu_has(X86_FEATURE_MP) #define cpu_has_nx boot_cpu_has(X86_FEATURE_NX) @@ -106,7 +111,9 @@ #define cpu_has_cyrix_arr boot_cpu_has(X86_FEATURE_CYRIX_ARR) #define cpu_has_centaur_mcr boot_cpu_has(X86_FEATURE_CENTAUR_MCR) #define cpu_has_xstore boot_cpu_has(X86_FEATURE_XSTORE) +#define cpu_has_xstore_enabled boot_cpu_has(X86_FEATURE_XSTORE_EN) #define cpu_has_xcrypt boot_cpu_has(X86_FEATURE_XCRYPT) +#define cpu_has_xcrypt_enabled boot_cpu_has(X86_FEATURE_XCRYPT_EN) #endif /* __ASM_I386_CPUFEATURE_H */ diff --git a/include/asm-i386/desc.h b/include/asm-i386/desc.h index 942c27980..7a0e2feb9 100644 --- a/include/asm-i386/desc.h +++ b/include/asm-i386/desc.h @@ -8,10 +8,12 @@ #include #include +#include #include -extern struct desc_struct cpu_gdt_table[NR_CPUS][GDT_ENTRIES]; +extern struct desc_struct cpu_gdt_table[GDT_ENTRIES]; +DECLARE_PER_CPU(struct desc_struct, cpu_gdt_table[GDT_ENTRIES]); struct Xgt_desc_struct { unsigned short size; @@ -21,13 +23,6 @@ struct Xgt_desc_struct { extern struct Xgt_desc_struct idt_descr, cpu_gdt_descr[NR_CPUS]; -extern void trap_init_virtual_IDT(void); -extern void trap_init_virtual_GDT(void); - -asmlinkage int system_call(void); -asmlinkage void lcall7(void); -asmlinkage void lcall27(void); - #define load_TR_desc() __asm__ __volatile__("ltr %%ax"::"a" (GDT_ENTRY_TSS*8)) #define load_LDT_desc() __asm__ __volatile__("lldt %%ax"::"a" (GDT_ENTRY_LDT*8)) @@ -37,7 +32,6 @@ asmlinkage void lcall27(void); */ extern struct desc_struct default_ldt[]; extern void set_intr_gate(unsigned int irq, void * addr); -extern void set_trap_gate(unsigned int n, void *addr); #define _set_tssldt_desc(n,addr,limit,type) \ __asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ @@ -52,14 +46,15 @@ __asm__ __volatile__ ("movw %w3,0(%2)\n\t" \ static inline void __set_tss_desc(unsigned int cpu, unsigned int entry, void *addr) { - _set_tssldt_desc(&cpu_gdt_table[cpu][entry], (int)addr, 235, 0x89); + _set_tssldt_desc(&per_cpu(cpu_gdt_table, cpu)[entry], (int)addr, + offsetof(struct tss_struct, __cacheline_filler) - 1, 0x89); } #define set_tss_desc(cpu,addr) __set_tss_desc(cpu, GDT_ENTRY_TSS, addr) static inline void set_ldt_desc(unsigned int cpu, void *addr, unsigned int size) { - _set_tssldt_desc(&cpu_gdt_table[cpu][GDT_ENTRY_LDT], (int)addr, ((size << 3)-1), 0x82); + _set_tssldt_desc(&per_cpu(cpu_gdt_table, cpu)[GDT_ENTRY_LDT], (int)addr, ((size << 3)-1), 0x82); } #define LDT_entry_a(info) \ @@ -93,13 +88,36 @@ static inline void set_ldt_desc(unsigned int cpu, void *addr, unsigned int size) static inline void load_TLS(struct thread_struct *t, unsigned int cpu) { -#define C(i) cpu_gdt_table[cpu][GDT_ENTRY_TLS_MIN + i] = t->tls_array[i] +#define C(i) per_cpu(cpu_gdt_table, cpu)[GDT_ENTRY_TLS_MIN + i] = t->tls_array[i] C(0); C(1); C(2); #undef C } -extern struct page *default_ldt_page; -extern void load_LDT_nolock(mm_context_t *pc, int cpu); +static inline void clear_LDT(void) +{ + int cpu = get_cpu(); + + set_ldt_desc(cpu, &default_ldt[0], 5); + load_LDT_desc(); + put_cpu(); +} + +/* + * load one particular LDT into the current CPU + */ +static inline void load_LDT_nolock(mm_context_t *pc, int cpu) +{ + void *segments = pc->ldt; + int count = pc->size; + + if (likely(!count)) { + segments = &default_ldt[0]; + count = 5; + } + + set_ldt_desc(cpu, segments, count); + load_LDT_desc(); +} static inline void load_LDT(mm_context_t *pc) { @@ -116,12 +134,12 @@ static inline void set_user_cs(struct desc_struct *desc, unsigned long limit) } #define load_user_cs_desc(cpu, mm) \ - cpu_gdt_table[(cpu)][GDT_ENTRY_DEFAULT_USER_CS] = (mm)->context.user_cs + per_cpu(cpu_gdt_table, cpu)[GDT_ENTRY_DEFAULT_USER_CS] = (mm)->context.user_cs extern void arch_add_exec_range(struct mm_struct *mm, unsigned long limit); extern void arch_remove_exec_range(struct mm_struct *mm, unsigned long limit); extern void arch_flush_exec_range(struct mm_struct *mm); - #endif /* !__ASSEMBLY__ */ + #endif diff --git a/include/asm-i386/dma-mapping.h b/include/asm-i386/dma-mapping.h index 79bfab5cb..8d432bd90 100644 --- a/include/asm-i386/dma-mapping.h +++ b/include/asm-i386/dma-mapping.h @@ -1,7 +1,6 @@ #ifndef _ASM_I386_DMA_MAPPING_H #define _ASM_I386_DMA_MAPPING_H -#include #include #include @@ -163,4 +162,16 @@ dma_cache_sync(void *vaddr, size_t size, flush_write_buffers(); } +#define ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY +extern int +dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, + dma_addr_t device_addr, size_t size, int flags); + +extern void +dma_release_declared_memory(struct device *dev); + +extern void * +dma_mark_declared_memory_occupied(struct device *dev, + dma_addr_t device_addr, size_t size); + #endif diff --git a/include/asm-i386/elf.h b/include/asm-i386/elf.h index c960aa0b6..3e6c60959 100644 --- a/include/asm-i386/elf.h +++ b/include/asm-i386/elf.h @@ -71,7 +71,7 @@ typedef struct user_fxsr_struct elf_fpxregset_t; the loader. We need to make sure that it is out of the way of the program that it will "exec", and that there is sufficient room for the brk. */ -#define ELF_ET_DYN_BASE (TASK_SIZE / 3 * 2) +#define ELF_ET_DYN_BASE ((TASK_UNMAPPED_BASE) * 2) /* regs is struct pt_regs, pr_reg is elf_gregset_t (which is now struct_user_regs, they are different) */ @@ -124,7 +124,7 @@ typedef struct user_fxsr_struct elf_fpxregset_t; * An executable for which elf_read_implies_exec() returns TRUE will * have the READ_IMPLIES_EXEC personality flag set automatically. */ -#define elf_read_implies_exec_binary(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack)) +#define elf_read_implies_exec(ex, have_pt_gnu_stack) (!(have_pt_gnu_stack)) extern int dump_task_regs (struct task_struct *, elf_gregset_t *); extern int dump_task_fpu (struct task_struct *, elf_fpregset_t *); diff --git a/include/asm-i386/fixmap.h b/include/asm-i386/fixmap.h index df4ae5834..805a0dd16 100644 --- a/include/asm-i386/fixmap.h +++ b/include/asm-i386/fixmap.h @@ -14,19 +14,30 @@ #define _ASM_FIXMAP_H #include + +/* used by vmalloc.c, vsyscall.lds.S. + * + * Leave one empty page between vmalloc'ed areas and + * the start of the fixmap. + */ +#define __FIXADDR_TOP 0xfffff000 + +#ifndef __ASSEMBLY__ #include #include #include #include +#ifdef CONFIG_HIGHMEM #include #include +#endif /* * Here we define all the compile-time 'special' virtual * addresses. The point is to have a constant address at * compile time, but to set the physical address only - * in the boot process. We allocate these special addresses - * from the end of virtual memory (0xffffe000) backwards. + * in the boot process. We allocate these special addresses + * from the end of virtual memory (0xfffff000) backwards. * Also this lets us do fail-safe vmalloc(), we * can guarantee that these special addresses and * vmalloc()-ed addresses never overlap. @@ -39,20 +50,11 @@ * TLB entries of such buffers will not be flushed across * task switches. */ - -/* - * on UP currently we will have no trace of the fixmap mechanizm, - * no page table allocations, etc. This might change in the - * future, say framebuffers for the console driver(s) could be - * fix-mapped? - */ enum fixed_addresses { FIX_HOLE, FIX_VSYSCALL, #ifdef CONFIG_X86_LOCAL_APIC FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */ -#else - FIX_VSTACK_HOLE_1, #endif #ifdef CONFIG_X86_IO_APIC FIX_IO_APIC_BASE_0, @@ -64,21 +66,16 @@ enum fixed_addresses { FIX_LI_PCIA, /* Lithium PCI Bridge A */ FIX_LI_PCIB, /* Lithium PCI Bridge B */ #endif - FIX_IDT, - FIX_GDT_1, - FIX_GDT_0, - FIX_TSS_3, - FIX_TSS_2, - FIX_TSS_1, - FIX_TSS_0, - FIX_ENTRY_TRAMPOLINE_1, - FIX_ENTRY_TRAMPOLINE_0, +#ifdef CONFIG_X86_F00F_BUG + FIX_F00F_IDT, /* Virtual mapping for IDT */ +#endif #ifdef CONFIG_X86_CYCLONE_TIMER FIX_CYCLONE_TIMER, /*cyclone timer register*/ - FIX_VSTACK_HOLE_2, #endif +#ifdef CONFIG_HIGHMEM FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, +#endif #ifdef CONFIG_ACPI_BOOT FIX_ACPI_BEGIN, FIX_ACPI_END = FIX_ACPI_BEGIN + FIX_ACPI_PAGES - 1, @@ -109,16 +106,8 @@ extern void __set_fixmap (enum fixed_addresses idx, #define clear_fixmap(idx) \ __set_fixmap(idx, 0, __pgprot(0)) -/* - * used by vmalloc.c and various other places. - * - * Leave one empty page between vmalloc'ed areas and - * the start of the fixmap. - * - * IMPORTANT: we have to align FIXADDR_TOP so that the virtual stack - * is THREAD_SIZE aligned. - */ -#define FIXADDR_TOP (0xffffe000UL & ~(THREAD_SIZE-1)) +#define FIXADDR_TOP ((unsigned long)__FIXADDR_TOP) + #define __FIXADDR_SIZE (__end_of_permanent_fixed_addresses << PAGE_SHIFT) #define FIXADDR_START (FIXADDR_TOP - __FIXADDR_SIZE) @@ -140,7 +129,7 @@ extern void __this_fixmap_does_not_exist(void); * directly without tranlation, we catch the bug with a NULL-deference * kernel oops. Illegal ranges of incoming indices are caught too. */ -static inline unsigned long fix_to_virt(const unsigned int idx) +static __always_inline unsigned long fix_to_virt(const unsigned int idx) { /* * this branch gets completely eliminated after inlining, @@ -163,4 +152,5 @@ static inline unsigned long virt_to_fix(const unsigned long vaddr) return __virt_to_fix(vaddr); } +#endif /* !__ASSEMBLY__ */ #endif diff --git a/include/asm-i386/highmem.h b/include/asm-i386/highmem.h index baf5b5aae..454b23ffd 100644 --- a/include/asm-i386/highmem.h +++ b/include/asm-i386/highmem.h @@ -25,19 +25,26 @@ #include #include #include -#include /* declarations for highmem.c */ extern unsigned long highstart_pfn, highend_pfn; +extern pte_t *kmap_pte; +extern pgprot_t kmap_prot; extern pte_t *pkmap_page_table; -extern void kmap_init(void) __init; + +extern void kmap_init(void); /* * Right now we initialize only a single pte table. It can be extended * easily, subsequent pte tables have to be allocated in one physical * chunk of RAM. */ +#if NR_CPUS <= 32 +#define PKMAP_BASE (0xff800000UL) +#else +#define PKMAP_BASE (0xff600000UL) +#endif #ifdef CONFIG_X86_PAE #define LAST_PKMAP 512 #else @@ -53,7 +60,6 @@ extern void FASTCALL(kunmap_high(struct page *page)); void *kmap(struct page *page); void kunmap(struct page *page); void *kmap_atomic(struct page *page, enum km_type type); -void *kmap_atomic_nocache_pfn(unsigned long pfn, enum km_type type); void kunmap_atomic(void *kvaddr, enum km_type type); struct page *kmap_atomic_to_page(void *ptr); diff --git a/include/asm-i386/hw_irq.h b/include/asm-i386/hw_irq.h index 25b7baadb..e04162a2a 100644 --- a/include/asm-i386/hw_irq.h +++ b/include/asm-i386/hw_irq.h @@ -68,46 +68,6 @@ extern atomic_t irq_mis_count; #define IO_APIC_IRQ(x) (((x) >= 16) || ((1<<(x)) & io_apic_irqs)) -/* - * The profiling function is SMP safe. (nothing can mess - * around with "current", and the profiling counters are - * updated with atomic operations). This is especially - * useful with a profiling multiplier != 1 - */ -static inline void x86_do_profile(struct pt_regs * regs) -{ - unsigned long eip; - extern unsigned long prof_cpu_mask; - - profile_hook(regs); - - if (user_mode(regs)) - return; - - if (!prof_buffer) - return; - - eip = regs->eip; - - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!((1<>= prof_shift; - /* - * Don't ignore out-of-bounds EIP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (eip > prof_len-1) - eip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[eip]); -} - #if defined(CONFIG_X86_IO_APIC) static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) { diff --git a/include/asm-i386/i387.h b/include/asm-i386/i387.h index 6d8a1995e..e9ad79b0e 100644 --- a/include/asm-i386/i387.h +++ b/include/asm-i386/i387.h @@ -117,7 +117,5 @@ extern int set_fpxregs( struct task_struct *tsk, */ extern int dump_fpu( struct pt_regs *regs, struct user_i387_struct *fpu ); -extern int dump_extended_fpu( struct pt_regs *regs, - struct user_fxsr_struct *fpu ); #endif /* __ASM_I386_I387_H */ diff --git a/include/asm-i386/irq.h b/include/asm-i386/irq.h index 43917d930..ff3fad6e0 100644 --- a/include/asm-i386/irq.h +++ b/include/asm-i386/irq.h @@ -56,4 +56,10 @@ struct pt_regs; asmlinkage int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *); +#ifdef CONFIG_IRQBALANCE +extern int irqbalance_disable(char *str); +#endif +extern int no_irq_affinity; +extern int noirqdebug_setup(char *str); + #endif /* _ASM_IRQ_H */ diff --git a/include/asm-i386/kmap_types.h b/include/asm-i386/kmap_types.h index ca46a62e4..7fd0b6651 100644 --- a/include/asm-i386/kmap_types.h +++ b/include/asm-i386/kmap_types.h @@ -2,37 +2,30 @@ #define _ASM_KMAP_TYPES_H #include -#include -enum km_type { - /* - * IMPORTANT: don't move these 3 entries, be wary when adding entries, - * the 4G/4G virtual stack must be THREAD_SIZE aligned on each cpu. - */ - KM_BOUNCE_READ, - KM_VSTACK_BASE, - KM_VSTACK_TOP = KM_VSTACK_BASE + STACK_PAGE_COUNT-1, +#ifdef CONFIG_DEBUG_HIGHMEM +# define D(n) __KM_FENCE_##n , +#else +# define D(n) +#endif - KM_LDT_PAGE15, - KM_LDT_PAGE0 = KM_LDT_PAGE15 + 16-1, - KM_USER_COPY, - KM_VSTACK_HOLE, - KM_SKB_SUNRPC_DATA, - KM_SKB_DATA_SOFTIRQ, - KM_USER0, - KM_USER1, - KM_BIO_SRC_IRQ, - KM_BIO_DST_IRQ, - KM_PTE0, - KM_PTE1, - KM_IRQ0, - KM_IRQ1, - KM_SOFTIRQ0, - KM_SOFTIRQ1, - KM_NETDUMP, - KM_UNUSED, - KM_TYPE_NR, - KM_DUMP +enum km_type { +D(0) KM_BOUNCE_READ, +D(1) KM_SKB_SUNRPC_DATA, +D(2) KM_SKB_DATA_SOFTIRQ, +D(3) KM_USER0, +D(4) KM_USER1, +D(5) KM_BIO_SRC_IRQ, +D(6) KM_BIO_DST_IRQ, +D(7) KM_PTE0, +D(8) KM_PTE1, +D(9) KM_IRQ0, +D(10) KM_IRQ1, +D(11) KM_SOFTIRQ0, +D(12) KM_SOFTIRQ1, +D(13) KM_TYPE_NR, +D(14) KM_NETDUMP, +D(15) KM_DUMP }; - +#undef D #endif diff --git a/include/asm-i386/mach-es7000/mach_ipi.h b/include/asm-i386/mach-es7000/mach_ipi.h index cb8a2fdb5..5e61bd220 100644 --- a/include/asm-i386/mach-es7000/mach_ipi.h +++ b/include/asm-i386/mach-es7000/mach_ipi.h @@ -1,7 +1,7 @@ #ifndef __ASM_MACH_IPI_H #define __ASM_MACH_IPI_H -inline void send_IPI_mask_sequence(cpumask_t mask, int vector); +void send_IPI_mask_sequence(cpumask_t mask, int vector); static inline void send_IPI_mask(cpumask_t mask, int vector) { diff --git a/include/asm-i386/mach-es7000/mach_mpparse.h b/include/asm-i386/mach-es7000/mach_mpparse.h index 0aae26413..85809e089 100644 --- a/include/asm-i386/mach-es7000/mach_mpparse.h +++ b/include/asm-i386/mach-es7000/mach_mpparse.h @@ -21,7 +21,8 @@ static inline int mps_oem_check(struct mp_config_table *mpc, char *oem, if (mpc->mpc_oemptr) { struct mp_config_oemtable *oem_table = (struct mp_config_oemtable *)mpc->mpc_oemptr; - return parse_unisys_oem((char *)oem_table, oem_table->oem_length); + if (!strncmp(oem, "UNISYS", 6)) + return parse_unisys_oem((char *)oem_table, oem_table->oem_length); } return 0; } diff --git a/include/asm-i386/mach-es7000/mach_mpspec.h b/include/asm-i386/mach-es7000/mach_mpspec.h index 6b5dadcf1..b1f5039d4 100644 --- a/include/asm-i386/mach-es7000/mach_mpspec.h +++ b/include/asm-i386/mach-es7000/mach_mpspec.h @@ -3,6 +3,6 @@ #define MAX_IRQ_SOURCES 256 -#define MAX_MP_BUSSES 32 +#define MAX_MP_BUSSES 256 #endif /* __ASM_MACH_MPSPEC_H */ diff --git a/include/asm-i386/mach-summit/mach_apic.h b/include/asm-i386/mach-summit/mach_apic.h index 214263a48..74e9cbc8c 100644 --- a/include/asm-i386/mach-summit/mach_apic.h +++ b/include/asm-i386/mach-summit/mach_apic.h @@ -19,11 +19,15 @@ static inline cpumask_t target_cpus(void) { - return CPU_MASK_ALL; + /* CPU_MASK_ALL (0xff) has undefined behaviour with + * dest_LowestPrio mode logical clustered apic interrupt routing + * Just start on cpu 0. IRQ balancing will spread load + */ + return cpumask_of_cpu(0); } #define TARGET_CPUS (target_cpus()) -#define INT_DELIVERY_MODE (dest_Fixed) +#define INT_DELIVERY_MODE (dest_LowestPrio) #define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */ static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid) diff --git a/include/asm-i386/mach-visws/mach_apic.h b/include/asm-i386/mach-visws/mach_apic.h index c367d820f..4e6cdfb8b 100644 --- a/include/asm-i386/mach-visws/mach_apic.h +++ b/include/asm-i386/mach-visws/mach_apic.h @@ -2,6 +2,7 @@ #define __ASM_MACH_APIC_H #include +#include #define APIC_DFR_VALUE (APIC_DFR_FLAT) diff --git a/include/asm-i386/mmu.h b/include/asm-i386/mmu.h index 2623313fe..17c6b085b 100644 --- a/include/asm-i386/mmu.h +++ b/include/asm-i386/mmu.h @@ -11,13 +11,10 @@ * exec_limit is used to track the range PROT_EXEC * mappings span. */ - -#define MAX_LDT_PAGES 16 - typedef struct { int size; struct semaphore sem; - struct page *ldt_pages[MAX_LDT_PAGES]; + void *ldt; struct desc_struct user_cs; unsigned long exec_limit; void *vdso; diff --git a/include/asm-i386/mmu_context.h b/include/asm-i386/mmu_context.h index 52beaf79f..bf0821835 100644 --- a/include/asm-i386/mmu_context.h +++ b/include/asm-i386/mmu_context.h @@ -18,8 +18,8 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) { #ifdef CONFIG_SMP unsigned cpu = smp_processor_id(); - if (cpu_tlbstate[cpu].state == TLBSTATE_OK) - cpu_tlbstate[cpu].state = TLBSTATE_LAZY; + if (per_cpu(cpu_tlbstate, cpu).state == TLBSTATE_OK) + per_cpu(cpu_tlbstate, cpu).state = TLBSTATE_LAZY; #endif } @@ -29,42 +29,34 @@ static inline void switch_mm(struct mm_struct *prev, { int cpu = smp_processor_id(); -#ifdef CONFIG_X86_SWITCH_PAGETABLES - if (tsk->mm) - tsk->thread_info->user_pgd = (void *)__pa(tsk->mm->pgd); -#endif if (likely(prev != next)) { /* stop flush ipis for the previous mm */ cpu_clear(cpu, prev->cpu_vm_mask); #ifdef CONFIG_SMP - cpu_tlbstate[cpu].state = TLBSTATE_OK; - cpu_tlbstate[cpu].active_mm = next; + per_cpu(cpu_tlbstate, cpu).state = TLBSTATE_OK; + per_cpu(cpu_tlbstate, cpu).active_mm = next; #endif cpu_set(cpu, next->cpu_vm_mask); /* Re-load page tables */ -#if !defined(CONFIG_X86_SWITCH_PAGETABLES) load_cr3(next->pgd); -#endif /* * load the LDT, if the LDT is different: */ - if (unlikely(prev->context.size + next->context.size)) + if (unlikely(prev->context.ldt != next->context.ldt)) load_LDT_nolock(&next->context, cpu); } #ifdef CONFIG_SMP else { - cpu_tlbstate[cpu].state = TLBSTATE_OK; - BUG_ON(cpu_tlbstate[cpu].active_mm != next); + per_cpu(cpu_tlbstate, cpu).state = TLBSTATE_OK; + BUG_ON(per_cpu(cpu_tlbstate, cpu).active_mm != next); if (!cpu_test_and_set(cpu, next->cpu_vm_mask)) { /* We were in lazy tlb mode and leave_mm disabled * tlb flush IPI delivery. We must reload %cr3. */ -#if !defined(CONFIG_X86_SWITCH_PAGETABLES) load_cr3(next->pgd); -#endif load_LDT_nolock(&next->context, cpu); } } @@ -75,6 +67,6 @@ static inline void switch_mm(struct mm_struct *prev, asm("movl %0,%%fs ; movl %0,%%gs": :"r" (0)) #define activate_mm(prev, next) \ - switch_mm((prev),(next),current) + switch_mm((prev),(next),NULL) #endif diff --git a/include/asm-i386/module.h b/include/asm-i386/module.h index 263c6f752..43f484751 100644 --- a/include/asm-i386/module.h +++ b/include/asm-i386/module.h @@ -6,9 +6,14 @@ struct mod_arch_specific { }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #ifdef CONFIG_M386 #define MODULE_PROC_FAMILY "386 " diff --git a/include/asm-i386/page.h b/include/asm-i386/page.h index 5716db155..fc70a4fbb 100644 --- a/include/asm-i386/page.h +++ b/include/asm-i386/page.h @@ -1,8 +1,6 @@ #ifndef _I386_PAGE_H #define _I386_PAGE_H -#include - /* PAGE_SHIFT determines the page size */ #define PAGE_SHIFT 12 #define PAGE_SIZE (1UL << PAGE_SHIFT) @@ -11,10 +9,11 @@ #define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1)) #define LARGE_PAGE_SIZE (1UL << PMD_SHIFT) -#include - #ifdef __KERNEL__ #ifndef __ASSEMBLY__ + +#include + #ifdef CONFIG_X86_USE_3DNOW #include @@ -65,6 +64,7 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) #define HPAGE_MASK (~(HPAGE_SIZE - 1)) #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) +#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA #endif @@ -93,26 +93,15 @@ typedef struct { unsigned long pgprot; } pgprot_t; * * If you want more physical memory than this then see the CONFIG_HIGHMEM4G * and CONFIG_HIGHMEM64G options in the kernel configuration. - * - * Note: on PAE the kernel must never go below 32 MB, we use the - * first 8 entries of the 2-level boot pgd for PAE magic. */ -#ifdef CONFIG_X86_4G_VM_LAYOUT -#define __PAGE_OFFSET (0x02000000) -#define TASK_SIZE (0xff000000) -#else -#define __PAGE_OFFSET (0xc0000000) -#define TASK_SIZE (0xc0000000) -#endif +#ifndef __ASSEMBLY__ /* * This much address space is reserved for vmalloc() and iomap() * as well as fixmap mappings. */ -#define __VMALLOC_RESERVE (128 << 20) - -#ifndef __ASSEMBLY__ +extern unsigned int __VMALLOC_RESERVE; /* Pure 2^n version of get_order */ static __inline__ int get_order(unsigned long size) @@ -128,14 +117,29 @@ static __inline__ int get_order(unsigned long size) return order; } +extern int sysctl_legacy_va_layout; + extern int devmem_is_allowed(unsigned long pagenr); #endif /* __ASSEMBLY__ */ +#if defined(CONFIG_SPLIT_3GB) +#define __PAGE_OFFSET (0xC0000000) +#elif defined(CONFIG_SPLIT_25GB) +#define __PAGE_OFFSET (0xA0000000) +#elif defined(CONFIG_SPLIT_2GB) +#define __PAGE_OFFSET (0x80000000) +#elif defined(CONFIG_SPLIT_15GB) +#define __PAGE_OFFSET (0x60000000) +#elif defined(CONFIG_SPLIT_1GB) +#define __PAGE_OFFSET (0x40000000) +#endif + #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) #define VMALLOC_RESERVE ((unsigned long)__VMALLOC_RESERVE) #define __MAXMEM (-__PAGE_OFFSET-__VMALLOC_RESERVE) #define MAXMEM ((unsigned long)(-PAGE_OFFSET-VMALLOC_RESERVE)) + #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) #define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) diff --git a/include/asm-i386/pgtable-2level.h b/include/asm-i386/pgtable-2level.h index de5111056..58867b62f 100644 --- a/include/asm-i386/pgtable-2level.h +++ b/include/asm-i386/pgtable-2level.h @@ -75,4 +75,11 @@ static inline int pte_exec_kernel(pte_t pte) #define pgoff_to_pte(off) \ ((pte_t) { (((off) & 0x1f) << 1) + (((off) >> 5) << 8) + _PAGE_FILE }) +/* Encode and de-code a swap entry */ +#define __swp_type(x) (((x).val >> 1) & 0x1f) +#define __swp_offset(x) ((x).val >> 8) +#define __swp_entry(type, offset) ((swp_entry_t) { ((type) << 1) | ((offset) << 8) }) +#define __pte_to_swp_entry(pte) ((swp_entry_t) { (pte).pte_low }) +#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) + #endif /* _I386_PGTABLE_2LEVEL_H */ diff --git a/include/asm-i386/pgtable-3level.h b/include/asm-i386/pgtable-3level.h index d78e3493d..80a24b01d 100644 --- a/include/asm-i386/pgtable-3level.h +++ b/include/asm-i386/pgtable-3level.h @@ -54,6 +54,7 @@ static inline void set_pte(pte_t *ptep, pte_t pte) smp_wmb(); ptep->pte_low = pte.pte_low; } +#define __HAVE_ARCH_SET_PTE_ATOMIC #define set_pte_atomic(pteptr,pteval) \ set_64bit((unsigned long long *)(pteptr),pte_val(pteval)) #define set_pmd(pmdptr,pmdval) \ @@ -134,4 +135,11 @@ static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot) #define pgoff_to_pte(off) ((pte_t) { _PAGE_FILE, (off) }) #define PTE_FILE_MAX_BITS 32 +/* Encode and de-code a swap entry */ +#define __swp_type(x) (((x).val) & 0x1f) +#define __swp_offset(x) ((x).val >> 5) +#define __swp_entry(type, offset) ((swp_entry_t){(type) | (offset) << 5}) +#define __pte_to_swp_entry(pte) ((swp_entry_t){ (pte).pte_high }) +#define __swp_entry_to_pte(x) ((pte_t){ 0, (x).val }) + #endif /* _I386_PGTABLE_3LEVEL_H */ diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h index 94e7facc9..b4ba1fd6f 100644 --- a/include/asm-i386/pgtable.h +++ b/include/asm-i386/pgtable.h @@ -16,41 +16,38 @@ #include #include #include -#include #ifndef _I386_BITOPS_H #include #endif +#include +#include +#include + +/* + * ZERO_PAGE is a global shared page that is always zero: used + * for zero-mapped memory areas etc.. + */ +#define ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page)) +extern unsigned long empty_zero_page[1024]; extern pgd_t swapper_pg_dir[1024]; -extern kmem_cache_t *pgd_cache, *pmd_cache, *kpmd_cache; +extern kmem_cache_t *pgd_cache; +extern kmem_cache_t *pmd_cache; extern spinlock_t pgd_lock; extern struct page *pgd_list; + void pmd_ctor(void *, kmem_cache_t *, unsigned long); -void kpmd_ctor(void *, kmem_cache_t *, unsigned long); void pgd_ctor(void *, kmem_cache_t *, unsigned long); void pgd_dtor(void *, kmem_cache_t *, unsigned long); void pgtable_cache_init(void); -extern void paging_init(void); -void setup_identity_mappings(pgd_t *pgd_base, unsigned long start, unsigned long end); - -/* - * ZERO_PAGE is a global shared page that is always zero: used - * for zero-mapped memory areas etc.. - */ -extern unsigned long empty_zero_page[1024]; -#define ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page)) +void paging_init(void); /* * The Linux x86 paging architecture is 'compile-time dual-mode', it * implements both the traditional 2-level x86 page tables and the * newer 3-level PAE-mode page tables. */ - -extern void set_system_gate(unsigned int n, void *addr); -extern void init_entry_mappings(void); -extern void entry_trampoline_setup(void); - #ifdef CONFIG_X86_PAE # include #else @@ -62,12 +59,7 @@ extern void entry_trampoline_setup(void); #define PGDIR_SIZE (1UL << PGDIR_SHIFT) #define PGDIR_MASK (~(PGDIR_SIZE-1)) -#if defined(CONFIG_X86_PAE) && defined(CONFIG_X86_4G_VM_LAYOUT) -# define USER_PTRS_PER_PGD 4 -#else -# define USER_PTRS_PER_PGD ((TASK_SIZE/PGDIR_SIZE) + ((TASK_SIZE % PGDIR_SIZE) + PGDIR_SIZE-1)/PGDIR_SIZE) -#endif - +#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) #define FIRST_USER_PGD_NR 0 #define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT) @@ -282,7 +274,6 @@ static inline void ptep_mkdirty(pte_t *ptep) { set_bit(_PAGE_BIT_DIRTY, &ptep- #define mk_pte(page, pgprot) pfn_pte(page_to_pfn(page), (pgprot)) #define mk_pte_huge(entry) ((entry).pte_low |= _PAGE_PRESENT | _PAGE_PSE) -#define mk_pte_phys(physpage, pgprot) pfn_pte((physpage) >> PAGE_SHIFT, pgprot) static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) { @@ -407,13 +398,6 @@ extern pte_t *lookup_address(unsigned long address); } \ } while (0) -/* Encode and de-code a swap entry */ -#define __swp_type(x) (((x).val >> 1) & 0x1f) -#define __swp_offset(x) ((x).val >> 8) -#define __swp_entry(type, offset) ((swp_entry_t) { ((type) << 1) | ((offset) << 8) }) -#define __pte_to_swp_entry(pte) ((swp_entry_t) { (pte).pte_low }) -#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) - #endif /* !__ASSEMBLY__ */ #ifndef CONFIG_DISCONTIGMEM @@ -430,11 +414,4 @@ extern pte_t *lookup_address(unsigned long address); #define __HAVE_ARCH_PTE_SAME #include -/* - * The size of the low 1:1 mappings we use during bootup, - * SMP-boot and ACPI-sleep: - */ -#define LOW_MAPPINGS_SIZE (16*1024*1024) - - #endif /* _I386_PGTABLE_H */ diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h index 3651a3bb0..edaec9b18 100644 --- a/include/asm-i386/processor.h +++ b/include/asm-i386/processor.h @@ -19,6 +19,7 @@ #include #include #include +#include /* flag for disabling the tsc */ extern int tsc_disable; @@ -84,8 +85,8 @@ struct cpuinfo_x86 { extern struct cpuinfo_x86 boot_cpu_data; extern struct cpuinfo_x86 new_cpu_data; -extern struct tss_struct init_tss[NR_CPUS]; extern struct tss_struct doublefault_tss; +DECLARE_PER_CPU(struct tss_struct, init_tss); #ifdef CONFIG_SMP extern struct cpuinfo_x86 cpu_data[]; @@ -99,6 +100,7 @@ extern char ignore_fpu_irq; extern void identify_cpu(struct cpuinfo_x86 *); extern void print_cpu_info(struct cpuinfo_x86 *); +extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern void dodgy_tsc(void); /* @@ -286,6 +288,12 @@ extern unsigned int machine_submodel_id; extern unsigned int BIOS_revision; extern unsigned int mca_pentium_flag; +/* + * User space process size: (3GB default). + */ +#define __TASK_SIZE (__PAGE_OFFSET) +#define TASK_SIZE ((unsigned long)__TASK_SIZE) + /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ @@ -296,14 +304,17 @@ extern unsigned long arch_align_stack(unsigned long sp); #define HAVE_ARCH_PICK_MMAP_LAYOUT +#define HAVE_ARCH_PICK_MMAP_LAYOUT + /* - * Size of io_bitmap, covering ports 0 to 0x3ff. + * Size of io_bitmap. */ -#define IO_BITMAP_BITS 1024 +#define IO_BITMAP_BITS 65536 #define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) #define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) #define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap) #define INVALID_IO_BITMAP_OFFSET 0x8000 +#define INVALID_IO_BITMAP_OFFSET_LAZY 0x9000 struct i387_fsave_struct { long cwd; @@ -357,6 +368,8 @@ typedef struct { unsigned long seg; } mm_segment_t; +struct thread_struct; + struct tss_struct { unsigned short back_link,__blh; unsigned long esp0; @@ -388,10 +401,15 @@ struct tss_struct { * be within the limit. */ unsigned long io_bitmap[IO_BITMAP_LONGS + 1]; + /* + * Cache the current maximum and the last task that used the bitmap: + */ + unsigned long io_bitmap_max; + struct thread_struct *io_bitmap_owner; /* * pads the TSS to be cacheline-aligned (size is 0x100) */ - unsigned long __cacheline_filler[5]; + unsigned long __cacheline_filler[35]; /* * .. and then another 0x100 bytes for emergency kernel stack */ @@ -405,11 +423,9 @@ struct tss_struct { #endif #define STACK_PAGE_COUNT ((1<esp0 = thread->esp0; /* This can only happen when SEP is enabled, no need to test "SEP"arately */ @@ -491,23 +507,6 @@ extern void prepare_to_copy(struct task_struct *tsk); */ extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); -#ifdef CONFIG_X86_HIGH_ENTRY -#define virtual_esp0(tsk) \ - ((unsigned long)(tsk)->thread_info->virtual_stack + ((tsk)->thread.esp0 - (unsigned long)(tsk)->thread_info->real_stack)) -#else -# define virtual_esp0(tsk) ((tsk)->thread.esp0) -#endif - -#define load_virtual_esp0(tss, task) \ - do { \ - tss->esp0 = virtual_esp0(task); \ - if (likely(cpu_has_sep) && unlikely(tss->ss1 != task->thread.sysenter_cs)) { \ - tss->ss1 = task->thread.sysenter_cs; \ - wrmsr(MSR_IA32_SYSENTER_CS, \ - task->thread.sysenter_cs, 0); \ - } \ - } while (0) - extern unsigned long thread_saved_pc(struct task_struct *tsk); void show_trace(struct task_struct *task, unsigned long *stack); @@ -671,9 +670,4 @@ extern void select_idle_routine(const struct cpuinfo_x86 *c); #define cache_line_size() (boot_cpu_data.x86_cache_alignment) -#ifdef CONFIG_SCHED_SMT -#define ARCH_HAS_SCHED_DOMAIN -#define ARCH_HAS_SCHED_WAKE_IDLE -#endif - #endif /* __ASM_I386_PROCESSOR_H */ diff --git a/include/asm-i386/resource.h b/include/asm-i386/resource.h index f81444a19..5c3505a4a 100644 --- a/include/asm-i386/resource.h +++ b/include/asm-i386/resource.h @@ -40,7 +40,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-i386/setup.h b/include/asm-i386/setup.h index 59f4a1ad3..8814b54c7 100644 --- a/include/asm-i386/setup.h +++ b/include/asm-i386/setup.h @@ -55,7 +55,7 @@ extern unsigned char boot_params[PARAM_SIZE]; #define KERNEL_START (*(unsigned long *) (PARAM+0x214)) #define INITRD_START (*(unsigned long *) (PARAM+0x218)) #define INITRD_SIZE (*(unsigned long *) (PARAM+0x21c)) -#define EDID_INFO (*(struct edid_info *) (PARAM+0x440)) +#define EDID_INFO (*(struct edid_info *) (PARAM+0x140)) #define EDD_NR (*(unsigned char *) (PARAM+EDDNR)) #define EDD_MBR_SIG_NR (*(unsigned char *) (PARAM+EDD_MBR_SIG_NR_BUF)) #define EDD_MBR_SIGNATURE ((unsigned int *) (PARAM+EDD_MBR_SIG_BUF)) diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h index bd8fa4cd9..047cd2322 100644 --- a/include/asm-i386/smp.h +++ b/include/asm-i386/smp.h @@ -44,6 +44,7 @@ extern void (*mtrr_hook) (void); extern void zap_low_mappings (void); #define MAX_APICID 256 +extern u8 x86_cpu_to_apicid[]; /* * This function is needed by all SMP systems. It must _always_ be valid diff --git a/include/asm-i386/spinlock.h b/include/asm-i386/spinlock.h index d6dbfd469..89ad2d7b5 100644 --- a/include/asm-i386/spinlock.h +++ b/include/asm-i386/spinlock.h @@ -46,20 +46,18 @@ typedef struct { #define spin_lock_string \ "\n1:\t" \ "lock ; decb %0\n\t" \ - "js 2f\n" \ - LOCK_SECTION_START("") \ + "jns 3f\n" \ "2:\t" \ "rep;nop\n\t" \ "cmpb $0,%0\n\t" \ "jle 2b\n\t" \ "jmp 1b\n" \ - LOCK_SECTION_END + "3:\n\t" #define spin_lock_string_flags \ "\n1:\t" \ "lock ; decb %0\n\t" \ - "js 2f\n\t" \ - LOCK_SECTION_START("") \ + "jns 4f\n\t" \ "2:\t" \ "testl $0x200, %1\n\t" \ "jz 3f\n\t" \ @@ -70,7 +68,7 @@ typedef struct { "jle 3b\n\t" \ "cli\n\t" \ "jmp 1b\n" \ - LOCK_SECTION_END + "4:\n\t" /* * This works. Despite all the confusion. @@ -130,10 +128,8 @@ static inline int _raw_spin_trylock(spinlock_t *lock) static inline void _raw_spin_lock(spinlock_t *lock) { #ifdef CONFIG_DEBUG_SPINLOCK - __label__ here; -here: if (unlikely(lock->magic != SPINLOCK_MAGIC)) { - printk("eip: %p\n", &&here); + printk("eip: %p\n", __builtin_return_address(0)); BUG(); } #endif @@ -145,10 +141,8 @@ here: static inline void _raw_spin_lock_flags (spinlock_t *lock, unsigned long flags) { #ifdef CONFIG_DEBUG_SPINLOCK - __label__ here; -here: if (unlikely(lock->magic != SPINLOCK_MAGIC)) { - printk("eip: %p\n", &&here); + printk("eip: %p\n", __builtin_return_address(0)); BUG(); } #endif diff --git a/include/asm-i386/string.h b/include/asm-i386/string.h index 55c322025..fc66609bb 100644 --- a/include/asm-i386/string.h +++ b/include/asm-i386/string.h @@ -60,29 +60,6 @@ __asm__ __volatile__( return dest; } -/* - * This is a more generic variant of strncpy_count() suitable for - * implementing string-access routines with all sorts of return - * code semantics. It's used by mm/usercopy.c. - */ -static inline size_t strncpy_count(char * dest,const char *src,size_t count) -{ - __asm__ __volatile__( - - "1:\tdecl %0\n\t" - "js 2f\n\t" - "lodsb\n\t" - "stosb\n\t" - "testb %%al,%%al\n\t" - "jne 1b\n\t" - "2:" - "incl %0" - : "=c" (count) - :"S" (src),"D" (dest),"0" (count) : "memory"); - - return count; -} - #define __HAVE_ARCH_STRCAT static inline char * strcat(char * dest,const char * src) { diff --git a/include/asm-i386/thread_info.h b/include/asm-i386/thread_info.h index da74573aa..ac9b82da2 100644 --- a/include/asm-i386/thread_info.h +++ b/include/asm-i386/thread_info.h @@ -38,7 +38,6 @@ struct thread_info { 0-0xFFFFFFFF for kernel-thread */ void *sysenter_return; - void *real_stack, *virtual_stack, *user_pgd; struct restart_block restart_block; unsigned long previous_esp; /* ESP of the previous stack in case @@ -65,7 +64,7 @@ struct thread_info { */ #ifndef __ASSEMBLY__ -#define INIT_THREAD_INFO(tsk, thread_info) \ +#define INIT_THREAD_INFO(tsk) \ { \ .task = &tsk, \ .exec_domain = &default_exec_domain, \ @@ -76,7 +75,6 @@ struct thread_info { .restart_block = { \ .fn = do_no_restart_syscall, \ }, \ - .real_stack = &thread_info, \ } #define init_thread_info (init_thread_union.thread_info) @@ -143,7 +141,6 @@ static inline unsigned long current_stack_pointer(void) #define TIF_NEED_RESCHED 3 /* rescheduling necessary */ #define TIF_SINGLESTEP 4 /* restore singlestep on return to user mode */ #define TIF_IRET 5 /* return with iret */ -#define TIF_DB7 6 /* has debug registers */ #define TIF_SYSCALL_AUDIT 7 /* syscall auditing active */ #define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling TIF_NEED_RESCHED */ @@ -154,12 +151,11 @@ static inline unsigned long current_stack_pointer(void) #define _TIF_SINGLESTEP (1< -#include +#include #ifdef CONFIG_X86_ELAN # define CLOCK_TICK_RATE 1189200 /* AMD Elan has different frequency! */ @@ -40,14 +40,17 @@ extern cycles_t cacheflush_time; static inline cycles_t get_cycles (void) { + unsigned long long ret=0; + #ifndef CONFIG_X86_TSC - return 0; -#else - unsigned long long ret; + if (!cpu_has_tsc) + return 0; +#endif +#if defined(CONFIG_X86_GENERIC) || defined(CONFIG_X86_TSC) rdtscll(ret); - return ret; #endif + return ret; } extern unsigned long cpu_khz; diff --git a/include/asm-i386/tlbflush.h b/include/asm-i386/tlbflush.h index 84975eb82..f22fab0ce 100644 --- a/include/asm-i386/tlbflush.h +++ b/include/asm-i386/tlbflush.h @@ -85,28 +85,22 @@ extern unsigned long pgkern_mask; static inline void flush_tlb_mm(struct mm_struct *mm) { -#ifndef CONFIG_X86_SWITCH_PAGETABLES if (mm == current->active_mm) __flush_tlb(); -#endif } static inline void flush_tlb_page(struct vm_area_struct *vma, unsigned long addr) { -#ifndef CONFIG_X86_SWITCH_PAGETABLES if (vma->vm_mm == current->active_mm) __flush_tlb_one(addr); -#endif } static inline void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) { -#ifndef CONFIG_X86_SWITCH_PAGETABLES if (vma->vm_mm == current->active_mm) __flush_tlb(); -#endif } #else @@ -117,10 +111,11 @@ static inline void flush_tlb_range(struct vm_area_struct *vma, __flush_tlb() extern void flush_tlb_all(void); +extern void flush_tlb_current_task(void); extern void flush_tlb_mm(struct mm_struct *); extern void flush_tlb_page(struct vm_area_struct *, unsigned long); -#define flush_tlb() flush_tlb_all() +#define flush_tlb() flush_tlb_current_task() static inline void flush_tlb_range(struct vm_area_struct * vma, unsigned long start, unsigned long end) { @@ -136,7 +131,7 @@ struct tlb_state int state; char __cacheline_padding[L1_CACHE_BYTES-8]; }; -extern struct tlb_state cpu_tlbstate[NR_CPUS]; +DECLARE_PER_CPU(struct tlb_state, cpu_tlbstate); #endif diff --git a/include/asm-i386/uaccess.h b/include/asm-i386/uaccess.h index 47351a306..3553bec12 100644 --- a/include/asm-i386/uaccess.h +++ b/include/asm-i386/uaccess.h @@ -26,7 +26,7 @@ #define KERNEL_DS MAKE_MM_SEG(0xFFFFFFFFUL) -#define USER_DS MAKE_MM_SEG(TASK_SIZE) +#define USER_DS MAKE_MM_SEG(PAGE_OFFSET) #define get_ds() (KERNEL_DS) #define get_fs() (current_thread_info()->addr_limit) @@ -150,45 +150,6 @@ extern void __get_user_4(void); :"=a" (ret),"=d" (x) \ :"0" (ptr)) -extern int get_user_size(unsigned int size, void *val, const void *ptr); -extern int put_user_size(unsigned int size, const void *val, void *ptr); -extern int zero_user_size(unsigned int size, void *ptr); -extern int copy_str_fromuser_size(unsigned int size, void *val, const void *ptr); -extern int strlen_fromuser_size(unsigned int size, const void *ptr); - - -# define indirect_get_user(x,ptr) \ -({ int __ret_gu,__val_gu; \ - __typeof__(ptr) __ptr_gu = (ptr); \ - __ret_gu = get_user_size(sizeof(*__ptr_gu), &__val_gu,__ptr_gu) ? -EFAULT : 0;\ - (x) = (__typeof__(*__ptr_gu))__val_gu; \ - __ret_gu; \ -}) -#define indirect_put_user(x,ptr) \ -({ \ - __typeof__(*(ptr)) *__ptr_pu = (ptr), __x_pu = (x); \ - put_user_size(sizeof(*__ptr_pu), &__x_pu, __ptr_pu) ? -EFAULT : 0; \ -}) -#define __indirect_put_user indirect_put_user -#define __indirect_get_user indirect_get_user - -#define indirect_copy_from_user(to,from,n) get_user_size(n,to,from) -#define indirect_copy_to_user(to,from,n) put_user_size(n,from,to) - -#define __indirect_copy_from_user indirect_copy_from_user -#define __indirect_copy_to_user indirect_copy_to_user - -#define indirect_strncpy_from_user(dst, src, count) \ - copy_str_fromuser_size(count, dst, src) - -extern int strlen_fromuser_size(unsigned int size, const void *ptr); -#define indirect_strnlen_user(str, n) strlen_fromuser_size(n, str) -#define indirect_strlen_user(str) indirect_strnlen_user(str, ~0UL >> 1) - -extern int zero_user_size(unsigned int size, void *ptr); - -#define indirect_clear_user(mem, len) zero_user_size(len, mem) -#define __indirect_clear_user clear_user /* Careful: we have to cast the result to the type of the pointer for sign reasons */ /** @@ -208,7 +169,7 @@ extern int zero_user_size(unsigned int size, void *ptr); * Returns zero on success, or -EFAULT on error. * On error, the variable @x is set to zero. */ -#define direct_get_user(x,ptr) \ +#define get_user(x,ptr) \ ({ int __ret_gu,__val_gu; \ __chk_user_ptr(ptr); \ switch(sizeof (*(ptr))) { \ @@ -239,7 +200,7 @@ extern void __put_user_bad(void); * * Returns zero on success, or -EFAULT on error. */ -#define direct_put_user(x,ptr) \ +#define put_user(x,ptr) \ __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) @@ -263,7 +224,7 @@ extern void __put_user_bad(void); * Returns zero on success, or -EFAULT on error. * On error, the variable @x is set to zero. */ -#define __direct_get_user(x,ptr) \ +#define __get_user(x,ptr) \ __get_user_nocheck((x),(ptr),sizeof(*(ptr))) @@ -286,7 +247,7 @@ extern void __put_user_bad(void); * * Returns zero on success, or -EFAULT on error. */ -#define __direct_put_user(x,ptr) \ +#define __put_user(x,ptr) \ __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) #define __put_user_nocheck(x,ptr,size) \ @@ -414,8 +375,10 @@ do { \ : "m"(__m(addr)), "i"(errret), "0"(err)) -unsigned long __copy_to_user_ll(void __user *to, const void *from, unsigned long n); -unsigned long __copy_from_user_ll(void *to, const void __user *from, unsigned long n); +unsigned long __must_check __copy_to_user_ll(void __user *to, + const void *from, unsigned long n); +unsigned long __must_check __copy_from_user_ll(void *to, + const void __user *from, unsigned long n); /* * Here we special-case 1, 2 and 4-byte copy_*_user invocations. On a fault @@ -438,8 +401,8 @@ unsigned long __copy_from_user_ll(void *to, const void __user *from, unsigned lo * Returns number of bytes that could not be copied. * On success, this will be zero. */ -static inline unsigned long -__direct_copy_to_user(void __user *to, const void *from, unsigned long n) +static inline unsigned long __must_check +__copy_to_user_inatomic(void __user *to, const void *from, unsigned long n) { if (__builtin_constant_p(n)) { unsigned long ret; @@ -459,6 +422,13 @@ __direct_copy_to_user(void __user *to, const void *from, unsigned long n) return __copy_to_user_ll(to, from, n); } +static inline unsigned long __must_check +__copy_to_user(void __user *to, const void *from, unsigned long n) +{ + might_sleep(); + return __copy_to_user_inatomic(to, from, n); +} + /** * __copy_from_user: - Copy a block of data from user space, with less checking. * @to: Destination address, in kernel space. @@ -477,7 +447,7 @@ __direct_copy_to_user(void __user *to, const void *from, unsigned long n) * data to the requested size using zero bytes. */ static inline unsigned long -__direct_copy_from_user(void *to, const void __user *from, unsigned long n) +__copy_from_user_inatomic(void *to, const void __user *from, unsigned long n) { if (__builtin_constant_p(n)) { unsigned long ret; @@ -497,57 +467,20 @@ __direct_copy_from_user(void *to, const void __user *from, unsigned long n) return __copy_from_user_ll(to, from, n); } -/** - * copy_to_user: - Copy a block of data into user space. - * @to: Destination address, in user space. - * @from: Source address, in kernel space. - * @n: Number of bytes to copy. - * - * Context: User context only. This function may sleep. - * - * Copy data from kernel space to user space. - * - * Returns number of bytes that could not be copied. - * On success, this will be zero. - */ -static inline unsigned long -direct_copy_to_user(void __user *to, const void *from, unsigned long n) -{ - might_sleep(); - if (access_ok(VERIFY_WRITE, to, n)) - n = __direct_copy_to_user(to, from, n); - return n; -} - -/** - * copy_from_user: - Copy a block of data from user space. - * @to: Destination address, in kernel space. - * @from: Source address, in user space. - * @n: Number of bytes to copy. - * - * Context: User context only. This function may sleep. - * - * Copy data from user space to kernel space. - * - * Returns number of bytes that could not be copied. - * On success, this will be zero. - * - * If some data could not be copied, this function will pad the copied - * data to the requested size using zero bytes. - */ static inline unsigned long -direct_copy_from_user(void *to, const void __user *from, unsigned long n) +__copy_from_user(void *to, const void __user *from, unsigned long n) { - might_sleep(); - if (access_ok(VERIFY_READ, from, n)) - n = __direct_copy_from_user(to, from, n); - else - memset(to, 0, n); - return n; + might_sleep(); + return __copy_from_user_inatomic(to, from, n); } - -long strncpy_from_user(char *dst, const char __user *src, long count); -long __strncpy_from_user(char *dst, const char __user *src, long count); +unsigned long __must_check copy_to_user(void __user *to, + const void *from, unsigned long n); +unsigned long __must_check copy_from_user(void *to, + const void __user *from, unsigned long n); +long __must_check strncpy_from_user(char *dst, const char __user *src, + long count); +long __must_check __strncpy_from_user(char *dst, + const char __user *src, long count); /** * strlen_user: - Get the size of a string in user space. @@ -563,71 +496,10 @@ long __strncpy_from_user(char *dst, const char __user *src, long count); * If there is a limit on the length of a valid string, you may wish to * consider using strnlen_user() instead. */ +#define strlen_user(str) strnlen_user(str, ~0UL >> 1) -long direct_strncpy_from_user(char *dst, const char *src, long count); -long __direct_strncpy_from_user(char *dst, const char *src, long count); -#define direct_strlen_user(str) direct_strnlen_user(str, ~0UL >> 1) -long direct_strnlen_user(const char *str, long n); -unsigned long direct_clear_user(void *mem, unsigned long len); -unsigned long __direct_clear_user(void *mem, unsigned long len); - -extern int indirect_uaccess; - -#ifdef CONFIG_X86_UACCESS_INDIRECT - -/* - * Return code and zeroing semantics: - - __clear_user 0 <-> bytes not done - clear_user 0 <-> bytes not done - __copy_to_user 0 <-> bytes not done - copy_to_user 0 <-> bytes not done - __copy_from_user 0 <-> bytes not done, zero rest - copy_from_user 0 <-> bytes not done, zero rest - __get_user 0 <-> -EFAULT - get_user 0 <-> -EFAULT - __put_user 0 <-> -EFAULT - put_user 0 <-> -EFAULT - strlen_user strlen + 1 <-> 0 - strnlen_user strlen + 1 (or n+1) <-> 0 - strncpy_from_user strlen (or n) <-> -EFAULT - - */ - -#define __clear_user(mem,len) __indirect_clear_user(mem,len) -#define clear_user(mem,len) indirect_clear_user(mem,len) -#define __copy_to_user(to,from,n) __indirect_copy_to_user(to,from,n) -#define copy_to_user(to,from,n) indirect_copy_to_user(to,from,n) -#define __copy_from_user(to,from,n) __indirect_copy_from_user(to,from,n) -#define copy_from_user(to,from,n) indirect_copy_from_user(to,from,n) -#define __get_user(val,ptr) __indirect_get_user(val,ptr) -#define get_user(val,ptr) indirect_get_user(val,ptr) -#define __put_user(val,ptr) __indirect_put_user(val,ptr) -#define put_user(val,ptr) indirect_put_user(val,ptr) -#define strlen_user(str) indirect_strlen_user(str) -#define strnlen_user(src,count) indirect_strnlen_user(src,count) -#define strncpy_from_user(dst,src,count) \ - indirect_strncpy_from_user(dst,src,count) - -#else - -#define __clear_user __direct_clear_user -#define clear_user direct_clear_user -#define __copy_to_user __direct_copy_to_user -#define copy_to_user direct_copy_to_user -#define __copy_from_user __direct_copy_from_user -#define copy_from_user direct_copy_from_user -#define __get_user __direct_get_user -#define get_user direct_get_user -#define __put_user __direct_put_user -#define put_user direct_put_user -#define strlen_user direct_strlen_user -#define strnlen_user direct_strnlen_user -#define strncpy_from_user direct_strncpy_from_user - -#endif /* CONFIG_X86_UACCESS_INDIRECT */ -#define __copy_to_user_inatomic __copy_to_user -#define __copy_from_user_inatomic __copy_from_user - +long strnlen_user(const char __user *str, long n); +unsigned long __must_check clear_user(void __user *mem, unsigned long len); +unsigned long __must_check __clear_user(void __user *mem, unsigned long len); #endif /* __i386_UACCESS_H */ diff --git a/include/asm-i386/unistd.h b/include/asm-i386/unistd.h index d27db1931..4fb1bc4d3 100644 --- a/include/asm-i386/unistd.h +++ b/include/asm-i386/unistd.h @@ -289,10 +289,17 @@ #define __NR_mq_notify (__NR_mq_open+4) #define __NR_mq_getsetattr (__NR_mq_open+5) #define __NR_sys_kexec_load 283 +#define __NR_waitid 284 +#define NR_syscalls 285 + +#ifdef USE_IOPRIO_SYSCALLS +#warning MEF need to fix up syscall numbers due to waitid addition #define __NR_ioprio_set 284 #define __NR_ioprio_get 285 - #define NR_syscalls 286 +#else +#warning MEF not includig sys_ioprio_{set,get} syscalls +#endif #ifndef __KERNEL_SYSCALLS_NO_ERRNO__ /* user-visible error numbers are in the range -1 - -124: see */ diff --git a/include/asm-ia64/acpi.h b/include/asm-ia64/acpi.h index 3e13984cf..d5c639454 100644 --- a/include/asm-ia64/acpi.h +++ b/include/asm-ia64/acpi.h @@ -89,13 +89,13 @@ ia64_acpi_release_global_lock (unsigned int *lock) ((Acq) = ia64_acpi_release_global_lock((unsigned int *) GLptr)) #define acpi_disabled 0 /* ACPI always enabled on IA64 */ +#define acpi_noirq 0 /* ACPI always enabled on IA64 */ #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ static inline void disable_acpi(void) { } const char *acpi_get_sysname (void); int acpi_request_vector (u32 int_type); -int acpi_register_irq (u32 gsi, u32 polarity, u32 trigger); int acpi_gsi_to_irq (u32 gsi, unsigned int *irq); #ifdef CONFIG_ACPI_NUMA @@ -105,6 +105,8 @@ extern int __initdata pxm_to_nid_map[MAX_PXM_DOMAINS]; extern int __initdata nid_to_pxm_map[MAX_NUMNODES]; #endif +extern u16 ia64_acpiid_to_sapicid[]; + #endif /*__KERNEL__*/ #endif /*_ASM_ACPI_H*/ diff --git a/include/asm-ia64/dma-mapping.h b/include/asm-ia64/dma-mapping.h index 8a6d5d72b..6347c9845 100644 --- a/include/asm-ia64/dma-mapping.h +++ b/include/asm-ia64/dma-mapping.h @@ -5,7 +5,7 @@ * Copyright (C) 2003-2004 Hewlett-Packard Co * David Mosberger-Tang */ - +#include #include #define dma_alloc_coherent platform_dma_alloc_coherent diff --git a/include/asm-ia64/gcc_intrin.h b/include/asm-ia64/gcc_intrin.h index 7d2b1e4cd..7c357dfba 100644 --- a/include/asm-ia64/gcc_intrin.h +++ b/include/asm-ia64/gcc_intrin.h @@ -259,35 +259,35 @@ register unsigned long ia64_r13 asm ("r13") __attribute_used__; ia64_intri_res; \ }) -#define ia64_xchg1(ptr,x) \ -({ \ - __u64 ia64_intri_res; \ - asm __volatile ("xchg1 %0=[%1],%2" : "=r" (ia64_intri_res) \ - : "r" (ptr), "r" (x) : "memory"); \ - ia64_intri_res; \ +#define ia64_xchg1(ptr,x) \ +({ \ + __u64 ia64_intri_res; \ + asm volatile ("xchg1 %0=[%1],%2" \ + : "=r" (ia64_intri_res) : "r" (ptr), "r" (x) : "memory"); \ + ia64_intri_res; \ }) #define ia64_xchg2(ptr,x) \ ({ \ __u64 ia64_intri_res; \ - asm __volatile ("xchg2 %0=[%1],%2" : "=r" (ia64_intri_res) \ - : "r" (ptr), "r" (x) : "memory"); \ + asm volatile ("xchg2 %0=[%1],%2" : "=r" (ia64_intri_res) \ + : "r" (ptr), "r" (x) : "memory"); \ ia64_intri_res; \ }) #define ia64_xchg4(ptr,x) \ ({ \ __u64 ia64_intri_res; \ - asm __volatile ("xchg4 %0=[%1],%2" : "=r" (ia64_intri_res) \ - : "r" (ptr), "r" (x) : "memory"); \ + asm volatile ("xchg4 %0=[%1],%2" : "=r" (ia64_intri_res) \ + : "r" (ptr), "r" (x) : "memory"); \ ia64_intri_res; \ }) #define ia64_xchg8(ptr,x) \ ({ \ __u64 ia64_intri_res; \ - asm __volatile ("xchg8 %0=[%1],%2" : "=r" (ia64_intri_res) \ - : "r" (ptr), "r" (x) : "memory"); \ + asm volatile ("xchg8 %0=[%1],%2" : "=r" (ia64_intri_res) \ + : "r" (ptr), "r" (x) : "memory"); \ ia64_intri_res; \ }) diff --git a/include/asm-ia64/ia32.h b/include/asm-ia64/ia32.h index 4fa4b8e12..8e746b241 100644 --- a/include/asm-ia64/ia32.h +++ b/include/asm-ia64/ia32.h @@ -6,7 +6,7 @@ #include #include -#define IA32_NR_syscalls 283 /* length of syscall table */ +#define IA32_NR_syscalls 285 /* length of syscall table */ #define IA32_PAGE_SHIFT 12 /* 4KB pages */ #ifndef __ASSEMBLY__ @@ -14,7 +14,7 @@ # ifdef CONFIG_IA32_SUPPORT extern void ia32_cpu_init (void); -extern void ia32_boot_gdt_init (void); +extern void ia32_mem_init (void); extern void ia32_gdt_init (void); extern int ia32_exception (struct pt_regs *regs, unsigned long isr); extern int ia32_intercept (struct pt_regs *regs, unsigned long isr); diff --git a/include/asm-ia64/iosapic.h b/include/asm-ia64/iosapic.h index 3fac17e98..b169975bb 100644 --- a/include/asm-ia64/iosapic.h +++ b/include/asm-ia64/iosapic.h @@ -53,19 +53,19 @@ #define NR_IOSAPICS 256 -static inline unsigned int iosapic_read(char *iosapic, unsigned int reg) +static inline unsigned int iosapic_read(char __iomem *iosapic, unsigned int reg) { writel(reg, iosapic + IOSAPIC_REG_SELECT); return readl(iosapic + IOSAPIC_WINDOW); } -static inline void iosapic_write(char *iosapic, unsigned int reg, u32 val) +static inline void iosapic_write(char __iomem *iosapic, unsigned int reg, u32 val) { writel(reg, iosapic + IOSAPIC_REG_SELECT); writel(val, iosapic + IOSAPIC_WINDOW); } -static inline void iosapic_eoi(char *iosapic, u32 vector) +static inline void iosapic_eoi(char __iomem *iosapic, u32 vector) { writel(vector, iosapic + IOSAPIC_EOI); } @@ -87,9 +87,12 @@ extern int __init iosapic_register_platform_intr (u32 int_type, u16 eid, u16 id, unsigned long polarity, unsigned long trigger); -extern unsigned int iosapic_version (char *addr); +extern unsigned int iosapic_version (char __iomem *addr); extern void iosapic_pci_fixup (int); +#ifdef CONFIG_NUMA +extern void __init map_iosapic_to_node (unsigned int, int); +#endif #else #define iosapic_system_init(pcat_compat) do { } while (0) #define iosapic_init(address,gsi_base) do { } while (0) diff --git a/include/asm-ia64/machvec_sn2.h b/include/asm-ia64/machvec_sn2.h index 9334851e1..1af6e39a1 100644 --- a/include/asm-ia64/machvec_sn2.h +++ b/include/asm-ia64/machvec_sn2.h @@ -117,6 +117,4 @@ extern ia64_mv_dma_supported sn_dma_supported; #define platform_dma_mapping_error sn_dma_mapping_error #define platform_dma_supported sn_dma_supported -#include - #endif /* _ASM_IA64_MACHVEC_SN2_H */ diff --git a/include/asm-ia64/module.h b/include/asm-ia64/module.h index 85c82bd81..bea61fd7a 100644 --- a/include/asm-ia64/module.h +++ b/include/asm-ia64/module.h @@ -23,9 +23,14 @@ struct mod_arch_specific { unsigned int next_got_entry; /* index of next available got entry */ }; +#define MODULES_ARE_ELF64 #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define Elf_Ehdr Elf64_Ehdr +#define Elf_Rel Elf64_Rel +#define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) #define MODULE_PROC_FAMILY "ia64" #define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY diff --git a/include/asm-ia64/page.h b/include/asm-ia64/page.h index 7b1e650cf..a149b4b70 100644 --- a/include/asm-ia64/page.h +++ b/include/asm-ia64/page.h @@ -84,10 +84,16 @@ extern int ia64_pfn_valid (unsigned long pfn); #endif #ifndef CONFIG_DISCONTIGMEM -#define pfn_valid(pfn) (((pfn) < max_mapnr) && ia64_pfn_valid(pfn)) -#define page_to_pfn(page) ((unsigned long) (page - mem_map)) -#define pfn_to_page(pfn) (mem_map + (pfn)) -#endif /* CONFIG_DISCONTIGMEM */ +# define pfn_valid(pfn) (((pfn) < max_mapnr) && ia64_pfn_valid(pfn)) +# define page_to_pfn(page) ((unsigned long) (page - mem_map)) +# define pfn_to_page(pfn) (mem_map + (pfn)) +#else +extern struct page *vmem_map; +extern unsigned long max_low_pfn; +# define pfn_valid(pfn) (((pfn) < max_low_pfn) && ia64_pfn_valid(pfn)) +# define page_to_pfn(page) ((unsigned long) (page - vmem_map)) +# define pfn_to_page(pfn) (vmem_map + (pfn)) +#endif #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) @@ -117,7 +123,7 @@ typedef union ia64_va { #define REGION_KERNEL 7 #ifdef CONFIG_HUGETLB_PAGE -# define htlbpage_to_page(x) ((REGION_NUMBER(x) << 61) \ +# define htlbpage_to_page(x) (((unsigned long) REGION_NUMBER(x) << 61) \ | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT))) # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) # define is_hugepage_only_range(addr, len) \ @@ -180,7 +186,7 @@ get_order (unsigned long size) # define __pgprot(x) (x) #endif /* !STRICT_MM_TYPECHECKS */ -#define PAGE_OFFSET 0xe000000000000000 +#define PAGE_OFFSET __IA64_UL_CONST(0xe000000000000000) #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC | \ diff --git a/include/asm-ia64/pal.h b/include/asm-ia64/pal.h index 7d47da05b..01a39527a 100644 --- a/include/asm-ia64/pal.h +++ b/include/asm-ia64/pal.h @@ -1531,7 +1531,7 @@ static inline s64 ia64_pal_tr_read (u64 reg_num, u64 tr_type, u64 *tr_buffer, pal_tr_valid_u_t *tr_valid) { struct ia64_pal_retval iprv; - PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)__pa(tr_buffer)); + PAL_CALL_PHYS_STK(iprv, PAL_VM_TR_READ, reg_num, tr_type,(u64)ia64_tpa(tr_buffer)); if (tr_valid) tr_valid->piv_val = iprv.v0; return iprv.status; diff --git a/include/asm-ia64/pci.h b/include/asm-ia64/pci.h index 86f7e8ee1..dfd58c28c 100644 --- a/include/asm-ia64/pci.h +++ b/include/asm-ia64/pci.h @@ -105,6 +105,8 @@ struct pci_controller { #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata) #define pci_domain_nr(busdev) (PCI_CONTROLLER(busdev)->segment) +extern struct pci_ops pci_root_ops; + static inline int pci_name_bus(char *name, struct pci_bus *bus) { if (pci_domain_nr(bus) == 0) { diff --git a/include/asm-ia64/pgtable.h b/include/asm-ia64/pgtable.h index 843396653..085ef89df 100644 --- a/include/asm-ia64/pgtable.h +++ b/include/asm-ia64/pgtable.h @@ -206,18 +206,18 @@ ia64_phys_addr_valid (unsigned long addr) #define RGN_SIZE (1UL << 61) #define RGN_KERNEL 7 -#define VMALLOC_START 0xa000000200000000 +#define VMALLOC_START 0xa000000200000000UL #ifdef CONFIG_VIRTUAL_MEM_MAP -# define VMALLOC_END_INIT (0xa000000000000000 + (1UL << (4*PAGE_SHIFT - 9))) +# define VMALLOC_END_INIT (0xa000000000000000UL + (1UL << (4*PAGE_SHIFT - 9))) # define VMALLOC_END vmalloc_end extern unsigned long vmalloc_end; #else -# define VMALLOC_END (0xa000000000000000 + (1UL << (4*PAGE_SHIFT - 9))) +# define VMALLOC_END (0xa000000000000000UL + (1UL << (4*PAGE_SHIFT - 9))) #endif /* fs/proc/kcore.c */ -#define kc_vaddr_to_offset(v) ((v) - 0xa000000000000000) -#define kc_offset_to_vaddr(o) ((o) + 0xa000000000000000) +#define kc_vaddr_to_offset(v) ((v) - 0xa000000000000000UL) +#define kc_offset_to_vaddr(o) ((o) + 0xa000000000000000UL) /* * Conversion functions: convert page frame number (pfn) and a protection value to a page @@ -520,7 +520,7 @@ do { \ # ifdef CONFIG_VIRTUAL_MEM_MAP /* arch mem_map init routine is needed due to holes in a virtual mem_map */ # define __HAVE_ARCH_MEMMAP_INIT - extern void memmap_init (struct page *start, unsigned long size, int nid, unsigned long zone, + extern void memmap_init (unsigned long size, int nid, unsigned long zone, unsigned long start_pfn); # endif /* CONFIG_VIRTUAL_MEM_MAP */ # endif /* !__ASSEMBLY__ */ diff --git a/include/asm-ia64/processor.h b/include/asm-ia64/processor.h index f62f93c29..9e1b61be5 100644 --- a/include/asm-ia64/processor.h +++ b/include/asm-ia64/processor.h @@ -28,8 +28,8 @@ #define IA64_NUM_PMC_REGS 32 #define IA64_NUM_PMD_REGS 32 -#define DEFAULT_MAP_BASE 0x2000000000000000 -#define DEFAULT_TASK_SIZE 0xa000000000000000 +#define DEFAULT_MAP_BASE __IA64_UL_CONST(0x2000000000000000) +#define DEFAULT_TASK_SIZE __IA64_UL_CONST(0xa000000000000000) /* * TASK_SIZE really is a mis-named. It really is the maximum user @@ -200,7 +200,7 @@ typedef struct { #define GET_UNALIGN_CTL(task,addr) \ ({ \ put_user(((task)->thread.flags & IA64_THREAD_UAC_MASK) >> IA64_THREAD_UAC_SHIFT, \ - (int *) (addr)); \ + (int __user *) (addr)); \ }) #define SET_FPEMU_CTL(task,value) \ @@ -212,7 +212,7 @@ typedef struct { #define GET_FPEMU_CTL(task,addr) \ ({ \ put_user(((task)->thread.flags & IA64_THREAD_FPEMU_MASK) >> IA64_THREAD_FPEMU_SHIFT, \ - (int *) (addr)); \ + (int __user *) (addr)); \ }) #ifdef CONFIG_IA32_SUPPORT @@ -262,7 +262,7 @@ struct thread_struct { .fdr = 0, \ .old_k1 = 0, \ .old_iob = 0, \ - .ppl = 0, + .ppl = NULL, #else # define INIT_THREAD_IA32 #endif /* CONFIG_IA32_SUPPORT */ @@ -334,6 +334,26 @@ struct task_struct; /* Prepare to copy thread state - unlazy all lazy status */ #define prepare_to_copy(tsk) do { } while (0) +#ifdef CONFIG_NUMA +#define SD_NODE_INIT (struct sched_domain) { \ + .span = CPU_MASK_NONE, \ + .parent = NULL, \ + .groups = NULL, \ + .min_interval = 80, \ + .max_interval = 320, \ + .busy_factor = 320, \ + .imbalance_pct = 125, \ + .cache_hot_time = (10*1000000), \ + .cache_nice_tries = 1, \ + .per_cpu_gain = 100, \ + .flags = SD_BALANCE_EXEC \ + | SD_WAKE_BALANCE, \ + .last_balance = jiffies, \ + .balance_interval = 10, \ + .nr_balance_failed = 0, \ +} +#endif + /* * This is the mechanism for creating a new kernel thread. * diff --git a/include/asm-ia64/resource.h b/include/asm-ia64/resource.h index d4f90c2e1..52a737eab 100644 --- a/include/asm-ia64/resource.h +++ b/include/asm-ia64/resource.h @@ -46,7 +46,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-ia64/signal.h b/include/asm-ia64/signal.h index f24615df3..e051dc399 100644 --- a/include/asm-ia64/signal.h +++ b/include/asm-ia64/signal.h @@ -144,10 +144,10 @@ struct siginfo; /* Type of a signal handler. */ -typedef void (*__sighandler_t)(int); +typedef void __user (*__sighandler_t)(int); typedef struct sigaltstack { - void *ss_sp; + void __user *ss_sp; int ss_flags; size_t ss_size; } stack_t; diff --git a/include/asm-ia64/smp.h b/include/asm-ia64/smp.h index 513c704d1..d6838c9b7 100644 --- a/include/asm-ia64/smp.h +++ b/include/asm-ia64/smp.h @@ -39,7 +39,7 @@ extern struct smp_boot_data { extern char no_int_routing __devinitdata; extern cpumask_t cpu_online_map; -extern unsigned long ipi_base_addr; +extern void __iomem *ipi_base_addr; extern unsigned char smp_int_redirect; extern volatile int ia64_cpu_to_sapicid[]; @@ -73,21 +73,21 @@ static inline void min_xtp (void) { if (smp_int_redirect & SMP_IRQ_REDIRECTION) - writeb(0x00, ipi_base_addr | XTP_OFFSET); /* XTP to min */ + writeb(0x00, ipi_base_addr + XTP_OFFSET); /* XTP to min */ } static inline void normal_xtp (void) { if (smp_int_redirect & SMP_IRQ_REDIRECTION) - writeb(0x08, ipi_base_addr | XTP_OFFSET); /* XTP normal */ + writeb(0x08, ipi_base_addr + XTP_OFFSET); /* XTP normal */ } static inline void max_xtp (void) { if (smp_int_redirect & SMP_IRQ_REDIRECTION) - writeb(0x0f, ipi_base_addr | XTP_OFFSET); /* Set XTP to max */ + writeb(0x0f, ipi_base_addr + XTP_OFFSET); /* Set XTP to max */ } static inline unsigned int diff --git a/include/asm-ia64/sn/addrs.h b/include/asm-ia64/sn/addrs.h index 550365c7f..1220d1f12 100644 --- a/include/asm-ia64/sn/addrs.h +++ b/include/asm-ia64/sn/addrs.h @@ -3,20 +3,192 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 1992-1999,2001-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (c) 1992-1999,2001-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_ADDRS_H #define _ASM_IA64_SN_ADDRS_H -#include + +/* McKinley Address Format: + * + * 4 4 3 3 3 3 + * 9 8 8 7 6 5 0 + * +-+---------+----+--------------+ + * |0| Node ID | AS | Node Offset | + * +-+---------+----+--------------+ + * + * Node ID: If bit 38 = 1, is ICE, else is SHUB + * AS: Address Space Identifier. Used only if bit 38 = 0. + * b'00: Local Resources and MMR space + * bit 35 + * 0: Local resources space + * node id: + * 0: IA64/NT compatibility space + * 2: Local MMR Space + * 4: Local memory, regardless of local node id + * 1: Global MMR space + * b'01: GET space. + * b'10: AMO space. + * b'11: Cacheable memory space. + * + * NodeOffset: byte offset + */ + +/* TIO address format: + * 4 4 3 3 3 3 3 0 + * 9 8 8 7 6 5 4 + * +-+----------+-+---+--------------+ + * |0| Node ID |0|CID| Node offset | + * +-+----------+-+---+--------------+ + * + * Node ID: if bit 38 == 1, is ICE. + * Bit 37: Must be zero. + * CID: Chiplet ID: + * b'01: TIO LB (Indicates TIO MMR access.) + * b'11: TIO ICE (indicates coretalk space access.) + * Node offset: byte offest. + */ + +/* + * Note that in both of the above address formats, bit + * 35 set indicates that the reference is to the + * shub or tio MMRs. + */ #ifndef __ASSEMBLY__ -#include -#endif +typedef union ia64_sn2_pa { + struct { + unsigned long off : 36; + unsigned long as : 2; + unsigned long nasid: 11; + unsigned long fill : 15; + } f; + unsigned long l; + void *p; +} ia64_sn2_pa_t; +#endif + +#define TO_PHYS_MASK 0x0001ffcfffffffffUL /* Note - clear AS bits */ + + +/* Regions determined by AS */ +#define LOCAL_MMR_SPACE 0xc000008000000000UL /* Local MMR space */ +#define LOCAL_PHYS_MMR_SPACE 0x8000008000000000UL /* Local PhysicalMMR space */ +#define LOCAL_MEM_SPACE 0xc000010000000000UL /* Local Memory space */ +/* It so happens that setting bit 35 indicates a reference to the SHUB or TIO + * MMR space. + */ +#define GLOBAL_MMR_SPACE 0xc000000800000000UL /* Global MMR space */ +#define TIO_MMR_SPACE 0xc000000800000000UL /* TIO MMR space */ +#define ICE_MMR_SPACE 0xc000000000000000UL /* ICE MMR space */ +#define GLOBAL_PHYS_MMR_SPACE 0x0000000800000000UL /* Global Physical MMR space */ +#define GET_SPACE 0xe000001000000000UL /* GET space */ +#define AMO_SPACE 0xc000002000000000UL /* AMO space */ +#define CACHEABLE_MEM_SPACE 0xe000003000000000UL /* Cacheable memory space */ +#define UNCACHED 0xc000000000000000UL /* UnCacheable memory space */ +#define UNCACHED_PHYS 0x8000000000000000UL /* UnCacheable physical memory space */ + +#define PHYS_MEM_SPACE 0x0000003000000000UL /* physical memory space */ + +/* SN2 address macros */ +/* NID_SHFT has the right value for both SHUB and TIO addresses.*/ +#define NID_SHFT 38 +#define LOCAL_MMR_ADDR(a) (UNCACHED | LOCAL_MMR_SPACE | (a)) +#define LOCAL_MMR_PHYS_ADDR(a) (UNCACHED_PHYS | LOCAL_PHYS_MMR_SPACE | (a)) +#define LOCAL_MEM_ADDR(a) (LOCAL_MEM_SPACE | (a)) +#define REMOTE_ADDR(n,a) ((((unsigned long)(n))< */ +#define BWIN_SIZE_BITS 29 /* big window size: 512M */ +#define TIO_BWIN_SIZE_BITS 30 /* big window size: 1G */ +#define NASID_BITS 11 /* bits <48:38> */ +#define NASID_BITMASK (0x7ffULL) +#define NASID_SHFT NID_SHFT +#define NASID_META_BITS 0 /* ???? */ +#define NASID_LOCAL_BITS 7 /* same router as SN1 */ + +#define NODE_ADDRSPACE_SIZE (1UL << NODE_SIZE_BITS) +#define NASID_MASK ((uint64_t) NASID_BITMASK << NASID_SHFT) +#define NASID_GET(_pa) (int) (((uint64_t) (_pa) >> \ + NASID_SHFT) & NASID_BITMASK) +#define PHYS_TO_DMA(x) ( ((x & NASID_MASK) >> 2) | \ + (x & (NODE_ADDRSPACE_SIZE - 1)) ) + +/* + * This address requires a chiplet id in bits 38-39. For DMA to memory, + * the chiplet id is zero. If we implement TIO-TIO dma, we might need + * to insert a chiplet id into this macro. However, it is our belief + * right now that this chiplet id will be ICE, which is also zero. + */ +#define PHYS_TO_TIODMA(x) ( ((x & NASID_MASK) << 2) | \ + (x & (NODE_ADDRSPACE_SIZE - 1)) ) + +#define CHANGE_NASID(n,x) ({ia64_sn2_pa_t _v; _v.l = (long) (x); _v.f.nasid = n; _v.p;}) -#define HUBREG_CAST (volatile mmr_t *) +#ifndef __ASSEMBLY__ +#define NODE_SWIN_BASE(nasid, widget) \ + ((widget == 0) ? NODE_BWIN_BASE((nasid), SWIN0_BIGWIN) \ + : RAW_NODE_SWIN_BASE(nasid, widget)) +#else +#define NODE_SWIN_BASE(nasid, widget) \ + (NODE_IO_BASE(nasid) + ((uint64_t) (widget) << SWIN_SIZE_BITS)) +#define LOCAL_SWIN_BASE(widget) \ + (UNCACHED | LOCAL_MMR_SPACE | (((uint64_t) (widget) << SWIN_SIZE_BITS))) +#endif /* __ASSEMBLY__ */ + +/* + * The following definitions pertain to the IO special address + * space. They define the location of the big and little windows + * of any given node. + */ + +#define BWIN_SIZE (1UL << BWIN_SIZE_BITS) +#define BWIN_SIZEMASK (BWIN_SIZE - 1) +#define BWIN_WIDGET_MASK 0x7 +#define NODE_BWIN_BASE0(nasid) (NODE_IO_BASE(nasid) + BWIN_SIZE) +#define NODE_BWIN_BASE(nasid, bigwin) (NODE_BWIN_BASE0(nasid) + \ + ((uint64_t) (bigwin) << BWIN_SIZE_BITS)) + +#define BWIN_WIDGETADDR(addr) ((addr) & BWIN_SIZEMASK) +#define BWIN_WINDOWNUM(addr) (((addr) >> BWIN_SIZE_BITS) & BWIN_WIDGET_MASK) + +#define TIO_BWIN_WINDOW_SELECT_MASK 0x7 +#define TIO_BWIN_WINDOWNUM(addr) (((addr) >> TIO_BWIN_SIZE_BITS) & TIO_BWIN_WINDOW_SELECT_MASK) + + +#ifndef __ASSEMBLY__ +#include +#endif /* * The following macros are used to index to the beginning of a specific @@ -31,17 +203,11 @@ #define NODE_MSPEC_BASE(_n) (MSPEC_BASE + NODE_OFFSET(_n)) #define NODE_UNCAC_BASE(_n) (UNCAC_BASE + NODE_OFFSET(_n)) -#define TO_NODE(_n, _x) (NODE_OFFSET(_n) | ((_x) )) #define TO_NODE_CAC(_n, _x) (NODE_CAC_BASE(_n) | ((_x) & TO_PHYS_MASK)) -#define TO_NODE_UNCAC(_n, _x) (NODE_UNCAC_BASE(_n) | ((_x) & TO_PHYS_MASK)) -#define TO_NODE_MSPEC(_n, _x) (NODE_MSPEC_BASE(_n) | ((_x) & TO_PHYS_MASK)) -#define TO_NODE_HSPEC(_n, _x) (NODE_HSPEC_BASE(_n) | ((_x) & TO_PHYS_MASK)) - #define RAW_NODE_SWIN_BASE(nasid, widget) \ (NODE_IO_BASE(nasid) + ((uint64_t) (widget) << SWIN_SIZE_BITS)) -#define WIDGETID_GET(addr) ((unsigned char)((addr >> SWIN_SIZE_BITS) & 0xff)) /* * The following definitions pertain to the IO special address @@ -54,43 +220,20 @@ #define SWIN_SIZEMASK (SWIN_SIZE - 1) #define SWIN_WIDGET_MASK 0xF +#define TIO_SWIN_SIZE_BITS 28 +#define TIO_SWIN_SIZE (1UL << 28) +#define TIO_SWIN_SIZEMASK (SWIN_SIZE - 1) +#define TIO_SWIN_WIDGET_MASK 0x3 + /* * Convert smallwindow address to xtalk address. * * 'addr' can be physical or virtual address, but will be converted * to Xtalk address in the range 0 -> SWINZ_SIZEMASK */ -#define SWIN_WIDGETADDR(addr) ((addr) & SWIN_SIZEMASK) #define SWIN_WIDGETNUM(addr) (((addr) >> SWIN_SIZE_BITS) & SWIN_WIDGET_MASK) -/* - * Verify if addr belongs to small window address on node with "nasid" - * - * - * NOTE: "addr" is expected to be XKPHYS address, and NOT physical - * address - * - * - */ -#define NODE_SWIN_ADDR(nasid, addr) \ - (((addr) >= NODE_SWIN_BASE(nasid, 0)) && \ - ((addr) < (NODE_SWIN_BASE(nasid, HUB_NUM_WIDGET) + SWIN_SIZE)\ - )) -/* - * The following define the major position-independent aliases used - * in SN. - * LBOOT -- 256MB in size, reads in the LBOOT area result in - * uncached references to the local hub's boot prom and - * other directory-bus connected devices. - * IALIAS -- 8MB in size, reads in the IALIAS result in uncached - * references to the local hub's registers. - */ - -#define HUB_REGISTER_WIDGET 1 -#define IALIAS_BASE LOCAL_SWIN_BASE(HUB_REGISTER_WIDGET) -#define IALIAS_SIZE 0x800000 /* 8 Megabytes */ -#define IS_IALIAS(_a) (((_a) >= IALIAS_BASE) && \ - ((_a) < (IALIAS_BASE + IALIAS_SIZE))) +#define TIO_SWIN_WIDGETNUM(addr) (((addr) >> TIO_SWIN_SIZE_BITS) & TIO_SWIN_WIDGET_MASK) /* * The following macros produce the correct base virtual address for @@ -107,15 +250,13 @@ * As all other non-II mmr's located at the top of big window * space. */ -#define LOCAL_HUB_BASE(_x) (LOCAL_MMR_ADDR(_x) | (((~(_x)) & BWIN_TOP)>>8)) #define REMOTE_HUB_BASE(_x) \ (UNCACHED | GLOBAL_MMR_SPACE | \ (((~(_x)) & BWIN_TOP)>>8) | \ (((~(_x)) & BWIN_TOP)>>9) | (_x)) -#define LOCAL_HUB(_x) (HUBREG_CAST LOCAL_HUB_BASE(_x)) #define REMOTE_HUB(_n, _x) \ - (HUBREG_CAST (REMOTE_HUB_BASE(_x) | ((((long)(_n))<size - -#define GDA_ADDR(nasid) KLD_GDA(nasid)->pointer -#define GDA_SIZE(nasid) KLD_GDA(nasid)->size - -#define NODE_OFFSET_TO_K0(_nasid, _off) \ - (CACHEABLE_MEM_SPACE | NODE_OFFSET(_nasid) | (_off)) - -#endif /* __ASSEMBLY__ */ - #endif /* _ASM_IA64_SN_ADDRS_H */ diff --git a/include/asm-ia64/sn/arch.h b/include/asm-ia64/sn/arch.h index 0faf9d7dd..8075781ad 100644 --- a/include/asm-ia64/sn/arch.h +++ b/include/asm-ia64/sn/arch.h @@ -5,7 +5,7 @@ * * SGI specific setup. * - * Copyright (C) 1995-1997,1999,2001-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1995-1997,1999,2001-2004 Silicon Graphics, Inc. All rights reserved. * Copyright (C) 1999 Ralf Baechle (ralf@gnu.org) */ #ifndef _ASM_IA64_SN_ARCH_H @@ -15,20 +15,13 @@ #include #include -typedef u64 shubreg_t; -typedef u64 hubreg_t; -typedef u64 mmr_t; -typedef u64 nic_t; - -#define INVALID_NASID ((nasid_t)-1) -#define INVALID_CNODEID ((cnodeid_t)-1) -#define INVALID_PNODEID ((pnodeid_t)-1) -#define INVALID_SLAB (slabid_t)-1 -#define INVALID_MODULE ((moduleid_t)-1) -#define INVALID_PARTID ((partid_t)-1) +/* + * This is the maximum number of nodes that can be part of a kernel. + * Effectively, it's the maximum number of compact node ids (cnodeid_t). + * This is not necessarily the same as MAX_NASIDS. + */ +#define MAX_COMPACT_NODES 2048 -extern cpuid_t cnodetocpu(cnodeid_t); extern void sn_flush_all_caches(long addr, long bytes); -extern int is_fine_dirmode(void); #endif /* _ASM_IA64_SN_ARCH_H */ diff --git a/include/asm-ia64/sn/bte.h b/include/asm-ia64/sn/bte.h index 1b643d1e0..0ec27f99c 100644 --- a/include/asm-ia64/sn/bte.h +++ b/include/asm-ia64/sn/bte.h @@ -55,7 +55,9 @@ /* macro to force the IBCT0 value valid */ #define BTE_VALID_MODE(x) ((x) & (IBCT_NOTIFY | IBCT_ZFIL_MODE)) -#define BTE_ACTIVE (IBLS_BUSY | IBLS_ERROR) +#define BTE_ACTIVE (IBLS_BUSY | IBLS_ERROR) +#define BTE_WORD_AVAILABLE (IBLS_BUSY << 1) +#define BTE_WORD_BUSY (~BTE_WORD_AVAILABLE) /* * Some macros to simplify reading. diff --git a/include/asm-ia64/sn/clksupport.h b/include/asm-ia64/sn/clksupport.h index 2960e6ec1..d340c365a 100644 --- a/include/asm-ia64/sn/clksupport.h +++ b/include/asm-ia64/sn/clksupport.h @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ /* @@ -14,39 +14,15 @@ * * RTC_COUNTER_ADDR - contains the address of the counter * - * GET_RTC_COUNTER() - macro to read the value of the clock - * - * RTC_CYCLES_PER_SEC - clock frequency in ticks per second - * */ #ifndef _ASM_IA64_SN_CLKSUPPORT_H #define _ASM_IA64_SN_CLKSUPPORT_H -#include -#include -#include -#include -#include - -typedef long clkreg_t; - extern unsigned long sn_rtc_cycles_per_second; -extern unsigned long sn_rtc_per_itc; - -#define RTC_MASK SH_RTC_MASK -#define RTC_COUNTER_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_COMPARE_A_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_COMPARE_B_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_INT_PENDING_A_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_INT_PENDING_B_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_INT_ENABLED_A_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_INT_ENABLED_B_ADDR ((clkreg_t*)LOCAL_MMR_ADDR(SH_RTC)) -#define SN_RTC_PER_ITC_SHIFT 34 -#define GET_RTC_COUNTER() (*RTC_COUNTER_ADDR) -#define rtc_time() GET_RTC_COUNTER() +#define RTC_COUNTER_ADDR ((long *)LOCAL_MMR_ADDR(SH_RTC)) -#define RTC_CYCLES_PER_SEC sn_rtc_cycles_per_second +#define rtc_time() (*RTC_COUNTER_ADDR) #endif /* _ASM_IA64_SN_CLKSUPPORT_H */ diff --git a/include/asm-ia64/sn/fetchop.h b/include/asm-ia64/sn/fetchop.h index 2fb5cfc77..5f4ad8f4b 100644 --- a/include/asm-ia64/sn/fetchop.h +++ b/include/asm-ia64/sn/fetchop.h @@ -4,7 +4,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 2001-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (c) 2001-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_FETCHOP_H diff --git a/include/asm-ia64/sn/geo.h b/include/asm-ia64/sn/geo.h index f8060cd7e..f566343d2 100644 --- a/include/asm-ia64/sn/geo.h +++ b/include/asm-ia64/sn/geo.h @@ -3,43 +3,122 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_GEO_H #define _ASM_IA64_SN_GEO_H -/* Include a platform-specific geo.h. It must define at least: - * geoid_t: Geographic identifier data type - * geo_type_t: Data type for the kind of geoid this is - * GEO_TYPE_xxx: Values for geo_type_t vars, eg. GEO_TYPE_NODE - * GEO_MAX_LEN: The maximum length of a geoid, formatted for printing - */ +/* The geoid_t implementation below is based loosely on the pcfg_t + implementation in sys/SN/promcfg.h. */ + +/* Type declaractions */ + +/* Size of a geoid_t structure (must be before decl. of geoid_u) */ +#define GEOID_SIZE 8 /* Would 16 be better? The size can + be different on different platforms. */ + +#define MAX_SLABS 0xe /* slabs per module */ + +typedef unsigned char geo_type_t; + +/* Fields common to all substructures */ +typedef struct geo_any_s { + moduleid_t module; /* The module (box) this h/w lives in */ + geo_type_t type; /* What type of h/w is named by this geoid_t */ + slabid_t slab; /* The logical assembly within the module */ +} geo_any_t; + +/* Additional fields for particular types of hardware */ +typedef struct geo_node_s { + geo_any_t any; /* No additional fields needed */ +} geo_node_t; + +typedef struct geo_rtr_s { + geo_any_t any; /* No additional fields needed */ +} geo_rtr_t; + +typedef struct geo_iocntl_s { + geo_any_t any; /* No additional fields needed */ +} geo_iocntl_t; + +typedef struct geo_pcicard_s { + geo_iocntl_t any; + char bus; /* Bus/widget number */ + char slot; /* PCI slot number */ +} geo_pcicard_t; + +/* Subcomponents of a node */ +typedef struct geo_cpu_s { + geo_node_t node; + char slice; /* Which CPU on the node */ +} geo_cpu_t; + +typedef struct geo_mem_s { + geo_node_t node; + char membus; /* The memory bus on the node */ + char memslot; /* The memory slot on the bus */ +} geo_mem_t; + + +typedef union geoid_u { + geo_any_t any; + geo_node_t node; + geo_iocntl_t iocntl; + geo_pcicard_t pcicard; + geo_rtr_t rtr; + geo_cpu_t cpu; + geo_mem_t mem; + char padsize[GEOID_SIZE]; +} geoid_t; + + +/* Preprocessor macros */ + +#define GEO_MAX_LEN 48 /* max. formatted length, plus some pad: + module/001c07/slab/5/node/memory/2/slot/4 */ -#include +/* Values for geo_type_t */ +#define GEO_TYPE_INVALID 0 +#define GEO_TYPE_MODULE 1 +#define GEO_TYPE_NODE 2 +#define GEO_TYPE_RTR 3 +#define GEO_TYPE_IOCNTL 4 +#define GEO_TYPE_IOCARD 5 +#define GEO_TYPE_CPU 6 +#define GEO_TYPE_MEM 7 +#define GEO_TYPE_MAX (GEO_TYPE_MEM+1) -/* Declarations applicable to all platforms */ +/* Parameter for hwcfg_format_geoid_compt() */ +#define GEO_COMPT_MODULE 1 +#define GEO_COMPT_SLAB 2 +#define GEO_COMPT_IOBUS 3 +#define GEO_COMPT_IOSLOT 4 +#define GEO_COMPT_CPU 5 +#define GEO_COMPT_MEMBUS 6 +#define GEO_COMPT_MEMSLOT 7 -/* parameter for hwcfg_format_geoid() */ -#define GEO_FORMAT_HWGRAPH 1 -#define GEO_FORMAT_BRIEF 2 +#define GEO_INVALID_STR "" -/* (the parameter for hwcfg_format_geoid_compt() is defined in the - * platform-specific geo.h file) */ +#define INVALID_NASID ((nasid_t)-1) +#define INVALID_CNODEID ((cnodeid_t)-1) +#define INVALID_PNODEID ((pnodeid_t)-1) +#define INVALID_SLAB (slabid_t)-1 +#define INVALID_MODULE ((moduleid_t)-1) +#define INVALID_PARTID ((partid_t)-1) -/* Routines for manipulating geoid_t values */ +static inline slabid_t geo_slab(geoid_t g) +{ + return (g.any.type == GEO_TYPE_INVALID) ? + INVALID_SLAB : g.any.slab; +} -extern moduleid_t geo_module(geoid_t g); -extern slabid_t geo_slab(geoid_t g); -extern geo_type_t geo_type(geoid_t g); -extern int geo_valid(geoid_t g); -extern int geo_cmp(geoid_t g0, geoid_t g1); -extern geoid_t geo_new(geo_type_t type, ...); +static inline moduleid_t geo_module(geoid_t g) +{ + return (g.any.type == GEO_TYPE_INVALID) ? + INVALID_MODULE : g.any.module; +} -extern geoid_t hwcfg_parse_geoid(char *buffer); -extern void hwcfg_format_geoid(char *buffer, geoid_t m, int fmt); -extern void hwcfg_format_geoid_compt(char *buffer, geoid_t m, int compt); -extern geoid_t hwcfg_geo_get_self(geo_type_t type); -extern geoid_t hwcfg_geo_get_by_nasid(geo_type_t type, nasid_t nasid); +extern geoid_t cnodeid_get_geoid(cnodeid_t cnode); #endif /* _ASM_IA64_SN_GEO_H */ diff --git a/include/asm-ia64/sn/intr.h b/include/asm-ia64/sn/intr.h index d2e8a0aa5..3d2f6c314 100644 --- a/include/asm-ia64/sn/intr.h +++ b/include/asm-ia64/sn/intr.h @@ -3,19 +3,48 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. */ + #ifndef _ASM_IA64_SN_INTR_H #define _ASM_IA64_SN_INTR_H -#include -#include +#define SGI_UART_VECTOR (0xe9) +#define SGI_PCIBR_ERROR (0x33) + +// These two IRQ's are used by partitioning. +#define SGI_XPC_ACTIVATE (0x30) +#define SGI_II_ERROR (0x31) +#define SGI_XBOW_ERROR (0x32) +#define SGI_PCIBR_ERROR (0x33) +#define SGI_ACPI_SCI_INT (0x34) +#define SGI_TIO_ERROR (0x36) +#define SGI_XPC_NOTIFY (0xe7) + +#define SN2_IRQ_RESERVED (0x1) +#define SN2_IRQ_CONNECTED (0x2) +#define SN2_IRQ_SHARED (0x4) + +// The SN PROM irq struct +struct sn_irq_info { + struct sn_irq_info *irq_next; /* sharing irq list */ + short irq_nasid; /* Nasid IRQ is assigned to */ + int irq_slice; /* slice IRQ is assigned to */ + int irq_cpuid; /* kernel logical cpuid */ + int irq_irq; /* the IRQ number */ + int irq_int_bit; /* Bridge interrupt pin */ + uint64_t irq_xtalkaddr; /* xtalkaddr IRQ is sent to */ + int irq_bridge_type;/* pciio asic type (pciio.h) */ + void *irq_bridge; /* bridge generating irq */ + void *irq_pciioinfo; /* associated pciio_info_t */ + int irq_last_intr; /* For Shub lb lost intr WAR */ + int irq_cookie; /* unique cookie */ + int irq_flags; /* flags */ + int irq_share_cnt; /* num devices sharing IRQ */ +}; -extern void sn_send_IPI_phys(long, int, int); -extern void intr_init_vecblk(cnodeid_t node); +extern void sn_send_IPI_phys(int, long, int, int); #define CPU_VECTOR_TO_IRQ(cpuid,vector) (vector) -#define SN_CPU_FROM_IRQ(irq) (0) -#define SN_IVEC_FROM_IRQ(irq) (irq) #endif /* _ASM_IA64_SN_INTR_H */ diff --git a/include/asm-ia64/sn/io.h b/include/asm-ia64/sn/io.h index 4ca04bcbd..42209733f 100644 --- a/include/asm-ia64/sn/io.h +++ b/include/asm-ia64/sn/io.h @@ -1,65 +1,265 @@ -/* +/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 2000-2003 Silicon Graphics, Inc. All Rights Reserved. - * Copyright (C) 2000 Ralf Baechle + * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ -#ifndef _ASM_IA64_SN_IO_H -#define _ASM_IA64_SN_IO_H -#include +#ifndef _ASM_SN_IO_H +#define _ASM_SN_IO_H +#include +#include + +extern void * sn_io_addr(unsigned long port) __attribute_const__; /* Forward definition */ +extern void __sn_mmiowb(void); /* Forward definition */ + +extern int numionodes; + +#define __sn_mf_a() ia64_mfa() + +extern void sn_dma_flush(unsigned long); + +#define __sn_inb ___sn_inb +#define __sn_inw ___sn_inw +#define __sn_inl ___sn_inl +#define __sn_outb ___sn_outb +#define __sn_outw ___sn_outw +#define __sn_outl ___sn_outl +#define __sn_readb ___sn_readb +#define __sn_readw ___sn_readw +#define __sn_readl ___sn_readl +#define __sn_readq ___sn_readq +#define __sn_readb_relaxed ___sn_readb_relaxed +#define __sn_readw_relaxed ___sn_readw_relaxed +#define __sn_readl_relaxed ___sn_readl_relaxed +#define __sn_readq_relaxed ___sn_readq_relaxed + +/* + * The following routines are SN Platform specific, called when + * a reference is made to inX/outX set macros. SN Platform + * inX set of macros ensures that Posted DMA writes on the + * Bridge is flushed. + * + * The routines should be self explainatory. + */ -/* Because we only have PCI I/O ports. */ -#define IIO_ITTE_BASE 0x400160 /* base of translation table entries */ -#define IIO_ITTE(bigwin) (IIO_ITTE_BASE + 8*(bigwin)) +static inline unsigned int +___sn_inb (unsigned long port) +{ + volatile unsigned char *addr; + unsigned char ret = -1; -#define IIO_ITTE_OFFSET_BITS 5 /* size of offset field */ -#define IIO_ITTE_OFFSET_MASK ((1<> BWIN_SIZE_BITS) & \ - IIO_ITTE_OFFSET_MASK) << IIO_ITTE_OFFSET_SHIFT) | \ - (io_or_mem << IIO_ITTE_IOSP_SHIFT) | \ - (((widget) & IIO_ITTE_WIDGET_MASK) << IIO_ITTE_WIDGET_SHIFT))) + if ((addr = sn_io_addr(port))) { + ret = *addr; + __sn_mf_a(); + sn_dma_flush((unsigned long)addr); + } + return ret; +} -#define IIO_ITTE_DISABLE(nasid, bigwin) \ - IIO_ITTE_PUT((nasid), (bigwin), HUB_PIO_MAP_TO_MEM, \ - IIO_ITTE_INVALID_WIDGET, 0) +static inline void +___sn_outb (unsigned char val, unsigned long port) +{ + volatile unsigned char *addr; -#define IIO_ITTE_GET(nasid, bigwin) REMOTE_HUB_ADDR((nasid), IIO_ITTE(bigwin)) + if ((addr = sn_io_addr(port))) { + *addr = val; + __sn_mmiowb(); + } +} + +static inline void +___sn_outw (unsigned short val, unsigned long port) +{ + volatile unsigned short *addr; + + if ((addr = sn_io_addr(port))) { + *addr = val; + __sn_mmiowb(); + } +} + +static inline void +___sn_outl (unsigned int val, unsigned long port) +{ + volatile unsigned int *addr; + + if ((addr = sn_io_addr(port))) { + *addr = val; + __sn_mmiowb(); + } +} /* - * Macro which takes the widget number, and returns the - * IO PRB address of that widget. - * value _x is expected to be a widget number in the range - * 0, 8 - 0xF + * The following routines are SN Platform specific, called when + * a reference is made to readX/writeX set macros. SN Platform + * readX set of macros ensures that Posted DMA writes on the + * Bridge is flushed. + * + * The routines should be self explainatory. */ -#define IIO_IOPRB(_x) (IIO_IOPRB_0 + ( ( (_x) < HUB_WIDGET_ID_MIN ? \ - (_x) : \ - (_x) - (HUB_WIDGET_ID_MIN-1)) << 3) ) -#include -#include +static inline unsigned char +___sn_readb (const volatile void __iomem *addr) +{ + unsigned char val; + + val = *(volatile unsigned char __force *)addr; + __sn_mf_a(); + sn_dma_flush((unsigned long)addr); + return val; +} + +static inline unsigned short +___sn_readw (const volatile void __iomem *addr) +{ + unsigned short val; + + val = *(volatile unsigned short __force *)addr; + __sn_mf_a(); + sn_dma_flush((unsigned long)addr); + return val; +} + +static inline unsigned int +___sn_readl (const volatile void __iomem *addr) +{ + unsigned int val; + + val = *(volatile unsigned int __force *)addr; + __sn_mf_a(); + sn_dma_flush((unsigned long)addr); + return val; +} + +static inline unsigned long +___sn_readq (const volatile void __iomem *addr) +{ + unsigned long val; + + val = *(volatile unsigned long __force *)addr; + __sn_mf_a(); + sn_dma_flush((unsigned long)addr); + return val; +} /* - * Used to ensure write ordering (like mb(), but for I/O space) + * For generic and SN2 kernels, we have a set of fast access + * PIO macros. These macros are provided on SN Platform + * because the normal inX and readX macros perform an + * additional task of flushing Post DMA request on the Bridge. + * + * These routines should be self explainatory. */ -extern void sn_mmiob(void); -#endif /* _ASM_IA64_SN_IO_H */ +static inline unsigned int +sn_inb_fast (unsigned long port) +{ + volatile unsigned char *addr = (unsigned char *)port; + unsigned char ret; + + ret = *addr; + __sn_mf_a(); + return ret; +} + +static inline unsigned int +sn_inw_fast (unsigned long port) +{ + volatile unsigned short *addr = (unsigned short *)port; + unsigned short ret; + + ret = *addr; + __sn_mf_a(); + return ret; +} + +static inline unsigned int +sn_inl_fast (unsigned long port) +{ + volatile unsigned int *addr = (unsigned int *)port; + unsigned int ret; + + ret = *addr; + __sn_mf_a(); + return ret; +} + +static inline unsigned char +___sn_readb_relaxed (const volatile void __iomem *addr) +{ + return *(volatile unsigned char __force *)addr; +} + +static inline unsigned short +___sn_readw_relaxed (const volatile void __iomem *addr) +{ + return *(volatile unsigned short __force *)addr; +} + +static inline unsigned int +___sn_readl_relaxed (const volatile void __iomem *addr) +{ + return *(volatile unsigned int __force *) addr; +} + +static inline unsigned long +___sn_readq_relaxed (const volatile void __iomem *addr) +{ + return *(volatile unsigned long __force *) addr; +} + +struct pci_dev; + +static inline int +sn_pci_set_vchan(struct pci_dev *pci_dev, unsigned long *addr, int vchan) +{ + + if (vchan > 1) { + return -1; + } + + if (!(*addr >> 32)) /* Using a mask here would be cleaner */ + return 0; /* but this generates better code */ + + if (vchan == 1) { + /* Set Bit 57 */ + *addr |= (1UL << 57); + } else { + /* Clear Bit 57 */ + *addr &= ~(1UL << 57); + } + + return 0; +} + +#endif /* _ASM_SN_IO_H */ diff --git a/include/asm-ia64/sn/klconfig.h b/include/asm-ia64/sn/klconfig.h index 781b0e003..37dd829bc 100644 --- a/include/asm-ia64/sn/klconfig.h +++ b/include/asm-ia64/sn/klconfig.h @@ -5,7 +5,7 @@ * * Derived from IRIX . * - * Copyright (C) 1992-1997,1999,2001-2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (C) 1992-1997,1999,2001-2004 Silicon Graphics, Inc. All Rights Reserved. * Copyright (C) 1999 by Ralf Baechle */ #ifndef _ASM_IA64_SN_KLCONFIG_H @@ -17,145 +17,20 @@ * components found on the BOARDs. */ -/* - * WARNING: - * Certain assembly language routines (notably xxxxx.s) in the IP27PROM - * will depend on the format of the data structures in this file. In - * most cases, rearranging the fields can seriously break things. - * Adding fields in the beginning or middle can also break things. - * Add fields if necessary, to the end of a struct in such a way - * that offsets of existing fields do not change. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define KLCFGINFO_MAGIC 0xbeedbabe - typedef s32 klconf_off_t; -#define MAX_MODULE_ID 255 -#define SIZE_PAD 4096 /* 4k padding for structures */ -/* - * 1 NODE brick, 3 Router bricks (1 local, 1 meta, 1 repeater), - * 6 XIO Widgets, 1 Xbow, 1 gfx - */ -#define MAX_SLOTS_PER_NODE (1 + 3 + 6 + 1 + 1) - -/* XXX if each node is guranteed to have some memory */ - -#define MAX_PCI_DEVS 8 - -/* lboard_t->brd_flags fields */ -/* All bits in this field are currently used. Try the pad fields if - you need more flag bits */ - -#define ENABLE_BOARD 0x01 -#define FAILED_BOARD 0x02 -#define DUPLICATE_BOARD 0x04 /* Boards like midplanes/routers which - are discovered twice. Use one of them */ -#define VISITED_BOARD 0x08 /* Used for compact hub numbering. */ -#define LOCAL_MASTER_IO6 0x10 /* master io6 for that node */ -#define KLTYPE_IOBRICK_XBOW (KLCLASS_MIDPLANE | 0x2) - -/* klinfo->flags fields */ - -#define KLINFO_ENABLE 0x01 /* This component is enabled */ -#define KLINFO_FAILED 0x02 /* This component failed */ -#define KLINFO_DEVICE 0x04 /* This component is a device */ -#define KLINFO_VISITED 0x08 /* This component has been visited */ -#define KLINFO_CONTROLLER 0x10 /* This component is a device controller */ -#define KLINFO_INSTALL 0x20 /* Install a driver */ -#define KLINFO_HEADLESS 0x40 /* Headless (or hubless) component */ - -/* Structures to manage various data storage areas */ -/* The numbers must be contiguous since the array index i - is used in the code to allocate various areas. -*/ - -#define BOARD_STRUCT 0 -#define COMPONENT_STRUCT 1 -#define ERRINFO_STRUCT 2 -#define KLMALLOC_TYPE_MAX (ERRINFO_STRUCT + 1) -#define DEVICE_STRUCT 3 - - -typedef struct console_s { - unsigned long uart_base; - unsigned long config_base; - unsigned long memory_base; - short baud; - short flag; - int type; - nasid_t nasid; - char wid; - char npci; - nic_t baseio_nic; -} console_t; - -typedef struct klc_malloc_hdr { - klconf_off_t km_base; - klconf_off_t km_limit; - klconf_off_t km_current; -} klc_malloc_hdr_t; /* Functions/macros needed to use this structure */ typedef struct kl_config_hdr { - u64 ch_magic; /* set this to KLCFGINFO_MAGIC */ - u32 ch_version; /* structure version number */ - klconf_off_t ch_malloc_hdr_off; /* offset of ch_malloc_hdr */ - klconf_off_t ch_cons_off; /* offset of ch_cons */ + char pad[20]; klconf_off_t ch_board_info; /* the link list of boards */ - console_t ch_cons_info; /* address info of the console */ - klc_malloc_hdr_t ch_malloc_hdr[KLMALLOC_TYPE_MAX]; - confidence_t ch_sw_belief; /* confidence that software is bad*/ - confidence_t ch_sn0net_belief; /* confidence that sn0net is bad */ + char pad0[88]; } kl_config_hdr_t; -#define KL_CONFIG_HDR(_nasid) ((kl_config_hdr_t *)(KLCONFIG_ADDR(_nasid))) - #define NODE_OFFSET_TO_LBOARD(nasid,off) (lboard_t*)(NODE_CAC_BASE(nasid) + (off)) -#define KL_CONFIG_INFO(_nasid) root_lboard[nasid_to_cnodeid(_nasid)] - -/* --- New Macros for the changed kl_config_hdr_t structure --- */ - -#define PTR_CH_CONS_INFO(_k) ((console_t *)\ - ((unsigned long)_k + (_k->ch_cons_off))) - -#define KL_CONFIG_CH_CONS_INFO(_n) PTR_CH_CONS_INFO(KL_CONFIG_HDR(_n)) - -/* ------------------------------------------------------------- */ - -#define KL_CONFIG_DUPLICATE_BOARD(_brd) ((_brd)->brd_flags & DUPLICATE_BOARD) - -#define XBOW_PORT_TYPE_HUB(_xbowp, _link) \ - ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_HUB) -#define XBOW_PORT_TYPE_IO(_xbowp, _link) \ - ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_IO) - -#define XBOW_PORT_IS_ENABLED(_xbowp, _link) \ - ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_flag & XBOW_PORT_ENABLE) -#define XBOW_PORT_NASID(_xbowp, _link) \ - ((_xbowp)->xbow_port_info[(_link) - BASE_XBOW_PORT].port_nasid) - -#define XBOW_PORT_IO 0x1 -#define XBOW_PORT_HUB 0x2 -#define XBOW_PORT_ENABLE 0x4 - /* * The KLCONFIG area is organized as a LINKED LIST of BOARDs. A BOARD * can be either 'LOCAL' or 'REMOTE'. LOCAL means it is attached to @@ -248,6 +123,7 @@ typedef struct kl_config_hdr { * The data structures below define the above concepts. */ + /* * BOARD classes */ @@ -261,54 +137,40 @@ typedef struct kl_config_hdr { #define KLCLASS_ROUTER 0x30 /* Router board */ #define KLCLASS_MIDPLANE 0x40 /* We need to treat this as a board so that we can record error info */ -#define KLCLASS_GFX 0x50 /* graphics boards */ - -#define KLCLASS_PSEUDO_GFX 0x60 /* HDTV type cards that use a gfx - * hw ifc to xtalk and are not gfx - * class for sw purposes */ - #define KLCLASS_IOBRICK 0x70 /* IP35 iobrick */ - #define KLCLASS_MAX 8 /* Bump this if a new CLASS is added */ -#define KLTYPE_MAX 11 /* Bump this if a new CLASS is added */ - -#define KLCLASS_UNKNOWN 0xf0 #define KLCLASS(_x) ((_x) & KLCLASS_MASK) + /* * board types */ #define KLTYPE_MASK 0x0f -#define KLTYPE_NONE 0x00 -#define KLTYPE_EMPTY 0x00 +#define KLTYPE(_x) ((_x) & KLTYPE_MASK) -#define KLTYPE_WEIRDCPU (KLCLASS_CPU | 0x0) #define KLTYPE_SNIA (KLCLASS_CPU | 0x1) +#define KLTYPE_TIO (KLCLASS_CPU | 0x2) #define KLTYPE_ROUTER (KLCLASS_ROUTER | 0x1) #define KLTYPE_META_ROUTER (KLCLASS_ROUTER | 0x3) #define KLTYPE_REPEATER_ROUTER (KLCLASS_ROUTER | 0x4) +#define KLTYPE_IOBRICK_XBOW (KLCLASS_MIDPLANE | 0x2) + #define KLTYPE_IOBRICK (KLCLASS_IOBRICK | 0x0) #define KLTYPE_NBRICK (KLCLASS_IOBRICK | 0x4) #define KLTYPE_PXBRICK (KLCLASS_IOBRICK | 0x6) #define KLTYPE_IXBRICK (KLCLASS_IOBRICK | 0x7) #define KLTYPE_CGBRICK (KLCLASS_IOBRICK | 0x8) #define KLTYPE_OPUSBRICK (KLCLASS_IOBRICK | 0x9) +#define KLTYPE_SABRICK (KLCLASS_IOBRICK | 0xa) +#define KLTYPE_IABRICK (KLCLASS_IOBRICK | 0xb) +#define KLTYPE_PABRICK (KLCLASS_IOBRICK | 0xc) +#define KLTYPE_GABRICK (KLCLASS_IOBRICK | 0xd) -/* The value of type should be more than 8 so that hinv prints - * out the board name from the NIC string. For values less than - * 8 the name of the board needs to be hard coded in a few places. - * When bringup started nic names had not standardized and so we - * had to hard code. (For people interested in history.) - */ -#define KLTYPE_UNKNOWN (KLCLASS_UNKNOWN | 0xf) - -#define KLTYPE(_x) ((_x) & KLTYPE_MASK) - /* * board structures */ @@ -337,7 +199,7 @@ typedef struct lboard_s { klconf_off_t brd_errinfo; /* Board's error information */ struct lboard_s *brd_parent; /* Logical parent for this brd */ char pad0[4]; - confidence_t brd_confidence; /* confidence that the board is bad */ + unsigned char brd_confidence; /* confidence that the board is bad */ nasid_t brd_owner; /* who owns this board */ unsigned char brd_nic_flags; /* To handle 8 more NICs */ char pad1[24]; /* future expansion */ @@ -346,18 +208,7 @@ typedef struct lboard_s { klconf_off_t brd_next_same; /* Next BOARD with same nasid */ } lboard_t; -/* - * Make sure we pass back the calias space address for local boards. - * klconfig board traversal and error structure extraction defines. - */ - -#define BOARD_SLOT(_brd) ((_brd)->brd_slot) - -#define KLCF_CLASS(_brd) KLCLASS((_brd)->brd_type) -#define KLCF_TYPE(_brd) KLTYPE((_brd)->brd_type) #define KLCF_NUM_COMPS(_brd) ((_brd)->brd_numcompts) -#define KLCF_MODULE_ID(_brd) ((_brd)->brd_module) - #define NODE_OFFSET_TO_KLINFO(n,off) ((klinfo_t*) TO_NODE_CAC(n,off)) #define KLCF_NEXT(_brd) \ ((_brd)->brd_next_same ? \ @@ -369,10 +220,6 @@ typedef struct lboard_s { ((((_brd)->brd_compts[(_ndx)]) == 0) ? 0 : \ (NODE_OFFSET_TO_KLINFO(NASID_GET(_brd), (_brd)->brd_compts[(_ndx)]))) -#define KLCF_COMP_TYPE(_comp) ((_comp)->struct_type) -#define KLCF_BRIDGE_W_ID(_comp) ((_comp)->physid) /* Widget ID */ - - /* * Generic info structure. This stores common info about a @@ -401,302 +248,25 @@ typedef struct klinfo_s { /* Generic info */ unsigned short pad4; /* klbri_t */ } klinfo_t ; -#define KLCONFIG_INFO_ENABLED(_i) ((_i)->flags & KLINFO_ENABLE) -/* - * Component structures. - * Following are the currently identified components: - * CPU, HUB, MEM_BANK, - * XBOW(consists of 16 WIDGETs, each of which can be HUB or GRAPHICS or BRIDGE) - * BRIDGE, IOC3, SuperIO, SCSI, FDDI - * ROUTER - * GRAPHICS - */ -#define KLSTRUCT_UNKNOWN 0 -#define KLSTRUCT_CPU 1 -#define KLSTRUCT_HUB 2 -#define KLSTRUCT_MEMBNK 3 -#define KLSTRUCT_XBOW 4 -#define KLSTRUCT_BRI 5 -#define KLSTRUCT_ROU 9 -#define KLSTRUCT_GFX 10 -#define KLSTRUCT_SCSI 11 -#define KLSTRUCT_DISK 14 -#define KLSTRUCT_CDROM 16 - -#define KLSTRUCT_FIBERCHANNEL 25 -#define KLSTRUCT_MOD_SERIAL_NUM 26 -#define KLSTRUCT_QLFIBRE 32 -#define KLSTRUCT_1394 33 -#define KLSTRUCT_USB 34 -#define KLSTRUCT_USBKBD 35 -#define KLSTRUCT_USBMS 36 -#define KLSTRUCT_SCSI_CTLR 37 -#define KLSTRUCT_PEBRICK 38 -#define KLSTRUCT_GIGE 39 -#define KLSTRUCT_IDE 40 -#define KLSTRUCT_IOC4 41 -#define KLSTRUCT_IOC4UART 42 -#define KLSTRUCT_IOC4_TTY 43 -#define KLSTRUCT_IOC4PCKM 44 -#define KLSTRUCT_IOC4MS 45 -#define KLSTRUCT_IOC4_ATA 46 -#define KLSTRUCT_PCIGFX 47 +static inline lboard_t *find_lboard_any(lboard_t * start, unsigned char brd_type) +{ + /* Search all boards stored on this node. */ -/* - * The port info in ip27_cfg area translates to a lboart_t in the - * KLCONFIG area. But since KLCONFIG does not use pointers, lboart_t - * is stored in terms of a nasid and a offset from start of KLCONFIG - * area on that nasid. - */ -typedef struct klport_s { - nasid_t port_nasid; - unsigned char port_flag; - klconf_off_t port_offset; - short port_num; -} klport_t; - -typedef struct klcpu_s { /* CPU */ - klinfo_t cpu_info; - unsigned short cpu_prid; /* Processor PRID value */ - unsigned short cpu_fpirr; /* FPU IRR value */ - unsigned short cpu_speed; /* Speed in MHZ */ - unsigned short cpu_scachesz; /* secondary cache size in MB */ - unsigned short cpu_scachespeed;/* secondary cache speed in MHz */ - unsigned long pad; -} klcpu_t ; - -#define CPU_STRUCT_VERSION 2 - -typedef struct klhub_s { /* HUB */ - klinfo_t hub_info; - unsigned int hub_flags; /* PCFG_HUB_xxx flags */ -#define MAX_NI_PORTS 2 - klport_t hub_port[MAX_NI_PORTS + 1];/* hub is connected to this */ - nic_t hub_box_nic; /* nic of containing box */ - klconf_off_t hub_mfg_nic; /* MFG NIC string */ - u64 hub_speed; /* Speed of hub in HZ */ - moduleid_t hub_io_module; /* attached io module */ - unsigned long pad; -} klhub_t ; - -typedef struct klhub_uart_s { /* HUB */ - klinfo_t hubuart_info; - unsigned int hubuart_flags; /* PCFG_HUB_xxx flags */ - nic_t hubuart_box_nic; /* nic of containing box */ - unsigned long pad; -} klhub_uart_t ; - -#define MEMORY_STRUCT_VERSION 2 - -typedef struct klmembnk_s { /* MEMORY BANK */ - klinfo_t membnk_info; - short membnk_memsz; /* Total memory in megabytes */ - short membnk_dimm_select; /* bank to physical addr mapping*/ - short membnk_bnksz[MD_MEM_BANKS]; /* Memory bank sizes */ - short membnk_attr; - unsigned long pad; -} klmembnk_t ; - -#define MAX_SERIAL_NUM_SIZE 10 - -typedef struct klmod_serial_num_s { - klinfo_t snum_info; - union { - char snum_str[MAX_SERIAL_NUM_SIZE]; - unsigned long long snum_int; - } snum; - unsigned long pad; -} klmod_serial_num_t; - -/* Macros needed to access serial number structure in lboard_t. - Hard coded values are necessary since we cannot treat - serial number struct as a component without losing compatibility - between prom versions. */ - -#define GET_SNUM_COMP(_l) ((klmod_serial_num_t *)\ - KLCF_COMP(_l, _l->brd_numcompts)) - -#define MAX_XBOW_LINKS 16 - -typedef struct klxbow_s { /* XBOW */ - klinfo_t xbow_info ; - klport_t xbow_port_info[MAX_XBOW_LINKS] ; /* Module number */ - int xbow_master_hub_link; - /* type of brd connected+component struct ptr+flags */ - unsigned long pad; -} klxbow_t ; - -#define MAX_PCI_SLOTS 8 - -typedef struct klpci_device_s { - s32 pci_device_id; /* 32 bits of vendor/device ID. */ - s32 pci_device_pad; /* 32 bits of padding. */ -} klpci_device_t; - -#define BRIDGE_STRUCT_VERSION 2 - -typedef struct klbri_s { /* BRIDGE */ - klinfo_t bri_info ; - unsigned char bri_eprominfo ; /* IO6prom connected to bridge */ - unsigned char bri_bustype ; /* PCI/VME BUS bridge/GIO */ - u64 *pci_specific ; /* PCI Board config info */ - klpci_device_t bri_devices[MAX_PCI_DEVS] ; /* PCI IDs */ - klconf_off_t bri_mfg_nic ; - unsigned long pad; -} klbri_t ; - -#define ROUTER_VECTOR_VERS 2 - -/* XXX - Don't we need the number of ports here?!? */ -typedef struct klrou_s { /* ROUTER */ - klinfo_t rou_info ; - unsigned int rou_flags ; /* PCFG_ROUTER_xxx flags */ - nic_t rou_box_nic ; /* nic of the containing module */ - klport_t rou_port[MAX_ROUTER_PORTS + 1] ; /* array index 1 to 6 */ - klconf_off_t rou_mfg_nic ; /* MFG NIC string */ - u64 rou_vector; /* vector from master node */ - unsigned long pad; -} klrou_t ; - -/* - * Graphics Controller/Device - * - * (IP27/IO6) Prom versions 6.13 (and 6.5.1 kernels) and earlier - * used a couple different structures to store graphics information. - * For compatibility reasons, the newer data structure preserves some - * of the layout so that fields that are used in the old versions remain - * in the same place (with the same info). Determination of what version - * of this structure we have is done by checking the cookie field. - */ -#define KLGFX_COOKIE 0x0c0de000 - -typedef struct klgfx_s { /* GRAPHICS Device */ - klinfo_t gfx_info; - klconf_off_t old_gndevs; /* for compatibility with older proms */ - klconf_off_t old_gdoff0; /* for compatibility with older proms */ - unsigned int cookie; /* for compatibility with older proms */ - unsigned int moduleslot; - struct klgfx_s *gfx_next_pipe; - u64 *gfx_specific; - klconf_off_t pad0; /* for compatibility with older proms */ - klconf_off_t gfx_mfg_nic; - unsigned long pad; -} klgfx_t; - -#define MAX_SCSI_DEVS 16 - -/* - * NOTE: THis is the max sized kl* structure and is used in klmalloc.c - * to allocate space of type COMPONENT. Make sure that if the size of - * any other component struct becomes more than this, then redefine - * that as the size to be klmalloced. - */ - -typedef struct klscsi_s { /* SCSI Bus */ - klinfo_t scsi_info ; - u64 *scsi_specific ; - unsigned char scsi_numdevs ; - klconf_off_t scsi_devinfo[MAX_SCSI_DEVS] ; - unsigned long pad; -} klscsi_t ; - -typedef struct klscctl_s { /* SCSI Controller */ - klinfo_t scsi_info ; - unsigned int type; - unsigned int scsi_buscnt; /* # busses this cntlr */ - void *scsi_bus[2]; /* Pointer to 2 klscsi_t's */ - unsigned long pad; -} klscctl_t ; - -typedef struct klscdev_s { /* SCSI device */ - klinfo_t scdev_info ; - struct scsidisk_data *scdev_cfg ; /* driver fills up this */ - unsigned long pad; -} klscdev_t ; - -typedef struct klttydev_s { /* TTY device */ - klinfo_t ttydev_info ; - struct terminal_data *ttydev_cfg ; /* driver fills up this */ - unsigned long pad; -} klttydev_t ; - -typedef struct klpcigfx_s { /* PCI GFX */ - klinfo_t gfx_info ; -} klpcigfx_t ; - -typedef struct klkbddev_s { /* KBD device */ - klinfo_t kbddev_info ; - struct keyboard_data *kbddev_cfg ; /* driver fills up this */ - unsigned long pad; -} klkbddev_t ; - -typedef struct klmsdev_s { /* mouse device */ - klinfo_t msdev_info ; - void *msdev_cfg ; - unsigned long pad; -} klmsdev_t ; - -/* - * USB info - */ + while (start) { + if (start->brd_type == brd_type) + return start; + start = KLCF_NEXT_ANY(start); + } + /* Didn't find it. */ + return (lboard_t *) NULL; +} -typedef struct klusb_s { - klinfo_t usb_info; /* controller info */ - void *usb_bus; /* handle to usb_bus_t */ - uint64_t usb_controller; /* ptr to controller info */ - unsigned long pad; -} klusb_t ; - -typedef union klcomp_s { - klcpu_t kc_cpu; - klhub_t kc_hub; - klmembnk_t kc_mem; - klxbow_t kc_xbow; - klbri_t kc_bri; - klrou_t kc_rou; - klgfx_t kc_gfx; - klscsi_t kc_scsi; - klscctl_t kc_scsi_ctl; - klscdev_t kc_scsi_dev; - klmod_serial_num_t kc_snum ; - klusb_t kc_usb; -} klcomp_t; - -typedef union kldev_s { /* for device structure allocation */ - klscdev_t kc_scsi_dev ; - klttydev_t kc_tty_dev ; - klkbddev_t kc_kbd_dev ; -} kldev_t ; /* external declarations of Linux kernel functions. */ extern lboard_t *root_lboard[]; -extern lboard_t *find_lboard_any(lboard_t *start, unsigned char type); -extern lboard_t *find_lboard_nasid(lboard_t *start, nasid_t, unsigned char type); extern klinfo_t *find_component(lboard_t *brd, klinfo_t *kli, unsigned char type); extern klinfo_t *find_first_component(lboard_t *brd, unsigned char type); -extern klcpu_t *nasid_slice_to_cpuinfo(nasid_t, int); - - -extern lboard_t *find_gfxpipe(int pipenum); -extern lboard_t *find_lboard_class_any(lboard_t *start, unsigned char brd_class); -extern lboard_t *find_lboard_class_nasid(lboard_t *start, nasid_t, unsigned char brd_class); -extern lboard_t *find_nic_lboard(lboard_t *, nic_t); -extern lboard_t *find_nic_type_lboard(nasid_t, unsigned char, nic_t); -extern lboard_t *find_lboard_modslot(lboard_t *start, geoid_t geoid); -extern int config_find_nic_router(nasid_t, nic_t, lboard_t **, klrou_t**); -extern int config_find_nic_hub(nasid_t, nic_t, lboard_t **, klhub_t**); -extern int config_find_xbow(nasid_t, lboard_t **, klxbow_t**); -extern int update_klcfg_cpuinfo(nasid_t, int); -extern void board_to_path(lboard_t *brd, char *path); -extern void nic_name_convert(char *old_name, char *new_name); -extern int module_brds(nasid_t nasid, lboard_t **module_brds, int n); -extern lboard_t *brd_from_key(uint64_t key); -extern void device_component_canonical_name_get(lboard_t *,klinfo_t *, - char *); -extern int board_serial_number_get(lboard_t *,char *); -extern nasid_t get_actual_nasid(lboard_t *brd) ; -extern net_vec_t klcfg_discover_route(lboard_t *, lboard_t *, int); #endif /* _ASM_IA64_SN_KLCONFIG_H */ diff --git a/include/asm-ia64/sn/leds.h b/include/asm-ia64/sn/leds.h index d2ee23449..04fc929cb 100644 --- a/include/asm-ia64/sn/leds.h +++ b/include/asm-ia64/sn/leds.h @@ -1,16 +1,14 @@ -#ifndef _ASM_IA64_SN_LEDS_H -#define _ASM_IA64_SN_LEDS_H - /* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. - * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ +#ifndef _ASM_IA64_SN_LEDS_H +#define _ASM_IA64_SN_LEDS_H #include #include -#include #define LED0 (LOCAL_MMR_ADDR(SH_REAL_JUNK_BUS_LED0)) #define LED_CPU_SHIFT 16 diff --git a/include/asm-ia64/sn/module.h b/include/asm-ia64/sn/module.h index 172f459fc..734e980ec 100644 --- a/include/asm-ia64/sn/module.h +++ b/include/asm-ia64/sn/module.h @@ -3,24 +3,11 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_MODULE_H #define _ASM_IA64_SN_MODULE_H -#include -#include - -#define MODULE_MAX 128 -#define MODULE_MAX_NODES 2 -#define MODULE_HIST_CNT 16 -#define MAX_MODULE_LEN 16 - -/* Well-known module IDs */ -#define MODULE_UNKNOWN (-2) /* initial value of klconfig brd_module */ -/* #define INVALID_MODULE (-1) ** generic invalid moduleid_t (arch.h) */ -#define MODULE_NOT_SET 0 /* module ID not set in sys ctlrs. */ - /* parameter for format_module_id() */ #define MODULE_FORMAT_BRIEF 1 #define MODULE_FORMAT_LONG 2 @@ -58,13 +45,6 @@ #define MODULE_BPOS_SHFT 0 #define MODULE_GET_BPOS(_m) (((_m) & MODULE_BPOS_MASK) >> MODULE_BPOS_SHFT) -/* - * Macros for constructing moduleid_t's - */ -#define RBT_TO_MODULE(_r, _b, _t) ((_r) << MODULE_RACK_SHFT | \ - (_b) << MODULE_BPOS_SHFT | \ - (_t) << MODULE_BTYPE_SHFT) - /* * Macros for encoding and decoding rack IDs * A rack number consists of three parts: @@ -73,12 +53,12 @@ * Rack number is stored just as it is displayed on the screen: * a 3-decimal-digit number. */ -#define RACK_CLASS_DVDR 100 -#define RACK_GROUP_DVDR 10 -#define RACK_NUM_DVDR 1 +#define RACK_CLASS_DVDR 100 +#define RACK_GROUP_DVDR 10 +#define RACK_NUM_DVDR 1 -#define RACK_CREATE_RACKID(_c, _g, _n) ((_c) * RACK_CLASS_DVDR + \ - (_g) * RACK_GROUP_DVDR + (_n) * RACK_NUM_DVDR) +#define RACK_CREATE_RACKID(_c, _g, _n) ((_c) * RACK_CLASS_DVDR + \ + (_g) * RACK_GROUP_DVDR + (_n) * RACK_NUM_DVDR) #define RACK_GET_CLASS(_r) ((_r) / RACK_CLASS_DVDR) #define RACK_GET_GROUP(_r) (((_r) - RACK_GET_CLASS(_r) * \ @@ -90,29 +70,29 @@ /* * Macros for encoding and decoding rack IDs * A rack number consists of three parts: - * class 1 bit, 0==CPU/mixed, 1==I/O - * group 2 bits for CPU/mixed, 3 bits for I/O - * number 3 bits for CPU/mixed, 2 bits for I/O (1 based) + * class 1 bit, 0==CPU/mixed, 1==I/O + * group 2 bits for CPU/mixed, 3 bits for I/O + * number 3 bits for CPU/mixed, 2 bits for I/O (1 based) */ -#define RACK_GROUP_BITS(_r) (RACK_GET_CLASS(_r) ? 3 : 2) -#define RACK_NUM_BITS(_r) (RACK_GET_CLASS(_r) ? 2 : 3) +#define RACK_GROUP_BITS(_r) (RACK_GET_CLASS(_r) ? 3 : 2) +#define RACK_NUM_BITS(_r) (RACK_GET_CLASS(_r) ? 2 : 3) -#define RACK_CLASS_MASK(_r) 0x20 -#define RACK_CLASS_SHFT(_r) 5 -#define RACK_ADD_CLASS(_r, _c) \ - ((_r) |= (_c) << RACK_CLASS_SHFT(_r) & RACK_CLASS_MASK(_r)) +#define RACK_CLASS_MASK(_r) 0x20 +#define RACK_CLASS_SHFT(_r) 5 +#define RACK_ADD_CLASS(_r, _c) \ + ((_r) |= (_c) << RACK_CLASS_SHFT(_r) & RACK_CLASS_MASK(_r)) -#define RACK_GROUP_SHFT(_r) RACK_NUM_BITS(_r) -#define RACK_GROUP_MASK(_r) \ - ( (((unsigned)1< #include #include -#include #include -#include /* * NUMA Node-Specific Data structures are defined in this file. @@ -32,32 +30,14 @@ * This structure provides a convenient way of keeping together * all per-node data structures. */ - - +struct phys_cpuid { + short nasid; + char subnode; + char slice; +}; struct nodepda_s { - vertex_hdl_t xbow_vhdl; - nasid_t xbow_peer; /* NASID of our peer hub on xbow */ - struct semaphore xbow_sema; /* Sema for xbow synchronization */ - slotid_t slotdesc; - geoid_t geoid; - module_t *module; /* Pointer to containing module */ - xwidgetnum_t basew_id; - vertex_hdl_t basew_xc; - int hubticks; - int num_routers; /* XXX not setup! Total routers in the system */ - - - char *hwg_node_name; /* hwgraph node name */ - vertex_hdl_t node_vertex; /* Hwgraph vertex for this node */ - void *pdinfo; /* Platform-dependent per-node info */ - - - nodepda_router_info_t *npda_rip_first; - nodepda_router_info_t **npda_rip_last; - - spinlock_t bist_lock; /* @@ -72,21 +52,14 @@ struct nodepda_s { */ struct nodepda_s *pernode_pdaindr[MAX_COMPACT_NODES]; + /* + * Array of physical cpu identifiers. Indexed by cpuid. + */ + struct phys_cpuid phys_cpuid[NR_CPUS]; }; typedef struct nodepda_s nodepda_t; -struct irqpda_s { - int num_irq_used; - char irq_flags[NR_IRQS]; - struct pci_dev *device_dev[NR_IRQS]; - char share_count[NR_IRQS]; - struct pci_dev *curr; -}; - -typedef struct irqpda_s irqpda_t; - - /* * Access Functions for node PDA. * Since there is one nodepda for each node, we need a convenient mechanism @@ -104,32 +77,10 @@ typedef struct irqpda_s irqpda_t; #define nodepda pda->p_nodepda /* Ptr to this node's PDA */ #define NODEPDA(cnode) (nodepda->pernode_pdaindr[cnode]) - -/* - * Macros to access data structures inside nodepda - */ -#define NODE_MODULEID(cnode) geo_module((NODEPDA(cnode)->geoid)) -#define NODE_SLOTID(cnode) (NODEPDA(cnode)->slotdesc) - - -/* - * Quickly convert a compact node ID into a hwgraph vertex - */ -#define cnodeid_to_vertex(cnodeid) (NODEPDA(cnodeid)->node_vertex) - - /* * Check if given a compact node id the corresponding node has all the * cpus disabled. */ #define is_headless_node(cnode) (nr_cpus_node(cnode) == 0) -/* - * Check if given a node vertex handle the corresponding node has all the - * cpus disabled. - */ -#define is_headless_node_vertex(_nodevhdl) \ - is_headless_node(nodevertex_to_cnodeid(_nodevhdl)) - - #endif /* _ASM_IA64_SN_NODEPDA_H */ diff --git a/include/asm-ia64/sn/pda.h b/include/asm-ia64/sn/pda.h index ef60438b9..9e61db871 100644 --- a/include/asm-ia64/sn/pda.h +++ b/include/asm-ia64/sn/pda.h @@ -3,17 +3,17 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_PDA_H #define _ASM_IA64_SN_PDA_H #include -#include #include #include #include + /* * CPU-specific data structure. * @@ -49,13 +49,14 @@ typedef struct pda_s { volatile unsigned long *pio_shub_war_cam_addr; volatile unsigned long *mem_write_status_addr; + struct bteinfo_s *cpu_bte_if[BTES_PER_NODE]; /* cpu interface order */ + unsigned long sn_soft_irr[4]; unsigned long sn_in_service_ivecs[4]; short cnodeid_to_nasid_table[MAX_NUMNODES]; int sn_lb_int_war_ticks; int sn_last_irq; int sn_first_irq; - int sn_num_irqs; /* number of irqs targeted for this cpu */ } pda_t; diff --git a/include/asm-ia64/sn/router.h b/include/asm-ia64/sn/router.h index 54667373d..a28b36409 100644 --- a/include/asm-ia64/sn/router.h +++ b/include/asm-ia64/sn/router.h @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1992 - 1997, 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1992 - 1997, 2000-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_ROUTER_H @@ -17,10 +17,7 @@ #ifndef __ASSEMBLY__ -#include -#include #include -#include typedef uint64_t router_reg_t; @@ -411,7 +408,7 @@ typedef signed char port_no_t; /* Type for router port number */ typedef struct router_map_ent_s { uint64_t nic; moduleid_t module; - slotid_t slot; + char slot; } router_map_ent_t; struct rr_status_error_fmt { @@ -479,16 +476,16 @@ typedef struct router_info_s { char ri_leds; /* Current LED bitmap */ char ri_portmask; /* Active port bitmap */ router_reg_t ri_stat_rev_id; /* Status rev ID value */ - net_vec_t ri_vector; /* vector from guardian to router */ + uint64_t ri_vector; /* vector from guardian to router */ int ri_writeid; /* router's vector write ID */ int64_t ri_timebase; /* Time of first sample */ int64_t ri_timestamp; /* Time of last sample */ router_port_info_t ri_port[MAX_ROUTER_PORTS]; /* per port info */ moduleid_t ri_module; /* Which module are we in? */ - slotid_t ri_slotnum; /* Which slot are we in? */ + char ri_slotnum; /* Which slot are we in? */ router_reg_t ri_glbl_parms[GLBL_PARMS_REGS]; /* Global parms0&1 register contents*/ - vertex_hdl_t ri_vertex; /* hardware graph vertex */ + void * ri_vertex; /* hardware graph vertex */ router_reg_t ri_prot_conf; /* protection config. register */ int64_t ri_per_minute; /* Ticks per minute */ @@ -500,7 +497,7 @@ typedef struct router_info_s { * the bottom of the structure, below the user stuff. */ char ri_hist_type; /* histogram type */ - vertex_hdl_t ri_guardian; /* guardian node for the router */ + void * ri_guardian; /* guardian node for the router */ int64_t ri_last_print; /* When did we last print */ char ri_print; /* Should we print */ char ri_just_blink; /* Should we blink the LEDs */ @@ -509,7 +506,7 @@ typedef struct router_info_s { int64_t ri_deltatime; /* Time it took to sample */ #endif spinlock_t ri_lock; /* Lock for access to router info */ - net_vec_t *ri_vecarray; /* Pointer to array of vectors */ + uint64_t *ri_vecarray; /* Pointer to array of vectors */ struct lboard_s *ri_brd; /* Pointer to board structure */ char * ri_name; /* This board's hwg path */ unsigned char ri_port_maint[MAX_ROUTER_PORTS]; /* should we send a @@ -526,13 +523,13 @@ typedef struct router_info_s { * Router info hanging in the nodepda */ typedef struct nodepda_router_info_s { - vertex_hdl_t router_vhdl; /* vertex handle of the router */ + void * router_vhdl; /* vertex handle of the router */ short router_port; /* port thru which we entered */ short router_portmask; moduleid_t router_module; /* module in which router is there */ - slotid_t router_slot; /* router slot */ + char router_slot; /* router slot */ unsigned char router_type; /* kind of router */ - net_vec_t router_vector; /* vector from the guardian node */ + uint64_t router_vector; /* vector from the guardian node */ router_info_t *router_infop; /* info hanging off the hwg vertex */ struct nodepda_router_info_s *router_next; @@ -560,7 +557,7 @@ typedef struct router_elt_s { /* vector route from the master hub to * this router. */ - net_vec_t vec; + uint64_t vec; /* port status */ uint64_t status; char port_status[MAX_ROUTER_PORTS + 1]; @@ -570,11 +567,11 @@ typedef struct router_elt_s { */ struct { /* vertex handle for the router */ - vertex_hdl_t vhdl; + void * vhdl; /* guardian for this router */ - vertex_hdl_t guard; + void * guard; /* vector router from the guardian to the router */ - net_vec_t vec; + uint64_t vec; } k_elt; } u; /* easy to use port status interpretation */ @@ -618,24 +615,4 @@ typedef struct router_queue_s { #define RTABLE_SHFT(_L) (4 * ((_L) - 1)) #define RTABLE_MASK(_L) (0x7UL << RTABLE_SHFT(_L)) - -#define ROUTERINFO_STKSZ 4096 - -#ifndef __ASSEMBLY__ - -int router_reg_read(router_info_t *rip, int regno, router_reg_t *val); -int router_reg_write(router_info_t *rip, int regno, router_reg_t val); -int router_get_info(vertex_hdl_t routerv, router_info_t *, int); -int router_set_leds(router_info_t *rip); -void router_print_state(router_info_t *rip, int level, - void (*pf)(int, char *, ...),int print_where); -void capture_router_stats(router_info_t *rip); - - -int probe_routers(void); -void get_routername(unsigned char brd_type,char *rtrname); -void router_guardians_set(vertex_hdl_t hwgraph_root); -int router_hist_reselect(router_info_t *, int64_t); -#endif /* __ASSEMBLY__ */ - #endif /* _ASM_IA64_SN_ROUTER_H */ diff --git a/include/asm-ia64/sn/rw_mmr.h b/include/asm-ia64/sn/rw_mmr.h index 14309d4d8..f366bb5dc 100644 --- a/include/asm-ia64/sn/rw_mmr.h +++ b/include/asm-ia64/sn/rw_mmr.h @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 2002-2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (C) 2002-2004 Silicon Graphics, Inc. All Rights Reserved. */ #ifndef _ASM_IA64_SN_RW_MMR_H #define _ASM_IA64_SN_RW_MMR_H diff --git a/include/asm-ia64/sn/simulator.h b/include/asm-ia64/sn/simulator.h index 82bc2cb20..78eb4f869 100644 --- a/include/asm-ia64/sn/simulator.h +++ b/include/asm-ia64/sn/simulator.h @@ -1,13 +1,13 @@ -#ifndef _ASM_IA64_SN_SIMULATOR_H -#define _ASM_IA64_SN_SIMULATOR_H - /* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. - * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ +#ifndef _ASM_IA64_SN_SIMULATOR_H +#define _ASM_IA64_SN_SIMULATOR_H + #include #ifdef CONFIG_IA64_SGI_SN_SIM diff --git a/include/asm-ia64/sn/sn_cpuid.h b/include/asm-ia64/sn/sn_cpuid.h index 6f1128f1e..bfc0ec65f 100644 --- a/include/asm-ia64/sn/sn_cpuid.h +++ b/include/asm-ia64/sn/sn_cpuid.h @@ -4,7 +4,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ @@ -36,9 +36,6 @@ * the boot cpu is 0. * smp_processor_id() returns the cpuid of the current cpu. * - * CPUNUM - On IA64, a cpunum and cpuid are the same. This is NOT true - * on other architectures like IA32. - * * CPU_PHYSICAL_ID (also known as HARD_PROCESSOR_ID) * This is the same as 31:24 of the processor LID register * hard_smp_processor_id()- cpu_physical_id of current processor @@ -46,15 +43,15 @@ * cpu_logical_id(phy_id) - convert a to a * * not real efficient - don't use in perf critical code * - * LID - processor defined register (see PRM V2). - * - * On SN2 - * 31:28 - id Contains 0-3 to identify the cpu on the node - * 27:16 - eid Contains the NASID + * SLICE - a number in the range of 0 - 3 (typically) that represents the + * cpu number on a brick. * + * SUBNODE - (almost obsolete) the number of the FSB that a cpu is + * connected to. This is also the same as the PI number. Usually 0 or 1. * + * NOTE!!!: the value of the bits in the cpu physical id (SAPICid or LID) of a cpu has no + * significance. The SAPIC id (LID) is a 16-bit cookie that has meaning only to the PROM. * - * The following assumes the following mappings for LID register values: * * The macros convert between cpu physical ids & slice/nasid/cnodeid. * These terms are described below: @@ -84,17 +81,11 @@ */ #ifndef CONFIG_SMP +#define cpu_logical_id(cpu) 0 #define cpu_physical_id(cpuid) ((ia64_getreg(_IA64_REG_CR_LID) >> 16) & 0xffff) #endif -/* - * macros for some of these exist in sn/addrs.h & sn/arch.h, etc. However, - * trying #include these files here causes circular dependencies. - */ -#define cpu_physical_id_to_nasid(cpi) ((cpi) &0xfff) -#define cpu_physical_id_to_slice(cpi) ((cpi>>12) & 3) -#define get_nasid() ((ia64_getreg(_IA64_REG_CR_LID) >> 16) & 0xfff) -#define get_slice() ((ia64_getreg(_IA64_REG_CR_LID) >> 28) & 0xf) + #define get_node_number(addr) (((unsigned long)(addr)>>38) & 0x7ff) /* @@ -102,43 +93,35 @@ * * NOTE: on non-MP systems, only cpuid 0 exists */ -#define id_eid_to_cpu_physical_id(id,eid) (((id)<<8) | (eid)) - -#define nasid_slice_to_cpuid(nasid,slice) (cpu_logical_id(nasid_slice_to_cpu_physical_id((nasid),(slice)))) - -#define nasid_slice_to_cpu_physical_id(nasid, slice) (((slice)<<12) | (nasid)) -/* - * The following table/struct is used for managing PTC coherency domains. - */ -typedef struct { - u8 domain; - u8 reserved; - u16 sapicid; -} sn_sapicid_info_t; - -extern sn_sapicid_info_t sn_sapicid_info[]; /* indexed by cpuid */ extern short physical_node_map[]; /* indexed by nasid to get cnode */ - /* - * cpuid_to_slice - convert a cpuid to the slice that it resides on - * There are 4 cpus per node. This function returns 0 .. 3) + * Macros for retrieving info about current cpu */ -#define cpuid_to_slice(cpuid) (cpu_physical_id_to_slice(cpu_physical_id(cpuid))) - +#define get_nasid() (nodepda->phys_cpuid[smp_processor_id()].nasid) +#define get_subnode() (nodepda->phys_cpuid[smp_processor_id()].subnode) +#define get_slice() (nodepda->phys_cpuid[smp_processor_id()].slice) +#define get_cnode() (nodepda->phys_cpuid[smp_processor_id()].cnode) +#define get_sapicid() ((ia64_getreg(_IA64_REG_CR_LID) >> 16) & 0xffff) /* - * cpuid_to_nasid - convert a cpuid to the NASID that it resides on + * Macros for retrieving info about an arbitrary cpu + * cpuid - logical cpu id */ -#define cpuid_to_nasid(cpuid) (cpu_physical_id_to_nasid(cpu_physical_id(cpuid))) +#define cpuid_to_nasid(cpuid) (nodepda->phys_cpuid[cpuid].nasid) +#define cpuid_to_subnode(cpuid) (nodepda->phys_cpuid[cpuid].subnode) +#define cpuid_to_slice(cpuid) (nodepda->phys_cpuid[cpuid].slice) +#define cpuid_to_cnodeid(cpuid) (physical_node_map[cpuid_to_nasid(cpuid)]) /* - * cpuid_to_cnodeid - convert a cpuid to the cnode that it resides on + * Dont use the following in performance critical code. They require scans + * of potentially large tables. */ -#define cpuid_to_cnodeid(cpuid) (physical_node_map[cpuid_to_nasid(cpuid)]) - +extern int nasid_slice_to_cpuid(int, int); +#define nasid_slice_to_cpu_physical_id(nasid, slice) \ + cpu_physical_id(nasid_slice_to_cpuid(nasid, slice)) /* * cnodeid_to_nasid - convert a cnodeid to a NASID @@ -148,30 +131,15 @@ extern short physical_node_map[]; /* indexed by nasid to get cnode */ */ #define cnodeid_to_nasid(cnodeid) pda->cnodeid_to_nasid_table[cnodeid] - /* * nasid_to_cnodeid - convert a NASID to a cnodeid */ #define nasid_to_cnodeid(nasid) (physical_node_map[nasid]) - -/* - * cnode_slice_to_cpuid - convert a codeid & slice to a cpuid - */ - -#define cnode_slice_to_cpuid(cnodeid,slice) (nasid_slice_to_cpuid(cnodeid_to_nasid(cnodeid),(slice))) - - /* - * cpuid_to_subnode - convert a cpuid to the subnode it resides on. - * slice 0 & 1 are on subnode 0 - * slice 2 & 3 are on subnode 1. + * partition_coherence_id - cget the coherence ID of the current partition */ -#define cpuid_to_subnode(cpuid) ((cpuid_to_slice(cpuid)<2) ? 0 : 1) - - -#define smp_physical_node_id() (cpuid_to_nasid(smp_processor_id())) - +#define partition_coherence_id() (get_nasid() >> 9) #endif /* _ASM_IA64_SN_SN_CPUID_H */ diff --git a/include/asm-ia64/sn/sn_fru.h b/include/asm-ia64/sn/sn_fru.h index 3a9582b13..8c21ac3f0 100644 --- a/include/asm-ia64/sn/sn_fru.h +++ b/include/asm-ia64/sn/sn_fru.h @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1992-1997,1999-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (C) 1992-1997,1999-2004 Silicon Graphics, Inc. All rights reserved. */ #ifndef _ASM_IA64_SN_SN_FRU_H #define _ASM_IA64_SN_SN_FRU_H diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h index 5bd9b3335..51485f7d6 100644 --- a/include/asm-ia64/sn/sn_sal.h +++ b/include/asm-ia64/sn/sn_sal.h @@ -8,7 +8,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 2000-2003 Silicon Graphics, Inc. All rights reserved. + * Copyright (c) 2000-2004 Silicon Graphics, Inc. All rights reserved. */ @@ -16,9 +16,8 @@ #include #include #include +#include #include -#include - // SGI Specific Calls #define SN_SAL_POD_MODE 0x02000001 @@ -33,7 +32,9 @@ #define SN_SAL_NO_FAULT_ZONE_VIRTUAL 0x02000010 #define SN_SAL_NO_FAULT_ZONE_PHYSICAL 0x02000011 #define SN_SAL_PRINT_ERROR 0x02000012 +#define SN_SAL_GET_SAPIC_INFO 0x02009999 //ZZZZ fix #define SN_SAL_SET_ERROR_HANDLING_FEATURES 0x0200001a // reentrant +#define SN_SAL_GET_FIT_COMPT 0x0200001b // reentrant #define SN_SAL_CONSOLE_PUTC 0x02000021 #define SN_SAL_CONSOLE_GETC 0x02000022 #define SN_SAL_CONSOLE_PUTS 0x02000023 @@ -60,6 +61,20 @@ #define SN_SAL_SYSCTL_FRU_CAPTURE 0x0200003f #define SN_SAL_SYSCTL_IOBRICK_PCI_OP 0x02000042 // reentrant +#define SN_SAL_IROUTER_OP 0x02000043 +#define SN_SAL_IOIF_INTERRUPT 0x0200004a +#define SN_SAL_HWPERF_OP 0x02000050 // lock +#define SN_SAL_IOIF_ERROR_INTERRUPT 0x02000051 + +#define SN_SAL_IOIF_SLOT_ENABLE 0x02000053 +#define SN_SAL_IOIF_SLOT_DISABLE 0x02000054 +#define SN_SAL_IOIF_GET_HUBDEV_INFO 0x02000055 +#define SN_SAL_IOIF_GET_PCIBUS_INFO 0x02000056 +#define SN_SAL_IOIF_GET_PCIDEV_INFO 0x02000057 +#define SN_SAL_IOIF_GET_WIDGET_DMAFLUSH_LIST 0x02000058 + +#define SN_SAL_HUB_ERROR_INTERRUPT 0x02000060 + /* * Service-specific constants @@ -74,37 +89,37 @@ #define SAL_CONSOLE_INTR_XMIT 1 /* output interrupt */ #define SAL_CONSOLE_INTR_RECV 2 /* input interrupt */ -#ifdef CONFIG_HOTPLUG_PCI_SGI -/* power up / power down / reset a PCI slot or bus */ -#define SAL_SYSCTL_PCI_POWER_UP 0 -#define SAL_SYSCTL_PCI_POWER_DOWN 1 -#define SAL_SYSCTL_PCI_RESET 2 +/* interrupt handling */ +#define SAL_INTR_ALLOC 1 +#define SAL_INTR_FREE 2 + +/* + * IRouter (i.e. generalized system controller) operations + */ +#define SAL_IROUTER_OPEN 0 /* open a subchannel */ +#define SAL_IROUTER_CLOSE 1 /* close a subchannel */ +#define SAL_IROUTER_SEND 2 /* send part of an IRouter packet */ +#define SAL_IROUTER_RECV 3 /* receive part of an IRouter packet */ +#define SAL_IROUTER_INTR_STATUS 4 /* check the interrupt status for + * an open subchannel + */ +#define SAL_IROUTER_INTR_ON 5 /* enable an interrupt */ +#define SAL_IROUTER_INTR_OFF 6 /* disable an interrupt */ +#define SAL_IROUTER_INIT 7 /* initialize IRouter driver */ -/* what type of I/O brick? */ -#define SAL_SYSCTL_IO_XTALK 0 /* connected via a compute node */ +/* IRouter interrupt mask bits */ +#define SAL_IROUTER_INTR_XMIT SAL_CONSOLE_INTR_XMIT +#define SAL_IROUTER_INTR_RECV SAL_CONSOLE_INTR_RECV -#endif /* CONFIG_HOTPLUG_PCI_SGI */ /* - * SN_SAL_GET_PARTITION_ADDR return constants + * SAL Error Codes */ #define SALRET_MORE_PASSES 1 #define SALRET_OK 0 -#define SALRET_INVALID_ARG -2 -#define SALRET_ERROR -3 - -/* - * SN_SAL_SET_ERROR_HANDLING_FEATURES bit settings - */ -enum -{ - /* if "rz always" is set, have the mca slaves call os_init_slave */ - SN_SAL_EHF_MCA_SLV_TO_OS_INIT_SLV=0, - /* do not rz on tlb checks, even if "rz always" is set */ - SN_SAL_EHF_NO_RZ_TLBC, - /* do not rz on PIO reads to I/O space, even if "rz always" is set */ - SN_SAL_EHF_NO_RZ_IO_READ, -}; +#define SALRET_NOT_IMPLEMENTED (-1) +#define SALRET_INVALID_ARG (-2) +#define SALRET_ERROR (-3) /** @@ -141,10 +156,8 @@ sn_sal_rev_minor(void) * Specify the minimum PROM revsion required for this kernel. * Note that they're stored in hex format... */ -#define SN_SAL_MIN_MAJOR 0x3 /* SN2 kernels need at least PROM 3.40 */ -#define SN_SAL_MIN_MINOR 0x40 - -u64 ia64_sn_probe_io_slot(long paddr, long size, void *data_ptr); +#define SN_SAL_MIN_MAJOR 0x4 /* SN2 kernels need at least PROM 4.0 */ +#define SN_SAL_MIN_MINOR 0x0 /* * Returns the master console nasid, if the call fails, return an illegal @@ -623,12 +636,12 @@ sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) unsigned long irq_flags; cnodeid = nasid_to_cnodeid(get_node_number(paddr)); - spin_lock(&NODEPDA(cnodeid)->bist_lock); + // spin_lock(&NODEPDA(cnodeid)->bist_lock); local_irq_save(irq_flags); SAL_CALL_NOLOCK(ret_stuff, SN_SAL_MEMPROTECT, paddr, len, nasid_array, perms, 0, 0, 0); local_irq_restore(irq_flags); - spin_unlock(&NODEPDA(cnodeid)->bist_lock); + // spin_unlock(&NODEPDA(cnodeid)->bist_lock); return ret_stuff.status; } #define SN_MEMPROT_ACCESS_CLASS_0 0x14a080 @@ -672,7 +685,7 @@ ia64_sn_fru_capture(void) */ static inline u64 ia64_sn_sysctl_iobrick_pci_op(nasid_t n, u64 connection_type, - u64 bus, slotid_t slot, + u64 bus, char slot, u64 action) { struct ia64_sal_retval rv = {0, 0, 0, 0}; @@ -684,24 +697,200 @@ ia64_sn_sysctl_iobrick_pci_op(nasid_t n, u64 connection_type, return 0; } + +/* + * Open a subchannel for sending arbitrary data to the system + * controller network via the system controller device associated with + * 'nasid'. Return the subchannel number or a negative error code. + */ +static inline int +ia64_sn_irtr_open(nasid_t nasid) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_OPEN, nasid, + 0, 0, 0, 0, 0); + return (int) rv.v0; +} + +/* + * Close system controller subchannel 'subch' previously opened on 'nasid'. + */ +static inline int +ia64_sn_irtr_close(nasid_t nasid, int subch) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_CLOSE, + (u64) nasid, (u64) subch, 0, 0, 0, 0); + return (int) rv.status; +} + +/* + * Read data from system controller associated with 'nasid' on + * subchannel 'subch'. The buffer to be filled is pointed to by + * 'buf', and its capacity is in the integer pointed to by 'len'. The + * referent of 'len' is set to the number of bytes read by the SAL + * call. The return value is either SALRET_OK (for bytes read) or + * SALRET_ERROR (for error or "no data available"). + */ +static inline int +ia64_sn_irtr_recv(nasid_t nasid, int subch, char *buf, int *len) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_RECV, + (u64) nasid, (u64) subch, (u64) buf, (u64) len, + 0, 0); + return (int) rv.status; +} + +/* + * Write data to the system controller network via the system + * controller associated with 'nasid' on suchannel 'subch'. The + * buffer to be written out is pointed to by 'buf', and 'len' is the + * number of bytes to be written. The return value is either the + * number of bytes written (which could be zero) or a negative error + * code. + */ +static inline int +ia64_sn_irtr_send(nasid_t nasid, int subch, char *buf, int len) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_SEND, + (u64) nasid, (u64) subch, (u64) buf, (u64) len, + 0, 0); + return (int) rv.v0; +} + /* - * Tell the prom how the OS wants to handle specific error features. - * It takes an array of 7 u64. + * Check whether any interrupts are pending for the system controller + * associated with 'nasid' and its subchannel 'subch'. The return + * value is a mask of pending interrupts (SAL_IROUTER_INTR_XMIT and/or + * SAL_IROUTER_INTR_RECV). + */ +static inline int +ia64_sn_irtr_intr(nasid_t nasid, int subch) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_INTR_STATUS, + (u64) nasid, (u64) subch, 0, 0, 0, 0); + return (int) rv.v0; +} + +/* + * Enable the interrupt indicated by the intr parameter (either + * SAL_IROUTER_INTR_XMIT or SAL_IROUTER_INTR_RECV). + */ +static inline int +ia64_sn_irtr_intr_enable(nasid_t nasid, int subch, u64 intr) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_INTR_ON, + (u64) nasid, (u64) subch, intr, 0, 0, 0); + return (int) rv.v0; +} + +/* + * Disable the interrupt indicated by the intr parameter (either + * SAL_IROUTER_INTR_XMIT or SAL_IROUTER_INTR_RECV). + */ +static inline int +ia64_sn_irtr_intr_disable(nasid_t nasid, int subch, u64 intr) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_INTR_OFF, + (u64) nasid, (u64) subch, intr, 0, 0, 0); + return (int) rv.v0; +} + +/** + * ia64_sn_get_fit_compt - read a FIT entry from the PROM header + * @nasid: NASID of node to read + * @index: FIT entry index to be retrieved (0..n) + * @fitentry: 16 byte buffer where FIT entry will be stored. + * @banbuf: optional buffer for retrieving banner + * @banlen: length of banner buffer + * + * Access to the physical PROM chips needs to be serialized since reads and + * writes can't occur at the same time, so we need to call into the SAL when + * we want to look at the FIT entries on the chips. + * + * Returns: + * %SALRET_OK if ok + * %SALRET_INVALID_ARG if index too big + * %SALRET_NOT_IMPLEMENTED if running on older PROM + * ??? if nasid invalid OR banner buffer not large enough + */ +static inline int +ia64_sn_get_fit_compt(u64 nasid, u64 index, void *fitentry, void *banbuf, + u64 banlen) +{ + struct ia64_sal_retval rv; + SAL_CALL_NOLOCK(rv, SN_SAL_GET_FIT_COMPT, nasid, index, fitentry, + banbuf, banlen, 0, 0); + return (int) rv.status; +} + +/* + * Initialize the SAL components of the system controller + * communication driver; specifically pass in a sizable buffer that + * can be used for allocation of subchannel queues as new subchannels + * are opened. "buf" points to the buffer, and "len" specifies its + * length. + */ +static inline int +ia64_sn_irtr_init(nasid_t nasid, void *buf, int len) +{ + struct ia64_sal_retval rv; + SAL_CALL_REENTRANT(rv, SN_SAL_IROUTER_OP, SAL_IROUTER_INIT, + (u64) nasid, (u64) buf, (u64) len, 0, 0, 0); + return (int) rv.status; +} + +/* + * Returns the nasid, subnode & slice corresponding to a SAPIC ID */ static inline u64 -ia64_sn_set_error_handling_features(const u64 *feature_bits) +ia64_sn_get_sapic_info(int sapicid, int *nasid, int *subnode, int *slice) { - struct ia64_sal_retval rv = {0, 0, 0, 0}; + struct ia64_sal_retval ret_stuff; - SAL_CALL_REENTRANT(rv, SN_SAL_SET_ERROR_HANDLING_FEATURES, - feature_bits[0], - feature_bits[1], - feature_bits[2], - feature_bits[3], - feature_bits[4], - feature_bits[5], - feature_bits[6]); - return rv.status; + ret_stuff.status = 0; + ret_stuff.v0 = 0; + ret_stuff.v1 = 0; + ret_stuff.v2 = 0; + SAL_CALL_NOLOCK(ret_stuff, SN_SAL_GET_SAPIC_INFO, sapicid, 0, 0, 0, 0, 0, 0); + +/***** BEGIN HACK - temp til new proms available ********/ + if (ret_stuff.status == SALRET_NOT_IMPLEMENTED) { + if (nasid) *nasid = sapicid & 0xfff; + if (subnode) *subnode = (sapicid >> 13) & 1; + if (slice) *slice = (sapicid >> 12) & 3; + return 0; + } +/***** END HACK *******/ + + if (ret_stuff.status < 0) + return ret_stuff.status; + + if (nasid) *nasid = (int) ret_stuff.v0; + if (subnode) *subnode = (int) ret_stuff.v1; + if (slice) *slice = (int) ret_stuff.v2; + return 0; +} +/* + * This is the access point to the Altix PROM hardware performance + * and status monitoring interface. For info on using this, see + * include/asm-ia64/sn/sn2/sn_hwperf.h + */ +static inline int +ia64_sn_hwperf_op(nasid_t nasid, u64 opcode, u64 a0, u64 a1, u64 a2, + u64 a3, u64 a4, int *v0) +{ + struct ia64_sal_retval rv; + SAL_CALL_NOLOCK(rv, SN_SAL_HWPERF_OP, (u64)nasid, + opcode, a0, a1, a2, a3, a4); + if (v0) + *v0 = (int) rv.v0; + return (int) rv.status; } #endif /* _ASM_IA64_SN_SN_SAL_H */ diff --git a/include/asm-ia64/sn/sndrv.h b/include/asm-ia64/sn/sndrv.h index 8af1f1d56..aa00d42cd 100644 --- a/include/asm-ia64/sn/sndrv.h +++ b/include/asm-ia64/sn/sndrv.h @@ -3,7 +3,7 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (c) 2002-2003 Silicon Graphics, Inc. All Rights Reserved. + * Copyright (c) 2002-2004 Silicon Graphics, Inc. All Rights Reserved. */ #ifndef _ASM_IA64_SN_SNDRV_H @@ -35,18 +35,6 @@ #define SNDRV_SYNERGY_ENABLE 34 #define SNDRV_SYNERGY_FREQ 35 -/* see shubstats_ioctl() */ -#define SNDRV_SHUB_INFOSIZE 40 -#define SNDRV_SHUB_CONFIGURE 41 -#define SNDRV_SHUB_RESETSTATS 42 -#define SNDRV_SHUB_GETSTATS 43 -#define SNDRV_SHUB_GETNASID 44 -#define SNDRV_SHUB_GETMMR32 45 -#define SNDRV_SHUB_GETMMR64 46 -#define SNDRV_SHUB_GETMMR64_IO 47 -#define SNDRV_SHUB_PUTMMR64 48 -#define SNDRV_SHUB_PUTMMR64_IO 49 - /* Devices */ #define SNDRV_UKNOWN_DEVICE -1 #define SNDRV_ROUTER_DEVICE 1 diff --git a/include/asm-ia64/sn/types.h b/include/asm-ia64/sn/types.h index ac9dff862..586ed47ca 100644 --- a/include/asm-ia64/sn/types.h +++ b/include/asm-ia64/sn/types.h @@ -9,13 +9,15 @@ #ifndef _ASM_IA64_SN_TYPES_H #define _ASM_IA64_SN_TYPES_H +#include + typedef unsigned long cpuid_t; typedef signed short nasid_t; /* node id in numa-as-id space */ typedef signed char partid_t; /* partition ID type */ typedef unsigned int moduleid_t; /* user-visible module number type */ typedef unsigned int cmoduleid_t; /* kernel compact module id type */ typedef signed char slabid_t; - +typedef u64 nic_t; typedef unsigned long iopaddr_t; typedef unsigned long paddr_t; typedef short cnodeid_t; diff --git a/include/asm-ia64/spinlock.h b/include/asm-ia64/spinlock.h index 40f939c5b..a56a06665 100644 --- a/include/asm-ia64/spinlock.h +++ b/include/asm-ia64/spinlock.h @@ -114,8 +114,8 @@ do { \ #define spin_unlock_wait(x) do { barrier(); } while ((x)->lock) typedef struct { - volatile int read_counter : 31; - volatile int write_lock : 1; + volatile unsigned int read_counter : 31; + volatile unsigned int write_lock : 1; } rwlock_t; #define RW_LOCK_UNLOCKED (rwlock_t) { 0, 0 } diff --git a/include/asm-ia64/system.h b/include/asm-ia64/system.h index 83b2c1bc0..fdefa16fa 100644 --- a/include/asm-ia64/system.h +++ b/include/asm-ia64/system.h @@ -19,12 +19,12 @@ #include #include -#define GATE_ADDR (0xa000000000000000) +#define GATE_ADDR __IA64_UL_CONST(0xa000000000000000) /* * 0xa000000000000000+2*PERCPU_PAGE_SIZE * - 0xa000000000000000+3*PERCPU_PAGE_SIZE remain unmapped (guard page) */ -#define KERNEL_START 0xa000000100000000 +#define KERNEL_START __IA64_UL_CONST(0xa000000100000000) #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) #ifndef __ASSEMBLY__ diff --git a/include/asm-ia64/thread_info.h b/include/asm-ia64/thread_info.h index 665623bf4..168319049 100644 --- a/include/asm-ia64/thread_info.h +++ b/include/asm-ia64/thread_info.h @@ -9,14 +9,6 @@ #include #include -#define TI_TASK 0x00 -#define TI_EXEC_DOMAIN 0x08 -#define TI_FLAGS 0x10 -#define TI_CPU 0x14 -#define TI_ADDR_LIMIT 0x18 -#define TI_PRE_COUNT 0x20 -#define TI_RESTART_BLOCK 0x28 - #define PREEMPT_ACTIVE_BIT 30 #define PREEMPT_ACTIVE (1 << PREEMPT_ACTIVE_BIT) diff --git a/include/asm-ia64/tlb.h b/include/asm-ia64/tlb.h index d5c39f752..54d3355a9 100644 --- a/include/asm-ia64/tlb.h +++ b/include/asm-ia64/tlb.h @@ -39,7 +39,9 @@ */ #include #include +#include #include +#include #include #include diff --git a/include/asm-ia64/uaccess.h b/include/asm-ia64/uaccess.h index b52fd3244..68f0e1dee 100644 --- a/include/asm-ia64/uaccess.h +++ b/include/asm-ia64/uaccess.h @@ -60,14 +60,17 @@ * address TASK_SIZE is never valid. We also need to make sure that the address doesn't * point inside the virtually mapped linear page table. */ -#define __access_ok(addr, size, segment) \ - (likely((unsigned long) (addr) <= (segment).seg) \ - && ((segment).seg == KERNEL_DS.seg \ - || likely(REGION_OFFSET((unsigned long) (addr)) < RGN_MAP_LIMIT))) +#define __access_ok(addr, size, segment) \ +({ \ + __chk_user_ptr(addr); \ + (likely((unsigned long) (addr) <= (segment).seg) \ + && ((segment).seg == KERNEL_DS.seg \ + || likely(REGION_OFFSET((unsigned long) (addr)) < RGN_MAP_LIMIT))); \ +}) #define access_ok(type, addr, size) __access_ok((addr), (size), get_fs()) static inline int -verify_area (int type, const void *addr, unsigned long size) +verify_area (int type, const void __user *addr, unsigned long size) { return access_ok(type, addr, size) ? 0 : -EFAULT; } @@ -91,6 +94,42 @@ verify_area (int type, const void *addr, unsigned long size) #define __put_user(x, ptr) __put_user_nocheck((__typeof__(*(ptr))) (x), (ptr), sizeof(*(ptr))) #define __get_user(x, ptr) __get_user_nocheck((x), (ptr), sizeof(*(ptr))) +extern long __put_user_unaligned_unknown (void); + +#define __put_user_unaligned(x, ptr) \ +({ \ + long __ret; \ + switch (sizeof(*(ptr))) { \ + case 1: __ret = __put_user((x), (ptr)); break; \ + case 2: __ret = (__put_user((x), (u8 __user *)(ptr))) \ + | (__put_user((x) >> 8, ((u8 __user *)(ptr) + 1))); break; \ + case 4: __ret = (__put_user((x), (u16 __user *)(ptr))) \ + | (__put_user((x) >> 16, ((u16 __user *)(ptr) + 1))); break; \ + case 8: __ret = (__put_user((x), (u32 __user *)(ptr))) \ + | (__put_user((x) >> 32, ((u32 __user *)(ptr) + 1))); break; \ + default: __ret = __put_user_unaligned_unknown(); \ + } \ + __ret; \ +}) + +extern long __get_user_unaligned_unknown (void); + +#define __get_user_unaligned(x, ptr) \ +({ \ + long __ret; \ + switch (sizeof(*(ptr))) { \ + case 1: __ret = __get_user((x), (ptr)); break; \ + case 2: __ret = (__get_user((x), (u8 __user *)(ptr))) \ + | (__get_user((x) >> 8, ((u8 __user *)(ptr) + 1))); break; \ + case 4: __ret = (__get_user((x), (u16 __user *)(ptr))) \ + | (__get_user((x) >> 16, ((u16 __user *)(ptr) + 1))); break; \ + case 8: __ret = (__get_user((x), (u32 __user *)(ptr))) \ + | (__get_user((x) >> 32, ((u32 __user *)(ptr) + 1))); break; \ + default: __ret = __get_user_unaligned_unknown(); \ + } \ + __ret; \ +}) + #ifdef ASM_SUPPORTED struct __large_struct { unsigned long buf[100]; }; # define __m(x) (*(struct __large_struct *)(x)) @@ -149,11 +188,11 @@ extern void __get_user_unknown (void); */ #define __do_get_user(check, x, ptr, size, segment) \ ({ \ - const __typeof__(*(ptr)) *__gu_ptr = (ptr); \ + const __typeof__(*(ptr)) __user *__gu_ptr = (ptr); \ __typeof__ (size) __gu_size = (size); \ long __gu_err = -EFAULT, __gu_val = 0; \ \ - if (!check || __access_ok((long) __gu_ptr, size, segment)) \ + if (!check || __access_ok(__gu_ptr, size, segment)) \ switch (__gu_size) { \ case 1: __get_user_size(__gu_val, __gu_ptr, 1, __gu_err); break; \ case 2: __get_user_size(__gu_val, __gu_ptr, 2, __gu_err); break; \ @@ -177,11 +216,11 @@ extern void __put_user_unknown (void); #define __do_put_user(check, x, ptr, size, segment) \ ({ \ __typeof__ (x) __pu_x = (x); \ - __typeof__ (*(ptr)) *__pu_ptr = (ptr); \ + __typeof__ (*(ptr)) __user *__pu_ptr = (ptr); \ __typeof__ (size) __pu_size = (size); \ long __pu_err = -EFAULT; \ \ - if (!check || __access_ok((long) __pu_ptr, __pu_size, segment)) \ + if (!check || __access_ok(__pu_ptr, __pu_size, segment)) \ switch (__pu_size) { \ case 1: __put_user_size(__pu_x, __pu_ptr, 1, __pu_err); break; \ case 2: __put_user_size(__pu_x, __pu_ptr, 2, __pu_err); break; \ @@ -198,44 +237,64 @@ extern void __put_user_unknown (void); /* * Complex access routines */ -extern unsigned long __copy_user (void *to, const void *from, unsigned long count); +extern unsigned long __must_check __copy_user (void __user *to, const void __user *from, + unsigned long count); -#define __copy_to_user(to, from, n) __copy_user((to), (from), (n)) -#define __copy_from_user(to, from, n) __copy_user((to), (from), (n)) -#define __copy_to_user_inatomic __copy_to_user -#define __copy_from_user_inatomic __copy_from_user -#define copy_to_user(to, from, n) __copy_tofrom_user((to), (from), (n), 1) -#define copy_from_user(to, from, n) __copy_tofrom_user((to), (from), (n), 0) +static inline unsigned long +__copy_to_user (void __user *to, const void *from, unsigned long count) +{ + return __copy_user(to, (void __user *) from, count); +} -#define __copy_tofrom_user(to, from, n, check_to) \ +static inline unsigned long +__copy_from_user (void *to, const void __user *from, unsigned long count) +{ + return __copy_user((void __user *) to, from, count); +} + +#define __copy_to_user_inatomic __copy_to_user +#define __copy_from_user_inatomic __copy_from_user +#define copy_to_user(to, from, n) \ ({ \ - void *__cu_to = (to); \ + void __user *__cu_to = (to); \ const void *__cu_from = (from); \ long __cu_len = (n); \ \ - if (__access_ok((long) ((check_to) ? __cu_to : __cu_from), __cu_len, get_fs())) \ - __cu_len = __copy_user(__cu_to, __cu_from, __cu_len); \ + if (__access_ok(__cu_to, __cu_len, get_fs())) \ + __cu_len = __copy_user(__cu_to, (void __user *) __cu_from, __cu_len); \ + __cu_len; \ +}) + +#define copy_from_user(to, from, n) \ +({ \ + void *__cu_to = (to); \ + const void __user *__cu_from = (from); \ + long __cu_len = (n); \ + \ + __chk_user_ptr(__cu_from); \ + if (__access_ok(__cu_from, __cu_len, get_fs())) \ + __cu_len = __copy_user((void __user *) __cu_to, __cu_from, __cu_len); \ __cu_len; \ }) #define __copy_in_user(to, from, size) __copy_user((to), (from), (size)) static inline unsigned long -copy_in_user (void *to, const void *from, unsigned long n) +copy_in_user (void __user *to, const void __user *from, unsigned long n) { if (likely(access_ok(VERIFY_READ, from, n) && access_ok(VERIFY_WRITE, to, n))) n = __copy_user(to, from, n); return n; } -extern unsigned long __do_clear_user (void *, unsigned long); +extern unsigned long __do_clear_user (void __user *, unsigned long); #define __clear_user(to, n) __do_clear_user(to, n) #define clear_user(to, n) \ ({ \ unsigned long __cu_len = (n); \ - if (__access_ok((long) to, __cu_len, get_fs())) \ + if (__access_ok(to, __cu_len, get_fs())) \ __cu_len = __do_clear_user(to, __cu_len); \ __cu_len; \ }) @@ -245,25 +304,25 @@ extern unsigned long __do_clear_user (void *, unsigned long); * Returns: -EFAULT if exception before terminator, N if the entire buffer filled, else * strlen. */ -extern long __strncpy_from_user (char *to, const char *from, long to_len); +extern long __must_check __strncpy_from_user (char *to, const char __user *from, long to_len); #define strncpy_from_user(to, from, n) \ ({ \ - const char * __sfu_from = (from); \ + const char __user * __sfu_from = (from); \ long __sfu_ret = -EFAULT; \ - if (__access_ok((long) __sfu_from, 0, get_fs())) \ + if (__access_ok(__sfu_from, 0, get_fs())) \ __sfu_ret = __strncpy_from_user((to), __sfu_from, (n)); \ __sfu_ret; \ }) /* Returns: 0 if bad, string length+1 (memory size) of string if ok */ -extern unsigned long __strlen_user (const char *); +extern unsigned long __strlen_user (const char __user *); #define strlen_user(str) \ ({ \ - const char *__su_str = (str); \ + const char __user *__su_str = (str); \ unsigned long __su_ret = 0; \ - if (__access_ok((long) __su_str, 0, get_fs())) \ + if (__access_ok(__su_str, 0, get_fs())) \ __su_ret = __strlen_user(__su_str); \ __su_ret; \ }) @@ -273,13 +332,13 @@ extern unsigned long __strlen_user (const char *); * (N), a value greater than N if the limit would be exceeded, else * strlen. */ -extern unsigned long __strnlen_user (const char *, long); +extern unsigned long __strnlen_user (const char __user *, long); #define strnlen_user(str, len) \ ({ \ - const char *__su_str = (str); \ + const char __user *__su_str = (str); \ unsigned long __su_ret = 0; \ - if (__access_ok((long) __su_str, 0, get_fs())) \ + if (__access_ok(__su_str, 0, get_fs())) \ __su_ret = __strnlen_user(__su_str, len); \ __su_ret; \ }) diff --git a/include/asm-ia64/unistd.h b/include/asm-ia64/unistd.h index 1f0a16bed..93459d9de 100644 --- a/include/asm-ia64/unistd.h +++ b/include/asm-ia64/unistd.h @@ -369,8 +369,8 @@ asmlinkage unsigned long sys_mmap2( int fd, long pgoff); struct pt_regs; struct sigaction; -asmlinkage long sys_execve(char *filename, char **argv, char **envp, - struct pt_regs *regs); +asmlinkage long sys_execve(char __user *filename, char __user * __user *argv, + char __user * __user *envp, struct pt_regs *regs); asmlinkage long sys_pipe(long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long arg7, long stack); asmlinkage long sys_ptrace(long request, pid_t pid, diff --git a/include/asm-m68k/cacheflush.h b/include/asm-m68k/cacheflush.h index da8399855..3b2e5205b 100644 --- a/include/asm-m68k/cacheflush.h +++ b/include/asm-m68k/cacheflush.h @@ -132,10 +132,18 @@ static inline void __flush_page_to_ram(void *vaddr) #define flush_dcache_mmap_unlock(mapping) do { } while (0) #define flush_icache_page(vma, page) __flush_page_to_ram(page_address(page)) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) + #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) + #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) extern void flush_icache_range(unsigned long address, unsigned long endaddr); diff --git a/include/asm-m68k/module.h b/include/asm-m68k/module.h index c6d75af2d..ee98908db 100644 --- a/include/asm-m68k/module.h +++ b/include/asm-m68k/module.h @@ -1,7 +1,12 @@ #ifndef _ASM_M68K_MODULE_H #define _ASM_M68K_MODULE_H struct mod_arch_specific { }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #endif /* _ASM_M68K_MODULE_H */ diff --git a/include/asm-m68k/resource.h b/include/asm-m68k/resource.h index e1f406bf2..92a8ff5c8 100644 --- a/include/asm-m68k/resource.h +++ b/include/asm-m68k/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-mips/module.h b/include/asm-mips/module.h index 90ee24aad..5e431fbbe 100644 --- a/include/asm-mips/module.h +++ b/include/asm-mips/module.h @@ -27,17 +27,27 @@ typedef struct #ifdef CONFIG_MIPS32 +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #endif #ifdef CONFIG_MIPS64 +#define MODULES_ARE_ELF64 #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define Elf_Ehdr Elf64_Ehdr +#define Elf_Rel Elf64_Rel +#define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) #endif diff --git a/include/asm-mips/processor.h b/include/asm-mips/processor.h index 8e38389a9..a502e8360 100644 --- a/include/asm-mips/processor.h +++ b/include/asm-mips/processor.h @@ -137,9 +137,9 @@ extern unsigned int vced_count, vcei_count; #endif /* - * Size of io_bitmap in longwords: 32 is ports 0-0x3ff. + * Size of io_bitmap in longwords. */ -#define IO_BITMAP_SIZE 32 +#define IO_BITMAP_SIZE 2048 #define NUM_FPU_REGS 32 diff --git a/include/asm-mips/ptrace.h b/include/asm-mips/ptrace.h index 19cadb657..2a090cf36 100644 --- a/include/asm-mips/ptrace.h +++ b/include/asm-mips/ptrace.h @@ -66,6 +66,7 @@ struct pt_regs { #define user_mode(regs) (((regs)->cp0_status & KU_MASK) == KU_USER) #define instruction_pointer(regs) ((regs)->cp0_epc) +#define profile_pc(regs) instruction_pointer(regs) extern void show_regs(struct pt_regs *); diff --git a/include/asm-mips/resource.h b/include/asm-mips/resource.h index 2453e0d1c..62e1ce028 100644 --- a/include/asm-mips/resource.h +++ b/include/asm-mips/resource.h @@ -53,7 +53,7 @@ { INR_OPEN, INR_OPEN }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ - { 0, 0 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-mips/semaphore.h b/include/asm-mips/semaphore.h index ed9a3d774..c2c97dec6 100644 --- a/include/asm-mips/semaphore.h +++ b/include/asm-mips/semaphore.h @@ -37,22 +37,13 @@ struct semaphore { */ atomic_t count; wait_queue_head_t wait; -#ifdef WAITQUEUE_DEBUG - long __magic; -#endif }; -#ifdef WAITQUEUE_DEBUG -# define __SEM_DEBUG_INIT(name) \ - , (long)&(name).__magic -#else -# define __SEM_DEBUG_INIT(name) -#endif - -#define __SEMAPHORE_INITIALIZER(name, count) \ - { ATOMIC_INIT(count), \ - __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ - __SEM_DEBUG_INIT(name) } +#define __SEMAPHORE_INITIALIZER(name, n) \ +{ \ + .count = ATOMIC_INIT(n), \ + .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ +} #define __MUTEX_INITIALIZER(name) \ __SEMAPHORE_INITIALIZER(name, 1) @@ -67,9 +58,6 @@ static inline void sema_init (struct semaphore *sem, int val) { atomic_set(&sem->count, val); init_waitqueue_head(&sem->wait); -#ifdef WAITQUEUE_DEBUG - sem->__magic = (long)&sem->__magic; -#endif } static inline void init_MUTEX (struct semaphore *sem) @@ -88,9 +76,6 @@ extern void __up(struct semaphore * sem); static inline void down(struct semaphore * sem) { -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); /* @@ -104,9 +89,6 @@ static inline int down_interruptible(struct semaphore * sem) { int ret = 0; -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); if (unlikely(atomic_dec_return(&sem->count) < 0)) @@ -116,19 +98,11 @@ static inline int down_interruptible(struct semaphore * sem) static inline int down_trylock(struct semaphore * sem) { -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - return atomic_dec_if_positive(&sem->count) < 0; } static inline void up(struct semaphore * sem) { -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - if (unlikely(atomic_inc_return(&sem->count) <= 0)) __up(sem); } diff --git a/include/asm-mips/uaccess.h b/include/asm-mips/uaccess.h index 759d072b6..adbb24bd9 100644 --- a/include/asm-mips/uaccess.h +++ b/include/asm-mips/uaccess.h @@ -13,6 +13,7 @@ #include #include #include +#include /* * The fs value determines whether argument validity checking should be diff --git a/include/asm-mips/vr41xx/vrc4173.h b/include/asm-mips/vr41xx/vrc4173.h index b14ef0377..591b81b7a 100644 --- a/include/asm-mips/vr41xx/vrc4173.h +++ b/include/asm-mips/vr41xx/vrc4173.h @@ -48,6 +48,8 @@ /* * PCI I/O accesses */ +#ifdef CONFIG_VRC4173 + extern unsigned long vrc4173_io_offset; #define set_vrc4173_io_offset(offset) do { vrc4173_io_offset = (offset); } while (0) @@ -74,6 +76,34 @@ extern unsigned long vrc4173_io_offset; #define vrc4173_insw(port,addr,count) insw(vrc4173_io_offset+(port),(addr),(count)) #define vrc4173_insl(port,addr,count) insl(vrc4173_io_offset+(port),(addr),(count)) +#else + +#define set_vrc4173_io_offset(offset) do {} while (0) + +#define vrc4173_outb(val,port) do {} while (0) +#define vrc4173_outw(val,port) do {} while (0) +#define vrc4173_outl(val,port) do {} while (0) +#define vrc4173_outb_p(val,port) do {} while (0) +#define vrc4173_outw_p(val,port) do {} while (0) +#define vrc4173_outl_p(val,port) do {} while (0) + +#define vrc4173_inb(port) 0 +#define vrc4173_inw(port) 0 +#define vrc4173_inl(port) 0 +#define vrc4173_inb_p(port) 0 +#define vrc4173_inw_p(port) 0 +#define vrc4173_inl_p(port) 0 + +#define vrc4173_outsb(port,addr,count) do {} while (0) +#define vrc4173_outsw(port,addr,count) do {} while (0) +#define vrc4173_outsl(port,addr,count) do {} while (0) + +#define vrc4173_insb(port,addr,count) do {} while (0) +#define vrc4173_insw(port,addr,count) do {} while (0) +#define vrc4173_insl(port,addr,count) do {} while (0) + +#endif + /* * Clock Mask Unit */ @@ -92,9 +122,77 @@ typedef enum vrc4173_clock { VRC4173_48MHz_CLOCK, } vrc4173_clock_t; +#ifdef CONFIG_VRC4173 + extern void vrc4173_supply_clock(vrc4173_clock_t clock); extern void vrc4173_mask_clock(vrc4173_clock_t clock); +#else + +static inline void vrc4173_supply_clock(vrc4173_clock_t clock) {} +static inline void vrc4173_mask_clock(vrc4173_clock_t clock) {} + +#endif + +/* + * Interupt Control Unit + */ + +#define VRC4173_PIUINT_COMMAND 0x0040 +#define VRC4173_PIUINT_DATA 0x0020 +#define VRC4173_PIUINT_PAGE1 0x0010 +#define VRC4173_PIUINT_PAGE0 0x0008 +#define VRC4173_PIUINT_DATALOST 0x0004 +#define VRC4173_PIUINT_STATUSCHANGE 0x0001 + +#ifdef CONFIG_VRC4173 + +extern void vrc4173_enable_piuint(uint16_t mask); +extern void vrc4173_disable_piuint(uint16_t mask); + +#else + +static inline void vrc4173_enable_piuint(uint16_t mask) {} +static inline void vrc4173_disable_piuint(uint16_t mask) {} + +#endif + +#define VRC4173_AIUINT_INPUT_DMAEND 0x0800 +#define VRC4173_AIUINT_INPUT_DMAHALT 0x0400 +#define VRC4173_AIUINT_INPUT_DATALOST 0x0200 +#define VRC4173_AIUINT_INPUT_DATA 0x0100 +#define VRC4173_AIUINT_OUTPUT_DMAEND 0x0008 +#define VRC4173_AIUINT_OUTPUT_DMAHALT 0x0004 +#define VRC4173_AIUINT_OUTPUT_NODATA 0x0002 + +#ifdef CONFIG_VRC4173 + +extern void vrc4173_enable_aiuint(uint16_t mask); +extern void vrc4173_disable_aiuint(uint16_t mask); + +#else + +static inline void vrc4173_enable_aiuint(uint16_t mask) {} +static inline void vrc4173_disable_aiuint(uint16_t mask) {} + +#endif + +#define VRC4173_KIUINT_DATALOST 0x0004 +#define VRC4173_KIUINT_DATAREADY 0x0002 +#define VRC4173_KIUINT_SCAN 0x0001 + +#ifdef CONFIG_VRC4173 + +extern void vrc4173_enable_kiuint(uint16_t mask); +extern void vrc4173_disable_kiuint(uint16_t mask); + +#else + +static inline void vrc4173_enable_kiuint(uint16_t mask) {} +static inline void vrc4173_disable_kiuint(uint16_t mask) {} + +#endif + /* * General-Purpose I/O Unit */ @@ -109,6 +207,14 @@ typedef enum vrc4173_function { GPIO_16_20PINS, } vrc4173_function_t; +#ifdef CONFIG_VRC4173 + extern void vrc4173_select_function(vrc4173_function_t function); +#else + +static inline void vrc4173_select_function(vrc4173_function_t function) {} + +#endif + #endif /* __NEC_VRC4173_H */ diff --git a/include/asm-parisc/cacheflush.h b/include/asm-parisc/cacheflush.h index 3086cdaf4..af0626dfa 100644 --- a/include/asm-parisc/cacheflush.h +++ b/include/asm-parisc/cacheflush.h @@ -77,11 +77,17 @@ extern void flush_dcache_page(struct page *page); #define flush_icache_range(s,e) do { flush_kernel_dcache_range_asm(s,e); flush_kernel_icache_range_asm(s,e); } while (0) #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ -do { memcpy(dst, src, len); \ - flush_kernel_dcache_range_asm((unsigned long)dst, (unsigned long)dst + len); \ +do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + flush_kernel_dcache_range_asm((unsigned long)dst, (unsigned long)dst + len); \ } while (0) + #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) +do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ +} while (0) static inline void flush_cache_range(struct vm_area_struct *vma, unsigned long start, unsigned long end) diff --git a/include/asm-parisc/module.h b/include/asm-parisc/module.h index 43ecd7621..8ac72b528 100644 --- a/include/asm-parisc/module.h +++ b/include/asm-parisc/module.h @@ -4,17 +4,25 @@ * This file contains the parisc architecture specific module code. */ #ifdef __LP64__ +#define MODULES_ARE_ELF64 #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define Elf_Ehdr Elf64_Ehdr #define Elf_Addr Elf64_Addr +#define Elf_Rel Elf64_Rel #define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) #else +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr #define Elf_Addr Elf32_Addr +#define Elf_Rel Elf32_Rel #define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #endif struct mod_arch_specific diff --git a/include/asm-parisc/resource.h b/include/asm-parisc/resource.h index a60e62e8d..491f29e49 100644 --- a/include/asm-parisc/resource.h +++ b/include/asm-parisc/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-parisc/unistd.h b/include/asm-parisc/unistd.h index 2a3434de2..ccff9198e 100644 --- a/include/asm-parisc/unistd.h +++ b/include/asm-parisc/unistd.h @@ -730,7 +730,7 @@ #define __NR_vserver (__NR_Linux + 273) -#define __NR_Linux_syscalls 273 +#define __NR_Linux_syscalls 273 #define HPUX_GATEWAY_ADDR 0xC0000004 #define LINUX_GATEWAY_ADDR 0x100 diff --git a/include/asm-ppc/dma-mapping.h b/include/asm-ppc/dma-mapping.h index 9be4f7297..7f0487afe 100644 --- a/include/asm-ppc/dma-mapping.h +++ b/include/asm-ppc/dma-mapping.h @@ -8,7 +8,6 @@ #include /* need struct page definitions */ #include -#include #include #include diff --git a/include/asm-ppc/ibm44x.h b/include/asm-ppc/ibm44x.h index bed6a7e01..2aea5c891 100644 --- a/include/asm-ppc/ibm44x.h +++ b/include/asm-ppc/ibm44x.h @@ -94,8 +94,8 @@ #define DCRN_SDR_CONFIG_DATA 0xf #define DCRN_SDR_PFC0 0x4100 #define DCRN_SDR_PFC1 0x4101 -#define DCRN_SDR_PFC1_EPS 0x1c000000 -#define DCRN_SDR_PFC1_EPS_SHIFT 26 +#define DCRN_SDR_PFC1_EPS 0x1c00000 +#define DCRN_SDR_PFC1_EPS_SHIFT 22 #define DCRN_SDR_PFC1_RMII 0x02000000 #define DCRN_SDR_MFR 0x4300 #define DCRN_SDR_MFR_TAH0 0x80000000 /* TAHOE0 Enable */ diff --git a/include/asm-ppc/ide.h b/include/asm-ppc/ide.h index 6c091582d..7d6e6599f 100644 --- a/include/asm-ppc/ide.h +++ b/include/asm-ppc/ide.h @@ -24,10 +24,10 @@ #include #include -extern void __ide_mm_insw(unsigned long port, void *addr, u32 count); -extern void __ide_mm_outsw(unsigned long port, void *addr, u32 count); -extern void __ide_mm_insl(unsigned long port, void *addr, u32 count); -extern void __ide_mm_outsl(unsigned long port, void *addr, u32 count); +extern void __ide_mm_insw(void __iomem *port, void *addr, u32 count); +extern void __ide_mm_outsw(void __iomem *port, void *addr, u32 count); +extern void __ide_mm_insl(void __iomem *port, void *addr, u32 count); +extern void __ide_mm_outsl(void __iomem *port, void *addr, u32 count); struct ide_machdep_calls { int (*default_irq)(unsigned long base); diff --git a/include/asm-ppc/io.h b/include/asm-ppc/io.h index a893418be..5abdd426b 100644 --- a/include/asm-ppc/io.h +++ b/include/asm-ppc/io.h @@ -4,7 +4,6 @@ #include #include -#include #include #include @@ -399,6 +398,79 @@ static inline int isa_check_signature(unsigned long io_addr, return 0; } +/* + * Here comes the ppc implementation of the IOMAP + * interfaces. + */ +static inline unsigned int ioread8(void __iomem *addr) +{ + return readb(addr); +} + +static inline unsigned int ioread16(void __iomem *addr) +{ + return readw(addr); +} + +static inline unsigned int ioread32(void __iomem *addr) +{ + return readl(addr); +} + +static inline void iowrite8(u8 val, void __iomem *addr) +{ + writeb(val, addr); +} + +static inline void iowrite16(u16 val, void __iomem *addr) +{ + writew(val, addr); +} + +static inline void iowrite32(u32 val, void __iomem *addr) +{ + writel(val, addr); +} + +static inline void ioread8_rep(void __iomem *addr, void *dst, unsigned long count) +{ + _insb((u8 __force *) addr, dst, count); +} + +static inline void ioread16_rep(void __iomem *addr, void *dst, unsigned long count) +{ + _insw_ns((u16 __force *) addr, dst, count); +} + +static inline void ioread32_rep(void __iomem *addr, void *dst, unsigned long count) +{ + _insl_ns((u32 __force *) addr, dst, count); +} + +static inline void iowrite8_rep(void __iomem *addr, const void *src, unsigned long count) +{ + _outsb((u8 __force *) addr, src, count); +} + +static inline void iowrite16_rep(void __iomem *addr, const void *src, unsigned long count) +{ + _outsw_ns((u16 __force *) addr, src, count); +} + +static inline void iowrite32_rep(void __iomem *addr, const void *src, unsigned long count) +{ + _outsl_ns((u32 __force *) addr, src, count); +} + +/* Create a virtual mapping cookie for an IO port range */ +extern void __iomem *ioport_map(unsigned long port, unsigned int nr); +extern void ioport_unmap(void __iomem *); + +/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */ +struct pci_dev; +extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max); +extern void pci_iounmap(struct pci_dev *dev, void __iomem *); + #endif /* _PPC_IO_H */ #ifdef CONFIG_8260_PCI9 diff --git a/include/asm-ppc/module.h b/include/asm-ppc/module.h index fb6349256..1f8fe1c95 100644 --- a/include/asm-ppc/module.h +++ b/include/asm-ppc/module.h @@ -32,9 +32,14 @@ struct mod_arch_specific extern struct bug_entry *module_find_bug(unsigned long bugaddr); +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) /* Make empty sections for module_frob_arch_sections to expand. */ #ifdef MODULE diff --git a/include/asm-ppc/mpc8260.h b/include/asm-ppc/mpc8260.h index 61b6a191a..219af7fd0 100644 --- a/include/asm-ppc/mpc8260.h +++ b/include/asm-ppc/mpc8260.h @@ -40,6 +40,10 @@ #include #endif +#ifdef CONFIG_PCI_8260 +#include +#endif + /* Make sure the memory translation stuff is there if PCI not used. */ #ifndef _IO_BASE diff --git a/include/asm-ppc/ppc_asm.h b/include/asm-ppc/ppc_asm.h index 13fa8e748..4a17d74ea 100644 --- a/include/asm-ppc/ppc_asm.h +++ b/include/asm-ppc/ppc_asm.h @@ -116,7 +116,7 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601) li r4,1024; \ mtctr r4; \ lis r4,KERNELBASE@h; \ -0: tlbie r4; \ +0: tlbie r4, 0; \ addi r4,r4,0x1000; \ bdnz 0b #endif diff --git a/include/asm-ppc/ppcboot.h b/include/asm-ppc/ppcboot.h index ca2c16b8c..c2a4b94e4 100644 --- a/include/asm-ppc/ppcboot.h +++ b/include/asm-ppc/ppcboot.h @@ -30,20 +30,6 @@ #ifndef __ASSEMBLY__ #include -typedef void (interrupt_handler_t)(void *); - -typedef struct monitor_functions { - int (*getc)(void); - int (*tstc)(void); - void (*putc)(const char c); - void (*puts)(const char *s); - void (*printf)(const char *fmt, ...); - void (*install_hdlr)(int, interrupt_handler_t *, void *); - void (*free_hdlr)(int); - void *(*malloc)(size_t); - void (*free)(void *); -} mon_fnc_t; - typedef struct bd_info { unsigned long bi_memstart; /* start of DRAM memory */ unsigned long bi_memsize; /* size of DRAM memory in bytes */ @@ -75,7 +61,7 @@ typedef struct bd_info { unsigned long bi_pcifreq; /* PCI Bus Freq, in MHz */ #endif unsigned long bi_baudrate; /* Console Baudrate */ -#if defined(CONFIG_405GP) +#if defined(CONFIG_4xx) unsigned char bi_s_version[4]; /* Version of this structure */ unsigned char bi_r_version[32]; /* Version of the ROM (IBM) */ unsigned int bi_procfreq; /* CPU (Internal) Freq, in Hz */ @@ -86,12 +72,26 @@ typedef struct bd_info { #if defined(CONFIG_HYMOD) hymod_conf_t bi_hymod_conf; /* hymod configuration information */ #endif -#if defined(CONFIG_EVB64260) || defined(CONFIG_85xx) - /* the board has three onboard ethernet ports */ +#if defined(CONFIG_EVB64260) || defined(CONFIG_44x) || defined(CONFIG_85xx) + /* second onboard ethernet port */ unsigned char bi_enet1addr[6]; +#endif +#if defined(CONFIG_EVB64260) || defined(CONFIG_440GX) || defined(CONFIG_85xx) + /* third onboard ethernet ports */ unsigned char bi_enet2addr[6]; #endif - mon_fnc_t *bi_mon_fnc; /* Pointer to monitor functions */ +#if defined(CONFIG_440GX) + /* fourth onboard ethernet ports */ + unsigned char bi_enet3addr[6]; +#endif +#if defined(CONFIG_4xx) + unsigned int bi_opbfreq; /* OB clock in Hz */ + int bi_iic_fast[2]; /* Use fast i2c mode */ +#endif +#if defined(CONFIG_440GX) + int bi_phynum[4]; /* phy mapping */ + int bi_phymode[4]; /* phy mode */ +#endif } bd_t; #endif /* __ASSEMBLY__ */ diff --git a/include/asm-ppc/ptrace.h b/include/asm-ppc/ptrace.h index 2576a7f90..9d4e4ea53 100644 --- a/include/asm-ppc/ptrace.h +++ b/include/asm-ppc/ptrace.h @@ -47,6 +47,12 @@ struct pt_regs { #ifndef __ASSEMBLY__ #define instruction_pointer(regs) ((regs)->nip) +#ifdef CONFIG_SMP +extern unsigned long profile_pc(struct pt_regs *regs); +#else +#define profile_pc(regs) instruction_pointer(regs) +#endif + #define user_mode(regs) (((regs)->msr & MSR_PR) != 0) #define force_successful_syscall_return() \ diff --git a/include/asm-ppc/reg_booke.h b/include/asm-ppc/reg_booke.h index 474abb894..0741b75da 100644 --- a/include/asm-ppc/reg_booke.h +++ b/include/asm-ppc/reg_booke.h @@ -123,9 +123,10 @@ do { \ #define SPRN_PID2 0x27A /* Process ID Register 2 */ #define SPRN_TLB0CFG 0x2B0 /* TLB 0 Config Register */ #define SPRN_TLB1CFG 0x2B1 /* TLB 1 Config Register */ +#define SPRN_CCR1 0x378 /* Core Configuration Register 1 */ #define SPRN_ZPR 0x3B0 /* Zone Protection Register (40x) */ #define SPRN_MMUCR 0x3B2 /* MMU Control Register */ -#define SPRN_CCR0 0x3B3 /* Core Configuration Register */ +#define SPRN_CCR0 0x3B3 /* Core Configuration Register 0 */ #define SPRN_SGR 0x3B9 /* Storage Guarded Register */ #define SPRN_DCWR 0x3BA /* Data Cache Write-thru Register */ #define SPRN_SLER 0x3BB /* Little-endian real mode */ @@ -179,6 +180,9 @@ do { \ #define SPRN_CSRR1 SPRN_SRR3 /* Critical Save and Restore Register 1 */ #endif +/* Bit definitions for CCR1. */ +#define CCR1_TCS 0x00000080 /* Timer Clock Select */ + /* Bit definitions for the MCSR. */ #ifdef CONFIG_440A #define MCSR_MCS 0x80000000 /* Machine Check Summary */ diff --git a/include/asm-ppc/resource.h b/include/asm-ppc/resource.h index f4325ea1a..2953d9bdc 100644 --- a/include/asm-ppc/resource.h +++ b/include/asm-ppc/resource.h @@ -36,7 +36,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-ppc/serial.h b/include/asm-ppc/serial.h index 310206e28..affec9786 100644 --- a/include/asm-ppc/serial.h +++ b/include/asm-ppc/serial.h @@ -13,17 +13,17 @@ #elif defined(CONFIG_GEMINI) #include #elif defined(CONFIG_POWERPMC250) -#include +#include #elif defined(CONFIG_LOPEC) -#include +#include #elif defined(CONFIG_MCPN765) -#include +#include #elif defined(CONFIG_MVME5100) -#include +#include #elif defined(CONFIG_PRPMC750) -#include +#include #elif defined(CONFIG_PRPMC800) -#include +#include #elif defined(CONFIG_SANDPOINT) #include #elif defined(CONFIG_SPRUCE) diff --git a/include/asm-ppc64/bitops.h b/include/asm-ppc64/bitops.h index 6d820e7ea..a0f831224 100644 --- a/include/asm-ppc64/bitops.h +++ b/include/asm-ppc64/bitops.h @@ -22,6 +22,15 @@ * it will be a bad memory reference since we want to store in chunks * of unsigned long (64 bits here) size. * + * There are a few little-endian macros used mostly for filesystem bitmaps, + * these work on similar bit arrays layouts, but byte-oriented: + * + * |7...0|15...8|23...16|31...24|39...32|47...40|55...48|63...56| + * + * The main difference is that bit 3-5 in the bit number field needs to be + * reversed compared to the big-endian bit fields. This can be achieved + * by XOR with 0b111000 (0x38). + * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version @@ -306,71 +315,34 @@ static __inline__ int test_le_bit(unsigned long nr, __const__ unsigned long * ad return (ADDR[nr >> 3] >> (nr & 7)) & 1; } +#define test_and_clear_le_bit(nr, addr) \ + test_and_clear_bit((nr) ^ 0x38, (addr)) +#define test_and_set_le_bit(nr, addr) \ + test_and_set_bit((nr) ^ 0x38, (addr)) + /* * non-atomic versions */ -static __inline__ void __set_le_bit(unsigned long nr, unsigned long *addr) -{ - unsigned char *ADDR = (unsigned char *)addr; - - ADDR += nr >> 3; - *ADDR |= 1 << (nr & 0x07); -} - -static __inline__ void __clear_le_bit(unsigned long nr, unsigned long *addr) -{ - unsigned char *ADDR = (unsigned char *)addr; - ADDR += nr >> 3; - *ADDR &= ~(1 << (nr & 0x07)); -} - -static __inline__ int __test_and_set_le_bit(unsigned long nr, unsigned long *addr) -{ - int mask, retval; - unsigned char *ADDR = (unsigned char *)addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - retval = (mask & *ADDR) != 0; - *ADDR |= mask; - return retval; -} - -static __inline__ int __test_and_clear_le_bit(unsigned long nr, unsigned long *addr) -{ - int mask, retval; - unsigned char *ADDR = (unsigned char *)addr; - - ADDR += nr >> 3; - mask = 1 << (nr & 0x07); - retval = (mask & *ADDR) != 0; - *ADDR &= ~mask; - return retval; -} +#define __set_le_bit(nr, addr) \ + __set_bit((nr) ^ 0x38, (addr)) +#define __clear_le_bit(nr, addr) \ + __clear_bit((nr) ^ 0x38, (addr)) +#define __test_and_clear_le_bit(nr, addr) \ + __test_and_clear_bit((nr) ^ 0x38, (addr)) +#define __test_and_set_le_bit(nr, addr) \ + __test_and_set_bit((nr) ^ 0x38, (addr)) #define ext2_set_bit(nr,addr) \ - __test_and_set_le_bit((nr),(unsigned long*)addr) + __test_and_set_le_bit((nr), (unsigned long*)addr) #define ext2_clear_bit(nr, addr) \ - __test_and_clear_le_bit((nr),(unsigned long*)addr) - -#define ext2_set_bit_atomic(lock, nr, addr) \ - ({ \ - int ret; \ - spin_lock(lock); \ - ret = ext2_set_bit((nr), (addr)); \ - spin_unlock(lock); \ - ret; \ - }) - -#define ext2_clear_bit_atomic(lock, nr, addr) \ - ({ \ - int ret; \ - spin_lock(lock); \ - ret = ext2_clear_bit((nr), (addr)); \ - spin_unlock(lock); \ - ret; \ - }) + __test_and_clear_le_bit((nr), (unsigned long*)addr) + +#define ext2_set_bit_atomic(lock, nr, addr) \ + test_and_set_le_bit((nr), (unsigned long*)addr) +#define ext2_clear_bit_atomic(lock, nr, addr) \ + test_and_clear_le_bit((nr), (unsigned long*)addr) + #define ext2_test_bit(nr, addr) test_le_bit((nr),(unsigned long*)addr) #define ext2_find_first_zero_bit(addr, size) \ diff --git a/include/asm-ppc64/eeh.h b/include/asm-ppc64/eeh.h index a877ce9aa..2f78baa0a 100644 --- a/include/asm-ppc64/eeh.h +++ b/include/asm-ppc64/eeh.h @@ -26,26 +26,19 @@ struct pci_dev; struct device_node; -/* I/O addresses are converted to EEH "tokens" such that a driver will cause - * a bad page fault if the address is used directly (i.e. these addresses are - * never actually mapped. Translation between IO <-> EEH region is 1 to 1. - */ -#define IO_TOKEN_TO_ADDR(token) \ - (((unsigned long)(token) & ~(0xfUL << REGION_SHIFT)) | \ - (IO_REGION_ID << REGION_SHIFT)) - -#define IO_ADDR_TO_TOKEN(addr) \ - (((unsigned long)(addr) & ~(0xfUL << REGION_SHIFT)) | \ - (EEH_REGION_ID << REGION_SHIFT)) - /* Values for eeh_mode bits in device_node */ #define EEH_MODE_SUPPORTED (1<<0) #define EEH_MODE_NOCHECK (1<<1) +#ifdef CONFIG_PPC_PSERIES extern void __init eeh_init(void); -unsigned long eeh_check_failure(void *token, unsigned long val); -void *eeh_ioremap(unsigned long addr, void *vaddr); +unsigned long eeh_check_failure(const volatile void __iomem *token, unsigned long val); +int eeh_dn_check_failure (struct device_node *dn, struct pci_dev *dev); +void __iomem *eeh_ioremap(unsigned long addr, void __iomem *vaddr); void __init pci_addr_cache_build(void); +#else +#define eeh_check_failure(token, val) (val) +#endif /** * eeh_add_device_early @@ -78,113 +71,107 @@ int eeh_set_option(struct pci_dev *dev, int options); /* * EEH_POSSIBLE_ERROR() -- test for possible MMIO failure. * - * Order this macro for performance. - * If EEH is off for a device and it is a memory BAR, ioremap will - * map it to the IOREGION. In this case addr == vaddr and since these - * should be in registers we compare them first. Next we check for - * ff's which indicates a (very) possible failure. - * * If this macro yields TRUE, the caller relays to eeh_check_failure() * which does further tests out of line. */ -#define EEH_POSSIBLE_IO_ERROR(val, type) ((val) == (type)~0) +#define EEH_POSSIBLE_ERROR(val, type) ((val) == (type)~0) -/* The vaddr will equal the addr if EEH checking is disabled for - * this device. This is because eeh_ioremap() will not have - * remapped to 0xA0, and thus both vaddr and addr will be 0xE0... +/* + * Reads from a device which has been isolated by EEH will return + * all 1s. This macro gives an all-1s value of the given size (in + * bytes: 1, 2, or 4) for comparing with the result of a read. */ -#define EEH_POSSIBLE_ERROR(addr, vaddr, val, type) \ - ((vaddr) != (addr) && EEH_POSSIBLE_IO_ERROR(val, type)) +#define EEH_IO_ERROR_VALUE(size) (~0U >> ((4 - (size)) * 8)) /* * MMIO read/write operations with EEH support. */ -static inline u8 eeh_readb(void *addr) { - volatile u8 *vaddr = (volatile u8 *)IO_TOKEN_TO_ADDR(addr); +static inline u8 eeh_readb(const volatile void __iomem *addr) { + volatile u8 *vaddr = (volatile u8 __force *) addr; u8 val = in_8(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u8)) + if (EEH_POSSIBLE_ERROR(val, u8)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_writeb(u8 val, void *addr) { - volatile u8 *vaddr = (volatile u8 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_writeb(u8 val, volatile void __iomem *addr) { + volatile u8 *vaddr = (volatile u8 __force *) addr; out_8(vaddr, val); } -static inline u16 eeh_readw(void *addr) { - volatile u16 *vaddr = (volatile u16 *)IO_TOKEN_TO_ADDR(addr); +static inline u16 eeh_readw(const volatile void __iomem *addr) { + volatile u16 *vaddr = (volatile u16 __force *) addr; u16 val = in_le16(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u16)) + if (EEH_POSSIBLE_ERROR(val, u16)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_writew(u16 val, void *addr) { - volatile u16 *vaddr = (volatile u16 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_writew(u16 val, volatile void __iomem *addr) { + volatile u16 *vaddr = (volatile u16 __force *) addr; out_le16(vaddr, val); } -static inline u16 eeh_raw_readw(void *addr) { - volatile u16 *vaddr = (volatile u16 *)IO_TOKEN_TO_ADDR(addr); +static inline u16 eeh_raw_readw(const volatile void __iomem *addr) { + volatile u16 *vaddr = (volatile u16 __force *) addr; u16 val = in_be16(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u16)) + if (EEH_POSSIBLE_ERROR(val, u16)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_raw_writew(u16 val, void *addr) { - volatile u16 *vaddr = (volatile u16 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_raw_writew(u16 val, volatile void __iomem *addr) { + volatile u16 *vaddr = (volatile u16 __force *) addr; out_be16(vaddr, val); } -static inline u32 eeh_readl(void *addr) { - volatile u32 *vaddr = (volatile u32 *)IO_TOKEN_TO_ADDR(addr); +static inline u32 eeh_readl(const volatile void __iomem *addr) { + volatile u32 *vaddr = (volatile u32 __force *) addr; u32 val = in_le32(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u32)) + if (EEH_POSSIBLE_ERROR(val, u32)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_writel(u32 val, void *addr) { - volatile u32 *vaddr = (volatile u32 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_writel(u32 val, volatile void __iomem *addr) { + volatile u32 *vaddr = (volatile u32 __force *) addr; out_le32(vaddr, val); } -static inline u32 eeh_raw_readl(void *addr) { - volatile u32 *vaddr = (volatile u32 *)IO_TOKEN_TO_ADDR(addr); +static inline u32 eeh_raw_readl(const volatile void __iomem *addr) { + volatile u32 *vaddr = (volatile u32 __force *) addr; u32 val = in_be32(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u32)) + if (EEH_POSSIBLE_ERROR(val, u32)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_raw_writel(u32 val, void *addr) { - volatile u32 *vaddr = (volatile u32 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_raw_writel(u32 val, volatile void __iomem *addr) { + volatile u32 *vaddr = (volatile u32 __force *) addr; out_be32(vaddr, val); } -static inline u64 eeh_readq(void *addr) { - volatile u64 *vaddr = (volatile u64 *)IO_TOKEN_TO_ADDR(addr); +static inline u64 eeh_readq(const volatile void __iomem *addr) { + volatile u64 *vaddr = (volatile u64 __force *) addr; u64 val = in_le64(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u64)) + if (EEH_POSSIBLE_ERROR(val, u64)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_writeq(u64 val, void *addr) { - volatile u64 *vaddr = (volatile u64 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_writeq(u64 val, volatile void __iomem *addr) { + volatile u64 *vaddr = (volatile u64 __force *) addr; out_le64(vaddr, val); } -static inline u64 eeh_raw_readq(void *addr) { - volatile u64 *vaddr = (volatile u64 *)IO_TOKEN_TO_ADDR(addr); +static inline u64 eeh_raw_readq(const volatile void __iomem *addr) { + volatile u64 *vaddr = (volatile u64 __force *) addr; u64 val = in_be64(vaddr); - if (EEH_POSSIBLE_ERROR(addr, vaddr, val, u64)) + if (EEH_POSSIBLE_ERROR(val, u64)) return eeh_check_failure(addr, val); return val; } -static inline void eeh_raw_writeq(u64 val, void *addr) { - volatile u64 *vaddr = (volatile u64 *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_raw_writeq(u64 val, volatile void __iomem *addr) { + volatile u64 *vaddr = (volatile u64 __force *) addr; out_be64(vaddr, val); } #define EEH_CHECK_ALIGN(v,a) \ ((((unsigned long)(v)) & ((a) - 1)) == 0) -static inline void eeh_memset_io(void *addr, int c, unsigned long n) { - void *vaddr = (void *)IO_TOKEN_TO_ADDR(addr); +static inline void eeh_memset_io(volatile void __iomem *addr, int c, unsigned long n) { + void *vaddr = (void __force *) addr; u32 lc = c; lc |= lc << 8; lc |= lc << 16; @@ -206,9 +193,9 @@ static inline void eeh_memset_io(void *addr, int c, unsigned long n) { } __asm__ __volatile__ ("sync" : : : "memory"); } -static inline void eeh_memcpy_fromio(void *dest, void *src, unsigned long n) { - void *vsrc = (void *)IO_TOKEN_TO_ADDR(src); - void *vsrcsave = vsrc, *destsave = dest, *srcsave = src; +static inline void eeh_memcpy_fromio(void *dest, const volatile void __iomem *src, unsigned long n) { + void *vsrc = (void __force *) src; + void *destsave = dest; unsigned long nsave = n; while(n && (!EEH_CHECK_ALIGN(vsrc, 4) || !EEH_CHECK_ALIGN(dest, 4))) { @@ -238,14 +225,13 @@ static inline void eeh_memcpy_fromio(void *dest, void *src, unsigned long n) { * were copied. Check all four bytes. */ if ((nsave >= 4) && - (EEH_POSSIBLE_ERROR(srcsave, vsrcsave, (*((u32 *) destsave+nsave-4)), - u32))) { - eeh_check_failure(srcsave, (*((u32 *) destsave+nsave-4))); + (EEH_POSSIBLE_ERROR((*((u32 *) destsave+nsave-4)), u32))) { + eeh_check_failure(src, (*((u32 *) destsave+nsave-4))); } } -static inline void eeh_memcpy_toio(void *dest, void *src, unsigned long n) { - void *vdest = (void *)IO_TOKEN_TO_ADDR(dest); +static inline void eeh_memcpy_toio(volatile void __iomem *dest, const void *src, unsigned long n) { + void *vdest = (void __force *) dest; while(n && (!EEH_CHECK_ALIGN(vdest, 4) || !EEH_CHECK_ALIGN(src, 4))) { *((volatile u8 *)vdest) = *((u8 *)src); @@ -270,17 +256,13 @@ static inline void eeh_memcpy_toio(void *dest, void *src, unsigned long n) { #undef EEH_CHECK_ALIGN -#define MAX_ISA_PORT 0x10000 -extern unsigned long io_page_mask; -#define _IO_IS_VALID(port) ((port) >= MAX_ISA_PORT || (1 << (port>>PAGE_SHIFT)) & io_page_mask) - static inline u8 eeh_inb(unsigned long port) { u8 val; if (!_IO_IS_VALID(port)) return ~0; val = in_8((u8 *)(port+pci_io_base)); - if (EEH_POSSIBLE_IO_ERROR(val, u8)) - return eeh_check_failure((void*)(port), val); + if (EEH_POSSIBLE_ERROR(val, u8)) + return eeh_check_failure((void __iomem *)(port), val); return val; } @@ -294,8 +276,8 @@ static inline u16 eeh_inw(unsigned long port) { if (!_IO_IS_VALID(port)) return ~0; val = in_le16((u16 *)(port+pci_io_base)); - if (EEH_POSSIBLE_IO_ERROR(val, u16)) - return eeh_check_failure((void*)(port), val); + if (EEH_POSSIBLE_ERROR(val, u16)) + return eeh_check_failure((void __iomem *)(port), val); return val; } @@ -309,8 +291,8 @@ static inline u32 eeh_inl(unsigned long port) { if (!_IO_IS_VALID(port)) return ~0; val = in_le32((u32 *)(port+pci_io_base)); - if (EEH_POSSIBLE_IO_ERROR(val, u32)) - return eeh_check_failure((void*)(port), val); + if (EEH_POSSIBLE_ERROR(val, u32)) + return eeh_check_failure((void __iomem *)(port), val); return val; } @@ -322,20 +304,20 @@ static inline void eeh_outl(u32 val, unsigned long port) { /* in-string eeh macros */ static inline void eeh_insb(unsigned long port, void * buf, int ns) { _insb((u8 *)(port+pci_io_base), buf, ns); - if (EEH_POSSIBLE_IO_ERROR((*(((u8*)buf)+ns-1)), u8)) - eeh_check_failure((void*)(port), *(u8*)buf); + if (EEH_POSSIBLE_ERROR((*(((u8*)buf)+ns-1)), u8)) + eeh_check_failure((void __iomem *)(port), *(u8*)buf); } static inline void eeh_insw_ns(unsigned long port, void * buf, int ns) { _insw_ns((u16 *)(port+pci_io_base), buf, ns); - if (EEH_POSSIBLE_IO_ERROR((*(((u16*)buf)+ns-1)), u16)) - eeh_check_failure((void*)(port), *(u16*)buf); + if (EEH_POSSIBLE_ERROR((*(((u16*)buf)+ns-1)), u16)) + eeh_check_failure((void __iomem *)(port), *(u16*)buf); } static inline void eeh_insl_ns(unsigned long port, void * buf, int nl) { _insl_ns((u32 *)(port+pci_io_base), buf, nl); - if (EEH_POSSIBLE_IO_ERROR((*(((u32*)buf)+nl-1)), u32)) - eeh_check_failure((void*)(port), *(u32*)buf); + if (EEH_POSSIBLE_ERROR((*(((u32*)buf)+nl-1)), u32)) + eeh_check_failure((void __iomem *)(port), *(u32*)buf); } #endif /* _PPC64_EEH_H */ diff --git a/include/asm-ppc64/hardirq.h b/include/asm-ppc64/hardirq.h index e1a2fec9f..c09a7486d 100644 --- a/include/asm-ppc64/hardirq.h +++ b/include/asm-ppc64/hardirq.h @@ -1,4 +1,3 @@ -#ifdef __KERNEL__ #ifndef __ASM_HARDIRQ_H #define __ASM_HARDIRQ_H @@ -43,20 +42,6 @@ typedef struct { #define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS) #define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS) -#define __HARDIRQ_MASK(x) ((1UL << (x))-1) - -#define PREEMPT_MASK (__HARDIRQ_MASK(PREEMPT_BITS) << PREEMPT_SHIFT) -#define SOFTIRQ_MASK (__HARDIRQ_MASK(SOFTIRQ_BITS) << SOFTIRQ_SHIFT) -#define HARDIRQ_MASK (__HARDIRQ_MASK(HARDIRQ_BITS) << HARDIRQ_SHIFT) - -#define hardirq_count() (preempt_count() & HARDIRQ_MASK) -#define softirq_count() (preempt_count() & SOFTIRQ_MASK) -#define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK)) - -#define PREEMPT_OFFSET (1UL << PREEMPT_SHIFT) -#define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT) -#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT) - /* * The hardirq mask has to be large enough to have * space for potentially all IRQ sources in the system @@ -66,29 +51,7 @@ typedef struct { # error HARDIRQ_BITS is too low! #endif -/* - * Are we doing bottom half or hardware interrupt processing? - * Are we in a softirq context? Interrupt context? - */ -#define in_irq() (hardirq_count()) -#define in_softirq() (softirq_count()) -#define in_interrupt() (irq_count()) - - -#define hardirq_trylock() (!in_interrupt()) -#define hardirq_endlock() do { } while (0) - #define irq_enter() (preempt_count() += HARDIRQ_OFFSET) - -#ifdef CONFIG_PREEMPT -# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked()) -# define preemptible() (preempt_count() == 0 && !irqs_disabled()) -# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1) -#else -# define in_atomic() (preempt_count() != 0) -# define preemptible() 0 -# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET -#endif #define irq_exit() \ do { \ preempt_count() -= IRQ_EXIT_OFFSET; \ @@ -97,12 +60,4 @@ do { \ preempt_enable_no_resched(); \ } while (0) -#ifndef CONFIG_SMP -# define synchronize_irq(irq) barrier() -#else - extern void synchronize_irq(unsigned int irq); -#endif /* CONFIG_SMP */ - -#endif /* __KERNEL__ */ - #endif /* __ASM_HARDIRQ_H */ diff --git a/include/asm-ppc64/io.h b/include/asm-ppc64/io.h index f6262bad7..f2db3d860 100644 --- a/include/asm-ppc64/io.h +++ b/include/asm-ppc64/io.h @@ -9,6 +9,7 @@ */ #include +#include #include #include #ifdef CONFIG_PPC_ISERIES @@ -17,6 +18,8 @@ #include #include +#include + #define __ide_mm_insw(p, a, c) _insw_ns((volatile u16 *)(p), (a), (c)) #define __ide_mm_insl(p, a, c) _insl_ns((volatile u32 *)(p), (a), (c)) #define __ide_mm_outsw(p, a, c) _outsw_ns((volatile u16 *)(p), (a), (c)) @@ -30,6 +33,12 @@ extern unsigned long isa_io_base; extern unsigned long pci_io_base; +extern unsigned long io_page_mask; + +#define MAX_ISA_PORT 0x10000 + +#define _IO_IS_VALID(port) ((port) >= MAX_ISA_PORT || (1 << (port>>PAGE_SHIFT)) \ + & io_page_mask) #ifdef CONFIG_PPC_ISERIES /* __raw_* accessors aren't supported on iSeries */ @@ -41,21 +50,22 @@ extern unsigned long pci_io_base; #define __raw_writew(v, addr) { BUG(); 0; } #define __raw_writel(v, addr) { BUG(); 0; } #define __raw_writeq(v, addr) { BUG(); 0; } -#define readb(addr) iSeries_Read_Byte((void*)(addr)) -#define readw(addr) iSeries_Read_Word((void*)(addr)) -#define readl(addr) iSeries_Read_Long((void*)(addr)) -#define writeb(data, addr) iSeries_Write_Byte(data,((void*)(addr))) -#define writew(data, addr) iSeries_Write_Word(data,((void*)(addr))) -#define writel(data, addr) iSeries_Write_Long(data,((void*)(addr))) -#define memset_io(a,b,c) iSeries_memset_io((void *)(a),(b),(c)) -#define memcpy_fromio(a,b,c) iSeries_memcpy_fromio((void *)(a), (void *)(b), (c)) -#define memcpy_toio(a,b,c) iSeries_memcpy_toio((void *)(a), (void *)(b), (c)) -#define inb(addr) readb(((unsigned long)(addr))) -#define inw(addr) readw(((unsigned long)(addr))) -#define inl(addr) readl(((unsigned long)(addr))) -#define outb(data,addr) writeb(data,((unsigned long)(addr))) -#define outw(data,addr) writew(data,((unsigned long)(addr))) -#define outl(data,addr) writel(data,((unsigned long)(addr))) +#define readb(addr) iSeries_Read_Byte(addr) +#define readw(addr) iSeries_Read_Word(addr) +#define readl(addr) iSeries_Read_Long(addr) +#define writeb(data, addr) iSeries_Write_Byte((data),(addr)) +#define writew(data, addr) iSeries_Write_Word((data),(addr)) +#define writel(data, addr) iSeries_Write_Long((data),(addr)) +#define memset_io(a,b,c) iSeries_memset_io((a),(b),(c)) +#define memcpy_fromio(a,b,c) iSeries_memcpy_fromio((a), (b), (c)) +#define memcpy_toio(a,b,c) iSeries_memcpy_toio((a), (b), (c)) + +#define inb(addr) readb(((void __iomem *)(long)(addr))) +#define inw(addr) readw(((void __iomem *)(long)(addr))) +#define inl(addr) readl(((void __iomem *)(long)(addr))) +#define outb(data,addr) writeb(data,((void __iomem *)(long)(addr))) +#define outw(data,addr) writew(data,((void __iomem *)(long)(addr))) +#define outl(data,addr) writel(data,((void __iomem *)(long)(addr))) /* * The *_ns versions below don't do byte-swapping. * Neither do the standard versions now, these are just here @@ -64,25 +74,50 @@ extern unsigned long pci_io_base; #define insw_ns(port, buf, ns) _insw_ns((u16 *)((port)+pci_io_base), (buf), (ns)) #define insl_ns(port, buf, nl) _insl_ns((u32 *)((port)+pci_io_base), (buf), (nl)) #else -#define __raw_readb(addr) (*(volatile unsigned char *)(addr)) -#define __raw_readw(addr) (*(volatile unsigned short *)(addr)) -#define __raw_readl(addr) (*(volatile unsigned int *)(addr)) -#define __raw_readq(addr) (*(volatile unsigned long *)(addr)) -#define __raw_writeb(v, addr) (*(volatile unsigned char *)(addr) = (v)) -#define __raw_writew(v, addr) (*(volatile unsigned short *)(addr) = (v)) -#define __raw_writel(v, addr) (*(volatile unsigned int *)(addr) = (v)) -#define __raw_writeq(v, addr) (*(volatile unsigned long *)(addr) = (v)) -#define readb(addr) eeh_readb((void*)(addr)) -#define readw(addr) eeh_readw((void*)(addr)) -#define readl(addr) eeh_readl((void*)(addr)) -#define readq(addr) eeh_readq((void*)(addr)) -#define writeb(data, addr) eeh_writeb((data), ((void*)(addr))) -#define writew(data, addr) eeh_writew((data), ((void*)(addr))) -#define writel(data, addr) eeh_writel((data), ((void*)(addr))) -#define writeq(data, addr) eeh_writeq((data), ((void*)(addr))) -#define memset_io(a,b,c) eeh_memset_io((void *)(a),(b),(c)) -#define memcpy_fromio(a,b,c) eeh_memcpy_fromio((a),(void *)(b),(c)) -#define memcpy_toio(a,b,c) eeh_memcpy_toio((void *)(a),(b),(c)) + +static inline unsigned char __raw_readb(const volatile void __iomem *addr) +{ + return *(volatile unsigned char __force *)addr; +} +static inline unsigned short __raw_readw(const volatile void __iomem *addr) +{ + return *(volatile unsigned short __force *)addr; +} +static inline unsigned int __raw_readl(const volatile void __iomem *addr) +{ + return *(volatile unsigned int __force *)addr; +} +static inline unsigned long __raw_readq(const volatile void __iomem *addr) +{ + return *(volatile unsigned long __force *)addr; +} +static inline void __raw_writeb(unsigned char v, volatile void __iomem *addr) +{ + *(volatile unsigned char __force *)addr = v; +} +static inline void __raw_writew(unsigned short v, volatile void __iomem *addr) +{ + *(volatile unsigned short __force *)addr = v; +} +static inline void __raw_writel(unsigned int v, volatile void __iomem *addr) +{ + *(volatile unsigned int __force *)addr = v; +} +static inline void __raw_writeq(unsigned long v, volatile void __iomem *addr) +{ + *(volatile unsigned long __force *)addr = v; +} +#define readb(addr) eeh_readb(addr) +#define readw(addr) eeh_readw(addr) +#define readl(addr) eeh_readl(addr) +#define readq(addr) eeh_readq(addr) +#define writeb(data, addr) eeh_writeb((data), (addr)) +#define writew(data, addr) eeh_writew((data), (addr)) +#define writel(data, addr) eeh_writel((data), (addr)) +#define writeq(data, addr) eeh_writeq((data), (addr)) +#define memset_io(a,b,c) eeh_memset_io((a),(b),(c)) +#define memcpy_fromio(a,b,c) eeh_memcpy_fromio((a),(b),(c)) +#define memcpy_toio(a,b,c) eeh_memcpy_toio((a),(b),(c)) #define inb(port) eeh_inb((unsigned long)port) #define outb(val, port) eeh_outb(val, (unsigned long)port) #define inw(port) eeh_inw((unsigned long)port) @@ -149,7 +184,7 @@ extern void _outsl_ns(volatile u32 *port, const void *buf, int nl); #ifdef __KERNEL__ extern int __ioremap_explicit(unsigned long p_addr, unsigned long v_addr, unsigned long size, unsigned long flags); -extern void *__ioremap(unsigned long address, unsigned long size, +extern void __iomem *__ioremap(unsigned long address, unsigned long size, unsigned long flags); /** @@ -163,11 +198,11 @@ extern void *__ioremap(unsigned long address, unsigned long size, * address is not guaranteed to be usable directly as a virtual * address. */ -extern void *ioremap(unsigned long address, unsigned long size); +extern void __iomem *ioremap(unsigned long address, unsigned long size); #define ioremap_nocache(addr, size) ioremap((addr), (size)) -extern int iounmap_explicit(void *addr, unsigned long size); -extern void iounmap(void *addr); +extern int iounmap_explicit(volatile void __iomem *addr, unsigned long size); +extern void iounmap(volatile void __iomem *addr); extern void * reserve_phb_iospace(unsigned long size); /** @@ -377,7 +412,7 @@ static inline void out_be64(volatile unsigned long *addr, unsigned long val) * address should have been obtained by ioremap. * Returns 1 on a match. */ -static inline int check_signature(unsigned long io_addr, +static inline int check_signature(const volatile void __iomem * io_addr, const unsigned char *signature, int length) { int retval = 0; diff --git a/include/asm-ppc64/iommu.h b/include/asm-ppc64/iommu.h index 8530fb673..e67575457 100644 --- a/include/asm-ppc64/iommu.h +++ b/include/asm-ppc64/iommu.h @@ -104,16 +104,19 @@ extern struct iommu_table vio_tce_table; /* Tce table for virtual bus */ struct scatterlist; -#ifdef CONFIG_PPC_PSERIES +#ifdef CONFIG_PPC_MULTIPLATFORM + /* Walks all buses and creates iommu tables */ extern void iommu_setup_pSeries(void); -extern void iommu_setup_pmac(void); +extern void iommu_setup_u3(void); /* Creates table for an individual device node */ extern void iommu_devnode_init(struct device_node *dn); -#endif /* CONFIG_PPC_PSERIES */ + +#endif /* CONFIG_PPC_MULTIPLATFORM */ #ifdef CONFIG_PPC_ISERIES + /* Walks all buses and creates iommu tables */ extern void iommu_setup_iSeries(void); @@ -123,8 +126,8 @@ extern void __init iommu_vio_init(void); struct iSeries_Device_Node; /* Creates table for an individual device node */ extern void iommu_devnode_init(struct iSeries_Device_Node *dn); -#endif /* CONFIG_PPC_ISERIES */ +#endif /* CONFIG_PPC_ISERIES */ /* Initializes an iommu_table based in values set in the passed-in * structure @@ -152,6 +155,8 @@ extern void tce_init_iSeries(void); extern void pci_iommu_init(void); extern void pci_dma_init_direct(void); +extern void alloc_u3_dart_table(void); + extern int ppc64_iommu_off; #endif /* _ASM_IOMMU_H */ diff --git a/include/asm-ppc64/machdep.h b/include/asm-ppc64/machdep.h index 020c7922f..e3b860769 100644 --- a/include/asm-ppc64/machdep.h +++ b/include/asm-ppc64/machdep.h @@ -56,6 +56,9 @@ struct machdep_calls { void (*flush_hash_range)(unsigned long context, unsigned long number, int local); + /* special for kexec, to be called in real mode, linar mapping is + * destroyed as well */ + void (*hpte_clear_all)(void); void (*tce_build)(struct iommu_table * tbl, long index, @@ -67,7 +70,9 @@ struct machdep_calls { long npages); void (*tce_flush)(struct iommu_table *tbl); + int (*probe)(int platform); void (*setup_arch)(void); + void (*init_early)(void); /* Optional, may be NULL. */ void (*get_cpuinfo)(struct seq_file *m); @@ -77,9 +82,6 @@ struct machdep_calls { /* PCI stuff */ void (*pcibios_fixup)(void); - /* Optional, may be NULL. */ - void (*init)(void); - void (*restart)(char *cmd); void (*power_off)(void); void (*halt)(void); diff --git a/include/asm-ppc64/mmu.h b/include/asm-ppc64/mmu.h index 3b66f32b6..616389dc8 100644 --- a/include/asm-ppc64/mmu.h +++ b/include/asm-ppc64/mmu.h @@ -15,6 +15,7 @@ #include #include +#include #ifndef __ASSEMBLY__ @@ -27,43 +28,17 @@ typedef struct { #endif } mm_context_t; -#ifdef CONFIG_HUGETLB_PAGE -#define KERNEL_LOW_HPAGES .htlb_segs = 0, -#else -#define KERNEL_LOW_HPAGES -#endif +#define STE_ESID_V 0x80 +#define STE_ESID_KS 0x20 +#define STE_ESID_KP 0x10 +#define STE_ESID_N 0x08 -#define KERNEL_CONTEXT(ea) ({ \ - mm_context_t ctx = { .id = REGION_ID(ea), KERNEL_LOW_HPAGES}; \ - ctx; }) - -typedef struct { - unsigned long esid: 36; /* Effective segment ID */ - unsigned long resv0:20; /* Reserved */ - unsigned long v: 1; /* Entry valid (v=1) or invalid */ - unsigned long resv1: 1; /* Reserved */ - unsigned long ks: 1; /* Supervisor (privileged) state storage key */ - unsigned long kp: 1; /* Problem state storage key */ - unsigned long n: 1; /* No-execute if n=1 */ - unsigned long resv2: 3; /* padding to a 64b boundary */ -} ste_dword0; - -typedef struct { - unsigned long vsid: 52; /* Virtual segment ID */ - unsigned long resv0:12; /* Padding to a 64b boundary */ -} ste_dword1; - -typedef struct _STE { - union { - unsigned long dword0; - ste_dword0 dw0; - } dw0; +#define STE_VSID_SHIFT 12 - union { - unsigned long dword1; - ste_dword1 dw1; - } dw1; -} STE; +struct stab_entry { + unsigned long esid_data; + unsigned long vsid_data; +}; /* Hardware Page Table Entry */ @@ -132,20 +107,6 @@ typedef struct { extern HTAB htab_data; -void invalidate_hpte( unsigned long slot ); -long select_hpte_slot( unsigned long vpn ); -void create_valid_hpte( unsigned long slot, unsigned long vpn, - unsigned long prpn, unsigned hash, - void * ptep, unsigned hpteflags, - unsigned bolted ); - -#define PD_SHIFT (10+12) /* Page directory */ -#define PD_MASK 0x02FF -#define PT_SHIFT (12) /* Page Table */ -#define PT_MASK 0x02FF - -#define LARGE_PAGE_SHIFT 24 - static inline unsigned long hpt_hash(unsigned long vpn, int large) { unsigned long vsid; @@ -224,7 +185,7 @@ extern void htab_finish_init(void); #define STAB0_PHYS_ADDR (STAB0_PAGE<= \ + * 2^36-1, then r3+1 has the 2^36 bit set. So, if r3+1 has \ + * the bit clear, r3 already has the answer we want, if it \ + * doesn't, the answer is the low 36 bits of r3+1. So in all \ + * cases the answer is the low 36 bits of (r3 + ((r3+1) >> 36))*/\ + addi rx,rt,1; \ + srdi rx,rx,VSID_BITS; /* extract 2^36 bit */ \ + add rt,rt,rx #endif /* _PPC64_MMU_H_ */ diff --git a/include/asm-ppc64/mmu_context.h b/include/asm-ppc64/mmu_context.h index 03561b589..bfce35705 100644 --- a/include/asm-ppc64/mmu_context.h +++ b/include/asm-ppc64/mmu_context.h @@ -2,11 +2,9 @@ #define __PPC64_MMU_CONTEXT_H #include -#include #include #include #include -#include #include /* @@ -33,109 +31,17 @@ static inline int sched_find_first_bit(unsigned long *b) return __ffs(b[2]) + 128; } -#define NO_CONTEXT 0 -#define FIRST_USER_CONTEXT 0x10 /* First 16 reserved for kernel */ -#define LAST_USER_CONTEXT 0x8000 /* Same as PID_MAX for now... */ -#define NUM_USER_CONTEXT (LAST_USER_CONTEXT-FIRST_USER_CONTEXT) - -/* Choose whether we want to implement our context - * number allocator as a LIFO or FIFO queue. - */ -#if 1 -#define MMU_CONTEXT_LIFO -#else -#define MMU_CONTEXT_FIFO -#endif - -struct mmu_context_queue_t { - spinlock_t lock; - long head; - long tail; - long size; - mm_context_id_t elements[LAST_USER_CONTEXT]; -}; - -extern struct mmu_context_queue_t mmu_context_queue; - -static inline void -enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) -{ -} - -/* - * The context number queue has underflowed. - * Meaning: we tried to push a context number that was freed - * back onto the context queue and the queue was already full. - */ -static inline void -mmu_context_underflow(void) -{ - printk(KERN_DEBUG "mmu_context_underflow\n"); - panic("mmu_context_underflow"); -} - -/* - * Set up the context for a new address space. - */ -static inline int -init_new_context(struct task_struct *tsk, struct mm_struct *mm) +static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) { - long head; - unsigned long flags; - /* This does the right thing across a fork (I hope) */ - - spin_lock_irqsave(&mmu_context_queue.lock, flags); - - if (mmu_context_queue.size <= 0) { - spin_unlock_irqrestore(&mmu_context_queue.lock, flags); - return -ENOMEM; - } - - head = mmu_context_queue.head; - mm->context.id = mmu_context_queue.elements[head]; - - head = (head < LAST_USER_CONTEXT-1) ? head+1 : 0; - mmu_context_queue.head = head; - mmu_context_queue.size--; - - spin_unlock_irqrestore(&mmu_context_queue.lock, flags); - - return 0; } -/* - * We're finished using the context for an address space. - */ -static inline void -destroy_context(struct mm_struct *mm) -{ - long index; - unsigned long flags; - - spin_lock_irqsave(&mmu_context_queue.lock, flags); +#define NO_CONTEXT 0 +#define MAX_CONTEXT (0x100000-1) - if (mmu_context_queue.size >= NUM_USER_CONTEXT) { - spin_unlock_irqrestore(&mmu_context_queue.lock, flags); - mmu_context_underflow(); - } +extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); +extern void destroy_context(struct mm_struct *mm); -#ifdef MMU_CONTEXT_LIFO - index = mmu_context_queue.head; - index = (index > 0) ? index-1 : LAST_USER_CONTEXT-1; - mmu_context_queue.head = index; -#else - index = mmu_context_queue.tail; - index = (index < LAST_USER_CONTEXT-1) ? index+1 : 0; - mmu_context_queue.tail = index; -#endif - - mmu_context_queue.size++; - mmu_context_queue.elements[index] = mm->context.id; - - spin_unlock_irqrestore(&mmu_context_queue.lock, flags); -} - -extern void flush_stab(struct task_struct *tsk, struct mm_struct *mm); +extern void switch_stab(struct task_struct *tsk, struct mm_struct *mm); extern void switch_slb(struct task_struct *tsk, struct mm_struct *mm); /* @@ -163,7 +69,7 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, if (cur_cpu_spec->cpu_features & CPU_FTR_SLB) switch_slb(tsk, next); else - flush_stab(tsk, next); + switch_stab(tsk, next); } #define deactivate_mm(tsk,mm) do { } while (0) @@ -181,46 +87,86 @@ static inline void activate_mm(struct mm_struct *prev, struct mm_struct *next) local_irq_restore(flags); } -/* This is only valid for kernel (including vmalloc, imalloc and bolted) EA's +/* VSID allocation + * =============== + * + * We first generate a 36-bit "proto-VSID". For kernel addresses this + * is equal to the ESID, for user addresses it is: + * (context << 15) | (esid & 0x7fff) + * + * The two forms are distinguishable because the top bit is 0 for user + * addresses, whereas the top two bits are 1 for kernel addresses. + * Proto-VSIDs with the top two bits equal to 0b10 are reserved for + * now. + * + * The proto-VSIDs are then scrambled into real VSIDs with the + * multiplicative hash: + * + * VSID = (proto-VSID * VSID_MULTIPLIER) % VSID_MODULUS + * where VSID_MULTIPLIER = 268435399 = 0xFFFFFC7 + * VSID_MODULUS = 2^36-1 = 0xFFFFFFFFF + * + * This scramble is only well defined for proto-VSIDs below + * 0xFFFFFFFFF, so both proto-VSID and actual VSID 0xFFFFFFFFF are + * reserved. VSID_MULTIPLIER is prime, so in particular it is + * co-prime to VSID_MODULUS, making this a 1:1 scrambling function. + * Because the modulus is 2^n-1 we can compute it efficiently without + * a divide or extra multiply (see below). + * + * This scheme has several advantages over older methods: + * + * - We have VSIDs allocated for every kernel address + * (i.e. everything above 0xC000000000000000), except the very top + * segment, which simplifies several things. + * + * - We allow for 15 significant bits of ESID and 20 bits of + * context for user addresses. i.e. 8T (43 bits) of address space for + * up to 1M contexts (although the page table structure and context + * allocation will need changes to take advantage of this). + * + * - The scramble function gives robust scattering in the hash + * table (at least based on some initial results). The previous + * method was more susceptible to pathological cases giving excessive + * hash collisions. */ -static inline unsigned long -get_kernel_vsid( unsigned long ea ) -{ - unsigned long ordinal, vsid; - - ordinal = (((ea >> 28) & 0x1fff) * LAST_USER_CONTEXT) | (ea >> 60); - vsid = (ordinal * VSID_RANDOMIZER) & VSID_MASK; - -#ifdef HTABSTRESS - /* For debug, this path creates a very poor vsid distribuition. - * A user program can access virtual addresses in the form - * 0x0yyyyxxxx000 where yyyy = xxxx to cause multiple mappings - * to hash to the same page table group. - */ - ordinal = ((ea >> 28) & 0x1fff) | (ea >> 44); - vsid = ordinal & VSID_MASK; -#endif /* HTABSTRESS */ - - return vsid; -} - -/* This is only valid for user EA's (user EA's do not exceed 2^41 (EADDR_SIZE)) + +/* + * WARNING - If you change these you must make sure the asm + * implementations in slb_allocate(), do_stab_bolted and mmu.h + * (ASM_VSID_SCRAMBLE macro) are changed accordingly. + * + * You'll also need to change the precomputed VSID values in head.S + * which are used by the iSeries firmware. */ -static inline unsigned long -get_vsid( unsigned long context, unsigned long ea ) -{ - unsigned long ordinal, vsid; - ordinal = (((ea >> 28) & 0x1fff) * LAST_USER_CONTEXT) | context; - vsid = (ordinal * VSID_RANDOMIZER) & VSID_MASK; +static inline unsigned long vsid_scramble(unsigned long protovsid) +{ +#if 0 + /* The code below is equivalent to this function for arguments + * < 2^VSID_BITS, which is all this should ever be called + * with. However gcc is not clever enough to compute the + * modulus (2^n-1) without a second multiply. */ + return ((protovsid * VSID_MULTIPLIER) % VSID_MODULUS); +#else /* 1 */ + unsigned long x; + + x = protovsid * VSID_MULTIPLIER; + x = (x >> VSID_BITS) + (x & VSID_MODULUS); + return (x + ((x+1) >> VSID_BITS)) & VSID_MODULUS; +#endif /* 1 */ +} -#ifdef HTABSTRESS - /* See comment above. */ - ordinal = ((ea >> 28) & 0x1fff) | (context << 16); - vsid = ordinal & VSID_MASK; -#endif /* HTABSTRESS */ +/* This is only valid for addresses >= KERNELBASE */ +static inline unsigned long get_kernel_vsid(unsigned long ea) +{ + return vsid_scramble(ea >> SID_SHIFT); +} - return vsid; +/* This is only valid for user addresses (which are below 2^41) */ +static inline unsigned long get_vsid(unsigned long context, unsigned long ea) +{ + return vsid_scramble((context << USER_ESID_BITS) + | (ea >> SID_SHIFT)); } #endif /* __PPC64_MMU_CONTEXT_H */ diff --git a/include/asm-ppc64/mmzone.h b/include/asm-ppc64/mmzone.h index 6903024ff..0619a41a3 100644 --- a/include/asm-ppc64/mmzone.h +++ b/include/asm-ppc64/mmzone.h @@ -12,7 +12,7 @@ #ifdef CONFIG_DISCONTIGMEM -extern struct pglist_data node_data[]; +extern struct pglist_data *node_data[]; /* * Following are specific to this numa platform. @@ -52,7 +52,7 @@ static inline int pa_to_nid(unsigned long pa) /* * Return a pointer to the node data for node n. */ -#define NODE_DATA(nid) (&node_data[nid]) +#define NODE_DATA(nid) (node_data[nid]) #define node_localnr(pfn, nid) ((pfn) - NODE_DATA(nid)->node_start_pfn) diff --git a/include/asm-ppc64/module.h b/include/asm-ppc64/module.h index 058160782..ccbe0abd9 100644 --- a/include/asm-ppc64/module.h +++ b/include/asm-ppc64/module.h @@ -20,9 +20,14 @@ struct mod_arch_specific extern struct bug_entry *module_find_bug(unsigned long bugaddr); +#define MODULES_ARE_ELF64 #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define Elf_Ehdr Elf64_Ehdr +#define Elf_Rel Elf64_Rel +#define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) /* Make empty section for module_frob_arch_sections to expand. */ #ifdef MODULE diff --git a/include/asm-ppc64/naca.h b/include/asm-ppc64/naca.h index 3c0b8d3a5..04541849f 100644 --- a/include/asm-ppc64/naca.h +++ b/include/asm-ppc64/naca.h @@ -37,9 +37,6 @@ struct naca_struct { u32 dCacheL1LinesPerPage; /* L1 d-cache lines / page 0x64 */ u32 iCacheL1LogLineSize; /* L1 i-cache line size Log2 0x68 */ u32 iCacheL1LinesPerPage; /* L1 i-cache lines / page 0x6c */ - u8 smt_state; /* 0 = SMT off 0x70 */ - /* 1 = SMT on */ - /* 2 = SMT dynamic */ u8 resv0[15]; /* Reserved 0x71 - 0x7F */ }; diff --git a/include/asm-ppc64/paca.h b/include/asm-ppc64/paca.h index 851082cd2..0cf47f799 100644 --- a/include/asm-ppc64/paca.h +++ b/include/asm-ppc64/paca.h @@ -16,6 +16,7 @@ * 2 of the License, or (at your option) any later version. */ +#include #include #include #include @@ -78,7 +79,6 @@ struct paca_struct { u64 exmc[8]; /* used for machine checks */ u64 exslb[8]; /* used for SLB/segment table misses * on the linear mapping */ - u64 slb_r3; /* spot to save R3 on SLB miss */ mm_context_t context; u16 slb_cache[SLB_CACHE_ENTRIES]; u16 slb_cache_ptr; @@ -99,27 +99,16 @@ struct paca_struct { u64 exdsi[8]; /* used for linear mapping hash table misses */ /* - * iSeries structues which the hypervisor knows about - Not - * sure if these particularly need to be cacheline aligned. + * iSeries structues which the hypervisor knows about - + * This structure should not cross a page boundary. + * The vpa_init/register_vpa call is now known to fail if the lppaca + * structure crosses a page boundary. * The lppaca is also used on POWER5 pSeries boxes. */ - struct ItLpPaca lppaca __attribute__((aligned(0x80))); + struct ItLpPaca lppaca __attribute__((aligned(0x400))); +#ifdef CONFIG_PPC_ISERIES struct ItLpRegSave reg_save; - - /* - * iSeries profiling support - * - * FIXME: do we still want this, or can we ditch it in favour - * of oprofile? - */ - u32 *prof_buffer; /* iSeries profiling buffer */ - u32 *prof_stext; /* iSeries start of kernel text */ - u32 prof_multiplier; - u32 prof_counter; - u32 prof_shift; /* iSeries shift for profile - * bucket size */ - u32 prof_len; /* iSeries length of profile */ - u8 prof_enabled; /* 1=iSeries profiling enabled */ +#endif }; #endif /* _PPC64_PACA_H */ diff --git a/include/asm-ppc64/page.h b/include/asm-ppc64/page.h index 9d390be62..4f8717b05 100644 --- a/include/asm-ppc64/page.h +++ b/include/asm-ppc64/page.h @@ -30,11 +30,12 @@ #define ESID_MASK 0xfffffffff0000000UL #define GET_ESID(x) (((x) >> SID_SHIFT) & SID_MASK) -#ifdef CONFIG_HUGETLB_PAGE - #define HPAGE_SHIFT 24 #define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) #define HPAGE_MASK (~(HPAGE_SIZE - 1)) + +#ifdef CONFIG_HUGETLB_PAGE + #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) /* For 64-bit processes the hugepage range is 1T-1.5T */ @@ -181,8 +182,7 @@ static inline int get_order(unsigned long size) #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) -/* Not 100% correct, for use by /dev/mem only */ -extern int page_is_ram(unsigned long physaddr); +extern int page_is_ram(unsigned long pfn); #endif /* __ASSEMBLY__ */ @@ -202,9 +202,9 @@ extern int page_is_ram(unsigned long physaddr); /* to change! */ #define PAGE_OFFSET ASM_CONST(0xC000000000000000) #define KERNELBASE PAGE_OFFSET -#define VMALLOCBASE 0xD000000000000000UL -#define IOREGIONBASE 0xE000000000000000UL -#define EEHREGIONBASE 0xA000000000000000UL +#define VMALLOCBASE ASM_CONST(0xD000000000000000) +#define IOREGIONBASE ASM_CONST(0xE000000000000000) +#define EEHREGIONBASE ASM_CONST(0xA000000000000000) #define IO_REGION_ID (IOREGIONBASE>>REGION_SHIFT) #define EEH_REGION_ID (EEHREGIONBASE>>REGION_SHIFT) @@ -213,17 +213,6 @@ extern int page_is_ram(unsigned long physaddr); #define USER_REGION_ID (0UL) #define REGION_ID(X) (((unsigned long)(X))>>REGION_SHIFT) -/* - * Define valid/invalid EA bits (for all ranges) - */ -#define VALID_EA_BITS (0x000001ffffffffffUL) -#define INVALID_EA_BITS (~(REGION_MASK|VALID_EA_BITS)) - -#define IS_VALID_REGION_ID(x) \ - (((x) == USER_REGION_ID) || ((x) >= KERNEL_REGION_ID)) -#define IS_VALID_EA(x) \ - ((!((x) & INVALID_EA_BITS)) && IS_VALID_REGION_ID(REGION_ID(x))) - #define __bpn_to_ba(x) ((((unsigned long)(x))<> PAGE_SHIFT) @@ -240,6 +229,7 @@ extern int page_is_ram(unsigned long physaddr); #endif #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) +#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) diff --git a/include/asm-ppc64/pci-bridge.h b/include/asm-ppc64/pci-bridge.h index a51c604b9..4dc2ec49e 100644 --- a/include/asm-ppc64/pci-bridge.h +++ b/include/asm-ppc64/pci-bridge.h @@ -34,6 +34,7 @@ struct pci_controller { char what[8]; /* Eye catcher */ enum phb_types type; /* Type of hardware */ struct pci_bus *bus; + char is_dynamic; void *arch_data; struct list_head list_node; @@ -47,6 +48,7 @@ struct pci_controller { * the PCI memory space in the CPU bus space */ unsigned long pci_mem_offset; + unsigned long pci_io_size; struct pci_ops *ops; volatile unsigned int *cfg_addr; @@ -75,6 +77,8 @@ extern int pci_device_loc(struct device_node *dev, unsigned char *bus_ptr, struct device_node *fetch_dev_dn(struct pci_dev *dev); +extern int pcibios_remove_root_bus(struct pci_controller *phb); + /* Get a device_node from a pci_dev. This code must be fast except in the case * where the sysdata is incorrect and needs to be fixed up (hopefully just once) */ @@ -88,7 +92,7 @@ static inline struct device_node *pci_device_to_OF_node(struct pci_dev *dev) } extern void pci_process_bridge_OF_ranges(struct pci_controller *hose, - struct device_node *dev, int primary); + struct device_node *dev); /* Use this macro after the PCI bus walk for max performance when it * is known that sysdata is correct. diff --git a/include/asm-ppc64/pci.h b/include/asm-ppc64/pci.h index 032a2e6e8..99ec4453a 100644 --- a/include/asm-ppc64/pci.h +++ b/include/asm-ppc64/pci.h @@ -229,6 +229,8 @@ remap_bus_range(struct pci_bus *bus); extern void pcibios_fixup_device_resources(struct pci_dev *dev, struct pci_bus *bus); +extern struct pci_controller *init_phb_dynamic(struct device_node *dn); + extern int pci_read_irq_line(struct pci_dev *dev); extern void pcibios_add_platform_entries(struct pci_dev *dev); diff --git a/include/asm-ppc64/pgalloc.h b/include/asm-ppc64/pgalloc.h index cddaa2f17..cfc29a2bf 100644 --- a/include/asm-ppc64/pgalloc.h +++ b/include/asm-ppc64/pgalloc.h @@ -7,6 +7,7 @@ #include #include #include +#include extern kmem_cache_t *zero_cache; diff --git a/include/asm-ppc64/pgtable.h b/include/asm-ppc64/pgtable.h index 8499868b2..5a4a18043 100644 --- a/include/asm-ppc64/pgtable.h +++ b/include/asm-ppc64/pgtable.h @@ -44,11 +44,17 @@ #define EADDR_SIZE (PTE_INDEX_SIZE + PMD_INDEX_SIZE + \ PGD_INDEX_SIZE + PAGE_SHIFT) +/* + * Size of EA range mapped by our pagetables. + */ +#define PGTABLE_EA_BITS 41 +#define PGTABLE_EA_MASK ((1UL< physical */ #define KRANGE_START KERNELBASE -#define KRANGE_END (KRANGE_START + VALID_EA_BITS) +#define KRANGE_END (KRANGE_START + PGTABLE_EA_MASK) /* * Define the user address range */ #define USER_START (0UL) -#define USER_END (USER_START + VALID_EA_BITS) +#define USER_END (USER_START + PGTABLE_EA_MASK) /* @@ -167,6 +173,7 @@ int hash_huge_page(struct mm_struct *mm, unsigned long access, #endif /* __ASSEMBLY__ */ #define HAVE_ARCH_UNMAPPED_AREA +#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN #else #define hash_huge_page(mm,a,ea,vsid,local) -1 @@ -489,7 +496,8 @@ extern void update_mmu_cache(struct vm_area_struct *, unsigned long, pte_t); void pgtable_cache_init(void); -extern void hpte_init_pSeries(void); +extern void hpte_init_native(void); +extern void hpte_init_lpar(void); extern void hpte_init_iSeries(void); /* imalloc region types */ @@ -497,20 +505,21 @@ extern void hpte_init_iSeries(void); #define IM_REGION_SUBSET 0x2 #define IM_REGION_EXISTS 0x4 #define IM_REGION_OVERLAP 0x8 +#define IM_REGION_SUPERSET 0x10 extern struct vm_struct * im_get_free_area(unsigned long size); extern struct vm_struct * im_get_area(unsigned long v_addr, unsigned long size, int region_type); unsigned long im_free(void *addr); -long pSeries_lpar_hpte_insert(unsigned long hpte_group, - unsigned long va, unsigned long prpn, - int secondary, unsigned long hpteflags, - int bolted, int large); +extern long pSeries_lpar_hpte_insert(unsigned long hpte_group, + unsigned long va, unsigned long prpn, + int secondary, unsigned long hpteflags, + int bolted, int large); -long pSeries_hpte_insert(unsigned long hpte_group, unsigned long va, - unsigned long prpn, int secondary, - unsigned long hpteflags, int bolted, int large); +extern long native_hpte_insert(unsigned long hpte_group, unsigned long va, + unsigned long prpn, int secondary, + unsigned long hpteflags, int bolted, int large); /* * find_linux_pte returns the address of a linux pte for a given diff --git a/include/asm-ppc64/ppc32.h b/include/asm-ppc64/ppc32.h index f4a36ea03..1d0404897 100644 --- a/include/asm-ppc64/ppc32.h +++ b/include/asm-ppc64/ppc32.h @@ -14,30 +14,6 @@ * 2 of the License, or (at your option) any later version. */ -/* Use this to get at 32-bit user passed pointers. */ -/* Things to consider: the low-level assembly stub does - srl x, 0, x for first four arguments, so if you have - pointer to something in the first four arguments, just - declare it as a pointer, not u32. On the other side, - arguments from 5th onwards should be declared as u32 - for pointers, and need AA() around each usage. - A() macro should be used for places where you e.g. - have some internal variable u32 and just want to get - rid of a compiler warning. AA() has to be used in - places where you want to convert a function argument - to 32bit pointer or when you e.g. access pt_regs - structure and want to consider 32bit registers only. - - - */ -#define A(__x) ((unsigned long)(__x)) -#define AA(__x) \ -({ unsigned long __ret; \ - __asm__ ("clrldi %0, %0, 32" \ - : "=r" (__ret) \ - : "0" (__x)); \ - __ret; \ -}) - /* These are here to support 32-bit syscalls on a 64-bit kernel. */ typedef struct compat_siginfo { @@ -56,8 +32,10 @@ typedef struct compat_siginfo { /* POSIX.1b timers */ struct { - unsigned int _timer1; - unsigned int _timer2; + timer_t _tid; /* timer id */ + int _overrun; /* overrun count */ + compat_sigval_t _sigval; /* same as below */ + int _sys_private; /* not to be passed to user */ } _timer; /* POSIX.1b signals */ diff --git a/include/asm-ppc64/processor.h b/include/asm-ppc64/processor.h index 037801119..19ef02511 100644 --- a/include/asm-ppc64/processor.h +++ b/include/asm-ppc64/processor.h @@ -20,12 +20,6 @@ #include #include -/* - * Default implementation of macro that returns current - * instruction pointer ("program counter"). - */ -#define current_text_addr() ({ __label__ _l; _l: &&_l;}) - /* Machine State Register (MSR) Fields */ #define MSR_SF_LG 63 /* Enable 64 bit mode */ #define MSR_ISF_LG 61 /* Interrupt 64b mode valid on 630 */ @@ -410,6 +404,12 @@ #define XGLUE(a,b) a##b #define GLUE(a,b) XGLUE(a,b) +/* iSeries CTRL register (for runlatch) */ + +#define CTRLT 0x098 +#define CTRLF 0x088 +#define RUNLATCH 0x0001 + #ifdef __ASSEMBLY__ #define _GLOBAL(name) \ @@ -438,8 +438,13 @@ name: \ .type GLUE(.,name),@function; \ GLUE(.,name): -#endif /* __ASSEMBLY__ */ +#else /* __ASSEMBLY__ */ +/* + * Default implementation of macro that returns current + * instruction pointer ("program counter"). + */ +#define current_text_addr() ({ __label__ _l; _l: &&_l;}) /* Macros for setting and retrieving special purpose registers */ @@ -461,20 +466,9 @@ GLUE(.,name): #define mttbl(v) asm volatile("mttbl %0":: "r"(v)) #define mttbu(v) asm volatile("mttbu %0":: "r"(v)) -/* iSeries CTRL register (for runlatch) */ - -#define CTRLT 0x098 -#define CTRLF 0x088 -#define RUNLATCH 0x0001 - -/* Size of an exception stack frame contained in the paca. */ -#define EXC_FRAME_SIZE 64 - #define mfasr() ({unsigned long rval; \ asm volatile("mfasr %0" : "=r" (rval)); rval;}) -#ifndef __ASSEMBLY__ - static inline void set_tb(unsigned int upper, unsigned int lower) { mttbl(0); @@ -485,6 +479,8 @@ static inline void set_tb(unsigned int upper, unsigned int lower) #define __get_SP() ({unsigned long sp; \ asm volatile("mr %0,1": "=r" (sp)); sp;}) +#ifdef __KERNEL__ + extern int have_of; struct task_struct; @@ -507,8 +503,6 @@ extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags); extern struct task_struct *last_task_used_math; extern struct task_struct *last_task_used_altivec; - -#ifdef __KERNEL__ /* 64-bit user address space is 41-bits (2TBs user VM) */ #define TASK_SIZE_USER64 (0x0000020000000000UL) @@ -520,8 +514,6 @@ extern struct task_struct *last_task_used_altivec; #define TASK_SIZE (test_thread_flag(TIF_32BIT) ? \ TASK_SIZE_USER32 : TASK_SIZE_USER64) -#endif /* __KERNEL__ */ - /* This decides where the kernel will search for a free chunk of vm * space during mmap's. @@ -538,6 +530,7 @@ typedef struct { struct thread_struct { unsigned long ksp; /* Kernel stack pointer */ + unsigned long ksp_vsid; struct pt_regs *regs; /* Pointer to saved register state */ mm_segment_t fs; /* for get_fs() validation */ double fpr[32]; /* Complete floating point set */ @@ -559,12 +552,12 @@ struct thread_struct { #define INIT_SP (sizeof(init_stack) + (unsigned long) &init_stack) #define INIT_THREAD { \ - INIT_SP, /* ksp */ \ - (struct pt_regs *)INIT_SP - 1, /* regs */ \ - KERNEL_DS, /*fs*/ \ - {0}, /* fpr */ \ - 0, /* fpscr */ \ - MSR_FE0|MSR_FE1, /* fpexc_mode */ \ + .ksp = INIT_SP, \ + .regs = (struct pt_regs *)INIT_SP - 1, \ + .fs = KERNEL_DS, \ + .fpr = {0}, \ + .fpscr = 0, \ + .fpexc_mode = MSR_FE0|MSR_FE1, \ } /* @@ -626,14 +619,11 @@ static inline void prefetchw(const void *x) #define spin_lock_prefetch(x) prefetchw(x) -#ifdef CONFIG_SCHED_SMT -#define ARCH_HAS_SCHED_DOMAIN -#define ARCH_HAS_SCHED_WAKE_IDLE -#endif +#define HAVE_ARCH_PICK_MMAP_LAYOUT -#endif /* ASSEMBLY */ +#endif /* __KERNEL__ */ -#define HAVE_ARCH_PICK_MMAP_LAYOUT +#endif /* __ASSEMBLY__ */ /* * Number of entries in the SLB. If this ever changes we should handle diff --git a/include/asm-ppc64/prom.h b/include/asm-ppc64/prom.h index 87db2ece0..482f9f60d 100644 --- a/include/asm-ppc64/prom.h +++ b/include/asm-ppc64/prom.h @@ -24,14 +24,47 @@ #define LONG_LSW(X) (((unsigned long)X) & 0xffffffff) #define LONG_MSW(X) (((unsigned long)X) >> 32) +/* Definitions used by the flattened device tree */ +#define OF_DT_HEADER 0xd00dfeed /* 4: version, 4: total size */ +#define OF_DT_BEGIN_NODE 0x1 /* Start node: full name */ +#define OF_DT_END_NODE 0x2 /* End node */ +#define OF_DT_PROP 0x3 /* Property: name off, size, content */ +#define OF_DT_END 0x9 + +#define OF_DT_VERSION 1 + +/* + * This is what gets passed to the kernel by prom_init or kexec + * + * The dt struct contains the device tree structure, full pathes and + * property contents. The dt strings contain a separate block with just + * the strings for the property names, and is fully page aligned and + * self contained in a page, so that it can be kept around by the kernel, + * each property name appears only once in this page (cheap compression) + * + * the mem_rsvmap contains a map of reserved ranges of physical memory, + * passing it here instead of in the device-tree itself greatly simplifies + * the job of everybody. It's just a list of u64 pairs (base/size) that + * ends when size is 0 + */ +struct boot_param_header +{ + u32 magic; /* magic word OF_DT_HEADER */ + u32 totalsize; /* total size of DT block */ + u32 off_dt_struct; /* offset to structure */ + u32 off_dt_strings; /* offset to strings */ + u32 off_mem_rsvmap; /* offset to memory reserve map */ + u32 version; /* format version */ + u32 last_comp_version; /* last compatible version */ +}; + + + typedef u32 phandle; typedef u32 ihandle; typedef u32 phandle32; typedef u32 ihandle32; -extern char *prom_display_paths[]; -extern unsigned int prom_num_displays; - struct address_range { unsigned long space; unsigned long address; @@ -136,6 +169,7 @@ struct property { */ struct pci_controller; struct iommu_table; + struct device_node { char *name; char *type; @@ -171,6 +205,8 @@ struct device_node { unsigned long _flags; }; +extern struct device_node *of_chosen; + /* flag descriptions */ #define OF_STALE 0 /* node is slated for deletion */ #define OF_DYNAMIC 1 /* node and properties were allocated via kmalloc */ @@ -202,34 +238,6 @@ static void inline set_node_addr_link(struct device_node *dn, struct proc_dir_en dn->addr_link = de; } -typedef u32 prom_arg_t; - -struct prom_args { - u32 service; - u32 nargs; - u32 nret; - prom_arg_t args[10]; - prom_arg_t *rets; /* Pointer to return values in args[16]. */ -}; - -struct prom_t { - unsigned long entry; - ihandle root; - ihandle chosen; - int cpu; - ihandle stdout; - ihandle disp_node; - struct prom_args args; - unsigned long version; - unsigned long encode_phys_size; - struct bi_record *bi_recs; -}; - -extern struct prom_t prom; -extern char *of_stdout_device; - -extern int boot_cpuid; - /* OBSOLETE: Old stlye node lookup */ extern struct device_node *find_devices(const char *name); extern struct device_node *find_type_devices(const char *type); @@ -246,6 +254,7 @@ extern struct device_node *of_find_node_by_type(struct device_node *from, extern struct device_node *of_find_compatible_node(struct device_node *from, const char *type, const char *compat); extern struct device_node *of_find_node_by_path(const char *path); +extern struct device_node *of_find_node_by_phandle(phandle handle); extern struct device_node *of_find_all_nodes(struct device_node *prev); extern struct device_node *of_get_parent(const struct device_node *node); extern struct device_node *of_get_next_child(const struct device_node *node, diff --git a/include/asm-ppc64/ptrace-common.h b/include/asm-ppc64/ptrace-common.h index 3dbd3e584..af03547f9 100644 --- a/include/asm-ppc64/ptrace-common.h +++ b/include/asm-ppc64/ptrace-common.h @@ -58,6 +58,7 @@ static inline void set_single_step(struct task_struct *task) struct pt_regs *regs = task->thread.regs; if (regs != NULL) regs->msr |= MSR_SE; + set_ti_thread_flag(task->thread_info, TIF_SINGLESTEP); } static inline void clear_single_step(struct task_struct *task) @@ -65,6 +66,7 @@ static inline void clear_single_step(struct task_struct *task) struct pt_regs *regs = task->thread.regs; if (regs != NULL) regs->msr &= ~MSR_SE; + clear_ti_thread_flag(task->thread_info, TIF_SINGLESTEP); } #endif /* _PPC64_PTRACE_COMMON_H */ diff --git a/include/asm-ppc64/ptrace.h b/include/asm-ppc64/ptrace.h index 2ec5d7bc4..c96aad28f 100644 --- a/include/asm-ppc64/ptrace.h +++ b/include/asm-ppc64/ptrace.h @@ -60,15 +60,21 @@ struct pt_regs32 { PPC_REG_32 result; /* Result of a system call */ }; +#define instruction_pointer(regs) ((regs)->nip) +#ifdef CONFIG_SMP +extern unsigned long profile_pc(struct pt_regs *regs); +#else +#define profile_pc(regs) instruction_pointer(regs) #endif +#endif /* __ASSEMBLY__ */ + #define STACK_FRAME_OVERHEAD 112 /* size of minimum stack frame */ /* Size of dummy stack frame allocated when calling signal handler. */ #define __SIGNAL_FRAMESIZE 128 #define __SIGNAL_FRAMESIZE32 64 -#define instruction_pointer(regs) ((regs)->nip) #define user_mode(regs) ((((regs)->msr) >> MSR_PR_LG) & 0x1) #define force_successful_syscall_return() \ diff --git a/include/asm-ppc64/resource.h b/include/asm-ppc64/resource.h index d95a919c1..f5d6b2e8c 100644 --- a/include/asm-ppc64/resource.h +++ b/include/asm-ppc64/resource.h @@ -45,7 +45,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-ppc64/rtas.h b/include/asm-ppc64/rtas.h index d596ec5b4..414b75525 100644 --- a/include/asm-ppc64/rtas.h +++ b/include/asm-ppc64/rtas.h @@ -22,12 +22,13 @@ /* Buffer size for ppc_rtas system call. */ #define RTAS_RMOBUF_MAX (64 * 1024) -/* RTAS return codes */ -#define RTAS_BUSY -2 /* RTAS Return Status - Busy */ -#define RTAS_EXTENDED_DELAY_MIN 9900 -#define RTAS_EXTENDED_DELAY_MAX 9905 +/* RTAS return status codes */ +#define RTAS_BUSY -2 /* RTAS Busy */ +#define RTAS_NO_SUCH_INDICATOR -3 /* No such indicator implemented */ +#define RTAS_EXTENDED_DELAY_MIN 9900 +#define RTAS_EXTENDED_DELAY_MAX 9905 -#define RTAS_UNKNOWN_OP -1099 /* Return Status - Unknown RTAS Token */ +#define RTAS_UNKNOWN_OP -1099 /* Unknown RTAS Token */ /* * In general to call RTAS use rtas_token("string") to lookup @@ -65,67 +66,78 @@ struct rtas_t { struct device_node *dev; /* virtual address pointer */ }; -/* Event classes */ +/* RTAS event classes */ #define RTAS_INTERNAL_ERROR 0x80000000 /* set bit 0 */ #define RTAS_EPOW_WARNING 0x40000000 /* set bit 1 */ #define RTAS_POWERMGM_EVENTS 0x20000000 /* set bit 2 */ #define RTAS_HOTPLUG_EVENTS 0x10000000 /* set bit 3 */ #define RTAS_EVENT_SCAN_ALL_EVENTS 0xf0000000 -/* event-scan returns */ -#define SEVERITY_FATAL 0x5 -#define SEVERITY_ERROR 0x4 -#define SEVERITY_ERROR_SYNC 0x3 -#define SEVERITY_WARNING 0x2 -#define SEVERITY_EVENT 0x1 -#define SEVERITY_NO_ERROR 0x0 -#define DISP_FULLY_RECOVERED 0x0 -#define DISP_LIMITED_RECOVERY 0x1 -#define DISP_NOT_RECOVERED 0x2 -#define PART_PRESENT 0x0 -#define PART_NOT_PRESENT 0x1 -#define INITIATOR_UNKNOWN 0x0 -#define INITIATOR_CPU 0x1 -#define INITIATOR_PCI 0x2 -#define INITIATOR_ISA 0x3 -#define INITIATOR_MEMORY 0x4 -#define INITIATOR_POWERMGM 0x5 -#define TARGET_UNKNOWN 0x0 -#define TARGET_CPU 0x1 -#define TARGET_PCI 0x2 -#define TARGET_ISA 0x3 -#define TARGET_MEMORY 0x4 -#define TARGET_POWERMGM 0x5 -#define TYPE_RETRY 0x01 -#define TYPE_TCE_ERR 0x02 -#define TYPE_INTERN_DEV_FAIL 0x03 -#define TYPE_TIMEOUT 0x04 -#define TYPE_DATA_PARITY 0x05 -#define TYPE_ADDR_PARITY 0x06 -#define TYPE_CACHE_PARITY 0x07 -#define TYPE_ADDR_INVALID 0x08 -#define TYPE_ECC_UNCORR 0x09 -#define TYPE_ECC_CORR 0x0a -#define TYPE_EPOW 0x40 +/* RTAS event severity */ +#define RTAS_SEVERITY_FATAL 0x5 +#define RTAS_SEVERITY_ERROR 0x4 +#define RTAS_SEVERITY_ERROR_SYNC 0x3 +#define RTAS_SEVERITY_WARNING 0x2 +#define RTAS_SEVERITY_EVENT 0x1 +#define RTAS_SEVERITY_NO_ERROR 0x0 + +/* RTAS event disposition */ +#define RTAS_DISP_FULLY_RECOVERED 0x0 +#define RTAS_DISP_LIMITED_RECOVERY 0x1 +#define RTAS_DISP_NOT_RECOVERED 0x2 + +/* RTAS event initiator */ +#define RTAS_INITIATOR_UNKNOWN 0x0 +#define RTAS_INITIATOR_CPU 0x1 +#define RTAS_INITIATOR_PCI 0x2 +#define RTAS_INITIATOR_ISA 0x3 +#define RTAS_INITIATOR_MEMORY 0x4 +#define RTAS_INITIATOR_POWERMGM 0x5 + +/* RTAS event target */ +#define RTAS_TARGET_UNKNOWN 0x0 +#define RTAS_TARGET_CPU 0x1 +#define RTAS_TARGET_PCI 0x2 +#define RTAS_TARGET_ISA 0x3 +#define RTAS_TARGET_MEMORY 0x4 +#define RTAS_TARGET_POWERMGM 0x5 + +/* RTAS event type */ +#define RTAS_TYPE_RETRY 0x01 +#define RTAS_TYPE_TCE_ERR 0x02 +#define RTAS_TYPE_INTERN_DEV_FAIL 0x03 +#define RTAS_TYPE_TIMEOUT 0x04 +#define RTAS_TYPE_DATA_PARITY 0x05 +#define RTAS_TYPE_ADDR_PARITY 0x06 +#define RTAS_TYPE_CACHE_PARITY 0x07 +#define RTAS_TYPE_ADDR_INVALID 0x08 +#define RTAS_TYPE_ECC_UNCORR 0x09 +#define RTAS_TYPE_ECC_CORR 0x0a +#define RTAS_TYPE_EPOW 0x40 +#define RTAS_TYPE_PLATFORM 0xE0 +#define RTAS_TYPE_IO 0xE1 +#define RTAS_TYPE_INFO 0xE2 +#define RTAS_TYPE_DEALLOC 0xE3 +#define RTAS_TYPE_DUMP 0xE4 /* I don't add PowerMGM events right now, this is a different topic */ -#define TYPE_PMGM_POWER_SW_ON 0x60 -#define TYPE_PMGM_POWER_SW_OFF 0x61 -#define TYPE_PMGM_LID_OPEN 0x62 -#define TYPE_PMGM_LID_CLOSE 0x63 -#define TYPE_PMGM_SLEEP_BTN 0x64 -#define TYPE_PMGM_WAKE_BTN 0x65 -#define TYPE_PMGM_BATTERY_WARN 0x66 -#define TYPE_PMGM_BATTERY_CRIT 0x67 -#define TYPE_PMGM_SWITCH_TO_BAT 0x68 -#define TYPE_PMGM_SWITCH_TO_AC 0x69 -#define TYPE_PMGM_KBD_OR_MOUSE 0x6a -#define TYPE_PMGM_ENCLOS_OPEN 0x6b -#define TYPE_PMGM_ENCLOS_CLOSED 0x6c -#define TYPE_PMGM_RING_INDICATE 0x6d -#define TYPE_PMGM_LAN_ATTENTION 0x6e -#define TYPE_PMGM_TIME_ALARM 0x6f -#define TYPE_PMGM_CONFIG_CHANGE 0x70 -#define TYPE_PMGM_SERVICE_PROC 0x71 +#define RTAS_TYPE_PMGM_POWER_SW_ON 0x60 +#define RTAS_TYPE_PMGM_POWER_SW_OFF 0x61 +#define RTAS_TYPE_PMGM_LID_OPEN 0x62 +#define RTAS_TYPE_PMGM_LID_CLOSE 0x63 +#define RTAS_TYPE_PMGM_SLEEP_BTN 0x64 +#define RTAS_TYPE_PMGM_WAKE_BTN 0x65 +#define RTAS_TYPE_PMGM_BATTERY_WARN 0x66 +#define RTAS_TYPE_PMGM_BATTERY_CRIT 0x67 +#define RTAS_TYPE_PMGM_SWITCH_TO_BAT 0x68 +#define RTAS_TYPE_PMGM_SWITCH_TO_AC 0x69 +#define RTAS_TYPE_PMGM_KBD_OR_MOUSE 0x6a +#define RTAS_TYPE_PMGM_ENCLOS_OPEN 0x6b +#define RTAS_TYPE_PMGM_ENCLOS_CLOSED 0x6c +#define RTAS_TYPE_PMGM_RING_INDICATE 0x6d +#define RTAS_TYPE_PMGM_LAN_ATTENTION 0x6e +#define RTAS_TYPE_PMGM_TIME_ALARM 0x6f +#define RTAS_TYPE_PMGM_CONFIG_CHANGE 0x70 +#define RTAS_TYPE_PMGM_SERVICE_PROC 0x71 struct rtas_error_log { unsigned long version:8; /* Architectural version */ @@ -168,7 +180,7 @@ extern struct rtas_t rtas; extern void enter_rtas(unsigned long); extern int rtas_token(const char *service); extern int rtas_call(int token, int, int, int *, ...); -extern void call_rtas_display_status(char); +extern void call_rtas_display_status(unsigned char); extern void rtas_restart(char *cmd); extern void rtas_power_off(void); extern void rtas_halt(void); @@ -177,6 +189,7 @@ extern int rtas_get_sensor(int sensor, int index, int *state); extern int rtas_get_power_level(int powerdomain, int *level); extern int rtas_set_power_level(int powerdomain, int level, int *setlevel); extern int rtas_set_indicator(int indicator, int index, int new_value); +extern void rtas_initialize(void); /* Given an RTAS status code of 9900..9905 compute the hinted delay */ unsigned int rtas_extended_busy_delay_time(int status); @@ -199,8 +212,14 @@ extern void pSeries_log_error(char *buf, unsigned int err_type, int fatal); #define RTAS_DEBUG KERN_DEBUG "RTAS: " #define RTAS_ERROR_LOG_MAX 2048 - - + +/* + * Return the firmware-specified size of the error log buffer + * for all rtas calls that require an error buffer argument. + * This includes 'check-exception' and 'rtas-last-error'. + */ +extern int rtas_get_error_log_max(void); + /* Event Scan Parameters */ #define EVENT_SCAN_ALL_EVENTS 0xf0000000 #define SURVEILLANCE_TOKEN 9000 diff --git a/include/asm-ppc64/smp.h b/include/asm-ppc64/smp.h index 139e88e50..b5573ab36 100644 --- a/include/asm-ppc64/smp.h +++ b/include/asm-ppc64/smp.h @@ -26,6 +26,8 @@ #include +extern int boot_cpuid; + #ifdef CONFIG_SMP extern void smp_send_debugger_break(int cpu); @@ -36,22 +38,7 @@ extern void smp_message_recv(int, struct pt_regs *); #define smp_processor_id() (get_paca()->paca_index) #define hard_smp_processor_id() (get_paca()->hw_cpu_id) -/* - * Retrieve the state of a CPU: - * online: CPU is in a normal run state - * possible: CPU is a candidate to be made online - * available: CPU is candidate for the 'possible' pool - * Used to get SMT threads started at boot time. - * present_at_boot: CPU was available at boot time. Used in DLPAR - * code to handle special cases for processor start up. - */ -extern cpumask_t cpu_present_at_boot; -extern cpumask_t cpu_online_map; -extern cpumask_t cpu_possible_map; -extern cpumask_t cpu_available_map; - -#define cpu_present_at_boot(cpu) cpu_isset(cpu, cpu_present_at_boot) -#define cpu_available(cpu) cpu_isset(cpu, cpu_available_map) +extern cpumask_t cpu_sibling_map[NR_CPUS]; /* Since OpenPIC has only 4 IPIs, we use slightly different message numbers. * @@ -73,11 +60,14 @@ void smp_init_pSeries(void); extern int __cpu_disable(void); extern void __cpu_die(unsigned int cpu); extern void cpu_die(void) __attribute__((noreturn)); +extern int query_cpu_stopped(unsigned int pcpu); #endif /* !(CONFIG_SMP) */ #define get_hard_smp_processor_id(CPU) (paca[(CPU)].hw_cpu_id) #define set_hard_smp_processor_id(CPU, VAL) \ - do { (paca[(CPU)].hw_proc_num = (VAL)); } while (0) + do { (paca[(CPU)].hw_cpu_id = (VAL)); } while (0) + +extern int smt_enabled_at_boot; #endif /* __ASSEMBLY__ */ diff --git a/include/asm-ppc64/spinlock.h b/include/asm-ppc64/spinlock.h index d2074c44f..45a6f7545 100644 --- a/include/asm-ppc64/spinlock.h +++ b/include/asm-ppc64/spinlock.h @@ -6,6 +6,8 @@ * * Copyright (C) 2001-2004 Paul Mackerras , IBM * Copyright (C) 2001 Anton Blanchard , IBM + * Copyright (C) 2002 Dave Engebretsen , IBM + * Rework to support virtual processors * * Type of int is used as a full 64b word is not necessary. * @@ -16,11 +18,17 @@ */ #include #include +#include +#include typedef struct { volatile unsigned int lock; } spinlock_t; +typedef struct { + volatile signed int lock; +} rwlock_t; + #ifdef __KERNEL__ #define SPIN_LOCK_UNLOCKED (spinlock_t) { 0 } @@ -34,101 +42,91 @@ static __inline__ void _raw_spin_unlock(spinlock_t *lock) } /* - * Normally we use the spinlock functions in arch/ppc64/lib/locks.c. - * For special applications such as profiling, we can have the - * spinlock functions inline by defining CONFIG_SPINLINE. - * This is not recommended on partitioned systems with shared - * processors, since the inline spinlock functions don't include - * the code for yielding the CPU to the lock holder. + * On a system with shared processors (that is, where a physical + * processor is multiplexed between several virtual processors), + * there is no point spinning on a lock if the holder of the lock + * isn't currently scheduled on a physical processor. Instead + * we detect this situation and ask the hypervisor to give the + * rest of our timeslice to the lock holder. + * + * So that we can tell which virtual processor is holding a lock, + * we put 0x80000000 | smp_processor_id() in the lock when it is + * held. Conveniently, we have a word in the paca that holds this + * value. */ -#ifndef CONFIG_SPINLINE -extern int _raw_spin_trylock(spinlock_t *lock); -extern void _raw_spin_lock(spinlock_t *lock); -extern void _raw_spin_lock_flags(spinlock_t *lock, unsigned long flags); +#if defined(CONFIG_PPC_SPLPAR) || defined(CONFIG_PPC_ISERIES) +/* We only yield to the hypervisor if we are in shared processor mode */ +#define SHARED_PROCESSOR (get_paca()->lppaca.xSharedProc) +extern void __spin_yield(spinlock_t *lock); +extern void __rw_yield(rwlock_t *lock); +#else /* SPLPAR || ISERIES */ +#define __spin_yield(x) barrier() +#define __rw_yield(x) barrier() +#define SHARED_PROCESSOR 0 +#endif extern void spin_unlock_wait(spinlock_t *lock); -#else - -static __inline__ int _raw_spin_trylock(spinlock_t *lock) +/* + * This returns the old value in the lock, so we succeeded + * in getting the lock if the return value is 0. + */ +static __inline__ unsigned long __spin_trylock(spinlock_t *lock) { - unsigned int tmp, tmp2; + unsigned long tmp, tmp2; __asm__ __volatile__( -"1: lwarx %0,0,%2 # spin_trylock\n\ +" lwz %1,%3(13) # __spin_trylock\n\ +1: lwarx %0,0,%2\n\ cmpwi 0,%0,0\n\ bne- 2f\n\ - lwz %1,%3(13)\n\ stwcx. %1,0,%2\n\ bne- 1b\n\ isync\n\ -2:" : "=&r"(tmp), "=&r"(tmp2) - : "r"(&lock->lock), "i"(offsetof(struct paca_struct, lock_token)) +2:" : "=&r" (tmp), "=&r" (tmp2) + : "r" (&lock->lock), "i" (offsetof(struct paca_struct, lock_token)) : "cr0", "memory"); - return tmp == 0; + return tmp; } -static __inline__ void _raw_spin_lock(spinlock_t *lock) +static int __inline__ _raw_spin_trylock(spinlock_t *lock) { - unsigned int tmp; - - __asm__ __volatile__( - "b 2f # spin_lock\n\ -1:" - HMT_LOW -" lwzx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne+ 1b\n" - HMT_MEDIUM -"2: lwarx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne- 1b\n\ - lwz %0,%2(13)\n\ - stwcx. %0,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(&lock->lock), "i"(offsetof(struct paca_struct, lock_token)) - : "cr0", "memory"); + return __spin_trylock(lock) == 0; } -/* - * Note: if we ever want to inline the spinlocks on iSeries, - * we will have to change the irq enable/disable stuff in here. - */ -static __inline__ void _raw_spin_lock_flags(spinlock_t *lock, - unsigned long flags) +static void __inline__ _raw_spin_lock(spinlock_t *lock) { - unsigned int tmp; - unsigned long tmp2; - - __asm__ __volatile__( - "b 3f # spin_lock\n\ -1: mfmsr %1\n\ - mtmsrd %3,1\n\ -2:" HMT_LOW -" lwzx %0,0,%2\n\ - cmpwi 0,%0,0\n\ - bne+ 2b\n" - HMT_MEDIUM -" mtmsrd %1,1\n\ -3: lwarx %0,0,%2\n\ - cmpwi 0,%0,0\n\ - bne- 1b\n\ - lwz %1,%4(13)\n\ - stwcx. %1,0,%2\n\ - bne- 3b\n\ - isync" - : "=&r"(tmp), "=&r"(tmp2) - : "r"(&lock->lock), "r"(flags), - "i" (offsetof(struct paca_struct, lock_token)) - : "cr0", "memory"); + while (1) { + if (likely(__spin_trylock(lock) == 0)) + break; + do { + HMT_low(); + if (SHARED_PROCESSOR) + __spin_yield(lock); + } while (likely(lock->lock != 0)); + HMT_medium(); + } } -#define spin_unlock_wait(x) do { cpu_relax(); } while (spin_is_locked(x)) - -#endif /* CONFIG_SPINLINE */ +static void __inline__ _raw_spin_lock_flags(spinlock_t *lock, unsigned long flags) +{ + unsigned long flags_dis; + + while (1) { + if (likely(__spin_trylock(lock) == 0)) + break; + local_save_flags(flags_dis); + local_irq_restore(flags); + do { + HMT_low(); + if (SHARED_PROCESSOR) + __spin_yield(lock); + } while (likely(lock->lock != 0)); + HMT_medium(); + local_irq_restore(flags_dis); + } +} /* * Read-write spinlocks, allowing multiple readers @@ -140,10 +138,6 @@ static __inline__ void _raw_spin_lock_flags(spinlock_t *lock, * irq-safe write-lock, but readers can get non-irqsafe * read-locks. */ -typedef struct { - volatile signed int lock; -} rwlock_t; - #define RW_LOCK_UNLOCKED (rwlock_t) { 0 } #define rwlock_init(x) do { *(x) = RW_LOCK_UNLOCKED; } while(0) @@ -165,67 +159,54 @@ static __inline__ void _raw_write_unlock(rwlock_t *rw) rw->lock = 0; } -#ifndef CONFIG_SPINLINE -extern int _raw_read_trylock(rwlock_t *rw); -extern void _raw_read_lock(rwlock_t *rw); -extern void _raw_read_unlock(rwlock_t *rw); -extern int _raw_write_trylock(rwlock_t *rw); -extern void _raw_write_lock(rwlock_t *rw); -extern void _raw_write_unlock(rwlock_t *rw); - -#else -static __inline__ int _raw_read_trylock(rwlock_t *rw) +/* + * This returns the old value in the lock + 1, + * so we got a read lock if the return value is > 0. + */ +static long __inline__ __read_trylock(rwlock_t *rw) { - unsigned int tmp; - unsigned int ret; + long tmp; __asm__ __volatile__( -"1: lwarx %0,0,%2 # read_trylock\n\ - li %1,0\n\ +"1: lwarx %0,0,%1 # read_trylock\n\ extsw %0,%0\n\ addic. %0,%0,1\n\ ble- 2f\n\ - stwcx. %0,0,%2\n\ + stwcx. %0,0,%1\n\ bne- 1b\n\ - li %1,1\n\ isync\n\ -2:" : "=&r"(tmp), "=&r"(ret) - : "r"(&rw->lock) - : "cr0", "memory"); +2:" : "=&r" (tmp) + : "r" (&rw->lock) + : "cr0", "xer", "memory"); - return ret; + return tmp; } -static __inline__ void _raw_read_lock(rwlock_t *rw) +static int __inline__ _raw_read_trylock(rwlock_t *rw) { - unsigned int tmp; + return __read_trylock(rw) > 0; +} - __asm__ __volatile__( - "b 2f # read_lock\n\ -1:" - HMT_LOW -" lwax %0,0,%1\n\ - cmpwi 0,%0,0\n\ - blt+ 1b\n" - HMT_MEDIUM -"2: lwarx %0,0,%1\n\ - extsw %0,%0\n\ - addic. %0,%0,1\n\ - ble- 1b\n\ - stwcx. %0,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(&rw->lock) - : "cr0", "memory"); +static void __inline__ _raw_read_lock(rwlock_t *rw) +{ + while (1) { + if (likely(__read_trylock(rw) > 0)) + break; + do { + HMT_low(); + if (SHARED_PROCESSOR) + __rw_yield(rw); + } while (likely(rw->lock < 0)); + HMT_medium(); + } } -static __inline__ void _raw_read_unlock(rwlock_t *rw) +static void __inline__ _raw_read_unlock(rwlock_t *rw) { - unsigned int tmp; + long tmp; __asm__ __volatile__( - "lwsync # read_unlock\n\ + "eieio # read_unlock\n\ 1: lwarx %0,0,%1\n\ addic %0,%0,-1\n\ stwcx. %0,0,%1\n\ @@ -235,50 +216,47 @@ static __inline__ void _raw_read_unlock(rwlock_t *rw) : "cr0", "memory"); } -static __inline__ int _raw_write_trylock(rwlock_t *rw) +/* + * This returns the old value in the lock, + * so we got the write lock if the return value is 0. + */ +static __inline__ long __write_trylock(rwlock_t *rw) { - unsigned int tmp; - unsigned int ret; + long tmp, tmp2; __asm__ __volatile__( -"1: lwarx %0,0,%2 # write_trylock\n\ +" lwz %1,%3(13) # write_trylock\n\ +1: lwarx %0,0,%2\n\ cmpwi 0,%0,0\n\ - li %1,0\n\ bne- 2f\n\ - stwcx. %3,0,%2\n\ + stwcx. %1,0,%2\n\ bne- 1b\n\ - li %1,1\n\ isync\n\ -2:" : "=&r"(tmp), "=&r"(ret) - : "r"(&rw->lock), "r"(-1) +2:" : "=&r" (tmp), "=&r" (tmp2) + : "r" (&rw->lock), "i" (offsetof(struct paca_struct, lock_token)) : "cr0", "memory"); - return ret; + return tmp; } -static __inline__ void _raw_write_lock(rwlock_t *rw) +static int __inline__ _raw_write_trylock(rwlock_t *rw) { - unsigned int tmp; + return __write_trylock(rw) == 0; +} - __asm__ __volatile__( - "b 2f # write_lock\n\ -1:" - HMT_LOW - "lwax %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne+ 1b\n" - HMT_MEDIUM -"2: lwarx %0,0,%1\n\ - cmpwi 0,%0,0\n\ - bne- 1b\n\ - stwcx. %2,0,%1\n\ - bne- 2b\n\ - isync" - : "=&r"(tmp) - : "r"(&rw->lock), "r"(-1) - : "cr0", "memory"); +static void __inline__ _raw_write_lock(rwlock_t *rw) +{ + while (1) { + if (likely(__write_trylock(rw) == 0)) + break; + do { + HMT_low(); + if (SHARED_PROCESSOR) + __rw_yield(rw); + } while (likely(rw->lock != 0)); + HMT_medium(); + } } -#endif /* CONFIG_SPINLINE */ #endif /* __KERNEL__ */ #endif /* __ASM_SPINLOCK_H */ diff --git a/include/asm-ppc64/system.h b/include/asm-ppc64/system.h index 276bfa813..dc3153fa4 100644 --- a/include/asm-ppc64/system.h +++ b/include/asm-ppc64/system.h @@ -105,6 +105,7 @@ extern int fix_alignment(struct pt_regs *regs); extern void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig); extern void show_regs(struct pt_regs * regs); +extern void low_hash_fault(struct pt_regs *regs, unsigned long address); extern int die(const char *str, struct pt_regs *regs, long err); extern void flush_instruction_cache(void); @@ -128,6 +129,8 @@ static inline void flush_altivec_to_thread(struct task_struct *t) } #endif +extern int mem_init_done; /* set on boot once kmalloc can be called */ + /* EBCDIC -> ASCII conversion for [0-9A-Z] on iSeries */ extern unsigned char e2a(unsigned char); diff --git a/include/asm-ppc64/systemcfg.h b/include/asm-ppc64/systemcfg.h index 7cefeef2b..b7d6e0f34 100644 --- a/include/asm-ppc64/systemcfg.h +++ b/include/asm-ppc64/systemcfg.h @@ -59,54 +59,7 @@ struct systemcfg { #ifdef __KERNEL__ extern struct systemcfg *systemcfg; -#else - -/* Processor Version Register (PVR) field extraction */ -#define PVR_VER(pvr) (((pvr) >> 16) & 0xFFFF) /* Version field */ -#define PVR_REV(pvr) (((pvr) >> 0) & 0xFFFF) /* Revison field */ - -/* Processor Version Numbers */ -#define PV_NORTHSTAR 0x0033 -#define PV_PULSAR 0x0034 -#define PV_POWER4 0x0035 -#define PV_ICESTAR 0x0036 -#define PV_SSTAR 0x0037 -#define PV_POWER4p 0x0038 -#define PV_GPUL 0x0039 -#define PV_POWER5 0x003a -#define PV_970FX 0x003c -#define PV_630 0x0040 -#define PV_630p 0x0041 - -/* Platforms supported by PPC64 */ -#define PLATFORM_PSERIES 0x0100 -#define PLATFORM_PSERIES_LPAR 0x0101 -#define PLATFORM_ISERIES_LPAR 0x0201 -#define PLATFORM_POWERMAC 0x0400 - -/* Compatibility with drivers coming from PPC32 world */ -#define _machine (systemcfg->platform) -#define _MACH_Pmac PLATFORM_POWERMAC - - -static inline volatile struct systemcfg *systemcfg_init(void) -{ - int fd = open("/proc/ppc64/systemcfg", O_RDONLY); - volatile struct systemcfg *ret; - - if (fd == -1) - return 0; - ret = mmap(0, sizeof(struct systemcfg), PROT_READ, MAP_SHARED, fd, 0); - close(fd); - if (!ret) - return 0; - if (ret->version.major != SYSTEMCFG_MAJOR || ret->version.minor < SYSTEMCFG_MINOR) { - munmap((void *)ret, sizeof(struct systemcfg)); - return 0; - } - return ret; -} -#endif /* __KERNEL__ */ +#endif #endif /* __ASSEMBLY__ */ diff --git a/include/asm-ppc64/thread_info.h b/include/asm-ppc64/thread_info.h index 04aec3ba8..575f0a4ee 100644 --- a/include/asm-ppc64/thread_info.h +++ b/include/asm-ppc64/thread_info.h @@ -97,6 +97,7 @@ static inline struct thread_info *current_thread_info(void) #define TIF_RUN_LIGHT 6 /* iSeries run light */ #define TIF_ABI_PENDING 7 /* 32/64 bit switch needed */ #define TIF_SYSCALL_AUDIT 8 /* syscall auditing active */ +#define TIF_SINGLESTEP 9 /* singlestepping active */ /* as above, but as bit values */ #define _TIF_SYSCALL_TRACE (1< #include +#include /* for save_access_regs */ typedef s390_fp_regs elf_fpregset_t; @@ -152,6 +153,7 @@ typedef s390_regs elf_gregset_t; static inline int dump_regs(struct pt_regs *ptregs, elf_gregset_t *regs) { memcpy(®s->psw, &ptregs->psw, sizeof(regs->psw)+sizeof(regs->gprs)); + save_access_regs(regs->acrs); regs->orig_gpr2 = ptregs->orig_gpr2; return 1; } @@ -160,8 +162,10 @@ static inline int dump_regs(struct pt_regs *ptregs, elf_gregset_t *regs) static inline int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs) { - dump_regs(__KSTK_PTREGS(tsk), regs); + struct pt_regs *ptregs = __KSTK_PTREGS(tsk); + memcpy(®s->psw, &ptregs->psw, sizeof(regs->psw)+sizeof(regs->gprs)); memcpy(regs->acrs, tsk->thread.acrs, sizeof(regs->acrs)); + regs->orig_gpr2 = ptregs->orig_gpr2; return 1; } @@ -169,7 +173,10 @@ static inline int dump_task_regs(struct task_struct *tsk, elf_gregset_t *regs) static inline int dump_task_fpu(struct task_struct *tsk, elf_fpregset_t *fpregs) { - memcpy(fpregs, &tsk->thread.fp_regs, sizeof(elf_fpregset_t)); + if (tsk == current) + save_fp_regs(fpregs); + else + memcpy(fpregs, &tsk->thread.fp_regs, sizeof(elf_fpregset_t)); return 1; } diff --git a/include/asm-s390/module.h b/include/asm-s390/module.h index 1cc1c5af7..b64dab085 100644 --- a/include/asm-s390/module.h +++ b/include/asm-s390/module.h @@ -29,14 +29,17 @@ struct mod_arch_specific }; #ifdef __s390x__ +#define MODULES_ARE_ELF64 #define ElfW(x) Elf64_ ## x #define ELFW(x) ELF64_ ## x #else +#define MODULES_ARE_ELF32 #define ElfW(x) Elf32_ ## x #define ELFW(x) ELF32_ ## x #endif #define Elf_Addr ElfW(Addr) +#define Elf_Rel ElfW(Rel) #define Elf_Rela ElfW(Rela) #define Elf_Shdr ElfW(Shdr) #define Elf_Sym ElfW(Sym) diff --git a/include/asm-s390/page.h b/include/asm-s390/page.h index f377bc141..e3b6b36ef 100644 --- a/include/asm-s390/page.h +++ b/include/asm-s390/page.h @@ -162,6 +162,25 @@ typedef struct { unsigned long pgd; } pgd_t; #define __pgd(x) ((pgd_t) { (x) } ) #define __pgprot(x) ((pgprot_t) { (x) } ) +/* default storage key used for all pages */ +extern unsigned int default_storage_key; + +static inline void +page_set_storage_key(unsigned long addr, unsigned int skey) +{ + asm volatile ( "sske %0,%1" : : "d" (skey), "a" (addr) ); +} + +static inline unsigned int +page_get_storage_key(unsigned long addr) +{ + unsigned int skey; + + asm volatile ( "iske %0,%1" : "=d" (skey) : "a" (addr), "0" (0) ); + + return skey; +} + #endif /* !__ASSEMBLY__ */ /* to align the pointer to the (next) page boundary */ diff --git a/include/asm-s390/pgtable.h b/include/asm-s390/pgtable.h index 05ac76fd3..c74a47e90 100644 --- a/include/asm-s390/pgtable.h +++ b/include/asm-s390/pgtable.h @@ -597,17 +597,13 @@ ptep_establish(struct vm_area_struct *vma, * should therefore only be called if it is not mapped in any * address space. */ -#define page_test_and_clear_dirty(page) \ +#define page_test_and_clear_dirty(_page) \ ({ \ - struct page *__page = (page); \ + struct page *__page = (_page); \ unsigned long __physpage = __pa((__page-mem_map) << PAGE_SHIFT); \ - int __skey; \ - asm volatile ("iske %0,%1" : "=d" (__skey) : "a" (__physpage)); \ - if (__skey & _PAGE_CHANGED) { \ - asm volatile ("sske %0,%1" \ - : : "d" (__skey & ~_PAGE_CHANGED), \ - "a" (__physpage)); \ - } \ + int __skey = page_get_storage_key(__physpage); \ + if (__skey & _PAGE_CHANGED) \ + page_set_storage_key(__physpage, __skey & ~_PAGE_CHANGED);\ (__skey & _PAGE_CHANGED); \ }) @@ -655,11 +651,10 @@ static inline pte_t mk_pte_phys(unsigned long physpage, pgprot_t pgprot) }) #define SetPageUptodate(_page) \ - do { \ - struct page *__page = (_page); \ - if (!test_and_set_bit(PG_uptodate, &__page->flags)) \ - asm volatile ("sske %0,%1" : : "d" (0), \ - "a" (__pa((__page-mem_map) << PAGE_SHIFT)));\ + do { \ + struct page *__page = (_page); \ + if (!test_and_set_bit(PG_uptodate, &__page->flags)) \ + page_test_and_clear_dirty(_page); \ } while (0) #ifdef __s390x__ diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h index b99592e37..cbbd11471 100644 --- a/include/asm-s390/processor.h +++ b/include/asm-s390/processor.h @@ -103,6 +103,25 @@ struct thread_struct { typedef struct thread_struct thread_struct; +/* + * Stack layout of a C stack frame. + */ +#ifndef __PACK_STACK +struct stack_frame { + unsigned long back_chain; + unsigned long empty1[5]; + unsigned long gprs[10]; + unsigned int empty2[8]; +}; +#else +struct stack_frame { + unsigned long empty1[5]; + unsigned int empty2[8]; + unsigned long gprs[10]; + unsigned long back_chain; +}; +#endif + #define ARCH_MIN_TASKALIGN 8 #ifndef __s390x__ diff --git a/include/asm-s390/resource.h b/include/asm-s390/resource.h index 68ba34ea7..05720dbdf 100644 --- a/include/asm-s390/resource.h +++ b/include/asm-s390/resource.h @@ -47,7 +47,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-s390/thread_info.h b/include/asm-s390/thread_info.h index b4b2d323d..45f43bda1 100644 --- a/include/asm-s390/thread_info.h +++ b/include/asm-s390/thread_info.h @@ -11,6 +11,30 @@ #ifdef __KERNEL__ +/* + * Size of kernel stack for each process + */ +#ifndef __s390x__ +#ifndef __SMALL_STACK +#define THREAD_ORDER 1 +#define ASYNC_ORDER 1 +#else +#define THREAD_ORDER 0 +#define ASYNC_ORDER 0 +#endif +#else /* __s390x__ */ +#ifndef __SMALL_STACK +#define THREAD_ORDER 2 +#define ASYNC_ORDER 2 +#else +#define THREAD_ORDER 1 +#define ASYNC_ORDER 1 +#endif +#endif /* __s390x__ */ + +#define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) +#define ASYNC_SIZE (PAGE_SIZE << ASYNC_ORDER) + #ifndef __ASSEMBLY__ #include #include @@ -47,20 +71,6 @@ struct thread_info { #define init_thread_info (init_thread_union.thread_info) #define init_stack (init_thread_union.stack) -/* - * Size of kernel stack for each process - */ -#ifndef __s390x__ -#define THREAD_ORDER 1 -#define ASYNC_ORDER 1 -#else /* __s390x__ */ -#define THREAD_ORDER 2 -#define ASYNC_ORDER 2 -#endif /* __s390x__ */ - -#define THREAD_SIZE (PAGE_SIZE << THREAD_ORDER) -#define ASYNC_SIZE (PAGE_SIZE << ASYNC_ORDER) - /* how to get the thread information struct from C */ static inline struct thread_info *current_thread_info(void) { diff --git a/include/asm-s390/uaccess.h b/include/asm-s390/uaccess.h index 0b654b318..5eda2c334 100644 --- a/include/asm-s390/uaccess.h +++ b/include/asm-s390/uaccess.h @@ -250,6 +250,9 @@ extern int __put_user_bad(void); extern int __get_user_bad(void); +#define __put_user_unaligned __put_user +#define __get_user_unaligned __get_user + extern long __copy_to_user_asm(const void *from, long n, void __user *to); /** diff --git a/include/asm-sh/dma-mapping.h b/include/asm-sh/dma-mapping.h index 8f149477e..8876ec7b0 100644 --- a/include/asm-sh/dma-mapping.h +++ b/include/asm-sh/dma-mapping.h @@ -3,7 +3,6 @@ #include #include -#include #include #include diff --git a/include/asm-sh/module.h b/include/asm-sh/module.h index 118d5a2b2..c3cf4958e 100644 --- a/include/asm-sh/module.h +++ b/include/asm-sh/module.h @@ -9,9 +9,14 @@ struct mod_arch_specific { /* Nothing to see here .. */ }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #ifdef CONFIG_CPU_LITTLE_ENDIAN # ifdef CONFIG_CPU_SH2 diff --git a/include/asm-sh/resource.h b/include/asm-sh/resource.h index b3d6ae5ea..bf6152e11 100644 --- a/include/asm-sh/resource.h +++ b/include/asm-sh/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-sparc/bug.h b/include/asm-sparc/bug.h index 1f321b091..0d30a67d8 100644 --- a/include/asm-sparc/bug.h +++ b/include/asm-sparc/bug.h @@ -25,20 +25,7 @@ extern void do_BUG(const char *file, int line); #define BUG() __bug_trap() #endif -#define BUG_ON(condition) do { \ - if (unlikely((condition)!=0)) \ - BUG(); \ -} while(0) - -#define PAGE_BUG(page) do { \ - BUG(); \ -} while (0) - -#define WARN_ON(condition) do { \ - if (unlikely((condition)!=0)) { \ - printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ - dump_stack(); \ - } \ -} while (0) +#define HAVE_ARCH_BUG +#include #endif diff --git a/include/asm-sparc/cacheflush.h b/include/asm-sparc/cacheflush.h index a5f7fc33b..a91fe62b3 100644 --- a/include/asm-sparc/cacheflush.h +++ b/include/asm-sparc/cacheflush.h @@ -57,9 +57,15 @@ BTFIXUPDEF_CALL(void, flush_cache_page, struct vm_area_struct *, unsigned long) #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) BTFIXUPDEF_CALL(void, __flush_page_to_ram, unsigned long) BTFIXUPDEF_CALL(void, flush_sig_insns, struct mm_struct *, unsigned long) diff --git a/include/asm-sparc/hardirq.h b/include/asm-sparc/hardirq.h index e882cf490..548b44167 100644 --- a/include/asm-sparc/hardirq.h +++ b/include/asm-sparc/hardirq.h @@ -42,42 +42,7 @@ typedef struct { #define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS) #define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS) -#define __MASK(x) ((1UL << (x))-1) - -#define PREEMPT_MASK (__MASK(PREEMPT_BITS) << PREEMPT_SHIFT) -#define HARDIRQ_MASK (__MASK(HARDIRQ_BITS) << HARDIRQ_SHIFT) -#define SOFTIRQ_MASK (__MASK(SOFTIRQ_BITS) << SOFTIRQ_SHIFT) - -#define hardirq_count() (preempt_count() & HARDIRQ_MASK) -#define softirq_count() (preempt_count() & SOFTIRQ_MASK) -#define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK)) - -#define PREEMPT_OFFSET (1UL << PREEMPT_SHIFT) -#define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT) -#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT) - -/* - * Are we doing bottom half or hardware interrupt processing? - * Are we in a softirq context? Interrupt context? - */ -#define in_irq() (hardirq_count()) -#define in_softirq() (softirq_count()) -#define in_interrupt() (irq_count()) - - -#define hardirq_trylock() (!in_interrupt()) -#define hardirq_endlock() do { } while (0) - #define irq_enter() (preempt_count() += HARDIRQ_OFFSET) - -#ifdef CONFIG_PREEMPT -#include -# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked()) -# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1) -#else -# define in_atomic() (preempt_count() != 0) -# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET -#endif #define irq_exit() \ do { \ preempt_count() -= IRQ_EXIT_OFFSET; \ @@ -86,10 +51,4 @@ do { \ preempt_enable_no_resched(); \ } while (0) -#ifndef CONFIG_SMP -# define synchronize_irq(irq) barrier() -#else /* SMP */ -extern void synchronize_irq(unsigned int irq); -#endif /* SMP */ - #endif /* __SPARC_HARDIRQ_H */ diff --git a/include/asm-sparc/module.h b/include/asm-sparc/module.h index cbd9e67b0..e2921e2af 100644 --- a/include/asm-sparc/module.h +++ b/include/asm-sparc/module.h @@ -1,7 +1,12 @@ #ifndef _ASM_SPARC_MODULE_H #define _ASM_SPARC_MODULE_H struct mod_arch_specific { }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) #endif /* _ASM_SPARC_MODULE_H */ diff --git a/include/asm-sparc/resource.h b/include/asm-sparc/resource.h index 7df635adf..d4fb2b4d3 100644 --- a/include/asm-sparc/resource.h +++ b/include/asm-sparc/resource.h @@ -44,7 +44,7 @@ { 0, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \ {INR_OPEN, INR_OPEN}, {0, 0}, \ - {32768, 32768}, \ + {MLOCK_LIMIT, MLOCK_LIMIT}, \ {RLIM_INFINITY, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \ {MAX_SIGPENDING, MAX_SIGPENDING}, \ diff --git a/include/asm-sparc/semaphore.h b/include/asm-sparc/semaphore.h index e8e9ae601..60ac5fd9e 100644 --- a/include/asm-sparc/semaphore.h +++ b/include/asm-sparc/semaphore.h @@ -13,21 +13,14 @@ struct semaphore { atomic24_t count; int sleepers; wait_queue_head_t wait; -#ifdef WAITQUEUE_DEBUG - long __magic; -#endif }; -#ifdef WAITQUEUE_DEBUG -# define __SEM_DEBUG_INIT(name) \ - , (long)&(name).__magic -#else -# define __SEM_DEBUG_INIT(name) -#endif - -#define __SEMAPHORE_INITIALIZER(name,count) \ -{ ATOMIC24_INIT(count), 0, __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ - __SEM_DEBUG_INIT(name) } +#define __SEMAPHORE_INITIALIZER(name, n) \ +{ \ + .count = ATOMIC24_INIT(n), \ + .sleepers = 0, \ + .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ +} #define __MUTEX_INITIALIZER(name) \ __SEMAPHORE_INITIALIZER(name,1) @@ -43,9 +36,6 @@ static inline void sema_init (struct semaphore *sem, int val) atomic24_set(&sem->count, val); sem->sleepers = 0; init_waitqueue_head(&sem->wait); -#ifdef WAITQUEUE_DEBUG - sem->__magic = (long)&sem->__magic; -#endif } static inline void init_MUTEX (struct semaphore *sem) @@ -68,9 +58,6 @@ static inline void down(struct semaphore * sem) register volatile int *ptr asm("g1"); register int increment asm("g2"); -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); ptr = &(sem->count.counter); @@ -105,9 +92,6 @@ static inline int down_interruptible(struct semaphore * sem) register volatile int *ptr asm("g1"); register int increment asm("g2"); -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); ptr = &(sem->count.counter); @@ -145,10 +129,6 @@ static inline int down_trylock(struct semaphore * sem) register volatile int *ptr asm("g1"); register int increment asm("g2"); -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - ptr = &(sem->count.counter); increment = 1; @@ -184,10 +164,6 @@ static inline void up(struct semaphore * sem) register volatile int *ptr asm("g1"); register int increment asm("g2"); -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - ptr = &(sem->count.counter); increment = 1; diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h index b742c9f4d..9034e2d60 100644 --- a/include/asm-sparc/unistd.h +++ b/include/asm-sparc/unistd.h @@ -290,11 +290,12 @@ #define __NR_io_cancel 271 #define __NR_io_getevents 272 #define __NR_mq_open 273 -#define __NR_mq_unlink (__NR_mq_open+1) -#define __NR_mq_timedsend (__NR_mq_open+2) -#define __NR_mq_timedreceive (__NR_mq_open+3) -#define __NR_mq_notify (__NR_mq_open+4) -#define __NR_mq_getsetattr (__NR_mq_open+5) +#define __NR_mq_unlink 274 +#define __NR_mq_timedsend 275 +#define __NR_mq_timedreceive 276 +#define __NR_mq_notify 277 +#define __NR_mq_getsetattr 278 +#define __NR_waitid 279 /* WARNING: You MAY NOT add syscall numbers larger than 282, since * all of the syscall tables in the Sparc kernel are diff --git a/include/asm-sparc64/atomic.h b/include/asm-sparc64/atomic.h index 5374f5b72..823543ddf 100644 --- a/include/asm-sparc64/atomic.h +++ b/include/asm-sparc64/atomic.h @@ -40,6 +40,12 @@ extern int __atomic64_sub(__s64, atomic64_t *); #define atomic_inc_return(v) __atomic_add(1, v) #define atomic64_inc_return(v) __atomic64_add(1, v) +#define atomic_sub_return(i, v) __atomic_sub(i, v) +#define atomic64_sub_return(i, v) __atomic64_sub(i, v) + +#define atomic_add_return(i, v) __atomic_add(i, v) +#define atomic64_add_return(i, v) __atomic64_add(i, v) + /* * atomic_inc_and_test - increment and test * @v: pointer of type atomic_t diff --git a/include/asm-sparc64/bitops.h b/include/asm-sparc64/bitops.h index f13765454..1289af241 100644 --- a/include/asm-sparc64/bitops.h +++ b/include/asm-sparc64/bitops.h @@ -228,13 +228,10 @@ extern unsigned long find_next_zero_bit(unsigned long *, unsigned long, unsigned #define find_first_zero_bit(addr, size) \ find_next_zero_bit((addr), (size), 0) -extern long ___test_and_set_le_bit(int nr, volatile unsigned long *addr); -extern long ___test_and_clear_le_bit(int nr, volatile unsigned long *addr); - -#define test_and_set_le_bit(nr,addr) ({___test_and_set_le_bit(nr,addr)!=0;}) -#define test_and_clear_le_bit(nr,addr) ({___test_and_clear_le_bit(nr,addr)!=0;}) -#define set_le_bit(nr,addr) ((void)___test_and_set_le_bit(nr,addr)) -#define clear_le_bit(nr,addr) ((void)___test_and_clear_le_bit(nr,addr)) +#define test_and_set_le_bit(nr,addr) \ + ({ ___test_and_set_bit((nr) ^ 0x38, (addr)) != 0; }) +#define test_and_clear_le_bit(nr,addr) \ + ({ ___test_and_clear_bit((nr) ^ 0x38, (addr)) != 0; }) static __inline__ int test_le_bit(int nr, __const__ unsigned long * addr) { @@ -253,22 +250,30 @@ extern unsigned long find_next_zero_le_bit(unsigned long *, unsigned long, unsig #ifdef __KERNEL__ -#define ext2_set_bit(nr,addr) test_and_set_le_bit((nr),(unsigned long *)(addr)) -#define ext2_set_bit_atomic(lock,nr,addr) test_and_set_le_bit((nr),(unsigned long *)(addr)) -#define ext2_clear_bit(nr,addr) test_and_clear_le_bit((nr),(unsigned long *)(addr)) -#define ext2_clear_bit_atomic(lock,nr,addr) test_and_clear_le_bit((nr),(unsigned long *)(addr)) -#define ext2_test_bit(nr,addr) test_le_bit((nr),(unsigned long *)(addr)) +#define ext2_set_bit(nr,addr) \ + test_and_set_le_bit((nr),(unsigned long *)(addr)) +#define ext2_set_bit_atomic(lock,nr,addr) \ + test_and_set_le_bit((nr),(unsigned long *)(addr)) +#define ext2_clear_bit(nr,addr) \ + test_and_clear_le_bit((nr),(unsigned long *)(addr)) +#define ext2_clear_bit_atomic(lock,nr,addr) \ + test_and_clear_le_bit((nr),(unsigned long *)(addr)) +#define ext2_test_bit(nr,addr) \ + test_le_bit((nr),(unsigned long *)(addr)) #define ext2_find_first_zero_bit(addr, size) \ find_first_zero_le_bit((unsigned long *)(addr), (size)) #define ext2_find_next_zero_bit(addr, size, off) \ find_next_zero_le_bit((unsigned long *)(addr), (size), (off)) /* Bitmap functions for the minix filesystem. */ -#define minix_test_and_set_bit(nr,addr) test_and_set_bit((nr),(unsigned long *)(addr)) -#define minix_set_bit(nr,addr) set_bit((nr),(unsigned long *)(addr)) +#define minix_test_and_set_bit(nr,addr) \ + test_and_set_bit((nr),(unsigned long *)(addr)) +#define minix_set_bit(nr,addr) \ + set_bit((nr),(unsigned long *)(addr)) #define minix_test_and_clear_bit(nr,addr) \ test_and_clear_bit((nr),(unsigned long *)(addr)) -#define minix_test_bit(nr,addr) test_bit((nr),(unsigned long *)(addr)) +#define minix_test_bit(nr,addr) \ + test_bit((nr),(unsigned long *)(addr)) #define minix_find_first_zero_bit(addr,size) \ find_first_zero_bit((unsigned long *)(addr),(size)) diff --git a/include/asm-sparc64/bug.h b/include/asm-sparc64/bug.h index bfac1afa9..25c5b1dfe 100644 --- a/include/asm-sparc64/bug.h +++ b/include/asm-sparc64/bug.h @@ -1,5 +1,3 @@ -/* $Id$ */ - #ifndef _SPARC64_BUG_H #define _SPARC64_BUG_H @@ -15,20 +13,7 @@ extern void do_BUG(const char *file, int line); #define BUG() __builtin_trap() #endif -#define BUG_ON(condition) do { \ - if (unlikely((condition)!=0)) \ - BUG(); \ -} while(0) - -#define PAGE_BUG(page) do { \ - BUG(); \ -} while (0) - -#define WARN_ON(condition) do { \ - if (unlikely((condition)!=0)) { \ - printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ - dump_stack(); \ - } \ -} while (0) +#define HAVE_ARCH_BUG +#include #endif diff --git a/include/asm-sparc64/cacheflush.h b/include/asm-sparc64/cacheflush.h index b04024ff5..f4b1df6a5 100644 --- a/include/asm-sparc64/cacheflush.h +++ b/include/asm-sparc64/cacheflush.h @@ -38,9 +38,16 @@ extern void __flush_dcache_range(unsigned long start, unsigned long end); #define flush_icache_user_range(vma,pg,adr,len) do { } while (0) #define copy_to_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) + #define copy_from_user_page(vma, page, vaddr, dst, src, len) \ - memcpy(dst, src, len) + do { \ + flush_cache_page(vma, vaddr); \ + memcpy(dst, src, len); \ + } while (0) extern void flush_dcache_page(struct page *page); #define flush_dcache_mmap_lock(mapping) do { } while (0) diff --git a/include/asm-sparc64/checksum.h b/include/asm-sparc64/checksum.h index c388e6e06..daff14e72 100644 --- a/include/asm-sparc64/checksum.h +++ b/include/asm-sparc64/checksum.h @@ -40,7 +40,7 @@ extern unsigned int csum_partial(const unsigned char * buff, int len, unsigned i */ extern unsigned int csum_partial_copy_sparc64(const char *src, char *dst, int len, unsigned int sum); -static __inline__ unsigned int +static inline unsigned int csum_partial_copy_nocheck (const char *src, char *dst, int len, unsigned int sum) { @@ -52,22 +52,23 @@ csum_partial_copy_nocheck (const char *src, char *dst, int len, return ret; } -static __inline__ unsigned int -csum_partial_copy_from_user(const char *src, char *dst, int len, +static inline unsigned int +csum_partial_copy_from_user(const char __user *src, char *dst, int len, unsigned int sum, int *err) { __asm__ __volatile__ ("stx %0, [%%sp + 0x7ff + 128]" : : "r" (err)); - return csum_partial_copy_sparc64(src, dst, len, sum); + return csum_partial_copy_sparc64((__force const char *) src, + dst, len, sum); } /* * Copy and checksum to user */ #define HAVE_CSUM_COPY_USER -extern unsigned int csum_partial_copy_user_sparc64(const char *src, char *dst, int len, unsigned int sum); +extern unsigned int csum_partial_copy_user_sparc64(const char *src, char __user *dst, int len, unsigned int sum); -static __inline__ unsigned int +static inline unsigned int csum_and_copy_to_user(const char *src, char __user *dst, int len, unsigned int sum, int *err) { @@ -83,7 +84,7 @@ extern unsigned short ip_fast_csum(__const__ unsigned char *iph, unsigned int ihl); /* Fold a partial checksum without adding pseudo headers. */ -static __inline__ unsigned short csum_fold(unsigned int sum) +static inline unsigned short csum_fold(unsigned int sum) { unsigned int tmp; @@ -98,11 +99,11 @@ static __inline__ unsigned short csum_fold(unsigned int sum) return (sum & 0xffff); } -static __inline__ unsigned long csum_tcpudp_nofold(unsigned long saddr, - unsigned long daddr, - unsigned int len, - unsigned short proto, - unsigned int sum) +static inline unsigned long csum_tcpudp_nofold(unsigned long saddr, + unsigned long daddr, + unsigned int len, + unsigned short proto, + unsigned int sum) { __asm__ __volatile__( " addcc %1, %0, %0\n" @@ -130,11 +131,11 @@ static inline unsigned short int csum_tcpudp_magic(unsigned long saddr, #define _HAVE_ARCH_IPV6_CSUM -static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr, - struct in6_addr *daddr, - __u32 len, - unsigned short proto, - unsigned int sum) +static inline unsigned short int csum_ipv6_magic(struct in6_addr *saddr, + struct in6_addr *daddr, + __u32 len, + unsigned short proto, + unsigned int sum) { __asm__ __volatile__ ( " addcc %3, %4, %%g7\n" @@ -165,7 +166,7 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr, } /* this routine is used for miscellaneous IP-like checksums, mainly in icmp.c */ -static __inline__ unsigned short ip_compute_csum(unsigned char * buff, int len) +static inline unsigned short ip_compute_csum(unsigned char * buff, int len) { return csum_fold(csum_partial(buff, len, 0)); } diff --git a/include/asm-sparc64/hardirq.h b/include/asm-sparc64/hardirq.h index cae78abf2..ac63de550 100644 --- a/include/asm-sparc64/hardirq.h +++ b/include/asm-sparc64/hardirq.h @@ -41,42 +41,7 @@ typedef struct { #define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS) #define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS) -#define __MASK(x) ((1UL << (x))-1) - -#define PREEMPT_MASK (__MASK(PREEMPT_BITS) << PREEMPT_SHIFT) -#define HARDIRQ_MASK (__MASK(HARDIRQ_BITS) << HARDIRQ_SHIFT) -#define SOFTIRQ_MASK (__MASK(SOFTIRQ_BITS) << SOFTIRQ_SHIFT) - -#define hardirq_count() (preempt_count() & HARDIRQ_MASK) -#define softirq_count() (preempt_count() & SOFTIRQ_MASK) -#define irq_count() (preempt_count() & (HARDIRQ_MASK | SOFTIRQ_MASK)) - -#define PREEMPT_OFFSET (1UL << PREEMPT_SHIFT) -#define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT) -#define HARDIRQ_OFFSET (1UL << HARDIRQ_SHIFT) - -/* - * Are we doing bottom half or hardware interrupt processing? - * Are we in a softirq context? Interrupt context? - */ -#define in_irq() (hardirq_count()) -#define in_softirq() (softirq_count()) -#define in_interrupt() (irq_count()) - - -#define hardirq_trylock() (!in_interrupt()) -#define hardirq_endlock() do { } while (0) - #define irq_enter() (preempt_count() += HARDIRQ_OFFSET) - -#ifdef CONFIG_PREEMPT -# include -# define in_atomic() ((preempt_count() & ~PREEMPT_ACTIVE) != kernel_locked()) -# define IRQ_EXIT_OFFSET (HARDIRQ_OFFSET-1) -#else -# define in_atomic() (preempt_count() != 0) -# define IRQ_EXIT_OFFSET HARDIRQ_OFFSET -#endif #define irq_exit() \ do { \ preempt_count() -= IRQ_EXIT_OFFSET; \ @@ -85,10 +50,4 @@ do { \ preempt_enable_no_resched(); \ } while (0) -#ifndef CONFIG_SMP -# define synchronize_irq(irq) barrier() -#else - extern void synchronize_irq(unsigned int irq); -#endif /* CONFIG_SMP */ - #endif /* !(__SPARC64_HARDIRQ_H) */ diff --git a/include/asm-sparc64/ide.h b/include/asm-sparc64/ide.h index f850b61ab..6b3274022 100644 --- a/include/asm-sparc64/ide.h +++ b/include/asm-sparc64/ide.h @@ -38,7 +38,7 @@ #define __ide_mm_outsw __ide_outsw #define __ide_mm_outsl __ide_outsl -static __inline__ unsigned int inw_be(unsigned long addr) +static inline unsigned int inw_be(void __iomem *addr) { unsigned int ret; @@ -49,9 +49,7 @@ static __inline__ unsigned int inw_be(unsigned long addr) return ret; } -static __inline__ void __ide_insw(unsigned long port, - void *dst, - u32 count) +static inline void __ide_insw(void __iomem *port, void *dst, u32 count) { #if (L1DCACHE_SIZE > PAGE_SIZE) /* is there D$ aliasing problem */ unsigned long end = (unsigned long)dst + (count << 1); @@ -81,16 +79,14 @@ static __inline__ void __ide_insw(unsigned long port, #endif } -static __inline__ void outw_be(unsigned short w, unsigned long addr) +static inline void outw_be(unsigned short w, void __iomem *addr) { __asm__ __volatile__("stha %0, [%1] %2" : /* no outputs */ : "r" (w), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E)); } -static __inline__ void __ide_outsw(unsigned long port, - void *src, - u32 count) +static inline void __ide_outsw(void __iomem *port, void *src, u32 count) { #if (L1DCACHE_SIZE > PAGE_SIZE) /* is there D$ aliasing problem */ unsigned long end = (unsigned long)src + (count << 1); diff --git a/include/asm-sparc64/io.h b/include/asm-sparc64/io.h index 94a8a70cd..7861627d9 100644 --- a/include/asm-sparc64/io.h +++ b/include/asm-sparc64/io.h @@ -3,6 +3,7 @@ #define __SPARC64_IO_H #include +#include #include #include /* IO address mapping routines need this */ @@ -99,28 +100,31 @@ static __inline__ void _outl(u32 l, unsigned long addr) #define inl_p(__addr) inl(__addr) #define outl_p(__l, __addr) outl(__l, __addr) -extern void outsb(unsigned long addr, const void *src, unsigned long count); -extern void outsw(unsigned long addr, const void *src, unsigned long count); -extern void outsl(unsigned long addr, const void *src, unsigned long count); -extern void insb(unsigned long addr, void *dst, unsigned long count); -extern void insw(unsigned long addr, void *dst, unsigned long count); -extern void insl(unsigned long addr, void *dst, unsigned long count); +extern void outsb(void __iomem *addr, const void *src, unsigned long count); +extern void outsw(void __iomem *addr, const void *src, unsigned long count); +extern void outsl(void __iomem *addr, const void *src, unsigned long count); +extern void insb(void __iomem *addr, void *dst, unsigned long count); +extern void insw(void __iomem *addr, void *dst, unsigned long count); +extern void insl(void __iomem *addr, void *dst, unsigned long count); +#define ioread8_rep(a,d,c) insb(a,d,c) +#define ioread16_rep(a,d,c) insw(a,d,c) +#define ioread32_rep(a,d,c) insl(a,d,c) +#define iowrite8_rep(a,s,c) outsb(a,s,c) +#define iowrite16_rep(a,s,c) outsw(a,s,c) +#define iowrite32_rep(a,s,c) outsl(a,s,c) /* Memory functions, same as I/O accesses on Ultra. */ -static __inline__ u8 _readb(unsigned long addr) -{ - u8 ret; +static inline u8 _readb(void __iomem *addr) +{ u8 ret; __asm__ __volatile__("lduba\t[%1] %2, %0\t/* pci_readb */" : "=r" (ret) : "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E_L)); - return ret; } -static __inline__ u16 _readw(unsigned long addr) -{ - u16 ret; +static inline u16 _readw(void __iomem *addr) +{ u16 ret; __asm__ __volatile__("lduha\t[%1] %2, %0\t/* pci_readw */" : "=r" (ret) @@ -129,9 +133,8 @@ static __inline__ u16 _readw(unsigned long addr) return ret; } -static __inline__ u32 _readl(unsigned long addr) -{ - u32 ret; +static inline u32 _readl(void __iomem *addr) +{ u32 ret; __asm__ __volatile__("lduwa\t[%1] %2, %0\t/* pci_readl */" : "=r" (ret) @@ -140,9 +143,8 @@ static __inline__ u32 _readl(unsigned long addr) return ret; } -static __inline__ u64 _readq(unsigned long addr) -{ - u64 ret; +static inline u64 _readq(void __iomem *addr) +{ u64 ret; __asm__ __volatile__("ldxa\t[%1] %2, %0\t/* pci_readq */" : "=r" (ret) @@ -151,46 +153,46 @@ static __inline__ u64 _readq(unsigned long addr) return ret; } -static __inline__ void _writeb(u8 b, unsigned long addr) +static inline void _writeb(u8 b, void __iomem *addr) { __asm__ __volatile__("stba\t%r0, [%1] %2\t/* pci_writeb */" : /* no outputs */ : "Jr" (b), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E_L)); } -static __inline__ void _writew(u16 w, unsigned long addr) +static inline void _writew(u16 w, void __iomem *addr) { __asm__ __volatile__("stha\t%r0, [%1] %2\t/* pci_writew */" : /* no outputs */ : "Jr" (w), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E_L)); } -static __inline__ void _writel(u32 l, unsigned long addr) +static inline void _writel(u32 l, void __iomem *addr) { __asm__ __volatile__("stwa\t%r0, [%1] %2\t/* pci_writel */" : /* no outputs */ : "Jr" (l), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E_L)); } -static __inline__ void _writeq(u64 q, unsigned long addr) +static inline void _writeq(u64 q, void __iomem *addr) { __asm__ __volatile__("stxa\t%r0, [%1] %2\t/* pci_writeq */" : /* no outputs */ : "Jr" (q), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E_L)); } -#define readb(__addr) (_readb((unsigned long)(__addr))) -#define readw(__addr) (_readw((unsigned long)(__addr))) -#define readl(__addr) (_readl((unsigned long)(__addr))) -#define readq(__addr) (_readq((unsigned long)(__addr))) -#define readb_relaxed(a) readb(a) -#define readw_relaxed(a) readw(a) -#define readl_relaxed(a) readl(a) -#define readq_relaxed(a) readq(a) -#define writeb(__b, __addr) (_writeb((u8)(__b), (unsigned long)(__addr))) -#define writew(__w, __addr) (_writew((u16)(__w), (unsigned long)(__addr))) -#define writel(__l, __addr) (_writel((u32)(__l), (unsigned long)(__addr))) -#define writeq(__q, __addr) (_writeq((u64)(__q), (unsigned long)(__addr))) +#define readb(__addr) _readb(__addr) +#define readw(__addr) _readw(__addr) +#define readl(__addr) _readl(__addr) +#define readq(__addr) _readq(__addr) +#define readb_relaxed(__addr) _readb(__addr) +#define readw_relaxed(__addr) _readw(__addr) +#define readl_relaxed(__addr) _readl(__addr) +#define readq_relaxed(__addr) _readq(__addr) +#define writeb(__b, __addr) _writeb(__b, __addr) +#define writew(__w, __addr) _writew(__w, __addr) +#define writel(__l, __addr) _writel(__l, __addr) +#define writeq(__q, __addr) _writeq(__q, __addr) /* Now versions without byte-swapping. */ static __inline__ u8 _raw_readb(unsigned long addr) @@ -282,7 +284,7 @@ static __inline__ void _raw_writeq(u64 q, unsigned long addr) /* Now, SBUS variants, only difference from PCI is that we do * not use little-endian ASIs. */ -static __inline__ u8 _sbus_readb(unsigned long addr) +static inline u8 _sbus_readb(void __iomem *addr) { u8 ret; @@ -293,7 +295,7 @@ static __inline__ u8 _sbus_readb(unsigned long addr) return ret; } -static __inline__ u16 _sbus_readw(unsigned long addr) +static inline u16 _sbus_readw(void __iomem *addr) { u16 ret; @@ -304,7 +306,7 @@ static __inline__ u16 _sbus_readw(unsigned long addr) return ret; } -static __inline__ u32 _sbus_readl(unsigned long addr) +static inline u32 _sbus_readl(void __iomem *addr) { u32 ret; @@ -315,7 +317,7 @@ static __inline__ u32 _sbus_readl(unsigned long addr) return ret; } -static __inline__ u64 _sbus_readq(unsigned long addr) +static inline u64 _sbus_readq(void __iomem *addr) { u64 ret; @@ -326,44 +328,45 @@ static __inline__ u64 _sbus_readq(unsigned long addr) return ret; } -static __inline__ void _sbus_writeb(u8 b, unsigned long addr) +static inline void _sbus_writeb(u8 b, void __iomem *addr) { __asm__ __volatile__("stba\t%r0, [%1] %2\t/* sbus_writeb */" : /* no outputs */ : "Jr" (b), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E)); } -static __inline__ void _sbus_writew(u16 w, unsigned long addr) +static inline void _sbus_writew(u16 w, void __iomem *addr) { __asm__ __volatile__("stha\t%r0, [%1] %2\t/* sbus_writew */" : /* no outputs */ : "Jr" (w), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E)); } -static __inline__ void _sbus_writel(u32 l, unsigned long addr) +static inline void _sbus_writel(u32 l, void __iomem *addr) { __asm__ __volatile__("stwa\t%r0, [%1] %2\t/* sbus_writel */" : /* no outputs */ : "Jr" (l), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E)); } -static __inline__ void _sbus_writeq(u64 l, unsigned long addr) +static inline void _sbus_writeq(u64 l, void __iomem *addr) { __asm__ __volatile__("stxa\t%r0, [%1] %2\t/* sbus_writeq */" : /* no outputs */ : "Jr" (l), "r" (addr), "i" (ASI_PHYS_BYPASS_EC_E)); } -#define sbus_readb(__addr) (_sbus_readb((unsigned long)(__addr))) -#define sbus_readw(__addr) (_sbus_readw((unsigned long)(__addr))) -#define sbus_readl(__addr) (_sbus_readl((unsigned long)(__addr))) -#define sbus_readq(__addr) (_sbus_readq((unsigned long)(__addr))) -#define sbus_writeb(__b, __addr) (_sbus_writeb((__b), (unsigned long)(__addr))) -#define sbus_writew(__w, __addr) (_sbus_writew((__w), (unsigned long)(__addr))) -#define sbus_writel(__l, __addr) (_sbus_writel((__l), (unsigned long)(__addr))) -#define sbus_writeq(__l, __addr) (_sbus_writeq((__l), (unsigned long)(__addr))) +#define sbus_readb(__addr) _sbus_readb(__addr) +#define sbus_readw(__addr) _sbus_readw(__addr) +#define sbus_readl(__addr) _sbus_readl(__addr) +#define sbus_readq(__addr) _sbus_readq(__addr) +#define sbus_writeb(__b, __addr) _sbus_writeb(__b, __addr) +#define sbus_writew(__w, __addr) _sbus_writew(__w, __addr) +#define sbus_writel(__l, __addr) _sbus_writel(__l, __addr) +#define sbus_writeq(__l, __addr) _sbus_writeq(__l, __addr) -static inline void *_sbus_memset_io(unsigned long dst, int c, __kernel_size_t n) +static inline void __iomem*_sbus_memset_io(void __iomem *dst, int c, + __kernel_size_t n) { while(n--) { sbus_writeb(c, dst); @@ -372,13 +375,12 @@ static inline void *_sbus_memset_io(unsigned long dst, int c, __kernel_size_t n) return (void *) dst; } -#define sbus_memset_io(d,c,sz) \ - _sbus_memset_io((unsigned long)d,(int)c,(__kernel_size_t)sz) +#define sbus_memset_io(d,c,sz) _sbus_memset_io(d,c,sz) -static inline void * -_memset_io(void *dst, int c, __kernel_size_t n) +static inline void __iomem * +_memset_io(void __iomem *dst, int c, __kernel_size_t n) { - char *d = dst; + void __iomem *d = dst; while (n--) { writeb(c, d); @@ -388,11 +390,10 @@ _memset_io(void *dst, int c, __kernel_size_t n) return dst; } -#define memset_io(d,c,sz) \ - _memset_io((void *)d,(int)c,(__kernel_size_t)sz) +#define memset_io(d,c,sz) _memset_io(d,c,sz) -static inline void * -_memcpy_fromio(void *dst, unsigned long src, __kernel_size_t n) +static inline void __iomem * +_memcpy_fromio(void *dst, void __iomem *src, __kernel_size_t n) { char *d = dst; @@ -405,25 +406,23 @@ _memcpy_fromio(void *dst, unsigned long src, __kernel_size_t n) return dst; } -#define memcpy_fromio(d,s,sz) \ - _memcpy_fromio((void *)d,(unsigned long)s,(__kernel_size_t)sz) +#define memcpy_fromio(d,s,sz) _memcpy_fromio(d,s,sz) -static inline void * -_memcpy_toio(unsigned long dst, const void *src, __kernel_size_t n) +static inline void __iomem * +_memcpy_toio(void __iomem *dst, const void *src, __kernel_size_t n) { const char *s = src; - unsigned long d = dst; + void __iomem *d = dst; while (n--) { char tmp = *s++; writeb(tmp, d); d++; } - return (void *)dst; + return dst; } -#define memcpy_toio(d,s,sz) \ - _memcpy_toio((unsigned long)d,(const void *)s,(__kernel_size_t)sz) +#define memcpy_toio(d,s,sz) _memcpy_toio(d,s,sz) static inline int check_signature(unsigned long io_addr, const unsigned char *signature, @@ -431,8 +430,9 @@ static inline int check_signature(unsigned long io_addr, { int retval = 0; do { - if (readb(io_addr++) != *signature++) + if (readb((void __iomem *)io_addr) != *signature++) goto out; + io_addr++; } while (--length); retval = 1; out: @@ -444,10 +444,26 @@ out: /* On sparc64 we have the whole physical IO address space accessible * using physically addressed loads and stores, so this does nothing. */ -#define ioremap(__offset, __size) ((void *)(__offset)) +#define ioremap(__offset, __size) ((void __iomem *)(__offset)) #define ioremap_nocache(X,Y) ioremap((X),(Y)) #define iounmap(__addr) do { (void)(__addr); } while(0) +#define ioread8(X) readb(X) +#define ioread16(X) readw(X) +#define ioread32(X) readl(X) +#define iowrite8(val,X) writeb(val,X) +#define iowrite16(val,X) writew(val,X) +#define iowrite32(val,X) writel(val,X) + +/* Create a virtual mapping cookie for an IO port range */ +extern void __iomem *ioport_map(unsigned long port, unsigned int nr); +extern void ioport_unmap(void __iomem *); + +/* Create a virtual mapping cookie for a PCI BAR (memory or IO) */ +struct pci_dev; +extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max); +extern void pci_iounmap(struct pci_dev *dev, void __iomem *); + /* Similarly for SBUS. */ #define sbus_ioremap(__res, __offset, __size, __name) \ ({ unsigned long __ret; \ @@ -455,11 +471,11 @@ out: __ret += (unsigned long) (__offset); \ if (! request_region((__ret), (__size), (__name))) \ __ret = 0UL; \ - __ret; \ + (void __iomem *) __ret; \ }) #define sbus_iounmap(__addr, __size) \ - release_region((__addr), (__size)) + release_region((unsigned long)(__addr), (__size)) /* Nothing to do */ diff --git a/include/asm-sparc64/module.h b/include/asm-sparc64/module.h index 3d77ba465..2e7ca17c2 100644 --- a/include/asm-sparc64/module.h +++ b/include/asm-sparc64/module.h @@ -1,7 +1,12 @@ #ifndef _ASM_SPARC64_MODULE_H #define _ASM_SPARC64_MODULE_H struct mod_arch_specific { }; +#define MODULES_ARE_ELF64 #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define Elf_Ehdr Elf64_Ehdr +#define Elf_Rel Elf64_Rel +#define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) #endif /* _ASM_SPARC64_MODULE_H */ diff --git a/include/asm-sparc64/resource.h b/include/asm-sparc64/resource.h index 2716da199..f33d38bcc 100644 --- a/include/asm-sparc64/resource.h +++ b/include/asm-sparc64/resource.h @@ -43,7 +43,7 @@ { 0, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \ {INR_OPEN, INR_OPEN}, {0, 0}, \ - {32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT}, \ {RLIM_INFINITY, RLIM_INFINITY}, \ {RLIM_INFINITY, RLIM_INFINITY}, \ {MAX_SIGPENDING, MAX_SIGPENDING}, \ diff --git a/include/asm-sparc64/siginfo.h b/include/asm-sparc64/siginfo.h index fde85211a..94b272f5d 100644 --- a/include/asm-sparc64/siginfo.h +++ b/include/asm-sparc64/siginfo.h @@ -24,57 +24,8 @@ typedef union sigval32 { u32 sival_ptr; } sigval_t32; -typedef struct siginfo32 { - int si_signo; - int si_errno; - int si_code; +struct siginfo32; - union { - int _pad[SI_PAD_SIZE32]; - - /* kill() */ - struct { - compat_pid_t _pid; /* sender's pid */ - unsigned int _uid; /* sender's uid */ - } _kill; - - /* POSIX.1b timers */ - struct { - timer_t _tid; /* timer id */ - int _overrun; /* overrun count */ - sigval_t32 _sigval; /* same as below */ - int _sys_private; /* not to be passed to user */ - } _timer; - - /* POSIX.1b signals */ - struct { - compat_pid_t _pid; /* sender's pid */ - unsigned int _uid; /* sender's uid */ - sigval_t32 _sigval; - } _rt; - - /* SIGCHLD */ - struct { - compat_pid_t _pid; /* which child */ - unsigned int _uid; /* sender's uid */ - int _status; /* exit code */ - compat_clock_t _utime; - compat_clock_t _stime; - } _sigchld; - - /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGEMT */ - struct { - u32 _addr; /* faulting insn/memory ref. */ - int _trapno; - } _sigfault; - - /* SIGPOLL */ - struct { - int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ - int _fd; - } _sigpoll; - } _sifields; -} siginfo_t32; #endif /* CONFIG_COMPAT */ #endif /* __KERNEL__ */ @@ -105,7 +56,8 @@ typedef struct sigevent32 { } _sigev_un; } sigevent_t32; -extern int copy_siginfo_to_user32(siginfo_t32 __user *to, siginfo_t *from); +extern int copy_siginfo_to_user32(struct siginfo32 __user *to, siginfo_t *from); +extern int copy_siginfo_to_kernel32(siginfo_t *to, struct siginfo32 __user *from); #endif /* CONFIG_COMPAT */ diff --git a/include/asm-sparc64/spinlock.h b/include/asm-sparc64/spinlock.h index a995805ba..fb7c5b0ea 100644 --- a/include/asm-sparc64/spinlock.h +++ b/include/asm-sparc64/spinlock.h @@ -41,30 +41,70 @@ typedef unsigned char spinlock_t; do { membar("#LoadLoad"); \ } while(*((volatile unsigned char *)lock)) -/* arch/sparc64/lib/spinlock.S */ -extern void _raw_spin_lock(spinlock_t *lock); +static inline void _raw_spin_lock(spinlock_t *lock) +{ + unsigned long tmp; + + __asm__ __volatile__( +"1: ldstub [%1], %0\n" +" brnz,pn %0, 2f\n" +" membar #StoreLoad | #StoreStore\n" +" .subsection 2\n" +"2: ldub [%1], %0\n" +" brnz,pt %0, 2b\n" +" membar #LoadLoad\n" +" ba,a,pt %%xcc, 1b\n" +" .previous" + : "=&r" (tmp) + : "r" (lock) + : "memory"); +} -static __inline__ int _raw_spin_trylock(spinlock_t *lock) +static inline int _raw_spin_trylock(spinlock_t *lock) { - unsigned int result; - __asm__ __volatile__("ldstub [%1], %0\n\t" - "membar #StoreLoad | #StoreStore" - : "=r" (result) - : "r" (lock) - : "memory"); - return (result == 0); + unsigned long result; + + __asm__ __volatile__( +" ldstub [%1], %0\n" +" membar #StoreLoad | #StoreStore" + : "=r" (result) + : "r" (lock) + : "memory"); + + return (result == 0UL); } -static __inline__ void _raw_spin_unlock(spinlock_t *lock) +static inline void _raw_spin_unlock(spinlock_t *lock) { - __asm__ __volatile__("membar #StoreStore | #LoadStore\n\t" - "stb %%g0, [%0]" - : /* No outputs */ - : "r" (lock) - : "memory"); + __asm__ __volatile__( +" membar #StoreStore | #LoadStore\n" +" stb %%g0, [%0]" + : /* No outputs */ + : "r" (lock) + : "memory"); } -extern void _raw_spin_lock_flags(spinlock_t *lock, unsigned long flags); +static inline void _raw_spin_lock_flags(spinlock_t *lock, unsigned long flags) +{ + unsigned long tmp1, tmp2; + + __asm__ __volatile__( +"1: ldstub [%2], %0\n" +" brnz,pn %0, 2f\n" +" membar #StoreLoad | #StoreStore\n" +" .subsection 2\n" +"2: rdpr %%pil, %1\n" +" wrpr %3, %%pil\n" +"3: ldub [%2], %0\n" +" brnz,pt %0, 3b\n" +" membar #LoadLoad\n" +" ba,pt %%xcc, 1b\n" +" wrpr %1, %%pil\n" +" .previous" + : "=&r" (tmp1), "=&r" (tmp2) + : "r"(lock), "r"(flags) + : "memory"); +} #else /* !(CONFIG_DEBUG_SPINLOCK) */ @@ -86,9 +126,9 @@ do { \ extern void _do_spin_lock (spinlock_t *lock, char *str); extern void _do_spin_unlock (spinlock_t *lock); -extern int _spin_trylock (spinlock_t *lock); +extern int _do_spin_trylock (spinlock_t *lock); -#define _raw_spin_trylock(lp) _spin_trylock(lp) +#define _raw_spin_trylock(lp) _do_spin_trylock(lp) #define _raw_spin_lock(lock) _do_spin_lock(lock, "spin_lock") #define _raw_spin_unlock(lock) _do_spin_unlock(lock) #define _raw_spin_lock_flags(lock, flags) _raw_spin_lock(lock) @@ -104,11 +144,103 @@ typedef unsigned int rwlock_t; #define rwlock_init(lp) do { *(lp) = RW_LOCK_UNLOCKED; } while(0) #define rwlock_is_locked(x) (*(x) != RW_LOCK_UNLOCKED) -extern void __read_lock(rwlock_t *); -extern void __read_unlock(rwlock_t *); -extern void __write_lock(rwlock_t *); -extern void __write_unlock(rwlock_t *); -extern int __write_trylock(rwlock_t *); +static void inline __read_lock(rwlock_t *lock) +{ + unsigned long tmp1, tmp2; + + __asm__ __volatile__ ( +"1: ldsw [%2], %0\n" +" brlz,pn %0, 2f\n" +"4: add %0, 1, %1\n" +" cas [%2], %0, %1\n" +" cmp %0, %1\n" +" bne,pn %%icc, 1b\n" +" membar #StoreLoad | #StoreStore\n" +" .subsection 2\n" +"2: ldsw [%2], %0\n" +" brlz,pt %0, 2b\n" +" membar #LoadLoad\n" +" ba,a,pt %%xcc, 4b\n" +" .previous" + : "=&r" (tmp1), "=&r" (tmp2) + : "r" (lock) + : "memory"); +} + +static void inline __read_unlock(rwlock_t *lock) +{ + unsigned long tmp1, tmp2; + + __asm__ __volatile__( +"1: lduw [%2], %0\n" +" sub %0, 1, %1\n" +" cas [%2], %0, %1\n" +" cmp %0, %1\n" +" bne,pn %%xcc, 1b\n" +" membar #StoreLoad | #StoreStore" + : "=&r" (tmp1), "=&r" (tmp2) + : "r" (lock) + : "memory"); +} + +static void inline __write_lock(rwlock_t *lock) +{ + unsigned long mask, tmp1, tmp2; + + mask = 0x80000000UL; + + __asm__ __volatile__( +"1: lduw [%2], %0\n" +" brnz,pn %0, 2f\n" +"4: or %0, %3, %1\n" +" cas [%2], %0, %1\n" +" cmp %0, %1\n" +" bne,pn %%icc, 1b\n" +" membar #StoreLoad | #StoreStore\n" +" .subsection 2\n" +"2: lduw [%2], %0\n" +" brnz,pt %0, 2b\n" +" membar #LoadLoad\n" +" ba,a,pt %%xcc, 4b\n" +" .previous" + : "=&r" (tmp1), "=&r" (tmp2) + : "r" (lock), "r" (mask) + : "memory"); +} + +static void inline __write_unlock(rwlock_t *lock) +{ + __asm__ __volatile__( +" membar #LoadStore | #StoreStore\n" +" stw %%g0, [%0]" + : /* no outputs */ + : "r" (lock) + : "memory"); +} + +static int inline __write_trylock(rwlock_t *lock) +{ + unsigned long mask, tmp1, tmp2, result; + + mask = 0x80000000UL; + + __asm__ __volatile__( +" mov 0, %2\n" +"1: lduw [%3], %0\n" +" brnz,pn %0, 2f\n" +" or %0, %4, %1\n" +" cas [%3], %0, %1\n" +" cmp %0, %1\n" +" bne,pn %%icc, 1b\n" +" membar #StoreLoad | #StoreStore\n" +" mov 1, %2\n" +"2:" + : "=&r" (tmp1), "=&r" (tmp2), "=&r" (result) + : "r" (lock), "r" (mask) + : "memory"); + + return result; +} #define _raw_read_lock(p) __read_lock(p) #define _raw_read_unlock(p) __read_unlock(p) diff --git a/include/asm-sparc64/tlb.h b/include/asm-sparc64/tlb.h index 874a46373..d224b21bc 100644 --- a/include/asm-sparc64/tlb.h +++ b/include/asm-sparc64/tlb.h @@ -3,6 +3,8 @@ #include #include +#include + #include #include #include diff --git a/include/asm-sparc64/uaccess.h b/include/asm-sparc64/uaccess.h index 01198c71b..1aff19cd0 100644 --- a/include/asm-sparc64/uaccess.h +++ b/include/asm-sparc64/uaccess.h @@ -14,6 +14,7 @@ #include #include #include +#include #endif #ifndef __ASSEMBLY__ @@ -252,20 +253,50 @@ __asm__ __volatile__( \ extern int __get_user_bad(void); -extern unsigned long __copy_from_user(void *to, const void __user *from, - unsigned long size); +extern unsigned long ___copy_from_user(void *to, const void __user *from, + unsigned long size); +extern unsigned long copy_from_user_fixup(void *to, const void __user *from, + unsigned long size); +static inline unsigned long copy_from_user(void *to, const void __user *from, + unsigned long size) +{ + unsigned long ret = ___copy_from_user(to, from, size); -extern unsigned long __copy_to_user(void __user *to, const void *from, - unsigned long size); + if (ret) + ret = copy_from_user_fixup(to, from, size); + return ret; +} +#define __copy_from_user copy_from_user + +extern unsigned long ___copy_to_user(void __user *to, const void *from, + unsigned long size); +extern unsigned long copy_to_user_fixup(void __user *to, const void *from, + unsigned long size); +static inline unsigned long copy_to_user(void __user *to, const void *from, + unsigned long size) +{ + unsigned long ret = ___copy_to_user(to, from, size); -extern unsigned long __copy_in_user(void __user *to, const void __user *from, - unsigned long size); + if (ret) + ret = copy_to_user_fixup(to, from, size); + return ret; +} +#define __copy_to_user copy_to_user + +extern unsigned long ___copy_in_user(void __user *to, const void __user *from, + unsigned long size); +extern unsigned long copy_in_user_fixup(void __user *to, void __user *from, + unsigned long size); +static inline unsigned long copy_in_user(void __user *to, void __user *from, + unsigned long size) +{ + unsigned long ret = ___copy_in_user(to, from, size); -#define copy_from_user __copy_from_user -#define copy_to_user __copy_to_user -#define copy_in_user __copy_in_user -#define __copy_to_user_inatomic __copy_to_user -#define __copy_from_user_inatomic __copy_from_user + if (ret) + ret = copy_in_user_fixup(to, from, size); + return ret; +} +#define __copy_in_user copy_in_user extern unsigned long __bzero_noasi(void __user *, unsigned long); @@ -286,6 +317,8 @@ extern long __strnlen_user(const char __user *, long len); #define strlen_user __strlen_user #define strnlen_user __strnlen_user +#define __copy_to_user_inatomic __copy_to_user +#define __copy_from_user_inatomic __copy_from_user #endif /* __ASSEMBLY__ */ diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h index 0a06763b8..df2430bee 100644 --- a/include/asm-sparc64/unistd.h +++ b/include/asm-sparc64/unistd.h @@ -292,11 +292,13 @@ #define __NR_io_cancel 271 #define __NR_io_getevents 272 #define __NR_mq_open 273 -#define __NR_mq_unlink (__NR_mq_open+1) -#define __NR_mq_timedsend (__NR_mq_open+2) -#define __NR_mq_timedreceive (__NR_mq_open+3) -#define __NR_mq_notify (__NR_mq_open+4) -#define __NR_mq_getsetattr (__NR_mq_open+5) +#define __NR_mq_unlink 274 +#define __NR_mq_timedsend 275 +#define __NR_mq_timedreceive 276 +#define __NR_mq_notify 277 +#define __NR_mq_getsetattr 278 +#define __NR_waitid 279 + /* WARNING: You MAY NOT add syscall numbers larger than 282, since * all of the syscall tables in the Sparc kernel are * sized to have 283 entries (starting at zero). Therefore diff --git a/include/asm-um/bug.h b/include/asm-um/bug.h index 9a244ca5d..1e22fa26f 100644 --- a/include/asm-um/bug.h +++ b/include/asm-um/bug.h @@ -1,28 +1,4 @@ #ifndef __UM_BUG_H #define __UM_BUG_H - -#ifndef __ASSEMBLY__ - -#define BUG() do { \ - panic("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ -} while (0) - -#define BUG_ON(condition) do { \ - if (unlikely((condition)!=0)) \ - BUG(); \ -} while(0) - -#define PAGE_BUG(page) do { \ - BUG(); \ -} while (0) - -#define WARN_ON(condition) do { \ - if (unlikely((condition)!=0)) { \ - printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \ - dump_stack(); \ - } \ -} while (0) - -#endif - +#include #endif diff --git a/include/asm-um/common.lds.S b/include/asm-um/common.lds.S index 992315c87..a3d6aab0e 100644 --- a/include/asm-um/common.lds.S +++ b/include/asm-um/common.lds.S @@ -36,10 +36,6 @@ .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; - . = ALIGN(32); __per_cpu_start = . ; .data.percpu : { *(.data.percpu) } @@ -78,14 +74,14 @@ . = ALIGN(4); __alt_instructions = .; - .altinstructions : { *(.altinstructions) } - __alt_instructions_end = .; - .altinstr_replacement : { *(.altinstr_replacement) } + .altinstructions : { *(.altinstructions) } + __alt_instructions_end = .; + .altinstr_replacement : { *(.altinstr_replacement) } /* .exit.text is discard at runtime, not link time, to deal with references from .altinstructions and .eh_frame */ .exit.text : { *(.exit.text) } .exit.data : { *(.exit.data) } - + __preinit_array_start = .; .preinit_array : { *(.preinit_array) } __preinit_array_end = .; @@ -105,4 +101,4 @@ /DISCARD/ : { *(.exitcall.exit) } - + diff --git a/include/asm-um/dma-mapping.h b/include/asm-um/dma-mapping.h index 2ea882811..13e6291f7 100644 --- a/include/asm-um/dma-mapping.h +++ b/include/asm-um/dma-mapping.h @@ -1,6 +1,8 @@ #ifndef _ASM_DMA_MAPPING_H #define _ASM_DMA_MAPPING_H +#include + static inline int dma_supported(struct device *dev, u64 mask) { diff --git a/include/asm-um/page.h b/include/asm-um/page.h index 8e7134b7b..766223237 100644 --- a/include/asm-um/page.h +++ b/include/asm-um/page.h @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2000 - 2003 Jeff Dike (jdike@addtoit.com) * Licensed under the GPL */ @@ -42,7 +42,7 @@ extern void *to_virt(unsigned long phys); #define pfn_valid(pfn) ((pfn) < max_mapnr) #define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v))) - + extern struct page *arch_validate(struct page *page, int mask, int order); #define HAVE_ARCH_VALIDATE #define devmem_is_allowed(x) 1 diff --git a/include/asm-um/pgtable.h b/include/asm-um/pgtable.h index 6006b0bf6..d013cc376 100644 --- a/include/asm-um/pgtable.h +++ b/include/asm-um/pgtable.h @@ -196,7 +196,7 @@ static inline void pgd_clear(pgd_t * pgdp) { } extern struct page *phys_to_page(const unsigned long phys); extern struct page *__virt_to_page(const unsigned long virt); #define virt_to_page(addr) __virt_to_page((const unsigned long) addr) - + /* * Bits 0 through 3 are taken */ @@ -241,8 +241,8 @@ static inline void set_pte(pte_t *pteptr, pte_t pteval) * Undefined behaviour if not.. */ static inline int pte_user(pte_t pte) -{ - return((pte_val(pte) & _PAGE_USER) && +{ + return((pte_val(pte) & _PAGE_USER) && !(pte_val(pte) & _PAGE_PROTNONE)); } @@ -267,8 +267,8 @@ static inline int pte_write(pte_t pte) * The following only works if pte_present() is not true. */ static inline int pte_file(pte_t pte) -{ - return (pte).pte_low & _PAGE_FILE; +{ + return (pte).pte_low & _PAGE_FILE; } static inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } diff --git a/include/asm-um/processor-generic.h b/include/asm-um/processor-generic.h index 2f06a7bdb..aa3875b50 100644 --- a/include/asm-um/processor-generic.h +++ b/include/asm-um/processor-generic.h @@ -16,12 +16,8 @@ struct task_struct; struct mm_struct; -#define current_text_addr() ((void *) 0) - #define cpu_relax() barrier() -#define STACK_PAGE_COUNT (4096/PAGE_SIZE) - struct thread_struct { int forking; int nsyscalls; @@ -99,7 +95,7 @@ extern void prepare_to_copy(struct task_struct *tsk); extern unsigned long thread_saved_pc(struct task_struct *t); -static inline void mm_copy_segments(struct mm_struct *from_mm, +static inline void mm_copy_segments(struct mm_struct *from_mm, struct mm_struct *new_mm) { } diff --git a/include/asm-um/processor-i386.h b/include/asm-um/processor-i386.h index 0f08c0225..b276481cc 100644 --- a/include/asm-um/processor-i386.h +++ b/include/asm-um/processor-i386.h @@ -19,6 +19,13 @@ struct arch_thread { #include "asm/arch/user.h" +/* + * Default implementation of macro that returns current + * instruction pointer ("program counter"). Stolen + * from asm-i386/processor.h + */ +#define current_text_addr() ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; }) + #include "asm/processor-generic.h" #endif diff --git a/include/asm-um/smp.h b/include/asm-um/smp.h index 20c6457f3..4412d5d9c 100644 --- a/include/asm-um/smp.h +++ b/include/asm-um/smp.h @@ -8,8 +8,6 @@ #include "asm/current.h" #include "linux/cpumask.h" -extern cpumask_t cpu_online_map; - #define smp_processor_id() (current_thread->cpu) #define cpu_logical_map(n) (n) #define cpu_number_map(n) (n) @@ -17,8 +15,6 @@ extern cpumask_t cpu_online_map; extern int hard_smp_processor_id(void); #define NO_PROC_ID -1 -#define cpu_online(cpu) cpu_isset(cpu, cpu_online_map) - extern int ncpus; diff --git a/include/asm-um/thread_info.h b/include/asm-um/thread_info.h index bb1bc2d47..c52830772 100644 --- a/include/asm-um/thread_info.h +++ b/include/asm-um/thread_info.h @@ -44,7 +44,7 @@ struct thread_info { static inline struct thread_info *current_thread_info(void) { struct thread_info *ti; - unsigned long mask = PAGE_SIZE * + unsigned long mask = PAGE_SIZE * (1 << CONFIG_KERNEL_STACK_ORDER) - 1; __asm__("andl %%esp,%0; ":"=r" (ti) : "0" (~mask)); return ti; @@ -55,7 +55,7 @@ static inline struct thread_info *current_thread_info(void) #define alloc_thread_info(tsk) \ ((struct thread_info *) kmalloc(THREAD_SIZE, GFP_KERNEL)) #define free_thread_info(ti) kfree(ti) - + #define get_thread_info(ti) get_task_struct((ti)->task) #define put_thread_info(ti) put_task_struct((ti)->task) diff --git a/include/asm-um/uaccess.h b/include/asm-um/uaccess.h index 007059043..d42d5f8dc 100644 --- a/include/asm-um/uaccess.h +++ b/include/asm-um/uaccess.h @@ -55,7 +55,7 @@ #define get_user(x, ptr) \ ({ \ - const __typeof__((*ptr)) *private_ptr = (ptr); \ + const __typeof__((*(ptr))) *private_ptr = (ptr); \ (access_ok(VERIFY_READ, private_ptr, sizeof(*private_ptr)) ? \ __get_user(x, private_ptr) : ((x) = 0, -EFAULT)); \ }) diff --git a/include/asm-v850/module.h b/include/asm-v850/module.h index 2c2f4944f..48752f3f4 100644 --- a/include/asm-v850/module.h +++ b/include/asm-v850/module.h @@ -31,9 +31,14 @@ struct mod_arch_specific unsigned int core_plt_section, init_plt_section; }; +#define MODULES_ARE_ELF32 #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define Elf_Ehdr Elf32_Ehdr +#define Elf_Rel Elf32_Rel +#define Elf_Rela Elf32_Rela +#define ELF_R_TYPE(X) ELF32_R_TYPE(X) +#define ELF_R_SYM(X) ELF32_R_SYM(X) /* Make empty sections for module_frob_arch_sections to expand. */ #ifdef MODULE diff --git a/include/asm-v850/resource.h b/include/asm-v850/resource.h index 27d2f5827..adcbbb896 100644 --- a/include/asm-v850/resource.h +++ b/include/asm-v850/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-x86_64/acpi.h b/include/asm-x86_64/acpi.h index 22a130b59..84758e9fd 100644 --- a/include/asm-x86_64/acpi.h +++ b/include/asm-x86_64/acpi.h @@ -99,6 +99,11 @@ __acpi_release_global_lock (unsigned int *lock) :"=r"(n_hi), "=r"(n_lo) \ :"0"(n_hi), "1"(n_lo)) +/* + * Refer Intel ACPI _PDC support document for bit definitions + */ +#define ACPI_PDC_EST_CAPABILITY_SMP 0xa +#define ACPI_PDC_EST_CAPABILITY_MSR 0x1 #ifdef CONFIG_ACPI_BOOT extern int acpi_lapic; @@ -159,6 +164,10 @@ extern void acpi_reserve_bootmem(void); extern int acpi_disabled; extern int acpi_pci_disabled; +extern u8 x86_acpiid_to_apicid[]; + +extern int acpi_skip_timer_override; + #endif /*__KERNEL__*/ #endif /*_ASM_ACPI_H*/ diff --git a/include/asm-x86_64/agp.h b/include/asm-x86_64/agp.h index ecb3db37b..0bb9019d5 100644 --- a/include/asm-x86_64/agp.h +++ b/include/asm-x86_64/agp.h @@ -10,9 +10,8 @@ * with different cachability attributes for the same page. */ -#define map_page_into_agp(page) \ - change_page_attr(page, 1, PAGE_KERNEL_NOCACHE) -#define unmap_page_from_agp(page) change_page_attr(page, 1, PAGE_KERNEL) +int map_page_into_agp(struct page *page); +int unmap_page_from_agp(struct page *page); #define flush_agp_mappings() global_flush_tlb() /* Could use CLFLUSH here if the cpu supports it. But then it would diff --git a/include/asm-x86_64/apicdef.h b/include/asm-x86_64/apicdef.h index 4852d9a28..81eadf9cb 100644 --- a/include/asm-x86_64/apicdef.h +++ b/include/asm-x86_64/apicdef.h @@ -32,6 +32,8 @@ #define SET_APIC_LOGICAL_ID(x) (((x)<<24)) #define APIC_ALL_CPUS 0xFF #define APIC_DFR 0xE0 +#define APIC_DFR_CLUSTER 0x0FFFFFFFul +#define APIC_DFR_FLAT 0xFFFFFFFFul #define APIC_SPIV 0xF0 #define APIC_SPIV_FOCUS_DISABLED (1<<9) #define APIC_SPIV_APIC_ENABLED (1<<8) @@ -86,6 +88,7 @@ #define APIC_LVT_REMOTE_IRR (1<<14) #define APIC_INPUT_POLARITY (1<<13) #define APIC_SEND_PENDING (1<<12) +#define APIC_MODE_MASK 0x700 #define GET_APIC_DELIVERY_MODE(x) (((x)>>8)&0x7) #define SET_APIC_DELIVERY_MODE(x,y) (((x)&~0x700)|((y)<<8)) #define APIC_MODE_FIXED 0x0 diff --git a/include/asm-x86_64/atomic.h b/include/asm-x86_64/atomic.h index e2b1f4879..fc4c5956e 100644 --- a/include/asm-x86_64/atomic.h +++ b/include/asm-x86_64/atomic.h @@ -338,6 +338,31 @@ static __inline__ long atomic64_add_negative(long i, atomic64_t *v) return c; } +/** + * atomic_add_return - add and return + * @v: pointer of type atomic_t + * @i: integer value to add + * + * Atomically adds @i to @v and returns @i + @v + */ +static __inline__ int atomic_add_return(int i, atomic_t *v) +{ + int __i = i; + __asm__ __volatile__( + LOCK "xaddl %0, %1;" + :"=r"(i) + :"m"(v->counter), "0"(i)); + return i + __i; +} + +static __inline__ int atomic_sub_return(int i, atomic_t *v) +{ + return atomic_add_return(-i,v); +} + +#define atomic_inc_return(v) (atomic_add_return(1,v)) +#define atomic_dec_return(v) (atomic_sub_return(1,v)) + /* These are x86-specific, used by some header files */ #define atomic_clear_mask(mask, addr) \ __asm__ __volatile__(LOCK "andl %0,%1" \ diff --git a/include/asm-x86_64/bitops.h b/include/asm-x86_64/bitops.h index c91f028db..c44e168f1 100644 --- a/include/asm-x86_64/bitops.h +++ b/include/asm-x86_64/bitops.h @@ -25,10 +25,10 @@ * Note that @nr may be almost arbitrarily large; this function is not * restricted to acting on a single-word quantity. */ -static __inline__ void set_bit(long nr, volatile void * addr) +static __inline__ void set_bit(int nr, volatile void * addr) { __asm__ __volatile__( LOCK_PREFIX - "btsq %1,%0" + "btsl %1,%0" :"=m" (ADDR) :"dIr" (nr) : "memory"); } @@ -254,128 +254,37 @@ static __inline__ int variable_test_bit(int nr, volatile const void * addr) #undef ADDR -/** - * find_first_zero_bit - find the first zero bit in a memory region - * @addr: The address to start the search at - * @size: The maximum size to search - * - * Returns the bit-number of the first zero bit, not the number of the byte - * containing a bit. - */ -static __inline__ int find_first_zero_bit(const unsigned long * addr, unsigned size) -{ - int d0, d1, d2; - int res; - - if (!size) - return 0; - __asm__ __volatile__( - "movl $-1,%%eax\n\t" - "xorl %%edx,%%edx\n\t" - "repe; scasl\n\t" - "je 1f\n\t" - "xorl -4(%%rdi),%%eax\n\t" - "subq $4,%%rdi\n\t" - "bsfl %%eax,%%edx\n" - "1:\tsubq %%rbx,%%rdi\n\t" - "shlq $3,%%rdi\n\t" - "addq %%rdi,%%rdx" - :"=d" (res), "=&c" (d0), "=&D" (d1), "=&a" (d2) - :"1" ((size + 31) >> 5), "2" (addr), "b" (addr) : "memory"); - return res; -} +extern long find_first_zero_bit(const unsigned long * addr, unsigned long size); +extern long find_next_zero_bit (const unsigned long * addr, long size, long offset); +extern long find_first_bit(const unsigned long * addr, unsigned long size); +extern long find_next_bit(const unsigned long * addr, long size, long offset); -/** - * find_next_zero_bit - find the first zero bit in a memory region - * @addr: The address to base the search on - * @offset: The bitnumber to start searching at - * @size: The maximum size to search - */ -static __inline__ int find_next_zero_bit (const unsigned long * addr, int size, int offset) +/* return index of first bet set in val or max when no bit is set */ +static inline unsigned long __scanbit(unsigned long val, unsigned long max) { - unsigned long * p = ((unsigned long *) addr) + (offset >> 6); - unsigned long set = 0; - unsigned long res, bit = offset&63; - - if (bit) { - /* - * Look for zero in first word - */ - __asm__("bsfq %1,%0\n\t" - "cmoveq %2,%0" - : "=r" (set) - : "r" (~(*p >> bit)), "r"(64L)); - if (set < (64 - bit)) - return set + offset; - set = 64 - bit; - p++; - } - /* - * No zero yet, search remaining full words for a zero - */ - res = find_first_zero_bit ((const unsigned long *)p, size - 64 * (p - (unsigned long *) addr)); - return (offset + set + res); + asm("bsfq %1,%0 ; cmovz %2,%0" : "=&r" (val) : "r" (val), "r" (max)); + return val; } +#define find_first_bit(addr,size) \ +((__builtin_constant_p(size) && size <= BITS_PER_LONG ? \ + (__scanbit(*(unsigned long *)addr,(size))) : \ + find_first_bit(addr,size))) -/** - * find_first_bit - find the first set bit in a memory region - * @addr: The address to start the search at - * @size: The maximum size to search - * - * Returns the bit-number of the first set bit, not the number of the byte - * containing a bit. - */ -static __inline__ int find_first_bit(const unsigned long * addr, unsigned size) -{ - int d0, d1; - int res; - - /* This looks at memory. Mark it volatile to tell gcc not to move it around */ - __asm__ __volatile__( - "xorl %%eax,%%eax\n\t" - "repe; scasl\n\t" - "jz 1f\n\t" - "leaq -4(%%rdi),%%rdi\n\t" - "bsfl (%%rdi),%%eax\n" - "1:\tsubq %%rbx,%%rdi\n\t" - "shll $3,%%edi\n\t" - "addl %%edi,%%eax" - :"=a" (res), "=&c" (d0), "=&D" (d1) - :"1" ((size + 31) >> 5), "2" (addr), "b" (addr) : "memory"); - return res; -} +#define find_next_bit(addr,size,off) \ +((__builtin_constant_p(size) && size <= BITS_PER_LONG ? \ + ((off) + (__scanbit((*(unsigned long *)addr) >> (off),(size)-(off)))) : \ + find_next_bit(addr,size,off))) -/** - * find_next_bit - find the first set bit in a memory region - * @addr: The address to base the search on - * @offset: The bitnumber to start searching at - * @size: The maximum size to search - */ -static __inline__ int find_next_bit(const unsigned long * addr, int size, int offset) -{ - const unsigned long * p = addr + (offset >> 6); - unsigned long set = 0, bit = offset & 63, res; +#define find_first_zero_bit(addr,size) \ +((__builtin_constant_p(size) && size <= BITS_PER_LONG ? \ + (__scanbit(~*(unsigned long *)addr,(size))) : \ + find_first_zero_bit(addr,size))) - if (bit) { - /* - * Look for nonzero in the first 64 bits: - */ - __asm__("bsfq %1,%0\n\t" - "cmoveq %2,%0\n\t" - : "=r" (set) - : "r" (*p >> bit), "r" (64L)); - if (set < (64 - bit)) - return set + offset; - set = 64 - bit; - p++; - } - /* - * No set bit yet, search remaining full words for a bit - */ - res = find_first_bit (p, size - 64 * (p - addr)); - return (offset + set + res); -} +#define find_next_zero_bit(addr,size,off) \ +((__builtin_constant_p(size) && size <= BITS_PER_LONG ? \ + ((off)+(__scanbit(~(((*(unsigned long *)addr)) >> (off)),(size)-(off)))) : \ + find_next_zero_bit(addr,size,off))) /* * Find string of zero bits in a bitmap. -1 when not found. diff --git a/include/asm-x86_64/bootsetup.h b/include/asm-x86_64/bootsetup.h index c7e76baaa..b570a484d 100644 --- a/include/asm-x86_64/bootsetup.h +++ b/include/asm-x86_64/bootsetup.h @@ -25,7 +25,7 @@ extern char x86_boot_params[2048]; #define KERNEL_START (*(unsigned int *) (PARAM+0x214)) #define INITRD_START (*(unsigned int *) (PARAM+0x218)) #define INITRD_SIZE (*(unsigned int *) (PARAM+0x21c)) -#define EDID_INFO (*(struct edid_info *) (PARAM+0x440)) +#define EDID_INFO (*(struct edid_info *) (PARAM+0x140)) #define EDD_NR (*(unsigned char *) (PARAM+EDDNR)) #define EDD_MBR_SIG_NR (*(unsigned char *) (PARAM+EDD_MBR_SIG_NR_BUF)) #define EDD_MBR_SIGNATURE ((unsigned int *) (PARAM+EDD_MBR_SIG_BUF)) diff --git a/include/asm-x86_64/hw_irq.h b/include/asm-x86_64/hw_irq.h index 2df689dd6..767e11abd 100644 --- a/include/asm-x86_64/hw_irq.h +++ b/include/asm-x86_64/hw_irq.h @@ -101,6 +101,7 @@ extern void disable_IO_APIC(void); extern void print_IO_APIC(void); extern int IO_APIC_get_PCI_irq_vector(int bus, int slot, int fn); extern void send_IPI(int dest, int vector); +extern void setup_ioapic_dest(void); extern unsigned long io_apic_irqs; @@ -129,41 +130,7 @@ __asm__( \ "push $" #nr "-256 ; " \ "jmp common_interrupt"); -static inline void x86_do_profile (struct pt_regs *regs) -{ - unsigned long rip; - extern unsigned long prof_cpu_mask; - extern char _stext[]; - - profile_hook(regs); - - if (user_mode(regs)) - return; - if (!prof_buffer) - return; - - rip = regs->rip; - - /* - * Only measure the CPUs specified by /proc/irq/prof_cpu_mask. - * (default is all CPUs.) - */ - if (!((1<>= prof_shift; - /* - * Don't ignore out-of-bounds EIP values silently, - * put them into the last histogram slot, so if - * present, they will show up as a sharp peak. - */ - if (rip > prof_len-1) - rip = prof_len-1; - atomic_inc((atomic_t *)&prof_buffer[rip]); -} - -#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_SMP) +#if defined(CONFIG_X86_IO_APIC) static inline void hw_resend_irq(struct hw_interrupt_type *h, unsigned int i) { if (IO_APIC_IRQ(i)) send_IPI_self(IO_APIC_VECTOR(i)); diff --git a/include/asm-x86_64/i387.h b/include/asm-x86_64/i387.h index 229401824..e613b8b16 100644 --- a/include/asm-x86_64/i387.h +++ b/include/asm-x86_64/i387.h @@ -39,16 +39,25 @@ static inline int need_signal_i387(struct task_struct *me) * FPU lazy state save handling... */ -#define kernel_fpu_end() stts() - #define unlazy_fpu(tsk) do { \ if ((tsk)->thread_info->status & TS_USEDFPU) \ save_init_fpu(tsk); \ } while (0) +/* Ignore delayed exceptions from user space */ +static inline void tolerant_fwait(void) +{ + asm volatile("1: fwait\n" + "2:\n" + " .section __ex_table,\"a\"\n" + " .align 8\n" + " .quad 1b,2b\n" + " .previous\n"); +} + #define clear_fpu(tsk) do { \ if ((tsk)->thread_info->status & TS_USEDFPU) { \ - asm volatile("fnclex ; fwait"); \ + tolerant_fwait(); \ (tsk)->thread_info->status &= ~TS_USEDFPU; \ stts(); \ } \ @@ -116,6 +125,7 @@ static inline int save_i387_checking(struct i387_fxsave_struct __user *fx) static inline void kernel_fpu_begin(void) { struct thread_info *me = current_thread_info(); + preempt_disable(); if (me->status & TS_USEDFPU) { asm volatile("rex64 ; fxsave %0 ; fnclex" : "=m" (me->task->thread.i387.fxsave)); @@ -125,9 +135,15 @@ static inline void kernel_fpu_begin(void) clts(); } +static inline void kernel_fpu_end(void) +{ + stts(); + preempt_enable(); +} + static inline void save_init_fpu( struct task_struct *tsk ) { - asm volatile( "fxsave %0 ; fnclex" + asm volatile( "rex64 ; fxsave %0 ; fnclex" : "=m" (tsk->thread.i387.fxsave)); tsk->thread_info->status &= ~TS_USEDFPU; stts(); diff --git a/include/asm-x86_64/ia32.h b/include/asm-x86_64/ia32.h index a680d0356..73319a9a8 100644 --- a/include/asm-x86_64/ia32.h +++ b/include/asm-x86_64/ia32.h @@ -78,12 +78,6 @@ struct stat64 { unsigned long long st_ino; } __attribute__((packed)); - -typedef union sigval32 { - int sival_int; - unsigned int sival_ptr; -} sigval_t32; - typedef struct siginfo32 { int si_signo; int si_errno; @@ -102,7 +96,7 @@ typedef struct siginfo32 { struct { int _tid; /* timer id */ int _overrun; /* overrun count */ - sigval_t32 _sigval; /* same as below */ + compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ int _overrun_incr; /* amount to add to overrun */ } _timer; @@ -111,7 +105,7 @@ typedef struct siginfo32 { struct { unsigned int _pid; /* sender's pid */ unsigned int _uid; /* sender's uid */ - sigval_t32 _sigval; + compat_sigval_t _sigval; } _rt; /* SIGCHLD */ diff --git a/include/asm-x86_64/ia32_unistd.h b/include/asm-x86_64/ia32_unistd.h index ff0309c2e..26e56c27f 100644 --- a/include/asm-x86_64/ia32_unistd.h +++ b/include/asm-x86_64/ia32_unistd.h @@ -289,7 +289,8 @@ #define __NR_ia32_mq_notify (__NR_ia32_mq_open+4) #define __NR_ia32_mq_getsetattr (__NR_ia32_mq_open+5) #define __NR_ia32_kexec 283 +#define __NR_ia32_waitid 284 -#define IA32_NR_syscalls 287 /* must be > than biggest syscall! */ +#define IA32_NR_syscalls 285 /* must be > than biggest syscall! */ #endif /* _ASM_X86_64_IA32_UNISTD_H_ */ diff --git a/include/asm-x86_64/io.h b/include/asm-x86_64/io.h index 1ddce4b4a..d5a214064 100644 --- a/include/asm-x86_64/io.h +++ b/include/asm-x86_64/io.h @@ -135,9 +135,9 @@ extern inline void * phys_to_virt(unsigned long address) #define page_to_phys(page) ((page - mem_map) << PAGE_SHIFT) #endif -extern void * __ioremap(unsigned long offset, unsigned long size, unsigned long flags); +extern void __iomem *__ioremap(unsigned long offset, unsigned long size, unsigned long flags); -extern inline void * ioremap (unsigned long offset, unsigned long size) +extern inline void __iomem * ioremap (unsigned long offset, unsigned long size) { return __ioremap(offset, size, 0); } @@ -147,8 +147,8 @@ extern inline void * ioremap (unsigned long offset, unsigned long size) * it's useful if some control registers are in such an area and write combining * or read caching is not desirable: */ -extern void * ioremap_nocache (unsigned long offset, unsigned long size); -extern void iounmap(void *addr); +extern void __iomem * ioremap_nocache (unsigned long offset, unsigned long size); +extern void iounmap(void __iomem *addr); /* * ISA I/O bus memory addresses are 1:1 with the physical address. @@ -173,10 +173,10 @@ extern void iounmap(void *addr); * memory location directly. */ -#define readb(addr) (*(volatile unsigned char *) (addr)) -#define readw(addr) (*(volatile unsigned short *) (addr)) -#define readl(addr) (*(volatile unsigned int *) (addr)) -#define readq(addr) (*(volatile unsigned long *) (addr)) +#define readb(addr) (*(__force volatile __u8 *) (__u8 __iomem *)(addr)) +#define readw(addr) (*(__force volatile __u16 *) (__u16 __iomem *)(addr)) +#define readl(addr) (*(__force volatile __u32 *) (__u32 __iomem *)(addr)) +#define readq(addr) (*(__force volatile __u64 *) (__u64 __iomem *)(addr)) #define readb_relaxed(a) readb(a) #define readw_relaxed(a) readw(a) #define readl_relaxed(a) readl(a) @@ -186,10 +186,30 @@ extern void iounmap(void *addr); #define __raw_readl readl #define __raw_readq readq -#define writeb(b,addr) (*(volatile unsigned char *) (addr) = (b)) -#define writew(b,addr) (*(volatile unsigned short *) (addr) = (b)) -#define writel(b,addr) (*(volatile unsigned int *) (addr) = (b)) -#define writeq(b,addr) (*(volatile unsigned long *) (addr) = (b)) +#ifdef CONFIG_UNORDERED_IO +static inline void __writel(__u32 val, void __iomem *addr) +{ + volatile __u32 __iomem *target = addr; + asm volatile("movnti %1,%0" + : "=m" (*target) + : "r" (val) : "memory"); +} + +static inline void __writeq(__u64 val, void __iomem *addr) +{ + volatile __u64 *target = addr; + asm volatile("movnti %1,%0" + : "=m" (*target) + : "r" (val) : "memory"); +} +#define writeq(val,addr) __writeq((val),(void __iomem *)(addr)) +#define writel(val,addr) __writel((val),(void __iomem *)(addr)) +#else +#define writel(b,addr) (*(__force volatile __u32 *)(__u32 __iomem *)(addr) = (b)) +#define writeq(b,addr) (*(__force volatile __u64 *)(__u64 __iomem *)(addr) = (b)) +#endif +#define writeb(b,addr) (*(__force volatile __u8 *)(__u8 __iomem *)(addr) = (b)) +#define writew(b,addr) (*(__force volatile __u16 *)(__u16 __iomem *)(addr) = (b)) #define __raw_writeb writeb #define __raw_writew writew #define __raw_writel writel @@ -199,10 +219,10 @@ void *__memcpy_fromio(void*,unsigned long,unsigned); void *__memcpy_toio(unsigned long,const void*,unsigned); #define memcpy_fromio(to,from,len) \ - __memcpy_fromio((to),(unsigned long)(from),(len)) + __memcpy_fromio((to),(unsigned long)(void __iomem *)(from),(len)) #define memcpy_toio(to,from,len) \ - __memcpy_toio((unsigned long)(to),(from),(len)) -#define memset_io(a,b,c) memset((void *)(a),(b),(c)) + __memcpy_toio((unsigned long)(void __iomem *)(to),(from),(len)) +#define memset_io(a,b,c) memset((__force void *)(void __iomem *)(a),(b),(c)) /* * ISA space is 'always mapped' on a typical x86 system, no need to @@ -212,7 +232,7 @@ void *__memcpy_toio(unsigned long,const void*,unsigned); * used as the IO-area pointer (it can be iounmapped as well, so the * analogy with PCI is quite large): */ -#define __ISA_IO_base ((char *)(PAGE_OFFSET)) +#define __ISA_IO_base ((char __iomem *)(PAGE_OFFSET)) #define isa_readb(a) readb(__ISA_IO_base + (a)) #define isa_readw(a) readw(__ISA_IO_base + (a)) @@ -299,11 +319,8 @@ out: #define flush_write_buffers() -/* Disable vmerge for now. Need to fix the block layer code - to check for non iommu addresses first. - When the IOMMU is force it is safe to enable. */ -extern int iommu_merge; -#define BIO_VMERGE_BOUNDARY (iommu_merge ? 4096 : 0) +extern int iommu_bio_merge; +#define BIO_VMERGE_BOUNDARY iommu_bio_merge #endif /* __KERNEL__ */ diff --git a/include/asm-x86_64/irq.h b/include/asm-x86_64/irq.h index 34bd00bfc..7f9304875 100644 --- a/include/asm-x86_64/irq.h +++ b/include/asm-x86_64/irq.h @@ -57,4 +57,6 @@ struct irqaction; struct pt_regs; int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *); +extern int no_irq_affinity; + #endif /* _ASM_IRQ_H */ diff --git a/include/asm-x86_64/module.h b/include/asm-x86_64/module.h index 67f8f69fa..3a7373ab4 100644 --- a/include/asm-x86_64/module.h +++ b/include/asm-x86_64/module.h @@ -3,8 +3,13 @@ struct mod_arch_specific {}; +#define MODULES_ARE_ELF64 #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define Elf_Ehdr Elf64_Ehdr +#define Elf_Rel Elf64_Rel +#define Elf_Rela Elf64_Rela +#define ELF_R_TYPE(X) ELF64_R_TYPE(X) +#define ELF_R_SYM(X) ELF64_R_SYM(X) #endif diff --git a/include/asm-x86_64/mpspec.h b/include/asm-x86_64/mpspec.h index 2768b7c83..98aa63e6b 100644 --- a/include/asm-x86_64/mpspec.h +++ b/include/asm-x86_64/mpspec.h @@ -156,8 +156,8 @@ struct mpc_config_lintsrc * 7 2 CPU MCA+PCI */ +#define MAX_MP_BUSSES 270 #define MAX_IRQ_SOURCES 256 -#define MAX_MP_BUSSES 32 enum mp_bustype { MP_BUS_ISA = 1, MP_BUS_EISA, @@ -166,7 +166,6 @@ enum mp_bustype { }; extern unsigned char mp_bus_id_to_type [MAX_MP_BUSSES]; extern int mp_bus_id_to_pci_bus [MAX_MP_BUSSES]; -extern cpumask_t pci_bus_to_cpumask [256]; extern unsigned int boot_cpu_physical_apicid; extern int smp_found_config; diff --git a/include/asm-x86_64/msi.h b/include/asm-x86_64/msi.h index e0e1e9b3b..9932d0b76 100644 --- a/include/asm-x86_64/msi.h +++ b/include/asm-x86_64/msi.h @@ -7,10 +7,11 @@ #define ASM_MSI_H #include +#include #define LAST_DEVICE_VECTOR 232 #define MSI_DEST_MODE MSI_LOGICAL_MODE #define MSI_TARGET_CPU_SHIFT 12 -#define MSI_TARGET_CPU TARGET_CPUS +#define MSI_TARGET_CPU logical_smp_processor_id() #endif /* ASM_MSI_H */ diff --git a/include/asm-x86_64/pgtable.h b/include/asm-x86_64/pgtable.h index 059ba4a7d..1dd845038 100644 --- a/include/asm-x86_64/pgtable.h +++ b/include/asm-x86_64/pgtable.h @@ -111,7 +111,7 @@ static inline void set_pml4(pml4_t *dst, pml4_t val) #define PGDIR_SIZE (1UL << PGDIR_SHIFT) #define PGDIR_MASK (~(PGDIR_SIZE-1)) -#define USER_PTRS_PER_PGD (TASK_SIZE/PGDIR_SIZE) +#define USER_PTRS_PER_PGD (test_thread_flag(TIF_IA32) ? 4 : TASK_SIZE/PGDIR_SIZE) #define FIRST_USER_PGD_NR 0 #define USER_PGD_PTRS (PAGE_OFFSET >> PGDIR_SHIFT) @@ -424,6 +424,7 @@ extern int kern_addr_valid(unsigned long addr); #define io_remap_page_range remap_page_range #define HAVE_ARCH_UNMAPPED_AREA +#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN #define pgtable_cache_init() do { } while (0) #define check_pgt_cache() do { } while (0) diff --git a/include/asm-x86_64/processor.h b/include/asm-x86_64/processor.h index 597df198f..caec2767f 100644 --- a/include/asm-x86_64/processor.h +++ b/include/asm-x86_64/processor.h @@ -18,6 +18,7 @@ #include #include #include +#include #include #define TF_MASK 0x00000100 @@ -60,6 +61,8 @@ struct cpuinfo_x86 { int x86_cache_alignment; int x86_tlbsize; /* number of 4K pages in DTLB/ITLB combined(in pages)*/ __u8 x86_virt_bits, x86_phys_bits; + __u8 x86_num_cores; + __u8 x86_apicid; __u32 x86_power; unsigned long loops_per_jiffy; } ____cacheline_aligned; @@ -75,14 +78,11 @@ struct cpuinfo_x86 { #define X86_VENDOR_NUM 8 #define X86_VENDOR_UNKNOWN 0xff -extern struct cpuinfo_x86 boot_cpu_data; -extern struct tss_struct init_tss[NR_CPUS]; - #ifdef CONFIG_SMP extern struct cpuinfo_x86 cpu_data[]; #define current_cpu_data cpu_data[smp_processor_id()] #else -#define cpu_data &boot_cpu_data +#define cpu_data (&boot_cpu_data) #define current_cpu_data boot_cpu_data #endif @@ -90,6 +90,7 @@ extern char ignore_irq13; extern void identify_cpu(struct cpuinfo_x86 *); extern void print_cpu_info(struct cpuinfo_x86 *); +extern unsigned int init_intel_cacheinfo(struct cpuinfo_x86 *c); extern void dodgy_tsc(void); /* @@ -177,14 +178,14 @@ static inline void clear_in_cr4 (unsigned long mask) /* * User space process size: 512GB - 1GB (default). */ -#define TASK_SIZE_64 (0x0000007fc0000000UL) +#define TASK_SIZE (0x0000007fc0000000UL) -#define TASK_SIZE (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE_64) +#define TASK_SIZE_3264 (test_thread_flag(TIF_IA32) ? IA32_PAGE_OFFSET : TASK_SIZE) /* - * Size of io_bitmap, covering ports 0 to 0x3ff. + * Size of io_bitmap. */ -#define IO_BITMAP_BITS 1024 +#define IO_BITMAP_BITS 65536 #define IO_BITMAP_BYTES (IO_BITMAP_BITS/8) #define IO_BITMAP_LONGS (IO_BITMAP_BYTES/sizeof(long)) #define IO_BITMAP_OFFSET offsetof(struct tss_struct,io_bitmap) @@ -231,6 +232,9 @@ struct tss_struct { unsigned long io_bitmap[IO_BITMAP_LONGS + 1]; } __attribute__((packed)) ____cacheline_aligned; +extern struct cpuinfo_x86 boot_cpu_data; +DECLARE_PER_CPU(struct tss_struct,init_tss); + #define ARCH_MIN_TASKALIGN 16 struct thread_struct { @@ -255,6 +259,7 @@ struct thread_struct { switch faster for a limited number of ioperm using tasks. -AK */ int ioperm; unsigned long *io_bitmap_ptr; + unsigned io_bitmap_max; /* cached TLS descriptors. */ u64 tls_array[GDT_ENTRY_TLS_ENTRIES]; } __attribute__((aligned(16))); @@ -460,11 +465,6 @@ static inline void __mwait(unsigned long eax, unsigned long ecx) #define cache_line_size() (boot_cpu_data.x86_cache_alignment) -#ifdef CONFIG_SCHED_SMT -#define ARCH_HAS_SCHED_DOMAIN -#define ARCH_HAS_SCHED_WAKE_IDLE -#endif - #define HAVE_ARCH_PICK_MMAP_LAYOUT #endif /* __ASM_X86_64_PROCESSOR_H */ diff --git a/include/asm-x86_64/ptrace.h b/include/asm-x86_64/ptrace.h index cbc19a778..c7865cfed 100644 --- a/include/asm-x86_64/ptrace.h +++ b/include/asm-x86_64/ptrace.h @@ -83,6 +83,7 @@ struct pt_regs { #if defined(__KERNEL__) && !defined(__ASSEMBLY__) #define user_mode(regs) (!!((regs)->cs & 3)) #define instruction_pointer(regs) ((regs)->rip) +extern unsigned long profile_pc(struct pt_regs *regs); void signal_fault(struct pt_regs *regs, void __user *frame, char *where); enum { diff --git a/include/asm-x86_64/resource.h b/include/asm-x86_64/resource.h index a946b0bdc..f1b71c320 100644 --- a/include/asm-x86_64/resource.h +++ b/include/asm-x86_64/resource.h @@ -39,7 +39,7 @@ { RLIM_INFINITY, RLIM_INFINITY }, \ { 0, 0 }, \ { INR_OPEN, INR_OPEN }, \ - { 32768, 32768 }, \ + { MLOCK_LIMIT, MLOCK_LIMIT }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { RLIM_INFINITY, RLIM_INFINITY }, \ { MAX_SIGPENDING, MAX_SIGPENDING }, \ diff --git a/include/asm-x86_64/semaphore.h b/include/asm-x86_64/semaphore.h index 278883422..f325e39bf 100644 --- a/include/asm-x86_64/semaphore.h +++ b/include/asm-x86_64/semaphore.h @@ -47,21 +47,14 @@ struct semaphore { atomic_t count; int sleepers; wait_queue_head_t wait; -#ifdef WAITQUEUE_DEBUG - long __magic; -#endif }; -#ifdef WAITQUEUE_DEBUG -# define __SEM_DEBUG_INIT(name) \ - , (int)&(name).__magic -#else -# define __SEM_DEBUG_INIT(name) -#endif - -#define __SEMAPHORE_INITIALIZER(name,count) \ -{ ATOMIC_INIT(count), 0, __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ - __SEM_DEBUG_INIT(name) } +#define __SEMAPHORE_INITIALIZER(name, n) \ +{ \ + .count = ATOMIC_INIT(n), \ + .sleepers = 0, \ + .wait = __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \ +} #define __MUTEX_INITIALIZER(name) \ __SEMAPHORE_INITIALIZER(name,1) @@ -83,9 +76,6 @@ static inline void sema_init (struct semaphore *sem, int val) atomic_set(&sem->count, val); sem->sleepers = 0; init_waitqueue_head(&sem->wait); -#ifdef WAITQUEUE_DEBUG - sem->__magic = (int)&sem->__magic; -#endif } static inline void init_MUTEX (struct semaphore *sem) @@ -115,9 +105,6 @@ asmlinkage void __up(struct semaphore * sem); */ static inline void down(struct semaphore * sem) { -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); __asm__ __volatile__( @@ -142,9 +129,6 @@ static inline int down_interruptible(struct semaphore * sem) { int result; -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif might_sleep(); __asm__ __volatile__( @@ -171,10 +155,6 @@ static inline int down_trylock(struct semaphore * sem) { int result; -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif - __asm__ __volatile__( "# atomic interruptible down operation\n\t" LOCK "decl %1\n\t" /* --sem->count */ @@ -199,9 +179,6 @@ static inline int down_trylock(struct semaphore * sem) */ static inline void up(struct semaphore * sem) { -#ifdef WAITQUEUE_DEBUG - CHECK_MAGIC(sem->__magic); -#endif __asm__ __volatile__( "# atomic up operation\n\t" LOCK "incl %0\n\t" /* ++sem->count */ diff --git a/include/asm-x86_64/smp.h b/include/asm-x86_64/smp.h index c210e398a..03841bec8 100644 --- a/include/asm-x86_64/smp.h +++ b/include/asm-x86_64/smp.h @@ -110,9 +110,13 @@ static inline int cpu_present_to_apicid(int mps_cpu) #endif #define INT_DELIVERY_MODE 1 /* logical delivery */ -#define TARGET_CPUS 1 #ifndef ASSEMBLY +#ifdef CONFIG_SMP +#define TARGET_CPUS cpu_online_map +#else +#define TARGET_CPUS cpumask_of_cpu(0) +#endif static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask) { return cpus_addr(cpumask)[0]; @@ -133,5 +137,13 @@ static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask) }) #endif +#ifndef __ASSEMBLY__ +static __inline int logical_smp_processor_id(void) +{ + /* we don't want to mark this access volatile - bad code generation */ + return GET_APIC_LOGICAL_ID(*(unsigned long *)(APIC_BASE+APIC_LDR)); +} +#endif + #endif diff --git a/include/asm-x86_64/spinlock.h b/include/asm-x86_64/spinlock.h index 3177138f9..185e087e8 100644 --- a/include/asm-x86_64/spinlock.h +++ b/include/asm-x86_64/spinlock.h @@ -113,10 +113,8 @@ static inline int _raw_spin_trylock(spinlock_t *lock) static inline void _raw_spin_lock(spinlock_t *lock) { #ifdef CONFIG_DEBUG_SPINLOCK - __label__ here; -here: if (lock->magic != SPINLOCK_MAGIC) { -printk("eip: %p\n", &&here); + printk("eip: %p\n", __builtin_return_address(0)); BUG(); } #endif diff --git a/include/asm-x86_64/topology.h b/include/asm-x86_64/topology.h index dbc3f1579..84f24e7a7 100644 --- a/include/asm-x86_64/topology.h +++ b/include/asm-x86_64/topology.h @@ -14,18 +14,23 @@ extern cpumask_t cpu_online_map; extern unsigned char cpu_to_node[]; extern cpumask_t node_to_cpumask[]; +extern cpumask_t pci_bus_to_cpumask[]; #define cpu_to_node(cpu) (cpu_to_node[cpu]) #define parent_node(node) (node) #define node_to_first_cpu(node) (__ffs(node_to_cpumask[node])) #define node_to_cpumask(node) (node_to_cpumask[node]) -static inline cpumask_t pcibus_to_cpumask(int bus) +static inline cpumask_t __pcibus_to_cpumask(int bus) { + cpumask_t busmask = pci_bus_to_cpumask[bus]; + cpumask_t online = cpu_online_map; cpumask_t res; - cpus_and(res, pci_bus_to_cpumask[bus], cpu_online_map); + cpus_and(res, busmask, online); return res; } +/* broken generic file uses #ifndef later on this */ +#define pcibus_to_cpumask(bus) __pcibus_to_cpumask(bus) #define NODE_BALANCE_RATE 30 /* CHECKME */ diff --git a/include/asm-x86_64/uaccess.h b/include/asm-x86_64/uaccess.h index 8d0598d4e..a7b9d3305 100644 --- a/include/asm-x86_64/uaccess.h +++ b/include/asm-x86_64/uaccess.h @@ -137,6 +137,9 @@ extern void __put_user_bad(void); #define __put_user(x,ptr) \ __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr))) +#define __get_user_unaligned __get_user +#define __put_user_unaligned __put_user + #define __put_user_nocheck(x,ptr,size) \ ({ \ int __pu_err; \ diff --git a/include/asm-x86_64/unistd.h b/include/asm-x86_64/unistd.h index 81e4e85ba..e16118309 100644 --- a/include/asm-x86_64/unistd.h +++ b/include/asm-x86_64/unistd.h @@ -424,7 +424,15 @@ __SYSCALL(__NR_putpmsg, sys_ni_syscall) __SYSCALL(__NR_afs_syscall, sys_ni_syscall) #define __NR_tuxcall 184 /* reserved for tux */ -__SYSCALL(__NR_tuxcall, sys_ni_syscall) +#ifdef CONFIG_TUX + __SYSCALL(__NR_tuxcall, __sys_tux) +#else +# ifdef CONFIG_TUX_MODULE + __SYSCALL(__NR_tuxcall, sys_tux) +# else + __SYSCALL(__NR_tuxcall, sys_ni_syscall) +# endif +#endif #define __NR_security 185 __SYSCALL(__NR_security, sys_ni_syscall) @@ -551,13 +559,21 @@ __SYSCALL(__NR_mq_notify, sys_mq_notify) #define __NR_mq_getsetattr 245 __SYSCALL(__NR_mq_getsetattr, sys_mq_getsetattr) #define __NR_kexec_load 246 -__SYSCALL(__NR_kexec_load, sys_ni_syscall) +__SYSCALL(__NR_kexec_load, sys_kexec_load) +#define __NR_waitid 247 +__SYSCALL(__NR_waitid, sys_waitid) +#define __NR_syscall_max __NR_waitid + +#ifdef USE_IOPRIO_SYSCALLS +#warning MEF if necessary may need to adjust ioprio syscalls #define __NR_ioprio_set 247 __SYSCALL(__NR_ioprio_set, sys_ioprio_set); #define __NR_ioprio_get 248 __SYSCALL(__NR_ioprio_get, sys_ioprio_get); +#else +#warning MEF not including sys_ioprio_{set,get} syscalls +#endif -#define __NR_syscall_max __NR_ioprio_get #ifndef __NO_STUBS /* user-visible error numbers are in the range -1 - -4095 */ diff --git a/include/linux/acct.h b/include/linux/acct.h index b46ce1ac1..a6ab17c49 100644 --- a/include/linux/acct.h +++ b/include/linux/acct.h @@ -172,17 +172,24 @@ static inline u32 jiffies_to_AHZ(unsigned long x) #endif } -static inline u64 jiffies_64_to_AHZ(u64 x) +static inline u64 nsec_to_AHZ(u64 x) { -#if (TICK_NSEC % (NSEC_PER_SEC / AHZ)) == 0 -#if HZ != AHZ - do_div(x, HZ / AHZ); -#endif -#else - x *= TICK_NSEC; +#if (NSEC_PER_SEC % AHZ) == 0 do_div(x, (NSEC_PER_SEC / AHZ)); +#elif (AHZ % 512) == 0 + x *= AHZ/512; + do_div(x, (NSEC_PER_SEC / 512)); +#else + /* + * max relative error 5.7e-8 (1.8s per year) for AHZ <= 1024, + * overflow after 64.99 years. + * exact for AHZ=60, 72, 90, 120, 144, 180, 300, 600, 900, ... + */ + x *= 9; + do_div(x, (unsigned long)((9ull * NSEC_PER_SEC + (AHZ/2)) + / AHZ)); #endif - return x; + return x; } #endif /* __KERNEL */ diff --git a/include/linux/acpi.h b/include/linux/acpi.h index f82aa67ea..041f660ec 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -453,14 +453,15 @@ void acpi_pci_unregister_driver(struct acpi_pci_driver *driver); #ifdef CONFIG_ACPI_EC -int ec_read(u8 addr, u8 *val); -int ec_write(u8 addr, u8 val); +extern int ec_read(u8 addr, u8 *val); +extern int ec_write(u8 addr, u8 val); #endif /*CONFIG_ACPI_EC*/ #ifdef CONFIG_ACPI_INTERPRETER -int acpi_blacklisted(void); +extern int acpi_blacklisted(void); +extern void acpi_bios_year(char *s); #else /*!CONFIG_ACPI_INTERPRETER*/ diff --git a/include/linux/affs_fs.h b/include/linux/affs_fs.h index 5ba9d6205..b52f1320f 100644 --- a/include/linux/affs_fs.h +++ b/include/linux/affs_fs.h @@ -32,7 +32,6 @@ extern int affs_copy_name(unsigned char *bstr, struct dentry *dentry); /* bitmap. c */ -extern u32 affs_count_free_bits(u32 blocksize, const void *data); extern u32 affs_count_free_blocks(struct super_block *s); extern void affs_free_block(struct super_block *sb, u32 block); extern u32 affs_alloc_block(struct inode *inode, u32 goal); @@ -63,7 +62,7 @@ extern void affs_put_inode(struct inode *inode); extern void affs_delete_inode(struct inode *inode); extern void affs_clear_inode(struct inode *inode); extern void affs_read_inode(struct inode *inode); -extern void affs_write_inode(struct inode *inode, int); +extern int affs_write_inode(struct inode *inode, int); extern int affs_add_entry(struct inode *dir, struct inode *inode, struct dentry *dentry, s32 type); /* super.c */ diff --git a/include/linux/aio.h b/include/linux/aio.h index 461a3b073..a4d5af907 100644 --- a/include/linux/aio.h +++ b/include/linux/aio.h @@ -52,7 +52,7 @@ struct kiocb { struct file *ki_filp; struct kioctx *ki_ctx; /* may be NULL for sync ops */ int (*ki_cancel)(struct kiocb *, struct io_event *); - long (*ki_retry)(struct kiocb *); + ssize_t (*ki_retry)(struct kiocb *); void (*ki_dtor)(struct kiocb *); struct list_head ki_list; /* the aio core uses this @@ -64,6 +64,16 @@ struct kiocb { } ki_obj; __u64 ki_user_data; /* user's data for completion */ loff_t ki_pos; + /* State that we remember to be able to restart/retry */ + unsigned short ki_opcode; + size_t ki_nbytes; /* copy of iocb->aio_nbytes */ + char __user *ki_buf; /* remaining iocb->aio_buf */ + size_t ki_left; /* remaining bytes */ + wait_queue_t ki_wait; + long ki_retried; /* just for testing */ + long ki_kicked; /* just for testing */ + long ki_queued; /* just for testing */ + void *private; }; @@ -79,6 +89,8 @@ struct kiocb { (x)->ki_cancel = NULL; \ (x)->ki_dtor = NULL; \ (x)->ki_obj.tsk = tsk; \ + (x)->ki_user_data = 0; \ + init_wait((&(x)->ki_wait)); \ } while (0) #define AIO_RING_MAGIC 0xa10a10a1 @@ -161,6 +173,20 @@ int FASTCALL(io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, #define get_ioctx(kioctx) do { if (unlikely(atomic_read(&(kioctx)->users) <= 0)) BUG(); atomic_inc(&(kioctx)->users); } while (0) #define put_ioctx(kioctx) do { if (unlikely(atomic_dec_and_test(&(kioctx)->users))) __put_ioctx(kioctx); else if (unlikely(atomic_read(&(kioctx)->users) < 0)) BUG(); } while (0) +#define in_aio() !is_sync_wait(current->io_wait) +/* may be used for debugging */ +#define warn_if_async() \ +do { \ + if (in_aio()) { \ + printk(KERN_ERR "%s(%s:%d) called in async context!\n", \ + __FUNCTION__, __FILE__, __LINE__); \ + dump_stack(); \ + } \ +} while (0) + +#define io_wait_to_kiocb(wait) container_of(wait, struct kiocb, ki_wait) +#define is_retried_kiocb(iocb) ((iocb)->ki_retried > 1) + #include static inline struct kiocb *list_kiocb(struct list_head *h) diff --git a/include/linux/ata.h b/include/linux/ata.h index 4b6d0e417..b6d8e8681 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h @@ -24,6 +24,8 @@ #ifndef __LINUX_ATA_H__ #define __LINUX_ATA_H__ +#include + /* defines only for the constants which don't work well as enums */ #define ATA_DMA_BOUNDARY 0xffffUL #define ATA_DMA_MASK 0xffffffffULL @@ -33,8 +35,6 @@ enum { ATA_MAX_DEVICES = 2, /* per bus/port */ ATA_MAX_PRD = 256, /* we could make these 256/256 */ ATA_SECT_SIZE = 512, - ATA_SECT_SIZE_MASK = (ATA_SECT_SIZE - 1), - ATA_SECT_DWORDS = ATA_SECT_SIZE / sizeof(u32), ATA_ID_WORDS = 256, ATA_ID_PROD_OFS = 27, @@ -42,6 +42,7 @@ enum { ATA_ID_SERNO_OFS = 10, ATA_ID_MAJOR_VER = 80, ATA_ID_PIO_MODES = 64, + ATA_ID_MWDMA_MODES = 63, ATA_ID_UDMA_MODES = 88, ATA_ID_PIO4 = (1 << 1), @@ -133,13 +134,24 @@ enum { XFER_UDMA_2 = 0x42, XFER_UDMA_1 = 0x41, XFER_UDMA_0 = 0x40, + XFER_MW_DMA_2 = 0x22, + XFER_MW_DMA_1 = 0x21, + XFER_MW_DMA_0 = 0x20, XFER_PIO_4 = 0x0C, XFER_PIO_3 = 0x0B, + XFER_PIO_2 = 0x0A, + XFER_PIO_1 = 0x09, + XFER_PIO_0 = 0x08, + XFER_SW_DMA_2 = 0x12, + XFER_SW_DMA_1 = 0x11, + XFER_SW_DMA_0 = 0x10, + XFER_PIO_SLOW = 0x00, /* ATAPI stuff */ ATAPI_PKT_DMA = (1 << 0), ATAPI_DMADIR = (1 << 2), /* ATAPI data dir: 0=to device, 1=to host */ + ATAPI_CDB_LEN = 16, /* cable types */ ATA_CBL_NONE = 0, @@ -169,16 +181,22 @@ enum ata_tf_protocols { ATA_PROT_PIO, /* PIO single sector */ ATA_PROT_PIO_MULT, /* PIO multiple sector */ ATA_PROT_DMA, /* DMA */ - ATA_PROT_ATAPI, /* packet command */ + ATA_PROT_ATAPI, /* packet command, PIO data xfer*/ + ATA_PROT_ATAPI_NODATA, /* packet command, no data */ ATA_PROT_ATAPI_DMA, /* packet command with special DMA sauce */ }; +enum ata_ioctls { + ATA_IOC_GET_IO32 = 0x309, + ATA_IOC_SET_IO32 = 0x324, +}; + /* core structures */ struct ata_prd { u32 addr; u32 flags_len; -} __attribute__((packed)); +}; struct ata_taskfile { unsigned long flags; /* ATA_TFLAG_xxx */ @@ -203,26 +221,39 @@ struct ata_taskfile { u8 command; /* IO operation */ }; -#define ata_id_is_ata(dev) (((dev)->id[0] & (1 << 15)) == 0) -#define ata_id_rahead_enabled(dev) ((dev)->id[85] & (1 << 6)) -#define ata_id_wcache_enabled(dev) ((dev)->id[85] & (1 << 5)) -#define ata_id_has_lba48(dev) ((dev)->id[83] & (1 << 10)) -#define ata_id_has_wcache(dev) ((dev)->id[82] & (1 << 5)) -#define ata_id_has_pm(dev) ((dev)->id[82] & (1 << 3)) -#define ata_id_has_lba(dev) ((dev)->id[49] & (1 << 9)) -#define ata_id_has_dma(dev) ((dev)->id[49] & (1 << 8)) -#define ata_id_removeable(dev) ((dev)->id[0] & (1 << 7)) -#define ata_id_u32(dev,n) \ - (((u32) (dev)->id[(n) + 1] << 16) | ((u32) (dev)->id[(n)])) -#define ata_id_u64(dev,n) \ - ( ((u64) dev->id[(n) + 3] << 48) | \ - ((u64) dev->id[(n) + 2] << 32) | \ - ((u64) dev->id[(n) + 1] << 16) | \ - ((u64) dev->id[(n) + 0]) ) +#define ata_id_is_ata(id) (((id)[0] & (1 << 15)) == 0) +#define ata_id_rahead_enabled(id) ((id)[85] & (1 << 6)) +#define ata_id_wcache_enabled(id) ((id)[85] & (1 << 5)) +#define ata_id_has_flush(id) ((id)[83] & (1 << 12)) +#define ata_id_has_flush_ext(id) ((id)[83] & (1 << 13)) +#define ata_id_has_lba48(id) ((id)[83] & (1 << 10)) +#define ata_id_has_wcache(id) ((id)[82] & (1 << 5)) +#define ata_id_has_pm(id) ((id)[82] & (1 << 3)) +#define ata_id_has_lba(id) ((id)[49] & (1 << 9)) +#define ata_id_has_dma(id) ((id)[49] & (1 << 8)) +#define ata_id_removeable(id) ((id)[0] & (1 << 7)) +#define ata_id_u32(id,n) \ + (((u32) (id)[(n) + 1] << 16) | ((u32) (id)[(n)])) +#define ata_id_u64(id,n) \ + ( ((u64) (id)[(n) + 3] << 48) | \ + ((u64) (id)[(n) + 2] << 32) | \ + ((u64) (id)[(n) + 1] << 16) | \ + ((u64) (id)[(n) + 0]) ) + +static inline int atapi_cdb_len(u16 *dev_id) +{ + u16 tmp = dev_id[0] & 0x3; + switch (tmp) { + case 0: return 12; + case 1: return 16; + default: return -1; + } +} static inline int is_atapi_taskfile(struct ata_taskfile *tf) { return (tf->protocol == ATA_PROT_ATAPI) || + (tf->protocol == ATA_PROT_ATAPI_NODATA) || (tf->protocol == ATA_PROT_ATAPI_DMA); } diff --git a/include/linux/atmdev.h b/include/linux/atmdev.h index 35d22064c..7ee00c353 100644 --- a/include/linux/atmdev.h +++ b/include/linux/atmdev.h @@ -391,7 +391,6 @@ struct atm_dev *atm_dev_lookup(int number); void atm_dev_deregister(struct atm_dev *dev); void shutdown_atm_dev(struct atm_dev *dev); void vcc_insert_socket(struct sock *sk); -void vcc_remove_socket(struct sock *sk); /* diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index d3f220b57..3f25a3209 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h @@ -69,6 +69,11 @@ extern void remove_arg_zero(struct linux_binprm *); extern int search_binary_handler(struct linux_binprm *,struct pt_regs *); extern int flush_old_exec(struct linux_binprm * bprm); +extern int suid_dumpable; +#define SUID_DUMP_DISABLE 0 /* No setuid dumping */ +#define SUID_DUMP_USER 1 /* Dump as user of process */ +#define SUID_DUMP_ROOT 2 /* Dump as root */ + /* Stack area protections */ #define EXSTACK_DEFAULT 0 /* Whatever the arch defaults to */ #define EXSTACK_DISABLE_X 1 /* Disable executable stacks */ diff --git a/include/linux/bio.h b/include/linux/bio.h index b90e06c17..2585402c2 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h @@ -121,6 +121,7 @@ struct bio { #define BIO_CLONED 4 /* doesn't own data */ #define BIO_BOUNCED 5 /* bio is a bounce bio */ #define BIO_USER_MAPPED 6 /* contains user pages */ +#define BIO_EOPNOTSUPP 7 /* not supported */ #define bio_flagged(bio, flag) ((bio)->bi_flags & (1 << (flag))) /* @@ -160,6 +161,8 @@ struct bio { #define bio_data(bio) (page_address(bio_page((bio))) + bio_offset((bio))) #define bio_barrier(bio) ((bio)->bi_rw & (1 << BIO_RW_BARRIER)) #define bio_sync(bio) ((bio)->bi_rw & (1 << BIO_RW_SYNC)) +#define bio_failfast(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST)) +#define bio_rw_ahead(bio) ((bio)->bi_rw & (1 << BIO_RW_AHEAD)) /* * will die diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 9dadd08e2..77401c155 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -98,6 +98,9 @@ extern int bitmap_scnprintf(char *buf, unsigned int len, const unsigned long *src, int nbits); extern int bitmap_parse(const char __user *ubuf, unsigned int ulen, unsigned long *dst, int nbits); +extern int bitmap_find_free_region(unsigned long *bitmap, int bits, int order); +extern void bitmap_release_region(unsigned long *bitmap, int pos, int order); +extern int bitmap_allocate_region(unsigned long *bitmap, int pos, int order); #define BITMAP_LAST_WORD_MASK(nbits) \ ( \ diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index eb4d10be7..4efe45d1a 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -195,6 +195,8 @@ enum rq_flag_bits { __REQ_PM_SUSPEND, /* suspend request */ __REQ_PM_RESUME, /* resume request */ __REQ_PM_SHUTDOWN, /* shutdown request */ + __REQ_BAR_PREFLUSH, /* barrier pre-flush done */ + __REQ_BAR_POSTFLUSH, /* barrier post-flush */ __REQ_NR_BITS, /* stops here */ }; @@ -220,6 +222,8 @@ enum rq_flag_bits { #define REQ_PM_SUSPEND (1 << __REQ_PM_SUSPEND) #define REQ_PM_RESUME (1 << __REQ_PM_RESUME) #define REQ_PM_SHUTDOWN (1 << __REQ_PM_SHUTDOWN) +#define REQ_BAR_PREFLUSH (1 << __REQ_BAR_PREFLUSH) +#define REQ_BAR_POSTFLUSH (1 << __REQ_BAR_POSTFLUSH) /* * State information carried for REQ_PM_SUSPEND and REQ_PM_RESUME @@ -248,6 +252,7 @@ typedef void (unplug_fn) (request_queue_t *); struct bio_vec; typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *); typedef void (activity_fn) (void *data, int rw); +typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *); enum blk_queue_state { Queue_down, @@ -290,6 +295,7 @@ struct request_queue unplug_fn *unplug_fn; merge_bvec_fn *merge_bvec_fn; activity_fn *activity_fn; + issue_flush_fn *issue_flush_fn; /* * Auto-unplugging state @@ -338,6 +344,7 @@ struct request_queue unsigned int nr_congestion_off; unsigned short max_sectors; + unsigned short max_hw_sectors; unsigned short max_phys_segments; unsigned short max_hw_segments; unsigned short hardsect_size; @@ -373,6 +380,7 @@ struct request_queue #define QUEUE_FLAG_DEAD 5 /* queue being torn down */ #define QUEUE_FLAG_REENTER 6 /* Re-entrancy avoidance */ #define QUEUE_FLAG_PLUGGED 7 /* queue is plugged */ +#define QUEUE_FLAG_ORDERED 8 /* supports ordered writes */ #define blk_queue_plugged(q) test_bit(QUEUE_FLAG_PLUGGED, &(q)->queue_flags) #define blk_queue_tagged(q) test_bit(QUEUE_FLAG_QUEUED, &(q)->queue_flags) @@ -390,6 +398,10 @@ struct request_queue #define blk_pm_request(rq) \ ((rq)->flags & (REQ_PM_SUSPEND | REQ_PM_RESUME)) +#define blk_barrier_rq(rq) ((rq)->flags & REQ_HARDBARRIER) +#define blk_barrier_preflush(rq) ((rq)->flags & REQ_BAR_PREFLUSH) +#define blk_barrier_postflush(rq) ((rq)->flags & REQ_BAR_POSTFLUSH) + #define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist) #define rq_data_dir(rq) ((rq)->flags & 1) @@ -560,6 +572,14 @@ extern void end_that_request_last(struct request *); extern int process_that_request_first(struct request *, unsigned int); extern void end_request(struct request *req, int uptodate); +/* + * end_that_request_first/chunk() takes an uptodate argument. we account + * any value <= as an io error. 0 means -EIO for compatability reasons, + * any other < 0 value is the direct error type. An uptodate value of + * 1 indicates successful io completion + */ +#define end_io_error(uptodate) (unlikely((uptodate) <= 0)) + static inline void blkdev_dequeue_request(struct request *req) { BUG_ON(list_empty(&req->queuelist)); @@ -588,6 +608,9 @@ extern void blk_queue_prep_rq(request_queue_t *, prep_rq_fn *pfn); extern void blk_queue_merge_bvec(request_queue_t *, merge_bvec_fn *); extern void blk_queue_dma_alignment(request_queue_t *, int); extern struct backing_dev_info *blk_get_backing_dev_info(struct block_device *bdev); +extern void blk_queue_ordered(request_queue_t *, int); +extern void blk_queue_issue_flush_fn(request_queue_t *, issue_flush_fn *); +extern int blkdev_scsi_issue_flush_fn(request_queue_t *, struct gendisk *, sector_t *); extern int blk_rq_map_sg(request_queue_t *, struct request *, struct scatterlist *); extern void blk_dump_rq_flags(struct request *, char *); @@ -616,6 +639,7 @@ extern long blk_congestion_wait(int rw, long timeout); extern void blk_rq_bio_prep(request_queue_t *, struct request *, struct bio *); extern void blk_rq_prep_restart(struct request *); +extern int blkdev_issue_flush(struct block_device *, sector_t *); #define MAX_PHYS_SEGMENTS 128 #define MAX_HW_SEGMENTS 128 diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index e038f9a3d..376a5500a 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h @@ -67,6 +67,9 @@ extern void * __init __alloc_bootmem_node (pg_data_t *pgdat, unsigned long size, __alloc_bootmem_node((pgdat), (x), PAGE_SIZE, 0) #endif /* !CONFIG_HAVE_ARCH_BOOTMEM_NODE */ +extern unsigned long __initdata nr_kernel_pages; +extern unsigned long __initdata nr_all_pages; + extern void *__init alloc_large_system_hash(const char *tablename, unsigned long bucketsize, unsigned long numentries, diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h index 2908c7a1c..1a26d1cbf 100644 --- a/include/linux/buffer_head.h +++ b/include/linux/buffer_head.h @@ -26,6 +26,8 @@ enum bh_state_bits { BH_Delay, /* Buffer is not yet allocated on disk */ BH_Boundary, /* Block is followed by a discontiguity */ BH_Write_EIO, /* I/O error on write */ + BH_Ordered, /* ordered write */ + BH_Eopnotsupp, /* operation not supported (barrier) */ BH_PrivateStart,/* not a state bit, but the first bit available * for private allocation by other entities @@ -47,12 +49,12 @@ typedef void (bh_end_io_t)(struct buffer_head *bh, int uptodate); struct buffer_head { /* First cache line: */ unsigned long b_state; /* buffer state bitmap (see above) */ - atomic_t b_count; /* users using this block */ struct buffer_head *b_this_page;/* circular list of page's buffers */ struct page *b_page; /* the page this bh is mapped to */ + atomic_t b_count; /* users using this block */ + u32 b_size; /* block size */ sector_t b_blocknr; /* block number */ - u32 b_size; /* block size */ char *b_data; /* pointer to data block */ struct block_device *b_bdev; @@ -110,7 +112,9 @@ BUFFER_FNS(Async_Read, async_read) BUFFER_FNS(Async_Write, async_write) BUFFER_FNS(Delay, delay) BUFFER_FNS(Boundary, boundary) -BUFFER_FNS(Write_EIO,write_io_error) +BUFFER_FNS(Write_EIO, write_io_error) +BUFFER_FNS(Ordered, ordered) +BUFFER_FNS(Eopnotsupp, eopnotsupp) #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) #define touch_buffer(bh) mark_page_accessed(bh->b_page) @@ -139,17 +143,13 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate); void end_buffer_async_write(struct buffer_head *bh, int uptodate); /* Things to do with buffers at mapping->private_list */ -void buffer_insert_list(spinlock_t *lock, - struct buffer_head *, struct list_head *); void mark_buffer_dirty_inode(struct buffer_head *bh, struct inode *inode); int inode_has_buffers(struct inode *); void invalidate_inode_buffers(struct inode *); int remove_inode_buffers(struct inode *inode); -int fsync_buffers_list(spinlock_t *lock, struct list_head *); int sync_mapping_buffers(struct address_space *mapping); void unmap_underlying_metadata(struct block_device *bdev, sector_t block); -void mark_buffer_async_read(struct buffer_head *bh); void mark_buffer_async_write(struct buffer_head *bh); void invalidate_bdev(struct block_device *, int); int sync_blockdev(struct block_device *bdev); @@ -172,8 +172,8 @@ void free_buffer_head(struct buffer_head * bh); void FASTCALL(unlock_buffer(struct buffer_head *bh)); void FASTCALL(__lock_buffer(struct buffer_head *bh)); void ll_rw_block(int, int, struct buffer_head * bh[]); -void sync_dirty_buffer(struct buffer_head *bh); -void submit_bh(int, struct buffer_head *); +int sync_dirty_buffer(struct buffer_head *bh); +int submit_bh(int, struct buffer_head *); void write_boundary_block(struct block_device *bdev, sector_t bblock, unsigned blocksize); @@ -203,12 +203,6 @@ int nobh_prepare_write(struct page*, unsigned, unsigned, get_block_t*); int nobh_commit_write(struct file *, struct page *, unsigned, unsigned); int nobh_truncate_page(struct address_space *, loff_t); -#define OSYNC_METADATA (1<<0) -#define OSYNC_DATA (1<<1) -#define OSYNC_INODE (1<<2) -int generic_osync_inode(struct inode *, struct address_space *, int); - - /* * inline definitions */ @@ -282,6 +276,7 @@ static inline void wait_on_buffer(struct buffer_head *bh) static inline void lock_buffer(struct buffer_head *bh) { + might_sleep(); if (test_set_buffer_locked(bh)) __lock_buffer(bh); } diff --git a/include/linux/capability.h b/include/linux/capability.h index 7798d2c26..105aaeefa 100644 --- a/include/linux/capability.h +++ b/include/linux/capability.h @@ -288,7 +288,7 @@ typedef __u32 kernel_cap_t; /* Allow context manipulations */ /* Allow changing context info on files */ -#define CAP_CONTEXT 29 +#define CAP_CONTEXT 29 #ifdef __KERNEL__ /* diff --git a/include/linux/cdev.h b/include/linux/cdev.h index f1996ec09..8da37e29c 100644 --- a/include/linux/cdev.h +++ b/include/linux/cdev.h @@ -17,8 +17,6 @@ struct cdev *cdev_alloc(void); void cdev_put(struct cdev *p); -struct kobject *cdev_get(struct cdev *); - int cdev_add(struct cdev *, dev_t, unsigned); void cdev_del(struct cdev *); diff --git a/include/linux/cdrom.h b/include/linux/cdrom.h index 0e46b2d0d..f6b999021 100644 --- a/include/linux/cdrom.h +++ b/include/linux/cdrom.h @@ -452,6 +452,7 @@ struct cdrom_generic_command #define GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1e #define GPCMD_READ_10 0x28 #define GPCMD_READ_12 0xa8 +#define GPCMD_READ_BUFFER_CAPACITY 0x5c #define GPCMD_READ_CDVD_CAPACITY 0x25 #define GPCMD_READ_CD 0xbe #define GPCMD_READ_CD_MSF 0xb9 @@ -466,9 +467,10 @@ struct cdrom_generic_command #define GPCMD_REPORT_KEY 0xa4 #define GPCMD_REQUEST_SENSE 0x03 #define GPCMD_RESERVE_RZONE_TRACK 0x53 +#define GPCMD_SEND_CUE_SHEET 0x5d #define GPCMD_SCAN 0xba #define GPCMD_SEEK 0x2b -#define GPCMD_SEND_DVD_STRUCTURE 0xad +#define GPCMD_SEND_DVD_STRUCTURE 0xbf #define GPCMD_SEND_EVENT 0xa2 #define GPCMD_SEND_KEY 0xa3 #define GPCMD_SEND_OPC 0x54 diff --git a/include/linux/compat.h b/include/linux/compat.h index e45c0f905..e1e78bb97 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -79,6 +79,8 @@ struct compat_rusage { compat_long_t ru_nivcsw; }; +extern int put_compat_rusage(const struct rusage *, struct compat_rusage __user *); + struct compat_dirent { u32 d_ino; compat_off_t d_off; @@ -130,5 +132,15 @@ asmlinkage long compat_sys_select(int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, struct compat_timeval __user *tvp); +#define BITS_PER_COMPAT_LONG (8*sizeof(compat_long_t)) + +#define BITS_TO_COMPAT_LONGS(bits) \ + (((bits)+BITS_PER_COMPAT_LONG-1)/BITS_PER_COMPAT_LONG) + +long compat_get_bitmap(unsigned long *mask, compat_ulong_t __user *umask, + unsigned long bitmap_size); +long compat_put_bitmap(compat_ulong_t __user *umask, unsigned long *mask, + unsigned long bitmap_size); + #endif /* CONFIG_COMPAT */ #endif /* _LINUX_COMPAT_H */ diff --git a/include/linux/compat_ioctl.h b/include/linux/compat_ioctl.h index d43dbfe14..7ebb64c75 100644 --- a/include/linux/compat_ioctl.h +++ b/include/linux/compat_ioctl.h @@ -23,6 +23,8 @@ COMPATIBLE_IOCTL(TCSETS) COMPATIBLE_IOCTL(TCSETSW) COMPATIBLE_IOCTL(TCSETSF) COMPATIBLE_IOCTL(TIOCLINUX) +COMPATIBLE_IOCTL(TIOCSBRK) +COMPATIBLE_IOCTL(TIOCCBRK) /* Little t */ COMPATIBLE_IOCTL(TIOCGETD) COMPATIBLE_IOCTL(TIOCSETD) @@ -593,13 +595,15 @@ COMPATIBLE_IOCTL(ATMTCP_CREATE) COMPATIBLE_IOCTL(ATMTCP_REMOVE) COMPATIBLE_IOCTL(ATMMPC_CTRL) COMPATIBLE_IOCTL(ATMMPC_DATA) -/* Big W */ -/* WIOC_GETSUPPORT not yet implemented -E */ +/* Watchdog */ +COMPATIBLE_IOCTL(WDIOC_GETSUPPORT) COMPATIBLE_IOCTL(WDIOC_GETSTATUS) COMPATIBLE_IOCTL(WDIOC_GETBOOTSTATUS) COMPATIBLE_IOCTL(WDIOC_GETTEMP) COMPATIBLE_IOCTL(WDIOC_SETOPTIONS) COMPATIBLE_IOCTL(WDIOC_KEEPALIVE) +COMPATIBLE_IOCTL(WDIOC_SETTIMEOUT) +COMPATIBLE_IOCTL(WDIOC_GETTIMEOUT) /* Big R */ COMPATIBLE_IOCTL(RNDGETENTCNT) COMPATIBLE_IOCTL(RNDADDTOENTCNT) @@ -733,3 +737,20 @@ COMPATIBLE_IOCTL(SIOCSIWRETRY) COMPATIBLE_IOCTL(SIOCGIWRETRY) COMPATIBLE_IOCTL(SIOCSIWPOWER) COMPATIBLE_IOCTL(SIOCGIWPOWER) +/* hiddev */ +COMPATIBLE_IOCTL(HIDIOCGVERSION) +COMPATIBLE_IOCTL(HIDIOCAPPLICATION) +COMPATIBLE_IOCTL(HIDIOCGDEVINFO) +COMPATIBLE_IOCTL(HIDIOCGSTRING) +COMPATIBLE_IOCTL(HIDIOCINITREPORT) +COMPATIBLE_IOCTL(HIDIOCGREPORT) +COMPATIBLE_IOCTL(HIDIOCSREPORT) +COMPATIBLE_IOCTL(HIDIOCGREPORTINFO) +COMPATIBLE_IOCTL(HIDIOCGFIELDINFO) +COMPATIBLE_IOCTL(HIDIOCGUSAGE) +COMPATIBLE_IOCTL(HIDIOCSUSAGE) +COMPATIBLE_IOCTL(HIDIOCGUCODE) +COMPATIBLE_IOCTL(HIDIOCGFLAG) +COMPATIBLE_IOCTL(HIDIOCSFLAG) +COMPATIBLE_IOCTL(HIDIOCGCOLLECTIONINDEX) +COMPATIBLE_IOCTL(HIDIOCGCOLLECTIONINFO) diff --git a/include/linux/compiler-gcc+.h b/include/linux/compiler-gcc+.h index 5629cf5cd..6b9308541 100644 --- a/include/linux/compiler-gcc+.h +++ b/include/linux/compiler-gcc+.h @@ -6,9 +6,9 @@ */ #include -#define inline __inline__ __attribute__((always_inline)) -#define __inline__ __inline__ __attribute__((always_inline)) -#define __inline __inline__ __attribute__((always_inline)) +#define inline inline __attribute__((always_inline)) +#define __inline__ __inline__ __attribute__((always_inline)) +#define __inline __inline __attribute__((always_inline)) #define __deprecated __attribute__((deprecated)) #define __attribute_used__ __attribute__((__used__)) #define __attribute_pure__ __attribute__((pure)) diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h index 7965ae53d..eec2f88c4 100644 --- a/include/linux/compiler-gcc3.h +++ b/include/linux/compiler-gcc3.h @@ -3,10 +3,10 @@ /* These definitions are for GCC v3.x. */ #include -#if __GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 4 -# define inline __inline__ __attribute__((always_inline)) -# define __inline__ __inline__ __attribute__((always_inline)) -# define __inline __inline__ __attribute__((always_inline)) +#if __GNUC_MINOR__ >= 1 +# define inline inline __attribute__((always_inline)) +# define __inline__ __inline__ __attribute__((always_inline)) +# define __inline __inline __attribute__((always_inline)) #endif #if __GNUC_MINOR__ > 0 @@ -28,3 +28,7 @@ #if __GNUC_MINOR__ >= 4 #define __must_check __attribute__((warn_unused_result)) #endif + +#if __GNUC_MINOR__ >= 5 +#define __compiler_offsetof(a,b) __builtin_offsetof(a,b) +#endif diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 22d83706f..dea0d2e01 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h @@ -1,23 +1,28 @@ #ifndef __LINUX_COMPILER_H #define __LINUX_COMPILER_H +#ifndef __ASSEMBLY__ + #ifdef __CHECKER__ # define __user __attribute__((noderef, address_space(1))) # define __kernel /* default address space */ # define __safe __attribute__((safe)) # define __force __attribute__((force)) +# define __iomem __attribute__((noderef, address_space(2))) extern void __chk_user_ptr(void __user *); +extern void __chk_io_ptr(void __iomem *); #else # define __user # define __kernel # define __safe # define __force +# define __iomem # define __chk_user_ptr(x) (void)0 +# define __chk_io_ptr(x) (void)0 #endif #ifdef __KERNEL__ -#ifndef __ASSEMBLY__ #if __GNUC__ > 3 # include /* catch-all for GCC 4, 5, etc. */ #elif __GNUC__ == 3 @@ -27,7 +32,6 @@ extern void __chk_user_ptr(void __user *); #else # error Sorry, your compiler is too old/not recognized. #endif -#endif /* Intel compiler defines __GNUC__. So we will overwrite implementations * coming from above header files here @@ -57,6 +61,8 @@ extern void __chk_user_ptr(void __user *); (typeof(ptr)) (__ptr + (off)); }) #endif +#endif /* __ASSEMBLY__ */ + #endif /* __KERNEL__ */ /* @@ -124,4 +130,8 @@ extern void __chk_user_ptr(void __user *); #define noinline #endif +#ifndef __always_inline +#define __always_inline inline +#endif + #endif /* __LINUX_COMPILER_H */ diff --git a/include/linux/config.h b/include/linux/config.h index 83b6c3d14..d8ed0947a 100644 --- a/include/linux/config.h +++ b/include/linux/config.h @@ -2,7 +2,7 @@ #define _LINUX_CONFIG_H #include -#ifndef __KERNEL__ +#if !defined (__KERNEL__) && !defined(__KERNGLUE__) #error including kernel header in userspace; use the glibc headers instead! #endif #endif diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 5925e83d9..7130cef0f 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -74,7 +74,7 @@ int cpu_down(unsigned int cpu); #define hotcpu_notifier(fn, pri) /* CPUs don't go offline once they're online w/o CONFIG_HOTPLUG_CPU */ -#define cpu_is_offline(cpu) 0 +static inline int cpu_is_offline(int cpu) { return 0; } #endif #endif /* _LINUX_CPU_H_ */ diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index b4204dc7e..48a23f158 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -209,13 +209,6 @@ struct cpufreq_driver { #define CPUFREQ_CONST_LOOPS 0x02 /* loops_per_jiffy or other kernel * "constants" aren't affected by * frequency transitions */ -#define CPUFREQ_PANIC_OUTOFSYNC 0x04 /* panic if cpufreq's opinion of - * current frequency differs from - * actual frequency */ -#define CPUFREQ_PANIC_RESUME_OUTOFSYNC 0x08 /* panic if cpufreq's opinion of - * current frequency differs from - * actual frequency on resume - * from sleep. */ int cpufreq_register_driver(struct cpufreq_driver *driver_data); diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h index 7109aa6e5..1ff1e85f6 100644 --- a/include/linux/cpumask.h +++ b/include/linux/cpumask.h @@ -73,6 +73,7 @@ * inside a macro, the way we do the other calls. */ +#include #include #include #include @@ -207,13 +208,13 @@ static inline void __cpus_shift_left(cpumask_t *dstp, #define first_cpu(src) __first_cpu(&(src), NR_CPUS) static inline int __first_cpu(const cpumask_t *srcp, int nbits) { - return find_first_bit(srcp->bits, nbits); + return min_t(int, nbits, find_first_bit(srcp->bits, nbits)); } #define next_cpu(n, src) __next_cpu((n), &(src), NR_CPUS) static inline int __next_cpu(int n, const cpumask_t *srcp, int nbits) { - return find_next_bit(srcp->bits, nbits, n+1); + return min_t(int, nbits, find_next_bit(srcp->bits, nbits, n+1)); } #define cpumask_of_cpu(cpu) \ diff --git a/include/linux/dcache.h b/include/linux/dcache.h index a4c8f4674..c34199d46 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h @@ -33,8 +33,8 @@ struct vfsmount; */ struct qstr { unsigned int hash; - const unsigned char *name; unsigned int len; + const unsigned char *name; }; struct dentry_stat_t { @@ -101,12 +101,12 @@ struct dentry { unsigned long d_time; /* used by d_revalidate */ struct dentry_operations *d_op; struct super_block *d_sb; /* The root of the dentry tree */ - int d_mounted; void *d_fsdata; /* fs-specific data */ void * d_extra_attributes; /* TUX-specific data */ struct rcu_head d_rcu; struct dcookie_struct *d_cookie; /* cookie, if any */ struct hlist_node d_hash; /* lookup hash list */ + int d_mounted; unsigned char d_iname[DNAME_INLINE_LEN_MIN]; /* small names */ }; diff --git a/include/linux/delay.h b/include/linux/delay.h index f0b96ae39..014761bd2 100644 --- a/include/linux/delay.h +++ b/include/linux/delay.h @@ -10,7 +10,7 @@ extern unsigned long loops_per_jiffy; #include -#include +#include /* * Using udelay() for intervals greater than a few milliseconds can * risk overflow for high loops_per_jiffy (high bogomips) machines. The @@ -38,5 +38,11 @@ extern unsigned long loops_per_jiffy; #endif void msleep(unsigned int msecs); +unsigned long msleep_interruptible(unsigned int msecs); + +static inline void ssleep(unsigned int seconds) +{ + msleep(seconds * 1000); +} #endif /* defined(_LINUX_DELAY_H) */ diff --git a/include/linux/device.h b/include/linux/device.h index 49d3865aa..4bb694c67 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -59,7 +59,6 @@ struct bus_type { struct driver_attribute * drv_attrs; int (*match)(struct device * dev, struct device_driver * drv); - struct device * (*add) (struct device * parent, char * bus_id); int (*hotplug) (struct device *dev, char **envp, int num_envp, char *buffer, int buffer_size); int (*suspend)(struct device * dev, u32 state); @@ -285,6 +284,9 @@ struct device { struct list_head dma_pools; /* dma pools (if dma'ble) */ + struct dma_coherent_mem *dma_mem; /* internal for coherent mem + override */ + void (*release)(struct device * dev); }; diff --git a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h index 43f6c726c..806c30533 100644 --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h @@ -1,6 +1,9 @@ #ifndef _ASM_LINUX_DMA_MAPPING_H #define _ASM_LINUX_DMA_MAPPING_H +#include +#include + /* These definitions mirror those in pci.h, so they can be used * interchangeably with their PCI_ counterparts */ enum dma_data_direction { @@ -21,6 +24,33 @@ enum dma_data_direction { extern u64 dma_get_required_mask(struct device *dev); +/* flags for the coherent memory api */ +#define DMA_MEMORY_MAP 0x01 +#define DMA_MEMORY_IO 0x02 +#define DMA_MEMORY_INCLUDES_CHILDREN 0x04 +#define DMA_MEMORY_EXCLUSIVE 0x08 + +#ifndef ARCH_HAS_DMA_DECLARE_COHERENT_MEMORY +static inline int +dma_declare_coherent_memory(struct device *dev, dma_addr_t bus_addr, + dma_addr_t device_addr, size_t size, int flags) +{ + return 0; +} + +static inline void +dma_release_declared_memory(struct device *dev) +{ +} + +static inline void * +dma_mark_declared_memory_occupied(struct device *dev, + dma_addr_t device_addr, size_t size) +{ + return ERR_PTR(-EBUSY); +} +#endif + #endif diff --git a/include/linux/edd.h b/include/linux/edd.h index 5f9388110..c6e6747a4 100644 --- a/include/linux/edd.h +++ b/include/linux/edd.h @@ -49,6 +49,10 @@ #define EDD_MBR_SIG_MAX 16 /* max number of signatures to store */ #define EDD_MBR_SIG_NR_BUF 0x1ea /* addr of number of MBR signtaures at EDD_MBR_SIG_BUF in boot_params - treat this as 1 byte */ +#define EDD_CL_EQUALS 0x3d646465 /* "edd=" */ +#define EDD_CL_OFF 0x666f /* "of" for off */ +#define EDD_CL_SKIP 0x6b73 /* "sk" for skipmbr */ + #ifndef __ASSEMBLY__ #define EDD_EXT_FIXED_DISK_ACCESS (1 << 0) diff --git a/include/linux/elf.h b/include/linux/elf.h index 8d0dd82cc..052b7401e 100644 --- a/include/linux/elf.h +++ b/include/linux/elf.h @@ -88,7 +88,9 @@ typedef __s64 Elf64_Sxword; #define EM_V850 87 /* NEC v850 */ -#define EM_H8_300 46 /* Hitachi H8/300,300H,H8S */ +#define EM_M32R 88 /* Renesas M32R */ + +#define EM_H8_300 46 /* Renesas H8/300,300H,H8S */ /* * This is an interim value that we will use until the committee comes @@ -99,6 +101,9 @@ typedef __s64 Elf64_Sxword; /* Bogus old v850 magic number, used by old tools. */ #define EM_CYGNUS_V850 0x9080 +/* Bogus old m32r magic number, used by old tools. */ +#define EM_CYGNUS_M32R 0x9041 + /* * This is the old interim value for S/390 architecture */ diff --git a/include/linux/errno.h b/include/linux/errno.h index 96c53136c..504cc1985 100644 --- a/include/linux/errno.h +++ b/include/linux/errno.h @@ -22,6 +22,7 @@ #define EBADTYPE 527 /* Type not supported by server */ #define EJUKEBOX 528 /* Request initiated, but will not complete before timeout */ #define EIOCBQUEUED 529 /* iocb queued, will get completion event */ +#define EIOCBRETRY 530 /* iocb queued, will trigger a retry */ /* Defined for TUX async IO */ #define EWOULDBLOCKIO 530 /* Would block due to block-IO */ diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h index cd252c8eb..c2bd10f1f 100644 --- a/include/linux/ext2_fs.h +++ b/include/linux/ext2_fs.h @@ -135,14 +135,14 @@ static inline struct ext2_sb_info *EXT2_SB(struct super_block *sb) */ struct ext2_group_desc { - __u32 bg_block_bitmap; /* Blocks bitmap block */ - __u32 bg_inode_bitmap; /* Inodes bitmap block */ - __u32 bg_inode_table; /* Inodes table block */ - __u16 bg_free_blocks_count; /* Free blocks count */ - __u16 bg_free_inodes_count; /* Free inodes count */ - __u16 bg_used_dirs_count; /* Directories count */ - __u16 bg_pad; - __u32 bg_reserved[3]; + __le32 bg_block_bitmap; /* Blocks bitmap block */ + __le32 bg_inode_bitmap; /* Inodes bitmap block */ + __le32 bg_inode_table; /* Inodes table block */ + __le16 bg_free_blocks_count; /* Free blocks count */ + __le16 bg_free_inodes_count; /* Free inodes count */ + __le16 bg_used_dirs_count; /* Directories count */ + __le16 bg_pad; + __le32 bg_reserved[3]; }; /* @@ -197,8 +197,8 @@ struct ext2_group_desc #define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ #ifdef CONFIG_VSERVER_LEGACY -#define EXT2_FL_USER_VISIBLE 0x0C03DFFF /* User visible flags */ -#define EXT2_FL_USER_MODIFIABLE 0x0C0380FF /* User modifiable flags */ +#define EXT2_FL_USER_VISIBLE 0x0803DFFF /* User visible flags */ +#define EXT2_FL_USER_MODIFIABLE 0x080380FF /* User modifiable flags */ #else #define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ #define EXT2_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */ @@ -216,49 +216,49 @@ struct ext2_group_desc * Structure of an inode on the disk */ struct ext2_inode { - __u16 i_mode; /* File mode */ - __u16 i_uid; /* Low 16 bits of Owner Uid */ - __u32 i_size; /* Size in bytes */ - __u32 i_atime; /* Access time */ - __u32 i_ctime; /* Creation time */ - __u32 i_mtime; /* Modification time */ - __u32 i_dtime; /* Deletion Time */ - __u16 i_gid; /* Low 16 bits of Group Id */ - __u16 i_links_count; /* Links count */ - __u32 i_blocks; /* Blocks count */ - __u32 i_flags; /* File flags */ + __le16 i_mode; /* File mode */ + __le16 i_uid; /* Low 16 bits of Owner Uid */ + __le32 i_size; /* Size in bytes */ + __le32 i_atime; /* Access time */ + __le32 i_ctime; /* Creation time */ + __le32 i_mtime; /* Modification time */ + __le32 i_dtime; /* Deletion Time */ + __le16 i_gid; /* Low 16 bits of Group Id */ + __le16 i_links_count; /* Links count */ + __le32 i_blocks; /* Blocks count */ + __le32 i_flags; /* File flags */ union { struct { - __u32 l_i_reserved1; + __le32 l_i_reserved1; } linux1; struct { - __u32 h_i_translator; + __le32 h_i_translator; } hurd1; struct { - __u32 m_i_reserved1; + __le32 m_i_reserved1; } masix1; } osd1; /* OS dependent 1 */ - __u32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ - __u32 i_generation; /* File version (for NFS) */ - __u32 i_file_acl; /* File ACL */ - __u32 i_dir_acl; /* Directory ACL */ - __u32 i_faddr; /* Fragment address */ + __le32 i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ + __le32 i_generation; /* File version (for NFS) */ + __le32 i_file_acl; /* File ACL */ + __le32 i_dir_acl; /* Directory ACL */ + __le32 i_faddr; /* Fragment address */ union { struct { __u8 l_i_frag; /* Fragment number */ __u8 l_i_fsize; /* Fragment size */ __u16 l_i_xid; /* LRU Context */ - __u16 l_i_uid_high; /* these 2 fields */ - __u16 l_i_gid_high; /* were reserved2[0] */ + __le16 l_i_uid_high; /* these 2 fields */ + __le16 l_i_gid_high; /* were reserved2[0] */ __u32 l_i_reserved2; } linux2; struct { __u8 h_i_frag; /* Fragment number */ __u8 h_i_fsize; /* Fragment size */ - __u16 h_i_mode_high; - __u16 h_i_uid_high; - __u16 h_i_gid_high; - __u32 h_i_author; + __le16 h_i_mode_high; + __le16 h_i_uid_high; + __le16 h_i_gid_high; + __le32 h_i_author; } hurd2; struct { __u8 m_i_frag; /* Fragment number */ @@ -344,31 +344,31 @@ struct ext2_inode { * Structure of the super block */ struct ext2_super_block { - __u32 s_inodes_count; /* Inodes count */ - __u32 s_blocks_count; /* Blocks count */ - __u32 s_r_blocks_count; /* Reserved blocks count */ - __u32 s_free_blocks_count; /* Free blocks count */ - __u32 s_free_inodes_count; /* Free inodes count */ - __u32 s_first_data_block; /* First Data Block */ - __u32 s_log_block_size; /* Block size */ - __s32 s_log_frag_size; /* Fragment size */ - __u32 s_blocks_per_group; /* # Blocks per group */ - __u32 s_frags_per_group; /* # Fragments per group */ - __u32 s_inodes_per_group; /* # Inodes per group */ - __u32 s_mtime; /* Mount time */ - __u32 s_wtime; /* Write time */ - __u16 s_mnt_count; /* Mount count */ - __s16 s_max_mnt_count; /* Maximal mount count */ - __u16 s_magic; /* Magic signature */ - __u16 s_state; /* File system state */ - __u16 s_errors; /* Behaviour when detecting errors */ - __u16 s_minor_rev_level; /* minor revision level */ - __u32 s_lastcheck; /* time of last check */ - __u32 s_checkinterval; /* max. time between checks */ - __u32 s_creator_os; /* OS */ - __u32 s_rev_level; /* Revision level */ - __u16 s_def_resuid; /* Default uid for reserved blocks */ - __u16 s_def_resgid; /* Default gid for reserved blocks */ + __le32 s_inodes_count; /* Inodes count */ + __le32 s_blocks_count; /* Blocks count */ + __le32 s_r_blocks_count; /* Reserved blocks count */ + __le32 s_free_blocks_count; /* Free blocks count */ + __le32 s_free_inodes_count; /* Free inodes count */ + __le32 s_first_data_block; /* First Data Block */ + __le32 s_log_block_size; /* Block size */ + __le32 s_log_frag_size; /* Fragment size */ + __le32 s_blocks_per_group; /* # Blocks per group */ + __le32 s_frags_per_group; /* # Fragments per group */ + __le32 s_inodes_per_group; /* # Inodes per group */ + __le32 s_mtime; /* Mount time */ + __le32 s_wtime; /* Write time */ + __le16 s_mnt_count; /* Mount count */ + __le16 s_max_mnt_count; /* Maximal mount count */ + __le16 s_magic; /* Magic signature */ + __le16 s_state; /* File system state */ + __le16 s_errors; /* Behaviour when detecting errors */ + __le16 s_minor_rev_level; /* minor revision level */ + __le32 s_lastcheck; /* time of last check */ + __le32 s_checkinterval; /* max. time between checks */ + __le32 s_creator_os; /* OS */ + __le32 s_rev_level; /* Revision level */ + __le16 s_def_resuid; /* Default uid for reserved blocks */ + __le16 s_def_resgid; /* Default gid for reserved blocks */ /* * These fields are for EXT2_DYNAMIC_REV superblocks only. * @@ -382,16 +382,16 @@ struct ext2_super_block { * feature set, it must abort and not try to meddle with * things it doesn't understand... */ - __u32 s_first_ino; /* First non-reserved inode */ - __u16 s_inode_size; /* size of inode structure */ - __u16 s_block_group_nr; /* block group # of this superblock */ - __u32 s_feature_compat; /* compatible feature set */ - __u32 s_feature_incompat; /* incompatible feature set */ - __u32 s_feature_ro_compat; /* readonly-compatible feature set */ + __le32 s_first_ino; /* First non-reserved inode */ + __le16 s_inode_size; /* size of inode structure */ + __le16 s_block_group_nr; /* block group # of this superblock */ + __le32 s_feature_compat; /* compatible feature set */ + __le32 s_feature_incompat; /* incompatible feature set */ + __le32 s_feature_ro_compat; /* readonly-compatible feature set */ __u8 s_uuid[16]; /* 128-bit uuid for volume */ char s_volume_name[16]; /* volume name */ char s_last_mounted[64]; /* directory where last mounted */ - __u32 s_algorithm_usage_bitmap; /* For compression */ + __le32 s_algorithm_usage_bitmap; /* For compression */ /* * Performance hints. Directory preallocation should only * happen if the EXT2_COMPAT_PREALLOC flag is on. @@ -410,8 +410,8 @@ struct ext2_super_block { __u8 s_def_hash_version; /* Default hash version to use */ __u8 s_reserved_char_pad; __u16 s_reserved_word_pad; - __u32 s_default_mount_opts; - __u32 s_first_meta_bg; /* First metablock block group */ + __le32 s_default_mount_opts; + __le32 s_first_meta_bg; /* First metablock block group */ __u32 s_reserved[190]; /* Padding to the end of the block */ }; @@ -513,9 +513,9 @@ struct ext2_super_block { #define EXT2_NAME_LEN 255 struct ext2_dir_entry { - __u32 inode; /* Inode number */ - __u16 rec_len; /* Directory entry length */ - __u16 name_len; /* Name length */ + __le32 inode; /* Inode number */ + __le16 rec_len; /* Directory entry length */ + __le16 name_len; /* Name length */ char name[EXT2_NAME_LEN]; /* File name */ }; @@ -526,8 +526,8 @@ struct ext2_dir_entry { * file_type field. */ struct ext2_dir_entry_2 { - __u32 inode; /* Inode number */ - __u16 rec_len; /* Directory entry length */ + __le32 inode; /* Inode number */ + __le16 rec_len; /* Directory entry length */ __u8 name_len; /* Name length */ __u8 file_type; char name[EXT2_NAME_LEN]; /* File name */ diff --git a/include/linux/ext3_fs.h b/include/linux/ext3_fs.h index 7fe32d0be..9892f2848 100644 --- a/include/linux/ext3_fs.h +++ b/include/linux/ext3_fs.h @@ -33,11 +33,11 @@ struct statfs; #undef EXT3FS_DEBUG /* - * Define EXT3_PREALLOCATE to preallocate data blocks for expanding files + * Define EXT3_RESERVATION to reserve data blocks for expanding files */ -#undef EXT3_PREALLOCATE /* @@@ Fix this! */ -#define EXT3_DEFAULT_PREALLOC_BLOCKS 8 - +#define EXT3_DEFAULT_RESERVE_BLOCKS 8 +#define EXT3_MAX_RESERVE_BLOCKS 1024 +#define EXT3_RESERVE_WINDOW_NOT_ALLOCATED 0 /* * Always enable hashed directories */ @@ -129,14 +129,14 @@ struct statfs; */ struct ext3_group_desc { - __u32 bg_block_bitmap; /* Blocks bitmap block */ - __u32 bg_inode_bitmap; /* Inodes bitmap block */ - __u32 bg_inode_table; /* Inodes table block */ - __u16 bg_free_blocks_count; /* Free blocks count */ - __u16 bg_free_inodes_count; /* Free inodes count */ - __u16 bg_used_dirs_count; /* Directories count */ + __le32 bg_block_bitmap; /* Blocks bitmap block */ + __le32 bg_inode_bitmap; /* Inodes bitmap block */ + __le32 bg_inode_table; /* Inodes table block */ + __le16 bg_free_blocks_count; /* Free blocks count */ + __le16 bg_free_inodes_count; /* Free inodes count */ + __le16 bg_used_dirs_count; /* Directories count */ __u16 bg_pad; - __u32 bg_reserved[3]; + __le32 bg_reserved[3]; }; /* @@ -190,8 +190,8 @@ struct ext3_group_desc #define EXT3_RESERVED_FL 0x80000000 /* reserved for ext3 lib */ #ifdef CONFIG_VSERVER_LEGACY -#define EXT3_FL_USER_VISIBLE 0x0C03DFFF /* User visible flags */ -#define EXT3_FL_USER_MODIFIABLE 0x0C0380FF /* User modifiable flags */ +#define EXT3_FL_USER_VISIBLE 0x0803DFFF /* User visible flags */ +#define EXT3_FL_USER_MODIFIABLE 0x080380FF /* User modifiable flags */ #else #define EXT3_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ #define EXT3_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */ @@ -203,6 +203,31 @@ struct ext3_group_desc #define EXT3_STATE_JDATA 0x00000001 /* journaled data exists */ #define EXT3_STATE_NEW 0x00000002 /* inode is newly created */ + +/* Used to pass group descriptor data when online resize is done */ +struct ext3_new_group_input { + __u32 group; /* Group number for this data */ + __u32 block_bitmap; /* Absolute block number of block bitmap */ + __u32 inode_bitmap; /* Absolute block number of inode bitmap */ + __u32 inode_table; /* Absolute block number of inode table start */ + __u32 blocks_count; /* Total number of blocks in this group */ + __u16 reserved_blocks; /* Number of reserved blocks in this group */ + __u16 unused; +}; + +/* The struct ext3_new_group_input in kernel space, with free_blocks_count */ +struct ext3_new_group_data { + __u32 group; + __u32 block_bitmap; + __u32 inode_bitmap; + __u32 inode_table; + __u32 blocks_count; + __u16 reserved_blocks; + __u16 unused; + __u32 free_blocks_count; +}; + + /* * ioctl commands */ @@ -210,30 +235,34 @@ struct ext3_group_desc #define EXT3_IOC_SETFLAGS _IOW('f', 2, long) #define EXT3_IOC_GETVERSION _IOR('f', 3, long) #define EXT3_IOC_SETVERSION _IOW('f', 4, long) +#define EXT3_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long) +#define EXT3_IOC_GROUP_ADD _IOW('f', 8,struct ext3_new_group_input) #define EXT3_IOC_GETVERSION_OLD _IOR('v', 1, long) #define EXT3_IOC_SETVERSION_OLD _IOW('v', 2, long) #ifdef CONFIG_JBD_DEBUG #define EXT3_IOC_WAIT_FOR_READONLY _IOR('f', 99, long) #endif -#ifdef CONFIG_VSERVER_LEGACY +#ifdef CONFIG_VSERVER_LEGACY #define EXT3_IOC_SETXID FIOC_SETXIDJ #endif +#define EXT3_IOC_GETRSVSZ _IOR('f', 5, long) +#define EXT3_IOC_SETRSVSZ _IOW('f', 6, long) /* * Structure of an inode on the disk */ struct ext3_inode { - __u16 i_mode; /* File mode */ - __u16 i_uid; /* Low 16 bits of Owner Uid */ - __u32 i_size; /* Size in bytes */ - __u32 i_atime; /* Access time */ - __u32 i_ctime; /* Creation time */ - __u32 i_mtime; /* Modification time */ - __u32 i_dtime; /* Deletion Time */ - __u16 i_gid; /* Low 16 bits of Group Id */ - __u16 i_links_count; /* Links count */ - __u32 i_blocks; /* Blocks count */ - __u32 i_flags; /* File flags */ + __le16 i_mode; /* File mode */ + __le16 i_uid; /* Low 16 bits of Owner Uid */ + __le32 i_size; /* Size in bytes */ + __le32 i_atime; /* Access time */ + __le32 i_ctime; /* Creation time */ + __le32 i_mtime; /* Modification time */ + __le32 i_dtime; /* Deletion Time */ + __le16 i_gid; /* Low 16 bits of Group Id */ + __le16 i_links_count; /* Links count */ + __le32 i_blocks; /* Blocks count */ + __le32 i_flags; /* File flags */ union { struct { __u32 l_i_reserved1; @@ -245,18 +274,18 @@ struct ext3_inode { __u32 m_i_reserved1; } masix1; } osd1; /* OS dependent 1 */ - __u32 i_block[EXT3_N_BLOCKS];/* Pointers to blocks */ - __u32 i_generation; /* File version (for NFS) */ - __u32 i_file_acl; /* File ACL */ - __u32 i_dir_acl; /* Directory ACL */ - __u32 i_faddr; /* Fragment address */ + __le32 i_block[EXT3_N_BLOCKS];/* Pointers to blocks */ + __le32 i_generation; /* File version (for NFS) */ + __le32 i_file_acl; /* File ACL */ + __le32 i_dir_acl; /* Directory ACL */ + __le32 i_faddr; /* Fragment address */ union { struct { __u8 l_i_frag; /* Fragment number */ __u8 l_i_fsize; /* Fragment size */ __u16 l_i_xid; /* LRU Context */ - __u16 l_i_uid_high; /* these 2 fields */ - __u16 l_i_gid_high; /* were reserved2[0] */ + __le16 l_i_uid_high; /* these 2 fields */ + __le16 l_i_gid_high; /* were reserved2[0] */ __u32 l_i_reserved2; } linux2; struct { @@ -317,25 +346,27 @@ struct ext3_inode { /* * Mount flags */ -#define EXT3_MOUNT_CHECK 0x0001 /* Do mount-time checks */ -#define EXT3_MOUNT_OLDALLOC 0x0002 /* Don't use the new Orlov allocator */ -#define EXT3_MOUNT_GRPID 0x0004 /* Create files with directory's group */ -#define EXT3_MOUNT_DEBUG 0x0008 /* Some debugging messages */ -#define EXT3_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */ -#define EXT3_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */ -#define EXT3_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */ -#define EXT3_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */ -#define EXT3_MOUNT_NOLOAD 0x0100 /* Don't use existing journal*/ -#define EXT3_MOUNT_ABORT 0x0200 /* Fatal error detected */ -#define EXT3_MOUNT_DATA_FLAGS 0x0C00 /* Mode for data writes: */ - #define EXT3_MOUNT_JOURNAL_DATA 0x0400 /* Write data to journal */ - #define EXT3_MOUNT_ORDERED_DATA 0x0800 /* Flush data before commit */ - #define EXT3_MOUNT_WRITEBACK_DATA 0x0C00 /* No data ordering */ -#define EXT3_MOUNT_UPDATE_JOURNAL 0x1000 /* Update the journal format */ -#define EXT3_MOUNT_NO_UID32 0x2000 /* Disable 32-bit UIDs */ -#define EXT3_MOUNT_XATTR_USER 0x4000 /* Extended user attributes */ -#define EXT3_MOUNT_POSIX_ACL 0x8000 /* POSIX Access Control Lists */ -#define EXT3_MOUNT_TAG_XID 0x20000 /* Enable Context Tags */ +#define EXT3_MOUNT_CHECK 0x00001 /* Do mount-time checks */ +#define EXT3_MOUNT_OLDALLOC 0x00002 /* Don't use the new Orlov allocator */ +#define EXT3_MOUNT_GRPID 0x00004 /* Create files with directory's group */ +#define EXT3_MOUNT_DEBUG 0x00008 /* Some debugging messages */ +#define EXT3_MOUNT_ERRORS_CONT 0x00010 /* Continue on errors */ +#define EXT3_MOUNT_ERRORS_RO 0x00020 /* Remount fs ro on errors */ +#define EXT3_MOUNT_ERRORS_PANIC 0x00040 /* Panic on errors */ +#define EXT3_MOUNT_MINIX_DF 0x00080 /* Mimics the Minix statfs */ +#define EXT3_MOUNT_NOLOAD 0x00100 /* Don't use existing journal*/ +#define EXT3_MOUNT_ABORT 0x00200 /* Fatal error detected */ +#define EXT3_MOUNT_DATA_FLAGS 0x00C00 /* Mode for data writes: */ +#define EXT3_MOUNT_JOURNAL_DATA 0x00400 /* Write data to journal */ +#define EXT3_MOUNT_ORDERED_DATA 0x00800 /* Flush data before commit */ +#define EXT3_MOUNT_WRITEBACK_DATA 0x00C00 /* No data ordering */ +#define EXT3_MOUNT_UPDATE_JOURNAL 0x01000 /* Update the journal format */ +#define EXT3_MOUNT_NO_UID32 0x02000 /* Disable 32-bit UIDs */ +#define EXT3_MOUNT_XATTR_USER 0x04000 /* Extended user attributes */ +#define EXT3_MOUNT_POSIX_ACL 0x08000 /* POSIX Access Control Lists */ +#define EXT3_MOUNT_BARRIER 0x10000 /* Use block barriers */ +#define EXT3_MOUNT_RESERVATION 0x20000 /* Preallocation */ +#define EXT3_MOUNT_TAG_XID 0x40000 /* Enable Context Tags */ /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */ #ifndef _LINUX_EXT2_FS_H @@ -375,31 +406,31 @@ struct ext3_inode { * Structure of the super block */ struct ext3_super_block { -/*00*/ __u32 s_inodes_count; /* Inodes count */ - __u32 s_blocks_count; /* Blocks count */ - __u32 s_r_blocks_count; /* Reserved blocks count */ - __u32 s_free_blocks_count; /* Free blocks count */ -/*10*/ __u32 s_free_inodes_count; /* Free inodes count */ - __u32 s_first_data_block; /* First Data Block */ - __u32 s_log_block_size; /* Block size */ - __s32 s_log_frag_size; /* Fragment size */ -/*20*/ __u32 s_blocks_per_group; /* # Blocks per group */ - __u32 s_frags_per_group; /* # Fragments per group */ - __u32 s_inodes_per_group; /* # Inodes per group */ - __u32 s_mtime; /* Mount time */ -/*30*/ __u32 s_wtime; /* Write time */ - __u16 s_mnt_count; /* Mount count */ - __s16 s_max_mnt_count; /* Maximal mount count */ - __u16 s_magic; /* Magic signature */ - __u16 s_state; /* File system state */ - __u16 s_errors; /* Behaviour when detecting errors */ - __u16 s_minor_rev_level; /* minor revision level */ -/*40*/ __u32 s_lastcheck; /* time of last check */ - __u32 s_checkinterval; /* max. time between checks */ - __u32 s_creator_os; /* OS */ - __u32 s_rev_level; /* Revision level */ -/*50*/ __u16 s_def_resuid; /* Default uid for reserved blocks */ - __u16 s_def_resgid; /* Default gid for reserved blocks */ +/*00*/ __le32 s_inodes_count; /* Inodes count */ + __le32 s_blocks_count; /* Blocks count */ + __le32 s_r_blocks_count; /* Reserved blocks count */ + __le32 s_free_blocks_count; /* Free blocks count */ +/*10*/ __le32 s_free_inodes_count; /* Free inodes count */ + __le32 s_first_data_block; /* First Data Block */ + __le32 s_log_block_size; /* Block size */ + __le32 s_log_frag_size; /* Fragment size */ +/*20*/ __le32 s_blocks_per_group; /* # Blocks per group */ + __le32 s_frags_per_group; /* # Fragments per group */ + __le32 s_inodes_per_group; /* # Inodes per group */ + __le32 s_mtime; /* Mount time */ +/*30*/ __le32 s_wtime; /* Write time */ + __le16 s_mnt_count; /* Mount count */ + __le16 s_max_mnt_count; /* Maximal mount count */ + __le16 s_magic; /* Magic signature */ + __le16 s_state; /* File system state */ + __le16 s_errors; /* Behaviour when detecting errors */ + __le16 s_minor_rev_level; /* minor revision level */ +/*40*/ __le32 s_lastcheck; /* time of last check */ + __le32 s_checkinterval; /* max. time between checks */ + __le32 s_creator_os; /* OS */ + __le32 s_rev_level; /* Revision level */ +/*50*/ __le16 s_def_resuid; /* Default uid for reserved blocks */ + __le16 s_def_resgid; /* Default gid for reserved blocks */ /* * These fields are for EXT3_DYNAMIC_REV superblocks only. * @@ -413,36 +444,36 @@ struct ext3_super_block { * feature set, it must abort and not try to meddle with * things it doesn't understand... */ - __u32 s_first_ino; /* First non-reserved inode */ - __u16 s_inode_size; /* size of inode structure */ - __u16 s_block_group_nr; /* block group # of this superblock */ - __u32 s_feature_compat; /* compatible feature set */ -/*60*/ __u32 s_feature_incompat; /* incompatible feature set */ - __u32 s_feature_ro_compat; /* readonly-compatible feature set */ + __le32 s_first_ino; /* First non-reserved inode */ + __le16 s_inode_size; /* size of inode structure */ + __le16 s_block_group_nr; /* block group # of this superblock */ + __le32 s_feature_compat; /* compatible feature set */ +/*60*/ __le32 s_feature_incompat; /* incompatible feature set */ + __le32 s_feature_ro_compat; /* readonly-compatible feature set */ /*68*/ __u8 s_uuid[16]; /* 128-bit uuid for volume */ /*78*/ char s_volume_name[16]; /* volume name */ /*88*/ char s_last_mounted[64]; /* directory where last mounted */ -/*C8*/ __u32 s_algorithm_usage_bitmap; /* For compression */ +/*C8*/ __le32 s_algorithm_usage_bitmap; /* For compression */ /* * Performance hints. Directory preallocation should only * happen if the EXT3_FEATURE_COMPAT_DIR_PREALLOC flag is on. */ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ - __u16 s_padding1; + __u16 s_reserved_gdt_blocks; /* Per group desc for online growth */ /* * Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set. */ /*D0*/ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ -/*E0*/ __u32 s_journal_inum; /* inode number of journal file */ - __u32 s_journal_dev; /* device number of journal file */ - __u32 s_last_orphan; /* start of list of inodes to delete */ - __u32 s_hash_seed[4]; /* HTREE hash seed */ +/*E0*/ __le32 s_journal_inum; /* inode number of journal file */ + __le32 s_journal_dev; /* device number of journal file */ + __le32 s_last_orphan; /* start of list of inodes to delete */ + __le32 s_hash_seed[4]; /* HTREE hash seed */ __u8 s_def_hash_version; /* Default hash version to use */ __u8 s_reserved_char_pad; __u16 s_reserved_word_pad; - __u32 s_default_mount_opts; - __u32 s_first_meta_bg; /* First metablock block group */ + __le32 s_default_mount_opts; + __le32 s_first_meta_bg; /* First metablock block group */ __u32 s_reserved[190]; /* Padding to the end of the block */ }; @@ -557,9 +588,9 @@ static inline struct ext3_inode_info *EXT3_I(struct inode *inode) #define EXT3_NAME_LEN 255 struct ext3_dir_entry { - __u32 inode; /* Inode number */ - __u16 rec_len; /* Directory entry length */ - __u16 name_len; /* Name length */ + __le32 inode; /* Inode number */ + __le16 rec_len; /* Directory entry length */ + __le16 name_len; /* Name length */ char name[EXT3_NAME_LEN]; /* File name */ }; @@ -570,8 +601,8 @@ struct ext3_dir_entry { * file_type field. */ struct ext3_dir_entry_2 { - __u32 inode; /* Inode number */ - __u16 rec_len; /* Directory entry length */ + __le32 inode; /* Inode number */ + __le16 rec_len; /* Directory entry length */ __u8 name_len; /* Name length */ __u8 file_type; char name[EXT3_NAME_LEN]; /* File name */ @@ -692,16 +723,18 @@ struct dir_private_info { /* balloc.c */ extern int ext3_bg_has_super(struct super_block *sb, int group); extern unsigned long ext3_bg_num_gdb(struct super_block *sb, int group); -extern int ext3_new_block (handle_t *, struct inode *, unsigned long, - __u32 *, __u32 *, int *); +extern int ext3_new_block (handle_t *, struct inode *, unsigned long, int *); extern void ext3_free_blocks (handle_t *, struct inode *, unsigned long, unsigned long); +extern void ext3_free_blocks_sb (handle_t *, struct super_block *, + unsigned long, unsigned long, int *); extern unsigned long ext3_count_free_blocks (struct super_block *); extern void ext3_check_blocks_bitmap (struct super_block *); extern struct ext3_group_desc * ext3_get_group_desc(struct super_block * sb, unsigned int block_group, struct buffer_head ** bh); extern int ext3_should_retry_alloc(struct super_block *sb, int *retries); +extern void rsv_window_add(struct super_block *sb, struct reserve_window_node *rsv); /* dir.c */ extern int ext3_check_dir_entry(const char *, struct inode *, @@ -735,12 +768,12 @@ extern struct buffer_head * ext3_getblk (handle_t *, struct inode *, long, int, extern struct buffer_head * ext3_bread (handle_t *, struct inode *, int, int, int *); extern void ext3_read_inode (struct inode *); -extern void ext3_write_inode (struct inode *, int); +extern int ext3_write_inode (struct inode *, int); extern int ext3_setattr (struct dentry *, struct iattr *); extern void ext3_put_inode (struct inode *); extern void ext3_delete_inode (struct inode *); extern int ext3_sync_inode (handle_t *, struct inode *); -extern void ext3_discard_prealloc (struct inode *); +extern void ext3_discard_reservation (struct inode *); extern void ext3_dirty_inode(struct inode *); extern int ext3_change_inode_journal_flag(struct inode *, int); extern void ext3_truncate (struct inode *); @@ -757,6 +790,13 @@ extern int ext3_orphan_del(handle_t *, struct inode *); extern int ext3_htree_fill_tree(struct file *dir_file, __u32 start_hash, __u32 start_minor_hash, __u32 *next_hash); +/* resize.c */ +extern int ext3_group_add(struct super_block *sb, + struct ext3_new_group_data *input); +extern int ext3_group_extend(struct super_block *sb, + struct ext3_super_block *es, + unsigned long n_blocks_count); + /* super.c */ extern void ext3_error (struct super_block *, const char *, const char *, ...) __attribute__ ((format (printf, 3, 4))); diff --git a/include/linux/ext3_fs_i.h b/include/linux/ext3_fs_i.h index 7451cdcfb..c54963353 100644 --- a/include/linux/ext3_fs_i.h +++ b/include/linux/ext3_fs_i.h @@ -17,12 +17,30 @@ #define _LINUX_EXT3_FS_I #include +#include +#include + +struct reserve_window { + __u32 _rsv_start; /* First byte reserved */ + __u32 _rsv_end; /* Last byte reserved or 0 */ +}; + +struct reserve_window_node { + struct rb_node rsv_node; + atomic_t rsv_goal_size; + atomic_t rsv_alloc_hit; + seqlock_t rsv_seqlock; + struct reserve_window rsv_window; +}; + +#define rsv_start rsv_window._rsv_start +#define rsv_end rsv_window._rsv_end /* - * second extended file system inode data in memory + * third extended file system inode data in memory */ struct ext3_inode_info { - __u32 i_data[15]; + __le32 i_data[15]; /* unconverted */ __u32 i_flags; #ifdef EXT3_FRAGMENTS __u32 i_faddr; @@ -57,10 +75,9 @@ struct ext3_inode_info { * allocation when we detect linearly ascending requests. */ __u32 i_next_alloc_goal; -#ifdef EXT3_PREALLOCATE - __u32 i_prealloc_block; - __u32 i_prealloc_count; -#endif + /* block reservation window */ + struct reserve_window_node i_rsv_window; + __u32 i_dir_start_lookup; #ifdef CONFIG_EXT3_FS_XATTR /* diff --git a/include/linux/ext3_fs_sb.h b/include/linux/ext3_fs_sb.h index 8ed3cf7f4..5cff5c3fd 100644 --- a/include/linux/ext3_fs_sb.h +++ b/include/linux/ext3_fs_sb.h @@ -22,6 +22,7 @@ #include #include #endif +#include /* * third extended-fs super-block data in memory @@ -53,12 +54,16 @@ struct ext3_sb_info { u32 s_next_generation; u32 s_hash_seed[4]; int s_def_hash_version; - u8 *s_debts; struct percpu_counter s_freeblocks_counter; struct percpu_counter s_freeinodes_counter; struct percpu_counter s_dirs_counter; struct blockgroup_lock s_blockgroup_lock; + /* root of the per fs reservation window tree */ + spinlock_t s_rsv_window_lock; + struct rb_root s_rsv_window_root; + struct reserve_window_node s_rsv_window_head; + /* Journaling */ struct inode * s_journal_inode; struct journal_s * s_journal; diff --git a/include/linux/ext3_jbd.h b/include/linux/ext3_jbd.h index 7f8ebe737..3aa0c328c 100644 --- a/include/linux/ext3_jbd.h +++ b/include/linux/ext3_jbd.h @@ -138,10 +138,13 @@ ext3_journal_release_buffer(handle_t *handle, struct buffer_head *bh, journal_release_buffer(handle, bh, credits); } -static inline void -ext3_journal_forget(handle_t *handle, struct buffer_head *bh) +static inline int +__ext3_journal_forget(const char *where, handle_t *handle, struct buffer_head *bh) { - journal_forget(handle, bh); + int err = journal_forget(handle, bh); + if (err) + ext3_journal_abort_handle(where, __FUNCTION__, bh, handle,err); + return err; } static inline int @@ -187,10 +190,17 @@ __ext3_journal_dirty_metadata(const char *where, __ext3_journal_get_create_access(__FUNCTION__, (handle), (bh)) #define ext3_journal_dirty_metadata(handle, bh) \ __ext3_journal_dirty_metadata(__FUNCTION__, (handle), (bh)) +#define ext3_journal_forget(handle, bh) \ + __ext3_journal_forget(__FUNCTION__, (handle), (bh)) -handle_t *ext3_journal_start(struct inode *inode, int nblocks); +handle_t *ext3_journal_start_sb(struct super_block *sb, int nblocks); int __ext3_journal_stop(const char *where, handle_t *handle); +static inline handle_t *ext3_journal_start(struct inode *inode, int nblocks) +{ + return ext3_journal_start_sb(inode->i_sb, nblocks); +} + #define ext3_journal_stop(handle) \ __ext3_journal_stop(__FUNCTION__, (handle)) diff --git a/include/linux/fb.h b/include/linux/fb.h index 9186883fc..c38132231 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -158,6 +158,7 @@ struct fb_bitfield { #define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */ #define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */ #define FB_ACTIVATE_FORCE 128 /* force apply even when no change*/ +#define FB_ACTIVATE_INV_MODE 256 /* invalidate videomode */ #define FB_ACCELF_TEXT 1 /* (OBSOLETE) see fb_info.flags and vc_mode */ @@ -241,73 +242,6 @@ struct fb_con2fbmap { #define VESA_HSYNC_SUSPEND 2 #define VESA_POWERDOWN 3 -/* Definitions below are used in the parsed monitor specs */ -#define FB_DPMS_ACTIVE_OFF 1 -#define FB_DPMS_SUSPEND 2 -#define FB_DPMS_STANDBY 4 - -#define FB_DISP_DDI 1 -#define FB_DISP_ANA_700_300 2 -#define FB_DISP_ANA_714_286 4 -#define FB_DISP_ANA_1000_400 8 -#define FB_DISP_ANA_700_000 16 - -#define FB_DISP_MONO 32 -#define FB_DISP_RGB 64 -#define FB_DISP_MULTI 128 -#define FB_DISP_UNKNOWN 256 - -#define FB_SIGNAL_NONE 0 -#define FB_SIGNAL_BLANK_BLANK 1 -#define FB_SIGNAL_SEPARATE 2 -#define FB_SIGNAL_COMPOSITE 4 -#define FB_SIGNAL_SYNC_ON_GREEN 8 -#define FB_SIGNAL_SERRATION_ON 16 - -#define FB_MISC_PRIM_COLOR 1 -#define FB_MISC_1ST_DETAIL 2 /* First Detailed Timing is preferred */ - -struct fb_chroma { - __u32 redx; /* in fraction of 1024 */ - __u32 greenx; - __u32 bluex; - __u32 whitex; - __u32 redy; - __u32 greeny; - __u32 bluey; - __u32 whitey; -}; - -struct fb_monspecs { - struct fb_chroma chroma; - struct fb_videomode *modedb; /* mode database */ - __u8 manufacturer[4]; /* Manufacturer */ - __u8 monitor[14]; /* Monitor String */ - __u8 serial_no[14]; /* Serial Number */ - __u8 ascii[14]; /* ? */ - __u32 modedb_len; /* mode database length */ - __u32 model; /* Monitor Model */ - __u32 serial; /* Serial Number - Integer */ - __u32 year; /* Year manufactured */ - __u32 week; /* Week Manufactured */ - __u32 hfmin; /* hfreq lower limit (Hz) */ - __u32 hfmax; /* hfreq upper limit (Hz) */ - __u32 dclkmin; /* pixelclock lower limit (Hz) */ - __u32 dclkmax; /* pixelclock upper limit (Hz) */ - __u16 input; /* display type - see FB_DISP_* */ - __u16 dpms; /* DPMS support - see FB_DPMS_ */ - __u16 signal; /* Signal Type - see FB_SIGNAL_* */ - __u16 vfmin; /* vfreq lower limit (Hz) */ - __u16 vfmax; /* vfreq upper limit (Hz) */ - __u16 gamma; /* Gamma - in fractions of 100 */ - __u16 gtf : 1; /* supports GTF */ - __u16 misc; /* Misc flags - see FB_MISC_* */ - __u8 version; /* EDID version... */ - __u8 revision; /* ...and revision */ - __u8 max_x; /* Maximum horizontal size (cm) */ - __u8 max_y; /* Maximum vertical size (cm) */ -}; - #define FB_VBLANK_VBLANKING 0x001 /* currently in a vertical blank */ #define FB_VBLANK_HBLANKING 0x002 /* currently in a horizontal blank */ #define FB_VBLANK_HAVE_VBLANK 0x004 /* vertical blanks can be detected */ @@ -383,6 +317,8 @@ struct fb_cursor { const char *mask; /* cursor mask bits */ struct fbcurpos hot; /* cursor hot spot */ struct fb_image image; /* Cursor image */ +/* all fields below are for fbcon use only */ + char *data; /* copy of bitmap */ }; #ifdef __KERNEL__ @@ -394,6 +330,7 @@ struct fb_cursor { #include #include #include +#include #include struct vm_area_struct; @@ -401,6 +338,72 @@ struct fb_info; struct device; struct file; +/* Definitions below are used in the parsed monitor specs */ +#define FB_DPMS_ACTIVE_OFF 1 +#define FB_DPMS_SUSPEND 2 +#define FB_DPMS_STANDBY 4 + +#define FB_DISP_DDI 1 +#define FB_DISP_ANA_700_300 2 +#define FB_DISP_ANA_714_286 4 +#define FB_DISP_ANA_1000_400 8 +#define FB_DISP_ANA_700_000 16 + +#define FB_DISP_MONO 32 +#define FB_DISP_RGB 64 +#define FB_DISP_MULTI 128 +#define FB_DISP_UNKNOWN 256 + +#define FB_SIGNAL_NONE 0 +#define FB_SIGNAL_BLANK_BLANK 1 +#define FB_SIGNAL_SEPARATE 2 +#define FB_SIGNAL_COMPOSITE 4 +#define FB_SIGNAL_SYNC_ON_GREEN 8 +#define FB_SIGNAL_SERRATION_ON 16 + +#define FB_MISC_PRIM_COLOR 1 +#define FB_MISC_1ST_DETAIL 2 /* First Detailed Timing is preferred */ +struct fb_chroma { + __u32 redx; /* in fraction of 1024 */ + __u32 greenx; + __u32 bluex; + __u32 whitex; + __u32 redy; + __u32 greeny; + __u32 bluey; + __u32 whitey; +}; + +struct fb_monspecs { + struct fb_chroma chroma; + struct fb_videomode *modedb; /* mode database */ + __u8 manufacturer[4]; /* Manufacturer */ + __u8 monitor[14]; /* Monitor String */ + __u8 serial_no[14]; /* Serial Number */ + __u8 ascii[14]; /* ? */ + __u32 modedb_len; /* mode database length */ + __u32 model; /* Monitor Model */ + __u32 serial; /* Serial Number - Integer */ + __u32 year; /* Year manufactured */ + __u32 week; /* Week Manufactured */ + __u32 hfmin; /* hfreq lower limit (Hz) */ + __u32 hfmax; /* hfreq upper limit (Hz) */ + __u32 dclkmin; /* pixelclock lower limit (Hz) */ + __u32 dclkmax; /* pixelclock upper limit (Hz) */ + __u16 input; /* display type - see FB_DISP_* */ + __u16 dpms; /* DPMS support - see FB_DPMS_ */ + __u16 signal; /* Signal Type - see FB_SIGNAL_* */ + __u16 vfmin; /* vfreq lower limit (Hz) */ + __u16 vfmax; /* vfreq upper limit (Hz) */ + __u16 gamma; /* Gamma - in fractions of 100 */ + __u16 gtf : 1; /* supports GTF */ + __u16 misc; /* Misc flags - see FB_MISC_* */ + __u8 version; /* EDID version... */ + __u8 revision; /* ...and revision */ + __u8 max_x; /* Maximum horizontal size (cm) */ + __u8 max_y; /* Maximum vertical size (cm) */ +}; + struct fb_cmap_user { __u32 start; /* First entry */ __u32 len; /* Number of entries */ @@ -445,6 +448,21 @@ struct fb_cursor_user { * if you own it */ #define FB_EVENT_RESUME 0x03 +/* An entry from the modelist was removed */ +#define FB_EVENT_MODE_DELETE 0x04 +/* A driver registered itself */ +#define FB_EVENT_FB_REGISTERED 0x05 +/* get console to framebuffer mapping */ +#define FB_EVENT_GET_CONSOLE_MAP 0x06 +/* set console to framebuffer mapping */ +#define FB_EVENT_SET_CONSOLE_MAP 0x07 + + +struct fb_event { + struct fb_info *info; + void *data; +}; + extern int fb_register_client(struct notifier_block *nb); extern int fb_unregister_client(struct notifier_block *nb); @@ -581,8 +599,10 @@ struct fb_info { struct fb_pixmap pixmap; /* Image hardware mapper */ struct fb_pixmap sprite; /* Cursor hardware mapper */ struct fb_cmap cmap; /* Current cmap */ + struct list_head modelist; /* mode list */ struct fb_ops *fbops; - char *screen_base; /* Virtual address */ + char __iomem *screen_base; /* Virtual address */ + unsigned long screen_size; /* Amount of ioremapped VRAM or 0 */ int currcon; /* Current VC. */ void *pseudo_palette; /* Fake palette of 16 colors */ #define FBINFO_STATE_RUNNING 0 @@ -687,6 +707,8 @@ extern void fb_sysmove_buf_aligned(struct fb_info *info, struct fb_pixmap *buf, u32 height); extern void fb_load_cursor_image(struct fb_info *); extern void fb_set_suspend(struct fb_info *info, int state); +extern int fb_get_color_depth(struct fb_info *info); +extern int fb_get_options(char *name, char **option); extern struct fb_info *registered_fb[FB_MAX]; extern int num_registered_fb; @@ -708,6 +730,7 @@ extern void framebuffer_release(struct fb_info *info); #define FB_MODE_IS_VESA 4 #define FB_MODE_IS_CALCULATED 8 #define FB_MODE_IS_FIRST 16 +#define FB_MODE_IS_FROM_VAR 32 extern int fbmon_valid_timings(u_int pixclock, u_int htotal, u_int vtotal, const struct fb_info *fb_info); @@ -726,6 +749,22 @@ extern void fb_destroy_modedb(struct fb_videomode *modedb); /* drivers/video/modedb.c */ #define VESA_MODEDB_SIZE 34 extern const struct fb_videomode vesa_modes[]; +extern void fb_var_to_videomode(struct fb_videomode *mode, + struct fb_var_screeninfo *var); +extern void fb_videomode_to_var(struct fb_var_screeninfo *var, + struct fb_videomode *mode); +extern int fb_mode_is_equal(struct fb_videomode *mode1, + struct fb_videomode *mode2); +extern int fb_add_videomode(struct fb_videomode *mode, struct list_head *head); +extern void fb_delete_videomode(struct fb_videomode *mode, + struct list_head *head); +extern struct fb_videomode *fb_match_mode(struct fb_var_screeninfo *var, + struct list_head *head); +extern struct fb_videomode *fb_find_best_mode(struct fb_var_screeninfo *var, + struct list_head *head); +extern void fb_destroy_modelist(struct list_head *head); +extern void fb_videomode_to_modelist(struct fb_videomode *modedb, int num, + struct list_head *head); /* drivers/video/fbcmap.c */ extern int fb_alloc_cmap(struct fb_cmap *cmap, int len, int transp); @@ -754,6 +793,11 @@ struct fb_videomode { u32 flag; }; +struct fb_modelist { + struct list_head list; + struct fb_videomode mode; +}; + extern int fb_find_mode(struct fb_var_screeninfo *var, struct fb_info *info, const char *mode_option, const struct fb_videomode *db, diff --git a/include/linux/fs.h b/include/linux/fs.h index 11067b72d..89adbabf5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -89,6 +89,7 @@ extern int leases_enable, dir_notify_enable, lease_break_time; #define SPECIAL 4 /* For non-blockdevice requests in request queue */ #define READ_SYNC (READ | (1 << BIO_RW_SYNC)) #define WRITE_SYNC (WRITE | (1 << BIO_RW_SYNC)) +#define WRITE_BARRIER ((1 << BIO_RW) | (1 << BIO_RW_BARRIER)) #define SEL_IN 1 #define SEL_OUT 2 @@ -120,7 +121,7 @@ extern int leases_enable, dir_notify_enable, lease_break_time; #define MS_VERBOSE 32768 #define MS_POSIXACL (1<<16) /* VFS does not apply the umask */ #define MS_ONE_SECOND (1<<17) /* fs has 1 sec a/m/ctime resolution */ -#define MS_TAGXID (1<<24) /* tag inodes with context information */ +#define MS_TAGXID (1<<24) /* tag inodes with context information */ #define MS_ACTIVE (1<<30) #define MS_NOUSER (1<<31) @@ -346,14 +347,14 @@ struct address_space { struct inode *host; /* owner: inode, block_device */ struct radix_tree_root page_tree; /* radix tree of all pages */ spinlock_t tree_lock; /* and spinlock protecting it */ - unsigned long nrpages; /* number of total pages */ - pgoff_t writeback_index;/* writeback starts here */ - struct address_space_operations *a_ops; /* methods */ - struct prio_tree_root i_mmap; /* tree of private mappings */ unsigned int i_mmap_writable;/* count VM_SHARED mappings */ + struct prio_tree_root i_mmap; /* tree of private and shared mappings */ struct list_head i_mmap_nonlinear;/*list VM_NONLINEAR mappings */ spinlock_t i_mmap_lock; /* protect tree, count, list */ atomic_t truncate_count; /* Cover race condition with truncate */ + unsigned long nrpages; /* number of total pages */ + pgoff_t writeback_index;/* writeback starts here */ + struct address_space_operations *a_ops; /* methods */ unsigned long flags; /* error bits/gfp mask */ struct backing_dev_info *backing_dev_info; /* device readahead, etc */ spinlock_t private_lock; /* for use by the address_space */ @@ -449,6 +450,7 @@ struct inode { unsigned long i_version; unsigned long i_blocks; unsigned short i_bytes; + unsigned char i_sock; spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ struct semaphore i_sem; struct rw_semaphore i_alloc_sem; @@ -468,6 +470,8 @@ struct inode { struct cdev *i_cdev; int i_cindex; + __u32 i_generation; + unsigned long i_dnotify_mask; /* Directory notify events */ struct dnotify_struct *i_dnotify; /* for directory notifications */ @@ -475,11 +479,9 @@ struct inode { unsigned long dirtied_when; /* jiffies of first dirtying */ unsigned int i_flags; - unsigned char i_sock; atomic_t i_writecount; void *i_security; - __u32 i_generation; union { void *generic_ip; } u; @@ -567,8 +569,8 @@ struct file_ra_state { unsigned long prev_page; /* Cache last read() position */ unsigned long ahead_start; /* Ahead window */ unsigned long ahead_size; - unsigned long serial_cnt; /* measure of sequentiality */ - unsigned long average; /* another measure of sequentiality */ + unsigned long currnt_wnd_hit; /* locality in the current window */ + unsigned long average; /* size of next current window */ unsigned long ra_pages; /* Maximum readahead window */ unsigned long mmap_hit; /* Cache hit stat for mmap accesses */ unsigned long mmap_miss; /* Cache miss stat for mmap accesses */ @@ -588,6 +590,8 @@ struct file { unsigned int f_uid, f_gid; struct file_ra_state f_ra; + xid_t f_xid; + unsigned long f_version; void *f_security; @@ -608,11 +612,6 @@ extern spinlock_t files_lock; #define get_file(x) atomic_inc(&(x)->f_count) #define file_count(x) atomic_read(&(x)->f_count) -/* Initialize and open a private file and allocate its security structure. */ -extern int open_private_file(struct file *, struct dentry *, int); -/* Release a private file and free its security structure. */ -extern void close_private_file(struct file *file); - #define MAX_NON_LFS ((1UL<<31) - 1) /* Page cache limit. The filesystems should put that into their s_maxbytes @@ -639,6 +638,18 @@ extern void close_private_file(struct file *file); */ typedef struct files_struct *fl_owner_t; +struct file_lock_operations { + void (*fl_insert)(struct file_lock *); /* lock insertion callback */ + void (*fl_remove)(struct file_lock *); /* lock removal callback */ + void (*fl_copy_lock)(struct file_lock *, struct file_lock *); + void (*fl_release_private)(struct file_lock *); +}; + +struct lock_manager_operations { + int (*fl_compare_owner)(struct file_lock *, struct file_lock *); + void (*fl_notify)(struct file_lock *); /* unblock callback */ +}; + /* that will die - we need it for nfs_lock_info */ #include @@ -655,13 +666,11 @@ struct file_lock { loff_t fl_start; loff_t fl_end; - void (*fl_notify)(struct file_lock *); /* unblock callback */ - void (*fl_insert)(struct file_lock *); /* lock insertion callback */ - void (*fl_remove)(struct file_lock *); /* lock removal callback */ - struct fasync_struct * fl_fasync; /* for lease break notifications */ unsigned long fl_break_time; /* for nonblocking lease breaks */ + struct file_lock_operations *fl_ops; /* Callbacks for filesystems */ + struct lock_manager_operations *fl_lmops; /* Callbacks for lockmanagers */ union { struct nfs_lock_info nfs_fl; } fl_u; @@ -697,9 +706,11 @@ extern void locks_remove_posix(struct file *, fl_owner_t); extern void locks_remove_flock(struct file *); extern struct file_lock *posix_test_lock(struct file *, struct file_lock *); extern int posix_lock_file(struct file *, struct file_lock *); +extern int posix_lock_file_wait(struct file *, struct file_lock *); extern void posix_block_lock(struct file_lock *, struct file_lock *); extern void posix_unblock_lock(struct file *, struct file_lock *); extern int posix_locks_deadlock(struct file_lock *, struct file_lock *); +extern int flock_lock_file_wait(struct file *filp, struct file_lock *fl); extern int __break_lease(struct inode *inode, unsigned int flags); extern void lease_get_mtime(struct inode *, struct timespec *time); extern int lock_may_read(struct inode *, loff_t start, unsigned long count); @@ -762,6 +773,7 @@ struct super_block { int s_need_sync_fs; atomic_t s_active; void *s_security; + struct xattr_handler **s_xattr; struct list_head s_dirty; /* dirty inodes */ struct list_head s_io; /* parked for writeback */ @@ -823,6 +835,11 @@ extern int vfs_rmdir(struct inode *, struct dentry *); extern int vfs_unlink(struct inode *, struct dentry *); extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *); +/* + * VFS dentry helper functions. + */ +extern void dentry_unhash(struct dentry *dentry); + /* * File types * @@ -839,6 +856,11 @@ extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct de #define DT_SOCK 12 #define DT_WHT 14 +#define OSYNC_METADATA (1<<0) +#define OSYNC_DATA (1<<1) +#define OSYNC_INODE (1<<2) +int generic_osync_inode(struct inode *, struct address_space *, int); + /* * This is the "filldir" function type, used by readdir() to let * the kernel specify what kind of dirent layout it wants to have. @@ -907,6 +929,7 @@ struct file_operations { unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); int (*check_flags)(int); int (*dir_notify)(struct file *filp, unsigned long arg); + int (*flock) (struct file *, int, struct file_lock *); }; struct inode_operations { @@ -953,7 +976,7 @@ struct super_operations { void (*read_inode) (struct inode *); void (*dirty_inode) (struct inode *); - void (*write_inode) (struct inode *, int); + int (*write_inode) (struct inode *, int); void (*put_inode) (struct inode *); void (*drop_inode) (struct inode *); void (*delete_inode) (struct inode *); @@ -1150,6 +1173,7 @@ struct super_block *sget(struct file_system_type *type, struct super_block *get_sb_pseudo(struct file_system_type *, char *, struct super_operations *ops, unsigned long); int __put_super(struct super_block *sb); +int __put_super_and_need_restart(struct super_block *sb); void unnamed_dev_init(void); /* Alas, no aliases. Too much hassle with bringing module.h everywhere */ @@ -1254,7 +1278,6 @@ extern struct block_device *bdget(dev_t); extern void bd_set_size(struct block_device *, loff_t size); extern void bd_forget(struct inode *inode); extern void bdput(struct block_device *); -extern int blkdev_open(struct inode *, struct file *); extern struct block_device *open_by_devnum(dev_t, unsigned); extern struct file_operations def_blk_fops; extern struct address_space_operations def_blk_aops; @@ -1432,7 +1455,11 @@ extern ssize_t generic_file_aio_read(struct kiocb *, char __user *, size_t, loff extern ssize_t __generic_file_aio_read(struct kiocb *, const struct iovec *, unsigned long, loff_t *); extern ssize_t generic_file_aio_write(struct kiocb *, const char __user *, size_t, loff_t); extern ssize_t generic_file_aio_write_nolock(struct kiocb *, const struct iovec *, - unsigned long, loff_t *); + unsigned long, loff_t *); +extern ssize_t generic_file_direct_write(struct kiocb *, const struct iovec *, + unsigned long *, loff_t, loff_t *, size_t, size_t); +extern ssize_t generic_file_buffered_write(struct kiocb *, const struct iovec *, + unsigned long, loff_t, loff_t *, size_t, ssize_t); extern ssize_t do_sync_read(struct file *filp, char __user *buf, size_t len, loff_t *ppos); extern ssize_t do_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos); ssize_t generic_file_write_nolock(struct file *file, const struct iovec *iov, @@ -1471,18 +1498,21 @@ static inline void do_generic_file_read(struct file * filp, loff_t *ppos, ssize_t __blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, struct block_device *bdev, const struct iovec *iov, loff_t offset, unsigned long nr_segs, get_blocks_t get_blocks, dio_iodone_t end_io, - int needs_special_locking); + int lock_type); + +enum { + DIO_LOCKING = 1, /* need locking between buffered and direct access */ + DIO_NO_LOCKING, /* bdev; no locking at all between buffered/direct */ + DIO_OWN_LOCKING, /* filesystem locks buffered and direct internally */ +}; -/* - * For filesystems which need locking between buffered and direct access - */ static inline ssize_t blockdev_direct_IO(int rw, struct kiocb *iocb, struct inode *inode, struct block_device *bdev, const struct iovec *iov, loff_t offset, unsigned long nr_segs, get_blocks_t get_blocks, dio_iodone_t end_io) { return __blockdev_direct_IO(rw, iocb, inode, bdev, iov, offset, - nr_segs, get_blocks, end_io, 1); + nr_segs, get_blocks, end_io, DIO_LOCKING); } static inline ssize_t blockdev_direct_IO_no_locking(int rw, struct kiocb *iocb, @@ -1491,7 +1521,16 @@ static inline ssize_t blockdev_direct_IO_no_locking(int rw, struct kiocb *iocb, dio_iodone_t end_io) { return __blockdev_direct_IO(rw, iocb, inode, bdev, iov, offset, - nr_segs, get_blocks, end_io, 0); + nr_segs, get_blocks, end_io, DIO_NO_LOCKING); +} + +static inline ssize_t blockdev_direct_IO_own_locking(int rw, struct kiocb *iocb, + struct inode *inode, struct block_device *bdev, const struct iovec *iov, + loff_t offset, unsigned long nr_segs, get_blocks_t get_blocks, + dio_iodone_t end_io) +{ + return __blockdev_direct_IO(rw, iocb, inode, bdev, iov, offset, + nr_segs, get_blocks, end_io, DIO_OWN_LOCKING); } extern struct file_operations generic_ro_fops; @@ -1501,7 +1540,6 @@ extern struct file_operations generic_ro_fops; extern int vfs_readlink(struct dentry *, char __user *, int, const char *); extern int vfs_follow_link(struct nameidata *, const char *); extern int page_readlink(struct dentry *, char __user *, int); -extern int page_follow_link(struct dentry *, struct nameidata *); extern int page_follow_link_light(struct dentry *, struct nameidata *); extern void page_put_link(struct dentry *, struct nameidata *); extern int page_symlink(struct inode *inode, const char *symname, int len); @@ -1572,6 +1610,39 @@ static inline ino_t parent_ino(struct dentry *dentry) /* kernel/fork.c */ extern int unshare_files(void); +/* Transaction based IO helpers */ + +/* + * An argresp is stored in an allocated page and holds the + * size of the argument or response, along with its content + */ +struct simple_transaction_argresp { + ssize_t size; + char data[0]; +}; + +#define SIMPLE_TRANSACTION_LIMIT (PAGE_SIZE - sizeof(struct simple_transaction_argresp)) + +char *simple_transaction_get(struct file *file, const char __user *buf, + size_t size); +ssize_t simple_transaction_read(struct file *file, char __user *buf, + size_t size, loff_t *pos); +int simple_transaction_release(struct inode *inode, struct file *file); + +static inline void simple_transaction_set(struct file *file, size_t n) +{ + struct simple_transaction_argresp *ar = file->private_data; + + BUG_ON(n > SIMPLE_TRANSACTION_LIMIT); + + /* + * The barrier ensures that ar->size will really remain zero until + * ar->data is ready for reading. + */ + smp_mb(); + ar->size = n; +} + #ifdef CONFIG_SECURITY static inline char *alloc_secdata(void) { diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 6026cfd2b..fbcabf701 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -78,7 +78,7 @@ struct vm_area_struct; static inline void arch_free_page(struct page *page, int order) { } #endif -extern struct page * +extern struct page * FASTCALL(__alloc_pages(unsigned int, unsigned int, struct zonelist *)); static inline struct page * alloc_pages_node(int nid, unsigned int gfp_mask, unsigned int order) diff --git a/include/linux/highmem.h b/include/linux/highmem.h index e334a5fdd..7153aef34 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -28,10 +28,9 @@ static inline void *kmap(struct page *page) #define kunmap(page) do { (void) (page); } while (0) -#define kmap_atomic(page, idx) page_address(page) -#define kmap_atomic_nocache_pfn(pfn, idx) pfn_to_kaddr(pfn) -#define kunmap_atomic(addr, idx) do { } while (0) -#define kmap_atomic_to_page(ptr) virt_to_page(ptr) +#define kmap_atomic(page, idx) page_address(page) +#define kunmap_atomic(addr, idx) do { } while (0) +#define kmap_atomic_to_page(ptr) virt_to_page(ptr) #endif /* CONFIG_HIGHMEM */ @@ -41,6 +40,8 @@ static inline void clear_user_highpage(struct page *page, unsigned long vaddr) void *addr = kmap_atomic(page, KM_USER0); clear_user_page(addr, vaddr, page); kunmap_atomic(addr, KM_USER0); + /* Make sure this page is cleared on other CPU's too before using it */ + smp_wmb(); } static inline void clear_highpage(struct page *page) @@ -74,6 +75,8 @@ static inline void copy_user_highpage(struct page *to, struct page *from, unsign copy_user_page(vto, vfrom, vaddr, to); kunmap_atomic(vfrom, KM_USER0); kunmap_atomic(vto, KM_USER1); + /* Make sure this page is cleared on other CPU's too before using it */ + smp_wmb(); } static inline void copy_highpage(struct page *to, struct page *from) diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 7a5de3449..954af9d82 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h @@ -33,6 +33,7 @@ void free_huge_page(struct page *); extern unsigned long max_huge_pages; extern const unsigned long hugetlb_zero, hugetlb_infinity; +extern int sysctl_hugetlb_shm_group; #ifndef ARCH_HAS_HUGEPAGE_ONLY_RANGE #define is_hugepage_only_range(addr, len) 0 diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index 520fe7220..c75219a37 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h @@ -194,6 +194,7 @@ #define I2C_ALGO_OCP 0x120000 /* IBM or otherwise On-chip I2C algorithm */ #define I2C_ALGO_BITHS 0x130000 /* enhanced bit style adapters */ #define I2C_ALGO_OCP_IOP3XX 0x140000 /* XSCALE IOP3XX On-chip I2C alg */ +#define I2C_ALGO_PCA 0x150000 /* PCA 9564 style adapters */ #define I2C_ALGO_EXP 0x800000 /* experimental */ @@ -239,6 +240,9 @@ #define I2C_HW_P_ISA 0x01 /* generic ISA Bus inteface card */ #define I2C_HW_P_ELEK 0x02 /* Elektor ISA Bus inteface card */ +/* --- PCA 9564 based algorithms */ +#define I2C_HW_A_ISA 0x00 /* generic ISA Bus interface card */ + /* --- ACPI Embedded controller algorithms */ #define I2C_HW_ACPI_EC 0x00 diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 0c3cf0e2f..caac24868 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -566,7 +566,9 @@ union i2c_smbus_data { #define I2C_CLIENT_MODULE_PARM(var,desc) \ static unsigned short var[I2C_CLIENT_MAX_OPTS] = I2C_CLIENT_DEFAULTS; \ - MODULE_PARM(var,I2C_CLIENT_MODPARM); \ + static unsigned int var##_num; \ + /*MODULE_PARM(var,I2C_CLIENT_MODPARM);*/ \ + module_param_array(var, short, var##_num, 0); \ MODULE_PARM_DESC(var,desc) /* This is the one you want to use in your own modules */ diff --git a/include/linux/i2o-dev.h b/include/linux/i2o-dev.h index 9ef82bf1a..ef7f644dd 100644 --- a/include/linux/i2o-dev.h +++ b/include/linux/i2o-dev.h @@ -1,13 +1,13 @@ /* * I2O user space accessible structures/APIs - * + * * (c) Copyright 1999, 2000 Red Hat Software * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + * ************************************************************************* * * This header file defines the I2O APIs that are available to both @@ -23,7 +23,7 @@ /* How many controllers are we allowing */ #define MAX_I2O_CONTROLLERS 32 -#include +//#include /* * I2O Control IOCTLs and structures @@ -42,22 +42,25 @@ #define I2OEVTREG _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id) #define I2OEVTGET _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info) #define I2OPASSTHRU _IOR(I2O_MAGIC_NUMBER,12,struct i2o_cmd_passthru) +#define I2OPASSTHRU32 _IOR(I2O_MAGIC_NUMBER,12,struct i2o_cmd_passthru32) + +struct i2o_cmd_passthru32 { + unsigned int iop; /* IOP unit number */ + u32 msg; /* message */ +}; -struct i2o_cmd_passthru -{ +struct i2o_cmd_passthru { unsigned int iop; /* IOP unit number */ void __user *msg; /* message */ }; -struct i2o_cmd_hrtlct -{ +struct i2o_cmd_hrtlct { unsigned int iop; /* IOP unit number */ void __user *resbuf; /* Buffer for result */ unsigned int __user *reslen; /* Buffer length in bytes */ }; -struct i2o_cmd_psetget -{ +struct i2o_cmd_psetget { unsigned int iop; /* IOP unit number */ unsigned int tid; /* Target device TID */ void __user *opbuf; /* Operation List buffer */ @@ -66,8 +69,7 @@ struct i2o_cmd_psetget unsigned int __user *reslen; /* Result List buffer length in bytes */ }; -struct i2o_sw_xfer -{ +struct i2o_sw_xfer { unsigned int iop; /* IOP unit number */ unsigned char flags; /* Flags field */ unsigned char sw_type; /* Software type */ @@ -78,21 +80,19 @@ struct i2o_sw_xfer unsigned int __user *curfrag; /* Current fragment count */ }; -struct i2o_html -{ +struct i2o_html { unsigned int iop; /* IOP unit number */ unsigned int tid; /* Target device ID */ unsigned int page; /* HTML page */ - void __user *resbuf; /* Buffer for reply HTML page */ + void __user *resbuf; /* Buffer for reply HTML page */ unsigned int __user *reslen; /* Length in bytes of reply buffer */ - void __user *qbuf; /* Pointer to HTTP query string */ + void __user *qbuf; /* Pointer to HTTP query string */ unsigned int qlen; /* Length in bytes of query string buffer */ }; #define I2O_EVT_Q_LEN 32 -struct i2o_evt_id -{ +struct i2o_evt_id { unsigned int iop; unsigned int tid; unsigned int evt_mask; @@ -101,21 +101,18 @@ struct i2o_evt_id /* Event data size = frame size - message header + evt indicator */ #define I2O_EVT_DATA_SIZE 88 -struct i2o_evt_info -{ +struct i2o_evt_info { struct i2o_evt_id id; unsigned char evt_data[I2O_EVT_DATA_SIZE]; unsigned int data_size; }; -struct i2o_evt_get -{ +struct i2o_evt_get { struct i2o_evt_info info; int pending; int lost; }; - /************************************************************************** * HRT related constants and structures **************************************************************************/ @@ -135,139 +132,127 @@ typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; -#endif /* __KERNEL__ */ +#endif /* __KERNEL__ */ -typedef struct _i2o_pci_bus -{ - u8 PciFunctionNumber; - u8 PciDeviceNumber; - u8 PciBusNumber; - u8 reserved; - u16 PciVendorID; - u16 PciDeviceID; +typedef struct _i2o_pci_bus { + u8 PciFunctionNumber; + u8 PciDeviceNumber; + u8 PciBusNumber; + u8 reserved; + u16 PciVendorID; + u16 PciDeviceID; } i2o_pci_bus; -typedef struct _i2o_local_bus -{ - u16 LbBaseIOPort; - u16 reserved; - u32 LbBaseMemoryAddress; +typedef struct _i2o_local_bus { + u16 LbBaseIOPort; + u16 reserved; + u32 LbBaseMemoryAddress; } i2o_local_bus; -typedef struct _i2o_isa_bus -{ - u16 IsaBaseIOPort; - u8 CSN; - u8 reserved; - u32 IsaBaseMemoryAddress; +typedef struct _i2o_isa_bus { + u16 IsaBaseIOPort; + u8 CSN; + u8 reserved; + u32 IsaBaseMemoryAddress; } i2o_isa_bus; -typedef struct _i2o_eisa_bus_info -{ - u16 EisaBaseIOPort; - u8 reserved; - u8 EisaSlotNumber; - u32 EisaBaseMemoryAddress; +typedef struct _i2o_eisa_bus_info { + u16 EisaBaseIOPort; + u8 reserved; + u8 EisaSlotNumber; + u32 EisaBaseMemoryAddress; } i2o_eisa_bus; -typedef struct _i2o_mca_bus -{ - u16 McaBaseIOPort; - u8 reserved; - u8 McaSlotNumber; - u32 McaBaseMemoryAddress; +typedef struct _i2o_mca_bus { + u16 McaBaseIOPort; + u8 reserved; + u8 McaSlotNumber; + u32 McaBaseMemoryAddress; } i2o_mca_bus; -typedef struct _i2o_other_bus -{ +typedef struct _i2o_other_bus { u16 BaseIOPort; u16 reserved; u32 BaseMemoryAddress; } i2o_other_bus; -typedef struct _i2o_hrt_entry -{ - u32 adapter_id; - u32 parent_tid:12; - u32 state:4; - u32 bus_num:8; - u32 bus_type:8; - union - { - i2o_pci_bus pci_bus; - i2o_local_bus local_bus; - i2o_isa_bus isa_bus; - i2o_eisa_bus eisa_bus; - i2o_mca_bus mca_bus; - i2o_other_bus other_bus; +typedef struct _i2o_hrt_entry { + u32 adapter_id; + u32 parent_tid:12; + u32 state:4; + u32 bus_num:8; + u32 bus_type:8; + union { + i2o_pci_bus pci_bus; + i2o_local_bus local_bus; + i2o_isa_bus isa_bus; + i2o_eisa_bus eisa_bus; + i2o_mca_bus mca_bus; + i2o_other_bus other_bus; } bus; } i2o_hrt_entry; -typedef struct _i2o_hrt -{ - u16 num_entries; - u8 entry_len; - u8 hrt_version; - u32 change_ind; +typedef struct _i2o_hrt { + u16 num_entries; + u8 entry_len; + u8 hrt_version; + u32 change_ind; i2o_hrt_entry hrt_entry[1]; } i2o_hrt; -typedef struct _i2o_lct_entry -{ - u32 entry_size:16; - u32 tid:12; - u32 reserved:4; - u32 change_ind; - u32 device_flags; - u32 class_id:12; - u32 version:4; - u32 vendor_id:16; - u32 sub_class; - u32 user_tid:12; - u32 parent_tid:12; - u32 bios_info:8; - u8 identity_tag[8]; - u32 event_capabilities; +typedef struct _i2o_lct_entry { + u32 entry_size:16; + u32 tid:12; + u32 reserved:4; + u32 change_ind; + u32 device_flags; + u32 class_id:12; + u32 version:4; + u32 vendor_id:16; + u32 sub_class; + u32 user_tid:12; + u32 parent_tid:12; + u32 bios_info:8; + u8 identity_tag[8]; + u32 event_capabilities; } i2o_lct_entry; -typedef struct _i2o_lct -{ - u32 table_size:16; - u32 boot_tid:12; - u32 lct_ver:4; - u32 iop_flags; - u32 change_ind; +typedef struct _i2o_lct { + u32 table_size:16; + u32 boot_tid:12; + u32 lct_ver:4; + u32 iop_flags; + u32 change_ind; i2o_lct_entry lct_entry[1]; } i2o_lct; -typedef struct _i2o_status_block -{ - u16 org_id; - u16 reserved; - u16 iop_id:12; - u16 reserved1:4; - u16 host_unit_id; - u16 segment_number:12; - u16 i2o_version:4; - u8 iop_state; - u8 msg_type; - u16 inbound_frame_size; - u8 init_code; - u8 reserved2; - u32 max_inbound_frames; - u32 cur_inbound_frames; - u32 max_outbound_frames; - char product_id[24]; - u32 expected_lct_size; - u32 iop_capabilities; - u32 desired_mem_size; - u32 current_mem_size; - u32 current_mem_base; - u32 desired_io_size; - u32 current_io_size; - u32 current_io_base; - u32 reserved3:24; - u32 cmd_status:8; +typedef struct _i2o_status_block { + u16 org_id; + u16 reserved; + u16 iop_id:12; + u16 reserved1:4; + u16 host_unit_id; + u16 segment_number:12; + u16 i2o_version:4; + u8 iop_state; + u8 msg_type; + u16 inbound_frame_size; + u8 init_code; + u8 reserved2; + u32 max_inbound_frames; + u32 cur_inbound_frames; + u32 max_outbound_frames; + char product_id[24]; + u32 expected_lct_size; + u32 iop_capabilities; + u32 desired_mem_size; + u32 current_mem_size; + u32 current_mem_base; + u32 desired_io_size; + u32 current_io_size; + u32 current_io_base; + u32 reserved3:24; + u32 cmd_status:8; } i2o_status_block; /* Event indicator mask flags */ @@ -351,14 +336,15 @@ typedef struct _i2o_status_block #define I2O_CLASS_BUS_ADAPTER_PORT 0x080 #define I2O_CLASS_PEER_TRANSPORT_AGENT 0x090 #define I2O_CLASS_PEER_TRANSPORT 0x091 +#define I2O_CLASS_END 0xfff -/* +/* * Rest of 0x092 - 0x09f reserved for peer-to-peer classes */ #define I2O_CLASS_MATCH_ANYCLASS 0xffffffff -/* +/* * Subclasses */ @@ -380,7 +366,7 @@ typedef struct _i2o_status_block #define I2O_PARAMS_TABLE_CLEAR 0x000A /* - * I2O serial number conventions / formats + * I2O serial number conventions / formats * (circa v1.5) */ @@ -391,7 +377,7 @@ typedef struct _i2o_status_block #define I2O_SNFORMAT_LAN48_MAC 4 #define I2O_SNFORMAT_WAN 5 -/* +/* * Plus new in v2.0 (Yellowstone pdf doc) */ @@ -402,7 +388,7 @@ typedef struct _i2o_status_block #define I2O_SNFORMAT_UNKNOWN2 0xff /* - * I2O Get Status State values + * I2O Get Status State values */ #define ADAPTER_STATE_INITIALIZING 0x01 @@ -413,4 +399,4 @@ typedef struct _i2o_status_block #define ADAPTER_STATE_FAILED 0x10 #define ADAPTER_STATE_FAULTED 0x11 -#endif /* _I2O_DEV_H */ +#endif /* _I2O_DEV_H */ diff --git a/include/linux/i2o.h b/include/linux/i2o.h index 9104dd403..a68437640 100644 --- a/include/linux/i2o.h +++ b/include/linux/i2o.h @@ -1,16 +1,16 @@ /* * I2O kernel space accessible structures/APIs - * + * * (c) Copyright 1999, 2000 Red Hat Software * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + * ************************************************************************* * - * This header file defined the I2O APIs/structures for use by + * This header file defined the I2O APIs/structures for use by * the I2O kernel modules. * */ @@ -18,309 +18,586 @@ #ifndef _I2O_H #define _I2O_H -#ifdef __KERNEL__ /* This file to be included by kernel only */ +#ifdef __KERNEL__ /* This file to be included by kernel only */ #include /* How many different OSM's are we allowing */ -#define MAX_I2O_MODULES 4 - -/* How many OSMs can register themselves for device status updates? */ -#define I2O_MAX_MANAGERS 4 +#define I2O_MAX_DRIVERS 4 +#include #include /* Needed for MUTEX init macros */ -#include -#include -#include +#include +#include + +/* message queue empty */ +#define I2O_QUEUE_EMPTY 0xffffffff /* * Message structures */ -struct i2o_message -{ - u8 version_offset; - u8 flags; - u16 size; - u32 target_tid:12; - u32 init_tid:12; - u32 function:8; - u32 initiator_context; +struct i2o_message { + union { + struct { + u8 version_offset; + u8 flags; + u16 size; + u32 target_tid:12; + u32 init_tid:12; + u32 function:8; + u32 icntxt; /* initiator context */ + u32 tcntxt; /* transaction context */ + } s; + u32 head[4]; + } u; /* List follows */ + u32 body[0]; }; /* - * Each I2O device entity has one or more of these. There is one - * per device. + * Each I2O device entity has one of these. There is one per device. */ -struct i2o_device -{ - i2o_lct_entry lct_data; /* Device LCT information */ - u32 flags; - int i2oversion; /* I2O version supported. Actually - * there should be high and low - * version */ +struct i2o_device { + i2o_lct_entry lct_data; /* Device LCT information */ - struct proc_dir_entry *proc_entry; /* /proc dir */ + struct i2o_controller *iop; /* Controlling IOP */ + struct list_head list; /* node in IOP devices list */ + + struct device device; + + struct semaphore lock; /* device lock */ + + struct class_device classdev; /* i2o device class */ +}; + +/* + * Event structure provided to the event handling function + */ +struct i2o_event { + struct work_struct work; + struct i2o_device *i2o_dev; /* I2O device pointer from which the + event reply was initiated */ + u16 size; /* Size of data in 32-bit words */ + u32 tcntxt; /* Transaction context used at + registration */ + u32 event_indicator; /* Event indicator from reply */ + u32 data[0]; /* Event data from reply */ +}; + +/* + * I2O classes which could be handled by the OSM + */ +struct i2o_class_id { + u16 class_id:12; +}; + +/* + * I2O driver structure for OSMs + */ +struct i2o_driver { + char *name; /* OSM name */ + int context; /* Low 8 bits of the transaction info */ + struct i2o_class_id *classes; /* I2O classes that this OSM handles */ + + /* Message reply handler */ + int (*reply) (struct i2o_controller *, u32, struct i2o_message *); + + /* Event handler */ + void (*event) (struct i2o_event *); + + struct workqueue_struct *event_queue; /* Event queue */ + + struct device_driver driver; - /* Primary user */ - struct i2o_handler *owner; + /* notification of changes */ + void (*notify_controller_add) (struct i2o_controller *); + void (*notify_controller_remove) (struct i2o_controller *); + void (*notify_device_add) (struct i2o_device *); + void (*notify_device_remove) (struct i2o_device *); - /* Management users */ - struct i2o_handler *managers[I2O_MAX_MANAGERS]; - int num_managers; + struct semaphore lock; +}; - struct i2o_controller *controller; /* Controlling IOP */ - struct i2o_device *next; /* Chain */ - struct i2o_device *prev; - char dev_name[8]; /* linux /dev name if available */ +/* + * Contains all information which are necessary for DMA operations + */ +struct i2o_dma { + void *virt; + dma_addr_t phys; + u32 len; }; /* - * context queue entry, used for 32-bit context on 64-bit systems + * Context queue entry, used for 32-bit context on 64-bit systems */ struct i2o_context_list_element { - struct i2o_context_list_element *next; + struct list_head list; u32 context; void *ptr; - unsigned int flags; + unsigned long timestamp; }; /* * Each I2O controller has one of these objects */ -struct i2o_controller -{ +struct i2o_controller { char name[16]; int unit; int type; - int enabled; - - struct pci_dev *pdev; /* PCI device */ - int irq; - int short_req:1; /* Use small block sizes */ - int dpt:1; /* Don't quiesce */ - int raptor:1; /* split bar */ - int promise:1; /* Promise controller */ + + struct pci_dev *pdev; /* PCI device */ + + int short_req:1; /* use small block sizes */ + int no_quiesce:1; /* dont quiesce before reset */ + int raptor:1; /* split bar */ + int promise:1; /* Promise controller */ + #ifdef CONFIG_MTRR - int mtrr_reg0; - int mtrr_reg1; + int mtrr_reg0; + int mtrr_reg1; #endif + struct list_head devices; /* list of I2O devices */ + struct notifier_block *event_notifer; /* Events */ atomic_t users; - struct i2o_device *devices; /* I2O device chain */ - struct i2o_controller *next; /* Controller chain */ - void *post_port; /* Inbout port address */ - void *reply_port; /* Outbound port address */ - void *irq_mask; /* Interrupt register address */ + struct list_head list; /* Controller list */ + void *post_port; /* Inbout port address */ + void *reply_port; /* Outbound port address */ + void *irq_mask; /* Interrupt register address */ /* Dynamic LCT related data */ - struct semaphore lct_sem; - int lct_pid; - int lct_running; - i2o_status_block *status_block; /* IOP status block */ - dma_addr_t status_block_phys; - i2o_lct *lct; /* Logical Config Table */ - dma_addr_t lct_phys; - i2o_lct *dlct; /* Temp LCT */ - dma_addr_t dlct_phys; - i2o_hrt *hrt; /* HW Resource Table */ - dma_addr_t hrt_phys; - u32 hrt_len; + struct i2o_dma status; /* status of IOP */ - void *base_virt; /* base virtual address */ - unsigned long base_phys; /* base physical address */ + struct i2o_dma hrt; /* HW Resource Table */ + i2o_lct *lct; /* Logical Config Table */ + struct i2o_dma dlct; /* Temp LCT */ + struct semaphore lct_lock; /* Lock for LCT updates */ + struct i2o_dma status_block; /* IOP status block */ - void *msg_virt; /* messages virtual address */ - unsigned long msg_phys; /* messages physical address */ + struct i2o_dma base; /* controller messaging unit */ + struct i2o_dma in_queue; /* inbound message queue Host->IOP */ + struct i2o_dma out_queue; /* outbound message queue IOP->Host */ - int battery:1; /* Has a battery backup */ - int io_alloc:1; /* An I/O resource was allocated */ - int mem_alloc:1; /* A memory resource was allocated */ + int battery:1; /* Has a battery backup */ + int io_alloc:1; /* An I/O resource was allocated */ + int mem_alloc:1; /* A memory resource was allocated */ - struct resource io_resource; /* I/O resource allocated to the IOP */ - struct resource mem_resource; /* Mem resource allocated to the IOP */ + struct resource io_resource; /* I/O resource allocated to the IOP */ + struct resource mem_resource; /* Mem resource allocated to the IOP */ struct proc_dir_entry *proc_entry; /* /proc dir */ - - void *page_frame; /* Message buffers */ - dma_addr_t page_frame_map; /* Cache map */ + struct list_head bus_list; /* list of busses on IOP */ + struct device device; + struct i2o_device *exec; /* Executive */ #if BITS_PER_LONG == 64 - spinlock_t context_list_lock; /* lock for context_list */ - struct i2o_context_list_element *context_list; /* list of context id's - and pointers */ + spinlock_t context_list_lock; /* lock for context_list */ + atomic_t context_list_counter; /* needed for unique contexts */ + struct list_head context_list; /* list of context id's + and pointers */ #endif + spinlock_t lock; /* lock for controller + configuration */ + + void *driver_data[I2O_MAX_DRIVERS]; /* storage for drivers */ }; /* - * OSM resgistration block + * I2O System table entry * - * Each OSM creates at least one of these and registers it with the - * I2O core through i2o_register_handler. An OSM may want to - * register more than one if it wants a fast path to a reply - * handler by having a separate initiator context for each - * class function. + * The system table contains information about all the IOPs in the + * system. It is sent to all IOPs so that they can create peer2peer + * connections between them. */ -struct i2o_handler +struct i2o_sys_tbl_entry { + u16 org_id; + u16 reserved1; + u32 iop_id:12; + u32 reserved2:20; + u16 seg_num:12; + u16 i2o_version:4; + u8 iop_state; + u8 msg_type; + u16 frame_size; + u16 reserved3; + u32 last_changed; + u32 iop_capabilities; + u32 inbound_low; + u32 inbound_high; +}; + +struct i2o_sys_tbl { + u8 num_entries; + u8 version; + u16 reserved1; + u32 change_ind; + u32 reserved2; + u32 reserved3; + struct i2o_sys_tbl_entry iops[0]; +}; + +extern struct list_head i2o_controllers; + +/* Message functions */ +static inline u32 i2o_msg_get(struct i2o_controller *, struct i2o_message **); +extern u32 i2o_msg_get_wait(struct i2o_controller *, struct i2o_message **, + int); +static inline void i2o_msg_post(struct i2o_controller *, u32); +static inline int i2o_msg_post_wait(struct i2o_controller *, u32, + unsigned long); +extern int i2o_msg_post_wait_mem(struct i2o_controller *, u32, unsigned long, + struct i2o_dma *); +extern void i2o_msg_nop(struct i2o_controller *, u32); +static inline void i2o_flush_reply(struct i2o_controller *, u32); + +/* DMA handling functions */ +static inline int i2o_dma_alloc(struct device *, struct i2o_dma *, size_t, + unsigned int); +static inline void i2o_dma_free(struct device *, struct i2o_dma *); +int i2o_dma_realloc(struct device *, struct i2o_dma *, size_t, unsigned int); + +static inline int i2o_dma_map(struct device *, struct i2o_dma *); +static inline void i2o_dma_unmap(struct device *, struct i2o_dma *); + +/* IOP functions */ +extern int i2o_status_get(struct i2o_controller *); +extern int i2o_hrt_get(struct i2o_controller *); + +extern int i2o_event_register(struct i2o_device *, struct i2o_driver *, int, + u32); +extern struct i2o_device *i2o_iop_find_device(struct i2o_controller *, u16); +extern struct i2o_controller *i2o_find_iop(int); + +/* Functions needed for handling 64-bit pointers in 32-bit context */ +#if BITS_PER_LONG == 64 +extern u32 i2o_cntxt_list_add(struct i2o_controller *, void *); +extern void *i2o_cntxt_list_get(struct i2o_controller *, u32); +extern u32 i2o_cntxt_list_remove(struct i2o_controller *, void *); +extern u32 i2o_cntxt_list_get_ptr(struct i2o_controller *, void *); + +static inline u32 i2o_ptr_low(void *ptr) { - /* Message reply handler */ - void (*reply)(struct i2o_handler *, struct i2o_controller *, - struct i2o_message *); + return (u32) (u64) ptr; +}; - /* New device notification handler */ - void (*new_dev_notify)(struct i2o_controller *, struct i2o_device *); +static inline u32 i2o_ptr_high(void *ptr) +{ + return (u32) ((u64) ptr >> 32); +}; +#else +static inline u32 i2o_cntxt_list_add(struct i2o_controller *c, void *ptr) +{ + return (u32) ptr; +}; - /* Device deltion handler */ - void (*dev_del_notify)(struct i2o_controller *, struct i2o_device *); +static inline void *i2o_cntxt_list_get(struct i2o_controller *c, u32 context) +{ + return (void *)context; +}; - /* Reboot notification handler */ - void (*reboot_notify)(void); +static inline u32 i2o_cntxt_list_remove(struct i2o_controller *c, void *ptr) +{ + return (u32) ptr; +}; - char *name; /* OSM name */ - int context; /* Low 8 bits of the transaction info */ - u32 class; /* I2O classes that this driver handles */ - /* User data follows */ +static inline u32 i2o_cntxt_list_get_ptr(struct i2o_controller *c, void *ptr) +{ + return (u32) ptr; }; -#ifdef MODULE -/* - * Used by bus specific modules to communicate with the core +static inline u32 i2o_ptr_low(void *ptr) +{ + return (u32) ptr; +}; + +static inline u32 i2o_ptr_high(void *ptr) +{ + return 0; +}; +#endif + +/* I2O driver (OSM) functions */ +extern int i2o_driver_register(struct i2o_driver *); +extern void i2o_driver_unregister(struct i2o_driver *); + +/** + * i2o_driver_notify_controller_add - Send notification of added controller + * to a single I2O driver * - * This is needed because the bus modules cannot make direct - * calls to the core as this results in the i2o_bus_specific_module - * being dependent on the core, not the otherway around. - * In that case, a 'modprobe i2o_lan' loads i2o_core & i2o_lan, - * but _not_ i2o_pci...which makes the whole thing pretty useless :) + * Send notification of added controller to a single registered driver. + */ +static inline void i2o_driver_notify_controller_add(struct i2o_driver *drv, + struct i2o_controller *c) +{ + if (drv->notify_controller_add) + drv->notify_controller_add(c); +}; + +/** + * i2o_driver_notify_controller_remove - Send notification of removed + * controller to a single I2O driver * + * Send notification of removed controller to a single registered driver. */ -struct i2o_core_func_table +static inline void i2o_driver_notify_controller_remove(struct i2o_driver *drv, + struct i2o_controller *c) { - int (*install)(struct i2o_controller *); - int (*activate)(struct i2o_controller *); - struct i2o_controller *(*find)(int); - void (*unlock)(struct i2o_controller *); - void (*run_queue)(struct i2o_controller * c); - int (*delete)(struct i2o_controller *); + if (drv->notify_controller_remove) + drv->notify_controller_remove(c); }; -#endif /* MODULE */ -/* - * I2O System table entry +/** + * i2o_driver_notify_device_add - Send notification of added device to a + * single I2O driver * - * The system table contains information about all the IOPs in the - * system. It is sent to all IOPs so that they can create peer2peer - * connections between them. + * Send notification of added device to a single registered driver. */ -struct i2o_sys_tbl_entry +static inline void i2o_driver_notify_device_add(struct i2o_driver *drv, + struct i2o_device *i2o_dev) { - u16 org_id; - u16 reserved1; - u32 iop_id:12; - u32 reserved2:20; - u16 seg_num:12; - u16 i2o_version:4; - u8 iop_state; - u8 msg_type; - u16 frame_size; - u16 reserved3; - u32 last_changed; - u32 iop_capabilities; - u32 inbound_low; - u32 inbound_high; -}; - -struct i2o_sys_tbl + if (drv->notify_device_add) + drv->notify_device_add(i2o_dev); +}; + +/** + * i2o_driver_notify_device_remove - Send notification of removed device + * to a single I2O driver + * + * Send notification of removed device to a single registered driver. + */ +static inline void i2o_driver_notify_device_remove(struct i2o_driver *drv, + struct i2o_device *i2o_dev) { - u8 num_entries; - u8 version; - u16 reserved1; - u32 change_ind; - u32 reserved2; - u32 reserved3; - struct i2o_sys_tbl_entry iops[0]; + if (drv->notify_device_remove) + drv->notify_device_remove(i2o_dev); }; +extern void i2o_driver_notify_controller_add_all(struct i2o_controller *); +extern void i2o_driver_notify_controller_remove_all(struct i2o_controller *); +extern void i2o_driver_notify_device_add_all(struct i2o_device *); +extern void i2o_driver_notify_device_remove_all(struct i2o_device *); + +/* I2O device functions */ +extern int i2o_device_claim(struct i2o_device *); +extern int i2o_device_claim_release(struct i2o_device *); + +/* Exec OSM functions */ +extern int i2o_exec_lct_get(struct i2o_controller *); +extern int i2o_exec_lct_notify(struct i2o_controller *, u32); + +/* device to i2o_device and driver to i2o_driver convertion functions */ +#define to_i2o_driver(drv) container_of(drv,struct i2o_driver, driver) +#define to_i2o_device(dev) container_of(dev, struct i2o_device, device) + /* * Messenger inlines */ static inline u32 I2O_POST_READ32(struct i2o_controller *c) { + rmb(); return readl(c->post_port); -} +}; static inline void I2O_POST_WRITE32(struct i2o_controller *c, u32 val) { + wmb(); writel(val, c->post_port); -} - +}; static inline u32 I2O_REPLY_READ32(struct i2o_controller *c) { + rmb(); return readl(c->reply_port); -} +}; static inline void I2O_REPLY_WRITE32(struct i2o_controller *c, u32 val) { + wmb(); writel(val, c->reply_port); -} - +}; static inline u32 I2O_IRQ_READ32(struct i2o_controller *c) { + rmb(); return readl(c->irq_mask); -} +}; static inline void I2O_IRQ_WRITE32(struct i2o_controller *c, u32 val) { + wmb(); writel(val, c->irq_mask); -} + wmb(); +}; +/** + * i2o_msg_get - obtain an I2O message from the IOP + * @c: I2O controller + * @msg: pointer to a I2O message pointer + * + * This function tries to get a message slot. If no message slot is + * available do not wait until one is availabe (see also i2o_msg_get_wait). + * + * On a success the message is returned and the pointer to the message is + * set in msg. The returned message is the physical page frame offset + * address from the read port (see the i2o spec). If no message is + * available returns I2O_QUEUE_EMPTY and msg is leaved untouched. + */ +static inline u32 i2o_msg_get(struct i2o_controller *c, + struct i2o_message **msg) +{ + u32 m; -static inline void i2o_post_message(struct i2o_controller *c, u32 m) + if ((m = I2O_POST_READ32(c)) != I2O_QUEUE_EMPTY) + *msg = c->in_queue.virt + m; + + return m; +}; + +/** + * i2o_msg_post - Post I2O message to I2O controller + * @c: I2O controller to which the message should be send + * @m: the message identifier + * + * Post the message to the I2O controller. + */ +static inline void i2o_msg_post(struct i2o_controller *c, u32 m) { - /* The second line isnt spurious - thats forcing PCI posting */ I2O_POST_WRITE32(c, m); - (void) I2O_IRQ_READ32(c); -} +}; +/** + * i2o_msg_post_wait - Post and wait a message and wait until return + * @c: controller + * @m: message to post + * @timeout: time in seconds to wait + * + * This API allows an OSM to post a message and then be told whether or + * not the system received a successful reply. If the message times out + * then the value '-ETIMEDOUT' is returned. + * + * Returns 0 on success or negative error code on failure. + */ +static inline int i2o_msg_post_wait(struct i2o_controller *c, u32 m, + unsigned long timeout) +{ + return i2o_msg_post_wait_mem(c, m, timeout, NULL); +}; + +/** + * i2o_flush_reply - Flush reply from I2O controller + * @c: I2O controller + * @m: the message identifier + * + * The I2O controller must be informed that the reply message is not needed + * anymore. If you forget to flush the reply, the message frame can't be + * used by the controller anymore and is therefore lost. + * + * FIXME: is there a timeout after which the controller reuse the message? + */ static inline void i2o_flush_reply(struct i2o_controller *c, u32 m) { I2O_REPLY_WRITE32(c, m); -} +}; -/* - * Endian handling wrapped into the macro - keeps the core code - * cleaner. +/** + * i2o_dma_alloc - Allocate DMA memory + * @dev: struct device pointer to the PCI device of the I2O controller + * @addr: i2o_dma struct which should get the DMA buffer + * @len: length of the new DMA memory + * @gfp_mask: GFP mask + * + * Allocate a coherent DMA memory and write the pointers into addr. + * + * Returns 0 on success or -ENOMEM on failure. */ - -#define i2o_raw_writel(val, mem) __raw_writel(cpu_to_le32(val), mem) +static inline int i2o_dma_alloc(struct device *dev, struct i2o_dma *addr, + size_t len, unsigned int gfp_mask) +{ + addr->virt = dma_alloc_coherent(dev, len, &addr->phys, gfp_mask); + if (!addr->virt) + return -ENOMEM; -extern struct i2o_controller *i2o_find_controller(int); -extern void i2o_unlock_controller(struct i2o_controller *); -extern struct i2o_controller *i2o_controller_chain; -extern int i2o_num_controllers; -extern int i2o_status_get(struct i2o_controller *); + memset(addr->virt, 0, len); + addr->len = len; + + return 0; +}; + +/** + * i2o_dma_free - Free DMA memory + * @dev: struct device pointer to the PCI device of the I2O controller + * @addr: i2o_dma struct which contains the DMA buffer + * + * Free a coherent DMA memory and set virtual address of addr to NULL. + */ +static inline void i2o_dma_free(struct device *dev, struct i2o_dma *addr) +{ + if (addr->virt) { + if (addr->phys) + dma_free_coherent(dev, addr->len, addr->virt, + addr->phys); + else + kfree(addr->virt); + addr->virt = NULL; + } +}; -extern int i2o_install_handler(struct i2o_handler *); -extern int i2o_remove_handler(struct i2o_handler *); +/** + * i2o_dma_map - Map the memory to DMA + * @dev: struct device pointer to the PCI device of the I2O controller + * @addr: i2o_dma struct which should be mapped + * + * Map the memory in addr->virt to coherent DMA memory and write the + * physical address into addr->phys. + * + * Returns 0 on success or -ENOMEM on failure. + */ +static inline int i2o_dma_map(struct device *dev, struct i2o_dma *addr) +{ + if (!addr->virt) + return -EFAULT; -extern int i2o_claim_device(struct i2o_device *, struct i2o_handler *); -extern int i2o_release_device(struct i2o_device *, struct i2o_handler *); -extern int i2o_device_notify_on(struct i2o_device *, struct i2o_handler *); -extern int i2o_device_notify_off(struct i2o_device *, - struct i2o_handler *); + if (!addr->phys) + addr->phys = dma_map_single(dev, addr->virt, addr->len, + DMA_BIDIRECTIONAL); + if (!addr->phys) + return -ENOMEM; -extern int i2o_post_this(struct i2o_controller *, u32 *, int); -extern int i2o_post_wait(struct i2o_controller *, u32 *, int, int); -extern int i2o_post_wait_mem(struct i2o_controller *, u32 *, int, int, - void *, void *, dma_addr_t, dma_addr_t, int, int); + return 0; +}; -extern int i2o_query_scalar(struct i2o_controller *, int, int, int, void *, - int); -extern int i2o_set_scalar(struct i2o_controller *, int, int, int, void *, - int); +/** + * i2o_dma_unmap - Unmap the DMA memory + * @dev: struct device pointer to the PCI device of the I2O controller + * @addr: i2o_dma struct which should be unmapped + * + * Unmap the memory in addr->virt from DMA memory. + */ +static inline void i2o_dma_unmap(struct device *dev, struct i2o_dma *addr) +{ + if (!addr->virt) + return; + + if (addr->phys) { + dma_unmap_single(dev, addr->phys, addr->len, DMA_BIDIRECTIONAL); + addr->phys = 0; + } +}; + +/* + * Endian handling wrapped into the macro - keeps the core code + * cleaner. + */ + +#define i2o_raw_writel(val, mem) __raw_writel(cpu_to_le32(val), mem) + +extern int i2o_parm_field_get(struct i2o_device *, int, int, void *, int); +extern int i2o_parm_field_set(struct i2o_device *, int, int, void *, int); +extern int i2o_parm_table_get(struct i2o_device *, int, int, int, void *, int, + void *, int); +/* FIXME: remove extern int i2o_query_table(int, struct i2o_controller *, int, int, int, void *, int, void *, int); extern int i2o_clear_table(struct i2o_controller *, int, int); @@ -328,51 +605,24 @@ extern int i2o_row_add_table(struct i2o_controller *, int, int, int, void *, int); extern int i2o_issue_params(int, struct i2o_controller *, int, void *, int, void *, int); +*/ -extern int i2o_event_register(struct i2o_controller *, u32, u32, u32, u32); -extern int i2o_event_ack(struct i2o_controller *, u32 *); - -extern void i2o_report_status(const char *, const char *, u32 *); -extern void i2o_dump_message(u32 *); -extern const char *i2o_get_class_name(int); - -extern int i2o_install_controller(struct i2o_controller *); -extern int i2o_activate_controller(struct i2o_controller *); -extern void i2o_run_queue(struct i2o_controller *); -extern int i2o_delete_controller(struct i2o_controller *); - -#if BITS_PER_LONG == 64 -extern u32 i2o_context_list_add(void *, struct i2o_controller *); -extern void *i2o_context_list_get(u32, struct i2o_controller *); -extern u32 i2o_context_list_remove(void *, struct i2o_controller *); -#else -static inline u32 i2o_context_list_add(void *ptr, struct i2o_controller *c) -{ - return (u32)ptr; -} - -static inline void *i2o_context_list_get(u32 context, struct i2o_controller *c) -{ - return (void *)context; -} - -static inline u32 i2o_context_list_remove(void *ptr, struct i2o_controller *c) -{ - return (u32)ptr; -} -#endif +/* debugging functions */ +extern void i2o_report_status(const char *, const char *, struct i2o_message *); +extern void i2o_dump_message(struct i2o_message *); +extern void i2o_dump_hrt(struct i2o_controller *c); +extern void i2o_debug_state(struct i2o_controller *c); /* * Cache strategies */ - - + /* The NULL strategy leaves everything up to the controller. This tends to be a * pessimal but functional choice. */ #define CACHE_NULL 0 /* Prefetch data when reading. We continually attempt to load the next 32 sectors - * into the controller cache. + * into the controller cache. */ #define CACHE_PREFETCH 1 /* Prefetch data when reading. We sometimes attempt to load the next 32 sectors @@ -406,15 +656,11 @@ static inline u32 i2o_context_list_remove(void *ptr, struct i2o_controller *c) /* * Ioctl structures */ - - -#define BLKI2OGRSTRAT _IOR('2', 1, int) -#define BLKI2OGWSTRAT _IOR('2', 2, int) -#define BLKI2OSRSTRAT _IOW('2', 3, int) -#define BLKI2OSWSTRAT _IOW('2', 4, int) - - +#define BLKI2OGRSTRAT _IOR('2', 1, int) +#define BLKI2OGWSTRAT _IOR('2', 2, int) +#define BLKI2OSRSTRAT _IOW('2', 3, int) +#define BLKI2OSWSTRAT _IOW('2', 4, int) /* * I2O Function codes @@ -652,7 +898,6 @@ static inline u32 i2o_context_list_remove(void *ptr, struct i2o_controller *c) #define TRL_SINGLE_VARIABLE_LENGTH 0x40 #define TRL_MULTIPLE_FIXED_LENGTH 0x80 - /* msg header defines for MsgFlags */ #define MSG_STATIC 0x0100 #define MSG_64BIT_CNTXT 0x0200 @@ -673,13 +918,12 @@ static inline u32 i2o_context_list_remove(void *ptr, struct i2o_controller *c) #define ELEVEN_WORD_MSG_SIZE 0x000B0000 #define I2O_MESSAGE_SIZE(x) ((x)<<16) - /* Special TID Assignments */ #define ADAPTER_TID 0 #define HOST_TID 1 -#define MSG_FRAME_SIZE 64 /* i2o_scsi assumes >= 32 */ +#define MSG_FRAME_SIZE 128 /* i2o_scsi assumes >= 32 */ #define REPLY_FRAME_SIZE 17 #define SG_TABLESIZE 30 #define NMBR_MSG_FRAMES 128 @@ -693,5 +937,23 @@ static inline u32 i2o_context_list_remove(void *ptr, struct i2o_controller *c) #define I2O_CONTEXT_LIST_USED 0x01 #define I2O_CONTEXT_LIST_DELETED 0x02 -#endif /* __KERNEL__ */ -#endif /* _I2O_H */ +/* timeouts */ +#define I2O_TIMEOUT_INIT_OUTBOUND_QUEUE 15 +#define I2O_TIMEOUT_MESSAGE_GET 5 +#define I2O_TIMEOUT_RESET 30 +#define I2O_TIMEOUT_STATUS_GET 5 +#define I2O_TIMEOUT_LCT_GET 20 +#define I2O_TIMEOUT_SCSI_SCB_ABORT 240 + +/* retries */ +#define I2O_HRT_GET_TRIES 3 +#define I2O_LCT_GET_TRIES 3 + +/* request queue sizes */ +#define I2O_MAX_SECTORS 1024 +#define I2O_MAX_SEGMENTS 128 + +#define I2O_REQ_MEMPOOL_SIZE 32 + +#endif /* __KERNEL__ */ +#endif /* _I2O_H */ diff --git a/include/linux/ide.h b/include/linux/ide.h index 06542968a..91d515fcd 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h @@ -51,16 +51,6 @@ #ifndef OK_TO_RESET_CONTROLLER /* 1 needed for good error recovery */ #define OK_TO_RESET_CONTROLLER 1 /* 0 for use with AH2372A/B interface */ #endif -#ifndef FANCY_STATUS_DUMPS /* 1 for human-readable drive errors */ -#define FANCY_STATUS_DUMPS 1 /* 0 to reduce kernel size */ -#endif - -#ifdef CONFIG_BLK_DEV_CMD640 -#if 0 /* change to 1 when debugging cmd640 problems */ -void cmd640_dump_regs (void); -#define CMD640_DUMP_REGS cmd640_dump_regs() /* for debugging cmd640 chipset */ -#endif -#endif /* CONFIG_BLK_DEV_CMD640 */ #ifndef DISABLE_IRQ_NOSYNC #define DISABLE_IRQ_NOSYNC 0 @@ -276,6 +266,7 @@ typedef struct hw_regs_s { * Register new hardware with ide */ int ide_register_hw(hw_regs_t *hw, struct hwif_s **hwifp); +int ide_register_hw_with_fixup(hw_regs_t *hw, struct hwif_s **hwifp, void (*fixup)(struct hwif_s *)); /* * Set up hw_regs_t structure before calling ide_register_hw (optional) @@ -756,8 +747,8 @@ typedef struct ide_drive_s { * 2=48-bit doing 28-bit * 3=64-bit */ + unsigned scsi : 1; /* 0=default, 1=ide-scsi emulation */ - u8 scsi; /* 0=default, 1=skip current ide-subdriver for ide-scsi emulation */ u8 quirk_list; /* considered quirky, set for a specific host */ u8 suspend_reset; /* drive suspend mode flag, soft-reset recovers */ u8 init_speed; /* transfer rate set at boot */ @@ -780,6 +771,7 @@ typedef struct ide_drive_s { u8 sect; /* "real" sectors per track */ u8 bios_head; /* BIOS/fdisk/LILO number of heads */ u8 bios_sect; /* BIOS/fdisk/LILO sectors per track */ + u8 doing_barrier; /* state, 1=currently doing flush */ unsigned int bios_cyl; /* BIOS/fdisk/LILO number of cyls */ unsigned int cyl; /* "real" number of cyls */ @@ -789,6 +781,7 @@ typedef struct ide_drive_s { unsigned int max_failures; /* maximum allowed failure count */ u64 capacity64; /* total number of sectors */ + u64 probed_capacity;/* initial reported media capacity (ide-cd only currently) */ int lun; /* logical unit */ int crc_count; /* crc counter to reduce drive speed */ @@ -798,31 +791,6 @@ typedef struct ide_drive_s { struct gendisk *disk; } ide_drive_t; -typedef struct ide_pio_ops_s { - void (*ata_input_data)(ide_drive_t *, void *, u32); - void (*ata_output_data)(ide_drive_t *, void *, u32); - - void (*atapi_input_bytes)(ide_drive_t *, void *, u32); - void (*atapi_output_bytes)(ide_drive_t *, void *, u32); -} ide_pio_ops_t; - -typedef struct ide_dma_ops_s { - /* insert dma operations here! */ - int (*ide_dma_read)(ide_drive_t *drive); - int (*ide_dma_write)(ide_drive_t *drive); - int (*ide_dma_begin)(ide_drive_t *drive); - int (*ide_dma_end)(ide_drive_t *drive); - int (*ide_dma_check)(ide_drive_t *drive); - int (*ide_dma_on)(ide_drive_t *drive); - int (*ide_dma_off_quietly)(ide_drive_t *drive); - int (*ide_dma_test_irq)(ide_drive_t *drive); - int (*ide_dma_host_on)(ide_drive_t *drive); - int (*ide_dma_host_off)(ide_drive_t *drive); - int (*ide_dma_verbose)(ide_drive_t *drive); - int (*ide_dma_lostirq)(ide_drive_t *drive); - int (*ide_dma_timeout)(ide_drive_t *drive); -} ide_dma_ops_t; - /* * mapping stuff, prepare for highmem... * @@ -849,6 +817,7 @@ static inline void ide_unmap_buffer(struct request *rq, char *buffer, unsigned l #define IDE_CHIPSET_IS_PCI(c) ((IDE_CHIPSET_PCI_MASK >> (c)) & 1) struct ide_pci_device_s; +struct ide_task_s; typedef struct hwif_s { struct hwif_s *next; /* for linked-list in ide_hwgroup_t */ @@ -856,6 +825,7 @@ typedef struct hwif_s { struct hwgroup_s *hwgroup; /* actually (ide_hwgroup_t *) */ struct proc_dir_entry *proc; /* /proc/ide/ directory entry */ + u16 key; /* /proc persistent keying */ char name[6]; /* name of interface, eg. "ide0" */ /* task file registers for pata and sata */ @@ -913,17 +883,17 @@ typedef struct hwif_s { // u8 (*ratemask)(ide_drive_t *); // /* device rate limiter */ // u8 (*ratefilter)(ide_drive_t *, u8); + /* hwif remove hook, called on unload/pci remove paths*/ + void (*remove)(struct hwif_s *); + /* allow command filter/control */ + int (*raw_taskfile)(ide_drive_t *, struct ide_task_s *, u8 *); #endif -#if 0 - ide_pio_ops_t *pioops; -#else void (*ata_input_data)(ide_drive_t *, void *, u32); void (*ata_output_data)(ide_drive_t *, void *, u32); void (*atapi_input_bytes)(ide_drive_t *, void *, u32); void (*atapi_output_bytes)(ide_drive_t *, void *, u32); -#endif int (*ide_dma_read)(ide_drive_t *drive); int (*ide_dma_write)(ide_drive_t *drive); @@ -960,7 +930,9 @@ typedef struct hwif_s { struct scatterlist *sg_table; int sg_nents; /* Current number of entries in it */ int sg_dma_direction; /* dma transfer direction */ - int sg_dma_active; /* is it in use */ + + /* data phase of the active command (currently only valid for PIO/DMA) */ + int data_phase; int mmio; /* hosts iomio (0) or custom (2) select */ int rqsize; /* max sectors per request */ @@ -981,13 +953,16 @@ typedef struct hwif_s { unsigned noprobe : 1; /* don't probe for this interface */ unsigned present : 1; /* this interface exists */ + unsigned configured : 1; /* this hwif exists and is set up (may not be "present") */ unsigned hold : 1; /* this interface is always present */ + unsigned user_dev : 1; /* user ioctl created device */ unsigned serialized : 1; /* serialized all channel operation */ unsigned sharing_irq: 1; /* 1 = sharing irq with another hwif */ unsigned reset : 1; /* reset after probe */ unsigned autodma : 1; /* auto-attempt using DMA at boot */ unsigned udma_four : 1; /* 1=ATA-66 capable, 0=default */ unsigned no_lba48 : 1; /* 1 = cannot do LBA48 */ + unsigned no_lba48_dma : 1; /* 1 = cannot do LBA48 DMA */ unsigned no_dsc : 1; /* 0 default, 1 dsc_overlap disabled */ unsigned auto_poll : 1; /* supports nop auto-poll */ @@ -1082,6 +1057,11 @@ extern int ide_read_setting(ide_drive_t *t, ide_settings_t *setting); extern int ide_write_setting(ide_drive_t *drive, ide_settings_t *setting, int val); extern void ide_add_generic_settings(ide_drive_t *drive); +extern void *ide_drive_to_key(ide_drive_t *drive); +extern ide_drive_t *ide_drive_from_key(void *); +extern void *ide_hwif_to_key(ide_hwif_t *hwif); +extern ide_hwif_t *ide_hwif_from_key(void *); + /* * /proc/ide interface */ @@ -1098,6 +1078,7 @@ extern struct proc_dir_entry *proc_ide_root; extern void proc_ide_create(void); extern void proc_ide_destroy(void); extern void destroy_proc_ide_drives(ide_hwif_t *); +extern void destroy_proc_ide_interface(ide_hwif_t *); extern void create_proc_ide_interfaces(void); extern void ide_add_proc_entries(struct proc_dir_entry *, ide_proc_entry_t *, void *); extern void ide_remove_proc_entries(struct proc_dir_entry *, ide_proc_entry_t *); @@ -1210,6 +1191,7 @@ extern ide_hwif_t ide_hwifs[]; /* master data repository */ extern int noautodma; extern int ide_end_request (ide_drive_t *drive, int uptodate, int nrsecs); +extern int ide_end_dequeued_request (ide_drive_t *drive, struct request *rq, int uptodate, int nrsecs); /* * This is used on exit from the driver to designate the next irq handler @@ -1292,6 +1274,11 @@ extern ide_startstop_t ide_do_reset (ide_drive_t *); */ extern void ide_init_drive_cmd (struct request *rq); +/* + * this function returns error location sector offset in case of a write error + */ +extern u64 ide_get_error_location(ide_drive_t *, char *); + /* * "action" parameter type for ide_do_drive_cmd() below. */ @@ -1349,9 +1336,6 @@ extern void try_to_flush_leftover_data(ide_drive_t *); */ extern int ide_wait_cmd(ide_drive_t *, u8, u8, u8, u8, u8 *); -/* (ide_drive_t *drive, u8 *buf) */ -extern int ide_wait_cmd_task(ide_drive_t *, u8 *); - typedef struct ide_task_s { /* * struct hd_drive_task_hdr tf; @@ -1446,12 +1430,10 @@ extern ide_startstop_t set_geometry_intr(ide_drive_t *); extern ide_startstop_t recal_intr(ide_drive_t *); extern ide_startstop_t task_no_data_intr(ide_drive_t *); extern ide_startstop_t task_in_intr(ide_drive_t *); -extern ide_startstop_t task_mulin_intr(ide_drive_t *); extern ide_startstop_t pre_task_out_intr(ide_drive_t *, struct request *); extern ide_startstop_t task_out_intr(ide_drive_t *); -extern ide_startstop_t pre_task_mulout_intr(ide_drive_t *, struct request *); -extern ide_startstop_t task_mulout_intr(ide_drive_t *); +extern int ide_diag_taskfile(ide_drive_t *, ide_task_t *, unsigned long, u8 *); extern int ide_raw_taskfile(ide_drive_t *, ide_task_t *, u8 *); int ide_taskfile_ioctl(ide_drive_t *, unsigned int, unsigned long); @@ -1503,9 +1485,11 @@ extern int ide_pci_register_driver(struct pci_driver *driver); extern void ide_pci_unregister_driver(struct pci_driver *driver); extern void ide_pci_setup_ports(struct pci_dev *dev, struct ide_pci_device_s *d, int autodma, int pciirq, ata_index_t *index); extern void ide_setup_pci_noise (struct pci_dev *dev, struct ide_pci_device_s *d); +extern void ide_pci_remove_hwifs(struct pci_dev *dev); extern void default_hwif_iops(ide_hwif_t *); extern void default_hwif_mmiops(ide_hwif_t *); +extern void removed_hwif_iops(ide_hwif_t *); extern void default_hwif_transport(ide_hwif_t *); int ide_register_driver(ide_driver_t *driver); @@ -1549,6 +1533,7 @@ typedef struct ide_pci_device_s { void (*init_iops)(ide_hwif_t *); void (*init_hwif)(ide_hwif_t *); void (*init_dma)(ide_hwif_t *, unsigned long); + void (*fixup)(ide_hwif_t *); u8 channels; u8 autodma; ide_pci_enablebit_t enablebits[2]; @@ -1603,10 +1588,14 @@ static inline void ide_release_dma(ide_hwif_t *drive) {;} #endif extern int ide_hwif_request_regions(ide_hwif_t *hwif); -extern void ide_hwif_release_regions(ide_hwif_t* hwif); -extern void ide_unregister (unsigned int index); +extern void ide_hwif_release_regions(ide_hwif_t *hwif); +extern int ide_unregister_hwif(ide_hwif_t *hwif); +extern int __ide_unregister_hwif(ide_hwif_t *hwif); + +extern void ide_undecoded_slave(ide_hwif_t *hwif); -extern int probe_hwif_init(ide_hwif_t *); +extern int probe_hwif_init(ide_hwif_t *hwif); +extern int probe_hwif_init_with_fixup(ide_hwif_t *hwif, void (*fixup)(ide_hwif_t *hwif)); static inline void *ide_get_hwifdata (ide_hwif_t * hwif) { @@ -1664,4 +1653,11 @@ extern struct semaphore ide_cfg_sem; extern struct bus_type ide_bus_type; +/* check if CACHE FLUSH (EXT) command is supported (bits defined in ATA-6) */ +#define ide_id_has_flush_cache(id) ((id)->cfs_enable_2 & 0x3000) + +/* some Maxtor disks have bit 13 defined incorrectly so check bit 10 too */ +#define ide_id_has_flush_cache_ext(id) \ + (((id)->cfs_enable_2 & 0x2400) == 0x2400) + #endif /* _IDE_H */ diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h index 58d6e606d..fd1b6eb94 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h @@ -105,7 +105,7 @@ struct __fdb_entry #include extern void brioctl_set(int (*ioctl_hook)(unsigned int, void __user *)); -extern int (*br_handle_frame_hook)(struct sk_buff *skb); +extern int (*br_handle_frame_hook)(struct net_bridge_port *p, struct sk_buff **pskb); extern int (*br_should_route_hook)(struct sk_buff **pskb); #endif diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h index 27a5d0a97..ec751e9fb 100644 --- a/include/linux/inetdevice.h +++ b/include/linux/inetdevice.h @@ -3,6 +3,8 @@ #ifdef __KERNEL__ +#include + struct ipv4_devconf { int accept_redirects; @@ -31,13 +33,13 @@ extern struct ipv4_devconf ipv4_devconf; struct in_device { - struct net_device *dev; + struct net_device *dev; atomic_t refcnt; - rwlock_t lock; int dead; struct in_ifaddr *ifa_list; /* IP ifaddr chain */ + rwlock_t mc_list_lock; struct ip_mc_list *mc_list; /* IP multicast filter chain */ - rwlock_t mc_lock; /* for mc_tomb */ + spinlock_t mc_tomb_lock; struct ip_mc_list *mc_tomb; unsigned long mr_v1_seen; unsigned long mr_v2_seen; @@ -50,6 +52,7 @@ struct in_device struct neigh_parms *arp_parms; struct ipv4_devconf cnf; + struct rcu_head rcu_head; }; #define IN_DEV_FORWARD(in_dev) ((in_dev)->cnf.forwarding) @@ -80,6 +83,7 @@ struct in_ifaddr { struct in_ifaddr *ifa_next; struct in_device *ifa_dev; + struct rcu_head rcu_head; u32 ifa_local; u32 ifa_address; u32 ifa_mask; @@ -133,19 +137,16 @@ static __inline__ int bad_mask(u32 mask, u32 addr) #define endfor_ifa(in_dev) } -extern rwlock_t inetdev_lock; - - static __inline__ struct in_device * in_dev_get(const struct net_device *dev) { struct in_device *in_dev; - read_lock(&inetdev_lock); + rcu_read_lock(); in_dev = dev->ip_ptr; if (in_dev) atomic_inc(&in_dev->refcnt); - read_unlock(&inetdev_lock); + rcu_read_unlock(); return in_dev; } @@ -157,8 +158,7 @@ __in_dev_get(const struct net_device *dev) extern void in_dev_finish_destroy(struct in_device *idev); -static __inline__ void -in_dev_put(struct in_device *idev) +static inline void in_dev_put(struct in_device *idev) { if (atomic_dec_and_test(&idev->refcnt)) in_dev_finish_destroy(idev); diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 565321b05..c7bf37959 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -8,8 +8,8 @@ #include #include #include +#include #include -#include #include #include diff --git a/include/linux/ipmi.h b/include/linux/ipmi.h index 4a448922b..2b3d98e13 100644 --- a/include/linux/ipmi.h +++ b/include/linux/ipmi.h @@ -405,6 +405,12 @@ int ipmi_unregister_for_cmd(ipmi_user_t user, unsigned char netfn, unsigned char cmd); +/* + * Allow run-to-completion mode to be set for the interface of + * a specific user. + */ +void ipmi_user_set_run_to_completion(ipmi_user_t user, int val); + /* * When the user is created, it will not receive IPMI events by * default. The user must set this to TRUE to get incoming events. diff --git a/include/linux/iso_fs.h b/include/linux/iso_fs.h index dd53b6cd2..099039d4b 100644 --- a/include/linux/iso_fs.h +++ b/include/linux/iso_fs.h @@ -192,29 +192,29 @@ static inline int isonum_712(char *p) } static inline unsigned int isonum_721(char *p) { - return le16_to_cpu(get_unaligned((u16 *)p)); + return le16_to_cpu(get_unaligned((__le16 *)p)); } static inline unsigned int isonum_722(char *p) { - return be16_to_cpu(get_unaligned((u16 *)p)); + return be16_to_cpu(get_unaligned((__le16 *)p)); } static inline unsigned int isonum_723(char *p) { /* Ignore bigendian datum due to broken mastering programs */ - return le16_to_cpu(get_unaligned((u16 *)p)); + return le16_to_cpu(get_unaligned((__le16 *)p)); } static inline unsigned int isonum_731(char *p) { - return le32_to_cpu(get_unaligned((u32 *)p)); + return le32_to_cpu(get_unaligned((__le32 *)p)); } static inline unsigned int isonum_732(char *p) { - return be32_to_cpu(get_unaligned((u32 *)p)); + return be32_to_cpu(get_unaligned((__le32 *)p)); } static inline unsigned int isonum_733(char *p) { /* Ignore bigendian datum due to broken mastering programs */ - return le32_to_cpu(get_unaligned((u32 *)p)); + return le32_to_cpu(get_unaligned((__le32 *)p)); } extern int iso_date(char *, int); diff --git a/include/linux/jbd.h b/include/linux/jbd.h index dec393a59..48cf7ee0d 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h @@ -137,9 +137,9 @@ typedef struct journal_s journal_t; /* Journal control structure */ */ typedef struct journal_header_s { - __u32 h_magic; - __u32 h_blocktype; - __u32 h_sequence; + __be32 h_magic; + __be32 h_blocktype; + __be32 h_sequence; } journal_header_t; @@ -148,8 +148,8 @@ typedef struct journal_header_s */ typedef struct journal_block_tag_s { - __u32 t_blocknr; /* The on-disk block number */ - __u32 t_flags; /* See below */ + __be32 t_blocknr; /* The on-disk block number */ + __be32 t_flags; /* See below */ } journal_block_tag_t; /* @@ -159,7 +159,7 @@ typedef struct journal_block_tag_s typedef struct journal_revoke_header_s { journal_header_t r_header; - int r_count; /* Count of bytes used in the block */ + __be32 r_count; /* Count of bytes used in the block */ } journal_revoke_header_t; @@ -180,35 +180,35 @@ typedef struct journal_superblock_s /* 0x000C */ /* Static information describing the journal */ - __u32 s_blocksize; /* journal device blocksize */ - __u32 s_maxlen; /* total blocks in journal file */ - __u32 s_first; /* first block of log information */ + __be32 s_blocksize; /* journal device blocksize */ + __be32 s_maxlen; /* total blocks in journal file */ + __be32 s_first; /* first block of log information */ /* 0x0018 */ /* Dynamic information describing the current state of the log */ - __u32 s_sequence; /* first commit ID expected in log */ - __u32 s_start; /* blocknr of start of log */ + __be32 s_sequence; /* first commit ID expected in log */ + __be32 s_start; /* blocknr of start of log */ /* 0x0020 */ /* Error value, as set by journal_abort(). */ - __s32 s_errno; + __be32 s_errno; /* 0x0024 */ /* Remaining fields are only valid in a version-2 superblock */ - __u32 s_feature_compat; /* compatible feature set */ - __u32 s_feature_incompat; /* incompatible feature set */ - __u32 s_feature_ro_compat; /* readonly-compatible feature set */ + __be32 s_feature_compat; /* compatible feature set */ + __be32 s_feature_incompat; /* incompatible feature set */ + __be32 s_feature_ro_compat; /* readonly-compatible feature set */ /* 0x0030 */ __u8 s_uuid[16]; /* 128-bit uuid for journal */ /* 0x0040 */ - __u32 s_nr_users; /* Nr of filesystems sharing log */ + __be32 s_nr_users; /* Nr of filesystems sharing log */ - __u32 s_dynsuper; /* Blocknr of dynamic superblock copy*/ + __be32 s_dynsuper; /* Blocknr of dynamic superblock copy*/ /* 0x0048 */ - __u32 s_max_transaction; /* Limit of journal blocks per trans.*/ - __u32 s_max_trans_data; /* Limit of data blocks per trans. */ + __be32 s_max_transaction; /* Limit of journal blocks per trans.*/ + __be32 s_max_trans_data; /* Limit of data blocks per trans. */ /* 0x0050 */ __u32 s_padding[44]; @@ -277,13 +277,15 @@ void buffer_assertion_failure(struct buffer_head *bh); #define J_EXPECT_JH(jh, expr, why...) J_ASSERT_JH(jh, expr) #else #define __journal_expect(expr, why...) \ - do { \ - if (!(expr)) { \ + ({ \ + int val = (expr); \ + if (!val) { \ printk(KERN_ERR \ "EXT3-fs unexpected failure: %s;\n",# expr); \ - printk(KERN_ERR why); \ + printk(KERN_ERR why "\n"); \ } \ - } while (0) + val; \ + }) #define J_EXPECT(expr, why...) __journal_expect(expr, ## why) #define J_EXPECT_BH(bh, expr, why...) __journal_expect(expr, ## why) #define J_EXPECT_JH(jh, expr, why...) __journal_expect(expr, ## why) @@ -840,6 +842,7 @@ struct journal_s #define JFS_ACK_ERR 0x004 /* The errno in the sb has been acked */ #define JFS_FLUSHED 0x008 /* The journal superblock has been flushed */ #define JFS_LOADED 0x010 /* The journal superblock has been loaded */ +#define JFS_BARRIER 0x020 /* Use IDE barriers */ /* * Function declarations for the journaling transaction and buffer @@ -912,7 +915,7 @@ extern int journal_dirty_data (handle_t *, struct buffer_head *); extern int journal_dirty_metadata (handle_t *, struct buffer_head *); extern void journal_release_buffer (handle_t *, struct buffer_head *, int credits); -extern void journal_forget (handle_t *, struct buffer_head *); +extern int journal_forget (handle_t *, struct buffer_head *); extern void journal_sync_buffer (struct buffer_head *); extern int journal_invalidatepage(journal_t *, struct page *, unsigned long); diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d83acc4e7..d818723d5 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -73,6 +74,7 @@ extern void __cond_resched(void); }) extern struct notifier_block *panic_notifier_list; +extern long (*panic_blink)(long time); NORET_TYPE void panic(const char * fmt, ...) __attribute__ ((NORET_AND format (printf, 1, 2))); asmlinkage NORET_TYPE void do_exit(long error_code) @@ -105,6 +107,7 @@ extern int __kernel_text_address(unsigned long addr); extern int kernel_text_address(unsigned long addr); extern int session_of_pgrp(int pgrp); +asmlinkage int vprintk(const char *fmt, va_list args); asmlinkage int printk(const char * fmt, ...) __attribute__ ((format (printf, 1, 2))); @@ -118,6 +121,10 @@ static inline int __attribute_pure__ long_log2(unsigned long x) return r; } +static inline unsigned long __attribute_const__ roundup_pow_of_two(unsigned long x) +{ + return (1UL << fls(x - 1)); +} extern int printk_ratelimit(void); extern int __printk_ratelimit(int ratelimit_jiffies, int ratelimit_burst); @@ -138,6 +145,8 @@ extern int oops_in_progress; /* If set, an oops, panic(), BUG() or die() is in extern int panic_on_oops; extern int tainted; extern const char *print_tainted(void); +extern void add_taint(unsigned); + struct pt_regs; extern void (*netdump_func) (struct pt_regs *regs); extern int netdump_mode; @@ -156,6 +165,8 @@ extern enum system_states { #define TAINT_FORCED_MODULE (1<<1) #define TAINT_UNSAFE_SMP (1<<2) #define TAINT_FORCED_RMMOD (1<<3) +#define TAINT_MACHINE_CHECK (1<<4) +#define TAINT_BAD_PAGE (1<<5) extern void dump_stack(void); diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h index 1f3bc241e..4594ccc4a 100644 --- a/include/linux/kernel_stat.h +++ b/include/linux/kernel_stat.h @@ -35,7 +35,6 @@ DECLARE_PER_CPU(struct kernel_stat, kstat); #define kstat_this_cpu __get_cpu_var(kstat) extern unsigned long long nr_context_switches(void); -extern unsigned long long nr_preempt(void); /* * Number of interrupts per specific IRQ source, since bootup diff --git a/include/linux/kmalloc_sizes.h b/include/linux/kmalloc_sizes.h index 32e45b72a..d82d4c05c 100644 --- a/include/linux/kmalloc_sizes.h +++ b/include/linux/kmalloc_sizes.h @@ -12,7 +12,6 @@ CACHE(256) CACHE(512) CACHE(1024) - CACHE(1620) CACHE(2048) CACHE(4096) CACHE(8192) diff --git a/include/linux/kmod.h b/include/linux/kmod.h index 588f4c6eb..3899a046e 100644 --- a/include/linux/kmod.h +++ b/include/linux/kmod.h @@ -36,6 +36,7 @@ static inline int request_module(const char * name, ...) { return -ENOSYS; } #define try_then_request_module(x, mod...) ((x) ?: (request_module(mod), (x))) extern int call_usermodehelper(char *path, char *argv[], char *envp[], int wait); extern void usermodehelper_init(void); +extern int __exec_usermodehelper(char *path, char **argv, char **envp); #ifdef CONFIG_HOTPLUG extern char hotplug_path []; diff --git a/include/linux/kobject.h b/include/linux/kobject.h index 6360d2258..331d25b9c 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h @@ -12,13 +12,16 @@ * destructors. */ -#if defined(__KERNEL__) && !defined(_KOBJECT_H_) +#ifndef _KOBJECT_H_ #define _KOBJECT_H_ +#ifdef __KERNEL__ + #include #include #include #include +#include #include #define KOBJ_NAME_LEN 20 @@ -26,7 +29,7 @@ struct kobject { char * k_name; char name[KOBJ_NAME_LEN]; - atomic_t refcount; + struct kref kref; struct list_head entry; struct kobject * parent; struct kset * kset; @@ -58,6 +61,8 @@ extern void kobject_put(struct kobject *); extern void kobject_hotplug(const char *action, struct kobject *); +extern char * kobject_get_path(struct kset *, struct kobject *, int); + struct kobj_type { void (*release)(struct kobject *); struct sysfs_ops * sysfs_ops; @@ -229,5 +234,5 @@ struct subsys_attribute { extern int subsys_create_file(struct subsystem * , struct subsys_attribute *); extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *); - +#endif /* __KERNEL__ */ #endif /* _KOBJECT_H_ */ diff --git a/include/linux/libata.h b/include/linux/libata.h index acbd71969..017bf6d7c 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -32,7 +32,6 @@ /* * compile-time options */ -#undef ATA_FORCE_PIO /* do not configure or use DMA */ #undef ATA_DEBUG /* debugging output */ #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ #undef ATA_IRQ_TRAP /* define to ack screaming irqs */ @@ -69,7 +68,6 @@ /* defines only for the constants which don't work well as enums */ #define ATA_TAG_POISON 0xfafbfcfdU -#undef PORT_UNKNOWN enum { /* various global constants */ LIBATA_MAX_PRD = ATA_MAX_PRD / 2, @@ -89,10 +87,7 @@ enum { /* struct ata_device stuff */ ATA_DFLAG_LBA48 = (1 << 0), /* device supports LBA48 */ ATA_DFLAG_PIO = (1 << 1), /* device currently in PIO mode */ - ATA_DFLAG_MASTER = (1 << 2), /* is device 0? */ - ATA_DFLAG_WCACHE = (1 << 3), /* has write cache we can - * (hopefully) flush? */ - ATA_DFLAG_LOCK_SECTORS = (1 << 4), /* don't adjust max_sectors */ + ATA_DFLAG_LOCK_SECTORS = (1 << 2), /* don't adjust max_sectors */ ATA_DEV_UNKNOWN = 0, /* unknown device */ ATA_DEV_ATA = 1, /* ATA device */ @@ -110,9 +105,9 @@ enum { ATA_FLAG_SRST = (1 << 5), /* use ATA SRST, not E.D.D. */ ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */ ATA_FLAG_SATA_RESET = (1 << 7), /* use COMRESET */ + ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ - ATA_QCFLAG_DMA = (1 << 2), /* data delivered via DMA */ ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ ATA_QCFLAG_SINGLE = (1 << 4), /* no s/g, just a single buffer */ ATA_QCFLAG_DMAMAP = ATA_QCFLAG_SG | ATA_QCFLAG_SINGLE, @@ -141,6 +136,13 @@ enum { PORT_UNKNOWN = 0, PORT_ENABLED = 1, PORT_DISABLED = 2, + + /* encoding various smaller bitmaps into a single + * unsigned long bitmap + */ + ATA_SHIFT_UDMA = 0, + ATA_SHIFT_MWDMA = 8, + ATA_SHIFT_PIO = 11, }; enum pio_task_states { @@ -188,13 +190,15 @@ struct ata_probe_ent { Scsi_Host_Template *sht; struct ata_ioports port[ATA_MAX_PORTS]; unsigned int n_ports; + unsigned int hard_port_no; unsigned int pio_mask; + unsigned int mwdma_mask; unsigned int udma_mask; unsigned int legacy_mode; unsigned long irq; unsigned int irq_flags; unsigned long host_flags; - void *mmio_base; + void __iomem *mmio_base; void *private_data; }; @@ -202,7 +206,7 @@ struct ata_host_set { spinlock_t lock; struct pci_dev *pdev; unsigned long irq; - void *mmio_base; + void __iomem *mmio_base; unsigned int n_ports; void *private_data; struct ata_port_operations *ops; @@ -216,6 +220,9 @@ struct ata_queued_cmd { struct scsi_cmnd *scsicmd; void (*scsidone)(struct scsi_cmnd *); + struct ata_taskfile tf; + u8 cdb[ATAPI_CDB_LEN]; + unsigned long flags; /* ATA_QCFLAG_xxx */ unsigned int tag; unsigned int n_elem; @@ -224,10 +231,13 @@ struct ata_queued_cmd { unsigned int nsect; unsigned int cursect; + + unsigned int nbytes; + unsigned int curbytes; + unsigned int cursg; unsigned int cursg_ofs; - struct ata_taskfile tf; struct scatterlist sgent; void *buf_virt; @@ -252,8 +262,10 @@ struct ata_device { unsigned int class; /* ATA_DEV_xxx */ unsigned int devno; /* 0 or 1 */ u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */ - unsigned int pio_mode; - unsigned int udma_mode; + u8 pio_mode; + u8 dma_mode; + u8 xfer_mode; + unsigned int xfer_shift; /* ATA_SHIFT_xxx */ /* cache info about current transfer mode */ u8 xfer_protocol; /* taskfile xfer protocol */ @@ -267,6 +279,7 @@ struct ata_port { unsigned long flags; /* ATA_FLAG_xxx */ unsigned int id; /* unique id req'd by scsi midlyr */ unsigned int port_no; /* unique port #; from zero */ + unsigned int hard_port_no; /* hardware port #; from zero */ struct ata_prd *prd; /* our SG list */ dma_addr_t prd_dma; /* and its DMA mapping */ @@ -278,8 +291,10 @@ struct ata_port { unsigned int bus_state; unsigned int port_state; unsigned int pio_mask; + unsigned int mwdma_mask; unsigned int udma_mask; unsigned int cbl; /* cable type; ATA_CBL_xxx */ + unsigned int cdb_len; struct ata_device device[ATA_MAX_DEVICES]; @@ -304,16 +319,15 @@ struct ata_port_operations { void (*dev_config) (struct ata_port *, struct ata_device *); - void (*set_piomode) (struct ata_port *, struct ata_device *, - unsigned int); - void (*set_udmamode) (struct ata_port *, struct ata_device *, - unsigned int); + void (*set_piomode) (struct ata_port *, struct ata_device *); + void (*set_dmamode) (struct ata_port *, struct ata_device *); void (*tf_load) (struct ata_port *ap, struct ata_taskfile *tf); void (*tf_read) (struct ata_port *ap, struct ata_taskfile *tf); void (*exec_command)(struct ata_port *ap, struct ata_taskfile *tf); u8 (*check_status)(struct ata_port *ap); + void (*dev_select)(struct ata_port *ap, unsigned int device); void (*phy_reset) (struct ata_port *ap); void (*post_set_mode) (struct ata_port *ap); @@ -343,6 +357,7 @@ struct ata_port_info { Scsi_Host_Template *sht; unsigned long host_flags; unsigned long pio_mask; + unsigned long mwdma_mask; unsigned long udma_mask; struct ata_port_operations *port_ops; }; @@ -355,6 +370,7 @@ struct pci_bits { }; extern void ata_port_probe(struct ata_port *); +extern void __sata_phy_reset(struct ata_port *ap); extern void sata_phy_reset(struct ata_port *ap); extern void ata_bus_reset(struct ata_port *ap); extern void ata_port_disable(struct ata_port *); @@ -364,6 +380,7 @@ extern int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_i extern void ata_pci_remove_one (struct pci_dev *pdev); extern int ata_device_add(struct ata_probe_ent *ent); extern int ata_scsi_detect(Scsi_Host_Template *sht); +extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)); extern int ata_scsi_error(struct Scsi_Host *host); extern int ata_scsi_release(struct Scsi_Host *host); @@ -371,41 +388,43 @@ extern unsigned int ata_host_intr(struct ata_port *ap, struct ata_queued_cmd *qc /* * Default driver ops implementations */ -extern void ata_tf_load_pio(struct ata_port *ap, struct ata_taskfile *tf); -extern void ata_tf_load_mmio(struct ata_port *ap, struct ata_taskfile *tf); -extern void ata_tf_read_pio(struct ata_port *ap, struct ata_taskfile *tf); -extern void ata_tf_read_mmio(struct ata_port *ap, struct ata_taskfile *tf); +extern void ata_tf_load(struct ata_port *ap, struct ata_taskfile *tf); +extern void ata_tf_read(struct ata_port *ap, struct ata_taskfile *tf); extern void ata_tf_to_fis(struct ata_taskfile *tf, u8 *fis, u8 pmp); extern void ata_tf_from_fis(u8 *fis, struct ata_taskfile *tf); -extern u8 ata_check_status_pio(struct ata_port *ap); -extern u8 ata_check_status_mmio(struct ata_port *ap); -extern void ata_exec_command_pio(struct ata_port *ap, struct ata_taskfile *tf); -extern void ata_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf); +extern void ata_noop_dev_select (struct ata_port *ap, unsigned int device); +extern void ata_std_dev_select (struct ata_port *ap, unsigned int device); +extern u8 ata_check_status(struct ata_port *ap); +extern void ata_exec_command(struct ata_port *ap, struct ata_taskfile *tf); extern int ata_port_start (struct ata_port *ap); extern void ata_port_stop (struct ata_port *ap); extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs); +extern struct ata_probe_ent * +ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port); +extern struct ata_probe_ent * +ata_pci_init_legacy_mode(struct pci_dev *pdev, struct ata_port_info **port); extern void ata_qc_prep(struct ata_queued_cmd *qc); extern int ata_qc_issue_prot(struct ata_queued_cmd *qc); extern void ata_sg_init_one(struct ata_queued_cmd *qc, void *buf, unsigned int buflen); extern void ata_sg_init(struct ata_queued_cmd *qc, struct scatterlist *sg, unsigned int n_elem); -extern void ata_dev_id_string(struct ata_device *dev, unsigned char *s, +extern unsigned int ata_dev_classify(struct ata_taskfile *tf); +extern void ata_dev_id_string(u16 *id, unsigned char *s, unsigned int ofs, unsigned int len); -extern void ata_bmdma_setup_mmio (struct ata_queued_cmd *qc); -extern void ata_bmdma_start_mmio (struct ata_queued_cmd *qc); -extern void ata_bmdma_setup_pio (struct ata_queued_cmd *qc); -extern void ata_bmdma_start_pio (struct ata_queued_cmd *qc); +extern void ata_bmdma_setup (struct ata_queued_cmd *qc); +extern void ata_bmdma_start (struct ata_queued_cmd *qc); extern void ata_bmdma_irq_clear(struct ata_port *ap); extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits); extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat); extern void ata_eng_timeout(struct ata_port *ap); +extern void ata_scsi_simulate(u16 *id, struct scsi_cmnd *cmd, + void (*done)(struct scsi_cmnd *)); extern int ata_std_bios_param(struct scsi_device *sdev, struct block_device *bdev, sector_t capacity, int geom[]); extern int ata_scsi_slave_config(struct scsi_device *sdev); - static inline unsigned int ata_tag_valid(unsigned int tag) { return (tag < ATA_MAX_QUEUE) ? 1 : 0; @@ -420,7 +439,7 @@ static inline unsigned int ata_dev_present(struct ata_device *dev) static inline u8 ata_chk_err(struct ata_port *ap) { if (ap->flags & ATA_FLAG_MMIO) { - return readb((void *) ap->ioaddr.error_addr); + return readb((void __iomem *) ap->ioaddr.error_addr); } return inb(ap->ioaddr.error_addr); } @@ -433,7 +452,7 @@ static inline u8 ata_chk_status(struct ata_port *ap) static inline u8 ata_altstatus(struct ata_port *ap) { if (ap->flags & ATA_FLAG_MMIO) - return readb(ap->ioaddr.altstatus_addr); + return readb((void __iomem *)ap->ioaddr.altstatus_addr); return inb(ap->ioaddr.altstatus_addr); } @@ -473,7 +492,6 @@ static inline u8 ata_wait_idle(struct ata_port *ap) static inline void ata_qc_set_polling(struct ata_queued_cmd *qc) { - qc->flags &= ~ATA_QCFLAG_DMA; qc->tf.ctl |= ATA_NIEN; } @@ -505,7 +523,7 @@ static inline u8 ata_irq_on(struct ata_port *ap) ap->last_ctl = ap->ctl; if (ap->flags & ATA_FLAG_MMIO) - writeb(ap->ctl, ioaddr->ctl_addr); + writeb(ap->ctl, (void __iomem *) ioaddr->ctl_addr); else outb(ap->ctl, ioaddr->ctl_addr); tmp = ata_wait_idle(ap); @@ -526,7 +544,7 @@ static inline u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq) /* get controller status; clear intr, err bits */ if (ap->flags & ATA_FLAG_MMIO) { - void *mmio = (void *) ap->ioaddr.bmdma_addr; + void __iomem *mmio = (void __iomem *) ap->ioaddr.bmdma_addr; host_stat = readb(mmio + ATA_DMA_STATUS); writeb(host_stat | ATA_DMA_INTR | ATA_DMA_ERR, mmio + ATA_DMA_STATUS); @@ -564,7 +582,7 @@ static inline unsigned int sata_dev_present(struct ata_port *ap) static inline void ata_bmdma_stop(struct ata_port *ap) { if (ap->flags & ATA_FLAG_MMIO) { - void *mmio = (void *) ap->ioaddr.bmdma_addr; + void __iomem *mmio = (void __iomem *) ap->ioaddr.bmdma_addr; /* clear start/stop bit */ writeb(readb(mmio + ATA_DMA_CMD) & ~ATA_DMA_START, @@ -582,7 +600,7 @@ static inline void ata_bmdma_stop(struct ata_port *ap) static inline void ata_bmdma_ack_irq(struct ata_port *ap) { if (ap->flags & ATA_FLAG_MMIO) { - void *mmio = ((void *) ap->ioaddr.bmdma_addr) + ATA_DMA_STATUS; + void __iomem *mmio = ((void __iomem *) ap->ioaddr.bmdma_addr) + ATA_DMA_STATUS; writeb(readb(mmio), mmio); } else { unsigned long addr = ap->ioaddr.bmdma_addr + ATA_DMA_STATUS; @@ -594,11 +612,18 @@ static inline u8 ata_bmdma_status(struct ata_port *ap) { u8 host_stat; if (ap->flags & ATA_FLAG_MMIO) { - void *mmio = (void *) ap->ioaddr.bmdma_addr; + void __iomem *mmio = (void __iomem *) ap->ioaddr.bmdma_addr; host_stat = readb(mmio + ATA_DMA_STATUS); } else host_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); return host_stat; } +static inline int ata_try_flush_cache(struct ata_device *dev) +{ + return ata_id_wcache_enabled(dev->id) || + ata_id_has_flush(dev->id) || + ata_id_has_flush_ext(dev->id); +} + #endif /* __LINUX_LIBATA_H__ */ diff --git a/include/linux/lockd/debug.h b/include/linux/lockd/debug.h index 5b6961d73..34b2b7f33 100644 --- a/include/linux/lockd/debug.h +++ b/include/linux/lockd/debug.h @@ -45,4 +45,13 @@ #define NLMDBG_ALL 0x7fff +/* + * Support for printing NLM cookies in dprintk() + */ +#ifdef RPC_DEBUG +struct nlm_cookie; +/* Call this function with the BKL held (it uses a static buffer) */ +extern const char *nlmdbg_cookie2a(const struct nlm_cookie *); +#endif + #endif /* LINUX_LOCKD_DEBUG_H */ diff --git a/include/linux/lockd/xdr.h b/include/linux/lockd/xdr.h index ef14dbd2a..513050db6 100644 --- a/include/linux/lockd/xdr.h +++ b/include/linux/lockd/xdr.h @@ -13,15 +13,19 @@ #include #include +#define NLM_MAXCOOKIELEN 32 #define NLM_MAXSTRLEN 1024 -#define QUADLEN(len) (((len) + 3) >> 2) - #define nlm_granted __constant_htonl(NLM_LCK_GRANTED) #define nlm_lck_denied __constant_htonl(NLM_LCK_DENIED) #define nlm_lck_denied_nolocks __constant_htonl(NLM_LCK_DENIED_NOLOCKS) #define nlm_lck_blocked __constant_htonl(NLM_LCK_BLOCKED) #define nlm_lck_denied_grace_period __constant_htonl(NLM_LCK_DENIED_GRACE_PERIOD) +/* error codes for internal use */ +/* if a request fails due to kmalloc failure, it gets dropped. + * Client should resend eventually + */ +#define nlm_lck_dropit __constant_htonl(30000) /* Lock info passed via NLM */ struct nlm_lock { @@ -33,13 +37,14 @@ struct nlm_lock { }; /* - * NLM cookies. Technically they can be 1K, Nobody uses over 8 bytes - * however. + * NLM cookies. Technically they can be 1K, but Linux only uses 8 bytes. + * FreeBSD uses 16, Apple Mac OS X 10.3 uses 20. Therefore we set it to + * 32 bytes. */ struct nlm_cookie { - unsigned char data[8]; + unsigned char data[NLM_MAXCOOKIELEN]; unsigned int len; }; diff --git a/include/linux/mbcache.h b/include/linux/mbcache.h index 7738749e1..3b53f46f8 100644 --- a/include/linux/mbcache.h +++ b/include/linux/mbcache.h @@ -35,7 +35,8 @@ struct mb_cache_entry_index { struct mb_cache_entry { struct list_head e_lru_list; struct mb_cache *e_cache; - atomic_t e_used; + unsigned short e_used; + unsigned short e_queued; struct block_device *e_bdev; sector_t e_block; struct list_head e_block_list; @@ -56,9 +57,7 @@ int mb_cache_entry_insert(struct mb_cache_entry *, struct block_device *, sector_t, unsigned int[]); void mb_cache_entry_rehash(struct mb_cache_entry *, unsigned int[]); void mb_cache_entry_release(struct mb_cache_entry *); -void mb_cache_entry_takeout(struct mb_cache_entry *); void mb_cache_entry_free(struct mb_cache_entry *); -struct mb_cache_entry *mb_cache_entry_dup(struct mb_cache_entry *); struct mb_cache_entry *mb_cache_entry_get(struct mb_cache *, struct block_device *, sector_t); diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h index 5cb08ee54..3a67105e7 100644 --- a/include/linux/miscdevice.h +++ b/include/linux/miscdevice.h @@ -19,6 +19,7 @@ #define SUN_OPENPROM_MINOR 139 #define DMAPI_MINOR 140 /* DMAPI */ #define NVRAM_MINOR 144 +#define SGI_MMTIMER 153 #define STORE_QUEUE_MINOR 155 #define I2O_MINOR 166 #define MICROCODE_MINOR 184 diff --git a/include/linux/mm.h b/include/linux/mm.h index 83c64bb32..8a0c9d2ae 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -26,7 +26,11 @@ extern void * high_memory; extern unsigned long vmalloc_earlyreserve; extern int page_cluster; +#ifdef CONFIG_SYSCTL extern int sysctl_legacy_va_layout; +#else +#define sysctl_legacy_va_layout 0 +#endif #include #include @@ -37,6 +41,8 @@ extern int sysctl_legacy_va_layout; #define MM_VM_SIZE(mm) TASK_SIZE #endif +#define nth_page(page,n) pfn_to_page(page_to_pfn((page)) + (n)) + /* * Linux kernel virtual memory manager primitives. * The idea being to have a "virtual" mm in the same way @@ -197,21 +203,21 @@ struct page { page_flags_t flags; /* Atomic flags, some possibly * updated asynchronously */ atomic_t _count; /* Usage count, see below. */ - unsigned int mapcount; /* Count of ptes mapped in mms, + atomic_t _mapcount; /* Count of ptes mapped in mms, * to show when page is mapped - * & limit reverse map searches, - * protected by PG_maplock. + * & limit reverse map searches. */ unsigned long private; /* Mapping-private opaque data: * usually used for buffer_heads * if PagePrivate set; used for * swp_entry_t if PageSwapCache */ - struct address_space *mapping; /* If PG_anon clear, points to + struct address_space *mapping; /* If low bit clear, points to * inode address_space, or NULL. * If page mapped as anonymous - * memory, PG_anon is set, and - * it points to anon_vma object. + * memory, low bit is set, and + * it points to anon_vma object: + * see PAGE_MAPPING_ANON below. */ pgoff_t index; /* Our offset within mapping. */ struct list_head lru; /* Pageout list, eg. active_list @@ -438,24 +444,32 @@ void page_address_init(void); /* * On an anonymous page mapped into a user virtual memory area, - * page->mapping points to its anon_vma, not to a struct address_space. + * page->mapping points to its anon_vma, not to a struct address_space; + * with the PAGE_MAPPING_ANON bit set to distinguish it. * * Please note that, confusingly, "page_mapping" refers to the inode * address_space which maps the page from disk; whereas "page_mapped" * refers to user virtual address space into which the page is mapped. */ +#define PAGE_MAPPING_ANON 1 + extern struct address_space swapper_space; static inline struct address_space *page_mapping(struct page *page) { - struct address_space *mapping = NULL; + struct address_space *mapping = page->mapping; if (unlikely(PageSwapCache(page))) mapping = &swapper_space; - else if (likely(!PageAnon(page))) - mapping = page->mapping; + else if (unlikely((unsigned long)mapping & PAGE_MAPPING_ANON)) + mapping = NULL; return mapping; } +static inline int PageAnon(struct page *page) +{ + return ((unsigned long)page->mapping & PAGE_MAPPING_ANON) != 0; +} + /* * Return the pagecache index of the passed page. Regular pagecache pages * use ->index whereas swapcache pages use ->private @@ -467,12 +481,27 @@ static inline pgoff_t page_index(struct page *page) return page->index; } +/* + * The atomic page->_mapcount, like _count, starts from -1: + * so that transitions both from it and to it can be tracked, + * using atomic_inc_and_test and atomic_add_negative(-1). + */ +static inline void reset_page_mapcount(struct page *page) +{ + atomic_set(&(page)->_mapcount, -1); +} + +static inline int page_mapcount(struct page *page) +{ + return atomic_read(&(page)->_mapcount) + 1; +} + /* * Return true if this page is mapped into pagetables. */ static inline int page_mapped(struct page *page) { - return page->mapcount != 0; + return atomic_read(&(page)->_mapcount) >= 0; } /* @@ -495,13 +524,21 @@ static inline int page_mapped(struct page *page) extern void show_free_areas(void); -struct page *shmem_nopage(struct vm_area_struct * vma, +#ifdef CONFIG_SHMEM +struct page *shmem_nopage(struct vm_area_struct *vma, unsigned long address, int *type); int shmem_set_policy(struct vm_area_struct *vma, struct mempolicy *new); struct mempolicy *shmem_get_policy(struct vm_area_struct *vma, unsigned long addr); -struct file *shmem_file_setup(char * name, loff_t size, unsigned long flags); int shmem_lock(struct file *file, int lock, struct user_struct *user); +#else +#define shmem_nopage filemap_nopage +#define shmem_lock(a, b, c) ({0;}) /* always in memory, no need to lock */ +#define shmem_set_policy(a, b) (0) +#define shmem_get_policy(a, b) (NULL) +#endif +struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags); + int shmem_zero_setup(struct vm_area_struct *); static inline int can_do_mlock(void) @@ -607,31 +644,32 @@ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pgd_t *pgd, unsigned long a } extern void free_area_init(unsigned long * zones_size); -extern void free_area_init_node(int nid, pg_data_t *pgdat, struct page *pmap, +extern void free_area_init_node(int nid, pg_data_t *pgdat, unsigned long * zones_size, unsigned long zone_start_pfn, unsigned long *zholes_size); -extern void memmap_init_zone(struct page *, unsigned long, int, - unsigned long, unsigned long); +extern void memmap_init_zone(unsigned long, int, unsigned long, unsigned long); extern void mem_init(void); extern void show_mem(void); extern void si_meminfo(struct sysinfo * val); extern void si_meminfo_node(struct sysinfo *val, int nid); -static inline void vma_prio_tree_init(struct vm_area_struct *vma) -{ - vma->shared.vm_set.list.next = NULL; - vma->shared.vm_set.list.prev = NULL; - vma->shared.vm_set.parent = NULL; - vma->shared.vm_set.head = NULL; -} - /* prio_tree.c */ void vma_prio_tree_add(struct vm_area_struct *, struct vm_area_struct *old); void vma_prio_tree_insert(struct vm_area_struct *, struct prio_tree_root *); void vma_prio_tree_remove(struct vm_area_struct *, struct prio_tree_root *); -struct vm_area_struct *vma_prio_tree_next( - struct vm_area_struct *, struct prio_tree_root *, - struct prio_tree_iter *, pgoff_t begin, pgoff_t end); +struct vm_area_struct *vma_prio_tree_next(struct vm_area_struct *vma, + struct prio_tree_iter *iter); + +#define vma_prio_tree_foreach(vma, iter, root, begin, end) \ + for (prio_tree_iter_init(iter, root, begin, end), vma = NULL; \ + (vma = vma_prio_tree_next(vma, iter)); ) + +static inline void vma_nonlinear_insert(struct vm_area_struct *vma, + struct list_head *list) +{ + vma->shared.vm_set.parent = NULL; + list_add_tail(&vma->shared.vm_set.list, list); +} /* mmap.c */ extern void vma_adjust(struct vm_area_struct *vma, unsigned long start, @@ -643,7 +681,7 @@ extern struct vm_area_struct *vma_merge(struct mm_struct *, extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *); extern int split_vma(struct mm_struct *, struct vm_area_struct *, unsigned long addr, int new_below); -extern void insert_vm_struct(struct mm_struct *, struct vm_area_struct *); +extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *); extern void __vma_link_rb(struct mm_struct *, struct vm_area_struct *, struct rb_node **, struct rb_node *); extern struct vm_area_struct *copy_vma(struct vm_area_struct **, @@ -737,11 +775,30 @@ extern struct vm_area_struct *find_extend_vma(struct mm_struct *mm, unsigned lon extern struct page * vmalloc_to_page(void *addr); extern struct page * follow_page(struct mm_struct *mm, unsigned long address, int write); -extern struct page * follow_page_pfn(struct mm_struct *mm, - unsigned long address, int write, unsigned long *pfn); extern int remap_page_range(struct vm_area_struct *vma, unsigned long from, unsigned long to, unsigned long size, pgprot_t prot); +#ifdef CONFIG_PROC_FS +void __vm_stat_account(struct mm_struct *, unsigned long, struct file *, long); +#else +static inline void __vm_stat_account(struct mm_struct *mm, + unsigned long flags, struct file *file, long pages) +{ +} +#endif /* CONFIG_PROC_FS */ + +static inline void vm_stat_account(struct vm_area_struct *vma) +{ + __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, + vma_pages(vma)); +} + +static inline void vm_stat_unaccount(struct vm_area_struct *vma) +{ + __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, + -vma_pages(vma)); +} + #ifndef CONFIG_DEBUG_PAGEALLOC static inline void kernel_map_pages(struct page *page, int numpages, int enable) diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index e2f19aa36..7c36a10f6 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h @@ -20,14 +20,6 @@ #define MAX_ORDER CONFIG_FORCE_MAX_ZONEORDER #endif -/* - * system hash table size limits - * - on large memory machines, we may want to allocate a bigger hash than that - * permitted by MAX_ORDER, so we allocate with the bootmem allocator, and are - * limited to this size - */ -#define MAX_SYS_HASH_TABLE_ORDER 7 - struct free_area { struct list_head free_list; unsigned long *map; @@ -280,6 +272,8 @@ typedef struct pglist_data { extern int numnodes; extern struct pglist_data *pgdat_list; +void __get_zone_counts(unsigned long *active, unsigned long *inactive, + unsigned long *free, struct pglist_data *pgdat); void get_zone_counts(unsigned long *active, unsigned long *inactive, unsigned long *free); void build_all_zonelists(void); diff --git a/include/linux/module.h b/include/linux/module.h index 9fa25f6c7..8da894806 100644 --- a/include/linux/module.h +++ b/include/linux/module.h @@ -548,24 +548,27 @@ struct obsolete_modparm { char type[64-sizeof(void *)]; void *addr; }; + +static inline void __deprecated MODULE_PARM_(void) { } #ifdef MODULE /* DEPRECATED: Do not use. */ #define MODULE_PARM(var,type) \ struct obsolete_modparm __parm_##var __attribute__((section("__obsparm"))) = \ -{ __stringify(var), type }; - +{ __stringify(var), type, &MODULE_PARM_ }; #else -#define MODULE_PARM(var,type) +#define MODULE_PARM(var,type) static void __attribute__((__unused__)) *__parm_##var = &MODULE_PARM_; #endif #define __MODULE_STRING(x) __stringify(x) /* Use symbol_get and symbol_put instead. You'll thank me. */ #define HAVE_INTER_MODULE -extern void inter_module_register(const char *, struct module *, const void *); -extern void inter_module_unregister(const char *); -extern const void *inter_module_get(const char *); -extern const void *inter_module_get_request(const char *, const char *); -extern void inter_module_put(const char *); +extern void __deprecated inter_module_register(const char *, + struct module *, const void *); +extern void __deprecated inter_module_unregister(const char *); +extern const void * __deprecated inter_module_get(const char *); +extern const void * __deprecated inter_module_get_request(const char *, + const char *); +extern void __deprecated inter_module_put(const char *); #endif /* _LINUX_MODULE_H */ diff --git a/include/linux/moduleparam.h b/include/linux/moduleparam.h index 9e799ecc1..7a145cd86 100644 --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -73,7 +73,7 @@ struct kparam_array #define module_param_string(name, string, len, perm) \ static struct kparam_string __param_string_##name \ = { len, string }; \ - module_param_call(name, param_set_copystring, param_get_charp, \ + module_param_call(name, param_set_copystring, param_get_string, \ &__param_string_##name, perm) /* Called on module insert or kernel boot */ @@ -89,6 +89,10 @@ extern int parse_args(const char *name, #define __param_check(name, p, type) \ static inline type *__check_##name(void) { return(p); } +extern int param_set_byte(const char *val, struct kernel_param *kp); +extern int param_get_byte(char *buffer, struct kernel_param *kp); +#define param_check_byte(name, p) __param_check(name, p, unsigned char) + extern int param_set_short(const char *val, struct kernel_param *kp); extern int param_get_short(char *buffer, struct kernel_param *kp); #define param_check_short(name, p) __param_check(name, p, short) @@ -140,6 +144,7 @@ extern int param_array_set(const char *val, struct kernel_param *kp); extern int param_array_get(char *buffer, struct kernel_param *kp); extern int param_set_copystring(const char *val, struct kernel_param *kp); +extern int param_get_string(char *buffer, struct kernel_param *kp); int param_array(const char *name, const char *val, diff --git a/include/linux/msdos_fs.h b/include/linux/msdos_fs.h index d35fe747b..812b01fe3 100644 --- a/include/linux/msdos_fs.h +++ b/include/linux/msdos_fs.h @@ -244,9 +244,6 @@ extern struct file_operations fat_dir_operations; extern int fat_search_long(struct inode *inode, const unsigned char *name, int name_len, int anycase, loff_t *spos, loff_t *lpos); -extern int fat_readdir(struct file *filp, void *dirent, filldir_t filldir); -extern int fat_dir_ioctl(struct inode * inode, struct file * filp, - unsigned int cmd, unsigned long arg); extern int fat_add_entries(struct inode *dir, int slots, struct buffer_head **bh, struct msdos_dir_entry **de, loff_t *i_pos); extern int fat_new_dir(struct inode *dir, struct inode *parent, int is_vfat); @@ -270,13 +267,8 @@ extern void fat_detach(struct inode *inode); extern struct inode *fat_iget(struct super_block *sb, loff_t i_pos); extern struct inode *fat_build_inode(struct super_block *sb, struct msdos_dir_entry *de, loff_t i_pos, int *res); -extern void fat_delete_inode(struct inode *inode); -extern void fat_clear_inode(struct inode *inode); -extern void fat_put_super(struct super_block *sb); int fat_fill_super(struct super_block *sb, void *data, int silent, struct inode_operations *fs_dir_inode_ops, int isvfat); -extern int fat_statfs(struct super_block *sb, struct kstatfs *buf); -extern int fat_write_inode(struct inode *inode, int wait); extern int fat_notify_change(struct dentry * dentry, struct iattr * attr); /* fat/misc.c */ diff --git a/include/linux/mtd/map.h b/include/linux/mtd/map.h index ed41daec7..278d0f30d 100644 --- a/include/linux/mtd/map.h +++ b/include/linux/mtd/map.h @@ -179,7 +179,7 @@ struct map_info { unsigned long phys; #define NO_XIP (-1UL) - unsigned long virt; + void __iomem *virt; void *cached; int bankwidth; /* in octets. This isn't necessarily the width diff --git a/include/linux/ncp_fs.h b/include/linux/ncp_fs.h index d9ab889ed..7297e4372 100644 --- a/include/linux/ncp_fs.h +++ b/include/linux/ncp_fs.h @@ -36,7 +36,7 @@ struct ncp_fs_info { used for read/write requests! */ int volume_number; - __u32 directory_id; + __le32 directory_id; }; struct ncp_fs_info_v2 { @@ -46,7 +46,7 @@ struct ncp_fs_info_v2 { unsigned int buffer_size; unsigned int volume_number; - __u32 directory_id; + __le32 directory_id; __u32 dummy1; __u32 dummy2; @@ -78,7 +78,7 @@ struct ncp_setroot_ioctl { int volNumber; int namespace; - __u32 dirEntNum; + __le32 dirEntNum; }; struct ncp_objectname_ioctl @@ -239,8 +239,8 @@ void ncp_update_inode2(struct inode *, struct ncp_entry_info *); extern struct inode_operations ncp_dir_inode_operations; extern struct file_operations ncp_dir_operations; int ncp_conn_logged_in(struct super_block *); -int ncp_date_dos2unix(__u16 time, __u16 date); -void ncp_date_unix2dos(int unix_date, __u16 * time, __u16 * date); +int ncp_date_dos2unix(__le16 time, __le16 date); +void ncp_date_unix2dos(int unix_date, __le16 * time, __le16 * date); /* linux/fs/ncpfs/ioctl.c */ int ncp_ioctl(struct inode *, struct file *, unsigned int, unsigned long); diff --git a/include/linux/net.h b/include/linux/net.h index 22daf7858..af490821b 100644 --- a/include/linux/net.h +++ b/include/linux/net.h @@ -21,6 +21,7 @@ #include #include #include +#include struct poll_table_struct; struct inode; @@ -63,6 +64,34 @@ typedef enum { #define SOCK_PASS_CRED 16 #define SOCK_USER_SOCKET 17 +#ifndef ARCH_HAS_SOCKET_TYPES +/** sock_type - Socket types + * + * When adding some new socket type please + * grep ARCH_HAS_SOCKET_TYPE include/asm-* /socket.h, at least MIPS + * overrides this enum for binary compat reasons. + * + * @SOCK_STREAM - stream (connection) socket + * @SOCK_DGRAM - datagram (conn.less) socket + * @SOCK_RAW - raw socket + * @SOCK_RDM - reliably-delivered message + * @SOCK_SEQPACKET - sequential packet socket + * @SOCK_PACKET - linux specific way of getting packets at the dev level. + * For writing rarp and other similar things on the user level. + */ +enum sock_type { + SOCK_STREAM = 1, + SOCK_DGRAM = 2, + SOCK_RAW = 3, + SOCK_RDM = 4, + SOCK_SEQPACKET = 5, + SOCK_PACKET = 10, +}; + +#define SOCK_MAX (SOCK_PACKET + 1) + +#endif /* ARCH_HAS_SOCKET_TYPES */ + /** * struct socket - general BSD socket * @state - socket state (%SS_CONNECTED, etc) @@ -170,6 +199,7 @@ extern struct socket *sockfd_lookup(int fd, int *err); extern int net_ratelimit(void); extern unsigned long net_random(void); extern void net_srandom(unsigned long); +extern void net_random_init(void); extern int kernel_sendmsg(struct socket *sock, struct msghdr *msg, struct kvec *vec, size_t num, size_t len); diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index d35a75b4f..77751998b 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -73,6 +73,11 @@ struct ethtool_ops; #define MAX_ADDR_LEN 32 /* Largest hardware address length */ +/* Driver transmit return codes */ +#define NETDEV_TX_OK 0 /* driver took care of packet */ +#define NETDEV_TX_BUSY 1 /* driver tx path was busy*/ +#define NETDEV_TX_LOCKED -1 /* driver tx lock was already taken */ + /* * Compute the worst case header length according to the protocols * used. @@ -479,7 +484,6 @@ struct net_device /* class/net/name entry */ struct class_device class_dev; - struct net_device_stats* (*last_stats)(struct net_device *); /* how much padding had been added by alloc_netdev() */ int padded; }; @@ -520,20 +524,13 @@ extern int netdev_boot_setup_add(char *name, struct ifmap *map); extern int netdev_boot_setup_check(struct net_device *dev); extern unsigned long netdev_boot_base(const char *prefix, int unit); extern struct net_device *dev_getbyhwaddr(unsigned short type, char *hwaddr); -extern struct net_device *__dev_getfirstbyhwtype(unsigned short type); extern struct net_device *dev_getfirstbyhwtype(unsigned short type); extern void dev_add_pack(struct packet_type *pt); extern void dev_remove_pack(struct packet_type *pt); extern void __dev_remove_pack(struct packet_type *pt); -extern int __dev_get(const char *name); -static inline int __deprecated dev_get(const char *name) -{ - return __dev_get(name); -} + extern struct net_device *dev_get_by_flags(unsigned short flags, unsigned short mask); -extern struct net_device *__dev_get_by_flags(unsigned short flags, - unsigned short mask); extern struct net_device *dev_get_by_name(const char *name); extern struct net_device *__dev_get_by_name(const char *name); extern int dev_alloc_name(struct net_device *dev, const char *name); @@ -547,7 +544,6 @@ extern void synchronize_net(void); extern int register_netdevice_notifier(struct notifier_block *nb); extern int unregister_netdevice_notifier(struct notifier_block *nb); extern int call_netdevice_notifiers(unsigned long val, void *v); -extern int dev_new_index(void); extern struct net_device *dev_get_by_index(int ifindex); extern struct net_device *__dev_get_by_index(int ifindex); extern int dev_restart(struct net_device *dev); @@ -677,6 +673,7 @@ extern int dev_ioctl(unsigned int cmd, void __user *); extern int dev_ethtool(struct ifreq *); extern unsigned dev_get_flags(const struct net_device *); extern int dev_change_flags(struct net_device *, unsigned); +extern int dev_change_name(struct net_device *, char *); extern int dev_set_mtu(struct net_device *, int); extern void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev); @@ -684,12 +681,6 @@ extern void dev_init(void); extern int netdev_nit; -/* netconsole rx hook registration */ -extern int netdump_register_hooks(int (*)(struct sk_buff *), - int (*)(struct sk_buff *), - void (*)(struct pt_regs *)); -extern void netdump_unregister_hooks(void); - /* Post buffer to the network code from _non interrupt_ context. * see net/core/dev.c for netif_rx description. */ @@ -939,8 +930,6 @@ extern void netdev_state_change(struct net_device *dev); /* Load a device via the kmod */ extern void dev_load(const char *name); extern void dev_mcast_init(void); -extern int netdev_register_fc(struct net_device *dev, void (*stimul)(struct net_device *dev)); -extern void netdev_unregister_fc(int bit); extern int netdev_max_backlog; extern int weight_p; extern unsigned long netdev_fc_xoff; diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 83f966865..ced669291 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h @@ -172,13 +172,7 @@ extern void nf_reinject(struct sk_buff *skb, struct nf_info *info, unsigned int verdict); -extern inline struct ipt_target * -ipt_find_target_lock(const char *name, int *error, struct semaphore *mutex); -extern inline struct ip6t_target * -ip6t_find_target_lock(const char *name, int *error, struct semaphore *mutex); -extern inline struct arpt_target * -arpt_find_target_lock(const char *name, int *error, struct semaphore *mutex); -extern void (*ip_ct_attach)(struct sk_buff *, struct nf_ct_info *); +extern void (*ip_ct_attach)(struct sk_buff *, struct sk_buff *); #ifdef CONFIG_NETFILTER_DEBUG extern void nf_dump_skb(int pf, struct sk_buff *skb); diff --git a/include/linux/netfilter_ipv4/ip_conntrack.h b/include/linux/netfilter_ipv4/ip_conntrack.h index f2ded1156..aaae27b76 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack.h +++ b/include/linux/netfilter_ipv4/ip_conntrack.h @@ -53,11 +53,13 @@ enum ip_conntrack_status { #include #include #include +#include /* per conntrack: protocol private data */ union ip_conntrack_proto { /* insert conntrack proto private data here */ struct ip_ct_gre gre; + struct ip_ct_sctp sctp; struct ip_ct_tcp tcp; struct ip_ct_icmp icmp; }; @@ -179,9 +181,6 @@ struct ip_conntrack plus 1 for any connection(s) we are `master' for */ struct nf_conntrack ct_general; - /* These are my tuples; original and reply */ - struct ip_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX]; - /* Have we seen traffic both ways yet? (bitset) */ unsigned long status; @@ -206,12 +205,7 @@ struct ip_conntrack /* Helper, if any. */ struct ip_conntrack_helper *helper; - /* Our various nf_ct_info structs specify *what* relation this - packet has to the conntrack */ - struct nf_ct_info infos[IP_CT_NUMBER]; - /* Storage reserved for other modules: */ - union ip_conntrack_proto proto; union ip_conntrack_help help; @@ -230,6 +224,9 @@ struct ip_conntrack /* VServer context id */ xid_t xid[IP_CT_DIR_MAX]; + /* Traversed often, so hopefully in different cacheline to top */ + /* These are my tuples; original and reply */ + struct ip_conntrack_tuple_hash tuplehash[IP_CT_DIR_MAX]; }; /* get master conntrack via master expectation */ @@ -248,8 +245,12 @@ ip_conntrack_tuple_taken(const struct ip_conntrack_tuple *tuple, const struct ip_conntrack *ignored_conntrack); /* Return conntrack_info and tuple hash for given skb. */ -extern struct ip_conntrack * -ip_conntrack_get(struct sk_buff *skb, enum ip_conntrack_info *ctinfo); +static inline struct ip_conntrack * +ip_conntrack_get(const struct sk_buff *skb, enum ip_conntrack_info *ctinfo) +{ + *ctinfo = skb->nfctinfo; + return (struct ip_conntrack *)skb->nfct; +} /* decrement reference count on a conntrack */ extern inline void ip_conntrack_put(struct ip_conntrack *ct); @@ -274,12 +275,18 @@ extern void ip_ct_refresh_acct(struct ip_conntrack *ct, unsigned long extra_jiffies); /* These are for NAT. Icky. */ +/* Update TCP window tracking data when NAT mangles the packet */ +extern int ip_conntrack_tcp_update(struct sk_buff *skb, + struct ip_conntrack *conntrack, + int dir); + /* Call me when a conntrack is destroyed. */ extern void (*ip_conntrack_destroyed)(struct ip_conntrack *conntrack); /* Fake conntrack entry for untracked connections */ extern struct ip_conntrack ip_conntrack_untracked; +extern int ip_ct_no_defrag; /* Returns new sk_buff, or NULL */ struct sk_buff * ip_ct_gather_frags(struct sk_buff *skb); @@ -296,6 +303,27 @@ static inline int is_confirmed(struct ip_conntrack *ct) } extern unsigned int ip_conntrack_htable_size; + +struct ip_conntrack_stat +{ + unsigned int searched; + unsigned int found; + unsigned int new; + unsigned int invalid; + unsigned int ignore; + unsigned int delete; + unsigned int delete_list; + unsigned int insert; + unsigned int insert_failed; + unsigned int drop; + unsigned int early_drop; + unsigned int error; + unsigned int expect_new; + unsigned int expect_create; + unsigned int expect_delete; +}; + +#define CONNTRACK_STAT_INC(count) (__get_cpu_var(ip_conntrack_stat).count++) /* eg. PROVIDES_CONNTRACK(ftp); */ #define PROVIDES_CONNTRACK(name) \ diff --git a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h index d2bd0be99..0ca0f7e81 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h @@ -28,6 +28,9 @@ union ip_conntrack_manip_proto struct { u_int32_t key; } gre; + struct { + u_int16_t port; + } sctp; }; /* The manipulable part of the tuple. */ @@ -61,6 +64,9 @@ struct ip_conntrack_tuple struct { u_int32_t key; } gre; + struct { + u_int16_t port; + } sctp; } u; /* The protocol. */ diff --git a/include/linux/netfilter_ipv4/ip_tables.h b/include/linux/netfilter_ipv4/ip_tables.h index b4c2b2b38..defc7bc47 100644 --- a/include/linux/netfilter_ipv4/ip_tables.h +++ b/include/linux/netfilter_ipv4/ip_tables.h @@ -336,7 +336,6 @@ ipt_get_target(struct ipt_entry *e) * Main firewall chains definitions and global var's definitions. */ #ifdef __KERNEL__ -static DECLARE_MUTEX(ipt_mutex); #include extern void ipt_init(void) __init; @@ -408,11 +407,6 @@ struct ipt_target struct module *me; }; -extern struct ipt_target * -ipt_find_target_lock(const char *name, int *error, struct semaphore *mutex); -extern struct arpt_target * -arpt_find_target_lock(const char *name, int *error, struct semaphore *mutex); - extern int ipt_register_target(struct ipt_target *target); extern void ipt_unregister_target(struct ipt_target *target); diff --git a/include/linux/netfilter_ipv6/ip6_tables.h b/include/linux/netfilter_ipv6/ip6_tables.h index f9983d16c..6f70cf3df 100644 --- a/include/linux/netfilter_ipv6/ip6_tables.h +++ b/include/linux/netfilter_ipv6/ip6_tables.h @@ -107,10 +107,6 @@ struct ip6t_counters u_int64_t pcnt, bcnt; /* Packet and byte counters */ }; -#ifdef __KERNEL__ -static DECLARE_MUTEX(ip6t_mutex); -#endif - /* Values for "flag" field in struct ip6t_ip6 (general ip6 structure). */ #define IP6T_F_PROTO 0x01 /* Set if rule cares about upper protocols */ diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 670558170..01864a8fd 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h @@ -99,6 +99,7 @@ enum { #ifdef __KERNEL__ #include +#include struct netlink_skb_parms { @@ -133,13 +134,6 @@ int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, long t void netlink_detachskb(struct sock *sk, struct sk_buff *skb); int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol); -/* finegrained unicast helpers: */ -struct sock *netlink_getsockbypid(struct sock *ssk, u32 pid); -struct sock *netlink_getsockbyfilp(struct file *filp); -int netlink_attachskb(struct sock *sk, struct sk_buff *skb, int nonblock, long timeo); -void netlink_detachskb(struct sock *sk, struct sk_buff *skb); -int netlink_sendskb(struct sock *sk, struct sk_buff *skb, int protocol); - /* * skb should fit one page. This choice is good for headerless malloc. * diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h index 806fa16e8..a9e4817c4 100644 --- a/include/linux/netpoll.h +++ b/include/linux/netpoll.h @@ -16,8 +16,7 @@ struct netpoll; struct netpoll { struct net_device *dev; char dev_name[16], *name; - void (*rx_hook)(struct netpoll *, short, char *, int); - void (*dump_func)(struct pt_regs *); + void (*rx_hook)(struct netpoll *, int, char *, int); u32 local_ip, remote_ip; u16 local_port, remote_port; unsigned char local_mac[6], remote_mac[6]; @@ -33,7 +32,6 @@ int netpoll_trap(void); void netpoll_set_trap(int trap); void netpoll_cleanup(struct netpoll *np); int netpoll_rx(struct sk_buff *skb); -void netpoll_reset_locks(struct netpoll *np); #endif diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 0fd3f8178..0ccc263aa 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h @@ -28,6 +28,7 @@ #include #include #include +#include #include /* @@ -75,15 +76,33 @@ #ifdef __KERNEL__ /* - * NFSv3 Access mode cache + * NFSv3/v4 Access mode cache entry */ -struct nfs_access_cache { +struct nfs_access_entry { unsigned long jiffies; struct rpc_cred * cred; int mask; - int err; +}; + +struct nfs4_state; +struct nfs_open_context { + atomic_t count; + struct dentry *dentry; + struct rpc_cred *cred; + struct nfs4_state *state; + fl_owner_t lockowner; + int mode; + int error; + + struct list_head list; + wait_queue_head_t waitq; }; +/* + * NFSv4 delegation + */ +struct nfs_delegation; + /* * nfs fs inode data in memory */ @@ -137,7 +156,7 @@ struct nfs_inode { */ atomic_t data_updates; - struct nfs_access_cache cache_access; + struct nfs_access_entry cache_access; /* * This is the cookie verifier used for NFSv3 readdir @@ -148,6 +167,7 @@ struct nfs_inode { /* * This is the list of dirty unwritten pages. */ + spinlock_t req_lock; struct list_head dirty; struct list_head commit; struct radix_tree_root nfs_page_tree; @@ -156,14 +176,17 @@ struct nfs_inode { ncommit, npages; - /* Credentials for shared mmap */ - struct rpc_cred *mm_cred; + /* Open contexts for shared mmap writes */ + struct list_head open_files; wait_queue_head_t nfs_i_wait; #ifdef CONFIG_NFS_V4 /* NFSv4 state */ struct list_head open_states; + struct nfs_delegation *delegation; + int delegation_state; + struct rw_semaphore rwsem; #endif /* CONFIG_NFS_V4*/ struct inode vfs_inode; @@ -268,9 +291,12 @@ extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *); extern int nfs_permission(struct inode *, int, struct nameidata *); -extern void nfs_set_mmcred(struct inode *, struct rpc_cred *); +extern int nfs_access_get_cached(struct inode *, struct rpc_cred *, struct nfs_access_entry *); +extern void nfs_access_add_cache(struct inode *, struct nfs_access_entry *); extern int nfs_open(struct inode *, struct file *); extern int nfs_release(struct inode *, struct file *); +extern int nfs_attribute_timeout(struct inode *inode); +extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); extern int nfs_setattr(struct dentry *, struct iattr *); extern void nfs_begin_attr_update(struct inode *); @@ -278,6 +304,12 @@ extern void nfs_end_attr_update(struct inode *); extern void nfs_begin_data_update(struct inode *); extern void nfs_end_data_update(struct inode *); extern void nfs_end_data_update_defer(struct inode *); +extern struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, struct rpc_cred *cred); +extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); +extern void put_nfs_open_context(struct nfs_open_context *ctx); +extern void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx); +extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, int mode); +extern void nfs_file_clear_open_context(struct file *filp); /* linux/net/ipv4/ipconfig.c: trims ip addr off front of name, too. */ extern u32 root_nfs_parse_addr(char *name); /*__init*/ @@ -289,16 +321,15 @@ extern struct inode_operations nfs_file_inode_operations; extern struct file_operations nfs_file_operations; extern struct address_space_operations nfs_file_aops; -static __inline__ struct rpc_cred * -nfs_file_cred(struct file *file) +static inline struct rpc_cred *nfs_file_cred(struct file *file) { - struct rpc_cred *cred = NULL; - if (file) - cred = (struct rpc_cred *)file->private_data; -#ifdef RPC_DEBUG - BUG_ON(cred && cred->cr_magic != RPCAUTH_CRED_MAGIC); -#endif - return cred; + if (file != NULL) { + struct nfs_open_context *ctx; + + ctx = (struct nfs_open_context*)file->private_data; + return ctx->cred; + } + return NULL; } /* @@ -418,28 +449,6 @@ extern int nfsroot_mount(struct sockaddr_in *, char *, struct nfs_fh *, * inline functions */ -static inline int nfs_attribute_timeout(struct inode *inode) -{ - struct nfs_inode *nfsi = NFS_I(inode); - - return time_after(jiffies, nfsi->read_cache_jiffies+nfsi->attrtimeo); -} - -/** - * nfs_revalidate_inode - Revalidate the inode attributes - * @server - pointer to nfs_server struct - * @inode - pointer to inode struct - * - * Updates inode attribute information by retrieving the data from the server. - */ -static inline int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode) -{ - if (!(NFS_FLAGS(inode) & (NFS_INO_INVALID_ATTR|NFS_INO_INVALID_DATA)) - && !nfs_attribute_timeout(inode)) - return NFS_STALE(inode) ? -ESTALE : 0; - return __nfs_revalidate_inode(server, inode); -} - static inline loff_t nfs_size_to_loff_t(__u64 size) { @@ -507,8 +516,6 @@ struct idmap; enum nfs4_client_state { NFS4CLNT_OK = 0, - NFS4CLNT_NEW, - NFS4CLNT_SETUP_STATE, }; /* @@ -520,7 +527,6 @@ struct nfs4_client { u64 cl_clientid; /* constant */ nfs4_verifier cl_confirm; unsigned long cl_state; - long cl_generation; u32 cl_lockowner_id; @@ -530,6 +536,7 @@ struct nfs4_client { */ struct rw_semaphore cl_sem; + struct list_head cl_delegations; struct list_head cl_state_owners; struct list_head cl_unused; int cl_nunused; @@ -573,12 +580,11 @@ struct nfs4_state_owner { u32 so_id; /* 32-bit identifier, unique */ struct semaphore so_sema; u32 so_seqid; /* protected by so_sema */ - unsigned int so_flags; /* protected by so_sema */ atomic_t so_count; - long so_generation; struct rpc_cred *so_cred; /* Associated cred */ struct list_head so_states; + struct list_head so_delegations; }; /* @@ -596,7 +602,8 @@ struct nfs4_state_owner { struct nfs4_lock_state { struct list_head ls_locks; /* Other lock stateids */ fl_owner_t ls_owner; /* POSIX lock owner */ - struct nfs4_state * ls_parent; /* Parent nfs4_state */ +#define NFS_LOCK_INITIALIZED 1 + int ls_flags; u32 ls_seqid; u32 ls_id; nfs4_stateid ls_stateid; @@ -606,6 +613,7 @@ struct nfs4_lock_state { /* bits for nfs4_state->flags */ enum { LK_STATE_IN_USE, + NFS_DELEGATED_STATE, }; struct nfs4_state { @@ -629,6 +637,11 @@ struct nfs4_state { }; +struct nfs4_exception { + long timeout; + int retry; +}; + extern struct dentry_operations nfs4_dentry_operations; extern struct inode_operations nfs4_dir_inode_operations; @@ -639,10 +652,12 @@ extern int nfs4_open_reclaim(struct nfs4_state_owner *, struct nfs4_state *); extern int nfs4_proc_async_renew(struct nfs4_client *); extern int nfs4_proc_renew(struct nfs4_client *); extern int nfs4_do_close(struct inode *, struct nfs4_state *); -int nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode); +extern int nfs4_do_downgrade(struct inode *inode, struct nfs4_state *state, mode_t mode); extern int nfs4_wait_clnt_recover(struct rpc_clnt *, struct nfs4_client *); extern struct inode *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); extern int nfs4_open_revalidate(struct inode *, struct dentry *, int); +extern int nfs4_handle_exception(struct nfs_server *, int, struct nfs4_exception *); +extern int nfs4_lock_reclaim(struct nfs4_state *state, struct file_lock *request); /* nfs4renewd.c */ extern void nfs4_schedule_state_renewal(struct nfs4_client *); @@ -654,6 +669,8 @@ extern void init_nfsv4_state(struct nfs_server *); extern void destroy_nfsv4_state(struct nfs_server *); extern struct nfs4_client *nfs4_get_client(struct in_addr *); extern void nfs4_put_client(struct nfs4_client *clp); +extern int nfs4_init_client(struct nfs4_client *clp); +extern struct nfs4_client *nfs4_find_client(struct in_addr *); extern u32 nfs4_alloc_lockowner_id(struct nfs4_client *); extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struct rpc_cred *); @@ -663,14 +680,13 @@ extern void nfs4_put_open_state(struct nfs4_state *); extern void nfs4_close_state(struct nfs4_state *, mode_t); extern struct nfs4_state *nfs4_find_state(struct inode *, struct rpc_cred *, mode_t mode); extern void nfs4_increment_seqid(int status, struct nfs4_state_owner *sp); -extern int nfs4_handle_error(struct nfs_server *, int); extern void nfs4_schedule_state_recovery(struct nfs4_client *); extern struct nfs4_lock_state *nfs4_find_lock_state(struct nfs4_state *state, fl_owner_t); -extern struct nfs4_lock_state *nfs4_alloc_lock_state(struct nfs4_state *state, fl_owner_t); +extern struct nfs4_lock_state *nfs4_get_lock_state(struct nfs4_state *state, fl_owner_t); extern void nfs4_put_lock_state(struct nfs4_lock_state *state); extern void nfs4_increment_lock_seqid(int status, struct nfs4_lock_state *ls); -extern void nfs4_notify_setlk(struct inode *, struct file_lock *, struct nfs4_lock_state *); -extern void nfs4_notify_unlck(struct inode *, struct file_lock *, struct nfs4_lock_state *); +extern void nfs4_notify_setlk(struct nfs4_state *, struct file_lock *, struct nfs4_lock_state *); +extern void nfs4_notify_unlck(struct nfs4_state *, struct file_lock *, struct nfs4_lock_state *); extern void nfs4_copy_stateid(nfs4_stateid *, struct nfs4_state *, fl_owner_t); @@ -681,6 +697,7 @@ struct nfs4_mount_data; #define destroy_nfsv4_state(server) do { } while (0) #define nfs4_put_state_owner(inode, owner) do { } while (0) #define nfs4_put_open_state(state) do { } while (0) +#define nfs4_close_state(a, b) do { } while (0) #define nfs4_renewd_prepare_shutdown(server) do { } while (0) #endif @@ -697,6 +714,7 @@ struct nfs4_mount_data; #define NFSDBG_XDR 0x0020 #define NFSDBG_FILE 0x0040 #define NFSDBG_ROOT 0x0080 +#define NFSDBG_CALLBACK 0x0100 #define NFSDBG_ALL 0xFFFF #ifdef __KERNEL__ diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h index 254fc0769..88e73274f 100644 --- a/include/linux/nfs_mount.h +++ b/include/linux/nfs_mount.h @@ -60,7 +60,7 @@ struct nfs_mount_data { #define NFS_MOUNT_BROKEN_SUID 0x0400 /* 4 */ #define NFS_MOUNT_STRICTLOCK 0x1000 /* reserved for NFSv4 */ #define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 */ -#define NFS_MOUNT_TAGXID 0x8000 /* tagxid */ +#define NFS_MOUNT_TAGXID 0x8000 /* tagxid */ #define NFS_MOUNT_FLAGMASK 0xFFFF #endif diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 5757370b0..bf8143c8c 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h @@ -76,6 +76,11 @@ int nfsd_lookup(struct svc_rqst *, struct svc_fh *, const char *, int, struct svc_fh *); int nfsd_setattr(struct svc_rqst *, struct svc_fh *, struct iattr *, int, time_t); +#ifdef CONFIG_NFSD_V4 +int nfsd4_set_nfs4_acl(struct svc_rqst *, struct svc_fh *, + struct nfs4_acl *); +int nfsd4_get_nfs4_acl(struct svc_rqst *, struct dentry *, struct nfs4_acl **); +#endif /* CONFIG_NFSD_V4 */ int nfsd_create(struct svc_rqst *, struct svc_fh *, char *name, int len, struct iattr *attrs, int type, dev_t rdev, struct svc_fh *res); @@ -89,7 +94,7 @@ int nfsd_commit(struct svc_rqst *, struct svc_fh *, loff_t, unsigned long); #endif /* CONFIG_NFSD_V3 */ int nfsd_open(struct svc_rqst *, struct svc_fh *, int, - int, struct file *); + int, struct file **); void nfsd_close(struct file *); int nfsd_read(struct svc_rqst *, struct svc_fh *, loff_t, struct kvec *,int, unsigned long *); @@ -258,7 +263,6 @@ static inline int is_fsid(struct svc_fh *fh, struct knfsd_fh *reffh) /* * The following attributes are currently not supported by the NFSv4 server: - * ACL (will be supported in a forthcoming patch) * ARCHIVE (deprecated anyway) * FS_LOCATIONS (will be supported eventually) * HIDDEN (unlikely to be supported any time soon) @@ -278,7 +282,7 @@ static inline int is_fsid(struct svc_fh *fh, struct knfsd_fh *reffh) | FATTR4_WORD0_FILEHANDLE | FATTR4_WORD0_FILEID | FATTR4_WORD0_FILES_AVAIL \ | FATTR4_WORD0_FILES_FREE | FATTR4_WORD0_FILES_TOTAL | FATTR4_WORD0_HOMOGENEOUS \ | FATTR4_WORD0_MAXFILESIZE | FATTR4_WORD0_MAXLINK | FATTR4_WORD0_MAXNAME \ - | FATTR4_WORD0_MAXREAD | FATTR4_WORD0_MAXWRITE) + | FATTR4_WORD0_MAXREAD | FATTR4_WORD0_MAXWRITE | FATTR4_WORD0_ACL) #define NFSD_SUPPORTED_ATTRS_WORD1 \ (FATTR4_WORD1_MODE | FATTR4_WORD1_NO_TRUNC | FATTR4_WORD1_NUMLINKS \ @@ -293,7 +297,8 @@ static inline int is_fsid(struct svc_fh *fh, struct knfsd_fh *reffh) (FATTR4_WORD1_TIME_ACCESS_SET | FATTR4_WORD1_TIME_MODIFY_SET) /* These are the only attrs allowed in CREATE/OPEN/SETATTR. */ -#define NFSD_WRITEABLE_ATTRS_WORD0 FATTR4_WORD0_SIZE +#define NFSD_WRITEABLE_ATTRS_WORD0 \ +(FATTR4_WORD0_SIZE | FATTR4_WORD0_ACL ) #define NFSD_WRITEABLE_ATTRS_WORD1 \ (FATTR4_WORD1_MODE | FATTR4_WORD1_OWNER | FATTR4_WORD1_OWNER_GROUP \ | FATTR4_WORD1_TIME_ACCESS_SET | FATTR4_WORD1_TIME_METADATA | FATTR4_WORD1_TIME_MODIFY_SET) diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h index 32ffcd82d..97d84c887 100644 --- a/include/linux/nfsd/state.h +++ b/include/linux/nfsd/state.h @@ -218,7 +218,7 @@ struct nfs4_stateid { struct nfs4_stateowner * st_stateowner; struct nfs4_file * st_file; stateid_t st_stateid; - struct file st_vfs_file; + struct file * st_vfs_file; int st_vfs_set; unsigned long st_access_bmap; unsigned long st_deny_bmap; diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h index ff18ed764..bf94561ca 100644 --- a/include/linux/nfsd/xdr4.h +++ b/include/linux/nfsd/xdr4.h @@ -39,6 +39,8 @@ #ifndef _LINUX_NFSD_XDR4_H #define _LINUX_NFSD_XDR4_H +#include + #define NFSD4_MAX_TAGLEN 128 #define XDR_LEN(n) (((n) + 3) & ~3) @@ -95,6 +97,7 @@ struct nfsd4_create { u32 cr_bmval[2]; /* request */ struct iattr cr_iattr; /* request */ struct nfsd4_change_info cr_cinfo; /* response */ + struct nfs4_acl *cr_acl; }; #define cr_linklen u.link.namelen #define cr_linkname u.link.name @@ -216,7 +219,7 @@ struct nfsd4_open { u32 op_rflags; /* response */ int op_truncate; /* used during processing */ struct nfs4_stateowner *op_stateowner; /* used during processing */ - + struct nfs4_acl *op_acl; }; #define op_iattr u.iattr #define op_verf u.verf @@ -291,6 +294,7 @@ struct nfsd4_setattr { stateid_t sa_stateid; /* request */ u32 sa_bmval[2]; /* request */ struct iattr sa_iattr; /* request */ + struct nfs4_acl *sa_acl; }; struct nfsd4_setclientid { diff --git a/include/linux/notifier.h b/include/linux/notifier.h index 900d43e88..9303a003e 100644 --- a/include/linux/notifier.h +++ b/include/linux/notifier.h @@ -64,10 +64,12 @@ extern int notifier_call_chain(struct notifier_block **n, unsigned long val, voi #define NETLINK_URELEASE 0x0001 /* Unicast netlink socket released */ -#define CPU_ONLINE 0x0002 /* CPU (unsigned)v is up */ -#define CPU_UP_PREPARE 0x0003 /* CPU (unsigned)v coming up */ -#define CPU_UP_CANCELED 0x0004 /* CPU (unsigned)v NOT coming up */ -#define CPU_DEAD 0x0006 /* CPU (unsigned)v dead */ +#define CPU_ONLINE 0x0002 /* CPU (unsigned)v is up */ +#define CPU_UP_PREPARE 0x0003 /* CPU (unsigned)v coming up */ +#define CPU_UP_CANCELED 0x0004 /* CPU (unsigned)v NOT coming up */ +#define CPU_DOWN_PREPARE 0x0005 /* CPU (unsigned)v going down */ +#define CPU_DOWN_FAILED 0x0006 /* CPU (unsigned)v NOT going down */ +#define CPU_DEAD 0x0007 /* CPU (unsigned)v dead */ #endif /* __KERNEL__ */ #endif /* _LINUX_NOTIFIER_H */ diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index c70f46a4e..990fff929 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -69,16 +69,14 @@ #define PG_private 12 /* Has something at ->private */ #define PG_writeback 13 /* Page is under writeback */ #define PG_nosave 14 /* Used for system suspend/resume */ -#define PG_maplock 15 /* Lock bit for rmap to ptes */ +#define PG_compound 15 /* Part of a compound page */ #define PG_swapcache 16 /* Swap page: swp_entry_t in private */ #define PG_mappedtodisk 17 /* Has blocks allocated on-disk */ #define PG_reclaim 18 /* To be reclaimed asap */ -#define PG_compound 19 /* Part of a compound page */ - -#define PG_anon 20 /* Anonymous: anon_vma in mapping */ -#define PG_ckrm_account 21 /* This page is accounted by CKRM */ - +#ifdef CONFIG_CKRM_RES_MEM +#define PG_ckrm_account 19 /* This page is accounted by CKRM */ +#endif /* * Global page accounting. One instance per CPU. Only unsigned longs are @@ -237,6 +235,7 @@ extern unsigned long __read_page_state(unsigned offset); #define PageReserved(page) test_bit(PG_reserved, &(page)->flags) #define SetPageReserved(page) set_bit(PG_reserved, &(page)->flags) #define ClearPageReserved(page) clear_bit(PG_reserved, &(page)->flags) +#define __ClearPageReserved(page) __clear_bit(PG_reserved, &(page)->flags) #define SetPagePrivate(page) set_bit(PG_private, &(page)->flags) #define ClearPagePrivate(page) clear_bit(PG_private, &(page)->flags) @@ -293,10 +292,6 @@ extern unsigned long __read_page_state(unsigned offset); #define SetPageCompound(page) set_bit(PG_compound, &(page)->flags) #define ClearPageCompound(page) clear_bit(PG_compound, &(page)->flags) -#define PageAnon(page) test_bit(PG_anon, &(page)->flags) -#define SetPageAnon(page) set_bit(PG_anon, &(page)->flags) -#define ClearPageAnon(page) clear_bit(PG_anon, &(page)->flags) - #ifdef CONFIG_SWAP #define PageSwapCache(page) test_bit(PG_swapcache, &(page)->flags) #define SetPageSwapCache(page) set_bit(PG_swapcache, &(page)->flags) diff --git a/include/linux/pagevec.h b/include/linux/pagevec.h index e6e43ce82..def32c571 100644 --- a/include/linux/pagevec.h +++ b/include/linux/pagevec.h @@ -5,14 +5,15 @@ * pages. A pagevec is a multipage container which is used for that. */ -#define PAGEVEC_SIZE 16 +/* 14 pointers + two long's align the pagevec structure to a power of two */ +#define PAGEVEC_SIZE 14 struct page; struct address_space; struct pagevec { - unsigned nr; - int cold; + unsigned long nr; + unsigned long cold; struct page *pages[PAGEVEC_SIZE]; }; diff --git a/include/linux/parport.h b/include/linux/parport.h index ab46beb20..fb8774633 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h @@ -466,7 +466,6 @@ extern int parport_poll_peripheral (struct parport *port, int usec); /* For architectural drivers */ -extern void parport_ieee1284_wakeup (struct parport *port); extern size_t parport_ieee1284_write_compat (struct parport *, const void *, size_t, int); extern size_t parport_ieee1284_read_nibble (struct parport *, @@ -500,21 +499,9 @@ extern struct pardevice *parport_open (int devnum, const char *name, extern void parport_close (struct pardevice *dev); extern ssize_t parport_device_id (int devnum, char *buffer, size_t len); extern int parport_device_num (int parport, int mux, int daisy); -extern int parport_device_coords (int devnum, int *parport, int *mux, - int *daisy); extern void parport_daisy_deselect_all (struct parport *port); extern int parport_daisy_select (struct parport *port, int daisy, int mode); -/* For finding devices based on their device ID. Example usage: - int devnum = -1; - while ((devnum = parport_find_class (PARPORT_CLASS_DIGCAM, devnum)) != -1) { - struct pardevice *dev = parport_open (devnum, ...); - ... - } -*/ -extern int parport_find_device (const char *mfg, const char *mdl, int from); -extern int parport_find_class (parport_device_class cls, int from); - /* Lowlevel drivers _can_ call this support function to handle irqs. */ static __inline__ void parport_generic_irq(int irq, struct parport *port, struct pt_regs *regs) diff --git a/include/linux/pci.h b/include/linux/pci.h index 89352514d..bb3707a57 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -536,7 +536,7 @@ struct pci_dev { unsigned int is_enabled:1; /* pci_enable_device has been called */ unsigned int is_busmaster:1; /* device is busmaster */ - unsigned int saved_config_space[16]; /* config space saved at suspend time */ + u32 saved_config_space[16]; /* config space saved at suspend time */ #ifdef CONFIG_PCI_NAMES #define PCI_NAME_SIZE 96 #define PCI_NAME_HALF __stringify(43) /* less than half to handle slop */ @@ -712,7 +712,7 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev, struct reso int pci_get_interrupt_pin(struct pci_dev *dev, struct pci_dev **bridge); extern struct pci_dev *pci_dev_get(struct pci_dev *dev); extern void pci_dev_put(struct pci_dev *dev); - +extern void pci_remove_bus(struct pci_bus *b); extern void pci_remove_bus_device(struct pci_dev *dev); /* Generic PCI functions exported to card drivers */ @@ -1001,17 +1001,27 @@ static inline char *pci_name(struct pci_dev *pdev) */ struct pci_fixup { - int pass; u16 vendor, device; /* You can use PCI_ANY_ID here of course */ void (*hook)(struct pci_dev *dev); }; -extern struct pci_fixup pcibios_fixups[]; +enum pci_fixup_pass { + pci_fixup_header, /* Called immediately after reading configuration header */ + pci_fixup_final, /* Final phase of device fixups */ +}; + +/* Anonymous variables would be nice... */ +#define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \ + static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \ + __attribute__((__section__(".pci_fixup_header"))) = { \ + vendor, device, hook }; -#define PCI_FIXUP_HEADER 1 /* Called immediately after reading configuration header */ -#define PCI_FIXUP_FINAL 2 /* Final phase of device fixups */ +#define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \ + static struct pci_fixup __pci_fixup_##vendor##device##hook __attribute_used__ \ + __attribute__((__section__(".pci_fixup_final"))) = { \ + vendor, device, hook }; -void pci_fixup_device(int pass, struct pci_dev *dev); +void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev); extern int pci_pci_problems; #define PCIPCI_FAIL 1 diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 50a747035..01fe9c356 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -438,8 +438,14 @@ #define PCI_DEVICE_ID_IBM_405GP 0x0156 #define PCI_DEVICE_ID_IBM_SNIPE 0x0180 #define PCI_DEVICE_ID_IBM_SERVERAIDI960 0x01bd +#define PCI_DEVICE_ID_IBM_CITRINE 0x028C #define PCI_DEVICE_ID_IBM_GEMSTONE 0xB166 #define PCI_DEVICE_ID_IBM_MPIC_2 0xffff +#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_1 0x0031 +#define PCI_DEVICE_ID_IBM_ICOM_DEV_ID_2 0x0219 +#define PCI_DEVICE_ID_IBM_ICOM_V2_TWO_PORTS_RVX 0x021A +#define PCI_DEVICE_ID_IBM_ICOM_V2_ONE_PORT_RVX_ONE_PORT_MDM 0x0251 +#define PCI_DEVICE_ID_IBM_ICOM_FOUR_PORT_MODEL 0x252 #define PCI_VENDOR_ID_COMPEX2 0x101a // pci.ids says "AT&T GIS (NCR)" #define PCI_DEVICE_ID_COMPEX2_100VG 0x0005 @@ -670,6 +676,8 @@ #define PCI_DEVICE_ID_HP_SX1000_IOC 0x127c #define PCI_DEVICE_ID_HP_DIVA_EVEREST 0x1282 #define PCI_DEVICE_ID_HP_DIVA_AUX 0x1290 +#define PCI_DEVICE_ID_HP_CISS 0x3210 +#define PCI_DEVICE_ID_HP_CISSA 0x3220 #define PCI_VENDOR_ID_PCTECH 0x1042 #define PCI_DEVICE_ID_PCTECH_RZ1000 0x1000 @@ -727,6 +735,7 @@ #define PCI_DEVICE_ID_TI_1251B 0xac1f #define PCI_DEVICE_ID_TI_4410 0xac41 #define PCI_DEVICE_ID_TI_4451 0xac42 +#define PCI_DEVICE_ID_TI_4520 0xac46 #define PCI_DEVICE_ID_TI_1410 0xac50 #define PCI_DEVICE_ID_TI_1420 0xac51 #define PCI_DEVICE_ID_TI_1451A 0xac52 @@ -1014,10 +1023,14 @@ #define PCI_DEVICE_ID_AL_M1647 0x1647 #define PCI_DEVICE_ID_AL_M1651 0x1651 #define PCI_DEVICE_ID_AL_M1671 0x1671 +#define PCI_DEVICE_ID_AL_M1681 0x1681 +#define PCI_DEVICE_ID_AL_M1683 0x1683 +#define PCI_DEVICE_ID_AL_M1689 0x1689 #define PCI_DEVICE_ID_AL_M1543 0x1543 #define PCI_DEVICE_ID_AL_M3307 0x3307 #define PCI_DEVICE_ID_AL_M4803 0x5215 #define PCI_DEVICE_ID_AL_M5219 0x5219 +#define PCI_DEVICE_ID_AL_M5228 0x5228 #define PCI_DEVICE_ID_AL_M5229 0x5229 #define PCI_DEVICE_ID_AL_M5237 0x5237 #define PCI_DEVICE_ID_AL_M5243 0x5243 @@ -1071,6 +1084,7 @@ #define PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_SATA2 0x0055 #define PCI_DEVICE_ID_NVIDIA_NVENET_8 0x0056 #define PCI_DEVICE_ID_NVIDIA_NVENET_9 0x0057 +#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 0x0059 #define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065 #define PCI_DEVICE_ID_NVIDIA_NVENET_2 0x0066 #define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a @@ -1190,6 +1204,7 @@ #define PCI_DEVICE_ID_VIA_8763_0 0x0198 #define PCI_DEVICE_ID_VIA_8380_0 0x0204 #define PCI_DEVICE_ID_VIA_3238_0 0x0238 +#define PCI_DEVICE_ID_VIA_PT880 0x0258 #define PCI_DEVICE_ID_VIA_PX8X0_0 0x0259 #define PCI_DEVICE_ID_VIA_3269_0 0x0269 #define PCI_DEVICE_ID_VIA_K8T800PRO_0 0x0282 @@ -1234,6 +1249,7 @@ #define PCI_DEVICE_ID_VIA_8233C_0 0x3109 #define PCI_DEVICE_ID_VIA_8361 0x3112 #define PCI_DEVICE_ID_VIA_XM266 0x3116 +#define PCI_DEVICE_ID_VIA_612X 0x3119 #define PCI_DEVICE_ID_VIA_862X_0 0x3123 #define PCI_DEVICE_ID_VIA_8753_0 0x3128 #define PCI_DEVICE_ID_VIA_8233A 0x3147 @@ -1247,7 +1263,6 @@ #define PCI_DEVICE_ID_VIA_8377_0 0x3189 #define PCI_DEVICE_ID_VIA_8378_0 0x3205 #define PCI_DEVICE_ID_VIA_8783_0 0x3208 -#define PCI_DEVICE_ID_VIA_PT880 0x3258 #define PCI_DEVICE_ID_VIA_P4M400 0x3209 #define PCI_DEVICE_ID_VIA_8237 0x3227 #define PCI_DEVICE_ID_VIA_3296_0 0x0296 @@ -1638,6 +1653,7 @@ #define PCI_VENDOR_ID_ITE 0x1283 #define PCI_DEVICE_ID_ITE_IT8172G 0x8172 #define PCI_DEVICE_ID_ITE_IT8172G_AUDIO 0x0801 +#define PCI_DEVICE_ID_ITE_8212 0x8212 #define PCI_DEVICE_ID_ITE_8872 0x8872 #define PCI_DEVICE_ID_ITE_IT8330G_0 0xe886 @@ -1798,6 +1814,11 @@ #define PCI_DEVICE_ID_CCD_B00C 0xb00c #define PCI_DEVICE_ID_CCD_B100 0xb100 +#define PCI_VENDOR_ID_EXAR 0x13a8 +#define PCI_DEVICE_ID_EXAR_XR17C152 0x0152 +#define PCI_DEVICE_ID_EXAR_XR17C154 0x0154 +#define PCI_DEVICE_ID_EXAR_XR17C158 0x0158 + #define PCI_VENDOR_ID_MICROGATE 0x13c0 #define PCI_DEVICE_ID_MICROGATE_USC 0x0010 #define PCI_DEVICE_ID_MICROGATE_SCC 0x0020 @@ -2189,7 +2210,15 @@ #define PCI_DEVICE_ID_INTEL_82830_CGC 0x3577 #define PCI_DEVICE_ID_INTEL_82855GM_HB 0x3580 #define PCI_DEVICE_ID_INTEL_82855GM_IG 0x3582 -#define PCI_DEVICE_ID_INTEL_SMCH 0x3590 +#define PCI_DEVICE_ID_INTEL_E7520_MCH 0x3590 +#define PCI_DEVICE_ID_INTEL_E7320_MCH 0x3592 +#define PCI_DEVICE_ID_INTEL_MCH_PA 0x3595 +#define PCI_DEVICE_ID_INTEL_MCH_PA1 0x3596 +#define PCI_DEVICE_ID_INTEL_MCH_PB 0x3597 +#define PCI_DEVICE_ID_INTEL_MCH_PB1 0x3598 +#define PCI_DEVICE_ID_INTEL_MCH_PC 0x3599 +#define PCI_DEVICE_ID_INTEL_MCH_PC1 0x359a +#define PCI_DEVICE_ID_INTEL_E7525_MCH 0x359e #define PCI_DEVICE_ID_INTEL_80310 0x530d #define PCI_DEVICE_ID_INTEL_82371SB_0 0x7000 #define PCI_DEVICE_ID_INTEL_82371SB_1 0x7010 @@ -2228,7 +2257,9 @@ #define PCI_DEVICE_ID_INTEL_82451NX 0x84ca #define PCI_DEVICE_ID_INTEL_82454NX 0x84cb #define PCI_DEVICE_ID_INTEL_84460GX 0x84ea -#define PCI_DEVICE_ID_INTEL_IXP4XX 0x8500 +#define PCI_DEVICE_ID_INTEL_IXP4XX 0x8500 +#define PCI_DEVICE_ID_INTEL_IXP2400 0x9001 +#define PCI_DEVICE_ID_INTEL_IXP2800 0x9004 #define PCI_VENDOR_ID_COMPUTONE 0x8e0e #define PCI_DEVICE_ID_COMPUTONE_IP2EX 0x0291 @@ -2299,6 +2330,8 @@ #define PCI_DEVICE_ID_NETMOS_9815 0x9815 #define PCI_DEVICE_ID_NETMOS_9835 0x9835 #define PCI_DEVICE_ID_NETMOS_9855 0x9855 +#define PCI_DEVICE_ID_NETMOS_9755 0x9755 +#define PCI_DEVICE_ID_NETMOS_9715 0x9715 #define PCI_SUBVENDOR_ID_EXSYS 0xd84d #define PCI_SUBDEVICE_ID_EXSYS_4014 0x4014 @@ -2311,3 +2344,6 @@ #define PCI_DEVICE_ID_ARK_STING 0xa091 #define PCI_DEVICE_ID_ARK_STINGARK 0xa099 #define PCI_DEVICE_ID_ARK_2000MT 0xa0a1 + +#define PCI_VENDOR_ID_WORKBIT 0x1145 +#define PCI_DEVICE_ID_WORKBIT_CB 0xf021 diff --git a/include/linux/personality.h b/include/linux/personality.h index 7efc05ea7..db31c5828 100644 --- a/include/linux/personality.h +++ b/include/linux/personality.h @@ -12,17 +12,6 @@ extern int register_exec_domain(struct exec_domain *); extern int unregister_exec_domain(struct exec_domain *); extern int __set_personality(unsigned long); - -/* - * Sysctl variables related to binary emulation. - */ -extern unsigned long abi_defhandler_coff; -extern unsigned long abi_defhandler_elf; -extern unsigned long abi_defhandler_lcall7; -extern unsigned long abi_defhandler_libcso; -extern int abi_fake_utsname; - - /* * Flags for bug emulation. * diff --git a/include/linux/pid.h b/include/linux/pid.h index 5b2fcb19d..a0b1988f4 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h @@ -52,4 +52,6 @@ extern void switch_exec_pids(struct task_struct *leader, struct task_struct *thr hlist_unhashed(&(task)->pids[type].pid_chain)); \ } \ +extern int pid_alive(struct task_struct *p); + #endif /* _LINUX_PID_H */ diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h index d98d8cfcd..b80dbc3b5 100644 --- a/include/linux/pkt_sched.h +++ b/include/linux/pkt_sched.h @@ -402,6 +402,16 @@ enum { #define TCA_ATM_MAX TCA_ATM_STATE /* Network emulator */ + +enum +{ + TCA_NETEM_UNSPEC, + TCA_NETEM_CORR, + TCA_NETEM_DELAY_DIST, +}; + +#define TCA_NETEM_MAX TCA_NETEM_DELAY_DIST + struct tc_netem_qopt { __u32 latency; /* added delay (us) */ @@ -411,4 +421,14 @@ struct tc_netem_qopt __u32 duplicate; /* random packet dup (0=none ~0=100%) */ __u32 jitter; /* random jitter in latency (us) */ }; + +struct tc_netem_corr +{ + __u32 delay_corr; /* delay correlation */ + __u32 loss_corr; /* packet loss correlation */ + __u32 dup_corr; /* duplicate correlation */ +}; + +#define NETEM_DIST_SCALE 8192 + #endif diff --git a/include/linux/pm.h b/include/linux/pm.h index d54bc441d..6446e4f65 100644 --- a/include/linux/pm.h +++ b/include/linux/pm.h @@ -143,11 +143,6 @@ int pm_send(struct pm_dev *dev, pm_request_t rqst, void *data); */ int pm_send_all(pm_request_t rqst, void *data); -/* - * Find a device - */ -struct pm_dev *pm_find(pm_dev_t type, struct pm_dev *from); - static inline void pm_access(struct pm_dev *dev) {} static inline void pm_dev_idle(struct pm_dev *dev) {} @@ -194,11 +189,12 @@ extern void (*pm_idle)(void); extern void (*pm_power_off)(void); enum { - PM_SUSPEND_ON, - PM_SUSPEND_STANDBY, - PM_SUSPEND_MEM, - PM_SUSPEND_DISK, - PM_SUSPEND_MAX, + PM_SUSPEND_ON = 0, + PM_SUSPEND_STANDBY = 1, + /* NOTE: PM_SUSPEND_MEM == PCI_D3hot */ + PM_SUSPEND_MEM = 3, + PM_SUSPEND_DISK = 4, + PM_SUSPEND_MAX = 5, }; enum { diff --git a/include/linux/poll.h b/include/linux/poll.h index b4bb681fd..1bb33342c 100644 --- a/include/linux/poll.h +++ b/include/linux/poll.h @@ -5,6 +5,7 @@ #ifdef __KERNEL__ +#include #include #include #include @@ -81,11 +82,12 @@ int get_fd_set(unsigned long nr, void __user *ufdset, unsigned long *fdset) return 0; } -static inline -void set_fd_set(unsigned long nr, void __user *ufdset, unsigned long *fdset) +static inline unsigned long __must_check +set_fd_set(unsigned long nr, void __user *ufdset, unsigned long *fdset) { if (ufdset) - __copy_to_user(ufdset, fdset, FDS_BYTES(nr)); + return __copy_to_user(ufdset, fdset, FDS_BYTES(nr)); + return 0; } static inline diff --git a/include/linux/posix_acl.h b/include/linux/posix_acl.h index aff9a6adb..fc74ef3fe 100644 --- a/include/linux/posix_acl.h +++ b/include/linux/posix_acl.h @@ -79,7 +79,6 @@ extern struct posix_acl *posix_acl_from_mode(mode_t, int); extern int posix_acl_equiv_mode(const struct posix_acl *, mode_t *); extern int posix_acl_create_masq(struct posix_acl *, mode_t *); extern int posix_acl_chmod_masq(struct posix_acl *, mode_t); -extern int posix_acl_masq_nfs_mode(struct posix_acl *, mode_t *); extern struct posix_acl *get_posix_acl(struct inode *, int); extern int set_posix_acl(struct inode *, int, struct posix_acl *); diff --git a/include/linux/prctl.h b/include/linux/prctl.h index c8b69670e..54333c98e 100644 --- a/include/linux/prctl.h +++ b/include/linux/prctl.h @@ -50,4 +50,6 @@ process timing */ +#define PR_SET_NAME 15 /* Set process name */ + #endif /* _LINUX_PRCTL_H */ diff --git a/include/linux/proc_fs.h b/include/linux/proc_fs.h index 3c3226075..000dd88d6 100644 --- a/include/linux/proc_fs.h +++ b/include/linux/proc_fs.h @@ -80,6 +80,7 @@ struct kcore_list { extern struct proc_dir_entry proc_root; extern struct proc_dir_entry *proc_root_fs; extern struct proc_dir_entry *proc_net; +extern struct proc_dir_entry *proc_net_stat; extern struct proc_dir_entry *proc_bus; extern struct proc_dir_entry *proc_root_driver; extern struct proc_dir_entry *proc_root_kcore; @@ -87,10 +88,15 @@ extern struct proc_dir_entry *proc_root_kcore; extern void proc_root_init(void); extern void proc_misc_init(void); +struct mm_struct; + struct dentry *proc_pid_lookup(struct inode *dir, struct dentry * dentry, struct nameidata *); struct dentry *proc_pid_unhash(struct task_struct *p); void proc_pid_flush(struct dentry *proc_dentry); int proc_pid_readdir(struct file * filp, void * dirent, filldir_t filldir); +unsigned long task_vsize(struct mm_struct *); +int task_statm(struct mm_struct *, int *, int *, int *, int *); +char *task_mem(struct mm_struct *, char *); extern struct proc_dir_entry *create_proc_entry(const char *name, mode_t mode, struct proc_dir_entry *parent); @@ -202,14 +208,13 @@ static inline struct proc_dir_entry *create_proc_entry(const char *name, #define remove_proc_entry(name, parent) do {} while (0) static inline struct proc_dir_entry *proc_symlink(const char *name, - struct proc_dir_entry *parent,char *dest) {return NULL;} + struct proc_dir_entry *parent,const char *dest) {return NULL;} static inline struct proc_dir_entry *proc_mkdir(const char *name, struct proc_dir_entry *parent) {return NULL;} static inline struct proc_dir_entry *create_proc_read_entry(const char *name, mode_t mode, struct proc_dir_entry *base, - int (*read_proc)(char *, char **, off_t, int, int *, void *), - void * data) { return NULL; } + read_proc_t *read_proc, void * data) { return NULL; } static inline struct proc_dir_entry *create_proc_info_entry(const char *name, mode_t mode, struct proc_dir_entry *base, get_info_t *get_info) { return NULL; } diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h index 7a6fdcfde..8869a4c1b 100644 --- a/include/linux/ptrace.h +++ b/include/linux/ptrace.h @@ -74,7 +74,7 @@ #include /* For unlikely. */ #include /* For struct task_struct. */ -#include +#include #include extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len); diff --git a/include/linux/quota.h b/include/linux/quota.h index 506d52452..f4cbf4636 100644 --- a/include/linux/quota.h +++ b/include/linux/quota.h @@ -45,7 +45,6 @@ typedef __kernel_uid32_t qid_t; /* Type in which we store ids in memory */ typedef __u64 qsize_t; /* Type in which we store sizes */ -extern spinlock_t dq_list_lock; extern spinlock_t dq_data_lock; /* Size of blocks in which are counted size limits */ diff --git a/include/linux/quotaio_v2.h b/include/linux/quotaio_v2.h index f18ced911..303d7cbe3 100644 --- a/include/linux/quotaio_v2.h +++ b/include/linux/quotaio_v2.h @@ -27,15 +27,15 @@ * to blocks of these structures. */ struct v2_disk_dqblk { - __u32 dqb_id; /* id this quota applies to */ - __u32 dqb_ihardlimit; /* absolute limit on allocated inodes */ - __u32 dqb_isoftlimit; /* preferred inode limit */ - __u32 dqb_curinodes; /* current # allocated inodes */ - __u32 dqb_bhardlimit; /* absolute limit on disk space (in QUOTABLOCK_SIZE) */ - __u32 dqb_bsoftlimit; /* preferred limit on disk space (in QUOTABLOCK_SIZE) */ - __u64 dqb_curspace; /* current space occupied (in bytes) */ - __u64 dqb_btime; /* time limit for excessive disk use */ - __u64 dqb_itime; /* time limit for excessive inode use */ + __le32 dqb_id; /* id this quota applies to */ + __le32 dqb_ihardlimit; /* absolute limit on allocated inodes */ + __le32 dqb_isoftlimit; /* preferred inode limit */ + __le32 dqb_curinodes; /* current # allocated inodes */ + __le32 dqb_bhardlimit; /* absolute limit on disk space (in QUOTABLOCK_SIZE) */ + __le32 dqb_bsoftlimit; /* preferred limit on disk space (in QUOTABLOCK_SIZE) */ + __le64 dqb_curspace; /* current space occupied (in bytes) */ + __le64 dqb_btime; /* time limit for excessive disk use */ + __le64 dqb_itime; /* time limit for excessive inode use */ }; /* @@ -43,18 +43,18 @@ struct v2_disk_dqblk { */ /* First generic header */ struct v2_disk_dqheader { - __u32 dqh_magic; /* Magic number identifying file */ - __u32 dqh_version; /* File version */ + __le32 dqh_magic; /* Magic number identifying file */ + __le32 dqh_version; /* File version */ }; /* Header with type and version specific information */ struct v2_disk_dqinfo { - __u32 dqi_bgrace; /* Time before block soft limit becomes hard limit */ - __u32 dqi_igrace; /* Time before inode soft limit becomes hard limit */ - __u32 dqi_flags; /* Flags for quotafile (DQF_*) */ - __u32 dqi_blocks; /* Number of blocks in file */ - __u32 dqi_free_blk; /* Number of first free block in the list */ - __u32 dqi_free_entry; /* Number of block with at least one free entry */ + __le32 dqi_bgrace; /* Time before block soft limit becomes hard limit */ + __le32 dqi_igrace; /* Time before inode soft limit becomes hard limit */ + __le32 dqi_flags; /* Flags for quotafile (DQF_*) */ + __le32 dqi_blocks; /* Number of blocks in file */ + __le32 dqi_free_blk; /* Number of first free block in the list */ + __le32 dqi_free_entry; /* Number of block with at least one free entry */ }; /* @@ -62,11 +62,11 @@ struct v2_disk_dqinfo { * there will be space for exactly 21 quota-entries in a block */ struct v2_disk_dqdbheader { - __u32 dqdh_next_free; /* Number of next block with free entry */ - __u32 dqdh_prev_free; /* Number of previous block with free entry */ - __u16 dqdh_entries; /* Number of valid entries in block */ - __u16 dqdh_pad1; - __u32 dqdh_pad2; + __le32 dqdh_next_free; /* Number of next block with free entry */ + __le32 dqdh_prev_free; /* Number of previous block with free entry */ + __le16 dqdh_entries; /* Number of valid entries in block */ + __le16 dqdh_pad1; + __le32 dqdh_pad2; }; #define V2_DQINFOOFF sizeof(struct v2_disk_dqheader) /* Offset of info header in file */ diff --git a/include/linux/raid/linear.h b/include/linux/raid/linear.h index 70afc1dc8..e951b2bb9 100644 --- a/include/linux/raid/linear.h +++ b/include/linux/raid/linear.h @@ -5,8 +5,8 @@ struct dev_info { mdk_rdev_t *rdev; - unsigned long size; - unsigned long offset; + sector_t size; + sector_t offset; }; typedef struct dev_info dev_info_t; diff --git a/include/linux/random.h b/include/linux/random.h index fb7473c1d..ba1e60a54 100644 --- a/include/linux/random.h +++ b/include/linux/random.h @@ -67,8 +67,6 @@ extern __u32 check_tcp_syn_cookie(__u32 cookie, __u32 saddr, extern __u32 secure_tcpv6_sequence_number(__u32 *saddr, __u32 *daddr, __u16 sport, __u16 dport); -extern __u32 secure_ipv6_id(__u32 *daddr); - #ifndef MODULE extern struct file_operations random_fops, urandom_fops; #endif diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 10c4b8f24..b12bdd9d8 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -87,55 +87,157 @@ static inline int rcu_batch_after(long a, long b) */ struct rcu_data { /* 1) quiescent state handling : */ - long quiescbatch; /* Batch # for grace period */ + long quiescbatch; /* Batch # for grace period */ long qsctr; /* User-mode/idle loop etc. */ - long last_qsctr; /* value of qsctr at beginning */ - /* of rcu grace period */ + long last_qsctr; /* value of qsctr at beginning */ + /* of rcu grace period */ int qs_pending; /* core waits for quiesc state */ /* 2) batch handling */ - long batch; /* Batch # for current RCU batch */ - struct rcu_head *nxtlist; + long batch; /* Batch # for current RCU batch */ + struct rcu_head *nxtlist; struct rcu_head **nxttail; - struct rcu_head *curlist; + struct rcu_head *curlist; + struct rcu_head **curtail; + struct rcu_head *donelist; + struct rcu_head **donetail; + int cpu; }; DECLARE_PER_CPU(struct rcu_data, rcu_data); +DECLARE_PER_CPU(struct rcu_data, rcu_bh_data); extern struct rcu_ctrlblk rcu_ctrlblk; +extern struct rcu_ctrlblk rcu_bh_ctrlblk; -#define RCU_quiescbatch(cpu) (per_cpu(rcu_data, (cpu)).quiescbatch) -#define RCU_qsctr(cpu) (per_cpu(rcu_data, (cpu)).qsctr) -#define RCU_last_qsctr(cpu) (per_cpu(rcu_data, (cpu)).last_qsctr) -#define RCU_qs_pending(cpu) (per_cpu(rcu_data, (cpu)).qs_pending) -#define RCU_batch(cpu) (per_cpu(rcu_data, (cpu)).batch) -#define RCU_nxtlist(cpu) (per_cpu(rcu_data, (cpu)).nxtlist) -#define RCU_curlist(cpu) (per_cpu(rcu_data, (cpu)).curlist) -#define RCU_nxttail(cpu) (per_cpu(rcu_data, (cpu)).nxttail) +/* + * Increment the quiscent state counter. + */ +static inline void rcu_qsctr_inc(int cpu) +{ + struct rcu_data *rdp = &per_cpu(rcu_data, cpu); + rdp->qsctr++; +} +static inline void rcu_bh_qsctr_inc(int cpu) +{ + struct rcu_data *rdp = &per_cpu(rcu_bh_data, cpu); + rdp->qsctr++; +} -static inline int rcu_pending(int cpu) +static inline int __rcu_pending(struct rcu_ctrlblk *rcp, + struct rcu_data *rdp) { /* This cpu has pending rcu entries and the grace period * for them has completed. */ - if (RCU_curlist(cpu) && - !rcu_batch_before(rcu_ctrlblk.completed,RCU_batch(cpu))) + if (rdp->curlist && !rcu_batch_before(rcp->completed, rdp->batch)) return 1; /* This cpu has no pending entries, but there are new entries */ - if (!RCU_curlist(cpu) && RCU_nxtlist(cpu)) + if (!rdp->curlist && rdp->nxtlist) + return 1; + + /* This cpu has finished callbacks to invoke */ + if (rdp->donelist) return 1; /* The rcu core waits for a quiescent state from the cpu */ - if (RCU_quiescbatch(cpu) != rcu_ctrlblk.cur || RCU_qs_pending(cpu)) + if (rdp->quiescbatch != rcp->cur || rdp->qs_pending) return 1; /* nothing to do */ return 0; } +static inline int rcu_pending(int cpu) +{ + return __rcu_pending(&rcu_ctrlblk, &per_cpu(rcu_data, cpu)) || + __rcu_pending(&rcu_bh_ctrlblk, &per_cpu(rcu_bh_data, cpu)); +} + +/** + * rcu_read_lock - mark the beginning of an RCU read-side critical section. + * + * When synchronize_kernel() is invoked on one CPU while other CPUs + * are within RCU read-side critical sections, then the + * synchronize_kernel() is guaranteed to block until after all the other + * CPUs exit their critical sections. Similarly, if call_rcu() is invoked + * on one CPU while other CPUs are within RCU read-side critical + * sections, invocation of the corresponding RCU callback is deferred + * until after the all the other CPUs exit their critical sections. + * + * Note, however, that RCU callbacks are permitted to run concurrently + * with RCU read-side critical sections. One way that this can happen + * is via the following sequence of events: (1) CPU 0 enters an RCU + * read-side critical section, (2) CPU 1 invokes call_rcu() to register + * an RCU callback, (3) CPU 0 exits the RCU read-side critical section, + * (4) CPU 2 enters a RCU read-side critical section, (5) the RCU + * callback is invoked. This is legal, because the RCU read-side critical + * section that was running concurrently with the call_rcu() (and which + * therefore might be referencing something that the corresponding RCU + * callback would free up) has completed before the corresponding + * RCU callback is invoked. + * + * RCU read-side critical sections may be nested. Any deferred actions + * will be deferred until the outermost RCU read-side critical section + * completes. + * + * It is illegal to block while in an RCU read-side critical section. + */ #define rcu_read_lock() preempt_disable() + +/** + * rcu_read_unlock - marks the end of an RCU read-side critical section. + * + * See rcu_read_lock() for more information. + */ #define rcu_read_unlock() preempt_enable() +/* + * So where is rcu_write_lock()? It does not exist, as there is no + * way for writers to lock out RCU readers. This is a feature, not + * a bug -- this property is what provides RCU's performance benefits. + * Of course, writers must coordinate with each other. The normal + * spinlock primitives work well for this, but any other technique may be + * used as well. RCU does not care how the writers keep out of each + * others' way, as long as they do so. + */ + +/** + * rcu_read_lock_bh - mark the beginning of a softirq-only RCU critical section + * + * This is equivalent of rcu_read_lock(), but to be used when updates + * are being done using call_rcu_bh(). Since call_rcu_bh() callbacks + * consider completion of a softirq handler to be a quiescent state, + * a process in RCU read-side critical section must be protected by + * disabling softirqs. Read-side critical sections in interrupt context + * can use just rcu_read_lock(). + * + */ +#define rcu_read_lock_bh() local_bh_disable() + +/* + * rcu_read_unlock_bh - marks the end of a softirq-only RCU critical section + * + * See rcu_read_lock_bh() for more information. + */ +#define rcu_read_unlock_bh() local_bh_enable() + +/** + * rcu_dereference - fetch an RCU-protected pointer in an + * RCU read-side critical section. This pointer may later + * be safely dereferenced. + * + * Inserts memory barriers on architectures that require them + * (currently only the Alpha), and, more importantly, documents + * exactly which pointers are protected by RCU. + */ + +#define rcu_dereference(p) ({ \ + typeof(p) _________p1 = p; \ + smp_read_barrier_depends(); \ + (_________p1); \ + }) + extern void rcu_init(void); extern void rcu_check_callbacks(int cpu, int user); extern void rcu_restart_cpu(int cpu); @@ -143,6 +245,8 @@ extern void rcu_restart_cpu(int cpu); /* Exported interfaces */ extern void FASTCALL(call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *head))); +extern void FASTCALL(call_rcu_bh(struct rcu_head *head, + void (*func)(struct rcu_head *head))); extern void synchronize_kernel(void); #endif /* __KERNEL__ */ diff --git a/include/linux/reboot.h b/include/linux/reboot.h index 5460e94a1..c8eaad2d5 100644 --- a/include/linux/reboot.h +++ b/include/linux/reboot.h @@ -39,6 +39,19 @@ #include +#ifdef CONFIG_X86_64 + +extern enum reboot_types { + BOOT_BIOS = 'b', + BOOT_TRIPLE = 't', + BOOT_KBD = 'k', + BOOT_ACPI = 'a' +} reboot_type; + +extern int reboot_override; + +#endif + extern int register_reboot_notifier(struct notifier_block *); extern int unregister_reboot_notifier(struct notifier_block *); @@ -50,7 +63,7 @@ extern int unregister_reboot_notifier(struct notifier_block *); extern void machine_restart(char *cmd); extern void machine_halt(void); extern void machine_power_off(void); - +extern void (*machine_reset)(void); extern void machine_shutdown(void); #endif diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index 2a206e8e5..249ad93f3 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h @@ -892,8 +892,13 @@ struct stat_data_v1 #define REISERFS_BARRIER_FL (EXT2_BARRIER_FL >> 16) #define REISERFS_IUNLINK_FL (EXT2_IUNLINK_FL >> 16) -#define REISERFS_FL_USER_VISIBLE 0x80FF -#define REISERFS_FL_USER_MODIFYABLE 0x80FF +#ifdef CONFIG_VSERVER_LEGACY +#define REISERFS_FL_USER_VISIBLE (REISERFS_IUNLINK_FL|0x80FF) +#define REISERFS_FL_USER_MODIFYABLE (REISERFS_IUNLINK_FL|0x80FF) +#else +#define REISERFS_FL_USER_VISIBLE 0x80FF +#define REISERFS_FL_USER_MODIFYABLE 0x80FF +#endif /* persistent flags that file inherits from the parent directory */ #define REISERFS_INHERIT_MASK ( REISERFS_IMMUTABLE_FL | \ @@ -1741,7 +1746,7 @@ struct reiserfs_transaction_handle { int t_blocks_allocated ; /* number of blocks this writer allocated */ unsigned long t_trans_id ; /* sanity check, equals the current trans id */ void *t_handle_save ; /* save existing current->journal_info */ - int displace_new_blocks:1; /* if new block allocation occurres, that block + unsigned displace_new_blocks:1; /* if new block allocation occurres, that block should be displaced from others */ } ; @@ -1784,7 +1789,8 @@ int reiserfs_end_persistent_transaction(struct reiserfs_transaction_handle *); int reiserfs_commit_page(struct inode *inode, struct page *page, unsigned from, unsigned to); int reiserfs_flush_old_commits(struct super_block *); -void reiserfs_commit_for_inode(struct inode *) ; +int reiserfs_commit_for_inode(struct inode *) ; +int reiserfs_inode_needs_commit(struct inode *) ; void reiserfs_update_inode_transaction(struct inode *) ; void reiserfs_wait_on_write_block(struct super_block *s) ; void reiserfs_block_writes(struct reiserfs_transaction_handle *th) ; @@ -1951,7 +1957,7 @@ void reiserfs_read_locked_inode(struct inode * inode, struct reiserfs_iget_args int reiserfs_find_actor(struct inode * inode, void *p) ; int reiserfs_init_locked_inode(struct inode * inode, void *p) ; void reiserfs_delete_inode (struct inode * inode); -void reiserfs_write_inode (struct inode * inode, int) ; +int reiserfs_write_inode (struct inode * inode, int) ; struct dentry *reiserfs_get_dentry(struct super_block *, void *) ; struct dentry *reiserfs_decode_fh(struct super_block *sb, __u32 *data, int len, int fhtype, @@ -2160,9 +2166,9 @@ struct buffer_head * get_FEB (struct tree_balance *); int prealloc_size; /* is set in determine_prealloc_size() function, used by underlayed * function that do actual allocation */ - int formatted_node:1; /* the allocator uses different polices for getting disk space for + unsigned formatted_node:1; /* the allocator uses different polices for getting disk space for * formatted/unformatted blocks with/without preallocation */ - int preallocate:1; + unsigned preallocate:1; }; typedef struct __reiserfs_blocknr_hint reiserfs_blocknr_hint_t; diff --git a/include/linux/reiserfs_fs_i.h b/include/linux/reiserfs_fs_i.h index adc71cd0b..e08142a75 100644 --- a/include/linux/reiserfs_fs_i.h +++ b/include/linux/reiserfs_fs_i.h @@ -45,7 +45,7 @@ struct reiserfs_inode_info { struct list_head i_prealloc_list; /* per-transaction list of inodes which * have preallocated blocks */ - int new_packing_locality:1; /* new_packig_locality is created; new blocks + unsigned new_packing_locality:1; /* new_packig_locality is created; new blocks * for the contents of this directory should be * displaced */ diff --git a/include/linux/reiserfs_fs_sb.h b/include/linux/reiserfs_fs_sb.h index 8cc1494f8..bb75465fb 100644 --- a/include/linux/reiserfs_fs_sb.h +++ b/include/linux/reiserfs_fs_sb.h @@ -444,8 +444,9 @@ enum reiserfs_mount_options { REISERFS_XATTRS, REISERFS_XATTRS_USER, REISERFS_POSIXACL, + REISERFS_BARRIER_NONE, + REISERFS_BARRIER_FLUSH, REISERFS_TAGXID, - REISERFS_TEST1, REISERFS_TEST2, REISERFS_TEST3, @@ -474,6 +475,8 @@ enum reiserfs_mount_options { #define reiserfs_xattrs_user(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_XATTRS_USER)) #define reiserfs_posixacl(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_POSIXACL)) #define reiserfs_xattrs_optional(s) (reiserfs_xattrs_user(s) || reiserfs_posixacl(s)) +#define reiserfs_barrier_none(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_BARRIER_NONE)) +#define reiserfs_barrier_flush(s) (REISERFS_SB(s)->s_mount_opt & (1 << REISERFS_BARRIER_FLUSH)) void reiserfs_file_buffer (struct buffer_head * bh, int list); extern struct file_system_type reiserfs_fs_type; diff --git a/include/linux/resource.h b/include/linux/resource.h index f43560d88..b3bc5fd18 100644 --- a/include/linux/resource.h +++ b/include/linux/resource.h @@ -58,6 +58,12 @@ struct rlimit { #define _STK_LIM (10*1024*1024) #define EXEC_STACK_BIAS (2*1024*1024) +/* + * GPG wants 32kB of mlocked memory, to make sure pass phrases + * and other sensitive information are never written to disk. + */ +#define MLOCK_LIMIT (8 * PAGE_SIZE) + /* * Due to binary compatibility, the actual resource numbers * may be different for different linux versions.. diff --git a/include/linux/rmap.h b/include/linux/rmap.h index e3148341f..395e1295e 100644 --- a/include/linux/rmap.h +++ b/include/linux/rmap.h @@ -9,11 +9,6 @@ #include #include -#define page_map_lock(page) \ - bit_spin_lock(PG_maplock, (unsigned long *)&(page)->flags) -#define page_map_unlock(page) \ - bit_spin_unlock(PG_maplock, (unsigned long *)&(page)->flags) - /* * The anon_vma heads a list of private "related" vmas, to scan if * an anonymous page pointing to this anon_vma needs to be unmapped: @@ -87,24 +82,27 @@ void page_remove_rmap(struct page *); */ static inline void page_dup_rmap(struct page *page) { - page_map_lock(page); - page->mapcount++; - page_map_unlock(page); + atomic_inc(&page->_mapcount); } /* * Called from mm/vmscan.c to handle paging out */ -int page_referenced(struct page *); +int page_referenced(struct page *, int is_locked, int ignore_token); int try_to_unmap(struct page *); +/* + * Used by swapoff to help locate where page is expected in vma. + */ +unsigned long page_address_in_vma(struct page *, struct vm_area_struct *); + #else /* !CONFIG_MMU */ #define anon_vma_init() do {} while (0) #define anon_vma_prepare(vma) (0) #define anon_vma_link(vma) do {} while (0) -#define page_referenced(page) TestClearPageReferenced(page) +#define page_referenced(page,l,i) TestClearPageReferenced(page) #define try_to_unmap(page) SWAP_FAIL #endif /* CONFIG_MMU */ diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 58c6429cc..ac4528ead 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -9,53 +9,89 @@ /* Types of messages */ -#define RTM_BASE 0x10 - -#define RTM_NEWLINK (RTM_BASE+0) -#define RTM_DELLINK (RTM_BASE+1) -#define RTM_GETLINK (RTM_BASE+2) -#define RTM_SETLINK (RTM_BASE+3) - -#define RTM_NEWADDR (RTM_BASE+4) -#define RTM_DELADDR (RTM_BASE+5) -#define RTM_GETADDR (RTM_BASE+6) - -#define RTM_NEWROUTE (RTM_BASE+8) -#define RTM_DELROUTE (RTM_BASE+9) -#define RTM_GETROUTE (RTM_BASE+10) - -#define RTM_NEWNEIGH (RTM_BASE+12) -#define RTM_DELNEIGH (RTM_BASE+13) -#define RTM_GETNEIGH (RTM_BASE+14) - -#define RTM_NEWRULE (RTM_BASE+16) -#define RTM_DELRULE (RTM_BASE+17) -#define RTM_GETRULE (RTM_BASE+18) - -#define RTM_NEWQDISC (RTM_BASE+20) -#define RTM_DELQDISC (RTM_BASE+21) -#define RTM_GETQDISC (RTM_BASE+22) - -#define RTM_NEWTCLASS (RTM_BASE+24) -#define RTM_DELTCLASS (RTM_BASE+25) -#define RTM_GETTCLASS (RTM_BASE+26) - -#define RTM_NEWTFILTER (RTM_BASE+28) -#define RTM_DELTFILTER (RTM_BASE+29) -#define RTM_GETTFILTER (RTM_BASE+30) - -#define RTM_NEWACTION (RTM_BASE+32) -#define RTM_DELACTION (RTM_BASE+33) -#define RTM_GETACTION (RTM_BASE+34) - -#define RTM_NEWPREFIX (RTM_BASE+36) -#define RTM_GETPREFIX (RTM_BASE+38) - -#define RTM_GETMULTICAST (RTM_BASE+42) - -#define RTM_GETANYCAST (RTM_BASE+46) - -#define RTM_MAX (RTM_BASE+47) +enum { + RTM_BASE = 16, +#define RTM_BASE RTM_BASE + + RTM_NEWLINK = 16, +#define RTM_NEWLINK RTM_NEWLINK + RTM_DELLINK, +#define RTM_DELLINK RTM_DELLINK + RTM_GETLINK, +#define RTM_GETLINK RTM_GETLINK + RTM_SETLINK, +#define RTM_SETLINK RTM_SETLINK + + RTM_NEWADDR = 20, +#define RTM_NEWADDR RTM_NEWADDR + RTM_DELADDR, +#define RTM_DELADDR RTM_DELADDR + RTM_GETADDR, +#define RTM_GETADDR RTM_GETADDR + + RTM_NEWROUTE = 24, +#define RTM_NEWROUTE RTM_NEWROUTE + RTM_DELROUTE, +#define RTM_DELROUTE RTM_DELROUTE + RTM_GETROUTE, +#define RTM_GETROUTE RTM_GETROUTE + + RTM_NEWNEIGH = 28, +#define RTM_NEWNEIGH RTM_NEWNEIGH + RTM_DELNEIGH, +#define RTM_DELNEIGH RTM_DELNEIGH + RTM_GETNEIGH, +#define RTM_GETNEIGH RTM_GETNEIGH + + RTM_NEWRULE = 32, +#define RTM_NEWRULE RTM_NEWRULE + RTM_DELRULE, +#define RTM_DELRULE RTM_DELRULE + RTM_GETRULE, +#define RTM_GETRULE RTM_GETRULE + + RTM_NEWQDISC = 36, +#define RTM_NEWQDISC RTM_NEWQDISC + RTM_DELQDISC, +#define RTM_DELQDISC RTM_DELQDISC + RTM_GETQDISC, +#define RTM_GETQDISC RTM_GETQDISC + + RTM_NEWTCLASS = 40, +#define RTM_NEWTCLASS RTM_NEWTCLASS + RTM_DELTCLASS, +#define RTM_DELTCLASS RTM_DELTCLASS + RTM_GETTCLASS, +#define RTM_GETTCLASS RTM_GETTCLASS + + RTM_NEWTFILTER = 44, +#define RTM_NEWTFILTER RTM_NEWTFILTER + RTM_DELTFILTER, +#define RTM_DELTFILTER RTM_DELTFILTER + RTM_GETTFILTER, +#define RTM_GETTFILTER RTM_GETTFILTER + + RTM_NEWACTION = 48, +#define RTM_NEWACTION RTM_NEWACTION + RTM_DELACTION, +#define RTM_DELACTION RTM_DELACTION + RTM_GETACTION, +#define RTM_GETACTION RTM_GETACTION + + RTM_NEWPREFIX = 52, +#define RTM_NEWPREFIX RTM_NEWPREFIX + RTM_GETPREFIX = 54, +#define RTM_GETPREFIX RTM_GETPREFIX + + RTM_GETMULTICAST = 58, +#define RTM_GETMULTICAST RTM_GETMULTICAST + + RTM_GETANYCAST = 62, +#define RTM_GETANYCAST RTM_GETANYCAST + + RTM_MAX, +#define RTM_MAX RTM_MAX +}; /* Generic structure for encapsulation of optional route information. @@ -541,6 +577,17 @@ struct rtnl_link_stats __u32 tx_compressed; }; +/* The struct should be in sync with struct ifmap */ +struct rtnl_link_ifmap +{ + __u64 mem_start; + __u64 mem_end; + __u64 base_addr; + __u16 irq; + __u8 dma; + __u8 port; +}; + enum { IFLA_UNSPEC, @@ -561,6 +608,12 @@ enum #define IFLA_WIRELESS IFLA_WIRELESS IFLA_PROTINFO, /* Protocol specific information for a link */ #define IFLA_PROTINFO IFLA_PROTINFO + IFLA_TXQLEN, +#define IFLA_TXQLEN IFLA_TXQLEN + IFLA_MAP, +#define IFLA_MAP IFLA_MAP + IFLA_WEIGHT, +#define IFLA_WEIGHT IFLA_WEIGHT __IFLA_MAX }; @@ -654,10 +707,6 @@ enum #define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg)) -/* SUMMARY: maximal rtattr understood by kernel */ - -#define RTATTR_MAX RTA_MAX - /* RTnetlink multicast groups */ #define RTMGRP_LINK 1 diff --git a/include/linux/sched.h b/include/linux/sched.h index dd5005295..b29a7973c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -43,7 +43,6 @@ extern int print_fatal_signals; #define CLONE_FS 0x00000200 /* set if fs info shared between processes */ #define CLONE_FILES 0x00000400 /* set if open files shared between processes */ #define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */ -#define CLONE_IDLETASK 0x00001000 /* set if new pid should be 0 (kernel only)*/ #define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */ #define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */ #define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */ @@ -106,15 +105,15 @@ extern unsigned long nr_iowait(void); #include #include -#include #define TASK_RUNNING 0 #define TASK_INTERRUPTIBLE 1 #define TASK_UNINTERRUPTIBLE 2 #define TASK_STOPPED 4 -#define TASK_ZOMBIE 8 -#define TASK_DEAD 16 -#define TASK_ONHOLD 32 +#define TASK_TRACED 8 +#define EXIT_ZOMBIE 16 +#define EXIT_DEAD 32 +#define TASK_ONHOLD 64 #define __set_task_state(tsk, state_value) \ do { (tsk)->state = (state_value); } while (0) @@ -239,12 +238,12 @@ struct mm_struct { unsigned long start_code, end_code, start_data, end_data; unsigned long start_brk, brk, start_stack; unsigned long arg_start, arg_end, env_start, env_end; - unsigned long rss, total_vm, locked_vm; - unsigned long def_flags; + unsigned long rss, anon_rss, total_vm, locked_vm, shared_vm; + unsigned long exec_vm, stack_vm, reserved_vm, def_flags; - unsigned long saved_auxv[40]; /* for /proc/PID/auxv */ + unsigned long saved_auxv[42]; /* for /proc/PID/auxv */ - unsigned dumpable:1; + unsigned dumpable:2; cpumask_t cpu_vm_mask; /* Architecture-specific MM context */ @@ -308,6 +307,8 @@ struct signal_struct { /* thread group stop support, overloads group_exit_code too */ int group_stop_count; + /* 1 if group stopped since last SIGCONT, -1 if SIGCONT since report */ + int stop_state; /* POSIX.1b Interval Timers */ struct list_head posix_timers; @@ -320,6 +321,16 @@ struct signal_struct { int leader; struct tty_struct *tty; /* NULL if no tty */ + + /* + * Cumulative resource counters for dead threads in the group, + * and for reaped dead child processes forked by this group. + * Live threads maintain their own counters and add to these + * in __exit_signal, except for the group leader. + */ + unsigned long utime, stime, cutime, cstime; + unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw; + unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt; }; /* @@ -340,7 +351,7 @@ struct signal_struct { #define MAX_PRIO (MAX_RT_PRIO + 40) -#define rt_task(p) ((p)->prio < MAX_RT_PRIO) +#define rt_task(p) (unlikely((p)->prio < MAX_RT_PRIO)) /* * Some day this will be a full-fledged user tracking system.. @@ -389,6 +400,20 @@ struct k_itimer { struct timespec wall_to_prev; /* wall_to_monotonic used when set */ }; +#ifdef CONFIG_SCHEDSTATS +struct sched_info { + /* cumulative counters */ + unsigned long cpu_time, /* time spent on the cpu */ + run_delay, /* time spent waiting on a runqueue */ + pcnt; /* # of timeslices run on this cpu */ + + /* timestamps */ + unsigned long last_arrival, /* when we last ran on a cpu */ + last_queued; /* when we were last queued to run */ +}; + +extern struct file_operations proc_schedstat_operations; +#endif struct io_context; /* See blkdev.h */ void exit_io_context(void); @@ -463,13 +488,17 @@ struct task_struct { unsigned long sleep_avg; long interactive_credit; - unsigned long long timestamp; + unsigned long long timestamp, last_ran; int activated; unsigned long policy; cpumask_t cpus_allowed; unsigned int time_slice, first_time_slice; +#ifdef CONFIG_SCHEDSTATS + struct sched_info sched_info; +#endif + struct list_head tasks; /* * ptrace_list/ptrace_children forms the list of my children @@ -482,11 +511,12 @@ struct task_struct { /* task state */ struct linux_binfmt *binfmt; + long exit_state; int exit_code, exit_signal; int pdeath_signal; /* The signal sent when the parent dies */ /* ??? */ unsigned long personality; - int did_exec:1; + unsigned did_exec:1; pid_t pid; pid_t tgid; /* @@ -505,7 +535,7 @@ struct task_struct { struct task_struct *group_leader; /* threadgroup leader */ /* PID/PID hash table linkage. */ - struct pid_link pids[PIDTYPE_MAX]; + struct pid pids[PIDTYPE_MAX]; wait_queue_head_t wait_chldexit; /* for wait4() */ struct completion *vfork_done; /* for vfork() */ @@ -516,17 +546,17 @@ struct task_struct { unsigned long it_real_value, it_prof_value, it_virt_value; unsigned long it_real_incr, it_prof_incr, it_virt_incr; struct timer_list real_timer; - unsigned long utime, stime, cutime, cstime; - unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw; /* context switch counts */ - u64 start_time; + unsigned long utime, stime; + unsigned long nvcsw, nivcsw; /* context switch counts */ + struct timespec start_time; /* mm fault and swap info: this can arguably be seen as either mm-specific or thread-specific */ - unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt; + unsigned long min_flt, maj_flt; /* process credentials */ uid_t uid,euid,suid,fsuid; gid_t gid,egid,sgid,fsgid; struct group_info *group_info; kernel_cap_t cap_effective, cap_inheritable, cap_permitted; - int keep_capabilities:1; + unsigned keep_capabilities:1; struct user_struct *user; /* limits */ struct rlimit rlim[RLIM_NLIMITS]; @@ -597,7 +627,13 @@ struct task_struct { unsigned long ptrace_message; siginfo_t *last_siginfo; /* For ptrace use. */ - +/* + * current io wait handle: wait queue entry to use for io waits + * If this thread is processing aio, this points at the waitqueue + * inside the currently handled kiocb. It may be NULL (i.e. default + * to a stack based synchronous wait) if its doing sync IO. + */ + wait_queue_t *io_wait; #ifdef CONFIG_NUMA struct mempolicy *mempolicy; short il_next; /* could be shared with used_math */ @@ -628,6 +664,7 @@ static inline pid_t process_group(struct task_struct *tsk) return tsk->signal->pgrp; } +extern void free_task(struct task_struct *tsk); extern void __put_task_struct(struct task_struct *tsk); #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) #define put_task_struct(tsk) \ @@ -659,123 +696,10 @@ do { if (atomic_dec_and_test(&(tsk)->usage)) __put_task_struct(tsk); } while(0) #define PF_SYNCWRITE 0x00200000 /* I am doing a sync write */ #define PF_RELOCEXEC 0x00400000 /* relocate shared libraries */ - #define PF_MEMIO 0x00400000 /* I am potentially doing I/O for mem */ #define PF_IOWAIT 0x00800000 /* I am waiting on disk I/O */ #ifdef CONFIG_SMP -#define SCHED_LOAD_SCALE 128UL /* increase resolution of load */ - -#define SD_BALANCE_NEWIDLE 1 /* Balance when about to become idle */ -#define SD_BALANCE_EXEC 2 /* Balance on exec */ -#define SD_BALANCE_CLONE 4 /* Balance on clone */ -#define SD_WAKE_IDLE 8 /* Wake to idle CPU on task wakeup */ -#define SD_WAKE_AFFINE 16 /* Wake task to waking CPU */ -#define SD_WAKE_BALANCE 32 /* Perform balancing at task wakeup */ -#define SD_SHARE_CPUPOWER 64 /* Domain members share cpu power */ - -struct sched_group { - struct sched_group *next; /* Must be a circular list */ - cpumask_t cpumask; - - /* - * CPU power of this group, SCHED_LOAD_SCALE being max power for a - * single CPU. This should be read only (except for setup). Although - * it will need to be written to at cpu hot(un)plug time, perhaps the - * cpucontrol semaphore will provide enough exclusion? - */ - unsigned long cpu_power; -}; - -struct sched_domain { - /* These fields must be setup */ - struct sched_domain *parent; /* top domain must be null terminated */ - struct sched_group *groups; /* the balancing groups of the domain */ - cpumask_t span; /* span of all CPUs in this domain */ - unsigned long min_interval; /* Minimum balance interval ms */ - unsigned long max_interval; /* Maximum balance interval ms */ - unsigned int busy_factor; /* less balancing by factor if busy */ - unsigned int imbalance_pct; /* No balance until over watermark */ - unsigned long long cache_hot_time; /* Task considered cache hot (ns) */ - unsigned int cache_nice_tries; /* Leave cache hot tasks for # tries */ - unsigned int per_cpu_gain; /* CPU % gained by adding domain cpus */ - int flags; /* See SD_* */ - - /* Runtime fields. */ - unsigned long last_balance; /* init to jiffies. units in jiffies */ - unsigned int balance_interval; /* initialise to 1. units in ms. */ - unsigned int nr_balance_failed; /* initialise to 0 */ -}; - -/* Common values for SMT siblings */ -#define SD_SIBLING_INIT (struct sched_domain) { \ - .span = CPU_MASK_NONE, \ - .parent = NULL, \ - .groups = NULL, \ - .min_interval = 1, \ - .max_interval = 2, \ - .busy_factor = 8, \ - .imbalance_pct = 110, \ - .cache_hot_time = 0, \ - .cache_nice_tries = 0, \ - .per_cpu_gain = 15, \ - .flags = SD_BALANCE_NEWIDLE \ - | SD_BALANCE_EXEC \ - | SD_BALANCE_CLONE \ - | SD_WAKE_AFFINE \ - | SD_WAKE_IDLE \ - | SD_SHARE_CPUPOWER, \ - .last_balance = jiffies, \ - .balance_interval = 1, \ - .nr_balance_failed = 0, \ -} - -/* Common values for CPUs */ -#define SD_CPU_INIT (struct sched_domain) { \ - .span = CPU_MASK_NONE, \ - .parent = NULL, \ - .groups = NULL, \ - .min_interval = 1, \ - .max_interval = 4, \ - .busy_factor = 64, \ - .imbalance_pct = 125, \ - .cache_hot_time = (5*1000000/2), \ - .cache_nice_tries = 1, \ - .per_cpu_gain = 100, \ - .flags = SD_BALANCE_NEWIDLE \ - | SD_BALANCE_EXEC \ - | SD_BALANCE_CLONE \ - | SD_WAKE_AFFINE \ - | SD_WAKE_BALANCE, \ - .last_balance = jiffies, \ - .balance_interval = 1, \ - .nr_balance_failed = 0, \ -} - -#ifdef CONFIG_NUMA -/* Common values for NUMA nodes */ -#define SD_NODE_INIT (struct sched_domain) { \ - .span = CPU_MASK_NONE, \ - .parent = NULL, \ - .groups = NULL, \ - .min_interval = 8, \ - .max_interval = 32, \ - .busy_factor = 32, \ - .imbalance_pct = 125, \ - .cache_hot_time = (10*1000000), \ - .cache_nice_tries = 1, \ - .per_cpu_gain = 100, \ - .flags = SD_BALANCE_EXEC \ - | SD_BALANCE_CLONE \ - | SD_WAKE_BALANCE, \ - .last_balance = jiffies, \ - .balance_interval = 1, \ - .nr_balance_failed = 0, \ -} -#endif - -extern void cpu_attach_domain(struct sched_domain *sd, int cpu); - extern int set_cpus_allowed(task_t *p, cpumask_t new_mask); #else static inline int set_cpus_allowed(task_t *p, cpumask_t new_mask) @@ -786,10 +710,11 @@ static inline int set_cpus_allowed(task_t *p, cpumask_t new_mask) extern unsigned long long sched_clock(void); +/* sched_exec is called by processes performing an exec */ #ifdef CONFIG_SMP -extern void sched_balance_exec(void); +extern void sched_exec(void); #else -#define sched_balance_exec() {} +#define sched_exec() {} #endif extern void sched_idle_next(void); @@ -826,7 +751,14 @@ extern struct task_struct init_task; extern struct mm_struct init_mm; -extern struct task_struct *find_task_by_pid(int pid); + +#define find_task_by_real_pid(nr) \ + find_task_by_pid_type(PIDTYPE_PID, nr) +#define find_task_by_pid(nr) \ + find_task_by_pid_type(PIDTYPE_PID, \ + vx_rmap_pid(nr)) + +extern struct task_struct *find_task_by_pid_type(int type, int pid); extern void set_special_pids(pid_t session, pid_t pgrp); extern void __set_special_pids(pid_t session, pid_t pgrp); @@ -849,16 +781,12 @@ extern void do_timer(struct pt_regs *); extern int FASTCALL(wake_up_state(struct task_struct * tsk, unsigned int state)); extern int FASTCALL(wake_up_process(struct task_struct * tsk)); -extern void FASTCALL(wake_up_forked_process(struct task_struct * tsk)); +extern void FASTCALL(wake_up_new_task(struct task_struct * tsk, + unsigned long clone_flags)); #ifdef CONFIG_SMP extern void kick_process(struct task_struct *tsk); - extern void FASTCALL(wake_up_forked_thread(struct task_struct * tsk)); #else static inline void kick_process(struct task_struct *tsk) { } - static inline void wake_up_forked_thread(struct task_struct * tsk) - { - wake_up_forked_process(tsk); - } #endif extern void FASTCALL(sched_fork(task_t * p)); extern void FASTCALL(sched_exit(task_t * p)); @@ -889,12 +817,11 @@ extern void unblock_all_signals(void); extern void release_task(struct task_struct * p); extern int send_sig_info(int, struct siginfo *, struct task_struct *); extern int send_group_sig_info(int, struct siginfo *, struct task_struct *); +extern int force_sigsegv(int, struct task_struct *); extern int force_sig_info(int, struct siginfo *, struct task_struct *); extern int __kill_pg_info(int sig, struct siginfo *info, pid_t pgrp); extern int kill_pg_info(int, struct siginfo *, pid_t); -extern int kill_sl_info(int, struct siginfo *, pid_t); extern int kill_proc_info(int, struct siginfo *, pid_t); -extern void notify_parent(struct task_struct *, int); extern void do_notify_parent(struct task_struct *, int); extern void force_sig(int, struct task_struct *); extern void force_sig_specific(int, struct task_struct *); @@ -959,8 +886,8 @@ static inline void mmdrop(struct mm_struct * mm) /* mmput gets rid of the mappings and all user-space */ extern void mmput(struct mm_struct *); -/* Grab a reference to the mm if its not already going away */ -extern struct mm_struct *mmgrab(struct mm_struct *); +/* Grab a reference to a task's mm, if it is not already going away */ +extern struct mm_struct *get_task_mm(struct task_struct *task); /* Remove the current tasks stale references to the old mm_struct */ extern void mm_release(struct task_struct *, struct mm_struct *); @@ -986,7 +913,10 @@ extern task_t *child_reaper; extern int do_execve(char *, char __user * __user *, char __user * __user *, struct pt_regs *); extern long do_fork(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *); -extern struct task_struct * copy_process(unsigned long, unsigned long, struct pt_regs *, unsigned long, int __user *, int __user *); +task_t *fork_idle(int); + +extern void set_task_comm(struct task_struct *tsk, char *from); +extern void get_task_comm(char *to, struct task_struct *tsk); #ifdef CONFIG_SMP extern void wait_task_inactive(task_t * p); @@ -1031,9 +961,7 @@ extern task_t * FASTCALL(next_thread(const task_t *p)); static inline int thread_group_empty(task_t *p) { - struct pid *pid = p->pids[PIDTYPE_TGID].pidptr; - - return pid->task_list.next->next == &pid->task_list; + return list_empty(&p->pids[PIDTYPE_TGID].pid_list); } #define delay_group_leader(p) \ @@ -1042,8 +970,8 @@ static inline int thread_group_empty(task_t *p) extern void unhash_process(struct task_struct *p); /* - * Protects ->fs, ->files, ->mm, ->ptrace, ->group_info and synchronises with - * wait4(). + * Protects ->fs, ->files, ->mm, ->ptrace, ->group_info, ->comm and + * synchronises with wait4(). * * Nests both inside and outside of read_lock(&tasklist_lock). * It must not be nested with write_lock_irq(&tasklist_lock), @@ -1058,26 +986,7 @@ static inline void task_unlock(struct task_struct *p) { spin_unlock(&p->alloc_lock); } - -/** - * get_task_mm - acquire a reference to the task's mm - * - * Returns %NULL if the task has no mm. User must release - * the mm via mmput() after use. - */ -static inline struct mm_struct * get_task_mm(struct task_struct * task) -{ - struct mm_struct * mm; - - task_lock(task); - mm = task->mm; - if (mm) - mm = mmgrab(mm); - task_unlock(task); - - return mm; -} - + /* set thread flags in other task's structures * - see asm/thread_info.h for TIF_xxxx flags available */ @@ -1191,7 +1100,6 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu) #endif /* CONFIG_SMP */ - /* API for registering delay info */ #ifdef CONFIG_DELAY_ACCT @@ -1285,6 +1193,9 @@ static inline void arch_pick_mmap_layout(struct mm_struct *mm) } #endif +extern long sched_setaffinity(pid_t pid, cpumask_t new_mask); +extern long sched_getaffinity(pid_t pid, cpumask_t *mask); + #endif /* __KERNEL__ */ #endif diff --git a/include/linux/security.h b/include/linux/security.h index 983d7c226..65992e68c 100644 --- a/include/linux/security.h +++ b/include/linux/security.h @@ -395,13 +395,13 @@ struct swap_info_struct; * Return 0 if permission is granted. * @inode_getsecurity: * Copy the extended attribute representation of the security label - * associated with @name for @dentry into @buffer. @buffer may be + * associated with @name for @inode into @buffer. @buffer may be * NULL to request the size of the buffer required. @size indicates * the size of @buffer in bytes. Note that @name is the remainder * of the attribute name after the security. prefix has been removed. * Return number of bytes used/required on success. * @inode_setsecurity: - * Set the security label associated with @name for @dentry from the + * Set the security label associated with @name for @inode from the * extended attribute value @value. @size indicates the size of the * @value in bytes. @flags may be XATTR_CREATE, XATTR_REPLACE, or 0. * Note that @name is the remainder of the attribute name after the @@ -409,8 +409,9 @@ struct swap_info_struct; * Return 0 on success. * @inode_listsecurity: * Copy the extended attribute names for the security labels - * associated with @dentry into @buffer. @buffer may be NULL to - * request the size of the buffer required. + * associated with @inode into @buffer. The maximum size of @buffer + * is specified by @buffer_size. @buffer may be NULL to request + * the size of the buffer required. * Returns number of bytes used/required on success. * * Security hooks for file operations @@ -485,16 +486,15 @@ struct swap_info_struct; * @file contains the file structure to update. * Return 0 on success. * @file_send_sigiotask: - * Check permission for the file owner @fown to send SIGIO to the process - * @tsk. Note that this hook is always called from interrupt. Note that - * the fown_struct, @fown, is never outside the context of a struct file, - * so the file structure (and associated security information) can always - * be obtained: + * Check permission for the file owner @fown to send SIGIO or SIGURG to the + * process @tsk. Note that this hook is sometimes called from interrupt. + * Note that the fown_struct, @fown, is never outside the context of a + * struct file, so the file structure (and associated security information) + * can always be obtained: * (struct file *)((long)fown - offsetof(struct file,f_owner)); * @tsk contains the structure of task receiving signal. * @fown contains the file owner information. - * @fd contains the file descriptor. - * @reason contains the operational flags. + * @sig is the signal that will be sent. When 0, kernel sends SIGIO. * Return 0 if permission is granted. * @file_receive: * This hook allows security modules to control the ability of a process @@ -1108,9 +1108,9 @@ struct security_operations { int (*inode_getxattr) (struct dentry *dentry, char *name); int (*inode_listxattr) (struct dentry *dentry); int (*inode_removexattr) (struct dentry *dentry, char *name); - int (*inode_getsecurity)(struct dentry *dentry, const char *name, void *buffer, size_t size); - int (*inode_setsecurity)(struct dentry *dentry, const char *name, const void *value, size_t size, int flags); - int (*inode_listsecurity)(struct dentry *dentry, char *buffer); + int (*inode_getsecurity)(struct inode *inode, const char *name, void *buffer, size_t size); + int (*inode_setsecurity)(struct inode *inode, const char *name, const void *value, size_t size, int flags); + int (*inode_listsecurity)(struct inode *inode, char *buffer, size_t buffer_size); int (*file_permission) (struct file * file, int mask); int (*file_alloc_security) (struct file * file); @@ -1124,9 +1124,9 @@ struct security_operations { int (*file_fcntl) (struct file * file, unsigned int cmd, unsigned long arg); int (*file_set_fowner) (struct file * file); + int (*file_send_sigiotask) (struct task_struct * tsk, - struct fown_struct * fown, - int fd, int reason); + struct fown_struct * fown, int sig); int (*file_receive) (struct file * file); int (*task_create) (unsigned long clone_flags); @@ -1575,19 +1575,19 @@ static inline int security_inode_removexattr (struct dentry *dentry, char *name) return security_ops->inode_removexattr (dentry, name); } -static inline int security_inode_getsecurity(struct dentry *dentry, const char *name, void *buffer, size_t size) +static inline int security_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size) { - return security_ops->inode_getsecurity(dentry, name, buffer, size); + return security_ops->inode_getsecurity(inode, name, buffer, size); } -static inline int security_inode_setsecurity(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) +static inline int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags) { - return security_ops->inode_setsecurity(dentry, name, value, size, flags); + return security_ops->inode_setsecurity(inode, name, value, size, flags); } -static inline int security_inode_listsecurity(struct dentry *dentry, char *buffer) +static inline int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size) { - return security_ops->inode_listsecurity(dentry, buffer); + return security_ops->inode_listsecurity(inode, buffer, buffer_size); } static inline int security_file_permission (struct file *file, int mask) @@ -1641,9 +1641,9 @@ static inline int security_file_set_fowner (struct file *file) static inline int security_file_send_sigiotask (struct task_struct *tsk, struct fown_struct *fown, - int fd, int reason) + int sig) { - return security_ops->file_send_sigiotask (tsk, fown, fd, reason); + return security_ops->file_send_sigiotask (tsk, fown, sig); } static inline int security_file_receive (struct file *file) @@ -2214,17 +2214,17 @@ static inline int security_inode_removexattr (struct dentry *dentry, char *name) return cap_inode_removexattr(dentry, name); } -static inline int security_inode_getsecurity(struct dentry *dentry, const char *name, void *buffer, size_t size) +static inline int security_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size) { return -EOPNOTSUPP; } -static inline int security_inode_setsecurity(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) +static inline int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags) { return -EOPNOTSUPP; } -static inline int security_inode_listsecurity(struct dentry *dentry, char *buffer) +static inline int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size) { return 0; } @@ -2278,7 +2278,7 @@ static inline int security_file_set_fowner (struct file *file) static inline int security_file_send_sigiotask (struct task_struct *tsk, struct fown_struct *fown, - int fd, int reason) + int sig) { return 0; } diff --git a/include/linux/sem.h b/include/linux/sem.h index c365f7989..2d8516be9 100644 --- a/include/linux/sem.h +++ b/include/linux/sem.h @@ -109,6 +109,7 @@ struct sem_queue { int id; /* internal sem id */ struct sembuf * sops; /* array of pending operations */ int nsops; /* number of operations */ + int alter; /* does the operation alter the array? */ }; /* Each task has a list of undo requests. They are executed automatically diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index e7e8bb92a..3a3b69fa9 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -88,6 +88,7 @@ /* MPC52xx type numbers */ #define PORT_MPC52xx 59 +#define PORT_ICOM 60 #ifdef __KERNEL__ @@ -176,6 +177,7 @@ struct uart_port { #define UPIO_PORT (0) #define UPIO_HUB6 (1) #define UPIO_MEM (2) +#define UPIO_MEM32 (3) unsigned int read_status_mask; /* driver specific */ unsigned int ignore_status_mask; /* driver specific */ diff --git a/include/linux/serio.h b/include/linux/serio.h index be0ccba86..f84b362a5 100644 --- a/include/linux/serio.h +++ b/include/linux/serio.h @@ -17,12 +17,17 @@ #ifdef __KERNEL__ #include +#include +#include struct serio { void *private; - void *driver; - char *name; - char *phys; + void *port_data; + + char name[32]; + char phys[32]; + + unsigned int manual_bind; unsigned short idbus; unsigned short idvendor; @@ -32,31 +37,43 @@ struct serio { unsigned long type; unsigned long event; + spinlock_t lock; /* protects critical sections from port's interrupt handler */ + int (*write)(struct serio *, unsigned char); int (*open)(struct serio *); void (*close)(struct serio *); - struct serio_dev *dev; + struct serio *parent, *child; + + struct serio_driver *drv; /* accessed from interrupt, must be protected by serio->lock */ + + struct device dev; struct list_head node; }; +#define to_serio_port(d) container_of(d, struct serio, dev) -struct serio_dev { +struct serio_driver { void *private; - char *name; + char *description; + + unsigned int manual_bind; void (*write_wakeup)(struct serio *); irqreturn_t (*interrupt)(struct serio *, unsigned char, unsigned int, struct pt_regs *); - void (*connect)(struct serio *, struct serio_dev *dev); + void (*connect)(struct serio *, struct serio_driver *drv); int (*reconnect)(struct serio *); void (*disconnect)(struct serio *); void (*cleanup)(struct serio *); + struct device_driver driver; + struct list_head node; }; +#define to_serio_driver(d) container_of(d, struct serio_driver, driver) -int serio_open(struct serio *serio, struct serio_dev *dev); +int serio_open(struct serio *serio, struct serio_driver *drv); void serio_close(struct serio *serio); void serio_rescan(struct serio *serio); void serio_reconnect(struct serio *serio); @@ -64,12 +81,11 @@ irqreturn_t serio_interrupt(struct serio *serio, unsigned char data, unsigned in void serio_register_port(struct serio *serio); void serio_register_port_delayed(struct serio *serio); -void __serio_register_port(struct serio *serio); void serio_unregister_port(struct serio *serio); void serio_unregister_port_delayed(struct serio *serio); -void __serio_unregister_port(struct serio *serio); -void serio_register_device(struct serio_dev *dev); -void serio_unregister_device(struct serio_dev *dev); + +void serio_register_driver(struct serio_driver *drv); +void serio_unregister_driver(struct serio_driver *drv); static __inline__ int serio_write(struct serio *serio, unsigned char data) { @@ -79,18 +95,34 @@ static __inline__ int serio_write(struct serio *serio, unsigned char data) return -1; } -static __inline__ void serio_dev_write_wakeup(struct serio *serio) +static __inline__ void serio_drv_write_wakeup(struct serio *serio) { - if (serio->dev && serio->dev->write_wakeup) - serio->dev->write_wakeup(serio); + if (serio->drv && serio->drv->write_wakeup) + serio->drv->write_wakeup(serio); } static __inline__ void serio_cleanup(struct serio *serio) { - if (serio->dev && serio->dev->cleanup) - serio->dev->cleanup(serio); + if (serio->drv && serio->drv->cleanup) + serio->drv->cleanup(serio); +} + + +/* + * Use the following fucntions to protect critical sections in + * driver code from port's interrupt handler + */ +static __inline__ void serio_pause_rx(struct serio *serio) +{ + spin_lock_irq(&serio->lock); } +static __inline__ void serio_continue_rx(struct serio *serio) +{ + spin_unlock_irq(&serio->lock); +} + + #endif /* diff --git a/include/linux/shm.h b/include/linux/shm.h index 1907355c0..80113a1f6 100644 --- a/include/linux/shm.h +++ b/include/linux/shm.h @@ -44,6 +44,7 @@ struct shmid_ds { #define SHM_RDONLY 010000 /* read-only access */ #define SHM_RND 020000 /* round attach address to SHMLBA boundary */ #define SHM_REMAP 040000 /* take-over region on attach */ +#define SHM_EXEC 0100000 /* execution access */ /* super user shmctl commands */ #define SHM_LOCK 11 diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 14a618109..e57a7ce84 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -13,14 +13,14 @@ struct shmem_inode_info { spinlock_t lock; - unsigned long next_index; - swp_entry_t i_direct[SHMEM_NR_DIRECT]; /* for the first blocks */ - struct page *i_indirect; /* indirect blocks */ - unsigned long alloced; /* data pages allocated to file */ - unsigned long swapped; /* subtotal assigned to swap */ unsigned long flags; - struct shared_policy policy; - struct list_head list; + unsigned long alloced; /* data pages alloced to file */ + unsigned long swapped; /* subtotal assigned to swap */ + unsigned long next_index; /* highest alloced index + 1 */ + struct shared_policy policy; /* NUMA memory alloc policy */ + struct page *i_indirect; /* top indirect blocks page */ + swp_entry_t i_direct[SHMEM_NR_DIRECT]; /* first blocks */ + struct list_head swaplist; /* chain of maybes on swap */ struct inode vfs_inode; }; diff --git a/include/linux/signal.h b/include/linux/signal.h index 2407dd888..e5f3d83ab 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h @@ -217,7 +217,7 @@ extern int sigprocmask(int, sigset_t *, sigset_t *); #ifndef HAVE_ARCH_GET_SIGNAL_TO_DELIVER struct pt_regs; -extern int get_signal_to_deliver(siginfo_t *info, struct pt_regs *regs, void *cookie); +extern int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, struct pt_regs *regs, void *cookie); #endif #endif /* __KERNEL__ */ diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 5156e432d..929165ba9 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -89,16 +89,14 @@ #define NET_CALLER(arg) __builtin_return_address(0) #endif +struct net_device; + #ifdef CONFIG_NETFILTER struct nf_conntrack { atomic_t use; void (*destroy)(struct nf_conntrack *); }; -struct nf_ct_info { - struct nf_conntrack *master; -}; - #ifdef CONFIG_BRIDGE_NETFILTER struct nf_bridge_info { atomic_t use; @@ -184,6 +182,7 @@ struct skb_shared_info { * @nfmark: Can be used for communication between hooks * @nfcache: Cache info * @nfct: Associated connection, if any + * @nfctinfo: Relationship of this skb to the connection * @nf_debug: Netfilter debugging * @nf_bridge: Saved data about a bridged frame - see br_netfilter.c * @private: Data which is private to the HIPPI implementation @@ -220,7 +219,6 @@ struct sk_buff { } nh; union { - struct ethhdr *ethernet; unsigned char *raw; } mac; @@ -251,7 +249,8 @@ struct sk_buff { #ifdef CONFIG_NETFILTER unsigned long nfmark; __u32 nfcache; - struct nf_ct_info *nfct; + __u32 nfctinfo; + struct nf_conntrack *nfct; #ifdef CONFIG_NETFILTER_DEBUG unsigned int nf_debug; #endif @@ -269,7 +268,7 @@ struct sk_buff { #ifdef CONFIG_NET_CLS_ACT __u32 tc_verd; /* traffic control verdict */ __u32 tc_classid; /* traffic control classid */ - #endif +#endif #endif xid_t xid; /* VServer context ID */ @@ -1142,15 +1141,15 @@ extern void skb_iter_abort(const struct sk_buff *skb, struct skb_iter *i); struct tux_req_struct; #ifdef CONFIG_NETFILTER -static inline void nf_conntrack_put(struct nf_ct_info *nfct) +static inline void nf_conntrack_put(struct nf_conntrack *nfct) { - if (nfct && atomic_dec_and_test(&nfct->master->use)) - nfct->master->destroy(nfct->master); + if (nfct && atomic_dec_and_test(&nfct->use)) + nfct->destroy(nfct); } -static inline void nf_conntrack_get(struct nf_ct_info *nfct) +static inline void nf_conntrack_get(struct nf_conntrack *nfct) { if (nfct) - atomic_inc(&nfct->master->use); + atomic_inc(&nfct->use); } static inline void nf_reset(struct sk_buff *skb) { @@ -1160,6 +1159,12 @@ static inline void nf_reset(struct sk_buff *skb) skb->nf_debug = 0; #endif } +static inline void nf_reset_debug(struct sk_buff *skb) +{ +#ifdef CONFIG_NETFILTER_DEBUG + skb->nf_debug = 0; +#endif +} #ifdef CONFIG_BRIDGE_NETFILTER static inline void nf_bridge_put(struct nf_bridge_info *nf_bridge) diff --git a/include/linux/slab.h b/include/linux/slab.h index e60ff6399..ec137df3d 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -4,7 +4,7 @@ * (markhe@nextd.demon.co.uk) */ -#if !defined(_LINUX_SLAB_H) +#ifndef _LINUX_SLAB_H #define _LINUX_SLAB_H #if defined(__KERNEL__) @@ -13,6 +13,7 @@ typedef struct kmem_cache_s kmem_cache_t; #include /* kmalloc_sizes.h needs CONFIG_ options */ #include +#include #include #include /* kmalloc_sizes.h needs PAGE_SIZE */ #include /* kmalloc_sizes.h needs L1_CACHE_BYTES */ @@ -45,6 +46,7 @@ typedef struct kmem_cache_s kmem_cache_t; #define SLAB_RECLAIM_ACCOUNT 0x00020000UL /* track pages allocated to indicate what is reclaimable later*/ #define SLAB_PANIC 0x00040000UL /* panic if kmem_cache_create() fails */ +#define SLAB_DESTROY_BY_RCU 0x00080000UL /* defer freeing pages to RCU */ /* flags passed to a constructor func */ #define SLAB_CTOR_CONSTRUCTOR 0x001UL /* if not set, then deconstructor */ @@ -52,9 +54,8 @@ typedef struct kmem_cache_s kmem_cache_t; #define SLAB_CTOR_VERIFY 0x004UL /* tell constructor it's a verify call */ /* prototypes */ -extern void kmem_cache_init(void); +extern void __init kmem_cache_init(void); -extern kmem_cache_t *kmem_find_general_cachep(size_t, int gfpflags); extern kmem_cache_t *kmem_cache_create(const char *, size_t, size_t, unsigned long, void (*)(void *, kmem_cache_t *, unsigned long), void (*)(void *, kmem_cache_t *, unsigned long)); @@ -97,6 +98,7 @@ found: return __kmalloc(size, flags); } +extern void *kcalloc(size_t, size_t, int); extern void kfree(const void *); extern unsigned int ksize(const void *); @@ -115,8 +117,6 @@ extern kmem_cache_t *signal_cachep; extern kmem_cache_t *sighand_cachep; extern kmem_cache_t *bio_cachep; -void ptrinfo(unsigned long addr); - extern atomic_t slab_reclaim_pages; #endif /* __KERNEL__ */ diff --git a/include/linux/socket.h b/include/linux/socket.h index f30253c38..f4db45e2f 100644 --- a/include/linux/socket.h +++ b/include/linux/socket.h @@ -144,7 +144,6 @@ __KINLINE struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct cmsghdr *__ #define SCM_RIGHTS 0x01 /* rw: access rights (array of int) */ #define SCM_CREDENTIALS 0x02 /* rw: struct ucred */ -#define SCM_CONNECT 0x03 /* rw: struct scm_connect */ struct ucred { __u32 pid; diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h index de381ec1e..eb02c8bc0 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h @@ -19,18 +19,18 @@ /* * Must define these before including other files, inline functions need them */ -#define LOCK_SECTION_NAME \ - ".text.lock." __stringify(KBUILD_BASENAME) +#define LOCK_SECTION_NAME \ + ".text.lock." __stringify(KBUILD_BASENAME) -#define LOCK_SECTION_START(extra) \ - ".subsection 1\n\t" \ - extra \ - ".ifndef " LOCK_SECTION_NAME "\n\t" \ - LOCK_SECTION_NAME ":\n\t" \ - ".endif\n\t" +#define LOCK_SECTION_START(extra) \ + ".subsection 1\n\t" \ + extra \ + ".ifndef " LOCK_SECTION_NAME "\n\t" \ + LOCK_SECTION_NAME ":\n\t" \ + ".endif\n\t" -#define LOCK_SECTION_END \ - ".previous\n\t" +#define LOCK_SECTION_END \ + ".previous\n\t" /* * If CONFIG_SMP is set, pull in the _raw_* definitions @@ -38,9 +38,40 @@ #ifdef CONFIG_SMP #include +#define __lockfunc fastcall __attribute__((section(".spinlock.text"))) + +int __lockfunc _spin_trylock(spinlock_t *lock); +int __lockfunc _write_trylock(rwlock_t *lock); +void __lockfunc _spin_lock(spinlock_t *lock); +void __lockfunc _write_lock(rwlock_t *lock); +void __lockfunc _spin_lock(spinlock_t *lock); +void __lockfunc _read_lock(rwlock_t *lock); +void __lockfunc _spin_unlock(spinlock_t *lock); +void __lockfunc _write_unlock(rwlock_t *lock); +void __lockfunc _read_unlock(rwlock_t *lock); +unsigned long __lockfunc _spin_lock_irqsave(spinlock_t *lock); +unsigned long __lockfunc _read_lock_irqsave(rwlock_t *lock); +unsigned long __lockfunc _write_lock_irqsave(rwlock_t *lock); +void __lockfunc _spin_lock_irq(spinlock_t *lock); +void __lockfunc _spin_lock_bh(spinlock_t *lock); +void __lockfunc _read_lock_irq(rwlock_t *lock); +void __lockfunc _read_lock_bh(rwlock_t *lock); +void __lockfunc _write_lock_irq(rwlock_t *lock); +void __lockfunc _write_lock_bh(rwlock_t *lock); +void __lockfunc _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags); +void __lockfunc _spin_unlock_irq(spinlock_t *lock); +void __lockfunc _spin_unlock_bh(spinlock_t *lock); +void __lockfunc _read_unlock_irqrestore(rwlock_t *lock, unsigned long flags); +void __lockfunc _read_unlock_irq(rwlock_t *lock); +void __lockfunc _read_unlock_bh(rwlock_t *lock); +void __lockfunc _write_unlock_irqrestore(rwlock_t *lock, unsigned long flags); +void __lockfunc _write_unlock_irq(rwlock_t *lock); +void __lockfunc _write_unlock_bh(rwlock_t *lock); +int __lockfunc _spin_trylock_bh(spinlock_t *lock); +int in_lock_functions(unsigned long addr); #else -#define _raw_spin_lock_flags(lock, flags) _raw_spin_lock(lock) +#define in_lock_functions(ADDR) 0 #if !defined(CONFIG_PREEMPT) && !defined(CONFIG_DEBUG_SPINLOCK) # define atomic_dec_and_lock(atomic,lock) atomic_dec_and_test(atomic) @@ -73,7 +104,7 @@ typedef struct { #define CHECK_LOCK(x) \ do { \ if ((x)->magic != SPINLOCK_MAGIC) { \ - printk(KERN_ERR "%s:%d: spin_is_locked on uninitialized spinlock %p.\n", \ + panic("%s:%d: spin_is_locked on uninitialized spinlock %p.\n", \ __FILE__, __LINE__, (x)); \ } \ } while(0) @@ -83,7 +114,7 @@ typedef struct { CHECK_LOCK(x); \ if ((x)->lock&&(x)->babble) { \ (x)->babble--; \ - printk("%s:%d: spin_lock(%s:%p) already locked by %s/%d\n", \ + panic("%s:%d: spin_lock(%s:%p) already locked by %s/%d\n", \ __FILE__,__LINE__, (x)->module, \ (x), (x)->owner, (x)->oline); \ } \ @@ -139,7 +170,7 @@ typedef struct { CHECK_LOCK(x); \ if (!(x)->lock&&(x)->babble) { \ (x)->babble--; \ - printk("%s:%d: spin_unlock(%s:%p) not locked\n", \ + panic("%s:%d: spin_unlock(%s:%p) not locked\n", \ __FILE__,__LINE__, (x)->module, (x));\ } \ (x)->lock = 0; \ @@ -162,9 +193,9 @@ typedef struct { #define spin_lock_init(lock) do { (void)(lock); } while(0) #define _raw_spin_lock(lock) do { (void)(lock); } while(0) #define spin_is_locked(lock) ((void)(lock), 0) -#define _raw_spin_trylock(lock) ((void)(lock), 1) -#define spin_unlock_wait(lock) do { (void)(lock); } while(0) -#define _raw_spin_unlock(lock) do { (void)(lock); } while(0) +#define _raw_spin_trylock(lock) (((void)(lock), 1)) +#define spin_unlock_wait(lock) (void)(lock); +#define _raw_spin_unlock(lock) do { (void)(lock); } while(0) #endif /* CONFIG_DEBUG_SPINLOCK */ /* RW spinlocks: No debug version */ @@ -184,141 +215,116 @@ typedef struct { #define _raw_write_unlock(lock) do { (void)(lock); } while(0) #define _raw_write_trylock(lock) ({ (void)(lock); (1); }) -#endif /* !SMP */ - -/* - * Define the various spin_lock and rw_lock methods. Note we define these - * regardless of whether CONFIG_SMP or CONFIG_PREEMPT are set. The various - * methods are defined as nops in the case they are not required. - */ -#define spin_trylock(lock) ({preempt_disable(); _raw_spin_trylock(lock) ? \ +#define _spin_trylock(lock) ({preempt_disable(); _raw_spin_trylock(lock) ? \ 1 : ({preempt_enable(); 0;});}) -#define write_trylock(lock) ({preempt_disable();_raw_write_trylock(lock) ? \ +#define _write_trylock(lock) ({preempt_disable(); _raw_write_trylock(lock) ? \ 1 : ({preempt_enable(); 0;});}) -/* Where's read_trylock? */ - -#if defined(CONFIG_SMP) && defined(CONFIG_PREEMPT) -void __preempt_spin_lock(spinlock_t *lock); -void __preempt_write_lock(rwlock_t *lock); +#define _spin_trylock_bh(lock) ({preempt_disable(); local_bh_disable(); \ + _raw_spin_trylock(lock) ? \ + 1 : ({preempt_enable(); local_bh_enable(); 0;});}) -#define spin_lock(lock) \ -do { \ - preempt_disable(); \ - if (unlikely(!_raw_spin_trylock(lock))) \ - __preempt_spin_lock(lock); \ -} while (0) - -#define write_lock(lock) \ -do { \ - preempt_disable(); \ - if (unlikely(!_raw_write_trylock(lock))) \ - __preempt_write_lock(lock); \ -} while (0) - -#else -#define spin_lock(lock) \ +#define _spin_lock(lock) \ do { \ preempt_disable(); \ _raw_spin_lock(lock); \ } while(0) -#define write_lock(lock) \ +#define _write_lock(lock) \ do { \ preempt_disable(); \ _raw_write_lock(lock); \ } while(0) -#endif - -#define read_lock(lock) \ + +#define _read_lock(lock) \ do { \ preempt_disable(); \ _raw_read_lock(lock); \ } while(0) -#define spin_unlock(lock) \ +#define _spin_unlock(lock) \ do { \ _raw_spin_unlock(lock); \ preempt_enable(); \ } while (0) -#define write_unlock(lock) \ +#define _write_unlock(lock) \ do { \ _raw_write_unlock(lock); \ preempt_enable(); \ } while(0) -#define read_unlock(lock) \ +#define _read_unlock(lock) \ do { \ _raw_read_unlock(lock); \ preempt_enable(); \ } while(0) -#define spin_lock_irqsave(lock, flags) \ -do { \ +#define _spin_lock_irqsave(lock, flags) \ +do { \ local_irq_save(flags); \ preempt_disable(); \ - _raw_spin_lock_flags(lock, flags); \ + _raw_spin_lock(lock); \ } while (0) -#define spin_lock_irq(lock) \ +#define _spin_lock_irq(lock) \ do { \ local_irq_disable(); \ preempt_disable(); \ _raw_spin_lock(lock); \ } while (0) -#define spin_lock_bh(lock) \ +#define _spin_lock_bh(lock) \ do { \ local_bh_disable(); \ preempt_disable(); \ _raw_spin_lock(lock); \ } while (0) -#define read_lock_irqsave(lock, flags) \ -do { \ +#define _read_lock_irqsave(lock, flags) \ +do { \ local_irq_save(flags); \ preempt_disable(); \ _raw_read_lock(lock); \ } while (0) -#define read_lock_irq(lock) \ +#define _read_lock_irq(lock) \ do { \ local_irq_disable(); \ preempt_disable(); \ _raw_read_lock(lock); \ } while (0) -#define read_lock_bh(lock) \ +#define _read_lock_bh(lock) \ do { \ local_bh_disable(); \ preempt_disable(); \ _raw_read_lock(lock); \ } while (0) -#define write_lock_irqsave(lock, flags) \ -do { \ +#define _write_lock_irqsave(lock, flags) \ +do { \ local_irq_save(flags); \ preempt_disable(); \ _raw_write_lock(lock); \ } while (0) -#define write_lock_irq(lock) \ +#define _write_lock_irq(lock) \ do { \ local_irq_disable(); \ preempt_disable(); \ _raw_write_lock(lock); \ } while (0) -#define write_lock_bh(lock) \ +#define _write_lock_bh(lock) \ do { \ local_bh_disable(); \ preempt_disable(); \ _raw_write_lock(lock); \ } while (0) -#define spin_unlock_irqrestore(lock, flags) \ +#define _spin_unlock_irqrestore(lock, flags) \ do { \ _raw_spin_unlock(lock); \ local_irq_restore(flags); \ @@ -331,65 +337,137 @@ do { \ local_irq_restore(flags); \ } while (0) -#define spin_unlock_irq(lock) \ +#define _spin_unlock_irq(lock) \ do { \ _raw_spin_unlock(lock); \ local_irq_enable(); \ preempt_enable(); \ } while (0) -#define spin_unlock_bh(lock) \ +#define _spin_unlock_bh(lock) \ do { \ _raw_spin_unlock(lock); \ preempt_enable(); \ local_bh_enable(); \ } while (0) -#define read_unlock_irqrestore(lock, flags) \ +#define _write_unlock_bh(lock) \ do { \ - _raw_read_unlock(lock); \ - local_irq_restore(flags); \ + _raw_write_unlock(lock); \ preempt_enable(); \ + local_bh_enable(); \ } while (0) -#define read_unlock_irq(lock) \ +#define _read_unlock_irqrestore(lock, flags) \ do { \ _raw_read_unlock(lock); \ - local_irq_enable(); \ + local_irq_restore(flags); \ preempt_enable(); \ } while (0) -#define read_unlock_bh(lock) \ +#define _write_unlock_irqrestore(lock, flags) \ do { \ - _raw_read_unlock(lock); \ + _raw_write_unlock(lock); \ + local_irq_restore(flags); \ preempt_enable(); \ - local_bh_enable(); \ } while (0) -#define write_unlock_irqrestore(lock, flags) \ +#define _read_unlock_irq(lock) \ do { \ - _raw_write_unlock(lock); \ - local_irq_restore(flags); \ - preempt_enable(); \ + _raw_read_unlock(lock); \ + local_irq_enable(); \ + preempt_enable(); \ } while (0) -#define write_unlock_irq(lock) \ +#define _read_unlock_bh(lock) \ do { \ - _raw_write_unlock(lock); \ - local_irq_enable(); \ - preempt_enable(); \ + _raw_read_unlock(lock); \ + local_bh_enable(); \ + preempt_enable(); \ } while (0) -#define write_unlock_bh(lock) \ +#define _write_unlock_irq(lock) \ do { \ - _raw_write_unlock(lock); \ - preempt_enable(); \ - local_bh_enable(); \ + _raw_write_unlock(lock); \ + local_irq_enable(); \ + preempt_enable(); \ } while (0) -#define spin_trylock_bh(lock) ({ local_bh_disable(); preempt_disable(); \ - _raw_spin_trylock(lock) ? 1 : \ - ({preempt_enable(); local_bh_enable(); 0;});}) +#endif /* !SMP */ + +/* + * Define the various spin_lock and rw_lock methods. Note we define these + * regardless of whether CONFIG_SMP or CONFIG_PREEMPT are set. The various + * methods are defined as nops in the case they are not required. + */ +#define spin_trylock(lock) _spin_trylock(lock) +#define write_trylock(lock) _write_trylock(lock) + +/* Where's read_trylock? */ + +#define spin_lock(lock) _spin_lock(lock) +#define write_lock(lock) _write_lock(lock) +#define read_lock(lock) _read_lock(lock) +#define spin_unlock(lock) _spin_unlock(lock) +#define write_unlock(lock) _write_unlock(lock) +#define read_unlock(lock) _read_unlock(lock) + +#ifdef CONFIG_SMP +#define spin_lock_irqsave(lock, flags) flags = _spin_lock_irqsave(lock) +#define read_lock_irqsave(lock, flags) flags = _read_lock_irqsave(lock) +#define write_lock_irqsave(lock, flags) flags = _write_lock_irqsave(lock) +#else +#define spin_lock_irqsave(lock, flags) _spin_lock_irqsave(lock, flags) +#define read_lock_irqsave(lock, flags) _read_lock_irqsave(lock, flags) +#define write_lock_irqsave(lock, flags) _write_lock_irqsave(lock, flags) +#endif + +#define spin_lock_irq(lock) _spin_lock_irq(lock) +#define spin_lock_bh(lock) _spin_lock_bh(lock) + +#define read_lock_irq(lock) _read_lock_irq(lock) +#define read_lock_bh(lock) _read_lock_bh(lock) + +#define write_lock_irq(lock) _write_lock_irq(lock) +#define write_lock_bh(lock) _write_lock_bh(lock) +#define spin_unlock_irqrestore(lock, flags) _spin_unlock_irqrestore(lock, flags) +#define spin_unlock_irq(lock) _spin_unlock_irq(lock) +#define spin_unlock_bh(lock) _spin_unlock_bh(lock) + +#define read_unlock_irqrestore(lock, flags) _read_unlock_irqrestore(lock, flags) +#define read_unlock_irq(lock) _read_unlock_irq(lock) +#define read_unlock_bh(lock) _read_unlock_bh(lock) + +#define write_unlock_irqrestore(lock, flags) _write_unlock_irqrestore(lock, flags) +#define write_unlock_irq(lock) _write_unlock_irq(lock) +#define write_unlock_bh(lock) _write_unlock_bh(lock) + +#define spin_trylock_bh(lock) _spin_trylock_bh(lock) + +#define spin_trylock_irq(lock) \ +({ \ + local_irq_disable(); \ + _spin_trylock(lock) ? \ + 1 : ({local_irq_enable(); 0; }); \ +}) + +#define spin_trylock_irqsave(lock, flags) \ +({ \ + local_irq_save(flags); \ + _spin_trylock(lock) ? \ + 1 : ({local_irq_restore(flags); 0;}); \ +}) + +#ifdef CONFIG_LOCKMETER +extern void _metered_spin_lock (spinlock_t *lock); +extern void _metered_spin_unlock (spinlock_t *lock); +extern int _metered_spin_trylock(spinlock_t *lock); +extern void _metered_read_lock (rwlock_t *lock); +extern void _metered_read_unlock (rwlock_t *lock); +extern void _metered_write_lock (rwlock_t *lock); +extern void _metered_write_unlock (rwlock_t *lock); +extern int _metered_write_trylock(rwlock_t *lock); +#endif /* "lock on reference count zero" */ #ifndef ATOMIC_DEC_AND_LOCK diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h index 6c5f0060a..04ac3afcc 100644 --- a/include/linux/sunrpc/cache.h +++ b/include/linux/sunrpc/cache.h @@ -161,6 +161,10 @@ struct cache_deferred_req { * INIT copies key information from "item" to "new" * UPDATE copies content information from "item" to "tmp" * INPLACE is true if updates can happen inplace rather than allocating a new structure + * + * WARNING: any substantial changes to this must be reflected in + * net/sunrpc/svcauth.c(auth_domain_lookup) + * which is a similar routine that is open-coded. */ #define DefineCacheLookup(RTN,MEMBER,FNAME,ARGS,SETUP,DETAIL,HASHFN,TEST,INIT,UPDATE,INPLACE) \ RTN *FNAME ARGS \ @@ -233,7 +237,6 @@ RTN *FNAME ARGS \ new = kmalloc(sizeof(*new), GFP_KERNEL); \ if (new) { \ cache_init(&new->MEMBER); \ - cache_get(&new->MEMBER); \ goto retry; \ } \ return NULL; \ diff --git a/include/linux/sunrpc/gss_asn1.h b/include/linux/sunrpc/gss_asn1.h index 7559244d4..e0e4e1dc5 100644 --- a/include/linux/sunrpc/gss_asn1.h +++ b/include/linux/sunrpc/gss_asn1.h @@ -69,7 +69,6 @@ u32 g_verify_token_header( struct xdr_netobj *mech, int *body_size, unsigned char **buf_in, - int tok_type, int toksize); u32 g_get_mech_oid(struct xdr_netobj *mech, struct xdr_netobj * in_buf); diff --git a/include/linux/suspend.h b/include/linux/suspend.h index d0955f06c..932dc2ca4 100644 --- a/include/linux/suspend.h +++ b/include/linux/suspend.h @@ -23,16 +23,6 @@ typedef struct pbe { #define SWAP_FILENAME_MAXLENGTH 32 -struct suspend_header { - u32 version_code; - unsigned long num_physpages; - char machine[8]; - char version[20]; - int num_cpus; - int page_size; - suspend_pagedir_t *suspend_pagedir; - unsigned int num_pbes; -}; #define SUSPEND_PD_PAGES(x) (((x)*sizeof(struct pbe))/PAGE_SIZE+1) @@ -45,16 +35,12 @@ extern void drain_local_pages(void); /* kernel/power/swsusp.c */ extern int software_suspend(void); -extern unsigned int nr_copy_pages __nosavedata; -extern suspend_pagedir_t *pagedir_nosave __nosavedata; - #else /* CONFIG_SOFTWARE_SUSPEND */ static inline int software_suspend(void) { printk("Warning: fake suspend called\n"); return -EPERM; } -#define software_resume() do { } while(0) #endif /* CONFIG_SOFTWARE_SUSPEND */ @@ -78,12 +64,6 @@ static inline void disable_nonboot_cpus(void) {} static inline void enable_nonboot_cpus(void) {} #endif -asmlinkage void do_magic(int is_resume); -asmlinkage void do_magic_resume_1(void); -asmlinkage void do_magic_resume_2(void); -asmlinkage void do_magic_suspend_1(void); -asmlinkage void do_magic_suspend_2(void); - void save_processor_state(void); void restore_processor_state(void); struct saved_context; diff --git a/include/linux/swap.h b/include/linux/swap.h index 99ecc2898..371e8260c 100644 --- a/include/linux/swap.h +++ b/include/linux/swap.h @@ -204,28 +204,6 @@ extern void free_pages_and_swap_cache(struct page **, int); extern struct page * lookup_swap_cache(swp_entry_t); extern struct page * read_swap_cache_async(swp_entry_t, struct vm_area_struct *vma, unsigned long addr); -/* linux/mm/thrash.c */ -#ifdef CONFIG_SWAP -extern struct mm_struct * swap_token_mm; -extern void grab_swap_token(void); -extern void __put_swap_token(struct mm_struct *); - -static inline int has_swap_token(struct mm_struct *mm) -{ - return (mm == swap_token_mm); -} - -static inline void put_swap_token(struct mm_struct *mm) -{ - if (has_swap_token(mm)) - __put_swap_token(mm); -} -#else /* CONFIG_SWAP */ -#define put_swap_token(x) do { } while(0) -#define grab_swap_token do { } while(0) -#define has_swap_token 0 -#endif /* CONFIG_SWAP */ - /* linux/mm/swapfile.c */ extern long total_swap_pages; extern unsigned int nr_swapfiles; @@ -250,6 +228,22 @@ extern spinlock_t swaplock; #define swap_device_lock(p) spin_lock(&p->sdev_lock) #define swap_device_unlock(p) spin_unlock(&p->sdev_lock) +/* linux/mm/thrash.c */ +extern struct mm_struct * swap_token_mm; +extern void grab_swap_token(void); +extern void __put_swap_token(struct mm_struct *); + +static inline int has_swap_token(struct mm_struct *mm) +{ + return (mm == swap_token_mm); +} + +static inline void put_swap_token(struct mm_struct *mm) +{ + if (has_swap_token(mm)) + __put_swap_token(mm); +} + #else /* CONFIG_SWAP */ #define total_swap_pages 0 @@ -287,6 +281,11 @@ static inline swp_entry_t get_swap_page(void) return entry; } +/* linux/mm/thrash.c */ +#define put_swap_token(x) do { } while(0) +#define grab_swap_token() do { } while(0) +#define has_swap_token(x) 0 + #endif /* CONFIG_SWAP */ #endif /* __KERNEL__*/ #endif /* _LINUX_SWAP_H */ diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index fadfc6d7a..bd26cf298 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h @@ -114,6 +114,9 @@ asmlinkage long sys_getitimer(int which, struct itimerval __user *value); asmlinkage long sys_setitimer(int which, struct itimerval __user *value, struct itimerval __user *ovalue); +asmlinkage long sys_timer_create(clockid_t which_clock, + struct sigevent __user *timer_event_spec, + timer_t __user * created_timer_id); asmlinkage long sys_timer_gettime(timer_t timer_id, struct itimerspec __user *setting); asmlinkage long sys_timer_getoverrun(timer_t timer_id); @@ -160,9 +163,12 @@ asmlinkage long sys_kexec_load(void *entry, unsigned long nr_segments, asmlinkage long sys_exit(int error_code); asmlinkage void sys_exit_group(int error_code); -asmlinkage long sys_wait4(pid_t pid, unsigned int __user *stat_addr, +asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, int options, struct rusage __user *ru); -asmlinkage long sys_waitpid(pid_t pid, unsigned int __user *stat_addr, int options); +asmlinkage long sys_waitid(int which, pid_t pid, + struct siginfo __user *infop, + int options, struct rusage __user *ru); +asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options); asmlinkage long sys_set_tid_address(int __user *tidptr); asmlinkage long sys_futex(u32 __user *uaddr, int op, int val, struct timespec __user *utime, u32 __user *uaddr2, diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 8baf21acf..c09a1de97 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -133,8 +133,10 @@ enum KERN_NGROUPS_MAX=63, /* int: NGROUPS_MAX */ KERN_SPARC_SCONS_PWROFF=64, /* int: serial console power-off halt */ KERN_HZ_TIMER=65, /* int: hz timer on or off */ - KERN_VSHELPER=66, /* string: path to vshelper policy agent */ - KERN_DUMP=67, /* dir: dump parameters */ + KERN_UNKNOWN_NMI_PANIC=66, /* int: unknown nmi panic flag */ + KERN_SETUID_DUMPABLE=67, /* int: behaviour of dumps for setuid core */ + KERN_VSHELPER=68, /* string: path to vshelper policy agent */ + KERN_DUMP=69, /* dir: dump parameters */ }; @@ -343,6 +345,7 @@ enum NET_TCP_BIC_LOW_WINDOW=104, NET_TCP_DEFAULT_WIN_SCALE=105, NET_TCP_MODERATE_RCVBUF=106, + NET_TCP_TSO_WIN_DIVISOR=107, #ifdef CONFIG_ICMP_IPOD NET_IPV4_ICMP_IPOD_VERSION, NET_IPV4_ICMP_IPOD_ENABLED, @@ -421,6 +424,19 @@ enum NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12, NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13, NET_IPV4_NF_CONNTRACK_BUCKETS=14, + NET_IPV4_NF_CONNTRACK_LOG_INVALID=15, + NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16, + NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17, + NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18, + NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25, + NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26, + NET_IPV4_NF_CONNTRACK_COUNT=27, }; /* /proc/sys/net/ipv6 */ diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h index 23f783872..d12ee2b1e 100644 --- a/include/linux/sysfs.h +++ b/include/linux/sysfs.h @@ -9,7 +9,7 @@ #ifndef _SYSFS_H_ #define _SYSFS_H_ -#define SYSFS_SUPER_MAGIC 0x62656572 +#include struct kobject; struct module; @@ -59,6 +59,23 @@ struct sysfs_ops { ssize_t (*store)(struct kobject *,struct attribute *,const char *, size_t); }; +struct sysfs_dirent { + atomic_t s_count; + struct list_head s_sibling; + struct list_head s_children; + void * s_element; + int s_type; + umode_t s_mode; + struct dentry * s_dentry; +}; + +#define SYSFS_ROOT 0x0001 +#define SYSFS_DIR 0x0002 +#define SYSFS_KOBJ_ATTR 0x0004 +#define SYSFS_KOBJ_BIN_ATTR 0x0008 +#define SYSFS_KOBJ_LINK 0x0020 +#define SYSFS_NOT_PINNED (SYSFS_KOBJ_ATTR | SYSFS_KOBJ_BIN_ATTR | SYSFS_KOBJ_LINK) + #ifdef CONFIG_SYSFS extern int diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 9ed5fac6c..181ddf15a 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h @@ -217,6 +217,17 @@ struct tcp_sack_block { __u32 end_seq; }; +typedef struct tcp_pcount { + __u32 val; +} tcp_pcount_t; + +enum tcp_congestion_algo { + TCP_RENO=0, + TCP_VEGAS, + TCP_WESTWOOD, + TCP_BIC, +}; + struct tcp_opt { int tcp_header_len; /* Bytes of tcp header to send */ @@ -277,22 +288,22 @@ struct tcp_opt { __u8 frto_counter; /* Number of new acks after RTO */ __u32 frto_highmark; /* snd_nxt when RTO occurred */ - __u8 unused_pad; + __u8 adv_cong; /* Using Vegas, Westwood, or BIC */ __u8 defer_accept; /* User waits for some data after accept() */ /* one byte hole, try to pack */ /* RTT measurement */ __u8 backoff; /* backoff */ - __u32 srtt; /* smothed round trip time << 3 */ + __u32 srtt; /* smoothed round trip time << 3 */ __u32 mdev; /* medium deviation */ __u32 mdev_max; /* maximal mdev for the last rtt period */ __u32 rttvar; /* smoothed mdev_max */ __u32 rtt_seq; /* sequence number to update rttvar */ __u32 rto; /* retransmit timeout */ - __u32 packets_out; /* Packets which are "in flight" */ - __u32 left_out; /* Packets which leaved network */ - __u32 retrans_out; /* Retransmitted packets out */ + tcp_pcount_t packets_out; /* Packets which are "in flight" */ + tcp_pcount_t left_out; /* Packets which leaved network */ + tcp_pcount_t retrans_out; /* Retransmitted packets out */ /* @@ -353,9 +364,9 @@ struct tcp_opt { __u8 syn_retries; /* num of allowed syn retries */ __u8 ecn_flags; /* ECN status bits. */ __u16 prior_ssthresh; /* ssthresh saved at recovery start */ - __u32 lost_out; /* Lost packets */ - __u32 sacked_out; /* SACK'd packets */ - __u32 fackets_out; /* FACK'd packets */ + tcp_pcount_t lost_out; /* Lost packets */ + tcp_pcount_t sacked_out;/* SACK'd packets */ + tcp_pcount_t fackets_out;/* FACK'd packets */ __u32 high_seq; /* snd_nxt at onset of congestion */ __u32 retrans_stamp; /* Timestamp of the last retransmit, @@ -425,7 +436,6 @@ struct tcp_opt { __u32 beg_snd_nxt; /* right edge during last RTT */ __u32 beg_snd_una; /* left edge during last RTT */ __u32 beg_snd_cwnd; /* saves the size of the cwnd */ - __u8 do_vegas; /* do vegas for this connection */ __u8 doing_vegas_now;/* if true, do vegas for this RTT */ __u16 cntRTT; /* # of RTTs measured within last RTT */ __u32 minRTT; /* min of RTTs measured within last RTT (in usec) */ diff --git a/include/linux/time.h b/include/linux/time.h index bb9baabe9..7caa77832 100644 --- a/include/linux/time.h +++ b/include/linux/time.h @@ -194,8 +194,22 @@ static inline unsigned int jiffies_to_msecs(const unsigned long j) return (j * 1000) / HZ; #endif } + +static inline unsigned int jiffies_to_usecs(const unsigned long j) +{ +#if HZ <= 1000 && !(1000 % HZ) + return (1000000 / HZ) * j; +#elif HZ > 1000 && !(HZ % 1000) + return (j*1000 + (HZ - 1000))/(HZ / 1000); +#else + return (j * 1000000) / HZ; +#endif +} + static inline unsigned long msecs_to_jiffies(const unsigned int m) { + if (m > jiffies_to_msecs(MAX_JIFFY_OFFSET)) + return MAX_JIFFY_OFFSET; #if HZ <= 1000 && !(1000 % HZ) return (m + (1000 / HZ) - 1) / (1000 / HZ); #elif HZ > 1000 && !(HZ % 1000) @@ -348,6 +362,7 @@ extern long do_utimes(char __user * filename, struct timeval * times); struct itimerval; extern int do_setitimer(int which, struct itimerval *value, struct itimerval *ovalue); extern int do_getitimer(int which, struct itimerval *value); +extern void getnstimeofday (struct timespec *tv); static inline void set_normalized_timespec (struct timespec *ts, time_t sec, long nsec) diff --git a/include/linux/times.h b/include/linux/times.h index ff00f334f..0c5aa078d 100644 --- a/include/linux/times.h +++ b/include/linux/times.h @@ -55,6 +55,26 @@ static inline u64 jiffies_64_to_clock_t(u64 x) } #endif +static inline u64 nsec_to_clock_t(u64 x) +{ +#if (NSEC_PER_SEC % USER_HZ) == 0 + do_div(x, (NSEC_PER_SEC / USER_HZ)); +#elif (USER_HZ % 512) == 0 + x *= USER_HZ/512; + do_div(x, (NSEC_PER_SEC / 512)); +#else + /* + * max relative error 5.7e-8 (1.8s per year) for USER_HZ <= 1024, + * overflow after 64.99 years. + * exact for HZ=60, 72, 90, 120, 144, 180, 300, 600, 900, ... + */ + x *= 9; + do_div(x, (unsigned long)((9ull * NSEC_PER_SEC + (USER_HZ/2)) + / USER_HZ)); +#endif + return x; +} + struct tms { clock_t tms_utime; clock_t tms_stime; diff --git a/include/linux/timex.h b/include/linux/timex.h index 31ef4595b..ee8cafa7f 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h @@ -343,20 +343,18 @@ extern long pps_stbcnt; /* stability limit exceeded */ * for the compensation is that the timer routines are not as scalable anymore. */ -#define INTERPOLATOR_ADJUST 65536 -#define INTERPOLATOR_MAX_SKIP 10*INTERPOLATOR_ADJUST - struct time_interpolator { - unsigned short source; /* time source flags */ - unsigned char shift; /* increases accuracy of multiply by shifting. */ - /* Note that bits may be lost if shift is set too high */ - unsigned char jitter; /* if set compensate for fluctuations */ - unsigned nsec_per_cyc; /* set by register_time_interpolator() */ + u16 source; /* time source flags */ + u8 shift; /* increases accuracy of multiply by shifting. */ + /* Note that bits may be lost if shift is set too high */ + u8 jitter; /* if set compensate for fluctuations */ + u32 nsec_per_cyc; /* set by register_time_interpolator() */ void *addr; /* address of counter or function */ + u64 mask; /* mask the valid bits of the counter */ unsigned long offset; /* nsec offset at last update of interpolator */ - unsigned long last_counter; /* counter value in units of the counter at last update */ - unsigned long last_cycle; /* Last timer value if TIME_SOURCE_JITTER is set */ - unsigned long frequency; /* frequency in counts/second */ + u64 last_counter; /* counter value in units of the counter at last update */ + u64 last_cycle; /* Last timer value if TIME_SOURCE_JITTER is set */ + u64 frequency; /* frequency in counts/second */ long drift; /* drift in parts-per-million (or -1) */ unsigned long skips; /* skips forward */ unsigned long ns_skipped; /* nanoseconds skipped */ @@ -366,7 +364,6 @@ struct time_interpolator { extern void register_time_interpolator(struct time_interpolator *); extern void unregister_time_interpolator(struct time_interpolator *); extern void time_interpolator_reset(void); -extern unsigned long time_interpolator_resolution(void); extern unsigned long time_interpolator_get_offset(void); #else /* !CONFIG_TIME_INTERPOLATION */ diff --git a/include/linux/tty.h b/include/linux/tty.h index 7481d70fb..f9fd14991 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h @@ -244,6 +244,7 @@ struct tty_struct { struct tty_driver *driver; int index; struct tty_ldisc ldisc; + struct semaphore termios_sem; struct termios *termios, *termios_locked; char name[64]; int pgrp; @@ -306,26 +307,27 @@ struct tty_struct { * tty->write. Thus, you must use the inline functions set_bit() and * clear_bit() to make things atomic. */ -#define TTY_THROTTLED 0 -#define TTY_IO_ERROR 1 -#define TTY_OTHER_CLOSED 2 -#define TTY_EXCLUSIVE 3 -#define TTY_DEBUG 4 -#define TTY_DO_WRITE_WAKEUP 5 -#define TTY_PUSH 6 -#define TTY_CLOSING 7 -#define TTY_DONT_FLIP 8 -#define TTY_HW_COOK_OUT 14 -#define TTY_HW_COOK_IN 15 -#define TTY_PTY_LOCK 16 -#define TTY_NO_WRITE_SPLIT 17 +#define TTY_THROTTLED 0 /* Call unthrottle() at threshold min */ +#define TTY_IO_ERROR 1 /* Canse an I/O error (may be no ldisc too) */ +#define TTY_OTHER_CLOSED 2 /* Other side (if any) has closed */ +#define TTY_EXCLUSIVE 3 /* Exclusive open mode */ +#define TTY_DEBUG 4 /* Debugging */ +#define TTY_DO_WRITE_WAKEUP 5 /* Call write_wakeup after queuing new */ +#define TTY_PUSH 6 /* n_tty private */ +#define TTY_CLOSING 7 /* ->close() in progress */ +#define TTY_DONT_FLIP 8 /* Defer buffer flip */ +#define TTY_LDISC 9 /* Line discipline attached */ +#define TTY_HW_COOK_OUT 14 /* Hardware can do output cooking */ +#define TTY_HW_COOK_IN 15 /* Hardware can do input cooking */ +#define TTY_PTY_LOCK 16 /* pty private */ +#define TTY_NO_WRITE_SPLIT 17 /* Preserve write boundaries to driver */ +#define TTY_HUPPED 18 /* Post driver->hangup() */ #define TTY_WRITE_FLUSH(tty) tty_write_flush((tty)) extern void tty_write_flush(struct tty_struct *); extern struct termios tty_std_termios; -extern struct tty_ldisc ldiscs[]; extern int fg_console, last_console, want_console; extern int kmsg_redirect; @@ -362,6 +364,16 @@ extern void tty_flip_buffer_push(struct tty_struct *tty); extern int tty_get_baud_rate(struct tty_struct *tty); extern int tty_termios_baud_rate(struct termios *termios); +extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); +extern void tty_ldisc_deref(struct tty_ldisc *); +extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *); + +extern struct tty_ldisc *tty_ldisc_get(int); +extern void tty_ldisc_put(int); + +extern void tty_wakeup(struct tty_struct *tty); +extern void tty_ldisc_flush(struct tty_struct *tty); + struct semaphore; extern struct semaphore tty_sem; diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h index cb7ca58e4..deacf01e5 100644 --- a/include/linux/tty_ldisc.h +++ b/include/linux/tty_ldisc.h @@ -95,6 +95,13 @@ * that line discpline should try to send more characters to the * low-level driver for transmission. If the line discpline does * not have any more data to send, it can just return. + * + * int (*hangup)(struct tty_struct *) + * + * Called on a hangup. Tells the discipline that it should + * cease I/O to the tty driver. Can sleep. The driver should + * seek to perform this action quickly but should wait until + * any pending driver I/O is completed. */ #include @@ -122,6 +129,7 @@ struct tty_ldisc { void (*set_termios)(struct tty_struct *tty, struct termios * old); unsigned int (*poll)(struct tty_struct *, struct file *, struct poll_table_struct *); + int (*hangup)(struct tty_struct *tty); /* * The following routines are called from below. @@ -132,6 +140,8 @@ struct tty_ldisc { void (*write_wakeup)(struct tty_struct *); struct module *owner; + + int refcount; }; #define TTY_LDISC_MAGIC 0x5403 diff --git a/include/linux/types.h b/include/linux/types.h index dd1505c9d..0cc7eaceb 100644 --- a/include/linux/types.h +++ b/include/linux/types.h @@ -144,6 +144,19 @@ typedef unsigned long sector_t; #define pgoff_t unsigned long #endif +#ifdef __CHECKER__ +#define __bitwise __attribute__((bitwise)) +#else +#define __bitwise +#endif + +typedef __u16 __bitwise __le16; +typedef __u16 __bitwise __be16; +typedef __u32 __bitwise __le32; +typedef __u32 __bitwise __be32; +typedef __u64 __bitwise __le64; +typedef __u64 __bitwise __be64; + #endif /* __KERNEL_STRICT_NAMES */ /* diff --git a/include/linux/usb.h b/include/linux/usb.h index 632e19947..a43c95a01 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -294,8 +294,6 @@ struct usb_device { struct semaphore serialize; unsigned int toggle[2]; /* one bit for each endpoint ([0] = IN, [1] = OUT) */ - unsigned int halted[2]; /* endpoint halts; one bit per endpoint # & direction; */ - /* [0] = IN, [1] = OUT */ int epmaxpacketin[16]; /* INput endpoint specific maximums */ int epmaxpacketout[16]; /* OUTput endpoint specific maximums */ @@ -653,8 +651,6 @@ typedef void (*usb_complete_t)(struct urb *, struct pt_regs *); * it likes with the URB, including resubmitting or freeing it. * @iso_frame_desc: Used to provide arrays of ISO transfer buffers and to * collect the transfer status for each buffer. - * @timeout: If set to zero, the urb will never timeout. Otherwise this is - * the time in jiffies that this urb will timeout in. * * This structure identifies USB transfer requests. URBs must be allocated by * calling usb_alloc_urb() and freed with a call to usb_free_urb(). @@ -684,8 +680,8 @@ typedef void (*usb_complete_t)(struct urb *, struct pt_regs *); * * Initialization: * - * All URBs submitted must initialize dev, pipe, - * transfer_flags (may be zero), complete, timeout (may be zero). + * All URBs submitted must initialize the dev, pipe, transfer_flags (may be + * zero), and complete fields. * The URB_ASYNC_UNLINK transfer flag affects later invocations of * the usb_unlink_urb() routine. Note: Failure to set URB_ASYNC_UNLINK * with usb_unlink_urb() is deprecated. For synchronous unlinks use @@ -785,7 +781,6 @@ struct urb int number_of_packets; /* (in) number of ISO packets */ int interval; /* (modify) transfer interval (INT/ISO) */ int error_count; /* (return) number of ISO errors */ - int timeout; /* (in) timeout, in jiffies */ void *context; /* (in) context for completion */ usb_complete_t complete; /* (in) completion routine */ struct usb_iso_packet_descriptor iso_frame_desc[0]; /* (in) ISO ONLY */ @@ -1084,10 +1079,6 @@ void usb_sg_wait (struct usb_sg_request *io); #define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << (ep))) #define usb_settoggle(dev, ep, out, bit) ((dev)->toggle[out] = ((dev)->toggle[out] & ~(1 << (ep))) | ((bit) << (ep))) -/* Endpoint halt control/status ... likewise USE WITH CAUTION */ -#define usb_endpoint_running(dev, ep, out) ((dev)->halted[out] &= ~(1 << (ep))) -#define usb_endpoint_halted(dev, ep, out) ((dev)->halted[out] & (1 << (ep))) - static inline unsigned int __create_pipe(struct usb_device *dev, unsigned int endpoint) { diff --git a/include/linux/usb_gadget.h b/include/linux/usb_gadget.h index 3f0831107..9bba99979 100644 --- a/include/linux/usb_gadget.h +++ b/include/linux/usb_gadget.h @@ -767,12 +767,6 @@ usb_gadget_disconnect (struct usb_gadget *gadget) * the (remote) host can't do that any longer; or an error state might * be cleared, to make the device behave identically whether or not * power is maintained. - * - * If the OTG b_hnp_enabled flag is set during a suspend() call, the - * device may use HNP to switch from "B-Peripheral" to "B-Host" mode - * (or back from "A-Peripheral" mode to the original "A-Host") if - * the gadget driver calls usb_gadget_disconnect() before the device - * is resumed. */ struct usb_gadget_driver { char *function; diff --git a/include/linux/videodev.h b/include/linux/videodev.h index f82a7451f..a15ab1ade 100644 --- a/include/linux/videodev.h +++ b/include/linux/videodev.h @@ -1,6 +1,7 @@ #ifndef __LINUX_VIDEODEV_H #define __LINUX_VIDEODEV_H +#include #include #include diff --git a/include/linux/vs_context.h b/include/linux/vs_context.h index 541935bcb..9d119cdc2 100644 --- a/include/linux/vs_context.h +++ b/include/linux/vs_context.h @@ -28,8 +28,7 @@ static inline struct vx_info *__get_vx_info(struct vx_info *vxi, } -#define free_vx_info(i) \ - call_rcu(&i->vx_rcu, rcu_free_vx_info); +extern void free_vx_info(struct vx_info *); #define put_vx_info(i) __put_vx_info(i,__FILE__,__LINE__) @@ -49,35 +48,40 @@ static inline void __put_vx_info(struct vx_info *vxi, const char *_file, int _li static inline void __set_vx_info(struct vx_info **vxp, struct vx_info *vxi, const char *_file, int _line) { - BUG_ON(*vxp); + struct vx_info *vxo; + if (!vxi) return; + vxlprintk(VXD_CBIT(xid, 3), "set_vx_info(%p[#%d.%d.%d])", vxi, vxi?vxi->vx_id:0, vxi?atomic_read(&vxi->vx_usecnt):0, vxi?atomic_read(&vxi->vx_refcnt):0, _file, _line); + atomic_inc(&vxi->vx_refcnt); - *vxp = __get_vx_info(vxi, _file, _line); + vxo = xchg(vxp, __get_vx_info(vxi, _file, _line)); + BUG_ON(vxo); } -#define clr_vx_info(p) __clr_vx_info(p,__FILE__,__LINE__) +#define clr_vx_info(p) __clr_vx_info(p,__FILE__,__LINE__) static inline void __clr_vx_info(struct vx_info **vxp, const char *_file, int _line) { - struct vx_info *vxo = *vxp; + struct vx_info *vxo; + vxo = xchg(vxp, NULL); if (!vxo) return; + vxlprintk(VXD_CBIT(xid, 3), "clr_vx_info(%p[#%d.%d.%d])", vxo, vxo?vxo->vx_id:0, vxo?atomic_read(&vxo->vx_usecnt):0, vxo?atomic_read(&vxo->vx_refcnt):0, _file, _line); - *vxp = NULL; - wmb(); - if (vxo && atomic_dec_and_test(&vxo->vx_refcnt)) + + if (atomic_dec_and_test(&vxo->vx_refcnt)) unhash_vx_info(vxo); __put_vx_info(vxo, _file, _line); } @@ -89,7 +93,7 @@ static __inline__ struct vx_info *__task_get_vx_info(struct task_struct *p, const char *_file, int _line) { struct vx_info *vxi; - + task_lock(p); vxlprintk(VXD_CBIT(xid, 5), "task_get_vx_info(%p)", p, _file, _line); diff --git a/include/linux/vs_dlimit.h b/include/linux/vs_dlimit.h index 53400ab98..805c25748 100644 --- a/include/linux/vs_dlimit.h +++ b/include/linux/vs_dlimit.h @@ -25,7 +25,7 @@ static inline struct dl_info *__get_dl_info(struct dl_info *dli, } -#define free_dl_info(i) \ +#define free_dl_info(i) \ call_rcu(&i->dl_rcu, rcu_free_dl_info); #define put_dl_info(i) __put_dl_info(i,__FILE__,__LINE__) @@ -43,7 +43,7 @@ static inline void __put_dl_info(struct dl_info *dli, } -#define __dlimit_char(d) ((d)?'*':' ') +#define __dlimit_char(d) ((d)?'*':' ') static inline int __dl_alloc_space(struct super_block *sb, xid_t xid, dlsize_t nr, const char *file, int line) @@ -66,7 +66,8 @@ static inline int __dl_alloc_space(struct super_block *sb, out: vxlprintk(VXD_CBIT(dlim, 1), "ALLOC (%p,#%d)%c %lld bytes (%d)", - sb, xid, __dlimit_char(dli), nr, ret, file, line); + sb, xid, __dlimit_char(dli), (long long)nr, + ret, file, line); return ret; } @@ -91,7 +92,8 @@ static inline void __dl_free_space(struct super_block *sb, out: vxlprintk(VXD_CBIT(dlim, 1), "FREE (%p,#%d)%c %lld bytes", - sb, xid, __dlimit_char(dli), nr, _file, _line); + sb, xid, __dlimit_char(dli), (long long)nr, + _file, _line); } static inline int __dl_alloc_inode(struct super_block *sb, @@ -167,8 +169,9 @@ static inline void __dl_adjust_block(struct super_block *sb, xid_t xid, vxlprintk(VXD_CBIT(dlim, 2), "ADJUST: %lld,%lld on %d,%d [mult=%d]", - bfree, broot, *free_blocks, *root_blocks, - dli->dl_nrlmult, _file, _line); + (long long)bfree, (long long)broot, + *free_blocks, *root_blocks, dli->dl_nrlmult, + _file, _line); if (free_blocks) { if (*free_blocks > bfree) *free_blocks = bfree; @@ -198,7 +201,7 @@ static inline void __dl_adjust_block(struct super_block *sb, xid_t xid, __dl_free_inode(sb, xid, __FILE__, __LINE__ ) -#define DLIMIT_ADJUST_BLOCK(sb, xid, fb, rb) \ +#define DLIMIT_ADJUST_BLOCK(sb, xid, fb, rb) \ __dl_adjust_block(sb, xid, fb, rb, __FILE__, __LINE__ ) diff --git a/include/linux/vs_network.h b/include/linux/vs_network.h index 915ad174f..4bbf92368 100644 --- a/include/linux/vs_network.h +++ b/include/linux/vs_network.h @@ -27,7 +27,7 @@ static inline struct nx_info *__get_nx_info(struct nx_info *nxi, } -#define free_nx_info(i) \ +#define free_nx_info(i) \ call_rcu(&i->nx_rcu, rcu_free_nx_info); #define put_nx_info(i) __put_nx_info(i,__FILE__,__LINE__) @@ -43,41 +43,45 @@ static inline void __put_nx_info(struct nx_info *nxi, const char *_file, int _li free_nx_info(nxi); } - #define set_nx_info(p,i) __set_nx_info(p,i,__FILE__,__LINE__) static inline void __set_nx_info(struct nx_info **nxp, struct nx_info *nxi, const char *_file, int _line) { - BUG_ON(*nxp); + struct nx_info *nxo; + if (!nxi) return; + vxlprintk(VXD_CBIT(nid, 3), "set_nx_info(%p[#%d.%d.%d])", nxi, nxi?nxi->nx_id:0, nxi?atomic_read(&nxi->nx_usecnt):0, nxi?atomic_read(&nxi->nx_refcnt):0, _file, _line); + atomic_inc(&nxi->nx_refcnt); - *nxp = __get_nx_info(nxi, _file, _line); + nxo = xchg(nxp, __get_nx_info(nxi, _file, _line)); + BUG_ON(nxo); } -#define clr_nx_info(p) __clr_nx_info(p,__FILE__,__LINE__) +#define clr_nx_info(p) __clr_nx_info(p,__FILE__,__LINE__) static inline void __clr_nx_info(struct nx_info **nxp, const char *_file, int _line) { - struct nx_info *nxo = *nxp; + struct nx_info *nxo; + nxo = xchg(nxp, NULL); if (!nxo) return; + vxlprintk(VXD_CBIT(nid, 3), "clr_nx_info(%p[#%d.%d.%d])", nxo, nxo?nxo->nx_id:0, nxo?atomic_read(&nxo->nx_usecnt):0, nxo?atomic_read(&nxo->nx_refcnt):0, _file, _line); - *nxp = NULL; - wmb(); - if (nxo && atomic_dec_and_test(&nxo->nx_refcnt)) + + if (atomic_dec_and_test(&nxo->nx_refcnt)) unhash_nx_info(nxo); __put_nx_info(nxo, _file, _line); } @@ -89,7 +93,7 @@ static __inline__ struct nx_info *__task_get_nx_info(struct task_struct *p, const char *_file, int _line) { struct nx_info *nxi; - + task_lock(p); nxi = __get_nx_info(p->nx_info, _file, _line); vxlprintk(VXD_CBIT(nid, 5), "task_get_nx_info(%p)", @@ -123,7 +127,7 @@ static __inline__ void __nx_verify_info( #define __nx_flags(v,m,f) (((v) & (m)) ^ (f)) -#define __nx_task_flags(t,m,f) \ +#define __nx_task_flags(t,m,f) \ (((t) && ((t)->nx_info)) ? \ __nx_flags((t)->nx_info->nx_flags,(m),(f)) : 0) @@ -139,6 +143,21 @@ static __inline__ void __nx_verify_info( #define nx_ncaps(c) (nx_current_ncaps() & (c)) +static inline int addr_in_nx_info(struct nx_info *nxi, uint32_t addr) +{ + int n,i; + + if (!nxi) + return 1; + + n = nxi->nbipv4; + for (i=0; iipv4[i] == addr) + return 1; + } + return 0; +} + #else #warning duplicate inclusion diff --git a/include/linux/vserver/context.h b/include/linux/vserver/context.h index 434bfbaa2..4061e7b45 100644 --- a/include/linux/vserver/context.h +++ b/include/linux/vserver/context.h @@ -27,15 +27,19 @@ struct vx_info { atomic_t vx_usecnt; /* usage count */ atomic_t vx_refcnt; /* reference count */ struct vx_info *vx_parent; /* parent context */ + int vx_state; /* context state */ struct namespace *vx_namespace; /* private namespace */ struct fs_struct *vx_fs; /* private namespace fs */ - uint64_t vx_flags; /* VX_INFO_xxx */ + uint64_t vx_flags; /* context flags */ uint64_t vx_bcaps; /* bounding caps (system) */ uint64_t vx_ccaps; /* context caps (vserver) */ pid_t vx_initpid; /* PID of fake init process */ + spinlock_t vx_lock; + wait_queue_head_t vx_exit; /* context exit waitqueue */ + struct _vx_limit limit; /* vserver limits */ struct _vx_sched sched; /* vserver scheduler */ struct _vx_cvirt cvirt; /* virtual/bias stuff */ @@ -44,6 +48,16 @@ struct vx_info { char vx_name[65]; /* vserver name */ }; +/* status flags */ + +#define VXS_HASHED 0x0001 +#define VXS_PAUSED 0x0010 +#define VXS_ONHOLD 0x0020 +#define VXS_SHUTDOWN 0x0100 +#define VXS_DEFUNCT 0x1000 +#define VXS_RELEASED 0x8000 + +/* check conditions */ #define VX_ADMIN 0x0001 #define VX_WATCH 0x0002 @@ -64,7 +78,7 @@ struct vx_info { struct rcu_head; -extern void rcu_free_vx_info(struct rcu_head *); +// extern void rcu_free_vx_info(struct rcu_head *); extern void unhash_vx_info(struct vx_info *); extern struct vx_info *locate_vx_info(int); @@ -92,10 +106,10 @@ extern int vc_task_xid(uint32_t, void __user *); #define VCMD_vx_info VC_CMD(VINFO, 5, 0) #define VCMD_nx_info VC_CMD(VINFO, 6, 0) -struct vcmd_vx_info_v0 { +struct vcmd_vx_info_v0 { uint32_t xid; uint32_t initpid; - /* more to come */ + /* more to come */ }; #ifdef __KERNEL__ @@ -115,7 +129,7 @@ extern int vc_ctx_migrate(uint32_t, void __user *); #define VCMD_get_cflags VC_CMD(FLAGS, 1, 0) #define VCMD_set_cflags VC_CMD(FLAGS, 2, 0) -struct vcmd_ctx_flags_v0 { +struct vcmd_ctx_flags_v0 { uint64_t flagword; uint64_t mask; }; @@ -143,6 +157,7 @@ extern int vc_set_cflags(uint32_t, void __user *); #define VXF_VIRT_MEM 0x00010000 #define VXF_VIRT_UPTIME 0x00020000 #define VXF_VIRT_CPU 0x00040000 +#define VXF_VIRT_LOAD 0x00080000 #define VXF_HIDE_MOUNT 0x01000000 #define VXF_HIDE_NETIF 0x02000000 @@ -150,15 +165,17 @@ extern int vc_set_cflags(uint32_t, void __user *); #define VXF_STATE_SETUP (1ULL<<32) #define VXF_STATE_INIT (1ULL<<33) -#define VXF_FORK_RSS (1ULL<<48) -#define VXF_PROLIFIC (1ULL<<49) +#define VXF_FORK_RSS (1ULL<<48) +#define VXF_PROLIFIC (1ULL<<49) + +#define VXF_IGNEG_NICE (1ULL<<52) #define VXF_ONE_TIME (0x0003ULL<<32) #define VCMD_get_ccaps VC_CMD(FLAGS, 3, 0) #define VCMD_set_ccaps VC_CMD(FLAGS, 4, 0) -struct vcmd_ctx_caps_v0 { +struct vcmd_ctx_caps_v0 { uint64_t bcaps; uint64_t ccaps; uint64_t cmask; @@ -176,6 +193,7 @@ extern int vc_set_ccaps(uint32_t, void __user *); #define VXC_RAW_ICMP 0x00000100 #define VXC_SECURE_MOUNT 0x00010000 +#define VXC_SECURE_REMOUNT 0x00020000 #endif /* _VX_CONTEXT_H */ diff --git a/include/linux/vserver/dlimit.h b/include/linux/vserver/dlimit.h index c0cfafcd9..14a68fd04 100644 --- a/include/linux/vserver/dlimit.h +++ b/include/linux/vserver/dlimit.h @@ -13,12 +13,12 @@ #define VCMD_get_dlimit VC_CMD(DLIMIT, 6, 0) -struct vcmd_ctx_dlimit_base_v0 { +struct vcmd_ctx_dlimit_base_v0 { const char __user *name; uint32_t flags; }; -struct vcmd_ctx_dlimit_v0 { +struct vcmd_ctx_dlimit_v0 { const char __user *name; uint32_t space_used; /* used space in kbytes */ uint32_t space_total; /* maximum space in kbytes */ @@ -28,9 +28,9 @@ struct vcmd_ctx_dlimit_v0 { uint32_t flags; }; -#define CDLIM_UNSET (0ULL) -#define CDLIM_INFINITY (~0ULL) -#define CDLIM_KEEP (~1ULL) +#define CDLIM_UNSET (0ULL) +#define CDLIM_INFINITY (~0ULL) +#define CDLIM_KEEP (~1ULL) #ifdef __KERNEL__ @@ -77,7 +77,7 @@ extern int vc_set_dlimit(uint32_t, void __user *); extern int vc_get_dlimit(uint32_t, void __user *); -typedef uint64_t dlsize_t; +typedef uint64_t dlsize_t; #endif /* __KERNEL__ */ diff --git a/include/linux/vserver/inode.h b/include/linux/vserver/inode.h index e19632d08..dac07ea48 100644 --- a/include/linux/vserver/inode.h +++ b/include/linux/vserver/inode.h @@ -11,7 +11,7 @@ #define VCMD_get_iattr VC_CMD(INODE, 1, 1) #define VCMD_set_iattr VC_CMD(INODE, 2, 1) -struct vcmd_ctx_iattr_v0 { +struct vcmd_ctx_iattr_v0 { /* device handle in id */ uint64_t ino; uint32_t xid; @@ -19,7 +19,7 @@ struct vcmd_ctx_iattr_v0 { uint32_t mask; }; -struct vcmd_ctx_iattr_v1 { +struct vcmd_ctx_iattr_v1 { const char __user *name; uint32_t xid; uint32_t flags; @@ -36,7 +36,7 @@ struct vcmd_ctx_iattr_v1 { #define IATTR_BARRIER 0x00010000 #define IATTR_IUNLINK 0x00020000 -#define IATTR_IMMUTABLE 0x00040000 +#define IATTR_IMMUTABLE 0x00040000 #ifdef CONFIG_VSERVER_PROC_SECURE @@ -49,7 +49,7 @@ struct vcmd_ctx_iattr_v1 { #ifdef __KERNEL__ -#define vx_hide_check(c,m) (((m) & IATTR_HIDE) ? vx_check(c,m) : 1) +#define vx_hide_check(c,m) (((m) & IATTR_HIDE) ? vx_check(c,m) : 1) extern int vc_get_iattr_v0(uint32_t, void __user *); extern int vc_set_iattr_v0(uint32_t, void __user *); diff --git a/include/linux/vserver/network.h b/include/linux/vserver/network.h index a89265d3d..e77866b5f 100644 --- a/include/linux/vserver/network.h +++ b/include/linux/vserver/network.h @@ -60,6 +60,10 @@ struct net_device; int ifa_in_nx_info(struct in_ifaddr *, struct nx_info *); int dev_in_nx_info(struct net_device *, struct nx_info *); +struct sock; + +int nx_addr_conflict(struct nx_info *, uint32_t, struct sock *); + #endif /* __KERNEL__ */ @@ -76,9 +80,9 @@ extern int vc_task_nid(uint32_t, void __user *); #define VCMD_nx_info VC_CMD(VINFO, 6, 0) -struct vcmd_nx_info_v0 { +struct vcmd_nx_info_v0 { uint32_t nid; - /* more to come */ + /* more to come */ }; #ifdef __KERNEL__ @@ -92,15 +96,15 @@ extern int vc_nx_info(uint32_t, void __user *); #define VCMD_net_add VC_CMD(NETALT, 1, 0) #define VCMD_net_remove VC_CMD(NETALT, 2, 0) -struct vcmd_net_nx_v0 { +struct vcmd_net_nx_v0 { uint16_t type; uint16_t count; uint32_t ip[4]; uint32_t mask[4]; - /* more to come */ + /* more to come */ }; -// IPN_TYPE_IPV4 +// IPN_TYPE_IPV4 #ifdef __KERNEL__ @@ -112,7 +116,7 @@ extern int vc_net_migrate(uint32_t, void __user *); #define VCMD_get_nflags VC_CMD(FLAGS, 5, 0) #define VCMD_set_nflags VC_CMD(FLAGS, 6, 0) -struct vcmd_net_flags_v0 { +struct vcmd_net_flags_v0 { uint64_t flagword; uint64_t mask; }; @@ -131,7 +135,7 @@ extern int vc_set_nflags(uint32_t, void __user *); #define VCMD_get_ncaps VC_CMD(FLAGS, 7, 0) #define VCMD_set_ncaps VC_CMD(FLAGS, 8, 0) -struct vcmd_net_caps_v0 { +struct vcmd_net_caps_v0 { uint64_t ncaps; uint64_t cmask; }; diff --git a/include/linux/vserver/sched.h b/include/linux/vserver/sched.h index fd6bc2af3..f5982bb4e 100644 --- a/include/linux/vserver/sched.h +++ b/include/linux/vserver/sched.h @@ -8,24 +8,35 @@ #include #include +struct _vx_ticks { + uint64_t user_ticks; /* token tick events */ + uint64_t sys_ticks; /* token tick events */ + uint64_t hold_ticks; /* token ticks paused */ + uint64_t unused[5]; /* cacheline ? */ +}; + /* context sub struct */ struct _vx_sched { - spinlock_t tokens_lock; /* lock for this structure */ + atomic_t tokens; /* number of CPU tokens */ + spinlock_t tokens_lock; /* lock for token bucket */ + + int fill_rate; /* Fill rate: add X tokens... */ + int interval; /* Divisor: per Y jiffies */ + int tokens_min; /* Limit: minimum for unhold */ + int tokens_max; /* Limit: no more than N tokens */ + uint32_t jiffies; /* last time accounted */ - int fill_rate; /* Fill rate: add X tokens... */ - int interval; /* Divisor: per Y jiffies */ - atomic_t tokens; /* number of CPU tokens in this context */ - int tokens_min; /* Limit: minimum for unhold */ - int tokens_max; /* Limit: no more than N tokens */ - uint32_t jiffies; /* add an integral multiple of Y to this */ + int priority_bias; /* bias offset for priority */ + cpumask_t cpus_allowed; /* cpu mask for context */ - uint64_t ticks; /* token tick events */ - cpumask_t cpus_allowed; /* cpu mask for context */ + struct _vx_ticks cpu[NR_CPUS]; }; static inline void vx_info_init_sched(struct _vx_sched *sched) { + int i; + /* scheduling; hard code starting values as constants */ sched->fill_rate = 1; sched->interval = 4; @@ -36,6 +47,13 @@ static inline void vx_info_init_sched(struct _vx_sched *sched) atomic_set(&sched->tokens, HZ >> 2); sched->cpus_allowed = CPU_MASK_ALL; + sched->priority_bias = 0; + + for_each_cpu(i) { + sched->cpu[i].user_ticks = 0; + sched->cpu[i].sys_ticks = 0; + sched->cpu[i].hold_ticks = 0; + } } static inline void vx_info_exit_sched(struct _vx_sched *sched) @@ -45,20 +63,35 @@ static inline void vx_info_exit_sched(struct _vx_sched *sched) static inline int vx_info_proc_sched(struct _vx_sched *sched, char *buffer) { - return sprintf(buffer, - "Ticks:\t%16lld\n" + int length = 0; + int i; + + length += sprintf(buffer, "Token:\t\t%8d\n" "FillRate:\t%8d\n" - "Interval:\t%8d\n" + "Interval:\t%8d\n" "TokensMin:\t%8d\n" "TokensMax:\t%8d\n" - ,(unsigned long long)sched->ticks + "PrioBias:\t%8d\n" ,atomic_read(&sched->tokens) ,sched->fill_rate ,sched->interval ,sched->tokens_min ,sched->tokens_max + ,sched->priority_bias ); + + for_each_online_cpu(i) { + length += sprintf(buffer + length, + "cpu %d: %lld %lld %lld\n" + ,i + ,(long long)sched->cpu[i].user_ticks + ,(long long)sched->cpu[i].sys_ticks + ,(long long)sched->cpu[i].hold_ticks + ); + } + + return length; } @@ -70,9 +103,10 @@ static inline int vx_info_proc_sched(struct _vx_sched *sched, char *buffer) /* sched vserver commands */ -#define VCMD_set_sched VC_CMD(SCHED, 1, 2) +#define VCMD_set_sched_v2 VC_CMD(SCHED, 1, 2) +#define VCMD_set_sched VC_CMD(SCHED, 1, 3) -struct vcmd_set_sched_v2 { +struct vcmd_set_sched_v2 { int32_t fill_rate; int32_t interval; int32_t tokens; @@ -81,16 +115,38 @@ struct vcmd_set_sched_v2 { uint64_t cpu_mask; }; +struct vcmd_set_sched_v3 { + uint32_t set_mask; + int32_t fill_rate; + int32_t interval; + int32_t tokens; + int32_t tokens_min; + int32_t tokens_max; + int32_t priority_bias; +}; + + +#define VXSM_FILL_RATE 0x0001 +#define VXSM_INTERVAL 0x0002 +#define VXSM_TOKENS 0x0010 +#define VXSM_TOKENS_MIN 0x0020 +#define VXSM_TOKENS_MAX 0x0040 +#define VXSM_PRIO_BIAS 0x0100 + #define SCHED_KEEP (-2) #ifdef __KERNEL__ extern int vc_set_sched_v1(uint32_t, void __user *); +extern int vc_set_sched_v2(uint32_t, void __user *); extern int vc_set_sched(uint32_t, void __user *); #define VAVAVOOM_RATIO 50 +#define MAX_PRIO_BIAS 20 +#define MIN_PRIO_BIAS -20 + #include "context.h" @@ -116,24 +172,48 @@ static inline int vx_need_resched(struct task_struct *p) { #ifdef CONFIG_VSERVER_HARDCPU struct vx_info *vxi = p->vx_info; +#endif + int slice = --p->time_slice; +#ifdef CONFIG_VSERVER_HARDCPU if (vxi) { int tokens; - p->time_slice--; - if (atomic_read(&vxi->vx_usecnt) < 1) - printk("need_resched: p=%p, s=%ld, ref=%d, id=%d/%d\n", - p, p->state, atomic_read(&vxi->vx_usecnt), - vxi->vx_id, p->xid); if ((tokens = vx_tokens_avail(vxi)) > 0) vx_consume_token(vxi); - return ((p->time_slice == 0) || (tokens < 1)); + /* for tokens > 0, one token was consumed */ + if (tokens < 2) + return 1; } #endif - p->time_slice--; - return (p->time_slice == 0); + return (slice == 0); +} + + +static inline void vx_onhold_inc(struct vx_info *vxi) +{ + int onhold = atomic_read(&vxi->cvirt.nr_onhold); + + atomic_inc(&vxi->cvirt.nr_onhold); + if (!onhold) + vxi->cvirt.onhold_last = jiffies; +} + +static inline void __vx_onhold_update(struct vx_info *vxi) +{ + int cpu = smp_processor_id(); + uint32_t now = jiffies; + uint32_t delta = now - vxi->cvirt.onhold_last; + + vxi->cvirt.onhold_last = now; + vxi->sched.cpu[cpu].hold_ticks += delta; } +static inline void vx_onhold_dec(struct vx_info *vxi) +{ + if (atomic_dec_and_test(&vxi->cvirt.nr_onhold)) + __vx_onhold_update(vxi); +} #endif /* __KERNEL__ */ diff --git a/include/linux/vt_kern.h b/include/linux/vt_kern.h index 383a93cbb..6dbef2f84 100644 --- a/include/linux/vt_kern.h +++ b/include/linux/vt_kern.h @@ -93,8 +93,8 @@ void reset_vc(unsigned int new_console); * vc_screen.c shares this temporary buffer with the console write code so that * we can easily avoid touching user space while holding the console spinlock. */ -extern char con_buf[PAGE_SIZE]; #define CON_BUF_SIZE PAGE_SIZE +extern char con_buf[CON_BUF_SIZE]; extern struct semaphore con_buf_sem; #endif /* _VT_KERN_H */ diff --git a/include/linux/wait.h b/include/linux/wait.h index e51c6bba4..64eeed0f5 100644 --- a/include/linux/wait.h +++ b/include/linux/wait.h @@ -3,11 +3,20 @@ #define WNOHANG 0x00000001 #define WUNTRACED 0x00000002 +#define WSTOPPED WUNTRACED +#define WEXITED 0x00000004 +#define WCONTINUED 0x00000008 +#define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ #define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads in this group */ #define __WALL 0x40000000 /* Wait on all children, regardless of type */ #define __WCLONE 0x80000000 /* Wait only on non-SIGCHLD children */ +/* First argument to waitid: */ +#define P_ALL 0 +#define P_PID 1 +#define P_PGID 2 + #ifdef __KERNEL__ #include @@ -80,6 +89,15 @@ static inline int waitqueue_active(wait_queue_head_t *q) return !list_empty(&q->task_list); } +/* + * Used to distinguish between sync and async io wait context: + * sync i/o typically specifies a NULL wait queue entry or a wait + * queue entry bound to a task (current task) to wake up. + * aio specifies a wait queue entry with an async notification + * callback routine, not associated with any task. + */ +#define is_sync_wait(wait) (!(wait) || ((wait)->task)) + extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait)); extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait)); @@ -138,6 +156,29 @@ do { \ __wait_event(wq, condition); \ } while (0) +#define __wait_event_timeout(wq, condition, ret) \ +do { \ + DEFINE_WAIT(__wait); \ + \ + for (;;) { \ + prepare_to_wait(&wq, &__wait, TASK_UNINTERRUPTIBLE); \ + if (condition) \ + break; \ + ret = schedule_timeout(ret); \ + if (!ret) \ + break; \ + } \ + finish_wait(&wq, &__wait); \ +} while (0) + +#define wait_event_timeout(wq, condition, timeout) \ +({ \ + long __ret = timeout; \ + if (!(condition)) \ + __wait_event_timeout(wq, condition, __ret); \ + __ret; \ +}) + #define __wait_event_interruptible(wq, condition, ret) \ do { \ DEFINE_WAIT(__wait); \ @@ -244,7 +285,7 @@ static inline void remove_wait_queue_locked(wait_queue_head_t *q, * We plan to remove these interfaces during 2.7. */ extern void __deprecated FASTCALL(sleep_on(wait_queue_head_t *q)); -extern long FASTCALL(sleep_on_timeout(wait_queue_head_t *q, +extern long __deprecated FASTCALL(sleep_on_timeout(wait_queue_head_t *q, signed long timeout)); extern void __deprecated FASTCALL(interruptible_sleep_on(wait_queue_head_t *q)); extern long FASTCALL(interruptible_sleep_on_timeout(wait_queue_head_t *q, diff --git a/include/linux/writeback.h b/include/linux/writeback.h index 6f91e4d84..7956df063 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -29,7 +29,9 @@ enum writeback_sync_modes { }; /* - * A control structure which tells the writeback code what to do + * A control structure which tells the writeback code what to do. These are + * always on the stack, and hence need no locking. They are always initialised + * in a manner such that unspecified fields are set to zero. */ struct writeback_control { struct backing_dev_info *bdi; /* If !NULL, only write back this @@ -40,10 +42,19 @@ struct writeback_control { long nr_to_write; /* Write this many pages, and decrement this for each page written */ long pages_skipped; /* Pages which were not written */ - int nonblocking; /* Don't get stuck on request queues */ - int encountered_congestion; /* An output: a queue is full */ - int for_kupdate; /* A kupdate writeback */ - int for_reclaim; /* Invoked from the page allocator */ + + /* + * For a_ops->writepages(): is start or end are non-zero then this is + * a hint that the filesystem need only write out the pages inside that + * byterange. The byte at `end' is included in the writeout request. + */ + loff_t start; + loff_t end; + + unsigned nonblocking:1; /* Don't get stuck on request queues */ + unsigned encountered_congestion:1; /* An output: a queue is full */ + unsigned for_kupdate:1; /* A kupdate writeback */ + unsigned for_reclaim:1; /* Invoked from the page allocator */ }; /* @@ -75,6 +86,7 @@ static inline void wait_on_inode(struct inode *inode) int wakeup_bdflush(long nr_pages); void laptop_io_completion(void); void laptop_sync_completion(void); +void throttle_vm_writeout(void); /* These are exported to sysctl. */ extern int dirty_background_ratio; @@ -93,6 +105,8 @@ void page_writeback_init(void); void balance_dirty_pages_ratelimited(struct address_space *mapping); int pdflush_operation(void (*fn)(unsigned long), unsigned long arg0); int do_writepages(struct address_space *mapping, struct writeback_control *wbc); +int sync_page_range(struct inode *inode, struct address_space *mapping, + loff_t pos, size_t count); /* pdflush.c */ extern int nr_pdflush_threads; /* Global so it can be exported to sysctl diff --git a/include/linux/xattr.h b/include/linux/xattr.h index d9c5d5c83..23f9c61d9 100644 --- a/include/linux/xattr.h +++ b/include/linux/xattr.h @@ -5,6 +5,7 @@ Copyright (C) 2001 by Andreas Gruenbacher Copyright (c) 2001-2002 Silicon Graphics, Inc. All Rights Reserved. + Copyright (c) 2004 Red Hat, Inc., James Morris */ #ifndef _LINUX_XATTR_H #define _LINUX_XATTR_H @@ -14,4 +15,19 @@ #define XATTR_SECURITY_PREFIX "security." +struct xattr_handler { + char *prefix; + size_t (*list)(struct inode *inode, char *list, size_t list_size, + const char *name, size_t name_len); + int (*get)(struct inode *inode, const char *name, void *buffer, + size_t size); + int (*set)(struct inode *inode, const char *name, const void *buffer, + size_t size, int flags); +}; + +ssize_t generic_getxattr(struct dentry *dentry, const char *name, void *buffer, size_t size); +ssize_t generic_listxattr(struct dentry *dentry, char *buffer, size_t buffer_size); +int generic_setxattr(struct dentry *dentry, const char *name, const void *value, size_t size, int flags); +int generic_removexattr(struct dentry *dentry, const char *name); + #endif /* _LINUX_XATTR_H */ diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h index 2e22a996f..f0df02ae6 100644 --- a/include/linux/xfrm.h +++ b/include/linux/xfrm.h @@ -190,6 +190,7 @@ struct xfrm_usersa_info { __u8 replay_window; __u8 flags; #define XFRM_STATE_NOECN 1 +#define XFRM_STATE_DECAP_DSCP 2 }; struct xfrm_usersa_id { diff --git a/include/net/addrconf.h b/include/net/addrconf.h index fc2b279cd..50f4c2c4d 100644 --- a/include/net/addrconf.h +++ b/include/net/addrconf.h @@ -74,7 +74,7 @@ extern int ipv6_rcv_saddr_equal(const struct sock *sk, const struct sock *sk2); extern void addrconf_join_solict(struct net_device *dev, struct in6_addr *addr); -extern void addrconf_leave_solict(struct net_device *dev, +extern void addrconf_leave_solict(struct inet6_dev *idev, struct in6_addr *addr); /* @@ -89,6 +89,7 @@ extern int inet6_mc_check(struct sock *sk, struct in6_addr *mc_addr, struct in6_addr *src_addr); extern int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr); +extern int __ipv6_dev_mc_dec(struct inet6_dev *idev, struct in6_addr *addr); extern int ipv6_dev_mc_dec(struct net_device *dev, struct in6_addr *addr); extern void ipv6_mc_up(struct inet6_dev *idev); extern void ipv6_mc_down(struct inet6_dev *idev); @@ -111,6 +112,7 @@ extern void ipv6_sock_ac_close(struct sock *sk); extern int inet6_ac_check(struct sock *sk, struct in6_addr *addr, int ifindex); extern int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr); +extern int __ipv6_dev_ac_dec(struct inet6_dev *idev, struct in6_addr *addr); extern int ipv6_dev_ac_dec(struct net_device *dev, struct in6_addr *addr); extern int ipv6_chk_acast_addr(struct net_device *dev, struct in6_addr *addr); diff --git a/include/net/dst.h b/include/net/dst.h index 33fd86690..8ddc36a6f 100644 --- a/include/net/dst.h +++ b/include/net/dst.h @@ -142,16 +142,11 @@ struct dst_entry * dst_clone(struct dst_entry * dst) return dst; } -extern const char dst_underflow_bug_msg[]; - static inline void dst_release(struct dst_entry * dst) { if (dst) { - if (atomic_read(&dst->__refcnt) < 1) - printk(dst_underflow_bug_msg, - atomic_read(&dst->__refcnt), - dst, current_text_addr()); + WARN_ON(atomic_read(&dst->__refcnt) < 1); atomic_dec(&dst->__refcnt); } } diff --git a/include/net/ip.h b/include/net/ip.h index bacccde1c..0f633ff0b 100644 --- a/include/net/ip.h +++ b/include/net/ip.h @@ -255,6 +255,7 @@ extern int ip_call_ra_chain(struct sk_buff *skb); */ struct sk_buff *ip_defrag(struct sk_buff *skb); +extern void ipfrag_flush(void); extern int ip_frag_nqueues; extern atomic_t ip_frag_mem; diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 14d41c4ba..319904518 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -20,6 +20,7 @@ #include #include #include +#include struct rt6_info; diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 75d503dc1..d859c4160 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -11,8 +11,10 @@ #include #include +#include #include #include +#include struct pol_chain { int type; @@ -40,6 +42,9 @@ extern int ipv6_route_ioctl(unsigned int cmd, void __user *arg); extern int ip6_route_add(struct in6_rtmsg *rtmsg, struct nlmsghdr *, void *rtattr); +extern int ip6_ins_rt(struct rt6_info *, + struct nlmsghdr *, + void *rtattr); extern int ip6_del_rt(struct rt6_info *, struct nlmsghdr *, void *rtattr); @@ -69,6 +74,10 @@ extern struct dst_entry *ndisc_dst_alloc(struct net_device *dev, extern int ndisc_dst_gc(int *more); extern void fib6_force_start_gc(void); +extern struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, + const struct in6_addr *addr, + int anycast); + /* * support functions for ND * @@ -80,9 +89,12 @@ extern struct rt6_info * rt6_add_dflt_router(struct in6_addr *gwaddr, extern void rt6_purge_dflt_routers(int lst_resort); +extern void rt6_reset_dflt_pointer(struct rt6_info *rt); + extern void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr, struct neighbour *neigh, + u8 *lladdr, int on_link); extern void rt6_pmtu_discovery(struct in6_addr *daddr, diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 034cf3084..a3f44754a 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h @@ -16,7 +16,7 @@ #define _NET_IPV6_H #include -#include +#include #include #include #include diff --git a/include/net/neighbour.h b/include/net/neighbour.h index 40073cf19..414002c54 100644 --- a/include/net/neighbour.h +++ b/include/net/neighbour.h @@ -185,7 +185,7 @@ struct neigh_table struct timer_list gc_timer; struct timer_list proxy_timer; struct sk_buff_head proxy_queue; - int entries; + atomic_t entries; rwlock_t lock; unsigned long last_rand; struct neigh_parms *parms_list; diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index bce3aaf91..4ee2d9348 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h @@ -80,6 +80,7 @@ struct Qdisc int padded; struct Qdisc_ops *ops; u32 handle; + u32 parent; atomic_t refcnt; struct sk_buff_head q; struct net_device *dev; @@ -243,7 +244,18 @@ do { \ __delta; \ }) -extern int psched_tod_diff(int delta_sec, int bound); +static inline int +psched_tod_diff(int delta_sec, int bound) +{ + int delta; + + if (bound <= 1000000 || delta_sec > (0x7FFFFFFF/1000000)-1) + return bound; + delta = delta_sec * 1000000; + if (delta > bound) + delta = bound; + return delta; +} #define PSCHED_TDIFF_SAFE(tv1, tv2, bound) \ ({ \ @@ -375,7 +387,7 @@ struct tc_action_ops extern int tcf_register_action(struct tc_action_ops *a); extern int tcf_unregister_action(struct tc_action_ops *a); extern void tcf_action_destroy(struct tc_action *a, int bind); -extern int tcf_action_exec(struct sk_buff *skb, struct tc_action *a); +extern int tcf_action_exec(struct sk_buff *skb, struct tc_action *a, struct tcf_result *res); extern int tcf_action_init(struct rtattr *rta, struct rtattr *est, struct tc_action *a,char *n, int ovr, int bind); extern int tcf_action_init_1(struct rtattr *rta, struct rtattr *est, struct tc_action *a,char *n, int ovr, int bind); extern int tcf_action_dump(struct sk_buff *skb, struct tc_action *a, int, int); diff --git a/include/net/route.h b/include/net/route.h index 20bfb3824..c5d47b24b 100644 --- a/include/net/route.h +++ b/include/net/route.h @@ -76,11 +76,6 @@ struct rtable /* Miscellaneous cached information */ __u32 rt_spec_dst; /* RFC1122 specific destination */ struct inet_peer *peer; /* long-living peer info */ - -#ifdef CONFIG_IP_ROUTE_NAT - __u32 rt_src_map; - __u32 rt_dst_map; -#endif }; struct ip_rt_acct diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 17d0f9adc..053a0ac27 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h @@ -505,6 +505,7 @@ for (pos = chunk->subh.fwdtsn_hdr->skip;\ /* External references. */ extern struct proto sctp_prot; +extern struct proto sctpv6_prot; extern struct proc_dir_entry *proc_net_sctp; void sctp_put_port(struct sock *sk); diff --git a/include/net/sock.h b/include/net/sock.h index a487663e0..ede073f60 100644 --- a/include/net/sock.h +++ b/include/net/sock.h @@ -146,7 +146,6 @@ struct sock_common { * @sk_route_caps - route capabilities (e.g. %NETIF_F_TSO) * @sk_lingertime - %SO_LINGER l_linger setting * @sk_hashent - hash entry in several tables (e.g. tcp_ehash) - * @sk_pair - socket pair (e.g. AF_UNIX/unix_peer) * @sk_backlog - always used with the per-socket spinlock held * @sk_callback_lock - used with the callbacks in the end of this struct * @sk_error_queue - rarely used @@ -228,7 +227,6 @@ struct sock { int sk_route_caps; unsigned long sk_lingertime; int sk_hashent; - struct sock *sk_pair; /* * The backlog queue is special, it is always used with * the per-socket spinlock held and requires low latency @@ -568,6 +566,9 @@ struct proto { int *sysctl_rmem; int max_header; + kmem_cache_t *slab; + int slab_obj_size; + char name[32]; struct { @@ -576,6 +577,14 @@ struct proto { } stats[NR_CPUS]; }; +extern int sk_alloc_slab(struct proto *prot, char *name); +extern void sk_free_slab(struct proto *prot); + +static inline void sk_alloc_slab_error(struct proto *proto) +{ + printk(KERN_CRIT "%s: Can't create sock SLAB cache!\n", proto->name); +} + static __inline__ void sk_set_owner(struct sock *sk, struct module *owner) { /* @@ -702,8 +711,6 @@ static inline int sk_stream_rmem_schedule(struct sock *sk, struct sk_buff *skb) * Since ~2.3.5 it is also exclusive sleep lock serializing * accesses from user process context. */ -extern void __lock_sock(struct sock *sk); -extern void __release_sock(struct sock *sk); #define sock_owned_by_user(sk) ((sk)->sk_lock.owner) extern void FASTCALL(lock_sock(struct sock *sk)); @@ -750,7 +757,6 @@ extern void sk_send_sigurg(struct sock *sk); * Functions to fill in entries in struct proto_ops when a protocol * does not implement a particular function. */ -extern int sock_no_release(struct socket *); extern int sock_no_bind(struct socket *, struct sockaddr *, int); extern int sock_no_connect(struct socket *, @@ -1293,7 +1299,6 @@ static inline void sk_eat_skb(struct sock *sk, struct sk_buff *skb) extern atomic_t netstamp_needed; extern void sock_enable_timestamp(struct sock *sk); -extern void sock_disable_timestamp(struct sock *sk); static inline void net_timestamp(struct timeval *stamp) { diff --git a/include/net/tcp.h b/include/net/tcp.h index bbdd19e1d..bb4a8fe52 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -153,9 +153,6 @@ extern struct tcp_hashinfo { #define tcp_lhash_wait (tcp_hashinfo.__tcp_lhash_wait) #define tcp_portalloc_lock (tcp_hashinfo.__tcp_portalloc_lock) -/* SLAB cache for TCP socks */ -extern kmem_cache_t *tcp_sk_cachep; - extern kmem_cache_t *tcp_bucket_cachep; extern struct tcp_bind_bucket *tcp_bucket_create(struct tcp_bind_hashbucket *head, unsigned short snum); @@ -615,8 +612,8 @@ extern int sysctl_tcp_nometrics_save; extern int sysctl_tcp_bic; extern int sysctl_tcp_bic_fast_convergence; extern int sysctl_tcp_bic_low_window; -extern int sysctl_tcp_default_win_scale; extern int sysctl_tcp_moderate_rcvbuf; +extern int sysctl_tcp_tso_win_divisor; extern atomic_t tcp_memory_allocated; extern atomic_t tcp_sockets_allocated; @@ -956,6 +953,7 @@ extern int tcp_write_xmit(struct sock *, int nonagle); extern int tcp_retransmit_skb(struct sock *, struct sk_buff *); extern void tcp_xmit_retransmit_queue(struct sock *); extern void tcp_simple_retransmit(struct sock *); +extern int tcp_trim_head(struct sock *, struct sk_buff *, u32); extern void tcp_send_probe0(struct sock *); extern void tcp_send_partial(struct sock *); @@ -963,7 +961,6 @@ extern int tcp_write_wakeup(struct sock *); extern void tcp_send_fin(struct sock *sk); extern void tcp_send_active_reset(struct sock *sk, int priority); extern int tcp_send_synack(struct sock *); -extern int tcp_transmit_skb(struct sock *, struct sk_buff *); extern void tcp_push_one(struct sock *, unsigned mss_now); extern void tcp_send_ack(struct sock *sk); extern void tcp_send_delayed_ack(struct sock *sk); @@ -975,7 +972,8 @@ extern void tcp_clear_xmit_timers(struct sock *); extern void tcp_delete_keepalive_timer (struct sock *); extern void tcp_reset_keepalive_timer (struct sock *, unsigned long); -extern int tcp_sync_mss(struct sock *sk, u32 pmtu); +extern unsigned int tcp_sync_mss(struct sock *sk, u32 pmtu); +extern unsigned int tcp_current_mss(struct sock *sk, int large); extern const char timer_bug_msg[]; @@ -1049,34 +1047,6 @@ static inline void tcp_reset_xmit_timer(struct sock *sk, int what, unsigned long }; } -/* Compute the current effective MSS, taking SACKs and IP options, - * and even PMTU discovery events into account. - * - * LARGESEND note: !urg_mode is overkill, only frames up to snd_up - * cannot be large. However, taking into account rare use of URG, this - * is not a big flaw. - */ - -static __inline__ unsigned int tcp_current_mss(struct sock *sk, int large) -{ - struct tcp_opt *tp = tcp_sk(sk); - struct dst_entry *dst = __sk_dst_get(sk); - int mss_now = large && (sk->sk_route_caps & NETIF_F_TSO) && - !tp->urg_mode ? - tp->mss_cache : tp->mss_cache_std; - - if (dst) { - u32 mtu = dst_pmtu(dst); - if (mtu != tp->pmtu_cookie || - tp->ext2_header_len != dst->header_len) - mss_now = tcp_sync_mss(sk, mtu); - } - if (tp->eff_sacks) - mss_now -= (TCPOLEN_SACK_BASE_ALIGNED + - (tp->eff_sacks * TCPOLEN_SACK_PERBLOCK)); - return mss_now; -} - /* Initialize RCV_MSS value. * RCV_MSS is an our guess about MSS used by the peer. * We haven't any direct information about the MSS. @@ -1197,6 +1167,75 @@ struct tcp_skb_cb { #include +/* Due to TSO, an SKB can be composed of multiple actual + * packets. To keep these tracked properly, we use this. + */ +static inline int tcp_skb_pcount(struct sk_buff *skb) +{ + return skb_shinfo(skb)->tso_segs; +} + +/* This is valid iff tcp_skb_pcount() > 1. */ +static inline int tcp_skb_mss(struct sk_buff *skb) +{ + return skb_shinfo(skb)->tso_size; +} + +static inline void tcp_inc_pcount(tcp_pcount_t *count, struct sk_buff *skb) +{ + count->val += tcp_skb_pcount(skb); +} + +static inline void tcp_inc_pcount_explicit(tcp_pcount_t *count, int amt) +{ + count->val += amt; +} + +static inline void tcp_dec_pcount_explicit(tcp_pcount_t *count, int amt) +{ + count->val -= amt; +} + +static inline void tcp_dec_pcount(tcp_pcount_t *count, struct sk_buff *skb) +{ + count->val -= tcp_skb_pcount(skb); +} + +static inline void tcp_dec_pcount_approx(tcp_pcount_t *count, + struct sk_buff *skb) +{ + if (count->val) { + count->val -= tcp_skb_pcount(skb); + if ((int)count->val < 0) + count->val = 0; + } +} + +static inline __u32 tcp_get_pcount(tcp_pcount_t *count) +{ + return count->val; +} + +static inline void tcp_set_pcount(tcp_pcount_t *count, __u32 val) +{ + count->val = val; +} + +static inline void tcp_packets_out_inc(struct sock *sk, struct tcp_opt *tp, + struct sk_buff *skb) +{ + int orig = tcp_get_pcount(&tp->packets_out); + + tcp_inc_pcount(&tp->packets_out, skb); + if (!orig) + tcp_reset_xmit_timer(sk, TCP_TIME_RETRANS, tp->rto); +} + +static inline void tcp_packets_out_dec(struct tcp_opt *tp, struct sk_buff *skb) +{ + tcp_dec_pcount(&tp->packets_out, skb); +} + /* This determines how many packets are "in the network" to the best * of our knowledge. In many cases it is conservative, but where * detailed information is available from the receiver (via SACK @@ -1213,9 +1252,18 @@ struct tcp_skb_cb { */ static __inline__ unsigned int tcp_packets_in_flight(struct tcp_opt *tp) { - return tp->packets_out - tp->left_out + tp->retrans_out; + return (tcp_get_pcount(&tp->packets_out) - + tcp_get_pcount(&tp->left_out) + + tcp_get_pcount(&tp->retrans_out)); } +/* + * Which congestion algorithim is in use on the connection. + */ +#define tcp_is_vegas(__tp) ((__tp)->adv_cong == TCP_VEGAS) +#define tcp_is_westwood(__tp) ((__tp)->adv_cong == TCP_WESTWOOD) +#define tcp_is_bic(__tp) ((__tp)->adv_cong == TCP_BIC) + /* Recalculate snd_ssthresh, we want to set it to: * * Reno: @@ -1228,7 +1276,7 @@ static __inline__ unsigned int tcp_packets_in_flight(struct tcp_opt *tp) */ static inline __u32 tcp_recalc_ssthresh(struct tcp_opt *tp) { - if (sysctl_tcp_bic) { + if (tcp_is_bic(tp)) { if (sysctl_tcp_bic_fast_convergence && tp->snd_cwnd < tp->bictcp.last_max_cwnd) tp->bictcp.last_max_cwnd @@ -1247,11 +1295,6 @@ static inline __u32 tcp_recalc_ssthresh(struct tcp_opt *tp) /* Stop taking Vegas samples for now. */ #define tcp_vegas_disable(__tp) ((__tp)->vegas.doing_vegas_now = 0) - -/* Is this TCP connection using Vegas (regardless of whether it is taking - * Vegas measurements at the current time)? - */ -#define tcp_is_vegas(__tp) ((__tp)->vegas.do_vegas) static inline void tcp_vegas_enable(struct tcp_opt *tp) { @@ -1285,7 +1328,7 @@ static inline void tcp_vegas_enable(struct tcp_opt *tp) /* Should we be taking Vegas samples right now? */ #define tcp_vegas_enabled(__tp) ((__tp)->vegas.doing_vegas_now) -extern void tcp_vegas_init(struct tcp_opt *tp); +extern void tcp_ca_init(struct tcp_opt *tp); static inline void tcp_set_ca_state(struct tcp_opt *tp, u8 ca_state) { @@ -1314,9 +1357,15 @@ static inline __u32 tcp_current_ssthresh(struct tcp_opt *tp) static inline void tcp_sync_left_out(struct tcp_opt *tp) { - if (tp->sack_ok && tp->sacked_out >= tp->packets_out - tp->lost_out) - tp->sacked_out = tp->packets_out - tp->lost_out; - tp->left_out = tp->sacked_out + tp->lost_out; + if (tp->sack_ok && + (tcp_get_pcount(&tp->sacked_out) >= + tcp_get_pcount(&tp->packets_out) - tcp_get_pcount(&tp->lost_out))) + tcp_set_pcount(&tp->sacked_out, + (tcp_get_pcount(&tp->packets_out) - + tcp_get_pcount(&tp->lost_out))); + tcp_set_pcount(&tp->left_out, + (tcp_get_pcount(&tp->sacked_out) + + tcp_get_pcount(&tp->lost_out))); } extern void tcp_cwnd_application_limited(struct sock *sk); @@ -1325,14 +1374,16 @@ extern void tcp_cwnd_application_limited(struct sock *sk); static inline void tcp_cwnd_validate(struct sock *sk, struct tcp_opt *tp) { - if (tp->packets_out >= tp->snd_cwnd) { + __u32 packets_out = tcp_get_pcount(&tp->packets_out); + + if (packets_out >= tp->snd_cwnd) { /* Network is feed fully. */ tp->snd_cwnd_used = 0; tp->snd_cwnd_stamp = tcp_time_stamp; } else { /* Network starves. */ - if (tp->packets_out > tp->snd_cwnd_used) - tp->snd_cwnd_used = tp->packets_out; + if (tcp_get_pcount(&tp->packets_out) > tp->snd_cwnd_used) + tp->snd_cwnd_used = tcp_get_pcount(&tp->packets_out); if ((s32)(tcp_time_stamp - tp->snd_cwnd_stamp) >= tp->rto) tcp_cwnd_application_limited(sk); @@ -1399,16 +1450,25 @@ tcp_nagle_check(struct tcp_opt *tp, struct sk_buff *skb, unsigned mss_now, int n !(TCP_SKB_CB(skb)->flags & TCPCB_FLAG_FIN) && ((nonagle&TCP_NAGLE_CORK) || (!nonagle && - tp->packets_out && + tcp_get_pcount(&tp->packets_out) && tcp_minshall_check(tp)))); } +extern void tcp_set_skb_tso_segs(struct sk_buff *, unsigned int); + /* This checks if the data bearing packet SKB (usually sk->sk_send_head) * should be put on the wire right now. */ static __inline__ int tcp_snd_test(struct tcp_opt *tp, struct sk_buff *skb, unsigned cur_mss, int nonagle) { + int pkts = tcp_skb_pcount(skb); + + if (!pkts) { + tcp_set_skb_tso_segs(skb, tp->mss_cache_std); + pkts = tcp_skb_pcount(skb); + } + /* RFC 1122 - section 4.2.3.4 * * We must queue if @@ -1435,14 +1495,14 @@ static __inline__ int tcp_snd_test(struct tcp_opt *tp, struct sk_buff *skb, */ return (((nonagle&TCP_NAGLE_PUSH) || tp->urg_mode || !tcp_nagle_check(tp, skb, cur_mss, nonagle)) && - ((tcp_packets_in_flight(tp) < tp->snd_cwnd) || + (((tcp_packets_in_flight(tp) + (pkts-1)) < tp->snd_cwnd) || (TCP_SKB_CB(skb)->flags & TCPCB_FLAG_FIN)) && !after(TCP_SKB_CB(skb)->end_seq, tp->snd_una + tp->snd_wnd)); } static __inline__ void tcp_check_probe_timer(struct sock *sk, struct tcp_opt *tp) { - if (!tp->packets_out && !tp->pending) + if (!tcp_get_pcount(&tp->packets_out) && !tp->pending) tcp_reset_xmit_timer(sk, TCP_TIME_PROBE0, tp->rto); } @@ -1700,68 +1760,10 @@ static inline void tcp_syn_build_options(__u32 *ptr, int mss, int ts, int sack, *ptr++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_WINDOW << 16) | (TCPOLEN_WINDOW << 8) | (wscale)); } -/* Determine a window scaling and initial window to offer. - * Based on the assumption that the given amount of space - * will be offered. Store the results in the tp structure. - * NOTE: for smooth operation initial space offering should - * be a multiple of mss if possible. We assume here that mss >= 1. - * This MUST be enforced by all callers. - */ -static inline void tcp_select_initial_window(int __space, __u32 mss, - __u32 *rcv_wnd, - __u32 *window_clamp, - int wscale_ok, - __u8 *rcv_wscale) -{ - unsigned int space = (__space < 0 ? 0 : __space); - - /* If no clamp set the clamp to the max possible scaled window */ - if (*window_clamp == 0) - (*window_clamp) = (65535 << 14); - space = min(*window_clamp, space); - - /* Quantize space offering to a multiple of mss if possible. */ - if (space > mss) - space = (space / mss) * mss; - - /* NOTE: offering an initial window larger than 32767 - * will break some buggy TCP stacks. We try to be nice. - * If we are not window scaling, then this truncates - * our initial window offering to 32k. There should also - * be a sysctl option to stop being nice. - */ - (*rcv_wnd) = min(space, MAX_TCP_WINDOW); - (*rcv_wscale) = 0; - if (wscale_ok) { - /* See RFC1323 for an explanation of the limit to 14 */ - while (space > 65535 && (*rcv_wscale) < 14) { - space >>= 1; - (*rcv_wscale)++; - } - if (*rcv_wscale && sysctl_tcp_app_win && space>=mss && - space - max((space>>sysctl_tcp_app_win), mss>>*rcv_wscale) < 65536/2) - (*rcv_wscale)--; - - *rcv_wscale = max((__u8)sysctl_tcp_default_win_scale, - *rcv_wscale); - } - - /* Set initial window to value enough for senders, - * following RFC1414. Senders, not following this RFC, - * will be satisfied with 2. - */ - if (mss > (1<<*rcv_wscale)) { - int init_cwnd = 4; - if (mss > 1460*3) - init_cwnd = 2; - else if (mss > 1460) - init_cwnd = 3; - if (*rcv_wnd > init_cwnd*mss) - *rcv_wnd = init_cwnd*mss; - } - /* Set the clamp no higher than max representable value */ - (*window_clamp) = min(65535U << (*rcv_wscale), *window_clamp); -} +/* Determine a window scaling and initial window to offer. */ +extern void tcp_select_initial_window(int __space, __u32 mss, + __u32 *rcv_wnd, __u32 *window_clamp, + int wscale_ok, __u8 *rcv_wscale); static inline int tcp_win_from_space(int space) { @@ -1771,13 +1773,13 @@ static inline int tcp_win_from_space(int space) } /* Note: caller must be prepared to deal with negative returns */ -static inline int tcp_space(struct sock *sk) +static inline int tcp_space(const struct sock *sk) { return tcp_win_from_space(sk->sk_rcvbuf - atomic_read(&sk->sk_rmem_alloc)); } -static inline int tcp_full_space( struct sock *sk) +static inline int tcp_full_space(const struct sock *sk) { return tcp_win_from_space(sk->sk_rcvbuf); } @@ -2115,7 +2117,7 @@ extern void tcp_proc_unregister(struct tcp_seq_afinfo *afinfo); static inline void tcp_westwood_update_rtt(struct tcp_opt *tp, __u32 rtt_seq) { - if (sysctl_tcp_westwood) + if (tcp_is_westwood(tp)) tp->westwood.rtt = rtt_seq; } @@ -2124,33 +2126,33 @@ void __tcp_westwood_slow_bw(struct sock *, struct sk_buff *); static inline void tcp_westwood_fast_bw(struct sock *sk, struct sk_buff *skb) { - if (sysctl_tcp_westwood) + if (tcp_is_westwood(tcp_sk(sk))) __tcp_westwood_fast_bw(sk, skb); } static inline void tcp_westwood_slow_bw(struct sock *sk, struct sk_buff *skb) { - if (sysctl_tcp_westwood) + if (tcp_is_westwood(tcp_sk(sk))) __tcp_westwood_slow_bw(sk, skb); } static inline __u32 __tcp_westwood_bw_rttmin(const struct tcp_opt *tp) { return max((tp->westwood.bw_est) * (tp->westwood.rtt_min) / - (__u32) (tp->mss_cache), + (__u32) (tp->mss_cache_std), 2U); } static inline __u32 tcp_westwood_bw_rttmin(const struct tcp_opt *tp) { - return sysctl_tcp_westwood ? __tcp_westwood_bw_rttmin(tp) : 0; + return tcp_is_westwood(tp) ? __tcp_westwood_bw_rttmin(tp) : 0; } static inline int tcp_westwood_ssthresh(struct tcp_opt *tp) { __u32 ssthresh = 0; - if (sysctl_tcp_westwood) { + if (tcp_is_westwood(tp)) { ssthresh = __tcp_westwood_bw_rttmin(tp); if (ssthresh) tp->snd_ssthresh = ssthresh; @@ -2163,7 +2165,7 @@ static inline int tcp_westwood_cwnd(struct tcp_opt *tp) { __u32 cwnd = 0; - if (sysctl_tcp_westwood) { + if (tcp_is_westwood(tp)) { cwnd = __tcp_westwood_bw_rttmin(tp); if (cwnd) tp->snd_cwnd = cwnd; diff --git a/include/net/tux.h b/include/net/tux.h index b6d35dfb2..8078c8e9d 100644 --- a/include/net/tux.h +++ b/include/net/tux.h @@ -37,15 +37,17 @@ #include #include #include +#include +#include #include #include /* Maximum number of threads: */ -#define CONFIG_TUX_NUMTHREADS 8 +#define CONFIG_TUX_NUMTHREADS 32 /* Number of cachemiss/IO threads: */ -#define NR_IO_THREADS 32 +#define NR_IO_THREADS 64 /* Maximum number of listen sockets per thread: */ #define CONFIG_TUX_NUMSOCKETS 16 @@ -206,7 +208,7 @@ struct tux_req_struct struct dentry *cwd_dentry; struct vfsmount *cwd_mnt; - struct file in_file; + struct file *in_file; int fd; read_descriptor_t desc; u32 client_addr; @@ -709,13 +711,13 @@ extern void send_abuf (tux_req_t *req, unsigned int size, unsigned long flags); extern int idle_event (tux_req_t *req); extern int output_space_event (tux_req_t *req); -extern unsigned int log_cpu_mask; +extern cpumask_t tux_log_cpu_mask; extern unsigned int tux_compression; extern unsigned int tux_noid; extern unsigned int tux_cgi_inherit_cpu; extern unsigned int tux_zerocopy_header; extern unsigned int tux_zerocopy_sendfile; -extern unsigned int tux_cgi_cpu_mask; +extern cpumask_t tux_cgi_cpu_mask; extern tux_proto_t tux_proto_http; extern tux_proto_t tux_proto_ftp; extern unsigned int tux_all_userspace; @@ -795,6 +797,6 @@ static inline void put_data_sock (tux_req_t *req) __ptr; \ }) -extern long tux_close(unsigned int fd); +#define tux_close(fd) sys_close(fd) #endif diff --git a/include/net/xfrm.h b/include/net/xfrm.h index aaf74999a..09851a87c 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -178,8 +178,6 @@ struct xfrm_policy_afinfo { extern int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo); extern int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo); -extern struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family); -extern void xfrm_policy_put_afinfo(struct xfrm_policy_afinfo *afinfo); #define XFRM_ACQ_EXPIRES 30 @@ -200,8 +198,6 @@ struct xfrm_state_afinfo { extern int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo); extern int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo); -extern struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned short family); -extern void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo); extern void xfrm_state_delete_tunnel(struct xfrm_state *x); @@ -216,7 +212,7 @@ struct xfrm_type void (*destructor)(struct xfrm_state *); int (*input)(struct xfrm_state *, struct xfrm_decap_state *, struct sk_buff *skb); int (*post_input)(struct xfrm_state *, struct xfrm_decap_state *, struct sk_buff *skb); - int (*output)(struct sk_buff **pskb); + int (*output)(struct sk_buff *pskb); /* Estimate maximal size of result of transformation of a dgram */ u32 (*get_max_size)(struct xfrm_state *, int size); }; @@ -304,47 +300,6 @@ extern int xfrm_register_km(struct xfrm_mgr *km); extern int xfrm_unregister_km(struct xfrm_mgr *km); -#define XFRM_FLOWCACHE_HASH_SIZE 1024 - -static inline u32 __flow_hash4(struct flowi *fl) -{ - u32 hash = fl->fl4_src ^ fl->fl_ip_sport; - - hash = ((hash & 0xF0F0F0F0) >> 4) | ((hash & 0x0F0F0F0F) << 4); - - hash ^= fl->fl4_dst ^ fl->fl_ip_dport; - hash ^= (hash >> 10); - hash ^= (hash >> 20); - return hash & (XFRM_FLOWCACHE_HASH_SIZE-1); -} - -static inline u32 __flow_hash6(struct flowi *fl) -{ - u32 hash = fl->fl6_src.s6_addr32[2] ^ - fl->fl6_src.s6_addr32[3] ^ - fl->fl_ip_sport; - - hash = ((hash & 0xF0F0F0F0) >> 4) | ((hash & 0x0F0F0F0F) << 4); - - hash ^= fl->fl6_dst.s6_addr32[2] ^ - fl->fl6_dst.s6_addr32[3] ^ - fl->fl_ip_dport; - hash ^= (hash >> 10); - hash ^= (hash >> 20); - return hash & (XFRM_FLOWCACHE_HASH_SIZE-1); -} - -static inline u32 flow_hash(struct flowi *fl, unsigned short family) -{ - switch (family) { - case AF_INET: - return __flow_hash4(fl); - case AF_INET6: - return __flow_hash6(fl); - } - return 0; /*XXX*/ -} - extern struct xfrm_policy *xfrm_policy_list[XFRM_POLICY_MAX*2]; static inline void xfrm_pol_hold(struct xfrm_policy *policy) @@ -462,13 +417,53 @@ static __inline__ int addr_match(void *token1, void *token2, int prefixlen) return 1; } +static __inline__ +u16 xfrm_flowi_sport(struct flowi *fl) +{ + u16 port; + switch(fl->proto) { + case IPPROTO_TCP: + case IPPROTO_UDP: + case IPPROTO_SCTP: + port = fl->fl_ip_sport; + break; + case IPPROTO_ICMP: + case IPPROTO_ICMPV6: + port = htons(fl->fl_icmp_type); + break; + default: + port = 0; /*XXX*/ + } + return port; +} + +static __inline__ +u16 xfrm_flowi_dport(struct flowi *fl) +{ + u16 port; + switch(fl->proto) { + case IPPROTO_TCP: + case IPPROTO_UDP: + case IPPROTO_SCTP: + port = fl->fl_ip_dport; + break; + case IPPROTO_ICMP: + case IPPROTO_ICMPV6: + port = htons(fl->fl_icmp_code); + break; + default: + port = 0; /*XXX*/ + } + return port; +} + static inline int __xfrm4_selector_match(struct xfrm_selector *sel, struct flowi *fl) { return addr_match(&fl->fl4_dst, &sel->daddr, sel->prefixlen_d) && addr_match(&fl->fl4_src, &sel->saddr, sel->prefixlen_s) && - !((fl->fl_ip_dport^sel->dport)&sel->dport_mask) && - !((fl->fl_ip_sport^sel->sport)&sel->sport_mask) && + !((xfrm_flowi_dport(fl) ^ sel->dport) & sel->dport_mask) && + !((xfrm_flowi_sport(fl) ^ sel->sport) & sel->sport_mask) && (fl->proto == sel->proto || !sel->proto) && (fl->oif == sel->ifindex || !sel->ifindex); } @@ -478,8 +473,8 @@ __xfrm6_selector_match(struct xfrm_selector *sel, struct flowi *fl) { return addr_match(&fl->fl6_dst, &sel->daddr, sel->prefixlen_d) && addr_match(&fl->fl6_src, &sel->saddr, sel->prefixlen_s) && - !((fl->fl_ip_dport^sel->dport)&sel->dport_mask) && - !((fl->fl_ip_sport^sel->sport)&sel->sport_mask) && + !((xfrm_flowi_dport(fl) ^ sel->dport) & sel->dport_mask) && + !((xfrm_flowi_sport(fl) ^ sel->sport) & sel->sport_mask) && (fl->proto == sel->proto || !sel->proto) && (fl->oif == sel->ifindex || !sel->ifindex); } @@ -602,7 +597,7 @@ static inline int xfrm_policy_check(struct sock *sk, int dir, struct sk_buff *sk if (sk && sk->sk_policy[XFRM_POLICY_IN]) return __xfrm_policy_check(sk, dir, skb, family); - return !xfrm_policy_list[dir] || + return (!xfrm_policy_list[dir] && !skb->sp) || (skb->dst->flags & DST_NOPOLICY) || __xfrm_policy_check(sk, dir, skb, family); } @@ -795,8 +790,6 @@ extern void xfrm4_state_init(void); extern void xfrm4_state_fini(void); extern void xfrm6_state_init(void); extern void xfrm6_state_fini(void); -extern void xfrm6_tunnel_init(void); -extern void xfrm6_tunnel_fini(void); extern int xfrm_state_walk(u8 proto, int (*func)(struct xfrm_state *, int, void*), void *); extern struct xfrm_state *xfrm_state_alloc(void); @@ -808,19 +801,18 @@ extern int xfrm_state_check_expire(struct xfrm_state *x); extern void xfrm_state_insert(struct xfrm_state *x); extern int xfrm_state_add(struct xfrm_state *x); extern int xfrm_state_update(struct xfrm_state *x); -extern int xfrm_state_check_space(struct xfrm_state *x, struct sk_buff *skb); extern struct xfrm_state *xfrm_state_lookup(xfrm_address_t *daddr, u32 spi, u8 proto, unsigned short family); extern struct xfrm_state *xfrm_find_acq_byseq(u32 seq); extern void xfrm_state_delete(struct xfrm_state *x); extern void xfrm_state_flush(u8 proto); extern int xfrm_replay_check(struct xfrm_state *x, u32 seq); extern void xfrm_replay_advance(struct xfrm_state *x, u32 seq); -extern int xfrm_check_selectors(struct xfrm_state **x, int n, struct flowi *fl); extern int xfrm_state_check(struct xfrm_state *x, struct sk_buff *skb); extern int xfrm4_rcv(struct sk_buff *skb); extern int xfrm4_output(struct sk_buff **pskb); extern int xfrm4_tunnel_register(struct xfrm_tunnel *handler); extern int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler); +extern int xfrm6_rcv_spi(struct sk_buff **pskb, unsigned int *nhoffp, u32 spi); extern int xfrm6_rcv(struct sk_buff **pskb, unsigned int *nhoffp); extern int xfrm6_tunnel_register(struct xfrm6_tunnel *handler); extern int xfrm6_tunnel_deregister(struct xfrm6_tunnel *handler); @@ -852,8 +844,6 @@ static inline int xfrm_dst_lookup(struct xfrm_dst **dst, struct flowi *fl, unsig #endif void xfrm_policy_init(void); -void xfrm4_policy_init(void); -void xfrm6_policy_init(void); struct xfrm_policy *xfrm_policy_alloc(int gfp); extern int xfrm_policy_walk(int (*func)(struct xfrm_policy *, int, int, void*), void *); int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl); @@ -867,7 +857,6 @@ struct xfrm_state * xfrm_find_acq(u8 mode, u32 reqid, u8 proto, xfrm_address_t *daddr, xfrm_address_t *saddr, int create, unsigned short family); extern void xfrm_policy_flush(void); -extern void xfrm_policy_kill(struct xfrm_policy *); extern int xfrm_sk_policy_insert(struct sock *sk, int dir, struct xfrm_policy *pol); extern struct xfrm_policy *xfrm_sk_policy_lookup(struct sock *sk, int dir, struct flowi *fl); extern int xfrm_flush_bundles(void); @@ -900,4 +889,17 @@ typedef void (icv_update_fn_t)(struct crypto_tfm *, struct scatterlist *, unsign extern void skb_icv_walk(const struct sk_buff *skb, struct crypto_tfm *tfm, int offset, int len, icv_update_fn_t icv_update); +static inline int xfrm_addr_cmp(xfrm_address_t *a, xfrm_address_t *b, + int family) +{ + switch (family) { + default: + case AF_INET: + return a->a4 - b->a4; + case AF_INET6: + return ipv6_addr_cmp((struct in6_addr *)a, + (struct in6_addr *)b); + } +} + #endif /* _NET_XFRM_H */ diff --git a/include/pcmcia/ss.h b/include/pcmcia/ss.h index 4df622f6d..7883d79b9 100644 --- a/include/pcmcia/ss.h +++ b/include/pcmcia/ss.h @@ -103,7 +103,7 @@ typedef struct pccard_mem_map { u_char map; u_char flags; u_short speed; - u_long sys_start, sys_stop; + u_long static_start; u_int card_start; struct resource *res; } pccard_mem_map; @@ -176,7 +176,7 @@ struct pcmcia_socket { u_short lock_count; client_handle_t clients; pccard_mem_map cis_mem; - u_char *cis_virt; + void __iomem *cis_virt; struct config_t *config; struct { u_int AssignedIRQ; @@ -227,7 +227,7 @@ struct pcmcia_socket { /* cardbus (32-bit) */ #ifdef CONFIG_CARDBUS struct resource * cb_cis_res; - u_char *cb_cis_virt; + void __iomem *cb_cis_virt; #endif /* socket device */ diff --git a/include/rxrpc/call.h b/include/rxrpc/call.h index 2620d1921..f9b0a7cbd 100644 --- a/include/rxrpc/call.h +++ b/include/rxrpc/call.h @@ -67,8 +67,8 @@ struct rxrpc_call wait_queue_head_t waitq; /* wait queue for events to happen */ struct list_head link; /* general internal list link */ struct list_head call_link; /* master call list link */ - uint32_t chan_ix; /* connection channel index (net order) */ - uint32_t call_id; /* call ID on connection (net order) */ + __be32 chan_ix; /* connection channel index */ + __be32 call_id; /* call ID on connection */ unsigned long cjif; /* jiffies at call creation */ unsigned long flags; /* control flags */ #define RXRPC_CALL_ACKS_TIMO 0x00000001 /* ACKS timeout reached */ @@ -97,7 +97,7 @@ struct rxrpc_call rxrpc_seq_t ackr_win_bot; /* bottom of ACK window */ rxrpc_seq_t ackr_win_top; /* top of ACK window */ rxrpc_seq_t ackr_high_seq; /* highest seqno yet received */ - rxrpc_seq_t ackr_prev_seq; /* previous seqno received */ + rxrpc_seq_net_t ackr_prev_seq; /* previous seqno received */ unsigned ackr_pend_cnt; /* number of pending ACKs */ struct timer_list ackr_dfr_timo; /* timeout on deferred ACK */ char ackr_dfr_perm; /* request for deferred ACKs permitted */ diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h index 1c6d29384..916511a59 100644 --- a/include/scsi/scsi.h +++ b/include/scsi/scsi.h @@ -108,6 +108,7 @@ extern const char *const scsi_device_types[MAX_SCSI_DEVICE_CODE]; #define WRITE_LONG_2 0xea #define READ_16 0x88 #define WRITE_16 0x8a +#define VERIFY_16 0x8f #define SERVICE_ACTION_IN 0x9e /* values for service action in */ #define SAI_READ_CAPACITY_16 0x10 @@ -353,14 +354,19 @@ struct scsi_lun { ((lun) & 0x07)) /* - * SCSI command sets + * struct scsi_device::scsi_level values. For SCSI devices other than those + * prior to SCSI-2 (i.e. over 12 years old) this value is (resp[2] + 1) + * where "resp" is a byte array of the response to an INQUIRY. The scsi_level + * variable is visible to the user via sysfs. */ #define SCSI_UNKNOWN 0 #define SCSI_1 1 #define SCSI_1_CCS 2 #define SCSI_2 3 -#define SCSI_3 4 +#define SCSI_3 4 /* SPC */ +#define SCSI_SPC_2 5 +#define SCSI_SPC_3 6 /* * INQ PERIPHERAL QUALIFIERS diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 75a1909c2..9569c2280 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h @@ -30,6 +30,9 @@ enum scsi_device_state { * originate in the mid-layer) */ SDEV_OFFLINE, /* Device offlined (by error handling or * user request */ + SDEV_BLOCK, /* Device blocked by scsi lld. No scsi + * commands from user or midlayer should be issued + * to the scsi lld. */ }; struct scsi_device { @@ -120,7 +123,7 @@ struct scsi_device { struct class_device transport_classdev; enum scsi_device_state sdev_state; - unsigned long transport_data[0]; + unsigned long sdev_data[0]; } __attribute__((aligned(sizeof(unsigned long)))); #define to_scsi_device(d) \ container_of(d, struct scsi_device, sdev_gendev) @@ -129,8 +132,34 @@ struct scsi_device { #define transport_class_to_sdev(class_dev) \ container_of(class_dev, struct scsi_device, transport_classdev) -extern struct scsi_device *scsi_add_device(struct Scsi_Host *, - uint, uint, uint); +/* + * scsi_target: representation of a scsi target, for now, this is only + * used for single_lun devices. If no one has active IO to the target, + * starget_sdev_user is NULL, else it points to the active sdev. + */ +struct scsi_target { + struct scsi_device *starget_sdev_user; + struct device dev; + unsigned int channel; + unsigned int id; /* target id ... replace + * scsi_device.id eventually */ + struct class_device transport_classdev; + unsigned long create:1; /* signal that it needs to be added */ + unsigned long starget_data[0]; +} __attribute__((aligned(sizeof(unsigned long)))); + +#define to_scsi_target(d) container_of(d, struct scsi_target, dev) +static inline struct scsi_target *scsi_target(struct scsi_device *sdev) +{ + return to_scsi_target(sdev->sdev_gendev.parent); +} +#define transport_class_to_starget(class_dev) \ + container_of(class_dev, struct scsi_target, transport_classdev) + +extern struct scsi_device *__scsi_add_device(struct Scsi_Host *, + uint, uint, uint, void *hostdata); +#define scsi_add_device(host, channel, target, lun) \ + __scsi_add_device(host, channel, target, lun, NULL) extern void scsi_remove_device(struct scsi_device *); extern int scsi_device_cancel(struct scsi_device *, int); @@ -183,13 +212,49 @@ extern int scsi_set_medium_removal(struct scsi_device *, char); extern int scsi_mode_sense(struct scsi_device *sdev, int dbd, int modepage, unsigned char *buffer, int len, int timeout, int retries, struct scsi_mode_data *data); +extern int scsi_test_unit_ready(struct scsi_device *sdev, int timeout, + int retries); extern int scsi_device_set_state(struct scsi_device *sdev, enum scsi_device_state state); extern int scsi_device_quiesce(struct scsi_device *sdev); extern void scsi_device_resume(struct scsi_device *sdev); +extern void scsi_target_quiesce(struct scsi_target *); +extern void scsi_target_resume(struct scsi_target *); extern const char *scsi_device_state_name(enum scsi_device_state); -static int inline scsi_device_online(struct scsi_device *sdev) +static inline int scsi_device_online(struct scsi_device *sdev) { return sdev->sdev_state != SDEV_OFFLINE; } + +/* accessor functions for the SCSI parameters */ +static inline int scsi_device_sync(struct scsi_device *sdev) +{ + return sdev->sdtr; +} +static inline int scsi_device_wide(struct scsi_device *sdev) +{ + return sdev->wdtr; +} +static inline int scsi_device_dt(struct scsi_device *sdev) +{ + return sdev->ppr; +} +static inline int scsi_device_dt_only(struct scsi_device *sdev) +{ + if (sdev->inquiry_len < 57) + return 0; + return (sdev->inquiry[56] & 0x0c) == 0x04; +} +static inline int scsi_device_ius(struct scsi_device *sdev) +{ + if (sdev->inquiry_len < 57) + return 0; + return sdev->inquiry[56] & 0x01; +} +static inline int scsi_device_qas(struct scsi_device *sdev) +{ + if (sdev->inquiry_len < 57) + return 0; + return sdev->inquiry[56] & 0x02; +} #endif /* _SCSI_SCSI_DEVICE_H */ diff --git a/include/scsi/scsi_eh.h b/include/scsi/scsi_eh.h index 887601dc6..ae261ea5f 100644 --- a/include/scsi/scsi_eh.h +++ b/include/scsi/scsi_eh.h @@ -11,7 +11,6 @@ extern int scsi_delete_timer(struct scsi_cmnd *); extern void scsi_report_bus_reset(struct Scsi_Host *, int); extern void scsi_report_device_reset(struct Scsi_Host *, int, int); extern int scsi_block_when_processing_errors(struct scsi_device *); -extern void scsi_sleep(int); /* * Reset request from external source diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index bb1e2e53f..082f0d8fe 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h @@ -510,6 +510,13 @@ struct Scsi_Host { */ struct list_head sht_legacy_list; + /* + * Points to the transport data (if any) which is allocated + * separately + */ + void *shost_data; + struct class_device transport_classdev; + /* * We should ensure that this is aligned, both for better performance * and also because some compilers (m68k) don't automatically force @@ -522,6 +529,9 @@ struct Scsi_Host { container_of(d, struct Scsi_Host, shost_gendev) #define class_to_shost(d) \ container_of(d, struct Scsi_Host, shost_classdev) +#define transport_class_to_shost(class_dev) \ + container_of(class_dev, struct Scsi_Host, transport_classdev) + extern struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *, int); extern int __must_check scsi_add_host(struct Scsi_Host *, struct device *); diff --git a/include/scsi/scsi_ioctl.h b/include/scsi/scsi_ioctl.h index 4a46f88e7..d4be4d92d 100644 --- a/include/scsi/scsi_ioctl.h +++ b/include/scsi/scsi_ioctl.h @@ -43,6 +43,8 @@ typedef struct scsi_fctargaddress { extern int scsi_ioctl(struct scsi_device *, int, void __user *); extern int scsi_ioctl_send_command(struct scsi_device *, struct scsi_ioctl_command __user *); +extern int scsi_nonblockable_ioctl(struct scsi_device *sdev, int cmd, + void __user *arg, struct file *filp); #endif /* __KERNEL__ */ #endif /* _SCSI_IOCTL_H */ diff --git a/include/scsi/scsi_transport.h b/include/scsi/scsi_transport.h index 658e3cee8..a70035109 100644 --- a/include/scsi/scsi_transport.h +++ b/include/scsi/scsi_transport.h @@ -24,18 +24,33 @@ struct scsi_transport_template { /* The NULL terminated list of transport attributes * that should be exported. */ - struct class_device_attribute **attrs; + struct class_device_attribute **device_attrs; + struct class_device_attribute **target_attrs; + struct class_device_attribute **host_attrs; + /* The transport class that the device is in */ - struct class *class; + struct class *device_class; + struct class *target_class; + struct class *host_class; + + /* Constructor functions */ + int (*device_setup)(struct scsi_device *); + int (*device_configure)(struct scsi_device *); + int (*target_setup)(struct scsi_target *); + int (*host_setup)(struct Scsi_Host *); + + /* Destructor functions */ + void (*device_destroy)(struct scsi_device *); + void (*target_destroy)(struct scsi_target *); + void (*host_destroy)(struct Scsi_Host *); - /* Constructor/Destructor functions */ - int (* setup)(struct scsi_device *); - void (* cleanup)(struct scsi_device *); /* The size of the specific transport attribute structure (a * space of this size will be left at the end of the - * scsi_device structure */ - int size; + * scsi_* structure */ + int device_size; + int target_size; + int host_size; }; #endif /* SCSI_TRANSPORT_H */ diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h index 967e89567..7495cee58 100644 --- a/include/scsi/scsi_transport_fc.h +++ b/include/scsi/scsi_transport_fc.h @@ -24,33 +24,68 @@ struct scsi_transport_template; -struct fc_transport_attrs { +struct fc_starget_attrs { /* aka fc_target_attrs */ int port_id; uint64_t node_name; uint64_t port_name; + uint32_t dev_loss_tmo; /* Remote Port loss timeout in seconds. */ + struct work_struct dev_loss_work; }; -/* accessor functions */ -#define fc_port_id(x) (((struct fc_transport_attrs *)&(x)->transport_data)->port_id) -#define fc_node_name(x) (((struct fc_transport_attrs *)&(x)->transport_data)->node_name) -#define fc_port_name(x) (((struct fc_transport_attrs *)&(x)->transport_data)->port_name) +#define fc_starget_port_id(x) \ + (((struct fc_starget_attrs *)&(x)->starget_data)->port_id) +#define fc_starget_node_name(x) \ + (((struct fc_starget_attrs *)&(x)->starget_data)->node_name) +#define fc_starget_port_name(x) \ + (((struct fc_starget_attrs *)&(x)->starget_data)->port_name) +#define fc_starget_dev_loss_tmo(x) \ + (((struct fc_starget_attrs *)&(x)->starget_data)->dev_loss_tmo) +#define fc_starget_dev_loss_work(x) \ + (((struct fc_starget_attrs *)&(x)->starget_data)->dev_loss_work) + +struct fc_host_attrs { + uint32_t link_down_tmo; /* Link Down timeout in seconds. */ + struct work_struct link_down_work; +}; + +#define fc_host_link_down_tmo(x) \ + (((struct fc_host_attrs *)(x)->shost_data)->link_down_tmo) +#define fc_host_link_down_work(x) \ + (((struct fc_host_attrs *)(x)->shost_data)->link_down_work) + /* The functions by which the transport class and the driver communicate */ struct fc_function_template { - void (*get_port_id)(struct scsi_device *); - void (*get_node_name)(struct scsi_device *); - void (*get_port_name)(struct scsi_device *); - /* The driver sets these to tell the transport class it + void (*get_starget_port_id)(struct scsi_target *); + void (*get_starget_node_name)(struct scsi_target *); + void (*get_starget_port_name)(struct scsi_target *); + void (*get_starget_dev_loss_tmo)(struct scsi_target *); + void (*set_starget_dev_loss_tmo)(struct scsi_target *, uint32_t); + + void (*get_host_link_down_tmo)(struct Scsi_Host *); + void (*set_host_link_down_tmo)(struct Scsi_Host *, uint32_t); + + /* + * The driver sets these to tell the transport class it * wants the attributes displayed in sysfs. If the show_ flag * is not set, the attribute will be private to the transport - * class */ - unsigned long show_port_id:1; - unsigned long show_node_name:1; - unsigned long show_port_name:1; + * class + */ + unsigned long show_starget_port_id:1; + unsigned long show_starget_node_name:1; + unsigned long show_starget_port_name:1; + unsigned long show_starget_dev_loss_tmo:1; + + unsigned long show_host_link_down_tmo:1; + /* Private Attributes */ }; struct scsi_transport_template *fc_attach_transport(struct fc_function_template *); void fc_release_transport(struct scsi_transport_template *); +int fc_target_block(struct scsi_target *starget); +void fc_target_unblock(struct scsi_target *starget); +int fc_host_block(struct Scsi_Host *shost); +void fc_host_unblock(struct Scsi_Host *shost); #endif /* SCSI_TRANSPORT_FC_H */ diff --git a/include/scsi/scsi_transport_spi.h b/include/scsi/scsi_transport_spi.h index 9a53b3cbc..877ec97b6 100644 --- a/include/scsi/scsi_transport_spi.h +++ b/include/scsi/scsi_transport_spi.h @@ -35,45 +35,80 @@ struct spi_transport_attrs { unsigned int rd_strm:1; /* Read streaming enabled */ unsigned int rti:1; /* Retain Training Information */ unsigned int pcomp_en:1;/* Precompensation enabled */ + unsigned int initial_dv:1; /* DV done to this target yet */ + unsigned long flags; /* flags field for drivers to use */ + /* Device Properties fields */ + unsigned int support_sync:1; /* synchronous support */ + unsigned int support_wide:1; /* wide support */ + unsigned int support_dt:1; /* allows DT phases */ + unsigned int support_dt_only; /* disallows ST phases */ + unsigned int support_ius; /* support Information Units */ + unsigned int support_qas; /* supports quick arbitration and selection */ /* Private Fields */ unsigned int dv_pending:1; /* Internal flag */ struct semaphore dv_sem; /* semaphore to serialise dv */ }; +enum spi_signal_type { + SPI_SIGNAL_UNKNOWN = 1, + SPI_SIGNAL_SE, + SPI_SIGNAL_LVD, + SPI_SIGNAL_HVD, +}; + +struct spi_host_attrs { + enum spi_signal_type signalling; +}; + /* accessor functions */ -#define spi_period(x) (((struct spi_transport_attrs *)&(x)->transport_data)->period) -#define spi_offset(x) (((struct spi_transport_attrs *)&(x)->transport_data)->offset) -#define spi_width(x) (((struct spi_transport_attrs *)&(x)->transport_data)->width) -#define spi_iu(x) (((struct spi_transport_attrs *)&(x)->transport_data)->iu) -#define spi_dt(x) (((struct spi_transport_attrs *)&(x)->transport_data)->dt) -#define spi_qas(x) (((struct spi_transport_attrs *)&(x)->transport_data)->qas) -#define spi_wr_flow(x) (((struct spi_transport_attrs *)&(x)->transport_data)->wr_flow) -#define spi_rd_strm(x) (((struct spi_transport_attrs *)&(x)->transport_data)->rd_strm) -#define spi_rti(x) (((struct spi_transport_attrs *)&(x)->transport_data)->rti) -#define spi_pcomp_en(x) (((struct spi_transport_attrs *)&(x)->transport_data)->pcomp_en) +#define spi_period(x) (((struct spi_transport_attrs *)&(x)->starget_data)->period) +#define spi_offset(x) (((struct spi_transport_attrs *)&(x)->starget_data)->offset) +#define spi_width(x) (((struct spi_transport_attrs *)&(x)->starget_data)->width) +#define spi_iu(x) (((struct spi_transport_attrs *)&(x)->starget_data)->iu) +#define spi_dt(x) (((struct spi_transport_attrs *)&(x)->starget_data)->dt) +#define spi_qas(x) (((struct spi_transport_attrs *)&(x)->starget_data)->qas) +#define spi_wr_flow(x) (((struct spi_transport_attrs *)&(x)->starget_data)->wr_flow) +#define spi_rd_strm(x) (((struct spi_transport_attrs *)&(x)->starget_data)->rd_strm) +#define spi_rti(x) (((struct spi_transport_attrs *)&(x)->starget_data)->rti) +#define spi_pcomp_en(x) (((struct spi_transport_attrs *)&(x)->starget_data)->pcomp_en) +#define spi_initial_dv(x) (((struct spi_transport_attrs *)&(x)->starget_data)->initial_dv) + +#define spi_support_sync(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_sync) +#define spi_support_wide(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_wide) +#define spi_support_dt(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_dt) +#define spi_support_dt_only(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_dt_only) +#define spi_support_ius(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_ius) +#define spi_support_qas(x) (((struct spi_transport_attrs *)&(x)->starget_data)->support_qas) + +#define spi_flags(x) (((struct spi_transport_attrs *)&(x)->starget_data)->flags) +#define spi_signalling(h) (((struct spi_host_attrs *)(h)->shost_data)->signalling) + + /* The functions by which the transport class and the driver communicate */ struct spi_function_template { - void (*get_period)(struct scsi_device *); - void (*set_period)(struct scsi_device *, int); - void (*get_offset)(struct scsi_device *); - void (*set_offset)(struct scsi_device *, int); - void (*get_width)(struct scsi_device *); - void (*set_width)(struct scsi_device *, int); - void (*get_iu)(struct scsi_device *); - void (*set_iu)(struct scsi_device *, int); - void (*get_dt)(struct scsi_device *); - void (*set_dt)(struct scsi_device *, int); - void (*get_qas)(struct scsi_device *); - void (*set_qas)(struct scsi_device *, int); - void (*get_wr_flow)(struct scsi_device *); - void (*set_wr_flow)(struct scsi_device *, int); - void (*get_rd_strm)(struct scsi_device *); - void (*set_rd_strm)(struct scsi_device *, int); - void (*get_rti)(struct scsi_device *); - void (*set_rti)(struct scsi_device *, int); - void (*get_pcomp_en)(struct scsi_device *); - void (*set_pcomp_en)(struct scsi_device *, int); + void (*get_period)(struct scsi_target *); + void (*set_period)(struct scsi_target *, int); + void (*get_offset)(struct scsi_target *); + void (*set_offset)(struct scsi_target *, int); + void (*get_width)(struct scsi_target *); + void (*set_width)(struct scsi_target *, int); + void (*get_iu)(struct scsi_target *); + void (*set_iu)(struct scsi_target *, int); + void (*get_dt)(struct scsi_target *); + void (*set_dt)(struct scsi_target *, int); + void (*get_qas)(struct scsi_target *); + void (*set_qas)(struct scsi_target *, int); + void (*get_wr_flow)(struct scsi_target *); + void (*set_wr_flow)(struct scsi_target *, int); + void (*get_rd_strm)(struct scsi_target *); + void (*set_rd_strm)(struct scsi_target *, int); + void (*get_rti)(struct scsi_target *); + void (*set_rti)(struct scsi_target *, int); + void (*get_pcomp_en)(struct scsi_target *); + void (*set_pcomp_en)(struct scsi_target *, int); + void (*get_signalling)(struct Scsi_Host *); + void (*set_signalling)(struct Scsi_Host *, enum spi_signal_type); /* The driver sets these to tell the transport class it * wants the attributes displayed in sysfs. If the show_ flag * is not set, the attribute will be private to the transport diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h index 3629059ad..bcdda71ac 100644 --- a/include/sound/ac97_codec.h +++ b/include/sound/ac97_codec.h @@ -364,11 +364,21 @@ #define AC97_RATES_MIC_ADC 4 #define AC97_RATES_SPDIF 5 +/* shared controllers */ +enum { + AC97_SHARED_TYPE_NONE, + AC97_SHARED_TYPE_ICH, + AC97_SHARED_TYPE_ATIIXP, + AC97_SHARED_TYPES +}; + /* * */ typedef struct _snd_ac97_bus ac97_bus_t; +typedef struct _snd_ac97_bus_ops ac97_bus_ops_t; +typedef struct _snd_ac97_template ac97_template_t; typedef struct _snd_ac97 ac97_t; enum ac97_pcm_cfg { @@ -405,29 +415,45 @@ struct snd_ac97_build_ops { int (*build_post_spdif) (ac97_t *ac97); }; -struct _snd_ac97_bus { - /* -- lowlevel (hardware) driver specific -- */ +struct _snd_ac97_bus_ops { void (*reset) (ac97_t *ac97); void (*write) (ac97_t *ac97, unsigned short reg, unsigned short val); unsigned short (*read) (ac97_t *ac97, unsigned short reg); void (*wait) (ac97_t *ac97); void (*init) (ac97_t *ac97); +}; + +struct _snd_ac97_bus { + /* -- lowlevel (hardware) driver specific -- */ + ac97_bus_ops_t *ops; void *private_data; void (*private_free) (ac97_bus_t *bus); /* --- */ snd_card_t *card; unsigned short num; /* bus number */ - unsigned short vra: 1, /* bridge supports VRA */ + unsigned short no_vra: 1, /* bridge doesn't support VRA */ isdin: 1;/* independent SDIN */ unsigned int clock; /* AC'97 base clock (usually 48000Hz) */ spinlock_t bus_lock; /* used mainly for slot allocation */ unsigned short used_slots[2][4]; /* actually used PCM slots */ unsigned short pcms_count; /* count of PCMs */ struct ac97_pcm *pcms; + unsigned int shared_type; /* type of shared controller betwen audio and modem */ ac97_t *codec[4]; snd_info_entry_t *proc; }; +struct _snd_ac97_template { + void *private_data; + void (*private_free) (ac97_t *ac97); + struct pci_dev *pci; /* assigned PCI device - used for quirks */ + unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ + unsigned short addr; /* physical address of codec [0-3] */ + unsigned int scaps; /* driver capabilities */ + unsigned int limited_regs; /* allow limited registers only */ + DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */ +}; + struct _snd_ac97 { /* -- lowlevel (hardware) driver specific -- */ struct snd_ac97_build_ops * build_ops; @@ -441,6 +467,7 @@ struct _snd_ac97 { unsigned short subsystem_vendor; unsigned short subsystem_device; spinlock_t reg_lock; + struct semaphore mutex; /* mutex for AD18xx multi-codecs and paging (2.3) */ unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ unsigned short addr; /* physical address of codec [0-3] */ unsigned int id; /* identification of codec */ @@ -461,7 +488,6 @@ struct _snd_ac97 { unsigned short id[3]; // codec IDs (lower 16-bit word) unsigned short pcmreg[3]; // PCM registers unsigned short codec_cfg[3]; // CODEC_CFG bits - struct semaphore mutex; } ad18xx; unsigned int dev_flags; /* device specific */ } spec; @@ -484,10 +510,14 @@ static inline int ac97_can_amap(ac97_t * ac97) { return (ac97->ext_id & AC97_EI_AMAP) != 0; } +static inline int ac97_can_spdif(ac97_t * ac97) +{ + return (ac97->ext_id & AC97_EI_SPDIF) != 0; +} /* functions */ -int snd_ac97_bus(snd_card_t * card, ac97_bus_t * _bus, ac97_bus_t ** rbus); /* create new AC97 bus */ -int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97); /* create mixer controls */ +int snd_ac97_bus(snd_card_t *card, int num, ac97_bus_ops_t *ops, void *private_data, ac97_bus_t **rbus); /* create new AC97 bus */ +int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97); /* create mixer controls */ void snd_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short value); unsigned short snd_ac97_read(ac97_t *ac97, unsigned short reg); diff --git a/include/sound/asound.h b/include/sound/asound.h index 23b27b73a..56d63b91b 100644 --- a/include/sound/asound.h +++ b/include/sound/asound.h @@ -275,7 +275,6 @@ enum sndrv_pcm_subformat { #define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000 /* only half duplex */ #define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000 /* playback and capture stream are somewhat correlated */ #define SNDRV_PCM_INFO_SYNC_START 0x00400000 /* pcm support some kind of sync go */ -#define SNDRV_PCM_INFO_NONATOMIC_OPS 0x00800000 /* non-atomic prepare callback */ enum sndrv_pcm_state { SNDRV_PCM_STATE_OPEN = 0, /* stream is open */ diff --git a/include/sound/core.h b/include/sound/core.h index caf1b3c85..846852299 100644 --- a/include/sound/core.h +++ b/include/sound/core.h @@ -211,23 +211,27 @@ int snd_card_set_dev_pm_callback(snd_card_t *card, int type, void *private_data); #define snd_card_set_isa_pm_callback(card,suspend,resume,data) \ snd_card_set_dev_pm_callback(card, PM_ISA_DEV, suspend, resume, data) +#ifdef CONFIG_PCI #ifndef SND_PCI_PM_CALLBACKS int snd_card_pci_suspend(struct pci_dev *dev, u32 state); int snd_card_pci_resume(struct pci_dev *dev); #define SND_PCI_PM_CALLBACKS \ .suspend = snd_card_pci_suspend, .resume = snd_card_pci_resume #endif +#endif #else #define snd_power_lock(card) do { (void)(card); } while (0) #define snd_power_unlock(card) do { (void)(card); } while (0) static inline int snd_power_wait(snd_card_t *card, unsigned int state, struct file *file) { return 0; } #define snd_power_get_state(card) SNDRV_CTL_POWER_D0 #define snd_power_change_state(card, state) do { (void)(card); } while (0) -#define snd_card_set_pm_callback(card,suspend,resume,data) -EINVAL -#define snd_card_set_dev_pm_callback(card,suspend,resume,data) -EINVAL -#define snd_card_set_isa_pm_callback(card,suspend,resume,data) -EINVAL +#define snd_card_set_pm_callback(card,suspend,resume,data) +#define snd_card_set_dev_pm_callback(card,suspend,resume,data) +#define snd_card_set_isa_pm_callback(card,suspend,resume,data) +#ifdef CONFIG_PCI #define SND_PCI_PM_CALLBACKS #endif +#endif /* device.c */ @@ -268,7 +272,7 @@ int snd_oss_init_module(void); #else #define snd_minor_info_oss_init() /*NOP*/ #define snd_minor_info_oss_done() /*NOP*/ -#define snd_oss_init_module() /*NOP*/ +#define snd_oss_init_module() 0 #endif /* memory.c */ @@ -279,10 +283,12 @@ void snd_memory_done(void); int snd_memory_info_init(void); int snd_memory_info_done(void); void *snd_hidden_kmalloc(size_t size, int flags); +void *snd_hidden_kcalloc(size_t n, size_t size, int flags); void snd_hidden_kfree(const void *obj); void *snd_hidden_vmalloc(unsigned long size); void snd_hidden_vfree(void *obj); #define kmalloc(size, flags) snd_hidden_kmalloc(size, flags) +#define kcalloc(n, size, flags) snd_hidden_kcalloc(n, size, flags) #define kfree(obj) snd_hidden_kfree(obj) #define vmalloc(size) snd_hidden_vmalloc(size) #define vfree(obj) snd_hidden_vfree(obj) @@ -300,7 +306,6 @@ void snd_hidden_vfree(void *obj); #define kfree_nocheck(obj) kfree(obj) #define vfree_nocheck(obj) vfree(obj) #endif -void *snd_kcalloc(size_t size, int flags); char *snd_kmalloc_strdup(const char *string, int flags); int copy_to_user_fromio(void __user *dst, unsigned long src, size_t count); int copy_from_user_toio(unsigned long dst, const void __user *src, size_t count); @@ -411,7 +416,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...) * not checked. */ #define snd_assert(expr, args...) do {\ - if (!(expr)) {\ + if (unlikely(!(expr))) { \ snd_printk("BUG? (%s) (called from %p)\n", __ASTRING__(expr), __builtin_return_address(0));\ args;\ }\ @@ -427,7 +432,7 @@ void snd_verbose_printd(const char *file, int line, const char *format, ...) * CONFIG_SND_DEBUG is not set but without any error messages. */ #define snd_runtime_check(expr, args...) do {\ - if (!(expr)) {\ + if (unlikely(!(expr))) { \ snd_printk("ERROR (%s) (called from %p)\n", __ASTRING__(expr), __builtin_return_address(0));\ args;\ }\ diff --git a/include/sound/cs46xx.h b/include/sound/cs46xx.h index 6f74f6d93..196592f10 100644 --- a/include/sound/cs46xx.h +++ b/include/sound/cs46xx.h @@ -24,6 +24,7 @@ */ #include "pcm.h" +#include "pcm-indirect.h" #include "rawmidi.h" #include "ac97_codec.h" #include "cs46xx_dsp_spos.h" @@ -1650,14 +1651,7 @@ typedef struct _snd_cs46xx_pcm_t { unsigned int ctl; unsigned int shift; /* Shift count to trasform frames in bytes */ - unsigned int sw_bufsize; - unsigned int sw_data; /* Offset to next dst (or src) in sw ring buffer */ - unsigned int sw_io; - int sw_ready; /* Bytes ready to be transferred to/from hw */ - unsigned int hw_data; /* Offset to next dst (or src) in hw ring buffer */ - unsigned int hw_io; /* Ring buffer hw pointer */ - int hw_ready; /* Bytes ready for play (or captured) in hw ring buffer */ - size_t appl_ptr; /* Last seen appl_ptr */ + snd_pcm_indirect_t pcm_rec; snd_pcm_substream_t *substream; pcm_channel_descriptor_t * pcm_channel; @@ -1695,14 +1689,7 @@ struct _snd_cs46xx { unsigned int ctl; unsigned int shift; /* Shift count to trasform frames in bytes */ - unsigned int sw_bufsize; - unsigned int sw_data; /* Offset to next dst (or src) in sw ring buffer */ - unsigned int sw_io; - int sw_ready; /* Bytes ready to be transferred to/from hw */ - unsigned int hw_data; /* Offset to next dst (or src) in hw ring buffer */ - unsigned int hw_io; /* Ring buffer hw pointer */ - int hw_ready; /* Bytes ready for play (or captured) in hw ring buffer */ - size_t appl_ptr; /* Last seen appl_ptr */ + snd_pcm_indirect_t pcm_rec; snd_pcm_substream_t *substream; } capt; @@ -1723,8 +1710,6 @@ struct _snd_cs46xx { unsigned int midcr; unsigned int uartm; - struct snd_dma_device dma_dev; - int amplifier; void (*amplifier_ctrl)(cs46xx_t *, int); void (*active_ctrl)(cs46xx_t *, int); diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h index 6182b7764..31b0df1fc 100644 --- a/include/sound/emu10k1.h +++ b/include/sound/emu10k1.h @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -887,10 +888,7 @@ typedef struct { unsigned char gpr_trigger; /* GPR containing trigger (activate) information (host) */ unsigned char gpr_running; /* GPR containing info if PCM is running (FX8010) */ unsigned char etram[32]; /* external TRAM address & data */ - unsigned int sw_data, hw_data; - unsigned int sw_io, hw_io; - unsigned int sw_ready, hw_ready; - unsigned int appl_ptr; + snd_pcm_indirect_t pcm_rec; unsigned int tram_pos; unsigned int tram_shift; snd_emu10k1_fx8010_irq_t *irq; @@ -935,11 +933,11 @@ struct _snd_emu10k1 { int irq; unsigned long port; /* I/O port number */ - struct resource *res_port; int APS: 1, /* APS flag */ no_ac97: 1, /* no AC'97 */ tos_link: 1, /* tos link detected */ - rear_ac97: 1; /* rear channels are on AC'97 */ + rear_ac97: 1, /* rear channels are on AC'97 */ + spk71:1; /* 7.1 configuration (Audigy 2 ZS) */ unsigned int audigy; /* is Audigy? */ unsigned int revision; /* chip revision */ unsigned int serial; /* serial number */ @@ -947,7 +945,6 @@ struct _snd_emu10k1 { unsigned int card_type; /* EMU10K1_CARD_* */ unsigned int ecard_ctrl; /* ecard control bits */ unsigned long dma_mask; /* PCI DMA mask */ - struct snd_dma_device dma_dev; /* DMA device description */ int max_cache_pages; /* max memory size / PAGE_SIZE */ struct snd_dma_buffer silent_page; /* silent page */ struct snd_dma_buffer ptb_pages; /* page table pages */ @@ -972,7 +969,6 @@ struct _snd_emu10k1 { snd_pcm_t *pcm; snd_pcm_t *pcm_mic; snd_pcm_t *pcm_efx; - snd_pcm_t *pcm_fx8010; spinlock_t synth_lock; void *synth; @@ -1069,6 +1065,15 @@ int snd_emu10k1_audigy_midi(emu10k1_t * emu); /* proc interface */ int snd_emu10k1_proc_init(emu10k1_t * emu); +/* fx8010 irq handler */ +int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, + snd_fx8010_irq_handler_t *handler, + unsigned char gpr_running, + void *private_data, + snd_emu10k1_fx8010_irq_t **r_irq); +int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, + snd_emu10k1_fx8010_irq_t *irq); + #endif /* __KERNEL__ */ /* @@ -1162,6 +1167,8 @@ int snd_emu10k1_proc_init(emu10k1_t * emu); #define FXBUS_PCM_RIGHT_FRONT 0x09 #define FXBUS_MIDI_REVERB 0x0c #define FXBUS_MIDI_CHORUS 0x0d +#define FXBUS_PCM_LEFT_SIDE 0x0e +#define FXBUS_PCM_RIGHT_SIDE 0x0f #define FXBUS_PT_LEFT 0x14 #define FXBUS_PT_RIGHT 0x15 @@ -1227,8 +1234,8 @@ int snd_emu10k1_proc_init(emu10k1_t * emu); #define A_EXTOUT_AFRONT_R 0x09 /* right */ #define A_EXTOUT_ACENTER 0x0a /* analog center */ #define A_EXTOUT_ALFE 0x0b /* analog LFE */ -/* 0x0c ?? */ -/* 0x0d ?? */ +#define A_EXTOUT_ASIDE_L 0x0c /* analog side left - Audigy 2 ZS */ +#define A_EXTOUT_ASIDE_R 0x0d /* right - Audigy 2 ZS */ #define A_EXTOUT_AREAR_L 0x0e /* analog rear left */ #define A_EXTOUT_AREAR_R 0x0f /* right */ #define A_EXTOUT_AC97_L 0x10 /* AC97 left (front) */ diff --git a/include/sound/initval.h b/include/sound/initval.h index acb0a7f95..2bf150882 100644 --- a/include/sound/initval.h +++ b/include/sound/initval.h @@ -21,20 +21,6 @@ * */ -#ifndef MODULE_GENERIC_STRING -#ifdef MODULE -#define MODULE_GENERIC_STRING(name, string) \ -static const char __module_generic_string_##name [] \ - __attribute__ ((unused, __section__(".modstring"))) = #name "=" string; -#else -#define MODULE_GENERIC_STRING(name, string) -#endif -#endif - -#define MODULE_CLASSES(val) MODULE_GENERIC_STRING(info_classes, val) -#define MODULE_DEVICES(val) MODULE_GENERIC_STRING(info_devices, val) -#define MODULE_PARM_SYNTAX(id, val) MODULE_GENERIC_STRING(info_parm_##id, val) - #define SNDRV_AUTO_PORT 1 #define SNDRV_AUTO_IRQ 0xffff #define SNDRV_AUTO_DMA 0xffff @@ -64,25 +50,6 @@ static const char __module_generic_string_##name [] \ #define SNDRV_DEFAULT_DMA_SIZE { [0 ... (SNDRV_CARDS-1)] = SNDRV_AUTO_DMA_SIZE } #define SNDRV_DEFAULT_PTR SNDRV_DEFAULT_STR -#define SNDRV_BOOLEAN_TRUE_DESC "allows:{{0,Disabled},{1,Enabled}},default:1,dialog:check" -#define SNDRV_BOOLEAN_FALSE_DESC "allows:{{0,Disabled},{1,Enabled}},default:0,dialog:check" - -#define SNDRV_ENABLED "enable:(enable)" - -#define SNDRV_INDEX_DESC SNDRV_ENABLED ",allows:{{0,7}},unique,skill:required,dialog:list" -#define SNDRV_ID_DESC SNDRV_ENABLED ",unique" -#define SNDRV_ENABLE_DESC SNDRV_BOOLEAN_FALSE_DESC -#define SNDRV_ISAPNP_DESC SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC -#define SNDRV_DMA8_DESC SNDRV_ENABLED ",allows:{{0,1},{3}},dialog:list" -#define SNDRV_DMA16_DESC SNDRV_ENABLED ",allows:{{5,7}},dialog:list" -#define SNDRV_DMA_DESC SNDRV_ENABLED ",allows:{{0,1},{3},{5,7}},dialog:list" -#define SNDRV_IRQ_DESC SNDRV_ENABLED ",allows:{{5},{7},{9},{10,12},{14,15}},dialog:list" -#define SNDRV_DMA_SIZE_DESC SNDRV_ENABLED ",allows:{{4,128}},default:64,skill:advanced" -#define SNDRV_DMA8_SIZE_DESC SNDRV_ENABLED ",allows:{{4, 64}},default:64,skill:advanced" -#define SNDRV_DMA16_SIZE_DESC SNDRV_ENABLED ",allows:{{4,128}},default:64,skill:advanced" -#define SNDRV_PORT12_DESC SNDRV_ENABLED ",allows:{{0,0x3fff}},base:16" -#define SNDRV_PORT_DESC SNDRV_ENABLED ",allows:{{0,0xffff}},base:16" - #ifdef SNDRV_LEGACY_AUTO_PROBE static int snd_legacy_auto_probe(unsigned long *ports, int (*probe)(unsigned long port)) { diff --git a/include/sound/timer.h b/include/sound/timer.h index fd33b802e..57fde9906 100644 --- a/include/sound/timer.h +++ b/include/sound/timer.h @@ -40,8 +40,7 @@ typedef struct sndrv_timer_status snd_timer_status_t; typedef struct sndrv_timer_read snd_timer_read_t; typedef struct sndrv_timer_tread snd_timer_tread_t; -#define _snd_timer_chip(timer) ((timer)->private_data) -#define snd_timer_chip(timer) snd_magic_cast1(chip_t, _snd_timer_chip(timer), return -ENXIO) +#define snd_timer_chip(timer) ((timer)->private_data) #define SNDRV_TIMER_DEVICES 16 diff --git a/include/sound/trident.h b/include/sound/trident.h index 255a5cbe6..7538ba6b3 100644 --- a/include/sound/trident.h +++ b/include/sound/trident.h @@ -398,7 +398,6 @@ struct _snd_trident { unsigned char bDMAStart; unsigned long port; - struct resource *res_port; unsigned long midi_port; unsigned int spurious_irq_count; diff --git a/include/sound/version.h b/include/sound/version.h index 9f7d0e930..ce09f8071 100644 --- a/include/sound/version.h +++ b/include/sound/version.h @@ -1,3 +1,3 @@ /* include/version.h. Generated by configure. */ -#define CONFIG_SND_VERSION "1.0.4" -#define CONFIG_SND_DATE " (Mon May 17 14:31:44 2004 UTC)" +#define CONFIG_SND_VERSION "1.0.6" +#define CONFIG_SND_DATE " (Sun Aug 15 07:17:53 2004 UTC)" diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h index cf2cd5ad6..1f4db1df1 100644 --- a/include/sound/ymfpci.h +++ b/include/sound/ymfpci.h @@ -316,7 +316,6 @@ struct _snd_ymfpci { struct gameport gameport; #endif - struct snd_dma_device dma_dev; struct snd_dma_buffer work_ptr; unsigned int bank_size_playback; diff --git a/include/video/neomagic.h b/include/video/neomagic.h index 21953f8bd..ab69ed7b9 100644 --- a/include/video/neomagic.h +++ b/include/video/neomagic.h @@ -69,6 +69,9 @@ #define NEO_ICON128_ENABLE 0x0000000C #define NEO_ICON_BLANK 0x00000010 +#define NEO_GR01_SUPPRESS_VSYNC 0x10 +#define NEO_GR01_SUPPRESS_HSYNC 0x20 + #ifdef __KERNEL__ #ifdef NEOFB_DEBUG diff --git a/init/Kconfig b/init/Kconfig index 5d28bb7df..0c2ab8b39 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1,4 +1,3 @@ - menu "Code maturity level options" config EXPERIMENTAL @@ -53,9 +52,18 @@ config BROKEN_ON_SMP endmenu - menu "General setup" +config LOCALVERSION + string "Local version - append to kernel release" + help + Append an extra string to the end of your kernel version. + This will show up when you type uname, for example. + The string you set here will be appended after the contents of + any files with a filename matching localversion* in your + object and source tree, in that order. Your total string can + be a maximum of 64 characters. + config SWAP bool "Support for paging of anonymous memory (swap)" depends on MMU @@ -125,7 +133,7 @@ config BSD_PROCESS_ACCT_V3 process and it's parent. Note that this file format is incompatible with previous v0/v1/v2 file formats, so you will need updated tools for processing it. A preliminary version of these tools is available - at . + at . menu "Class Based Kernel Resource Management" @@ -459,8 +467,21 @@ config CC_OPTIMIZE_FOR_SIZE If unsure, say N. +config SHMEM + default y + bool "Use full shmem filesystem" if EMBEDDED && MMU + help + The shmem is an internal filesystem used to manage shared memory. + It is backed by swap and manages resource limits. It is also exported + to userspace as tmpfs if TMPFS is enabled. Disabling this + option replaces shmem and tmpfs with the much simpler ramfs code, + which may be appropriate on small systems without swap. + endmenu # General setup +config TINY_SHMEM + default !SHMEM + bool menu "Loadable module support" @@ -526,6 +547,7 @@ config MODVERSIONS config MODULE_SIG bool "Module signature verification (EXPERIMENTAL)" depends on MODULES && EXPERIMENTAL + select CRYPTO select CRYPTO_SHA1 select CRYPTO_SIGNATURE help diff --git a/init/do_mounts_rd.c b/init/do_mounts_rd.c index 6f8900ee1..4abfc1c01 100644 --- a/init/do_mounts_rd.c +++ b/init/do_mounts_rd.c @@ -122,7 +122,8 @@ identify_ramdisk_image(int fd, int start_block) printk(KERN_NOTICE "RAMDISK: ext2 filesystem found at block %d\n", start_block); - nblocks = le32_to_cpu(ext2sb->s_blocks_count); + nblocks = le32_to_cpu(ext2sb->s_blocks_count) << + le32_to_cpu(ext2sb->s_log_block_size); goto done; } @@ -173,10 +174,15 @@ int __init rd_load_image(char *from) } /* - * NOTE NOTE: nblocks suppose that the blocksize is BLOCK_SIZE, so - * rd_load_image will work only with filesystem BLOCK_SIZE wide! - * So make sure to use 1k blocksize while generating ext2fs - * ramdisk-images. + * NOTE NOTE: nblocks is not actually blocks but + * the number of kibibytes of data to load into a ramdisk. + * So any ramdisk block size that is a multiple of 1KiB should + * work when the appropriate ramdisk_blocksize is specified + * on the command line. + * + * The default ramdisk_blocksize is 1KiB and it is generally + * silly to use anything else, so make sure to use 1KiB + * blocksize while generating ext2fs ramdisk-images. */ if (sys_ioctl(out_fd, BLKGETSIZE, (unsigned long)&rd_blocks) < 0) rd_blocks = 0; @@ -184,7 +190,7 @@ int __init rd_load_image(char *from) rd_blocks >>= 1; if (nblocks > rd_blocks) { - printk("RAMDISK: image too big! (%d/%ld blocks)\n", + printk("RAMDISK: image too big! (%dKiB/%ldKiB)\n", nblocks, rd_blocks); goto done; } @@ -211,7 +217,7 @@ int __init rd_load_image(char *from) goto done; } - printk(KERN_NOTICE "RAMDISK: Loading %d blocks [%ld disk%s] into ram disk... ", + printk(KERN_NOTICE "RAMDISK: Loading %dKiB [%ld disk%s] into ram disk... ", nblocks, ((nblocks-1)/devblocks)+1, nblocks>devblocks ? "s" : ""); for (i = 0, disk = 1; i < nblocks; i++) { if (i && (i % devblocks == 0)) { diff --git a/init/main.c b/init/main.c index 6416eab8d..764ff0a53 100644 --- a/init/main.c +++ b/init/main.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -101,6 +102,11 @@ extern void free_initmem(void); extern void populate_rootfs(void); extern void driver_init(void); extern void prepare_namespace(void); +#ifdef CONFIG_ACPI +extern void acpi_early_init(void); +#else +static inline void acpi_early_init(void) { } +#endif #ifdef CONFIG_TC extern void tc_init(void); @@ -122,8 +128,8 @@ unsigned long *kernel_magic = &_end; /* * Boot command-line arguments */ -#define MAX_INIT_ARGS 8 -#define MAX_INIT_ENVS 8 +#define MAX_INIT_ARGS 32 +#define MAX_INIT_ENVS 32 extern void time_init(void); /* Default late time init is NULL. archs can override this later. */ @@ -168,8 +174,6 @@ static char * argv_init[MAX_INIT_ARGS+2] = { "init", NULL, }; char * envp_init[MAX_INIT_ENVS+2] = { "HOME=/", "TERM=linux", NULL, }; static const char *panic_later, *panic_param; -__setup("profile=", profile_setup); - static int __init obsolete_checksetup(char *line) { struct obs_kernel_param *p; @@ -196,15 +200,28 @@ static int __init obsolete_checksetup(char *line) return 0; } -/* this should be approx 2 Bo*oMips to start (note initial shift), and will - still work even if initially too large, it will just take slightly longer */ +static unsigned long preset_lpj; +static int __init lpj_setup(char *str) +{ + preset_lpj = simple_strtoul(str,NULL,0); + return 1; +} + +__setup("lpj=", lpj_setup); + +/* + * This should be approx 2 Bo*oMips to start (note initial shift), and will + * still work even if initially too large, it will just take slightly longer + */ unsigned long loops_per_jiffy = (1<<12); EXPORT_SYMBOL(loops_per_jiffy); -/* This is the number of bits of precision for the loops_per_jiffy. Each - bit takes on average 1.5/HZ seconds. This (like the original) is a little - better than 1% */ +/* + * This is the number of bits of precision for the loops_per_jiffy. Each + * bit takes on average 1.5/HZ seconds. This (like the original) is a little + * better than 1% + */ #define LPS_PREC 8 void __devinit calibrate_delay(void) @@ -212,40 +229,53 @@ void __devinit calibrate_delay(void) unsigned long ticks, loopbit; int lps_precision = LPS_PREC; - loops_per_jiffy = (1<<12); - - printk("Calibrating delay loop... "); - while ((loops_per_jiffy <<= 1) != 0) { - /* wait for "start of" clock tick */ - ticks = jiffies; - while (ticks == jiffies) - /* nothing */; - /* Go .. */ - ticks = jiffies; - __delay(loops_per_jiffy); - ticks = jiffies - ticks; - if (ticks) - break; - } + if (preset_lpj) { + loops_per_jiffy = preset_lpj; + printk("Calibrating delay loop (skipped)... " + "%lu.%02lu BogoMIPS preset\n", + loops_per_jiffy/(500000/HZ), + (loops_per_jiffy/(5000/HZ)) % 100); + } else { + loops_per_jiffy = (1<<12); + + printk(KERN_DEBUG "Calibrating delay loop... "); + while ((loops_per_jiffy <<= 1) != 0) { + /* wait for "start of" clock tick */ + ticks = jiffies; + while (ticks == jiffies) + /* nothing */; + /* Go .. */ + ticks = jiffies; + __delay(loops_per_jiffy); + ticks = jiffies - ticks; + if (ticks) + break; + } + + /* + * Do a binary approximation to get loops_per_jiffy set to + * equal one clock (up to lps_precision bits) + */ + loops_per_jiffy >>= 1; + loopbit = loops_per_jiffy; + while (lps_precision-- && (loopbit >>= 1)) { + loops_per_jiffy |= loopbit; + ticks = jiffies; + while (ticks == jiffies) + /* nothing */; + ticks = jiffies; + __delay(loops_per_jiffy); + if (jiffies != ticks) /* longer than 1 tick */ + loops_per_jiffy &= ~loopbit; + } -/* Do a binary approximation to get loops_per_jiffy set to equal one clock - (up to lps_precision bits) */ - loops_per_jiffy >>= 1; - loopbit = loops_per_jiffy; - while ( lps_precision-- && (loopbit >>= 1) ) { - loops_per_jiffy |= loopbit; - ticks = jiffies; - while (ticks == jiffies); - ticks = jiffies; - __delay(loops_per_jiffy); - if (jiffies != ticks) /* longer than 1 tick */ - loops_per_jiffy &= ~loopbit; + /* Round the value and print it */ + printk("%lu.%02lu BogoMIPS (lpj=%lu)\n", + loops_per_jiffy/(500000/HZ), + (loops_per_jiffy/(5000/HZ)) % 100, + loops_per_jiffy); } -/* Round the value and print it */ - printk("%lu.%02lu BogoMIPS\n", - loops_per_jiffy/(500000/HZ), - (loops_per_jiffy/(5000/HZ)) % 100); } static int __init debug_kernel(char *str) @@ -267,20 +297,26 @@ static int __init quiet_kernel(char *str) __setup("debug", debug_kernel); __setup("quiet", quiet_kernel); -/* Unknown boot options get handed to init, unless they look like - failed parameters */ +/* + * Unknown boot options get handed to init, unless they look like + * failed parameters + */ static int __init unknown_bootoption(char *param, char *val) { /* Change NUL term back to "=", to make "param" the whole string. */ - if (val) - val[-1] = '='; + if (val) { + if (val[-1] == '"') val[-2] = '='; + else val[-1] = '='; + } /* Handle obsolete-style parameters */ if (obsolete_checksetup(param)) return 0; - /* Preemptive maintenance for "why didn't my mispelled command - line work?" */ + /* + * Preemptive maintenance for "why didn't my mispelled command + * line work?" + */ if (strchr(param, '.') && (!val || strchr(param, '.') < val)) { printk(KERN_ERR "Unknown boot option `%s': ignoring\n", param); return 0; @@ -320,7 +356,8 @@ static int __init init_setup(char *str) unsigned int i; execute_command = str; - /* In case LILO is going to boot us with default command line, + /* + * In case LILO is going to boot us with default command line, * it prepends "auto" before the whole cmdline which makes * the shell think it should execute a script with such name. * So we ignore all arguments entered _before_ init=... [MJ] @@ -484,7 +521,6 @@ asmlinkage void __init start_kernel(void) * time - but meanwhile we still have a functioning scheduler. */ sched_init(); - build_all_zonelists(); page_alloc_init(); printk("Kernel command line: %s\n", saved_command_line); @@ -555,12 +591,7 @@ asmlinkage void __init start_kernel(void) check_bugs(); - /* - * We count on the initial thread going ok - * Like idlers init is an unlocked kernel thread, which will - * make syscalls (and thus be locked). - */ - init_idle(current, smp_processor_id()); + acpi_early_init(); /* before LAPIC and SMP init */ /* Do the rest non-__init'ed, we're now alive */ rest_init(); @@ -623,6 +654,10 @@ static void __init do_initcalls(void) */ static void __init do_basic_setup(void) { + /* drivers will send hotplug events */ + init_workqueues(); + usermodehelper_init(); + driver_init(); #ifdef CONFIG_SYSCTL @@ -632,7 +667,6 @@ static void __init do_basic_setup(void) /* Networking initialization needs a process context */ sock_init(); - init_workqueues(); do_initcalls(); } diff --git a/ipc/mqueue.c b/ipc/mqueue.c index c9ea777b1..aee2696c3 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -828,7 +828,7 @@ asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *u_msg_ptr, /* First try to allocate memory, before doing anything with * existing queues. */ msg_ptr = load_msg(u_msg_ptr, msg_len); - if (unlikely(IS_ERR(msg_ptr))) { + if (IS_ERR(msg_ptr)) { ret = PTR_ERR(msg_ptr); goto out_fput; } diff --git a/ipc/msg.c b/ipc/msg.c index c4d3b2a7a..91e292402 100644 --- a/ipc/msg.c +++ b/ipc/msg.c @@ -103,14 +103,14 @@ static int newque (key_t key, int msgflg) msq->q_perm.security = NULL; retval = security_msg_queue_alloc(msq); if (retval) { - ipc_rcu_free(msq, sizeof(*msq)); + ipc_rcu_putref(msq); return retval; } id = ipc_addid(&msg_ids, &msq->q_perm, msg_ctlmni); if(id == -1) { security_msg_queue_free(msq); - ipc_rcu_free(msq, sizeof(*msq)); + ipc_rcu_putref(msq); return -ENOSPC; } @@ -166,8 +166,10 @@ static void expunge_all(struct msg_queue* msq, int res) msr = list_entry(tmp,struct msg_receiver,r_list); tmp = tmp->next; - msr->r_msg = ERR_PTR(res); + msr->r_msg = NULL; wake_up_process(msr->r_tsk); + smp_mb(); + msr->r_msg = ERR_PTR(res); } } /* @@ -196,7 +198,7 @@ static void freeque (struct msg_queue *msq, int id) } atomic_sub(msq->q_cbytes, &msg_bytes); security_msg_queue_free(msq); - ipc_rcu_free(msq, sizeof(struct msg_queue)); + ipc_rcu_putref(msq); } asmlinkage long sys_msgget (key_t key, int msgflg) @@ -528,13 +530,17 @@ static inline int pipelined_send(struct msg_queue* msq, struct msg_msg* msg) !security_msg_queue_msgrcv(msq, msg, msr->r_tsk, msr->r_msgtype, msr->r_mode)) { list_del(&msr->r_list); if(msr->r_maxsize < msg->m_ts) { - msr->r_msg = ERR_PTR(-E2BIG); + msr->r_msg = NULL; wake_up_process(msr->r_tsk); + smp_mb(); + msr->r_msg = ERR_PTR(-E2BIG); } else { - msr->r_msg = msg; + msr->r_msg = NULL; msq->q_lrpid = msr->r_tsk->pid; msq->q_rtime = get_seconds(); wake_up_process(msr->r_tsk); + smp_mb(); + msr->r_msg = msg; return 1; } } @@ -567,43 +573,49 @@ asmlinkage long sys_msgsnd (int msqid, struct msgbuf __user *msgp, size_t msgsz, err=-EINVAL; if(msq==NULL) goto out_free; -retry: + err= -EIDRM; if (msg_checkid(msq,msqid)) goto out_unlock_free; - err=-EACCES; - if (ipcperms(&msq->q_perm, S_IWUGO)) - goto out_unlock_free; + for (;;) { + struct msg_sender s; - err = security_msg_queue_msgsnd(msq, msg, msgflg); - if (err) - goto out_unlock_free; + err=-EACCES; + if (ipcperms(&msq->q_perm, S_IWUGO)) + goto out_unlock_free; - if(msgsz + msq->q_cbytes > msq->q_qbytes || - 1 + msq->q_qnum > msq->q_qbytes) { - struct msg_sender s; + err = security_msg_queue_msgsnd(msq, msg, msgflg); + if (err) + goto out_unlock_free; + if(msgsz + msq->q_cbytes <= msq->q_qbytes && + 1 + msq->q_qnum <= msq->q_qbytes) { + break; + } + + /* queue full, wait: */ if(msgflg&IPC_NOWAIT) { err=-EAGAIN; goto out_unlock_free; } ss_add(msq, &s); + ipc_rcu_getref(msq); msg_unlock(msq); schedule(); - current->state= TASK_RUNNING; - msq = msg_lock(msqid); - err = -EIDRM; - if(msq==NULL) - goto out_free; + ipc_lock_by_ptr(&msq->q_perm); + ipc_rcu_putref(msq); + if (msq->q_perm.deleted) { + err = -EIDRM; + goto out_unlock_free; + } ss_del(&s); if (signal_pending(current)) { - err=-EINTR; + err=-ERESTARTNOHAND; goto out_unlock_free; } - goto retry; } msq->q_lspid = current->tgid; @@ -652,10 +664,7 @@ asmlinkage long sys_msgrcv (int msqid, struct msgbuf __user *msgp, size_t msgsz, long msgtyp, int msgflg) { struct msg_queue *msq; - struct msg_receiver msr_d; - struct list_head* tmp; - struct msg_msg* msg, *found_msg; - int err; + struct msg_msg *msg; int mode; if (msqid < 0 || (long) msgsz < 0) @@ -665,62 +674,57 @@ asmlinkage long sys_msgrcv (int msqid, struct msgbuf __user *msgp, size_t msgsz, msq = msg_lock(msqid); if(msq==NULL) return -EINVAL; -retry: - err = -EIDRM; + + msg = ERR_PTR(-EIDRM); if (msg_checkid(msq,msqid)) goto out_unlock; - err=-EACCES; - if (ipcperms (&msq->q_perm, S_IRUGO)) - goto out_unlock; + for (;;) { + struct msg_receiver msr_d; + struct list_head* tmp; - tmp = msq->q_messages.next; - found_msg=NULL; - while (tmp != &msq->q_messages) { - msg = list_entry(tmp,struct msg_msg,m_list); - if(testmsg(msg,msgtyp,mode) && - !security_msg_queue_msgrcv(msq, msg, current, msgtyp, mode)) { - found_msg = msg; - if(mode == SEARCH_LESSEQUAL && msg->m_type != 1) { - found_msg=msg; - msgtyp=msg->m_type-1; - } else { - found_msg=msg; - break; - } - } - tmp = tmp->next; - } - if(found_msg) { - msg=found_msg; - if ((msgsz < msg->m_ts) && !(msgflg & MSG_NOERROR)) { - err=-E2BIG; + msg = ERR_PTR(-EACCES); + if (ipcperms (&msq->q_perm, S_IRUGO)) goto out_unlock; + + msg = ERR_PTR(-EAGAIN); + tmp = msq->q_messages.next; + while (tmp != &msq->q_messages) { + struct msg_msg *walk_msg; + walk_msg = list_entry(tmp,struct msg_msg,m_list); + if(testmsg(walk_msg,msgtyp,mode) && + !security_msg_queue_msgrcv(msq, walk_msg, current, msgtyp, mode)) { + msg = walk_msg; + if(mode == SEARCH_LESSEQUAL && walk_msg->m_type != 1) { + msg=walk_msg; + msgtyp=walk_msg->m_type-1; + } else { + msg=walk_msg; + break; + } + } + tmp = tmp->next; } - list_del(&msg->m_list); - msq->q_qnum--; - msq->q_rtime = get_seconds(); - msq->q_lrpid = current->tgid; - msq->q_cbytes -= msg->m_ts; - atomic_sub(msg->m_ts,&msg_bytes); - atomic_dec(&msg_hdrs); - ss_wakeup(&msq->q_senders,0); - msg_unlock(msq); -out_success: - msgsz = (msgsz > msg->m_ts) ? msg->m_ts : msgsz; - if (put_user (msg->m_type, &msgp->mtype) || - store_msg(msgp->mtext, msg, msgsz)) { - msgsz = -EFAULT; + if(!IS_ERR(msg)) { + /* Found a suitable message. Unlink it from the queue. */ + if ((msgsz < msg->m_ts) && !(msgflg & MSG_NOERROR)) { + msg = ERR_PTR(-E2BIG); + goto out_unlock; + } + list_del(&msg->m_list); + msq->q_qnum--; + msq->q_rtime = get_seconds(); + msq->q_lrpid = current->tgid; + msq->q_cbytes -= msg->m_ts; + atomic_sub(msg->m_ts,&msg_bytes); + atomic_dec(&msg_hdrs); + ss_wakeup(&msq->q_senders,0); + msg_unlock(msq); + break; } - free_msg(msg); - return msgsz; - } else - { - /* no message waiting. Prepare for pipelined - * receive. - */ + /* No message waiting. Wait for a message */ if (msgflg & IPC_NOWAIT) { - err=-ENOMSG; + msg = ERR_PTR(-ENOMSG); goto out_unlock; } list_add_tail(&msr_d.r_list,&msq->q_receivers); @@ -730,52 +734,75 @@ out_success: if(msgflg & MSG_NOERROR) msr_d.r_maxsize = INT_MAX; else - msr_d.r_maxsize = msgsz; + msr_d.r_maxsize = msgsz; msr_d.r_msg = ERR_PTR(-EAGAIN); current->state = TASK_INTERRUPTIBLE; msg_unlock(msq); schedule(); - /* - * The below optimisation is buggy. A sleeping thread that is - * woken up checks if it got a message and if so, copies it to - * userspace and just returns without taking any locks. - * But this return to user space can be faster than the message - * send, and if the receiver immediately exits the - * wake_up_process performed by the sender will oops. + /* Lockless receive, part 1: + * Disable preemption. We don't hold a reference to the queue + * and getting a reference would defeat the idea of a lockless + * operation, thus the code relies on rcu to guarantee the + * existance of msq: + * Prior to destruction, expunge_all(-EIRDM) changes r_msg. + * Thus if r_msg is -EAGAIN, then the queue not yet destroyed. + * rcu_read_lock() prevents preemption between reading r_msg + * and the spin_lock() inside ipc_lock_by_ptr(). + */ + rcu_read_lock(); + + /* Lockless receive, part 2: + * Wait until pipelined_send or expunge_all are outside of + * wake_up_process(). There is a race with exit(), see + * ipc/mqueue.c for the details. */ -#if 0 msg = (struct msg_msg*) msr_d.r_msg; - if(!IS_ERR(msg)) - goto out_success; -#endif + while (msg == NULL) { + cpu_relax(); + msg = (struct msg_msg*) msr_d.r_msg; + } + /* Lockless receive, part 3: + * If there is a message or an error then accept it without + * locking. + */ + if(msg != ERR_PTR(-EAGAIN)) { + rcu_read_unlock(); + break; + } - msq = msg_lock(msqid); + /* Lockless receive, part 3: + * Acquire the queue spinlock. + */ + ipc_lock_by_ptr(&msq->q_perm); + rcu_read_unlock(); + + /* Lockless receive, part 4: + * Repeat test after acquiring the spinlock. + */ msg = (struct msg_msg*)msr_d.r_msg; - if(!IS_ERR(msg)) { - /* our message arived while we waited for - * the spinlock. Process it. - */ - if(msq) - msg_unlock(msq); - goto out_success; - } - err = PTR_ERR(msg); - if(err == -EAGAIN) { - if(!msq) - BUG(); - list_del(&msr_d.r_list); - if (signal_pending(current)) - err=-EINTR; - else - goto retry; + if(msg != ERR_PTR(-EAGAIN)) + goto out_unlock; + + list_del(&msr_d.r_list); + if (signal_pending(current)) { + msg = ERR_PTR(-ERESTARTNOHAND); +out_unlock: + msg_unlock(msq); + break; } } -out_unlock: - if(msq) - msg_unlock(msq); - return err; + if (IS_ERR(msg)) + return PTR_ERR(msg); + + msgsz = (msgsz > msg->m_ts) ? msg->m_ts : msgsz; + if (put_user (msg->m_type, &msgp->mtype) || + store_msg(msgp->mtext, msg, msgsz)) { + msgsz = -EFAULT; + } + free_msg(msg); + return msgsz; } #ifdef CONFIG_PROC_FS @@ -794,7 +821,7 @@ static int sysvipc_msg_read_proc(char *buffer, char **start, off_t offset, int l if (msq) { if (!vx_check(msq->q_perm.xid, VX_IDENT)) { msg_unlock(msq); - continue; + continue; } len += sprintf(buffer + len, "%10d %10d %4o %10lu %10lu %5u %5u %5u %5u %5u %5u %10lu %10lu %10lu\n", msq->q_perm.key, diff --git a/ipc/sem.c b/ipc/sem.c index 71936c913..7cde4c65c 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -182,14 +182,14 @@ static int newary (key_t key, int nsems, int semflg) sma->sem_perm.security = NULL; retval = security_sem_alloc(sma); if (retval) { - ipc_rcu_free(sma, size); + ipc_rcu_putref(sma); return retval; } id = ipc_addid(&sem_ids, &sma->sem_perm, sc_semmni); if(id == -1) { security_sem_free(sma); - ipc_rcu_free(sma, size); + ipc_rcu_putref(sma); return -ENOSPC; } used_sems += nsems; @@ -244,25 +244,6 @@ asmlinkage long sys_semget (key_t key, int nsems, int semflg) return err; } -/* doesn't acquire the sem_lock on error! */ -static int sem_revalidate(int semid, struct sem_array* sma, int nsems, short flg) -{ - struct sem_array* smanew; - - smanew = sem_lock(semid); - if(smanew==NULL) - return -EIDRM; - if(smanew != sma || sem_checkid(sma,semid) || sma->sem_nsems != nsems) { - sem_unlock(smanew); - return -EIDRM; - } - - if (flg && ipcperms(&sma->sem_perm, flg)) { - sem_unlock(smanew); - return -EACCES; - } - return 0; -} /* Manage the doubly linked list sma->sem_pending as a FIFO: * insert new queue elements at the tail sma->sem_pending_last. */ @@ -379,8 +360,22 @@ static void update_queue (struct sem_array * sma) if (error <= 0) { struct sem_queue *n; remove_from_queue(sma,q); - n = q->next; q->status = IN_WAKEUP; + /* + * Continue scanning. The next operation + * that must be checked depends on the type of the + * completed operation: + * - if the operation modified the array, then + * restart from the head of the queue and + * check for threads that might be waiting + * for semaphore values to become 0. + * - if the operation didn't modify the array, + * then just continue. + */ + if (q->alter) + n = sma->sem_pending; + else + n = q->next; wake_up_process(q->sleeper); /* hands-off: q will disappear immediately after * writing q->status. @@ -476,7 +471,7 @@ static void freeary (struct sem_array *sma, int id) used_sems -= sma->sem_nsems; size = sizeof (*sma) + sma->sem_nsems * sizeof (struct sem); security_sem_free(sma); - ipc_rcu_free(sma, size); + ipc_rcu_putref(sma); } static unsigned long copy_semid_to_user(void __user *buf, struct semid64_ds *in, int version) @@ -617,13 +612,24 @@ static int semctl_main(int semid, int semnum, int cmd, int version, union semun int i; if(nsems > SEMMSL_FAST) { + ipc_rcu_getref(sma); sem_unlock(sma); + sem_io = ipc_alloc(sizeof(ushort)*nsems); - if(sem_io == NULL) + if(sem_io == NULL) { + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + sem_unlock(sma); return -ENOMEM; - err = sem_revalidate(semid, sma, nsems, S_IRUGO); - if(err) + } + + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + if (sma->sem_perm.deleted) { + sem_unlock(sma); + err = -EIDRM; goto out_free; + } } for (i = 0; i < sma->sem_nsems; i++) @@ -639,28 +645,43 @@ static int semctl_main(int semid, int semnum, int cmd, int version, union semun int i; struct sem_undo *un; + ipc_rcu_getref(sma); sem_unlock(sma); if(nsems > SEMMSL_FAST) { sem_io = ipc_alloc(sizeof(ushort)*nsems); - if(sem_io == NULL) + if(sem_io == NULL) { + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + sem_unlock(sma); return -ENOMEM; + } } if (copy_from_user (sem_io, arg.array, nsems*sizeof(ushort))) { + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + sem_unlock(sma); err = -EFAULT; goto out_free; } for (i = 0; i < nsems; i++) { if (sem_io[i] > SEMVMX) { + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + sem_unlock(sma); err = -ERANGE; goto out_free; } } - err = sem_revalidate(semid, sma, nsems, S_IWUGO); - if(err) + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + if (sma->sem_perm.deleted) { + sem_unlock(sma); + err = -EIDRM; goto out_free; + } for (i = 0; i < nsems; i++) sma->sem_base[i].semval = sem_io[i]; @@ -980,11 +1001,16 @@ static struct sem_undo *find_undo(int semid) goto out; } nsems = sma->sem_nsems; + ipc_rcu_getref(sma); sem_unlock(sma); new = (struct sem_undo *) kmalloc(sizeof(struct sem_undo) + sizeof(short)*nsems, GFP_KERNEL); - if (!new) + if (!new) { + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + sem_unlock(sma); return ERR_PTR(-ENOMEM); + } memset(new, 0, sizeof(struct sem_undo) + sizeof(short)*nsems); new->semadj = (short *) &new[1]; new->semid = semid; @@ -994,13 +1020,18 @@ static struct sem_undo *find_undo(int semid) if (un) { unlock_semundo(); kfree(new); + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + sem_unlock(sma); goto out; } - error = sem_revalidate(semid, sma, nsems, 0); - if (error) { + ipc_lock_by_ptr(&sma->sem_perm); + ipc_rcu_putref(sma); + if (sma->sem_perm.deleted) { + sem_unlock(sma); unlock_semundo(); kfree(new); - un = ERR_PTR(error); + un = ERR_PTR(-EIDRM); goto out; } new->proc_next = ulp->proc_list; @@ -1104,8 +1135,11 @@ retry_undos: goto out_unlock_free; error = try_atomic_semop (sma, sops, nsops, un, current->tgid); - if (error <= 0) - goto update; + if (error <= 0) { + if (alter && error == 0) + update_queue (sma); + goto out_unlock_free; + } /* We need to sleep on this operation, so we put the current * task into the pending queue and go to sleep. @@ -1117,6 +1151,7 @@ retry_undos: queue.undo = un; queue.pid = current->tgid; queue.id = semid; + queue.alter = alter; if (alter) append_to_queue(sma ,&queue); else @@ -1168,9 +1203,6 @@ retry_undos: remove_from_queue(sma,&queue); goto out_unlock_free; -update: - if (alter) - update_queue (sma); out_unlock_free: sem_unlock(sma); out_free: @@ -1272,8 +1304,23 @@ found: struct sem * sem = &sma->sem_base[i]; if (u->semadj[i]) { sem->semval += u->semadj[i]; + /* + * Range checks of the new semaphore value, + * not defined by sus: + * - Some unices ignore the undo entirely + * (e.g. HP UX 11i 11.22, Tru64 V5.1) + * - some cap the value (e.g. FreeBSD caps + * at 0, but doesn't enforce SEMVMX) + * + * Linux caps the semaphore value, both at 0 + * and at SEMVMX. + * + * Manfred + */ if (sem->semval < 0) - sem->semval = 0; /* shouldn't happen */ + sem->semval = 0; + if (sem->semval > SEMVMX) + sem->semval = SEMVMX; sem->sempid = current->tgid; } } diff --git a/ipc/shm.c b/ipc/shm.c index f763a021d..54a50c29d 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -80,7 +80,7 @@ static inline struct shmid_kernel *shm_rmid(int id) static inline int shm_addid(struct shmid_kernel *shp) { - return ipc_addid(&shm_ids, &shp->shm_perm, shm_ctlmni+1); + return ipc_addid(&shm_ids, &shp->shm_perm, shm_ctlmni); } @@ -122,7 +122,7 @@ static void shm_destroy (struct shmid_kernel *shp) shp->mlock_user); fput (shp->shm_file); security_shm_free(shp); - ipc_rcu_free(shp, sizeof(struct shmid_kernel)); + ipc_rcu_putref(shp); } /* @@ -201,7 +201,7 @@ static int newseg (key_t key, int shmflg, size_t size) shp->shm_perm.security = NULL; error = security_shm_alloc(shp); if (error) { - ipc_rcu_free(shp, sizeof(*shp)); + ipc_rcu_putref(shp); return error; } @@ -243,7 +243,7 @@ no_id: fput(file); no_file: security_shm_free(shp); - ipc_rcu_free(shp, sizeof(*shp)); + ipc_rcu_putref(shp); return error; } @@ -691,6 +691,10 @@ long do_shmat(int shmid, char __user *shmaddr, int shmflg, ulong *raddr) o_flags = O_RDWR; acc_mode = S_IRUGO | S_IWUGO; } + if (shmflg & SHM_EXEC) { + prot |= PROT_EXEC; + acc_mode |= S_IXUGO; + } /* * We cannot rely on the fs check since SYSV IPC does have an @@ -865,7 +869,7 @@ static int sysvipc_shm_read_proc(char *buffer, char **start, off_t offset, int l if (!vx_check(shp->shm_perm.xid, VX_IDENT)) { shm_unlock(shp); - continue; + continue; } if (sizeof(size_t) <= sizeof(int)) format = SMALL_STRING; diff --git a/ipc/util.c b/ipc/util.c index dbaf6d5e4..84453b33d 100644 --- a/ipc/util.c +++ b/ipc/util.c @@ -103,7 +103,7 @@ int ipc_findkey(struct ipc_ids* ids, key_t key) int max_id = ids->max_id; /* - * read_barrier_depends is not needed here + * rcu_dereference() is not needed here * since ipc_ids.sem is held */ for (id = 0; id <= max_id; id++) { @@ -111,7 +111,7 @@ int ipc_findkey(struct ipc_ids* ids, key_t key) if (p==NULL) continue; if (!vx_check(p->xid, VX_IDENT)) - continue; + continue; if (key == p->key) return id; } @@ -140,7 +140,6 @@ static int grow_ary(struct ipc_ids* ids, int newsize) new[i].p = NULL; } old = ids->entries; - i = ids->size; /* * before setting the ids->entries to the new array, there must be a @@ -152,7 +151,7 @@ static int grow_ary(struct ipc_ids* ids, int newsize) smp_wmb(); /* prevent indexing into old array based on new size. */ ids->size = newsize; - ipc_rcu_free(old, sizeof(struct ipc_id)*i); + ipc_rcu_putref(old); return ids->size; } @@ -177,7 +176,7 @@ int ipc_addid(struct ipc_ids* ids, struct kern_ipc_perm* new, int size) size = grow_ary(ids,size); /* - * read_barrier_depends() is not needed here since + * rcu_dereference()() is not needed here since * ipc_ids.sem is held */ for (id = 0; id < size; id++) { @@ -226,7 +225,7 @@ struct kern_ipc_perm* ipc_rmid(struct ipc_ids* ids, int id) BUG(); /* - * do not need a read_barrier_depends() here to force ordering + * do not need a rcu_dereference()() here to force ordering * on Alpha, since the ipc_ids.sem is held. */ p = ids->entries[lid].p; @@ -282,25 +281,47 @@ void ipc_free(void* ptr, int size) kfree(ptr); } -struct ipc_rcu_kmalloc +/* + * rcu allocations: + * There are three headers that are prepended to the actual allocation: + * - during use: ipc_rcu_hdr. + * - during the rcu grace period: ipc_rcu_grace. + * - [only if vmalloc]: ipc_rcu_sched. + * Their lifetime doesn't overlap, thus the headers share the same memory. + * Unlike a normal union, they are right-aligned, thus some container_of + * forward/backward casting is necessary: + */ +struct ipc_rcu_hdr +{ + int refcount; + int is_vmalloc; + void *data[0]; +}; + + +struct ipc_rcu_grace { struct rcu_head rcu; /* "void *" makes sure alignment of following data is sane. */ void *data[0]; }; -struct ipc_rcu_vmalloc +struct ipc_rcu_sched { - struct rcu_head rcu; struct work_struct work; /* "void *" makes sure alignment of following data is sane. */ void *data[0]; }; +#define HDRLEN_KMALLOC (sizeof(struct ipc_rcu_grace) > sizeof(struct ipc_rcu_hdr) ? \ + sizeof(struct ipc_rcu_grace) : sizeof(struct ipc_rcu_hdr)) +#define HDRLEN_VMALLOC (sizeof(struct ipc_rcu_sched) > HDRLEN_KMALLOC ? \ + sizeof(struct ipc_rcu_sched) : HDRLEN_KMALLOC) + static inline int rcu_use_vmalloc(int size) { /* Too big for a single page? */ - if (sizeof(struct ipc_rcu_kmalloc) + size > PAGE_SIZE) + if (HDRLEN_KMALLOC + size > PAGE_SIZE) return 1; return 0; } @@ -322,16 +343,29 @@ void* ipc_rcu_alloc(int size) * workqueue if necessary (for vmalloc). */ if (rcu_use_vmalloc(size)) { - out = vmalloc(sizeof(struct ipc_rcu_vmalloc) + size); - if (out) out += sizeof(struct ipc_rcu_vmalloc); + out = vmalloc(HDRLEN_VMALLOC + size); + if (out) { + out += HDRLEN_VMALLOC; + container_of(out, struct ipc_rcu_hdr, data)->is_vmalloc = 1; + container_of(out, struct ipc_rcu_hdr, data)->refcount = 1; + } } else { - out = kmalloc(sizeof(struct ipc_rcu_kmalloc)+size, GFP_KERNEL); - if (out) out += sizeof(struct ipc_rcu_kmalloc); + out = kmalloc(HDRLEN_KMALLOC + size, GFP_KERNEL); + if (out) { + out += HDRLEN_KMALLOC; + container_of(out, struct ipc_rcu_hdr, data)->is_vmalloc = 0; + container_of(out, struct ipc_rcu_hdr, data)->refcount = 1; + } } return out; } +void ipc_rcu_getref(void *ptr) +{ + container_of(ptr, struct ipc_rcu_hdr, data)->refcount++; +} + /** * ipc_schedule_free - free ipc + rcu space * @@ -340,11 +374,13 @@ void* ipc_rcu_alloc(int size) */ static void ipc_schedule_free(struct rcu_head *head) { - struct ipc_rcu_vmalloc *free = - container_of(head, struct ipc_rcu_vmalloc, rcu); + struct ipc_rcu_grace *grace = + container_of(head, struct ipc_rcu_grace, rcu); + struct ipc_rcu_sched *sched = + container_of(&(grace->data[0]), struct ipc_rcu_sched, data[0]); - INIT_WORK(&free->work, vfree, free); - schedule_work(&free->work); + INIT_WORK(&sched->work, vfree, sched); + schedule_work(&sched->work); } /** @@ -355,25 +391,23 @@ static void ipc_schedule_free(struct rcu_head *head) */ static void ipc_immediate_free(struct rcu_head *head) { - struct ipc_rcu_kmalloc *free = - container_of(head, struct ipc_rcu_kmalloc, rcu); + struct ipc_rcu_grace *free = + container_of(head, struct ipc_rcu_grace, rcu); kfree(free); } - - -void ipc_rcu_free(void* ptr, int size) +void ipc_rcu_putref(void *ptr) { - if (rcu_use_vmalloc(size)) { - struct ipc_rcu_vmalloc *free; - free = ptr - sizeof(*free); - call_rcu(&free->rcu, ipc_schedule_free); + if (--container_of(ptr, struct ipc_rcu_hdr, data)->refcount > 0) + return; + + if (container_of(ptr, struct ipc_rcu_hdr, data)->is_vmalloc) { + call_rcu(&container_of(ptr, struct ipc_rcu_grace, data)->rcu, + ipc_schedule_free); } else { - struct ipc_rcu_kmalloc *free; - free = ptr - sizeof(*free); - call_rcu(&free->rcu, ipc_immediate_free); + call_rcu(&container_of(ptr, struct ipc_rcu_grace, data)->rcu, + ipc_immediate_free); } - } /** @@ -488,13 +522,12 @@ struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id) * Note: The following two read barriers are corresponding * to the two write barriers in grow_ary(). They guarantee * the writes are seen in the same order on the read side. - * smp_rmb() has effect on all CPUs. read_barrier_depends() + * smp_rmb() has effect on all CPUs. rcu_dereference() * is used if there are data dependency between two reads, and * has effect only on Alpha. */ smp_rmb(); /* prevent indexing old array with new size */ - entries = ids->entries; - read_barrier_depends(); /*prevent seeing new array unitialized */ + entries = rcu_dereference(ids->entries); out = entries[lid].p; if(out == NULL) { rcu_read_unlock(); @@ -513,6 +546,12 @@ struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id) return out; } +void ipc_lock_by_ptr(struct kern_ipc_perm *perm) +{ + rcu_read_lock(); + spin_lock(&perm->lock); +} + void ipc_unlock(struct kern_ipc_perm* perm) { spin_unlock(&perm->lock); diff --git a/ipc/util.h b/ipc/util.h index 8697df67b..3b3adb2d5 100644 --- a/ipc/util.h +++ b/ipc/util.h @@ -45,14 +45,20 @@ int ipcperms (struct kern_ipc_perm *ipcp, short flg); */ void* ipc_alloc(int size); void ipc_free(void* ptr, int size); -/* for allocation that need to be freed by RCU - * both function can sleep + +/* + * For allocation that need to be freed by RCU. + * Objects are reference counted, they start with reference count 1. + * getref increases the refcount, the putref call that reduces the recount + * to 0 schedules the rcu destruction. Caller must guarantee locking. */ void* ipc_rcu_alloc(int size); -void ipc_rcu_free(void* arg, int size); +void ipc_rcu_getref(void *ptr); +void ipc_rcu_putref(void *ptr); struct kern_ipc_perm* ipc_get(struct ipc_ids* ids, int id); struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id); +void ipc_lock_by_ptr(struct kern_ipc_perm *ipcp); void ipc_unlock(struct kern_ipc_perm* perm); int ipc_buildid(struct ipc_ids* ids, int id, int seq); int ipc_checkid(struct ipc_ids* ids, struct kern_ipc_perm* ipcp, int uid); diff --git a/kernel/Makefile b/kernel/Makefile index 455ec1eae..bb5788ae0 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -16,10 +16,10 @@ obj-y += vserver/vserver.o obj-$(CONFIG_FUTEX) += futex.o obj-$(CONFIG_GENERIC_ISA_DMA) += dma.o -obj-$(CONFIG_SMP) += cpu.o +obj-$(CONFIG_SMP) += cpu.o spinlock.o obj-$(CONFIG_UID16) += uid16.o -obj-$(CONFIG_MODULES) += module.o -obj-$(CONFIG_MODULE_SIG) += module-verify.o +obj-$(CONFIG_MODULES) += module.o module-verify.o +obj-$(CONFIG_MODULE_SIG) += module-verify-sig.o obj-$(CONFIG_KALLSYMS) += kallsyms.o obj-$(CONFIG_PM) += power/ obj-$(CONFIG_BSD_PROCESS_ACCT) += acct.o @@ -31,6 +31,7 @@ obj-$(CONFIG_STOP_MACHINE) += stop_machine.o obj-$(CONFIG_CKRM_CPU_SCHEDULE) += ckrm_classqueue.o ckrm_sched.o obj-$(CONFIG_AUDIT) += audit.o obj-$(CONFIG_AUDITSYSCALL) += auditsc.o +obj-$(CONFIG_KPROBES) += kprobes.o ifneq ($(CONFIG_IA64),y) # According to Alan Modra , the -fno-omit-frame-pointer is diff --git a/kernel/acct.c b/kernel/acct.c index daf23c4ef..fb6989a34 100644 --- a/kernel/acct.c +++ b/kernel/acct.c @@ -384,6 +384,8 @@ static void do_acct_process(long exitcode, struct file *file) unsigned long vsize; unsigned long flim; u64 elapsed; + u64 run_time; + struct timespec uptime; /* * First check to see if there is enough free_space to continue @@ -401,7 +403,13 @@ static void do_acct_process(long exitcode, struct file *file) ac.ac_version = ACCT_VERSION | ACCT_BYTEORDER; strlcpy(ac.ac_comm, current->comm, sizeof(ac.ac_comm)); - elapsed = jiffies_64_to_AHZ(get_jiffies_64() - current->start_time); + /* calculate run_time in nsec*/ + do_posix_clock_monotonic_gettime(&uptime); + run_time = (u64)uptime.tv_sec*NSEC_PER_SEC + uptime.tv_nsec; + run_time -= (u64)current->start_time.tv_sec*NSEC_PER_SEC + + current->start_time.tv_nsec; + /* convert nsec -> AHZ */ + elapsed = nsec_to_AHZ(run_time); #if ACCT_VERSION==3 ac.ac_etime = encode_float(elapsed); #else diff --git a/kernel/auditsc.c b/kernel/auditsc.c index e688c73f6..0962944e8 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -857,6 +857,7 @@ void audit_putname(const char *name) } #endif } +EXPORT_SYMBOL(audit_putname); /* Store the inode and device from a lookup. Called from * fs/namei.c:path_lookup(). */ @@ -913,11 +914,3 @@ int audit_set_loginuid(struct audit_context *ctx, uid_t loginuid) } return 0; } - -EXPORT_SYMBOL_GPL(audit_alloc); -EXPORT_SYMBOL_GPL(audit_free); -EXPORT_SYMBOL_GPL(audit_syscall_entry); -EXPORT_SYMBOL_GPL(audit_syscall_exit); -EXPORT_SYMBOL_GPL(audit_getname); -EXPORT_SYMBOL_GPL(audit_putname); -EXPORT_SYMBOL_GPL(audit_inode); diff --git a/kernel/capability.c b/kernel/capability.c index 7e864e2cc..7d419fd58 100644 --- a/kernel/capability.c +++ b/kernel/capability.c @@ -10,6 +10,7 @@ #include #include #include +#include #include unsigned securebits = SECUREBITS_DEFAULT; /* systemwide security settings */ diff --git a/kernel/ckrm/ckrm.c b/kernel/ckrm/ckrm.c index 34c531fef..f1cfb268c 100644 --- a/kernel/ckrm/ckrm.c +++ b/kernel/ckrm/ckrm.c @@ -934,37 +934,14 @@ int ckrm_class_set_shares(struct ckrm_core_class *core, const char *resname, int rc; // Check for legal values - if (!legalshare(shares->my_guarantee)) { - printk("ckrm_class_set_shares: shares->my_guarantee invalid value (%d)\n", - shares->my_guarantee); + if (!legalshare(shares->my_guarantee) || !legalshare(shares->my_limit) + || !legalshare(shares->total_guarantee) + || !legalshare(shares->max_limit)) return -EINVAL; - } - - if(!legalshare(shares->my_limit)) { - printk("ckrm_class_set_shares: shares->my_limit invalid value (%d)\n", - shares->my_limit); - return -EINVAL; - } - - if(!legalshare(shares->total_guarantee)){ - printk("ckrm_class_set_shares: shares->total_guarantee invalid value (%d)\n", - shares->total_guarantee); - return -EINVAL; - } - - if(!legalshare(shares->max_limit)) { - printk("ckrm_class_set_shares: shares->max_limit invalid value (%d)\n", - shares->max_limit); - return -EINVAL; - } rcbs = ckrm_resctlr_lookup(clstype, resname); - if (rcbs == NULL || rcbs->set_share_values == NULL) { - printk("ckrm_class_set_shares: resname=%s, rcbs=%p rcbs->set_shares_values == %p returning error\n", - resname, rcbs, rcbs == NULL ? NULL : rcbs->set_share_values); + if (rcbs == NULL || rcbs->set_share_values == NULL) return -EINVAL; - } - rc = (*rcbs->set_share_values) (core->res_class[rcbs->resid], shares); return rc; } diff --git a/kernel/ckrm/ckrm_cpu_class.c b/kernel/ckrm/ckrm_cpu_class.c index b4604a700..f947f07d2 100644 --- a/kernel/ckrm/ckrm_cpu_class.c +++ b/kernel/ckrm/ckrm_cpu_class.c @@ -194,10 +194,8 @@ int ckrm_cpu_set_share(void *my_res, struct ckrm_shares *new_share) struct ckrm_shares *cur = &cls->shares, *par; int rc = -EINVAL; - if (!cls) { - printk("ckrm_cpu_set_share: cls == NULL\n"); + if (!cls) return rc; - } if (cls->parent) { parres = ckrm_get_cpu_class(cls->parent); diff --git a/kernel/ckrm/ckrm_cpu_monitor.c b/kernel/ckrm/ckrm_cpu_monitor.c index a608f4e91..b2d38a30b 100644 --- a/kernel/ckrm/ckrm_cpu_monitor.c +++ b/kernel/ckrm/ckrm_cpu_monitor.c @@ -28,6 +28,9 @@ #include #include +#warning MEF I cannot believe that vserver changes force the following include statement: FIX THIS! +#include + #define CPU_MONITOR_INTERVAL (HZ) /*how often do we adjust the shares*/ #define CKRM_SHARE_MAX (1< +#warning MEF I cannot believe that vserver changes force the following include statement: FIX THIS! +#include + + #define TC_DEBUG(fmt, args...) do { \ /* printk("%s: " fmt, __FUNCTION__ , ## args); */ } while (0) diff --git a/kernel/ckrm/ckrmutils.c b/kernel/ckrm/ckrmutils.c index 44522d665..2b2683c27 100644 --- a/kernel/ckrm/ckrmutils.c +++ b/kernel/ckrm/ckrmutils.c @@ -115,26 +115,18 @@ set_shares(struct ckrm_shares *new, struct ckrm_shares *cur, // Check total_guarantee for correctness if (new->total_guarantee <= CKRM_SHARE_DONTCARE) { - printk("set_shares: new->total_guarantee (%d) <= CKRM_SHARE_DONTCARE\n", - new->total_guarantee); goto set_share_err; } else if (new->total_guarantee == CKRM_SHARE_UNCHANGED) { ; // do nothing } else if (cur_usage_guar > new->total_guarantee) { - printk("set_shares: cur_usage_guar(%d) > new->total_guarantee (%d)\n", - cur_usage_guar, new->total_guarantee); goto set_share_err; } // Check max_limit for correctness if (new->max_limit <= CKRM_SHARE_DONTCARE) { - printk("set_shares: new->max_limit (%d) <= CKRM_SHARE_DONTCARE\n", - new->max_limit); goto set_share_err; } else if (new->max_limit == CKRM_SHARE_UNCHANGED) { ; // do nothing } else if (cur->cur_max_limit > new->max_limit) { - printk("set_shares: cur->cur_max_limit (%d) > new->max_limit (%d)\n", - cur->cur_max_limit,new->max_limit); goto set_share_err; } // Check my_guarantee for correctness @@ -143,8 +135,6 @@ set_shares(struct ckrm_shares *new, struct ckrm_shares *cur, } else if (new->my_guarantee == CKRM_SHARE_DONTCARE) { ; // do nothing } else if (par && increase_by > par->unused_guarantee) { - printk("set_shares: increase_by (%d) > par->unused_guarantee (%d)\n", - increase_by, par->unused_guarantee); goto set_share_err; } // Check my_limit for correctness @@ -154,9 +144,8 @@ set_shares(struct ckrm_shares *new, struct ckrm_shares *cur, ; // do nothing } else if (par && new->my_limit > par->max_limit) { // I can't get more limit than my parent's limit - printk("set_shares: new->my_limit (%d) > par->max_limit (%d)\n", - new->my_limit,par->max_limit); goto set_share_err; + } // make sure guarantee is lesser than limit if (new->my_limit == CKRM_SHARE_DONTCARE) { @@ -168,8 +157,6 @@ set_shares(struct ckrm_shares *new, struct ckrm_shares *cur, ; // do nothing earlier setting would've // taken care of it } else if (new->my_guarantee > cur->my_limit) { - printk("set_shares: new->my_guarantee (%d) > cur->my_limit (%d)\n", - new->my_guarantee,cur->my_limit); goto set_share_err; } } else { // new->my_limit has a valid value @@ -177,13 +164,9 @@ set_shares(struct ckrm_shares *new, struct ckrm_shares *cur, ; // do nothing } else if (new->my_guarantee == CKRM_SHARE_UNCHANGED) { if (cur->my_guarantee > new->my_limit) { - printk("set_shares: cur->my_guarantee (%d) > new->my_limit (%d)\n", - cur->my_guarantee,new->my_limit); goto set_share_err; } } else if (new->my_guarantee > new->my_limit) { - printk("set_shares: new->my_guarantee (%d) > new->my_limit (%d)\n", - new->my_guarantee,new->my_limit); goto set_share_err; } } diff --git a/kernel/ckrm/rbce/rbcemod.c b/kernel/ckrm/rbce/rbcemod.c index 555ba0a4e..21dd3cff5 100644 --- a/kernel/ckrm/rbce/rbcemod.c +++ b/kernel/ckrm/rbce/rbcemod.c @@ -56,6 +56,10 @@ #include "bitvector.h" #include +#warning MEF I cannot believe that vserver changes force the following include statement: FIX THIS! +#include + + #define DEBUG MODULE_DESCRIPTION(RBCE_MOD_DESCR); diff --git a/kernel/compat.c b/kernel/compat.c index 481ac0d4b..33880d224 100644 --- a/kernel/compat.c +++ b/kernel/compat.c @@ -160,10 +160,39 @@ asmlinkage long compat_sys_times(struct compat_tms __user *tbuf) */ if (tbuf) { struct compat_tms tmp; - tmp.tms_utime = compat_jiffies_to_clock_t(current->utime); - tmp.tms_stime = compat_jiffies_to_clock_t(current->stime); - tmp.tms_cutime = compat_jiffies_to_clock_t(current->cutime); - tmp.tms_cstime = compat_jiffies_to_clock_t(current->cstime); + struct task_struct *tsk = current; + struct task_struct *t; + unsigned long utime, stime, cutime, cstime; + + read_lock(&tasklist_lock); + utime = tsk->signal->utime; + stime = tsk->signal->stime; + t = tsk; + do { + utime += t->utime; + stime += t->stime; + t = next_thread(t); + } while (t != tsk); + + /* + * While we have tasklist_lock read-locked, no dying thread + * can be updating current->signal->[us]time. Instead, + * we got their counts included in the live thread loop. + * However, another thread can come in right now and + * do a wait call that updates current->signal->c[us]time. + * To make sure we always see that pair updated atomically, + * we take the siglock around fetching them. + */ + spin_lock_irq(&tsk->sighand->siglock); + cutime = tsk->signal->cutime; + cstime = tsk->signal->cstime; + spin_unlock_irq(&tsk->sighand->siglock); + read_unlock(&tasklist_lock); + + tmp.tms_utime = compat_jiffies_to_clock_t(utime); + tmp.tms_stime = compat_jiffies_to_clock_t(stime); + tmp.tms_cutime = compat_jiffies_to_clock_t(cutime); + tmp.tms_cstime = compat_jiffies_to_clock_t(cstime); if (copy_to_user(tbuf, &tmp, sizeof(tmp))) return -EFAULT; } @@ -310,7 +339,7 @@ asmlinkage long compat_sys_getrlimit (unsigned int resource, return ret; } -static long put_compat_rusage(struct compat_rusage __user *ru, struct rusage *r) +int put_compat_rusage(const struct rusage *r, struct compat_rusage __user *ru) { if (!access_ok(VERIFY_WRITE, ru, sizeof(*ru)) || __put_user(r->ru_utime.tv_sec, &ru->ru_utime.tv_sec) || @@ -348,7 +377,7 @@ asmlinkage long compat_sys_getrusage(int who, struct compat_rusage __user *ru) if (ret) return ret; - if (put_compat_rusage(ru, &r)) + if (put_compat_rusage(&r, ru)) return -EFAULT; return 0; @@ -374,7 +403,7 @@ compat_sys_wait4(compat_pid_t pid, compat_uint_t __user *stat_addr, int options, set_fs (old_fs); if (ret > 0) { - if (put_compat_rusage(ru, &r)) + if (put_compat_rusage(&r, ru)) return -EFAULT; if (stat_addr && put_user(status, stat_addr)) return -EFAULT; @@ -383,48 +412,58 @@ compat_sys_wait4(compat_pid_t pid, compat_uint_t __user *stat_addr, int options, } } -asmlinkage long compat_sys_sched_setaffinity(compat_pid_t pid, +static int compat_get_user_cpu_mask(compat_ulong_t __user *user_mask_ptr, + unsigned len, cpumask_t *new_mask) +{ + unsigned long *k; + + if (len < sizeof(cpumask_t)) + memset(new_mask, 0, sizeof(cpumask_t)); + else if (len > sizeof(cpumask_t)) + len = sizeof(cpumask_t); + + k = cpus_addr(*new_mask); + return compat_get_bitmap(k, user_mask_ptr, len * 8); +} + +asmlinkage long compat_sys_sched_setaffinity(compat_pid_t pid, unsigned int len, compat_ulong_t __user *user_mask_ptr) { - unsigned long kern_mask; - mm_segment_t old_fs; - int ret; + cpumask_t new_mask; + int retval; - if (get_user(kern_mask, user_mask_ptr)) - return -EFAULT; - - old_fs = get_fs(); - set_fs(KERNEL_DS); - ret = sys_sched_setaffinity(pid, - sizeof(kern_mask), - (unsigned long __user *) &kern_mask); - set_fs(old_fs); + retval = compat_get_user_cpu_mask(user_mask_ptr, len, &new_mask); + if (retval) + return retval; - return ret; + return sched_setaffinity(pid, new_mask); } asmlinkage long compat_sys_sched_getaffinity(compat_pid_t pid, unsigned int len, compat_ulong_t __user *user_mask_ptr) { - unsigned long kern_mask; - mm_segment_t old_fs; int ret; + cpumask_t mask; + unsigned long *k; + unsigned int min_length = sizeof(cpumask_t); - old_fs = get_fs(); - set_fs(KERNEL_DS); - ret = sys_sched_getaffinity(pid, - sizeof(kern_mask), - (unsigned long __user *) &kern_mask); - set_fs(old_fs); + if (NR_CPUS <= BITS_PER_COMPAT_LONG) + min_length = sizeof(compat_ulong_t); - if (ret > 0) { - ret = sizeof(compat_ulong_t); - if (put_user(kern_mask, user_mask_ptr)) - return -EFAULT; - } + if (len < min_length) + return -EINVAL; - return ret; + ret = sched_getaffinity(pid, &mask); + if (ret < 0) + return ret; + + k = cpus_addr(mask); + ret = compat_put_bitmap(user_mask_ptr, k, min_length * 8); + if (ret) + return ret; + + return min_length; } static int get_compat_itimerspec(struct itimerspec *dst, @@ -561,3 +600,83 @@ long compat_clock_nanosleep(clockid_t which_clock, int flags, /* timer_create is architecture specific because it needs sigevent conversion */ +long compat_get_bitmap(unsigned long *mask, compat_ulong_t __user *umask, + unsigned long bitmap_size) +{ + int i, j; + unsigned long m; + compat_ulong_t um; + unsigned long nr_compat_longs; + + /* align bitmap up to nearest compat_long_t boundary */ + bitmap_size = ALIGN(bitmap_size, BITS_PER_COMPAT_LONG); + + if (verify_area(VERIFY_READ, umask, bitmap_size / 8)) + return -EFAULT; + + nr_compat_longs = BITS_TO_COMPAT_LONGS(bitmap_size); + + for (i = 0; i < BITS_TO_LONGS(bitmap_size); i++) { + m = 0; + + for (j = 0; j < sizeof(m)/sizeof(um); j++) { + /* + * We dont want to read past the end of the userspace + * bitmap. We must however ensure the end of the + * kernel bitmap is zeroed. + */ + if (nr_compat_longs-- > 0) { + if (__get_user(um, umask)) + return -EFAULT; + } else { + um = 0; + } + + umask++; + m |= (long)um << (j * BITS_PER_COMPAT_LONG); + } + *mask++ = m; + } + + return 0; +} + +long compat_put_bitmap(compat_ulong_t __user *umask, unsigned long *mask, + unsigned long bitmap_size) +{ + int i, j; + unsigned long m; + compat_ulong_t um; + unsigned long nr_compat_longs; + + /* align bitmap up to nearest compat_long_t boundary */ + bitmap_size = ALIGN(bitmap_size, BITS_PER_COMPAT_LONG); + + if (verify_area(VERIFY_WRITE, umask, bitmap_size / 8)) + return -EFAULT; + + nr_compat_longs = BITS_TO_COMPAT_LONGS(bitmap_size); + + for (i = 0; i < BITS_TO_LONGS(bitmap_size); i++) { + m = *mask++; + + for (j = 0; j < sizeof(m)/sizeof(um); j++) { + um = m; + + /* + * We dont want to write past the end of the userspace + * bitmap. + */ + if (nr_compat_longs-- > 0) { + if (__put_user(um, umask)) + return -EFAULT; + } + + umask++; + m >>= 4*sizeof(um); + m >>= 4*sizeof(um); + } + } + + return 0; +} diff --git a/kernel/cpu.c b/kernel/cpu.c index 083521327..719ba42ff 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -61,13 +61,13 @@ static inline void check_for_tasks(int cpu) * cpu' with certain environment variables set. */ static int cpu_run_sbin_hotplug(unsigned int cpu, const char *action) { - char *argv[3], *envp[5], cpu_str[12], action_str[32]; + char *argv[3], *envp[6], cpu_str[12], action_str[32], devpath_str[40]; int i; sprintf(cpu_str, "CPU=%d", cpu); sprintf(action_str, "ACTION=%s", action); - /* FIXME: Add DEVPATH. --RR */ - + sprintf(devpath_str, "DEVPATH=devices/system/cpu/cpu%d", cpu); + i = 0; argv[i++] = hotplug_path; argv[i++] = "cpu"; @@ -79,6 +79,7 @@ static int cpu_run_sbin_hotplug(unsigned int cpu, const char *action) envp[i++] = "PATH=/sbin:/bin:/usr/sbin:/usr/bin"; envp[i++] = cpu_str; envp[i++] = action_str; + envp[i++] = devpath_str; envp[i] = NULL; return call_usermodehelper(argv[0], argv, envp, 0); @@ -123,6 +124,15 @@ int cpu_down(unsigned int cpu) goto out; } + err = notifier_call_chain(&cpu_chain, CPU_DOWN_PREPARE, + (void *)(long)cpu); + if (err == NOTIFY_BAD) { + printk("%s: attempt to take down CPU %u failed\n", + __FUNCTION__, cpu); + err = -EINVAL; + goto out; + } + /* Ensure that we are not runnable on dying cpu */ old_allowed = current->cpus_allowed; tmp = CPU_MASK_ALL; @@ -131,6 +141,11 @@ int cpu_down(unsigned int cpu) p = __stop_machine_run(take_cpu_down, NULL, cpu); if (IS_ERR(p)) { + /* CPU didn't die: tell everyone. Can't complain. */ + if (notifier_call_chain(&cpu_chain, CPU_DOWN_FAILED, + (void *)(long)cpu) == NOTIFY_BAD) + BUG(); + err = PTR_ERR(p); goto out_allowed; } diff --git a/kernel/exit.c b/kernel/exit.c index 60075cbb3..2e1f0bb22 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -43,8 +44,8 @@ static void __unhash_process(struct task_struct *p) nr_threads--; /* tasklist_lock is held, is this sufficient? */ if (p->vx_info) { - atomic_dec(&p->vx_info->cacct.nr_threads); - atomic_dec(&p->vx_info->limit.rcur[RLIMIT_NPROC]); + atomic_dec(&p->vx_info->cvirt.nr_threads); + vx_nproc_dec(p); } detach_pid(p, PIDTYPE_PID); detach_pid(p, PIDTYPE_TGID); @@ -65,8 +66,6 @@ void release_task(struct task_struct * p) struct dentry *proc_dentry; repeat: - BUG_ON(p->state < TASK_ZOMBIE); - atomic_dec(&p->user->processes); spin_lock(&p->proc_lock); proc_dentry = proc_pid_unhash(p); @@ -85,7 +84,7 @@ repeat: */ zap_leader = 0; leader = p->group_leader; - if (leader != p && thread_group_empty(leader) && leader->state == TASK_ZOMBIE) { + if (leader != p && thread_group_empty(leader) && leader->exit_state == EXIT_ZOMBIE) { BUG_ON(leader->exit_signal == -1); do_notify_parent(leader, leader->exit_signal); /* @@ -99,12 +98,6 @@ repeat: zap_leader = (leader->exit_signal == -1); } - p->parent->cutime += p->utime + p->cutime; - p->parent->cstime += p->stime + p->cstime; - p->parent->cmin_flt += p->min_flt + p->cmin_flt; - p->parent->cmaj_flt += p->maj_flt + p->cmaj_flt; - p->parent->cnvcsw += p->nvcsw + p->cnvcsw; - p->parent->cnivcsw += p->nivcsw + p->cnivcsw; sched_exit(p); write_unlock_irq(&tasklist_lock); spin_unlock(&p->proc_lock); @@ -140,16 +133,15 @@ void unhash_process(struct task_struct *p) int session_of_pgrp(int pgrp) { struct task_struct *p; - struct list_head *l; - struct pid *pid; int sid = -1; read_lock(&tasklist_lock); - for_each_task_pid(pgrp, PIDTYPE_PGID, p, l, pid) + do_each_task_pid(pgrp, PIDTYPE_PGID, p) { if (p->signal->session > 0) { sid = p->signal->session; goto out; } + } while_each_task_pid(pgrp, PIDTYPE_PGID, p); p = find_task_by_pid(pgrp); if (p) sid = p->signal->session; @@ -170,13 +162,11 @@ out: static int will_become_orphaned_pgrp(int pgrp, task_t *ignored_task) { struct task_struct *p; - struct list_head *l; - struct pid *pid; int ret = 1; - for_each_task_pid(pgrp, PIDTYPE_PGID, p, l, pid) { + do_each_task_pid(pgrp, PIDTYPE_PGID, p) { if (p == ignored_task - || p->state >= TASK_ZOMBIE + || p->exit_state >= EXIT_ZOMBIE || p->real_parent->pid == 1) continue; if (process_group(p->real_parent) != pgrp @@ -184,7 +174,7 @@ static int will_become_orphaned_pgrp(int pgrp, task_t *ignored_task) ret = 0; break; } - } + } while_each_task_pid(pgrp, PIDTYPE_PGID, p); return ret; /* (sighing) "Often!" */ } @@ -203,10 +193,8 @@ static inline int has_stopped_jobs(int pgrp) { int retval = 0; struct task_struct *p; - struct list_head *l; - struct pid *pid; - for_each_task_pid(pgrp, PIDTYPE_PGID, p, l, pid) { + do_each_task_pid(pgrp, PIDTYPE_PGID, p) { if (p->state != TASK_STOPPED) continue; @@ -222,7 +210,7 @@ static inline int has_stopped_jobs(int pgrp) retval = 1; break; - } + } while_each_task_pid(pgrp, PIDTYPE_PGID, p); return retval; } @@ -540,18 +528,14 @@ void exit_mm(struct task_struct *tsk) __exit_mm(tsk); } -EXPORT_SYMBOL(exit_mm); - static inline void choose_new_parent(task_t *p, task_t *reaper, task_t *child_reaper) { /* * Make sure we're not reparenting to ourselves and that * the parent is not a zombie. */ - if (p == reaper || reaper->state >= TASK_ZOMBIE) - p->real_parent = child_reaper; - else - p->real_parent = reaper; + BUG_ON(p == reaper || reaper->state >= EXIT_ZOMBIE || reaper->exit_state >= EXIT_ZOMBIE); + p->real_parent = reaper; if (p->parent == p->real_parent) BUG(); } @@ -561,7 +545,6 @@ static inline void reparent_thread(task_t *p, task_t *father, int traced) /* We don't want people slaying init. */ if (p->exit_signal != -1) p->exit_signal = SIGCHLD; - p->self_exec_id++; if (p->pdeath_signal) /* We already hold the tasklist_lock here. */ @@ -585,9 +568,17 @@ static inline void reparent_thread(task_t *p, task_t *father, int traced) /* If we'd notified the old parent about this child's death, * also notify the new parent. */ - if (p->state == TASK_ZOMBIE && p->exit_signal != -1 && + if (p->exit_state == EXIT_ZOMBIE && p->exit_signal != -1 && thread_group_empty(p)) do_notify_parent(p, p->exit_signal); + else if (p->state == TASK_TRACED) { + /* + * If it was at a trace stop, turn it into + * a normal stop since it's no longer being + * traced. + */ + p->state = TASK_STOPPED; + } } /* @@ -619,10 +610,13 @@ static inline void forget_original_parent(struct task_struct * father, struct task_struct *p, *reaper = father; struct list_head *_p, *_n; - /* FIXME handle vchild_reaper/initpid */ - reaper = father->group_leader; - if (reaper == father) - reaper = child_reaper; + do { + reaper = next_thread(reaper); + if (reaper == father) { + reaper = child_reaper; + break; + } + } while (reaper->exit_state >= EXIT_ZOMBIE); /* * There are only two places where our children can be: @@ -648,7 +642,7 @@ static inline void forget_original_parent(struct task_struct * father, } else { /* reparent ptraced task to its real parent */ __ptrace_unlink (p); - if (p->state == TASK_ZOMBIE && p->exit_signal != -1 && + if (p->exit_state == EXIT_ZOMBIE && p->exit_signal != -1 && thread_group_empty(p)) do_notify_parent(p, p->exit_signal); } @@ -659,7 +653,7 @@ static inline void forget_original_parent(struct task_struct * father, * zombie forever since we prevented it from self-reap itself * while it was being traced by us, to be able to see it in wait4. */ - if (unlikely(ptrace && p->state == TASK_ZOMBIE && p->exit_signal == -1)) + if (unlikely(ptrace && p->exit_state == EXIT_ZOMBIE && p->exit_signal == -1)) list_add(&p->ptrace_list, to_release); } list_for_each_safe(_p, _n, &father->ptrace_children) { @@ -774,11 +768,10 @@ static void exit_notify(struct task_struct *tsk) do_notify_parent(tsk, SIGCHLD); } - state = TASK_ZOMBIE; + state = EXIT_ZOMBIE; if (tsk->exit_signal == -1 && tsk->ptrace == 0) - state = TASK_DEAD; - tsk->state = state; - tsk->flags |= PF_DEAD; + state = EXIT_DEAD; + tsk->exit_state = state; /* * Clear these here so that update_process_times() won't try to deliver @@ -788,20 +781,7 @@ static void exit_notify(struct task_struct *tsk) tsk->it_prof_value = 0; tsk->rlim[RLIMIT_CPU].rlim_cur = RLIM_INFINITY; - /* - * In the preemption case it must be impossible for the task - * to get runnable again, so use "_raw_" unlock to keep - * preempt_count elevated until we schedule(). - * - * To avoid deadlock on SMP, interrupts must be unmasked. If we - * don't, subsequently called functions (e.g, wait_task_inactive() - * via release_task()) will spin, with interrupt flags - * unwittingly blocked, until the other task sleeps. That task - * may itself be waiting for smp_call_function() to answer and - * complete, and with interrupts blocked that will never happen. - */ - _raw_write_unlock(&tasklist_lock); - local_irq_enable(); + write_unlock_irq(&tasklist_lock); list_for_each_safe(_p, _n, &ptrace_dead) { list_del_init(_p); @@ -810,15 +790,20 @@ static void exit_notify(struct task_struct *tsk) } /* If the process is dead, release it - nobody will wait for it */ - if (state == TASK_DEAD) + if (state == EXIT_DEAD) release_task(tsk); + /* PF_DEAD causes final put_task_struct after we schedule. */ + preempt_disable(); + tsk->flags |= PF_DEAD; } asmlinkage NORET_TYPE void do_exit(long code) { struct task_struct *tsk = current; + profile_task_exit(tsk); + if (unlikely(in_interrupt())) panic("Aiee, killing interrupt handler!"); if (unlikely(!tsk->pid)) @@ -835,8 +820,6 @@ asmlinkage NORET_TYPE void do_exit(long code) current->comm, current->pid, preempt_count()); - profile_exit_task(tsk); - if (unlikely(current->ptrace & PT_TRACE_EXIT)) { current->ptrace_message = code; ptrace_notify((PTRACE_EVENT_EXIT << 8) | SIGTRAP); @@ -871,6 +854,8 @@ asmlinkage NORET_TYPE void do_exit(long code) mpol_free(tsk->mempolicy); tsk->mempolicy = NULL; #endif + + BUG_ON(!(current->flags & PF_DEAD)); schedule(); BUG(); /* Avoid "noreturn function does return". */ @@ -894,9 +879,6 @@ asmlinkage long sys_exit(int error_code) task_t fastcall *next_thread(const task_t *p) { - const struct pid_link *link = p->pids + PIDTYPE_TGID; - const struct list_head *tmp, *head = &link->pidptr->task_list; - #ifdef CONFIG_SMP if (!p->sighand) BUG(); @@ -904,11 +886,7 @@ task_t fastcall *next_thread(const task_t *p) !rwlock_is_locked(&tasklist_lock)) BUG(); #endif - tmp = link->pid_chain.next; - if (tmp == head) - tmp = head->next; - - return pid_task(tmp, PIDTYPE_TGID); + return pid_task(p->pids[PIDTYPE_TGID].pid_list.next, PIDTYPE_TGID); } EXPORT_SYMBOL(next_thread); @@ -996,48 +974,152 @@ static int eligible_child(pid_t pid, int options, task_t *p) return 1; } +static int wait_noreap_copyout(task_t *p, pid_t pid, uid_t uid, + int why, int status, + struct siginfo __user *infop, + struct rusage __user *rusagep) +{ + int retval = rusagep ? getrusage(p, RUSAGE_BOTH, rusagep) : 0; + put_task_struct(p); + if (!retval) + retval = put_user(SIGCHLD, &infop->si_signo); + if (!retval) + retval = put_user(0, &infop->si_errno); + if (!retval) + retval = put_user((short)why, &infop->si_code); + if (!retval) + retval = put_user(pid, &infop->si_pid); + if (!retval) + retval = put_user(uid, &infop->si_uid); + if (!retval) + retval = put_user(status, &infop->si_status); + if (!retval) + retval = pid; + return retval; +} + /* - * Handle sys_wait4 work for one task in state TASK_ZOMBIE. We hold + * Handle sys_wait4 work for one task in state EXIT_ZOMBIE. We hold * read_lock(&tasklist_lock) on entry. If we return zero, we still hold * the lock and this task is uninteresting. If we return nonzero, we have * released the lock and the system call should return. */ -static int wait_task_zombie(task_t *p, unsigned int __user *stat_addr, struct rusage __user *ru) +static int wait_task_zombie(task_t *p, int noreap, + struct siginfo __user *infop, + int __user *stat_addr, struct rusage __user *ru) { unsigned long state; int retval; + int status; + + if (unlikely(noreap)) { + pid_t pid = p->pid; + uid_t uid = p->uid; + int exit_code = p->exit_code; + int why, status; + + if (unlikely(p->exit_state != EXIT_ZOMBIE)) + return 0; + if (unlikely(p->exit_signal == -1 && p->ptrace == 0)) + return 0; + get_task_struct(p); + read_unlock(&tasklist_lock); + if ((exit_code & 0x7f) == 0) { + why = CLD_EXITED; + status = exit_code >> 8; + } else { + why = (exit_code & 0x80) ? CLD_DUMPED : CLD_KILLED; + status = exit_code & 0x7f; + } + return wait_noreap_copyout(p, pid, uid, why, + status, infop, ru); + } /* * Try to move the task's state to DEAD * only one thread is allowed to do this: */ - state = xchg(&p->state, TASK_DEAD); - if (state != TASK_ZOMBIE) { - BUG_ON(state != TASK_DEAD); + state = xchg(&p->exit_state, EXIT_DEAD); + if (state != EXIT_ZOMBIE) { + BUG_ON(state != EXIT_DEAD); return 0; } - if (unlikely(p->exit_signal == -1 && p->ptrace == 0)) + if (unlikely(p->exit_signal == -1 && p->ptrace == 0)) { /* * This can only happen in a race with a ptraced thread * dying on another processor. */ return 0; + } + + if (likely(p->real_parent == p->parent) && likely(p->signal)) { + /* + * The resource counters for the group leader are in its + * own task_struct. Those for dead threads in the group + * are in its signal_struct, as are those for the child + * processes it has previously reaped. All these + * accumulate in the parent's signal_struct c* fields. + * + * We don't bother to take a lock here to protect these + * p->signal fields, because they are only touched by + * __exit_signal, which runs with tasklist_lock + * write-locked anyway, and so is excluded here. We do + * need to protect the access to p->parent->signal fields, + * as other threads in the parent group can be right + * here reaping other children at the same time. + */ + spin_lock_irq(&p->parent->sighand->siglock); + p->parent->signal->cutime += + p->utime + p->signal->utime + p->signal->cutime; + p->parent->signal->cstime += + p->stime + p->signal->stime + p->signal->cstime; + p->parent->signal->cmin_flt += + p->min_flt + p->signal->min_flt + p->signal->cmin_flt; + p->parent->signal->cmaj_flt += + p->maj_flt + p->signal->maj_flt + p->signal->cmaj_flt; + p->parent->signal->cnvcsw += + p->nvcsw + p->signal->nvcsw + p->signal->cnvcsw; + p->parent->signal->cnivcsw += + p->nivcsw + p->signal->nivcsw + p->signal->cnivcsw; + spin_unlock_irq(&p->parent->sighand->siglock); + } /* * Now we are sure this task is interesting, and no other - * thread can reap it because we set its state to TASK_DEAD. + * thread can reap it because we set its state to EXIT_DEAD. */ read_unlock(&tasklist_lock); retval = ru ? getrusage(p, RUSAGE_BOTH, ru) : 0; - if (!retval && stat_addr) { - if (p->signal->group_exit) - retval = put_user(p->signal->group_exit_code, stat_addr); - else - retval = put_user(p->exit_code, stat_addr); + status = p->signal->group_exit + ? p->signal->group_exit_code : p->exit_code; + if (!retval && stat_addr) + retval = put_user(status, stat_addr); + if (!retval && infop) + retval = put_user(SIGCHLD, &infop->si_signo); + if (!retval && infop) + retval = put_user(0, &infop->si_errno); + if (!retval && infop) { + int why; + + if ((status & 0x7f) == 0) { + why = CLD_EXITED; + status >>= 8; + } else { + why = (status & 0x80) ? CLD_DUMPED : CLD_KILLED; + status &= 0x7f; + } + retval = put_user((short)why, &infop->si_code); + if (!retval) + retval = put_user(status, &infop->si_status); } + if (!retval && infop) + retval = put_user(p->pid, &infop->si_pid); + if (!retval && infop) + retval = put_user(p->uid, &infop->si_uid); if (retval) { - p->state = TASK_ZOMBIE; + // TODO: is this safe? + p->exit_state = EXIT_ZOMBIE; return retval; } retval = p->pid; @@ -1046,10 +1128,12 @@ static int wait_task_zombie(task_t *p, unsigned int __user *stat_addr, struct ru /* Double-check with lock held. */ if (p->real_parent != p->parent) { __ptrace_unlink(p); - p->state = TASK_ZOMBIE; + // TODO: is this safe? + p->exit_state = EXIT_ZOMBIE; /* - * If this is not a detached task, notify the parent. If it's - * still not detached after that, don't release it now. + * If this is not a detached task, notify the parent. + * If it's still not detached after that, don't release + * it now. */ if (p->exit_signal != -1) { do_notify_parent(p, p->exit_signal); @@ -1071,9 +1155,9 @@ static int wait_task_zombie(task_t *p, unsigned int __user *stat_addr, struct ru * the lock and this task is uninteresting. If we return nonzero, we have * released the lock and the system call should return. */ -static int wait_task_stopped(task_t *p, int delayed_group_leader, - unsigned int __user *stat_addr, - struct rusage __user *ru) +static int wait_task_stopped(task_t *p, int delayed_group_leader, int noreap, + struct siginfo __user *infop, + int __user *stat_addr, struct rusage __user *ru) { int retval, exit_code; @@ -1096,18 +1180,33 @@ static int wait_task_stopped(task_t *p, int delayed_group_leader, */ get_task_struct(p); read_unlock(&tasklist_lock); + + if (unlikely(noreap)) { + pid_t pid = p->pid; + uid_t uid = p->uid; + int why = (p->ptrace & PT_PTRACED) ? CLD_TRAPPED : CLD_STOPPED; + + exit_code = p->exit_code; + if (unlikely(!exit_code) || + unlikely(p->state > TASK_STOPPED)) + goto bail_ref; + return wait_noreap_copyout(p, pid, uid, + why, (exit_code << 8) | 0x7f, + infop, ru); + } + write_lock_irq(&tasklist_lock); /* * This uses xchg to be atomic with the thread resuming and setting * it. It must also be done with the write lock held to prevent a - * race with the TASK_ZOMBIE case. + * race with the EXIT_ZOMBIE case. */ exit_code = xchg(&p->exit_code, 0); - if (unlikely(p->state > TASK_STOPPED)) { + if (unlikely(p->exit_state >= EXIT_ZOMBIE)) { /* * The task resumed and then died. Let the next iteration - * catch it in TASK_ZOMBIE. Note that exit_code might + * catch it in EXIT_ZOMBIE. Note that exit_code might * already be zero here if it resumed and did _exit(0). * The task itself is dead and won't touch exit_code again; * other processors in this function are locked out. @@ -1121,9 +1220,17 @@ static int wait_task_stopped(task_t *p, int delayed_group_leader, * resumed, or it resumed and then died. */ write_unlock_irq(&tasklist_lock); +bail_ref: put_task_struct(p); - read_lock(&tasklist_lock); - return 0; + /* + * We are returning to the wait loop without having successfully + * removed the process and having released the lock. We cannot + * continue, since the "p" task pointer is potentially stale. + * + * Return -EAGAIN, and do_wait() will restart the loop from the + * beginning. Do _not_ re-acquire the lock. + */ + return -EAGAIN; } /* move to end of parent's list to avoid starvation */ @@ -1135,6 +1242,20 @@ static int wait_task_stopped(task_t *p, int delayed_group_leader, retval = ru ? getrusage(p, RUSAGE_BOTH, ru) : 0; if (!retval && stat_addr) retval = put_user((exit_code << 8) | 0x7f, stat_addr); + if (!retval && infop) + retval = put_user(SIGCHLD, &infop->si_signo); + if (!retval && infop) + retval = put_user(0, &infop->si_errno); + if (!retval && infop) + retval = put_user((short)((p->ptrace & PT_PTRACED) + ? CLD_TRAPPED : CLD_STOPPED), + &infop->si_code); + if (!retval && infop) + retval = put_user(exit_code, &infop->si_status); + if (!retval && infop) + retval = put_user(p->pid, &infop->si_pid); + if (!retval && infop) + retval = put_user(p->uid, &infop->si_uid); if (!retval) retval = p->pid; put_task_struct(p); @@ -1143,17 +1264,85 @@ static int wait_task_stopped(task_t *p, int delayed_group_leader, return retval; } -asmlinkage long sys_wait4(pid_t pid,unsigned int __user *stat_addr, int options, struct rusage __user *ru) +/* + * Handle do_wait work for one task in a live, non-stopped state. + * read_lock(&tasklist_lock) on entry. If we return zero, we still hold + * the lock and this task is uninteresting. If we return nonzero, we have + * released the lock and the system call should return. + */ +static int wait_task_continued(task_t *p, int noreap, + struct siginfo __user *infop, + int __user *stat_addr, struct rusage __user *ru) +{ + int retval; + pid_t pid; + uid_t uid; + + if (unlikely(!p->signal)) + return 0; + + if (p->signal->stop_state >= 0) + return 0; + + spin_lock_irq(&p->sighand->siglock); + if (p->signal->stop_state >= 0) { /* Re-check with the lock held. */ + spin_unlock_irq(&p->sighand->siglock); + return 0; + } + if (!noreap) + p->signal->stop_state = 0; + spin_unlock_irq(&p->sighand->siglock); + + pid = p->pid; + uid = p->uid; + get_task_struct(p); + read_unlock(&tasklist_lock); + + if (!infop) { + retval = ru ? getrusage(p, RUSAGE_BOTH, ru) : 0; + put_task_struct(p); + if (!retval && stat_addr) + retval = put_user(0xffff, stat_addr); + if (!retval) + retval = p->pid; + } else { + retval = wait_noreap_copyout(p, pid, uid, + CLD_CONTINUED, SIGCONT, + infop, ru); + BUG_ON(retval == 0); + } + + return retval; +} + + +static inline int my_ptrace_child(struct task_struct *p) +{ + if (!(p->ptrace & PT_PTRACED)) + return 0; + /* + * This child was PTRACE_ATTACH'd. We should be seeing it only if + * we are the attacher. If we are the real parent, this is a race + * inside ptrace_attach. It is waiting for the tasklist_lock, + * which we have to switch the parent links, but has already set + * the flags in p->ptrace. + */ + return (p->parent != p->real_parent); +} + +static long do_wait(pid_t pid, int options, struct siginfo __user *infop, + int __user *stat_addr, struct rusage __user *ru) { DECLARE_WAITQUEUE(wait, current); struct task_struct *tsk; int flag, retval; - if (options & ~(WNOHANG|WUNTRACED|__WNOTHREAD|__WCLONE|__WALL)) - return -EINVAL; - add_wait_queue(¤t->wait_chldexit,&wait); repeat: + /* + * We will set this flag if we see any child that might later + * match our criteria, even if we are not able to reap it yet. + */ flag = 0; current->state = TASK_INTERRUPTIBLE; read_lock(&tasklist_lock); @@ -1169,33 +1358,73 @@ repeat: ret = eligible_child(pid, options, p); if (!ret) continue; - flag = 1; switch (p->state) { + case TASK_TRACED: + if (!my_ptrace_child(p)) + continue; + /*FALLTHROUGH*/ case TASK_STOPPED: + /* + * It's stopped now, so it might later + * continue, exit, or stop again. + */ + flag = 1; if (!(options & WUNTRACED) && - !(p->ptrace & PT_PTRACED)) + !my_ptrace_child(p)) continue; retval = wait_task_stopped(p, ret == 2, + (options & WNOWAIT), + infop, stat_addr, ru); + if (retval == -EAGAIN) + goto repeat; if (retval != 0) /* He released the lock. */ - goto end_wait4; + goto end; break; - case TASK_ZOMBIE: + default: + // case EXIT_DEAD: + if (p->exit_state == EXIT_DEAD) + continue; + // case EXIT_ZOMBIE: + if (p->exit_state == EXIT_ZOMBIE) { + /* + * Eligible but we cannot release + * it yet: + */ + if (ret == 2) + goto check_continued; + if (!likely(options & WEXITED)) + continue; + retval = wait_task_zombie( + p, (options & WNOWAIT), + infop, stat_addr, ru); + /* He released the lock. */ + if (retval != 0) + goto end; + break; + } +check_continued: /* - * Eligible but we cannot release it yet: + * It's running now, so it might later + * exit, stop, or stop and then continue. */ - if (ret == 2) + flag = 1; + if (!unlikely(options & WCONTINUED)) continue; - retval = wait_task_zombie(p, stat_addr, ru); + + retval = wait_task_continued( + p, (options & WNOWAIT), + infop, stat_addr, ru); if (retval != 0) /* He released the lock. */ - goto end_wait4; + goto end; break; } } if (!flag) { - list_for_each (_p,&tsk->ptrace_children) { - p = list_entry(_p,struct task_struct,ptrace_list); + list_for_each(_p, &tsk->ptrace_children) { + p = list_entry(_p, struct task_struct, + ptrace_list); if (!eligible_child(pid, options, p)) continue; flag = 1; @@ -1208,31 +1437,105 @@ repeat: if (tsk->signal != current->signal) BUG(); } while (tsk != current); + read_unlock(&tasklist_lock); if (flag) { retval = 0; if (options & WNOHANG) - goto end_wait4; + goto end; retval = -ERESTARTSYS; if (signal_pending(current)) - goto end_wait4; + goto end; schedule(); goto repeat; } retval = -ECHILD; -end_wait4: +end: current->state = TASK_RUNNING; remove_wait_queue(¤t->wait_chldexit,&wait); + if (infop) { + if (retval > 0) + retval = 0; + else { + /* + * For a WNOHANG return, clear out all the fields + * we would set so the user can easily tell the + * difference. + */ + if (!retval) + retval = put_user(0, &infop->si_signo); + if (!retval) + retval = put_user(0, &infop->si_errno); + if (!retval) + retval = put_user(0, &infop->si_code); + if (!retval) + retval = put_user(0, &infop->si_pid); + if (!retval) + retval = put_user(0, &infop->si_uid); + if (!retval) + retval = put_user(0, &infop->si_status); + } + } return retval; } +asmlinkage long sys_waitid(int which, pid_t pid, + struct siginfo __user *infop, int options, + struct rusage __user *ru) +{ + long ret; + + if (options & ~(WNOHANG|WNOWAIT|WEXITED|WSTOPPED|WCONTINUED)) + return -EINVAL; + if (!(options & (WEXITED|WSTOPPED|WCONTINUED))) + return -EINVAL; + + switch (which) { + case P_ALL: + pid = -1; + break; + case P_PID: + if (pid <= 0) + return -EINVAL; + break; + case P_PGID: + if (pid <= 0) + return -EINVAL; + pid = -pid; + break; + default: + return -EINVAL; + } + + ret = do_wait(pid, options, infop, NULL, ru); + + /* avoid REGPARM breakage on x86: */ + prevent_tail_call(ret); + return ret; +} + +asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, + int options, struct rusage __user *ru) +{ + long ret; + + if (options & ~(WNOHANG|WUNTRACED|WCONTINUED| + __WNOTHREAD|__WCLONE|__WALL)) + return -EINVAL; + ret = do_wait(pid, options | WEXITED, NULL, stat_addr, ru); + + /* avoid REGPARM breakage on x86: */ + prevent_tail_call(ret); + return ret; +} + #ifdef __ARCH_WANT_SYS_WAITPID /* * sys_waitpid() remains for compatibility. waitpid() should be * implemented by calling sys_wait4() from libc.a. */ -asmlinkage long sys_waitpid(pid_t pid, unsigned __user *stat_addr, int options) +asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options) { return sys_wait4(pid, stat_addr, options, NULL); } diff --git a/kernel/fork.c b/kernel/fork.c index 195394433..7430f8731 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -82,17 +83,18 @@ int nr_processes(void) static kmem_cache_t *task_struct_cachep; #endif -static void free_task(struct task_struct *tsk) +void free_task(struct task_struct *tsk) { free_thread_info(tsk->thread_info); clr_vx_info(&tsk->vx_info); clr_nx_info(&tsk->nx_info); free_task_struct(tsk); } +EXPORT_SYMBOL(free_task); void __put_task_struct(struct task_struct *tsk) { - WARN_ON(!(tsk->state & (TASK_DEAD | TASK_ZOMBIE))); + WARN_ON(!(tsk->exit_state & (EXIT_DEAD | EXIT_ZOMBIE))); WARN_ON(atomic_read(&tsk->usage)); WARN_ON(tsk == current); @@ -101,7 +103,9 @@ void __put_task_struct(struct task_struct *tsk) security_task_free(tsk); free_uid(tsk->user); put_group_info(tsk->group_info); - free_task(tsk); + + if (!profile_handoff_task(tsk)) + free_task(tsk); } void fastcall add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait) @@ -160,7 +164,12 @@ void fastcall prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int stat spin_lock_irqsave(&q->lock, flags); if (list_empty(&wait->task_list)) __add_wait_queue(q, wait); - set_current_state(state); + /* + * don't alter the task state if this is just going to + * queue an async wait queue callback + */ + if (is_sync_wait(wait)) + set_current_state(state); spin_unlock_irqrestore(&q->lock, flags); } @@ -175,7 +184,12 @@ prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state) spin_lock_irqsave(&q->lock, flags); if (list_empty(&wait->task_list)) __add_wait_queue_tail(q, wait); - set_current_state(state); + /* + * don't alter the task state if this is just going to + * queue an async wait queue callback + */ + if (is_sync_wait(wait)) + set_current_state(state); spin_unlock_irqrestore(&q->lock, flags); } @@ -295,6 +309,7 @@ static inline int dup_mmap(struct mm_struct * mm, struct mm_struct * oldmm) mm->free_area_cache = oldmm->mmap_base; mm->map_count = 0; mm->rss = 0; + mm->anon_rss = 0; cpus_clear(mm->cpu_vm_mask); mm->mm_rb = RB_ROOT; rb_link = &mm->mm_rb.rb_node; @@ -315,8 +330,11 @@ static inline int dup_mmap(struct mm_struct * mm, struct mm_struct * oldmm) for (mpnt = current->mm->mmap ; mpnt ; mpnt = mpnt->vm_next) { struct file *file; - if(mpnt->vm_flags & VM_DONTCOPY) + if (mpnt->vm_flags & VM_DONTCOPY) { + __vm_stat_account(mm, mpnt->vm_flags, mpnt->vm_file, + -vma_pages(mpnt)); continue; + } charge = 0; if (mpnt->vm_flags & VM_ACCOUNT) { unsigned int len = (mpnt->vm_end - mpnt->vm_start) >> PAGE_SHIFT; @@ -337,7 +355,6 @@ static inline int dup_mmap(struct mm_struct * mm, struct mm_struct * oldmm) tmp->vm_mm = mm; tmp->vm_next = NULL; anon_vma_link(tmp); - vma_prio_tree_init(tmp); file = tmp->vm_file; if (file) { struct inode *inode = file->f_dentry->d_inode; @@ -496,23 +513,39 @@ void mmput(struct mm_struct *mm) mmdrop(mm); } } +EXPORT_SYMBOL_GPL(mmput); -/* - * Checks if the use count of an mm is non-zero and if so - * returns a reference to it after bumping up the use count. - * If the use count is zero, it means this mm is going away, - * so return NULL. +/** + * get_task_mm - acquire a reference to the task's mm + * + * Returns %NULL if the task has no mm. Checks if the use count + * of the mm is non-zero and if so returns a reference to it, after + * bumping up the use count. User must release the mm via mmput() + * after use. Typically used by /proc and ptrace. + * + * If the use count is zero, it means that this mm is going away, + * so return %NULL. This only happens in the case of an AIO daemon + * which has temporarily adopted an mm (see use_mm), in the course + * of its final mmput, before exit_aio has completed. */ -struct mm_struct *mmgrab(struct mm_struct *mm) +struct mm_struct *get_task_mm(struct task_struct *task) { - spin_lock(&mmlist_lock); - if (!atomic_read(&mm->mm_users)) - mm = NULL; - else - atomic_inc(&mm->mm_users); - spin_unlock(&mmlist_lock); + struct mm_struct *mm; + + task_lock(task); + mm = task->mm; + if (mm) { + spin_lock(&mmlist_lock); + if (!atomic_read(&mm->mm_users)) + mm = NULL; + else + atomic_inc(&mm->mm_users); + spin_unlock(&mmlist_lock); + } + task_unlock(task); return mm; } +EXPORT_SYMBOL_GPL(get_task_mm); /* Please note the differences between mmput and mm_release. * mmput is called whenever we stop holding onto a mm_struct, @@ -558,8 +591,7 @@ static int copy_mm(unsigned long clone_flags, struct task_struct * tsk) int retval; tsk->min_flt = tsk->maj_flt = 0; - tsk->cmin_flt = tsk->cmaj_flt = 0; - tsk->nvcsw = tsk->nivcsw = tsk->cnvcsw = tsk->cnivcsw = 0; + tsk->nvcsw = tsk->nivcsw = 0; tsk->mm = NULL; tsk->active_mm = NULL; @@ -868,6 +900,10 @@ static inline int copy_signal(unsigned long clone_flags, struct task_struct * ts sig->leader = 0; /* session leadership doesn't inherit */ sig->tty_old_pgrp = 0; + sig->utime = sig->stime = sig->cutime = sig->cstime = 0; + sig->nvcsw = sig->nivcsw = sig->cnvcsw = sig->cnivcsw = 0; + sig->min_flt = sig->maj_flt = sig->cmin_flt = sig->cmaj_flt = 0; + return 0; } @@ -897,12 +933,13 @@ asmlinkage long sys_set_tid_address(int __user *tidptr) * parts of the process environment (as per the clone * flags). The actual kick-off is left to the caller. */ -struct task_struct *copy_process(unsigned long clone_flags, +static task_t *copy_process(unsigned long clone_flags, unsigned long stack_start, struct pt_regs *regs, unsigned long stack_size, int __user *parent_tidptr, - int __user *child_tidptr) + int __user *child_tidptr, + int pid) { int retval; struct task_struct *p = NULL; @@ -954,8 +991,8 @@ struct task_struct *copy_process(unsigned long clone_flags, } retval = -EAGAIN; - if (!vx_nproc_avail(1)) - goto bad_fork_cleanup_vm; + if (!vx_nproc_avail(1)) + goto bad_fork_cleanup_vm; if (atomic_read(&p->user->processes) >= p->rlim[RLIMIT_NPROC].rlim_cur) { @@ -985,13 +1022,7 @@ struct task_struct *copy_process(unsigned long clone_flags, init_delays(p); p->did_exec = 0; copy_flags(clone_flags, p); - if (clone_flags & CLONE_IDLETASK) - p->pid = 0; - else { - p->pid = alloc_pidmap(); - if (p->pid == -1) - goto bad_fork_cleanup; - } + p->pid = pid; retval = -EFAULT; if (clone_flags & CLONE_PARENT_SETTID) if (put_user(p->pid, parent_tidptr)) @@ -1015,11 +1046,11 @@ struct task_struct *copy_process(unsigned long clone_flags, p->real_timer.data = (unsigned long) p; p->utime = p->stime = 0; - p->cutime = p->cstime = 0; p->lock_depth = -1; /* -1 = no lock */ - p->start_time = get_jiffies_64(); + do_posix_clock_monotonic_gettime(&p->start_time); p->security = NULL; p->io_context = NULL; + p->io_wait = NULL; p->audit_context = NULL; #ifdef CONFIG_NUMA p->mempolicy = mpol_copy(p->mempolicy); @@ -1073,6 +1104,7 @@ struct task_struct *copy_process(unsigned long clone_flags, /* ok, now we should be set up.. */ p->exit_signal = (clone_flags & CLONE_THREAD) ? -1 : (clone_flags & CSIGNAL); p->pdeath_signal = 0; + p->exit_state = 0; /* Perform scheduler related setup */ sched_fork(p); @@ -1088,6 +1120,17 @@ struct task_struct *copy_process(unsigned long clone_flags, /* Need tasklist lock for parent etc handling! */ write_lock_irq(&tasklist_lock); + + /* + * The task hasn't been attached yet, so cpus_allowed mask cannot + * have changed. The cpus_allowed mask of the parent may have + * changed after it was copied first time, and it may then move to + * another CPU - so we re-copy it here and set the child's CPU to + * the parent's CPU. This avoids alot of nasty races. + */ + p->cpus_allowed = current->cpus_allowed; + set_task_cpu(p, smp_processor_id()); + /* * Check for pending SIGKILL! The new thread should not be allowed * to slip out of an OOM kill. (or normal SIGKILL.) @@ -1099,7 +1142,7 @@ struct task_struct *copy_process(unsigned long clone_flags, } /* CLONE_PARENT re-uses the old parent */ - if (clone_flags & CLONE_PARENT) + if (clone_flags & (CLONE_PARENT|CLONE_THREAD)) p->real_parent = current->real_parent; else p->real_parent = current; @@ -1135,26 +1178,25 @@ struct task_struct *copy_process(unsigned long clone_flags, } SET_LINKS(p); - if (p->ptrace & PT_PTRACED) + if (unlikely(p->ptrace & PT_PTRACED)) __ptrace_link(p, current->parent); attach_pid(p, PIDTYPE_PID, p->pid); + attach_pid(p, PIDTYPE_TGID, p->tgid); if (thread_group_leader(p)) { - attach_pid(p, PIDTYPE_TGID, p->tgid); attach_pid(p, PIDTYPE_PGID, process_group(p)); attach_pid(p, PIDTYPE_SID, p->signal->session); if (p->pid) __get_cpu_var(process_counts)++; - } else - link_pid(p, p->pids + PIDTYPE_TGID, &p->group_leader->pids[PIDTYPE_TGID].pid); + } p->ioprio = current->ioprio; nr_threads++; /* p is copy of current */ vxi = p->vx_info; if (vxi) { - atomic_inc(&vxi->cacct.nr_threads); - atomic_inc(&vxi->limit.rcur[RLIMIT_NPROC]); + atomic_inc(&vxi->cvirt.nr_threads); + vx_nproc_inc(p); } write_unlock_irq(&tasklist_lock); retval = 0; @@ -1167,9 +1209,8 @@ fork_out: bad_fork_cleanup_namespace: exit_namespace(p); bad_fork_cleanup_mm: - exit_mm(p); - if (p->active_mm) - mmdrop(p->active_mm); + if (p->mm) + mmput(p->mm); bad_fork_cleanup_signal: exit_signal(p); bad_fork_cleanup_sighand: @@ -1189,8 +1230,6 @@ bad_fork_cleanup_policy: mpol_free(p->mempolicy); #endif bad_fork_cleanup: - if (p->pid > 0) - free_pidmap(p->pid); if (p->binfmt) module_put(p->binfmt->module); bad_fork_cleanup_put_domain: @@ -1207,9 +1246,28 @@ bad_fork_free: goto fork_out; } +struct pt_regs * __devinit __attribute__((weak)) idle_regs(struct pt_regs *regs) +{ + memset(regs, 0, sizeof(struct pt_regs)); + return regs; +} + +task_t * __devinit fork_idle(int cpu) +{ + task_t *task; + struct pt_regs regs; + + task = copy_process(CLONE_VM, 0, idle_regs(®s), 0, NULL, NULL, 0); + if (!task) + return ERR_PTR(-ENOMEM); + init_idle(task, cpu); + unhash_process(task); + return task; +} + static inline int fork_traceflag (unsigned clone_flags) { - if (clone_flags & (CLONE_UNTRACED | CLONE_IDLETASK)) + if (clone_flags & CLONE_UNTRACED) return 0; else if (clone_flags & CLONE_VFORK) { if (current->ptrace & PT_TRACE_VFORK) @@ -1238,8 +1296,10 @@ long do_fork(unsigned long clone_flags, { struct task_struct *p; int trace = 0; - long pid; + long pid = alloc_pidmap(); + if (pid < 0) + return -EAGAIN; if (unlikely(current->ptrace)) { trace = fork_traceflag (clone_flags); if (trace) @@ -1252,13 +1312,11 @@ long do_fork(unsigned long clone_flags, } #endif - p = copy_process(clone_flags, stack_start, regs, stack_size, parent_tidptr, child_tidptr); + p = copy_process(clone_flags, stack_start, regs, stack_size, parent_tidptr, child_tidptr, pid); /* * Do this prior waking up the new thread - the thread pointer * might get invalid after that point, if the thread exits quickly. */ - pid = IS_ERR(p) ? PTR_ERR(p) : p->pid; - if (!IS_ERR(p)) { struct completion vfork; @@ -1277,31 +1335,10 @@ long do_fork(unsigned long clone_flags, set_tsk_thread_flag(p, TIF_SIGPENDING); } - if (!(clone_flags & CLONE_STOPPED)) { - /* - * Do the wakeup last. On SMP we treat fork() and - * CLONE_VM separately, because fork() has already - * created cache footprint on this CPU (due to - * copying the pagetables), hence migration would - * probably be costy. Threads on the other hand - * have less traction to the current CPU, and if - * there's an imbalance then the scheduler can - * migrate this fresh thread now, before it - * accumulates a larger cache footprint: - */ - if (clone_flags & CLONE_VM) - wake_up_forked_thread(p); - else - wake_up_forked_process(p); - } else { - int cpu = get_cpu(); - + if (!(clone_flags & CLONE_STOPPED)) + wake_up_new_task(p, clone_flags); + else p->state = TASK_STOPPED; - if (cpu_is_offline(task_cpu(p))) - set_task_cpu(p, cpu); - - put_cpu(); - } ++total_forks; if (unlikely (trace)) { @@ -1313,16 +1350,13 @@ long do_fork(unsigned long clone_flags, wait_for_completion(&vfork); if (unlikely (current->ptrace & PT_TRACE_VFORK_DONE)) ptrace_notify ((PTRACE_EVENT_VFORK_DONE << 8) | SIGTRAP); - } else - /* - * Let the child process run first, to avoid most of the - * COW overhead when the child exec()s afterwards. - */ - set_need_resched(); + } } else { #ifdef CONFIG_CKRM_TYPE_TASKCLASS numtasks_put_ref(current->taskclass); #endif + free_pidmap(pid); + pid = PTR_ERR(p); } return pid; } diff --git a/kernel/futex.c b/kernel/futex.c index 9a25d76bd..52bd8af1b 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -538,8 +538,8 @@ static int futex_wait(unsigned long uaddr, int val, unsigned long time) return 0; if (time == 0) return -ETIMEDOUT; - /* A spurious wakeup should never happen. */ - WARN_ON(!signal_pending(current)); + /* We expect signal_pending(current), but another thread may + * have handled it for us already. */ return -EINTR; out_unqueue: diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index bf19d1215..74ba3cb21 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -307,5 +307,6 @@ int __init kallsyms_init(void) entry->proc_fops = &kallsyms_operations; return 0; } +__initcall(kallsyms_init); EXPORT_SYMBOL(__print_symbol); diff --git a/kernel/kmod.c b/kernel/kmod.c index 579269c38..82bce0253 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -150,9 +150,8 @@ struct subprocess_info { /* * This is the task which runs the usermode application */ -static int ____call_usermodehelper(void *data) +int __exec_usermodehelper(char *path, char **argv, char **envp) { - struct subprocess_info *sub_info = data; int retval; /* Unblock all signals. */ @@ -163,12 +162,28 @@ static int ____call_usermodehelper(void *data) recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); + retval = -EPERM; + if (current->fs->root) + retval = execve(path, argv, envp); + + return retval; +} + +EXPORT_SYMBOL_GPL(__exec_usermodehelper); + +/* + * This is the task which runs the usermode application + */ +static int ____call_usermodehelper(void *data) +{ + struct subprocess_info *sub_info = data; + int retval; + /* We can run anywhere, unlike our parent keventd(). */ set_cpus_allowed(current, CPU_MASK_ALL); - retval = -EPERM; - if (current->fs->root) - retval = execve(sub_info->path, sub_info->argv,sub_info->envp); + retval = __exec_usermodehelper(sub_info->path, + sub_info->argv, sub_info->envp); /* Exec failed? */ sub_info->retval = retval; @@ -272,10 +287,8 @@ int call_usermodehelper(char *path, char **argv, char **envp, int wait) } EXPORT_SYMBOL(call_usermodehelper); -static __init int usermodehelper_init(void) +void __init usermodehelper_init(void) { khelper_wq = create_singlethread_workqueue("khelper"); BUG_ON(!khelper_wq); - return 0; } -core_initcall(usermodehelper_init); diff --git a/kernel/kthread.c b/kernel/kthread.c index 5689ebb1a..fc0767d84 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c @@ -108,7 +108,7 @@ static void keventd_create_kthread(void *_create) create->result = ERR_PTR(pid); } else { wait_for_completion(&create->started); - create->result = find_task_by_pid(pid); + create->result = find_task_by_real_pid(pid); } complete(&create->done); } diff --git a/kernel/module.c b/kernel/module.c index 1f94d35c6..934f5b1d6 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -90,13 +90,6 @@ static inline int strong_try_module_get(struct module *mod) return try_module_get(mod); } -/* Stub function for modules which don't have an initfn */ -int init_module(void) -{ - return 0; -} -EXPORT_SYMBOL(init_module); - /* A thread that wants to hold a reference to a module only while it * is running can call ths to safely exit. * nfsd and lockd use this. @@ -530,12 +523,6 @@ EXPORT_SYMBOL(module_refcount); /* This exists whether we can unload or not */ static void free_module(struct module *mod); -/* Stub function for modules which don't have an exitfn */ -void cleanup_module(void) -{ -} -EXPORT_SYMBOL(cleanup_module); - static void wait_for_zero_refcount(struct module *mod) { /* Since we might sleep for some time, drop the semaphore first */ @@ -590,7 +577,7 @@ sys_delete_module(const char __user *name_user, unsigned int flags) } /* If it has an init func, it must have an exit func to unload */ - if ((mod->init != init_module && mod->exit == cleanup_module) + if ((mod->init != NULL && mod->exit == NULL) || mod->unsafe) { forced = try_force(flags); if (!forced) { @@ -611,9 +598,11 @@ sys_delete_module(const char __user *name_user, unsigned int flags) wait_for_zero_refcount(mod); /* Final destruction now noone is using it. */ - up(&module_mutex); - mod->exit(); - down(&module_mutex); + if (mod->exit != NULL) { + up(&module_mutex); + mod->exit(); + down(&module_mutex); + } free_module(mod); out: @@ -640,7 +629,7 @@ static void print_unload_info(struct seq_file *m, struct module *mod) seq_printf(m, "[unsafe],"); } - if (mod->init != init_module && mod->exit == cleanup_module) { + if (mod->init != NULL && mod->exit == NULL) { printed_something = 1; seq_printf(m, "[permanent],"); } @@ -726,19 +715,6 @@ static inline int sysfs_unload_setup(struct module *mod) #endif /* CONFIG_MODULE_UNLOAD */ #ifdef CONFIG_OBSOLETE_MODPARM -static int param_set_byte(const char *val, struct kernel_param *kp) -{ - char *endp; - long l; - - if (!val) return -EINVAL; - l = simple_strtol(val, &endp, 0); - if (endp == val || *endp || ((char)l != l)) - return -EINVAL; - *((char *)kp->arg) = l; - return 0; -} - /* Bounds checking done below */ static int obsparm_copy_string(const char *val, struct kernel_param *kp) { @@ -1519,6 +1495,7 @@ static struct module *load_module(void __user *umod, long err = 0; void *percpu = NULL, *ptr = NULL; /* Stops spurious gcc warning */ struct exception_table_entry *extable; + int gpgsig_ok; DEBUGP("load_module: umod=%p, len=%lu, uargs=%p\n", umod, len, uargs); @@ -1544,17 +1521,19 @@ static struct module *load_module(void __user *umod, goto free_hdr; } - if (len < hdr->e_shoff + hdr->e_shnum * sizeof(Elf_Shdr)) - goto truncated; + /* verify the module (validates ELF and checks signature) */ + gpgsig_ok = 0; + err = module_verify(hdr, len); + if (err < 0) + goto free_hdr; + if (err == 1) + gpgsig_ok = 1; /* Convenience variables */ sechdrs = (void *)hdr + hdr->e_shoff; secstrings = (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; sechdrs[0].sh_addr = 0; - /* And these should exist, but gcc whinges if we don't init them */ - symindex = strindex = 0; - for (i = 1; i < hdr->e_shnum; i++) { if (sechdrs[i].sh_type != SHT_NOBITS && len < sechdrs[i].sh_offset + sechdrs[i].sh_size) @@ -1585,6 +1564,14 @@ static struct module *load_module(void __user *umod, goto free_hdr; } mod = (void *)sechdrs[modindex].sh_addr; + mod->gpgsig_ok = gpgsig_ok; + + if (symindex == 0) { + printk(KERN_WARNING "%s: module has no symbols (stripped?)\n", + mod->name); + err = -ENOEXEC; + goto free_hdr; + } /* Optional sections */ exportindex = find_sec(hdr, sechdrs, secstrings, "__ksymtab"); @@ -1625,14 +1612,6 @@ static struct module *load_module(void __user *umod, goto free_hdr; } - /* verify the signature on the module */ -#ifdef CONFIG_MODULE_SIG - if (module_verify_sig(hdr, sechdrs, secstrings, mod)) { - err = -EPERM; - goto free_hdr; - } -#endif - /* Now copy in args */ arglen = strlen_user(uargs); if (!arglen) { @@ -1854,7 +1833,7 @@ sys_init_module(void __user *umod, const char __user *uargs) { struct module *mod; - int ret; + int ret = 0; /* Must have permission */ if (!capable(CAP_SYS_MODULE)) @@ -1893,7 +1872,8 @@ sys_init_module(void __user *umod, up(¬ify_mutex); /* Start the module */ - ret = mod->init(); + if (mod->init != NULL) + ret = mod->init(); if (ret < 0) { /* Init routine failed: abort. Try to protect us from buggy refcounters. */ diff --git a/kernel/panic.c b/kernel/panic.c index 37f3e82de..fda5691de 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -42,8 +42,14 @@ static int __init panic_setup(char *str) } __setup("panic=", panic_setup); -int netdump_mode = 0; -EXPORT_SYMBOL_GPL(netdump_mode); +static long no_blink(long time) +{ + return 0; +} + +/* Returns how long it waited in ms */ +long (*panic_blink)(long time) = no_blink; +EXPORT_SYMBOL(panic_blink); /** * panic - halt the system @@ -57,6 +63,7 @@ EXPORT_SYMBOL_GPL(netdump_mode); NORET_TYPE void panic(const char * fmt, ...) { + long i; static char buf[1024]; va_list args; #if defined(CONFIG_ARCH_S390) @@ -69,8 +76,11 @@ NORET_TYPE void panic(const char * fmt, ...) va_end(args); printk(KERN_EMERG "Kernel panic: %s\n",buf); +#warning MEF netdump_func not part of 2.6.9-1.11-FC2; taking out call for now +#if 0 if (netdump_func) BUG(); +#endif if (in_interrupt()) printk(KERN_EMERG "In interrupt handler - not syncing\n"); else if (!current->pid) @@ -85,15 +95,17 @@ NORET_TYPE void panic(const char * fmt, ...) smp_send_stop(); #endif - if (panic_timeout > 0) { - int i; + notifier_call_chain(&panic_notifier_list, 0, buf); + + if (panic_timeout > 0) + { /* * Delay timeout seconds before rebooting the machine. * We can't use the "normal" timers since we just panicked.. */ printk(KERN_EMERG "Rebooting in %d seconds..",panic_timeout); #ifdef CONFIG_KEXEC -{ + { struct kimage *image; image = xchg(&kexec_image, 0); if (image) { @@ -103,9 +115,11 @@ NORET_TYPE void panic(const char * fmt, ...) } } #endif - for (i = 0; i < panic_timeout; i++) { + for (i = 0; i < panic_timeout*1000; ) { touch_nmi_watchdog(); - mdelay(1000); + i += panic_blink(i); + mdelay(1); + i++; } /* * Should we run the reboot notifier. For the moment Im @@ -126,8 +140,11 @@ NORET_TYPE void panic(const char * fmt, ...) disabled_wait(caller); #endif local_irq_enable(); - for (;;) - ; + for (i = 0;;) { + i += panic_blink(i); + mdelay(1); + i++; + } } EXPORT_SYMBOL(panic); @@ -138,6 +155,9 @@ EXPORT_SYMBOL(panic); * 'P' - Proprietary module has been loaded. * 'F' - Module has been forcibly loaded. * 'S' - SMP with CPUs not designed for SMP. + * 'R' - User forced a module unload. + * 'M' - Machine had a machine check experience. + * 'B' - System has hit bad_page. * * The string is overwritten by the next call to print_taint(). */ @@ -146,12 +166,21 @@ const char *print_tainted(void) { static char buf[20]; if (tainted) { - snprintf(buf, sizeof(buf), "Tainted: %c%c%c", + snprintf(buf, sizeof(buf), "Tainted: %c%c%c%c%c%c", tainted & TAINT_PROPRIETARY_MODULE ? 'P' : 'G', tainted & TAINT_FORCED_MODULE ? 'F' : ' ', - tainted & TAINT_UNSAFE_SMP ? 'S' : ' '); + tainted & TAINT_UNSAFE_SMP ? 'S' : ' ', + tainted & TAINT_FORCED_RMMOD ? 'R' : ' ', + tainted & TAINT_MACHINE_CHECK ? 'M' : ' ', + tainted & TAINT_BAD_PAGE ? 'B' : ' '); } else snprintf(buf, sizeof(buf), "Not tainted"); return(buf); } + +void add_taint(unsigned flag) +{ + tainted |= flag; +} +EXPORT_SYMBOL(add_taint); diff --git a/kernel/params.c b/kernel/params.c index 5f38ee74a..cfd8a8413 100644 --- a/kernel/params.c +++ b/kernel/params.c @@ -171,6 +171,7 @@ int parse_args(const char *name, return sprintf(buffer, format, *((type *)kp->arg)); \ } +STANDARD_PARAM_DEF(byte, unsigned char, "%c", unsigned long, simple_strtoul); STANDARD_PARAM_DEF(short, short, "%hi", long, simple_strtol); STANDARD_PARAM_DEF(ushort, unsigned short, "%hu", unsigned long, simple_strtoul); STANDARD_PARAM_DEF(int, int, "%i", long, simple_strtol); @@ -339,6 +340,14 @@ int param_set_copystring(const char *val, struct kernel_param *kp) return 0; } +int param_get_string(char *buffer, struct kernel_param *kp) +{ + struct kparam_string *kps = kp->arg; + return strlcpy(buffer, kps->string, kps->maxlen); +} + +EXPORT_SYMBOL(param_set_byte); +EXPORT_SYMBOL(param_get_byte); EXPORT_SYMBOL(param_set_short); EXPORT_SYMBOL(param_get_short); EXPORT_SYMBOL(param_set_ushort); @@ -360,3 +369,4 @@ EXPORT_SYMBOL(param_get_invbool); EXPORT_SYMBOL(param_array_set); EXPORT_SYMBOL(param_array_get); EXPORT_SYMBOL(param_set_copystring); +EXPORT_SYMBOL(param_get_string); diff --git a/kernel/pid.c b/kernel/pid.c index 180383694..e1a1f4d51 100644 --- a/kernel/pid.c +++ b/kernel/pid.c @@ -25,10 +25,9 @@ #include #include #include -#include #define pid_hashfn(nr) hash_long((unsigned long)nr, pidhash_shift) -static struct list_head *pid_hash[PIDTYPE_MAX]; +static struct hlist_head *pid_hash[PIDTYPE_MAX]; static int pidhash_shift; int pid_max = PID_MAX_DEFAULT; @@ -147,73 +146,66 @@ failure: return -1; } -fastcall struct pid *find_pid(enum pid_type type, int nr) +struct pid * fastcall find_pid(enum pid_type type, int nr) { - struct list_head *elem, *bucket = &pid_hash[type][pid_hashfn(nr)]; + struct hlist_node *elem; struct pid *pid; - __list_for_each(elem, bucket) { - pid = list_entry(elem, struct pid, hash_chain); + hlist_for_each_entry(pid, elem, + &pid_hash[type][pid_hashfn(nr)], pid_chain) { if (pid->nr == nr) return pid; } return NULL; } -void fastcall link_pid(task_t *task, struct pid_link *link, struct pid *pid) -{ - atomic_inc(&pid->count); - list_add_tail(&link->pid_chain, &pid->task_list); - link->pidptr = pid; -} - int fastcall attach_pid(task_t *task, enum pid_type type, int nr) { - struct pid *pid = find_pid(type, nr); - - if (pid) - atomic_inc(&pid->count); - else { - pid = &task->pids[type].pid; - pid->nr = nr; - atomic_set(&pid->count, 1); - INIT_LIST_HEAD(&pid->task_list); - pid->task = task; - get_task_struct(task); - list_add(&pid->hash_chain, &pid_hash[type][pid_hashfn(nr)]); + struct pid *pid, *task_pid; + + task_pid = &task->pids[type]; + pid = find_pid(type, nr); + if (pid == NULL) { + hlist_add_head(&task_pid->pid_chain, + &pid_hash[type][pid_hashfn(nr)]); + INIT_LIST_HEAD(&task_pid->pid_list); + } else { + INIT_HLIST_NODE(&task_pid->pid_chain); + list_add_tail(&task_pid->pid_list, &pid->pid_list); } - list_add_tail(&task->pids[type].pid_chain, &pid->task_list); - task->pids[type].pidptr = pid; + task_pid->nr = nr; return 0; } static inline int __detach_pid(task_t *task, enum pid_type type) { - struct pid_link *link = task->pids + type; - struct pid *pid = link->pidptr; + struct pid *pid, *pid_next; int nr; - list_del(&link->pid_chain); - if (!atomic_dec_and_test(&pid->count)) - return 0; - + pid = &task->pids[type]; + if (!hlist_unhashed(&pid->pid_chain)) { + hlist_del(&pid->pid_chain); + if (!list_empty(&pid->pid_list)) { + pid_next = list_entry(pid->pid_list.next, + struct pid, pid_list); + /* insert next pid from pid_list to hash */ + hlist_add_head(&pid_next->pid_chain, + &pid_hash[type][pid_hashfn(pid_next->nr)]); + } + } + list_del(&pid->pid_list); nr = pid->nr; - list_del(&pid->hash_chain); - put_task_struct(pid->task); + pid->nr = 0; return nr; } -static void _detach_pid(task_t *task, enum pid_type type) -{ - __detach_pid(task, type); -} - void fastcall detach_pid(task_t *task, enum pid_type type) { - int nr = __detach_pid(task, type); + int nr; + nr = __detach_pid(task, type); if (!nr) return; @@ -223,17 +215,18 @@ void fastcall detach_pid(task_t *task, enum pid_type type) free_pidmap(nr); } -task_t *find_task_by_pid(int nr) +task_t *find_task_by_pid_type(int type, int nr) { - struct pid *pid = find_pid(PIDTYPE_PID, - vx_rmap_tgid(current->vx_info, nr)); + struct pid *pid; + pid = find_pid(type, nr); if (!pid) return NULL; - return pid_task(pid->task_list.next, PIDTYPE_PID); + + return pid_task(&pid->pid_list, type); } -EXPORT_SYMBOL(find_task_by_pid); +EXPORT_SYMBOL(find_task_by_pid_type); /* * This function switches the PIDs if a non-leader thread calls @@ -242,13 +235,13 @@ EXPORT_SYMBOL(find_task_by_pid); */ void switch_exec_pids(task_t *leader, task_t *thread) { - _detach_pid(leader, PIDTYPE_PID); - _detach_pid(leader, PIDTYPE_TGID); - _detach_pid(leader, PIDTYPE_PGID); - _detach_pid(leader, PIDTYPE_SID); + __detach_pid(leader, PIDTYPE_PID); + __detach_pid(leader, PIDTYPE_TGID); + __detach_pid(leader, PIDTYPE_PGID); + __detach_pid(leader, PIDTYPE_SID); - _detach_pid(thread, PIDTYPE_PID); - _detach_pid(thread, PIDTYPE_TGID); + __detach_pid(thread, PIDTYPE_PID); + __detach_pid(thread, PIDTYPE_TGID); leader->pid = leader->tgid = thread->pid; thread->pid = thread->tgid; @@ -265,6 +258,19 @@ void switch_exec_pids(task_t *leader, task_t *thread) attach_pid(leader, PIDTYPE_SID, leader->signal->session); } +/** + * pid_alive - check that a task structure is not stale + * @p: Task structure to be checked. + * + * Test if a process is not yet dead (at most zombie state) + * If pid_alive fails, then pointers within the task structure + * can be stale and must not be dereferenced. + */ +int pid_alive(struct task_struct *p) +{ + return p->pids[PIDTYPE_PID].nr != 0; +} + /* * The pid hash table is scaled according to the amount of memory in the * machine. From a minimum of 16 slots up to 4096 slots at one gigabyte or @@ -273,23 +279,23 @@ void switch_exec_pids(task_t *leader, task_t *thread) void __init pidhash_init(void) { int i, j, pidhash_size; - unsigned long megabytes = max_pfn >> (20 - PAGE_SHIFT); + unsigned long megabytes = nr_kernel_pages >> (20 - PAGE_SHIFT); pidhash_shift = max(10, fls(megabytes * 4)); pidhash_shift = min(12, pidhash_shift); pidhash_size = 1 << pidhash_shift; - printk("PID hash table entries: %d (order %d: %Zd bytes)\n", + printk("PID hash table entries: %d (order: %d, %Zd bytes)\n", pidhash_size, pidhash_shift, - pidhash_size * sizeof(struct list_head)); + PIDTYPE_MAX * pidhash_size * sizeof(struct hlist_head)); for (i = 0; i < PIDTYPE_MAX; i++) { pid_hash[i] = alloc_bootmem(pidhash_size * - sizeof(struct list_head)); + sizeof(*(pid_hash[i]))); if (!pid_hash[i]) panic("Could not alloc pidhash!\n"); for (j = 0; j < pidhash_size; j++) - INIT_LIST_HEAD(&pid_hash[i][j]); + INIT_HLIST_HEAD(&pid_hash[i][j]); } } diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c index 42c248688..72530f71e 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c @@ -499,7 +499,7 @@ static inline struct task_struct * good_sigevent(sigevent_t * event) struct task_struct *rtn = current->group_leader; if ((event->sigev_notify & SIGEV_THREAD_ID ) && - (!(rtn = find_task_by_pid(event->sigev_notify_thread_id)) || + (!(rtn = find_task_by_real_pid(event->sigev_notify_thread_id)) || rtn->tgid != current->tgid || (event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_SIGNAL)) return NULL; @@ -650,7 +650,8 @@ sys_timer_create(clockid_t which_clock, list_add(&new_timer->list, &process->signal->posix_timers); spin_unlock_irqrestore(&process->sighand->siglock, flags); - get_task_struct(process); + if (new_timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) + get_task_struct(process); } else { spin_unlock_irqrestore(&process->sighand->siglock, flags); process = NULL; @@ -1102,7 +1103,7 @@ retry_delete: if (timer->it_process) { if (timer->it_sigev_notify == (SIGEV_SIGNAL|SIGEV_THREAD_ID)) put_task_struct(timer->it_process); - timer->it_process = NULL; + timer->it_process = NULL; } unlock_timer(timer, flags); release_posix_timer(timer, IT_ID_SET); @@ -1168,15 +1169,10 @@ void exit_itimers(struct signal_struct *sig) */ static int do_posix_gettime(struct k_clock *clock, struct timespec *tp) { - struct timeval tv; - if (clock->clock_get) return clock->clock_get(tp); - do_gettimeofday(&tv); - tp->tv_sec = tv.tv_sec; - tp->tv_nsec = tv.tv_usec * NSEC_PER_USEC; - + getnstimeofday(tp); return 0; } @@ -1192,24 +1188,16 @@ static u64 do_posix_clock_monotonic_gettime_parts( struct timespec *tp, struct timespec *mo) { u64 jiff; - struct timeval tpv; unsigned int seq; do { seq = read_seqbegin(&xtime_lock); - do_gettimeofday(&tpv); + getnstimeofday(tp); *mo = wall_to_monotonic; jiff = jiffies_64; } while(read_seqretry(&xtime_lock, seq)); - /* - * Love to get this before it is converted to usec. - * It would save a div AND a mpy. - */ - tp->tv_sec = tpv.tv_sec; - tp->tv_nsec = tpv.tv_usec * NSEC_PER_USEC; - return jiff; } diff --git a/kernel/power/Makefile b/kernel/power/Makefile index 2509213f5..fbdc63413 100644 --- a/kernel/power/Makefile +++ b/kernel/power/Makefile @@ -1,8 +1,11 @@ +ifeq ($(CONFIG_PM_DEBUG),y) +EXTRA_CFLAGS += -DDEBUG +endif + swsusp-smp-$(CONFIG_SMP) += smp.o obj-y := main.o process.o console.o pm.o -obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o $(swsusp-smp-y) -obj-$(CONFIG_PM_DISK) += disk.o pmdisk.o +obj-$(CONFIG_SOFTWARE_SUSPEND) += swsusp.o $(swsusp-smp-y) disk.o obj-$(CONFIG_MAGIC_SYSRQ) += poweroff.o diff --git a/kernel/power/pm.c b/kernel/power/pm.c index d1bc94307..8fca5822a 100644 --- a/kernel/power/pm.c +++ b/kernel/power/pm.c @@ -256,41 +256,10 @@ int pm_send_all(pm_request_t rqst, void *data) return 0; } -/** - * pm_find - find a device - * @type: type of device - * @from: where to start looking - * - * Scan the power management list for devices of a specific type. The - * return value for a matching device may be passed to further calls - * to this function to find further matches. A %NULL indicates the end - * of the list. - * - * To search from the beginning pass %NULL as the @from value. - * - * The caller MUST hold the pm_devs_lock lock when calling this - * function. The instant that the lock is dropped all pointers returned - * may become invalid. - */ - -struct pm_dev *pm_find(pm_dev_t type, struct pm_dev *from) -{ - struct list_head *entry = from ? from->entry.next:pm_devs.next; - while (entry != &pm_devs) { - struct pm_dev *dev = list_entry(entry, struct pm_dev, entry); - if (type == PM_UNKNOWN_DEV || dev->type == type) - return dev; - entry = entry->next; - } - return NULL; -} - EXPORT_SYMBOL(pm_register); EXPORT_SYMBOL(pm_unregister); EXPORT_SYMBOL(pm_unregister_all); -EXPORT_SYMBOL(pm_send); EXPORT_SYMBOL(pm_send_all); -EXPORT_SYMBOL(pm_find); EXPORT_SYMBOL(pm_active); diff --git a/kernel/power/process.c b/kernel/power/process.c index 0d1f63ec7..78d92dc6a 100644 --- a/kernel/power/process.c +++ b/kernel/power/process.c @@ -23,9 +23,10 @@ static inline int freezeable(struct task_struct * p) { if ((p == current) || (p->flags & PF_NOFREEZE) || - (p->state == TASK_ZOMBIE) || - (p->state == TASK_DEAD) || - (p->state == TASK_STOPPED)) + (p->exit_state == EXIT_ZOMBIE) || + (p->exit_state == EXIT_DEAD) || + (p->state == TASK_STOPPED) || + (p->state == TASK_TRACED)) return 0; return 1; } @@ -70,6 +71,7 @@ int freeze_processes(void) if (!freezeable(p)) continue; if ((p->flags & PF_FROZEN) || + (p->state == TASK_TRACED) || (p->state == TASK_STOPPED)) continue; diff --git a/kernel/power/swsusp.c b/kernel/power/swsusp.c index 081b65103..1c49df18d 100644 --- a/kernel/power/swsusp.c +++ b/kernel/power/swsusp.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include @@ -70,25 +71,16 @@ #include "power.h" -unsigned char software_suspend_enabled = 0; - -#define NORESUME 1 -#define RESUME_SPECIFIED 2 - /* References to section boundaries */ extern char __nosave_begin, __nosave_end; extern int is_head_of_free_region(struct page *); -/* Locks */ -spinlock_t suspend_pagedir_lock __nosavedata = SPIN_LOCK_UNLOCKED; - /* Variables to be preserved over suspend */ -static int pagedir_order_check; -static int nr_copy_pages_check; +int pagedir_order_check; +int nr_copy_pages_check; -static int resume_status; -static char resume_file[256] = ""; /* For resume= kernel option */ +extern char resume_file[]; static dev_t resume_device; /* Local variables that should not be affected by save */ unsigned int nr_copy_pages __nosavedata = 0; @@ -110,16 +102,16 @@ suspend_pagedir_t *pagedir_nosave __nosavedata = NULL; static suspend_pagedir_t *pagedir_save; static int pagedir_order __nosavedata = 0; -struct link { - char dummy[PAGE_SIZE - sizeof(swp_entry_t)]; - swp_entry_t next; -}; +#define SWSUSP_SIG "S1SUSPEND" -union diskpage { - union swap_header swh; - struct link link; - struct suspend_header sh; -}; +struct swsusp_header { + char reserved[PAGE_SIZE - 20 - sizeof(swp_entry_t)]; + swp_entry_t swsusp_info; + char orig_sig[10]; + char sig[10]; +} __attribute__((packed, aligned(PAGE_SIZE))) swsusp_header; + +struct swsusp_info swsusp_info; /* * XXX: We try to keep some more pages free so that I/O operations succeed @@ -127,54 +119,10 @@ union diskpage { */ #define PAGES_FOR_IO 512 -static const char name_suspend[] = "Suspend Machine: "; -static const char name_resume[] = "Resume Machine: "; - -/* - * Debug - */ -#define DEBUG_DEFAULT -#undef DEBUG_PROCESS -#undef DEBUG_SLOW -#define TEST_SWSUSP 0 /* Set to 1 to reboot instead of halt machine after suspension */ - -#ifdef DEBUG_DEFAULT -# define PRINTK(f, a...) printk(f, ## a) -#else -# define PRINTK(f, a...) do { } while(0) -#endif - -#ifdef DEBUG_SLOW -#define MDELAY(a) mdelay(a) -#else -#define MDELAY(a) do { } while(0) -#endif - /* * Saving part... */ -static __inline__ int fill_suspend_header(struct suspend_header *sh) -{ - memset((char *)sh, 0, sizeof(*sh)); - - sh->version_code = LINUX_VERSION_CODE; - sh->num_physpages = num_physpages; - strncpy(sh->machine, system_utsname.machine, 8); - strncpy(sh->version, system_utsname.version, 20); - /* FIXME: Is this bogus? --RR */ - sh->num_cpus = num_online_cpus(); - sh->page_size = PAGE_SIZE; - sh->suspend_pagedir = pagedir_nosave; - BUG_ON (pagedir_save != pagedir_nosave); - sh->num_pbes = nr_copy_pages; - /* TODO: needed? mounted fs' last mounted date comparison - * [so they haven't been mounted since last suspend. - * Maybe it isn't.] [we'd need to do this for _all_ fs-es] - */ - return 0; -} - /* We memorize in swapfile_used what swap devices are used for suspension */ #define SWAPFILE_UNUSED 0 #define SWAPFILE_SUSPEND 1 /* This is the suspending device */ @@ -182,47 +130,30 @@ static __inline__ int fill_suspend_header(struct suspend_header *sh) static unsigned short swapfile_used[MAX_SWAPFILES]; static unsigned short root_swap; -#define MARK_SWAP_SUSPEND 0 -#define MARK_SWAP_RESUME 2 -static void mark_swapfiles(swp_entry_t prev, int mode) +static int mark_swapfiles(swp_entry_t prev) { - swp_entry_t entry; - union diskpage *cur; - struct page *page; + int error; - if (root_swap == 0xFFFF) /* ignored */ - return; - - page = alloc_page(GFP_ATOMIC); - if (!page) - panic("Out of memory in mark_swapfiles"); - cur = page_address(page); - /* XXX: this is dirty hack to get first page of swap file */ - entry = swp_entry(root_swap, 0); - rw_swap_page_sync(READ, entry, page); - - if (mode == MARK_SWAP_RESUME) { - if (!memcmp("S1",cur->swh.magic.magic,2)) - memcpy(cur->swh.magic.magic,"SWAP-SPACE",10); - else if (!memcmp("S2",cur->swh.magic.magic,2)) - memcpy(cur->swh.magic.magic,"SWAPSPACE2",10); - else printk("%sUnable to find suspended-data signature (%.10s - misspelled?\n", - name_resume, cur->swh.magic.magic); + rw_swap_page_sync(READ, + swp_entry(root_swap, 0), + virt_to_page((unsigned long)&swsusp_header)); + if (!memcmp("SWAP-SPACE",swsusp_header.sig, 10) || + !memcmp("SWAPSPACE2",swsusp_header.sig, 10)) { + memcpy(swsusp_header.orig_sig,swsusp_header.sig, 10); + memcpy(swsusp_header.sig,SWSUSP_SIG, 10); + swsusp_header.swsusp_info = prev; + error = rw_swap_page_sync(WRITE, + swp_entry(root_swap, 0), + virt_to_page((unsigned long) + &swsusp_header)); } else { - if ((!memcmp("SWAP-SPACE",cur->swh.magic.magic,10))) - memcpy(cur->swh.magic.magic,"S1SUSP....",10); - else if ((!memcmp("SWAPSPACE2",cur->swh.magic.magic,10))) - memcpy(cur->swh.magic.magic,"S2SUSP....",10); - else panic("\nSwapspace is not swapspace (%.10s)\n", cur->swh.magic.magic); - cur->link.next = prev; /* prev is the first/last swap page of the resume area */ - /* link.next lies *no more* in last 4/8 bytes of magic */ + pr_debug("swsusp: Partition is not swap space.\n"); + error = -ENODEV; } - rw_swap_page_sync(WRITE, entry, page); - __free_page(page); + return error; } - /* * Check whether the swap device is the specified resume * device, irrespective of whether they are specified by @@ -243,7 +174,7 @@ static int is_resume_device(const struct swap_info_struct *swap_info) resume_device == MKDEV(imajor(inode), iminor(inode)); } -static void read_swapfiles(void) /* This is called before saving image */ +int swsusp_swap_check(void) /* This is called before saving image */ { int i, len; @@ -274,114 +205,211 @@ static void read_swapfiles(void) /* This is called before saving image */ } } swap_list_unlock(); + return (root_swap != 0xffff) ? 0 : -ENODEV; } -static void lock_swapdevices(void) /* This is called after saving image so modification - will be lost after resume... and that's what we want. */ +/** + * This is called after saving image so modification + * will be lost after resume... and that's what we want. + * we make the device unusable. A new call to + * lock_swapdevices can unlock the devices. + */ +static void lock_swapdevices(void) { int i; swap_list_lock(); for(i = 0; i< MAX_SWAPFILES; i++) if(swapfile_used[i] == SWAPFILE_IGNORED) { - swap_info[i].flags ^= 0xFF; /* we make the device unusable. A new call to - lock_swapdevices can unlock the devices. */ + swap_info[i].flags ^= 0xFF; } swap_list_unlock(); } + + /** - * write_suspend_image - Write entire image to disk. + * write_swap_page - Write one page to a fresh swap location. + * @addr: Address we're writing. + * @loc: Place to store the entry we used. * - * After writing suspend signature to the disk, suspend may no - * longer fail: we have ready-to-run image in swap, and rollback - * would happen on next reboot -- corrupting data. + * Allocate a new swap entry and 'sync' it. Note we discard -EIO + * errors. That is an artifact left over from swsusp. It did not + * check the return of rw_swap_page_sync() at all, since most pages + * written back to swap would return -EIO. + * This is a partial improvement, since we will at least return other + * errors, though we need to eventually fix the damn code. + */ + +static int write_page(unsigned long addr, swp_entry_t * loc) +{ + swp_entry_t entry; + int error = 0; + + entry = get_swap_page(); + if (swp_offset(entry) && + swapfile_used[swp_type(entry)] == SWAPFILE_SUSPEND) { + error = rw_swap_page_sync(WRITE, entry, + virt_to_page(addr)); + if (error == -EIO) + error = 0; + if (!error) + *loc = entry; + } else + error = -ENOSPC; + return error; +} + + +/** + * data_free - Free the swap entries used by the saved image. * - * Note: The buffer we allocate to use to write the suspend header is - * not freed; its not needed since the system is going down anyway - * (plus it causes an oops and I'm lazy^H^H^H^Htoo busy). + * Walk the list of used swap entries and free each one. + * This is only used for cleanup when suspend fails. */ -static int write_suspend_image(void) + +static void data_free(void) { + swp_entry_t entry; int i; - swp_entry_t entry, prev = { 0 }; - int nr_pgdir_pages = SUSPEND_PD_PAGES(nr_copy_pages); - union diskpage *cur, *buffer = (union diskpage *)get_zeroed_page(GFP_ATOMIC); - unsigned long address; - struct page *page; - if (!buffer) - return -ENOMEM; + for (i = 0; i < nr_copy_pages; i++) { + entry = (pagedir_nosave + i)->swap_address; + if (entry.val) + swap_free(entry); + else + break; + (pagedir_nosave + i)->swap_address = (swp_entry_t){0}; + } +} + + +/** + * data_write - Write saved image to swap. + * + * Walk the list of pages in the image and sync each one to swap. + */ + +static int data_write(void) +{ + int error = 0; + int i; printk( "Writing data to swap (%d pages): ", nr_copy_pages ); - for (i=0; iaddress; - page = virt_to_page(address); - rw_swap_page_sync(WRITE, entry, page); - (pagedir_nosave+i)->swap_address = entry; + error = write_page((pagedir_nosave+i)->address, + &((pagedir_nosave+i)->swap_address)); } - printk( "|\n" ); - printk( "Writing pagedir (%d pages): ", nr_pgdir_pages); - for (i=0; ilink.next = prev; - page = virt_to_page((unsigned long)cur); - rw_swap_page_sync(WRITE, entry, page); - prev = entry; +static int close_swap(void) +{ + swp_entry_t entry; + int error; + + error = write_page((unsigned long)&swsusp_info,&entry); + if (!error) { + printk( "S" ); + error = mark_swapfiles(entry); + printk( "|\n" ); } - printk("H"); - BUG_ON (sizeof(struct suspend_header) > PAGE_SIZE-sizeof(swp_entry_t)); - BUG_ON (sizeof(union diskpage) != PAGE_SIZE); - BUG_ON (sizeof(struct link) != PAGE_SIZE); - entry = get_swap_page(); - if (!entry.val) - panic( "\nNot enough swapspace when writing header" ); - if (swapfile_used[swp_type(entry)] != SWAPFILE_SUSPEND) - panic("\nNot enough swapspace for header on suspend device" ); - - cur = (void *) buffer; - if (fill_suspend_header(&cur->sh)) - BUG(); /* Not a BUG_ON(): we want fill_suspend_header to be called, always */ - - cur->link.next = prev; - - page = virt_to_page((unsigned long)cur); - rw_swap_page_sync(WRITE, entry, page); - prev = entry; - - printk( "S" ); - mark_swapfiles(prev, MARK_SWAP_SUSPEND); - printk( "|\n" ); - - MDELAY(1000); - return 0; + return error; } +/** + * free_pagedir_entries - Free pages used by the page directory. + * + * This is used during suspend for error recovery. + */ + +static void free_pagedir_entries(void) +{ + int i; + + for (i = 0; i < swsusp_info.pagedir_pages; i++) + swap_free(swsusp_info.pagedir[i]); +} + + +/** + * write_pagedir - Write the array of pages holding the page directory. + * @last: Last swap entry we write (needed for header). + */ + +static int write_pagedir(void) +{ + unsigned long addr = (unsigned long)pagedir_nosave; + int error = 0; + int n = SUSPEND_PD_PAGES(nr_copy_pages); + int i; + + swsusp_info.pagedir_pages = n; + printk( "Writing pagedir (%d pages)\n", n); + for (i = 0; i < n && !error; i++, addr += PAGE_SIZE) + error = write_page(addr, &swsusp_info.pagedir[i]); + return error; +} + +/** + * write_suspend_image - Write entire image and metadata. + * + */ + +static int write_suspend_image(void) +{ + int error; + + init_header(); + if ((error = data_write())) + goto FreeData; + + if ((error = write_pagedir())) + goto FreePagedir; + + if ((error = close_swap())) + goto FreePagedir; + Done: + return error; + FreePagedir: + free_pagedir_entries(); + FreeData: + data_free(); + goto Done; +} + + #ifdef CONFIG_HIGHMEM struct highmem_page { char *data; @@ -438,22 +466,30 @@ static int save_highmem_zone(struct zone *zone) } return 0; } +#endif /* CONFIG_HIGHMEM */ + static int save_highmem(void) { +#ifdef CONFIG_HIGHMEM struct zone *zone; int res = 0; + + pr_debug("swsusp: Saving Highmem\n"); for_each_zone(zone) { if (is_highmem(zone)) res = save_highmem_zone(zone); if (res) return res; } +#endif return 0; } static int restore_highmem(void) { +#ifdef CONFIG_HIGHMEM + printk("swsusp: Restoring Highmem\n"); while (highmem_copy) { struct highmem_page *save = highmem_copy; void *kaddr; @@ -465,9 +501,10 @@ static int restore_highmem(void) free_page((long) save->data); kfree(save); } +#endif return 0; } -#endif + static int pfn_is_nosave(unsigned long pfn) { @@ -476,57 +513,82 @@ static int pfn_is_nosave(unsigned long pfn) return (pfn >= nosave_begin_pfn) && (pfn < nosave_end_pfn); } -/* if *pagedir_p != NULL it also copies the counted pages */ -static int count_and_copy_zone(struct zone *zone, struct pbe **pagedir_p) +/** + * saveable - Determine whether a page should be cloned or not. + * @pfn: The page + * + * We save a page if it's Reserved, and not in the range of pages + * statically defined as 'unsaveable', or if it isn't reserved, and + * isn't part of a free chunk of pages. + * If it is part of a free chunk, we update @pfn to point to the last + * page of the chunk. + */ + +static int saveable(struct zone * zone, unsigned long * zone_pfn) { - unsigned long zone_pfn, chunk_size, nr_copy_pages = 0; - struct pbe *pbe = *pagedir_p; - for (zone_pfn = 0; zone_pfn < zone->spanned_pages; ++zone_pfn) { - struct page *page; - unsigned long pfn = zone_pfn + zone->zone_start_pfn; + unsigned long pfn = *zone_pfn + zone->zone_start_pfn; + unsigned long chunk_size; + struct page * page; - if (!(pfn%1000)) - printk("."); - if (!pfn_valid(pfn)) - continue; - page = pfn_to_page(pfn); - BUG_ON(PageReserved(page) && PageNosave(page)); - if (PageNosave(page)) - continue; - if (PageReserved(page) && pfn_is_nosave(pfn)) { - PRINTK("[nosave pfn 0x%lx]", pfn); - continue; - } - if ((chunk_size = is_head_of_free_region(page))) { - pfn += chunk_size - 1; - zone_pfn += chunk_size - 1; - continue; + if (!pfn_valid(pfn)) + return 0; + + if (!(pfn%1000)) + printk("."); + page = pfn_to_page(pfn); + BUG_ON(PageReserved(page) && PageNosave(page)); + if (PageNosave(page)) + return 0; + if (PageReserved(page) && pfn_is_nosave(pfn)) { + pr_debug("[nosave pfn 0x%lx]", pfn); + return 0; + } + if ((chunk_size = is_head_of_free_region(page))) { + *zone_pfn += chunk_size - 1; + return 0; + } + + return 1; +} + +static void count_data_pages(void) +{ + struct zone *zone; + unsigned long zone_pfn; + + nr_copy_pages = 0; + + for_each_zone(zone) { + if (!is_highmem(zone)) { + for (zone_pfn = 0; zone_pfn < zone->spanned_pages; ++zone_pfn) + nr_copy_pages += saveable(zone, &zone_pfn); } - nr_copy_pages++; - if (!pbe) - continue; - pbe->orig_address = (long) page_address(page); - /* Copy page is dangerous: it likes to mess with - preempt count on specific cpus. Wrong preempt count is then copied, - oops. */ - copy_page((void *)pbe->address, (void *)pbe->orig_address); - pbe++; } - *pagedir_p = pbe; - return nr_copy_pages; } -static int count_and_copy_data_pages(struct pbe *pagedir_p) + +static void copy_data_pages(void) { - int nr_copy_pages = 0; struct zone *zone; + unsigned long zone_pfn; + struct pbe * pbe = pagedir_nosave; + for_each_zone(zone) { if (!is_highmem(zone)) - nr_copy_pages += count_and_copy_zone(zone, &pagedir_p); + for (zone_pfn = 0; zone_pfn < zone->spanned_pages; ++zone_pfn) { + if (saveable(zone, &zone_pfn)) { + struct page * page; + page = pfn_to_page(zone_pfn + zone->zone_start_pfn); + pbe->orig_address = (long) page_address(page); + /* copy_page is no usable for copying task structs. */ + memcpy((void *)pbe->address, (void *)pbe->orig_address, PAGE_SIZE); + pbe++; + } + } } - return nr_copy_pages; } + static void free_suspend_pagedir_zone(struct zone *zone, unsigned long pagedir) { unsigned long zone_pfn, pagedir_end, pagedir_pfn, pagedir_end_pfn; @@ -547,119 +609,202 @@ static void free_suspend_pagedir_zone(struct zone *zone, unsigned long pagedir) } } -static void free_suspend_pagedir(unsigned long this_pagedir) +void swsusp_free(void) { + unsigned long p = (unsigned long)pagedir_save; struct zone *zone; for_each_zone(zone) { if (!is_highmem(zone)) - free_suspend_pagedir_zone(zone, this_pagedir); + free_suspend_pagedir_zone(zone, p); } - free_pages(this_pagedir, pagedir_order); + free_pages(p, pagedir_order); } -static suspend_pagedir_t *create_suspend_pagedir(int nr_copy_pages) + +/** + * calc_order - Determine the order of allocation needed for pagedir_save. + * + * This looks tricky, but is just subtle. Please fix it some time. + * Since there are %nr_copy_pages worth of pages in the snapshot, we need + * to allocate enough contiguous space to hold + * (%nr_copy_pages * sizeof(struct pbe)), + * which has the saved/orig locations of the page.. + * + * SUSPEND_PD_PAGES() tells us how many pages we need to hold those + * structures, then we call get_bitmask_order(), which will tell us the + * last bit set in the number, starting with 1. (If we need 30 pages, that + * is 0x0000001e in hex. The last bit is the 5th, which is the order we + * would use to allocate 32 contiguous pages). + * + * Since we also need to save those pages, we add the number of pages that + * we need to nr_copy_pages, and in case of an overflow, do the + * calculation again to update the number of pages needed. + * + * With this model, we will tend to waste a lot of memory if we just cross + * an order boundary. Plus, the higher the order of allocation that we try + * to do, the more likely we are to fail in a low-memory situtation + * (though we're unlikely to get this far in such a case, since swsusp + * requires half of memory to be free anyway). + */ + + +static void calc_order(void) { - int i; - suspend_pagedir_t *pagedir; - struct pbe *p; - struct page *page; + int diff = 0; + int order = 0; + + do { + diff = get_bitmask_order(SUSPEND_PD_PAGES(nr_copy_pages)) - order; + if (diff) { + order += diff; + nr_copy_pages += 1 << diff; + } + } while(diff); + pagedir_order = order; +} - pagedir_order = get_bitmask_order(SUSPEND_PD_PAGES(nr_copy_pages)); - p = pagedir = (suspend_pagedir_t *)__get_free_pages(GFP_ATOMIC | __GFP_COLD, pagedir_order); - if (!pagedir) - return NULL; +/** + * alloc_pagedir - Allocate the page directory. + * + * First, determine exactly how many contiguous pages we need and + * allocate them. + */ - page = virt_to_page(pagedir); - for(i=0; i < 1<address = get_zeroed_page(GFP_ATOMIC | __GFP_COLD); - if (!p->address) { - free_suspend_pagedir((unsigned long) pagedir); - return NULL; - } + if(!p->address) + goto Error; SetPageNosave(virt_to_page(p->address)); - p->orig_address = 0; - p++; } - return pagedir; + return 0; + Error: + do { + if (p->address) + free_page(p->address); + p->address = 0; + } while (p-- > pagedir_save); + return -ENOMEM; } -static int prepare_suspend_processes(void) + +/** + * enough_free_mem - Make sure we enough free memory to snapshot. + * + * Returns TRUE or FALSE after checking the number of available + * free pages. + */ + +static int enough_free_mem(void) { - sys_sync(); /* Syncing needs pdflushd, so do it before stopping processes */ - if (freeze_processes()) { - printk( KERN_ERR "Suspend failed: Not all processes stopped!\n" ); - thaw_processes(); - return 1; + if (nr_free_pages() < (nr_copy_pages + PAGES_FOR_IO)) { + pr_debug("swsusp: Not enough free pages: Have %d\n", + nr_free_pages()); + return 0; } - return 0; + return 1; } -/* - * Try to free as much memory as possible, but do not OOM-kill anyone + +/** + * enough_swap - Make sure we have enough swap to save the image. + * + * Returns TRUE or FALSE after checking the total amount of swap + * space avaiable. * - * Notice: all userland should be stopped at this point, or livelock is possible. + * FIXME: si_swapinfo(&i) returns all swap devices information. + * We should only consider resume_device. */ -static void free_some_memory(void) + +static int enough_swap(void) { - printk("Freeing memory: "); - while (shrink_all_memory(10000)) - printk("."); - printk("|\n"); + struct sysinfo i; + + si_swapinfo(&i); + if (i.freeswap < (nr_copy_pages + PAGES_FOR_IO)) { + pr_debug("swsusp: Not enough swap. Need %ld\n",i.freeswap); + return 0; + } + return 1; } -static int suspend_prepare_image(void) +static int swsusp_alloc(void) { - struct sysinfo i; - unsigned int nr_needed_pages = 0; + int error; + + pr_debug("suspend: (pages needed: %d + %d free: %d)\n", + nr_copy_pages, PAGES_FOR_IO, nr_free_pages()); pagedir_nosave = NULL; - printk( "/critical section: "); -#ifdef CONFIG_HIGHMEM - printk( "handling highmem" ); - if (save_highmem()) { - printk(KERN_CRIT "%sNot enough free pages for highmem\n", name_suspend); + if (!enough_free_mem()) return -ENOMEM; - } - printk(", "); -#endif - printk("counting pages to copy" ); - drain_local_pages(); - nr_copy_pages = count_and_copy_data_pages(NULL); - nr_needed_pages = nr_copy_pages + PAGES_FOR_IO; - - printk(" (pages needed: %d+%d=%d free: %d)\n",nr_copy_pages,PAGES_FOR_IO,nr_needed_pages,nr_free_pages()); - if(nr_free_pages() < nr_needed_pages) { - printk(KERN_CRIT "%sCouldn't get enough free pages, on %d pages short\n", - name_suspend, nr_needed_pages-nr_free_pages()); - root_swap = 0xFFFF; - return -ENOMEM; - } - si_swapinfo(&i); /* FIXME: si_swapinfo(&i) returns all swap devices information. - We should only consider resume_device. */ - if (i.freeswap < nr_needed_pages) { - printk(KERN_CRIT "%sThere's not enough swap space available, on %ld pages short\n", - name_suspend, nr_needed_pages-i.freeswap); + if (!enough_swap()) return -ENOSPC; - } - PRINTK( "Alloc pagedir\n" ); - pagedir_save = pagedir_nosave = create_suspend_pagedir(nr_copy_pages); - if (!pagedir_nosave) { - /* Pagedir is big, one-chunk allocation. It is easily possible for this allocation to fail */ - printk(KERN_CRIT "%sCouldn't allocate continuous pagedir\n", name_suspend); - return -ENOMEM; + if ((error = alloc_pagedir())) { + pr_debug("suspend: Allocating pagedir failed.\n"); + return error; + } + if ((error = alloc_image_pages())) { + pr_debug("suspend: Allocating image pages failed.\n"); + swsusp_free(); + return error; } + nr_copy_pages_check = nr_copy_pages; pagedir_order_check = pagedir_order; + return 0; +} + +int suspend_prepare_image(void) +{ + unsigned int nr_needed_pages = 0; + int error; + + pr_debug("swsusp: critical section: \n"); + if (save_highmem()) { + printk(KERN_CRIT "Suspend machine: Not enough free pages for highmem\n"); + return -ENOMEM; + } + + drain_local_pages(); + count_data_pages(); + printk("swsusp: Need to copy %u pages\n",nr_copy_pages); + nr_needed_pages = nr_copy_pages + PAGES_FOR_IO; - drain_local_pages(); /* During allocating of suspend pagedir, new cold pages may appear. Kill them */ - if (nr_copy_pages != count_and_copy_data_pages(pagedir_nosave)) /* copy */ - BUG(); + error = swsusp_alloc(); + if (error) + return error; + + /* During allocating of suspend pagedir, new cold pages may appear. + * Kill them. + */ + drain_local_pages(); + copy_data_pages(); /* * End of critical section. From now on, we can write to memory, @@ -667,205 +812,86 @@ static int suspend_prepare_image(void) * touch swap space! Except we must write out our image of course. */ - printk( "critical section/: done (%d pages copied)\n", nr_copy_pages ); + printk("swsusp: critical section/: done (%d pages copied)\n", nr_copy_pages ); return 0; } -static void suspend_save_image(void) + +/* It is important _NOT_ to umount filesystems at this point. We want + * them synced (in case something goes wrong) but we DO not want to mark + * filesystem clean: it is not. (And it does not matter, if we resume + * correctly, we'll mark system clean, anyway.) + */ +int swsusp_write(void) { + int error; device_resume(); - lock_swapdevices(); - write_suspend_image(); - lock_swapdevices(); /* This will unlock ignored swap devices since writing is finished */ + error = write_suspend_image(); + /* This will unlock ignored swap devices since writing is finished */ + lock_swapdevices(); + return error; - /* It is important _NOT_ to umount filesystems at this point. We want - * them synced (in case something goes wrong) but we DO not want to mark - * filesystem clean: it is not. (And it does not matter, if we resume - * correctly, we'll mark system clean, anyway.) - */ } -static void suspend_power_down(void) -{ - extern int C_A_D; - C_A_D = 0; - printk(KERN_EMERG "%s%s Trying to power down.\n", name_suspend, TEST_SWSUSP ? "Disable TEST_SWSUSP. NOT ": ""); -#ifdef CONFIG_VT - PRINTK(KERN_EMERG "shift_state: %04x\n", shift_state); - mdelay(1000); - if (TEST_SWSUSP ^ (!!(shift_state & (1 << KG_CTRL)))) - machine_restart(NULL); - else -#endif - { - device_suspend(3); - device_shutdown(); - machine_power_off(); - } - printk(KERN_EMERG "%sProbably not capable for powerdown. System halted.\n", name_suspend); - machine_halt(); - while (1); - /* NOTREACHED */ -} +extern asmlinkage int swsusp_arch_suspend(void); +extern asmlinkage int swsusp_arch_resume(void); -/* - * Magic happens here - */ -asmlinkage void do_magic_resume_1(void) +asmlinkage int swsusp_save(void) { - barrier(); - mb(); - spin_lock_irq(&suspend_pagedir_lock); /* Done to disable interrupts */ - - device_power_down(3); - PRINTK( "Waiting for DMAs to settle down...\n"); - mdelay(1000); /* We do not want some readahead with DMA to corrupt our memory, right? - Do it with disabled interrupts for best effect. That way, if some - driver scheduled DMA, we have good chance for DMA to finish ;-). */ + int error = 0; + + if ((error = swsusp_swap_check())) + return error; + return suspend_prepare_image(); } -asmlinkage void do_magic_resume_2(void) +int swsusp_suspend(void) { - BUG_ON (nr_copy_pages_check != nr_copy_pages); - BUG_ON (pagedir_order_check != pagedir_order); - - __flush_tlb_global(); /* Even mappings of "global" things (vmalloc) need to be fixed */ - - PRINTK( "Freeing prev allocated pagedir\n" ); - free_suspend_pagedir((unsigned long) pagedir_save); - -#ifdef CONFIG_HIGHMEM - printk( "Restoring highmem\n" ); + int error; + if ((error = arch_prepare_suspend())) + return error; + local_irq_disable(); + save_processor_state(); + error = swsusp_arch_suspend(); + /* Restore control flow magically appears here */ + restore_processor_state(); restore_highmem(); -#endif - printk("done, devices\n"); - - device_power_up(); - spin_unlock_irq(&suspend_pagedir_lock); - device_resume(); - - /* Fixme: this is too late; we should do this ASAP to avoid "infinite reboots" problem */ - PRINTK( "Fixing swap signatures... " ); - mark_swapfiles(((swp_entry_t) {0}), MARK_SWAP_RESUME); - PRINTK( "ok\n" ); - -#ifdef SUSPEND_CONSOLE - acquire_console_sem(); - update_screen(fg_console); - release_console_sem(); -#endif + local_irq_enable(); + return error; } -/* do_magic() is implemented in arch/?/kernel/suspend_asm.S, and basically does: - - if (!resume) { - do_magic_suspend_1(); - save_processor_state(); - SAVE_REGISTERS - do_magic_suspend_2(); - return; - } - GO_TO_SWAPPER_PAGE_TABLES - do_magic_resume_1(); - COPY_PAGES_BACK - RESTORE_REGISTERS - restore_processor_state(); - do_magic_resume_2(); - */ - -asmlinkage void do_magic_suspend_1(void) +asmlinkage int swsusp_restore(void) { - mb(); - barrier(); - BUG_ON(in_atomic()); - spin_lock_irq(&suspend_pagedir_lock); + BUG_ON (nr_copy_pages_check != nr_copy_pages); + BUG_ON (pagedir_order_check != pagedir_order); + + /* Even mappings of "global" things (vmalloc) need to be fixed */ + __flush_tlb_global(); + return 0; } -asmlinkage void do_magic_suspend_2(void) +int swsusp_resume(void) { - int is_problem; - read_swapfiles(); - device_power_down(3); - is_problem = suspend_prepare_image(); - device_power_up(); - spin_unlock_irq(&suspend_pagedir_lock); - if (!is_problem) { - kernel_fpu_end(); /* save_processor_state() does kernel_fpu_begin, and we need to revert it in order to pass in_atomic() checks */ - BUG_ON(in_atomic()); - suspend_save_image(); - suspend_power_down(); /* FIXME: if suspend_power_down is commented out, console is lost after few suspends ?! */ - } - - printk(KERN_EMERG "%sSuspend failed, trying to recover...\n", name_suspend); - MDELAY(1000); /* So user can wait and report us messages if armageddon comes :-) */ - - barrier(); - mb(); - spin_lock_irq(&suspend_pagedir_lock); /* Done to disable interrupts */ - - free_pages((unsigned long) pagedir_nosave, pagedir_order); - spin_unlock_irq(&suspend_pagedir_lock); - - device_resume(); - PRINTK( "Fixing swap signatures... " ); - mark_swapfiles(((swp_entry_t) {0}), MARK_SWAP_RESUME); - PRINTK( "ok\n" ); + int error; + local_irq_disable(); + /* We'll ignore saved state, but this gets preempt count (etc) right */ + save_processor_state(); + error = swsusp_arch_resume(); + /* Code below is only ever reached in case of failure. Otherwise + * execution continues at place where swsusp_arch_suspend was called + */ + BUG_ON(!error); + restore_processor_state(); + restore_highmem(); + local_irq_enable(); + return error; } -/* - * This is main interface to the outside world. It needs to be - * called from process context. - */ -int software_suspend(void) -{ - int res; - if (!software_suspend_enabled) - return -EAGAIN; - - software_suspend_enabled = 0; - might_sleep(); - if (arch_prepare_suspend()) { - printk("%sArchitecture failed to prepare\n", name_suspend); - return -EPERM; - } - if (pm_prepare_console()) - printk( "%sCan't allocate a console... proceeding\n", name_suspend); - if (!prepare_suspend_processes()) { - - /* At this point, all user processes and "dangerous" - kernel threads are stopped. Free some memory, as we - need half of memory free. */ - - free_some_memory(); - disable_nonboot_cpus(); - /* Save state of all device drivers, and stop them. */ - printk("Suspending devices... "); - if ((res = device_suspend(3))==0) { - /* If stopping device drivers worked, we proceed basically into - * suspend_save_image. - * - * do_magic(0) returns after system is resumed. - * - * do_magic() copies all "used" memory to "free" memory, then - * unsuspends all device drivers, and writes memory to disk - * using normal kernel mechanism. - */ - do_magic(0); - } - thaw_processes(); - enable_nonboot_cpus(); - } else - res = -EBUSY; - software_suspend_enabled = 1; - MDELAY(1000); - pm_restore_console(); - return res; -} /* More restore stuff */ @@ -874,14 +900,14 @@ int software_suspend(void) /* * Returns true if given address/order collides with any orig_address */ -static int does_collide_order(suspend_pagedir_t *pagedir, unsigned long addr, +static int __init does_collide_order(suspend_pagedir_t *pagedir, unsigned long addr, int order) { int i; unsigned long addre = addr + (PAGE_SIZE<orig_address >= addr && + for (i=0; i < nr_copy_pages; i++) + if ((pagedir+i)->orig_address >= addr && (pagedir+i)->orig_address < addre) return 1; @@ -892,7 +918,7 @@ static int does_collide_order(suspend_pagedir_t *pagedir, unsigned long addr, * We check here that pagedir & pages it points to won't collide with pages * where we're going to restore from the loaded pages later */ -static int check_pagedir(void) +static int __init check_pagedir(void) { int i; @@ -910,7 +936,7 @@ static int check_pagedir(void) return 0; } -static int relocate_pagedir(void) +static int __init swsusp_pagedir_relocate(void) { /* * We have to avoid recursion (not to overflow kernel stack), @@ -923,9 +949,9 @@ static int relocate_pagedir(void) printk("Relocating pagedir "); - if(!does_collide_order(old_pagedir, (unsigned long)old_pagedir, pagedir_order)) { + if (!does_collide_order(old_pagedir, (unsigned long)old_pagedir, pagedir_order)) { printk("not necessary\n"); - return 0; + return check_pagedir(); } while ((m = (void *) __get_free_pages(GFP_ATOMIC, pagedir_order)) != NULL) { @@ -953,283 +979,253 @@ static int relocate_pagedir(void) free_pages((unsigned long)f, pagedir_order); } printk("|\n"); - return ret; + return check_pagedir(); } -/* - * Sanity check if this image makes sense with this kernel/swap context - * I really don't think that it's foolproof but more than nothing.. +/** + * Using bio to read from swap. + * This code requires a bit more work than just using buffer heads + * but, it is the recommended way for 2.5/2.6. + * The following are to signal the beginning and end of I/O. Bios + * finish asynchronously, while we want them to happen synchronously. + * A simple atomic_t, and a wait loop take care of this problem. */ -static int sanity_check_failed(char *reason) -{ - printk(KERN_ERR "%s%s\n", name_resume, reason); - return -EPERM; -} +static atomic_t io_done = ATOMIC_INIT(0); -static int sanity_check(struct suspend_header *sh) +static void start_io(void) { - if (sh->version_code != LINUX_VERSION_CODE) - return sanity_check_failed("Incorrect kernel version"); - if (sh->num_physpages != num_physpages) - return sanity_check_failed("Incorrect memory size"); - if (strncmp(sh->machine, system_utsname.machine, 8)) - return sanity_check_failed("Incorrect machine type"); - if (strncmp(sh->version, system_utsname.version, 20)) - return sanity_check_failed("Incorrect version"); - if (sh->num_cpus != num_online_cpus()) - return sanity_check_failed("Incorrect number of cpus"); - if (sh->page_size != PAGE_SIZE) - return sanity_check_failed("Incorrect PAGE_SIZE"); - return 0; + atomic_set(&io_done,1); } -static int bdev_read_page(struct block_device *bdev, long pos, void *buf) +static int end_io(struct bio * bio, unsigned int num, int err) { - struct buffer_head *bh; - BUG_ON (pos%PAGE_SIZE); - bh = __bread(bdev, pos/PAGE_SIZE, PAGE_SIZE); - if (!bh || (!bh->b_data)) { - return -1; - } - memcpy(buf, bh->b_data, PAGE_SIZE); /* FIXME: may need kmap() */ - BUG_ON(!buffer_uptodate(bh)); - brelse(bh); + atomic_set(&io_done,0); return 0; -} +} -static int bdev_write_page(struct block_device *bdev, long pos, void *buf) +static void wait_io(void) { -#if 0 - struct buffer_head *bh; - BUG_ON (pos%PAGE_SIZE); - bh = __bread(bdev, pos/PAGE_SIZE, PAGE_SIZE); - if (!bh || (!bh->b_data)) { - return -1; - } - memcpy(bh->b_data, buf, PAGE_SIZE); /* FIXME: may need kmap() */ - BUG_ON(!buffer_uptodate(bh)); - generic_make_request(WRITE, bh); - if (!buffer_uptodate(bh)) - printk(KERN_CRIT "%sWarning %s: Fixing swap signatures unsuccessful...\n", name_resume, resume_file); - wait_on_buffer(bh); - brelse(bh); - return 0; -#endif - printk(KERN_CRIT "%sWarning %s: Fixing swap signatures unimplemented...\n", name_resume, resume_file); - return 0; + while(atomic_read(&io_done)) + io_schedule(); } -extern dev_t __init name_to_dev_t(const char *line); -static int __init __read_suspend_image(struct block_device *bdev, union diskpage *cur, int noresume) -{ - swp_entry_t next; - int i, nr_pgdir_pages; +static struct block_device * resume_bdev; -#define PREPARENEXT \ - { next = cur->link.next; \ - next.val = swp_offset(next) * PAGE_SIZE; \ - } +/** + * submit - submit BIO request. + * @rw: READ or WRITE. + * @off physical offset of page. + * @page: page we're reading or writing. + * + * Straight from the textbook - allocate and initialize the bio. + * If we're writing, make sure the page is marked as dirty. + * Then submit it and wait. + */ - if (bdev_read_page(bdev, 0, cur)) return -EIO; +static int submit(int rw, pgoff_t page_off, void * page) +{ + int error = 0; + struct bio * bio; - if ((!memcmp("SWAP-SPACE",cur->swh.magic.magic,10)) || - (!memcmp("SWAPSPACE2",cur->swh.magic.magic,10))) { - printk(KERN_ERR "%sThis is normal swap space\n", name_resume ); - return -EINVAL; + bio = bio_alloc(GFP_ATOMIC, 1); + if (!bio) + return -ENOMEM; + bio->bi_sector = page_off * (PAGE_SIZE >> 9); + bio_get(bio); + bio->bi_bdev = resume_bdev; + bio->bi_end_io = end_io; + + if (bio_add_page(bio, virt_to_page(page), PAGE_SIZE, 0) < PAGE_SIZE) { + printk("swsusp: ERROR: adding page to bio at %ld\n",page_off); + error = -EFAULT; + goto Done; } - PREPARENEXT; /* We have to read next position before we overwrite it */ - - if (!memcmp("S1",cur->swh.magic.magic,2)) - memcpy(cur->swh.magic.magic,"SWAP-SPACE",10); - else if (!memcmp("S2",cur->swh.magic.magic,2)) - memcpy(cur->swh.magic.magic,"SWAPSPACE2",10); - else { - if (noresume) - return -EINVAL; - panic("%sUnable to find suspended-data signature (%.10s - misspelled?\n", - name_resume, cur->swh.magic.magic); - } - if (noresume) { - /* We don't do a sanity check here: we want to restore the swap - whatever version of kernel made the suspend image; - We need to write swap, but swap is *not* enabled so - we must write the device directly */ - printk("%s: Fixing swap signatures %s...\n", name_resume, resume_file); - bdev_write_page(bdev, 0, cur); - } + if (rw == WRITE) + bio_set_pages_dirty(bio); + start_io(); + submit_bio(rw | (1 << BIO_RW_SYNC), bio); + wait_io(); + Done: + bio_put(bio); + return error; +} - printk( "%sSignature found, resuming\n", name_resume ); - MDELAY(1000); +int bio_read_page(pgoff_t page_off, void * page) +{ + return submit(READ, page_off, page); +} - if (bdev_read_page(bdev, next.val, cur)) return -EIO; - if (sanity_check(&cur->sh)) /* Is this same machine? */ - return -EPERM; - PREPARENEXT; +int bio_write_page(pgoff_t page_off, void * page) +{ + return submit(WRITE, page_off, page); +} - pagedir_save = cur->sh.suspend_pagedir; - nr_copy_pages = cur->sh.num_pbes; - nr_pgdir_pages = SUSPEND_PD_PAGES(nr_copy_pages); - pagedir_order = get_bitmask_order(nr_pgdir_pages); +/* + * Sanity check if this image makes sense with this kernel/swap context + * I really don't think that it's foolproof but more than nothing.. + */ - pagedir_nosave = (suspend_pagedir_t *)__get_free_pages(GFP_ATOMIC, pagedir_order); - if (!pagedir_nosave) - return -ENOMEM; +static const char * __init sanity_check(void) +{ + dump_info(); + if(swsusp_info.version_code != LINUX_VERSION_CODE) + return "kernel version"; + if(swsusp_info.num_physpages != num_physpages) + return "memory size"; + if (strcmp(swsusp_info.uts.sysname,system_utsname.sysname)) + return "system type"; + if (strcmp(swsusp_info.uts.release,system_utsname.release)) + return "kernel release"; + if (strcmp(swsusp_info.uts.version,system_utsname.version)) + return "version"; + if (strcmp(swsusp_info.uts.machine,system_utsname.machine)) + return "machine"; + if(swsusp_info.cpus != num_online_cpus()) + return "number of cpus"; + return NULL; +} - PRINTK( "%sReading pagedir, ", name_resume ); - /* We get pages in reverse order of saving! */ - for (i=nr_pgdir_pages-1; i>=0; i--) { - BUG_ON (!next.val); - cur = (union diskpage *)((char *) pagedir_nosave)+i; - if (bdev_read_page(bdev, next.val, cur)) return -EIO; - PREPARENEXT; - } - BUG_ON (next.val); +static int __init check_header(void) +{ + const char * reason = NULL; + int error; - if (relocate_pagedir()) - return -ENOMEM; - if (check_pagedir()) - return -ENOMEM; + if ((error = bio_read_page(swp_offset(swsusp_header.swsusp_info), &swsusp_info))) + return error; - printk( "Reading image data (%d pages): ", nr_copy_pages ); - for(i=0; i < nr_copy_pages; i++) { - swp_entry_t swap_address = (pagedir_nosave+i)->swap_address; - if (!(i%100)) - printk( "." ); - /* You do not need to check for overlaps... - ... check_pagedir already did this work */ - if (bdev_read_page(bdev, swp_offset(swap_address) * PAGE_SIZE, (char *)((pagedir_nosave+i)->address))) - return -EIO; + /* Is this same machine? */ + if ((reason = sanity_check())) { + printk(KERN_ERR "swsusp: Resume mismatch: %s\n",reason); + return -EPERM; } - printk( "|\n" ); - return 0; + nr_copy_pages = swsusp_info.image_pages; + return error; } -static int __init read_suspend_image(const char * specialfile, int noresume) +static int __init check_sig(void) { - union diskpage *cur; - unsigned long scratch_page = 0; int error; - char b[BDEVNAME_SIZE]; - - resume_device = name_to_dev_t(specialfile); - scratch_page = get_zeroed_page(GFP_ATOMIC); - cur = (void *) scratch_page; - if (cur) { - struct block_device *bdev; - printk("Resuming from device %s\n", - __bdevname(resume_device, b)); - bdev = open_by_devnum(resume_device, FMODE_READ); - if (IS_ERR(bdev)) { - error = PTR_ERR(bdev); - } else { - set_blocksize(bdev, PAGE_SIZE); - error = __read_suspend_image(bdev, cur, noresume); - blkdev_put(bdev); - } - } else error = -ENOMEM; - if (scratch_page) - free_page(scratch_page); - switch (error) { - case 0: - PRINTK("Reading resume file was successful\n"); - break; - case -EINVAL: - break; - case -EIO: - printk( "%sI/O error\n", name_resume); - break; - case -ENOENT: - printk( "%s%s: No such file or directory\n", name_resume, specialfile); - break; - case -ENOMEM: - printk( "%sNot enough memory\n", name_resume); - break; - default: - printk( "%sError %d resuming\n", name_resume, error ); + memset(&swsusp_header, 0, sizeof(swsusp_header)); + if ((error = bio_read_page(0, &swsusp_header))) + return error; + if (!memcmp(SWSUSP_SIG, swsusp_header.sig, 10)) { + memcpy(swsusp_header.sig, swsusp_header.orig_sig, 10); + + /* + * Reset swap signature now. + */ + error = bio_write_page(0, &swsusp_header); + } else { + pr_debug(KERN_ERR "swsusp: Invalid partition type.\n"); + return -EINVAL; } - MDELAY(1000); + if (!error) + pr_debug("swsusp: Signature found, resuming\n"); return error; } /** - * software_resume - Resume from a saved image. - * - * Called as a late_initcall (so all devices are discovered and - * initialized), we call swsusp to see if we have a saved image or not. - * If so, we quiesce devices, then restore the saved image. We will - * return above (in pm_suspend_disk() ) if everything goes well. - * Otherwise, we fail gracefully and return to the normally - * scheduled program. + * swsusp_read_data - Read image pages from swap. * + * You do not need to check for overlaps, check_pagedir() + * already did that. */ -static int __init software_resume(void) -{ - if (num_online_cpus() > 1) { - printk(KERN_WARNING "Software Suspend has malfunctioning SMP support. Disabled :(\n"); - return -EINVAL; - } - /* We enable the possibility of machine suspend */ - software_suspend_enabled = 1; - if (!resume_status) - return 0; - printk( "%s", name_resume ); - if (resume_status == NORESUME) { - if(resume_file[0]) - read_suspend_image(resume_file, 1); - printk( "disabled\n" ); - return 0; - } - MDELAY(1000); +static int __init data_read(void) +{ + struct pbe * p; + int error; + int i; - if (pm_prepare_console()) - printk("swsusp: Can't allocate a console... proceeding\n"); + if ((error = swsusp_pagedir_relocate())) + return error; - if (!resume_file[0] && resume_status == RESUME_SPECIFIED) { - printk( "suspension device unspecified\n" ); - return -EINVAL; + printk( "Reading image data (%d pages): ", nr_copy_pages ); + for(i = 0, p = pagedir_nosave; i < nr_copy_pages && !error; i++, p++) { + if (!(i%100)) + printk( "." ); + error = bio_read_page(swp_offset(p->swap_address), + (void *)p->address); } + printk(" %d done.\n",i); + return error; - printk( "resuming from %s\n", resume_file); - if (read_suspend_image(resume_file, 0)) - goto read_failure; - /* FIXME: Should we stop processes here, just to be safer? */ - disable_nonboot_cpus(); - device_suspend(3); - do_magic(1); - panic("This never returns"); - -read_failure: - pm_restore_console(); - return 0; } -late_initcall(software_resume); +extern dev_t __init name_to_dev_t(const char *line); -static int __init resume_setup(char *str) +static int __init read_pagedir(void) { - if (resume_status == NORESUME) - return 1; + unsigned long addr; + int i, n = swsusp_info.pagedir_pages; + int error = 0; - strncpy( resume_file, str, 255 ); - resume_status = RESUME_SPECIFIED; + pagedir_order = get_bitmask_order(n); - return 1; + addr =__get_free_pages(GFP_ATOMIC, pagedir_order); + if (!addr) + return -ENOMEM; + pagedir_nosave = (struct pbe *)addr; + + pr_debug("pmdisk: Reading pagedir (%d Pages)\n",n); + + for (i = 0; i < n && !error; i++, addr += PAGE_SIZE) { + unsigned long offset = swp_offset(swsusp_info.pagedir[i]); + if (offset) + error = bio_read_page(offset, (void *)addr); + else + error = -EFAULT; + } + if (error) + free_pages((unsigned long)pagedir_nosave, pagedir_order); + return error; } -static int __init noresume_setup(char *str) +static int __init read_suspend_image(void) { - resume_status = NORESUME; - return 1; + int error = 0; + + if ((error = check_sig())) + return error; + if ((error = check_header())) + return error; + if ((error = read_pagedir())) + return error; + if ((error = data_read())) + free_pages((unsigned long)pagedir_nosave, pagedir_order); + return error; } -__setup("noresume", noresume_setup); -__setup("resume=", resume_setup); +/** + * pmdisk_read - Read saved image from swap. + */ + +int __init swsusp_read(void) +{ + int error; + + if (!strlen(resume_file)) + return -ENOENT; -EXPORT_SYMBOL(software_suspend); -EXPORT_SYMBOL(software_suspend_enabled); + resume_device = name_to_dev_t(resume_file); + pr_debug("swsusp: Resume From Partition: %s\n", resume_file); + + resume_bdev = open_by_devnum(resume_device, FMODE_READ); + if (!IS_ERR(resume_bdev)) { + set_blocksize(resume_bdev, PAGE_SIZE); + error = read_suspend_image(); + blkdev_put(resume_bdev); + } else + error = PTR_ERR(resume_bdev); + + if (!error) + pr_debug("Reading resume file was successful\n"); + else + pr_debug("pmdisk: Error %d resuming\n", error); + return error; +} diff --git a/kernel/printk.c b/kernel/printk.c index 32452b3f5..01621ff4c 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -193,6 +193,8 @@ static int __init log_buf_len_setup(char *str) unsigned long size = memparse(str, &str); unsigned long flags; + if (size) + size = roundup_pow_of_two(size); if (size > log_buf_len) { unsigned long start, dest_idx, offset; char * new_log_buf; @@ -383,20 +385,6 @@ asmlinkage long sys_syslog(int type, char __user * buf, int len) return do_syslog(type, buf, len); } -/* - * Netdump special routine. Don't print to global log_buf, just to the - * actual console device(s). - */ -static void netdump_call_console_drivers(const char *buf, unsigned long len) -{ - struct console *con; - - for (con = console_drivers; con; con = con->next) { - if ((con->flags & CON_ENABLED) && con->write) - con->write(con, buf, len); - } -} - /* * Call the console drivers on a range of log_buf */ @@ -529,6 +517,17 @@ static void zap_locks(void) asmlinkage int printk(const char *fmt, ...) { va_list args; + int r; + + va_start(args, fmt); + r = vprintk(fmt, args); + va_end(args); + + return r; +} + +asmlinkage int vprintk(const char *fmt, va_list args) +{ unsigned long flags; int printed_len; char *p; @@ -542,15 +541,7 @@ asmlinkage int printk(const char *fmt, ...) spin_lock_irqsave(&logbuf_lock, flags); /* Emit the output into the temporary buffer */ - va_start(args, fmt); printed_len = vscnprintf(printk_buf, sizeof(printk_buf), fmt, args); - va_end(args); - - if (unlikely(netdump_mode)) { - netdump_call_console_drivers(printk_buf, printed_len); - spin_unlock_irqrestore(&logbuf_lock, flags); - goto out; - } /* * Copy the output into log_buf. If the caller didn't provide @@ -602,6 +593,7 @@ out: return printed_len; } EXPORT_SYMBOL(printk); +EXPORT_SYMBOL(vprintk); /** * acquire_console_sem - lock the console system for exclusive use. diff --git a/kernel/ptrace.c b/kernel/ptrace.c index b14b4a467..e679f454d 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -162,7 +162,7 @@ int ptrace_detach(struct task_struct *child, unsigned int data) write_lock_irq(&tasklist_lock); __ptrace_unlink(child); /* .. and wake it up. */ - if (child->state != TASK_ZOMBIE) + if (child->exit_state != EXIT_ZOMBIE) wake_up_process(child); write_unlock_irq(&tasklist_lock); diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index b331fe3f6..1b16bfc7d 100644 --- a/kernel/rcupdate.c +++ b/kernel/rcupdate.c @@ -17,9 +17,10 @@ * * Copyright (C) IBM Corporation, 2001 * - * Author: Dipankar Sarma + * Authors: Dipankar Sarma + * Manfred Spraul * - * Based on the original work by Paul McKenney + * Based on the original work by Paul McKenney * and inputs from Rusty Russell, Andrea Arcangeli and Andi Kleen. * Papers: * http://www.rdrop.com/users/paulmck/paper/rclockpdcsproof.pdf @@ -40,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -48,44 +50,82 @@ /* Definition for rcupdate control block. */ struct rcu_ctrlblk rcu_ctrlblk = { .cur = -300, .completed = -300 , .lock = SEQCNT_ZERO }; +struct rcu_ctrlblk rcu_bh_ctrlblk = + { .cur = -300, .completed = -300 , .lock = SEQCNT_ZERO }; /* Bookkeeping of the progress of the grace period */ -struct { - spinlock_t mutex; /* Guard this struct and writes to rcu_ctrlblk */ - cpumask_t rcu_cpu_mask; /* CPUs that need to switch in order */ +struct rcu_state { + spinlock_t lock; /* Guard this struct and writes to rcu_ctrlblk */ + cpumask_t cpumask; /* CPUs that need to switch in order */ /* for current batch to proceed. */ -} rcu_state ____cacheline_maxaligned_in_smp = - {.mutex = SPIN_LOCK_UNLOCKED, .rcu_cpu_mask = CPU_MASK_NONE }; +}; +struct rcu_state rcu_state ____cacheline_maxaligned_in_smp = + {.lock = SPIN_LOCK_UNLOCKED, .cpumask = CPU_MASK_NONE }; +struct rcu_state rcu_bh_state ____cacheline_maxaligned_in_smp = + {.lock = SPIN_LOCK_UNLOCKED, .cpumask = CPU_MASK_NONE }; DEFINE_PER_CPU(struct rcu_data, rcu_data) = { 0L }; +DEFINE_PER_CPU(struct rcu_data, rcu_bh_data) = { 0L }; /* Fake initialization required by compiler */ static DEFINE_PER_CPU(struct tasklet_struct, rcu_tasklet) = {NULL}; -#define RCU_tasklet(cpu) (per_cpu(rcu_tasklet, cpu)) +static int maxbatch = 10; /** - * call_rcu - Queue an RCU update request. + * call_rcu - Queue an RCU callback for invocation after a grace period. * @head: structure to be used for queueing the RCU updates. * @func: actual update function to be invoked after the grace period * - * The update function will be invoked as soon as all CPUs have performed - * a context switch or been seen in the idle loop or in a user process. - * The read-side of critical section that use call_rcu() for updation must - * be protected by rcu_read_lock()/rcu_read_unlock(). + * The update function will be invoked some time after a full grace + * period elapses, in other words after all currently executing RCU + * read-side critical sections have completed. RCU read-side critical + * sections are delimited by rcu_read_lock() and rcu_read_unlock(), + * and may be nested. */ void fastcall call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu)) { - int cpu; unsigned long flags; + struct rcu_data *rdp; head->func = func; head->next = NULL; local_irq_save(flags); - cpu = smp_processor_id(); - *RCU_nxttail(cpu) = head; - RCU_nxttail(cpu) = &head->next; + rdp = &__get_cpu_var(rcu_data); + *rdp->nxttail = head; + rdp->nxttail = &head->next; + local_irq_restore(flags); +} + +/** + * call_rcu_bh - Queue an RCU for invocation after a quicker grace period. + * @head: structure to be used for queueing the RCU updates. + * @func: actual update function to be invoked after the grace period + * + * The update function will be invoked some time after a full grace + * period elapses, in other words after all currently executing RCU + * read-side critical sections have completed. call_rcu_bh() assumes + * that the read-side critical sections end on completion of a softirq + * handler. This means that read-side critical sections in process + * context must not be interrupted by softirqs. This interface is to be + * used when most of the read-side critical sections are in softirq context. + * RCU read-side critical sections are delimited by rcu_read_lock() and + * rcu_read_unlock(), * if in interrupt context or rcu_read_lock_bh() + * and rcu_read_unlock_bh(), if in process context. These may be nested. + */ +void fastcall call_rcu_bh(struct rcu_head *head, + void (*func)(struct rcu_head *rcu)) +{ + unsigned long flags; + struct rcu_data *rdp; + + head->func = func; + head->next = NULL; + local_irq_save(flags); + rdp = &__get_cpu_var(rcu_bh_data); + *rdp->nxttail = head; + rdp->nxttail = &head->next; local_irq_restore(flags); } @@ -93,15 +133,23 @@ void fastcall call_rcu(struct rcu_head *head, * Invoke the completed RCU callbacks. They are expected to be in * a per-cpu list. */ -static void rcu_do_batch(struct rcu_head *list) +static void rcu_do_batch(struct rcu_data *rdp) { - struct rcu_head *next; + struct rcu_head *next, *list; + int count = 0; + list = rdp->donelist; while (list) { - next = list->next; + next = rdp->donelist = list->next; list->func(list); list = next; + if (++count >= maxbatch) + break; } + if (!rdp->donelist) + rdp->donetail = &rdp->donelist; + else + tasklet_schedule(&per_cpu(rcu_tasklet, rdp->cpu)); } /* @@ -109,15 +157,15 @@ static void rcu_do_batch(struct rcu_head *list) * The grace period handling consists out of two steps: * - A new grace period is started. * This is done by rcu_start_batch. The start is not broadcasted to - * all cpus, they must pick this up by comparing rcu_ctrlblk.cur with - * RCU_quiescbatch(cpu). All cpus are recorded in the - * rcu_state.rcu_cpu_mask bitmap. + * all cpus, they must pick this up by comparing rcp->cur with + * rdp->quiescbatch. All cpus are recorded in the + * rcu_state.cpumask bitmap. * - All cpus must go through a quiescent state. * Since the start of the grace period is not broadcasted, at least two * calls to rcu_check_quiescent_state are required: * The first call just notices that a new grace period is running. The * following calls check if there was a quiescent state since the beginning - * of the grace period. If so, it updates rcu_state.rcu_cpu_mask. If + * of the grace period. If so, it updates rcu_state.cpumask. If * the bitmap is empty, then the grace period is completed. * rcu_check_quiescent_state calls rcu_start_batch(0) to start the next grace * period (if necessary). @@ -125,22 +173,22 @@ static void rcu_do_batch(struct rcu_head *list) /* * Register a new batch of callbacks, and start it up if there is currently no * active batch and the batch to be registered has not already occurred. - * Caller must hold rcu_state.mutex. + * Caller must hold rcu_state.lock. */ -static void rcu_start_batch(int next_pending) +static void rcu_start_batch(struct rcu_ctrlblk *rcp, struct rcu_state *rsp, + int next_pending) { if (next_pending) - rcu_ctrlblk.next_pending = 1; + rcp->next_pending = 1; - if (rcu_ctrlblk.next_pending && - rcu_ctrlblk.completed == rcu_ctrlblk.cur) { + if (rcp->next_pending && + rcp->completed == rcp->cur) { /* Can't change, since spin lock held. */ - cpus_andnot(rcu_state.rcu_cpu_mask, cpu_online_map, - nohz_cpu_mask); - write_seqcount_begin(&rcu_ctrlblk.lock); - rcu_ctrlblk.next_pending = 0; - rcu_ctrlblk.cur++; - write_seqcount_end(&rcu_ctrlblk.lock); + cpus_andnot(rsp->cpumask, cpu_online_map, nohz_cpu_mask); + write_seqcount_begin(&rcp->lock); + rcp->next_pending = 0; + rcp->cur++; + write_seqcount_end(&rcp->lock); } } @@ -149,13 +197,13 @@ static void rcu_start_batch(int next_pending) * Clear it from the cpu mask and complete the grace period if it was the last * cpu. Start another grace period if someone has further entries pending */ -static void cpu_quiet(int cpu) +static void cpu_quiet(int cpu, struct rcu_ctrlblk *rcp, struct rcu_state *rsp) { - cpu_clear(cpu, rcu_state.rcu_cpu_mask); - if (cpus_empty(rcu_state.rcu_cpu_mask)) { + cpu_clear(cpu, rsp->cpumask); + if (cpus_empty(rsp->cpumask)) { /* batch completed ! */ - rcu_ctrlblk.completed = rcu_ctrlblk.cur; - rcu_start_batch(0); + rcp->completed = rcp->cur; + rcu_start_batch(rcp, rsp, 0); } } @@ -164,15 +212,14 @@ static void cpu_quiet(int cpu) * switch). If so and if it already hasn't done so in this RCU * quiescent cycle, then indicate that it has done so. */ -static void rcu_check_quiescent_state(void) +static void rcu_check_quiescent_state(struct rcu_ctrlblk *rcp, + struct rcu_state *rsp, struct rcu_data *rdp) { - int cpu = smp_processor_id(); - - if (RCU_quiescbatch(cpu) != rcu_ctrlblk.cur) { + if (rdp->quiescbatch != rcp->cur) { /* new grace period: record qsctr value. */ - RCU_qs_pending(cpu) = 1; - RCU_last_qsctr(cpu) = RCU_qsctr(cpu); - RCU_quiescbatch(cpu) = rcu_ctrlblk.cur; + rdp->qs_pending = 1; + rdp->last_qsctr = rdp->qsctr; + rdp->quiescbatch = rcp->cur; return; } @@ -180,7 +227,7 @@ static void rcu_check_quiescent_state(void) * qs_pending is checked instead of the actual bitmap to avoid * cacheline trashing. */ - if (!RCU_qs_pending(cpu)) + if (!rdp->qs_pending) return; /* @@ -188,19 +235,19 @@ static void rcu_check_quiescent_state(void) * we may miss one quiescent state of that CPU. That is * tolerable. So no need to disable interrupts. */ - if (RCU_qsctr(cpu) == RCU_last_qsctr(cpu)) + if (rdp->qsctr == rdp->last_qsctr) return; - RCU_qs_pending(cpu) = 0; + rdp->qs_pending = 0; - spin_lock(&rcu_state.mutex); + spin_lock(&rsp->lock); /* - * RCU_quiescbatch/batch.cur and the cpu bitmap can come out of sync + * rdp->quiescbatch/rcp->cur and the cpu bitmap can come out of sync * during cpu startup. Ignore the quiescent state. */ - if (likely(RCU_quiescbatch(cpu) == rcu_ctrlblk.cur)) - cpu_quiet(cpu); + if (likely(rdp->quiescbatch == rcp->cur)) + cpu_quiet(rdp->cpu, rcp, rsp); - spin_unlock(&rcu_state.mutex); + spin_unlock(&rsp->lock); } @@ -210,112 +257,140 @@ static void rcu_check_quiescent_state(void) * locking requirements, the list it's pulling from has to belong to a cpu * which is dead and hence not processing interrupts. */ -static void rcu_move_batch(struct rcu_head *list) +static void rcu_move_batch(struct rcu_data *this_rdp, struct rcu_head *list, + struct rcu_head **tail) { - int cpu; - local_irq_disable(); - - cpu = smp_processor_id(); - - while (list != NULL) { - *RCU_nxttail(cpu) = list; - RCU_nxttail(cpu) = &list->next; - list = list->next; - } + *this_rdp->nxttail = list; + if (list) + this_rdp->nxttail = tail; local_irq_enable(); } -static void rcu_offline_cpu(int cpu) +static void __rcu_offline_cpu(struct rcu_data *this_rdp, + struct rcu_ctrlblk *rcp, struct rcu_state *rsp, struct rcu_data *rdp) { /* if the cpu going offline owns the grace period * we can block indefinitely waiting for it, so flush * it here */ - spin_lock_bh(&rcu_state.mutex); - if (rcu_ctrlblk.cur != rcu_ctrlblk.completed) - cpu_quiet(cpu); - spin_unlock_bh(&rcu_state.mutex); + spin_lock_bh(&rsp->lock); + if (rcp->cur != rcp->completed) + cpu_quiet(rdp->cpu, rcp, rsp); + spin_unlock_bh(&rsp->lock); + rcu_move_batch(this_rdp, rdp->curlist, rdp->curtail); + rcu_move_batch(this_rdp, rdp->nxtlist, rdp->nxttail); - rcu_move_batch(RCU_curlist(cpu)); - rcu_move_batch(RCU_nxtlist(cpu)); - - tasklet_kill_immediate(&RCU_tasklet(cpu), cpu); +} +static void rcu_offline_cpu(int cpu) +{ + struct rcu_data *this_rdp = &get_cpu_var(rcu_data); + struct rcu_data *this_bh_rdp = &get_cpu_var(rcu_bh_data); + + __rcu_offline_cpu(this_rdp, &rcu_ctrlblk, &rcu_state, + &per_cpu(rcu_data, cpu)); + __rcu_offline_cpu(this_bh_rdp, &rcu_bh_ctrlblk, &rcu_bh_state, + &per_cpu(rcu_bh_data, cpu)); + put_cpu_var(rcu_data); + put_cpu_var(rcu_bh_data); + tasklet_kill_immediate(&per_cpu(rcu_tasklet, cpu), cpu); } -#endif +#else -void rcu_restart_cpu(int cpu) +static void rcu_offline_cpu(int cpu) { - spin_lock_bh(&rcu_state.mutex); - RCU_quiescbatch(cpu) = rcu_ctrlblk.completed; - RCU_qs_pending(cpu) = 0; - spin_unlock_bh(&rcu_state.mutex); } +#endif + /* * This does the RCU processing work from tasklet context. */ -static void rcu_process_callbacks(unsigned long unused) +static void __rcu_process_callbacks(struct rcu_ctrlblk *rcp, + struct rcu_state *rsp, struct rcu_data *rdp) { - int cpu = smp_processor_id(); - struct rcu_head *rcu_list = NULL; - - if (RCU_curlist(cpu) && - !rcu_batch_before(rcu_ctrlblk.completed, RCU_batch(cpu))) { - rcu_list = RCU_curlist(cpu); - RCU_curlist(cpu) = NULL; + if (rdp->curlist && !rcu_batch_before(rcp->completed, rdp->batch)) { + *rdp->donetail = rdp->curlist; + rdp->donetail = rdp->curtail; + rdp->curlist = NULL; + rdp->curtail = &rdp->curlist; } local_irq_disable(); - if (RCU_nxtlist(cpu) && !RCU_curlist(cpu)) { + if (rdp->nxtlist && !rdp->curlist) { int next_pending, seq; - RCU_curlist(cpu) = RCU_nxtlist(cpu); - RCU_nxtlist(cpu) = NULL; - RCU_nxttail(cpu) = &RCU_nxtlist(cpu); + rdp->curlist = rdp->nxtlist; + rdp->curtail = rdp->nxttail; + rdp->nxtlist = NULL; + rdp->nxttail = &rdp->nxtlist; local_irq_enable(); /* * start the next batch of callbacks */ do { - seq = read_seqcount_begin(&rcu_ctrlblk.lock); + seq = read_seqcount_begin(&rcp->lock); /* determine batch number */ - RCU_batch(cpu) = rcu_ctrlblk.cur + 1; - next_pending = rcu_ctrlblk.next_pending; - } while (read_seqcount_retry(&rcu_ctrlblk.lock, seq)); + rdp->batch = rcp->cur + 1; + next_pending = rcp->next_pending; + } while (read_seqcount_retry(&rcp->lock, seq)); if (!next_pending) { /* and start it/schedule start if it's a new batch */ - spin_lock(&rcu_state.mutex); - rcu_start_batch(1); - spin_unlock(&rcu_state.mutex); + spin_lock(&rsp->lock); + rcu_start_batch(rcp, rsp, 1); + spin_unlock(&rsp->lock); } } else { local_irq_enable(); } - rcu_check_quiescent_state(); - if (rcu_list) - rcu_do_batch(rcu_list); + rcu_check_quiescent_state(rcp, rsp, rdp); + if (rdp->donelist) + rcu_do_batch(rdp); +} + +static void rcu_process_callbacks(unsigned long unused) +{ + __rcu_process_callbacks(&rcu_ctrlblk, &rcu_state, + &__get_cpu_var(rcu_data)); + __rcu_process_callbacks(&rcu_bh_ctrlblk, &rcu_bh_state, + &__get_cpu_var(rcu_bh_data)); } void rcu_check_callbacks(int cpu, int user) { if (user || (idle_cpu(cpu) && !in_softirq() && - hardirq_count() <= (1 << HARDIRQ_SHIFT))) - RCU_qsctr(cpu)++; - tasklet_schedule(&RCU_tasklet(cpu)); + hardirq_count() <= (1 << HARDIRQ_SHIFT))) { + rcu_qsctr_inc(cpu); + rcu_bh_qsctr_inc(cpu); + } else if (!in_softirq()) + rcu_bh_qsctr_inc(cpu); + tasklet_schedule(&per_cpu(rcu_tasklet, cpu)); +} + +static void rcu_init_percpu_data(int cpu, struct rcu_ctrlblk *rcp, + struct rcu_data *rdp) +{ + memset(rdp, 0, sizeof(*rdp)); + rdp->curtail = &rdp->curlist; + rdp->nxttail = &rdp->nxtlist; + rdp->donetail = &rdp->donelist; + rdp->quiescbatch = rcp->completed; + rdp->qs_pending = 0; + rdp->cpu = cpu; } static void __devinit rcu_online_cpu(int cpu) { - memset(&per_cpu(rcu_data, cpu), 0, sizeof(struct rcu_data)); - tasklet_init(&RCU_tasklet(cpu), rcu_process_callbacks, 0UL); - RCU_nxttail(cpu) = &RCU_nxtlist(cpu); - RCU_quiescbatch(cpu) = rcu_ctrlblk.completed; - RCU_qs_pending(cpu) = 0; + struct rcu_data *rdp = &per_cpu(rcu_data, cpu); + struct rcu_data *bh_rdp = &per_cpu(rcu_bh_data, cpu); + + rcu_init_percpu_data(cpu, &rcu_ctrlblk, rdp); + rcu_init_percpu_data(cpu, &rcu_bh_ctrlblk, bh_rdp); + tasklet_init(&per_cpu(rcu_tasklet, cpu), rcu_process_callbacks, 0UL); } static int __devinit rcu_cpu_notify(struct notifier_block *self, @@ -326,11 +401,9 @@ static int __devinit rcu_cpu_notify(struct notifier_block *self, case CPU_UP_PREPARE: rcu_online_cpu(cpu); break; -#ifdef CONFIG_HOTPLUG_CPU case CPU_DEAD: rcu_offline_cpu(cpu); break; -#endif default: break; } @@ -370,8 +443,13 @@ static void wakeme_after_rcu(struct rcu_head *head) } /** - * synchronize-kernel - wait until all the CPUs have gone - * through a "quiescent" state. It may sleep. + * synchronize_kernel - wait until a grace period has elapsed. + * + * Control will return to the caller some time after a full grace + * period has elapsed, in other words after all currently executing RCU + * read-side critical sections have completed. RCU read-side critical + * sections are delimited by rcu_read_lock() and rcu_read_unlock(), + * and may be nested. */ void synchronize_kernel(void) { @@ -385,6 +463,7 @@ void synchronize_kernel(void) wait_for_completion(&rcu.completion); } - +module_param(maxbatch, int, 0); EXPORT_SYMBOL(call_rcu); +EXPORT_SYMBOL(call_rcu_bh); EXPORT_SYMBOL(synchronize_kernel); diff --git a/kernel/sched.c b/kernel/sched.c index f8356119c..501a90b46 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -24,13 +24,13 @@ #include #include #include -#include #include #include #include #include #include #include +#include #include #include #include @@ -40,8 +40,12 @@ #include #include #include +#include +#include #include #include +#include +#include #include #include @@ -73,8 +77,6 @@ EXPORT_SYMBOL(dump_oncpu); #define USER_PRIO(p) ((p)-MAX_RT_PRIO) #define TASK_USER_PRIO(p) USER_PRIO((p)->static_prio) #define MAX_USER_PRIO (USER_PRIO(MAX_PRIO)) -#define AVG_TIMESLICE (MIN_TIMESLICE + ((MAX_TIMESLICE - MIN_TIMESLICE) *\ - (MAX_PRIO-1-NICE_TO_PRIO(0))/(MAX_USER_PRIO - 1))) /* * Some helpers for converting nanosecond timing to jiffy resolution @@ -85,12 +87,12 @@ EXPORT_SYMBOL(dump_oncpu); /* * These are the 'tuning knobs' of the scheduler: * - * Minimum timeslice is 10 msecs, default timeslice is 100 msecs, - * maximum timeslice is 200 msecs. Timeslices get refilled after - * they expire. + * Minimum timeslice is 5 msecs (or 1 jiffy, whichever is larger), + * default timeslice is 100 msecs, maximum timeslice is 800 msecs. + * Timeslices get refilled after they expire. */ -#define MIN_TIMESLICE ( 10 * HZ / 1000) -#define MAX_TIMESLICE (200 * HZ / 1000) +#define MIN_TIMESLICE max(5 * HZ / 1000, 1) +#define DEF_TIMESLICE (100 * HZ / 1000) #define ON_RUNQUEUE_WEIGHT 30 #define CHILD_PENALTY 95 #define PARENT_PENALTY 100 @@ -98,7 +100,7 @@ EXPORT_SYMBOL(dump_oncpu); #define PRIO_BONUS_RATIO 25 #define MAX_BONUS (MAX_USER_PRIO * PRIO_BONUS_RATIO / 100) #define INTERACTIVE_DELTA 2 -#define MAX_SLEEP_AVG (AVG_TIMESLICE * MAX_BONUS) +#define MAX_SLEEP_AVG (DEF_TIMESLICE * MAX_BONUS) #define STARVATION_LIMIT (MAX_SLEEP_AVG) #define NS_MAX_SLEEP_AVG (JIFFIES_TO_NS(MAX_SLEEP_AVG)) #define CREDIT_LIMIT 100 @@ -179,26 +181,36 @@ EXPORT_SYMBOL(dump_oncpu); #endif /* - * BASE_TIMESLICE scales user-nice values [ -20 ... 19 ] - * to time slice values. + * task_timeslice() scales user-nice values [ -20 ... 0 ... 19 ] + * to time slice values: [800ms ... 100ms ... 5ms] * * The higher a thread's priority, the bigger timeslices * it gets during one round of execution. But even the lowest * priority thread gets MIN_TIMESLICE worth of execution time. - * - * task_timeslice() is the interface that is used by the scheduler. */ -#define BASE_TIMESLICE(p) (MIN_TIMESLICE + \ - ((MAX_TIMESLICE - MIN_TIMESLICE) * \ - (MAX_PRIO-1 - (p)->static_prio) / (MAX_USER_PRIO-1))) +#define SCALE_PRIO(x, prio) \ + max(x * (MAX_PRIO - prio) / (MAX_USER_PRIO/2), MIN_TIMESLICE) unsigned int task_timeslice(task_t *p) { - return BASE_TIMESLICE(p); + if (p->static_prio < NICE_TO_PRIO(0)) + return SCALE_PRIO(DEF_TIMESLICE*4, p->static_prio); + else + return SCALE_PRIO(DEF_TIMESLICE, p->static_prio); } +#define task_hot(p, now, sd) ((long long) ((now) - (p)->last_ran) \ + < (long long) (sd)->cache_hot_time) + +enum idle_type +{ + IDLE, + NOT_IDLE, + NEWLY_IDLE, + MAX_IDLE_TYPES +}; -#define task_hot(p, now, sd) ((now) - (p)->timestamp < (sd)->cache_hot_time) +struct sched_domain; /* * These are the runqueue data structures: @@ -223,10 +235,10 @@ struct runqueue { * remote CPUs use both these fields when doing load calculation. */ unsigned long nr_running; -#if defined(CONFIG_SMP) +#ifdef CONFIG_SMP unsigned long cpu_load; #endif - unsigned long long nr_switches, nr_preempt; + unsigned long long nr_switches; unsigned long expired_timestamp, nr_uninterruptible; unsigned long long timestamp_last_tick; task_t *curr, *idle; @@ -251,14 +263,188 @@ struct runqueue { struct list_head migration_queue; #endif -#ifdef CONFIG_VSERVER_HARDCPU +#ifdef CONFIG_VSERVER_HARDCPU struct list_head hold_queue; int idle_tokens; #endif + +#ifdef CONFIG_SCHEDSTATS + /* latency stats */ + struct sched_info rq_sched_info; + + /* sys_sched_yield() stats */ + unsigned long yld_exp_empty; + unsigned long yld_act_empty; + unsigned long yld_both_empty; + unsigned long yld_cnt; + + /* schedule() stats */ + unsigned long sched_noswitch; + unsigned long sched_switch; + unsigned long sched_cnt; + unsigned long sched_goidle; + + /* pull_task() stats */ + unsigned long pt_gained[MAX_IDLE_TYPES]; + unsigned long pt_lost[MAX_IDLE_TYPES]; + + /* active_load_balance() stats */ + unsigned long alb_cnt; + unsigned long alb_lost; + unsigned long alb_gained; + unsigned long alb_failed; + + /* try_to_wake_up() stats */ + unsigned long ttwu_cnt; + unsigned long ttwu_attempts; + unsigned long ttwu_moved; + + /* wake_up_new_task() stats */ + unsigned long wunt_cnt; + unsigned long wunt_moved; + + /* sched_migrate_task() stats */ + unsigned long smt_cnt; + + /* sched_balance_exec() stats */ + unsigned long sbe_cnt; +#endif }; static DEFINE_PER_CPU(struct runqueue, runqueues); +/* + * sched-domains (multiprocessor balancing) declarations: + */ +#ifdef CONFIG_SMP +#define SCHED_LOAD_SCALE 128UL /* increase resolution of load */ + +#define SD_BALANCE_NEWIDLE 1 /* Balance when about to become idle */ +#define SD_BALANCE_EXEC 2 /* Balance on exec */ +#define SD_WAKE_IDLE 4 /* Wake to idle CPU on task wakeup */ +#define SD_WAKE_AFFINE 8 /* Wake task to waking CPU */ +#define SD_WAKE_BALANCE 16 /* Perform balancing at task wakeup */ +#define SD_SHARE_CPUPOWER 32 /* Domain members share cpu power */ + +struct sched_group { + struct sched_group *next; /* Must be a circular list */ + cpumask_t cpumask; + + /* + * CPU power of this group, SCHED_LOAD_SCALE being max power for a + * single CPU. This is read only (except for setup, hotplug CPU). + */ + unsigned long cpu_power; +}; + +struct sched_domain { + /* These fields must be setup */ + struct sched_domain *parent; /* top domain must be null terminated */ + struct sched_group *groups; /* the balancing groups of the domain */ + cpumask_t span; /* span of all CPUs in this domain */ + unsigned long min_interval; /* Minimum balance interval ms */ + unsigned long max_interval; /* Maximum balance interval ms */ + unsigned int busy_factor; /* less balancing by factor if busy */ + unsigned int imbalance_pct; /* No balance until over watermark */ + unsigned long long cache_hot_time; /* Task considered cache hot (ns) */ + unsigned int cache_nice_tries; /* Leave cache hot tasks for # tries */ + unsigned int per_cpu_gain; /* CPU % gained by adding domain cpus */ + int flags; /* See SD_* */ + + /* Runtime fields. */ + unsigned long last_balance; /* init to jiffies. units in jiffies */ + unsigned int balance_interval; /* initialise to 1. units in ms. */ + unsigned int nr_balance_failed; /* initialise to 0 */ + +#ifdef CONFIG_SCHEDSTATS + /* load_balance() stats */ + unsigned long lb_cnt[MAX_IDLE_TYPES]; + unsigned long lb_failed[MAX_IDLE_TYPES]; + unsigned long lb_imbalance[MAX_IDLE_TYPES]; + unsigned long lb_nobusyg[MAX_IDLE_TYPES]; + unsigned long lb_nobusyq[MAX_IDLE_TYPES]; + + /* sched_balance_exec() stats */ + unsigned long sbe_attempts; + unsigned long sbe_pushed; + + /* try_to_wake_up() stats */ + unsigned long ttwu_wake_affine; + unsigned long ttwu_wake_balance; +#endif +}; + +#ifndef ARCH_HAS_SCHED_TUNE +#ifdef CONFIG_SCHED_SMT +#define ARCH_HAS_SCHED_WAKE_IDLE +/* Common values for SMT siblings */ +#define SD_SIBLING_INIT (struct sched_domain) { \ + .span = CPU_MASK_NONE, \ + .parent = NULL, \ + .groups = NULL, \ + .min_interval = 1, \ + .max_interval = 2, \ + .busy_factor = 8, \ + .imbalance_pct = 110, \ + .cache_hot_time = 0, \ + .cache_nice_tries = 0, \ + .per_cpu_gain = 25, \ + .flags = SD_BALANCE_NEWIDLE \ + | SD_BALANCE_EXEC \ + | SD_WAKE_AFFINE \ + | SD_WAKE_IDLE \ + | SD_SHARE_CPUPOWER, \ + .last_balance = jiffies, \ + .balance_interval = 1, \ + .nr_balance_failed = 0, \ +} +#endif + +/* Common values for CPUs */ +#define SD_CPU_INIT (struct sched_domain) { \ + .span = CPU_MASK_NONE, \ + .parent = NULL, \ + .groups = NULL, \ + .min_interval = 1, \ + .max_interval = 4, \ + .busy_factor = 64, \ + .imbalance_pct = 125, \ + .cache_hot_time = cache_decay_ticks*1000000 ? : (5*1000000/2),\ + .cache_nice_tries = 1, \ + .per_cpu_gain = 100, \ + .flags = SD_BALANCE_NEWIDLE \ + | SD_BALANCE_EXEC \ + | SD_WAKE_AFFINE \ + | SD_WAKE_BALANCE, \ + .last_balance = jiffies, \ + .balance_interval = 1, \ + .nr_balance_failed = 0, \ +} + +/* Arch can override this macro in processor.h */ +#if defined(CONFIG_NUMA) && !defined(SD_NODE_INIT) +#define SD_NODE_INIT (struct sched_domain) { \ + .span = CPU_MASK_NONE, \ + .parent = NULL, \ + .groups = NULL, \ + .min_interval = 8, \ + .max_interval = 32, \ + .busy_factor = 32, \ + .imbalance_pct = 125, \ + .cache_hot_time = (10*1000000), \ + .cache_nice_tries = 1, \ + .per_cpu_gain = 100, \ + .flags = SD_BALANCE_EXEC \ + | SD_WAKE_BALANCE, \ + .last_balance = jiffies, \ + .balance_interval = 1, \ + .nr_balance_failed = 0, \ +} +#endif +#endif /* ARCH_HAS_SCHED_TUNE */ +#endif + + #define for_each_domain(cpu, domain) \ for (domain = cpu_rq(cpu)->sd; domain; domain = domain->parent) @@ -301,6 +487,104 @@ static inline void task_rq_unlock(runqueue_t *rq, unsigned long *flags) spin_unlock_irqrestore(&rq->lock, *flags); } +#ifdef CONFIG_SCHEDSTATS +/* + * bump this up when changing the output format or the meaning of an existing + * format, so that tools can adapt (or abort) + */ +#define SCHEDSTAT_VERSION 10 + +static int show_schedstat(struct seq_file *seq, void *v) +{ + int cpu; + enum idle_type itype; + + seq_printf(seq, "version %d\n", SCHEDSTAT_VERSION); + seq_printf(seq, "timestamp %lu\n", jiffies); + for_each_online_cpu(cpu) { + runqueue_t *rq = cpu_rq(cpu); +#ifdef CONFIG_SMP + struct sched_domain *sd; + int dcnt = 0; +#endif + + /* runqueue-specific stats */ + seq_printf(seq, + "cpu%d %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu " + "%lu %lu %lu %lu %lu %lu %lu %lu %lu %lu", + cpu, rq->yld_both_empty, + rq->yld_act_empty, rq->yld_exp_empty, + rq->yld_cnt, rq->sched_noswitch, + rq->sched_switch, rq->sched_cnt, rq->sched_goidle, + rq->alb_cnt, rq->alb_gained, rq->alb_lost, + rq->alb_failed, + rq->ttwu_cnt, rq->ttwu_moved, rq->ttwu_attempts, + rq->wunt_cnt, rq->wunt_moved, + rq->smt_cnt, rq->sbe_cnt, rq->rq_sched_info.cpu_time, + rq->rq_sched_info.run_delay, rq->rq_sched_info.pcnt); + + for (itype = IDLE; itype < MAX_IDLE_TYPES; itype++) + seq_printf(seq, " %lu %lu", rq->pt_gained[itype], + rq->pt_lost[itype]); + seq_printf(seq, "\n"); + +#ifdef CONFIG_SMP + /* domain-specific stats */ + for_each_domain(cpu, sd) { + char mask_str[NR_CPUS]; + + cpumask_scnprintf(mask_str, NR_CPUS, sd->span); + seq_printf(seq, "domain%d %s", dcnt++, mask_str); + for (itype = IDLE; itype < MAX_IDLE_TYPES; itype++) { + seq_printf(seq, " %lu %lu %lu %lu %lu", + sd->lb_cnt[itype], + sd->lb_failed[itype], + sd->lb_imbalance[itype], + sd->lb_nobusyq[itype], + sd->lb_nobusyg[itype]); + } + seq_printf(seq, " %lu %lu %lu %lu\n", + sd->sbe_pushed, sd->sbe_attempts, + sd->ttwu_wake_affine, sd->ttwu_wake_balance); + } +#endif + } + return 0; +} + +static int schedstat_open(struct inode *inode, struct file *file) +{ + unsigned int size = PAGE_SIZE * (1 + num_online_cpus() / 32); + char *buf = kmalloc(size, GFP_KERNEL); + struct seq_file *m; + int res; + + if (!buf) + return -ENOMEM; + res = single_open(file, show_schedstat, NULL); + if (!res) { + m = file->private_data; + m->buf = buf; + m->size = size; + } else + kfree(buf); + return res; +} + +struct file_operations proc_schedstat_operations = { + .open = schedstat_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, +}; + +# define schedstat_inc(rq, field) rq->field++; +# define schedstat_add(rq, field, amt) rq->field += amt; +#else /* !CONFIG_SCHEDSTATS */ +# define schedstat_inc(rq, field) do { } while (0); +# define schedstat_add(rq, field, amt) do { } while (0); +#endif + /* * rq_lock - lock a given runqueue and disable interrupts. */ @@ -320,6 +604,112 @@ static inline void rq_unlock(runqueue_t *rq) spin_unlock_irq(&rq->lock); } +#ifdef CONFIG_SCHEDSTATS +/* + * Called when a process is dequeued from the active array and given + * the cpu. We should note that with the exception of interactive + * tasks, the expired queue will become the active queue after the active + * queue is empty, without explicitly dequeuing and requeuing tasks in the + * expired queue. (Interactive tasks may be requeued directly to the + * active queue, thus delaying tasks in the expired queue from running; + * see scheduler_tick()). + * + * This function is only called from sched_info_arrive(), rather than + * dequeue_task(). Even though a task may be queued and dequeued multiple + * times as it is shuffled about, we're really interested in knowing how + * long it was from the *first* time it was queued to the time that it + * finally hit a cpu. + */ +static inline void sched_info_dequeued(task_t *t) +{ + t->sched_info.last_queued = 0; +} + +/* + * Called when a task finally hits the cpu. We can now calculate how + * long it was waiting to run. We also note when it began so that we + * can keep stats on how long its timeslice is. + */ +static inline void sched_info_arrive(task_t *t) +{ + unsigned long now = jiffies, diff = 0; + struct runqueue *rq = task_rq(t); + + if (t->sched_info.last_queued) + diff = now - t->sched_info.last_queued; + sched_info_dequeued(t); + t->sched_info.run_delay += diff; + t->sched_info.last_arrival = now; + t->sched_info.pcnt++; + + if (!rq) + return; + + rq->rq_sched_info.run_delay += diff; + rq->rq_sched_info.pcnt++; +} + +/* + * Called when a process is queued into either the active or expired + * array. The time is noted and later used to determine how long we + * had to wait for us to reach the cpu. Since the expired queue will + * become the active queue after active queue is empty, without dequeuing + * and requeuing any tasks, we are interested in queuing to either. It + * is unusual but not impossible for tasks to be dequeued and immediately + * requeued in the same or another array: this can happen in sched_yield(), + * set_user_nice(), and even load_balance() as it moves tasks from runqueue + * to runqueue. + * + * This function is only called from enqueue_task(), but also only updates + * the timestamp if it is already not set. It's assumed that + * sched_info_dequeued() will clear that stamp when appropriate. + */ +static inline void sched_info_queued(task_t *t) +{ + if (!t->sched_info.last_queued) + t->sched_info.last_queued = jiffies; +} + +/* + * Called when a process ceases being the active-running process, either + * voluntarily or involuntarily. Now we can calculate how long we ran. + */ +static inline void sched_info_depart(task_t *t) +{ + struct runqueue *rq = task_rq(t); + unsigned long diff = jiffies - t->sched_info.last_arrival; + + t->sched_info.cpu_time += diff; + + if (rq) + rq->rq_sched_info.cpu_time += diff; +} + +/* + * Called when tasks are switched involuntarily due, typically, to expiring + * their time slice. (This may also be called when switching to or from + * the idle task.) We are only called when prev != next. + */ +static inline void sched_info_switch(task_t *prev, task_t *next) +{ + struct runqueue *rq = task_rq(prev); + + /* + * prev now departs the cpu. It's not interesting to record + * stats about how efficient we were at scheduling the idle + * process, however. + */ + if (prev != rq->idle) + sched_info_depart(prev); + + if (next != rq->idle) + sched_info_arrive(next); +} +#else +#define sched_info_queued(t) do { } while (0) +#define sched_info_switch(t, next) do { } while (0) +#endif /* CONFIG_SCHEDSTATS */ + #ifdef CONFIG_CKRM_CPU_SCHEDULE static inline ckrm_lrq_t *rq_get_next_class(struct runqueue *rq) { @@ -352,7 +742,7 @@ static inline struct task_struct * rq_get_next_task(struct runqueue* rq) // it is guaranteed be the ( rq->nr_running > 0 ) check in // schedule that a task will be found. - + retry_next_class: queue = rq_get_next_class(rq); // BUG_ON( !queue ); @@ -363,6 +753,7 @@ static inline struct task_struct * rq_get_next_task(struct runqueue* rq) queue->expired = array; queue->expired_timestamp = 0; + schedstat_inc(rq, sched_switch); if (queue->active->nr_active) set_top_priority(queue, find_first_bit(queue->active->bitmap, MAX_PRIO)); @@ -372,11 +763,12 @@ static inline struct task_struct * rq_get_next_task(struct runqueue* rq) cpu_demand_event(get_rq_local_stat(queue,cpu),CPU_DEMAND_DEQUEUE,0); } goto retry_next_class; - } + } else + schedstat_inc(rq, sched_noswitch); // BUG_ON(!array->nr_active); idx = queue->top_priority; - //BUG_ON(idx == MAX_PRIO); + // BUG_ON (idx == MAX_PRIO); next = task_list_entry(array->queue[idx].next); return next; } @@ -392,12 +784,14 @@ static inline struct task_struct * rq_get_next_task(struct runqueue* rq) /* * Switch the active and expired arrays. */ + schedstat_inc(rq, sched_switch); rq->active = rq->expired; rq->expired = array; array = rq->active; rq->expired_timestamp = 0; rq->best_expired_prio = MAX_PRIO; - } + } else + schedstat_inc(rq, sched_noswitch); idx = sched_find_first_bit(array->bitmap); queue = array->queue + idx; @@ -425,6 +819,7 @@ static void dequeue_task(struct task_struct *p, prio_array_t *array) static void enqueue_task(struct task_struct *p, prio_array_t *array) { + sched_info_queued(p); list_add_tail(&p->run_list, array->queue + p->prio); __set_bit(p->prio, array->bitmap); array->nr_active++; @@ -443,7 +838,7 @@ static inline void enqueue_task_head(struct task_struct *p, prio_array_t *array) __set_bit(p->prio, array->bitmap); array->nr_active++; p->array = array; - class_enqueue_task(p,array); + class_enqueue_task(p,array); } /* @@ -470,8 +865,11 @@ static int effective_prio(task_t *p) bonus = CURRENT_BONUS(p) - MAX_BONUS / 2; prio = p->static_prio - bonus; - if (__vx_task_flags(p, VXF_SCHED_PRIO, 0)) + +#ifdef CONFIG_VSERVER_HARDCPU + if (task_vx_flags(p, VXF_SCHED_PRIO, 0)) prio += effective_vavavoom(p, MAX_USER_PRIO); +#endif if (prio < MAX_RT_PRIO) prio = MAX_RT_PRIO; @@ -518,7 +916,7 @@ static void recalc_task_prio(task_t *p, unsigned long long now) if (p->mm && p->activated != -1 && sleep_time > INTERACTIVE_SLEEP(p)) { p->sleep_avg = JIFFIES_TO_NS(MAX_SLEEP_AVG - - AVG_TIMESLICE); + DEF_TIMESLICE); if (!HIGH_CREDIT(p)) p->interactive_credit++; } else { @@ -618,21 +1016,29 @@ static void activate_task(task_t *p, runqueue_t *rq, int local) } p->timestamp = now; + vx_activate_task(p); __activate_task(p, rq); } /* * deactivate_task - remove a task from the runqueue. */ -static void deactivate_task(struct task_struct *p, runqueue_t *rq) +static void __deactivate_task(struct task_struct *p, runqueue_t *rq) { rq->nr_running--; if (p->state == TASK_UNINTERRUPTIBLE) rq->nr_uninterruptible++; dequeue_task(p, p->array); + p->array = NULL; } +static void deactivate_task(struct task_struct *p, runqueue_t *rq) +{ + __deactivate_task(p, rq); + vx_deactivate_task(p); +} + /* * resched_task - mark a task 'to be rescheduled now'. * @@ -645,7 +1051,8 @@ static void resched_task(task_t *p) { int need_resched, nrpolling; - preempt_disable(); + BUG_ON(!spin_is_locked(&task_rq(p)->lock)); + /* minimise the chance of sending an interrupt to poll_idle() */ nrpolling = test_tsk_thread_flag(p,TIF_POLLING_NRFLAG); need_resched = test_and_set_tsk_thread_flag(p,TIF_NEED_RESCHED); @@ -653,7 +1060,6 @@ static void resched_task(task_t *p) if (!need_resched && !nrpolling && (task_cpu(p) != smp_processor_id())) smp_send_reschedule(task_cpu(p)); - preempt_enable(); } #else static inline void resched_task(task_t *p) @@ -764,8 +1170,6 @@ void kick_process(task_t *p) preempt_enable(); } -EXPORT_SYMBOL_GPL(kick_process); - /* * Return a low guess at the load of a migration-source cpu. * @@ -815,8 +1219,7 @@ static int wake_idle(int cpu, task_t *p) if (!(sd->flags & SD_WAKE_IDLE)) return cpu; - cpus_and(tmp, sd->span, cpu_online_map); - cpus_and(tmp, tmp, p->cpus_allowed); + cpus_and(tmp, sd->span, p->cpus_allowed); for_each_cpu_mask(i, tmp) { if (idle_cpu(i)) @@ -859,6 +1262,7 @@ static int try_to_wake_up(task_t * p, unsigned int state, int sync) #endif rq = task_rq_lock(p, &flags); + schedstat_inc(rq, ttwu_cnt); old_state = p->state; if (!(old_state & state)) goto out; @@ -906,23 +1310,35 @@ static int try_to_wake_up(task_t * p, unsigned int state, int sync) */ imbalance = sd->imbalance_pct + (sd->imbalance_pct - 100) / 2; - if ( ((sd->flags & SD_WAKE_AFFINE) && - !task_hot(p, rq->timestamp_last_tick, sd)) - || ((sd->flags & SD_WAKE_BALANCE) && - imbalance*this_load <= 100*load) ) { + if ((sd->flags & SD_WAKE_AFFINE) && + !task_hot(p, rq->timestamp_last_tick, sd)) { + /* + * This domain has SD_WAKE_AFFINE and p is cache cold + * in this domain. + */ + if (cpu_isset(cpu, sd->span)) { + schedstat_inc(sd, ttwu_wake_affine); + goto out_set_cpu; + } + } else if ((sd->flags & SD_WAKE_BALANCE) && + imbalance*this_load <= 100*load) { /* - * Now sd has SD_WAKE_AFFINE and p is cache cold in sd - * or sd has SD_WAKE_BALANCE and there is an imbalance + * This domain has SD_WAKE_BALANCE and there is + * an imbalance. */ - if (cpu_isset(cpu, sd->span)) + if (cpu_isset(cpu, sd->span)) { + schedstat_inc(sd, ttwu_wake_balance); goto out_set_cpu; + } } } new_cpu = cpu; /* Could not wake to this_cpu. Wake to cpu instead */ out_set_cpu: + schedstat_inc(rq, ttwu_attempts); new_cpu = wake_idle(new_cpu, p); if (new_cpu != cpu && cpu_isset(new_cpu, p->cpus_allowed)) { + schedstat_inc(rq, ttwu_moved); set_task_cpu(p, new_cpu); task_rq_unlock(rq, &flags); /* might preempt at this point */ @@ -973,7 +1389,7 @@ out: int fastcall wake_up_process(task_t * p) { - return try_to_wake_up(p, TASK_STOPPED | + return try_to_wake_up(p, TASK_STOPPED | TASK_TRACED | TASK_INTERRUPTIBLE | TASK_UNINTERRUPTIBLE, 0); } @@ -984,6 +1400,11 @@ int fastcall wake_up_state(task_t *p, unsigned int state) return try_to_wake_up(p, state, 0); } +#ifdef CONFIG_SMP +static int find_idlest_cpu(struct task_struct *p, int this_cpu, + struct sched_domain *sd); +#endif + /* * Perform scheduler related setup for a newly forked process p. * p is forked by current. @@ -1000,10 +1421,12 @@ void fastcall sched_fork(task_t *p) INIT_LIST_HEAD(&p->run_list); p->array = NULL; spin_lock_init(&p->switch_lock); +#ifdef CONFIG_SCHEDSTATS + memset(&p->sched_info, 0, sizeof(p->sched_info)); +#endif #ifdef CONFIG_CKRM_CPU_SCHEDULE cpu_demand_event(&p->demand_stat,CPU_DEMAND_INIT,0); #endif - #ifdef CONFIG_PREEMPT /* * During context-switch we hold precisely one spinlock, which @@ -1027,7 +1450,7 @@ void fastcall sched_fork(task_t *p) p->first_time_slice = 1; current->time_slice >>= 1; p->timestamp = sched_clock(); - if (!current->time_slice) { + if (unlikely(!current->time_slice)) { /* * This case is rare, it happens when the parent has only * a single jiffy left from its timeslice. Taking the @@ -1043,45 +1466,91 @@ void fastcall sched_fork(task_t *p) } /* - * wake_up_forked_process - wake up a freshly forked process. + * wake_up_new_task - wake up a newly created task for the first time. * * This function will do some initial scheduler statistics housekeeping - * that must be done for every newly created process. + * that must be done for every newly created context, then puts the task + * on the runqueue and wakes it. */ -void fastcall wake_up_forked_process(task_t * p) +void fastcall wake_up_new_task(task_t * p, unsigned long clone_flags) { unsigned long flags; - runqueue_t *rq = task_rq_lock(current, &flags); + int this_cpu, cpu; + runqueue_t *rq, *this_rq; + + rq = task_rq_lock(p, &flags); + cpu = task_cpu(p); + this_cpu = smp_processor_id(); BUG_ON(p->state != TASK_RUNNING); + schedstat_inc(rq, wunt_cnt); /* * We decrease the sleep average of forking parents * and children as well, to keep max-interactive tasks - * from forking tasks that are max-interactive. + * from forking tasks that are max-interactive. The parent + * (current) is done further down, under its lock. */ - current->sleep_avg = JIFFIES_TO_NS(CURRENT_BONUS(current) * - PARENT_PENALTY / 100 * MAX_SLEEP_AVG / MAX_BONUS); - p->sleep_avg = JIFFIES_TO_NS(CURRENT_BONUS(p) * CHILD_PENALTY / 100 * MAX_SLEEP_AVG / MAX_BONUS); p->interactive_credit = 0; p->prio = effective_prio(p); - set_task_cpu(p, smp_processor_id()); - if (unlikely(!current->array)) + vx_activate_task(p); + if (likely(cpu == this_cpu)) { + if (!(clone_flags & CLONE_VM)) { + /* + * The VM isn't cloned, so we're in a good position to + * do child-runs-first in anticipation of an exec. This + * usually avoids a lot of COW overhead. + */ + if (unlikely(!current->array)) + __activate_task(p, rq); + else { + p->prio = current->prio; + list_add_tail(&p->run_list, ¤t->run_list); + p->array = current->array; + p->array->nr_active++; + rq->nr_running++; + class_enqueue_task(p,p->array); + } + set_need_resched(); + } else + /* Run child last */ + __activate_task(p, rq); + /* + * We skip the following code due to cpu == this_cpu + * + * task_rq_unlock(rq, &flags); + * this_rq = task_rq_lock(current, &flags); + */ + this_rq = rq; + } else { + this_rq = cpu_rq(this_cpu); + + /* + * Not the local CPU - must adjust timestamp. This should + * get optimised away in the !CONFIG_SMP case. + */ + p->timestamp = (p->timestamp - this_rq->timestamp_last_tick) + + rq->timestamp_last_tick; __activate_task(p, rq); - else { - p->prio = current->prio; - list_add_tail(&p->run_list, ¤t->run_list); - p->array = current->array; - p->array->nr_active++; - rq->nr_running++; - class_enqueue_task(p,p->array); + if (TASK_PREEMPTS_CURR(p, rq)) + resched_task(rq->curr); + + schedstat_inc(rq, wunt_moved); + /* + * Parent and child are on different CPUs, now get the + * parent runqueue to update the parent's ->sleep_avg: + */ + task_rq_unlock(rq, &flags); + this_rq = task_rq_lock(current, &flags); } - task_rq_unlock(rq, &flags); + current->sleep_avg = JIFFIES_TO_NS(CURRENT_BONUS(current) * + PARENT_PENALTY / 100 * MAX_SLEEP_AVG / MAX_BONUS); + task_rq_unlock(this_rq, &flags); } /* @@ -1098,18 +1567,16 @@ void fastcall sched_exit(task_t * p) unsigned long flags; runqueue_t *rq; - local_irq_save(flags); - if (p->first_time_slice) { - p->parent->time_slice += p->time_slice; - if (unlikely(p->parent->time_slice > MAX_TIMESLICE)) - p->parent->time_slice = MAX_TIMESLICE; - } - local_irq_restore(flags); /* * If the child was a (relative-) CPU hog then decrease * the sleep_avg of the parent as well. */ rq = task_rq_lock(p->parent, &flags); + if (p->first_time_slice) { + p->parent->time_slice += p->time_slice; + if (unlikely(p->parent->time_slice > task_timeslice(p))) + p->parent->time_slice = task_timeslice(p); + } if (p->sleep_avg < p->parent->sleep_avg) p->parent->sleep_avg = p->parent->sleep_avg / (EXIT_WEIGHT + 1) * EXIT_WEIGHT + p->sleep_avg / @@ -1140,10 +1607,10 @@ static void finish_task_switch(task_t *prev) /* * A task struct has one reference for the use as "current". - * If a task dies, then it sets TASK_ZOMBIE in tsk->state and calls - * schedule one last time. The schedule call will never return, + * If a task dies, then it sets EXIT_ZOMBIE in tsk->exit_state and + * calls schedule one last time. The schedule call will never return, * and the scheduled task must drop that reference. - * The test for TASK_ZOMBIE must occur while the runqueue locks are + * The test for EXIT_ZOMBIE must occur while the runqueue locks are * still held, otherwise prev could be scheduled on another cpu, die * there before we look at prev->state, and then the reference would * be dropped twice. @@ -1209,7 +1676,7 @@ unsigned long nr_running(void) { unsigned long i, sum = 0; - for_each_cpu(i) + for_each_online_cpu(i) sum += cpu_rq(i)->nr_running; return sum; @@ -1245,6 +1712,8 @@ unsigned long nr_iowait(void) return sum; } +#ifdef CONFIG_SMP + /* * double_rq_lock - safely lock two runqueues * @@ -1279,25 +1748,21 @@ static void double_rq_unlock(runqueue_t *rq1, runqueue_t *rq2) spin_unlock(&rq2->lock); } -unsigned long long nr_preempt(void) +/* + * double_lock_balance - lock the busiest runqueue, this_rq is locked already. + */ +static void double_lock_balance(runqueue_t *this_rq, runqueue_t *busiest) { - unsigned long long i, sum = 0; - - for_each_online_cpu(i) - sum += cpu_rq(i)->nr_preempt; - - return sum; + if (unlikely(!spin_trylock(&busiest->lock))) { + if (busiest < this_rq) { + spin_unlock(&this_rq->lock); + spin_lock(&busiest->lock); + spin_lock(&this_rq->lock); + } else + spin_lock(&busiest->lock); + } } -enum idle_type -{ - IDLE, - NOT_IDLE, - NEWLY_IDLE, -}; - -#ifdef CONFIG_SMP - /* * find_idlest_cpu - find the least busy runqueue. */ @@ -1311,8 +1776,7 @@ static int find_idlest_cpu(struct task_struct *p, int this_cpu, min_cpu = UINT_MAX; min_load = ULONG_MAX; - cpus_and(mask, sd->span, cpu_online_map); - cpus_and(mask, mask, p->cpus_allowed); + cpus_and(mask, sd->span, p->cpus_allowed); for_each_cpu_mask(i, mask) { load = target_load(i); @@ -1344,90 +1808,6 @@ static int find_idlest_cpu(struct task_struct *p, int this_cpu, return this_cpu; } -/* - * wake_up_forked_thread - wake up a freshly forked thread. - * - * This function will do some initial scheduler statistics housekeeping - * that must be done for every newly created context, and it also does - * runqueue balancing. - */ -void fastcall wake_up_forked_thread(task_t * p) -{ - unsigned long flags; - int this_cpu = get_cpu(), cpu; - struct sched_domain *tmp, *sd = NULL; - runqueue_t *this_rq = cpu_rq(this_cpu), *rq; - - /* - * Find the largest domain that this CPU is part of that - * is willing to balance on clone: - */ - for_each_domain(this_cpu, tmp) - if (tmp->flags & SD_BALANCE_CLONE) - sd = tmp; - if (sd) - cpu = find_idlest_cpu(p, this_cpu, sd); - else - cpu = this_cpu; - - local_irq_save(flags); -lock_again: - rq = cpu_rq(cpu); - double_rq_lock(this_rq, rq); - - BUG_ON(p->state != TASK_RUNNING); - - /* - * We did find_idlest_cpu() unlocked, so in theory - * the mask could have changed - just dont migrate - * in this case: - */ - if (unlikely(!cpu_isset(cpu, p->cpus_allowed))) { - cpu = this_cpu; - double_rq_unlock(this_rq, rq); - goto lock_again; - } - /* - * We decrease the sleep average of forking parents - * and children as well, to keep max-interactive tasks - * from forking tasks that are max-interactive. - */ - current->sleep_avg = JIFFIES_TO_NS(CURRENT_BONUS(current) * - PARENT_PENALTY / 100 * MAX_SLEEP_AVG / MAX_BONUS); - - p->sleep_avg = JIFFIES_TO_NS(CURRENT_BONUS(p) * - CHILD_PENALTY / 100 * MAX_SLEEP_AVG / MAX_BONUS); - - p->interactive_credit = 0; - - p->prio = effective_prio(p); - set_task_cpu(p, cpu); - - if (cpu == this_cpu) { - if (unlikely(!current->array)) - __activate_task(p, rq); - else { - p->prio = current->prio; - list_add_tail(&p->run_list, ¤t->run_list); - p->array = current->array; - p->array->nr_active++; - rq->nr_running++; - class_enqueue_task(p,p->array); - } - } else { - /* Not the local CPU - must adjust timestamp */ - p->timestamp = (p->timestamp - this_rq->timestamp_last_tick) - + rq->timestamp_last_tick; - __activate_task(p, rq); - if (TASK_PREEMPTS_CURR(p, rq)) - resched_task(rq->curr); - } - - double_rq_unlock(this_rq, rq); - local_irq_restore(flags); - put_cpu(); -} - /* * If dest_cpu is allowed for this process, migrate the task to it. * This is accomplished by forcing the cpu_allowed mask to only @@ -1445,6 +1825,7 @@ static void sched_migrate_task(task_t *p, int dest_cpu) || unlikely(cpu_is_offline(dest_cpu))) goto out; + schedstat_inc(rq, smt_cnt); /* force the process onto the specified CPU */ if (migrate_task(p, dest_cpu, &req)) { /* Need to wait for migration thread (might exit: take ref). */ @@ -1461,17 +1842,18 @@ out: } /* - * sched_balance_exec(): find the highest-level, exec-balance-capable + * sched_exec(): find the highest-level, exec-balance-capable * domain and try to migrate the task to the least loaded CPU. * * execve() is a valuable balancing opportunity, because at this point * the task has the smallest effective memory and cache footprint. */ -void sched_balance_exec(void) +void sched_exec(void) { struct sched_domain *tmp, *sd = NULL; int new_cpu, this_cpu = get_cpu(); + schedstat_inc(this_rq(), sbe_cnt); /* Prefer the current CPU if there's only this task running */ if (this_rq()->nr_running <= 1) goto out; @@ -1481,8 +1863,10 @@ void sched_balance_exec(void) sd = tmp; if (sd) { + schedstat_inc(sd, sbe_attempts); new_cpu = find_idlest_cpu(current, this_cpu, sd); if (new_cpu != this_cpu) { + schedstat_inc(sd, sbe_pushed); put_cpu(); sched_migrate_task(current, new_cpu); return; @@ -1493,27 +1877,12 @@ out: } /* - * double_lock_balance - lock the busiest runqueue, this_rq is locked already. + * pull_task - move a task from a remote runqueue to the local runqueue. + * Both runqueues must be locked. */ -static void double_lock_balance(runqueue_t *this_rq, runqueue_t *busiest) -{ - if (unlikely(!spin_trylock(&busiest->lock))) { - if (busiest < this_rq) { - spin_unlock(&this_rq->lock); - spin_lock(&busiest->lock); - spin_lock(&this_rq->lock); - } else - spin_lock(&busiest->lock); - } -} - -/* - * pull_task - move a task from a remote runqueue to the local runqueue. - * Both runqueues must be locked. - */ -static inline -void pull_task(runqueue_t *src_rq, prio_array_t *src_array, task_t *p, - runqueue_t *this_rq, prio_array_t *this_array, int this_cpu) +static inline +void pull_task(runqueue_t *src_rq, prio_array_t *src_array, task_t *p, + runqueue_t *this_rq, prio_array_t *this_array, int this_cpu) { dequeue_task(p, src_array); src_rq->nr_running--; @@ -1596,7 +1965,7 @@ static inline int ckrm_cls_move_tasks(ckrm_lrq_t* src_lrq,ckrm_lrq_t*dst_lrq, /* * we don't want to migrate tasks that will reverse the balance * or the tasks that make too small difference - */ + */ #define CKRM_BALANCE_MAX_RATIO 100 #define CKRM_BALANCE_MIN_RATIO 1 start: @@ -1614,11 +1983,11 @@ static inline int ckrm_cls_move_tasks(ckrm_lrq_t* src_lrq,ckrm_lrq_t*dst_lrq, array = src_lrq->active; dst_array = dst_lrq->active; } - -new_array: + + new_array: /* Start searching at priority 0: */ idx = 0; -skip_bitmap: + skip_bitmap: if (!idx) idx = sched_find_first_bit(array->bitmap); else @@ -1634,14 +2003,14 @@ skip_bitmap: else goto out; //finished search for this lrq } - + head = array->queue + idx; curr = head->prev; -skip_queue: + skip_queue: tmp = list_entry(curr, task_t, run_list); - + curr = curr->prev; - + if (!can_migrate_task(tmp, busiest, this_cpu, sd, idle)) { if (curr != head) goto skip_queue; @@ -1658,27 +2027,27 @@ skip_queue: *pressure_imbalance -= task_load(tmp); pull_task(busiest, array, tmp, this_rq, dst_array, this_cpu); - pulled++; + pulled++; if (*pressure_imbalance <= balance_min) goto out; } - if (curr != head) - goto skip_queue; - idx++; - goto skip_bitmap; -out: + if (curr != head) + goto skip_queue; + idx++; + goto skip_bitmap; + out: return pulled; } static inline long ckrm_rq_imbalance(runqueue_t *this_rq,runqueue_t *dst_rq) { long imbalance; -/* + /* * make sure after balance, imbalance' > - imbalance/2 * we don't want the imbalance be reversed too much - */ + */ imbalance = pid_get_pressure(rq_ckrm_load(dst_rq),0) - pid_get_pressure(rq_ckrm_load(this_rq),1); imbalance /= 2; @@ -1848,15 +2217,15 @@ nextgroup: /* hzheng: debugging: 105 is a magic number * 100*max_load <= sd->imbalance_pct*this_load) * should use imbalance_pct instead - */ + */ if (this_load > avg_load || 100*max_load < 105*this_load || 100*min_load < 70*this_load ) - goto out_balanced; + goto out_balanced; return avg_load; -out_balanced: + out_balanced: return 0; } @@ -1870,7 +2239,7 @@ ckrm_find_busy_queue(struct sched_domain *sd, int this_cpu, int nr_group) { struct sched_group *group; - runqueue_t *busiest = NULL; + runqueue_t * busiest=NULL; unsigned long rand; group = sd->groups; @@ -1880,10 +2249,10 @@ ckrm_find_busy_queue(struct sched_domain *sd, int this_cpu, do { unsigned long load,total_load,max_load; cpumask_t tmp; - int i; + int i; runqueue_t * grp_busiest; - cpus_and(tmp, group->cpumask, cpu_online_map); + cpus_and(tmp, group->cpumask, cpu_online_map); if (unlikely(cpus_empty(tmp))) goto find_nextgroup; @@ -1893,18 +2262,18 @@ ckrm_find_busy_queue(struct sched_domain *sd, int this_cpu, for_each_cpu_mask(i, tmp) { load = pid_get_pressure(rq_ckrm_load(cpu_rq(i)),0); total_load += load; - if (load > max_load) { - max_load = load; + if (load > max_load) { + max_load = load; grp_busiest = cpu_rq(i); + } } - } total_load = (total_load * SCHED_LOAD_SCALE) / group->cpu_power; if (total_load > avg_load) { busiest = grp_busiest; if (nr_group >= rand) break; -} + } find_nextgroup: group = group->next; nr_group ++; @@ -1928,7 +2297,7 @@ static int ckrm_load_balance(int this_cpu, runqueue_t *this_rq, goto out_balanced; busiest = ckrm_find_busy_queue(sd,this_cpu,avg_load,idle,nr_group); - if (!busiest) + if (! busiest) goto out_balanced; /* * This should be "impossible", but since load @@ -1954,13 +2323,13 @@ static int ckrm_load_balance(int this_cpu, runqueue_t *this_rq, spin_unlock(&busiest->lock); if (nr_moved) { adjust_local_weight(); + } } - } if (!nr_moved) sd->nr_balance_failed ++; else - sd->nr_balance_failed = 0; + sd->nr_balance_failed = 0; /* We were unbalanced, so reset the balancing interval */ sd->balance_interval = sd->min_interval; @@ -1979,7 +2348,7 @@ out_balanced: * this_rq->lock is already held */ static inline int load_balance_newidle(int this_cpu, runqueue_t *this_rq, - struct sched_domain *sd) + struct sched_domain *sd) { int ret; read_lock(&class_list_lock); @@ -2020,12 +2389,12 @@ static int move_tasks(runqueue_t *this_rq, int this_cpu, runqueue_t *busiest, if (max_nr_move <= 0 || busiest->nr_running <= 1) goto out; -/* + /* * We first consider expired tasks. Those will likely not be * executed in the near future, and they are most likely to * be cache-cold, thus switching CPUs has the least effect * on them. - */ + */ if (busiest->expired->nr_active) { array = busiest->expired; dst_array = this_rq->expired; @@ -2049,7 +2418,7 @@ skip_bitmap: goto new_array; } goto out; - } + } head = array->queue + idx; curr = head->prev; @@ -2063,7 +2432,16 @@ skip_queue: goto skip_queue; idx++; goto skip_bitmap; - } + } + + /* + * Right now, this is the only place pull_task() is called, + * so we can safely collect pull_task() stats here rather than + * inside pull_task(). + */ + schedstat_inc(this_rq, pt_gained[idle]); + schedstat_inc(busiest, pt_lost[idle]); + pull_task(busiest, array, tmp, this_rq, dst_array, this_cpu); pulled++; @@ -2092,8 +2470,7 @@ find_busiest_group(struct sched_domain *sd, int this_cpu, max_load = this_load = total_load = total_pwr = 0; - do { - cpumask_t tmp; + do { unsigned long load; int local_group; int i, nr_cpus = 0; @@ -2102,11 +2479,8 @@ find_busiest_group(struct sched_domain *sd, int this_cpu, /* Tally up the load of all CPUs in the group */ avg_load = 0; - cpus_and(tmp, group->cpumask, cpu_online_map); - if (unlikely(cpus_empty(tmp))) - goto nextgroup; - for_each_cpu_mask(i, tmp) { + for_each_cpu_mask(i, group->cpumask) { /* Bias balancing toward cpus of our domain */ if (local_group) load = target_load(i); @@ -2115,7 +2489,7 @@ find_busiest_group(struct sched_domain *sd, int this_cpu, nr_cpus++; avg_load += load; - } + } if (!nr_cpus) goto nextgroup; @@ -2173,11 +2547,11 @@ nextgroup: return busiest; } - /* + /* * OK, we don't have enough imbalance to justify moving tasks, * however we may be able to increase total CPU power used by * moving them. - */ + */ pwr_now += busiest->cpu_power*min(SCHED_LOAD_SCALE, max_load); pwr_now += this->cpu_power*min(SCHED_LOAD_SCALE, this_load); @@ -2202,7 +2576,7 @@ nextgroup: *imbalance = 1; return busiest; - } + } /* Get rid of the scaling factor, rounding down as we divide */ *imbalance = (*imbalance + 1) / SCHED_LOAD_SCALE; @@ -2225,20 +2599,18 @@ out_balanced: */ static runqueue_t *find_busiest_queue(struct sched_group *group) { - cpumask_t tmp; unsigned long load, max_load = 0; runqueue_t *busiest = NULL; int i; - cpus_and(tmp, group->cpumask, cpu_online_map); - for_each_cpu_mask(i, tmp) { + for_each_cpu_mask(i, group->cpumask) { load = source_load(i); if (load > max_load) { max_load = load; busiest = cpu_rq(i); } -} + } return busiest; } @@ -2258,14 +2630,20 @@ static int load_balance(int this_cpu, runqueue_t *this_rq, int nr_moved; spin_lock(&this_rq->lock); + schedstat_inc(sd, lb_cnt[idle]); group = find_busiest_group(sd, this_cpu, &imbalance, idle); - if (!group) + if (!group) { + schedstat_inc(sd, lb_nobusyg[idle]); goto out_balanced; + } busiest = find_busiest_queue(group); - if (!busiest) + if (!busiest) { + schedstat_inc(sd, lb_nobusyq[idle]); goto out_balanced; + } + /* * This should be "impossible", but since load * balancing is inherently racy and statistical, @@ -2276,6 +2654,8 @@ static int load_balance(int this_cpu, runqueue_t *this_rq, goto out_balanced; } + schedstat_add(sd, lb_imbalance[idle], imbalance); + nr_moved = 0; if (busiest->nr_running > 1) { /* @@ -2288,10 +2668,11 @@ static int load_balance(int this_cpu, runqueue_t *this_rq, nr_moved = move_tasks(this_rq, this_cpu, busiest, imbalance, sd, idle); spin_unlock(&busiest->lock); -} + } spin_unlock(&this_rq->lock); if (!nr_moved) { + schedstat_inc(sd, lb_failed[idle]); sd->nr_balance_failed++; if (unlikely(sd->nr_balance_failed > sd->cache_nice_tries+2)) { @@ -2307,10 +2688,10 @@ static int load_balance(int this_cpu, runqueue_t *this_rq, if (wake) wake_up_process(busiest->migration_thread); -/* + /* * We've kicked active balancing, reset the failure * counter. - */ + */ sd->nr_balance_failed = sd->cache_nice_tries; } } else @@ -2346,19 +2727,27 @@ static int load_balance_newidle(int this_cpu, runqueue_t *this_rq, unsigned long imbalance; int nr_moved = 0; + schedstat_inc(sd, lb_cnt[NEWLY_IDLE]); group = find_busiest_group(sd, this_cpu, &imbalance, NEWLY_IDLE); - if (!group) + if (!group) { + schedstat_inc(sd, lb_nobusyg[NEWLY_IDLE]); goto out; + } busiest = find_busiest_queue(group); - if (!busiest || busiest == this_rq) + if (!busiest || busiest == this_rq) { + schedstat_inc(sd, lb_nobusyq[NEWLY_IDLE]); goto out; + } /* Attempt to move tasks */ double_lock_balance(this_rq, busiest); + schedstat_add(sd, lb_imbalance[NEWLY_IDLE], imbalance); nr_moved = move_tasks(this_rq, this_cpu, busiest, imbalance, sd, NEWLY_IDLE); + if (!nr_moved) + schedstat_inc(sd, lb_failed[NEWLY_IDLE]); spin_unlock(&busiest->lock); @@ -2400,40 +2789,34 @@ static void active_load_balance(runqueue_t *busiest, int busiest_cpu) struct sched_group *group, *busy_group; int i; + schedstat_inc(busiest, alb_cnt); if (busiest->nr_running <= 1) return; for_each_domain(busiest_cpu, sd) if (cpu_isset(busiest->push_cpu, sd->span)) break; - if (!sd) { - WARN_ON(1); + if (!sd) return; - } - group = sd->groups; + group = sd->groups; while (!cpu_isset(busiest_cpu, group->cpumask)) - group = group->next; - busy_group = group; + group = group->next; + busy_group = group; - group = sd->groups; - do { - cpumask_t tmp; + group = sd->groups; + do { runqueue_t *rq; int push_cpu = 0; - if (group == busy_group) - goto next_group; - - cpus_and(tmp, group->cpumask, cpu_online_map); - if (!cpus_weight(tmp)) + if (group == busy_group) goto next_group; - for_each_cpu_mask(i, tmp) { + for_each_cpu_mask(i, group->cpumask) { if (!idle_cpu(i)) goto next_group; - push_cpu = i; - } + push_cpu = i; + } rq = cpu_rq(push_cpu); @@ -2446,7 +2829,12 @@ static void active_load_balance(runqueue_t *busiest, int busiest_cpu) if (unlikely(busiest == rq)) goto next_group; double_lock_balance(busiest, rq); - move_tasks(rq, push_cpu, busiest, 1, sd, IDLE); + if (move_tasks(rq, push_cpu, busiest, 1, sd, IDLE)) { + schedstat_inc(busiest, alb_lost); + schedstat_inc(rq, alb_gained); + } else { + schedstat_inc(busiest, alb_failed); + } spin_unlock(&rq->lock); next_group: group = group->next; @@ -2518,17 +2906,20 @@ static inline void idle_balance(int cpu, runqueue_t *rq) static inline int wake_priority_sleeper(runqueue_t *rq) { + int ret = 0; #ifdef CONFIG_SCHED_SMT + spin_lock(&rq->lock); /* * If an SMT sibling task has been put to sleep for priority * reasons reschedule the idle task to see if it can now run. */ if (rq->nr_running) { resched_task(rq->idle); - return 1; + ret = 1; } + spin_unlock(&rq->lock); #endif - return 0; + return ret; } DEFINE_PER_CPU(struct kernel_stat, kstat); @@ -2571,12 +2962,19 @@ void scheduler_tick(int user_ticks, int sys_ticks) struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat; runqueue_t *rq = this_rq(); task_t *p = current; + struct vx_info *vxi = p->vx_info; rq->timestamp_last_tick = sched_clock(); if (rcu_pending(cpu)) rcu_check_callbacks(cpu, user_ticks); + + if (vxi) { + vxi->sched.cpu[cpu].user_ticks += user_ticks; + vxi->sched.cpu[cpu].sys_ticks += sys_ticks; + } + /* note: this timer irq context must be accounted for as well */ if (hardirq_count() - HARDIRQ_OFFSET) { cpustat->irq += sys_ticks; @@ -2587,18 +2985,22 @@ void scheduler_tick(int user_ticks, int sys_ticks) } if (p == rq->idle) { -#ifdef CONFIG_VSERVER_HARDCPU - if (!--rq->idle_tokens && !list_empty(&rq->hold_queue)) - set_need_resched(); -#endif - if (atomic_read(&rq->nr_iowait) > 0) cpustat->iowait += sys_ticks; + // vx_cpustat_acc(vxi, iowait, cpu, cpustat, sys_ticks); else cpustat->idle += sys_ticks; + // vx_cpustat_acc(vxi, idle, cpu, cpustat, sys_ticks); + if (wake_priority_sleeper(rq)) goto out; - ckrm_sched_tick(jiffies,cpu,rq_ckrm_load(rq)); + + ckrm_sched_tick(jiffies,cpu,rq_ckrm_load(rq)); + +#ifdef CONFIG_VSERVER_HARDCPU_IDLE + if (!--rq->idle_tokens && !list_empty(&rq->hold_queue)) + set_need_resched(); +#endif rebalance_tick(cpu, rq, IDLE); return; } @@ -2621,7 +3023,7 @@ void scheduler_tick(int user_ticks, int sys_ticks) * timeslice. This makes it possible for interactive tasks * to use up their timeslices at their highest priority levels. */ - if (unlikely(rt_task(p))) { + if (rt_task(p)) { /* * RR tasks need a special form of timeslice management. * FIFO tasks have no timeslices. @@ -2692,23 +3094,47 @@ out: } #ifdef CONFIG_SCHED_SMT -static inline void wake_sleeping_dependent(int cpu, runqueue_t *rq) +static inline void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq) { - int i; - struct sched_domain *sd = rq->sd; + struct sched_domain *sd = this_rq->sd; cpumask_t sibling_map; + int i; if (!(sd->flags & SD_SHARE_CPUPOWER)) return; - cpus_and(sibling_map, sd->span, cpu_online_map); - for_each_cpu_mask(i, sibling_map) { - runqueue_t *smt_rq; +#ifdef CONFIG_CKRM_CPU_SCHEDULE + if (prev != rq->idle) { + unsigned long long run = now - prev->timestamp; + ckrm_lrq_t * lrq = get_task_lrq(prev); - if (i == cpu) - continue; + lrq->lrq_load -= task_load(prev); + cpu_demand_event(&prev->demand_stat,CPU_DEMAND_DESCHEDULE,run); + lrq->lrq_load += task_load(prev); + + cpu_demand_event(get_task_lrq_stat(prev),CPU_DEMAND_DESCHEDULE,run); + update_local_cvt(prev, run); + } +#endif + /* + * Unlock the current runqueue because we have to lock in + * CPU order to avoid deadlocks. Caller knows that we might + * unlock. We keep IRQs disabled. + */ + spin_unlock(&this_rq->lock); + + sibling_map = sd->span; - smt_rq = cpu_rq(i); + for_each_cpu_mask(i, sibling_map) + spin_lock(&cpu_rq(i)->lock); + /* + * We clear this CPU from the mask. This both simplifies the + * inner loop and keps this_rq locked when we exit: + */ + cpu_clear(this_cpu, sibling_map); + + for_each_cpu_mask(i, sibling_map) { + runqueue_t *smt_rq = cpu_rq(i); /* * If an SMT sibling task is sleeping due to priority @@ -2717,27 +3143,53 @@ static inline void wake_sleeping_dependent(int cpu, runqueue_t *rq) if (smt_rq->curr == smt_rq->idle && smt_rq->nr_running) resched_task(smt_rq->idle); } + + for_each_cpu_mask(i, sibling_map) + spin_unlock(&cpu_rq(i)->lock); + /* + * We exit with this_cpu's rq still held and IRQs + * still disabled: + */ } -static inline int dependent_sleeper(int cpu, runqueue_t *rq, task_t *p) +static inline int dependent_sleeper(int this_cpu, runqueue_t *this_rq) { - struct sched_domain *sd = rq->sd; + struct sched_domain *sd = this_rq->sd; cpumask_t sibling_map; + prio_array_t *array; int ret = 0, i; + task_t *p; if (!(sd->flags & SD_SHARE_CPUPOWER)) return 0; - cpus_and(sibling_map, sd->span, cpu_online_map); - for_each_cpu_mask(i, sibling_map) { - runqueue_t *smt_rq; - task_t *smt_curr; + /* + * The same locking rules and details apply as for + * wake_sleeping_dependent(): + */ + spin_unlock(&this_rq->lock); + sibling_map = sd->span; + for_each_cpu_mask(i, sibling_map) + spin_lock(&cpu_rq(i)->lock); + cpu_clear(this_cpu, sibling_map); - if (i == cpu) - continue; + /* + * Establish next task to be run - it might have gone away because + * we released the runqueue lock above: + */ + if (!this_rq->nr_running) + goto out_unlock; + array = this_rq->active; + if (!array->nr_active) + array = this_rq->expired; + BUG_ON(!array->nr_active); + + p = list_entry(array->queue[sched_find_first_bit(array->bitmap)].next, + task_t, run_list); - smt_rq = cpu_rq(i); - smt_curr = smt_rq->curr; + for_each_cpu_mask(i, sibling_map) { + runqueue_t *smt_rq = cpu_rq(i); + task_t *smt_curr = smt_rq->curr; /* * If a user task with lower static priority than the @@ -2763,14 +3215,17 @@ static inline int dependent_sleeper(int cpu, runqueue_t *rq, task_t *p) (smt_curr == smt_rq->idle && smt_rq->nr_running)) resched_task(smt_curr); } +out_unlock: + for_each_cpu_mask(i, sibling_map) + spin_unlock(&cpu_rq(i)->lock); return ret; } #else -static inline void wake_sleeping_dependent(int cpu, runqueue_t *rq) +static inline void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq) { } -static inline int dependent_sleeper(int cpu, runqueue_t *rq, task_t *p) +static inline int dependent_sleeper(int this_cpu, runqueue_t *this_rq) { return 0; } @@ -2788,7 +3243,7 @@ asmlinkage void __sched schedule(void) unsigned long long now; unsigned long run_time; int cpu; -#ifdef CONFIG_VSERVER_HARDCPU +#ifdef CONFIG_VSERVER_HARDCPU struct vx_info *vxi; int maxidle = -HZ; #endif @@ -2802,13 +3257,14 @@ asmlinkage void __sched schedule(void) if (unlikely(dump_oncpu)) goto dump_scheduling_disabled; + //WARN_ON(system_state == SYSTEM_BOOTING); /* * Test if we are atomic. Since do_exit() needs to call into * schedule() atomically, we ignore that path for now. * Otherwise, whine if we are scheduling when we should not be. */ - if (likely(!(current->state & (TASK_DEAD | TASK_ZOMBIE)))) { + if (likely(!(current->exit_state & (EXIT_DEAD | EXIT_ZOMBIE)))) { if (unlikely(in_atomic())) { printk(KERN_ERR "bad: scheduling while atomic!\n"); dump_stack(); @@ -2820,7 +3276,17 @@ need_resched: prev = current; rq = this_rq(); + /* + * The idle thread is not allowed to schedule! + * Remove this check after it has been exercised a bit. + */ + if (unlikely(current == rq->idle) && current->state != TASK_RUNNING) { + printk(KERN_ERR "bad: scheduling from the idle thread!\n"); + dump_stack(); + } + release_kernel_lock(prev); + schedstat_inc(rq, sched_cnt); now = sched_clock(); if (likely(now - prev->timestamp < NS_MAX_SLEEP_AVG)) run_time = now - prev->timestamp; @@ -2850,6 +3316,9 @@ need_resched: update_local_cvt(prev, run); } #endif + + if (unlikely(current->flags & PF_DEAD)) + current->state = EXIT_DEAD; /* * if entering off of a kernel preemption go straight * to picking the next task. @@ -2864,10 +3333,8 @@ need_resched: deactivate_task(prev, rq); } - cpu = smp_processor_id(); - -#ifdef CONFIG_VSERVER_HARDCPU - if (!list_empty(&rq->hold_queue)) { +#ifdef CONFIG_VSERVER_HARDCPU + if (!list_empty(&rq->hold_queue)) { struct list_head *l, *n; int ret; @@ -2876,7 +3343,7 @@ need_resched: next = list_entry(l, task_t, run_list); if (vxi == next->vx_info) continue; - + vxi = next->vx_info; ret = vx_tokens_recalc(vxi); // tokens = vx_tokens_avail(next); @@ -2884,53 +3351,82 @@ need_resched: if (ret > 0) { list_del(&next->run_list); next->state &= ~TASK_ONHOLD; - recalc_task_prio(next, now); - __activate_task(next, rq); - // printk("··· unhold %p\n", next); + // one less waiting + vx_onhold_dec(vxi); + array = rq->expired; + next->prio = MAX_PRIO-1; + enqueue_task(next, array); + rq->nr_running++; + if (next->static_prio < rq->best_expired_prio) + rq->best_expired_prio = next->static_prio; + + // printk("··· %8lu unhold %p [%d]\n", jiffies, next, next->prio); break; } if ((ret < 0) && (maxidle < ret)) maxidle = ret; } } - rq->idle_tokens = -maxidle; - - pick_next: + rq->idle_tokens = -maxidle; + +pick_next: #endif + + cpu = smp_processor_id(); if (unlikely(!rq->nr_running)) { +go_idle: idle_balance(cpu, rq); - if (!rq->nr_running) { - next = rq->idle; -#ifdef CONFIG_CKRM_CPU_SCHEDULE - rq->expired_timestamp = 0; -#endif - wake_sleeping_dependent(cpu, rq); - goto switch_tasks; - } + if (!rq->nr_running) { + next = rq->idle; + rq->expired_timestamp = 0; + wake_sleeping_dependent(cpu, rq); + /* + * wake_sleeping_dependent() might have released + * the runqueue, so break out if we got new + * tasks meanwhile: + */ + if (!rq->nr_running) + goto switch_tasks; + } + } else { + if (dependent_sleeper(cpu, rq)) { + schedstat_inc(rq, sched_goidle); + next = rq->idle; + goto switch_tasks; + } + /* + * dependent_sleeper() releases and reacquires the runqueue + * lock, hence go into the idle loop if the rq went + * empty meanwhile: + */ + if (unlikely(!rq->nr_running)) + goto go_idle; } + /* MEF: CKRM refactored code into rq_get_next_task(); make + * sure that when upgrading changes are reflected into both + * versions of the code. + */ next = rq_get_next_task(rq); - if (dependent_sleeper(cpu, rq, next)) { - next = rq->idle; - goto switch_tasks; +#ifdef CONFIG_VSERVER_HARDCPU + vxi = next->vx_info; + if (vx_info_flags(vxi, VXF_SCHED_PAUSE|VXF_SCHED_HARD, 0)) { + int ret = vx_tokens_recalc(vxi); + + if (unlikely(ret <= 0)) { + if (ret && (rq->idle_tokens > -ret)) + rq->idle_tokens = -ret; + __deactivate_task(next, rq); + recalc_task_prio(next, now); + // a new one on hold + vx_onhold_inc(vxi); + next->state |= TASK_ONHOLD; + list_add_tail(&next->run_list, &rq->hold_queue); + //printk("··· %8lu hold %p [%d]\n", jiffies, next, next->prio); + goto pick_next; + } } - -#ifdef CONFIG_VSERVER_HARDCPU - vxi = next->vx_info; - if (vxi && __vx_flags(vxi->vx_flags, - VXF_SCHED_PAUSE|VXF_SCHED_HARD, 0)) { - int ret = vx_tokens_recalc(vxi); - - if (unlikely(ret <= 0)) { - if (ret && (rq->idle_tokens > -ret)) - rq->idle_tokens = -ret; - deactivate_task(next, rq); - list_add_tail(&next->run_list, &rq->hold_queue); - next->state |= TASK_ONHOLD; - goto pick_next; - } - } #endif if (!rt_task(next) && next->activated > 0) { @@ -2947,9 +3443,8 @@ need_resched: next->activated = 0; switch_tasks: prefetch(next); - if (test_and_clear_tsk_thread_flag(prev,TIF_NEED_RESCHED)) - rq->nr_preempt++; - RCU_qsctr(task_cpu(prev))++; + clear_tsk_need_resched(prev); + rcu_qsctr_inc(task_cpu(prev)); prev->sleep_avg -= run_time; if ((long)prev->sleep_avg <= 0) { @@ -2957,12 +3452,10 @@ switch_tasks: if (!(HIGH_CREDIT(prev) || LOW_CREDIT(prev))) prev->interactive_credit--; } - add_delay_ts(prev,runcpu_total,prev->timestamp,now); - prev->timestamp = now; + prev->timestamp = prev->last_ran = now; + sched_info_switch(prev, next); if (likely(prev != next)) { - add_delay_ts(next,waitcpu_total,next->timestamp,now); - inc_delay(next,runs); next->timestamp = now; rq->nr_switches++; rq->curr = next; @@ -2978,11 +3471,11 @@ switch_tasks: reacquire_kernel_lock(current); preempt_enable_no_resched(); - if (test_thread_flag(TIF_NEED_RESCHED)) + if (unlikely(test_thread_flag(TIF_NEED_RESCHED))) goto need_resched; - return; - + return; + dump_scheduling_disabled: /* allow scheduling only if this is the dumping cpu */ if (dump_oncpu != smp_processor_id()+1) { @@ -3176,11 +3669,11 @@ EXPORT_SYMBOL(wait_for_completion); spin_unlock_irqrestore(&q->lock, flags); #define SLEEP_ON_BKLCHECK \ - if (unlikely(!kernel_locked()) && \ - sleep_on_bkl_warnings < 10) { \ - sleep_on_bkl_warnings++; \ - WARN_ON(1); \ - } + if (unlikely(!kernel_locked()) && \ + sleep_on_bkl_warnings < 10) { \ + sleep_on_bkl_warnings++; \ + WARN_ON(1); \ + } static int sleep_on_bkl_warnings; @@ -3203,7 +3696,7 @@ long fastcall __sched interruptible_sleep_on_timeout(wait_queue_head_t *q, long { SLEEP_ON_VAR - SLEEP_ON_BKLCHECK + SLEEP_ON_BKLCHECK current->state = TASK_INTERRUPTIBLE; @@ -3220,7 +3713,7 @@ long fastcall __sched sleep_on_timeout(wait_queue_head_t *q, long timeout) { SLEEP_ON_VAR - SLEEP_ON_BKLCHECK + SLEEP_ON_BKLCHECK current->state = TASK_UNINTERRUPTIBLE; @@ -3302,6 +3795,8 @@ asmlinkage long sys_nice(int increment) * and we have a single winner. */ if (increment < 0) { + if (vx_flags(VXF_IGNEG_NICE, 0)) + return 0; if (!capable(CAP_SYS_NICE)) return -EPERM; if (increment < -40) @@ -3347,7 +3842,6 @@ int task_nice(const task_t *p) { return TASK_NICE(p); } -EXPORT_SYMBOL(task_nice); /** * idle_cpu - is a given cpu idle currently? @@ -3388,7 +3882,7 @@ static int setscheduler(pid_t pid, int policy, struct sched_param __user *param) { struct sched_param lp; int retval = -EINVAL; - int oldprio; + int oldprio, oldpolicy = -1; prio_array_t *array; unsigned long flags; runqueue_t *rq; @@ -3410,22 +3904,18 @@ static int setscheduler(pid_t pid, int policy, struct sched_param __user *param) retval = -ESRCH; if (!p) - goto out_unlock_tasklist; - - /* - * To be able to change p->policy safely, the apropriate - * runqueue lock must be held. - */ - rq = task_rq_lock(p, &flags); - + goto out_unlock; +recheck: + /* double check policy once rq lock held */ if (policy < 0) - policy = p->policy; + policy = oldpolicy = p->policy; else { retval = -EINVAL; if (policy != SCHED_FIFO && policy != SCHED_RR && policy != SCHED_NORMAL) goto out_unlock; } + profile_hit(SCHED_PROFILING, __builtin_return_address(0)); /* * Valid priorities for SCHED_FIFO and SCHED_RR are @@ -3449,6 +3939,17 @@ static int setscheduler(pid_t pid, int policy, struct sched_param __user *param) if (retval) goto out_unlock; + /* + * To be able to change p->policy safely, the apropriate + * runqueue lock must be held. + */ + rq = task_rq_lock(p, &flags); + /* recheck policy now with rq lock held */ + if (unlikely(oldpolicy != -1 && oldpolicy != p->policy)) { + policy = oldpolicy = -1; + task_rq_unlock(rq, &flags); + goto recheck; + } array = p->array; if (array) deactivate_task(p, task_rq(p)); @@ -3456,6 +3957,7 @@ static int setscheduler(pid_t pid, int policy, struct sched_param __user *param) oldprio = p->prio; __setscheduler(p, policy, lp.sched_priority); if (array) { + vx_activate_task(p); __activate_task(p, task_rq(p)); /* * Reschedule if we are currently running on this runqueue and @@ -3468,12 +3970,9 @@ static int setscheduler(pid_t pid, int policy, struct sched_param __user *param) } else if (TASK_PREEMPTS_CURR(p, rq)) resched_task(rq->curr); } - -out_unlock: task_rq_unlock(rq, &flags); -out_unlock_tasklist: +out_unlock: read_unlock_irq(&tasklist_lock); - out_nounlock: return retval; } @@ -3566,24 +4065,10 @@ out_unlock: return retval; } -/** - * sys_sched_setaffinity - set the cpu affinity of a process - * @pid: pid of the process - * @len: length in bytes of the bitmask pointed to by user_mask_ptr - * @user_mask_ptr: user-space pointer to the new cpu mask - */ -asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len, - unsigned long __user *user_mask_ptr) +long sched_setaffinity(pid_t pid, cpumask_t new_mask) { - cpumask_t new_mask; - int retval; task_t *p; - - if (len < sizeof(new_mask)) - return -EINVAL; - - if (copy_from_user(&new_mask, user_mask_ptr, sizeof(new_mask))) - return -EFAULT; + int retval; lock_cpu_hotplug(); read_lock(&tasklist_lock); @@ -3616,38 +4101,55 @@ out_unlock: return retval; } -/* - * Represents all cpu's present in the system - * In systems capable of hotplug, this map could dynamically grow - * as new cpu's are detected in the system via any platform specific - * method, such as ACPI for e.g. - */ - -cpumask_t cpu_present_map; -EXPORT_SYMBOL(cpu_present_map); - -#ifndef CONFIG_SMP -cpumask_t cpu_online_map = CPU_MASK_ALL; -cpumask_t cpu_possible_map = CPU_MASK_ALL; -#endif +static int get_user_cpu_mask(unsigned long __user *user_mask_ptr, unsigned len, + cpumask_t *new_mask) +{ + if (len < sizeof(cpumask_t)) { + memset(new_mask, 0, sizeof(cpumask_t)); + } else if (len > sizeof(cpumask_t)) { + len = sizeof(cpumask_t); + } + return copy_from_user(new_mask, user_mask_ptr, len) ? -EFAULT : 0; +} /** - * sys_sched_getaffinity - get the cpu affinity of a process + * sys_sched_setaffinity - set the cpu affinity of a process * @pid: pid of the process * @len: length in bytes of the bitmask pointed to by user_mask_ptr - * @user_mask_ptr: user-space pointer to hold the current cpu mask + * @user_mask_ptr: user-space pointer to the new cpu mask */ -asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, +asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len, unsigned long __user *user_mask_ptr) { - unsigned int real_len; - cpumask_t mask; + cpumask_t new_mask; int retval; - task_t *p; - real_len = sizeof(mask); - if (len < real_len) - return -EINVAL; + retval = get_user_cpu_mask(user_mask_ptr, len, &new_mask); + if (retval) + return retval; + + return sched_setaffinity(pid, new_mask); +} + +/* + * Represents all cpu's present in the system + * In systems capable of hotplug, this map could dynamically grow + * as new cpu's are detected in the system via any platform specific + * method, such as ACPI for e.g. + */ + +cpumask_t cpu_present_map; +EXPORT_SYMBOL(cpu_present_map); + +#ifndef CONFIG_SMP +cpumask_t cpu_online_map = CPU_MASK_ALL; +cpumask_t cpu_possible_map = CPU_MASK_ALL; +#endif + +long sched_getaffinity(pid_t pid, cpumask_t *mask) +{ + int retval; + task_t *p; lock_cpu_hotplug(); read_lock(&tasklist_lock); @@ -3658,16 +4160,40 @@ asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, goto out_unlock; retval = 0; - cpus_and(mask, p->cpus_allowed, cpu_possible_map); + cpus_and(*mask, p->cpus_allowed, cpu_possible_map); out_unlock: read_unlock(&tasklist_lock); unlock_cpu_hotplug(); if (retval) return retval; - if (copy_to_user(user_mask_ptr, &mask, real_len)) + + return 0; +} + +/** + * sys_sched_getaffinity - get the cpu affinity of a process + * @pid: pid of the process + * @len: length in bytes of the bitmask pointed to by user_mask_ptr + * @user_mask_ptr: user-space pointer to hold the current cpu mask + */ +asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, + unsigned long __user *user_mask_ptr) +{ + int ret; + cpumask_t mask; + + if (len < sizeof(cpumask_t)) + return -EINVAL; + + ret = sched_getaffinity(pid, &mask); + if (ret < 0) + return ret; + + if (copy_to_user(user_mask_ptr, &mask, sizeof(cpumask_t))) return -EFAULT; - return real_len; + + return sizeof(cpumask_t); } /** @@ -3683,6 +4209,7 @@ asmlinkage long sys_sched_yield(void) prio_array_t *array = current->array; prio_array_t *target = rq_expired(current,rq); + schedstat_inc(rq, yld_cnt); /* * We implement yielding by moving the task into the expired * queue. @@ -3690,9 +4217,19 @@ asmlinkage long sys_sched_yield(void) * (special rule: RT tasks will just roundrobin in the active * array.) */ - if (unlikely(rt_task(current))) + if (rt_task(current)) target = rq_active(current,rq); +#warning MEF need to fix up SCHEDSTATS code, but I hope this is fixed by the 2.6.10 CKRM patch +#ifdef CONFIG_SCHEDSTATS + if (current->array->nr_active == 1) { + schedstat_inc(rq, yld_act_empty); + if (!rq->expired->nr_active) + schedstat_inc(rq, yld_both_empty); + } else if (!rq->expired->nr_active) + schedstat_inc(rq, yld_exp_empty); +#endif + dequeue_task(current, array); enqueue_task(current, target); @@ -3714,13 +4251,14 @@ void __sched __cond_resched(void) __might_sleep(__FILE__, __LINE__, 0); #endif /* - * The system_state check is somewhat ugly but we might be - * called during early boot when we are not yet ready to reschedule. - */ - if (need_resched() && system_state >= SYSTEM_BOOTING_SCHEDULER_OK) { - set_current_state(TASK_RUNNING); + * The system_state check is somewhat ugly but we might be + * called during early boot when we are not yet ready to reschedule. + */ + if (need_resched() && system_state >= SYSTEM_BOOTING_SCHEDULER_OK) { + set_current_state(TASK_RUNNING); schedule(); } + } EXPORT_SYMBOL(__cond_resched); @@ -3730,14 +4268,15 @@ void __sched __cond_resched_lock(spinlock_t * lock) if (need_resched()) { _raw_spin_unlock(lock); preempt_enable_no_resched(); - set_current_state(TASK_RUNNING); - schedule(); + set_current_state(TASK_RUNNING); + schedule(); spin_lock(lock); } } EXPORT_SYMBOL(__cond_resched_lock); + /** * yield - yield the current processor to other threads. * @@ -3762,13 +4301,10 @@ EXPORT_SYMBOL(yield); void __sched io_schedule(void) { struct runqueue *rq = this_rq(); - def_delay_var(dstart); - start_delay_set(dstart,PF_IOWAIT); atomic_inc(&rq->nr_iowait); schedule(); atomic_dec(&rq->nr_iowait); - add_io_delay(dstart); } EXPORT_SYMBOL(io_schedule); @@ -3777,13 +4313,10 @@ long __sched io_schedule_timeout(long timeout) { struct runqueue *rq = this_rq(); long ret; - def_delay_var(dstart); - start_delay_set(dstart,PF_IOWAIT); atomic_inc(&rq->nr_iowait); ret = schedule_timeout(timeout); atomic_dec(&rq->nr_iowait); - add_io_delay(dstart); return ret; } @@ -3894,7 +4427,7 @@ static void show_task(task_t * p) task_t *relative; unsigned state; unsigned long free = 0; - static const char *stat_nam[] = { "R", "S", "D", "T", "Z", "W" }; + static const char *stat_nam[] = { "R", "S", "D", "T", "t", "Z", "X" }; printk("%-13.13s ", p->comm); state = p->state ? __ffs(p->state) + 1 : 0; @@ -3969,25 +4502,28 @@ void show_state(void) read_unlock(&tasklist_lock); } -EXPORT_SYMBOL_GPL(show_state); - void __devinit init_idle(task_t *idle, int cpu) { - runqueue_t *idle_rq = cpu_rq(cpu), *rq = cpu_rq(task_cpu(idle)); + runqueue_t *rq = cpu_rq(cpu); unsigned long flags; - local_irq_save(flags); - double_rq_lock(idle_rq, rq); - - idle_rq->curr = idle_rq->idle = idle; - deactivate_task(idle, rq); + idle->sleep_avg = 0; + idle->interactive_credit = 0; idle->array = NULL; idle->prio = MAX_PRIO; idle->state = TASK_RUNNING; set_task_cpu(idle, cpu); - double_rq_unlock(idle_rq, rq); + +#ifdef CONFIG_CKRM_CPU_SCHEDULE + cpu_demand_event(&(idle->demand_stat),CPU_DEMAND_INIT,0); + idle->cpu_class = get_default_cpu_class(); + idle->array = NULL; +#endif + + spin_lock_irqsave(&rq->lock, flags); + rq->curr = rq->idle = idle; set_tsk_need_resched(idle); - local_irq_restore(flags); + spin_unlock_irqrestore(&rq->lock, flags); /* Set the preempt count _outside_ the spinlocks! */ #ifdef CONFIG_PREEMPT @@ -4069,7 +4605,7 @@ EXPORT_SYMBOL_GPL(set_cpus_allowed); * Move (not current) task off this cpu, onto dest cpu. We're doing * this because either it can't run here any more (set_cpus_allowed() * away from this CPU, or CPU going down), or because we're - * attempting to rebalance this task on exec (sched_balance_exec). + * attempting to rebalance this task on exec (sched_exec). * * So we race with normal scheduler movements, but that's OK, as long * as the task is no longer on this CPU. @@ -4081,7 +4617,7 @@ static void __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) if (unlikely(cpu_is_offline(dest_cpu))) return; - rq_src = cpu_rq(src_cpu); + rq_src = cpu_rq(src_cpu); rq_dest = cpu_rq(dest_cpu); double_rq_lock(rq_src, rq_dest); @@ -4187,49 +4723,52 @@ wait_to_die: } #ifdef CONFIG_HOTPLUG_CPU -/* migrate_all_tasks - function to migrate all tasks from the dead cpu. */ -static void migrate_all_tasks(int src_cpu) +/* Figure out where task on dead CPU should go, use force if neccessary. */ +static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *tsk) { - struct task_struct *tsk, *t; int dest_cpu; - unsigned int node; + cpumask_t mask; - write_lock_irq(&tasklist_lock); + /* On same node? */ + mask = node_to_cpumask(cpu_to_node(dead_cpu)); + cpus_and(mask, mask, tsk->cpus_allowed); + dest_cpu = any_online_cpu(mask); + + /* On any allowed CPU? */ + if (dest_cpu == NR_CPUS) + dest_cpu = any_online_cpu(tsk->cpus_allowed); + + /* No more Mr. Nice Guy. */ + if (dest_cpu == NR_CPUS) { + cpus_setall(tsk->cpus_allowed); + dest_cpu = any_online_cpu(tsk->cpus_allowed); - /* watch out for per node tasks, let's stay on this node */ - node = cpu_to_node(src_cpu); + /* + * Don't tell them about moving exiting tasks or + * kernel threads (both mm NULL), since they never + * leave kernel. + */ + if (tsk->mm && printk_ratelimit()) + printk(KERN_INFO "process %d (%s) no " + "longer affine to cpu%d\n", + tsk->pid, tsk->comm, dead_cpu); + } + __migrate_task(tsk, dead_cpu, dest_cpu); +} + +/* Run through task list and migrate tasks from the dead cpu. */ +static void migrate_live_tasks(int src_cpu) +{ + struct task_struct *tsk, *t; + + write_lock_irq(&tasklist_lock); do_each_thread(t, tsk) { - cpumask_t mask; if (tsk == current) continue; - if (task_cpu(tsk) != src_cpu) - continue; - - /* Figure out where this task should go (attempting to - * keep it on-node), and check if it can be migrated - * as-is. NOTE that kernel threads bound to more than - * one online cpu will be migrated. */ - mask = node_to_cpumask(node); - cpus_and(mask, mask, tsk->cpus_allowed); - dest_cpu = any_online_cpu(mask); - if (dest_cpu == NR_CPUS) - dest_cpu = any_online_cpu(tsk->cpus_allowed); - if (dest_cpu == NR_CPUS) { - cpus_setall(tsk->cpus_allowed); - dest_cpu = any_online_cpu(tsk->cpus_allowed); - - /* Don't tell them about moving exiting tasks - or kernel threads (both mm NULL), since - they never leave kernel. */ - if (tsk->mm && printk_ratelimit()) - printk(KERN_INFO "process %d (%s) no " - "longer affine to cpu%d\n", - tsk->pid, tsk->comm, src_cpu); - } - - __migrate_task(tsk, src_cpu, dest_cpu); + if (task_cpu(tsk) == src_cpu) + move_task_off_dead_cpu(src_cpu, tsk); } while_each_thread(t, tsk); write_unlock_irq(&tasklist_lock); @@ -4260,6 +4799,47 @@ void sched_idle_next(void) spin_unlock_irqrestore(&rq->lock, flags); } + +static void migrate_dead(unsigned int dead_cpu, task_t *tsk) +{ + struct runqueue *rq = cpu_rq(dead_cpu); + + /* Must be exiting, otherwise would be on tasklist. */ + BUG_ON(tsk->exit_state != EXIT_ZOMBIE && tsk->exit_state != EXIT_DEAD); + + /* Cannot have done final schedule yet: would have vanished. */ + BUG_ON(tsk->flags & PF_DEAD); + + get_task_struct(tsk); + + /* + * Drop lock around migration; if someone else moves it, + * that's OK. No task can be added to this CPU, so iteration is + * fine. + */ + spin_unlock_irq(&rq->lock); + move_task_off_dead_cpu(dead_cpu, tsk); + spin_lock_irq(&rq->lock); + + put_task_struct(tsk); +} + +/* release_task() removes task from tasklist, so we won't find dead tasks. */ +static void migrate_dead_tasks(unsigned int dead_cpu) +{ + unsigned arr, i; + struct runqueue *rq = cpu_rq(dead_cpu); + + for (arr = 0; arr < 2; arr++) { + for (i = 0; i < MAX_PRIO; i++) { + struct list_head *list = &rq->arrays[arr].queue[i]; + while (!list_empty(list)) + migrate_dead(dead_cpu, + list_entry(list->next, task_t, + run_list)); + } + } +} #endif /* CONFIG_HOTPLUG_CPU */ /* @@ -4299,7 +4879,7 @@ static int migration_call(struct notifier_block *nfb, unsigned long action, cpu_rq(cpu)->migration_thread = NULL; break; case CPU_DEAD: - migrate_all_tasks(cpu); + migrate_live_tasks(cpu); rq = cpu_rq(cpu); kthread_stop(rq->migration_thread); rq->migration_thread = NULL; @@ -4308,8 +4888,9 @@ static int migration_call(struct notifier_block *nfb, unsigned long action, deactivate_task(rq->idle, rq); rq->idle->static_prio = MAX_PRIO; __setscheduler(rq->idle, SCHED_NORMAL, 0); + migrate_dead_tasks(cpu); task_rq_unlock(rq, &flags); - BUG_ON(rq->nr_running != 0); + BUG_ON(rq->nr_running != 0); /* No need to migrate the tasks: it was best-effort if * they didn't do lock_cpu_hotplug(). Just wake up @@ -4324,7 +4905,7 @@ static int migration_call(struct notifier_block *nfb, unsigned long action, complete(&req->done); } spin_unlock_irq(&rq->lock); - break; + break; #endif } return NOTIFY_OK; @@ -4365,16 +4946,17 @@ spinlock_t kernel_flag __cacheline_aligned_in_smp = SPIN_LOCK_UNLOCKED; EXPORT_SYMBOL(kernel_flag); #ifdef CONFIG_SMP -/* Attach the domain 'sd' to 'cpu' as its base domain */ -void cpu_attach_domain(struct sched_domain *sd, int cpu) +/* + * Attach the domain 'sd' to 'cpu' as its base domain. Callers must + * hold the hotplug lock. + */ +static void cpu_attach_domain(struct sched_domain *sd, int cpu) { migration_req_t req; unsigned long flags; runqueue_t *rq = cpu_rq(cpu); int local = 1; - lock_cpu_hotplug(); - spin_lock_irqsave(&rq->lock, flags); if (cpu == smp_processor_id() || !cpu_online(cpu)) { @@ -4393,142 +4975,366 @@ void cpu_attach_domain(struct sched_domain *sd, int cpu) wake_up_process(rq->migration_thread); wait_for_completion(&req.done); } +} - unlock_cpu_hotplug(); +/* + * To enable disjoint top-level NUMA domains, define SD_NODES_PER_DOMAIN + * in arch code. That defines the number of nearby nodes in a node's top + * level scheduling domain. + */ +#ifdef CONFIG_NUMA +#ifdef SD_NODES_PER_DOMAIN +/** + * find_next_best_node - find the next node to include in a sched_domain + * @node: node whose sched_domain we're building + * @used_nodes: nodes already in the sched_domain + * + * Find the next node to include in a given scheduling domain. Simply + * finds the closest node not already in the @used_nodes map. + * + * Should use nodemask_t. + */ +static int __devinit find_next_best_node(int node, unsigned long *used_nodes) +{ + int i, n, val, min_val, best_node = 0; + + min_val = INT_MAX; + + for (i = 0; i < numnodes; i++) { + /* Start at @node */ + n = (node + i) % numnodes; + + /* Skip already used nodes */ + if (test_bit(n, used_nodes)) + continue; + + /* Simple min distance search */ + val = node_distance(node, i); + + if (val < min_val) { + min_val = val; + best_node = n; + } + } + + set_bit(best_node, used_nodes); + return best_node; } -#ifdef ARCH_HAS_SCHED_DOMAIN -extern void __init arch_init_sched_domains(void); -#else -static struct sched_group sched_group_cpus[NR_CPUS]; +/** + * sched_domain_node_span - get a cpumask for a node's sched_domain + * @node: node whose cpumask we're constructing + * @size: number of nodes to include in this span + * + * Given a node, construct a good cpumask for its sched_domain to span. It + * should be one that prevents unnecessary balancing, but also spreads tasks + * out optimally. + */ +static cpumask_t __devinit sched_domain_node_span(int node) +{ + int i; + cpumask_t span; + DECLARE_BITMAP(used_nodes, MAX_NUMNODES); + + cpus_clear(span); + bitmap_zero(used_nodes, MAX_NUMNODES); + + for (i = 0; i < SD_NODES_PER_DOMAIN; i++) { + int next_node = find_next_best_node(node, used_nodes); + cpumask_t nodemask; + + nodemask = node_to_cpumask(next_node); + cpus_or(span, span, nodemask); + } + + return span; +} +#else /* SD_NODES_PER_DOMAIN */ +static cpumask_t __devinit sched_domain_node_span(int node) +{ + return cpu_possible_map; +} +#endif /* SD_NODES_PER_DOMAIN */ +#endif /* CONFIG_NUMA */ + +#ifdef CONFIG_SCHED_SMT static DEFINE_PER_CPU(struct sched_domain, cpu_domains); +static struct sched_group sched_group_cpus[NR_CPUS]; +static int __devinit cpu_to_cpu_group(int cpu) +{ + return cpu; +} +#endif + +static DEFINE_PER_CPU(struct sched_domain, phys_domains); +static struct sched_group sched_group_phys[NR_CPUS]; +static int __devinit cpu_to_phys_group(int cpu) +{ +#ifdef CONFIG_SCHED_SMT + return first_cpu(cpu_sibling_map[cpu]); +#else + return cpu; +#endif +} + #ifdef CONFIG_NUMA -static struct sched_group sched_group_nodes[MAX_NUMNODES]; + static DEFINE_PER_CPU(struct sched_domain, node_domains); -static void __init arch_init_sched_domains(void) +static struct sched_group sched_group_nodes[MAX_NUMNODES]; +static int __devinit cpu_to_node_group(int cpu) { - int i; - struct sched_group *first_node = NULL, *last_node = NULL; + return cpu_to_node(cpu); +} +#endif - /* Set up domains */ - for_each_cpu(i) { - int node = cpu_to_node(i); - cpumask_t nodemask = node_to_cpumask(node); - struct sched_domain *node_sd = &per_cpu(node_domains, i); - struct sched_domain *cpu_sd = &per_cpu(cpu_domains, i); - - *node_sd = SD_NODE_INIT; - node_sd->span = cpu_possible_map; - node_sd->groups = &sched_group_nodes[cpu_to_node(i)]; - - *cpu_sd = SD_CPU_INIT; - cpus_and(cpu_sd->span, nodemask, cpu_possible_map); - cpu_sd->groups = &sched_group_cpus[i]; - cpu_sd->parent = node_sd; - } +/* Groups for isolated scheduling domains */ +static struct sched_group sched_group_isolated[NR_CPUS]; - /* Set up groups */ - for (i = 0; i < MAX_NUMNODES; i++) { - cpumask_t tmp = node_to_cpumask(i); - cpumask_t nodemask; - struct sched_group *first_cpu = NULL, *last_cpu = NULL; - struct sched_group *node = &sched_group_nodes[i]; - int j; +/* cpus with isolated domains */ +cpumask_t __devinitdata cpu_isolated_map = CPU_MASK_NONE; - cpus_and(nodemask, tmp, cpu_possible_map); +static int __devinit cpu_to_isolated_group(int cpu) +{ + return cpu; +} - if (cpus_empty(nodemask)) - continue; +/* Setup the mask of cpus configured for isolated domains */ +static int __init isolated_cpu_setup(char *str) +{ + int ints[NR_CPUS], i; - node->cpumask = nodemask; - node->cpu_power = SCHED_LOAD_SCALE * cpus_weight(node->cpumask); + str = get_options(str, ARRAY_SIZE(ints), ints); + cpus_clear(cpu_isolated_map); + for (i = 1; i <= ints[0]; i++) + cpu_set(ints[i], cpu_isolated_map); + return 1; +} - for_each_cpu_mask(j, node->cpumask) { - struct sched_group *cpu = &sched_group_cpus[j]; +__setup ("isolcpus=", isolated_cpu_setup); - cpus_clear(cpu->cpumask); - cpu_set(j, cpu->cpumask); - cpu->cpu_power = SCHED_LOAD_SCALE; +/* + * init_sched_build_groups takes an array of groups, the cpumask we wish + * to span, and a pointer to a function which identifies what group a CPU + * belongs to. The return value of group_fn must be a valid index into the + * groups[] array, and must be >= 0 and < NR_CPUS (due to the fact that we + * keep track of groups covered with a cpumask_t). + * + * init_sched_build_groups will build a circular linked list of the groups + * covered by the given span, and will set each group's ->cpumask correctly, + * and ->cpu_power to 0. + */ +static void __devinit init_sched_build_groups(struct sched_group groups[], + cpumask_t span, int (*group_fn)(int cpu)) +{ + struct sched_group *first = NULL, *last = NULL; + cpumask_t covered = CPU_MASK_NONE; + int i; - if (!first_cpu) - first_cpu = cpu; - if (last_cpu) - last_cpu->next = cpu; - last_cpu = cpu; - } - last_cpu->next = first_cpu; + for_each_cpu_mask(i, span) { + int group = group_fn(i); + struct sched_group *sg = &groups[group]; + int j; - if (!first_node) - first_node = node; - if (last_node) - last_node->next = node; - last_node = node; - } - last_node->next = first_node; + if (cpu_isset(i, covered)) + continue; - mb(); - for_each_cpu(i) { - struct sched_domain *cpu_sd = &per_cpu(cpu_domains, i); - cpu_attach_domain(cpu_sd, i); + sg->cpumask = CPU_MASK_NONE; + sg->cpu_power = 0; + + for_each_cpu_mask(j, span) { + if (group_fn(j) != group) + continue; + + cpu_set(j, covered); + cpu_set(j, sg->cpumask); + } + if (!first) + first = sg; + if (last) + last->next = sg; + last = sg; } + last->next = first; } -#else /* !CONFIG_NUMA */ -static void __init arch_init_sched_domains(void) +/* + * Set up scheduler domains and groups. Callers must hold the hotplug lock. + */ +static void __devinit arch_init_sched_domains(void) { int i; - struct sched_group *first_cpu = NULL, *last_cpu = NULL; + cpumask_t cpu_default_map; + cpumask_t cpu_isolated_online_map; + + cpus_and(cpu_isolated_online_map, cpu_isolated_map, cpu_online_map); + + /* + * Setup mask for cpus without special case scheduling requirements. + * For now this just excludes isolated cpus, but could be used to + * exclude other special cases in the future. + */ + cpus_complement(cpu_default_map, cpu_isolated_map); + cpus_and(cpu_default_map, cpu_default_map, cpu_online_map); /* Set up domains */ - for_each_cpu(i) { - struct sched_domain *cpu_sd = &per_cpu(cpu_domains, i); + for_each_online_cpu(i) { + int group; + struct sched_domain *sd = NULL, *p; + cpumask_t nodemask = node_to_cpumask(cpu_to_node(i)); + + cpus_and(nodemask, nodemask, cpu_default_map); - *cpu_sd = SD_CPU_INIT; - cpu_sd->span = cpu_possible_map; - cpu_sd->groups = &sched_group_cpus[i]; + /* + * Set up isolated domains. + * Unlike those of other cpus, the domains and groups are + * single level, and span a single cpu. + */ + if (cpu_isset(i, cpu_isolated_online_map)) { +#ifdef CONFIG_SCHED_SMT + sd = &per_cpu(cpu_domains, i); +#else + sd = &per_cpu(phys_domains, i); +#endif + group = cpu_to_isolated_group(i); + *sd = SD_CPU_INIT; + cpu_set(i, sd->span); + sd->balance_interval = INT_MAX; /* Don't balance */ + sd->flags = 0; /* Avoid WAKE_ */ + sd->groups = &sched_group_isolated[group]; + printk(KERN_INFO "Setting up cpu %d isolated.\n", i); + /* Single level, so continue with next cpu */ + continue; + } + +#ifdef CONFIG_NUMA + sd = &per_cpu(node_domains, i); + group = cpu_to_node_group(i); + *sd = SD_NODE_INIT; + /* FIXME: should be multilevel, in arch code */ + sd->span = sched_domain_node_span(i); + cpus_and(sd->span, sd->span, cpu_default_map); + sd->groups = &sched_group_nodes[group]; +#endif + + p = sd; + sd = &per_cpu(phys_domains, i); + group = cpu_to_phys_group(i); + *sd = SD_CPU_INIT; + sd->span = nodemask; + sd->parent = p; + sd->groups = &sched_group_phys[group]; + +#ifdef CONFIG_SCHED_SMT + p = sd; + sd = &per_cpu(cpu_domains, i); + group = cpu_to_cpu_group(i); + *sd = SD_SIBLING_INIT; + sd->span = cpu_sibling_map[i]; + cpus_and(sd->span, sd->span, cpu_default_map); + sd->parent = p; + sd->groups = &sched_group_cpus[group]; +#endif } - /* Set up CPU groups */ - for_each_cpu_mask(i, cpu_possible_map) { - struct sched_group *cpu = &sched_group_cpus[i]; +#ifdef CONFIG_SCHED_SMT + /* Set up CPU (sibling) groups */ + for_each_online_cpu(i) { + cpumask_t this_sibling_map = cpu_sibling_map[i]; + cpus_and(this_sibling_map, this_sibling_map, cpu_default_map); + if (i != first_cpu(this_sibling_map)) + continue; - cpus_clear(cpu->cpumask); - cpu_set(i, cpu->cpumask); - cpu->cpu_power = SCHED_LOAD_SCALE; + init_sched_build_groups(sched_group_cpus, this_sibling_map, + &cpu_to_cpu_group); + } +#endif - if (!first_cpu) - first_cpu = cpu; - if (last_cpu) - last_cpu->next = cpu; - last_cpu = cpu; + /* Set up isolated groups */ + for_each_cpu_mask(i, cpu_isolated_online_map) { + cpumask_t mask = cpumask_of_cpu(i); + init_sched_build_groups(sched_group_isolated, mask, + &cpu_to_isolated_group); } - last_cpu->next = first_cpu; - mb(); /* domains were modified outside the lock */ - for_each_cpu(i) { - struct sched_domain *cpu_sd = &per_cpu(cpu_domains, i); - cpu_attach_domain(cpu_sd, i); + /* Set up physical groups */ + for (i = 0; i < MAX_NUMNODES; i++) { + cpumask_t nodemask = node_to_cpumask(i); + + cpus_and(nodemask, nodemask, cpu_default_map); + if (cpus_empty(nodemask)) + continue; + + init_sched_build_groups(sched_group_phys, nodemask, + &cpu_to_phys_group); } + + +#ifdef CONFIG_NUMA + /* Set up node groups */ + init_sched_build_groups(sched_group_nodes, cpu_default_map, + &cpu_to_node_group); +#endif + + + /* Calculate CPU power for physical packages and nodes */ + for_each_cpu_mask(i, cpu_default_map) { + int power; + struct sched_domain *sd; +#ifdef CONFIG_SCHED_SMT + sd = &per_cpu(cpu_domains, i); + power = SCHED_LOAD_SCALE; + sd->groups->cpu_power = power; +#endif + + sd = &per_cpu(phys_domains, i); + power = SCHED_LOAD_SCALE + SCHED_LOAD_SCALE * + (cpus_weight(sd->groups->cpumask)-1) / 10; + sd->groups->cpu_power = power; + + +#ifdef CONFIG_NUMA + if (i == first_cpu(sd->groups->cpumask)) { + /* Only add "power" once for each physical package. */ + sd = &per_cpu(node_domains, i); + sd->groups->cpu_power += power; + } +#endif + } + + /* Attach the domains */ + for_each_online_cpu(i) { + struct sched_domain *sd; +#ifdef CONFIG_SCHED_SMT + sd = &per_cpu(cpu_domains, i); +#else + sd = &per_cpu(phys_domains, i); +#endif + cpu_attach_domain(sd, i); + } + last->next = first; } -#endif /* CONFIG_NUMA */ -#endif /* ARCH_HAS_SCHED_DOMAIN */ +#ifdef CONFIG_HOTPLUG_CPU +static void __devinit arch_destroy_sched_domains(void) +{ + /* Do nothing: everything is statically allocated. */ +} +#endif -#define SCHED_DOMAIN_DEBUG +#undef SCHED_DOMAIN_DEBUG #ifdef SCHED_DOMAIN_DEBUG void sched_domain_debug(void) { int i; - for_each_cpu(i) { + for_each_online_cpu(i) { runqueue_t *rq = cpu_rq(i); struct sched_domain *sd; int level = 0; sd = rq->sd; - printk(KERN_DEBUG "CPU%d: %s\n", - i, (cpu_online(i) ? " online" : "offline")); + printk(KERN_DEBUG "CPU%d:\n", i); do { int j; @@ -4594,10 +5400,61 @@ void sched_domain_debug(void) #define sched_domain_debug() {} #endif +#ifdef CONFIG_SMP +/* Initial dummy domain for early boot and for hotplug cpu */ +static __devinitdata struct sched_domain sched_domain_dummy; +static __devinitdata struct sched_group sched_group_dummy; +#endif + +#ifdef CONFIG_HOTPLUG_CPU +/* + * Force a reinitialization of the sched domains hierarchy. The domains + * and groups cannot be updated in place without racing with the balancing + * code, so we temporarily attach all running cpus to a "dummy" domain + * which will prevent rebalancing while the sched domains are recalculated. + */ +static int update_sched_domains(struct notifier_block *nfb, + unsigned long action, void *hcpu) +{ + int i; + + switch (action) { + case CPU_UP_PREPARE: + case CPU_DOWN_PREPARE: + for_each_online_cpu(i) + cpu_attach_domain(&sched_domain_dummy, i); + arch_destroy_sched_domains(); + return NOTIFY_OK; + + case CPU_UP_CANCELED: + case CPU_DOWN_FAILED: + case CPU_ONLINE: + case CPU_DEAD: + /* + * Fall through and re-initialise the domains. + */ + break; + default: + return NOTIFY_DONE; + } + + /* The hotplug lock is already held by cpu_up/cpu_down */ + arch_init_sched_domains(); + + sched_domain_debug(); + + return NOTIFY_OK; +} +#endif + void __init sched_init_smp(void) { + lock_cpu_hotplug(); arch_init_sched_domains(); sched_domain_debug(); + unlock_cpu_hotplug(); + /* XXX: Theoretical race here - CPU may be hotplugged now */ + hotcpu_notifier(update_sched_domains, 0); } #else void __init sched_init_smp(void) @@ -4609,8 +5466,9 @@ int in_sched_functions(unsigned long addr) { /* Linker adds these: start and end of __sched functions */ extern char __sched_text_start[], __sched_text_end[]; - return addr >= (unsigned long)__sched_text_start - && addr < (unsigned long)__sched_text_end; + return in_lock_functions(addr) || + (addr >= (unsigned long)__sched_text_start + && addr < (unsigned long)__sched_text_end); } void __init sched_init(void) @@ -4620,22 +5478,21 @@ void __init sched_init(void) #ifdef CONFIG_SMP /* Set up an initial dummy domain for early boot */ - static struct sched_domain sched_domain_init; - static struct sched_group sched_group_init; - - memset(&sched_domain_init, 0, sizeof(struct sched_domain)); - sched_domain_init.span = CPU_MASK_ALL; - sched_domain_init.groups = &sched_group_init; - sched_domain_init.last_balance = jiffies; - sched_domain_init.balance_interval = INT_MAX; /* Don't balance */ - sched_domain_init.busy_factor = 1; - - memset(&sched_group_init, 0, sizeof(struct sched_group)); - sched_group_init.cpumask = CPU_MASK_ALL; - sched_group_init.next = &sched_group_init; - sched_group_init.cpu_power = SCHED_LOAD_SCALE; + + memset(&sched_domain_dummy, 0, sizeof(struct sched_domain)); + sched_domain_dummy.span = CPU_MASK_ALL; + sched_domain_dummy.groups = &sched_group_dummy; + sched_domain_dummy.last_balance = jiffies; + sched_domain_dummy.balance_interval = INT_MAX; /* Don't balance */ + sched_domain_dummy.busy_factor = 1; + + memset(&sched_group_dummy, 0, sizeof(struct sched_group)); + sched_group_dummy.cpumask = CPU_MASK_ALL; + sched_group_dummy.next = &sched_group_dummy; + sched_group_dummy.cpu_power = SCHED_LOAD_SCALE; #endif - init_cpu_classes(); + + init_cpu_classes(); for (i = 0; i < NR_CPUS; i++) { #ifndef CONFIG_CKRM_CPU_SCHEDULE @@ -4650,22 +5507,22 @@ void __init sched_init(void) for (k = 0; k < MAX_PRIO; k++) { INIT_LIST_HEAD(array->queue + k); __clear_bit(k, array->bitmap); - } + } // delimiter for bitsearch __set_bit(MAX_PRIO, array->bitmap); - } + } rq->active = rq->arrays; rq->expired = rq->arrays + 1; + rq->best_expired_prio = MAX_PRIO; + #else rq = cpu_rq(i); spin_lock_init(&rq->lock); #endif - rq->best_expired_prio = MAX_PRIO; - #ifdef CONFIG_SMP - rq->sd = &sched_domain_init; + rq->sd = &sched_domain_dummy; rq->cpu_load = 0; #ifdef CONFIG_CKRM_CPU_SCHEDULE ckrm_load_init(rq_ckrm_load(rq)); @@ -4675,32 +5532,26 @@ void __init sched_init(void) rq->migration_thread = NULL; INIT_LIST_HEAD(&rq->migration_queue); #endif -#ifdef CONFIG_VSERVER_HARDCPU +#ifdef CONFIG_VSERVER_HARDCPU INIT_LIST_HEAD(&rq->hold_queue); #endif atomic_set(&rq->nr_iowait, 0); - } - /* - * We have to do a little magic to get the first - * thread right in SMP mode. - */ - rq = this_rq(); - rq->curr = current; - rq->idle = current; - set_task_cpu(current, smp_processor_id()); -#ifdef CONFIG_CKRM_CPU_SCHEDULE - cpu_demand_event(&(current)->demand_stat,CPU_DEMAND_INIT,0); - current->cpu_class = get_default_cpu_class(); - current->array = NULL; -#endif - wake_up_forked_process(current); + } /* * The boot idle thread does lazy MMU switching as well: */ atomic_inc(&init_mm.mm_count); enter_lazy_tlb(&init_mm, current); + + /* + * Make us the idle thread. Technically, schedule() should not be + * called from this thread, however somewhere below it might be, + * but because we are the idle thread, we just pick up running again + * when this runqueue becomes "idle". + */ + init_idle(current, smp_processor_id()); } #ifdef CONFIG_DEBUG_SPINLOCK_SLEEP @@ -4722,70 +5573,16 @@ void __might_sleep(char *file, int line, int atomic_depth) printk("in_atomic():%d[expected: %d], irqs_disabled():%d\n", in_atomic(), atomic_depth, irqs_disabled()); dump_stack(); -} + } #endif } EXPORT_SYMBOL(__might_sleep); #endif - -#if defined(CONFIG_SMP) && defined(CONFIG_PREEMPT) -/* - * This could be a long-held lock. If another CPU holds it for a long time, - * and that CPU is not asked to reschedule then *this* CPU will spin on the - * lock for a long time, even if *this* CPU is asked to reschedule. - * - * So what we do here, in the slow (contended) path is to spin on the lock by - * hand while permitting preemption. - * - * Called inside preempt_disable(). - */ -void __sched __preempt_spin_lock(spinlock_t *lock) -{ - if (preempt_count() > 1) { - _raw_spin_lock(lock); - return; - } - do { - preempt_enable(); - while (spin_is_locked(lock)) - cpu_relax(); - preempt_disable(); - } while (!_raw_spin_trylock(lock)); -} - -EXPORT_SYMBOL(__preempt_spin_lock); - -void __sched __preempt_write_lock(rwlock_t *lock) -{ - if (preempt_count() > 1) { - _raw_write_lock(lock); - return; - } - - do { - preempt_enable(); - while (rwlock_is_locked(lock)) - cpu_relax(); - preempt_disable(); - } while (!_raw_write_trylock(lock)); -} - -EXPORT_SYMBOL(__preempt_write_lock); -#endif /* defined(CONFIG_SMP) && defined(CONFIG_PREEMPT) */ - -#ifdef CONFIG_DELAY_ACCT -int task_running_sys(struct task_struct *p) -{ - return task_running(task_rq(p),p); - } -EXPORT_SYMBOL(task_running_sys); -#endif - #ifdef CONFIG_CKRM_CPU_SCHEDULE /** * return the classqueue object of a certain processor - */ + */ struct classqueue_struct * get_cpu_classqueue(int cpu) { return (& (cpu_rq(cpu)->classqueue) ); @@ -4799,7 +5596,7 @@ void _ckrm_cpu_change_class(task_t *tsk, struct ckrm_cpu_class *newcls) prio_array_t *array; struct runqueue *rq; unsigned long flags; - + rq = task_rq_lock(tsk,&flags); array = tsk->array; if (array) { diff --git a/kernel/signal.c b/kernel/signal.c index e4282d2de..e38ca4491 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -26,6 +26,8 @@ #include #include +extern void k_getrusage(struct task_struct *, int, struct rusage *); + /* * SLAB caches for signal bits. */ @@ -367,6 +369,22 @@ void __exit_signal(struct task_struct *tsk) if (tsk == sig->curr_target) sig->curr_target = next_thread(tsk); tsk->signal = NULL; + /* + * Accumulate here the counters for all threads but the + * group leader as they die, so they can be added into + * the process-wide totals when those are taken. + * The group leader stays around as a zombie as long + * as there are other threads. When it gets reaped, + * the exit.c code will add its counts into these totals. + * We won't ever get here for the group leader, since it + * will have been the last reference on the signal_struct. + */ + sig->utime += tsk->utime; + sig->stime += tsk->stime; + sig->min_flt += tsk->min_flt; + sig->maj_flt += tsk->maj_flt; + sig->nvcsw += tsk->nvcsw; + sig->nivcsw += tsk->nivcsw; spin_unlock(&sighand->siglock); sig = NULL; /* Marker for below. */ } @@ -630,7 +648,8 @@ static int check_kill_permission(int sig, struct siginfo *info, /* forward decl */ static void do_notify_parent_cldstop(struct task_struct *tsk, - struct task_struct *parent); + struct task_struct *parent, + int why); /* * Handle magic process-wide effects of stop/continue signals. @@ -672,12 +691,17 @@ static void handle_stop_signal(int sig, struct task_struct *p) * the SIGCHLD was pending on entry to this kill. */ p->signal->group_stop_count = 0; + p->signal->stop_state = 1; + spin_unlock(&p->sighand->siglock); if (p->ptrace & PT_PTRACED) - do_notify_parent_cldstop(p, p->parent); + do_notify_parent_cldstop(p, p->parent, + CLD_STOPPED); else do_notify_parent_cldstop( p->group_leader, - p->group_leader->real_parent); + p->group_leader->real_parent, + CLD_STOPPED); + spin_lock(&p->sighand->siglock); } rm_from_queue(SIG_KERNEL_STOP_MASK, &p->signal->shared_pending); t = p; @@ -708,6 +732,25 @@ static void handle_stop_signal(int sig, struct task_struct *p) t = next_thread(t); } while (t != p); + + if (p->signal->stop_state > 0) { + /* + * We were in fact stopped, and are now continued. + * Notify the parent with CLD_CONTINUED. + */ + p->signal->stop_state = -1; + p->signal->group_exit_code = 0; + spin_unlock(&p->sighand->siglock); + if (p->ptrace & PT_PTRACED) + do_notify_parent_cldstop(p, p->parent, + CLD_CONTINUED); + else + do_notify_parent_cldstop( + p->group_leader, + p->group_leader->real_parent, + CLD_CONTINUED); + spin_lock(&p->sighand->siglock); + } } } @@ -873,10 +916,19 @@ force_sig_specific(int sig, struct task_struct *t) static void -__group_complete_signal(int sig, struct task_struct *p, unsigned int mask) +__group_complete_signal(int sig, struct task_struct *p) { + unsigned int mask; struct task_struct *t; + /* + * Don't bother zombies and stopped tasks (but + * SIGKILL will punch through stopped state) + */ + mask = EXIT_DEAD | EXIT_ZOMBIE | TASK_TRACED; + if (sig != SIGKILL) + mask |= TASK_STOPPED; + /* * Now find a thread we can wake up to take the signal off the queue. * @@ -978,7 +1030,6 @@ __group_complete_signal(int sig, struct task_struct *p, unsigned int mask) static int __group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) { - unsigned int mask; int ret = 0; #ifdef CONFIG_SMP @@ -1001,14 +1052,6 @@ __group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) /* This is a non-RT signal and we already have one queued. */ return ret; - /* - * Don't bother zombies and stopped tasks (but - * SIGKILL will punch through stopped state) - */ - mask = TASK_DEAD | TASK_ZOMBIE; - if (sig != SIGKILL) - mask |= TASK_STOPPED; - /* * Put this signal on the shared-pending queue, or fail with EAGAIN. * We always use the shared queue for process-wide signals, @@ -1018,7 +1061,7 @@ __group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) if (unlikely(ret)) return ret; - __group_complete_signal(sig, p, mask); + __group_complete_signal(sig, p); return 0; } @@ -1038,7 +1081,7 @@ void zap_other_threads(struct task_struct *p) /* * Don't bother with already dead threads */ - if (t->state & (TASK_ZOMBIE|TASK_DEAD)) + if (t->exit_state & (EXIT_ZOMBIE|EXIT_DEAD)) continue; /* @@ -1084,8 +1127,6 @@ int group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p) int __kill_pg_info(int sig, struct siginfo *info, pid_t pgrp) { struct task_struct *p; - struct list_head *l; - struct pid *pid; int retval, success; if (pgrp <= 0) @@ -1093,11 +1134,11 @@ int __kill_pg_info(int sig, struct siginfo *info, pid_t pgrp) success = 0; retval = -ESRCH; - for_each_task_pid(pgrp, PIDTYPE_PGID, p, l, pid) { + do_each_task_pid(pgrp, PIDTYPE_PGID, p) { int err = group_send_sig_info(sig, info, p); success |= !err; retval = err; - } + } while_each_task_pid(pgrp, PIDTYPE_PGID, p); return success ? 0 : retval; } @@ -1113,38 +1154,6 @@ kill_pg_info(int sig, struct siginfo *info, pid_t pgrp) return retval; } -/* - * kill_sl_info() sends a signal to the session leader: this is used - * to send SIGHUP to the controlling process of a terminal when - * the connection is lost. - */ - - -int -kill_sl_info(int sig, struct siginfo *info, pid_t sid) -{ - int err, retval = -EINVAL; - struct pid *pid; - struct list_head *l; - struct task_struct *p; - - if (sid <= 0) - goto out; - - retval = -ESRCH; - read_lock(&tasklist_lock); - for_each_task_pid(sid, PIDTYPE_SID, p, l, pid) { - if (!p->signal->leader) - continue; - err = group_send_sig_info(sig, info, p); - if (retval) - retval = err; - } - read_unlock(&tasklist_lock); -out: - return retval; -} - int kill_proc_info(int sig, struct siginfo *info, pid_t pid) { @@ -1160,6 +1169,34 @@ kill_proc_info(int sig, struct siginfo *info, pid_t pid) return error; } +int print_fatal_signals = 0; + +static void print_fatal_signal(struct pt_regs *regs, int signr) +{ + int i; + unsigned char insn; + printk("%s/%d: potentially unexpected fatal signal %d.\n", + current->comm, current->pid, signr); + +#ifdef __i386__ + printk("code at %08lx: ", regs->eip); + for (i = 0; i < 16; i++) { + __get_user(insn, (unsigned char *)(regs->eip + i)); + printk("%02x ", insn); + } +#endif + printk("\n"); + show_regs(regs); +} + +static int __init setup_print_fatal_signals(char *str) +{ + get_option (&str, &print_fatal_signals); + + return 1; +} + +__setup("print-fatal-signals=", setup_print_fatal_signals); /* * kill_something_info() interprets pid in interesting ways just like kill(2). @@ -1255,16 +1292,29 @@ force_sig(int sig, struct task_struct *p) force_sig_info(sig, (void*)1L, p); } +/* + * When things go south during signal handling, we + * will force a SIGSEGV. And if the signal that caused + * the problem was already a SIGSEGV, we'll want to + * make sure we don't even try to deliver the signal.. + */ int -kill_pg(pid_t pgrp, int sig, int priv) +force_sigsegv(int sig, struct task_struct *p) { - return kill_pg_info(sig, (void *)(long)(priv != 0), pgrp); + if (sig == SIGSEGV) { + unsigned long flags; + spin_lock_irqsave(&p->sighand->siglock, flags); + p->sighand->action[sig - 1].sa.sa_handler = SIG_DFL; + spin_unlock_irqrestore(&p->sighand->siglock, flags); + } + force_sig(SIGSEGV, p); + return 0; } int -kill_sl(pid_t sess, int sig, int priv) +kill_pg(pid_t pgrp, int sig, int priv) { - return kill_sl_info(sig, (void *)(long)(priv != 0), sess); + return kill_pg_info(sig, (void *)(long)(priv != 0), pgrp); } int @@ -1360,7 +1410,6 @@ int send_group_sigqueue(int sig, struct sigqueue *q, struct task_struct *p) { unsigned long flags; - unsigned int mask; int ret = 0; BUG_ON(!(q->flags & SIGQUEUE_PREALLOC)); @@ -1385,13 +1434,6 @@ send_group_sigqueue(int sig, struct sigqueue *q, struct task_struct *p) q->info.si_overrun++; goto out; } - /* - * Don't bother zombies and stopped tasks (but - * SIGKILL will punch through stopped state) - */ - mask = TASK_DEAD | TASK_ZOMBIE; - if (sig != SIGKILL) - mask |= TASK_STOPPED; /* * Put this signal on the shared-pending queue. @@ -1402,7 +1444,7 @@ send_group_sigqueue(int sig, struct sigqueue *q, struct task_struct *p) list_add_tail(&q->list, &p->signal->shared_pending.list); sigaddset(&p->signal->shared_pending.signal, sig); - __group_complete_signal(sig, p, mask); + __group_complete_signal(sig, p); out: spin_unlock_irqrestore(&p->sighand->siglock, flags); read_unlock(&tasklist_lock); @@ -1435,21 +1477,24 @@ static void __wake_up_parent(struct task_struct *p, } /* - * Let a parent know about a status change of a child. + * Let a parent know about the death of a child. + * For a stopped/continued status change, use do_notify_parent_cldstop instead. */ void do_notify_parent(struct task_struct *tsk, int sig) { struct siginfo info; unsigned long flags; - int why, status; struct sighand_struct *psig; if (sig == -1) BUG(); - BUG_ON(tsk->group_leader != tsk && tsk->group_leader->state != TASK_ZOMBIE && !tsk->ptrace); - BUG_ON(tsk->group_leader == tsk && !thread_group_empty(tsk) && !tsk->ptrace); + /* do_notify_parent_cldstop should have been called instead. */ + BUG_ON(tsk->state & (TASK_STOPPED|TASK_TRACED)); + + BUG_ON(!tsk->ptrace && + (tsk->group_leader != tsk || !thread_group_empty(tsk))); info.si_signo = sig; info.si_errno = 0; @@ -1457,37 +1502,22 @@ void do_notify_parent(struct task_struct *tsk, int sig) info.si_uid = tsk->uid; /* FIXME: find out whether or not this is supposed to be c*time. */ - info.si_utime = tsk->utime; - info.si_stime = tsk->stime; + info.si_utime = tsk->utime + tsk->signal->utime; + info.si_stime = tsk->stime + tsk->signal->stime; - status = tsk->exit_code & 0x7f; - why = SI_KERNEL; /* shouldn't happen */ - switch (tsk->state) { - case TASK_STOPPED: - /* FIXME -- can we deduce CLD_TRAPPED or CLD_CONTINUED? */ - if (tsk->ptrace & PT_PTRACED) - why = CLD_TRAPPED; - else - why = CLD_STOPPED; - break; - - default: - if (tsk->exit_code & 0x80) - why = CLD_DUMPED; - else if (tsk->exit_code & 0x7f) - why = CLD_KILLED; - else { - why = CLD_EXITED; - status = tsk->exit_code >> 8; - } - break; + info.si_status = tsk->exit_code & 0x7f; + if (tsk->exit_code & 0x80) + info.si_code = CLD_DUMPED; + else if (tsk->exit_code & 0x7f) + info.si_code = CLD_KILLED; + else { + info.si_code = CLD_EXITED; + info.si_status = tsk->exit_code >> 8; } - info.si_code = why; - info.si_status = status; psig = tsk->parent->sighand; spin_lock_irqsave(&psig->siglock, flags); - if (sig == SIGCHLD && tsk->state != TASK_STOPPED && + if (sig == SIGCHLD && (psig->action[SIGCHLD-1].sa.sa_handler == SIG_IGN || (psig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDWAIT))) { /* @@ -1515,26 +1545,9 @@ void do_notify_parent(struct task_struct *tsk, int sig) spin_unlock_irqrestore(&psig->siglock, flags); } - -/* - * We need the tasklist lock because it's the only - * thing that protects out "parent" pointer. - * - * exit.c calls "do_notify_parent()" directly, because - * it already has the tasklist lock. - */ -void -notify_parent(struct task_struct *tsk, int sig) -{ - if (sig != -1) { - read_lock(&tasklist_lock); - do_notify_parent(tsk, sig); - read_unlock(&tasklist_lock); - } -} - static void -do_notify_parent_cldstop(struct task_struct *tsk, struct task_struct *parent) +do_notify_parent_cldstop(struct task_struct *tsk, struct task_struct *parent, + int why) { struct siginfo info; unsigned long flags; @@ -1549,8 +1562,20 @@ do_notify_parent_cldstop(struct task_struct *tsk, struct task_struct *parent) info.si_utime = tsk->utime; info.si_stime = tsk->stime; - info.si_status = tsk->exit_code & 0x7f; - info.si_code = CLD_STOPPED; + info.si_code = why; + switch (why) { + case CLD_CONTINUED: + info.si_status = SIGCONT; + break; + case CLD_STOPPED: + info.si_status = tsk->signal->group_exit_code & 0x7f; + break; + case CLD_TRAPPED: + info.si_status = tsk->exit_code & 0x7f; + break; + default: + BUG(); + } sighand = parent->sighand; spin_lock_irqsave(&sighand->siglock, flags); @@ -1564,34 +1589,68 @@ do_notify_parent_cldstop(struct task_struct *tsk, struct task_struct *parent) spin_unlock_irqrestore(&sighand->siglock, flags); } -int print_fatal_signals = 0; - -static void print_fatal_signal(struct pt_regs *regs, int signr) +/* + * This must be called with current->sighand->siglock held. + * + * This should be the path for all ptrace stops. + * We always set current->last_siginfo while stopped here. + * That makes it a way to test a stopped process for + * being ptrace-stopped vs being job-control-stopped. + */ +static void ptrace_stop(int exit_code, siginfo_t *info) { - int i; - unsigned char insn; - printk("%s/%d: potentially unexpected fatal signal %d.\n", - current->comm, current->pid, signr); - -#ifdef __i386__ - printk("code at %08lx: ", regs->eip); - for (i = 0; i < 16; i++) { - __get_user(insn, (unsigned char *)(regs->eip + i)); - printk("%02x ", insn); - } -#endif - printk("\n"); - show_regs(regs); + BUG_ON(!(current->ptrace & PT_PTRACED)); + + /* + * If there is a group stop in progress, + * we must participate in the bookkeeping. + */ + if (current->signal->group_stop_count > 0) + --current->signal->group_stop_count; + + current->last_siginfo = info; + current->exit_code = exit_code; + + /* Let the debugger run. */ + set_current_state(TASK_TRACED); + spin_unlock_irq(¤t->sighand->siglock); + read_lock(&tasklist_lock); + do_notify_parent_cldstop(current, current->parent, CLD_TRAPPED); + read_unlock(&tasklist_lock); + schedule(); + + /* + * We are back. Now reacquire the siglock before touching + * last_siginfo, so that we are sure to have synchronized with + * any signal-sending on another CPU that wants to examine it. + */ + spin_lock_irq(¤t->sighand->siglock); + current->last_siginfo = NULL; + + /* + * Queued signals ignored us while we were stopped for tracing. + * So check for any that we should take before resuming user mode. + */ + recalc_sigpending(); } -static int __init setup_print_fatal_signals(char *str) +void ptrace_notify(int exit_code) { - get_option (&str, &print_fatal_signals); + siginfo_t info; - return 1; -} + BUG_ON((exit_code & (0x7f | ~0xffff)) != SIGTRAP); -__setup("print-fatal-signals=", setup_print_fatal_signals); + memset(&info, 0, sizeof info); + info.si_signo = SIGTRAP; + info.si_code = exit_code; + info.si_pid = current->pid; + info.si_uid = current->uid; + + /* Let the debugger run. */ + spin_lock_irq(¤t->sighand->siglock); + ptrace_stop(exit_code, &info); + spin_unlock_irq(¤t->sighand->siglock); +} #ifndef HAVE_ARCH_GET_SIGNAL_TO_DELIVER @@ -1605,13 +1664,15 @@ finish_stop(int stop_count) */ if (stop_count < 0 || (current->ptrace & PT_PTRACED)) { read_lock(&tasklist_lock); - do_notify_parent_cldstop(current, current->parent); + do_notify_parent_cldstop(current, current->parent, + CLD_STOPPED); read_unlock(&tasklist_lock); } else if (stop_count == 0) { read_lock(&tasklist_lock); do_notify_parent_cldstop(current->group_leader, - current->group_leader->real_parent); + current->group_leader->real_parent, + CLD_STOPPED); read_unlock(&tasklist_lock); } @@ -1644,14 +1705,17 @@ do_signal_stop(int signr) stop_count = --sig->group_stop_count; current->exit_code = signr; set_current_state(TASK_STOPPED); + if (stop_count == 0) + sig->stop_state = 1; spin_unlock_irq(&sighand->siglock); } else if (thread_group_empty(current)) { /* * Lock must be held through transition to stopped state. */ - current->exit_code = signr; + current->exit_code = current->signal->group_exit_code = signr; set_current_state(TASK_STOPPED); + sig->stop_state = 1; spin_unlock_irq(&sighand->siglock); } else { @@ -1717,6 +1781,8 @@ do_signal_stop(int signr) current->exit_code = signr; set_current_state(TASK_STOPPED); + if (stop_count == 0) + sig->stop_state = 1; spin_unlock_irq(&sighand->siglock); read_unlock(&tasklist_lock); @@ -1757,6 +1823,8 @@ static inline int handle_group_stop(void) * without any associated signal being in our queue. */ stop_count = --current->signal->group_stop_count; + if (stop_count == 0) + current->signal->stop_state = 1; current->exit_code = current->signal->group_exit_code; set_current_state(TASK_STOPPED); spin_unlock_irq(¤t->sighand->siglock); @@ -1764,7 +1832,8 @@ static inline int handle_group_stop(void) return 1; } -int get_signal_to_deliver(siginfo_t *info, struct pt_regs *regs, void *cookie) +int get_signal_to_deliver(siginfo_t *info, struct k_sigaction *return_ka, + struct pt_regs *regs, void *cookie) { sigset_t *mask = ¤t->blocked; int signr = 0; @@ -1791,25 +1860,10 @@ relock: if ((current->ptrace & PT_PTRACED) && signr != SIGKILL) { ptrace_signal_deliver(regs, cookie); - /* - * If there is a group stop in progress, - * we must participate in the bookkeeping. - */ - if (current->signal->group_stop_count > 0) - --current->signal->group_stop_count; - /* Let the debugger run. */ - current->exit_code = signr; - current->last_siginfo = info; - set_current_state(TASK_STOPPED); - spin_unlock_irq(¤t->sighand->siglock); - notify_parent(current, SIGCHLD); - schedule(); - - current->last_siginfo = NULL; + ptrace_stop(signr, info); /* We're back. Did the debugger cancel the sig? */ - spin_lock_irq(¤t->sighand->siglock); signr = current->exit_code; if (signr == 0) continue; @@ -1838,8 +1892,15 @@ relock: ka = ¤t->sighand->action[signr-1]; if (ka->sa.sa_handler == SIG_IGN) /* Do nothing. */ continue; - if (ka->sa.sa_handler != SIG_DFL) /* Run the handler. */ + if (ka->sa.sa_handler != SIG_DFL) { + /* Run the handler. */ + *return_ka = *ka; + + if (ka->sa.sa_flags & SA_ONESHOT) + ka->sa.sa_handler = SIG_DFL; + break; /* will return non-zero "signr" value */ + } /* * Now we are doing the default action for this signal. @@ -1928,26 +1989,15 @@ EXPORT_SYMBOL(recalc_sigpending); EXPORT_SYMBOL_GPL(dequeue_signal); EXPORT_SYMBOL(flush_signals); EXPORT_SYMBOL(force_sig); -EXPORT_SYMBOL(force_sig_info); EXPORT_SYMBOL(kill_pg); -EXPORT_SYMBOL(kill_pg_info); EXPORT_SYMBOL(kill_proc); -EXPORT_SYMBOL(kill_proc_info); -EXPORT_SYMBOL(kill_sl); -EXPORT_SYMBOL(kill_sl_info); -EXPORT_SYMBOL(notify_parent); +EXPORT_SYMBOL(ptrace_notify); EXPORT_SYMBOL(send_sig); EXPORT_SYMBOL(send_sig_info); -EXPORT_SYMBOL(send_group_sig_info); -EXPORT_SYMBOL(sigqueue_alloc); -EXPORT_SYMBOL(sigqueue_free); -EXPORT_SYMBOL(send_sigqueue); -EXPORT_SYMBOL(send_group_sigqueue); EXPORT_SYMBOL(sigprocmask); EXPORT_SYMBOL(block_all_signals); EXPORT_SYMBOL(unblock_all_signals); - /* * System call entry points. */ diff --git a/kernel/softirq.c b/kernel/softirq.c index 4a3da9be9..573019f25 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -177,8 +177,6 @@ void fastcall raise_softirq(unsigned int nr) local_irq_restore(flags); } -EXPORT_SYMBOL(raise_softirq); - void open_softirq(int nr, void (*action)(struct softirq_action*), void *data) { softirq_vec[nr].data = data; diff --git a/kernel/sys.c b/kernel/sys.c index 6e8b073bc..2ce1f1717 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -230,6 +230,7 @@ cond_syscall(sys_acct) cond_syscall(sys_lookup_dcookie) cond_syscall(sys_swapon) cond_syscall(sys_swapoff) +cond_syscall(sys_kexec_load) cond_syscall(sys_init_module) cond_syscall(sys_delete_module) cond_syscall(sys_socketpair) @@ -280,7 +281,9 @@ cond_syscall(compat_sys_mq_getsetattr) cond_syscall(sys_mbind) cond_syscall(sys_get_mempolicy) cond_syscall(sys_set_mempolicy) +cond_syscall(compat_mbind) cond_syscall(compat_get_mempolicy) +cond_syscall(compat_set_mempolicy) /* arch-specific weak syscall entries */ cond_syscall(sys_pciconfig_read) @@ -297,7 +300,10 @@ static int set_one_prio(struct task_struct *p, int niceval, int error) goto out; } if (niceval < task_nice(p) && !capable(CAP_SYS_NICE)) { - error = -EACCES; + if (vx_flags(VXF_IGNEG_NICE, 0)) + error = 0; + else + error = -EACCES; goto out; } no_nice = security_task_setnice(p, niceval); @@ -316,8 +322,6 @@ asmlinkage long sys_setpriority(int which, int who, int niceval) { struct task_struct *g, *p; struct user_struct *user; - struct pid *pid; - struct list_head *l; int error = -EINVAL; if (which > 2 || which < 0) @@ -342,8 +346,9 @@ asmlinkage long sys_setpriority(int which, int who, int niceval) case PRIO_PGRP: if (!who) who = process_group(current); - for_each_task_pid(who, PIDTYPE_PGID, p, l, pid) + do_each_task_pid(who, PIDTYPE_PGID, p) { error = set_one_prio(p, niceval, error); + } while_each_task_pid(who, PIDTYPE_PGID, p); break; case PRIO_USER: if (!who) @@ -377,8 +382,6 @@ out: asmlinkage long sys_getpriority(int which, int who) { struct task_struct *g, *p; - struct list_head *l; - struct pid *pid; struct user_struct *user; long niceval, retval = -ESRCH; @@ -400,11 +403,11 @@ asmlinkage long sys_getpriority(int which, int who) case PRIO_PGRP: if (!who) who = process_group(current); - for_each_task_pid(who, PIDTYPE_PGID, p, l, pid) { + do_each_task_pid(who, PIDTYPE_PGID, p) { niceval = 20 - task_nice(p); if (niceval > retval) retval = niceval; - } + } while_each_task_pid(who, PIDTYPE_PGID, p); break; case PRIO_USER: if (!who) @@ -621,7 +624,7 @@ asmlinkage long sys_setregid(gid_t rgid, gid_t egid) } if (new_egid != old_egid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } if (rgid != (gid_t) -1 || @@ -654,7 +657,7 @@ asmlinkage long sys_setgid(gid_t gid) { if(old_egid != gid) { - current->mm->dumpable=0; + current->mm->dumpable = suid_dumpable; wmb(); } current->gid = current->egid = current->sgid = current->fsgid = gid; @@ -663,7 +666,7 @@ asmlinkage long sys_setgid(gid_t gid) { if(old_egid != gid) { - current->mm->dumpable=0; + current->mm->dumpable = suid_dumpable; wmb(); } current->egid = current->fsgid = gid; @@ -695,7 +698,7 @@ static int set_user(uid_t new_ruid, int dumpclear) if(dumpclear) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } current->uid = new_ruid; @@ -752,7 +755,7 @@ asmlinkage long sys_setreuid(uid_t ruid, uid_t euid) if (new_euid != old_euid) { - current->mm->dumpable=0; + current->mm->dumpable = suid_dumpable; wmb(); } current->fsuid = current->euid = new_euid; @@ -802,7 +805,7 @@ asmlinkage long sys_setuid(uid_t uid) if (old_euid != uid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } current->fsuid = current->euid = uid; @@ -847,7 +850,7 @@ asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid) if (euid != (uid_t) -1) { if (euid != current->euid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } current->euid = euid; @@ -897,7 +900,7 @@ asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid) if (egid != (gid_t) -1) { if (egid != current->egid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } current->egid = egid; @@ -945,7 +948,7 @@ asmlinkage long sys_setfsuid(uid_t uid) { if (uid != old_fsuid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } current->fsuid = uid; @@ -973,7 +976,7 @@ asmlinkage long sys_setfsgid(gid_t gid) { if (gid != old_fsgid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; wmb(); } current->fsgid = gid; @@ -991,10 +994,39 @@ asmlinkage long sys_times(struct tms __user * tbuf) */ if (tbuf) { struct tms tmp; - tmp.tms_utime = jiffies_to_clock_t(current->utime); - tmp.tms_stime = jiffies_to_clock_t(current->stime); - tmp.tms_cutime = jiffies_to_clock_t(current->cutime); - tmp.tms_cstime = jiffies_to_clock_t(current->cstime); + struct task_struct *tsk = current; + struct task_struct *t; + unsigned long utime, stime, cutime, cstime; + + read_lock(&tasklist_lock); + utime = tsk->signal->utime; + stime = tsk->signal->stime; + t = tsk; + do { + utime += t->utime; + stime += t->stime; + t = next_thread(t); + } while (t != tsk); + + /* + * While we have tasklist_lock read-locked, no dying thread + * can be updating current->signal->[us]time. Instead, + * we got their counts included in the live thread loop. + * However, another thread can come in right now and + * do a wait call that updates current->signal->c[us]time. + * To make sure we always see that pair updated atomically, + * we take the siglock around fetching them. + */ + spin_lock_irq(&tsk->sighand->siglock); + cutime = tsk->signal->cutime; + cstime = tsk->signal->cstime; + spin_unlock_irq(&tsk->sighand->siglock); + read_unlock(&tasklist_lock); + + tmp.tms_utime = jiffies_to_clock_t(utime); + tmp.tms_stime = jiffies_to_clock_t(stime); + tmp.tms_cutime = jiffies_to_clock_t(cutime); + tmp.tms_cstime = jiffies_to_clock_t(cstime); if (copy_to_user(tbuf, &tmp, sizeof(struct tms))) return -EFAULT; } @@ -1018,14 +1050,17 @@ asmlinkage long sys_setpgid(pid_t pid, pid_t pgid) { struct task_struct *p; int err = -EINVAL; + pid_t rpgid; if (!pid) - pid = current->pid; + pid = vx_map_pid(current->pid); if (!pgid) pgid = pid; if (pgid < 0) return -EINVAL; + rpgid = vx_rmap_pid(pgid); + /* From this point forward we keep holding onto the tasklist lock * so that our parent does not change from under us. -DaveM */ @@ -1059,24 +1094,23 @@ asmlinkage long sys_setpgid(pid_t pid, pid_t pgid) if (pgid != pid) { struct task_struct *p; - struct pid *pid; - struct list_head *l; - for_each_task_pid(pgid, PIDTYPE_PGID, p, l, pid) + do_each_task_pid(rpgid, PIDTYPE_PGID, p) { if (p->signal->session == current->signal->session) goto ok_pgid; + } while_each_task_pid(rpgid, PIDTYPE_PGID, p); goto out; } ok_pgid: - err = security_task_setpgid(p, pgid); + err = security_task_setpgid(p, rpgid); if (err) goto out; - if (process_group(p) != pgid) { + if (process_group(p) != rpgid) { detach_pid(p, PIDTYPE_PGID); - p->signal->pgrp = pgid; - attach_pid(p, PIDTYPE_PGID, pgid); + p->signal->pgrp = rpgid; + attach_pid(p, PIDTYPE_PGID, rpgid); } err = 0; @@ -1089,7 +1123,7 @@ out: asmlinkage long sys_getpgid(pid_t pid) { if (!pid) { - return process_group(current); + return vx_rmap_pid(process_group(current)); } else { int retval; struct task_struct *p; @@ -1101,7 +1135,7 @@ asmlinkage long sys_getpgid(pid_t pid) if (p) { retval = security_task_getpgid(p); if (!retval) - retval = process_group(p); + retval = vx_rmap_pid(process_group(p)); } read_unlock(&tasklist_lock); return retval; @@ -1583,44 +1617,86 @@ asmlinkage long sys_setrlimit(unsigned int resource, struct rlimit __user *rlim) * a lot simpler! (Which we're not doing right now because we're not * measuring them yet). * - * This is SMP safe. Either we are called from sys_getrusage on ourselves - * below (we know we aren't going to exit/disappear and only we change our - * rusage counters), or we are called from wait4() on a process which is - * either stopped or zombied. In the zombied case the task won't get - * reaped till shortly after the call to getrusage(), in both cases the - * task being examined is in a frozen state so the counters won't change. + * This expects to be called with tasklist_lock read-locked or better, + * and the siglock not locked. It may momentarily take the siglock. + * + * When sampling multiple threads for RUSAGE_SELF, under SMP we might have + * races with threads incrementing their own counters. But since word + * reads are atomic, we either get new values or old values and we don't + * care which for the sums. We always take the siglock to protect reading + * the c* fields from p->signal from races with exit.c updating those + * fields when reaping, so a sample either gets all the additions of a + * given child after it's reaped, or none so this sample is before reaping. */ -int getrusage(struct task_struct *p, int who, struct rusage __user *ru) + +void k_getrusage(struct task_struct *p, int who, struct rusage *r) { - struct rusage r; + struct task_struct *t; + unsigned long flags; + unsigned long utime, stime; + + memset((char *) r, 0, sizeof *r); + + if (unlikely(!p->signal)) + return; - memset((char *) &r, 0, sizeof(r)); switch (who) { - case RUSAGE_SELF: - jiffies_to_timeval(p->utime, &r.ru_utime); - jiffies_to_timeval(p->stime, &r.ru_stime); - r.ru_nvcsw = p->nvcsw; - r.ru_nivcsw = p->nivcsw; - r.ru_minflt = p->min_flt; - r.ru_majflt = p->maj_flt; - break; case RUSAGE_CHILDREN: - jiffies_to_timeval(p->cutime, &r.ru_utime); - jiffies_to_timeval(p->cstime, &r.ru_stime); - r.ru_nvcsw = p->cnvcsw; - r.ru_nivcsw = p->cnivcsw; - r.ru_minflt = p->cmin_flt; - r.ru_majflt = p->cmaj_flt; + spin_lock_irqsave(&p->sighand->siglock, flags); + utime = p->signal->cutime; + stime = p->signal->cstime; + r->ru_nvcsw = p->signal->cnvcsw; + r->ru_nivcsw = p->signal->cnivcsw; + r->ru_minflt = p->signal->cmin_flt; + r->ru_majflt = p->signal->cmaj_flt; + spin_unlock_irqrestore(&p->sighand->siglock, flags); + jiffies_to_timeval(utime, &r->ru_utime); + jiffies_to_timeval(stime, &r->ru_stime); break; - default: - jiffies_to_timeval(p->utime + p->cutime, &r.ru_utime); - jiffies_to_timeval(p->stime + p->cstime, &r.ru_stime); - r.ru_nvcsw = p->nvcsw + p->cnvcsw; - r.ru_nivcsw = p->nivcsw + p->cnivcsw; - r.ru_minflt = p->min_flt + p->cmin_flt; - r.ru_majflt = p->maj_flt + p->cmaj_flt; + case RUSAGE_SELF: + spin_lock_irqsave(&p->sighand->siglock, flags); + utime = stime = 0; + goto sum_group; + case RUSAGE_BOTH: + spin_lock_irqsave(&p->sighand->siglock, flags); + utime = p->signal->cutime; + stime = p->signal->cstime; + r->ru_nvcsw = p->signal->cnvcsw; + r->ru_nivcsw = p->signal->cnivcsw; + r->ru_minflt = p->signal->cmin_flt; + r->ru_majflt = p->signal->cmaj_flt; + sum_group: + utime += p->signal->utime; + stime += p->signal->stime; + r->ru_nvcsw += p->signal->nvcsw; + r->ru_nivcsw += p->signal->nivcsw; + r->ru_minflt += p->signal->min_flt; + r->ru_majflt += p->signal->maj_flt; + t = p; + do { + utime += t->utime; + stime += t->stime; + r->ru_nvcsw += t->nvcsw; + r->ru_nivcsw += t->nivcsw; + r->ru_minflt += t->min_flt; + r->ru_majflt += t->maj_flt; + t = next_thread(t); + } while (t != p); + spin_unlock_irqrestore(&p->sighand->siglock, flags); + jiffies_to_timeval(utime, &r->ru_utime); + jiffies_to_timeval(stime, &r->ru_stime); break; + default: + BUG(); } +} + +int getrusage(struct task_struct *p, int who, struct rusage __user *ru) +{ + struct rusage r; + read_lock(&tasklist_lock); + k_getrusage(p, who, &r); + read_unlock(&tasklist_lock); return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0; } @@ -1664,7 +1740,7 @@ asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, error = 1; break; case PR_SET_DUMPABLE: - if (arg2 != 0 && arg2 != 1) { + if (arg2 < 0 || arg2 > 2) { error = -EINVAL; break; } @@ -1710,6 +1786,17 @@ asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, } current->keep_capabilities = arg2; break; + case PR_SET_NAME: { + struct task_struct *me = current; + unsigned char ncomm[sizeof(me->comm)]; + + ncomm[sizeof(me->comm)-1] = 0; + if (strncpy_from_user(ncomm, (char __user *)arg2, + sizeof(me->comm)-1) < 0) + return -EFAULT; + set_task_comm(me, ncomm); + return 0; + } default: error = -EINVAL; break; diff --git a/kernel/sysctl.c b/kernel/sysctl.c index d5c21ca19..c4aaa1401 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -42,6 +42,7 @@ #include #include +#include #ifdef CONFIG_ROOT_NFS #include @@ -57,6 +58,7 @@ extern int sysctl_overcommit_ratio; extern int max_threads; extern int sysrq_enabled; extern int core_uses_pid; +extern int suid_dumpable; extern char core_pattern[]; extern int cad_pid; extern int pid_max; @@ -65,6 +67,12 @@ extern int min_free_kbytes; extern int printk_ratelimit_jiffies; extern int printk_ratelimit_burst; +#if defined(CONFIG_X86_LOCAL_APIC) && defined(__i386__) +int unknown_nmi_panic; +extern int proc_unknown_nmi_panic(ctl_table *, int, struct file *, + void __user *, size_t *, loff_t *); +#endif + extern unsigned int vdso_enabled; int exec_shield = 1; @@ -134,12 +142,6 @@ extern int sysctl_userprocess_debug; extern int sysctl_hz_timer; -#if defined(CONFIG_PPC32) && defined(CONFIG_6xx) -extern unsigned long powersave_nap; -int proc_dol2crvec(ctl_table *table, int write, struct file *filp, - void __user *buffer, size_t *lenp, loff_t *ppos); -#endif - #ifdef CONFIG_BSD_PROCESS_ACCT extern int acct_parm[]; #endif @@ -167,7 +169,9 @@ extern ctl_table random_table[]; extern ctl_table pty_table[]; #endif +#ifdef HAVE_ARCH_PICK_MMAP_LAYOUT int sysctl_legacy_va_layout; +#endif /* /proc declarations: */ @@ -414,22 +418,6 @@ static ctl_table kern_table[] = { .mode = 0644, .proc_handler = &proc_dointvec, }, -#endif -#if defined(CONFIG_PPC32) && defined(CONFIG_6xx) - { - .ctl_name = KERN_PPC_POWERSAVE_NAP, - .procname = "powersave-nap", - .data = &powersave_nap, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dointvec, - }, - { - .ctl_name = KERN_PPC_L2CR, - .procname = "l2cr", - .mode = 0644, - .proc_handler = &proc_dol2crvec, - }, #endif { .ctl_name = KERN_CTLALTDEL, @@ -689,6 +677,24 @@ static ctl_table kern_table[] = { .mode = 0444, .proc_handler = &proc_dointvec, }, +#if defined(CONFIG_X86_LOCAL_APIC) && defined(__i386__) + { + .ctl_name = KERN_UNKNOWN_NMI_PANIC, + .procname = "unknown_nmi_panic", + .data = &unknown_nmi_panic, + .maxlen = sizeof (int), + .mode = 0644, + .proc_handler = &proc_unknown_nmi_panic, + }, +#endif + { + .ctl_name = KERN_SETUID_DUMPABLE, + .procname = "suid_dumpable", + .data = &suid_dumpable, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, { .ctl_name = 0 } }; @@ -791,6 +797,14 @@ static ctl_table vm_table[] = { .extra1 = (void *)&hugetlb_zero, .extra2 = (void *)&hugetlb_infinity, }, + { + .ctl_name = VM_HUGETLB_GROUP, + .procname = "hugetlb_shm_group", + .data = &sysctl_hugetlb_shm_group, + .maxlen = sizeof(gid_t), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, #endif { .ctl_name = VM_LOWER_ZONE_PROTECTION, @@ -850,6 +864,7 @@ static ctl_table vm_table[] = { .strategy = &sysctl_intvec, .extra1 = &zero, }, +#ifdef HAVE_ARCH_PICK_MMAP_LAYOUT { .ctl_name = VM_LEGACY_VA_LAYOUT, .procname = "legacy_va_layout", @@ -860,6 +875,7 @@ static ctl_table vm_table[] = { .strategy = &sysctl_intvec, .extra1 = &zero, }, +#endif { .ctl_name = 0 } }; diff --git a/kernel/time.c b/kernel/time.c index 68c22f2bf..87d441cdd 100644 --- a/kernel/time.c +++ b/kernel/time.c @@ -22,6 +22,9 @@ * "A Kernel Model for Precision Timekeeping" by Dave Mills * Allow time_constant larger than MAXTC(6) for NTP v4 (MAXTC == 10) * (Even though the technical memorandum forbids it) + * 2004-07-14 Christoph Lameter + * Added getnstimeofday to allow the posix timer functions to return + * with nanosecond accuracy */ #include @@ -123,7 +126,7 @@ inline static void warp_clock(void) write_seqlock_irq(&xtime_lock); wall_to_monotonic.tv_sec -= sys_tz.tz_minuteswest * 60; xtime.tv_sec += sys_tz.tz_minuteswest * 60; - time_interpolator_update(sys_tz.tz_minuteswest * 60 * NSEC_PER_SEC); + time_interpolator_reset(); write_sequnlock_irq(&xtime_lock); clock_was_set(); } @@ -421,6 +424,101 @@ struct timespec current_kernel_time(void) EXPORT_SYMBOL(current_kernel_time); +#ifdef CONFIG_TIME_INTERPOLATION +void getnstimeofday (struct timespec *tv) +{ + unsigned long seq,sec,nsec; + + do { + seq = read_seqbegin(&xtime_lock); + sec = xtime.tv_sec; + nsec = xtime.tv_nsec+time_interpolator_get_offset(); + } while (unlikely(read_seqretry(&xtime_lock, seq))); + + while (unlikely(nsec >= NSEC_PER_SEC)) { + nsec -= NSEC_PER_SEC; + ++sec; + } + tv->tv_sec = sec; + tv->tv_nsec = nsec; +} + +int do_settimeofday (struct timespec *tv) +{ + time_t wtm_sec, sec = tv->tv_sec; + long wtm_nsec, nsec = tv->tv_nsec; + + if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) + return -EINVAL; + + write_seqlock_irq(&xtime_lock); + { + /* + * This is revolting. We need to set "xtime" correctly. However, the value + * in this location is the value at the most recent update of wall time. + * Discover what correction gettimeofday would have done, and then undo + * it! + */ + nsec -= time_interpolator_get_offset(); + + wtm_sec = wall_to_monotonic.tv_sec + (xtime.tv_sec - sec); + wtm_nsec = wall_to_monotonic.tv_nsec + (xtime.tv_nsec - nsec); + + set_normalized_timespec(&xtime, sec, nsec); + set_normalized_timespec(&wall_to_monotonic, wtm_sec, wtm_nsec); + + time_adjust = 0; /* stop active adjtime() */ + time_status |= STA_UNSYNC; + time_maxerror = NTP_PHASE_LIMIT; + time_esterror = NTP_PHASE_LIMIT; + time_interpolator_reset(); + } + write_sequnlock_irq(&xtime_lock); + clock_was_set(); + return 0; +} + +EXPORT_SYMBOL(do_settimeofday); + +void do_gettimeofday (struct timeval *tv) +{ + unsigned long seq, nsec, usec, sec, offset; + do { + seq = read_seqbegin(&xtime_lock); + offset = time_interpolator_get_offset(); + sec = xtime.tv_sec; + nsec = xtime.tv_nsec; + } while (unlikely(read_seqretry(&xtime_lock, seq))); + + usec = (nsec + offset) / 1000; + + while (unlikely(usec >= USEC_PER_SEC)) { + usec -= USEC_PER_SEC; + ++sec; + } + + tv->tv_sec = sec; + tv->tv_usec = usec; +} + +EXPORT_SYMBOL(do_gettimeofday); + + +#else +/* + * Simulate gettimeofday using do_gettimeofday which only allows a timeval + * and therefore only yields usec accuracy + */ +void getnstimeofday(struct timespec *tv) +{ + struct timeval x; + + do_gettimeofday(&x); + tv->tv_sec = x.tv_sec; + tv->tv_nsec = x.tv_usec * NSEC_PER_USEC; +} +#endif + #if (BITS_PER_LONG < 64) u64 get_jiffies_64(void) { diff --git a/kernel/timer.c b/kernel/timer.c index f7d42e8ec..9b719b45b 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -31,7 +31,6 @@ #include #include #include -#include #include #include @@ -39,6 +38,13 @@ #include #include #include +#include + +#ifdef CONFIG_TIME_INTERPOLATION +static void time_interpolator_update(long delta_nsec); +#else +#define time_interpolator_update(x) +#endif /* * per-CPU timer vector definitions: @@ -236,6 +242,8 @@ void add_timer_on(struct timer_list *timer, int cpu) spin_unlock_irqrestore(&base->lock, flags); } +EXPORT_SYMBOL_GPL(add_timer_on); + /*** * mod_timer - modify a timer's timeout * @timer: the timer to be modified @@ -302,6 +310,10 @@ repeat: goto repeat; } list_del(&timer->entry); + smp_wmb(); /* the list del must have taken effect before timer->base + * change is visible to other CPUs, or a concurrent mod_timer + * would cause a race with list_add + */ timer->base = NULL; spin_unlock_irqrestore(&base->lock, flags); @@ -454,7 +466,10 @@ repeat: list_del(&timer->entry); set_running_timer(base, timer); - smp_wmb(); + smp_wmb(); /* the list del must have taken effect before timer->base + * change is visible to other CPUs, or a concurrent mod_timer + * would cause a race with list_add + */ timer->base = NULL; spin_unlock_irq(&base->lock); fn(data); @@ -622,6 +637,9 @@ static void second_overflow(void) if (xtime.tv_sec % 86400 == 0) { xtime.tv_sec--; wall_to_monotonic.tv_sec++; + /* The timer interpolator will make time change gradually instead + * of an immediate jump by one second. + */ time_interpolator_update(-NSEC_PER_SEC); time_state = TIME_OOP; clock_was_set(); @@ -633,6 +651,7 @@ static void second_overflow(void) if ((xtime.tv_sec + 1) % 86400 == 0) { xtime.tv_sec++; wall_to_monotonic.tv_sec--; + /* Use of time interpolator for a gradual change of time */ time_interpolator_update(NSEC_PER_SEC); time_state = TIME_WAIT; clock_was_set(); @@ -779,13 +798,12 @@ static void update_wall_time(unsigned long ticks) do { ticks--; update_wall_time_one_tick(); + if (xtime.tv_nsec >= 1000000000) { + xtime.tv_nsec -= 1000000000; + xtime.tv_sec++; + second_overflow(); + } } while (ticks); - - if (xtime.tv_nsec >= 1000000000) { - xtime.tv_nsec -= 1000000000; - xtime.tv_sec++; - second_overflow(); - } } static inline void do_process_times(struct task_struct *p, @@ -795,7 +813,8 @@ static inline void do_process_times(struct task_struct *p, psecs = (p->utime += user); psecs += (p->stime += system); - if (psecs / HZ >= p->rlim[RLIMIT_CPU].rlim_cur) { + if (p->signal && !unlikely(p->state & (EXIT_DEAD|EXIT_ZOMBIE)) && + (psecs / HZ >= p->rlim[RLIMIT_CPU].rlim_cur)) { /* Send SIGXCPU every second.. */ if (!(psecs % HZ)) send_sig(SIGXCPU, p, 1); @@ -999,7 +1018,7 @@ asmlinkage unsigned long sys_alarm(unsigned int seconds) */ asmlinkage long sys_getpid(void) { - return vx_map_tgid(current->vx_info, current->tgid); + return vx_map_tgid(current->tgid); } /* @@ -1043,7 +1062,7 @@ asmlinkage long sys_getppid(void) #endif break; } - return vx_map_tgid(current->vx_info, pid); + return vx_map_pid(pid); } asmlinkage long sys_getuid(void) @@ -1244,8 +1263,7 @@ asmlinkage long sys_sysinfo(struct sysinfo __user *info) * too. */ - do_gettimeofday((struct timeval *)&tp); - tp.tv_nsec *= NSEC_PER_USEC; + getnstimeofday(&tp); tp.tv_sec += wall_to_monotonic.tv_sec; tp.tv_nsec += wall_to_monotonic.tv_nsec; if (tp.tv_nsec - NSEC_PER_SEC >= 0) { @@ -1434,15 +1452,120 @@ void __init init_timers(void) } #ifdef CONFIG_TIME_INTERPOLATION -volatile unsigned long last_nsec_offset; -#ifndef __HAVE_ARCH_CMPXCHG -spinlock_t last_nsec_offset_lock = SPIN_LOCK_UNLOCKED; -#endif struct time_interpolator *time_interpolator; static struct time_interpolator *time_interpolator_list; static spinlock_t time_interpolator_lock = SPIN_LOCK_UNLOCKED; +static inline u64 time_interpolator_get_cycles(unsigned int src) +{ + unsigned long (*x)(void); + + switch (src) + { + case TIME_SOURCE_FUNCTION: + x = time_interpolator->addr; + return x(); + + case TIME_SOURCE_MMIO64 : + return readq(time_interpolator->addr); + + case TIME_SOURCE_MMIO32 : + return readl(time_interpolator->addr); + + default: return get_cycles(); + } +} + +static inline u64 time_interpolator_get_counter(void) +{ + unsigned int src = time_interpolator->source; + + if (time_interpolator->jitter) + { + u64 lcycle; + u64 now; + + do { + lcycle = time_interpolator->last_cycle; + now = time_interpolator_get_cycles(src); + if (lcycle && time_after(lcycle, now)) + return lcycle; + /* Keep track of the last timer value returned. The use of cmpxchg here + * will cause contention in an SMP environment. + */ + } while (unlikely(cmpxchg(&time_interpolator->last_cycle, lcycle, now) != lcycle)); + return now; + } + else + return time_interpolator_get_cycles(src); +} + +void time_interpolator_reset(void) +{ + time_interpolator->offset = 0; + time_interpolator->last_counter = time_interpolator_get_counter(); +} + +#define GET_TI_NSECS(count,i) (((((count) - i->last_counter) & (i)->mask) * (i)->nsec_per_cyc) >> (i)->shift) + +unsigned long time_interpolator_get_offset(void) +{ + /* If we do not have a time interpolator set up then just return zero */ + if (!time_interpolator) + return 0; + + return time_interpolator->offset + + GET_TI_NSECS(time_interpolator_get_counter(), time_interpolator); +} + +#define INTERPOLATOR_ADJUST 65536 +#define INTERPOLATOR_MAX_SKIP 10*INTERPOLATOR_ADJUST + +static void time_interpolator_update(long delta_nsec) +{ + u64 counter; + unsigned long offset; + + /* If there is no time interpolator set up then do nothing */ + if (!time_interpolator) + return; + + /* The interpolator compensates for late ticks by accumulating + * the late time in time_interpolator->offset. A tick earlier than + * expected will lead to a reset of the offset and a corresponding + * jump of the clock forward. Again this only works if the + * interpolator clock is running slightly slower than the regular clock + * and the tuning logic insures that. + */ + + counter = time_interpolator_get_counter(); + offset = time_interpolator->offset + GET_TI_NSECS(counter, time_interpolator); + + if (delta_nsec < 0 || (unsigned long) delta_nsec < offset) + time_interpolator->offset = offset - delta_nsec; + else { + time_interpolator->skips++; + time_interpolator->ns_skipped += delta_nsec - offset; + time_interpolator->offset = 0; + } + time_interpolator->last_counter = counter; + + /* Tuning logic for time interpolator invoked every minute or so. + * Decrease interpolator clock speed if no skips occurred and an offset is carried. + * Increase interpolator clock speed if we skip too much time. + */ + if (jiffies % INTERPOLATOR_ADJUST == 0) + { + if (time_interpolator->skips == 0 && time_interpolator->offset > TICK_NSEC) + time_interpolator->nsec_per_cyc--; + if (time_interpolator->ns_skipped > INTERPOLATOR_MAX_SKIP && time_interpolator->offset == 0) + time_interpolator->nsec_per_cyc++; + time_interpolator->skips = 0; + time_interpolator->ns_skipped = 0; + } +} + static inline int is_better_time_interpolator(struct time_interpolator *new) { @@ -1455,11 +1578,20 @@ is_better_time_interpolator(struct time_interpolator *new) void register_time_interpolator(struct time_interpolator *ti) { + unsigned long flags; + + /* Sanity check */ + if (ti->frequency == 0 || ti->mask == 0) + BUG(); + + ti->nsec_per_cyc = ((u64)NSEC_PER_SEC << ti->shift) / ti->frequency; spin_lock(&time_interpolator_lock); - write_seqlock_irq(&xtime_lock); - if (is_better_time_interpolator(ti)) + write_seqlock_irqsave(&xtime_lock, flags); + if (is_better_time_interpolator(ti)) { time_interpolator = ti; - write_sequnlock_irq(&xtime_lock); + time_interpolator_reset(); + } + write_sequnlock_irqrestore(&xtime_lock, flags); ti->next = time_interpolator_list; time_interpolator_list = ti; @@ -1470,6 +1602,7 @@ void unregister_time_interpolator(struct time_interpolator *ti) { struct time_interpolator *curr, **prev; + unsigned long flags; spin_lock(&time_interpolator_lock); prev = &time_interpolator_list; @@ -1481,7 +1614,7 @@ unregister_time_interpolator(struct time_interpolator *ti) prev = &curr->next; } - write_seqlock_irq(&xtime_lock); + write_seqlock_irqsave(&xtime_lock, flags); if (ti == time_interpolator) { /* we lost the best time-interpolator: */ time_interpolator = NULL; @@ -1489,8 +1622,9 @@ unregister_time_interpolator(struct time_interpolator *ti) for (curr = time_interpolator_list; curr; curr = curr->next) if (is_better_time_interpolator(curr)) time_interpolator = curr; + time_interpolator_reset(); } - write_sequnlock_irq(&xtime_lock); + write_sequnlock_irqrestore(&xtime_lock, flags); spin_unlock(&time_interpolator_lock); } #endif /* CONFIG_TIME_INTERPOLATION */ @@ -1511,3 +1645,19 @@ void msleep(unsigned int msecs) EXPORT_SYMBOL(msleep); +/** + * msleep_interruptible - sleep waiting for waitqueue interruptions + * @msecs: Time in milliseconds to sleep for + */ +unsigned long msleep_interruptible(unsigned int msecs) +{ + unsigned long timeout = msecs_to_jiffies(msecs); + + while (timeout && !signal_pending(current)) { + set_current_state(TASK_INTERRUPTIBLE); + timeout = schedule_timeout(timeout); + } + return jiffies_to_msecs(timeout); +} + +EXPORT_SYMBOL(msleep_interruptible); diff --git a/kernel/user.c b/kernel/user.c index b5473e903..5e6a22172 100644 --- a/kernel/user.c +++ b/kernel/user.c @@ -33,7 +33,7 @@ struct user_struct root_user = { .files = ATOMIC_INIT(0), .sigpending = ATOMIC_INIT(0), .mq_bytes = 0, - .locked_shm = 0 + .locked_shm = 0, }; /* diff --git a/kernel/vserver/context.c b/kernel/vserver/context.c index a1860ef93..d56d362a2 100644 --- a/kernel/vserver/context.c +++ b/kernel/vserver/context.c @@ -42,7 +42,7 @@ static struct vx_info *__alloc_vx_info(xid_t xid) { struct vx_info *new = NULL; - + vxdprintk(VXD_CBIT(xid, 0), "alloc_vx_info(%d)*", xid); /* would this benefit from a slab cache? */ @@ -56,6 +56,10 @@ static struct vx_info *__alloc_vx_info(xid_t xid) INIT_HLIST_NODE(&new->vx_hlist); atomic_set(&new->vx_refcnt, 0); atomic_set(&new->vx_usecnt, 0); + new->vx_parent = NULL; + new->vx_state = 0; + new->vx_lock = SPIN_LOCK_UNLOCKED; + init_waitqueue_head(&new->vx_exit); /* rest of init goes here */ vx_info_init_limit(&new->limit); @@ -63,6 +67,7 @@ static struct vx_info *__alloc_vx_info(xid_t xid) vx_info_init_cvirt(&new->cvirt); vx_info_init_cacct(&new->cacct); + new->vx_flags = VXF_STATE_SETUP|VXF_STATE_INIT; new->vx_bcaps = CAP_INIT_EFF_SET; new->vx_ccaps = 0; @@ -84,26 +89,79 @@ static void __dealloc_vx_info(struct vx_info *vxi) vxi->vx_hlist.next = LIST_POISON1; vxi->vx_id = -1; - if (vxi->vx_namespace) - put_namespace(vxi->vx_namespace); - if (vxi->vx_fs) - put_fs_struct(vxi->vx_fs); - vx_info_exit_limit(&vxi->limit); vx_info_exit_sched(&vxi->sched); vx_info_exit_cvirt(&vxi->cvirt); vx_info_exit_cacct(&vxi->cacct); - + + BUG_ON(atomic_read(&vxi->vx_usecnt)); BUG_ON(atomic_read(&vxi->vx_refcnt)); + BUG_ON(vx_info_state(vxi, VXS_HASHED)); + // BUG_ON(!vx_state(vxi, VXS_DEFUNCT)); + + vxi->vx_state |= VXS_RELEASED; kfree(vxi); } +static inline int __free_vx_info(struct vx_info *vxi) +{ + int usecnt, refcnt; + + BUG_ON(!vxi); + + usecnt = atomic_read(&vxi->vx_usecnt); + BUG_ON(usecnt < 0); + + refcnt = atomic_read(&vxi->vx_refcnt); + BUG_ON(refcnt < 0); + + if (!usecnt) + __dealloc_vx_info(vxi); + return usecnt; +} + +#if 0 + +static void __rcu_free_vx_info(struct rcu_head *head) +{ + struct vx_info *vxi = container_of(head, struct vx_info, vx_rcu); + + BUG_ON(!head); + vxdprintk(VXD_CBIT(xid, 3), + "rcu_free_vx_info(%p): uc=%d", vxi, + atomic_read(&vxi->vx_usecnt)); + + __free_vx_info(vxi); +} + +#endif + +void free_vx_info(struct vx_info *vxi) +{ + struct namespace *namespace; + struct fs_struct *fs; + + /* context shutdown is mandatory */ + // BUG_ON(vxi->vx_state != VXS_SHUTDOWN); + + namespace = xchg(&vxi->vx_namespace, NULL); + fs = xchg(&vxi->vx_fs, NULL); + + if (namespace) + put_namespace(namespace); + if (fs) + put_fs_struct(fs); + + BUG_ON(__free_vx_info(vxi)); + // call_rcu(&i->vx_rcu, __rcu_free_vx_info); +} + /* hash table for vx_info hash */ -#define VX_HASH_SIZE 13 +#define VX_HASH_SIZE 13 struct hlist_head vx_info_hash[VX_HASH_SIZE]; @@ -125,10 +183,11 @@ static inline unsigned int __hashval(xid_t xid) static inline void __hash_vx_info(struct vx_info *vxi) { struct hlist_head *head; - + vxdprintk(VXD_CBIT(xid, 4), "__hash_vx_info: %p[#%d]", vxi, vxi->vx_id); get_vx_info(vxi); + vxi->vx_state |= VXS_HASHED; head = &vx_info_hash[__hashval(vxi->vx_id)]; hlist_add_head_rcu(&vxi->vx_hlist, head); } @@ -142,6 +201,7 @@ static inline void __unhash_vx_info(struct vx_info *vxi) { vxdprintk(VXD_CBIT(xid, 4), "__unhash_vx_info: %p[#%d]", vxi, vxi->vx_id); + vxi->vx_state &= ~VXS_HASHED; hlist_del_rcu(&vxi->vx_hlist); put_vx_info(vxi); } @@ -161,9 +221,9 @@ static inline struct vx_info *__lookup_vx_info(xid_t xid) struct vx_info *vxi = hlist_entry(pos, struct vx_info, vx_hlist); - if (vxi->vx_id == xid) { + if ((vxi->vx_id == xid) && + vx_info_state(vxi, VXS_HASHED)) return vxi; - } } return NULL; } @@ -178,7 +238,7 @@ static inline xid_t __vx_dynamic_id(void) { static xid_t seq = MAX_S_CONTEXT; xid_t barrier = seq; - + do { if (++seq > MAX_S_CONTEXT) seq = MIN_D_CONTEXT; @@ -199,7 +259,7 @@ static inline xid_t __vx_dynamic_id(void) static struct vx_info * __loc_vx_info(int id, int *err) { struct vx_info *new, *vxi = NULL; - + vxdprintk(VXD_CBIT(xid, 1), "loc_vx_info(%d)*", id); if (!(new = __alloc_vx_info(id))) { @@ -254,28 +314,6 @@ out_unlock: /* exported stuff */ - -void rcu_free_vx_info(struct rcu_head *head) -{ - struct vx_info *vxi = container_of(head, struct vx_info, vx_rcu); - int usecnt, refcnt; - - BUG_ON(!vxi || !head); - - usecnt = atomic_read(&vxi->vx_usecnt); - BUG_ON(usecnt < 0); - - refcnt = atomic_read(&vxi->vx_refcnt); - BUG_ON(refcnt < 0); - - vxdprintk(VXD_CBIT(xid, 3), - "rcu_free_vx_info(%p): uc=%d", vxi, usecnt); - if (!usecnt) - __dealloc_vx_info(vxi); - else - printk("!!! rcu didn't free\n"); -} - void unhash_vx_info(struct vx_info *vxi) { spin_lock(&vx_info_hash_lock); @@ -285,13 +323,13 @@ void unhash_vx_info(struct vx_info *vxi) /* locate_vx_info() - * search for a vx_info and get() it + * search for a vx_info and get() it * negative id means current */ struct vx_info *locate_vx_info(int id) { struct vx_info *vxi; - + if (id < 0) { vxi = get_vx_info(current->vx_info); } else { @@ -336,10 +374,6 @@ struct vx_info *locate_or_create_vx_info(int id) #ifdef CONFIG_PROC_FS -#define hlist_for_each_rcu(pos, head) \ - for (pos = (head)->first; pos && ({ prefetch(pos->next); 1;}); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;})) - int get_xid_list(int index, unsigned int *xids, int size) { int hindex, nr_xids = 0; @@ -356,7 +390,7 @@ int get_xid_list(int index, unsigned int *xids, int size) continue; vxi = hlist_entry(pos, struct vx_info, vx_hlist); - xids[nr_xids] = vxi->vx_id; + xids[nr_xids] = vxi->vx_id; if (++nr_xids >= size) goto out; } @@ -370,7 +404,7 @@ out: int vx_migrate_user(struct task_struct *p, struct vx_info *vxi) { struct user_struct *new_user, *old_user; - + if (!p || !vxi) BUG(); new_user = alloc_uid(vxi->vx_id, p->uid); @@ -402,7 +436,7 @@ void vx_mask_bcaps(struct task_struct *p) static inline int vx_nofiles_task(struct task_struct *tsk) { struct files_struct *files = tsk->files; - const unsigned long *obptr; + unsigned long *obptr; int count, total; spin_lock(&files->file_lock); @@ -448,7 +482,7 @@ int vx_migrate_task(struct task_struct *p, struct vx_info *vxi) { struct vx_info *old_vxi; int ret = 0; - + if (!p || !vxi) BUG(); @@ -468,14 +502,18 @@ int vx_migrate_task(struct task_struct *p, struct vx_info *vxi) nofiles = vx_nofiles_task(p); if (old_vxi) { - atomic_dec(&old_vxi->cacct.nr_threads); + atomic_dec(&old_vxi->cvirt.nr_threads); + atomic_dec(&old_vxi->cvirt.nr_running); atomic_dec(&old_vxi->limit.rcur[RLIMIT_NPROC]); - atomic_sub(nofiles, &old_vxi->limit.rcur[RLIMIT_NOFILE]); + /* FIXME: what about the struct files here? */ + // atomic_sub(nofiles, &old_vxi->limit.rcur[RLIMIT_NOFILE]); // atomic_sub(openfd, &old_vxi->limit.rcur[RLIMIT_OPENFD]); - } - atomic_inc(&vxi->cacct.nr_threads); + } + atomic_inc(&vxi->cvirt.nr_threads); + atomic_inc(&vxi->cvirt.nr_running); atomic_inc(&vxi->limit.rcur[RLIMIT_NPROC]); - atomic_add(nofiles, &vxi->limit.rcur[RLIMIT_NOFILE]); + /* FIXME: what about the struct files here? */ + // atomic_add(nofiles, &vxi->limit.rcur[RLIMIT_NOFILE]); // atomic_add(openfd, &vxi->limit.rcur[RLIMIT_OPENFD]); vxdprintk(VXD_CBIT(xid, 5), @@ -511,10 +549,14 @@ int vx_set_init(struct vx_info *vxi, struct task_struct *p) { if (!vxi) return -EINVAL; - if (vxi->vx_initpid) - return -EPERM; + if (vxi->vx_initpid) + return -EPERM; + + vxdprintk(VXD_CBIT(xid, 6), + "vx_set_init(%p[#%d],%p[#%d,%d,%d])", + vxi, vxi->vx_id, p, p->xid, p->pid, p->tgid); - vxi->vx_initpid = p->tgid; + vxi->vx_initpid = p->tgid; return 0; } @@ -528,22 +570,22 @@ int vx_set_init(struct vx_info *vxi, struct task_struct *p) int vc_task_xid(uint32_t id, void __user *data) { - xid_t xid; - - if (id) { - struct task_struct *tsk; - - if (!vx_check(0, VX_ADMIN|VX_WATCH)) - return -EPERM; - - read_lock(&tasklist_lock); - tsk = find_task_by_pid(id); - xid = (tsk) ? tsk->xid : -ESRCH; - read_unlock(&tasklist_lock); - } - else - xid = current->xid; - return xid; + xid_t xid; + + if (id) { + struct task_struct *tsk; + + if (!vx_check(0, VX_ADMIN|VX_WATCH)) + return -EPERM; + + read_lock(&tasklist_lock); + tsk = find_task_by_real_pid(id); + xid = (tsk) ? tsk->xid : -ESRCH; + read_unlock(&tasklist_lock); + } + else + xid = current->xid; + return xid; } @@ -607,7 +649,7 @@ out_put: int vc_ctx_migrate(uint32_t id, void __user *data) { struct vx_info *vxi; - + if (!capable(CAP_SYS_ADMIN)) return -EPERM; @@ -726,7 +768,8 @@ int vc_set_ccaps(uint32_t id, void __user *data) #include -EXPORT_SYMBOL_GPL(rcu_free_vx_info); +// EXPORT_SYMBOL_GPL(rcu_free_vx_info); +EXPORT_SYMBOL_GPL(free_vx_info); EXPORT_SYMBOL_GPL(vx_info_hash_lock); EXPORT_SYMBOL_GPL(unhash_vx_info); diff --git a/kernel/vserver/dlimit.c b/kernel/vserver/dlimit.c index d9478ddd8..11da06d49 100644 --- a/kernel/vserver/dlimit.c +++ b/kernel/vserver/dlimit.c @@ -30,7 +30,7 @@ static struct dl_info *__alloc_dl_info(struct super_block *sb, xid_t xid) { struct dl_info *new = NULL; - + vxdprintk(VXD_CBIT(dlim, 5), "alloc_dl_info(%p,%d)*", sb, xid); @@ -77,7 +77,7 @@ static void __dealloc_dl_info(struct dl_info *dli) /* hash table for dl_info hash */ -#define DL_HASH_SIZE 13 +#define DL_HASH_SIZE 13 struct hlist_head dl_info_hash[DL_HASH_SIZE]; @@ -99,7 +99,7 @@ static inline unsigned int __hashval(struct super_block *sb, xid_t xid) static inline void __hash_dl_info(struct dl_info *dli) { struct hlist_head *head; - + vxdprintk(VXD_CBIT(dlim, 6), "__hash_dl_info: %p[#%d]", dli, dli->dl_xid); get_dl_info(dli); @@ -121,11 +121,6 @@ static inline void __unhash_dl_info(struct dl_info *dli) } -#define hlist_for_each_rcu(pos, head) \ - for (pos = (head)->first; pos && ({ prefetch(pos->next); 1;}); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;})) - - /* __lookup_dl_info() * requires the rcu_read_lock() @@ -150,14 +145,14 @@ static inline struct dl_info *__lookup_dl_info(struct super_block *sb, xid_t xid struct dl_info *locate_dl_info(struct super_block *sb, xid_t xid) { - struct dl_info *dli; + struct dl_info *dli; rcu_read_lock(); dli = get_dl_info(__lookup_dl_info(sb, xid)); vxdprintk(VXD_CBIT(dlim, 7), "locate_dl_info(%p,#%d) = %p", sb, xid, dli); rcu_read_unlock(); - return dli; + return dli; } void rcu_free_dl_info(struct rcu_head *head) @@ -204,20 +199,20 @@ int vc_add_dlimit(uint32_t id, void __user *data) if (!nd.dentry->d_inode) goto out_release; if (!(sb = nd.dentry->d_inode->i_sb)) - goto out_release; - + goto out_release; + dli = __alloc_dl_info(sb, id); - spin_lock(&dl_info_hash_lock); + spin_lock(&dl_info_hash_lock); ret = -EEXIST; if (__lookup_dl_info(sb, id)) - goto out_unlock; + goto out_unlock; __hash_dl_info(dli); dli = NULL; ret = 0; out_unlock: - spin_unlock(&dl_info_hash_lock); + spin_unlock(&dl_info_hash_lock); if (dli) __dealloc_dl_info(dli); out_release: @@ -247,20 +242,20 @@ int vc_rem_dlimit(uint32_t id, void __user *data) if (!nd.dentry->d_inode) goto out_release; if (!(sb = nd.dentry->d_inode->i_sb)) - goto out_release; - - spin_lock(&dl_info_hash_lock); + goto out_release; + + spin_lock(&dl_info_hash_lock); dli = __lookup_dl_info(sb, id); ret = -ESRCH; if (!dli) goto out_unlock; - + __unhash_dl_info(dli); ret = 0; out_unlock: - spin_unlock(&dl_info_hash_lock); + spin_unlock(&dl_info_hash_lock); out_release: path_release(&nd); } @@ -288,10 +283,13 @@ int vc_set_dlimit(uint32_t id, void __user *data) if (!nd.dentry->d_inode) goto out_release; if (!(sb = nd.dentry->d_inode->i_sb)) - goto out_release; - if (vc_data.reserved > 100 || - vc_data.inodes_used > vc_data.inodes_total || - vc_data.space_used > vc_data.space_total) + goto out_release; + if ((vc_data.reserved != (uint32_t)CDLIM_KEEP && + vc_data.reserved > 100) || + (vc_data.inodes_used != (uint32_t)CDLIM_KEEP && + vc_data.inodes_used > vc_data.inodes_total) || + (vc_data.space_used != (uint32_t)CDLIM_KEEP && + vc_data.space_used > vc_data.space_total)) goto out_release; ret = -ESRCH; @@ -299,7 +297,7 @@ int vc_set_dlimit(uint32_t id, void __user *data) if (!dli) goto out_release; - spin_lock(&dli->dl_lock); + spin_lock(&dli->dl_lock); if (vc_data.inodes_used != (uint32_t)CDLIM_KEEP) dli->dl_inodes_used = vc_data.inodes_used; @@ -318,8 +316,8 @@ int vc_set_dlimit(uint32_t id, void __user *data) if (vc_data.reserved != (uint32_t)CDLIM_KEEP) dli->dl_nrlmult = (1 << 10) * (100 - vc_data.reserved) / 100; - spin_unlock(&dli->dl_lock); - + spin_unlock(&dli->dl_lock); + put_dl_info(dli); ret = 0; @@ -349,7 +347,7 @@ int vc_get_dlimit(uint32_t id, void __user *data) if (!nd.dentry->d_inode) goto out_release; if (!(sb = nd.dentry->d_inode->i_sb)) - goto out_release; + goto out_release; if (vc_data.reserved > 100 || vc_data.inodes_used > vc_data.inodes_total || vc_data.space_used > vc_data.space_total) @@ -360,7 +358,7 @@ int vc_get_dlimit(uint32_t id, void __user *data) if (!dli) goto out_release; - spin_lock(&dli->dl_lock); + spin_lock(&dli->dl_lock); vc_data.inodes_used = dli->dl_inodes_used; vc_data.inodes_total = dli->dl_inodes_total; vc_data.space_used = dli->dl_space_used >> 10; @@ -370,8 +368,8 @@ int vc_get_dlimit(uint32_t id, void __user *data) vc_data.space_total = dli->dl_space_total >> 10; vc_data.reserved = 100 - ((dli->dl_nrlmult * 100 + 512) >> 10); - spin_unlock(&dli->dl_lock); - + spin_unlock(&dli->dl_lock); + put_dl_info(dli); ret = -EFAULT; if (copy_to_user(data, &vc_data, sizeof(vc_data))) @@ -388,9 +386,9 @@ int vc_get_dlimit(uint32_t id, void __user *data) void vx_vsi_statfs(struct super_block *sb, struct kstatfs *buf) { struct dl_info *dli; - __u64 blimit, bfree, bavail; - __u32 ifree; - + __u64 blimit, bfree, bavail; + __u32 ifree; + dli = locate_dl_info(sb, current->xid); if (!dli) return; @@ -442,14 +440,12 @@ no_ilim: no_blim: spin_unlock(&dli->dl_lock); put_dl_info(dli); - - return; + + return; } #include EXPORT_SYMBOL_GPL(locate_dl_info); EXPORT_SYMBOL_GPL(rcu_free_dl_info); -// EXPORT_SYMBOL_GPL(dl_info_hash_lock); -// EXPORT_SYMBOL_GPL(unhash_dl_info); diff --git a/kernel/vserver/inode.c b/kernel/vserver/inode.c index 3e8120bd3..60e6fe1fd 100644 --- a/kernel/vserver/inode.c +++ b/kernel/vserver/inode.c @@ -29,7 +29,7 @@ static int __vc_get_iattr(struct inode *in, uint32_t *xid, uint32_t *flags, uint *flags = IATTR_XID | (IS_BARRIER(in) ? IATTR_BARRIER : 0) | (IS_IUNLINK(in) ? IATTR_IUNLINK : 0) - | (IS_IMMUTABLE(in) ? IATTR_IMMUTABLE : 0); + | (IS_IMMUTABLE(in) ? IATTR_IMMUTABLE : 0); *mask = IATTR_IUNLINK | IATTR_IMMUTABLE; if (S_ISDIR(in->i_mode)) @@ -42,12 +42,12 @@ static int __vc_get_iattr(struct inode *in, uint32_t *xid, uint32_t *flags, uint if (in->i_sb->s_magic == PROC_SUPER_MAGIC) { struct proc_dir_entry *entry = PROC_I(in)->pde; - + // check for specific inodes ? if (entry) *mask |= IATTR_FLAGS; if (entry) - *flags |= (entry->vx_flags & IATTR_FLAGS); + *flags |= (entry->vx_flags & IATTR_FLAGS); else *flags |= (PROC_I(in)->vx_flags & IATTR_FLAGS); } @@ -105,7 +105,7 @@ static int __vc_set_iattr(struct dentry *de, uint32_t *xid, uint32_t *flags, uin if (entry) entry->vx_flags = iflags; } - + if (*mask & (IATTR_BARRIER | IATTR_IUNLINK | IATTR_IMMUTABLE)) { struct iattr attr; @@ -141,7 +141,7 @@ static int __vc_set_iattr(struct dentry *de, uint32_t *xid, uint32_t *flags, uin error = inode_setattr(in, &attr); } } - + mark_inode_dirty(in); up(&in->i_sem); return 0; @@ -202,7 +202,7 @@ int vc_iattr_ioctl(struct dentry *de, unsigned int cmd, unsigned long arg) } -#ifdef CONFIG_VSERVER_LEGACY +#ifdef CONFIG_VSERVER_LEGACY #include #define PROC_DYNAMIC_FIRST 0xF0000000UL @@ -218,6 +218,8 @@ int vx_proc_ioctl(struct inode * inode, struct file * filp, return -ENOTTY; entry = PROC_I(inode)->pde; + if (!entry) + return -ENOTTY; switch(cmd) { case FIOC_GETXFLG: { diff --git a/kernel/vserver/network.c b/kernel/vserver/network.c index a62d1c435..e87c8b617 100644 --- a/kernel/vserver/network.c +++ b/kernel/vserver/network.c @@ -16,8 +16,8 @@ #include #include #include -#include #include +#include #include @@ -30,14 +30,14 @@ static struct nx_info *__alloc_nx_info(nid_t nid) { struct nx_info *new = NULL; - + vxdprintk(VXD_CBIT(nid, 1), "alloc_nx_info(%d)*", nid); /* would this benefit from a slab cache? */ new = kmalloc(sizeof(struct nx_info), GFP_KERNEL); if (!new) return 0; - + memset (new, 0, sizeof(struct nx_info)); new->nx_id = nid; INIT_RCU_HEAD(&new->nx_rcu); @@ -46,7 +46,7 @@ static struct nx_info *__alloc_nx_info(nid_t nid) atomic_set(&new->nx_usecnt, 0); /* rest of init goes here */ - + vxdprintk(VXD_CBIT(nid, 0), "alloc_nx_info() = %p", new); return new; @@ -63,7 +63,7 @@ static void __dealloc_nx_info(struct nx_info *nxi) nxi->nx_hlist.next = LIST_POISON1; nxi->nx_id = -1; - + BUG_ON(atomic_read(&nxi->nx_usecnt)); BUG_ON(atomic_read(&nxi->nx_refcnt)); @@ -73,7 +73,7 @@ static void __dealloc_nx_info(struct nx_info *nxi) /* hash table for nx_info hash */ -#define NX_HASH_SIZE 13 +#define NX_HASH_SIZE 13 struct hlist_head nx_info_hash[NX_HASH_SIZE]; @@ -95,7 +95,7 @@ static inline unsigned int __hashval(nid_t nid) static inline void __hash_nx_info(struct nx_info *nxi) { struct hlist_head *head; - + vxdprintk(VXD_CBIT(nid, 4), "__hash_nx_info: %p[#%d]", nxi, nxi->nx_id); get_nx_info(nxi); @@ -148,7 +148,7 @@ static inline nid_t __nx_dynamic_id(void) { static nid_t seq = MAX_N_CONTEXT; nid_t barrier = seq; - + do { if (++seq > MAX_N_CONTEXT) seq = MIN_D_CONTEXT; @@ -169,7 +169,7 @@ static inline nid_t __nx_dynamic_id(void) static struct nx_info * __loc_nx_info(int id, int *err) { struct nx_info *new, *nxi = NULL; - + vxdprintk(VXD_CBIT(nid, 1), "loc_nx_info(%d)*", id); if (!(new = __alloc_nx_info(id))) { @@ -256,13 +256,13 @@ void unhash_nx_info(struct nx_info *nxi) /* locate_nx_info() - * search for a nx_info and get() it + * search for a nx_info and get() it * negative id means current */ struct nx_info *locate_nx_info(int id) { struct nx_info *nxi; - + if (id < 0) { nxi = get_nx_info(current->nx_info); } else { @@ -300,7 +300,7 @@ struct nx_info *create_nx_info(void) { struct nx_info *new; int err; - + vxdprintk(VXD_CBIT(nid, 5), "create_nx_info(%s)", "void"); if (!(new = __loc_nx_info(NX_DYNAMIC_ID, &err))) return NULL; @@ -312,10 +312,6 @@ struct nx_info *create_nx_info(void) #ifdef CONFIG_PROC_FS -#define hlist_for_each_rcu(pos, head) \ - for (pos = (head)->first; pos && ({ prefetch(pos->next); 1;}); \ - pos = pos->next, ({ smp_read_barrier_depends(); 0;})) - int get_nid_list(int index, unsigned int *nids, int size) { int hindex, nr_nids = 0; @@ -332,7 +328,7 @@ int get_nid_list(int index, unsigned int *nids, int size) continue; nxi = hlist_entry(pos, struct nx_info, nx_hlist); - nids[nr_nids] = nxi->nx_id; + nids[nr_nids] = nxi->nx_id; if (++nr_nids >= size) goto out; } @@ -352,7 +348,7 @@ int nx_migrate_task(struct task_struct *p, struct nx_info *nxi) { struct nx_info *old_nxi; int ret = 0; - + if (!p || !nxi) BUG(); @@ -385,22 +381,14 @@ out: #include #include -static inline int __addr_in_nx_info(u32 addr, struct nx_info *nxi) -{ - int i, nbip; - - nbip = nxi->nbipv4; - for (i=0; iipv4[i] == addr) - return 1; - return 0; -} int ifa_in_nx_info(struct in_ifaddr *ifa, struct nx_info *nxi) { - if (nxi && ifa) - return __addr_in_nx_info(ifa->ifa_address, nxi); - return 1; + if (!nxi) + return 1; + if (!ifa) + return 0; + return addr_in_nx_info(nxi, ifa->ifa_address); } int dev_in_nx_info(struct net_device *dev, struct nx_info *nxi) @@ -416,13 +404,63 @@ int dev_in_nx_info(struct net_device *dev, struct nx_info *nxi) for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; ifap = &ifa->ifa_next) { - if (__addr_in_nx_info(ifa->ifa_address, nxi)) + if (addr_in_nx_info(nxi, ifa->ifa_address)) return 1; } return 0; } +/* + * check if address is covered by socket + * + * sk: the socket to check against + * addr: the address in question (must be != 0) + */ +static inline int __addr_in_socket(struct sock *sk, uint32_t addr) +{ + struct nx_info *nxi = sk->sk_nx_info; + uint32_t saddr = tcp_v4_rcv_saddr(sk); + + vxdprintk(VXD_CBIT(net, 5), + "__addr_in_socket(%p,%d.%d.%d.%d) %p:%d.%d.%d.%d %p;%lx", + sk, VXD_QUAD(addr), nxi, VXD_QUAD(saddr), sk->sk_socket, + (sk->sk_socket?sk->sk_socket->flags:0)); + + if (saddr) { + /* direct address match */ + return (saddr == addr); + } else if (nxi) { + /* match against nx_info */ + return addr_in_nx_info(nxi, addr); + } else { + /* unrestricted any socket */ + return 1; + } +} + +int nx_addr_conflict(struct nx_info *nxi, uint32_t addr, struct sock *sk) +{ + vxdprintk(VXD_CBIT(net, 2), + "nx_addr_conflict(%p,%p) %d.%d,%d.%d", + nxi, sk, VXD_QUAD(addr)); + + if (addr) { + /* check real address */ + return __addr_in_socket(sk, addr); + } else if (nxi) { + /* check against nx_info */ + int i, n = nxi->nbipv4; + + for (i=0; iipv4[i])) + return 1; + return 0; + } else { + /* check against any */ + return 1; + } +} /* vserver syscall commands below here */ @@ -434,22 +472,22 @@ int dev_in_nx_info(struct net_device *dev, struct nx_info *nxi) int vc_task_nid(uint32_t id, void __user *data) { - nid_t nid; - - if (id) { - struct task_struct *tsk; - - if (!vx_check(0, VX_ADMIN|VX_WATCH)) - return -EPERM; - - read_lock(&tasklist_lock); - tsk = find_task_by_pid(id); - nid = (tsk) ? tsk->nid : -ESRCH; - read_unlock(&tasklist_lock); - } - else - nid = current->nid; - return nid; + nid_t nid; + + if (id) { + struct task_struct *tsk; + + if (!vx_check(0, VX_ADMIN|VX_WATCH)) + return -EPERM; + + read_lock(&tasklist_lock); + tsk = find_task_by_real_pid(id); + nid = (tsk) ? tsk->nid : -ESRCH; + read_unlock(&tasklist_lock); + } + else + nid = current->nid; + return nid; } @@ -480,7 +518,7 @@ int vc_nx_info(uint32_t id, void __user *data) int vc_net_create(uint32_t nid, void __user *data) { - // int ret = -ENOMEM; + // int ret = -ENOMEM; struct nx_info *new_nxi; int ret; @@ -512,7 +550,7 @@ out_put: int vc_net_migrate(uint32_t id, void __user *data) { struct nx_info *nxi; - + if (!capable(CAP_SYS_ADMIN)) return -EPERM; diff --git a/kernel/vserver/sysctl.c b/kernel/vserver/sysctl.c index e1f2cacc7..fffc0dd46 100644 --- a/kernel/vserver/sysctl.c +++ b/kernel/vserver/sysctl.c @@ -25,13 +25,13 @@ #define CTL_VSERVER 4242 /* unused? */ enum { - CTL_DEBUG_SWITCH = 1, - CTL_DEBUG_XID, - CTL_DEBUG_NID, - CTL_DEBUG_NET, - CTL_DEBUG_LIMIT, - CTL_DEBUG_DLIM, - CTL_DEBUG_CVIRT, + CTL_DEBUG_SWITCH = 1, + CTL_DEBUG_XID, + CTL_DEBUG_NID, + CTL_DEBUG_NET, + CTL_DEBUG_LIMIT, + CTL_DEBUG_DLIM, + CTL_DEBUG_CVIRT, }; @@ -57,7 +57,7 @@ void vserver_register_sysctl(void) // vserver_table[0].de->owner = THIS_MODULE; #endif } - + } void vserver_unregister_sysctl(void) @@ -125,81 +125,85 @@ done: *ppos += *lenp; return 0; } - + static ctl_table debug_table[] = { - { - .ctl_name = CTL_DEBUG_SWITCH, - .procname = "debug_switch", - .data = &vx_debug_switch, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { - .ctl_name = CTL_DEBUG_XID, - .procname = "debug_xid", - .data = &vx_debug_xid, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { - .ctl_name = CTL_DEBUG_NID, - .procname = "debug_nid", - .data = &vx_debug_nid, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { - .ctl_name = CTL_DEBUG_NET, - .procname = "debug_net", - .data = &vx_debug_net, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { - .ctl_name = CTL_DEBUG_LIMIT, - .procname = "debug_limit", - .data = &vx_debug_limit, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { - .ctl_name = CTL_DEBUG_DLIM, - .procname = "debug_dlim", - .data = &vx_debug_dlim, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { - .ctl_name = CTL_DEBUG_CVIRT, - .procname = "debug_cvirt", - .data = &vx_debug_cvirt, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = &proc_dodebug - }, - { .ctl_name = 0 } + { + .ctl_name = CTL_DEBUG_SWITCH, + .procname = "debug_switch", + .data = &vx_debug_switch, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { + .ctl_name = CTL_DEBUG_XID, + .procname = "debug_xid", + .data = &vx_debug_xid, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { + .ctl_name = CTL_DEBUG_NID, + .procname = "debug_nid", + .data = &vx_debug_nid, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { + .ctl_name = CTL_DEBUG_NET, + .procname = "debug_net", + .data = &vx_debug_net, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { + .ctl_name = CTL_DEBUG_LIMIT, + .procname = "debug_limit", + .data = &vx_debug_limit, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { + .ctl_name = CTL_DEBUG_DLIM, + .procname = "debug_dlim", + .data = &vx_debug_dlim, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { + .ctl_name = CTL_DEBUG_CVIRT, + .procname = "debug_cvirt", + .data = &vx_debug_cvirt, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = &proc_dodebug + }, + { .ctl_name = 0 } }; static ctl_table vserver_table[] = { - { - .ctl_name = CTL_VSERVER, - .procname = "vserver", - .mode = 0555, - .child = debug_table - }, - { .ctl_name = 0 } + { + .ctl_name = CTL_VSERVER, + .procname = "vserver", + .mode = 0555, + .child = debug_table + }, + { .ctl_name = 0 } }; -EXPORT_SYMBOL_GPL(vx_debug_dlim); -EXPORT_SYMBOL_GPL(vx_debug_nid); +EXPORT_SYMBOL_GPL(vx_debug_switch); EXPORT_SYMBOL_GPL(vx_debug_xid); +EXPORT_SYMBOL_GPL(vx_debug_nid); +EXPORT_SYMBOL_GPL(vx_debug_net); +EXPORT_SYMBOL_GPL(vx_debug_limit); +EXPORT_SYMBOL_GPL(vx_debug_dlim); +EXPORT_SYMBOL_GPL(vx_debug_cvirt); diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 987fbc298..ee77ccd01 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -398,6 +398,26 @@ int fastcall schedule_delayed_work(struct work_struct *work, unsigned long delay return queue_delayed_work(keventd_wq, work, delay); } +int schedule_delayed_work_on(int cpu, + struct work_struct *work, unsigned long delay) +{ + int ret = 0; + struct timer_list *timer = &work->timer; + + if (!test_and_set_bit(0, &work->pending)) { + BUG_ON(timer_pending(timer)); + BUG_ON(!list_empty(&work->entry)); + /* This stores keventd_wq for the moment, for the timer_fn */ + work->wq_data = keventd_wq; + timer->expires = jiffies + delay; + timer->data = (unsigned long)work; + timer->function = delayed_work_timer_fn; + add_timer_on(timer, cpu); + ret = 1; + } + return ret; +} + void flush_scheduled_work(void) { flush_workqueue(keventd_wq); @@ -505,5 +525,5 @@ EXPORT_SYMBOL_GPL(destroy_workqueue); EXPORT_SYMBOL(schedule_work); EXPORT_SYMBOL(schedule_delayed_work); +EXPORT_SYMBOL(schedule_delayed_work_on); EXPORT_SYMBOL(flush_scheduled_work); - diff --git a/lib/Makefile b/lib/Makefile index 295e70bcd..da5dca19c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -5,12 +5,9 @@ lib-y := errno.o ctype.o string.o vsprintf.o cmdline.o \ bust_spinlocks.o rbtree.o radix-tree.o dump_stack.o \ - kobject.o idr.o div64.o parser.o int_sqrt.o \ + kobject.o kref.o idr.o div64.o parser.o int_sqrt.o \ bitmap.o extable.o -# hack for now till some static code uses krefs, then it can move up above... -obj-y += kref.o - lib-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o @@ -21,11 +18,12 @@ endif obj-$(CONFIG_CRC_CCITT) += crc-ccitt.o obj-$(CONFIG_CRC32) += crc32.o obj-$(CONFIG_LIBCRC32C) += libcrc32c.o +obj-$(CONFIG_GENERIC_IOMAP) += iomap.o obj-$(CONFIG_ZLIB_INFLATE) += zlib_inflate/ obj-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate/ -host-progs := gen_crc32table +hostprogs-y := gen_crc32table clean-files := crc32table.h $(obj)/crc32.o: $(obj)/crc32table.h diff --git a/lib/bitmap.c b/lib/bitmap.c index 7eb16be30..8ffd202dc 100644 --- a/lib/bitmap.c +++ b/lib/bitmap.c @@ -408,3 +408,85 @@ int bitmap_parse(const char __user *ubuf, unsigned int ubuflen, return 0; } EXPORT_SYMBOL(bitmap_parse); + +/** + * bitmap_find_free_region - find a contiguous aligned mem region + * @bitmap: an array of unsigned longs corresponding to the bitmap + * @bits: number of bits in the bitmap + * @order: region size to find (size is actually 1< BITS_PER_LONG) + return -EINVAL; + + /* make a mask of the order */ + mask = (1ul << (pages - 1)); + mask += mask - 1; + + /* run up the bitmap pages bits at a time */ + for (i = 0; i < bits; i += pages) { + int index = i/BITS_PER_LONG; + int offset = i - (index * BITS_PER_LONG); + if((bitmap[index] & (mask << offset)) == 0) { + /* set region in bimap */ + bitmap[index] |= (mask << offset); + return i; + } + } + return -ENOMEM; +} +EXPORT_SYMBOL(bitmap_find_free_region); + +/** + * bitmap_release_region - release allocated bitmap region + * @bitmap: a pointer to the bitmap + * @pos: the beginning of the region + * @order: the order of the bits to release (number is 1< BITS_PER_LONG. The + * algorithm would be a simple look for multiple zeros in the + * array, but there's no driver today that needs this. If you + * trip this BUG(), you get to code it... */ + BUG_ON(pages > BITS_PER_LONG); + mask += mask - 1; + if (bitmap[index] & (mask << offset)) + return -EBUSY; + bitmap[index] |= (mask << offset); + return 0; +} +EXPORT_SYMBOL(bitmap_allocate_region); diff --git a/lib/idr.c b/lib/idr.c index 6d1df639d..972eefcce 100644 --- a/lib/idr.c +++ b/lib/idr.c @@ -1,21 +1,17 @@ /* - * linux/kernel/id.c - * * 2002-10-18 written by Jim Houston jim.houston@ccur.com * Copyright (C) 2002 by Concurrent Computer Corporation * Distributed under the GNU GPL license version 2. * + * Modified by George Anzinger to reuse immediately and to use + * find bit instructions. Also removed _irq on spinlocks. + * * Small id to pointer translation service. * * It uses a radix tree like structure as a sparse array indexed * by the id to obtain the pointer. The bitmap makes allocating * a new id quick. - - * Modified by George Anzinger to reuse immediately and to use - * find bit instructions. Also removed _irq on spinlocks. - - * So here is what this bit of code does: - + * * You call it to allocate an id (an int) an associate with that id a * pointer or what ever, we treat it as a (void *). You can pass this * id to a user for him to pass back at a later time. You then pass @@ -26,78 +22,8 @@ * don't need to go to the memory "store" during an id allocate, just * so you don't need to be too concerned about locking and conflicts * with the slab allocator. - - * What you need to do is, since we don't keep the counter as part of - * id / ptr pair, to keep a copy of it in the pointed to structure - * (or else where) so that when you ask for a ptr you can varify that - * the returned ptr is correct by comparing the id it contains with the one - * you asked for. In other words, we only did half the reuse protection. - * Since the code depends on your code doing this check, we ignore high - * order bits in the id, not just the count, but bits that would, if used, - * index outside of the allocated ids. In other words, if the largest id - * currently allocated is 32 a look up will only look at the low 5 bits of - * the id. Since you will want to keep this id in the structure anyway - * (if for no other reason than to be able to eliminate the id when the - * structure is found in some other way) this seems reasonable. If you - * really think otherwise, the code to check these bits here, it is just - * disabled with a #if 0. - - - * So here are the complete details: - - * include - - * void idr_init(struct idr *idp) - - * This function is use to set up the handle (idp) that you will pass - * to the rest of the functions. The structure is defined in the - * header. - - * int idr_pre_get(struct idr *idp, unsigned gfp_mask) - - * This function should be called prior to locking and calling the - * following function. It pre allocates enough memory to satisfy the - * worst possible allocation. Unless gfp_mask is GFP_ATOMIC, it can - * sleep, so must not be called with any spinlocks held. If the system is - * REALLY out of memory this function returns 0, other wise 1. - - * int idr_get_new(struct idr *idp, void *ptr, int *id); - - * This is the allocate id function. It should be called with any - * required locks. In fact, in the SMP case, you MUST lock prior to - * calling this function to avoid possible out of memory problems. - * If memory is required, it will return -EAGAIN, you should unlock - * and go back to the idr_pre_get() call. If the idr is full, it - * will return a -ENOSPC. ptr is the pointer you want associated - * with the id. The value is returned in the "id" field. idr_get_new() - * returns a value in the range 0 ... 0x7fffffff - - * int idr_get_new_above(struct idr *idp, void *ptr, int start_id, int *id); - - * Like idr_get_new(), but the returned id is guaranteed to be at or - * above start_id. - - * void *idr_find(struct idr *idp, int id); - - * returns the "ptr", given the id. A NULL return indicates that the - * id is not valid (or you passed NULL in the idr_get_new(), shame on - * you). This function must be called with a spinlock that prevents - * calling either idr_get_new() or idr_remove() or idr_find() while it - * is working. - - * void idr_remove(struct idr *idp, int id); - - * removes the given id, freeing that slot and any memory that may - * now be unused. See idr_find() for locking restrictions. - - * int idr_full(struct idr *idp); - - * Returns true if the idr is full and false if not. - */ - - #ifndef TEST // to test in user space... #include #include @@ -106,18 +32,17 @@ #include #include - static kmem_cache_t *idr_layer_cache; - - static struct idr_layer *alloc_layer(struct idr *idp) { struct idr_layer *p; spin_lock(&idp->lock); - if (!(p = idp->id_free)) + if (!(p = idp->id_free)) { + spin_unlock(&idp->lock); return NULL; + } idp->id_free = p->ary[0]; idp->id_free_cnt--; p->ary[0] = NULL; @@ -137,6 +62,18 @@ static void free_layer(struct idr *idp, struct idr_layer *p) spin_unlock(&idp->lock); } +/** + * idr_pre_get - reserver resources for idr allocation + * @idp: idr handle + * @gfp_mask: memory allocation flags + * + * This function should be called prior to locking and calling the + * following function. It preallocates enough memory to satisfy + * the worst possible allocation. + * + * If the system is REALLY out of memory this function returns 0, + * otherwise 1. + */ int idr_pre_get(struct idr *idp, unsigned gfp_mask) { while (idp->id_free_cnt < IDR_FREE_MAX) { @@ -271,6 +208,22 @@ build_up: return(v); } +/** + * idr_get_new_above - allocate new idr entry above a start id + * @idp: idr handle + * @ptr: pointer you want associated with the ide + * @start_id: id to start search at + * @id: pointer to the allocated handle + * + * This is the allocate id function. It should be called with any + * required locks. + * + * If memory is required, it will return -EAGAIN, you should unlock + * and go back to the idr_pre_get() call. If the idr is full, it will + * return -ENOSPC. + * + * @id returns a value in the range 0 ... 0x7fffffff + */ int idr_get_new_above(struct idr *idp, void *ptr, int starting_id, int *id) { int rv; @@ -290,6 +243,21 @@ int idr_get_new_above(struct idr *idp, void *ptr, int starting_id, int *id) } EXPORT_SYMBOL(idr_get_new_above); +/** + * idr_get_new - allocate new idr entry + * @idp: idr handle + * @ptr: pointer you want associated with the ide + * @id: pointer to the allocated handle + * + * This is the allocate id function. It should be called with any + * required locks. + * + * If memory is required, it will return -EAGAIN, you should unlock + * and go back to the idr_pre_get() call. If the idr is full, it will + * return -ENOSPC. + * + * @id returns a value in the range 0 ... 0x7fffffff + */ int idr_get_new(struct idr *idp, void *ptr, int *id) { int rv; @@ -338,6 +306,11 @@ static void sub_remove(struct idr *idp, int shift, int id) } } +/** + * idr_remove - remove the given id and free it's slot + * idp: idr handle + * id: uniqueue key + */ void idr_remove(struct idr *idp, int id) { struct idr_layer *p; @@ -365,6 +338,17 @@ void idr_remove(struct idr *idp, int id) } EXPORT_SYMBOL(idr_remove); +/** + * idr_find - return pointer for given id + * @idp: idr handle + * @id: lookup key + * + * Return the pointer given the id it has been registered with. A %NULL + * return indicates that @id is not valid or you passed %NULL in + * idr_get_new(). + * + * The caller must serialize idr_find() vs idr_get_new() and idr_remove(). + */ void *idr_find(struct idr *idp, int id) { int n; @@ -372,17 +356,13 @@ void *idr_find(struct idr *idp, int id) n = idp->layers * IDR_BITS; p = idp->top; -#if 0 - /* - * This tests to see if bits outside the current tree are - * present. If so, tain't one of ours! - */ - if ( unlikely( (id & ~(~0 << MAX_ID_SHIFT)) >> (n + IDR_BITS))) - return NULL; -#endif + /* Mask off upper bits we don't use for the search. */ id &= MAX_ID_MASK; + if (id >= (1 << n)) + return NULL; + while (n > 0 && p) { n -= IDR_BITS; p = p->ary[(id >> n) & IDR_MASK]; @@ -405,6 +385,13 @@ static int init_id_cache(void) return 0; } +/** + * idr_init - initialize idr handle + * @idp: idr handle + * + * This function is use to set up the handle (@idp) that you will pass + * to the rest of the functions. + */ void idr_init(struct idr *idp) { init_id_cache(); @@ -412,4 +399,3 @@ void idr_init(struct idr *idp) spin_lock_init(&idp->lock); } EXPORT_SYMBOL(idr_init); - diff --git a/lib/kobject.c b/lib/kobject.c index 781f3e896..a971b8e55 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -58,14 +58,11 @@ static int create_dir(struct kobject * kobj) return error; } - static inline struct kobject * to_kobj(struct list_head * entry) { return container_of(entry,struct kobject,entry); } - -#ifdef CONFIG_HOTPLUG static int get_kobj_path_length(struct kset *kset, struct kobject *kobj) { int length = 1; @@ -98,6 +95,31 @@ static void fill_kobj_path(struct kset *kset, struct kobject *kobj, char *path, pr_debug("%s: path = '%s'\n",__FUNCTION__,path); } +/** + * kobject_get_path - generate and return the path associated with a given kobj + * and kset pair. The result must be freed by the caller with kfree(). + * + * @kset: kset in question, with which to build the path + * @kobj: kobject in question, with which to build the path + * @gfp_mask: the allocation type used to allocate the path + */ +char * kobject_get_path(struct kset *kset, struct kobject *kobj, int gfp_mask) +{ + char *path; + int len; + + len = get_kobj_path_length(kset, kobj); + path = kmalloc(len, gfp_mask); + if (!path) + return NULL; + memset(path, 0x00, len); + fill_kobj_path(kset, kobj, path, len); + + return path; +} + +#ifdef CONFIG_HOTPLUG + #define BUFFER_SIZE 1024 /* should be enough memory for the env */ #define NUM_ENVP 32 /* number of env pointers */ static unsigned long sequence_num; @@ -112,7 +134,6 @@ static void kset_hotplug(const char *action, struct kset *kset, char *scratch; int i = 0; int retval; - int kobj_path_length; char *kobj_path = NULL; char *name = NULL; unsigned long seq; @@ -163,12 +184,9 @@ static void kset_hotplug(const char *action, struct kset *kset, envp [i++] = scratch; scratch += sprintf(scratch, "SEQNUM=%ld", seq) + 1; - kobj_path_length = get_kobj_path_length (kset, kobj); - kobj_path = kmalloc (kobj_path_length, GFP_KERNEL); + kobj_path = kobject_get_path(kset, kobj, GFP_KERNEL); if (!kobj_path) goto exit; - memset (kobj_path, 0x00, kobj_path_length); - fill_kobj_path (kset, kobj, kobj_path, kobj_path_length); envp [i++] = scratch; scratch += sprintf (scratch, "DEVPATH=%s", kobj_path) + 1; @@ -225,10 +243,9 @@ void kobject_hotplug(const char *action, struct kobject *kobj) * kobject_init - initialize object. * @kobj: object in question. */ - void kobject_init(struct kobject * kobj) { - atomic_set(&kobj->refcount,1); + kref_init(&kobj->kref); INIT_LIST_HEAD(&kobj->entry); kobj->kset = kset_get(kobj->kset); } @@ -325,7 +342,7 @@ int kobject_register(struct kobject * kobj) * @kobj: object. * @name: name. * - * If strlen(name) < KOBJ_NAME_LEN, then use a dynamically allocated + * If strlen(name) >= KOBJ_NAME_LEN, then use a dynamically allocated * string that @kobj->k_name points to. Otherwise, use the static * @kobj->name array. */ @@ -429,10 +446,8 @@ void kobject_unregister(struct kobject * kobj) struct kobject * kobject_get(struct kobject * kobj) { - if (kobj) { - WARN_ON(!atomic_read(&kobj->refcount)); - atomic_inc(&kobj->refcount); - } + if (kobj) + kref_get(&kobj->kref); return kobj; } @@ -459,17 +474,21 @@ void kobject_cleanup(struct kobject * kobj) kobject_put(parent); } +static void kobject_release(struct kref *kref) +{ + kobject_cleanup(container_of(kref, struct kobject, kref)); +} + /** * kobject_put - decrement refcount for object. * @kobj: object. * * Decrement the refcount, and if 0, call kobject_cleanup(). */ - void kobject_put(struct kobject * kobj) { - if (atomic_dec_and_test(&kobj->refcount)) - kobject_cleanup(kobj); + if (kobj) + kref_put(&kobj->kref, kobject_release); } @@ -626,7 +645,7 @@ void subsys_remove_file(struct subsystem * s, struct subsys_attribute * a) } } - +EXPORT_SYMBOL(kobject_get_path); EXPORT_SYMBOL(kobject_init); EXPORT_SYMBOL(kobject_register); EXPORT_SYMBOL(kobject_unregister); diff --git a/lib/rbtree.c b/lib/rbtree.c index 621552c34..14b791ac5 100644 --- a/lib/rbtree.c +++ b/lib/rbtree.c @@ -312,6 +312,19 @@ struct rb_node *rb_first(struct rb_root *root) } EXPORT_SYMBOL(rb_first); +struct rb_node *rb_last(struct rb_root *root) +{ + struct rb_node *n; + + n = root->rb_node; + if (!n) + return NULL; + while (n->rb_right) + n = n->rb_right; + return n; +} +EXPORT_SYMBOL(rb_last); + struct rb_node *rb_next(struct rb_node *node) { /* If we have a right-hand child, go down and then left as far diff --git a/lib/rwsem.c b/lib/rwsem.c index 465ec7256..924c14e0b 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c @@ -255,10 +255,10 @@ struct rw_semaphore fastcall *rwsem_downgrade_wake(struct rw_semaphore *sem) return sem; } -EXPORT_SYMBOL_NOVERS(rwsem_down_read_failed); -EXPORT_SYMBOL_NOVERS(rwsem_down_write_failed); -EXPORT_SYMBOL_NOVERS(rwsem_wake); -EXPORT_SYMBOL_NOVERS(rwsem_downgrade_wake); +EXPORT_SYMBOL(rwsem_down_read_failed); +EXPORT_SYMBOL(rwsem_down_write_failed); +EXPORT_SYMBOL(rwsem_wake); +EXPORT_SYMBOL(rwsem_downgrade_wake); #if RWSEM_DEBUG EXPORT_SYMBOL(rwsemtrace); #endif diff --git a/lib/zlib_inflate/inftrees.c b/lib/zlib_inflate/inftrees.c index b0b58b67e..874950ec4 100644 --- a/lib/zlib_inflate/inftrees.c +++ b/lib/zlib_inflate/inftrees.c @@ -374,21 +374,39 @@ int zlib_inflate_trees_dynamic( } -/* build fixed tables only once--keep them here */ -#include "inffixed.h" - - int zlib_inflate_trees_fixed( uInt *bl, /* literal desired/actual bit depth */ uInt *bd, /* distance desired/actual bit depth */ inflate_huft **tl, /* literal/length tree result */ inflate_huft **td, /* distance tree result */ + inflate_huft *hp, /* space for trees */ z_streamp z /* for memory allocation */ ) { - *bl = fixed_bl; - *bd = fixed_bd; - *tl = fixed_tl; - *td = fixed_td; + int i; /* temporary variable */ + unsigned l[288]; /* length list for huft_build */ + uInt *v; /* work area for huft_build */ + + /* set up literal table */ + for (i = 0; i < 144; i++) + l[i] = 8; + for (; i < 256; i++) + l[i] = 9; + for (; i < 280; i++) + l[i] = 7; + for (; i < 288; i++) /* make a complete, but wrong code set */ + l[i] = 8; + *bl = 9; + v = WS(z)->tree_work_area_1; + if ((i = huft_build(l, 288, 257, cplens, cplext, tl, bl, hp, &i, v)) != 0) + return i; + + /* set up distance table */ + for (i = 0; i < 30; i++) /* make an incomplete code set */ + l[i] = 5; + *bd = 5; + if ((i = huft_build(l, 30, 0, cpdist, cpdext, td, bd, hp, &i, v)) > 1) + return i; + return Z_OK; } diff --git a/mm/Makefile b/mm/Makefile index 60fbbce51..d2ca5bb27 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -5,7 +5,7 @@ mmu-y := nommu.o mmu-$(CONFIG_MMU) := fremap.o highmem.o madvise.o memory.o mincore.o \ mlock.o mmap.o mprotect.o mremap.o msync.o rmap.o \ - shmem.o vmalloc.o + vmalloc.o obj-y := bootmem.o filemap.o mempool.o fadvise.o \ page_alloc.o page-writeback.o pdflush.o prio_tree.o \ @@ -15,7 +15,9 @@ obj-y := bootmem.o filemap.o mempool.o fadvise.o \ obj-$(CONFIG_OOM_KILL) += oom_kill.o obj-$(CONFIG_OOM_PANIC) += oom_panic.o obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o thrash.o -obj-$(CONFIG_X86_4G) += usercopy.o obj-$(CONFIG_HUGETLBFS) += hugetlb.o obj-$(CONFIG_PROC_MM) += proc_mm.o obj-$(CONFIG_NUMA) += mempolicy.o +obj-$(CONFIG_SHMEM) += shmem.o +obj-$(CONFIG_TINY_SHMEM) += tiny-shmem.o + diff --git a/mm/bootmem.c b/mm/bootmem.c index 1c6773721..f7d46cdca 100644 --- a/mm/bootmem.c +++ b/mm/bootmem.c @@ -260,6 +260,7 @@ static unsigned long __init free_all_bootmem_core(pg_data_t *pgdat) unsigned long i, count, total = 0; unsigned long idx; unsigned long *map; + int gofast = 0; BUG_ON(!bdata->node_bootmem_map); @@ -268,14 +269,32 @@ static unsigned long __init free_all_bootmem_core(pg_data_t *pgdat) page = virt_to_page(phys_to_virt(bdata->node_boot_start)); idx = bdata->node_low_pfn - (bdata->node_boot_start >> PAGE_SHIFT); map = bdata->node_bootmem_map; + /* Check physaddr is O(LOG2(BITS_PER_LONG)) page aligned */ + if (bdata->node_boot_start == 0 || + ffs(bdata->node_boot_start) - PAGE_SHIFT > ffs(BITS_PER_LONG)) + gofast = 1; for (i = 0; i < idx; ) { unsigned long v = ~map[i / BITS_PER_LONG]; - if (v) { + if (gofast && v == ~0UL) { + int j; + + count += BITS_PER_LONG; + __ClearPageReserved(page); + set_page_count(page, 1); + for (j = 1; j < BITS_PER_LONG; j++) { + if (j + 16 < BITS_PER_LONG) + prefetchw(page + j + 16); + __ClearPageReserved(page + j); + } + __free_pages(page, ffs(BITS_PER_LONG)-1); + i += BITS_PER_LONG; + page += BITS_PER_LONG; + } else if (v) { unsigned long m; for (m = 1; m && i < idx; m<<=1, page++, i++) { if (v & m) { count++; - ClearPageReserved(page); + __ClearPageReserved(page); set_page_count(page, 1); __free_page(page); } @@ -295,7 +314,7 @@ static unsigned long __init free_all_bootmem_core(pg_data_t *pgdat) count = 0; for (i = 0; i < ((bdata->node_low_pfn-(bdata->node_boot_start >> PAGE_SHIFT))/8 + PAGE_SIZE-1)/PAGE_SIZE; i++,page++) { count++; - ClearPageReserved(page); + __ClearPageReserved(page); set_page_count(page, 1); __free_page(page); } diff --git a/mm/filemap.c b/mm/filemap.c index c6d2f668e..928d85508 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -60,7 +60,6 @@ * ->swap_list_lock * ->swap_device_lock (exclusive_swap_page, others) * ->mapping->tree_lock - * ->page_map_lock() (try_to_unmap_file) * * ->i_sem * ->i_mmap_lock (truncate->unmap_mapping_range) @@ -83,16 +82,20 @@ * ->sb_lock (fs/fs-writeback.c) * ->mapping->tree_lock (__sync_single_inode) * + * ->i_mmap_lock + * ->anon_vma.lock (vma_adjust) + * + * ->anon_vma.lock + * ->page_table_lock (anon_vma_prepare and various) + * * ->page_table_lock * ->swap_device_lock (try_to_unmap_one) * ->private_lock (try_to_unmap_one) * ->tree_lock (try_to_unmap_one) * ->zone.lru_lock (follow_page->mark_page_accessed) - * ->page_map_lock() (page_add_anon_rmap) - * ->tree_lock (page_remove_rmap->set_page_dirty) - * ->private_lock (page_remove_rmap->set_page_dirty) - * ->inode_lock (page_remove_rmap->set_page_dirty) - * ->anon_vma.lock (anon_vma_prepare) + * ->private_lock (page_remove_rmap->set_page_dirty) + * ->tree_lock (page_remove_rmap->set_page_dirty) + * ->inode_lock (page_remove_rmap->set_page_dirty) * ->inode_lock (zap_pte_range->set_page_dirty) * ->private_lock (zap_pte_range->__set_page_dirty_buffers) * @@ -142,20 +145,26 @@ static inline int sync_page(struct page *page) } /** - * filemap_fdatawrite - start writeback against all of a mapping's dirty pages + * filemap_fdatawrite_range - start writeback against all of a mapping's + * dirty pages that lie within the byte offsets * @mapping: address space structure to write + * @start: offset in bytes where the range starts + * @end : offset in bytes where the range ends * * If sync_mode is WB_SYNC_ALL then this is a "data integrity" operation, as * opposed to a regular memory * cleansing writeback. The difference between * these two operations is that if a dirty page/buffer is encountered, it must * be waited upon, and not just skipped over. */ -static int __filemap_fdatawrite(struct address_space *mapping, int sync_mode) +static int __filemap_fdatawrite_range(struct address_space *mapping, + loff_t start, loff_t end, int sync_mode) { int ret; struct writeback_control wbc = { .sync_mode = sync_mode, .nr_to_write = mapping->nrpages * 2, + .start = start, + .end = end, }; if (mapping->backing_dev_info->memory_backed) @@ -165,12 +174,24 @@ static int __filemap_fdatawrite(struct address_space *mapping, int sync_mode) return ret; } +static inline int __filemap_fdatawrite(struct address_space *mapping, + int sync_mode) +{ + return __filemap_fdatawrite_range(mapping, 0, 0, sync_mode); +} + int filemap_fdatawrite(struct address_space *mapping) { return __filemap_fdatawrite(mapping, WB_SYNC_ALL); } EXPORT_SYMBOL(filemap_fdatawrite); +static int filemap_fdatawrite_range(struct address_space *mapping, + loff_t start, loff_t end) +{ + return __filemap_fdatawrite_range(mapping, start, end, WB_SYNC_ALL); +} + /* * This is a mostly non-blocking flush. Not suitable for data-integrity * purposes - I/O may not be started against all dirty pages. @@ -198,7 +219,8 @@ static int wait_on_page_writeback_range(struct address_space *mapping, pagevec_init(&pvec, 0); index = start; - while ((nr_pages = pagevec_lookup_tag(&pvec, mapping, &index, + while ((index <= end) && + (nr_pages = pagevec_lookup_tag(&pvec, mapping, &index, PAGECACHE_TAG_WRITEBACK, min(end - index, (pgoff_t)PAGEVEC_SIZE-1) + 1)) != 0) { unsigned i; @@ -206,6 +228,10 @@ static int wait_on_page_writeback_range(struct address_space *mapping, for (i = 0; i < nr_pages; i++) { struct page *page = pvec.pages[i]; + /* until radix tree lookup accepts end_index */ + if (page->index > end) + continue; + wait_on_page_writeback(page); if (PageError(page)) ret = -EIO; @@ -223,6 +249,35 @@ static int wait_on_page_writeback_range(struct address_space *mapping, return ret; } +/* + * Write and wait upon all the pages in the passed range. This is a "data + * integrity" operation. It waits upon in-flight writeout before starting and + * waiting upon new writeout. If there was an IO error, return it. + * + * We need to re-take i_sem during the generic_osync_inode list walk because + * it is otherwise livelockable. + */ +int sync_page_range(struct inode *inode, struct address_space *mapping, + loff_t pos, size_t count) +{ + pgoff_t start = pos >> PAGE_CACHE_SHIFT; + pgoff_t end = (pos + count - 1) >> PAGE_CACHE_SHIFT; + int ret; + + if (mapping->backing_dev_info->memory_backed || !count) + return 0; + ret = filemap_fdatawrite_range(mapping, pos, pos + count - 1); + if (ret == 0) { + down(&inode->i_sem); + ret = generic_osync_inode(inode, mapping, OSYNC_METADATA); + up(&inode->i_sem); + } + if (ret == 0) + ret = wait_on_page_writeback_range(mapping, start, end); + return ret; +} +EXPORT_SYMBOL(sync_page_range); + /** * filemap_fdatawait - walk the list of under-writeback pages of the given * address space and wait for all of them. @@ -231,9 +286,14 @@ static int wait_on_page_writeback_range(struct address_space *mapping, */ int filemap_fdatawait(struct address_space *mapping) { - return wait_on_page_writeback_range(mapping, 0, -1); -} + loff_t i_size = i_size_read(mapping->host); + + if (i_size == 0) + return 0; + return wait_on_page_writeback_range(mapping, 0, + (i_size - 1) >> PAGE_CACHE_SHIFT); +} EXPORT_SYMBOL(filemap_fdatawait); int filemap_write_and_wait(struct address_space *mapping) @@ -644,13 +704,15 @@ EXPORT_SYMBOL(grab_cache_page_nowait); * * This is really ugly. But the goto's actually try to clarify some * of the logic when it comes to error handling etc. - * - note the struct file * is only passed for the use of readpage + * + * Note the struct file* is only passed for the use of readpage. It may be + * NULL. */ void do_generic_mapping_read(struct address_space *mapping, struct file_ra_state *_ra, - struct file * filp, + struct file *filp, loff_t *ppos, - read_descriptor_t * desc, + read_descriptor_t *desc, read_actor_t actor, int nonblock) { @@ -666,16 +728,29 @@ void do_generic_mapping_read(struct address_space *mapping, offset = *ppos & ~PAGE_CACHE_MASK; isize = i_size_read(inode); - end_index = isize >> PAGE_CACHE_SHIFT; - if (index > end_index) + if (!isize) goto out; + end_index = (isize - 1) >> PAGE_CACHE_SHIFT; for (;;) { struct page *page; unsigned long nr, ret; + /* nr is the maximum number of bytes to copy from this page */ + nr = PAGE_CACHE_SIZE; + if (index >= end_index) { + if (index > end_index) + goto out; + nr = ((isize - 1) & ~PAGE_CACHE_MASK) + 1; + if (nr <= offset) { + goto out; + } + } + nr = nr - offset; + cond_resched(); - page_cache_readahead(mapping, &ra, filp, index); + if (!nonblock) + page_cache_readahead(mapping, &ra, filp, index); find_page: page = find_get_page(mapping, index); @@ -696,16 +771,6 @@ find_page: goto page_not_up_to_date; } page_ok: - /* nr is the maximum number of bytes to copy from this page */ - nr = PAGE_CACHE_SIZE; - if (index == end_index) { - nr = isize & ~PAGE_CACHE_MASK; - if (nr <= offset) { - page_cache_release(page); - goto out; - } - } - nr = nr - offset; /* If users can be writing to this page using arbitrary * virtual addresses, take care about potential aliasing @@ -781,11 +846,22 @@ readpage: * another truncate extends the file - this is desired though). */ isize = i_size_read(inode); - end_index = isize >> PAGE_CACHE_SHIFT; - if (index > end_index) { + end_index = (isize - 1) >> PAGE_CACHE_SHIFT; + if (unlikely(!isize || index > end_index)) { page_cache_release(page); goto out; } + + /* nr is the maximum number of bytes to copy from this page */ + nr = PAGE_CACHE_SIZE; + if (index == end_index) { + nr = ((isize - 1) & ~PAGE_CACHE_MASK) + 1; + if (nr <= offset) { + page_cache_release(page); + goto out; + } + } + nr = nr - offset; goto page_ok; readpage_error: @@ -825,7 +901,8 @@ out: *ppos = ((loff_t) index << PAGE_CACHE_SHIFT) + offset; if (cached_page) page_cache_release(cached_page); - file_accessed(filp); + if (filp) + file_accessed(filp); } EXPORT_SYMBOL(do_generic_mapping_read); @@ -845,7 +922,8 @@ int file_read_actor(read_descriptor_t *desc, struct page *page, */ if (!fault_in_pages_writeable(desc->arg.buf, size)) { kaddr = kmap_atomic(page, KM_USER0); - left = __copy_to_user_inatomic(desc->arg.buf, kaddr + offset, size); + left = __copy_to_user_inatomic(desc->arg.buf, + kaddr + offset, size); kunmap_atomic(kaddr, KM_USER0); if (left == 0) goto success; @@ -1443,7 +1521,7 @@ repeat: return 0; } -static struct vm_operations_struct generic_file_vm_ops = { +struct vm_operations_struct generic_file_vm_ops = { .nopage = filemap_nopage, .populate = filemap_populate, }; @@ -1814,116 +1892,64 @@ inline int generic_write_checks(struct file *file, loff_t *pos, size_t *count, i EXPORT_SYMBOL(generic_write_checks); -/* - * Write to a file through the page cache. - * Called under i_sem for S_ISREG files. - * - * We put everything into the page cache prior to writing it. This is not a - * problem when writing full pages. With partial pages, however, we first have - * to read the data into the cache, then dirty the page, and finally schedule - * it for writing by marking it dirty. - * okir@monad.swb.de - */ ssize_t -generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, - unsigned long nr_segs, loff_t *ppos) +generic_file_direct_write(struct kiocb *iocb, const struct iovec *iov, + unsigned long *nr_segs, loff_t pos, loff_t *ppos, + size_t count, size_t ocount) +{ + struct file *file = iocb->ki_filp; + struct address_space *mapping = file->f_mapping; + struct inode *inode = mapping->host; + ssize_t written; + + if (count != ocount) + *nr_segs = iov_shorten((struct iovec *)iov, *nr_segs, count); + + written = generic_file_direct_IO(WRITE, iocb, iov, pos, *nr_segs); + if (written > 0) { + loff_t end = pos + written; + if (end > i_size_read(inode) && !S_ISBLK(inode->i_mode)) { + i_size_write(inode, end); + mark_inode_dirty(inode); + } + *ppos = end; + } + + /* + * Sync the fs metadata but not the minor inode changes and + * of course not the data as we did direct DMA for the IO. + * i_sem is held, which protects generic_osync_inode() from + * livelocking. + */ + if (written >= 0 && file->f_flags & O_SYNC) + generic_osync_inode(inode, mapping, OSYNC_METADATA); + if (written == count && !is_sync_kiocb(iocb)) + written = -EIOCBQUEUED; + return written; +} + +EXPORT_SYMBOL(generic_file_direct_write); + +ssize_t +generic_file_buffered_write(struct kiocb *iocb, const struct iovec *iov, + unsigned long nr_segs, loff_t pos, loff_t *ppos, + size_t count, ssize_t written) { struct file *file = iocb->ki_filp; struct address_space * mapping = file->f_mapping; struct address_space_operations *a_ops = mapping->a_ops; - size_t ocount; /* original count */ - size_t count; /* after file limit checks */ struct inode *inode = mapping->host; long status = 0; - loff_t pos; struct page *page; struct page *cached_page = NULL; - const int isblk = S_ISBLK(inode->i_mode); - ssize_t written; - ssize_t err; size_t bytes; struct pagevec lru_pvec; const struct iovec *cur_iov = iov; /* current iovec */ size_t iov_base = 0; /* offset in the current iovec */ - unsigned long seg; char __user *buf; - ocount = 0; - for (seg = 0; seg < nr_segs; seg++) { - const struct iovec *iv = &iov[seg]; - - /* - * If any segment has a negative length, or the cumulative - * length ever wraps negative then return -EINVAL. - */ - ocount += iv->iov_len; - if (unlikely((ssize_t)(ocount|iv->iov_len) < 0)) - return -EINVAL; - if (access_ok(VERIFY_READ, iv->iov_base, iv->iov_len)) - continue; - if (seg == 0) - return -EFAULT; - nr_segs = seg; - ocount -= iv->iov_len; /* This segment is no good */ - break; - } - - count = ocount; - pos = *ppos; pagevec_init(&lru_pvec, 0); - /* We can write back this queue in page reclaim */ - current->backing_dev_info = mapping->backing_dev_info; - written = 0; - - err = generic_write_checks(file, &pos, &count, isblk); - if (err) - goto out; - - if (count == 0) - goto out; - - err = remove_suid(file->f_dentry); - if (err) - goto out; - - inode_update_time(inode, file->f_vfsmnt, 1); - - /* coalesce the iovecs and go direct-to-BIO for O_DIRECT */ - if (unlikely(file->f_flags & O_DIRECT)) { - if (count != ocount) - nr_segs = iov_shorten((struct iovec *)iov, - nr_segs, count); - written = generic_file_direct_IO(WRITE, iocb, - iov, pos, nr_segs); - if (written > 0) { - loff_t end = pos + written; - if (end > i_size_read(inode) && !isblk) { - i_size_write(inode, end); - mark_inode_dirty(inode); - } - *ppos = end; - } - /* - * Sync the fs metadata but not the minor inode changes and - * of course not the data as we did direct DMA for the IO. - * i_sem is held, which protects generic_osync_inode() from - * livelocking. - */ - if (written >= 0 && file->f_flags & O_SYNC) - status = generic_osync_inode(inode, mapping, OSYNC_METADATA); - if (written == count && !is_sync_kiocb(iocb)) - written = -EIOCBQUEUED; - if (written < 0 || written == count) - goto out_status; - /* - * direct-io write to a hole: fall through to buffered I/O - * for completing the rest of the request. - */ - pos += written; - count -= written; - } - buf = iov->iov_base + written; /* handle partial DIO write */ do { unsigned long index; @@ -2004,11 +2030,13 @@ generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, /* * For now, when the user asks for O_SYNC, we'll actually give O_DSYNC */ - if (status >= 0) { - if ((file->f_flags & O_SYNC) || IS_SYNC(inode)) - status = generic_osync_inode(inode, mapping, - OSYNC_METADATA|OSYNC_DATA); - } + if (likely(status >= 0)) { + if (unlikely((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + if (!a_ops->writepage || !is_sync_kiocb(iocb)) + status = generic_osync_inode(inode, mapping, + OSYNC_METADATA|OSYNC_DATA); + } + } /* * If we get here for O_DIRECT writes then we must have fallen through @@ -2018,12 +2046,85 @@ generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, if (unlikely(file->f_flags & O_DIRECT) && written) status = filemap_write_and_wait(mapping); -out_status: - err = written ? written : status; -out: pagevec_lru_add(&lru_pvec); + return written ? written : status; +} + +EXPORT_SYMBOL(generic_file_buffered_write); + +ssize_t +generic_file_aio_write_nolock(struct kiocb *iocb, const struct iovec *iov, + unsigned long nr_segs, loff_t *ppos) +{ + struct file *file = iocb->ki_filp; + struct address_space * mapping = file->f_mapping; + size_t ocount; /* original count */ + size_t count; /* after file limit checks */ + struct inode *inode = mapping->host; + unsigned long seg; + loff_t pos; + ssize_t written; + ssize_t err; + + ocount = 0; + for (seg = 0; seg < nr_segs; seg++) { + const struct iovec *iv = &iov[seg]; + + /* + * If any segment has a negative length, or the cumulative + * length ever wraps negative then return -EINVAL. + */ + ocount += iv->iov_len; + if (unlikely((ssize_t)(ocount|iv->iov_len) < 0)) + return -EINVAL; + if (access_ok(VERIFY_READ, iv->iov_base, iv->iov_len)) + continue; + if (seg == 0) + return -EFAULT; + nr_segs = seg; + ocount -= iv->iov_len; /* This segment is no good */ + break; + } + + count = ocount; + pos = *ppos; + + /* We can write back this queue in page reclaim */ + current->backing_dev_info = mapping->backing_dev_info; + written = 0; + + err = generic_write_checks(file, &pos, &count, S_ISBLK(inode->i_mode)); + if (err) + goto out; + + if (count == 0) + goto out; + + err = remove_suid(file->f_dentry); + if (err) + goto out; + + inode_update_time(inode, file->f_vfsmnt, 1); + + /* coalesce the iovecs and go direct-to-BIO for O_DIRECT */ + if (unlikely(file->f_flags & O_DIRECT)) { + written = generic_file_direct_write(iocb, iov, + &nr_segs, pos, ppos, count, ocount); + if (written < 0 || written == count) + goto out; + /* + * direct-io write to a hole: fall through to buffered I/O + * for completing the rest of the request. + */ + pos += written; + count -= written; + } + + written = generic_file_buffered_write(iocb, iov, nr_segs, + pos, ppos, count, written); +out: current->backing_dev_info = NULL; - return err; + return written ? written : err; } EXPORT_SYMBOL(generic_file_aio_write_nolock); @@ -2048,36 +2149,52 @@ ssize_t generic_file_aio_write(struct kiocb *iocb, const char __user *buf, size_t count, loff_t pos) { struct file *file = iocb->ki_filp; - struct inode *inode = file->f_mapping->host; - ssize_t err; - struct iovec local_iov = { .iov_base = (void __user *)buf, .iov_len = count }; + struct address_space *mapping = file->f_mapping; + struct inode *inode = mapping->host; + ssize_t ret; + struct iovec local_iov = { .iov_base = (void __user *)buf, + .iov_len = count }; BUG_ON(iocb->ki_pos != pos); down(&inode->i_sem); - err = generic_file_aio_write_nolock(iocb, &local_iov, 1, + ret = generic_file_aio_write_nolock(iocb, &local_iov, 1, &iocb->ki_pos); up(&inode->i_sem); - return err; -} + if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + ssize_t err; + err = sync_page_range(inode, mapping, pos, ret); + if (err < 0) + ret = err; + } + return ret; +} EXPORT_SYMBOL(generic_file_aio_write); ssize_t generic_file_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) { - struct inode *inode = file->f_mapping->host; - ssize_t err; - struct iovec local_iov = { .iov_base = (void __user *)buf, .iov_len = count }; + struct address_space *mapping = file->f_mapping; + struct inode *inode = mapping->host; + ssize_t ret; + struct iovec local_iov = { .iov_base = (void __user *)buf, + .iov_len = count }; down(&inode->i_sem); - err = generic_file_write_nolock(file, &local_iov, 1, ppos); + ret = generic_file_write_nolock(file, &local_iov, 1, ppos); up(&inode->i_sem); - return err; -} + if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + ssize_t err; + err = sync_page_range(inode, mapping, *ppos - ret, ret); + if (err < 0) + ret = err; + } + return ret; +} EXPORT_SYMBOL(generic_file_write); ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, @@ -2096,14 +2213,23 @@ ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, EXPORT_SYMBOL(generic_file_readv); ssize_t generic_file_writev(struct file *file, const struct iovec *iov, - unsigned long nr_segs, loff_t * ppos) + unsigned long nr_segs, loff_t *ppos) { - struct inode *inode = file->f_mapping->host; + struct address_space *mapping = file->f_mapping; + struct inode *inode = mapping->host; ssize_t ret; down(&inode->i_sem); ret = generic_file_write_nolock(file, iov, nr_segs, ppos); up(&inode->i_sem); + + if (ret > 0 && ((file->f_flags & O_SYNC) || IS_SYNC(inode))) { + int err; + + err = sync_page_range(inode, mapping, *ppos - ret, ret); + if (err < 0) + ret = err; + } return ret; } diff --git a/mm/fremap.c b/mm/fremap.c index 2f211f502..eaa833350 100644 --- a/mm/fremap.c +++ b/mm/fremap.c @@ -226,9 +226,7 @@ asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, flush_dcache_mmap_lock(mapping); vma->vm_flags |= VM_NONLINEAR; vma_prio_tree_remove(vma, &mapping->i_mmap); - vma_prio_tree_init(vma); - list_add_tail(&vma->shared.vm_set.list, - &mapping->i_mmap_nonlinear); + vma_nonlinear_insert(vma, &mapping->i_mmap_nonlinear); flush_dcache_mmap_unlock(mapping); spin_unlock(&mapping->i_mmap_lock); } diff --git a/mm/highmem.c b/mm/highmem.c index 432da5b68..21d2daa37 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -284,7 +284,7 @@ static void copy_to_high_bio_irq(struct bio *to, struct bio *from) struct bio_vec *tovec, *fromvec; int i; - bio_for_each_segment(tovec, to, i) { + __bio_for_each_segment(tovec, to, i, 0) { fromvec = from->bi_io_vec + i; /* @@ -300,23 +300,24 @@ static void copy_to_high_bio_irq(struct bio *to, struct bio *from) */ vfrom = page_address(fromvec->bv_page) + tovec->bv_offset; + flush_dcache_page(tovec->bv_page); bounce_copy_vec(tovec, vfrom); } } -static void bounce_end_io(struct bio *bio, mempool_t *pool) +static void bounce_end_io(struct bio *bio, mempool_t *pool, int err) { struct bio *bio_orig = bio->bi_private; struct bio_vec *bvec, *org_vec; - int i, err = 0; + int i; - if (!test_bit(BIO_UPTODATE, &bio->bi_flags)) - err = -EIO; + if (test_bit(BIO_EOPNOTSUPP, &bio->bi_flags)) + set_bit(BIO_EOPNOTSUPP, &bio_orig->bi_flags); /* * free up bounce indirect pages used */ - bio_for_each_segment(bvec, bio, i) { + __bio_for_each_segment(bvec, bio, i, 0) { org_vec = bio_orig->bi_io_vec + i; if (bvec->bv_page == org_vec->bv_page) continue; @@ -333,7 +334,7 @@ static int bounce_end_io_write(struct bio *bio, unsigned int bytes_done,int err) if (bio->bi_size) return 1; - bounce_end_io(bio, page_pool); + bounce_end_io(bio, page_pool, err); return 0; } @@ -342,18 +343,18 @@ static int bounce_end_io_write_isa(struct bio *bio, unsigned int bytes_done, int if (bio->bi_size) return 1; - bounce_end_io(bio, isa_page_pool); + bounce_end_io(bio, isa_page_pool, err); return 0; } -static void __bounce_end_io_read(struct bio *bio, mempool_t *pool) +static void __bounce_end_io_read(struct bio *bio, mempool_t *pool, int err) { struct bio *bio_orig = bio->bi_private; if (test_bit(BIO_UPTODATE, &bio->bi_flags)) copy_to_high_bio_irq(bio_orig, bio); - bounce_end_io(bio, pool); + bounce_end_io(bio, pool, err); } static int bounce_end_io_read(struct bio *bio, unsigned int bytes_done, int err) @@ -361,7 +362,7 @@ static int bounce_end_io_read(struct bio *bio, unsigned int bytes_done, int err) if (bio->bi_size) return 1; - __bounce_end_io_read(bio, page_pool); + __bounce_end_io_read(bio, page_pool, err); return 0; } @@ -370,7 +371,7 @@ static int bounce_end_io_read_isa(struct bio *bio, unsigned int bytes_done, int if (bio->bi_size) return 1; - __bounce_end_io_read(bio, isa_page_pool); + __bounce_end_io_read(bio, isa_page_pool, err); return 0; } @@ -406,6 +407,7 @@ static void __blk_queue_bounce(request_queue_t *q, struct bio **bio_orig, if (rw == WRITE) { char *vto, *vfrom; + flush_dcache_page(from->bv_page); vto = page_address(to->bv_page) + to->bv_offset; vfrom = kmap(from->bv_page) + from->bv_offset; memcpy(vto, vfrom, to->bv_len); diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 6c522e127..3e17acfb3 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -21,7 +21,7 @@ static spinlock_t hugetlb_lock = SPIN_LOCK_UNLOCKED; static void enqueue_huge_page(struct page *page) { - int nid = page_zone(page)->zone_pgdat->node_id; + int nid = page_to_nid(page); list_add(&page->lru, &hugepage_freelists[nid]); free_huge_pages++; free_huge_pages_node[nid]++; @@ -52,7 +52,7 @@ static struct page *alloc_fresh_huge_page(void) { static int nid = 0; struct page *page; - page = alloc_pages_node(nid, GFP_HIGHUSER|__GFP_COMP, + page = alloc_pages_node(nid, GFP_HIGHUSER|__GFP_COMP|__GFP_NOWARN, HUGETLB_PAGE_ORDER); nid = (nid + 1) % numnodes; if (page) { @@ -123,6 +123,7 @@ static int __init hugetlb_setup(char *s) } __setup("hugepages=", hugetlb_setup); +#ifdef CONFIG_SYSCTL static void update_and_free_page(struct page *page) { int i; @@ -188,7 +189,6 @@ static unsigned long set_max_huge_pages(unsigned long count) return nr_huge_pages; } -#ifdef CONFIG_SYSCTL int hugetlb_sysctl_handler(struct ctl_table *table, int write, struct file *file, void __user *buffer, size_t *length, loff_t *ppos) diff --git a/mm/memory.c b/mm/memory.c index 0dfb74060..5555e51d9 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -117,8 +117,7 @@ static inline void free_one_pmd(struct mmu_gather *tlb, pmd_t * dir) pte_free_tlb(tlb, page); } -static inline void free_one_pgd(struct mmu_gather *tlb, pgd_t * dir, - int pgd_idx) +static inline void free_one_pgd(struct mmu_gather *tlb, pgd_t * dir) { int j; pmd_t * pmd; @@ -132,11 +131,8 @@ static inline void free_one_pgd(struct mmu_gather *tlb, pgd_t * dir, } pmd = pmd_offset(dir, 0); pgd_clear(dir); - for (j = 0; j < PTRS_PER_PMD ; j++) { - if (pgd_idx * PGDIR_SIZE + j * PMD_SIZE >= TASK_SIZE) - break; + for (j = 0; j < PTRS_PER_PMD ; j++) free_one_pmd(tlb, pmd+j); - } pmd_free_tlb(tlb, pmd); } @@ -149,13 +145,11 @@ static inline void free_one_pgd(struct mmu_gather *tlb, pgd_t * dir, void clear_page_tables(struct mmu_gather *tlb, unsigned long first, int nr) { pgd_t * page_dir = tlb->mm->pgd; - int pgd_idx = first; page_dir += first; do { - free_one_pgd(tlb, page_dir, pgd_idx); + free_one_pgd(tlb, page_dir); page_dir++; - pgd_idx++; } while (--nr); } @@ -337,6 +331,8 @@ skip_copy_pte_range: get_page(page); // dst->rss++; vx_rsspages_inc(dst); + if (PageAnon(page)) + dst->anon_rss++; set_pte(dst_pte, pte); page_dup_rmap(page); cont_copy_pte_range_noset: @@ -427,7 +423,9 @@ static void zap_pte_range(struct mmu_gather *tlb, set_pte(ptep, pgoff_to_pte(page->index)); if (pte_dirty(pte)) set_page_dirty(page); - if (pte_young(pte) && !PageAnon(page)) + if (PageAnon(page)) + tlb->mm->anon_rss--; + else if (pte_young(pte)) mark_page_accessed(page); tlb->freed++; page_remove_rmap(page); @@ -452,7 +450,7 @@ static void zap_pmd_range(struct mmu_gather *tlb, unsigned long size, struct zap_details *details) { pmd_t * pmd; - unsigned long end, pgd_boundary; + unsigned long end; if (pgd_none(*dir)) return; @@ -463,9 +461,8 @@ static void zap_pmd_range(struct mmu_gather *tlb, } pmd = pmd_offset(dir, address); end = address + size; - pgd_boundary = ((address + PGDIR_SIZE) & PGDIR_MASK); - if (pgd_boundary && (end > pgd_boundary)) - end = pgd_boundary; + if (end > ((address + PGDIR_SIZE) & PGDIR_MASK)) + end = ((address + PGDIR_SIZE) & PGDIR_MASK); do { zap_pte_range(tlb, pmd, address, end - address, details); address = (address + PMD_SIZE) & PMD_MASK; @@ -678,64 +675,6 @@ out: return NULL; } -struct page * -follow_page_pfn(struct mm_struct *mm, unsigned long address, int write, - unsigned long *pfn_ptr) -{ - pgd_t *pgd; - pmd_t *pmd; - pte_t *ptep, pte; - unsigned long pfn; - struct page *page; - - *pfn_ptr = 0; - page = follow_huge_addr(mm, address, write); - if (!IS_ERR(page)) - return page; - - pgd = pgd_offset(mm, address); - if (pgd_none(*pgd) || pgd_bad(*pgd)) - goto out; - - pmd = pmd_offset(pgd, address); - if (pmd_none(*pmd)) - goto out; - if (pmd_huge(*pmd)) - return follow_huge_pmd(mm, address, pmd, write); - if (pmd_bad(*pmd)) - goto out; - - ptep = pte_offset_map(pmd, address); - if (!ptep) - goto out; - - pte = *ptep; - pte_unmap(ptep); - if (pte_present(pte)) { - if (write && !pte_write(pte)) - goto out; - if (write && !pte_dirty(pte)) { - struct page *page = pte_page(pte); - if (!PageDirty(page)) - set_page_dirty(page); - } - pfn = pte_pfn(pte); - if (pfn_valid(pfn)) { - struct page *page = pfn_to_page(pfn); - - mark_page_accessed(page); - return page; - } else { - *pfn_ptr = pfn; - return NULL; - } - } - -out: - return NULL; -} - - /* * Given a physical address, is there a useful struct page pointing to * it? This may become more complex in the future if we start dealing @@ -750,7 +689,6 @@ static inline struct page *get_page_map(struct page *page) } -#ifndef CONFIG_X86_4G static inline int untouched_anonymous_page(struct mm_struct* mm, struct vm_area_struct *vma, unsigned long address) @@ -775,7 +713,6 @@ untouched_anonymous_page(struct mm_struct* mm, struct vm_area_struct *vma, /* There is a pte slot for 'address' in 'mm'. */ return 0; } -#endif int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, @@ -805,19 +742,15 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, pte_t *pte; if (write) /* user gate pages are read-only */ return i ? : -EFAULT; - pgd = pgd_offset_gate(mm, pg); - if (!pgd) - return i ? : -EFAULT; + if (pg > TASK_SIZE) + pgd = pgd_offset_k(pg); + else + pgd = pgd_offset_gate(mm, pg); + BUG_ON(pgd_none(*pgd)); pmd = pmd_offset(pgd, pg); - if (!pmd) - return i ? : -EFAULT; + BUG_ON(pmd_none(*pmd)); pte = pte_offset_map(pmd, pg); - if (!pte) - return i ? : -EFAULT; - if (!pte_present(*pte)) { - pte_unmap(pte); - return i ? : -EFAULT; - } + BUG_ON(pte_none(*pte)); if (pages) { pages[i] = pte_page(*pte); get_page(pages[i]); @@ -831,7 +764,7 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, continue; } - if (!vma || (pages && (vma->vm_flags & VM_IO)) + if (!vma || (vma->vm_flags & VM_IO) || !(flags & vma->vm_flags)) return i ? : -EFAULT; @@ -851,21 +784,12 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm, * insanly big anonymously mapped areas that * nobody touched so far. This is important * for doing a core dump for these mappings. - * - * disable this for 4:4 - it prevents - * follow_page() from ever seeing these pages. - * - * (The 'fix' is dubious anyway, there's - * nothing that this code avoids which couldnt - * be triggered from userspace anyway.) */ -#ifndef CONFIG_X86_4G if (!lookup_write && untouched_anonymous_page(mm,vma,start)) { map = ZERO_PAGE(start); break; } -#endif spin_unlock(&mm->page_table_lock); switch (handle_mm_fault(mm,vma,start,write)) { case VM_FAULT_MINOR: @@ -1055,6 +979,16 @@ int remap_page_range(struct vm_area_struct *vma, unsigned long from, unsigned lo if (from >= end) BUG(); + /* + * Physically remapped pages are special. Tell the + * rest of the world about it: + * VM_IO tells people not to look at these pages + * (accesses can have side effects). + * VM_RESERVED tells swapout not to try to touch + * this region. + */ + vma->vm_flags |= VM_IO | VM_RESERVED; + spin_lock(&mm->page_table_lock); do { pmd_t *pmd = pmd_alloc(mm, dir, from); @@ -1182,6 +1116,8 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct * vma, spin_lock(&mm->page_table_lock); page_table = pte_offset_map(pmd, address); if (likely(pte_same(*page_table, pte))) { + if (PageAnon(old_page)) + mm->anon_rss--; if (PageReserved(old_page)) // ++mm->rss; vx_rsspages_inc(mm); @@ -1211,12 +1147,12 @@ no_new_page: static inline void unmap_mapping_range_list(struct prio_tree_root *root, struct zap_details *details) { - struct vm_area_struct *vma = NULL; + struct vm_area_struct *vma; struct prio_tree_iter iter; pgoff_t vba, vea, zba, zea; - while ((vma = vma_prio_tree_next(vma, root, &iter, - details->first_index, details->last_index)) != NULL) { + vma_prio_tree_foreach(vma, &iter, root, + details->first_index, details->last_index) { vba = vma->vm_pgoff; vea = vba + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) - 1; /* Assume for now that PAGE_CACHE_SHIFT == PAGE_SHIFT */ @@ -1849,6 +1785,8 @@ int make_pages_present(unsigned long addr, unsigned long end) struct vm_area_struct * vma; vma = find_vma(current->mm, addr); + if (!vma) + return -1; write = (vma->vm_flags & VM_WRITE) != 0; if (addr >= end) BUG(); diff --git a/mm/mlock.c b/mm/mlock.c index aa3f04724..8c893a021 100644 --- a/mm/mlock.c +++ b/mm/mlock.c @@ -47,7 +47,8 @@ static int mlock_fixup(struct vm_area_struct * vma, pages = (end - start) >> PAGE_SHIFT; if (newflags & VM_LOCKED) { pages = -pages; - ret = make_pages_present(start, end); + if (!(newflags & VM_IO)) + ret = make_pages_present(start, end); } // vma->vm_mm->locked_vm -= pages; @@ -62,8 +63,6 @@ static int do_mlock(unsigned long start, size_t len, int on) struct vm_area_struct * vma, * next; int error; - if (on && !can_do_mlock()) - return -EPERM; len = PAGE_ALIGN(len); end = start + len; if (end < start) @@ -109,6 +108,9 @@ asmlinkage long sys_mlock(unsigned long start, size_t len) unsigned long lock_limit; int error = -ENOMEM; + if (!can_do_mlock()) + return -EPERM; + down_write(¤t->mm->mmap_sem); len = PAGE_ALIGN(len + (start & ~PAGE_MASK)); start &= PAGE_MASK; @@ -122,7 +124,7 @@ asmlinkage long sys_mlock(unsigned long start, size_t len) lock_limit >>= PAGE_SHIFT; /* check against resource limits */ - if ( (locked <= lock_limit) || capable(CAP_IPC_LOCK)) + if ((locked <= lock_limit) || capable(CAP_IPC_LOCK)) error = do_mlock(start, len, 1); out: up_write(¤t->mm->mmap_sem); @@ -143,19 +145,15 @@ asmlinkage long sys_munlock(unsigned long start, size_t len) static int do_mlockall(int flags) { - int error; - unsigned int def_flags; struct vm_area_struct * vma; + unsigned int def_flags = 0; - if (!can_do_mlock()) - return -EPERM; - - def_flags = 0; if (flags & MCL_FUTURE) def_flags = VM_LOCKED; current->mm->def_flags = def_flags; + if (flags == MCL_FUTURE) + goto out; - error = 0; for (vma = current->mm->mmap; vma ; vma = vma->vm_next) { unsigned int newflags; @@ -166,7 +164,8 @@ static int do_mlockall(int flags) /* Ignore errors */ mlock_fixup(vma, vma->vm_start, vma->vm_end, newflags); } - return error; +out: + return 0; } asmlinkage long sys_mlockall(int flags) @@ -174,20 +173,26 @@ asmlinkage long sys_mlockall(int flags) unsigned long lock_limit; int ret = -EINVAL; - down_write(¤t->mm->mmap_sem); if (!flags || (flags & ~(MCL_CURRENT | MCL_FUTURE))) goto out; + ret = -EPERM; + if (!can_do_mlock()) + goto out; + + down_write(¤t->mm->mmap_sem); + lock_limit = current->rlim[RLIMIT_MEMLOCK].rlim_cur; lock_limit >>= PAGE_SHIFT; ret = -ENOMEM; if (!vx_vmlocked_avail(current->mm, current->mm->total_vm)) goto out; - if ((current->mm->total_vm <= lock_limit) || capable(CAP_IPC_LOCK)) + if (!(flags & MCL_CURRENT) || (current->mm->total_vm <= lock_limit) || + capable(CAP_IPC_LOCK)) ret = do_mlockall(flags); -out: up_write(¤t->mm->mmap_sem); +out: return ret; } diff --git a/mm/mmap.c b/mm/mmap.c index 3e11800a8..7b4ba143c 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -55,7 +55,7 @@ pgprot_t protection_map[16] = { __S000, __S001, __S010, __S011, __S100, __S101, __S110, __S111 }; -int sysctl_overcommit_memory = 0; /* default is heuristic overcommit */ +int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ int sysctl_overcommit_ratio = 50; /* default is 50% */ int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; atomic_t vm_committed_space = ATOMIC_INIT(0); @@ -283,8 +283,7 @@ static inline void __vma_link_file(struct vm_area_struct *vma) flush_dcache_mmap_lock(mapping); if (unlikely(vma->vm_flags & VM_NONLINEAR)) - list_add_tail(&vma->shared.vm_set.list, - &mapping->i_mmap_nonlinear); + vma_nonlinear_insert(vma, &mapping->i_mmap_nonlinear); else vma_prio_tree_insert(vma, &mapping->i_mmap); flush_dcache_mmap_unlock(mapping); @@ -455,11 +454,8 @@ again: remove_next = 1 + (end > next->vm_end); } if (root) { - if (adjust_next) { - vma_prio_tree_init(next); + if (adjust_next) vma_prio_tree_insert(next, root); - } - vma_prio_tree_init(vma); vma_prio_tree_insert(vma, root); flush_dcache_mmap_unlock(mapping); } @@ -740,6 +736,32 @@ none: return NULL; } +#ifdef CONFIG_PROC_FS +void __vm_stat_account(struct mm_struct *mm, unsigned long flags, + struct file *file, long pages) +{ + const unsigned long stack_flags + = VM_STACK_FLAGS & (VM_GROWSUP|VM_GROWSDOWN); + +#ifdef CONFIG_HUGETLB + if (flags & VM_HUGETLB) { + if (!(flags & VM_DONTCOPY)) + mm->shared_vm += pages; + return; + } +#endif /* CONFIG_HUGETLB */ + + if (file) + mm->shared_vm += pages; + else if (flags & stack_flags) + mm->stack_vm += pages; + if (flags & VM_EXEC) + mm->exec_vm += pages; + if (flags & (VM_RESERVED|VM_IO)) + mm->reserved_vm += pages; +} +#endif /* CONFIG_PROC_FS */ + /* * The caller must hold down_write(current->mm->mmap_sem). */ @@ -758,13 +780,6 @@ unsigned long do_mmap_pgoff(struct mm_struct *mm, struct file * file, int accountable = 1; unsigned long charged = 0; - /* - * Does the application expect PROT_READ to imply PROT_EXEC: - */ - if (unlikely((prot & PROT_READ) && - (current->personality & READ_IMPLIES_EXEC))) - prot |= PROT_EXEC; - if (file) { if (is_file_hugepages(file)) accountable = 0; @@ -776,6 +791,15 @@ unsigned long do_mmap_pgoff(struct mm_struct *mm, struct file * file, (file->f_vfsmnt->mnt_flags & MNT_NOEXEC)) return -EPERM; } + /* + * Does the application expect PROT_READ to imply PROT_EXEC? + * + * (the exception is when the underlying filesystem is noexec + * mounted, in which case we dont add PROT_EXEC.) + */ + if ((prot & PROT_READ) && (current->personality & READ_IMPLIES_EXEC)) + if (!(file && (file->f_vfsmnt->mnt_flags & MNT_NOEXEC))) + prot |= PROT_EXEC; if (!len) return addr; @@ -896,7 +920,7 @@ munmap_back: return -ENOMEM; if (accountable && (!(flags & MAP_NORESERVE) || - sysctl_overcommit_memory > 1)) { + sysctl_overcommit_memory == OVERCOMMIT_NEVER)) { if (vm_flags & VM_SHARED) { /* Check memory availability in shmem_file_setup? */ vm_flags |= VM_ACCOUNT; @@ -975,9 +999,12 @@ munmap_back: * f_op->mmap method. -DaveM */ addr = vma->vm_start; + pgoff = vma->vm_pgoff; + vm_flags = vma->vm_flags; if (!file || !vma_merge(mm, prev, addr, vma->vm_end, vma->vm_flags, NULL, file, pgoff, vma_policy(vma))) { + file = vma->vm_file; vma_link(mm, vma, prev, rb_link, rb_parent); if (correct_wcount) atomic_inc(&inode->i_writecount); @@ -993,6 +1020,7 @@ munmap_back: out: // mm->total_vm += len >> PAGE_SHIFT; vx_vmpages_add(mm, len >> PAGE_SHIFT); + __vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); if (vm_flags & VM_LOCKED) { // mm->locked_vm += len >> PAGE_SHIFT; vx_vmlocked_add(mm, len >> PAGE_SHIFT); @@ -1004,6 +1032,7 @@ out: pgoff, flags & MAP_NONBLOCK); down_write(&mm->mmap_sem); } + __vm_stat_account(mm, vm_flags, file, len >> PAGE_SHIFT); return addr; unmap_and_free_vma: @@ -1096,6 +1125,7 @@ void arch_unmap_area(struct vm_area_struct *area) * This mmap-allocator allocates new areas top-down from below the * stack's low limit (the base): */ +#ifndef HAVE_ARCH_UNMAPPED_AREA_TOPDOWN unsigned long arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, const unsigned long len, const unsigned long pgoff, @@ -1180,6 +1210,7 @@ fail: return addr; } +#endif void arch_unmap_area_topdown(struct vm_area_struct *area) { @@ -1426,9 +1457,11 @@ int expand_stack(struct vm_area_struct * vma, unsigned long address) vma->vm_end = address; // vma->vm_mm->total_vm += grow; vx_vmpages_add(vma->vm_mm, grow); - if (vma->vm_flags & VM_LOCKED) + if (vma->vm_flags & VM_LOCKED) { // vma->vm_mm->locked_vm += grow; vx_vmlocked_add(vma->vm_mm, grow); + } + __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); anon_vma_unlock(vma); return 0; } @@ -1491,9 +1524,11 @@ int expand_stack(struct vm_area_struct *vma, unsigned long address) vma->vm_pgoff -= grow; // vma->vm_mm->total_vm += grow; vx_vmpages_add(vma->vm_mm, grow); - if (vma->vm_flags & VM_LOCKED) + if (vma->vm_flags & VM_LOCKED) { // vma->vm_mm->locked_vm += grow; vx_vmlocked_add(vma->vm_mm, grow); + } + __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); anon_vma_unlock(vma); return 0; } @@ -1599,9 +1634,11 @@ static void unmap_vma(struct mm_struct *mm, struct vm_area_struct *area) // area->vm_mm->total_vm -= len >> PAGE_SHIFT; vx_vmpages_sub(area->vm_mm, len >> PAGE_SHIFT); - if (area->vm_flags & VM_LOCKED) + if (area->vm_flags & VM_LOCKED) { // area->vm_mm->locked_vm -= len >> PAGE_SHIFT; vx_vmlocked_sub(area->vm_mm, len >> PAGE_SHIFT); + } + vm_stat_unaccount(area); area->vm_mm->unmap_area(area); remove_vm_struct(area); } @@ -1691,7 +1728,6 @@ int split_vma(struct mm_struct * mm, struct vm_area_struct * vma, /* most fields are the same, copy all, and then fixup */ *new = *vma; - vma_prio_tree_init(new); if (new_below) new->vm_end = addr; @@ -1760,10 +1796,6 @@ int do_munmap(struct mm_struct *mm, unsigned long start, size_t len) if (mpnt->vm_start >= end) return 0; - /* Something will probably happen, so notify. */ - if (mpnt->vm_file && (mpnt->vm_flags & VM_EXEC)) - profile_exec_unmap(mm); - /* * If we need to split any vma, do it now to save pain later. * @@ -1806,6 +1838,8 @@ asmlinkage long sys_munmap(unsigned long addr, size_t len) int ret; struct mm_struct *mm = current->mm; + profile_munmap(addr); + down_write(&mm->mmap_sem); ret = do_munmap(mm, addr, len); up_write(&mm->mmap_sem); @@ -1913,8 +1947,6 @@ void exit_mmap(struct mm_struct *mm) struct vm_area_struct *vma; unsigned long nr_accounted = 0; - profile_exit_mmap(mm); - lru_add_drain(); spin_lock(&mm->page_table_lock); @@ -1957,7 +1989,7 @@ void exit_mmap(struct mm_struct *mm) * and into the inode's i_mmap tree. If vm_file is non-NULL * then i_mmap_lock is taken here. */ -void insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) +int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) { struct vm_area_struct * __vma, * prev; struct rb_node ** rb_link, * rb_parent; @@ -1980,8 +2012,9 @@ void insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma) } __vma = find_vma_prepare(mm,vma->vm_start,&prev,&rb_link,&rb_parent); if (__vma && __vma->vm_start < vma->vm_end) - BUG(); + return -ENOMEM; vma_link(mm, vma, prev, rb_link, rb_parent); + return 0; } /* @@ -2019,7 +2052,6 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, new_vma = kmem_cache_alloc(vm_area_cachep, SLAB_KERNEL); if (new_vma) { *new_vma = *vma; - vma_prio_tree_init(new_vma); pol = mpol_copy(vma_policy(vma)); if (IS_ERR(pol)) { kmem_cache_free(vm_area_cachep, new_vma); diff --git a/mm/mprotect.c b/mm/mprotect.c index e978ff39e..345ab7bc4 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -177,12 +177,14 @@ success: * vm_flags and vm_page_prot are protected by the mmap_sem * held in write mode. */ + vm_stat_unaccount(vma); oldflags = vma->vm_flags; vma->vm_flags = newflags; vma->vm_page_prot = newprot; if (oldflags & VM_EXEC) arch_remove_exec_range(current->mm, old_end); change_protection(vma, start, end, newprot); + vm_stat_account(vma); return 0; fail: diff --git a/mm/mremap.c b/mm/mremap.c index c1cf3c09d..01c3f73f6 100644 --- a/mm/mremap.c +++ b/mm/mremap.c @@ -226,6 +226,7 @@ static unsigned long move_vma(struct vm_area_struct *vma, // mm->total_vm += new_len >> PAGE_SHIFT; vx_vmpages_add(mm, new_len >> PAGE_SHIFT); + __vm_stat_account(mm, vma->vm_flags, vma->vm_file, new_len>>PAGE_SHIFT); if (vm_flags & VM_LOCKED) { // mm->locked_vm += new_len >> PAGE_SHIFT; vx_vmlocked_add(mm, new_len >> PAGE_SHIFT); @@ -371,6 +372,8 @@ unsigned long do_mremap(unsigned long addr, // current->mm->total_vm += pages; vx_vmpages_add(current->mm, pages); + __vm_stat_account(vma->vm_mm, vma->vm_flags, + vma->vm_file, pages); if (vma->vm_flags & VM_LOCKED) { // current->mm->locked_vm += pages; vx_vmlocked_add(vma->vm_mm, pages); diff --git a/mm/nommu.c b/mm/nommu.c index 114c0ccb4..dd4b66b8c 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -30,7 +30,7 @@ unsigned long max_mapnr; unsigned long num_physpages; unsigned long askedalloc, realalloc; atomic_t vm_committed_space = ATOMIC_INIT(0); -int sysctl_overcommit_memory; /* default is heuristic overcommit */ +int sysctl_overcommit_memory = OVERCOMMIT_GUESS; /* heuristic overcommit */ int sysctl_overcommit_ratio = 50; /* default is 50% */ int sysctl_max_map_count = DEFAULT_MAX_MAP_COUNT; diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 3de04b617..abc73e046 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -26,6 +26,7 @@ /** * oom_badness - calculate a numeric value for how bad this task has been * @p: task struct of which task we should calculate + * @p: current uptime in seconds * * The formula used is relatively simple and documented inline in the * function. The main rationale is that we want to select a good task @@ -41,9 +42,9 @@ * of least surprise ... (be careful when you change it) */ -static int badness(struct task_struct *p) +static unsigned long badness(struct task_struct *p, unsigned long uptime) { - int points, cpu_time, run_time, s; + unsigned long points, cpu_time, run_time, s; if (!p->mm) return 0; @@ -57,12 +58,16 @@ static int badness(struct task_struct *p) /* add vserver badness ;) */ /* - * CPU time is in seconds and run time is in minutes. There is no - * particular reason for this other than that it turned out to work - * very well in practice. + * CPU time is in tens of seconds and run time is in thousands + * of seconds. There is no particular reason for this other than + * that it turned out to work very well in practice. */ cpu_time = (p->utime + p->stime) >> (SHIFT_HZ + 3); - run_time = (get_jiffies_64() - p->start_time) >> (SHIFT_HZ + 10); + + if (uptime >= p->start_time.tv_sec) + run_time = (uptime - p->start_time.tv_sec) >> 10; + else + run_time = 0; s = int_sqrt(cpu_time); if (s) @@ -109,13 +114,15 @@ static int badness(struct task_struct *p) */ static struct task_struct * select_bad_process(void) { - int maxpoints = 0; + unsigned long maxpoints = 0; struct task_struct *g, *p; struct task_struct *chosen = NULL; + struct timespec uptime; + do_posix_clock_monotonic_gettime(&uptime); do_each_thread(g, p) if (p->pid) { - int points = badness(p); + unsigned long points = badness(p, uptime.tv_sec); if (points > maxpoints) { chosen = p; maxpoints = points; @@ -182,7 +189,10 @@ static void oom_kill(void) { struct mm_struct *mm; struct task_struct *g, *p, *q; - + + /* print the memory stats whenever we OOM kill */ + show_mem(); + read_lock(&tasklist_lock); retry: p = select_bad_process(); @@ -273,7 +283,6 @@ void out_of_memory(int gfp_mask) lastkill = now; printk("oom-killer: gfp_mask=0x%x\n", gfp_mask); - show_free_areas(); /* oom_kill() sleeps */ spin_unlock(&oom_lock); diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 343998d46..f6ba49edb 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -276,6 +276,28 @@ void balance_dirty_pages_ratelimited(struct address_space *mapping) } EXPORT_SYMBOL(balance_dirty_pages_ratelimited); +void throttle_vm_writeout(void) +{ + struct writeback_state wbs; + long background_thresh; + long dirty_thresh; + + for ( ; ; ) { + get_dirty_limits(&wbs, &background_thresh, &dirty_thresh); + + /* + * Boost the allowable dirty threshold a bit for page + * allocators so they don't get DoS'ed by heavy writers + */ + dirty_thresh += dirty_thresh / 10; /* wheeee... */ + + if (wbs.nr_unstable + wbs.nr_writeback <= dirty_thresh) + break; + blk_congestion_wait(WRITE, HZ/10); + } +} + + /* * writeback at least _min_pages, and keep writing until the amount of dirty * memory is less than the background threshold, or until we're all clean. @@ -504,6 +526,11 @@ void __init page_writeback_init(void) dirty_background_ratio /= 100; vm_dirty_ratio *= correction; vm_dirty_ratio /= 100; + + if (dirty_background_ratio <= 0) + dirty_background_ratio = 1; + if (vm_dirty_ratio <= 0) + vm_dirty_ratio = 1; } mod_timer(&wb_timer, jiffies + (dirty_writeback_centisecs * HZ) / 100); set_ratelimit(); diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 675b061b7..09efe9719 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -63,8 +63,8 @@ EXPORT_SYMBOL(zone_table); static char *zone_names[MAX_NR_ZONES] = { "DMA", "Normal", "HighMem" }; int min_free_kbytes = 1024; -static unsigned long __initdata nr_kernel_pages; -static unsigned long __initdata nr_all_pages; +unsigned long __initdata nr_kernel_pages; +unsigned long __initdata nr_all_pages; /* * Temporary debugging check for pages not lying within a given zone. @@ -84,9 +84,9 @@ static void bad_page(const char *function, struct page *page) { printk(KERN_EMERG "Bad page state at %s (in process '%s', page %p)\n", function, current->comm, page); - printk(KERN_EMERG "flags:0x%08lx mapping:%p mapcount:%d count:%d\n", - (unsigned long)page->flags, page->mapping, - (int)page->mapcount, page_count(page)); + printk(KERN_EMERG "flags:0x%0*lx mapping:%p mapcount:%d count:%d\n", + (int)(2*sizeof(page_flags_t)), (unsigned long)page->flags, + page->mapping, page_mapcount(page), page_count(page)); printk(KERN_EMERG "Backtrace:\n"); dump_stack(); printk(KERN_EMERG "Trying to fix it up, but a reboot is needed\n"); @@ -95,13 +95,12 @@ static void bad_page(const char *function, struct page *page) 1 << PG_lru | 1 << PG_active | 1 << PG_dirty | - 1 << PG_maplock | - 1 << PG_anon | 1 << PG_swapcache | 1 << PG_writeback); set_page_count(page, 0); + reset_page_mapcount(page); page->mapping = NULL; - page->mapcount = 0; + tainted |= TAINT_BAD_PAGE; } #if !defined(CONFIG_HUGETLB_PAGE) && !defined(CONFIG_CRASH_DUMP) \ @@ -238,8 +237,6 @@ static inline void free_pages_check(const char *function, struct page *page) 1 << PG_active | 1 << PG_reclaim | 1 << PG_slab | - 1 << PG_maplock | - 1 << PG_anon | 1 << PG_swapcache | 1 << PG_writeback ))) bad_page(function, page); @@ -362,8 +359,6 @@ static void prep_new_page(struct page *page, int order) 1 << PG_active | 1 << PG_dirty | 1 << PG_reclaim | - 1 << PG_maplock | - 1 << PG_anon | 1 << PG_swapcache | 1 << PG_writeback ))) bad_page(__FUNCTION__, page); @@ -525,6 +520,8 @@ static void fastcall free_hot_cold_page(struct page *page, int cold) kernel_map_pages(page, 1, 0); inc_page_state(pgfree); + if (PageAnon(page)) + page->mapping = NULL; free_pages_check(__FUNCTION__, page); pcp = &zone->pageset[get_cpu()].pcp[cold]; local_irq_save(flags); @@ -614,13 +611,14 @@ __alloc_pages(unsigned int gfp_mask, unsigned int order, { const int wait = gfp_mask & __GFP_WAIT; unsigned long min; - struct zone **zones; + struct zone **zones, *z; struct page *page; struct reclaim_state reclaim_state; struct task_struct *p = current; int i; int alloc_type; int do_retry; + int can_try_harder; might_sleep_if(wait); @@ -628,73 +626,64 @@ __alloc_pages(unsigned int gfp_mask, unsigned int order, return NULL; } + /* + * The caller may dip into page reserves a bit more if the caller + * cannot run direct reclaim, or is the caller has realtime scheduling + * policy + */ + can_try_harder = (unlikely(rt_task(p)) && !in_interrupt()) || !wait; + zones = zonelist->zones; /* the list of zones suitable for gfp_mask */ - if (zones[0] == NULL) /* no zones in the zonelist */ + + if (unlikely(zones[0] == NULL)) { + /* Should this ever happen?? */ return NULL; + } alloc_type = zone_idx(zones[0]); /* Go through the zonelist once, looking for a zone with enough free */ - for (i = 0; zones[i] != NULL; i++) { - struct zone *z = zones[i]; - - min = (1<protection[alloc_type]; + for (i = 0; (z = zones[i]) != NULL; i++) { + min = z->pages_low + (1<protection[alloc_type]; - /* - * We let real-time tasks dip their real-time paws a little - * deeper into reserves. - */ - if (rt_task(p)) - min -= z->pages_low >> 1; + if (z->free_pages < min) + continue; - if (z->free_pages >= min || - (!wait && z->free_pages >= z->pages_high)) { - page = buffered_rmqueue(z, order, gfp_mask); - if (page) { - zone_statistics(zonelist, z); - goto got_pg; - } - } + page = buffered_rmqueue(z, order, gfp_mask); + if (page) + goto got_pg; } - /* we're somewhat low on memory, failed to find what we needed */ - for (i = 0; zones[i] != NULL; i++) - wakeup_kswapd(zones[i]); - - /* Go through the zonelist again, taking __GFP_HIGH into account */ - for (i = 0; zones[i] != NULL; i++) { - struct zone *z = zones[i]; - - min = (1<protection[alloc_type]; + for (i = 0; (z = zones[i]) != NULL; i++) + wakeup_kswapd(z); + /* + * Go through the zonelist again. Let __GFP_HIGH and allocations + * coming from realtime tasks to go deeper into reserves + */ + for (i = 0; (z = zones[i]) != NULL; i++) { + min = z->pages_min; if (gfp_mask & __GFP_HIGH) - min -= z->pages_low >> 2; - if (rt_task(p)) - min -= z->pages_low >> 1; + min /= 2; + if (can_try_harder) + min -= min / 4; + min += (1<protection[alloc_type]; - if (z->free_pages >= min || - (!wait && z->free_pages >= z->pages_high)) { - page = buffered_rmqueue(z, order, gfp_mask); - if (page) { - zone_statistics(zonelist, z); - goto got_pg; - } - } - } + if (z->free_pages < min) + continue; - /* here we're in the low on memory slow path */ + page = buffered_rmqueue(z, order, gfp_mask); + if (page) + goto got_pg; + } -rebalance: + /* This allocation should allow future memory freeing. */ if ((p->flags & (PF_MEMALLOC | PF_MEMDIE)) && !in_interrupt()) { /* go through the zonelist yet again, ignoring mins */ - for (i = 0; zones[i] != NULL; i++) { - struct zone *z = zones[i]; - + for (i = 0; (z = zones[i]) != NULL; i++) { page = buffered_rmqueue(z, order, gfp_mask); - if (page) { - zone_statistics(zonelist, z); + if (page) goto got_pg; - } } goto nopage; } @@ -703,6 +692,8 @@ rebalance: if (!wait) goto nopage; +rebalance: + /* We now go into synchronous reclaim */ p->flags |= PF_MEMALLOC; reclaim_state.reclaimed_slab = 0; p->reclaim_state = &reclaim_state; @@ -713,27 +704,28 @@ rebalance: p->flags &= ~PF_MEMALLOC; /* go through the zonelist yet one more time */ - for (i = 0; zones[i] != NULL; i++) { - struct zone *z = zones[i]; + for (i = 0; (z = zones[i]) != NULL; i++) { + min = z->pages_min; + if (gfp_mask & __GFP_HIGH) + min /= 2; + if (can_try_harder) + min -= min / 4; + min += (1<protection[alloc_type]; - min = (1UL << order) + z->protection[alloc_type]; + if (z->free_pages < min) + continue; - if (z->free_pages >= min || - (!wait && z->free_pages >= z->pages_high)) { - page = buffered_rmqueue(z, order, gfp_mask); - if (page) { - zone_statistics(zonelist, z); - goto got_pg; - } - } + page = buffered_rmqueue(z, order, gfp_mask); + if (page) + goto got_pg; } /* * Don't let big-order allocations loop unless the caller explicitly * requests that. Wait for some write requests to complete then retry. * - * In this implementation, __GFP_REPEAT means __GFP_NOFAIL, but that - * may not be true in other implementations. + * In this implementation, __GFP_REPEAT means __GFP_NOFAIL for order + * <= 3, but that may not be true in other implementations. */ do_retry = 0; if (!(gfp_mask & __GFP_NORETRY)) { @@ -756,6 +748,7 @@ nopage: } return NULL; got_pg: + zone_statistics(zonelist, z); kernel_map_pages(page, 1 << order, 1); ckrm_set_pages_class(page, 1 << order, GET_MEM_CLASS(current)); return page; @@ -821,8 +814,8 @@ EXPORT_SYMBOL(__free_pages); fastcall void free_pages(unsigned long addr, unsigned int order) { if (addr != 0) { - BUG_ON(!virt_addr_valid(addr)); - __free_pages(virt_to_page(addr), order); + BUG_ON(!virt_addr_valid((void *)addr)); + __free_pages(virt_to_page((void *)addr), order); } } @@ -984,18 +977,36 @@ unsigned long __read_page_state(unsigned offset) return ret; } +void __get_zone_counts(unsigned long *active, unsigned long *inactive, + unsigned long *free, struct pglist_data *pgdat) +{ + struct zone *zones = pgdat->node_zones; + int i; + + *active = 0; + *inactive = 0; + *free = 0; + for (i = 0; i < MAX_NR_ZONES; i++) { + *active += zones[i].nr_active; + *inactive += zones[i].nr_inactive; + *free += zones[i].free_pages; + } +} + void get_zone_counts(unsigned long *active, unsigned long *inactive, unsigned long *free) { - struct zone *zone; + struct pglist_data *pgdat; *active = 0; *inactive = 0; *free = 0; - for_each_zone(zone) { - *active += zone->nr_active; - *inactive += zone->nr_inactive; - *free += zone->free_pages; + for_each_pgdat(pgdat) { + unsigned long l, m, n; + __get_zone_counts(&l, &m, &n, pgdat); + *active += l; + *inactive += m; + *free += n; } } @@ -1400,14 +1411,16 @@ static void __init calculate_zone_totalpages(struct pglist_data *pgdat, * up by free_all_bootmem() once the early boot process is * done. Non-atomic initialization, single-pass. */ -void __init memmap_init_zone(struct page *start, unsigned long size, int nid, - unsigned long zone, unsigned long start_pfn) +void __init memmap_init_zone(unsigned long size, int nid, unsigned long zone, + unsigned long start_pfn) { + struct page *start = pfn_to_page(start_pfn); struct page *page; for (page = start; page < (start + size); page++) { set_page_zone(page, NODEZONE(nid, zone)); set_page_count(page, 0); + reset_page_mapcount(page); SetPageReserved(page); INIT_LIST_HEAD(&page->lru); #ifdef WANT_PAGE_VIRTUAL @@ -1419,9 +1432,55 @@ void __init memmap_init_zone(struct page *start, unsigned long size, int nid, } } +/* + * Page buddy system uses "index >> (i+1)", where "index" is + * at most "size-1". + * + * The extra "+3" is to round down to byte size (8 bits per byte + * assumption). Thus we get "(size-1) >> (i+4)" as the last byte + * we can access. + * + * The "+1" is because we want to round the byte allocation up + * rather than down. So we should have had a "+7" before we shifted + * down by three. Also, we have to add one as we actually _use_ the + * last bit (it's [0,n] inclusive, not [0,n[). + * + * So we actually had +7+1 before we shift down by 3. But + * (n+8) >> 3 == (n >> 3) + 1 (modulo overflows, which we do not have). + * + * Finally, we LONG_ALIGN because all bitmap operations are on longs. + */ +unsigned long pages_to_bitmap_size(unsigned long order, unsigned long nr_pages) +{ + unsigned long bitmap_size; + + bitmap_size = (nr_pages-1) >> (order+4); + bitmap_size = LONG_ALIGN(bitmap_size+1); + + return bitmap_size; +} + +void zone_init_free_lists(struct pglist_data *pgdat, struct zone *zone, unsigned long size) +{ + int order; + for (order = 0; ; order++) { + unsigned long bitmap_size; + + INIT_LIST_HEAD(&zone->free_area[order].free_list); + if (order == MAX_ORDER-1) { + zone->free_area[order].map = NULL; + break; + } + + bitmap_size = pages_to_bitmap_size(order, size); + zone->free_area[order].map = + (unsigned long *) alloc_bootmem_node(pgdat, bitmap_size); + } +} + #ifndef __HAVE_ARCH_MEMMAP_INIT -#define memmap_init(start, size, nid, zone, start_pfn) \ - memmap_init_zone((start), (size), (nid), (zone), (start_pfn)) +#define memmap_init(size, nid, zone, start_pfn) \ + memmap_init_zone((size), (nid), (zone), (start_pfn)) #endif /* @@ -1436,7 +1495,6 @@ static void __init free_area_init_core(struct pglist_data *pgdat, unsigned long i, j; const unsigned long zone_required_alignment = 1UL << (MAX_ORDER-1); int cpu, nid = pgdat->node_id; - struct page *lmem_map = pgdat->node_mem_map; unsigned long zone_start_pfn = pgdat->node_start_pfn; pgdat->nr_zones = 0; @@ -1524,71 +1582,41 @@ static void __init free_area_init_core(struct pglist_data *pgdat, pgdat->nr_zones = j+1; - zone->zone_mem_map = lmem_map; + zone->zone_mem_map = pfn_to_page(zone_start_pfn); zone->zone_start_pfn = zone_start_pfn; if ((zone_start_pfn) & (zone_required_alignment-1)) printk("BUG: wrong zone alignment, it will crash\n"); - memmap_init(lmem_map, size, nid, j, zone_start_pfn); + memmap_init(size, nid, j, zone_start_pfn); zone_start_pfn += size; - lmem_map += size; - - for (i = 0; ; i++) { - unsigned long bitmap_size; - - INIT_LIST_HEAD(&zone->free_area[i].free_list); - if (i == MAX_ORDER-1) { - zone->free_area[i].map = NULL; - break; - } - /* - * Page buddy system uses "index >> (i+1)", - * where "index" is at most "size-1". - * - * The extra "+3" is to round down to byte - * size (8 bits per byte assumption). Thus - * we get "(size-1) >> (i+4)" as the last byte - * we can access. - * - * The "+1" is because we want to round the - * byte allocation up rather than down. So - * we should have had a "+7" before we shifted - * down by three. Also, we have to add one as - * we actually _use_ the last bit (it's [0,n] - * inclusive, not [0,n[). - * - * So we actually had +7+1 before we shift - * down by 3. But (n+8) >> 3 == (n >> 3) + 1 - * (modulo overflows, which we do not have). - * - * Finally, we LONG_ALIGN because all bitmap - * operations are on longs. - */ - bitmap_size = (size-1) >> (i+4); - bitmap_size = LONG_ALIGN(bitmap_size+1); - zone->free_area[i].map = - (unsigned long *) alloc_bootmem_node(pgdat, bitmap_size); - } + zone_init_free_lists(pgdat, zone, zone->spanned_pages); } } -void __init free_area_init_node(int nid, struct pglist_data *pgdat, - struct page *node_mem_map, unsigned long *zones_size, - unsigned long node_start_pfn, unsigned long *zholes_size) +void __init node_alloc_mem_map(struct pglist_data *pgdat) { unsigned long size; + size = (pgdat->node_spanned_pages + 1) * sizeof(struct page); + pgdat->node_mem_map = alloc_bootmem_node(pgdat, size); +#ifndef CONFIG_DISCONTIGMEM + mem_map = contig_page_data.node_mem_map; +#endif +} + +void __init free_area_init_node(int nid, struct pglist_data *pgdat, + unsigned long *zones_size, unsigned long node_start_pfn, + unsigned long *zholes_size) +{ pgdat->node_id = nid; pgdat->node_start_pfn = node_start_pfn; calculate_zone_totalpages(pgdat, zones_size, zholes_size); - if (!node_mem_map) { - size = (pgdat->node_spanned_pages + 1) * sizeof(struct page); - node_mem_map = alloc_bootmem_node(pgdat, size); - } - pgdat->node_mem_map = node_mem_map; + + if (!pfn_to_page(node_start_pfn)) + node_alloc_mem_map(pgdat); free_area_init_core(pgdat, zones_size, zholes_size); } @@ -1601,9 +1629,8 @@ EXPORT_SYMBOL(contig_page_data); void __init free_area_init(unsigned long *zones_size) { - free_area_init_node(0, &contig_page_data, NULL, zones_size, + free_area_init_node(0, &contig_page_data, zones_size, __pa(PAGE_OFFSET) >> PAGE_SHIFT, NULL); - mem_map = contig_page_data.node_mem_map; } #endif @@ -1862,11 +1889,11 @@ static void setup_per_zone_protection(void) * We never protect zones that don't have memory * in them (j>max_zone) or zones that aren't in * the zonelists for a certain type of - * allocation (j>i). We have to assign these to - * zero because the lower zones take + * allocation (j>=i). We have to assign these + * to zero because the lower zones take * contributions from the higher zones. */ - if (j > max_zone || j > i) { + if (j > max_zone || j >= i) { zone->protection[i] = 0; continue; } @@ -1875,7 +1902,6 @@ static void setup_per_zone_protection(void) */ zone->protection[i] = higherzone_val(zone, max_zone, i); - zone->protection[i] += zone->pages_low; } } } @@ -2010,41 +2036,40 @@ void *__init alloc_large_system_hash(const char *tablename, unsigned int *_hash_shift, unsigned int *_hash_mask) { - unsigned long mem, max, log2qty, size; + unsigned long long max; + unsigned long log2qty, size; void *table; - /* round applicable memory size up to nearest megabyte */ - mem = consider_highmem ? nr_all_pages : nr_kernel_pages; - mem += (1UL << (20 - PAGE_SHIFT)) - 1; - mem >>= 20 - PAGE_SHIFT; - mem <<= 20 - PAGE_SHIFT; - - /* limit to 1 bucket per 2^scale bytes of low memory (rounded up to - * nearest power of 2 in size) */ - if (scale > PAGE_SHIFT) - mem >>= (scale - PAGE_SHIFT); - else - mem <<= (PAGE_SHIFT - scale); - - mem = 1UL << (long_log2(mem) + 1); + /* allow the kernel cmdline to have a say */ + if (!numentries) { + /* round applicable memory size up to nearest megabyte */ + numentries = consider_highmem ? nr_all_pages : nr_kernel_pages; + numentries += (1UL << (20 - PAGE_SHIFT)) - 1; + numentries >>= 20 - PAGE_SHIFT; + numentries <<= 20 - PAGE_SHIFT; + + /* limit to 1 bucket per 2^scale bytes of low memory */ + if (scale > PAGE_SHIFT) + numentries >>= (scale - PAGE_SHIFT); + else + numentries <<= (PAGE_SHIFT - scale); + } + /* rounded up to nearest power of 2 in size */ + numentries = 1UL << (long_log2(numentries) + 1); - /* limit allocation size */ - max = (1UL << (PAGE_SHIFT + MAX_SYS_HASH_TABLE_ORDER)) / bucketsize; - if (max > mem) - max = mem; + /* limit allocation size to 1/16 total memory */ + max = ((unsigned long long)nr_all_pages << PAGE_SHIFT) >> 4; + do_div(max, bucketsize); - /* allow the kernel cmdline to have a say */ - if (!numentries || numentries > max) + if (numentries > max) numentries = max; log2qty = long_log2(numentries); do { size = bucketsize << log2qty; - - table = (void *) alloc_bootmem(size); - - } while (!table && size > PAGE_SIZE); + table = alloc_bootmem(size); + } while (!table && size > PAGE_SIZE && --log2qty); if (!table) panic("Failed to allocate %s hash table\n", tablename); diff --git a/mm/pdflush.c b/mm/pdflush.c index 09e62cf1c..1e682bed9 100644 --- a/mm/pdflush.c +++ b/mm/pdflush.c @@ -88,8 +88,6 @@ struct pdflush_work { unsigned long when_i_went_to_sleep; }; -void try_to_clip_inodes(void); - static int __pdflush(struct pdflush_work *my_work) { current->flags |= PF_FLUSHER; @@ -127,8 +125,6 @@ static int __pdflush(struct pdflush_work *my_work) spin_unlock_irq(&pdflush_lock); (*my_work->fn)(my_work->arg0); - - try_to_clip_inodes(); /* * Thread creation: For how long have there been zero diff --git a/mm/readahead.c b/mm/readahead.c index 7073392b3..a5e6906a0 100644 --- a/mm/readahead.c +++ b/mm/readahead.c @@ -28,16 +28,15 @@ struct backing_dev_info default_backing_dev_info = { EXPORT_SYMBOL_GPL(default_backing_dev_info); /* - * Initialise a struct file's readahead state + * Initialise a struct file's readahead state. Assumes that the caller has + * memset *ra to zero. */ void file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping) { - memset(ra, 0, sizeof(*ra)); ra->ra_pages = mapping->backing_dev_info->ra_pages; ra->average = ra->ra_pages / 2; } -EXPORT_SYMBOL(file_ra_state_init); /* * Return max readahead size for this inode in number-of-pages. @@ -384,25 +383,10 @@ page_cache_readahead(struct address_space *mapping, struct file_ra_state *ra, first_access=1; ra->next_size = max / 2; ra->prev_page = offset; - ra->serial_cnt++; + ra->currnt_wnd_hit++; goto do_io; } - if (offset == ra->prev_page + 1) { - if (ra->serial_cnt <= (max * 2)) - ra->serial_cnt++; - } else { - /* - * to avoid rounding errors, ensure that 'average' - * tends towards the value of ra->serial_cnt. - */ - average = ra->average; - if (average < ra->serial_cnt) { - average++; - } - ra->average = (average + ra->serial_cnt) / 2; - ra->serial_cnt = 1; - } ra->prev_page = offset; if (offset >= ra->start && offset <= (ra->start + ra->size)) { @@ -411,12 +395,22 @@ page_cache_readahead(struct address_space *mapping, struct file_ra_state *ra, * page beyond the end. Expand the next readahead size. */ ra->next_size += 2; + + if (ra->currnt_wnd_hit <= (max * 2)) + ra->currnt_wnd_hit++; } else { /* * A miss - lseek, pagefault, pread, etc. Shrink the readahead * window. */ ra->next_size -= 2; + + average = ra->average; + if (average < ra->currnt_wnd_hit) { + average++; + } + ra->average = (average + ra->currnt_wnd_hit) / 2; + ra->currnt_wnd_hit = 1; } if ((long)ra->next_size > (long)max) @@ -469,8 +463,8 @@ do_io: * current window. */ average = ra->average; - if (ra->serial_cnt > average) - average = (ra->serial_cnt + ra->average + 1) / 2; + if (ra->currnt_wnd_hit > average) + average = (ra->currnt_wnd_hit + ra->average + 1) / 2; ra->next_size = min(average , (unsigned long)max); } @@ -505,8 +499,8 @@ do_io: * random. Hence don't bother to readahead. */ average = ra->average; - if (ra->serial_cnt > average) - average = (ra->serial_cnt + ra->average + 1) / 2; + if (ra->currnt_wnd_hit > average) + average = (ra->currnt_wnd_hit + ra->average + 1) / 2; if (average > max) { ra->ahead_start = ra->start + ra->size; @@ -577,6 +571,6 @@ unsigned long max_sane_readahead(unsigned long nr) unsigned long inactive; unsigned long free; - get_zone_counts(&active, &inactive, &free); + __get_zone_counts(&active, &inactive, &free, NODE_DATA(numa_node_id())); return min(nr, (inactive + free) / 2); } diff --git a/mm/rmap.c b/mm/rmap.c index d226b69ae..76a222432 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -18,9 +18,30 @@ */ /* - * Locking: see "Lock ordering" summary in filemap.c. - * In swapout, page_map_lock is held on entry to page_referenced and - * try_to_unmap, so they trylock for i_mmap_lock and page_table_lock. + * Lock ordering in mm: + * + * inode->i_sem (while writing or truncating, not reading or faulting) + * inode->i_alloc_sem + * + * When a page fault occurs in writing from user to file, down_read + * of mmap_sem nests within i_sem; in sys_msync, i_sem nests within + * down_read of mmap_sem; i_sem and down_write of mmap_sem are never + * taken together; in truncation, i_sem is taken outermost. + * + * mm->mmap_sem + * page->flags PG_locked (lock_page) + * mapping->i_mmap_lock + * anon_vma->lock + * mm->page_table_lock + * zone->lru_lock (in mark_page_accessed) + * swap_list_lock (in swap_free etc's swap_info_get) + * swap_device_lock (in swap_duplicate, swap_info_get) + * mapping->private_lock (in __set_page_dirty_buffers) + * inode_lock (in set_page_dirty's __mark_inode_dirty) + * sb_lock (within inode_lock in fs/fs-writeback.c) + * mapping->tree_lock (widely used, in set_page_dirty, + * in arch-dependent flush_dcache_mmap_lock, + * within inode_lock in __sync_single_inode) */ #include @@ -30,7 +51,9 @@ #include #include #include +#include #include +#include #include @@ -64,28 +87,32 @@ int anon_vma_prepare(struct vm_area_struct *vma) might_sleep(); if (unlikely(!anon_vma)) { struct mm_struct *mm = vma->vm_mm; - struct anon_vma *allocated = NULL; + struct anon_vma *allocated, *locked; anon_vma = find_mergeable_anon_vma(vma); - if (!anon_vma) { + if (anon_vma) { + allocated = NULL; + locked = anon_vma; + spin_lock(&locked->lock); + } else { anon_vma = anon_vma_alloc(); if (unlikely(!anon_vma)) return -ENOMEM; allocated = anon_vma; + locked = NULL; } /* page_table_lock to protect against threads */ spin_lock(&mm->page_table_lock); if (likely(!vma->anon_vma)) { - if (!allocated) - spin_lock(&anon_vma->lock); vma->anon_vma = anon_vma; list_add(&vma->anon_vma_node, &anon_vma->head); - if (!allocated) - spin_unlock(&anon_vma->lock); allocated = NULL; } spin_unlock(&mm->page_table_lock); + + if (locked) + spin_unlock(&locked->lock); if (unlikely(allocated)) anon_vma_free(allocated); } @@ -160,16 +187,31 @@ static void anon_vma_ctor(void *data, kmem_cache_t *cachep, unsigned long flags) void __init anon_vma_init(void) { - anon_vma_cachep = kmem_cache_create("anon_vma", - sizeof(struct anon_vma), 0, SLAB_PANIC, anon_vma_ctor, NULL); + anon_vma_cachep = kmem_cache_create("anon_vma", sizeof(struct anon_vma), + 0, SLAB_DESTROY_BY_RCU|SLAB_PANIC, anon_vma_ctor, NULL); } -/* this needs the page->flags PG_maplock held */ -static inline void clear_page_anon(struct page *page) +/* + * Getting a lock on a stable anon_vma from a page off the LRU is + * tricky: page_lock_anon_vma rely on RCU to guard against the races. + */ +static struct anon_vma *page_lock_anon_vma(struct page *page) { - BUG_ON(!page->mapping); - page->mapping = NULL; - ClearPageAnon(page); + struct anon_vma *anon_vma = NULL; + unsigned long anon_mapping; + + rcu_read_lock(); + anon_mapping = (unsigned long) page->mapping; + if (!(anon_mapping & PAGE_MAPPING_ANON)) + goto out; + if (!page_mapped(page)) + goto out; + + anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON); + spin_lock(&anon_vma->lock); +out: + rcu_read_unlock(); + return anon_vma; } /* @@ -190,12 +232,30 @@ vma_address(struct page *page, struct vm_area_struct *vma) return address; } +/* + * At what user virtual address is page expected in vma? checking that the + * page matches the vma: currently only used by unuse_process, on anon pages. + */ +unsigned long page_address_in_vma(struct page *page, struct vm_area_struct *vma) +{ + if (PageAnon(page)) { + if ((void *)vma->anon_vma != + (void *)page->mapping - PAGE_MAPPING_ANON) + return -EFAULT; + } else if (page->mapping && !(vma->vm_flags & VM_NONLINEAR)) { + if (vma->vm_file->f_mapping != page->mapping) + return -EFAULT; + } else + return -EFAULT; + return vma_address(page, vma); +} + /* * Subfunctions of page_referenced: page_referenced_one called * repeatedly from either page_referenced_anon or page_referenced_file. */ static int page_referenced_one(struct page *page, - struct vm_area_struct *vma, unsigned int *mapcount) + struct vm_area_struct *vma, unsigned int *mapcount, int ignore_token) { struct mm_struct *mm = vma->vm_mm; unsigned long address; @@ -210,8 +270,7 @@ static int page_referenced_one(struct page *page, if (address == -EFAULT) goto out; - if (!spin_trylock(&mm->page_table_lock)) - goto out; + spin_lock(&mm->page_table_lock); pgd = pgd_offset(mm, address); if (!pgd_present(*pgd)) @@ -231,7 +290,7 @@ static int page_referenced_one(struct page *page, if (ptep_clear_flush_young(vma, address, pte)) referenced++; - if (mm != current->mm && has_swap_token(mm)) + if (mm != current->mm && !ignore_token && has_swap_token(mm)) referenced++; (*mapcount)--; @@ -244,17 +303,21 @@ out: return referenced; } -static inline int page_referenced_anon(struct page *page) +static int page_referenced_anon(struct page *page, int ignore_token) { - unsigned int mapcount = page->mapcount; - struct anon_vma *anon_vma = (struct anon_vma *) page->mapping; + unsigned int mapcount; + struct anon_vma *anon_vma; struct vm_area_struct *vma; int referenced = 0; - spin_lock(&anon_vma->lock); - BUG_ON(list_empty(&anon_vma->head)); + anon_vma = page_lock_anon_vma(page); + if (!anon_vma) + return referenced; + + mapcount = page_mapcount(page); list_for_each_entry(vma, &anon_vma->head, anon_vma_node) { - referenced += page_referenced_one(page, vma, &mapcount); + referenced += page_referenced_one(page, vma, &mapcount, + ignore_token); if (!mapcount) break; } @@ -272,30 +335,47 @@ static inline int page_referenced_anon(struct page *page) * of references it found. * * This function is only called from page_referenced for object-based pages. - * - * The spinlock address_space->i_mmap_lock is tried. If it can't be gotten, - * assume a reference count of 0, so try_to_unmap will then have a go. */ -static inline int page_referenced_file(struct page *page) +static int page_referenced_file(struct page *page, int ignore_token) { - unsigned int mapcount = page->mapcount; + unsigned int mapcount; struct address_space *mapping = page->mapping; pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); - struct vm_area_struct *vma = NULL; + struct vm_area_struct *vma; struct prio_tree_iter iter; int referenced = 0; - if (!spin_trylock(&mapping->i_mmap_lock)) - return 0; + /* + * The caller's checks on page->mapping and !PageAnon have made + * sure that this is a file page: the check for page->mapping + * excludes the case just before it gets set on an anon page. + */ + BUG_ON(PageAnon(page)); - while ((vma = vma_prio_tree_next(vma, &mapping->i_mmap, - &iter, pgoff, pgoff)) != NULL) { + /* + * The page lock not only makes sure that page->mapping cannot + * suddenly be NULLified by truncation, it makes sure that the + * structure at mapping cannot be freed and reused yet, + * so we can safely take mapping->i_mmap_lock. + */ + BUG_ON(!PageLocked(page)); + + spin_lock(&mapping->i_mmap_lock); + + /* + * i_mmap_lock does not stabilize mapcount at all, but mapcount + * is more likely to be accurate if we note it after spinning. + */ + mapcount = page_mapcount(page); + + vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) { if ((vma->vm_flags & (VM_LOCKED|VM_MAYSHARE)) == (VM_LOCKED|VM_MAYSHARE)) { referenced++; break; } - referenced += page_referenced_one(page, vma, &mapcount); + referenced += page_referenced_one(page, vma, &mapcount, + ignore_token); if (!mapcount) break; } @@ -307,12 +387,12 @@ static inline int page_referenced_file(struct page *page) /** * page_referenced - test if the page was referenced * @page: the page to test + * @is_locked: caller holds lock on the page * * Quick test_and_clear_referenced for all mappings to a page, * returns the number of ptes which referenced the page. - * Caller needs to hold the rmap lock. */ -int page_referenced(struct page *page) +int page_referenced(struct page *page, int is_locked, int ignore_token) { int referenced = 0; @@ -322,11 +402,19 @@ int page_referenced(struct page *page) if (TestClearPageReferenced(page)) referenced++; - if (page->mapcount && page->mapping) { + if (page_mapped(page) && page->mapping) { if (PageAnon(page)) - referenced += page_referenced_anon(page); - else - referenced += page_referenced_file(page); + referenced += page_referenced_anon(page, ignore_token); + else if (is_locked) + referenced += page_referenced_file(page, ignore_token); + else if (TestSetPageLocked(page)) + referenced++; + else { + if (page->mapping) + referenced += page_referenced_file(page, + ignore_token); + unlock_page(page); + } } return referenced; } @@ -348,36 +436,19 @@ void page_add_anon_rmap(struct page *page, BUG_ON(PageReserved(page)); BUG_ON(!anon_vma); + vma->vm_mm->anon_rss++; + + anon_vma = (void *) anon_vma + PAGE_MAPPING_ANON; index = (address - vma->vm_start) >> PAGE_SHIFT; index += vma->vm_pgoff; index >>= PAGE_CACHE_SHIFT - PAGE_SHIFT; - /* - * Setting and clearing PG_anon must always happen inside - * page_map_lock to avoid races between mapping and - * unmapping on different processes of the same - * shared cow swapcache page. And while we take the - * page_map_lock PG_anon cannot change from under us. - * Actually PG_anon cannot change under fork either - * since fork holds a reference on the page so it cannot - * be unmapped under fork and in turn copy_page_range is - * allowed to read PG_anon outside the page_map_lock. - */ - page_map_lock(page); - if (!page->mapcount) { - BUG_ON(PageAnon(page)); - BUG_ON(page->mapping); - SetPageAnon(page); + if (atomic_inc_and_test(&page->_mapcount)) { page->index = index; page->mapping = (struct address_space *) anon_vma; inc_page_state(nr_mapped); - } else { - BUG_ON(!PageAnon(page)); - BUG_ON(page->index != index); - BUG_ON(page->mapping != (struct address_space *) anon_vma); } - page->mapcount++; - page_map_unlock(page); + /* else checking page index and mapping is racy */ } /** @@ -392,11 +463,8 @@ void page_add_file_rmap(struct page *page) if (!pfn_valid(page_to_pfn(page)) || PageReserved(page)) return; - page_map_lock(page); - if (!page->mapcount) + if (atomic_inc_and_test(&page->_mapcount)) inc_page_state(nr_mapped); - page->mapcount++; - page_map_unlock(page); } /** @@ -408,18 +476,22 @@ void page_add_file_rmap(struct page *page) void page_remove_rmap(struct page *page) { BUG_ON(PageReserved(page)); - BUG_ON(!page->mapcount); - page_map_lock(page); - page->mapcount--; - if (!page->mapcount) { + if (atomic_add_negative(-1, &page->_mapcount)) { + BUG_ON(page_mapcount(page) < 0); + /* + * It would be tidy to reset the PageAnon mapping here, + * but that might overwrite a racing page_add_anon_rmap + * which increments mapcount after us but sets mapping + * before us: so leave the reset to free_hot_cold_page, + * and remember that it's only reliable while mapped. + * Leaving it set also helps swapoff to reinstate ptes + * faster for those pages still in swapcache. + */ if (page_test_and_clear_dirty(page)) set_page_dirty(page); - if (PageAnon(page)) - clear_page_anon(page); dec_page_state(nr_mapped); } - page_map_unlock(page); } /* @@ -446,8 +518,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma) * We need the page_table_lock to protect us from page faults, * munmap, fork, etc... */ - if (!spin_trylock(&mm->page_table_lock)) - goto out; + spin_lock(&mm->page_table_lock); pgd = pgd_offset(mm, address); if (!pgd_present(*pgd)) @@ -491,7 +562,7 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma) * ptes from being unmapped, so swapoff can make progress. */ if (PageSwapCache(page) && - page_count(page) != page->mapcount + 2) { + page_count(page) != page_mapcount(page) + 2) { ret = SWAP_FAIL; goto out_unmap; } @@ -514,12 +585,12 @@ static int try_to_unmap_one(struct page *page, struct vm_area_struct *vma) swap_duplicate(entry); set_pte(pte, swp_entry_to_pte(entry)); BUG_ON(pte_file(*pte)); + mm->anon_rss--; } // mm->rss--; vx_rsspages_dec(mm); - BUG_ON(!page->mapcount); - page->mapcount--; + page_remove_rmap(page); page_cache_release(page); out_unmap: @@ -552,7 +623,7 @@ out: #define CLUSTER_SIZE min(32*PAGE_SIZE, PMD_SIZE) #define CLUSTER_MASK (~(CLUSTER_SIZE - 1)) -static int try_to_unmap_cluster(unsigned long cursor, +static void try_to_unmap_cluster(unsigned long cursor, unsigned int *mapcount, struct vm_area_struct *vma) { struct mm_struct *mm = vma->vm_mm; @@ -569,8 +640,7 @@ static int try_to_unmap_cluster(unsigned long cursor, * We need the page_table_lock to protect us from page faults, * munmap, fork, etc... */ - if (!spin_trylock(&mm->page_table_lock)) - return SWAP_FAIL; + spin_lock(&mm->page_table_lock); address = (vma->vm_start + cursor) & CLUSTER_MASK; end = address + CLUSTER_SIZE; @@ -628,20 +698,21 @@ static int try_to_unmap_cluster(unsigned long cursor, out_unlock: spin_unlock(&mm->page_table_lock); - return SWAP_AGAIN; } -static inline int try_to_unmap_anon(struct page *page) +static int try_to_unmap_anon(struct page *page) { - struct anon_vma *anon_vma = (struct anon_vma *) page->mapping; + struct anon_vma *anon_vma; struct vm_area_struct *vma; int ret = SWAP_AGAIN; - spin_lock(&anon_vma->lock); - BUG_ON(list_empty(&anon_vma->head)); + anon_vma = page_lock_anon_vma(page); + if (!anon_vma) + return ret; + list_for_each_entry(vma, &anon_vma->head, anon_vma_node) { ret = try_to_unmap_one(page, vma); - if (ret == SWAP_FAIL || !page->mapcount) + if (ret == SWAP_FAIL || !page_mapped(page)) break; } spin_unlock(&anon_vma->lock); @@ -656,15 +727,12 @@ static inline int try_to_unmap_anon(struct page *page) * contained in the address_space struct it points to. * * This function is only called from try_to_unmap for object-based pages. - * - * The spinlock address_space->i_mmap_lock is tried. If it can't be gotten, - * return a temporary error. */ -static inline int try_to_unmap_file(struct page *page) +static int try_to_unmap_file(struct page *page) { struct address_space *mapping = page->mapping; pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); - struct vm_area_struct *vma = NULL; + struct vm_area_struct *vma; struct prio_tree_iter iter; int ret = SWAP_AGAIN; unsigned long cursor; @@ -672,13 +740,10 @@ static inline int try_to_unmap_file(struct page *page) unsigned long max_nl_size = 0; unsigned int mapcount; - if (!spin_trylock(&mapping->i_mmap_lock)) - return ret; - - while ((vma = vma_prio_tree_next(vma, &mapping->i_mmap, - &iter, pgoff, pgoff)) != NULL) { + spin_lock(&mapping->i_mmap_lock); + vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) { ret = try_to_unmap_one(page, vma); - if (ret == SWAP_FAIL || !page->mapcount) + if (ret == SWAP_FAIL || !page_mapped(page)) goto out; } @@ -697,8 +762,10 @@ static inline int try_to_unmap_file(struct page *page) max_nl_size = cursor; } - if (max_nl_size == 0) /* any nonlinears locked or reserved */ + if (max_nl_size == 0) { /* any nonlinears locked or reserved */ + ret = SWAP_FAIL; goto out; + } /* * We don't try to search for this page in the nonlinear vmas, @@ -707,8 +774,9 @@ static inline int try_to_unmap_file(struct page *page) * The mapcount of the page we came in with is irrelevant, * but even so use it as a guide to how hard we should try? */ - mapcount = page->mapcount; - page_map_unlock(page); + mapcount = page_mapcount(page); + if (!mapcount) + goto out; cond_resched_lock(&mapping->i_mmap_lock); max_nl_size = (max_nl_size + CLUSTER_SIZE - 1) & CLUSTER_MASK; @@ -724,19 +792,13 @@ static inline int try_to_unmap_file(struct page *page) while (vma->vm_mm->rss && cursor < max_nl_cursor && cursor < vma->vm_end - vma->vm_start) { - ret = try_to_unmap_cluster( - cursor, &mapcount, vma); - if (ret == SWAP_FAIL) - break; + try_to_unmap_cluster(cursor, &mapcount, vma); cursor += CLUSTER_SIZE; vma->vm_private_data = (void *) cursor; if ((int)mapcount <= 0) - goto relock; + goto out; } - if (ret != SWAP_FAIL) - vma->vm_private_data = - (void *) max_nl_cursor; - ret = SWAP_AGAIN; + vma->vm_private_data = (void *) max_nl_cursor; } cond_resched_lock(&mapping->i_mmap_lock); max_nl_cursor += CLUSTER_SIZE; @@ -752,8 +814,6 @@ static inline int try_to_unmap_file(struct page *page) if (!(vma->vm_flags & VM_RESERVED)) vma->vm_private_data = NULL; } -relock: - page_map_lock(page); out: spin_unlock(&mapping->i_mmap_lock); return ret; @@ -764,11 +824,11 @@ out: * @page: the page to get unmapped * * Tries to remove all the page table entries which are mapping this - * page, used in the pageout path. Caller must hold the page lock - * and its rmap lock. Return values are: + * page, used in the pageout path. Caller must hold the page lock. + * Return values are: * * SWAP_SUCCESS - we succeeded in removing all mappings - * SWAP_AGAIN - we missed a trylock, try again later + * SWAP_AGAIN - we missed a mapping, try again later * SWAP_FAIL - the page is unswappable */ int try_to_unmap(struct page *page) @@ -777,20 +837,13 @@ int try_to_unmap(struct page *page) BUG_ON(PageReserved(page)); BUG_ON(!PageLocked(page)); - BUG_ON(!page->mapcount); if (PageAnon(page)) ret = try_to_unmap_anon(page); else ret = try_to_unmap_file(page); - if (!page->mapcount) { - if (page_test_and_clear_dirty(page)) - set_page_dirty(page); - if (PageAnon(page)) - clear_page_anon(page); - dec_page_state(nr_mapped); + if (!page_mapped(page)) ret = SWAP_SUCCESS; - } return ret; } diff --git a/mm/shmem.c b/mm/shmem.c index 74596a4c6..08951d209 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -6,10 +6,14 @@ * 2000-2001 Christoph Rohland * 2000-2001 SAP AG * 2002 Red Hat Inc. - * Copyright (C) 2002-2003 Hugh Dickins. - * Copyright (C) 2002-2003 VERITAS Software Corporation. + * Copyright (C) 2002-2004 Hugh Dickins. + * Copyright (C) 2002-2004 VERITAS Software Corporation. * Copyright (C) 2004 Andi Kleen, SuSE Labs * + * Extended attribute support for tmpfs: + * Copyright (c) 2004, Luke Kenneth Casson Leighton + * Copyright (c) 2004 Red Hat, Inc., James Morris + * * This file is released under the GPL. */ @@ -41,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -170,6 +175,7 @@ static struct address_space_operations shmem_aops; static struct file_operations shmem_file_operations; static struct inode_operations shmem_inode_operations; static struct inode_operations shmem_dir_inode_operations; +static struct inode_operations shmem_special_inode_operations; static struct vm_operations_struct shmem_vm_ops; static struct backing_dev_info shmem_backing_dev_info = { @@ -178,16 +184,18 @@ static struct backing_dev_info shmem_backing_dev_info = { .unplug_io_fn = default_unplug_io_fn, }; -LIST_HEAD(shmem_inodes); -static spinlock_t shmem_ilock = SPIN_LOCK_UNLOCKED; +static LIST_HEAD(shmem_swaplist); +static spinlock_t shmem_swaplist_lock = SPIN_LOCK_UNLOCKED; static void shmem_free_block(struct inode *inode) { struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); - spin_lock(&sbinfo->stat_lock); - sbinfo->free_blocks++; - inode->i_blocks -= BLOCKS_PER_PAGE; - spin_unlock(&sbinfo->stat_lock); + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + sbinfo->free_blocks++; + inode->i_blocks -= BLOCKS_PER_PAGE; + spin_unlock(&sbinfo->stat_lock); + } } /* @@ -212,11 +220,13 @@ static void shmem_recalc_inode(struct inode *inode) if (freed > 0) { struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); info->alloced -= freed; - spin_lock(&sbinfo->stat_lock); - sbinfo->free_blocks += freed; - inode->i_blocks -= freed*BLOCKS_PER_PAGE; - spin_unlock(&sbinfo->stat_lock); shmem_unacct_blocks(info->flags, freed); + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + sbinfo->free_blocks += freed; + inode->i_blocks -= freed*BLOCKS_PER_PAGE; + spin_unlock(&sbinfo->stat_lock); + } } } @@ -349,14 +359,16 @@ static swp_entry_t *shmem_swp_alloc(struct shmem_inode_info *info, unsigned long * page (and perhaps indirect index pages) yet to allocate: * a waste to allocate index if we cannot allocate data. */ - spin_lock(&sbinfo->stat_lock); - if (sbinfo->free_blocks <= 1) { + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + if (sbinfo->free_blocks <= 1) { + spin_unlock(&sbinfo->stat_lock); + return ERR_PTR(-ENOSPC); + } + sbinfo->free_blocks--; + inode->i_blocks += BLOCKS_PER_PAGE; spin_unlock(&sbinfo->stat_lock); - return ERR_PTR(-ENOSPC); } - sbinfo->free_blocks--; - inode->i_blocks += BLOCKS_PER_PAGE; - spin_unlock(&sbinfo->stat_lock); spin_unlock(&info->lock); page = shmem_dir_alloc(mapping_gfp_mask(inode->i_mapping)); @@ -597,17 +609,21 @@ static void shmem_delete_inode(struct inode *inode) struct shmem_inode_info *info = SHMEM_I(inode); if (inode->i_op->truncate == shmem_truncate) { - spin_lock(&shmem_ilock); - list_del(&info->list); - spin_unlock(&shmem_ilock); shmem_unacct_size(info->flags, inode->i_size); inode->i_size = 0; shmem_truncate(inode); + if (!list_empty(&info->swaplist)) { + spin_lock(&shmem_swaplist_lock); + list_del_init(&info->swaplist); + spin_unlock(&shmem_swaplist_lock); + } + } + if (sbinfo) { + BUG_ON(inode->i_blocks); + spin_lock(&sbinfo->stat_lock); + sbinfo->free_inodes++; + spin_unlock(&sbinfo->stat_lock); } - BUG_ON(inode->i_blocks); - spin_lock(&sbinfo->stat_lock); - sbinfo->free_inodes++; - spin_unlock(&sbinfo->stat_lock); clear_inode(inode); } @@ -712,22 +728,23 @@ found: */ int shmem_unuse(swp_entry_t entry, struct page *page) { - struct list_head *p; + struct list_head *p, *next; struct shmem_inode_info *info; int found = 0; - spin_lock(&shmem_ilock); - list_for_each(p, &shmem_inodes) { - info = list_entry(p, struct shmem_inode_info, list); - - if (info->swapped && shmem_unuse_inode(info, entry, page)) { + spin_lock(&shmem_swaplist_lock); + list_for_each_safe(p, next, &shmem_swaplist) { + info = list_entry(p, struct shmem_inode_info, swaplist); + if (!info->swapped) + list_del_init(&info->swaplist); + else if (shmem_unuse_inode(info, entry, page)) { /* move head to start search for next from here */ - list_move_tail(&shmem_inodes, &info->list); + list_move_tail(&shmem_swaplist, &info->swaplist); found = 1; break; } } - spin_unlock(&shmem_ilock); + spin_unlock(&shmem_swaplist_lock); return found; } @@ -769,6 +786,12 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc) shmem_swp_set(info, entry, swap.val); shmem_swp_unmap(entry); spin_unlock(&info->lock); + if (list_empty(&info->swaplist)) { + spin_lock(&shmem_swaplist_lock); + /* move instead of add in case we're racing */ + list_move_tail(&info->swaplist, &shmem_swaplist); + spin_unlock(&shmem_swaplist_lock); + } unlock_page(page); return 0; } @@ -867,7 +890,7 @@ static int shmem_getpage(struct inode *inode, unsigned long idx, struct page *swappage; swp_entry_t *entry; swp_entry_t swap; - int error, majmin = VM_FAULT_MINOR; + int error; if (idx >= SHMEM_MAX_INDEX) return -EFBIG; @@ -905,9 +928,10 @@ repeat: shmem_swp_unmap(entry); spin_unlock(&info->lock); /* here we actually do the io */ - if (majmin == VM_FAULT_MINOR && type) + if (type && *type == VM_FAULT_MINOR) { inc_page_state(pgmajfault); - majmin = VM_FAULT_MAJOR; + *type = VM_FAULT_MAJOR; + } swappage = shmem_swapin(info, swap, idx); if (!swappage) { spin_lock(&info->lock); @@ -1000,16 +1024,23 @@ repeat: } else { shmem_swp_unmap(entry); sbinfo = SHMEM_SB(inode->i_sb); - spin_lock(&sbinfo->stat_lock); - if (sbinfo->free_blocks == 0 || shmem_acct_block(info->flags)) { + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + if (sbinfo->free_blocks == 0 || + shmem_acct_block(info->flags)) { + spin_unlock(&sbinfo->stat_lock); + spin_unlock(&info->lock); + error = -ENOSPC; + goto failed; + } + sbinfo->free_blocks--; + inode->i_blocks += BLOCKS_PER_PAGE; spin_unlock(&sbinfo->stat_lock); + } else if (shmem_acct_block(info->flags)) { spin_unlock(&info->lock); error = -ENOSPC; goto failed; } - sbinfo->free_blocks--; - inode->i_blocks += BLOCKS_PER_PAGE; - spin_unlock(&sbinfo->stat_lock); if (!filepage) { spin_unlock(&info->lock); @@ -1052,15 +1083,10 @@ repeat: SetPageUptodate(filepage); } done: - if (!*pagep) { - if (filepage) { - unlock_page(filepage); - *pagep = filepage; - } else - *pagep = ZERO_PAGE(0); + if (*pagep != filepage) { + unlock_page(filepage); + *pagep = filepage; } - if (type) - *type = majmin; return 0; failed: @@ -1186,13 +1212,15 @@ shmem_get_inode(struct super_block *sb, int mode, dev_t dev) struct shmem_inode_info *info; struct shmem_sb_info *sbinfo = SHMEM_SB(sb); - spin_lock(&sbinfo->stat_lock); - if (!sbinfo->free_inodes) { + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + if (!sbinfo->free_inodes) { + spin_unlock(&sbinfo->stat_lock); + return NULL; + } + sbinfo->free_inodes--; spin_unlock(&sbinfo->stat_lock); - return NULL; } - sbinfo->free_inodes--; - spin_unlock(&sbinfo->stat_lock); inode = new_inode(sb); if (inode) { @@ -1208,16 +1236,16 @@ shmem_get_inode(struct super_block *sb, int mode, dev_t dev) memset(info, 0, (char *)inode - (char *)info); spin_lock_init(&info->lock); mpol_shared_policy_init(&info->policy); + INIT_LIST_HEAD(&info->swaplist); + switch (mode & S_IFMT) { default: + inode->i_op = &shmem_special_inode_operations; init_special_inode(inode, mode, dev); break; case S_IFREG: inode->i_op = &shmem_inode_operations; inode->i_fop = &shmem_file_operations; - spin_lock(&shmem_ilock); - list_add_tail(&info->list, &shmem_inodes); - spin_unlock(&shmem_ilock); break; case S_IFDIR: inode->i_nlink++; @@ -1229,36 +1257,40 @@ shmem_get_inode(struct super_block *sb, int mode, dev_t dev) case S_IFLNK: break; } + } else if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + sbinfo->free_inodes++; + spin_unlock(&sbinfo->stat_lock); } return inode; } -static int shmem_set_size(struct shmem_sb_info *info, +#ifdef CONFIG_TMPFS + +static int shmem_set_size(struct shmem_sb_info *sbinfo, unsigned long max_blocks, unsigned long max_inodes) { int error; unsigned long blocks, inodes; - spin_lock(&info->stat_lock); - blocks = info->max_blocks - info->free_blocks; - inodes = info->max_inodes - info->free_inodes; + spin_lock(&sbinfo->stat_lock); + blocks = sbinfo->max_blocks - sbinfo->free_blocks; + inodes = sbinfo->max_inodes - sbinfo->free_inodes; error = -EINVAL; if (max_blocks < blocks) goto out; if (max_inodes < inodes) goto out; error = 0; - info->max_blocks = max_blocks; - info->free_blocks = max_blocks - blocks; - info->max_inodes = max_inodes; - info->free_inodes = max_inodes - inodes; + sbinfo->max_blocks = max_blocks; + sbinfo->free_blocks = max_blocks - blocks; + sbinfo->max_inodes = max_inodes; + sbinfo->free_inodes = max_inodes - inodes; out: - spin_unlock(&info->stat_lock); + spin_unlock(&sbinfo->stat_lock); return error; } -#ifdef CONFIG_TMPFS - static struct inode_operations shmem_symlink_inode_operations; static struct inode_operations shmem_symlink_inline_operations; @@ -1279,7 +1311,7 @@ shmem_file_write(struct file *file, const char __user *buf, size_t count, loff_t struct inode *inode = file->f_dentry->d_inode; loff_t pos; unsigned long written; - int err; + ssize_t err; if ((ssize_t) count < 0) return -EINVAL; @@ -1331,7 +1363,8 @@ shmem_file_write(struct file *file, const char __user *buf, size_t count, loff_t __get_user(dummy, buf + bytes - 1); kaddr = kmap_atomic(page, KM_USER0); - left = __copy_from_user(kaddr + offset, buf, bytes); + left = __copy_from_user_inatomic(kaddr + offset, + buf, bytes); kunmap_atomic(kaddr, KM_USER0); } if (left) { @@ -1415,13 +1448,14 @@ static void do_shmem_file_read(struct file *filp, loff_t *ppos, read_descriptor_ if (index == end_index) { nr = i_size & ~PAGE_CACHE_MASK; if (nr <= offset) { - page_cache_release(page); + if (page) + page_cache_release(page); break; } } nr -= offset; - if (page != ZERO_PAGE(0)) { + if (page) { /* * If users can be writing to this page using arbitrary * virtual addresses, take care about potential aliasing @@ -1434,7 +1468,8 @@ static void do_shmem_file_read(struct file *filp, loff_t *ppos, read_descriptor_ */ if (!offset) mark_page_accessed(page); - } + } else + page = ZERO_PAGE(0); /* * Ok, we have the page, and it's up-to-date, so @@ -1509,13 +1544,16 @@ static int shmem_statfs(struct super_block *sb, struct kstatfs *buf) buf->f_type = TMPFS_SUPER_MAGIC; buf->f_bsize = PAGE_CACHE_SIZE; - spin_lock(&sbinfo->stat_lock); - buf->f_blocks = sbinfo->max_blocks; - buf->f_bavail = buf->f_bfree = sbinfo->free_blocks; - buf->f_files = sbinfo->max_inodes; - buf->f_ffree = sbinfo->free_inodes; - spin_unlock(&sbinfo->stat_lock); buf->f_namelen = NAME_MAX; + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + buf->f_blocks = sbinfo->max_blocks; + buf->f_bavail = buf->f_bfree = sbinfo->free_blocks; + buf->f_files = sbinfo->max_inodes; + buf->f_ffree = sbinfo->free_inodes; + spin_unlock(&sbinfo->stat_lock); + } + /* else leave those fields 0 like simple_statfs */ return 0; } @@ -1565,6 +1603,22 @@ static int shmem_create(struct inode *dir, struct dentry *dentry, int mode, static int shmem_link(struct dentry *old_dentry, struct inode *dir, struct dentry *dentry) { struct inode *inode = old_dentry->d_inode; + struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + + /* + * No ordinary (disk based) filesystem counts links as inodes; + * but each new link needs a new dentry, pinning lowmem, and + * tmpfs dentries cannot be pruned until they are unlinked. + */ + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + if (!sbinfo->free_inodes) { + spin_unlock(&sbinfo->stat_lock); + return -ENOSPC; + } + sbinfo->free_inodes--; + spin_unlock(&sbinfo->stat_lock); + } dir->i_size += BOGO_DIRENT_SIZE; inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; @@ -1579,6 +1633,15 @@ static int shmem_unlink(struct inode *dir, struct dentry *dentry) { struct inode *inode = dentry->d_inode; + if (inode->i_nlink > 1 && !S_ISDIR(inode->i_mode)) { + struct shmem_sb_info *sbinfo = SHMEM_SB(inode->i_sb); + if (sbinfo) { + spin_lock(&sbinfo->stat_lock); + sbinfo->free_inodes++; + spin_unlock(&sbinfo->stat_lock); + } + } + dir->i_size -= BOGO_DIRENT_SIZE; inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME; inode->i_nlink--; @@ -1656,9 +1719,6 @@ static int shmem_symlink(struct inode *dir, struct dentry *dentry, const char *s return error; } inode->i_op = &shmem_symlink_inode_operations; - spin_lock(&shmem_ilock); - list_add_tail(&info->list, &shmem_inodes); - spin_unlock(&shmem_ilock); kaddr = kmap_atomic(page, KM_USER0); memcpy(kaddr, symname, len); kunmap_atomic(kaddr, KM_USER0); @@ -1706,6 +1766,12 @@ static void shmem_put_link(struct dentry *dentry, struct nameidata *nd) static struct inode_operations shmem_symlink_inline_operations = { .readlink = generic_readlink, .follow_link = shmem_follow_link_inline, +#ifdef CONFIG_TMPFS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .listxattr = generic_listxattr, + .removexattr = generic_removexattr, +#endif }; static struct inode_operations shmem_symlink_inode_operations = { @@ -1713,6 +1779,12 @@ static struct inode_operations shmem_symlink_inode_operations = { .readlink = generic_readlink, .follow_link = shmem_follow_link, .put_link = shmem_put_link, +#ifdef CONFIG_TMPFS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .listxattr = generic_listxattr, + .removexattr = generic_removexattr, +#endif }; static int shmem_parse_options(char *options, int *mode, uid_t *uid, gid_t *gid, unsigned long *blocks, unsigned long *inodes) @@ -1787,53 +1859,82 @@ bad_val: static int shmem_remount_fs(struct super_block *sb, int *flags, char *data) { struct shmem_sb_info *sbinfo = SHMEM_SB(sb); - unsigned long max_blocks = sbinfo->max_blocks; - unsigned long max_inodes = sbinfo->max_inodes; + unsigned long max_blocks = 0; + unsigned long max_inodes = 0; + if (sbinfo) { + max_blocks = sbinfo->max_blocks; + max_inodes = sbinfo->max_inodes; + } if (shmem_parse_options(data, NULL, NULL, NULL, &max_blocks, &max_inodes)) return -EINVAL; + /* Keep it simple: disallow limited <-> unlimited remount */ + if ((max_blocks || max_inodes) == !sbinfo) + return -EINVAL; + /* But allow the pointless unlimited -> unlimited remount */ + if (!sbinfo) + return 0; return shmem_set_size(sbinfo, max_blocks, max_inodes); } #endif +static void shmem_put_super(struct super_block *sb) +{ + kfree(sb->s_fs_info); + sb->s_fs_info = NULL; +} + +#ifdef CONFIG_TMPFS_XATTR +static struct xattr_handler *shmem_xattr_handlers[]; +#else +#define shmem_xattr_handlers NULL +#endif + static int shmem_fill_super(struct super_block *sb, void *data, int silent) { struct inode *inode; struct dentry *root; - unsigned long blocks, inodes; int mode = S_IRWXUGO | S_ISVTX; uid_t uid = current->fsuid; gid_t gid = current->fsgid; - struct shmem_sb_info *sbinfo; int err = -ENOMEM; - sbinfo = kmalloc(sizeof(struct shmem_sb_info), GFP_KERNEL); - if (!sbinfo) - return -ENOMEM; - sb->s_fs_info = sbinfo; - memset(sbinfo, 0, sizeof(struct shmem_sb_info)); +#ifdef CONFIG_TMPFS + unsigned long blocks = 0; + unsigned long inodes = 0; /* * Per default we only allow half of the physical ram per - * tmpfs instance + * tmpfs instance, limiting inodes to one per page of lowmem; + * but the internal instance is left unlimited. */ - blocks = inodes = totalram_pages / 2; + if (!(sb->s_flags & MS_NOUSER)) { + blocks = totalram_pages / 2; + inodes = totalram_pages - totalhigh_pages; + if (inodes > blocks) + inodes = blocks; + + if (shmem_parse_options(data, &mode, + &uid, &gid, &blocks, &inodes)) + return -EINVAL; + } -#ifdef CONFIG_TMPFS - if (shmem_parse_options(data, &mode, &uid, &gid, &blocks, &inodes)) { - err = -EINVAL; - goto failed; + if (blocks || inodes) { + struct shmem_sb_info *sbinfo; + sbinfo = kmalloc(sizeof(struct shmem_sb_info), GFP_KERNEL); + if (!sbinfo) + return -ENOMEM; + sb->s_fs_info = sbinfo; + spin_lock_init(&sbinfo->stat_lock); + sbinfo->max_blocks = blocks; + sbinfo->free_blocks = blocks; + sbinfo->max_inodes = inodes; + sbinfo->free_inodes = inodes; } -#else - sb->s_flags |= MS_NOUSER; + sb->s_xattr = shmem_xattr_handlers; #endif - spin_lock_init(&sbinfo->stat_lock); - sbinfo->max_blocks = blocks; - sbinfo->free_blocks = blocks; - sbinfo->max_inodes = inodes; - sbinfo->free_inodes = inodes; sb->s_maxbytes = SHMEM_MAX_BYTES; sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize_bits = PAGE_CACHE_SHIFT; @@ -1853,17 +1954,10 @@ static int shmem_fill_super(struct super_block *sb, failed_iput: iput(inode); failed: - kfree(sbinfo); - sb->s_fs_info = NULL; + shmem_put_super(sb); return err; } -static void shmem_put_super(struct super_block *sb) -{ - kfree(sb->s_fs_info); - sb->s_fs_info = NULL; -} - static kmem_cache_t *shmem_inode_cachep; static struct inode *shmem_alloc_inode(struct super_block *sb) @@ -1895,8 +1989,7 @@ static int init_inodecache(void) { shmem_inode_cachep = kmem_cache_create("shmem_inode_cache", sizeof(struct shmem_inode_info), - 0, SLAB_HWCACHE_ALIGN|SLAB_RECLAIM_ACCOUNT, - init_once, NULL); + 0, 0, init_once, NULL); if (shmem_inode_cachep == NULL) return -ENOMEM; return 0; @@ -1931,6 +2024,12 @@ static struct file_operations shmem_file_operations = { static struct inode_operations shmem_inode_operations = { .truncate = shmem_truncate, .setattr = shmem_notify_change, +#ifdef CONFIG_TMPFS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .listxattr = generic_listxattr, + .removexattr = generic_removexattr, +#endif }; static struct inode_operations shmem_dir_inode_operations = { @@ -1944,6 +2043,21 @@ static struct inode_operations shmem_dir_inode_operations = { .rmdir = shmem_rmdir, .mknod = shmem_mknod, .rename = shmem_rename, +#ifdef CONFIG_TMPFS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .listxattr = generic_listxattr, + .removexattr = generic_removexattr, +#endif +#endif +}; + +static struct inode_operations shmem_special_inode_operations = { +#ifdef CONFIG_TMPFS_XATTR + .setxattr = generic_setxattr, + .getxattr = generic_getxattr, + .listxattr = generic_listxattr, + .removexattr = generic_removexattr, #endif }; @@ -1968,6 +2082,49 @@ static struct vm_operations_struct shmem_vm_ops = { #endif }; + +#ifdef CONFIG_TMPFS_SECURITY + +static size_t shmem_xattr_security_list(struct inode *inode, char *list, size_t list_len, + const char *name, size_t name_len) +{ + return security_inode_listsecurity(inode, list, list_len); +} + +static int shmem_xattr_security_get(struct inode *inode, const char *name, void *buffer, size_t size) +{ + if (strcmp(name, "") == 0) + return -EINVAL; + return security_inode_getsecurity(inode, name, buffer, size); +} + +static int shmem_xattr_security_set(struct inode *inode, const char *name, const void *value, size_t size, int flags) +{ + if (strcmp(name, "") == 0) + return -EINVAL; + return security_inode_setsecurity(inode, name, value, size, flags); +} + +struct xattr_handler shmem_xattr_security_handler = { + .prefix = XATTR_SECURITY_PREFIX, + .list = shmem_xattr_security_list, + .get = shmem_xattr_security_get, + .set = shmem_xattr_security_set, +}; + +#endif /* CONFIG_TMPFS_SECURITY */ + +#ifdef CONFIG_TMPFS_XATTR + +static struct xattr_handler *shmem_xattr_handlers[] = { +#ifdef CONFIG_TMPFS_SECURITY + &shmem_xattr_security_handler, +#endif + NULL +}; + +#endif /* CONFIG_TMPFS_XATTR */ + static struct super_block *shmem_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { @@ -1998,15 +2155,13 @@ static int __init init_tmpfs(void) #ifdef CONFIG_TMPFS devfs_mk_dir("shm"); #endif - shm_mnt = kern_mount(&tmpfs_fs_type); + shm_mnt = do_kern_mount(tmpfs_fs_type.name, MS_NOUSER, + tmpfs_fs_type.name, NULL); if (IS_ERR(shm_mnt)) { error = PTR_ERR(shm_mnt); printk(KERN_ERR "Could not kern_mount tmpfs\n"); goto out1; } - - /* The internal instance should not do size checking */ - shmem_set_size(SHMEM_SB(shm_mnt->mnt_sb), ULONG_MAX, ULONG_MAX); return 0; out1: @@ -2037,7 +2192,7 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags) if (IS_ERR(shm_mnt)) return (void *)shm_mnt; - if (size > SHMEM_MAX_BYTES) + if (size < 0 || size > SHMEM_MAX_BYTES) return ERR_PTR(-EINVAL); if (shmem_acct_size(flags, size)) @@ -2071,7 +2226,7 @@ struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags) file->f_mapping = inode->i_mapping; file->f_op = &shmem_file_operations; file->f_mode = FMODE_WRITE | FMODE_READ; - return(file); + return file; close_file: put_filp(file); @@ -2102,5 +2257,3 @@ int shmem_zero_setup(struct vm_area_struct *vma) vma->vm_ops = &shmem_vm_ops; return 0; } - -EXPORT_SYMBOL(shmem_file_setup); diff --git a/mm/slab.c b/mm/slab.c index 64485ab8a..ebb8eaa63 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -91,10 +91,12 @@ #include #include #include +#include #include #include #include +#include /* * DEBUG - 1 for kmem_cache_create() to honour; SLAB_DEBUG_INITIAL, @@ -139,11 +141,13 @@ SLAB_POISON | SLAB_HWCACHE_ALIGN | \ SLAB_NO_REAP | SLAB_CACHE_DMA | \ SLAB_MUST_HWCACHE_ALIGN | SLAB_STORE_USER | \ - SLAB_RECLAIM_ACCOUNT | SLAB_PANIC) + SLAB_RECLAIM_ACCOUNT | SLAB_PANIC | \ + SLAB_DESTROY_BY_RCU) #else # define CREATE_MASK (SLAB_HWCACHE_ALIGN | SLAB_NO_REAP | \ SLAB_CACHE_DMA | SLAB_MUST_HWCACHE_ALIGN | \ - SLAB_RECLAIM_ACCOUNT | SLAB_PANIC) + SLAB_RECLAIM_ACCOUNT | SLAB_PANIC | \ + SLAB_DESTROY_BY_RCU) #endif /* @@ -189,6 +193,28 @@ struct slab { kmem_bufctl_t free; }; +/* + * struct slab_rcu + * + * slab_destroy on a SLAB_DESTROY_BY_RCU cache uses this structure to + * arrange for kmem_freepages to be called via RCU. This is useful if + * we need to approach a kernel structure obliquely, from its address + * obtained without the usual locking. We can lock the structure to + * stabilize it and check it's still at the given address, only if we + * can be sure that the memory has not been meanwhile reused for some + * other kind of object (which our subsystem's lock might corrupt). + * + * rcu_read_lock before reading the address, then rcu_read_unlock after + * taking the spinlock within the structure expected at that address. + * + * We assume struct slab_rcu can overlay struct slab when destroying. + */ +struct slab_rcu { + struct rcu_head head; + kmem_cache_t *cachep; + void *addr; +}; + /* * struct array_cache * @@ -478,8 +504,10 @@ static struct cache_names __initdata cache_names[] = { #undef CACHE }; -struct arraycache_init initarray_cache __initdata = { { 0, BOOT_CPUCACHE_ENTRIES, 1, 0} }; -struct arraycache_init initarray_generic __initdata = { { 0, BOOT_CPUCACHE_ENTRIES, 1, 0} }; +static struct arraycache_init initarray_cache __initdata = + { { 0, BOOT_CPUCACHE_ENTRIES, 1, 0} }; +static struct arraycache_init initarray_generic = + { { 0, BOOT_CPUCACHE_ENTRIES, 1, 0} }; /* internal cache of cache description objs */ static kmem_cache_t cache_cache = { @@ -497,8 +525,7 @@ static kmem_cache_t cache_cache = { /* Guard access to the cache-chain. */ static struct semaphore cache_chain_sem; - -struct list_head cache_chain; +static struct list_head cache_chain; /* * vm_enough_memory() looks at this to determine how many @@ -513,17 +540,17 @@ EXPORT_SYMBOL(slab_reclaim_pages); * chicken and egg problem: delay the per-cpu array allocation * until the general caches are up. */ -enum { +static enum { NONE, PARTIAL, FULL } g_cpucache_up; -static DEFINE_PER_CPU(struct timer_list, reap_timers); +static DEFINE_PER_CPU(struct work_struct, reap_work); -static void reap_timer_fnc(unsigned long data); static void free_block(kmem_cache_t* cachep, void** objpp, int len); static void enable_cpucache (kmem_cache_t *cachep); +static void cache_reap (void *unused); static inline void ** ac_entry(struct array_cache *ac) { @@ -535,6 +562,22 @@ static inline struct array_cache *ac_data(kmem_cache_t *cachep) return cachep->array[smp_processor_id()]; } +static kmem_cache_t * kmem_find_general_cachep (size_t size, int gfpflags) +{ + struct cache_sizes *csizep = malloc_sizes; + + /* This function could be moved to the header file, and + * made inline so consumers can quickly determine what + * cache pointer they require. + */ + for ( ; csizep->cs_size; csizep++) { + if (size > csizep->cs_size) + continue; + break; + } + return (gfpflags & GFP_DMA) ? csizep->cs_dmacachep : csizep->cs_cachep; +} + /* Cal the num objs, wastage, and bytes left over for a given slab size. */ static void cache_estimate (unsigned long gfporder, size_t size, size_t align, int flags, size_t *left_over, unsigned int *num) @@ -573,35 +616,26 @@ static void __slab_error(const char *function, kmem_cache_t *cachep, char *msg) } /* - * Start the reap timer running on the target CPU. We run at around 1 to 2Hz. - * Add the CPU number into the expiry time to minimize the possibility of the - * CPUs getting into lockstep and contending for the global cache chain lock. + * Initiate the reap timer running on the target CPU. We run at around 1 to 2Hz + * via the workqueue/eventd. + * Add the CPU number into the expiration time to minimize the possibility of + * the CPUs getting into lockstep and contending for the global cache chain + * lock. */ static void __devinit start_cpu_timer(int cpu) { - struct timer_list *rt = &per_cpu(reap_timers, cpu); + struct work_struct *reap_work = &per_cpu(reap_work, cpu); - if (rt->function == NULL) { - init_timer(rt); - rt->expires = jiffies + HZ + 3*cpu; - rt->data = cpu; - rt->function = reap_timer_fnc; - add_timer_on(rt, cpu); - } -} - -#ifdef CONFIG_HOTPLUG_CPU -static void stop_cpu_timer(int cpu) -{ - struct timer_list *rt = &per_cpu(reap_timers, cpu); - - if (rt->function) { - del_timer_sync(rt); - WARN_ON(timer_pending(rt)); - rt->function = NULL; + /* + * When this gets called from do_initcalls via cpucache_init(), + * init_workqueues() has already run, so keventd will be setup + * at that time. + */ + if (keventd_up() && reap_work->func == NULL) { + INIT_WORK(reap_work, cache_reap, NULL); + schedule_delayed_work_on(cpu, reap_work, HZ + 3 * cpu); } } -#endif static struct array_cache *alloc_arraycache(int cpu, int entries, int batchcount) { @@ -654,7 +688,6 @@ static int __devinit cpuup_callback(struct notifier_block *nfb, break; #ifdef CONFIG_HOTPLUG_CPU case CPU_DEAD: - stop_cpu_timer(cpu); /* fall thru */ case CPU_UP_CANCELED: down(&cache_chain_sem); @@ -806,7 +839,7 @@ void __init kmem_cache_init(void) */ } -int __init cpucache_init(void) +static int __init cpucache_init(void) { int cpu; @@ -883,6 +916,16 @@ static void kmem_freepages(kmem_cache_t *cachep, void *addr) atomic_sub(1<gfporder, &slab_reclaim_pages); } +static void kmem_rcu_free(struct rcu_head *head) +{ + struct slab_rcu *slab_rcu = (struct slab_rcu *) head; + kmem_cache_t *cachep = slab_rcu->cachep; + + kmem_freepages(cachep, slab_rcu->addr); + if (OFF_SLAB(cachep)) + kmem_cache_free(cachep->slabp_cache, slab_rcu); +} + #if DEBUG #ifdef CONFIG_DEBUG_PAGEALLOC @@ -938,9 +981,10 @@ static void dump_line(char *data, int offset, int limit) } #endif +#if DEBUG + static void print_objinfo(kmem_cache_t *cachep, void *objp, int lines) { -#if DEBUG int i, size; char *realobj; @@ -951,8 +995,10 @@ static void print_objinfo(kmem_cache_t *cachep, void *objp, int lines) } if (cachep->flags & SLAB_STORE_USER) { - printk(KERN_ERR "Last user: [<%p>]", *dbg_userword(cachep, objp)); - print_symbol("(%s)", (unsigned long)*dbg_userword(cachep, objp)); + printk(KERN_ERR "Last user: [<%p>]", + *dbg_userword(cachep, objp)); + print_symbol("(%s)", + (unsigned long)*dbg_userword(cachep, objp)); printk("\n"); } realobj = (char*)objp+obj_dbghead(cachep); @@ -964,11 +1010,8 @@ static void print_objinfo(kmem_cache_t *cachep, void *objp, int lines) limit = size-i; dump_line(realobj, i, limit); } -#endif } -#if DEBUG - static void check_poison_obj(kmem_cache_t *cachep, void *objp) { char *realobj; @@ -1036,6 +1079,8 @@ static void check_poison_obj(kmem_cache_t *cachep, void *objp) */ static void slab_destroy (kmem_cache_t *cachep, struct slab *slabp) { + void *addr = slabp->s_mem - slabp->colouroff; + #if DEBUG int i; for (i = 0; i < cachep->num; i++) { @@ -1071,10 +1116,19 @@ static void slab_destroy (kmem_cache_t *cachep, struct slab *slabp) } } #endif - - kmem_freepages(cachep, slabp->s_mem-slabp->colouroff); - if (OFF_SLAB(cachep)) - kmem_cache_free(cachep->slabp_cache, slabp); + + if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) { + struct slab_rcu *slab_rcu; + + slab_rcu = (struct slab_rcu *) slabp; + slab_rcu->cachep = cachep; + slab_rcu->addr = addr; + call_rcu(&slab_rcu->head, kmem_rcu_free); + } else { + kmem_freepages(cachep, addr); + if (OFF_SLAB(cachep)) + kmem_cache_free(cachep->slabp_cache, slabp); + } } /** @@ -1149,9 +1203,15 @@ kmem_cache_create (const char *name, size_t size, size_t align, */ if ((size < 4096 || fls(size-1) == fls(size-1+3*BYTES_PER_WORD))) flags |= SLAB_RED_ZONE|SLAB_STORE_USER; - flags |= SLAB_POISON; + if (!(flags & SLAB_DESTROY_BY_RCU)) + flags |= SLAB_POISON; #endif + if (flags & SLAB_DESTROY_BY_RCU) + BUG_ON(flags & SLAB_POISON); #endif + if (flags & SLAB_DESTROY_BY_RCU) + BUG_ON(dtor); + /* * Always checks flags, a caller might be expecting debug * support which isn't available. @@ -1337,13 +1397,10 @@ next: * the cache that's used by kmalloc(24), otherwise * the creation of further caches will BUG(). */ - cachep->array[smp_processor_id()] = - &initarray_generic.cache; + cachep->array[smp_processor_id()] = &initarray_generic.cache; g_cpucache_up = PARTIAL; } else { - cachep->array[smp_processor_id()] = - kmalloc(sizeof(struct arraycache_init), - GFP_KERNEL); + cachep->array[smp_processor_id()] = kmalloc(sizeof(struct arraycache_init),GFP_KERNEL); } BUG_ON(!ac_data(cachep)); ac_data(cachep)->avail = 0; @@ -1357,7 +1414,7 @@ next: } cachep->lists.next_reap = jiffies + REAPTIMEOUT_LIST3 + - ((unsigned long)cachep)%REAPTIMEOUT_LIST3; + ((unsigned long)cachep)%REAPTIMEOUT_LIST3; /* Need the semaphore to access the chain. */ down(&cache_chain_sem); @@ -1370,24 +1427,16 @@ next: list_for_each(p, &cache_chain) { kmem_cache_t *pc = list_entry(p, kmem_cache_t, next); char tmp; - - /* - * This happens when the module gets unloaded and - * doesn't destroy its slab cache and noone else reuses - * the vmalloc area of the module. Print a warning. - */ -#ifdef CONFIG_X86_UACCESS_INDIRECT - if (__direct_get_user(tmp,pc->name)) { -#else - if (__get_user(tmp,pc->name)) { -#endif - printk("SLAB: cache with size %d has lost its " - "name\n", pc->objsize); + /* This happens when the module gets unloaded and doesn't + destroy its slab cache and noone else reuses the vmalloc + area of the module. Print a warning. */ + if (__get_user(tmp,pc->name)) { + printk("SLAB: cache with size %d has lost its name\n", + pc->objsize); continue; } if (!strcmp(pc->name,name)) { - printk("kmem_cache_create: duplicate " - "cache %s\n",name); + printk("kmem_cache_create: duplicate cache %s\n",name); up(&cache_chain_sem); unlock_cpu_hotplug(); BUG(); @@ -1574,6 +1623,9 @@ int kmem_cache_destroy (kmem_cache_t * cachep) return 1; } + if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) + synchronize_kernel(); + /* no cpu_online check required here since we clear the percpu * array on cpu offline and set this to NULL. */ @@ -2383,8 +2435,7 @@ EXPORT_SYMBOL(__kmalloc); /** * __alloc_percpu - allocate one copy of the object for every present * cpu in the system, zeroing them. - * Objects should be dereferenced using per_cpu_ptr/get_cpu_ptr - * macros only. + * Objects should be dereferenced using the per_cpu_ptr macro only. * * @size: how many bytes of memory are required. * @align: the alignment, which can't be greater than SMP_CACHE_BYTES. @@ -2444,6 +2495,27 @@ void kmem_cache_free (kmem_cache_t *cachep, void *objp) EXPORT_SYMBOL(kmem_cache_free); +/** + * kcalloc - allocate memory for an array. The memory is set to zero. + * @n: number of elements. + * @size: element size. + * @flags: the type of memory to allocate. + */ +void *kcalloc(size_t n, size_t size, int flags) +{ + void *ret = NULL; + + if (n != 0 && size > INT_MAX / n) + return ret; + + ret = kmalloc(n * size, flags); + if (ret) + memset(ret, 0, n * size); + return ret; +} + +EXPORT_SYMBOL(kcalloc); + /** * kfree - free previously allocated memory * @objp: pointer returned by kmalloc. @@ -2498,24 +2570,6 @@ unsigned int kmem_cache_size(kmem_cache_t *cachep) EXPORT_SYMBOL(kmem_cache_size); -kmem_cache_t * kmem_find_general_cachep (size_t size, int gfpflags) -{ - struct cache_sizes *csizep = malloc_sizes; - - /* This function could be moved to the header file, and - * made inline so consumers can quickly determine what - * cache pointer they require. - */ - for ( ; csizep->cs_size; csizep++) { - if (size > csizep->cs_size) - continue; - break; - } - return (gfpflags & GFP_DMA) ? csizep->cs_dmacachep : csizep->cs_cachep; -} - -EXPORT_SYMBOL(kmem_find_general_cachep); - struct ccupdate_struct { kmem_cache_t *cachep; struct array_cache *new[NR_CPUS]; @@ -2641,27 +2695,6 @@ static void enable_cpucache (kmem_cache_t *cachep) cachep->name, -err); } -static void drain_array(kmem_cache_t *cachep, struct array_cache *ac) -{ - int tofree; - - check_irq_off(); - if (ac->touched) { - ac->touched = 0; - } else if (ac->avail) { - tofree = (ac->limit+4)/5; - if (tofree > ac->avail) { - tofree = (ac->avail+1)/2; - } - spin_lock(&cachep->spinlock); - free_block(cachep, ac_entry(ac), tofree); - spin_unlock(&cachep->spinlock); - ac->avail -= tofree; - memmove(&ac_entry(ac)[0], &ac_entry(ac)[tofree], - sizeof(void*)*ac->avail); - } -} - static void drain_array_locked(kmem_cache_t *cachep, struct array_cache *ac, int force) { @@ -2685,24 +2718,23 @@ static void drain_array_locked(kmem_cache_t *cachep, /** * cache_reap - Reclaim memory from caches. * - * Called from a timer, every few seconds + * Called from workqueue/eventd every few seconds. * Purpose: * - clear the per-cpu caches for this CPU. * - return freeable pages to the main free memory pool. * * If we cannot acquire the cache chain semaphore then just give up - we'll - * try again next timer interrupt. + * try again on the next iteration. */ -static void cache_reap (void) +static void cache_reap(void *unused) { struct list_head *walk; -#if DEBUG - BUG_ON(!in_interrupt()); - BUG_ON(in_irq()); -#endif - if (down_trylock(&cache_chain_sem)) + if (down_trylock(&cache_chain_sem)) { + /* Give up. Setup the next iteration. */ + schedule_delayed_work(&__get_cpu_var(reap_work), REAPTIMEOUT_CPUC + smp_processor_id()); return; + } list_for_each(walk, &cache_chain) { kmem_cache_t *searchp; @@ -2716,16 +2748,14 @@ static void cache_reap (void) goto next; check_irq_on(); - local_irq_disable(); - drain_array(searchp, ac_data(searchp)); - if(time_after(searchp->lists.next_reap, jiffies)) - goto next_irqon; + spin_lock_irq(&searchp->spinlock); + + drain_array_locked(searchp, ac_data(searchp), 0); - spin_lock(&searchp->spinlock); - if(time_after(searchp->lists.next_reap, jiffies)) { + if(time_after(searchp->lists.next_reap, jiffies)) goto next_unlock; - } + searchp->lists.next_reap = jiffies + REAPTIMEOUT_LIST3; if (searchp->lists.shared) @@ -2758,30 +2788,14 @@ static void cache_reap (void) spin_lock_irq(&searchp->spinlock); } while(--tofree > 0); next_unlock: - spin_unlock(&searchp->spinlock); -next_irqon: - local_irq_enable(); + spin_unlock_irq(&searchp->spinlock); next: ; } check_irq_on(); up(&cache_chain_sem); -} - -/* - * This is a timer handler. There is one per CPU. It is called periodially - * to shrink this CPU's caches. Otherwise there could be memory tied up - * for long periods (or for ever) due to load changes. - */ -static void reap_timer_fnc(unsigned long cpu) -{ - struct timer_list *rt = &__get_cpu_var(reap_timers); - - /* CPU hotplug can drag us off cpu: don't run on wrong CPU */ - if (!cpu_is_offline(cpu)) { - cache_reap(); - mod_timer(rt, jiffies + REAPTIMEOUT_CPUC + cpu); - } + /* Setup the next iteration */ + schedule_delayed_work(&__get_cpu_var(reap_work), REAPTIMEOUT_CPUC + smp_processor_id()); } #ifdef CONFIG_PROC_FS @@ -3008,72 +3022,3 @@ unsigned int ksize(const void *objp) return size; } - -void ptrinfo(unsigned long addr) -{ - struct page *page; - - printk("Dumping data about address %p.\n", (void*)addr); - if (!virt_addr_valid((void*)addr)) { - printk("virt addr invalid.\n"); - return; - } -#ifdef CONFIG_MMU - do { - pgd_t *pgd = pgd_offset_k(addr); - pmd_t *pmd; - if (pgd_none(*pgd)) { - printk("No pgd.\n"); - break; - } - pmd = pmd_offset(pgd, addr); - if (pmd_none(*pmd)) { - printk("No pmd.\n"); - break; - } -#ifdef CONFIG_X86 - if (pmd_large(*pmd)) { - printk("Large page.\n"); - break; - } -#endif - printk("normal page, pte_val 0x%llx\n", - (unsigned long long)pte_val(*pte_offset_kernel(pmd, addr))); - } while(0); -#endif - - page = virt_to_page((void*)addr); - printk("struct page at %p, flags %08lx\n", - page, (unsigned long)page->flags); - if (PageSlab(page)) { - kmem_cache_t *c; - struct slab *s; - unsigned long flags; - int objnr; - void *objp; - - c = GET_PAGE_CACHE(page); - printk("belongs to cache %s.\n",c->name); - - spin_lock_irqsave(&c->spinlock, flags); - s = GET_PAGE_SLAB(page); - printk("slabp %p with %d inuse objects (from %d).\n", - s, s->inuse, c->num); - check_slabp(c,s); - - objnr = (addr-(unsigned long)s->s_mem)/c->objsize; - objp = s->s_mem+c->objsize*objnr; - printk("points into object no %d, starting at %p, len %d.\n", - objnr, objp, c->objsize); - if (objnr >= c->num) { - printk("Bad obj number.\n"); - } else { - kernel_map_pages(virt_to_page(objp), - c->objsize/PAGE_SIZE, 1); - - print_objinfo(c, objp, 2); - } - spin_unlock_irqrestore(&c->spinlock, flags); - - } -} diff --git a/mm/swap_state.c b/mm/swap_state.c index 571713576..6e81f2d52 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c @@ -171,7 +171,7 @@ int add_to_swap(struct page * page) /* * Add it to the swap cache and mark it dirty */ - err = __add_to_swap_cache(page, entry, GFP_ATOMIC); + err = __add_to_swap_cache(page, entry, GFP_ATOMIC|__GFP_NOWARN); if (pf_flags & PF_MEMALLOC) current->flags |= PF_MEMALLOC; diff --git a/mm/swapfile.c b/mm/swapfile.c index 89bc19ef3..50c3a777c 100644 --- a/mm/swapfile.c +++ b/mm/swapfile.c @@ -523,14 +523,24 @@ static unsigned long unuse_pgd(struct vm_area_struct * vma, pgd_t *dir, } /* vma->vm_mm->page_table_lock is held */ -static unsigned long unuse_vma(struct vm_area_struct * vma, pgd_t *pgdir, +static unsigned long unuse_vma(struct vm_area_struct * vma, swp_entry_t entry, struct page *page) { - unsigned long start = vma->vm_start, end = vma->vm_end; + pgd_t *pgdir; + unsigned long start, end; unsigned long foundaddr; - if (start >= end) - BUG(); + if (page->mapping) { + start = page_address_in_vma(page, vma); + if (start == -EFAULT) + return 0; + else + end = start + PAGE_SIZE; + } else { + start = vma->vm_start; + end = vma->vm_end; + } + pgdir = pgd_offset(vma->vm_mm, start); do { foundaddr = unuse_pgd(vma, pgdir, start, end - start, entry, page); @@ -562,9 +572,8 @@ static int unuse_process(struct mm_struct * mm, } spin_lock(&mm->page_table_lock); for (vma = mm->mmap; vma; vma = vma->vm_next) { - if (!is_vm_hugetlb_page(vma)) { - pgd_t * pgd = pgd_offset(mm, vma->vm_start); - foundaddr = unuse_vma(vma, pgd, entry, page); + if (vma->anon_vma) { + foundaddr = unuse_vma(vma, entry, page); if (foundaddr) break; } @@ -1602,8 +1611,8 @@ void si_swapinfo(struct sysinfo *val) val->freeswap = nr_swap_pages + nr_to_be_unused; val->totalswap = total_swap_pages + nr_to_be_unused; swap_list_unlock(); - if (vx_flags(VXF_VIRT_MEM, 0)) - vx_vsi_swapinfo(val); + if (vx_flags(VXF_VIRT_MEM, 0)) + vx_vsi_swapinfo(val); } /* diff --git a/mm/truncate.c b/mm/truncate.c index c9a30ae62..63dad4285 100644 --- a/mm/truncate.c +++ b/mm/truncate.c @@ -155,6 +155,7 @@ void truncate_inode_pages(struct address_space *mapping, loff_t lstart) next = start; for ( ; ; ) { + cond_resched(); if (!pagevec_lookup(&pvec, mapping, next, PAGEVEC_SIZE)) { if (next == start) break; @@ -228,6 +229,8 @@ unlock: return ret; } +EXPORT_SYMBOL_GPL(invalidate_mapping_pages); + unsigned long invalidate_inode_pages(struct address_space *mapping) { return invalidate_mapping_pages(mapping, 0, ~0UL); diff --git a/mm/vmalloc.c b/mm/vmalloc.c index a4c7c0a17..4093deae3 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -179,11 +179,26 @@ int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages) return err; } +#define IOREMAP_MAX_ORDER (7 + PAGE_SHIFT) /* 128 pages */ + struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags, unsigned long start, unsigned long end) { struct vm_struct **p, *tmp, *area; - unsigned long addr = start; + unsigned long align = 1; + unsigned long addr; + + if (flags & VM_IOREMAP) { + int bit = fls(size); + + if (bit > IOREMAP_MAX_ORDER) + bit = IOREMAP_MAX_ORDER; + else if (bit < PAGE_SHIFT) + bit = PAGE_SHIFT; + + align = 1ul << bit; + } + addr = ALIGN(start, align); area = kmalloc(sizeof(*area), GFP_KERNEL); if (unlikely(!area)) @@ -200,13 +215,17 @@ struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags, write_lock(&vmlist_lock); for (p = &vmlist; (tmp = *p) != NULL ;p = &tmp->next) { - if ((unsigned long)tmp->addr < addr) + if ((unsigned long)tmp->addr < addr) { + if((unsigned long)tmp->addr + tmp->size >= addr) + addr = ALIGN(tmp->size + + (unsigned long)tmp->addr, align); continue; + } if ((size + addr) < addr) goto out; if (size + addr <= (unsigned long)tmp->addr) goto found; - addr = tmp->size + (unsigned long)tmp->addr; + addr = ALIGN(tmp->size + (unsigned long)tmp->addr, align); if (addr > end - size) goto out; } @@ -228,6 +247,8 @@ found: out: write_unlock(&vmlist_lock); kfree(area); + if (printk_ratelimit()) + printk(KERN_WARNING "allocation failed: out of vmalloc space - use vmalloc= to increase size.\n"); return NULL; } diff --git a/mm/vmscan.c b/mm/vmscan.c index e01d5c98d..e7244bc6e 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -95,11 +96,6 @@ struct shrinker { long nr; /* objs pending delete */ }; - - -void try_to_clip_inodes(void); - - #define lru_to_page(_head) (list_entry((_head)->prev, struct page, lru)) #ifdef ARCH_HAS_PREFETCH @@ -137,7 +133,7 @@ int vm_swappiness = 60; static long total_memory; static LIST_HEAD(shrinker_list); -static DECLARE_MUTEX(shrinker_sem); +static DECLARE_RWSEM(shrinker_rwsem); /* * Add a shrinker callback to be called from the vm @@ -151,9 +147,9 @@ struct shrinker *set_shrinker(int seeks, shrinker_t theshrinker) shrinker->shrinker = theshrinker; shrinker->seeks = seeks; shrinker->nr = 0; - down(&shrinker_sem); + down_write(&shrinker_rwsem); list_add(&shrinker->list, &shrinker_list); - up(&shrinker_sem); + up_write(&shrinker_rwsem); } return shrinker; } @@ -164,13 +160,13 @@ EXPORT_SYMBOL(set_shrinker); */ void remove_shrinker(struct shrinker *shrinker) { - down(&shrinker_sem); + down_write(&shrinker_rwsem); list_del(&shrinker->list); - up(&shrinker_sem); + up_write(&shrinker_rwsem); kfree(shrinker); } EXPORT_SYMBOL(remove_shrinker); - + #define SHRINK_BATCH 128 /* * Call the shrink functions to age shrinkable caches @@ -194,11 +190,15 @@ static int shrink_slab(unsigned long scanned, unsigned int gfp_mask, { struct shrinker *shrinker; - if (down_trylock(&shrinker_sem)) + if (scanned == 0) + scanned = SWAP_CLUSTER_MAX; + + if (!down_read_trylock(&shrinker_rwsem)) return 0; list_for_each_entry(shrinker, &shrinker_list, list) { unsigned long long delta; + unsigned long total_scan; delta = (4 * scanned) / shrinker->seeks; delta *= (*shrinker->shrinker)(0, gfp_mask); @@ -207,27 +207,29 @@ static int shrink_slab(unsigned long scanned, unsigned int gfp_mask, if (shrinker->nr < 0) shrinker->nr = LONG_MAX; /* It wrapped! */ - if (shrinker->nr <= SHRINK_BATCH) - continue; - while (shrinker->nr) { - long this_scan = shrinker->nr; + total_scan = shrinker->nr; + shrinker->nr = 0; + + while (total_scan >= SHRINK_BATCH) { + long this_scan = SHRINK_BATCH; int shrink_ret; - if (this_scan > 128) - this_scan = 128; shrink_ret = (*shrinker->shrinker)(this_scan, gfp_mask); - mod_page_state(slabs_scanned, this_scan); - shrinker->nr -= this_scan; if (shrink_ret == -1) break; + mod_page_state(slabs_scanned, this_scan); + total_scan -= this_scan; + cond_resched(); } + + shrinker->nr += total_scan; } - up(&shrinker_sem); + up_read(&shrinker_rwsem); return 0; } -/* Must be called with page's rmap lock held. */ +/* Called without lock on whether page is mapped, so answer is unstable */ static inline int page_mapping_inuse(struct page *page) { struct address_space *mapping; @@ -387,26 +389,19 @@ static int shrink_list(struct list_head *page_list, struct scan_control *sc) if (page_mapped(page) || PageSwapCache(page)) sc->nr_scanned++; - page_map_lock(page); - referenced = page_referenced(page); - if (referenced && page_mapping_inuse(page)) { - /* In active use or really unfreeable. Activate it. */ - page_map_unlock(page); + referenced = page_referenced(page, 1, sc->priority <= 0); + /* In active use or really unfreeable? Activate it. */ + if (referenced && page_mapping_inuse(page)) goto activate_locked; - } #ifdef CONFIG_SWAP /* * Anonymous process memory has backing store? * Try to allocate it some swap space here. - * - * XXX: implement swap clustering ? */ if (PageAnon(page) && !PageSwapCache(page)) { - page_map_unlock(page); if (!add_to_swap(page)) goto activate_locked; - page_map_lock(page); } #endif /* CONFIG_SWAP */ @@ -421,16 +416,13 @@ static int shrink_list(struct list_head *page_list, struct scan_control *sc) if (page_mapped(page) && mapping) { switch (try_to_unmap(page)) { case SWAP_FAIL: - page_map_unlock(page); goto activate_locked; case SWAP_AGAIN: - page_map_unlock(page); goto keep_locked; case SWAP_SUCCESS: ; /* try to free the page below */ } } - page_map_unlock(page); if (PageDirty(page)) { if (referenced) @@ -770,25 +762,12 @@ redo: page = lru_to_page(&l_hold); list_del(&page->lru); if (page_mapped(page)) { - if (!reclaim_mapped) { + if (!reclaim_mapped || + (total_swap_pages == 0 && PageAnon(page)) || + page_referenced(page, 0, sc->priority <= 0)) { list_add(&page->lru, &l_active); continue; } - page_map_lock(page); - if (page_referenced(page)) { - page_map_unlock(page); - list_add(&page->lru, &l_active); - continue; - } - page_map_unlock(page); - } - /* - * FIXME: need to consider page_count(page) here if/when we - * reap orphaned pages via the LRU (Daniel's locking stuff) - */ - if (total_swap_pages == 0 && PageAnon(page)) { - list_add(&page->lru, &l_active); - continue; } list_add(&page->lru, &l_inactive); } @@ -998,6 +977,7 @@ ckrm_shrink_classes(void) cls->flags &= ~MEM_AT_LIMIT; } spin_unlock(&ckrm_mem_lock); + throttle_vm_writeout(); } #else @@ -1033,6 +1013,9 @@ shrink_caches(struct zone **zones, struct scan_control *sc) for (i = 0; zones[i] != NULL; i++) { struct zone *zone = zones[i]; + if (zone->present_pages == 0) + continue; + zone->temp_priority = sc->priority; if (zone->prev_priority > sc->priority) zone->prev_priority = sc->priority; @@ -1150,12 +1133,16 @@ out: static int balance_pgdat(pg_data_t *pgdat, int nr_pages) { int to_free = nr_pages; + int all_zones_ok; int priority; int i; - int total_scanned = 0, total_reclaimed = 0; + int total_scanned, total_reclaimed; struct reclaim_state *reclaim_state = current->reclaim_state; struct scan_control sc; +loop_again: + total_scanned = 0; + total_reclaimed = 0; sc.gfp_mask = GFP_KERNEL; sc.may_writepage = 0; sc.nr_mapped = read_page_state(nr_mapped); @@ -1169,10 +1156,11 @@ static int balance_pgdat(pg_data_t *pgdat, int nr_pages) } for (priority = DEF_PRIORITY; priority >= 0; priority--) { - int all_zones_ok = 1; int end_zone = 0; /* Inclusive. 0 = ZONE_DMA */ unsigned long lru_pages = 0; + all_zones_ok = 1; + if (nr_pages == 0) { /* * Scan in the highmem->dma direction for the highest @@ -1181,6 +1169,9 @@ static int balance_pgdat(pg_data_t *pgdat, int nr_pages) for (i = pgdat->nr_zones - 1; i >= 0; i--) { struct zone *zone = pgdat->node_zones + i; + if (zone->present_pages == 0) + continue; + if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; @@ -1213,6 +1204,9 @@ scan: for (i = 0; i <= end_zone; i++) { struct zone *zone = pgdat->node_zones + i; + if (zone->present_pages == 0) + continue; + if (zone->all_unreclaimable && priority != DEF_PRIORITY) continue; @@ -1233,7 +1227,8 @@ scan: total_reclaimed += sc.nr_reclaimed; if (zone->all_unreclaimable) continue; - if (zone->pages_scanned > zone->present_pages * 2) + if (zone->pages_scanned >= (zone->nr_active + + zone->nr_inactive) * 4) zone->all_unreclaimable = 1; /* * If we've done a decent amount of scanning and @@ -1254,6 +1249,15 @@ scan: */ if (total_scanned && priority < DEF_PRIORITY - 2) blk_congestion_wait(WRITE, HZ/10); + + /* + * We do this so kswapd doesn't build up large priorities for + * example when it is freeing in parallel with allocators. It + * matches the direct reclaim path behaviour in terms of impact + * on zone->*_priority. + */ + if (total_reclaimed >= SWAP_CLUSTER_MAX) + break; } out: for (i = 0; i < pgdat->nr_zones; i++) { @@ -1261,6 +1265,11 @@ out: zone->prev_priority = zone->temp_priority; } + if (!all_zones_ok) { + cond_resched(); + goto loop_again; + } + return total_reclaimed; } @@ -1313,7 +1322,6 @@ static int kswapd(void *p) prepare_to_wait(&pgdat->kswapd_wait, &wait, TASK_INTERRUPTIBLE); schedule(); finish_wait(&pgdat->kswapd_wait, &wait); - try_to_clip_inodes(); if (!ckrm_shrink_list_empty()) ckrm_shrink_classes(); @@ -1328,6 +1336,8 @@ static int kswapd(void *p) */ void wakeup_kswapd(struct zone *zone) { + if (zone->present_pages == 0) + return; if ((zone->free_pages > zone->pages_low) && ckrm_shrink_list_empty()) return; if (!waitqueue_active(&zone->zone_pgdat->kswapd_wait)) @@ -1393,7 +1403,7 @@ static int __init kswapd_init(void) swap_setup(); for_each_pgdat(pgdat) pgdat->kswapd - = find_task_by_pid(kernel_thread(kswapd, pgdat, CLONE_KERNEL)); + = find_task_by_real_pid(kernel_thread(kswapd, pgdat, CLONE_KERNEL)); total_memory = nr_free_pagecache_pages(); hotcpu_notifier(cpu_callback, 0); return 0; diff --git a/net/802/tr.c b/net/802/tr.c index bd22ae2aa..2c4678b21 100644 --- a/net/802/tr.c +++ b/net/802/tr.c @@ -250,10 +250,11 @@ void tr_source_route(struct sk_buff *skb,struct trh_hdr *trh,struct net_device * unsigned int hash; struct rif_cache_s *entry; unsigned char *olddata; + unsigned long flags; static const unsigned char mcast_func_addr[] = {0xC0,0x00,0x00,0x04,0x00,0x00}; - spin_lock_bh(&rif_lock); + spin_lock_irqsave(&rif_lock, flags); /* * Broadcasts are single route as stated in RFC 1042 @@ -322,7 +323,7 @@ printk("source routing for %02X:%02X:%02X:%02X:%02X:%02X\n",trh->daddr[0], else slack = 18 - ((ntohs(trh->rcf) & TR_RCF_LEN_MASK)>>8); olddata = skb->data; - spin_unlock_bh(&rif_lock); + spin_unlock_irqrestore(&rif_lock, flags); skb_pull(skb, slack); memmove(skb->data, olddata, sizeof(struct trh_hdr) - slack); @@ -336,10 +337,11 @@ printk("source routing for %02X:%02X:%02X:%02X:%02X:%02X\n",trh->daddr[0], static void tr_add_rif_info(struct trh_hdr *trh, struct net_device *dev) { unsigned int hash, rii_p = 0; + unsigned long flags; struct rif_cache_s *entry; - spin_lock_bh(&rif_lock); + spin_lock_irqsave(&rif_lock, flags); /* * Firstly see if the entry exists @@ -377,7 +379,7 @@ printk("adding rif_entry: addr:%02X:%02X:%02X:%02X:%02X:%02X rcf:%04X\n", if(!entry) { printk(KERN_DEBUG "tr.c: Couldn't malloc rif cache entry !\n"); - spin_unlock_bh(&rif_lock); + spin_unlock_irqrestore(&rif_lock, flags); return; } @@ -419,7 +421,7 @@ printk("updating rif_entry: addr:%02X:%02X:%02X:%02X:%02X:%02X rcf:%04X\n", } entry->last_used=jiffies; } - spin_unlock_bh(&rif_lock); + spin_unlock_irqrestore(&rif_lock, flags); } /* @@ -429,9 +431,9 @@ printk("updating rif_entry: addr:%02X:%02X:%02X:%02X:%02X:%02X rcf:%04X\n", static void rif_check_expire(unsigned long dummy) { int i; - unsigned long next_interval = jiffies + sysctl_tr_rif_timeout/2; + unsigned long flags, next_interval = jiffies + sysctl_tr_rif_timeout/2; - spin_lock_bh(&rif_lock); + spin_lock_irqsave(&rif_lock, flags); for(i =0; i < RIF_TABLE_SIZE; i++) { struct rif_cache_s *entry, **pentry; @@ -453,7 +455,7 @@ static void rif_check_expire(unsigned long dummy) } } - spin_unlock_bh(&rif_lock); + spin_unlock_irqrestore(&rif_lock, flags); mod_timer(&rif_timer, next_interval); @@ -484,7 +486,7 @@ static struct rif_cache_s *rif_get_idx(loff_t pos) static void *rif_seq_start(struct seq_file *seq, loff_t *pos) { - spin_lock_bh(&rif_lock); + spin_lock_irq(&rif_lock); return *pos ? rif_get_idx(*pos - 1) : SEQ_START_TOKEN; } @@ -515,7 +517,7 @@ static void *rif_seq_next(struct seq_file *seq, void *v, loff_t *pos) static void rif_seq_stop(struct seq_file *seq, void *v) { - spin_unlock_bh(&rif_lock); + spin_unlock_irq(&rif_lock); } static int rif_seq_show(struct seq_file *seq, void *v) diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 3ee1dcd35..0d9ca98ae 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -35,6 +35,8 @@ #include "vlan.h" #include "vlanproc.h" +#define DRV_VERSION "1.8" + /* Global VLAN variables */ /* Our listing of VLAN group(s) */ @@ -42,8 +44,7 @@ struct hlist_head vlan_group_hash[VLAN_GRP_HASH_SIZE]; #define vlan_grp_hashfn(IDX) ((((IDX) >> VLAN_GRP_HASH_SHIFT) ^ (IDX)) & VLAN_GRP_HASH_MASK) static char vlan_fullname[] = "802.1Q VLAN Support"; -static unsigned int vlan_version = 1; -static unsigned int vlan_release = 8; +static char vlan_version[] = DRV_VERSION; static char vlan_copyright[] = "Ben Greear "; static char vlan_buggyright[] = "David S. Miller "; @@ -84,8 +85,8 @@ static int __init vlan_proto_init(void) { int err; - printk(VLAN_INF "%s v%u.%u %s\n", - vlan_fullname, vlan_version, vlan_release, vlan_copyright); + printk(VLAN_INF "%s v%s %s\n", + vlan_fullname, vlan_version, vlan_copyright); printk(VLAN_INF "All bugs added by %s\n", vlan_buggyright); @@ -735,3 +736,4 @@ static int vlan_ioctl_handler(void __user *arg) } MODULE_LICENSE("GPL"); +MODULE_VERSION(DRV_VERSION); diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 460aabc09..458262292 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c @@ -211,7 +211,7 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, * This allows the VLAN to have a different MAC than the underlying * device, and still route correctly. */ - if (memcmp(skb->mac.ethernet->h_dest, skb->dev->dev_addr, ETH_ALEN) == 0) { + if (memcmp(eth_hdr(skb)->h_dest, skb->dev->dev_addr, ETH_ALEN) == 0) { /* It is for our (changed) MAC-address! */ skb->pkt_type = PACKET_HOST; } @@ -244,7 +244,7 @@ int vlan_skb_recv(struct sk_buff *skb, struct net_device *dev, /* TODO: Add a more specific counter here. */ stats->rx_errors++; } - rcu_read_lock(); + rcu_read_unlock(); return 0; } @@ -527,7 +527,7 @@ int vlan_dev_change_mtu(struct net_device *dev, int new_mtu) dev->mtu = new_mtu; - return new_mtu; + return 0; } int vlan_dev_set_ingress_priority(char *dev_name, __u32 skb_prio, short vlan_prio) @@ -772,7 +772,7 @@ int vlan_dev_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) case SIOCGMIIREG: case SIOCSMIIREG: if (real_dev->do_ioctl && netif_device_present(real_dev)) - err = real_dev->do_ioctl(dev, &ifrr, cmd); + err = real_dev->do_ioctl(real_dev, &ifrr, cmd); break; case SIOCETHTOOL: diff --git a/net/Kconfig b/net/Kconfig index e2334b34f..81d7a15dd 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -324,6 +324,19 @@ config BRIDGE config VLAN_8021Q tristate "802.1Q VLAN Support" + ---help--- + Select this and you will be able to create 802.1Q VLAN interfaces + on your ethernet interfaces. 802.1Q VLAN supports almost + everything a regular ethernet interface does, including + firewalling, bridging, and of course IP traffic. You will need + the 'vconfig' tool from the VLAN project in order to effectively + use VLANs. See the VLAN web page for more information: + + + To compile this code as a module, choose M here: the module + will be called 8021q. + + If unsure, say N. config DECNET tristate "DECnet Support" @@ -551,24 +564,6 @@ config WAN_ROUTER If unsure, say N. -config NET_HW_FLOWCONTROL - bool "Forwarding between high speed interfaces" - depends on EXPERIMENTAL - ---help--- - This option enables NIC (Network Interface Card) hardware throttling - during periods of extreme congestion. At the moment only a couple - of device drivers support it (really only one -- tulip, a modified - 8390 driver can be found at - ). - - Really, this option is applicable to any machine attached to a fast - enough network, and even a 10 Mb NIC is able to kill a not very slow - box, such as a 120MHz Pentium. - - However, do not say Y here if you did not experience any serious - problems. - - menu "QoS and/or fair queueing" config NET_SCHED diff --git a/net/Makefile b/net/Makefile index 7e7a95752..03c5fe12a 100644 --- a/net/Makefile +++ b/net/Makefile @@ -9,7 +9,8 @@ obj-y := nonet.o obj-$(CONFIG_NET) := socket.o core/ -obj-$(CONFIG_COMPAT) += compat.o +tmp-$(CONFIG_COMPAT) := compat.o +obj-$(CONFIG_NET) += $(tmp-y) # LLC has to be linked before the files in net/802/ obj-$(CONFIG_LLC) += llc/ diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c index 4185d7b8e..0c0c5ec0f 100644 --- a/net/appletalk/ddp.c +++ b/net/appletalk/ddp.c @@ -61,16 +61,6 @@ #include #include -extern void aarp_cleanup_module(void); - -extern void aarp_probe_network(struct atalk_iface *atif); -extern int aarp_proxy_probe_network(struct atalk_iface *atif, - struct atalk_addr *sa); -extern void aarp_proxy_remove(struct net_device *dev, struct atalk_addr *sa); - -extern void atalk_register_sysctl(void); -extern void atalk_unregister_sysctl(void); - struct datalink_proto *ddp_dl, *aarp_dl; static struct proto_ops atalk_dgram_ops; @@ -580,7 +570,7 @@ static int atrtr_create(struct rtentry *r, struct net_device *devhint) retval = -ENOBUFS; if (!rt) - goto out; + goto out_unlock; memset(rt, 0, sizeof(*rt)); rt->next = atalk_routes; diff --git a/net/atm/br2684.c b/net/atm/br2684.c index 66778f43a..f7955e643 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -294,7 +294,7 @@ static inline unsigned short br_type_trans(struct sk_buff *skb, { struct ethhdr *eth; unsigned char *rawp; - eth = skb->mac.ethernet; + eth = eth_hdr(skb); if (*eth->h_dest & 1) { if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0) diff --git a/net/atm/clip.c b/net/atm/clip.c index 4417df3fa..8db42d467 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c @@ -26,6 +26,8 @@ #include #include #include +#include +#include #include /* for struct rtable and routing */ #include /* icmp_send */ #include /* for HZ */ @@ -47,8 +49,8 @@ #endif -struct net_device *clip_devs = NULL; -struct atm_vcc *atmarpd = NULL; +static struct net_device *clip_devs; +static struct atm_vcc *atmarpd; static struct neigh_table clip_tbl; static struct timer_list idle_timer; static int start_timer = 1; @@ -109,7 +111,8 @@ static void unlink_clip_vcc(struct clip_vcc *clip_vcc) goto out; entry->expires = jiffies-1; /* force resolution or expiration */ - error = neigh_update(entry->neigh,NULL,NUD_NONE,0,0); + error = neigh_update(entry->neigh, NULL, NUD_NONE, + NEIGH_UPDATE_F_ADMIN); if (error) printk(KERN_CRIT "unlink_clip_vcc: " "neigh_update failed with %d\n",error); @@ -121,64 +124,49 @@ out: spin_unlock_bh(&entry->neigh->dev->xmit_lock); } - -static void idle_timer_check(unsigned long dummy) +/* The neighbour entry n->lock is held. */ +static int neigh_check_cb(struct neighbour *n) { - int i; + struct atmarp_entry *entry = NEIGH2ENTRY(n); + struct clip_vcc *cv; - /*DPRINTK("idle_timer_check\n");*/ - write_lock(&clip_tbl.lock); - for (i = 0; i <= NEIGH_HASHMASK; i++) { - struct neighbour **np; - - for (np = &clip_tbl.hash_buckets[i]; *np;) { - struct neighbour *n = *np; - struct atmarp_entry *entry = NEIGH2ENTRY(n); - struct clip_vcc *clip_vcc; - - write_lock(&n->lock); - - for (clip_vcc = entry->vccs; clip_vcc; - clip_vcc = clip_vcc->next) - if (clip_vcc->idle_timeout && - time_after(jiffies, clip_vcc->last_use+ - clip_vcc->idle_timeout)) { - DPRINTK("releasing vcc %p->%p of " - "entry %p\n",clip_vcc,clip_vcc->vcc, - entry); - vcc_release_async(clip_vcc->vcc, - -ETIMEDOUT); - } - if (entry->vccs || - time_before(jiffies, entry->expires)) { - np = &n->next; - write_unlock(&n->lock); - continue; - } - if (atomic_read(&n->refcnt) > 1) { - struct sk_buff *skb; - - DPRINTK("destruction postponed with ref %d\n", - atomic_read(&n->refcnt)); - while ((skb = skb_dequeue(&n->arp_queue)) != - NULL) - dev_kfree_skb(skb); - np = &n->next; - write_unlock(&n->lock); - continue; - } - *np = n->next; - DPRINTK("expired neigh %p\n",n); - n->dead = 1; - write_unlock(&n->lock); - neigh_release(n); + for (cv = entry->vccs; cv; cv = cv->next) { + unsigned long exp = cv->last_use + cv->idle_timeout; + + if (cv->idle_timeout && time_after(jiffies, exp)) { + DPRINTK("releasing vcc %p->%p of entry %p\n", + cv, cv->vcc, entry); + vcc_release_async(cv->vcc, -ETIMEDOUT); } } + + if (entry->vccs || time_before(jiffies, entry->expires)) + return 0; + + if (atomic_read(&n->refcnt) > 1) { + struct sk_buff *skb; + + DPRINTK("destruction postponed with ref %d\n", + atomic_read(&n->refcnt)); + + while ((skb = skb_dequeue(&n->arp_queue)) != NULL) + dev_kfree_skb(skb); + + return 0; + } + + DPRINTK("expired neigh %p\n",n); + return 1; +} + +static void idle_timer_check(unsigned long dummy) +{ + write_lock(&clip_tbl.lock); + __neigh_for_each_release(&clip_tbl, neigh_check_cb); mod_timer(&idle_timer, jiffies+CLIP_CHECK_INTERVAL*HZ); write_unlock(&clip_tbl.lock); } - static int clip_arp_rcv(struct sk_buff *skb) { struct atm_vcc *vcc; @@ -311,13 +299,25 @@ static int clip_constructor(struct neighbour *neigh) { struct atmarp_entry *entry = NEIGH2ENTRY(neigh); struct net_device *dev = neigh->dev; - struct in_device *in_dev = dev->ip_ptr; + struct in_device *in_dev; + struct neigh_parms *parms; DPRINTK("clip_constructor (neigh %p, entry %p)\n",neigh,entry); - if (!in_dev) return -EINVAL; neigh->type = inet_addr_type(entry->ip); if (neigh->type != RTN_UNICAST) return -EINVAL; - if (in_dev->arp_parms) neigh->parms = in_dev->arp_parms; + + rcu_read_lock(); + in_dev = rcu_dereference(__in_dev_get(dev)); + if (!in_dev) { + rcu_read_unlock(); + return -EINVAL; + } + + parms = in_dev->arp_parms; + __neigh_parms_put(neigh->parms); + neigh->parms = neigh_parms_clone(parms); + rcu_read_unlock(); + neigh->ops = &clip_neigh_ops; neigh->output = neigh->nud_state & NUD_VALID ? neigh->ops->connected_output : neigh->ops->output; @@ -329,15 +329,7 @@ static int clip_constructor(struct neighbour *neigh) static u32 clip_hash(const void *pkey, const struct net_device *dev) { - u32 hash_val; - - hash_val = *(u32*)pkey; - hash_val ^= (hash_val>>16); - hash_val ^= hash_val>>8; - hash_val ^= hash_val>>3; - hash_val = (hash_val^dev->ifindex)&NEIGH_HASHMASK; - - return hash_val; + return jhash_2words(*(u32 *)pkey, dev->ifindex, clip_tbl.hash_rnd); } static struct neigh_table clip_tbl = { @@ -557,7 +549,8 @@ static int clip_setentry(struct atm_vcc *vcc,u32 ip) } link_vcc(clip_vcc,entry); } - error = neigh_update(neigh,llc_oui,NUD_PERMANENT,1,0); + error = neigh_update(neigh, llc_oui, NUD_PERMANENT, + NEIGH_UPDATE_F_OVERRIDE|NEIGH_UPDATE_F_ADMIN); neigh_release(neigh); return error; } @@ -818,120 +811,126 @@ static void svc_addr(struct seq_file *seq, struct sockaddr_atmsvc *addr) } } +/* This means the neighbour entry has no attached VCC objects. */ +#define SEQ_NO_VCC_TOKEN ((void *) 2) + static void atmarp_info(struct seq_file *seq, struct net_device *dev, struct atmarp_entry *entry, struct clip_vcc *clip_vcc) { + unsigned long exp; char buf[17]; - int svc, off; + int svc, llc, off; + + svc = ((clip_vcc == SEQ_NO_VCC_TOKEN) || + (clip_vcc->vcc->sk->sk_family == AF_ATMSVC)); + + llc = ((clip_vcc == SEQ_NO_VCC_TOKEN) || + clip_vcc->encap); + + if (clip_vcc == SEQ_NO_VCC_TOKEN) + exp = entry->neigh->used; + else + exp = clip_vcc->last_use; - svc = !clip_vcc || clip_vcc->vcc->sk->sk_family == AF_ATMSVC; - seq_printf(seq, "%-6s%-4s%-4s%5ld ", dev->name, svc ? "SVC" : "PVC", - !clip_vcc || clip_vcc->encap ? "LLC" : "NULL", - (jiffies-(clip_vcc ? clip_vcc->last_use : entry->neigh->used))/HZ); + exp = (jiffies - exp) / HZ; - off = scnprintf(buf, sizeof(buf) - 1, "%d.%d.%d.%d", NIPQUAD(entry->ip)); + seq_printf(seq, "%-6s%-4s%-4s%5ld ", + dev->name, + svc ? "SVC" : "PVC", + llc ? "LLC" : "NULL", + exp); + + off = scnprintf(buf, sizeof(buf) - 1, "%d.%d.%d.%d", + NIPQUAD(entry->ip)); while (off < 16) buf[off++] = ' '; buf[off] = '\0'; seq_printf(seq, "%s", buf); - if (!clip_vcc) { + if (clip_vcc == SEQ_NO_VCC_TOKEN) { if (time_before(jiffies, entry->expires)) seq_printf(seq, "(resolving)\n"); else seq_printf(seq, "(expired, ref %d)\n", atomic_read(&entry->neigh->refcnt)); } else if (!svc) { - seq_printf(seq, "%d.%d.%d\n", clip_vcc->vcc->dev->number, - clip_vcc->vcc->vpi, clip_vcc->vcc->vci); + seq_printf(seq, "%d.%d.%d\n", + clip_vcc->vcc->dev->number, + clip_vcc->vcc->vpi, + clip_vcc->vcc->vci); } else { svc_addr(seq, &clip_vcc->vcc->remote); seq_putc(seq, '\n'); } } -struct arp_state { - int bucket; - struct neighbour *n; +struct clip_seq_state { + /* This member must be first. */ + struct neigh_seq_state ns; + + /* Local to clip specific iteration. */ struct clip_vcc *vcc; }; - -static void *arp_vcc_walk(struct arp_state *state, - struct atmarp_entry *e, loff_t *l) -{ - struct clip_vcc *vcc = state->vcc; - if (!vcc) - vcc = e->vccs; - if (vcc == (void *)1) { - vcc = e->vccs; - --*l; - } - for (; vcc; vcc = vcc->next) { - if (--*l < 0) - break; - } - state->vcc = vcc; - return (*l < 0) ? state : NULL; -} - -static void *arp_get_idx(struct arp_state *state, loff_t l) +static struct clip_vcc *clip_seq_next_vcc(struct atmarp_entry *e, + struct clip_vcc *curr) { - void *v = NULL; - - for (; state->bucket <= NEIGH_HASHMASK; state->bucket++) { - for (; state->n; state->n = state->n->next) { - v = arp_vcc_walk(state, NEIGH2ENTRY(state->n), &l); - if (v) - goto done; - } - state->n = clip_tbl.hash_buckets[state->bucket + 1]; + if (!curr) { + curr = e->vccs; + if (!curr) + return SEQ_NO_VCC_TOKEN; + return curr; } -done: - return v; + if (curr == SEQ_NO_VCC_TOKEN) + return NULL; + + curr = curr->next; + + return curr; } -static void *arp_seq_start(struct seq_file *seq, loff_t *pos) +static void *clip_seq_vcc_walk(struct clip_seq_state *state, + struct atmarp_entry *e, loff_t *pos) { - struct arp_state *state = seq->private; - void *ret = (void *)1; - - read_lock_bh(&clip_tbl.lock); - state->bucket = 0; - state->n = clip_tbl.hash_buckets[0]; - state->vcc = (void *)1; - if (*pos) - ret = arp_get_idx(state, *pos); - return ret; -} + struct clip_vcc *vcc = state->vcc; -static void arp_seq_stop(struct seq_file *seq, void *v) + vcc = clip_seq_next_vcc(e, vcc); + if (vcc && pos != NULL) { + while (*pos) { + vcc = clip_seq_next_vcc(e, vcc); + if (!vcc) + break; + --(*pos); + } + } + state->vcc = vcc; + + return vcc; +} + +static void *clip_seq_sub_iter(struct neigh_seq_state *_state, + struct neighbour *n, loff_t *pos) { - struct arp_state *state = seq->private; + struct clip_seq_state *state = (struct clip_seq_state *) _state; - if (state->bucket != -1) - read_unlock_bh(&clip_tbl.lock); + return clip_seq_vcc_walk(state, NEIGH2ENTRY(n), pos); } -static void *arp_seq_next(struct seq_file *seq, void *v, loff_t *pos) +static void *clip_seq_start(struct seq_file *seq, loff_t *pos) { - struct arp_state *state = seq->private; - - v = arp_get_idx(state, 1); - *pos += !!PTR_ERR(v); - return v; + return neigh_seq_start(seq, pos, &clip_tbl, NEIGH_SEQ_NEIGH_ONLY); } -static int arp_seq_show(struct seq_file *seq, void *v) +static int clip_seq_show(struct seq_file *seq, void *v) { static char atm_arp_banner[] = "IPitf TypeEncp Idle IP address ATM address\n"; - if (v == (void *)1) + if (v == SEQ_START_TOKEN) { seq_puts(seq, atm_arp_banner); - else { - struct arp_state *state = seq->private; - struct neighbour *n = state->n; + } else { + struct clip_seq_state *state = seq->private; + struct neighbour *n = v; struct clip_vcc *vcc = state->vcc; atmarp_info(seq, n->dev, NEIGH2ENTRY(n), vcc); @@ -940,15 +939,15 @@ static int arp_seq_show(struct seq_file *seq, void *v) } static struct seq_operations arp_seq_ops = { - .start = arp_seq_start, - .next = arp_seq_next, - .stop = arp_seq_stop, - .show = arp_seq_show, + .start = clip_seq_start, + .next = neigh_seq_next, + .stop = neigh_seq_stop, + .show = clip_seq_show, }; static int arp_seq_open(struct inode *inode, struct file *file) { - struct arp_state *state; + struct clip_seq_state *state; struct seq_file *seq; int rc = -EAGAIN; @@ -957,6 +956,8 @@ static int arp_seq_open(struct inode *inode, struct file *file) rc = -ENOMEM; goto out_kfree; } + memset(state, 0, sizeof(*state)); + state->ns.neigh_sub_iter = clip_seq_sub_iter; rc = seq_open(file, &arp_seq_ops); if (rc) @@ -972,35 +973,18 @@ out_kfree: goto out; } -static int arp_seq_release(struct inode *inode, struct file *file) -{ - return seq_release_private(inode, file); -} - static struct file_operations arp_seq_fops = { .open = arp_seq_open, .read = seq_read, .llseek = seq_lseek, - .release = arp_seq_release, + .release = seq_release_private, .owner = THIS_MODULE }; #endif static int __init atm_clip_init(void) { - /* we should use neigh_table_init() */ - clip_tbl.lock = RW_LOCK_UNLOCKED; - clip_tbl.kmem_cachep = kmem_cache_create(clip_tbl.id, - clip_tbl.entry_size, 0, SLAB_HWCACHE_ALIGN, NULL, NULL); - - if (!clip_tbl.kmem_cachep) - return -ENOMEM; - - /* so neigh_ifdown() doesn't complain */ - clip_tbl.proxy_timer.data = 0; - clip_tbl.proxy_timer.function = NULL; - init_timer(&clip_tbl.proxy_timer); - skb_queue_head_init(&clip_tbl.proxy_queue); + neigh_table_init(&clip_tbl); clip_tbl_hook = &clip_tbl; register_atm_ioctl(&clip_ioctl_ops); @@ -1026,7 +1010,18 @@ static void __exit atm_clip_exit(void) deregister_atm_ioctl(&clip_ioctl_ops); + /* First, stop the idle timer, so it stops banging + * on the table. + */ + if (start_timer == 0) + del_timer(&idle_timer); + + /* Next, purge the table, so that the device + * unregister loop below does not hang due to + * device references remaining in the table. + */ neigh_ifdown(&clip_tbl, NULL); + dev = clip_devs; while (dev) { next = PRIV(dev)->next; @@ -1034,9 +1029,9 @@ static void __exit atm_clip_exit(void) free_netdev(dev); dev = next; } - if (start_timer == 0) del_timer(&idle_timer); - kmem_cache_destroy(clip_tbl.kmem_cachep); + /* Now it is safe to fully shutdown whole table. */ + neigh_table_clear(&clip_tbl); clip_tbl_hook = NULL; } diff --git a/net/atm/common.c b/net/atm/common.c index 19d31f1b2..1546bfcd5 100644 --- a/net/atm/common.c +++ b/net/atm/common.c @@ -57,7 +57,7 @@ void vcc_insert_socket(struct sock *sk) write_unlock_irq(&vcc_sklist_lock); } -void vcc_remove_socket(struct sock *sk) +static void vcc_remove_socket(struct sock *sk) { write_lock_irq(&vcc_sklist_lock); sk_del_node_init(sk); @@ -86,7 +86,6 @@ static struct sk_buff *alloc_tx(struct atm_vcc *vcc,unsigned int size) EXPORT_SYMBOL(vcc_hash); EXPORT_SYMBOL(vcc_sklist_lock); EXPORT_SYMBOL(vcc_insert_socket); -EXPORT_SYMBOL(vcc_remove_socket); static void vcc_sock_destruct(struct sock *sk) { diff --git a/net/atm/mpoa_proc.c b/net/atm/mpoa_proc.c index 4f1849f9a..60834b5a1 100644 --- a/net/atm/mpoa_proc.c +++ b/net/atm/mpoa_proc.c @@ -121,7 +121,7 @@ static void mpc_stop(struct seq_file *m, void *v) /* * READING function - called when the /proc/atm/mpoa file is read from. */ -static ssize_t mpc_show(struct seq_file *m, void *v) +static int mpc_show(struct seq_file *m, void *v) { struct mpoa_client *mpc = v; unsigned char *temp; diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index 47fbd98e0..2ff9b6f5c 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c @@ -1176,13 +1176,16 @@ static int ax25_connect(struct socket *sock, struct sockaddr *uaddr, /* check if we can remove this feature. It is broken. */ printk(KERN_WARNING "ax25_connect(): %s uses autobind, please contact jreuter@yaina.de\n", current->comm); - if ((err = ax25_rt_autobind(ax25, &fsa->fsa_ax25.sax25_call)) < 0) + if ((err = ax25_rt_autobind(ax25, &fsa->fsa_ax25.sax25_call)) < 0) { + kfree(digi); goto out; + } ax25_fillin_cb(ax25, ax25->ax25_dev); ax25_cb_add(ax25); } else { if (ax25->ax25_dev == NULL) { + kfree(digi); err = -EHOSTUNREACH; goto out; } @@ -1191,8 +1194,7 @@ static int ax25_connect(struct socket *sock, struct sockaddr *uaddr, if (sk->sk_type == SOCK_SEQPACKET && (ax25t=ax25_find_cb(&ax25->source_addr, &fsa->fsa_ax25.sax25_call, digi, ax25->ax25_dev->dev))) { - if (digi != NULL) - kfree(digi); + kfree(digi); err = -EADDRINUSE; /* Already such a connection */ ax25_cb_put(ax25t); goto out; @@ -1336,7 +1338,6 @@ static int ax25_accept(struct socket *sock, struct socket *newsock, int flags) remove_wait_queue(sk->sk_sleep, &wait); newsk = skb->sk; - newsk->sk_pair = NULL; newsk->sk_socket = newsock; newsk->sk_sleep = &newsock->wait; diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index cc323a7f0..1da6a95e2 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c @@ -57,7 +57,7 @@ #define BT_DBG(D...) #endif -#define VERSION "2.3" +#define VERSION "2.4" static struct proto_ops l2cap_sock_ops; @@ -1453,7 +1453,7 @@ static inline int l2cap_connect_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hd BT_DBG("dcid 0x%4.4x scid 0x%4.4x result 0x%2.2x status 0x%2.2x", dcid, scid, result, status); if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid))) - return -ENOENT; + return 0; switch (result) { case L2CAP_CR_SUCCESS: @@ -1527,7 +1527,6 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr struct l2cap_conf_rsp *rsp = (struct l2cap_conf_rsp *)data; u16 scid, flags, result; struct sock *sk; - int err = 0; scid = __le16_to_cpu(rsp->scid); flags = __le16_to_cpu(rsp->flags); @@ -1536,7 +1535,7 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr BT_DBG("scid 0x%4.4x flags 0x%2.2x result 0x%2.2x", scid, flags, result); if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid))) - return -ENOENT; + return 0; switch (result) { case L2CAP_CONF_SUCCESS: @@ -1581,7 +1580,7 @@ static inline int l2cap_config_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr done: bh_unlock_sock(sk); - return err; + return 0; } static inline int l2cap_disconnect_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) @@ -1625,6 +1624,7 @@ static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, struct l2cap_cmd if (!(sk = l2cap_get_chan_by_scid(&conn->chan_list, scid))) return 0; + l2cap_chan_del(sk, 0); bh_unlock_sock(sk); @@ -1632,7 +1632,7 @@ static inline int l2cap_disconnect_rsp(struct l2cap_conn *conn, struct l2cap_cmd return 0; } -static inline int l2cap_info_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) +static inline int l2cap_information_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) { struct l2cap_info_req *req = (struct l2cap_info_req *) data; struct l2cap_info_rsp rsp; @@ -1645,10 +1645,11 @@ static inline int l2cap_info_req(struct l2cap_conn *conn, struct l2cap_cmd_hdr * rsp.type = __cpu_to_le16(type); rsp.result = __cpu_to_le16(L2CAP_IR_NOTSUPP); l2cap_send_rsp(conn, cmd->ident, L2CAP_INFO_RSP, sizeof(rsp), &rsp); + return 0; } -static inline int l2cap_info_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) +static inline int l2cap_information_rsp(struct l2cap_conn *conn, struct l2cap_cmd_hdr *cmd, u8 *data) { struct l2cap_info_rsp *rsp = (struct l2cap_info_rsp *) data; u16 type, result; @@ -1721,11 +1722,11 @@ static inline void l2cap_sig_channel(struct l2cap_conn *conn, struct sk_buff *sk break; case L2CAP_INFO_REQ: - err = l2cap_info_req(conn, &cmd, data); + err = l2cap_information_req(conn, &cmd, data); break; case L2CAP_INFO_RSP: - err = l2cap_info_rsp(conn, &cmd, data); + err = l2cap_information_rsp(conn, &cmd, data); break; default: diff --git a/net/bridge/br_notify.c b/net/bridge/br_notify.c index d0702fbcb..f8fb49e34 100644 --- a/net/bridge/br_notify.c +++ b/net/bridge/br_notify.c @@ -76,10 +76,12 @@ static int br_device_event(struct notifier_block *unused, unsigned long event, v break; case NETDEV_UNREGISTER: + spin_unlock_bh(&br->lock); br_del_if(br, dev); - break; + goto done; } spin_unlock_bh(&br->lock); + done: return NOTIFY_DONE; } diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index d2b2fb27f..cecdba777 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -177,7 +177,7 @@ extern int br_min_mtu(const struct net_bridge *br); /* br_input.c */ extern int br_handle_frame_finish(struct sk_buff *skb); -extern int br_handle_frame(struct sk_buff *skb); +extern int br_handle_frame(struct net_bridge_port *p, struct sk_buff **pskb); /* br_ioctl.c */ extern int br_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 65184c5e6..8352eec5b 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -190,7 +190,7 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff **pskb, base = private->entries; i = 0; while (i < nentries) { - if (ebt_basic_match(point, (**pskb).mac.ethernet, in, out)) + if (ebt_basic_match(point, eth_hdr(*pskb), in, out)) goto letscontinue; if (EBT_MATCH_ITERATE(point, ebt_do_match, *pskb, in, out) != 0) diff --git a/net/compat.c b/net/compat.c index 998b21b65..e80e0cebf 100644 --- a/net/compat.c +++ b/net/compat.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -123,6 +124,12 @@ int verify_compat_iovec(struct msghdr *kern_msg, struct iovec *kern_iov, (struct compat_cmsghdr __user *)((msg)->msg_control) : \ (struct compat_cmsghdr __user *)NULL) +#define CMSG_COMPAT_OK(ucmlen, ucmsg, mhdr) \ + ((ucmlen) >= sizeof(struct cmsghdr) && \ + (ucmlen) <= (unsigned long) \ + ((mhdr)->msg_controllen - \ + ((char *)(ucmsg) - (char *)(mhdr)->msg_control))) + static inline struct compat_cmsghdr __user *cmsg_compat_nxthdr(struct msghdr *msg, struct compat_cmsghdr __user *cmsg, int cmsg_len) { @@ -153,11 +160,7 @@ int cmsghdr_from_user_compat_to_kern(struct msghdr *kmsg, return -EFAULT; /* Catch bogons. */ - if(CMSG_COMPAT_ALIGN(ucmlen) < - CMSG_COMPAT_ALIGN(sizeof(struct compat_cmsghdr))) - return -EINVAL; - if((unsigned long)(((char __user *)ucmsg - (char __user *)kmsg->msg_control) - + ucmlen) > kmsg->msg_controllen) + if (!CMSG_COMPAT_OK(ucmlen, ucmsg, kmsg)) return -EINVAL; tmp = ((ucmlen - CMSG_COMPAT_ALIGN(sizeof(*ucmsg))) + @@ -264,6 +267,9 @@ void scm_detach_fds_compat(struct msghdr *kmsg, struct scm_cookie *scm) for (i = 0, cmfptr = (int __user *) CMSG_COMPAT_DATA(cm); i < fdmax; i++, cmfptr++) { int new_fd; + err = security_file_receive(fp[i]); + if (err) + break; err = get_unused_fd(); if (err < 0) break; @@ -455,13 +461,15 @@ static int do_set_sock_timeout(int fd, int level, int optname, char __user *optv asmlinkage long compat_sys_setsockopt(int fd, int level, int optname, char __user *optval, int optlen) { + /* SO_SET_REPLACE seems to be the same in all levels */ if (optname == IPT_SO_SET_REPLACE) return do_netfilter_replace(fd, level, optname, optval, optlen); - if (optname == SO_ATTACH_FILTER) + if (level == SOL_SOCKET && optname == SO_ATTACH_FILTER) return do_set_attach_filter(fd, level, optname, optval, optlen); - if (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO) + if (level == SOL_SOCKET && + (optname == SO_RCVTIMEO || optname == SO_SNDTIMEO)) return do_set_sock_timeout(fd, level, optname, optval, optlen); return sys_setsockopt(fd, level, optname, optval, optlen); diff --git a/net/core/Makefile b/net/core/Makefile index e9b21b941..81f03243f 100644 --- a/net/core/Makefile +++ b/net/core/Makefile @@ -2,7 +2,7 @@ # Makefile for the Linux networking core. # -obj-y := sock.o skbuff.o iovec.o datagram.o stream.o scm.o +obj-y := sock.o skbuff.o iovec.o datagram.o stream.o scm.o gen_stats.o gen_estimator.o obj-$(CONFIG_SYSCTL) += sysctl_net_core.o diff --git a/net/core/dev.c b/net/core/dev.c index 60af16c41..e917b514d 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -113,6 +113,7 @@ #include #endif /* CONFIG_NET_RADIO */ #include +#include #include /* This define, if set, will randomly drop a packet when congestion @@ -227,8 +228,6 @@ extern void netdev_unregister_sysfs(struct net_device *); #define netdev_unregister_sysfs(dev) do { } while(0) #endif -/* netdump function */ -void (*netdump_func) (struct pt_regs *regs) = NULL; /******************************************************************************* @@ -523,35 +522,6 @@ struct net_device *dev_get_by_name(const char *name) return dev; } -/* - Return value is changed to int to prevent illegal usage in future. - It is still legal to use to check for device existence. - - User should understand, that the result returned by this function - is meaningless, if it was not issued under rtnl semaphore. - */ - -/** - * dev_get - test if a device exists - * @name: name to test for - * - * Test if a name exists. Returns true if the name is found. In order - * to be sure the name is not allocated or removed during the test the - * caller must hold the rtnl semaphore. - * - * This function exists only for back compatibility with older - * drivers. - */ -int __dev_get(const char *name) -{ - struct net_device *dev; - - read_lock(&dev_base_lock); - dev = __dev_get_by_name(name); - read_unlock(&dev_base_lock); - return dev != NULL; -} - /** * __dev_get_by_index - find a device by its ifindex * @ifindex: index of device @@ -626,26 +596,17 @@ struct net_device *dev_getbyhwaddr(unsigned short type, char *ha) return dev; } -struct net_device *__dev_getfirstbyhwtype(unsigned short type) -{ - struct net_device *dev; - - for (dev = dev_base; dev; dev = dev->next) - if (dev->type == type) - break; - return dev; -} - -EXPORT_SYMBOL(__dev_getfirstbyhwtype); - struct net_device *dev_getfirstbyhwtype(unsigned short type) { struct net_device *dev; rtnl_lock(); - dev = __dev_getfirstbyhwtype(type); - if (dev) - dev_hold(dev); + for (dev = dev_base; dev; dev = dev->next) { + if (dev->type == type) { + dev_hold(dev); + break; + } + } rtnl_unlock(); return dev; } @@ -668,32 +629,14 @@ struct net_device * dev_get_by_flags(unsigned short if_flags, unsigned short mas struct net_device *dev; read_lock(&dev_base_lock); - dev = __dev_get_by_flags(if_flags, mask); - if (dev) - dev_hold(dev); - read_unlock(&dev_base_lock); - return dev; -} - -/** - * __dev_get_by_flags - find any device with given flags - * @if_flags: IFF_* values - * @mask: bitmask of bits in if_flags to check - * - * Search for any interface with the given flags. Returns NULL if a device - * is not found or a pointer to the device. The caller must hold either - * the RTNL semaphore or @dev_base_lock. - */ - -struct net_device *__dev_get_by_flags(unsigned short if_flags, unsigned short mask) -{ - struct net_device *dev; - for (dev = dev_base; dev != NULL; dev = dev->next) { - if (((dev->flags ^ if_flags) & mask) == 0) - return dev; + if (((dev->flags ^ if_flags) & mask) == 0) { + dev_hold(dev); + break; + } } - return NULL; + read_unlock(&dev_base_lock); + return dev; } /** @@ -864,18 +807,6 @@ static int default_rebuild_header(struct sk_buff *skb) } -/* - * Some old buggy device drivers change get_stats after registering - * the device. Try and trap them here. - * This can be elimnated when all devices are known fixed. - */ -static inline int get_stats_changed(struct net_device *dev) -{ - int changed = dev->last_stats != dev->get_stats; - dev->last_stats = dev->get_stats; - return changed; -} - /** * dev_open - prepare an interface for use. * @dev: device to open @@ -899,14 +830,6 @@ int dev_open(struct net_device *dev) if (dev->flags & IFF_UP) return 0; - /* - * Check for broken device drivers. - */ - if (get_stats_changed(dev) && net_ratelimit()) { - printk(KERN_ERR "%s: driver changed get_stats after register\n", - dev->name); - } - /* * Is it even present? */ @@ -923,14 +846,6 @@ int dev_open(struct net_device *dev) clear_bit(__LINK_STATE_START, &dev->state); } - /* - * Check for more broken device drivers. - */ - if (get_stats_changed(dev) && net_ratelimit()) { - printk(KERN_ERR "%s: driver changed get_stats in open\n", - dev->name); - } - /* * If it went open OK then: */ @@ -1147,16 +1062,10 @@ int skb_checksum_help(struct sk_buff **pskb, int inward) goto out; } - if (skb_shared(*pskb) || skb_cloned(*pskb)) { - struct sk_buff *newskb = skb_copy(*pskb, GFP_ATOMIC); - if (!newskb) { - ret = -ENOMEM; + if (skb_cloned(*pskb)) { + ret = pskb_expand_head(*pskb, 0, 0, GFP_ATOMIC); + if (ret) goto out; - } - if ((*pskb)->sk) - skb_set_owner_w(newskb, (*pskb)->sk); - kfree_skb(*pskb); - *pskb = newskb; } if (offset > (int)(*pskb)->len) @@ -1258,17 +1167,17 @@ int __skb_linearize(struct sk_buff *skb, int gfp_mask) return 0; } -#define HARD_TX_LOCK_BH(dev, cpu) { \ +#define HARD_TX_LOCK(dev, cpu) { \ if ((dev->features & NETIF_F_LLTX) == 0) { \ - spin_lock_bh(&dev->xmit_lock); \ + spin_lock(&dev->xmit_lock); \ dev->xmit_lock_owner = cpu; \ } \ } -#define HARD_TX_UNLOCK_BH(dev) { \ +#define HARD_TX_UNLOCK(dev) { \ if ((dev->features & NETIF_F_LLTX) == 0) { \ dev->xmit_lock_owner = -1; \ - spin_unlock_bh(&dev->xmit_lock); \ + spin_unlock(&dev->xmit_lock); \ } \ } @@ -1322,7 +1231,12 @@ int dev_queue_xmit(struct sk_buff *skb) if (skb_checksum_help(&skb, 0)) goto out_kfree_skb; - rcu_read_lock(); + + /* Disable soft irqs for various locks below. Also + * stops preemption for RCU. + */ + local_bh_disable(); + /* Updates of qdisc are serialized by queue_lock. * The struct Qdisc which is pointed to by qdisc is now a * rcu structure - it may be accessed without acquiring @@ -1335,25 +1249,22 @@ int dev_queue_xmit(struct sk_buff *skb) * also serializes access to the device queue. */ - q = dev->qdisc; - smp_read_barrier_depends(); + q = rcu_dereference(dev->qdisc); #ifdef CONFIG_NET_CLS_ACT skb->tc_verd = SET_TC_AT(skb->tc_verd,AT_EGRESS); #endif if (q->enqueue) { /* Grab device queue */ - spin_lock_bh(&dev->queue_lock); + spin_lock(&dev->queue_lock); rc = q->enqueue(skb, q); qdisc_run(dev); - spin_unlock_bh(&dev->queue_lock); - rcu_read_unlock(); + spin_unlock(&dev->queue_lock); rc = rc == NET_XMIT_BYPASS ? NET_XMIT_SUCCESS : rc; goto out; } - rcu_read_unlock(); /* The device has no queue. Common case for software devices: loopback, all the sorts of tunnels... @@ -1368,12 +1279,11 @@ int dev_queue_xmit(struct sk_buff *skb) Either shot noqueue qdisc, it is even simpler 8) */ if (dev->flags & IFF_UP) { - int cpu = get_cpu(); + int cpu = smp_processor_id(); /* ok because BHs are off */ if (dev->xmit_lock_owner != cpu) { - HARD_TX_LOCK_BH(dev, cpu); - put_cpu(); + HARD_TX_LOCK(dev, cpu); if (!netif_queue_stopped(dev)) { if (netdev_nit) @@ -1381,17 +1291,16 @@ int dev_queue_xmit(struct sk_buff *skb) rc = 0; if (!dev->hard_start_xmit(skb, dev)) { - HARD_TX_UNLOCK_BH(dev); + HARD_TX_UNLOCK(dev); goto out; } } - HARD_TX_UNLOCK_BH(dev); + HARD_TX_UNLOCK(dev); if (net_ratelimit()) printk(KERN_CRIT "Virtual device %s asks to " "queue packet!\n", dev->name); goto out_enetdown; } else { - put_cpu(); /* Recursion is detected! It is possible, * unfortunately */ if (net_ratelimit()) @@ -1404,6 +1313,7 @@ out_enetdown: out_kfree_skb: kfree_skb(skb); out: + local_bh_enable(); return rc; } @@ -1426,66 +1336,6 @@ int mod_cong = 290; DEFINE_PER_CPU(struct netif_rx_stats, netdev_rx_stat) = { 0, }; -#ifdef CONFIG_NET_HW_FLOWCONTROL -atomic_t netdev_dropping = ATOMIC_INIT(0); -static unsigned long netdev_fc_mask = 1; -unsigned long netdev_fc_xoff; -spinlock_t netdev_fc_lock = SPIN_LOCK_UNLOCKED; - -static struct -{ - void (*stimul)(struct net_device *); - struct net_device *dev; -} netdev_fc_slots[BITS_PER_LONG]; - -int netdev_register_fc(struct net_device *dev, - void (*stimul)(struct net_device *dev)) -{ - int bit = 0; - unsigned long flags; - - spin_lock_irqsave(&netdev_fc_lock, flags); - if (netdev_fc_mask != ~0UL) { - bit = ffz(netdev_fc_mask); - netdev_fc_slots[bit].stimul = stimul; - netdev_fc_slots[bit].dev = dev; - set_bit(bit, &netdev_fc_mask); - clear_bit(bit, &netdev_fc_xoff); - } - spin_unlock_irqrestore(&netdev_fc_lock, flags); - return bit; -} - -void netdev_unregister_fc(int bit) -{ - unsigned long flags; - - spin_lock_irqsave(&netdev_fc_lock, flags); - if (bit > 0) { - netdev_fc_slots[bit].stimul = NULL; - netdev_fc_slots[bit].dev = NULL; - clear_bit(bit, &netdev_fc_mask); - clear_bit(bit, &netdev_fc_xoff); - } - spin_unlock_irqrestore(&netdev_fc_lock, flags); -} - -static void netdev_wakeup(void) -{ - unsigned long xoff; - - spin_lock(&netdev_fc_lock); - xoff = netdev_fc_xoff; - netdev_fc_xoff = 0; - while (xoff) { - int i = ffz(~xoff); - xoff &= ~(1 << i); - netdev_fc_slots[i].stimul(netdev_fc_slots[i].dev); - } - spin_unlock(&netdev_fc_lock); -} -#endif - static void get_sample_stats(int cpu) { #ifdef RAND_LIE @@ -1595,13 +1445,8 @@ enqueue: return queue->cng_level; } - if (queue->throttle) { + if (queue->throttle) queue->throttle = 0; -#ifdef CONFIG_NET_HW_FLOWCONTROL - if (atomic_dec_and_test(&netdev_dropping)) - netdev_wakeup(); -#endif - } netif_rx_schedule(&queue->backlog_dev); goto enqueue; @@ -1610,9 +1455,6 @@ enqueue: if (!queue->throttle) { queue->throttle = 1; __get_cpu_var(netdev_rx_stat).throttled++; -#ifdef CONFIG_NET_HW_FLOWCONTROL - atomic_inc(&netdev_dropping); -#endif } drop: @@ -1680,43 +1522,34 @@ static void net_tx_action(struct softirq_action *h) } static __inline__ int deliver_skb(struct sk_buff *skb, - struct packet_type *pt_prev, int last) + struct packet_type *pt_prev) { atomic_inc(&skb->users); return pt_prev->func(skb, skb->dev, pt_prev); } - #if defined(CONFIG_BRIDGE) || defined (CONFIG_BRIDGE_MODULE) -int (*br_handle_frame_hook)(struct sk_buff *skb); +int (*br_handle_frame_hook)(struct net_bridge_port *p, struct sk_buff **pskb); -static __inline__ int handle_bridge(struct sk_buff *skb, - struct packet_type *pt_prev) +static __inline__ int handle_bridge(struct sk_buff **pskb, + struct packet_type **pt_prev, int *ret) { - int ret = NET_RX_DROP; - if (pt_prev) - ret = deliver_skb(skb, pt_prev, 0); + struct net_bridge_port *port; - return ret; -} - -#endif - -static inline int __handle_bridge(struct sk_buff *skb, - struct packet_type **pt_prev, int *ret) -{ -#if defined(CONFIG_BRIDGE) || defined(CONFIG_BRIDGE_MODULE) - if (skb->dev->br_port && skb->pkt_type != PACKET_LOOPBACK) { - *ret = handle_bridge(skb, *pt_prev); - if (br_handle_frame_hook(skb) == 0) - return 1; + if ((*pskb)->pkt_type == PACKET_LOOPBACK || + (port = rcu_dereference((*pskb)->dev->br_port)) == NULL) + return 0; + if (*pt_prev) { + *ret = deliver_skb(*pskb, *pt_prev); *pt_prev = NULL; - } -#endif - return 0; + } + + return br_handle_frame_hook(port, pskb); } - +#else +#define handle_bridge(skb, pt_prev, ret) (0) +#endif #ifdef CONFIG_NET_CLS_ACT /* TODO: Maybe we should just force sch_ingress to be compiled in @@ -1783,27 +1616,27 @@ int netif_receive_skb(struct sk_buff *skb) skb->mac_len = skb->nh.raw - skb->mac.raw; pt_prev = NULL; + + rcu_read_lock(); + #ifdef CONFIG_NET_CLS_ACT if (skb->tc_verd & TC_NCLS) { skb->tc_verd = CLR_TC_NCLS(skb->tc_verd); - rcu_read_lock(); goto ncls; } - #endif +#endif - rcu_read_lock(); list_for_each_entry_rcu(ptype, &ptype_all, list) { if (!ptype->dev || ptype->dev == skb->dev) { if (pt_prev) - ret = deliver_skb(skb, pt_prev, 0); + ret = deliver_skb(skb, pt_prev); pt_prev = ptype; } } #ifdef CONFIG_NET_CLS_ACT if (pt_prev) { - atomic_inc(&skb->users); - ret = pt_prev->func(skb, skb->dev, pt_prev); + ret = deliver_skb(skb, pt_prev); pt_prev = NULL; /* noone else should process this after*/ } else { skb->tc_verd = SET_TC_OK2MUNGE(skb->tc_verd); @@ -1822,7 +1655,7 @@ ncls: handle_diverter(skb); - if (__handle_bridge(skb, &pt_prev, &ret)) + if (handle_bridge(&skb, &pt_prev, &ret)) goto out; type = skb->protocol; @@ -1830,7 +1663,7 @@ ncls: if (ptype->type == type && (!ptype->dev || ptype->dev == skb->dev)) { if (pt_prev) - ret = deliver_skb(skb, pt_prev, 0); + ret = deliver_skb(skb, pt_prev); pt_prev = ptype; } } @@ -1878,16 +1711,6 @@ static int process_backlog(struct net_device *backlog_dev, int *budget) if (work >= quota || jiffies - start_time > 1) break; -#ifdef CONFIG_NET_HW_FLOWCONTROL - if (queue->throttle && - queue->input_pkt_queue.qlen < no_cong_thresh ) { - queue->throttle = 0; - if (atomic_dec_and_test(&netdev_dropping)) { - netdev_wakeup(); - break; - } - } -#endif } backlog_dev->quota -= work; @@ -1902,13 +1725,8 @@ job_done: smp_mb__before_clear_bit(); netif_poll_enable(backlog_dev); - if (queue->throttle) { + if (queue->throttle) queue->throttle = 0; -#ifdef CONFIG_NET_HW_FLOWCONTROL - if (atomic_dec_and_test(&netdev_dropping)) - netdev_wakeup(); -#endif - } local_irq_enable(); return 0; } @@ -2488,8 +2306,10 @@ static int dev_ifsioc(struct ifreq *ifr, unsigned int cmd) return dev_set_mtu(dev, ifr->ifr_mtu); case SIOCGIFHWADDR: - memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr, - min(sizeof ifr->ifr_hwaddr.sa_data, (size_t) dev->addr_len)); + if ((size_t) dev->addr_len > sizeof ifr->ifr_hwaddr.sa_data) + return -EOVERFLOW; + memset(ifr->ifr_hwaddr.sa_data, 0, sizeof ifr->ifr_hwaddr.sa_data); + memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr, dev->addr_len); ifr->ifr_hwaddr.sa_family = dev->type; return 0; @@ -2809,7 +2629,7 @@ int dev_ioctl(unsigned int cmd, void __user *arg) * number. The caller must hold the rtnl semaphore or the * dev_base_lock to be sure it remains unique. */ -int dev_new_index(void) +static int dev_new_index(void) { static int ifindex; for (;;) { @@ -3283,6 +3103,8 @@ static int __init net_dev_init(void) BUG_ON(!dev_boot_phase); + net_random_init(); + if (dev_proc_init()) goto out; @@ -3339,8 +3161,6 @@ out: subsys_initcall(net_dev_init); -EXPORT_SYMBOL(__dev_get); -EXPORT_SYMBOL(__dev_get_by_flags); EXPORT_SYMBOL(__dev_get_by_index); EXPORT_SYMBOL(__dev_get_by_name); EXPORT_SYMBOL(__dev_remove_pack); @@ -3352,16 +3172,14 @@ EXPORT_SYMBOL(dev_close); EXPORT_SYMBOL(dev_get_by_flags); EXPORT_SYMBOL(dev_get_by_index); EXPORT_SYMBOL(dev_get_by_name); -EXPORT_SYMBOL(dev_getbyhwaddr); EXPORT_SYMBOL(dev_ioctl); -EXPORT_SYMBOL(dev_new_index); EXPORT_SYMBOL(dev_open); EXPORT_SYMBOL(dev_queue_xmit); -EXPORT_SYMBOL(dev_queue_xmit_nit); EXPORT_SYMBOL(dev_remove_pack); EXPORT_SYMBOL(dev_set_allmulti); EXPORT_SYMBOL(dev_set_promiscuity); EXPORT_SYMBOL(dev_change_flags); +EXPORT_SYMBOL(dev_change_name); EXPORT_SYMBOL(dev_set_mtu); EXPORT_SYMBOL(free_netdev); EXPORT_SYMBOL(netdev_boot_setup_check); @@ -3384,12 +3202,6 @@ EXPORT_SYMBOL(br_handle_frame_hook); #ifdef CONFIG_KMOD EXPORT_SYMBOL(dev_load); #endif -#ifdef CONFIG_NET_HW_FLOWCONTROL -EXPORT_SYMBOL(netdev_dropping); -EXPORT_SYMBOL(netdev_fc_xoff); -EXPORT_SYMBOL(netdev_register_fc); -EXPORT_SYMBOL(netdev_unregister_fc); -#endif #ifdef CONFIG_NET_CLS_ACT EXPORT_SYMBOL(ing_filter); diff --git a/net/core/dst.c b/net/core/dst.c index 9f14ae8a7..42aeae595 100644 --- a/net/core/dst.c +++ b/net/core/dst.c @@ -19,8 +19,6 @@ #include -const char dst_underflow_bug_msg[] = KERN_DEBUG "BUG: dst underflow %d: %p at %p\n"; - /* Locking strategy: * 1) Garbage collection state of dead destination cache * entries is protected by dst_lock. @@ -275,7 +273,6 @@ void __init dst_init(void) register_netdevice_notifier(&dst_dev_notifier); } -EXPORT_SYMBOL(dst_underflow_bug_msg); EXPORT_SYMBOL(__dst_free); EXPORT_SYMBOL(dst_alloc); EXPORT_SYMBOL(dst_destroy); diff --git a/net/core/neighbour.c b/net/core/neighbour.c index c9bd1b74f..c722fa094 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -254,18 +254,20 @@ static struct neighbour *neigh_alloc(struct neigh_table *tbl) { struct neighbour *n = NULL; unsigned long now = jiffies; + int entries; - if (tbl->entries > tbl->gc_thresh3 || - (tbl->entries > tbl->gc_thresh2 && + entries = atomic_inc_return(&tbl->entries) - 1; + if (entries >= tbl->gc_thresh3 || + (entries >= tbl->gc_thresh2 && time_after(now, tbl->last_flush + 5 * HZ))) { if (!neigh_forced_gc(tbl) && - tbl->entries > tbl->gc_thresh3) - goto out; + entries >= tbl->gc_thresh3) + goto out_entries; } n = kmem_cache_alloc(tbl->kmem_cachep, SLAB_ATOMIC); if (!n) - goto out; + goto out_entries; memset(n, 0, tbl->entry_size); @@ -281,12 +283,15 @@ static struct neighbour *neigh_alloc(struct neigh_table *tbl) NEIGH_CACHE_STAT_INC(tbl, allocs); neigh_glbl_allocs++; - tbl->entries++; n->tbl = tbl; atomic_set(&n->refcnt, 1); n->dead = 1; out: return n; + +out_entries: + atomic_dec(&tbl->entries); + goto out; } static struct neighbour **neigh_hash_alloc(unsigned int entries) @@ -427,7 +432,7 @@ struct neighbour *neigh_create(struct neigh_table *tbl, const void *pkey, write_lock_bh(&tbl->lock); - if (tbl->entries > (tbl->hash_mask + 1)) + if (atomic_read(&tbl->entries) > (tbl->hash_mask + 1)) neigh_hash_grow(tbl, (tbl->hash_mask + 1) << 1); hash_val = tbl->hash(pkey, dev) & tbl->hash_mask; @@ -608,7 +613,7 @@ void neigh_destroy(struct neighbour *neigh) NEIGH_PRINTK2("neigh %p is destroyed.\n", neigh); neigh_glbl_allocs--; - neigh->tbl->entries--; + atomic_dec(&neigh->tbl->entries); kmem_cache_free(neigh->tbl->kmem_cachep, neigh); } @@ -1394,7 +1399,7 @@ int neigh_table_clear(struct neigh_table *tbl) del_timer_sync(&tbl->proxy_timer); pneigh_queue_purge(&tbl->proxy_queue); neigh_ifdown(tbl, NULL); - if (tbl->entries) + if (atomic_read(&tbl->entries)) printk(KERN_CRIT "neighbour leakage\n"); write_lock(&neigh_tbl_lock); for (tp = &neigh_tables; *tp; tp = &(*tp)->next) { @@ -1951,7 +1956,7 @@ static int neigh_stat_seq_show(struct seq_file *seq, void *v) seq_printf(seq, "%08x %08lx %08lx %08lx %08lx %08lx %08lx " "%08lx %08lx %08lx %08lx\n", - tbl->entries, + atomic_read(&tbl->entries), st->allocs, st->destroys, diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 46d26fc92..6cf0afc7b 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -408,7 +408,6 @@ int netdev_register_sysfs(struct net_device *net) class_dev->class = &net_class; class_dev->class_data = net; - net->last_stats = net->get_stats; strlcpy(class_dev->class_id, net->name, BUS_ID_SIZE); if ((ret = class_device_register(class_dev))) diff --git a/net/core/netfilter.c b/net/core/netfilter.c index e5e32b0a4..903f382eb 100644 --- a/net/core/netfilter.c +++ b/net/core/netfilter.c @@ -698,11 +698,12 @@ int skb_ip_make_writable(struct sk_buff **pskb, unsigned int writable_len) /* DaveM says protocol headers are also modifiable. */ switch ((*pskb)->nh.iph->protocol) { case IPPROTO_TCP: { - struct tcphdr hdr; - if (skb_copy_bits(*pskb, (*pskb)->nh.iph->ihl*4, - &hdr, sizeof(hdr)) != 0) + struct tcphdr _hdr, *hp; + hp = skb_header_pointer(*pskb, (*pskb)->nh.iph->ihl*4, + sizeof(_hdr), &_hdr); + if (hp == NULL) goto copy_skb; - if (writable_len <= (*pskb)->nh.iph->ihl*4 + hdr.doff*4) + if (writable_len <= (*pskb)->nh.iph->ihl*4 + hp->doff*4) goto pull_skb; goto copy_skb; } @@ -786,13 +787,12 @@ void nf_log_packet(int pf, nf_logfn *logfn; rcu_read_lock(); - logfn = nf_logging[pf]; + logfn = rcu_dereference(nf_logging[pf]); if (logfn) { va_start(args, fmt); vsnprintf(prefix, sizeof(prefix), fmt, args); va_end(args); /* We must read logging before nf_logfn[pf] */ - smp_read_barrier_depends(); logfn(hooknum, skb, in, out, prefix); } else if (!reported) { printk(KERN_WARNING "nf_log_packet: can\'t log yet, " @@ -809,7 +809,7 @@ EXPORT_SYMBOL(nf_log_packet); tracking in use: without this, connection may not be in hash table, and hence manufactured ICMP or RST packets will not be associated with it. */ -void (*ip_ct_attach)(struct sk_buff *, struct nf_ct_info *); +void (*ip_ct_attach)(struct sk_buff *, struct sk_buff *); void __init netfilter_init(void) { diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 1ac993271..cb3a03fb1 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -18,9 +18,10 @@ #include #include #include -#include +#include #include #include +#include /* * We maintain a small pool of fully-sized skbs, to make sure the @@ -30,9 +31,6 @@ #define MAX_SKBS 32 #define MAX_UDP_CHUNK 1460 -#define NETPOLL_RX_ENABLED 1 -#define NETPOLL_RX_DROP 2 - static spinlock_t skb_list_lock = SPIN_LOCK_UNLOCKED; static int nr_skbs; static struct sk_buff *skbs; @@ -40,9 +38,11 @@ static struct sk_buff *skbs; static spinlock_t rx_list_lock = SPIN_LOCK_UNLOCKED; static LIST_HEAD(rx_list); -static int trapped; +static atomic_t trapped; +spinlock_t netpoll_poll_lock = SPIN_LOCK_UNLOCKED; -extern void (*netdump_func) (struct pt_regs *regs); +#define NETPOLL_RX_ENABLED 1 +#define NETPOLL_RX_DROP 2 #define MAX_SKB_SIZE \ (MAX_UDP_CHUNK + sizeof(struct udphdr) + \ @@ -67,7 +67,14 @@ static int checksum_udp(struct sk_buff *skb, struct udphdr *uh, void netpoll_poll(struct netpoll *np) { - int budget = netdump_mode ? 64 : 16; + /* + * In cases where there is bi-directional communications, reading + * only one message at a time can lead to packets being dropped by + * the network adapter, forcing superfluous retries and possibly + * timeouts. Thus, we set our budget to a more reasonable value. + */ + int budget = 16; + unsigned long flags; if(!np->dev || !netif_running(np->dev) || !np->dev->poll_controller) return; @@ -76,18 +83,18 @@ void netpoll_poll(struct netpoll *np) np->dev->poll_controller(np->dev); /* If scheduling is stopped, tickle NAPI bits */ - if (np->dev->poll && + spin_lock_irqsave(&netpoll_poll_lock, flags); + if (np->dev->poll && test_bit(__LINK_STATE_RX_SCHED, &np->dev->state)) { np->dev->netpoll_rx |= NETPOLL_RX_DROP; - if (trapped) { - np->dev->poll(np->dev, &budget); - } else { - trapped = 1; - np->dev->poll(np->dev, &budget); - trapped = 0; - } + atomic_inc(&trapped); + + np->dev->poll(np->dev, &budget); + + atomic_dec(&trapped); np->dev->netpoll_rx &= ~NETPOLL_RX_DROP; } + spin_unlock_irqrestore(&netpoll_poll_lock, flags); zap_completion_queue(); } @@ -131,7 +138,6 @@ static void zap_completion_queue(void) } put_cpu_var(softnet_data); - touch_nmi_watchdog(); } static struct sk_buff * find_skb(struct netpoll *np, int len, int reserve) @@ -185,6 +191,18 @@ repeat: spin_lock(&np->dev->xmit_lock); np->dev->xmit_lock_owner = smp_processor_id(); + /* + * network drivers do not expect to be called if the queue is + * stopped. + */ + if (netif_queue_stopped(np->dev)) { + np->dev->xmit_lock_owner = -1; + spin_unlock(&np->dev->xmit_lock); + + netpoll_poll(np); + goto repeat; + } + status = np->dev->hard_start_xmit(skb, np->dev); np->dev->xmit_lock_owner = -1; spin_unlock(&np->dev->xmit_lock); @@ -223,17 +241,17 @@ void netpoll_send_udp(struct netpoll *np, const char *msg, int len) iph = (struct iphdr *)skb_push(skb, sizeof(*iph)); - iph->version = 4; - iph->ihl = 5; + /* iph->version = 4; iph->ihl = 5; */ + put_unaligned(0x45, (unsigned char *)iph); iph->tos = 0; - iph->tot_len = htons(ip_len); + put_unaligned(htons(ip_len), &(iph->tot_len)); iph->id = 0; iph->frag_off = 0; iph->ttl = 64; iph->protocol = IPPROTO_UDP; iph->check = 0; - iph->saddr = htonl(np->local_ip); - iph->daddr = htonl(np->remote_ip); + put_unaligned(htonl(np->local_ip), &(iph->saddr)); + put_unaligned(htonl(np->remote_ip), &(iph->daddr)); iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); eth = (struct ethhdr *) skb_push(skb, ETH_HLEN); @@ -350,19 +368,17 @@ int netpoll_rx(struct sk_buff *skb) struct list_head *p; unsigned long flags; - if (!(skb->dev->netpoll_rx & NETPOLL_RX_ENABLED)) - return 1; - if (skb->dev->type != ARPHRD_ETHER) goto out; /* check if netpoll clients need ARP */ - if (skb->protocol == __constant_htons(ETH_P_ARP) && trapped) { + if (skb->protocol == __constant_htons(ETH_P_ARP) && + atomic_read(&trapped)) { arp_reply(skb); return 1; } - proto = ntohs(skb->mac.ethernet->h_proto); + proto = ntohs(eth_hdr(skb)->h_proto); if (proto != ETH_P_IP) goto out; if (skb->pkt_type == PACKET_OTHERHOST) @@ -420,7 +436,7 @@ int netpoll_rx(struct sk_buff *skb) spin_unlock_irqrestore(&rx_list_lock, flags); out: - return trapped; + return atomic_read(&trapped); } int netpoll_parse_options(struct netpoll *np, char *opt) @@ -592,16 +608,18 @@ int netpoll_setup(struct netpoll *np) memcpy(np->local_mac, ndev->dev_addr, 6); if (!np->local_ip) { - in_dev = in_dev_get(ndev); + rcu_read_lock(); + in_dev = __in_dev_get(ndev); if (!in_dev) { + rcu_read_unlock(); printk(KERN_ERR "%s: no IP address for %s, aborting\n", np->name, np->dev_name); goto release; } np->local_ip = ntohl(in_dev->ifa_list->ifa_local); - in_dev_put(in_dev); + rcu_read_unlock(); printk(KERN_INFO "%s: local IP %d.%d.%d.%d\n", np->name, HIPQUAD(np->local_ip)); } @@ -618,9 +636,6 @@ int netpoll_setup(struct netpoll *np) spin_unlock_irqrestore(&rx_list_lock, flags); } - if(np->dump_func) - netdump_func = np->dump_func; - return 0; release: dev_put(ndev); @@ -629,34 +644,31 @@ int netpoll_setup(struct netpoll *np) void netpoll_cleanup(struct netpoll *np) { - if(np->rx_hook) { + if (np->rx_hook) { unsigned long flags; spin_lock_irqsave(&rx_list_lock, flags); list_del(&np->rx_list); - np->dev->netpoll_rx = 0; spin_unlock_irqrestore(&rx_list_lock, flags); } + if (np->dev) + np->dev->netpoll_rx = 0; dev_put(np->dev); np->dev = NULL; } int netpoll_trap(void) { - return trapped; + return atomic_read(&trapped); } void netpoll_set_trap(int trap) { - trapped = trap; -} - -void netpoll_reset_locks(struct netpoll *np) -{ - spin_lock_init(&rx_list_lock); - spin_lock_init(&skb_list_lock); - spin_lock_init(&np->dev->xmit_lock); + if (trap) + atomic_inc(&trapped); + else + atomic_dec(&trapped); } EXPORT_SYMBOL(netpoll_set_trap); @@ -667,4 +679,3 @@ EXPORT_SYMBOL(netpoll_cleanup); EXPORT_SYMBOL(netpoll_send_skb); EXPORT_SYMBOL(netpoll_send_udp); EXPORT_SYMBOL(netpoll_poll); -EXPORT_SYMBOL_GPL(netpoll_reset_locks); diff --git a/net/core/pktgen.c b/net/core/pktgen.c index d1a62cddb..1d1c5451f 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -52,6 +52,9 @@ * * Fixed unaligned access on IA-64 Grant Grundler * + * New xmit() return, do_div and misc clean up by Stephen Hemminger + * 040923 + * * See Documentation/networking/pktgen.txt for how to use this. */ @@ -70,6 +73,7 @@ #include #include #include +#include #include #include #include @@ -93,7 +97,7 @@ #define VERSION "pktgen version 1.32" static char version[] __initdata = - "pktgen.c: v1.3: Packet Generator for packet performance testing.\n"; + "pktgen.c: v1.4: Packet Generator for packet performance testing.\n"; /* Used to help with determining the pkts on receive */ @@ -263,14 +267,17 @@ static struct net_device *setup_inject(struct pktgen_info* info) info->saddr_min = 0; info->saddr_max = 0; if (strlen(info->src_min) == 0) { - struct in_device *in_dev = in_dev_get(odev); + struct in_device *in_dev; + + rcu_read_lock(); + in_dev = __in_dev_get(odev); if (in_dev) { if (in_dev->ifa_list) { info->saddr_min = in_dev->ifa_list->ifa_address; info->saddr_max = info->saddr_min; } - in_dev_put(in_dev); } + rcu_read_unlock(); } else { info->saddr_min = in_aton(info->src_min); @@ -580,15 +587,48 @@ static struct sk_buff *fill_packet(struct net_device *odev, struct pktgen_info* return skb; } +static void show_results(struct pktgen_info* info, int nr_frags) +{ + __u64 total, bps, mbps, pps; + unsigned long idle; + int size = info->pkt_size + 4; /* incl 32bit ethernet CRC */ + char *p = info->result; + + total = (info->stopped_at.tv_sec - info->started_at.tv_sec) * 1000000ull + + info->stopped_at.tv_usec - info->started_at.tv_usec; + + BUG_ON(cpu_speed == 0); + + idle = info->idle_acc; + do_div(idle, cpu_speed); + + p += sprintf(p, "OK: %llu(c%llu+d%lu) usec, %llu (%dbyte,%dfrags)\n", + total, total - idle, idle, + info->sofar, size, nr_frags); + + pps = info->sofar * USEC_PER_SEC; + + while ((total >> 32) != 0) { + pps >>= 1; + total >>= 1; + } + + do_div(pps, total); + + bps = pps * 8 * size; + + mbps = bps; + do_div(mbps, 1000000); + p += sprintf(p, " %llupps %lluMb/sec (%llubps) errors: %llu", + pps, mbps, bps, info->errors); +} static void inject(struct pktgen_info* info) { - struct net_device *odev = NULL; + struct net_device *odev; struct sk_buff *skb = NULL; - __u64 total = 0; - __u64 idle = 0; __u64 lcount = 0; - int nr_frags = 0; + int ret; int last_ok = 1; /* Was last skb sent? * Or a failed transmit of some sort? This will keep * sequence numbers in order, for example. @@ -628,35 +668,38 @@ static void inject(struct pktgen_info* info) } } - nr_frags = skb_shinfo(skb)->nr_frags; - - spin_lock_bh(&odev->xmit_lock); + if (!(odev->features & NETIF_F_LLTX)) + spin_lock_bh(&odev->xmit_lock); if (!netif_queue_stopped(odev)) { atomic_inc(&skb->users); - if (odev->hard_start_xmit(skb, odev)) { - + retry: + ret = odev->hard_start_xmit(skb, odev); + if (likely(ret == NETDEV_TX_OK)) { + last_ok = 1; + info->sofar++; + info->seq_num++; + } else if (ret == NETDEV_TX_LOCKED + && (odev->features & NETIF_F_LLTX)) { + cpu_relax(); + goto retry; + } else { atomic_dec(&skb->users); - if (net_ratelimit()) { + if (debug && net_ratelimit()) { printk(KERN_INFO "Hard xmit error\n"); } info->errors++; last_ok = 0; } - else { - last_ok = 1; - info->sofar++; - info->seq_num++; - } } else { /* Re-try it next time */ last_ok = 0; } - - spin_unlock_bh(&odev->xmit_lock); + if (!(odev->features & NETIF_F_LLTX)) + spin_unlock_bh(&odev->xmit_lock); if (info->ipg) { /* Try not to busy-spin if we have larger sleep times. @@ -720,38 +763,7 @@ static void inject(struct pktgen_info* info) do_gettimeofday(&(info->stopped_at)); - total = (info->stopped_at.tv_sec - info->started_at.tv_sec) * 1000000 + - info->stopped_at.tv_usec - info->started_at.tv_usec; - - idle = (__u32)(info->idle_acc)/(__u32)(cpu_speed); - - { - char *p = info->result; - __u64 bps, pps = 0; - - if (total > 1000) - pps = (__u32)(info->sofar * 1000) / ((__u32)(total) / 1000); - else if(total > 100) - pps = (__u32)(info->sofar * 10000) / ((__u32)(total) / 100); - else if(total > 10) - pps = (__u32)(info->sofar * 100000) / ((__u32)(total) / 10); - else if(total > 1) - pps = (__u32)(info->sofar * 1000000) / (__u32)total; - - bps = pps * 8 * (info->pkt_size + 4); /* take 32bit ethernet CRC into account */ - p += sprintf(p, "OK: %llu(c%llu+d%llu) usec, %llu (%dbyte,%dfrags) %llupps %lluMb/sec (%llubps) errors: %llu", - (unsigned long long) total, - (unsigned long long) (total - idle), - (unsigned long long) idle, - (unsigned long long) info->sofar, - skb->len + 4, /* Add 4 to account for the ethernet checksum */ - nr_frags, - (unsigned long long) pps, - (unsigned long long) (bps / (u64) 1024 / (u64) 1024), - (unsigned long long) bps, - (unsigned long long) info->errors - ); - } + show_results(info, skb_shinfo(skb)->nr_frags); kfree_skb(skb); diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index e0b5e89c8..52641b0a5 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -166,31 +166,58 @@ static int rtnetlink_fill_ifinfo(struct sk_buff *skb, struct net_device *dev, r->ifi_family = AF_UNSPEC; r->ifi_type = dev->type; r->ifi_index = dev->ifindex; - r->ifi_flags = dev->flags; + r->ifi_flags = dev_get_flags(dev); r->ifi_change = change; - if (!netif_running(dev) || !netif_carrier_ok(dev)) - r->ifi_flags &= ~IFF_RUNNING; - else - r->ifi_flags |= IFF_RUNNING; - RTA_PUT(skb, IFLA_IFNAME, strlen(dev->name)+1, dev->name); + + if (1) { + u32 txqlen = dev->tx_queue_len; + RTA_PUT(skb, IFLA_TXQLEN, sizeof(txqlen), &txqlen); + } + + if (1) { + u32 weight = dev->weight; + RTA_PUT(skb, IFLA_WEIGHT, sizeof(weight), &weight); + } + + if (1) { + struct rtnl_link_ifmap map = { + .mem_start = dev->mem_start, + .mem_end = dev->mem_end, + .base_addr = dev->base_addr, + .irq = dev->irq, + .dma = dev->dma, + .port = dev->if_port, + }; + RTA_PUT(skb, IFLA_MAP, sizeof(map), &map); + } + if (dev->addr_len) { RTA_PUT(skb, IFLA_ADDRESS, dev->addr_len, dev->dev_addr); RTA_PUT(skb, IFLA_BROADCAST, dev->addr_len, dev->broadcast); } + if (1) { - unsigned mtu = dev->mtu; + u32 mtu = dev->mtu; RTA_PUT(skb, IFLA_MTU, sizeof(mtu), &mtu); } - if (dev->ifindex != dev->iflink) - RTA_PUT(skb, IFLA_LINK, sizeof(int), &dev->iflink); + + if (dev->ifindex != dev->iflink) { + u32 iflink = dev->iflink; + RTA_PUT(skb, IFLA_LINK, sizeof(iflink), &iflink); + } + if (dev->qdisc_sleeping) RTA_PUT(skb, IFLA_QDISC, strlen(dev->qdisc_sleeping->ops->id) + 1, dev->qdisc_sleeping->ops->id); - if (dev->master) - RTA_PUT(skb, IFLA_MASTER, sizeof(int), &dev->master->ifindex); + + if (dev->master) { + u32 master = dev->master->ifindex; + RTA_PUT(skb, IFLA_MASTER, sizeof(master), &master); + } + if (dev->get_stats) { unsigned long *stats = (unsigned long*)dev->get_stats(dev); if (stats) { @@ -238,7 +265,7 @@ static int do_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) struct ifinfomsg *ifm = NLMSG_DATA(nlh); struct rtattr **ida = arg; struct net_device *dev; - int err; + int err, send_addr_notify = 0; dev = dev_get_by_index(ifm->ifi_index); if (!dev) @@ -246,6 +273,41 @@ static int do_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) err = -EINVAL; + if (ifm->ifi_flags) + dev_change_flags(dev, ifm->ifi_flags); + + if (ida[IFLA_MAP - 1]) { + struct rtnl_link_ifmap *u_map; + struct ifmap k_map; + + if (!dev->set_config) { + err = -EOPNOTSUPP; + goto out; + } + + if (!netif_device_present(dev)) { + err = -ENODEV; + goto out; + } + + if (ida[IFLA_MAP - 1]->rta_len != RTA_LENGTH(sizeof(*u_map))) + goto out; + + u_map = RTA_DATA(ida[IFLA_MAP - 1]); + + k_map.mem_start = (unsigned long) u_map->mem_start; + k_map.mem_end = (unsigned long) u_map->mem_end; + k_map.base_addr = (unsigned short) u_map->base_addr; + k_map.irq = (unsigned char) u_map->irq; + k_map.dma = (unsigned char) u_map->dma; + k_map.port = (unsigned char) u_map->port; + + err = dev->set_config(dev, &k_map); + + if (err) + goto out; + } + if (ida[IFLA_ADDRESS - 1]) { if (!dev->set_mac_address) { err = -EOPNOTSUPP; @@ -261,6 +323,7 @@ static int do_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) err = dev->set_mac_address(dev, RTA_DATA(ida[IFLA_ADDRESS - 1])); if (err) goto out; + send_addr_notify = 1; } if (ida[IFLA_BROADCAST - 1]) { @@ -268,12 +331,54 @@ static int do_setlink(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) goto out; memcpy(dev->broadcast, RTA_DATA(ida[IFLA_BROADCAST - 1]), dev->addr_len); + send_addr_notify = 1; + } + + if (ida[IFLA_MTU - 1]) { + if (ida[IFLA_MTU - 1]->rta_len != RTA_LENGTH(sizeof(u32))) + goto out; + err = dev_set_mtu(dev, *((u32 *) RTA_DATA(ida[IFLA_MTU - 1]))); + + if (err) + goto out; + + } + + if (ida[IFLA_TXQLEN - 1]) { + if (ida[IFLA_TXQLEN - 1]->rta_len != RTA_LENGTH(sizeof(u32))) + goto out; + + dev->tx_queue_len = *((u32 *) RTA_DATA(ida[IFLA_TXQLEN - 1])); + } + + if (ida[IFLA_WEIGHT - 1]) { + if (ida[IFLA_WEIGHT - 1]->rta_len != RTA_LENGTH(sizeof(u32))) + goto out; + + dev->weight = *((u32 *) RTA_DATA(ida[IFLA_WEIGHT - 1])); + } + + if (ida[IFLA_IFNAME - 1]) { + char ifname[IFNAMSIZ]; + + if (ida[IFLA_IFNAME - 1]->rta_len > RTA_LENGTH(sizeof(ifname))) + goto out; + + memset(ifname, 0, sizeof(ifname)); + memcpy(ifname, RTA_DATA(ida[IFLA_IFNAME - 1]), + RTA_PAYLOAD(ida[IFLA_IFNAME - 1])); + ifname[IFNAMSIZ - 1] = '\0'; + + err = dev_change_name(dev, ifname); + + if (err) + goto out; } err = 0; out: - if (!err) + if (send_addr_notify) call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); dev_put(dev); @@ -307,7 +412,9 @@ static int rtnetlink_dump_all(struct sk_buff *skb, struct netlink_callback *cb) void rtmsg_ifinfo(int type, struct net_device *dev, unsigned change) { struct sk_buff *skb; - int size = NLMSG_GOODSIZE; + int size = NLMSG_SPACE(sizeof(struct ifinfomsg) + + sizeof(struct rtnl_link_ifmap) + + sizeof(struct rtnl_link_stats) + 128); skb = alloc_skb(size, GFP_KERNEL); if (!skb) @@ -326,6 +433,10 @@ static int rtnetlink_done(struct netlink_callback *cb) return 0; } +/* Protected by RTNL sempahore. */ +static struct rtattr **rta_buf; +static int rtattr_max; + /* Process one rtnetlink message. */ static __inline__ int @@ -333,8 +444,6 @@ rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, int *errp) { struct rtnetlink_link *link; struct rtnetlink_link *link_tab; - struct rtattr *rta[RTATTR_MAX]; - int sz_idx, kind; int min_len; int family; @@ -401,7 +510,7 @@ rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, int *errp) return -1; } - memset(&rta, 0, sizeof(rta)); + memset(rta_buf, 0, (rtattr_max * sizeof(struct rtattr *))); min_len = rtm_min[sz_idx]; if (nlh->nlmsg_len < min_len) @@ -416,7 +525,7 @@ rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, int *errp) if (flavor) { if (flavor > rta_max[sz_idx]) goto err_inval; - rta[flavor-1] = attr; + rta_buf[flavor-1] = attr; } attr = RTA_NEXT(attr, attrlen); } @@ -426,7 +535,7 @@ rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, int *errp) link = &(rtnetlink_links[PF_UNSPEC][type]); if (link->doit == NULL) goto err_inval; - err = link->doit(skb, nlh, (void *)&rta); + err = link->doit(skb, nlh, (void *)&rta_buf[0]); *errp = err; return err; @@ -546,6 +655,16 @@ static struct notifier_block rtnetlink_dev_notifier = { void __init rtnetlink_init(void) { + int i; + + rtattr_max = 0; + for (i = 0; i < ARRAY_SIZE(rta_max); i++) + if (rta_max[i] > rtattr_max) + rtattr_max = rta_max[i]; + rta_buf = kmalloc(rtattr_max * sizeof(struct rtattr *), GFP_KERNEL); + if (!rta_buf) + panic("rtnetlink_init: cannot allocate rta_buf\n"); + rtnl = netlink_kernel_create(NETLINK_ROUTE, rtnetlink_rcv); if (rtnl == NULL) panic("rtnetlink_init: cannot initialize rtnetlink\n"); diff --git a/net/core/skbuff.c b/net/core/skbuff.c index b79788620..29dba96cc 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -311,6 +311,7 @@ struct sk_buff *skb_clone(struct sk_buff *skb, int gfp_mask) C(nfcache); C(nfct); nf_conntrack_get(skb->nfct); + C(nfctinfo); #ifdef CONFIG_NETFILTER_DEBUG C(nf_debug); #endif @@ -378,6 +379,7 @@ static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old) new->nfcache = old->nfcache; new->nfct = old->nfct; nf_conntrack_get(old->nfct); + new->nfctinfo = old->nfctinfo; #ifdef CONFIG_NETFILTER_DEBUG new->nf_debug = old->nf_debug; #endif @@ -394,6 +396,8 @@ static void copy_skb_header(struct sk_buff *new, const struct sk_buff *old) #endif new->xid = old->xid; atomic_set(&new->users, 1); + skb_shinfo(new)->tso_size = skb_shinfo(old)->tso_size; + skb_shinfo(new)->tso_segs = skb_shinfo(old)->tso_segs; } /** @@ -483,8 +487,6 @@ struct sk_buff *pskb_copy(struct sk_buff *skb, int gfp_mask) } skb_shinfo(n)->nr_frags = i; } - skb_shinfo(n)->tso_size = skb_shinfo(skb)->tso_size; - skb_shinfo(n)->tso_segs = skb_shinfo(skb)->tso_segs; if (skb_shinfo(skb)->frag_list) { skb_shinfo(n)->frag_list = skb_shinfo(skb)->frag_list; @@ -631,8 +633,6 @@ struct sk_buff *skb_copy_expand(const struct sk_buff *skb, BUG(); copy_skb_header(n, skb); - skb_shinfo(n)->tso_size = skb_shinfo(skb)->tso_size; - skb_shinfo(n)->tso_segs = skb_shinfo(skb)->tso_segs; return n; } diff --git a/net/core/sock.c b/net/core/sock.c index 266397922..33b4b5942 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -176,6 +176,15 @@ static void sock_warn_obsolete_bsdism(const char *name) } } +static void sock_disable_timestamp(struct sock *sk) +{ + if (sock_flag(sk, SOCK_TIMESTAMP)) { + sock_reset_flag(sk, SOCK_TIMESTAMP); + atomic_dec(&netstamp_needed); + } +} + + /* * This is meant for all protocols to use and covers goings on * at the socket level. Everything here is generic. @@ -924,7 +933,7 @@ struct sk_buff *sock_alloc_send_skb(struct sock *sk, unsigned long size, return sock_alloc_send_pskb(sk, size, 0, noblock, errcode); } -void __lock_sock(struct sock *sk) +static void __lock_sock(struct sock *sk) { DEFINE_WAIT(wait); @@ -940,7 +949,7 @@ void __lock_sock(struct sock *sk) finish_wait(&sk->sk_lock.wq, &wait); } -void __release_sock(struct sock *sk) +static void __release_sock(struct sock *sk) { struct sk_buff *skb = sk->sk_backlog.head; @@ -992,11 +1001,6 @@ EXPORT_SYMBOL(sk_wait_data); * function, some default processing is provided. */ -int sock_no_release(struct socket *sock) -{ - return 0; -} - int sock_no_bind(struct socket *sock, struct sockaddr *saddr, int len) { return -EOPNOTSUPP; @@ -1272,15 +1276,6 @@ void sock_enable_timestamp(struct sock *sk) } EXPORT_SYMBOL(sock_enable_timestamp); -void sock_disable_timestamp(struct sock *sk) -{ - if (sock_flag(sk, SOCK_TIMESTAMP)) { - sock_reset_flag(sk, SOCK_TIMESTAMP); - atomic_dec(&netstamp_needed); - } -} -EXPORT_SYMBOL(sock_disable_timestamp); - /* * Get a socket option on an socket. * @@ -1368,14 +1363,31 @@ void sk_common_release(struct sock *sk) EXPORT_SYMBOL(sk_common_release); -EXPORT_SYMBOL(__lock_sock); -EXPORT_SYMBOL(__release_sock); +int sk_alloc_slab(struct proto *prot, char *name) +{ + prot->slab = kmem_cache_create(name, + prot->slab_obj_size, 0, + SLAB_HWCACHE_ALIGN, NULL, NULL); + + return prot->slab != NULL ? 0 : -ENOBUFS; +} + +EXPORT_SYMBOL(sk_alloc_slab); + +void sk_free_slab(struct proto *prot) +{ + if (prot->slab != NULL) { + kmem_cache_destroy(prot->slab); + prot->slab = NULL; + } +} + +EXPORT_SYMBOL(sk_free_slab); EXPORT_SYMBOL(sk_alloc); EXPORT_SYMBOL(sk_free); EXPORT_SYMBOL(sk_send_sigurg); EXPORT_SYMBOL(sock_alloc_send_pskb); EXPORT_SYMBOL(sock_alloc_send_skb); -EXPORT_SYMBOL(sock_getsockopt); EXPORT_SYMBOL(sock_init_data); EXPORT_SYMBOL(sock_kfree_s); EXPORT_SYMBOL(sock_kmalloc); @@ -1389,14 +1401,12 @@ EXPORT_SYMBOL(sock_no_listen); EXPORT_SYMBOL(sock_no_mmap); EXPORT_SYMBOL(sock_no_poll); EXPORT_SYMBOL(sock_no_recvmsg); -EXPORT_SYMBOL(sock_no_release); EXPORT_SYMBOL(sock_no_sendmsg); EXPORT_SYMBOL(sock_no_sendpage); EXPORT_SYMBOL(sock_no_setsockopt); EXPORT_SYMBOL(sock_no_shutdown); EXPORT_SYMBOL(sock_no_socketpair); EXPORT_SYMBOL(sock_rfree); -EXPORT_SYMBOL(sock_rmalloc); EXPORT_SYMBOL(sock_setsockopt); EXPORT_SYMBOL(sock_wfree); EXPORT_SYMBOL(sock_wmalloc); diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 11b0f0c6d..a21a32680 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include @@ -247,21 +248,6 @@ static struct dn_dev_sysctl_table { }, {0}} }; -static inline __u16 mtu2blksize(struct net_device *dev) -{ - u32 blksize = dev->mtu; - if (blksize > 0xffff) - blksize = 0xffff; - - if (dev->type == ARPHRD_ETHER || - dev->type == ARPHRD_PPP || - dev->type == ARPHRD_IPGRE || - dev->type == ARPHRD_LOOPBACK) - blksize -= 2; - - return (__u16)blksize; -} - static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms *parms) { struct dn_dev_sysctl_table *t; @@ -314,52 +300,6 @@ static void dn_dev_sysctl_unregister(struct dn_dev_parms *parms) } } -struct net_device *dn_dev_get_default(void) -{ - struct net_device *dev; - read_lock(&dndev_lock); - dev = decnet_default_device; - if (dev) { - if (dev->dn_ptr) - dev_hold(dev); - else - dev = NULL; - } - read_unlock(&dndev_lock); - return dev; -} - -int dn_dev_set_default(struct net_device *dev, int force) -{ - struct net_device *old = NULL; - int rv = -EBUSY; - if (!dev->dn_ptr) - return -ENODEV; - write_lock(&dndev_lock); - if (force || decnet_default_device == NULL) { - old = decnet_default_device; - decnet_default_device = dev; - rv = 0; - } - write_unlock(&dndev_lock); - if (old) - dev_put(dev); - return rv; -} - -static void dn_dev_check_default(struct net_device *dev) -{ - write_lock(&dndev_lock); - if (dev == decnet_default_device) { - decnet_default_device = NULL; - } else { - dev = NULL; - } - write_unlock(&dndev_lock); - if (dev) - dev_put(dev); -} - static int dn_forwarding_proc(ctl_table *table, int write, struct file *filep, void __user *buffer, @@ -454,6 +394,21 @@ static void dn_dev_sysctl_register(struct net_device *dev, struct dn_dev_parms * #endif /* CONFIG_SYSCTL */ +static inline __u16 mtu2blksize(struct net_device *dev) +{ + u32 blksize = dev->mtu; + if (blksize > 0xffff) + blksize = 0xffff; + + if (dev->type == ARPHRD_ETHER || + dev->type == ARPHRD_PPP || + dev->type == ARPHRD_IPGRE || + dev->type == ARPHRD_LOOPBACK) + blksize -= 2; + + return (__u16)blksize; +} + static struct dn_ifaddr *dn_dev_alloc_ifa(void) { struct dn_ifaddr *ifa; @@ -635,6 +590,52 @@ rarok: goto done; } +struct net_device *dn_dev_get_default(void) +{ + struct net_device *dev; + read_lock(&dndev_lock); + dev = decnet_default_device; + if (dev) { + if (dev->dn_ptr) + dev_hold(dev); + else + dev = NULL; + } + read_unlock(&dndev_lock); + return dev; +} + +int dn_dev_set_default(struct net_device *dev, int force) +{ + struct net_device *old = NULL; + int rv = -EBUSY; + if (!dev->dn_ptr) + return -ENODEV; + write_lock(&dndev_lock); + if (force || decnet_default_device == NULL) { + old = decnet_default_device; + decnet_default_device = dev; + rv = 0; + } + write_unlock(&dndev_lock); + if (old) + dev_put(dev); + return rv; +} + +static void dn_dev_check_default(struct net_device *dev) +{ + write_lock(&dndev_lock); + if (dev == decnet_default_device) { + decnet_default_device = NULL; + } else { + dev = NULL; + } + write_unlock(&dndev_lock); + if (dev) + dev_put(dev); +} + static struct dn_dev *dn_dev_by_index(int ifindex) { struct net_device *dev; @@ -1108,6 +1109,7 @@ struct dn_dev *dn_dev_create(struct net_device *dev, int *err) memset(dn_db, 0, sizeof(struct dn_dev)); memcpy(&dn_db->parms, p, sizeof(struct dn_dev_parms)); + smp_wmb(); dev->dn_ptr = dn_db; dn_db->dev = dev; init_timer(&dn_db->timer); @@ -1215,6 +1217,7 @@ static void dn_dev_delete(struct net_device *dev) dev->dn_ptr = NULL; neigh_parms_release(&dn_neigh_table, dn_db->neigh_parms); + neigh_ifdown(&dn_neigh_table, dev); if (dn_db->router) neigh_release(dn_db->router); diff --git a/net/decnet/dn_route.c b/net/decnet/dn_route.c index c181467dd..64bdf10b7 100644 --- a/net/decnet/dn_route.c +++ b/net/decnet/dn_route.c @@ -1,4 +1,3 @@ - /* * DECnet An implementation of the DECnet protocol suite for the LINUX * operating system. DECnet is implemented using the BSD Socket @@ -146,14 +145,14 @@ static __inline__ unsigned dn_hash(unsigned short src, unsigned short dst) static inline void dnrt_free(struct dn_route *rt) { - call_rcu(&rt->u.dst.rcu_head, dst_rcu_free); + call_rcu_bh(&rt->u.dst.rcu_head, dst_rcu_free); } static inline void dnrt_drop(struct dn_route *rt) { if (rt) dst_release(&rt->u.dst); - call_rcu(&rt->u.dst.rcu_head, dst_rcu_free); + call_rcu_bh(&rt->u.dst.rcu_head, dst_rcu_free); } static void dn_dst_check_expire(unsigned long dummy) @@ -997,7 +996,7 @@ source_ok: * here */ if (!try_hard) { - neigh = dn_neigh_lookup(&dn_neigh_table, &fl.fld_dst); + neigh = neigh_lookup_nodev(&dn_neigh_table, &fl.fld_dst); if (neigh) { if ((oldflp->oif && (neigh->dev->ifindex != oldflp->oif)) || @@ -1174,9 +1173,9 @@ static int __dn_route_output_key(struct dst_entry **pprt, const struct flowi *fl struct dn_route *rt = NULL; if (!(flags & MSG_TRYHARD)) { - rcu_read_lock(); - for(rt = dn_rt_hash_table[hash].chain; rt; rt = rt->u.rt_next) { - read_barrier_depends(); + rcu_read_lock_bh(); + for(rt = rcu_dereference(dn_rt_hash_table[hash].chain); rt; + rt = rcu_dereference(rt->u.rt_next)) { if ((flp->fld_dst == rt->fl.fld_dst) && (flp->fld_src == rt->fl.fld_src) && #ifdef CONFIG_DECNET_ROUTE_FWMARK @@ -1187,12 +1186,12 @@ static int __dn_route_output_key(struct dst_entry **pprt, const struct flowi *fl rt->u.dst.lastuse = jiffies; dst_hold(&rt->u.dst); rt->u.dst.__use++; - rcu_read_unlock(); + rcu_read_unlock_bh(); *pprt = &rt->u.dst; return 0; } } - rcu_read_unlock(); + rcu_read_unlock_bh(); } return dn_route_output_slow(pprt, flp, flags); @@ -1454,8 +1453,8 @@ int dn_route_input(struct sk_buff *skb) return 0; rcu_read_lock(); - for(rt = dn_rt_hash_table[hash].chain; rt != NULL; rt = rt->u.rt_next) { - read_barrier_depends(); + for(rt = rcu_dereference(dn_rt_hash_table[hash].chain); rt != NULL; + rt = rcu_dereference(rt->u.rt_next)) { if ((rt->fl.fld_src == cb->src) && (rt->fl.fld_dst == cb->dst) && (rt->fl.oif == 0) && @@ -1647,21 +1646,22 @@ int dn_cache_dump(struct sk_buff *skb, struct netlink_callback *cb) continue; if (h > s_h) s_idx = 0; - rcu_read_lock(); - for(rt = dn_rt_hash_table[h].chain, idx = 0; rt; rt = rt->u.rt_next, idx++) { - read_barrier_depends(); + rcu_read_lock_bh(); + for(rt = rcu_dereference(dn_rt_hash_table[h].chain), idx = 0; + rt; + rt = rcu_dereference(rt->u.rt_next), idx++) { if (idx < s_idx) continue; skb->dst = dst_clone(&rt->u.dst); if (dn_rt_fill_info(skb, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, RTM_NEWROUTE, 1) <= 0) { dst_release(xchg(&skb->dst, NULL)); - rcu_read_unlock(); + rcu_read_unlock_bh(); goto done; } dst_release(xchg(&skb->dst, NULL)); } - rcu_read_unlock(); + rcu_read_unlock_bh(); } done: @@ -1681,7 +1681,7 @@ static struct dn_route *dn_rt_cache_get_first(struct seq_file *seq) struct dn_rt_cache_iter_state *s = seq->private; for(s->bucket = dn_rt_hash_mask; s->bucket >= 0; --s->bucket) { - rcu_read_lock(); + rcu_read_lock_bh(); rt = dn_rt_hash_table[s->bucket].chain; if (rt) break; @@ -1692,15 +1692,14 @@ static struct dn_route *dn_rt_cache_get_first(struct seq_file *seq) static struct dn_route *dn_rt_cache_get_next(struct seq_file *seq, struct dn_route *rt) { - struct dn_rt_cache_iter_state *s = seq->private; + struct dn_rt_cache_iter_state *s = rcu_dereference(seq->private); - smp_read_barrier_depends(); rt = rt->u.rt_next; while(!rt) { - rcu_read_unlock(); + rcu_read_unlock_bh(); if (--s->bucket < 0) break; - rcu_read_lock(); + rcu_read_lock_bh(); rt = dn_rt_hash_table[s->bucket].chain; } return rt; @@ -1727,7 +1726,7 @@ static void *dn_rt_cache_seq_next(struct seq_file *seq, void *v, loff_t *pos) static void dn_rt_cache_seq_stop(struct seq_file *seq, void *v) { if (v) - rcu_read_unlock(); + rcu_read_unlock_bh(); } static int dn_rt_cache_seq_show(struct seq_file *seq, void *v) diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c index 07b4cff2f..fc31ae120 100644 --- a/net/econet/af_econet.c +++ b/net/econet/af_econet.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include @@ -401,16 +402,17 @@ static int econet_sendmsg(struct kiocb *iocb, struct socket *sock, y.x maps to IP a.b.c.x. This should be replaced with something more flexible and more aware of subnet masks. */ { - struct in_device *idev = in_dev_get(dev); + struct in_device *idev; unsigned long network = 0; + + rcu_read_lock(); + idev = __in_dev_get(dev); if (idev) { - read_lock(&idev->lock); if (idev->ifa_list) network = ntohl(idev->ifa_list->ifa_address) & 0xffffff00; /* !!! */ - read_unlock(&idev->lock); - in_dev_put(idev); } + rcu_read_unlock(); udpdest.sin_addr.s_addr = htonl(network | addr.station); } diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index 9569f3a80..a238f92ec 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c @@ -163,10 +163,8 @@ unsigned short eth_type_trans(struct sk_buff *skb, struct net_device *dev) skb->mac.raw=skb->data; skb_pull(skb,ETH_HLEN); - eth= skb->mac.ethernet; -#ifdef CONFIG_NET_CLS_ACT + eth = eth_hdr(skb); skb->input_dev = dev; -#endif if(*eth->h_dest&1) { @@ -212,7 +210,7 @@ unsigned short eth_type_trans(struct sk_buff *skb, struct net_device *dev) int eth_header_parse(struct sk_buff *skb, unsigned char *haddr) { - struct ethhdr *eth = skb->mac.ethernet; + struct ethhdr *eth = eth_hdr(skb); memcpy(haddr, eth->h_source, ETH_ALEN); return ETH_ALEN; } diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig index 31e54166a..27f47baee 100644 --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig @@ -60,12 +60,8 @@ config IP_MULTIPLE_TABLES Normally, a router decides what to do with a received packet based solely on the packet's final destination address. If you say Y here, the Linux router will also be able to take the packet's source - address into account. Furthermore, if you also say Y to "Use TOS - value as routing key" below, the TOS (Type-Of-Service) field of the - packet can be used for routing decisions as well. In addition, if - you say Y here and to "Fast network address translation" below, - the router will also be able to modify source and destination - addresses of forwarded packets. + address into account. Furthermore, the TOS (Type-Of-Service) field + of the packet can be used for routing decisions as well. If you are interested in this, please see the preliminary documentation at @@ -82,16 +78,6 @@ config IP_ROUTE_FWMARK If you say Y here, you will be able to specify different routes for packets with different mark values (see iptables(8), MARK target). -config IP_ROUTE_NAT - bool "IP: fast network address translation" - depends on IP_MULTIPLE_TABLES - help - If you say Y here, your router will be able to modify source and - destination addresses of packets that pass through it, in a manner - you specify. General information about Network Address Translation - can be gotten from the document - . - config IP_ROUTE_MULTIPATH bool "IP: equal cost multipath" depends on IP_ADVANCED_ROUTER @@ -104,16 +90,6 @@ config IP_ROUTE_MULTIPATH equal "cost" and chooses one of them in a non-deterministic fashion if a matching packet arrives. -config IP_ROUTE_TOS - bool "IP: use TOS value as routing key" - depends on IP_ADVANCED_ROUTER - help - The header of every IP packet carries a TOS (Type Of Service) value - with which the packet requests a certain treatment, e.g. low - latency (for interactive traffic), high throughput, or high - reliability. If you say Y here, you will be able to specify - different routes for packets with different TOS values. - config IP_ROUTE_VERBOSE bool "IP: verbose route monitoring" depends on IP_ADVANCED_ROUTER @@ -187,7 +163,7 @@ config IP_PNP_RARP config NET_IPIP tristate "IP: tunneling" depends on INET - select XFRM + select INET_TUNNEL ---help--- Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the @@ -351,6 +327,7 @@ config INET_ESP config INET_IPCOMP tristate "IP: IPComp transformation" select XFRM + select INET_TUNNEL select CRYPTO select CRYPTO_DEFLATE ---help--- @@ -359,6 +336,15 @@ config INET_IPCOMP If unsure, say Y. +config INET_TUNNEL + tristate "IP: tunnel transformation" + select XFRM + ---help--- + Support for generic IP tunnel transformation, which is required by + the IP tunneling module as well as tunnel mode IPComp. + + If unsure, say Y. + config ACCEPT_QUEUES bool "IP: TCP Multiple accept queues support" depends on INET && NETFILTER diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile index 0fe409afa..38f750996 100644 --- a/net/ipv4/Makefile +++ b/net/ipv4/Makefile @@ -11,7 +11,6 @@ obj-y := utils.o route.o inetpeer.o protocol.o \ obj-$(CONFIG_PROC_FS) += proc.o obj-$(CONFIG_IP_MULTIPLE_TABLES) += fib_rules.o -obj-$(CONFIG_IP_ROUTE_NAT) += ip_nat_dumb.o obj-$(CONFIG_IP_MROUTE) += ipmr.o obj-$(CONFIG_NET_IPIP) += ipip.o obj-$(CONFIG_NET_IPGRE) += ip_gre.o @@ -19,9 +18,10 @@ obj-$(CONFIG_SYN_COOKIES) += syncookies.o obj-$(CONFIG_INET_AH) += ah4.o obj-$(CONFIG_INET_ESP) += esp4.o obj-$(CONFIG_INET_IPCOMP) += ipcomp.o +obj-$(CONFIG_INET_TUNNEL) += xfrm4_tunnel.o obj-$(CONFIG_IP_PNP) += ipconfig.o obj-$(CONFIG_NETFILTER) += netfilter/ obj-$(CONFIG_IP_VS) += ipvs/ obj-$(CONFIG_XFRM) += xfrm4_policy.o xfrm4_state.o xfrm4_input.o \ - xfrm4_tunnel.o xfrm4_output.o + xfrm4_output.o diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index eb044e25a..9dbbbf8d2 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -122,11 +122,6 @@ atomic_t inet_sock_nr; extern void ip_mc_drop_socket(struct sock *sk); -/* Per protocol sock slabcache */ -kmem_cache_t *tcp_sk_cachep; -static kmem_cache_t *udp_sk_cachep; -static kmem_cache_t *raw4_sk_cachep; - /* The inetsw table contains everything that inet_create needs to * build a new socket. */ @@ -159,7 +154,7 @@ void inet_sock_destruct(struct sock *sk) if (inet->opt) kfree(inet->opt); - + vx_sock_dec(sk); clr_vx_info(&sk->sk_vx_info); sk->sk_xid = -1; @@ -236,28 +231,6 @@ out: return err; } -static __inline__ kmem_cache_t *inet_sk_slab(int protocol) -{ - kmem_cache_t* rc = tcp_sk_cachep; - - if (protocol == IPPROTO_UDP) - rc = udp_sk_cachep; - else if (protocol == IPPROTO_RAW) - rc = raw4_sk_cachep; - return rc; -} - -static __inline__ int inet_sk_size(int protocol) -{ - int rc = sizeof(struct tcp_sock); - - if (protocol == IPPROTO_UDP) - rc = sizeof(struct udp_sock); - else if (protocol == IPPROTO_RAW) - rc = sizeof(struct raw_sock); - return rc; -} - /* * Create an inet socket. */ @@ -268,13 +241,12 @@ static int inet_create(struct socket *sock, int protocol) struct list_head *p; struct inet_protosw *answer; struct inet_opt *inet; - int err = -ENOBUFS; + struct proto *answer_prot; + unsigned char answer_flags; + char answer_no_check; + int err; sock->state = SS_UNCONNECTED; - sk = sk_alloc(PF_INET, GFP_KERNEL, inet_sk_size(protocol), - inet_sk_slab(protocol)); - if (!sk) - goto out; /* Look for the requested type/protocol pair. */ answer = NULL; @@ -300,24 +272,38 @@ static int inet_create(struct socket *sock, int protocol) err = -ESOCKTNOSUPPORT; if (!answer) - goto out_sk_free; + goto out_rcu_unlock; err = -EPERM; if ((protocol == IPPROTO_ICMP) && vx_ccaps(VXC_RAW_ICMP)) goto override; if (answer->capability > 0 && !capable(answer->capability)) - goto out_sk_free; + goto out_rcu_unlock; override: err = -EPROTONOSUPPORT; if (!protocol) - goto out_sk_free; - err = 0; + goto out_rcu_unlock; + sock->ops = answer->ops; - sk->sk_prot = answer->prot; - sk->sk_no_check = answer->no_check; - if (INET_PROTOSW_REUSE & answer->flags) - sk->sk_reuse = 1; + answer_prot = answer->prot; + answer_no_check = answer->no_check; + answer_flags = answer->flags; rcu_read_unlock(); + BUG_TRAP(answer_prot->slab != NULL); + + err = -ENOBUFS; + sk = sk_alloc(PF_INET, GFP_KERNEL, + answer_prot->slab_obj_size, + answer_prot->slab); + if (sk == NULL) + goto out; + + err = 0; + sk->sk_prot = answer_prot; + sk->sk_no_check = answer_no_check; + if (INET_PROTOSW_REUSE & answer_flags) + sk->sk_reuse = 1; + inet = inet_sk(sk); if (SOCK_RAW == sock->type) { @@ -337,11 +323,10 @@ override: sk_set_owner(sk, THIS_MODULE); sk->sk_destruct = inet_sock_destruct; - sk->sk_zapped = 0; sk->sk_family = PF_INET; sk->sk_protocol = protocol; sk->sk_backlog_rcv = sk->sk_prot->backlog_rcv; - + set_vx_info(&sk->sk_vx_info, current->vx_info); sk->sk_xid = vx_current_xid(); vx_sock_inc(sk); @@ -376,9 +361,8 @@ override: } out: return err; -out_sk_free: +out_rcu_unlock: rcu_read_unlock(); - sk_free(sk); goto out; } @@ -859,7 +843,7 @@ struct proto_ops inet_dgram_ops = { .sendpage = inet_sendpage, }; -struct net_proto_family inet_family_ops = { +static struct net_proto_family inet_family_ops = { .family = PF_INET, .create = inet_create, .owner = THIS_MODULE, @@ -1032,24 +1016,29 @@ static int __init inet_init(void) struct sk_buff *dummy_skb; struct inet_protosw *q; struct list_head *r; + int rc = -EINVAL; if (sizeof(struct inet_skb_parm) > sizeof(dummy_skb->cb)) { printk(KERN_CRIT "%s: panic\n", __FUNCTION__); - return -EINVAL; + goto out; + } + + rc = sk_alloc_slab(&tcp_prot, "tcp_sock"); + if (rc) { + sk_alloc_slab_error(&tcp_prot); + goto out; + } + rc = sk_alloc_slab(&udp_prot, "udp_sock"); + if (rc) { + sk_alloc_slab_error(&udp_prot); + goto out_tcp_free_slab; + } + rc = sk_alloc_slab(&raw_prot, "raw_sock"); + if (rc) { + sk_alloc_slab_error(&raw_prot); + goto out_udp_free_slab; } - tcp_sk_cachep = kmem_cache_create("tcp_sock", - sizeof(struct tcp_sock), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); - udp_sk_cachep = kmem_cache_create("udp_sock", - sizeof(struct udp_sock), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); - raw4_sk_cachep = kmem_cache_create("raw4_sock", - sizeof(struct raw_sock), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); - if (!tcp_sk_cachep || !udp_sk_cachep || !raw4_sk_cachep) - printk(KERN_CRIT - "inet_init: Can't create protocol sock SLAB caches!\n"); /* * Tell SOCKET that we are alive... */ @@ -1119,7 +1108,14 @@ static int __init inet_init(void) ipfrag_init(); - return 0; + rc = 0; +out: + return rc; +out_tcp_free_slab: + sk_free_slab(&tcp_prot); +out_udp_free_slab: + sk_free_slab(&udp_prot); + goto out; } module_init(inet_init); @@ -1179,7 +1175,6 @@ EXPORT_SYMBOL(inet_accept); EXPORT_SYMBOL(inet_bind); EXPORT_SYMBOL(inet_dgram_connect); EXPORT_SYMBOL(inet_dgram_ops); -EXPORT_SYMBOL(inet_family_ops); EXPORT_SYMBOL(inet_getname); EXPORT_SYMBOL(inet_ioctl); EXPORT_SYMBOL(inet_listen); @@ -1192,8 +1187,6 @@ EXPORT_SYMBOL(inet_stream_connect); EXPORT_SYMBOL(inet_stream_ops); EXPORT_SYMBOL(inet_unregister_protosw); EXPORT_SYMBOL(net_statistics); -EXPORT_SYMBOL(tcp_protocol); -EXPORT_SYMBOL(udp_protocol); #ifdef INET_REFCNT_DEBUG EXPORT_SYMBOL(inet_sock_nr); diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c index 9784f0376..970fe58b4 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c @@ -53,10 +53,10 @@ static int ip_clear_mutable_options(struct iphdr *iph, u32 *daddr) return 0; } -static int ah_output(struct sk_buff **pskb) +static int ah_output(struct sk_buff *skb) { int err; - struct dst_entry *dst = (*pskb)->dst; + struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; struct iphdr *iph, *top_iph; struct ip_auth_hdr *ah; @@ -66,7 +66,7 @@ static int ah_output(struct sk_buff **pskb) char buf[60]; } tmp_iph; - top_iph = (*pskb)->nh.iph; + top_iph = skb->nh.iph; iph = &tmp_iph.iph; iph->tos = top_iph->tos; @@ -85,7 +85,7 @@ static int ah_output(struct sk_buff **pskb) ah->nexthdr = top_iph->protocol; top_iph->tos = 0; - top_iph->tot_len = htons((*pskb)->len); + top_iph->tot_len = htons(skb->len); top_iph->frag_off = 0; top_iph->ttl = 0; top_iph->protocol = IPPROTO_AH; @@ -98,7 +98,7 @@ static int ah_output(struct sk_buff **pskb) ah->reserved = 0; ah->spi = x->id.spi; ah->seq_no = htonl(++x->replay.oseq); - ahp->icv(ahp, *pskb, ah->auth_data); + ahp->icv(ahp, skb, ah->auth_data); top_iph->tos = iph->tos; top_iph->ttl = iph->ttl; @@ -116,7 +116,7 @@ error: return err; } -int ah_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) +static int ah_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) { int ah_hlen; struct iphdr *iph; @@ -184,7 +184,7 @@ out: return -EINVAL; } -void ah4_err(struct sk_buff *skb, u32 info) +static void ah4_err(struct sk_buff *skb, u32 info) { struct iphdr *iph = (struct iphdr*)skb->data; struct ip_auth_hdr *ah = (struct ip_auth_hdr*)(skb->data+(iph->ihl<<2)); @@ -214,6 +214,9 @@ static int ah_init_state(struct xfrm_state *x, void *args) if (x->aalg->alg_key_len > 512) goto error; + if (x->encap) + goto error; + ahp = kmalloc(sizeof(*ahp), GFP_KERNEL); if (ahp == NULL) return -ENOMEM; diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index c472a6653..9b5d1e813 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c @@ -71,6 +71,7 @@ * arp_xmit so intermediate drivers like * bonding can change the skb before * sending (e.g. insert 8021q tag). + * Harald Welte : convert to make use of jenkins hash */ #include @@ -96,6 +97,8 @@ #include #include #include +#include +#include #ifdef CONFIG_SYSCTL #include #endif @@ -222,31 +225,29 @@ int arp_mc_map(u32 addr, u8 *haddr, struct net_device *dev, int dir) static u32 arp_hash(const void *pkey, const struct net_device *dev) { - u32 hash_val; - - hash_val = *(u32*)pkey; - hash_val ^= (hash_val>>16); - hash_val ^= hash_val>>8; - hash_val ^= hash_val>>3; - hash_val = (hash_val^dev->ifindex)&NEIGH_HASHMASK; - - return hash_val; + return jhash_2words(*(u32 *)pkey, dev->ifindex, arp_tbl.hash_rnd); } static int arp_constructor(struct neighbour *neigh) { u32 addr = *(u32*)neigh->primary_key; struct net_device *dev = neigh->dev; - struct in_device *in_dev = in_dev_get(dev); - - if (in_dev == NULL) - return -EINVAL; + struct in_device *in_dev; + struct neigh_parms *parms; neigh->type = inet_addr_type(addr); - if (in_dev->arp_parms) - neigh->parms = in_dev->arp_parms; - in_dev_put(in_dev); + rcu_read_lock(); + in_dev = rcu_dereference(__in_dev_get(dev)); + if (in_dev == NULL) { + rcu_read_unlock(); + return -EINVAL; + } + + parms = in_dev->arp_parms; + __neigh_parms_put(neigh->parms); + neigh->parms = neigh_parms_clone(parms); + rcu_read_unlock(); if (dev->hard_header == NULL) { neigh->nud_state = NUD_NOARP; @@ -695,6 +696,7 @@ void arp_send(int type, int ptype, u32 dest_ip, static void parp_redo(struct sk_buff *skb) { + nf_reset(skb); arp_rcv(skb, skb->dev, NULL); } @@ -906,7 +908,7 @@ int arp_process(struct sk_buff *skb) if (arp->ar_op != htons(ARPOP_REPLY) || skb->pkt_type != PACKET_HOST) state = NUD_STALE; - neigh_update(n, sha, state, override, 1); + neigh_update(n, sha, state, override ? NEIGH_UPDATE_F_OVERRIDE : 0); neigh_release(n); } @@ -1003,8 +1005,26 @@ int arp_req_set(struct arpreq *r, struct net_device * dev) if (!dev) return -EINVAL; } - if (r->arp_ha.sa_family != dev->type) - return -EINVAL; + switch (dev->type) { +#ifdef CONFIG_FDDI + case ARPHRD_FDDI: + /* + * According to RFC 1390, FDDI devices should accept ARP + * hardware types of 1 (Ethernet). However, to be more + * robust, we'll accept hardware types of either 1 (Ethernet) + * or 6 (IEEE 802.2). + */ + if (r->arp_ha.sa_family != ARPHRD_FDDI && + r->arp_ha.sa_family != ARPHRD_ETHER && + r->arp_ha.sa_family != ARPHRD_IEEE802) + return -EINVAL; + break; +#endif + default: + if (r->arp_ha.sa_family != dev->type) + return -EINVAL; + break; + } neigh = __neigh_lookup_errno(&arp_tbl, &ip, dev); err = PTR_ERR(neigh); @@ -1013,7 +1033,9 @@ int arp_req_set(struct arpreq *r, struct net_device * dev) if (r->arp_flags & ATF_PERM) state = NUD_PERMANENT; err = neigh_update(neigh, (r->arp_flags&ATF_COM) ? - r->arp_ha.sa_data : NULL, state, 1, 0); + r->arp_ha.sa_data : NULL, state, + NEIGH_UPDATE_F_OVERRIDE| + NEIGH_UPDATE_F_ADMIN); neigh_release(neigh); } return err; @@ -1093,7 +1115,9 @@ int arp_req_delete(struct arpreq *r, struct net_device * dev) neigh = neigh_lookup(&arp_tbl, &ip, dev); if (neigh) { if (neigh->nud_state&~NUD_NOARP) - err = neigh_update(neigh, NULL, NUD_FAILED, 1, 0); + err = neigh_update(neigh, NULL, NUD_FAILED, + NEIGH_UPDATE_F_OVERRIDE| + NEIGH_UPDATE_F_ADMIN); neigh_release(neigh); } return err; @@ -1257,162 +1281,10 @@ static char *ax2asc2(ax25_address *a, char *buf) } #endif /* CONFIG_AX25 */ -struct arp_iter_state { - int is_pneigh, bucket; -}; - -static struct neighbour *neigh_get_first(struct seq_file *seq) -{ - struct arp_iter_state* state = seq->private; - struct neighbour *n = NULL; - - state->is_pneigh = 0; - - for (state->bucket = 0; - state->bucket <= NEIGH_HASHMASK; - ++state->bucket) { - n = arp_tbl.hash_buckets[state->bucket]; - while (n && !(n->nud_state & ~NUD_NOARP)) - n = n->next; - if (n) - break; - } - - return n; -} - -static struct neighbour *neigh_get_next(struct seq_file *seq, - struct neighbour *n) -{ - struct arp_iter_state* state = seq->private; - - do { - n = n->next; - /* Don't confuse "arp -a" w/ magic entries */ -try_again: - ; - } while (n && !(n->nud_state & ~NUD_NOARP)); - - if (n) - goto out; - if (++state->bucket > NEIGH_HASHMASK) - goto out; - n = arp_tbl.hash_buckets[state->bucket]; - goto try_again; -out: - return n; -} - -static struct neighbour *neigh_get_idx(struct seq_file *seq, loff_t *pos) -{ - struct neighbour *n = neigh_get_first(seq); - - if (n) - while (*pos && (n = neigh_get_next(seq, n))) - --*pos; - return *pos ? NULL : n; -} - -static struct pneigh_entry *pneigh_get_first(struct seq_file *seq) -{ - struct arp_iter_state* state = seq->private; - struct pneigh_entry *pn; - - state->is_pneigh = 1; - - for (state->bucket = 0; - state->bucket <= PNEIGH_HASHMASK; - ++state->bucket) { - pn = arp_tbl.phash_buckets[state->bucket]; - if (pn) - break; - } - return pn; -} - -static struct pneigh_entry *pneigh_get_next(struct seq_file *seq, - struct pneigh_entry *pn) -{ - struct arp_iter_state* state = seq->private; - - pn = pn->next; - while (!pn) { - if (++state->bucket > PNEIGH_HASHMASK) - break; - pn = arp_tbl.phash_buckets[state->bucket]; - } - return pn; -} - -static struct pneigh_entry *pneigh_get_idx(struct seq_file *seq, loff_t pos) -{ - struct pneigh_entry *pn = pneigh_get_first(seq); - - if (pn) - while (pos && (pn = pneigh_get_next(seq, pn))) - --pos; - return pos ? NULL : pn; -} - -static void *arp_get_idx(struct seq_file *seq, loff_t pos) -{ - void *rc; - - read_lock_bh(&arp_tbl.lock); - rc = neigh_get_idx(seq, &pos); - - if (!rc) { - read_unlock_bh(&arp_tbl.lock); - rc = pneigh_get_idx(seq, pos); - } - return rc; -} - -static void *arp_seq_start(struct seq_file *seq, loff_t *pos) -{ - struct arp_iter_state* state = seq->private; - - state->is_pneigh = 0; - state->bucket = 0; - return *pos ? arp_get_idx(seq, *pos - 1) : SEQ_START_TOKEN; -} - -static void *arp_seq_next(struct seq_file *seq, void *v, loff_t *pos) -{ - void *rc; - struct arp_iter_state* state; - - if (v == SEQ_START_TOKEN) { - rc = arp_get_idx(seq, 0); - goto out; - } - - state = seq->private; - if (!state->is_pneigh) { - rc = neigh_get_next(seq, v); - if (rc) - goto out; - read_unlock_bh(&arp_tbl.lock); - rc = pneigh_get_first(seq); - } else - rc = pneigh_get_next(seq, v); -out: - ++*pos; - return rc; -} - -static void arp_seq_stop(struct seq_file *seq, void *v) -{ - struct arp_iter_state* state = seq->private; - - if (!state->is_pneigh && v != SEQ_START_TOKEN) - read_unlock_bh(&arp_tbl.lock); -} - #define HBUFFERLEN 30 -static __inline__ void arp_format_neigh_entry(struct seq_file *seq, - struct neighbour *n) +static void arp_format_neigh_entry(struct seq_file *seq, + struct neighbour *n) { char hbuffer[HBUFFERLEN]; const char hexbuf[] = "0123456789ABCDEF"; @@ -1443,8 +1315,8 @@ static __inline__ void arp_format_neigh_entry(struct seq_file *seq, read_unlock(&n->lock); } -static __inline__ void arp_format_pneigh_entry(struct seq_file *seq, - struct pneigh_entry *n) +static void arp_format_pneigh_entry(struct seq_file *seq, + struct pneigh_entry *n) { struct net_device *dev = n->dev; int hatype = dev ? dev->type : 0; @@ -1458,13 +1330,13 @@ static __inline__ void arp_format_pneigh_entry(struct seq_file *seq, static int arp_seq_show(struct seq_file *seq, void *v) { - if (v == SEQ_START_TOKEN) + if (v == SEQ_START_TOKEN) { seq_puts(seq, "IP address HW type Flags " "HW address Mask Device\n"); - else { - struct arp_iter_state* state = seq->private; + } else { + struct neigh_seq_state *state = seq->private; - if (state->is_pneigh) + if (state->flags & NEIGH_SEQ_IS_PNEIGH) arp_format_pneigh_entry(seq, v); else arp_format_neigh_entry(seq, v); @@ -1473,12 +1345,20 @@ static int arp_seq_show(struct seq_file *seq, void *v) return 0; } +static void *arp_seq_start(struct seq_file *seq, loff_t *pos) +{ + /* Don't want to confuse "arp -a" w/ magic entries, + * so we tell the generic iterator to skip NUD_NOARP. + */ + return neigh_seq_start(seq, pos, &arp_tbl, NEIGH_SEQ_SKIP_NOARP); +} + /* ------------------------------------------------------------------------ */ static struct seq_operations arp_seq_ops = { .start = arp_seq_start, - .next = arp_seq_next, - .stop = arp_seq_stop, + .next = neigh_seq_next, + .stop = neigh_seq_stop, .show = arp_seq_show, }; @@ -1486,11 +1366,12 @@ static int arp_seq_open(struct inode *inode, struct file *file) { struct seq_file *seq; int rc = -ENOMEM; - struct arp_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); + struct neigh_seq_state *s = kmalloc(sizeof(*s), GFP_KERNEL); if (!s) goto out; + memset(s, 0, sizeof(*s)); rc = seq_open(file, &arp_seq_ops); if (rc) goto out_kfree; diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 4781dea42..3ad6fee14 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -88,31 +88,31 @@ static void devinet_sysctl_register(struct in_device *in_dev, static void devinet_sysctl_unregister(struct ipv4_devconf *p); #endif -int inet_ifa_count; -int inet_dev_count; - /* Locks all the inet devices. */ -rwlock_t inetdev_lock = RW_LOCK_UNLOCKED; - static struct in_ifaddr *inet_alloc_ifa(void) { struct in_ifaddr *ifa = kmalloc(sizeof(*ifa), GFP_KERNEL); if (ifa) { memset(ifa, 0, sizeof(*ifa)); - inet_ifa_count++; + INIT_RCU_HEAD(&ifa->rcu_head); } return ifa; } -static __inline__ void inet_free_ifa(struct in_ifaddr *ifa) +static void inet_rcu_free_ifa(struct rcu_head *head) { + struct in_ifaddr *ifa = container_of(head, struct in_ifaddr, rcu_head); if (ifa->ifa_dev) - __in_dev_put(ifa->ifa_dev); + in_dev_put(ifa->ifa_dev); kfree(ifa); - inet_ifa_count--; +} + +static inline void inet_free_ifa(struct in_ifaddr *ifa) +{ + call_rcu(&ifa->rcu_head, inet_rcu_free_ifa); } void in_dev_finish_destroy(struct in_device *idev) @@ -129,7 +129,6 @@ void in_dev_finish_destroy(struct in_device *idev) if (!idev->dead) printk("Freeing alive in_device %p\n", idev); else { - inet_dev_count--; kfree(idev); } } @@ -144,24 +143,24 @@ struct in_device *inetdev_init(struct net_device *dev) if (!in_dev) goto out; memset(in_dev, 0, sizeof(*in_dev)); - in_dev->lock = RW_LOCK_UNLOCKED; + INIT_RCU_HEAD(&in_dev->rcu_head); memcpy(&in_dev->cnf, &ipv4_devconf_dflt, sizeof(in_dev->cnf)); in_dev->cnf.sysctl = NULL; in_dev->dev = dev; if ((in_dev->arp_parms = neigh_parms_alloc(dev, &arp_tbl)) == NULL) goto out_kfree; - inet_dev_count++; /* Reference in_dev->dev */ dev_hold(dev); #ifdef CONFIG_SYSCTL neigh_sysctl_register(dev, in_dev->arp_parms, NET_IPV4, NET_IPV4_NEIGH, "ipv4", NULL); #endif - write_lock_bh(&inetdev_lock); - dev->ip_ptr = in_dev; + /* Account for reference dev->ip_ptr */ in_dev_hold(in_dev); - write_unlock_bh(&inetdev_lock); + smp_wmb(); + dev->ip_ptr = in_dev; + #ifdef CONFIG_SYSCTL devinet_sysctl_register(in_dev, &in_dev->cnf); #endif @@ -176,9 +175,16 @@ out_kfree: goto out; } +static void in_dev_rcu_put(struct rcu_head *head) +{ + struct in_device *idev = container_of(head, struct in_device, rcu_head); + in_dev_put(idev); +} + static void inetdev_destroy(struct in_device *in_dev) { struct in_ifaddr *ifa; + struct net_device *dev; ASSERT_RTNL(); @@ -194,30 +200,31 @@ static void inetdev_destroy(struct in_device *in_dev) #ifdef CONFIG_SYSCTL devinet_sysctl_unregister(&in_dev->cnf); #endif - write_lock_bh(&inetdev_lock); - in_dev->dev->ip_ptr = NULL; - /* in_dev_put following below will kill the in_device */ - write_unlock_bh(&inetdev_lock); + + dev = in_dev->dev; + dev->ip_ptr = NULL; #ifdef CONFIG_SYSCTL neigh_sysctl_unregister(in_dev->arp_parms); #endif neigh_parms_release(&arp_tbl, in_dev->arp_parms); - in_dev_put(in_dev); + arp_ifdown(dev); + + call_rcu(&in_dev->rcu_head, in_dev_rcu_put); } int inet_addr_onlink(struct in_device *in_dev, u32 a, u32 b) { - read_lock(&in_dev->lock); + rcu_read_lock(); for_primary_ifa(in_dev) { if (inet_ifa_match(a, ifa)) { if (!b || inet_ifa_match(b, ifa)) { - read_unlock(&in_dev->lock); + rcu_read_unlock(); return 1; } } } endfor_ifa(in_dev); - read_unlock(&in_dev->lock); + rcu_read_unlock(); return 0; } @@ -241,9 +248,8 @@ static void inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap, ifap1 = &ifa->ifa_next; continue; } - write_lock_bh(&in_dev->lock); + *ifap1 = ifa->ifa_next; - write_unlock_bh(&in_dev->lock); rtmsg_ifa(RTM_DELADDR, ifa); notifier_call_chain(&inetaddr_chain, NETDEV_DOWN, ifa); @@ -253,9 +259,7 @@ static void inet_del_ifa(struct in_device *in_dev, struct in_ifaddr **ifap, /* 2. Unlink it */ - write_lock_bh(&in_dev->lock); *ifap = ifa1->ifa_next; - write_unlock_bh(&in_dev->lock); /* 3. Announce address deletion */ @@ -317,9 +321,7 @@ static int inet_insert_ifa(struct in_ifaddr *ifa) } ifa->ifa_next = *ifap; - write_lock_bh(&in_dev->lock); *ifap = ifa; - write_unlock_bh(&in_dev->lock); /* Send message first, then call notifier. Notifier will trigger FIB update, so that @@ -771,12 +773,11 @@ u32 inet_select_addr(const struct net_device *dev, u32 dst, int scope) u32 addr = 0; struct in_device *in_dev; - read_lock(&inetdev_lock); + rcu_read_lock(); in_dev = __in_dev_get(dev); if (!in_dev) - goto out_unlock_inetdev; + goto no_in_dev; - read_lock(&in_dev->lock); for_primary_ifa(in_dev) { if (ifa->ifa_scope > scope) continue; @@ -787,8 +788,8 @@ u32 inet_select_addr(const struct net_device *dev, u32 dst, int scope) if (!addr) addr = ifa->ifa_local; } endfor_ifa(in_dev); - read_unlock(&in_dev->lock); - read_unlock(&inetdev_lock); +no_in_dev: + rcu_read_unlock(); if (addr) goto out; @@ -798,30 +799,24 @@ u32 inet_select_addr(const struct net_device *dev, u32 dst, int scope) in dev_base list. */ read_lock(&dev_base_lock); - read_lock(&inetdev_lock); + rcu_read_lock(); for (dev = dev_base; dev; dev = dev->next) { if ((in_dev = __in_dev_get(dev)) == NULL) continue; - read_lock(&in_dev->lock); for_primary_ifa(in_dev) { if (ifa->ifa_scope != RT_SCOPE_LINK && ifa->ifa_scope <= scope) { - read_unlock(&in_dev->lock); addr = ifa->ifa_local; goto out_unlock_both; } } endfor_ifa(in_dev); - read_unlock(&in_dev->lock); } out_unlock_both: - read_unlock(&inetdev_lock); read_unlock(&dev_base_lock); + rcu_read_unlock(); out: return addr; -out_unlock_inetdev: - read_unlock(&inetdev_lock); - goto out; } static u32 confirm_addr_indev(struct in_device *in_dev, u32 dst, @@ -874,29 +869,24 @@ u32 inet_confirm_addr(const struct net_device *dev, u32 dst, u32 local, int scop struct in_device *in_dev; if (dev) { - read_lock(&inetdev_lock); - if ((in_dev = __in_dev_get(dev))) { - read_lock(&in_dev->lock); + rcu_read_lock(); + if ((in_dev = __in_dev_get(dev))) addr = confirm_addr_indev(in_dev, dst, local, scope); - read_unlock(&in_dev->lock); - } - read_unlock(&inetdev_lock); + rcu_read_unlock(); return addr; } read_lock(&dev_base_lock); - read_lock(&inetdev_lock); + rcu_read_lock(); for (dev = dev_base; dev; dev = dev->next) { if ((in_dev = __in_dev_get(dev))) { - read_lock(&in_dev->lock); addr = confirm_addr_indev(in_dev, dst, local, scope); - read_unlock(&in_dev->lock); if (addr) break; } } - read_unlock(&inetdev_lock); + rcu_read_unlock(); read_unlock(&dev_base_lock); return addr; @@ -1056,6 +1046,7 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) struct net_device *dev; struct in_device *in_dev; struct in_ifaddr *ifa; + struct sock *sk = skb->sk; int s_ip_idx, s_idx = cb->args[0]; s_ip_idx = ip_idx = cb->args[1]; @@ -1065,12 +1056,12 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) continue; if (idx > s_idx) s_ip_idx = 0; - read_lock(&inetdev_lock); + rcu_read_lock(); if ((in_dev = __in_dev_get(dev)) == NULL) { - read_unlock(&inetdev_lock); + rcu_read_unlock(); continue; } - read_lock(&in_dev->lock); + for (ifa = in_dev->ifa_list, ip_idx = 0; ifa; ifa = ifa->ifa_next, ip_idx++) { if (ip_idx < s_ip_idx) @@ -1078,13 +1069,11 @@ static int inet_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) if (inet_fill_ifaddr(skb, ifa, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, RTM_NEWADDR) <= 0) { - read_unlock(&in_dev->lock); - read_unlock(&inetdev_lock); + rcu_read_unlock(); goto done; } } - read_unlock(&in_dev->lock); - read_unlock(&inetdev_lock); + rcu_read_unlock(); } done: @@ -1138,11 +1127,11 @@ void inet_forward_change(void) read_lock(&dev_base_lock); for (dev = dev_base; dev; dev = dev->next) { struct in_device *in_dev; - read_lock(&inetdev_lock); + rcu_read_lock(); in_dev = __in_dev_get(dev); if (in_dev) in_dev->cnf.forwarding = on; - read_unlock(&inetdev_lock); + rcu_read_unlock(); } read_unlock(&dev_base_lock); @@ -1508,6 +1497,5 @@ EXPORT_SYMBOL(devinet_ioctl); EXPORT_SYMBOL(in_dev_finish_destroy); EXPORT_SYMBOL(inet_select_addr); EXPORT_SYMBOL(inetdev_by_index); -EXPORT_SYMBOL(inetdev_lock); EXPORT_SYMBOL(register_inetaddr_notifier); EXPORT_SYMBOL(unregister_inetaddr_notifier); diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c index 07a594b83..27d8f808b 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c @@ -17,10 +17,10 @@ struct esp_decap_data { __u8 proto; }; -int esp_output(struct sk_buff **pskb) +static int esp_output(struct sk_buff *skb) { int err; - struct dst_entry *dst = (*pskb)->dst; + struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; struct iphdr *top_iph; struct ip_esp_hdr *esph; @@ -33,13 +33,13 @@ int esp_output(struct sk_buff **pskb) int nfrags; /* Strip IP+ESP header. */ - __skb_pull(*pskb, (*pskb)->h.raw - (*pskb)->data); + __skb_pull(skb, skb->h.raw - skb->data); /* Now skb is pure payload to encrypt */ err = -ENOMEM; /* Round to block size */ - clen = (*pskb)->len; + clen = skb->len; esp = x->data; alen = esp->auth.icv_trunc_len; @@ -49,22 +49,22 @@ int esp_output(struct sk_buff **pskb) if (esp->conf.padlen) clen = (clen + esp->conf.padlen-1)&~(esp->conf.padlen-1); - if ((nfrags = skb_cow_data(*pskb, clen-(*pskb)->len+alen, &trailer)) < 0) + if ((nfrags = skb_cow_data(skb, clen-skb->len+alen, &trailer)) < 0) goto error; /* Fill padding... */ do { int i; - for (i=0; ilen - 2; i++) + for (i=0; ilen - 2; i++) *(u8*)(trailer->tail + i) = i+1; } while (0); - *(u8*)(trailer->tail + clen-(*pskb)->len - 2) = (clen - (*pskb)->len)-2; - pskb_put(*pskb, trailer, clen - (*pskb)->len); + *(u8*)(trailer->tail + clen-skb->len - 2) = (clen - skb->len)-2; + pskb_put(skb, trailer, clen - skb->len); - __skb_push(*pskb, (*pskb)->data - (*pskb)->nh.raw); - top_iph = (*pskb)->nh.iph; - esph = (struct ip_esp_hdr *)((*pskb)->nh.raw + top_iph->ihl*4); - top_iph->tot_len = htons((*pskb)->len + alen); + __skb_push(skb, skb->data - skb->nh.raw); + top_iph = skb->nh.iph; + esph = (struct ip_esp_hdr *)(skb->nh.raw + top_iph->ihl*4); + top_iph->tot_len = htons(skb->len + alen); *(u8*)(trailer->tail - 1) = top_iph->protocol; /* this is non-NULL only with UDP Encapsulation */ @@ -76,7 +76,7 @@ int esp_output(struct sk_buff **pskb) uh = (struct udphdr *)esph; uh->source = encap->encap_sport; uh->dest = encap->encap_dport; - uh->len = htons((*pskb)->len + alen - top_iph->ihl*4); + uh->len = htons(skb->len + alen - top_iph->ihl*4); uh->check = 0; switch (encap->encap_type) { @@ -109,7 +109,7 @@ int esp_output(struct sk_buff **pskb) if (!sg) goto error; } - skb_to_sgvec(*pskb, sg, esph->enc_data+esp->conf.ivlen-(*pskb)->data, clen); + skb_to_sgvec(skb, sg, esph->enc_data+esp->conf.ivlen-skb->data, clen); crypto_cipher_encrypt(tfm, sg, sg, clen); if (unlikely(sg != &esp->sgbuf[0])) kfree(sg); @@ -121,9 +121,9 @@ int esp_output(struct sk_buff **pskb) } if (esp->auth.icv_full_len) { - esp->auth.icv(esp, *pskb, (u8*)esph-(*pskb)->data, + esp->auth.icv(esp, skb, (u8*)esph-skb->data, sizeof(struct ip_esp_hdr) + esp->conf.ivlen+clen, trailer->tail); - pskb_put(*pskb, trailer, alen); + pskb_put(skb, trailer, alen); } ip_send_check(top_iph); @@ -139,7 +139,7 @@ error: * expensive, so we only support truncated data, which is the recommended * and common case. */ -int esp_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) +static int esp_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) { struct iphdr *iph; struct ip_esp_hdr *esph; @@ -246,7 +246,7 @@ out: return -EINVAL; } -int esp_post_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) +static int esp_post_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) { if (x->encap) { @@ -320,7 +320,7 @@ static u32 esp4_get_max_size(struct xfrm_state *x, int mtu) return mtu + x->props.header_len + esp->auth.icv_trunc_len; } -void esp4_err(struct sk_buff *skb, u32 info) +static void esp4_err(struct sk_buff *skb, u32 info) { struct iphdr *iph = (struct iphdr*)skb->data; struct ip_esp_hdr *esph = (struct ip_esp_hdr*)(skb->data+(iph->ihl<<2)); @@ -338,7 +338,7 @@ void esp4_err(struct sk_buff *skb, u32 info) xfrm_state_put(x); } -void esp_destroy(struct xfrm_state *x) +static void esp_destroy(struct xfrm_state *x) { struct esp_data *esp = x->data; @@ -364,7 +364,7 @@ void esp_destroy(struct xfrm_state *x) kfree(esp); } -int esp_init_state(struct xfrm_state *x, void *args) +static int esp_init_state(struct xfrm_state *x, void *args) { struct esp_data *esp = NULL; @@ -436,6 +436,7 @@ int esp_init_state(struct xfrm_state *x, void *args) switch (encap->encap_type) { default: + goto error; case UDP_ENCAP_ESPINUDP: x->props.header_len += sizeof(struct udphdr); break; @@ -449,15 +450,9 @@ int esp_init_state(struct xfrm_state *x, void *args) return 0; error: - if (esp) { - if (esp->auth.tfm) - crypto_free_tfm(esp->auth.tfm); - if (esp->auth.work_icv) - kfree(esp->auth.work_icv); - if (esp->conf.tfm) - crypto_free_tfm(esp->conf.tfm); - kfree(esp); - } + x->data = esp; + esp_destroy(x); + x->data = NULL; return -EINVAL; } diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index f5b008a9d..f13e797c3 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c @@ -172,13 +172,13 @@ int fib_validate_source(u32 src, u32 dst, u8 tos, int oif, int ret; no_addr = rpf = 0; - read_lock(&inetdev_lock); + rcu_read_lock(); in_dev = __in_dev_get(dev); if (in_dev) { no_addr = in_dev->ifa_list == NULL; rpf = IN_DEV_RPFILTER(in_dev); } - read_unlock(&inetdev_lock); + rcu_read_unlock(); if (in_dev == NULL) goto e_inval; diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c index 2316dfa91..8aa5b76f4 100644 --- a/net/ipv4/fib_hash.c +++ b/net/ipv4/fib_hash.c @@ -43,159 +43,106 @@ #include #include -#define FTprint(a...) -/* - printk(KERN_DEBUG a) - */ - -static kmem_cache_t * fn_hash_kmem; - -/* - These bizarre types are just to force strict type checking. - When I reversed order of bytes and changed to natural mask lengths, - I forgot to make fixes in several places. Now I am lazy to return - it back. - */ +#include "fib_lookup.h" -typedef struct { - u32 datum; -} fn_key_t; +static kmem_cache_t *fn_hash_kmem; +static kmem_cache_t *fn_alias_kmem; -typedef struct { - u32 datum; -} fn_hash_idx_t; - -struct fib_node -{ - struct fib_node *fn_next; - struct fib_info *fn_info; -#define FIB_INFO(f) ((f)->fn_info) - fn_key_t fn_key; - u8 fn_tos; - u8 fn_type; - u8 fn_scope; - u8 fn_state; +struct fib_node { + struct hlist_node fn_hash; + struct list_head fn_alias; + u32 fn_key; }; -#define FN_S_ZOMBIE 1 -#define FN_S_ACCESSED 2 - -static int fib_hash_zombies; - -struct fn_zone -{ - struct fn_zone *fz_next; /* Next not empty zone */ - struct fib_node **fz_hash; /* Hash table pointer */ - int fz_nent; /* Number of entries */ +struct fn_zone { + struct fn_zone *fz_next; /* Next not empty zone */ + struct hlist_head *fz_hash; /* Hash table pointer */ + int fz_nent; /* Number of entries */ - int fz_divisor; /* Hash divisor */ - u32 fz_hashmask; /* (fz_divisor - 1) */ -#define FZ_HASHMASK(fz) ((fz)->fz_hashmask) + int fz_divisor; /* Hash divisor */ + u32 fz_hashmask; /* (fz_divisor - 1) */ +#define FZ_HASHMASK(fz) ((fz)->fz_hashmask) - int fz_order; /* Zone order */ - u32 fz_mask; -#define FZ_MASK(fz) ((fz)->fz_mask) + int fz_order; /* Zone order */ + u32 fz_mask; +#define FZ_MASK(fz) ((fz)->fz_mask) }; /* NOTE. On fast computers evaluation of fz_hashmask and fz_mask - can be cheaper than memory lookup, so that FZ_* macros are used. + * can be cheaper than memory lookup, so that FZ_* macros are used. */ -struct fn_hash -{ +struct fn_hash { struct fn_zone *fn_zones[33]; struct fn_zone *fn_zone_list; }; -static __inline__ fn_hash_idx_t fn_hash(fn_key_t key, struct fn_zone *fz) +static inline u32 fn_hash(u32 key, struct fn_zone *fz) { - u32 h = ntohl(key.datum)>>(32 - fz->fz_order); + u32 h = ntohl(key)>>(32 - fz->fz_order); h ^= (h>>20); h ^= (h>>10); h ^= (h>>5); h &= FZ_HASHMASK(fz); - return *(fn_hash_idx_t*)&h; -} - -#define fz_key_0(key) ((key).datum = 0) -#define fz_prefix(key,fz) ((key).datum) - -static __inline__ fn_key_t fz_key(u32 dst, struct fn_zone *fz) -{ - fn_key_t k; - k.datum = dst & FZ_MASK(fz); - return k; -} - -static __inline__ struct fib_node ** fz_chain_p(fn_key_t key, struct fn_zone *fz) -{ - return &fz->fz_hash[fn_hash(key, fz).datum]; -} - -static __inline__ struct fib_node * fz_chain(fn_key_t key, struct fn_zone *fz) -{ - return fz->fz_hash[fn_hash(key, fz).datum]; + return h; } -static __inline__ int fn_key_eq(fn_key_t a, fn_key_t b) +static inline u32 fz_key(u32 dst, struct fn_zone *fz) { - return a.datum == b.datum; -} - -static __inline__ int fn_key_leq(fn_key_t a, fn_key_t b) -{ - return a.datum <= b.datum; + return dst & FZ_MASK(fz); } static rwlock_t fib_hash_lock = RW_LOCK_UNLOCKED; -#define FZ_MAX_DIVISOR ((PAGE_SIZE<fn_next; - for (fp = fz_chain_p(f->fn_key, fz); - *fp && fn_key_leq((*fp)->fn_key, f->fn_key); - fp = &(*fp)->fn_next) - /* NONE */; - f->fn_next = *fp; - *fp = f; + + for (i = 0; i < old_divisor; i++) { + struct hlist_node *node, *n; + struct fib_node *f; + + hlist_for_each_entry_safe(f, node, n, &old_ht[i], fn_hash) { + struct hlist_head *new_head; + + hlist_del(&f->fn_hash); + + new_head = &fz->fz_hash[fn_hash(f->fn_key, fz)]; + hlist_add_head(&f->fn_hash, new_head); } } } -static void fz_hash_free(struct fib_node **hash, int divisor) +static void fz_hash_free(struct hlist_head *hash, int divisor) { - if (divisor <= 1024) + unsigned long size = divisor * sizeof(struct hlist_head); + + if (size <= PAGE_SIZE) kfree(hash); else - free_pages((unsigned long) hash, - get_order(divisor * sizeof(struct fib_node *))); + free_pages((unsigned long)hash, get_order(size)); } static void fn_rehash_zone(struct fn_zone *fz) { - struct fib_node **ht, **old_ht; + struct hlist_head *ht, *old_ht; int old_divisor, new_divisor; u32 new_hashmask; @@ -226,7 +173,7 @@ static void fn_rehash_zone(struct fn_zone *fz) ht = fz_hash_alloc(new_divisor); if (ht) { - memset(ht, 0, new_divisor*sizeof(struct fib_node*)); + memset(ht, 0, new_divisor * sizeof(struct hlist_head)); write_lock_bh(&fib_hash_lock); old_ht = fz->fz_hash; @@ -240,12 +187,16 @@ static void fn_rehash_zone(struct fn_zone *fz) } } -static void fn_free_node(struct fib_node * f) +static inline void fn_free_node(struct fib_node * f) { - fib_release_info(FIB_INFO(f)); kmem_cache_free(fn_hash_kmem, f); } +static inline void fn_free_alias(struct fib_alias *fa) +{ + fib_release_info(fa->fa_info); + kmem_cache_free(fn_alias_kmem, fa); +} static struct fn_zone * fn_new_zone(struct fn_hash *table, int z) @@ -267,7 +218,7 @@ fn_new_zone(struct fn_hash *table, int z) kfree(fz); return NULL; } - memset(fz->fz_hash, 0, fz->fz_divisor*sizeof(struct fib_node*)); + memset(fz->fz_hash, 0, fz->fz_divisor * sizeof(struct hlist_head *)); fz->fz_order = z; fz->fz_mask = inet_make_mask(z); @@ -298,35 +249,20 @@ fn_hash_lookup(struct fib_table *tb, const struct flowi *flp, struct fib_result read_lock(&fib_hash_lock); for (fz = t->fn_zone_list; fz; fz = fz->fz_next) { + struct hlist_head *head; + struct hlist_node *node; struct fib_node *f; - fn_key_t k = fz_key(flp->fl4_dst, fz); + u32 k = fz_key(flp->fl4_dst, fz); - for (f = fz_chain(k, fz); f; f = f->fn_next) { - if (!fn_key_eq(k, f->fn_key)) { - if (fn_key_leq(k, f->fn_key)) - break; - else - continue; - } -#ifdef CONFIG_IP_ROUTE_TOS - if (f->fn_tos && f->fn_tos != flp->fl4_tos) - continue; -#endif - f->fn_state |= FN_S_ACCESSED; - - if (f->fn_state&FN_S_ZOMBIE) - continue; - if (f->fn_scope < flp->fl4_scope) + head = &fz->fz_hash[fn_hash(k, fz)]; + hlist_for_each_entry(f, node, head, fn_hash) { + if (f->fn_key != k) continue; - err = fib_semantic_match(f->fn_type, FIB_INFO(f), flp, res); - if (err == 0) { - res->type = f->fn_type; - res->scope = f->fn_scope; - res->prefixlen = fz->fz_order; - goto out; - } - if (err < 0) + err = fib_semantic_match(&f->fn_alias, + flp, res, + fz->fz_order); + if (err <= 0) goto out; } } @@ -365,6 +301,7 @@ static void fn_hash_select_default(struct fib_table *tb, const struct flowi *flp, struct fib_result *res) { int order, last_idx; + struct hlist_node *node; struct fib_node *f; struct fib_info *fi = NULL; struct fib_info *last_resort; @@ -379,36 +316,41 @@ fn_hash_select_default(struct fib_table *tb, const struct flowi *flp, struct fib order = -1; read_lock(&fib_hash_lock); - for (f = fz->fz_hash[0]; f; f = f->fn_next) { - struct fib_info *next_fi = FIB_INFO(f); + hlist_for_each_entry(f, node, &fz->fz_hash[0], fn_hash) { + struct fib_alias *fa; - if ((f->fn_state&FN_S_ZOMBIE) || - f->fn_scope != res->scope || - f->fn_type != RTN_UNICAST) - continue; + list_for_each_entry(fa, &f->fn_alias, fa_list) { + struct fib_info *next_fi = fa->fa_info; - if (next_fi->fib_priority > res->fi->fib_priority) - break; - if (!next_fi->fib_nh[0].nh_gw || next_fi->fib_nh[0].nh_scope != RT_SCOPE_LINK) - continue; - f->fn_state |= FN_S_ACCESSED; + if (fa->fa_scope != res->scope || + fa->fa_type != RTN_UNICAST) + continue; - if (fi == NULL) { - if (next_fi != res->fi) + if (next_fi->fib_priority > res->fi->fib_priority) break; - } else if (!fib_detect_death(fi, order, &last_resort, &last_idx)) { - if (res->fi) - fib_info_put(res->fi); - res->fi = fi; - atomic_inc(&fi->fib_clntref); - fn_hash_last_dflt = order; - goto out; + if (!next_fi->fib_nh[0].nh_gw || + next_fi->fib_nh[0].nh_scope != RT_SCOPE_LINK) + continue; + fa->fa_state |= FA_S_ACCESSED; + + if (fi == NULL) { + if (next_fi != res->fi) + break; + } else if (!fib_detect_death(fi, order, &last_resort, + &last_idx)) { + if (res->fi) + fib_info_put(res->fi); + res->fi = fi; + atomic_inc(&fi->fib_clntref); + fn_hash_last_dflt = order; + goto out; + } + fi = next_fi; + order++; } - fi = next_fi; - order++; } - if (order<=0 || fi==NULL) { + if (order <= 0 || fi == NULL) { fn_hash_last_dflt = -1; goto out; } @@ -434,52 +376,76 @@ out: read_unlock(&fib_hash_lock); } -#define FIB_SCAN(f, fp) \ -for ( ; ((f) = *(fp)) != NULL; (fp) = &(f)->fn_next) +static void rtmsg_fib(int, struct fib_node *, struct fib_alias *, + int, int, + struct nlmsghdr *n, + struct netlink_skb_parms *); -#define FIB_SCAN_KEY(f, fp, key) \ -for ( ; ((f) = *(fp)) != NULL && fn_key_eq((f)->fn_key, (key)); (fp) = &(f)->fn_next) +/* Insert node F to FZ. */ +static inline void fib_insert_node(struct fn_zone *fz, struct fib_node *f) +{ + struct hlist_head *head = &fz->fz_hash[fn_hash(f->fn_key, fz)]; -#ifndef CONFIG_IP_ROUTE_TOS -#define FIB_SCAN_TOS(f, fp, key, tos) FIB_SCAN_KEY(f, fp, key) -#else -#define FIB_SCAN_TOS(f, fp, key, tos) \ -for ( ; ((f) = *(fp)) != NULL && fn_key_eq((f)->fn_key, (key)) && \ - (f)->fn_tos == (tos) ; (fp) = &(f)->fn_next) -#endif + hlist_add_head(&f->fn_hash, head); +} +/* Return the node in FZ matching KEY. */ +static struct fib_node *fib_find_node(struct fn_zone *fz, u32 key) +{ + struct hlist_head *head = &fz->fz_hash[fn_hash(key, fz)]; + struct hlist_node *node; + struct fib_node *f; -static void rtmsg_fib(int, struct fib_node*, int, int, - struct nlmsghdr *n, - struct netlink_skb_parms *); + hlist_for_each_entry(f, node, head, fn_hash) { + if (f->fn_key == key) + return f; + } + + return NULL; +} + +/* Return the first fib alias matching TOS with + * priority less than or equal to PRIO. + */ +static struct fib_alias *fib_find_alias(struct fib_node *fn, u8 tos, u32 prio) +{ + if (fn) { + struct list_head *head = &fn->fn_alias; + struct fib_alias *fa; + + list_for_each_entry(fa, head, fa_list) { + if (fa->fa_tos > tos) + continue; + if (fa->fa_info->fib_priority >= prio || + fa->fa_tos < tos) + return fa; + } + } + return NULL; +} static int fn_hash_insert(struct fib_table *tb, struct rtmsg *r, struct kern_rta *rta, - struct nlmsghdr *n, struct netlink_skb_parms *req) + struct nlmsghdr *n, struct netlink_skb_parms *req) { - struct fn_hash *table = (struct fn_hash*)tb->tb_data; - struct fib_node *new_f, *f, **fp, **del_fp; + struct fn_hash *table = (struct fn_hash *) tb->tb_data; + struct fib_node *new_f, *f; + struct fib_alias *fa, *new_fa; struct fn_zone *fz; struct fib_info *fi; - int z = r->rtm_dst_len; int type = r->rtm_type; -#ifdef CONFIG_IP_ROUTE_TOS u8 tos = r->rtm_tos; -#endif - fn_key_t key; + u32 key; int err; -FTprint("tb(%d)_insert: %d %08x/%d %d %08x\n", tb->tb_id, r->rtm_type, rta->rta_dst ? -*(u32*)rta->rta_dst : 0, z, rta->rta_oif ? *rta->rta_oif : -1, -rta->rta_prefsrc ? *(u32*)rta->rta_prefsrc : 0); if (z > 32) return -EINVAL; fz = table->fn_zones[z]; if (!fz && !(fz = fn_new_zone(table, z))) return -ENOBUFS; - fz_key_0(key); + key = 0; if (rta->rta_dst) { u32 dst; memcpy(&dst, rta->rta_dst, 4); @@ -496,136 +462,114 @@ rta->rta_prefsrc ? *(u32*)rta->rta_prefsrc : 0); (z==32 || (1< fz->fz_divisor)) fn_rehash_zone(fz); - fp = fz_chain_p(key, fz); - - - /* - * Scan list to find the first route with the same destination + f = fib_find_node(fz, key); + fa = fib_find_alias(f, tos, fi->fib_priority); + + /* Now fa, if non-NULL, points to the first fib alias + * with the same keys [prefix,tos,priority], if such key already + * exists or to the node before which we will insert new one. + * + * If fa is NULL, we will need to allocate a new one and + * insert to the head of f. + * + * If f is NULL, no fib node matched the destination key + * and we need to allocate a new one of those as well. */ - FIB_SCAN(f, fp) { - if (fn_key_leq(key,f->fn_key)) - break; - } -#ifdef CONFIG_IP_ROUTE_TOS - /* - * Find route with the same destination and tos. - */ - FIB_SCAN_KEY(f, fp, key) { - if (f->fn_tos <= tos) - break; - } -#endif - - del_fp = NULL; - - if (f && (f->fn_state&FN_S_ZOMBIE) && -#ifdef CONFIG_IP_ROUTE_TOS - f->fn_tos == tos && -#endif - fn_key_eq(f->fn_key, key)) { - del_fp = fp; - fp = &f->fn_next; - f = *fp; - goto create; - } - - FIB_SCAN_TOS(f, fp, key, tos) { - if (fi->fib_priority <= FIB_INFO(f)->fib_priority) - break; - } - - /* Now f==*fp points to the first node with the same - keys [prefix,tos,priority], if such key already - exists or to the node, before which we will insert new one. - */ - - if (f && -#ifdef CONFIG_IP_ROUTE_TOS - f->fn_tos == tos && -#endif - fn_key_eq(f->fn_key, key) && - fi->fib_priority == FIB_INFO(f)->fib_priority) { - struct fib_node **ins_fp; + if (fa && fa->fa_tos == tos && + fa->fa_info->fib_priority == fi->fib_priority) { + struct fib_alias *fa_orig; err = -EEXIST; - if (n->nlmsg_flags&NLM_F_EXCL) + if (n->nlmsg_flags & NLM_F_EXCL) goto out; - if (n->nlmsg_flags&NLM_F_REPLACE) { - del_fp = fp; - fp = &f->fn_next; - f = *fp; - goto replace; - } + if (n->nlmsg_flags & NLM_F_REPLACE) { + struct fib_info *fi_drop; + u8 state; - ins_fp = fp; - err = -EEXIST; + write_lock_bh(&fib_hash_lock); + fi_drop = fa->fa_info; + fa->fa_info = fi; + fa->fa_type = type; + fa->fa_scope = r->rtm_scope; + state = fa->fa_state; + fa->fa_state &= ~FA_S_ACCESSED; + write_unlock_bh(&fib_hash_lock); - FIB_SCAN_TOS(f, fp, key, tos) { - if (fi->fib_priority != FIB_INFO(f)->fib_priority) - break; - if (f->fn_type == type && f->fn_scope == r->rtm_scope - && FIB_INFO(f) == fi) - goto out; + fib_release_info(fi_drop); + if (state & FA_S_ACCESSED) + rt_cache_flush(-1); + return 0; } - if (!(n->nlmsg_flags&NLM_F_APPEND)) { - fp = ins_fp; - f = *fp; + /* Error if we find a perfect match which + * uses the same scope, type, and nexthop + * information. + */ + fa_orig = fa; + fa = list_entry(fa->fa_list.prev, struct fib_alias, fa_list); + list_for_each_entry_continue(fa, &f->fn_alias, fa_list) { + if (fa->fa_tos != tos) + break; + if (fa->fa_info->fib_priority != fi->fib_priority) + break; + if (fa->fa_type == type && + fa->fa_scope == r->rtm_scope && + fa->fa_info == fi) + goto out; } + if (!(n->nlmsg_flags & NLM_F_APPEND)) + fa = fa_orig; } -create: err = -ENOENT; if (!(n->nlmsg_flags&NLM_F_CREATE)) goto out; -replace: err = -ENOBUFS; - new_f = kmem_cache_alloc(fn_hash_kmem, SLAB_KERNEL); - if (new_f == NULL) + new_fa = kmem_cache_alloc(fn_alias_kmem, SLAB_KERNEL); + if (new_fa == NULL) goto out; - memset(new_f, 0, sizeof(struct fib_node)); + new_f = NULL; + if (!f) { + new_f = kmem_cache_alloc(fn_hash_kmem, SLAB_KERNEL); + if (new_f == NULL) + goto out_free_new_fa; - new_f->fn_key = key; -#ifdef CONFIG_IP_ROUTE_TOS - new_f->fn_tos = tos; -#endif - new_f->fn_type = type; - new_f->fn_scope = r->rtm_scope; - FIB_INFO(new_f) = fi; + INIT_HLIST_NODE(&new_f->fn_hash); + INIT_LIST_HEAD(&new_f->fn_alias); + new_f->fn_key = key; + f = new_f; + } + + new_fa->fa_info = fi; + new_fa->fa_tos = tos; + new_fa->fa_type = type; + new_fa->fa_scope = r->rtm_scope; + new_fa->fa_state = 0; /* * Insert new entry to the list. */ - new_f->fn_next = f; write_lock_bh(&fib_hash_lock); - *fp = new_f; + if (new_f) + fib_insert_node(fz, new_f); + list_add_tail(&new_fa->fa_list, + (fa ? &fa->fa_list : &f->fn_alias)); write_unlock_bh(&fib_hash_lock); - fz->fz_nent++; - if (del_fp) { - f = *del_fp; - /* Unlink replaced node */ - write_lock_bh(&fib_hash_lock); - *del_fp = f->fn_next; - write_unlock_bh(&fib_hash_lock); + if (new_f) + fz->fz_nent++; + rt_cache_flush(-1); - if (!(f->fn_state&FN_S_ZOMBIE)) - rtmsg_fib(RTM_DELROUTE, f, z, tb->tb_id, n, req); - if (f->fn_state&FN_S_ACCESSED) - rt_cache_flush(-1); - fn_free_node(f); - fz->fz_nent--; - } else { - rt_cache_flush(-1); - } - rtmsg_fib(RTM_NEWROUTE, new_f, z, tb->tb_id, n, req); + rtmsg_fib(RTM_NEWROUTE, f, new_fa, z, tb->tb_id, n, req); return 0; +out_free_new_fa: + kmem_cache_free(fn_alias_kmem, new_fa); out: fib_release_info(fi); return err; @@ -634,26 +578,22 @@ out: static int fn_hash_delete(struct fib_table *tb, struct rtmsg *r, struct kern_rta *rta, - struct nlmsghdr *n, struct netlink_skb_parms *req) + struct nlmsghdr *n, struct netlink_skb_parms *req) { struct fn_hash *table = (struct fn_hash*)tb->tb_data; - struct fib_node **fp, **del_fp, *f; + struct fib_node *f; + struct fib_alias *fa, *fa_to_delete; int z = r->rtm_dst_len; struct fn_zone *fz; - fn_key_t key; - int matched; -#ifdef CONFIG_IP_ROUTE_TOS + u32 key; u8 tos = r->rtm_tos; -#endif -FTprint("tb(%d)_delete: %d %08x/%d %d\n", tb->tb_id, r->rtm_type, rta->rta_dst ? - *(u32*)rta->rta_dst : 0, z, rta->rta_oif ? *rta->rta_oif : -1); if (z > 32) return -EINVAL; if ((fz = table->fn_zones[z]) == NULL) return -ESRCH; - fz_key_0(key); + key = 0; if (rta->rta_dst) { u32 dst; memcpy(&dst, rta->rta_dst, 4); @@ -662,62 +602,52 @@ FTprint("tb(%d)_delete: %d %08x/%d %d\n", tb->tb_id, r->rtm_type, rta->rta_dst ? key = fz_key(dst, fz); } - fp = fz_chain_p(key, fz); + f = fib_find_node(fz, key); + fa = fib_find_alias(f, tos, 0); + if (!fa) + return -ESRCH; + fa_to_delete = NULL; + fa = list_entry(fa->fa_list.prev, struct fib_alias, fa_list); + list_for_each_entry_continue(fa, &f->fn_alias, fa_list) { + struct fib_info *fi = fa->fa_info; - FIB_SCAN(f, fp) { - if (fn_key_eq(f->fn_key, key)) + if (fa->fa_tos != tos) break; - if (fn_key_leq(key, f->fn_key)) { - return -ESRCH; - } - } -#ifdef CONFIG_IP_ROUTE_TOS - FIB_SCAN_KEY(f, fp, key) { - if (f->fn_tos == tos) - break; - } -#endif - - matched = 0; - del_fp = NULL; - FIB_SCAN_TOS(f, fp, key, tos) { - struct fib_info * fi = FIB_INFO(f); - if (f->fn_state&FN_S_ZOMBIE) { - return -ESRCH; + if ((!r->rtm_type || + fa->fa_type == r->rtm_type) && + (r->rtm_scope == RT_SCOPE_NOWHERE || + fa->fa_scope == r->rtm_scope) && + (!r->rtm_protocol || + fi->fib_protocol == r->rtm_protocol) && + fib_nh_match(r, n, rta, fi) == 0) { + fa_to_delete = fa; + break; } - matched++; - - if (del_fp == NULL && - (!r->rtm_type || f->fn_type == r->rtm_type) && - (r->rtm_scope == RT_SCOPE_NOWHERE || f->fn_scope == r->rtm_scope) && - (!r->rtm_protocol || fi->fib_protocol == r->rtm_protocol) && - fib_nh_match(r, n, rta, fi) == 0) - del_fp = fp; } - if (del_fp) { - f = *del_fp; - rtmsg_fib(RTM_DELROUTE, f, z, tb->tb_id, n, req); + if (fa_to_delete) { + int kill_fn; - if (matched != 1) { - write_lock_bh(&fib_hash_lock); - *del_fp = f->fn_next; - write_unlock_bh(&fib_hash_lock); + fa = fa_to_delete; + rtmsg_fib(RTM_DELROUTE, f, fa, z, tb->tb_id, n, req); - if (f->fn_state&FN_S_ACCESSED) - rt_cache_flush(-1); + kill_fn = 0; + write_lock_bh(&fib_hash_lock); + list_del(&fa->fa_list); + if (list_empty(&f->fn_alias)) { + hlist_del(&f->fn_hash); + kill_fn = 1; + } + write_unlock_bh(&fib_hash_lock); + + if (fa->fa_state & FA_S_ACCESSED) + rt_cache_flush(-1); + fn_free_alias(fa); + if (kill_fn) { fn_free_node(f); fz->fz_nent--; - } else { - f->fn_state |= FN_S_ZOMBIE; - if (f->fn_state&FN_S_ACCESSED) { - f->fn_state &= ~FN_S_ACCESSED; - rt_cache_flush(-1); - } - if (++fib_hash_zombies > 128) - fib_flush(); } return 0; @@ -725,74 +655,99 @@ FTprint("tb(%d)_delete: %d %08x/%d %d\n", tb->tb_id, r->rtm_type, rta->rta_dst ? return -ESRCH; } -static __inline__ int -fn_flush_list(struct fib_node ** fp, int z, struct fn_hash *table) +static int fn_flush_list(struct fn_zone *fz, int idx) { - int found = 0; + struct hlist_head *head = &fz->fz_hash[idx]; + struct hlist_node *node, *n; struct fib_node *f; + int found = 0; - while ((f = *fp) != NULL) { - struct fib_info *fi = FIB_INFO(f); - - if (fi && ((f->fn_state&FN_S_ZOMBIE) || (fi->fib_flags&RTNH_F_DEAD))) { - write_lock_bh(&fib_hash_lock); - *fp = f->fn_next; - write_unlock_bh(&fib_hash_lock); - + hlist_for_each_entry_safe(f, node, n, head, fn_hash) { + struct fib_alias *fa, *fa_node; + int kill_f; + + kill_f = 0; + list_for_each_entry_safe(fa, fa_node, &f->fn_alias, fa_list) { + struct fib_info *fi = fa->fa_info; + + if (fi && (fi->fib_flags&RTNH_F_DEAD)) { + write_lock_bh(&fib_hash_lock); + list_del(&fa->fa_list); + if (list_empty(&f->fn_alias)) { + hlist_del(&f->fn_hash); + kill_f = 1; + } + write_unlock_bh(&fib_hash_lock); + + fn_free_alias(fa); + found++; + } + } + if (kill_f) { fn_free_node(f); - found++; - continue; + fz->fz_nent--; } - fp = &f->fn_next; } return found; } static int fn_hash_flush(struct fib_table *tb) { - struct fn_hash *table = (struct fn_hash*)tb->tb_data; + struct fn_hash *table = (struct fn_hash *) tb->tb_data; struct fn_zone *fz; int found = 0; - fib_hash_zombies = 0; for (fz = table->fn_zone_list; fz; fz = fz->fz_next) { int i; - int tmp = 0; - for (i=fz->fz_divisor-1; i>=0; i--) - tmp += fn_flush_list(&fz->fz_hash[i], fz->fz_order, table); - fz->fz_nent -= tmp; - found += tmp; + + for (i = fz->fz_divisor - 1; i >= 0; i--) + found += fn_flush_list(fz, i); } return found; } -static __inline__ int +static inline int fn_hash_dump_bucket(struct sk_buff *skb, struct netlink_callback *cb, struct fib_table *tb, struct fn_zone *fz, - struct fib_node *f) + struct hlist_head *head) { + struct hlist_node *node; + struct fib_node *f; int i, s_i; s_i = cb->args[3]; - for (i=0; f; i++, f=f->fn_next) { - if (i < s_i) continue; - if (f->fn_state&FN_S_ZOMBIE) continue; - if (fib_dump_info(skb, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, - RTM_NEWROUTE, - tb->tb_id, (f->fn_state&FN_S_ZOMBIE) ? 0 : f->fn_type, f->fn_scope, - &f->fn_key, fz->fz_order, f->fn_tos, - f->fn_info) < 0) { - cb->args[3] = i; - return -1; + i = 0; + hlist_for_each_entry(f, node, head, fn_hash) { + struct fib_alias *fa; + + list_for_each_entry(fa, &f->fn_alias, fa_list) { + if (i < s_i) + continue; + + if (fib_dump_info(skb, NETLINK_CB(cb->skb).pid, + cb->nlh->nlmsg_seq, + RTM_NEWROUTE, + tb->tb_id, + fa->fa_type, + fa->fa_scope, + &f->fn_key, + fz->fz_order, + fa->fa_tos, + fa->fa_info) < 0) { + cb->args[3] = i; + return -1; + } + + i++; } } cb->args[3] = i; return skb->len; } -static __inline__ int +static inline int fn_hash_dump_zone(struct sk_buff *skb, struct netlink_callback *cb, struct fib_table *tb, struct fn_zone *fz) @@ -803,10 +758,12 @@ fn_hash_dump_zone(struct sk_buff *skb, struct netlink_callback *cb, for (h=0; h < fz->fz_divisor; h++) { if (h < s_h) continue; if (h > s_h) - memset(&cb->args[3], 0, sizeof(cb->args) - 3*sizeof(cb->args[0])); - if (fz->fz_hash == NULL || fz->fz_hash[h] == NULL) + memset(&cb->args[3], 0, + sizeof(cb->args) - 3*sizeof(cb->args[0])); + if (fz->fz_hash == NULL || + hlist_empty(&fz->fz_hash[h])) continue; - if (fn_hash_dump_bucket(skb, cb, tb, fz, fz->fz_hash[h]) < 0) { + if (fn_hash_dump_bucket(skb, cb, tb, fz, &fz->fz_hash[h])<0) { cb->args[2] = h; return -1; } @@ -826,7 +783,8 @@ static int fn_hash_dump(struct fib_table *tb, struct sk_buff *skb, struct netlin for (fz = table->fn_zone_list, m=0; fz; fz = fz->fz_next, m++) { if (m < s_m) continue; if (m > s_m) - memset(&cb->args[2], 0, sizeof(cb->args) - 2*sizeof(cb->args[0])); + memset(&cb->args[2], 0, + sizeof(cb->args) - 2*sizeof(cb->args[0])); if (fn_hash_dump_zone(skb, cb, tb, fz) < 0) { cb->args[1] = m; read_unlock(&fib_hash_lock); @@ -838,7 +796,8 @@ static int fn_hash_dump(struct fib_table *tb, struct sk_buff *skb, struct netlin return skb->len; } -static void rtmsg_fib(int event, struct fib_node* f, int z, int tb_id, +static void rtmsg_fib(int event, struct fib_node *f, struct fib_alias *fa, + int z, int tb_id, struct nlmsghdr *n, struct netlink_skb_parms *req) { struct sk_buff *skb; @@ -850,8 +809,9 @@ static void rtmsg_fib(int event, struct fib_node* f, int z, int tb_id, return; if (fib_dump_info(skb, pid, n->nlmsg_seq, event, tb_id, - f->fn_type, f->fn_scope, &f->fn_key, z, f->fn_tos, - FIB_INFO(f)) < 0) { + fa->fa_type, fa->fa_scope, &f->fn_key, z, + fa->fa_tos, + fa->fa_info) < 0) { kfree_skb(skb); return; } @@ -877,7 +837,14 @@ struct fib_table * __init fib_hash_init(int id) 0, SLAB_HWCACHE_ALIGN, NULL, NULL); - tb = kmalloc(sizeof(struct fib_table) + sizeof(struct fn_hash), GFP_KERNEL); + if (fn_alias_kmem == NULL) + fn_alias_kmem = kmem_cache_create("ip_fib_alias", + sizeof(struct fib_alias), + 0, SLAB_HWCACHE_ALIGN, + NULL, NULL); + + tb = kmalloc(sizeof(struct fib_table) + sizeof(struct fn_hash), + GFP_KERNEL); if (tb == NULL) return NULL; @@ -898,64 +865,105 @@ struct fib_table * __init fib_hash_init(int id) struct fib_iter_state { struct fn_zone *zone; int bucket; - struct fib_node **hash; - struct fib_node *node; + struct hlist_head *hash_head; + struct fib_node *fn; + struct fib_alias *fa; }; -static __inline__ struct fib_node *fib_get_first(struct seq_file *seq) +static struct fib_alias *fib_get_first(struct seq_file *seq) { - struct fib_iter_state* iter = seq->private; - struct fn_hash *table = (struct fn_hash *)ip_fib_main_table->tb_data; + struct fib_iter_state *iter = seq->private; + struct fn_hash *table = (struct fn_hash *) ip_fib_main_table->tb_data; - iter->bucket = 0; - iter->hash = NULL; - iter->node = NULL; + iter->bucket = 0; + iter->hash_head = NULL; + iter->fn = NULL; + iter->fa = NULL; for (iter->zone = table->fn_zone_list; iter->zone; iter->zone = iter->zone->fz_next) { int maxslot; - if (!iter->zone->fz_next) + if (!iter->zone->fz_nent) continue; - iter->hash = iter->zone->fz_hash; + iter->hash_head = iter->zone->fz_hash; maxslot = iter->zone->fz_divisor; for (iter->bucket = 0; iter->bucket < maxslot; - ++iter->bucket, ++iter->hash) { - iter->node = *iter->hash; - - if (iter->node) - goto out; + ++iter->bucket, ++iter->hash_head) { + struct hlist_node *node; + struct fib_node *fn; + + hlist_for_each_entry(fn,node,iter->hash_head,fn_hash) { + struct fib_alias *fa; + + list_for_each_entry(fa,&fn->fn_alias,fa_list) { + iter->fn = fn; + iter->fa = fa; + goto out; + } + } } } out: - return iter->node; + return iter->fa; } -static __inline__ struct fib_node *fib_get_next(struct seq_file *seq) +static struct fib_alias *fib_get_next(struct seq_file *seq) { - struct fib_iter_state* iter = seq->private; + struct fib_iter_state *iter = seq->private; + struct fib_node *fn; + struct fib_alias *fa; + + /* Advance FA, if any. */ + fn = iter->fn; + fa = iter->fa; + if (fa) { + BUG_ON(!fn); + list_for_each_entry_continue(fa, &fn->fn_alias, fa_list) { + iter->fa = fa; + goto out; + } + } - if (iter->node) - iter->node = iter->node->fn_next; + fa = iter->fa = NULL; - if (iter->node) - goto out; + /* Advance FN. */ + if (fn) { + struct hlist_node *node = &fn->fn_hash; + hlist_for_each_entry_continue(fn, node, fn_hash) { + iter->fn = fn; + list_for_each_entry(fa, &fn->fn_alias, fa_list) { + iter->fa = fa; + goto out; + } + } + } + + fn = iter->fn = NULL; + + /* Advance hash chain. */ if (!iter->zone) goto out; for (;;) { + struct hlist_node *node; int maxslot; maxslot = iter->zone->fz_divisor; while (++iter->bucket < maxslot) { - iter->node = *++iter->hash; - - if (iter->node) - goto out; + iter->hash_head++; + + hlist_for_each_entry(fn, node, iter->hash_head, fn_hash) { + list_for_each_entry(fa, &fn->fn_alias, fa_list) { + iter->fn = fn; + iter->fa = fa; + goto out; + } + } } iter->zone = iter->zone->fz_next; @@ -963,14 +971,19 @@ static __inline__ struct fib_node *fib_get_next(struct seq_file *seq) if (!iter->zone) goto out; - iter->hash = iter->zone->fz_hash; iter->bucket = 0; - iter->node = *iter->hash; - if (iter->node) - break; + iter->hash_head = iter->zone->fz_hash; + + hlist_for_each_entry(fn, node, iter->hash_head, fn_hash) { + list_for_each_entry(fa, &fn->fn_alias, fa_list) { + iter->fn = fn; + iter->fa = fa; + goto out; + } + } } out: - return iter->node; + return fa; } static void *fib_seq_start(struct seq_file *seq, loff_t *pos) @@ -994,7 +1007,7 @@ static void fib_seq_stop(struct seq_file *seq, void *v) read_unlock(&fib_hash_lock); } -static unsigned fib_flag_trans(int type, int dead, u32 mask, struct fib_info *fi) +static unsigned fib_flag_trans(int type, u32 mask, struct fib_info *fi) { static unsigned type2flags[RTN_MAX + 1] = { [7] = RTF_REJECT, [8] = RTF_REJECT, @@ -1005,8 +1018,7 @@ static unsigned fib_flag_trans(int type, int dead, u32 mask, struct fib_info *fi flags |= RTF_GATEWAY; if (mask == 0xFFFFFFFF) flags |= RTF_HOST; - if (!dead) - flags |= RTF_UP; + flags |= RTF_UP; return flags; } @@ -1018,11 +1030,12 @@ static unsigned fib_flag_trans(int type, int dead, u32 mask, struct fib_info *fi */ static int fib_seq_show(struct seq_file *seq, void *v) { - struct fib_iter_state* iter; + struct fib_iter_state *iter; char bf[128]; u32 prefix, mask; unsigned flags; struct fib_node *f; + struct fib_alias *fa; struct fib_info *fi; if (v == SEQ_START_TOKEN) { @@ -1032,13 +1045,13 @@ static int fib_seq_show(struct seq_file *seq, void *v) goto out; } - f = v; - fi = FIB_INFO(f); iter = seq->private; - prefix = fz_prefix(f->fn_key, iter->zone); + f = iter->fn; + fa = iter->fa; + fi = fa->fa_info; + prefix = f->fn_key; mask = FZ_MASK(iter->zone); - flags = fib_flag_trans(f->fn_type, f->fn_state & FN_S_ZOMBIE, - mask, fi); + flags = fib_flag_trans(fa->fa_type, mask, fi); if (fi) snprintf(bf, sizeof(bf), "%s\t%08X\t%08X\t%04X\t%d\t%u\t%d\t%08X\t%d\t%u\t%u", diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index e2a772d3b..8f8886d7f 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c @@ -163,6 +163,8 @@ void fib_release_info(struct fib_info *fi) if (fi->fib_prefsrc) hlist_del(&fi->fib_lhash); change_nexthops(fi) { + if (!nh->nh_dev) + continue; hlist_del(&nh->nh_hash); } endfor_nexthops(fi) fi->fib_dead = 1; diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index e4a4a0994..241fbc1fc 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c @@ -478,20 +478,25 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, u32 info) * ICMP error */ if (iph->protocol == IPPROTO_ICMP) { - u8 inner_type; - - if (skb_copy_bits(skb_in, - skb_in->nh.raw + (iph->ihl << 2) + - offsetof(struct icmphdr, type) - - skb_in->data, &inner_type, 1)) + u8 _inner_type, *itp; + + itp = skb_header_pointer(skb_in, + skb_in->nh.raw + + (iph->ihl << 2) + + offsetof(struct icmphdr, + type) - + skb_in->data, + sizeof(_inner_type), + &_inner_type); + if (itp == NULL) goto out; /* * Assume any unknown ICMP type is an error. This * isn't specified by the RFC, but think about it.. */ - if (inner_type > NR_ICMP_TYPES || - icmp_pointers[inner_type].error) + if (*itp > NR_ICMP_TYPES || + icmp_pointers[*itp].error) goto out; } } @@ -503,16 +508,6 @@ void icmp_send(struct sk_buff *skb_in, int type, int code, u32 info) * Construct source address and options. */ -#ifdef CONFIG_IP_ROUTE_NAT - /* - * Restore original addresses if packet has been translated. - */ - if (rt->rt_flags & RTCF_NAT && IPCB(skb_in)->flags & IPSKB_TRANSLATED) { - iph->daddr = rt->fl.fl4_dst; - iph->saddr = rt->fl.fl4_src; - } -#endif - saddr = iph->daddr; if (!(rt->rt_flags & RTCF_LOCAL)) saddr = 0; @@ -705,8 +700,7 @@ static void icmp_unreach(struct sk_buff *skb) read_unlock(&raw_v4_lock); rcu_read_lock(); - ipprot = inet_protos[hash]; - smp_read_barrier_depends(); + ipprot = rcu_dereference(inet_protos[hash]); if (ipprot && ipprot->err_handler) ipprot->err_handler(skb, info); rcu_read_unlock(); @@ -880,7 +874,6 @@ static void icmp_address_reply(struct sk_buff *skb) struct net_device *dev = skb->dev; struct in_device *in_dev; struct in_ifaddr *ifa; - u32 mask; if (skb->len < 4 || !(rt->rt_flags&RTCF_DIRECTSRC)) goto out; @@ -888,24 +881,27 @@ static void icmp_address_reply(struct sk_buff *skb) in_dev = in_dev_get(dev); if (!in_dev) goto out; - read_lock(&in_dev->lock); + rcu_read_lock(); if (in_dev->ifa_list && IN_DEV_LOG_MARTIANS(in_dev) && IN_DEV_FORWARD(in_dev)) { - if (skb_copy_bits(skb, 0, &mask, 4)) + u32 _mask, *mp; + + mp = skb_header_pointer(skb, 0, sizeof(_mask), &_mask); + if (mp == NULL) BUG(); for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { - if (mask == ifa->ifa_mask && + if (*mp == ifa->ifa_mask && inet_ifa_match(rt->rt_src, ifa)) break; } if (!ifa && net_ratelimit()) { printk(KERN_INFO "Wrong address mask %u.%u.%u.%u from " "%s/%u.%u.%u.%u\n", - NIPQUAD(mask), dev->name, NIPQUAD(rt->rt_src)); + NIPQUAD(*mp), dev->name, NIPQUAD(rt->rt_src)); } } - read_unlock(&in_dev->lock); + rcu_read_unlock(); in_dev_put(in_dev); out:; } diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 01db76123..256f10b8c 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -487,7 +487,7 @@ static int igmpv3_send_report(struct in_device *in_dev, struct ip_mc_list *pmc) int type; if (!pmc) { - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (pmc=in_dev->mc_list; pmc; pmc=pmc->next) { if (pmc->multiaddr == IGMP_ALL_HOSTS) continue; @@ -499,7 +499,7 @@ static int igmpv3_send_report(struct in_device *in_dev, struct ip_mc_list *pmc) skb = add_grec(skb, pmc, type, 0, 0); spin_unlock_bh(&pmc->lock); } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); } else { spin_lock_bh(&pmc->lock); if (pmc->sfcount[MCAST_EXCLUDE]) @@ -541,8 +541,8 @@ static void igmpv3_send_cr(struct in_device *in_dev) struct sk_buff *skb = NULL; int type, dtype; - read_lock(&in_dev->lock); - write_lock_bh(&in_dev->mc_lock); + read_lock(&in_dev->mc_list_lock); + spin_lock_bh(&in_dev->mc_tomb_lock); /* deleted MCA's */ pmc_prev = NULL; @@ -575,7 +575,7 @@ static void igmpv3_send_cr(struct in_device *in_dev) } else pmc_prev = pmc; } - write_unlock_bh(&in_dev->mc_lock); + spin_unlock_bh(&in_dev->mc_tomb_lock); /* change recs */ for (pmc=in_dev->mc_list; pmc; pmc=pmc->next) { @@ -601,7 +601,8 @@ static void igmpv3_send_cr(struct in_device *in_dev) } spin_unlock_bh(&pmc->lock); } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); + if (!skb) return; (void) igmpv3_sendpack(skb); @@ -759,14 +760,14 @@ static void igmp_heard_report(struct in_device *in_dev, u32 group) if (group == IGMP_ALL_HOSTS) return; - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (im=in_dev->mc_list; im!=NULL; im=im->next) { if (im->multiaddr == group) { igmp_stop_timer(im); break; } } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); } static void igmp_heard_query(struct in_device *in_dev, struct sk_buff *skb, @@ -840,7 +841,7 @@ static void igmp_heard_query(struct in_device *in_dev, struct sk_buff *skb, * - Use the igmp->igmp_code field as the maximum * delay possible */ - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (im=in_dev->mc_list; im!=NULL; im=im->next) { if (group && group != im->multiaddr) continue; @@ -856,7 +857,7 @@ static void igmp_heard_query(struct in_device *in_dev, struct sk_buff *skb, spin_unlock_bh(&im->lock); igmp_mod_timer(im, max_delay); } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); } int igmp_rcv(struct sk_buff *skb) @@ -982,10 +983,10 @@ static void igmpv3_add_delrec(struct in_device *in_dev, struct ip_mc_list *im) } spin_unlock_bh(&im->lock); - write_lock_bh(&in_dev->mc_lock); + spin_lock_bh(&in_dev->mc_tomb_lock); pmc->next = in_dev->mc_tomb; in_dev->mc_tomb = pmc; - write_unlock_bh(&in_dev->mc_lock); + spin_unlock_bh(&in_dev->mc_tomb_lock); } static void igmpv3_del_delrec(struct in_device *in_dev, __u32 multiaddr) @@ -993,7 +994,7 @@ static void igmpv3_del_delrec(struct in_device *in_dev, __u32 multiaddr) struct ip_mc_list *pmc, *pmc_prev; struct ip_sf_list *psf, *psf_next; - write_lock_bh(&in_dev->mc_lock); + spin_lock_bh(&in_dev->mc_tomb_lock); pmc_prev = NULL; for (pmc=in_dev->mc_tomb; pmc; pmc=pmc->next) { if (pmc->multiaddr == multiaddr) @@ -1006,7 +1007,7 @@ static void igmpv3_del_delrec(struct in_device *in_dev, __u32 multiaddr) else in_dev->mc_tomb = pmc->next; } - write_unlock_bh(&in_dev->mc_lock); + spin_unlock_bh(&in_dev->mc_tomb_lock); if (pmc) { for (psf=pmc->tomb; psf; psf=psf_next) { psf_next = psf->sf_next; @@ -1021,10 +1022,10 @@ static void igmpv3_clear_delrec(struct in_device *in_dev) { struct ip_mc_list *pmc, *nextpmc; - write_lock_bh(&in_dev->mc_lock); + spin_lock_bh(&in_dev->mc_tomb_lock); pmc = in_dev->mc_tomb; in_dev->mc_tomb = NULL; - write_unlock_bh(&in_dev->mc_lock); + spin_unlock_bh(&in_dev->mc_tomb_lock); for (; pmc; pmc = nextpmc) { nextpmc = pmc->next; @@ -1033,7 +1034,7 @@ static void igmpv3_clear_delrec(struct in_device *in_dev) kfree(pmc); } /* clear dead sources, too */ - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (pmc=in_dev->mc_list; pmc; pmc=pmc->next) { struct ip_sf_list *psf, *psf_next; @@ -1046,7 +1047,7 @@ static void igmpv3_clear_delrec(struct in_device *in_dev) kfree(psf); } } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); } #endif @@ -1167,10 +1168,10 @@ void ip_mc_inc_group(struct in_device *in_dev, u32 addr) im->gsquery = 0; #endif im->loaded = 0; - write_lock_bh(&in_dev->lock); + write_lock_bh(&in_dev->mc_list_lock); im->next=in_dev->mc_list; in_dev->mc_list=im; - write_unlock_bh(&in_dev->lock); + write_unlock_bh(&in_dev->mc_list_lock); #ifdef CONFIG_IP_MULTICAST igmpv3_del_delrec(in_dev, im->multiaddr); #endif @@ -1194,9 +1195,9 @@ void ip_mc_dec_group(struct in_device *in_dev, u32 addr) for (ip=&in_dev->mc_list; (i=*ip)!=NULL; ip=&i->next) { if (i->multiaddr==addr) { if (--i->users == 0) { - write_lock_bh(&in_dev->lock); + write_lock_bh(&in_dev->mc_list_lock); *ip = i->next; - write_unlock_bh(&in_dev->lock); + write_unlock_bh(&in_dev->mc_list_lock); igmp_group_dropped(i); if (!in_dev->dead) @@ -1251,7 +1252,8 @@ void ip_mc_init_dev(struct in_device *in_dev) in_dev->mr_qrv = IGMP_Unsolicited_Report_Count; #endif - in_dev->mc_lock = RW_LOCK_UNLOCKED; + in_dev->mc_list_lock = RW_LOCK_UNLOCKED; + in_dev->mc_tomb_lock = SPIN_LOCK_UNLOCKED; } /* Device going up */ @@ -1281,17 +1283,17 @@ void ip_mc_destroy_dev(struct in_device *in_dev) /* Deactivate timers */ ip_mc_down(in_dev); - write_lock_bh(&in_dev->lock); + write_lock_bh(&in_dev->mc_list_lock); while ((i = in_dev->mc_list) != NULL) { in_dev->mc_list = i->next; - write_unlock_bh(&in_dev->lock); + write_unlock_bh(&in_dev->mc_list_lock); igmp_group_dropped(i); ip_ma_put(i); - write_lock_bh(&in_dev->lock); + write_lock_bh(&in_dev->mc_list_lock); } - write_unlock_bh(&in_dev->lock); + write_unlock_bh(&in_dev->mc_list_lock); } static struct in_device * ip_mc_find_dev(struct ip_mreqn *imr) @@ -1391,18 +1393,18 @@ int ip_mc_del_src(struct in_device *in_dev, __u32 *pmca, int sfmode, if (!in_dev) return -ENODEV; - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (pmc=in_dev->mc_list; pmc; pmc=pmc->next) { if (*pmca == pmc->multiaddr) break; } if (!pmc) { /* MCA not found?? bug */ - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); return -ESRCH; } spin_lock_bh(&pmc->lock); - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); #ifdef CONFIG_IP_MULTICAST sf_markstate(pmc); #endif @@ -1527,18 +1529,18 @@ int ip_mc_add_src(struct in_device *in_dev, __u32 *pmca, int sfmode, if (!in_dev) return -ENODEV; - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (pmc=in_dev->mc_list; pmc; pmc=pmc->next) { if (*pmca == pmc->multiaddr) break; } if (!pmc) { /* MCA not found?? bug */ - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); return -ESRCH; } spin_lock_bh(&pmc->lock); - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); #ifdef CONFIG_IP_MULTICAST sf_markstate(pmc); @@ -1776,12 +1778,12 @@ int ip_mc_source(int add, int omode, struct sock *sk, struct goto done; rv = !0; for (i=0; isl_count; i++) { - rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr, + rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr, sizeof(__u32)); - if (rv >= 0) + if (rv == 0) break; } - if (!rv) /* source not found */ + if (rv) /* source not found */ goto done; /* update the interface filter */ @@ -1823,9 +1825,9 @@ int ip_mc_source(int add, int omode, struct sock *sk, struct } rv = 1; /* > 0 for insert logic below if sl_count is 0 */ for (i=0; isl_count; i++) { - rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr, + rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr, sizeof(__u32)); - if (rv >= 0) + if (rv == 0) break; } if (rv == 0) /* address already there is an error */ @@ -2095,7 +2097,7 @@ int ip_check_mc(struct in_device *in_dev, u32 mc_addr, u32 src_addr, u16 proto) struct ip_sf_list *psf; int rv = 0; - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); for (im=in_dev->mc_list; im; im=im->next) { if (im->multiaddr == mc_addr) break; @@ -2117,7 +2119,7 @@ int ip_check_mc(struct in_device *in_dev, u32 mc_addr, u32 src_addr, u16 proto) } else rv = 1; /* unspecified source; tentatively allow */ } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); return rv; } @@ -2141,13 +2143,13 @@ static inline struct ip_mc_list *igmp_mc_get_first(struct seq_file *seq) in_dev = in_dev_get(state->dev); if (!in_dev) continue; - read_lock(&in_dev->lock); + read_lock(&in_dev->mc_list_lock); im = in_dev->mc_list; if (im) { state->in_dev = in_dev; break; } - read_unlock(&in_dev->lock); + read_unlock(&in_dev->mc_list_lock); in_dev_put(in_dev); } return im; @@ -2159,7 +2161,7 @@ static struct ip_mc_list *igmp_mc_get_next(struct seq_file *seq, struct ip_mc_li im = im->next; while (!im) { if (likely(state->in_dev != NULL)) { - read_unlock(&state->in_dev->lock); + read_unlock(&state->in_dev->mc_list_lock); in_dev_put(state->in_dev); } state->dev = state->dev->next; @@ -2170,7 +2172,7 @@ static struct ip_mc_list *igmp_mc_get_next(struct seq_file *seq, struct ip_mc_li state->in_dev = in_dev_get(state->dev); if (!state->in_dev) continue; - read_lock(&state->in_dev->lock); + read_lock(&state->in_dev->mc_list_lock); im = state->in_dev->mc_list; } return im; @@ -2206,7 +2208,7 @@ static void igmp_mc_seq_stop(struct seq_file *seq, void *v) { struct igmp_mc_iter_state *state = igmp_mc_seq_private(seq); if (likely(state->in_dev != NULL)) { - read_unlock(&state->in_dev->lock); + read_unlock(&state->in_dev->mc_list_lock); in_dev_put(state->in_dev); state->in_dev = NULL; } @@ -2304,7 +2306,7 @@ static inline struct ip_sf_list *igmp_mcf_get_first(struct seq_file *seq) idev = in_dev_get(state->dev); if (unlikely(idev == NULL)) continue; - read_lock_bh(&idev->lock); + read_lock(&idev->mc_list_lock); im = idev->mc_list; if (likely(im != NULL)) { spin_lock_bh(&im->lock); @@ -2316,7 +2318,7 @@ static inline struct ip_sf_list *igmp_mcf_get_first(struct seq_file *seq) } spin_unlock_bh(&im->lock); } - read_unlock_bh(&idev->lock); + read_unlock(&idev->mc_list_lock); in_dev_put(idev); } return psf; @@ -2332,7 +2334,7 @@ static struct ip_sf_list *igmp_mcf_get_next(struct seq_file *seq, struct ip_sf_l state->im = state->im->next; while (!state->im) { if (likely(state->idev != NULL)) { - read_unlock_bh(&state->idev->lock); + read_unlock(&state->idev->mc_list_lock); in_dev_put(state->idev); } state->dev = state->dev->next; @@ -2343,7 +2345,7 @@ static struct ip_sf_list *igmp_mcf_get_next(struct seq_file *seq, struct ip_sf_l state->idev = in_dev_get(state->dev); if (!state->idev) continue; - read_lock_bh(&state->idev->lock); + read_lock(&state->idev->mc_list_lock); state->im = state->idev->mc_list; } if (!state->im) @@ -2389,7 +2391,7 @@ static void igmp_mcf_seq_stop(struct seq_file *seq, void *v) state->im = NULL; } if (likely(state->idev != NULL)) { - read_unlock_bh(&state->idev->lock); + read_unlock(&state->idev->mc_list_lock); in_dev_put(state->idev); state->idev = NULL; } diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index 6fd69feff..df083ded1 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c @@ -169,14 +169,18 @@ static void ipfrag_secret_rebuild(unsigned long dummy) atomic_t ip_frag_mem = ATOMIC_INIT(0); /* Memory used for fragments */ /* Memory Tracking Functions. */ -static __inline__ void frag_kfree_skb(struct sk_buff *skb) +static __inline__ void frag_kfree_skb(struct sk_buff *skb, int *work) { + if (work) + *work -= skb->truesize; atomic_sub(skb->truesize, &ip_frag_mem); kfree_skb(skb); } -static __inline__ void frag_free_queue(struct ipq *qp) +static __inline__ void frag_free_queue(struct ipq *qp, int *work) { + if (work) + *work -= sizeof(struct ipq); atomic_sub(sizeof(struct ipq), &ip_frag_mem); kfree(qp); } @@ -195,7 +199,7 @@ static __inline__ struct ipq *frag_alloc_queue(void) /* Destruction primitives. */ /* Complete destruction of ipq. */ -static void ip_frag_destroy(struct ipq *qp) +static void ip_frag_destroy(struct ipq *qp, int *work) { struct sk_buff *fp; @@ -207,18 +211,18 @@ static void ip_frag_destroy(struct ipq *qp) while (fp) { struct sk_buff *xp = fp->next; - frag_kfree_skb(fp); + frag_kfree_skb(fp, work); fp = xp; } /* Finally, release the queue descriptor itself. */ - frag_free_queue(qp); + frag_free_queue(qp, work); } -static __inline__ void ipq_put(struct ipq *ipq) +static __inline__ void ipq_put(struct ipq *ipq, int *work) { if (atomic_dec_and_test(&ipq->refcnt)) - ip_frag_destroy(ipq); + ip_frag_destroy(ipq, work); } /* Kill ipq entry. It is not destroyed immediately, @@ -237,16 +241,19 @@ static void ipq_kill(struct ipq *ipq) } /* Memory limiting on fragments. Evictor trashes the oldest - * fragment queue until we are back under the low threshold. + * fragment queue until we are back under the threshold. */ -static void ip_evictor(void) +static void __ip_evictor(int threshold) { struct ipq *qp; struct list_head *tmp; + int work; - for(;;) { - if (atomic_read(&ip_frag_mem) <= sysctl_ipfrag_low_thresh) - return; + work = atomic_read(&ip_frag_mem) - threshold; + if (work <= 0) + return; + + while (work > 0) { read_lock(&ipfrag_lock); if (list_empty(&ipq_lru_list)) { read_unlock(&ipfrag_lock); @@ -262,11 +269,16 @@ static void ip_evictor(void) ipq_kill(qp); spin_unlock(&qp->lock); - ipq_put(qp); + ipq_put(qp, &work); IP_INC_STATS_BH(IPSTATS_MIB_REASMFAILS); } } +static inline void ip_evictor(void) +{ + __ip_evictor(sysctl_ipfrag_low_thresh); +} + /* * Oops, a fragment queue timed out. Kill it and send an ICMP reply. */ @@ -294,7 +306,7 @@ static void ip_expire(unsigned long arg) } out: spin_unlock(&qp->lock); - ipq_put(qp); + ipq_put(qp, NULL); } /* Creation primitives. */ @@ -317,7 +329,7 @@ static struct ipq *ip_frag_intern(unsigned int hash, struct ipq *qp_in) atomic_inc(&qp->refcnt); write_unlock(&ipfrag_lock); qp_in->last_in |= COMPLETE; - ipq_put(qp_in); + ipq_put(qp_in, NULL); return qp; } } @@ -506,7 +518,7 @@ static void ip_frag_queue(struct ipq *qp, struct sk_buff *skb) qp->fragments = next; qp->meat -= free_it->len; - frag_kfree_skb(free_it); + frag_kfree_skb(free_it, NULL); } } @@ -657,7 +669,7 @@ struct sk_buff *ip_defrag(struct sk_buff *skb) ret = ip_frag_reasm(qp, dev); spin_unlock(&qp->lock); - ipq_put(qp); + ipq_put(qp, NULL); return ret; } @@ -677,4 +689,10 @@ void ipfrag_init(void) add_timer(&ipfrag_secret_timer); } +void ipfrag_flush(void) +{ + __ip_evictor(0); +} + EXPORT_SYMBOL(ip_defrag); +EXPORT_SYMBOL(ipfrag_flush); diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 2a3a8fb7e..2c768ecc0 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -533,11 +534,9 @@ static inline void ipgre_ecn_decapsulate(struct iphdr *iph, struct sk_buff *skb) { if (INET_ECN_is_ce(iph->tos)) { if (skb->protocol == htons(ETH_P_IP)) { - if (INET_ECN_is_not_ce(skb->nh.iph->tos)) - IP_ECN_set_ce(skb->nh.iph); + IP_ECN_set_ce(skb->nh.iph); } else if (skb->protocol == htons(ETH_P_IPV6)) { - if (INET_ECN_is_not_ce(ip6_get_dsfield(skb->nh.ipv6h))) - IP6_ECN_set_ce(skb->nh.ipv6h); + IP6_ECN_set_ce(skb->nh.ipv6h); } } } @@ -549,7 +548,7 @@ ipgre_ecn_encapsulate(u8 tos, struct iphdr *old_iph, struct sk_buff *skb) if (skb->protocol == htons(ETH_P_IP)) inner = old_iph->tos; else if (skb->protocol == htons(ETH_P_IPV6)) - inner = ip6_get_dsfield((struct ipv6hdr*)old_iph); + inner = ipv6_get_dsfield((struct ipv6hdr *)old_iph); return INET_ECN_encapsulate(tos, inner); } @@ -605,13 +604,24 @@ int ipgre_rcv(struct sk_buff *skb) if ((tunnel = ipgre_tunnel_lookup(iph->saddr, iph->daddr, key)) != NULL) { secpath_reset(skb); + skb->protocol = *(u16*)(h + 2); + /* WCCP version 1 and 2 protocol decoding. + * - Change protocol to IP + * - When dealing with WCCPv2, Skip extra 4 bytes in GRE header + */ + if (flags == 0 && + skb->protocol == __constant_htons(ETH_P_WCCP)) { + skb->protocol = __constant_htons(ETH_P_IP); + if ((*(h + offset) & 0xF0) != 0x40) + offset += 4; + } + skb->mac.raw = skb->nh.raw; skb->nh.raw = __pskb_pull(skb, offset); memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options)); if (skb->ip_summed == CHECKSUM_HW) skb->csum = csum_sub(skb->csum, csum_partial(skb->mac.raw, skb->nh.raw-skb->mac.raw, 0)); - skb->protocol = *(u16*)(h + 2); skb->pkt_type = PACKET_HOST; #ifdef CONFIG_NET_IPGRE_BROADCAST if (MULTICAST(iph->daddr)) { @@ -1240,7 +1250,7 @@ static struct net_protocol ipgre_protocol = { static int __init ipgre_init(void) { - int err = -EINVAL; + int err; printk(KERN_INFO "GRE over IPv4 tunneling driver\n"); @@ -1253,18 +1263,19 @@ static int __init ipgre_init(void) ipgre_tunnel_setup); if (!ipgre_fb_tunnel_dev) { err = -ENOMEM; - goto fail; + goto err1; } ipgre_fb_tunnel_dev->init = ipgre_fb_tunnel_init; if ((err = register_netdev(ipgre_fb_tunnel_dev))) - goto fail; + goto err2; out: return err; -fail: - inet_del_protocol(&ipgre_protocol, IPPROTO_GRE); +err2: free_netdev(ipgre_fb_tunnel_dev); +err1: + inet_del_protocol(&ipgre_protocol, IPPROTO_GRE); goto out; } diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index c7b3b6050..f2e88193d 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c @@ -231,10 +231,9 @@ static inline int ip_local_deliver_finish(struct sk_buff *skb) if (raw_sk) raw_v4_input(skb, skb->nh.iph, hash); - if ((ipprot = inet_protos[hash]) != NULL) { + if ((ipprot = rcu_dereference(inet_protos[hash])) != NULL) { int ret; - smp_read_barrier_depends(); if (!ipprot->no_policy && !xfrm4_policy_check(NULL, XFRM_POLICY_IN, skb)) { kfree_skb(skb); diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index 461bbd032..6d89f3f3e 100644 --- a/net/ipv4/ip_options.c +++ b/net/ipv4/ip_options.c @@ -515,6 +515,8 @@ int ip_options_get(struct ip_options **optp, unsigned char *data, int optlen, in kfree(opt); return -EINVAL; } + if (*optp) + kfree(*optp); *optp = opt; return 0; } diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 5a853aac2..41f615bb8 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -78,6 +78,7 @@ #include #include #include +#include #include #include #include @@ -278,7 +279,7 @@ int ip_mc_output(struct sk_buff **pskb) newskb->dev, ip_dev_loopback_xmit); } - if (skb->len > dst_pmtu(&rt->u.dst) || skb_shinfo(skb)->frag_list) + if (skb->len > dst_pmtu(&rt->u.dst)) return ip_fragment(skb, ip_finish_output); else return ip_finish_output(skb); @@ -290,8 +291,7 @@ int ip_output(struct sk_buff **pskb) IP_INC_STATS(IPSTATS_MIB_OUTREQUESTS); - if ((skb->len > dst_pmtu(skb->dst) || skb_shinfo(skb)->frag_list) && - !skb_shinfo(skb)->tso_size) + if (skb->len > dst_pmtu(skb->dst) && !skb_shinfo(skb)->tso_size) return ip_fragment(skb, ip_finish_output); else return ip_finish_output(skb); @@ -304,7 +304,6 @@ int ip_queue_xmit(struct sk_buff *skb, int ipfragok) struct ip_options *opt = inet->opt; struct rtable *rt; struct iphdr *iph; - u32 mtu; /* Skip all of this if the packet is already routed, * f.e. by something like SCTP. @@ -365,23 +364,11 @@ packet_routed: skb->nh.iph = iph; /* Transport layer set skb->h.foo itself. */ - if(opt && opt->optlen) { + if (opt && opt->optlen) { iph->ihl += opt->optlen >> 2; ip_options_build(skb, opt, inet->daddr, rt, 0); } - mtu = dst_pmtu(&rt->u.dst); - if (skb->len > mtu && (sk->sk_route_caps & NETIF_F_TSO)) { - unsigned int hlen; - - /* Hack zone: all this must be done by TCP. */ - hlen = ((skb->h.raw - skb->data) + (skb->h.th->doff << 2)); - skb_shinfo(skb)->tso_size = mtu - hlen; - skb_shinfo(skb)->tso_segs = - (skb->len - hlen + skb_shinfo(skb)->tso_size - 1)/ - skb_shinfo(skb)->tso_size - 1; - } - ip_select_ident_more(iph, &rt->u.dst, sk, skb_shinfo(skb)->tso_segs); /* Add an IP checksum. */ @@ -421,6 +408,7 @@ static void ip_copy_metadata(struct sk_buff *to, struct sk_buff *from) nf_conntrack_put(to->nfct); to->nfct = from->nfct; nf_conntrack_get(to->nfct); + to->nfctinfo = from->nfctinfo; #ifdef CONFIG_BRIDGE_NETFILTER nf_bridge_put(to->nf_bridge); to->nf_bridge = from->nf_bridge; @@ -712,7 +700,7 @@ csum_page(struct page *page, int offset, int copy) /* * ip_append_data() and ip_append_page() can make one large IP datagram * from many pieces of data. Each pieces will be holded on the socket - * until ip_push_pending_frames() is called. Eache pieces can be a page + * until ip_push_pending_frames() is called. Each piece can be a page * or non-page data. * * Not only UDP, other transport protocols - e.g. raw sockets - can use @@ -780,7 +768,7 @@ int ip_append_data(struct sock *sk, hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); fragheaderlen = sizeof(struct iphdr) + (opt ? opt->optlen : 0); - maxfraglen = ((mtu-fragheaderlen) & ~7) + fragheaderlen; + maxfraglen = ((mtu - fragheaderlen) & ~7) + fragheaderlen; if (inet->cork.length + length > 0xFFFF - fragheaderlen) { ip_local_error(sk, EMSGSIZE, rt->rt_dst, inet->dport, mtu-exthdrlen); @@ -792,7 +780,7 @@ int ip_append_data(struct sock *sk, * it won't be fragmented in the future. */ if (transhdrlen && - length + fragheaderlen <= maxfraglen && + length + fragheaderlen <= mtu && rt->u.dst.dev->features&(NETIF_F_IP_CSUM|NETIF_F_NO_CSUM|NETIF_F_HW_CSUM) && !exthdrlen) csummode = CHECKSUM_HW; @@ -804,34 +792,42 @@ int ip_append_data(struct sock *sk, * We use calculated fragment length to generate chained skb, * each of segments is IP fragment ready for sending to network after * adding appropriate IP header. - * - * Mistake is: - * - * If mtu-fragheaderlen is not 0 modulo 8, we generate additional - * small fragment of length (mtu-fragheaderlen)%8, even though - * it is not necessary. Not a big bug, but needs a fix. */ if ((skb = skb_peek_tail(&sk->sk_write_queue)) == NULL) goto alloc_new_skb; while (length > 0) { - if ((copy = maxfraglen - skb->len) <= 0) { + /* Check if the remaining data fits into current packet. */ + copy = mtu - skb->len; + if (copy < length) + copy = maxfraglen - skb->len; + if (copy <= 0) { char *data; unsigned int datalen; unsigned int fraglen; + unsigned int fraggap; unsigned int alloclen; - BUG_TRAP(copy == 0); - + struct sk_buff *skb_prev; alloc_new_skb: - datalen = maxfraglen - fragheaderlen; - if (datalen > length) - datalen = length; + skb_prev = skb; + if (skb_prev) + fraggap = skb_prev->len - maxfraglen; + else + fraggap = 0; + /* + * If remaining data exceeds the mtu, + * we know we need more fragment(s). + */ + datalen = length + fraggap; + if (datalen > mtu - fragheaderlen) + datalen = maxfraglen - fragheaderlen; fraglen = datalen + fragheaderlen; + if ((flags & MSG_MORE) && !(rt->u.dst.dev->features&NETIF_F_SG)) - alloclen = maxfraglen; + alloclen = mtu; else alloclen = datalen + fragheaderlen; @@ -875,15 +871,25 @@ alloc_new_skb: data += fragheaderlen; skb->h.raw = data + exthdrlen; - copy = datalen - transhdrlen; - if (copy > 0 && getfrag(from, data + transhdrlen, offset, copy, 0, skb) < 0) { + if (fraggap) { + skb->csum = skb_copy_and_csum_bits( + skb_prev, maxfraglen, + data + transhdrlen, fraggap, 0); + skb_prev->csum = csum_sub(skb_prev->csum, + skb->csum); + data += fraggap; + skb_trim(skb_prev, maxfraglen); + } + + copy = datalen - transhdrlen - fraggap; + if (copy > 0 && getfrag(from, data + transhdrlen, offset, copy, fraggap, skb) < 0) { err = -EFAULT; kfree_skb(skb); goto error; } offset += copy; - length -= datalen; + length -= datalen - fraggap; transhdrlen = 0; exthdrlen = 0; csummode = CHECKSUM_NONE; @@ -978,7 +984,7 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, int mtu; int len; int err; - unsigned int maxfraglen, fragheaderlen; + unsigned int maxfraglen, fragheaderlen, fraggap; if (inet->hdrincl) return -EPERM; @@ -1000,7 +1006,7 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, mtu = inet->cork.fragsize; fragheaderlen = sizeof(struct iphdr) + (opt ? opt->optlen : 0); - maxfraglen = ((mtu-fragheaderlen) & ~7) + fragheaderlen; + maxfraglen = ((mtu - fragheaderlen) & ~7) + fragheaderlen; if (inet->cork.length + size > 0xFFFF - fragheaderlen) { ip_local_error(sk, EMSGSIZE, rt->rt_dst, inet->dport, mtu); @@ -1014,13 +1020,25 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, while (size > 0) { int i; - if ((len = maxfraglen - skb->len) <= 0) { + + /* Check if the remaining data fits into current packet. */ + len = mtu - skb->len; + if (len < size) + len = maxfraglen - skb->len; + if (len <= 0) { + struct sk_buff *skb_prev; char *data; struct iphdr *iph; - BUG_TRAP(len == 0); + int alloclen; + + skb_prev = skb; + if (skb_prev) + fraggap = skb_prev->len - maxfraglen; + else + fraggap = 0; - skb = sock_wmalloc(sk, fragheaderlen + hh_len + 15, 1, - sk->sk_allocation); + alloclen = fragheaderlen + hh_len + fraggap + 15; + skb = sock_wmalloc(sk, alloclen, 1, sk->sk_allocation); if (unlikely(!skb)) { err = -ENOBUFS; goto error; @@ -1036,11 +1054,20 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, /* * Find where to start putting bytes. */ - data = skb_put(skb, fragheaderlen); + data = skb_put(skb, fragheaderlen + fraggap); skb->nh.iph = iph = (struct iphdr *)data; data += fragheaderlen; skb->h.raw = data; + if (fraggap) { + skb->csum = skb_copy_and_csum_bits( + skb_prev, maxfraglen, + data, fraggap, 0); + skb_prev->csum = csum_sub(skb_prev->csum, + skb->csum); + skb_trim(skb_prev, maxfraglen); + } + /* * Put the packet on the pending queue. */ diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 8bb874be1..d35225232 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -146,11 +146,8 @@ int ip_cmsg_send(struct msghdr *msg, struct ipcm_cookie *ipc) struct cmsghdr *cmsg; for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) { - if (cmsg->cmsg_len < sizeof(struct cmsghdr) || - (unsigned long)(((char*)cmsg - (char*)msg->msg_control) - + cmsg->cmsg_len) > msg->msg_controllen) { + if (!CMSG_OK(msg, cmsg)) return -EINVAL; - } if (cmsg->cmsg_level != SOL_IP) continue; switch (cmsg->cmsg_type) { diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 7ce7469a3..6845207f2 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c @@ -16,25 +16,48 @@ #include #include #include +#include #include #include +#include +#include +#include +#include +#include #include #include #include #include +struct ipcomp_tfms { + struct list_head list; + struct crypto_tfm **tfms; + int users; +}; + +static DECLARE_MUTEX(ipcomp_resource_sem); +static void **ipcomp_scratches; +static int ipcomp_scratch_users; +static LIST_HEAD(ipcomp_tfms_list); + static int ipcomp_decompress(struct xfrm_state *x, struct sk_buff *skb) { int err, plen, dlen; struct iphdr *iph; struct ipcomp_data *ipcd = x->data; - u8 *start, *scratch = ipcd->scratch; + u8 *start, *scratch; + struct crypto_tfm *tfm; + int cpu; plen = skb->len; dlen = IPCOMP_SCRATCH_SIZE; start = skb->data; - err = crypto_comp_decompress(ipcd->tfm, start, plen, scratch, &dlen); + cpu = get_cpu(); + scratch = *per_cpu_ptr(ipcomp_scratches, cpu); + tfm = *per_cpu_ptr(ipcd->tfms, cpu); + + err = crypto_comp_decompress(tfm, start, plen, scratch, &dlen); if (err) goto out; @@ -52,6 +75,7 @@ static int ipcomp_decompress(struct xfrm_state *x, struct sk_buff *skb) iph = skb->nh.iph; iph->tot_len = htons(dlen + iph->ihl * 4); out: + put_cpu(); return err; } @@ -97,14 +121,20 @@ static int ipcomp_compress(struct xfrm_state *x, struct sk_buff *skb) int err, plen, dlen, ihlen; struct iphdr *iph = skb->nh.iph; struct ipcomp_data *ipcd = x->data; - u8 *start, *scratch = ipcd->scratch; + u8 *start, *scratch; + struct crypto_tfm *tfm; + int cpu; ihlen = iph->ihl * 4; plen = skb->len - ihlen; dlen = IPCOMP_SCRATCH_SIZE; start = skb->data + ihlen; - err = crypto_comp_compress(ipcd->tfm, start, plen, scratch, &dlen); + cpu = get_cpu(); + scratch = *per_cpu_ptr(ipcomp_scratches, cpu); + tfm = *per_cpu_ptr(ipcd->tfms, cpu); + + err = crypto_comp_compress(tfm, start, plen, scratch, &dlen); if (err) goto out; @@ -114,26 +144,30 @@ static int ipcomp_compress(struct xfrm_state *x, struct sk_buff *skb) } memcpy(start + sizeof(struct ip_comp_hdr), scratch, dlen); + put_cpu(); + pskb_trim(skb, ihlen + dlen + sizeof(struct ip_comp_hdr)); + return 0; out: + put_cpu(); return err; } -static int ipcomp_output(struct sk_buff **pskb) +static int ipcomp_output(struct sk_buff *skb) { int err; - struct dst_entry *dst = (*pskb)->dst; + struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; struct iphdr *iph; struct ip_comp_hdr *ipch; struct ipcomp_data *ipcd = x->data; int hdr_len = 0; - iph = (*pskb)->nh.iph; - iph->tot_len = htons((*pskb)->len); + iph = skb->nh.iph; + iph->tot_len = htons(skb->len); hdr_len = iph->ihl * 4; - if (((*pskb)->len - hdr_len) < ipcd->threshold) { + if ((skb->len - hdr_len) < ipcd->threshold) { /* Don't bother compressing */ if (x->props.mode) { ip_send_check(iph); @@ -141,17 +175,17 @@ static int ipcomp_output(struct sk_buff **pskb) goto out_ok; } - if ((skb_is_nonlinear(*pskb) || skb_cloned(*pskb)) && - skb_linearize(*pskb, GFP_ATOMIC) != 0) { + if ((skb_is_nonlinear(skb) || skb_cloned(skb)) && + skb_linearize(skb, GFP_ATOMIC) != 0) { err = -ENOMEM; goto error; } - err = ipcomp_compress(x, *pskb); + err = ipcomp_compress(x, skb); if (err) { if (err == -EMSGSIZE) { if (x->props.mode) { - iph = (*pskb)->nh.iph; + iph = skb->nh.iph; ip_send_check(iph); } goto out_ok; @@ -160,8 +194,8 @@ static int ipcomp_output(struct sk_buff **pskb) } /* Install ipcomp header, convert into ipcomp datagram. */ - iph = (*pskb)->nh.iph; - iph->tot_len = htons((*pskb)->len); + iph = skb->nh.iph; + iph->tot_len = htons(skb->len); ipch = (struct ip_comp_hdr *)((char *)iph + iph->ihl * 4); ipch->nexthdr = iph->protocol; ipch->flags = 0; @@ -260,12 +294,132 @@ out: return err; } +static void ipcomp_free_scratches(void) +{ + int i; + void **scratches; + + if (--ipcomp_scratch_users) + return; + + scratches = ipcomp_scratches; + if (!scratches) + return; + + for_each_cpu(i) { + void *scratch = *per_cpu_ptr(scratches, i); + if (scratch) + vfree(scratch); + } + + free_percpu(scratches); +} + +static void **ipcomp_alloc_scratches(void) +{ + int i; + void **scratches; + + if (ipcomp_scratch_users++) + return ipcomp_scratches; + + scratches = alloc_percpu(void *); + if (!scratches) + return NULL; + + ipcomp_scratches = scratches; + + for_each_cpu(i) { + void *scratch = vmalloc(IPCOMP_SCRATCH_SIZE); + if (!scratch) + return NULL; + *per_cpu_ptr(scratches, i) = scratch; + } + + return scratches; +} + +static void ipcomp_free_tfms(struct crypto_tfm **tfms) +{ + struct ipcomp_tfms *pos; + int cpu; + + list_for_each_entry(pos, &ipcomp_tfms_list, list) { + if (pos->tfms == tfms) + break; + } + + BUG_TRAP(pos); + + if (--pos->users) + return; + + list_del(&pos->list); + kfree(pos); + + if (!tfms) + return; + + for_each_cpu(cpu) { + struct crypto_tfm *tfm = *per_cpu_ptr(tfms, cpu); + if (tfm) + crypto_free_tfm(tfm); + } + free_percpu(tfms); +} + +static struct crypto_tfm **ipcomp_alloc_tfms(const char *alg_name) +{ + struct ipcomp_tfms *pos; + struct crypto_tfm **tfms; + int cpu; + + /* This can be any valid CPU ID so we don't need locking. */ + cpu = smp_processor_id(); + + list_for_each_entry(pos, &ipcomp_tfms_list, list) { + struct crypto_tfm *tfm; + + tfms = pos->tfms; + tfm = *per_cpu_ptr(tfms, cpu); + + if (!strcmp(crypto_tfm_alg_name(tfm), alg_name)) { + pos->users++; + return tfms; + } + } + + pos = kmalloc(sizeof(*pos), GFP_KERNEL); + if (!pos) + return NULL; + + pos->users = 1; + INIT_LIST_HEAD(&pos->list); + list_add(&pos->list, &ipcomp_tfms_list); + + pos->tfms = tfms = alloc_percpu(struct crypto_tfm *); + if (!tfms) + goto error; + + for_each_cpu(cpu) { + struct crypto_tfm *tfm = crypto_alloc_tfm(alg_name, 0); + if (!tfm) + goto error; + *per_cpu_ptr(tfms, cpu) = tfm; + } + + return tfms; + +error: + ipcomp_free_tfms(tfms); + return NULL; +} + static void ipcomp_free_data(struct ipcomp_data *ipcd) { - if (ipcd->tfm) - crypto_free_tfm(ipcd->tfm); - if (ipcd->scratch) - kfree(ipcd->scratch); + if (ipcd->tfms) + ipcomp_free_tfms(ipcd->tfms); + ipcomp_free_scratches(); } static void ipcomp_destroy(struct xfrm_state *x) @@ -274,7 +428,9 @@ static void ipcomp_destroy(struct xfrm_state *x) if (!ipcd) return; xfrm_state_delete_tunnel(x); + down(&ipcomp_resource_sem); ipcomp_free_data(ipcd); + up(&ipcomp_resource_sem); kfree(ipcd); } @@ -288,28 +444,32 @@ static int ipcomp_init_state(struct xfrm_state *x, void *args) if (!x->calg) goto out; + if (x->encap) + goto out; + err = -ENOMEM; ipcd = kmalloc(sizeof(*ipcd), GFP_KERNEL); if (!ipcd) - goto error; + goto out; memset(ipcd, 0, sizeof(*ipcd)); x->props.header_len = 0; if (x->props.mode) x->props.header_len += sizeof(struct iphdr); - ipcd->scratch = kmalloc(IPCOMP_SCRATCH_SIZE, GFP_KERNEL); - if (!ipcd->scratch) + down(&ipcomp_resource_sem); + if (!ipcomp_alloc_scratches()) goto error; - - ipcd->tfm = crypto_alloc_tfm(x->calg->alg_name, 0); - if (!ipcd->tfm) + + ipcd->tfms = ipcomp_alloc_tfms(x->calg->alg_name); + if (!ipcd->tfms) goto error; + up(&ipcomp_resource_sem); if (x->props.mode) { err = ipcomp_tunnel_attach(x); if (err) - goto error; + goto error_tunnel; } calg_desc = xfrm_calg_get_byname(x->calg->alg_name); @@ -320,11 +480,12 @@ static int ipcomp_init_state(struct xfrm_state *x, void *args) out: return err; +error_tunnel: + down(&ipcomp_resource_sem); error: - if (ipcd) { - ipcomp_free_data(ipcd); - kfree(ipcd); - } + ipcomp_free_data(ipcd); + up(&ipcomp_resource_sem); + kfree(ipcd); goto out; } diff --git a/net/ipv4/ipconfig.c b/net/ipv4/ipconfig.c index 92db76fe7..a0c8504dc 100644 --- a/net/ipv4/ipconfig.c +++ b/net/ipv4/ipconfig.c @@ -720,6 +720,8 @@ static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_d b->htype = dev->type; else if (dev->type == ARPHRD_IEEE802_TR) /* fix for token ring */ b->htype = ARPHRD_IEEE802; + else if (dev->type == ARPHRD_FDDI) + b->htype = ARPHRD_ETHER; else { printk("Unknown ARP type 0x%04x for device %s\n", dev->type, dev->name); b->htype = dev->type; /* can cause undefined behavior */ @@ -966,6 +968,9 @@ static int __init ic_bootp_recv(struct sk_buff *skb, struct net_device *dev, str break; case DHCPACK: + if (memcmp(dev->dev_addr, b->hw_addr, dev->addr_len) != 0) + goto drop_unlock; + /* Yeah! */ break; diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 98ba22404..1c1c2e1d4 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -246,7 +246,6 @@ static struct ip_tunnel * ipip_tunnel_locate(struct ip_tunnel_parm *parms, int c nt = dev->priv; SET_MODULE_OWNER(dev); dev->init = ipip_tunnel_init; - dev->destructor = free_netdev; nt->parms = *parms; if (register_netdevice(dev) < 0) { @@ -461,8 +460,7 @@ static inline void ipip_ecn_decapsulate(struct iphdr *outer_iph, struct sk_buff { struct iphdr *inner_iph = skb->nh.iph; - if (INET_ECN_is_ce(outer_iph->tos) && - INET_ECN_is_not_ce(inner_iph->tos)) + if (INET_ECN_is_ce(outer_iph->tos)) IP_ECN_set_ce(inner_iph); } @@ -785,6 +783,7 @@ static void ipip_tunnel_setup(struct net_device *dev) dev->get_stats = ipip_tunnel_get_stats; dev->do_ioctl = ipip_tunnel_ioctl; dev->change_mtu = ipip_tunnel_change_mtu; + dev->destructor = free_netdev; dev->type = ARPHRD_TUNNEL; dev->hard_header_len = LL_MAX_HEADER + sizeof(struct iphdr); @@ -877,18 +876,19 @@ static int __init ipip_init(void) ipip_tunnel_setup); if (!ipip_fb_tunnel_dev) { err = -ENOMEM; - goto fail; + goto err1; } ipip_fb_tunnel_dev->init = ipip_fb_tunnel_init; if ((err = register_netdev(ipip_fb_tunnel_dev))) - goto fail; + goto err2; out: return err; - fail: - xfrm4_tunnel_deregister(&ipip_handler); + err2: free_netdev(ipip_fb_tunnel_dev); + err1: + xfrm4_tunnel_deregister(&ipip_handler); goto out; } diff --git a/net/ipv4/ipvs/ip_vs_sync.c b/net/ipv4/ipvs/ip_vs_sync.c index 80fdab71e..45ab05a7f 100644 --- a/net/ipv4/ipvs/ip_vs_sync.c +++ b/net/ipv4/ipvs/ip_vs_sync.c @@ -16,6 +16,7 @@ * Alexandre Cassen : Added master & backup support at a time. * Alexandre Cassen : Added SyncID support for incoming sync * messages filtering. + * Justin Ossevoort : Fix endian problem on sync message size. */ #include @@ -279,6 +280,9 @@ static void ip_vs_process_message(const char *buffer, const size_t buflen) char *p; int i; + /* Convert size back to host byte order */ + m->size = ntohs(m->size); + if (buflen != m->size) { IP_VS_ERR("bogus message\n"); return; @@ -569,6 +573,19 @@ ip_vs_send_async(struct socket *sock, const char *buffer, const size_t length) return len; } +static void +ip_vs_send_sync_msg(struct socket *sock, struct ip_vs_sync_mesg *msg) +{ + int msize; + + msize = msg->size; + + /* Put size in network byte order */ + msg->size = htons(msg->size); + + if (ip_vs_send_async(sock, (char *)msg, msize) != msize) + IP_VS_ERR("ip_vs_send_async error\n"); +} static int ip_vs_receive(struct socket *sock, char *buffer, const size_t buflen) @@ -605,7 +622,6 @@ static void sync_master_loop(void) { struct socket *sock; struct ip_vs_sync_buff *sb; - struct ip_vs_sync_mesg *m; /* create the sending multicast socket */ sock = make_send_sock(); @@ -618,19 +634,13 @@ static void sync_master_loop(void) for (;;) { while ((sb=sb_dequeue())) { - m = sb->mesg; - if (ip_vs_send_async(sock, (char *)m, - m->size) != m->size) - IP_VS_ERR("ip_vs_send_async error\n"); + ip_vs_send_sync_msg(sock, sb->mesg); ip_vs_sync_buff_release(sb); } /* check if entries stay in curr_sb for 2 seconds */ if ((sb = get_curr_sync_buff(2*HZ))) { - m = sb->mesg; - if (ip_vs_send_async(sock, (char *)m, - m->size) != m->size) - IP_VS_ERR("ip_vs_send_async error\n"); + ip_vs_send_sync_msg(sock, sb->mesg); ip_vs_sync_buff_release(sb); } diff --git a/net/ipv4/ipvs/ip_vs_xmit.c b/net/ipv4/ipvs/ip_vs_xmit.c index 204767be4..58db69d12 100644 --- a/net/ipv4/ipvs/ip_vs_xmit.c +++ b/net/ipv4/ipvs/ip_vs_xmit.c @@ -124,10 +124,11 @@ ip_vs_dst_reset(struct ip_vs_dest *dest) dst_release(old_dst); } - #define IP_VS_XMIT(skb, rt) \ do { \ + nf_reset_debug(skb); \ (skb)->nfcache |= NFC_IPVS_PROPERTY; \ + (skb)->ip_summed = CHECKSUM_NONE; \ NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, (skb), NULL, \ (rt)->u.dst.dev, dst_output); \ } while (0) @@ -201,9 +202,6 @@ ip_vs_bypass_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, /* Another hack: avoid icmp_send in ip_fragment */ skb->local_df = 1; -#ifdef CONFIG_NETFILTER_DEBUG - skb->nf_debug = 0; -#endif /* CONFIG_NETFILTER_DEBUG */ IP_VS_XMIT(skb, rt); LeaveFunction(10); @@ -234,11 +232,12 @@ ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, /* check if it is a connection of no-client-port */ if (unlikely(cp->flags & IP_VS_CONN_F_NO_CPORT)) { - __u16 pt; - if (skb_copy_bits(skb, iph->ihl*4, &pt, sizeof(pt)) < 0) + __u16 _pt, *p; + p = skb_header_pointer(skb, iph->ihl*4, sizeof(_pt), &_pt); + if (p == NULL) goto tx_error; - ip_vs_conn_fill_cport(cp, pt); - IP_VS_DBG(10, "filled cport=%d\n", ntohs(pt)); + ip_vs_conn_fill_cport(cp, *p); + IP_VS_DBG(10, "filled cport=%d\n", ntohs(*p)); } if (!(rt = __ip_vs_get_out_rt(cp, RT_TOS(iph->tos)))) @@ -279,9 +278,6 @@ ip_vs_nat_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, /* Another hack: avoid icmp_send in ip_fragment */ skb->local_df = 1; -#ifdef CONFIG_NETFILTER_DEBUG - skb->nf_debug = 0; -#endif /* CONFIG_NETFILTER_DEBUG */ IP_VS_XMIT(skb, rt); LeaveFunction(10); @@ -412,15 +408,9 @@ ip_vs_tunnel_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, ip_select_ident(iph, &rt->u.dst, NULL); ip_send_check(iph); - skb->ip_summed = CHECKSUM_NONE; - /* Another hack: avoid icmp_send in ip_fragment */ skb->local_df = 1; -#ifdef CONFIG_NETFILTER_DEBUG - skb->nf_debug = 0; -#endif /* CONFIG_NETFILTER_DEBUG */ - IP_VS_XMIT(skb, rt); LeaveFunction(10); @@ -479,9 +469,6 @@ ip_vs_dr_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, /* Another hack: avoid icmp_send in ip_fragment */ skb->local_df = 1; -#ifdef CONFIG_NETFILTER_DEBUG - skb->nf_debug = 0; -#endif /* CONFIG_NETFILTER_DEBUG */ IP_VS_XMIT(skb, rt); LeaveFunction(10); @@ -556,9 +543,6 @@ ip_vs_icmp_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, /* Another hack: avoid icmp_send in ip_fragment */ skb->local_df = 1; -#ifdef CONFIG_NETFILTER_DEBUG - skb->nf_debug = 0; -#endif /* CONFIG_NETFILTER_DEBUG */ IP_VS_XMIT(skb, rt); rc = NF_STOLEN; diff --git a/net/ipv4/netfilter/Kconfig b/net/ipv4/netfilter/Kconfig index c4bae8c2f..367d9cb2d 100644 --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig @@ -5,6 +5,7 @@ menu "IP: Netfilter Configuration" depends on INET && NETFILTER +# connection tracking, helpers and protocols config IP_NF_CONNTRACK tristate "Connection tracking (required for masq/NAT)" ---help--- @@ -19,6 +20,28 @@ config IP_NF_CONNTRACK To compile it as a module, choose M here. If unsure, say N. +config IP_NF_CT_ACCT + bool "Connection tracking flow accounting" + depends on IP_NF_CONNTRACK + help + If this option is enabled, the connection tracking code will + keep per-flow packet and byte counters. + + Those counters can be used for flow-based accounting or the + `connbytes' match. + + If unsure, say `N'. + +config IP_NF_CT_PROTO_SCTP + tristate 'SCTP protocol connection tracking support (EXPERIMENTAL)' + depends on IP_NF_CONNTRACK && EXPERIMENTAL + help + With this option enabled, the connection tracking code will + be able to do state tracking on SCTP connections. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + config IP_NF_FTP tristate "FTP protocol support" depends on IP_NF_CONNTRACK @@ -86,7 +109,7 @@ config IP_NF_IPTABLES To compile it as a module, choose M here. If unsure, say N. -# The simple matches. +# The matches. config IP_NF_MATCH_LIMIT tristate "limit match support" depends on IP_NF_IPTABLES @@ -274,7 +297,52 @@ config IP_NF_MATCH_PHYSDEV To compile it as a module, choose M here. If unsure, say N. -# The targets +config IP_NF_MATCH_ADDRTYPE + tristate 'address type match support' + depends on IP_NF_IPTABLES + help + This option allows you to match what routing thinks of an address, + eg. UNICAST, LOCAL, BROADCAST, ... + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +config IP_NF_MATCH_REALM + tristate 'realm match support' + depends on IP_NF_IPTABLES + select NET_CLS_ROUTE + help + This option adds a `realm' match, which allows you to use the realm + key from the routing subsytem inside iptables. + + This match pretty much resembles the CONFIG_NET_CLS_ROUTE4 option + in tc world. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +config IP_NF_MATCH_SCTP + tristate 'SCTP protocol match support' + depends on IP_NF_IPTABLES + help + With this option enabled, you will be able to use the iptables + `sctp' match in order to match on SCTP source/destination ports + and SCTP chunk types. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +config IP_NF_MATCH_COMMENT + tristate 'comment match support' + depends on IP_NF_IPTABLES + help + This option adds a `comment' dummy-match, which allows you to put + comments in your iptables ruleset. + + If you want to compile it as a module, say M here and read + Documentation/modules.txt. If unsure, say `N'. + +# `filter', generic and specific targets config IP_NF_FILTER tristate "Packet filtering" depends on IP_NF_IPTABLES @@ -295,6 +363,56 @@ config IP_NF_TARGET_REJECT To compile it as a module, choose M here. If unsure, say N. +config IP_NF_TARGET_LOG + tristate "LOG target support" + depends on IP_NF_IPTABLES + help + This option adds a `LOG' target, which allows you to create rules in + any iptables table which records the packet header to the syslog. + + To compile it as a module, choose M here. If unsure, say N. + +config IP_NF_TARGET_ULOG + tristate "ULOG target support" + depends on IP_NF_IPTABLES + ---help--- + This option adds a `ULOG' target, which allows you to create rules in + any iptables table. The packet is passed to a userspace logging + daemon using netlink multicast sockets; unlike the LOG target + which can only be viewed through syslog. + + The apropriate userspace logging daemon (ulogd) may be obtained from + + + To compile it as a module, choose M here. If unsure, say N. + +config IP_NF_TARGET_TCPMSS + tristate "TCPMSS target support" + depends on IP_NF_IPTABLES + ---help--- + This option adds a `TCPMSS' target, which allows you to alter the + MSS value of TCP SYN packets, to control the maximum size for that + connection (usually limiting it to your outgoing interface's MTU + minus 40). + + This is used to overcome criminally braindead ISPs or servers which + block ICMP Fragmentation Needed packets. The symptoms of this + problem are that everything works fine from your Linux + firewall/router, but machines behind it can never exchange large + packets: + 1) Web browsers connect, then hang with no data received. + 2) Small mail works fine, but large emails hang. + 3) ssh works fine, but scp hangs after initial handshaking. + + Workaround: activate this option and add a rule to your firewall + configuration like: + + iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ + -j TCPMSS --clamp-mss-to-pmtu + + To compile it as a module, choose M here. If unsure, say N. + +# NAT + specific targets config IP_NF_NAT tristate "Full NAT" depends on IP_NF_IPTABLES && IP_NF_CONNTRACK @@ -408,6 +526,7 @@ config IP_NF_NAT_AMANDA default IP_NF_NAT if IP_NF_AMANDA=y default m if IP_NF_AMANDA=m +# mangle + specific targets config IP_NF_MANGLE tristate "Packet mangling" depends on IP_NF_IPTABLES @@ -478,55 +597,34 @@ config IP_NF_TARGET_CLASSIFY To compile it as a module, choose M here. If unsure, say N. -config IP_NF_TARGET_LOG - tristate "LOG target support" +# raw + specific targets +config IP_NF_RAW + tristate 'raw table support (required for NOTRACK/TRACE)' depends on IP_NF_IPTABLES help - This option adds a `LOG' target, which allows you to create rules in - any iptables table which records the packet header to the syslog. - - To compile it as a module, choose M here. If unsure, say N. - -config IP_NF_TARGET_ULOG - tristate "ULOG target support" - depends on IP_NF_IPTABLES - ---help--- - This option adds a `ULOG' target, which allows you to create rules in - any iptables table. The packet is passed to a userspace logging - daemon using netlink multicast sockets; unlike the LOG target - which can only be viewed through syslog. - - The apropriate userspace logging daemon (ulogd) may be obtained from - - - To compile it as a module, choose M here. If unsure, say N. - -config IP_NF_TARGET_TCPMSS - tristate "TCPMSS target support" - depends on IP_NF_IPTABLES - ---help--- - This option adds a `TCPMSS' target, which allows you to alter the - MSS value of TCP SYN packets, to control the maximum size for that - connection (usually limiting it to your outgoing interface's MTU - minus 40). - - This is used to overcome criminally braindead ISPs or servers which - block ICMP Fragmentation Needed packets. The symptoms of this - problem are that everything works fine from your Linux - firewall/router, but machines behind it can never exchange large - packets: - 1) Web browsers connect, then hang with no data received. - 2) Small mail works fine, but large emails hang. - 3) ssh works fine, but scp hangs after initial handshaking. - - Workaround: activate this option and add a rule to your firewall - configuration like: + This option adds a `raw' table to iptables. This table is the very + first in the netfilter framework and hooks in at the PREROUTING + and OUTPUT chains. + + If you want to compile it as a module, say M here and read + . If unsure, say `N'. + help - iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN \ - -j TCPMSS --clamp-mss-to-pmtu +config IP_NF_TARGET_NOTRACK + tristate 'NOTRACK target support' + depends on IP_NF_RAW + depends on IP_NF_CONNTRACK + help + The NOTRACK target allows a select rule to specify + which packets *not* to enter the conntrack/NAT + subsystem with all the consequences (no ICMP error tracking, + no protocol helpers for the selected packets). + + If you want to compile it as a module, say M here and read + . If unsure, say `N'. - To compile it as a module, choose M here. If unsure, say N. +# ARP tables config IP_NF_ARPTABLES tristate "ARP tables support" help diff --git a/net/ipv4/netfilter/Makefile b/net/ipv4/netfilter/Makefile index f54887b48..4d484709f 100644 --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile @@ -25,6 +25,9 @@ obj-$(CONFIG_IP_NF_CT_PROTO_GRE) += ip_conntrack_proto_gre.o # NAT protocol helpers obj-$(CONFIG_IP_NF_NAT_PROTO_GRE) += ip_nat_proto_gre.o +# SCTP protocol connection tracking +obj-$(CONFIG_IP_NF_CT_PROTO_SCTP) += ip_conntrack_proto_sctp.o + # connection tracking helpers obj-$(CONFIG_IP_NF_AMANDA) += ip_conntrack_amanda.o obj-$(CONFIG_IP_NF_TFTP) += ip_conntrack_tftp.o @@ -51,31 +54,27 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o # matches obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o obj-$(CONFIG_IP_NF_MATCH_LIMIT) += ipt_limit.o +obj-$(CONFIG_IP_NF_MATCH_SCTP) += ipt_sctp.o obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o obj-$(CONFIG_IP_NF_MATCH_MAC) += ipt_mac.o obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o - obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o - obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o - obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o obj-$(CONFIG_IP_NF_MATCH_DSCP) += ipt_dscp.o obj-$(CONFIG_IP_NF_MATCH_AH_ESP) += ipt_ah.o ipt_esp.o - obj-$(CONFIG_IP_NF_MATCH_LENGTH) += ipt_length.o - obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.o obj-$(CONFIG_IP_NF_MATCH_REALM) += ipt_realm.o obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o - obj-$(CONFIG_IP_NF_MATCH_PHYSDEV) += ipt_physdev.o +obj-$(CONFIG_IP_NF_MATCH_COMMENT) += ipt_comment.o # targets obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c index 65230e5e1..b0d4ce63e 100644 --- a/net/ipv4/netfilter/arp_tables.c +++ b/net/ipv4/netfilter/arp_tables.c @@ -106,7 +106,7 @@ static inline int arp_packet_match(const struct arphdr *arphdr, { char *arpptr = (char *)(arphdr + 1); char *src_devaddr, *tgt_devaddr; - u32 *src_ipaddr, *tgt_ipaddr; + u32 src_ipaddr, tgt_ipaddr; int i, ret; #define FWINV(bool,invflg) ((bool) ^ !!(arpinfo->invflags & invflg)) @@ -145,11 +145,11 @@ static inline int arp_packet_match(const struct arphdr *arphdr, src_devaddr = arpptr; arpptr += dev->addr_len; - src_ipaddr = (u32 *) arpptr; + memcpy(&src_ipaddr, arpptr, sizeof(u32)); arpptr += sizeof(u32); tgt_devaddr = arpptr; arpptr += dev->addr_len; - tgt_ipaddr = (u32 *) arpptr; + memcpy(&tgt_ipaddr, arpptr, sizeof(u32)); if (FWINV(arp_devaddr_compare(&arpinfo->src_devaddr, src_devaddr, dev->addr_len), ARPT_INV_SRCDEVADDR) || @@ -160,19 +160,19 @@ static inline int arp_packet_match(const struct arphdr *arphdr, return 0; } - if (FWINV(((*src_ipaddr) & arpinfo->smsk.s_addr) != arpinfo->src.s_addr, + if (FWINV((src_ipaddr & arpinfo->smsk.s_addr) != arpinfo->src.s_addr, ARPT_INV_SRCIP) || - FWINV((((*tgt_ipaddr) & arpinfo->tmsk.s_addr) != arpinfo->tgt.s_addr), + FWINV(((tgt_ipaddr & arpinfo->tmsk.s_addr) != arpinfo->tgt.s_addr), ARPT_INV_TGTIP)) { dprintf("Source or target IP address mismatch.\n"); dprintf("SRC: %u.%u.%u.%u. Mask: %u.%u.%u.%u. Target: %u.%u.%u.%u.%s\n", - NIPQUAD(*src_ipaddr), + NIPQUAD(src_ipaddr), NIPQUAD(arpinfo->smsk.s_addr), NIPQUAD(arpinfo->src.s_addr), arpinfo->invflags & ARPT_INV_SRCIP ? " (INV)" : ""); dprintf("TGT: %u.%u.%u.%u Mask: %u.%u.%u.%u Target: %u.%u.%u.%u.%s\n", - NIPQUAD(*tgt_ipaddr), + NIPQUAD(tgt_ipaddr), NIPQUAD(arpinfo->tmsk.s_addr), NIPQUAD(arpinfo->tgt.s_addr), arpinfo->invflags & ARPT_INV_TGTIP ? " (INV)" : ""); @@ -193,7 +193,10 @@ static inline int arp_packet_match(const struct arphdr *arphdr, } for (i = 0, ret = 0; i < IFNAMSIZ/sizeof(unsigned long); i++) { - ret |= (((const unsigned long *)outdev)[i] + unsigned long odev; + memcpy(&odev, outdev + i*sizeof(unsigned long), + sizeof(unsigned long)); + ret |= (odev ^ ((const unsigned long *)arpinfo->outiface)[i]) & ((const unsigned long *)arpinfo->outiface_mask)[i]; } @@ -392,7 +395,7 @@ static inline struct arpt_table *arpt_find_table_lock(const char *name, int *err return find_inlist_lock(&arpt_tables, name, "arptable_", error, mutex); } -struct arpt_target *arpt_find_target_lock(const char *name, int *error, struct semaphore *mutex) +static struct arpt_target *arpt_find_target_lock(const char *name, int *error, struct semaphore *mutex) { return find_inlist_lock(&arpt_target, name, "arpt_", error, mutex); } @@ -1322,7 +1325,6 @@ static void __exit fini(void) EXPORT_SYMBOL(arpt_register_table); EXPORT_SYMBOL(arpt_unregister_table); EXPORT_SYMBOL(arpt_do_table); -EXPORT_SYMBOL(arpt_find_target_lock); EXPORT_SYMBOL(arpt_register_target); EXPORT_SYMBOL(arpt_unregister_target); diff --git a/net/ipv4/netfilter/ip_conntrack_amanda.c b/net/ipv4/netfilter/ip_conntrack_amanda.c index 40ed4474d..a54ef782f 100644 --- a/net/ipv4/netfilter/ip_conntrack_amanda.c +++ b/net/ipv4/netfilter/ip_conntrack_amanda.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -34,7 +35,7 @@ static unsigned int master_timeout = 300; MODULE_AUTHOR("Brian J. Murrell "); MODULE_DESCRIPTION("Amanda connection tracking module"); MODULE_LICENSE("GPL"); -MODULE_PARM(master_timeout, "i"); +module_param(master_timeout, int, 0600); MODULE_PARM_DESC(master_timeout, "timeout for the master connection"); static char *conns[] = { "DATA ", "MESG ", "INDEX " }; @@ -48,7 +49,7 @@ static int help(struct sk_buff *skb, { struct ip_conntrack_expect *exp; struct ip_ct_amanda_expect *exp_amanda_info; - char *data, *data_limit, *tmp; + char *amp, *data, *data_limit, *tmp; unsigned int dataoff, i; u_int16_t port, len; @@ -69,9 +70,11 @@ static int help(struct sk_buff *skb, } LOCK_BH(&amanda_buffer_lock); - skb_copy_bits(skb, dataoff, amanda_buffer, skb->len - dataoff); - data = amanda_buffer; - data_limit = amanda_buffer + skb->len - dataoff; + amp = skb_header_pointer(skb, dataoff, + skb->len - dataoff, amanda_buffer); + BUG_ON(amp == NULL); + data = amp; + data_limit = amp + skb->len - dataoff; *data_limit = '\0'; /* Search for the CONNECT string */ @@ -107,7 +110,7 @@ static int help(struct sk_buff *skb, exp->mask.dst.u.tcp.port = 0xFFFF; exp_amanda_info = &exp->help.exp_amanda_info; - exp_amanda_info->offset = tmp - amanda_buffer; + exp_amanda_info->offset = tmp - amp; exp_amanda_info->port = port; exp_amanda_info->len = len; diff --git a/net/ipv4/netfilter/ip_conntrack_core.c b/net/ipv4/netfilter/ip_conntrack_core.c index 757af6893..008faafe9 100644 --- a/net/ipv4/netfilter/ip_conntrack_core.c +++ b/net/ipv4/netfilter/ip_conntrack_core.c @@ -34,8 +34,9 @@ #include #include #include -/* For ERR_PTR(). Yeah, I know... --RR */ -#include +#include +#include +#include /* This rwlock protects the main hash table, protocol/helper/expected registrations, conntrack timers*/ @@ -59,56 +60,29 @@ DECLARE_RWLOCK(ip_conntrack_lock); DECLARE_RWLOCK(ip_conntrack_expect_tuple_lock); +/* ip_conntrack_standalone needs this */ +atomic_t ip_conntrack_count = ATOMIC_INIT(0); +EXPORT_SYMBOL(ip_conntrack_count); + void (*ip_conntrack_destroyed)(struct ip_conntrack *conntrack) = NULL; LIST_HEAD(ip_conntrack_expect_list); -LIST_HEAD(protocol_list); +struct ip_conntrack_protocol *ip_ct_protos[MAX_IP_CT_PROTO]; static LIST_HEAD(helpers); unsigned int ip_conntrack_htable_size = 0; int ip_conntrack_max; -static atomic_t ip_conntrack_count = ATOMIC_INIT(0); struct list_head *ip_conntrack_hash; static kmem_cache_t *ip_conntrack_cachep; +static kmem_cache_t *ip_conntrack_expect_cachep; struct ip_conntrack ip_conntrack_untracked; +unsigned int ip_ct_log_invalid; -extern struct ip_conntrack_protocol ip_conntrack_generic_protocol; - -static inline int proto_cmpfn(const struct ip_conntrack_protocol *curr, - u_int8_t protocol) -{ - return protocol == curr->proto; -} - -struct ip_conntrack_protocol *__ip_ct_find_proto(u_int8_t protocol) -{ - struct ip_conntrack_protocol *p; - - MUST_BE_READ_LOCKED(&ip_conntrack_lock); - p = LIST_FIND(&protocol_list, proto_cmpfn, - struct ip_conntrack_protocol *, protocol); - if (!p) - p = &ip_conntrack_generic_protocol; - - return p; -} - -struct ip_conntrack_protocol *ip_ct_find_proto(u_int8_t protocol) -{ - struct ip_conntrack_protocol *p; - - READ_LOCK(&ip_conntrack_lock); - p = __ip_ct_find_proto(protocol); - READ_UNLOCK(&ip_conntrack_lock); - return p; -} +DEFINE_PER_CPU(struct ip_conntrack_stat, ip_conntrack_stat); inline void ip_conntrack_put(struct ip_conntrack *ct) { IP_NF_ASSERT(ct); - IP_NF_ASSERT(ct->infos[0].master); - /* nf_conntrack_put wants to go via an info struct, so feed it - one at random. */ - nf_conntrack_put(&ct->infos[0]); + nf_conntrack_put(&ct->ct_general); } static int ip_conntrack_hash_rnd_initted; @@ -127,11 +101,11 @@ hash_conntrack(const struct ip_conntrack_tuple *tuple) } int -get_tuple(const struct iphdr *iph, - const struct sk_buff *skb, - unsigned int dataoff, - struct ip_conntrack_tuple *tuple, - const struct ip_conntrack_protocol *protocol) +ip_ct_get_tuple(const struct iphdr *iph, + const struct sk_buff *skb, + unsigned int dataoff, + struct ip_conntrack_tuple *tuple, + const struct ip_conntrack_protocol *protocol) { /* Never happen */ if (iph->frag_off & htons(IP_OFFSET)) { @@ -148,10 +122,10 @@ get_tuple(const struct iphdr *iph, return protocol->pkt_to_tuple(skb, dataoff, tuple); } -static int -invert_tuple(struct ip_conntrack_tuple *inverse, - const struct ip_conntrack_tuple *orig, - const struct ip_conntrack_protocol *protocol) +int +ip_ct_invert_tuple(struct ip_conntrack_tuple *inverse, + const struct ip_conntrack_tuple *orig, + const struct ip_conntrack_protocol *protocol) { inverse->src.ip = orig->dst.ip; inverse->dst.ip = orig->src.ip; @@ -180,7 +154,8 @@ destroy_expect(struct ip_conntrack_expect *exp) IP_NF_ASSERT(atomic_read(&exp->use) == 0); IP_NF_ASSERT(!timer_pending(&exp->timeout)); - kfree(exp); + kmem_cache_free(ip_conntrack_expect_cachep, exp); + CONNTRACK_STAT_INC(expect_delete); } inline void ip_conntrack_expect_put(struct ip_conntrack_expect *exp) @@ -339,7 +314,7 @@ destroy_conntrack(struct nf_conntrack *nfct) list_del(&ct->master->expected_list); master = ct->master->expectant; } - kfree(ct->master); + kmem_cache_free(ip_conntrack_expect_cachep, ct->master); } WRITE_UNLOCK(&ip_conntrack_lock); @@ -349,12 +324,15 @@ destroy_conntrack(struct nf_conntrack *nfct) DEBUGP("destroy_conntrack: returning ct=%p to slab\n", ct); kmem_cache_free(ip_conntrack_cachep, ct); atomic_dec(&ip_conntrack_count); + CONNTRACK_STAT_INC(delete); } static void death_by_timeout(unsigned long ul_conntrack) { struct ip_conntrack *ct = (void *)ul_conntrack; + CONNTRACK_STAT_INC(delete_list); + WRITE_LOCK(&ip_conntrack_lock); clean_from_lists(ct); WRITE_UNLOCK(&ip_conntrack_lock); @@ -377,13 +355,19 @@ __ip_conntrack_find(const struct ip_conntrack_tuple *tuple, { struct ip_conntrack_tuple_hash *h; unsigned int hash = hash_conntrack(tuple); + /* use per_cpu() to avoid multiple calls to smp_processor_id() */ + unsigned int cpu = smp_processor_id(); MUST_BE_READ_LOCKED(&ip_conntrack_lock); - h = LIST_FIND(&ip_conntrack_hash[hash], - conntrack_tuple_cmp, - struct ip_conntrack_tuple_hash *, - tuple, ignored_conntrack); - return h; + list_for_each_entry(h, &ip_conntrack_hash[hash], list) { + if (conntrack_tuple_cmp(h, tuple, ignored_conntrack)) { + per_cpu(ip_conntrack_stat, cpu).found++; + return h; + } + per_cpu(ip_conntrack_stat, cpu).searched++; + } + + return NULL; } /* Find a connection corresponding to a tuple. */ @@ -402,36 +386,15 @@ ip_conntrack_find_get(const struct ip_conntrack_tuple *tuple, return h; } -static inline struct ip_conntrack * -__ip_conntrack_get(struct nf_ct_info *nfct, enum ip_conntrack_info *ctinfo) -{ - struct ip_conntrack *ct - = (struct ip_conntrack *)nfct->master; - - /* ctinfo is the index of the nfct inside the conntrack */ - *ctinfo = nfct - ct->infos; - IP_NF_ASSERT(*ctinfo >= 0 && *ctinfo < IP_CT_NUMBER); - return ct; -} - -/* Return conntrack and conntrack_info given skb->nfct->master */ -struct ip_conntrack * -ip_conntrack_get(struct sk_buff *skb, enum ip_conntrack_info *ctinfo) -{ - if (skb->nfct) - return __ip_conntrack_get(skb->nfct, ctinfo); - return NULL; -} - -/* Confirm a connection given skb->nfct; places it in hash table */ +/* Confirm a connection given skb; places it in hash table */ int -__ip_conntrack_confirm(struct nf_ct_info *nfct) +__ip_conntrack_confirm(struct sk_buff *skb) { unsigned int hash, repl_hash; struct ip_conntrack *ct; enum ip_conntrack_info ctinfo; - ct = __ip_conntrack_get(nfct, &ctinfo); + ct = ip_conntrack_get(skb, &ctinfo); /* ipt_REJECT uses ip_conntrack_attach to attach related ICMP/TCP RST packets in other direction. Actual packet @@ -477,10 +440,12 @@ __ip_conntrack_confirm(struct nf_ct_info *nfct) atomic_inc(&ct->ct_general.use); set_bit(IPS_CONFIRMED_BIT, &ct->status); WRITE_UNLOCK(&ip_conntrack_lock); + CONNTRACK_STAT_INC(insert); return NF_ACCEPT; } WRITE_UNLOCK(&ip_conntrack_lock); + CONNTRACK_STAT_INC(insert_failed); return NF_DROP; } @@ -499,83 +464,6 @@ ip_conntrack_tuple_taken(const struct ip_conntrack_tuple *tuple, return h != NULL; } -/* Returns conntrack if it dealt with ICMP, and filled in skb fields */ -struct ip_conntrack * -icmp_error_track(struct sk_buff *skb, - enum ip_conntrack_info *ctinfo, - unsigned int hooknum) -{ - struct ip_conntrack_tuple innertuple, origtuple; - struct { - struct icmphdr icmp; - struct iphdr ip; - } inside; - struct ip_conntrack_protocol *innerproto; - struct ip_conntrack_tuple_hash *h; - int dataoff; - - IP_NF_ASSERT(skb->nfct == NULL); - - /* Not enough header? */ - if (skb_copy_bits(skb, skb->nh.iph->ihl*4, &inside, sizeof(inside))!=0) - return NULL; - - if (inside.icmp.type != ICMP_DEST_UNREACH - && inside.icmp.type != ICMP_SOURCE_QUENCH - && inside.icmp.type != ICMP_TIME_EXCEEDED - && inside.icmp.type != ICMP_PARAMETERPROB - && inside.icmp.type != ICMP_REDIRECT) - return NULL; - - /* Ignore ICMP's containing fragments (shouldn't happen) */ - if (inside.ip.frag_off & htons(IP_OFFSET)) { - DEBUGP("icmp_error_track: fragment of proto %u\n", - inside.ip.protocol); - return NULL; - } - - innerproto = ip_ct_find_proto(inside.ip.protocol); - dataoff = skb->nh.iph->ihl*4 + sizeof(inside.icmp) + inside.ip.ihl*4; - /* Are they talking about one of our connections? */ - if (!get_tuple(&inside.ip, skb, dataoff, &origtuple, innerproto)) { - DEBUGP("icmp_error: ! get_tuple p=%u", inside.ip.protocol); - return NULL; - } - - /* Ordinarily, we'd expect the inverted tupleproto, but it's - been preserved inside the ICMP. */ - if (!invert_tuple(&innertuple, &origtuple, innerproto)) { - DEBUGP("icmp_error_track: Can't invert tuple\n"); - return NULL; - } - - *ctinfo = IP_CT_RELATED; - - h = ip_conntrack_find_get(&innertuple, NULL); - if (!h) { - /* Locally generated ICMPs will match inverted if they - haven't been SNAT'ed yet */ - /* FIXME: NAT code has to handle half-done double NAT --RR */ - if (hooknum == NF_IP_LOCAL_OUT) - h = ip_conntrack_find_get(&origtuple, NULL); - - if (!h) { - DEBUGP("icmp_error_track: no match\n"); - return NULL; - } - /* Reverse direction from that found */ - if (DIRECTION(h) != IP_CT_DIR_REPLY) - *ctinfo += IP_CT_IS_REPLY; - } else { - if (DIRECTION(h) == IP_CT_DIR_REPLY) - *ctinfo += IP_CT_IS_REPLY; - } - - /* Update skb to refer to this connection */ - skb->nfct = &h->ctrack->infos[*ctinfo]; - return h->ctrack; -} - /* There's a small race here where we may free a just-assured connection. Too bad: we're in trouble anyway. */ static inline int unreplied(const struct ip_conntrack_tuple_hash *i) @@ -601,6 +489,7 @@ static int early_drop(struct list_head *chain) if (del_timer(&h->ctrack->timeout)) { death_by_timeout((unsigned long)h->ctrack); dropped = 1; + CONNTRACK_STAT_INC(early_drop); } ip_conntrack_put(h->ctrack); return dropped; @@ -630,8 +519,6 @@ init_conntrack(const struct ip_conntrack_tuple *tuple, struct ip_conntrack_tuple repl_tuple; size_t hash; struct ip_conntrack_expect *expected; - int i; - static unsigned int drop_next; if (!ip_conntrack_hash_rnd_initted) { get_random_bytes(&ip_conntrack_hash_rnd, 4); @@ -640,15 +527,10 @@ init_conntrack(const struct ip_conntrack_tuple *tuple, hash = hash_conntrack(tuple); - if (ip_conntrack_max && - atomic_read(&ip_conntrack_count) >= ip_conntrack_max) { - /* Try dropping from random chain, or else from the - chain about to put into (in case they're trying to - bomb one hash chain). */ - unsigned int next = (drop_next++)%ip_conntrack_htable_size; - - if (!early_drop(&ip_conntrack_hash[next]) - && !early_drop(&ip_conntrack_hash[hash])) { + if (ip_conntrack_max + && atomic_read(&ip_conntrack_count) >= ip_conntrack_max) { + /* Try dropping from this hash chain. */ + if (!early_drop(&ip_conntrack_hash[hash])) { if (net_ratelimit()) printk(KERN_WARNING "ip_conntrack: table full, dropping" @@ -657,7 +539,7 @@ init_conntrack(const struct ip_conntrack_tuple *tuple, } } - if (!invert_tuple(&repl_tuple, tuple, protocol)) { + if (!ip_ct_invert_tuple(&repl_tuple, tuple, protocol)) { DEBUGP("Can't invert tuple.\n"); return NULL; } @@ -677,8 +559,12 @@ init_conntrack(const struct ip_conntrack_tuple *tuple, conntrack->tuplehash[IP_CT_DIR_REPLY].tuple = repl_tuple; conntrack->tuplehash[IP_CT_DIR_REPLY].ctrack = conntrack; conntrack->xid[IP_CT_DIR_REPLY] = -1; + +#warning MEF removed initialization of conntrack->infos structure, as this structure no longer exists in 2.6.9-1.11_FC. +#if 0 for (i=0; i < IP_CT_NUMBER; i++) conntrack->infos[i].master = &conntrack->ct_general; +#endif if (!protocol->new(conntrack, skb)) { kmem_cache_free(ip_conntrack_cachep, conntrack); @@ -698,41 +584,53 @@ init_conntrack(const struct ip_conntrack_tuple *tuple, struct ip_conntrack_expect *, tuple); READ_UNLOCK(&ip_conntrack_expect_tuple_lock); - /* If master is not in hash table yet (ie. packet hasn't left - this machine yet), how can other end know about expected? - Hence these are not the droids you are looking for (if - master ct never got confirmed, we'd hold a reference to it - and weird things would happen to future packets). */ - if (expected && !is_confirmed(expected->expectant)) - expected = NULL; - - /* Look up the conntrack helper for master connections only */ - if (!expected) - conntrack->helper = ip_ct_find_helper(&repl_tuple); + if (expected) { + /* If master is not in hash table yet (ie. packet hasn't left + this machine yet), how can other end know about expected? + Hence these are not the droids you are looking for (if + master ct never got confirmed, we'd hold a reference to it + and weird things would happen to future packets). */ + if (!is_confirmed(expected->expectant)) { + conntrack->helper = ip_ct_find_helper(&repl_tuple); + goto end; + } - /* If the expectation is dying, then this is a loser. */ - if (expected - && expected->expectant->helper->timeout - && ! del_timer(&expected->timeout)) - expected = NULL; + /* Expectation is dying... */ + if (expected->expectant->helper->timeout + && !del_timer(&expected->timeout)) + goto end; - if (expected) { DEBUGP("conntrack: expectation arrives ct=%p exp=%p\n", conntrack, expected); /* Welcome, Mr. Bond. We've been expecting you... */ + IP_NF_ASSERT(expected->expectant); __set_bit(IPS_EXPECTED_BIT, &conntrack->status); conntrack->master = expected; expected->sibling = conntrack; LIST_DELETE(&ip_conntrack_expect_list, expected); expected->expectant->expecting--; - nf_conntrack_get(&master_ct(conntrack)->infos[0]); + nf_conntrack_get(&master_ct(conntrack)->ct_general); + + /* this is a braindead... --pablo */ + atomic_inc(&ip_conntrack_count); + WRITE_UNLOCK(&ip_conntrack_lock); + + if (expected->expectfn) + expected->expectfn(conntrack); + + CONNTRACK_STAT_INC(expect_new); + + goto ret; + } else { + conntrack->helper = ip_ct_find_helper(&repl_tuple); + + CONNTRACK_STAT_INC(new); } - atomic_inc(&ip_conntrack_count); + +end: atomic_inc(&ip_conntrack_count); WRITE_UNLOCK(&ip_conntrack_lock); - if (expected && expected->expectfn) - expected->expectfn(conntrack); - return &conntrack->tuplehash[IP_CT_DIR_ORIGINAL]; +ret: return &conntrack->tuplehash[IP_CT_DIR_ORIGINAL]; } /* On success, returns conntrack ptr, sets skb->nfct and ctinfo */ @@ -748,7 +646,8 @@ resolve_normal_ct(struct sk_buff *skb, IP_NF_ASSERT((skb->nh.iph->frag_off & htons(IP_OFFSET)) == 0); - if (!get_tuple(skb->nh.iph, skb, skb->nh.iph->ihl*4, &tuple, proto)) + if (!ip_ct_get_tuple(skb->nh.iph, skb, skb->nh.iph->ihl*4, + &tuple,proto)) return NULL; /* look for tuple match */ @@ -783,7 +682,8 @@ resolve_normal_ct(struct sk_buff *skb, } *set_reply = 0; } - skb->nfct = &h->ctrack->infos[*ctinfo]; + skb->nfct = &h->ctrack->ct_general; + skb->nfctinfo = *ctinfo; return h->ctrack; } @@ -800,6 +700,12 @@ unsigned int ip_conntrack_in(unsigned int hooknum, int set_reply; int ret; + /* Previously seen (loopback or untracked)? Ignore. */ + if ((*pskb)->nfct) { + CONNTRACK_STAT_INC(ignore); + return NF_ACCEPT; + } + /* Never happen */ if ((*pskb)->nh.iph->frag_off & htons(IP_OFFSET)) { if (net_ratelimit()) { @@ -827,39 +733,47 @@ unsigned int ip_conntrack_in(unsigned int hooknum, } #endif - /* Previously seen (loopback or untracked)? Ignore. */ - if ((*pskb)->nfct) - return NF_ACCEPT; - proto = ip_ct_find_proto((*pskb)->nh.iph->protocol); - /* It may be an icmp error... */ - if ((*pskb)->nh.iph->protocol == IPPROTO_ICMP - && icmp_error_track(*pskb, &ctinfo, hooknum)) - return NF_ACCEPT; + /* It may be an special packet, error, unclean... + * inverse of the return code tells to the netfilter + * core what to do with the packet. */ + if (proto->error != NULL + && (ret = proto->error(*pskb, &ctinfo, hooknum)) <= 0) { + CONNTRACK_STAT_INC(error); + CONNTRACK_STAT_INC(invalid); + return -ret; + } - if (!(ct = resolve_normal_ct(*pskb, proto,&set_reply,hooknum,&ctinfo))) + if (!(ct = resolve_normal_ct(*pskb, proto,&set_reply,hooknum,&ctinfo))) { /* Not valid part of a connection */ + CONNTRACK_STAT_INC(invalid); return NF_ACCEPT; + } - if (IS_ERR(ct)) + if (IS_ERR(ct)) { /* Too stressed to deal. */ + CONNTRACK_STAT_INC(drop); return NF_DROP; + } IP_NF_ASSERT((*pskb)->nfct); ret = proto->packet(ct, *pskb, ctinfo); - if (ret == -1) { - /* Invalid */ + if (ret < 0) { + /* Invalid: inverse of the return code tells + * the netfilter core what to do*/ nf_conntrack_put((*pskb)->nfct); (*pskb)->nfct = NULL; - return NF_ACCEPT; + CONNTRACK_STAT_INC(invalid); + return -ret; } if (ret != NF_DROP && ct->helper) { ret = ct->helper->help(*pskb, ct, ctinfo); if (ret == -1) { /* Invalid */ + CONNTRACK_STAT_INC(invalid); nf_conntrack_put((*pskb)->nfct); (*pskb)->nfct = NULL; return NF_ACCEPT; @@ -874,7 +788,8 @@ unsigned int ip_conntrack_in(unsigned int hooknum, int invert_tuplepr(struct ip_conntrack_tuple *inverse, const struct ip_conntrack_tuple *orig) { - return invert_tuple(inverse, orig, ip_ct_find_proto(orig->dst.protonum)); + return ip_ct_invert_tuple(inverse, orig, + ip_ct_find_proto(orig->dst.protonum)); } static inline int resent_expect(const struct ip_conntrack_expect *i, @@ -928,9 +843,8 @@ struct ip_conntrack_expect * ip_conntrack_expect_alloc(void) { struct ip_conntrack_expect *new; - - new = (struct ip_conntrack_expect *) - kmalloc(sizeof(struct ip_conntrack_expect), GFP_ATOMIC); + + new = kmem_cache_alloc(ip_conntrack_expect_cachep, GFP_ATOMIC); if (!new) { DEBUGP("expect_related: OOM allocating expect\n"); return NULL; @@ -938,6 +852,7 @@ ip_conntrack_expect_alloc(void) /* tuple_cmp compares whole union, we have to initialized cleanly */ memset(new, 0, sizeof(struct ip_conntrack_expect)); + atomic_set(&new->use, 1); return new; } @@ -949,7 +864,6 @@ ip_conntrack_expect_insert(struct ip_conntrack_expect *new, DEBUGP("new expectation %p of conntrack %p\n", new, related_to); new->expectant = related_to; new->sibling = NULL; - atomic_set(&new->use, 1); /* add to expected list for this connection */ list_add_tail(&new->expected_list, &related_to->sibling_list); @@ -1002,7 +916,8 @@ int ip_conntrack_expect_related(struct ip_conntrack_expect *expect, } WRITE_UNLOCK(&ip_conntrack_lock); - kfree(expect); + /* This expectation is not inserted so no need to lock */ + kmem_cache_free(ip_conntrack_expect_cachep, expect); return -EEXIST; } else if (related_to->helper->max_expected && @@ -1020,7 +935,7 @@ int ip_conntrack_expect_related(struct ip_conntrack_expect *expect, related_to->helper->name, NIPQUAD(related_to->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.ip), NIPQUAD(related_to->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.ip)); - kfree(expect); + kmem_cache_free(ip_conntrack_expect_cachep, expect); return -EPERM; } DEBUGP("ip_conntrack: max number of expected " @@ -1054,7 +969,7 @@ int ip_conntrack_expect_related(struct ip_conntrack_expect *expect, WRITE_UNLOCK(&ip_conntrack_lock); DEBUGP("expect_related: busy!\n"); - kfree(expect); + kmem_cache_free(ip_conntrack_expect_cachep, expect); return -EBUSY; } @@ -1062,6 +977,8 @@ out: ip_conntrack_expect_insert(expect, related_to); WRITE_UNLOCK(&ip_conntrack_lock); + CONNTRACK_STAT_INC(expect_create); + return ret; } @@ -1205,6 +1122,8 @@ void ip_ct_refresh_acct(struct ip_conntrack *ct, } } +int ip_ct_no_defrag; + /* Returns new sk_buff, or NULL */ struct sk_buff * ip_ct_gather_frags(struct sk_buff *skb) @@ -1213,6 +1132,12 @@ ip_ct_gather_frags(struct sk_buff *skb) #ifdef CONFIG_NETFILTER_DEBUG unsigned int olddebug = skb->nf_debug; #endif + + if (unlikely(ip_ct_no_defrag)) { + kfree_skb(skb); + return NULL; + } + if (sk) { sock_hold(sk); skb_orphan(skb); @@ -1243,23 +1168,23 @@ ip_ct_gather_frags(struct sk_buff *skb) } /* Used by ipt_REJECT. */ -static void ip_conntrack_attach(struct sk_buff *nskb, struct nf_ct_info *nfct) +static void ip_conntrack_attach(struct sk_buff *nskb, struct sk_buff *skb) { struct ip_conntrack *ct; enum ip_conntrack_info ctinfo; - ct = __ip_conntrack_get(nfct, &ctinfo); - - /* This ICMP is in reverse direction to the packet which - caused it */ + /* This ICMP is in reverse direction to the packet which caused it */ + ct = ip_conntrack_get(skb, &ctinfo); + if (CTINFO2DIR(ctinfo) == IP_CT_DIR_ORIGINAL) ctinfo = IP_CT_RELATED + IP_CT_IS_REPLY; else ctinfo = IP_CT_RELATED; - /* Attach new skbuff, and increment count */ - nskb->nfct = &ct->infos[ctinfo]; - atomic_inc(&ct->ct_general.use); + /* Attach to new skbuff, and increment count */ + nskb->nfct = &ct->ct_general; + nskb->nfctinfo = ctinfo; + nf_conntrack_get(nskb->nfct); } static inline int @@ -1390,12 +1315,13 @@ void ip_conntrack_cleanup(void) } kmem_cache_destroy(ip_conntrack_cachep); + kmem_cache_destroy(ip_conntrack_expect_cachep); vfree(ip_conntrack_hash); nf_unregister_sockopt(&so_getorigdst); } static int hashsize; -MODULE_PARM(hashsize, "i"); +module_param(hashsize, int, 0400); int __init ip_conntrack_init(void) { @@ -1442,12 +1368,23 @@ int __init ip_conntrack_init(void) printk(KERN_ERR "Unable to create ip_conntrack slab cache\n"); goto err_free_hash; } + + ip_conntrack_expect_cachep = kmem_cache_create("ip_conntrack_expect", + sizeof(struct ip_conntrack_expect), + 0, SLAB_HWCACHE_ALIGN, NULL, NULL); + if (!ip_conntrack_expect_cachep) { + printk(KERN_ERR "Unable to create ip_expect slab cache\n"); + goto err_free_conntrack_slab; + } + /* Don't NEED lock here, but good form anyway. */ WRITE_LOCK(&ip_conntrack_lock); + for (i = 0; i < MAX_IP_CT_PROTO; i++) + ip_ct_protos[i] = &ip_conntrack_generic_protocol; /* Sew in builtin protocols. */ - list_append(&protocol_list, &ip_conntrack_protocol_tcp); - list_append(&protocol_list, &ip_conntrack_protocol_udp); - list_append(&protocol_list, &ip_conntrack_protocol_icmp); + ip_ct_protos[IPPROTO_TCP] = &ip_conntrack_protocol_tcp; + ip_ct_protos[IPPROTO_UDP] = &ip_conntrack_protocol_udp; + ip_ct_protos[IPPROTO_ICMP] = &ip_conntrack_protocol_icmp; WRITE_UNLOCK(&ip_conntrack_lock); for (i = 0; i < ip_conntrack_htable_size; i++) @@ -1461,14 +1398,11 @@ int __init ip_conntrack_init(void) atomic_set(&ip_conntrack_untracked.ct_general.use, 1); /* - and look it like as a confirmed connection */ set_bit(IPS_CONFIRMED_BIT, &ip_conntrack_untracked.status); - /* - and prepare the ctinfo field for REJECT & NAT. */ - ip_conntrack_untracked.infos[IP_CT_NEW].master = - ip_conntrack_untracked.infos[IP_CT_RELATED].master = - ip_conntrack_untracked.infos[IP_CT_RELATED + IP_CT_IS_REPLY].master = - &ip_conntrack_untracked.ct_general; return ret; +err_free_conntrack_slab: + kmem_cache_destroy(ip_conntrack_cachep); err_free_hash: vfree(ip_conntrack_hash); err_unreg_sockopt: diff --git a/net/ipv4/netfilter/ip_conntrack_ftp.c b/net/ipv4/netfilter/ip_conntrack_ftp.c index df7008989..70302e0f1 100644 --- a/net/ipv4/netfilter/ip_conntrack_ftp.c +++ b/net/ipv4/netfilter/ip_conntrack_ftp.c @@ -381,6 +381,7 @@ static int help(struct sk_buff *skb, problem (DMZ machines opening holes to internal networks, or the packet filter itself). */ if (!loose) { + ip_conntrack_expect_put(exp); ret = NF_ACCEPT; goto out; } diff --git a/net/ipv4/netfilter/ip_conntrack_proto_generic.c b/net/ipv4/netfilter/ip_conntrack_proto_generic.c index 6a7db7754..88c3712bd 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_generic.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_generic.c @@ -34,15 +34,15 @@ static int generic_invert_tuple(struct ip_conntrack_tuple *tuple, } /* Print out the per-protocol part of the tuple. */ -static unsigned int generic_print_tuple(char *buffer, - const struct ip_conntrack_tuple *tuple) +static int generic_print_tuple(struct seq_file *s, + const struct ip_conntrack_tuple *tuple) { return 0; } /* Print out the private part of the conntrack. */ -static unsigned int generic_print_conntrack(char *buffer, - const struct ip_conntrack *state) +static int generic_print_conntrack(struct seq_file *s, + const struct ip_conntrack *state) { return 0; } @@ -62,8 +62,14 @@ static int new(struct ip_conntrack *conntrack, const struct sk_buff *skb) return 1; } -struct ip_conntrack_protocol ip_conntrack_generic_protocol -= { { NULL, NULL }, 0, "unknown", - generic_pkt_to_tuple, generic_invert_tuple, generic_print_tuple, - generic_print_conntrack, packet, new, NULL, NULL, NULL }; - +struct ip_conntrack_protocol ip_conntrack_generic_protocol = +{ + .proto = 0, + .name = "unknown", + .pkt_to_tuple = generic_pkt_to_tuple, + .invert_tuple = generic_invert_tuple, + .print_tuple = generic_print_tuple, + .print_conntrack = generic_print_conntrack, + .packet = packet, + .new = new, +}; diff --git a/net/ipv4/netfilter/ip_conntrack_proto_icmp.c b/net/ipv4/netfilter/ip_conntrack_proto_icmp.c index e854193eb..344820a51 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_icmp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_icmp.c @@ -12,6 +12,13 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include #include unsigned long ip_ct_icmp_timeout = 30*HZ; @@ -26,14 +33,15 @@ static int icmp_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff, struct ip_conntrack_tuple *tuple) { - struct icmphdr hdr; + struct icmphdr _hdr, *hp; - if (skb_copy_bits(skb, dataoff, &hdr, sizeof(hdr)) != 0) + hp = skb_header_pointer(skb, dataoff, sizeof(_hdr), &_hdr); + if (hp == NULL) return 0; - tuple->dst.u.icmp.type = hdr.type; - tuple->src.u.icmp.id = hdr.un.echo.id; - tuple->dst.u.icmp.code = hdr.code; + tuple->dst.u.icmp.type = hp->type; + tuple->src.u.icmp.id = hp->un.echo.id; + tuple->dst.u.icmp.code = hp->code; return 1; } @@ -63,18 +71,18 @@ static int icmp_invert_tuple(struct ip_conntrack_tuple *tuple, } /* Print out the per-protocol part of the tuple. */ -static unsigned int icmp_print_tuple(char *buffer, - const struct ip_conntrack_tuple *tuple) +static int icmp_print_tuple(struct seq_file *s, + const struct ip_conntrack_tuple *tuple) { - return sprintf(buffer, "type=%u code=%u id=%u ", - tuple->dst.u.icmp.type, - tuple->dst.u.icmp.code, - ntohs(tuple->src.u.icmp.id)); + return seq_printf(s, "type=%u code=%u id=%u ", + tuple->dst.u.icmp.type, + tuple->dst.u.icmp.code, + ntohs(tuple->src.u.icmp.id)); } /* Print out the private part of the conntrack. */ -static unsigned int icmp_print_conntrack(char *buffer, - const struct ip_conntrack *conntrack) +static int icmp_print_conntrack(struct seq_file *s, + const struct ip_conntrack *conntrack) { return 0; } @@ -122,7 +130,150 @@ static int icmp_new(struct ip_conntrack *conntrack, return 1; } -struct ip_conntrack_protocol ip_conntrack_protocol_icmp -= { { NULL, NULL }, IPPROTO_ICMP, "icmp", - icmp_pkt_to_tuple, icmp_invert_tuple, icmp_print_tuple, - icmp_print_conntrack, icmp_packet, icmp_new, NULL, NULL, NULL }; +static int +icmp_error_message(struct sk_buff *skb, + enum ip_conntrack_info *ctinfo, + unsigned int hooknum) +{ + struct ip_conntrack_tuple innertuple, origtuple; + struct { + struct icmphdr icmp; + struct iphdr ip; + } _in, *inside; + struct ip_conntrack_protocol *innerproto; + struct ip_conntrack_tuple_hash *h; + int dataoff; + + IP_NF_ASSERT(skb->nfct == NULL); + + /* Not enough header? */ + inside = skb_header_pointer(skb, skb->nh.iph->ihl*4, sizeof(_in), &_in); + if (inside == NULL) + return NF_ACCEPT; + + /* Ignore ICMP's containing fragments (shouldn't happen) */ + if (inside->ip.frag_off & htons(IP_OFFSET)) { + DEBUGP("icmp_error_track: fragment of proto %u\n", + inside->ip.protocol); + return NF_ACCEPT; + } + + innerproto = ip_ct_find_proto(inside->ip.protocol); + dataoff = skb->nh.iph->ihl*4 + sizeof(inside->icmp) + inside->ip.ihl*4; + /* Are they talking about one of our connections? */ + if (!ip_ct_get_tuple(&inside->ip, skb, dataoff, &origtuple, innerproto)) { + DEBUGP("icmp_error: ! get_tuple p=%u", inside->ip.protocol); + return NF_ACCEPT; + } + + /* Ordinarily, we'd expect the inverted tupleproto, but it's + been preserved inside the ICMP. */ + if (!ip_ct_invert_tuple(&innertuple, &origtuple, innerproto)) { + DEBUGP("icmp_error_track: Can't invert tuple\n"); + return NF_ACCEPT; + } + + *ctinfo = IP_CT_RELATED; + + h = ip_conntrack_find_get(&innertuple, NULL); + if (!h) { + /* Locally generated ICMPs will match inverted if they + haven't been SNAT'ed yet */ + /* FIXME: NAT code has to handle half-done double NAT --RR */ + if (hooknum == NF_IP_LOCAL_OUT) + h = ip_conntrack_find_get(&origtuple, NULL); + + if (!h) { + DEBUGP("icmp_error_track: no match\n"); + return NF_ACCEPT; + } + /* Reverse direction from that found */ + if (DIRECTION(h) != IP_CT_DIR_REPLY) + *ctinfo += IP_CT_IS_REPLY; + } else { + if (DIRECTION(h) == IP_CT_DIR_REPLY) + *ctinfo += IP_CT_IS_REPLY; + } + + /* Update skb to refer to this connection */ + skb->nfct = &h->ctrack->ct_general; + skb->nfctinfo = *ctinfo; + return -NF_ACCEPT; +} + +/* Small and modified version of icmp_rcv */ +static int +icmp_error(struct sk_buff *skb, enum ip_conntrack_info *ctinfo, + unsigned int hooknum) +{ + struct icmphdr _ih, *icmph; + + /* Not enough header? */ + icmph = skb_header_pointer(skb, skb->nh.iph->ihl*4, sizeof(_ih), &_ih); + if (icmph == NULL) { + if (LOG_INVALID(IPPROTO_ICMP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_icmp: short packet "); + return -NF_ACCEPT; + } + + /* See ip_conntrack_proto_tcp.c */ + if (hooknum != NF_IP_PRE_ROUTING) + goto checksum_skipped; + + switch (skb->ip_summed) { + case CHECKSUM_HW: + if (!(u16)csum_fold(skb->csum)) + break; + if (LOG_INVALID(IPPROTO_ICMP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_icmp: bad HW ICMP checksum "); + return -NF_ACCEPT; + case CHECKSUM_NONE: + if ((u16)csum_fold(skb_checksum(skb, 0, skb->len, 0))) { + if (LOG_INVALID(IPPROTO_ICMP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_icmp: bad ICMP checksum "); + return -NF_ACCEPT; + } + default: + break; + } + +checksum_skipped: + /* + * 18 is the highest 'known' ICMP type. Anything else is a mystery + * + * RFC 1122: 3.2.2 Unknown ICMP messages types MUST be silently + * discarded. + */ + if (icmph->type > NR_ICMP_TYPES) { + if (LOG_INVALID(IPPROTO_ICMP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_icmp: invalid ICMP type "); + return -NF_ACCEPT; + } + + /* Need to track icmp error message? */ + if (icmph->type != ICMP_DEST_UNREACH + && icmph->type != ICMP_SOURCE_QUENCH + && icmph->type != ICMP_TIME_EXCEEDED + && icmph->type != ICMP_PARAMETERPROB + && icmph->type != ICMP_REDIRECT) + return NF_ACCEPT; + + return icmp_error_message(skb, ctinfo, hooknum); +} + +struct ip_conntrack_protocol ip_conntrack_protocol_icmp = +{ + .proto = IPPROTO_ICMP, + .name = "icmp", + .pkt_to_tuple = icmp_pkt_to_tuple, + .invert_tuple = icmp_invert_tuple, + .print_tuple = icmp_print_tuple, + .print_conntrack = icmp_print_conntrack, + .packet = icmp_packet, + .new = icmp_new, + .error = icmp_error, +}; diff --git a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c index 73fe0401d..8fab05a58 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c @@ -4,8 +4,22 @@ * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. + * + * Jozsef Kadlecsik : + * - Real stateful connection tracking + * - Modified state transitions table + * - Window scaling support added + * - SACK support added + * + * Willy Tarreau: + * - State table bugfixes + * - More robust state changes + * - Tuning timer parameters + * + * version 2.2 */ +#include #include #include #include @@ -14,16 +28,19 @@ #include #include #include -#include +#include #include +#include +#include #include #include #include #if 0 #define DEBUGP printk +#define DEBUGP_VARS #else #define DEBUGP(format, args...) #endif @@ -31,28 +48,40 @@ /* Protects conntrack->proto.tcp */ static DECLARE_RWLOCK(tcp_lock); -/* FIXME: Examine ipfilter's timeouts and conntrack transitions more - closely. They're more complex. --RR */ +/* "Be conservative in what you do, + be liberal in what you accept from others." + If it's non-zero, we mark only out of window RST segments as INVALID. */ +int ip_ct_tcp_be_liberal = 0; -/* Actually, I believe that neither ipmasq (where this code is stolen - from) nor ipfilter do it exactly right. A new conntrack machine taking - into account packet loss (which creates uncertainty as to exactly - the conntrack of the connection) is required. RSN. --RR */ +/* When connection is picked up from the middle, how many packets are required + to pass in each direction when we assume we are in sync - if any side uses + window scaling, we lost the game. + If it is set to zero, we disable picking up already established + connections. */ +int ip_ct_tcp_loose = 3; + +/* Max number of the retransmitted packets without receiving an (acceptable) + ACK from the destination. If this number is reached, a shorter timer + will be started. */ +int ip_ct_tcp_max_retrans = 3; + + /* FIXME: Examine ipfilter's timeouts and conntrack transitions more + closely. They're more complex. --RR */ static const char *tcp_conntrack_names[] = { "NONE", - "ESTABLISHED", "SYN_SENT", "SYN_RECV", + "ESTABLISHED", "FIN_WAIT", - "TIME_WAIT", - "CLOSE", "CLOSE_WAIT", "LAST_ACK", + "TIME_WAIT", + "CLOSE", "LISTEN" }; - -#define SECS *HZ + +#define SECS * HZ #define MINS * 60 SECS #define HOURS * 60 MINS #define DAYS * 24 HOURS @@ -66,64 +95,214 @@ unsigned long ip_ct_tcp_timeout_last_ack = 30 SECS; unsigned long ip_ct_tcp_timeout_time_wait = 2 MINS; unsigned long ip_ct_tcp_timeout_close = 10 SECS; +/* RFC1122 says the R2 limit should be at least 100 seconds. + Linux uses 15 packets as limit, which corresponds + to ~13-30min depending on RTO. */ +unsigned long ip_ct_tcp_timeout_max_retrans = 5 MINS; + static unsigned long * tcp_timeouts[] = { NULL, /* TCP_CONNTRACK_NONE */ - &ip_ct_tcp_timeout_established, /* TCP_CONNTRACK_ESTABLISHED, */ &ip_ct_tcp_timeout_syn_sent, /* TCP_CONNTRACK_SYN_SENT, */ &ip_ct_tcp_timeout_syn_recv, /* TCP_CONNTRACK_SYN_RECV, */ + &ip_ct_tcp_timeout_established, /* TCP_CONNTRACK_ESTABLISHED, */ &ip_ct_tcp_timeout_fin_wait, /* TCP_CONNTRACK_FIN_WAIT, */ - &ip_ct_tcp_timeout_time_wait, /* TCP_CONNTRACK_TIME_WAIT, */ - &ip_ct_tcp_timeout_close, /* TCP_CONNTRACK_CLOSE, */ &ip_ct_tcp_timeout_close_wait, /* TCP_CONNTRACK_CLOSE_WAIT, */ &ip_ct_tcp_timeout_last_ack, /* TCP_CONNTRACK_LAST_ACK, */ + &ip_ct_tcp_timeout_time_wait, /* TCP_CONNTRACK_TIME_WAIT, */ + &ip_ct_tcp_timeout_close, /* TCP_CONNTRACK_CLOSE, */ NULL, /* TCP_CONNTRACK_LISTEN */ }; #define sNO TCP_CONNTRACK_NONE -#define sES TCP_CONNTRACK_ESTABLISHED #define sSS TCP_CONNTRACK_SYN_SENT #define sSR TCP_CONNTRACK_SYN_RECV +#define sES TCP_CONNTRACK_ESTABLISHED #define sFW TCP_CONNTRACK_FIN_WAIT -#define sTW TCP_CONNTRACK_TIME_WAIT -#define sCL TCP_CONNTRACK_CLOSE #define sCW TCP_CONNTRACK_CLOSE_WAIT #define sLA TCP_CONNTRACK_LAST_ACK +#define sTW TCP_CONNTRACK_TIME_WAIT +#define sCL TCP_CONNTRACK_CLOSE #define sLI TCP_CONNTRACK_LISTEN #define sIV TCP_CONNTRACK_MAX +#define sIG TCP_CONNTRACK_IGNORE -static enum tcp_conntrack tcp_conntracks[2][5][TCP_CONNTRACK_MAX] = { +/* What TCP flags are set from RST/SYN/FIN/ACK. */ +enum tcp_bit_set { + TCP_SYN_SET, + TCP_SYNACK_SET, + TCP_FIN_SET, + TCP_ACK_SET, + TCP_RST_SET, + TCP_NONE_SET, +}; + +/* + * The TCP state transition table needs a few words... + * + * We are the man in the middle. All the packets go through us + * but might get lost in transit to the destination. + * It is assumed that the destinations can't receive segments + * we haven't seen. + * + * The checked segment is in window, but our windows are *not* + * equivalent with the ones of the sender/receiver. We always + * try to guess the state of the current sender. + * + * The meaning of the states are: + * + * NONE: initial state + * SYN_SENT: SYN-only packet seen + * SYN_RECV: SYN-ACK packet seen + * ESTABLISHED: ACK packet seen + * FIN_WAIT: FIN packet seen + * CLOSE_WAIT: ACK seen (after FIN) + * LAST_ACK: FIN seen (after FIN) + * TIME_WAIT: last ACK seen + * CLOSE: closed connection + * + * LISTEN state is not used. + * + * Packets marked as IGNORED (sIG): + * if they may be either invalid or valid + * and the receiver may send back a connection + * closing RST or a SYN/ACK. + * + * Packets marked as INVALID (sIV): + * if they are invalid + * or we do not support the request (simultaneous open) + */ +static enum tcp_conntrack tcp_conntracks[2][6][TCP_CONNTRACK_MAX] = { { -/* ORIGINAL */ -/* sNO, sES, sSS, sSR, sFW, sTW, sCL, sCW, sLA, sLI */ -/*syn*/ {sSS, sES, sSS, sSR, sSS, sSS, sSS, sSS, sSS, sLI }, -/*fin*/ {sTW, sFW, sSS, sTW, sFW, sTW, sCL, sTW, sLA, sLI }, -/*ack*/ {sES, sES, sSS, sES, sFW, sTW, sCL, sCW, sLA, sES }, -/*rst*/ {sCL, sCL, sSS, sCL, sCL, sTW, sCL, sCL, sCL, sCL }, -/*none*/{sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV } +/* ORIGINAL */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*syn*/ { sSS, sSS, sIG, sIG, sIG, sIG, sIG, sSS, sSS, sIV }, +/* + * sNO -> sSS Initialize a new connection + * sSS -> sSS Retransmitted SYN + * sSR -> sIG Late retransmitted SYN? + * sES -> sIG Error: SYNs in window outside the SYN_SENT state + * are errors. Receiver will reply with RST + * and close the connection. + * Or we are not in sync and hold a dead connection. + * sFW -> sIG + * sCW -> sIG + * sLA -> sIG + * sTW -> sSS Reopened connection (RFC 1122). + * sCL -> sSS + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*synack*/ { sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV }, +/* + * A SYN/ACK from the client is always invalid: + * - either it tries to set up a simultaneous open, which is + * not supported; + * - or the firewall has just been inserted between the two hosts + * during the session set-up. The SYN will be retransmitted + * by the true client (or it'll time out). + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*fin*/ { sIV, sIV, sFW, sFW, sLA, sLA, sLA, sTW, sCL, sIV }, +/* + * sNO -> sIV Too late and no reason to do anything... + * sSS -> sIV Client migth not send FIN in this state: + * we enforce waiting for a SYN/ACK reply first. + * sSR -> sFW Close started. + * sES -> sFW + * sFW -> sLA FIN seen in both directions, waiting for + * the last ACK. + * Migth be a retransmitted FIN as well... + * sCW -> sLA + * sLA -> sLA Retransmitted FIN. Remain in the same state. + * sTW -> sTW + * sCL -> sCL + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*ack*/ { sES, sIV, sES, sES, sCW, sCW, sTW, sTW, sCL, sIV }, +/* + * sNO -> sES Assumed. + * sSS -> sIV ACK is invalid: we haven't seen a SYN/ACK yet. + * sSR -> sES Established state is reached. + * sES -> sES :-) + * sFW -> sCW Normal close request answered by ACK. + * sCW -> sCW + * sLA -> sTW Last ACK detected. + * sTW -> sTW Retransmitted last ACK. Remain in the same state. + * sCL -> sCL + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*rst*/ { sIV, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sIV }, +/*none*/ { sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV } }, { -/* REPLY */ -/* sNO, sES, sSS, sSR, sFW, sTW, sCL, sCW, sLA, sLI */ -/*syn*/ {sSR, sES, sSR, sSR, sSR, sSR, sSR, sSR, sSR, sSR }, -/*fin*/ {sCL, sCW, sSS, sTW, sTW, sTW, sCL, sCW, sLA, sLI }, -/*ack*/ {sCL, sES, sSS, sSR, sFW, sTW, sCL, sCW, sCL, sLI }, -/*rst*/ {sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sLA, sLI }, -/*none*/{sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV } - } +/* REPLY */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*syn*/ { sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV }, +/* + * sNO -> sIV Never reached. + * sSS -> sIV Simultaneous open, not supported + * sSR -> sIV Simultaneous open, not supported. + * sES -> sIV Server may not initiate a connection. + * sFW -> sIV + * sCW -> sIV + * sLA -> sIV + * sTW -> sIV Reopened connection, but server may not do it. + * sCL -> sIV + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*synack*/ { sIV, sSR, sSR, sIG, sIG, sIG, sIG, sIG, sIG, sIV }, +/* + * sSS -> sSR Standard open. + * sSR -> sSR Retransmitted SYN/ACK. + * sES -> sIG Late retransmitted SYN/ACK? + * sFW -> sIG + * sCW -> sIG + * sLA -> sIG + * sTW -> sIG + * sCL -> sIG + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*fin*/ { sIV, sIV, sFW, sFW, sLA, sLA, sLA, sTW, sCL, sIV }, +/* + * sSS -> sIV Server might not send FIN in this state. + * sSR -> sFW Close started. + * sES -> sFW + * sFW -> sLA FIN seen in both directions. + * sCW -> sLA + * sLA -> sLA Retransmitted FIN. + * sTW -> sTW + * sCL -> sCL + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*ack*/ { sIV, sIV, sIV, sES, sCW, sCW, sTW, sTW, sCL, sIV }, +/* + * sSS -> sIV ACK is invalid: we haven't seen a SYN/ACK yet. + * sSR -> sIV Simultaneous open. + * sES -> sES :-) + * sFW -> sCW Normal close request answered by ACK. + * sCW -> sCW + * sLA -> sTW Last ACK detected. + * sTW -> sTW Retransmitted last ACK. + * sCL -> sCL + */ +/* sNO, sSS, sSR, sES, sFW, sCW, sLA, sTW, sCL, sLI */ +/*rst*/ { sIV, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sIV }, +/*none*/ { sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV, sIV } + } }; static int tcp_pkt_to_tuple(const struct sk_buff *skb, - unsigned int dataoff, - struct ip_conntrack_tuple *tuple) + unsigned int dataoff, + struct ip_conntrack_tuple *tuple) { - struct tcphdr hdr; + struct tcphdr _hdr, *hp; /* Actually only need first 8 bytes. */ - if (skb_copy_bits(skb, dataoff, &hdr, 8) != 0) + hp = skb_header_pointer(skb, dataoff, 8, &_hdr); + if (hp == NULL) return 0; - tuple->src.u.tcp.port = hdr.source; - tuple->dst.u.tcp.port = hdr.dest; + tuple->src.u.tcp.port = hp->source; + tuple->dst.u.tcp.port = hp->dest; return 1; } @@ -137,17 +316,17 @@ static int tcp_invert_tuple(struct ip_conntrack_tuple *tuple, } /* Print out the per-protocol part of the tuple. */ -static unsigned int tcp_print_tuple(char *buffer, - const struct ip_conntrack_tuple *tuple) +static int tcp_print_tuple(struct seq_file *s, + const struct ip_conntrack_tuple *tuple) { - return sprintf(buffer, "sport=%hu dport=%hu ", - ntohs(tuple->src.u.tcp.port), - ntohs(tuple->dst.u.tcp.port)); + return seq_printf(s, "sport=%hu dport=%hu ", + ntohs(tuple->src.u.tcp.port), + ntohs(tuple->dst.u.tcp.port)); } /* Print out the private part of the conntrack. */ -static unsigned int tcp_print_conntrack(char *buffer, - const struct ip_conntrack *conntrack) +static int tcp_print_conntrack(struct seq_file *s, + const struct ip_conntrack *conntrack) { enum tcp_conntrack state; @@ -155,16 +334,493 @@ static unsigned int tcp_print_conntrack(char *buffer, state = conntrack->proto.tcp.state; READ_UNLOCK(&tcp_lock); - return sprintf(buffer, "%s ", tcp_conntrack_names[state]); + return seq_printf(s, "%s ", tcp_conntrack_names[state]); } static unsigned int get_conntrack_index(const struct tcphdr *tcph) { - if (tcph->rst) return 3; - else if (tcph->syn) return 0; - else if (tcph->fin) return 1; - else if (tcph->ack) return 2; - else return 4; + if (tcph->rst) return TCP_RST_SET; + else if (tcph->syn) return (tcph->ack ? TCP_SYNACK_SET : TCP_SYN_SET); + else if (tcph->fin) return TCP_FIN_SET; + else if (tcph->ack) return TCP_ACK_SET; + else return TCP_NONE_SET; +} + +/* TCP connection tracking based on 'Real Stateful TCP Packet Filtering + in IP Filter' by Guido van Rooij. + + http://www.nluug.nl/events/sane2000/papers.html + http://www.iae.nl/users/guido/papers/tcp_filtering.ps.gz + + The boundaries and the conditions are slightly changed: + + td_maxend = max(sack + max(win,1)) seen in reply packets + td_maxwin = max(max(win, 1)) + (sack - ack) seen in sent packets + td_end = max(seq + len) seen in sent packets + + I. Upper bound for valid data: seq + len <= sender.td_maxend + II. Lower bound for valid data: seq >= sender.td_end - receiver.td_maxwin + III. Upper bound for valid ack: sack <= receiver.td_end + IV. Lower bound for valid ack: ack >= receiver.td_end - MAXACKWINDOW + + where sack is the highest right edge of sack block found in the packet. + + The upper bound limit for a valid ack is not ignored - + we doesn't have to deal with fragments. +*/ + +static inline __u32 segment_seq_plus_len(__u32 seq, + size_t len, + struct iphdr *iph, + struct tcphdr *tcph) + { + return (seq + len - (iph->ihl + tcph->doff)*4 + + (tcph->syn ? 1 : 0) + (tcph->fin ? 1 : 0)); +} + +/* Fixme: what about big packets? */ +#define MAXACKWINCONST 66000 +#define MAXACKWINDOW(sender) \ + ((sender)->td_maxwin > MAXACKWINCONST ? (sender)->td_maxwin \ + : MAXACKWINCONST) + +/* + * Simplified tcp_parse_options routine from tcp_input.c + */ +static void tcp_options(const struct sk_buff *skb, + struct iphdr *iph, + struct tcphdr *tcph, + struct ip_ct_tcp_state *state) +{ + unsigned char buff[(15 * 4) - sizeof(struct tcphdr)]; + unsigned char *ptr; + int length = (tcph->doff*4) - sizeof(struct tcphdr); + + if (!length) + return; + + ptr = skb_header_pointer(skb, + (iph->ihl * 4) + sizeof(struct tcphdr), + length, buff); + BUG_ON(ptr == NULL); + + state->td_scale = + state->flags = 0; + + while (length > 0) { + int opcode=*ptr++; + int opsize; + + switch (opcode) { + case TCPOPT_EOL: + return; + case TCPOPT_NOP: /* Ref: RFC 793 section 3.1 */ + length--; + continue; + default: + opsize=*ptr++; + if (opsize < 2) /* "silly options" */ + return; + if (opsize > length) + break; /* don't parse partial options */ + + if (opcode == TCPOPT_SACK_PERM + && opsize == TCPOLEN_SACK_PERM) + state->flags |= IP_CT_TCP_FLAG_SACK_PERM; + else if (opcode == TCPOPT_WINDOW + && opsize == TCPOLEN_WINDOW) { + state->td_scale = *(u_int8_t *)ptr; + + if (state->td_scale > 14) { + /* See RFC1323 */ + state->td_scale = 14; + } + state->flags |= + IP_CT_TCP_STATE_FLAG_WINDOW_SCALE; + } + ptr += opsize - 2; + length -= opsize; + } + } +} + +static void tcp_sack(struct tcphdr *tcph, __u32 *sack) +{ + __u32 tmp; + unsigned char *ptr; + int length = (tcph->doff*4) - sizeof(struct tcphdr); + + /* Fast path for timestamp-only option */ + if (length == TCPOLEN_TSTAMP_ALIGNED*4 + && *(__u32 *)(tcph + 1) == + __constant_ntohl((TCPOPT_NOP << 24) + | (TCPOPT_NOP << 16) + | (TCPOPT_TIMESTAMP << 8) + | TCPOLEN_TIMESTAMP)) + return; + + ptr = (unsigned char *)(tcph + 1); + while (length > 0) { + int opcode=*ptr++; + int opsize, i; + + switch (opcode) { + case TCPOPT_EOL: + return; + case TCPOPT_NOP: /* Ref: RFC 793 section 3.1 */ + length--; + continue; + default: + opsize=*ptr++; + if (opsize < 2) /* "silly options" */ + return; + if (opsize > length) + break; /* don't parse partial options */ + + if (opcode == TCPOPT_SACK + && opsize >= (TCPOLEN_SACK_BASE + + TCPOLEN_SACK_PERBLOCK) + && !((opsize - TCPOLEN_SACK_BASE) + % TCPOLEN_SACK_PERBLOCK)) { + for (i = 0; + i < (opsize - TCPOLEN_SACK_BASE); + i += TCPOLEN_SACK_PERBLOCK) { + tmp = ntohl(*((u_int32_t *)(ptr+i)+1)); + + if (after(tmp, *sack)) + *sack = tmp; + } + return; + } + ptr += opsize - 2; + length -= opsize; + } + } +} + +static int tcp_in_window(struct ip_ct_tcp *state, + enum ip_conntrack_dir dir, + unsigned int *index, + const struct sk_buff *skb, + struct iphdr *iph, + struct tcphdr *tcph) +{ + struct ip_ct_tcp_state *sender = &state->seen[dir]; + struct ip_ct_tcp_state *receiver = &state->seen[!dir]; + __u32 seq, ack, sack, end, win, swin; + int res; + + /* + * Get the required data from the packet. + */ + seq = ntohl(tcph->seq); + ack = sack = ntohl(tcph->ack_seq); + win = ntohs(tcph->window); + end = segment_seq_plus_len(seq, skb->len, iph, tcph); + + if (receiver->flags & IP_CT_TCP_FLAG_SACK_PERM) + tcp_sack(tcph, &sack); + + DEBUGP("tcp_in_window: START\n"); + DEBUGP("tcp_in_window: src=%u.%u.%u.%u:%hu dst=%u.%u.%u.%u:%hu " + "seq=%u ack=%u sack=%u win=%u end=%u\n", + NIPQUAD(iph->saddr), ntohs(tcph->source), + NIPQUAD(iph->daddr), ntohs(tcph->dest), + seq, ack, sack, win, end); + DEBUGP("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i " + "receiver end=%u maxend=%u maxwin=%u scale=%i\n", + sender->td_end, sender->td_maxend, sender->td_maxwin, + sender->td_scale, + receiver->td_end, receiver->td_maxend, receiver->td_maxwin, + receiver->td_scale); + + if (sender->td_end == 0) { + /* + * Initialize sender data. + */ + if (tcph->syn && tcph->ack) { + /* + * Outgoing SYN-ACK in reply to a SYN. + */ + sender->td_end = + sender->td_maxend = end; + sender->td_maxwin = (win == 0 ? 1 : win); + + tcp_options(skb, iph, tcph, sender); + /* + * RFC 1323: + * Both sides must send the Window Scale option + * to enable window scaling in either direction. + */ + if (!(sender->flags & IP_CT_TCP_STATE_FLAG_WINDOW_SCALE + && receiver->flags & IP_CT_TCP_STATE_FLAG_WINDOW_SCALE)) + sender->td_scale = + receiver->td_scale = 0; + } else { + /* + * We are in the middle of a connection, + * its history is lost for us. + * Let's try to use the data from the packet. + */ + sender->td_end = end; + sender->td_maxwin = (win == 0 ? 1 : win); + sender->td_maxend = end + sender->td_maxwin; + } + } else if (state->state == TCP_CONNTRACK_SYN_SENT + && dir == IP_CT_DIR_ORIGINAL + && after(end, sender->td_end)) { + /* + * RFC 793: "if a TCP is reinitialized ... then it need + * not wait at all; it must only be sure to use sequence + * numbers larger than those recently used." + */ + sender->td_end = + sender->td_maxend = end; + sender->td_maxwin = (win == 0 ? 1 : win); + + tcp_options(skb, iph, tcph, sender); + } + + if (!(tcph->ack)) { + /* + * If there is no ACK, just pretend it was set and OK. + */ + ack = sack = receiver->td_end; + } else if (((tcp_flag_word(tcph) & (TCP_FLAG_ACK|TCP_FLAG_RST)) == + (TCP_FLAG_ACK|TCP_FLAG_RST)) + && (ack == 0)) { + /* + * Broken TCP stacks, that set ACK in RST packets as well + * with zero ack value. + */ + ack = sack = receiver->td_end; + } + + if (seq == end) + /* + * Packets contains no data: we assume it is valid + * and check the ack value only. + */ + seq = end = sender->td_end; + + DEBUGP("tcp_in_window: src=%u.%u.%u.%u:%hu dst=%u.%u.%u.%u:%hu " + "seq=%u ack=%u sack =%u win=%u end=%u trim=%u\n", + NIPQUAD(iph->saddr), ntohs(tcph->source), + NIPQUAD(iph->daddr), ntohs(tcph->dest), + seq, ack, sack, win, end, + after(end, sender->td_maxend) && before(seq, sender->td_maxend) + ? sender->td_maxend : end); + DEBUGP("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i " + "receiver end=%u maxend=%u maxwin=%u scale=%i\n", + sender->td_end, sender->td_maxend, sender->td_maxwin, + sender->td_scale, + receiver->td_end, receiver->td_maxend, receiver->td_maxwin, + receiver->td_scale); + + /* Ignore data over the right edge of the receiver's window. */ + if (after(end, sender->td_maxend) && + before(seq, sender->td_maxend)) { + end = sender->td_maxend; + if (*index == TCP_FIN_SET) + *index = TCP_ACK_SET; + } + DEBUGP("tcp_in_window: I=%i II=%i III=%i IV=%i\n", + before(end, sender->td_maxend + 1) + || before(seq, sender->td_maxend + 1), + after(seq, sender->td_end - receiver->td_maxwin - 1) + || after(end, sender->td_end - receiver->td_maxwin - 1), + before(sack, receiver->td_end + 1), + after(ack, receiver->td_end - MAXACKWINDOW(sender))); + + if (sender->loose || receiver->loose || + (before(end, sender->td_maxend + 1) && + after(seq, sender->td_end - receiver->td_maxwin - 1) && + before(sack, receiver->td_end + 1) && + after(ack, receiver->td_end - MAXACKWINDOW(sender)))) { + /* + * Take into account window scaling (RFC 1323). + */ + if (!tcph->syn) + win <<= sender->td_scale; + + /* + * Update sender data. + */ + swin = win + (sack - ack); + if (sender->td_maxwin < swin) + sender->td_maxwin = swin; + if (after(end, sender->td_end)) + sender->td_end = end; + if (after(sack + win, receiver->td_maxend - 1)) { + receiver->td_maxend = sack + win; + if (win == 0) + receiver->td_maxend++; + } + + /* + * Check retransmissions. + */ + if (*index == TCP_ACK_SET) { + if (state->last_dir == dir + && state->last_seq == seq + && state->last_end == end) + state->retrans++; + else { + state->last_dir = dir; + state->last_seq = seq; + state->last_end = end; + state->retrans = 0; + } + } + /* + * Close the window of disabled window tracking :-) + */ + if (sender->loose) + sender->loose--; + + res = 1; + } else { + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: %s ", + before(end, sender->td_maxend + 1) ? + after(seq, sender->td_end - receiver->td_maxwin - 1) ? + before(ack, receiver->td_end + 1) ? + after(ack, receiver->td_end - MAXACKWINDOW(sender)) ? "BUG" + : "ACK is under the lower bound (possibly overly delayed ACK)" + : "ACK is over the upper bound (ACKed data has never seen yet)" + : "SEQ is under the lower bound (retransmitted already ACKed data)" + : "SEQ is over the upper bound (over the window of the receiver)"); + + res = ip_ct_tcp_be_liberal && !tcph->rst; + } + + DEBUGP("tcp_in_window: res=%i sender end=%u maxend=%u maxwin=%u " + "receiver end=%u maxend=%u maxwin=%u\n", + res, sender->td_end, sender->td_maxend, sender->td_maxwin, + receiver->td_end, receiver->td_maxend, receiver->td_maxwin); + + return res; +} + +#ifdef CONFIG_IP_NF_NAT_NEEDED +/* Update sender->td_end after NAT successfully mangled the packet */ +int ip_conntrack_tcp_update(struct sk_buff *skb, + struct ip_conntrack *conntrack, + int dir) +{ + struct iphdr *iph = skb->nh.iph; + struct tcphdr *tcph = (void *)skb->nh.iph + skb->nh.iph->ihl*4; + __u32 end; +#ifdef DEBUGP_VARS + struct ip_ct_tcp_state *sender = &conntrack->proto.tcp.seen[dir]; + struct ip_ct_tcp_state *receiver = &conntrack->proto.tcp.seen[!dir]; +#endif + + end = segment_seq_plus_len(ntohl(tcph->seq), skb->len, iph, tcph); + + WRITE_LOCK(&tcp_lock); + /* + * We have to worry for the ack in the reply packet only... + */ + if (after(end, conntrack->proto.tcp.seen[dir].td_end)) + conntrack->proto.tcp.seen[dir].td_end = end; + conntrack->proto.tcp.last_end = end; + WRITE_UNLOCK(&tcp_lock); + DEBUGP("tcp_update: sender end=%u maxend=%u maxwin=%u scale=%i " + "receiver end=%u maxend=%u maxwin=%u scale=%i\n", + sender->td_end, sender->td_maxend, sender->td_maxwin, + sender->td_scale, + receiver->td_end, receiver->td_maxend, receiver->td_maxwin, + receiver->td_scale); + + return 1; +} + +EXPORT_SYMBOL(ip_conntrack_tcp_update); +#endif + +#define TH_FIN 0x01 +#define TH_SYN 0x02 +#define TH_RST 0x04 +#define TH_PUSH 0x08 +#define TH_ACK 0x10 +#define TH_URG 0x20 +#define TH_ECE 0x40 +#define TH_CWR 0x80 + +/* table of valid flag combinations - ECE and CWR are always valid */ +static u8 tcp_valid_flags[(TH_FIN|TH_SYN|TH_RST|TH_PUSH|TH_ACK|TH_URG) + 1] = +{ + [TH_SYN] = 1, + [TH_SYN|TH_ACK] = 1, + [TH_RST] = 1, + [TH_RST|TH_ACK] = 1, + [TH_RST|TH_ACK|TH_PUSH] = 1, + [TH_FIN|TH_ACK] = 1, + [TH_ACK] = 1, + [TH_ACK|TH_PUSH] = 1, + [TH_ACK|TH_URG] = 1, + [TH_ACK|TH_URG|TH_PUSH] = 1, + [TH_FIN|TH_ACK|TH_PUSH] = 1, + [TH_FIN|TH_ACK|TH_URG] = 1, + [TH_FIN|TH_ACK|TH_URG|TH_PUSH] = 1, +}; + +/* Protect conntrack agaist broken packets. Code taken from ipt_unclean.c. */ +static int tcp_error(struct sk_buff *skb, + enum ip_conntrack_info *ctinfo, + unsigned int hooknum) +{ + struct iphdr *iph = skb->nh.iph; + struct tcphdr _tcph, *th; + unsigned int tcplen = skb->len - iph->ihl * 4; + u_int8_t tcpflags; + + /* Smaller that minimal TCP header? */ + th = skb_header_pointer(skb, iph->ihl * 4, + sizeof(_tcph), &_tcph); + if (th == NULL) { + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: short packet "); + return -NF_ACCEPT; + } + + /* Not whole TCP header or malformed packet */ + if (th->doff*4 < sizeof(struct tcphdr) || tcplen < th->doff*4) { + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: truncated/malformed packet "); + return -NF_ACCEPT; + } + + /* Checksum invalid? Ignore. + * We skip checking packets on the outgoing path + * because the semantic of CHECKSUM_HW is different there + * and moreover root might send raw packets. + */ + /* FIXME: Source route IP option packets --RR */ + if (hooknum == NF_IP_PRE_ROUTING + && csum_tcpudp_magic(iph->saddr, iph->daddr, tcplen, IPPROTO_TCP, + skb->ip_summed == CHECKSUM_HW ? skb->csum + : skb_checksum(skb, iph->ihl*4, tcplen, 0))) { + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: bad TCP checksum "); + return -NF_ACCEPT; + } + + /* Check TCP flags. */ + tcpflags = (((u_int8_t *)th)[13] & ~(TH_ECE|TH_CWR)); + if (!tcp_valid_flags[tcpflags]) { + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: invalid TCP flag combination "); + return -NF_ACCEPT; + } + + return NF_ACCEPT; } /* Returns verdict for packet, or -1 for invalid. */ @@ -172,103 +828,260 @@ static int tcp_packet(struct ip_conntrack *conntrack, const struct sk_buff *skb, enum ip_conntrack_info ctinfo) { - enum tcp_conntrack newconntrack, oldtcpstate; - struct tcphdr tcph; - - if (skb_copy_bits(skb, skb->nh.iph->ihl * 4, &tcph, sizeof(tcph)) != 0) - return -1; - if (skb->len < skb->nh.iph->ihl * 4 + tcph.doff * 4) - return -1; - - /* If only reply is a RST, we can consider ourselves not to - have an established connection: this is a fairly common - problem case, so we can delete the conntrack - immediately. --RR */ - if (!test_bit(IPS_SEEN_REPLY_BIT, &conntrack->status) && tcph.rst) { - if (del_timer(&conntrack->timeout)) - conntrack->timeout.function((unsigned long)conntrack); + enum tcp_conntrack new_state, old_state; + enum ip_conntrack_dir dir; + struct iphdr *iph = skb->nh.iph; + struct tcphdr *th, _tcph; + unsigned long timeout; + unsigned int index; + + th = skb_header_pointer(skb, iph->ihl * 4, + sizeof(_tcph), &_tcph); + BUG_ON(th == NULL); + + WRITE_LOCK(&tcp_lock); + old_state = conntrack->proto.tcp.state; + dir = CTINFO2DIR(ctinfo); + index = get_conntrack_index(th); + new_state = tcp_conntracks[dir][index][old_state]; + + switch (new_state) { + case TCP_CONNTRACK_IGNORE: + /* Either SYN in ORIGINAL, or SYN/ACK in REPLY direction. */ + if (index == TCP_SYNACK_SET + && conntrack->proto.tcp.last_index == TCP_SYN_SET + && conntrack->proto.tcp.last_dir != dir + && after(ntohl(th->ack_seq), + conntrack->proto.tcp.last_seq)) { + /* This SYN/ACK acknowledges a SYN that we earlier + * ignored as invalid. This means that the client and + * the server are both in sync, while the firewall is + * not. We kill this session and block the SYN/ACK so + * that the client cannot but retransmit its SYN and + * thus initiate a clean new session. + */ + WRITE_UNLOCK(&tcp_lock); + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: killing out of sync session "); + if (del_timer(&conntrack->timeout)) + conntrack->timeout.function((unsigned long) + conntrack); + return -NF_DROP; + } + conntrack->proto.tcp.last_index = index; + conntrack->proto.tcp.last_dir = dir; + conntrack->proto.tcp.last_seq = ntohl(th->seq); + + WRITE_UNLOCK(&tcp_lock); + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: invalid SYN (ignored) "); return NF_ACCEPT; + case TCP_CONNTRACK_MAX: + /* Invalid packet */ + DEBUGP("ip_ct_tcp: Invalid dir=%i index=%u ostate=%u\n", + dir, get_conntrack_index(th), + old_state); + WRITE_UNLOCK(&tcp_lock); + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: invalid state "); + return -NF_ACCEPT; + case TCP_CONNTRACK_SYN_SENT: + if (old_state >= TCP_CONNTRACK_TIME_WAIT) { + /* Attempt to reopen a closed connection. + * Delete this connection and look up again. */ + WRITE_UNLOCK(&tcp_lock); + if (del_timer(&conntrack->timeout)) + conntrack->timeout.function((unsigned long) + conntrack); + return -NF_REPEAT; + } + break; + case TCP_CONNTRACK_CLOSE: + if (index == TCP_RST_SET + && test_bit(IPS_SEEN_REPLY_BIT, &conntrack->status) + && conntrack->proto.tcp.last_index <= TCP_SYNACK_SET + && after(ntohl(th->ack_seq), + conntrack->proto.tcp.last_seq)) { + /* Ignore RST closing down invalid SYN + we had let trough. */ + WRITE_UNLOCK(&tcp_lock); + if (LOG_INVALID(IPPROTO_TCP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_tcp: invalid RST (ignored) "); + return NF_ACCEPT; + } + /* Just fall trough */ + default: + /* Keep compilers happy. */ + break; } - WRITE_LOCK(&tcp_lock); - oldtcpstate = conntrack->proto.tcp.state; - newconntrack - = tcp_conntracks - [CTINFO2DIR(ctinfo)] - [get_conntrack_index(&tcph)][oldtcpstate]; - - /* Invalid */ - if (newconntrack == TCP_CONNTRACK_MAX) { - DEBUGP("ip_conntrack_tcp: Invalid dir=%i index=%u conntrack=%u\n", - CTINFO2DIR(ctinfo), get_conntrack_index(&tcph), - conntrack->proto.tcp.state); + if (!tcp_in_window(&conntrack->proto.tcp, dir, &index, + skb, iph, th)) { WRITE_UNLOCK(&tcp_lock); - return -1; + return -NF_ACCEPT; } + /* From now on we have got in-window packets */ + + /* If FIN was trimmed off, we don't change state. */ + conntrack->proto.tcp.last_index = index; + new_state = tcp_conntracks[dir][index][old_state]; - conntrack->proto.tcp.state = newconntrack; - - /* Poor man's window tracking: record SYN/ACK for handshake check */ - if (oldtcpstate == TCP_CONNTRACK_SYN_SENT - && CTINFO2DIR(ctinfo) == IP_CT_DIR_REPLY - && tcph.syn && tcph.ack) { - conntrack->proto.tcp.handshake_ack - = htonl(ntohl(tcph.seq) + 1); - goto out; - } + DEBUGP("tcp_conntracks: src=%u.%u.%u.%u:%hu dst=%u.%u.%u.%u:%hu " + "syn=%i ack=%i fin=%i rst=%i old=%i new=%i\n", + NIPQUAD(iph->saddr), ntohs(th->source), + NIPQUAD(iph->daddr), ntohs(th->dest), + (th->syn ? 1 : 0), (th->ack ? 1 : 0), + (th->fin ? 1 : 0), (th->rst ? 1 : 0), + old_state, new_state); - /* Set ASSURED if we see valid ack in ESTABLISHED after SYN_RECV */ - if (oldtcpstate == TCP_CONNTRACK_SYN_RECV - && CTINFO2DIR(ctinfo) == IP_CT_DIR_ORIGINAL - && tcph.ack && !tcph.syn - && tcph.ack_seq == conntrack->proto.tcp.handshake_ack) - set_bit(IPS_ASSURED_BIT, &conntrack->status); + conntrack->proto.tcp.state = new_state; + timeout = conntrack->proto.tcp.retrans >= ip_ct_tcp_max_retrans + && *tcp_timeouts[new_state] > ip_ct_tcp_timeout_max_retrans + ? ip_ct_tcp_timeout_max_retrans : *tcp_timeouts[new_state]; + WRITE_UNLOCK(&tcp_lock); -out: WRITE_UNLOCK(&tcp_lock); - ip_ct_refresh_acct(conntrack, ctinfo, skb, *tcp_timeouts[newconntrack]); + if (!test_bit(IPS_SEEN_REPLY_BIT, &conntrack->status)) { + /* If only reply is a RST, we can consider ourselves not to + have an established connection: this is a fairly common + problem case, so we can delete the conntrack + immediately. --RR */ + if (th->rst) { + if (del_timer(&conntrack->timeout)) + conntrack->timeout.function((unsigned long) + conntrack); + return NF_ACCEPT; + } + } else if (!test_bit(IPS_ASSURED_BIT, &conntrack->status) + && (old_state == TCP_CONNTRACK_SYN_RECV + || old_state == TCP_CONNTRACK_ESTABLISHED) + && new_state == TCP_CONNTRACK_ESTABLISHED) { + /* Set ASSURED if we see see valid ack in ESTABLISHED + after SYN_RECV or a valid answer for a picked up + connection. */ + set_bit(IPS_ASSURED_BIT, &conntrack->status); + } + ip_ct_refresh_acct(conntrack, ctinfo, skb, timeout); return NF_ACCEPT; } - -/* Called when a new connection for this protocol found. */ -static int tcp_new(struct ip_conntrack *conntrack, const struct sk_buff *skb) + + /* Called when a new connection for this protocol found. */ +static int tcp_new(struct ip_conntrack *conntrack, + const struct sk_buff *skb) { - enum tcp_conntrack newconntrack; - struct tcphdr tcph; - - if (skb_copy_bits(skb, skb->nh.iph->ihl * 4, &tcph, sizeof(tcph)) != 0) - return -1; + enum tcp_conntrack new_state; + struct iphdr *iph = skb->nh.iph; + struct tcphdr *th, _tcph; +#ifdef DEBUGP_VARS + struct ip_ct_tcp_state *sender = &conntrack->proto.tcp.seen[0]; + struct ip_ct_tcp_state *receiver = &conntrack->proto.tcp.seen[1]; +#endif + th = skb_header_pointer(skb, iph->ihl * 4, + sizeof(_tcph), &_tcph); + BUG_ON(th == NULL); + /* Don't need lock here: this conntrack not in circulation yet */ - newconntrack - = tcp_conntracks[0][get_conntrack_index(&tcph)] + new_state + = tcp_conntracks[0][get_conntrack_index(th)] [TCP_CONNTRACK_NONE]; /* Invalid: delete conntrack */ - if (newconntrack == TCP_CONNTRACK_MAX) { - DEBUGP("ip_conntrack_tcp: invalid new deleting.\n"); + if (new_state >= TCP_CONNTRACK_MAX) { + DEBUGP("ip_ct_tcp: invalid new deleting.\n"); + return 0; + } + + if (new_state == TCP_CONNTRACK_SYN_SENT) { + /* SYN packet */ + conntrack->proto.tcp.seen[0].td_end = + segment_seq_plus_len(ntohl(th->seq), skb->len, + iph, th); + conntrack->proto.tcp.seen[0].td_maxwin = ntohs(th->window); + if (conntrack->proto.tcp.seen[0].td_maxwin == 0) + conntrack->proto.tcp.seen[0].td_maxwin = 1; + conntrack->proto.tcp.seen[0].td_maxend = + conntrack->proto.tcp.seen[0].td_end; + + tcp_options(skb, iph, th, &conntrack->proto.tcp.seen[0]); + conntrack->proto.tcp.seen[1].flags = 0; + conntrack->proto.tcp.seen[0].loose = + conntrack->proto.tcp.seen[1].loose = 0; + } else if (ip_ct_tcp_loose == 0) { + /* Don't try to pick up connections. */ return 0; + } else { + /* + * We are in the middle of a connection, + * its history is lost for us. + * Let's try to use the data from the packet. + */ + conntrack->proto.tcp.seen[0].td_end = + segment_seq_plus_len(ntohl(th->seq), skb->len, + iph, th); + conntrack->proto.tcp.seen[0].td_maxwin = ntohs(th->window); + if (conntrack->proto.tcp.seen[0].td_maxwin == 0) + conntrack->proto.tcp.seen[0].td_maxwin = 1; + conntrack->proto.tcp.seen[0].td_maxend = + conntrack->proto.tcp.seen[0].td_end + + conntrack->proto.tcp.seen[0].td_maxwin; + conntrack->proto.tcp.seen[0].td_scale = 0; + + /* We assume SACK. Should we assume window scaling too? */ + conntrack->proto.tcp.seen[0].flags = + conntrack->proto.tcp.seen[1].flags = IP_CT_TCP_FLAG_SACK_PERM; + conntrack->proto.tcp.seen[0].loose = + conntrack->proto.tcp.seen[1].loose = ip_ct_tcp_loose; } + + conntrack->proto.tcp.seen[1].td_end = 0; + conntrack->proto.tcp.seen[1].td_maxend = 0; + conntrack->proto.tcp.seen[1].td_maxwin = 1; + conntrack->proto.tcp.seen[1].td_scale = 0; - conntrack->proto.tcp.state = newconntrack; + /* tcp_packet will set them */ + conntrack->proto.tcp.state = TCP_CONNTRACK_NONE; + conntrack->proto.tcp.last_index = TCP_NONE_SET; + + DEBUGP("tcp_new: sender end=%u maxend=%u maxwin=%u scale=%i " + "receiver end=%u maxend=%u maxwin=%u scale=%i\n", + sender->td_end, sender->td_maxend, sender->td_maxwin, + sender->td_scale, + receiver->td_end, receiver->td_maxend, receiver->td_maxwin, + receiver->td_scale); return 1; } - + static int tcp_exp_matches_pkt(struct ip_conntrack_expect *exp, const struct sk_buff *skb) { const struct iphdr *iph = skb->nh.iph; - struct tcphdr tcph; + struct tcphdr *th, _tcph; unsigned int datalen; - if (skb_copy_bits(skb, skb->nh.iph->ihl * 4, &tcph, sizeof(tcph)) != 0) + th = skb_header_pointer(skb, iph->ihl * 4, + sizeof(_tcph), &_tcph); + if (th == NULL) return 0; - datalen = skb->len - iph->ihl*4 - tcph.doff*4; + datalen = skb->len - iph->ihl*4 - th->doff*4; - return between(exp->seq, ntohl(tcph.seq), ntohl(tcph.seq) + datalen); + return between(exp->seq, ntohl(th->seq), ntohl(th->seq) + datalen); } -struct ip_conntrack_protocol ip_conntrack_protocol_tcp -= { { NULL, NULL }, IPPROTO_TCP, "tcp", - tcp_pkt_to_tuple, tcp_invert_tuple, tcp_print_tuple, tcp_print_conntrack, - tcp_packet, tcp_new, NULL, tcp_exp_matches_pkt, NULL }; +struct ip_conntrack_protocol ip_conntrack_protocol_tcp = +{ + .proto = IPPROTO_TCP, + .name = "tcp", + .pkt_to_tuple = tcp_pkt_to_tuple, + .invert_tuple = tcp_invert_tuple, + .print_tuple = tcp_print_tuple, + .print_conntrack = tcp_print_conntrack, + .packet = tcp_packet, + .new = tcp_new, + .exp_matches_pkt = tcp_exp_matches_pkt, + .error = tcp_error, +}; diff --git a/net/ipv4/netfilter/ip_conntrack_proto_udp.c b/net/ipv4/netfilter/ip_conntrack_proto_udp.c index a69e14b5c..5bc28a224 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_udp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_udp.c @@ -12,6 +12,10 @@ #include #include #include +#include +#include +#include +#include #include unsigned long ip_ct_udp_timeout = 30*HZ; @@ -21,14 +25,15 @@ static int udp_pkt_to_tuple(const struct sk_buff *skb, unsigned int dataoff, struct ip_conntrack_tuple *tuple) { - struct udphdr hdr; + struct udphdr _hdr, *hp; /* Actually only need first 8 bytes. */ - if (skb_copy_bits(skb, dataoff, &hdr, 8) != 0) + hp = skb_header_pointer(skb, dataoff, sizeof(_hdr), &_hdr); + if (hp == NULL) return 0; - tuple->src.u.udp.port = hdr.source; - tuple->dst.u.udp.port = hdr.dest; + tuple->src.u.udp.port = hp->source; + tuple->dst.u.udp.port = hp->dest; return 1; } @@ -42,17 +47,17 @@ static int udp_invert_tuple(struct ip_conntrack_tuple *tuple, } /* Print out the per-protocol part of the tuple. */ -static unsigned int udp_print_tuple(char *buffer, - const struct ip_conntrack_tuple *tuple) +static int udp_print_tuple(struct seq_file *s, + const struct ip_conntrack_tuple *tuple) { - return sprintf(buffer, "sport=%hu dport=%hu ", - ntohs(tuple->src.u.udp.port), - ntohs(tuple->dst.u.udp.port)); + return seq_printf(s, "sport=%hu dport=%hu ", + ntohs(tuple->src.u.udp.port), + ntohs(tuple->dst.u.udp.port)); } /* Print out the private part of the conntrack. */ -static unsigned int udp_print_conntrack(char *buffer, - const struct ip_conntrack *conntrack) +static int udp_print_conntrack(struct seq_file *s, + const struct ip_conntrack *conntrack) { return 0; } @@ -81,7 +86,61 @@ static int udp_new(struct ip_conntrack *conntrack, const struct sk_buff *skb) return 1; } -struct ip_conntrack_protocol ip_conntrack_protocol_udp -= { { NULL, NULL }, IPPROTO_UDP, "udp", - udp_pkt_to_tuple, udp_invert_tuple, udp_print_tuple, udp_print_conntrack, - udp_packet, udp_new, NULL, NULL, NULL }; +static int udp_error(struct sk_buff *skb, enum ip_conntrack_info *ctinfo, + unsigned int hooknum) +{ + struct iphdr *iph = skb->nh.iph; + unsigned int udplen = skb->len - iph->ihl * 4; + struct udphdr _hdr, *hdr; + + /* Header is too small? */ + hdr = skb_header_pointer(skb, iph->ihl*4, sizeof(_hdr), &_hdr); + if (hdr == NULL) { + if (LOG_INVALID(IPPROTO_UDP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_udp: short packet "); + return -NF_ACCEPT; + } + + /* Truncated/malformed packets */ + if (ntohs(hdr->len) > udplen || ntohs(hdr->len) < sizeof(*hdr)) { + if (LOG_INVALID(IPPROTO_UDP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_udp: truncated/malformed packet "); + return -NF_ACCEPT; + } + + /* Packet with no checksum */ + if (!hdr->check) + return NF_ACCEPT; + + /* Checksum invalid? Ignore. + * We skip checking packets on the outgoing path + * because the semantic of CHECKSUM_HW is different there + * and moreover root might send raw packets. + * FIXME: Source route IP option packets --RR */ + if (hooknum == NF_IP_PRE_ROUTING + && csum_tcpudp_magic(iph->saddr, iph->daddr, udplen, IPPROTO_UDP, + skb->ip_summed == CHECKSUM_HW ? skb->csum + : skb_checksum(skb, iph->ihl*4, udplen, 0))) { + if (LOG_INVALID(IPPROTO_UDP)) + nf_log_packet(PF_INET, 0, skb, NULL, NULL, + "ip_ct_udp: bad UDP checksum "); + return -NF_ACCEPT; + } + + return NF_ACCEPT; +} + +struct ip_conntrack_protocol ip_conntrack_protocol_udp = +{ + .proto = IPPROTO_UDP, + .name = "udp", + .pkt_to_tuple = udp_pkt_to_tuple, + .invert_tuple = udp_invert_tuple, + .print_tuple = udp_print_tuple, + .print_conntrack = udp_print_conntrack, + .packet = udp_packet, + .new = udp_new, + .error = udp_error, +}; diff --git a/net/ipv4/netfilter/ip_conntrack_standalone.c b/net/ipv4/netfilter/ip_conntrack_standalone.c index 76c827dcb..c561a01b9 100644 --- a/net/ipv4/netfilter/ip_conntrack_standalone.c +++ b/net/ipv4/netfilter/ip_conntrack_standalone.c @@ -20,6 +20,8 @@ #include #include #include +#include +#include #ifdef CONFIG_SYSCTL #include #endif @@ -43,165 +45,322 @@ MODULE_LICENSE("GPL"); +extern atomic_t ip_conntrack_count; +DECLARE_PER_CPU(struct ip_conntrack_stat, ip_conntrack_stat); + static int kill_proto(const struct ip_conntrack *i, void *data) { return (i->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum == *((u_int8_t *) data)); } -static unsigned int -print_tuple(char *buffer, const struct ip_conntrack_tuple *tuple, +#ifdef CONFIG_PROC_FS +static int +print_tuple(struct seq_file *s, const struct ip_conntrack_tuple *tuple, struct ip_conntrack_protocol *proto) { - int len; - - len = sprintf(buffer, "src=%u.%u.%u.%u dst=%u.%u.%u.%u ", - NIPQUAD(tuple->src.ip), NIPQUAD(tuple->dst.ip)); - - len += proto->print_tuple(buffer + len, tuple); - - return len; -} - -/* FIXME: Don't print source proto part. --RR */ -static unsigned int -print_expect(char *buffer, const struct ip_conntrack_expect *expect) -{ - unsigned int len; - - if (expect->expectant->helper->timeout) - len = sprintf(buffer, "EXPECTING: %lu ", - timer_pending(&expect->timeout) - ? (expect->timeout.expires - jiffies)/HZ : 0); - else - len = sprintf(buffer, "EXPECTING: - "); - len += sprintf(buffer + len, "use=%u proto=%u ", - atomic_read(&expect->use), expect->tuple.dst.protonum); - len += print_tuple(buffer + len, &expect->tuple, - __ip_ct_find_proto(expect->tuple.dst.protonum)); - len += sprintf(buffer + len, "\n"); - return len; + seq_printf(s, "src=%u.%u.%u.%u dst=%u.%u.%u.%u ", + NIPQUAD(tuple->src.ip), NIPQUAD(tuple->dst.ip)); + return proto->print_tuple(s, tuple); } #ifdef CONFIG_IP_NF_CT_ACCT static unsigned int -print_counters(char *buffer, struct ip_conntrack_counter *counter) +seq_print_counters(struct seq_file *s, struct ip_conntrack_counter *counter) { - return sprintf(buffer, "packets=%llu bytes=%llu ", - counter->packets, counter->bytes); + return seq_printf(s, "packets=%llu bytes=%llu ", + (unsigned long long)counter->packets, + (unsigned long long)counter->bytes); } #else -#define print_counters(x, y) 0 +#define seq_print_counters(x, y) 0 #endif -static unsigned int -print_conntrack(char *buffer, struct ip_conntrack *conntrack) +static void *ct_seq_start(struct seq_file *s, loff_t *pos) +{ + if (*pos >= ip_conntrack_htable_size) + return NULL; + return &ip_conntrack_hash[*pos]; +} + +static void ct_seq_stop(struct seq_file *s, void *v) { - unsigned int len; - struct ip_conntrack_protocol *proto - = __ip_ct_find_proto(conntrack->tuplehash[IP_CT_DIR_ORIGINAL] - .tuple.dst.protonum); - - len = sprintf(buffer, "%-8s %u %lu ", - proto->name, - conntrack->tuplehash[IP_CT_DIR_ORIGINAL] - .tuple.dst.protonum, - timer_pending(&conntrack->timeout) - ? (conntrack->timeout.expires - jiffies)/HZ : 0); - - len += proto->print_conntrack(buffer + len, conntrack); - len += print_tuple(buffer + len, - &conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple, - proto); - len += sprintf(buffer + len, "xid=%d ", conntrack->xid[IP_CT_DIR_ORIGINAL]); - len += print_counters(buffer + len, - &conntrack->counters[IP_CT_DIR_ORIGINAL]); - if (!(test_bit(IPS_SEEN_REPLY_BIT, &conntrack->status))) - len += sprintf(buffer + len, "[UNREPLIED] "); - len += print_tuple(buffer + len, - &conntrack->tuplehash[IP_CT_DIR_REPLY].tuple, - proto); - len += sprintf(buffer + len, "xid=%d ", conntrack->xid[IP_CT_DIR_REPLY]); - len += print_counters(buffer + len, - &conntrack->counters[IP_CT_DIR_REPLY]); - if (test_bit(IPS_ASSURED_BIT, &conntrack->status)) - len += sprintf(buffer + len, "[ASSURED] "); - len += sprintf(buffer + len, "use=%u ", - atomic_read(&conntrack->ct_general.use)); - len += sprintf(buffer + len, "\n"); - - return len; } -/* Returns true when finished. */ -static inline int -conntrack_iterate(const struct ip_conntrack_tuple_hash *hash, - char *buffer, off_t offset, off_t *upto, - unsigned int *len, unsigned int maxlen) +static void *ct_seq_next(struct seq_file *s, void *v, loff_t *pos) +{ + (*pos)++; + if (*pos >= ip_conntrack_htable_size) + return NULL; + return &ip_conntrack_hash[*pos]; +} + +/* return 0 on success, 1 in case of error */ +static int ct_seq_real_show(const struct ip_conntrack_tuple_hash *hash, + struct seq_file *s) { - unsigned int newlen; - IP_NF_ASSERT(hash->ctrack); + struct ip_conntrack *conntrack = hash->ctrack; + struct ip_conntrack_protocol *proto; MUST_BE_READ_LOCKED(&ip_conntrack_lock); - /* Only count originals */ + IP_NF_ASSERT(conntrack); + + /* we only want to print DIR_ORIGINAL */ if (DIRECTION(hash)) return 0; - if ((*upto)++ < offset) - return 0; + proto = ip_ct_find_proto(conntrack->tuplehash[IP_CT_DIR_ORIGINAL] + .tuple.dst.protonum); + IP_NF_ASSERT(proto); + + if (seq_printf(s, "%-8s %u %lu ", + proto->name, + conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum, + timer_pending(&conntrack->timeout) + ? (conntrack->timeout.expires - jiffies)/HZ : 0) != 0) + return 1; + + if (proto->print_conntrack(s, conntrack)) + return 1; + + if (print_tuple(s, &conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple, + proto)) + return 1; + +#warning MEF should make this seq_printf conditional on xid support + if (seq_printf(s, "xid=%d\n", conntrack->xid[IP_CT_DIR_ORIGINAL])) + return 1; + + if (seq_print_counters(s, &conntrack->counters[IP_CT_DIR_ORIGINAL])) + return 1; + + if (!(test_bit(IPS_SEEN_REPLY_BIT, &conntrack->status))) + if (seq_printf(s, "[UNREPLIED] ")) + return 1; + + if (print_tuple(s, &conntrack->tuplehash[IP_CT_DIR_REPLY].tuple, + proto)) + return 1; + +#warning MEF should make this seq_printf conditional on xid support + if (seq_printf(s, "xid=%d\n", conntrack->xid[IP_CT_DIR_REPLY])) + return 1; - newlen = print_conntrack(buffer + *len, hash->ctrack); - if (*len + newlen > maxlen) + if (seq_print_counters(s, &conntrack->counters[IP_CT_DIR_REPLY])) + return 1; + + if (test_bit(IPS_ASSURED_BIT, &conntrack->status)) + if (seq_printf(s, "[ASSURED] ")) + return 1; + + if (seq_printf(s, "use=%u\n", atomic_read(&conntrack->ct_general.use))) return 1; - else *len += newlen; return 0; } -static int -list_conntracks(char *buffer, char **start, off_t offset, int length) +static int ct_seq_show(struct seq_file *s, void *v) { - unsigned int i; - unsigned int len = 0; - off_t upto = 0; - struct list_head *e; + struct list_head *list = v; + int ret = 0; + /* FIXME: Simply truncates if hash chain too long. */ READ_LOCK(&ip_conntrack_lock); - /* Traverse hash; print originals then reply. */ - for (i = 0; i < ip_conntrack_htable_size; i++) { - if (LIST_FIND(&ip_conntrack_hash[i], conntrack_iterate, - struct ip_conntrack_tuple_hash *, - buffer, offset, &upto, &len, length)) - goto finished; - } + if (LIST_FIND(list, ct_seq_real_show, + struct ip_conntrack_tuple_hash *, s)) + ret = -ENOSPC; + READ_UNLOCK(&ip_conntrack_lock); + return ret; +} + +static struct seq_operations ct_seq_ops = { + .start = ct_seq_start, + .next = ct_seq_next, + .stop = ct_seq_stop, + .show = ct_seq_show +}; + +static int ct_open(struct inode *inode, struct file *file) +{ + return seq_open(file, &ct_seq_ops); +} + +static struct file_operations ct_file_ops = { + .owner = THIS_MODULE, + .open = ct_open, + .read = seq_read, + .llseek = seq_lseek, + .release = seq_release +}; + +/* expects */ +static void *exp_seq_start(struct seq_file *s, loff_t *pos) +{ + struct list_head *e = &ip_conntrack_expect_list; + loff_t i; - /* Now iterate through expecteds. */ + /* strange seq_file api calls stop even if we fail, + * thus we need to grab lock since stop unlocks */ + READ_LOCK(&ip_conntrack_lock); READ_LOCK(&ip_conntrack_expect_tuple_lock); - list_for_each(e, &ip_conntrack_expect_list) { - unsigned int last_len; - struct ip_conntrack_expect *expect - = (struct ip_conntrack_expect *)e; - if (upto++ < offset) continue; - - last_len = len; - len += print_expect(buffer + len, expect); - if (len > length) { - len = last_len; - goto finished_expects; - } + + if (list_empty(e)) + return NULL; + + for (i = 0; i <= *pos; i++) { + e = e->next; + if (e == &ip_conntrack_expect_list) + return NULL; } + return e; +} + +static void *exp_seq_next(struct seq_file *s, void *v, loff_t *pos) +{ + struct list_head *e = v; + + e = e->next; + + if (e == &ip_conntrack_expect_list) + return NULL; - finished_expects: + return e; +} + +static void exp_seq_stop(struct seq_file *s, void *v) +{ READ_UNLOCK(&ip_conntrack_expect_tuple_lock); - finished: READ_UNLOCK(&ip_conntrack_lock); +} + +static int exp_seq_show(struct seq_file *s, void *v) +{ + struct ip_conntrack_expect *expect = v; + + if (expect->expectant->helper->timeout) + seq_printf(s, "%lu ", timer_pending(&expect->timeout) + ? (expect->timeout.expires - jiffies)/HZ : 0); + else + seq_printf(s, "- "); + + seq_printf(s, "use=%u proto=%u ", atomic_read(&expect->use), + expect->tuple.dst.protonum); - /* `start' hack - see fs/proc/generic.c line ~165 */ - *start = (char *)((unsigned int)upto - offset); - return len; + print_tuple(s, &expect->tuple, + ip_ct_find_proto(expect->tuple.dst.protonum)); + return seq_putc(s, '\n'); } +static struct seq_operations exp_seq_ops = { + .start = exp_seq_start, + .next = exp_seq_next, + .stop = exp_seq_stop, + .show = exp_seq_show +}; + +static int exp_open(struct inode *inode, struct file *file) +{ + return seq_open(file, &exp_seq_ops); +} + +static struct file_operations exp_file_ops = { + .owner = THIS_MODULE, + .open = exp_open, + .read = seq_read, + .llseek = seq_lseek, + .release = seq_release +}; + +static void *ct_cpu_seq_start(struct seq_file *seq, loff_t *pos) +{ + int cpu; + + if (*pos == 0) + return SEQ_START_TOKEN; + + for (cpu = *pos-1; cpu < NR_CPUS; ++cpu) { + if (!cpu_possible(cpu)) + continue; + *pos = cpu+1; + return &per_cpu(ip_conntrack_stat, cpu); + } + + return NULL; +} + +static void *ct_cpu_seq_next(struct seq_file *seq, void *v, loff_t *pos) +{ + int cpu; + + for (cpu = *pos; cpu < NR_CPUS; ++cpu) { + if (!cpu_possible(cpu)) + continue; + *pos = cpu+1; + return &per_cpu(ip_conntrack_stat, cpu); + } + + return NULL; +} + +static void ct_cpu_seq_stop(struct seq_file *seq, void *v) +{ +} + +static int ct_cpu_seq_show(struct seq_file *seq, void *v) +{ + unsigned int nr_conntracks = atomic_read(&ip_conntrack_count); + struct ip_conntrack_stat *st = v; + + if (v == SEQ_START_TOKEN) { + seq_printf(seq, "entries searched found new invalid ignore delete delete_list insert insert_failed drop early_drop icmp_error expect_new expect_create expect_delete\n"); + return 0; + } + + seq_printf(seq, "%08x %08x %08x %08x %08x %08x %08x %08x " + "%08x %08x %08x %08x %08x %08x %08x %08x \n", + nr_conntracks, + st->searched, + st->found, + st->new, + st->invalid, + st->ignore, + st->delete, + st->delete_list, + st->insert, + st->insert_failed, + st->drop, + st->early_drop, + st->error, + + st->expect_new, + st->expect_create, + st->expect_delete + ); + return 0; +} + +static struct seq_operations ct_cpu_seq_ops = { + .start = ct_cpu_seq_start, + .next = ct_cpu_seq_next, + .stop = ct_cpu_seq_stop, + .show = ct_cpu_seq_show, +}; + +static int ct_cpu_seq_open(struct inode *inode, struct file *file) +{ + return seq_open(file, &ct_cpu_seq_ops); +} + +static struct file_operations ct_cpu_seq_fops = { + .owner = THIS_MODULE, + .open = ct_cpu_seq_open, + .read = seq_read, + .llseek = seq_lseek, + .release = seq_release_private, +}; +#endif + static unsigned int ip_confirm(unsigned int hooknum, struct sk_buff **pskb, const struct net_device *in, @@ -340,6 +499,10 @@ extern unsigned long ip_ct_tcp_timeout_close_wait; extern unsigned long ip_ct_tcp_timeout_last_ack; extern unsigned long ip_ct_tcp_timeout_time_wait; extern unsigned long ip_ct_tcp_timeout_close; +extern unsigned long ip_ct_tcp_timeout_max_retrans; +extern int ip_ct_tcp_loose; +extern int ip_ct_tcp_be_liberal; +extern int ip_ct_tcp_max_retrans; /* From ip_conntrack_proto_udp.c */ extern unsigned long ip_ct_udp_timeout; @@ -351,6 +514,10 @@ extern unsigned long ip_ct_icmp_timeout; /* From ip_conntrack_proto_icmp.c */ extern unsigned long ip_ct_generic_timeout; +/* Log invalid packets of a given protocol */ +static int log_invalid_proto_min = 0; +static int log_invalid_proto_max = 255; + static struct ctl_table_header *ip_ct_sysctl_header; static ctl_table ip_ct_sysctl_table[] = { @@ -362,6 +529,14 @@ static ctl_table ip_ct_sysctl_table[] = { .mode = 0644, .proc_handler = &proc_dointvec, }, + { + .ctl_name = NET_IPV4_NF_CONNTRACK_COUNT, + .procname = "ip_conntrack_count", + .data = &ip_conntrack_count, + .maxlen = sizeof(int), + .mode = 0444, + .proc_handler = &proc_dointvec, + }, { .ctl_name = NET_IPV4_NF_CONNTRACK_BUCKETS, .procname = "ip_conntrack_buckets", @@ -466,6 +641,49 @@ static ctl_table ip_ct_sysctl_table[] = { .mode = 0644, .proc_handler = &proc_dointvec_jiffies, }, + { + .ctl_name = NET_IPV4_NF_CONNTRACK_LOG_INVALID, + .procname = "ip_conntrack_log_invalid", + .data = &ip_ct_log_invalid, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = &proc_dointvec_minmax, + .strategy = &sysctl_intvec, + .extra1 = &log_invalid_proto_min, + .extra2 = &log_invalid_proto_max, + }, + { + .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS, + .procname = "ip_conntrack_tcp_timeout_max_retrans", + .data = &ip_ct_tcp_timeout_max_retrans, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = &proc_dointvec_jiffies, + }, + { + .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_LOOSE, + .procname = "ip_conntrack_tcp_loose", + .data = &ip_ct_tcp_loose, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, + { + .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL, + .procname = "ip_conntrack_tcp_be_liberal", + .data = &ip_ct_tcp_be_liberal, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, + { + .ctl_name = NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS, + .procname = "ip_conntrack_tcp_max_retrans", + .data = &ip_ct_tcp_max_retrans, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = &proc_dointvec, + }, { .ctl_name = 0 } }; @@ -508,10 +726,15 @@ static ctl_table ip_ct_net_table[] = { }, { .ctl_name = 0 } }; -#endif + +EXPORT_SYMBOL(ip_ct_log_invalid); +#endif /* CONFIG_SYSCTL */ + static int init_or_cleanup(int init) { - struct proc_dir_entry *proc; +#ifdef CONFIG_PROC_FS + struct proc_dir_entry *proc, *proc_exp, *proc_stat; +#endif int ret = 0; if (!init) goto cleanup; @@ -520,14 +743,26 @@ static int init_or_cleanup(int init) if (ret < 0) goto cleanup_nothing; - proc = proc_net_create("ip_conntrack", 0440, list_conntracks); +#ifdef CONFIG_PROC_FS + proc = proc_net_fops_create("ip_conntrack", 0440, &ct_file_ops); if (!proc) goto cleanup_init; - proc->owner = THIS_MODULE; + + proc_exp = proc_net_fops_create("ip_conntrack_expect", 0440, + &exp_file_ops); + if (!proc_exp) goto cleanup_proc; + + proc_stat = create_proc_entry("ip_conntrack", S_IRUGO, proc_net_stat); + if (!proc_stat) + goto cleanup_proc_exp; + + proc_stat->proc_fops = &ct_cpu_seq_fops; + proc_stat->owner = THIS_MODULE; +#endif ret = nf_register_hook(&ip_conntrack_defrag_ops); if (ret < 0) { printk("ip_conntrack: can't register pre-routing defrag hook.\n"); - goto cleanup_proc; + goto cleanup_proc_stat; } ret = nf_register_hook(&ip_conntrack_defrag_local_out_ops); if (ret < 0) { @@ -578,10 +813,22 @@ static int init_or_cleanup(int init) cleanup_defraglocalops: nf_unregister_hook(&ip_conntrack_defrag_local_out_ops); cleanup_defragops: + /* Frag queues may hold fragments with skb->dst == NULL */ + ip_ct_no_defrag = 1; + synchronize_net(); + local_bh_disable(); + ipfrag_flush(); + local_bh_enable(); nf_unregister_hook(&ip_conntrack_defrag_ops); + cleanup_proc_stat: +#ifdef CONFIG_PROC_FS + proc_net_remove("ip_conntrack_stat"); +cleanup_proc_exp: + proc_net_remove("ip_conntrack_expect"); cleanup_proc: proc_net_remove("ip_conntrack"); cleanup_init: +#endif /* CONFIG_PROC_FS */ ip_conntrack_cleanup(); cleanup_nothing: return ret; @@ -592,19 +839,13 @@ static int init_or_cleanup(int init) int ip_conntrack_protocol_register(struct ip_conntrack_protocol *proto) { int ret = 0; - struct list_head *i; WRITE_LOCK(&ip_conntrack_lock); - list_for_each(i, &protocol_list) { - if (((struct ip_conntrack_protocol *)i)->proto - == proto->proto) { - ret = -EBUSY; - goto out; - } + if (ip_ct_protos[proto->proto] != &ip_conntrack_generic_protocol) { + ret = -EBUSY; + goto out; } - - list_prepend(&protocol_list, proto); - + ip_ct_protos[proto->proto] = proto; out: WRITE_UNLOCK(&ip_conntrack_lock); return ret; @@ -613,10 +854,7 @@ int ip_conntrack_protocol_register(struct ip_conntrack_protocol *proto) void ip_conntrack_protocol_unregister(struct ip_conntrack_protocol *proto) { WRITE_LOCK(&ip_conntrack_lock); - - /* ip_ct_find_proto() returns proto_generic in case there is no protocol - * helper. So this should be enough - HW */ - LIST_DELETE(&protocol_list, proto); + ip_ct_protos[proto->proto] = &ip_conntrack_generic_protocol; WRITE_UNLOCK(&ip_conntrack_lock); /* Somebody could be still looking at the proto in bh. */ @@ -650,14 +888,13 @@ EXPORT_SYMBOL(ip_conntrack_protocol_unregister); EXPORT_SYMBOL(invert_tuplepr); EXPORT_SYMBOL(ip_conntrack_alter_reply); EXPORT_SYMBOL(ip_conntrack_destroyed); -EXPORT_SYMBOL(ip_conntrack_get); EXPORT_SYMBOL(need_ip_conntrack); EXPORT_SYMBOL(ip_conntrack_helper_register); EXPORT_SYMBOL(ip_conntrack_helper_unregister); EXPORT_SYMBOL(ip_ct_selective_cleanup); EXPORT_SYMBOL(ip_ct_refresh_acct); +EXPORT_SYMBOL(ip_ct_protos); EXPORT_SYMBOL(ip_ct_find_proto); -EXPORT_SYMBOL(__ip_ct_find_proto); EXPORT_SYMBOL(ip_ct_find_helper); EXPORT_SYMBOL(ip_conntrack_expect_alloc); EXPORT_SYMBOL(ip_conntrack_expect_related); diff --git a/net/ipv4/netfilter/ip_fw_compat_masq.c b/net/ipv4/netfilter/ip_fw_compat_masq.c index fbd8b9bfe..07fc794c1 100644 --- a/net/ipv4/netfilter/ip_fw_compat_masq.c +++ b/net/ipv4/netfilter/ip_fw_compat_masq.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -144,7 +145,8 @@ check_for_demasq(struct sk_buff **pskb) switch ((*pskb)->nh.iph->protocol) { case IPPROTO_ICMP: /* ICMP errors. */ - ct = icmp_error_track(*pskb, &ctinfo, NF_IP_PRE_ROUTING); + protocol->error(*pskb, &ctinfo, NF_IP_PRE_ROUTING); + ct = (struct ip_conntrack *)(*pskb)->nfct; if (ct) { /* We only do SNAT in the compatibility layer. So we can manipulate ICMP errors from @@ -165,7 +167,8 @@ check_for_demasq(struct sk_buff **pskb) case IPPROTO_UDP: IP_NF_ASSERT(((*pskb)->nh.iph->frag_off & htons(IP_OFFSET)) == 0); - if (!get_tuple((*pskb)->nh.iph, *pskb, (*pskb)->nh.iph->ihl*4, &tuple, protocol)) { + if (!ip_ct_get_tuple((*pskb)->nh.iph, *pskb, + (*pskb)->nh.iph->ihl*4, &tuple, protocol)) { if (net_ratelimit()) printk("ip_fw_compat_masq: Can't get tuple\n"); return NF_ACCEPT; @@ -184,7 +187,7 @@ check_for_demasq(struct sk_buff **pskb) NULL, NULL, NULL); /* Put back the reference gained from find_get */ - nf_conntrack_put(&h->ctrack->infos[0]); + nf_conntrack_put(&h->ctrack->ct_general); if (ret == NF_ACCEPT) { struct ip_conntrack *ct; ct = ip_conntrack_get(*pskb, &ctinfo); @@ -203,7 +206,7 @@ check_for_demasq(struct sk_buff **pskb) } else { if (h) /* Put back the reference gained from find_get */ - nf_conntrack_put(&h->ctrack->infos[0]); + nf_conntrack_put(&h->ctrack->ct_general); ret = NF_ACCEPT; } diff --git a/net/ipv4/netfilter/ip_nat_core.c b/net/ipv4/netfilter/ip_nat_core.c index 130b01c18..26096038f 100644 --- a/net/ipv4/netfilter/ip_nat_core.c +++ b/net/ipv4/netfilter/ip_nat_core.c @@ -48,10 +48,8 @@ static unsigned int ip_nat_htable_size; static struct list_head *bysource; static struct list_head *byipsproto; -LIST_HEAD(protos); -LIST_HEAD(helpers); +struct ip_nat_protocol *ip_nat_protos[MAX_IP_NAT_PROTO]; -extern struct ip_nat_protocol unknown_nat_protocol; /* We keep extra hashes for each conntrack, for fast searching. */ static inline size_t @@ -78,9 +76,6 @@ static void ip_nat_cleanup_conntrack(struct ip_conntrack *conn) if (!info->initialized) return; - IP_NF_ASSERT(info->bysource.conntrack); - IP_NF_ASSERT(info->byipsproto.conntrack); - hs = hash_by_src(&conn->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src, conn->tuplehash[IP_CT_DIR_ORIGINAL] .tuple.dst.protonum); @@ -91,8 +86,8 @@ static void ip_nat_cleanup_conntrack(struct ip_conntrack *conn) .tuple.dst.protonum); WRITE_LOCK(&ip_nat_lock); - LIST_DELETE(&bysource[hs], &info->bysource); - LIST_DELETE(&byipsproto[hp], &info->byipsproto); + list_del(&info->bysource); + list_del(&info->byipsproto); WRITE_UNLOCK(&ip_nat_lock); } @@ -107,23 +102,6 @@ ip_nat_cheat_check(u_int32_t oldvalinv, u_int32_t newval, u_int16_t oldcheck) oldcheck^0xFFFF)); } -static inline int cmp_proto(const struct ip_nat_protocol *i, int proto) -{ - return i->protonum == proto; -} - -struct ip_nat_protocol * -find_nat_proto(u_int16_t protonum) -{ - struct ip_nat_protocol *i; - - MUST_BE_READ_LOCKED(&ip_nat_lock); - i = LIST_FIND(&protos, cmp_proto, struct ip_nat_protocol *, protonum); - if (!i) - i = &unknown_nat_protocol; - return i; -} - /* Is this tuple already taken? (not by us) */ int ip_nat_used_tuple(const struct ip_conntrack_tuple *tuple, @@ -146,7 +124,7 @@ in_range(const struct ip_conntrack_tuple *tuple, const struct ip_conntrack_manip *manip, const struct ip_nat_multi_range *mr) { - struct ip_nat_protocol *proto = find_nat_proto(tuple->dst.protonum); + struct ip_nat_protocol *proto = ip_nat_find_proto(tuple->dst.protonum); unsigned int i; struct ip_conntrack_tuple newtuple = { *manip, tuple->dst }; @@ -172,20 +150,18 @@ in_range(const struct ip_conntrack_tuple *tuple, } static inline int -src_cmp(const struct ip_nat_hash *i, +src_cmp(const struct ip_conntrack *ct, const struct ip_conntrack_tuple *tuple, const struct ip_nat_multi_range *mr) { - return (i->conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum + return (ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum == tuple->dst.protonum - && i->conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.ip + && ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.ip == tuple->src.ip - && i->conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.all + && ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src.u.all == tuple->src.u.all && in_range(tuple, - &i->conntrack->tuplehash[IP_CT_DIR_ORIGINAL] - .tuple.src, - mr)); + &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src, mr)); } /* Only called for SRC manip */ @@ -194,14 +170,13 @@ find_appropriate_src(const struct ip_conntrack_tuple *tuple, const struct ip_nat_multi_range *mr) { unsigned int h = hash_by_src(&tuple->src, tuple->dst.protonum); - struct ip_nat_hash *i; + struct ip_conntrack *ct; MUST_BE_READ_LOCKED(&ip_nat_lock); - i = LIST_FIND(&bysource[h], src_cmp, struct ip_nat_hash *, tuple, mr); - if (i) - return &i->conntrack->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src; - else - return NULL; + list_for_each_entry(ct, &bysource[h], nat.info.bysource) + if (src_cmp(ct, tuple, mr)) + return &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.src; + return NULL; } #ifdef CONFIG_IP_NF_NAT_LOCAL @@ -227,19 +202,17 @@ do_extra_mangle(u_int32_t var_ip, u_int32_t *other_ipp) #endif /* Simple way to iterate through all. */ -static inline int fake_cmp(const struct ip_nat_hash *i, +static inline int fake_cmp(const struct ip_conntrack *ct, u_int32_t src, u_int32_t dst, u_int16_t protonum, - unsigned int *score, - const struct ip_conntrack *conntrack) + unsigned int *score, const struct ip_conntrack *ct2) { /* Compare backwards: we're dealing with OUTGOING tuples, and inside the conntrack is the REPLY tuple. Don't count this conntrack. */ - if (i->conntrack != conntrack - && i->conntrack->tuplehash[IP_CT_DIR_REPLY].tuple.src.ip == dst - && i->conntrack->tuplehash[IP_CT_DIR_REPLY].tuple.dst.ip == src - && (i->conntrack->tuplehash[IP_CT_DIR_REPLY].tuple.dst.protonum - == protonum)) + if (ct != ct2 + && ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.ip == dst + && ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.ip == src + && (ct->tuplehash[IP_CT_DIR_REPLY].tuple.dst.protonum == protonum)) (*score)++; return 0; } @@ -248,13 +221,14 @@ static inline unsigned int count_maps(u_int32_t src, u_int32_t dst, u_int16_t protonum, const struct ip_conntrack *conntrack) { + struct ip_conntrack *ct; unsigned int score = 0; unsigned int h; MUST_BE_READ_LOCKED(&ip_nat_lock); h = hash_by_ipsproto(src, dst, protonum); - LIST_FIND(&byipsproto[h], fake_cmp, struct ip_nat_hash *, - src, dst, protonum, &score, conntrack); + list_for_each_entry(ct, &byipsproto[h], nat.info.byipsproto) + fake_cmp(ct, src, dst, protonum, &score, conntrack); return score; } @@ -402,7 +376,7 @@ get_unique_tuple(struct ip_conntrack_tuple *tuple, unsigned int hooknum) { struct ip_nat_protocol *proto - = find_nat_proto(orig_tuple->dst.protonum); + = ip_nat_find_proto(orig_tuple->dst.protonum); struct ip_nat_range *rptr; unsigned int i; int ret; @@ -498,13 +472,6 @@ get_unique_tuple(struct ip_conntrack_tuple *tuple, return ret; } -static inline int -helper_cmp(const struct ip_nat_helper *helper, - const struct ip_conntrack_tuple *tuple) -{ - return ip_ct_tuple_mask_cmp(tuple, &helper->tuple, &helper->mask); -} - /* Where to manip the reply packets (will be reverse manip). */ static unsigned int opposite_hook[NF_IP_NUMHOOKS] = { [NF_IP_PRE_ROUTING] = NF_IP_POST_ROUTING, @@ -643,18 +610,15 @@ ip_nat_setup_info(struct ip_conntrack *conntrack, /* If there's a helper, assign it; based on new tuple. */ if (!conntrack->master) - info->helper = LIST_FIND(&helpers, helper_cmp, struct ip_nat_helper *, - &reply); + info->helper = __ip_nat_find_helper(&reply); /* It's done. */ info->initialized |= (1 << HOOK2MANIP(hooknum)); - if (in_hashes) { - IP_NF_ASSERT(info->bysource.conntrack); + if (in_hashes) replace_in_hashes(conntrack, info); - } else { + else place_in_hashes(conntrack, info); - } return NF_ACCEPT; } @@ -678,14 +642,9 @@ void replace_in_hashes(struct ip_conntrack *conntrack, conntrack->tuplehash[IP_CT_DIR_REPLY] .tuple.dst.protonum); - IP_NF_ASSERT(info->bysource.conntrack == conntrack); MUST_BE_WRITE_LOCKED(&ip_nat_lock); - - list_del(&info->bysource.list); - list_del(&info->byipsproto.list); - - list_prepend(&bysource[srchash], &info->bysource); - list_prepend(&byipsproto[ipsprotohash], &info->byipsproto); + list_move(&info->bysource, &bysource[srchash]); + list_move(&info->byipsproto, &byipsproto[ipsprotohash]); } void place_in_hashes(struct ip_conntrack *conntrack, @@ -706,14 +665,9 @@ void place_in_hashes(struct ip_conntrack *conntrack, conntrack->tuplehash[IP_CT_DIR_REPLY] .tuple.dst.protonum); - IP_NF_ASSERT(!info->bysource.conntrack); - MUST_BE_WRITE_LOCKED(&ip_nat_lock); - info->byipsproto.conntrack = conntrack; - info->bysource.conntrack = conntrack; - - list_prepend(&bysource[srchash], &info->bysource); - list_prepend(&byipsproto[ipsprotohash], &info->byipsproto); + list_add(&info->bysource, &bysource[srchash]); + list_add(&info->byipsproto, &byipsproto[ipsprotohash]); } /* Returns true if succeeded. */ @@ -733,9 +687,8 @@ manip_pkt(u_int16_t proto, iph = (void *)(*pskb)->data + iphdroff; /* Manipulate protcol part. */ - if (!find_nat_proto(proto)->manip_pkt(pskb, - iphdroff + iph->ihl*4, - manip, maniptype)) + if (!ip_nat_find_proto(proto)->manip_pkt(pskb, iphdroff + iph->ihl*4, + manip, maniptype)) return 0; iph = (void *)(*pskb)->data + iphdroff; @@ -759,7 +712,7 @@ static inline int exp_for_packet(struct ip_conntrack_expect *exp, int ret = 1; MUST_BE_READ_LOCKED(&ip_conntrack_lock); - proto = __ip_ct_find_proto(skb->nh.iph->protocol); + proto = ip_ct_find_proto(skb->nh.iph->protocol); if (proto->exp_matches_pkt) ret = proto->exp_matches_pkt(exp, skb); @@ -899,12 +852,8 @@ icmp_reply_translation(struct sk_buff **pskb, } /* Must be RELATED */ - IP_NF_ASSERT((*pskb)->nfct - - ((struct ip_conntrack *)(*pskb)->nfct->master)->infos - == IP_CT_RELATED - || (*pskb)->nfct - - ((struct ip_conntrack *)(*pskb)->nfct->master)->infos - == IP_CT_RELATED+IP_CT_IS_REPLY); + IP_NF_ASSERT((*pskb)->nfctinfo == IP_CT_RELATED || + (*pskb)->nfctinfo == IP_CT_RELATED+IP_CT_IS_REPLY); /* Redirects on non-null nats must be dropped, else they'll start talking to each other without our translation, and be @@ -1004,9 +953,11 @@ int __init ip_nat_init(void) /* Sew in builtin protocols. */ WRITE_LOCK(&ip_nat_lock); - list_append(&protos, &ip_nat_protocol_tcp); - list_append(&protos, &ip_nat_protocol_udp); - list_append(&protos, &ip_nat_protocol_icmp); + for (i = 0; i < MAX_IP_NAT_PROTO; i++) + ip_nat_protos[i] = &ip_nat_unknown_protocol; + ip_nat_protos[IPPROTO_TCP] = &ip_nat_protocol_tcp; + ip_nat_protos[IPPROTO_UDP] = &ip_nat_protocol_udp; + ip_nat_protos[IPPROTO_ICMP] = &ip_nat_protocol_icmp; WRITE_UNLOCK(&ip_nat_lock); for (i = 0; i < ip_nat_htable_size; i++) { diff --git a/net/ipv4/netfilter/ip_nat_snmp_basic.c b/net/ipv4/netfilter/ip_nat_snmp_basic.c index 539ad18f8..32d6e966a 100644 --- a/net/ipv4/netfilter/ip_nat_snmp_basic.c +++ b/net/ipv4/netfilter/ip_nat_snmp_basic.c @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -1252,6 +1253,9 @@ static unsigned int nat_help(struct ip_conntrack *ct, int dir = CTINFO2DIR(ctinfo); struct iphdr *iph = (*pskb)->nh.iph; struct udphdr *udph = (struct udphdr *)((u_int32_t *)iph + iph->ihl); + + if (!skb_ip_make_writable(pskb, (*pskb)->len)) + return NF_DROP; spin_lock_bh(&snmp_lock); @@ -1357,4 +1361,4 @@ static void __exit fini(void) module_init(init); module_exit(fini); -MODULE_PARM(debug, "i"); +module_param(debug, bool, 0600); diff --git a/net/ipv4/netfilter/ip_nat_standalone.c b/net/ipv4/netfilter/ip_nat_standalone.c index 9765fd2d5..e4e961225 100644 --- a/net/ipv4/netfilter/ip_nat_standalone.c +++ b/net/ipv4/netfilter/ip_nat_standalone.c @@ -99,11 +99,13 @@ ip_nat_fn(unsigned int hooknum, hash table yet). We must not let this through, in case we're doing NAT to the same network. */ if ((*pskb)->nh.iph->protocol == IPPROTO_ICMP) { - struct icmphdr hdr; + struct icmphdr _hdr, *hp; - if (skb_copy_bits(*pskb, (*pskb)->nh.iph->ihl*4, - &hdr, sizeof(hdr)) == 0 - && hdr.type == ICMP_REDIRECT) + hp = skb_header_pointer(*pskb, + (*pskb)->nh.iph->ihl*4, + sizeof(_hdr), &_hdr); + if (hp != NULL && + hp->type == ICMP_REDIRECT) return NF_DROP; } return NF_ACCEPT; @@ -281,18 +283,13 @@ static struct nf_hook_ops ip_nat_local_in_ops = { int ip_nat_protocol_register(struct ip_nat_protocol *proto) { int ret = 0; - struct list_head *i; WRITE_LOCK(&ip_nat_lock); - list_for_each(i, &protos) { - if (((struct ip_nat_protocol *)i)->protonum - == proto->protonum) { - ret = -EBUSY; - goto out; - } + if (ip_nat_protos[proto->protonum] != &ip_nat_unknown_protocol) { + ret = -EBUSY; + goto out; } - - list_prepend(&protos, proto); + ip_nat_protos[proto->protonum] = proto; out: WRITE_UNLOCK(&ip_nat_lock); return ret; @@ -302,7 +299,7 @@ int ip_nat_protocol_register(struct ip_nat_protocol *proto) void ip_nat_protocol_unregister(struct ip_nat_protocol *proto) { WRITE_LOCK(&ip_nat_lock); - LIST_DELETE(&protos, proto); + ip_nat_protos[proto->protonum] = &ip_nat_unknown_protocol; WRITE_UNLOCK(&ip_nat_lock); /* Someone could be still looking at the proto in a bh. */ @@ -392,4 +389,6 @@ EXPORT_SYMBOL(ip_nat_cheat_check); EXPORT_SYMBOL(ip_nat_mangle_tcp_packet); EXPORT_SYMBOL(ip_nat_mangle_udp_packet); EXPORT_SYMBOL(ip_nat_used_tuple); +EXPORT_SYMBOL(ip_nat_find_helper); +EXPORT_SYMBOL(__ip_nat_find_helper); MODULE_LICENSE("GPL"); diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c index f24f17b8e..3e601a80d 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c @@ -61,6 +61,8 @@ do { \ #endif #define SMP_ALIGN(x) (((x) + SMP_CACHE_BYTES-1) & ~(SMP_CACHE_BYTES-1)) +static DECLARE_MUTEX(ipt_mutex); + /* Must have mutex */ #define ASSERT_READ_LOCK(x) IP_NF_ASSERT(down_trylock(&ipt_mutex) != 0) #define ASSERT_WRITE_LOCK(x) IP_NF_ASSERT(down_trylock(&ipt_mutex) != 0) @@ -469,7 +471,7 @@ find_match_lock(const char *name, int *error, struct semaphore *mutex) return find_inlist_lock(&ipt_match, name, "ipt_", error, mutex); } -struct ipt_target * +static struct ipt_target * ipt_find_target_lock(const char *name, int *error, struct semaphore *mutex) { return find_inlist_lock(&ipt_target, name, "ipt_", error, mutex); @@ -1458,21 +1460,27 @@ tcp_find_option(u_int8_t option, int *hotdrop) { /* tcp.doff is only 4 bits, ie. max 15 * 4 bytes */ - u_int8_t opt[60 - sizeof(struct tcphdr)]; + u_int8_t _opt[60 - sizeof(struct tcphdr)], *op; unsigned int i; duprintf("tcp_match: finding option\n"); + + if (!optlen) + return invert; + /* If we don't have the whole header, drop packet. */ - if (skb_copy_bits(skb, skb->nh.iph->ihl*4 + sizeof(struct tcphdr), - opt, optlen) < 0) { + op = skb_header_pointer(skb, + skb->nh.iph->ihl*4 + sizeof(struct tcphdr), + optlen, _opt); + if (op == NULL) { *hotdrop = 1; return 0; } for (i = 0; i < optlen; ) { - if (opt[i] == option) return !invert; - if (opt[i] < 2) i++; - else i += opt[i+1]?:1; + if (op[i] == option) return !invert; + if (op[i] < 2) i++; + else i += op[i+1]?:1; } return invert; @@ -1486,7 +1494,7 @@ tcp_match(const struct sk_buff *skb, int offset, int *hotdrop) { - struct tcphdr tcph; + struct tcphdr _tcph, *th; const struct ipt_tcp *tcpinfo = matchinfo; if (offset) { @@ -1506,7 +1514,9 @@ tcp_match(const struct sk_buff *skb, #define FWINVTCP(bool,invflg) ((bool) ^ !!(tcpinfo->invflags & invflg)) - if (skb_copy_bits(skb, skb->nh.iph->ihl*4, &tcph, sizeof(tcph)) < 0) { + th = skb_header_pointer(skb, skb->nh.iph->ihl*4, + sizeof(_tcph), &_tcph); + if (th == NULL) { /* We've been asked to examine this packet, and we can't. Hence, no choice but to drop. */ duprintf("Dropping evil TCP offset=0 tinygram.\n"); @@ -1515,23 +1525,24 @@ tcp_match(const struct sk_buff *skb, } if (!port_match(tcpinfo->spts[0], tcpinfo->spts[1], - ntohs(tcph.source), + ntohs(th->source), !!(tcpinfo->invflags & IPT_TCP_INV_SRCPT))) return 0; if (!port_match(tcpinfo->dpts[0], tcpinfo->dpts[1], - ntohs(tcph.dest), + ntohs(th->dest), !!(tcpinfo->invflags & IPT_TCP_INV_DSTPT))) return 0; - if (!FWINVTCP((((unsigned char *)&tcph)[13] & tcpinfo->flg_mask) + if (!FWINVTCP((((unsigned char *)th)[13] & tcpinfo->flg_mask) == tcpinfo->flg_cmp, IPT_TCP_INV_FLAGS)) return 0; if (tcpinfo->option) { - if (tcph.doff * 4 < sizeof(tcph)) { + if (th->doff * 4 < sizeof(_tcph)) { *hotdrop = 1; return 0; } - if (!tcp_find_option(tcpinfo->option, skb, tcph.doff*4 - sizeof(tcph), + if (!tcp_find_option(tcpinfo->option, skb, + th->doff*4 - sizeof(_tcph), tcpinfo->invflags & IPT_TCP_INV_OPTION, hotdrop)) return 0; @@ -1564,14 +1575,16 @@ udp_match(const struct sk_buff *skb, int offset, int *hotdrop) { - struct udphdr udph; + struct udphdr _udph, *uh; const struct ipt_udp *udpinfo = matchinfo; /* Must not be a fragment. */ if (offset) return 0; - if (skb_copy_bits(skb, skb->nh.iph->ihl*4, &udph, sizeof(udph)) < 0) { + uh = skb_header_pointer(skb, skb->nh.iph->ihl*4, + sizeof(_udph), &_udph); + if (uh == NULL) { /* We've been asked to examine this packet, and we can't. Hence, no choice but to drop. */ duprintf("Dropping evil UDP tinygram.\n"); @@ -1580,10 +1593,10 @@ udp_match(const struct sk_buff *skb, } return port_match(udpinfo->spts[0], udpinfo->spts[1], - ntohs(udph.source), + ntohs(uh->source), !!(udpinfo->invflags & IPT_UDP_INV_SRCPT)) && port_match(udpinfo->dpts[0], udpinfo->dpts[1], - ntohs(udph.dest), + ntohs(uh->dest), !!(udpinfo->invflags & IPT_UDP_INV_DSTPT)); } @@ -1635,16 +1648,19 @@ icmp_match(const struct sk_buff *skb, int offset, int *hotdrop) { - struct icmphdr icmph; + struct icmphdr _icmph, *ic; const struct ipt_icmp *icmpinfo = matchinfo; /* Must not be a fragment. */ if (offset) return 0; - if (skb_copy_bits(skb, skb->nh.iph->ihl*4, &icmph, sizeof(icmph)) < 0){ + ic = skb_header_pointer(skb, skb->nh.iph->ihl*4, + sizeof(_icmph), &_icmph); + if (ic == NULL) { /* We've been asked to examine this packet, and we - can't. Hence, no choice but to drop. */ + * can't. Hence, no choice but to drop. + */ duprintf("Dropping evil ICMP tinygram.\n"); *hotdrop = 1; return 0; @@ -1653,7 +1669,7 @@ icmp_match(const struct sk_buff *skb, return icmp_type_code_match(icmpinfo->type, icmpinfo->code[0], icmpinfo->code[1], - icmph.type, icmph.code, + ic->type, ic->code, !!(icmpinfo->invflags&IPT_ICMP_INV)); } @@ -1861,7 +1877,6 @@ EXPORT_SYMBOL(ipt_unregister_match); EXPORT_SYMBOL(ipt_do_table); EXPORT_SYMBOL(ipt_register_target); EXPORT_SYMBOL(ipt_unregister_target); -EXPORT_SYMBOL(ipt_find_target_lock); module_init(init); module_exit(fini); diff --git a/net/ipv4/netfilter/ipt_LOG.c b/net/ipv4/netfilter/ipt_LOG.c index b79962e22..2a3e3eb42 100644 --- a/net/ipv4/netfilter/ipt_LOG.c +++ b/net/ipv4/netfilter/ipt_LOG.c @@ -28,7 +28,7 @@ MODULE_AUTHOR("Netfilter Core Team "); MODULE_DESCRIPTION("iptables syslog logging module"); static unsigned int nflog = 1; -MODULE_PARM(nflog, "i"); +module_param(nflog, int, 0400); MODULE_PARM_DESC(nflog, "register as internal netfilter logging module"); #if 0 @@ -45,9 +45,10 @@ static void dump_packet(const struct ipt_log_info *info, const struct sk_buff *skb, unsigned int iphoff) { - struct iphdr iph; + struct iphdr _iph, *ih; - if (skb_copy_bits(skb, iphoff, &iph, sizeof(iph)) < 0) { + ih = skb_header_pointer(skb, iphoff, sizeof(_iph), &_iph); + if (ih == NULL) { printk("TRUNCATED"); return; } @@ -56,32 +57,34 @@ static void dump_packet(const struct ipt_log_info *info, * TOS, len, DF/MF, fragment offset, TTL, src, dst, options. */ /* Max length: 40 "SRC=255.255.255.255 DST=255.255.255.255 " */ printk("SRC=%u.%u.%u.%u DST=%u.%u.%u.%u ", - NIPQUAD(iph.saddr), NIPQUAD(iph.daddr)); + NIPQUAD(ih->saddr), NIPQUAD(ih->daddr)); /* Max length: 46 "LEN=65535 TOS=0xFF PREC=0xFF TTL=255 ID=65535 " */ printk("LEN=%u TOS=0x%02X PREC=0x%02X TTL=%u ID=%u ", - ntohs(iph.tot_len), iph.tos & IPTOS_TOS_MASK, - iph.tos & IPTOS_PREC_MASK, iph.ttl, ntohs(iph.id)); + ntohs(ih->tot_len), ih->tos & IPTOS_TOS_MASK, + ih->tos & IPTOS_PREC_MASK, ih->ttl, ntohs(ih->id)); /* Max length: 6 "CE DF MF " */ - if (ntohs(iph.frag_off) & IP_CE) + if (ntohs(ih->frag_off) & IP_CE) printk("CE "); - if (ntohs(iph.frag_off) & IP_DF) + if (ntohs(ih->frag_off) & IP_DF) printk("DF "); - if (ntohs(iph.frag_off) & IP_MF) + if (ntohs(ih->frag_off) & IP_MF) printk("MF "); /* Max length: 11 "FRAG:65535 " */ - if (ntohs(iph.frag_off) & IP_OFFSET) - printk("FRAG:%u ", ntohs(iph.frag_off) & IP_OFFSET); + if (ntohs(ih->frag_off) & IP_OFFSET) + printk("FRAG:%u ", ntohs(ih->frag_off) & IP_OFFSET); if ((info->logflags & IPT_LOG_IPOPT) - && iph.ihl * 4 > sizeof(struct iphdr)) { - unsigned char opt[4 * 15 - sizeof(struct iphdr)]; + && ih->ihl * 4 > sizeof(struct iphdr)) { + unsigned char _opt[4 * 15 - sizeof(struct iphdr)], *op; unsigned int i, optsize; - optsize = iph.ihl * 4 - sizeof(struct iphdr); - if (skb_copy_bits(skb, iphoff+sizeof(iph), opt, optsize) < 0) { + optsize = ih->ihl * 4 - sizeof(struct iphdr); + op = skb_header_pointer(skb, iphoff+sizeof(_iph), + optsize, _opt); + if (op == NULL) { printk("TRUNCATED"); return; } @@ -89,67 +92,71 @@ static void dump_packet(const struct ipt_log_info *info, /* Max length: 127 "OPT (" 15*4*2chars ") " */ printk("OPT ("); for (i = 0; i < optsize; i++) - printk("%02X", opt[i]); + printk("%02X", op[i]); printk(") "); } - switch (iph.protocol) { + switch (ih->protocol) { case IPPROTO_TCP: { - struct tcphdr tcph; + struct tcphdr _tcph, *th; /* Max length: 10 "PROTO=TCP " */ printk("PROTO=TCP "); - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; /* Max length: 25 "INCOMPLETE [65535 bytes] " */ - if (skb_copy_bits(skb, iphoff+iph.ihl*4, &tcph, sizeof(tcph)) - < 0) { + th = skb_header_pointer(skb, iphoff + ih->ihl * 4, + sizeof(_tcph), &_tcph); + if (th == NULL) { printk("INCOMPLETE [%u bytes] ", - skb->len - iphoff - iph.ihl*4); + skb->len - iphoff - ih->ihl*4); break; } /* Max length: 20 "SPT=65535 DPT=65535 " */ printk("SPT=%u DPT=%u ", - ntohs(tcph.source), ntohs(tcph.dest)); + ntohs(th->source), ntohs(th->dest)); /* Max length: 30 "SEQ=4294967295 ACK=4294967295 " */ if (info->logflags & IPT_LOG_TCPSEQ) printk("SEQ=%u ACK=%u ", - ntohl(tcph.seq), ntohl(tcph.ack_seq)); + ntohl(th->seq), ntohl(th->ack_seq)); /* Max length: 13 "WINDOW=65535 " */ - printk("WINDOW=%u ", ntohs(tcph.window)); + printk("WINDOW=%u ", ntohs(th->window)); /* Max length: 9 "RES=0x3F " */ - printk("RES=0x%02x ", (u8)(ntohl(tcp_flag_word(&tcph) & TCP_RESERVED_BITS) >> 22)); + printk("RES=0x%02x ", (u8)(ntohl(tcp_flag_word(th) & TCP_RESERVED_BITS) >> 22)); /* Max length: 32 "CWR ECE URG ACK PSH RST SYN FIN " */ - if (tcph.cwr) + if (th->cwr) printk("CWR "); - if (tcph.ece) + if (th->ece) printk("ECE "); - if (tcph.urg) + if (th->urg) printk("URG "); - if (tcph.ack) + if (th->ack) printk("ACK "); - if (tcph.psh) + if (th->psh) printk("PSH "); - if (tcph.rst) + if (th->rst) printk("RST "); - if (tcph.syn) + if (th->syn) printk("SYN "); - if (tcph.fin) + if (th->fin) printk("FIN "); /* Max length: 11 "URGP=65535 " */ - printk("URGP=%u ", ntohs(tcph.urg_ptr)); + printk("URGP=%u ", ntohs(th->urg_ptr)); if ((info->logflags & IPT_LOG_TCPOPT) - && tcph.doff * 4 > sizeof(struct tcphdr)) { - unsigned char opt[4 * 15 - sizeof(struct tcphdr)]; + && th->doff * 4 > sizeof(struct tcphdr)) { + unsigned char _opt[4 * 15 - sizeof(struct tcphdr)]; + unsigned char *op; unsigned int i, optsize; - optsize = tcph.doff * 4 - sizeof(struct tcphdr); - if (skb_copy_bits(skb, iphoff+iph.ihl*4 + sizeof(tcph), - opt, optsize) < 0) { + optsize = th->doff * 4 - sizeof(struct tcphdr); + op = skb_header_pointer(skb, + iphoff+ih->ihl*4+sizeof(_tcph), + optsize, _opt); + if (op == NULL) { printk("TRUNCATED"); return; } @@ -157,36 +164,37 @@ static void dump_packet(const struct ipt_log_info *info, /* Max length: 127 "OPT (" 15*4*2chars ") " */ printk("OPT ("); for (i = 0; i < optsize; i++) - printk("%02X", opt[i]); + printk("%02X", op[i]); printk(") "); } break; } case IPPROTO_UDP: { - struct udphdr udph; + struct udphdr _udph, *uh; /* Max length: 10 "PROTO=UDP " */ printk("PROTO=UDP "); - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; /* Max length: 25 "INCOMPLETE [65535 bytes] " */ - if (skb_copy_bits(skb, iphoff+iph.ihl*4, &udph, sizeof(udph)) - < 0) { + uh = skb_header_pointer(skb, iphoff+ih->ihl*4, + sizeof(_udph), &_udph); + if (uh == NULL) { printk("INCOMPLETE [%u bytes] ", - skb->len - iphoff - iph.ihl*4); + skb->len - iphoff - ih->ihl*4); break; } /* Max length: 20 "SPT=65535 DPT=65535 " */ printk("SPT=%u DPT=%u LEN=%u ", - ntohs(udph.source), ntohs(udph.dest), - ntohs(udph.len)); + ntohs(uh->source), ntohs(uh->dest), + ntohs(uh->len)); break; } case IPPROTO_ICMP: { - struct icmphdr icmph; + struct icmphdr _icmph, *ich; static size_t required_len[NR_ICMP_TYPES+1] = { [ICMP_ECHOREPLY] = 4, [ICMP_DEST_UNREACH] @@ -208,47 +216,48 @@ static void dump_packet(const struct ipt_log_info *info, /* Max length: 11 "PROTO=ICMP " */ printk("PROTO=ICMP "); - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; /* Max length: 25 "INCOMPLETE [65535 bytes] " */ - if (skb_copy_bits(skb, iphoff+iph.ihl*4, &icmph, sizeof(icmph)) - < 0) { + ich = skb_header_pointer(skb, iphoff + ih->ihl * 4, + sizeof(_icmph), &_icmph); + if (ich == NULL) { printk("INCOMPLETE [%u bytes] ", - skb->len - iphoff - iph.ihl*4); + skb->len - iphoff - ih->ihl*4); break; } /* Max length: 18 "TYPE=255 CODE=255 " */ - printk("TYPE=%u CODE=%u ", icmph.type, icmph.code); + printk("TYPE=%u CODE=%u ", ich->type, ich->code); /* Max length: 25 "INCOMPLETE [65535 bytes] " */ - if (icmph.type <= NR_ICMP_TYPES - && required_len[icmph.type] - && skb->len-iphoff-iph.ihl*4 < required_len[icmph.type]) { + if (ich->type <= NR_ICMP_TYPES + && required_len[ich->type] + && skb->len-iphoff-ih->ihl*4 < required_len[ich->type]) { printk("INCOMPLETE [%u bytes] ", - skb->len - iphoff - iph.ihl*4); + skb->len - iphoff - ih->ihl*4); break; } - switch (icmph.type) { + switch (ich->type) { case ICMP_ECHOREPLY: case ICMP_ECHO: /* Max length: 19 "ID=65535 SEQ=65535 " */ printk("ID=%u SEQ=%u ", - ntohs(icmph.un.echo.id), - ntohs(icmph.un.echo.sequence)); + ntohs(ich->un.echo.id), + ntohs(ich->un.echo.sequence)); break; case ICMP_PARAMETERPROB: /* Max length: 14 "PARAMETER=255 " */ printk("PARAMETER=%u ", - ntohl(icmph.un.gateway) >> 24); + ntohl(ich->un.gateway) >> 24); break; case ICMP_REDIRECT: /* Max length: 24 "GATEWAY=255.255.255.255 " */ printk("GATEWAY=%u.%u.%u.%u ", - NIPQUAD(icmph.un.gateway)); + NIPQUAD(ich->un.gateway)); /* Fall through */ case ICMP_DEST_UNREACH: case ICMP_SOURCE_QUENCH: @@ -257,62 +266,65 @@ static void dump_packet(const struct ipt_log_info *info, if (!iphoff) { /* Only recurse once. */ printk("["); dump_packet(info, skb, - iphoff + iph.ihl*4+sizeof(icmph)); + iphoff + ih->ihl*4+sizeof(_icmph)); printk("] "); } /* Max length: 10 "MTU=65535 " */ - if (icmph.type == ICMP_DEST_UNREACH - && icmph.code == ICMP_FRAG_NEEDED) - printk("MTU=%u ", ntohs(icmph.un.frag.mtu)); + if (ich->type == ICMP_DEST_UNREACH + && ich->code == ICMP_FRAG_NEEDED) + printk("MTU=%u ", ntohs(ich->un.frag.mtu)); } break; } /* Max Length */ case IPPROTO_AH: { - struct ip_auth_hdr ah; + struct ip_auth_hdr _ahdr, *ah; - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; /* Max length: 9 "PROTO=AH " */ printk("PROTO=AH "); /* Max length: 25 "INCOMPLETE [65535 bytes] " */ - if (skb_copy_bits(skb, iphoff+iph.ihl*4, &ah, sizeof(ah)) < 0) { + ah = skb_header_pointer(skb, iphoff+ih->ihl*4, + sizeof(_ahdr), &_ahdr); + if (ah == NULL) { printk("INCOMPLETE [%u bytes] ", - skb->len - iphoff - iph.ihl*4); + skb->len - iphoff - ih->ihl*4); break; } /* Length: 15 "SPI=0xF1234567 " */ - printk("SPI=0x%x ", ntohl(ah.spi)); + printk("SPI=0x%x ", ntohl(ah->spi)); break; } case IPPROTO_ESP: { - struct ip_esp_hdr esph; + struct ip_esp_hdr _esph, *eh; /* Max length: 10 "PROTO=ESP " */ printk("PROTO=ESP "); - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; /* Max length: 25 "INCOMPLETE [65535 bytes] " */ - if (skb_copy_bits(skb, iphoff+iph.ihl*4, &esph, sizeof(esph)) - < 0) { + eh = skb_header_pointer(skb, iphoff+ih->ihl*4, + sizeof(_esph), &_esph); + if (eh == NULL) { printk("INCOMPLETE [%u bytes] ", - skb->len - iphoff - iph.ihl*4); + skb->len - iphoff - ih->ihl*4); break; } /* Length: 15 "SPI=0xF1234567 " */ - printk("SPI=0x%x ", ntohl(esph.spi)); + printk("SPI=0x%x ", ntohl(eh->spi)); break; } /* Max length: 10 "PROTO 255 " */ default: - printk("PROTO=%u ", iph.protocol); + printk("PROTO=%u ", ih->protocol); } /* Proto Max log string length */ diff --git a/net/ipv4/netfilter/ipt_MASQUERADE.c b/net/ipv4/netfilter/ipt_MASQUERADE.c index 54bc4684c..ea02a12d7 100644 --- a/net/ipv4/netfilter/ipt_MASQUERADE.c +++ b/net/ipv4/netfilter/ipt_MASQUERADE.c @@ -92,8 +92,8 @@ masquerade_target(struct sk_buff **pskb, return NF_ACCEPT; ct = ip_conntrack_get(*pskb, &ctinfo); - IP_NF_ASSERT(ct && (ctinfo == IP_CT_NEW - || ctinfo == IP_CT_RELATED)); + IP_NF_ASSERT(ct && (ctinfo == IP_CT_NEW || ctinfo == IP_CT_RELATED + || ctinfo == IP_CT_RELATED + IP_CT_IS_REPLY)); mr = targinfo; diff --git a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c index b8018cb02..b2e05746a 100644 --- a/net/ipv4/netfilter/ipt_REJECT.c +++ b/net/ipv4/netfilter/ipt_REJECT.c @@ -41,14 +41,14 @@ MODULE_DESCRIPTION("iptables REJECT target module"); /* If the original packet is part of a connection, but the connection is not confirmed, our manufactured reply will not be associated with it, so we need to do this manually. */ -static void connection_attach(struct sk_buff *new_skb, struct nf_ct_info *nfct) +static void connection_attach(struct sk_buff *new_skb, struct sk_buff *skb) { - void (*attach)(struct sk_buff *, struct nf_ct_info *); + void (*attach)(struct sk_buff *, struct sk_buff *); /* Avoid module unload race with ip_ct_attach being NULLed out */ - if (nfct && (attach = ip_ct_attach) != NULL) { + if (skb->nfct && (attach = ip_ct_attach) != NULL) { mb(); /* Just to be sure: must be read before executing this */ - attach(new_skb, nfct); + attach(new_skb, skb); } } @@ -103,7 +103,7 @@ static inline struct rtable *route_reverse(struct sk_buff *skb, int hook) static void send_reset(struct sk_buff *oldskb, int hook) { struct sk_buff *nskb; - struct tcphdr otcph, *tcph; + struct tcphdr _otcph, *oth, *tcph; struct rtable *rt; u_int16_t tmp_port; u_int32_t tmp_addr; @@ -114,12 +114,13 @@ static void send_reset(struct sk_buff *oldskb, int hook) if (oldskb->nh.iph->frag_off & htons(IP_OFFSET)) return; - if (skb_copy_bits(oldskb, oldskb->nh.iph->ihl*4, - &otcph, sizeof(otcph)) < 0) + oth = skb_header_pointer(oldskb, oldskb->nh.iph->ihl * 4, + sizeof(_otcph), &_otcph); + if (oth == NULL) return; /* No RST for RST. */ - if (otcph.rst) + if (oth->rst) return; /* FIXME: Check checksum --RR */ @@ -167,13 +168,13 @@ static void send_reset(struct sk_buff *oldskb, int hook) if (tcph->ack) { needs_ack = 0; - tcph->seq = otcph.ack_seq; + tcph->seq = oth->ack_seq; tcph->ack_seq = 0; } else { needs_ack = 1; - tcph->ack_seq = htonl(ntohl(otcph.seq) + otcph.syn + otcph.fin + tcph->ack_seq = htonl(ntohl(oth->seq) + oth->syn + oth->fin + oldskb->len - oldskb->nh.iph->ihl*4 - - (otcph.doff<<2)); + - (oth->doff<<2)); tcph->seq = 0; } @@ -208,7 +209,7 @@ static void send_reset(struct sk_buff *oldskb, int hook) if (nskb->len > dst_pmtu(nskb->dst)) goto free_nskb; - connection_attach(nskb, oldskb->nfct); + connection_attach(nskb, oldskb); NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, nskb, NULL, nskb->dst->dev, ip_finish_output); @@ -359,7 +360,7 @@ static void send_unreach(struct sk_buff *skb_in, int code) icmph->checksum = ip_compute_csum((unsigned char *)icmph, length - sizeof(struct iphdr)); - connection_attach(nskb, skb_in->nfct); + connection_attach(nskb, skb_in); NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, nskb, NULL, nskb->dst->dev, ip_finish_output); diff --git a/net/ipv4/netfilter/ipt_ULOG.c b/net/ipv4/netfilter/ipt_ULOG.c index c352df54a..51d16d33b 100644 --- a/net/ipv4/netfilter/ipt_ULOG.c +++ b/net/ipv4/netfilter/ipt_ULOG.c @@ -34,8 +34,8 @@ * by that factor. * * flushtimeout: - * Specify, after how many clock ticks (intel: 100 per second) the queue - * should be flushed even if it is not full yet. + * Specify, after how many hundredths of a second the queue should be + * flushed even if it is not full yet. * * ipt_ULOG.c,v 1.22 2002/10/30 09:07:31 laforge Exp */ @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include @@ -74,15 +75,15 @@ MODULE_DESCRIPTION("iptables userspace logging module"); #define PRINTR(format, args...) do { if (net_ratelimit()) printk(format , ## args); } while (0) static unsigned int nlbufsiz = 4096; -MODULE_PARM(nlbufsiz, "i"); +module_param(nlbufsiz, uint, 0600); /* FIXME: Check size < 128k --RR */ MODULE_PARM_DESC(nlbufsiz, "netlink buffer size"); -static unsigned int flushtimeout = 10 * HZ; -MODULE_PARM(flushtimeout, "i"); -MODULE_PARM_DESC(flushtimeout, "buffer flush timeout"); +static unsigned int flushtimeout = 10; +module_param(flushtimeout, int, 0600); +MODULE_PARM_DESC(flushtimeout, "buffer flush timeout (hundredths of a second)"); static unsigned int nflog = 1; -MODULE_PARM(nflog, "i"); +module_param(nflog, int, 0400); MODULE_PARM_DESC(nflog, "register as internal netfilter logging module"); /* global data structures */ @@ -97,7 +98,6 @@ typedef struct { static ulog_buff_t ulog_buffers[ULOG_MAXNLGROUPS]; /* array of buffers */ static struct sock *nflognl; /* our socket */ -static size_t qlen; /* current length of multipart-nlmsg */ DECLARE_LOCK(ulog_lock); /* spinlock */ /* send one ulog_buff_t to userspace */ @@ -116,7 +116,7 @@ static void ulog_send(unsigned int nlgroupnum) NETLINK_CB(ub->skb).dst_groups = (1 << nlgroupnum); DEBUGP("ipt_ULOG: throwing %d packets to netlink mask %u\n", - ub->qlen, nlgroup); + ub->qlen, nlgroupnum); netlink_broadcast(nflognl, ub->skb, 0, (1 << nlgroupnum), GFP_ATOMIC); ub->qlen = 0; @@ -126,7 +126,7 @@ static void ulog_send(unsigned int nlgroupnum) } -/* timer function to flush queue in ULOG_FLUSH_INTERVAL time */ +/* timer function to flush queue in flushtimeout time */ static void ulog_timer(unsigned long data) { DEBUGP("ipt_ULOG: timer function called, calling ulog_send\n"); @@ -261,20 +261,21 @@ static void ipt_ulog_packet(unsigned int hooknum, ub->lastnlh->nlmsg_flags |= NLM_F_MULTI; } - /* if threshold is reached, send message to userspace */ - if (qlen >= loginfo->qthreshold) { - if (loginfo->qthreshold > 1) - nlh->nlmsg_type = NLMSG_DONE; - } - ub->lastnlh = nlh; /* if timer isn't already running, start it */ if (!timer_pending(&ub->timer)) { - ub->timer.expires = jiffies + flushtimeout; + ub->timer.expires = jiffies + flushtimeout * HZ / 100; add_timer(&ub->timer); } + /* if threshold is reached, send message to userspace */ + if (ub->qlen >= loginfo->qthreshold) { + if (loginfo->qthreshold > 1) + nlh->nlmsg_type = NLMSG_DONE; + ulog_send(groupnum); + } + UNLOCK_BH(&ulog_lock); return; diff --git a/net/ipv4/netfilter/ipt_helper.c b/net/ipv4/netfilter/ipt_helper.c index ee9881ece..1ea5c1e46 100644 --- a/net/ipv4/netfilter/ipt_helper.c +++ b/net/ipv4/netfilter/ipt_helper.c @@ -107,6 +107,7 @@ static struct ipt_match helper_match = { static int __init init(void) { + need_ip_conntrack(); return ipt_register_match(&helper_match); } diff --git a/net/ipv4/netfilter/ipt_owner.c b/net/ipv4/netfilter/ipt_owner.c index 3b9065e06..65b8365e3 100644 --- a/net/ipv4/netfilter/ipt_owner.c +++ b/net/ipv4/netfilter/ipt_owner.c @@ -61,7 +61,7 @@ match_pid(const struct sk_buff *skb, pid_t pid) int i; read_lock(&tasklist_lock); - p = find_task_by_pid(pid); + p = find_task_by_real_pid(pid); if (!p) goto out; task_lock(p); diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index fca126a09..912bbcc7f 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c @@ -330,7 +330,7 @@ static int netstat_seq_show(struct seq_file *seq, void *v) { int i; - seq_puts(seq, "\nTcpExt:"); + seq_puts(seq, "TcpExt:"); for (i = 0; snmp4_net_list[i].name != NULL; i++) seq_printf(seq, " %s", snmp4_net_list[i].name); diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index 1f7364abe..3fe4f4057 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -324,6 +324,51 @@ error: return err; } +static void raw_probe_proto_opt(struct flowi *fl, struct msghdr *msg) +{ + struct iovec *iov; + u8 __user *type = NULL; + u8 __user *code = NULL; + int probed = 0; + int i; + + if (!msg->msg_iov) + return; + + for (i = 0; i < msg->msg_iovlen; i++) { + iov = &msg->msg_iov[i]; + if (!iov) + continue; + + switch (fl->proto) { + case IPPROTO_ICMP: + /* check if one-byte field is readable or not. */ + if (iov->iov_base && iov->iov_len < 1) + break; + + if (!type) { + type = iov->iov_base; + /* check if code field is readable or not. */ + if (iov->iov_len > 1) + code = type + 1; + } else if (!code) + code = iov->iov_base; + + if (type && code) { + get_user(fl->fl_icmp_type, type); + __get_user(fl->fl_icmp_code, code); + probed = 1; + } + break; + default: + probed = 1; + break; + } + if (probed) + break; + } +} + static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t len) { @@ -430,6 +475,9 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, .proto = inet->hdrincl ? IPPROTO_RAW : sk->sk_protocol, }; + if (!inet->hdrincl) + raw_probe_proto_opt(&fl, msg); + err = ip_route_output_flow(&rt, &fl, sk, !(msg->msg_flags&MSG_DONTWAIT)); } if (err) @@ -672,6 +720,7 @@ struct proto raw_prot = { .backlog_rcv = raw_rcv_skb, .hash = raw_v4_hash, .unhash = raw_v4_unhash, + .slab_obj_size = sizeof(struct raw_sock), }; #ifdef CONFIG_PROC_FS diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 15d9eca53..455cc0e77 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -226,26 +226,25 @@ static struct rtable *rt_cache_get_first(struct seq_file *seq) struct rt_cache_iter_state *st = seq->private; for (st->bucket = rt_hash_mask; st->bucket >= 0; --st->bucket) { - rcu_read_lock(); + rcu_read_lock_bh(); r = rt_hash_table[st->bucket].chain; if (r) break; - rcu_read_unlock(); + rcu_read_unlock_bh(); } return r; } static struct rtable *rt_cache_get_next(struct seq_file *seq, struct rtable *r) { - struct rt_cache_iter_state *st = seq->private; + struct rt_cache_iter_state *st = rcu_dereference(seq->private); - smp_read_barrier_depends(); r = r->u.rt_next; while (!r) { - rcu_read_unlock(); + rcu_read_unlock_bh(); if (--st->bucket < 0) break; - rcu_read_lock(); + rcu_read_lock_bh(); r = rt_hash_table[st->bucket].chain; } return r; @@ -281,7 +280,7 @@ static void *rt_cache_seq_next(struct seq_file *seq, void *v, loff_t *pos) static void rt_cache_seq_stop(struct seq_file *seq, void *v) { if (v && v != SEQ_START_TOKEN) - rcu_read_unlock(); + rcu_read_unlock_bh(); } static int rt_cache_seq_show(struct seq_file *seq, void *v) @@ -357,10 +356,13 @@ static void *rt_cpu_seq_start(struct seq_file *seq, loff_t *pos) { int cpu; - for (cpu = *pos; cpu < NR_CPUS; ++cpu) { + if (*pos == 0) + return SEQ_START_TOKEN; + + for (cpu = *pos-1; cpu < NR_CPUS; ++cpu) { if (!cpu_possible(cpu)) continue; - *pos = cpu; + *pos = cpu+1; return per_cpu_ptr(rt_cache_stat, cpu); } return NULL; @@ -370,10 +372,10 @@ static void *rt_cpu_seq_next(struct seq_file *seq, void *v, loff_t *pos) { int cpu; - for (cpu = *pos + 1; cpu < NR_CPUS; ++cpu) { + for (cpu = *pos; cpu < NR_CPUS; ++cpu) { if (!cpu_possible(cpu)) continue; - *pos = cpu; + *pos = cpu+1; return per_cpu_ptr(rt_cache_stat, cpu); } return NULL; @@ -388,6 +390,11 @@ static void rt_cpu_seq_stop(struct seq_file *seq, void *v) static int rt_cpu_seq_show(struct seq_file *seq, void *v) { struct rt_cache_stat *st = v; + + if (v == SEQ_START_TOKEN) { + seq_printf(seq, "entries in_hit in_slow_tot in_no_route in_brd in_martian_dst in_martian_src out_hit out_slow_tot out_slow_mc gc_total gc_ignored gc_goal_miss gc_dst_overflow in_hlist_search out_hlist_search\n"); + return 0; + } seq_printf(seq,"%08x %08x %08x %08x %08x %08x %08x %08x " " %08x %08x %08x %08x %08x %08x %08x %08x %08x \n", @@ -439,13 +446,13 @@ static struct file_operations rt_cpu_seq_fops = { static __inline__ void rt_free(struct rtable *rt) { - call_rcu(&rt->u.dst.rcu_head, dst_rcu_free); + call_rcu_bh(&rt->u.dst.rcu_head, dst_rcu_free); } static __inline__ void rt_drop(struct rtable *rt) { ip_rt_put(rt); - call_rcu(&rt->u.dst.rcu_head, dst_rcu_free); + call_rcu_bh(&rt->u.dst.rcu_head, dst_rcu_free); } static __inline__ int rt_fast_clean(struct rtable *rth) @@ -1004,10 +1011,9 @@ void ip_rt_redirect(u32 old_gw, u32 daddr, u32 new_gw, rthp=&rt_hash_table[hash].chain; rcu_read_lock(); - while ((rth = *rthp) != NULL) { + while ((rth = rcu_dereference(*rthp)) != NULL) { struct rtable *rt; - smp_read_barrier_depends(); if (rth->fl.fl4_dst != daddr || rth->fl.fl4_src != skeys[i] || rth->fl.fl4_tos != tos || @@ -1259,9 +1265,8 @@ unsigned short ip_rt_frag_needed(struct iphdr *iph, unsigned short new_mtu) unsigned hash = rt_hash_code(daddr, skeys[i], tos); rcu_read_lock(); - for (rth = rt_hash_table[hash].chain; rth; - rth = rth->u.rt_next) { - smp_read_barrier_depends(); + for (rth = rcu_dereference(rt_hash_table[hash].chain); rth; + rth = rcu_dereference(rth->u.rt_next)) { if (rth->fl.fl4_dst == daddr && rth->fl.fl4_src == skeys[i] && rth->rt_dst == daddr && @@ -1342,9 +1347,12 @@ static void ipv4_dst_ifdown(struct dst_entry *dst, int how) { struct rtable *rt = (struct rtable *) dst; struct in_device *idev = rt->idev; - if (idev) { - rt->idev = NULL; - in_dev_put(idev); + if (idev && idev->dev != &loopback_dev) { + struct in_device *loopback_idev = in_dev_get(&loopback_dev); + if (loopback_idev) { + rt->idev = loopback_idev; + in_dev_put(idev); + } } } @@ -1387,13 +1395,7 @@ void ip_rt_get_source(u8 *addr, struct rtable *rt) if (rt->fl.iif == 0) src = rt->rt_src; else if (fib_lookup(&rt->fl, &res) == 0) { -#ifdef CONFIG_IP_ROUTE_NAT - if (res.type == RTN_NAT) - src = inet_select_addr(rt->u.dst.dev, rt->rt_gateway, - RT_SCOPE_UNIVERSE); - else -#endif - src = FIB_RES_PREFSRC(res); + src = FIB_RES_PREFSRC(res); fib_res_put(&res); } else src = inet_select_addr(rt->u.dst.dev, rt->rt_gateway, @@ -1497,10 +1499,6 @@ static int ip_route_input_mc(struct sk_buff *skb, u32 daddr, u32 saddr, #endif rth->fl.fl4_src = saddr; rth->rt_src = saddr; -#ifdef CONFIG_IP_ROUTE_NAT - rth->rt_dst_map = daddr; - rth->rt_src_map = saddr; -#endif #ifdef CONFIG_NET_CLS_ROUTE rth->u.dst.tclassid = itag; #endif @@ -1610,31 +1608,6 @@ static int ip_route_input_slow(struct sk_buff *skb, u32 daddr, u32 saddr, RT_CACHE_STAT_INC(in_slow_tot); -#ifdef CONFIG_IP_ROUTE_NAT - /* Policy is applied before mapping destination, - but rerouting after map should be made with old source. - */ - - if (1) { - u32 src_map = saddr; - if (res.r) - src_map = fib_rules_policy(saddr, &res, &flags); - - if (res.type == RTN_NAT) { - fl.fl4_dst = fib_rules_map_destination(daddr, &res); - fib_res_put(&res); - free_res = 0; - if (fib_lookup(&fl, &res)) - goto e_inval; - free_res = 1; - if (res.type != RTN_UNICAST) - goto e_inval; - flags |= RTCF_DNAT; - } - fl.fl4_src = src_map; - } -#endif - if (res.type == RTN_BROADCAST) goto brd_input; @@ -1708,12 +1681,6 @@ static int ip_route_input_slow(struct sk_buff *skb, u32 daddr, u32 saddr, rth->fl.fl4_src = saddr; rth->rt_src = saddr; rth->rt_gateway = daddr; -#ifdef CONFIG_IP_ROUTE_NAT - rth->rt_src_map = fl.fl4_src; - rth->rt_dst_map = fl.fl4_dst; - if (flags&RTCF_DNAT) - rth->rt_gateway = fl.fl4_dst; -#endif rth->rt_iif = rth->fl.iif = dev->ifindex; rth->u.dst.dev = out_dev->dev; @@ -1776,10 +1743,6 @@ local_input: #endif rth->fl.fl4_src = saddr; rth->rt_src = saddr; -#ifdef CONFIG_IP_ROUTE_NAT - rth->rt_dst_map = fl.fl4_dst; - rth->rt_src_map = fl.fl4_src; -#endif #ifdef CONFIG_NET_CLS_ROUTE rth->u.dst.tclassid = itag; #endif @@ -1864,8 +1827,8 @@ int ip_route_input(struct sk_buff *skb, u32 daddr, u32 saddr, hash = rt_hash_code(daddr, saddr ^ (iif << 5), tos); rcu_read_lock(); - for (rth = rt_hash_table[hash].chain; rth; rth = rth->u.rt_next) { - smp_read_barrier_depends(); + for (rth = rcu_dereference(rt_hash_table[hash].chain); rth; + rth = rcu_dereference(rth->u.rt_next)) { if (rth->fl.fl4_dst == daddr && rth->fl.fl4_src == saddr && rth->fl.iif == iif && @@ -1900,7 +1863,7 @@ int ip_route_input(struct sk_buff *skb, u32 daddr, u32 saddr, if (MULTICAST(daddr)) { struct in_device *in_dev; - read_lock(&inetdev_lock); + rcu_read_lock(); if ((in_dev = __in_dev_get(dev)) != NULL) { int our = ip_check_mc(in_dev, daddr, saddr, skb->nh.iph->protocol); @@ -1909,12 +1872,12 @@ int ip_route_input(struct sk_buff *skb, u32 daddr, u32 saddr, || (!LOCAL_MCAST(daddr) && IN_DEV_MFORWARD(in_dev)) #endif ) { - read_unlock(&inetdev_lock); + rcu_read_unlock(); return ip_route_input_mc(skb, daddr, saddr, tos, dev, our); } } - read_unlock(&inetdev_lock); + rcu_read_unlock(); return -EINVAL; } return ip_route_input_slow(skb, daddr, saddr, tos, dev); @@ -2072,9 +2035,6 @@ static int ip_route_output_slow(struct rtable **rp, const struct flowi *oldflp) } free_res = 1; - if (res.type == RTN_NAT) - goto e_inval; - if (res.type == RTN_LOCAL) { if (!fl.fl4_src) fl.fl4_src = fl.fl4_dst; @@ -2164,10 +2124,6 @@ make_route: #endif rth->rt_dst = fl.fl4_dst; rth->rt_src = fl.fl4_src; -#ifdef CONFIG_IP_ROUTE_NAT - rth->rt_dst_map = fl.fl4_dst; - rth->rt_src_map = fl.fl4_src; -#endif rth->rt_iif = oldflp->oif ? : dev_out->ifindex; rth->u.dst.dev = dev_out; dev_hold(dev_out); @@ -2231,9 +2187,9 @@ int __ip_route_output_key(struct rtable **rp, const struct flowi *flp) hash = rt_hash_code(flp->fl4_dst, flp->fl4_src ^ (flp->oif << 5), flp->fl4_tos); - rcu_read_lock(); - for (rth = rt_hash_table[hash].chain; rth; rth = rth->u.rt_next) { - smp_read_barrier_depends(); + rcu_read_lock_bh(); + for (rth = rcu_dereference(rt_hash_table[hash].chain); rth; + rth = rcu_dereference(rth->u.rt_next)) { if (rth->fl.fl4_dst == flp->fl4_dst && rth->fl.fl4_src == flp->fl4_src && rth->fl.iif == 0 && @@ -2247,33 +2203,38 @@ int __ip_route_output_key(struct rtable **rp, const struct flowi *flp) dst_hold(&rth->u.dst); rth->u.dst.__use++; RT_CACHE_STAT_INC(out_hit); - rcu_read_unlock(); + rcu_read_unlock_bh(); *rp = rth; return 0; } RT_CACHE_STAT_INC(out_hlist_search); } - rcu_read_unlock(); + rcu_read_unlock_bh(); return ip_route_output_slow(rp, flp); } -int ip_route_output_key(struct rtable **rp, struct flowi *flp) +int ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk, int flags) { int err; if ((err = __ip_route_output_key(rp, flp)) != 0) return err; - return flp->proto ? xfrm_lookup((struct dst_entry**)rp, flp, NULL, 0) : 0; + + if (flp->proto) { + if (!flp->fl4_src) + flp->fl4_src = (*rp)->rt_src; + if (!flp->fl4_dst) + flp->fl4_dst = (*rp)->rt_dst; + return xfrm_lookup((struct dst_entry **)rp, flp, sk, flags); + } + + return 0; } -int ip_route_output_flow(struct rtable **rp, struct flowi *flp, struct sock *sk, int flags) +int ip_route_output_key(struct rtable **rp, struct flowi *flp) { - int err; - - if ((err = __ip_route_output_key(rp, flp)) != 0) - return err; - return flp->proto ? xfrm_lookup((struct dst_entry**)rp, flp, sk, flags) : 0; + return ip_route_output_flow(rp, flp, NULL, 0); } static int rt_fill_info(struct sk_buff *skb, u32 pid, u32 seq, int event, @@ -2463,10 +2424,9 @@ int ip_rt_dump(struct sk_buff *skb, struct netlink_callback *cb) if (h < s_h) continue; if (h > s_h) s_idx = 0; - rcu_read_lock(); - for (rt = rt_hash_table[h].chain, idx = 0; rt; - rt = rt->u.rt_next, idx++) { - smp_read_barrier_depends(); + rcu_read_lock_bh(); + for (rt = rcu_dereference(rt_hash_table[h].chain), idx = 0; rt; + rt = rcu_dereference(rt->u.rt_next), idx++) { if (idx < s_idx) continue; skb->dst = dst_clone(&rt->u.dst); @@ -2474,12 +2434,12 @@ int ip_rt_dump(struct sk_buff *skb, struct netlink_callback *cb) cb->nlh->nlmsg_seq, RTM_NEWROUTE, 1) <= 0) { dst_release(xchg(&skb->dst, NULL)); - rcu_read_unlock(); + rcu_read_unlock_bh(); goto done; } dst_release(xchg(&skb->dst, NULL)); } - rcu_read_unlock(); + rcu_read_unlock_bh(); } done: @@ -2831,12 +2791,16 @@ int __init ip_rt_init(void) add_timer(&rt_secret_timer); #ifdef CONFIG_PROC_FS + { + struct proc_dir_entry *rtstat_pde = NULL; /* keep gcc happy */ if (!proc_net_fops_create("rt_cache", S_IRUGO, &rt_cache_seq_fops) || - !proc_net_fops_create("rt_cache_stat", S_IRUGO, &rt_cpu_seq_fops)) { + !(rtstat_pde = create_proc_entry("rt_cache", S_IRUGO, + proc_net_stat))) { free_percpu(rt_cache_stat); return -ENOMEM; } - + rtstat_pde->proc_fops = &rt_cpu_seq_fops; + } #ifdef CONFIG_NET_CLS_ROUTE create_proc_read_entry("rt_acct", 0, proc_net, ip_rt_acct_read, NULL); #endif diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 90bb78a05..14583dd23 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -717,17 +717,17 @@ ctl_table ipv4_table[] = { .proc_handler = &proc_dointvec, }, { - .ctl_name = NET_TCP_DEFAULT_WIN_SCALE, - .procname = "tcp_default_win_scale", - .data = &sysctl_tcp_default_win_scale, + .ctl_name = NET_TCP_MODERATE_RCVBUF, + .procname = "tcp_moderate_rcvbuf", + .data = &sysctl_tcp_moderate_rcvbuf, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_dointvec, }, { - .ctl_name = NET_TCP_MODERATE_RCVBUF, - .procname = "tcp_moderate_rcvbuf", - .data = &sysctl_tcp_moderate_rcvbuf, + .ctl_name = NET_TCP_TSO_WIN_DIVISOR, + .procname = "tcp_tso_win_divisor", + .data = &sysctl_tcp_tso_win_divisor, .maxlen = sizeof(int), .mode = 0644, .proc_handler = &proc_dointvec, diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index c99f5ceb9..fbca1821b 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -280,8 +280,6 @@ kmem_cache_t *tcp_timewait_cachep; atomic_t tcp_orphan_count = ATOMIC_INIT(0); -int sysctl_tcp_default_win_scale = 7; - int sysctl_tcp_mem[3]; int sysctl_tcp_wmem[3] = { 4 * 1024, 16 * 1024, 128 * 1024 }; int sysctl_tcp_rmem[3] = { 4 * 1024, 87380, 87380 * 2 }; @@ -740,6 +738,7 @@ new_segment: skb->ip_summed = CHECKSUM_HW; tp->write_seq += copy; TCP_SKB_CB(skb)->end_seq += copy; + skb_shinfo(skb)->tso_segs = 0; if (!copied) TCP_SKB_CB(skb)->flags &= ~TCPCB_FLAG_PSH; @@ -986,6 +985,7 @@ new_segment: tp->write_seq += copy; TCP_SKB_CB(skb)->end_seq += copy; + skb_shinfo(skb)->tso_segs = 0; from += copy; copied += copy; @@ -1640,14 +1640,6 @@ void tcp_destroy_sock(struct sock *sk) /* If it has not 0 inet_sk(sk)->num, it must be bound */ BUG_TRAP(!inet_sk(sk)->num || tcp_sk(sk)->bind_hash); -#ifdef TCP_DEBUG - if (sk->sk_zapped) { - printk(KERN_DEBUG "TCP: double destroy sk=%p\n", sk); - sock_hold(sk); - } - sk->sk_zapped = 1; -#endif - sk->sk_prot->destroy(sk); sk_stream_kill_queues(sk); @@ -1867,7 +1859,7 @@ int tcp_disconnect(struct sock *sk, int flags) tp->backoff = 0; tp->snd_cwnd = 2; tp->probes_out = 0; - tp->packets_out = 0; + tcp_set_pcount(&tp->packets_out, 0); tp->snd_ssthresh = 0x7fffffff; tp->snd_cwnd_cnt = 0; tcp_set_ca_state(tp, TCP_CA_Open); @@ -2481,7 +2473,6 @@ void __init tcp_init(void) EXPORT_SYMBOL(tcp_accept); EXPORT_SYMBOL(tcp_close); -EXPORT_SYMBOL(tcp_close_state); EXPORT_SYMBOL(tcp_destroy_sock); EXPORT_SYMBOL(tcp_disconnect); EXPORT_SYMBOL(tcp_getsockopt); diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 5e7f70f1c..50bfea9eb 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -555,17 +555,20 @@ static void tcp_event_data_recv(struct sock *sk, struct tcp_opt *tp, struct sk_b tcp_grow_window(sk, tp, skb); } -/* Set up a new TCP connection, depending on whether it should be - * using Vegas or not. - */ -void tcp_vegas_init(struct tcp_opt *tp) +/* When starting a new connection, pin down the current choice of + * congestion algorithm. + */ +void tcp_ca_init(struct tcp_opt *tp) { - if (sysctl_tcp_vegas_cong_avoid) { - tp->vegas.do_vegas = 1; + if (sysctl_tcp_westwood) + tp->adv_cong = TCP_WESTWOOD; + else if (sysctl_tcp_bic) + tp->adv_cong = TCP_BIC; + else if (sysctl_tcp_vegas_cong_avoid) { + tp->adv_cong = TCP_VEGAS; tp->vegas.baseRTT = 0x7fffffff; tcp_vegas_enable(tp); - } else - tcp_vegas_disable(tp); + } } /* Do RTT sampling needed for Vegas. @@ -799,10 +802,10 @@ __u32 tcp_init_cwnd(struct tcp_opt *tp, struct dst_entry *dst) __u32 cwnd = (dst ? dst_metric(dst, RTAX_INITCWND) : 0); if (!cwnd) { - if (tp->mss_cache > 1460) + if (tp->mss_cache_std > 1460) cwnd = 2; else - cwnd = (tp->mss_cache > 1095) ? 3 : 4; + cwnd = (tp->mss_cache_std > 1095) ? 3 : 4; } return min_t(__u32, cwnd, tp->snd_cwnd_clamp); } @@ -852,8 +855,10 @@ static void tcp_init_metrics(struct sock *sk) * to low value, and then abruptly stops to do it and starts to delay * ACKs, wait for troubles. */ - if (dst_metric(dst, RTAX_RTT) > tp->srtt) + if (dst_metric(dst, RTAX_RTT) > tp->srtt) { tp->srtt = dst_metric(dst, RTAX_RTT); + tp->rtt_seq = tp->snd_nxt; + } if (dst_metric(dst, RTAX_RTTVAR) > tp->mdev) { tp->mdev = dst_metric(dst, RTAX_RTTVAR); tp->mdev_max = tp->rttvar = max(tp->mdev, TCP_RTO_MIN); @@ -895,7 +900,9 @@ static void tcp_update_reordering(struct tcp_opt *tp, int metric, int ts) #if FASTRETRANS_DEBUG > 1 printk(KERN_DEBUG "Disorder%d %d %u f%u s%u rr%d\n", tp->sack_ok, tp->ca_state, - tp->reordering, tp->fackets_out, tp->sacked_out, + tp->reordering, + tcp_get_pcount(&tp->fackets_out), + tcp_get_pcount(&tp->sacked_out), tp->undo_marker ? tp->undo_retrans : 0); #endif /* Disable FACK yet. */ @@ -958,7 +965,7 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ unsigned char *ptr = ack_skb->h.raw + TCP_SKB_CB(ack_skb)->sacked; struct tcp_sack_block *sp = (struct tcp_sack_block *)(ptr+2); int num_sacks = (ptr[1] - TCPOLEN_SACK_BASE)>>3; - int reord = tp->packets_out; + int reord = tcp_get_pcount(&tp->packets_out); int prior_fackets; u32 lost_retrans = 0; int flag = 0; @@ -972,9 +979,9 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ tp->mss_cache = tp->mss_cache_std; } - if (!tp->sacked_out) - tp->fackets_out = 0; - prior_fackets = tp->fackets_out; + if (!tcp_get_pcount(&tp->sacked_out)) + tcp_set_pcount(&tp->fackets_out, 0); + prior_fackets = tcp_get_pcount(&tp->fackets_out); for (i=0; iseq, end_seq)) break; - fack_count++; + fack_count += tcp_skb_pcount(skb); in_sack = !after(start_seq, TCP_SKB_CB(skb)->seq) && !before(end_seq, TCP_SKB_CB(skb)->end_seq); @@ -1072,8 +1079,8 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ */ if (sacked & TCPCB_LOST) { TCP_SKB_CB(skb)->sacked &= ~(TCPCB_LOST|TCPCB_SACKED_RETRANS); - tp->lost_out--; - tp->retrans_out--; + tcp_dec_pcount(&tp->lost_out, skb); + tcp_dec_pcount(&tp->retrans_out, skb); } } else { /* New sack for not retransmitted frame, @@ -1085,16 +1092,16 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ if (sacked & TCPCB_LOST) { TCP_SKB_CB(skb)->sacked &= ~TCPCB_LOST; - tp->lost_out--; + tcp_dec_pcount(&tp->lost_out, skb); } } TCP_SKB_CB(skb)->sacked |= TCPCB_SACKED_ACKED; flag |= FLAG_DATA_SACKED; - tp->sacked_out++; + tcp_inc_pcount(&tp->sacked_out, skb); - if (fack_count > tp->fackets_out) - tp->fackets_out = fack_count; + if (fack_count > tcp_get_pcount(&tp->fackets_out)) + tcp_set_pcount(&tp->fackets_out, fack_count); } else { if (dup_sack && (sacked&TCPCB_RETRANS)) reord = min(fack_count, reord); @@ -1108,7 +1115,7 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ if (dup_sack && (TCP_SKB_CB(skb)->sacked&TCPCB_SACKED_RETRANS)) { TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_RETRANS; - tp->retrans_out--; + tcp_dec_pcount(&tp->retrans_out, skb); } } } @@ -1132,12 +1139,12 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ (IsFack(tp) || !before(lost_retrans, TCP_SKB_CB(skb)->ack_seq + tp->reordering * - tp->mss_cache))) { + tp->mss_cache_std))) { TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_RETRANS; - tp->retrans_out--; + tcp_dec_pcount(&tp->retrans_out, skb); if (!(TCP_SKB_CB(skb)->sacked&(TCPCB_LOST|TCPCB_SACKED_ACKED))) { - tp->lost_out++; + tcp_inc_pcount(&tp->lost_out, skb); TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; flag |= FLAG_DATA_SACKED; NET_INC_STATS_BH(LINUX_MIB_TCPLOSTRETRANSMIT); @@ -1146,15 +1153,20 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ } } - tp->left_out = tp->sacked_out + tp->lost_out; + tcp_set_pcount(&tp->left_out, + (tcp_get_pcount(&tp->sacked_out) + + tcp_get_pcount(&tp->lost_out))); - if (reord < tp->fackets_out && tp->ca_state != TCP_CA_Loss) - tcp_update_reordering(tp, (tp->fackets_out + 1) - reord, 0); + if ((reord < tcp_get_pcount(&tp->fackets_out)) && + tp->ca_state != TCP_CA_Loss) + tcp_update_reordering(tp, + ((tcp_get_pcount(&tp->fackets_out) + 1) - + reord), 0); #if FASTRETRANS_DEBUG > 0 - BUG_TRAP((int)tp->sacked_out >= 0); - BUG_TRAP((int)tp->lost_out >= 0); - BUG_TRAP((int)tp->retrans_out >= 0); + BUG_TRAP((int)tcp_get_pcount(&tp->sacked_out) >= 0); + BUG_TRAP((int)tcp_get_pcount(&tp->lost_out) >= 0); + BUG_TRAP((int)tcp_get_pcount(&tp->retrans_out) >= 0); BUG_TRAP((int)tcp_packets_in_flight(tp) >= 0); #endif return flag; @@ -1184,7 +1196,7 @@ void tcp_enter_frto(struct sock *sk) * If something was really lost, it is eventually caught up * in tcp_enter_frto_loss. */ - tp->retrans_out = 0; + tcp_set_pcount(&tp->retrans_out, 0); tp->undo_marker = tp->snd_una; tp->undo_retrans = 0; @@ -1207,26 +1219,26 @@ static void tcp_enter_frto_loss(struct sock *sk) struct sk_buff *skb; int cnt = 0; - tp->sacked_out = 0; - tp->lost_out = 0; - tp->fackets_out = 0; + tcp_set_pcount(&tp->sacked_out, 0); + tcp_set_pcount(&tp->lost_out, 0); + tcp_set_pcount(&tp->fackets_out, 0); sk_stream_for_retrans_queue(skb, sk) { - cnt++; + cnt += tcp_skb_pcount(skb); TCP_SKB_CB(skb)->sacked &= ~TCPCB_LOST; if (!(TCP_SKB_CB(skb)->sacked&TCPCB_SACKED_ACKED)) { /* Do not mark those segments lost that were * forward transmitted after RTO */ - if(!after(TCP_SKB_CB(skb)->end_seq, + if (!after(TCP_SKB_CB(skb)->end_seq, tp->frto_highmark)) { TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; - tp->lost_out++; + tcp_inc_pcount(&tp->lost_out, skb); } } else { - tp->sacked_out++; - tp->fackets_out = cnt; + tcp_inc_pcount(&tp->sacked_out, skb); + tcp_set_pcount(&tp->fackets_out, cnt); } } tcp_sync_left_out(tp); @@ -1248,12 +1260,12 @@ static void tcp_enter_frto_loss(struct sock *sk) void tcp_clear_retrans(struct tcp_opt *tp) { - tp->left_out = 0; - tp->retrans_out = 0; + tcp_set_pcount(&tp->left_out, 0); + tcp_set_pcount(&tp->retrans_out, 0); - tp->fackets_out = 0; - tp->sacked_out = 0; - tp->lost_out = 0; + tcp_set_pcount(&tp->fackets_out, 0); + tcp_set_pcount(&tp->sacked_out, 0); + tcp_set_pcount(&tp->lost_out, 0); tp->undo_marker = 0; tp->undo_retrans = 0; @@ -1287,17 +1299,17 @@ void tcp_enter_loss(struct sock *sk, int how) tp->undo_marker = tp->snd_una; sk_stream_for_retrans_queue(skb, sk) { - cnt++; + cnt += tcp_skb_pcount(skb); if (TCP_SKB_CB(skb)->sacked&TCPCB_RETRANS) tp->undo_marker = 0; TCP_SKB_CB(skb)->sacked &= (~TCPCB_TAGBITS)|TCPCB_SACKED_ACKED; if (!(TCP_SKB_CB(skb)->sacked&TCPCB_SACKED_ACKED) || how) { TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_ACKED; TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; - tp->lost_out++; + tcp_inc_pcount(&tp->lost_out, skb); } else { - tp->sacked_out++; - tp->fackets_out = cnt; + tcp_inc_pcount(&tp->sacked_out, skb); + tcp_set_pcount(&tp->fackets_out, cnt); } } tcp_sync_left_out(tp); @@ -1334,7 +1346,8 @@ static int tcp_check_sack_reneging(struct sock *sk, struct tcp_opt *tp) static inline int tcp_fackets_out(struct tcp_opt *tp) { - return IsReno(tp) ? tp->sacked_out+1 : tp->fackets_out; + return IsReno(tp) ? tcp_get_pcount(&tp->sacked_out)+1 : + tcp_get_pcount(&tp->fackets_out); } static inline int tcp_skb_timedout(struct tcp_opt *tp, struct sk_buff *skb) @@ -1344,7 +1357,7 @@ static inline int tcp_skb_timedout(struct tcp_opt *tp, struct sk_buff *skb) static inline int tcp_head_timedout(struct sock *sk, struct tcp_opt *tp) { - return tp->packets_out && + return tcp_get_pcount(&tp->packets_out) && tcp_skb_timedout(tp, skb_peek(&sk->sk_write_queue)); } @@ -1444,8 +1457,10 @@ static inline int tcp_head_timedout(struct sock *sk, struct tcp_opt *tp) static int tcp_time_to_recover(struct sock *sk, struct tcp_opt *tp) { + __u32 packets_out; + /* Trick#1: The loss is proven. */ - if (tp->lost_out) + if (tcp_get_pcount(&tp->lost_out)) return 1; /* Not-A-Trick#2 : Classic rule... */ @@ -1461,8 +1476,9 @@ tcp_time_to_recover(struct sock *sk, struct tcp_opt *tp) /* Trick#4: It is still not OK... But will it be useful to delay * recovery more? */ - if (tp->packets_out <= tp->reordering && - tp->sacked_out >= max_t(__u32, tp->packets_out/2, sysctl_tcp_reordering) && + packets_out = tcp_get_pcount(&tp->packets_out); + if (packets_out <= tp->reordering && + tcp_get_pcount(&tp->sacked_out) >= max_t(__u32, packets_out/2, sysctl_tcp_reordering) && !tcp_may_send_now(sk, tp)) { /* We have nothing to send. This connection is limited * either by receiver window or by application. @@ -1481,12 +1497,16 @@ static void tcp_check_reno_reordering(struct tcp_opt *tp, int addend) { u32 holes; - holes = max(tp->lost_out, 1U); - holes = min(holes, tp->packets_out); + holes = max(tcp_get_pcount(&tp->lost_out), 1U); + holes = min(holes, tcp_get_pcount(&tp->packets_out)); - if (tp->sacked_out + holes > tp->packets_out) { - tp->sacked_out = tp->packets_out - holes; - tcp_update_reordering(tp, tp->packets_out+addend, 0); + if ((tcp_get_pcount(&tp->sacked_out) + holes) > + tcp_get_pcount(&tp->packets_out)) { + tcp_set_pcount(&tp->sacked_out, + (tcp_get_pcount(&tp->packets_out) - holes)); + tcp_update_reordering(tp, + tcp_get_pcount(&tp->packets_out)+addend, + 0); } } @@ -1494,7 +1514,7 @@ static void tcp_check_reno_reordering(struct tcp_opt *tp, int addend) static void tcp_add_reno_sack(struct tcp_opt *tp) { - ++tp->sacked_out; + tcp_inc_pcount_explicit(&tp->sacked_out, 1); tcp_check_reno_reordering(tp, 0); tcp_sync_left_out(tp); } @@ -1505,10 +1525,10 @@ static void tcp_remove_reno_sacks(struct sock *sk, struct tcp_opt *tp, int acked { if (acked > 0) { /* One ACK acked hole. The rest eat duplicate ACKs. */ - if (acked-1 >= tp->sacked_out) - tp->sacked_out = 0; + if (acked-1 >= tcp_get_pcount(&tp->sacked_out)) + tcp_set_pcount(&tp->sacked_out, 0); else - tp->sacked_out -= acked-1; + tcp_dec_pcount_explicit(&tp->sacked_out, acked-1); } tcp_check_reno_reordering(tp, acked); tcp_sync_left_out(tp); @@ -1516,8 +1536,8 @@ static void tcp_remove_reno_sacks(struct sock *sk, struct tcp_opt *tp, int acked static inline void tcp_reset_reno_sack(struct tcp_opt *tp) { - tp->sacked_out = 0; - tp->left_out = tp->lost_out; + tcp_set_pcount(&tp->sacked_out, 0); + tcp_set_pcount(&tp->left_out, tcp_get_pcount(&tp->lost_out)); } /* Mark head of queue up as lost. */ @@ -1527,14 +1547,15 @@ tcp_mark_head_lost(struct sock *sk, struct tcp_opt *tp, int packets, u32 high_se struct sk_buff *skb; int cnt = packets; - BUG_TRAP(cnt <= tp->packets_out); + BUG_TRAP(cnt <= tcp_get_pcount(&tp->packets_out)); sk_stream_for_retrans_queue(skb, sk) { - if (--cnt < 0 || after(TCP_SKB_CB(skb)->end_seq, high_seq)) + cnt -= tcp_skb_pcount(skb); + if (cnt < 0 || after(TCP_SKB_CB(skb)->end_seq, high_seq)) break; if (!(TCP_SKB_CB(skb)->sacked&TCPCB_TAGBITS)) { TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; - tp->lost_out++; + tcp_inc_pcount(&tp->lost_out, skb); } } tcp_sync_left_out(tp); @@ -1545,7 +1566,7 @@ tcp_mark_head_lost(struct sock *sk, struct tcp_opt *tp, int packets, u32 high_se static void tcp_update_scoreboard(struct sock *sk, struct tcp_opt *tp) { if (IsFack(tp)) { - int lost = tp->fackets_out - tp->reordering; + int lost = tcp_get_pcount(&tp->fackets_out) - tp->reordering; if (lost <= 0) lost = 1; tcp_mark_head_lost(sk, tp, lost, tp->high_seq); @@ -1565,7 +1586,7 @@ static void tcp_update_scoreboard(struct sock *sk, struct tcp_opt *tp) if (tcp_skb_timedout(tp, skb) && !(TCP_SKB_CB(skb)->sacked&TCPCB_TAGBITS)) { TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; - tp->lost_out++; + tcp_inc_pcount(&tp->lost_out, skb); } } tcp_sync_left_out(tp); @@ -1630,8 +1651,9 @@ static void DBGUNDO(struct sock *sk, struct tcp_opt *tp, const char *msg) printk(KERN_DEBUG "Undo %s %u.%u.%u.%u/%u c%u l%u ss%u/%u p%u\n", msg, NIPQUAD(inet->daddr), ntohs(inet->dport), - tp->snd_cwnd, tp->left_out, - tp->snd_ssthresh, tp->prior_ssthresh, tp->packets_out); + tp->snd_cwnd, tcp_get_pcount(&tp->left_out), + tp->snd_ssthresh, tp->prior_ssthresh, + tcp_get_pcount(&tp->packets_out)); } #else #define DBGUNDO(x...) do { } while (0) @@ -1701,13 +1723,13 @@ static void tcp_try_undo_dsack(struct sock *sk, struct tcp_opt *tp) static int tcp_try_undo_partial(struct sock *sk, struct tcp_opt *tp, int acked) { /* Partial ACK arrived. Force Hoe's retransmit. */ - int failed = IsReno(tp) || tp->fackets_out>tp->reordering; + int failed = IsReno(tp) || tcp_get_pcount(&tp->fackets_out)>tp->reordering; if (tcp_may_undo(tp)) { /* Plain luck! Hole if filled with delayed * packet, rather than with a retransmit. */ - if (tp->retrans_out == 0) + if (tcp_get_pcount(&tp->retrans_out) == 0) tp->retrans_stamp = 0; tcp_update_reordering(tp, tcp_fackets_out(tp)+acked, 1); @@ -1734,8 +1756,8 @@ static int tcp_try_undo_loss(struct sock *sk, struct tcp_opt *tp) TCP_SKB_CB(skb)->sacked &= ~TCPCB_LOST; } DBGUNDO(sk, tp, "partial loss"); - tp->lost_out = 0; - tp->left_out = tp->sacked_out; + tcp_set_pcount(&tp->lost_out, 0); + tcp_set_pcount(&tp->left_out, tcp_get_pcount(&tp->sacked_out)); tcp_undo_cwr(tp, 1); NET_INC_STATS_BH(LINUX_MIB_TCPLOSSUNDO); tp->retransmits = 0; @@ -1758,9 +1780,9 @@ static __inline__ void tcp_complete_cwr(struct tcp_opt *tp) static void tcp_try_to_open(struct sock *sk, struct tcp_opt *tp, int flag) { - tp->left_out = tp->sacked_out; + tcp_set_pcount(&tp->left_out, tcp_get_pcount(&tp->sacked_out)); - if (tp->retrans_out == 0) + if (tcp_get_pcount(&tp->retrans_out) == 0) tp->retrans_stamp = 0; if (flag&FLAG_ECE) @@ -1769,8 +1791,8 @@ static void tcp_try_to_open(struct sock *sk, struct tcp_opt *tp, int flag) if (tp->ca_state != TCP_CA_CWR) { int state = TCP_CA_Open; - if (tp->left_out || - tp->retrans_out || + if (tcp_get_pcount(&tp->left_out) || + tcp_get_pcount(&tp->retrans_out) || tp->undo_marker) state = TCP_CA_Disorder; @@ -1804,11 +1826,11 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una, /* Some technical things: * 1. Reno does not count dupacks (sacked_out) automatically. */ - if (!tp->packets_out) - tp->sacked_out = 0; + if (!tcp_get_pcount(&tp->packets_out)) + tcp_set_pcount(&tp->sacked_out, 0); /* 2. SACK counts snd_fack in packets inaccurately. */ - if (tp->sacked_out == 0) - tp->fackets_out = 0; + if (tcp_get_pcount(&tp->sacked_out) == 0) + tcp_set_pcount(&tp->fackets_out, 0); /* Now state machine starts. * A. ECE, hence prohibit cwnd undoing, the reduction is required. */ @@ -1816,15 +1838,15 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una, tp->prior_ssthresh = 0; /* B. In all the states check for reneging SACKs. */ - if (tp->sacked_out && tcp_check_sack_reneging(sk, tp)) + if (tcp_get_pcount(&tp->sacked_out) && tcp_check_sack_reneging(sk, tp)) return; /* C. Process data loss notification, provided it is valid. */ if ((flag&FLAG_DATA_LOST) && before(tp->snd_una, tp->high_seq) && tp->ca_state != TCP_CA_Open && - tp->fackets_out > tp->reordering) { - tcp_mark_head_lost(sk, tp, tp->fackets_out-tp->reordering, tp->high_seq); + tcp_get_pcount(&tp->fackets_out) > tp->reordering) { + tcp_mark_head_lost(sk, tp, tcp_get_pcount(&tp->fackets_out)-tp->reordering, tp->high_seq); NET_INC_STATS_BH(LINUX_MIB_TCPLOSS); } @@ -1835,7 +1857,7 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una, * when high_seq is ACKed. */ if (tp->ca_state == TCP_CA_Open) { if (!sysctl_tcp_frto) - BUG_TRAP(tp->retrans_out == 0); + BUG_TRAP(tcp_get_pcount(&tp->retrans_out) == 0); tp->retrans_stamp = 0; } else if (!before(tp->snd_una, tp->high_seq)) { switch (tp->ca_state) { @@ -1882,7 +1904,8 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una, if (IsReno(tp) && is_dupack) tcp_add_reno_sack(tp); } else { - int acked = prior_packets - tp->packets_out; + int acked = prior_packets - + tcp_get_pcount(&tp->packets_out); if (IsReno(tp)) tcp_remove_reno_sacks(sk, tp, acked); is_dupack = tcp_try_undo_partial(sk, tp, acked); @@ -1925,7 +1948,7 @@ tcp_fastretrans_alert(struct sock *sk, u32 prior_snd_una, tp->high_seq = tp->snd_nxt; tp->prior_ssthresh = 0; tp->undo_marker = tp->snd_una; - tp->undo_retrans = tp->retrans_out; + tp->undo_retrans = tcp_get_pcount(&tp->retrans_out); if (tp->ca_state < TCP_CA_CWR) { if (!(flag&FLAG_ECE)) @@ -2019,7 +2042,7 @@ tcp_ack_update_rtt(struct tcp_opt *tp, int flag, s32 seq_rtt) static inline __u32 bictcp_cwnd(struct tcp_opt *tp) { /* orignal Reno behaviour */ - if (!sysctl_tcp_bic) + if (!tcp_is_bic(tp)) return tp->snd_cwnd; if (tp->bictcp.last_cwnd == tp->snd_cwnd && @@ -2154,7 +2177,7 @@ static void vegas_cong_avoid(struct tcp_opt *tp, u32 ack, u32 seq_rtt) * is the cwnd during the previous RTT. */ old_wnd = (tp->vegas.beg_snd_nxt - tp->vegas.beg_snd_una) / - tp->mss_cache; + tp->mss_cache_std; old_snd_cwnd = tp->vegas.beg_snd_cwnd; /* Save the extent of the current window so we can use this @@ -2325,13 +2348,83 @@ static inline void tcp_cong_avoid(struct tcp_opt *tp, u32 ack, u32 seq_rtt) static __inline__ void tcp_ack_packets_out(struct sock *sk, struct tcp_opt *tp) { - if (tp->packets_out==0) { + if (!tcp_get_pcount(&tp->packets_out)) { tcp_clear_xmit_timer(sk, TCP_TIME_RETRANS); } else { tcp_reset_xmit_timer(sk, TCP_TIME_RETRANS, tp->rto); } } +/* There is one downside to this scheme. Although we keep the + * ACK clock ticking, adjusting packet counters and advancing + * congestion window, we do not liberate socket send buffer + * space. + * + * Mucking with skb->truesize and sk->sk_wmem_alloc et al. + * then making a write space wakeup callback is a possible + * future enhancement. WARNING: it is not trivial to make. + */ +static int tcp_tso_acked(struct sock *sk, struct sk_buff *skb, + __u32 now, __s32 *seq_rtt) +{ + struct tcp_opt *tp = tcp_sk(sk); + struct tcp_skb_cb *scb = TCP_SKB_CB(skb); + __u32 seq = tp->snd_una; + __u32 packets_acked; + int acked = 0; + + /* If we get here, the whole TSO packet has not been + * acked. + */ + BUG_ON(!after(scb->end_seq, seq)); + + packets_acked = tcp_skb_pcount(skb); + if (tcp_trim_head(sk, skb, seq - scb->seq)) + return 0; + packets_acked -= tcp_skb_pcount(skb); + + if (packets_acked) { + __u8 sacked = scb->sacked; + + acked |= FLAG_DATA_ACKED; + if (sacked) { + if (sacked & TCPCB_RETRANS) { + if (sacked & TCPCB_SACKED_RETRANS) + tcp_dec_pcount_explicit(&tp->retrans_out, + packets_acked); + acked |= FLAG_RETRANS_DATA_ACKED; + *seq_rtt = -1; + } else if (*seq_rtt < 0) + *seq_rtt = now - scb->when; + if (sacked & TCPCB_SACKED_ACKED) + tcp_dec_pcount_explicit(&tp->sacked_out, + packets_acked); + if (sacked & TCPCB_LOST) + tcp_dec_pcount_explicit(&tp->lost_out, + packets_acked); + if (sacked & TCPCB_URG) { + if (tp->urg_mode && + !before(seq, tp->snd_up)) + tp->urg_mode = 0; + } + } else if (*seq_rtt < 0) + *seq_rtt = now - scb->when; + + if (tcp_get_pcount(&tp->fackets_out)) { + __u32 dval = min(tcp_get_pcount(&tp->fackets_out), + packets_acked); + tcp_dec_pcount_explicit(&tp->fackets_out, dval); + } + tcp_dec_pcount_explicit(&tp->packets_out, packets_acked); + + BUG_ON(tcp_skb_pcount(skb) == 0); + BUG_ON(!before(scb->seq, scb->end_seq)); + } + + return acked; +} + + /* Remove acknowledged frames from the retransmission queue. */ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p) { @@ -2341,7 +2434,8 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p) int acked = 0; __s32 seq_rtt = -1; - while ((skb = skb_peek(&sk->sk_write_queue)) && skb != sk->sk_send_head) { + while ((skb = skb_peek(&sk->sk_write_queue)) && + skb != sk->sk_send_head) { struct tcp_skb_cb *scb = TCP_SKB_CB(skb); __u8 sacked = scb->sacked; @@ -2349,8 +2443,12 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p) * discard it as it's confirmed to have arrived at * the other end. */ - if (after(scb->end_seq, tp->snd_una)) + if (after(scb->end_seq, tp->snd_una)) { + if (tcp_skb_pcount(skb) > 1) + acked |= tcp_tso_acked(sk, skb, + now, &seq_rtt); break; + } /* Initial outgoing SYN's get put onto the write_queue * just like anything else we transmit. It is not @@ -2359,7 +2457,7 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p) * connection startup slow start one packet too * quickly. This is severely frowned upon behavior. */ - if(!(scb->flags & TCPCB_FLAG_SYN)) { + if (!(scb->flags & TCPCB_FLAG_SYN)) { acked |= FLAG_DATA_ACKED; } else { acked |= FLAG_SYN_ACKED; @@ -2367,27 +2465,26 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p) } if (sacked) { - if(sacked & TCPCB_RETRANS) { + if (sacked & TCPCB_RETRANS) { if(sacked & TCPCB_SACKED_RETRANS) - tp->retrans_out--; + tcp_dec_pcount(&tp->retrans_out, skb); acked |= FLAG_RETRANS_DATA_ACKED; seq_rtt = -1; } else if (seq_rtt < 0) seq_rtt = now - scb->when; - if(sacked & TCPCB_SACKED_ACKED) - tp->sacked_out--; - if(sacked & TCPCB_LOST) - tp->lost_out--; - if(sacked & TCPCB_URG) { + if (sacked & TCPCB_SACKED_ACKED) + tcp_dec_pcount(&tp->sacked_out, skb); + if (sacked & TCPCB_LOST) + tcp_dec_pcount(&tp->lost_out, skb); + if (sacked & TCPCB_URG) { if (tp->urg_mode && !before(scb->end_seq, tp->snd_up)) tp->urg_mode = 0; } } else if (seq_rtt < 0) seq_rtt = now - scb->when; - if (tp->fackets_out) - tp->fackets_out--; - tp->packets_out--; + tcp_dec_pcount_approx(&tp->fackets_out, skb); + tcp_packets_out_dec(tp, skb); __skb_unlink(skb, skb->list); sk_stream_free_skb(sk, skb); } @@ -2398,24 +2495,27 @@ static int tcp_clean_rtx_queue(struct sock *sk, __s32 *seq_rtt_p) } #if FASTRETRANS_DEBUG > 0 - BUG_TRAP((int)tp->sacked_out >= 0); - BUG_TRAP((int)tp->lost_out >= 0); - BUG_TRAP((int)tp->retrans_out >= 0); - if (!tp->packets_out && tp->sack_ok) { - if (tp->lost_out) { - printk(KERN_DEBUG "Leak l=%u %d\n", tp->lost_out, - tp->ca_state); - tp->lost_out = 0; + BUG_TRAP((int)tcp_get_pcount(&tp->sacked_out) >= 0); + BUG_TRAP((int)tcp_get_pcount(&tp->lost_out) >= 0); + BUG_TRAP((int)tcp_get_pcount(&tp->retrans_out) >= 0); + if (!tcp_get_pcount(&tp->packets_out) && tp->sack_ok) { + if (tcp_get_pcount(&tp->lost_out)) { + printk(KERN_DEBUG "Leak l=%u %d\n", + tcp_get_pcount(&tp->lost_out), + tp->ca_state); + tcp_set_pcount(&tp->lost_out, 0); } - if (tp->sacked_out) { - printk(KERN_DEBUG "Leak s=%u %d\n", tp->sacked_out, - tp->ca_state); - tp->sacked_out = 0; + if (tcp_get_pcount(&tp->sacked_out)) { + printk(KERN_DEBUG "Leak s=%u %d\n", + tcp_get_pcount(&tp->sacked_out), + tp->ca_state); + tcp_set_pcount(&tp->sacked_out, 0); } - if (tp->retrans_out) { - printk(KERN_DEBUG "Leak r=%u %d\n", tp->retrans_out, - tp->ca_state); - tp->retrans_out = 0; + if (tcp_get_pcount(&tp->retrans_out)) { + printk(KERN_DEBUG "Leak r=%u %d\n", + tcp_get_pcount(&tp->retrans_out), + tp->ca_state); + tcp_set_pcount(&tp->retrans_out, 0); } } #endif @@ -2594,18 +2694,16 @@ static void westwood_filter(struct sock *sk, __u32 delta) * WESTWOOD_RTT_MIN minimum bound since we could be on a LAN! */ -static inline __u32 westwood_update_rttmin(struct sock *sk) +static inline __u32 westwood_update_rttmin(const struct sock *sk) { - struct tcp_opt *tp = tcp_sk(sk); + const struct tcp_opt *tp = tcp_sk(sk); __u32 rttmin = tp->westwood.rtt_min; - if (tp->westwood.rtt == 0) - return(rttmin); - - if (tp->westwood.rtt < tp->westwood.rtt_min || !rttmin) + if (tp->westwood.rtt != 0 && + (tp->westwood.rtt < tp->westwood.rtt_min || !rttmin)) rttmin = tp->westwood.rtt; - return(rttmin); + return rttmin; } /* @@ -2613,11 +2711,11 @@ static inline __u32 westwood_update_rttmin(struct sock *sk) * Evaluate increases for dk. */ -static inline __u32 westwood_acked(struct sock *sk) +static inline __u32 westwood_acked(const struct sock *sk) { - struct tcp_opt *tp = tcp_sk(sk); + const struct tcp_opt *tp = tcp_sk(sk); - return ((tp->snd_una) - (tp->westwood.snd_una)); + return tp->snd_una - tp->westwood.snd_una; } /* @@ -2629,9 +2727,9 @@ static inline __u32 westwood_acked(struct sock *sk) * window, 1 if the sample has to be considered in the next window. */ -static int westwood_new_window(struct sock *sk) +static int westwood_new_window(const struct sock *sk) { - struct tcp_opt *tp = tcp_sk(sk); + const struct tcp_opt *tp = tcp_sk(sk); __u32 left_bound; __u32 rtt; int ret = 0; @@ -2665,14 +2763,13 @@ static void __westwood_update_window(struct sock *sk, __u32 now) struct tcp_opt *tp = tcp_sk(sk); __u32 delta = now - tp->westwood.rtt_win_sx; - if (!delta) - return; - - if (tp->westwood.rtt) - westwood_filter(sk, delta); + if (delta) { + if (tp->westwood.rtt) + westwood_filter(sk, delta); - tp->westwood.bk = 0; - tp->westwood.rtt_win_sx = tcp_time_stamp; + tp->westwood.bk = 0; + tp->westwood.rtt_win_sx = tcp_time_stamp; + } } @@ -2710,19 +2807,19 @@ static void westwood_dupack_update(struct sock *sk) { struct tcp_opt *tp = tcp_sk(sk); - tp->westwood.accounted += tp->mss_cache; - tp->westwood.cumul_ack = tp->mss_cache; + tp->westwood.accounted += tp->mss_cache_std; + tp->westwood.cumul_ack = tp->mss_cache_std; } static inline int westwood_may_change_cumul(struct tcp_opt *tp) { - return ((tp->westwood.cumul_ack) > tp->mss_cache); + return (tp->westwood.cumul_ack > tp->mss_cache_std); } static inline void westwood_partial_update(struct tcp_opt *tp) { tp->westwood.accounted -= tp->westwood.cumul_ack; - tp->westwood.cumul_ack = tp->mss_cache; + tp->westwood.cumul_ack = tp->mss_cache_std; } static inline void westwood_complete_update(struct tcp_opt *tp) @@ -2737,7 +2834,7 @@ static inline void westwood_complete_update(struct tcp_opt *tp) * delayed or partial acks. */ -static __u32 westwood_acked_count(struct sock *sk) +static inline __u32 westwood_acked_count(struct sock *sk) { struct tcp_opt *tp = tcp_sk(sk); @@ -2751,7 +2848,7 @@ static __u32 westwood_acked_count(struct sock *sk) if (westwood_may_change_cumul(tp)) { /* Partial or delayed ack */ - if ((tp->westwood.accounted) >= (tp->westwood.cumul_ack)) + if (tp->westwood.accounted >= tp->westwood.cumul_ack) westwood_partial_update(tp); else westwood_complete_update(tp); @@ -2833,7 +2930,7 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag) */ sk->sk_err_soft = 0; tp->rcv_tstamp = tcp_time_stamp; - prior_packets = tp->packets_out; + prior_packets = tcp_get_pcount(&tp->packets_out); if (!prior_packets) goto no_queue; @@ -3855,11 +3952,11 @@ static void tcp_new_space(struct sock *sk) { struct tcp_opt *tp = tcp_sk(sk); - if (tp->packets_out < tp->snd_cwnd && + if (tcp_get_pcount(&tp->packets_out) < tp->snd_cwnd && !(sk->sk_userlocks & SOCK_SNDBUF_LOCK) && !tcp_memory_pressure && atomic_read(&tcp_memory_allocated) < sysctl_tcp_mem[0]) { - int sndmem = max_t(u32, tp->mss_clamp, tp->mss_cache) + + int sndmem = max_t(u32, tp->mss_clamp, tp->mss_cache_std) + MAX_TCP_HEADER + 16 + sizeof(struct sk_buff), demanded = max_t(unsigned int, tp->snd_cwnd, tp->reordering + 1); @@ -4860,7 +4957,7 @@ discard: EXPORT_SYMBOL(sysctl_tcp_ecn); EXPORT_SYMBOL(sysctl_tcp_reordering); -EXPORT_SYMBOL(tcp_cwnd_application_limited); +EXPORT_SYMBOL_GPL(tcp_cwnd_application_limited); EXPORT_SYMBOL(tcp_parse_options); EXPORT_SYMBOL(tcp_rcv_established); EXPORT_SYMBOL(tcp_rcv_state_process); diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 55b80609a..104457202 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@ -1037,11 +1037,7 @@ void tcp_v4_err(struct sk_buff *skb, u32 info) switch (type) { case ICMP_SOURCE_QUENCH: - /* This is deprecated, but if someone generated it, - * we have no reasons to ignore it. - */ - if (!sock_owned_by_user(sk)) - tcp_enter_cwr(tp); + /* Just silently ignore these. */ goto out; case ICMP_PARAMETERPROB: err = EPROTO; @@ -2121,7 +2117,7 @@ static int tcp_v4_init_sock(struct sock *sk) */ tp->snd_ssthresh = 0x7fffffff; /* Infinity */ tp->snd_cwnd_clamp = ~0; - tp->mss_cache = 536; + tp->mss_cache_std = tp->mss_cache = 536; tp->reordering = sysctl_tcp_reordering; @@ -2212,9 +2208,10 @@ static void *listening_get_next(struct seq_file *seq, void *cur) while (1) { while (req) { vxdprintk(VXD_CBIT(net, 6), - "sk,req: %p [#%d] (from %d)", - req->sk, req->sk->sk_xid, current->xid); - if (!vx_check(req->sk->sk_xid, VX_IDENT|VX_WATCH)) + "sk,req: %p [#%d] (from %d)", req->sk, + (req->sk)?req->sk->sk_xid:0, current->xid); + if (req->sk && + !vx_check(req->sk->sk_xid, VX_IDENT|VX_WATCH)) continue; if (req->class->family == st->family) { cur = req; @@ -2230,8 +2227,14 @@ get_req: sk = sk_next(st->syn_wait_sk); st->state = TCP_SEQ_STATE_LISTENING; read_unlock_bh(&tp->syn_wait_lock); - } else + } else { + tp = tcp_sk(sk); + read_lock_bh(&tp->syn_wait_lock); + if (tp->listen_opt && tp->listen_opt->qlen) + goto start_req; + read_unlock_bh(&tp->syn_wait_lock); sk = sk_next(sk); + } get_sk: sk_for_each_from(sk, node) { vxdprintk(VXD_CBIT(net, 6), "sk: %p [#%d] (from %d)", @@ -2245,6 +2248,7 @@ get_sk: tp = tcp_sk(sk); read_lock_bh(&tp->syn_wait_lock); if (tp->listen_opt && tp->listen_opt->qlen) { +start_req: st->uid = sock_i_uid(sk); st->syn_wait_sk = sk; st->state = TCP_SEQ_STATE_OPENREQ; @@ -2686,6 +2690,7 @@ struct proto tcp_prot = { .sysctl_wmem = sysctl_tcp_wmem, .sysctl_rmem = sysctl_tcp_rmem, .max_header = MAX_TCP_HEADER, + .slab_obj_size = sizeof(struct tcp_sock), }; @@ -2718,7 +2723,7 @@ EXPORT_SYMBOL(tcp_unhash); EXPORT_SYMBOL(tcp_v4_conn_request); EXPORT_SYMBOL(tcp_v4_connect); EXPORT_SYMBOL(tcp_v4_do_rcv); -EXPORT_SYMBOL(tcp_v4_lookup_listener); +EXPORT_SYMBOL_GPL(tcp_v4_lookup_listener); EXPORT_SYMBOL(tcp_v4_rebuild_header); EXPORT_SYMBOL(tcp_v4_remember_stamp); EXPORT_SYMBOL(tcp_v4_send_check); diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c index 51ac81b75..65d7298bc 100644 --- a/net/ipv4/tcp_minisocks.c +++ b/net/ipv4/tcp_minisocks.c @@ -368,7 +368,7 @@ void tcp_time_wait(struct sock *sk, int state, int timeo) tw->tw_vx_info = NULL; tw->tw_nid = sk->sk_nid; tw->tw_nx_info = NULL; - + #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) if (tw->tw_family == PF_INET6) { struct ipv6_pinfo *np = inet6_sk(sk); @@ -694,7 +694,7 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct open_request *req, /* allocate the newsk from the same slab of the master sock, * if not, at sk_free time we'll try to free it from the wrong * slabcache (i.e. is it TCPv4 or v6?) -acme */ - struct sock *newsk = sk_alloc(PF_INET, GFP_ATOMIC, 0, sk->sk_slab); + struct sock *newsk = sk_alloc(PF_INET, GFP_ATOMIC, 0, sk->sk_prot->slab); if(newsk != NULL) { struct tcp_opt *newtp; @@ -764,11 +764,11 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct open_request *req, newtp->mdev = TCP_TIMEOUT_INIT; newtp->rto = TCP_TIMEOUT_INIT; - newtp->packets_out = 0; - newtp->left_out = 0; - newtp->retrans_out = 0; - newtp->sacked_out = 0; - newtp->fackets_out = 0; + tcp_set_pcount(&newtp->packets_out, 0); + tcp_set_pcount(&newtp->left_out, 0); + tcp_set_pcount(&newtp->retrans_out, 0); + tcp_set_pcount(&newtp->sacked_out, 0); + tcp_set_pcount(&newtp->fackets_out, 0); newtp->snd_ssthresh = 0x7fffffff; /* So many TCP implementations out there (incorrectly) count the @@ -866,7 +866,8 @@ struct sock *tcp_create_openreq_child(struct sock *sk, struct open_request *req, if (newtp->ecn_flags&TCP_ECN_OK) newsk->sk_no_largesend = 1; - tcp_vegas_init(newtp); + tcp_ca_init(newtp); + TCP_INC_STATS_BH(TCP_MIB_PASSIVEOPENS); } return newsk; diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 68ab99fc0..062b42ace 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -45,6 +45,12 @@ /* People can turn this off for buggy TCP's found in printers etc. */ int sysctl_tcp_retrans_collapse = 1; +/* This limits the percentage of the congestion window which we + * will allow a single TSO frame to consume. Building TSO frames + * which are too large can cause TCP streams to be bursty. + */ +int sysctl_tcp_tso_win_divisor = 8; + static __inline__ void update_send_head(struct sock *sk, struct tcp_opt *tp, struct sk_buff *skb) { @@ -52,8 +58,7 @@ void update_send_head(struct sock *sk, struct tcp_opt *tp, struct sk_buff *skb) if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue) sk->sk_send_head = NULL; tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; - if (tp->packets_out++ == 0) - tcp_reset_xmit_timer(sk, TCP_TIME_RETRANS, tp->rto); + tcp_packets_out_inc(sk, tp, skb); } /* SND.NXT, if window was not shrunk. @@ -123,7 +128,8 @@ static __inline__ void tcp_event_data_sent(struct tcp_opt *tp, struct sk_buff *s { u32 now = tcp_time_stamp; - if (!tp->packets_out && (s32)(now - tp->lsndtime) > tp->rto) + if (!tcp_get_pcount(&tp->packets_out) && + (s32)(now - tp->lsndtime) > tp->rto) tcp_cwnd_restart(tp, __sk_dst_get(sk)); tp->lsndtime = now; @@ -143,6 +149,65 @@ static __inline__ void tcp_event_ack_sent(struct sock *sk) tcp_clear_xmit_timer(sk, TCP_TIME_DACK); } +/* Determine a window scaling and initial window to offer. + * Based on the assumption that the given amount of space + * will be offered. Store the results in the tp structure. + * NOTE: for smooth operation initial space offering should + * be a multiple of mss if possible. We assume here that mss >= 1. + * This MUST be enforced by all callers. + */ +void tcp_select_initial_window(int __space, __u32 mss, + __u32 *rcv_wnd, __u32 *window_clamp, + int wscale_ok, __u8 *rcv_wscale) +{ + unsigned int space = (__space < 0 ? 0 : __space); + + /* If no clamp set the clamp to the max possible scaled window */ + if (*window_clamp == 0) + (*window_clamp) = (65535 << 14); + space = min(*window_clamp, space); + + /* Quantize space offering to a multiple of mss if possible. */ + if (space > mss) + space = (space / mss) * mss; + + /* NOTE: offering an initial window larger than 32767 + * will break some buggy TCP stacks. We try to be nice. + * If we are not window scaling, then this truncates + * our initial window offering to 32k. There should also + * be a sysctl option to stop being nice. + */ + (*rcv_wnd) = min(space, MAX_TCP_WINDOW); + (*rcv_wscale) = 0; + if (wscale_ok) { + /* Set window scaling on max possible window + * See RFC1323 for an explanation of the limit to 14 + */ + space = max_t(u32, sysctl_tcp_rmem[2], sysctl_rmem_max); + while (space > 65535 && (*rcv_wscale) < 14) { + space >>= 1; + (*rcv_wscale)++; + } + } + + /* Set initial window to value enough for senders, + * following RFC1414. Senders, not following this RFC, + * will be satisfied with 2. + */ + if (mss > (1<<*rcv_wscale)) { + int init_cwnd = 4; + if (mss > 1460*3) + init_cwnd = 2; + else if (mss > 1460) + init_cwnd = 3; + if (*rcv_wnd > init_cwnd*mss) + *rcv_wnd = init_cwnd*mss; + } + + /* Set the clamp no higher than max representable value */ + (*window_clamp) = min(65535U << (*rcv_wscale), *window_clamp); +} + /* Chose a new window to advertise, update state in tcp_opt for the * socket, and return result with RFC1323 scaling applied. The return * value can be stuffed directly into th->window for an outgoing @@ -198,9 +263,9 @@ static __inline__ u16 tcp_select_window(struct sock *sk) * We are working here with either a clone of the original * SKB, or a fresh unique copy made by the retransmit engine. */ -int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb) +static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb) { - if(skb != NULL) { + if (skb != NULL) { struct inet_opt *inet = inet_sk(sk); struct tcp_opt *tp = tcp_sk(sk); struct tcp_skb_cb *tcb = TCP_SKB_CB(skb); @@ -209,6 +274,8 @@ int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb) int sysctl_flags; int err; + BUG_ON(!tcp_skb_pcount(skb)); + #define SYSCTL_FLAG_TSTAMPS 0x1 #define SYSCTL_FLAG_WSCALE 0x2 #define SYSCTL_FLAG_SACK 0x4 @@ -355,13 +422,31 @@ void tcp_push_one(struct sock *sk, unsigned cur_mss) if (!tcp_transmit_skb(sk, skb_clone(skb, sk->sk_allocation))) { sk->sk_send_head = NULL; tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; - if (tp->packets_out++ == 0) - tcp_reset_xmit_timer(sk, TCP_TIME_RETRANS, tp->rto); + tcp_packets_out_inc(sk, tp, skb); return; } } } +void tcp_set_skb_tso_segs(struct sk_buff *skb, unsigned int mss_std) +{ + if (skb->len <= mss_std) { + /* Avoid the costly divide in the normal + * non-TSO case. + */ + skb_shinfo(skb)->tso_segs = 1; + skb_shinfo(skb)->tso_size = 0; + } else { + unsigned int factor; + + factor = skb->len + (mss_std - 1); + factor /= mss_std; + skb_shinfo(skb)->tso_segs = factor; + skb_shinfo(skb)->tso_size = mss_std; + } +} +EXPORT_SYMBOL_GPL(tcp_set_skb_tso_segs); + /* Function to create two new TCP segments. Shrinks the given segment * to the specified size and appends a new segment with the rest of the * packet to the list. This won't be called frequently, I hope. @@ -371,9 +456,13 @@ static int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len) { struct tcp_opt *tp = tcp_sk(sk); struct sk_buff *buff; - int nsize = skb->len - len; + int nsize; u16 flags; + nsize = skb_headlen(skb) - len; + if (nsize < 0) + nsize = 0; + if (skb_cloned(skb) && skb_is_nonlinear(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) @@ -394,11 +483,9 @@ static int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len) flags = TCP_SKB_CB(skb)->flags; TCP_SKB_CB(skb)->flags = flags & ~(TCPCB_FLAG_FIN|TCPCB_FLAG_PSH); TCP_SKB_CB(buff)->flags = flags; - TCP_SKB_CB(buff)->sacked = TCP_SKB_CB(skb)->sacked&(TCPCB_LOST|TCPCB_EVER_RETRANS|TCPCB_AT_TAIL); - if (TCP_SKB_CB(buff)->sacked&TCPCB_LOST) { - tp->lost_out++; - tp->left_out++; - } + TCP_SKB_CB(buff)->sacked = + (TCP_SKB_CB(skb)->sacked & + (TCPCB_LOST | TCPCB_EVER_RETRANS | TCPCB_AT_TAIL)); TCP_SKB_CB(skb)->sacked &= ~TCPCB_AT_TAIL; if (!skb_shinfo(skb)->nr_frags && skb->ip_summed != CHECKSUM_HW) { @@ -421,6 +508,25 @@ static int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len) */ TCP_SKB_CB(buff)->when = TCP_SKB_CB(skb)->when; + if (TCP_SKB_CB(skb)->sacked & TCPCB_LOST) { + tcp_dec_pcount(&tp->lost_out, skb); + tcp_dec_pcount(&tp->left_out, skb); + } + + /* Fix up tso_factor for both original and new SKB. */ + tcp_set_skb_tso_segs(skb, tp->mss_cache_std); + tcp_set_skb_tso_segs(buff, tp->mss_cache_std); + + if (TCP_SKB_CB(skb)->sacked & TCPCB_LOST) { + tcp_inc_pcount(&tp->lost_out, skb); + tcp_inc_pcount(&tp->left_out, skb); + } + + if (TCP_SKB_CB(buff)->sacked&TCPCB_LOST) { + tcp_inc_pcount(&tp->lost_out, buff); + tcp_inc_pcount(&tp->left_out, buff); + } + /* Link BUFF into the send queue. */ __skb_append(skb, buff); @@ -431,7 +537,7 @@ static int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len) * eventually). The difference is that pulled data not copied, but * immediately discarded. */ -unsigned char * __pskb_trim_head(struct sk_buff *skb, int len) +static unsigned char *__pskb_trim_head(struct sk_buff *skb, int len) { int i, k, eat; @@ -459,7 +565,7 @@ unsigned char * __pskb_trim_head(struct sk_buff *skb, int len) return skb->tail; } -static int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) +int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) { if (skb_cloned(skb) && pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) @@ -474,6 +580,18 @@ static int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) TCP_SKB_CB(skb)->seq += len; skb->ip_summed = CHECKSUM_HW; + + skb->truesize -= len; + sk->sk_queue_shrunk = 1; + sk->sk_wmem_queued -= len; + sk->sk_forward_alloc += len; + + /* Any change of skb->len requires recalculation of tso + * factor and mss. + */ + if (tcp_skb_pcount(skb) > 1) + tcp_set_skb_tso_segs(skb, tcp_skb_mss(skb)); + return 0; } @@ -500,7 +618,7 @@ static int tcp_trim_head(struct sock *sk, struct sk_buff *skb, u32 len) this function. --ANK (980731) */ -int tcp_sync_mss(struct sock *sk, u32 pmtu) +unsigned int tcp_sync_mss(struct sock *sk, u32 pmtu) { struct tcp_opt *tp = tcp_sk(sk); struct dst_entry *dst = __sk_dst_get(sk); @@ -536,22 +654,71 @@ int tcp_sync_mss(struct sock *sk, u32 pmtu) tp->pmtu_cookie = pmtu; tp->mss_cache = tp->mss_cache_std = mss_now; - if (sk->sk_route_caps & NETIF_F_TSO) { - int large_mss; + return mss_now; +} + +/* Compute the current effective MSS, taking SACKs and IP options, + * and even PMTU discovery events into account. + * + * LARGESEND note: !urg_mode is overkill, only frames up to snd_up + * cannot be large. However, taking into account rare use of URG, this + * is not a big flaw. + */ + +unsigned int tcp_current_mss(struct sock *sk, int large) +{ + struct tcp_opt *tp = tcp_sk(sk); + struct dst_entry *dst = __sk_dst_get(sk); + unsigned int do_large, mss_now; + + mss_now = tp->mss_cache_std; + if (dst) { + u32 mtu = dst_pmtu(dst); + if (mtu != tp->pmtu_cookie || + tp->ext2_header_len != dst->header_len) + mss_now = tcp_sync_mss(sk, mtu); + } + + do_large = (large && + (sk->sk_route_caps & NETIF_F_TSO) && + !tp->urg_mode); + + if (do_large) { + unsigned int large_mss, factor, limit; large_mss = 65535 - tp->af_specific->net_header_len - - tp->ext_header_len - tp->ext2_header_len - tp->tcp_header_len; + tp->ext_header_len - tp->ext2_header_len - + tp->tcp_header_len; if (tp->max_window && large_mss > (tp->max_window>>1)) - large_mss = max((tp->max_window>>1), 68U - tp->tcp_header_len); + large_mss = max((tp->max_window>>1), + 68U - tp->tcp_header_len); + + factor = large_mss / mss_now; - /* Always keep large mss multiple of real mss. */ - tp->mss_cache = mss_now*(large_mss/mss_now); + /* Always keep large mss multiple of real mss, but + * do not exceed 1/tso_win_divisor of the congestion window + * so we can keep the ACK clock ticking and minimize + * bursting. + */ + limit = tp->snd_cwnd; + if (sysctl_tcp_tso_win_divisor) + limit /= sysctl_tcp_tso_win_divisor; + limit = max(1U, limit); + if (factor > limit) + factor = limit; + + tp->mss_cache = mss_now * factor; + + mss_now = tp->mss_cache; } + if (tp->eff_sacks) + mss_now -= (TCPOLEN_SACK_BASE_ALIGNED + + (tp->eff_sacks * TCPOLEN_SACK_PERBLOCK)); return mss_now; } - +EXPORT_SYMBOL_GPL(tcp_current_mss); /* This routine writes packets to the network. It advances the * send_head. This happens as incoming acks open up the remote @@ -592,8 +759,12 @@ int tcp_write_xmit(struct sock *sk, int nonagle) TCP_SKB_CB(skb)->when = tcp_time_stamp; if (tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC))) break; - /* Advance the send_head. This one is sent out. */ + + /* Advance the send_head. This one is sent out. + * This call will increment packets_out. + */ update_send_head(sk, tp, skb); + tcp_minshall_update(tp, mss_now, skb); sent_pkts = 1; } @@ -603,7 +774,7 @@ int tcp_write_xmit(struct sock *sk, int nonagle) return 0; } - return !tp->packets_out && sk->sk_send_head; + return !tcp_get_pcount(&tp->packets_out) && sk->sk_send_head; } return 0; } @@ -729,7 +900,7 @@ static void tcp_retrans_try_collapse(struct sock *sk, struct sk_buff *skb, int m /* The first test we must make is that neither of these two * SKB's are still referenced by someone else. */ - if(!skb_cloned(skb) && !skb_cloned(next_skb)) { + if (!skb_cloned(skb) && !skb_cloned(next_skb)) { int skb_size = skb->len, next_skb_size = next_skb->len; u16 flags = TCP_SKB_CB(skb)->flags; @@ -749,6 +920,9 @@ static void tcp_retrans_try_collapse(struct sock *sk, struct sk_buff *skb, int m ((skb_size + next_skb_size) > mss_now)) return; + BUG_ON(tcp_skb_pcount(skb) != 1 || + tcp_skb_pcount(next_skb) != 1); + /* Ok. We will be able to collapse the packet. */ __skb_unlink(next_skb, next_skb->list); @@ -772,24 +946,23 @@ static void tcp_retrans_try_collapse(struct sock *sk, struct sk_buff *skb, int m */ TCP_SKB_CB(skb)->sacked |= TCP_SKB_CB(next_skb)->sacked&(TCPCB_EVER_RETRANS|TCPCB_AT_TAIL); if (TCP_SKB_CB(next_skb)->sacked&TCPCB_SACKED_RETRANS) - tp->retrans_out--; + tcp_dec_pcount(&tp->retrans_out, next_skb); if (TCP_SKB_CB(next_skb)->sacked&TCPCB_LOST) { - tp->lost_out--; - tp->left_out--; + tcp_dec_pcount(&tp->lost_out, next_skb); + tcp_dec_pcount(&tp->left_out, next_skb); } /* Reno case is special. Sigh... */ - if (!tp->sack_ok && tp->sacked_out) { - tp->sacked_out--; - tp->left_out--; + if (!tp->sack_ok && tcp_get_pcount(&tp->sacked_out)) { + tcp_dec_pcount_approx(&tp->sacked_out, next_skb); + tcp_dec_pcount(&tp->left_out, next_skb); } /* Not quite right: it can be > snd.fack, but * it is better to underestimate fackets. */ - if (tp->fackets_out) - tp->fackets_out--; + tcp_dec_pcount_approx(&tp->fackets_out, next_skb); + tcp_packets_out_dec(tp, next_skb); sk_stream_free_skb(sk, next_skb); - tp->packets_out--; } } @@ -809,11 +982,11 @@ void tcp_simple_retransmit(struct sock *sk) !(TCP_SKB_CB(skb)->sacked&TCPCB_SACKED_ACKED)) { if (TCP_SKB_CB(skb)->sacked&TCPCB_SACKED_RETRANS) { TCP_SKB_CB(skb)->sacked &= ~TCPCB_SACKED_RETRANS; - tp->retrans_out--; + tcp_dec_pcount(&tp->retrans_out, skb); } if (!(TCP_SKB_CB(skb)->sacked&TCPCB_LOST)) { TCP_SKB_CB(skb)->sacked |= TCPCB_LOST; - tp->lost_out++; + tcp_inc_pcount(&tp->lost_out, skb); lost = 1; } } @@ -879,12 +1052,18 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb) && TCP_SKB_CB(skb)->seq != tp->snd_una) return -EAGAIN; - if(skb->len > cur_mss) { - if(tcp_fragment(sk, skb, cur_mss)) + if (skb->len > cur_mss) { + int old_factor = tcp_skb_pcount(skb); + int new_factor; + + if (tcp_fragment(sk, skb, cur_mss)) return -ENOMEM; /* We'll try again later. */ /* New SKB created, account for it. */ - tp->packets_out++; + new_factor = tcp_skb_pcount(skb); + tcp_dec_pcount_explicit(&tp->packets_out, + old_factor - new_factor); + tcp_inc_pcount(&tp->packets_out, skb->next); } /* Collapse two adjacent packets if worthwhile and we can. */ @@ -908,6 +1087,8 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb) tp->snd_una == (TCP_SKB_CB(skb)->end_seq - 1)) { if (!pskb_trim(skb, 0)) { TCP_SKB_CB(skb)->seq = TCP_SKB_CB(skb)->end_seq - 1; + skb_shinfo(skb)->tso_segs = 1; + skb_shinfo(skb)->tso_size = 0; skb->ip_summed = CHECKSUM_NONE; skb->csum = 0; } @@ -933,7 +1114,7 @@ int tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb) } #endif TCP_SKB_CB(skb)->sacked |= TCPCB_RETRANS; - tp->retrans_out++; + tcp_inc_pcount(&tp->retrans_out, skb); /* Save stamp of the first retransmit. */ if (!tp->retrans_stamp) @@ -961,13 +1142,20 @@ void tcp_xmit_retransmit_queue(struct sock *sk) { struct tcp_opt *tp = tcp_sk(sk); struct sk_buff *skb; - int packet_cnt = tp->lost_out; + int packet_cnt = tcp_get_pcount(&tp->lost_out); /* First pass: retransmit lost packets. */ if (packet_cnt) { sk_stream_for_retrans_queue(skb, sk) { __u8 sacked = TCP_SKB_CB(skb)->sacked; + /* Assume this retransmit will generate + * only one packet for congestion window + * calculation purposes. This works because + * tcp_retransmit_skb() will chop up the + * packet to be MSS sized and all the + * packet counting works out. + */ if (tcp_packets_in_flight(tp) >= tp->snd_cwnd) return; @@ -985,7 +1173,8 @@ void tcp_xmit_retransmit_queue(struct sock *sk) tcp_reset_xmit_timer(sk, TCP_TIME_RETRANS, tp->rto); } - if (--packet_cnt <= 0) + packet_cnt -= tcp_skb_pcount(skb); + if (packet_cnt <= 0) break; } } @@ -1004,7 +1193,7 @@ void tcp_xmit_retransmit_queue(struct sock *sk) /* Yeah, we have to make difficult choice between forward transmission * and retransmission... Both ways have their merits... * - * For now we do not retrnamsit anything, while we have some new + * For now we do not retransmit anything, while we have some new * segments to send. */ @@ -1014,17 +1203,23 @@ void tcp_xmit_retransmit_queue(struct sock *sk) packet_cnt = 0; sk_stream_for_retrans_queue(skb, sk) { - if(++packet_cnt > tp->fackets_out) + /* Similar to the retransmit loop above we + * can pretend that the retransmitted SKB + * we send out here will be composed of one + * real MSS sized packet because tcp_retransmit_skb() + * will fragment it if necessary. + */ + if (++packet_cnt > tcp_get_pcount(&tp->fackets_out)) break; if (tcp_packets_in_flight(tp) >= tp->snd_cwnd) break; - if(TCP_SKB_CB(skb)->sacked & TCPCB_TAGBITS) + if (TCP_SKB_CB(skb)->sacked & TCPCB_TAGBITS) continue; /* Ok, retransmit it. */ - if(tcp_retransmit_skb(sk, skb)) + if (tcp_retransmit_skb(sk, skb)) break; if (skb == skb_peek(&sk->sk_write_queue)) @@ -1042,13 +1237,13 @@ void tcp_send_fin(struct sock *sk) { struct tcp_opt *tp = tcp_sk(sk); struct sk_buff *skb = skb_peek_tail(&sk->sk_write_queue); - unsigned int mss_now; + int mss_now; /* Optimization, tack on the FIN if we have a queue of * unsent frames. But be careful about outgoing SACKS * and IP options. */ - mss_now = tcp_current_mss(sk, 1); + mss_now = tcp_current_mss(sk, 1); if (sk->sk_send_head != NULL) { TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_FIN; @@ -1068,6 +1263,8 @@ void tcp_send_fin(struct sock *sk) skb->csum = 0; TCP_SKB_CB(skb)->flags = (TCPCB_FLAG_ACK | TCPCB_FLAG_FIN); TCP_SKB_CB(skb)->sacked = 0; + skb_shinfo(skb)->tso_segs = 1; + skb_shinfo(skb)->tso_size = 0; /* FIN eats a sequence byte, write_seq advanced by tcp_queue_skb(). */ TCP_SKB_CB(skb)->seq = tp->write_seq; @@ -1099,6 +1296,8 @@ void tcp_send_active_reset(struct sock *sk, int priority) skb->csum = 0; TCP_SKB_CB(skb)->flags = (TCPCB_FLAG_ACK | TCPCB_FLAG_RST); TCP_SKB_CB(skb)->sacked = 0; + skb_shinfo(skb)->tso_segs = 1; + skb_shinfo(skb)->tso_size = 0; /* Send it off. */ TCP_SKB_CB(skb)->seq = tcp_acceptable_seq(sk, tp); @@ -1178,6 +1377,9 @@ struct sk_buff * tcp_make_synack(struct sock *sk, struct dst_entry *dst, th->dest = req->rmt_port; TCP_SKB_CB(skb)->seq = req->snt_isn; TCP_SKB_CB(skb)->end_seq = TCP_SKB_CB(skb)->seq + 1; + TCP_SKB_CB(skb)->sacked = 0; + skb_shinfo(skb)->tso_segs = 1; + skb_shinfo(skb)->tso_size = 0; th->seq = htonl(TCP_SKB_CB(skb)->seq); th->ack_seq = htonl(req->rcv_isn + 1); if (req->rcv_wnd == 0) { /* ignored for retransmitted syns */ @@ -1233,7 +1435,7 @@ static inline void tcp_connect_init(struct sock *sk) tp->window_clamp = dst_metric(dst, RTAX_WINDOW); tp->advmss = dst_metric(dst, RTAX_ADVMSS); tcp_initialize_rcv_mss(sk); - tcp_vegas_init(tp); + tcp_ca_init(tp); tcp_select_initial_window(tcp_full_space(sk), tp->advmss - (tp->ts_recent_stamp ? tp->tcp_header_len - sizeof(struct tcphdr) : 0), @@ -1279,19 +1481,21 @@ int tcp_connect(struct sock *sk) TCP_SKB_CB(buff)->flags = TCPCB_FLAG_SYN; TCP_ECN_send_syn(sk, tp, buff); TCP_SKB_CB(buff)->sacked = 0; + skb_shinfo(buff)->tso_segs = 1; + skb_shinfo(buff)->tso_size = 0; buff->csum = 0; TCP_SKB_CB(buff)->seq = tp->write_seq++; TCP_SKB_CB(buff)->end_seq = tp->write_seq; tp->snd_nxt = tp->write_seq; tp->pushed_seq = tp->write_seq; - tcp_vegas_init(tp); + tcp_ca_init(tp); /* Send it off. */ TCP_SKB_CB(buff)->when = tcp_time_stamp; tp->retrans_stamp = TCP_SKB_CB(buff)->when; __skb_queue_tail(&sk->sk_write_queue, buff); sk_charge_skb(sk, buff); - tp->packets_out++; + tcp_inc_pcount(&tp->packets_out, buff); tcp_transmit_skb(sk, skb_clone(buff, GFP_KERNEL)); TCP_INC_STATS(TCP_MIB_ACTIVEOPENS); @@ -1378,6 +1582,8 @@ void tcp_send_ack(struct sock *sk) buff->csum = 0; TCP_SKB_CB(buff)->flags = TCPCB_FLAG_ACK; TCP_SKB_CB(buff)->sacked = 0; + skb_shinfo(buff)->tso_segs = 1; + skb_shinfo(buff)->tso_size = 0; /* Send it off, this clears delayed acks for us. */ TCP_SKB_CB(buff)->seq = TCP_SKB_CB(buff)->end_seq = tcp_acceptable_seq(sk, tp); @@ -1412,6 +1618,8 @@ static int tcp_xmit_probe_skb(struct sock *sk, int urgent) skb->csum = 0; TCP_SKB_CB(skb)->flags = TCPCB_FLAG_ACK; TCP_SKB_CB(skb)->sacked = urgent; + skb_shinfo(skb)->tso_segs = 1; + skb_shinfo(skb)->tso_size = 0; /* Use a previous sequence. This should cause the other * end to send an ack. Don't queue or clone SKB, just @@ -1432,8 +1640,8 @@ int tcp_write_wakeup(struct sock *sk) if ((skb = sk->sk_send_head) != NULL && before(TCP_SKB_CB(skb)->seq, tp->snd_una+tp->snd_wnd)) { int err; - int mss = tcp_current_mss(sk, 0); - int seg_size = tp->snd_una+tp->snd_wnd-TCP_SKB_CB(skb)->seq; + unsigned int mss = tcp_current_mss(sk, 0); + unsigned int seg_size = tp->snd_una+tp->snd_wnd-TCP_SKB_CB(skb)->seq; if (before(tp->pushed_seq, TCP_SKB_CB(skb)->end_seq)) tp->pushed_seq = TCP_SKB_CB(skb)->end_seq; @@ -1455,7 +1663,9 @@ int tcp_write_wakeup(struct sock *sk) sk->sk_route_caps &= ~NETIF_F_TSO; tp->mss_cache = tp->mss_cache_std; } - } + } else if (!tcp_skb_pcount(skb)) + tcp_set_skb_tso_segs(skb, tp->mss_cache_std); + TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_PSH; TCP_SKB_CB(skb)->when = tcp_time_stamp; err = tcp_transmit_skb(sk, skb_clone(skb, GFP_ATOMIC)); @@ -1483,7 +1693,7 @@ void tcp_send_probe0(struct sock *sk) err = tcp_write_wakeup(sk); - if (tp->packets_out || !sk->sk_send_head) { + if (tcp_get_pcount(&tp->packets_out) || !sk->sk_send_head) { /* Cancel probe timer, if it is not required. */ tp->probes_out = 0; tp->backoff = 0; @@ -1510,13 +1720,8 @@ void tcp_send_probe0(struct sock *sk) } } -EXPORT_SYMBOL(tcp_acceptable_seq); EXPORT_SYMBOL(tcp_connect); -EXPORT_SYMBOL(tcp_connect_init); EXPORT_SYMBOL(tcp_make_synack); -EXPORT_SYMBOL(tcp_send_synack); EXPORT_SYMBOL(tcp_simple_retransmit); EXPORT_SYMBOL(tcp_sync_mss); -EXPORT_SYMBOL(tcp_transmit_skb); -EXPORT_SYMBOL(tcp_write_wakeup); -EXPORT_SYMBOL(tcp_write_xmit); +EXPORT_SYMBOL_GPL(tcp_write_xmit); diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index a57d2d20f..aa1992757 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -121,7 +121,7 @@ static int tcp_out_of_resources(struct sock *sk, int do_reset) * 1. Last segment was sent recently. */ if ((s32)(tcp_time_stamp - tp->lsndtime) <= TCP_TIMEWAIT_LEN || /* 2. Window is closed. */ - (!tp->snd_wnd && !tp->packets_out)) + (!tp->snd_wnd && !tcp_get_pcount(&tp->packets_out))) do_reset = 1; if (do_reset) tcp_send_active_reset(sk, GFP_ATOMIC); @@ -269,7 +269,7 @@ static void tcp_probe_timer(struct sock *sk) struct tcp_opt *tp = tcp_sk(sk); int max_probes; - if (tp->packets_out || !sk->sk_send_head) { + if (tcp_get_pcount(&tp->packets_out) || !sk->sk_send_head) { tp->probes_out = 0; return; } @@ -316,7 +316,7 @@ static void tcp_retransmit_timer(struct sock *sk) { struct tcp_opt *tp = tcp_sk(sk); - if (tp->packets_out == 0) + if (!tcp_get_pcount(&tp->packets_out)) goto out; BUG_TRAP(!skb_queue_empty(&sk->sk_write_queue)); @@ -622,7 +622,7 @@ static void tcp_keepalive_timer (unsigned long data) elapsed = keepalive_time_when(tp); /* It is alive without keepalive 8) */ - if (tp->packets_out || sk->sk_send_head) + if (tcp_get_pcount(&tp->packets_out) || sk->sk_send_head) goto resched; elapsed = tcp_time_stamp - tp->rcv_tstamp; diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index d95648244..0b5d21ef1 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -174,8 +174,7 @@ gotit: struct inet_opt *inet2 = inet_sk(sk2); if (inet2->num == snum && - sk2 != sk && - !ipv6_only_sock(sk2) && + sk2 != sk && !ipv6_only_sock(sk2) && (!sk2->sk_bound_dev_if || !sk->sk_bound_dev_if || sk2->sk_bound_dev_if == sk->sk_bound_dev_if) && @@ -1396,6 +1395,7 @@ struct proto udp_prot = { .hash = udp_v4_hash, .unhash = udp_v4_unhash, .get_port = udp_v4_get_port, + .slab_obj_size = sizeof(struct udp_sock), }; /* ------------------------------------------------------------------------ */ diff --git a/net/ipv4/xfrm4_policy.c b/net/ipv4/xfrm4_policy.c index 3aacce604..3ce69883b 100644 --- a/net/ipv4/xfrm4_policy.c +++ b/net/ipv4/xfrm4_policy.c @@ -12,8 +12,8 @@ #include #include -extern struct dst_ops xfrm4_dst_ops; -extern struct xfrm_policy_afinfo xfrm4_policy_afinfo; +static struct dst_ops xfrm4_dst_ops; +static struct xfrm_policy_afinfo xfrm4_policy_afinfo; static struct xfrm_type_map xfrm4_type_map = { .lock = RW_LOCK_UNLOCKED }; @@ -183,6 +183,15 @@ _decode_session4(struct sk_buff *skb, struct flowi *fl) } break; + case IPPROTO_ICMP: + if (pskb_may_pull(skb, xprth + 2 - skb->data)) { + u8 *icmp = xprth; + + fl->fl_icmp_type = icmp[0]; + fl->fl_icmp_code = icmp[1]; + } + break; + case IPPROTO_ESP: if (pskb_may_pull(skb, xprth + 4 - skb->data)) { u32 *ehdr = (u32 *)xprth; @@ -234,7 +243,7 @@ static void xfrm4_update_pmtu(struct dst_entry *dst, u32 mtu) path->ops->update_pmtu(path, mtu); } -struct dst_ops xfrm4_dst_ops = { +static struct dst_ops xfrm4_dst_ops = { .family = AF_INET, .protocol = __constant_htons(ETH_P_IP), .gc = xfrm4_garbage_collect, @@ -243,7 +252,7 @@ struct dst_ops xfrm4_dst_ops = { .entry_size = sizeof(struct xfrm_dst), }; -struct xfrm_policy_afinfo xfrm4_policy_afinfo = { +static struct xfrm_policy_afinfo xfrm4_policy_afinfo = { .family = AF_INET, .lock = RW_LOCK_UNLOCKED, .type_map = &xfrm4_type_map, @@ -254,12 +263,12 @@ struct xfrm_policy_afinfo xfrm4_policy_afinfo = { .decode_session = _decode_session4, }; -void __init xfrm4_policy_init(void) +static void __init xfrm4_policy_init(void) { xfrm_policy_register_afinfo(&xfrm4_policy_afinfo); } -void __exit xfrm4_policy_fini(void) +static void __exit xfrm4_policy_fini(void) { xfrm_policy_unregister_afinfo(&xfrm4_policy_afinfo); } diff --git a/net/ipv4/xfrm4_tunnel.c b/net/ipv4/xfrm4_tunnel.c index 0d1a0b0c7..dcc04644c 100644 --- a/net/ipv4/xfrm4_tunnel.c +++ b/net/ipv4/xfrm4_tunnel.c @@ -4,13 +4,13 @@ */ #include +#include #include #include #include -static int ipip_output(struct sk_buff **pskb) +static int ipip_output(struct sk_buff *skb) { - struct sk_buff *skb = *pskb; struct iphdr *iph; iph = skb->nh.iph; @@ -43,6 +43,8 @@ int xfrm4_tunnel_register(struct xfrm_tunnel *handler) return ret; } +EXPORT_SYMBOL(xfrm4_tunnel_register); + int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler) { int ret; @@ -60,6 +62,8 @@ int xfrm4_tunnel_deregister(struct xfrm_tunnel *handler) return ret; } +EXPORT_SYMBOL(xfrm4_tunnel_deregister); + static int ipip_rcv(struct sk_buff *skb) { struct xfrm_tunnel *handler = ipip_handler; @@ -68,7 +72,7 @@ static int ipip_rcv(struct sk_buff *skb) if (handler && handler->handler(skb) == 0) return 0; - return xfrm4_rcv_encap(skb, 0); + return xfrm4_rcv(skb); } static void ipip_err(struct sk_buff *skb, u32 info) @@ -84,6 +88,10 @@ static int ipip_init_state(struct xfrm_state *x, void *args) { if (!x->props.mode) return -EINVAL; + + if (x->encap) + return -EINVAL; + x->props.header_len = sizeof(struct iphdr); return 0; diff --git a/net/ipv6/Makefile b/net/ipv6/Makefile index d9e309fe8..b39e04940 100644 --- a/net/ipv6/Makefile +++ b/net/ipv6/Makefile @@ -11,12 +11,13 @@ ipv6-objs := af_inet6.o anycast.o ip6_output.o ip6_input.o addrconf.o sit.o \ ip6_flowlabel.o ipv6_syms.o ipv6-$(CONFIG_XFRM) += xfrm6_policy.o xfrm6_state.o xfrm6_input.o \ - xfrm6_tunnel.o xfrm6_output.o + xfrm6_output.o ipv6-objs += $(ipv6-y) obj-$(CONFIG_INET6_AH) += ah6.o obj-$(CONFIG_INET6_ESP) += esp6.o obj-$(CONFIG_INET6_IPCOMP) += ipcomp6.o +obj-$(CONFIG_INET6_TUNNEL) += xfrm6_tunnel.o obj-$(CONFIG_NETFILTER) += netfilter/ obj-$(CONFIG_IPV6_TUNNEL) += ip6_tunnel.o diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 40ad73c5c..4fb96bc80 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -128,6 +128,9 @@ static struct timer_list addr_chk_timer = TIMER_INITIALIZER(addrconf_verify, 0, 0); static spinlock_t addrconf_verify_lock = SPIN_LOCK_UNLOCKED; +static void addrconf_join_anycast(struct inet6_ifaddr *ifp); +static void addrconf_leave_anycast(struct inet6_ifaddr *ifp); + static int addrconf_ifdown(struct net_device *dev, int how); static void addrconf_dad_start(struct inet6_ifaddr *ifp, int flags); @@ -419,33 +422,28 @@ static void dev_forward_change(struct inet6_dev *idev) ipv6_dev_mc_dec(dev, &addr); } for (ifa=idev->addr_list; ifa; ifa=ifa->if_next) { - ipv6_addr_prefix(&addr, &ifa->addr, ifa->prefix_len); - if (ipv6_addr_any(&addr)) - continue; if (idev->cnf.forwarding) - ipv6_dev_ac_inc(idev->dev, &addr); + addrconf_join_anycast(ifa); else - ipv6_dev_ac_dec(idev->dev, &addr); + addrconf_leave_anycast(ifa); } } -static void addrconf_forward_change(struct inet6_dev *idev) +static void addrconf_forward_change(void) { struct net_device *dev; - - if (idev) { - dev_forward_change(idev); - return; - } + struct inet6_dev *idev; read_lock(&dev_base_lock); for (dev=dev_base; dev; dev=dev->next) { read_lock(&addrconf_lock); idev = __in6_dev_get(dev); if (idev) { + int changed = (!idev->cnf.forwarding) ^ (!ipv6_devconf.forwarding); idev->cnf.forwarding = ipv6_devconf.forwarding; - dev_forward_change(idev); + if (changed) + dev_forward_change(idev); } read_unlock(&addrconf_lock); } @@ -472,6 +470,8 @@ void inet6_ifa_finish_destroy(struct inet6_ifaddr *ifp) printk("Freeing alive inet6 address %p\n", ifp); return; } + dst_release(&ifp->rt->u.dst); + inet6_ifa_count--; kfree(ifp); } @@ -482,25 +482,33 @@ static struct inet6_ifaddr * ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr, int pfxlen, int scope, unsigned flags) { - struct inet6_ifaddr *ifa; + struct inet6_ifaddr *ifa = NULL; + struct rt6_info *rt; int hash; static spinlock_t lock = SPIN_LOCK_UNLOCKED; + int err = 0; spin_lock_bh(&lock); /* Ignore adding duplicate addresses on an interface */ if (ipv6_chk_same_addr(addr, idev->dev)) { - spin_unlock_bh(&lock); ADBG(("ipv6_add_addr: already assigned\n")); - return ERR_PTR(-EEXIST); + err = -EEXIST; + goto out; } ifa = kmalloc(sizeof(struct inet6_ifaddr), GFP_ATOMIC); if (ifa == NULL) { - spin_unlock_bh(&lock); ADBG(("ipv6_add_addr: malloc failed\n")); - return ERR_PTR(-ENOBUFS); + err = -ENOBUFS; + goto out; + } + + rt = addrconf_dst_alloc(idev, addr, 0); + if (IS_ERR(rt)) { + err = PTR_ERR(rt); + goto out; } memset(ifa, 0, sizeof(struct inet6_ifaddr)); @@ -517,9 +525,8 @@ ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr, int pfxlen, read_lock(&addrconf_lock); if (idev->dead) { read_unlock(&addrconf_lock); - spin_unlock_bh(&lock); - kfree(ifa); - return ERR_PTR(-ENODEV); /*XXX*/ + err = -ENODEV; /*XXX*/ + goto out; } inet6_ifa_count++; @@ -553,12 +560,20 @@ ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr, int pfxlen, } #endif + ifa->rt = rt; + in6_ifa_hold(ifa); write_unlock_bh(&idev->lock); read_unlock(&addrconf_lock); +out: spin_unlock_bh(&lock); - notifier_call_chain(&inet6addr_chain,NETDEV_UP,ifa); + if (unlikely(err == 0)) + notifier_call_chain(&inet6addr_chain, NETDEV_UP, ifa); + else { + kfree(ifa); + ifa = ERR_PTR(err); + } return ifa; } @@ -1045,17 +1060,34 @@ void addrconf_join_solict(struct net_device *dev, struct in6_addr *addr) ipv6_dev_mc_inc(dev, &maddr); } -void addrconf_leave_solict(struct net_device *dev, struct in6_addr *addr) +void addrconf_leave_solict(struct inet6_dev *idev, struct in6_addr *addr) { struct in6_addr maddr; - if (dev->flags&(IFF_LOOPBACK|IFF_NOARP)) + if (idev->dev->flags&(IFF_LOOPBACK|IFF_NOARP)) return; addrconf_addr_solict_mult(addr, &maddr); - ipv6_dev_mc_dec(dev, &maddr); + __ipv6_dev_mc_dec(idev, &maddr); } +void addrconf_join_anycast(struct inet6_ifaddr *ifp) +{ + struct in6_addr addr; + ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); + if (ipv6_addr_any(&addr)) + return; + ipv6_dev_ac_inc(ifp->idev->dev, &addr); +} + +void addrconf_leave_anycast(struct inet6_ifaddr *ifp) +{ + struct in6_addr addr; + ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); + if (ipv6_addr_any(&addr)) + return; + __ipv6_dev_ac_dec(ifp->idev, &addr); +} static int ipv6_generate_eui64(u8 *eui, struct net_device *dev) { @@ -1457,8 +1489,7 @@ ok: spin_unlock(&ifp->lock); if (!(flags&IFA_F_TENTATIVE)) - ipv6_ifa_notify((flags&IFA_F_DEPRECATED) ? - 0 : RTM_NEWADDR, ifp); + ipv6_ifa_notify(0, ifp); } else spin_unlock(&ifp->lock); @@ -2056,6 +2087,7 @@ static int addrconf_ifdown(struct net_device *dev, int how) neigh_sysctl_unregister(idev->nd_parms); #endif neigh_parms_release(&nd_tbl, idev->nd_parms); + neigh_ifdown(&nd_tbl, dev); in6_dev_put(idev); } return 0; @@ -2091,21 +2123,13 @@ static void addrconf_rs_timer(unsigned long data) ndisc_send_rs(ifp->idev->dev, &ifp->addr, &all_routers); } else { - struct in6_rtmsg rtmsg; - spin_unlock(&ifp->lock); - + /* + * Note: we do not support deprecated "all on-link" + * assumption any longer. + */ printk(KERN_DEBUG "%s: no IPv6 routers present\n", ifp->idev->dev->name); - - memset(&rtmsg, 0, sizeof(struct in6_rtmsg)); - rtmsg.rtmsg_type = RTMSG_NEWROUTE; - rtmsg.rtmsg_metric = IP6_RT_PRIO_ADDRCONF; - rtmsg.rtmsg_flags = (RTF_ALLONLINK | RTF_DEFAULT | RTF_UP); - - rtmsg.rtmsg_ifindex = ifp->idev->dev->ifindex; - - ip6_route_add(&rtmsg, NULL, NULL); } out: @@ -2216,14 +2240,6 @@ static void addrconf_dad_completed(struct inet6_ifaddr *ifp) addrconf_mod_timer(ifp, AC_RS, ifp->idev->cnf.rtr_solicit_interval); spin_unlock_bh(&ifp->lock); } - - if (ifp->idev->cnf.forwarding) { - struct in6_addr addr; - - ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); - if (!ipv6_addr_any(&addr)) - ipv6_dev_ac_inc(ifp->idev->dev, &addr); - } } #ifdef CONFIG_PROC_FS @@ -2646,6 +2662,10 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb, struct ifmcaddr6 *ifmca; struct ifacaddr6 *ifaca; + /* no ipv6 inside a vserver for now */ + if (skb->sk && skb->sk->sk_vx_info) + return skb->len; + s_idx = cb->args[0]; s_ip_idx = ip_idx = cb->args[1]; read_lock(&dev_base_lock); @@ -2865,6 +2885,10 @@ static int inet6_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb) struct net_device *dev; struct inet6_dev *idev; + /* no ipv6 inside a vserver for now */ + if (skb->sk && skb->sk->sk_vx_info) + return skb->len; + read_lock(&dev_base_lock); for (dev=dev_base, idx=0; dev; dev = dev->next, idx++) { if (idx < s_idx) @@ -2982,19 +3006,21 @@ static void ipv6_ifa_notify(int event, struct inet6_ifaddr *ifp) switch (event) { case RTM_NEWADDR: - ip6_rt_addr_add(&ifp->addr, ifp->idev->dev, 0); + dst_hold(&ifp->rt->u.dst); + if (ip6_ins_rt(ifp->rt, NULL, NULL)) + dst_release(&ifp->rt->u.dst); + if (ifp->idev->cnf.forwarding) + addrconf_join_anycast(ifp); break; case RTM_DELADDR: - addrconf_leave_solict(ifp->idev->dev, &ifp->addr); - if (ifp->idev->cnf.forwarding) { - struct in6_addr addr; - - ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len); - if (!ipv6_addr_any(&addr)) - ipv6_dev_ac_dec(ifp->idev->dev, &addr); - } - if (!ipv6_chk_addr(&ifp->addr, ifp->idev->dev, 1)) - ip6_rt_addr_del(&ifp->addr, ifp->idev->dev); + if (ifp->idev->cnf.forwarding) + addrconf_leave_anycast(ifp); + addrconf_leave_solict(ifp->idev, &ifp->addr); + dst_hold(&ifp->rt->u.dst); + if (ip6_del_rt(ifp->rt, NULL, NULL)) + dst_free(&ifp->rt->u.dst); + else + dst_release(&ifp->rt->u.dst); break; } } @@ -3011,18 +3037,18 @@ int addrconf_sysctl_forward(ctl_table *ctl, int write, struct file * filp, ret = proc_dointvec(ctl, write, filp, buffer, lenp, ppos); - if (write && *valp != val && valp != &ipv6_devconf_dflt.forwarding) { - struct inet6_dev *idev = NULL; - + if (write && valp != &ipv6_devconf_dflt.forwarding) { if (valp != &ipv6_devconf.forwarding) { - idev = (struct inet6_dev *)ctl->extra1; - if (idev == NULL) - return ret; - } else + if ((!*valp) ^ (!val)) { + struct inet6_dev *idev = (struct inet6_dev *)ctl->extra1; + if (idev == NULL) + return ret; + dev_forward_change(idev); + } + } else { ipv6_devconf_dflt.forwarding = ipv6_devconf.forwarding; - - addrconf_forward_change(idev); - + addrconf_forward_change(); + } if (*valp) rt6_purge_dflt_routers(0); } @@ -3063,15 +3089,19 @@ static int addrconf_sysctl_forward_strategy(ctl_table *table, } if (valp != &ipv6_devconf_dflt.forwarding) { - struct inet6_dev *idev; if (valp != &ipv6_devconf.forwarding) { - idev = (struct inet6_dev *)table->extra1; + struct inet6_dev *idev = (struct inet6_dev *)table->extra1; + int changed; if (unlikely(idev == NULL)) return -ENODEV; - } else - idev = NULL; - *valp = new; - addrconf_forward_change(idev); + changed = (!*valp) ^ (!new); + *valp = new; + if (changed) + dev_forward_change(idev); + } else { + *valp = new; + addrconf_forward_change(); + } if (*valp) rt6_purge_dflt_routers(0); diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 83e832e3e..2f3136c3e 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c @@ -90,11 +90,6 @@ int sysctl_ipv6_bindv6only; atomic_t inet6_sock_nr; #endif -/* Per protocol sock slabcache */ -kmem_cache_t *tcp6_sk_cachep; -kmem_cache_t *udp6_sk_cachep; -kmem_cache_t *raw6_sk_cachep; - /* The inetsw table contains everything that inet_create needs to * build a new socket. */ @@ -110,37 +105,11 @@ static void inet6_sock_destruct(struct sock *sk) #endif } -static __inline__ kmem_cache_t *inet6_sk_slab(int protocol) -{ - kmem_cache_t* rc = tcp6_sk_cachep; - - if (protocol == IPPROTO_UDP) - rc = udp6_sk_cachep; - else if (protocol == IPPROTO_RAW) - rc = raw6_sk_cachep; - return rc; -} - -static __inline__ int inet6_sk_size(int protocol) -{ - int rc = sizeof(struct tcp6_sock); - - if (protocol == IPPROTO_UDP) - rc = sizeof(struct udp6_sock); - else if (protocol == IPPROTO_RAW) - rc = sizeof(struct raw6_sock); - return rc; -} - static __inline__ struct ipv6_pinfo *inet6_sk_generic(struct sock *sk) { - struct ipv6_pinfo *rc = (&((struct tcp6_sock *)sk)->inet6); + const int offset = sk->sk_prot->slab_obj_size - sizeof(struct ipv6_pinfo); - if (sk->sk_protocol == IPPROTO_UDP) - rc = (&((struct udp6_sock *)sk)->inet6); - else if (sk->sk_protocol == IPPROTO_RAW) - rc = (&((struct raw6_sock *)sk)->inet6); - return rc; + return (struct ipv6_pinfo *)(((u8 *)sk) + offset); } static int inet6_create(struct socket *sock, int protocol) @@ -151,11 +120,10 @@ static int inet6_create(struct socket *sock, int protocol) struct tcp6_sock* tcp6sk; struct list_head *p; struct inet_protosw *answer; - - sk = sk_alloc(PF_INET6, GFP_KERNEL, inet6_sk_size(protocol), - inet6_sk_slab(protocol)); - if (sk == NULL) - goto do_oom; + struct proto *answer_prot; + unsigned char answer_flags; + char answer_no_check; + int rc; /* Look for the requested type/protocol pair. */ answer = NULL; @@ -179,22 +147,40 @@ static int inet6_create(struct socket *sock, int protocol) answer = NULL; } + rc = -ESOCKTNOSUPPORT; if (!answer) - goto free_and_badtype; + goto out_rcu_unlock; + rc = -EPERM; if (answer->capability > 0 && !capable(answer->capability)) - goto free_and_badperm; + goto out_rcu_unlock; + rc = -EPROTONOSUPPORT; if (!protocol) - goto free_and_noproto; + goto out_rcu_unlock; sock->ops = answer->ops; + + answer_prot = answer->prot; + answer_no_check = answer->no_check; + answer_flags = answer->flags; + rcu_read_unlock(); + + BUG_TRAP(answer_prot->slab != NULL); + + rc = -ENOBUFS; + sk = sk_alloc(PF_INET6, GFP_KERNEL, + answer_prot->slab_obj_size, + answer_prot->slab); + if (sk == NULL) + goto out; + sock_init_data(sock, sk); sk_set_owner(sk, THIS_MODULE); - sk->sk_prot = answer->prot; - sk->sk_no_check = answer->no_check; - if (INET_PROTOSW_REUSE & answer->flags) + rc = 0; + sk->sk_prot = answer_prot; + sk->sk_no_check = answer_no_check; + if (INET_PROTOSW_REUSE & answer_flags) sk->sk_reuse = 1; - rcu_read_unlock(); inet = inet_sk(sk); @@ -205,7 +191,6 @@ static int inet6_create(struct socket *sock, int protocol) } sk->sk_destruct = inet6_sock_destruct; - sk->sk_zapped = 0; sk->sk_family = PF_INET6; sk->sk_protocol = protocol; @@ -248,28 +233,17 @@ static int inet6_create(struct socket *sock, int protocol) sk->sk_prot->hash(sk); } if (sk->sk_prot->init) { - int err = sk->sk_prot->init(sk); - if (err != 0) { + rc = sk->sk_prot->init(sk); + if (rc) { sk_common_release(sk); - return err; + goto out; } } - return 0; - -free_and_badtype: - rcu_read_unlock(); - sk_free(sk); - return -ESOCKTNOSUPPORT; -free_and_badperm: - rcu_read_unlock(); - sk_free(sk); - return -EPERM; -free_and_noproto: +out: + return rc; +out_rcu_unlock: rcu_read_unlock(); - sk_free(sk); - return -EPROTONOSUPPORT; -do_oom: - return -ENOBUFS; + goto out; } @@ -709,24 +683,26 @@ static int __init inet6_init(void) #endif #endif - if (sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb)) - { + if (sizeof(struct inet6_skb_parm) > sizeof(dummy_skb->cb)) { printk(KERN_CRIT "inet6_proto_init: size fault\n"); return -EINVAL; } - /* allocate our sock slab caches */ - tcp6_sk_cachep = kmem_cache_create("tcp6_sock", - sizeof(struct tcp6_sock), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); - udp6_sk_cachep = kmem_cache_create("udp6_sock", - sizeof(struct udp6_sock), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); - raw6_sk_cachep = kmem_cache_create("raw6_sock", - sizeof(struct raw6_sock), 0, - SLAB_HWCACHE_ALIGN, NULL, NULL); - if (!tcp6_sk_cachep || !udp6_sk_cachep || !raw6_sk_cachep) - printk(KERN_CRIT "%s: Can't create protocol sock SLAB " - "caches!\n", __FUNCTION__); + + err = sk_alloc_slab(&tcpv6_prot, "tcpv6_sock"); + if (err) { + sk_alloc_slab_error(&tcpv6_prot); + goto out; + } + err = sk_alloc_slab(&udpv6_prot, "udpv6_sock"); + if (err) { + sk_alloc_slab_error(&udpv6_prot); + goto out_tcp_free_slab; + } + err = sk_alloc_slab(&rawv6_prot, "rawv6_sock"); + if (err) { + sk_alloc_slab_error(&rawv6_prot); + goto out_udp_free_slab; + } /* Register the socket-side information for inet6_create. */ for(r = &inetsw6[0]; r < &inetsw6[SOCK_MAX]; ++r) @@ -745,7 +721,7 @@ static int __init inet6_init(void) /* Initialise ipv6 mibs */ err = init_ipv6_mibs(); if (err) - goto init_mib_fail; + goto out_raw_free_slab; /* * ipngwg API draft makes clear that the correct semantics @@ -798,8 +774,9 @@ static int __init inet6_init(void) /* Init v6 transport protocols. */ udpv6_init(); tcpv6_init(); - - return 0; + err = 0; +out: + return err; #ifdef CONFIG_PROC_FS proc_if6_fail: @@ -824,8 +801,13 @@ icmp_fail: ipv6_sysctl_unregister(); #endif cleanup_ipv6_mibs(); -init_mib_fail: - return err; +out_raw_free_slab: + sk_free_slab(&rawv6_prot); +out_udp_free_slab: + sk_free_slab(&udpv6_prot); +out_tcp_free_slab: + sk_free_slab(&tcpv6_prot); + goto out; } module_init(inet6_init); @@ -854,9 +836,9 @@ static void __exit inet6_exit(void) ipv6_sysctl_unregister(); #endif cleanup_ipv6_mibs(); - kmem_cache_destroy(tcp6_sk_cachep); - kmem_cache_destroy(udp6_sk_cachep); - kmem_cache_destroy(raw6_sk_cachep); + sk_free_slab(&rawv6_prot); + sk_free_slab(&udpv6_prot); + sk_free_slab(&tcpv6_prot); } module_exit(inet6_exit); diff --git a/net/ipv6/ah6.c b/net/ipv6/ah6.c index eda2737e5..32ecedb04 100644 --- a/net/ipv6/ah6.c +++ b/net/ipv6/ah6.c @@ -154,11 +154,11 @@ static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len) return 0; } -int ah6_output(struct sk_buff **pskb) +static int ah6_output(struct sk_buff *skb) { int err; int extlen; - struct dst_entry *dst = (*pskb)->dst; + struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; struct ipv6hdr *top_iph; struct ip_auth_hdr *ah; @@ -170,11 +170,11 @@ int ah6_output(struct sk_buff **pskb) char hdrs[0]; } *tmp_ext; - top_iph = (struct ipv6hdr *)(*pskb)->data; - top_iph->payload_len = htons((*pskb)->len - sizeof(*top_iph)); + top_iph = (struct ipv6hdr *)skb->data; + top_iph->payload_len = htons(skb->len - sizeof(*top_iph)); - nexthdr = *(*pskb)->nh.raw; - *(*pskb)->nh.raw = IPPROTO_AH; + nexthdr = *skb->nh.raw; + *skb->nh.raw = IPPROTO_AH; /* When there are no extension headers, we only need to save the first * 8 bytes of the base IP header. @@ -182,7 +182,7 @@ int ah6_output(struct sk_buff **pskb) memcpy(tmp_base, top_iph, sizeof(tmp_base)); tmp_ext = NULL; - extlen = (*pskb)->h.raw - (unsigned char *)(top_iph + 1); + extlen = skb->h.raw - (unsigned char *)(top_iph + 1); if (extlen) { extlen += sizeof(*tmp_ext); tmp_ext = kmalloc(extlen, GFP_ATOMIC); @@ -198,7 +198,7 @@ int ah6_output(struct sk_buff **pskb) goto error_free_iph; } - ah = (struct ip_auth_hdr *)(*pskb)->h.raw; + ah = (struct ip_auth_hdr *)skb->h.raw; ah->nexthdr = nexthdr; top_iph->priority = 0; @@ -214,7 +214,7 @@ int ah6_output(struct sk_buff **pskb) ah->reserved = 0; ah->spi = x->id.spi; ah->seq_no = htonl(++x->replay.oseq); - ahp->icv(ahp, *pskb, ah->auth_data); + ahp->icv(ahp, skb, ah->auth_data); err = 0; @@ -229,7 +229,7 @@ error: return err; } -int ah6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) +static int ah6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) { /* * Before process AH @@ -319,8 +319,8 @@ out: return -EINVAL; } -void ah6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, - int type, int code, int offset, __u32 info) +static void ah6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, + int type, int code, int offset, __u32 info) { struct ipv6hdr *iph = (struct ipv6hdr*)skb->data; struct ip_auth_hdr *ah = (struct ip_auth_hdr*)(skb->data+offset); @@ -353,6 +353,9 @@ static int ah6_init_state(struct xfrm_state *x, void *args) if (x->aalg->alg_key_len > 512) goto error; + if (x->encap) + goto error; + ahp = kmalloc(sizeof(*ahp), GFP_KERNEL); if (ahp == NULL) return -ENOMEM; @@ -445,7 +448,7 @@ static struct inet6_protocol ah6_protocol = { .flags = INET6_PROTO_NOPOLICY, }; -int __init ah6_init(void) +static int __init ah6_init(void) { if (xfrm_register_type(&ah6_type, AF_INET6) < 0) { printk(KERN_INFO "ipv6 ah init: can't add xfrm type\n"); diff --git a/net/ipv6/anycast.c b/net/ipv6/anycast.c index 5b1e4d959..a0de548c5 100644 --- a/net/ipv6/anycast.c +++ b/net/ipv6/anycast.c @@ -293,6 +293,7 @@ static void aca_put(struct ifacaddr6 *ac) { if (atomic_dec_and_test(&ac->aca_refcnt)) { in6_dev_put(ac->aca_idev); + dst_release(&ac->aca_rt->u.dst); kfree(ac); } } @@ -304,6 +305,8 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr) { struct ifacaddr6 *aca; struct inet6_dev *idev; + struct rt6_info *rt; + int err; idev = in6_dev_get(dev); @@ -312,17 +315,15 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr) write_lock_bh(&idev->lock); if (idev->dead) { - write_unlock_bh(&idev->lock); - in6_dev_put(idev); - return -ENODEV; + err = -ENODEV; + goto out; } for (aca = idev->ac_list; aca; aca = aca->aca_next) { if (ipv6_addr_cmp(&aca->aca_addr, addr) == 0) { aca->aca_users++; - write_unlock_bh(&idev->lock); - in6_dev_put(idev); - return 0; + err = 0; + goto out; } } @@ -333,15 +334,22 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr) aca = kmalloc(sizeof(struct ifacaddr6), GFP_ATOMIC); if (aca == NULL) { - write_unlock_bh(&idev->lock); - in6_dev_put(idev); - return -ENOMEM; + err = -ENOMEM; + goto out; + } + + rt = addrconf_dst_alloc(idev, addr, 1); + if (IS_ERR(rt)) { + kfree(aca); + err = PTR_ERR(rt); + goto out; } memset(aca, 0, sizeof(struct ifacaddr6)); ipv6_addr_copy(&aca->aca_addr, addr); aca->aca_idev = idev; + aca->aca_rt = rt; aca->aca_users = 1; /* aca_tstamp should be updated upon changes */ aca->aca_cstamp = aca->aca_tstamp = jiffies; @@ -352,26 +360,27 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr) idev->ac_list = aca; write_unlock_bh(&idev->lock); - ip6_rt_addr_add(&aca->aca_addr, dev, 1); + dst_hold(&rt->u.dst); + if (ip6_ins_rt(rt, NULL, NULL)) + dst_release(&rt->u.dst); addrconf_join_solict(dev, &aca->aca_addr); aca_put(aca); return 0; +out: + write_unlock_bh(&idev->lock); + in6_dev_put(idev); + return err; } /* * device anycast group decrement */ -int ipv6_dev_ac_dec(struct net_device *dev, struct in6_addr *addr) +int __ipv6_dev_ac_dec(struct inet6_dev *idev, struct in6_addr *addr) { - struct inet6_dev *idev; struct ifacaddr6 *aca, *prev_aca; - idev = in6_dev_get(dev); - if (idev == NULL) - return -ENODEV; - write_lock_bh(&idev->lock); prev_aca = NULL; for (aca = idev->ac_list; aca; aca = aca->aca_next) { @@ -381,12 +390,10 @@ int ipv6_dev_ac_dec(struct net_device *dev, struct in6_addr *addr) } if (!aca) { write_unlock_bh(&idev->lock); - in6_dev_put(idev); return -ENOENT; } if (--aca->aca_users > 0) { write_unlock_bh(&idev->lock); - in6_dev_put(idev); return 0; } if (prev_aca) @@ -394,15 +401,29 @@ int ipv6_dev_ac_dec(struct net_device *dev, struct in6_addr *addr) else idev->ac_list = aca->aca_next; write_unlock_bh(&idev->lock); - addrconf_leave_solict(dev, &aca->aca_addr); + addrconf_leave_solict(idev, &aca->aca_addr); - ip6_rt_addr_del(&aca->aca_addr, dev); + dst_hold(&aca->aca_rt->u.dst); + if (ip6_del_rt(aca->aca_rt, NULL, NULL)) + dst_free(&aca->aca_rt->u.dst); + else + dst_release(&aca->aca_rt->u.dst); aca_put(aca); - in6_dev_put(idev); return 0; } +int ipv6_dev_ac_dec(struct net_device *dev, struct in6_addr *addr) +{ + int ret; + struct inet6_dev *idev = in6_dev_get(dev); + if (idev == NULL) + return -ENODEV; + ret = __ipv6_dev_ac_dec(idev, addr); + in6_dev_put(idev); + return ret; +} + /* * check if the interface has this anycast address */ diff --git a/net/ipv6/datagram.c b/net/ipv6/datagram.c index 5e0aecb2d..e843f72d9 100644 --- a/net/ipv6/datagram.c +++ b/net/ipv6/datagram.c @@ -427,9 +427,7 @@ int datagram_send_ctl(struct msghdr *msg, struct flowi *fl, int addr_type; struct net_device *dev = NULL; - if (cmsg->cmsg_len < sizeof(struct cmsghdr) || - (unsigned long)(((char*)cmsg - (char*)msg->msg_control) - + cmsg->cmsg_len) > msg->msg_controllen) { + if (!CMSG_OK(msg, cmsg)) { err = -EINVAL; goto exit_f; } diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c index 497727195..77b4ba6f8 100644 --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c @@ -37,11 +37,11 @@ #include #include -int esp6_output(struct sk_buff **pskb) +static int esp6_output(struct sk_buff *skb) { int err; int hdr_len; - struct dst_entry *dst = (*pskb)->dst; + struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; struct ipv6hdr *top_iph; struct ipv6_esp_hdr *esph; @@ -54,17 +54,17 @@ int esp6_output(struct sk_buff **pskb) int nfrags; esp = x->data; - hdr_len = (*pskb)->h.raw - (*pskb)->data + + hdr_len = skb->h.raw - skb->data + sizeof(*esph) + esp->conf.ivlen; /* Strip IP+ESP header. */ - __skb_pull(*pskb, hdr_len); + __skb_pull(skb, hdr_len); /* Now skb is pure payload to encrypt */ err = -ENOMEM; /* Round to block size */ - clen = (*pskb)->len; + clen = skb->len; alen = esp->auth.icv_trunc_len; tfm = esp->conf.tfm; @@ -73,24 +73,24 @@ int esp6_output(struct sk_buff **pskb) if (esp->conf.padlen) clen = (clen + esp->conf.padlen-1)&~(esp->conf.padlen-1); - if ((nfrags = skb_cow_data(*pskb, clen-(*pskb)->len+alen, &trailer)) < 0) { + if ((nfrags = skb_cow_data(skb, clen-skb->len+alen, &trailer)) < 0) { goto error; } /* Fill padding... */ do { int i; - for (i=0; ilen - 2; i++) + for (i=0; ilen - 2; i++) *(u8*)(trailer->tail + i) = i+1; } while (0); - *(u8*)(trailer->tail + clen-(*pskb)->len - 2) = (clen - (*pskb)->len)-2; - pskb_put(*pskb, trailer, clen - (*pskb)->len); + *(u8*)(trailer->tail + clen-skb->len - 2) = (clen - skb->len)-2; + pskb_put(skb, trailer, clen - skb->len); - top_iph = (struct ipv6hdr *)__skb_push(*pskb, hdr_len); - esph = (struct ipv6_esp_hdr *)(*pskb)->h.raw; - top_iph->payload_len = htons((*pskb)->len + alen - sizeof(*top_iph)); - *(u8*)(trailer->tail - 1) = *(*pskb)->nh.raw; - *(*pskb)->nh.raw = IPPROTO_ESP; + top_iph = (struct ipv6hdr *)__skb_push(skb, hdr_len); + esph = (struct ipv6_esp_hdr *)skb->h.raw; + top_iph->payload_len = htons(skb->len + alen - sizeof(*top_iph)); + *(u8*)(trailer->tail - 1) = *skb->nh.raw; + *skb->nh.raw = IPPROTO_ESP; esph->spi = x->id.spi; esph->seq_no = htonl(++x->replay.oseq); @@ -106,7 +106,7 @@ int esp6_output(struct sk_buff **pskb) if (!sg) goto error; } - skb_to_sgvec(*pskb, sg, esph->enc_data+esp->conf.ivlen-(*pskb)->data, clen); + skb_to_sgvec(skb, sg, esph->enc_data+esp->conf.ivlen-skb->data, clen); crypto_cipher_encrypt(tfm, sg, sg, clen); if (unlikely(sg != &esp->sgbuf[0])) kfree(sg); @@ -118,9 +118,9 @@ int esp6_output(struct sk_buff **pskb) } if (esp->auth.icv_full_len) { - esp->auth.icv(esp, *pskb, (u8*)esph-(*pskb)->data, + esp->auth.icv(esp, skb, (u8*)esph-skb->data, sizeof(struct ipv6_esp_hdr) + esp->conf.ivlen+clen, trailer->tail); - pskb_put(*pskb, trailer, alen); + pskb_put(skb, trailer, alen); } err = 0; @@ -129,7 +129,7 @@ error: return err; } -int esp6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) +static int esp6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) { struct ipv6hdr *iph; struct ipv6_esp_hdr *esph; @@ -252,8 +252,8 @@ static u32 esp6_get_max_size(struct xfrm_state *x, int mtu) return mtu + x->props.header_len + esp->auth.icv_full_len; } -void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, - int type, int code, int offset, __u32 info) +static void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, + int type, int code, int offset, __u32 info) { struct ipv6hdr *iph = (struct ipv6hdr*)skb->data; struct ipv6_esp_hdr *esph = (struct ipv6_esp_hdr*)(skb->data+offset); @@ -272,7 +272,7 @@ void esp6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, xfrm_state_put(x); } -void esp6_destroy(struct xfrm_state *x) +static void esp6_destroy(struct xfrm_state *x) { struct esp_data *esp = x->data; @@ -298,17 +298,21 @@ void esp6_destroy(struct xfrm_state *x) kfree(esp); } -int esp6_init_state(struct xfrm_state *x, void *args) +static int esp6_init_state(struct xfrm_state *x, void *args) { struct esp_data *esp = NULL; + /* null auth and encryption can have zero length keys */ if (x->aalg) { - if (x->aalg->alg_key_len == 0 || x->aalg->alg_key_len > 512) + if (x->aalg->alg_key_len > 512) goto error; } if (x->ealg == NULL) goto error; + if (x->encap) + goto error; + esp = kmalloc(sizeof(*esp), GFP_KERNEL); if (esp == NULL) return -ENOMEM; @@ -398,7 +402,7 @@ static struct inet6_protocol esp6_protocol = { .flags = INET6_PROTO_NOPOLICY, }; -int __init esp6_init(void) +static int __init esp6_init(void) { if (xfrm_register_type(&esp6_type, AF_INET6) < 0) { printk(KERN_INFO "ipv6 esp init: can't add xfrm type\n"); diff --git a/net/ipv6/exthdrs.c b/net/ipv6/exthdrs.c index 464a3f4d6..2b78c840c 100644 --- a/net/ipv6/exthdrs.c +++ b/net/ipv6/exthdrs.c @@ -314,9 +314,11 @@ looped_back: dst_release(xchg(&skb->dst, NULL)); ip6_route_input(skb); if (skb->dst->error) { + skb_push(skb, skb->data - skb->nh.raw); dst_input(skb); return -1; } + if (skb->dst->dev->flags&IFF_LOOPBACK) { if (skb->nh.ipv6h->hop_limit <= 1) { IP6_INC_STATS_BH(IPSTATS_MIB_INHDRERRORS); @@ -329,6 +331,7 @@ looped_back: goto looped_back; } + skb_push(skb, skb->data - skb->nh.raw); dst_input(skb); return -1; } diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index 4faafff32..26273c82f 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c @@ -139,10 +139,12 @@ static int is_ineligible(struct sk_buff *skb) if (ptr < 0) return 0; if (nexthdr == IPPROTO_ICMPV6) { - u8 type; - if (skb_copy_bits(skb, ptr+offsetof(struct icmp6hdr, icmp6_type), - &type, 1) - || !(type & ICMPV6_INFOMSG_MASK)) + u8 _type, *tp; + tp = skb_header_pointer(skb, + ptr+offsetof(struct icmp6hdr, icmp6_type), + sizeof(_type), &_type); + if (tp == NULL || + !(*tp & ICMPV6_INFOMSG_MASK)) return 1; } return 0; @@ -200,12 +202,13 @@ static inline int icmpv6_xrlim_allow(struct sock *sk, int type, static __inline__ int opt_unrec(struct sk_buff *skb, __u32 offset) { - u8 optval; + u8 _optval, *op; offset += skb->nh.raw - skb->data; - if (skb_copy_bits(skb, offset, &optval, 1)) + op = skb_header_pointer(skb, offset, sizeof(_optval), &_optval); + if (op == NULL) return 1; - return (optval&0xC0) == 0x80; + return (*op & 0xC0) == 0x80; } int icmpv6_push_pending_frames(struct sock *sk, struct flowi *fl, struct icmp6hdr *thdr, int len) @@ -369,6 +372,8 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info, err = ip6_dst_lookup(sk, &dst, &fl); if (err) goto out; + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) + goto out_dst_release; if (hlimit < 0) { if (ipv6_addr_is_multicast(&fl.fl6_dst)) @@ -455,6 +460,8 @@ static void icmpv6_echo_reply(struct sk_buff *skb) err = ip6_dst_lookup(sk, &dst, &fl); if (err) goto out; + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) + goto out_dst_release; if (hlimit < 0) { if (ipv6_addr_is_multicast(&fl.fl6_dst)) @@ -486,6 +493,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb) out_put: if (likely(idev != NULL)) in6_dev_put(idev); +out_dst_release: dst_release(dst); out: icmpv6_xmit_unlock(); @@ -530,8 +538,7 @@ static void icmpv6_notify(struct sk_buff *skb, int type, int code, u32 info) hash = nexthdr & (MAX_INET_PROTOS - 1); rcu_read_lock(); - ipprot = inet6_protos[hash]; - smp_read_barrier_depends(); + ipprot = rcu_dereference(inet6_protos[hash]); if (ipprot && ipprot->err_handler) ipprot->err_handler(skb, NULL, type, code, inner_offset, info); rcu_read_unlock(); diff --git a/net/ipv6/ip6_flowlabel.c b/net/ipv6/ip6_flowlabel.c index 2c5aab089..15f341adc 100644 --- a/net/ipv6/ip6_flowlabel.c +++ b/net/ipv6/ip6_flowlabel.c @@ -538,7 +538,8 @@ release: /* Do not check for fault */ if (!freq.flr_label) - copy_to_user(optval + ((u8*)&freq.flr_label - (u8*)&freq), &fl->label, sizeof(fl->label)); + copy_to_user(&((struct in6_flowlabel_req __user *) optval)->flr_label, + &fl->label, sizeof(fl->label)); sfl1->fl = fl; sfl1->next = np->ipv6_fl_list; diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c index 9b9cee7c0..99436a59e 100644 --- a/net/ipv6/ip6_input.c +++ b/net/ipv6/ip6_input.c @@ -167,10 +167,9 @@ resubmit: ipv6_raw_deliver(skb, nexthdr); hash = nexthdr & (MAX_INET_PROTOS - 1); - if ((ipprot = inet6_protos[hash]) != NULL) { + if ((ipprot = rcu_dereference(inet6_protos[hash])) != NULL) { int ret; - smp_read_barrier_depends(); if (ipprot->flags & INET6_PROTO_FINAL) { struct ipv6hdr *hdr; diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c index 81eed71dd..020b3f54b 100644 --- a/net/ipv6/ip6_output.c +++ b/net/ipv6/ip6_output.c @@ -54,6 +54,7 @@ #include #include #include +#include static int ip6_fragment(struct sk_buff **pskb, int (*output)(struct sk_buff**)); @@ -149,7 +150,7 @@ int ip6_output(struct sk_buff **pskb) { struct sk_buff *skb = *pskb; - if ((skb->len > dst_pmtu(skb->dst) || skb_shinfo(skb)->frag_list)) + if (skb->len > dst_pmtu(skb->dst)) return ip6_fragment(pskb, ip6_output2); else return ip6_output2(pskb); @@ -476,6 +477,7 @@ static void ip6_copy_metadata(struct sk_buff *to, struct sk_buff *from) /* Connection association is same as pre-frag packet */ to->nfct = from->nfct; nf_conntrack_get(to->nfct); + to->nfctinfo = from->nfctinfo; #ifdef CONFIG_BRIDGE_NETFILTER nf_bridge_put(to->nf_bridge); to->nf_bridge = from->nf_bridge; @@ -796,10 +798,6 @@ int ip6_dst_lookup(struct sock *sk, struct dst_entry **dst, struct flowi *fl) goto out_err_release; } } - if ((err = xfrm_lookup(dst, fl, sk, 0)) < 0) { - err = -ENETUNREACH; - goto out_err_release; - } return 0; @@ -821,7 +819,7 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, int offse int exthdrlen; int hh_len; int mtu; - int copy = 0; + int copy; int err; int offset = 0; int csummode = CHECKSUM_NONE; @@ -879,29 +877,79 @@ int ip6_append_data(struct sock *sk, int getfrag(void *from, char *to, int offse } } + /* + * Let's try using as much space as possible. + * Use MTU if total length of the message fits into the MTU. + * Otherwise, we need to reserve fragment header and + * fragment alignment (= 8-15 octects, in total). + * + * Note that we may need to "move" the data from the tail of + * of the buffer to the new fragment when we split + * the message. + * + * FIXME: It may be fragmented into multiple chunks + * at once if non-fragmentable extension headers + * are too large. + * --yoshfuji + */ + inet->cork.length += length; if ((skb = skb_peek_tail(&sk->sk_write_queue)) == NULL) goto alloc_new_skb; while (length > 0) { - if ((copy = maxfraglen - skb->len) <= 0) { + /* Check if the remaining data fits into current packet. */ + copy = mtu - skb->len; + if (copy < length) + copy = maxfraglen - skb->len; + + if (copy <= 0) { char *data; unsigned int datalen; unsigned int fraglen; + unsigned int fraggap; unsigned int alloclen; - BUG_TRAP(copy == 0); + struct sk_buff *skb_prev; alloc_new_skb: - datalen = maxfraglen - fragheaderlen; - if (datalen > length) - datalen = length; + skb_prev = skb; + + /* There's no room in the current skb */ + if (skb_prev) + fraggap = skb_prev->len - maxfraglen; + else + fraggap = 0; + + /* + * If remaining data exceeds the mtu, + * we know we need more fragment(s). + */ + datalen = length + fraggap; + if (datalen > mtu - fragheaderlen) + datalen = maxfraglen - fragheaderlen; + fraglen = datalen + fragheaderlen; if ((flags & MSG_MORE) && !(rt->u.dst.dev->features&NETIF_F_SG)) - alloclen = maxfraglen; + alloclen = mtu; else - alloclen = fraglen; + alloclen = datalen + fragheaderlen; + + /* + * The last fragment gets additional space at tail. + * Note: we overallocate on fragments with MSG_MODE + * because we have no idea if we're the last one. + */ + if (datalen == length + fraggap) + alloclen += rt->u.dst.trailer_len; + + /* + * We just reserve space for fragment header. + * Note: this may be overallocation if the message + * (without MSG_MORE) fits into the MTU. + */ alloclen += sizeof(struct frag_hdr); + if (transhdrlen) { skb = sock_alloc_send_skb(sk, alloclen + hh_len, @@ -923,7 +971,7 @@ alloc_new_skb: */ skb->ip_summed = csummode; skb->csum = 0; - /* reserve 8 byte for fragmentation */ + /* reserve for fragmentation */ skb_reserve(skb, hh_len+sizeof(struct frag_hdr)); /* @@ -933,15 +981,29 @@ alloc_new_skb: skb->nh.raw = data + exthdrlen; data += fragheaderlen; skb->h.raw = data + exthdrlen; - copy = datalen - transhdrlen; - if (copy > 0 && getfrag(from, data + transhdrlen, offset, copy, 0, skb) < 0) { + + if (fraggap) { + skb->csum = skb_copy_and_csum_bits( + skb_prev, maxfraglen, + data + transhdrlen, fraggap, 0); + skb_prev->csum = csum_sub(skb_prev->csum, + skb->csum); + data += fraggap; + skb_trim(skb_prev, maxfraglen); + } + copy = datalen - transhdrlen - fraggap; + if (copy < 0) { + err = -EINVAL; + kfree_skb(skb); + goto error; + } else if (copy > 0 && getfrag(from, data + transhdrlen, offset, copy, fraggap, skb) < 0) { err = -EFAULT; kfree_skb(skb); goto error; } offset += copy; - length -= datalen; + length -= datalen - fraggap; transhdrlen = 0; exthdrlen = 0; csummode = CHECKSUM_NONE; diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 0c8db0391..c75dc343b 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c @@ -48,6 +48,8 @@ #include #include #include +#include +#include MODULE_AUTHOR("Ville Nuorvala"); MODULE_DESCRIPTION("IPv6-in-IPv6 tunnel"); @@ -490,6 +492,15 @@ out: read_unlock(&ip6ip6_lock); } +static inline void ip6ip6_ecn_decapsulate(struct ipv6hdr *outer_iph, + struct sk_buff *skb) +{ + struct ipv6hdr *inner_iph = skb->nh.ipv6h; + + if (INET_ECN_is_ce(ipv6_get_dsfield(outer_iph))) + IP6_ECN_set_ce(inner_iph); +} + /** * ip6ip6_rcv - decapsulate IPv6 packet and retransmit it locally * @skb: received socket buffer @@ -531,6 +542,9 @@ ip6ip6_rcv(struct sk_buff **pskb, unsigned int *nhoffp) skb->dev = t->dev; dst_release(skb->dst); skb->dst = NULL; + if (t->parms.flags & IP6_TNL_F_RCV_DSCP_COPY) + ipv6_copy_dscp(ipv6h, skb->nh.ipv6h); + ip6ip6_ecn_decapsulate(ipv6h, skb); t->stat.rx_packets++; t->stat.rx_bytes += skb->len; netif_rx(skb); @@ -621,6 +635,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) u8 proto; int err; int pkt_len; + int dsfield; if (t->recursion++) { stats->collisions++; @@ -646,6 +661,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) memcpy(&fl, &t->fl, sizeof (fl)); proto = fl.proto; + dsfield = ipv6_get_dsfield(ipv6h); if ((t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS)) fl.fl6_flowlabel |= (*(__u32 *) ipv6h & IPV6_TCLASS_MASK); if ((t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL)) @@ -717,6 +733,8 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev) skb->nh.raw = skb_push(skb, sizeof(struct ipv6hdr)); ipv6h = skb->nh.ipv6h; *(u32*)ipv6h = fl.fl6_flowlabel | htonl(0x60000000); + dsfield = INET_ECN_encapsulate(0, dsfield); + ipv6_change_dsfield(ipv6h, ~INET_ECN_MASK, dsfield); ipv6h->payload_len = htons(skb->len - sizeof(struct ipv6hdr)); ipv6h->hop_limit = t->parms.hop_limit; ipv6h->nexthdr = proto; diff --git a/net/ipv6/ipcomp6.c b/net/ipv6/ipcomp6.c index 04303769d..f3093f2cd 100644 --- a/net/ipv6/ipcomp6.c +++ b/net/ipv6/ipcomp6.c @@ -36,14 +36,31 @@ #include #include #include +#include #include #include #include +#include +#include +#include +#include +#include #include #include #include #include +struct ipcomp6_tfms { + struct list_head list; + struct crypto_tfm **tfms; + int users; +}; + +static DECLARE_MUTEX(ipcomp6_resource_sem); +static void **ipcomp6_scratches; +static int ipcomp6_scratch_users; +static LIST_HEAD(ipcomp6_tfms_list); + static int ipcomp6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, struct sk_buff *skb) { int err = 0; @@ -53,7 +70,9 @@ static int ipcomp6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, s struct ipv6hdr *iph; int plen, dlen; struct ipcomp_data *ipcd = x->data; - u8 *start, *scratch = ipcd->scratch; + u8 *start, *scratch; + struct crypto_tfm *tfm; + int cpu; if ((skb_is_nonlinear(skb) || skb_cloned(skb)) && skb_linearize(skb, GFP_ATOMIC) != 0) { @@ -82,20 +101,24 @@ static int ipcomp6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, s dlen = IPCOMP_SCRATCH_SIZE; start = skb->data; - err = crypto_comp_decompress(ipcd->tfm, start, plen, scratch, &dlen); + cpu = get_cpu(); + scratch = *per_cpu_ptr(ipcomp6_scratches, cpu); + tfm = *per_cpu_ptr(ipcd->tfms, cpu); + + err = crypto_comp_decompress(tfm, start, plen, scratch, &dlen); if (err) { err = -EINVAL; - goto out; + goto out_put_cpu; } if (dlen < (plen + sizeof(struct ipv6_comp_hdr))) { err = -EINVAL; - goto out; + goto out_put_cpu; } err = pskb_expand_head(skb, 0, dlen - plen, GFP_ATOMIC); if (err) { - goto out; + goto out_put_cpu; } skb_put(skb, dlen - plen); @@ -104,6 +127,8 @@ static int ipcomp6_input(struct xfrm_state *x, struct xfrm_decap_state *decap, s iph = skb->nh.ipv6h; iph->payload_len = htons(skb->len); +out_put_cpu: + put_cpu(); out: if (tmp_hdr) kfree(tmp_hdr); @@ -114,56 +139,65 @@ error_out: return err; } -static int ipcomp6_output(struct sk_buff **pskb) +static int ipcomp6_output(struct sk_buff *skb) { int err; - struct dst_entry *dst = (*pskb)->dst; + struct dst_entry *dst = skb->dst; struct xfrm_state *x = dst->xfrm; struct ipv6hdr *top_iph; int hdr_len; struct ipv6_comp_hdr *ipch; struct ipcomp_data *ipcd = x->data; int plen, dlen; - u8 *start, *scratch = ipcd->scratch; + u8 *start, *scratch; + struct crypto_tfm *tfm; + int cpu; - hdr_len = (*pskb)->h.raw - (*pskb)->data; + hdr_len = skb->h.raw - skb->data; /* check whether datagram len is larger than threshold */ - if (((*pskb)->len - hdr_len) < ipcd->threshold) { + if ((skb->len - hdr_len) < ipcd->threshold) { goto out_ok; } - if ((skb_is_nonlinear(*pskb) || skb_cloned(*pskb)) && - skb_linearize(*pskb, GFP_ATOMIC) != 0) { + if ((skb_is_nonlinear(skb) || skb_cloned(skb)) && + skb_linearize(skb, GFP_ATOMIC) != 0) { err = -ENOMEM; goto error; } /* compression */ - plen = (*pskb)->len - hdr_len; + plen = skb->len - hdr_len; dlen = IPCOMP_SCRATCH_SIZE; - start = (*pskb)->h.raw; + start = skb->h.raw; - err = crypto_comp_compress(ipcd->tfm, start, plen, scratch, &dlen); + cpu = get_cpu(); + scratch = *per_cpu_ptr(ipcomp6_scratches, cpu); + tfm = *per_cpu_ptr(ipcd->tfms, cpu); + + err = crypto_comp_compress(tfm, start, plen, scratch, &dlen); if (err) { + put_cpu(); goto error; } if ((dlen + sizeof(struct ipv6_comp_hdr)) >= plen) { + put_cpu(); goto out_ok; } memcpy(start + sizeof(struct ip_comp_hdr), scratch, dlen); - pskb_trim(*pskb, hdr_len + dlen + sizeof(struct ip_comp_hdr)); + put_cpu(); + pskb_trim(skb, hdr_len + dlen + sizeof(struct ip_comp_hdr)); /* insert ipcomp header and replace datagram */ - top_iph = (struct ipv6hdr *)(*pskb)->data; + top_iph = (struct ipv6hdr *)skb->data; - top_iph->payload_len = htons((*pskb)->len - sizeof(struct ipv6hdr)); + top_iph->payload_len = htons(skb->len - sizeof(struct ipv6hdr)); ipch = (struct ipv6_comp_hdr *)start; - ipch->nexthdr = *(*pskb)->nh.raw; + ipch->nexthdr = *skb->nh.raw; ipch->flags = 0; ipch->cpi = htons((u16 )ntohl(x->id.spi)); - *(*pskb)->nh.raw = IPPROTO_COMP; + *skb->nh.raw = IPPROTO_COMP; out_ok: err = 0; @@ -254,12 +288,132 @@ out: return err; } +static void ipcomp6_free_scratches(void) +{ + int i; + void **scratches; + + if (--ipcomp6_scratch_users) + return; + + scratches = ipcomp6_scratches; + if (!scratches) + return; + + for_each_cpu(i) { + void *scratch = *per_cpu_ptr(scratches, i); + if (scratch) + vfree(scratch); + } + + free_percpu(scratches); +} + +static void **ipcomp6_alloc_scratches(void) +{ + int i; + void **scratches; + + if (ipcomp6_scratch_users++) + return ipcomp6_scratches; + + scratches = alloc_percpu(void *); + if (!scratches) + return NULL; + + ipcomp6_scratches = scratches; + + for_each_cpu(i) { + void *scratch = vmalloc(IPCOMP_SCRATCH_SIZE); + if (!scratch) + return NULL; + *per_cpu_ptr(scratches, i) = scratch; + } + + return scratches; +} + +static void ipcomp6_free_tfms(struct crypto_tfm **tfms) +{ + struct ipcomp6_tfms *pos; + int cpu; + + list_for_each_entry(pos, &ipcomp6_tfms_list, list) { + if (pos->tfms == tfms) + break; + } + + BUG_TRAP(pos); + + if (--pos->users) + return; + + list_del(&pos->list); + kfree(pos); + + if (!tfms) + return; + + for_each_cpu(cpu) { + struct crypto_tfm *tfm = *per_cpu_ptr(tfms, cpu); + if (tfm) + crypto_free_tfm(tfm); + } + free_percpu(tfms); +} + +static struct crypto_tfm **ipcomp6_alloc_tfms(const char *alg_name) +{ + struct ipcomp6_tfms *pos; + struct crypto_tfm **tfms; + int cpu; + + /* This can be any valid CPU ID so we don't need locking. */ + cpu = smp_processor_id(); + + list_for_each_entry(pos, &ipcomp6_tfms_list, list) { + struct crypto_tfm *tfm; + + tfms = pos->tfms; + tfm = *per_cpu_ptr(tfms, cpu); + + if (!strcmp(crypto_tfm_alg_name(tfm), alg_name)) { + pos->users++; + return tfms; + } + } + + pos = kmalloc(sizeof(*pos), GFP_KERNEL); + if (!pos) + return NULL; + + pos->users = 1; + INIT_LIST_HEAD(&pos->list); + list_add(&pos->list, &ipcomp6_tfms_list); + + pos->tfms = tfms = alloc_percpu(struct crypto_tfm *); + if (!tfms) + goto error; + + for_each_cpu(cpu) { + struct crypto_tfm *tfm = crypto_alloc_tfm(alg_name, 0); + if (!tfm) + goto error; + *per_cpu_ptr(tfms, cpu) = tfm; + } + + return tfms; + +error: + ipcomp6_free_tfms(tfms); + return NULL; +} + static void ipcomp6_free_data(struct ipcomp_data *ipcd) { - if (ipcd->tfm) - crypto_free_tfm(ipcd->tfm); - if (ipcd->scratch) - kfree(ipcd->scratch); + if (ipcd->tfms) + ipcomp6_free_tfms(ipcd->tfms); + ipcomp6_free_scratches(); } static void ipcomp6_destroy(struct xfrm_state *x) @@ -268,7 +422,9 @@ static void ipcomp6_destroy(struct xfrm_state *x) if (!ipcd) return; xfrm_state_delete_tunnel(x); + down(&ipcomp6_resource_sem); ipcomp6_free_data(ipcd); + up(&ipcomp6_resource_sem); kfree(ipcd); xfrm6_tunnel_free_spi((xfrm_address_t *)&x->props.saddr); @@ -284,28 +440,32 @@ static int ipcomp6_init_state(struct xfrm_state *x, void *args) if (!x->calg) goto out; + if (x->encap) + goto out; + err = -ENOMEM; ipcd = kmalloc(sizeof(*ipcd), GFP_KERNEL); if (!ipcd) - goto error; + goto out; memset(ipcd, 0, sizeof(*ipcd)); x->props.header_len = 0; if (x->props.mode) x->props.header_len += sizeof(struct ipv6hdr); - ipcd->scratch = kmalloc(IPCOMP_SCRATCH_SIZE, GFP_KERNEL); - if (!ipcd->scratch) + down(&ipcomp6_resource_sem); + if (!ipcomp6_alloc_scratches()) goto error; - ipcd->tfm = crypto_alloc_tfm(x->calg->alg_name, 0); - if (!ipcd->tfm) + ipcd->tfms = ipcomp6_alloc_tfms(x->calg->alg_name); + if (!ipcd->tfms) goto error; + up(&ipcomp6_resource_sem); if (x->props.mode) { err = ipcomp6_tunnel_attach(x); if (err) - goto error; + goto error_tunnel; } calg_desc = xfrm_calg_get_byname(x->calg->alg_name); @@ -315,11 +475,12 @@ static int ipcomp6_init_state(struct xfrm_state *x, void *args) err = 0; out: return err; +error_tunnel: + down(&ipcomp6_resource_sem); error: - if (ipcd) { - ipcomp6_free_data(ipcd); - kfree(ipcd); - } + ipcomp6_free_data(ipcd); + up(&ipcomp6_resource_sem); + kfree(ipcd); goto out; } diff --git a/net/ipv6/ipv6_syms.c b/net/ipv6/ipv6_syms.c index 122482817..a2d9601f9 100644 --- a/net/ipv6/ipv6_syms.c +++ b/net/ipv6/ipv6_syms.c @@ -35,13 +35,9 @@ EXPORT_SYMBOL(ipv6_chk_addr); EXPORT_SYMBOL(in6addr_any); EXPORT_SYMBOL(in6addr_loopback); EXPORT_SYMBOL(in6_dev_finish_destroy); -EXPORT_SYMBOL(ip6_find_1stfragopt); #ifdef CONFIG_XFRM EXPORT_SYMBOL(xfrm6_rcv); #endif EXPORT_SYMBOL(rt6_lookup); EXPORT_SYMBOL(fl6_sock_lookup); -EXPORT_SYMBOL(ip6_append_data); -EXPORT_SYMBOL(ip6_flush_pending_frames); -EXPORT_SYMBOL(ip6_push_pending_frames); EXPORT_SYMBOL(ipv6_push_nfrag_opts); diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 893fe4081..375a9dd4b 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c @@ -128,6 +128,8 @@ static rwlock_t ipv6_sk_mc_lock = RW_LOCK_UNLOCKED; static struct socket *igmp6_socket; +int __ipv6_dev_mc_dec(struct inet6_dev *idev, struct in6_addr *addr); + static void igmp6_join_group(struct ifmcaddr6 *ma); static void igmp6_leave_group(struct ifmcaddr6 *ma); static void igmp6_timer_handler(unsigned long data); @@ -256,9 +258,9 @@ int ipv6_sock_mc_drop(struct sock *sk, int ifindex, struct in6_addr *addr) if (idev) { (void) ip6_mc_leave_src(sk,mc_lst,idev); + __ipv6_dev_mc_dec(idev, &mc_lst->addr); in6_dev_put(idev); } - ipv6_dev_mc_dec(dev, &mc_lst->addr); dev_put(dev); } sock_kfree_s(sk, mc_lst, sizeof(*mc_lst)); @@ -322,9 +324,9 @@ void ipv6_sock_mc_close(struct sock *sk) if (idev) { (void) ip6_mc_leave_src(sk, mc_lst, idev); + __ipv6_dev_mc_dec(idev, &mc_lst->addr); in6_dev_put(idev); } - ipv6_dev_mc_dec(dev, &mc_lst->addr); dev_put(dev); } @@ -389,12 +391,12 @@ int ip6_mc_source(int add, int omode, struct sock *sk, goto done; rv = !0; for (i=0; isl_count; i++) { - rv = memcmp(&psl->sl_addr, group, + rv = memcmp(&psl->sl_addr[i], source, sizeof(struct in6_addr)); - if (rv >= 0) + if (rv == 0) break; } - if (!rv) /* source not found */ + if (rv) /* source not found */ goto done; /* update the interface filter */ @@ -435,8 +437,8 @@ int ip6_mc_source(int add, int omode, struct sock *sk, } rv = 1; /* > 0 for insert logic below if sl_count is 0 */ for (i=0; isl_count; i++) { - rv = memcmp(&psl->sl_addr, group, sizeof(struct in6_addr)); - if (rv >= 0) + rv = memcmp(&psl->sl_addr[i], source, sizeof(struct in6_addr)); + if (rv == 0) break; } if (rv == 0) /* address already there is an error */ @@ -870,7 +872,7 @@ int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr) /* * device multicast group del */ -static int __ipv6_dev_mc_dec(struct net_device *dev, struct inet6_dev *idev, struct in6_addr *addr) +int __ipv6_dev_mc_dec(struct inet6_dev *idev, struct in6_addr *addr) { struct ifmcaddr6 *ma, **map; @@ -903,7 +905,7 @@ int ipv6_dev_mc_dec(struct net_device *dev, struct in6_addr *addr) if (!idev) return -ENODEV; - err = __ipv6_dev_mc_dec(dev, idev, addr); + err = __ipv6_dev_mc_dec(idev, addr); in6_dev_put(idev); @@ -2108,7 +2110,12 @@ void ipv6_mc_destroy_dev(struct inet6_dev *idev) * addrconf.c has NULL'd out dev->ip6_ptr so in6_dev_get() will * fail. */ - __ipv6_dev_mc_dec(idev->dev, idev, &maddr); + __ipv6_dev_mc_dec(idev, &maddr); + + if (idev->cnf.forwarding) { + ipv6_addr_all_routers(&maddr); + __ipv6_dev_mc_dec(idev, &maddr); + } write_lock_bh(&idev->lock); while ((i = idev->mc_list) != NULL) { diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index b278e5a04..685a02d2e 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c @@ -58,6 +58,7 @@ #include #include #include +#include #ifdef CONFIG_SYSCTL #include #endif @@ -65,6 +66,7 @@ #include #include #include +#include #include #include @@ -269,29 +271,35 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d static u32 ndisc_hash(const void *pkey, const struct net_device *dev) { - u32 hash_val; + const u32 *p32 = pkey; + u32 addr_hash, i; - hash_val = *(u32*)(pkey + sizeof(struct in6_addr) - 4); - hash_val ^= (hash_val>>16); - hash_val ^= hash_val>>8; - hash_val ^= hash_val>>3; - hash_val = (hash_val^dev->ifindex)&NEIGH_HASHMASK; + addr_hash = 0; + for (i = 0; i < (sizeof(struct in6_addr) / sizeof(u32)); i++) + addr_hash ^= *p32++; - return hash_val; + return jhash_2words(addr_hash, dev->ifindex, nd_tbl.hash_rnd); } static int ndisc_constructor(struct neighbour *neigh) { struct in6_addr *addr = (struct in6_addr*)&neigh->primary_key; struct net_device *dev = neigh->dev; - struct inet6_dev *in6_dev = in6_dev_get(dev); + struct inet6_dev *in6_dev; + struct neigh_parms *parms; int is_multicast = ipv6_addr_is_multicast(addr); - if (in6_dev == NULL) + rcu_read_lock(); + in6_dev = in6_dev_get(dev); + if (in6_dev == NULL) { + rcu_read_unlock(); return -EINVAL; + } - if (in6_dev->nd_parms) - neigh->parms = in6_dev->nd_parms; + parms = in6_dev->nd_parms; + __neigh_parms_put(neigh->parms); + neigh->parms = neigh_parms_clone(parms); + rcu_read_unlock(); neigh->type = is_multicast ? RTN_MULTICAST : RTN_UNICAST; if (dev->hard_header == NULL) { @@ -794,16 +802,20 @@ static void ndisc_recv_ns(struct sk_buff *skb) } if (inc) - nd_tbl.stats.rcv_probes_mcast++; + NEIGH_CACHE_STAT_INC(&nd_tbl, rcv_probes_mcast); else - nd_tbl.stats.rcv_probes_ucast++; + NEIGH_CACHE_STAT_INC(&nd_tbl, rcv_probes_ucast); /* * update / create cache entry * for the source address */ - neigh = neigh_event_ns(&nd_tbl, lladdr, saddr, dev); - + neigh = __neigh_lookup(&nd_tbl, saddr, dev, + !inc || lladdr || !dev->addr_len); + if (neigh) + neigh_update(neigh, lladdr, NUD_STALE, + NEIGH_UPDATE_F_WEAK_OVERRIDE| + NEIGH_UPDATE_F_OVERRIDE); if (neigh || !dev->hard_header) { ndisc_send_na(dev, neigh, saddr, &msg->target, idev->cnf.forwarding, @@ -886,24 +898,25 @@ static void ndisc_recv_na(struct sk_buff *skb) neigh = neigh_lookup(&nd_tbl, &msg->target, dev); if (neigh) { - if (neigh->flags & NTF_ROUTER) { - if (msg->icmph.icmp6_router == 0) { - /* - * Change: router to host - */ - struct rt6_info *rt; - rt = rt6_get_dflt_router(saddr, dev); - if (rt) - ip6_del_rt(rt, NULL, NULL); - } - } else { - if (msg->icmph.icmp6_router) - neigh->flags |= NTF_ROUTER; - } + u8 old_flags = neigh->flags; neigh_update(neigh, lladdr, msg->icmph.icmp6_solicited ? NUD_REACHABLE : NUD_STALE, - msg->icmph.icmp6_override, 1); + NEIGH_UPDATE_F_WEAK_OVERRIDE| + (msg->icmph.icmp6_override ? NEIGH_UPDATE_F_OVERRIDE : 0)| + NEIGH_UPDATE_F_OVERRIDE_ISROUTER| + (msg->icmph.icmp6_router ? NEIGH_UPDATE_F_ISROUTER : 0)); + + if ((old_flags & ~neigh->flags) & NTF_ROUTER) { + /* + * Change: router to host + */ + struct rt6_info *rt; + rt = rt6_get_dflt_router(saddr, dev); + if (rt) + ip6_del_rt(rt, NULL, NULL); + } + neigh_release(neigh); } } @@ -1071,7 +1084,11 @@ static void ndisc_router_discovery(struct sk_buff *skb) goto out; } } - neigh_update(neigh, lladdr, NUD_STALE, 1, 1); + neigh_update(neigh, lladdr, NUD_STALE, + NEIGH_UPDATE_F_WEAK_OVERRIDE| + NEIGH_UPDATE_F_OVERRIDE| + NEIGH_UPDATE_F_OVERRIDE_ISROUTER| + NEIGH_UPDATE_F_ISROUTER); } if (ndopts.nd_opts_pi) { @@ -1188,19 +1205,11 @@ static void ndisc_redirect_rcv(struct sk_buff *skb) return; } } - /* passed validation tests */ - - /* - We install redirect only if nexthop state is valid. - */ neigh = __neigh_lookup(&nd_tbl, target, skb->dev, 1); if (neigh) { - neigh_update(neigh, lladdr, NUD_STALE, 1, 1); - if (neigh->nud_state&NUD_VALID) - rt6_redirect(dest, &skb->nh.ipv6h->saddr, neigh, on_link); - else - __neigh_event_send(neigh, NULL); + rt6_redirect(dest, &skb->nh.ipv6h->saddr, neigh, lladdr, + on_link); neigh_release(neigh); } in6_dev_put(in6_dev); diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c index d2ce00d81..4ef16449e 100644 --- a/net/ipv6/netfilter/ip6_tables.c +++ b/net/ipv6/netfilter/ip6_tables.c @@ -66,6 +66,7 @@ do { \ #endif #define SMP_ALIGN(x) (((x) + SMP_CACHE_BYTES-1) & ~(SMP_CACHE_BYTES-1)) +static DECLARE_MUTEX(ip6t_mutex); /* Must have mutex */ #define ASSERT_READ_LOCK(x) IP_NF_ASSERT(down_trylock(&ip6t_mutex) != 0) @@ -553,7 +554,7 @@ find_match_lock(const char *name, int *error, struct semaphore *mutex) return find_inlist_lock(&ip6t_match, name, "ip6t_", error, mutex); } -struct ip6t_target * +static struct ip6t_target * ip6t_find_target_lock(const char *name, int *error, struct semaphore *mutex) { return find_inlist_lock(&ip6t_target, name, "ip6t_", error, mutex); @@ -1971,7 +1972,6 @@ static void __exit fini(void) EXPORT_SYMBOL(ip6t_register_table); EXPORT_SYMBOL(ip6t_unregister_table); EXPORT_SYMBOL(ip6t_do_table); -EXPORT_SYMBOL(ip6t_find_target_lock); EXPORT_SYMBOL(ip6t_register_match); EXPORT_SYMBOL(ip6t_unregister_match); EXPORT_SYMBOL(ip6t_register_target); diff --git a/net/ipv6/netfilter/ip6t_LOG.c b/net/ipv6/netfilter/ip6t_LOG.c index bb8590bdd..0fc6b1750 100644 --- a/net/ipv6/netfilter/ip6t_LOG.c +++ b/net/ipv6/netfilter/ip6t_LOG.c @@ -11,6 +11,7 @@ */ #include +#include #include #include #include @@ -26,7 +27,7 @@ MODULE_DESCRIPTION("IP6 tables LOG target module"); MODULE_LICENSE("GPL"); static unsigned int nflog = 1; -MODULE_PARM(nflog, "i"); +module_param(nflog, int, 0400); MODULE_PARM_DESC(nflog, "register as internal netfilter logging module"); struct in_device; @@ -60,7 +61,7 @@ static u_int8_t ip6_nexthdr(u_int8_t currenthdr, u_int8_t **hdrptr) repeatedly...with a large stick...no, an even LARGER stick...no, you're still not thinking big enough */ nexthdr = **hdrptr; - hdrlen = *hdrptr[1] * 4 + 8; + hdrlen = (*hdrptr)[1] * 4 + 8; *hdrptr = *hdrptr + hdrlen; break; /*stupid rfc2402 */ @@ -68,7 +69,7 @@ static u_int8_t ip6_nexthdr(u_int8_t currenthdr, u_int8_t **hdrptr) case IPPROTO_ROUTING: case IPPROTO_HOPOPTS: nexthdr = **hdrptr; - hdrlen = *hdrptr[1] * 8 + 8; + hdrlen = (*hdrptr)[1] * 8 + 8; *hdrptr = *hdrptr + hdrlen; break; case IPPROTO_FRAGMENT: diff --git a/net/ipv6/netfilter/ip6t_owner.c b/net/ipv6/netfilter/ip6t_owner.c index 272257b3b..f2b6d1f21 100644 --- a/net/ipv6/netfilter/ip6t_owner.c +++ b/net/ipv6/netfilter/ip6t_owner.c @@ -28,7 +28,7 @@ match_pid(const struct sk_buff *skb, pid_t pid) int i; read_lock(&tasklist_lock); - p = find_task_by_pid(pid); + p = find_task_by_real_pid(pid); if (!p) goto out; task_lock(p); diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index 031989611..c73d72011 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -555,12 +555,58 @@ error: IP6_INC_STATS(IPSTATS_MIB_OUTDISCARDS); return err; } + +static void rawv6_probe_proto_opt(struct flowi *fl, struct msghdr *msg) +{ + struct iovec *iov; + u8 __user *type = NULL; + u8 __user *code = NULL; + int probed = 0; + int i; + + if (!msg->msg_iov) + return; + + for (i = 0; i < msg->msg_iovlen; i++) { + iov = &msg->msg_iov[i]; + if (!iov) + continue; + + switch (fl->proto) { + case IPPROTO_ICMPV6: + /* check if one-byte field is readable or not. */ + if (iov->iov_base && iov->iov_len < 1) + break; + + if (!type) { + type = iov->iov_base; + /* check if code field is readable or not. */ + if (iov->iov_len > 1) + code = type + 1; + } else if (!code) + code = iov->iov_base; + + if (type && code) { + get_user(fl->fl_icmp_type, type); + __get_user(fl->fl_icmp_code, code); + probed = 1; + } + break; + default: + probed = 1; + break; + } + if (probed) + break; + } +} + static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t len) { struct ipv6_txoptions opt_space; struct sockaddr_in6 * sin6 = (struct sockaddr_in6 *) msg->msg_name; - struct in6_addr *daddr; + struct in6_addr *daddr, *final_p = NULL, final; struct inet_opt *inet = inet_sk(sk); struct ipv6_pinfo *np = inet6_sk(sk); struct raw6_opt *raw_opt = raw6_sk(sk); @@ -674,6 +720,8 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, opt = fl6_merge_options(&opt_space, flowlabel, opt); fl.proto = proto; + rawv6_probe_proto_opt(&fl, msg); + ipv6_addr_copy(&fl.fl6_dst, daddr); if (ipv6_addr_any(&fl.fl6_src) && !ipv6_addr_any(&np->saddr)) ipv6_addr_copy(&fl.fl6_src, &np->saddr); @@ -681,7 +729,9 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, /* merge ip6_build_xmit from ip6_output */ if (opt && opt->srcrt) { struct rt0_hdr *rt0 = (struct rt0_hdr *) opt->srcrt; + ipv6_addr_copy(&final, &fl.fl6_dst); ipv6_addr_copy(&fl.fl6_dst, rt0->addr); + final_p = &final; } if (!fl.oif && ipv6_addr_is_multicast(&fl.fl6_dst)) @@ -690,6 +740,13 @@ static int rawv6_sendmsg(struct kiocb *iocb, struct sock *sk, err = ip6_dst_lookup(sk, &dst, &fl); if (err) goto out; + if (final_p) + ipv6_addr_copy(&fl.fl6_dst, final_p); + + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) { + dst_release(dst); + goto out; + } if (hlimit < 0) { if (ipv6_addr_is_multicast(&fl.fl6_dst)) @@ -932,6 +989,7 @@ struct proto rawv6_prot = { .backlog_rcv = rawv6_rcv_skb, .hash = raw_v6_hash, .unhash = raw_v6_unhash, + .slab_obj_size = sizeof(struct raw6_sock), }; #ifdef CONFIG_PROC_FS diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index 836d2ae84..7dac574b5 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c @@ -195,14 +195,18 @@ static void ip6_frag_secret_rebuild(unsigned long dummy) atomic_t ip6_frag_mem = ATOMIC_INIT(0); /* Memory Tracking Functions. */ -static inline void frag_kfree_skb(struct sk_buff *skb) +static inline void frag_kfree_skb(struct sk_buff *skb, int *work) { + if (work) + *work -= skb->truesize; atomic_sub(skb->truesize, &ip6_frag_mem); kfree_skb(skb); } -static inline void frag_free_queue(struct frag_queue *fq) +static inline void frag_free_queue(struct frag_queue *fq, int *work) { + if (work) + *work -= sizeof(struct frag_queue); atomic_sub(sizeof(struct frag_queue), &ip6_frag_mem); kfree(fq); } @@ -220,7 +224,7 @@ static inline struct frag_queue *frag_alloc_queue(void) /* Destruction primitives. */ /* Complete destruction of fq. */ -static void ip6_frag_destroy(struct frag_queue *fq) +static void ip6_frag_destroy(struct frag_queue *fq, int *work) { struct sk_buff *fp; @@ -232,17 +236,17 @@ static void ip6_frag_destroy(struct frag_queue *fq) while (fp) { struct sk_buff *xp = fp->next; - frag_kfree_skb(fp); + frag_kfree_skb(fp, work); fp = xp; } - frag_free_queue(fq); + frag_free_queue(fq, work); } -static __inline__ void fq_put(struct frag_queue *fq) +static __inline__ void fq_put(struct frag_queue *fq, int *work) { if (atomic_dec_and_test(&fq->refcnt)) - ip6_frag_destroy(fq); + ip6_frag_destroy(fq, work); } /* Kill fq entry. It is not destroyed immediately, @@ -264,10 +268,13 @@ static void ip6_evictor(void) { struct frag_queue *fq; struct list_head *tmp; + int work; - for(;;) { - if (atomic_read(&ip6_frag_mem) <= sysctl_ip6frag_low_thresh) - return; + work = atomic_read(&ip6_frag_mem) - sysctl_ip6frag_low_thresh; + if (work <= 0) + return; + + while(work > 0) { read_lock(&ip6_frag_lock); if (list_empty(&ip6_frag_lru_list)) { read_unlock(&ip6_frag_lock); @@ -283,7 +290,7 @@ static void ip6_evictor(void) fq_kill(fq); spin_unlock(&fq->lock); - fq_put(fq); + fq_put(fq, &work); IP6_INC_STATS_BH(IPSTATS_MIB_REASMFAILS); } } @@ -320,7 +327,7 @@ static void ip6_frag_expire(unsigned long data) } out: spin_unlock(&fq->lock); - fq_put(fq); + fq_put(fq, NULL); } /* Creation primitives. */ @@ -340,7 +347,7 @@ static struct frag_queue *ip6_frag_intern(unsigned int hash, atomic_inc(&fq->refcnt); write_unlock(&ip6_frag_lock); fq_in->last_in |= COMPLETE; - fq_put(fq_in); + fq_put(fq_in, NULL); return fq; } } @@ -539,7 +546,7 @@ static void ip6_frag_queue(struct frag_queue *fq, struct sk_buff *skb, fq->fragments = next; fq->meat -= free_it->len; - frag_kfree_skb(free_it); + frag_kfree_skb(free_it, NULL); } } @@ -658,7 +665,7 @@ static int ip6_frag_reasm(struct frag_queue *fq, struct sk_buff **skb_in, head->next = NULL; head->dev = dev; head->stamp = fq->stamp; - head->nh.ipv6h->payload_len = ntohs(payload_len); + head->nh.ipv6h->payload_len = htons(payload_len); *skb_in = head; @@ -734,7 +741,7 @@ static int ipv6_frag_rcv(struct sk_buff **skbp, unsigned int *nhoffp) ret = ip6_frag_reasm(fq, skbp, nhoffp, dev); spin_unlock(&fq->lock); - fq_put(fq); + fq_put(fq, NULL); return ret; } diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 2017c69dc..83dc09908 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -155,7 +155,16 @@ static void ip6_dst_destroy(struct dst_entry *dst) static void ip6_dst_ifdown(struct dst_entry *dst, int how) { - ip6_dst_destroy(dst); + struct rt6_info *rt = (struct rt6_info *)dst; + struct inet6_dev *idev = rt->rt6i_idev; + + if (idev != NULL && idev->dev != &loopback_dev) { + struct inet6_dev *loopback_idev = in6_dev_get(&loopback_dev); + if (loopback_idev != NULL) { + rt->rt6i_idev = loopback_idev; + in6_dev_put(idev); + } + } } /* @@ -174,8 +183,17 @@ static __inline__ struct rt6_info *rt6_device_match(struct rt6_info *rt, struct net_device *dev = sprt->rt6i_dev; if (dev->ifindex == oif) return sprt; - if (dev->flags&IFF_LOOPBACK) + if (dev->flags & IFF_LOOPBACK) { + if (sprt->rt6i_idev == NULL || + sprt->rt6i_idev->dev->ifindex != oif) { + if (strict && oif) + continue; + if (local && (!oif || + local->rt6i_idev->dev->ifindex == oif)) + continue; + } local = sprt; + } } if (local) @@ -190,8 +208,18 @@ static __inline__ struct rt6_info *rt6_device_match(struct rt6_info *rt, /* * pointer to the last default router chosen. BH is disabled locally. */ -static struct rt6_info *rt6_dflt_pointer; -static spinlock_t rt6_dflt_lock = SPIN_LOCK_UNLOCKED; +struct rt6_info *rt6_dflt_pointer; +spinlock_t rt6_dflt_lock = SPIN_LOCK_UNLOCKED; + +void rt6_reset_dflt_pointer(struct rt6_info *rt) +{ + spin_lock_bh(&rt6_dflt_lock); + if (rt == NULL || rt == rt6_dflt_pointer) { + RT6_TRACE("reset default router: %p->NULL\n", rt6_dflt_pointer); + rt6_dflt_pointer = NULL; + } + spin_unlock_bh(&rt6_dflt_lock); +} /* Default Router Selection (RFC 2461 6.3.6) */ static struct rt6_info *rt6_best_dflt(struct rt6_info *rt, int oif) @@ -209,6 +237,10 @@ static struct rt6_info *rt6_best_dflt(struct rt6_info *rt, int oif) sprt->rt6i_dev->ifindex == oif)) m += 8; + if ((sprt->rt6i_flags & RTF_EXPIRES) && + time_after(jiffies, sprt->rt6i_expires)) + continue; + if (sprt == rt6_dflt_pointer) m += 4; @@ -336,13 +368,13 @@ struct rt6_info *rt6_lookup(struct in6_addr *daddr, struct in6_addr *saddr, return NULL; } -/* rt6_ins is called with FREE rt6_lock. +/* ip6_ins_rt is called with FREE rt6_lock. It takes new route entry, the addition fails by any reason the route is freed. In any case, if caller does not hold it, it may be destroyed. */ -static int rt6_ins(struct rt6_info *rt, struct nlmsghdr *nlh, void *_rtattr) +int ip6_ins_rt(struct rt6_info *rt, struct nlmsghdr *nlh, void *_rtattr) { int err; @@ -390,7 +422,7 @@ static struct rt6_info *rt6_cow(struct rt6_info *ort, struct in6_addr *daddr, dst_hold(&rt->u.dst); - err = rt6_ins(rt, NULL, NULL); + err = ip6_ins_rt(rt, NULL, NULL); if (err == 0) return rt; @@ -608,8 +640,13 @@ struct dst_entry *ndisc_dst_alloc(struct net_device *dev, struct in6_addr *addr, int (*output)(struct sk_buff **)) { - struct rt6_info *rt = ip6_dst_alloc(); + struct rt6_info *rt; + struct inet6_dev *idev = in6_dev_get(dev); + + if (unlikely(idev == NULL)) + return NULL; + rt = ip6_dst_alloc(); if (unlikely(rt == NULL)) goto out; @@ -620,7 +657,7 @@ struct dst_entry *ndisc_dst_alloc(struct net_device *dev, neigh = ndisc_get_neigh(dev, addr); rt->rt6i_dev = dev; - rt->rt6i_idev = in6_dev_get(dev); + rt->rt6i_idev = idev; rt->rt6i_nexthop = neigh; atomic_set(&rt->u.dst.__refcnt, 1); rt->u.dst.metrics[RTAX_HOPLIMIT-1] = 255; @@ -731,8 +768,9 @@ int ip6_route_add(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr) int err; struct rtmsg *r; struct rtattr **rta; - struct rt6_info *rt; + struct rt6_info *rt = NULL; struct net_device *dev = NULL; + struct inet6_dev *idev = NULL; int addr_type; rta = (struct rtattr **) _rtattr; @@ -744,9 +782,13 @@ int ip6_route_add(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr) return -EINVAL; #endif if (rtmsg->rtmsg_ifindex) { + err = -ENODEV; dev = dev_get_by_index(rtmsg->rtmsg_ifindex); if (!dev) - return -ENODEV; + goto out; + idev = in6_dev_get(dev); + if (!idev) + goto out; } if (rtmsg->rtmsg_metric == 0) @@ -793,10 +835,20 @@ int ip6_route_add(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr) */ if ((rtmsg->rtmsg_flags&RTF_REJECT) || (dev && (dev->flags&IFF_LOOPBACK) && !(addr_type&IPV6_ADDR_LOOPBACK))) { - if (dev) - dev_put(dev); - dev = &loopback_dev; - dev_hold(dev); + /* hold loopback dev/idev if we haven't done so. */ + if (dev != &loopback_dev) { + if (dev) { + dev_put(dev); + in6_dev_put(idev); + } + dev = &loopback_dev; + dev_hold(dev); + idev = in6_dev_get(dev); + if (!idev) { + err = -ENODEV; + goto out; + } + } rt->u.dst.output = ip6_pkt_discard_out; rt->u.dst.input = ip6_pkt_discard; rt->u.dst.error = -ENETUNREACH; @@ -838,7 +890,9 @@ int ip6_route_add(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_rtattr) } } else { dev = grt->rt6i_dev; + idev = grt->rt6i_idev; dev_hold(dev); + in6_dev_hold(grt->rt6i_idev); } if (!(grt->rt6i_flags&RTF_GATEWAY)) err = 0; @@ -900,8 +954,8 @@ install_route: if (!rt->u.dst.metrics[RTAX_ADVMSS-1]) rt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_pmtu(&rt->u.dst)); rt->u.dst.dev = dev; - rt->rt6i_idev = in6_dev_get(dev); - return rt6_ins(rt, nlh, _rtattr); + rt->rt6i_idev = idev; + return ip6_ins_rt(rt, nlh, _rtattr); out: if (dev) @@ -916,9 +970,7 @@ int ip6_del_rt(struct rt6_info *rt, struct nlmsghdr *nlh, void *_rtattr) write_lock_bh(&rt6_lock); - spin_lock_bh(&rt6_dflt_lock); - rt6_dflt_pointer = NULL; - spin_unlock_bh(&rt6_dflt_lock); + rt6_reset_dflt_pointer(NULL); dst_release(&rt->u.dst); @@ -967,7 +1019,7 @@ static int ip6_route_del(struct in6_rtmsg *rtmsg, struct nlmsghdr *nlh, void *_r * Handle redirects */ void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr, - struct neighbour *neigh, int on_link) + struct neighbour *neigh, u8 *lladdr, int on_link) { struct rt6_info *rt, *nrt; @@ -980,22 +1032,13 @@ void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr, if (neigh->dev != rt->rt6i_dev) goto out; - /* Redirect received -> path was valid. - Look, redirects are sent only in response to data packets, - so that this nexthop apparently is reachable. --ANK - */ - dst_confirm(&rt->u.dst); - - /* Duplicate redirect: silently ignore. */ - if (neigh == rt->u.dst.neighbour) - goto out; - - /* Current route is on-link; redirect is always invalid. - - Seems, previous statement is not true. It could - be node, which looks for us as on-link (f.e. proxy ndisc) - But then router serving it might decide, that we should - know truth 8)8) --ANK (980726). + /* + * Current route is on-link; redirect is always invalid. + * + * Seems, previous statement is not true. It could + * be node, which looks for us as on-link (f.e. proxy ndisc) + * But then router serving it might decide, that we should + * know truth 8)8) --ANK (980726). */ if (!(rt->rt6i_flags&RTF_GATEWAY)) goto out; @@ -1007,7 +1050,6 @@ void rt6_redirect(struct in6_addr *dest, struct in6_addr *saddr, * is a bit fuzzy and one might need to check all default * routers. */ - if (ipv6_addr_cmp(saddr, &rt->rt6i_gateway)) { if (rt->rt6i_flags & RTF_DEFAULT) { struct rt6_info *rt1; @@ -1036,6 +1078,24 @@ source_ok: * We have finally decided to accept it. */ + neigh_update(neigh, lladdr, NUD_STALE, + NEIGH_UPDATE_F_WEAK_OVERRIDE| + NEIGH_UPDATE_F_OVERRIDE| + (on_link ? 0 : (NEIGH_UPDATE_F_OVERRIDE_ISROUTER| + NEIGH_UPDATE_F_ISROUTER)) + ); + + /* + * Redirect received -> path was valid. + * Look, redirects are sent only in response to data packets, + * so that this nexthop apparently is reachable. --ANK + */ + dst_confirm(&rt->u.dst); + + /* Duplicate redirect: silently ignore. */ + if (neigh == rt->u.dst.neighbour) + goto out; + nrt = ip6_rt_copy(rt); if (nrt == NULL) goto out; @@ -1054,7 +1114,7 @@ source_ok: nrt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(neigh->dev); nrt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_pmtu(&nrt->u.dst)); - if (rt6_ins(nrt, NULL, NULL)) + if (ip6_ins_rt(nrt, NULL, NULL)) goto out; if (rt->rt6i_flags&RTF_CACHE) { @@ -1144,7 +1204,7 @@ void rt6_pmtu_discovery(struct in6_addr *daddr, struct in6_addr *saddr, dst_set_expires(&nrt->u.dst, ip6_rt_mtu_expires); nrt->rt6i_flags |= RTF_DYNAMIC|RTF_CACHE|RTF_EXPIRES; nrt->u.dst.metrics[RTAX_MTU-1] = pmtu; - rt6_ins(nrt, NULL, NULL); + ip6_ins_rt(nrt, NULL, NULL); } out: @@ -1213,7 +1273,7 @@ struct rt6_info *rt6_add_dflt_router(struct in6_addr *gwaddr, rtmsg.rtmsg_type = RTMSG_NEWROUTE; ipv6_addr_copy(&rtmsg.rtmsg_gateway, gwaddr); rtmsg.rtmsg_metric = 1024; - rtmsg.rtmsg_flags = RTF_GATEWAY | RTF_ADDRCONF | RTF_DEFAULT | RTF_UP; + rtmsg.rtmsg_flags = RTF_GATEWAY | RTF_ADDRCONF | RTF_DEFAULT | RTF_UP | RTF_EXPIRES; rtmsg.rtmsg_ifindex = dev->ifindex; @@ -1237,9 +1297,7 @@ restart: if (rt->rt6i_flags & flags) { dst_hold(&rt->u.dst); - spin_lock_bh(&rt6_dflt_lock); - rt6_dflt_pointer = NULL; - spin_unlock_bh(&rt6_dflt_lock); + rt6_reset_dflt_pointer(NULL); read_unlock_bh(&rt6_lock); @@ -1299,27 +1357,32 @@ int ip6_pkt_discard(struct sk_buff *skb) int ip6_pkt_discard_out(struct sk_buff **pskb) { + (*pskb)->dev = (*pskb)->dst->dev; + BUG_ON(!(*pskb)->dev); return ip6_pkt_discard(*pskb); } /* - * Add address + * Allocate a dst for local (unicast / anycast) address. */ -int ip6_rt_addr_add(struct in6_addr *addr, struct net_device *dev, int anycast) +struct rt6_info *addrconf_dst_alloc(struct inet6_dev *idev, + const struct in6_addr *addr, + int anycast) { struct rt6_info *rt = ip6_dst_alloc(); if (rt == NULL) - return -ENOMEM; + return ERR_PTR(-ENOMEM); dev_hold(&loopback_dev); + in6_dev_hold(idev); rt->u.dst.flags = DST_HOST; rt->u.dst.input = ip6_input; rt->u.dst.output = ip6_output; rt->rt6i_dev = &loopback_dev; - rt->rt6i_idev = in6_dev_get(&loopback_dev); + rt->rt6i_idev = idev; rt->u.dst.metrics[RTAX_MTU-1] = ipv6_get_mtu(rt->rt6i_dev); rt->u.dst.metrics[RTAX_ADVMSS-1] = ipv6_advmss(dst_pmtu(&rt->u.dst)); rt->u.dst.metrics[RTAX_HOPLIMIT-1] = ipv6_get_hoplimit(rt->rt6i_dev); @@ -1331,34 +1394,15 @@ int ip6_rt_addr_add(struct in6_addr *addr, struct net_device *dev, int anycast) rt->rt6i_nexthop = ndisc_get_neigh(rt->rt6i_dev, &rt->rt6i_gateway); if (rt->rt6i_nexthop == NULL) { dst_free((struct dst_entry *) rt); - return -ENOMEM; + return ERR_PTR(-ENOMEM); } ipv6_addr_copy(&rt->rt6i_dst.addr, addr); rt->rt6i_dst.plen = 128; - rt6_ins(rt, NULL, NULL); - - return 0; -} - -/* Delete address. Warning: you should check that this address - disappeared before calling this function. - */ - -int ip6_rt_addr_del(struct in6_addr *addr, struct net_device *dev) -{ - struct rt6_info *rt; - int err = -ENOENT; - rt = rt6_lookup(addr, NULL, loopback_dev.ifindex, 1); - if (rt) { - if (rt->rt6i_dst.plen == 128) - err = ip6_del_rt(rt, NULL, NULL); - else - dst_release(&rt->u.dst); - } + atomic_set(&rt->u.dst.__refcnt, 1); - return err; + return rt; } static int fib6_ifdown(struct rt6_info *rt, void *arg) diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 23482d1bd..3ddbd6ce3 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c @@ -50,6 +50,7 @@ #include #include #include +#include /* This version of net/ipv6/sit.c is cloned of net/ipv4/ip_gre.c @@ -360,8 +361,7 @@ out: static inline void ipip6_ecn_decapsulate(struct iphdr *iph, struct sk_buff *skb) { - if (INET_ECN_is_ce(iph->tos) && - INET_ECN_is_not_ce(ip6_get_dsfield(skb->nh.ipv6h))) + if (INET_ECN_is_ce(iph->tos)) IP6_ECN_set_ce(skb->nh.ipv6h); } @@ -487,6 +487,7 @@ static int ipip6_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) } } if (rt->rt_type != RTN_UNICAST) { + ip_rt_put(rt); tunnel->stat.tx_carrier_errors++; goto tx_error_icmp; } @@ -567,7 +568,7 @@ static int ipip6_tunnel_xmit(struct sk_buff *skb, struct net_device *dev) iph->frag_off = 0; iph->protocol = IPPROTO_IPV6; - iph->tos = INET_ECN_encapsulate(tos, ip6_get_dsfield(iph6)); + iph->tos = INET_ECN_encapsulate(tos, ipv6_get_dsfield(iph6)); iph->daddr = rt->rt_dst; iph->saddr = rt->rt_src; @@ -814,18 +815,19 @@ int __init sit_init(void) ipip6_tunnel_setup); if (!ipip6_fb_tunnel_dev) { err = -ENOMEM; - goto fail; + goto err1; } ipip6_fb_tunnel_dev->init = ipip6_fb_tunnel_init; if ((err = register_netdev(ipip6_fb_tunnel_dev))) - goto fail; + goto err2; out: return err; - fail: - inet_del_protocol(&sit_protocol, IPPROTO_IPV6); + err2: free_netdev(ipip6_fb_tunnel_dev); + err1: + inet_del_protocol(&sit_protocol, IPPROTO_IPV6); goto out; } diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 0d9554c83..4f77617c4 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -57,6 +57,7 @@ #include #include #include +#include #include @@ -549,7 +550,7 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, struct inet_opt *inet = inet_sk(sk); struct ipv6_pinfo *np = inet6_sk(sk); struct tcp_opt *tp = tcp_sk(sk); - struct in6_addr *saddr = NULL; + struct in6_addr *saddr = NULL, *final_p = NULL, final; struct flowi fl; struct dst_entry *dst; int addr_type; @@ -666,13 +667,21 @@ static int tcp_v6_connect(struct sock *sk, struct sockaddr *uaddr, if (np->opt && np->opt->srcrt) { struct rt0_hdr *rt0 = (struct rt0_hdr *)np->opt->srcrt; + ipv6_addr_copy(&final, &fl.fl6_dst); ipv6_addr_copy(&fl.fl6_dst, rt0->addr); + final_p = &final; } err = ip6_dst_lookup(sk, &dst, &fl); - if (err) goto failure; + if (final_p) + ipv6_addr_copy(&fl.fl6_dst, final_p); + + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) { + dst_release(dst); + goto failure; + } if (saddr == NULL) { saddr = &fl.fl6_src; @@ -793,6 +802,12 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, sk->sk_err_soft = -err; goto out; } + + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) { + sk->sk_err_soft = -err; + goto out; + } + } else dst_hold(dst); @@ -863,6 +878,7 @@ static int tcp_v6_send_synack(struct sock *sk, struct open_request *req, struct ipv6_pinfo *np = inet6_sk(sk); struct sk_buff * skb; struct ipv6_txoptions *opt = NULL; + struct in6_addr * final_p = NULL, final; struct flowi fl; int err = -1; @@ -888,12 +904,18 @@ static int tcp_v6_send_synack(struct sock *sk, struct open_request *req, if (opt && opt->srcrt) { struct rt0_hdr *rt0 = (struct rt0_hdr *) opt->srcrt; + ipv6_addr_copy(&final, &fl.fl6_dst); ipv6_addr_copy(&fl.fl6_dst, rt0->addr); + final_p = &final; } err = ip6_dst_lookup(sk, &dst, &fl); if (err) goto done; + if (final_p) + ipv6_addr_copy(&fl.fl6_dst, final_p); + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) + goto done; } skb = tcp_make_synack(sk, dst, req); @@ -981,11 +1003,12 @@ static void tcp_v6_send_reset(struct sk_buff *skb) * and then put it into the queue to be sent. */ - buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr), GFP_ATOMIC); + buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr) + sizeof(struct tcphdr), + GFP_ATOMIC); if (buff == NULL) return; - skb_reserve(buff, MAX_HEADER + sizeof(struct ipv6hdr)); + skb_reserve(buff, MAX_HEADER + sizeof(struct ipv6hdr) + sizeof(struct tcphdr)); t1 = (struct tcphdr *) skb_push(buff,sizeof(struct tcphdr)); @@ -1021,6 +1044,12 @@ static void tcp_v6_send_reset(struct sk_buff *skb) /* sk = NULL, but it is safe for now. RST socket required. */ if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { + + if ((xfrm_lookup(&buff->dst, &fl, NULL, 0)) < 0) { + dst_release(buff->dst); + return; + } + ip6_xmit(NULL, buff, &fl, NULL, 0); TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); TCP_INC_STATS_BH(TCP_MIB_OUTRSTS); @@ -1037,14 +1066,15 @@ static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 struct flowi fl; int tot_len = sizeof(struct tcphdr); - buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr), GFP_ATOMIC); + if (ts) + tot_len += 3*4; + + buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr) + tot_len, + GFP_ATOMIC); if (buff == NULL) return; - skb_reserve(buff, MAX_HEADER + sizeof(struct ipv6hdr)); - - if (ts) - tot_len += 3*4; + skb_reserve(buff, MAX_HEADER + sizeof(struct ipv6hdr) + tot_len); t1 = (struct tcphdr *) skb_push(buff,tot_len); @@ -1082,6 +1112,10 @@ static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 fl.fl_ip_sport = t1->source; if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { + if ((xfrm_lookup(&buff->dst, &fl, NULL, 0)) < 0) { + dst_release(buff->dst); + return; + } ip6_xmit(NULL, buff, &fl, NULL, 0); TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); return; @@ -1346,6 +1380,7 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, } if (dst == NULL) { + struct in6_addr *final_p = NULL, final; struct flowi fl; memset(&fl, 0, sizeof(fl)); @@ -1353,7 +1388,9 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, ipv6_addr_copy(&fl.fl6_dst, &req->af.v6_req.rmt_addr); if (opt && opt->srcrt) { struct rt0_hdr *rt0 = (struct rt0_hdr *) opt->srcrt; + ipv6_addr_copy(&final, &fl.fl6_dst); ipv6_addr_copy(&fl.fl6_dst, rt0->addr); + final_p = &final; } ipv6_addr_copy(&fl.fl6_src, &req->af.v6_req.loc_addr); fl.oif = sk->sk_bound_dev_if; @@ -1362,6 +1399,12 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, if (ip6_dst_lookup(sk, &dst, &fl)) goto out; + + if (final_p) + ipv6_addr_copy(&fl.fl6_dst, final_p); + + if ((xfrm_lookup(&dst, &fl, sk, 0)) < 0) + goto out; } newsk = tcp_create_openreq_child(sk, req, skb); @@ -1639,7 +1682,7 @@ static int tcp_v6_rcv(struct sk_buff **pskb, unsigned int *nhoffp) skb->len - th->doff*4); TCP_SKB_CB(skb)->ack_seq = ntohl(th->ack_seq); TCP_SKB_CB(skb)->when = 0; - TCP_SKB_CB(skb)->flags = ip6_get_dsfield(skb->nh.ipv6h); + TCP_SKB_CB(skb)->flags = ipv6_get_dsfield(skb->nh.ipv6h); TCP_SKB_CB(skb)->sacked = 0; sk = __tcp_v6_lookup(&skb->nh.ipv6h->saddr, th->source, @@ -1743,6 +1786,7 @@ static int tcp_v6_rebuild_header(struct sock *sk) if (dst == NULL) { struct inet_opt *inet = inet_sk(sk); + struct in6_addr *final_p = NULL, final; struct flowi fl; memset(&fl, 0, sizeof(fl)); @@ -1756,15 +1800,24 @@ static int tcp_v6_rebuild_header(struct sock *sk) if (np->opt && np->opt->srcrt) { struct rt0_hdr *rt0 = (struct rt0_hdr *) np->opt->srcrt; + ipv6_addr_copy(&final, &fl.fl6_dst); ipv6_addr_copy(&fl.fl6_dst, rt0->addr); + final_p = &final; } err = ip6_dst_lookup(sk, &dst, &fl); - if (err) { sk->sk_route_caps = 0; return err; } + if (final_p) + ipv6_addr_copy(&fl.fl6_dst, final_p); + + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) { + sk->sk_err_soft = -err; + dst_release(dst); + return err; + } ip6_dst_store(sk, dst, NULL); sk->sk_route_caps = dst->dev->features & @@ -1808,6 +1861,12 @@ static int tcp_v6_xmit(struct sk_buff *skb, int ipfragok) return err; } + if ((err = xfrm_lookup(&dst, &fl, sk, 0)) < 0) { + sk->sk_route_caps = 0; + dst_release(dst); + return err; + } + ip6_dst_store(sk, dst, NULL); sk->sk_route_caps = dst->dev->features & ~(NETIF_F_IP_CSUM | NETIF_F_TSO); @@ -1906,7 +1965,7 @@ static int tcp_v6_init_sock(struct sock *sk) */ tp->snd_ssthresh = 0x7fffffff; tp->snd_cwnd_clamp = ~0; - tp->mss_cache = 536; + tp->mss_cache_std = tp->mss_cache = 536; tp->reordering = sysctl_tcp_reordering; @@ -2122,6 +2181,7 @@ struct proto tcpv6_prot = { .sysctl_wmem = sysctl_tcp_wmem, .sysctl_rmem = sysctl_tcp_rmem, .max_header = MAX_TCP_HEADER, + .slab_obj_size = sizeof(struct tcp6_sock), }; static struct inet6_protocol tcpv6_protocol = { diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 7133801bd..ff00dc49c 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -627,7 +627,7 @@ static int udpv6_sendmsg(struct kiocb *iocb, struct sock *sk, struct inet_opt *inet = inet_sk(sk); struct ipv6_pinfo *np = inet6_sk(sk); struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *) msg->msg_name; - struct in6_addr *daddr; + struct in6_addr *daddr, *final_p = NULL, final; struct ipv6_txoptions *opt = NULL; struct ip6_flowlabel *flowlabel = NULL; struct flowi *fl = &inet->cork.fl; @@ -783,7 +783,9 @@ do_udp_sendmsg: /* merge ip6_build_xmit from ip6_output */ if (opt && opt->srcrt) { struct rt0_hdr *rt0 = (struct rt0_hdr *) opt->srcrt; + ipv6_addr_copy(&final, &fl->fl6_dst); ipv6_addr_copy(&fl->fl6_dst, rt0->addr); + final_p = &final; } if (!fl->oif && ipv6_addr_is_multicast(&fl->fl6_dst)) @@ -792,6 +794,13 @@ do_udp_sendmsg: err = ip6_dst_lookup(sk, &dst, fl); if (err) goto out; + if (final_p) + ipv6_addr_copy(&fl->fl6_dst, final_p); + + if ((err = xfrm_lookup(&dst, fl, sk, 0)) < 0) { + dst_release(dst); + goto out; + } if (hlimit < 0) { if (ipv6_addr_is_multicast(&fl->fl6_dst)) @@ -1037,6 +1046,7 @@ struct proto udpv6_prot = { .hash = udp_v6_hash, .unhash = udp_v6_unhash, .get_port = udp_v6_get_port, + .slab_obj_size = sizeof(struct udp6_sock), }; extern struct proto_ops inet6_dgram_ops; diff --git a/net/ipv6/xfrm6_policy.c b/net/ipv6/xfrm6_policy.c index ab4e40b0a..a0715e2f0 100644 --- a/net/ipv6/xfrm6_policy.c +++ b/net/ipv6/xfrm6_policy.c @@ -17,12 +17,12 @@ #include #include -extern struct dst_ops xfrm6_dst_ops; -extern struct xfrm_policy_afinfo xfrm6_policy_afinfo; +static struct dst_ops xfrm6_dst_ops; +static struct xfrm_policy_afinfo xfrm6_policy_afinfo; static struct xfrm_type_map xfrm6_type_map = { .lock = RW_LOCK_UNLOCKED }; -int xfrm6_dst_lookup(struct xfrm_dst **dst, struct flowi *fl) +static int xfrm6_dst_lookup(struct xfrm_dst **dst, struct flowi *fl) { int err = 0; *dst = (struct xfrm_dst*)ip6_route_output(NULL, fl); @@ -213,6 +213,16 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl) fl->proto = nexthdr; return; + case IPPROTO_ICMPV6: + if (pskb_may_pull(skb, skb->nh.raw + offset + 2 - skb->data)) { + u8 *icmp = (u8 *)exthdr; + + fl->fl_icmp_type = icmp[0]; + fl->fl_icmp_code = icmp[1]; + } + fl->proto = nexthdr; + return; + /* XXX Why are there these headers? */ case IPPROTO_AH: case IPPROTO_ESP: @@ -243,7 +253,7 @@ static void xfrm6_update_pmtu(struct dst_entry *dst, u32 mtu) return; } -struct dst_ops xfrm6_dst_ops = { +static struct dst_ops xfrm6_dst_ops = { .family = AF_INET6, .protocol = __constant_htons(ETH_P_IPV6), .gc = xfrm6_garbage_collect, @@ -252,7 +262,7 @@ struct dst_ops xfrm6_dst_ops = { .entry_size = sizeof(struct xfrm_dst), }; -struct xfrm_policy_afinfo xfrm6_policy_afinfo = { +static struct xfrm_policy_afinfo xfrm6_policy_afinfo = { .family = AF_INET6, .lock = RW_LOCK_UNLOCKED, .type_map = &xfrm6_type_map, @@ -263,12 +273,12 @@ struct xfrm_policy_afinfo xfrm6_policy_afinfo = { .decode_session = _decode_session6, }; -void __init xfrm6_policy_init(void) +static void __init xfrm6_policy_init(void) { xfrm_policy_register_afinfo(&xfrm6_policy_afinfo); } -void __exit xfrm6_policy_fini(void) +static void __exit xfrm6_policy_fini(void) { xfrm_policy_unregister_afinfo(&xfrm6_policy_afinfo); } @@ -277,12 +287,10 @@ void __init xfrm6_init(void) { xfrm6_policy_init(); xfrm6_state_init(); - xfrm6_tunnel_init(); } void __exit xfrm6_fini(void) { - xfrm6_tunnel_fini(); //xfrm6_input_fini(); xfrm6_policy_fini(); xfrm6_state_fini(); diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c index 163223daf..e88d37fe2 100644 --- a/net/ipx/af_ipx.c +++ b/net/ipx/af_ipx.c @@ -1621,6 +1621,7 @@ static int ipx_getname(struct socket *sock, struct sockaddr *uaddr, sipx.sipx_family = AF_IPX; sipx.sipx_type = ipxs->type; + sipx.sipx_zero = 0; memcpy(uaddr, &sipx, sizeof(sipx)); rc = 0; @@ -1808,6 +1809,7 @@ static int ipx_recvmsg(struct kiocb *iocb, struct socket *sock, memcpy(sipx->sipx_node, ipx->ipx_source.node, IPX_NODE_LEN); sipx->sipx_network = IPX_SKB_CB(skb)->ipx_source_net; sipx->sipx_type = ipx->ipx_type; + sipx->sipx_zero = 0; } rc = copied; diff --git a/net/key/af_key.c b/net/key/af_key.c index fdf75a1ba..ed9d9bebd 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c @@ -683,6 +683,8 @@ static struct sk_buff * pfkey_xfrm_state2msg(struct xfrm_state *x, int add_keys, sa->sadb_sa_flags = 0; if (x->props.flags & XFRM_STATE_NOECN) sa->sadb_sa_flags |= SADB_SAFLAGS_NOECN; + if (x->props.flags & XFRM_STATE_DECAP_DSCP) + sa->sadb_sa_flags |= SADB_SAFLAGS_DECAP_DSCP; /* hard time */ if (hsc & 2) { @@ -965,6 +967,8 @@ static struct xfrm_state * pfkey_msg2xfrm_state(struct sadb_msg *hdr, x->props.replay_window = sa->sadb_sa_replay; if (sa->sadb_sa_flags & SADB_SAFLAGS_NOECN) x->props.flags |= XFRM_STATE_NOECN; + if (sa->sadb_sa_flags & SADB_SAFLAGS_DECAP_DSCP) + x->props.flags |= XFRM_STATE_DECAP_DSCP; lifetime = (struct sadb_lifetime*) ext_hdrs[SADB_EXT_LIFETIME_HARD-1]; if (lifetime != NULL) { @@ -1075,15 +1079,6 @@ static struct xfrm_state * pfkey_msg2xfrm_state(struct sadb_msg *hdr, n_type = ext_hdrs[SADB_X_EXT_NAT_T_TYPE-1]; natt->encap_type = n_type->sadb_x_nat_t_type_type; - switch (natt->encap_type) { - case UDP_ENCAP_ESPINUDP: - case UDP_ENCAP_ESPINUDP_NON_IKE: - break; - default: - err = -ENOPROTOOPT; - goto out; - } - if (ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]) { struct sadb_x_nat_t_port* n_port = ext_hdrs[SADB_X_EXT_NAT_T_SPORT-1]; @@ -1165,7 +1160,16 @@ static int pfkey_getspi(struct sock *sk, struct sk_buff *skb, struct sadb_msg *h break; #endif } - if (xdaddr) + + if (hdr->sadb_msg_seq) { + x = xfrm_find_acq_byseq(hdr->sadb_msg_seq); + if (x && xfrm_addr_cmp(&x->id.daddr, xdaddr, family)) { + xfrm_state_put(x); + x = NULL; + } + } + + if (!x) x = xfrm_find_acq(mode, reqid, proto, xdaddr, xsaddr, 1, family); if (x == NULL) diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index d088fe8f6..357a1f045 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c @@ -638,7 +638,6 @@ static int llc_ui_accept(struct socket *sock, struct socket *newsock, int flags) newsk = skb->sk; /* attach connection to a new socket. */ llc_ui_sk_init(newsock, newsk); - newsk->sk_pair = NULL; newsk->sk_zapped = 0; newsk->sk_state = TCP_ESTABLISHED; newsock->state = SS_CONNECTED; diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 69a81d08d..bba867715 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -44,6 +44,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include @@ -56,9 +62,9 @@ struct netlink_opt { u32 pid; - unsigned groups; + unsigned int groups; u32 dst_pid; - unsigned dst_groups; + unsigned int dst_groups; unsigned long state; int (*handler)(int unit, struct sk_buff *skb); wait_queue_head_t wait; @@ -69,9 +75,28 @@ struct netlink_opt #define nlk_sk(__sk) ((struct netlink_opt *)(__sk)->sk_protinfo) -static struct hlist_head nl_table[MAX_LINKS]; +struct nl_pid_hash { + struct hlist_head *table; + unsigned long rehash_time; + + unsigned int mask; + unsigned int shift; + + unsigned int entries; + unsigned int max_shift; + + u32 rnd; +}; + +struct netlink_table { + struct nl_pid_hash hash; + struct hlist_head mc_list; +}; + +static struct netlink_table *nl_table; + static DECLARE_WAIT_QUEUE_HEAD(nl_table_wait); -static unsigned nl_nonroot[MAX_LINKS]; +static unsigned int nl_nonroot[MAX_LINKS]; #ifdef NL_EMULATE_DEV static struct socket *netlink_kernel[MAX_LINKS]; @@ -80,13 +105,16 @@ static struct socket *netlink_kernel[MAX_LINKS]; static int netlink_dump(struct sock *sk); static void netlink_destroy_callback(struct netlink_callback *cb); -atomic_t netlink_sock_nr; - static rwlock_t nl_table_lock = RW_LOCK_UNLOCKED; static atomic_t nl_table_users = ATOMIC_INIT(0); static struct notifier_block *netlink_chain; +static struct hlist_head *nl_pid_hashfn(struct nl_pid_hash *hash, u32 pid) +{ + return &hash->table[jhash_1word(pid, hash->rnd) & hash->mask]; +} + static void netlink_sock_destruct(struct sock *sk) { skb_queue_purge(&sk->sk_receive_queue); @@ -100,11 +128,6 @@ static void netlink_sock_destruct(struct sock *sk) BUG_TRAP(!nlk_sk(sk)->cb); kfree(nlk_sk(sk)); - - atomic_dec(&netlink_sock_nr); -#ifdef NETLINK_REFCNT_DEBUG - printk(KERN_DEBUG "NETLINK %p released, %d are still alive\n", sk, atomic_read(&netlink_sock_nr)); -#endif } /* This lock without WQ_FLAG_EXCLUSIVE is good on UP and it is _very_ bad on SMP. @@ -160,11 +183,14 @@ netlink_unlock_table(void) static __inline__ struct sock *netlink_lookup(int protocol, u32 pid) { + struct nl_pid_hash *hash = &nl_table[protocol].hash; + struct hlist_head *head; struct sock *sk; struct hlist_node *node; read_lock(&nl_table_lock); - sk_for_each(sk, node, &nl_table[protocol]) { + head = nl_pid_hashfn(hash, pid); + sk_for_each(sk, node, head) { if (nlk_sk(sk)->pid == pid) { sock_hold(sk); goto found; @@ -176,27 +202,118 @@ found: return sk; } +static inline struct hlist_head *nl_pid_hash_alloc(size_t size) +{ + if (size <= PAGE_SIZE) + return kmalloc(size, GFP_ATOMIC); + else + return (struct hlist_head *) + __get_free_pages(GFP_ATOMIC, get_order(size)); +} + +static inline void nl_pid_hash_free(struct hlist_head *table, size_t size) +{ + if (size <= PAGE_SIZE) + kfree(table); + else + free_pages((unsigned long)table, get_order(size)); +} + +static int nl_pid_hash_rehash(struct nl_pid_hash *hash, int grow) +{ + unsigned int omask, mask, shift; + size_t osize, size; + struct hlist_head *otable, *table; + int i; + + omask = mask = hash->mask; + osize = size = (mask + 1) * sizeof(*table); + shift = hash->shift; + + if (grow) { + if (++shift > hash->max_shift) + return 0; + mask = mask * 2 + 1; + size *= 2; + } + + table = nl_pid_hash_alloc(size); + if (!table) + return 0; + + memset(table, 0, size); + otable = hash->table; + hash->table = table; + hash->mask = mask; + hash->shift = shift; + get_random_bytes(&hash->rnd, sizeof(hash->rnd)); + + for (i = 0; i <= omask; i++) { + struct sock *sk; + struct hlist_node *node, *tmp; + + sk_for_each_safe(sk, node, tmp, &otable[i]) + __sk_add_node(sk, nl_pid_hashfn(hash, nlk_sk(sk)->pid)); + } + + nl_pid_hash_free(otable, osize); + hash->rehash_time = jiffies + 10 * 60 * HZ; + return 1; +} + +static inline int nl_pid_hash_dilute(struct nl_pid_hash *hash, int len) +{ + int avg = hash->entries >> hash->shift; + + if (unlikely(avg > 1) && nl_pid_hash_rehash(hash, 1)) + return 1; + + if (unlikely(len > avg) && time_after(jiffies, hash->rehash_time)) { + nl_pid_hash_rehash(hash, 0); + return 1; + } + + return 0; +} + static struct proto_ops netlink_ops; static int netlink_insert(struct sock *sk, u32 pid) { + struct nl_pid_hash *hash = &nl_table[sk->sk_protocol].hash; + struct hlist_head *head; int err = -EADDRINUSE; struct sock *osk; struct hlist_node *node; + int len; netlink_table_grab(); - sk_for_each(osk, node, &nl_table[sk->sk_protocol]) { + head = nl_pid_hashfn(hash, pid); + len = 0; + sk_for_each(osk, node, head) { if (nlk_sk(osk)->pid == pid) break; + len++; } - if (!node) { - err = -EBUSY; - if (nlk_sk(sk)->pid == 0) { - nlk_sk(sk)->pid = pid; - sk_add_node(sk, &nl_table[sk->sk_protocol]); - err = 0; - } - } + if (node) + goto err; + + err = -EBUSY; + if (nlk_sk(sk)->pid) + goto err; + + err = -ENOMEM; + if (BITS_PER_LONG > 32 && unlikely(hash->entries >= UINT_MAX)) + goto err; + + if (len && nl_pid_hash_dilute(hash, len)) + head = nl_pid_hashfn(hash, pid); + hash->entries++; + nlk_sk(sk)->pid = pid; + sk_add_node(sk, head); + err = 0; + +err: netlink_table_ungrab(); return err; } @@ -204,7 +321,10 @@ static int netlink_insert(struct sock *sk, u32 pid) static void netlink_remove(struct sock *sk) { netlink_table_grab(); + nl_table[sk->sk_protocol].hash.entries--; sk_del_node_init(sk); + if (nlk_sk(sk)->groups) + __sk_del_bind_node(sk); netlink_table_ungrab(); } @@ -240,7 +360,6 @@ static int netlink_create(struct socket *sock, int protocol) spin_lock_init(&nlk->cb_lock); init_waitqueue_head(&nlk->wait); sk->sk_destruct = netlink_sock_destruct; - atomic_inc(&netlink_sock_nr); sk->sk_protocol = protocol; return 0; @@ -290,19 +409,24 @@ static int netlink_release(struct socket *sock) static int netlink_autobind(struct socket *sock) { struct sock *sk = sock->sk; + struct nl_pid_hash *hash = &nl_table[sk->sk_protocol].hash; + struct hlist_head *head; struct sock *osk; struct hlist_node *node; s32 pid = current->pid; int err; + static s32 rover = -4097; retry: + cond_resched(); netlink_table_grab(); - sk_for_each(osk, node, &nl_table[sk->sk_protocol]) { + head = nl_pid_hashfn(hash, pid); + sk_for_each(osk, node, head) { if (nlk_sk(osk)->pid == pid) { /* Bind collision, search negative pid values. */ - if (pid > 0) - pid = -4096; - pid--; + pid = rover--; + if (rover > -4097) + rover = -4097; netlink_table_ungrab(); goto retry; } @@ -316,7 +440,7 @@ retry: return 0; } -static inline int netlink_capable(struct socket *sock, unsigned flag) +static inline int netlink_capable(struct socket *sock, unsigned int flag) { return (nl_nonroot[sock->sk->sk_protocol] & flag) || capable(CAP_NET_ADMIN); @@ -339,21 +463,26 @@ static int netlink_bind(struct socket *sock, struct sockaddr *addr, int addr_len if (nlk->pid) { if (nladdr->nl_pid != nlk->pid) return -EINVAL; - nlk->groups = nladdr->nl_groups; - return 0; + } else { + err = nladdr->nl_pid ? + netlink_insert(sk, nladdr->nl_pid) : + netlink_autobind(sock); + if (err) + return err; } - if (nladdr->nl_pid == 0) { - err = netlink_autobind(sock); - if (err == 0) - nlk->groups = nladdr->nl_groups; - return err; - } + if (!nladdr->nl_groups && !nlk->groups) + return 0; - err = netlink_insert(sk, nladdr->nl_pid); - if (err == 0) - nlk->groups = nladdr->nl_groups; - return err; + netlink_table_grab(); + if (nlk->groups && !nladdr->nl_groups) + __sk_del_bind_node(sk); + else if (!nlk->groups && nladdr->nl_groups) + sk_add_bind_node(sk, &nl_table[sk->sk_protocol].mc_list); + nlk->groups = nladdr->nl_groups; + netlink_table_ungrab(); + + return 0; } static int netlink_connect(struct socket *sock, struct sockaddr *addr, @@ -536,12 +665,31 @@ void netlink_detachskb(struct sock *sk, struct sk_buff *skb) sock_put(sk); } +static inline void netlink_trim(struct sk_buff *skb, int allocation) +{ + int delta = skb->end - skb->tail; + + /* If the packet is charged to a socket, the modification + * of truesize below is illegal and will corrupt socket + * buffer accounting state. + */ + BUG_ON(skb->list != NULL); + + if (delta * 2 < skb->truesize) + return; + if (pskb_expand_head(skb, 0, -delta, allocation)) + return; + skb->truesize -= delta; +} + int netlink_unicast(struct sock *ssk, struct sk_buff *skb, u32 pid, int nonblock) { struct sock *sk; int err; long timeo; + netlink_trim(skb, gfp_any()); + timeo = sock_sndtimeo(ssk, nonblock); retry: sk = netlink_getsockbypid(ssk, pid); @@ -574,91 +722,149 @@ static __inline__ int netlink_broadcast_deliver(struct sock *sk, struct sk_buff skb_set_owner_r(skb, sk); skb_queue_tail(&sk->sk_receive_queue, skb); sk->sk_data_ready(sk, skb->len); - return 0; + return atomic_read(&sk->sk_rmem_alloc) > sk->sk_rcvbuf; } return -1; } +struct netlink_broadcast_data { + struct sock *exclude_sk; + u32 pid; + u32 group; + int failure; + int congested; + int delivered; + int allocation; + struct sk_buff *skb, *skb2; +}; + +static inline int do_one_broadcast(struct sock *sk, + struct netlink_broadcast_data *p) +{ + struct netlink_opt *nlk = nlk_sk(sk); + int val; + + if (p->exclude_sk == sk) + goto out; + + if (nlk->pid == p->pid || !(nlk->groups & p->group)) + goto out; + + if (p->failure) { + netlink_overrun(sk); + goto out; + } + + sock_hold(sk); + if (p->skb2 == NULL) { + if (atomic_read(&p->skb->users) != 1) { + p->skb2 = skb_clone(p->skb, p->allocation); + } else { + p->skb2 = p->skb; + atomic_inc(&p->skb->users); + } + } + if (p->skb2 == NULL) { + netlink_overrun(sk); + /* Clone failed. Notify ALL listeners. */ + p->failure = 1; + } else if ((val = netlink_broadcast_deliver(sk, p->skb2)) < 0) { + netlink_overrun(sk); + } else { + p->congested |= val; + p->delivered = 1; + p->skb2 = NULL; + } + sock_put(sk); + +out: + return 0; +} + int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, u32 group, int allocation) { - struct sock *sk; + struct netlink_broadcast_data info; struct hlist_node *node; - struct sk_buff *skb2 = NULL; - int protocol = ssk->sk_protocol; - int failure = 0, delivered = 0; - - /* While we sleep in clone, do not allow to change socket list */ + struct sock *sk; - netlink_lock_table(); + info.exclude_sk = ssk; + info.pid = pid; + info.group = group; + info.failure = 0; + info.congested = 0; + info.delivered = 0; + info.allocation = allocation; + info.skb = skb; + info.skb2 = NULL; - sk_for_each(sk, node, &nl_table[protocol]) { - struct netlink_opt *nlk = nlk_sk(sk); + netlink_trim(skb, allocation); - if (ssk == sk) - continue; + netlink_trim(skb, allocation); - if (nlk->pid == pid || !(nlk->groups & group)) - continue; + /* While we sleep in clone, do not allow to change socket list */ - if (failure) { - netlink_overrun(sk); - continue; - } + netlink_lock_table(); - sock_hold(sk); - if (skb2 == NULL) { - if (atomic_read(&skb->users) != 1) { - skb2 = skb_clone(skb, allocation); - } else { - skb2 = skb; - atomic_inc(&skb->users); - } - } - if (skb2 == NULL) { - netlink_overrun(sk); - /* Clone failed. Notify ALL listeners. */ - failure = 1; - } else if (netlink_broadcast_deliver(sk, skb2)) { - netlink_overrun(sk); - } else { - delivered = 1; - skb2 = NULL; - } - sock_put(sk); - } + sk_for_each_bound(sk, node, &nl_table[ssk->sk_protocol].mc_list) + do_one_broadcast(sk, &info); netlink_unlock_table(); - if (skb2) - kfree_skb(skb2); + if (info.skb2) + kfree_skb(info.skb2); kfree_skb(skb); - if (delivered) + if (info.delivered) { + if (info.congested && (allocation & __GFP_WAIT)) + yield(); return 0; - if (failure) + } + if (info.failure) return -ENOBUFS; return -ESRCH; } +struct netlink_set_err_data { + struct sock *exclude_sk; + u32 pid; + u32 group; + int code; +}; + +static inline int do_one_set_err(struct sock *sk, + struct netlink_set_err_data *p) +{ + struct netlink_opt *nlk = nlk_sk(sk); + + if (sk == p->exclude_sk) + goto out; + + if (nlk->pid == p->pid || !(nlk->groups & p->group)) + goto out; + + sk->sk_err = p->code; + sk->sk_error_report(sk); +out: + return 0; +} + void netlink_set_err(struct sock *ssk, u32 pid, u32 group, int code) { - struct sock *sk; + struct netlink_set_err_data info; struct hlist_node *node; - int protocol = ssk->sk_protocol; + struct sock *sk; + + info.exclude_sk = ssk; + info.pid = pid; + info.group = group; + info.code = code; read_lock(&nl_table_lock); - sk_for_each(sk, node, &nl_table[protocol]) { - struct netlink_opt *nlk = nlk_sk(sk); - if (ssk == sk) - continue; - if (nlk->pid == pid || !(nlk->groups & group)) - continue; + sk_for_each_bound(sk, node, &nl_table[ssk->sk_protocol].mc_list) + do_one_set_err(sk, &info); - sk->sk_err = code; - sk->sk_error_report(sk); - } read_unlock(&nl_table_lock); } @@ -834,6 +1040,9 @@ netlink_kernel_create(int unit, void (*input)(struct sock *sk, int len)) struct socket *sock; struct sock *sk; + if (!nl_table) + return NULL; + if (unit<0 || unit>=MAX_LINKS) return NULL; @@ -849,13 +1058,16 @@ netlink_kernel_create(int unit, void (*input)(struct sock *sk, int len)) if (input) nlk_sk(sk)->data_ready = input; - netlink_insert(sk, 0); + if (netlink_insert(sk, 0)) { + sock_release(sock); + return NULL; + } return sk; } -void netlink_set_nonroot(int protocol, unsigned flags) +void netlink_set_nonroot(int protocol, unsigned int flags) { - if ((unsigned)protocol < MAX_LINKS) + if ((unsigned int)protocol < MAX_LINKS) nl_nonroot[protocol] = flags; } @@ -1048,20 +1260,31 @@ int netlink_post(int unit, struct sk_buff *skb) #endif #ifdef CONFIG_PROC_FS +struct nl_seq_iter { + int link; + int hash_idx; +}; + static struct sock *netlink_seq_socket_idx(struct seq_file *seq, loff_t pos) { - long i; + struct nl_seq_iter *iter = seq->private; + int i, j; struct sock *s; struct hlist_node *node; loff_t off = 0; for (i=0; iprivate = (void *) i; - return s; + struct nl_pid_hash *hash = &nl_table[i].hash; + + for (j = 0; j <= hash->mask; j++) { + sk_for_each(s, node, &hash->table[j]) { + if (off == pos) { + iter->link = i; + iter->hash_idx = j; + return s; + } + ++off; } - ++off; } } return NULL; @@ -1076,6 +1299,8 @@ static void *netlink_seq_start(struct seq_file *seq, loff_t *pos) static void *netlink_seq_next(struct seq_file *seq, void *v, loff_t *pos) { struct sock *s; + struct nl_seq_iter *iter; + int i, j; ++*pos; @@ -1083,18 +1308,29 @@ static void *netlink_seq_next(struct seq_file *seq, void *v, loff_t *pos) return netlink_seq_socket_idx(seq, 0); s = sk_next(v); - if (!s) { - long i = (long)seq->private; + if (s) + return s; + + iter = seq->private; + i = iter->link; + j = iter->hash_idx + 1; - while (++i < MAX_LINKS) { - s = sk_head(&nl_table[i]); + do { + struct nl_pid_hash *hash = &nl_table[i].hash; + + for (; j <= hash->mask; j++) { + s = sk_head(&hash->table[j]); if (s) { - seq->private = (void *) i; - break; + iter->link = i; + iter->hash_idx = j; + return s; } } - } - return s; + + j = 0; + } while (++i < MAX_LINKS); + + return NULL; } static void netlink_seq_stop(struct seq_file *seq, void *v) @@ -1138,7 +1374,24 @@ static struct seq_operations netlink_seq_ops = { static int netlink_seq_open(struct inode *inode, struct file *file) { - return seq_open(file, &netlink_seq_ops); + struct seq_file *seq; + struct nl_seq_iter *iter; + int err; + + iter = kmalloc(sizeof(*iter), GFP_KERNEL); + if (!iter) + return -ENOMEM; + + err = seq_open(file, &netlink_seq_ops); + if (err) { + kfree(iter); + return err; + } + + memset(iter, 0, sizeof(*iter)); + seq = file->private_data; + seq->private = iter; + return 0; } static struct file_operations netlink_seq_fops = { @@ -1146,7 +1399,7 @@ static struct file_operations netlink_seq_fops = { .open = netlink_seq_open, .read = seq_read, .llseek = seq_lseek, - .release = seq_release, + .release = seq_release_private, }; #endif @@ -1188,14 +1441,54 @@ static struct net_proto_family netlink_family_ops = { .owner = THIS_MODULE, /* for consistency 8) */ }; +extern void netlink_skb_parms_too_large(void); + static int __init netlink_proto_init(void) { struct sk_buff *dummy_skb; + int i; + unsigned long max; + unsigned int order; + + if (sizeof(struct netlink_skb_parms) > sizeof(dummy_skb->cb)) + netlink_skb_parms_too_large(); + + nl_table = kmalloc(sizeof(*nl_table) * MAX_LINKS, GFP_KERNEL); + if (!nl_table) { +enomem: + printk(KERN_CRIT "netlink_init: Cannot allocate nl_table\n"); + return -ENOMEM; + } + + memset(nl_table, 0, sizeof(*nl_table) * MAX_LINKS); - if (sizeof(struct netlink_skb_parms) > sizeof(dummy_skb->cb)) { - printk(KERN_CRIT "netlink_init: panic\n"); - return -1; + if (num_physpages >= (128 * 1024)) + max = num_physpages >> (21 - PAGE_SHIFT); + else + max = num_physpages >> (23 - PAGE_SHIFT); + + order = get_bitmask_order(max) - 1 + PAGE_SHIFT; + max = (1UL << order) / sizeof(struct hlist_head); + order = get_bitmask_order(max > UINT_MAX ? UINT_MAX : max) - 1; + + for (i = 0; i < MAX_LINKS; i++) { + struct nl_pid_hash *hash = &nl_table[i].hash; + + hash->table = nl_pid_hash_alloc(1 * sizeof(*hash->table)); + if (!hash->table) { + while (i-- > 0) + nl_pid_hash_free(nl_table[i].hash.table, + 1 * sizeof(*hash->table)); + kfree(nl_table); + goto enomem; + } + memset(hash->table, 0, 1 * sizeof(*hash->table)); + hash->max_shift = order; + hash->shift = 0; + hash->mask = 0; + hash->rehash_time = jiffies; } + sock_register(&netlink_family_ops); #ifdef CONFIG_PROC_FS proc_net_fops_create("netlink", 0, &netlink_seq_fops); @@ -1209,6 +1502,8 @@ static void __exit netlink_proto_exit(void) { sock_unregister(PF_NETLINK); proc_net_remove("netlink"); + kfree(nl_table); + nl_table = NULL; } core_initcall(netlink_proto_init); @@ -1220,7 +1515,6 @@ MODULE_ALIAS_NETPROTO(PF_NETLINK); EXPORT_SYMBOL(netlink_ack); EXPORT_SYMBOL(netlink_broadcast); -EXPORT_SYMBOL(netlink_broadcast_deliver); EXPORT_SYMBOL(netlink_dump_start); EXPORT_SYMBOL(netlink_kernel_create); EXPORT_SYMBOL(netlink_register_notifier); diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c index 6774669bb..62ff798bf 100644 --- a/net/netrom/af_netrom.c +++ b/net/netrom/af_netrom.c @@ -801,7 +801,6 @@ static int nr_accept(struct socket *sock, struct socket *newsock, int flags) remove_wait_queue(sk->sk_sleep, &wait); newsk = skb->sk; - newsk->sk_pair = NULL; newsk->sk_socket = newsock; newsk->sk_sleep = &newsock->wait; @@ -994,7 +993,6 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev) nr_make->vl = 0; nr_make->state = NR_STATE_3; sk->sk_ack_backlog++; - make->sk_pair = sk; nr_insert_socket(make); diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 844a087b0..df4cd7648 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -65,6 +65,8 @@ #include #include #include +#include +#include #include #include #include @@ -172,7 +174,7 @@ struct packet_opt { struct tpacket_stats stats; #ifdef CONFIG_PACKET_MMAP - unsigned long *pg_vec; + char * *pg_vec; unsigned int head; unsigned int frames_per_block; unsigned int frame_size; @@ -197,15 +199,15 @@ struct packet_opt #ifdef CONFIG_PACKET_MMAP -static inline unsigned long packet_lookup_frame(struct packet_opt *po, unsigned int position) +static inline char *packet_lookup_frame(struct packet_opt *po, unsigned int position) { unsigned int pg_vec_pos, frame_offset; - unsigned long frame; + char *frame; pg_vec_pos = position / po->frames_per_block; frame_offset = position % po->frames_per_block; - frame = (unsigned long) (po->pg_vec[pg_vec_pos] + (frame_offset * po->frame_size)); + frame = po->pg_vec[pg_vec_pos] + (frame_offset * po->frame_size); return frame; } @@ -789,11 +791,13 @@ out: static int packet_release(struct socket *sock) { struct sock *sk = sock->sk; - struct packet_opt *po = pkt_sk(sk); + struct packet_opt *po; if (!sk) return 0; + po = pkt_sk(sk); + write_lock_bh(&packet_sklist_lock); sk_del_node_init(sk); write_unlock_bh(&packet_sklist_lock); @@ -1561,7 +1565,12 @@ static struct vm_operations_struct packet_mmap_ops = { .close =packet_mm_close, }; -static void free_pg_vec(unsigned long *pg_vec, unsigned order, unsigned len) +static inline struct page *pg_vec_endpage(char *one_pg_vec, unsigned int order) +{ + return virt_to_page(one_pg_vec + (PAGE_SIZE << order) - 1); +} + +static void free_pg_vec(char **pg_vec, unsigned order, unsigned len) { int i; @@ -1569,10 +1578,10 @@ static void free_pg_vec(unsigned long *pg_vec, unsigned order, unsigned len) if (pg_vec[i]) { struct page *page, *pend; - pend = virt_to_page(pg_vec[i] + (PAGE_SIZE << order) - 1); + pend = pg_vec_endpage(pg_vec[i], order); for (page = virt_to_page(pg_vec[i]); page <= pend; page++) ClearPageReserved(page); - free_pages(pg_vec[i], order); + free_pages((unsigned long)pg_vec[i], order); } } kfree(pg_vec); @@ -1581,7 +1590,7 @@ static void free_pg_vec(unsigned long *pg_vec, unsigned order, unsigned len) static int packet_set_ring(struct sock *sk, struct tpacket_req *req, int closing) { - unsigned long *pg_vec = NULL; + char **pg_vec = NULL; struct packet_opt *po = pkt_sk(sk); int was_running, num, order = 0; int err = 0; @@ -1616,18 +1625,18 @@ static int packet_set_ring(struct sock *sk, struct tpacket_req *req, int closing err = -ENOMEM; - pg_vec = kmalloc(req->tp_block_nr*sizeof(unsigned long*), GFP_KERNEL); + pg_vec = kmalloc(req->tp_block_nr*sizeof(char *), GFP_KERNEL); if (pg_vec == NULL) goto out; - memset(pg_vec, 0, req->tp_block_nr*sizeof(unsigned long*)); + memset(pg_vec, 0, req->tp_block_nr*sizeof(char **)); for (i=0; itp_block_nr; i++) { struct page *page, *pend; - pg_vec[i] = __get_free_pages(GFP_KERNEL, order); + pg_vec[i] = (char *)__get_free_pages(GFP_KERNEL, order); if (!pg_vec[i]) goto out_free_pgvec; - pend = virt_to_page(pg_vec[i] + (PAGE_SIZE << order) - 1); + pend = pg_vec_endpage(pg_vec[i], order); for (page = virt_to_page(pg_vec[i]); page <= pend; page++) SetPageReserved(page); } @@ -1635,7 +1644,7 @@ static int packet_set_ring(struct sock *sk, struct tpacket_req *req, int closing l = 0; for (i=0; itp_block_nr; i++) { - unsigned long ptr = pg_vec[i]; + char *ptr = pg_vec[i]; struct tpacket_hdr *header; int k; diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index 31c4ab77e..4f6a9fab4 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c @@ -882,7 +882,6 @@ static int rose_accept(struct socket *sock, struct socket *newsock, int flags) remove_wait_queue(sk->sk_sleep, &wait); newsk = skb->sk; - newsk->sk_pair = NULL; newsk->sk_socket = newsock; newsk->sk_sleep = &newsock->wait; @@ -996,7 +995,6 @@ int rose_rx_call_request(struct sk_buff *skb, struct net_device *dev, struct ros make_rose->vr = 0; make_rose->vl = 0; sk->sk_ack_backlog++; - make->sk_pair = sk; rose_insert_socket(make); diff --git a/net/rxrpc/call.c b/net/rxrpc/call.c index 6c87fcaec..dfb65d87f 100644 --- a/net/rxrpc/call.c +++ b/net/rxrpc/call.c @@ -472,7 +472,7 @@ static inline int __rxrpc_call_gen_normal_ACK(struct rxrpc_call *call, { struct rxrpc_message *msg; struct kvec diov[3]; - unsigned aux[4]; + __be32 aux[4]; int delta, ret; /* ACKs default to DELAY */ @@ -840,7 +840,7 @@ static int __rxrpc_call_abort(struct rxrpc_call *call, int errno) struct rxrpc_message *msg; struct kvec diov[1]; int ret; - u32 _error; + __be32 _error; _enter("%p{%08x},%p{%d},%d", conn, ntohl(conn->conn_id), call, ntohl(call->call_id), errno); @@ -929,7 +929,6 @@ static void rxrpc_call_receive_packet(struct rxrpc_call *call) { struct rxrpc_message *msg; struct list_head *_p; - uint32_t data32; _enter("%p", call); @@ -986,22 +985,21 @@ static void rxrpc_call_receive_packet(struct rxrpc_call *call) break; /* deal with abort packets */ - case RXRPC_PACKET_TYPE_ABORT: - data32 = 0; - if (skb_copy_bits(msg->pkt, msg->offset, - &data32, sizeof(data32)) < 0) { + case RXRPC_PACKET_TYPE_ABORT: { + __be32 _dbuf, *dp; + + dp = skb_header_pointer(msg->pkt, msg->offset, + sizeof(_dbuf), &_dbuf); + if (dp == NULL) printk("Rx Received short ABORT packet\n"); - } - else { - data32 = ntohl(data32); - } - _proto("Rx Received Call ABORT { data=%d }", data32); + _proto("Rx Received Call ABORT { data=%d }", + (dp ? ntohl(*dp) : 0)); spin_lock(&call->lock); call->app_call_state = RXRPC_CSTATE_ERROR; call->app_err_state = RXRPC_ESTATE_PEER_ABORT; - call->app_abort_code = data32; + call->app_abort_code = (dp ? ntohl(*dp) : 0); call->app_errno = -ECONNABORTED; call->app_mark = RXRPC_APP_MARK_EOF; call->app_read_buf = NULL; @@ -1013,7 +1011,7 @@ static void rxrpc_call_receive_packet(struct rxrpc_call *call) spin_unlock(&call->lock); call->app_error_func(call); break; - + } default: /* deal with other packet types */ _proto("Rx Unsupported packet type %u (#%u)", @@ -1050,7 +1048,7 @@ static void rxrpc_call_receive_data_packet(struct rxrpc_call *call, struct rxrpc_message *pmsg; struct list_head *_p; int ret, lo, hi, rmtimo; - u32 opid; + __be32 opid; _enter("%p{%u},%p{%u}", call, ntohl(call->call_id), msg, msg->seq); @@ -1271,41 +1269,42 @@ static void rxrpc_call_receive_data_packet(struct rxrpc_call *call, static void rxrpc_call_receive_ack_packet(struct rxrpc_call *call, struct rxrpc_message *msg) { - struct rxrpc_ackpacket ack; - rxrpc_serial_t serial; + struct rxrpc_ackpacket _ack, *ap; + rxrpc_serial_net_t serial; rxrpc_seq_t seq; int ret; _enter("%p{%u},%p{%u}", call, ntohl(call->call_id), msg, msg->seq); /* extract the basic ACK record */ - if (skb_copy_bits(msg->pkt, msg->offset, &ack, sizeof(ack)) < 0) { + ap = skb_header_pointer(msg->pkt, msg->offset, sizeof(_ack), &_ack); + if (ap == NULL) { printk("Rx Received short ACK packet\n"); return; } - msg->offset += sizeof(ack); + msg->offset += sizeof(_ack); - serial = ack.serial; - seq = ntohl(ack.firstPacket); + serial = ap->serial; + seq = ntohl(ap->firstPacket); _proto("Rx Received ACK %%%d { b=%hu m=%hu f=%u p=%u s=%u r=%s n=%u }", ntohl(msg->hdr.serial), - ntohs(ack.bufferSpace), - ntohs(ack.maxSkew), + ntohs(ap->bufferSpace), + ntohs(ap->maxSkew), seq, - ntohl(ack.previousPacket), + ntohl(ap->previousPacket), ntohl(serial), - rxrpc_acks[ack.reason], + rxrpc_acks[ap->reason], call->ackr.nAcks ); /* check the other side isn't ACK'ing a sequence number I haven't sent * yet */ - if (ack.nAcks > 0 && + if (ap->nAcks > 0 && (seq > call->snd_seq_count || - seq + ack.nAcks - 1 > call->snd_seq_count)) { + seq + ap->nAcks - 1 > call->snd_seq_count)) { printk("Received ACK (#%u-#%u) for unsent packet\n", - seq, seq + ack.nAcks - 1); + seq, seq + ap->nAcks - 1); rxrpc_call_abort(call, -EINVAL); _leave(""); return; @@ -1354,7 +1353,7 @@ static void rxrpc_call_receive_ack_packet(struct rxrpc_call *call, } } - switch (ack.reason) { + switch (ap->reason) { /* deal with negative/positive acknowledgement of data * packets */ case RXRPC_ACK_REQUESTED: @@ -1366,14 +1365,14 @@ static void rxrpc_call_receive_ack_packet(struct rxrpc_call *call, case RXRPC_ACK_OUT_OF_SEQUENCE: case RXRPC_ACK_EXCEEDS_WINDOW: call->snd_resend_cnt = 0; - ret = rxrpc_call_record_ACK(call, msg, seq, ack.nAcks); + ret = rxrpc_call_record_ACK(call, msg, seq, ap->nAcks); if (ret < 0) rxrpc_call_abort(call, ret); break; /* respond to ping packets immediately */ case RXRPC_ACK_PING: - rxrpc_call_generate_ACK(call, &msg->hdr, &ack); + rxrpc_call_generate_ACK(call, &msg->hdr, ap); break; /* only record RTT on ping response packets */ @@ -1386,7 +1385,7 @@ static void rxrpc_call_receive_ack_packet(struct rxrpc_call *call, rttmsg = NULL; spin_lock(&call->lock); if (call->snd_ping && - call->snd_ping->hdr.serial == ack.serial) { + call->snd_ping->hdr.serial == ap->serial) { rttmsg = call->snd_ping; call->snd_ping = NULL; } @@ -1402,7 +1401,7 @@ static void rxrpc_call_receive_ack_packet(struct rxrpc_call *call, break; default: - printk("Unsupported ACK reason %u\n", ack.reason); + printk("Unsupported ACK reason %u\n", ap->reason); break; } diff --git a/net/rxrpc/connection.c b/net/rxrpc/connection.c index 929b82f48..a978007bf 100644 --- a/net/rxrpc/connection.c +++ b/net/rxrpc/connection.c @@ -88,8 +88,8 @@ static inline int __rxrpc_create_connection(struct rxrpc_peer *peer, * create a new connection record for outgoing connections */ int rxrpc_create_connection(struct rxrpc_transport *trans, - uint16_t port, - uint32_t addr, + __be16 port, + __be32 addr, uint16_t service_id, void *security, struct rxrpc_connection **_conn) @@ -97,7 +97,7 @@ int rxrpc_create_connection(struct rxrpc_transport *trans, struct rxrpc_connection *candidate, *conn; struct rxrpc_peer *peer; struct list_head *_p; - uint32_t connid; + __be32 connid; int ret; _enter("%p{%hu},%u,%hu", trans, trans->port, ntohs(port), service_id); @@ -169,7 +169,7 @@ int rxrpc_create_connection(struct rxrpc_transport *trans, spin_unlock(&peer->conn_gylock); /* pick the new candidate */ - _debug("created connection: {%08x} [out]", htonl(candidate->conn_id)); + _debug("created connection: {%08x} [out]", ntohl(candidate->conn_id)); atomic_inc(&peer->conn_count); conn = candidate; candidate = NULL; @@ -199,7 +199,7 @@ int rxrpc_create_connection(struct rxrpc_transport *trans, /* handle resurrecting a connection from the graveyard */ found_in_graveyard: - _debug("resurrecting connection: {%08x} [out]", htonl(conn->conn_id)); + _debug("resurrecting connection: {%08x} [out]", ntohl(conn->conn_id)); rxrpc_get_connection(conn); rxrpc_krxtimod_del_timer(&conn->timeout); list_del_init(&conn->link); @@ -219,8 +219,9 @@ int rxrpc_connection_lookup(struct rxrpc_peer *peer, struct rxrpc_connection *conn, *candidate = NULL; struct list_head *_p; int ret, fresh = 0; - u32 x_epoch, x_connid; - u16 x_port, x_secix, x_servid; + __be32 x_epoch, x_connid; + __be16 x_port, x_servid; + __u32 x_secix; u8 x_clflag; _enter("%p{{%hu}},%u,%hu", @@ -310,7 +311,7 @@ int rxrpc_connection_lookup(struct rxrpc_peer *peer, } /* we can now add the new candidate to the list */ - _debug("created connection: {%08x} [in]", htonl(candidate->conn_id)); + _debug("created connection: {%08x} [in]", ntohl(candidate->conn_id)); rxrpc_get_peer(peer); conn = candidate; candidate = NULL; @@ -351,7 +352,7 @@ int rxrpc_connection_lookup(struct rxrpc_peer *peer, /* handle resurrecting a connection from the graveyard */ found_in_graveyard: - _debug("resurrecting connection: {%08x} [in]", htonl(conn->conn_id)); + _debug("resurrecting connection: {%08x} [in]", ntohl(conn->conn_id)); rxrpc_get_peer(peer); rxrpc_get_connection(conn); rxrpc_krxtimod_del_timer(&conn->timeout); @@ -397,7 +398,7 @@ void rxrpc_put_connection(struct rxrpc_connection *conn) } /* move to graveyard queue */ - _debug("burying connection: {%08x}", htonl(conn->conn_id)); + _debug("burying connection: {%08x}", ntohl(conn->conn_id)); list_del(&conn->link); list_add_tail(&conn->link, &peer->conn_graveyard); @@ -442,7 +443,7 @@ void rxrpc_conn_do_timeout(struct rxrpc_connection *conn) } _debug("--- Destroying Connection %p{%08x} ---", - conn, htonl(conn->conn_id)); + conn, ntohl(conn->conn_id)); down_write(&rxrpc_conns_sem); list_del(&conn->proc_link); @@ -640,8 +641,8 @@ int rxrpc_conn_sendmsg(struct rxrpc_connection *conn, _net("Sending message type %d of %Zd bytes to %08x:%d", msg->hdr.type, msg->dsize, - htonl(conn->addr.sin_addr.s_addr), - htons(conn->addr.sin_port)); + ntohl(conn->addr.sin_addr.s_addr), + ntohs(conn->addr.sin_port)); /* send the message */ ret = kernel_sendmsg(conn->trans->socket, &msghdr, @@ -699,11 +700,11 @@ int rxrpc_conn_receive_call_packet(struct rxrpc_connection *conn, } _proto("Received packet %%%u [%u] on call %hu:%u:%u", - htonl(msg->hdr.serial), - htonl(msg->hdr.seq), - htons(msg->hdr.serviceId), - htonl(conn->conn_id), - htonl(call->call_id)); + ntohl(msg->hdr.serial), + ntohl(msg->hdr.seq), + ntohs(msg->hdr.serviceId), + ntohl(conn->conn_id), + ntohl(call->call_id)); call->pkt_rcv_count++; diff --git a/net/rxrpc/rxrpc_syms.c b/net/rxrpc/rxrpc_syms.c index 3b33b7e5c..76d95a3e2 100644 --- a/net/rxrpc/rxrpc_syms.c +++ b/net/rxrpc/rxrpc_syms.c @@ -18,15 +18,7 @@ #include /* call.c */ -EXPORT_SYMBOL(rxrpc_call_rcv_timeout); -EXPORT_SYMBOL(rxrpc_call_acks_timeout); -EXPORT_SYMBOL(rxrpc_call_dfr_ack_timeout); -EXPORT_SYMBOL(rxrpc_call_max_resend); -EXPORT_SYMBOL(rxrpc_call_states); -EXPORT_SYMBOL(rxrpc_call_error_states); - EXPORT_SYMBOL(rxrpc_create_call); -EXPORT_SYMBOL(rxrpc_incoming_call); EXPORT_SYMBOL(rxrpc_put_call); EXPORT_SYMBOL(rxrpc_call_abort); EXPORT_SYMBOL(rxrpc_call_read_data); @@ -37,15 +29,8 @@ EXPORT_SYMBOL(rxrpc_call_flush); EXPORT_SYMBOL(rxrpc_create_connection); EXPORT_SYMBOL(rxrpc_put_connection); -/* sysctl.c */ -EXPORT_SYMBOL(rxrpc_ktrace); -EXPORT_SYMBOL(rxrpc_kdebug); -EXPORT_SYMBOL(rxrpc_kproto); -EXPORT_SYMBOL(rxrpc_knet); - /* transport.c */ EXPORT_SYMBOL(rxrpc_create_transport); -EXPORT_SYMBOL(rxrpc_clear_transport); EXPORT_SYMBOL(rxrpc_put_transport); EXPORT_SYMBOL(rxrpc_add_service); EXPORT_SYMBOL(rxrpc_del_service); diff --git a/net/rxrpc/transport.c b/net/rxrpc/transport.c index 577001512..7e015ceec 100644 --- a/net/rxrpc/transport.c +++ b/net/rxrpc/transport.c @@ -457,8 +457,8 @@ void rxrpc_trans_receive_packet(struct rxrpc_transport *trans) struct rxrpc_peer *peer; struct sk_buff *pkt; int ret; - u32 addr; - u16 port; + __be32 addr; + __be16 port; LIST_HEAD(msgq); @@ -612,7 +612,7 @@ int rxrpc_trans_immediate_abort(struct rxrpc_transport *trans, struct sockaddr_in sin; struct msghdr msghdr; struct kvec iov[2]; - uint32_t _error; + __be32 _error; int len, ret; _enter("%p,%p,%d", trans, msg, error); @@ -655,8 +655,8 @@ int rxrpc_trans_immediate_abort(struct rxrpc_transport *trans, _net("Sending message type %d of %d bytes to %08x:%d", ahdr.type, len, - htonl(sin.sin_addr.s_addr), - htons(sin.sin_port)); + ntohl(sin.sin_addr.s_addr), + ntohs(sin.sin_port)); /* send the message */ ret = kernel_sendmsg(trans->socket, &msghdr, iov, 2, len); @@ -678,7 +678,7 @@ static void rxrpc_trans_receive_error_report(struct rxrpc_transport *trans) struct list_head connq, *_p; struct errormsg emsg; struct msghdr msg; - uint16_t port; + __be16 port; int local, err; _enter("%p", trans); diff --git a/net/sched/Kconfig b/net/sched/Kconfig index 97a42d9ed..c0df054b5 100644 --- a/net/sched/Kconfig +++ b/net/sched/Kconfig @@ -317,7 +317,7 @@ config NET_CLS_U32 module will be called cls_u32. config CLS_U32_PERF - bool " U32 classifier performance counters" + bool "U32 classifier performance counters" depends on NET_CLS_U32 help gathers stats that could be used to tune u32 classifier performance. @@ -364,7 +364,7 @@ config NET_CLS_RSVP6 module will be called cls_rsvp6. config NET_CLS_ACT - bool ' Packet ACTION ' + bool "Packet ACTION" depends on EXPERIMENTAL && NET_CLS && NET_QOS ---help--- This option requires you have a new iproute2. It enables @@ -373,7 +373,7 @@ config NET_CLS_ACT You MUST NOT turn this on if you dont have an update iproute2. config NET_ACT_POLICE - tristate ' Policing Actions' + tristate "Policing Actions" depends on NET_CLS_ACT ---help--- If you are using a newer iproute2 select this one, otherwise use one @@ -387,3 +387,15 @@ config NET_CLS_POLICE Say Y to support traffic policing (bandwidth limits). Needed for ingress and egress rate limiting. +config NET_ACT_GACT + tristate "generic Actions" + depends on NET_CLS_ACT + ---help--- + You must have new iproute2 to use this feature + This adds simple filtering actions like drop,accepet etc + +config GACT_PROB + bool "generic Actions probability" + depends on NET_ACT_GACT + ---help--- + Allows generic actions to be randomly or deterministically used diff --git a/net/sched/Makefile b/net/sched/Makefile index daa437f85..912677ad0 100644 --- a/net/sched/Makefile +++ b/net/sched/Makefile @@ -8,8 +8,9 @@ obj-$(CONFIG_NET_SCHED) += sch_api.o sch_fifo.o obj-$(CONFIG_NET_ESTIMATOR) += estimator.o obj-$(CONFIG_NET_CLS) += cls_api.o obj-$(CONFIG_NET_CLS_ACT) += act_api.o -obj-$(CONFIG_NET_ACT_POLICE) += police.o -obj-$(CONFIG_NET_CLS_POLICE) += police.o +obj-$(CONFIG_NET_ACT_POLICE) += police.o +obj-$(CONFIG_NET_CLS_POLICE) += police.o +obj-$(CONFIG_NET_ACT_GACT) += gact.o obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o obj-$(CONFIG_NET_SCH_HTB) += sch_htb.o obj-$(CONFIG_NET_SCH_HPFQ) += sch_hpfq.o diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index e76951381..71c85ad84 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@ -139,7 +139,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n, void *arg) struct tcf_proto_ops *tp_ops; struct Qdisc_class_ops *cops; unsigned long cl = 0; - unsigned long fh, fh_s; + unsigned long fh; int err; if (prio == 0) { @@ -231,8 +231,12 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n, void *arg) tp->classify = tp_ops->classify; tp->classid = parent; err = -EBUSY; - if (!try_module_get(tp_ops->owner) || - (err = tp_ops->init(tp)) != 0) { + if (!try_module_get(tp_ops->owner)) { + kfree(tp); + goto errout; + } + if ((err = tp_ops->init(tp)) != 0) { + module_put(tp_ops->owner); kfree(tp); goto errout; } @@ -245,7 +249,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n, void *arg) } else if (tca[TCA_KIND-1] && rtattr_strcmp(tca[TCA_KIND-1], tp->ops->kind)) goto errout; - fh_s = fh = tp->ops->get(tp, t->tcm_handle); + fh = tp->ops->get(tp, t->tcm_handle); if (fh == 0) { if (n->nlmsg_type == RTM_DELTFILTER && t->tcm_handle == 0) { @@ -253,7 +257,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n, void *arg) *back = tp->next; qdisc_unlock_tree(dev); - tfilter_notify(skb, n, tp, fh_s, RTM_DELTFILTER); + tfilter_notify(skb, n, tp, fh, RTM_DELTFILTER); tcf_destroy(tp); err = 0; goto errout; @@ -272,7 +276,7 @@ static int tc_ctl_tfilter(struct sk_buff *skb, struct nlmsghdr *n, void *arg) case RTM_DELTFILTER: err = tp->ops->delete(tp, fh); if (err == 0) - tfilter_notify(skb, n, tp, fh_s, RTM_DELTFILTER); + tfilter_notify(skb, n, tp, fh, RTM_DELTFILTER); goto errout; case RTM_GETTFILTER: err = tfilter_notify(skb, n, tp, fh, RTM_NEWTFILTER); diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c index 7ce360d31..3ef250827 100644 --- a/net/sched/cls_fw.c +++ b/net/sched/cls_fw.c @@ -102,7 +102,7 @@ static int fw_classify(struct sk_buff *skb, struct tcf_proto *tp, } #endif if (f->action) { - int pol_res = tcf_action_exec(skb, f->action); + int pol_res = tcf_action_exec(skb, f->action, res); if (pol_res >= 0) return pol_res; } else diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index 30d26d4fe..bfe785eb0 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c @@ -175,12 +175,7 @@ check_terminal: #endif #ifdef CONFIG_NET_CLS_ACT if (n->action) { - int pol_res = tcf_action_exec(skb, n->action); - if (skb->tc_classid > 0) { - res->classid = skb->tc_classid; - skb->tc_classid = 0; - } - + int pol_res = tcf_action_exec(skb, n->action, res); if (pol_res >= 0) return pol_res; } else diff --git a/net/sched/estimator.c b/net/sched/estimator.c index 393496b2f..17eb0798b 100644 --- a/net/sched/estimator.c +++ b/net/sched/estimator.c @@ -66,15 +66,11 @@ * Minimal interval is HZ/4=250msec (it is the greatest common divisor for HZ=100 and HZ=1024 8)), maximal interval - is (HZ/4)*2^EST_MAX_INTERVAL = 8sec. Shorter intervals + is (HZ*2^EST_MAX_INTERVAL)/4 = 8sec. Shorter intervals are too expensive, longer ones can be implemented at user level painlessly. */ -#if (HZ%4) != 0 -#error Bad HZ value. -#endif - #define EST_MAX_INTERVAL 5 struct qdisc_estimator @@ -128,7 +124,7 @@ static void est_timer(unsigned long arg) spin_unlock(e->stats_lock); } - mod_timer(&elist[idx].timer, jiffies + ((HZ/4)<next == NULL) { init_timer(&elist[est->interval].timer); elist[est->interval].timer.data = est->interval; - elist[est->interval].timer.expires = jiffies + ((HZ/4)<interval); + elist[est->interval].timer.expires = jiffies + ((HZ<interval)/4); elist[est->interval].timer.function = est_timer; add_timer(&elist[est->interval].timer); } diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c index 19ff1b9e3..59d831395 100644 --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@ -371,6 +371,8 @@ int qdisc_graft(struct net_device *dev, struct Qdisc *parent, u32 classid, unsigned long cl = cops->get(parent, classid); if (cl) { err = cops->graft(parent, cl, new, old); + if (new) + new->parent = classid; cops->put(parent, cl); } } @@ -407,6 +409,9 @@ qdisc_create(struct net_device *dev, u32 handle, struct rtattr **tca, int *errp) err = -EINVAL; if (ops == NULL) goto err_out; + err = -EBUSY; + if (!try_module_get(ops->owner)) + goto err_out; /* ensure that the Qdisc and the private data are 32-byte aligned */ size = ((sizeof(*sch) + QDISC_ALIGN_CONST) & ~QDISC_ALIGN_CONST); @@ -415,18 +420,12 @@ qdisc_create(struct net_device *dev, u32 handle, struct rtattr **tca, int *errp) p = kmalloc(size, GFP_KERNEL); err = -ENOBUFS; if (!p) - goto err_out; + goto err_out2; memset(p, 0, size); sch = (struct Qdisc *)(((unsigned long)p + QDISC_ALIGN_CONST) & ~QDISC_ALIGN_CONST); sch->padded = (char *)sch - (char *)p; - /* Grrr... Resolve race condition with module unload */ - - err = -EINVAL; - if (ops != qdisc_lookup_ops(kind)) - goto err_out; - INIT_LIST_HEAD(&sch->list); skb_queue_head_init(&sch->q); @@ -444,7 +443,7 @@ qdisc_create(struct net_device *dev, u32 handle, struct rtattr **tca, int *errp) handle = qdisc_alloc_handle(dev); err = -ENOMEM; if (handle == 0) - goto err_out; + goto err_out3; } if (handle == TC_H_INGRESS) @@ -452,10 +451,6 @@ qdisc_create(struct net_device *dev, u32 handle, struct rtattr **tca, int *errp) else sch->handle = handle; - err = -EBUSY; - if (!try_module_get(ops->owner)) - goto err_out; - /* enqueue is accessed locklessly - make sure it's visible * before we set a netdevice's qdisc pointer to sch */ smp_wmb(); @@ -471,8 +466,10 @@ qdisc_create(struct net_device *dev, u32 handle, struct rtattr **tca, int *errp) #endif return sch; } +err_out3: + dev_put(dev); +err_out2: module_put(ops->owner); - err_out: *errp = err; if (p) @@ -826,7 +823,7 @@ static int tc_dump_qdisc(struct sk_buff *skb, struct netlink_callback *cb) q_idx++; continue; } - if (tc_fill_qdisc(skb, q, 0, NETLINK_CB(cb->skb).pid, + if (tc_fill_qdisc(skb, q, q->parent, NETLINK_CB(cb->skb).pid, cb->nlh->nlmsg_seq, NLM_F_MULTI, RTM_NEWQDISC) <= 0) { read_unlock_bh(&qdisc_tree_lock); goto done; @@ -1101,21 +1098,6 @@ static struct file_operations psched_fops = { }; #endif -#ifdef CONFIG_NET_SCH_CLK_GETTIMEOFDAY -int psched_tod_diff(int delta_sec, int bound) -{ - int delta; - - if (bound <= 1000000 || delta_sec > (0x7FFFFFFF/1000000)-1) - return bound; - delta = delta_sec * 1000000; - if (delta > bound) - delta = bound; - return delta; -} -EXPORT_SYMBOL(psched_tod_diff); -#endif - #ifdef CONFIG_NET_SCH_CLK_CPU psched_tdiff_t psched_clock_per_hz; int psched_clock_scale; diff --git a/net/sched/sch_atm.c b/net/sched/sch_atm.c index ca08449e7..ff61f8e69 100644 --- a/net/sched/sch_atm.c +++ b/net/sched/sch_atm.c @@ -573,7 +573,6 @@ static int atm_tc_init(struct Qdisc *sch,struct rtattr *opt) struct atm_qdisc_data *p = PRIV(sch); DPRINTK("atm_tc_init(sch %p,[qdisc %p],opt %p)\n",sch,p,opt); - memset(p,0,sizeof(*p)); p->flows = &p->link; if(!(p->link.q = qdisc_create_dflt(sch->dev,&pfifo_qdisc_ops))) p->link.q = &noop_qdisc; @@ -715,3 +714,4 @@ static void __exit atm_exit(void) module_init(atm_init) module_exit(atm_exit) +MODULE_LICENSE("GPL"); diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c index 01dfcb1ab..2ae73826d 100644 --- a/net/sched/sch_cbq.c +++ b/net/sched/sch_cbq.c @@ -1675,7 +1675,6 @@ cbq_dump_class(struct Qdisc *sch, unsigned long arg, cl->xstats.undertime = 0; if (!PSCHED_IS_PASTPERFECT(cl->undertime)) cl->xstats.undertime = PSCHED_TDIFF(cl->undertime, q->now); - q->link.xstats.avgidle = q->link.avgidle; if (cbq_copy_xstats(skb, &cl->xstats)) { spin_unlock_bh(&sch->dev->queue_lock); goto rtattr_failure; @@ -1746,15 +1745,18 @@ static void cbq_destroy_filters(struct cbq_class *cl) } } -static void cbq_destroy_class(struct cbq_class *cl) +static void cbq_destroy_class(struct Qdisc *sch, struct cbq_class *cl) { + struct cbq_sched_data *q = qdisc_priv(sch); + cbq_destroy_filters(cl); qdisc_destroy(cl->q); qdisc_put_rtab(cl->R_tab); #ifdef CONFIG_NET_ESTIMATOR qdisc_kill_estimator(&cl->stats); #endif - kfree(cl); + if (cl != &q->link) + kfree(cl); } static void @@ -1767,22 +1769,15 @@ cbq_destroy(struct Qdisc* sch) #ifdef CONFIG_NET_CLS_POLICE q->rx_class = NULL; #endif - for (h = 0; h < 16; h++) { - for (cl = q->classes[h]; cl; cl = cl->next) - cbq_destroy_filters(cl); - } for (h = 0; h < 16; h++) { struct cbq_class *next; for (cl = q->classes[h]; cl; cl = next) { next = cl->next; - if (cl != &q->link) - cbq_destroy_class(cl); + cbq_destroy_class(sch, cl); } } - - qdisc_put_rtab(q->link.R_tab); } static void cbq_put(struct Qdisc *sch, unsigned long arg) @@ -1799,7 +1794,7 @@ static void cbq_put(struct Qdisc *sch, unsigned long arg) spin_unlock_bh(&sch->dev->queue_lock); #endif - cbq_destroy_class(cl); + cbq_destroy_class(sch, cl); } } @@ -2035,7 +2030,7 @@ static int cbq_delete(struct Qdisc *sch, unsigned long arg) sch_tree_unlock(sch); if (--cl->refcnt == 0) - cbq_destroy_class(cl); + cbq_destroy_class(sch, cl); return 0; } diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 82117f9ba..2516dd92a 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -97,46 +97,71 @@ int qdisc_restart(struct net_device *dev) /* Dequeue packet */ if ((skb = q->dequeue(q)) != NULL) { - if (spin_trylock(&dev->xmit_lock)) { + unsigned nolock = (dev->features & NETIF_F_LLTX); + /* + * When the driver has LLTX set it does its own locking + * in start_xmit. No need to add additional overhead by + * locking again. These checks are worth it because + * even uncongested locks can be quite expensive. + * The driver can do trylock like here too, in case + * of lock congestion it should return -1 and the packet + * will be requeued. + */ + if (!nolock) { + if (!spin_trylock(&dev->xmit_lock)) { + collision: + /* So, someone grabbed the driver. */ + + /* It may be transient configuration error, + when hard_start_xmit() recurses. We detect + it by checking xmit owner and drop the + packet when deadloop is detected. + */ + if (dev->xmit_lock_owner == smp_processor_id()) { + kfree_skb(skb); + if (net_ratelimit()) + printk(KERN_DEBUG "Dead loop on netdevice %s, fix it urgently!\n", dev->name); + return -1; + } + __get_cpu_var(netdev_rx_stat).cpu_collision++; + goto requeue; + } /* Remember that the driver is grabbed by us. */ dev->xmit_lock_owner = smp_processor_id(); - + } + + { /* And release queue */ spin_unlock(&dev->queue_lock); if (!netif_queue_stopped(dev)) { + int ret; if (netdev_nit) dev_queue_xmit_nit(skb, dev); - if (dev->hard_start_xmit(skb, dev) == 0) { - dev->xmit_lock_owner = -1; - spin_unlock(&dev->xmit_lock); - + ret = dev->hard_start_xmit(skb, dev); + if (ret == NETDEV_TX_OK) { + if (!nolock) { + dev->xmit_lock_owner = -1; + spin_unlock(&dev->xmit_lock); + } spin_lock(&dev->queue_lock); return -1; } + if (ret == NETDEV_TX_LOCKED && nolock) { + spin_lock(&dev->queue_lock); + goto collision; + } } + /* NETDEV_TX_BUSY - we need to requeue */ /* Release the driver */ - dev->xmit_lock_owner = -1; - spin_unlock(&dev->xmit_lock); + if (!nolock) { + dev->xmit_lock_owner = -1; + spin_unlock(&dev->xmit_lock); + } spin_lock(&dev->queue_lock); q = dev->qdisc; - } else { - /* So, someone grabbed the driver. */ - - /* It may be transient configuration error, - when hard_start_xmit() recurses. We detect - it by checking xmit owner and drop the - packet when deadloop is detected. - */ - if (dev->xmit_lock_owner == smp_processor_id()) { - kfree_skb(skb); - if (net_ratelimit()) - printk(KERN_DEBUG "Dead loop on netdevice %s, fix it urgently!\n", dev->name); - return -1; - } - __get_cpu_var(netdev_rx_stat).cpu_collision++; } /* Device kicked us out :( @@ -149,6 +174,7 @@ int qdisc_restart(struct net_device *dev) 3. device is buggy (ppp) */ +requeue: q->ops->requeue(skb, q); netif_schedule(dev); return 1; @@ -415,6 +441,7 @@ struct Qdisc * qdisc_create_dflt(struct net_device *dev, struct Qdisc_ops *ops) if (!ops->init || ops->init(sch, NULL) == 0) return sch; + dev_put(dev); kfree(p); return NULL; } diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c index 84ef3ab6a..fa1a9e549 100644 --- a/net/sched/sch_hfsc.c +++ b/net/sched/sch_hfsc.c @@ -62,6 +62,7 @@ #include #include #include +#include #include #include #include @@ -133,9 +134,11 @@ struct hfsc_class struct list_head children; /* child classes */ struct Qdisc *qdisc; /* leaf qdisc */ - struct list_head actlist; /* active children list */ - struct list_head alist; /* active children list member */ - struct list_head ellist; /* eligible list member */ + struct rb_node el_node; /* qdisc's eligible tree member */ + struct rb_root vt_tree; /* active children sorted by cl_vt */ + struct rb_node vt_node; /* parent's vt_tree member */ + struct rb_root cf_tree; /* active children sorted by cl_f */ + struct rb_node cf_node; /* parent's cf_heap member */ struct list_head hlist; /* hash list member */ struct list_head dlist; /* drop list member */ @@ -161,6 +164,9 @@ struct hfsc_class adjustment */ u64 cl_vtoff; /* inter-period cumulative vt offset */ u64 cl_cvtmax; /* max child's vt in the last period */ + u64 cl_cvtoff; /* cumulative cvtmax of all periods */ + u64 cl_pcvtoff; /* parent's cvtoff at initalization + time */ struct internal_sc cl_rsc; /* internal real-time service curve */ struct internal_sc cl_fsc; /* internal fair service curve */ @@ -183,7 +189,7 @@ struct hfsc_sched u16 defcls; /* default class id */ struct hfsc_class root; /* root class */ struct list_head clhash[HFSC_HSIZE]; /* class hash */ - struct list_head eligible; /* eligible list */ + struct rb_root eligible; /* eligible tree */ struct list_head droplist; /* active leaf class list (for dropping) */ struct sk_buff_head requeue; /* requeued packet */ @@ -219,82 +225,51 @@ do { \ /* - * eligible list holds backlogged classes being sorted by their eligible times. - * there is one eligible list per hfsc instance. + * eligible tree holds backlogged classes being sorted by their eligible times. + * there is one eligible tree per hfsc instance. */ static void -ellist_insert(struct hfsc_class *cl) +eltree_insert(struct hfsc_class *cl) { - struct list_head *head = &cl->sched->eligible; - struct hfsc_class *p; + struct rb_node **p = &cl->sched->eligible.rb_node; + struct rb_node *parent = NULL; + struct hfsc_class *cl1; - /* check the last entry first */ - if (list_empty(head) || - ((p = list_entry(head->prev, struct hfsc_class, ellist)) && - p->cl_e <= cl->cl_e)) { - list_add_tail(&cl->ellist, head); - return; - } - - list_for_each_entry(p, head, ellist) { - if (cl->cl_e < p->cl_e) { - /* insert cl before p */ - list_add_tail(&cl->ellist, &p->ellist); - return; - } + while (*p != NULL) { + parent = *p; + cl1 = rb_entry(parent, struct hfsc_class, el_node); + if (cl->cl_e >= cl1->cl_e) + p = &parent->rb_right; + else + p = &parent->rb_left; } - ASSERT(0); /* should not reach here */ + rb_link_node(&cl->el_node, parent, p); + rb_insert_color(&cl->el_node, &cl->sched->eligible); } static inline void -ellist_remove(struct hfsc_class *cl) +eltree_remove(struct hfsc_class *cl) { - list_del(&cl->ellist); + rb_erase(&cl->el_node, &cl->sched->eligible); } -static void -ellist_update(struct hfsc_class *cl) +static inline void +eltree_update(struct hfsc_class *cl) { - struct list_head *head = &cl->sched->eligible; - struct hfsc_class *p, *last; - - /* - * the eligible time of a class increases monotonically. - * if the next entry has a larger eligible time, nothing to do. - */ - if (cl->ellist.next == head || - ((p = list_entry(cl->ellist.next, struct hfsc_class, ellist)) && - cl->cl_e <= p->cl_e)) - return; - - /* check the last entry */ - last = list_entry(head->prev, struct hfsc_class, ellist); - if (last->cl_e <= cl->cl_e) { - list_move_tail(&cl->ellist, head); - return; - } - - /* - * the new position must be between the next entry - * and the last entry - */ - list_for_each_entry_continue(p, head, ellist) { - if (cl->cl_e < p->cl_e) { - list_move_tail(&cl->ellist, &p->ellist); - return; - } - } - ASSERT(0); /* should not reach here */ + eltree_remove(cl); + eltree_insert(cl); } /* find the class with the minimum deadline among the eligible classes */ static inline struct hfsc_class * -ellist_get_mindl(struct list_head *head, u64 cur_time) +eltree_get_mindl(struct hfsc_sched *q, u64 cur_time) { struct hfsc_class *p, *cl = NULL; + struct rb_node *n; - list_for_each_entry(p, head, ellist) { + for (n = rb_first(&q->eligible); n != NULL; n = rb_next(n)) { + p = rb_entry(n, struct hfsc_class, el_node); if (p->cl_e > cur_time) break; if (cl == NULL || p->cl_d < cl->cl_d) @@ -305,92 +280,62 @@ ellist_get_mindl(struct list_head *head, u64 cur_time) /* find the class with minimum eligible time among the eligible classes */ static inline struct hfsc_class * -ellist_get_minel(struct list_head *head) +eltree_get_minel(struct hfsc_sched *q) { - if (list_empty(head)) + struct rb_node *n; + + n = rb_first(&q->eligible); + if (n == NULL) return NULL; - return list_entry(head->next, struct hfsc_class, ellist); + return rb_entry(n, struct hfsc_class, el_node); } /* - * active children list holds backlogged child classes being sorted - * by their virtual time. each intermediate class has one active - * children list. + * vttree holds holds backlogged child classes being sorted by their virtual + * time. each intermediate class has one vttree. */ static void -actlist_insert(struct hfsc_class *cl) +vttree_insert(struct hfsc_class *cl) { - struct list_head *head = &cl->cl_parent->actlist; - struct hfsc_class *p; + struct rb_node **p = &cl->cl_parent->vt_tree.rb_node; + struct rb_node *parent = NULL; + struct hfsc_class *cl1; - /* check the last entry first */ - if (list_empty(head) || - ((p = list_entry(head->prev, struct hfsc_class, alist)) && - p->cl_vt <= cl->cl_vt)) { - list_add_tail(&cl->alist, head); - return; - } - - list_for_each_entry(p, head, alist) { - if (cl->cl_vt < p->cl_vt) { - /* insert cl before p */ - list_add_tail(&cl->alist, &p->alist); - return; - } + while (*p != NULL) { + parent = *p; + cl1 = rb_entry(parent, struct hfsc_class, vt_node); + if (cl->cl_vt >= cl1->cl_vt) + p = &parent->rb_right; + else + p = &parent->rb_left; } - ASSERT(0); /* should not reach here */ + rb_link_node(&cl->vt_node, parent, p); + rb_insert_color(&cl->vt_node, &cl->cl_parent->vt_tree); } static inline void -actlist_remove(struct hfsc_class *cl) +vttree_remove(struct hfsc_class *cl) { - list_del(&cl->alist); + rb_erase(&cl->vt_node, &cl->cl_parent->vt_tree); } -static void -actlist_update(struct hfsc_class *cl) +static inline void +vttree_update(struct hfsc_class *cl) { - struct list_head *head = &cl->cl_parent->actlist; - struct hfsc_class *p, *last; - - /* - * the virtual time of a class increases monotonically. - * if the next entry has a larger virtual time, nothing to do. - */ - if (cl->alist.next == head || - ((p = list_entry(cl->alist.next, struct hfsc_class, alist)) && - cl->cl_vt <= p->cl_vt)) - return; - - /* check the last entry */ - last = list_entry(head->prev, struct hfsc_class, alist); - if (last->cl_vt <= cl->cl_vt) { - list_move_tail(&cl->alist, head); - return; - } - - /* - * the new position must be between the next entry - * and the last entry - */ - list_for_each_entry_continue(p, head, alist) { - if (cl->cl_vt < p->cl_vt) { - list_move_tail(&cl->alist, &p->alist); - return; - } - } - ASSERT(0); /* should not reach here */ + vttree_remove(cl); + vttree_insert(cl); } static inline struct hfsc_class * -actlist_firstfit(struct hfsc_class *cl, u64 cur_time) +vttree_firstfit(struct hfsc_class *cl, u64 cur_time) { struct hfsc_class *p; + struct rb_node *n; - list_for_each_entry(p, &cl->actlist, alist) { - if (p->cl_f <= cur_time) { + for (n = rb_first(&cl->vt_tree); n != NULL; n = rb_next(n)) { + p = rb_entry(n, struct hfsc_class, vt_node); + if (p->cl_f <= cur_time) return p; - } } return NULL; } @@ -399,14 +344,14 @@ actlist_firstfit(struct hfsc_class *cl, u64 cur_time) * get the leaf class with the minimum vt in the hierarchy */ static struct hfsc_class * -actlist_get_minvt(struct hfsc_class *cl, u64 cur_time) +vttree_get_minvt(struct hfsc_class *cl, u64 cur_time) { /* if root-class's cfmin is bigger than cur_time nothing to do */ if (cl->cl_cfmin > cur_time) return NULL; while (cl->level > 0) { - cl = actlist_firstfit(cl, cur_time); + cl = vttree_firstfit(cl, cur_time); if (cl == NULL) return NULL; /* @@ -418,6 +363,38 @@ actlist_get_minvt(struct hfsc_class *cl, u64 cur_time) return cl; } +static void +cftree_insert(struct hfsc_class *cl) +{ + struct rb_node **p = &cl->cl_parent->cf_tree.rb_node; + struct rb_node *parent = NULL; + struct hfsc_class *cl1; + + while (*p != NULL) { + parent = *p; + cl1 = rb_entry(parent, struct hfsc_class, cf_node); + if (cl->cl_f >= cl1->cl_f) + p = &parent->rb_right; + else + p = &parent->rb_left; + } + rb_link_node(&cl->cf_node, parent, p); + rb_insert_color(&cl->cf_node, &cl->cl_parent->cf_tree); +} + +static inline void +cftree_remove(struct hfsc_class *cl) +{ + rb_erase(&cl->cf_node, &cl->cl_parent->cf_tree); +} + +static inline void +cftree_update(struct hfsc_class *cl) +{ + cftree_remove(cl); + cftree_insert(cl); +} + /* * service curve support functions * @@ -711,7 +688,7 @@ init_ed(struct hfsc_class *cl, unsigned int next_len) cl->cl_e = rtsc_y2x(&cl->cl_eligible, cl->cl_cumul); cl->cl_d = rtsc_y2x(&cl->cl_deadline, cl->cl_cumul + next_len); - ellist_insert(cl); + eltree_insert(cl); } static void @@ -720,7 +697,7 @@ update_ed(struct hfsc_class *cl, unsigned int next_len) cl->cl_e = rtsc_y2x(&cl->cl_eligible, cl->cl_cumul); cl->cl_d = rtsc_y2x(&cl->cl_deadline, cl->cl_cumul + next_len); - ellist_update(cl); + eltree_update(cl); } static inline void @@ -729,32 +706,25 @@ update_d(struct hfsc_class *cl, unsigned int next_len) cl->cl_d = rtsc_y2x(&cl->cl_deadline, cl->cl_cumul + next_len); } -static void +static inline void update_cfmin(struct hfsc_class *cl) { + struct rb_node *n = rb_first(&cl->cf_tree); struct hfsc_class *p; - u64 cfmin; - if (list_empty(&cl->actlist)) { + if (n == NULL) { cl->cl_cfmin = 0; return; } - cfmin = HT_INFINITY; - list_for_each_entry(p, &cl->actlist, alist) { - if (p->cl_f == 0) { - cl->cl_cfmin = 0; - return; - } - if (p->cl_f < cfmin) - cfmin = p->cl_f; - } - cl->cl_cfmin = cfmin; + p = rb_entry(n, struct hfsc_class, cf_node); + cl->cl_cfmin = p->cl_f; } static void init_vf(struct hfsc_class *cl, unsigned int len) { - struct hfsc_class *max_cl, *p; + struct hfsc_class *max_cl; + struct rb_node *n; u64 vt, f, cur_time; int go_active; @@ -767,9 +737,9 @@ init_vf(struct hfsc_class *cl, unsigned int len) go_active = 0; if (go_active) { - if (!list_empty(&cl->cl_parent->actlist)) { - max_cl = list_entry(cl->cl_parent->actlist.prev, - struct hfsc_class, alist); + n = rb_last(&cl->cl_parent->vt_tree); + if (n != NULL) { + max_cl = rb_entry(n, struct hfsc_class,vt_node); /* * set vt to the average of the min and max * classes. if the parent's period didn't @@ -785,19 +755,20 @@ init_vf(struct hfsc_class *cl, unsigned int len) } else { /* * first child for a new parent backlog period. - * add parent's cvtmax to vtoff of children - * to make a new vt (vtoff + vt) larger than - * the vt in the last period for all children. + * add parent's cvtmax to cvtoff to make a new + * vt (vtoff + vt) larger than the vt in the + * last period for all children. */ vt = cl->cl_parent->cl_cvtmax; - list_for_each_entry(p, &cl->cl_parent->children, - siblings) - p->cl_vtoff += vt; - cl->cl_vt = 0; + cl->cl_parent->cl_cvtoff += vt; cl->cl_parent->cl_cvtmax = 0; cl->cl_parent->cl_cvtmin = 0; + cl->cl_vt = 0; } + cl->cl_vtoff = cl->cl_parent->cl_cvtoff - + cl->cl_pcvtoff; + /* update the virtual curve */ vt = cl->cl_vt + cl->cl_vtoff; rtsc_min(&cl->cl_virtual, &cl->cl_fsc, vt, @@ -814,7 +785,8 @@ init_vf(struct hfsc_class *cl, unsigned int len) cl->cl_parentperiod++; cl->cl_f = 0; - actlist_insert(cl); + vttree_insert(cl); + cftree_insert(cl); if (cl->cl_flags & HFSC_USC) { /* class has upper limit curve */ @@ -834,6 +806,7 @@ init_vf(struct hfsc_class *cl, unsigned int len) f = max(cl->cl_myf, cl->cl_cfmin); if (f != cl->cl_f) { cl->cl_f = f; + cftree_update(cl); update_cfmin(cl->cl_parent); } } @@ -866,9 +839,10 @@ update_vf(struct hfsc_class *cl, unsigned int len, u64 cur_time) if (cl->cl_vt > cl->cl_parent->cl_cvtmax) cl->cl_parent->cl_cvtmax = cl->cl_vt; - /* remove this class from the vt list */ - actlist_remove(cl); + /* remove this class from the vt tree */ + vttree_remove(cl); + cftree_remove(cl); update_cfmin(cl->cl_parent); continue; @@ -890,8 +864,8 @@ update_vf(struct hfsc_class *cl, unsigned int len, u64 cur_time) cl->cl_vt = cl->cl_parent->cl_cvtmin; } - /* update the vt list */ - actlist_update(cl); + /* update the vt tree */ + vttree_update(cl); if (cl->cl_flags & HFSC_USC) { cl->cl_myf = cl->cl_myfadj + rtsc_y2x(&cl->cl_ulimit, @@ -921,6 +895,7 @@ update_vf(struct hfsc_class *cl, unsigned int len, u64 cur_time) f = max(cl->cl_myf, cl->cl_cfmin); if (f != cl->cl_f) { cl->cl_f = f; + cftree_update(cl); update_cfmin(cl->cl_parent); } } @@ -941,13 +916,13 @@ static void set_passive(struct hfsc_class *cl) { if (cl->cl_flags & HFSC_RSC) - ellist_remove(cl); + eltree_remove(cl); list_del(&cl->dlist); /* - * actlist is now handled in update_vf() so that update_vf(cl, 0, 0) - * needs to be called explicitly to remove a class from actlist + * vttree is now handled in update_vf() so that update_vf(cl, 0, 0) + * needs to be called explicitly to remove a class from vttree. */ } @@ -1171,7 +1146,8 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, cl->qdisc = &noop_qdisc; cl->stats_lock = &sch->dev->queue_lock; INIT_LIST_HEAD(&cl->children); - INIT_LIST_HEAD(&cl->actlist); + cl->vt_tree = RB_ROOT; + cl->cf_tree = RB_ROOT; sch_tree_lock(sch); list_add_tail(&cl->hlist, &q->clhash[hfsc_hash(classid)]); @@ -1179,6 +1155,7 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, if (parent->level == 0) hfsc_purge_queue(sch, parent); hfsc_adjust_levels(parent); + cl->cl_pcvtoff = parent->cl_cvtoff; sch_tree_unlock(sch); #ifdef CONFIG_NET_ESTIMATOR @@ -1528,7 +1505,7 @@ hfsc_schedule_watchdog(struct Qdisc *sch, u64 cur_time) u64 next_time = 0; long delay; - if ((cl = ellist_get_minel(&q->eligible)) != NULL) + if ((cl = eltree_get_minel(q)) != NULL) next_time = cl->cl_e; if (q->root.cl_cfmin != 0) { if (next_time == 0 || next_time > q->root.cl_cfmin) @@ -1553,13 +1530,12 @@ hfsc_init_qdisc(struct Qdisc *sch, struct rtattr *opt) return -EINVAL; qopt = RTA_DATA(opt); - memset(q, 0, sizeof(struct hfsc_sched)); sch->stats_lock = &sch->dev->queue_lock; q->defcls = qopt->defcls; for (i = 0; i < HFSC_HSIZE; i++) INIT_LIST_HEAD(&q->clhash[i]); - INIT_LIST_HEAD(&q->eligible); + q->eligible = RB_ROOT; INIT_LIST_HEAD(&q->droplist); skb_queue_head_init(&q->requeue); @@ -1571,7 +1547,8 @@ hfsc_init_qdisc(struct Qdisc *sch, struct rtattr *opt) q->root.qdisc = &noop_qdisc; q->root.stats_lock = &sch->dev->queue_lock; INIT_LIST_HEAD(&q->root.children); - INIT_LIST_HEAD(&q->root.actlist); + q->root.vt_tree = RB_ROOT; + q->root.cf_tree = RB_ROOT; list_add(&q->root.hlist, &q->clhash[hfsc_hash(q->root.classid)]); @@ -1611,6 +1588,8 @@ hfsc_reset_class(struct hfsc_class *cl) cl->cl_vtoff = 0; cl->cl_cvtmin = 0; cl->cl_cvtmax = 0; + cl->cl_cvtoff = 0; + cl->cl_pcvtoff = 0; cl->cl_vtperiod = 0; cl->cl_parentperiod = 0; cl->cl_f = 0; @@ -1618,7 +1597,9 @@ hfsc_reset_class(struct hfsc_class *cl) cl->cl_myfadj = 0; cl->cl_cfmin = 0; cl->cl_nactive = 0; - INIT_LIST_HEAD(&cl->actlist); + + cl->vt_tree = RB_ROOT; + cl->cf_tree = RB_ROOT; qdisc_reset(cl->qdisc); if (cl->cl_flags & HFSC_RSC) @@ -1641,7 +1622,7 @@ hfsc_reset_qdisc(struct Qdisc *sch) hfsc_reset_class(cl); } __skb_queue_purge(&q->requeue); - INIT_LIST_HEAD(&q->eligible); + q->eligible = RB_ROOT; INIT_LIST_HEAD(&q->droplist); del_timer(&q->wd_timer); sch->flags &= ~TCQ_F_THROTTLED; @@ -1749,14 +1730,14 @@ hfsc_dequeue(struct Qdisc *sch) * find the class with the minimum deadline among * the eligible classes. */ - if ((cl = ellist_get_mindl(&q->eligible, cur_time)) != NULL) { + if ((cl = eltree_get_mindl(q, cur_time)) != NULL) { realtime = 1; } else { /* * use link-sharing criteria * get the class with the minimum vt in the hierarchy */ - cl = actlist_get_minvt(&q->root, cur_time); + cl = vttree_get_minvt(&q->root, cur_time); if (cl == NULL) { sch->stats.overlimits++; hfsc_schedule_watchdog(sch, cur_time); diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index d07dfd8b5..61c8fa4db 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -1277,7 +1277,6 @@ static int htb_init(struct Qdisc *sch, struct rtattr *opt) HTB_VER >> 16,HTB_VER & 0xffff,gopt->version); return -EINVAL; } - memset(q,0,sizeof(*q)); q->debug = gopt->debug; HTB_DBG(0,1,"htb_init sch=%p handle=%X r2q=%d\n",sch,sch->handle,gopt->rate2quantum); diff --git a/net/sched/sch_ingress.c b/net/sched/sch_ingress.c index 30f2176b9..13b5c3414 100644 --- a/net/sched/sch_ingress.c +++ b/net/sched/sch_ingress.c @@ -283,21 +283,18 @@ int ingress_init(struct Qdisc *sch,struct rtattr *opt) #ifndef CONFIG_NET_CLS_ACT #ifndef CONFIG_NETFILTER printk("You MUST compile classifier actions into the kernel\n"); - goto error; + return -EINVAL; #else printk("Ingress scheduler: Classifier actions prefered over netfilter\n"); #endif #endif - if (NULL == p) - goto error; - #ifndef CONFIG_NET_CLS_ACT #ifdef CONFIG_NETFILTER if (!nf_registered) { if (nf_register_hook(&ing_ops) < 0) { printk("ingress qdisc registration error \n"); - goto error; + return -EINVAL; } nf_registered++; } @@ -305,12 +302,8 @@ int ingress_init(struct Qdisc *sch,struct rtattr *opt) #endif DPRINTK("ingress_init(sch %p,[qdisc %p],opt %p)\n",sch,p,opt); - memset(p, 0, sizeof(*p)); - p->filter_list = NULL; p->q = &noop_qdisc; return 0; -error: - return -EINVAL; } @@ -346,9 +339,6 @@ static void ingress_destroy(struct Qdisc *sch) p->filter_list = tp->next; tcf_destroy(tp); } - memset(p, 0, sizeof(*p)); - p->filter_list = NULL; - #if 0 /* for future use */ qdisc_destroy(p->q); diff --git a/net/sched/sch_red.c b/net/sched/sch_red.c index 5630abb20..e98f79bdb 100644 --- a/net/sched/sch_red.c +++ b/net/sched/sch_red.c @@ -40,6 +40,7 @@ #include #include #include +#include /* Random Early Detection (RED) algorithm. @@ -162,13 +163,12 @@ static int red_ecn_mark(struct sk_buff *skb) switch (skb->protocol) { case __constant_htons(ETH_P_IP): - if (!INET_ECN_is_capable(skb->nh.iph->tos)) + if (INET_ECN_is_not_ect(skb->nh.iph->tos)) return 0; - if (INET_ECN_is_not_ce(skb->nh.iph->tos)) - IP_ECN_set_ce(skb->nh.iph); + IP_ECN_set_ce(skb->nh.iph); return 1; case __constant_htons(ETH_P_IPV6): - if (!INET_ECN_is_capable(ip6_get_dsfield(skb->nh.ipv6h))) + if (INET_ECN_is_not_ect(ipv6_get_dsfield(skb->nh.ipv6h))) return 0; IP6_ECN_set_ce(skb->nh.ipv6h); return 1; diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 09e6df208..8765177be 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c @@ -583,8 +583,8 @@ struct sock *sctp_v6_create_accept_sk(struct sock *sk, struct ipv6_pinfo *newnp, *np = inet6_sk(sk); struct sctp6_sock *newsctp6sk; - newsk = sk_alloc(PF_INET6, GFP_KERNEL, sizeof(struct sctp6_sock), - sk->sk_slab); + newsk = sk_alloc(PF_INET6, GFP_KERNEL, sk->sk_prot->slab_obj_size, + sk->sk_prot->slab); if (!newsk) goto out; @@ -892,7 +892,7 @@ static struct proto_ops inet6_seqpacket_ops = { static struct inet_protosw sctpv6_seqpacket_protosw = { .type = SOCK_SEQPACKET, .protocol = IPPROTO_SCTP, - .prot = &sctp_prot, + .prot = &sctpv6_prot, .ops = &inet6_seqpacket_ops, .capability = -1, .no_check = 0, @@ -901,7 +901,7 @@ static struct inet_protosw sctpv6_seqpacket_protosw = { static struct inet_protosw sctpv6_stream_protosw = { .type = SOCK_STREAM, .protocol = IPPROTO_SCTP, - .prot = &sctp_prot, + .prot = &sctpv6_prot, .ops = &inet6_seqpacket_ops, .capability = -1, .no_check = 0, @@ -963,9 +963,14 @@ static struct sctp_pf sctp_pf_inet6_specific = { /* Initialize IPv6 support and register with inet6 stack. */ int sctp_v6_init(void) { + int rc = sk_alloc_slab(&sctpv6_prot, "sctpv6_sock"); + + if (rc) + goto out; /* Register inet6 protocol. */ + rc = -EAGAIN; if (inet6_add_protocol(&sctpv6_protocol, IPPROTO_SCTP) < 0) - return -EAGAIN; + goto out_sctp_free_slab; /* Add SCTPv6(UDP and TCP style) to inetsw6 linked list. */ inet6_register_protosw(&sctpv6_seqpacket_protosw); @@ -979,8 +984,12 @@ int sctp_v6_init(void) /* Register notifier for inet6 address additions/deletions. */ register_inet6addr_notifier(&sctp_inetaddr_notifier); - - return 0; + rc = 0; +out: + return rc; +out_sctp_free_slab: + sk_free_slab(&sctpv6_prot); + goto out; } /* IPv6 specific exit support. */ @@ -991,4 +1000,5 @@ void sctp_v6_exit(void) inet6_unregister_protosw(&sctpv6_seqpacket_protosw); inet6_unregister_protosw(&sctpv6_stream_protosw); unregister_inet6addr_notifier(&sctp_inetaddr_notifier); + sk_free_slab(&sctpv6_prot); } diff --git a/net/sctp/protocol.c b/net/sctp/protocol.c index 16a57cf9b..191682be4 100644 --- a/net/sctp/protocol.c +++ b/net/sctp/protocol.c @@ -81,8 +81,6 @@ static struct sctp_af *sctp_af_v6_specific; kmem_cache_t *sctp_chunk_cachep; kmem_cache_t *sctp_bucket_cachep; -extern struct net_proto_family inet_family_ops; - extern int sctp_snmp_proc_init(void); extern int sctp_snmp_proc_exit(void); extern int sctp_eps_proc_init(void); @@ -148,13 +146,12 @@ static void sctp_v4_copy_addrlist(struct list_head *addrlist, struct in_ifaddr *ifa; struct sctp_sockaddr_entry *addr; - read_lock(&inetdev_lock); + rcu_read_lock(); if ((in_dev = __in_dev_get(dev)) == NULL) { - read_unlock(&inetdev_lock); + rcu_read_unlock(); return; } - read_lock(&in_dev->lock); for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { /* Add the address to the local list. */ addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC); @@ -166,8 +163,7 @@ static void sctp_v4_copy_addrlist(struct list_head *addrlist, } } - read_unlock(&in_dev->lock); - read_unlock(&inetdev_lock); + rcu_read_unlock(); } /* Extract our IP addresses from the system and stash them in the @@ -558,8 +554,8 @@ struct sock *sctp_v4_create_accept_sk(struct sock *sk, struct inet_opt *inet = inet_sk(sk); struct inet_opt *newinet; - newsk = sk_alloc(PF_INET, GFP_KERNEL, sizeof(struct sctp_sock), - sk->sk_slab); + newsk = sk_alloc(PF_INET, GFP_KERNEL, sk->sk_prot->slab_obj_size, + sk->sk_prot->slab); if (!newsk) goto out; @@ -966,23 +962,29 @@ static void cleanup_sctp_mibs(void) __init int sctp_init(void) { int i; - int status = 0; + int status = -EINVAL; unsigned long goal; int order; /* SCTP_DEBUG sanity check. */ if (!sctp_sanity_check()) - return -EINVAL; + goto out; + + status = sk_alloc_slab(&sctp_prot, "sctp_sock"); + if (status) + goto out; /* Add SCTP to inet_protos hash table. */ + status = -EAGAIN; if (inet_add_protocol(&sctp_protocol, IPPROTO_SCTP) < 0) - return -EAGAIN; + goto err_add_protocol; /* Add SCTP(TCP and UDP style) to inetsw linked list. */ inet_register_protosw(&sctp_seqpacket_protosw); inet_register_protosw(&sctp_stream_protosw); /* Allocate a cache pools. */ + status = -ENOBUFS; sctp_bucket_cachep = kmem_cache_create("sctp_bind_bucket", sizeof(struct sctp_bind_bucket), 0, SLAB_HWCACHE_ALIGN, @@ -1158,8 +1160,11 @@ __init int sctp_init(void) sctp_get_local_addr_list(); __unsafe(THIS_MODULE); - return 0; - + status = 0; +out: + return status; +err_add_protocol: + sk_free_slab(&sctp_prot); err_ctl_sock_init: sctp_v6_exit(); err_v6_init: @@ -1187,7 +1192,7 @@ err_bucket_cachep: inet_del_protocol(&sctp_protocol, IPPROTO_SCTP); inet_unregister_protosw(&sctp_seqpacket_protosw); inet_unregister_protosw(&sctp_stream_protosw); - return status; + goto out; } /* Exit handler for the SCTP protocol. */ @@ -1228,6 +1233,7 @@ __exit void sctp_exit(void) inet_del_protocol(&sctp_protocol, IPPROTO_SCTP); inet_unregister_protosw(&sctp_seqpacket_protosw); inet_unregister_protosw(&sctp_stream_protosw); + sk_free_slab(&sctp_prot); } module_init(sctp_init); diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 698a2c561..8408c17ae 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -108,7 +108,6 @@ static void sctp_sock_migrate(struct sock *, struct sock *, static char *sctp_hmac_alg = SCTP_COOKIE_HMAC_ALG; extern kmem_cache_t *sctp_bucket_cachep; -extern int sctp_assoc_valid(struct sock *sk, struct sctp_association *asoc); /* Get the sndbuf space available at the time on the association. */ static inline int sctp_wspace(struct sctp_association *asoc) @@ -4052,12 +4051,8 @@ SCTP_STATIC int sctp_msghdr_parse(const struct msghdr *msg, for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR((struct msghdr*)msg, cmsg)) { - /* Check for minimum length. The SCM code has this check. */ - if (cmsg->cmsg_len < sizeof(struct cmsghdr) || - (unsigned long)(((char*)cmsg - (char*)msg->msg_control) - + cmsg->cmsg_len) > msg->msg_controllen) { + if (!CMSG_OK(msg, cmsg)) return -EINVAL; - } /* Should we parse this header or ignore? */ if (cmsg->cmsg_level != IPPROTO_SCTP) @@ -4623,4 +4618,29 @@ struct proto sctp_prot = { .hash = sctp_hash, .unhash = sctp_unhash, .get_port = sctp_get_port, + .slab_obj_size = sizeof(struct sctp_sock), +}; + +#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) +struct proto sctpv6_prot = { + .name = "SCTPv6", + .close = sctp_close, + .connect = sctp_connect, + .disconnect = sctp_disconnect, + .accept = sctp_accept, + .ioctl = sctp_ioctl, + .init = sctp_init_sock, + .destroy = sctp_destroy_sock, + .shutdown = sctp_shutdown, + .setsockopt = sctp_setsockopt, + .getsockopt = sctp_getsockopt, + .sendmsg = sctp_sendmsg, + .recvmsg = sctp_recvmsg, + .bind = sctp_bind, + .backlog_rcv = sctp_backlog_rcv, + .hash = sctp_hash, + .unhash = sctp_unhash, + .get_port = sctp_get_port, + .slab_obj_size = sizeof(struct sctp6_sock), }; +#endif /* defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) */ diff --git a/net/socket.c b/net/socket.c index e28ec6ae2..ae9f18ee7 100644 --- a/net/socket.c +++ b/net/socket.c @@ -2119,11 +2119,11 @@ void __init sock_init(void) int tux_Dprintk; int tux_TDprintk; +struct module *tux_module = NULL; + #ifdef CONFIG_TUX_MODULE asmlinkage long (*sys_tux_ptr) (unsigned int action, user_req_t *u_info) = NULL; - -struct module *tux_module = NULL; spinlock_t tux_module_lock = SPIN_LOCK_UNLOCKED; asmlinkage long sys_tux (unsigned int action, user_req_t *u_info) @@ -2181,8 +2181,7 @@ void socket_seq_show(struct seq_file *seq) /* ABI emulation layers need these two */ EXPORT_SYMBOL(move_addr_to_kernel); EXPORT_SYMBOL(move_addr_to_user); -EXPORT_SYMBOL(sock_alloc); -EXPORT_SYMBOL(sock_alloc_inode); +EXPORT_SYMBOL_GPL(sock_alloc); EXPORT_SYMBOL(sock_create); EXPORT_SYMBOL(sock_create_kern); EXPORT_SYMBOL(sock_create_lite); diff --git a/net/sunrpc/auth_gss/Makefile b/net/sunrpc/auth_gss/Makefile index 9495e5278..fe1b87408 100644 --- a/net/sunrpc/auth_gss/Makefile +++ b/net/sunrpc/auth_gss/Makefile @@ -12,3 +12,7 @@ obj-$(CONFIG_RPCSEC_GSS_KRB5) += rpcsec_gss_krb5.o rpcsec_gss_krb5-objs := gss_krb5_mech.o gss_krb5_seal.o gss_krb5_unseal.o \ gss_krb5_seqnum.o +obj-$(CONFIG_RPCSEC_GSS_SPKM3) += rpcsec_gss_spkm3.o + +rpcsec_gss_spkm3-objs := gss_spkm3_mech.o gss_spkm3_seal.o gss_spkm3_unseal.o \ + gss_spkm3_token.o diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index e32f2a709..927b72c89 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c @@ -246,7 +246,7 @@ gss_parse_init_downcall(struct gss_api_mech *gm, struct xdr_netobj *buf, spin_lock_init(&ctx->gc_seq_lock); atomic_set(&ctx->count,1); - if (simple_get_bytes(&p, end, uid, sizeof(uid))) + if (simple_get_bytes(&p, end, uid, sizeof(*uid))) goto err_free_ctx; /* FIXME: discarded timeout for now */ if (simple_get_bytes(&p, end, &timeout, sizeof(timeout))) @@ -397,7 +397,7 @@ retry: spin_unlock(&gss_auth->lock); } gss_release_msg(gss_msg); - dprintk("RPC: %4u gss_upcall for uid %u result %d", task->tk_pid, + dprintk("RPC: %4u gss_upcall for uid %u result %d\n", task->tk_pid, uid, res); return res; out_sleep: diff --git a/net/sunrpc/auth_gss/gss_generic_token.c b/net/sunrpc/auth_gss/gss_generic_token.c index d7b040809..b0951d115 100644 --- a/net/sunrpc/auth_gss/gss_generic_token.c +++ b/net/sunrpc/auth_gss/gss_generic_token.c @@ -179,7 +179,7 @@ EXPORT_SYMBOL(g_make_token_header); */ u32 g_verify_token_header(struct xdr_netobj *mech, int *body_size, - unsigned char **buf_in, int tok_type, int toksize) + unsigned char **buf_in, int toksize) { unsigned char *buf = *buf_in; int seqsize; diff --git a/net/sunrpc/auth_gss/gss_krb5_unseal.c b/net/sunrpc/auth_gss/gss_krb5_unseal.c index dcde40fe7..8767fc531 100644 --- a/net/sunrpc/auth_gss/gss_krb5_unseal.c +++ b/net/sunrpc/auth_gss/gss_krb5_unseal.c @@ -96,7 +96,7 @@ krb5_read_token(struct krb5_ctx *ctx, dprintk("RPC: krb5_read_token\n"); - if (g_verify_token_header(&ctx->mech_used, &bodysize, &ptr, toktype, + if (g_verify_token_header(&ctx->mech_used, &bodysize, &ptr, read_token->len)) goto out; diff --git a/net/sunrpc/auth_gss/svcauth_gss.c b/net/sunrpc/auth_gss/svcauth_gss.c index 5822ab211..ee2e9cef9 100644 --- a/net/sunrpc/auth_gss/svcauth_gss.c +++ b/net/sunrpc/auth_gss/svcauth_gss.c @@ -643,7 +643,6 @@ svcauth_gss_register_pseudoflavor(u32 pseudoflavor, char * name) if (!new) goto out; cache_init(&new->h.h); - atomic_inc(&new->h.h.refcnt); new->h.name = kmalloc(strlen(name) + 1, GFP_KERNEL); if (!new->h.name) goto out_free_dom; @@ -651,7 +650,6 @@ svcauth_gss_register_pseudoflavor(u32 pseudoflavor, char * name) new->h.flavour = RPC_AUTH_GSS; new->pseudoflavor = pseudoflavor; new->h.h.expiry_time = NEVER; - new->h.h.flags = 0; test = auth_domain_lookup(&new->h, 1); if (test == &new->h) { diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index bb54be851..d508a513d 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -38,7 +38,7 @@ void cache_init(struct cache_head *h) time_t now = get_seconds(); h->next = NULL; h->flags = 0; - atomic_set(&h->refcnt, 0); + atomic_set(&h->refcnt, 1); h->expiry_time = now + CACHE_NEW_EXPIRY; h->last_refresh = now; } @@ -400,9 +400,10 @@ void cache_flush(void) void cache_purge(struct cache_detail *detail) { - detail->flush_time = get_seconds()+1; + detail->flush_time = LONG_MAX; detail->nextcheck = get_seconds(); cache_flush(); + detail->flush_time = 1; } diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index 441c5de1b..40d0bc832 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -196,7 +196,15 @@ rpc_clone_client(struct rpc_clnt *clnt) memcpy(new, clnt, sizeof(*new)); atomic_set(&new->cl_count, 1); atomic_set(&new->cl_users, 0); - atomic_inc(&new->cl_parent->cl_count); + new->cl_parent = clnt; + atomic_inc(&clnt->cl_count); + /* Duplicate portmapper */ + rpc_init_wait_queue(&new->cl_pmap_default.pm_bindwait, "bindwait"); + /* Turn off autobind on clones */ + new->cl_autobind = 0; + new->cl_oneshot = 0; + new->cl_dead = 0; + rpc_init_rtt(&new->cl_rtt_default, clnt->cl_xprt->timeout.to_initval); if (new->cl_auth) atomic_inc(&new->cl_auth->au_count); return new; @@ -342,7 +350,7 @@ void rpc_clnt_sigunmask(struct rpc_clnt *clnt, sigset_t *oldset) */ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) { - struct rpc_task my_task, *task = &my_task; + struct rpc_task *task; sigset_t oldset; int status; @@ -350,15 +358,15 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) if (clnt->cl_dead) return -EIO; - if (flags & RPC_TASK_ASYNC) { - printk("rpc_call_sync: Illegal flag combination for synchronous task\n"); - flags &= ~RPC_TASK_ASYNC; - } + BUG_ON(flags & RPC_TASK_ASYNC); rpc_clnt_sigmask(clnt, &oldset); - /* Create/initialize a new RPC task */ - rpc_init_task(task, clnt, NULL, flags); + status = -ENOMEM; + task = rpc_new_task(clnt, NULL, flags); + if (task == NULL) + goto out; + rpc_call_setup(task, msg, 0); /* Set up the call info struct and execute the task */ @@ -369,6 +377,7 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags) rpc_release_task(task); } +out: rpc_clnt_sigunmask(clnt, &oldset); return status; @@ -965,8 +974,12 @@ call_header(struct rpc_task *task) static u32 * call_verify(struct rpc_task *task) { - u32 *p = task->tk_rqstp->rq_rcv_buf.head[0].iov_base, n; + struct kvec *iov = &task->tk_rqstp->rq_rcv_buf.head[0]; + int len = task->tk_rqstp->rq_rcv_buf.len >> 2; + u32 *p = iov->iov_base, n; + if ((len -= 3) < 0) + goto garbage; p += 1; /* skip XID */ if ((n = ntohl(*p++)) != RPC_REPLY) { @@ -976,9 +989,11 @@ call_verify(struct rpc_task *task) if ((n = ntohl(*p++)) != RPC_MSG_ACCEPTED) { int error = -EACCES; + if (--len < 0) + goto garbage; if ((n = ntohl(*p++)) != RPC_AUTH_ERROR) { printk(KERN_WARNING "call_verify: RPC call rejected: %x\n", n); - } else + } else if (--len < 0) switch ((n = ntohl(*p++))) { case RPC_AUTH_REJECTEDCRED: case RPC_AUTH_REJECTEDVERF: @@ -1009,7 +1024,8 @@ call_verify(struct rpc_task *task) default: printk(KERN_WARNING "call_verify: unknown auth error: %x\n", n); error = -EIO; - } + } else + goto garbage; dprintk("RPC: %4d call_verify: call rejected %d\n", task->tk_pid, n); rpc_exit(task, error); @@ -1019,6 +1035,9 @@ call_verify(struct rpc_task *task) printk(KERN_WARNING "call_verify: auth check failed\n"); goto garbage; /* bad verifier, retry */ } + len = p - (u32 *)iov->iov_base - 1; + if (len < 0) + goto garbage; switch ((n = ntohl(*p++))) { case RPC_SUCCESS: return p; diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index b370aad96..fa22061f7 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c @@ -150,11 +150,14 @@ static void ip_map_request(struct cache_detail *cd, } static struct ip_map *ip_map_lookup(struct ip_map *, int); + static int ip_map_parse(struct cache_detail *cd, char *mesg, int mlen) { /* class ipaddress [domainname] */ - char class[50], buf[50]; + /* should be safe just to use the start of the input buffer + * for scratch: */ + char *buf = mesg; int len; int b1,b2,b3,b4; char c; @@ -167,13 +170,13 @@ static int ip_map_parse(struct cache_detail *cd, mesg[mlen-1] = 0; /* class */ - len = qword_get(&mesg, class, 50); + len = qword_get(&mesg, ipm.m_class, sizeof(ipm.m_class)); if (len <= 0) return -EINVAL; if (len >= sizeof(ipm.m_class)) return -EINVAL; /* ip address */ - len = qword_get(&mesg, buf, 50); + len = qword_get(&mesg, buf, mlen); if (len <= 0) return -EINVAL; if (sscanf(buf, "%u.%u.%u.%u%c", &b1, &b2, &b3, &b4, &c) != 4) @@ -184,7 +187,7 @@ static int ip_map_parse(struct cache_detail *cd, return -EINVAL; /* domainname, or empty for NEGATIVE */ - len = qword_get(&mesg, buf, 50); + len = qword_get(&mesg, buf, mlen); if (len < 0) return -EINVAL; if (len) { @@ -194,7 +197,6 @@ static int ip_map_parse(struct cache_detail *cd, } else dom = NULL; - strcpy(ipm.m_class, class); ipm.m_addr.s_addr = htonl((((((b1<<8)|b2)<<8)|b3)<<8)|b4); ipm.h.flags = 0; diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index a7ab07fe5..de4bccc1c 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -753,7 +753,7 @@ udp_data_ready(struct sock *sk, int len) struct rpc_rqst *rovr; struct sk_buff *skb; int err, repsize, copied; - u32 xid; + u32 _xid, *xp; read_lock(&sk->sk_callback_lock); dprintk("RPC: udp_data_ready...\n"); @@ -777,12 +777,14 @@ udp_data_ready(struct sock *sk, int len) } /* Copy the XID from the skb... */ - if (skb_copy_bits(skb, sizeof(struct udphdr), &xid, sizeof(xid)) < 0) + xp = skb_header_pointer(skb, sizeof(struct udphdr), + sizeof(_xid), &_xid); + if (xp == NULL) goto dropit; /* Look up and lock the request corresponding to the given XID */ spin_lock(&xprt->sock_lock); - rovr = xprt_lookup_rqst(xprt, xid); + rovr = xprt_lookup_rqst(xprt, *xp); if (!rovr) goto out_unlock; task = rovr->rq_task; diff --git a/net/tux/abuf.c b/net/tux/abuf.c index 7447e698c..ed7156068 100644 --- a/net/tux/abuf.c +++ b/net/tux/abuf.c @@ -130,7 +130,7 @@ repeat: TDprintk("ret: %d, req->error = TUX_ERROR_CONN_CLOSE.\n", ret); req->error = TUX_ERROR_CONN_CLOSE; req->atom_idx = 0; - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; __free_page(req->abuf.page); memset(&req->abuf, 0, sizeof(req->abuf)); zap_request(req, cachemiss); @@ -157,7 +157,11 @@ repeat: req->abuf.page, req->abuf.buf, req->abuf.size, req->abuf.offset, req->abuf.flags); - __free_page(req->abuf.page); + if (req->abuf.page) + __free_page(req->abuf.page); + else + if (printk_ratelimit()) + WARN_ON(1); memset(&req->abuf, 0, sizeof(req->abuf)); diff --git a/net/tux/accept.c b/net/tux/accept.c index 4e6fcc06a..c69221d2c 100644 --- a/net/tux/accept.c +++ b/net/tux/accept.c @@ -45,7 +45,7 @@ struct socket * start_listening(tux_socket_t *listen, int nr) /* Create a listening socket: */ - err = sock_create(PF_INET, SOCK_STREAM, IPPROTO_TCP, &sock); + err = sock_create_kern(PF_INET, SOCK_STREAM, IPPROTO_TCP, &sock); if (err) { printk(KERN_ERR "TUX: error %d creating socket.\n", err); goto error; diff --git a/net/tux/cgi.c b/net/tux/cgi.c index fda4d3825..476dcd5a2 100644 --- a/net/tux/cgi.c +++ b/net/tux/cgi.c @@ -41,16 +41,11 @@ static int exec_usermode(char *program_path, char *argv[], char *envp[]) /* Allow execve args to be in kernel space. */ set_fs(KERNEL_DS); - flush_signals(current); - spin_lock_irq(¤t->sighand->siglock); - flush_signal_handlers(current, 1); - spin_unlock_irq(¤t->sighand->siglock); - for (i = 3; i < current->files->max_fds; i++ ) if (current->files->fd[i]) tux_close(i); - err = execve(program_path, argv, envp); + err = __exec_usermodehelper(program_path, argv, envp); if (err < 0) return err; return 0; @@ -75,14 +70,12 @@ static int exec_helper (void * data) sprintf(current->comm,"doexec - %d", current->pid); #if CONFIG_SMP if (!tux_cgi_inherit_cpu) { + cpumask_t map; - cpumask_t cgi_mask, map; - - mask_to_cpumask(tux_cgi_cpu_mask, &cgi_mask); - cpus_and(map, cpu_online_map, cgi_mask); + cpus_and(map, cpu_online_map, tux_cgi_cpu_mask); if (!(cpus_empty(map))) - set_cpus_allowed(current, cgi_mask); + set_cpus_allowed(current, map); else set_cpus_allowed(current, cpu_online_map); } @@ -121,17 +114,11 @@ static int exec_helper (void * data) tux_close(3); tux_close(5); // do not close on exec. -#if 0 - sys_fcntl(0, F_SETFD, 0); - sys_fcntl(1, F_SETFD, 0); - sys_fcntl(2, F_SETFD, 0); -#else spin_lock(¤t->files->file_lock); FD_CLR(0, current->files->close_on_exec); FD_CLR(1, current->files->close_on_exec); FD_CLR(2, current->files->close_on_exec); spin_unlock(¤t->files->file_lock); -#endif } ret = exec_usermode(param->command, param->argv, param->envp); if (ret < 0) diff --git a/net/tux/directory.c b/net/tux/directory.c index 714800e7b..7e2889188 100644 --- a/net/tux/directory.c +++ b/net/tux/directory.c @@ -210,6 +210,7 @@ static int filldir64(void * __buf, const char * name, int namlen, loff_t offset, struct linux_dirent64 * dirent, d; struct getdents_callback64 * buf = (struct getdents_callback64 *) __buf; int reclen = ROUND_UP64(NAME_OFFSET(dirent) + namlen + 1); + int err; buf->error = -EINVAL; /* only used if we fail.. */ if (reclen > buf->count) @@ -217,7 +218,8 @@ static int filldir64(void * __buf, const char * name, int namlen, loff_t offset, dirent = buf->previous; if (dirent) { d.d_off = offset; - copy_to_user(&dirent->d_off, &d.d_off, sizeof(d.d_off)); + err = copy_to_user(&dirent->d_off, &d.d_off, sizeof(d.d_off)); + BUG_ON(err); } dirent = buf->current_dir; buf->previous = dirent; @@ -225,9 +227,12 @@ static int filldir64(void * __buf, const char * name, int namlen, loff_t offset, d.d_ino = ino; d.d_reclen = reclen; d.d_type = d_type; - copy_to_user(dirent, &d, NAME_OFFSET(&d)); - copy_to_user(dirent->d_name, name, namlen); - put_user(0, dirent->d_name + namlen); + err = copy_to_user(dirent, &d, NAME_OFFSET(&d)); + BUG_ON(err); + err = copy_to_user(dirent->d_name, name, namlen); + BUG_ON(err); + err = put_user(0, dirent->d_name + namlen); + BUG_ON(err); dirent = (void *)dirent + reclen; buf->current_dir = dirent; buf->count -= reclen; @@ -261,7 +266,7 @@ void list_directory (tux_req_t *req, int cachemiss) oldmm = get_fs(); set_fs(KERNEL_DS); set_fs(KERNEL_DS); - total = vfs_readdir(&req->in_file, filldir64, &buf); + total = vfs_readdir(req->in_file, filldir64, &buf); set_fs(oldmm); if (buf.previous) @@ -278,7 +283,7 @@ void list_directory (tux_req_t *req, int cachemiss) } if (!total) { kfree(dirp0); - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; add_req_to_workqueue(req); return; } diff --git a/net/tux/extcgi.c b/net/tux/extcgi.c index 1d1d1d5cd..108da7e65 100644 --- a/net/tux/extcgi.c +++ b/net/tux/extcgi.c @@ -87,7 +87,7 @@ repeat: repeat_read: Dprintk("reading %d bytes via read().\n", left); oldmm = get_fs(); set_fs(KERNEL_DS); - len = read(2, tmp, left); + len = sys_read(2, tmp, left); set_fs(oldmm); Dprintk("got %d bytes from read() (total: %d).\n", len, total); if (len > 0) @@ -275,7 +275,7 @@ static int exec_external_cgi (void *data) Dprintk("POST data to CGI:\n"); oldmm = get_fs(); set_fs(KERNEL_DS); - ret = write(1, req->post_data_str, req->post_data_len); + ret = sys_write(1, req->post_data_str, req->post_data_len); set_fs(oldmm); Dprintk("write() returned: %d.\n", ret); if (ret != req->post_data_len) diff --git a/net/tux/input.c b/net/tux/input.c index f3e566c13..171c2fd85 100644 --- a/net/tux/input.c +++ b/net/tux/input.c @@ -192,23 +192,22 @@ void install_req_dentry (tux_req_t *req, struct dentry *dentry, struct vfsmount if (req->mnt) TUX_BUG(); req->mnt = mnt; - if (req->in_file.f_dentry) + if (req->in_file && req->in_file->f_dentry) TUX_BUG(); if (dentry) - open_private_file(&req->in_file, dentry, FMODE_READ); + req->in_file = dentry_open(dget(dentry), NULL, O_RDONLY); } void release_req_dentry (tux_req_t *req) { if (!req->dentry) { - if (req->in_file.f_dentry) + if (req->in_file && req->in_file->f_dentry) TUX_BUG(); return; } - if (req->in_file.f_op && req->in_file.f_op->release) - req->in_file.f_op->release(req->dentry->d_inode, &req->in_file); - memset(&req->in_file, 0, sizeof(req->in_file)); + fput(req->in_file); + req->in_file = NULL; dput(req->dentry); req->dentry = NULL; mntput(req->mnt); @@ -397,7 +396,7 @@ void print_req (tux_req_t *req) printk("...tp->send_head: %p\n", sk->sk_send_head); printk("...tp->snd_una: %08x\n", tcp_sk(sk)->snd_una); printk("...tp->snd_nxt: %08x\n", tcp_sk(sk)->snd_nxt); - printk("...tp->packets_out: %08x\n", tcp_sk(sk)->packets_out); + printk("...tp->packets_out: %08x\n", tcp_get_pcount(&tcp_sk(sk)->packets_out)); } printk("... meth:{%s}, uri:{%s}, query:{%s}, ver:{%s}\n", req->method_str ? req->method_str : "", req->uri_str ? req->uri_str : "", req->query_str ? req->query_str : "", req->version_str ? req->version_str : ""); printk("... post_data:{%s}(%d).\n", req->post_data_str, req->post_data_len); @@ -601,7 +600,8 @@ restart: #if CONFIG_TUX_DEBUG req->bytes_expected = 0; #endif - req->in_file.f_pos = 0; + if (req->in_file) + req->in_file->f_pos = 0; req->atom_idx = 0; clear_keepalive(req); req->status = -1; diff --git a/net/tux/logger.c b/net/tux/logger.c index 5ce80c17e..bc03480d5 100644 --- a/net/tux/logger.c +++ b/net/tux/logger.c @@ -383,33 +383,6 @@ void __put_data_sock (tux_req_t *req) req->data_sock = NULL; } -/* open-coded sys_close */ - -long tux_close(unsigned int fd) -{ - struct file * filp; - struct files_struct *files = current->files; - - spin_lock(&files->file_lock); - if (fd >= files->max_fds) - goto out_unlock; - filp = files->fd[fd]; - if (!filp) - goto out_unlock; - files->fd[fd] = NULL; - FD_CLR(fd, files->close_on_exec); - /* __put_unused_fd(files, fd); */ - __FD_CLR(fd, files->open_fds); - if (fd < files->next_fd) - files->next_fd = fd; - spin_unlock(&files->file_lock); - return filp_close(filp, files); - -out_unlock: - spin_unlock(&files->file_lock); - return -EBADF; -} - void flush_request (tux_req_t *req, int cachemiss) { struct socket *sock; @@ -439,7 +412,7 @@ void flush_request (tux_req_t *req, int cachemiss) if (sock) sk = sock->sk; Dprintk("FLUSHING req %p <%p> (sock %p, sk %p) (keepalive: %d, status: %d)\n", req, __builtin_return_address(0), sock, sk, req->keep_alive, req->status); - if (req->in_file.f_pos) + if (req->in_file->f_pos) /*TUX_BUG()*/; release_req_dentry(req); req->private = 0; @@ -659,6 +632,7 @@ void flush_request (tux_req_t *req, int cachemiss) int fd = req->fd, ret; if (fd != -1) { + Dprintk("closing req->fd: %d\n", fd); req->fd = -1; ret = tux_close(fd); if (ret) @@ -674,6 +648,8 @@ out: static int warn_once = 1; +static loff_t log_filp_last_index; + static unsigned int writeout_log (void) { unsigned int len, pending, next_log_tail; @@ -681,6 +657,8 @@ static unsigned int writeout_log (void) struct file *log_filp; char * str; unsigned int ret; + struct inode *inode; + struct address_space *mapping; if (tux_logging) Dprintk("TUX logger: opening log file {%s}.\n", tux_logfile); @@ -725,18 +703,22 @@ static unsigned int writeout_log (void) /* * Sync log data to disk: */ - if (log_filp->f_op && log_filp->f_op->fsync) { - down(&log_filp->f_dentry->d_inode->i_sem); - log_filp->f_op->fsync(log_filp, log_filp->f_dentry, 1); - up(&log_filp->f_dentry->d_inode->i_sem); + inode = log_filp->f_dentry->d_inode; + mapping = inode->i_mapping; + if (mapping->nrpages > 256) { /* batch stuff up */ + down(&inode->i_sem); + filemap_fdatawrite(inode->i_mapping); + + /* + * Now nuke old pagecache up to the place where we just + * started the I/O. There's no point in trying to invalidate + * pages after that, because they're currently in-flight. + */ + invalidate_mapping_pages(mapping, 0, log_filp_last_index); + log_filp_last_index = log_filp->f_pos >> PAGE_CACHE_SHIFT; + up(&inode->i_sem); } - /* - * Reduce the cache footprint of the logger file - it's - * typically write-once. - */ - invalidate_inode_pages(log_filp->f_dentry->d_inode->i_mapping); - out_lock: spin_lock(&log_lock); out: @@ -766,11 +748,10 @@ static int logger_thread (void *data) printk(KERN_NOTICE "TUX: logger thread started.\n"); #if CONFIG_SMP { - cpumask_t log_mask, map; + cpumask_t map; - mask_to_cpumask(log_cpu_mask, &log_mask); - cpus_and(map, cpu_online_map, log_mask); - if(!(cpus_empty(map))) + cpus_and(map, cpu_online_map, tux_log_cpu_mask); + if (!(cpus_empty(map))) set_cpus_allowed(current, map); } diff --git a/net/tux/main.c b/net/tux/main.c index e33241fec..03851a5b7 100644 --- a/net/tux/main.c +++ b/net/tux/main.c @@ -41,8 +41,8 @@ static void flush_all_requests (threadinfo_t *ti); void flush_all_signals (void) { - spin_lock_irq(¤t->sighand->siglock); flush_signals(current); + spin_lock_irq(¤t->sighand->siglock); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); } @@ -192,9 +192,9 @@ int tux_chroot (char *dir) set_fs(KERNEL_DS); cap_raise (current->cap_effective, CAP_SYS_CHROOT); - err = chroot(dir); + err = sys_chroot(dir); if (!err) - chdir("/"); + sys_chdir("/"); current->cap_effective = saved_cap; set_fs(oldmm); @@ -446,14 +446,14 @@ static int user_req_start_thread (threadinfo_t *ti) cpu = ti->cpu; #if CONFIG_SMP { - unsigned int mask; - cpumask_t cpu_mask, map; + unsigned int home_cpu; + cpumask_t map; - mask = 1 << ((cpu + tux_cpu_offset) % num_online_cpus()); + home_cpu = (cpu + tux_cpu_offset) % num_online_cpus(); + map = cpumask_of_cpu(home_cpu); - mask_to_cpumask(mask, &cpu_mask); - cpus_and(map, cpu_mask, cpu_online_map); - if(!(cpus_empty(map))) + cpus_and(map, map, cpu_online_map); + if (!(cpus_empty(map))) set_cpus_allowed(current, map); } #endif @@ -936,7 +936,7 @@ repeat: case -1: break; default: - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; add_req_to_workqueue(req); break; } @@ -977,7 +977,7 @@ fetch_missed: INC_STAT(user_fetch_cachemisses); goto fetch_missed; } - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; add_req_to_workqueue(req); } diff --git a/net/tux/output.c b/net/tux/output.c index 0ac39b243..c2789f813 100644 --- a/net/tux/output.c +++ b/net/tux/output.c @@ -235,7 +235,7 @@ int generic_send_file (tux_req_t *req, struct socket *sock, int cachemiss) sock_desc.req = req; repeat: - Dprintk("generic_send_file(%p,%d,%p) called, f_pos: %Ld, output_len: %Ld.\n", req, nonblock, sock, req->in_file.f_pos, req->output_len); + Dprintk("generic_send_file(%p,%d,%p) called, f_pos: %Ld, output_len: %Ld.\n", req, nonblock, sock, req->in_file->f_pos, req->output_len); if (req->proto->check_req_err(req, cachemiss)) return -1; @@ -243,7 +243,7 @@ repeat: len = -5; goto out; } - if (req->total_file_len < req->in_file.f_pos) + if (req->total_file_len < req->in_file->f_pos) TUX_BUG(); req->desc.written = 0; @@ -258,7 +258,7 @@ repeat: req->desc.arg.buf = (char *) &sock_desc; req->desc.error = 0; Dprintk("sendfile(), desc.count: %d.\n", req->desc.count); - do_generic_file_read(&req->in_file, &req->in_file.f_pos, &req->desc, sock_send_actor, nonblock); + do_generic_file_read(req->in_file, &req->in_file->f_pos, &req->desc, sock_send_actor, nonblock); if (req->desc.written > 0) { req->bytes_sent += req->desc.written; req->output_len -= req->desc.written; @@ -270,7 +270,7 @@ repeat: #if CONFIG_TUX_DEBUG req->bytes_expected = 0; #endif - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; req->error = TUX_ERROR_CONN_CLOSE; zap_request(req, cachemiss); return -1; @@ -304,7 +304,7 @@ no_write_space: } #if CONFIG_TUX_DEBUG if (req->desc.written != want) - TDprintk("TUX: sendfile() wrote %d bytes, wanted %d! (pos %Ld) (signals pending: %08lx).\n", req->desc.written, want, req->in_file.f_pos, current->pending.signal.sig[0]); + TDprintk("TUX: sendfile() wrote %d bytes, wanted %d! (pos %Ld) (signals pending: %08lx).\n", req->desc.written, want, req->in_file->f_pos, current->pending.signal.sig[0]); else Dprintk("TUX: sendfile() FINISHED for req %p, wrote %d bytes.\n", req, req->desc.written); req->bytes_expected = 0; @@ -339,7 +339,7 @@ int tux_fetch_file (tux_req_t *req, int nonblock) req->desc.arg.buf = NULL; req->desc.error = 0; - do_generic_file_read(&req->in_file, &req->in_file.f_pos, &req->desc, + do_generic_file_read(req->in_file, &req->in_file->f_pos, &req->desc, file_fetch_actor, nonblock); if (nonblock && (req->desc.error == -EWOULDBLOCKIO)) return 1; diff --git a/net/tux/proc.c b/net/tux/proc.c index 2973a482b..5f39c4657 100644 --- a/net/tux/proc.c +++ b/net/tux/proc.c @@ -53,11 +53,11 @@ unsigned int tux_ftp_virtual_server = 0; unsigned int mass_hosting_hash = 0; unsigned int strip_host_tail = 0; unsigned int tux_max_object_size = 0; -unsigned int log_cpu_mask = ~0; +cpumask_t tux_log_cpu_mask = CPU_MASK_ALL; unsigned int tux_compression = 0; unsigned int tux_noid = 0; unsigned int tux_cgi_inherit_cpu = 0; -unsigned int tux_cgi_cpu_mask = ~0; +cpumask_t tux_cgi_cpu_mask = CPU_MASK_ALL; unsigned int tux_zerocopy_header = 1; unsigned int tux_max_free_requests = 1000; unsigned int tux_ignore_query = 0; @@ -622,18 +622,6 @@ static ctl_table tux_table[] = { NULL, NULL }, - { NET_TUX_CGI_CPU_MASK, - "cgi_cpu_mask", - &tux_cgi_cpu_mask, - sizeof(int), - 0644, - NULL, - proc_dointvec, - &sysctl_intvec, - NULL, - NULL, - NULL - }, { NET_TUX_ZEROCOPY_HEADER, "zerocopy_header", &tux_zerocopy_header, @@ -770,6 +758,7 @@ static ctl_table tux_root_table[] = { static struct proc_dir_entry * root_tux_dir; static struct proc_dir_entry * log_cpu_mask_entry; +static struct proc_dir_entry * cgi_cpu_mask_entry; static struct proc_dir_entry * stat_entry; static struct proc_dir_entry * tux_dir [CONFIG_TUX_NUMTHREADS]; static struct proc_dir_entry * listen_dir [CONFIG_TUX_NUMTHREADS]; @@ -777,51 +766,29 @@ static struct proc_dir_entry * listen_dir [CONFIG_TUX_NUMTHREADS]; tux_socket_t tux_listen [CONFIG_TUX_NUMTHREADS][CONFIG_TUX_NUMSOCKETS] = { [0 ... CONFIG_TUX_NUMTHREADS-1] = { {&tux_proto_http, 0, 80, NULL}, } }; -#define HEX_DIGITS 8 - -static int hex_read_proc (char *page, char **start, off_t off, - int count, int *eof, void *data) +static int cpu_mask_read_proc (char *page, char **start, off_t off, + int count, int *eof, void *data) { - if (count < HEX_DIGITS+1) + int len = cpumask_scnprintf(page, count, *(cpumask_t *)data); + if (count - len < 2) return -EINVAL; - return sprintf (page, "%08x\n", *(unsigned int *)data); + len += sprintf(page + len, "\n"); + return len; } -static int hex_write_proc (struct file *file, const char *buffer, +static int cpu_mask_write_proc (struct file *file, + const char __user *buffer, unsigned long count, void *data) { - char hexnum [HEX_DIGITS]; - unsigned int new_value; - unsigned int i, full_count = count; - - if (!count) - return -EINVAL; - if (count > HEX_DIGITS) - count = HEX_DIGITS; - if (copy_from_user(hexnum, buffer, count)) - return -EFAULT; - - /* - * Parse the first 8 characters as a hex string, any non-hex char - * is end-of-string. '00e1', 'e1', '00E1', 'E1' are the same. - */ - new_value = 0; + cpumask_t *mask = (cpumask_t *)data; + unsigned long full_count = count, err; + cpumask_t new_value; - for (i = 0; i < count; i++) { - unsigned int c = hexnum[i]; - - switch (c) { - case '0' ... '9': c -= '0'; break; - case 'a' ... 'f': c -= 'a'-10; break; - case 'A' ... 'F': c -= 'A'-10; break; - default: - goto out; - } - new_value = (new_value << 4) | c; - } -out: - *(int *)data = new_value; + err = cpumask_parse(buffer, count, new_value); + if (err) + return err; + *mask = new_value; return full_count; } @@ -892,7 +859,7 @@ static int print_request_stats (threadinfo_t *ti, char *page, unsigned int skip_ SP_HOST(req->client_addr, req->client_port); SP("%Ld ", req->total_file_len); - SP("%Ld ", req->in_file.f_pos); + SP("%Ld ", req->in_file ? req->in_file->f_pos : -1); if (req->proto == &tux_proto_http) { SP("%d ", req->method); SP("%d ", req->version); @@ -1118,6 +1085,7 @@ static void cleanup_tux_proc (void) unregister_tux_proc(i); remove_proc_entry(stat_entry->name, root_tux_dir); remove_proc_entry(log_cpu_mask_entry->name, root_tux_dir); + remove_proc_entry(cgi_cpu_mask_entry->name, root_tux_dir); remove_proc_entry(root_tux_dir->name, proc_net); } @@ -1135,12 +1103,21 @@ static void init_tux_proc (void) entry = create_proc_entry("log_cpu_mask", 0700, root_tux_dir); entry->nlink = 1; - entry->data = (void *)&log_cpu_mask; - entry->read_proc = hex_read_proc; - entry->write_proc = hex_write_proc; + entry->data = (void *)&tux_log_cpu_mask; + entry->read_proc = cpu_mask_read_proc; + entry->write_proc = cpu_mask_write_proc; log_cpu_mask_entry = entry; + entry = create_proc_entry("cgi_cpu_mask", 0700, root_tux_dir); + + entry->nlink = 1; + entry->data = (void *)&tux_cgi_cpu_mask; + entry->read_proc = cpu_mask_read_proc; + entry->write_proc = cpu_mask_write_proc; + + cgi_cpu_mask_entry = entry; + entry = create_proc_entry("stat", 0700, root_tux_dir); entry->nlink = 1; @@ -1169,22 +1146,4 @@ void end_sysctl(void) unregister_sysctl_table(tux_table_header); } -#if CONFIG_SMP -void mask_to_cpumask(unsigned int mask, cpumask_t *cpu_mask) -{ - - unsigned int bit_mask, i; - - bit_mask = 1 << 31; - - for (i=NR_CPUS-1; i--; i >= 0) { - if(mask & bit_mask) - cpu_set(i, *cpu_mask); - else - cpu_clear(i, *cpu_mask); - mask <<= 1; - } - -} -#endif diff --git a/net/tux/proto_ftp.c b/net/tux/proto_ftp.c index fbb9d8eef..e04447007 100644 --- a/net/tux/proto_ftp.c +++ b/net/tux/proto_ftp.c @@ -593,7 +593,7 @@ static int ftp_check_req_err (tux_req_t *req, int cachemiss) if ((state <= TCP_SYN_RECV) && !err) { if (!urg) return 0; - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; add_tux_atom(req, flush_request); zap_data_socket(req); ftp_send_async_message(req, WRITE_ABORTED, 426); @@ -604,7 +604,7 @@ static int ftp_check_req_err (tux_req_t *req, int cachemiss) if (tux_TDprintk) dump_stack(); #endif - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; TDprintk("zapping, data sock state: %d (err: %d, urg: %d)\n", state, err, urg); /* @@ -623,8 +623,8 @@ void ftp_send_file (tux_req_t *req, int cachemiss) SET_TIMESTAMP(req->output_timestamp); repeat: ret = generic_send_file(req, req->data_sock, cachemiss); - update_bandwidth(req, req->in_file.f_pos - req->prev_pos); - req->prev_pos = req->in_file.f_pos; + update_bandwidth(req, req->in_file->f_pos - req->prev_pos); + req->prev_pos = req->in_file->f_pos; switch (ret) { case -5: @@ -645,7 +645,7 @@ repeat: case -1: break; default: - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; if (tux_ftp_wait_close) { req->data_sock->ops->shutdown(req->data_sock, SEND_SHUTDOWN); @@ -733,7 +733,7 @@ void ftp_get_size (tux_req_t *req, int cachemiss) return; } } - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; len = sprintf(file_size, "213 %Li\r\n", req->dentry->d_inode->i_size); __ftp_send_async_message(req, file_size, 200, len); } @@ -762,7 +762,7 @@ void ftp_get_mdtm (tux_req_t *req, int cachemiss) if (err) goto out_err_put; - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; len = mdtm_time (file_mdtm, dentry->d_inode->i_mtime.tv_sec); dput(dentry); mntput(mnt); @@ -795,17 +795,17 @@ static void ftp_get_file (tux_req_t *req, int cachemiss) } } Dprintk("ftp_send_file %p, ftp_offset: %Ld, total_len: %Ld.\n", req, req->ftp_offset_start, req->total_file_len); - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; if (req->ftp_offset_start) { if (req->ftp_offset_start <= req->total_file_len) { req->offset_start = req->ftp_offset_start; - req->in_file.f_pos = req->offset_start; + req->in_file->f_pos = req->offset_start; } req->ftp_offset_start = 0; } req->output_len = req->total_file_len - req->offset_start; - req->prev_pos = req->in_file.f_pos; - Dprintk("ftp_send_file %p, f_pos: %Ld (out_len: %Ld).\n", req, req->in_file.f_pos, req->output_len); + req->prev_pos = req->in_file->f_pos; + Dprintk("ftp_send_file %p, f_pos: %Ld (out_len: %Ld).\n", req, req->in_file->f_pos, req->output_len); add_tux_atom(req, ftp_send_file); add_tux_atom(req, ftp_wait_syn); add_tux_atom(req, ftp_flush_req); @@ -820,7 +820,7 @@ static void __exchange_sockets (tux_req_t *req) req->data_sock = req->sock; req->sock = tmp; - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; } static void ftp_do_ls_start (tux_req_t *req, int cachemiss) @@ -1296,7 +1296,7 @@ static void ftp_execute_command (tux_req_t *req, int cachemiss) /* * Create FTP data connection to client: */ - err = sock_create(AF_INET, SOCK_STREAM, IPPROTO_IP, &data_sock); + err = sock_create_kern(AF_INET, SOCK_STREAM, IPPROTO_IP, &data_sock); if (err < 0) { Dprintk("sock create err: %d\n", err); req_err(req); @@ -1371,7 +1371,7 @@ static void ftp_execute_command (tux_req_t *req, int cachemiss) /* * Create FTP data connection to client: */ - err = sock_create(AF_INET, SOCK_STREAM, IPPROTO_IP, &data_sock); + err = sock_create_kern(AF_INET, SOCK_STREAM, IPPROTO_IP, &data_sock); if (err < 0) { Dprintk("sock create err: %d\n", err); req_err(req); diff --git a/net/tux/proto_http.c b/net/tux/proto_http.c index 192dd4f08..1c60ec9e3 100644 --- a/net/tux/proto_http.c +++ b/net/tux/proto_http.c @@ -760,7 +760,7 @@ static int lookup_url (tux_req_t *req, const unsigned int flag) * 1 : previous check successed, check farther */ int not_modified = -1; - int perm = 0, i; + int perm = 0; struct dentry *dentry = NULL; struct vfsmount *mnt = NULL; struct inode *inode; @@ -781,8 +781,6 @@ repeat_lookup: Dprintk("will look up {%s} (%d)\n", filename, req->objectname_len); Dprintk("current->fsuid: %d, current->fsgid: %d, ngroups: %d\n", current->fsuid, current->fsgid, current->group_info->ngroups); - for (i = 0; i < current->group_info->ngroups; i++) - Dprintk(".. group #%d: %d.\n", i, current->groups[i]); dentry = tux_lookup(req, filename, flag, &mnt); @@ -1375,7 +1373,7 @@ static void handle_range(tux_req_t *req) /* ok, the range is valid, use it: */ req->output_len = req->offset_end - req->offset_start; - req->in_file.f_pos = req->offset_start; + req->in_file->f_pos = req->offset_start; return; out_no_range: @@ -1769,7 +1767,7 @@ static void http_send_body (tux_req_t *req, int cachemiss) #if CONFIG_TUX_DEBUG req->bytes_expected = 0; #endif - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; /* * We are in the middle of a file transfer, * zap it immediately: @@ -1813,7 +1811,7 @@ repeat: case -1: break; default: - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; add_req_to_workqueue(req); break; } @@ -2040,7 +2038,7 @@ static int http_check_req_err (tux_req_t *req, int cachemiss) #if CONFIG_TUX_DEBUG req->bytes_expected = 0; #endif - req->in_file.f_pos = 0; + req->in_file->f_pos = 0; req->error = TUX_ERROR_CONN_CLOSE; zap_request(req, cachemiss); diff --git a/net/tux/redirect.c b/net/tux/redirect.c index 86b5300fb..a5f23d825 100644 --- a/net/tux/redirect.c +++ b/net/tux/redirect.c @@ -66,6 +66,10 @@ static int redirect_sock (tux_req_t *req, const int port) /* No secondary server found */ if (!sk) goto out; + if (sk->sk_family != AF_INET) { + sock_put(sk); + goto out; + } /* * Requeue the 'old' socket as an accept-socket of @@ -105,7 +109,11 @@ static int redirect_sock (tux_req_t *req, const int port) * It's now completely up to the secondary * server to handle this request. */ - sock_release(req->sock); + if (req->fd != -1) { + tux_close(req->fd); + req->fd = -1; + } else + sock_release(req->sock); req->sock = NULL; req->parsed_len = 0; err = 0; diff --git a/net/wanrouter/af_wanpipe.c b/net/wanrouter/af_wanpipe.c index 4776ec1ea..5acdc5a51 100644 --- a/net/wanrouter/af_wanpipe.c +++ b/net/wanrouter/af_wanpipe.c @@ -2423,7 +2423,6 @@ static int wanpipe_accept(struct socket *sock, struct socket *newsock, int flags write_unlock(&wanpipe_sklist_lock); clear_bit(1,&wanpipe_tx_critical); - newsk->sk_pair = NULL; newsk->sk_socket = newsock; newsk->sk_sleep = &newsock->wait; diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 17d20343a..be33fd881 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -769,7 +769,6 @@ static int x25_accept(struct socket *sock, struct socket *newsock, int flags) if (!skb->sk) goto out2; newsk = skb->sk; - newsk->sk_pair = NULL; newsk->sk_socket = newsock; newsk->sk_sleep = &newsock->wait; @@ -887,7 +886,6 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb, makex25->state = X25_STATE_3; sk->sk_ack_backlog++; - make->sk_pair = sk; x25_insert_socket(make); diff --git a/net/xfrm/xfrm_export.c b/net/xfrm/xfrm_export.c index f72754953..24dbc9a99 100644 --- a/net/xfrm/xfrm_export.c +++ b/net/xfrm/xfrm_export.c @@ -12,29 +12,22 @@ EXPORT_SYMBOL(__xfrm_policy_check); EXPORT_SYMBOL(__xfrm_route_forward); EXPORT_SYMBOL(xfrm_state_alloc); EXPORT_SYMBOL(__xfrm_state_destroy); -EXPORT_SYMBOL(xfrm_state_find); EXPORT_SYMBOL(xfrm_state_insert); EXPORT_SYMBOL(xfrm_state_add); EXPORT_SYMBOL(xfrm_state_update); EXPORT_SYMBOL(xfrm_state_check_expire); -EXPORT_SYMBOL(xfrm_state_check_space); EXPORT_SYMBOL(xfrm_state_check); EXPORT_SYMBOL(xfrm_state_lookup); EXPORT_SYMBOL(xfrm_state_register_afinfo); EXPORT_SYMBOL(xfrm_state_unregister_afinfo); -EXPORT_SYMBOL(xfrm_state_get_afinfo); -EXPORT_SYMBOL(xfrm_state_put_afinfo); EXPORT_SYMBOL(xfrm_state_delete_tunnel); EXPORT_SYMBOL(xfrm_replay_check); EXPORT_SYMBOL(xfrm_replay_advance); -EXPORT_SYMBOL(xfrm_check_selectors); EXPORT_SYMBOL(__secpath_destroy); EXPORT_SYMBOL(secpath_dup); EXPORT_SYMBOL(xfrm_get_acqseq); EXPORT_SYMBOL(xfrm_parse_spi); EXPORT_SYMBOL(xfrm4_rcv); -EXPORT_SYMBOL(xfrm4_tunnel_register); -EXPORT_SYMBOL(xfrm4_tunnel_deregister); EXPORT_SYMBOL(xfrm_register_type); EXPORT_SYMBOL(xfrm_unregister_type); EXPORT_SYMBOL(xfrm_get_type); @@ -46,7 +39,6 @@ EXPORT_SYMBOL(xfrm_find_acq_byseq); EXPORT_SYMBOL(xfrm_find_acq); EXPORT_SYMBOL(xfrm_alloc_spi); EXPORT_SYMBOL(xfrm_state_flush); -EXPORT_SYMBOL(xfrm_policy_kill); EXPORT_SYMBOL(xfrm_policy_bysel); EXPORT_SYMBOL(xfrm_policy_insert); EXPORT_SYMBOL(xfrm_policy_walk); @@ -56,8 +48,6 @@ EXPORT_SYMBOL(xfrm_policy_list); EXPORT_SYMBOL(xfrm_dst_lookup); EXPORT_SYMBOL(xfrm_policy_register_afinfo); EXPORT_SYMBOL(xfrm_policy_unregister_afinfo); -EXPORT_SYMBOL(xfrm_policy_get_afinfo); -EXPORT_SYMBOL(xfrm_policy_put_afinfo); EXPORT_SYMBOL_GPL(xfrm_probe_algs); EXPORT_SYMBOL_GPL(xfrm_count_auth_supported); diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index e7db9f8b7..7e566c75b 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -40,6 +40,9 @@ static struct list_head xfrm_policy_gc_list = LIST_HEAD_INIT(xfrm_policy_gc_list); static spinlock_t xfrm_policy_gc_lock = SPIN_LOCK_UNLOCKED; +static struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family); +static void xfrm_policy_put_afinfo(struct xfrm_policy_afinfo *afinfo); + int xfrm_register_type(struct xfrm_type *type, unsigned short family) { struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); @@ -286,7 +289,7 @@ static void xfrm_policy_gc_task(void *data) * entry dead. The rule must be unlinked from lists to the moment. */ -void xfrm_policy_kill(struct xfrm_policy *policy) +static void xfrm_policy_kill(struct xfrm_policy *policy) { write_lock_bh(&policy->lock); if (policy->dead) @@ -332,7 +335,7 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl) struct xfrm_policy **newpos = NULL; write_lock_bh(&xfrm_policy_lock); - for (p = &xfrm_policy_list[dir]; (pol=*p)!=NULL; p = &pol->next) { + for (p = &xfrm_policy_list[dir]; (pol=*p)!=NULL;) { if (!delpol && memcmp(&policy->selector, &pol->selector, sizeof(pol->selector)) == 0) { if (excl) { write_unlock_bh(&xfrm_policy_lock); @@ -342,12 +345,15 @@ int xfrm_policy_insert(int dir, struct xfrm_policy *policy, int excl) delpol = pol; if (policy->priority > pol->priority) continue; - } else if (policy->priority >= pol->priority) + } else if (policy->priority >= pol->priority) { + p = &pol->next; continue; + } if (!newpos) newpos = p; if (delpol) break; + p = &pol->next; } if (newpos) p = newpos; @@ -711,25 +717,11 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl, { struct xfrm_policy *policy; struct xfrm_state *xfrm[XFRM_MAX_DEPTH]; - struct rtable *rt = (struct rtable*)*dst_p; - struct dst_entry *dst; + struct dst_entry *dst, *dst_orig = *dst_p; int nx = 0; int err; u32 genid; - u16 family = (*dst_p)->ops->family; - - switch (family) { - case AF_INET: - if (!fl->fl4_src) - fl->fl4_src = rt->rt_src; - if (!fl->fl4_dst) - fl->fl4_dst = rt->rt_dst; - case AF_INET6: - /* Still not clear... */ - default: - /* nothing */; - } - + u16 family = dst_orig->ops->family; restart: genid = atomic_read(&flow_cache_genid); policy = NULL; @@ -738,7 +730,7 @@ restart: if (!policy) { /* To accelerate a bit... */ - if ((rt->u.dst.flags & DST_NOXFRM) || !xfrm_policy_list[XFRM_POLICY_OUT]) + if ((dst_orig->flags & DST_NOXFRM) || !xfrm_policy_list[XFRM_POLICY_OUT]) return 0; policy = flow_cache_lookup(fl, family, @@ -813,7 +805,7 @@ restart: return 0; } - dst = &rt->u.dst; + dst = dst_orig; err = xfrm_bundle_create(policy, xfrm, nx, fl, &dst, family); if (unlikely(err)) { @@ -843,12 +835,12 @@ restart: write_unlock_bh(&policy->lock); } *dst_p = dst; - ip_rt_put(rt); + dst_release(dst_orig); xfrm_pol_put(policy); return 0; error: - ip_rt_put(rt); + dst_release(dst_orig); xfrm_pol_put(policy); *dst_p = NULL; return err; @@ -907,6 +899,16 @@ _decode_session(struct sk_buff *skb, struct flowi *fl, unsigned short family) return 0; } +static inline int secpath_has_tunnel(struct sec_path *sp, int k) +{ + for (; k < sp->len; k++) { + if (sp->x[k].xvec->props.mode) + return 1; + } + + return 0; +} + int __xfrm_policy_check(struct sock *sk, int dir, struct sk_buff *skb, unsigned short family) { @@ -944,7 +946,7 @@ int __xfrm_policy_check(struct sock *sk, int dir, struct sk_buff *skb, xfrm_policy_lookup); if (!pol) - return !skb->sp; + return !skb->sp || !secpath_has_tunnel(skb->sp, 0); pol->curlft.use_time = (unsigned long)xtime.tv_sec; @@ -968,10 +970,8 @@ int __xfrm_policy_check(struct sock *sk, int dir, struct sk_buff *skb, goto reject; } - for (; k < sp->len; k++) { - if (sp->x[k].xvec->props.mode) - goto reject; - } + if (secpath_has_tunnel(sp, k)) + goto reject; xfrm_pol_put(pol); return 1; @@ -1191,7 +1191,7 @@ int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo) return err; } -struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family) +static struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family) { struct xfrm_policy_afinfo *afinfo; if (unlikely(family >= NPROTO)) @@ -1204,7 +1204,7 @@ struct xfrm_policy_afinfo *xfrm_policy_get_afinfo(unsigned short family) return afinfo; } -void xfrm_policy_put_afinfo(struct xfrm_policy_afinfo *afinfo) +static void xfrm_policy_put_afinfo(struct xfrm_policy_afinfo *afinfo) { if (unlikely(afinfo == NULL)) return; diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index f45fa55c2..93a7693aa 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -48,6 +48,9 @@ static spinlock_t xfrm_state_gc_lock = SPIN_LOCK_UNLOCKED; static void __xfrm_state_delete(struct xfrm_state *x); +static struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned short family); +static void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo); + static void xfrm_state_gc_destroy(struct xfrm_state *x) { if (del_timer(&x->timer)) @@ -387,13 +390,17 @@ void xfrm_state_insert(struct xfrm_state *x) spin_unlock_bh(&xfrm_state_lock); } +static struct xfrm_state *__xfrm_find_acq_byseq(u32 seq); + int xfrm_state_add(struct xfrm_state *x) { struct xfrm_state_afinfo *afinfo; struct xfrm_state *x1; + int family; int err; - afinfo = xfrm_state_get_afinfo(x->props.family); + family = x->props.family; + afinfo = xfrm_state_get_afinfo(family); if (unlikely(afinfo == NULL)) return -EAFNOSUPPORT; @@ -407,9 +414,18 @@ int xfrm_state_add(struct xfrm_state *x) goto out; } - x1 = afinfo->find_acq( - x->props.mode, x->props.reqid, x->id.proto, - &x->id.daddr, &x->props.saddr, 0); + if (x->km.seq) { + x1 = __xfrm_find_acq_byseq(x->km.seq); + if (x1 && xfrm_addr_cmp(&x1->id.daddr, &x->id.daddr, family)) { + xfrm_state_put(x1); + x1 = NULL; + } + } + + if (!x1) + x1 = afinfo->find_acq( + x->props.mode, x->props.reqid, x->id.proto, + &x->id.daddr, &x->props.saddr, 0); __xfrm_state_insert(x); err = 0; @@ -513,7 +529,7 @@ int xfrm_state_check_expire(struct xfrm_state *x) return 0; } -int xfrm_state_check_space(struct xfrm_state *x, struct sk_buff *skb) +static int xfrm_state_check_space(struct xfrm_state *x, struct sk_buff *skb) { int nhead = x->props.header_len + LL_RESERVED_SPACE(skb->dst->dev) - skb_headroom(skb); @@ -570,24 +586,31 @@ xfrm_find_acq(u8 mode, u32 reqid, u8 proto, /* Silly enough, but I'm lazy to build resolution list */ -struct xfrm_state * xfrm_find_acq_byseq(u32 seq) +static struct xfrm_state *__xfrm_find_acq_byseq(u32 seq) { int i; struct xfrm_state *x; - spin_lock_bh(&xfrm_state_lock); for (i = 0; i < XFRM_DST_HSIZE; i++) { list_for_each_entry(x, xfrm_state_bydst+i, bydst) { if (x->km.seq == seq) { xfrm_state_hold(x); - spin_unlock_bh(&xfrm_state_lock); return x; } } } - spin_unlock_bh(&xfrm_state_lock); return NULL; } + +struct xfrm_state *xfrm_find_acq_byseq(u32 seq) +{ + struct xfrm_state *x; + + spin_lock_bh(&xfrm_state_lock); + x = __xfrm_find_acq_byseq(seq); + spin_unlock_bh(&xfrm_state_lock); + return x; +} u32 xfrm_get_acqseq(void) { @@ -720,19 +743,6 @@ void xfrm_replay_advance(struct xfrm_state *x, u32 seq) } } -int xfrm_check_selectors(struct xfrm_state **x, int n, struct flowi *fl) -{ - int i; - - for (i=0; isel, fl, x[i]->props.family); - if (!match) - return -EINVAL; - } - return 0; -} - static struct list_head xfrm_km_list = LIST_HEAD_INIT(xfrm_km_list); static rwlock_t xfrm_km_lock = RW_LOCK_UNLOCKED; @@ -894,7 +904,7 @@ int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo) return err; } -struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned short family) +static struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned short family) { struct xfrm_state_afinfo *afinfo; if (unlikely(family >= NPROTO)) @@ -907,7 +917,7 @@ struct xfrm_state_afinfo *xfrm_state_get_afinfo(unsigned short family) return afinfo; } -void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo) +static void xfrm_state_put_afinfo(struct xfrm_state_afinfo *afinfo) { if (unlikely(afinfo == NULL)) return; diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index eccc0231f..db2087c26 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -78,15 +78,6 @@ static int verify_encap_tmpl(struct rtattr **xfrma) if ((rt->rta_len - sizeof(*rt)) < sizeof(*encap)) return -EINVAL; - encap = RTA_DATA(rt); - switch (encap->encap_type) { - case UDP_ENCAP_ESPINUDP: - case UDP_ENCAP_ESPINUDP_NON_IKE: - break; - default: - return -ENOPROTOOPT; - } - return 0; } @@ -164,15 +155,24 @@ out: return err; } -static int attach_one_algo(struct xfrm_algo **algpp, struct rtattr *u_arg) +static int attach_one_algo(struct xfrm_algo **algpp, u8 *props, + struct xfrm_algo_desc *(*get_byname)(char *), + struct rtattr *u_arg) { struct rtattr *rta = u_arg; struct xfrm_algo *p, *ualg; + struct xfrm_algo_desc *algo; if (!rta) return 0; ualg = RTA_DATA(rta); + + algo = get_byname(ualg->alg_name); + if (!algo) + return -ENOSYS; + *props = algo->desc.sadb_alg_id; + p = kmalloc(sizeof(*ualg) + ualg->alg_key_len, GFP_KERNEL); if (!p) return -ENOMEM; @@ -225,11 +225,17 @@ static struct xfrm_state *xfrm_state_construct(struct xfrm_usersa_info *p, copy_from_user_state(x, p); - if ((err = attach_one_algo(&x->aalg, xfrma[XFRMA_ALG_AUTH-1]))) + if ((err = attach_one_algo(&x->aalg, &x->props.aalgo, + xfrm_aalg_get_byname, + xfrma[XFRMA_ALG_AUTH-1]))) goto error; - if ((err = attach_one_algo(&x->ealg, xfrma[XFRMA_ALG_CRYPT-1]))) + if ((err = attach_one_algo(&x->ealg, &x->props.ealgo, + xfrm_ealg_get_byname, + xfrma[XFRMA_ALG_CRYPT-1]))) goto error; - if ((err = attach_one_algo(&x->calg, xfrma[XFRMA_ALG_COMP-1]))) + if ((err = attach_one_algo(&x->calg, &x->props.calgo, + xfrm_calg_get_byname, + xfrma[XFRMA_ALG_COMP-1]))) goto error; if ((err = attach_encap_tmpl(&x->encap, xfrma[XFRMA_ENCAP-1]))) goto error; @@ -464,16 +470,32 @@ static int xfrm_alloc_userspi(struct sk_buff *skb, struct nlmsghdr *nlh, void ** struct xfrm_state *x; struct xfrm_userspi_info *p; struct sk_buff *resp_skb; + xfrm_address_t *daddr; + int family; int err; p = NLMSG_DATA(nlh); err = verify_userspi_info(p); if (err) goto out_noput; - x = xfrm_find_acq(p->info.mode, p->info.reqid, p->info.id.proto, - &p->info.id.daddr, - &p->info.saddr, 1, - p->info.family); + + family = p->info.family; + daddr = &p->info.id.daddr; + + x = NULL; + if (p->info.seq) { + x = xfrm_find_acq_byseq(p->info.seq); + if (x && xfrm_addr_cmp(&x->id.daddr, daddr, family)) { + xfrm_state_put(x); + x = NULL; + } + } + + if (!x) + x = xfrm_find_acq(p->info.mode, p->info.reqid, + p->info.id.proto, daddr, + &p->info.saddr, 1, + family); err = -ENOENT; if (x == NULL) goto out_noput; diff --git a/scripts/Makefile b/scripts/Makefile index 81c913c1e..67763eeb8 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -2,14 +2,21 @@ # scripts contains sources for various helper programs used throughout # the kernel for the build process. # --------------------------------------------------------------------------- -# docproc: Preprocess .tmpl file in order to generate .sgml docs +# kallsyms: Find all symbols in vmlinux +# pnmttologo: Convert pnm files to logo files +# conmakehash: Create chartable # conmakehash: Create arrays for initializing the kernel console tables -host-progs := conmakehash kallsyms pnmtologo bin2c -always := $(host-progs) +hostprogs-$(CONFIG_KALLSYMS) += kallsyms +hostprogs-$(CONFIG_LOGO) += pnmtologo +hostprogs-$(CONFIG_VT) += conmakehash +hostprogs-$(CONFIG_PROM_CONSOLE) += conmakehash +hostprogs-$(CONFIG_IKCONFIG) += bin2c -subdir-$(CONFIG_MODVERSIONS) += genksyms -subdir-y += mod +always := $(hostprogs-y) + +subdir-$(CONFIG_MODVERSIONS) += genksyms +subdir-$(CONFIG_MODULES) += mod # Let clean descend into subdirs subdir- += basic lxdialog kconfig package diff --git a/scripts/Makefile.modinst b/scripts/Makefile.modinst index 2f997b9b1..b9ab77d5d 100644 --- a/scripts/Makefile.modinst +++ b/scripts/Makefile.modinst @@ -9,7 +9,7 @@ include scripts/Makefile.lib # -__modules := $(sort $(shell head -q -n1 /dev/null $(wildcard $(MODVERDIR)/*.mod))) +__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) modules := $(patsubst %.o,%.ko,$(wildcard $(__modules:.ko=.o))) .PHONY: $(modules) diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 19f534527..b3d31b559 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -41,7 +41,7 @@ include scripts/Makefile.lib symverfile := $(objtree)/Module.symvers # Step 1), find all modules listed in $(MODVERDIR)/ -__modules := $(sort $(shell head -q -n1 /dev/null $(wildcard $(MODVERDIR)/*.mod))) +__modules := $(sort $(shell grep -h '\.ko' /dev/null $(wildcard $(MODVERDIR)/*.mod))) modules := $(patsubst %.o,%.ko, $(wildcard $(__modules:.ko=.o))) _modpost: $(modules) @@ -50,7 +50,8 @@ _modpost: $(modules) # Step 2), invoke modpost # Includes step 3,4 quiet_cmd_modpost = MODPOST - cmd_modpost = scripts/mod/modpost \ + cmd_modpost = scripts/mod/modpost \ + $(if $(CONFIG_MODVERSIONS),-m) \ $(if $(KBUILD_EXTMOD),-i,-o) $(symverfile) \ $(filter-out FORCE,$^) diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index 8bd644222..8c4c70395 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c @@ -93,6 +93,14 @@ * (Note: it'd be easy to port over the complete mkdep state machine, * but I don't think the added complexity is worth it) */ +/* + * Note 2: if somebody writes HELLO_CONFIG_BOOM in a file, it will depend onto + * CONFIG_BOOM. This could seem a bug (not too hard to fix), but please do not + * fix it! Some UserModeLinux files (look at arch/um/) call CONFIG_BOOM as + * UML_CONFIG_BOOM, to avoid conflicts with /usr/include/linux/autoconf.h, + * through arch/um/include/uml-config.h; this fixdep "bug" makes sure that + * those files will have correct dependencies. + */ #include #include @@ -104,7 +112,7 @@ #include #include #include -#include +#include #define INT_CONF ntohl(0x434f4e46) #define INT_ONFI ntohl(0x4f4e4649) @@ -310,6 +318,7 @@ void parse_dep_file(void *map, size_t len) } memcpy(s, m, p-m); s[p-m] = 0; if (strrcmp(s, "include/linux/autoconf.h") && + strrcmp(s, "arch/um/include/uml-config.h") && strrcmp(s, ".ver")) { printf(" %s \\\n", s); do_config_file(s); diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index bb913829a..619e78b90 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -73,7 +73,7 @@ help: libkconfig-objs := zconf.tab.o -host-progs := conf mconf qconf gconf +hostprogs-y := conf mconf qconf gconf conf-objs := conf.o mconf-objs := mconf.o libkconfig.so diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index 6f8bf9904..91789cc9d 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -18,6 +18,7 @@ #include #include #include +#include #define LKC_DIRECT_LINK #include "lkc.h" @@ -28,7 +29,7 @@ static const char menu_instructions[] = " selects submenus --->. " "Highlighted letters are hotkeys. " "Pressing includes, excludes, modularizes features. " - "Press to exit, for Help. " + "Press to exit, for Help, for Search. " "Legend: [*] built-in [ ] excluded module < > module capable", radiolist_instructions[] = "Use the arrow keys to navigate this window or " @@ -102,6 +103,10 @@ static void show_textbox(const char *title, const char *text, int r, int c); static void show_helptext(const char *title, const char *text); static void show_help(struct menu *menu); static void show_readme(void); +static void show_file(const char *filename, const char *title, int r, int c); +static void show_expr(struct menu *menu, FILE *fp); +static void search_conf(char *pattern); +static int regex_match(const char *string, regex_t *re); static void cprint_init(void); static int cprint1(const char *fmt, ...); @@ -274,6 +279,114 @@ static int exec_conf(void) return WEXITSTATUS(stat); } +static int regex_match(const char *string, regex_t *re) +{ + int rc; + + rc = regexec(re, string, (size_t) 0, NULL, 0); + if (rc) + return 0; + return 1; +} + +static void show_expr(struct menu *menu, FILE *fp) +{ + bool hit = false; + fprintf(fp, "Depends:\n "); + if (menu->prompt->visible.expr) { + if (!hit) + hit = true; + expr_fprint(menu->prompt->visible.expr, fp); + } + if (!hit) + fprintf(fp, "None"); + if (menu->sym) { + struct property *prop; + hit = false; + fprintf(fp, "\nSelects:\n "); + for_all_properties(menu->sym, prop, P_SELECT) { + if (!hit) + hit = true; + expr_fprint(prop->expr, fp); + } + if (!hit) + fprintf(fp, "None"); + hit = false; + fprintf(fp, "\nSelected by:\n "); + if (menu->sym->rev_dep.expr) { + hit = true; + expr_fprint(menu->sym->rev_dep.expr, fp); + } + if (!hit) + fprintf(fp, "None"); + } +} + +static void search_conf(char *pattern) +{ + struct symbol *sym = NULL; + struct menu *menu[32] = { 0 }; + struct property *prop = NULL; + FILE *fp = NULL; + bool hit = false; + int i, j, k, l; + regex_t re; + + if (regcomp(&re, pattern, REG_EXTENDED|REG_NOSUB)) + return; + + fp = fopen(".search.tmp", "w"); + if (fp == NULL) { + perror("fopen"); + return; + } + for_all_symbols(i, sym) { + if (!sym->name) + continue; + if (!regex_match(sym->name, &re)) + continue; + for_all_prompts(sym, prop) { + struct menu *submenu = prop->menu; + if (!submenu) + continue; + j = 0; + hit = false; + while (submenu) { + menu[j++] = submenu; + submenu = submenu->parent; + } + if (j > 0) { + if (!hit) + hit = true; + fprintf(fp, "%s (%s)\n", prop->text, sym->name); + fprintf(fp, "Location:\n"); + } + for (k = j-2, l=1; k > 0; k--, l++) { + const char *prompt = menu_get_prompt(menu[k]); + if (menu[k]->sym) + fprintf(fp, "%*c-> %s (%s)\n", + l, ' ', + prompt, + menu[k]->sym->name); + else + fprintf(fp, "%*c-> %s\n", + l, ' ', + prompt); + } + if (hit) { + show_expr(menu[0], fp); + fprintf(fp, "\n\n\n"); + } + } + } + if (!hit) + fprintf(fp, "No matches found."); + regfree(&re); + fclose(fp); + show_file(".search.tmp", "Search Results", rows, cols); + unlink(".search.tmp"); +} + static void build_conf(struct menu *menu) { struct symbol *sym; @@ -463,6 +576,23 @@ static void conf(struct menu *menu) cprint(" Save Configuration to an Alternate File"); } stat = exec_conf(); + if (stat == 26) { + char *pattern; + + if (!strlen(input_buf)) + continue; + pattern = malloc(sizeof(char)*sizeof(input_buf)); + if (pattern == NULL) { + perror("malloc"); + continue; + } + for (i = 0; input_buf[i]; i++) + pattern[i] = toupper(input_buf[i]); + pattern[i] = '\0'; + search_conf(pattern); + free(pattern); + continue; + } if (stat < 0) continue; @@ -550,17 +680,7 @@ static void show_textbox(const char *title, const char *text, int r, int c) fd = creat(".help.tmp", 0777); write(fd, text, strlen(text)); close(fd); - do { - cprint_init(); - if (title) { - cprint("--title"); - cprint("%s", title); - } - cprint("--textbox"); - cprint(".help.tmp"); - cprint("%d", r); - cprint("%d", c); - } while (exec_conf() < 0); + show_file(".help.tmp", title, r, c); unlink(".help.tmp"); } @@ -588,14 +708,23 @@ static void show_help(struct menu *menu) } static void show_readme(void) +{ + show_file("scripts/README.Menuconfig", NULL, rows, cols); +} + +static void show_file(const char *filename, const char *title, int r, int c) { do { cprint_init(); + if (title) { + cprint("--title"); + cprint("%s", title); + } cprint("--textbox"); - cprint("scripts/README.Menuconfig"); - cprint("%d", rows); - cprint("%d", cols); - } while (exec_conf() == -1); + cprint("%s", filename); + cprint("%d", r); + cprint("%d", c); + } while (exec_conf() < 0); } static void conf_choice(struct menu *menu) diff --git a/scripts/kernel-2.6-planetlab.spec b/scripts/kernel-2.6-planetlab.spec index 84f9f996d..4a3fdfce9 100644 --- a/scripts/kernel-2.6-planetlab.spec +++ b/scripts/kernel-2.6-planetlab.spec @@ -18,11 +18,11 @@ Summary: The Linux kernel (the core of the Linux operating system) # that the kernel isn't the stock distribution kernel, for example by # adding some text to the end of the version number. # -%define sublevel 8 +%define sublevel 9 %define kversion 2.6.%{sublevel} %define rpmversion 2.6.%{sublevel} %define rhbsys %([ -r /etc/beehive-root ] && echo || echo .`whoami`) -%define release 1.521.3.planetlab%{?date:.%{date}} +%define release 1.11_FC2.1.planetlab%{?date:.%{date}} %define signmodules 0 %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} @@ -517,6 +517,9 @@ fi # no files %changelog +* Tue Jan 18 2005 Marc E. Fiuczynski +- merge to Fedora Core 2 2.6.9-1.11_FC2 + * Thu Sep 16 2004 Mark Huang - merge to Fedora Core 2 2.6.8-1.521 diff --git a/security/commoncap.c b/security/commoncap.c index 5f629be72..01a64dc6e 100644 --- a/security/commoncap.c +++ b/security/commoncap.c @@ -127,7 +127,7 @@ void cap_bprm_apply_creds (struct linux_binprm *bprm, int unsafe) if (bprm->e_uid != current->uid || bprm->e_gid != current->gid || !cap_issubset (new_permitted, current->cap_permitted)) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; if (unsafe & ~LSM_UNSAFE_PTRACE_CAP) { if (!capable(CAP_SETUID)) { @@ -314,10 +314,10 @@ int cap_vm_enough_memory(long pages) /* * Sometimes we want to use more memory than we have */ - if (sysctl_overcommit_memory == 1) + if (sysctl_overcommit_memory == OVERCOMMIT_ALWAYS) return 0; - if (sysctl_overcommit_memory == 0) { + if (sysctl_overcommit_memory == OVERCOMMIT_GUESS) { unsigned long n; free = get_page_cache_size(); @@ -357,6 +357,11 @@ int cap_vm_enough_memory(long pages) allowed = (totalram_pages - hugetlb_total_pages()) * sysctl_overcommit_ratio / 100; + /* + * Leave the last 3% for root + */ + if (!capable(CAP_SYS_ADMIN)) + allowed -= allowed / 32; allowed += total_swap_pages; if (atomic_read(&vm_committed_space) < allowed) diff --git a/security/dummy.c b/security/dummy.c index 05d988588..25b70b097 100644 --- a/security/dummy.c +++ b/security/dummy.c @@ -121,10 +121,10 @@ static int dummy_vm_enough_memory(long pages) /* * Sometimes we want to use more memory than we have */ - if (sysctl_overcommit_memory == 1) + if (sysctl_overcommit_memory == OVERCOMMIT_ALWAYS) return 0; - if (sysctl_overcommit_memory == 0) { + if (sysctl_overcommit_memory == OVERCOMMIT_GUESS) { free = get_page_cache_size(); free += nr_free_pages(); free += nr_swap_pages; @@ -174,7 +174,7 @@ static void dummy_bprm_free_security (struct linux_binprm *bprm) static void dummy_bprm_apply_creds (struct linux_binprm *bprm, int unsafe) { if (bprm->e_uid != current->uid || bprm->e_gid != current->gid) { - current->mm->dumpable = 0; + current->mm->dumpable = suid_dumpable; if ((unsafe & ~LSM_UNSAFE_PTRACE_CAP) && !capable(CAP_SETUID)) { bprm->e_uid = current->uid; @@ -447,17 +447,17 @@ static int dummy_inode_removexattr (struct dentry *dentry, char *name) return 0; } -static int dummy_inode_getsecurity(struct dentry *dentry, const char *name, void *buffer, size_t size) +static int dummy_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size) { return -EOPNOTSUPP; } -static int dummy_inode_setsecurity(struct dentry *dentry, const char *name, const void *value, size_t size, int flags) +static int dummy_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags) { return -EOPNOTSUPP; } -static int dummy_inode_listsecurity(struct dentry *dentry, char *buffer) +static int dummy_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size) { return 0; } @@ -511,8 +511,7 @@ static int dummy_file_set_fowner (struct file *file) } static int dummy_file_send_sigiotask (struct task_struct *tsk, - struct fown_struct *fown, int fd, - int reason) + struct fown_struct *fown, int sig) { return 0; } diff --git a/security/selinux/Kconfig b/security/selinux/Kconfig index 8819822d8..5620fe924 100644 --- a/security/selinux/Kconfig +++ b/security/selinux/Kconfig @@ -24,6 +24,21 @@ config SECURITY_SELINUX_BOOTPARAM If you are unsure how to answer this question, answer N. +config SECURITY_SELINUX_BOOTPARAM_VALUE + int "NSA SELinux boot parameter default value" + depends on SECURITY_SELINUX_BOOTPARAM + range 0 1 + default 1 + help + This option sets the default value for the kernel parameter + 'selinux', which allows SELinux to be disabled at boot. If this + option is set to 0 (zero), the SELinux kernel parameter will + default to 0, disabling SELinux at bootup. If this option is + set to 1 (one), the SELinux kernel paramater will default to 1, + enabling SELinux at bootup. + + If you are unsure how to answer this question, answer 1. + config SECURITY_SELINUX_DISABLE bool "NSA SELinux runtime disable" depends on SECURITY_SELINUX @@ -52,6 +67,15 @@ config SECURITY_SELINUX_DEVELOP can interactively toggle the kernel between enforcing mode and permissive mode (if permitted by the policy) via /selinux/enforce. +config SECURITY_SELINUX_AVC_STATS + bool "NSA SELinux AVC Statistics" + depends on SECURITY_SELINUX + default y + help + This option collects access vector cache statistics to + /selinux/avc/cache_stats, which may be monitored via + tools such as avcstat. + config SECURITY_SELINUX_MLS bool "NSA SELinux MLS policy (EXPERIMENTAL)" depends on SECURITY_SELINUX && EXPERIMENTAL diff --git a/security/selinux/avc.c b/security/selinux/avc.c index 7afe09eed..c09e52932 100644 --- a/security/selinux/avc.c +++ b/security/selinux/avc.c @@ -4,6 +4,9 @@ * Authors: Stephen Smalley, * James Morris * + * Update: KaiGai, Kohei + * Replaced the avc_lock spinlock by RCU. + * * Copyright (C) 2003 Red Hat, Inc., James Morris * * This program is free software; you can redistribute it and/or modify @@ -18,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -35,27 +39,40 @@ #include "av_perm_to_string.h" #include "objsec.h" -#define AVC_CACHE_SLOTS 512 -#define AVC_CACHE_MAXNODES 410 +#define AVC_CACHE_SLOTS 512 +#define AVC_DEF_CACHE_THRESHOLD 512 +#define AVC_CACHE_RECLAIM 16 + +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS +#define avc_cache_stats_incr(field) \ +do { \ + per_cpu(avc_cache_stats, get_cpu()).field++; \ + put_cpu(); \ +} while (0) +#else +#define avc_cache_stats_incr(field) do {} while (0) +#endif struct avc_entry { u32 ssid; u32 tsid; u16 tclass; struct av_decision avd; - int used; /* used recently */ + atomic_t used; /* used recently */ }; struct avc_node { struct avc_entry ae; - struct avc_node *next; + struct list_head list; + struct rcu_head rhead; }; struct avc_cache { - struct avc_node *slots[AVC_CACHE_SLOTS]; - u32 lru_hint; /* LRU hint for reclaim scan */ - u32 active_nodes; - u32 latest_notif; /* latest revocation notification */ + struct list_head slots[AVC_CACHE_SLOTS]; + spinlock_t slots_lock[AVC_CACHE_SLOTS]; /* lock for writes */ + atomic_t lru_hint; /* LRU hint for reclaim scan */ + atomic_t active_nodes; + u32 latest_notif; /* latest revocation notification */ }; struct avc_callback_node { @@ -70,35 +87,22 @@ struct avc_callback_node { struct avc_callback_node *next; }; -static spinlock_t avc_lock = SPIN_LOCK_UNLOCKED; -static struct avc_node *avc_node_freelist; +/* Exported via selinufs */ +unsigned int avc_cache_threshold = AVC_DEF_CACHE_THRESHOLD; + +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS +DEFINE_PER_CPU(struct avc_cache_stats, avc_cache_stats) = { 0 }; +#endif + static struct avc_cache avc_cache; -static unsigned avc_cache_stats[AVC_NSTATS]; static struct avc_callback_node *avc_callbacks; +static kmem_cache_t *avc_node_cachep; static inline int avc_hash(u32 ssid, u32 tsid, u16 tclass) { return (ssid ^ (tsid<<2) ^ (tclass<<4)) & (AVC_CACHE_SLOTS - 1); } -#ifdef AVC_CACHE_STATS -static inline void avc_cache_stats_incr(int type) -{ - avc_cache_stats[type]++; -} - -static inline void avc_cache_stats_add(int type, unsigned val) -{ - avc_cache_stats[type] += val; -} -#else -static inline void avc_cache_stats_incr(int type) -{ } - -static inline void avc_cache_stats_add(int type, unsigned val) -{ } -#endif - /** * avc_dump_av - Display an access vector in human-readable form. * @tclass: target security class @@ -188,155 +192,161 @@ void avc_dump_query(struct audit_buffer *ab, u32 ssid, u32 tsid, u16 tclass) */ void __init avc_init(void) { - struct avc_node *new; int i; - for (i = 0; i < AVC_CACHE_MAXNODES; i++) { - new = kmalloc(sizeof(*new), GFP_ATOMIC); - if (!new) { - printk(KERN_WARNING "avc: only able to allocate " - "%d entries\n", i); - break; - } - memset(new, 0, sizeof(*new)); - new->next = avc_node_freelist; - avc_node_freelist = new; + for (i = 0; i < AVC_CACHE_SLOTS; i++) { + INIT_LIST_HEAD(&avc_cache.slots[i]); + avc_cache.slots_lock[i] = SPIN_LOCK_UNLOCKED; } + atomic_set(&avc_cache.active_nodes, 0); + atomic_set(&avc_cache.lru_hint, 0); + + avc_node_cachep = kmem_cache_create("avc_node", sizeof(struct avc_node), + 0, SLAB_PANIC, NULL, NULL); audit_log(current->audit_context, "AVC INITIALIZED\n"); } -#if 0 -static void avc_hash_eval(char *tag) +int avc_get_hash_stats(char *page) { int i, chain_len, max_chain_len, slots_used; struct avc_node *node; - unsigned long flags; - spin_lock_irqsave(&avc_lock,flags); + rcu_read_lock(); slots_used = 0; max_chain_len = 0; for (i = 0; i < AVC_CACHE_SLOTS; i++) { - node = avc_cache.slots[i]; - if (node) { + if (!list_empty(&avc_cache.slots[i])) { slots_used++; chain_len = 0; - while (node) { + list_for_each_entry_rcu(node, &avc_cache.slots[i], list) chain_len++; - node = node->next; - } if (chain_len > max_chain_len) max_chain_len = chain_len; } } - spin_unlock_irqrestore(&avc_lock,flags); + rcu_read_unlock(); - printk(KERN_INFO "\n"); - printk(KERN_INFO "%s avc: %d entries and %d/%d buckets used, longest " - "chain length %d\n", tag, avc_cache.active_nodes, slots_used, - AVC_CACHE_SLOTS, max_chain_len); + return scnprintf(page, PAGE_SIZE, "entries: %d\nbuckets used: %d/%d\n" + "longest chain: %d\n", + atomic_read(&avc_cache.active_nodes), + slots_used, AVC_CACHE_SLOTS, max_chain_len); } -#else -static inline void avc_hash_eval(char *tag) -{ } -#endif -static inline struct avc_node *avc_reclaim_node(void) +static void avc_node_free(struct rcu_head *rhead) { - struct avc_node *prev, *cur; - int hvalue, try; - - hvalue = avc_cache.lru_hint; - for (try = 0; try < 2; try++) { - do { - prev = NULL; - cur = avc_cache.slots[hvalue]; - while (cur) { - if (!cur->ae.used) - goto found; - - cur->ae.used = 0; - - prev = cur; - cur = cur->next; - } - hvalue = (hvalue + 1) & (AVC_CACHE_SLOTS - 1); - } while (hvalue != avc_cache.lru_hint); - } - - panic("avc_reclaim_node"); + struct avc_node *node = container_of(rhead, struct avc_node, rhead); + kmem_cache_free(avc_node_cachep, node); + avc_cache_stats_incr(frees); +} -found: - avc_cache.lru_hint = hvalue; +static void avc_node_delete(struct avc_node *node) +{ + list_del_rcu(&node->list); + call_rcu(&node->rhead, avc_node_free); + atomic_dec(&avc_cache.active_nodes); +} - if (prev == NULL) - avc_cache.slots[hvalue] = cur->next; - else - prev->next = cur->next; +static void avc_node_kill(struct avc_node *node) +{ + kmem_cache_free(avc_node_cachep, node); + avc_cache_stats_incr(frees); + atomic_dec(&avc_cache.active_nodes); +} - return cur; +static void avc_node_replace(struct avc_node *new, struct avc_node *old) +{ + list_replace_rcu(&old->list, &new->list); + call_rcu(&old->rhead, avc_node_free); + atomic_dec(&avc_cache.active_nodes); } -static inline struct avc_node *avc_claim_node(u32 ssid, - u32 tsid, u16 tclass) +static inline int avc_reclaim_node(void) { - struct avc_node *new; - int hvalue; + struct avc_node *node; + int hvalue, try, ecx; + unsigned long flags; - hvalue = avc_hash(ssid, tsid, tclass); - if (avc_node_freelist) { - new = avc_node_freelist; - avc_node_freelist = avc_node_freelist->next; - avc_cache.active_nodes++; - } else { - new = avc_reclaim_node(); - if (!new) - goto out; + for (try = 0, ecx = 0; try < AVC_CACHE_SLOTS; try++ ) { + hvalue = atomic_inc_return(&avc_cache.lru_hint) & (AVC_CACHE_SLOTS - 1); + + if (!spin_trylock_irqsave(&avc_cache.slots_lock[hvalue], flags)) + continue; + + list_for_each_entry(node, &avc_cache.slots[hvalue], list) { + if (atomic_dec_and_test(&node->ae.used)) { + /* Recently Unused */ + avc_node_delete(node); + avc_cache_stats_incr(reclaims); + ecx++; + if (ecx >= AVC_CACHE_RECLAIM) { + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flags); + goto out; + } + } + } + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flags); } +out: + return ecx; +} - new->ae.used = 1; - new->ae.ssid = ssid; - new->ae.tsid = tsid; - new->ae.tclass = tclass; - new->next = avc_cache.slots[hvalue]; - avc_cache.slots[hvalue] = new; +static struct avc_node *avc_alloc_node(void) +{ + struct avc_node *node; + + node = kmem_cache_alloc(avc_node_cachep, SLAB_ATOMIC); + if (!node) + goto out; + + memset(node, 0, sizeof(*node)); + INIT_RCU_HEAD(&node->rhead); + INIT_LIST_HEAD(&node->list); + atomic_set(&node->ae.used, 1); + avc_cache_stats_incr(allocations); + + if (atomic_inc_return(&avc_cache.active_nodes) > avc_cache_threshold) + avc_reclaim_node(); out: - return new; + return node; } -static inline struct avc_node *avc_search_node(u32 ssid, u32 tsid, - u16 tclass, int *probes) +static void avc_node_populate(struct avc_node *node, u32 ssid, u32 tsid, u16 tclass, struct avc_entry *ae) { - struct avc_node *cur; + node->ae.ssid = ssid; + node->ae.tsid = tsid; + node->ae.tclass = tclass; + memcpy(&node->ae.avd, &ae->avd, sizeof(node->ae.avd)); +} + +static inline struct avc_node *avc_search_node(u32 ssid, u32 tsid, u16 tclass) +{ + struct avc_node *node, *ret = NULL; int hvalue; - int tprobes = 1; hvalue = avc_hash(ssid, tsid, tclass); - cur = avc_cache.slots[hvalue]; - while (cur != NULL && - (ssid != cur->ae.ssid || - tclass != cur->ae.tclass || - tsid != cur->ae.tsid)) { - tprobes++; - cur = cur->next; + list_for_each_entry_rcu(node, &avc_cache.slots[hvalue], list) { + if (ssid == node->ae.ssid && + tclass == node->ae.tclass && + tsid == node->ae.tsid) { + ret = node; + break; + } } - if (cur == NULL) { + if (ret == NULL) { /* cache miss */ goto out; } /* cache hit */ - if (probes) - *probes = tprobes; - - cur->ae.used = 1; - + if (atomic_read(&ret->ae.used) != 1) + atomic_set(&ret->ae.used, 1); out: - return cur; + return ret; } /** @@ -345,36 +355,52 @@ out: * @tsid: target security identifier * @tclass: target security class * @requested: requested permissions, interpreted based on @tclass - * @aeref: AVC entry reference * * Look up an AVC entry that is valid for the * @requested permissions between the SID pair * (@ssid, @tsid), interpreting the permissions * based on @tclass. If a valid AVC entry exists, - * then this function updates @aeref to refer to the - * entry and returns %0. Otherwise, this function - * returns -%ENOENT. + * then this function return the avc_node. + * Otherwise, this function returns NULL. */ -int avc_lookup(u32 ssid, u32 tsid, u16 tclass, - u32 requested, struct avc_entry_ref *aeref) +static struct avc_node *avc_lookup(u32 ssid, u32 tsid, u16 tclass, u32 requested) { struct avc_node *node; - int probes, rc = 0; - avc_cache_stats_incr(AVC_CAV_LOOKUPS); - node = avc_search_node(ssid, tsid, tclass,&probes); + avc_cache_stats_incr(lookups); + node = avc_search_node(ssid, tsid, tclass); if (node && ((node->ae.avd.decided & requested) == requested)) { - avc_cache_stats_incr(AVC_CAV_HITS); - avc_cache_stats_add(AVC_CAV_PROBES,probes); - aeref->ae = &node->ae; + avc_cache_stats_incr(hits); goto out; } - avc_cache_stats_incr(AVC_CAV_MISSES); - rc = -ENOENT; + node = NULL; + avc_cache_stats_incr(misses); out: - return rc; + return node; +} + +static int avc_latest_notif_update(int seqno, int is_insert) +{ + int ret = 0; + static spinlock_t notif_lock = SPIN_LOCK_UNLOCKED; + unsigned long flag; + + spin_lock_irqsave(¬if_lock, flag); + if (is_insert) { + if (seqno < avc_cache.latest_notif) { + printk(KERN_WARNING "avc: seqno %d < latest_notif %d\n", + seqno, avc_cache.latest_notif); + ret = -EAGAIN; + } + } else { + if (seqno > avc_cache.latest_notif) + avc_cache.latest_notif = seqno; + } + spin_unlock_irqrestore(¬if_lock, flag); + + return ret; } /** @@ -383,7 +409,6 @@ out: * @tsid: target security identifier * @tclass: target security class * @ae: AVC entry - * @aeref: AVC entry reference * * Insert an AVC entry for the SID pair * (@ssid, @tsid) and class @tclass. @@ -392,37 +417,38 @@ out: * response to a security_compute_av() call. If the * sequence number @ae->avd.seqno is not less than the latest * revocation notification, then the function copies - * the access vectors into a cache entry, updates - * @aeref to refer to the entry, and returns %0. - * Otherwise, this function returns -%EAGAIN. + * the access vectors into a cache entry, returns + * avc_node inserted. Otherwise, this function returns NULL. */ -int avc_insert(u32 ssid, u32 tsid, u16 tclass, - struct avc_entry *ae, struct avc_entry_ref *aeref) +static struct avc_node *avc_insert(u32 ssid, u32 tsid, u16 tclass, struct avc_entry *ae) { - struct avc_node *node; - int rc = 0; + struct avc_node *pos, *node = NULL; + int hvalue; + unsigned long flag; - if (ae->avd.seqno < avc_cache.latest_notif) { - printk(KERN_WARNING "avc: seqno %d < latest_notif %d\n", - ae->avd.seqno, avc_cache.latest_notif); - rc = -EAGAIN; + if (avc_latest_notif_update(ae->avd.seqno, 1)) goto out; - } - node = avc_claim_node(ssid, tsid, tclass); - if (!node) { - rc = -ENOMEM; - goto out; + node = avc_alloc_node(); + if (node) { + hvalue = avc_hash(ssid, tsid, tclass); + avc_node_populate(node, ssid, tsid, tclass, ae); + + spin_lock_irqsave(&avc_cache.slots_lock[hvalue], flag); + list_for_each_entry(pos, &avc_cache.slots[hvalue], list) { + if (pos->ae.ssid == ssid && + pos->ae.tsid == tsid && + pos->ae.tclass == tclass) { + avc_node_replace(node, pos); + goto found; + } + } + list_add_rcu(&node->list, &avc_cache.slots[hvalue]); +found: + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flag); } - - node->ae.avd.allowed = ae->avd.allowed; - node->ae.avd.decided = ae->avd.decided; - node->ae.avd.auditallow = ae->avd.auditallow; - node->ae.avd.auditdeny = ae->avd.auditdeny; - node->ae.avd.seqno = ae->avd.seqno; - aeref->ae = &node->ae; out: - return rc; + return node; } static inline void avc_print_ipv6_addr(struct audit_buffer *ab, @@ -686,8 +712,54 @@ static inline int avc_sidcmp(u32 x, u32 y) return (x == y || x == SECSID_WILD || y == SECSID_WILD); } -static inline void avc_update_node(u32 event, struct avc_node *node, u32 perms) +/** + * avc_update_node Update an AVC entry + * @event : Updating event + * @perms : Permission mask bits + * @ssid,@tsid,@tclass : identifier of an AVC entry + * + * if a valid AVC entry doesn't exist,this function returns -ENOENT. + * if kmalloc() called internal returns NULL, this function returns -ENOMEM. + * otherwise, this function update the AVC entry. The original AVC-entry object + * will release later by RCU. + */ +static int avc_update_node(u32 event, u32 perms, u32 ssid, u32 tsid, u16 tclass) { + int hvalue, rc = 0; + unsigned long flag; + struct avc_node *pos, *node, *orig = NULL; + + node = avc_alloc_node(); + if (!node) { + rc = -ENOMEM; + goto out; + } + + /* Lock the target slot */ + hvalue = avc_hash(ssid, tsid, tclass); + spin_lock_irqsave(&avc_cache.slots_lock[hvalue], flag); + + list_for_each_entry(pos, &avc_cache.slots[hvalue], list){ + if ( ssid==pos->ae.ssid && + tsid==pos->ae.tsid && + tclass==pos->ae.tclass ){ + orig = pos; + break; + } + } + + if (!orig) { + rc = -ENOENT; + avc_node_kill(node); + goto out_unlock; + } + + /* + * Copy and replace original node. + */ + + avc_node_populate(node, ssid, tsid, tclass, &orig->ae); + switch (event) { case AVC_CALLBACK_GRANT: node->ae.avd.allowed |= perms; @@ -709,6 +781,11 @@ static inline void avc_update_node(u32 event, struct avc_node *node, u32 perms) node->ae.avd.auditdeny &= ~perms; break; } + avc_node_replace(node, orig); +out_unlock: + spin_unlock_irqrestore(&avc_cache.slots_lock[hvalue], flag); +out: + return rc; } static int avc_update_cache(u32 event, u32 ssid, u32 tsid, @@ -716,31 +793,27 @@ static int avc_update_cache(u32 event, u32 ssid, u32 tsid, { struct avc_node *node; int i; - unsigned long flags; - spin_lock_irqsave(&avc_lock,flags); + rcu_read_lock(); if (ssid == SECSID_WILD || tsid == SECSID_WILD) { /* apply to all matching nodes */ for (i = 0; i < AVC_CACHE_SLOTS; i++) { - for (node = avc_cache.slots[i]; node; - node = node->next) { + list_for_each_entry_rcu(node, &avc_cache.slots[i], list) { if (avc_sidcmp(ssid, node->ae.ssid) && avc_sidcmp(tsid, node->ae.tsid) && - tclass == node->ae.tclass) { - avc_update_node(event,node,perms); + tclass == node->ae.tclass ) { + avc_update_node(event, perms, node->ae.ssid, + node->ae.tsid, node->ae.tclass); } } } } else { /* apply to one node */ - node = avc_search_node(ssid, tsid, tclass, NULL); - if (node) { - avc_update_node(event,node,perms); - } + avc_update_node(event, perms, ssid, tsid, tclass); } - spin_unlock_irqrestore(&avc_lock,flags); + rcu_read_unlock(); return 0; } @@ -752,7 +825,6 @@ static int avc_control(u32 event, u32 ssid, u32 tsid, struct avc_callback_node *c; u32 tretained = 0, cretained = 0; int rc = 0; - unsigned long flags; /* * try_revoke only removes permissions from the cache @@ -787,10 +859,7 @@ static int avc_control(u32 event, u32 ssid, u32 tsid, *out_retained = tretained; } - spin_lock_irqsave(&avc_lock,flags); - if (seqno > avc_cache.latest_notif) - avc_cache.latest_notif = seqno; - spin_unlock_irqrestore(&avc_lock,flags); + avc_latest_notif_update(seqno, 0); out: return rc; @@ -857,35 +926,15 @@ int avc_ss_reset(u32 seqno) { struct avc_callback_node *c; int i, rc = 0; - struct avc_node *node, *tmp; - unsigned long flags; - - avc_hash_eval("reset"); - - spin_lock_irqsave(&avc_lock,flags); + unsigned long flag; + struct avc_node *node; for (i = 0; i < AVC_CACHE_SLOTS; i++) { - node = avc_cache.slots[i]; - while (node) { - tmp = node; - node = node->next; - tmp->ae.ssid = tmp->ae.tsid = SECSID_NULL; - tmp->ae.tclass = SECCLASS_NULL; - tmp->ae.avd.allowed = tmp->ae.avd.decided = 0; - tmp->ae.avd.auditallow = tmp->ae.avd.auditdeny = 0; - tmp->ae.used = 0; - tmp->next = avc_node_freelist; - avc_node_freelist = tmp; - avc_cache.active_nodes--; - } - avc_cache.slots[i] = NULL; + spin_lock_irqsave(&avc_cache.slots_lock[i], flag); + list_for_each_entry(node, &avc_cache.slots[i], list) + avc_node_delete(node); + spin_unlock_irqrestore(&avc_cache.slots_lock[i], flag); } - avc_cache.lru_hint = 0; - - spin_unlock_irqrestore(&avc_lock,flags); - - for (i = 0; i < AVC_NSTATS; i++) - avc_cache_stats[i] = 0; for (c = avc_callbacks; c; c = c->next) { if (c->events & AVC_CALLBACK_RESET) { @@ -896,10 +945,7 @@ int avc_ss_reset(u32 seqno) } } - spin_lock_irqsave(&avc_lock,flags); - if (seqno > avc_cache.latest_notif) - avc_cache.latest_notif = seqno; - spin_unlock_irqrestore(&avc_lock,flags); + avc_latest_notif_update(seqno, 0); out: return rc; } @@ -950,14 +996,12 @@ int avc_ss_set_auditdeny(u32 ssid, u32 tsid, u16 tclass, * @tsid: target security identifier * @tclass: target security class * @requested: requested permissions, interpreted based on @tclass - * @aeref: AVC entry reference * @avd: access vector decisions * * Check the AVC to determine whether the @requested permissions are granted * for the SID pair (@ssid, @tsid), interpreting the permissions * based on @tclass, and call the security server on a cache miss to obtain - * a new decision and add it to the cache. Update @aeref to refer to an AVC - * entry with the resulting decisions, and return a copy of the decisions + * a new decision and add it to the cache. Return a copy of the decisions * in @avd. Return %0 if all @requested permissions are granted, * -%EACCES if any permissions are denied, or another -errno upon * other errors. This function is typically called by avc_has_perm(), @@ -967,72 +1011,42 @@ int avc_ss_set_auditdeny(u32 ssid, u32 tsid, u16 tclass, */ int avc_has_perm_noaudit(u32 ssid, u32 tsid, u16 tclass, u32 requested, - struct avc_entry_ref *aeref, struct av_decision *avd) + struct av_decision *avd) { - struct avc_entry *ae; + struct avc_node *node; + struct avc_entry entry, *p_ae; int rc = 0; - unsigned long flags; - struct avc_entry entry; u32 denied; - struct avc_entry_ref ref; - if (!aeref) { - avc_entry_ref_init(&ref); - aeref = &ref; - } + rcu_read_lock(); - spin_lock_irqsave(&avc_lock, flags); - avc_cache_stats_incr(AVC_ENTRY_LOOKUPS); - ae = aeref->ae; - if (ae) { - if (ae->ssid == ssid && - ae->tsid == tsid && - ae->tclass == tclass && - ((ae->avd.decided & requested) == requested)) { - avc_cache_stats_incr(AVC_ENTRY_HITS); - ae->used = 1; - } else { - avc_cache_stats_incr(AVC_ENTRY_DISCARDS); - ae = NULL; - } + node = avc_lookup(ssid, tsid, tclass, requested); + if (!node) { + rcu_read_unlock(); + rc = security_compute_av(ssid,tsid,tclass,requested,&entry.avd); + if (rc) + goto out; + rcu_read_lock(); + node = avc_insert(ssid,tsid,tclass,&entry); } - if (!ae) { - avc_cache_stats_incr(AVC_ENTRY_MISSES); - rc = avc_lookup(ssid, tsid, tclass, requested, aeref); - if (rc) { - spin_unlock_irqrestore(&avc_lock,flags); - rc = security_compute_av(ssid,tsid,tclass,requested,&entry.avd); - if (rc) - goto out; - spin_lock_irqsave(&avc_lock, flags); - rc = avc_insert(ssid,tsid,tclass,&entry,aeref); - if (rc) { - spin_unlock_irqrestore(&avc_lock,flags); - goto out; - } - } - ae = aeref->ae; - } + p_ae = node ? &node->ae : &entry; if (avd) - memcpy(avd, &ae->avd, sizeof(*avd)); + memcpy(avd, &p_ae->avd, sizeof(*avd)); - denied = requested & ~(ae->avd.allowed); + denied = requested & ~(p_ae->avd.allowed); if (!requested || denied) { - if (selinux_enforcing) { - spin_unlock_irqrestore(&avc_lock,flags); + if (selinux_enforcing) rc = -EACCES; - goto out; - } else { - ae->avd.allowed |= requested; - spin_unlock_irqrestore(&avc_lock,flags); - goto out; - } + else + if (node) + avc_update_node(AVC_CALLBACK_GRANT,requested, + ssid,tsid,tclass); } - - spin_unlock_irqrestore(&avc_lock,flags); + + rcu_read_unlock(); out: return rc; } @@ -1043,26 +1057,23 @@ out: * @tsid: target security identifier * @tclass: target security class * @requested: requested permissions, interpreted based on @tclass - * @aeref: AVC entry reference * @auditdata: auxiliary audit data * * Check the AVC to determine whether the @requested permissions are granted * for the SID pair (@ssid, @tsid), interpreting the permissions * based on @tclass, and call the security server on a cache miss to obtain - * a new decision and add it to the cache. Update @aeref to refer to an AVC - * entry with the resulting decisions. Audit the granting or denial of + * a new decision and add it to the cache. Audit the granting or denial of * permissions in accordance with the policy. Return %0 if all @requested * permissions are granted, -%EACCES if any permissions are denied, or * another -errno upon other errors. */ int avc_has_perm(u32 ssid, u32 tsid, u16 tclass, - u32 requested, struct avc_entry_ref *aeref, - struct avc_audit_data *auditdata) + u32 requested, struct avc_audit_data *auditdata) { struct av_decision avd; int rc; - rc = avc_has_perm_noaudit(ssid, tsid, tclass, requested, aeref, &avd); + rc = avc_has_perm_noaudit(ssid, tsid, tclass, requested, &avd); avc_audit(ssid, tsid, tclass, requested, &avd, rc, auditdata); return rc; } diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 52fa3cfdf..b92145de4 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c @@ -43,6 +43,7 @@ #include #include #include +#include #include #include /* for sysctl_local_port_range[] */ #include /* struct or_callable used in sock_rcv_skb */ @@ -62,7 +63,6 @@ #include #include #include -#include #include #include "avc.h" @@ -87,7 +87,7 @@ __setup("enforcing=", enforcing_setup); #endif #ifdef CONFIG_SECURITY_SELINUX_BOOTPARAM -int selinux_enabled = 1; +int selinux_enabled = CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE; static int __init selinux_enabled_setup(char *str) { @@ -386,13 +386,6 @@ static int try_context_mount(struct super_block *sb, void *data) break; case Opt_fscontext: - if (sbsec->behavior != SECURITY_FS_USE_XATTR) { - rc = -EINVAL; - printk(KERN_WARNING "SELinux: " - "fscontext option is invalid for" - " this filesystem type\n"); - goto out_free; - } if (seen & (Opt_context|Opt_fscontext)) { rc = -EINVAL; printk(KERN_WARNING SEL_MOUNT_FAIL_MSG); @@ -454,12 +447,12 @@ static int try_context_mount(struct super_block *sb, void *data) } rc = avc_has_perm(tsec->sid, sbsec->sid, SECCLASS_FILESYSTEM, - FILESYSTEM__RELABELFROM, NULL, NULL); + FILESYSTEM__RELABELFROM, NULL); if (rc) goto out_free; rc = avc_has_perm(tsec->sid, sid, SECCLASS_FILESYSTEM, - FILESYSTEM__RELABELTO, NULL, NULL); + FILESYSTEM__RELABELTO, NULL); if (rc) goto out_free; @@ -482,12 +475,12 @@ static int try_context_mount(struct super_block *sb, void *data) goto out_free; rc = avc_has_perm(tsec->sid, sbsec->sid, SECCLASS_FILESYSTEM, - FILESYSTEM__RELABELFROM, NULL, NULL); + FILESYSTEM__RELABELFROM, NULL); if (rc) goto out_free; rc = avc_has_perm(sid, sbsec->sid, SECCLASS_FILESYSTEM, - FILESYSTEM__ASSOCIATE, NULL, NULL); + FILESYSTEM__ASSOCIATE, NULL); if (rc) goto out_free; @@ -637,10 +630,12 @@ static inline u16 socket_type_to_security_class(int family, int type, int protoc case PF_UNIX: switch (type) { case SOCK_STREAM: + case SOCK_SEQPACKET: return SECCLASS_UNIX_STREAM_SOCKET; case SOCK_DGRAM: return SECCLASS_UNIX_DGRAM_SOCKET; } + break; case PF_INET: case PF_INET6: switch (type) { @@ -651,6 +646,7 @@ static inline u16 socket_type_to_security_class(int family, int type, int protoc case SOCK_RAW: return SECCLASS_RAWIP_SOCKET; } + break; case PF_NETLINK: switch (protocol) { case NETLINK_ROUTE: @@ -930,7 +926,7 @@ int task_has_perm(struct task_struct *tsk1, tsec1 = tsk1->security; tsec2 = tsk2->security; return avc_has_perm(tsec1->sid, tsec2->sid, - SECCLASS_PROCESS, perms, &tsec2->avcr, NULL); + SECCLASS_PROCESS, perms, NULL); } /* Check whether a task is allowed to use a capability. */ @@ -947,7 +943,7 @@ int task_has_capability(struct task_struct *tsk, ad.u.cap = cap; return avc_has_perm(tsec->sid, tsec->sid, - SECCLASS_CAPABILITY, CAP_TO_MASK(cap), NULL, &ad); + SECCLASS_CAPABILITY, CAP_TO_MASK(cap), &ad); } /* Check whether a task is allowed to use a system operation. */ @@ -959,18 +955,15 @@ int task_has_system(struct task_struct *tsk, tsec = tsk->security; return avc_has_perm(tsec->sid, SECINITSID_KERNEL, - SECCLASS_SYSTEM, perms, NULL, NULL); + SECCLASS_SYSTEM, perms, NULL); } /* Check whether a task has a particular permission to an inode. - The 'aeref' parameter is optional and allows other AVC - entry references to be passed (e.g. the one in the struct file). The 'adp' parameter is optional and allows other audit data to be passed (e.g. the dentry). */ int inode_has_perm(struct task_struct *tsk, struct inode *inode, u32 perms, - struct avc_entry_ref *aeref, struct avc_audit_data *adp) { struct task_security_struct *tsec; @@ -986,8 +979,7 @@ int inode_has_perm(struct task_struct *tsk, ad.u.fs.inode = inode; } - return avc_has_perm(tsec->sid, isec->sid, isec->sclass, - perms, aeref ? aeref : &isec->avcr, adp); + return avc_has_perm(tsec->sid, isec->sid, isec->sclass, perms, adp); } /* Same as inode_has_perm, but pass explicit audit data containing @@ -1003,7 +995,7 @@ static inline int dentry_has_perm(struct task_struct *tsk, AVC_AUDIT_DATA_INIT(&ad,FS); ad.u.fs.mnt = mnt; ad.u.fs.dentry = dentry; - return inode_has_perm(tsk, inode, av, NULL, &ad); + return inode_has_perm(tsk, inode, av, &ad); } /* Check whether a task can use an open file descriptor to @@ -1034,14 +1026,14 @@ static inline int file_has_perm(struct task_struct *tsk, rc = avc_has_perm(tsec->sid, fsec->sid, SECCLASS_FD, FD__USE, - &fsec->avcr, &ad); + &ad); if (rc) return rc; } /* av is zero if only checking access to the descriptor. */ if (av) - return inode_has_perm(tsk, inode, av, &fsec->inode_avcr, &ad); + return inode_has_perm(tsk, inode, av, &ad); return 0; } @@ -1067,7 +1059,7 @@ static int may_create(struct inode *dir, rc = avc_has_perm(tsec->sid, dsec->sid, SECCLASS_DIR, DIR__ADD_NAME | DIR__SEARCH, - &dsec->avcr, &ad); + &ad); if (rc) return rc; @@ -1080,13 +1072,13 @@ static int may_create(struct inode *dir, return rc; } - rc = avc_has_perm(tsec->sid, newsid, tclass, FILE__CREATE, NULL, &ad); + rc = avc_has_perm(tsec->sid, newsid, tclass, FILE__CREATE, &ad); if (rc) return rc; return avc_has_perm(newsid, sbsec->sid, SECCLASS_FILESYSTEM, - FILESYSTEM__ASSOCIATE, NULL, &ad); + FILESYSTEM__ASSOCIATE, &ad); } #define MAY_LINK 0 @@ -1114,8 +1106,7 @@ static int may_link(struct inode *dir, av = DIR__SEARCH; av |= (kind ? DIR__REMOVE_NAME : DIR__ADD_NAME); - rc = avc_has_perm(tsec->sid, dsec->sid, SECCLASS_DIR, - av, &dsec->avcr, &ad); + rc = avc_has_perm(tsec->sid, dsec->sid, SECCLASS_DIR, av, &ad); if (rc) return rc; @@ -1134,8 +1125,7 @@ static int may_link(struct inode *dir, return 0; } - rc = avc_has_perm(tsec->sid, isec->sid, isec->sclass, - av, &isec->avcr, &ad); + rc = avc_has_perm(tsec->sid, isec->sid, isec->sclass, av, &ad); return rc; } @@ -1161,21 +1151,16 @@ static inline int may_rename(struct inode *old_dir, ad.u.fs.dentry = old_dentry; rc = avc_has_perm(tsec->sid, old_dsec->sid, SECCLASS_DIR, - DIR__REMOVE_NAME | DIR__SEARCH, - &old_dsec->avcr, &ad); + DIR__REMOVE_NAME | DIR__SEARCH, &ad); if (rc) return rc; rc = avc_has_perm(tsec->sid, old_isec->sid, - old_isec->sclass, - FILE__RENAME, - &old_isec->avcr, &ad); + old_isec->sclass, FILE__RENAME, &ad); if (rc) return rc; if (old_is_dir && new_dir != old_dir) { rc = avc_has_perm(tsec->sid, old_isec->sid, - old_isec->sclass, - DIR__REPARENT, - &old_isec->avcr, &ad); + old_isec->sclass, DIR__REPARENT, &ad); if (rc) return rc; } @@ -1184,8 +1169,7 @@ static inline int may_rename(struct inode *old_dir, av = DIR__ADD_NAME | DIR__SEARCH; if (new_dentry->d_inode) av |= DIR__REMOVE_NAME; - rc = avc_has_perm(tsec->sid, new_dsec->sid, SECCLASS_DIR, - av,&new_dsec->avcr, &ad); + rc = avc_has_perm(tsec->sid, new_dsec->sid, SECCLASS_DIR, av, &ad); if (rc) return rc; if (new_dentry->d_inode) { @@ -1193,8 +1177,7 @@ static inline int may_rename(struct inode *old_dir, new_is_dir = S_ISDIR(new_dentry->d_inode->i_mode); rc = avc_has_perm(tsec->sid, new_isec->sid, new_isec->sclass, - (new_is_dir ? DIR__RMDIR : FILE__UNLINK), - &new_isec->avcr, &ad); + (new_is_dir ? DIR__RMDIR : FILE__UNLINK), &ad); if (rc) return rc; } @@ -1214,7 +1197,7 @@ int superblock_has_perm(struct task_struct *tsk, tsec = tsk->security; sbsec = sb->s_security; return avc_has_perm(tsec->sid, sbsec->sid, SECCLASS_FILESYSTEM, - perms, NULL, ad); + perms, ad); } /* Convert a Linux mode and permission mask to an access vector. */ @@ -1266,6 +1249,12 @@ static inline u32 file_to_av(struct file *file) int inode_security_set_sid(struct inode *inode, u32 sid) { struct inode_security_struct *isec = inode->i_security; + struct superblock_security_struct *sbsec = inode->i_sb->s_security; + + if (!sbsec->initialized) { + /* Defer initialization to selinux_complete_init. */ + return 0; + } down(&isec->sem); isec->sclass = inode_mode_to_security_class(inode->i_mode); @@ -1445,7 +1434,7 @@ static int selinux_sysctl(ctl_table *table, int op) * a bad coupling between this module and sysctl.c */ if(op == 001) { error = avc_has_perm(tsec->sid, tsid, - SECCLASS_DIR, DIR__SEARCH, NULL, NULL); + SECCLASS_DIR, DIR__SEARCH, NULL); } else { av = 0; if (op & 004) @@ -1454,7 +1443,7 @@ static int selinux_sysctl(ctl_table *table, int op) av |= FILE__WRITE; if (av) error = avc_has_perm(tsec->sid, tsid, - SECCLASS_FILE, av, NULL, NULL); + SECCLASS_FILE, av, NULL); } return error; @@ -1548,10 +1537,10 @@ static int selinux_vm_enough_memory(long pages) /* * Sometimes we want to use more memory than we have */ - if (sysctl_overcommit_memory == 1) + if (sysctl_overcommit_memory == OVERCOMMIT_ALWAYS) return 0; - if (sysctl_overcommit_memory == 0) { + if (sysctl_overcommit_memory == OVERCOMMIT_GUESS) { free = get_page_cache_size(); free += nr_free_pages(); free += nr_swap_pages; @@ -1573,8 +1562,7 @@ static int selinux_vm_enough_memory(long pages) if (!rc) { rc = avc_has_perm_noaudit(tsec->sid, tsec->sid, SECCLASS_CAPABILITY, - CAP_TO_MASK(CAP_SYS_ADMIN), - NULL, NULL); + CAP_TO_MASK(CAP_SYS_ADMIN), NULL); } if (rc) free -= free / 32; @@ -1666,22 +1654,18 @@ static int selinux_bprm_set_security(struct linux_binprm *bprm) if (tsec->sid == newsid) { rc = avc_has_perm(tsec->sid, isec->sid, - SECCLASS_FILE, FILE__EXECUTE_NO_TRANS, - &isec->avcr, &ad); + SECCLASS_FILE, FILE__EXECUTE_NO_TRANS, &ad); if (rc) return rc; } else { /* Check permissions for the transition. */ rc = avc_has_perm(tsec->sid, newsid, - SECCLASS_PROCESS, PROCESS__TRANSITION, - NULL, - &ad); + SECCLASS_PROCESS, PROCESS__TRANSITION, &ad); if (rc) return rc; rc = avc_has_perm(newsid, isec->sid, - SECCLASS_FILE, FILE__ENTRYPOINT, - &isec->avcr, &ad); + SECCLASS_FILE, FILE__ENTRYPOINT, &ad); if (rc) return rc; @@ -1713,7 +1697,7 @@ static int selinux_bprm_secureexec (struct linux_binprm *bprm) the two SIDs, i.e. ahp returns 0. */ atsecure = avc_has_perm(tsec->osid, tsec->sid, SECCLASS_PROCESS, - PROCESS__NOATSECURE, NULL, NULL); + PROCESS__NOATSECURE, NULL); } return (atsecure || secondary_ops->bprm_secureexec(bprm)); @@ -1726,72 +1710,39 @@ static void selinux_bprm_free_security(struct linux_binprm *bprm) kfree(bsec); } -/* Create an open file that refers to the null device. - Derived from the OpenWall LSM. */ -struct file *open_devnull(void) -{ - struct inode *inode; - struct dentry *dentry; - struct file *file = NULL; - struct inode_security_struct *isec; - dev_t dev; - - inode = new_inode(current->fs->rootmnt->mnt_sb); - if (!inode) - goto out; - - dentry = dget(d_alloc_root(inode)); - if (!dentry) - goto out_iput; - - file = get_empty_filp(); - if (!file) - goto out_dput; - - dev = MKDEV(MEM_MAJOR, 3); /* null device */ - - inode->i_uid = current->fsuid; - inode->i_gid = current->fsgid; - inode->i_blksize = PAGE_SIZE; - inode->i_blocks = 0; - inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; - inode->i_state = I_DIRTY; /* so that mark_inode_dirty won't touch us */ - - isec = inode->i_security; - isec->sid = SECINITSID_DEVNULL; - isec->sclass = SECCLASS_CHR_FILE; - isec->initialized = 1; - - file->f_flags = O_RDWR; - file->f_mode = FMODE_READ | FMODE_WRITE; - file->f_dentry = dentry; - file->f_vfsmnt = mntget(current->fs->rootmnt); - file->f_pos = 0; - - init_special_inode(inode, S_IFCHR | S_IRUGO | S_IWUGO, dev); - if (inode->i_fop->open(inode, file)) - goto out_fput; - -out: - return file; -out_fput: - mntput(file->f_vfsmnt); - put_filp(file); -out_dput: - dput(dentry); -out_iput: - iput(inode); - file = NULL; - goto out; -} +extern struct vfsmount *selinuxfs_mount; +extern struct dentry *selinux_null; /* Derived from fs/exec.c:flush_old_files. */ static inline void flush_unauthorized_files(struct files_struct * files) { struct avc_audit_data ad; struct file *file, *devnull = NULL; + struct tty_struct *tty = current->signal->tty; long j = -1; + if (tty) { + file_list_lock(); + file = list_entry(tty->tty_files.next, typeof(*file), f_list); + if (file) { + /* Revalidate access to controlling tty. + Use inode_has_perm on the tty inode directly rather + than using file_has_perm, as this particular open + file may belong to another process and we are only + interested in the inode-based check here. */ + struct inode *inode = file->f_dentry->d_inode; + if (inode_has_perm(current, inode, + FILE__READ | FILE__WRITE, NULL)) { + /* Reset controlling tty. */ + current->signal->tty = NULL; + current->signal->tty_old_pgrp = 0; + } + } + file_list_unlock(); + } + + /* Revalidate access to inherited open files. */ + AVC_AUDIT_DATA_INIT(&ad,FS); spin_lock(&files->file_lock); @@ -1826,7 +1777,7 @@ static inline void flush_unauthorized_files(struct files_struct * files) if (devnull) { atomic_inc(&devnull->f_count); } else { - devnull = open_devnull(); + devnull = dentry_open(dget(selinux_null), mntget(selinuxfs_mount), O_RDWR); if (!devnull) { put_unused_fd(fd); fput(file); @@ -1867,8 +1818,7 @@ static void selinux_bprm_apply_creds(struct linux_binprm *bprm, int unsafe) unchanged and kill. */ if (unsafe & LSM_UNSAFE_SHARE) { rc = avc_has_perm_noaudit(tsec->sid, sid, - SECCLASS_PROCESS, PROCESS__SHARE, - NULL, &avd); + SECCLASS_PROCESS, PROCESS__SHARE, &avd); if (rc) { task_unlock(current); avc_audit(tsec->sid, sid, SECCLASS_PROCESS, @@ -1882,8 +1832,7 @@ static void selinux_bprm_apply_creds(struct linux_binprm *bprm, int unsafe) Otherwise, leave SID unchanged and kill. */ if (unsafe & (LSM_UNSAFE_PTRACE | LSM_UNSAFE_PTRACE_CAP)) { rc = avc_has_perm_noaudit(tsec->ptrace_sid, sid, - SECCLASS_PROCESS, PROCESS__PTRACE, - NULL, &avd); + SECCLASS_PROCESS, PROCESS__PTRACE, &avd); if (!rc) tsec->sid = sid; task_unlock(current); @@ -1908,7 +1857,7 @@ static void selinux_bprm_apply_creds(struct linux_binprm *bprm, int unsafe) been updated so that any kill done after the flush will be checked against the new SID. */ rc = avc_has_perm(tsec->osid, tsec->sid, SECCLASS_PROCESS, - PROCESS__SIGINH, NULL, NULL); + PROCESS__SIGINH, NULL); if (rc) { memset(&itimer, 0, sizeof itimer); for (i = 0; i < 3; i++) @@ -1932,7 +1881,7 @@ static void selinux_bprm_apply_creds(struct linux_binprm *bprm, int unsafe) is lower than the hard limit, e.g. RLIMIT_CORE or RLIMIT_STACK.*/ rc = avc_has_perm(tsec->osid, tsec->sid, SECCLASS_PROCESS, - PROCESS__RLIMITINH, NULL, NULL); + PROCESS__RLIMITINH, NULL); if (rc) { for (i = 0; i < RLIM_NLIMITS; i++) { rlim = current->rlim + i; @@ -2218,7 +2167,7 @@ static int selinux_inode_permission(struct inode *inode, int mask, } return inode_has_perm(current, inode, - file_mask_to_av(inode->i_mode, mask), NULL, NULL); + file_mask_to_av(inode->i_mode, mask), NULL); } static int selinux_inode_setattr(struct dentry *dentry, struct iattr *iattr) @@ -2269,12 +2218,14 @@ static int selinux_inode_setxattr(struct dentry *dentry, char *name, void *value if (sbsec->behavior == SECURITY_FS_USE_MNTPOINT) return -EOPNOTSUPP; + if ((current->fsuid != inode->i_uid) && !capable(CAP_FOWNER)) + return -EPERM; + AVC_AUDIT_DATA_INIT(&ad,FS); ad.u.fs.dentry = dentry; rc = avc_has_perm(tsec->sid, isec->sid, isec->sclass, - FILE__RELABELFROM, - &isec->avcr, &ad); + FILE__RELABELFROM, &ad); if (rc) return rc; @@ -2283,7 +2234,7 @@ static int selinux_inode_setxattr(struct dentry *dentry, char *name, void *value return rc; rc = avc_has_perm(tsec->sid, newsid, isec->sclass, - FILE__RELABELTO, NULL, &ad); + FILE__RELABELTO, &ad); if (rc) return rc; @@ -2291,7 +2242,6 @@ static int selinux_inode_setxattr(struct dentry *dentry, char *name, void *value sbsec->sid, SECCLASS_FILESYSTEM, FILESYSTEM__ASSOCIATE, - NULL, &ad); } @@ -2357,9 +2307,8 @@ static int selinux_inode_removexattr (struct dentry *dentry, char *name) return -EACCES; } -static int selinux_inode_getsecurity(struct dentry *dentry, const char *name, void *buffer, size_t size) +static int selinux_inode_getsecurity(struct inode *inode, const char *name, void *buffer, size_t size) { - struct inode *inode = dentry->d_inode; struct inode_security_struct *isec = inode->i_security; char *context; unsigned len; @@ -2387,10 +2336,9 @@ static int selinux_inode_getsecurity(struct dentry *dentry, const char *name, vo return len; } -static int selinux_inode_setsecurity(struct dentry *dentry, const char *name, +static int selinux_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags) { - struct inode *inode = dentry->d_inode; struct inode_security_struct *isec = inode->i_security; u32 newsid; int rc; @@ -2409,10 +2357,10 @@ static int selinux_inode_setsecurity(struct dentry *dentry, const char *name, return 0; } -static int selinux_inode_listsecurity(struct dentry *dentry, char *buffer) +static int selinux_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size) { const int len = sizeof(XATTR_NAME_SELINUX); - if (buffer) + if (buffer && len <= buffer_size) memcpy(buffer, XATTR_NAME_SELINUX, len); return len; } @@ -2492,21 +2440,14 @@ static int selinux_file_ioctl(struct file *file, unsigned int cmd, return error; } -static int selinux_file_mmap(struct file *file, unsigned long prot, unsigned long flags) +static int file_map_prot_check(struct file *file, unsigned long prot, int shared) { - u32 av; - int rc; - - rc = secondary_ops->file_mmap(file, prot, flags); - if (rc) - return rc; - if (file) { /* read access is always possible with a mapping */ - av = FILE__READ; + u32 av = FILE__READ; /* write access only matters if the mapping is shared */ - if ((flags & MAP_TYPE) == MAP_SHARED && (prot & PROT_WRITE)) + if (shared && (prot & PROT_WRITE)) av |= FILE__WRITE; if (prot & PROT_EXEC) @@ -2517,6 +2458,18 @@ static int selinux_file_mmap(struct file *file, unsigned long prot, unsigned lon return 0; } +static int selinux_file_mmap(struct file *file, unsigned long prot, unsigned long flags) +{ + int rc; + + rc = secondary_ops->file_mmap(file, prot, flags); + if (rc) + return rc; + + return file_map_prot_check(file, prot, + (flags & MAP_TYPE) == MAP_SHARED); +} + static int selinux_file_mprotect(struct vm_area_struct *vma, unsigned long prot) { @@ -2526,7 +2479,7 @@ static int selinux_file_mprotect(struct vm_area_struct *vma, if (rc) return rc; - return selinux_file_mmap(vma->vm_file, prot, vma->vm_flags); + return file_map_prot_check(vma->vm_file, prot, vma->vm_flags&VM_SHARED); } static int selinux_file_lock(struct file *file, unsigned int cmd) @@ -2592,7 +2545,7 @@ static int selinux_file_set_fowner(struct file *file) static int selinux_file_send_sigiotask(struct task_struct *tsk, struct fown_struct *fown, - int fd, int reason) + int signum) { struct file *file; u32 perm; @@ -2605,13 +2558,13 @@ static int selinux_file_send_sigiotask(struct task_struct *tsk, tsec = tsk->security; fsec = file->f_security; - if (!fown->signum) + if (!signum) perm = signal_to_av(SIGIO); /* as per send_sigio_to_task */ else - perm = signal_to_av(fown->signum); + perm = signal_to_av(signum); return avc_has_perm(fsec->fown_sid, tsec->sid, - SECCLASS_PROCESS, perm, NULL, NULL); + SECCLASS_PROCESS, perm, NULL); } static int selinux_file_receive(struct file *file) @@ -2651,6 +2604,11 @@ static int selinux_task_alloc_security(struct task_struct *tsk) tsec2->exec_sid = tsec1->exec_sid; tsec2->create_sid = tsec1->create_sid; + /* Retain ptracer SID across fork, if any. + This will be reset by the ptrace hook upon any + subsequent ptrace_attach operations. */ + tsec2->ptrace_sid = tsec1->ptrace_sid; + return 0; } @@ -2743,8 +2701,7 @@ static int selinux_task_setscheduler(struct task_struct *p, int policy, struct s is held and the system will deadlock if we try to log an audit message. */ return avc_has_perm_noaudit(tsec1->sid, tsec2->sid, - SECCLASS_PROCESS, PROCESS__SETSCHED, - &tsec2->avcr, NULL); + SECCLASS_PROCESS, PROCESS__SETSCHED, NULL); } static int selinux_task_getscheduler(struct task_struct *p) @@ -2822,49 +2779,52 @@ static void selinux_task_to_inode(struct task_struct *p, /* Returns error only if unable to parse addresses */ static int selinux_parse_skb_ipv4(struct sk_buff *skb, struct avc_audit_data *ad) { - int offset, ihlen, ret; - struct iphdr iph; + int offset, ihlen, ret = -EINVAL; + struct iphdr _iph, *ih; offset = skb->nh.raw - skb->data; - ret = skb_copy_bits(skb, offset, &iph, sizeof(iph)); - if (ret) + ih = skb_header_pointer(skb, offset, sizeof(_iph), &_iph); + if (ih == NULL) goto out; - ihlen = iph.ihl * 4; - if (ihlen < sizeof(iph)) + ihlen = ih->ihl * 4; + if (ihlen < sizeof(_iph)) goto out; - ad->u.net.v4info.saddr = iph.saddr; - ad->u.net.v4info.daddr = iph.daddr; + ad->u.net.v4info.saddr = ih->saddr; + ad->u.net.v4info.daddr = ih->daddr; + ret = 0; - switch (iph.protocol) { + switch (ih->protocol) { case IPPROTO_TCP: { - struct tcphdr tcph; + struct tcphdr _tcph, *th; - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; offset += ihlen; - if (skb_copy_bits(skb, offset, &tcph, sizeof(tcph)) < 0) + th = skb_header_pointer(skb, offset, sizeof(_tcph), &_tcph); + if (th == NULL) break; - ad->u.net.sport = tcph.source; - ad->u.net.dport = tcph.dest; + ad->u.net.sport = th->source; + ad->u.net.dport = th->dest; break; } case IPPROTO_UDP: { - struct udphdr udph; + struct udphdr _udph, *uh; - if (ntohs(iph.frag_off) & IP_OFFSET) + if (ntohs(ih->frag_off) & IP_OFFSET) break; offset += ihlen; - if (skb_copy_bits(skb, offset, &udph, sizeof(udph)) < 0) - break; + uh = skb_header_pointer(skb, offset, sizeof(_udph), &_udph); + if (uh == NULL) + break; - ad->u.net.sport = udph.source; - ad->u.net.dport = udph.dest; + ad->u.net.sport = uh->source; + ad->u.net.dport = uh->dest; break; } @@ -2881,19 +2841,20 @@ out: static int selinux_parse_skb_ipv6(struct sk_buff *skb, struct avc_audit_data *ad) { u8 nexthdr; - int ret, offset; - struct ipv6hdr ipv6h; + int ret = -EINVAL, offset; + struct ipv6hdr _ipv6h, *ip6; offset = skb->nh.raw - skb->data; - ret = skb_copy_bits(skb, offset, &ipv6h, sizeof(ipv6h)); - if (ret) + ip6 = skb_header_pointer(skb, offset, sizeof(_ipv6h), &_ipv6h); + if (ip6 == NULL) goto out; - ipv6_addr_copy(&ad->u.net.v6info.saddr, &ipv6h.saddr); - ipv6_addr_copy(&ad->u.net.v6info.daddr, &ipv6h.daddr); + ipv6_addr_copy(&ad->u.net.v6info.saddr, &ip6->saddr); + ipv6_addr_copy(&ad->u.net.v6info.daddr, &ip6->daddr); + ret = 0; - nexthdr = ipv6h.nexthdr; - offset += sizeof(ipv6h); + nexthdr = ip6->nexthdr; + offset += sizeof(_ipv6h); offset = ipv6_skip_exthdr(skb, offset, &nexthdr, skb->tail - skb->head - offset); if (offset < 0) @@ -2901,24 +2862,26 @@ static int selinux_parse_skb_ipv6(struct sk_buff *skb, struct avc_audit_data *ad switch (nexthdr) { case IPPROTO_TCP: { - struct tcphdr tcph; + struct tcphdr _tcph, *th; - if (skb_copy_bits(skb, offset, &tcph, sizeof(tcph)) < 0) + th = skb_header_pointer(skb, offset, sizeof(_tcph), &_tcph); + if (th == NULL) break; - ad->u.net.sport = tcph.source; - ad->u.net.dport = tcph.dest; + ad->u.net.sport = th->source; + ad->u.net.dport = th->dest; break; } case IPPROTO_UDP: { - struct udphdr udph; + struct udphdr _udph, *uh; - if (skb_copy_bits(skb, offset, &udph, sizeof(udph)) < 0) + uh = skb_header_pointer(skb, offset, sizeof(_udph), &_udph); + if (uh == NULL) break; - ad->u.net.sport = udph.source; - ad->u.net.dport = udph.dest; + ad->u.net.sport = uh->source; + ad->u.net.dport = uh->dest; break; } @@ -2981,8 +2944,7 @@ static int socket_has_perm(struct task_struct *task, struct socket *sock, AVC_AUDIT_DATA_INIT(&ad,NET); ad.u.net.sk = sock->sk; - err = avc_has_perm(tsec->sid, isec->sid, isec->sclass, - perms, &isec->avcr, &ad); + err = avc_has_perm(tsec->sid, isec->sid, isec->sclass, perms, &ad); out: return err; @@ -3000,7 +2962,7 @@ static int selinux_socket_create(int family, int type, tsec = current->security; err = avc_has_perm(tsec->sid, tsec->sid, socket_type_to_security_class(family, type, - protocol), SOCKET__CREATE, NULL, NULL); + protocol), SOCKET__CREATE, NULL); out: return err; @@ -3078,9 +3040,10 @@ static int selinux_socket_bind(struct socket *sock, struct sockaddr *address, in goto out; AVC_AUDIT_DATA_INIT(&ad,NET); ad.u.net.sport = htons(snum); + ad.u.net.family = family; err = avc_has_perm(isec->sid, sid, isec->sclass, - SOCKET__NAME_BIND, NULL, &ad); + SOCKET__NAME_BIND, &ad); if (err) goto out; } @@ -3113,7 +3076,7 @@ static int selinux_socket_bind(struct socket *sock, struct sockaddr *address, in ipv6_addr_copy(&ad.u.net.v6info.saddr, &addr6->sin6_addr); err = avc_has_perm(isec->sid, sid, - isec->sclass, node_perm, NULL, &ad); + isec->sclass, node_perm, &ad); if (err) goto out; } @@ -3213,8 +3176,7 @@ static int selinux_socket_unix_stream_connect(struct socket *sock, err = avc_has_perm(isec->sid, other_isec->sid, isec->sclass, - UNIX_STREAM_SOCKET__CONNECTTO, - &other_isec->avcr, &ad); + UNIX_STREAM_SOCKET__CONNECTTO, &ad); if (err) return err; @@ -3244,9 +3206,7 @@ static int selinux_socket_unix_may_send(struct socket *sock, ad.u.net.sk = other->sk; err = avc_has_perm(isec->sid, other_isec->sid, - isec->sclass, - SOCKET__SENDTO, - &other_isec->avcr, &ad); + isec->sclass, SOCKET__SENDTO, &ad); if (err) return err; @@ -3258,13 +3218,11 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) u16 family; char *addrp; int len, err = 0; - u32 netif_perm, node_perm, node_sid, recv_perm = 0; + u32 netif_perm, node_perm, node_sid, if_sid, recv_perm = 0; u32 sock_sid = 0; u16 sock_class = 0; struct socket *sock; struct net_device *dev; - struct sel_netif *netif; - struct netif_security_struct *nsec; struct avc_audit_data ad; family = sk->sk_family; @@ -3295,13 +3253,9 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) if (!dev) goto out; - netif = sel_netif_lookup(dev); - if (IS_ERR(netif)) { - err = PTR_ERR(netif); + err = sel_netif_sids(dev, &if_sid, NULL); + if (err) goto out; - } - - nsec = &netif->nsec; switch (sock_class) { case SECCLASS_UDP_SOCKET: @@ -3327,14 +3281,10 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) ad.u.net.family = family; err = selinux_parse_skb(skb, &ad, &addrp, &len, 1); - if (err) { - sel_netif_put(netif); + if (err) goto out; - } - err = avc_has_perm(sock_sid, nsec->if_sid, SECCLASS_NETIF, - netif_perm, &nsec->avcr, &ad); - sel_netif_put(netif); + err = avc_has_perm(sock_sid, if_sid, SECCLASS_NETIF, netif_perm, &ad); if (err) goto out; @@ -3343,7 +3293,7 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) if (err) goto out; - err = avc_has_perm(sock_sid, node_sid, SECCLASS_NODE, node_perm, NULL, &ad); + err = avc_has_perm(sock_sid, node_sid, SECCLASS_NODE, node_perm, &ad); if (err) goto out; @@ -3357,8 +3307,8 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) if (err) goto out; - err = avc_has_perm(sock_sid, port_sid, sock_class, - recv_perm, NULL, &ad); + err = avc_has_perm(sock_sid, port_sid, + sock_class, recv_perm, &ad); } out: return err; @@ -3450,13 +3400,11 @@ static unsigned int selinux_ip_postroute_last(unsigned int hooknum, { char *addrp; int len, err = NF_ACCEPT; - u32 netif_perm, node_perm, node_sid, send_perm = 0; + u32 netif_perm, node_perm, node_sid, if_sid, send_perm = 0; struct sock *sk; struct socket *sock; struct inode *inode; - struct sel_netif *netif; struct sk_buff *skb = *pskb; - struct netif_security_struct *nsec; struct inode_security_struct *isec; struct avc_audit_data ad; struct net_device *dev = (struct net_device *)out; @@ -3473,13 +3421,10 @@ static unsigned int selinux_ip_postroute_last(unsigned int hooknum, if (!inode) goto out; - netif = sel_netif_lookup(dev); - if (IS_ERR(netif)) { - err = NF_DROP; + err = sel_netif_sids(dev, &if_sid, NULL); + if (err) goto out; - } - - nsec = &netif->nsec; + isec = inode->i_security; switch (isec->sclass) { @@ -3508,14 +3453,11 @@ static unsigned int selinux_ip_postroute_last(unsigned int hooknum, err = selinux_parse_skb(skb, &ad, &addrp, &len, 0) ? NF_DROP : NF_ACCEPT; - if (err != NF_ACCEPT) { - sel_netif_put(netif); + if (err != NF_ACCEPT) goto out; - } - err = avc_has_perm(isec->sid, nsec->if_sid, SECCLASS_NETIF, - netif_perm, &nsec->avcr, &ad) ? NF_DROP : NF_ACCEPT; - sel_netif_put(netif); + err = avc_has_perm(isec->sid, if_sid, SECCLASS_NETIF, + netif_perm, &ad) ? NF_DROP : NF_ACCEPT; if (err != NF_ACCEPT) goto out; @@ -3526,7 +3468,7 @@ static unsigned int selinux_ip_postroute_last(unsigned int hooknum, goto out; err = avc_has_perm(isec->sid, node_sid, SECCLASS_NODE, - node_perm, NULL, &ad) ? NF_DROP : NF_ACCEPT; + node_perm, &ad) ? NF_DROP : NF_ACCEPT; if (err != NF_ACCEPT) goto out; @@ -3543,7 +3485,7 @@ static unsigned int selinux_ip_postroute_last(unsigned int hooknum, goto out; err = avc_has_perm(isec->sid, port_sid, isec->sclass, - send_perm, NULL, &ad) ? NF_DROP : NF_ACCEPT; + send_perm, &ad) ? NF_DROP : NF_ACCEPT; } out: @@ -3680,8 +3622,7 @@ static int ipc_has_perm(struct kern_ipc_perm *ipc_perms, AVC_AUDIT_DATA_INIT(&ad, IPC); ad.u.ipc_id = ipc_perms->key; - return avc_has_perm(tsec->sid, isec->sid, sclass, - perms, &isec->avcr, &ad); + return avc_has_perm(tsec->sid, isec->sid, sclass, perms, &ad); } static int selinux_msg_msg_alloc_security(struct msg_msg *msg) @@ -3713,7 +3654,7 @@ static int selinux_msg_queue_alloc_security(struct msg_queue *msq) ad.u.ipc_id = msq->q_perm.key; rc = avc_has_perm(tsec->sid, isec->sid, SECCLASS_MSGQ, - MSGQ__CREATE, &isec->avcr, &ad); + MSGQ__CREATE, &ad); if (rc) { ipc_free_security(&msq->q_perm); return rc; @@ -3739,7 +3680,7 @@ static int selinux_msg_queue_associate(struct msg_queue *msq, int msqflg) ad.u.ipc_id = msq->q_perm.key; return avc_has_perm(tsec->sid, isec->sid, SECCLASS_MSGQ, - MSGQ__ASSOCIATE, &isec->avcr, &ad); + MSGQ__ASSOCIATE, &ad); } static int selinux_msg_queue_msgctl(struct msg_queue *msq, int cmd) @@ -3803,17 +3744,15 @@ static int selinux_msg_queue_msgsnd(struct msg_queue *msq, struct msg_msg *msg, /* Can this process write to the queue? */ rc = avc_has_perm(tsec->sid, isec->sid, SECCLASS_MSGQ, - MSGQ__WRITE, &isec->avcr, &ad); + MSGQ__WRITE, &ad); if (!rc) /* Can this process send the message */ rc = avc_has_perm(tsec->sid, msec->sid, - SECCLASS_MSG, MSG__SEND, - &msec->avcr, &ad); + SECCLASS_MSG, MSG__SEND, &ad); if (!rc) /* Can the message be put in the queue? */ rc = avc_has_perm(msec->sid, isec->sid, - SECCLASS_MSGQ, MSGQ__ENQUEUE, - &isec->avcr, &ad); + SECCLASS_MSGQ, MSGQ__ENQUEUE, &ad); return rc; } @@ -3836,12 +3775,10 @@ static int selinux_msg_queue_msgrcv(struct msg_queue *msq, struct msg_msg *msg, ad.u.ipc_id = msq->q_perm.key; rc = avc_has_perm(tsec->sid, isec->sid, - SECCLASS_MSGQ, MSGQ__READ, - &isec->avcr, &ad); + SECCLASS_MSGQ, MSGQ__READ, &ad); if (!rc) rc = avc_has_perm(tsec->sid, msec->sid, - SECCLASS_MSG, MSG__RECEIVE, - &msec->avcr, &ad); + SECCLASS_MSG, MSG__RECEIVE, &ad); return rc; } @@ -3864,7 +3801,7 @@ static int selinux_shm_alloc_security(struct shmid_kernel *shp) ad.u.ipc_id = shp->shm_perm.key; rc = avc_has_perm(tsec->sid, isec->sid, SECCLASS_SHM, - SHM__CREATE, &isec->avcr, &ad); + SHM__CREATE, &ad); if (rc) { ipc_free_security(&shp->shm_perm); return rc; @@ -3890,7 +3827,7 @@ static int selinux_shm_associate(struct shmid_kernel *shp, int shmflg) ad.u.ipc_id = shp->shm_perm.key; return avc_has_perm(tsec->sid, isec->sid, SECCLASS_SHM, - SHM__ASSOCIATE, &isec->avcr, &ad); + SHM__ASSOCIATE, &ad); } /* Note, at this point, shp is locked down */ @@ -3963,7 +3900,7 @@ static int selinux_sem_alloc_security(struct sem_array *sma) ad.u.ipc_id = sma->sem_perm.key; rc = avc_has_perm(tsec->sid, isec->sid, SECCLASS_SEM, - SEM__CREATE, &isec->avcr, &ad); + SEM__CREATE, &ad); if (rc) { ipc_free_security(&sma->sem_perm); return rc; @@ -3989,7 +3926,7 @@ static int selinux_sem_associate(struct sem_array *sma, int semflg) ad.u.ipc_id = sma->sem_perm.key; return avc_has_perm(tsec->sid, isec->sid, SECCLASS_SEM, - SEM__ASSOCIATE, &isec->avcr, &ad); + SEM__ASSOCIATE, &ad); } /* Note, at this point, sma is locked down */ diff --git a/security/selinux/include/av_perm_to_string.h b/security/selinux/include/av_perm_to_string.h index e8e2a41cf..a3ea4310e 100644 --- a/security/selinux/include/av_perm_to_string.h +++ b/security/selinux/include/av_perm_to_string.h @@ -85,6 +85,7 @@ static struct av_perm_to_string av_perm_to_string[] = { { SECCLASS_SECURITY, SECURITY__COMPUTE_USER, "compute_user" }, { SECCLASS_SECURITY, SECURITY__SETENFORCE, "setenforce" }, { SECCLASS_SECURITY, SECURITY__SETBOOL, "setbool" }, + { SECCLASS_SECURITY, SECURITY__SETSECPARAM, "setsecparam" }, { SECCLASS_SYSTEM, SYSTEM__IPC_INFO, "ipc_info" }, { SECCLASS_SYSTEM, SYSTEM__SYSLOG_READ, "syslog_read" }, { SECCLASS_SYSTEM, SYSTEM__SYSLOG_MOD, "syslog_mod" }, diff --git a/security/selinux/include/av_permissions.h b/security/selinux/include/av_permissions.h index 0a4c6e08f..65141ec0c 100644 --- a/security/selinux/include/av_permissions.h +++ b/security/selinux/include/av_permissions.h @@ -515,6 +515,7 @@ #define SECURITY__COMPUTE_USER 0x00000040UL #define SECURITY__SETENFORCE 0x00000080UL #define SECURITY__SETBOOL 0x00000100UL +#define SECURITY__SETSECPARAM 0x00000200UL #define SYSTEM__IPC_INFO 0x00000001UL #define SYSTEM__SYSLOG_READ 0x00000002UL diff --git a/security/selinux/include/avc.h b/security/selinux/include/avc.h index 42759196b..ca2fdf557 100644 --- a/security/selinux/include/avc.h +++ b/security/selinux/include/avc.h @@ -29,19 +29,6 @@ extern int selinux_enforcing; */ struct avc_entry; -/* - * A reference to an AVC entry. - */ -struct avc_entry_ref { - struct avc_entry *ae; -}; - -/* Initialize an AVC entry reference before first use. */ -static inline void avc_entry_ref_init(struct avc_entry_ref *h) -{ - h->ae = NULL; -} - struct task_struct; struct vfsmount; struct dentry; @@ -95,15 +82,15 @@ struct avc_audit_data { /* * AVC statistics */ -#define AVC_ENTRY_LOOKUPS 0 -#define AVC_ENTRY_HITS 1 -#define AVC_ENTRY_MISSES 2 -#define AVC_ENTRY_DISCARDS 3 -#define AVC_CAV_LOOKUPS 4 -#define AVC_CAV_HITS 5 -#define AVC_CAV_PROBES 6 -#define AVC_CAV_MISSES 7 -#define AVC_NSTATS 8 +struct avc_cache_stats +{ + unsigned int lookups; + unsigned int hits; + unsigned int misses; + unsigned int allocations; + unsigned int reclaims; + unsigned int frees; +}; /* * AVC display support @@ -111,7 +98,6 @@ struct avc_audit_data { struct audit_buffer; void avc_dump_av(struct audit_buffer *ab, u16 tclass, u32 av); void avc_dump_query(struct audit_buffer *ab, u32 ssid, u32 tsid, u16 tclass); -void avc_dump_cache(struct audit_buffer *ab, char *tag); /* * AVC operations @@ -119,23 +105,17 @@ void avc_dump_cache(struct audit_buffer *ab, char *tag); void __init avc_init(void); -int avc_lookup(u32 ssid, u32 tsid, u16 tclass, - u32 requested, struct avc_entry_ref *aeref); - -int avc_insert(u32 ssid, u32 tsid, u16 tclass, - struct avc_entry *ae, struct avc_entry_ref *out_aeref); - void avc_audit(u32 ssid, u32 tsid, u16 tclass, u32 requested, struct av_decision *avd, int result, struct avc_audit_data *auditdata); int avc_has_perm_noaudit(u32 ssid, u32 tsid, u16 tclass, u32 requested, - struct avc_entry_ref *aeref, struct av_decision *avd); + struct av_decision *avd); int avc_has_perm(u32 ssid, u32 tsid, u16 tclass, u32 requested, - struct avc_entry_ref *aeref, struct avc_audit_data *auditdata); + struct avc_audit_data *auditdata); #define AVC_CALLBACK_GRANT 1 #define AVC_CALLBACK_TRY_REVOKE 2 @@ -152,5 +132,13 @@ int avc_add_callback(int (*callback)(u32 event, u32 ssid, u32 tsid, u32 events, u32 ssid, u32 tsid, u16 tclass, u32 perms); +/* Exported to selinuxfs */ +int avc_get_hash_stats(char *page); +extern unsigned int avc_cache_threshold; + +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS +DECLARE_PER_CPU(struct avc_cache_stats, avc_cache_stats); +#endif + #endif /* _SELINUX_AVC_H_ */ diff --git a/security/selinux/include/netif.h b/security/selinux/include/netif.h index 02f7608e3..8bd6f9992 100644 --- a/security/selinux/include/netif.h +++ b/security/selinux/include/netif.h @@ -15,16 +15,7 @@ #ifndef _SELINUX_NETIF_H_ #define _SELINUX_NETIF_H_ -struct sel_netif -{ - struct list_head list; - atomic_t users; - struct netif_security_struct nsec; - struct rcu_head rcu_head; -}; - -struct sel_netif *sel_netif_lookup(struct net_device *dev); -void sel_netif_put(struct sel_netif *netif); +int sel_netif_sids(struct net_device *dev, u32 *if_sid, u32 *msg_sid); #endif /* _SELINUX_NETIF_H_ */ diff --git a/security/selinux/include/objsec.h b/security/selinux/include/objsec.h index 03490b2f2..d1516e47e 100644 --- a/security/selinux/include/objsec.h +++ b/security/selinux/include/objsec.h @@ -33,7 +33,6 @@ struct task_security_struct { u32 sid; /* current SID */ u32 exec_sid; /* exec SID */ u32 create_sid; /* fscreate SID */ - struct avc_entry_ref avcr; /* reference to process permissions */ u32 ptrace_sid; /* SID of ptrace parent */ }; @@ -44,7 +43,6 @@ struct inode_security_struct { u32 task_sid; /* SID of creating task */ u32 sid; /* SID of this object */ u16 sclass; /* security class of this object */ - struct avc_entry_ref avcr; /* reference to object permissions */ unsigned char initialized; /* initialization flag */ struct semaphore sem; unsigned char inherit; /* inherit SID from parent entry */ @@ -55,8 +53,6 @@ struct file_security_struct { struct file *file; /* back pointer to file object */ u32 sid; /* SID of open file description */ u32 fown_sid; /* SID of file owner (for SIGIO) */ - struct avc_entry_ref avcr; /* reference to fd permissions */ - struct avc_entry_ref inode_avcr; /* reference to object permissions */ }; struct superblock_security_struct { @@ -77,7 +73,6 @@ struct msg_security_struct { unsigned long magic; /* magic number for this module */ struct msg_msg *msg; /* back pointer */ u32 sid; /* SID of message */ - struct avc_entry_ref avcr; /* reference to permissions */ }; struct ipc_security_struct { @@ -85,7 +80,6 @@ struct ipc_security_struct { struct kern_ipc_perm *ipc_perm; /* back pointer */ u16 sclass; /* security class of this object */ u32 sid; /* SID of IPC resource */ - struct avc_entry_ref avcr; /* reference to permissions */ }; struct bprm_security_struct { @@ -99,7 +93,6 @@ struct netif_security_struct { struct net_device *dev; /* back pointer */ u32 if_sid; /* SID for this interface */ u32 msg_sid; /* default SID for messages received on this interface */ - struct avc_entry_ref avcr; /* reference to permissions */ }; struct sk_security_struct { diff --git a/security/selinux/netif.c b/security/selinux/netif.c index d23bd7e63..e3ffae522 100644 --- a/security/selinux/netif.c +++ b/security/selinux/netif.c @@ -36,10 +36,17 @@ #define DEBUGP(format, args...) #endif +struct sel_netif +{ + struct list_head list; + struct netif_security_struct nsec; + struct rcu_head rcu_head; +}; + static u32 sel_netif_total; static LIST_HEAD(sel_netif_list); static spinlock_t sel_netif_lock = SPIN_LOCK_UNLOCKED; -static struct sel_netif sel_netif_hash[SEL_NETIF_HASH_SIZE]; +static struct list_head sel_netif_hash[SEL_NETIF_HASH_SIZE]; static inline u32 sel_netif_hasfn(struct net_device *dev) { @@ -50,12 +57,12 @@ static inline u32 sel_netif_hasfn(struct net_device *dev) * All of the devices should normally fit in the hash, so we optimize * for that case. */ -static struct sel_netif *sel_netif_find(struct net_device *dev) +static inline struct sel_netif *sel_netif_find(struct net_device *dev) { struct list_head *pos; int idx = sel_netif_hasfn(dev); - __list_for_each_rcu(pos, &sel_netif_hash[idx].list) { + __list_for_each_rcu(pos, &sel_netif_hash[idx]) { struct sel_netif *netif = list_entry(pos, struct sel_netif, list); if (likely(netif->nsec.dev == dev)) @@ -74,25 +81,38 @@ static int sel_netif_insert(struct sel_netif *netif) } idx = sel_netif_hasfn(netif->nsec.dev); - list_add_rcu(&netif->list, &sel_netif_hash[idx].list); - atomic_set(&netif->users, 1); + list_add_rcu(&netif->list, &sel_netif_hash[idx]); sel_netif_total++; out: return ret; } -struct sel_netif *sel_netif_lookup(struct net_device *dev) +static void sel_netif_free(struct rcu_head *p) +{ + struct sel_netif *netif = container_of(p, struct sel_netif, rcu_head); + + DEBUGP("%s: %s\n", __FUNCTION__, netif->nsec.dev->name); + kfree(netif); +} + +static void sel_netif_destroy(struct sel_netif *netif) +{ + DEBUGP("%s: %s\n", __FUNCTION__, netif->nsec.dev->name); + + list_del_rcu(&netif->list); + sel_netif_total--; + call_rcu(&netif->rcu_head, sel_netif_free); +} + +static struct sel_netif *sel_netif_lookup(struct net_device *dev) { int ret; struct sel_netif *netif, *new; struct netif_security_struct *nsec; - rcu_read_lock(); netif = sel_netif_find(dev); - rcu_read_unlock(); - if (likely(netif != NULL)) - goto out_hold; + goto out; new = kmalloc(sizeof(*new), GFP_ATOMIC); if (!new) { @@ -118,76 +138,86 @@ struct sel_netif *sel_netif_lookup(struct net_device *dev) if (netif) { spin_unlock_bh(&sel_netif_lock); kfree(new); - goto out_hold; + goto out; } - sel_netif_insert(new); + ret = sel_netif_insert(new); spin_unlock_bh(&sel_netif_lock); + if (ret) { + kfree(new); + netif = ERR_PTR(ret); + goto out; + } + netif = new; DEBUGP("new: ifindex=%u name=%s if_sid=%u msg_sid=%u\n", dev->ifindex, dev->name, nsec->if_sid, nsec->msg_sid); -out_hold: - atomic_inc(&netif->users); out: return netif; } -static void sel_netif_free(struct rcu_head *p) +static void sel_netif_assign_sids(u32 if_sid_in, u32 msg_sid_in, u32 *if_sid_out, u32 *msg_sid_out) { - struct sel_netif *netif = container_of(p, struct sel_netif, rcu_head); - - DEBUGP("%s: %s\n", __FUNCTION__, netif->nsec.dev->name); - kfree(netif); + if (if_sid_out) + *if_sid_out = if_sid_in; + if (msg_sid_out) + *msg_sid_out = msg_sid_in; } -static void sel_netif_destroy(struct sel_netif *netif) +static int sel_netif_sids_slow(struct net_device *dev, u32 *if_sid, u32 *msg_sid) { - DEBUGP("%s: %s\n", __FUNCTION__, netif->nsec.dev->name); + int ret = 0; + u32 tmp_if_sid, tmp_msg_sid; - spin_lock_bh(&sel_netif_lock); - list_del_rcu(&netif->list); - sel_netif_total--; - spin_unlock_bh(&sel_netif_lock); - - call_rcu(&netif->rcu_head, sel_netif_free); + ret = security_netif_sid(dev->name, &tmp_if_sid, &tmp_msg_sid); + if (!ret) + sel_netif_assign_sids(tmp_if_sid, tmp_msg_sid, if_sid, msg_sid); + return ret; } -void sel_netif_put(struct sel_netif *netif) +int sel_netif_sids(struct net_device *dev, u32 *if_sid, u32 *msg_sid) { - if (atomic_dec_and_test(&netif->users)) - sel_netif_destroy(netif); + int ret = 0; + struct sel_netif *netif; + + rcu_read_lock(); + netif = sel_netif_lookup(dev); + if (IS_ERR(netif)) { + rcu_read_unlock(); + ret = sel_netif_sids_slow(dev, if_sid, msg_sid); + goto out; + } + sel_netif_assign_sids(netif->nsec.if_sid, netif->nsec.msg_sid, if_sid, msg_sid); + rcu_read_unlock(); +out: + return ret; } static void sel_netif_kill(struct net_device *dev) { struct sel_netif *netif; - - rcu_read_lock(); - netif = sel_netif_find(dev); - rcu_read_unlock(); - /* Drop internal reference */ + spin_lock_bh(&sel_netif_lock); + netif = sel_netif_find(dev); if (netif) - sel_netif_put(netif); + sel_netif_destroy(netif); + spin_unlock_bh(&sel_netif_lock); } static void sel_netif_flush(void) { int idx; + spin_lock_bh(&sel_netif_lock); for (idx = 0; idx < SEL_NETIF_HASH_SIZE; idx++) { - struct list_head *pos; + struct sel_netif *netif; - list_for_each_rcu(pos, &sel_netif_hash[idx].list) { - struct sel_netif *netif; - - netif = list_entry(pos, struct sel_netif, list); - if (netif) - sel_netif_put(netif); - } + list_for_each_entry(netif, &sel_netif_hash[idx], list) + sel_netif_destroy(netif); } + spin_unlock_bh(&sel_netif_lock); } static int sel_netif_avc_callback(u32 event, u32 ssid, u32 tsid, @@ -223,7 +253,7 @@ static __init int sel_netif_init(void) goto out; for (i = 0; i < SEL_NETIF_HASH_SIZE; i++) - INIT_LIST_HEAD(&sel_netif_hash[i].list); + INIT_LIST_HEAD(&sel_netif_hash[i]); register_netdevice_notifier(&sel_netif_netdev_notifier); diff --git a/security/selinux/selinuxfs.c b/security/selinux/selinuxfs.c index 975a17708..8f12c7988 100644 --- a/security/selinux/selinuxfs.c +++ b/security/selinux/selinuxfs.c @@ -3,6 +3,7 @@ * Added conditional policy language extensions * * Copyright (C) 2003 - 2004 Tresys Technology, LLC + * Copyright (C) 2004 Red Hat, Inc., James Morris * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 2. @@ -17,6 +18,9 @@ #include #include #include +#include +#include +#include #include #include @@ -50,7 +54,7 @@ int task_has_security(struct task_struct *tsk, return -EACCES; return avc_has_perm(tsec->sid, SECINITSID_SECURITY, - SECCLASS_SECURITY, perms, NULL, NULL); + SECCLASS_SECURITY, perms, NULL); } enum sel_inos { @@ -65,43 +69,19 @@ enum sel_inos { SEL_POLICYVERS, /* return policy version for this kernel */ SEL_COMMIT_BOOLS, /* commit new boolean values */ SEL_MLS, /* return if MLS policy is enabled */ - SEL_DISABLE /* disable SELinux until next reboot */ + SEL_DISABLE, /* disable SELinux until next reboot */ + SEL_AVC, /* AVC management directory */ }; +#define TMPBUFLEN 12 static ssize_t sel_read_enforce(struct file *filp, char __user *buf, size_t count, loff_t *ppos) { - char *page; + char tmpbuf[TMPBUFLEN]; ssize_t length; - ssize_t end; - - if (count < 0 || count > PAGE_SIZE) - return -EINVAL; - if (!(page = (char*)__get_free_page(GFP_KERNEL))) - return -ENOMEM; - memset(page, 0, PAGE_SIZE); - length = scnprintf(page, PAGE_SIZE, "%d", selinux_enforcing); - if (length < 0) { - free_page((unsigned long)page); - return length; - } - - if (*ppos >= length) { - free_page((unsigned long)page); - return 0; - } - if (count + *ppos > length) - count = length - *ppos; - end = count + *ppos; - if (copy_to_user(buf, (char *) page + *ppos, count)) { - count = -EFAULT; - goto out; - } - *ppos = end; -out: - free_page((unsigned long)page); - return count; + length = scnprintf(tmpbuf, TMPBUFLEN, "%d", selinux_enforcing); + return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); } #ifdef CONFIG_SECURITY_SELINUX_DEVELOP @@ -119,10 +99,9 @@ static ssize_t sel_write_enforce(struct file * file, const char __user * buf, /* No partial writes. */ return -EINVAL; } - page = (char*)__get_free_page(GFP_KERNEL); + page = (char*)get_zeroed_page(GFP_KERNEL); if (!page) return -ENOMEM; - memset(page, 0, PAGE_SIZE); length = -EFAULT; if (copy_from_user(page, buf, count)) goto out; @@ -170,10 +149,9 @@ static ssize_t sel_write_disable(struct file * file, const char __user * buf, /* No partial writes. */ return -EINVAL; } - page = (char*)__get_free_page(GFP_KERNEL); + page = (char*)get_zeroed_page(GFP_KERNEL); if (!page) return -ENOMEM; - memset(page, 0, PAGE_SIZE); length = -EFAULT; if (copy_from_user(page, buf, count)) goto out; @@ -204,37 +182,11 @@ static struct file_operations sel_disable_ops = { static ssize_t sel_read_policyvers(struct file *filp, char __user *buf, size_t count, loff_t *ppos) { - char *page; + char tmpbuf[TMPBUFLEN]; ssize_t length; - ssize_t end; - - if (count < 0 || count > PAGE_SIZE) - return -EINVAL; - if (!(page = (char*)__get_free_page(GFP_KERNEL))) - return -ENOMEM; - memset(page, 0, PAGE_SIZE); - - length = scnprintf(page, PAGE_SIZE, "%u", POLICYDB_VERSION_MAX); - if (length < 0) { - free_page((unsigned long)page); - return length; - } - if (*ppos >= length) { - free_page((unsigned long)page); - return 0; - } - if (count + *ppos > length) - count = length - *ppos; - end = count + *ppos; - if (copy_to_user(buf, (char *) page + *ppos, count)) { - count = -EFAULT; - goto out; - } - *ppos = end; -out: - free_page((unsigned long)page); - return count; + length = scnprintf(tmpbuf, TMPBUFLEN, "%u", POLICYDB_VERSION_MAX); + return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); } static struct file_operations sel_policyvers_ops = { @@ -247,37 +199,11 @@ static int sel_make_bools(void); static ssize_t sel_read_mls(struct file *filp, char __user *buf, size_t count, loff_t *ppos) { - char *page; + char tmpbuf[TMPBUFLEN]; ssize_t length; - ssize_t end; - - if (count < 0 || count > PAGE_SIZE) - return -EINVAL; - if (!(page = (char*)__get_free_page(GFP_KERNEL))) - return -ENOMEM; - memset(page, 0, PAGE_SIZE); - length = scnprintf(page, PAGE_SIZE, "%d", selinux_mls_enabled); - if (length < 0) { - free_page((unsigned long)page); - return length; - } - - if (*ppos >= length) { - free_page((unsigned long)page); - return 0; - } - if (count + *ppos > length) - count = length - *ppos; - end = count + *ppos; - if (copy_to_user(buf, (char *) page + *ppos, count)) { - count = -EFAULT; - goto out; - } - *ppos = end; -out: - free_page((unsigned long)page); - return count; + length = scnprintf(tmpbuf, TMPBUFLEN, "%d", selinux_mls_enabled); + return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); } static struct file_operations sel_mls_ops = { @@ -352,10 +278,9 @@ static ssize_t sel_write_context(struct file * file, const char __user * buf, /* No partial writes. */ return -EINVAL; } - page = (char*)__get_free_page(GFP_KERNEL); + page = (char*)get_zeroed_page(GFP_KERNEL); if (!page) return -ENOMEM; - memset(page, 0, PAGE_SIZE); length = -EFAULT; if (copy_from_user(page, buf, count)) goto out; @@ -390,103 +315,31 @@ static ssize_t (*write_op[])(struct file *, char *, size_t) = { [SEL_USER] = sel_write_user, }; -/* an argresp is stored in an allocated page and holds the - * size of the argument or response, along with its content - */ -struct argresp { - ssize_t size; - char data[0]; -}; - -#define PAYLOAD_SIZE (PAGE_SIZE - sizeof(struct argresp)) - -/* - * transaction based IO methods. - * The file expects a single write which triggers the transaction, and then - * possibly a read which collects the result - which is stored in a - * file-local buffer. - */ -static ssize_t TA_write(struct file *file, const char __user *buf, size_t size, loff_t *pos) +static ssize_t selinux_transaction_write(struct file *file, const char __user *buf, size_t size, loff_t *pos) { ino_t ino = file->f_dentry->d_inode->i_ino; - struct argresp *ar; - ssize_t rv = 0; + char *data; + ssize_t rv; if (ino >= sizeof(write_op)/sizeof(write_op[0]) || !write_op[ino]) return -EINVAL; - if (file->private_data) - return -EINVAL; /* only one write allowed per open */ - if (size > PAYLOAD_SIZE - 1) /* allow one byte for null terminator */ - return -EFBIG; - ar = kmalloc(PAGE_SIZE, GFP_KERNEL); - if (!ar) - return -ENOMEM; - memset(ar, 0, PAGE_SIZE); /* clear buffer, particularly last byte */ - ar->size = 0; - down(&file->f_dentry->d_inode->i_sem); - if (file->private_data) - rv = -EINVAL; - else - file->private_data = ar; - up(&file->f_dentry->d_inode->i_sem); - if (rv) { - kfree(ar); - return rv; - } - if (copy_from_user(ar->data, buf, size)) - return -EFAULT; + data = simple_transaction_get(file, buf, size); + if (IS_ERR(data)) + return PTR_ERR(data); - rv = write_op[ino](file, ar->data, size); + rv = write_op[ino](file, data, size); if (rv>0) { - ar->size = rv; + simple_transaction_set(file, rv); rv = size; } return rv; } -static ssize_t TA_read(struct file *file, char __user *buf, size_t size, loff_t *pos) -{ - struct argresp *ar; - ssize_t rv = 0; - - if (file->private_data == NULL) - rv = TA_write(file, buf, 0, pos); - if (rv < 0) - return rv; - - ar = file->private_data; - if (!ar) - return 0; - if (*pos >= ar->size) - return 0; - if (*pos + size > ar->size) - size = ar->size - *pos; - if (copy_to_user(buf, ar->data + *pos, size)) - return -EFAULT; - *pos += size; - return size; -} - -static int TA_open(struct inode *inode, struct file *file) -{ - file->private_data = NULL; - return 0; -} - -static int TA_release(struct inode *inode, struct file *file) -{ - void *p = file->private_data; - file->private_data = NULL; - kfree(p); - return 0; -} - static struct file_operations transaction_ops = { - .write = TA_write, - .read = TA_read, - .open = TA_open, - .release = TA_release, + .write = selinux_transaction_write, + .read = simple_transaction_read, + .release = simple_transaction_release, }; /* @@ -534,7 +387,8 @@ static ssize_t sel_write_access(struct file * file, char *buf, size_t size) if (length < 0) goto out2; - length = scnprintf(buf, PAYLOAD_SIZE, "%x %x %x %x %u", + length = scnprintf(buf, SIMPLE_TRANSACTION_LIMIT, + "%x %x %x %x %u", avd.allowed, avd.decided, avd.auditallow, avd.auditdeny, avd.seqno); @@ -588,7 +442,7 @@ static ssize_t sel_write_create(struct file * file, char *buf, size_t size) if (length < 0) goto out2; - if (len > PAYLOAD_SIZE) { + if (len > SIMPLE_TRANSACTION_LIMIT) { printk(KERN_ERR "%s: context size (%u) exceeds payload " "max\n", __FUNCTION__, len); length = -ERANGE; @@ -649,7 +503,7 @@ static ssize_t sel_write_relabel(struct file * file, char *buf, size_t size) if (length < 0) goto out2; - if (len > PAYLOAD_SIZE) { + if (len > SIMPLE_TRANSACTION_LIMIT) { length = -ERANGE; goto out3; } @@ -709,7 +563,7 @@ static ssize_t sel_write_user(struct file * file, char *buf, size_t size) length = rc; goto out3; } - if ((length + len) >= PAYLOAD_SIZE) { + if ((length + len) >= SIMPLE_TRANSACTION_LIMIT) { kfree(newcon); length = -ERANGE; goto out3; @@ -766,11 +620,10 @@ static ssize_t sel_read_bool(struct file *filep, char __user *buf, ret = -EINVAL; goto out; } - if (!(page = (char*)__get_free_page(GFP_KERNEL))) { + if (!(page = (char*)get_zeroed_page(GFP_KERNEL))) { ret = -ENOMEM; goto out; } - memset(page, 0, PAGE_SIZE); inode = filep->f_dentry->d_inode; cur_enforcing = security_get_bool_value(inode->i_ino - BOOL_INO_OFFSET); @@ -832,12 +685,11 @@ static ssize_t sel_write_bool(struct file *filep, const char __user *buf, /* No partial writes. */ goto out; } - page = (char*)__get_free_page(GFP_KERNEL); + page = (char*)get_zeroed_page(GFP_KERNEL); if (!page) { length = -ENOMEM; goto out; } - memset(page, 0, PAGE_SIZE); if (copy_from_user(page, buf, count)) goto out; @@ -891,14 +743,12 @@ static ssize_t sel_commit_bools_write(struct file *filep, /* No partial writes. */ goto out; } - page = (char*)__get_free_page(GFP_KERNEL); + page = (char*)get_zeroed_page(GFP_KERNEL); if (!page) { length = -ENOMEM; goto out; } - memset(page, 0, PAGE_SIZE); - if (copy_from_user(page, buf, count)) goto out; @@ -984,9 +834,8 @@ static int sel_make_bools(void) sel_remove_bools(dir); - if (!(page = (char*)__get_free_page(GFP_KERNEL))) + if (!(page = (char*)get_zeroed_page(GFP_KERNEL))) return -ENOMEM; - memset(page, 0, PAGE_SIZE); ret = security_get_bools(&num, &names, &values); if (ret != 0) @@ -1042,12 +891,235 @@ err: goto out; } +#define NULL_FILE_NAME "null" + +struct dentry *selinux_null = NULL; + +static ssize_t sel_read_avc_cache_threshold(struct file *filp, char __user *buf, + size_t count, loff_t *ppos) +{ + char tmpbuf[TMPBUFLEN]; + ssize_t length; + + length = scnprintf(tmpbuf, TMPBUFLEN, "%u", avc_cache_threshold); + return simple_read_from_buffer(buf, count, ppos, tmpbuf, length); +} + +static ssize_t sel_write_avc_cache_threshold(struct file * file, + const char __user * buf, + size_t count, loff_t *ppos) + +{ + char *page; + ssize_t ret; + int new_value; + + if (count < 0 || count >= PAGE_SIZE) { + ret = -ENOMEM; + goto out; + } + + if (*ppos != 0) { + /* No partial writes. */ + ret = -EINVAL; + goto out; + } + + page = (char*)get_zeroed_page(GFP_KERNEL); + if (!page) { + ret = -ENOMEM; + goto out; + } + + if (copy_from_user(page, buf, count)) { + ret = -EFAULT; + goto out_free; + } + + if (sscanf(page, "%u", &new_value) != 1) { + ret = -EINVAL; + goto out; + } + + if (new_value != avc_cache_threshold) { + ret = task_has_security(current, SECURITY__SETSECPARAM); + if (ret) + goto out_free; + avc_cache_threshold = new_value; + } + ret = count; +out_free: + free_page((unsigned long)page); +out: + return ret; +} + +static ssize_t sel_read_avc_hash_stats(struct file *filp, char __user *buf, + size_t count, loff_t *ppos) +{ + char *page; + ssize_t ret = 0; + + page = (char *)__get_free_page(GFP_KERNEL); + if (!page) { + ret = -ENOMEM; + goto out; + } + ret = avc_get_hash_stats(page); + if (ret >= 0) + ret = simple_read_from_buffer(buf, count, ppos, page, ret); + free_page((unsigned long)page); +out: + return ret; +} + +static struct file_operations sel_avc_cache_threshold_ops = { + .read = sel_read_avc_cache_threshold, + .write = sel_write_avc_cache_threshold, +}; + +static struct file_operations sel_avc_hash_stats_ops = { + .read = sel_read_avc_hash_stats, +}; + +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS +static struct avc_cache_stats *sel_avc_get_stat_idx(loff_t *idx) +{ + int cpu; + + for (cpu = *idx; cpu < NR_CPUS; ++cpu) { + if (!cpu_possible(cpu)) + continue; + *idx = cpu + 1; + return &per_cpu(avc_cache_stats, cpu); + } + return NULL; +} + +static void *sel_avc_stats_seq_start(struct seq_file *seq, loff_t *pos) +{ + loff_t n = *pos - 1; + + if (*pos == 0) + return SEQ_START_TOKEN; + + return sel_avc_get_stat_idx(&n); +} + +static void *sel_avc_stats_seq_next(struct seq_file *seq, void *v, loff_t *pos) +{ + return sel_avc_get_stat_idx(pos); +} + +static int sel_avc_stats_seq_show(struct seq_file *seq, void *v) +{ + struct avc_cache_stats *st = v; + + if (v == SEQ_START_TOKEN) + seq_printf(seq, "lookups hits misses allocations reclaims " + "frees\n"); + else + seq_printf(seq, "%u %u %u %u %u %u\n", st->lookups, + st->hits, st->misses, st->allocations, + st->reclaims, st->frees); + return 0; +} + +static void sel_avc_stats_seq_stop(struct seq_file *seq, void *v) +{ } + +static struct seq_operations sel_avc_cache_stats_seq_ops = { + .start = sel_avc_stats_seq_start, + .next = sel_avc_stats_seq_next, + .show = sel_avc_stats_seq_show, + .stop = sel_avc_stats_seq_stop, +}; + +static int sel_open_avc_cache_stats(struct inode *inode, struct file *file) +{ + return seq_open(file, &sel_avc_cache_stats_seq_ops); +} + +static struct file_operations sel_avc_cache_stats_ops = { + .open = sel_open_avc_cache_stats, + .read = seq_read, + .llseek = seq_lseek, + .release = seq_release, +}; +#endif + +/* XXX upstream: d_alloc_name() */ +struct dentry *sel_alloc_name(struct dentry *parent, const char *name) +{ + struct qstr q; + + q.name = name; + q.len = strlen(name); + q.hash = full_name_hash(q.name, q.len); + return d_alloc(parent, &q); +} + +static int sel_make_avc_files(struct dentry *dir) +{ + int i, ret = 0; + static struct tree_descr files[] = { + { "cache_threshold", + &sel_avc_cache_threshold_ops, S_IRUGO|S_IWUSR }, + { "hash_stats", &sel_avc_hash_stats_ops, S_IRUGO }, +#ifdef CONFIG_SECURITY_SELINUX_AVC_STATS + { "cache_stats", &sel_avc_cache_stats_ops, S_IRUGO }, +#endif + }; + + for (i = 0; i < sizeof (files) / sizeof (files[0]); i++) { + struct inode *inode; + struct dentry *dentry; + + dentry = sel_alloc_name(dir, files[i].name); + if (!dentry) { + ret = -ENOMEM; + goto err; + } + + inode = sel_make_inode(dir->d_sb, S_IFREG|files[i].mode); + if (!inode) { + ret = -ENOMEM; + goto err; + } + inode->i_fop = files[i].ops; + d_add(dentry, inode); + } +out: + return ret; +err: + d_genocide(dir); + goto out; +} + +static int sel_make_dir(struct super_block *sb, struct dentry *dentry) +{ + int ret = 0; + struct inode *inode; + + inode = sel_make_inode(sb, S_IFDIR | S_IRUGO | S_IXUGO); + if (!inode) { + ret = -ENOMEM; + goto out; + } + inode->i_op = &simple_dir_inode_operations; + inode->i_fop = &simple_dir_operations; + d_add(dentry, inode); +out: + return ret; +} + static int sel_fill_super(struct super_block * sb, void * data, int silent) { int ret; struct dentry *dentry; struct inode *inode; struct qstr qname; + struct inode_security_struct *isec; static struct tree_descr selinux_files[] = { [SEL_LOAD] = {"load", &sel_load_ops, S_IRUSR|S_IWUSR}, @@ -1085,10 +1157,41 @@ static int sel_fill_super(struct super_block * sb, void * data, int silent) if (ret) goto out; + qname.name = NULL_FILE_NAME; + qname.len = strlen(qname.name); + qname.hash = full_name_hash(qname.name, qname.len); + dentry = d_alloc(sb->s_root, &qname); + if (!dentry) + return -ENOMEM; + + inode = sel_make_inode(sb, S_IFCHR | S_IRUGO | S_IWUGO); + if (!inode) + goto out; + isec = (struct inode_security_struct*)inode->i_security; + isec->sid = SECINITSID_DEVNULL; + isec->sclass = SECCLASS_CHR_FILE; + isec->initialized = 1; + + init_special_inode(inode, S_IFCHR | S_IRUGO | S_IWUGO, MKDEV(MEM_MAJOR, 3)); + d_add(dentry, inode); + selinux_null = dentry; + + dentry = sel_alloc_name(sb->s_root, "avc"); + if (!dentry) + return -ENOMEM; + + ret = sel_make_dir(sb, dentry); + if (ret) + goto out; + + ret = sel_make_avc_files(dentry); + if (ret) + goto out; + return 0; out: dput(dentry); - printk(KERN_ERR "security: error creating conditional out_dput\n"); + printk(KERN_ERR "%s: failed while creating inodes\n", __FUNCTION__); return -ENOMEM; } @@ -1104,9 +1207,24 @@ static struct file_system_type sel_fs_type = { .kill_sb = kill_litter_super, }; +struct vfsmount *selinuxfs_mount; + static int __init init_sel_fs(void) { - return selinux_enabled ? register_filesystem(&sel_fs_type) : 0; + int err; + + if (!selinux_enabled) + return 0; + err = register_filesystem(&sel_fs_type); + if (!err) { + selinuxfs_mount = kern_mount(&sel_fs_type); + if (IS_ERR(selinuxfs_mount)) { + printk(KERN_ERR "selinuxfs: could not mount!\n"); + err = PTR_ERR(selinuxfs_mount); + selinuxfs_mount = NULL; + } + } + return err; } __initcall(init_sel_fs); diff --git a/security/selinux/ss/avtab.c b/security/selinux/ss/avtab.c index 66fbdbb58..bcfec7674 100644 --- a/security/selinux/ss/avtab.c +++ b/security/selinux/ss/avtab.c @@ -407,3 +407,8 @@ void avtab_cache_init(void) sizeof(struct avtab_node), 0, SLAB_PANIC, NULL, NULL); } + +void avtab_cache_destroy(void) +{ + kmem_cache_destroy (avtab_node_cachep); +} diff --git a/security/selinux/ss/avtab.h b/security/selinux/ss/avtab.h index f1d17575d..f636ac844 100644 --- a/security/selinux/ss/avtab.h +++ b/security/selinux/ss/avtab.h @@ -79,6 +79,7 @@ struct avtab_node *avtab_search_node(struct avtab *h, struct avtab_key *key, int struct avtab_node *avtab_search_node_next(struct avtab_node *node, int specified); void avtab_cache_init(void); +void avtab_cache_destroy(void); #define AVTAB_HASH_BITS 15 #define AVTAB_HASH_BUCKETS (1 << AVTAB_HASH_BITS) diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 8e4423b1c..97341688c 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c @@ -1034,13 +1034,16 @@ int security_load_policy(void *data, size_t len) LOAD_LOCK; if (!ss_initialized) { + avtab_cache_init(); if (policydb_read(&policydb, fp)) { LOAD_UNLOCK; + avtab_cache_destroy(); return -EINVAL; } if (policydb_load_isids(&policydb, &sidtab)) { LOAD_UNLOCK; policydb_destroy(&policydb); + avtab_cache_destroy(); return -EINVAL; } ss_initialized = 1; diff --git a/security/selinux/ss/sidtab.c b/security/selinux/ss/sidtab.c index 69e035a62..77d000246 100644 --- a/security/selinux/ss/sidtab.c +++ b/security/selinux/ss/sidtab.c @@ -16,8 +16,8 @@ (sid & SIDTAB_HASH_MASK) #define INIT_SIDTAB_LOCK(s) spin_lock_init(&s->lock) -#define SIDTAB_LOCK(s) spin_lock_irq(&s->lock) -#define SIDTAB_UNLOCK(s) spin_unlock_irq(&s->lock) +#define SIDTAB_LOCK(s, x) spin_lock_irqsave(&s->lock, x) +#define SIDTAB_UNLOCK(s, x) spin_unlock_irqrestore(&s->lock, x) int sidtab_init(struct sidtab *s) { @@ -237,12 +237,13 @@ int sidtab_context_to_sid(struct sidtab *s, { u32 sid; int ret = 0; + unsigned long flags; *out_sid = SECSID_NULL; sid = sidtab_search_context(s, context); if (!sid) { - SIDTAB_LOCK(s); + SIDTAB_LOCK(s, flags); /* Rescan now that we hold the lock. */ sid = sidtab_search_context(s, context); if (sid) @@ -257,7 +258,7 @@ int sidtab_context_to_sid(struct sidtab *s, if (ret) s->next_sid--; unlock_out: - SIDTAB_UNLOCK(s); + SIDTAB_UNLOCK(s, flags); } if (ret) @@ -320,17 +321,21 @@ void sidtab_destroy(struct sidtab *s) void sidtab_set(struct sidtab *dst, struct sidtab *src) { - SIDTAB_LOCK(src); + unsigned long flags; + + SIDTAB_LOCK(src, flags); dst->htable = src->htable; dst->nel = src->nel; dst->next_sid = src->next_sid; dst->shutdown = 0; - SIDTAB_UNLOCK(src); + SIDTAB_UNLOCK(src, flags); } void sidtab_shutdown(struct sidtab *s) { - SIDTAB_LOCK(s); + unsigned long flags; + + SIDTAB_LOCK(s, flags); s->shutdown = 1; - SIDTAB_UNLOCK(s); + SIDTAB_UNLOCK(s, flags); } diff --git a/sound/arm/sa11xx-uda1341.c b/sound/arm/sa11xx-uda1341.c index 59916802c..782fed3c9 100644 --- a/sound/arm/sa11xx-uda1341.c +++ b/sound/arm/sa11xx-uda1341.c @@ -21,7 +21,7 @@ * merged HAL layer (patches from Brian) */ -/* $Id: sa11xx-uda1341.c,v 1.15 2004/05/03 17:36:50 tiwai Exp $ */ +/* $Id: sa11xx-uda1341.c,v 1.18 2004/07/20 15:54:09 cladisch Exp $ */ /*************************************************************************************************** * @@ -108,16 +108,13 @@ MODULE_AUTHOR("Tomas Kasparek "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("SA1100/SA1111 + UDA1341TS driver for ALSA"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{UDA1341,iPAQ H3600 UDA1341TS}}"); +MODULE_SUPPORTED_DEVICE("{{UDA1341,iPAQ H3600 UDA1341TS}}"); static char *id = NULL; /* ID for this card */ module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for SA1100/SA1111 + UDA1341TS soundcard."); -#define chip_t sa11xx_uda1341_t - typedef struct audio_stream { char *id; /* identification string */ int stream_id; /* numeric identification */ @@ -152,10 +149,8 @@ static unsigned int rates[] = { 29400, 32000, 44100, 48000, }; -#define RATES sizeof(rates) / sizeof(rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_rates = { - .count = RATES, + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -869,7 +864,7 @@ static int __init snd_card_sa11xx_uda1341_pcm(sa11xx_uda1341_t *sa11xx_uda1341, static int snd_sa11xx_uda1341_suspend(snd_card_t *card, unsigned int state) { - sa11xx_uda1341_t *chip = snd_magic_cast(sa11x_uda1341_t, card->pm_private_data, return -EINVAL); + sa11xx_uda1341_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); #ifdef HH_VERSION @@ -886,7 +881,7 @@ static int snd_sa11xx_uda1341_suspend(snd_card_t *card, unsigned int state) static int snd_sa11xx_uda1341_resume(snd_card_t *card, unsigned int state) { - sa11xx_uda1341_t *chip = snd_magic_cast(sa11x_uda1341_t, card->pm_private_data, return -EINVAL); + sa11xx_uda1341_t *chip = card->pm_private_data; sa11xx_uda1341_audio_init(chip); l3_command(chip->uda1341, CMD_RESUME, NULL); @@ -903,7 +898,7 @@ static int snd_sa11xx_uda1341_resume(snd_card_t *card, unsigned int state) void snd_sa11xx_uda1341_free(snd_card_t *card) { - sa11xx_uda1341_t *chip = snd_magic_cast(sa11xx_uda1341_t, card->private_data, return); + sa11xx_uda1341_t *chip = card->private_data; audio_dma_free(&chip->s[SNDRV_PCM_STREAM_PLAYBACK]); audio_dma_free(&chip->s[SNDRV_PCM_STREAM_CAPTURE]); @@ -925,7 +920,7 @@ static int __init sa11xx_uda1341_init(void) if (card == NULL) return -ENOMEM; - sa11xx_uda1341 = snd_magic_kcalloc(sa11xx_uda1341_t, 0, GFP_KERNEL); + sa11xx_uda1341 = kcalloc(1, sizeof(*sa11xx_uda1341), GFP_KERNEL); if (sa11xx_uda1341 == NULL) return -ENOMEM; spin_lock_init(&chip->s[0].dma_lock); diff --git a/sound/core/control.c b/sound/core/control.c index c39afa644..9b000f7ec 100644 --- a/sound/core/control.c +++ b/sound/core/control.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -62,7 +63,7 @@ static int snd_ctl_open(struct inode *inode, struct file *file) err = -EFAULT; goto __error2; } - ctl = snd_magic_kcalloc(snd_ctl_file_t, 0, GFP_KERNEL); + ctl = kcalloc(1, sizeof(*ctl), GFP_KERNEL); if (ctl == NULL) { err = -ENOMEM; goto __error; @@ -108,7 +109,7 @@ static int snd_ctl_release(struct inode *inode, struct file *file) snd_kcontrol_t *control; unsigned int idx; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; fasync_helper(-1, file, 0, &ctl->fasync); file->private_data = NULL; card = ctl->card; @@ -124,7 +125,7 @@ static int snd_ctl_release(struct inode *inode, struct file *file) } up_write(&card->controls_rwsem); snd_ctl_empty_read_queue(ctl); - snd_magic_kfree(ctl); + kfree(ctl); module_put(card->module); snd_card_file_remove(card, file); return 0; @@ -155,7 +156,7 @@ void snd_ctl_notify(snd_card_t *card, unsigned int mask, snd_ctl_elem_id_t *id) goto _found; } } - ev = snd_kcalloc(sizeof(*ev), GFP_ATOMIC); + ev = kcalloc(1, sizeof(*ev), GFP_ATOMIC); if (ev) { ev->id = *id; ev->mask = mask; @@ -188,9 +189,7 @@ snd_kcontrol_t *snd_ctl_new(snd_kcontrol_t * control, unsigned int access) snd_runtime_check(control != NULL, return NULL); snd_runtime_check(control->count > 0, return NULL); - kctl = (snd_kcontrol_t *)snd_magic_kcalloc(snd_kcontrol_t, - sizeof(snd_kcontrol_volatile_t) * control->count, - GFP_KERNEL); + kctl = kcalloc(1, sizeof(*kctl) + sizeof(snd_kcontrol_volatile_t) * control->count, GFP_KERNEL); if (kctl == NULL) return NULL; *kctl = *control; @@ -249,7 +248,7 @@ void snd_ctl_free_one(snd_kcontrol_t * kcontrol) if (kcontrol) { if (kcontrol->private_free) kcontrol->private_free(kcontrol); - snd_magic_kfree(kcontrol); + kfree(kcontrol); } } @@ -927,7 +926,7 @@ static int snd_ctl_elem_add(snd_ctl_file_t *file, snd_ctl_elem_info_t __user *_i if (!(info.access & SNDRV_CTL_ELEM_ACCESS_DINDIRECT)) for (idx = 0; idx < 4 && info.dimen.d[idx]; idx++) dimen_size += sizeof(unsigned short); - ue = snd_kcalloc(sizeof(struct user_element) + dimen_size + private_size + extra_size, GFP_KERNEL); + ue = kcalloc(1, sizeof(struct user_element) + dimen_size + private_size + extra_size, GFP_KERNEL); if (ue == NULL) return -ENOMEM; ue->type = info.type; @@ -1022,8 +1021,8 @@ static int snd_ctl_set_power_state(snd_card_t *card, unsigned int power_state) } #endif -static int snd_ctl_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_ctl_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_ctl_file_t *ctl; snd_card_t *card; @@ -1033,7 +1032,7 @@ static int snd_ctl_ioctl(struct inode *inode, struct file *file, int __user *ip = argp; int err; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; card = ctl->card; snd_assert(card != NULL, return -ENXIO); switch (cmd) { @@ -1096,13 +1095,24 @@ static int snd_ctl_ioctl(struct inode *inode, struct file *file, return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_ctl_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_ctl_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static ssize_t snd_ctl_read(struct file *file, char __user *buffer, size_t count, loff_t * offset) { snd_ctl_file_t *ctl; int err = 0; ssize_t result = 0; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; snd_assert(ctl != NULL && ctl->card != NULL, return -ENXIO); if (!ctl->subscribed) return -EBADFD; @@ -1116,7 +1126,7 @@ static ssize_t snd_ctl_read(struct file *file, char __user *buffer, size_t count wait_queue_t wait; if ((file->f_flags & O_NONBLOCK) != 0 || result > 0) { err = -EAGAIN; - goto __end; + goto __end_lock; } init_waitqueue_entry(&wait, current); add_wait_queue(&ctl->change_sleep, &wait); @@ -1137,16 +1147,16 @@ static ssize_t snd_ctl_read(struct file *file, char __user *buffer, size_t count kfree(kev); if (copy_to_user(buffer, &ev, sizeof(snd_ctl_event_t))) { err = -EFAULT; - goto out; + goto __end; } spin_lock_irq(&ctl->read_lock); buffer += sizeof(snd_ctl_event_t); count -= sizeof(snd_ctl_event_t); result += sizeof(snd_ctl_event_t); } -__end: + __end_lock: spin_unlock_irq(&ctl->read_lock); -out: + __end: return result > 0 ? result : err; } @@ -1155,7 +1165,7 @@ static unsigned int snd_ctl_poll(struct file *file, poll_table * wait) unsigned int mask; snd_ctl_file_t *ctl; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return 0); + ctl = file->private_data; if (!ctl->subscribed) return 0; poll_wait(file, &ctl->change_sleep, wait); @@ -1175,8 +1185,7 @@ int snd_ctl_register_ioctl(snd_kctl_ioctl_func_t fcn) { snd_kctl_ioctl_t *pn; - pn = (snd_kctl_ioctl_t *) - snd_kcalloc(sizeof(snd_kctl_ioctl_t), GFP_KERNEL); + pn = kcalloc(1, sizeof(snd_kctl_ioctl_t), GFP_KERNEL); if (pn == NULL) return -ENOMEM; pn->fioctl = fcn; @@ -1214,7 +1223,7 @@ static int snd_ctl_fasync(int fd, struct file * file, int on) { snd_ctl_file_t *ctl; int err; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; err = fasync_helper(fd, file, on, &ctl->fasync); if (err < 0) return err; diff --git a/sound/core/init.c b/sound/core/init.c index 9c3df614a..1ff7667d7 100644 --- a/sound/core/init.c +++ b/sound/core/init.c @@ -73,7 +73,7 @@ snd_card_t *snd_card_new(int idx, const char *xid, if (extra_size < 0) extra_size = 0; - card = (snd_card_t *) snd_kcalloc(sizeof(snd_card_t) + extra_size, GFP_KERNEL); + card = kcalloc(1, sizeof(*card) + extra_size, GFP_KERNEL); if (card == NULL) return NULL; if (xid) { @@ -800,6 +800,8 @@ int snd_card_pci_resume(struct pci_dev *dev) return 0; if (card->power_state == SNDRV_CTL_POWER_D0) return 0; + /* restore the PCI config space */ + pci_restore_state(dev, dev->saved_config_space); /* FIXME: correct state value? */ return card->pm_resume(card, 0); } diff --git a/sound/core/ioctl32/ioctl32.c b/sound/core/ioctl32/ioctl32.c index 5c0d30c77..dad9cb1eb 100644 --- a/sound/core/ioctl32/ioctl32.c +++ b/sound/core/ioctl32/ioctl32.c @@ -257,7 +257,7 @@ static int get_ctl_type(struct file *file, snd_ctl_elem_id_t *id) snd_ctl_elem_info_t info; int err; - ctl = snd_magic_cast(snd_ctl_file_t, file->private_data, return -ENXIO); + ctl = file->private_data; down_read(&ctl->card->controls_rwsem); kctl = snd_ctl_find_id(ctl->card, id); diff --git a/sound/core/ioctl32/pcm32.c b/sound/core/ioctl32/pcm32.c index 41ea1dabe..caf5ee4c0 100644 --- a/sound/core/ioctl32/pcm32.c +++ b/sound/core/ioctl32/pcm32.c @@ -69,7 +69,7 @@ struct sndrv_pcm_hw_params32 { unsigned char reserved[64]; } __attribute__((packed)); -#define numberof(array) (sizeof(array)/sizeof(array[0])) +#define numberof(array) ARRAY_SIZE(array) #define CVT_sndrv_pcm_hw_params()\ {\ @@ -235,7 +235,7 @@ static int _snd_ioctl32_xfern(unsigned int fd, unsigned int cmd, unsigned long a /* FIXME: need to check whether fop->ioctl is sane */ - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL && substream->runtime, return -ENXIO); @@ -313,7 +313,7 @@ static void snd_pcm_hw_convert_from_old_params(snd_pcm_hw_params_t *params, stru memset(params, 0, sizeof(*params)); params->flags = oparams->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) params->masks[i].bits[0] = oparams->masks[i]; memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); @@ -331,7 +331,7 @@ static void snd_pcm_hw_convert_to_old_params(struct sndrv_pcm_hw_params_old32 *o memset(oparams, 0, sizeof(*oparams)); oparams->flags = params->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) oparams->masks[i] = params->masks[i].bits[0]; memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); @@ -350,8 +350,8 @@ static int _snd_ioctl32_pcm_hw_params_old(unsigned int fd, unsigned int cmd, uns mm_segment_t oldseg; int err; - data32 = snd_kcalloc(sizeof(*data32), GFP_KERNEL); - data = snd_kcalloc(sizeof(*data), GFP_KERNEL); + data32 = kcalloc(1, sizeof(*data32), GFP_KERNEL); + data = kcalloc(1, sizeof(*data), GFP_KERNEL); if (data32 == NULL || data == NULL) { err = -ENOMEM; goto __end; @@ -379,6 +379,45 @@ static int _snd_ioctl32_pcm_hw_params_old(unsigned int fd, unsigned int cmd, uns return err; } +struct sndrv_pcm_mmap_status32 { + s32 state; + s32 pad1; + u32 hw_ptr; + struct compat_timespec tstamp; + s32 suspended_state; +} __attribute__((packed)); + +struct sndrv_pcm_mmap_control32 { + u32 appl_ptr; + u32 avail_min; +} __attribute__((packed)); + +struct sndrv_pcm_sync_ptr32 { + u32 flags; + union { + struct sndrv_pcm_mmap_status32 status; + unsigned char reserved[64]; + } s; + union { + struct sndrv_pcm_mmap_control32 control; + unsigned char reserved[64]; + } c; +} __attribute__((packed)); + +#define CVT_sndrv_pcm_sync_ptr()\ +{\ + COPY(flags);\ + COPY(s.status.state);\ + COPY(s.status.pad1);\ + COPY(s.status.hw_ptr);\ + COPY(s.status.tstamp.tv_sec);\ + COPY(s.status.tstamp.tv_nsec);\ + COPY(s.status.suspended_state);\ + COPY(c.control.appl_ptr);\ + COPY(c.control.avail_min);\ +} + +DEFINE_ALSA_IOCTL_BIG(pcm_sync_ptr); /* */ @@ -396,6 +435,7 @@ DEFINE_ALSA_IOCTL_ENTRY(pcm_readi, xferi, SNDRV_PCM_IOCTL_READI_FRAMES); DEFINE_ALSA_IOCTL_ENTRY(pcm_writei, xferi, SNDRV_PCM_IOCTL_WRITEI_FRAMES); DEFINE_ALSA_IOCTL_ENTRY(pcm_readn, xfern, SNDRV_PCM_IOCTL_READN_FRAMES); DEFINE_ALSA_IOCTL_ENTRY(pcm_writen, xfern, SNDRV_PCM_IOCTL_WRITEN_FRAMES); +DEFINE_ALSA_IOCTL_ENTRY(pcm_sync_ptr, pcm_sync_ptr, SNDRV_PCM_IOCTL_SYNC_PTR); /* @@ -416,6 +456,7 @@ enum { SNDRV_PCM_IOCTL_READN_FRAMES32 = _IOR('A', 0x53, struct sndrv_xfern32), SNDRV_PCM_IOCTL_HW_REFINE_OLD32 = _IOWR('A', 0x10, struct sndrv_pcm_hw_params_old32), SNDRV_PCM_IOCTL_HW_PARAMS_OLD32 = _IOWR('A', 0x11, struct sndrv_pcm_hw_params_old32), + SNDRV_PCM_IOCTL_SYNC_PTR32 = _IOWR('A', 0x23, struct sndrv_pcm_sync_ptr), }; @@ -431,6 +472,8 @@ struct ioctl32_mapper pcm_mappers[] = { { SNDRV_PCM_IOCTL_SW_PARAMS32, AP(pcm_sw_params) }, { SNDRV_PCM_IOCTL_STATUS32, AP(pcm_status) }, { SNDRV_PCM_IOCTL_DELAY32, AP(pcm_delay) }, + MAP_COMPAT(SNDRV_PCM_IOCTL_HWSYNC), + { SNDRV_PCM_IOCTL_SYNC_PTR32, AP(pcm_sync_ptr) }, { SNDRV_PCM_IOCTL_CHANNEL_INFO32, AP(pcm_channel_info) }, MAP_COMPAT(SNDRV_PCM_IOCTL_PREPARE), MAP_COMPAT(SNDRV_PCM_IOCTL_RESET), diff --git a/sound/core/memalloc.c b/sound/core/memalloc.c index bc1e344e3..cc0b6028c 100644 --- a/sound/core/memalloc.c +++ b/sound/core/memalloc.c @@ -45,15 +45,19 @@ MODULE_LICENSE("GPL"); #ifndef SNDRV_CARDS #define SNDRV_CARDS 8 #endif + +/* FIXME: so far only some PCI devices have the preallocation table */ +#ifdef CONFIG_PCI static int enable[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = 1}; static int boot_devs; module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable cards to allocate buffers."); +#endif /* */ -void *snd_malloc_sgbuf_pages(const struct snd_dma_device *dev, +void *snd_malloc_sgbuf_pages(struct device *device, size_t size, struct snd_dma_buffer *dmab, size_t *res_size); int snd_free_sgbuf_pages(struct snd_dma_buffer *dmab); @@ -66,9 +70,8 @@ static LIST_HEAD(mem_list_head); /* buffer preservation list */ struct snd_mem_list { - struct snd_dma_device dev; struct snd_dma_buffer buffer; - int used; + unsigned int id; struct list_head list; }; @@ -148,6 +151,10 @@ static void *snd_dma_hack_alloc_coherent(struct device *dev, size_t size, #endif /* arch */ +#if ! defined(__arm__) +#define NEED_RESERVE_PAGES +#endif + /* * * Generic memory allocators @@ -156,22 +163,28 @@ static void *snd_dma_hack_alloc_coherent(struct device *dev, size_t size, static long snd_allocated_pages; /* holding the number of allocated pages */ -static void mark_pages(void *res, int order) +static inline void inc_snd_pages(int order) +{ + snd_allocated_pages += 1 << order; +} + +static inline void dec_snd_pages(int order) +{ + snd_allocated_pages -= 1 << order; +} + +static void mark_pages(struct page *page, int order) { - struct page *page = virt_to_page(res); struct page *last_page = page + (1 << order); while (page < last_page) SetPageReserved(page++); - snd_allocated_pages += 1 << order; } -static void unmark_pages(void *res, int order) +static void unmark_pages(struct page *page, int order) { - struct page *page = virt_to_page(res); struct page *last_page = page + (1 << order); while (page < last_page) ClearPageReserved(page++); - snd_allocated_pages -= 1 << order; } /** @@ -190,42 +203,14 @@ void *snd_malloc_pages(size_t size, unsigned int gfp_flags) snd_assert(size > 0, return NULL); snd_assert(gfp_flags != 0, return NULL); - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); + pg = get_order(size); if ((res = (void *) __get_free_pages(gfp_flags, pg)) != NULL) { - mark_pages(res, pg); + mark_pages(virt_to_page(res), pg); + inc_snd_pages(pg); } return res; } -/** - * snd_malloc_pages_fallback - allocate pages with the given size with fallback - * @size: the requested size to allocate in bytes - * @gfp_flags: the allocation conditions, GFP_XXX - * @res_size: the pointer to store the size of buffer actually allocated - * - * Allocates the physically contiguous pages with the given request - * size. When no space is left, this function reduces the size and - * tries to allocate again. The size actually allocated is stored in - * res_size argument. - * - * Returns the pointer of the buffer, or NULL if no enoguh memory. - */ -void *snd_malloc_pages_fallback(size_t size, unsigned int gfp_flags, size_t *res_size) -{ - void *res; - - snd_assert(size > 0, return NULL); - snd_assert(res_size != NULL, return NULL); - do { - if ((res = snd_malloc_pages(size, gfp_flags)) != NULL) { - *res_size = size; - return res; - } - size >>= 1; - } while (size >= PAGE_SIZE); - return NULL; -} - /** * snd_free_pages - release the pages * @ptr: the buffer pointer to release @@ -239,8 +224,9 @@ void snd_free_pages(void *ptr, size_t size) if (ptr == NULL) return; - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); - unmark_pages(ptr, pg); + pg = get_order(size); + dec_snd_pages(pg); + unmark_pages(virt_to_page(ptr), pg); free_pages((unsigned long) ptr, pg); } @@ -250,6 +236,7 @@ void snd_free_pages(void *ptr, size_t size) * */ +/* allocate the coherent DMA pages */ static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *dma) { int pg; @@ -263,28 +250,17 @@ static void *snd_malloc_dev_pages(struct device *dev, size_t size, dma_addr_t *d if (pg > 0) gfp_flags |= __GFP_NOWARN; res = dma_alloc_coherent(dev, PAGE_SIZE << pg, dma, gfp_flags); - if (res != NULL) - mark_pages(res, pg); + if (res != NULL) { +#ifdef NEED_RESERVE_PAGES + mark_pages(virt_to_page(res), pg); /* should be dma_to_page() */ +#endif + inc_snd_pages(pg); + } return res; } -static void *snd_malloc_dev_pages_fallback(struct device *dev, size_t size, - dma_addr_t *dma, size_t *res_size) -{ - void *res; - - snd_assert(res_size != NULL, return NULL); - do { - if ((res = snd_malloc_dev_pages(dev, size, dma)) != NULL) { - *res_size = size; - return res; - } - size >>= 1; - } while (size >= PAGE_SIZE); - return NULL; -} - +/* free the coherent DMA pages */ static void snd_free_dev_pages(struct device *dev, size_t size, void *ptr, dma_addr_t dma) { @@ -293,7 +269,10 @@ static void snd_free_dev_pages(struct device *dev, size_t size, void *ptr, if (ptr == NULL) return; pg = get_order(size); - unmark_pages(ptr, pg); + dec_snd_pages(pg); +#ifdef NEED_RESERVE_PAGES + unmark_pages(virt_to_page(ptr), pg); /* should be dma_to_page() */ +#endif dma_free_coherent(dev, PAGE_SIZE << pg, ptr, dma); } @@ -308,30 +287,13 @@ static void *snd_malloc_sbus_pages(struct device *dev, size_t size, snd_assert(size > 0, return NULL); snd_assert(dma_addr != NULL, return NULL); - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); + pg = get_order(size); res = sbus_alloc_consistent(sdev, PAGE_SIZE * (1 << pg), dma_addr); - if (res != NULL) { - mark_pages(res, pg); - } + if (res != NULL) + inc_snd_pages(pg); return res; } -static void *snd_malloc_sbus_pages_fallback(struct device *dev, size_t size, - dma_addr_t *dma_addr, size_t *res_size) -{ - void *res; - - snd_assert(res_size != NULL, return NULL); - do { - if ((res = snd_malloc_sbus_pages(dev, size, dma_addr)) != NULL) { - *res_size = size; - return res; - } - size >>= 1; - } while (size >= PAGE_SIZE); - return NULL; -} - static void snd_free_sbus_pages(struct device *dev, size_t size, void *ptr, dma_addr_t dma_addr) { @@ -340,8 +302,8 @@ static void snd_free_sbus_pages(struct device *dev, size_t size, if (ptr == NULL) return; - for (pg = 0; PAGE_SIZE * (1 << pg) < size; pg++); - unmark_pages(ptr, pg); + pg = get_order(size); + dec_snd_pages(pg); sbus_free_consistent(sdev, PAGE_SIZE * (1 << pg), ptr, dma_addr); } @@ -354,24 +316,10 @@ static void snd_free_sbus_pages(struct device *dev, size_t size, */ -/* - * compare the two devices - * returns non-zero if matched. - */ -static int compare_device(const struct snd_dma_device *a, const struct snd_dma_device *b, int allow_unused) -{ - if (a->type != b->type) - return 0; - if (a->id != b->id) { - if (! allow_unused || (a->id != SNDRV_DMA_DEVICE_UNUSED && b->id != SNDRV_DMA_DEVICE_UNUSED)) - return 0; - } - return a->dev == b->dev; -} - /** * snd_dma_alloc_pages - allocate the buffer area according to the given type - * @dev: the buffer device info + * @type: the DMA buffer type + * @device: the device pointer * @size: the buffer size to allocate * @dmab: buffer allocation record to store the allocated data * @@ -381,32 +329,33 @@ static int compare_device(const struct snd_dma_device *a, const struct snd_dma_d * Returns zero if the buffer with the given size is allocated successfuly, * other a negative value at error. */ -int snd_dma_alloc_pages(const struct snd_dma_device *dev, size_t size, +int snd_dma_alloc_pages(int type, struct device *device, size_t size, struct snd_dma_buffer *dmab) { - snd_assert(dev != NULL, return -ENXIO); snd_assert(size > 0, return -ENXIO); snd_assert(dmab != NULL, return -ENXIO); + dmab->dev.type = type; + dmab->dev.dev = device; dmab->bytes = 0; - switch (dev->type) { + switch (type) { case SNDRV_DMA_TYPE_CONTINUOUS: - dmab->area = snd_malloc_pages(size, (unsigned long)dev->dev); + dmab->area = snd_malloc_pages(size, (unsigned long)device); dmab->addr = 0; break; #ifdef CONFIG_SBUS case SNDRV_DMA_TYPE_SBUS: - dmab->area = snd_malloc_sbus_pages(dev->dev, size, &dmab->addr); + dmab->area = snd_malloc_sbus_pages(device, size, &dmab->addr); break; #endif case SNDRV_DMA_TYPE_DEV: - dmab->area = snd_malloc_dev_pages(dev->dev, size, &dmab->addr); + dmab->area = snd_malloc_dev_pages(device, size, &dmab->addr); break; case SNDRV_DMA_TYPE_DEV_SG: - snd_malloc_sgbuf_pages(dev, size, dmab, NULL); + snd_malloc_sgbuf_pages(device, size, dmab, NULL); break; default: - printk(KERN_ERR "snd-malloc: invalid device type %d\n", dev->type); + printk(KERN_ERR "snd-malloc: invalid device type %d\n", type); dmab->area = NULL; dmab->addr = 0; return -ENXIO; @@ -419,7 +368,8 @@ int snd_dma_alloc_pages(const struct snd_dma_device *dev, size_t size, /** * snd_dma_alloc_pages_fallback - allocate the buffer area according to the given type with fallback - * @dev: the buffer device info + * @type: the DMA buffer type + * @device: the device pointer * @size: the buffer size to allocate * @dmab: buffer allocation record to store the allocated data * @@ -431,35 +381,20 @@ int snd_dma_alloc_pages(const struct snd_dma_device *dev, size_t size, * Returns zero if the buffer with the given size is allocated successfuly, * other a negative value at error. */ -int snd_dma_alloc_pages_fallback(const struct snd_dma_device *dev, size_t size, +int snd_dma_alloc_pages_fallback(int type, struct device *device, size_t size, struct snd_dma_buffer *dmab) { - snd_assert(dev != NULL, return -ENXIO); + int err; + snd_assert(size > 0, return -ENXIO); snd_assert(dmab != NULL, return -ENXIO); - dmab->bytes = 0; - switch (dev->type) { - case SNDRV_DMA_TYPE_CONTINUOUS: - dmab->area = snd_malloc_pages_fallback(size, (unsigned long)dev->dev, &dmab->bytes); - dmab->addr = 0; - break; -#ifdef CONFIG_SBUS - case SNDRV_DMA_TYPE_SBUS: - dmab->area = snd_malloc_sbus_pages_fallback(dev->dev, size, &dmab->addr, &dmab->bytes); - break; -#endif - case SNDRV_DMA_TYPE_DEV: - dmab->area = snd_malloc_dev_pages_fallback(dev->dev, size, &dmab->addr, &dmab->bytes); - break; - case SNDRV_DMA_TYPE_DEV_SG: - snd_malloc_sgbuf_pages(dev, size, dmab, &dmab->bytes); - break; - default: - printk(KERN_ERR "snd-malloc: invalid device type %d\n", dev->type); - dmab->area = NULL; - dmab->addr = 0; - return -ENXIO; + while ((err = snd_dma_alloc_pages(type, device, size, dmab)) < 0) { + if (err != -ENOMEM) + return err; + size >>= 1; + if (size <= PAGE_SIZE) + return -ENOMEM; } if (! dmab->area) return -ENOMEM; @@ -469,152 +404,87 @@ int snd_dma_alloc_pages_fallback(const struct snd_dma_device *dev, size_t size, /** * snd_dma_free_pages - release the allocated buffer - * @dev: the buffer device info - * @dmbab: the buffer allocation record to release + * @dmab: the buffer allocation record to release * * Releases the allocated buffer via snd_dma_alloc_pages(). */ -void snd_dma_free_pages(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab) +void snd_dma_free_pages(struct snd_dma_buffer *dmab) { - switch (dev->type) { + switch (dmab->dev.type) { case SNDRV_DMA_TYPE_CONTINUOUS: snd_free_pages(dmab->area, dmab->bytes); break; #ifdef CONFIG_SBUS case SNDRV_DMA_TYPE_SBUS: - snd_free_sbus_pages(dev->dev, dmab->bytes, dmab->area, dmab->addr); + snd_free_sbus_pages(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); break; #endif case SNDRV_DMA_TYPE_DEV: - snd_free_dev_pages(dev->dev, dmab->bytes, dmab->area, dmab->addr); + snd_free_dev_pages(dmab->dev.dev, dmab->bytes, dmab->area, dmab->addr); break; case SNDRV_DMA_TYPE_DEV_SG: snd_free_sgbuf_pages(dmab); break; default: - printk(KERN_ERR "snd-malloc: invalid device type %d\n", dev->type); + printk(KERN_ERR "snd-malloc: invalid device type %d\n", dmab->dev.type); } } -/* - * search for the device - */ -static struct snd_mem_list *mem_list_find(const struct snd_dma_device *dev, int search_empty) -{ - struct list_head *p; - struct snd_mem_list *mem; - - list_for_each(p, &mem_list_head) { - mem = list_entry(p, struct snd_mem_list, list); - if (mem->used && search_empty) - continue; - if (compare_device(&mem->dev, dev, search_empty)) - return mem; - } - return NULL; -} - /** * snd_dma_get_reserved - get the reserved buffer for the given device - * @dev: the buffer device info * @dmab: the buffer allocation record to store + * @id: the buffer id * * Looks for the reserved-buffer list and re-uses if the same buffer - * is found in the list. When the buffer is found, it's marked as used. - * For unmarking the buffer, call snd_dma_free_reserved(). + * is found in the list. When the buffer is found, it's removed from the free list. * * Returns the size of buffer if the buffer is found, or zero if not found. */ -size_t snd_dma_get_reserved(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab) +size_t snd_dma_get_reserved_buf(struct snd_dma_buffer *dmab, unsigned int id) { + struct list_head *p; struct snd_mem_list *mem; - snd_assert(dev && dmab, return 0); + snd_assert(dmab, return 0); down(&list_mutex); - mem = mem_list_find(dev, 1); - if (mem) { - mem->used = 1; - mem->dev = *dev; - *dmab = mem->buffer; - up(&list_mutex); - return dmab->bytes; + list_for_each(p, &mem_list_head) { + mem = list_entry(p, struct snd_mem_list, list); + if (mem->id == id && + ! memcmp(&mem->buffer.dev, &dmab->dev, sizeof(dmab->dev))) { + list_del(p); + *dmab = mem->buffer; + kfree(mem); + up(&list_mutex); + return dmab->bytes; + } } up(&list_mutex); return 0; } /** - * snd_dma_free_reserved - unmark the reserved buffer - * @dev: the buffer device info - * - * Looks for the matching reserved buffer and erases the mark on it - * if found. - * - * Returns zero. - */ -int snd_dma_free_reserved(const struct snd_dma_device *dev) -{ - struct snd_mem_list *mem; - - snd_assert(dev, return -EINVAL); - down(&list_mutex); - mem = mem_list_find(dev, 0); - if (mem) - mem->used = 0; - up(&list_mutex); - return 0; -} - -/** - * snd_dma_set_reserved - reserve the buffer - * @dev: the buffer device info + * snd_dma_reserve_buf - reserve the buffer * @dmab: the buffer to reserve + * @id: the buffer id * * Reserves the given buffer as a reserved buffer. - * When an old reserved buffer already exists, the old one is released - * and replaced with the new one. - * - * When NULL buffer pointer or zero buffer size is given, the existing - * buffer is released and the entry is removed. * * Returns zero if successful, or a negative code at error. */ -int snd_dma_set_reserved(const struct snd_dma_device *dev, struct snd_dma_buffer *dmab) +int snd_dma_reserve_buf(struct snd_dma_buffer *dmab, unsigned int id) { struct snd_mem_list *mem; - snd_assert(dev, return -EINVAL); + snd_assert(dmab, return -EINVAL); + mem = kmalloc(sizeof(*mem), GFP_KERNEL); + if (! mem) + return -ENOMEM; down(&list_mutex); - mem = mem_list_find(dev, 0); - if (mem) { - if (mem->used) - printk(KERN_WARNING "snd-page-alloc: releasing the used block (type=%d, id=0x%x\n", mem->dev.type, mem->dev.id); - snd_dma_free_pages(dev, &mem->buffer); - if (! dmab || ! dmab->bytes) { - /* remove the entry */ - list_del(&mem->list); - kfree(mem); - up(&list_mutex); - return 0; - } - } else { - if (! dmab || ! dmab->bytes) { - up(&list_mutex); - return 0; - } - mem = kmalloc(sizeof(*mem), GFP_KERNEL); - if (! mem) { - up(&list_mutex); - return -ENOMEM; - } - mem->dev = *dev; - list_add_tail(&mem->list, &mem_list_head); - } - /* store the entry */ - mem->used = 1; mem->buffer = *dmab; + mem->id = id; + list_add_tail(&mem->list, &mem_list_head); up(&list_mutex); return 0; } @@ -632,7 +502,7 @@ static void free_all_reserved_pages(void) p = mem_list_head.next; mem = list_entry(p, struct snd_mem_list, list); list_del(p); - snd_dma_free_pages(&mem->dev, &mem->buffer); + snd_dma_free_pages(&mem->buffer); kfree(mem); } up(&list_mutex); @@ -654,7 +524,7 @@ struct prealloc_dev { unsigned int buffers; }; -#define HAMMERFALL_BUFFER_SIZE (16*1024*4*(26+1)) +#define HAMMERFALL_BUFFER_SIZE (16*1024*4*(26+1)+0x10000) static struct prealloc_dev prealloc_devices[] __initdata = { { @@ -676,17 +546,6 @@ static struct prealloc_dev prealloc_devices[] __initdata = { { }, /* terminator */ }; -/* - * compose a snd_dma_device struct for the PCI device - */ -static inline void snd_dma_device_pci(struct snd_dma_device *dev, struct pci_dev *pci, unsigned int id) -{ - memset(dev, 0, sizeof(*dev)); - dev->type = SNDRV_DMA_TYPE_DEV; - dev->dev = snd_dma_pci_data(pci); - dev->id = id; -} - static void __init preallocate_cards(void) { struct pci_dev *pci = NULL; @@ -716,22 +575,13 @@ static void __init preallocate_cards(void) continue; } for (i = 0; i < dev->buffers; i++) { - struct snd_mem_list *mem; - mem = kmalloc(sizeof(*mem), GFP_KERNEL); - if (! mem) { - printk(KERN_WARNING "snd-page-alloc: can't malloc memlist\n"); - break; - } - memset(mem, 0, sizeof(*mem)); - snd_dma_device_pci(&mem->dev, pci, SNDRV_DMA_DEVICE_UNUSED); - if (snd_dma_alloc_pages(&mem->dev, dev->size, &mem->buffer) < 0) { + struct snd_dma_buffer dmab; + memset(&dmab, 0, sizeof(dmab)); + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + dev->size, &dmab) < 0) printk(KERN_WARNING "snd-page-alloc: cannot allocate buffer pages (size = %d)\n", dev->size); - kfree(mem); - } else { - down(&list_mutex); - list_add_tail(&mem->list, &mem_list_head); - up(&list_mutex); - } + else + snd_dma_reserve_buf(&dmab, snd_dma_pci_buf_id(pci)); } } } @@ -752,48 +602,22 @@ static int snd_mem_proc_read(char *page, char **start, off_t off, struct list_head *p; struct snd_mem_list *mem; int devno; + static char *types[] = { "UNKNOWN", "CONT", "DEV", "DEV-SG", "SBUS" }; down(&list_mutex); - len += sprintf(page + len, "pages : %li bytes (%li pages per %likB)\n", - pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); + len += snprintf(page + len, count - len, + "pages : %li bytes (%li pages per %likB)\n", + pages * PAGE_SIZE, pages, PAGE_SIZE / 1024); devno = 0; list_for_each(p, &mem_list_head) { mem = list_entry(p, struct snd_mem_list, list); devno++; - len += sprintf(page + len, "buffer %d : ", devno); - if (mem->dev.id == SNDRV_DMA_DEVICE_UNUSED) - len += sprintf(page + len, "UNUSED"); - else - len += sprintf(page + len, "ID %08x", mem->dev.id); - len += sprintf(page + len, " : type "); - switch (mem->dev.type) { - case SNDRV_DMA_TYPE_CONTINUOUS: - len += sprintf(page + len, "CONT [%p]", mem->dev.dev); - break; -#ifdef CONFIG_SBUS - case SNDRV_DMA_TYPE_SBUS: - { - struct sbus_dev *sdev = (struct sbus_dev *)(mem->dev.dev); - len += sprintf(page + len, "SBUS [%x]", sdev->slot); - } - break; -#endif - case SNDRV_DMA_TYPE_DEV: - case SNDRV_DMA_TYPE_DEV_SG: - if (mem->dev.dev) { - len += sprintf(page + len, "%s [%s]", - mem->dev.type == SNDRV_DMA_TYPE_DEV_SG ? "DEV-SG" : "DEV", - mem->dev.dev->bus_id); - } else - len += sprintf(page + len, "ISA"); - break; - default: - len += sprintf(page + len, "UNKNOWN"); - break; - } - len += sprintf(page + len, "\n addr = 0x%lx, size = %d bytes, used = %s\n", - (unsigned long)mem->buffer.addr, (int)mem->buffer.bytes, - mem->used ? "yes" : "no"); + len += snprintf(page + len, count - len, + "buffer %d : ID %08x : type %s\n", + devno, mem->id, types[mem->buffer.dev.type]); + len += snprintf(page + len, count - len, + " addr = 0x%lx, size = %d bytes\n", + (unsigned long)mem->buffer.addr, (int)mem->buffer.bytes); } up(&list_mutex); return len; @@ -833,10 +657,8 @@ EXPORT_SYMBOL(snd_dma_alloc_pages); EXPORT_SYMBOL(snd_dma_alloc_pages_fallback); EXPORT_SYMBOL(snd_dma_free_pages); -EXPORT_SYMBOL(snd_dma_get_reserved); -EXPORT_SYMBOL(snd_dma_free_reserved); -EXPORT_SYMBOL(snd_dma_set_reserved); +EXPORT_SYMBOL(snd_dma_get_reserved_buf); +EXPORT_SYMBOL(snd_dma_reserve_buf); EXPORT_SYMBOL(snd_malloc_pages); -EXPORT_SYMBOL(snd_malloc_pages_fallback); EXPORT_SYMBOL(snd_free_pages); diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c index 86e50e58d..570d7bef2 100644 --- a/sound/core/oss/pcm_oss.c +++ b/sound/core/oss/pcm_oss.c @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -53,13 +54,10 @@ MODULE_DESCRIPTION("PCM OSS emulation for ALSA."); MODULE_LICENSE("GPL"); module_param_array(dsp_map, int, boot_devs, 0444); MODULE_PARM_DESC(dsp_map, "PCM device number assigned to 1st OSS device."); -MODULE_PARM_SYNTAX(dsp_map, "default:0,skill:advanced"); module_param_array(adsp_map, int, boot_devs, 0444); MODULE_PARM_DESC(adsp_map, "PCM device number assigned to 2nd OSS device."); -MODULE_PARM_SYNTAX(adsp_map, "default:1,skill:advanced"); module_param(nonblock_open, bool, 0644); MODULE_PARM_DESC(nonblock_open, "Don't block opening busy PCM devices."); -MODULE_PARM_SYNTAX(nonblock_open, "default:0,skill:advanced"); MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_PCM); MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_PCM1); @@ -1177,10 +1175,11 @@ static int snd_pcm_oss_get_formats(snd_pcm_oss_file_t *pcm_oss_file) snd_pcm_substream_t *substream; int err; int direct; - snd_pcm_hw_params_t params; + snd_pcm_hw_params_t *params; unsigned int formats = 0; snd_mask_t format_mask; int fmt; + if ((err = snd_pcm_oss_get_active_substream(pcm_oss_file, &substream)) < 0) return err; if (atomic_read(&substream->runtime->mmap_count)) { @@ -1194,10 +1193,14 @@ static int snd_pcm_oss_get_formats(snd_pcm_oss_file_t *pcm_oss_file) AFMT_S16_LE | AFMT_S16_BE | AFMT_S8 | AFMT_U16_LE | AFMT_U16_BE; - _snd_pcm_hw_params_any(¶ms); - err = snd_pcm_hw_refine(substream, ¶ms); + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) + return -ENOMEM; + _snd_pcm_hw_params_any(params); + err = snd_pcm_hw_refine(substream, params); + format_mask = *hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); + kfree(params); snd_assert(err >= 0, return err); - format_mask = *hw_param_mask(¶ms, SNDRV_PCM_HW_PARAM_FORMAT); for (fmt = 0; fmt < 32; ++fmt) { if (snd_mask_test(&format_mask, fmt)) { int f = snd_pcm_oss_format_to(fmt); @@ -1693,7 +1696,7 @@ static int snd_pcm_oss_release_file(snd_pcm_oss_file_t *pcm_oss_file) snd_pcm_oss_release_substream(substream); snd_pcm_release_substream(substream); } - snd_magic_kfree(pcm_oss_file); + kfree(pcm_oss_file); return 0; } @@ -1712,7 +1715,7 @@ static int snd_pcm_oss_open_file(struct file *file, snd_assert(rpcm_oss_file != NULL, return -EINVAL); *rpcm_oss_file = NULL; - pcm_oss_file = snd_magic_kcalloc(snd_pcm_oss_file_t, 0, GFP_KERNEL); + pcm_oss_file = kcalloc(1, sizeof(*pcm_oss_file), GFP_KERNEL); if (pcm_oss_file == NULL) return -ENOMEM; @@ -1810,7 +1813,7 @@ static int snd_pcm_oss_open(struct inode *inode, struct file *file) static char printed_comm[16]; if (strncmp(printed_comm, current->comm, 16)) { - printk("application %s uses obsolete OSS audio interface\n", + printk(KERN_DEBUG "application %s uses obsolete OSS audio interface\n", current->comm); memcpy(printed_comm, current->comm, 16); } @@ -1899,7 +1902,7 @@ static int snd_pcm_oss_release(struct inode *inode, struct file *file) snd_pcm_substream_t *substream; snd_pcm_oss_file_t *pcm_oss_file; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; if (substream == NULL) substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; @@ -1915,14 +1918,14 @@ static int snd_pcm_oss_release(struct inode *inode, struct file *file) return 0; } -static int snd_pcm_oss_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_pcm_oss_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_pcm_oss_file_t *pcm_oss_file; int __user *p = (int __user *)arg; int res; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; if (cmd == OSS_GETVERSION) return put_user(SNDRV_OSS_VERSION, p); if (cmd == OSS_ALSAEMULVER) @@ -2075,12 +2078,23 @@ static int snd_pcm_oss_ioctl(struct inode *inode, struct file *file, return -EINVAL; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_pcm_oss_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_pcm_oss_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static ssize_t snd_pcm_oss_read(struct file *file, char __user *buf, size_t count, loff_t *offset) { snd_pcm_oss_file_t *pcm_oss_file; snd_pcm_substream_t *substream; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; if (substream == NULL) return -ENXIO; @@ -2101,7 +2115,7 @@ static ssize_t snd_pcm_oss_write(struct file *file, const char __user *buf, size snd_pcm_substream_t *substream; long result; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; if (substream == NULL) return -ENXIO; @@ -2138,7 +2152,7 @@ static unsigned int snd_pcm_oss_poll(struct file *file, poll_table * wait) unsigned int mask; snd_pcm_substream_t *psubstream = NULL, *csubstream = NULL; - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return 0); + pcm_oss_file = file->private_data; psubstream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; csubstream = pcm_oss_file->streams[SNDRV_PCM_STREAM_CAPTURE]; @@ -2185,7 +2199,7 @@ static int snd_pcm_oss_mmap(struct file *file, struct vm_area_struct *area) #ifdef OSS_DEBUG printk("pcm_oss: mmap begin\n"); #endif - pcm_oss_file = snd_magic_cast(snd_pcm_oss_file_t, file->private_data, return -ENXIO); + pcm_oss_file = file->private_data; switch ((area->vm_flags & (VM_READ | VM_WRITE))) { case VM_READ | VM_WRITE: substream = pcm_oss_file->streams[SNDRV_PCM_STREAM_PLAYBACK]; @@ -2287,7 +2301,7 @@ static void snd_pcm_oss_proc_write(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { snd_pcm_str_t *pstr = (snd_pcm_str_t *)entry->private_data; - char line[512], str[32], task_name[32], *ptr; + char line[256], str[32], task_name[32], *ptr; int idx1; snd_pcm_oss_setup_t *setup, *setup1, template; diff --git a/sound/core/oss/pcm_plugin.c b/sound/core/oss/pcm_plugin.c index 6fd63ca66..855071fcb 100644 --- a/sound/core/oss/pcm_plugin.c +++ b/sound/core/oss/pcm_plugin.c @@ -172,7 +172,7 @@ int snd_pcm_plugin_build(snd_pcm_plug_t *plug, snd_assert(plug != NULL, return -ENXIO); snd_assert(src_format != NULL && dst_format != NULL, return -ENXIO); - plugin = (snd_pcm_plugin_t *)snd_kcalloc(sizeof(*plugin) + extra, GFP_KERNEL); + plugin = kcalloc(1, sizeof(*plugin) + extra, GFP_KERNEL); if (plugin == NULL) return -ENOMEM; plugin->name = name; @@ -189,7 +189,7 @@ int snd_pcm_plugin_build(snd_pcm_plug_t *plug, channels = src_format->channels; else channels = dst_format->channels; - plugin->buf_channels = snd_kcalloc(channels * sizeof(*plugin->buf_channels), GFP_KERNEL); + plugin->buf_channels = kcalloc(channels, sizeof(*plugin->buf_channels), GFP_KERNEL); if (plugin->buf_channels == NULL) { snd_pcm_plugin_free(plugin); return -ENOMEM; @@ -370,7 +370,7 @@ int snd_pcm_plug_slave_format(int format, snd_mask_t *format_mask) unsigned int i; switch (format) { case SNDRV_PCM_FORMAT_MU_LAW: - for (i = 0; i < sizeof(preferred_formats) / sizeof(preferred_formats[0]); ++i) { + for (i = 0; i < ARRAY_SIZE(preferred_formats); ++i) { int format1 = preferred_formats[i]; if (snd_mask_test(format_mask, format1)) return format1; @@ -468,7 +468,7 @@ int snd_pcm_plug_format_plugins(snd_pcm_plug_t *plug, if (srcformat.channels > dstformat.channels) { int sv = srcformat.channels; int dv = dstformat.channels; - route_ttable_entry_t *ttable = snd_kcalloc(dv*sv*sizeof(*ttable), GFP_KERNEL); + route_ttable_entry_t *ttable = kcalloc(dv * sv, sizeof(*ttable), GFP_KERNEL); if (ttable == NULL) return -ENOMEM; #if 1 @@ -531,7 +531,7 @@ int snd_pcm_plug_format_plugins(snd_pcm_plug_t *plug, if (srcformat.channels < dstformat.channels) { int sv = srcformat.channels; int dv = dstformat.channels; - route_ttable_entry_t *ttable = snd_kcalloc(dv * sv * sizeof(*ttable), GFP_KERNEL); + route_ttable_entry_t *ttable = kcalloc(dv * sv, sizeof(*ttable), GFP_KERNEL); if (ttable == NULL) return -ENOMEM; #if 0 @@ -846,41 +846,31 @@ int snd_pcm_area_silence(const snd_pcm_channel_area_t *dst_area, size_t dst_offs size_t samples, int format) { /* FIXME: sub byte resolution and odd dst_offset */ - char *dst; + unsigned char *dst; unsigned int dst_step; int width; - u_int64_t silence; + const unsigned char *silence; if (!dst_area->addr) return 0; dst = dst_area->addr + (dst_area->first + dst_area->step * dst_offset) / 8; width = snd_pcm_format_physical_width(format); + if (width <= 0) + return -EINVAL; + if (dst_area->step == (unsigned int) width && width >= 8) + return snd_pcm_format_set_silence(format, dst, samples); silence = snd_pcm_format_silence_64(format); - if (dst_area->step == (unsigned int) width) { - size_t dwords = samples * width / 64; - u_int64_t *dst64 = (u_int64_t *)dst; - - samples -= dwords * 64 / width; - while (dwords-- > 0) - *dst64++ = silence; - if (samples == 0) - return 0; - dst = (char *)dst64; - } + if (! silence) + return -EINVAL; dst_step = dst_area->step / 8; - switch (width) { - case 4: { - u_int8_t s0 = silence & 0xf0; - u_int8_t s1 = silence & 0x0f; + if (width == 4) { + /* Ima ADPCM */ int dstbit = dst_area->first % 8; int dstbit_step = dst_area->step % 8; while (samples-- > 0) { - if (dstbit) { + if (dstbit) *dst &= 0xf0; - *dst |= s1; - } else { + else *dst &= 0x0f; - *dst |= s0; - } dst += dst_step; dstbit += dstbit_step; if (dstbit == 8) { @@ -888,41 +878,12 @@ int snd_pcm_area_silence(const snd_pcm_channel_area_t *dst_area, size_t dst_offs dstbit = 0; } } - break; - } - case 8: { - u_int8_t sil = silence; - while (samples-- > 0) { - *dst = sil; - dst += dst_step; - } - break; - } - case 16: { - u_int16_t sil = silence; - while (samples-- > 0) { - *(u_int16_t*)dst = sil; - dst += dst_step; - } - break; - } - case 32: { - u_int32_t sil = silence; - while (samples-- > 0) { - *(u_int32_t*)dst = sil; - dst += dst_step; - } - break; - } - case 64: { + } else { + width /= 8; while (samples-- > 0) { - *(u_int64_t*)dst = silence; + memcpy(dst, silence, width); dst += dst_step; } - break; - } - default: - snd_BUG(); } return 0; } @@ -942,18 +903,18 @@ int snd_pcm_area_copy(const snd_pcm_channel_area_t *src_area, size_t src_offset, if (!dst_area->addr) return 0; width = snd_pcm_format_physical_width(format); + if (width <= 0) + return -EINVAL; if (src_area->step == (unsigned int) width && - dst_area->step == (unsigned int) width) { + dst_area->step == (unsigned int) width && width >= 8) { size_t bytes = samples * width / 8; - samples -= bytes * 8 / width; memcpy(dst, src, bytes); - if (samples == 0) - return 0; + return 0; } src_step = src_area->step / 8; dst_step = dst_area->step / 8; - switch (width) { - case 4: { + if (width == 4) { + /* Ima ADPCM */ int srcbit = src_area->first % 8; int srcbit_step = src_area->step % 8; int dstbit = dst_area->first % 8; @@ -963,12 +924,11 @@ int snd_pcm_area_copy(const snd_pcm_channel_area_t *src_area, size_t src_offset, if (srcbit) srcval = *src & 0x0f; else - srcval = *src & 0xf0; + srcval = (*src & 0xf0) >> 4; if (dstbit) - *dst &= 0xf0; + *dst = (*dst & 0xf0) | srcval; else - *dst &= 0x0f; - *dst |= srcval; + *dst = (*dst & 0x0f) | (srcval << 4); src += src_step; srcbit += srcbit_step; if (srcbit == 8) { @@ -982,42 +942,13 @@ int snd_pcm_area_copy(const snd_pcm_channel_area_t *src_area, size_t src_offset, dstbit = 0; } } - break; - } - case 8: { - while (samples-- > 0) { - *dst = *src; - src += src_step; - dst += dst_step; - } - break; - } - case 16: { - while (samples-- > 0) { - *(u_int16_t*)dst = *(u_int16_t*)src; - src += src_step; - dst += dst_step; - } - break; - } - case 32: { - while (samples-- > 0) { - *(u_int32_t*)dst = *(u_int32_t*)src; - src += src_step; - dst += dst_step; - } - break; - } - case 64: { + } else { + width /= 8; while (samples-- > 0) { - *(u_int64_t*)dst = *(u_int64_t*)src; + memcpy(dst, src, width); src += src_step; dst += dst_step; } - break; - } - default: - snd_BUG(); } return 0; } diff --git a/sound/core/oss/route.c b/sound/core/oss/route.c index a33764fd6..4d53bea2e 100644 --- a/sound/core/oss/route.c +++ b/sound/core/oss/route.c @@ -458,7 +458,7 @@ static int route_load_ttable(snd_pcm_plugin_t *plugin, dptr->func = route_to_channel; if (nsrcs > 0) { int srcidx; - dptr->srcs = snd_kcalloc(nsrcs * sizeof(*srcs), GFP_KERNEL); + dptr->srcs = kcalloc(nsrcs, sizeof(*srcs), GFP_KERNEL); for(srcidx = 0; srcidx < nsrcs; srcidx++) dptr->srcs[srcidx] = srcs[srcidx]; } else diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index b104d3815..743464536 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c @@ -128,12 +128,29 @@ void snd_pcm_playback_silence(snd_pcm_substream_t *substream, snd_pcm_uframes_t } } +static void xrun(snd_pcm_substream_t *substream) +{ + snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); +#ifdef CONFIG_SND_DEBUG + if (substream->pstr->xrun_debug) { + snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", + substream->pcm->card->number, + substream->pcm->device, + substream->stream ? 'c' : 'p'); + if (substream->pstr->xrun_debug > 1) + dump_stack(); + } +#endif +} + static inline snd_pcm_uframes_t snd_pcm_update_hw_ptr_pos(snd_pcm_substream_t *substream, snd_pcm_runtime_t *runtime) { snd_pcm_uframes_t pos; pos = substream->ops->pointer(substream); + if (pos == SNDRV_PCM_POS_XRUN) + return pos; /* XRUN */ if (runtime->tstamp_mode & SNDRV_PCM_TSTAMP_MMAP) snd_timestamp_now((snd_timestamp_t*)&runtime->status->tstamp, runtime->tstamp_timespec); #ifdef CONFIG_SND_DEBUG @@ -158,19 +175,10 @@ static inline int snd_pcm_update_hw_ptr_post(snd_pcm_substream_t *substream, if (avail > runtime->avail_max) runtime->avail_max = avail; if (avail >= runtime->stop_threshold) { - snd_pcm_stop(substream, - runtime->status->state == SNDRV_PCM_STATE_DRAINING ? - SNDRV_PCM_STATE_SETUP : SNDRV_PCM_STATE_XRUN); -#ifdef CONFIG_SND_DEBUG - if (substream->pstr->xrun_debug) { - snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", - substream->pcm->card->number, - substream->pcm->device, - substream->stream ? 'c' : 'p'); - if (substream->pstr->xrun_debug > 1) - dump_stack(); - } -#endif + if (substream->runtime->status->state == SNDRV_PCM_STATE_DRAINING) + snd_pcm_stop(substream, SNDRV_PCM_STATE_SETUP); + else + xrun(substream); return -EPIPE; } if (avail >= runtime->control->avail_min) @@ -186,6 +194,10 @@ static inline int snd_pcm_update_hw_ptr_interrupt(snd_pcm_substream_t *substream snd_pcm_sframes_t delta; pos = snd_pcm_update_hw_ptr_pos(substream, runtime); + if (pos == SNDRV_PCM_POS_XRUN) { + xrun(substream); + return -EPIPE; + } if (runtime->period_size == runtime->buffer_size) goto __next_buf; new_hw_ptr = runtime->hw_ptr_base + pos; @@ -230,6 +242,10 @@ int snd_pcm_update_hw_ptr(snd_pcm_substream_t *substream) old_hw_ptr = runtime->status->hw_ptr; pos = snd_pcm_update_hw_ptr_pos(substream, runtime); + if (pos == SNDRV_PCM_POS_XRUN) { + xrun(substream); + return -EPIPE; + } new_hw_ptr = runtime->hw_ptr_base + pos; delta = old_hw_ptr - new_hw_ptr; @@ -887,22 +903,18 @@ int snd_pcm_hw_rule_add(snd_pcm_runtime_t *runtime, unsigned int cond, va_list args; va_start(args, dep); if (constrs->rules_num >= constrs->rules_all) { - snd_pcm_hw_rule_t *old = constrs->rules; - if (constrs->rules_all == 0) - constrs->rules_all = 32; - else { - old = constrs->rules; - constrs->rules_all += 10; - } - constrs->rules = snd_kcalloc(constrs->rules_all * sizeof(*c), - GFP_KERNEL); - if (!constrs->rules) + snd_pcm_hw_rule_t *new; + unsigned int new_rules = constrs->rules_all + 16; + new = kcalloc(new_rules, sizeof(*c), GFP_KERNEL); + if (!new) return -ENOMEM; - if (old) { - memcpy(constrs->rules, old, + if (constrs->rules) { + memcpy(new, constrs->rules, constrs->rules_num * sizeof(*c)); - kfree(old); + kfree(constrs->rules); } + constrs->rules = new; + constrs->rules_all = new_rules; } c = &constrs->rules[constrs->rules_num]; c->cond = cond; @@ -911,7 +923,7 @@ int snd_pcm_hw_rule_add(snd_pcm_runtime_t *runtime, unsigned int cond, c->private = private; k = 0; while (1) { - snd_assert(k < sizeof(c->deps) / sizeof(c->deps[0]), return -EINVAL); + snd_assert(k < ARRAY_SIZE(c->deps), return -EINVAL); c->deps[k++] = dep; if (dep < 0) break; @@ -1109,7 +1121,7 @@ static int snd_pcm_hw_rule_pow2(snd_pcm_hw_params_t *params, snd_pcm_hw_rule_t * 1<<24, 1<<25, 1<<26, 1<<27, 1<<28, 1<<29, 1<<30 }; return snd_interval_list(hw_param_interval(params, rule->var), - sizeof(pow2_sizes)/sizeof(int), pow2_sizes, 0); + ARRAY_SIZE(pow2_sizes), pow2_sizes, 0); } /** @@ -1769,12 +1781,14 @@ static int snd_pcm_lib_ioctl_reset(snd_pcm_substream_t *substream, void *arg) { snd_pcm_runtime_t *runtime = substream->runtime; + unsigned long flags; + snd_pcm_stream_lock_irqsave(substream, flags); if (snd_pcm_running(substream) && - snd_pcm_update_hw_ptr(substream) >= 0) { + snd_pcm_update_hw_ptr(substream) >= 0) runtime->status->hw_ptr %= runtime->buffer_size; - return 0; - } - runtime->status->hw_ptr = 0; + else + runtime->status->hw_ptr = 0; + snd_pcm_stream_unlock_irqrestore(substream, flags); return 0; } diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c index ab70ba7b6..16a81240a 100644 --- a/sound/core/pcm_memory.c +++ b/sound/core/pcm_memory.c @@ -32,12 +32,10 @@ static int preallocate_dma = 1; module_param(preallocate_dma, int, 0444); MODULE_PARM_DESC(preallocate_dma, "Preallocate DMA memory when the PCM devices are initialized."); -MODULE_PARM_SYNTAX(preallocate_dma, SNDRV_BOOLEAN_TRUE_DESC); static int maximum_substreams = 4; module_param(maximum_substreams, int, 0444); MODULE_PARM_DESC(maximum_substreams, "Maximum substreams with preallocated DMA memory."); -MODULE_PARM_SYNTAX(maximum_substreams, SNDRV_BOOLEAN_TRUE_DESC); const static size_t snd_minimum_buffer = 16384; @@ -56,26 +54,21 @@ static int preallocate_pcm_pages(snd_pcm_substream_t *substream, size_t size) snd_assert(size > 0, return -EINVAL); /* already reserved? */ - if (snd_dma_get_reserved(&substream->dma_device, dmab) > 0) { + if (snd_dma_get_reserved_buf(dmab, substream->dma_buf_id) > 0) { if (dmab->bytes >= size) return 0; /* yes */ - /* no, reset the reserved block */ - /* if we can find bigger pages below, this block will be - * automatically removed in snd_dma_set_reserved(). - */ - snd_dma_free_reserved(&substream->dma_device); + /* no, free the reserved block */ + snd_dma_free_pages(dmab); dmab->bytes = 0; } do { - if ((err = snd_dma_alloc_pages(&substream->dma_device, size, dmab)) < 0) { + if ((err = snd_dma_alloc_pages(dmab->dev.type, dmab->dev.dev, + size, dmab)) < 0) { if (err != -ENOMEM) return err; /* fatal error */ - } else { - /* remember this one */ - snd_dma_set_reserved(&substream->dma_device, dmab); + } else return 0; - } size >>= 1; } while (size >= snd_minimum_buffer); dmab->bytes = 0; /* tell error */ @@ -89,7 +82,10 @@ static void snd_pcm_lib_preallocate_dma_free(snd_pcm_substream_t *substream) { if (substream->dma_buffer.area == NULL) return; - snd_dma_free_reserved(&substream->dma_device); + if (substream->dma_buf_id) + snd_dma_reserve_buf(&substream->dma_buffer, substream->dma_buf_id); + else + snd_dma_free_pages(&substream->dma_buffer); substream->dma_buffer.area = NULL; } @@ -108,7 +104,6 @@ int snd_pcm_lib_preallocate_free(snd_pcm_substream_t *substream) snd_info_unregister(substream->proc_prealloc_entry); substream->proc_prealloc_entry = NULL; } - substream->dma_device.type = SNDRV_DMA_TYPE_UNKNOWN; return 0; } @@ -170,18 +165,20 @@ static void snd_pcm_lib_preallocate_proc_write(snd_info_entry_t *entry, if (substream->dma_buffer.bytes == size) return; memset(&new_dmab, 0, sizeof(new_dmab)); + new_dmab.dev = substream->dma_buffer.dev; if (size > 0) { - - if (snd_dma_alloc_pages(&substream->dma_device, size, &new_dmab) < 0) { + if (snd_dma_alloc_pages(substream->dma_buffer.dev.type, + substream->dma_buffer.dev.dev, + size, &new_dmab) < 0) { buffer->error = -ENOMEM; return; } substream->buffer_bytes_max = size; - snd_dma_free_reserved(&substream->dma_device); } else { substream->buffer_bytes_max = UINT_MAX; } - snd_dma_set_reserved(&substream->dma_device, &new_dmab); + if (substream->dma_buffer.area) + snd_dma_free_pages(&substream->dma_buffer); substream->dma_buffer = new_dmab; } else { buffer->error = -EINVAL; @@ -196,7 +193,6 @@ static int snd_pcm_lib_preallocate_pages1(snd_pcm_substream_t *substream, { snd_info_entry_t *entry; - memset(&substream->dma_buffer, 0, sizeof(substream->dma_buffer)); if (size > 0 && preallocate_dma && substream->number < maximum_substreams) preallocate_pcm_pages(substream, size); @@ -219,20 +215,6 @@ static int snd_pcm_lib_preallocate_pages1(snd_pcm_substream_t *substream, } -/* - * set up the unique pcm id - */ -static inline void setup_pcm_id(snd_pcm_substream_t *subs) -{ - if (! subs->dma_device.id) { - subs->dma_device.id = subs->pcm->device << 16 | - subs->stream << 8 | (subs->number + 1); - if (subs->dma_device.type == SNDRV_DMA_TYPE_CONTINUOUS || - subs->dma_device.dev == NULL) - subs->dma_device.id |= (subs->pcm->card->number + 1) << 24; - } -} - /** * snd_pcm_lib_preallocate_pages - pre-allocation for the given DMA type * @substream: the pcm substream instance @@ -241,7 +223,12 @@ static inline void setup_pcm_id(snd_pcm_substream_t *subs) * @size: the requested pre-allocation size in bytes * @max: the max. allowed pre-allocation size * - * Do pre-allocation for the given DMA type. + * Do pre-allocation for the given DMA buffer type. + * + * When substream->dma_buf_id is set, the function tries to look for + * the reserved buffer, and the buffer is not freed but reserved at + * destruction time. The dma_buf_id must be unique for all systems + * (in the same DMA buffer type) e.g. using snd_dma_pci_buf_id(). * * Returns zero if successful, or a negative error code on failure. */ @@ -249,9 +236,8 @@ int snd_pcm_lib_preallocate_pages(snd_pcm_substream_t *substream, int type, struct device *data, size_t size, size_t max) { - substream->dma_device.type = type; - substream->dma_device.dev = data; - setup_pcm_id(substream); + substream->dma_buffer.dev.type = type; + substream->dma_buffer.dev.dev = data; return snd_pcm_lib_preallocate_pages1(substream, size, max); } @@ -314,31 +300,38 @@ struct page *snd_pcm_sgbuf_ops_page(snd_pcm_substream_t *substream, unsigned lon int snd_pcm_lib_malloc_pages(snd_pcm_substream_t *substream, size_t size) { snd_pcm_runtime_t *runtime; - struct snd_dma_buffer dmab; + struct snd_dma_buffer *dmab = NULL; - snd_assert(substream->dma_device.type != SNDRV_DMA_TYPE_UNKNOWN, return -EINVAL); + snd_assert(substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_UNKNOWN, return -EINVAL); snd_assert(substream != NULL, return -EINVAL); runtime = substream->runtime; - snd_assert(runtime != NULL, return -EINVAL); + snd_assert(runtime != NULL, return -EINVAL); - if (runtime->dma_area != NULL) { + if (runtime->dma_buffer_p) { /* perphaps, we might free the large DMA memory region to save some space here, but the actual solution costs us less time */ - if (runtime->dma_bytes >= size) + if (runtime->dma_buffer_p->bytes >= size) { + runtime->dma_bytes = size; return 0; /* ok, do not change */ + } snd_pcm_lib_free_pages(substream); } if (substream->dma_buffer.area != NULL && substream->dma_buffer.bytes >= size) { - dmab = substream->dma_buffer; /* use the pre-allocated buffer */ + dmab = &substream->dma_buffer; /* use the pre-allocated buffer */ } else { - memset(&dmab, 0, sizeof(dmab)); /* allocate a new buffer */ - if (snd_dma_alloc_pages(&substream->dma_device, size, &dmab) < 0) + dmab = kcalloc(1, sizeof(*dmab), GFP_KERNEL); + if (! dmab) + return -ENOMEM; + dmab->dev = substream->dma_buffer.dev; + if (snd_dma_alloc_pages(substream->dma_buffer.dev.type, + substream->dma_buffer.dev.dev, + size, dmab) < 0) { + kfree(dmab); return -ENOMEM; + } } - runtime->dma_area = dmab.area; - runtime->dma_addr = dmab.addr; - runtime->dma_private = dmab.private_data; + snd_pcm_set_runtime_buffer(substream, dmab); runtime->dma_bytes = size; return 1; /* area was changed */ } @@ -360,34 +353,11 @@ int snd_pcm_lib_free_pages(snd_pcm_substream_t *substream) snd_assert(runtime != NULL, return -EINVAL); if (runtime->dma_area == NULL) return 0; - if (runtime->dma_area != substream->dma_buffer.area) { + if (runtime->dma_buffer_p != &substream->dma_buffer) { /* it's a newly allocated buffer. release it now. */ - struct snd_dma_buffer dmab; - memset(&dmab, 0, sizeof(dmab)); - dmab.area = runtime->dma_area; - dmab.addr = runtime->dma_addr; - dmab.bytes = runtime->dma_bytes; - dmab.private_data = runtime->dma_private; - snd_dma_free_pages(&substream->dma_device, &dmab); + snd_dma_free_pages(runtime->dma_buffer_p); + kfree(runtime->dma_buffer_p); } - runtime->dma_area = NULL; - runtime->dma_addr = 0UL; - runtime->dma_bytes = 0; - runtime->dma_private = NULL; + snd_pcm_set_runtime_buffer(substream, NULL); return 0; } - -#ifndef MODULE - -/* format is: snd-pcm=preallocate_dma,maximum_substreams */ - -static int __init alsa_pcm_setup(char *str) -{ - (void)(get_option(&str,&preallocate_dma) == 2 && - get_option(&str,&maximum_substreams) == 2); - return 1; -} - -__setup("snd-pcm=", alsa_pcm_setup); - -#endif /* ifndef MODULE */ diff --git a/sound/core/pcm_misc.c b/sound/core/pcm_misc.c index a35ed275d..794372b6d 100644 --- a/sound/core/pcm_misc.c +++ b/sound/core/pcm_misc.c @@ -23,12 +23,169 @@ #include #include #include -#define bswap_16 swab16 -#define bswap_32 swab32 -#define bswap_64 swab64 #define SND_PCM_FORMAT_UNKNOWN (-1) -#define snd_enum_to_int(v) (v) -#define snd_int_to_enum(v) (v) + +struct pcm_format_data { + char width; /* bit width */ + char phys; /* physical bit width */ + char le; /* 0 = big-endian, 1 = little-endian, -1 = others */ + char signd; /* 0 = unsigned, 1 = signed, -1 = others */ + unsigned char silence[8]; /* silence data to fill */ +}; + +static struct pcm_format_data pcm_formats[SNDRV_PCM_FORMAT_LAST+1] = { + [SNDRV_PCM_FORMAT_S8] = { + .width = 8, .phys = 8, .le = -1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U8] = { + .width = 8, .phys = 8, .le = -1, .signd = 0, + .silence = { 0x80 }, + }, + [SNDRV_PCM_FORMAT_S16_LE] = { + .width = 16, .phys = 16, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S16_BE] = { + .width = 16, .phys = 16, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U16_LE] = { + .width = 16, .phys = 16, .le = 1, .signd = 0, + .silence = { 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U16_BE] = { + .width = 16, .phys = 16, .le = 0, .signd = 0, + .silence = { 0x80, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S24_LE] = { + .width = 24, .phys = 32, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S24_BE] = { + .width = 24, .phys = 32, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U24_LE] = { + .width = 24, .phys = 32, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U24_BE] = { + .width = 24, .phys = 32, .le = 0, .signd = 0, + .silence = { 0x80, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S32_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S32_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U32_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U32_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = 0, + .silence = { 0x80, 0x00, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_FLOAT_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_FLOAT_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_FLOAT64_LE] = { + .width = 64, .phys = 64, .le = 1, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_FLOAT64_BE] = { + .width = 64, .phys = 64, .le = 0, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE] = { + .width = 32, .phys = 32, .le = 1, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE] = { + .width = 32, .phys = 32, .le = 0, .signd = -1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_MU_LAW] = { + .width = 8, .phys = 8, .le = -1, .signd = -1, + .silence = { 0x7f }, + }, + [SNDRV_PCM_FORMAT_A_LAW] = { + .width = 8, .phys = 8, .le = -1, .signd = -1, + .silence = { 0x55 }, + }, + [SNDRV_PCM_FORMAT_IMA_ADPCM] = { + .width = 4, .phys = 4, .le = -1, .signd = -1, + .silence = {}, + }, + /* FIXME: the following three formats are not defined properly yet */ + [SNDRV_PCM_FORMAT_MPEG] = { + .le = -1, .signd = -1, + }, + [SNDRV_PCM_FORMAT_GSM] = { + .le = -1, .signd = -1, + }, + [SNDRV_PCM_FORMAT_SPECIAL] = { + .le = -1, .signd = -1, + }, + [SNDRV_PCM_FORMAT_S24_3LE] = { + .width = 24, .phys = 24, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S24_3BE] = { + .width = 24, .phys = 24, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U24_3LE] = { + .width = 24, .phys = 24, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x80 }, + }, + [SNDRV_PCM_FORMAT_U24_3BE] = { + .width = 24, .phys = 24, .le = 0, .signd = 0, + .silence = { 0x80, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S20_3LE] = { + .width = 20, .phys = 24, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S20_3BE] = { + .width = 20, .phys = 24, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U20_3LE] = { + .width = 20, .phys = 24, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x08 }, + }, + [SNDRV_PCM_FORMAT_U20_3BE] = { + .width = 20, .phys = 24, .le = 0, .signd = 0, + .silence = { 0x08, 0x00, 0x00 }, + }, + [SNDRV_PCM_FORMAT_S18_3LE] = { + .width = 18, .phys = 24, .le = 1, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_S18_3BE] = { + .width = 18, .phys = 24, .le = 0, .signd = 1, + .silence = {}, + }, + [SNDRV_PCM_FORMAT_U18_3LE] = { + .width = 18, .phys = 24, .le = 1, .signd = 0, + .silence = { 0x00, 0x00, 0x02 }, + }, + [SNDRV_PCM_FORMAT_U18_3BE] = { + .width = 18, .phys = 24, .le = 0, .signd = 0, + .silence = { 0x02, 0x00, 0x00 }, + }, +}; + /** * snd_pcm_format_signed - Check the PCM format is signed linear @@ -39,38 +196,12 @@ */ int snd_pcm_format_signed(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - return 1; - case SNDRV_PCM_FORMAT_U8: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - return 0; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].signd) < 0) + return -EINVAL; + return val; } /** @@ -110,42 +241,12 @@ int snd_pcm_format_linear(snd_pcm_format_t format) */ int snd_pcm_format_little_endian(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U18_3LE: - return 1; - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_BE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U24_3BE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_U18_3BE: - return 0; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].le) < 0) + return -EINVAL; + return val; } /** @@ -190,55 +291,12 @@ int snd_pcm_format_cpu_endian(snd_pcm_format_t format) */ int snd_pcm_format_width(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_U8: - return 8; - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - return 16; - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - return 18; - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - return 20; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - return 24; - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - return 32; - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - return 64; - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return 32; - case SNDRV_PCM_FORMAT_MU_LAW: - case SNDRV_PCM_FORMAT_A_LAW: - return 8; - case SNDRV_PCM_FORMAT_IMA_ADPCM: - return 4; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].width) == 0) + return -EINVAL; + return val; } /** @@ -250,52 +308,12 @@ int snd_pcm_format_width(snd_pcm_format_t format) */ int snd_pcm_format_physical_width(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_U8: - return 8; - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - return 16; - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - return 24; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return 32; - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - return 64; - case SNDRV_PCM_FORMAT_MU_LAW: - case SNDRV_PCM_FORMAT_A_LAW: - return 8; - case SNDRV_PCM_FORMAT_IMA_ADPCM: - return 4; - default: + int val; + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) return -EINVAL; - } + if ((val = pcm_formats[format].phys) == 0) + return -EINVAL; + return val; } /** @@ -307,216 +325,25 @@ int snd_pcm_format_physical_width(snd_pcm_format_t format) */ ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_U8: - return samples; - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_U16_LE: - case SNDRV_PCM_FORMAT_U16_BE: - return samples * 2; - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - case SNDRV_PCM_FORMAT_U18_3LE: - case SNDRV_PCM_FORMAT_U18_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_U20_3LE: - case SNDRV_PCM_FORMAT_U20_3BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_U24_3LE: - case SNDRV_PCM_FORMAT_U24_3BE: - return samples * 3; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_U24_LE: - case SNDRV_PCM_FORMAT_U24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_U32_LE: - case SNDRV_PCM_FORMAT_U32_BE: - case SNDRV_PCM_FORMAT_FLOAT_LE: - case SNDRV_PCM_FORMAT_FLOAT_BE: - return samples * 4; - case SNDRV_PCM_FORMAT_FLOAT64_LE: - case SNDRV_PCM_FORMAT_FLOAT64_BE: - return samples * 8; - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return samples * 4; - case SNDRV_PCM_FORMAT_MU_LAW: - case SNDRV_PCM_FORMAT_A_LAW: - return samples; - case SNDRV_PCM_FORMAT_IMA_ADPCM: - if (samples & 1) - return -EINVAL; - return samples / 2; - default: + int phys_width = snd_pcm_format_physical_width(format); + if (phys_width < 0) return -EINVAL; - } + return samples * phys_width / 8; } /** - * snd_pcm_format_silence_64 - return the silent data in 64bit integer + * snd_pcm_format_silence_64 - return the silent data in 8 bytes array * @format: the format to check * - * Returns the silent data in 64bit integer for the given format. + * Returns the format pattern to fill or NULL if error. */ -u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format) +const unsigned char *snd_pcm_format_silence_64(snd_pcm_format_t format) { - switch (snd_enum_to_int(format)) { - case SNDRV_PCM_FORMAT_S8: - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - case SNDRV_PCM_FORMAT_S24_3LE: - case SNDRV_PCM_FORMAT_S24_3BE: - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - case SNDRV_PCM_FORMAT_S18_3LE: - case SNDRV_PCM_FORMAT_S18_3BE: - return 0; - case SNDRV_PCM_FORMAT_U8: - return 0x8080808080808080ULL; -#ifdef SNDRV_LITTLE_ENDIAN - case SNDRV_PCM_FORMAT_U16_LE: - return 0x8000800080008000ULL; - case SNDRV_PCM_FORMAT_U24_LE: - return 0x0080000000800000ULL; - case SNDRV_PCM_FORMAT_U32_LE: - return 0x8000000080000000ULL; - case SNDRV_PCM_FORMAT_U16_BE: - return 0x0080008000800080ULL; - case SNDRV_PCM_FORMAT_U24_BE: - return 0x0000800000008000ULL; - case SNDRV_PCM_FORMAT_U32_BE: - return 0x0000008000000080ULL; - case SNDRV_PCM_FORMAT_U24_3LE: - return 0x0000800000800000ULL; - case SNDRV_PCM_FORMAT_U24_3BE: - return 0x0080000080000080ULL; - case SNDRV_PCM_FORMAT_U20_3LE: - return 0x0000080000080000ULL; - case SNDRV_PCM_FORMAT_U20_3BE: - return 0x0008000008000008ULL; - case SNDRV_PCM_FORMAT_U18_3LE: - return 0x0000020000020000ULL; - case SNDRV_PCM_FORMAT_U18_3BE: - return 0x0002000002000002ULL; -#else - case SNDRV_PCM_FORMAT_U16_LE: - return 0x0080008000800080ULL; - case SNDRV_PCM_FORMAT_U24_LE: - return 0x0000800000008000ULL; - case SNDRV_PCM_FORMAT_U32_LE: - return 0x0000008000000080ULL; - case SNDRV_PCM_FORMAT_U16_BE: - return 0x8000800080008000ULL; - case SNDRV_PCM_FORMAT_U24_BE: - return 0x0080000000800000ULL; - case SNDRV_PCM_FORMAT_U32_BE: - return 0x8000000080000000ULL; - case SNDRV_PCM_FORMAT_U24_3LE: - return 0x0080000080000080ULL; - case SNDRV_PCM_FORMAT_U24_3BE: - return 0x0000800000800000ULL; - case SNDRV_PCM_FORMAT_U20_3LE: - return 0x0008000008000008ULL; - case SNDRV_PCM_FORMAT_U20_3BE: - return 0x0000080000080000ULL; - case SNDRV_PCM_FORMAT_U18_3LE: - return 0x0002000002000002ULL; - case SNDRV_PCM_FORMAT_U18_3BE: - return 0x0000020000020000ULL; -#endif - case SNDRV_PCM_FORMAT_FLOAT_LE: - { - union { - float f; - u_int32_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return u.i; -#else - return bswap_32(u.i); -#endif - } - case SNDRV_PCM_FORMAT_FLOAT64_LE: - { - union { - double f; - u_int64_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return u.i; -#else - return bswap_64(u.i); -#endif - } - case SNDRV_PCM_FORMAT_FLOAT_BE: - { - union { - float f; - u_int32_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return bswap_32(u.i); -#else - return u.i; -#endif - } - case SNDRV_PCM_FORMAT_FLOAT64_BE: - { - union { - double f; - u_int64_t i; - } u; - u.f = 0.0; -#ifdef SNDRV_LITTLE_ENDIAN - return bswap_64(u.i); -#else - return u.i; -#endif - } - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE: - case SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE: - return 0; - case SNDRV_PCM_FORMAT_MU_LAW: - return 0x7f7f7f7f7f7f7f7fULL; - case SNDRV_PCM_FORMAT_A_LAW: - return 0x5555555555555555ULL; - case SNDRV_PCM_FORMAT_IMA_ADPCM: /* special case */ - case SNDRV_PCM_FORMAT_MPEG: - case SNDRV_PCM_FORMAT_GSM: - case SNDRV_PCM_FORMAT_SPECIAL: - return 0; - default: - return -EINVAL; - } - return 0; -} - -u_int32_t snd_pcm_format_silence_32(snd_pcm_format_t format) -{ - return (u_int32_t)snd_pcm_format_silence_64(format); -} - -u_int16_t snd_pcm_format_silence_16(snd_pcm_format_t format) -{ - return (u_int16_t)snd_pcm_format_silence_64(format); -} - -u_int8_t snd_pcm_format_silence(snd_pcm_format_t format) -{ - return (u_int8_t)snd_pcm_format_silence_64(format); + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) + return NULL; + if (! pcm_formats[format].phys) + return NULL; + return pcm_formats[format].silence; } /** @@ -531,99 +358,73 @@ u_int8_t snd_pcm_format_silence(snd_pcm_format_t format) */ int snd_pcm_format_set_silence(snd_pcm_format_t format, void *data, unsigned int samples) { + int width; + unsigned char *dst, *pat; + + if (format < 0 || format > SNDRV_PCM_FORMAT_LAST) + return -EINVAL; if (samples == 0) return 0; - switch (snd_pcm_format_width(format)) { - case 4: { - u_int8_t silence = snd_pcm_format_silence_64(format); - unsigned int samples1; - if (samples % 2 != 0) - return -EINVAL; - samples1 = samples / 2; - memset(data, silence, samples1); - break; + width = pcm_formats[format].phys; /* physical width */ + pat = pcm_formats[format].silence; + if (! width) + return -EINVAL; + /* signed or 1 byte data */ + if (pcm_formats[format].signd == 1 || width <= 8) { + unsigned int bytes = samples * width / 8; + memset(data, *pat, bytes); + return 0; } - case 8: { - u_int8_t silence = snd_pcm_format_silence_64(format); - memset(data, silence, samples); - break; + /* non-zero samples, fill using a loop */ + width /= 8; + dst = data; +#if 0 + while (samples--) { + memcpy(dst, pat, width); + dst += width; } - case 16: { - u_int16_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 2); - else { - u_int16_t *data16 = data; - while (samples-- > 0) - *data16++ = silence; +#else + /* a bit optimization for constant width */ + switch (width) { + case 2: + while (samples--) { + memcpy(dst, pat, 2); + dst += 2; } break; - } - case 24: { - u_int32_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 3); - else { - while (samples-- > 0) { - u_int8_t *data8 = data; -#ifdef SNDRV_LITTLE_ENDIAN - *data8++ = silence >> 0; - *data8++ = silence >> 8; - *data8++ = silence >> 16; -#else - *data8++ = silence >> 16; - *data8++ = silence >> 8; - *data8++ = silence >> 0; -#endif - } + case 3: + while (samples--) { + memcpy(dst, pat, 3); + dst += 3; } break; - } - case 32: { - u_int32_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 4); - else { - u_int32_t *data32 = data; - while (samples-- > 0) - *data32++ = silence; + case 4: + while (samples--) { + memcpy(dst, pat, 4); + dst += 4; } break; - } - case 64: { - u_int64_t silence = snd_pcm_format_silence_64(format); - if (! silence) - memset(data, 0, samples * 8); - else { - u_int64_t *data64 = data; - while (samples-- > 0) - *data64++ = silence; + case 8: + while (samples--) { + memcpy(dst, pat, 8); + dst += 8; } break; } - default: - return -EINVAL; - } +#endif return 0; } -static int linear_formats[4*2*2] = { - SNDRV_PCM_FORMAT_S8, - SNDRV_PCM_FORMAT_S8, - SNDRV_PCM_FORMAT_U8, - SNDRV_PCM_FORMAT_U8, - SNDRV_PCM_FORMAT_S16_LE, - SNDRV_PCM_FORMAT_S16_BE, - SNDRV_PCM_FORMAT_U16_LE, - SNDRV_PCM_FORMAT_U16_BE, - SNDRV_PCM_FORMAT_S24_LE, - SNDRV_PCM_FORMAT_S24_BE, - SNDRV_PCM_FORMAT_U24_LE, - SNDRV_PCM_FORMAT_U24_BE, - SNDRV_PCM_FORMAT_S32_LE, - SNDRV_PCM_FORMAT_S32_BE, - SNDRV_PCM_FORMAT_U32_LE, - SNDRV_PCM_FORMAT_U32_BE +/* [width][unsigned][bigendian] */ +static int linear_formats[4][2][2] = { + {{ SNDRV_PCM_FORMAT_S8, SNDRV_PCM_FORMAT_S8}, + { SNDRV_PCM_FORMAT_U8, SNDRV_PCM_FORMAT_U8}}, + {{SNDRV_PCM_FORMAT_S16_LE, SNDRV_PCM_FORMAT_S16_BE}, + {SNDRV_PCM_FORMAT_U16_LE, SNDRV_PCM_FORMAT_U16_BE}}, + {{SNDRV_PCM_FORMAT_S24_LE, SNDRV_PCM_FORMAT_S24_BE}, + {SNDRV_PCM_FORMAT_U24_LE, SNDRV_PCM_FORMAT_U24_BE}}, + {{SNDRV_PCM_FORMAT_S32_LE, SNDRV_PCM_FORMAT_S32_BE}, + {SNDRV_PCM_FORMAT_U32_LE, SNDRV_PCM_FORMAT_U32_BE}} }; /** @@ -636,23 +437,12 @@ static int linear_formats[4*2*2] = { */ snd_pcm_format_t snd_pcm_build_linear_format(int width, int unsignd, int big_endian) { - switch (width) { - case 8: - width = 0; - break; - case 16: - width = 1; - break; - case 24: - width = 2; - break; - case 32: - width = 3; - break; - default: + if (width & 7) return SND_PCM_FORMAT_UNKNOWN; - } - return snd_int_to_enum(((int(*)[2][2])linear_formats)[width][!!unsignd][!!big_endian]); + width = (width / 8) - 1; + if (width < 0 || width >= 4) + return SND_PCM_FORMAT_UNKNOWN; + return linear_formats[width][!!unsignd][!!big_endian]; } /** diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 6d5271f3f..b35253508 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include /* * Compatibility @@ -64,6 +66,7 @@ static int snd_pcm_hw_params_old_user(snd_pcm_substream_t * substream, struct sn */ rwlock_t snd_pcm_link_rwlock = RW_LOCK_UNLOCKED; +static DECLARE_RWSEM(snd_pcm_link_rwsem); static inline mm_segment_t snd_enter_user(void) @@ -304,13 +307,25 @@ int snd_pcm_hw_refine(snd_pcm_substream_t *substream, static int snd_pcm_hw_refine_user(snd_pcm_substream_t * substream, snd_pcm_hw_params_t __user * _params) { - snd_pcm_hw_params_t params; + snd_pcm_hw_params_t *params; int err; - if (copy_from_user(¶ms, _params, sizeof(params))) - return -EFAULT; - err = snd_pcm_hw_refine(substream, ¶ms); - if (copy_to_user(_params, ¶ms, sizeof(params))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + if (copy_from_user(params, _params, sizeof(*params))) { + err = -EFAULT; + goto out; + } + err = snd_pcm_hw_refine(substream, params); + if (copy_to_user(_params, params, sizeof(*params))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); return err; } @@ -325,14 +340,17 @@ static int snd_pcm_hw_params(snd_pcm_substream_t *substream, snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; snd_assert(runtime != NULL, return -ENXIO); + snd_pcm_stream_lock_irq(substream); switch (runtime->status->state) { case SNDRV_PCM_STATE_OPEN: case SNDRV_PCM_STATE_SETUP: case SNDRV_PCM_STATE_PREPARED: break; default: + snd_pcm_stream_unlock_irq(substream); return -EBADFD; } + snd_pcm_stream_unlock_irq(substream); #if defined(CONFIG_SND_PCM_OSS) || defined(CONFIG_SND_PCM_OSS_MODULE) if (!substream->oss.oss) #endif @@ -408,13 +426,25 @@ static int snd_pcm_hw_params(snd_pcm_substream_t *substream, static int snd_pcm_hw_params_user(snd_pcm_substream_t * substream, snd_pcm_hw_params_t __user * _params) { - snd_pcm_hw_params_t params; + snd_pcm_hw_params_t *params; int err; - if (copy_from_user(¶ms, _params, sizeof(params))) - return -EFAULT; - err = snd_pcm_hw_params(substream, ¶ms); - if (copy_to_user(_params, ¶ms, sizeof(params))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + if (copy_from_user(params, _params, sizeof(*params))) { + err = -EFAULT; + goto out; + } + err = snd_pcm_hw_params(substream, params); + if (copy_to_user(_params, params, sizeof(*params))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); return err; } @@ -426,13 +456,16 @@ static int snd_pcm_hw_free(snd_pcm_substream_t * substream) snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; snd_assert(runtime != NULL, return -ENXIO); + snd_pcm_stream_lock_irq(substream); switch (runtime->status->state) { case SNDRV_PCM_STATE_SETUP: case SNDRV_PCM_STATE_PREPARED: break; default: + snd_pcm_stream_unlock_irq(substream); return -EBADFD; } + snd_pcm_stream_unlock_irq(substream); if (atomic_read(&runtime->mmap_count)) return -EBADFD; if (substream->ops->hw_free == NULL) { @@ -447,11 +480,16 @@ static int snd_pcm_hw_free(snd_pcm_substream_t * substream) static int snd_pcm_sw_params(snd_pcm_substream_t * substream, snd_pcm_sw_params_t *params) { snd_pcm_runtime_t *runtime; + snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; snd_assert(runtime != NULL, return -ENXIO); - if (runtime->status->state == SNDRV_PCM_STATE_OPEN) + snd_pcm_stream_lock_irq(substream); + if (runtime->status->state == SNDRV_PCM_STATE_OPEN) { + snd_pcm_stream_unlock_irq(substream); return -EBADFD; + } + snd_pcm_stream_unlock_irq(substream); if (params->tstamp_mode > SNDRV_PCM_TSTAMP_LAST) return -EINVAL; @@ -579,8 +617,12 @@ static int snd_pcm_channel_info(snd_pcm_substream_t * substream, snd_pcm_channel return -EFAULT; channel = info.channel; runtime = substream->runtime; - if (runtime->status->state == SNDRV_PCM_STATE_OPEN) + snd_pcm_stream_lock_irq(substream); + if (runtime->status->state == SNDRV_PCM_STATE_OPEN) { + snd_pcm_stream_unlock_irq(substream); return -EBADFD; + } + snd_pcm_stream_unlock_irq(substream); if (channel >= runtime->channels) return -EINVAL; memset(&info, 0, sizeof(info)); @@ -620,7 +662,7 @@ struct action_ops { */ static int snd_pcm_action_group(struct action_ops *ops, snd_pcm_substream_t *substream, - int state, int atomic_only) + int state, int do_lock) { struct list_head *pos; snd_pcm_substream_t *s = NULL; @@ -628,9 +670,7 @@ static int snd_pcm_action_group(struct action_ops *ops, snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if (atomic_only && (s->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) - continue; - if (s != substream) + if (do_lock && s != substream) spin_lock(&s->self_group.lock); res = ops->pre_action(s, state); if (res < 0) @@ -639,8 +679,6 @@ static int snd_pcm_action_group(struct action_ops *ops, if (res >= 0) { snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if (atomic_only && (s->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) - continue; err = ops->do_action(s, state); if (err < 0) { if (res == 0) @@ -648,17 +686,15 @@ static int snd_pcm_action_group(struct action_ops *ops, } else { ops->post_action(s, state); } - if (s != substream) + if (do_lock && s != substream) spin_unlock(&s->self_group.lock); } - } else { + } else if (do_lock) { snd_pcm_substream_t *s1; /* unlock all streams */ snd_pcm_group_for_each(pos, substream) { s1 = snd_pcm_group_substream_entry(pos); - if (atomic_only && (s1->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) - ; - else if (s1 != substream) + if (s1 != substream) spin_unlock(&s1->self_group.lock); if (s1 == s) /* end */ break; @@ -688,8 +724,6 @@ static int snd_pcm_action_single(struct action_ops *ops, /* * Note: call with stream lock - * - * NB2: this won't handle the non-atomic callbacks */ static int snd_pcm_action(struct action_ops *ops, snd_pcm_substream_t *substream, @@ -703,7 +737,7 @@ static int snd_pcm_action(struct action_ops *ops, spin_lock(&substream->group->lock); spin_lock(&substream->self_group.lock); } - res = snd_pcm_action_group(ops, substream, state, 0); + res = snd_pcm_action_group(ops, substream, state, 1); spin_unlock(&substream->group->lock); } else { res = snd_pcm_action_single(ops, substream, state); @@ -713,14 +747,10 @@ static int snd_pcm_action(struct action_ops *ops, /* * Note: don't use any locks before - * - * NB2: this can handle the non-atomic callbacks if allow_nonatomic = 1 - * when the pcm->info_flags has NONATOMIC_OPS bit, it's handled - * ouside the lock to allow sleep in the callback. */ static int snd_pcm_action_lock_irq(struct action_ops *ops, snd_pcm_substream_t *substream, - int state, int allow_nonatomic) + int state) { int res; @@ -728,43 +758,10 @@ static int snd_pcm_action_lock_irq(struct action_ops *ops, if (snd_pcm_stream_linked(substream)) { spin_lock(&substream->group->lock); spin_lock(&substream->self_group.lock); - res = snd_pcm_action_group(ops, substream, state, allow_nonatomic); + res = snd_pcm_action_group(ops, substream, state, 1); spin_unlock(&substream->self_group.lock); spin_unlock(&substream->group->lock); - if (res >= 0 && allow_nonatomic) { - /* now process the non-atomic substreams separately - * outside the lock - */ -#define MAX_LINKED_STREAMS 16 /* FIXME: should be variable */ - - struct list_head *pos; - int i, num_s = 0; - snd_pcm_substream_t *s; - snd_pcm_substream_t *subs[MAX_LINKED_STREAMS]; - snd_pcm_group_for_each(pos, substream) { - if (num_s >= MAX_LINKED_STREAMS) { - res = -ENOMEM; - num_s = 0; /* don't proceed */ - break; - } - s = snd_pcm_group_substream_entry(pos); - if (s->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS) - subs[num_s++] = s; - } - if (num_s > 0) { - read_unlock_irq(&snd_pcm_link_rwlock); - for (i = 0; i < num_s && res >= 0; i++) - res = snd_pcm_action_single(ops, subs[i], state); - return res; - } - } } else { - if (allow_nonatomic && - (substream->pcm->info_flags & SNDRV_PCM_INFO_NONATOMIC_OPS)) { - read_unlock_irq(&snd_pcm_link_rwlock); - /* process outside the lock */ - return snd_pcm_action_single(ops, substream, state); - } spin_lock(&substream->self_group.lock); res = snd_pcm_action_single(ops, substream, state); spin_unlock(&substream->self_group.lock); @@ -773,6 +770,23 @@ static int snd_pcm_action_lock_irq(struct action_ops *ops, return res; } +/* + */ +static int snd_pcm_action_nonatomic(struct action_ops *ops, + snd_pcm_substream_t *substream, + int state) +{ + int res; + + down_read(&snd_pcm_link_rwsem); + if (snd_pcm_stream_linked(substream)) + res = snd_pcm_action_group(ops, substream, state, 0); + else + res = snd_pcm_action_single(ops, substream, state); + up_read(&snd_pcm_link_rwsem); + return res; +} + static int snd_pcm_pre_start(snd_pcm_substream_t *substream, int state) { snd_pcm_runtime_t *runtime = substream->runtime; @@ -1038,7 +1052,7 @@ static int snd_pcm_resume(snd_pcm_substream_t *substream) snd_power_lock(card); if ((res = snd_power_wait(card, SNDRV_CTL_POWER_D0, substream->ffile)) >= 0) - res = snd_pcm_action_lock_irq(&snd_pcm_action_resume, substream, 0, 0); + res = snd_pcm_action_lock_irq(&snd_pcm_action_resume, substream, 0); snd_power_unlock(card); return res; } @@ -1128,7 +1142,7 @@ static struct action_ops snd_pcm_action_reset = { static int snd_pcm_reset(snd_pcm_substream_t *substream) { - return snd_pcm_action_lock_irq(&snd_pcm_action_reset, substream, 0, 0); + return snd_pcm_action_nonatomic(&snd_pcm_action_reset, substream, 0); } static int snd_pcm_pre_prepare(snd_pcm_substream_t * substream, int state) @@ -1176,7 +1190,7 @@ int snd_pcm_prepare(snd_pcm_substream_t *substream) snd_power_lock(card); if ((res = snd_power_wait(card, SNDRV_CTL_POWER_D0, substream->ffile)) >= 0) - res = snd_pcm_action_lock_irq(&snd_pcm_action_prepare, substream, 0, 1); /* allow sleep if specified */ + res = snd_pcm_action_nonatomic(&snd_pcm_action_prepare, substream, 0); snd_power_unlock(card); return res; } @@ -1498,13 +1512,18 @@ static int snd_pcm_link(snd_pcm_substream_t *substream, int fd) snd_pcm_file_t *pcm_file; snd_pcm_substream_t *substream1; - if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) + snd_pcm_stream_lock_irq(substream); + if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) { + snd_pcm_stream_unlock_irq(substream); return -EBADFD; + } + snd_pcm_stream_unlock_irq(substream); file = snd_pcm_file_fd(fd); if (!file) return -EBADFD; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream1 = pcm_file->substream; + down_write(&snd_pcm_link_rwsem); write_lock_irq(&snd_pcm_link_rwlock); if (substream->runtime->status->state != substream1->runtime->status->state) { res = -EBADFD; @@ -1528,6 +1547,7 @@ static int snd_pcm_link(snd_pcm_substream_t *substream, int fd) substream1->group = substream->group; _end: write_unlock_irq(&snd_pcm_link_rwlock); + up_write(&snd_pcm_link_rwsem); fput(file); return res; } @@ -1544,6 +1564,7 @@ static int snd_pcm_unlink(snd_pcm_substream_t *substream) struct list_head *pos; int res = 0, count = 0; + down_write(&snd_pcm_link_rwsem); write_lock_irq(&snd_pcm_link_rwlock); if (!snd_pcm_stream_linked(substream)) { res = -EALREADY; @@ -1564,6 +1585,7 @@ static int snd_pcm_unlink(snd_pcm_substream_t *substream) relink_to_local(substream); _end: write_unlock_irq(&snd_pcm_link_rwlock); + up_write(&snd_pcm_link_rwsem); return res; } @@ -1658,13 +1680,12 @@ static int snd_pcm_hw_rule_sample_bits(snd_pcm_hw_params_t *params, static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000, 88200, 96000, 176400, 192000 }; -#define RATES (sizeof(rates) / sizeof(rates[0])) - static int snd_pcm_hw_rule_rate(snd_pcm_hw_params_t *params, snd_pcm_hw_rule_t *rule) { snd_pcm_hardware_t *hw = rule->private; - return snd_interval_list(hw_param_interval(params, rule->var), RATES, rates, hw->rates); + return snd_interval_list(hw_param_interval(params, rule->var), + ARRAY_SIZE(rates), rates, hw->rates); } static int snd_pcm_hw_rule_buffer_bytes_max(snd_pcm_hw_params_t *params, @@ -1923,7 +1944,7 @@ static int snd_pcm_release_file(snd_pcm_file_t * pcm_file) substream->ffile = NULL; snd_pcm_remove_file(str, pcm_file); snd_pcm_release_substream(substream); - snd_magic_kfree(pcm_file); + kfree(pcm_file); return 0; } @@ -1940,13 +1961,13 @@ static int snd_pcm_open_file(struct file *file, snd_assert(rpcm_file != NULL, return -EINVAL); *rpcm_file = NULL; - pcm_file = snd_magic_kcalloc(snd_pcm_file_t, 0, GFP_KERNEL); + pcm_file = kcalloc(1, sizeof(*pcm_file), GFP_KERNEL); if (pcm_file == NULL) { return -ENOMEM; } if ((err = snd_pcm_open_substream(pcm, stream, &substream)) < 0) { - snd_magic_kfree(pcm_file); + kfree(pcm_file); return err; } @@ -2050,7 +2071,7 @@ int snd_pcm_release(struct inode *inode, struct file *file) snd_pcm_substream_t *substream; snd_pcm_file_t *pcm_file; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); snd_assert(!atomic_read(&substream->runtime->mmap_count), ); @@ -2414,7 +2435,7 @@ static int snd_pcm_common_ioctl1(snd_pcm_substream_t *substream, case SNDRV_PCM_IOCTL_RESET: return snd_pcm_reset(substream); case SNDRV_PCM_IOCTL_START: - return snd_pcm_action_lock_irq(&snd_pcm_action_start, substream, 0, 0); + return snd_pcm_action_lock_irq(&snd_pcm_action_start, substream, 0); case SNDRV_PCM_IOCTL_LINK: return snd_pcm_link(substream, (int)(unsigned long) arg); case SNDRV_PCM_IOCTL_UNLINK: @@ -2616,26 +2637,36 @@ static int snd_pcm_playback_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { snd_pcm_file_t *pcm_file; + int err; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; if (((cmd >> 8) & 0xff) != 'A') return -ENOTTY; - return snd_pcm_playback_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_pcm_playback_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + lock_kernel(); + return err; } static int snd_pcm_capture_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { snd_pcm_file_t *pcm_file; + int err; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; if (((cmd >> 8) & 0xff) != 'A') return -ENOTTY; - return snd_pcm_capture_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_pcm_capture_ioctl1(pcm_file->substream, cmd, (void __user *)arg); + lock_kernel(); + return err; } int snd_pcm_kernel_playback_ioctl(snd_pcm_substream_t *substream, @@ -2682,7 +2713,7 @@ static ssize_t snd_pcm_read(struct file *file, char __user *buf, size_t count, l snd_pcm_runtime_t *runtime; snd_pcm_sframes_t result; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; @@ -2704,7 +2735,7 @@ static ssize_t snd_pcm_write(struct file *file, const char __user *buf, size_t c snd_pcm_runtime_t *runtime; snd_pcm_sframes_t result; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, result = -ENXIO; goto end); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, result = -ENXIO; goto end); runtime = substream->runtime; @@ -2736,7 +2767,7 @@ static ssize_t snd_pcm_readv(struct file *file, const struct iovec *_vector, void __user **bufs; snd_pcm_uframes_t frames; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; @@ -2770,7 +2801,7 @@ static ssize_t snd_pcm_writev(struct file *file, const struct iovec *_vector, void __user **bufs; snd_pcm_uframes_t frames; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, result = -ENXIO; goto end); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, result = -ENXIO; goto end); runtime = substream->runtime; @@ -2805,7 +2836,7 @@ unsigned int snd_pcm_playback_poll(struct file *file, poll_table * wait) unsigned int mask; snd_pcm_uframes_t avail; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return 0); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); @@ -2843,7 +2874,7 @@ unsigned int snd_pcm_capture_poll(struct file *file, poll_table * wait) unsigned int mask; snd_pcm_uframes_t avail; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return 0); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); @@ -2877,6 +2908,18 @@ unsigned int snd_pcm_capture_poll(struct file *file, poll_table * wait) return mask; } +/* + * mmap support + */ + +/* + * Only on coherent architectures, we can mmap the status and the control records + * for effcient data transfer. On others, we have to use HWSYNC ioctl... + */ +#if defined(CONFIG_X86) || defined(CONFIG_PPC) || defined(CONFIG_ALPHA) +/* + * mmap status record + */ static struct page * snd_pcm_mmap_status_nopage(struct vm_area_struct *area, unsigned long address, int *type) { snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; @@ -2899,8 +2942,8 @@ static struct vm_operations_struct snd_pcm_vm_ops_status = .nopage = snd_pcm_mmap_status_nopage, }; -int snd_pcm_mmap_status(snd_pcm_substream_t *substream, struct file *file, - struct vm_area_struct *area) +static int snd_pcm_mmap_status(snd_pcm_substream_t *substream, struct file *file, + struct vm_area_struct *area) { snd_pcm_runtime_t *runtime; long size; @@ -2917,6 +2960,9 @@ int snd_pcm_mmap_status(snd_pcm_substream_t *substream, struct file *file, return 0; } +/* + * mmap control record + */ static struct page * snd_pcm_mmap_control_nopage(struct vm_area_struct *area, unsigned long address, int *type) { snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; @@ -2956,20 +3002,26 @@ static int snd_pcm_mmap_control(snd_pcm_substream_t *substream, struct file *fil area->vm_flags |= VM_RESERVED; return 0; } - -static void snd_pcm_mmap_data_open(struct vm_area_struct *area) +#else /* ! coherent mmap */ +/* + * don't support mmap for status and control records. + */ +static int snd_pcm_mmap_status(snd_pcm_substream_t *substream, struct file *file, + struct vm_area_struct *area) { - snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; - atomic_inc(&substream->runtime->mmap_count); + return -ENXIO; } - -static void snd_pcm_mmap_data_close(struct vm_area_struct *area) +static int snd_pcm_mmap_control(snd_pcm_substream_t *substream, struct file *file, + struct vm_area_struct *area) { - snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; - atomic_dec(&substream->runtime->mmap_count); + return -ENXIO; } +#endif /* coherent mmap */ -static struct page * snd_pcm_mmap_data_nopage(struct vm_area_struct *area, unsigned long address, int *type) +/* + * nopage callback for mmapping a RAM page + */ +static struct page *snd_pcm_mmap_data_nopage(struct vm_area_struct *area, unsigned long address, int *type) { snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; snd_pcm_runtime_t *runtime; @@ -3009,6 +3061,52 @@ static struct vm_operations_struct snd_pcm_vm_ops_data = .nopage = snd_pcm_mmap_data_nopage, }; +/* + * mmap the DMA buffer on RAM + */ +static int snd_pcm_default_mmap(snd_pcm_substream_t *substream, struct vm_area_struct *area) +{ + area->vm_ops = &snd_pcm_vm_ops_data; + area->vm_private_data = substream; + area->vm_flags |= VM_RESERVED; + atomic_inc(&substream->runtime->mmap_count); + return 0; +} + +/* + * mmap the DMA buffer on I/O memory area + */ +#if SNDRV_PCM_INFO_MMAP_IOMEM +static struct vm_operations_struct snd_pcm_vm_ops_data_mmio = +{ + .open = snd_pcm_mmap_data_open, + .close = snd_pcm_mmap_data_close, +}; + +int snd_pcm_lib_mmap_iomem(snd_pcm_substream_t *substream, struct vm_area_struct *area) +{ + long size; + unsigned long offset; + +#ifdef pgprot_noncached + area->vm_page_prot = pgprot_noncached(area->vm_page_prot); +#endif + area->vm_ops = &snd_pcm_vm_ops_data_mmio; + area->vm_flags |= VM_IO; + size = area->vm_end - area->vm_start; + offset = area->vm_pgoff << PAGE_SHIFT; + if (io_remap_page_range(area, area->vm_start, + substream->runtime->dma_addr + offset, + size, area->vm_page_prot)) + return -EAGAIN; + atomic_inc(&substream->runtime->mmap_count); + return 0; +} +#endif /* SNDRV_PCM_INFO_MMAP */ + +/* + * mmap DMA buffer + */ int snd_pcm_mmap_data(snd_pcm_substream_t *substream, struct file *file, struct vm_area_struct *area) { @@ -3041,11 +3139,10 @@ int snd_pcm_mmap_data(snd_pcm_substream_t *substream, struct file *file, if (offset > dma_bytes - size) return -EINVAL; - area->vm_ops = &snd_pcm_vm_ops_data; - area->vm_private_data = substream; - area->vm_flags |= VM_RESERVED; - atomic_inc(&runtime->mmap_count); - return 0; + if (substream->ops->mmap) + return substream->ops->mmap(substream, area); + else + return snd_pcm_default_mmap(substream, area); } static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area) @@ -3054,7 +3151,7 @@ static int snd_pcm_mmap(struct file *file, struct vm_area_struct *area) snd_pcm_substream_t *substream; unsigned long offset; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); @@ -3077,7 +3174,7 @@ static int snd_pcm_fasync(int fd, struct file * file, int on) snd_pcm_runtime_t *runtime; int err; - pcm_file = snd_magic_cast(snd_pcm_file_t, file->private_data, return -ENXIO); + pcm_file = file->private_data; substream = pcm_file->substream; snd_assert(substream != NULL, return -ENXIO); runtime = substream->runtime; @@ -3101,7 +3198,7 @@ static void snd_pcm_hw_convert_from_old_params(snd_pcm_hw_params_t *params, stru memset(params, 0, sizeof(*params)); params->flags = oparams->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) params->masks[i].bits[0] = oparams->masks[i]; memcpy(params->intervals, oparams->intervals, sizeof(oparams->intervals)); params->rmask = __OLD_TO_NEW_MASK(oparams->rmask); @@ -3119,7 +3216,7 @@ static void snd_pcm_hw_convert_to_old_params(struct sndrv_pcm_hw_params_old *opa memset(oparams, 0, sizeof(*oparams)); oparams->flags = params->flags; - for (i = 0; i < sizeof(oparams->masks) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(oparams->masks); i++) oparams->masks[i] = params->masks[i].bits[0]; memcpy(oparams->intervals, params->intervals, sizeof(oparams->intervals)); oparams->rmask = __NEW_TO_OLD_MASK(params->rmask); @@ -3133,31 +3230,68 @@ static void snd_pcm_hw_convert_to_old_params(struct sndrv_pcm_hw_params_old *opa static int snd_pcm_hw_refine_old_user(snd_pcm_substream_t * substream, struct sndrv_pcm_hw_params_old __user * _oparams) { - snd_pcm_hw_params_t params; - struct sndrv_pcm_hw_params_old oparams; + snd_pcm_hw_params_t *params; + struct sndrv_pcm_hw_params_old *oparams = NULL; int err; - if (copy_from_user(&oparams, _oparams, sizeof(oparams))) - return -EFAULT; - snd_pcm_hw_convert_from_old_params(¶ms, &oparams); - err = snd_pcm_hw_refine(substream, ¶ms); - snd_pcm_hw_convert_to_old_params(&oparams, ¶ms); - if (copy_to_user(_oparams, &oparams, sizeof(oparams))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + oparams = kmalloc(sizeof(*oparams), GFP_KERNEL); + if (!oparams) { + err = -ENOMEM; + goto out; + } + + if (copy_from_user(oparams, _oparams, sizeof(*oparams))) { + err = -EFAULT; + goto out; + } + snd_pcm_hw_convert_from_old_params(params, oparams); + err = snd_pcm_hw_refine(substream, params); + snd_pcm_hw_convert_to_old_params(oparams, params); + if (copy_to_user(_oparams, oparams, sizeof(*oparams))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); + kfree(oparams); return err; } static int snd_pcm_hw_params_old_user(snd_pcm_substream_t * substream, struct sndrv_pcm_hw_params_old __user * _oparams) { - snd_pcm_hw_params_t params; - struct sndrv_pcm_hw_params_old oparams; + snd_pcm_hw_params_t *params; + struct sndrv_pcm_hw_params_old *oparams = NULL; int err; - if (copy_from_user(&oparams, _oparams, sizeof(oparams))) - return -EFAULT; - snd_pcm_hw_convert_from_old_params(¶ms, &oparams); - err = snd_pcm_hw_params(substream, ¶ms); - snd_pcm_hw_convert_to_old_params(&oparams, ¶ms); - if (copy_to_user(_oparams, &oparams, sizeof(oparams))) - return -EFAULT; + + params = kmalloc(sizeof(*params), GFP_KERNEL); + if (!params) { + err = -ENOMEM; + goto out; + } + oparams = kmalloc(sizeof(*oparams), GFP_KERNEL); + if (!oparams) { + err = -ENOMEM; + goto out; + } + if (copy_from_user(oparams, _oparams, sizeof(*oparams))) { + err = -EFAULT; + goto out; + } + snd_pcm_hw_convert_from_old_params(params, oparams); + err = snd_pcm_hw_params(substream, params); + snd_pcm_hw_convert_to_old_params(oparams, params); + if (copy_to_user(_oparams, oparams, sizeof(*oparams))) { + if (!err) + err = -EFAULT; + } +out: + kfree(params); + kfree(oparams); return err; } diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c index df904d18d..1c753cda6 100644 --- a/sound/core/rawmidi.c +++ b/sound/core/rawmidi.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -44,10 +45,8 @@ static int amidi_map[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = 1}; static int boot_devs; module_param_array(midi_map, int, boot_devs, 0444); MODULE_PARM_DESC(midi_map, "Raw MIDI device number assigned to 1st OSS device."); -MODULE_PARM_SYNTAX(midi_map, "default:0,skill:advanced"); module_param_array(amidi_map, int, boot_devs, 0444); MODULE_PARM_DESC(amidi_map, "Raw MIDI device number assigned to 2nd OSS device."); -MODULE_PARM_SYNTAX(amidi_map, "default:1,skill:advanced"); #endif /* CONFIG_SND_OSSEMUL */ static int snd_rawmidi_free(snd_rawmidi_t *rawmidi); @@ -269,7 +268,7 @@ int snd_rawmidi_kernel_open(int cardnum, int device, int subdevice, list2 = list2->next; } if (mode & SNDRV_RAWMIDI_LFLG_INPUT) { - input = snd_kcalloc(sizeof(snd_rawmidi_runtime_t), GFP_KERNEL); + input = kcalloc(1, sizeof(*input), GFP_KERNEL); if (input == NULL) { err = -ENOMEM; goto __error; @@ -291,7 +290,7 @@ int snd_rawmidi_kernel_open(int cardnum, int device, int subdevice, if (mode & SNDRV_RAWMIDI_LFLG_OUTPUT) { if (soutput->opened) goto __skip_output; - output = snd_kcalloc(sizeof(snd_rawmidi_runtime_t), GFP_KERNEL); + output = kcalloc(1, sizeof(*output), GFP_KERNEL); if (output == NULL) { err = -ENOMEM; goto __error; @@ -398,7 +397,7 @@ static int snd_rawmidi_open(struct inode *inode, struct file *file) if ((file->f_flags & O_APPEND) || maj != CONFIG_SND_MAJOR) /* OSS emul? */ fflags |= SNDRV_RAWMIDI_LFLG_APPEND; fflags |= SNDRV_RAWMIDI_LFLG_NOOPENLOCK; - rawmidi_file = snd_magic_kmalloc(snd_rawmidi_file_t, 0, GFP_KERNEL); + rawmidi_file = kmalloc(sizeof(*rawmidi_file), GFP_KERNEL); if (rawmidi_file == NULL) { snd_card_file_remove(card, file); return -ENOMEM; @@ -447,7 +446,7 @@ static int snd_rawmidi_open(struct inode *inode, struct file *file) file->private_data = rawmidi_file; } else { snd_card_file_remove(card, file); - snd_magic_kfree(rawmidi_file); + kfree(rawmidi_file); } up(&rmidi->open_mutex); return err; @@ -512,11 +511,11 @@ static int snd_rawmidi_release(struct inode *inode, struct file *file) snd_rawmidi_t *rmidi; int err; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; err = snd_rawmidi_kernel_release(rfile); rmidi = rfile->rmidi; wake_up(&rmidi->open_wait); - snd_magic_kfree(rfile); + kfree(rfile); snd_card_file_remove(rmidi->card, file); return err; } @@ -675,13 +674,13 @@ static int snd_rawmidi_input_status(snd_rawmidi_substream_t * substream, return 0; } -static int snd_rawmidi_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_rawmidi_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_rawmidi_file_t *rfile; void __user *argp = (void __user *)arg; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; if (((cmd >> 8) & 0xff) != 'W') return -ENOTTY; switch (cmd) { @@ -786,6 +785,17 @@ static int snd_rawmidi_ioctl(struct inode *inode, struct file *file, return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_rawmidi_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_rawmidi_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + int snd_rawmidi_control_ioctl(snd_card_t * card, snd_ctl_file_t * control, unsigned int cmd, unsigned long arg) { @@ -944,7 +954,7 @@ static ssize_t snd_rawmidi_read(struct file *file, char __user *buf, size_t coun snd_rawmidi_substream_t *substream; snd_rawmidi_runtime_t *runtime; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; substream = rfile->input; if (substream == NULL) return -EIO; @@ -974,6 +984,8 @@ static ssize_t snd_rawmidi_read(struct file *file, char __user *buf, size_t coun } spin_unlock_irq(&runtime->lock); count1 = snd_rawmidi_kernel_read1(substream, buf, count, 0); + if (count1 < 0) + return result > 0 ? result : count1; result += count1; buf += count1; count -= count1; @@ -1176,7 +1188,7 @@ static ssize_t snd_rawmidi_write(struct file *file, const char __user *buf, size snd_rawmidi_runtime_t *runtime; snd_rawmidi_substream_t *substream; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return -ENXIO); + rfile = file->private_data; substream = rfile->output; runtime = substream->runtime; /* we cannot put an atomic message to our buffer */ @@ -1206,14 +1218,14 @@ static ssize_t snd_rawmidi_write(struct file *file, const char __user *buf, size spin_unlock_irq(&runtime->lock); count1 = snd_rawmidi_kernel_write1(substream, buf, count, 0); if (count1 < 0) - continue; + return result > 0 ? result : count1; result += count1; buf += count1; if ((size_t)count1 < count && (file->f_flags & O_NONBLOCK)) break; count -= count1; } - while (file->f_flags & O_SYNC) { + if (file->f_flags & O_SYNC) { spin_lock_irq(&runtime->lock); while (runtime->avail != runtime->buffer_size) { wait_queue_t wait; @@ -1241,7 +1253,7 @@ static unsigned int snd_rawmidi_poll(struct file *file, poll_table * wait) snd_rawmidi_runtime_t *runtime; unsigned int mask; - rfile = snd_magic_cast(snd_rawmidi_file_t, file->private_data, return 0); + rfile = file->private_data; if (rfile->input != NULL) { runtime = rfile->input->runtime; runtime->trigger = 1; @@ -1276,7 +1288,7 @@ static void snd_rawmidi_proc_info_read(snd_info_entry_t *entry, snd_rawmidi_runtime_t *runtime; struct list_head *list; - rmidi = snd_magic_cast(snd_rawmidi_t, entry->private_data, return); + rmidi = entry->private_data; snd_iprintf(buffer, "%s\n\n", rmidi->name); down(&rmidi->open_mutex); if (rmidi->info_flags & SNDRV_RAWMIDI_INFO_OUTPUT) { @@ -1353,7 +1365,7 @@ static int snd_rawmidi_alloc_substreams(snd_rawmidi_t *rmidi, INIT_LIST_HEAD(&stream->substreams); for (idx = 0; idx < count; idx++) { - substream = snd_kcalloc(sizeof(snd_rawmidi_substream_t), GFP_KERNEL); + substream = kcalloc(1, sizeof(*substream), GFP_KERNEL); if (substream == NULL) return -ENOMEM; substream->stream = direction; @@ -1396,7 +1408,7 @@ int snd_rawmidi_new(snd_card_t * card, char *id, int device, snd_assert(rrawmidi != NULL, return -EINVAL); *rrawmidi = NULL; snd_assert(card != NULL, return -ENXIO); - rmidi = snd_magic_kcalloc(snd_rawmidi_t, 0, GFP_KERNEL); + rmidi = kcalloc(1, sizeof(*rmidi), GFP_KERNEL); if (rmidi == NULL) return -ENOMEM; rmidi->card = card; @@ -1439,20 +1451,20 @@ static int snd_rawmidi_free(snd_rawmidi_t *rmidi) snd_rawmidi_free_substreams(&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT]); if (rmidi->private_free) rmidi->private_free(rmidi); - snd_magic_kfree(rmidi); + kfree(rmidi); return 0; } static int snd_rawmidi_dev_free(snd_device_t *device) { - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; return snd_rawmidi_free(rmidi); } #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) static void snd_rawmidi_dev_seq_free(snd_seq_device_t *device) { - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->private_data, return); + snd_rawmidi_t *rmidi = device->private_data; rmidi->seq_dev = NULL; } #endif @@ -1462,7 +1474,7 @@ static int snd_rawmidi_dev_register(snd_device_t *device) int idx, err; snd_info_entry_t *entry; char name[16]; - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; if (rmidi->device >= SNDRV_RAWMIDI_DEVICES) return -ENOMEM; @@ -1539,7 +1551,7 @@ static int snd_rawmidi_dev_register(snd_device_t *device) static int snd_rawmidi_dev_disconnect(snd_device_t *device) { - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; int idx; down(®ister_mutex); @@ -1552,7 +1564,7 @@ static int snd_rawmidi_dev_disconnect(snd_device_t *device) static int snd_rawmidi_dev_unregister(snd_device_t *device) { int idx; - snd_rawmidi_t *rmidi = snd_magic_cast(snd_rawmidi_t, device->device_data, return -ENXIO); + snd_rawmidi_t *rmidi = device->device_data; snd_assert(rmidi != NULL, return -ENXIO); down(®ister_mutex); diff --git a/sound/core/seq/Makefile b/sound/core/seq/Makefile index e731cdc2e..d7b79d976 100644 --- a/sound/core/seq/Makefile +++ b/sound/core/seq/Makefile @@ -19,9 +19,6 @@ snd-seq-instr-objs := seq_instr.o snd-seq-dummy-objs := seq_dummy.o snd-seq-virmidi-objs := seq_virmidi.o -RAWMIDI_OBJS = snd-seq-midi.o snd-seq-midi-event.o -OPL3_OBJS = snd-seq-midi-event.o snd-seq-midi-emul.o snd-seq-instr.o - # # this function returns: # "m" - CONFIG_SND_SEQUENCER is m @@ -38,53 +35,8 @@ obj-$(CONFIG_SND_SEQ_DUMMY) += snd-seq-dummy.o # Toplevel Module Dependency obj-$(CONFIG_SND_VIRMIDI) += snd-seq-virmidi.o snd-seq-midi-event.o -obj-$(call sequencer,$(CONFIG_SND_SERIAL_U16550)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_MTPAV)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_MPU401)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ALS100)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_AZT2320)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_AZT3328)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_DT019X)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES18XX)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPL3SA2)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_AD1816A)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4231)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4232)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4236)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES1688)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_GUSCLASSIC)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_GUSMAX)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_GUSEXTREME)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE_STB)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_AD1848)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_CS4231)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_OPTI93X)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SB8)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SB16)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SBAWE)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) snd-seq-virmidi.o -obj-$(call sequencer,$(CONFIG_SND_ES968)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_WAVEFRONT)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SSCAPE)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ALS4000)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CMIPCI)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS4281)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ENS1370)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ENS1371)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES1938)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ES1968)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_FM801)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ICE1712)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ICE1724)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_INTEL8X0)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_SONICVIBES)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_VIA82XX)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_ALI5451)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_CS46XX)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_EMU10K1)) += $(RAWMIDI_OBJS) snd-seq-midi-emul.o snd-seq-virmidi.o -obj-$(call sequencer,$(CONFIG_SND_TRIDENT)) += $(RAWMIDI_OBJS) snd-seq-midi-emul.o snd-seq-instr.o -obj-$(call sequencer,$(CONFIG_SND_YMFPCI)) += $(RAWMIDI_OBJS) $(OPL3_OBJS) -obj-$(call sequencer,$(CONFIG_SND_USB_AUDIO)) += $(RAWMIDI_OBJS) -obj-$(call sequencer,$(CONFIG_SND_HDSP)) += $(RAWMIDI_OBJS) - -obj-m := $(sort $(obj-m)) +obj-$(call sequencer,$(CONFIG_SND_RAWMIDI)) += snd-seq-midi.o snd-seq-midi-event.o +obj-$(call sequencer,$(CONFIG_SND_OPL3_LIB)) += snd-seq-midi-event.o snd-seq-midi-emul.o snd-seq-instr.o +obj-$(call sequencer,$(CONFIG_SND_SBAWE)) += snd-seq-midi-emul.o snd-seq-virmidi.o +obj-$(call sequencer,$(CONFIG_SND_EMU10K1)) += snd-seq-midi-emul.o snd-seq-virmidi.o +obj-$(call sequencer,$(CONFIG_SND_TRIDENT)) += snd-seq-midi-emul.o snd-seq-instr.o diff --git a/sound/core/seq/instr/Makefile b/sound/core/seq/instr/Makefile index 5ae3552af..69138f30a 100644 --- a/sound/core/seq/instr/Makefile +++ b/sound/core/seq/instr/Makefile @@ -17,35 +17,7 @@ snd-ainstr-iw-objs := ainstr_iw.o sequencer = $(if $(subst y,,$(CONFIG_SND_SEQUENCER)),$(if $(1),m),$(if $(CONFIG_SND_SEQUENCER),$(1))) # Toplevel Module Dependency -obj-$(call sequencer,$(CONFIG_SND_ALS100)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_AZT2320)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_AZT3328)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_DT019X)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ES18XX)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_OPL3SA2)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_AD1816A)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CS4232)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CS4236)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ES1688)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_GUSCLASSIC)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_GUSMAX)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_GUSEXTREME)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_INTERWAVE_STB)) += snd-ainstr-iw.o snd-ainstr-gf1.o snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_AD1848)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_OPTI92X_CS4231)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_OPTI93X)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SB8)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SB16)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SBAWE)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_WAVEFRONT)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ALS4000)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CMIPCI)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_CS4281)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_ES1938)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_FM801)) += snd-ainstr-fm.o -obj-$(call sequencer,$(CONFIG_SND_SONICVIBES)) += snd-ainstr-fm.o +obj-$(call sequencer,$(CONFIG_SND_OPL3_LIB)) += snd-ainstr-fm.o +obj-$(call sequencer,$(CONFIG_SND_OPL4_LIB)) += snd-ainstr-fm.o +obj-$(call sequencer,$(CONFIG_SND_GUS_SYNTH)) += snd-ainstr-gf1.o snd-ainstr-simple.o snd-ainstr-iw.o obj-$(call sequencer,$(CONFIG_SND_TRIDENT)) += snd-ainstr-simple.o -obj-$(call sequencer,$(CONFIG_SND_YMFPCI)) += snd-ainstr-fm.o - -obj-m := $(sort $(obj-m)) diff --git a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c index 5681563fa..27c5cac26 100644 --- a/sound/core/seq/oss/seq_oss.c +++ b/sound/core/seq/oss/seq_oss.c @@ -22,6 +22,7 @@ #include #include +#include #include #include #include @@ -35,7 +36,6 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("OSS-compatible sequencer module"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); /* Takashi says this is really only for sound-service-0-, but this is OK. */ MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_SEQUENCER); MODULE_ALIAS_SNDRV_MINOR(SNDRV_MINOR_OSS_MUSIC); @@ -177,9 +177,14 @@ static int odev_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { seq_oss_devinfo_t *dp; + int err; dp = file->private_data; snd_assert(dp != NULL, return -EIO); - return snd_seq_oss_ioctl(dp, cmd, arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_seq_oss_ioctl(dp, cmd, arg); + lock_kernel(); + return err; } diff --git a/sound/core/seq/oss/seq_oss_init.c b/sound/core/seq/oss/seq_oss_init.c index c8b199dc1..cecf3f825 100644 --- a/sound/core/seq/oss/seq_oss_init.c +++ b/sound/core/seq/oss/seq_oss_init.c @@ -183,7 +183,7 @@ snd_seq_oss_open(struct file *file, int level) int i, rc; seq_oss_devinfo_t *dp; - if ((dp = snd_kcalloc(sizeof(*dp), GFP_KERNEL)) == NULL) { + if ((dp = kcalloc(1, sizeof(*dp), GFP_KERNEL)) == NULL) { snd_printk(KERN_ERR "can't malloc device info\n"); return -ENOMEM; } @@ -211,7 +211,7 @@ snd_seq_oss_open(struct file *file, int level) snd_seq_oss_midi_setup(dp); if (dp->synth_opened == 0 && dp->max_mididev == 0) { - snd_printk(KERN_ERR "no device found\n"); + /* snd_printk(KERN_ERR "no device found\n"); */ rc = -ENODEV; goto _error; } diff --git a/sound/core/seq/seq.c b/sound/core/seq/seq.c index 5f8beb4a2..f8d629362 100644 --- a/sound/core/seq/seq.c +++ b/sound/core/seq/seq.c @@ -50,8 +50,6 @@ int seq_default_timer_resolution = 0; /* Hz */ MODULE_AUTHOR("Frank van de Pol , Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); static int boot_devs; module_param_array(seq_client_load, int, boot_devs, 0444); @@ -133,6 +131,7 @@ EXPORT_SYMBOL(snd_seq_kernel_client_enqueue_blocking); EXPORT_SYMBOL(snd_seq_kernel_client_dispatch); EXPORT_SYMBOL(snd_seq_kernel_client_ctl); EXPORT_SYMBOL(snd_seq_kernel_client_write_poll); +EXPORT_SYMBOL(snd_seq_set_queue_tempo); /* seq_memory.c */ EXPORT_SYMBOL(snd_seq_expand_var_event); EXPORT_SYMBOL(snd_seq_dump_var_event); diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c index eff36938f..b30fda808 100644 --- a/sound/core/seq/seq_clientmgr.c +++ b/sound/core/seq/seq_clientmgr.c @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -202,7 +203,7 @@ static client_t *seq_create_client1(int client_index, int poolsize) client_t *client; /* init client data */ - client = snd_kcalloc(sizeof(client_t), GFP_KERNEL); + client = kcalloc(1, sizeof(*client), GFP_KERNEL); if (client == NULL) return NULL; client->pool = snd_seq_pool_new(poolsize); @@ -546,36 +547,6 @@ static int update_timestamp_of_queue(snd_seq_event_t *event, int queue, int real } -/* - * expand a quoted event. - */ -static int expand_quoted_event(snd_seq_event_t *event) -{ - snd_seq_event_t *quoted; - - quoted = event->data.quote.event; - if (quoted == NULL) { - snd_printd("seq: quoted event is NULL\n"); - return -EINVAL; - } - - event->type = quoted->type; - event->tag = quoted->tag; - event->source = quoted->source; - /* don't use quoted destination */ - event->data = quoted->data; - /* use quoted timestamp only if subscription/port didn't update it */ - if (event->queue == SNDRV_SEQ_QUEUE_DIRECT) { - event->flags = quoted->flags; - event->queue = quoted->queue; - event->time = quoted->time; - } else { - event->flags = (event->flags & SNDRV_SEQ_TIME_STAMP_MASK) - | (quoted->flags & ~SNDRV_SEQ_TIME_STAMP_MASK); - } - return 0; -} - /* * deliver an event to the specified destination. * if filter is non-zero, client filter bitmap is tested. @@ -590,7 +561,7 @@ static int snd_seq_deliver_single_event(client_t *client, client_t *dest = NULL; client_port_t *dest_port = NULL; int result = -ENOENT; - int direct, quoted = 0; + int direct; direct = snd_seq_ev_is_direct(event); @@ -611,14 +582,6 @@ static int snd_seq_deliver_single_event(client_t *client, update_timestamp_of_queue(event, dest_port->time_queue, dest_port->time_real); - if (event->type == SNDRV_SEQ_EVENT_KERNEL_QUOTE) { - quoted = 1; - if (expand_quoted_event(event) < 0) { - result = 0; /* do not send bounce error */ - goto __skip; - } - } - switch (dest->type) { case USER_CLIENT: if (dest->data.user.fifo) @@ -641,14 +604,7 @@ static int snd_seq_deliver_single_event(client_t *client, snd_seq_client_unlock(dest); if (result < 0 && !direct) { - if (quoted) { - /* return directly to the original source */ - dest = snd_seq_client_use_ptr(event->source.client); - result = bounce_error_event(dest, event, result, atomic, hop); - snd_seq_client_unlock(dest); - } else { - result = bounce_error_event(client, event, result, atomic, hop); - } + result = bounce_error_event(client, event, result, atomic, hop); } return result; } @@ -1694,6 +1650,13 @@ static int snd_seq_ioctl_get_queue_tempo(client_t * client, void __user *arg) /* SET_QUEUE_TEMPO ioctl() */ +int snd_seq_set_queue_tempo(int client, snd_seq_queue_tempo_t *tempo) +{ + if (!snd_seq_queue_check_access(tempo->queue, client)) + return -EPERM; + return snd_seq_queue_timer_set_tempo(tempo->queue, client, tempo); +} + static int snd_seq_ioctl_set_queue_tempo(client_t * client, void __user *arg) { int result; @@ -1702,15 +1665,8 @@ static int snd_seq_ioctl_set_queue_tempo(client_t * client, void __user *arg) if (copy_from_user(&tempo, arg, sizeof(tempo))) return -EFAULT; - if (snd_seq_queue_check_access(tempo.queue, client->number)) { - result = snd_seq_queue_timer_set_tempo(tempo.queue, client->number, &tempo); - if (result < 0) - return result; - } else { - return -EPERM; - } - - return 0; + result = snd_seq_set_queue_tempo(client->number, &tempo); + return result < 0 ? result : 0; } @@ -2176,10 +2132,15 @@ static int snd_seq_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { client_t *client = (client_t *) file->private_data; + int err; snd_assert(client != NULL, return -ENXIO); - return snd_seq_do_ioctl(client, cmd, (void __user *) arg); + /* FIXME: need to unlock BKL to allow preemption */ + unlock_kernel(); + err = snd_seq_do_ioctl(client, cmd, (void __user *) arg); + lock_kernel(); + return err; } @@ -2261,8 +2222,7 @@ static int kernel_client_enqueue(int client, snd_seq_event_t *ev, if (ev->type == SNDRV_SEQ_EVENT_NONE) return 0; /* ignore this */ - if (ev->type == SNDRV_SEQ_EVENT_KERNEL_ERROR || - ev->type == SNDRV_SEQ_EVENT_KERNEL_QUOTE) + if (ev->type == SNDRV_SEQ_EVENT_KERNEL_ERROR) return -EINVAL; /* quoted events can't be enqueued */ /* fill in client number */ diff --git a/sound/core/seq/seq_dummy.c b/sound/core/seq/seq_dummy.c index eb7f13b5f..f350bcd68 100644 --- a/sound/core/seq/seq_dummy.c +++ b/sound/core/seq/seq_dummy.c @@ -63,8 +63,6 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("ALSA sequencer MIDI-through client"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); static int ports = 1; static int duplex = 0; @@ -95,7 +93,7 @@ dummy_unuse(void *private_data, snd_seq_port_subscribe_t *info) int i; snd_seq_event_t ev; - p = snd_magic_cast(snd_seq_dummy_port_t, private_data, return -EINVAL); + p = private_data; memset(&ev, 0, sizeof(ev)); if (p->duplex) ev.source.port = p->connect; @@ -122,18 +120,11 @@ dummy_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int snd_seq_dummy_port_t *p; snd_seq_event_t tmpev; - p = snd_magic_cast(snd_seq_dummy_port_t, private_data, return -EINVAL); + p = private_data; if (ev->source.client == SNDRV_SEQ_CLIENT_SYSTEM || ev->type == SNDRV_SEQ_EVENT_KERNEL_ERROR) return 0; /* ignore system messages */ - /* save the original sender */ - tmpev.type = SNDRV_SEQ_EVENT_KERNEL_QUOTE; - tmpev.flags = (ev->flags & ~SNDRV_SEQ_EVENT_LENGTH_MASK) - | SNDRV_SEQ_EVENT_LENGTH_FIXED; - tmpev.tag = ev->tag; - tmpev.time = ev->time; - tmpev.data.quote.origin = ev->source; - tmpev.data.quote.event = ev; + tmpev = *ev; if (p->duplex) tmpev.source.port = p->connect; else @@ -150,8 +141,8 @@ dummy_free(void *private_data) { snd_seq_dummy_port_t *p; - p = snd_magic_cast(snd_seq_dummy_port_t, private_data, return); - snd_magic_kfree(p); + p = private_data; + kfree(p); } /* @@ -164,7 +155,7 @@ create_port(int idx, int type) snd_seq_port_callback_t pcb; snd_seq_dummy_port_t *rec; - if ((rec = snd_magic_kcalloc(snd_seq_dummy_port_t, 0, GFP_KERNEL)) == NULL) + if ((rec = kcalloc(1, sizeof(*rec), GFP_KERNEL)) == NULL) return NULL; rec->client = my_client; @@ -190,7 +181,7 @@ create_port(int idx, int type) pcb.private_data = rec; pinfo.kernel = &pcb; if (snd_seq_kernel_client_ctl(my_client, SNDRV_SEQ_IOCTL_CREATE_PORT, &pinfo) < 0) { - snd_magic_kfree(rec); + kfree(rec); return NULL; } rec->port = pinfo.addr.port; diff --git a/sound/core/seq/seq_midi.c b/sound/core/seq/seq_midi.c index a2a4b83f8..202bbea92 100644 --- a/sound/core/seq/seq_midi.c +++ b/sound/core/seq/seq_midi.c @@ -43,8 +43,6 @@ Possible options for midisynth module: MODULE_AUTHOR("Frank van de Pol , Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture sequencer MIDI synth."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); int output_buffer_size = PAGE_SIZE; module_param(output_buffer_size, int, 0644); MODULE_PARM_DESC(output_buffer_size, "Output buffer size in bytes."); @@ -323,7 +321,7 @@ snd_seq_midisynth_register_port(snd_seq_device_t *dev) client = synths[card->number]; if (client == NULL) { newclient = 1; - client = snd_kcalloc(sizeof(seq_midisynth_client_t), GFP_KERNEL); + client = kcalloc(1, sizeof(*client), GFP_KERNEL); if (client == NULL) { up(®ister_mutex); return -ENOMEM; @@ -341,7 +339,7 @@ snd_seq_midisynth_register_port(snd_seq_device_t *dev) } else if (device == 0) set_client_name(client, card, &info); /* use the first device's name */ - msynth = snd_kcalloc(sizeof(seq_midisynth_t) * ports, GFP_KERNEL); + msynth = kcalloc(ports, sizeof(seq_midisynth_t), GFP_KERNEL); if (msynth == NULL) goto __nomem; diff --git a/sound/core/sound.c b/sound/core/sound.c index 558a8dbaa..a9e477c2e 100644 --- a/sound/core/sound.c +++ b/sound/core/sound.c @@ -44,19 +44,14 @@ static int device_mode = S_IFCHR | S_IRUGO | S_IWUGO; MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Advanced Linux Sound Architecture driver for soundcards."); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_SUPPORTED_DEVICE("sound"); module_param(major, int, 0444); MODULE_PARM_DESC(major, "Major # for sound driver."); -MODULE_PARM_SYNTAX(major, "default:116,skill:devel"); module_param(cards_limit, int, 0444); MODULE_PARM_DESC(cards_limit, "Count of auto-loadable soundcards."); -MODULE_PARM_SYNTAX(cards_limit, "default:8,skill:advanced"); MODULE_ALIAS_CHARDEV_MAJOR(CONFIG_SND_MAJOR); #ifdef CONFIG_DEVFS_FS module_param(device_mode, int, 0444); MODULE_PARM_DESC(device_mode, "Device file permission mask for devfs."); -MODULE_PARM_SYNTAX(device_mode, "default:0666,base:8"); #endif MODULE_ALIAS_CHARDEV_MAJOR(CONFIG_SND_MAJOR); @@ -339,39 +334,29 @@ int __exit snd_minor_info_done(void) static int __init alsa_sound_init(void) { short controlnum; -#ifdef CONFIG_SND_OSSEMUL int err; -#endif int card; snd_major = major; snd_ecards_limit = cards_limit; for (card = 0; card < SNDRV_CARDS; card++) INIT_LIST_HEAD(&snd_minors_hash[card]); -#ifdef CONFIG_SND_OSSEMUL if ((err = snd_oss_init_module()) < 0) return err; -#endif devfs_mk_dir("snd"); if (register_chrdev(major, "alsa", &snd_fops)) { snd_printk(KERN_ERR "unable to register native major device number %d\n", major); devfs_remove("snd"); return -EIO; } -#ifdef CONFIG_SND_DEBUG_MEMORY snd_memory_init(); -#endif if (snd_info_init() < 0) { -#ifdef CONFIG_SND_DEBUG_MEMORY snd_memory_done(); -#endif unregister_chrdev(major, "alsa"); devfs_remove("snd"); return -ENOMEM; } -#ifdef CONFIG_SND_OSSEMUL snd_info_minor_register(); -#endif for (controlnum = 0; controlnum < cards_limit; controlnum++) { devfs_mk_cdev(MKDEV(major, controlnum<<5), S_IFCHR | device_mode, "snd/controlC%d", controlnum); class_simple_device_add(sound_class, MKDEV(major, controlnum<<5), NULL, "controlC%d", controlnum); @@ -391,13 +376,9 @@ static void __exit alsa_sound_exit(void) class_simple_device_remove(MKDEV(major, controlnum<<5)); } -#ifdef CONFIG_SND_OSSEMUL snd_info_minor_unregister(); -#endif snd_info_done(); -#ifdef CONFIG_SND_DEBUG_MEMORY snd_memory_done(); -#endif if (unregister_chrdev(major, "alsa") != 0) snd_printk(KERN_ERR "unable to unregister major device number %d\n", major); devfs_remove("snd"); @@ -406,24 +387,6 @@ static void __exit alsa_sound_exit(void) module_init(alsa_sound_init) module_exit(alsa_sound_exit) -#ifndef MODULE - -/* format is: snd=major,cards_limit[,device_mode] */ - -static int __init alsa_sound_setup(char *str) -{ - (void)(get_option(&str,&major) == 2 && - get_option(&str,&cards_limit) == 2); -#ifdef CONFIG_DEVFS_FS - (void)(get_option(&str,&device_mode) == 2); -#endif - return 1; -} - -__setup("snd=", alsa_sound_setup); - -#endif /* ifndef MODULE */ - /* sound.c */ EXPORT_SYMBOL(snd_major); EXPORT_SYMBOL(snd_ecards_limit); @@ -439,14 +402,11 @@ EXPORT_SYMBOL(snd_unregister_oss_device); /* memory.c */ #ifdef CONFIG_SND_DEBUG_MEMORY EXPORT_SYMBOL(snd_hidden_kmalloc); +EXPORT_SYMBOL(snd_hidden_kcalloc); EXPORT_SYMBOL(snd_hidden_kfree); EXPORT_SYMBOL(snd_hidden_vmalloc); EXPORT_SYMBOL(snd_hidden_vfree); -EXPORT_SYMBOL(_snd_magic_kmalloc); -EXPORT_SYMBOL(_snd_magic_kcalloc); -EXPORT_SYMBOL(snd_magic_kfree); #endif -EXPORT_SYMBOL(snd_kcalloc); EXPORT_SYMBOL(snd_kmalloc_strdup); EXPORT_SYMBOL(copy_to_user_fromio); EXPORT_SYMBOL(copy_from_user_toio); diff --git a/sound/core/timer.c b/sound/core/timer.c index 6f6d89c43..cee5f47c7 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -46,7 +47,6 @@ static int timer_limit = DEFAULT_TIMER_LIMIT; MODULE_AUTHOR("Jaroslav Kysela , Takashi Iwai "); MODULE_DESCRIPTION("ALSA timer interface"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); module_param(timer_limit, int, 0444); MODULE_PARM_DESC(timer_limit, "Maximum global timers in system."); @@ -94,7 +94,7 @@ static void snd_timer_reschedule(snd_timer_t * timer, unsigned long ticks_left); static snd_timer_instance_t *snd_timer_instance_new(char *owner, snd_timer_t *timer) { snd_timer_instance_t *timeri; - timeri = snd_kcalloc(sizeof(snd_timer_instance_t), GFP_KERNEL); + timeri = kcalloc(1, sizeof(*timeri), GFP_KERNEL); if (timeri == NULL) return NULL; timeri->owner = snd_kmalloc_strdup(owner, GFP_KERNEL); @@ -761,7 +761,7 @@ int snd_timer_new(snd_card_t *card, char *id, snd_timer_id_t *tid, snd_timer_t * snd_assert(tid != NULL, return -EINVAL); snd_assert(rtimer != NULL, return -EINVAL); *rtimer = NULL; - timer = snd_magic_kcalloc(snd_timer_t, 0, GFP_KERNEL); + timer = kcalloc(1, sizeof(*timer), GFP_KERNEL); if (timer == NULL) return -ENOMEM; timer->tmr_class = tid->dev_class; @@ -792,19 +792,19 @@ static int snd_timer_free(snd_timer_t *timer) snd_assert(timer != NULL, return -ENXIO); if (timer->private_free) timer->private_free(timer); - snd_magic_kfree(timer); + kfree(timer); return 0; } int snd_timer_dev_free(snd_device_t *device) { - snd_timer_t *timer = snd_magic_cast(snd_timer_t, device->device_data, return -ENXIO); + snd_timer_t *timer = device->device_data; return snd_timer_free(timer); } int snd_timer_dev_register(snd_device_t *dev) { - snd_timer_t *timer = snd_magic_cast(snd_timer_t, dev->device_data, return -ENXIO); + snd_timer_t *timer = dev->device_data; snd_timer_t *timer1; struct list_head *p; @@ -865,7 +865,7 @@ int snd_timer_unregister(snd_timer_t *timer) static int snd_timer_dev_unregister(snd_device_t *device) { - snd_timer_t *timer = snd_magic_cast(snd_timer_t, device->device_data, return -ENXIO); + snd_timer_t *timer = device->device_data; return snd_timer_unregister(timer); } @@ -1018,7 +1018,7 @@ static int snd_timer_register_system(void) return err; strcpy(timer->name, "system timer"); timer->hw = snd_timer_system; - priv = (struct snd_timer_system_private *) snd_kcalloc(sizeof(struct snd_timer_system_private), GFP_KERNEL); + priv = kcalloc(1, sizeof(*priv), GFP_KERNEL); if (priv == NULL) { snd_timer_free(timer); return -ENOMEM; @@ -1086,7 +1086,7 @@ static void snd_timer_user_interrupt(snd_timer_instance_t *timeri, unsigned long resolution, unsigned long ticks) { - snd_timer_user_t *tu = snd_magic_cast(snd_timer_user_t, timeri->callback_data, return); + snd_timer_user_t *tu = timeri->callback_data; snd_timer_read_t *r; int prev; @@ -1129,7 +1129,7 @@ static void snd_timer_user_ccallback(snd_timer_instance_t *timeri, struct timespec *tstamp, unsigned long resolution) { - snd_timer_user_t *tu = snd_magic_cast(snd_timer_user_t, timeri->callback_data, return); + snd_timer_user_t *tu = timeri->callback_data; snd_timer_tread_t r1; if (event >= SNDRV_TIMER_EVENT_START && event <= SNDRV_TIMER_EVENT_PAUSE) @@ -1148,7 +1148,7 @@ static void snd_timer_user_tinterrupt(snd_timer_instance_t *timeri, unsigned long resolution, unsigned long ticks) { - snd_timer_user_t *tu = snd_magic_cast(snd_timer_user_t, timeri->callback_data, return); + snd_timer_user_t *tu = timeri->callback_data; snd_timer_tread_t *r, r1; struct timespec tstamp; int prev, append = 0; @@ -1200,7 +1200,7 @@ static int snd_timer_user_open(struct inode *inode, struct file *file) { snd_timer_user_t *tu; - tu = snd_magic_kcalloc(snd_timer_user_t, 0, GFP_KERNEL); + tu = kcalloc(1, sizeof(*tu), GFP_KERNEL); if (tu == NULL) return -ENOMEM; spin_lock_init(&tu->qlock); @@ -1209,7 +1209,7 @@ static int snd_timer_user_open(struct inode *inode, struct file *file) tu->queue_size = 128; tu->queue = (snd_timer_read_t *)kmalloc(tu->queue_size * sizeof(snd_timer_read_t), GFP_KERNEL); if (tu->queue == NULL) { - snd_magic_kfree(tu); + kfree(tu); return -ENOMEM; } file->private_data = tu; @@ -1221,7 +1221,7 @@ static int snd_timer_user_release(struct inode *inode, struct file *file) snd_timer_user_t *tu; if (file->private_data) { - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; file->private_data = NULL; fasync_helper(-1, file, 0, &tu->fasync); if (tu->timeri) @@ -1230,7 +1230,7 @@ static int snd_timer_user_release(struct inode *inode, struct file *file) kfree(tu->queue); if (tu->tqueue) kfree(tu->tqueue); - snd_magic_kfree(tu); + kfree(tu); } return 0; } @@ -1449,7 +1449,7 @@ static int snd_timer_user_tselect(struct file *file, snd_timer_select_t __user * char str[32]; int err; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; if (tu->timeri) snd_timer_close(tu->timeri); if (copy_from_user(&tselect, _tselect, sizeof(tselect))) @@ -1495,7 +1495,7 @@ static int snd_timer_user_info(struct file *file, snd_timer_info_t __user *_info snd_timer_info_t info; snd_timer_t *t; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); t = tu->timeri->timer; snd_assert(t != NULL, return -ENXIO); @@ -1520,7 +1520,7 @@ static int snd_timer_user_params(struct file *file, snd_timer_params_t __user *_ snd_timer_tread_t *ttr; int err; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); t = tu->timeri->timer; snd_assert(t != NULL, return -ENXIO); @@ -1608,7 +1608,7 @@ static int snd_timer_user_status(struct file *file, snd_timer_status_t __user *_ snd_timer_user_t *tu; snd_timer_status_t status; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); memset(&status, 0, sizeof(status)); status.tstamp = tu->tstamp; @@ -1628,7 +1628,7 @@ static int snd_timer_user_start(struct file *file) int err; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); snd_timer_stop(tu->timeri); tu->timeri->lost = 0; @@ -1641,7 +1641,7 @@ static int snd_timer_user_stop(struct file *file) int err; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); return (err = snd_timer_stop(tu->timeri)) < 0 ? err : 0; } @@ -1651,20 +1651,20 @@ static int snd_timer_user_continue(struct file *file) int err; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; snd_assert(tu->timeri != NULL, return -ENXIO); tu->timeri->lost = 0; return (err = snd_timer_continue(tu->timeri)) < 0 ? err : 0; } -static int snd_timer_user_ioctl(struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg) +static inline int _snd_timer_user_ioctl(struct inode *inode, struct file *file, + unsigned int cmd, unsigned long arg) { snd_timer_user_t *tu; void __user *argp = (void __user *)arg; int __user *p = argp; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; switch (cmd) { case SNDRV_TIMER_IOCTL_PVERSION: return put_user(SNDRV_TIMER_VERSION, p) ? -EFAULT : 0; @@ -1705,12 +1705,23 @@ static int snd_timer_user_ioctl(struct inode *inode, struct file *file, return -ENOTTY; } +/* FIXME: need to unlock BKL to allow preemption */ +static int snd_timer_user_ioctl(struct inode *inode, struct file * file, + unsigned int cmd, unsigned long arg) +{ + int err; + unlock_kernel(); + err = _snd_timer_user_ioctl(inode, file, cmd, arg); + lock_kernel(); + return err; +} + static int snd_timer_user_fasync(int fd, struct file * file, int on) { snd_timer_user_t *tu; int err; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; err = fasync_helper(fd, file, on, &tu->fasync); if (err < 0) return err; @@ -1723,7 +1734,7 @@ static ssize_t snd_timer_user_read(struct file *file, char __user *buffer, size_ long result = 0, unit; int err = 0; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return -ENXIO); + tu = file->private_data; unit = tu->tread ? sizeof(snd_timer_tread_t) : sizeof(snd_timer_read_t); spin_lock_irq(&tu->qlock); while ((long)count - result >= unit) { @@ -1785,7 +1796,7 @@ static unsigned int snd_timer_user_poll(struct file *file, poll_table * wait) unsigned int mask; snd_timer_user_t *tu; - tu = snd_magic_cast(snd_timer_user_t, file->private_data, return 0); + tu = file->private_data; poll_wait(file, &tu->qchange_sleep, wait); diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index b6fba1a97..fb469d9d8 100644 --- a/sound/drivers/dummy.c +++ b/sound/drivers/dummy.c @@ -34,8 +34,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Dummy soundcard (/dev/null)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA,Dummy soundcard}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA,Dummy soundcard}}"); #define MAX_PCM_DEVICES 4 #define MAX_PCM_SUBSTREAMS 16 @@ -133,22 +132,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for dummy soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for dummy soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this dummy soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcm_devs, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_devs, "PCM devices # (0-4) for dummy driver."); -MODULE_PARM_SYNTAX(pcm_devs, SNDRV_ENABLED ",allows:{{0,4}},default:1,dialog:list"); module_param_array(pcm_substreams, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_substreams, "PCM substreams # (1-16) for dummy driver."); -MODULE_PARM_SYNTAX(pcm_substreams, SNDRV_ENABLED ",allows:{{1,16}},default:8,dialog:list"); //module_param_array(midi_devs, int, boot_devs, 0444); //MODULE_PARM_DESC(midi_devs, "MIDI devices # (0-2) for dummy driver."); -//MODULE_PARM_SYNTAX(midi_devs, SNDRV_ENABLED ",allows:{{0,2}},default:8,dialog:list"); #define MIXER_ADDR_MASTER 0 #define MIXER_ADDR_LINE 1 @@ -180,24 +173,10 @@ typedef struct snd_card_dummy_pcm { static snd_card_t *snd_dummy_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; -static int snd_card_dummy_playback_ioctl(snd_pcm_substream_t * substream, - unsigned int cmd, - void *arg) -{ - return snd_pcm_lib_ioctl(substream, cmd, arg); -} - -static int snd_card_dummy_capture_ioctl(snd_pcm_substream_t * substream, - unsigned int cmd, - void *arg) -{ - return snd_pcm_lib_ioctl(substream, cmd, arg); -} - static void snd_card_dummy_pcm_timer_start(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; dpcm->timer.expires = 1 + jiffies; add_timer(&dpcm->timer); @@ -206,7 +185,7 @@ static void snd_card_dummy_pcm_timer_start(snd_pcm_substream_t * substream) static void snd_card_dummy_pcm_timer_stop(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; del_timer(&dpcm->timer); } @@ -240,7 +219,7 @@ static int snd_card_dummy_capture_trigger(snd_pcm_substream_t * substream, static int snd_card_dummy_pcm_prepare(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return -ENXIO); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; unsigned int bps; bps = runtime->rate * runtime->channels; @@ -269,7 +248,7 @@ static int snd_card_dummy_capture_prepare(snd_pcm_substream_t * substream) static void snd_card_dummy_pcm_timer_function(unsigned long data) { - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, (void *)data, return); + snd_card_dummy_pcm_t *dpcm = (snd_card_dummy_pcm_t *)data; dpcm->timer.expires = 1 + jiffies; add_timer(&dpcm->timer); @@ -287,7 +266,7 @@ static void snd_card_dummy_pcm_timer_function(unsigned long data) static snd_pcm_uframes_t snd_card_dummy_playback_pointer(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return -ENXIO); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; return bytes_to_frames(runtime, dpcm->pcm_buf_pos); } @@ -295,7 +274,7 @@ static snd_pcm_uframes_t snd_card_dummy_playback_pointer(snd_pcm_substream_t * s static snd_pcm_uframes_t snd_card_dummy_capture_pointer(snd_pcm_substream_t * substream) { snd_pcm_runtime_t *runtime = substream->runtime; - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return -ENXIO); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; return bytes_to_frames(runtime, dpcm->pcm_buf_pos); } @@ -338,8 +317,19 @@ static snd_pcm_hardware_t snd_card_dummy_capture = static void snd_card_dummy_runtime_free(snd_pcm_runtime_t *runtime) { - snd_card_dummy_pcm_t *dpcm = snd_magic_cast(snd_card_dummy_pcm_t, runtime->private_data, return); - snd_magic_kfree(dpcm); + snd_card_dummy_pcm_t *dpcm = runtime->private_data; + kfree(dpcm); +} + +static int snd_card_dummy_hw_params(snd_pcm_substream_t * substream, + snd_pcm_hw_params_t * hw_params) +{ + return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); +} + +static int snd_card_dummy_hw_free(snd_pcm_substream_t * substream) +{ + return snd_pcm_lib_free_pages(substream); } static int snd_card_dummy_playback_open(snd_pcm_substream_t * substream) @@ -348,13 +338,9 @@ static int snd_card_dummy_playback_open(snd_pcm_substream_t * substream) snd_card_dummy_pcm_t *dpcm; int err; - dpcm = snd_magic_kcalloc(snd_card_dummy_pcm_t, 0, GFP_KERNEL); + dpcm = kcalloc(1, sizeof(*dpcm), GFP_KERNEL); if (dpcm == NULL) return -ENOMEM; - if ((runtime->dma_area = snd_malloc_pages_fallback(MAX_BUFFER_SIZE, GFP_KERNEL, &runtime->dma_bytes)) == NULL) { - snd_magic_kfree(dpcm); - return -ENOMEM; - } init_timer(&dpcm->timer); dpcm->timer.data = (unsigned long) dpcm; dpcm->timer.function = snd_card_dummy_pcm_timer_function; @@ -370,7 +356,7 @@ static int snd_card_dummy_playback_open(snd_pcm_substream_t * substream) if (substream->pcm->device & 2) runtime->hw.info &= ~(SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID); if ((err = add_playback_constraints(runtime)) < 0) { - snd_magic_kfree(dpcm); + kfree(dpcm); return err; } @@ -383,14 +369,9 @@ static int snd_card_dummy_capture_open(snd_pcm_substream_t * substream) snd_card_dummy_pcm_t *dpcm; int err; - dpcm = snd_magic_kcalloc(snd_card_dummy_pcm_t, 0, GFP_KERNEL); + dpcm = kcalloc(1, sizeof(*dpcm), GFP_KERNEL); if (dpcm == NULL) return -ENOMEM; - if ((runtime->dma_area = snd_malloc_pages_fallback(MAX_BUFFER_SIZE, GFP_KERNEL, &runtime->dma_bytes)) == NULL) { - snd_magic_kfree(dpcm); - return -ENOMEM; - } - memset(runtime->dma_area, 0, runtime->dma_bytes); init_timer(&dpcm->timer); dpcm->timer.data = (unsigned long) dpcm; dpcm->timer.function = snd_card_dummy_pcm_timer_function; @@ -406,7 +387,7 @@ static int snd_card_dummy_capture_open(snd_pcm_substream_t * substream) if (substream->pcm->device & 2) runtime->hw.info &= ~(SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID); if ((err = add_capture_constraints(runtime)) < 0) { - snd_magic_kfree(dpcm); + kfree(dpcm); return err; } @@ -415,24 +396,20 @@ static int snd_card_dummy_capture_open(snd_pcm_substream_t * substream) static int snd_card_dummy_playback_close(snd_pcm_substream_t * substream) { - snd_pcm_runtime_t *runtime = substream->runtime; - - snd_free_pages(runtime->dma_area, runtime->dma_bytes); return 0; } static int snd_card_dummy_capture_close(snd_pcm_substream_t * substream) { - snd_pcm_runtime_t *runtime = substream->runtime; - - snd_free_pages(runtime->dma_area, runtime->dma_bytes); return 0; } static snd_pcm_ops_t snd_card_dummy_playback_ops = { .open = snd_card_dummy_playback_open, .close = snd_card_dummy_playback_close, - .ioctl = snd_card_dummy_playback_ioctl, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_card_dummy_hw_params, + .hw_free = snd_card_dummy_hw_free, .prepare = snd_card_dummy_playback_prepare, .trigger = snd_card_dummy_playback_trigger, .pointer = snd_card_dummy_playback_pointer, @@ -441,7 +418,9 @@ static snd_pcm_ops_t snd_card_dummy_playback_ops = { static snd_pcm_ops_t snd_card_dummy_capture_ops = { .open = snd_card_dummy_capture_open, .close = snd_card_dummy_capture_close, - .ioctl = snd_card_dummy_capture_ioctl, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_card_dummy_hw_params, + .hw_free = snd_card_dummy_hw_free, .prepare = snd_card_dummy_capture_prepare, .trigger = snd_card_dummy_capture_trigger, .pointer = snd_card_dummy_capture_pointer, @@ -459,6 +438,9 @@ static int __init snd_card_dummy_pcm(snd_card_dummy_t *dummy, int device, int su pcm->private_data = dummy; pcm->info_flags = 0; strcpy(pcm->name, "Dummy PCM"); + snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 0, 64*1024); return 0; } @@ -479,7 +461,7 @@ static int snd_dummy_volume_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t static int snd_dummy_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int addr = kcontrol->private_value; @@ -488,11 +470,11 @@ static int snd_dummy_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t ucontrol->value.integer.value[1] = dummy->mixer_volume[addr][1]; spin_unlock_irqrestore(&dummy->mixer_lock, flags); return 0; -} +} static int snd_dummy_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int change, addr = kcontrol->private_value; int left, right; @@ -514,7 +496,7 @@ static int snd_dummy_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t dummy->mixer_volume[addr][1] = right; spin_unlock_irqrestore(&dummy->mixer_lock, flags); return change; -} +} #define DUMMY_CAPSRC(xname, xindex, addr) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ @@ -533,7 +515,7 @@ static int snd_dummy_capsrc_info(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t static int snd_dummy_capsrc_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int addr = kcontrol->private_value; @@ -546,7 +528,7 @@ static int snd_dummy_capsrc_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_dummy_capsrc_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_dummy_t *dummy = _snd_kcontrol_chip(kcontrol); + snd_card_dummy_t *dummy = snd_kcontrol_chip(kcontrol); unsigned long flags; int change, addr = kcontrol->private_value; int left, right; @@ -560,9 +542,7 @@ static int snd_dummy_capsrc_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t dummy->capture_source[addr][1] = right; spin_unlock_irqrestore(&dummy->mixer_lock, flags); return change; -} - -#define DUMMY_CONTROLS (sizeof(snd_dummy_controls)/sizeof(snd_kcontrol_new_t)) +} static snd_kcontrol_new_t snd_dummy_controls[] = { DUMMY_VOLUME("Master Volume", 0, MIXER_ADDR_MASTER), @@ -587,7 +567,7 @@ int __init snd_card_dummy_new_mixer(snd_card_dummy_t * dummy) spin_lock_init(&dummy->mixer_lock); strcpy(card->mixername, "Dummy Mixer"); - for (idx = 0; idx < DUMMY_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_dummy_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_dummy_controls[idx], dummy))) < 0) return err; } diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c index 4b0025030..adc12bb91 100644 --- a/sound/drivers/mpu401/mpu401.c +++ b/sound/drivers/mpu401/mpu401.c @@ -28,7 +28,7 @@ #include #include #ifdef CONFIG_ACPI_BUS -#include +#include #endif #include #include @@ -42,7 +42,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("MPU-401 UART"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -56,24 +55,18 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for MPU-401 device."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for MPU-401 device."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable MPU-401 device."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef USE_ACPI_PNP module_param_array(acpipnp, bool, boot_devs, 0444); MODULE_PARM_DESC(acpipnp, "ACPI PnP detection for MPU-401 device."); -MODULE_PARM_SYNTAX(acpipnp, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for MPU-401 device."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for MPU-401 device."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); #ifndef CONFIG_ACPI_BUS struct acpi_device; @@ -98,13 +91,9 @@ static acpi_status __devinit snd_mpu401_acpi_resource(struct acpi_resource *res, if (res->id == ACPI_RSTYPE_IRQ) { if (res->data.irq.number_of_interrupts > 0) { -#ifdef CONFIG_IA64 - resources->irq = acpi_register_irq(res->data.irq.interrupts[0], - res->data.irq.active_high_low, - res->data.irq.edge_level); -#else - resources->irq = res->data.irq.interrupts[0]; -#endif + resources->irq = acpi_register_gsi(res->data.irq.interrupts[0], + res->data.irq.edge_level, + res->data.irq.active_high_low); } } else if (res->id == ACPI_RSTYPE_IO) { if (res->data.io.range_length >= 2) { @@ -175,7 +164,7 @@ static int __devinit snd_card_mpu401_probe(int dev, struct acpi_device *device) } #ifdef USE_ACPI_PNP if (device) { - strcat(card->longname, ", bus id "); + strcat(card->longname, ", ACPI id "); strlcat(card->longname, acpi_device_bid(device), sizeof(card->longname)); } #endif diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c index d6529a444..2c572345c 100644 --- a/sound/drivers/mtpav.c +++ b/sound/drivers/mtpav.c @@ -69,8 +69,7 @@ MODULE_AUTHOR("Michael T. Mayers"); MODULE_DESCRIPTION("MOTU MidiTimePiece AV multiport MIDI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{MOTU,MidiTimePiece AV multiport MIDI}}"); +MODULE_SUPPORTED_DEVICE("{{MOTU,MidiTimePiece AV multiport MIDI}}"); // io resources #define MTPAV_IOBASE 0x378 @@ -85,19 +84,14 @@ static int hwports = MTPAV_MAX_PORTS; /* use hardware ports 1-8 */ module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param(port, long, 0444); MODULE_PARM_DESC(port, "Parallel port # for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x378},{0x278}},dialog:list"); module_param(irq, int, 0444); MODULE_PARM_DESC(irq, "Parallel IRQ # for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{7},{5}},dialog:list"); module_param(hwports, int, 0444); MODULE_PARM_DESC(hwports, "Hardware ports # for MotuMTPAV MIDI."); -MODULE_PARM_SYNTAX(hwports, SNDRV_ENABLED ",allows:{{1,8}},dialog:list"); /* * defines @@ -419,7 +413,7 @@ static void snd_mtpav_input_trigger(snd_rawmidi_substream_t * substream, int up) static void snd_mtpav_output_timer(unsigned long data) { - mtpav_t *chip = snd_magic_cast(mtpav_t, (void *)data, return); + mtpav_t *chip = (mtpav_t *)data; int p; spin_lock(&chip->spinlock); @@ -587,7 +581,7 @@ static void snd_mtpav_read_bytes(mtpav_t * mcrd) static irqreturn_t snd_mtpav_irqh(int irq, void *dev_id, struct pt_regs *regs) { - mtpav_t *mcard = snd_magic_cast(mtpav_t, dev_id, return IRQ_NONE); + mtpav_t *mcard = dev_id; //printk("irqh()\n"); spin_lock(&mcard->spinlock); @@ -695,7 +689,7 @@ static int snd_mtpav_get_RAWMIDI(mtpav_t * mcard) static mtpav_t *new_mtpav(void) { - mtpav_t *ncrd = (mtpav_t *) snd_magic_kcalloc(mtpav_t, 0, GFP_KERNEL); + mtpav_t *ncrd = kcalloc(1, sizeof(*ncrd), GFP_KERNEL); if (ncrd != NULL) { spin_lock_init(&ncrd->spinlock); @@ -728,7 +722,7 @@ static void free_mtpav(mtpav_t * crd) release_resource(crd->res_port); kfree_nocheck(crd->res_port); } - snd_magic_kfree(crd); + kfree(crd); } /* diff --git a/sound/drivers/opl3/opl3_lib.c b/sound/drivers/opl3/opl3_lib.c index 965ffd050..e2315afa6 100644 --- a/sound/drivers/opl3/opl3_lib.c +++ b/sound/drivers/opl3/opl3_lib.c @@ -35,8 +35,6 @@ MODULE_AUTHOR("Jaroslav Kysela , Hannu Savolainen 1993-1996, Rob MODULE_DESCRIPTION("Routines for control of AdLib FM cards (OPL2/OPL3/OPL4 chips)"); MODULE_LICENSE("GPL"); -#define chip_t opl3_t - extern char snd_opl3_regmap[MAX_OPL2_VOICES][4]; void snd_opl2_command(opl3_t * opl3, unsigned short cmd, unsigned char val) @@ -322,7 +320,7 @@ void snd_opl3_interrupt(snd_hwdep_t * hw) if (hw == NULL) return; - opl3 = snd_magic_cast(opl3_t, hw->private_data, return); + opl3 = hw->private_data; status = inb(opl3->l_port); #if 0 snd_printk("AdLib IRQ status = 0x%x\n", status); @@ -354,13 +352,13 @@ static int snd_opl3_free(opl3_t *opl3) release_resource(opl3->res_r_port); kfree_nocheck(opl3->res_r_port); } - snd_magic_kfree(opl3); + kfree(opl3); return 0; } static int snd_opl3_dev_free(snd_device_t *device) { - opl3_t *opl3 = snd_magic_cast(opl3_t, device->device_data, return -ENXIO); + opl3_t *opl3 = device->device_data; return snd_opl3_free(opl3); } @@ -379,7 +377,7 @@ int snd_opl3_create(snd_card_t * card, *ropl3 = NULL; - opl3 = snd_magic_kcalloc(opl3_t, 0, GFP_KERNEL); + opl3 = kcalloc(1, sizeof(*opl3), GFP_KERNEL); if (opl3 == NULL) return -ENOMEM; diff --git a/sound/drivers/opl3/opl3_oss.c b/sound/drivers/opl3/opl3_oss.c index d3193b03e..33da334ae 100644 --- a/sound/drivers/opl3/opl3_oss.c +++ b/sound/drivers/opl3/opl3_oss.c @@ -57,7 +57,7 @@ static snd_seq_oss_callback_t oss_callback = { static int snd_opl3_oss_event_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int hop) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -EINVAL); + opl3_t *opl3 = private_data; if (ev->type != SNDRV_SEQ_EVENT_OSS) snd_midi_process_event(&opl3_ops, ev, opl3->oss_chset); @@ -68,7 +68,7 @@ static int snd_opl3_oss_event_input(snd_seq_event_t *ev, int direct, static void snd_opl3_oss_free_port(void *private_data) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return); + opl3_t *opl3 = private_data; snd_midi_channel_free_set(opl3->oss_chset); } @@ -156,7 +156,7 @@ void snd_opl3_free_seq_oss(opl3_t *opl3) /* open OSS sequencer */ static int snd_opl3_open_seq_oss(snd_seq_oss_arg_t *arg, void *closure) { - opl3_t *opl3 = snd_magic_cast(opl3_t, closure, return -EINVAL); + opl3_t *opl3 = closure; int err; snd_assert(arg != NULL, return -ENXIO); @@ -182,7 +182,7 @@ static int snd_opl3_close_seq_oss(snd_seq_oss_arg_t *arg) opl3_t *opl3; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; snd_opl3_synth_cleanup(opl3); @@ -213,7 +213,7 @@ static int snd_opl3_load_patch_seq_oss(snd_seq_oss_arg_t *arg, int format, int err = -EINVAL; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; if ((format == FM_PATCH) || (format == OPL3_PATCH)) { struct sbi_instrument sbi; @@ -241,7 +241,7 @@ static int snd_opl3_load_patch_seq_oss(snd_seq_oss_arg_t *arg, int format, } size = sizeof(*put) + sizeof(fm_xinstrument_t); - put = (snd_seq_instr_header_t *)snd_kcalloc(size, GFP_KERNEL); + put = kcalloc(1, size, GFP_KERNEL); if (put == NULL) return -ENOMEM; /* build header */ @@ -325,7 +325,7 @@ static int snd_opl3_ioctl_seq_oss(snd_seq_oss_arg_t *arg, unsigned int cmd, opl3_t *opl3; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; switch (cmd) { case SNDCTL_FM_LOAD_INSTR: snd_printk("OPL3: Obsolete ioctl(SNDCTL_FM_LOAD_INSTR) used. Fix the program.\n"); @@ -350,7 +350,7 @@ static int snd_opl3_reset_seq_oss(snd_seq_oss_arg_t *arg) opl3_t *opl3; snd_assert(arg != NULL, return -ENXIO); - opl3 = snd_magic_cast(opl3_t, arg->private_data, return -EINVAL); + opl3 = arg->private_data; return 0; } diff --git a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c index c6953b89c..048b33ac5 100644 --- a/sound/drivers/opl3/opl3_seq.c +++ b/sound/drivers/opl3/opl3_seq.c @@ -30,7 +30,6 @@ MODULE_AUTHOR("Uros Bizjak "); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("ALSA driver for OPL3 FM synth"); -MODULE_CLASSES("{sound}"); int use_internal_drums = 0; module_param(use_internal_drums, bool, 0444); @@ -99,7 +98,7 @@ void snd_opl3_synth_cleanup(opl3_t * opl3) int snd_opl3_synth_use(void *private_data, snd_seq_port_subscribe_t * info) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -ENXIO); + opl3_t *opl3 = private_data; int err; if ((err = snd_opl3_synth_setup(opl3)) < 0) @@ -126,7 +125,7 @@ int snd_opl3_synth_use(void *private_data, snd_seq_port_subscribe_t * info) int snd_opl3_synth_unuse(void *private_data, snd_seq_port_subscribe_t * info) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -ENXIO); + opl3_t *opl3 = private_data; snd_opl3_synth_cleanup(opl3); @@ -151,7 +150,7 @@ snd_midi_op_t opl3_ops = { static int snd_opl3_synth_event_input(snd_seq_event_t * ev, int direct, void *private_data, int atomic, int hop) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return -EINVAL); + opl3_t *opl3 = private_data; if (ev->type >= SNDRV_SEQ_EVENT_INSTR_BEGIN && ev->type <= SNDRV_SEQ_EVENT_INSTR_CHANGE) { @@ -169,7 +168,7 @@ static int snd_opl3_synth_event_input(snd_seq_event_t * ev, int direct, static void snd_opl3_synth_free_port(void *private_data) { - opl3_t *opl3 = snd_magic_cast(opl3_t, private_data, return); + opl3_t *opl3 = private_data; snd_midi_channel_free_set(opl3->chset); } diff --git a/sound/drivers/opl4/opl4_seq.c b/sound/drivers/opl4/opl4_seq.c index cc0dee9c2..958dfe884 100644 --- a/sound/drivers/opl4/opl4_seq.c +++ b/sound/drivers/opl4/opl4_seq.c @@ -39,13 +39,11 @@ MODULE_AUTHOR("Clemens Ladisch "); MODULE_DESCRIPTION("OPL4 wavetable synth driver"); MODULE_LICENSE("Dual BSD/GPL"); -MODULE_CLASSES("{sound}"); int volume_boost = 8; module_param(volume_boost, int, 0644); MODULE_PARM_DESC(volume_boost, "Additional volume for OPL4 wavetable sounds."); -MODULE_PARM_SYNTAX(volume_boost, "default:8"); static int snd_opl4_seq_use_inc(opl4_t *opl4) { @@ -61,7 +59,7 @@ static void snd_opl4_seq_use_dec(opl4_t *opl4) static int snd_opl4_seq_use(void *private_data, snd_seq_port_subscribe_t *info) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return -ENXIO); + opl4_t *opl4 = private_data; int err; down(&opl4->access_mutex); @@ -88,7 +86,7 @@ static int snd_opl4_seq_use(void *private_data, snd_seq_port_subscribe_t *info) static int snd_opl4_seq_unuse(void *private_data, snd_seq_port_subscribe_t *info) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return -ENXIO); + opl4_t *opl4 = private_data; snd_opl4_synth_shutdown(opl4); @@ -112,7 +110,7 @@ static snd_midi_op_t opl4_ops = { static int snd_opl4_seq_event_input(snd_seq_event_t *ev, int direct, void *private_data, int atomic, int hop) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return -ENXIO); + opl4_t *opl4 = private_data; snd_midi_process_event(&opl4_ops, ev, opl4->chset); return 0; @@ -120,7 +118,7 @@ static int snd_opl4_seq_event_input(snd_seq_event_t *ev, int direct, static void snd_opl4_seq_free_port(void *private_data) { - opl4_t *opl4 = snd_magic_cast(opl4_t, private_data, return); + opl4_t *opl4 = private_data; snd_midi_channel_free_set(opl4->chset); } diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index 2662f5c12..5dd2bc8a4 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c @@ -46,8 +46,7 @@ MODULE_DESCRIPTION("MIDI serial u16550"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA, MIDI serial u16550}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA, MIDI serial u16550}}"); #define SNDRV_SERIAL_SOUNDCANVAS 0 /* Roland Soundcanvas; F5 NN selects part */ #define SNDRV_SERIAL_MS124T 1 /* Midiator MS-124T */ @@ -81,38 +80,27 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Serial MIDI."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Serial MIDI."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable UART16550A chip."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for UART16550A chip."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for UART16550A chip."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(speed, int, boot_devs, 0444); MODULE_PARM_DESC(speed, "Speed in bauds."); -MODULE_PARM_SYNTAX(speed, SNDRV_ENABLED ",allows:{9600,19200,38400,57600,115200},dialog:list"); module_param_array(base, int, boot_devs, 0444); MODULE_PARM_DESC(base, "Base for divisor in bauds."); -MODULE_PARM_SYNTAX(base, SNDRV_ENABLED ",allows:{57600,115200,230400,460800},dialog:list"); module_param_array(outs, int, boot_devs, 0444); MODULE_PARM_DESC(outs, "Number of MIDI outputs."); module_param_array(ins, int, boot_devs, 0444); MODULE_PARM_DESC(ins, "Number of MIDI inputs."); module_param_array(droponfull, bool, boot_devs, 0444); MODULE_PARM_DESC(droponfull, "Flag to enable drop-on-full buffer mode"); -MODULE_PARM_SYNTAX(droponfull, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); -MODULE_PARM_SYNTAX(outs, SNDRV_ENABLED ",allows:{{1,16}},dialog:list"); -MODULE_PARM_SYNTAX(ins, SNDRV_ENABLED ",allows:{{1,16}},dialog:list"); module_param_array(adaptor, int, boot_devs, 0444); MODULE_PARM_DESC(adaptor, "Type of adaptor."); -MODULE_PARM_SYNTAX(adaptor, SNDRV_ENABLED ",allows:{{0=Soundcanvas,1=MS-124T,2=MS-124W S/A,3=MS-124W M/B,4=Generic}},dialog:list"); /*#define SNDRV_SERIAL_MS124W_MB_NOCOMBO 1*/ /* Address outs as 0-3 instead of bitmap */ @@ -524,7 +512,7 @@ static void snd_uart16550_do_close(snd_uart16550_t * uart) static int snd_uart16550_input_open(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (uart->filemode == SERIAL_MODE_NOT_OPENED) @@ -538,7 +526,7 @@ static int snd_uart16550_input_open(snd_rawmidi_substream_t * substream) static int snd_uart16550_input_close(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); uart->filemode &= ~SERIAL_MODE_INPUT_OPEN; @@ -552,7 +540,7 @@ static int snd_uart16550_input_close(snd_rawmidi_substream_t * substream) static void snd_uart16550_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (up) { @@ -566,7 +554,7 @@ static void snd_uart16550_input_trigger(snd_rawmidi_substream_t * substream, int static int snd_uart16550_output_open(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (uart->filemode == SERIAL_MODE_NOT_OPENED) @@ -580,7 +568,7 @@ static int snd_uart16550_output_open(snd_rawmidi_substream_t * substream) static int snd_uart16550_output_close(snd_rawmidi_substream_t * substream) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return -ENXIO); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); uart->filemode &= ~SERIAL_MODE_OUTPUT_OPEN; @@ -652,7 +640,7 @@ static void snd_uart16550_output_write(snd_rawmidi_substream_t * substream) { unsigned long flags; unsigned char midi_byte, addr_byte; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return); + snd_uart16550_t *uart = substream->rmidi->private_data; char first; static unsigned long lasttime=0; @@ -730,7 +718,7 @@ static void snd_uart16550_output_write(snd_rawmidi_substream_t * substream) static void snd_uart16550_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, substream->rmidi->private_data, return); + snd_uart16550_t *uart = substream->rmidi->private_data; spin_lock_irqsave(&uart->open_lock, flags); if (up) { @@ -765,13 +753,13 @@ static int snd_uart16550_free(snd_uart16550_t *uart) release_resource(uart->res_base); kfree_nocheck(uart->res_base); } - snd_magic_kfree(uart); + kfree(uart); return 0; }; static int snd_uart16550_dev_free(snd_device_t *device) { - snd_uart16550_t *uart = snd_magic_cast(snd_uart16550_t, device->device_data, return -ENXIO); + snd_uart16550_t *uart = device->device_data; return snd_uart16550_free(uart); } @@ -791,7 +779,7 @@ static int __init snd_uart16550_create(snd_card_t * card, int err; - if ((uart = snd_magic_kcalloc(snd_uart16550_t, 0, GFP_KERNEL)) == NULL) + if ((uart = kcalloc(1, sizeof(*uart), GFP_KERNEL)) == NULL) return -ENOMEM; uart->adaptor = adaptor; uart->card = card; diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c index 73eefd29c..f84b271e8 100644 --- a/sound/drivers/virmidi.c +++ b/sound/drivers/virmidi.c @@ -57,8 +57,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("Dummy soundcard for virtual rawmidi devices"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA,Virtual rawmidi device}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA,Virtual rawmidi device}}"); #define MAX_MIDI_DEVICES 8 @@ -70,16 +69,12 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for virmidi soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for virmidi soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(midi_devs, int, boot_devs, 0444); MODULE_PARM_DESC(midi_devs, "MIDI devices # (1-8)"); -MODULE_PARM_SYNTAX(midi_devs, SNDRV_ENABLED ",allows:{{1,8}}"); typedef struct snd_card_virmidi { snd_card_t *card; @@ -113,7 +108,7 @@ static int __init snd_card_virmidi_probe(int dev) snd_virmidi_dev_t *rdev; if ((err = snd_virmidi_new(card, idx, &rmidi)) < 0) goto __nodev; - rdev = snd_magic_cast(snd_virmidi_dev_t, rmidi->private_data, continue); + rdev = rmidi->private_data; vmidi->midi[idx] = rmidi; strcpy(rmidi->name, "Virtual Raw MIDI"); rdev->seq_mode = SNDRV_VIRMIDI_SEQ_DISPATCH; diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig index 11b4240b1..f5f949c0f 100644 --- a/sound/isa/Kconfig +++ b/sound/isa/Kconfig @@ -77,11 +77,15 @@ config SND_ES18XX help Say 'Y' or 'M' to include support for ESS AudioDrive ES18xx chips. +config SND_GUS_SYNTH + tristate + config SND_GUSCLASSIC tristate "Gravis UltraSound Classic" depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for Gravis UltraSound Classic soundcard. @@ -91,6 +95,7 @@ config SND_GUSEXTREME select SND_HWDEP select SND_MPU401_UART select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for Gravis UltraSound Extreme soundcard. @@ -99,6 +104,7 @@ config SND_GUSMAX depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for Gravis UltraSound MAX soundcard. @@ -107,6 +113,7 @@ config SND_INTERWAVE depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for AMD InterWave based soundcards (Gravis UltraSound Plug & Play, STB SoundRage32, MED3210, Dynasonic Pro, @@ -117,6 +124,7 @@ config SND_INTERWAVE_STB depends on SND select SND_RAWMIDI select SND_PCM + select SND_GUS_SYNTH help Say 'Y' or 'M' to include support for AMD InterWave based soundcards with TEA6330T bass and treble regulator (UltraSound 32-Pro). diff --git a/sound/isa/ad1816a/ad1816a.c b/sound/isa/ad1816a/ad1816a.c index 3a5671838..9677dae68 100644 --- a/sound/isa/ad1816a/ad1816a.c +++ b/sound/isa/ad1816a/ad1816a.c @@ -30,15 +30,12 @@ #include #include -#define chip_t ad1816a_t - #define PFX "ad1816a: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("AD1816A, AD1815"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Highscreen,Sound-Boostar 16 3D}," +MODULE_SUPPORTED_DEVICE("{{Highscreen,Sound-Boostar 16 3D}," "{Analog Devices,AD1815}," "{Analog Devices,AD1816A}," "{TerraTec,Base 64}," @@ -60,34 +57,24 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ad1816a based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ad1816a based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ad1816a based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for ad1816a driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ad1816a driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for ad1816a driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for ad1816a driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ad1816a driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "1st DMA # for ad1816a driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "2nd DMA # for ad1816a driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); struct snd_card_ad1816a { struct pnp_dev *dev; diff --git a/sound/isa/ad1848/ad1848.c b/sound/isa/ad1848/ad1848.c index afd232fd5..bcf355779 100644 --- a/sound/isa/ad1848/ad1848.c +++ b/sound/isa/ad1848/ad1848.c @@ -30,13 +30,10 @@ #include #include -#define chip_t ad1848_t - MODULE_AUTHOR("Tugrul Galatali , Jaroslav Kysela "); MODULE_DESCRIPTION("AD1848/AD1847/CS4248"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Analog Devices,AD1848}," +MODULE_SUPPORTED_DEVICE("{{Analog Devices,AD1848}," "{Analog Devices,AD1847}," "{Crystal Semiconductors,CS4248}}"); @@ -51,25 +48,18 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for AD1848 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for AD1848 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable AD1848 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for AD1848 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for AD1848 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for AD1848 driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(thinkpad, bool, boot_devs, 0444); MODULE_PARM_DESC(thinkpad, "Enable only for the onboard CS4248 of IBM Thinkpad 360/750/755 series."); -MODULE_PARM_SYNTAX(thinkpad, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); static snd_card_t *snd_ad1848_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff --git a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c index fe913bf4f..d0a62f71b 100644 --- a/sound/isa/ad1848/ad1848_lib.c +++ b/sound/isa/ad1848/ad1848_lib.c @@ -39,8 +39,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Routines for control of AD1848/AD1847/CS4248"); MODULE_LICENSE("GPL"); -#define chip_t ad1848_t - #if 0 #define SNDRV_DEBUG_MCE #endif @@ -588,7 +586,7 @@ static int snd_ad1848_capture_prepare(snd_pcm_substream_t * substream) irqreturn_t snd_ad1848_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ad1848_t *chip = snd_magic_cast(ad1848_t, dev_id, return IRQ_NONE); + ad1848_t *chip = dev_id; if ((chip->mode & AD1848_MODE_PLAY) && chip->playback_substream && (chip->mode & AD1848_MODE_RUNNING)) @@ -649,7 +647,7 @@ static void snd_ad1848_thinkpad_twiddle(ad1848_t *chip, int on) { #ifdef CONFIG_PM static int snd_ad1848_suspend(snd_card_t *card, unsigned int state) { - ad1848_t *chip = snd_magic_cast(ad1848_t, card->pm_private_data, return -EINVAL); + ad1848_t *chip = card->pm_private_data; if (card->power_state == SNDRV_CTL_POWER_D3hot) return 0; @@ -666,7 +664,7 @@ static int snd_ad1848_suspend(snd_card_t *card, unsigned int state) static int snd_ad1848_resume(snd_card_t *card, unsigned int state) { - ad1848_t *chip = snd_magic_cast(ad1848_t, card->pm_private_data, return -EINVAL); + ad1848_t *chip = card->pm_private_data; if (card->power_state == SNDRV_CTL_POWER_D0) return 0; @@ -867,13 +865,13 @@ static int snd_ad1848_free(ad1848_t *chip) snd_dma_disable(chip->dma); free_dma(chip->dma); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ad1848_dev_free(snd_device_t *device) { - ad1848_t *chip = snd_magic_cast(ad1848_t, device->device_data, return -ENXIO); + ad1848_t *chip = device->device_data; return snd_ad1848_free(chip); } @@ -901,7 +899,7 @@ int snd_ad1848_create(snd_card_t * card, int err; *rchip = NULL; - chip = snd_magic_kcalloc(ad1848_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -977,7 +975,7 @@ static snd_pcm_ops_t snd_ad1848_capture_ops = { static void snd_ad1848_pcm_free(snd_pcm_t *pcm) { - ad1848_t *chip = snd_magic_cast(ad1848_t, pcm->private_data, return); + ad1848_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } diff --git a/sound/isa/als100.c b/sound/isa/als100.c index 6babe7ca3..ea00ec651 100644 --- a/sound/isa/als100.c +++ b/sound/isa/als100.c @@ -32,15 +32,12 @@ #include #include -#define chip_t sb_t - #define PFX "als100: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("Avance Logic ALS1X0"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Avance Logic,ALS100 - PRO16PNP}," +MODULE_SUPPORTED_DEVICE("{{Avance Logic,ALS100 - PRO16PNP}," "{Avance Logic,ALS110}," "{Avance Logic,ALS120}," "{Avance Logic,ALS200}," @@ -63,34 +60,24 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for als100 based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for als100 based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable als100 based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for als100 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for als100 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for als100 driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for als100 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for als100 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for als100 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); module_param_array(dma16, int, boot_devs, 0444); MODULE_PARM_DESC(dma16, "16-bit DMA # for als100 driver."); -MODULE_PARM_SYNTAX(dma16, SNDRV_DMA16_DESC); struct snd_card_als100 { int dev_no; diff --git a/sound/isa/azt2320.c b/sound/isa/azt2320.c index 4c71d4c0e..25a6db27e 100644 --- a/sound/isa/azt2320.c +++ b/sound/isa/azt2320.c @@ -43,15 +43,12 @@ #include #include -#define chip_t cs4231_t - #define PFX "azt2320: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("Aztech Systems AZT2320"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Aztech Systems,PRO16V}," +MODULE_SUPPORTED_DEVICE("{{Aztech Systems,PRO16V}," "{Aztech Systems,AZT2320}," "{Aztech Systems,AZT3300}," "{Aztech Systems,AZT2320}," @@ -72,37 +69,26 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for azt2320 based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for azt2320 based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable azt2320 based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for azt2320 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(wss_port, long, boot_devs, 0444); MODULE_PARM_DESC(wss_port, "WSS Port # for azt2320 driver."); -MODULE_PARM_SYNTAX(wss_port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for azt2320 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for azt2320 driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for azt2320 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for azt2320 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "1st DMA # for azt2320 driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "2nd DMA # for azt2320 driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); struct snd_card_azt2320 { int dev_no; diff --git a/sound/isa/cmi8330.c b/sound/isa/cmi8330.c index 60a6f4f83..631d81dfc 100644 --- a/sound/isa/cmi8330.c +++ b/sound/isa/cmi8330.c @@ -63,8 +63,7 @@ MODULE_AUTHOR("George Talusan "); MODULE_DESCRIPTION("C-Media CMI8330"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{C-Media,CMI8330,isapnp:{CMI0001,@@@0001,@X@0001}}}"); +MODULE_SUPPORTED_DEVICE("{{C-Media,CMI8330,isapnp:{CMI0001,@@@0001,@X@0001}}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; @@ -83,41 +82,30 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for CMI8330 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for CMI8330 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CMI8330 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(sbport, long, boot_devs, 0444); MODULE_PARM_DESC(sbport, "Port # for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbport, SNDRV_ENABLED ",allows:{{0x220,0x280,0x20}},prefers:{0x220},base:16,dialog:list"); module_param_array(sbirq, int, boot_devs, 0444); MODULE_PARM_DESC(sbirq, "IRQ # for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbirq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10},{11},{12}},prefers:{5},dialog:list"); module_param_array(sbdma8, int, boot_devs, 0444); MODULE_PARM_DESC(sbdma8, "DMA8 for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbdma8, SNDRV_DMA8_DESC ",prefers:{1}"); module_param_array(sbdma16, int, boot_devs, 0444); MODULE_PARM_DESC(sbdma16, "DMA16 for CMI8330 SB driver."); -MODULE_PARM_SYNTAX(sbdma16, SNDRV_ENABLED ",allows:{{5},{7}},prefers:{5},dialog:list"); module_param_array(wssport, long, boot_devs, 0444); MODULE_PARM_DESC(wssport, "Port # for CMI8330 WSS driver."); -MODULE_PARM_SYNTAX(wssport, SNDRV_ENABLED ",allows:{{0x530},{0xe80,0xf40,0xc0}},prefers:{0x530},base:16,dialog:list"); module_param_array(wssirq, int, boot_devs, 0444); MODULE_PARM_DESC(wssirq, "IRQ # for CMI8330 WSS driver."); -MODULE_PARM_SYNTAX(wssirq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10},{11},{12}},prefers:{11},dialog:list"); module_param_array(wssdma, int, boot_devs, 0444); MODULE_PARM_DESC(wssdma, "DMA for CMI8330 WSS driver."); -MODULE_PARM_SYNTAX(wssdma, SNDRV_DMA8_DESC ",prefers:{0}"); #define CMI8330_RMUX3D 16 #define CMI8330_MUTEMUX 17 @@ -385,7 +373,7 @@ static int __devinit snd_cmi8330_pnp(int dev, struct snd_cmi8330 *acard, static int snd_cmi8330_playback_open(snd_pcm_substream_t * substream) { - struct snd_cmi8330 *chip = (struct snd_cmi8330 *)_snd_pcm_substream_chip(substream); + struct snd_cmi8330 *chip = snd_pcm_substream_chip(substream); /* replace the private_data and call the original open callback */ substream->private_data = chip->streams[SNDRV_PCM_STREAM_PLAYBACK].private_data; @@ -394,7 +382,7 @@ static int snd_cmi8330_playback_open(snd_pcm_substream_t * substream) static int snd_cmi8330_capture_open(snd_pcm_substream_t * substream) { - struct snd_cmi8330 *chip = (struct snd_cmi8330 *)_snd_pcm_substream_chip(substream); + struct snd_cmi8330 *chip = snd_pcm_substream_chip(substream); /* replace the private_data and call the original open callback */ substream->private_data = chip->streams[SNDRV_PCM_STREAM_CAPTURE].private_data; diff --git a/sound/isa/cs423x/cs4231.c b/sound/isa/cs423x/cs4231.c index 205638d50..460a94aba 100644 --- a/sound/isa/cs423x/cs4231.c +++ b/sound/isa/cs423x/cs4231.c @@ -30,13 +30,10 @@ #include #include -#define chip_t cs4231_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Generic CS4231"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Crystal Semiconductors,CS4231}}"); +MODULE_SUPPORTED_DEVICE("{{Crystal Semiconductors,CS4231}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -51,31 +48,22 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for CS4231 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for CS4231 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CS4231 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for CS4231 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for CS4231 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for CS4231 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for CS4231 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for CS4231 driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for CS4231 driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); static snd_card_t *snd_cs4231_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff --git a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c index 741ea0d4b..d323e3637 100644 --- a/sound/isa/cs423x/cs4231_lib.c +++ b/sound/isa/cs423x/cs4231_lib.c @@ -43,8 +43,6 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Routines for control of CS4231(A)/CS4232/InterWave & compatible chips"); MODULE_LICENSE("GPL"); -#define chip_t cs4231_t - #if 0 #define SNDRV_DEBUG_MCE #endif @@ -969,7 +967,7 @@ static void snd_cs4231_overrange(cs4231_t *chip) irqreturn_t snd_cs4231_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs4231_t *chip = snd_magic_cast(cs4231_t, dev_id, return IRQ_NONE); + cs4231_t *chip = dev_id; unsigned char status; status = snd_cs4231_in(chip, CS4231_IRQ_STATUS); @@ -1407,7 +1405,7 @@ static void snd_cs4231_resume(cs4231_t *chip) static int snd_cs4231_pm_suspend(snd_card_t *card, unsigned int state) { - cs4231_t *chip = snd_magic_cast(cs4231_t, card->pm_private_data, return -EINVAL); + cs4231_t *chip = card->pm_private_data; if (chip->suspend) { chip->suspend(chip); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); @@ -1417,7 +1415,7 @@ static int snd_cs4231_pm_suspend(snd_card_t *card, unsigned int state) static int snd_cs4231_pm_resume(snd_card_t *card, unsigned int state) { - cs4231_t *chip = snd_magic_cast(cs4231_t, card->pm_private_data, return -EINVAL); + cs4231_t *chip = card->pm_private_data; if (chip->resume) { chip->resume(chip); snd_power_change_state(card, SNDRV_CTL_POWER_D0); @@ -1453,13 +1451,13 @@ static int snd_cs4231_free(cs4231_t *chip) } if (chip->timer) snd_device_free(chip->card, chip->timer); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4231_dev_free(snd_device_t *device) { - cs4231_t *chip = snd_magic_cast(cs4231_t, device->device_data, return -ENXIO); + cs4231_t *chip = device->device_data; return snd_cs4231_free(chip); } @@ -1493,7 +1491,7 @@ static int snd_cs4231_new(snd_card_t * card, cs4231_t *chip; *rchip = NULL; - chip = snd_magic_kcalloc(cs4231_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->hardware = hardware; @@ -1626,7 +1624,7 @@ static snd_pcm_ops_t snd_cs4231_capture_ops = { static void snd_cs4231_pcm_free(snd_pcm_t *pcm) { - cs4231_t *chip = snd_magic_cast(cs4231_t, pcm->private_data, return); + cs4231_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1686,7 +1684,7 @@ int snd_cs4231_pcm(cs4231_t *chip, int device, snd_pcm_t **rpcm) static void snd_cs4231_timer_free(snd_timer_t *timer) { - cs4231_t *chip = snd_magic_cast(cs4231_t, timer->private_data, return); + cs4231_t *chip = timer->private_data; chip->timer = NULL; } @@ -1898,8 +1896,6 @@ int snd_cs4231_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucon return change; } -#define CS4231_CONTROLS (sizeof(snd_cs4231_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cs4231_controls[] = { CS4231_DOUBLE("PCM Playback Switch", 0, CS4231_LEFT_OUTPUT, CS4231_RIGHT_OUTPUT, 7, 7, 1, 1), CS4231_DOUBLE("PCM Playback Volume", 0, CS4231_LEFT_OUTPUT, CS4231_RIGHT_OUTPUT, 0, 0, 63, 1), @@ -1938,7 +1934,7 @@ int snd_cs4231_mixer(cs4231_t *chip) strcpy(card->mixername, chip->pcm->name); - for (idx = 0; idx < CS4231_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4231_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4231_controls[idx], chip))) < 0) return err; } diff --git a/sound/isa/cs423x/cs4236.c b/sound/isa/cs423x/cs4236.c index b2fa15a3d..ea1ee923e 100644 --- a/sound/isa/cs423x/cs4236.c +++ b/sound/isa/cs423x/cs4236.c @@ -30,14 +30,11 @@ #include #include -#define chip_t cs4231_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifdef CS4232 MODULE_DESCRIPTION("Cirrus Logic CS4232"); -MODULE_DEVICES("{{Turtle Beach,TBS-2000}," +MODULE_SUPPORTED_DEVICE("{{Turtle Beach,TBS-2000}," "{Turtle Beach,Tropez Plus}," "{SIC CrystalWave 32}," "{Hewlett Packard,Omnibook 5500}," @@ -45,7 +42,7 @@ MODULE_DEVICES("{{Turtle Beach,TBS-2000}," "{Philips,PCA70PS}}"); #else MODULE_DESCRIPTION("Cirrus Logic CS4235-9"); -MODULE_DEVICES("{{Crystal Semiconductors,CS4235}," +MODULE_SUPPORTED_DEVICE("{{Crystal Semiconductors,CS4235}," "{Crystal Semiconductors,CS4236}," "{Crystal Semiconductors,CS4237}," "{Crystal Semiconductors,CS4238}," @@ -99,45 +96,32 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " IDENT " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " IDENT " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " IDENT " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(cport, long, boot_devs, 0444); MODULE_PARM_DESC(cport, "Control port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(cport, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for " IDENT " driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(sb_port, long, boot_devs, 0444); MODULE_PARM_DESC(sb_port, "SB port # for " IDENT " driver (optional)."); -MODULE_PARM_SYNTAX(sb_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for " IDENT " driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for " IDENT " driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for " IDENT " driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for " IDENT " driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); struct snd_card_cs4236 { struct resource *res_sb_port; diff --git a/sound/isa/dt019x.c b/sound/isa/dt019x.c index 40132645d..e40a5f0ab 100644 --- a/sound/isa/dt019x.c +++ b/sound/isa/dt019x.c @@ -33,15 +33,12 @@ #include #include -#define chip_t sb_t - #define PFX "dt019x: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("Diamond Technologies DT-019X / Avance Logic ALS-007"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Diamond Technologies DT-019X}," +MODULE_SUPPORTED_DEVICE("{{Diamond Technologies DT-019X}," "{Avance Logic ALS-007}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -57,31 +54,22 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for DT-019X based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for DT-019X based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable DT-019X based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for dt019x driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for dt019x driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for dt019x driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for dt019x driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for dt019x driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for dt019x driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); struct snd_card_dt019x { struct pnp_dev *dev; diff --git a/sound/isa/es1688/es1688.c b/sound/isa/es1688/es1688.c index a4a5a7c9a..dcb274b22 100644 --- a/sound/isa/es1688/es1688.c +++ b/sound/isa/es1688/es1688.c @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ESS ESx688 AudioDrive"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,ES688 PnP AudioDrive,pnp:ESS0100}," +MODULE_SUPPORTED_DEVICE("{{ESS,ES688 PnP AudioDrive,pnp:ESS0100}," "{ESS,ES1688 PnP AudioDrive,pnp:ESS0102}," "{ESS,ES688 AudioDrive,pnp:ESS6881}," "{ESS,ES1688 AudioDrive,pnp:ESS1681}}"); @@ -55,28 +54,20 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ESx688 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ESx688 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ESx688 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for ESx688 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ESx688 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for ESx688 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for ESx688 driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for ESx688 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); static snd_card_t *snd_audiodrive_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c index 202eab49e..1b974f963 100644 --- a/sound/isa/es18xx.c +++ b/sound/isa/es18xx.c @@ -157,8 +157,6 @@ struct _snd_es18xx { typedef struct _snd_es18xx es18xx_t; -#define chip_t es18xx_t - /* Lowlevel */ #define DAC1 0x01 @@ -728,7 +726,7 @@ static int snd_es18xx_playback_trigger(snd_pcm_substream_t *substream, static irqreturn_t snd_es18xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es18xx_t *chip = snd_magic_cast(es18xx_t, dev_id, return IRQ_NONE); + es18xx_t *chip = dev_id; unsigned char status; if (chip->caps & ES18XX_CONTROL) { @@ -1027,7 +1025,7 @@ static int snd_es18xx_get_hw_switch(snd_kcontrol_t * kcontrol, snd_ctl_elem_valu static void snd_es18xx_hwv_free(snd_kcontrol_t *kcontrol) { - es18xx_t *chip = snd_magic_cast(es18xx_t, _snd_kcontrol_chip(kcontrol), return); + es18xx_t *chip = snd_kcontrol_chip(kcontrol); chip->master_volume = NULL; chip->master_switch = NULL; chip->hw_volume = NULL; @@ -1561,7 +1559,7 @@ static snd_pcm_ops_t snd_es18xx_capture_ops = { static void snd_es18xx_pcm_free(snd_pcm_t *pcm) { - es18xx_t *codec = snd_magic_cast(es18xx_t, pcm->private_data, return); + es18xx_t *codec = pcm->private_data; codec->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1611,7 +1609,7 @@ int __devinit snd_es18xx_pcm(es18xx_t *chip, int device, snd_pcm_t ** rpcm) #ifdef CONFIG_PM static int snd_es18xx_suspend(snd_card_t *card, unsigned int state) { - es18xx_t *chip = snd_magic_cast(es18xx_t, card->pm_private_data, return -EINVAL); + es18xx_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); @@ -1627,7 +1625,7 @@ static int snd_es18xx_suspend(snd_card_t *card, unsigned int state) static int snd_es18xx_resume(snd_card_t *card, unsigned int state) { - es18xx_t *chip = snd_magic_cast(es18xx_t, card->pm_private_data, return -EINVAL); + es18xx_t *chip = card->pm_private_data; /* restore PM register, we won't wake till (not 0x07) i/o activity though */ snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM); @@ -1661,13 +1659,13 @@ static int snd_es18xx_free(es18xx_t *chip) disable_dma(chip->dma2); free_dma(chip->dma2); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_es18xx_dev_free(snd_device_t *device) { - es18xx_t *chip = snd_magic_cast(es18xx_t, device->device_data, return -ENXIO); + es18xx_t *chip = device->device_data; return snd_es18xx_free(chip); } @@ -1685,7 +1683,7 @@ static int __devinit snd_es18xx_new_device(snd_card_t * card, int err; *rchip = NULL; - chip = snd_magic_kcalloc(es18xx_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -1830,8 +1828,7 @@ static int __devinit snd_es18xx_mixer(es18xx_t *chip) MODULE_AUTHOR("Christian Fischbach , Abramo Bagnara "); MODULE_DESCRIPTION("ESS ES18xx AudioDrive"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,ES1868 PnP AudioDrive}," +MODULE_SUPPORTED_DEVICE("{{ESS,ES1868 PnP AudioDrive}," "{ESS,ES1869 PnP AudioDrive}," "{ESS,ES1878 PnP AudioDrive}," "{ESS,ES1879 PnP AudioDrive}," @@ -1860,36 +1857,26 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ES18xx soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ES18xx soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ES18xx soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for ES18xx driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x280,0x20}},prefers:{0x220},base:16,dialog:list"); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for ES18xx driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x300,0x330,0x30},{0x800,0xffe,0x2}},prefers:{0x330,0x300},base:16,dialog:combo"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for ES18xx driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388},{0x800,0xffc,0x4}},prefers:{0x388},base:16,dialog:combo"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for ES18xx driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC ",prefers:{5}"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA 1 # for ES18xx driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA8_DESC ",prefers:{1}"); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA 2 # for ES18xx driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{0},{1},{3},{5}},dialog:list,prefers:{0}"); struct snd_audiodrive { #ifdef CONFIG_PNP diff --git a/sound/isa/gus/gusclassic.c b/sound/isa/gus/gusclassic.c index e876402c3..83b472da6 100644 --- a/sound/isa/gus/gusclassic.c +++ b/sound/isa/gus/gusclassic.c @@ -35,8 +35,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Gravis UltraSound Classic"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Gravis,UltraSound Classic}}"); +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound Classic}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -53,34 +52,24 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for GUS Classic soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for GUS Classic soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable GUS Classic soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for GUS Classic driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x260,0x10}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for GUS Classic driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for GUS Classic driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for GUS Classic driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS Classic driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(channels, int, boot_devs, 0444); MODULE_PARM_DESC(channels, "GF1 channels for GUS Classic driver."); -MODULE_PARM_SYNTAX(channels, SNDRV_ENABLED ",allows:{{14,32}}"); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Classic driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); static snd_card_t *snd_gusclassic_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c index ba39f7038..91b5169ce 100644 --- a/sound/isa/gus/gusextreme.c +++ b/sound/isa/gus/gusextreme.c @@ -38,8 +38,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Gravis UltraSound Extreme"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Gravis,UltraSound Extreme}}"); +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound Extreme}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -60,46 +59,32 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for GUS Extreme soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for GUS Extreme soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable GUS Extreme soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220,0x260,0x20}},dialog:list"); module_param_array(gf1_port, long, boot_devs, 0444); MODULE_PARM_DESC(gf1_port, "GF1 port # for GUS Extreme driver (optional)."); -MODULE_PARM_SYNTAX(gf1_port, SNDRV_ENABLED ",allows:{{0x210,0x270,0x10}},dialog:list"); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x300,0x320,0x10}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10}},dialog:list"); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_ENABLED ",allows:{{5},{7},{9},{10}},dialog:list"); module_param_array(gf1_irq, int, boot_devs, 0444); MODULE_PARM_DESC(gf1_irq, "GF1 IRQ # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(gf1_irq, SNDRV_ENABLED ",allows:{{2},{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "GF1 DMA # for GUS Extreme driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS Extreme driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(channels, int, boot_devs, 0444); MODULE_PARM_DESC(channels, "GF1 channels for GUS Extreme driver."); -MODULE_PARM_SYNTAX(channels, SNDRV_ENABLED ",allows:{{14,32}}"); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Extreme driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); static snd_card_t *snd_gusextreme_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c index 9d7c62a52..aa477ebec 100644 --- a/sound/isa/gus/gusmax.c +++ b/sound/isa/gus/gusmax.c @@ -36,8 +36,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Gravis UltraSound MAX"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Gravis,UltraSound MAX}}"); +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound MAX}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -54,34 +53,24 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for GUS MAX soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for GUS MAX soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable GUS MAX soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for GUS MAX driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220},{0x230},{0x240},{0x250},{0x260}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for GUS MAX driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for GUS MAX driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for GUS MAX driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS MAX driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(channels, int, boot_devs, 0444); MODULE_PARM_DESC(channels, "Used GF1 channels for GUS MAX driver."); -MODULE_PARM_SYNTAX(channels, SNDRV_ENABLED ",allows:{{14,32}}"); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS MAX driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); struct snd_gusmax { int irq; diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c index b2c3544bf..22567f68a 100644 --- a/sound/isa/gus/interwave.c +++ b/sound/isa/gus/interwave.c @@ -41,18 +41,17 @@ #include MODULE_AUTHOR("Jaroslav Kysela "); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); #ifndef SNDRV_STB MODULE_DESCRIPTION("AMD InterWave"); -MODULE_DEVICES("{{Gravis,UltraSound Plug & Play}," +MODULE_SUPPORTED_DEVICE("{{Gravis,UltraSound Plug & Play}," "{STB,SoundRage32}," "{MED,MED3210}," "{Dynasonix,Dynasonix Pro}," "{Panasonic,PCA761AW}}"); #else MODULE_DESCRIPTION("AMD InterWave STB with TEA6330T"); -MODULE_DEVICES("{{AMD,InterWave STB with TEA6330T}}"); +MODULE_SUPPORTED_DEVICE("{{AMD,InterWave STB with TEA6330T}}"); #endif static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -77,47 +76,32 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for InterWave soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for InterWave soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable InterWave soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); -#ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "ISA PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); -#endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for InterWave driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x210,0x260,0x10}},dialog:list"); #ifdef SNDRV_STB module_param_array(port_tc, long, boot_devs, 0444); MODULE_PARM_DESC(port_tc, "Tone control (TEA6330T - i2c bus) port # for InterWave driver."); -MODULE_PARM_SYNTAX(port_tc, SNDRV_ENABLED ",allows:{{0x350,0x380,0x10}},dialog:list"); #endif module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for InterWave driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for InterWave driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for InterWave driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); module_param_array(joystick_dac, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for InterWave driver."); -MODULE_PARM_SYNTAX(joystick_dac, SNDRV_ENABLED ",allows:{{0,31}}"); module_param_array(midi, int, boot_devs, 0444); MODULE_PARM_DESC(midi, "MIDI UART enable for InterWave driver."); -MODULE_PARM_SYNTAX(midi, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for InterWave driver."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",allows:{{2,16}}"); module_param_array(effect, int, boot_devs, 0444); MODULE_PARM_DESC(effect, "Effects enable for InterWave driver."); -MODULE_PARM_SYNTAX(effect, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); struct snd_interwave { int irq; @@ -411,8 +395,8 @@ static void __devinit snd_interwave_detect_memory(snd_gus_card_t * gus) int bank_pos, pages; unsigned int i, lmct; int psizes[4]; + unsigned char iwave[8]; unsigned char csum; - struct rom_hdr romh; snd_interwave_reset(gus); snd_gf1_write8(gus, SNDRV_GF1_GB_GLOBAL_MODE, snd_gf1_read8(gus, SNDRV_GF1_GB_GLOBAL_MODE) | 0x01); /* enhanced mode */ @@ -434,7 +418,7 @@ static void __devinit snd_interwave_detect_memory(snd_gus_card_t * gus) #if 0 printk("lmct = 0x%08x\n", lmct); #endif - for (i = 0; i < sizeof(lmc) / sizeof(unsigned int); i++) + for (i = 0; i < ARRAY_SIZE(lmc); i++) if (lmct == lmc[i]) { #if 0 printk("found !!! %i\n", i); @@ -443,7 +427,7 @@ static void __devinit snd_interwave_detect_memory(snd_gus_card_t * gus) snd_interwave_bank_sizes(gus, psizes); break; } - if (i >= sizeof(lmc) / sizeof(unsigned int) && !gus->gf1.enh_mode) + if (i >= ARRAY_SIZE(lmc) && !gus->gf1.enh_mode) snd_gf1_write16(gus, SNDRV_GF1_GW_MEMORY_CONFIG, (snd_gf1_look16(gus, SNDRV_GF1_GW_MEMORY_CONFIG) & 0xfff0) | 2); for (i = 0; i < 4; i++) { gus->gf1.mem_alloc.banks_8[i].address = @@ -461,33 +445,29 @@ static void __devinit snd_interwave_detect_memory(snd_gus_card_t * gus) gus->gf1.rom_banks = 0; gus->gf1.rom_memory = 0; for (bank_pos = 0; bank_pos < 16L * 1024L * 1024L; bank_pos += 4L * 1024L * 1024L) { - for (i = 0; i < sizeof(struct rom_hdr); i++) - *(((unsigned char *) &romh) + i) = snd_gf1_peek(gus, i + bank_pos); + for (i = 0; i < 8; ++i) + iwave[i] = snd_gf1_peek(gus, bank_pos + i); #ifdef CONFIG_SND_DEBUG_ROM printk("ROM at 0x%06x = %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x\n", bank_pos, - romh.iwave[0], romh.iwave[1], romh.iwave[2], romh.iwave[3], - romh.iwave[4], romh.iwave[5], romh.iwave[6], romh.iwave[7]); + iwave[0], iwave[1], iwave[2], iwave[3], + iwave[4], iwave[5], iwave[6], iwave[7]); #endif - if (strncmp(romh.iwave, "INTRWAVE", 8)) + if (strncmp(iwave, "INTRWAVE", 8)) continue; /* first check */ csum = 0; - for (i = 0; i < sizeof(struct rom_hdr) - 1; i++) - csum += *(((unsigned char *) &romh) + i); + for (i = 0; i < sizeof(struct rom_hdr); i++) + csum += snd_gf1_peek(gus, bank_pos + i); #ifdef CONFIG_SND_DEBUG_ROM - printk("ROM checksum = 0x%x == 0x%x (computed)\n", romh.csum, (unsigned char) (256 - csum)); + printk("ROM checksum = 0x%x (computed)\n", csum); #endif - if (256 - csum != romh.csum) + if (csum != 0) continue; /* not valid rom */ gus->gf1.rom_banks++; gus->gf1.rom_present |= 1 << (bank_pos >> 22); -#ifdef SNDRV_LITTLE_ENDIAN - gus->gf1.rom_memory = romh.rom_size; -#else - gus->gf1.rom_memory = ((romh.rom_size >> 24) & 0x000000ff) | - ((romh.rom_size >> 8) & 0x0000ff00) | - ((romh.rom_size << 8) & 0x00ff0000) | - ((romh.rom_size << 24) & 0xff000000); -#endif + gus->gf1.rom_memory = snd_gf1_peek(gus, bank_pos + 40) | + (snd_gf1_peek(gus, bank_pos + 41) << 8) | + (snd_gf1_peek(gus, bank_pos + 42) << 16) | + (snd_gf1_peek(gus, bank_pos + 43) << 24); } #if 0 if (gus->gf1.rom_memory > 0) { @@ -523,8 +503,6 @@ static void __devinit snd_interwave_init(int dev, snd_gus_card_t * gus) } -#define INTERWAVE_CONTROLS (sizeof(snd_interwave_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_interwave_controls[] = { CS4231_DOUBLE("Master Playback Switch", 0, CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 7, 7, 1, 1), CS4231_DOUBLE("Master Playback Volume", 0, CS4231_LINE_LEFT_OUTPUT, CS4231_LINE_RIGHT_OUTPUT, 0, 0, 31, 1), @@ -552,7 +530,7 @@ static int __devinit snd_interwave_mixer(cs4231_t *chip) return err; #endif /* add new master and mic controls */ - for (idx = 0; idx < INTERWAVE_CONTROLS; idx++) + for (idx = 0; idx < ARRAY_SIZE(snd_interwave_controls); idx++) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_interwave_controls[idx], chip))) < 0) return err; snd_cs4231_out(chip, CS4231_LINE_LEFT_OUTPUT, 0x9f); diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c index 2bea92fd0..e25303843 100644 --- a/sound/isa/opl3sa2.c +++ b/sound/isa/opl3sa2.c @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Yamaha OPL3SA2+"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Yamaha,YMF719E-S}," +MODULE_SUPPORTED_DEVICE("{{Yamaha,YMF719E-S}," "{Genius,Sound Maker 3DX}," "{Yamaha,OPL3SA3}," "{Intel,AL440LX sound}," @@ -63,45 +62,32 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for OPL3-SA soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for OPL3-SA soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable OPL3-SA soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0xf86},{0x370},{0x100}},dialog:list"); module_param_array(sb_port, long, boot_devs, 0444); MODULE_PARM_DESC(sb_port, "SB port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(sb_port, SNDRV_ENABLED ",allows:{{0x220},{0x240},{0x260}},dialog:list"); module_param_array(wss_port, long, boot_devs, 0444); MODULE_PARM_DESC(wss_port, "WSS port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(wss_port, SNDRV_ENABLED ",allows:{{0x530},{0xe80},{0xf40},{0x604}},dialog:list"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388}},dialog:list"); module_param_array(midi_port, long, boot_devs, 0444); MODULE_PARM_DESC(midi_port, "MIDI port # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(midi_port, SNDRV_ENABLED ",allows:{{0x330},{0x300}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{0},{1},{3},{5},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for OPL3-SA driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_ENABLED ",allows:{{1},{3},{5},{6},{7}},dialog:list"); module_param_array(opl3sa3_ymode, int, boot_devs, 0444); MODULE_PARM_DESC(opl3sa3_ymode, "Speaker size selection for 3D Enhancement mode: Desktop/Large Notebook/Small Notebook/HiFi."); -MODULE_PARM_SYNTAX(opl3sa3_ymode, SNDRV_ENABLED ",allows:{{0,3}},dialog:list"); /* SL Added */ /* control ports */ #define OPL3SA2_PM_CTRL 0x01 @@ -131,7 +117,6 @@ MODULE_PARM_SYNTAX(opl3sa3_ymode, SNDRV_ENABLED ",allows:{{0,3}},dialog:list"); #define OPL3SA2_PM_D3 (OPL3SA2_PM_ADOWN|OPL3SA2_PM_PSV|OPL3SA2_PM_PDN|OPL3SA2_PM_PDX) typedef struct snd_opl3sa2 opl3sa2_t; -#define chip_t opl3sa2_t struct snd_opl3sa2 { snd_card_t *card; @@ -304,7 +289,7 @@ static int __init snd_opl3sa2_detect(opl3sa2_t *chip) static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id, struct pt_regs *regs) { unsigned short status; - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, dev_id, return IRQ_NONE); + opl3sa2_t *chip = dev_id; int handled = 0; if (chip == NULL || chip->card == NULL) @@ -477,8 +462,6 @@ int snd_opl3sa2_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * uco return change; } -#define OPL3SA2_CONTROLS (sizeof(snd_opl3sa2_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_opl3sa2_controls[] = { OPL3SA2_DOUBLE("Master Playback Switch", 0, 0x07, 0x08, 7, 7, 1, 1), OPL3SA2_DOUBLE("Master Playback Volume", 0, 0x07, 0x08, 0, 0, 15, 1), @@ -486,8 +469,6 @@ OPL3SA2_SINGLE("Mic Playback Switch", 0, 0x09, 7, 1, 1), OPL3SA2_SINGLE("Mic Playback Volume", 0, 0x09, 0, 31, 1) }; -#define OPL3SA2_TONE_CONTROLS (sizeof(snd_opl3sa2_tone_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_opl3sa2_tone_controls[] = { OPL3SA2_DOUBLE("3D Control - Wide", 0, 0x14, 0x14, 4, 0, 7, 0), OPL3SA2_DOUBLE("Tone Control - Bass", 0, 0x15, 0x15, 4, 0, 7, 0), @@ -496,7 +477,7 @@ OPL3SA2_DOUBLE("Tone Control - Treble", 0, 0x16, 0x16, 4, 0, 7, 0) static void snd_opl3sa2_master_free(snd_kcontrol_t *kcontrol) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, _snd_kcontrol_chip(kcontrol), return); + opl3sa2_t *chip = snd_kcontrol_chip(kcontrol); chip->master_switch = NULL; chip->master_volume = NULL; } @@ -531,7 +512,7 @@ static int __init snd_opl3sa2_mixer(opl3sa2_t *chip) if ((err = snd_ctl_rename_id(card, &id1, &id2)) < 0) return err; /* add OPL3SA2 controls */ - for (idx = 0; idx < OPL3SA2_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_opl3sa2_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_opl3sa2_controls[idx], chip))) < 0) return err; switch (idx) { @@ -540,7 +521,7 @@ static int __init snd_opl3sa2_mixer(opl3sa2_t *chip) } } if (chip->version > 2) { - for (idx = 0; idx < OPL3SA2_TONE_CONTROLS; idx++) + for (idx = 0; idx < ARRAY_SIZE(snd_opl3sa2_tone_controls); idx++) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_opl3sa2_tone_controls[idx], chip))) < 0) return err; } @@ -551,7 +532,7 @@ static int __init snd_opl3sa2_mixer(opl3sa2_t *chip) #ifdef CONFIG_PM static int snd_opl3sa2_suspend(snd_card_t *card, unsigned int state) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, card->pm_private_data, return -EINVAL); + opl3sa2_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->cs4231->pcm); /* stop before saving regs */ chip->cs4231_suspend(chip->cs4231); @@ -565,7 +546,7 @@ static int snd_opl3sa2_suspend(snd_card_t *card, unsigned int state) static int snd_opl3sa2_resume(snd_card_t *card, unsigned int state) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, card->pm_private_data, return -EINVAL); + opl3sa2_t *chip = card->pm_private_data; int i; /* power up */ @@ -656,13 +637,13 @@ static int snd_opl3sa2_free(opl3sa2_t *chip) release_resource(chip->res_port); kfree_nocheck(chip->res_port); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_opl3sa2_dev_free(snd_device_t *device) { - opl3sa2_t *chip = snd_magic_cast(opl3sa2_t, device->device_data, return -ENXIO); + opl3sa2_t *chip = device->device_data; return snd_opl3sa2_free(chip); } @@ -707,7 +688,7 @@ static int __devinit snd_opl3sa2_probe(int dev, return -ENOMEM; strcpy(card->driver, "OPL3SA2"); strcpy(card->shortname, "Yamaha OPL3-SA2"); - chip = snd_magic_kcalloc(opl3sa2_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) { err = -ENOMEM; goto __error; diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c index 846b00acc..c4fbf6fff 100644 --- a/sound/isa/opti9xx/opti92x-ad1848.c +++ b/sound/isa/opti9xx/opti92x-ad1848.c @@ -52,19 +52,18 @@ #include MODULE_AUTHOR("Massimo Piccioni "); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); #ifdef OPTi93X MODULE_DESCRIPTION("OPTi93X"); -MODULE_DEVICES("{{OPTi,82C931/3}}"); +MODULE_SUPPORTED_DEVICE("{{OPTi,82C931/3}}"); #else /* OPTi93X */ #ifdef CS4231 MODULE_DESCRIPTION("OPTi92X - CS4231"); -MODULE_DEVICES("{{OPTi,82C924 (CS4231)}," +MODULE_SUPPORTED_DEVICE("{{OPTi,82C924 (CS4231)}," "{OPTi,82C925 (CS4231)}}"); #else /* CS4231 */ MODULE_DESCRIPTION("OPTi92X - AD1848"); -MODULE_DEVICES("{{OPTi,82C924 (AD1848)}," +MODULE_SUPPORTED_DEVICE("{{OPTi,82C924 (AD1848)}," "{OPTi,82C925 (AD1848)}," "{OAK,Mozart}}"); #endif /* CS4231 */ @@ -86,38 +85,27 @@ static int dma2 = SNDRV_DEFAULT_DMA1; /* 0,1,3 */ module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for opti9xx based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for opti9xx based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); //module_param(enable, bool, 0444); //MODULE_PARM_DESC(enable, "Enable opti9xx soundcard."); -//MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param(isapnp, bool, 0444); MODULE_PARM_DESC(isapnp, "Enable ISA PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); module_param(port, long, 0444); MODULE_PARM_DESC(port, "WSS port # for opti9xx driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT_DESC); module_param(mpu_port, long, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for opti9xx driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT_DESC); module_param(fm_port, long, 0444); MODULE_PARM_DESC(fm_port, "FM port # for opti9xx driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT_DESC); module_param(irq, int, 0444); MODULE_PARM_DESC(irq, "WSS irq # for opti9xx driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param(mpu_irq, int, 0444); MODULE_PARM_DESC(mpu_irq, "MPU-401 irq # for opti9xx driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param(dma1, int, 0444); MODULE_PARM_DESC(dma1, "1st dma # for opti9xx driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); #if defined(CS4231) || defined(OPTi93X) module_param(dma2, int, 0444); MODULE_PARM_DESC(dma2, "2nd dma # for opti9xx driver."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); #endif /* CS4231 || OPTi93X */ #define OPTi9XX_HW_DETECT 0 @@ -474,7 +462,6 @@ static int __devinit snd_opti9xx_configure(opti9xx_t *chip) unsigned char dma_bits; unsigned char mpu_port_bits = 0; unsigned char mpu_irq_bits; - unsigned long flags; switch (chip->hardware) { #ifndef OPTi93X @@ -601,13 +588,11 @@ __skip_base: dma_bits |= 0x04; #endif /* CS4231 || OPTi93X */ - spin_lock_irqsave(&chip->lock, flags); #ifndef OPTi93X outb(irq_bits << 3 | dma_bits, chip->wss_base); #else /* OPTi93X */ snd_opti9xx_write(chip, OPTi9XX_MC_REG(3), (irq_bits << 3 | dma_bits)); #endif /* OPTi93X */ - spin_unlock_irqrestore(&chip->lock, flags); __skip_resources: if (chip->hardware > OPTi9XX_HW_82C928) { @@ -664,8 +649,6 @@ __skip_mpu: #ifdef OPTi93X -#define chip_t opti93x_t - static unsigned char snd_opti93x_default_image[32] = { 0x00, /* 00/00 - l_mixout_outctrl */ @@ -767,15 +750,10 @@ static void snd_opti93x_mce_down(opti93x_t *chip) static void snd_opti93x_mute(opti93x_t *chip, int mute) { - unsigned long flags; - - spin_lock_irqsave(&chip->lock, flags); - mute = mute ? 1 : 0; - if (chip->mute == mute) { - spin_unlock_irqrestore(&chip->lock, flags); + if (chip->mute == mute) return; - } + chip->mute = mute; snd_opti93x_mute_reg(chip, OPTi93X_CD_LEFT_INPUT, mute); @@ -800,8 +778,6 @@ static void snd_opti93x_mute(opti93x_t *chip, int mute) snd_opti93x_mute_reg(chip, OPTi93X_MIC_RIGHT_INPUT, mute); snd_opti93x_mute_reg(chip, OPTi93X_OUT_LEFT, mute); snd_opti93x_mute_reg(chip, OPTi93X_OUT_RIGHT, mute); - - spin_unlock_irqrestore(&chip->lock, flags); } @@ -822,7 +798,7 @@ static unsigned int snd_opti93x_get_count(unsigned char format, static unsigned int rates[] = { 5512, 6615, 8000, 9600, 11025, 16000, 18900, 22050, 27428, 32000, 33075, 37800, 44100, 48000 }; -#define RATES sizeof(rates) / sizeof(rates[0]) +#define RATES ARRAY_SIZE(rates) static snd_pcm_hw_constraint_list_t hw_constraints_rates = { .count = RATES, @@ -873,10 +849,8 @@ static unsigned char snd_opti93x_get_format(opti93x_t *chip, static void snd_opti93x_playback_format(opti93x_t *chip, unsigned char fmt) { - unsigned long flags; unsigned char mask; - spin_lock_irqsave(&chip->lock, flags); snd_opti93x_mute(chip, 1); snd_opti93x_mce_up(chip); @@ -885,14 +859,10 @@ static void snd_opti93x_playback_format(opti93x_t *chip, unsigned char fmt) snd_opti93x_mce_down(chip); snd_opti93x_mute(chip, 0); - spin_unlock_irqrestore(&chip->lock, flags); } static void snd_opti93x_capture_format(opti93x_t *chip, unsigned char fmt) { - unsigned long flags; - - spin_lock_irqsave(&chip->lock, flags); snd_opti93x_mute(chip, 1); snd_opti93x_mce_up(chip); @@ -904,7 +874,6 @@ static void snd_opti93x_capture_format(opti93x_t *chip, unsigned char fmt) snd_opti93x_mce_down(chip); snd_opti93x_mute(chip, 0); - spin_unlock_irqrestore(&chip->lock, flags); } @@ -1128,7 +1097,7 @@ static void snd_opti93x_overrange(opti93x_t *chip) irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - opti93x_t *codec = snd_magic_cast(opti93x_t, dev_id, return IRQ_NONE); + opti93x_t *codec = dev_id; unsigned char status; status = snd_opti9xx_read(codec->chip, OPTi9XX_MC_REG(11)); @@ -1274,13 +1243,13 @@ static int snd_opti93x_free(opti93x_t *chip) if (chip->irq >= 0) { free_irq(chip->irq, chip); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_opti93x_dev_free(snd_device_t *device) { - opti93x_t *chip = snd_magic_cast(opti93x_t, device->device_data, return -ENXIO); + opti93x_t *chip = device->device_data; return snd_opti93x_free(chip); } @@ -1305,7 +1274,7 @@ int snd_opti93x_create(snd_card_t *card, opti9xx_t *chip, opti93x_t *codec; *rcodec = NULL; - codec = snd_magic_kcalloc(opti93x_t, 0, GFP_KERNEL); + codec = kcalloc(1, sizeof(*codec), GFP_KERNEL); if (codec == NULL) return -ENOMEM; codec->irq = -1; @@ -1385,7 +1354,7 @@ static snd_pcm_ops_t snd_opti93x_capture_ops = { static void snd_opti93x_pcm_free(snd_pcm_t *pcm) { - opti93x_t *codec = snd_magic_cast(opti93x_t, pcm->private_data, return); + opti93x_t *codec = pcm->private_data; codec->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1608,8 +1577,6 @@ static int snd_opti93x_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ return change; } -#define OPTi93X_CONTROLS (sizeof(snd_opti93x_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_opti93x_controls[] = { OPTi93X_DOUBLE("Master Playback Switch", 0, OPTi93X_OUT_LEFT, OPTi93X_OUT_RIGHT, 7, 7, 1, 1), OPTi93X_DOUBLE("Master Playback Volume", 0, OPTi93X_OUT_LEFT, OPTi93X_OUT_RIGHT, 1, 1, 31, 1), @@ -1649,7 +1616,7 @@ int snd_opti93x_mixer(opti93x_t *chip) strcpy(card->mixername, snd_opti93x_chip_id(chip)); - for (idx = 0; idx < OPTi93X_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_opti93x_controls); idx++) { knew = snd_opti93x_controls[idx]; if (chip->hardware == OPTi9XX_HW_82C930) { if (strstr(knew.name, "FM")) /* skip FM controls */ diff --git a/sound/isa/sb/emu8000_patch.c b/sound/isa/sb/emu8000_patch.c index 9ecd53c21..cea56e016 100644 --- a/sound/isa/sb/emu8000_patch.c +++ b/sound/isa/sb/emu8000_patch.c @@ -155,7 +155,7 @@ snd_emu8000_sample_new(snd_emux_t *rec, snd_sf_sample_t *sp, int dram_offset, dram_start; emu8000_t *emu; - emu = snd_magic_cast(emu8000_t, rec->hw, return -EINVAL); + emu = rec->hw; snd_assert(sp != NULL, return -EINVAL); if (sp->v.size == 0) diff --git a/sound/isa/sb/es968.c b/sound/isa/sb/es968.c index c44efdba9..15a77e866 100644 --- a/sound/isa/sb/es968.c +++ b/sound/isa/sb/es968.c @@ -29,15 +29,12 @@ #include #include -#define chip_t sb_t - #define PFX "es968: " MODULE_AUTHOR("Massimo Piccioni "); MODULE_DESCRIPTION("ESS AudioDrive ES968"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,AudioDrive ES968}}"); +MODULE_SUPPORTED_DEVICE("{{ESS,AudioDrive ES968}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -49,22 +46,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for es968 based soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for es968 based soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable es968 based soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for es968 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for es968 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for es968 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); struct snd_card_es968 { struct pnp_dev *dev; @@ -82,7 +73,7 @@ MODULE_DEVICE_TABLE(pnp_card, snd_es968_pnpids); static irqreturn_t snd_card_es968_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); + sb_t *chip = dev_id; if (chip->open & SB_OPEN_PCM) { return snd_sb8dsp_interrupt(chip); diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c index cdf00d306..c631b33aa 100644 --- a/sound/isa/sb/sb16.c +++ b/sound/isa/sb/sb16.c @@ -37,8 +37,6 @@ #define SNDRV_LEGACY_FIND_FREE_DMA #include -#define chip_t sb_t - #ifdef SNDRV_SBAWE #define PFX "sbawe: " #else @@ -47,17 +45,16 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifndef SNDRV_SBAWE MODULE_DESCRIPTION("Sound Blaster 16"); -MODULE_DEVICES("{{Creative Labs,SB 16}," +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB 16}," "{Creative Labs,SB Vibra16S}," "{Creative Labs,SB Vibra16C}," "{Creative Labs,SB Vibra16CL}," "{Creative Labs,SB Vibra16X}}"); #else MODULE_DESCRIPTION("Sound Blaster AWE"); -MODULE_DEVICES("{{Creative Labs,SB AWE 32}," +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB AWE 32}," "{Creative Labs,SB AWE 64}," "{Creative Labs,SB AWE 64 Gold}}"); #endif @@ -96,53 +93,39 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for SoundBlaster 16 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for SoundBlaster 16 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable SoundBlaster 16 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "PnP detection for specified soundcard."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for SB16 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED ",allows:{{0x220},{0x240},{0x260},{0x280}},dialog:list"); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port # for SB16 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0x330},{0x300}},dialog:list"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port # for SB16 PnP driver."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0x388},{0x38c},{0x390},{0x394}},dialog:list"); #ifdef SNDRV_SBAWE_EMU8000 module_param_array(awe_port, long, boot_devs, 0444); MODULE_PARM_DESC(awe_port, "AWE port # for SB16 PnP driver."); -MODULE_PARM_SYNTAX(awe_port, SNDRV_ENABLED ",allows:{{0x620},{0x640},{0x660},{0x680}},dialog:list"); #endif module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for SB16 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for SB16 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); module_param_array(dma16, int, boot_devs, 0444); MODULE_PARM_DESC(dma16, "16-bit DMA # for SB16 driver."); -MODULE_PARM_SYNTAX(dma16, SNDRV_DMA16_DESC); module_param_array(mic_agc, int, boot_devs, 0444); MODULE_PARM_DESC(mic_agc, "Mic Auto-Gain-Control switch."); -MODULE_PARM_SYNTAX(mic_agc, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); #ifdef CONFIG_SND_SB16_CSP module_param_array(csp, int, boot_devs, 0444); MODULE_PARM_DESC(csp, "ASP/CSP chip support."); -MODULE_PARM_SYNTAX(csp, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); #endif #ifdef SNDRV_SBAWE_EMU8000 module_param_array(seq_ports, int, boot_devs, 0444); MODULE_PARM_DESC(seq_ports, "Number of sequencer ports for WaveTable synth."); -MODULE_PARM_SYNTAX(seq_ports, SNDRV_ENABLED ",allows:{{0,8}},skill:advanced"); #endif struct snd_card_sb16 { diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c index feac3efc1..2f1404394 100644 --- a/sound/isa/sb/sb8.c +++ b/sound/isa/sb/sb8.c @@ -30,13 +30,10 @@ #define SNDRV_LEGACY_AUTO_PROBE #include -#define chip_t sb_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Sound Blaster 1.0/2.0/Pro"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Creative Labs,SB 1.0/SB 2.0/SB Pro}}"); +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB 1.0/SB 2.0/SB Pro}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -48,22 +45,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sound Blaster soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sound Blaster soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sound Blaster soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for SB8 driver."); -MODULE_PARM_SYNTAX(port, SNDRV_PORT12_DESC); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for SB8 driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(dma8, int, boot_devs, 0444); MODULE_PARM_DESC(dma8, "8-bit DMA # for SB8 driver."); -MODULE_PARM_SYNTAX(dma8, SNDRV_DMA8_DESC); struct snd_sb8 { struct resource *fm_res; /* used to block FM i/o region for legacy cards */ @@ -73,7 +64,7 @@ static snd_card_t *snd_sb8_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); + sb_t *chip = dev_id; if (chip->open & SB_OPEN_PCM) { return snd_sb8dsp_interrupt(chip); diff --git a/sound/isa/sgalaxy.c b/sound/isa/sgalaxy.c index c59a84cba..a410ecaf9 100644 --- a/sound/isa/sgalaxy.c +++ b/sound/isa/sgalaxy.c @@ -39,8 +39,7 @@ MODULE_AUTHOR("Christopher Butler "); MODULE_DESCRIPTION("Aztech Sound Galaxy"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Aztech Systems,Sound Galaxy}}"); +MODULE_SUPPORTED_DEVICE("{{Aztech Systems,Sound Galaxy}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -53,22 +52,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sound Galaxy soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sound Galaxy soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(sbport, long, boot_devs, 0444); MODULE_PARM_DESC(sbport, "Port # for Sound Galaxy SB driver."); -MODULE_PARM_SYNTAX(sbport, SNDRV_ENABLED ",allows:{{0x220},{0x240}},dialog:list"); module_param_array(wssport, long, boot_devs, 0444); MODULE_PARM_DESC(wssport, "Port # for Sound Galaxy WSS driver."); -MODULE_PARM_SYNTAX(wssport, SNDRV_ENABLED ",allows:{{0x530},{0xe80},{0xf40},{0x604}},dialog:list"); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for Sound Galaxy driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_ENABLED ",allows:{{7},{9},{10},{11}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for Sound Galaxy driver."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA8_DESC); #define SGALAXY_AUXC_LEFT 18 #define SGALAXY_AUXC_RIGHT 19 diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c index c45061308..51e7a63cd 100644 --- a/sound/isa/sscape.c +++ b/sound/isa/sscape.c @@ -36,8 +36,6 @@ #include -#define chip_t cs4231_t - MODULE_AUTHOR("Chris Rankin"); MODULE_DESCRIPTION("ENSONIQ SoundScape PnP driver"); @@ -53,27 +51,21 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index number for SoundScape soundcard"); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "Description for SoundScape card"); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(port, long, boot_devs, 0444); MODULE_PARM_DESC(port, "Port # for SoundScape driver."); -MODULE_PARM_SYNTAX(port, SNDRV_ENABLED); module_param_array(irq, int, boot_devs, 0444); MODULE_PARM_DESC(irq, "IRQ # for SoundScape driver."); -MODULE_PARM_SYNTAX(irq, SNDRV_IRQ_DESC); module_param_array(mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_irq, "MPU401 IRQ # for SoundScape driver."); -MODULE_PARM_SYNTAX(mpu_irq, SNDRV_IRQ_DESC); module_param_array(dma, int, boot_devs, 0444); MODULE_PARM_DESC(dma, "DMA # for SoundScape driver."); -MODULE_PARM_SYNTAX(dma, SNDRV_DMA8_DESC); #ifdef CONFIG_PNP static struct pnp_card_device_id sscape_pnpids[] = { @@ -177,11 +169,8 @@ static inline struct soundscape *get_hwdep_soundscape(snd_hwdep_t * hw) static struct snd_dma_buffer *get_dmabuf(struct snd_dma_buffer *buf, unsigned long size) { if (buf) { - struct snd_dma_device dev; - memset(&dev, 0, sizeof(dev)); - dev.type = SNDRV_DMA_TYPE_DEV; - dev.dev = snd_dma_isa_data(); - if (snd_dma_alloc_pages_fallback(&dev, size, buf) < 0) { + if (snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, snd_dma_isa_data(), + size, buf) < 0) { snd_printk(KERN_ERR "sscape: Failed to allocate %lu bytes for DMA\n", size); return NULL; } @@ -195,13 +184,8 @@ static struct snd_dma_buffer *get_dmabuf(struct snd_dma_buffer *buf, unsigned lo */ static void free_dmabuf(struct snd_dma_buffer *buf) { - if (buf && buf->area) { - struct snd_dma_device dev; - memset(&dev, 0, sizeof(dev)); - dev.type = SNDRV_DMA_TYPE_DEV; - dev.dev = snd_dma_isa_data(); - snd_dma_free_pages(&dev, buf); - } + if (buf && buf->area) + snd_dma_free_pages(buf); } diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c index e0c8e1430..cb0322fcb 100644 --- a/sound/isa/wavefront/wavefront.c +++ b/sound/isa/wavefront/wavefront.c @@ -30,13 +30,10 @@ #include #include -#define chip_t cs4231_t - MODULE_AUTHOR("Paul Barton-Davis "); MODULE_DESCRIPTION("Turtle Beach Wavefront"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Turtle Beach,Maui/Tropez/Tropez+}}"); +MODULE_SUPPORTED_DEVICE("{{Turtle Beach,Maui/Tropez/Tropez+}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -56,48 +53,34 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for WaveFront soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for WaveFront soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable WaveFront soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef CONFIG_PNP module_param_array(isapnp, bool, boot_devs, 0444); MODULE_PARM_DESC(isapnp, "ISA PnP detection for WaveFront soundcards."); -MODULE_PARM_SYNTAX(isapnp, SNDRV_ISAPNP_DESC); #endif module_param_array(cs4232_pcm_port, long, boot_devs, 0444); MODULE_PARM_DESC(cs4232_pcm_port, "Port # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(cs4232_pcm_port, SNDRV_PORT12_DESC); module_param_array(cs4232_pcm_irq, int, boot_devs, 0444); MODULE_PARM_DESC(cs4232_pcm_irq, "IRQ # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(cs4232_pcm_irq, SNDRV_ENABLED ",allows:{{5},{7},{9},{11},{12},{15}},dialog:list"); module_param_array(dma1, int, boot_devs, 0444); MODULE_PARM_DESC(dma1, "DMA1 # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(dma1, SNDRV_DMA_DESC); module_param_array(dma2, int, boot_devs, 0444); MODULE_PARM_DESC(dma2, "DMA2 # for CS4232 PCM interface."); -MODULE_PARM_SYNTAX(dma2, SNDRV_DMA_DESC); module_param_array(cs4232_mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(cs4232_mpu_port, "port # for CS4232 MPU-401 interface."); -MODULE_PARM_SYNTAX(cs4232_mpu_port, SNDRV_PORT12_DESC); module_param_array(cs4232_mpu_irq, int, boot_devs, 0444); MODULE_PARM_DESC(cs4232_mpu_irq, "IRQ # for CS4232 MPU-401 interface."); -MODULE_PARM_SYNTAX(cs4232_mpu_irq, SNDRV_ENABLED ",allows:{{9},{11},{12},{15}},dialog:list"); module_param_array(ics2115_irq, int, boot_devs, 0444); MODULE_PARM_DESC(ics2115_irq, "IRQ # for ICS2115."); -MODULE_PARM_SYNTAX(ics2115_irq, SNDRV_ENABLED ",allows:{{9},{11},{12},{15}},dialog:list"); module_param_array(ics2115_port, long, boot_devs, 0444); MODULE_PARM_DESC(ics2115_port, "Port # for ICS2115."); -MODULE_PARM_SYNTAX(ics2115_port, SNDRV_PORT12_DESC); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port #."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_PORT12_DESC); module_param_array(use_cs4232_midi, bool, boot_devs, 0444); MODULE_PARM_DESC(use_cs4232_midi, "Use CS4232 MPU-401 interface (inaccessibly located inside your computer)"); -MODULE_PARM_SYNTAX(use_cs4232_midi, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); static snd_card_t *snd_wavefront_legacy[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; diff --git a/sound/isa/wavefront/wavefront_fx.c b/sound/isa/wavefront/wavefront_fx.c index 92aa782d6..2d42c694f 100644 --- a/sound/isa/wavefront/wavefront_fx.c +++ b/sound/isa/wavefront/wavefront_fx.c @@ -34,7 +34,7 @@ /* weird stuff, derived from port I/O tracing with dosemu */ -static unsigned char page_zero[] __initdata = { +unsigned char page_zero[] __initdata = { 0x01, 0x7c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00, 0x11, 0x00, 0x20, 0x00, 0x32, 0x00, 0x40, 0x00, 0x13, 0x00, 0x00, 0x00, 0x14, 0x02, 0x76, 0x00, 0x60, 0x00, 0x80, 0x02, 0x00, 0x00, @@ -61,7 +61,7 @@ static unsigned char page_zero[] __initdata = { 0x1d, 0x02, 0xdf }; -static unsigned char page_one[] __initdata = { +unsigned char page_one[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd8, 0x00, 0x00, 0x02, 0x20, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x01, @@ -88,7 +88,7 @@ static unsigned char page_one[] __initdata = { 0x60, 0x00, 0x1b }; -static unsigned char page_two[] __initdata = { +unsigned char page_two[] __initdata = { 0xc4, 0x00, 0x44, 0x07, 0x44, 0x00, 0x40, 0x25, 0x01, 0x06, 0xc4, 0x07, 0x40, 0x25, 0x01, 0x00, 0x46, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -103,7 +103,7 @@ static unsigned char page_two[] __initdata = { 0x46, 0x05, 0x46, 0x07, 0x46, 0x07, 0x44 }; -static unsigned char page_three[] __initdata = { +unsigned char page_three[] __initdata = { 0x07, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x40, 0x00, 0x40, 0x06, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -118,7 +118,7 @@ static unsigned char page_three[] __initdata = { 0x02, 0x00, 0x42, 0x00, 0xc0, 0x00, 0x40 }; -static unsigned char page_four[] __initdata = { +unsigned char page_four[] __initdata = { 0x63, 0x03, 0x26, 0x02, 0x2c, 0x00, 0x24, 0x00, 0x2e, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -133,7 +133,7 @@ static unsigned char page_four[] __initdata = { 0x02, 0x62, 0x02, 0x20, 0x01, 0x21, 0x01 }; -static unsigned char page_six[] __initdata = { +unsigned char page_six[] __initdata = { 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x10, 0x00, 0x00, 0x12, 0x00, 0x00, 0x14, 0x00, 0x00, @@ -154,7 +154,7 @@ static unsigned char page_six[] __initdata = { 0x80, 0x00, 0x7e, 0x80, 0x80 }; -static unsigned char page_seven[] __initdata = { +unsigned char page_seven[] __initdata = { 0x0f, 0xff, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, @@ -181,7 +181,7 @@ static unsigned char page_seven[] __initdata = { 0x00, 0x02, 0x00 }; -static unsigned char page_zero_v2[] __initdata = { +unsigned char page_zero_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -193,7 +193,7 @@ static unsigned char page_zero_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static unsigned char page_one_v2[] __initdata = { +unsigned char page_one_v2[] __initdata = { 0x01, 0xc0, 0x01, 0xfa, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -205,21 +205,21 @@ static unsigned char page_one_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static unsigned char page_two_v2[] __initdata = { +unsigned char page_two_v2[] __initdata = { 0x46, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static unsigned char page_three_v2[] __initdata = { +unsigned char page_three_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static unsigned char page_four_v2[] __initdata = { +unsigned char page_four_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -227,7 +227,7 @@ static unsigned char page_four_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00 }; -static unsigned char page_seven_v2[] __initdata = { +unsigned char page_seven_v2[] __initdata = { 0x0f, 0xff, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -239,7 +239,7 @@ static unsigned char page_seven_v2[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; -static unsigned char mod_v2[] __initdata = { +unsigned char mod_v2[] __initdata = { 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x02, 0x02, 0x00, 0x01, 0x03, 0x02, 0x00, 0x01, 0x04, 0x02, 0x00, 0x01, 0x05, 0x02, 0x00, 0x01, 0x06, 0x02, 0x00, 0x01, 0x07, 0x02, 0x00, 0xb0, @@ -269,7 +269,7 @@ static unsigned char mod_v2[] __initdata = { 0x02, 0x01, 0x01, 0x04, 0x02, 0x01, 0x01, 0x05, 0x02, 0x01, 0x01, 0x06, 0x02, 0x01, 0x01, 0x07, 0x02, 0x01 }; -static unsigned char coefficients[] __initdata = { +unsigned char coefficients[] __initdata = { 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x00, 0x4b, 0x03, 0x11, 0x00, 0x4d, 0x01, 0x32, 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x07, 0x41, 0x00, 0x00, 0x01, @@ -305,14 +305,14 @@ static unsigned char coefficients[] __initdata = { 0x06, 0x6c, 0x4c, 0x6c, 0x06, 0x50, 0x52, 0xe2, 0x06, 0x42, 0x02, 0xba }; -static unsigned char coefficients2[] __initdata = { +unsigned char coefficients2[] __initdata = { 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x45, 0x0f, 0xff, 0x07, 0x48, 0x0f, 0xff, 0x07, 0x7b, 0x04, 0xcc, 0x07, 0x7d, 0x04, 0xcc, 0x07, 0x7c, 0x00, 0x00, 0x07, 0x7e, 0x00, 0x00, 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x47, 0x00, 0x00, 0x07, 0x4a, 0x00, 0x00, 0x07, 0x4c, 0x00, 0x00, 0x07, 0x4e, 0x00, 0x00 }; -static unsigned char coefficients3[] __initdata = { +unsigned char coefficients3[] __initdata = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x51, 0x00, 0x51, 0x00, 0x7a, 0x00, 0x7a, 0x00, 0xa3, 0x00, 0xa3, 0x00, 0xcc, 0x00, 0xcc, 0x00, 0xf5, 0x00, 0xf5, 0x01, 0x1e, 0x01, 0x1e, 0x01, @@ -486,8 +486,9 @@ snd_wavefront_fx_ioctl (snd_hwdep_t *sdev, struct file *file, snd_wavefront_card_t *acard; snd_wavefront_t *dev; wavefront_fx_info r; - unsigned short page_data[256]; + unsigned short *page_data = NULL; unsigned short *pd; + int err = 0; snd_assert(sdev->card != NULL, return -ENODEV); @@ -514,23 +515,30 @@ snd_wavefront_fx_ioctl (snd_hwdep_t *sdev, struct file *file, } else if (r.data[2] == 1) { pd = (unsigned short *) &r.data[3]; } else { - if (r.data[2] > (long)sizeof (page_data)) { + if (r.data[2] > 256) { snd_printk ("cannot write " - "> 255 bytes to FX\n"); + "> 512 bytes to FX\n"); return -EIO; } + page_data = kmalloc(r.data[2] * sizeof(short), GFP_KERNEL); + if (!page_data) + return -ENOMEM; if (copy_from_user (page_data, (unsigned char __user *) r.data[3], - r.data[2])) + r.data[2] * sizeof(short))) { + kfree(page_data); return -EFAULT; + } pd = page_data; } - wavefront_fx_memset (dev, + err = wavefront_fx_memset (dev, r.data[0], /* page */ r.data[1], /* addr */ r.data[2], /* cnt */ pd); + if (page_data) + kfree(page_data); break; default: @@ -538,7 +546,7 @@ snd_wavefront_fx_ioctl (snd_hwdep_t *sdev, struct file *file, r.request); return -ENOTTY; } - return 0; + return err; } /* YSS225 initialization. diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c index b4fab43e4..1d9ee967b 100644 --- a/sound/isa/wavefront/wavefront_synth.c +++ b/sound/isa/wavefront/wavefront_synth.c @@ -1961,6 +1961,12 @@ wavefront_download_firmware (snd_wavefront_t *dev, char *path) break; } + if (section_length < 0 || section_length > WF_SECTION_MAX) { + snd_printk ("invalid firmware section length %d\n", + section_length); + goto failure; + } + if (sys_read (fd, section, section_length) != section_length) { snd_printk ("firmware section " "read error.\n"); diff --git a/sound/oss/Kconfig b/sound/oss/Kconfig index 05f6bc8ec..46022a534 100644 --- a/sound/oss/Kconfig +++ b/sound/oss/Kconfig @@ -127,8 +127,8 @@ config SOUND_ES1371 . config SOUND_ESSSOLO1 - tristate "ESS Technology Solo1" - depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT + tristate "ESS Technology Solo1" + depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT && PCI help Say Y or M if you have a PCI sound card utilizing the ESS Technology Solo1 chip. To find out if your sound card uses a @@ -139,7 +139,7 @@ config SOUND_ESSSOLO1 config SOUND_MAESTRO tristate "ESS Maestro, Maestro2, Maestro2E driver" - depends on SOUND_PRIME!=n && SOUND + depends on SOUND_PRIME!=n && SOUND && PCI help Say Y or M if you have a sound system driven by ESS's Maestro line of PCI sound chips. These include the Maestro 1, Maestro 2, and @@ -162,7 +162,10 @@ config SOUND_ICH config SOUND_HARMONY tristate "PA Harmony audio driver" - depends on GSC_LASI && SOUND + depends on GSC_LASI && SOUND_PRIME!=n + help + Say 'Y' or 'M' to include support for Harmony soundchip + on HP 712, 715/new and many other GSC based machines. config SOUND_SONICVIBES tristate "S3 SonicVibes" diff --git a/sound/oss/Makefile b/sound/oss/Makefile index 6fc30dc7f..226b395bb 100644 --- a/sound/oss/Makefile +++ b/sound/oss/Makefile @@ -103,7 +103,7 @@ sb_lib-objs := sb_common.o sb_audio.o sb_midi.o sb_mixer.o sb_ess.o vidc_mod-objs := vidc.o vidc_fill.o wavefront-objs := wavfront.o wf_midi.o yss225.o -host-progs := bin2hex hex2hex +hostprogs-y := bin2hex hex2hex # Files generated that shall be removed upon make clean clean-files := maui_boot.h msndperm.c msndinit.c pndsperm.c pndspini.c \ diff --git a/sound/oss/aci.c b/sound/oss/aci.c index 7c3d391f6..e686eaa4d 100644 --- a/sound/oss/aci.c +++ b/sound/oss/aci.c @@ -62,11 +62,10 @@ #include "sound_config.h" int aci_port; /* as determined by bit 4 in the OPTi 929 MC4 register */ -int aci_idcode[2]; /* manufacturer and product ID */ +static int aci_idcode[2]; /* manufacturer and product ID */ int aci_version; /* ACI firmware version */ EXPORT_SYMBOL(aci_port); -EXPORT_SYMBOL(aci_idcode); EXPORT_SYMBOL(aci_version); #include "aci.h" diff --git a/sound/oss/aci.h b/sound/oss/aci.h index 9060b5828..20102ee08 100644 --- a/sound/oss/aci.h +++ b/sound/oss/aci.h @@ -2,7 +2,6 @@ #define _ACI_H_ extern int aci_port; -extern int aci_idcode[2]; /* manufacturer and product ID */ extern int aci_version; /* ACI firmware version */ extern int aci_rw_cmd(int write1, int write2, int write3); diff --git a/sound/oss/ad1848.c b/sound/oss/ad1848.c index af1225d9f..c78a5a11d 100644 --- a/sound/oss/ad1848.c +++ b/sound/oss/ad1848.c @@ -1538,7 +1538,7 @@ static void ad1848_init_hw(ad1848_info * devc) ad1848_mixer_reset(devc); } -int ad1848_detect(int io_base, int *ad_flags, int *osp) +int ad1848_detect(struct resource *ports, int *ad_flags, int *osp) { unsigned char tmp; ad1848_info *devc = &adev_info[nr_ad1848_devs]; @@ -1548,6 +1548,7 @@ int ad1848_detect(int io_base, int *ad_flags, int *osp) int ad1847_flag = 0; int cs4248_flag = 0; int sscape_flag = 0; + int io_base = ports->start; int i; @@ -1578,11 +1579,6 @@ int ad1848_detect(int io_base, int *ad_flags, int *osp) printk(KERN_ERR "ad1848 - Too many audio devices\n"); return 0; } - if (check_region(io_base, 4)) - { - printk(KERN_ERR "ad1848.c: Port %x not free.\n", io_base); - return 0; - } spin_lock_init(&devc->lock); devc->base = io_base; devc->irq_ok = 0; @@ -1951,7 +1947,7 @@ int ad1848_detect(int io_base, int *ad_flags, int *osp) return 1; } -int ad1848_init (char *name, int io_base, int irq, int dma_playback, +int ad1848_init (char *name, struct resource *ports, int irq, int dma_playback, int dma_capture, int share_dma, int *osp, struct module *owner) { /* @@ -1986,8 +1982,7 @@ int ad1848_init (char *name, int io_base, int irq, int dma_playback, sprintf(dev_name, "Generic audio codec (%s)", devc->chip_name); - if (!request_region(devc->base, 4, devc->name)) - return -1; + rename_region(ports, devc->name); conf_printf2(dev_name, devc->base, devc->irq, dma_playback, dma_capture); @@ -2522,21 +2517,16 @@ static int init_deskpro(struct address_info *hw_config) return 1; } -int probe_ms_sound(struct address_info *hw_config) +int probe_ms_sound(struct address_info *hw_config, struct resource *ports) { unsigned char tmp; DDB(printk("Entered probe_ms_sound(%x, %d)\n", hw_config->io_base, hw_config->card_subtype)); - if (check_region(hw_config->io_base, 8)) - { - printk(KERN_ERR "MSS: I/O port conflict\n"); - return 0; - } if (hw_config->card_subtype == 1) /* Has no IRQ/DMA registers */ { /* check_opl3(0x388, hw_config); */ - return ad1848_detect(hw_config->io_base + 4, NULL, hw_config->osp); + return ad1848_detect(ports, NULL, hw_config->osp); } if (deskpro_xl && hw_config->card_subtype == 2) /* Compaq Deskpro XL */ @@ -2562,7 +2552,7 @@ int probe_ms_sound(struct address_info *hw_config) int ret; DDB(printk("I/O address is inactive (%x)\n", tmp)); - if (!(ret = ad1848_detect(hw_config->io_base + 4, NULL, hw_config->osp))) + if (!(ret = ad1848_detect(ports, NULL, hw_config->osp))) return 0; return 1; } @@ -2575,7 +2565,7 @@ int probe_ms_sound(struct address_info *hw_config) MDB(printk(KERN_ERR "No MSS signature detected on port 0x%x (0x%x)\n", hw_config->io_base, (int) inb(hw_config->io_base + 3))); DDB(printk("Trying to detect codec anyway but IRQ/DMA may not work\n")); - if (!(ret = ad1848_detect(hw_config->io_base + 4, NULL, hw_config->osp))) + if (!(ret = ad1848_detect(ports, NULL, hw_config->osp))) return 0; hw_config->card_subtype = 1; @@ -2610,10 +2600,10 @@ int probe_ms_sound(struct address_info *hw_config) printk(KERN_ERR "MSS: Can't use IRQ%d with a 8 bit card/slot\n", hw_config->irq); return 0; } - return ad1848_detect(hw_config->io_base + 4, NULL, hw_config->osp); + return ad1848_detect(ports, NULL, hw_config->osp); } -void attach_ms_sound(struct address_info *hw_config, struct module *owner) +void attach_ms_sound(struct address_info *hw_config, struct resource *ports, struct module *owner) { static signed char interrupt_bits[12] = { @@ -2634,13 +2624,12 @@ void attach_ms_sound(struct address_info *hw_config, struct module *owner) if (hw_config->card_subtype == 1) /* Has no IRQ/DMA registers */ { - hw_config->slots[0] = ad1848_init("MS Sound System", hw_config->io_base + 4, + hw_config->slots[0] = ad1848_init("MS Sound System", ports, hw_config->irq, hw_config->dma, hw_config->dma2, 0, hw_config->osp, owner); - request_region(hw_config->io_base, 4, "WSS config"); return; } /* @@ -2651,6 +2640,8 @@ void attach_ms_sound(struct address_info *hw_config, struct module *owner) if (bits == -1) { printk(KERN_ERR "MSS: Bad IRQ %d\n", hw_config->irq); + release_region(ports->start, 4); + release_region(ports->start - 4, 4); return; } outb((bits | 0x40), config_port); @@ -2694,12 +2685,11 @@ void attach_ms_sound(struct address_info *hw_config, struct module *owner) outb((bits | dma_bits[dma] | dma2_bit), config_port); /* Write IRQ+DMA setup */ - hw_config->slots[0] = ad1848_init("MS Sound System", hw_config->io_base + 4, + hw_config->slots[0] = ad1848_init("MS Sound System", ports, hw_config->irq, dma, dma2, 0, hw_config->osp, THIS_MODULE); - request_region(hw_config->io_base, 4, "WSS config"); } void unload_ms_sound(struct address_info *hw_config) @@ -3095,6 +3085,7 @@ static int __init init_ad1848(void) #endif if(io != -1) { + struct resource *ports; if( isapnp == 0 ) { if(irq == -1 || dma == -1) { @@ -3109,9 +3100,22 @@ static int __init init_ad1848(void) cfg.card_subtype = type; } - if(!probe_ms_sound(&cfg)) + ports = request_region(io + 4, 4, "ad1848"); + + if (!ports) + return -EBUSY; + + if (!request_region(io, 4, "WSS config")) { + release_region(io + 4, 4); + return -EBUSY; + } + + if (!probe_ms_sound(&cfg, ports)) { + release_region(io + 4, 4); + release_region(io, 4); return -ENODEV; - attach_ms_sound(&cfg, THIS_MODULE); + } + attach_ms_sound(&cfg, ports, THIS_MODULE); loaded = 1; } return 0; diff --git a/sound/oss/ad1889.c b/sound/oss/ad1889.c index 2423b1f2d..254773653 100644 --- a/sound/oss/ad1889.c +++ b/sound/oss/ad1889.c @@ -1,5 +1,5 @@ /* - * Copyright 2001 Randolph Chung + * Copyright 2001-2004 Randolph Chung * * Analog Devices 1889 PCI audio driver (AD1819 AC97-compatible codec) * @@ -61,6 +61,7 @@ #define AD1889_WRITEL(dev,reg,val) writel((val), dev->regbase + reg) //now 100ms +/* #define WAIT_10MS() schedule_timeout(HZ/10) */ #define WAIT_10MS() do { int __i; for (__i = 0; __i < 100; __i++) udelay(1000); } while(0) /* currently only support a single device */ @@ -69,25 +70,43 @@ static ad1889_dev_t *ad1889_dev = NULL; /************************* helper routines ***************************** */ static inline void ad1889_set_wav_rate(ad1889_dev_t *dev, int rate) { + struct ac97_codec *ac97_codec = dev->ac97_codec; + + DBG("Setting WAV rate to %d\n", rate); dev->state[AD_WAV_STATE].dmabuf.rate = rate; AD1889_WRITEW(dev, AD_DSWAS, rate); + + /* Cycle the DAC to enable the new rate */ + ac97_codec->codec_write(dev->ac97_codec, AC97_POWER_CONTROL, 0x0200); + WAIT_10MS(); + ac97_codec->codec_write(dev->ac97_codec, AC97_POWER_CONTROL, 0); } static inline void ad1889_set_adc_rate(ad1889_dev_t *dev, int rate) { + struct ac97_codec *ac97_codec = dev->ac97_codec; + + DBG("Setting ADC rate to %d\n", rate); dev->state[AD_ADC_STATE].dmabuf.rate = rate; AD1889_WRITEW(dev, AD_DSRES, rate); + + /* Cycle the ADC to enable the new rate */ + ac97_codec->codec_write(dev->ac97_codec, AC97_POWER_CONTROL, 0x0100); + WAIT_10MS(); + ac97_codec->codec_write(dev->ac97_codec, AC97_POWER_CONTROL, 0); } static inline void ad1889_set_wav_fmt(ad1889_dev_t *dev, int fmt) { u16 tmp; + DBG("Setting WAV format to 0x%x\n", fmt); + tmp = AD1889_READW(ad1889_dev, AD_DSWSMC); - if (fmt == AFMT_S16_LE) { + if (fmt & AFMT_S16_LE) { //tmp |= 0x0100; /* set WA16 */ tmp |= 0x0300; /* set WA16 stereo */ - } else if (fmt == AFMT_U8) { + } else if (fmt & AFMT_U8) { tmp &= ~0x0100; /* clear WA16 */ } AD1889_WRITEW(ad1889_dev, AD_DSWSMC, tmp); @@ -97,10 +116,12 @@ static inline void ad1889_set_adc_fmt(ad1889_dev_t *dev, int fmt) { u16 tmp; + DBG("Setting ADC format to 0x%x\n", fmt); + tmp = AD1889_READW(ad1889_dev, AD_DSRAMC); - if (fmt == AFMT_S16_LE) { + if (fmt & AFMT_S16_LE) { tmp |= 0x0100; /* set WA16 */ - } else if (fmt == AFMT_U8) { + } else if (fmt & AFMT_U8) { tmp &= ~0x0100; /* clear WA16 */ } AD1889_WRITEW(ad1889_dev, AD_DSRAMC, tmp); @@ -133,6 +154,9 @@ static void ad1889_start_wav(ad1889_state_t *state) dmabuf->dma_len = cnt; dmabuf->ready = 1; + DBG("Starting playback at 0x%p for %ld bytes\n", dmabuf->rawbuf + + dmabuf->rd_ptr, dmabuf->dma_len); + /* load up the current register set */ AD1889_WRITEL(ad1889_dev, AD_DMAWAVCC, cnt); AD1889_WRITEL(ad1889_dev, AD_DMAWAVICC, cnt); @@ -243,7 +267,7 @@ static ad1889_dev_t *ad1889_alloc_dev(struct pci_dev *pci) dmabuf->dma_handle = 0; dmabuf->rd_ptr = dmabuf->wr_ptr = dmabuf->dma_len = 0UL; dmabuf->ready = 0; - dmabuf->rate = 44100; + dmabuf->rate = 48000; } return dev; @@ -472,7 +496,6 @@ static ssize_t ad1889_write(struct file *file, const char __user *buffer, size_t long cnt = count; unsigned long flags; - for (;;) { long used_bytes; long timeout; /* max time for DMA in jiffies */ @@ -498,17 +521,11 @@ static ssize_t ad1889_write(struct file *file, const char __user *buffer, size_t } set_current_state(TASK_INTERRUPTIBLE); - if (!schedule_timeout(timeout + 1)) - printk(KERN_WARNING "AD1889 timeout(%ld) r/w %lx/%lx len %lx\n", - timeout+1, - dmabuf->rd_ptr, dmabuf->wr_ptr, - dmabuf->dma_len); - + schedule_timeout(timeout + 1); if (signal_pending(current)) { ret = -ERESTARTSYS; goto err2; } - } /* watch out for wrapping around static buffer */ @@ -616,6 +633,8 @@ static int ad1889_ioctl(struct inode *inode, struct file *file, unsigned int cmd audio_buf_info abinfo; int __user *p = (int __user *)arg; + DBG("ad1889_ioctl cmd 0x%x arg %lu\n", cmd, arg); + switch (cmd) { case OSS_GETVERSION: @@ -674,11 +693,15 @@ static int ad1889_ioctl(struct inode *inode, struct file *file, unsigned int cmd if (get_user(val, p)) return -EFAULT; - if (file->f_mode & FMODE_READ) - ad1889_set_adc_fmt(dev, val); + if (val == 0) { + if (file->f_mode & FMODE_READ) + ad1889_set_adc_fmt(dev, val); - if (file->f_mode & FMODE_WRITE) - ad1889_set_wav_fmt(dev, val); + if (file->f_mode & FMODE_WRITE) + ad1889_set_wav_fmt(dev, val); + } else { + val = AFMT_S16_LE | AFMT_U8; + } return put_user(val, p); @@ -758,7 +781,7 @@ static int ad1889_open(struct inode *inode, struct file *file) file->private_data = ad1889_dev; - ad1889_set_wav_rate(ad1889_dev, 44100); + ad1889_set_wav_rate(ad1889_dev, 48000); ad1889_set_wav_fmt(ad1889_dev, AFMT_S16_LE); AD1889_WRITEW(ad1889_dev, AD_DSWADA, 0x0404); /* attenuation */ return nonseekable_open(inode, file); @@ -938,7 +961,6 @@ static irqreturn_t ad1889_interrupt(int irq, void *dev_id, struct pt_regs *regs) ad1889_stop_wav(&dev->state[AD_WAV_STATE]); /* clean up */ ad1889_start_wav(&dev->state[AD_WAV_STATE]); /* start new */ } - } if ((stat & 0x2) && dev->state[AD_ADC_STATE].dmabuf.ready) { /* ADCI */ @@ -952,18 +974,19 @@ static irqreturn_t ad1889_interrupt(int irq, void *dev_id, struct pt_regs *regs) static void ad1889_initcfg(ad1889_dev_t *dev) { - u16 tmp; + u16 tmp16; + u32 tmp32; /* make sure the interrupt bits are setup the way we want */ - tmp = AD1889_READW(dev, AD_DMAWAVCTRL); - tmp &= ~0x00ff; /* flat dma, no sg, mask out the intr bits */ - tmp |= 0x0004; /* intr on count, loop */ - AD1889_WRITEW(dev, AD_DMAWAVCTRL, tmp); + tmp32 = AD1889_READL(dev, AD_DMAWAVCTRL); + tmp32 &= ~0xff; /* flat dma, no sg, mask out the intr bits */ + tmp32 |= 0x6; /* intr on count, loop */ + AD1889_WRITEL(dev, AD_DMAWAVCTRL, tmp32); /* unmute... */ - tmp = AD1889_READW(dev, AD_DSWADA); - tmp &= ~0x8080; - AD1889_WRITEW(dev, AD_DSWADA, tmp); + tmp16 = AD1889_READW(dev, AD_DSWADA); + tmp16 &= ~0x8080; + AD1889_WRITEW(dev, AD_DSWADA, tmp16); } static int __devinit ad1889_probe(struct pci_dev *pcidev, const struct pci_device_id *ent) diff --git a/sound/oss/audio.c b/sound/oss/audio.c index ef2c658af..22dd63c36 100644 --- a/sound/oss/audio.c +++ b/sound/oss/audio.c @@ -38,7 +38,7 @@ #define NEUTRAL16 0x00 -int dma_ioctl(int dev, unsigned int cmd, void __user *arg); +static int dma_ioctl(int dev, unsigned int cmd, void __user *arg); static int set_format(int dev, int fmt) { @@ -735,7 +735,7 @@ static int dma_set_fragment(int dev, struct dma_buffparms *dmap, int fact) return bytes | ((count - 1) << 16); } -int dma_ioctl(int dev, unsigned int cmd, void __user *arg) +static int dma_ioctl(int dev, unsigned int cmd, void __user *arg) { struct dma_buffparms *dmap_out = audio_devs[dev]->dmap_out; struct dma_buffparms *dmap_in = audio_devs[dev]->dmap_in; diff --git a/sound/oss/audio_syms.c b/sound/oss/audio_syms.c index 5a81b3903..5da217fcb 100644 --- a/sound/oss/audio_syms.c +++ b/sound/oss/audio_syms.c @@ -14,6 +14,3 @@ EXPORT_SYMBOL(DMAbuf_open_dma); EXPORT_SYMBOL(DMAbuf_close_dma); EXPORT_SYMBOL(DMAbuf_inputintr); EXPORT_SYMBOL(DMAbuf_outputintr); -EXPORT_SYMBOL(dma_ioctl); -EXPORT_SYMBOL(audio_open); -EXPORT_SYMBOL(audio_release); diff --git a/sound/oss/awe_wave.c b/sound/oss/awe_wave.c index f49a2dee4..c80d97c55 100644 --- a/sound/oss/awe_wave.c +++ b/sound/oss/awe_wave.c @@ -4130,7 +4130,7 @@ static void __init attach_mixer(void) } } -static void __exit unload_mixer(void) +static void unload_mixer(void) { if (my_mixerdev >= 0) sound_unload_mixerdev(my_mixerdev); @@ -4968,7 +4968,7 @@ static void __init attach_midiemu(void) midi_devs[my_mididev] = &awe_midi_operations; } -static void __exit unload_midiemu(void) +static void unload_midiemu(void) { if (my_mididev >= 0) sound_unload_mididev(my_mididev); diff --git a/sound/oss/cmpci.c b/sound/oss/cmpci.c index 386107f47..a862958ac 100644 --- a/sound/oss/cmpci.c +++ b/sound/oss/cmpci.c @@ -3000,6 +3000,8 @@ static int __devinit cm_probe(struct pci_dev *pcidev, const struct pci_device_id mm_segment_t fs; int i, val, ret; unsigned char reg_mask; + int timeout; + struct resource *ports; struct { unsigned short deviceid; char *devicename; @@ -3184,54 +3186,55 @@ static int __devinit cm_probe(struct pci_dev *pcidev, const struct pci_device_id } #endif #ifdef CONFIG_SOUND_CMPCI_MIDI + switch (s->iomidi) { + case 0x330: + reg_mask = 0; + break; + case 0x320: + reg_mask = 0x20; + break; + case 0x310: + reg_mask = 0x40; + break; + case 0x300: + reg_mask = 0x60; + break; + default: + s->iomidi = 0; + goto skip_mpu; + } + ports = request_region(s->iomidi, 2, "mpu401"); + if (!ports) + goto skip_mpu; /* disable MPU-401 */ maskb(s->iobase + CODEC_CMI_FUNCTRL1, ~0x04, 0); s->mpu_data.name = "cmpci mpu"; s->mpu_data.io_base = s->iomidi; s->mpu_data.irq = -s->irq; // tell mpu401 to share irq - if (probe_mpu401(&s->mpu_data)) + if (probe_mpu401(&s->mpu_data, ports)) { + release_region(s->iomidi, 2); s->iomidi = 0; - if (s->iomidi) { - /* set IO based at 0x330 */ - switch (s->iomidi) { - case 0x330: - reg_mask = 0; - break; - case 0x320: - reg_mask = 0x20; - break; - case 0x310: - reg_mask = 0x40; - break; - case 0x300: - reg_mask = 0x60; - break; - default: - s->iomidi = 0; + goto skip_mpu; + } + maskb(s->iobase + CODEC_CMI_LEGACY_CTRL + 3, ~0x60, reg_mask); + /* enable MPU-401 */ + maskb(s->iobase + CODEC_CMI_FUNCTRL1, ~0, 0x04); + /* clear all previously received interrupt */ + for (timeout = 900000; timeout > 0; timeout--) { + if ((inb(s->iomidi + 1) && 0x80) == 0) + inb(s->iomidi); + else break; - } - maskb(s->iobase + CODEC_CMI_LEGACY_CTRL + 3, ~0x60, reg_mask); - /* enable MPU-401 */ - if (s->iomidi) { - int timeout; - - maskb(s->iobase + CODEC_CMI_FUNCTRL1, ~0, 0x04); - /* clear all previously received interrupt */ - for (timeout = 900000; timeout > 0; timeout--) { - if ((inb(s->iomidi + 1) && 0x80) == 0) - inb(s->iomidi); - else - break; - } - if (!probe_mpu401(&s->mpu_data)) { - s->iomidi = 0; - maskb(s->iobase + CODEC_CMI_FUNCTRL1, ~0, 0x04); - } else { - attach_mpu401(&s->mpu_data, THIS_MODULE); - s->midi_devc = s->mpu_data.slots[1]; - } - } } + if (!probe_mpu401(&s->mpu_data, ports)) { + release_region(s->iomidi, 2); + s->iomidi = 0; + maskb(s->iobase + CODEC_CMI_FUNCTRL1, ~0, 0x04); + } else { + attach_mpu401(&s->mpu_data, THIS_MODULE); + s->midi_devc = s->mpu_data.slots[1]; + } +skip_mpu: #endif #ifdef CONFIG_SOUND_CMPCI_JOYSTICK /* enable joystick */ diff --git a/sound/oss/dev_table.c b/sound/oss/dev_table.c index 4658e62d2..f65a90469 100644 --- a/sound/oss/dev_table.c +++ b/sound/oss/dev_table.c @@ -16,6 +16,8 @@ #define _DEV_TABLE_C_ #include "sound_config.h" +static int sound_alloc_audiodev(void); + int sound_install_audiodrv(int vers, char *name, struct audio_driver *driver, int driver_size, int flags, unsigned int format_mask, void *devc, int dma1, int dma2) @@ -121,7 +123,7 @@ void sound_unload_audiodev(int dev) } } -int sound_alloc_audiodev(void) +static int sound_alloc_audiodev(void) { int i = register_sound_dsp(&oss_sound_fops, -1); if(i==-1) diff --git a/sound/oss/dev_table.h b/sound/oss/dev_table.h index 2d43d28c7..adf1d625b 100644 --- a/sound/oss/dev_table.h +++ b/sound/oss/dev_table.h @@ -397,7 +397,6 @@ void sound_unload_mixerdev(int dev); void sound_unload_mididev(int dev); void sound_unload_synthdev(int dev); void sound_unload_timerdev(int dev); -int sound_alloc_audiodev(void); int sound_alloc_mixerdev(void); int sound_alloc_timerdev(void); int sound_alloc_synthdev(void); diff --git a/sound/oss/gus_wave.c b/sound/oss/gus_wave.c index ed7333ca2..2cc924d7b 100644 --- a/sound/oss/gus_wave.c +++ b/sound/oss/gus_wave.c @@ -2942,6 +2942,8 @@ void __init gus_wave_init(struct address_info *hw_config) } else { + struct resource *ports; + ports = request_region(gus_base + 0x10c, 4, "ad1848"); model_num = "MAX"; gus_type = 0x40; mixer_type = CS4231; @@ -2963,7 +2965,10 @@ void __init gus_wave_init(struct address_info *hw_config) outb((max_config), gus_base + 0x106); /* UltraMax control */ } - if (ad1848_detect(gus_base + 0x10c, &ad_flags, hw_config->osp)) + if (!ports) + goto no_cs4231; + + if (ad1848_detect(ports, &ad_flags, hw_config->osp)) { char *name = "GUS MAX"; int old_num_mixers = num_mixers; @@ -2977,7 +2982,7 @@ void __init gus_wave_init(struct address_info *hw_config) if (hw_config->name) name = hw_config->name; - hw_config->slots[1] = ad1848_init(name, gus_base + 0x10c, + hw_config->slots[1] = ad1848_init(name, ports, -irq, gus_dma2, /* Playback DMA */ gus_dma, /* Capture DMA */ 1, /* Share DMA channels with GF1 */ @@ -2992,8 +2997,11 @@ void __init gus_wave_init(struct address_info *hw_config) AD1848_REROUTE(SOUND_MIXER_LINE3, SOUND_MIXER_LINE); } } - else + else { + release_region(gus_base + 0x10c, 4); + no_cs4231: printk(KERN_WARNING "GUS: No CS4231 ??"); + } #else printk(KERN_ERR "GUS MAX found, but not compiled in\n"); #endif diff --git a/sound/oss/i810_audio.c b/sound/oss/i810_audio.c index 918c2a23b..47e5bed02 100644 --- a/sound/oss/i810_audio.c +++ b/sound/oss/i810_audio.c @@ -101,7 +101,6 @@ #include #include #include -#include #define DRIVER_VERSION "1.01" @@ -3216,8 +3215,14 @@ static int __devinit i810_probe(struct pci_dev *pci_dev, const struct pci_device } /* claim our iospace and irq */ - request_region(card->iobase, 64, card_names[pci_id->driver_data]); - request_region(card->ac97base, 256, card_names[pci_id->driver_data]); + if (!request_region(card->iobase, 64, card_names[pci_id->driver_data])) { + printk(KERN_ERR "i810_audio: unable to allocate region %lx\n", card->iobase); + goto out_region1; + } + if (!request_region(card->ac97base, 256, card_names[pci_id->driver_data])) { + printk(KERN_ERR "i810_audio: unable to allocate region %lx\n", card->ac97base); + goto out_region2; + } if (request_irq(card->irq, &i810_interrupt, SA_SHIRQ, card_names[pci_id->driver_data], card)) { @@ -3291,7 +3296,9 @@ out_iospace: } out_pio: release_region(card->iobase, 64); +out_region2: release_region(card->ac97base, 256); +out_region1: pci_free_consistent(pci_dev, sizeof(struct i810_channel)*NR_HW_CH, card->channel, card->chandma); out_mem: diff --git a/sound/oss/kahlua.c b/sound/oss/kahlua.c index 0913d4969..3d1d63680 100644 --- a/sound/oss/kahlua.c +++ b/sound/oss/kahlua.c @@ -156,10 +156,14 @@ static int __devinit probe_one(struct pci_dev *pdev, const struct pci_device_id hw_config->dma2 = dma16; hw_config->name = "Cyrix XpressAudio"; hw_config->driver_use_1 = SB_NO_MIDI | SB_PCI_IRQ; + + if (!request_region(io, 16, "soundblaster")) + goto err_out_free; if(sb_dsp_detect(hw_config, 0, 0, NULL)==0) { printk(KERN_ERR "kahlua: audio not responding.\n"); + release_region(io, 16); goto err_out_free; } diff --git a/sound/oss/maui.c b/sound/oss/maui.c index 1de0fb55b..0c0d53e87 100644 --- a/sound/oss/maui.c +++ b/sound/oss/maui.c @@ -301,17 +301,23 @@ static int maui_load_patch(int dev, int format, const char __user *addr, static int __init probe_maui(struct address_info *hw_config) { + struct resource *ports; + int this_dev; int i; int tmp1, tmp2, ret; - if (check_region(hw_config->io_base, 8)) + ports = request_region(hw_config->io_base, 2, "mpu401"); + if (!ports) return 0; + if (!request_region(hw_config->io_base + 2, 6, "Maui")) + goto out; + maui_base = hw_config->io_base; maui_osp = hw_config->osp; if (request_irq(hw_config->irq, mauiintr, 0, "Maui", NULL) < 0) - return 0; + goto out2; /* * Initialize the processor if necessary @@ -322,36 +328,30 @@ static int __init probe_maui(struct address_info *hw_config) !maui_write(0x9F) || /* Report firmware version */ !maui_short_wait(STAT_RX_AVAIL) || maui_read() == -1 || maui_read() == -1) - if (!maui_init(hw_config->irq)) { - free_irq(hw_config->irq, NULL); - return 0; - } + if (!maui_init(hw_config->irq)) + goto out3; } if (!maui_write(0xCF)) /* Report hardware version */ { printk(KERN_ERR "No WaveFront firmware detected (card uninitialized?)\n"); - free_irq(hw_config->irq, NULL); - return 0; + goto out3; } if ((tmp1 = maui_read()) == -1 || (tmp2 = maui_read()) == -1) { printk(KERN_ERR "No WaveFront firmware detected (card uninitialized?)\n"); - free_irq(hw_config->irq, NULL); - return 0; - } - if (tmp1 == 0xff || tmp2 == 0xff) { - free_irq(hw_config->irq, NULL); - return 0; + goto out3; } + if (tmp1 == 0xff || tmp2 == 0xff) + goto out3; printk(KERN_DEBUG "WaveFront hardware version %d.%d\n", tmp1, tmp2); if (!maui_write(0x9F)) /* Report firmware version */ - return 0; + goto out3; if ((tmp1 = maui_read()) == -1 || (tmp2 = maui_read()) == -1) - return 0; + goto out3; printk(KERN_DEBUG "WaveFront firmware version %d.%d\n", tmp1, tmp2); if (!maui_write(0x85)) /* Report free DRAM */ - return 0; + goto out3; tmp1 = 0; for (i = 0; i < 4; i++) { tmp1 |= maui_read() << (7 * i); @@ -359,20 +359,12 @@ static int __init probe_maui(struct address_info *hw_config) printk(KERN_DEBUG "Available DRAM %dk\n", tmp1 / 1024); for (i = 0; i < 1000; i++) - if (probe_mpu401(hw_config)) + if (probe_mpu401(hw_config, ports)) break; - ret = probe_mpu401(hw_config); - - if (ret) - request_region(hw_config->io_base + 2, 6, "Maui"); - - return ret; -} - -static void __init attach_maui(struct address_info *hw_config) -{ - int this_dev; + ret = probe_mpu401(hw_config, ports); + if (!ret) + goto out3; conf_printf("Maui", hw_config); @@ -391,14 +383,22 @@ static void __init attach_maui(struct address_info *hw_config) */ synth = midi_devs[this_dev]->converter; - synth->id = "MAUI"; - if (synth != NULL) { + synth->id = "MAUI"; orig_load_patch = synth->load_patch; synth->load_patch = &maui_load_patch; } else printk(KERN_ERR "Maui: Can't install patch loader\n"); } + return 1; + +out3: + free_irq(hw_config->irq, NULL); +out2: + release_region(hw_config->io_base + 2, 6); +out: + release_region(hw_config->io_base, 2); + return 0; } static void __exit unload_maui(struct address_info *hw_config) @@ -445,7 +445,6 @@ static int __init init_maui(void) } if (probe_maui(&cfg) == 0) return -ENODEV; - attach_maui(&cfg); return 0; } diff --git a/sound/oss/mpu401.c b/sound/oss/mpu401.c index 341983bff..73c3ce32a 100644 --- a/sound/oss/mpu401.c +++ b/sound/oss/mpu401.c @@ -1026,12 +1026,6 @@ int attach_mpu401(struct address_info *hw_config, struct module *owner) spin_unlock_irqrestore(&devc->lock,flags); } - if (!request_region(hw_config->io_base, 2, "mpu401")) - { - ret = -ENOMEM; - goto out_irq; - } - if (devc->version != 0) if (mpu_cmd(m, 0xC5, 0) >= 0) /* Set timebase OK */ if (mpu_cmd(m, 0xE0, 120) >= 0) /* Set tempo OK */ @@ -1044,7 +1038,7 @@ int attach_mpu401(struct address_info *hw_config, struct module *owner) { printk(KERN_ERR "mpu401: Can't allocate memory\n"); ret = -ENOMEM; - goto out_resource; + goto out_irq; } if (!(devc->capabilities & MPU_CAP_INTLG)) /* No intelligent mode */ { @@ -1126,13 +1120,12 @@ int attach_mpu401(struct address_info *hw_config, struct module *owner) return 0; -out_resource: - release_region(hw_config->io_base, 2); out_irq: free_irq(devc->irq, (void *)m); out_mididev: sound_unload_mididev(m); out_err: + release_region(hw_config->io_base, 2); return ret; } @@ -1207,16 +1200,11 @@ static void set_uart_mode(int dev, struct mpu_config *devc, int arg) } -int probe_mpu401(struct address_info *hw_config) +int probe_mpu401(struct address_info *hw_config, struct resource *ports) { int ok = 0; struct mpu_config tmp_devc; - if (check_region(hw_config->io_base, 2)) - { - printk(KERN_ERR "mpu401: I/O port %x already in use\n\n", hw_config->io_base); - return 0; - } tmp_devc.base = hw_config->io_base; tmp_devc.irq = hw_config->irq; tmp_devc.initialized = 0; @@ -1791,10 +1779,16 @@ static int __init init_mpu401(void) /* Can be loaded either for module use or to provide functions to others */ if (io != -1 && irq != -1) { + struct resource *ports; cfg.irq = irq; cfg.io_base = io; - if (probe_mpu401(&cfg) == 0) + ports = request_region(io, 2, "mpu401"); + if (!ports) + return -EBUSY; + if (probe_mpu401(&cfg, ports) == 0) { + release_region(io, 2); return -ENODEV; + } if ((ret = attach_mpu401(&cfg, THIS_MODULE))) return ret; } diff --git a/sound/oss/msnd.c b/sound/oss/msnd.c index 6ccdd096f..1f59ca999 100644 --- a/sound/oss/msnd.c +++ b/sound/oss/msnd.c @@ -79,25 +79,6 @@ void msnd_unregister(multisound_dev_t *dev) --num_devs; } -int msnd_get_num_devs(void) -{ - return num_devs; -} - -multisound_dev_t *msnd_get_dev(int j) -{ - int i; - - for (i = 0; i < MSND_MAX_DEVS && j; ++i) - if (devs[i] != NULL) - --j; - - if (i == MSND_MAX_DEVS || j != 0) - return NULL; - - return devs[i]; -} - void msnd_init_queue(unsigned long base, int start, int size) { isa_writew(PCTODSP_BASED(start), base + JQS_wStart); @@ -201,25 +182,25 @@ int msnd_fifo_read(msnd_fifo *f, char *buf, size_t len) return count; } -int msnd_wait_TXDE(multisound_dev_t *dev) +static int msnd_wait_TXDE(multisound_dev_t *dev) { register unsigned int io = dev->io; register int timeout = 1000; while(timeout-- > 0) - if (inb(io + HP_ISR) & HPISR_TXDE) + if (msnd_inb(io + HP_ISR) & HPISR_TXDE) return 0; return -EIO; } -int msnd_wait_HC0(multisound_dev_t *dev) +static int msnd_wait_HC0(multisound_dev_t *dev) { register unsigned int io = dev->io; register int timeout = 1000; while(timeout-- > 0) - if (!(inb(io + HP_CVR) & HPCVR_HC)) + if (!(msnd_inb(io + HP_CVR) & HPCVR_HC)) return 0; return -EIO; @@ -231,7 +212,7 @@ int msnd_send_dsp_cmd(multisound_dev_t *dev, BYTE cmd) spin_lock_irqsave(&dev->lock, flags); if (msnd_wait_HC0(dev) == 0) { - outb(cmd, dev->io + HP_CVR); + msnd_outb(cmd, dev->io + HP_CVR); spin_unlock_irqrestore(&dev->lock, flags); return 0; } @@ -248,9 +229,9 @@ int msnd_send_word(multisound_dev_t *dev, unsigned char high, register unsigned int io = dev->io; if (msnd_wait_TXDE(dev) == 0) { - outb(high, io + HP_TXH); - outb(mid, io + HP_TXM); - outb(low, io + HP_TXL); + msnd_outb(high, io + HP_TXH); + msnd_outb(mid, io + HP_TXM); + msnd_outb(low, io + HP_TXL); return 0; } @@ -272,8 +253,8 @@ int msnd_upload_host(multisound_dev_t *dev, char *bin, int len) if (msnd_send_word(dev, bin[i], bin[i + 1], bin[i + 2]) != 0) return -EIO; - inb(dev->io + HP_RXL); - inb(dev->io + HP_CVR); + msnd_inb(dev->io + HP_RXL); + msnd_inb(dev->io + HP_CVR); return 0; } @@ -289,11 +270,11 @@ int msnd_enable_irq(multisound_dev_t *dev) spin_lock_irqsave(&dev->lock, flags); if (msnd_wait_TXDE(dev) == 0) { - outb(inb(dev->io + HP_ICR) | HPICR_TREQ, dev->io + HP_ICR); + msnd_outb(msnd_inb(dev->io + HP_ICR) | HPICR_TREQ, dev->io + HP_ICR); if (dev->type == msndClassic) - outb(dev->irqid, dev->io + HP_IRQM); - outb(inb(dev->io + HP_ICR) & ~HPICR_TREQ, dev->io + HP_ICR); - outb(inb(dev->io + HP_ICR) | HPICR_RREQ, dev->io + HP_ICR); + msnd_outb(dev->irqid, dev->io + HP_IRQM); + msnd_outb(msnd_inb(dev->io + HP_ICR) & ~HPICR_TREQ, dev->io + HP_ICR); + msnd_outb(msnd_inb(dev->io + HP_ICR) | HPICR_RREQ, dev->io + HP_ICR); enable_irq(dev->irq); msnd_init_queue(dev->DSPQ, dev->dspq_data_buff, dev->dspq_buff_size); spin_unlock_irqrestore(&dev->lock, flags); @@ -320,9 +301,9 @@ int msnd_disable_irq(multisound_dev_t *dev) spin_lock_irqsave(&dev->lock, flags); if (msnd_wait_TXDE(dev) == 0) { - outb(inb(dev->io + HP_ICR) & ~HPICR_RREQ, dev->io + HP_ICR); + msnd_outb(msnd_inb(dev->io + HP_ICR) & ~HPICR_RREQ, dev->io + HP_ICR); if (dev->type == msndClassic) - outb(HPIRQ_NONE, dev->io + HP_IRQM); + msnd_outb(HPIRQ_NONE, dev->io + HP_IRQM); disable_irq(dev->irq); spin_unlock_irqrestore(&dev->lock, flags); return 0; @@ -337,8 +318,6 @@ int msnd_disable_irq(multisound_dev_t *dev) #ifndef LINUX20 EXPORT_SYMBOL(msnd_register); EXPORT_SYMBOL(msnd_unregister); -EXPORT_SYMBOL(msnd_get_num_devs); -EXPORT_SYMBOL(msnd_get_dev); EXPORT_SYMBOL(msnd_init_queue); @@ -349,8 +328,6 @@ EXPORT_SYMBOL(msnd_fifo_make_empty); EXPORT_SYMBOL(msnd_fifo_write); EXPORT_SYMBOL(msnd_fifo_read); -EXPORT_SYMBOL(msnd_wait_TXDE); -EXPORT_SYMBOL(msnd_wait_HC0); EXPORT_SYMBOL(msnd_send_dsp_cmd); EXPORT_SYMBOL(msnd_send_word); EXPORT_SYMBOL(msnd_upload_host); diff --git a/sound/oss/msnd.h b/sound/oss/msnd.h index 35894807e..0febcb541 100644 --- a/sound/oss/msnd.h +++ b/sound/oss/msnd.h @@ -258,8 +258,6 @@ typedef struct multisound_dev { int msnd_register(multisound_dev_t *dev); void msnd_unregister(multisound_dev_t *dev); -int msnd_get_num_devs(void); -multisound_dev_t * msnd_get_dev(int i); void msnd_init_queue(unsigned long, int start, int size); @@ -270,8 +268,6 @@ void msnd_fifo_make_empty(msnd_fifo *f); int msnd_fifo_write(msnd_fifo *f, const char *buf, size_t len); int msnd_fifo_read(msnd_fifo *f, char *buf, size_t len); -int msnd_wait_TXDE(multisound_dev_t *dev); -int msnd_wait_HC0(multisound_dev_t *dev); int msnd_send_dsp_cmd(multisound_dev_t *dev, BYTE cmd); int msnd_send_word(multisound_dev_t *dev, unsigned char high, unsigned char mid, unsigned char low); diff --git a/sound/oss/opl3sa2.c b/sound/oss/opl3sa2.c index 6daba626e..7d7a98173 100644 --- a/sound/oss/opl3sa2.c +++ b/sound/oss/opl3sa2.c @@ -539,36 +539,18 @@ static struct mixer_operations opl3sa3_mixer_operations = * Component probe, attach, unload functions */ -static inline int __init probe_opl3sa2_mpu(struct address_info* hw_config) -{ - return probe_mpu401(hw_config); -} - - -static inline int __init attach_opl3sa2_mpu(struct address_info* hw_config) -{ - return attach_mpu401(hw_config, THIS_MODULE); -} - - static inline void __exit unload_opl3sa2_mpu(struct address_info *hw_config) { unload_mpu401(hw_config); } -static inline int __init probe_opl3sa2_mss(struct address_info* hw_config) -{ - return probe_ms_sound(hw_config); -} - - -static void __init attach_opl3sa2_mss(struct address_info* hw_config) +static void __init attach_opl3sa2_mss(struct address_info* hw_config, struct resource *ports) { int initial_mixers; initial_mixers = num_mixers; - attach_ms_sound(hw_config, THIS_MODULE); /* Slot 0 */ + attach_ms_sound(hw_config, ports, THIS_MODULE); /* Slot 0 */ if (hw_config->slots[0] != -1) { /* Did the MSS driver install? */ if(num_mixers == (initial_mixers + 1)) { @@ -957,6 +939,8 @@ static int __init init_opl3sa2(void) for (card = 0; card < max; card++) { /* If a user wants an I/O then assume they meant it */ + struct resource *ports; + int base; if (!isapnp) { if (io == -1 || irq == -1 || dma == -1 || @@ -995,17 +979,30 @@ static int __init init_opl3sa2(void) opl3sa2_clear_slots(&opl3sa2_state[card].cfg_mpu); } + /* FIXME: leak */ if (probe_opl3sa2(&opl3sa2_state[card].cfg, card)) return -ENODEV; + base = opl3sa2_state[card].cfg_mss.io_base; - if (!probe_opl3sa2_mss(&opl3sa2_state[card].cfg_mss)) { + if (!request_region(base, 4, "WSS config")) + goto failed; + + ports = request_region(base + 4, 4, "ad1848"); + if (!ports) + goto failed2; + + if (!probe_ms_sound(&opl3sa2_state[card].cfg_mss, ports)) { /* * If one or more cards are already registered, don't * return an error but print a warning. Note, this * should never really happen unless the hardware or * ISA PnP screwed up. */ + release_region(base + 4, 4); + failed2: + release_region(base, 4); + failed: release_region(opl3sa2_state[card].cfg.io_base, 2); if (opl3sa2_cards_num) { @@ -1021,7 +1018,7 @@ static int __init init_opl3sa2(void) attach_opl3sa2(&opl3sa2_state[card].cfg, card); conf_printf(opl3sa2_state[card].chipset_name, &opl3sa2_state[card].cfg); attach_opl3sa2_mixer(&opl3sa2_state[card].cfg, card); - attach_opl3sa2_mss(&opl3sa2_state[card].cfg_mss); + attach_opl3sa2_mss(&opl3sa2_state[card].cfg_mss, ports); /* ewww =) */ opl3sa2_state[card].card = card; @@ -1054,15 +1051,23 @@ static int __init init_opl3sa2(void) /* Attach MPU if we've been asked to do so, failure isn't fatal */ if (opl3sa2_state[card].cfg_mpu.io_base != -1) { - if (probe_opl3sa2_mpu(&opl3sa2_state[card].cfg_mpu)) { - if (attach_opl3sa2_mpu(&opl3sa2_state[card].cfg_mpu)) { - printk(KERN_ERR PFX "failed to attach MPU401\n"); - opl3sa2_state[card].cfg_mpu.slots[1] = -1; - } + int base = opl3sa2_state[card].cfg_mpu.io_base; + struct resource *ports; + ports = request_region(base, 2, "mpu401"); + if (!ports) + goto out; + if (!probe_mpu401(&opl3sa2_state[card].cfg_mpu, ports)) { + release_region(base, 2); + goto out; + } + if (attach_mpu401(&opl3sa2_state[card].cfg_mpu, THIS_MODULE)) { + printk(KERN_ERR PFX "failed to attach MPU401\n"); + opl3sa2_state[card].cfg_mpu.slots[1] = -1; } } } +out: if (isapnp) { printk(KERN_NOTICE PFX "%d PnP card(s) found.\n", opl3sa2_cards_num); } diff --git a/sound/oss/pss.c b/sound/oss/pss.c index 38019143b..af3f96ad0 100644 --- a/sound/oss/pss.c +++ b/sound/oss/pss.c @@ -149,6 +149,7 @@ static int pss_initialized; static int nonstandard_microcode; static int pss_cdrom_port = -1; /* Parameter for the PSS cdrom port */ static int pss_enable_joystick; /* Parameter for enabling the joystick */ +static coproc_operations pss_coproc_operations; static void pss_write(pss_confdata *devc, int data) { @@ -174,7 +175,7 @@ static void pss_write(pss_confdata *devc, int data) printk(KERN_WARNING "PSS: DSP Command (%04x) Timeout.\n", data); } -int __init probe_pss(struct address_info *hw_config) +static int __init probe_pss(struct address_info *hw_config) { unsigned short id; int irq, dma; @@ -188,13 +189,19 @@ int __init probe_pss(struct address_info *hw_config) if (devc->base != 0x230 && devc->base != 0x250) /* Some cards use these */ return 0; - if (check_region(devc->base, 0x19 /*16*/)) { + if (!request_region(devc->base, 0x10, "PSS mixer, SB emulation")) { printk(KERN_ERR "PSS: I/O port conflict\n"); return 0; } id = inw(REG(PSS_ID)); if ((id >> 8) != 'E') { printk(KERN_ERR "No PSS signature detected at 0x%x (0x%x)\n", devc->base, id); + release_region(devc->base, 0x10); + return 0; + } + if (!request_region(devc->base + 0x10, 0x9, "PSS config")) { + printk(KERN_ERR "PSS: I/O port conflict\n"); + release_region(devc->base, 0x10); return 0; } return 1; @@ -685,7 +692,7 @@ void configure_nonsound_components(void) } } -void __init attach_pss(struct address_info *hw_config) +static int __init attach_pss(struct address_info *hw_config) { unsigned short id; char tmp[100]; @@ -697,10 +704,7 @@ void __init attach_pss(struct address_info *hw_config) devc->ad_mixer_dev = NO_WSS_MIXER; if (!probe_pss(hw_config)) - return; - - request_region(hw_config->io_base, 0x10, "PSS mixer, SB emulation"); - request_region(hw_config->io_base + 0x10, 0x9, "PSS config"); + return 0; id = inw(REG(PSS_ID)) & 0x00ff; @@ -714,17 +718,23 @@ void __init attach_pss(struct address_info *hw_config) if (sound_alloc_dma(hw_config->dma, "PSS")) { printk("pss.c: Can't allocate DMA channel.\n"); - return; + release_region(hw_config->io_base, 0x10); + release_region(hw_config->io_base+0x10, 0x9); + return 0; } if (!set_irq(devc, CONF_PSS, devc->irq)) { printk("PSS: IRQ allocation error.\n"); - return; + release_region(hw_config->io_base, 0x10); + release_region(hw_config->io_base+0x10, 0x9); + return 0; } if (!set_dma(devc, CONF_PSS, devc->dma)) { printk(KERN_ERR "PSS: DMA allocation error\n"); - return; + release_region(hw_config->io_base, 0x10); + release_region(hw_config->io_base+0x10, 0x9); + return 0; } #endif @@ -732,39 +742,38 @@ void __init attach_pss(struct address_info *hw_config) pss_initialized = 1; sprintf(tmp, "ECHO-PSS Rev. %d", id); conf_printf(tmp, hw_config); + return 1; } -int __init probe_pss_mpu(struct address_info *hw_config) +static int __init probe_pss_mpu(struct address_info *hw_config) { + struct resource *ports; int timeout; if (!pss_initialized) return 0; - if (check_region(hw_config->io_base, 2)) - { + ports = request_region(hw_config->io_base, 2, "mpu401"); + + if (!ports) { printk(KERN_ERR "PSS: MPU I/O port conflict\n"); return 0; } - if (!set_io_base(devc, CONF_MIDI, hw_config->io_base)) - { - printk(KERN_ERR "PSS: MIDI base could not be set.\n"); - return 0; + if (!set_io_base(devc, CONF_MIDI, hw_config->io_base)) { + printk(KERN_ERR "PSS: MIDI base could not be set.\n"); + goto fail; } - if (!set_irq(devc, CONF_MIDI, hw_config->irq)) - { - printk(KERN_ERR "PSS: MIDI IRQ allocation error.\n"); - return 0; + if (!set_irq(devc, CONF_MIDI, hw_config->irq)) { + printk(KERN_ERR "PSS: MIDI IRQ allocation error.\n"); + goto fail; } - if (!pss_synthLen) - { + if (!pss_synthLen) { printk(KERN_ERR "PSS: Can't enable MPU. MIDI synth microcode not available.\n"); - return 0; + goto fail; } - if (!pss_download_boot(devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST)) - { + if (!pss_download_boot(devc, pss_synth, pss_synthLen, CPF_FIRST | CPF_LAST)) { printk(KERN_ERR "PSS: Unable to load MIDI synth microcode to DSP.\n"); - return 0; + goto fail; } /* @@ -780,7 +789,16 @@ int __init probe_pss_mpu(struct address_info *hw_config) break; /* No more input */ } - return probe_mpu401(hw_config); + if (!probe_mpu401(hw_config, ports)) + goto fail; + + attach_mpu401(hw_config, THIS_MODULE); /* Slot 1 */ + if (hw_config->slots[1] != -1) /* The MPU driver installed itself */ + midi_devs[hw_config->slots[1]]->coproc = &pss_coproc_operations; + return 1; +fail: + release_region(hw_config->io_base, 2); + return 0; } static int pss_coproc_open(void *dev_info, int sub_device) @@ -1021,39 +1039,36 @@ static coproc_operations pss_coproc_operations = &pss_data }; -static void __init attach_pss_mpu(struct address_info *hw_config) -{ - attach_mpu401(hw_config, THIS_MODULE); /* Slot 1 */ - if (hw_config->slots[1] != -1) /* The MPU driver installed itself */ - midi_devs[hw_config->slots[1]]->coproc = &pss_coproc_operations; -} - static int __init probe_pss_mss(struct address_info *hw_config) { volatile int timeout; + struct resource *ports; + int my_mix = -999; /* gcc shut up */ if (!pss_initialized) return 0; - if (check_region(hw_config->io_base, 8)) - { - printk(KERN_ERR "PSS: WSS I/O port conflicts.\n"); - return 0; + if (!request_region(hw_config->io_base, 4, "WSS config")) { + printk(KERN_ERR "PSS: WSS I/O port conflicts.\n"); + return 0; } - if (!set_io_base(devc, CONF_WSS, hw_config->io_base)) - { - printk("PSS: WSS base not settable.\n"); + ports = request_region(hw_config->io_base + 4, 4, "ad1848"); + if (!ports) { + printk(KERN_ERR "PSS: WSS I/O port conflicts.\n"); + release_region(hw_config->io_base, 4); return 0; } - if (!set_irq(devc, CONF_WSS, hw_config->irq)) - { + if (!set_io_base(devc, CONF_WSS, hw_config->io_base)) { + printk("PSS: WSS base not settable.\n"); + goto fail; + } + if (!set_irq(devc, CONF_WSS, hw_config->irq)) { printk("PSS: WSS IRQ allocation error.\n"); - return 0; + goto fail; } - if (!set_dma(devc, CONF_WSS, hw_config->dma)) - { + if (!set_dma(devc, CONF_WSS, hw_config->dma)) { printk(KERN_ERR "PSS: WSS DMA allocation error\n"); - return 0; + goto fail; } /* * For some reason the card returns 0xff in the WSS status register @@ -1071,13 +1086,9 @@ static int __init probe_pss_mss(struct address_info *hw_config) (timeout < 100000); timeout++) ; - return probe_ms_sound(hw_config); -} + if (!probe_ms_sound(hw_config, ports)) + goto fail; -static void __init attach_pss_mss(struct address_info *hw_config) -{ - int my_mix = -999; /* gcc shut up */ - devc->ad_mixer_dev = NO_WSS_MIXER; if (pss_mixer) { @@ -1088,11 +1099,11 @@ static void __init attach_pss_mss(struct address_info *hw_config) devc)) < 0) { printk(KERN_ERR "Could not install PSS mixer\n"); - return; + goto fail; } } pss_mixer_reset(devc); - attach_ms_sound(hw_config, THIS_MODULE); /* Slot 0 */ + attach_ms_sound(hw_config, ports, THIS_MODULE); /* Slot 0 */ if (hw_config->slots[0] != -1) { @@ -1104,6 +1115,11 @@ static void __init attach_pss_mss(struct address_info *hw_config) devc->ad_mixer_dev = audio_devs[hw_config->slots[0]]->mixer_dev; } } + return 1; +fail: + release_region(hw_config->io_base + 4, 4); + release_region(hw_config->io_base, 4); + return 0; } static inline void __exit unload_pss(struct address_info *hw_config) @@ -1185,6 +1201,8 @@ static int __init init_pss(void) printk(KERN_INFO "PSS: loading in no sound mode.\n"); disable_all_emulations(); configure_nonsound_components(); + release_region(pss_io, 0x10); + release_region(pss_io + 0x10, 0x9); return 0; } @@ -1206,20 +1224,16 @@ static int __init init_pss(void) fw_load = 1; pss_synthLen = mod_firmware_load(pss_firmware, (void *) &pss_synth); } - if (!probe_pss(&cfg)) + if (!attach_pss(&cfg)) return -ENODEV; - attach_pss(&cfg); /* * Attach stuff */ - if (probe_pss_mpu(&cfg_mpu)) { + if (probe_pss_mpu(&cfg_mpu)) pssmpu = 1; - attach_pss_mpu(&cfg_mpu); - } - if (probe_pss_mss(&cfg2)) { + + if (probe_pss_mss(&cfg2)) pssmss = 1; - attach_pss_mss(&cfg2); - } return 0; } diff --git a/sound/oss/sb_card.c b/sound/oss/sb_card.c index 012f6d2d8..07191b3ae 100644 --- a/sound/oss/sb_card.c +++ b/sound/oss/sb_card.c @@ -100,7 +100,14 @@ MODULE_PARM_DESC(uart401, "When set to 1, will attempt to detect and enable"\ /* OSS subsystem card registration shared by PnP and legacy routines */ static int sb_register_oss(struct sb_card_config *scc, struct sb_module_options *sbmo) { - if(!sb_dsp_detect(&scc->conf, 0, 0, sbmo)) { + if (!request_region(scc->conf.io_base, 16, "soundblaster")) { + printk(KERN_ERR "sb: ports busy.\n"); + kfree(scc); + return -EBUSY; + } + + if (!sb_dsp_detect(&scc->conf, 0, 0, sbmo)) { + release_region(scc->conf.io_base, 16); printk(KERN_ERR "sb: Failed DSP Detect.\n"); kfree(scc); return -ENODEV; diff --git a/sound/oss/sound_calls.h b/sound/oss/sound_calls.h index 7914e51a8..1ae075096 100644 --- a/sound/oss/sound_calls.h +++ b/sound/oss/sound_calls.h @@ -39,7 +39,6 @@ int audio_ioctl (int dev, struct file *file, unsigned int cmd, void __user *arg); void audio_init_devices (void); void reorganize_buffers (int dev, struct dma_buffparms *dmap, int recording); -int dma_ioctl (int dev, unsigned int cmd, void __user *arg); /* * System calls for the /dev/sequencer diff --git a/sound/oss/sound_syms.c b/sound/oss/sound_syms.c index 30ca5db36..cb7c33fe5 100644 --- a/sound/oss/sound_syms.c +++ b/sound/oss/sound_syms.c @@ -22,10 +22,8 @@ EXPORT_SYMBOL(num_audiodevs); EXPORT_SYMBOL(midi_devs); EXPORT_SYMBOL(num_midis); EXPORT_SYMBOL(synth_devs); -EXPORT_SYMBOL(num_synths); EXPORT_SYMBOL(sound_timer_devs); -EXPORT_SYMBOL(num_sound_timers); EXPORT_SYMBOL(sound_install_audiodrv); EXPORT_SYMBOL(sound_install_mixer); @@ -33,7 +31,6 @@ EXPORT_SYMBOL(sound_alloc_dma); EXPORT_SYMBOL(sound_free_dma); EXPORT_SYMBOL(sound_open_dma); EXPORT_SYMBOL(sound_close_dma); -EXPORT_SYMBOL(sound_alloc_audiodev); EXPORT_SYMBOL(sound_alloc_mididev); EXPORT_SYMBOL(sound_alloc_mixerdev); EXPORT_SYMBOL(sound_alloc_timerdev); diff --git a/sound/oss/sscape.c b/sound/oss/sscape.c index 733bfc187..7c9b5d41b 100644 --- a/sound/oss/sscape.c +++ b/sound/oss/sscape.c @@ -600,10 +600,10 @@ static coproc_operations sscape_coproc_operations = &adev_info }; -static int sscape_detected; +static struct resource *sscape_ports; static int sscape_is_pnp; -void __init attach_sscape(struct address_info *hw_config) +static void __init attach_sscape(struct address_info *hw_config) { #ifndef SSCAPE_REGS /* @@ -638,10 +638,6 @@ void __init attach_sscape(struct address_info *hw_config) int i, irq_bits = 0xff; - if (sscape_detected != hw_config->io_base) - return; - - request_region(devc->base + 2, 6, "SoundScape"); if (old_hardware) { valid_interrupts = valid_interrupts_old; @@ -650,7 +646,7 @@ void __init attach_sscape(struct address_info *hw_config) else conf_printf("Ensoniq SoundScape", hw_config); - for (i = 0; i < sizeof(valid_interrupts); i++) + for (i = 0; i < 4; i++) { if (hw_config->irq == valid_interrupts[i]) { @@ -661,45 +657,32 @@ void __init attach_sscape(struct address_info *hw_config) if (hw_config->irq > 15 || (regs[4] = irq_bits == 0xff)) { printk(KERN_ERR "Invalid IRQ%d\n", hw_config->irq); + release_region(devc->base, 2); + release_region(devc->base + 2, 6); + if (sscape_is_pnp) + release_region(devc->codec, 2); return; } if (!sscape_is_pnp) { spin_lock_irqsave(&devc->lock,flags); - for (i = 1; i < 10; i++) - { - switch (i) - { - case 1: /* Host interrupt enable */ - sscape_write(devc, i, 0xf0); /* All interrupts enabled */ - break; - - case 2: /* DMA A status/trigger register */ - case 3: /* DMA B status/trigger register */ - sscape_write(devc, i, 0x20); /* DMA channel disabled */ - break; - - case 4: /* Host interrupt config reg */ - sscape_write(devc, i, 0xf0 | (irq_bits << 2) | irq_bits); - break; - - case 5: /* Don't destroy CD-ROM DMA config bits (0xc0) */ - sscape_write(devc, i, (regs[i] & 0x3f) | (sscape_read(devc, i) & 0xc0)); - break; - - case 6: /* CD-ROM config (WSS codec actually) */ - sscape_write(devc, i, regs[i]); - break; - - case 9: /* Master control reg. Don't modify CR-ROM bits. Disable SB emul */ - sscape_write(devc, i, (sscape_read(devc, i) & 0xf0) | 0x08); - break; - - default: - sscape_write(devc, i, regs[i]); - } - } + /* Host interrupt enable */ + sscape_write(devc, 1, 0xf0); /* All interrupts enabled */ + /* DMA A status/trigger register */ + sscape_write(devc, 2, 0x20); /* DMA channel disabled */ + /* DMA B status/trigger register */ + sscape_write(devc, 3, 0x20); /* DMA channel disabled */ + /* Host interrupt config reg */ + sscape_write(devc, 4, 0xf0 | (irq_bits << 2) | irq_bits); + /* Don't destroy CD-ROM DMA config bits (0xc0) */ + sscape_write(devc, 5, (regs[5] & 0x3f) | (sscape_read(devc, 5) & 0xc0)); + /* CD-ROM config (WSS codec actually) */ + sscape_write(devc, 6, regs[6]); + sscape_write(devc, 7, regs[7]); + sscape_write(devc, 8, regs[8]); + /* Master control reg. Don't modify CR-ROM bits. Disable SB emul */ + sscape_write(devc, 9, (sscape_read(devc, 9) & 0xf0) | 0x08); spin_unlock_irqrestore(&devc->lock,flags); } #ifdef SSCAPE_DEBUG2 @@ -715,7 +698,7 @@ void __init attach_sscape(struct address_info *hw_config) } #endif - if (probe_mpu401(hw_config)) + if (probe_mpu401(hw_config, sscape_ports)) hw_config->always_detect = 1; hw_config->name = "SoundScape"; @@ -739,9 +722,6 @@ static int detect_ga(sscape_info * devc) DDB(printk("Entered Soundscape detect_ga(%x)\n", devc->base)); - if (check_region(devc->base, 8)) - return 0; - /* * First check that the address register of "ODIE" is * there and that it has exactly 4 writable bits. @@ -1115,9 +1095,9 @@ static void __init sscape_pnp_init_hw(sscape_info* devc) sscape_write( devc, 9, i | 3 ); sscape_write( devc, 3, 0x40); - if (check_region(0x228, 1)) { - outb(0, 0x228); - release_region(0x228,1); + if (request_region(0x228, 1, "sscape setup junk")) { + outb(0, 0x228); + release_region(0x228,1); } sscape_write( devc, 3, (devc -> dma << 4) | 0x80); sscape_write( devc, 9, i ); @@ -1134,50 +1114,46 @@ static int __init detect_sscape_pnp(sscape_info* devc) DDB(printk("Entered detect_sscape_pnp(%x)\n", devc->base)); - if (check_region(devc->base, 8)) { - printk(KERN_ERR "detect_sscape_pnp: port %x is not free\n", devc->base); - return 0; - } - - if (check_region(devc->codec, 2)) { + if (!request_region(devc->codec, 2, "sscape codec")) { printk(KERN_ERR "detect_sscape_pnp: port %x is not free\n", devc->codec); return 0; } - if ( (inb( devc -> base + 2) & 0x78) != 0) return 0; + if ((inb(devc->base + 2) & 0x78) != 0) + goto fail; d = inb ( devc -> base + 4) & 0xF0; - if ( (d & 0x80) != 0) return 0; + if (d & 0x80) + goto fail; if (d == 0) { - devc->codec_type = 1; - devc->ic_type = IC_ODIE; - } - else if ( (d & 0x60) != 0) { - devc->codec_type = 2; - devc->ic_type = IC_OPUS; - } - else if ( (d & 0x40) != 0) { - devc->codec_type = 2; - devc->ic_type = IC_ODIE; - } - else return 0; + devc->codec_type = 1; + devc->ic_type = IC_ODIE; + } else if ( (d & 0x60) != 0) { + devc->codec_type = 2; + devc->ic_type = IC_OPUS; + } else if ( (d & 0x40) != 0) { /* WTF? */ + devc->codec_type = 2; + devc->ic_type = IC_ODIE; + } else + goto fail; sscape_is_pnp = 1; outb(0xFA, devc -> base+4); if ((inb( devc -> base+4) & 0x9F) != 0x0A) - return 0; + goto fail; outb(0xFE, devc -> base+4); if ( (inb(devc -> base+4) & 0x9F) != 0x0E) - return 0; + goto fail; if ( (inb(devc -> base+5) & 0x9F) != 0x0E) - return 0; + goto fail; if (devc->codec_type == 2) { - if (devc -> codec != devc -> base + 8) + if (devc->codec != devc->base + 8) { printk("soundscape warning: incorrect codec port specified\n"); - devc -> codec = devc -> base + 8; + goto fail; + } d = 0x10 | (sscape_read(devc, 9) & 0xCF); sscape_write(devc, 9, d); sscape_write(devc, 6, 0x80); @@ -1193,9 +1169,9 @@ static int __init detect_sscape_pnp(sscape_info* devc) d = inb(devc -> codec); if (d & 0x80) - return 0; + goto fail; if ( inb(devc -> codec + 2) == 0xFF) - return 0; + goto fail; sscape_write(devc, 9, sscape_read(devc, 9) & 0x3F ); @@ -1217,7 +1193,7 @@ static int __init detect_sscape_pnp(sscape_info* devc) sscape_pnp_init_hw(devc); - for (i = 0; i < sizeof(valid_interrupts); i++) + for (i = 0; i < 4; i++) { if (devc->codec_irq == valid_interrupts[i]) { irq_bits = i; @@ -1234,15 +1210,14 @@ static int __init detect_sscape_pnp(sscape_info* devc) sscape_pnp_write_codec( devc, 0, sscape_pnp_read_codec( devc, 0) | 0x20); sscape_pnp_write_codec( devc, 0, sscape_pnp_read_codec( devc, 1) | 0x20); - return 1; + return 1; +fail: + release_region(devc->codec, 2); + return 0; } static int __init probe_sscape(struct address_info *hw_config) { - - if (sscape_detected != 0 && sscape_detected != hw_config->io_base) - return 0; - devc->base = hw_config->io_base; devc->irq = hw_config->irq; devc->dma = hw_config->dma; @@ -1262,12 +1237,21 @@ static int __init probe_sscape(struct address_info *hw_config) #endif devc->failed = 1; + sscape_ports = request_region(devc->base, 2, "mpu401"); + if (!sscape_ports) + return 0; + + if (!request_region(devc->base + 2, 6, "SoundScape")) { + release_region(devc->base, 2); + return 0; + } + if (!detect_ga(devc)) { - if (detect_sscape_pnp(devc)) { - sscape_detected = hw_config->io_base; + if (detect_sscape_pnp(devc)) return 1; - } - else return 0; + release_region(devc->base, 2); + release_region(devc->base + 2, 6); + return 0; } if (old_hardware) /* Check that it's really an old Spea/Reveal card. */ @@ -1282,14 +1266,14 @@ static int __init probe_sscape(struct address_info *hw_config) inb(devc->base + ODIE_ADDR); } } - sscape_detected = hw_config->io_base; return 1; } -static int __init probe_ss_ms_sound(struct address_info *hw_config) +static int __init init_ss_ms_sound(struct address_info *hw_config) { int i, irq_bits = 0xff; int ad_flags = 0; + struct resource *ports; if (devc->failed) { @@ -1301,7 +1285,7 @@ static int __init probe_ss_ms_sound(struct address_info *hw_config) printk(KERN_ERR "soundscape: Invalid initialization order.\n"); return 0; } - for (i = 0; i < sizeof(valid_interrupts); i++) + for (i = 0; i < 4; i++) { if (hw_config->irq == valid_interrupts[i]) { @@ -1309,37 +1293,27 @@ static int __init probe_ss_ms_sound(struct address_info *hw_config) break; } } - if (hw_config->irq > 15 || irq_bits == 0xff) - { + if (irq_bits == 0xff) { printk(KERN_ERR "soundscape: Invalid MSS IRQ%d\n", hw_config->irq); return 0; } - if (!sscape_is_pnp) { - if (old_hardware) - ad_flags = 0x12345677; /* Tell that we may have a CS4248 chip (Spea-V7 Media FX) */ - return ad1848_detect(hw_config->io_base, &ad_flags, hw_config->osp); - } - else { - if (old_hardware) - ad_flags = 0x12345677; /* Tell that we may have a CS4248 chip (Spea-V7 Media FX) */ - else - ad_flags = 0x87654321; /* Tell that we have a soundscape pnp with 1845 chip */ - return ad1848_detect(hw_config->io_base, &ad_flags, hw_config->osp); - } -} + if (old_hardware) + ad_flags = 0x12345677; /* Tell that we may have a CS4248 chip (Spea-V7 Media FX) */ + else if (sscape_is_pnp) + ad_flags = 0x87654321; /* Tell that we have a soundscape pnp with 1845 chip */ -static void __init attach_ss_ms_sound(struct address_info *hw_config) -{ - /* - * This routine configures the SoundScape card for use with the - * Win Sound System driver. The AD1848 codec interface uses the CD-ROM - * config registers of the "ODIE". - */ + ports = request_region(hw_config->io_base, 4, "ad1848"); + if (!ports) { + printk(KERN_ERR "soundscape: ports busy\n"); + return 0; + } - int i, irq_bits = 0xff; + if (!ad1848_detect(ports, &ad_flags, hw_config->osp)) { + release_region(hw_config->io_base, 4); + return 0; + } - if (!sscape_is_pnp) /*pnp is already setup*/ { /* @@ -1355,14 +1329,6 @@ static void __init attach_ss_ms_sound(struct address_info *hw_config) /* * Init the AD1848 (CD-ROM) config reg. */ - for (i = 0; i < sizeof(valid_interrupts); i++) - { - if (hw_config->irq == valid_interrupts[i]) - { - irq_bits = i; - break; - } - } sscape_write(devc, GA_CDCFG_REG, 0x89 | (hw_config->dma << 4) | (irq_bits << 1)); } @@ -1371,7 +1337,7 @@ static void __init attach_ss_ms_sound(struct address_info *hw_config) hw_config->slots[0] = ad1848_init( sscape_is_pnp ? "SoundScape" : "SoundScape PNP", - hw_config->io_base, + ports, hw_config->irq, hw_config->dma, hw_config->dma, @@ -1402,13 +1368,15 @@ static void __init attach_ss_ms_sound(struct address_info *hw_config) printk("I%d = %02x\n", i, sscape_read(devc, i)); } #endif - + return 1; } static void __exit unload_sscape(struct address_info *hw_config) { release_region(devc->base + 2, 6); unload_mpu401(hw_config); + if (sscape_is_pnp) + release_region(devc->codec, 2); } static void __exit unload_ss_ms_sound(struct address_info *hw_config) @@ -1480,10 +1448,7 @@ static int __init init_sscape(void) attach_sscape(&cfg_mpu); - mss = probe_ss_ms_sound(&cfg); - - if (mss) - attach_ss_ms_sound(&cfg); + mss = init_ss_ms_sound(&cfg); return 0; } diff --git a/sound/oss/trident.c b/sound/oss/trident.c index 1beb4e9ff..813a27e18 100644 --- a/sound/oss/trident.c +++ b/sound/oss/trident.c @@ -217,7 +217,6 @@ #include #include #include -#include #include #include diff --git a/sound/oss/v_midi.c b/sound/oss/v_midi.c index 656c06366..077b76797 100644 --- a/sound/oss/v_midi.c +++ b/sound/oss/v_midi.c @@ -90,11 +90,12 @@ static void v_midi_close (int dev) static int v_midi_out (int dev, unsigned char midi_byte) { vmidi_devc *devc = midi_devs[dev]->devc; - vmidi_devc *pdevc = midi_devs[devc->pair_mididev]->devc; + vmidi_devc *pdevc; if (devc == NULL) - return -(ENXIO); + return -ENXIO; + pdevc = midi_devs[devc->pair_mididev]->devc; if (pdevc->input_opened > 0){ if (MIDIbuf_avail(pdevc->my_mididev) > 500) return 0; diff --git a/sound/oss/waveartist.c b/sound/oss/waveartist.c index 44ab69867..438e64ecb 100644 --- a/sound/oss/waveartist.c +++ b/sound/oss/waveartist.c @@ -1346,18 +1346,20 @@ static int __init probe_waveartist(struct address_info *hw_config) return 0; } - if (check_region(hw_config->io_base, 15)) { + if (!request_region(hw_config->io_base, 15, hw_config->name)) { printk(KERN_WARNING "WaveArtist: I/O port conflict\n"); return 0; } if (hw_config->irq > 15 || hw_config->irq < 0) { + release_region(hw_config->io_base, 15); printk(KERN_WARNING "WaveArtist: Bad IRQ %d\n", hw_config->irq); return 0; } if (hw_config->dma != 3) { + release_region(hw_config->io_base, 15); printk(KERN_WARNING "WaveArtist: Bad DMA %d\n", hw_config->dma); return 0; @@ -1392,8 +1394,6 @@ attach_waveartist(struct address_info *hw, const struct waveartist_mixer_info *m if (hw->dma != hw->dma2 && hw->dma2 != NO_DMA) devc->audio_flags |= DMA_DUPLEX; - request_region(hw->io_base, 15, devc->hw.name); - devc->mix = mix; devc->dev_no = waveartist_init(devc); diff --git a/sound/oss/wavfront.c b/sound/oss/wavfront.c index e0ecd44a3..4875565a0 100644 --- a/sound/oss/wavfront.c +++ b/sound/oss/wavfront.c @@ -1402,7 +1402,7 @@ wavefront_fetch_multisample (wavefront_patch_info *header) num_samples = (1 << log_ns[0]); for (i = 0; i < num_samples; i++) { - char d[2]; + s8 d[2]; if ((d[0] = wavefront_read ()) == -1) { printk (KERN_ERR LOGNAME "upload multisample failed " @@ -2961,8 +2961,8 @@ wffx_memset (int page, if (i != cnt) { printk (KERN_WARNING LOGNAME "FX memset " - "(0x%x, 0x%x, 0x%x, %d) incomplete\n", - page, addr, (int) data, cnt); + "(0x%x, 0x%x, %p, %d) incomplete\n", + page, addr, data, cnt); return -(EIO); } } diff --git a/sound/oss/wf_midi.c b/sound/oss/wf_midi.c index 379e70f2c..3ced960e5 100644 --- a/sound/oss/wf_midi.c +++ b/sound/oss/wf_midi.c @@ -784,7 +784,7 @@ virtual_midi_disable (void) int __init detect_wf_mpu (int irq, int io_base) { - if (check_region (io_base, 2)) { + if (!request_region(io_base, 2, "wavefront midi")) { printk (KERN_WARNING "WF-MPU: I/O port %x already in use.\n", io_base); return -1; @@ -803,11 +803,10 @@ int __init install_wf_mpu (void) if ((phys_dev->devno = sound_alloc_mididev()) < 0){ printk (KERN_ERR "WF-MPU: Too many MIDI devices detected.\n"); + release_region(phys_dev->base, 2); return -1; - } - request_region (phys_dev->base, 2, "wavefront midi"); phys_dev->isvirtual = 0; if (config_wf_mpu (phys_dev)) { diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c index 423ab05c0..0c02a5f45 100644 --- a/sound/parisc/harmony.c +++ b/sound/parisc/harmony.c @@ -6,7 +6,7 @@ * * Harmony is found in HP 712s, 715/new and many other GSC based machines. * On older 715 machines you'll find the technically identical chip - * called 'Vivace'. Both Harmony and Vicace are supported by this driver. + * called 'Vivace'. Both Harmony and Vivace are supported by this driver. * * this ALSA driver is based on OSS driver by: * Copyright 2000 (c) Linuxcare Canada, Alex deVries @@ -43,7 +43,7 @@ * to be recorded is put in RNXTADD. There is 2 read-only registers, PCURADD and * RCURADD that provides adress of current page. * - * Harmony has no way to controll full duplex or half duplex mode. It means + * Harmony has no way to control full duplex or half duplex mode. It means * that we always need to provide adresses of playback and capture data, even * when this is not needed. That's why we statically alloc one graveyard * buffer (to put recorded data in play-only mode) and a silence buffer. @@ -80,8 +80,7 @@ MODULE_AUTHOR("Laurent Canet "); MODULE_DESCRIPTION("ALSA Harmony sound driver"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALSA,Harmony soundcard}}"); +MODULE_SUPPORTED_DEVICE("{{ALSA,Harmony soundcard}}"); #undef DEBUG #ifdef DEBUG @@ -138,13 +137,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); /* Register offset (from base hpa) */ #define REG_ID 0x00 @@ -216,7 +212,6 @@ typedef struct snd_card_harmony { snd_pcm_substream_t *capture_substream; snd_info_entry_t *proc_entry; } snd_card_harmony_t; -#define chip_t snd_card_harmony_t static snd_card_t *snd_harmony_cards[SNDRV_CARDS] = SNDRV_DEFAULT_PTR; @@ -243,10 +238,8 @@ static unsigned int snd_card_harmony_rates[] = { 44100, 48000 }; -#define RATES sizeof(snd_card_harmony_rates) / sizeof(snd_card_harmony_rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraint_rates = { - .count = RATES, + .count = ARRAY_SIZE(snd_card_harmony_rates), .list = snd_card_harmony_rates, .mask = 0, }; @@ -283,7 +276,7 @@ static unsigned int snd_card_harmony_rate_bits(int rate) { unsigned int idx; - for (idx = 0; idx <= RATES; idx++) + for (idx = 0; idx <= ARRAY_SIZE(snd_card_harmony_rates); idx++) if (snd_card_harmony_rates[idx] == rate) return rate_bits[idx]; return HARMONY_SR_44KHZ; /* fallback */ @@ -556,7 +549,7 @@ static int snd_card_harmony_playback_prepare(snd_pcm_substream_t * substream) harmony->sample_rate = snd_card_harmony_rate_bits(runtime->rate); /* data format */ - harmony->data_format = snd_harmony_set_data_format(haromny, runtime->format); + harmony->data_format = snd_harmony_set_data_format(harmony, runtime->format); /* number of channels */ if (runtime->channels == 2) @@ -587,7 +580,7 @@ static int snd_card_harmony_capture_prepare(snd_pcm_substream_t * substream) harmony->sample_rate = snd_card_harmony_rate_bits(runtime->rate); /* data format */ - harmony->data_format = snd_harmony_set_data_format(haromny, runtime->format); + harmony->data_format = snd_harmony_set_data_format(harmony, runtime->format); /* number of channels */ if (runtime->channels == 1) @@ -751,6 +744,8 @@ static int snd_card_harmony_hw_params(snd_pcm_substream_t *substream, int err; err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); + if (err > 0 && substream->dma_device.type == SNDRV_DMA_TYPE_CONTINUOUS) + substream->runtime->dma_addr = __pa(substream->runtime->dma_area); DPRINTK(KERN_INFO PFX "HW Params returned %d, dma_addr %lx\n", err, (unsigned long)substream->runtime->dma_addr); return err; @@ -784,7 +779,7 @@ static snd_pcm_ops_t snd_card_harmony_capture_ops = { .pointer = snd_card_harmony_capture_pointer, }; -static int snd_card_harmony_pcm_init(snd_card_harmony_t *harmony, int device) +static int snd_card_harmony_pcm_init(snd_card_harmony_t *harmony) { snd_pcm_t *pcm; int err; @@ -797,7 +792,7 @@ static int snd_card_harmony_pcm_init(snd_card_harmony_t *harmony, int device) snd_harmony_disable_interrupts(harmony); - if ((err = snd_pcm_new(harmony->card, "Harmony", device, 1, 1, &pcm)) < 0) + if ((err = snd_pcm_new(harmony->card, "Harmony", 0, 1, 1, &pcm)) < 0) return err; snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_card_harmony_playback_ops); @@ -811,28 +806,54 @@ static int snd_card_harmony_pcm_init(snd_card_harmony_t *harmony, int device) /* initialize graveyard buffer */ harmony->dma_dev.type = SNDRV_DMA_TYPE_DEV; harmony->dma_dev.dev = &harmony->pa_dev->dev; - err = snd_dma_alloc_pages(&harmony->dma_dev, HARMONY_BUF_SIZE*GRAVEYARD_BUFS, + err = snd_dma_alloc_pages(harmony->dma_dev.type, + harmony->dma_dev.dev, + HARMONY_BUF_SIZE*GRAVEYARD_BUFS, &harmony->graveyard_dma); - if (err < 0) + if (err == -ENOMEM) { + /* use continuous buffers */ + harmony->dma_dev.type = SNDRV_DMA_TYPE_CONTINUOUS; + harmony->dma_dev.dev = snd_dma_continuous_data(GFP_KERNEL); + err = snd_dma_alloc_pages(harmony->dma_dev.type, + harmony->dma_dev.dev, + HARMONY_BUF_SIZE*GRAVEYARD_BUFS, + &harmony->graveyard_dma); + } + if (err < 0) { + printk(KERN_ERR PFX "can't allocate graveyard buffer\n"); return err; + } harmony->graveyard_count = 0; /* initialize silence buffers */ - err = snd_dma_alloc_pages(&harmony->dma_dev, HARMONY_BUF_SIZE*SILENCE_BUFS, + err = snd_dma_alloc_pages(harmony->dma_dev.type, + harmony->dma_dev.dev, + HARMONY_BUF_SIZE*SILENCE_BUFS, &harmony->silence_dma); - if (err < 0) + if (err < 0) { + printk(KERN_ERR PFX "can't allocate silence buffer\n"); return err; + } harmony->silence_count = 0; + if (harmony->dma_dev.type == SNDRV_DMA_TYPE_CONTINUOUS) { + harmony->graveyard_dma.addr = __pa(harmony->graveyard_dma.area); + harmony->silence_dma.addr = __pa(harmony->silence_dma.area); + } + harmony->ply_stopped = harmony->cap_stopped = 1; harmony->playback_substream = NULL; harmony->capture_substream = NULL; harmony->graveyard_count = 0; - - snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, - &harmony->pa_dev->dev, - MAX_BUFFER_SIZE, MAX_BUFFER_SIZE); + + err = snd_pcm_lib_preallocate_pages_for_all(pcm, harmony->dma_dev.type, + harmony->dma_dev.dev, + MAX_BUFFER_SIZE, MAX_BUFFER_SIZE); + if (err < 0) { + printk(KERN_ERR PFX "buffer allocation error %d\n", err); + // return err; + } return 0; } @@ -871,7 +892,7 @@ static int snd_harmony_mixercontrol_info(snd_kcontrol_t * kcontrol, snd_ctl_elem static int snd_harmony_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_harmony_t *harmony = _snd_kcontrol_chip(kcontrol); + snd_card_harmony_t *harmony = snd_kcontrol_chip(kcontrol); int shift_left = (kcontrol->private_value) & 0xff; int shift_right = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; @@ -896,7 +917,7 @@ static int snd_harmony_volume_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ static int snd_harmony_volume_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - snd_card_harmony_t *harmony = _snd_kcontrol_chip(kcontrol); + snd_card_harmony_t *harmony = snd_kcontrol_chip(kcontrol); int shift_left = (kcontrol->private_value) & 0xff; int shift_right = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; @@ -1037,7 +1058,7 @@ static int __init snd_card_harmony_probe(struct parisc_device *pa_dev) snd_card_free(card); return err; } - if ((err = snd_card_harmony_pcm_init(chip, dev)) < 0) { + if ((err = snd_card_harmony_pcm_init(chip)) < 0) { printk(KERN_ERR PFX "PCM Init failed\n"); snd_card_free(card); return err; diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig index 9f922b029..e2ddc227c 100644 --- a/sound/pci/Kconfig +++ b/sound/pci/Kconfig @@ -22,6 +22,14 @@ config SND_ATIIXP help Say 'Y' or 'M' to include support for ATI IXP 150/200/250/300 AC97 controller. +config SND_ATIIXP_MODEM + tristate "ATI IXP 150/200/250 Modem" + depends on SND + select SND_AC97_CODEC + help + Say 'Y' or 'M' to include support for ATI IXP 150/200/250 AC97 modem + controller. + config SND_AU8810 tristate "Aureal Advantage" depends on SND @@ -290,12 +298,12 @@ config SND_INTEL8X0 SiS 7012, AMD768/8111, NVidia NForce and ALi 5455 chips. config SND_INTEL8X0M - tristate "Intel i8x0/MX440; AMD768/8111 modems (EXPERIMENTAL)" + tristate "Intel i8x0/MX440; SiS 7013; NForce; AMD768/8111 modems (EXPERIMENTAL)" depends on SND && EXPERIMENTAL select SND_AC97_CODEC help - Say 'Y' or 'M' to include support for Intel8x0 and AMD768/8111 based - modems. + Say 'Y' or 'M' to include support for Intel8x0, SiS 7013, NVidia NForce + and AMD768/8111 based modems. config SND_SONICVIBES tristate "S3 SonicVibes" diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index 8f43dd60d..b88a1989e 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c @@ -45,9 +45,6 @@ static int enable_loopback; module_param(enable_loopback, bool, 0444); MODULE_PARM_DESC(enable_loopback, "Enable AC97 ADC/DAC Loopback Control"); -MODULE_PARM_SYNTAX(enable_loopback, SNDRV_BOOLEAN_FALSE_DESC); - -#define chip_t ac97_t /* @@ -108,12 +105,13 @@ static const ac97_codec_id_t snd_ac97_codec_ids[] = { { 0x41445375, 0xffffffff, "AD1985", patch_ad1985, NULL }, { 0x414c4300, 0xffffff00, "ALC100/100P", NULL, NULL }, { 0x414c4710, 0xfffffff0, "ALC200/200P", NULL, NULL }, +{ 0x414c4721, 0xffffffff, "ALC650D", NULL, NULL }, /* already patched */ +{ 0x414c4722, 0xffffffff, "ALC650E", NULL, NULL }, /* already patched */ +{ 0x414c4723, 0xffffffff, "ALC650F", NULL, NULL }, /* already patched */ { 0x414c4720, 0xfffffff0, "ALC650", patch_alc650, NULL }, -{ 0x414c4721, 0xfffffff0, "ALC650D", patch_alc650, NULL }, -{ 0x414c4722, 0xfffffff0, "ALC650E", patch_alc650, NULL }, -{ 0x414c4723, 0xfffffff0, "ALC650F", patch_alc650, NULL }, { 0x414c4760, 0xfffffff0, "ALC655", patch_alc655, NULL }, { 0x414c4780, 0xfffffff0, "ALC658", patch_alc655, NULL }, +{ 0x414c4790, 0xfffffff0, "ALC850", patch_alc850, NULL }, { 0x414c4730, 0xffffffff, "ALC101", NULL, NULL }, { 0x414c4740, 0xfffffff0, "ALC202", NULL, NULL }, { 0x414c4750, 0xfffffff0, "ALC250", NULL, NULL }, @@ -213,6 +211,13 @@ const char *snd_ac97_stereo_enhancements[] = /* 31 */ "Reserved 31" }; +/* + * Shared AC97 controllers (ICH, ATIIXP...) + */ +static DECLARE_MUTEX(shared_codec_mutex); +static ac97_t *shared_codec[AC97_SHARED_TYPES][4]; + + /* * I/O routines */ @@ -274,12 +279,12 @@ void snd_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short value) { if (!snd_ac97_valid_reg(ac97, reg)) return; - if ((ac97->id & 0xffffff00) == 0x414c4300) { + if ((ac97->id & 0xffffff00) == AC97_ID_ALC100) { /* Fix H/W bug of ALC100/100P */ if (reg == AC97_MASTER || reg == AC97_HEADPHONE) - ac97->bus->write(ac97, AC97_RESET, 0); /* reset audio codec */ + ac97->bus->ops->write(ac97, AC97_RESET, 0); /* reset audio codec */ } - ac97->bus->write(ac97, reg, value); + ac97->bus->ops->write(ac97, reg, value); } /** @@ -297,14 +302,14 @@ unsigned short snd_ac97_read(ac97_t *ac97, unsigned short reg) { if (!snd_ac97_valid_reg(ac97, reg)) return 0; - return ac97->bus->read(ac97, reg); + return ac97->bus->ops->read(ac97, reg); } /* read a register - return the cached value if already read */ static inline unsigned short snd_ac97_read_cache(ac97_t *ac97, unsigned short reg) { if (! test_bit(reg, ac97->reg_accessed)) { - ac97->regs[reg] = ac97->bus->read(ac97, reg); + ac97->regs[reg] = ac97->bus->ops->read(ac97, reg); // set_bit(reg, ac97->reg_accessed); } return ac97->regs[reg]; @@ -327,7 +332,7 @@ void snd_ac97_write_cache(ac97_t *ac97, unsigned short reg, unsigned short value spin_lock(&ac97->reg_lock); ac97->regs[reg] = value; spin_unlock(&ac97->reg_lock); - ac97->bus->write(ac97, reg, value); + ac97->bus->ops->write(ac97, reg, value); set_bit(reg, ac97->reg_accessed); } @@ -354,7 +359,7 @@ int snd_ac97_update(ac97_t *ac97, unsigned short reg, unsigned short value) if (change) { ac97->regs[reg] = value; spin_unlock(&ac97->reg_lock); - ac97->bus->write(ac97, reg, value); + ac97->bus->ops->write(ac97, reg, value); } else spin_unlock(&ac97->reg_lock); return change; @@ -387,7 +392,7 @@ int snd_ac97_update_bits(ac97_t *ac97, unsigned short reg, unsigned short mask, if (change) { ac97->regs[reg] = new; spin_unlock(&ac97->reg_lock); - ac97->bus->write(ac97, reg, new); + ac97->bus->ops->write(ac97, reg, new); } else spin_unlock(&ac97->reg_lock); return change; @@ -398,7 +403,7 @@ static int snd_ac97_ad18xx_update_pcm_bits(ac97_t *ac97, int codec, unsigned sho int change; unsigned short old, new, cfg; - down(&ac97->spec.ad18xx.mutex); + down(&ac97->mutex); spin_lock(&ac97->reg_lock); old = ac97->spec.ad18xx.pcmreg[codec]; new = (old & ~mask) | value; @@ -408,17 +413,17 @@ static int snd_ac97_ad18xx_update_pcm_bits(ac97_t *ac97, int codec, unsigned sho ac97->spec.ad18xx.pcmreg[codec] = new; spin_unlock(&ac97->reg_lock); /* select single codec */ - ac97->bus->write(ac97, AC97_AD_SERIAL_CFG, + ac97->bus->ops->write(ac97, AC97_AD_SERIAL_CFG, (cfg & ~0x7000) | ac97->spec.ad18xx.unchained[codec] | ac97->spec.ad18xx.chained[codec]); /* update PCM bits */ - ac97->bus->write(ac97, AC97_PCM, new); + ac97->bus->ops->write(ac97, AC97_PCM, new); /* select all codecs */ - ac97->bus->write(ac97, AC97_AD_SERIAL_CFG, + ac97->bus->ops->write(ac97, AC97_AD_SERIAL_CFG, cfg | 0x7000); } else spin_unlock(&ac97->reg_lock); - up(&ac97->spec.ad18xx.mutex); + up(&ac97->mutex); return change; } @@ -545,7 +550,7 @@ int snd_ac97_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontr int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; - int invert = (kcontrol->private_value >> 24) & 0xff; + int invert = (kcontrol->private_value >> 24) & 0x01; ucontrol->value.integer.value[0] = (snd_ac97_read_cache(ac97, reg) >> shift) & mask; if (invert) @@ -559,7 +564,7 @@ int snd_ac97_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontr int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; - int invert = (kcontrol->private_value >> 24) & 0xff; + int invert = (kcontrol->private_value >> 24) & 0x01; unsigned short val; val = (ucontrol->value.integer.value[0] & mask); @@ -625,6 +630,40 @@ static int snd_ac97_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * (val1 << shift_left) | (val2 << shift_right)); } +int snd_ac97_getput_page(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol, + int (*func)(snd_kcontrol_t *, snd_ctl_elem_value_t *)) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + int reg = kcontrol->private_value & 0xff; + int err; + + if ((ac97->ext_id & AC97_EI_REV_MASK) >= AC97_EI_REV_23 && + (reg >= 0x60 && reg < 0x70)) { + unsigned short page_save; + unsigned short page = (kcontrol->private_value >> 25) & 0x0f; + down(&ac97->mutex); /* lock paging */ + page_save = snd_ac97_read(ac97, AC97_INT_PAGING) & AC97_PAGE_MASK; + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page); + err = func(kcontrol, ucontrol); + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page_save); + up(&ac97->mutex); /* unlock paging */ + } else + err = func(kcontrol, ucontrol); + return err; +} + +/* for rev2.3 paging */ +int snd_ac97_page_get_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + return snd_ac97_getput_page(kcontrol, ucontrol, snd_ac97_get_single); +} + +/* for rev2.3 paging */ +int snd_ac97_page_put_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + return snd_ac97_getput_page(kcontrol, ucontrol, snd_ac97_put_single); +} + static const snd_kcontrol_new_t snd_ac97_controls_master_mono[2] = { AC97_SINGLE("Master Mono Playback Switch", AC97_MASTER_MONO, 15, 1, 1), AC97_SINGLE("Master Mono Playback Volume", AC97_MASTER_MONO, 0, 31, 1) @@ -1009,14 +1048,14 @@ static int snd_ac97_bus_free(ac97_bus_t *bus) kfree(bus->pcms); if (bus->private_free) bus->private_free(bus); - snd_magic_kfree(bus); + kfree(bus); } return 0; } static int snd_ac97_bus_dev_free(snd_device_t *device) { - ac97_bus_t *bus = snd_magic_cast(ac97_bus_t, device->device_data, return -ENXIO); + ac97_bus_t *bus = device->device_data; return snd_ac97_bus_free(bus); } @@ -1024,18 +1063,24 @@ static int snd_ac97_free(ac97_t *ac97) { if (ac97) { snd_ac97_proc_done(ac97); - if (ac97->bus) + if (ac97->bus) { ac97->bus->codec[ac97->num] = NULL; + if (ac97->bus->shared_type) { + down(&shared_codec_mutex); + shared_codec[ac97->bus->shared_type-1][ac97->num] = NULL; + up(&shared_codec_mutex); + } + } if (ac97->private_free) ac97->private_free(ac97); - snd_magic_kfree(ac97); + kfree(ac97); } return 0; } static int snd_ac97_dev_free(snd_device_t *device) { - ac97_t *ac97 = snd_magic_cast(ac97_t, device->device_data, return -ENXIO); + ac97_t *ac97 = device->device_data; snd_ac97_powerdown(ac97); /* for avoiding click noises during shut down */ return snd_ac97_free(ac97); } @@ -1120,6 +1165,7 @@ static void snd_ac97_change_volume_params1(ac97_t * ac97, int reg, unsigned char snd_ac97_write_cache(ac97, reg, 0x8000); } +/* check the volume resolution of center/lfe */ static void snd_ac97_change_volume_params2(ac97_t * ac97, int reg, int shift, unsigned char *max) { unsigned short val, val1; @@ -1135,6 +1181,7 @@ static void snd_ac97_change_volume_params2(ac97_t * ac97, int reg, int shift, un snd_ac97_write_cache(ac97, reg, 0x8080); } +/* check whether the volume resolution is 4 or 5 bits */ static void snd_ac97_change_volume_params3(ac97_t * ac97, int reg, unsigned char *max) { unsigned short val, val1; @@ -1150,6 +1197,18 @@ static void snd_ac97_change_volume_params3(ac97_t * ac97, int reg, unsigned char snd_ac97_write_cache(ac97, reg, 0x8000); } +/* check whether the volume is mono or stereo */ +static int snd_ac97_is_stereo_vol(ac97_t *ac97, int reg) +{ + unsigned short val, val1, val2; + val = snd_ac97_read(ac97, reg); + val1 = val | 0x8000 | (0x01 << 8); + snd_ac97_write(ac97, reg, val1); + val2 = snd_ac97_read(ac97, reg); + snd_ac97_write(ac97, reg, val); /* restore */ + return val1 == val2; +} + static inline int printable(unsigned int x) { x &= 0xff; @@ -1178,6 +1237,9 @@ static int snd_ac97_cmute_new(snd_card_t *card, char *name, int reg, ac97_t *ac9 snd_kcontrol_t *kctl; int stereo = 0; + if (! snd_ac97_valid_reg(ac97, reg)) + return 0; + if (ac97->flags & AC97_STEREO_MUTES) { /* check whether both mute bits work */ unsigned short val, val1; @@ -1208,6 +1270,9 @@ static int snd_ac97_cvol_new(snd_card_t *card, char *name, int reg, unsigned int int err; snd_kcontrol_new_t tmp = AC97_DOUBLE(name, reg, 8, 0, (unsigned int)max, 1); tmp.index = ac97->num; + + if (! snd_ac97_valid_reg(ac97, reg)) + return 0; if ((err = snd_ctl_add(card, snd_ctl_new1(&tmp, ac97))) < 0) return err; snd_ac97_write_cache(ac97, reg, @@ -1225,6 +1290,9 @@ static int snd_ac97_cmix_new(snd_card_t *card, const char *pfx, int reg, int che char name[44]; unsigned char max; + if (! snd_ac97_valid_reg(ac97, reg)) + return 0; + sprintf(name, "%s Switch", pfx); if ((err = snd_ac97_cmute_new(card, name, reg, ac97)) < 0) return err; @@ -1239,6 +1307,8 @@ static int snd_ac97_cmix_new(snd_card_t *card, const char *pfx, int reg, int che } +static unsigned int snd_ac97_determine_spdif_rates(ac97_t *ac97); + static int snd_ac97_mixer_build(ac97_t * ac97) { snd_card_t *card = ac97->bus->card; @@ -1293,11 +1363,8 @@ static int snd_ac97_mixer_build(ac97_t * ac97) } /* build headphone controls */ - if (snd_ac97_try_volume_mix(ac97, AC97_HEADPHONE) || ac97->id == AC97_ID_STAC9708) { - const char *name = ac97->id == AC97_ID_STAC9708 ? - "Sigmatel Surround Playback" : - "Headphone Playback"; - if ((err = snd_ac97_cmix_new(card, name, AC97_HEADPHONE, 1, ac97)) < 0) + if (snd_ac97_try_volume_mix(ac97, AC97_HEADPHONE)) { + if ((err = snd_ac97_cmix_new(card, "Headphone Playback", AC97_HEADPHONE, 1, ac97)) < 0) return err; } @@ -1332,7 +1399,8 @@ static int snd_ac97_mixer_build(ac97_t * ac97) for (idx = 0; idx < 2; idx++) if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_pc_beep[idx], ac97))) < 0) return err; - snd_ac97_write_cache(ac97, AC97_PC_BEEP, 0x801e); + snd_ac97_write_cache(ac97, AC97_PC_BEEP, + snd_ac97_read(ac97, AC97_PC_BEEP) | 0x801e); } /* build Phone controls */ @@ -1349,15 +1417,26 @@ static int snd_ac97_mixer_build(ac97_t * ac97) /* build MIC controls */ snd_ac97_change_volume_params3(ac97, AC97_MIC, &max); - for (idx = 0; idx < 3; idx++) { - if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_mic[idx], ac97))) < 0) + if (snd_ac97_is_stereo_vol(ac97, AC97_MIC)) { + /* build stereo mic */ + if ((err = snd_ac97_cmute_new(card, "Mic Playback Switch", AC97_MIC, ac97)) < 0) return err; - if (idx == 1) { // volume - kctl->private_value &= ~(0xff << 16); - kctl->private_value |= (int)max << 16; + if ((err = snd_ac97_cvol_new(card, "Mic Playback Volume", AC97_MIC, max, ac97)) < 0) + return err; + if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_controls_mic[2], ac97))) < 0) + return err; + } else { + /* build mono mic */ + for (idx = 0; idx < 3; idx++) { + if ((err = snd_ctl_add(card, kctl = snd_ac97_cnew(&snd_ac97_controls_mic[idx], ac97))) < 0) + return err; + if (idx == 1) { // volume + kctl->private_value &= ~(0xff << 16); + kctl->private_value |= (int)max << 16; + } } + snd_ac97_write_cache(ac97, AC97_MIC, 0x8000 | max); } - snd_ac97_write_cache(ac97, AC97_MIC, 0x8000 | max); /* build Line controls */ if ((err = snd_ac97_cmix_new(card, "Line Playback", AC97_LINE, 0, ac97)) < 0) @@ -1410,9 +1489,7 @@ static int snd_ac97_mixer_build(ac97_t * ac97) if ((err = snd_ac97_cmute_new(card, "PCM Playback Switch", AC97_PCM, ac97)) < 0) return err; /* FIXME: C-Media chips have no PCM volume!! */ - if (/*ac97->id == 0x434d4941 ||*/ - ac97->id == 0x434d4942 || - ac97->id == 0x434d4961) + if (ac97->id == AC97_ID_CM9739) snd_ac97_write_cache(ac97, AC97_PCM, 0x9f1f); else { if ((err = snd_ac97_cvol_new(card, "PCM Playback Volume", AC97_PCM, 31, ac97)) < 0) @@ -1423,8 +1500,10 @@ static int snd_ac97_mixer_build(ac97_t * ac97) /* build Capture controls */ if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_control_capture_src, ac97))) < 0) return err; - if ((err = snd_ac97_cmute_new(card, "Capture Switch", AC97_REC_GAIN, ac97)) < 0) - return err; + if (snd_ac97_try_bit(ac97, AC97_REC_GAIN, 15)) { + if ((err = snd_ac97_cmute_new(card, "Capture Switch", AC97_REC_GAIN, ac97)) < 0) + return err; + } if ((err = snd_ctl_add(card, snd_ac97_cnew(&snd_ac97_control_capture_vol, ac97))) < 0) return err; snd_ac97_write_cache(ac97, AC97_REC_SEL, 0x0000); @@ -1520,6 +1599,7 @@ static int snd_ac97_mixer_build(ac97_t * ac97) /* set default PCM S/PDIF params */ /* consumer,PCM audio,no copyright,no preemphasis,PCM coder,original,48000Hz */ snd_ac97_write_cache(ac97, AC97_SPDIF, 0x2a20); + ac97->rates[AC97_RATES_SPDIF] = snd_ac97_determine_spdif_rates(ac97); } ac97->spdif_status = SNDRV_PCM_DEFAULT_CON_SPDIF; } @@ -1672,10 +1752,10 @@ static int ac97_reset_wait(ac97_t *ac97, int timeout, int with_modem) */ /* test if we can write to the record gain volume register */ snd_ac97_write_cache(ac97, AC97_REC_GAIN, 0x8a05); - if (snd_ac97_read(ac97, AC97_REC_GAIN) == 0x8a05) + if ((snd_ac97_read(ac97, AC97_REC_GAIN) & 0x7fff) == 0x0a05) return 0; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/100); + schedule_timeout(1); } while (time_after_eq(end_time, jiffies)); return -ENODEV; } @@ -1683,45 +1763,47 @@ static int ac97_reset_wait(ac97_t *ac97, int timeout, int with_modem) /** * snd_ac97_bus - create an AC97 bus component * @card: the card instance - * @_bus: the template of AC97 bus, callbacks and - * the private data. + * @num: the bus number + * @ops: the bus callbacks table + * @private_data: private data pointer for the new instance * @rbus: the pointer to store the new AC97 bus instance. * * Creates an AC97 bus component. An ac97_bus_t instance is newly - * allocated and initialized from the template (_bus). + * allocated and initialized. * - * The template must include the valid callbacks (at least read and - * write), the bus number (num), and the private data (private_data). - * The other callbacks, wait and reset, are not mandatory. + * The ops table must include valid callbacks (at least read and + * write). The other callbacks, wait and reset, are not mandatory. * * The clock is set to 48000. If another clock is needed, set - * bus->clock manually. + * (*rbus)->clock manually. * * The AC97 bus instance is registered as a low-level device, so you don't * have to release it manually. * * Returns zero if successful, or a negative error code on failure. */ -int snd_ac97_bus(snd_card_t * card, ac97_bus_t * _bus, ac97_bus_t ** rbus) +int snd_ac97_bus(snd_card_t *card, int num, ac97_bus_ops_t *ops, + void *private_data, ac97_bus_t **rbus) { int err; ac97_bus_t *bus; - static snd_device_ops_t ops = { + static snd_device_ops_t dev_ops = { .dev_free = snd_ac97_bus_dev_free, }; snd_assert(card != NULL, return -EINVAL); - snd_assert(_bus != NULL && rbus != NULL, return -EINVAL); - bus = snd_magic_kmalloc(ac97_bus_t, 0, GFP_KERNEL); + snd_assert(rbus != NULL, return -EINVAL); + bus = kcalloc(1, sizeof(*bus), GFP_KERNEL); if (bus == NULL) return -ENOMEM; - *bus = *_bus; bus->card = card; - if (bus->clock == 0) - bus->clock = 48000; + bus->num = num; + bus->ops = ops; + bus->private_data = private_data; + bus->clock = 48000; spin_lock_init(&bus->bus_lock); snd_ac97_bus_proc_init(bus); - if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, bus, &ops)) < 0) { + if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, bus, &dev_ops)) < 0) { snd_ac97_bus_free(bus); return err; } @@ -1732,25 +1814,23 @@ int snd_ac97_bus(snd_card_t * card, ac97_bus_t * _bus, ac97_bus_t ** rbus) /** * snd_ac97_mixer - create an Codec97 component * @bus: the AC97 bus which codec is attached to - * @_ac97: the template of ac97, including index, callbacks and + * @template: the template of ac97, including index, callbacks and * the private data. * @rac97: the pointer to store the new ac97 instance. * * Creates an Codec97 component. An ac97_t instance is newly - * allocated and initialized from the template (_ac97). The codec + * allocated and initialized from the template. The codec * is then initialized by the standard procedure. * - * The template must include the valid callbacks (at least read and - * write), the codec number (num) and address (addr), and the private - * data (private_data). The other callbacks, wait and reset, are not - * mandatory. + * The template must include the codec number (num) and address (addr), + * and the private data (private_data). * * The ac97 instance is registered as a low-level device, so you don't * have to release it manually. * * Returns zero if successful, or a negative error code on failure. */ -int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) +int snd_ac97_mixer(ac97_bus_t *bus, ac97_template_t *template, ac97_t **rac97) { int err; ac97_t *ac97; @@ -1764,33 +1844,63 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) snd_assert(rac97 != NULL, return -EINVAL); *rac97 = NULL; - snd_assert(bus != NULL && _ac97 != NULL, return -EINVAL); - snd_assert(_ac97->num < 4 && bus->codec[_ac97->num] == NULL, return -EINVAL); + snd_assert(bus != NULL && template != NULL, return -EINVAL); + snd_assert(template->num < 4 && bus->codec[template->num] == NULL, return -EINVAL); + + snd_assert(bus->shared_type <= AC97_SHARED_TYPES, return -EINVAL); + if (bus->shared_type) { + /* already shared? */ + down(&shared_codec_mutex); + ac97 = shared_codec[bus->shared_type-1][template->num]; + if (ac97) { + if ((ac97_is_audio(ac97) && (template->scaps & AC97_SCAP_SKIP_AUDIO)) || + (ac97_is_modem(ac97) && (template->scaps & AC97_SCAP_SKIP_MODEM))) { + up(&shared_codec_mutex); + return -EACCES; /* skip this */ + } + } + up(&shared_codec_mutex); + } + card = bus->card; - ac97 = snd_magic_kmalloc(ac97_t, 0, GFP_KERNEL); + ac97 = kcalloc(1, sizeof(*ac97), GFP_KERNEL); if (ac97 == NULL) return -ENOMEM; - *ac97 = *_ac97; + ac97->private_data = template->private_data; + ac97->private_free = template->private_free; ac97->bus = bus; + ac97->pci = template->pci; + ac97->num = template->num; + ac97->addr = template->addr; + ac97->scaps = template->scaps; + ac97->limited_regs = template->limited_regs; + memcpy(ac97->reg_accessed, template->reg_accessed, sizeof(ac97->reg_accessed)); bus->codec[ac97->num] = ac97; spin_lock_init(&ac97->reg_lock); + init_MUTEX(&ac97->mutex); if (ac97->pci) { pci_read_config_word(ac97->pci, PCI_SUBSYSTEM_VENDOR_ID, &ac97->subsystem_vendor); pci_read_config_word(ac97->pci, PCI_SUBSYSTEM_ID, &ac97->subsystem_device); } - if (bus->reset) { - bus->reset(ac97); + if (bus->ops->reset) { + bus->ops->reset(ac97); goto __access_ok; } snd_ac97_write(ac97, AC97_RESET, 0); /* reset to defaults */ - if (bus->wait) - bus->wait(ac97); + if (bus->ops->wait) + bus->ops->wait(ac97); else { udelay(50); - if (ac97_reset_wait(ac97, HZ/2, 0) < 0 && - ac97_reset_wait(ac97, HZ/2, 1) < 0) { + if (ac97->scaps & AC97_SCAP_SKIP_AUDIO) + err = ac97_reset_wait(ac97, HZ/2, 1); + else { + err = ac97_reset_wait(ac97, HZ/2, 0); + if (err < 0) + err = ac97_reset_wait(ac97, HZ/2, 1); + } + if (err < 0) { snd_printk(KERN_WARNING "AC'97 %d does not respond - RESET\n", ac97->num); /* proceed anyway - it's often non-critical */ } @@ -1803,26 +1913,12 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) snd_ac97_free(ac97); return -EIO; } - /* AC97 audio codec chip revision detection. */ - /* Currently only Realtek ALC650 detection implemented. */ - switch(ac97->id & 0xfffffff0) { - case 0x414c4720: /* ALC650 */ - reg = snd_ac97_read(ac97, AC97_ALC650_REVISION); - if (((reg & 0x3f) >= 0) && ((reg & 0x3f) < 3)) - ac97->id = 0x414c4720; /* Old version */ - else if (((reg & 0x3f) >= 3) && ((reg & 0x3f) < 0x10)) - ac97->id = 0x414c4721; /* D version */ - else if ((reg&0x30) == 0x10) - ac97->id = 0x414c4722; /* E version */ - else if ((reg&0x30) == 0x20) - ac97->id = 0x414c4723; /* F version */ - } /* test for AC'97 */ if (!(ac97->scaps & AC97_SCAP_SKIP_AUDIO) && !(ac97->scaps & AC97_SCAP_AUDIO)) { /* test if we can write to the record gain volume register */ snd_ac97_write_cache(ac97, AC97_REC_GAIN, 0x8a06); - if ((err = snd_ac97_read(ac97, AC97_REC_GAIN)) == 0x8a06) + if (((err = snd_ac97_read(ac97, AC97_REC_GAIN)) & 0x7fff) == 0x0a06) ac97->scaps |= AC97_SCAP_AUDIO; } if (ac97->scaps & AC97_SCAP_AUDIO) { @@ -1848,7 +1944,7 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) return -EACCES; } - if (bus->reset) // FIXME: always skipping? + if (bus->ops->reset) // FIXME: always skipping? goto __ready_ok; /* FIXME: add powerdown control */ @@ -1865,9 +1961,9 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) if ((snd_ac97_read(ac97, AC97_POWERDOWN) & 0x0f) == 0x0f) goto __ready_ok; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + schedule_timeout(1); } while (time_after_eq(end_time, jiffies)); - snd_printk(KERN_ERR "AC'97 %d analog subsections not ready\n", ac97->num); + snd_printk(KERN_WARNING "AC'97 %d analog subsections not ready\n", ac97->num); } /* FIXME: add powerdown control */ @@ -1898,9 +1994,9 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) if ((snd_ac97_read(ac97, AC97_EXTENDED_MSTATUS) & tmp) == tmp) goto __ready_ok; set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/10); + schedule_timeout(1); } while (time_after_eq(end_time, jiffies)); - snd_printk(KERN_ERR "MC'97 %d converters and GPIO not ready (0x%x)\n", ac97->num, snd_ac97_read(ac97, AC97_EXTENDED_MSTATUS)); + snd_printk(KERN_WARNING "MC'97 %d converters and GPIO not ready (0x%x)\n", ac97->num, snd_ac97_read(ac97, AC97_EXTENDED_MSTATUS)); } __ready_ok: @@ -1919,12 +2015,7 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) } if (ac97->ext_id & AC97_EI_SPDIF) { /* codec specific code (patch) should override these values */ - if (ac97->flags & AC97_CS_SPDIF) - ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100; - else if (ac97->id == AC97_ID_CM9739) - ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000; - else - ac97->rates[AC97_RATES_SPDIF] = snd_ac97_determine_spdif_rates(ac97); + ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_32000; } if (ac97->ext_id & AC97_EI_VRM) { /* MIC VRA support */ snd_ac97_determine_rates(ac97, AC97_PCM_MIC_ADC_RATE, 0, &ac97->rates[AC97_RATES_MIC_ADC]); @@ -1940,10 +2031,10 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) ac97->scaps |= AC97_SCAP_CENTER_LFE_DAC; } /* additional initializations */ - if (bus->init) - bus->init(ac97); - snd_ac97_get_name(ac97, ac97->id, name, 0); - snd_ac97_get_name(NULL, ac97->id, name, 0); // ac97->id might be changed in the special setup code + if (bus->ops->init) + bus->ops->init(ac97); + snd_ac97_get_name(ac97, ac97->id, name, !ac97_is_audio(ac97)); + snd_ac97_get_name(NULL, ac97->id, name, !ac97_is_audio(ac97)); // ac97->id might be changed in the special setup code if (ac97_is_audio(ac97)) { if (card->mixername[0] == '\0') { strcpy(card->mixername, name); @@ -1995,6 +2086,13 @@ int snd_ac97_mixer(ac97_bus_t * bus, ac97_t * _ac97, ac97_t ** rac97) return err; } *rac97 = ac97; + + if (bus->shared_type) { + down(&shared_codec_mutex); + shared_codec[bus->shared_type-1][ac97->num] = ac97; + up(&shared_codec_mutex); + } + return 0; } @@ -2054,8 +2152,8 @@ void snd_ac97_resume(ac97_t *ac97) { int i, is_ad18xx, codec; - if (ac97->bus->reset) { - ac97->bus->reset(ac97); + if (ac97->bus->ops->reset) { + ac97->bus->ops->reset(ac97); goto __reset_ready; } @@ -2066,23 +2164,33 @@ void snd_ac97_resume(ac97_t *ac97) snd_ac97_write(ac97, AC97_GENERAL_PURPOSE, 0); snd_ac97_write(ac97, AC97_POWERDOWN, ac97->regs[AC97_POWERDOWN]); - ac97->bus->write(ac97, AC97_MASTER, 0x8101); - for (i = 0; i < 10; i++) { - if (snd_ac97_read(ac97, AC97_MASTER) == 0x8101) - break; - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(1); - } - /* FIXME: extra delay */ - ac97->bus->write(ac97, AC97_MASTER, 0x8000); - if (snd_ac97_read(ac97, AC97_MASTER) != 0x8000) { - set_current_state(TASK_UNINTERRUPTIBLE); - schedule_timeout(HZ/4); + if (ac97_is_audio(ac97)) { + ac97->bus->ops->write(ac97, AC97_MASTER, 0x8101); + for (i = HZ/10; i >= 0; i--) { + if (snd_ac97_read(ac97, AC97_MASTER) == 0x8101) + break; + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); + } + /* FIXME: extra delay */ + ac97->bus->ops->write(ac97, AC97_MASTER, 0x8000); + if (snd_ac97_read(ac97, AC97_MASTER) != 0x8000) { + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(HZ/4); + } + } else { + for (i = HZ/10; i >= 0; i--) { + unsigned short val = snd_ac97_read(ac97, AC97_EXTENDED_MID); + if (val != 0xffff && (val & 1) != 0) + break; + set_current_state(TASK_UNINTERRUPTIBLE); + schedule_timeout(1); + } } __reset_ready: - if (ac97->bus->init) - ac97->bus->init(ac97); + if (ac97->bus->ops->init) + ac97->bus->ops->init(ac97); is_ad18xx = (ac97->flags & AC97_AD_MULTI); if (is_ad18xx) { @@ -2093,7 +2201,7 @@ __reset_ready: /* select single codec */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, ac97->spec.ad18xx.unchained[codec] | ac97->spec.ad18xx.chained[codec]); - ac97->bus->write(ac97, AC97_AD_CODEC_CFG, ac97->spec.ad18xx.codec_cfg[codec]); + ac97->bus->ops->write(ac97, AC97_AD_CODEC_CFG, ac97->spec.ad18xx.codec_cfg[codec]); } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); @@ -2118,7 +2226,7 @@ __reset_ready: snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, ac97->spec.ad18xx.unchained[codec] | ac97->spec.ad18xx.chained[codec]); /* update PCM bits */ - ac97->bus->write(ac97, AC97_PCM, ac97->spec.ad18xx.pcmreg[codec]); + ac97->bus->ops->write(ac97, AC97_PCM, ac97->spec.ad18xx.pcmreg[codec]); } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); @@ -2151,42 +2259,57 @@ __reset_ready: /* */ -int snd_ac97_remove_ctl(ac97_t *ac97, const char *name) +static void set_ctl_name(char *dst, const char *src, const char *suffix) +{ + if (suffix) + sprintf(dst, "%s %s", src, suffix); + else + strcpy(dst, src); +} + +int snd_ac97_remove_ctl(ac97_t *ac97, const char *name, const char *suffix) { snd_ctl_elem_id_t id; memset(&id, 0, sizeof(id)); - strcpy(id.name, name); + set_ctl_name(id.name, name, suffix); id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; return snd_ctl_remove_id(ac97->bus->card, &id); } -static snd_kcontrol_t *ctl_find(ac97_t *ac97, const char *name) +static snd_kcontrol_t *ctl_find(ac97_t *ac97, const char *name, const char *suffix) { snd_ctl_elem_id_t sid; memset(&sid, 0, sizeof(sid)); - strcpy(sid.name, name); + set_ctl_name(sid.name, name, suffix); sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER; return snd_ctl_find_id(ac97->bus->card, &sid); } -int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst) +int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst, const char *suffix) { - snd_kcontrol_t *kctl = ctl_find(ac97, src); + snd_kcontrol_t *kctl = ctl_find(ac97, src, suffix); if (kctl) { - strcpy(kctl->id.name, dst); + set_ctl_name(kctl->id.name, dst, suffix); return 0; } return -ENOENT; } -int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2) +/* rename both Volume and Switch controls - don't check the return value */ +void snd_ac97_rename_vol_ctl(ac97_t *ac97, const char *src, const char *dst) +{ + snd_ac97_rename_ctl(ac97, src, dst, "Switch"); + snd_ac97_rename_ctl(ac97, src, dst, "Volume"); +} + +int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2, const char *suffix) { snd_kcontrol_t *kctl1, *kctl2; - kctl1 = ctl_find(ac97, s1); - kctl2 = ctl_find(ac97, s2); + kctl1 = ctl_find(ac97, s1, suffix); + kctl2 = ctl_find(ac97, s2, suffix); if (kctl1 && kctl2) { - strcpy(kctl1->id.name, s2); - strcpy(kctl2->id.name, s1); + set_ctl_name(kctl1->id.name, s2, suffix); + set_ctl_name(kctl2->id.name, s1, suffix); return 0; } return -ENOENT; @@ -2194,26 +2317,22 @@ int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2) static int swap_headphone(ac97_t *ac97, int remove_master) { - /* FIXME: error checks.. */ if (remove_master) { - if (ctl_find(ac97, "Headphone Playback Switch") == NULL) + if (ctl_find(ac97, "Headphone Playback Switch", NULL) == NULL) return 0; - snd_ac97_remove_ctl(ac97, "Master Playback Switch"); - snd_ac97_remove_ctl(ac97, "Master Playback Volume"); - } else { - snd_ac97_rename_ctl(ac97, "Master Playback Switch", "Line-Out Playback Switch"); - snd_ac97_rename_ctl(ac97, "Master Playback Volume", "Line-Out Playback Volume"); - } - snd_ac97_rename_ctl(ac97, "Headphone Playback Switch", "Master Playback Switch"); - snd_ac97_rename_ctl(ac97, "Headphone Playback Volume", "Master Playback Volume"); + snd_ac97_remove_ctl(ac97, "Master Playback", "Switch"); + snd_ac97_remove_ctl(ac97, "Master Playback", "Volume"); + } else + snd_ac97_rename_vol_ctl(ac97, "Master Playback", "Line-Out Playback"); + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Master Playback"); return 0; } static int swap_surround(ac97_t *ac97) { /* FIXME: error checks.. */ - snd_ac97_swap_ctl(ac97, "Master Playback Switch", "Surround Playback Switch"); - snd_ac97_swap_ctl(ac97, "Master Playback Volume", "Surround Playback Volume"); + snd_ac97_swap_ctl(ac97, "Master Playback", "Surround Playback", "Switch"); + snd_ac97_swap_ctl(ac97, "Master Playback", "Surround Playback", "Volume"); return 0; } diff --git a/sound/pci/ac97/ac97_local.h b/sound/pci/ac97/ac97_local.h index 838656f76..27d3236ee 100644 --- a/sound/pci/ac97/ac97_local.h +++ b/sound/pci/ac97/ac97_local.h @@ -23,10 +23,15 @@ */ #define AC97_SINGLE_VALUE(reg,shift,mask,invert) ((reg) | ((shift) << 8) | ((mask) << 16) | ((invert) << 24)) +#define AC97_PAGE_SINGLE_VALUE(reg,shift,mask,invert,page) ((reg) | ((shift) << 8) | ((mask) << 16) | ((invert) << 24) | ((page) << 25)) #define AC97_SINGLE(xname, reg, shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_single, \ .get = snd_ac97_get_single, .put = snd_ac97_put_single, \ .private_value = AC97_SINGLE_VALUE(reg, shift, mask, invert) } +#define AC97_PAGE_SINGLE(xname, reg, shift, mask, invert, page) \ +{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .info = snd_ac97_info_single, \ + .get = snd_ac97_page_get_single, .put = snd_ac97_page_put_single, \ + .private_value = AC97_PAGE_SINGLE_VALUE(reg, shift, mask, invert, page) } /* ac97_codec.c */ extern const char *snd_ac97_stereo_enhancements[]; @@ -37,10 +42,13 @@ void snd_ac97_get_name(ac97_t *ac97, unsigned int id, char *name, int modem); int snd_ac97_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo); int snd_ac97_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); int snd_ac97_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); +int snd_ac97_page_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); +int snd_ac97_page_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol); int snd_ac97_try_bit(ac97_t * ac97, int reg, int bit); -int snd_ac97_remove_ctl(ac97_t *ac97, const char *name); -int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst); -int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2); +int snd_ac97_remove_ctl(ac97_t *ac97, const char *name, const char *suffix); +int snd_ac97_rename_ctl(ac97_t *ac97, const char *src, const char *dst, const char *suffix); +int snd_ac97_swap_ctl(ac97_t *ac97, const char *s1, const char *s2, const char *suffix); +void snd_ac97_rename_vol_ctl(ac97_t *ac97, const char *src, const char *dst); /* ac97_proc.c */ void snd_ac97_bus_proc_init(ac97_bus_t * ac97); diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c index 85124051e..1ad062a19 100644 --- a/sound/pci/ac97/ac97_patch.c +++ b/sound/pci/ac97/ac97_patch.c @@ -35,8 +35,6 @@ #include "ac97_id.h" #include "ac97_local.h" -#define chip_t ac97_t - /* * Chip specific initialization */ @@ -51,6 +49,21 @@ static int patch_build_controls(ac97_t * ac97, const snd_kcontrol_new_t *control return 0; } +/* set to the page, update bits and restore the page */ +static int ac97_update_bits_page(ac97_t *ac97, unsigned short reg, unsigned short mask, unsigned short value, unsigned short page) +{ + unsigned short page_save; + int ret; + + down(&ac97->mutex); + page_save = snd_ac97_read(ac97, AC97_INT_PAGING) & AC97_PAGE_MASK; + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page); + ret = snd_ac97_update_bits(ac97, reg, mask, value); + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, page_save); + up(&ac97->mutex); /* unlock paging */ + return ret; +} + /* The following snd_ac97_ymf753_... items added by David Shust (dshust@shustring.com) */ /* It is possible to indicate to the Yamaha YMF753 the type of speakers being used. */ @@ -204,7 +217,7 @@ static int patch_yamaha_ymf753_3d(ac97_t * ac97) if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control - Wide"); - kctl->private_value = AC97_3D_CONTROL | (9 << 8) | (7 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 9, 7, 0); snd_ac97_write_cache(ac97, AC97_3D_CONTROL, 0x0000); if ((err = snd_ctl_add(ac97->bus->card, snd_ac97_cnew(&snd_ac97_ymf753_controls_speaker, ac97))) < 0) return err; @@ -315,7 +328,7 @@ static int patch_sigmatel_stac9700_3d(ac97_t * ac97) if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control Sigmatel - Depth"); - kctl->private_value = AC97_3D_CONTROL | (3 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 2, 3, 0); snd_ac97_write_cache(ac97, AC97_3D_CONTROL, 0x0000); return 0; } @@ -328,11 +341,11 @@ static int patch_sigmatel_stac9708_3d(ac97_t * ac97) if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control Sigmatel - Depth"); - kctl->private_value = AC97_3D_CONTROL | (3 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 0, 3, 0); if ((err = snd_ctl_add(ac97->bus->card, kctl = snd_ac97_cnew(&snd_ac97_controls_3d[0], ac97))) < 0) return err; strcpy(kctl->id.name, "3D Control Sigmatel - Rear Depth"); - kctl->private_value = AC97_3D_CONTROL | (2 << 8) | (3 << 16); + kctl->private_value = AC97_SINGLE_VALUE(AC97_3D_CONTROL, 2, 3, 0); snd_ac97_write_cache(ac97, AC97_3D_CONTROL, 0x0000); return 0; } @@ -373,22 +386,29 @@ static struct snd_ac97_build_ops patch_sigmatel_stac9700_ops = { .build_specific = patch_sigmatel_stac97xx_specific }; -static struct snd_ac97_build_ops patch_sigmatel_stac9708_ops = { - .build_3d = patch_sigmatel_stac9708_3d, - .build_specific = patch_sigmatel_stac97xx_specific -}; - int patch_sigmatel_stac9700(ac97_t * ac97) { ac97->build_ops = &patch_sigmatel_stac9700_ops; return 0; } +static int patch_sigmatel_stac9708_specific(ac97_t *ac97) +{ + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Sigmatel Surround Playback"); + return patch_sigmatel_stac97xx_specific(ac97); +} + +static struct snd_ac97_build_ops patch_sigmatel_stac9708_ops = { + .build_3d = patch_sigmatel_stac9708_3d, + .build_specific = patch_sigmatel_stac9708_specific +}; + int patch_sigmatel_stac9708(ac97_t * ac97) { unsigned int codec72, codec6c; ac97->build_ops = &patch_sigmatel_stac9708_ops; + ac97->caps |= 0x10; /* HP (sigmatel surround) support */ codec72 = snd_ac97_read(ac97, AC97_SIGMATEL_BIAS2) & 0x8000; codec6c = snd_ac97_read(ac97, AC97_SIGMATEL_ANALOG); @@ -467,11 +487,11 @@ static int snd_ac97_stac9758_output_jack_get(snd_kcontrol_t *kcontrol, snd_ctl_e int shift = kcontrol->private_value; unsigned short val; - val = ac97->regs[AC97_SIGMATEL_OUTSEL]; - if (!((val >> shift) & 4)) + val = ac97->regs[AC97_SIGMATEL_OUTSEL] >> shift; + if (!(val & 4)) ucontrol->value.enumerated.item[0] = 0; else - ucontrol->value.enumerated.item[0] = 1 + ((val >> shift) & 3); + ucontrol->value.enumerated.item[0] = 1 + (val & 3); return 0; } @@ -487,8 +507,8 @@ static int snd_ac97_stac9758_output_jack_put(snd_kcontrol_t *kcontrol, snd_ctl_e val = 0; else val = 4 | (ucontrol->value.enumerated.item[0] - 1); - return snd_ac97_update_bits(ac97, AC97_SIGMATEL_OUTSEL, - 7 << shift, val << shift); + return ac97_update_bits_page(ac97, AC97_SIGMATEL_OUTSEL, + 7 << shift, val << shift, 0); } static int snd_ac97_stac9758_input_jack_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) @@ -521,8 +541,8 @@ static int snd_ac97_stac9758_input_jack_put(snd_kcontrol_t *kcontrol, snd_ctl_el ac97_t *ac97 = snd_kcontrol_chip(kcontrol); int shift = kcontrol->private_value; - return snd_ac97_update_bits(ac97, AC97_SIGMATEL_INSEL, 7 << shift, - ucontrol->value.enumerated.item[0] << shift); + return ac97_update_bits_page(ac97, AC97_SIGMATEL_INSEL, 7 << shift, + ucontrol->value.enumerated.item[0] << shift, 0); } static int snd_ac97_stac9758_phonesel_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) @@ -550,8 +570,8 @@ static int snd_ac97_stac9758_phonesel_put(snd_kcontrol_t *kcontrol, snd_ctl_elem { ac97_t *ac97 = snd_kcontrol_chip(kcontrol); - return snd_ac97_update_bits(ac97, AC97_SIGMATEL_IOMISC, 3, - ucontrol->value.enumerated.item[0]); + return ac97_update_bits_page(ac97, AC97_SIGMATEL_IOMISC, 3, + ucontrol->value.enumerated.item[0], 0); } #define STAC9758_OUTPUT_JACK(xname, shift) \ @@ -596,6 +616,14 @@ static int patch_sigmatel_stac9758_specific(ac97_t *ac97) ARRAY_SIZE(snd_ac97_sigmatel_stac9758_controls)); if (err < 0) return err; + /* DAC-A direct */ + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Front Playback"); + /* DAC-A to Mix = PCM */ + /* DAC-B direct = Surround */ + /* DAC-B to Mix */ + snd_ac97_rename_vol_ctl(ac97, "Video Playback", "Surround Mix Playback"); + /* DAC-C direct = Center/LFE */ + return 0; } @@ -613,16 +641,16 @@ int patch_sigmatel_stac9758(ac97_t * ac97) AC97_SIGMATEL_VARIOUS }; static unsigned short def_regs[4] = { - /* OUTSEL */ 0xd794, + /* OUTSEL */ 0xd794, /* CL:CL, SR:SR, LO:MX, LI:DS, MI:DS */ /* IOMISC */ 0x2001, - /* INSEL */ 0x0201, + /* INSEL */ 0x0201, /* LI:LI, MI:M1 */ /* VARIOUS */ 0x0040 }; static unsigned short m675_regs[4] = { - /* OUTSEL */ 0x9040, - /* IOMISC */ 0x2102, - /* INSEL */ 0x0203, - /* VARIOUS */ 0x0041 + /* OUTSEL */ 0xfc70, /* CL:MX, SR:MX, LO:DS, LI:MX, MI:DS */ + /* IOMISC */ 0x2102, /* HP amp on */ + /* INSEL */ 0x0203, /* LI:LI, MI:FR */ + /* VARIOUS */ 0x0041 /* stereo mic */ }; unsigned short *pregs = def_regs; int i; @@ -635,6 +663,8 @@ int patch_sigmatel_stac9758(ac97_t * ac97) // patch for SigmaTel ac97->build_ops = &patch_sigmatel_stac9758_ops; + /* FIXME: assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); for (i = 0; i < 4; i++) snd_ac97_write_cache(ac97, regs[i], pregs[i]); @@ -654,8 +684,10 @@ static int patch_cirrus_build_spdif(ac97_t * ac97) { int err; + /* con mask, pro mask, default */ if ((err = patch_build_controls(ac97, &snd_ac97_controls_spdif[0], 3)) < 0) return err; + /* switch, spsa */ if ((err = patch_build_controls(ac97, &snd_ac97_cirrus_controls_spdif[0], 1)) < 0) return err; switch (ac97->id & AC97_ID_CS_MASK) { @@ -714,8 +746,10 @@ static int patch_conexant_build_spdif(ac97_t * ac97) { int err; + /* con mask, pro mask, default */ if ((err = patch_build_controls(ac97, &snd_ac97_controls_spdif[0], 3)) < 0) return err; + /* switch */ if ((err = patch_build_controls(ac97, &snd_ac97_conexant_controls_spdif[0], 1)) < 0) return err; /* set default PCM S/PDIF params */ @@ -734,6 +768,7 @@ int patch_conexant(ac97_t * ac97) ac97->build_ops = &patch_conexant_ops; ac97->flags |= AC97_CX_SPDIF; ac97->ext_id |= AC97_EI_SPDIF; /* force the detection of spdif */ + ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000; /* 48k only */ return 0; } @@ -821,8 +856,6 @@ int patch_ad1881(ac97_t * ac97) unsigned short val; int idx, num; - init_MUTEX(&ac97->spec.ad18xx.mutex); - val = snd_ac97_read(ac97, AC97_AD_SERIAL_CFG); snd_ac97_write_cache(ac97, AC97_AD_SERIAL_CFG, val); codecs[0] = patch_ad1881_unchained(ac97, 0, (1<<12)); @@ -872,6 +905,8 @@ static const snd_kcontrol_new_t snd_ac97_controls_ad1885[] = { /* AC97_SINGLE("Digital Audio Mode", AC97_AD_MISC, 12, 1, 0), */ /* seems problematic */ AC97_SINGLE("Low Power Mixer", AC97_AD_MISC, 14, 1, 0), AC97_SINGLE("Zero Fill DAC", AC97_AD_MISC, 15, 1, 0), + AC97_SINGLE("Headphone Jack Sense", AC97_AD_JACK_SPDIF, 9, 1, 1), /* inverted */ + AC97_SINGLE("Line Jack Sense", AC97_AD_JACK_SPDIF, 8, 1, 1), /* inverted */ }; static int patch_ad1885_specific(ac97_t * ac97) @@ -889,16 +924,10 @@ static struct snd_ac97_build_ops patch_ad1885_build_ops = { int patch_ad1885(ac97_t * ac97) { - unsigned short jack; - patch_ad1881(ac97); /* This is required to deal with the Intel D815EEAL2 */ /* i.e. Line out is actually headphone out from codec */ - /* turn off jack sense bits D8 & D9 */ - jack = snd_ac97_read(ac97, AC97_AD_JACK_SPDIF); - snd_ac97_write_cache(ac97, AC97_AD_JACK_SPDIF, jack | 0x0300); - /* set default */ snd_ac97_write_cache(ac97, AC97_AD_MISC, 0x0404); @@ -1114,10 +1143,8 @@ static const snd_kcontrol_new_t snd_ac97_ad1888_controls[] = { static int patch_ad1888_specific(ac97_t *ac97) { /* rename 0x04 as "Master" and 0x02 as "Master Surround" */ - snd_ac97_rename_ctl(ac97, "Master Playback Switch", "Master Surround Playback Switch"); - snd_ac97_rename_ctl(ac97, "Master Playback Volume", "Master Surround Playback Volume"); - snd_ac97_rename_ctl(ac97, "Headphone Playback Switch", "Master Playback Switch"); - snd_ac97_rename_ctl(ac97, "Headphone Playback Volume", "Master Playback Volume"); + snd_ac97_rename_vol_ctl(ac97, "Master Playback", "Master Surround Playback"); + snd_ac97_rename_vol_ctl(ac97, "Headphone Playback", "Master Playback"); return patch_build_controls(ac97, snd_ac97_ad1888_controls, ARRAY_SIZE(snd_ac97_ad1888_controls)); } @@ -1213,7 +1240,7 @@ int patch_ad1985(ac97_t * ac97) } /* - * realtek ALC65x codecs + * realtek ALC65x/850 codecs */ static int snd_ac97_alc650_mic_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) { @@ -1303,6 +1330,17 @@ int patch_alc650(ac97_t * ac97) ac97->build_ops = &patch_alc650_ops; + /* determine the revision */ + val = snd_ac97_read(ac97, AC97_ALC650_REVISION) & 0x3f; + if (val < 3) + ac97->id = 0x414c4720; /* Old version */ + else if (val < 0x10) + ac97->id = 0x414c4721; /* D version */ + else if (val < 0x20) + ac97->id = 0x414c4722; /* E version */ + else if (val < 0x30) + ac97->id = 0x414c4723; /* F version */ + /* revision E or F */ /* FIXME: what about revision D ? */ ac97->spec.dev_flags = (ac97->id == 0x414c4722 || @@ -1351,20 +1389,19 @@ static int snd_ac97_alc655_mic_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_ static int snd_ac97_alc655_mic_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) { ac97_t *ac97 = snd_kcontrol_chip(kcontrol); - int change; /* misc control; vrefout disable */ snd_ac97_update_bits(ac97, AC97_ALC650_CLOCK, 1 << 12, ucontrol->value.integer.value[0] ? (1 << 12) : 0); - change = snd_ac97_update_bits(ac97, AC97_ALC650_MULTICH, 1 << 10, - ucontrol->value.integer.value[0] ? (1 << 10) : 0); - return change; + return ac97_update_bits_page(ac97, AC97_ALC650_MULTICH, 1 << 10, + ucontrol->value.integer.value[0] ? (1 << 10) : 0, + 0); } static const snd_kcontrol_new_t snd_ac97_controls_alc655[] = { - AC97_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0), - AC97_SINGLE("Line-In As Surround", AC97_ALC650_MULTICH, 9, 1, 0), + AC97_PAGE_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0, 0), + AC97_PAGE_SINGLE("Line-In As Surround", AC97_ALC650_MULTICH, 9, 1, 0, 0), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "Mic As Center/LFE", @@ -1391,7 +1428,6 @@ static int alc655_iec958_route_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_ texts_658[uinfo->value.enumerated.item] : texts_655[uinfo->value.enumerated.item]); return 0; - } static int alc655_iec958_route_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) @@ -1410,13 +1446,15 @@ static int alc655_iec958_route_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_ static int alc655_iec958_route_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ac97_t *ac97 = snd_kcontrol_chip(kcontrol); - return snd_ac97_update_bits(ac97, AC97_ALC650_MULTICH, 3 << 12, - (unsigned short)ucontrol->value.enumerated.item[0]); + + return ac97_update_bits_page(ac97, AC97_ALC650_MULTICH, 3 << 12, + (unsigned short)ucontrol->value.enumerated.item[0], + 0); } static const snd_kcontrol_new_t snd_ac97_spdif_controls_alc655[] = { - AC97_SINGLE("IEC958 Capture Switch", AC97_ALC650_MULTICH, 11, 1, 0), - AC97_SINGLE("IEC958 Input Monitor", AC97_ALC650_MULTICH, 14, 1, 0), + AC97_PAGE_SINGLE("IEC958 Capture Switch", AC97_ALC650_MULTICH, 11, 1, 0, 0), + AC97_PAGE_SINGLE("IEC958 Input Monitor", AC97_ALC650_MULTICH, 14, 1, 0, 0), { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "IEC958 Playback Route", @@ -1451,6 +1489,9 @@ int patch_alc655(ac97_t * ac97) ac97->build_ops = &patch_alc655_ops; + /* assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); + /* adjust default values */ val = snd_ac97_read(ac97, 0x7a); /* misc control */ val |= (1 << 1); /* spdif input pin */ @@ -1469,6 +1510,120 @@ int patch_alc655(ac97_t * ac97) return 0; } + +#define AC97_ALC850_JACK_SELECT 0x76 +#define AC97_ALC850_MISC1 0x7a + +static int ac97_alc850_surround_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + ucontrol->value.integer.value[0] = ((ac97->regs[AC97_ALC850_JACK_SELECT] >> 12) & 7) == 2; + return 0; +} + +static int ac97_alc850_surround_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + + /* SURR 1kOhm (bit4), Amp (bit5) */ + snd_ac97_update_bits(ac97, AC97_ALC850_MISC1, (1<<4)|(1<<5), + ucontrol->value.integer.value[0] ? (1<<5) : (1<<4)); + /* LINE-IN = 0, SURROUND = 2 */ + return snd_ac97_update_bits(ac97, AC97_ALC850_JACK_SELECT, 7 << 12, + ucontrol->value.integer.value[0] ? (2<<12) : (0<<12)); +} + +static int ac97_alc850_mic_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + ucontrol->value.integer.value[0] = ((ac97->regs[AC97_ALC850_JACK_SELECT] >> 4) & 7) == 2; + return 0; +} + +static int ac97_alc850_mic_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t * ucontrol) +{ + ac97_t *ac97 = snd_kcontrol_chip(kcontrol); + + /* Vref disable (bit12), 1kOhm (bit13) */ + snd_ac97_update_bits(ac97, AC97_ALC850_MISC1, (1<<12)|(1<<13), + ucontrol->value.integer.value[0] ? (1<<12) : (1<<13)); + /* MIC-IN = 1, CENTER-LFE = 2 */ + return snd_ac97_update_bits(ac97, AC97_ALC850_JACK_SELECT, 7 << 4, + ucontrol->value.integer.value[0] ? (2<<4) : (1<<4)); +} + +static const snd_kcontrol_new_t snd_ac97_controls_alc850[] = { + AC97_PAGE_SINGLE("Duplicate Front", AC97_ALC650_MULTICH, 0, 1, 0, 0), + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Line-In As Surround", + .info = snd_ac97_info_single, + .get = ac97_alc850_surround_get, + .put = ac97_alc850_surround_put, + .private_value = AC97_SINGLE_VALUE(0, 0, 1, 0) /* only mask needed */ + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Mic As Center/LFE", + .info = snd_ac97_info_single, + .get = ac97_alc850_mic_get, + .put = ac97_alc850_mic_put, + .private_value = AC97_SINGLE_VALUE(0, 0, 1, 0) /* only mask needed */ + }, + +}; + +static int patch_alc850_specific(ac97_t *ac97) +{ + int err; + + if ((err = patch_build_controls(ac97, snd_ac97_controls_alc850, ARRAY_SIZE(snd_ac97_controls_alc850))) < 0) + return err; + if (ac97->ext_id & AC97_EI_SPDIF) { + if ((err = patch_build_controls(ac97, snd_ac97_spdif_controls_alc655, ARRAY_SIZE(snd_ac97_spdif_controls_alc655))) < 0) + return err; + } + return 0; +} + +static struct snd_ac97_build_ops patch_alc850_ops = { + .build_specific = patch_alc850_specific +}; + +int patch_alc850(ac97_t *ac97) +{ + ac97->build_ops = &patch_alc850_ops; + + ac97->spec.dev_flags = 0; /* for IEC958 playback route - ALC655 compatible */ + + /* assume only page 0 for writing cache */ + snd_ac97_update_bits(ac97, AC97_INT_PAGING, AC97_PAGE_MASK, AC97_PAGE_VENDOR); + + /* adjust default values */ + /* set default: spdif-in enabled, + spdif-in monitor off, spdif-in PCM off + center on mic off, surround on line-in off + duplicate front off + */ + snd_ac97_write_cache(ac97, AC97_ALC650_MULTICH, 1<<15); + /* SURR_OUT: on, Surr 1kOhm: on, Surr Amp: off, Front 1kOhm: off + * Front Amp: on, Vref: enable, Center 1kOhm: on, Mix: on + */ + snd_ac97_write_cache(ac97, 0x7a, (1<<1)|(1<<4)|(0<<5)|(1<<6)| + (1<<7)|(0<<12)|(1<<13)|(0<<14)); + /* detection UIO2,3: all path floating, UIO3: MIC, Vref2: disable, + * UIO1: FRONT, Vref3: disable, UIO3: LINE, Front-Mic: mute + */ + snd_ac97_write_cache(ac97, 0x76, (0<<0)|(0<<2)|(1<<4)|(1<<7)|(2<<8)| + (1<<11)|(0<<12)|(1<<15)); + + /* full DAC volume */ + snd_ac97_write_cache(ac97, AC97_ALC650_SURR_DAC_VOL, 0x0808); + snd_ac97_write_cache(ac97, AC97_ALC650_LFE_DAC_VOL, 0x0808); + return 0; +} + + /* * C-Media CM97xx codecs */ @@ -1599,8 +1754,10 @@ int patch_cm9739(ac97_t * ac97) /* enable spdif in */ snd_ac97_write_cache(ac97, AC97_CM9739_SPDIF_CTRL, snd_ac97_read(ac97, AC97_CM9739_SPDIF_CTRL) | 0x01); + ac97->rates[AC97_RATES_SPDIF] = SNDRV_PCM_RATE_48000; /* 48k only */ } else { ac97->ext_id &= ~AC97_EI_SPDIF; /* disable extended-id */ + ac97->rates[AC97_RATES_SPDIF] = 0; } /* set-up multi channel */ diff --git a/sound/pci/ac97/ac97_pcm.c b/sound/pci/ac97/ac97_pcm.c index 11e80ef23..04f3b6096 100644 --- a/sound/pci/ac97/ac97_pcm.c +++ b/sound/pci/ac97/ac97_pcm.c @@ -36,8 +36,6 @@ #include "ac97_id.h" #include "ac97_local.h" -#define chip_t ac97_t - /* * PCM support */ @@ -430,7 +428,7 @@ int snd_ac97_pcm_assign(ac97_bus_t *bus, unsigned int rates; ac97_t *codec; - rpcms = snd_kcalloc(sizeof(struct ac97_pcm) * pcms_count, GFP_KERNEL); + rpcms = kcalloc(pcms_count, sizeof(struct ac97_pcm), GFP_KERNEL); if (rpcms == NULL) return -ENOMEM; memset(avail_slots, 0, sizeof(avail_slots)); @@ -489,7 +487,10 @@ int snd_ac97_pcm_assign(ac97_bus_t *bus, rpcm->r[0].rslots[j] = tmp; rpcm->r[0].codec[j] = bus->codec[j]; rpcm->r[0].rate_table[j] = rate_table[pcm->stream][j]; - rates = get_rates(rpcm, j, tmp, 0); + if (bus->no_vra) + rates = SNDRV_PCM_RATE_48000; + else + rates = get_rates(rpcm, j, tmp, 0); if (pcm->exclusive) avail_slots[pcm->stream][j] &= ~tmp; } diff --git a/sound/pci/ac97/ac97_proc.c b/sound/pci/ac97/ac97_proc.c index 40b3e9fd8..007a4b8d0 100644 --- a/sound/pci/ac97/ac97_proc.c +++ b/sound/pci/ac97/ac97_proc.c @@ -290,11 +290,11 @@ static void snd_ac97_proc_read_main(ac97_t *ac97, snd_info_buffer_t * buffer, in static void snd_ac97_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ac97_t *ac97 = snd_magic_cast(ac97_t, entry->private_data, return); + ac97_t *ac97 = entry->private_data; + down(&ac97->mutex); if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) { // Analog Devices AD1881/85/86 int idx; - down(&ac97->spec.ad18xx.mutex); for (idx = 0; idx < 3; idx++) if (ac97->spec.ad18xx.id[idx]) { /* select single codec */ @@ -305,7 +305,6 @@ static void snd_ac97_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buff } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); - up(&ac97->spec.ad18xx.mutex); snd_iprintf(buffer, "\nAD18XX configuration\n"); snd_iprintf(buffer, "Unchained : 0x%04x,0x%04x,0x%04x\n", @@ -319,22 +318,25 @@ static void snd_ac97_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buff } else { snd_ac97_proc_read_main(ac97, buffer, 0); } + up(&ac97->mutex); } #ifdef CONFIG_SND_DEBUG /* direct register write for debugging */ static void snd_ac97_proc_regs_write(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - ac97_t *ac97 = snd_magic_cast(ac97_t, entry->private_data, return); + ac97_t *ac97 = entry->private_data; char line[64]; unsigned int reg, val; + down(&ac97->mutex); while (!snd_info_get_line(buffer, line, sizeof(line))) { if (sscanf(line, "%x %x", ®, &val) != 2) continue; - /* register must be odd */ + /* register must be even */ if (reg < 0x80 && (reg & 1) == 0 && val <= 0xffff) snd_ac97_write_cache(ac97, reg, val); } + up(&ac97->mutex); } #endif @@ -351,12 +353,12 @@ static void snd_ac97_proc_regs_read_main(ac97_t *ac97, snd_info_buffer_t * buffe static void snd_ac97_proc_regs_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ac97_t *ac97 = snd_magic_cast(ac97_t, entry->private_data, return); + ac97_t *ac97 = entry->private_data; + down(&ac97->mutex); if ((ac97->id & 0xffffff40) == AC97_ID_AD1881) { // Analog Devices AD1881/85/86 int idx; - down(&ac97->spec.ad18xx.mutex); for (idx = 0; idx < 3; idx++) if (ac97->spec.ad18xx.id[idx]) { /* select single codec */ @@ -366,10 +368,10 @@ static void snd_ac97_proc_regs_read(snd_info_entry_t *entry, } /* select all codecs */ snd_ac97_update_bits(ac97, AC97_AD_SERIAL_CFG, 0x7000, 0x7000); - up(&ac97->spec.ad18xx.mutex); } else { snd_ac97_proc_regs_read_main(ac97, buffer, 0); } + up(&ac97->mutex); } void snd_ac97_proc_init(ac97_t * ac97) diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c index 670b10680..e97e48894 100644 --- a/sound/pci/ali5451/ali5451.c +++ b/sound/pci/ali5451/ali5451.c @@ -43,8 +43,7 @@ MODULE_AUTHOR("Matt Wu "); MODULE_DESCRIPTION("ALI M5451"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ALI,M5451,pci},{ALI,M5451}}"); +MODULE_SUPPORTED_DEVICE("{{ALI,M5451,pci},{ALI,M5451}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -55,19 +54,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ALI M5451 PCI Audio."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ALI M5451 PCI Audio."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ALI 5451 PCI Audio."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "PCM Channels"); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",default:32,allows:{{1,32}}"); module_param_array(spdif, bool, boot_devs, 0444); MODULE_PARM_DESC(spdif, "Support SPDIF I/O"); -MODULE_PARM_SYNTAX(spdif, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); /* * Debug part definitions @@ -171,7 +165,6 @@ MODULE_PARM_SYNTAX(spdif, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); typedef struct snd_stru_ali ali_t; typedef struct snd_ali_stru_voice snd_ali_voice_t; -#define chip_t ali_t typedef struct snd_ali_channel_control { // register data @@ -247,7 +240,6 @@ struct snd_stru_ali { unsigned int hw_initialized: 1; unsigned int spdif_support: 1; - struct resource *res_port; struct pci_dev *pci; struct pci_dev *pci_m1533; @@ -495,7 +487,7 @@ static void snd_ali_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val ) { - ali_t *codec = snd_magic_cast(ali_t, ac97->private_data, return); + ali_t *codec = ac97->private_data; snd_ali_printk("codec_write: reg=%xh data=%xh.\n", reg, val); snd_ali_codec_poke(codec, 0, reg, val); @@ -505,7 +497,7 @@ static void snd_ali_codec_write(ac97_t *ac97, static unsigned short snd_ali_codec_read(ac97_t *ac97, unsigned short reg) { - ali_t *codec = snd_magic_cast(ali_t, ac97->private_data, return -ENXIO); + ali_t *codec = ac97->private_data; snd_ali_printk("codec_read reg=%xh.\n", reg); return (snd_ali_codec_peek(codec, 0, reg)); @@ -1051,7 +1043,7 @@ static irqreturn_t snd_ali_card_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ali_t *codec = snd_magic_cast(ali_t, dev_id, return IRQ_NONE); + ali_t *codec = dev_id; if (codec == NULL) return IRQ_NONE; @@ -1247,7 +1239,7 @@ static int snd_ali_trigger(snd_pcm_substream_t *substream, what = whati = capture_flag = 0; snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if ((ali_t *) _snd_pcm_chip(s->pcm) == codec) { + if ((ali_t *) snd_pcm_substream_chip(s) == codec) { pvoice = (snd_ali_voice_t *) s->runtime->private_data; evoice = pvoice->extra; what |= 1 << (pvoice->number & 0x1f); @@ -1528,16 +1520,15 @@ static snd_pcm_uframes_t snd_ali_playback_pointer(snd_pcm_substream_t *substream snd_pcm_runtime_t *runtime = substream->runtime; snd_ali_voice_t *pvoice = (snd_ali_voice_t *) runtime->private_data; unsigned int cso; - unsigned long flags; - spin_lock_irqsave(&codec->reg_lock, flags); + spin_lock(&codec->reg_lock); if (!pvoice->running) { - spin_unlock_irqrestore(&codec->reg_lock, flags); + spin_unlock(&codec->reg_lock); return 0; } outb(pvoice->number, ALI_REG(codec, ALI_GC_CIR)); cso = inw(ALI_REG(codec, ALI_CSO_ALPHA_FMS + 2)); - spin_unlock_irqrestore(&codec->reg_lock, flags); + spin_unlock(&codec->reg_lock); snd_ali_printk("playback pointer returned cso=%xh.\n", cso); return cso; @@ -1720,7 +1711,7 @@ static snd_pcm_ops_t snd_ali_capture_ops = { static void snd_ali_pcm_free(snd_pcm_t *pcm) { - ali_t *codec = snd_magic_cast(ali_t, pcm->private_data, return); + ali_t *codec = pcm->private_data; codec->pcm = NULL; } @@ -1769,7 +1760,7 @@ static int snd_ali5451_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int snd_ali5451_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { unsigned long flags; - ali_t *codec = snd_magic_cast(ali_t, kcontrol->private_data, -ENXIO); + ali_t *codec = kcontrol->private_data; unsigned int enable; enable = ucontrol->value.integer.value[0] ? 1 : 0; @@ -1796,7 +1787,7 @@ static int snd_ali5451_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_ali5451_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { unsigned long flags; - ali_t *codec = snd_magic_cast(ali_t, kcontrol->private_data, -ENXIO); + ali_t *codec = kcontrol->private_data; unsigned int change = 0, enable = 0; enable = ucontrol->value.integer.value[0] ? 1 : 0; @@ -1863,30 +1854,29 @@ static snd_kcontrol_new_t snd_ali5451_mixer_spdif[] __devinitdata = { static void snd_ali_mixer_free_ac97_bus(ac97_bus_t *bus) { - ali_t *codec = snd_magic_cast(ali_t, bus->private_data, return); + ali_t *codec = bus->private_data; codec->ac97_bus = NULL; } static void snd_ali_mixer_free_ac97(ac97_t *ac97) { - ali_t *codec = snd_magic_cast(ali_t, ac97->private_data, return); + ali_t *codec = ac97->private_data; codec->ac97 = NULL; } static int __devinit snd_ali_mixer(ali_t * codec) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; unsigned int idx; int err; + static ac97_bus_ops_t ops = { + .write = snd_ali_codec_write, + .read = snd_ali_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ali_codec_write; - bus.read = snd_ali_codec_read; - bus.private_data = codec; - bus.private_free = snd_ali_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(codec->card, &bus, &codec->ac97_bus)) < 0) + if ((err = snd_ac97_bus(codec->card, 0, &ops, codec, &codec->ac97_bus)) < 0) return err; + codec->ac97_bus->private_free = snd_ali_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = codec; @@ -1907,7 +1897,7 @@ static int __devinit snd_ali_mixer(ali_t * codec) #ifdef CONFIG_PM static int ali_suspend(snd_card_t *card, unsigned int state) { - ali_t *chip = snd_magic_cast(ali_t, card->pm_private_data, return -EINVAL); + ali_t *chip = card->pm_private_data; ali_image_t *im; int i, j; @@ -1943,12 +1933,13 @@ static int ali_suspend(snd_card_t *card, unsigned int state) outl(0xffffffff, ALI_REG(chip, ALI_STOP)); spin_unlock_irq(&chip->reg_lock); + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } static int ali_resume(snd_card_t *card, unsigned int state) { - ali_t *chip = snd_magic_cast(ali_t, card->pm_private_data, return -EINVAL); + ali_t *chip = card->pm_private_data; ali_image_t *im; int i, j; @@ -1980,6 +1971,7 @@ static int ali_resume(snd_card_t *card, unsigned int state) spin_unlock_irq(&chip->reg_lock); snd_ac97_resume(chip->ac97); + snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; } @@ -1993,15 +1985,13 @@ static int snd_ali_free(ali_t * codec) synchronize_irq(codec->irq); free_irq(codec->irq, (void *)codec); } - if (codec->res_port) { - release_resource(codec->res_port); - kfree_nocheck(codec->res_port); - } + if (codec->port) + pci_release_regions(codec->pci); #ifdef CONFIG_PM if (codec->image) kfree(codec->image); #endif - snd_magic_kfree(codec); + kfree(codec); return 0; } @@ -2055,11 +2045,12 @@ static int snd_ali_chip_init(ali_t *codec) static int __devinit snd_ali_resources(ali_t *codec) { + int err; + snd_ali_printk("resouces allocation ...\n"); - if ((codec->res_port = request_region(codec->port, 0x100, "ALI 5451")) == NULL) { - snd_printk("Unalbe to request io ports.\n"); - return -EBUSY; - } + if ((err = pci_request_regions(codec->pci, "ALI 5451")) < 0) + return err; + codec->port = pci_resource_start(codec->pci, 0); if (request_irq(codec->pci->irq, snd_ali_card_interrupt, SA_INTERRUPT|SA_SHIRQ, "ALI 5451", (void *)codec)) { snd_printk("Unable to request irq.\n"); @@ -2071,7 +2062,7 @@ static int __devinit snd_ali_resources(ali_t *codec) } static int snd_ali_dev_free(snd_device_t *device) { - ali_t *codec=snd_magic_cast(ali_t, device->device_data, return -ENXIO); + ali_t *codec=device->device_data; snd_ali_free(codec); return 0; } @@ -2106,7 +2097,7 @@ static int __devinit snd_ali_create(snd_card_t * card, return -ENXIO; } - if ((codec = snd_magic_kcalloc(ali_t, 0, GFP_KERNEL)) == NULL) + if ((codec = kcalloc(1, sizeof(*codec), GFP_KERNEL)) == NULL) return -ENOMEM; spin_lock_init(&codec->reg_lock); @@ -2115,7 +2106,6 @@ static int __devinit snd_ali_create(snd_card_t * card, codec->card = card; codec->pci = pci; codec->irq = -1; - codec->port = pci_resource_start(pci, 0); pci_read_config_byte(pci, PCI_REVISION_ID, &codec->revision); codec->spdif_support = spdif_support; diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c index 73b1d3a08..d9ae7e5fe 100644 --- a/sound/pci/als4000.c +++ b/sound/pci/als4000.c @@ -76,8 +76,7 @@ MODULE_AUTHOR("Bart Hartgers "); MODULE_DESCRIPTION("Avance Logic ALS4000"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Avance Logic,ALS4000}}"); +MODULE_SUPPORTED_DEVICE("{{Avance Logic,ALS4000}}"); #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) #define SUPPORT_JOYSTICK 1 @@ -93,24 +92,18 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ALS4000 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ALS4000 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ALS4000 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_INDEX_DESC); #ifdef SUPPORT_JOYSTICK module_param_array(joystick_port, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address for ALS4000 soundcard. (0 = disabled)"); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED); #endif -#define chip_t sb_t - typedef struct { + struct pci_dev *pci; unsigned long gcr; - struct resource *res_gcr; #ifdef SUPPORT_JOYSTICK struct gameport gameport; struct resource *res_joystick; @@ -304,11 +297,10 @@ static int snd_als4000_playback_prepare(snd_pcm_substream_t *substream) static int snd_als4000_capture_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); int result = 0; - spin_lock_irqsave(&chip->mixer_lock, flags); + spin_lock(&chip->mixer_lock); if (cmd == SNDRV_PCM_TRIGGER_START) { chip->mode |= SB_RATE_LOCK_CAPTURE; snd_sbmixer_write(chip, 0xde, capture_cmd(chip)); @@ -318,17 +310,16 @@ static int snd_als4000_capture_trigger(snd_pcm_substream_t * substream, int cmd) } else { result = -EINVAL; } - spin_unlock_irqrestore(&chip->mixer_lock, flags); + spin_unlock(&chip->mixer_lock); return result; } static int snd_als4000_playback_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); int result = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); if (cmd == SNDRV_PCM_TRIGGER_START) { chip->mode |= SB_RATE_LOCK_PLAYBACK; snd_sbdsp_command(chip, playback_cmd(chip).dma_on); @@ -338,38 +329,35 @@ static int snd_als4000_playback_trigger(snd_pcm_substream_t * substream, int cmd } else { result = -EINVAL; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return result; } static snd_pcm_uframes_t snd_als4000_capture_pointer(snd_pcm_substream_t * substream) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); unsigned int result; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); result = snd_als4000_gcr_read(chip, 0xa4) & 0xffff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames( substream->runtime, result ); } static snd_pcm_uframes_t snd_als4000_playback_pointer(snd_pcm_substream_t * substream) { - unsigned long flags; sb_t *chip = snd_pcm_substream_chip(substream); unsigned result; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); result = snd_als4000_gcr_read(chip, 0xa0) & 0xffff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames( substream->runtime, result ); } static irqreturn_t snd_als4000_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sb_t *chip = snd_magic_cast(sb_t, dev_id, return IRQ_NONE); - unsigned long flags; + sb_t *chip = dev_id; unsigned gcr_status; unsigned sb_status; @@ -385,9 +373,9 @@ static irqreturn_t snd_als4000_interrupt(int irq, void *dev_id, struct pt_regs * /* release the gcr */ outb(gcr_status, chip->alt_port + 0xe); - spin_lock_irqsave(&chip->mixer_lock, flags); + spin_lock(&chip->mixer_lock); sb_status = snd_sbmixer_read(chip, SB_DSP4_IRQSTATUS); - spin_unlock_irqrestore(&chip->mixer_lock, flags); + spin_unlock(&chip->mixer_lock); if (sb_status & SB_IRQTYPE_8BIT) snd_sb_ack_8bit(chip); @@ -506,7 +494,7 @@ static snd_pcm_ops_t snd_als4000_capture_ops = { static void snd_als4000_pcm_free(snd_pcm_t *pcm) { - sb_t *chip = snd_magic_cast(sb_t, pcm->private_data, return); + sb_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -557,27 +545,26 @@ static void snd_als4000_set_addr(unsigned long gcr, static void __devinit snd_als4000_configure(sb_t *chip) { - unsigned long flags; unsigned tmp; int i; /* do some more configuration */ - spin_lock_irqsave(&chip->mixer_lock, flags); + spin_lock_irq(&chip->mixer_lock); tmp = snd_sbmixer_read(chip, 0xc0); snd_sbmixer_write(chip, 0xc0, tmp|0x80); /* always select DMA channel 0, since we do not actually use DMA */ snd_sbmixer_write(chip, SB_DSP4_DMASETUP, SB_DMASETUP_DMA0); snd_sbmixer_write(chip, 0xc0, tmp&0x7f); - spin_unlock_irqrestore(&chip->mixer_lock, flags); + spin_unlock_irq(&chip->mixer_lock); - spin_lock_irqsave(&chip->reg_lock,flags); + spin_lock_irq(&chip->reg_lock); /* magic number. Enables interrupts(?) */ snd_als4000_gcr_write(chip, 0x8c, 0x28000); for(i = 0x91; i <= 0x96; ++i) snd_als4000_gcr_write(chip, i, 0); snd_als4000_gcr_write(chip, 0x99, snd_als4000_gcr_read(chip, 0x99)); - spin_unlock_irqrestore(&chip->reg_lock,flags); + spin_unlock_irq(&chip->reg_lock); } static void snd_card_als4000_free( snd_card_t *card ) @@ -595,8 +582,7 @@ static void snd_card_als4000_free( snd_card_t *card ) kfree_nocheck(acard->res_joystick); } #endif - release_resource(acard->res_gcr); - kfree_nocheck(acard->res_gcr); + pci_release_regions(acard->pci); } static int __devinit snd_card_als4000_probe(struct pci_dev *pci, @@ -606,7 +592,6 @@ static int __devinit snd_card_als4000_probe(struct pci_dev *pci, snd_card_t *card; snd_card_als4000_t *acard; unsigned long gcr; - struct resource *res_gcr_port; sb_t *chip; opl3_t *opl3; unsigned short word; @@ -631,11 +616,9 @@ static int __devinit snd_card_als4000_probe(struct pci_dev *pci, return -ENXIO; } + if ((err = pci_request_regions(pci, "ALS4000")) < 0) + return err; gcr = pci_resource_start(pci, 0); - if ((res_gcr_port = request_region(gcr, 0x40, "ALS4000")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", gcr, gcr + 0x40 - 1); - return -EBUSY; - } pci_read_config_word(pci, PCI_COMMAND, &word); pci_write_config_word(pci, PCI_COMMAND, word | PCI_COMMAND_IO); @@ -644,14 +627,13 @@ static int __devinit snd_card_als4000_probe(struct pci_dev *pci, card = snd_card_new(index[dev], id[dev], THIS_MODULE, sizeof( snd_card_als4000_t ) ); if (card == NULL) { - release_resource(res_gcr_port); - kfree_nocheck(res_gcr_port); + pci_release_regions(pci); return -ENOMEM; } acard = (snd_card_als4000_t *)card->private_data; + acard->pci = pci; acard->gcr = gcr; - acard->res_gcr = res_gcr_port; card->private_free = snd_card_als4000_free; /* disable all legacy ISA stuff except for joystick */ diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c index 8869e7a68..61319fb59 100644 --- a/sound/pci/atiixp.c +++ b/sound/pci/atiixp.c @@ -1,5 +1,5 @@ /* - * ALSA driver for ATI IXP 150/200/250 AC97 controllers + * ALSA driver for ATI IXP 150/200/250/300 AC97 controllers * * Copyright (c) 2004 Takashi Iwai * @@ -37,8 +37,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("ATI IXP AC97 controller"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ATI,IXP150/200/250/300}}"); +MODULE_SUPPORTED_DEVICE("{{ATI,IXP150/200/250/300/400}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -49,19 +48,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ATI IXP controller."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ATI IXP controller."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable audio part of ATI IXP controller."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:48000"); module_param_array(spdif_aclink, bool, boot_devs, 0444); MODULE_PARM_DESC(spdif_aclink, "S/PDIF over AC-link."); -MODULE_PARM_SYNTAX(spdif_aclink, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); /* @@ -197,7 +191,6 @@ MODULE_PARM_SYNTAX(spdif_aclink, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); #define ATI_REG_DMA_STATE (7U<<26) -#define ATI_MEM_REGION 256 /* i/o memory size */ #define ATI_MAX_DESCRIPTORS 256 /* max number of descriptor packets */ @@ -207,7 +200,6 @@ MODULE_PARM_SYNTAX(spdif_aclink, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); typedef struct snd_atiixp atiixp_t; typedef struct snd_atiixp_dma atiixp_dma_t; typedef struct snd_atiixp_dma_ops atiixp_dma_ops_t; -#define chip_t atiixp_t /* @@ -248,7 +240,6 @@ struct snd_atiixp_dma_ops { */ struct snd_atiixp_dma { const atiixp_dma_ops_t *ops; - struct snd_dma_device desc_dev; struct snd_dma_buffer desc_buf; snd_pcm_substream_t *substream; /* assigned PCM substream */ unsigned int buf_addr, buf_bytes; /* DMA buffer address, bytes */ @@ -266,9 +257,8 @@ struct snd_atiixp { snd_card_t *card; struct pci_dev *pci; - struct resource *res; /* memory i/o */ unsigned long addr; - unsigned long remap_addr; + void __iomem *remap_addr; int irq; ac97_bus_t *ac97_bus; @@ -287,10 +277,6 @@ struct snd_atiixp { int spdif_over_aclink; /* passed from the module option */ struct semaphore open_mutex; /* playback open mutex */ - -#ifdef CONFIG_PM - u32 pci_state[16]; -#endif }; @@ -299,6 +285,7 @@ struct snd_atiixp { static struct pci_device_id snd_atiixp_ids[] = { { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ + { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ { 0, } }; @@ -316,7 +303,7 @@ MODULE_DEVICE_TABLE(pci, snd_atiixp_ids); static int snd_atiixp_update_bits(atiixp_t *chip, unsigned int reg, unsigned int mask, unsigned int value) { - unsigned long addr = chip->remap_addr + reg; + void __iomem *addr = chip->remap_addr + reg; unsigned int data, old_data; old_data = data = readl(addr); data &= ~mask; @@ -376,15 +363,13 @@ static int atiixp_build_dma_packets(atiixp_t *chip, atiixp_dma_t *dma, return -ENOMEM; if (dma->desc_buf.area == NULL) { - memset(&dma->desc_dev, 0, sizeof(dma->desc_dev)); - dma->desc_dev.type = SNDRV_DMA_TYPE_DEV; - dma->desc_dev.dev = snd_dma_pci_data(chip->pci); - if (snd_dma_alloc_pages(&dma->desc_dev, ATI_DESC_LIST_SIZE, &dma->desc_buf) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + ATI_DESC_LIST_SIZE, &dma->desc_buf) < 0) return -ENOMEM; dma->period_bytes = dma->periods = 0; /* clear */ } - if (dma->periods == dma->periods && dma->period_bytes == period_bytes) + if (dma->periods == periods && dma->period_bytes == period_bytes) return 0; /* reset DMA before changing the descriptor table */ @@ -426,7 +411,7 @@ static void atiixp_clear_dma_packets(atiixp_t *chip, atiixp_dma_t *dma, snd_pcm_ { if (dma->desc_buf.area) { writel(0, chip->remap_addr + dma->ops->llp_offset); - snd_dma_free_pages(&dma->desc_dev, &dma->desc_buf); + snd_dma_free_pages(&dma->desc_buf); dma->desc_buf.area = NULL; } } @@ -491,7 +476,7 @@ static void snd_atiixp_codec_write(atiixp_t *chip, unsigned short codec, unsigne static unsigned short snd_atiixp_ac97_read(ac97_t *ac97, unsigned short reg) { - atiixp_t *chip = snd_magic_cast(atiixp_t, ac97->private_data, return 0xffff); + atiixp_t *chip = ac97->private_data; unsigned short data; spin_lock(&chip->ac97_lock); data = snd_atiixp_codec_read(chip, ac97->num, reg); @@ -502,7 +487,7 @@ static unsigned short snd_atiixp_ac97_read(ac97_t *ac97, unsigned short reg) static void snd_atiixp_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - atiixp_t *chip = snd_magic_cast(atiixp_t, ac97->private_data, return); + atiixp_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); snd_atiixp_codec_write(chip, ac97->num, reg, val); spin_unlock(&chip->ac97_lock); @@ -653,9 +638,8 @@ static snd_pcm_uframes_t snd_atiixp_pcm_pointer(snd_pcm_substream_t *substream) snd_pcm_runtime_t *runtime = substream->runtime; atiixp_dma_t *dma = (atiixp_dma_t *)runtime->private_data; unsigned int curptr; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); curptr = readl(chip->remap_addr + dma->ops->dt_cur); if (curptr < dma->buf_addr) { snd_printdd("curptr = %x, base = %x\n", curptr, dma->buf_addr); @@ -667,7 +651,7 @@ static snd_pcm_uframes_t snd_atiixp_pcm_pointer(snd_pcm_substream_t *substream) curptr = 0; } } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames(runtime, curptr); } @@ -852,7 +836,7 @@ static int snd_atiixp_spdif_prepare(snd_pcm_substream_t *substream) { atiixp_t *chip = snd_pcm_substream_chip(substream); - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); if (chip->spdif_over_aclink) { unsigned int data; /* enable slots 10/11 */ @@ -870,7 +854,7 @@ static int snd_atiixp_spdif_prepare(snd_pcm_substream_t *substream) atiixp_update(chip, CMD, ATI_REG_CMD_SPDF_CONFIG_MASK, 0); atiixp_update(chip, CMD, ATI_REG_CMD_INTERLEAVE_SPDF, 0); } - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -880,7 +864,7 @@ static int snd_atiixp_playback_prepare(snd_pcm_substream_t *substream) atiixp_t *chip = snd_pcm_substream_chip(substream); unsigned int data; - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); data = atiixp_read(chip, OUT_DMA_SLOT) & ~ATI_REG_OUT_DMA_SLOT_MASK; switch (substream->runtime->channels) { case 8: @@ -915,7 +899,7 @@ static int snd_atiixp_playback_prepare(snd_pcm_substream_t *substream) atiixp_update(chip, 6CH_REORDER, ATI_REG_6CH_REORDER_EN, substream->runtime->channels >= 6 ? ATI_REG_6CH_REORDER_EN: 0); - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -924,11 +908,11 @@ static int snd_atiixp_capture_prepare(snd_pcm_substream_t *substream) { atiixp_t *chip = snd_pcm_substream_chip(substream); - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); atiixp_update(chip, CMD, ATI_REG_CMD_INTERLEAVE_IN, substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE ? ATI_REG_CMD_INTERLEAVE_IN : 0); - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -996,6 +980,7 @@ static snd_pcm_hardware_t snd_atiixp_pcm_hw = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_RESUME | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE, .rates = SNDRV_PCM_RATE_48000, @@ -1014,7 +999,6 @@ static int snd_atiixp_pcm_open(snd_pcm_substream_t *substream, atiixp_dma_t *dma { atiixp_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - unsigned long flags; int err; snd_assert(dma->ops && dma->ops->enable_dma, return -EINVAL); @@ -1036,9 +1020,9 @@ static int snd_atiixp_pcm_open(snd_pcm_substream_t *substream, atiixp_dma_t *dma runtime->private_data = dma; /* enable DMA bits */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); dma->ops->enable_dma(chip, 1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); dma->opened = 1; return 0; @@ -1308,7 +1292,7 @@ static int __devinit snd_atiixp_pcm_new(atiixp_t *chip) */ static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - atiixp_t *chip = snd_magic_cast(atiixp_t, dev_id, return IRQ_NONE); + atiixp_t *chip = dev_id; unsigned int status; status = atiixp_read(chip, ISR); @@ -1355,10 +1339,14 @@ static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id, struct pt_regs *r static int __devinit snd_atiixp_mixer_new(atiixp_t *chip, int clock) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int i, err; int codec_count; + static ac97_bus_ops_t ops = { + .write = snd_atiixp_ac97_write, + .read = snd_atiixp_ac97_read, + }; static unsigned int codec_skip[NUM_ATI_CODECS] = { ATI_REG_ISR_CODEC0_NOT_READY, ATI_REG_ISR_CODEC1_NOT_READY, @@ -1368,13 +1356,10 @@ static int __devinit snd_atiixp_mixer_new(atiixp_t *chip, int clock) if (snd_atiixp_codec_detect(chip) < 0) return -ENXIO; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_atiixp_ac97_write; - bus.read = snd_atiixp_ac97_read; - bus.private_data = chip; - bus.clock = clock; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0) return err; + pbus->clock = clock; + pbus->shared_type = AC97_SHARED_TYPE_ATIIXP; /* shared with modem driver */ chip->ac97_bus = pbus; codec_count = 0; @@ -1387,17 +1372,9 @@ static int __devinit snd_atiixp_mixer_new(atiixp_t *chip, int clock) ac97.num = i; ac97.scaps = AC97_SCAP_SKIP_MODEM; if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) { - if (chip->codec_not_ready_bits) - /* codec(s) was detected but not available. - * return the error - */ - return err; - else { - /* codec(s) was NOT detected, so just ignore here */ - chip->ac97[i] = NULL; /* to be sure */ - snd_printd("atiixp: codec %d not found\n", i); - continue; - } + chip->ac97[i] = NULL; /* to be sure */ + snd_printdd("atiixp: codec %d not available for audio\n", i); + continue; } codec_count++; } @@ -1419,7 +1396,7 @@ static int __devinit snd_atiixp_mixer_new(atiixp_t *chip, int clock) */ static int snd_atiixp_suspend(snd_card_t *card, unsigned int state) { - atiixp_t *chip = snd_magic_cast(atiixp_t, card->pm_private_data, return -EINVAL); + atiixp_t *chip = card->pm_private_data; int i; for (i = 0; i < NUM_ATI_PCMDEVS; i++) @@ -1431,7 +1408,6 @@ static int snd_atiixp_suspend(snd_card_t *card, unsigned int state) snd_atiixp_aclink_down(chip); snd_atiixp_chip_stop(chip); - pci_save_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 3); pci_disable_device(chip->pci); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); @@ -1440,11 +1416,10 @@ static int snd_atiixp_suspend(snd_card_t *card, unsigned int state) static int snd_atiixp_resume(snd_card_t *card, unsigned int state) { - atiixp_t *chip = snd_magic_cast(atiixp_t, card->pm_private_data, return -EINVAL); + atiixp_t *chip = card->pm_private_data; int i; pci_enable_device(chip->pci); - pci_restore_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 0); snd_atiixp_aclink_reset(chip); @@ -1466,7 +1441,7 @@ static int snd_atiixp_resume(snd_card_t *card, unsigned int state) static void snd_atiixp_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - atiixp_t *chip = snd_magic_cast(atiixp_t, entry->private_data, return); + atiixp_t *chip = entry->private_data; int i; for (i = 0; i < 256; i += 4) @@ -1494,21 +1469,18 @@ static int snd_atiixp_free(atiixp_t *chip) snd_atiixp_chip_stop(chip); synchronize_irq(chip->irq); __hw_end: - if (chip->remap_addr) - iounmap((void *) chip->remap_addr); - if (chip->res) { - release_resource(chip->res); - kfree_nocheck(chip->res); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + if (chip->remap_addr) + iounmap(chip->remap_addr); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_atiixp_dev_free(snd_device_t *device) { - atiixp_t *chip = snd_magic_cast(atiixp_t, device->device_data, return -ENXIO); + atiixp_t *chip = device->device_data; return snd_atiixp_free(chip); } @@ -1528,7 +1500,7 @@ static int __devinit snd_atiixp_create(snd_card_t *card, if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(atiixp_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -1538,13 +1510,12 @@ static int __devinit snd_atiixp_create(snd_card_t *card, chip->card = card; chip->pci = pci; chip->irq = -1; - chip->addr = pci_resource_start(pci, 0); - if ((chip->res = request_mem_region(chip->addr, ATI_MEM_REGION, "ATI IXP AC97")) == NULL) { - snd_printk(KERN_ERR "unable to grab I/O memory 0x%lx\n", chip->addr); - snd_atiixp_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "ATI IXP AC97")) < 0) { + kfree(chip); + return err; } - chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, ATI_MEM_REGION); + chip->addr = pci_resource_start(pci, 0); + chip->remap_addr = ioremap_nocache(chip->addr, pci_resource_len(pci, 0)); if (chip->remap_addr == 0) { snd_printk(KERN_ERR "AC'97 space ioremap problem\n"); snd_atiixp_free(chip); diff --git a/sound/pci/au88x0/au88x0.c b/sound/pci/au88x0/au88x0.c index 5c6a78b98..94eff496d 100644 --- a/sound/pci/au88x0/au88x0.c +++ b/sound/pci/au88x0/au88x0.c @@ -31,23 +31,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcifix, int, boot_devs, 0444); MODULE_PARM_DESC(pcifix, "Enable VIA-workaround for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(pcifix, - SNDRV_ENABLED - ",allows:{{0,Disabled},{1,Latency},{2,Bridge},{3,Both},{255,Auto}},default:4,dialog:check"); MODULE_DESCRIPTION("Aureal vortex"); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); -MODULE_DEVICES("{{Aureal Semiconductor Inc., Aureal Vortex Sound Processor}}"); +MODULE_SUPPORTED_DEVICE("{{Aureal Semiconductor Inc., Aureal Vortex Sound Processor}}"); MODULE_DEVICE_TABLE(pci, snd_vortex_ids); @@ -122,8 +115,7 @@ static void __devinit snd_vortex_workaround(struct pci_dev *vortex, int fix) // (see "Management of Cards and Components") static int snd_vortex_dev_free(snd_device_t * device) { - vortex_t *vortex = snd_magic_cast(vortex_t, device->device_data, - return -ENXIO); + vortex_t *vortex = device->device_data; vortex_gameport_unregister(vortex); vortex_core_shutdown(vortex); @@ -132,7 +124,7 @@ static int snd_vortex_dev_free(snd_device_t * device) free_irq(vortex->irq, vortex); pci_release_regions(vortex->pci_dev); pci_disable_device(vortex->pci_dev); - snd_magic_kfree(vortex); + kfree(vortex); return 0; } @@ -159,7 +151,7 @@ snd_vortex_create(snd_card_t * card, struct pci_dev *pci, vortex_t ** rchip) } pci_set_dma_mask(pci, VORTEX_DMA_MASK); - chip = snd_magic_kcalloc(vortex_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h index bf6097d04..7db9acf7b 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h @@ -180,8 +180,6 @@ struct snd_vortex { u8 rev; }; -#define chip_t vortex_t - /* Functions. */ /* SRC */ diff --git a/sound/pci/au88x0/au88x0_a3d.c b/sound/pci/au88x0/au88x0_a3d.c index 8d4919ca2..9ea2ba7bc 100644 --- a/sound/pci/au88x0/au88x0_a3d.c +++ b/sound/pci/au88x0/au88x0_a3d.c @@ -567,7 +567,7 @@ static int Vort3DRend_Initialize(vortex_t * v, unsigned short mode) v->xt_mode = mode; /* this_14 */ vortex_XtalkHw_init(v); - vortex_XtalkHw_SetGains(v, asXtalkGainsAllChan); + vortex_XtalkHw_SetGainsAllChan(v); switch (v->xt_mode) { case XT_SPEAKER0: vortex_XtalkHw_ProgramXtalkNarrow(v); @@ -862,9 +862,8 @@ static int vortex_a3d_register_controls(vortex_t * vortex) /* HRTF controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_HRTF; kcontrol->info = snd_vortex_a3d_hrtf_info; kcontrol->put = snd_vortex_a3d_hrtf_put; @@ -874,9 +873,8 @@ static int vortex_a3d_register_controls(vortex_t * vortex) /* ITD controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_ITD; kcontrol->info = snd_vortex_a3d_itd_info; kcontrol->put = snd_vortex_a3d_itd_put; @@ -886,9 +884,8 @@ static int vortex_a3d_register_controls(vortex_t * vortex) /* ILD (gains) controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_GAINS; kcontrol->info = snd_vortex_a3d_ild_info; kcontrol->put = snd_vortex_a3d_ild_put; @@ -898,9 +895,8 @@ static int vortex_a3d_register_controls(vortex_t * vortex) /* Filter controls. */ for (i = 0; i < NR_A3D; i++) { if ((kcontrol = - snd_ctl_new1(&vortex_a3d_kcontrol, vortex)) == NULL) + snd_ctl_new1(&vortex_a3d_kcontrol, &vortex->a3d[i])) == NULL) return -ENOMEM; - kcontrol->private_data = &vortex->a3d[i]; kcontrol->id.numid = CTRLID_FILTER; kcontrol->info = snd_vortex_a3d_filter_info; kcontrol->put = snd_vortex_a3d_filter_put; diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c index d8fccffbe..684f639a2 100644 --- a/sound/pci/au88x0/au88x0_core.c +++ b/sound/pci/au88x0/au88x0_core.c @@ -2362,7 +2362,7 @@ static void vortex_disable_int(vortex_t * card) static irqreturn_t vortex_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - vortex_t *vortex = snd_magic_cast(vortex_t, dev_id, return IRQ_NONE); + vortex_t *vortex = dev_id; int i, handled; u32 source; diff --git a/sound/pci/au88x0/au88x0_eq.c b/sound/pci/au88x0/au88x0_eq.c index fdf0014f0..f8f52638c 100644 --- a/sound/pci/au88x0/au88x0_eq.c +++ b/sound/pci/au88x0/au88x0_eq.c @@ -40,135 +40,120 @@ #include "au88x0_eq.h" #include "au88x0_eqdata.c" +#define VORTEX_EQ_BASE 0x2b000 +#define VORTEX_EQ_DEST (VORTEX_EQ_BASE + 0x410) +#define VORTEX_EQ_SOURCE (VORTEX_EQ_BASE + 0x430) +#define VORTEX_EQ_CTRL (VORTEX_EQ_BASE + 0x440) + /* CEqHw.s */ -static void vortex_EqHw_SetTimeConsts(vortex_t * vortex, u16 a, u16 b) +static void vortex_EqHw_SetTimeConsts(vortex_t * vortex, u16 gain, u16 level) { - hwwrite(vortex->mmio, 0x2b3c4, a); - hwwrite(vortex->mmio, 0x2b3c8, b); + hwwrite(vortex->mmio, 0x2b3c4, gain); + hwwrite(vortex->mmio, 0x2b3c8, level); } -static void vortex_EqHw_SetLeftCoefs(vortex_t * vortex, u16 a[]) +static void vortex_EqHw_SetLeftCoefs(vortex_t * vortex, u16 coefs[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int eax, i = 0, n /*esp2c */ = 0; - - if (eqhw->this04 <= n) - return; + int eax, i = 0, n /*esp2c */; - do { - hwwrite(vortex->mmio, 0x2b000 + n * 0x30, a[i + 0]); - hwwrite(vortex->mmio, 0x2b004 + n * 0x30, a[i + 1]); + for (n = 0; n < eqhw->this04; n++) { + hwwrite(vortex->mmio, 0x2b000 + n * 0x30, coefs[i + 0]); + hwwrite(vortex->mmio, 0x2b004 + n * 0x30, coefs[i + 1]); if (eqhw->this08 == 0) { - hwwrite(vortex->mmio, 0x2b008 + n * 0x30, a[i + 2]); - hwwrite(vortex->mmio, 0x2b00c + n * 0x30, a[i + 3]); - eax = a[i + 4]; //esp24; + hwwrite(vortex->mmio, 0x2b008 + n * 0x30, coefs[i + 2]); + hwwrite(vortex->mmio, 0x2b00c + n * 0x30, coefs[i + 3]); + eax = coefs[i + 4]; //esp24; } else { - if (a[2 + i] == 0x8000) + if (coefs[2 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[2 + i]; + eax = ~coefs[2 + i]; hwwrite(vortex->mmio, 0x2b008 + n * 0x30, eax & 0xffff); - if (a[3 + i] == 0x8000) + if (coefs[3 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[3 + i]; + eax = ~coefs[3 + i]; hwwrite(vortex->mmio, 0x2b00c + n * 0x30, eax & 0xffff); - if (a[4 + i] == 0x8000) + if (coefs[4 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[4 + i]; + eax = ~coefs[4 + i]; } hwwrite(vortex->mmio, 0x2b010 + n * 0x30, eax); - n++; i += 5; } - while (n < eqhw->this04); } -static void vortex_EqHw_SetRightCoefs(vortex_t * vortex, u16 a[]) +static void vortex_EqHw_SetRightCoefs(vortex_t * vortex, u16 coefs[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, n /*esp2c */ = 0, eax; + int i = 0, n /*esp2c */, eax; - if (eqhw->this04 <= n) - return; - - do { - hwwrite(vortex->mmio, 0x2b1e0 + n * 0x30, a[0 + i]); - hwwrite(vortex->mmio, 0x2b1e4 + n * 0x30, a[1 + i]); + for (n = 0; n < eqhw->this04; n++) { + hwwrite(vortex->mmio, 0x2b1e0 + n * 0x30, coefs[0 + i]); + hwwrite(vortex->mmio, 0x2b1e4 + n * 0x30, coefs[1 + i]); if (eqhw->this08 == 0) { - hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, a[2 + i]); - hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, a[3 + i]); - eax = a[4 + i]; //*esp24; + hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, coefs[2 + i]); + hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, coefs[3 + i]); + eax = coefs[4 + i]; //*esp24; } else { - if (a[2 + i] == 0x8000) + if (coefs[2 + i] == 0x8000) eax = 0x7fff; else - eax = ~(a[2 + i]); + eax = ~(coefs[2 + i]); hwwrite(vortex->mmio, 0x2b1e8 + n * 0x30, eax & 0xffff); - if (a[3 + i] == 0x8000) + if (coefs[3 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[3 + i]; + eax = ~coefs[3 + i]; hwwrite(vortex->mmio, 0x2b1ec + n * 0x30, eax & 0xffff); - if (a[4 + i] == 0x8000) + if (coefs[4 + i] == 0x8000) eax = 0x7fff; else - eax = ~a[4 + i]; + eax = ~coefs[4 + i]; } hwwrite(vortex->mmio, 0x2b1f0 + n * 0x30, eax); i += 5; - n++; } - while (n < eqhw->this04); } static void vortex_EqHw_SetLeftStates(vortex_t * vortex, u16 a[], u16 b[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, ebx = 0; + int i = 0, ebx; hwwrite(vortex->mmio, 0x2b3fc, a[0]); hwwrite(vortex->mmio, 0x2b400, a[1]); - if (eqhw->this04 < 0) - return; - - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b014 + (i * 0xc), b[i]); hwwrite(vortex->mmio, 0x2b018 + (i * 0xc), b[1 + i]); hwwrite(vortex->mmio, 0x2b01c + (i * 0xc), b[2 + i]); hwwrite(vortex->mmio, 0x2b020 + (i * 0xc), b[3 + i]); i += 4; - ebx++; } - while (eqhw->this04 > ebx); } static void vortex_EqHw_SetRightStates(vortex_t * vortex, u16 a[], u16 b[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int i = 0, ebx = 0; + int i = 0, ebx; hwwrite(vortex->mmio, 0x2b404, a[0]); hwwrite(vortex->mmio, 0x2b408, a[1]); - if (eqhw->this04 < 0) - return; - - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b1f4 + (i * 0xc), b[i]); hwwrite(vortex->mmio, 0x2b1f8 + (i * 0xc), b[1 + i]); hwwrite(vortex->mmio, 0x2b1fc + (i * 0xc), b[2 + i]); hwwrite(vortex->mmio, 0x2b200 + (i * 0xc), b[3 + i]); i += 4; - ebx++; } - while (ebx < eqhw->this04); } #if 0 @@ -260,60 +245,41 @@ vortex_EqHw_SetRightGainsSingleTarget(vortex_t * vortex, u16 index, u16 b) static void vortex_EqHw_SetLeftGainsTarget(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; + int ebx; - if (eqhw->this04 < 0) - return; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b02c + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } static void vortex_EqHw_SetRightGainsTarget(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; - - if (eqhw->this04 < 0) - return; + int ebx; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b20c + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } static void vortex_EqHw_SetLeftGainsCurrent(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; - - if (eqhw->this04 < 0) - return; + int ebx; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b028 + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } static void vortex_EqHw_SetRightGainsCurrent(vortex_t * vortex, u16 a[]) { eqhw_t *eqhw = &(vortex->eq.this04); - int ebx = 0; - - if (eqhw->this04 < 0) - return; + int ebx; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b208 + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); } #if 0 @@ -384,26 +350,17 @@ static void vortex_EqHw_SetLevels(vortex_t * vortex, u16 a[]) eqhw_t *eqhw = &(vortex->eq.this04); int ebx; - if (eqhw->this04 < 0) - return; - - ebx = 0; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b024 + ebx * 0x30, a[ebx]); - ebx++; } - while (ebx < eqhw->this04); hwwrite(vortex->mmio, 0x2b3cc, a[eqhw->this04]); hwwrite(vortex->mmio, 0x2b3d8, a[eqhw->this04 + 1]); - ebx = 0; - do { + for (ebx = 0; ebx < eqhw->this04; ebx++) { hwwrite(vortex->mmio, 0x2b204 + ebx * 0x30, a[ebx + (eqhw->this04 + 2)]); - ebx++; } - while (ebx < eqhw->this04); hwwrite(vortex->mmio, 0x2b3e4, a[2 + (eqhw->this04 * 2)]); hwwrite(vortex->mmio, 0x2b3f0, a[3 + (eqhw->this04 * 2)]); @@ -466,12 +423,12 @@ static void vortex_EqHw_GetSampleRate(vortex_t * vortex, int *sr) #endif static void vortex_EqHw_Enable(vortex_t * vortex) { - hwwrite(vortex->mmio, 0x2b440, 0xf001); + hwwrite(vortex->mmio, VORTEX_EQ_CTRL, 0xf001); } static void vortex_EqHw_Disable(vortex_t * vortex) { - hwwrite(vortex->mmio, 0x2b440, 0xf000); + hwwrite(vortex->mmio, VORTEX_EQ_CTRL, 0xf000); } /* Reset (zero) buffers */ @@ -479,16 +436,16 @@ static void vortex_EqHw_ZeroIO(vortex_t * vortex) { int i; for (i = 0; i < 0x8; i++) - hwwrite(vortex->mmio, 0x2b410 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_DEST + (i << 2), 0x0); for (i = 0; i < 0x4; i++) - hwwrite(vortex->mmio, 0x2b430 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_SOURCE + (i << 2), 0x0); } static void vortex_EqHw_ZeroA3DIO(vortex_t * vortex) { int i; for (i = 0; i < 0x4; i++) - hwwrite(vortex->mmio, 0x2b410 + (i << 2), 0x0); + hwwrite(vortex->mmio, VORTEX_EQ_DEST + (i << 2), 0x0); } static void vortex_EqHw_ZeroState(vortex_t * vortex) @@ -659,11 +616,10 @@ vortex_Eqlzr_SetAllBands(vortex_t * vortex, u16 gains[], unsigned long count) if (((eq->this10) * 2 != count) || (eq->this28 == 0)) return 1; - if (0 < count) { - for (i = 0; i < count; i++) { - eq->this130[i] = gains[i]; - } + for (i = 0; i < count; i++) { + eq->this130[i] = gains[i]; } + if (eq->this54) return 0; return vortex_Eqlzr_SetAllBandsFromActiveCoeffSet(vortex); diff --git a/sound/pci/au88x0/au88x0_game.c b/sound/pci/au88x0/au88x0_game.c index 6cc70af17..d47bff1eb 100644 --- a/sound/pci/au88x0/au88x0_game.c +++ b/sound/pci/au88x0/au88x0_game.c @@ -96,7 +96,7 @@ static int vortex_game_open(struct gameport *gameport, int mode) static int vortex_gameport_register(vortex_t * vortex) { - if ((vortex->gameport = snd_kcalloc(sizeof(struct gameport), GFP_KERNEL)) == NULL) { + if ((vortex->gameport = kcalloc(1, sizeof(struct gameport), GFP_KERNEL)) == NULL) { return -1; }; diff --git a/sound/pci/au88x0/au88x0_pcm.c b/sound/pci/au88x0/au88x0_pcm.c index 6df634ebc..8e6322158 100644 --- a/sound/pci/au88x0/au88x0_pcm.c +++ b/sound/pci/au88x0/au88x0_pcm.c @@ -28,7 +28,6 @@ #include #include "au88x0.h" -#define chip_t vortex_t #define VORTEX_PCM_TYPE(x) (x->name[40]) /* hardware definition */ @@ -189,7 +188,7 @@ static int snd_vortex_pcm_hw_params(snd_pcm_substream_t * substream, snd_pcm_hw_params_t * hw_params) { - chip_t *chip = snd_pcm_substream_chip(substream); + vortex_t *chip = snd_pcm_substream_chip(substream); stream_t *stream = (stream_t *) (substream->runtime->private_data); snd_pcm_sgbuf_t *sgbuf; int err; @@ -250,7 +249,7 @@ snd_vortex_pcm_hw_params(snd_pcm_substream_t * substream, /* hw_free callback */ static int snd_vortex_pcm_hw_free(snd_pcm_substream_t * substream) { - chip_t *chip = snd_pcm_substream_chip(substream); + vortex_t *chip = snd_pcm_substream_chip(substream); stream_t *stream = (stream_t *) (substream->runtime->private_data); // Delete audio routes. @@ -305,7 +304,7 @@ static int snd_vortex_pcm_prepare(snd_pcm_substream_t * substream) /* trigger callback */ static int snd_vortex_pcm_trigger(snd_pcm_substream_t * substream, int cmd) { - chip_t *chip = snd_pcm_substream_chip(substream); + vortex_t *chip = snd_pcm_substream_chip(substream); stream_t *stream = (stream_t *) substream->runtime->private_data; int dma = stream->dma; diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index 313411a73..c3d65d90f 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c @@ -111,8 +111,7 @@ MODULE_AUTHOR("Andreas Mohr "); MODULE_DESCRIPTION("Aztech AZF3328 (PCI168)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Aztech,AZF3328}}"); +MODULE_SUPPORTED_DEVICE("{{Aztech,AZF3328}}"); #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) #define SUPPORT_JOYSTICK 1 @@ -170,35 +169,25 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for AZF3328 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for AZF3328 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable AZF3328 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_INDEX_DESC); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick for AZF3328 soundcard."); -MODULE_PARM_SYNTAX(joystick, SNDRV_BOOLEAN_FALSE_DESC); #endif typedef struct _snd_azf3328 azf3328_t; -#define chip_t azf3328_t struct _snd_azf3328 { int irq; unsigned long codec_port; - struct resource *res_codec_port; unsigned long io2_port; - struct resource *res_io2_port; unsigned long mpu_port; - struct resource *res_mpu_port; unsigned long synth_port; - struct resource *res_synth_port; unsigned long mixer_port; - struct resource *res_mixer_port; #ifdef SUPPORT_JOYSTICK struct gameport gameport; @@ -553,8 +542,6 @@ static int snd_azf3328_put_mixer_enum(snd_kcontrol_t * kcontrol, snd_ctl_elem_va return (nreg != oreg); } -#define NUM_CONTROLS(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_azf3328_mixer_controls[] __devinitdata = { AZF3328_MIXER_SWITCH("Master Playback Switch", IDX_MIXER_PLAY_MASTER, 15, 1), AZF3328_MIXER_VOL_STEREO("Master Playback Volume", IDX_MIXER_PLAY_MASTER, 0x1f, 1), @@ -650,7 +637,7 @@ static int __devinit snd_azf3328_mixer_new(azf3328_t *chip) /* add mixer controls */ sw = snd_azf3328_mixer_controls; - for (idx = 0; idx < NUM_CONTROLS(snd_azf3328_mixer_controls); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_azf3328_mixer_controls); idx++, sw++) { if ((err = snd_ctl_add(chip->card, snd_ctl_new1(sw, chip))) < 0) return err; } @@ -813,7 +800,6 @@ static int snd_azf3328_capture_prepare(snd_pcm_substream_t * substream) static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; azf3328_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; int result = 0; @@ -830,7 +816,7 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd snd_azf3328_setfmt(chip, IDX_IO_PLAY_SOUNDFORMAT, runtime->rate, snd_pcm_format_width(runtime->format), runtime->channels); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop playback */ status1 = inw(chip->codec_port+IDX_IO_PLAY_FLAGS); status1 &= ~DMA_RESUME; @@ -838,11 +824,11 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd /* FIXME: clear interrupts or what??? */ outw(0xffff, chip->codec_port+IDX_IO_PLAY_IRQMASK); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); snd_azf3328_setdmaa(chip, runtime->dma_addr, snd_pcm_lib_period_bytes(substream), snd_pcm_lib_buffer_bytes(substream), 0); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); #ifdef WIN9X /* FIXME: enable playback/recording??? */ status1 |= DMA_PLAY_SOMETHING1 | DMA_PLAY_SOMETHING2; @@ -858,7 +844,7 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd outw(DMA_PLAY_SOMETHING1|DMA_PLAY_SOMETHING2, chip->codec_port+IDX_IO_PLAY_FLAGS); outw(DMA_RESUME|SOMETHING_ALMOST_ALWAYS_SET|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port+IDX_IO_PLAY_FLAGS); #endif - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); /* now unmute WaveOut */ snd_azf3328_mixer_set_mute(chip, IDX_MIXER_WAVEOUT, 0); @@ -870,7 +856,7 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd /* mute WaveOut */ snd_azf3328_mixer_set_mute(chip, IDX_MIXER_WAVEOUT, 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop playback */ status1 = inw(chip->codec_port+IDX_IO_PLAY_FLAGS); @@ -882,7 +868,7 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd status1 &= ~DMA_PLAY_SOMETHING1; outw(status1, chip->codec_port+IDX_IO_PLAY_FLAGS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); /* now unmute WaveOut */ snd_azf3328_mixer_set_mute(chip, IDX_MIXER_WAVEOUT, 0); @@ -906,7 +892,6 @@ static int snd_azf3328_playback_trigger(snd_pcm_substream_t * substream, int cmd * should actually be triggered like that */ static int snd_azf3328_capture_trigger(snd_pcm_substream_t * substream, int cmd) { - unsigned long flags; azf3328_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; int result = 0; @@ -920,7 +905,7 @@ static int snd_azf3328_capture_trigger(snd_pcm_substream_t * substream, int cmd) snd_azf3328_setfmt(chip, IDX_IO_REC_SOUNDFORMAT, runtime->rate, snd_pcm_format_width(runtime->format), runtime->channels); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop recording */ status1 = inw(chip->codec_port+IDX_IO_REC_FLAGS); status1 &= ~DMA_RESUME; @@ -928,11 +913,11 @@ static int snd_azf3328_capture_trigger(snd_pcm_substream_t * substream, int cmd) /* FIXME: clear interrupts or what??? */ outw(0xffff, chip->codec_port+IDX_IO_REC_IRQMASK); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); snd_azf3328_setdmaa(chip, runtime->dma_addr, snd_pcm_lib_period_bytes(substream), snd_pcm_lib_buffer_bytes(substream), 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); #ifdef WIN9X /* FIXME: enable playback/recording??? */ status1 |= DMA_PLAY_SOMETHING1 | DMA_PLAY_SOMETHING2; @@ -948,13 +933,13 @@ static int snd_azf3328_capture_trigger(snd_pcm_substream_t * substream, int cmd) outw(DMA_PLAY_SOMETHING1|DMA_PLAY_SOMETHING2, chip->codec_port+IDX_IO_REC_FLAGS); outw(DMA_RESUME|SOMETHING_ALMOST_ALWAYS_SET|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port+IDX_IO_REC_FLAGS); #endif - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); snd_azf3328_dbgio(chip, "trigger2"); chip->is_playing = 1; break; case SNDRV_PCM_TRIGGER_STOP: - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* stop recording */ status1 = inw(chip->codec_port+IDX_IO_REC_FLAGS); @@ -966,7 +951,7 @@ static int snd_azf3328_capture_trigger(snd_pcm_substream_t * substream, int cmd) status1 &= ~DMA_PLAY_SOMETHING1; outw(status1, chip->codec_port+IDX_IO_REC_FLAGS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); chip->is_playing = 0; break; @@ -990,16 +975,13 @@ static snd_pcm_uframes_t snd_azf3328_playback_pointer(snd_pcm_substream_t * subs unsigned long bufptr, playptr; unsigned long result; snd_pcm_uframes_t frmres; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); #ifdef QUERY_HARDWARE bufptr = inl(chip->codec_port+IDX_IO_PLAY_DMA_START_1); #else bufptr = substream->runtime->dma_addr; #endif playptr = inl(chip->codec_port+IDX_IO_PLAY_DMA_CURRPOS); - spin_unlock_irqrestore(&chip->reg_lock, flags); result = playptr - bufptr; frmres = bytes_to_frames( substream->runtime, result ); @@ -1013,16 +995,13 @@ static snd_pcm_uframes_t snd_azf3328_capture_pointer(snd_pcm_substream_t * subst unsigned long bufptr, recptr; unsigned long result; snd_pcm_uframes_t frmres; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); #ifdef QUERY_HARDWARE bufptr = inl(chip->codec_port+IDX_IO_REC_DMA_START_1); #else bufptr = substream->runtime->dma_addr; #endif recptr = inl(chip->codec_port+IDX_IO_REC_DMA_CURRPOS); - spin_unlock_irqrestore(&chip->reg_lock, flags); result = recptr - bufptr; frmres = bytes_to_frames( substream->runtime, result ); @@ -1032,7 +1011,7 @@ static snd_pcm_uframes_t snd_azf3328_capture_pointer(snd_pcm_substream_t * subst static irqreturn_t snd_azf3328_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - azf3328_t *chip = snd_magic_cast(azf3328_t, dev_id, return IRQ_NONE); + azf3328_t *chip = dev_id; unsigned int status, which; static unsigned long count; @@ -1232,7 +1211,7 @@ static snd_pcm_ops_t snd_azf3328_capture_ops = { static void snd_azf3328_pcm_free(snd_pcm_t *pcm) { - azf3328_t *chip = snd_magic_cast(azf3328_t, pcm->private_data, return); + azf3328_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1287,36 +1266,17 @@ static int snd_azf3328_free(azf3328_t *chip) kfree_nocheck(chip->res_joystick); } #endif - if (chip->res_codec_port) { - release_resource(chip->res_codec_port); - kfree_nocheck(chip->res_codec_port); - } - if (chip->res_io2_port) { - release_resource(chip->res_io2_port); - kfree_nocheck(chip->res_io2_port); - } - if (chip->res_mpu_port) { - release_resource(chip->res_mpu_port); - kfree_nocheck(chip->res_mpu_port); - } - if (chip->res_synth_port) { - release_resource(chip->res_synth_port); - kfree_nocheck(chip->res_synth_port); - } - if (chip->res_mixer_port) { - release_resource(chip->res_mixer_port); - kfree_nocheck(chip->res_mixer_port); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_azf3328_dev_free(snd_device_t *device) { - azf3328_t *chip = snd_magic_cast(azf3328_t, device->device_data, return -ENXIO); + azf3328_t *chip = device->device_data; return snd_azf3328_free(chip); } @@ -1345,7 +1305,6 @@ static int __devinit snd_azf3328_create(snd_card_t * card, unsigned long device_type, azf3328_t ** rchip) { - unsigned long flags; azf3328_t *chip; int err; static snd_device_ops_t ops = { @@ -1358,7 +1317,7 @@ static int __devinit snd_azf3328_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(azf3328_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -1373,36 +1332,16 @@ static int __devinit snd_azf3328_create(snd_card_t * card, return -ENXIO; } - chip->codec_port = pci_resource_start(pci, 0); - if ((chip->res_codec_port = request_region(chip->codec_port, 0x80, "Aztech AZF3328 I/O")) == NULL) { - snd_printk("unable to grab I/O port at 0x%lx-0x%lx\n", chip->codec_port, chip->codec_port + 0x80 - 1); - snd_azf3328_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "Aztech AZF3328")) < 0) { + kfree(chip); + return err; } + + chip->codec_port = pci_resource_start(pci, 0); chip->io2_port = pci_resource_start(pci, 1); - if ((chip->res_io2_port = request_region(chip->io2_port, 0x08, "Aztech AZF3328 I/O 2")) == NULL) { - snd_printk("unable to grab I/O 2 port at 0x%lx-0x%lx\n", chip->io2_port, chip->io2_port + 0x08 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } chip->mpu_port = pci_resource_start(pci, 2); - if ((chip->res_mpu_port = request_region(chip->mpu_port, 0x04, "Aztech AZF3328 MPU401")) == NULL) { - snd_printk("unable to grab MPU401 port at 0x%lx-0x%lx\n", chip->mpu_port, chip->mpu_port + 0x04 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } chip->synth_port = pci_resource_start(pci, 3); - if ((chip->res_synth_port = request_region(chip->synth_port, 0x08, "Aztech AZF3328 OPL3")) == NULL) { - snd_printk("unable to grab OPL3 port at 0x%lx-0x%lx\n", chip->synth_port, chip->synth_port + 0x08 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } chip->mixer_port = pci_resource_start(pci, 4); - if ((chip->res_mixer_port = request_region(chip->mixer_port, 0x40, "Aztech AZF3328 Mixer")) == NULL) { - snd_printk("unable to grab mixer port at 0x%lx-0x%lx\n", chip->mixer_port, chip->mixer_port + 0x40 - 1); - snd_azf3328_free(chip); - return -EBUSY; - } if (request_irq(pci->irq, snd_azf3328_interrupt, SA_INTERRUPT|SA_SHIRQ, card->shortname, (void *)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); @@ -1435,13 +1374,13 @@ static int __devinit snd_azf3328_create(snd_card_t * card, #endif /* standard chip init stuff */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); outb(DMA_PLAY_SOMETHING2|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port + IDX_IO_PLAY_FLAGS); outb(DMA_PLAY_SOMETHING2|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port + IDX_IO_SOMETHING_FLAGS); outb(DMA_PLAY_SOMETHING2|DMA_EPILOGUE_SOMETHING|DMA_SOMETHING_ELSE, chip->codec_port + IDX_IO_REC_FLAGS); outb(0x0, chip->codec_port + IDX_IO_IRQ63H); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); snd_card_set_dev(card, &pci->dev); diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c index 3c232660f..2e0ba15eb 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c @@ -38,8 +38,7 @@ MODULE_AUTHOR("Clemens Ladisch "); MODULE_DESCRIPTION("Brooktree Bt87x audio driver"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Brooktree,Bt878}," +MODULE_SUPPORTED_DEVICE("{{Brooktree,Bt878}," "{Brooktree,Bt879}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -50,16 +49,12 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Bt87x soundcard"); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Bt87x soundcard"); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Bt87x soundcard"); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(digital_rate, int, boot_devs, 0444); MODULE_PARM_DESC(digital_rate, "Digital input rate for Bt87x soundcard"); -MODULE_PARM_SYNTAX(digital_rate, SNDRV_ENABLED); #ifndef PCI_VENDOR_ID_BROOKTREE @@ -152,14 +147,12 @@ MODULE_PARM_SYNTAX(digital_rate, SNDRV_ENABLED); /* SYNC, one WRITE per line, one extra WRITE per page boundary, SYNC, JUMP */ #define MAX_RISC_SIZE ((1 + 255 + (PAGE_ALIGN(255 * 4092) / PAGE_SIZE - 1) + 1 + 1) * 8) -#define chip_t bt87x_t typedef struct snd_bt87x bt87x_t; struct snd_bt87x { snd_card_t *card; struct pci_dev *pci; void *mmio; - struct resource *res_mmio; int irq; int dig_rate; @@ -168,7 +161,6 @@ struct snd_bt87x { long opened; snd_pcm_substream_t *substream; - struct snd_dma_device dma_dev; struct snd_dma_buffer dma_risc; unsigned int line_bytes; unsigned int lines; @@ -197,10 +189,8 @@ static int snd_bt87x_create_risc(bt87x_t *chip, snd_pcm_substream_t *substream, u32 *risc; if (chip->dma_risc.area == NULL) { - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(chip->pci); - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_ALIGN(MAX_RISC_SIZE), &chip->dma_risc) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_ALIGN(MAX_RISC_SIZE), &chip->dma_risc) < 0) return -ENOMEM; } risc = (u32 *)chip->dma_risc.area; @@ -244,14 +234,14 @@ static int snd_bt87x_create_risc(bt87x_t *chip, snd_pcm_substream_t *substream, static void snd_bt87x_free_risc(bt87x_t *chip) { if (chip->dma_risc.area) { - snd_dma_free_pages(&chip->dma_dev, &chip->dma_risc); + snd_dma_free_pages(&chip->dma_risc); chip->dma_risc.area = NULL; } } static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - bt87x_t *chip = snd_magic_cast(bt87x_t, dev_id, return IRQ_NONE); + bt87x_t *chip = dev_id; unsigned int status; status = snd_bt87x_readl(chip, REG_INT_STAT); @@ -314,7 +304,7 @@ static snd_pcm_hardware_t snd_bt87x_analog_hw = { SNDRV_PCM_INFO_MMAP_VALID, .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S8, .rates = SNDRV_PCM_RATE_KNOT, - .rate_min = 119467, + .rate_min = 119466, .rate_max = 448000, .channels_min = 1, .channels_max = 1, @@ -356,20 +346,21 @@ static int snd_bt87x_set_digital_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime) static int snd_bt87x_set_analog_hw(bt87x_t *chip, snd_pcm_runtime_t *runtime) { - static unsigned int rates[] = { - 119467, 128000, 137846, 149333, 162909, 179200, - 199111, 224000, 256000, 298667, 358400, 448000 + static ratnum_t analog_clock = { + .num = 1792000, + .den_min = 4, + .den_max = 15, + .den_step = 1 }; - static snd_pcm_hw_constraint_list_t constraint_rates = { - .count = ARRAY_SIZE(rates), - .list = rates, - .mask = 0, + static snd_pcm_hw_constraint_ratnums_t constraint_rates = { + .nrats = 1, + .rats = &analog_clock }; chip->reg_control &= ~CTL_DA_IOM_DA; runtime->hw = snd_bt87x_analog_hw; - return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, - &constraint_rates); + return snd_pcm_hw_constraint_ratnums(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, + &constraint_rates); } static int snd_bt87x_pcm_open(snd_pcm_substream_t *substream) @@ -439,25 +430,22 @@ static int snd_bt87x_prepare(snd_pcm_substream_t *substream) { bt87x_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - unsigned long flags; int decimation; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->reg_control &= ~(CTL_DA_SDR_MASK | CTL_DA_SBR); - decimation = (1792000 + 5) / runtime->rate; + decimation = (1792000 + runtime->rate / 4) / runtime->rate; chip->reg_control |= decimation << CTL_DA_SDR_SHIFT; if (runtime->format == SNDRV_PCM_FORMAT_S8) chip->reg_control |= CTL_DA_SBR; snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_bt87x_start(bt87x_t *chip) { - unsigned long flags; - - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); chip->current_line = 0; chip->reg_control |= CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN; snd_bt87x_writel(chip, REG_RISC_STRT_ADD, chip->dma_risc.addr); @@ -465,20 +453,18 @@ static int snd_bt87x_start(bt87x_t *chip) chip->line_bytes | (chip->lines << 16)); snd_bt87x_writel(chip, REG_INT_MASK, MY_INTERRUPTS); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return 0; } static int snd_bt87x_stop(bt87x_t *chip) { - unsigned long flags; - - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); chip->reg_control &= ~(CTL_FIFO_ENABLE | CTL_RISC_ENABLE | CTL_ACAP_EN); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); snd_bt87x_writel(chip, REG_INT_MASK, 0); snd_bt87x_writel(chip, REG_INT_STAT, MY_INTERRUPTS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return 0; } @@ -536,17 +522,16 @@ static int snd_bt87x_capture_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_v static int snd_bt87x_capture_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { bt87x_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u32 old_control; int changed; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_control = chip->reg_control; chip->reg_control = (chip->reg_control & ~CTL_A_GAIN_MASK) | (value->value.integer.value[0] << CTL_A_GAIN_SHIFT); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); changed = old_control != chip->reg_control; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return changed; } @@ -578,17 +563,16 @@ static int snd_bt87x_capture_boost_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_va static int snd_bt87x_capture_boost_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { bt87x_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u32 old_control; int changed; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_control = chip->reg_control; chip->reg_control = (chip->reg_control & ~CTL_A_G2X) | (value->value.integer.value[0] ? CTL_A_G2X : 0); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); changed = chip->reg_control != old_control; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return changed; } @@ -624,17 +608,16 @@ static int snd_bt87x_capture_source_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_v static int snd_bt87x_capture_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { bt87x_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u32 old_control; int changed; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_control = chip->reg_control; chip->reg_control = (chip->reg_control & ~CTL_A_SEL_MASK) | (value->value.enumerated.item[0] << CTL_A_SEL_SHIFT); snd_bt87x_writel(chip, REG_GPIO_DMA_CTL, chip->reg_control); changed = chip->reg_control != old_control; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return changed; } @@ -655,19 +638,16 @@ static int snd_bt87x_free(bt87x_t *chip) iounmap(chip->mmio); } - if (chip->res_mmio) { - release_resource(chip->res_mmio); - kfree_nocheck(chip->res_mmio); - } if (chip->irq >= 0) free_irq(chip->irq, chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_bt87x_dev_free(snd_device_t *device) { - bt87x_t *chip = snd_magic_cast(bt87x_t, device->device_data, return -ENXIO); + bt87x_t *chip = device->device_data; return snd_bt87x_free(chip); } @@ -705,7 +685,7 @@ static int __devinit snd_bt87x_create(snd_card_t *card, if (err < 0) return err; - chip = snd_magic_kcalloc(bt87x_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (!chip) return -ENOMEM; chip->card = card; @@ -713,13 +693,9 @@ static int __devinit snd_bt87x_create(snd_card_t *card, chip->irq = -1; spin_lock_init(&chip->reg_lock); - chip->res_mmio = request_mem_region(pci_resource_start(pci, 0), - pci_resource_len(pci, 0), - "Bt87x audio"); - if (!chip->res_mmio) { - snd_bt87x_free(chip); - snd_printk(KERN_ERR "cannot allocate io memory\n"); - return -EBUSY; + if ((err = pci_request_regions(pci, "Bt87x audio")) < 0) { + kfree(chip); + return err; } chip->mmio = ioremap_nocache(pci_resource_start(pci, 0), pci_resource_len(pci, 0)); diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index a5ce7233a..768a7a224 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c @@ -43,8 +43,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("C-Media CMI8x38 PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{C-Media,CMI8738}," +MODULE_SUPPORTED_DEVICE("{{C-Media,CMI8738}," "{C-Media,CMI8738B}," "{C-Media,CMI8338A}," "{C-Media,CMI8338B}}"); @@ -66,25 +65,19 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for C-Media PCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for C-Media PCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable C-Media PCI soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0},{0x330},{0x320},{0x310},{0x300}},dialog:list"); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM port."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED ",allows:{{0},{0x388},{0x3c8},{0x3e0},{0x3e8}},dialog:list"); module_param_array(soft_ac3, bool, boot_devs, 0444); MODULE_PARM_DESC(soft_ac3, "Sofware-conversion of raw SPDIF packets (model 033 only)."); #ifdef SUPPORT_JOYSTICK module_param_array(joystick_port, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address."); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED ",allows:{{0},{1},{0x200},{0x201}},dialog:list"); #endif #ifndef PCI_DEVICE_ID_CMEDIA_CM8738 @@ -405,8 +398,6 @@ MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED ",allows:{{0},{1},{0x200},{0x201 typedef struct snd_stru_cmipci cmipci_t; typedef struct snd_stru_cmipci_pcm cmipci_pcm_t; -#define chip_t cmipci_t - struct snd_stru_cmipci_pcm { snd_pcm_substream_t *substream; int running; /* dac/adc running? */ @@ -442,7 +433,6 @@ struct snd_stru_cmipci { int irq; unsigned long iobase; - struct resource *res_iobase; unsigned int ctrl; /* FUNCTRL0 current value */ snd_pcm_t *pcm; /* DAC/ADC PCM */ @@ -699,15 +689,13 @@ static snd_pcm_hw_constraint_list_t hw_constraints_channels_6 = { static int set_dac_channels(cmipci_t *cm, cmipci_pcm_t *rec, int channels) { - unsigned long flags; - if (channels > 2) { if (! cm->can_multi_ch) return -EINVAL; if (rec->fmt != 0x03) /* stereo 16bit only */ return -EINVAL; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_set_bit(cm, CM_REG_LEGACY_CTRL, CM_NXCHG); snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC); if (channels > 4) { @@ -724,18 +712,18 @@ static int set_dac_channels(cmipci_t *cm, cmipci_pcm_t *rec, int channels) snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENCENTER); } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } else { if (cm->can_multi_ch) { - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_NXCHG); snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D); snd_cmipci_clear_bit(cm, CM_REG_CHFORMAT, CM_CHB3D5C); snd_cmipci_clear_bit(cm, CM_REG_LEGACY_CTRL, CM_CHB3D6C); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENCENTER); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } } return 0; @@ -749,7 +737,6 @@ static int set_dac_channels(cmipci_t *cm, cmipci_pcm_t *rec, int channels) static int snd_cmipci_pcm_prepare(cmipci_t *cm, cmipci_pcm_t *rec, snd_pcm_substream_t *substream) { - unsigned long flags; unsigned int reg, freq, val; snd_pcm_runtime_t *runtime = substream->runtime; @@ -777,7 +764,7 @@ static int snd_cmipci_pcm_prepare(cmipci_t *cm, cmipci_pcm_t *rec, rec->period_size = (rec->period_size * runtime->channels) / 2; } - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); /* set buffer address */ reg = rec->ch ? CM_REG_CH1_FRAME1 : CM_REG_CH0_FRAME1; @@ -822,7 +809,7 @@ static int snd_cmipci_pcm_prepare(cmipci_t *cm, cmipci_pcm_t *rec, //snd_printd("cmipci: chformat = %08x\n", val); rec->running = 0; - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } @@ -954,13 +941,12 @@ static int snd_cmipci_spdif_default_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) ucontrol->value.iec958.status[i] = (chip->dig_status >> (i * 8)) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -968,17 +954,16 @@ static int snd_cmipci_spdif_default_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i, change; unsigned int val; val = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8); change = val != chip->dig_status; chip->dig_status = val; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1030,13 +1015,12 @@ static int snd_cmipci_spdif_stream_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) ucontrol->value.iec958.status[i] = (chip->dig_pcm_status >> (i * 8)) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1044,17 +1028,16 @@ static int snd_cmipci_spdif_stream_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { cmipci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int i, change; unsigned int val; val = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < 4; i++) val |= (unsigned int)ucontrol->value.iec958.status[i] << (i * 8); change = val != chip->dig_pcm_status; chip->dig_pcm_status = val; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1072,30 +1055,36 @@ static snd_kcontrol_new_t snd_cmipci_spdif_stream __devinitdata = */ /* save mixer setting and mute for AC3 playback */ -static void save_mixer_state(cmipci_t *cm) +static int save_mixer_state(cmipci_t *cm) { if (! cm->mixer_insensitive) { + snd_ctl_elem_value_t *val; unsigned int i; + + val = kmalloc(sizeof(*val), GFP_ATOMIC); + if (!val) + return -ENOMEM; for (i = 0; i < CM_SAVED_MIXERS; i++) { snd_kcontrol_t *ctl = cm->mixer_res_ctl[i]; if (ctl) { - snd_ctl_elem_value_t val; int event; - memset(&val, 0, sizeof(val)); - ctl->get(ctl, &val); - cm->mixer_res_status[i] = val.value.integer.value[0]; - val.value.integer.value[0] = cm_saved_mixer[i].toggle_on; + memset(val, 0, sizeof(*val)); + ctl->get(ctl, val); + cm->mixer_res_status[i] = val->value.integer.value[0]; + val->value.integer.value[0] = cm_saved_mixer[i].toggle_on; event = SNDRV_CTL_EVENT_MASK_INFO; - if (cm->mixer_res_status[i] != val.value.integer.value[0]) { - ctl->put(ctl, &val); /* toggle */ + if (cm->mixer_res_status[i] != val->value.integer.value[0]) { + ctl->put(ctl, val); /* toggle */ event |= SNDRV_CTL_EVENT_MASK_VALUE; } ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(cm->card, event, &ctl->id); } } + kfree(val); cm->mixer_insensitive = 1; } + return 0; } @@ -1103,27 +1092,32 @@ static void save_mixer_state(cmipci_t *cm) static void restore_mixer_state(cmipci_t *cm) { if (cm->mixer_insensitive) { + snd_ctl_elem_value_t *val; unsigned int i; + + val = kmalloc(sizeof(*val), GFP_KERNEL); + if (!val) + return; cm->mixer_insensitive = 0; /* at first clear this; otherwise the changes will be ignored */ for (i = 0; i < CM_SAVED_MIXERS; i++) { snd_kcontrol_t *ctl = cm->mixer_res_ctl[i]; if (ctl) { - snd_ctl_elem_value_t val; int event; - memset(&val, 0, sizeof(val)); + memset(val, 0, sizeof(*val)); ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; - ctl->get(ctl, &val); + ctl->get(ctl, val); event = SNDRV_CTL_EVENT_MASK_INFO; - if (val.value.integer.value[0] != cm->mixer_res_status[i]) { - val.value.integer.value[0] = cm->mixer_res_status[i]; - ctl->put(ctl, &val); + if (val->value.integer.value[0] != cm->mixer_res_status[i]) { + val->value.integer.value[0] = cm->mixer_res_status[i]; + ctl->put(ctl, val); event |= SNDRV_CTL_EVENT_MASK_VALUE; } snd_ctl_notify(cm->card, event, &ctl->id); } } + kfree(val); } } @@ -1175,17 +1169,17 @@ static void setup_ac3(cmipci_t *cm, snd_pcm_substream_t *subs, int do_ac3, int r } } -static void setup_spdif_playback(cmipci_t *cm, snd_pcm_substream_t *subs, int up, int do_ac3) +static int setup_spdif_playback(cmipci_t *cm, snd_pcm_substream_t *subs, int up, int do_ac3) { - int rate; - unsigned long flags; + int rate, err; rate = subs->runtime->rate; if (up && do_ac3) - save_mixer_state(cm); + if ((err = save_mixer_state(cm)) < 0) + return err; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); cm->spdif_playback_avail = up; if (up) { /* they are controlled via "IEC958 Output Switch" */ @@ -1207,7 +1201,8 @@ static void setup_spdif_playback(cmipci_t *cm, snd_pcm_substream_t *subs, int up snd_cmipci_clear_bit(cm, CM_REG_FUNCTRL1, CM_PLAYBACK_SPDF); setup_ac3(cm, subs, 0, 0); } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); + return 0; } @@ -1220,13 +1215,15 @@ static int snd_cmipci_playback_prepare(snd_pcm_substream_t *substream) { cmipci_t *cm = snd_pcm_substream_chip(substream); int rate = substream->runtime->rate; - int do_spdif, do_ac3 = 0; + int err, do_spdif, do_ac3 = 0; + do_spdif = ((rate == 44100 || rate == 48000) && substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE && substream->runtime->channels == 2); if (do_spdif && cm->can_ac3_hw) do_ac3 = cm->dig_pcm_status & IEC958_AES0_NONAUDIO; - setup_spdif_playback(cm, substream, do_spdif, do_ac3); + if ((err = setup_spdif_playback(cm, substream, do_spdif, do_ac3)) < 0) + return err; return snd_cmipci_pcm_prepare(cm, &cm->channel[CM_CH_PLAY], substream); } @@ -1234,12 +1231,14 @@ static int snd_cmipci_playback_prepare(snd_pcm_substream_t *substream) static int snd_cmipci_playback_spdif_prepare(snd_pcm_substream_t *substream) { cmipci_t *cm = snd_pcm_substream_chip(substream); - int do_ac3; + int err, do_ac3; + if (cm->can_ac3_hw) do_ac3 = cm->dig_pcm_status & IEC958_AES0_NONAUDIO; else do_ac3 = 1; /* doesn't matter */ - setup_spdif_playback(cm, substream, 1, do_ac3); + if ((err = setup_spdif_playback(cm, substream, 1, do_ac3)) < 0) + return err; return snd_cmipci_pcm_prepare(cm, &cm->channel[CM_CH_PLAY], substream); } @@ -1262,11 +1261,10 @@ static int snd_cmipci_capture_prepare(snd_pcm_substream_t *substream) static int snd_cmipci_capture_spdif_prepare(snd_pcm_substream_t *substream) { cmipci_t *cm = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_CAPTURE_SPDF); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return snd_cmipci_pcm_prepare(cm, &cm->channel[CM_CH_CAPT], substream); } @@ -1274,11 +1272,10 @@ static int snd_cmipci_capture_spdif_prepare(snd_pcm_substream_t *substream) static int snd_cmipci_capture_spdif_hw_free(snd_pcm_substream_t *subs) { cmipci_t *cm = snd_pcm_substream_chip(subs); - unsigned long flags; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_clear_bit(cm, CM_REG_FUNCTRL1, CM_CAPTURE_SPDF); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return snd_cmipci_hw_free(subs); } @@ -1289,7 +1286,7 @@ static int snd_cmipci_capture_spdif_hw_free(snd_pcm_substream_t *subs) */ static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cmipci_t *cm = snd_magic_cast(cmipci_t, dev_id, return IRQ_NONE); + cmipci_t *cm = dev_id; unsigned int status, mask = 0; /* fastpath out, to ease interrupt sharing */ @@ -1448,7 +1445,6 @@ static snd_pcm_hardware_t snd_cmipci_capture_spdif = */ static int open_device_check(cmipci_t *cm, int mode, snd_pcm_substream_t *subs) { - unsigned long flags; int ch = mode & CM_OPEN_CH_MASK; /* FIXME: a file should wait until the device becomes free @@ -1466,9 +1462,9 @@ static int open_device_check(cmipci_t *cm, int mode, snd_pcm_substream_t *subs) if (! (mode & CM_OPEN_DAC)) { /* disable dual DAC mode */ cm->channel[ch].is_dac = 0; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_ENDBDAC); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } up(&cm->open_mutex); return 0; @@ -1476,7 +1472,6 @@ static int open_device_check(cmipci_t *cm, int mode, snd_pcm_substream_t *subs) static void close_device_check(cmipci_t *cm, int mode) { - unsigned long flags; int ch = mode & CM_OPEN_CH_MASK; down(&cm->open_mutex); @@ -1490,9 +1485,9 @@ static void close_device_check(cmipci_t *cm, int mode) if (! cm->channel[ch].is_dac) { /* enable dual DAC mode again */ cm->channel[ch].is_dac = 1; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_ENDBDAC); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); } } up(&cm->open_mutex); @@ -1840,12 +1835,11 @@ static int snd_cmipci_info_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t static int snd_cmipci_get_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int val; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); val = (snd_cmipci_mixer_read(cm, reg.left_reg) >> reg.left_shift) & reg.mask; if (reg.invert) val = reg.mask - val; @@ -1856,14 +1850,13 @@ static int snd_cmipci_get_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t val = reg.mask - val; ucontrol->value.integer.value[1] = val; } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } static int snd_cmipci_put_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int change; int left, right, oleft, oright; @@ -1880,7 +1873,7 @@ static int snd_cmipci_put_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t right <<= reg.right_shift; } else right = 0; - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oleft = snd_cmipci_mixer_read(cm, reg.left_reg); left |= oleft & ~(reg.mask << reg.left_shift); change = left != oleft; @@ -1895,7 +1888,7 @@ static int snd_cmipci_put_volume(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t snd_cmipci_mixer_write(cm, reg.right_reg, right); } else snd_cmipci_mixer_write(cm, reg.left_reg, left); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return change; } @@ -1921,15 +1914,14 @@ static int snd_cmipci_info_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_info static int snd_cmipci_get_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int val1, val2; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); val1 = snd_cmipci_mixer_read(cm, reg.left_reg); val2 = snd_cmipci_mixer_read(cm, reg.right_reg); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); ucontrol->value.integer.value[0] = (val1 >> reg.left_shift) & 1; ucontrol->value.integer.value[1] = (val2 >> reg.left_shift) & 1; ucontrol->value.integer.value[2] = (val1 >> reg.right_shift) & 1; @@ -1940,13 +1932,12 @@ static int snd_cmipci_get_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value static int snd_cmipci_put_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { cmipci_t *cm = snd_kcontrol_chip(kcontrol); - unsigned long flags; cmipci_sb_reg_t reg; int change; int val1, val2, oval1, oval2; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oval1 = snd_cmipci_mixer_read(cm, reg.left_reg); oval2 = snd_cmipci_mixer_read(cm, reg.right_reg); val1 = oval1 & ~((1 << reg.left_shift) | (1 << reg.right_shift)); @@ -1958,7 +1949,7 @@ static int snd_cmipci_put_input_sw(snd_kcontrol_t * kcontrol, snd_ctl_elem_value change = val1 != oval1 || val2 != oval2; snd_cmipci_mixer_write(cm, reg.left_reg, val1); snd_cmipci_mixer_write(cm, reg.right_reg, val2); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return change; } @@ -2011,11 +2002,10 @@ static int snd_cmipci_get_native_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_v { cmipci_t *cm = snd_kcontrol_chip(kcontrol); cmipci_sb_reg_t reg; - unsigned long flags; unsigned char oreg, val; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oreg = inb(cm->iobase + reg.left_reg); val = (oreg >> reg.left_shift) & reg.mask; if (reg.invert) @@ -2027,7 +2017,7 @@ static int snd_cmipci_get_native_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_v val = reg.mask - val; ucontrol->value.integer.value[1] = val; } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } @@ -2035,11 +2025,10 @@ static int snd_cmipci_put_native_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_v { cmipci_t *cm = snd_kcontrol_chip(kcontrol); cmipci_sb_reg_t reg; - unsigned long flags; unsigned char oreg, nreg, val; cmipci_sb_reg_decode(®, kcontrol->private_value); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); oreg = inb(cm->iobase + reg.left_reg); val = ucontrol->value.integer.value[0] & reg.mask; if (reg.invert) @@ -2054,7 +2043,7 @@ static int snd_cmipci_put_native_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_v nreg |= (val << reg.right_shift); } outb(nreg, cm->iobase + reg.left_reg); - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return (nreg != oreg); } @@ -2078,8 +2067,6 @@ static int snd_cmipci_put_native_mixer_sensitive(snd_kcontrol_t *kcontrol, snd_c } -#define num_controls(ary) (sizeof(ary) / sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_cmipci_mixers[] __devinitdata = { CMIPCI_SB_VOL_STEREO("Master Playback Volume", SB_DSP4_MASTER_DEV, 3, 31), CMIPCI_MIXER_SW_MONO("3D Control - Switch", CM_REG_MIXER1, CM_X3DEN_SHIFT, 0), @@ -2137,14 +2124,13 @@ static int snd_cmipci_uswitch_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int _snd_cmipci_uswitch_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol, snd_cmipci_switch_args_t *args) { - unsigned long flags; unsigned int val; cmipci_t *cm = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); if (args->ac3_sensitive && cm->mixer_insensitive) { ucontrol->value.integer.value[0] = 0; - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } if (args->is_byte) @@ -2152,7 +2138,7 @@ static int _snd_cmipci_uswitch_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_ else val = snd_cmipci_read(cm, args->reg); ucontrol->value.integer.value[0] = ((val & args->mask) == args->mask_on) ? 1 : 0; - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } @@ -2165,15 +2151,14 @@ static int snd_cmipci_uswitch_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t static int _snd_cmipci_uswitch_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol, snd_cmipci_switch_args_t *args) { - unsigned long flags; unsigned int val; int change; cmipci_t *cm = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); if (args->ac3_sensitive && cm->mixer_insensitive) { /* ignored */ - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return 0; } if (args->is_byte) @@ -2192,7 +2177,7 @@ static int _snd_cmipci_uswitch_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_ else snd_cmipci_write(cm, args->reg, val); } - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); return change; } @@ -2345,7 +2330,6 @@ static snd_kcontrol_new_t snd_cmipci_control_switches[] __devinitdata = { static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) { - unsigned long flags; snd_card_t *card; snd_kcontrol_new_t *sw; snd_kcontrol_t *kctl; @@ -2358,18 +2342,18 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) strcpy(card->mixername, "CMedia PCI"); - spin_lock_irqsave(&cm->reg_lock, flags); + spin_lock_irq(&cm->reg_lock); snd_cmipci_mixer_write(cm, 0x00, 0x00); /* mixer reset */ - spin_unlock_irqrestore(&cm->reg_lock, flags); + spin_unlock_irq(&cm->reg_lock); - for (idx = 0; idx < num_controls(snd_cmipci_mixers); idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_mixers); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cmipci_mixers[idx], cm))) < 0) return err; } /* mixer switches */ sw = snd_cmipci_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2382,7 +2366,7 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) if (cm->device == PCI_DEVICE_ID_CMEDIA_CM8738 || cm->device == PCI_DEVICE_ID_CMEDIA_CM8738B) { sw = snd_cmipci_8738_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_8738_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_8738_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2400,7 +2384,7 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) } if (cm->chip_version <= 37) { sw = snd_cmipci_old_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_old_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_old_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2409,7 +2393,7 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) } if (cm->chip_version >= 39) { sw = snd_cmipci_extra_mixer_switches; - for (idx = 0; idx < num_controls(snd_cmipci_extra_mixer_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_extra_mixer_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2418,7 +2402,7 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) /* card switches */ sw = snd_cmipci_control_switches; - for (idx = 0; idx < num_controls(snd_cmipci_control_switches); idx++, sw++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_control_switches); idx++, sw++) { err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm)); if (err < 0) return err; @@ -2446,7 +2430,7 @@ static int __devinit snd_cmipci_mixer_new(cmipci_t *cm, int pcm_spdif_device) static void snd_cmipci_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - cmipci_t *cm = snd_magic_cast(cmipci_t, entry->private_data, return); + cmipci_t *cm = entry->private_data; int i; snd_iprintf(buffer, "%s\n\n", cm->card->longname); @@ -2566,17 +2550,14 @@ static int snd_cmipci_free(cmipci_t *cm) kfree_nocheck(cm->res_joystick); } #endif - if (cm->res_iobase) { - release_resource(cm->res_iobase); - kfree_nocheck(cm->res_iobase); - } - snd_magic_kfree(cm); + pci_release_regions(cm->pci); + kfree(cm); return 0; } static int snd_cmipci_dev_free(snd_device_t *device) { - cmipci_t *cm = snd_magic_cast(cmipci_t, device->device_data, return -ENXIO); + cmipci_t *cm = device->device_data; return snd_cmipci_free(cm); } @@ -2598,7 +2579,7 @@ static int __devinit snd_cmipci_create(snd_card_t *card, struct pci_dev *pci, if ((err = pci_enable_device(pci)) < 0) return err; - cm = snd_magic_kcalloc(cmipci_t, 0, GFP_KERNEL); + cm = kcalloc(1, sizeof(*cm), GFP_KERNEL); if (cm == NULL) return -ENOMEM; @@ -2608,16 +2589,16 @@ static int __devinit snd_cmipci_create(snd_card_t *card, struct pci_dev *pci, cm->card = card; cm->pci = pci; cm->irq = -1; - cm->iobase = pci_resource_start(pci, 0); cm->channel[0].ch = 0; cm->channel[1].ch = 1; cm->channel[0].is_dac = cm->channel[1].is_dac = 1; /* dual DAC mode */ - if ((cm->res_iobase = request_region(cm->iobase, CM_EXTENT_CODEC, card->driver)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", cm->iobase, cm->iobase + CM_EXTENT_CODEC - 1); - err = -EBUSY; - goto __error; + if ((err = pci_request_regions(pci, card->driver)) < 0) { + kfree(cm); + return err; } + cm->iobase = pci_resource_start(pci, 0); + if (request_irq(pci->irq, snd_cmipci_interrupt, SA_INTERRUPT|SA_SHIRQ, card->driver, (void *)cm)) { snd_printk("unable to grab IRQ %d\n", pci->irq); err = -EBUSY; @@ -2776,12 +2757,12 @@ static int __devinit snd_cmipci_create(snd_card_t *card, struct pci_dev *pci, int i; for (i = 0; ports[i]; i++) { joystick_port[dev] = ports[i]; - cm->res_joystick = request_region(ports[i], 8, "CMIPCI gameport"); + cm->res_joystick = request_region(ports[i], 1, "CMIPCI gameport"); if (cm->res_joystick) break; } } else { - cm->res_joystick = request_region(joystick_port[dev], 8, "CMIPCI gameport"); + cm->res_joystick = request_region(joystick_port[dev], 1, "CMIPCI gameport"); } } if (cm->res_joystick) { diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c index 86430a0bc..65bc9ba24 100644 --- a/sound/pci/cs4281.c +++ b/sound/pci/cs4281.c @@ -40,8 +40,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Cirrus Logic CS4281"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Cirrus Logic,CS4281}}"); +MODULE_SUPPORTED_DEVICE("{{Cirrus Logic,CS4281}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -51,16 +50,12 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for CS4281 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for CS4281 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CS4281 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(dual_codec, bool, boot_devs, 0444); MODULE_PARM_DESC(dual_codec, "Secondary Codec ID (0 = disabled)."); -MODULE_PARM_SYNTAX(dual_codec, SNDRV_ENABLED ",allows:{{0,3}}"); /* * @@ -441,8 +436,6 @@ MODULE_PARM_SYNTAX(dual_codec, SNDRV_ENABLED ",allows:{{0,3}}"); * */ -#define chip_t cs4281_t - typedef struct snd_cs4281 cs4281_t; typedef struct snd_cs4281_dma cs4281_dma_t; @@ -475,8 +468,6 @@ struct snd_cs4281 { unsigned long ba1; /* virtual (accessible) address */ unsigned long ba0_addr; unsigned long ba1_addr; - struct resource *ba0_res; - struct resource *ba1_res; int dual_codec; @@ -575,7 +566,7 @@ static void snd_cs4281_ac97_write(ac97_t *ac97, * 4. Read ACCTL = 460h, DCV should be reset by now and 460h = 07h * 5. if DCV not cleared, break and return error */ - cs4281_t *chip = snd_magic_cast(cs4281_t, ac97->private_data, return); + cs4281_t *chip = ac97->private_data; int count; /* @@ -613,7 +604,7 @@ static void snd_cs4281_ac97_write(ac97_t *ac97, static unsigned short snd_cs4281_ac97_read(ac97_t *ac97, unsigned short reg) { - cs4281_t *chip = snd_magic_cast(cs4281_t, ac97->private_data, return -ENXIO); + cs4281_t *chip = ac97->private_data; int count; unsigned short result; // FIXME: volatile is necessary in the following due to a bug of @@ -709,9 +700,8 @@ static int snd_cs4281_trigger(snd_pcm_substream_t *substream, int cmd) { cs4281_dma_t *dma = (cs4281_dma_t *)substream->runtime->private_data; cs4281_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_PAUSE_PUSH: dma->valDCR |= BA0_DCR_MSK; @@ -738,13 +728,13 @@ static int snd_cs4281_trigger(snd_pcm_substream_t *substream, int cmd) dma->valFCR &= ~BA0_FCR_FEN; break; default: - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return -EINVAL; } snd_cs4281_pokeBA0(chip, dma->regDMR, dma->valDMR); snd_cs4281_pokeBA0(chip, dma->regFCR, dma->valFCR); snd_cs4281_pokeBA0(chip, dma->regDCR, dma->valDCR); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return 0; } @@ -851,11 +841,10 @@ static int snd_cs4281_playback_prepare(snd_pcm_substream_t * substream) snd_pcm_runtime_t *runtime = substream->runtime; cs4281_dma_t *dma = (cs4281_dma_t *)runtime->private_data; cs4281_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_cs4281_mode(chip, dma, runtime, 0, 1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -864,11 +853,10 @@ static int snd_cs4281_capture_prepare(snd_pcm_substream_t * substream) snd_pcm_runtime_t *runtime = substream->runtime; cs4281_dma_t *dma = (cs4281_dma_t *)runtime->private_data; cs4281_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_cs4281_mode(chip, dma, runtime, 1, 1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1015,7 +1003,7 @@ static snd_pcm_ops_t snd_cs4281_capture_ops = { static void snd_cs4281_pcm_free(snd_pcm_t *pcm) { - cs4281_t *chip = snd_magic_cast(cs4281_t, pcm->private_data, return); + cs4281_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1124,13 +1112,13 @@ static snd_kcontrol_new_t snd_cs4281_pcm_vol = static void snd_cs4281_mixer_free_ac97_bus(ac97_bus_t *bus) { - cs4281_t *chip = snd_magic_cast(cs4281_t, bus->private_data, return); + cs4281_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_cs4281_mixer_free_ac97(ac97_t *ac97) { - cs4281_t *chip = snd_magic_cast(cs4281_t, ac97->private_data, return); + cs4281_t *chip = ac97->private_data; if (ac97->num) chip->ac97_secondary = NULL; else @@ -1140,17 +1128,16 @@ static void snd_cs4281_mixer_free_ac97(ac97_t *ac97) static int __devinit snd_cs4281_mixer(cs4281_t * chip) { snd_card_t *card = chip->card; - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_cs4281_ac97_write, + .read = snd_cs4281_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_cs4281_ac97_write; - bus.read = snd_cs4281_ac97_read; - bus.private_data = chip; - bus.private_free = snd_cs4281_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_cs4281_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1177,7 +1164,7 @@ static int __devinit snd_cs4281_mixer(cs4281_t * chip) static void snd_cs4281_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - cs4281_t *chip = snd_magic_cast(cs4281_t, entry->private_data, return); + cs4281_t *chip = entry->private_data; snd_iprintf(buffer, "Cirrus Logic CS4281\n\n"); snd_iprintf(buffer, "Spurious half IRQs : %u\n", chip->spurious_dhtc_irq); @@ -1189,7 +1176,7 @@ static long snd_cs4281_BA0_read(snd_info_entry_t *entry, void *file_private_data unsigned long count, unsigned long pos) { long size; - cs4281_t *chip = snd_magic_cast(cs4281_t, entry->private_data, return -ENXIO); + cs4281_t *chip = entry->private_data; size = count; if (pos + size > CS4281_BA0_SIZE) @@ -1206,7 +1193,7 @@ static long snd_cs4281_BA1_read(snd_info_entry_t *entry, void *file_private_data unsigned long count, unsigned long pos) { long size; - cs4281_t *chip = snd_magic_cast(cs4281_t, entry->private_data, return -ENXIO); + cs4281_t *chip = entry->private_data; size = count; if (pos + size > CS4281_BA1_SIZE) @@ -1262,7 +1249,7 @@ static void snd_cs4281_gameport_trigger(struct gameport *gameport) cs4281_gameport_t *gp = (cs4281_gameport_t *)gameport; cs4281_t *chip; snd_assert(gp, return); - chip = snd_magic_cast(cs4281_t, gp->chip, return); + chip = gp->chip; snd_cs4281_pokeBA0(chip, BA0_JSPT, 0xff); } @@ -1271,7 +1258,7 @@ static unsigned char snd_cs4281_gameport_read(struct gameport *gameport) cs4281_gameport_t *gp = (cs4281_gameport_t *)gameport; cs4281_t *chip; snd_assert(gp, return 0); - chip = snd_magic_cast(cs4281_t, gp->chip, return 0); + chip = gp->chip; return snd_cs4281_peekBA0(chip, BA0_JSPT); } @@ -1283,7 +1270,7 @@ static int snd_cs4281_gameport_cooked_read(struct gameport *gameport, int *axes, unsigned js1, js2, jst; snd_assert(gp, return 0); - chip = snd_magic_cast(cs4281_t, gp->chip, return 0); + chip = gp->chip; js1 = snd_cs4281_peekBA0(chip, BA0_JSC1); js2 = snd_cs4281_peekBA0(chip, BA0_JSC2); @@ -1369,28 +1356,21 @@ static int snd_cs4281_free(cs4281_t *chip) /* PCI interface - D3 state */ pci_set_power_state(chip->pci, 3); + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); if (chip->ba0) iounmap((void *) chip->ba0); if (chip->ba1) iounmap((void *) chip->ba1); - if (chip->ba0_res) { - release_resource(chip->ba0_res); - kfree_nocheck(chip->ba0_res); - } - if (chip->ba1_res) { - release_resource(chip->ba1_res); - kfree_nocheck(chip->ba1_res); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4281_dev_free(snd_device_t *device) { - cs4281_t *chip = snd_magic_cast(cs4281_t, device->device_data, return -ENXIO); + cs4281_t *chip = device->device_data; return snd_cs4281_free(chip); } @@ -1415,15 +1395,13 @@ static int __devinit snd_cs4281_create(snd_card_t * card, *rchip = NULL; if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(cs4281_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); chip->card = card; chip->pci = pci; chip->irq = -1; - chip->ba0_addr = pci_resource_start(pci, 0); - chip->ba1_addr = pci_resource_start(pci, 1); pci_set_master(pci); if (dual_codec < 0 || dual_codec > 3) { snd_printk(KERN_ERR "invalid dual_codec option %d\n", dual_codec); @@ -1431,16 +1409,13 @@ static int __devinit snd_cs4281_create(snd_card_t * card, } chip->dual_codec = dual_codec; - if ((chip->ba0_res = request_mem_region(chip->ba0_addr, CS4281_BA0_SIZE, "CS4281 BA0")) == NULL) { - snd_printk(KERN_ERR "unable to grab memory region 0x%lx-0x%lx\n", chip->ba0_addr, chip->ba0_addr + CS4281_BA0_SIZE - 1); - snd_cs4281_free(chip); - return -ENOMEM; - } - if ((chip->ba1_res = request_mem_region(chip->ba1_addr, CS4281_BA1_SIZE, "CS4281 BA1")) == NULL) { - snd_printk(KERN_ERR "unable to grab memory region 0x%lx-0x%lx\n", chip->ba1_addr, chip->ba1_addr + CS4281_BA1_SIZE - 1); - snd_cs4281_free(chip); - return -ENOMEM; + if ((err = pci_request_regions(pci, "CS4281")) < 0) { + kfree(chip); + return err; } + chip->ba0_addr = pci_resource_start(pci, 0); + chip->ba1_addr = pci_resource_start(pci, 1); + if (request_irq(pci->irq, snd_cs4281_interrupt, SA_INTERRUPT|SA_SHIRQ, "CS4281", (void *)chip)) { snd_printk(KERN_ERR "unable to grab IRQ %d\n", pci->irq); snd_cs4281_free(chip); @@ -1448,8 +1423,8 @@ static int __devinit snd_cs4281_create(snd_card_t * card, } chip->irq = pci->irq; - chip->ba0 = (unsigned long) ioremap_nocache(chip->ba0_addr, CS4281_BA0_SIZE); - chip->ba1 = (unsigned long) ioremap_nocache(chip->ba1_addr, CS4281_BA1_SIZE); + chip->ba0 = (unsigned long) ioremap_nocache(chip->ba0_addr, pci_resource_len(pci, 0)); + chip->ba1 = (unsigned long) ioremap_nocache(chip->ba1_addr, pci_resource_len(pci, 1)); if (!chip->ba0 || !chip->ba1) { snd_cs4281_free(chip); return -ENOMEM; @@ -1713,10 +1688,9 @@ static void snd_cs4281_midi_reset(cs4281_t *chip) static int snd_cs4281_midi_input_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr |= BA0_MIDCR_RXE; chip->midi_input = substream; if (!(chip->uartm & CS4281_MODE_OUTPUT)) { @@ -1724,16 +1698,15 @@ static int snd_cs4281_midi_input_open(snd_rawmidi_substream_t * substream) } else { snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs4281_midi_input_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(BA0_MIDCR_RXE | BA0_MIDCR_RIE); chip->midi_input = NULL; if (!(chip->uartm & CS4281_MODE_OUTPUT)) { @@ -1742,16 +1715,15 @@ static int snd_cs4281_midi_input_close(snd_rawmidi_substream_t * substream) snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS4281_MODE_INPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs4281_midi_output_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->uartm |= CS4281_MODE_OUTPUT; chip->midcr |= BA0_MIDCR_TXE; chip->midi_output = substream; @@ -1760,16 +1732,15 @@ static int snd_cs4281_midi_output_open(snd_rawmidi_substream_t * substream) } else { snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs4281_midi_output_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return -ENXIO); + cs4281_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(BA0_MIDCR_TXE | BA0_MIDCR_TIE); chip->midi_output = NULL; if (!(chip->uartm & CS4281_MODE_INPUT)) { @@ -1778,14 +1749,14 @@ static int snd_cs4281_midi_output_close(snd_rawmidi_substream_t * substream) snd_cs4281_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS4281_MODE_OUTPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static void snd_cs4281_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return); + cs4281_t *chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->reg_lock, flags); if (up) { @@ -1805,7 +1776,7 @@ static void snd_cs4281_midi_input_trigger(snd_rawmidi_substream_t * substream, i static void snd_cs4281_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs4281_t *chip = snd_magic_cast(cs4281_t, substream->rmidi->private_data, return); + cs4281_t *chip = substream->rmidi->private_data; unsigned char byte; spin_lock_irqsave(&chip->reg_lock, flags); @@ -1872,7 +1843,7 @@ static int __devinit snd_cs4281_midi(cs4281_t * chip, int device, snd_rawmidi_t static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs4281_t *chip = snd_magic_cast(cs4281_t, dev_id, return IRQ_NONE); + cs4281_t *chip = dev_id; unsigned int status, dma, val; cs4281_dma_t *cdma; @@ -1919,7 +1890,9 @@ static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *r c = snd_cs4281_peekBA0(chip, BA0_MIDRP); if ((chip->midcr & BA0_MIDCR_RIE) == 0) continue; + spin_unlock(&chip->reg_lock); snd_rawmidi_receive(chip->midi_input, &c, 1); + spin_lock(&chip->reg_lock); } while ((snd_cs4281_peekBA0(chip, BA0_MIDSR) & BA0_MIDSR_TBF) == 0) { if ((chip->midcr & BA0_MIDCR_TIE) == 0) @@ -2034,13 +2007,11 @@ static int saved_regs[SUSPEND_REGISTERS] = { BA0_PPRVC, }; -#define number_of(array) (sizeof(array) / sizeof(array[0])) - #define CLKCR1_CKRA 0x00010000L static int cs4281_suspend(snd_card_t *card, unsigned int state) { - cs4281_t *chip = snd_magic_cast(cs4281_t, card->pm_private_data, return -EINVAL); + cs4281_t *chip = card->pm_private_data; u32 ulCLK; unsigned int i; @@ -2059,7 +2030,7 @@ static int cs4281_suspend(snd_card_t *card, unsigned int state) snd_cs4281_pokeBA0(chip, BA0_HICR, BA0_HICR_CHGM); /* remember the status registers */ - for (i = 0; i < number_of(saved_regs); i++) + for (i = 0; i < ARRAY_SIZE(saved_regs); i++) if (saved_regs[i]) chip->suspend_regs[i] = snd_cs4281_peekBA0(chip, saved_regs[i]); @@ -2085,7 +2056,7 @@ static int cs4281_suspend(snd_card_t *card, unsigned int state) static int cs4281_resume(snd_card_t *card, unsigned int state) { - cs4281_t *chip = snd_magic_cast(cs4281_t, card->pm_private_data, return -EINVAL); + cs4281_t *chip = card->pm_private_data; unsigned int i; u32 ulCLK; @@ -2098,7 +2069,7 @@ static int cs4281_resume(snd_card_t *card, unsigned int state) snd_cs4281_chip_init(chip); /* restore the status registers */ - for (i = 0; i < number_of(saved_regs); i++) + for (i = 0; i < ARRAY_SIZE(saved_regs); i++) if (saved_regs[i]) snd_cs4281_pokeBA0(chip, saved_regs[i], chip->suspend_regs[i]); diff --git a/sound/pci/cs46xx/cs46xx.c b/sound/pci/cs46xx/cs46xx.c index 8b63705c4..e42fae563 100644 --- a/sound/pci/cs46xx/cs46xx.c +++ b/sound/pci/cs46xx/cs46xx.c @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Cirrus Logic Sound Fusion CS46XX"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Cirrus Logic,Sound Fusion (CS4280)}," +MODULE_SUPPORTED_DEVICE("{{Cirrus Logic,Sound Fusion (CS4280)}," "{Cirrus Logic,Sound Fusion (CS4610)}," "{Cirrus Logic,Sound Fusion (CS4612)}," "{Cirrus Logic,Sound Fusion (CS4615)}," @@ -56,22 +55,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the CS46xx soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the CS46xx soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable CS46xx soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(external_amp, bool, boot_devs, 0444); MODULE_PARM_DESC(external_amp, "Force to enable external amplifer."); -MODULE_PARM_SYNTAX(external_amp, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(thinkpad, bool, boot_devs, 0444); MODULE_PARM_DESC(thinkpad, "Force to enable Thinkpad's CLKRUN control."); -MODULE_PARM_SYNTAX(thinkpad, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(mmap_valid, bool, boot_devs, 0444); MODULE_PARM_DESC(mmap_valid, "Support OSS mmap."); -MODULE_PARM_SYNTAX(mmap_valid, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); static struct pci_device_id snd_cs46xx_ids[] = { { 0x1013, 0x6001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4280 */ diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index e9810d2ea..9b1868141 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c @@ -79,6 +79,8 @@ static unsigned short snd_cs46xx_codec_read(cs46xx_t *chip, (codec_index == CS46XX_SECONDARY_CODEC_INDEX), return -EINVAL); + chip->active_ctrl(chip, 1); + if (codec_index == CS46XX_SECONDARY_CODEC_INDEX) offset = CS46XX_SECONDARY_CODEC_OFFSET; @@ -184,27 +186,22 @@ static unsigned short snd_cs46xx_codec_read(cs46xx_t *chip, //snd_cs46xx_peekBA0(chip, BA0_ACCAD); result = snd_cs46xx_peekBA0(chip, BA0_ACSDA + offset); end: + chip->active_ctrl(chip, -1); return result; } static unsigned short snd_cs46xx_ac97_read(ac97_t * ac97, unsigned short reg) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return -ENXIO); + cs46xx_t *chip = ac97->private_data; unsigned short val; - int codec_index = -1; - - /* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */ - if (ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] || chip->nr_ac97_codecs == 0) - codec_index = CS46XX_PRIMARY_CODEC_INDEX; - /* UGGLY: nr_ac97_codecs == 1 secondary codec detection is in progress */ - else if (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] || chip->nr_ac97_codecs == 1) - codec_index = CS46XX_SECONDARY_CODEC_INDEX; - else - snd_assert(0, return 0xffff); - chip->active_ctrl(chip, 1); + int codec_index = ac97->num; + + snd_assert(codec_index == CS46XX_PRIMARY_CODEC_INDEX || + codec_index == CS46XX_SECONDARY_CODEC_INDEX, + return 0xffff); + val = snd_cs46xx_codec_read(chip, reg, codec_index); - chip->active_ctrl(chip, -1); /* HACK: voyetra uses EAPD bit in the reverse way. * we flip the bit to show the mixer status correctly @@ -227,6 +224,8 @@ static void snd_cs46xx_codec_write(cs46xx_t *chip, (codec_index == CS46XX_SECONDARY_CODEC_INDEX), return); + chip->active_ctrl(chip, 1); + /* * 1. Write ACCAD = Command Address Register = 46Ch for AC97 register address * 2. Write ACCDA = Command Data Register = 470h for data to write to AC97 @@ -271,27 +270,24 @@ static void snd_cs46xx_codec_write(cs46xx_t *chip, * ACCTL = 460h, DCV should be reset by now and 460h = 07h */ if (!(snd_cs46xx_peekBA0(chip, BA0_ACCTL) & ACCTL_DCV)) { - return; + goto end; } } snd_printk("AC'97 write problem, codec_index = %d, reg = 0x%x, val = 0x%x\n", codec_index, reg, val); + end: + chip->active_ctrl(chip, -1); } static void snd_cs46xx_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return); - int codec_index = -1; + cs46xx_t *chip = ac97->private_data; + int codec_index = ac97->num; - /* UGGLY: nr_ac97_codecs == 0 primery codec detection is in progress */ - if (ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] || chip->nr_ac97_codecs == 0) - codec_index = CS46XX_PRIMARY_CODEC_INDEX; - /* UGGLY: nr_ac97_codecs == 1 secondary codec detection is in progress */ - else if (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] || chip->nr_ac97_codecs == 1) - codec_index = CS46XX_SECONDARY_CODEC_INDEX; - else - snd_assert(0,return); + snd_assert(codec_index == CS46XX_PRIMARY_CODEC_INDEX || + codec_index == CS46XX_SECONDARY_CODEC_INDEX, + return); /* HACK: voyetra uses EAPD bit in the reverse way. * we flip the bit to show the mixer status correctly @@ -299,9 +295,7 @@ static void snd_cs46xx_ac97_write(ac97_t *ac97, if (reg == AC97_POWERDOWN && chip->amplifier_ctrl == amp_voyetra) val ^= 0x8000; - chip->active_ctrl(chip, 1); snd_cs46xx_codec_write(chip, reg, val, codec_index); - chip->active_ctrl(chip, -1); } @@ -688,84 +682,35 @@ static void snd_cs46xx_set_capture_sample_rate(cs46xx_t *chip, unsigned int rate * PCM part */ +static void snd_cs46xx_pb_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) +{ + snd_pcm_runtime_t *runtime = substream->runtime; + cs46xx_pcm_t * cpcm = runtime->private_data; + memcpy(cpcm->hw_buf.area + rec->hw_data, runtime->dma_area + rec->sw_data, bytes); +} + static int snd_cs46xx_playback_transfer(snd_pcm_substream_t *substream) { - /* cs46xx_t *chip = snd_pcm_substream_chip(substream); */ snd_pcm_runtime_t *runtime = substream->runtime; - cs46xx_pcm_t * cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); - snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; - snd_pcm_sframes_t diff = appl_ptr - cpcm->appl_ptr; - int buffer_size = runtime->period_size * CS46XX_FRAGS << cpcm->shift; - - if (diff) { - if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) - diff += runtime->boundary; - cpcm->sw_ready += diff * (1 << cpcm->shift); - cpcm->appl_ptr = appl_ptr; - } - while (cpcm->hw_ready < buffer_size && - cpcm->sw_ready > 0) { - size_t hw_to_end = buffer_size - cpcm->hw_data; - size_t sw_to_end = cpcm->sw_bufsize - cpcm->sw_data; - size_t bytes = buffer_size - cpcm->hw_ready; - if (cpcm->sw_ready < (int)bytes) - bytes = cpcm->sw_ready; - if (hw_to_end < bytes) - bytes = hw_to_end; - if (sw_to_end < bytes) - bytes = sw_to_end; - memcpy(cpcm->hw_buf.area + cpcm->hw_data, - runtime->dma_area + cpcm->sw_data, - bytes); - cpcm->hw_data += bytes; - if ((int)cpcm->hw_data == buffer_size) - cpcm->hw_data = 0; - cpcm->sw_data += bytes; - if (cpcm->sw_data == cpcm->sw_bufsize) - cpcm->sw_data = 0; - cpcm->hw_ready += bytes; - cpcm->sw_ready -= bytes; - } + cs46xx_pcm_t * cpcm = runtime->private_data; + snd_pcm_indirect_playback_transfer(substream, &cpcm->pcm_rec, snd_cs46xx_pb_trans_copy); return 0; } -static int snd_cs46xx_capture_transfer(snd_pcm_substream_t *substream) +static void snd_cs46xx_cp_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) { cs46xx_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; - snd_pcm_sframes_t diff = appl_ptr - chip->capt.appl_ptr; - int buffer_size = runtime->period_size * CS46XX_FRAGS << chip->capt.shift; - - if (diff) { - if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) - diff += runtime->boundary; - chip->capt.sw_ready -= diff * (1 << chip->capt.shift); - chip->capt.appl_ptr = appl_ptr; - } - while (chip->capt.hw_ready > 0 && - chip->capt.sw_ready < (int)chip->capt.sw_bufsize) { - size_t hw_to_end = buffer_size - chip->capt.hw_data; - size_t sw_to_end = chip->capt.sw_bufsize - chip->capt.sw_data; - size_t bytes = chip->capt.sw_bufsize - chip->capt.sw_ready; - if (chip->capt.hw_ready < (int)bytes) - bytes = chip->capt.hw_ready; - if (hw_to_end < bytes) - bytes = hw_to_end; - if (sw_to_end < bytes) - bytes = sw_to_end; - memcpy(runtime->dma_area + chip->capt.sw_data, - chip->capt.hw_buf.area + chip->capt.hw_data, - bytes); - chip->capt.hw_data += bytes; - if ((int)chip->capt.hw_data == buffer_size) - chip->capt.hw_data = 0; - chip->capt.sw_data += bytes; - if (chip->capt.sw_data == chip->capt.sw_bufsize) - chip->capt.sw_data = 0; - chip->capt.hw_ready -= bytes; - chip->capt.sw_ready += bytes; - } + memcpy(runtime->dma_area + rec->sw_data, + chip->capt.hw_buf.area + rec->hw_data, bytes); +} + +static int snd_cs46xx_capture_transfer(snd_pcm_substream_t *substream) +{ + cs46xx_t *chip = snd_pcm_substream_chip(substream); + snd_pcm_indirect_capture_transfer(substream, &chip->capt.pcm_rec, snd_cs46xx_cp_trans_copy); return 0; } @@ -773,7 +718,7 @@ static snd_pcm_uframes_t snd_cs46xx_playback_direct_pointer(snd_pcm_substream_t { cs46xx_t *chip = snd_pcm_substream_chip(substream); size_t ptr; - cs46xx_pcm_t *cpcm = snd_magic_cast(cs46xx_pcm_t, substream->runtime->private_data, return -ENXIO); + cs46xx_pcm_t *cpcm = substream->runtime->private_data; snd_assert (cpcm->pcm_channel,return -ENXIO); #ifdef CONFIG_SND_CS46XX_NEW_DSP @@ -789,9 +734,7 @@ static snd_pcm_uframes_t snd_cs46xx_playback_indirect_pointer(snd_pcm_substream_ { cs46xx_t *chip = snd_pcm_substream_chip(substream); size_t ptr; - cs46xx_pcm_t *cpcm = snd_magic_cast(cs46xx_pcm_t, substream->runtime->private_data, return -ENXIO); - ssize_t bytes; - int buffer_size = substream->runtime->period_size * CS46XX_FRAGS << cpcm->shift; + cs46xx_pcm_t *cpcm = substream->runtime->private_data; #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_assert (cpcm->pcm_channel,return -ENXIO); @@ -800,18 +743,7 @@ static snd_pcm_uframes_t snd_cs46xx_playback_indirect_pointer(snd_pcm_substream_ ptr = snd_cs46xx_peek(chip, BA1_PBA); #endif ptr -= cpcm->hw_buf.addr; - - bytes = ptr - cpcm->hw_io; - - if (bytes < 0) - bytes += buffer_size; - cpcm->hw_io = ptr; - cpcm->hw_ready -= bytes; - cpcm->sw_io += bytes; - if (cpcm->sw_io >= cpcm->sw_bufsize) - cpcm->sw_io -= cpcm->sw_bufsize; - snd_cs46xx_playback_transfer(substream); - return cpcm->sw_io >> cpcm->shift; + return snd_pcm_indirect_playback_pointer(substream, &cpcm->pcm_rec, ptr); } static snd_pcm_uframes_t snd_cs46xx_capture_direct_pointer(snd_pcm_substream_t * substream) @@ -825,18 +757,7 @@ static snd_pcm_uframes_t snd_cs46xx_capture_indirect_pointer(snd_pcm_substream_t { cs46xx_t *chip = snd_pcm_substream_chip(substream); size_t ptr = snd_cs46xx_peek(chip, BA1_CBA) - chip->capt.hw_buf.addr; - ssize_t bytes = ptr - chip->capt.hw_io; - int buffer_size = substream->runtime->period_size * CS46XX_FRAGS << chip->capt.shift; - - if (bytes < 0) - bytes += buffer_size; - chip->capt.hw_io = ptr; - chip->capt.hw_ready += bytes; - chip->capt.sw_io += bytes; - if (chip->capt.sw_io >= chip->capt.sw_bufsize) - chip->capt.sw_io -= chip->capt.sw_bufsize; - snd_cs46xx_capture_transfer(substream); - return chip->capt.sw_io >> chip->capt.shift; + return snd_pcm_indirect_capture_pointer(substream, &chip->capt.pcm_rec, ptr); } static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, @@ -847,13 +768,7 @@ static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, int result = 0; #ifdef CONFIG_SND_CS46XX_NEW_DSP - cs46xx_pcm_t *cpcm = snd_magic_cast(cs46xx_pcm_t, substream->runtime->private_data, return -ENXIO); -#else - spin_lock(&chip->reg_lock); -#endif - -#ifdef CONFIG_SND_CS46XX_NEW_DSP - + cs46xx_pcm_t *cpcm = substream->runtime->private_data; if (! cpcm->pcm_channel) { return -ENXIO; } @@ -872,6 +787,7 @@ static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, if (substream->runtime->periods != CS46XX_FRAGS) snd_cs46xx_playback_transfer(substream); #else + spin_lock(&chip->reg_lock); if (substream->runtime->periods != CS46XX_FRAGS) snd_cs46xx_playback_transfer(substream); { unsigned int tmp; @@ -879,6 +795,7 @@ static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, tmp &= 0x0000ffff; snd_cs46xx_poke(chip, BA1_PCTL, chip->play_ctl | tmp); } + spin_unlock(&chip->reg_lock); #endif break; case SNDRV_PCM_TRIGGER_STOP: @@ -891,11 +808,13 @@ static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, if (!cpcm->pcm_channel->unlinked) cs46xx_dsp_pcm_unlink(chip,cpcm->pcm_channel); #else + spin_lock(&chip->reg_lock); { unsigned int tmp; tmp = snd_cs46xx_peek(chip, BA1_PCTL); tmp &= 0x0000ffff; snd_cs46xx_poke(chip, BA1_PCTL, tmp); } + spin_unlock(&chip->reg_lock); #endif break; default: @@ -903,10 +822,6 @@ static int snd_cs46xx_playback_trigger(snd_pcm_substream_t * substream, break; } -#ifndef CONFIG_SND_CS46XX_NEW_DSP - spin_unlock(&chip->reg_lock); -#endif - return result; } @@ -987,7 +902,7 @@ static int snd_cs46xx_playback_hw_params(snd_pcm_substream_t * substream, int sample_rate = params_rate(hw_params); int period_size = params_period_bytes(hw_params); #endif - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_assert (sample_rate != 0, return -ENXIO); @@ -1084,7 +999,7 @@ static int snd_cs46xx_playback_hw_free(snd_pcm_substream_t * substream) snd_pcm_runtime_t *runtime = substream->runtime; cs46xx_pcm_t *cpcm; - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; /* if play_back open fails, then this function is called and cpcm can actually be NULL here */ @@ -1108,7 +1023,7 @@ static int snd_cs46xx_playback_prepare(snd_pcm_substream_t * substream) snd_pcm_runtime_t *runtime = substream->runtime; cs46xx_pcm_t *cpcm; - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; #ifdef CONFIG_SND_CS46XX_NEW_DSP snd_assert (cpcm->pcm_channel != NULL, return -ENXIO); @@ -1143,10 +1058,9 @@ static int snd_cs46xx_playback_prepare(snd_pcm_substream_t * substream) pfie |= 0x00004000; } - cpcm->sw_bufsize = snd_pcm_lib_buffer_bytes(substream); - cpcm->sw_data = cpcm->sw_io = cpcm->sw_ready = 0; - cpcm->hw_data = cpcm->hw_io = cpcm->hw_ready = 0; - cpcm->appl_ptr = 0; + memset(&cpcm->pcm_rec, 0, sizeof(cpcm->pcm_rec)); + cpcm->pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + cpcm->pcm_rec.hw_buffer_size = runtime->period_size * CS46XX_FRAGS << cpcm->shift; #ifdef CONFIG_SND_CS46XX_NEW_DSP @@ -1223,10 +1137,9 @@ static int snd_cs46xx_capture_prepare(snd_pcm_substream_t * substream) snd_cs46xx_poke(chip, BA1_CBA, chip->capt.hw_buf.addr); chip->capt.shift = 2; - chip->capt.sw_bufsize = snd_pcm_lib_buffer_bytes(substream); - chip->capt.sw_data = chip->capt.sw_io = chip->capt.sw_ready = 0; - chip->capt.hw_data = chip->capt.hw_io = chip->capt.hw_ready = 0; - chip->capt.appl_ptr = 0; + memset(&chip->capt.pcm_rec, 0, sizeof(chip->capt.pcm_rec)); + chip->capt.pcm_rec.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + chip->capt.pcm_rec.hw_buffer_size = runtime->period_size * CS46XX_FRAGS << 2; snd_cs46xx_set_capture_sample_rate(chip, runtime->rate); return 0; @@ -1234,7 +1147,7 @@ static int snd_cs46xx_capture_prepare(snd_pcm_substream_t * substream) static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, dev_id, return IRQ_NONE); + cs46xx_t *chip = dev_id; u32 status1; #ifdef CONFIG_SND_CS46XX_NEW_DSP dsp_spos_instance_t * ins = chip->dsp_spos_instance; @@ -1265,7 +1178,7 @@ static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *r if (ins->pcm_channels[i].active && ins->pcm_channels[i].private_data && !ins->pcm_channels[i].unlinked) { - cpcm = snd_magic_cast(cs46xx_pcm_t, ins->pcm_channels[i].private_data, continue); + cpcm = ins->pcm_channels[i].private_data; snd_pcm_period_elapsed(cpcm->substream); } } @@ -1275,7 +1188,7 @@ static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *r if (ins->pcm_channels[i].active && ins->pcm_channels[i].private_data && !ins->pcm_channels[i].unlinked) { - cpcm = snd_magic_cast(cs46xx_pcm_t, ins->pcm_channels[i].private_data, continue); + cpcm = ins->pcm_channels[i].private_data; snd_pcm_period_elapsed(cpcm->substream); } } @@ -1302,7 +1215,9 @@ static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id, struct pt_regs *r c = snd_cs46xx_peekBA0(chip, BA0_MIDRP); if ((chip->midcr & MIDCR_RIE) == 0) continue; + spin_unlock(&chip->reg_lock); snd_rawmidi_receive(chip->midi_input, &c, 1); + spin_lock(&chip->reg_lock); } while ((snd_cs46xx_peekBA0(chip, BA0_MIDSR) & MIDSR_TBF) == 0) { if ((chip->midcr & MIDCR_TIE) == 0) @@ -1370,10 +1285,8 @@ static snd_pcm_hardware_t snd_cs46xx_capture = static unsigned int period_sizes[] = { 32, 64, 128, 256, 512, 1024, 2048 }; -#define PERIOD_SIZES sizeof(period_sizes) / sizeof(period_sizes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { - .count = PERIOD_SIZES, + .count = ARRAY_SIZE(period_sizes), .list = period_sizes, .mask = 0 }; @@ -1382,10 +1295,8 @@ static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { static void snd_cs46xx_pcm_free_substream(snd_pcm_runtime_t *runtime) { - cs46xx_pcm_t * cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return); - - if (cpcm) - snd_magic_kfree(cpcm); + cs46xx_pcm_t * cpcm = runtime->private_data; + kfree(cpcm); } static int _cs46xx_playback_open_channel (snd_pcm_substream_t * substream,int pcm_channel_id) @@ -1394,11 +1305,12 @@ static int _cs46xx_playback_open_channel (snd_pcm_substream_t * substream,int pc cs46xx_pcm_t * cpcm; snd_pcm_runtime_t *runtime = substream->runtime; - cpcm = snd_magic_kcalloc(cs46xx_pcm_t, 0, GFP_KERNEL); + cpcm = kcalloc(1, sizeof(*cpcm), GFP_KERNEL); if (cpcm == NULL) return -ENOMEM; - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_SIZE, &cpcm->hw_buf) < 0) { - snd_magic_kfree(cpcm); + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_SIZE, &cpcm->hw_buf) < 0) { + kfree(cpcm); return -ENOMEM; } @@ -1486,7 +1398,8 @@ static int snd_cs46xx_capture_open(snd_pcm_substream_t * substream) { cs46xx_t *chip = snd_pcm_substream_chip(substream); - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_SIZE, &chip->capt.hw_buf) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_SIZE, &chip->capt.hw_buf) < 0) return -ENOMEM; chip->capt.substream = substream; substream->runtime->hw = snd_cs46xx_capture; @@ -1510,7 +1423,7 @@ static int snd_cs46xx_playback_close(snd_pcm_substream_t * substream) snd_pcm_runtime_t *runtime = substream->runtime; cs46xx_pcm_t * cpcm; - cpcm = snd_magic_cast(cs46xx_pcm_t, runtime->private_data, return -ENXIO); + cpcm = runtime->private_data; /* when playback_open fails, then cpcm can be NULL */ if (!cpcm) return -ENXIO; @@ -1527,7 +1440,7 @@ static int snd_cs46xx_playback_close(snd_pcm_substream_t * substream) #endif cpcm->substream = NULL; - snd_dma_free_pages(&chip->dma_dev, &cpcm->hw_buf); + snd_dma_free_pages(&cpcm->hw_buf); chip->active_ctrl(chip, -1); return 0; @@ -1538,7 +1451,7 @@ static int snd_cs46xx_capture_close(snd_pcm_substream_t * substream) cs46xx_t *chip = snd_pcm_substream_chip(substream); chip->capt.substream = NULL; - snd_dma_free_pages(&chip->dma_dev, &chip->capt.hw_buf); + snd_dma_free_pages(&chip->capt.hw_buf); chip->active_ctrl(chip, -1); return 0; @@ -1664,7 +1577,7 @@ snd_pcm_ops_t snd_cs46xx_capture_indirect_ops = { static void snd_cs46xx_pcm_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1672,21 +1585,21 @@ static void snd_cs46xx_pcm_free(snd_pcm_t *pcm) #ifdef CONFIG_SND_CS46XX_NEW_DSP static void snd_cs46xx_pcm_rear_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm_rear = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_cs46xx_pcm_center_lfe_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm_center_lfe = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_cs46xx_pcm_iec958_free(snd_pcm_t *pcm) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, pcm->private_data, return); + cs46xx_t *chip = pcm->private_data; chip->pcm_iec958 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1824,14 +1737,14 @@ int __devinit snd_cs46xx_pcm_iec958(cs46xx_t *chip, int device, snd_pcm_t ** rpc */ static void snd_cs46xx_mixer_free_ac97_bus(ac97_bus_t *bus) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, bus->private_data, return); + cs46xx_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_cs46xx_mixer_free_ac97(ac97_t *ac97) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, ac97->private_data, return); + cs46xx_t *chip = ac97->private_data; snd_assert ((ac97 == chip->ac97[CS46XX_PRIMARY_CODEC_INDEX]) || (ac97 == chip->ac97[CS46XX_SECONDARY_CODEC_INDEX]), @@ -2420,7 +2333,7 @@ static void snd_cs46xx_codec_reset (ac97_t * ac97) { unsigned long end_time; int err; - cs46xx_t * chip = snd_magic_cast(cs46xx_t,ac97->private_data,return /* -ENXIO */); + cs46xx_t * chip = ac97->private_data; /* reset to defaults */ snd_ac97_write(ac97, AC97_RESET, 0); @@ -2470,39 +2383,38 @@ static void snd_cs46xx_codec_reset (ac97_t * ac97) int __devinit snd_cs46xx_mixer(cs46xx_t *chip) { snd_card_t *card = chip->card; - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; snd_ctl_elem_id_t id; int err; unsigned int idx; + static ac97_bus_ops_t ops = { +#ifdef CONFIG_SND_CS46XX_NEW_DSP + .reset = snd_cs46xx_codec_reset, +#endif + .write = snd_cs46xx_ac97_write, + .read = snd_cs46xx_ac97_read, + }; /* detect primary codec */ chip->nr_ac97_codecs = 0; snd_printdd("snd_cs46xx: detecting primary codec\n"); - memset(&bus, 0, sizeof(bus)); - bus.write = snd_cs46xx_ac97_write; - bus.read = snd_cs46xx_ac97_read; -#ifdef CONFIG_SND_CS46XX_NEW_DSP - bus.reset = snd_cs46xx_codec_reset; -#endif - bus.private_data = chip; - bus.private_free = snd_cs46xx_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_cs46xx_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; ac97.private_free = snd_cs46xx_mixer_free_ac97; - chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] = &ac97; - snd_cs46xx_ac97_write(&ac97, AC97_MASTER, 0x8000); + snd_cs46xx_codec_write(chip, AC97_MASTER, 0x8000, + CS46XX_PRIMARY_CODEC_INDEX); for (idx = 0; idx < 100; ++idx) { - if (snd_cs46xx_ac97_read(&ac97, AC97_MASTER) == 0x8000) + if (snd_cs46xx_codec_read(chip, AC97_MASTER, + CS46XX_PRIMARY_CODEC_INDEX) == 0x8000) goto _ok; set_current_state(TASK_INTERRUPTIBLE); schedule_timeout(HZ/100); } - chip->ac97[CS46XX_PRIMARY_CODEC_INDEX] = NULL; return -ENXIO; _ok: @@ -2519,18 +2431,21 @@ int __devinit snd_cs46xx_mixer(cs46xx_t *chip) ac97.private_free = snd_cs46xx_mixer_free_ac97; ac97.num = CS46XX_SECONDARY_CODEC_INDEX; - snd_cs46xx_ac97_write(&ac97, AC97_RESET, 0); + snd_cs46xx_codec_write(chip, AC97_RESET, 0, + CS46XX_SECONDARY_CODEC_INDEX); udelay(10); - if (snd_cs46xx_ac97_read(&ac97, AC97_RESET) & 0x8000) { + if (snd_cs46xx_codec_read(chip, AC97_RESET, + CS46XX_SECONDARY_CODEC_INDEX) & 0x8000) { snd_printdd("snd_cs46xx: seconadry codec not present\n"); goto _no_sec_codec; } - chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = &ac97; - snd_cs46xx_ac97_write(&ac97, AC97_MASTER, 0x8000); + snd_cs46xx_codec_write(chip, AC97_MASTER, 0x8000, + CS46XX_SECONDARY_CODEC_INDEX); for (idx = 0; idx < 100; ++idx) { - if (snd_cs46xx_ac97_read(&ac97, AC97_MASTER) == 0x8000) { + if (snd_cs46xx_codec_read(chip, AC97_MASTER, + CS46XX_SECONDARY_CODEC_INDEX) == 0x8000) { goto _ok2; } set_current_state(TASK_INTERRUPTIBLE); @@ -2540,7 +2455,6 @@ int __devinit snd_cs46xx_mixer(cs46xx_t *chip) _no_sec_codec: snd_printdd("snd_cs46xx: secondary codec did not respond ...\n"); - chip->ac97[CS46XX_SECONDARY_CODEC_INDEX] = NULL; chip->nr_ac97_codecs = 1; /* well, one codec only ... */ @@ -2605,11 +2519,10 @@ static void snd_cs46xx_midi_reset(cs46xx_t *chip) static int snd_cs46xx_midi_input_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; chip->active_ctrl(chip, 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->uartm |= CS46XX_MODE_INPUT; chip->midcr |= MIDCR_RXE; chip->midi_input = substream; @@ -2618,16 +2531,15 @@ static int snd_cs46xx_midi_input_open(snd_rawmidi_substream_t * substream) } else { snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs46xx_midi_input_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(MIDCR_RXE | MIDCR_RIE); chip->midi_input = NULL; if (!(chip->uartm & CS46XX_MODE_OUTPUT)) { @@ -2636,19 +2548,18 @@ static int snd_cs46xx_midi_input_close(snd_rawmidi_substream_t * substream) snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS46XX_MODE_INPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->active_ctrl(chip, -1); return 0; } static int snd_cs46xx_midi_output_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; chip->active_ctrl(chip, 1); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->uartm |= CS46XX_MODE_OUTPUT; chip->midcr |= MIDCR_TXE; chip->midi_output = substream; @@ -2657,16 +2568,15 @@ static int snd_cs46xx_midi_output_open(snd_rawmidi_substream_t * substream) } else { snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } static int snd_cs46xx_midi_output_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return -ENXIO); + cs46xx_t *chip = substream->rmidi->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->midcr &= ~(MIDCR_TXE | MIDCR_TIE); chip->midi_output = NULL; if (!(chip->uartm & CS46XX_MODE_INPUT)) { @@ -2675,7 +2585,7 @@ static int snd_cs46xx_midi_output_close(snd_rawmidi_substream_t * substream) snd_cs46xx_pokeBA0(chip, BA0_MIDCR, chip->midcr); } chip->uartm &= ~CS46XX_MODE_OUTPUT; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->active_ctrl(chip, -1); return 0; } @@ -2683,7 +2593,7 @@ static int snd_cs46xx_midi_output_close(snd_rawmidi_substream_t * substream) static void snd_cs46xx_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return); + cs46xx_t *chip = substream->rmidi->private_data; spin_lock_irqsave(&chip->reg_lock, flags); if (up) { @@ -2703,7 +2613,7 @@ static void snd_cs46xx_midi_input_trigger(snd_rawmidi_substream_t * substream, i static void snd_cs46xx_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, substream->rmidi->private_data, return); + cs46xx_t *chip = substream->rmidi->private_data; unsigned char byte; spin_lock_irqsave(&chip->reg_lock, flags); @@ -2781,7 +2691,7 @@ static void snd_cs46xx_gameport_trigger(struct gameport *gameport) cs46xx_gameport_t *gp = (cs46xx_gameport_t *)gameport; cs46xx_t *chip; snd_assert(gp, return); - chip = snd_magic_cast(cs46xx_t, gp->chip, return); + chip = gp->chip; snd_cs46xx_pokeBA0(chip, BA0_JSPT, 0xFF); //outb(gameport->io, 0xFF); } @@ -2790,7 +2700,7 @@ static unsigned char snd_cs46xx_gameport_read(struct gameport *gameport) cs46xx_gameport_t *gp = (cs46xx_gameport_t *)gameport; cs46xx_t *chip; snd_assert(gp, return 0); - chip = snd_magic_cast(cs46xx_t, gp->chip, return 0); + chip = gp->chip; return snd_cs46xx_peekBA0(chip, BA0_JSPT); //inb(gameport->io); } @@ -2801,7 +2711,7 @@ static int snd_cs46xx_gameport_cooked_read(struct gameport *gameport, int *axes, unsigned js1, js2, jst; snd_assert(gp, return 0); - chip = snd_magic_cast(cs46xx_t, gp->chip, return 0); + chip = gp->chip; js1 = snd_cs46xx_peekBA0(chip, BA0_JSC1); js2 = snd_cs46xx_peekBA0(chip, BA0_JSC2); @@ -3011,13 +2921,13 @@ static int snd_cs46xx_free(cs46xx_t *chip) } #endif - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs46xx_dev_free(snd_device_t *device) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, device->device_data, return -ENXIO); + cs46xx_t *chip = device->device_data; return snd_cs46xx_free(chip); } @@ -3786,7 +3696,7 @@ static struct cs_card_type __devinitdata cards[] = { #ifdef CONFIG_PM static int snd_cs46xx_suspend(snd_card_t *card, unsigned int state) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, card->pm_private_data, return -EINVAL); + cs46xx_t *chip = card->pm_private_data; int amp_saved; snd_pcm_suspend_all(chip->pcm); @@ -3810,7 +3720,7 @@ static int snd_cs46xx_suspend(snd_card_t *card, unsigned int state) static int snd_cs46xx_resume(snd_card_t *card, unsigned int state) { - cs46xx_t *chip = snd_magic_cast(cs46xx_t, card->pm_private_data, return -EINVAL); + cs46xx_t *chip = card->pm_private_data; int amp_saved; pci_enable_device(chip->pci); @@ -3869,7 +3779,7 @@ int __devinit snd_cs46xx_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(cs46xx_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -3913,10 +3823,6 @@ int __devinit snd_cs46xx_create(snd_card_t * card, region->base = chip->ba1_addr + BA1_SP_REG; region->size = CS46XX_BA1_REG_SIZE; - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - /* set up amp and clkrun hack */ pci_read_config_word(pci, PCI_SUBSYSTEM_VENDOR_ID, &ss_vendor); pci_read_config_word(pci, PCI_SUBSYSTEM_ID, &ss_card); diff --git a/sound/pci/cs46xx/dsp_spos_scb_lib.c b/sound/pci/cs46xx/dsp_spos_scb_lib.c index c02a9497c..4bf170bda 100644 --- a/sound/pci/cs46xx/dsp_spos_scb_lib.c +++ b/sound/pci/cs46xx/dsp_spos_scb_lib.c @@ -69,7 +69,7 @@ static void cs46xx_dsp_proc_scb_info_read (snd_info_entry_t *entry, snd_info_buf proc_scb_info_t * scb_info = (proc_scb_info_t *)entry->private_data; dsp_scb_descriptor_t * scb = scb_info->scb_desc; dsp_spos_instance_t * ins; - cs46xx_t *chip = snd_magic_cast(cs46xx_t, scb_info->chip, return); + cs46xx_t *chip = scb_info->chip; int j,col; unsigned long dst = chip->region.idx[1].remap_addr + DSP_PARAMETER_BYTE_OFFSET; diff --git a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c index 552bdee31..e49731b6f 100644 --- a/sound/pci/emu10k1/emu10k1.c +++ b/sound/pci/emu10k1/emu10k1.c @@ -31,8 +31,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("EMU10K1"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Creative Labs,SB Live!/PCI512/E-mu APS}," +MODULE_SUPPORTED_DEVICE("{{Creative Labs,SB Live!/PCI512/E-mu APS}," "{Creative Labs,SB Audigy}}"); #if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE)) @@ -53,37 +52,25 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the EMU10K1 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the EMU10K1 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable the EMU10K1 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(extin, int, boot_devs, 0444); MODULE_PARM_DESC(extin, "Available external inputs for FX8010. Zero=default."); -MODULE_PARM_SYNTAX(extin, SNDRV_ENABLED "allows:{{0,0x0ffff}},base:16"); module_param_array(extout, int, boot_devs, 0444); MODULE_PARM_DESC(extout, "Available external outputs for FX8010. Zero=default."); -MODULE_PARM_SYNTAX(extout, SNDRV_ENABLED "allows:{{0,0x0ffff}},base:16"); module_param_array(seq_ports, int, boot_devs, 0444); MODULE_PARM_DESC(seq_ports, "Allocated sequencer ports for internal synthesizer."); -MODULE_PARM_SYNTAX(seq_ports, SNDRV_ENABLED "allows:{{0,32}}"); module_param_array(max_synth_voices, int, boot_devs, 0444); MODULE_PARM_DESC(max_synth_voices, "Maximum number of voices for WaveTable."); -MODULE_PARM_SYNTAX(max_synth_voices, SNDRV_ENABLED); module_param_array(max_buffer_size, int, boot_devs, 0444); MODULE_PARM_DESC(max_buffer_size, "Maximum sample buffer size in MB."); -MODULE_PARM_SYNTAX(max_buffer_size, SNDRV_ENABLED); module_param_array(enable_ir, bool, boot_devs, 0444); MODULE_PARM_DESC(enable_ir, "Enable IR."); -MODULE_PARM_SYNTAX(enable_ir, SNDRV_ENABLE_DESC); static struct pci_device_id snd_emu10k1_ids[] = { { 0x1102, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* EMU10K1 */ -#if 0 /* FIXME: not working! */ - { 0x1102, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Dell OEM version (EMU10K1) */ -#endif { 0x1102, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy */ { 0, } }; @@ -134,10 +121,6 @@ static int __devinit snd_card_emu10k1_probe(struct pci_dev *pci, snd_card_free(card); return err; } - if ((err = snd_emu10k1_fx8010_pcm(emu, 3, NULL)) < 0) { - snd_card_free(card); - return err; - } if ((err = snd_emu10k1_mixer(emu)) < 0) { snd_card_free(card); return err; diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index 9f4c8b359..4f7a0ea60 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c @@ -119,8 +119,10 @@ static int __devinit snd_emu10k1_init(emu10k1_t * emu, int enable_ir) snd_emu10k1_ptr_write(emu, SOLEH, 0, 0); if (emu->audigy){ - snd_emu10k1_ptr_write(emu, 0x5e, 0, 0xf00); /* ?? */ - snd_emu10k1_ptr_write(emu, 0x5f, 0, 0x3); /* ?? */ + /* set SPDIF bypass mode */ + snd_emu10k1_ptr_write(emu, SPBYPASS, 0, SPBYPASS_FORMAT); + /* enable rear left + rear right AC97 slots */ + snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_REAR_RIGHT | AC97SLOT_REAR_LEFT); } /* init envelope engine */ @@ -329,7 +331,7 @@ static int snd_emu10k1_done(emu10k1_t * emu) if (emu->audigy) snd_emu10k1_ptr_write(emu, A_DBG, 0, A_DBG_SINGLE_STEP); else - snd_emu10k1_ptr_write(emu, DBG, 0, 0x8000); + snd_emu10k1_ptr_write(emu, DBG, 0, EMU10K1_DBG_SINGLE_STEP); /* disable channel interrupt */ snd_emu10k1_ptr_write(emu, CLIEL, 0, 0); @@ -541,33 +543,31 @@ static int __devinit snd_emu10k1_ecard_init(emu10k1_t * emu) static int snd_emu10k1_free(emu10k1_t *emu) { - if (emu->res_port != NULL) { /* avoid access to already used hardware */ + if (emu->port) { /* avoid access to already used hardware */ snd_emu10k1_fx8010_tram_setup(emu, 0); snd_emu10k1_done(emu); } if (emu->memhdr) snd_util_memhdr_free(emu->memhdr); if (emu->silent_page.area) - snd_dma_free_pages(&emu->dma_dev, &emu->silent_page); + snd_dma_free_pages(&emu->silent_page); if (emu->ptb_pages.area) - snd_dma_free_pages(&emu->dma_dev, &emu->ptb_pages); + snd_dma_free_pages(&emu->ptb_pages); if (emu->page_ptr_table) vfree(emu->page_ptr_table); if (emu->page_addr_table) vfree(emu->page_addr_table); - if (emu->res_port) { - release_resource(emu->res_port); - kfree_nocheck(emu->res_port); - } if (emu->irq >= 0) free_irq(emu->irq, (void *)emu); - snd_magic_kfree(emu); + if (emu->port) + pci_release_regions(emu->pci); + kfree(emu); return 0; } static int snd_emu10k1_dev_free(snd_device_t *device) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, device->device_data, return -ENXIO); + emu10k1_t *emu = device->device_data; return snd_emu10k1_free(emu); } @@ -595,7 +595,7 @@ int __devinit snd_emu10k1_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - emu = snd_magic_kcalloc(emu10k1_t, 0, GFP_KERNEL); + emu = kcalloc(1, sizeof(*emu), GFP_KERNEL); if (emu == NULL) return -ENOMEM; /* set the DMA transfer mask */ @@ -603,7 +603,7 @@ int __devinit snd_emu10k1_create(snd_card_t * card, if (pci_set_dma_mask(pci, emu->dma_mask) < 0 || pci_set_consistent_dma_mask(pci, emu->dma_mask) < 0) { snd_printk(KERN_ERR "architecture does not support PCI busmaster DMA with mask 0x%lx\n", emu->dma_mask); - snd_magic_kfree(emu); + kfree(emu); return -ENXIO; } emu->card = card; @@ -620,7 +620,6 @@ int __devinit snd_emu10k1_create(snd_card_t * card, emu->irq = -1; emu->synth = NULL; emu->get_synth_voice = NULL; - emu->port = pci_resource_start(pci, 0); emu->audigy = is_audigy; if (is_audigy) @@ -628,10 +627,11 @@ int __devinit snd_emu10k1_create(snd_card_t * card, else emu->gpr_base = FXGPREGBASE; - if ((emu->res_port = request_region(emu->port, 0x20, "EMU10K1")) == NULL) { - snd_emu10k1_free(emu); - return -EBUSY; + if ((err = pci_request_regions(pci, "EMU10K1")) < 0) { + kfree(emu); + return err; } + emu->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_emu10k1_interrupt, SA_INTERRUPT|SA_SHIRQ, "EMU10K1", (void *)emu)) { snd_emu10k1_free(emu); @@ -639,12 +639,9 @@ int __devinit snd_emu10k1_create(snd_card_t * card, } emu->irq = pci->irq; - memset(&emu->dma_dev, 0, sizeof(emu->dma_dev)); - emu->dma_dev.type = SNDRV_DMA_TYPE_DEV; - emu->dma_dev.dev = snd_dma_pci_data(pci); - emu->max_cache_pages = max_cache_bytes >> PAGE_SHIFT; - if (snd_dma_alloc_pages(&emu->dma_dev, 32 * 1024, &emu->ptb_pages) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + 32 * 1024, &emu->ptb_pages) < 0) { snd_emu10k1_free(emu); return -ENOMEM; } @@ -656,7 +653,8 @@ int __devinit snd_emu10k1_create(snd_card_t * card, return -ENOMEM; } - if (snd_dma_alloc_pages(&emu->dma_dev, EMUPAGESIZE, &emu->silent_page) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + EMUPAGESIZE, &emu->silent_page) < 0) { snd_emu10k1_free(emu); return -ENOMEM; } @@ -682,10 +680,17 @@ int __devinit snd_emu10k1_create(snd_card_t * card, /* Audigy 2 EX has apparently no effective AC97 controls * (for both input and output), so we skip the AC97 detections */ - snd_printdd(KERN_INFO "Audigy2 EX is detected. skpping ac97.\n"); - emu->no_ac97 = 1; + snd_printdd(KERN_INFO "Audigy2 EX is detected. skipping ac97.\n"); + emu->no_ac97 = 1; } + if (emu->revision == 4 && emu->model == 0x2002) { + /* Audigy 2 ZS */ + snd_printdd(KERN_INFO "Audigy2 ZS is detected. setting 7.1 mode.\n"); + emu->spk71 = 1; + } + + emu->fx8010.fxbus_mask = 0x303f; if (extin_mask == 0) extin_mask = 0x3fcf; diff --git a/sound/pci/emu10k1/emufx.c b/sound/pci/emu10k1/emufx.c index c4f763000..6290ed577 100644 --- a/sound/pci/emu10k1/emufx.c +++ b/sound/pci/emu10k1/emufx.c @@ -33,8 +33,6 @@ #include #include -#define chip_t emu10k1_t - #if 0 /* for testing purposes - digital out -> capture */ #define EMU10K1_CAPTURE_DIGITAL_OUT #endif @@ -405,7 +403,7 @@ static void snd_emu10k1_fx8010_interrupt(emu10k1_t *emu) } } -static int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, +int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, snd_fx8010_irq_handler_t *handler, unsigned char gpr_running, void *private_data, @@ -438,7 +436,7 @@ static int snd_emu10k1_fx8010_register_irq_handler(emu10k1_t *emu, return 0; } -static int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, +int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, snd_emu10k1_fx8010_irq_t *irq) { snd_emu10k1_fx8010_irq_t *tmp; @@ -463,312 +461,6 @@ static int snd_emu10k1_fx8010_unregister_irq_handler(emu10k1_t *emu, return 0; } -/* - * PCM streams - */ - -#define INITIAL_TRAM_SHIFT 14 -#define INITIAL_TRAM_POS(size) ((((size) / 2) - INITIAL_TRAM_SHIFT) - 1) - -static void snd_emu10k1_fx8010_playback_irq(emu10k1_t *emu, void *private_data) -{ - snd_pcm_substream_t *substream = snd_magic_cast(snd_pcm_substream_t, private_data, return); - snd_pcm_period_elapsed(substream); -} - -static void snd_emu10k1_fx8010_playback_tram_poke1(unsigned short *dst_left, - unsigned short *dst_right, - unsigned short *src, - unsigned int count, - unsigned int tram_shift) -{ - // printk("tram_poke1: dst_left = 0x%p, dst_right = 0x%p, src = 0x%p, count = 0x%x\n", dst_left, dst_right, src, count); - if ((tram_shift & 1) == 0) { - while (count--) { - *dst_left-- = *src++; - *dst_right-- = *src++; - } - } else { - while (count--) { - *dst_right-- = *src++; - *dst_left-- = *src++; - } - } -} - -static void snd_emu10k1_fx8010_playback_tram_poke(emu10k1_t *emu, - unsigned int *tram_pos, - unsigned int *tram_shift, - unsigned int tram_size, - unsigned short *src, - unsigned int frames) -{ - unsigned int count; - - while (frames > *tram_pos) { - count = *tram_pos + 1; - snd_emu10k1_fx8010_playback_tram_poke1((unsigned short *)emu->fx8010.etram_pages.area + *tram_pos, - (unsigned short *)emu->fx8010.etram_pages.area + *tram_pos + tram_size / 2, - src, count, *tram_shift); - src += count * 2; - frames -= count; - *tram_pos = (tram_size / 2) - 1; - (*tram_shift)++; - } - snd_emu10k1_fx8010_playback_tram_poke1((unsigned short *)emu->fx8010.etram_pages.area + *tram_pos, - (unsigned short *)emu->fx8010.etram_pages.area + *tram_pos + tram_size / 2, - src, frames, *tram_shift++); - *tram_pos -= frames; -} - -static int snd_emu10k1_fx8010_playback_transfer(snd_pcm_substream_t *substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - snd_pcm_uframes_t appl_ptr = runtime->control->appl_ptr; - snd_pcm_sframes_t diff = appl_ptr - pcm->appl_ptr; - snd_pcm_uframes_t buffer_size = pcm->buffer_size / 2; - - if (diff) { - if (diff < -(snd_pcm_sframes_t) (runtime->boundary / 2)) - diff += runtime->boundary; - pcm->sw_ready += diff; - pcm->appl_ptr = appl_ptr; - } - while (pcm->hw_ready < buffer_size && - pcm->sw_ready > 0) { - size_t hw_to_end = buffer_size - pcm->hw_data; - size_t sw_to_end = (runtime->buffer_size << 2) - pcm->sw_data; - size_t tframes = buffer_size - pcm->hw_ready; - if (pcm->sw_ready < tframes) - tframes = pcm->sw_ready; - if (hw_to_end < tframes) - tframes = hw_to_end; - if (sw_to_end < tframes) - tframes = sw_to_end; - snd_emu10k1_fx8010_playback_tram_poke(emu, &pcm->tram_pos, &pcm->tram_shift, - pcm->buffer_size, - (unsigned short *)(runtime->dma_area + (pcm->sw_data << 2)), - tframes); - pcm->hw_data += tframes; - if (pcm->hw_data == buffer_size) - pcm->hw_data = 0; - pcm->sw_data += tframes; - if (pcm->sw_data == runtime->buffer_size) - pcm->sw_data = 0; - pcm->hw_ready += tframes; - pcm->sw_ready -= tframes; - } - return 0; -} - -static int snd_emu10k1_fx8010_playback_hw_params(snd_pcm_substream_t * substream, - snd_pcm_hw_params_t * hw_params) -{ - return snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); -} - -static int snd_emu10k1_fx8010_playback_hw_free(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - unsigned int i; - - for (i = 0; i < pcm->channels; i++) - snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, 0); - snd_pcm_lib_free_pages(substream); - return 0; -} - -static int snd_emu10k1_fx8010_playback_prepare(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - unsigned int i; - - // printk("prepare: etram_pages = 0x%p, dma_area = 0x%x, buffer_size = 0x%x (0x%x)\n", emu->fx8010.etram_pages, runtime->dma_area, runtime->buffer_size, runtime->buffer_size << 2); - pcm->sw_data = pcm->sw_io = pcm->sw_ready = 0; - pcm->hw_data = pcm->hw_io = pcm->hw_ready = 0; - pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size); - pcm->tram_shift = 0; - pcm->appl_ptr = 0; - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_running, 0, 0); /* reset */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0); /* reset */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_size, 0, runtime->buffer_size); - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_ptr, 0, 0); /* reset ptr number */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_count, 0, runtime->period_size); - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_tmpcount, 0, runtime->period_size); - for (i = 0; i < pcm->channels; i++) - snd_emu10k1_ptr_write(emu, TANKMEMADDRREGBASE + 0x80 + pcm->etram[i], 0, (TANKMEMADDRREG_READ|TANKMEMADDRREG_ALIGN) + i * (runtime->buffer_size / pcm->channels)); - return 0; -} - -static int snd_emu10k1_fx8010_playback_trigger(snd_pcm_substream_t * substream, int cmd) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - unsigned long flags; - int result = 0; - - spin_lock_irqsave(&emu->reg_lock, flags); - switch (cmd) { - case SNDRV_PCM_TRIGGER_START: - /* follow thru */ - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: -#ifdef EMU10K1_SET_AC3_IEC958 - { - int i; - for (i = 0; i < 3; i++) { - unsigned int bits; - bits = SPCS_CLKACCY_1000PPM | SPCS_SAMPLERATE_48 | - SPCS_CHANNELNUM_LEFT | SPCS_SOURCENUM_UNSPEC | SPCS_GENERATIONSTATUS | - 0x00001200 | SPCS_EMPHASIS_NONE | SPCS_COPYRIGHT | SPCS_NOTAUDIODATA; - snd_emu10k1_ptr_write(emu, SPCS0 + i, 0, bits); - } - } -#endif - result = snd_emu10k1_fx8010_register_irq_handler(emu, snd_emu10k1_fx8010_playback_irq, pcm->gpr_running, substream, &pcm->irq); - if (result < 0) - goto __err; - snd_emu10k1_fx8010_playback_transfer(substream); /* roll the ball */ - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 1); - break; - case SNDRV_PCM_TRIGGER_STOP: - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - snd_emu10k1_fx8010_unregister_irq_handler(emu, pcm->irq); pcm->irq = NULL; - snd_emu10k1_ptr_write(emu, emu->gpr_base + pcm->gpr_trigger, 0, 0); - pcm->tram_pos = INITIAL_TRAM_POS(pcm->buffer_size); - pcm->tram_shift = 0; - break; - default: - result = -EINVAL; - break; - } - __err: - spin_unlock_irqrestore(&emu->reg_lock, flags); - return result; -} - -static snd_pcm_uframes_t snd_emu10k1_fx8010_playback_pointer(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - size_t ptr; - snd_pcm_sframes_t frames; - - if (!snd_emu10k1_ptr_read(emu, emu->gpr_base + pcm->gpr_trigger, 0)) - return 0; - ptr = snd_emu10k1_ptr_read(emu, emu->gpr_base + pcm->gpr_ptr, 0); - frames = ptr - pcm->hw_io; - if (frames < 0) - frames += runtime->buffer_size; - pcm->hw_io = ptr; - pcm->hw_ready -= frames; - pcm->sw_io += frames; - if (pcm->sw_io >= runtime->buffer_size) - pcm->sw_io -= runtime->buffer_size; - snd_emu10k1_fx8010_playback_transfer(substream); - return pcm->sw_io; -} - -static snd_pcm_hardware_t snd_emu10k1_fx8010_playback = -{ - .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | - /* SNDRV_PCM_INFO_MMAP_VALID | */ SNDRV_PCM_INFO_PAUSE), - .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, - .rates = SNDRV_PCM_RATE_48000, - .rate_min = 48000, - .rate_max = 48000, - .channels_min = 1, - .channels_max = 1, - .buffer_bytes_max = (128*1024), - .period_bytes_min = 1024, - .period_bytes_max = (128*1024), - .periods_min = 1, - .periods_max = 1024, - .fifo_size = 0, -}; - -static int snd_emu10k1_fx8010_playback_open(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - - runtime->hw = snd_emu10k1_fx8010_playback; - runtime->hw.channels_min = runtime->hw.channels_max = pcm->channels; - runtime->hw.period_bytes_max = (pcm->buffer_size * 2) / 2; - spin_lock(&emu->reg_lock); - if (pcm->valid == 0) { - spin_unlock(&emu->reg_lock); - return -ENODEV; - } - pcm->opened = 1; - spin_unlock(&emu->reg_lock); - return 0; -} - -static int snd_emu10k1_fx8010_playback_close(snd_pcm_substream_t * substream) -{ - emu10k1_t *emu = snd_pcm_substream_chip(substream); - snd_emu10k1_fx8010_pcm_t *pcm = &emu->fx8010.pcm[substream->number]; - - spin_lock(&emu->reg_lock); - pcm->opened = 0; - spin_unlock(&emu->reg_lock); - return 0; -} - -static snd_pcm_ops_t snd_emu10k1_fx8010_playback_ops = { - .open = snd_emu10k1_fx8010_playback_open, - .close = snd_emu10k1_fx8010_playback_close, - .ioctl = snd_pcm_lib_ioctl, - .hw_params = snd_emu10k1_fx8010_playback_hw_params, - .hw_free = snd_emu10k1_fx8010_playback_hw_free, - .prepare = snd_emu10k1_fx8010_playback_prepare, - .trigger = snd_emu10k1_fx8010_playback_trigger, - .pointer = snd_emu10k1_fx8010_playback_pointer, - .ack = snd_emu10k1_fx8010_playback_transfer, -}; - -static void snd_emu10k1_fx8010_pcm_free(snd_pcm_t *pcm) -{ - emu10k1_t *emu = snd_magic_cast(emu10k1_t, pcm->private_data, return); - emu->pcm_fx8010 = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); -} - -int snd_emu10k1_fx8010_pcm(emu10k1_t * emu, int device, snd_pcm_t ** rpcm) -{ - snd_pcm_t *pcm; - int err; - - if (rpcm) - *rpcm = NULL; - - if ((err = snd_pcm_new(emu->card, "emu10k1", device, 8, 0, &pcm)) < 0) - return err; - - pcm->private_data = emu; - pcm->private_free = snd_emu10k1_fx8010_pcm_free; - - snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_emu10k1_fx8010_playback_ops); - - pcm->info_flags = 0; - strcpy(pcm->name, "EMU10K1 FX8010"); - emu->pcm_fx8010 = pcm; - - snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), 64*1024, 0); - - if (rpcm) - *rpcm = pcm; - - return 0; -} - /************************************************************************* * EMU10K1 effect manager *************************************************************************/ @@ -1193,7 +885,7 @@ static int snd_emu10k1_ipcm_peek(emu10k1_t *emu, emu10k1_fx8010_pcm_t *ipcm) #define SND_EMU10K1_GPR_CONTROLS 41 #define SND_EMU10K1_INPUTS 10 -#define SND_EMU10K1_PLAYBACK_CHANNELS 6 +#define SND_EMU10K1_PLAYBACK_CHANNELS 8 #define SND_EMU10K1_CAPTURE_CHANNELS 4 static void __devinit snd_emu10k1_init_mono_control(emu10k1_fx8010_control_gpr_t *ctl, const char *name, int gpr, int defval) @@ -1262,9 +954,9 @@ static int __devinit _snd_emu10k1_audigy_init_efx(emu10k1_t *emu) spin_lock_init(&emu->fx8010.irq_lock); INIT_LIST_HEAD(&emu->fx8010.gpr_ctl); - if ((icode = snd_kcalloc(sizeof(emu10k1_fx8010_code_t), GFP_KERNEL)) == NULL) + if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL) return -ENOMEM; - if ((controls = snd_kcalloc(sizeof(emu10k1_fx8010_control_gpr_t) * SND_EMU10K1_GPR_CONTROLS, GFP_KERNEL)) == NULL) { + if ((controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(*controls), GFP_KERNEL)) == NULL) { kfree(icode); return -ENOMEM; } @@ -1292,6 +984,14 @@ static int __devinit _snd_emu10k1_audigy_init_efx(emu10k1_t *emu) A_OP(icode, &ptr, iMAC0, A_GPR(playback+3), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT_REAR)); snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Surround Playback Volume", gpr, 100); gpr += 2; + + /* PCM Side Playback (independent from stereo mix) */ + if (emu->spk71) { + A_OP(icode, &ptr, iMAC0, A_GPR(playback+6), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_LEFT_SIDE)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+7), A_C_00000000, A_GPR(gpr+1), A_FXBUS(FXBUS_PCM_RIGHT_SIDE)); + snd_emu10k1_init_stereo_control(&controls[nctl++], "PCM Side Playback Volume", gpr, 100); + gpr += 2; + } /* PCM Center Playback (independent from stereo mix) */ A_OP(icode, &ptr, iMAC0, A_GPR(playback+4), A_C_00000000, A_GPR(gpr), A_FXBUS(FXBUS_PCM_CENTER)); @@ -1440,6 +1140,14 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) A_OP(icode, &ptr, iMAC0, A_GPR(playback+5), A_GPR(playback+5), A_GPR(gpr), A_GPR(tmp)); snd_emu10k1_init_mono_control(&controls[nctl++], "LFE Playback Volume", gpr, 0); gpr++; + + if (emu->spk71) { + /* Stereo Mix Side Playback */ + A_OP(icode, &ptr, iMAC0, A_GPR(playback+6), A_GPR(playback+6), A_GPR(gpr), A_GPR(stereo_mix)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+7), A_GPR(playback+7), A_GPR(gpr+1), A_GPR(stereo_mix+1)); + snd_emu10k1_init_stereo_control(&controls[nctl++], "Side Playback Volume", gpr, 0); + gpr += 2; + } /* * outputs @@ -1467,6 +1175,11 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 3), A_GPR(playback + 3), A_C_00000000, A_C_00000000); /* rear right */ A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 4), A_GPR(playback + 4), A_C_00000000, A_C_00000000); /* center */ A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 5), A_GPR(playback + 5), A_C_00000000, A_C_00000000); /* LFE */ + if (emu->spk71) { + A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 6), A_GPR(playback + 6), A_C_00000000, A_C_00000000); /* side left */ + A_OP(icode, &ptr, iACC3, A_GPR(playback + SND_EMU10K1_PLAYBACK_CHANNELS + 7), A_GPR(playback + 7), A_C_00000000, A_C_00000000); /* side right */ + } + ctl = &controls[nctl + 0]; ctl->id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; @@ -1497,7 +1210,7 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) controls[nctl + 1].gpr[z * 2 + j] = TREBLE_GPR + z * 2 + j; } } - for (z = 0; z < 3; z++) { /* front/rear/center-lfe */ + for (z = 0; z < 4; z++) { /* front/rear/center-lfe/side */ int j, k, l, d; for (j = 0; j < 2; j++) { /* left/right */ k = 0xb0 + (z * 8) + (j * 4); @@ -1529,7 +1242,7 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) #undef BASS_GPR #undef TREBLE_GPR - for (z = 0; z < 6; z++) { + for (z = 0; z < 8; z++) { A_SWITCH(icode, &ptr, tmp + 0, playback + SND_EMU10K1_PLAYBACK_CHANNELS + z, gpr + 0); A_SWITCH_NEG(icode, &ptr, tmp + 1, gpr + 0); A_SWITCH(icode, &ptr, tmp + 1, playback + z, tmp + 1); @@ -1540,12 +1253,14 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) /* Master volume (will be renamed later) */ A_OP(icode, &ptr, iMAC0, A_GPR(playback+0+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+0+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS)); - A_OP(icode, &ptr, iMAC0, A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr+1), A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS)); - snd_emu10k1_init_stereo_control(&controls[nctl++], "Wave Master Playback Volume", gpr, 0); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+1+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+2+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+3+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+4+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+5+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+6+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+6+SND_EMU10K1_PLAYBACK_CHANNELS)); + A_OP(icode, &ptr, iMAC0, A_GPR(playback+7+SND_EMU10K1_PLAYBACK_CHANNELS), A_C_00000000, A_GPR(gpr), A_GPR(playback+7+SND_EMU10K1_PLAYBACK_CHANNELS)); + snd_emu10k1_init_mono_control(&controls[nctl++], "Wave Master Playback Volume", gpr, 0); gpr += 2; /* analog speakers */ @@ -1553,6 +1268,8 @@ A_OP(icode, &ptr, iMAC0, A_GPR(var), A_GPR(var), A_GPR(vol), A_EXTIN(input)) A_PUT_STEREO_OUTPUT(A_EXTOUT_AREAR_L, A_EXTOUT_AREAR_R, playback+2 + SND_EMU10K1_PLAYBACK_CHANNELS); A_PUT_OUTPUT(A_EXTOUT_ACENTER, playback+4 + SND_EMU10K1_PLAYBACK_CHANNELS); A_PUT_OUTPUT(A_EXTOUT_ALFE, playback+5 + SND_EMU10K1_PLAYBACK_CHANNELS); + if (emu->spk71) + A_PUT_STEREO_OUTPUT(A_EXTOUT_ASIDE_L, A_EXTOUT_ASIDE_R, playback+6 + SND_EMU10K1_PLAYBACK_CHANNELS); /* headphone */ A_PUT_STEREO_OUTPUT(A_EXTOUT_HEADPHONE_L, A_EXTOUT_HEADPHONE_R, playback + SND_EMU10K1_PLAYBACK_CHANNELS); @@ -1674,13 +1391,13 @@ static int __devinit _snd_emu10k1_init_efx(emu10k1_t *emu) spin_lock_init(&emu->fx8010.irq_lock); INIT_LIST_HEAD(&emu->fx8010.gpr_ctl); - if ((icode = snd_kcalloc(sizeof(emu10k1_fx8010_code_t), GFP_KERNEL)) == NULL) + if ((icode = kcalloc(1, sizeof(*icode), GFP_KERNEL)) == NULL) return -ENOMEM; - if ((controls = snd_kcalloc(sizeof(emu10k1_fx8010_control_gpr_t) * SND_EMU10K1_GPR_CONTROLS, GFP_KERNEL)) == NULL) { + if ((controls = kcalloc(SND_EMU10K1_GPR_CONTROLS, sizeof(emu10k1_fx8010_control_gpr_t), GFP_KERNEL)) == NULL) { kfree(icode); return -ENOMEM; } - if ((ipcm = snd_kcalloc(sizeof(emu10k1_fx8010_pcm_t), GFP_KERNEL)) == NULL) { + if ((ipcm = kcalloc(1, sizeof(*ipcm), GFP_KERNEL)) == NULL) { kfree(controls); kfree(icode); return -ENOMEM; @@ -2236,13 +1953,14 @@ int snd_emu10k1_fx8010_tram_setup(emu10k1_t *emu, u32 size) snd_emu10k1_ptr_write(emu, TCB, 0, 0); snd_emu10k1_ptr_write(emu, TCBS, 0, 0); if (emu->fx8010.etram_pages.area != NULL) { - snd_dma_free_pages(&emu->dma_dev, &emu->fx8010.etram_pages); + snd_dma_free_pages(&emu->fx8010.etram_pages); emu->fx8010.etram_pages.area = NULL; emu->fx8010.etram_pages.bytes = 0; } if (size > 0) { - if (snd_dma_alloc_pages(&emu->dma_dev, size * 2, &emu->fx8010.etram_pages) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(emu->pci), + size * 2, &emu->fx8010.etram_pages) < 0) return -ENOMEM; memset(emu->fx8010.etram_pages.area, 0, size * 2); snd_emu10k1_ptr_write(emu, TCB, 0, emu->fx8010.etram_pages.addr); @@ -2297,7 +2015,7 @@ static int snd_emu10k1_fx8010_info(emu10k1_t *emu, emu10k1_fx8010_info_t *info) static int snd_emu10k1_fx8010_ioctl(snd_hwdep_t * hw, struct file *file, unsigned int cmd, unsigned long arg) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, hw->private_data, return -ENXIO); + emu10k1_t *emu = hw->private_data; emu10k1_fx8010_info_t *info; emu10k1_fx8010_code_t *icode; emu10k1_fx8010_pcm_t *ipcm; @@ -2364,7 +2082,7 @@ static int snd_emu10k1_fx8010_ioctl(snd_hwdep_t * hw, struct file *file, unsigne case SNDRV_EMU10K1_IOCTL_PCM_PEEK: if (emu->audigy) return -EINVAL; - ipcm = (emu10k1_fx8010_pcm_t *)snd_kcalloc(sizeof(*ipcm), GFP_KERNEL); + ipcm = kcalloc(1, sizeof(*ipcm), GFP_KERNEL); if (ipcm == NULL) return -ENOMEM; if (copy_from_user(ipcm, argp, sizeof(*ipcm))) { diff --git a/sound/pci/emu10k1/emumixer.c b/sound/pci/emu10k1/emumixer.c index 45692f56a..f73ac0ef6 100644 --- a/sound/pci/emu10k1/emumixer.c +++ b/sound/pci/emu10k1/emumixer.c @@ -32,8 +32,6 @@ #include #include -#define chip_t emu10k1_t - #define AC97_ID_STAC9758 0x83847658 static int snd_emu10k1_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) @@ -421,7 +419,7 @@ static snd_kcontrol_new_t snd_audigy_shared_spdif __devinitdata = */ static void snd_emu10k1_mixer_free_ac97(ac97_t *ac97) { - emu10k1_t *emu = snd_magic_cast(emu10k1_t, ac97->private_data, return); + emu10k1_t *emu = ac97->private_data; emu->ac97 = NULL; } @@ -512,13 +510,14 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu) }; if (!emu->no_ac97) { - ac97_bus_t bus, *pbus; - ac97_t ac97; - - memset(&bus, 0, sizeof(bus)); - bus.write = snd_emu10k1_ac97_write; - bus.read = snd_emu10k1_ac97_read; - if ((err = snd_ac97_bus(emu->card, &bus, &pbus)) < 0) + ac97_bus_t *pbus; + ac97_template_t ac97; + static ac97_bus_ops_t ops = { + .write = snd_emu10k1_ac97_write, + .read = snd_emu10k1_ac97_read, + }; + + if ((err = snd_ac97_bus(emu->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -528,7 +527,7 @@ int __devinit snd_emu10k1_mixer(emu10k1_t *emu) return err; if (emu->audigy) { /* set master volume to 0 dB */ - snd_ac97_write(emu->ac97, AC97_MASTER, 0x0202); + snd_ac97_write(emu->ac97, AC97_MASTER, 0x0000); /* set capture source to mic */ snd_ac97_write(emu->ac97, AC97_REC_SEL, 0x0000); c = audigy_remove_ctls; diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index 43e23d10c..ef32537a1 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c @@ -40,8 +40,6 @@ #include #include -#define chip_t ensoniq_t - #ifndef CHIP1371 #undef CHIP1370 #define CHIP1370 @@ -56,15 +54,14 @@ MODULE_AUTHOR("Jaroslav Kysela , Thomas Sailer "); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); #ifdef CHIP1370 MODULE_DESCRIPTION("Ensoniq AudioPCI ES1370"); -MODULE_DEVICES("{{Ensoniq,AudioPCI-97 ES1370}," +MODULE_SUPPORTED_DEVICE("{{Ensoniq,AudioPCI-97 ES1370}," "{Creative Labs,SB PCI64/128 (ES1370)}}"); #endif #ifdef CHIP1371 MODULE_DESCRIPTION("Ensoniq/Creative AudioPCI ES1371+"); -MODULE_DEVICES("{{Ensoniq,AudioPCI ES1371/73}," +MODULE_SUPPORTED_DEVICE("{{Ensoniq,AudioPCI ES1371/73}," "{Ensoniq,AudioPCI ES1373}," "{Creative Labs,Ectiva EV1938}," "{Creative Labs,SB PCI64/128 (ES1371/73)}," @@ -90,22 +87,17 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Ensoniq AudioPCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Ensoniq AudioPCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Ensoniq AudioPCI soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #ifdef SUPPORT_JOYSTICK #ifdef CHIP1371 module_param_array(joystick_port, int, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address."); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED ",allows:{{0},{1},{0x200},{0x208},{0x210},{0x218}},dialog:list"); #else module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick."); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); #endif #endif /* SUPPORT_JOYSTICK */ @@ -388,7 +380,6 @@ struct _snd_ensoniq { unsigned long capture3size; unsigned long port; - struct resource *res_port; unsigned int mode; unsigned int uartm; /* UART mode */ @@ -435,7 +426,6 @@ struct _snd_ensoniq { unsigned int spdif_stream; #ifdef CHIP1370 - struct snd_dma_device dma_dev; struct snd_dma_buffer dma_bug; #endif @@ -581,7 +571,7 @@ static void snd_es1371_src_write(ensoniq_t * ensoniq, static void snd_es1370_codec_write(ak4531_t *ak4531, unsigned short reg, unsigned short val) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ak4531->private_data, return); + ensoniq_t *ensoniq = ak4531->private_data; unsigned long flags; unsigned long end_time = jiffies + HZ / 10; @@ -611,7 +601,7 @@ static void snd_es1370_codec_write(ak4531_t *ak4531, static void snd_es1371_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ac97->private_data, return); + ensoniq_t *ensoniq = ac97->private_data; unsigned long flags; unsigned int t, x; @@ -649,7 +639,7 @@ static void snd_es1371_codec_write(ac97_t *ac97, static unsigned short snd_es1371_codec_read(ac97_t *ac97, unsigned short reg) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ac97->private_data, return -ENXIO); + ensoniq_t *ensoniq = ac97->private_data; unsigned long flags; unsigned int t, x, fail = 0; @@ -844,7 +834,6 @@ static int snd_ensoniq_hw_free(snd_pcm_substream_t * substream) static int snd_ensoniq_playback1_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned int mode = 0; @@ -855,7 +844,7 @@ static int snd_ensoniq_playback1_prepare(snd_pcm_substream_t * substream) mode |= 0x02; if (runtime->channels > 1) mode |= 0x01; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->ctrl &= ~ES_DAC1_EN; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); @@ -878,13 +867,12 @@ static int snd_ensoniq_playback1_prepare(snd_pcm_substream_t * substream) snd_es1371_dac1_rate(ensoniq, runtime->rate); #endif outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_playback2_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned int mode = 0; @@ -895,7 +883,7 @@ static int snd_ensoniq_playback2_prepare(snd_pcm_substream_t * substream) mode |= 0x02; if (runtime->channels > 1) mode |= 0x01; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->ctrl &= ~ES_DAC2_EN; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); outl(ES_MEM_PAGEO(ES_PAGE_DAC), ES_REG(ensoniq, MEM_PAGE)); @@ -917,13 +905,12 @@ static int snd_ensoniq_playback2_prepare(snd_pcm_substream_t * substream) snd_es1371_dac2_rate(ensoniq, runtime->rate); #endif outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_capture_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned int mode = 0; @@ -934,7 +921,7 @@ static int snd_ensoniq_capture_prepare(snd_pcm_substream_t * substream) mode |= 0x02; if (runtime->channels > 1) mode |= 0x01; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->ctrl &= ~ES_ADC_EN; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); outl(ES_MEM_PAGEO(ES_PAGE_ADC), ES_REG(ensoniq, MEM_PAGE)); @@ -954,7 +941,7 @@ static int snd_ensoniq_capture_prepare(snd_pcm_substream_t * substream) snd_es1371_adc_rate(ensoniq, runtime->rate); #endif outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } @@ -1151,31 +1138,29 @@ static int snd_ensoniq_playback1_close(snd_pcm_substream_t * substream) static int snd_ensoniq_playback2_close(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); ensoniq->playback2_substream = NULL; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); #ifdef CHIP1370 ensoniq->u.es1370.pclkdiv_lock &= ~ES_MODE_PLAY2; #endif ensoniq->mode &= ~ES_MODE_PLAY2; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_capture_close(snd_pcm_substream_t * substream) { - unsigned long flags; ensoniq_t *ensoniq = snd_pcm_substream_chip(substream); ensoniq->capture_substream = NULL; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); #ifdef CHIP1370 ensoniq->u.es1370.pclkdiv_lock &= ~ES_MODE_CAPTURE; #endif ensoniq->mode &= ~ES_MODE_CAPTURE; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } @@ -1214,7 +1199,7 @@ static snd_pcm_ops_t snd_ensoniq_capture_ops = { static void snd_ensoniq_pcm_free(snd_pcm_t *pcm) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, pcm->private_data, return); + ensoniq_t *ensoniq = pcm->private_data; ensoniq->pcm1 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1261,7 +1246,7 @@ static int __devinit snd_ensoniq_pcm(ensoniq_t * ensoniq, int device, snd_pcm_t static void snd_ensoniq_pcm_free2(snd_pcm_t *pcm) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, pcm->private_data, return); + ensoniq_t *ensoniq = pcm->private_data; ensoniq->pcm2 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1565,7 +1550,7 @@ static snd_kcontrol_new_t snd_ens1373_line __devinitdata = static void snd_ensoniq_mixer_free_ac97(ac97_t *ac97) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ac97->private_data, return); + ensoniq_t *ensoniq = ac97->private_data; ensoniq->u.es1371.ac97 = NULL; } @@ -1585,14 +1570,15 @@ static struct { static int snd_ensoniq_1371_mixer(ensoniq_t * ensoniq) { snd_card_t *card = ensoniq->card; - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err, idx; + static ac97_bus_ops_t ops = { + .write = snd_es1371_codec_write, + .read = snd_es1371_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_es1371_codec_write; - bus.read = snd_es1371_codec_read; - if ((err = snd_ac97_bus(card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -1663,30 +1649,28 @@ static int snd_ensoniq_control_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_ static int snd_ensoniq_control_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ensoniq_t *ensoniq = snd_kcontrol_chip(kcontrol); - unsigned long flags; int mask = kcontrol->private_value; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ucontrol->value.integer.value[0] = ensoniq->ctrl & mask ? 1 : 0; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ensoniq_t *ensoniq = snd_kcontrol_chip(kcontrol); - unsigned long flags; int mask = kcontrol->private_value; unsigned int nval; int change; nval = ucontrol->value.integer.value[0] ? mask : 0; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); change = (ensoniq->ctrl & mask) != nval; ensoniq->ctrl &= ~mask; ensoniq->ctrl |= nval; outl(ensoniq->ctrl, ES_REG(ensoniq, CONTROL)); - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return change; } @@ -1703,7 +1687,7 @@ ENSONIQ_CONTROL("Mic +5V bias", ES_1370_XCTL1) static void snd_ensoniq_mixer_free_ak4531(ak4531_t *ak4531) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, ak4531->private_data, return); + ensoniq_t *ensoniq = ak4531->private_data; ensoniq->u.es1370.ak4531 = NULL; } @@ -1785,7 +1769,7 @@ static void snd_ensoniq_joystick_free(ensoniq_t *ensoniq) static void snd_ensoniq_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, entry->private_data, return); + ensoniq_t *ensoniq = entry->private_data; #ifdef CHIP1370 snd_iprintf(buffer, "Ensoniq AudioPCI ES1370\n\n"); @@ -1833,21 +1817,18 @@ static int snd_ensoniq_free(ensoniq_t *ensoniq) __hw_end: #ifdef CHIP1370 if (ensoniq->dma_bug.area) - snd_dma_free_pages(&ensoniq->dma_dev, &ensoniq->dma_bug); + snd_dma_free_pages(&ensoniq->dma_bug); #endif - if (ensoniq->res_port) { - release_resource(ensoniq->res_port); - kfree_nocheck(ensoniq->res_port); - } if (ensoniq->irq >= 0) free_irq(ensoniq->irq, (void *)ensoniq); - snd_magic_kfree(ensoniq); + pci_release_regions(ensoniq->pci); + kfree(ensoniq); return 0; } static int snd_ensoniq_dev_free(snd_device_t *device) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, device->device_data, return -ENXIO); + ensoniq_t *ensoniq = device->device_data; return snd_ensoniq_free(ensoniq); } @@ -1894,19 +1875,18 @@ static int __devinit snd_ensoniq_create(snd_card_t * card, *rensoniq = NULL; if ((err = pci_enable_device(pci)) < 0) return err; - ensoniq = snd_magic_kcalloc(ensoniq_t, 0, GFP_KERNEL); + ensoniq = kcalloc(1, sizeof(*ensoniq), GFP_KERNEL); if (ensoniq == NULL) return -ENOMEM; spin_lock_init(&ensoniq->reg_lock); ensoniq->card = card; ensoniq->pci = pci; ensoniq->irq = -1; - ensoniq->port = pci_resource_start(pci, 0); - if ((ensoniq->res_port = request_region(ensoniq->port, 0x40, "Ensoniq AudioPCI")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ensoniq->port, ensoniq->port + 0x40 - 1); - snd_ensoniq_free(ensoniq); - return -EBUSY; + if ((err = pci_request_regions(pci, "Ensoniq AudioPCI")) < 0) { + kfree(ensoniq); + return err; } + ensoniq->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_audiopci_interrupt, SA_INTERRUPT|SA_SHIRQ, "Ensoniq AudioPCI", (void *)ensoniq)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_ensoniq_free(ensoniq); @@ -1914,10 +1894,8 @@ static int __devinit snd_ensoniq_create(snd_card_t * card, } ensoniq->irq = pci->irq; #ifdef CHIP1370 - memset(&ensoniq->dma_dev, 0, sizeof(ensoniq->dma_dev)); - ensoniq->dma_dev.type = SNDRV_DMA_TYPE_DEV; - ensoniq->dma_dev.dev = snd_dma_pci_data(pci); - if (snd_dma_alloc_pages(&ensoniq->dma_dev, 16, &ensoniq->dma_bug) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + 16, &ensoniq->dma_bug) < 0) { snd_printk("unable to allocate space for phantom area - dma_bug\n"); snd_ensoniq_free(ensoniq); return -EBUSY; @@ -2074,10 +2052,9 @@ static void snd_ensoniq_midi_interrupt(ensoniq_t * ensoniq) static int snd_ensoniq_midi_input_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->uartm |= ES_MODE_INPUT; ensoniq->midi_input = substream; if (!(ensoniq->uartm & ES_MODE_OUTPUT)) { @@ -2085,16 +2062,15 @@ static int snd_ensoniq_midi_input_open(snd_rawmidi_substream_t * substream) outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl |= ES_UART_EN, ES_REG(ensoniq, CONTROL)); } - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_midi_input_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); if (!(ensoniq->uartm & ES_MODE_OUTPUT)) { outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl &= ~ES_UART_EN, ES_REG(ensoniq, CONTROL)); @@ -2103,16 +2079,15 @@ static int snd_ensoniq_midi_input_close(snd_rawmidi_substream_t * substream) } ensoniq->midi_input = NULL; ensoniq->uartm &= ~ES_MODE_INPUT; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_midi_output_open(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); ensoniq->uartm |= ES_MODE_OUTPUT; ensoniq->midi_output = substream; if (!(ensoniq->uartm & ES_MODE_INPUT)) { @@ -2120,16 +2095,15 @@ static int snd_ensoniq_midi_output_open(snd_rawmidi_substream_t * substream) outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl |= ES_UART_EN, ES_REG(ensoniq, CONTROL)); } - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static int snd_ensoniq_midi_output_close(snd_rawmidi_substream_t * substream) { - unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return -ENXIO); + ensoniq_t *ensoniq = substream->rmidi->private_data; - spin_lock_irqsave(&ensoniq->reg_lock, flags); + spin_lock_irq(&ensoniq->reg_lock); if (!(ensoniq->uartm & ES_MODE_INPUT)) { outb(ensoniq->uartc = 0, ES_REG(ensoniq, UART_CONTROL)); outl(ensoniq->ctrl &= ~ES_UART_EN, ES_REG(ensoniq, CONTROL)); @@ -2138,14 +2112,14 @@ static int snd_ensoniq_midi_output_close(snd_rawmidi_substream_t * substream) } ensoniq->midi_output = NULL; ensoniq->uartm &= ~ES_MODE_OUTPUT; - spin_unlock_irqrestore(&ensoniq->reg_lock, flags); + spin_unlock_irq(&ensoniq->reg_lock); return 0; } static void snd_ensoniq_midi_input_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return); + ensoniq_t *ensoniq = substream->rmidi->private_data; int idx; spin_lock_irqsave(&ensoniq->reg_lock, flags); @@ -2169,7 +2143,7 @@ static void snd_ensoniq_midi_input_trigger(snd_rawmidi_substream_t * substream, static void snd_ensoniq_midi_output_trigger(snd_rawmidi_substream_t * substream, int up) { unsigned long flags; - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, substream->rmidi->private_data, return); + ensoniq_t *ensoniq = substream->rmidi->private_data; unsigned char byte; spin_lock_irqsave(&ensoniq->reg_lock, flags); @@ -2240,7 +2214,7 @@ static int __devinit snd_ensoniq_midi(ensoniq_t * ensoniq, int device, snd_rawmi static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ensoniq_t *ensoniq = snd_magic_cast(ensoniq_t, dev_id, return IRQ_NONE); + ensoniq_t *ensoniq = dev_id; unsigned int status, sctrl; if (ensoniq == NULL) diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c index 87afa49a0..3d7f98ca9 100644 --- a/sound/pci/es1938.c +++ b/sound/pci/es1938.c @@ -54,6 +54,7 @@ #include #include #include +#include #include #include #include @@ -63,13 +64,10 @@ #include -#define chip_t es1938_t - MODULE_AUTHOR("Jaromir Koutek "); MODULE_DESCRIPTION("ESS Solo-1"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,ES1938}," +MODULE_SUPPORTED_DEVICE("{{ESS,ES1938}," "{ESS,ES1946}," "{ESS,ES1969}," "{TerraTec,128i PCI}}"); @@ -88,13 +86,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ESS Solo-1 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ESS Solo-1 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ESS Solo-1 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); #define SLIO_REG(chip, x) ((chip)->io_port + ESSIO_REG_##x) @@ -202,19 +197,16 @@ MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); typedef struct _snd_es1938 es1938_t; +#define SAVED_REG_SIZE 32 /* max. number of registers to save */ + struct _snd_es1938 { int irq; unsigned long io_port; - struct resource *res_io_port; unsigned long sb_port; - struct resource *res_sb_port; unsigned long vc_port; - struct resource *res_vc_port; unsigned long mpu_port; - struct resource *res_mpu_port; unsigned long game_port; - struct resource *res_game_port; unsigned long ddma_port; unsigned char irqmask; @@ -227,6 +219,7 @@ struct _snd_es1938 { struct pci_dev *pci; snd_card_t *card; + snd_pcm_t *pcm; snd_pcm_substream_t *capture_substream; snd_pcm_substream_t *playback1_substream; snd_pcm_substream_t *playback2_substream; @@ -248,6 +241,9 @@ struct _snd_es1938 { #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) struct gameport gameport; #endif +#ifdef CONFIG_PM + unsigned char saved_regs[SAVED_REG_SIZE]; +#endif }; static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); @@ -573,7 +569,12 @@ static int snd_es1938_playback1_trigger(snd_pcm_substream_t * substream, case SNDRV_PCM_TRIGGER_START: /* According to the documentation this should be: 0x13 but that value may randomly swap stereo channels */ + snd_es1938_mixer_write(chip, ESSSB_IREG_AUDIO2CONTROL1, 0x92); + udelay(10); snd_es1938_mixer_write(chip, ESSSB_IREG_AUDIO2CONTROL1, 0x93); + /* This two stage init gives the FIFO -> DAC connection time to + * settle before first data from DMA flows in. This should ensure + * no swapping of stereo channels. Report a bug if otherwise :-) */ outb(0x0a, SLIO_REG(chip, AUDIO2MODE)); chip->active |= DAC2; break; @@ -690,6 +691,8 @@ static int snd_es1938_playback1_prepare(snd_pcm_substream_t * substream) chip->dma2_shift = 2 - mono - is8; + snd_es1938_reset_fifo(chip); + /* set clock and counters */ snd_es1938_rate_set(chip, substream, DAC2); @@ -874,9 +877,9 @@ static snd_pcm_hardware_t snd_es1938_capture = .rate_max = 48000, .channels_min = 1, .channels_max = 2, - .buffer_bytes_max = 65536, + .buffer_bytes_max = 0x8000, /* DMA controller screws on higher values */ .period_bytes_min = 64, - .period_bytes_max = 65536, + .period_bytes_max = 0x8000, .periods_min = 1, .periods_max = 1024, .fifo_size = 256, @@ -896,9 +899,9 @@ static snd_pcm_hardware_t snd_es1938_playback = .rate_max = 48000, .channels_min = 1, .channels_max = 2, - .buffer_bytes_max = 65536, + .buffer_bytes_max = 0x8000, /* DMA controller screws on higher values */ .period_bytes_min = 64, - .period_bytes_max = 65536, + .period_bytes_max = 0x8000, .periods_min = 1, .periods_max = 1024, .fifo_size = 256, @@ -998,13 +1001,11 @@ static void snd_es1938_free_pcm(snd_pcm_t *pcm) snd_pcm_lib_preallocate_free_for_all(pcm); } -static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device, snd_pcm_t ** rpcm) +static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device) { snd_pcm_t *pcm; int err; - if (rpcm) - *rpcm = NULL; if ((err = snd_pcm_new(chip->card, "es-1938-1946", device, 2, 1, &pcm)) < 0) return err; snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_es1938_playback_ops); @@ -1018,8 +1019,7 @@ static int __devinit snd_es1938_new_pcm(es1938_t *chip, int device, snd_pcm_t ** snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), 64*1024, 64*1024); - if (rpcm) - *rpcm = pcm; + chip->pcm = pcm; return 0; } @@ -1129,7 +1129,7 @@ static int snd_es1938_get_hw_switch(snd_kcontrol_t * kcontrol, snd_ctl_elem_valu static void snd_es1938_hwv_free(snd_kcontrol_t *kcontrol) { - es1938_t *chip = snd_magic_cast(es1938_t, _snd_kcontrol_chip(kcontrol), return); + es1938_t *chip = snd_kcontrol_chip(kcontrol); chip->master_volume = NULL; chip->master_switch = NULL; chip->hw_volume = NULL; @@ -1340,43 +1340,106 @@ ES1938_SINGLE("Mic Boost (+26dB)", 0, 0x7d, 3, 1, 0) /* ---------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------- */ +/* + * initialize the chip - used by resume callback, too + */ +static void snd_es1938_chip_init(es1938_t *chip) +{ + /* reset chip */ + snd_es1938_reset(chip); + + /* configure native mode */ + + /* enable bus master */ + pci_set_master(chip->pci); + + /* disable legacy audio */ + pci_write_config_word(chip->pci, SL_PCI_LEGACYCONTROL, 0x805f); + + /* set DDMA base */ + pci_write_config_word(chip->pci, SL_PCI_DDMACONTROL, chip->ddma_port | 1); + + /* set DMA/IRQ policy */ + pci_write_config_dword(chip->pci, SL_PCI_CONFIG, 0); + + /* enable Audio 1, Audio 2, MPU401 IRQ and HW volume IRQ*/ + outb(0xf0, SLIO_REG(chip, IRQCONTROL)); + + /* reset DMA */ + outb(0, SLDM_REG(chip, DMACLEAR)); +} + +#ifdef CONFIG_PM +/* + * PM support + */ + +static unsigned char saved_regs[SAVED_REG_SIZE+1] = { + 0x14, 0x1a, 0x1c, 0x3a, 0x3c, 0x3e, 0x36, 0x38, + 0x50, 0x52, 0x60, 0x61, 0x62, 0x63, 0x64, 0x68, + 0x69, 0x6a, 0x6b, 0x6d, 0x6e, 0x6f, 0x7c, 0x7d, + 0xa8, 0xb4, +}; + + +static int es1938_suspend(snd_card_t *card, unsigned int state) +{ + es1938_t *chip = card->pm_private_data; + unsigned char *s, *d; + + snd_pcm_suspend_all(chip->pcm); + + /* save mixer-related registers */ + for (s = saved_regs, d = chip->saved_regs; *s; s++, d++) + *d = snd_es1938_reg_read(chip, *s); + + outb(0x00, SLIO_REG(chip, IRQCONTROL)); /* disable irqs */ + + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + return 0; +} + +static int es1938_resume(snd_card_t *card, unsigned int state) +{ + es1938_t *chip = card->pm_private_data; + unsigned char *s, *d; + + pci_enable_device(chip->pci); + snd_es1938_chip_init(chip); + + /* restore mixer-related registers */ + for (s = saved_regs, d = chip->saved_regs; *s; s++, d++) { + if (*s < 0xa0) + snd_es1938_mixer_write(chip, *s, *d); + else + snd_es1938_write(chip, *s, *d); + } + + snd_power_change_state(card, SNDRV_CTL_POWER_D0); + return 0; +} +#endif /* CONFIG_PM */ + static int snd_es1938_free(es1938_t *chip) { + /* disable irqs */ + outb(0x00, SLIO_REG(chip, IRQCONTROL)); /*if (chip->rmidi) snd_es1938_mixer_bits(chip, ESSSB_IREG_MPU401CONTROL, 0x40, 0);*/ #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) if (chip->gameport.io) gameport_unregister_port(&chip->gameport); #endif - if (chip->res_io_port) { - release_resource(chip->res_io_port); - kfree_nocheck(chip->res_io_port); - } - if (chip->res_sb_port) { - release_resource(chip->res_sb_port); - kfree_nocheck(chip->res_sb_port); - } - if (chip->res_vc_port) { - release_resource(chip->res_vc_port); - kfree_nocheck(chip->res_vc_port); - } - if (chip->res_mpu_port) { - release_resource(chip->res_mpu_port); - kfree_nocheck(chip->res_mpu_port); - } - if (chip->res_game_port) { - release_resource(chip->res_game_port); - kfree_nocheck(chip->res_game_port); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_es1938_dev_free(snd_device_t *device) { - es1938_t *chip = snd_magic_cast(es1938_t, device->device_data, return -ENXIO); + es1938_t *chip = device->device_data; return snd_es1938_free(chip); } @@ -1402,43 +1465,22 @@ static int __devinit snd_es1938_create(snd_card_t * card, return -ENXIO; } - chip = snd_magic_kcalloc(es1938_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); spin_lock_init(&chip->mixer_lock); chip->card = card; chip->pci = pci; - chip->io_port = pci_resource_start(pci, 0); - if ((chip->res_io_port = request_region(chip->io_port, 8, "ESS Solo-1")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", chip->io_port, chip->io_port + 8 - 1); - snd_es1938_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "ESS Solo-1")) < 0) { + kfree(chip); + return err; } + chip->io_port = pci_resource_start(pci, 0); chip->sb_port = pci_resource_start(pci, 1); - if ((chip->res_sb_port = request_region(chip->sb_port, 0x10, "ESS Solo-1 SB")) == NULL) { - snd_printk("unable to grab SB region 0x%lx-0x%lx\n", chip->sb_port, chip->sb_port + 0x10 - 1); - snd_es1938_free(chip); - return -EBUSY; - } chip->vc_port = pci_resource_start(pci, 2); - if ((chip->res_vc_port = request_region(chip->vc_port, 0x10, "ESS Solo-1 VC (DMA)")) == NULL) { - snd_printk("unable to grab VC (DMA) region 0x%lx-0x%lx\n", chip->vc_port, chip->vc_port + 0x10 - 1); - snd_es1938_free(chip); - return -EBUSY; - } chip->mpu_port = pci_resource_start(pci, 3); - if ((chip->res_mpu_port = request_region(chip->mpu_port, 4, "ESS Solo-1 MIDI")) == NULL) { - snd_printk("unable to grab MIDI region 0x%lx-0x%lx\n", chip->mpu_port, chip->mpu_port + 4 - 1); - snd_es1938_free(chip); - return -EBUSY; - } chip->game_port = pci_resource_start(pci, 4); - if ((chip->res_game_port = request_region(chip->game_port, 4, "ESS Solo-1 GAME")) == NULL) { - snd_printk("unable to grab GAME region 0x%lx-0x%lx\n", chip->game_port, chip->game_port + 4 - 1); - snd_es1938_free(chip); - return -EBUSY; - } if (request_irq(pci->irq, snd_es1938_interrupt, SA_INTERRUPT|SA_SHIRQ, "ES1938", (void *)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_es1938_free(chip); @@ -1449,32 +1491,12 @@ static int __devinit snd_es1938_create(snd_card_t * card, snd_printk("create: io: 0x%lx, sb: 0x%lx, vc: 0x%lx, mpu: 0x%lx, game: 0x%lx\n", chip->io_port, chip->sb_port, chip->vc_port, chip->mpu_port, chip->game_port); #endif - /* reset chip */ - snd_es1938_reset(chip); - - /* configure native mode */ - - /* enable bus master */ - pci_set_master(pci); - - /* disable legacy audio */ - pci_write_config_word(pci, SL_PCI_LEGACYCONTROL, 0x805f); - /* set DDMA base */ chip->ddma_port = chip->vc_port + 0x00; /* fix from Thomas Sailer */ - pci_write_config_word(pci, SL_PCI_DDMACONTROL, chip->ddma_port | 1); - /* set DMA/IRQ policy */ - pci_write_config_dword(pci, SL_PCI_CONFIG, 0); + snd_es1938_chip_init(chip); - /* enable Audio 1, Audio 2, MPU401 IRQ and HW volume IRQ*/ - outb(0xf0, SLIO_REG(chip, IRQCONTROL)); - - /* reset DMA */ - outb(0, SLDM_REG(chip, DMACLEAR)); - - /* enable bus mastering */ - pci_set_master(pci); + snd_card_set_pm_callback(card, es1938_suspend, es1938_resume, chip); if ((err = snd_device_new(card, SNDRV_DEV_LOWLEVEL, chip, &ops)) < 0) { snd_es1938_free(chip); @@ -1492,7 +1514,7 @@ static int __devinit snd_es1938_create(snd_card_t * card, * -------------------------------------------------------------------- */ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es1938_t *chip = snd_magic_cast(es1938_t, dev_id, return IRQ_NONE); + es1938_t *chip = dev_id; unsigned char status, audiostatus; int handled = 0; @@ -1560,19 +1582,15 @@ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *r #define ES1938_DMA_SIZE 64 -static int __devinit snd_es1938_mixer(snd_pcm_t *pcm) +static int __devinit snd_es1938_mixer(es1938_t *chip) { snd_card_t *card; - es1938_t *chip; unsigned int idx; int err; - snd_assert(pcm != NULL && pcm->card != NULL, return -EINVAL); + card = chip->card; - card = pcm->card; - chip = snd_pcm_chip(pcm); - - strcpy(card->mixername, pcm->name); + strcpy(card->mixername, "ESS Solo-1"); for (idx = 0; idx < ARRAY_SIZE(snd_es1938_controls); idx++) { snd_kcontrol_t *kctl; @@ -1608,7 +1626,6 @@ static int __devinit snd_es1938_probe(struct pci_dev *pci, static int dev; snd_card_t *card; es1938_t *chip; - snd_pcm_t *pcm; opl3_t *opl3; int idx, err; @@ -1641,11 +1658,11 @@ static int __devinit snd_es1938_probe(struct pci_dev *pci, chip->revision, chip->irq); - if ((err = snd_es1938_new_pcm(chip, 0, &pcm)) < 0) { + if ((err = snd_es1938_new_pcm(chip, 0)) < 0) { snd_card_free(card); return err; } - if ((err = snd_es1938_mixer(pcm)) < 0) { + if ((err = snd_es1938_mixer(chip)) < 0) { snd_card_free(card); return err; } @@ -1697,6 +1714,7 @@ static struct pci_driver driver = { .id_table = snd_es1938_ids, .probe = snd_es1938_probe, .remove = __devexit_p(snd_es1938_remove), + SND_PCI_PM_CALLBACKS }; static int __init alsa_card_es1938_init(void) diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c index 437d13b42..e97a7e8d7 100644 --- a/sound/pci/es1968.c +++ b/sound/pci/es1968.c @@ -109,15 +109,12 @@ #include #include -#define chip_t es1968_t - #define CARD_NAME "ESS Maestro1/2" #define DRIVER_NAME "ES1968" MODULE_DESCRIPTION("ESS Maestro"); -MODULE_CLASSES("{sound}"); MODULE_LICENSE("GPL"); -MODULE_DEVICES("{{ESS,Maestro 2e}," +MODULE_SUPPORTED_DEVICE("{{ESS,Maestro 2e}," "{ESS,Maestro 2}," "{ESS,Maestro 1}," "{TerraTec,DMX}}"); @@ -142,35 +139,25 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(total_bufsize, int, boot_devs, 0444); MODULE_PARM_DESC(total_bufsize, "Total buffer size in kB."); -MODULE_PARM_SYNTAX(total_bufsize, SNDRV_ENABLED ",allows:{{1,4096}},skill:advanced"); module_param_array(pcm_substreams_p, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_substreams_p, "PCM Playback substreams for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(pcm_substreams_p, SNDRV_ENABLED ",allows:{{1,8}}"); module_param_array(pcm_substreams_c, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_substreams_c, "PCM Capture substreams for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(pcm_substreams_c, SNDRV_ENABLED ",allows:{{0,8}}"); module_param_array(clock, int, boot_devs, 0444); MODULE_PARM_DESC(clock, "Clock on " CARD_NAME " soundcard. (0 = auto-detect)"); -MODULE_PARM_SYNTAX(clock, SNDRV_ENABLED); module_param_array(use_pm, int, boot_devs, 0444); MODULE_PARM_DESC(use_pm, "Toggle power-management. (0 = off, 1 = on, 2 = auto)"); -MODULE_PARM_SYNTAX(use_pm, SNDRV_ENABLED ",allows:{{0,1,2}},default:2,skill:advanced"); module_param_array(enable_mpu, int, boot_devs, 0444); MODULE_PARM_DESC(enable_mpu, "Enable MPU401. (0 = off, 1 = on, 2 = auto)"); -MODULE_PARM_SYNTAX(enable_mpu, SNDRV_ENABLED ",allows:{{0,2}},default:2"); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick."); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); #endif @@ -522,9 +509,7 @@ enum { /* DMA Hack! */ struct snd_esm_memory { - char *buf; - unsigned long addr; - int size; + struct snd_dma_buffer buf; int empty; /* status */ struct list_head list; }; @@ -573,13 +558,11 @@ struct snd_es1968 { unsigned int clock; /* clock */ /* buffer */ - struct snd_dma_device dma_dev; struct snd_dma_buffer dma; /* Resources... */ int irq; unsigned long io_port; - struct resource *res_io_port; int type; struct pci_dev *pci; snd_card_t *card; @@ -696,7 +679,7 @@ static int snd_es1968_ac97_wait(es1968_t *chip) static void snd_es1968_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - es1968_t *chip = snd_magic_cast(es1968_t, ac97->private_data, return); + es1968_t *chip = ac97->private_data; unsigned long flags; spin_lock_irqsave(&chip->reg_lock, flags); @@ -715,7 +698,7 @@ static void snd_es1968_ac97_write(ac97_t *ac97, unsigned short reg, unsigned sho static unsigned short snd_es1968_ac97_read(ac97_t *ac97, unsigned short reg) { u16 data = 0; - es1968_t *chip = snd_magic_cast(es1968_t, ac97->private_data, return 0); + es1968_t *chip = ac97->private_data; unsigned long flags; spin_lock_irqsave(&chip->reg_lock, flags); @@ -1078,10 +1061,10 @@ static void snd_es1968_playback_setup(es1968_t *chip, esschan_t *es, for (channel = 0; channel <= high_apu; channel++) { apu = es->apu[channel]; - snd_es1968_program_wavecache(chip, es, channel, es->memory->addr, 0); + snd_es1968_program_wavecache(chip, es, channel, es->memory->buf.addr, 0); /* Offset to PCMBAR */ - pa = es->memory->addr; + pa = es->memory->buf.addr; pa -= chip->dma.addr; pa >>= 1; /* words */ @@ -1230,20 +1213,20 @@ static void snd_es1968_capture_setup(es1968_t *chip, esschan_t *es, /* input mixer (left/mono) */ /* parallel in crap, see maestro reg 0xC [8-11] */ init_capture_apu(chip, es, 2, - es->mixbuf->addr, ESM_MIXBUF_SIZE/4, /* in words */ + es->mixbuf->buf.addr, ESM_MIXBUF_SIZE/4, /* in words */ ESM_APU_INPUTMIXER, 0x14); /* SRC (left/mono); get input from inputing apu */ - init_capture_apu(chip, es, 0, es->memory->addr, size, + init_capture_apu(chip, es, 0, es->memory->buf.addr, size, ESM_APU_SRCONVERTOR, es->apu[2]); if (es->fmt & ESS_FMT_STEREO) { /* input mixer (right) */ init_capture_apu(chip, es, 3, - es->mixbuf->addr + ESM_MIXBUF_SIZE/2, + es->mixbuf->buf.addr + ESM_MIXBUF_SIZE/2, ESM_MIXBUF_SIZE/4, /* in words */ ESM_APU_INPUTMIXER, 0x15); /* SRC (right) */ init_capture_apu(chip, es, 1, - es->memory->addr + size*2, size, + es->memory->buf.addr + size*2, size, ESM_APU_SRCONVERTOR, es->apu[3]); } @@ -1281,7 +1264,7 @@ static int snd_es1968_pcm_prepare(snd_pcm_substream_t *substream) { es1968_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - esschan_t *es = snd_magic_cast(esschan_t, runtime->private_data, return -ENXIO); + esschan_t *es = runtime->private_data; es->dma_size = snd_pcm_lib_buffer_bytes(substream); es->frag_size = snd_pcm_lib_period_bytes(substream); @@ -1312,10 +1295,9 @@ static int snd_es1968_pcm_prepare(snd_pcm_substream_t *substream) static int snd_es1968_pcm_trigger(snd_pcm_substream_t *substream, int cmd) { es1968_t *chip = snd_pcm_substream_chip(substream); - esschan_t *es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); - unsigned long flags; + esschan_t *es = substream->runtime->private_data; - spin_lock_irqsave(&chip->substream_lock, flags); + spin_lock(&chip->substream_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -1336,14 +1318,14 @@ static int snd_es1968_pcm_trigger(snd_pcm_substream_t *substream, int cmd) snd_es1968_bob_dec(chip); break; } - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock(&chip->substream_lock); return 0; } static snd_pcm_uframes_t snd_es1968_pcm_pointer(snd_pcm_substream_t *substream) { es1968_t *chip = snd_pcm_substream_chip(substream); - esschan_t *es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); + esschan_t *es = substream->runtime->private_data; unsigned int ptr; ptr = snd_es1968_get_dma_ptr(chip, es) << es->wav_shift; @@ -1408,8 +1390,8 @@ static int calc_available_memory_size(es1968_t *chip) down(&chip->memory_mutex); list_for_each(p, &chip->buf_list) { esm_memory_t *buf = list_entry(p, esm_memory_t, list); - if (buf->empty && buf->size > max_size) - max_size = buf->size; + if (buf->empty && buf->buf.bytes > max_size) + max_size = buf->buf.bytes; } up(&chip->memory_mutex); if (max_size >= 128*1024) @@ -1427,24 +1409,25 @@ static esm_memory_t *snd_es1968_new_memory(es1968_t *chip, int size) down(&chip->memory_mutex); list_for_each(p, &chip->buf_list) { buf = list_entry(p, esm_memory_t, list); - if (buf->empty && buf->size >= size) + if (buf->empty && buf->buf.bytes >= size) goto __found; } up(&chip->memory_mutex); return NULL; __found: - if (buf->size > size) { + if (buf->buf.bytes > size) { esm_memory_t *chunk = kmalloc(sizeof(*chunk), GFP_KERNEL); if (chunk == NULL) { up(&chip->memory_mutex); return NULL; } - chunk->size = buf->size - size; - chunk->buf = buf->buf + size; - chunk->addr = buf->addr + size; + chunk->buf = buf->buf; + chunk->buf.bytes -= size; + chunk->buf.area += size; + chunk->buf.addr += size; chunk->empty = 1; - buf->size = size; + buf->buf.bytes = size; list_add(&chunk->list, &buf->list); } buf->empty = 0; @@ -1462,7 +1445,7 @@ static void snd_es1968_free_memory(es1968_t *chip, esm_memory_t *buf) if (buf->list.prev != &chip->buf_list) { chunk = list_entry(buf->list.prev, esm_memory_t, list); if (chunk->empty) { - chunk->size += buf->size; + chunk->buf.bytes += buf->buf.bytes; list_del(&buf->list); kfree(buf); buf = chunk; @@ -1471,7 +1454,7 @@ static void snd_es1968_free_memory(es1968_t *chip, esm_memory_t *buf) if (buf->list.next != &chip->buf_list) { chunk = list_entry(buf->list.next, esm_memory_t, list); if (chunk->empty) { - buf->size += chunk->size; + buf->buf.bytes += chunk->buf.bytes; list_del(&chunk->list); kfree(chunk); } @@ -1485,7 +1468,7 @@ static void snd_es1968_free_dmabuf(es1968_t *chip) if (! chip->dma.area) return; - snd_dma_free_reserved(&chip->dma_dev); + snd_dma_reserve_buf(&chip->dma, snd_dma_pci_buf_id(chip->pci)); while ((p = chip->buf_list.next) != &chip->buf_list) { esm_memory_t *chunk = list_entry(p, esm_memory_t, list); list_del(p); @@ -1499,22 +1482,22 @@ snd_es1968_init_dmabuf(es1968_t *chip) int err; esm_memory_t *chunk; - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(chip->pci); - chip->dma_dev.id = 0; - if (! snd_dma_get_reserved(&chip->dma_dev, &chip->dma)) { - err = snd_dma_alloc_pages_fallback(&chip->dma_dev, chip->total_bufsize, &chip->dma); + chip->dma.dev.type = SNDRV_DMA_TYPE_DEV; + chip->dma.dev.dev = snd_dma_pci_data(chip->pci); + if (! snd_dma_get_reserved_buf(&chip->dma, snd_dma_pci_buf_id(chip->pci))) { + err = snd_dma_alloc_pages_fallback(SNDRV_DMA_TYPE_DEV, + snd_dma_pci_data(chip->pci), + chip->total_bufsize, &chip->dma); if (err < 0 || ! chip->dma.area) { snd_printk("es1968: can't allocate dma pages for size %d\n", chip->total_bufsize); return -ENOMEM; } if ((chip->dma.addr + chip->dma.bytes - 1) & ~((1 << 28) - 1)) { - snd_dma_free_pages(&chip->dma_dev, &chip->dma); + snd_dma_free_pages(&chip->dma); snd_printk("es1968: DMA buffer beyond 256MB.\n"); return -ENOMEM; } - snd_dma_set_reserved(&chip->dma_dev, &chip->dma); } INIT_LIST_HEAD(&chip->buf_list); @@ -1525,9 +1508,10 @@ snd_es1968_init_dmabuf(es1968_t *chip) return -ENOMEM; } memset(chip->dma.area, 0, ESM_MEM_ALIGN); - chunk->buf = chip->dma.area + ESM_MEM_ALIGN; - chunk->addr = chip->dma.addr + ESM_MEM_ALIGN; - chunk->size = chip->dma.bytes - ESM_MEM_ALIGN; + chunk->buf = chip->dma; + chunk->buf.area += ESM_MEM_ALIGN; + chunk->buf.addr += ESM_MEM_ALIGN; + chunk->buf.bytes -= ESM_MEM_ALIGN; chunk->empty = 1; list_add(&chunk->list, &chip->buf_list); @@ -1541,11 +1525,11 @@ static int snd_es1968_hw_params(snd_pcm_substream_t *substream, { es1968_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - esschan_t *chan = snd_magic_cast(esschan_t, runtime->private_data, return -ENXIO); + esschan_t *chan = runtime->private_data; int size = params_buffer_bytes(hw_params); if (chan->memory) { - if (chan->memory->size >= size) { + if (chan->memory->buf.bytes >= size) { runtime->dma_bytes = size; return 0; } @@ -1556,9 +1540,7 @@ static int snd_es1968_hw_params(snd_pcm_substream_t *substream, // snd_printd("cannot allocate dma buffer: size = %d\n", size); return -ENOMEM; } - runtime->dma_bytes = size; - runtime->dma_area = chan->memory->buf; - runtime->dma_addr = chan->memory->addr; + snd_pcm_set_runtime_buffer(substream, &chan->memory->buf); return 1; /* area was changed */ } @@ -1571,7 +1553,7 @@ static int snd_es1968_hw_free(snd_pcm_substream_t * substream) if (runtime->private_data == NULL) return 0; - chan = snd_magic_cast(esschan_t, runtime->private_data, return -ENXIO); + chan = runtime->private_data; if (chan->memory) { snd_es1968_free_memory(chip, chan->memory); chan->memory = NULL; @@ -1616,14 +1598,13 @@ static int snd_es1968_playback_open(snd_pcm_substream_t *substream) snd_pcm_runtime_t *runtime = substream->runtime; esschan_t *es; int apu1; - unsigned long flags; /* search 2 APUs */ apu1 = snd_es1968_alloc_apu_pair(chip, ESM_APU_PCM_PLAY); if (apu1 < 0) return apu1; - es = snd_magic_kcalloc(esschan_t, 0, GFP_KERNEL); + es = kcalloc(1, sizeof(*es), GFP_KERNEL); if (!es) { snd_es1968_free_apu_pair(chip, apu1); return -ENOMEM; @@ -1645,9 +1626,9 @@ static int snd_es1968_playback_open(snd_pcm_substream_t *substream) snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 1024); #endif - spin_lock_irqsave(&chip->substream_lock, flags); + spin_lock_irq(&chip->substream_lock); list_add(&es->list, &chip->substream_list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); return 0; } @@ -1658,7 +1639,6 @@ static int snd_es1968_capture_open(snd_pcm_substream_t *substream) es1968_t *chip = snd_pcm_substream_chip(substream); esschan_t *es; int apu1, apu2; - unsigned long flags; apu1 = snd_es1968_alloc_apu_pair(chip, ESM_APU_PCM_CAPTURE); if (apu1 < 0) @@ -1669,7 +1649,7 @@ static int snd_es1968_capture_open(snd_pcm_substream_t *substream) return apu2; } - es = snd_magic_kcalloc(esschan_t, 0, GFP_KERNEL); + es = kcalloc(1, sizeof(*es), GFP_KERNEL); if (!es) { snd_es1968_free_apu_pair(chip, apu1); snd_es1968_free_apu_pair(chip, apu2); @@ -1692,10 +1672,10 @@ static int snd_es1968_capture_open(snd_pcm_substream_t *substream) if ((es->mixbuf = snd_es1968_new_memory(chip, ESM_MIXBUF_SIZE)) == NULL) { snd_es1968_free_apu_pair(chip, apu1); snd_es1968_free_apu_pair(chip, apu2); - snd_magic_kfree(es); + kfree(es); return -ENOMEM; } - memset(es->mixbuf->buf, 0, ESM_MIXBUF_SIZE); + memset(es->mixbuf->buf.area, 0, ESM_MIXBUF_SIZE); runtime->private_data = es; runtime->hw = snd_es1968_capture; @@ -1705,9 +1685,9 @@ static int snd_es1968_capture_open(snd_pcm_substream_t *substream) snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, 1024); #endif - spin_lock_irqsave(&chip->substream_lock, flags); + spin_lock_irq(&chip->substream_lock); list_add(&es->list, &chip->substream_list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); return 0; } @@ -1716,16 +1696,15 @@ static int snd_es1968_playback_close(snd_pcm_substream_t * substream) { es1968_t *chip = snd_pcm_substream_chip(substream); esschan_t *es; - unsigned long flags; if (substream->runtime->private_data == NULL) return 0; - es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); - spin_lock_irqsave(&chip->substream_lock, flags); + es = substream->runtime->private_data; + spin_lock_irq(&chip->substream_lock); list_del(&es->list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); snd_es1968_free_apu_pair(chip, es->apu[0]); - snd_magic_kfree(es); + kfree(es); return 0; } @@ -1734,18 +1713,17 @@ static int snd_es1968_capture_close(snd_pcm_substream_t * substream) { es1968_t *chip = snd_pcm_substream_chip(substream); esschan_t *es; - unsigned long flags; if (substream->runtime->private_data == NULL) return 0; - es = snd_magic_cast(esschan_t, substream->runtime->private_data, return -ENXIO); - spin_lock_irqsave(&chip->substream_lock, flags); + es = substream->runtime->private_data; + spin_lock_irq(&chip->substream_lock); list_del(&es->list); - spin_unlock_irqrestore(&chip->substream_lock, flags); + spin_unlock_irq(&chip->substream_lock); snd_es1968_free_memory(chip, es->mixbuf); snd_es1968_free_apu_pair(chip, es->apu[0]); snd_es1968_free_apu_pair(chip, es->apu[2]); - snd_magic_kfree(es); + kfree(es); return 0; } @@ -1783,7 +1761,6 @@ static void __devinit es1968_measure_clock(es1968_t *chip) int i, apu; unsigned int pa, offset, t; esm_memory_t *memory; - unsigned long flags; struct timeval start_time, stop_time; if (chip->clock == 0) @@ -1800,11 +1777,11 @@ static void __devinit es1968_measure_clock(es1968_t *chip) return; } - memset(memory->buf, 0, CLOCK_MEASURE_BUFSIZE); + memset(memory->buf.area, 0, CLOCK_MEASURE_BUFSIZE); - wave_set_register(chip, apu << 3, (memory->addr - 0x10) & 0xfff8); + wave_set_register(chip, apu << 3, (memory->buf.addr - 0x10) & 0xfff8); - pa = (unsigned int)((memory->addr - chip->dma.addr) >> 1); + pa = (unsigned int)((memory->buf.addr - chip->dma.addr) >> 1); pa |= 0x00400000; /* System RAM (Bit 22) */ /* initialize apu */ @@ -1820,18 +1797,18 @@ static void __devinit es1968_measure_clock(es1968_t *chip) apu_set_register(chip, apu, 9, 0xD000); apu_set_register(chip, apu, 10, 0x8F08); apu_set_register(chip, apu, 11, 0x0000); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); outw(1, chip->io_port + 0x04); /* clear WP interrupts */ outw(inw(chip->io_port + ESM_PORT_HOST_IRQ) | ESM_HIRQ_DSIE, chip->io_port + ESM_PORT_HOST_IRQ); /* enable WP ints */ - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); snd_es1968_apu_set_freq(chip, apu, ((unsigned int)48000 << 16) / chip->clock); /* 48000 Hz */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); __apu_set_register(chip, apu, 5, pa & 0xffff); snd_es1968_trigger_apu(chip, apu, ESM_APU_16BITLINEAR); do_gettimeofday(&start_time); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); #if 0 set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(HZ / 20); /* 50 msec */ @@ -1842,11 +1819,11 @@ static void __devinit es1968_measure_clock(es1968_t *chip) */ mdelay(50); #endif - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); offset = __apu_get_register(chip, apu, 5); do_gettimeofday(&stop_time); snd_es1968_trigger_apu(chip, apu, 0); /* stop */ - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); /* check the current position */ offset -= (pa & 0xffff); @@ -1879,7 +1856,7 @@ static void __devinit es1968_measure_clock(es1968_t *chip) static void snd_es1968_pcm_free(snd_pcm_t *pcm) { - es1968_t *esm = snd_magic_cast(es1968_t, pcm->private_data, return); + es1968_t *esm = pcm->private_data; snd_es1968_free_dmabuf(esm); esm->pcm = NULL; } @@ -1952,7 +1929,7 @@ static void snd_es1968_update_pcm(es1968_t *chip, esschan_t *es) */ static void es1968_update_hw_volume(unsigned long private_data) { - es1968_t *chip = snd_magic_cast(es1968_t, (void*)private_data, return); + es1968_t *chip = (es1968_t *) private_data; int x, val; /* Figure out which volume control button was pushed, @@ -1990,8 +1967,6 @@ static void es1968_update_hw_volume(unsigned long private_data) if ((val & 0xff00) < 0x1f00) val += 0x0100; } - if (val == 0x1f1f) - val |= 0x8000; snd_ac97_write_cache(chip->ac97, AC97_MASTER, val); snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->master_volume->id); @@ -2003,7 +1978,7 @@ static void es1968_update_hw_volume(unsigned long private_data) */ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - es1968_t *chip = snd_magic_cast(es1968_t, dev_id, return IRQ_NONE); + es1968_t *chip = dev_id; u32 event; if (!(event = inb(chip->io_port + 0x1A))) @@ -2042,15 +2017,16 @@ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *r static int __devinit snd_es1968_mixer(es1968_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; snd_ctl_elem_id_t id; int err; + static ac97_bus_ops_t ops = { + .write = snd_es1968_ac97_write, + .read = snd_es1968_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_es1968_ac97_write; - bus.read = snd_es1968_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -2420,7 +2396,7 @@ static void snd_es1968_start_irq(es1968_t *chip) */ static int es1968_suspend(snd_card_t *card, unsigned int state) { - es1968_t *chip = snd_magic_cast(es1968_t, card->pm_private_data, return -EINVAL); + es1968_t *chip = card->pm_private_data; if (! chip->do_pm) return 0; @@ -2435,7 +2411,7 @@ static int es1968_suspend(snd_card_t *card, unsigned int state) static int es1968_resume(snd_card_t *card, unsigned int state) { - es1968_t *chip = snd_magic_cast(es1968_t, card->pm_private_data, return -EINVAL); + es1968_t *chip = card->pm_private_data; if (! chip->do_pm) return 0; @@ -2466,12 +2442,14 @@ static int es1968_resume(snd_card_t *card, unsigned int state) static int snd_es1968_free(es1968_t *chip) { - if (chip->res_io_port) { + if (chip->io_port) { synchronize_irq(chip->irq); outw(1, chip->io_port + 0x04); /* clear WP interrupts */ outw(0, chip->io_port + ESM_PORT_HOST_IRQ); /* disable IRQ */ } + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); #ifdef SUPPORT_JOYSTICK if (chip->res_joystick) { gameport_unregister_port(&chip->gameport); @@ -2482,19 +2460,14 @@ static int snd_es1968_free(es1968_t *chip) snd_es1968_set_acpi(chip, ACPI_D3); chip->master_switch = NULL; chip->master_volume = NULL; - if (chip->res_io_port) { - release_resource(chip->res_io_port); - kfree_nocheck(chip->res_io_port); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } static int snd_es1968_dev_free(snd_device_t *device) { - es1968_t *chip = snd_magic_cast(es1968_t, device->device_data, return -ENXIO); + es1968_t *chip = device->device_data; return snd_es1968_free(chip); } @@ -2542,7 +2515,7 @@ static int __devinit snd_es1968_create(snd_card_t * card, return -ENXIO; } - chip = (es1968_t *) snd_magic_kcalloc(es1968_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (! chip) return -ENOMEM; @@ -2561,12 +2534,11 @@ static int __devinit snd_es1968_create(snd_card_t * card, chip->playback_streams = play_streams; chip->capture_streams = capt_streams; - chip->io_port = pci_resource_start(pci, 0); - if ((chip->res_io_port = request_region(chip->io_port, 0x100, "ESS Maestro")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", chip->io_port, chip->io_port + 0x100 - 1); - snd_es1968_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "ESS Maestro")) < 0) { + kfree(chip); + return err; } + chip->io_port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_es1968_interrupt, SA_INTERRUPT|SA_SHIRQ, "ESS Maestro", (void*)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c index f21a17dda..9a0e1580b 100644 --- a/sound/pci/fm801.c +++ b/sound/pci/fm801.c @@ -40,13 +40,10 @@ #define TEA575X_RADIO 1 #endif -#define chip_t fm801_t - MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ForteMedia FM801"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ForteMedia,FM801}," +MODULE_SUPPORTED_DEVICE("{{ForteMedia,FM801}," "{Genius,SoundMaker Live 5.1}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -64,16 +61,12 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the FM801 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the FM801 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable FM801 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(tea575x_tuner, bool, boot_devs, 0444); MODULE_PARM_DESC(tea575x_tuner, "Enable TEA575x tuner."); -MODULE_PARM_SYNTAX(tea575x_tuner, SNDRV_ENABLE_DESC); /* * Direct registers @@ -161,7 +154,6 @@ struct _snd_fm801 { int irq; unsigned long port; /* I/O port number */ - struct resource *res_port; unsigned int multichannel: 1, /* multichannel support */ secondary: 1; /* secondary codec */ unsigned char secondary_addr; /* address of the secondary codec */ @@ -233,7 +225,7 @@ static void snd_fm801_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - fm801_t *chip = snd_magic_cast(fm801_t, ac97->private_data, return); + fm801_t *chip = ac97->private_data; int idx; /* @@ -264,7 +256,7 @@ static void snd_fm801_codec_write(ac97_t *ac97, static unsigned short snd_fm801_codec_read(ac97_t *ac97, unsigned short reg) { - fm801_t *chip = snd_magic_cast(fm801_t, ac97->private_data, return -ENXIO); + fm801_t *chip = ac97->private_data; int idx; /* @@ -308,10 +300,8 @@ static unsigned int rates[] = { 38400, 44100, 48000 }; -#define RATES sizeof(rates) / sizeof(rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_rates = { - .count = RATES, + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -336,11 +326,11 @@ static unsigned short snd_fm801_rate_bits(unsigned int rate) { unsigned int idx; - for (idx = 0; idx < 11; idx++) + for (idx = 0; idx < ARRAY_SIZE(rates); idx++) if (rates[idx] == rate) return idx; snd_BUG(); - return RATES - 1; + return ARRAY_SIZE(rates) - 1; } /* @@ -487,42 +477,40 @@ static int snd_fm801_capture_prepare(snd_pcm_substream_t * substream) static snd_pcm_uframes_t snd_fm801_playback_pointer(snd_pcm_substream_t * substream) { fm801_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; size_t ptr; if (!(chip->ply_ctrl & FM801_START)) return 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); ptr = chip->ply_pos + (chip->ply_count - 1) - inw(FM801_REG(chip, PLY_COUNT)); if (inw(FM801_REG(chip, IRQ_STATUS)) & FM801_IRQ_PLAYBACK) { ptr += chip->ply_count; ptr %= chip->ply_size; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames(substream->runtime, ptr); } static snd_pcm_uframes_t snd_fm801_capture_pointer(snd_pcm_substream_t * substream) { fm801_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; size_t ptr; if (!(chip->cap_ctrl & FM801_START)) return 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); ptr = chip->cap_pos + (chip->cap_count - 1) - inw(FM801_REG(chip, CAP_COUNT)); if (inw(FM801_REG(chip, IRQ_STATUS)) & FM801_IRQ_CAPTURE) { ptr += chip->cap_count; ptr %= chip->cap_size; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return bytes_to_frames(substream->runtime, ptr); } static irqreturn_t snd_fm801_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - fm801_t *chip = snd_magic_cast(fm801_t, dev_id, return IRQ_NONE); + fm801_t *chip = dev_id; unsigned short status; unsigned int tmp; @@ -680,7 +668,7 @@ static snd_pcm_ops_t snd_fm801_capture_ops = { static void snd_fm801_pcm_free(snd_pcm_t *pcm) { - fm801_t *chip = snd_magic_cast(fm801_t, pcm->private_data, return); + fm801_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1076,10 +1064,10 @@ static int snd_fm801_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t int mask = (kcontrol->private_value >> 16) & 0xff; int invert = (kcontrol->private_value >> 24) & 0xff; - spin_lock(&chip->reg_lock); + spin_lock_irq(&chip->reg_lock); ucontrol->value.integer.value[0] = (inw(chip->port + reg) >> shift_left) & mask; ucontrol->value.integer.value[1] = (inw(chip->port + reg) >> shift_right) & mask; - spin_unlock(&chip->reg_lock); + spin_unlock_irq(&chip->reg_lock); if (invert) { ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0]; ucontrol->value.integer.value[1] = mask - ucontrol->value.integer.value[1]; @@ -1176,13 +1164,13 @@ FM801_SINGLE("IEC958 Playback Switch", FM801_GEN_CTRL, 2, 1, 0), static void snd_fm801_mixer_free_ac97_bus(ac97_bus_t *bus) { - fm801_t *chip = snd_magic_cast(fm801_t, bus->private_data, return); + fm801_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_fm801_mixer_free_ac97(ac97_t *ac97) { - fm801_t *chip = snd_magic_cast(fm801_t, ac97->private_data, return); + fm801_t *chip = ac97->private_data; if (ac97->num == 0) { chip->ac97 = NULL; } else { @@ -1192,18 +1180,17 @@ static void snd_fm801_mixer_free_ac97(ac97_t *ac97) static int __devinit snd_fm801_mixer(fm801_t *chip) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; unsigned int i; int err; + static ac97_bus_ops_t ops = { + .write = snd_fm801_codec_write, + .read = snd_fm801_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_fm801_codec_write; - bus.read = snd_fm801_codec_read; - bus.private_data = chip; - bus.private_free = snd_fm801_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(chip->card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_fm801_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1245,20 +1232,17 @@ static int snd_fm801_free(fm801_t *chip) #ifdef TEA575X_RADIO snd_tea575x_exit(&chip->tea); #endif - if (chip->res_port) { - release_resource(chip->res_port); - kfree_nocheck(chip->res_port); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_fm801_dev_free(snd_device_t *device) { - fm801_t *chip = snd_magic_cast(fm801_t, device->device_data, return -ENXIO); + fm801_t *chip = device->device_data; return snd_fm801_free(chip); } @@ -1279,19 +1263,18 @@ static int __devinit snd_fm801_create(snd_card_t * card, *rchip = NULL; if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(fm801_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); chip->card = card; chip->pci = pci; chip->irq = -1; - chip->port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 0x80, "FM801")) == NULL) { - snd_printk("unable to grab region 0x%lx-0x%lx\n", chip->port, chip->port + 0x80 - 1); - snd_fm801_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, "FM801")) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_fm801_interrupt, SA_INTERRUPT|SA_SHIRQ, "FM801", (void *)chip)) { snd_printk("unable to grab IRQ %d\n", chip->irq); snd_fm801_free(chip); diff --git a/sound/pci/ice1712/Makefile b/sound/pci/ice1712/Makefile index f1e417ca0..d98d17797 100644 --- a/sound/pci/ice1712/Makefile +++ b/sound/pci/ice1712/Makefile @@ -5,7 +5,7 @@ snd-ice17xx-ak4xxx-objs := ak4xxx.o snd-ice1712-objs := ice1712.o delta.o hoontech.o ews.o -snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o +snd-ice1724-objs := ice1724.o amp.o revo.o aureon.o vt1720_mobo.o pontis.o # Toplevel Module Dependency obj-$(CONFIG_SND_ICE1712) += snd-ice1712.o snd-ice17xx-ak4xxx.o diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c index a182b8b27..e9a3b055f 100644 --- a/sound/pci/ice1712/aureon.c +++ b/sound/pci/ice1712/aureon.c @@ -75,7 +75,7 @@ #define WM_DAC_ATTEN 0x00 /* DAC1-8 analog attenuation */ #define WM_DAC_MASTER_ATTEN 0x08 /* DAC master analog attenuation */ #define WM_DAC_DIG_ATTEN 0x09 /* DAC1-8 digital attenuation */ -#define WM_DAC_DIG_MATER_ATTEN 0x11 /* DAC master digital attenuation */ +#define WM_DAC_DIG_MASTER_ATTEN 0x11 /* DAC master digital attenuation */ #define WM_PHASE_SWAP 0x12 /* DAC phase */ #define WM_DAC_CTRL1 0x13 /* DAC control bits */ #define WM_MUTE 0x14 /* mute controls */ @@ -148,21 +148,28 @@ static unsigned short wm_get(ice1712_t *ice, int reg) ice->akm[0].images[reg + 1]; } +/* + * set the register value of WM codec + */ +static void wm_put_nocache(ice1712_t *ice, int reg, unsigned short val) +{ + aureon_spi_write(ice, AUREON_WM_CS, (reg << 9) | (val & 0x1ff), 16); +} + /* * set the register value of WM codec and remember it */ static void wm_put(ice1712_t *ice, int reg, unsigned short val) { - aureon_spi_write(ice, AUREON_WM_CS, (reg << 9) | (val & 0x1ff), 16); + wm_put_nocache(ice, reg, val); reg <<= 1; ice->akm[0].images[reg] = val >> 8; ice->akm[0].images[reg + 1] = val; } /* - * DAC mute control */ -static int wm_dac_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) +static int aureon_mono_bool_info(snd_kcontrol_t *k, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; uinfo->count = 1; @@ -171,6 +178,11 @@ static int wm_dac_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinf return 0; } +/* + * DAC mute control + */ +#define wm_dac_mute_info aureon_mono_bool_info + static int wm_dac_mute_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); @@ -205,9 +217,10 @@ static int wm_dac_mute_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * uco */ static int wm_dac_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { + int voices = kcontrol->private_value >> 8; uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; - uinfo->count = 1; - uinfo->value.integer.min = 0; /* mute */ + uinfo->count = voices; + uinfo->value.integer.min = 0; /* mute (-101dB) */ uinfo->value.integer.max = 101; /* 0dB */ return 0; } @@ -215,19 +228,20 @@ static int wm_dac_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) static int wm_dac_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx, ofs, voices; unsigned short vol; + voices = kcontrol->private_value >> 8; + ofs = kcontrol->private_value & 0xff; down(&ice->gpio_mutex); - if (kcontrol->private_value) - idx = WM_DAC_MASTER_ATTEN; - else - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_DAC_ATTEN; - vol = wm_get(ice, idx) & 0x7f; - if (vol <= 0x1a) - ucontrol->value.integer.value[0] = 0; - else - ucontrol->value.integer.value[0] = vol - 0x1a; + for (i = 0; i < voices; i++) { + idx = WM_DAC_ATTEN + ofs + i; + vol = wm_get(ice, idx) & 0x7f; + if (vol <= 0x1a) + ucontrol->value.integer.value[i] = 0; + else + ucontrol->value.integer.value[i] = vol - 0x1a; + } up(&ice->gpio_mutex); return 0; } @@ -235,23 +249,69 @@ static int wm_dac_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontr static int wm_dac_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx, ofs, voices; unsigned short ovol, nvol; - int change; + int change = 0; + voices = kcontrol->private_value >> 8; + ofs = kcontrol->private_value & 0xff; snd_ice1712_save_gpio_status(ice); - if (kcontrol->private_value) - idx = WM_DAC_MASTER_ATTEN; - else - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_DAC_ATTEN; - nvol = ucontrol->value.integer.value[0] + 0x1a; - ovol = wm_get(ice, idx) & 0x7f; - change = (ovol != nvol); - if (change) { - if (nvol <= 0x1a && ovol <= 0x1a) - change = 0; - else - wm_put(ice, idx, nvol | 0x180); /* update on zero detect */ + for (i = 0; i < voices; i++) { + idx = WM_DAC_ATTEN + ofs + i; + nvol = ucontrol->value.integer.value[i] + 0x1a; + ovol = wm_get(ice, idx) & 0x7f; + if (ovol != nvol) { + if (nvol <= 0x1a && ovol <= 0x1a) + continue; + wm_put(ice, idx, nvol | 0x80); /* zero-detect, prelatch */ + wm_put_nocache(ice, idx, nvol | 0x180); /* update */ + change = 1; + } + } + snd_ice1712_restore_gpio_status(ice); + return change; +} + +/* digital master volume */ +#define MASTER_0dB 0xff +#define MASTER_RES 128 /* -64dB */ +#define MASTER_MIN (MASTER_0dB - MASTER_RES) +static int wm_master_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) +{ + uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; + uinfo->count = 1; + uinfo->value.integer.min = 0; /* mute (-64dB) */ + uinfo->value.integer.max = MASTER_RES; /* 0dB */ + return 0; +} + +static int wm_master_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short val; + + down(&ice->gpio_mutex); + val = wm_get(ice, WM_DAC_DIG_MASTER_ATTEN) & 0xff; + val = val > MASTER_MIN ? (val - MASTER_MIN) : 0; + ucontrol->value.integer.value[0] = val; + up(&ice->gpio_mutex); + return 0; +} + +static int wm_master_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) +{ + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + unsigned short ovol, nvol; + int change = 0; + + snd_ice1712_save_gpio_status(ice); + nvol = ucontrol->value.integer.value[0]; + nvol = (nvol ? (nvol + MASTER_MIN) : 0) & 0xff; + ovol = wm_get(ice, WM_DAC_DIG_MASTER_ATTEN) & 0xff; + if (ovol != nvol) { + wm_put(ice, WM_DAC_DIG_MASTER_ATTEN, nvol); /* prelatch */ + wm_put_nocache(ice, WM_DAC_DIG_MASTER_ATTEN, nvol | 0x100); /* update */ + change = 1; } snd_ice1712_restore_gpio_status(ice); return change; @@ -260,10 +320,10 @@ static int wm_dac_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontr /* * ADC mute control */ -static int wm_adc_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) +static int wm_adc_mute_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; - uinfo->count = 1; + uinfo->count = 2; uinfo->value.integer.min = 0; uinfo->value.integer.max = 1; return 0; @@ -273,10 +333,13 @@ static int wm_adc_mute_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucont { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned short val; + int i; down(&ice->gpio_mutex); - val = wm_get(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN); - ucontrol->value.integer.value[0] = ~val>>5 & 0x1; + for (i = 0; i < 2; i++) { + val = wm_get(ice, WM_ADC_GAIN + i); + ucontrol->value.integer.value[i] = ~val>>5 & 0x1; + } up(&ice->gpio_mutex); return 0; } @@ -285,14 +348,17 @@ static int wm_adc_mute_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * uco { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned short new, old; - int change; + int i, change = 0; snd_ice1712_save_gpio_status(ice); - old = wm_get(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN); - new = (~ucontrol->value.integer.value[0]<<5&0x20) | (old&~0x20); - change = (new != old); - if (change) - wm_put(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN, new); + for (i = 0; i < 2; i++) { + old = wm_get(ice, WM_ADC_GAIN + i); + new = (~ucontrol->value.integer.value[i]<<5&0x20) | (old&~0x20); + if (new != old) { + wm_put(ice, snd_ctl_get_ioffidx(kcontrol, &ucontrol->id)+WM_ADC_GAIN, new); + change = 1; + } + } snd_ice1712_restore_gpio_status(ice); return change; @@ -304,7 +370,7 @@ static int wm_adc_mute_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * uco static int wm_adc_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) { uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; - uinfo->count = 1; + uinfo->count = 2; uinfo->value.integer.min = 0; /* -12dB */ uinfo->value.integer.max = 0x1f; /* 19dB */ return 0; @@ -313,13 +379,15 @@ static int wm_adc_vol_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) static int wm_adc_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx; unsigned short vol; down(&ice->gpio_mutex); - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_ADC_GAIN; - vol = wm_get(ice, idx) & 0x1f; - ucontrol->value.integer.value[0] = vol; + for (i = 0; i < 2; i++) { + idx = WM_ADC_GAIN + i; + vol = wm_get(ice, idx) & 0x1f; + ucontrol->value.integer.value[i] = vol; + } up(&ice->gpio_mutex); return 0; } @@ -327,17 +395,20 @@ static int wm_adc_vol_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontr static int wm_adc_vol_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); - int idx; + int i, idx; unsigned short ovol, nvol; - int change; + int change = 0; snd_ice1712_save_gpio_status(ice); - idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id) + WM_ADC_GAIN; - nvol = ucontrol->value.integer.value[0]; - ovol = wm_get(ice, idx); - change = ((ovol & 0x1f) != nvol); - if (change) - wm_put(ice, idx, nvol | (ovol & ~0x1f)); + for (i = 0; i < 2; i++) { + idx = WM_ADC_GAIN + i; + nvol = ucontrol->value.integer.value[i]; + ovol = wm_get(ice, idx); + if ((ovol & 0x1f) != nvol) { + wm_put(ice, idx, nvol | (ovol & ~0x1f)); + change = 1; + } + } snd_ice1712_restore_gpio_status(ice); return change; } @@ -355,7 +426,7 @@ static int wm_adc_mux_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) "AC97" //AIN5 }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; - uinfo->count = 1; + uinfo->count = 2; uinfo->value.enumerated.items = 5; if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; @@ -420,14 +491,7 @@ static int aureon_get_headphone_amp(ice1712_t *ice) return ( tmp & AUREON_HP_SEL )!= 0; } -static int aureon_bool_info(snd_kcontrol_t *k, snd_ctl_elem_info_t *uinfo) -{ - uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; - uinfo->count = 1; - uinfo->value.integer.min = 0; - uinfo->value.integer.max = 1; - return 0; -} +#define aureon_hpamp_info aureon_mono_bool_info static int aureon_hpamp_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { @@ -448,6 +512,9 @@ static int aureon_hpamp_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucon /* * Deemphasis */ + +#define aureon_deemp_info aureon_mono_bool_info + static int aureon_deemp_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { ice1712_t *ice = snd_kcontrol_chip(kcontrol); @@ -519,44 +586,67 @@ static int aureon_oversampling_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_ * mixers */ -static snd_kcontrol_new_t aureon51_dac_control __devinitdata = { - .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DAC Volume", - .count = 6, - .info = wm_dac_vol_info, - .get = wm_dac_vol_get, - .put = wm_dac_vol_put, -}; - -static snd_kcontrol_new_t aureon71_dac_control __devinitdata = { - .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DAC Volume", - .count = 8, - .info = wm_dac_vol_info, - .get = wm_dac_vol_get, - .put = wm_dac_vol_put, -}; - -static snd_kcontrol_new_t wm_controls[] __devinitdata = { +static snd_kcontrol_new_t aureon_dac_controls[] __devinitdata = { { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Master Playback Switch", - .info = wm_dac_mute_info, - .get = wm_dac_mute_get, - .put = wm_dac_mute_put, + .name = "Front Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (2 << 8) | 0 }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Master Playback Volume", + .name = "Rear Playback Volume", .info = wm_dac_vol_info, .get = wm_dac_vol_get, .put = wm_dac_vol_put, - .private_value = 1, + .private_value = (2 << 8) | 2 }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "ADC Switch", - .count = 2, + .name = "Center Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (1 << 8) | 4 + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "LFE Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (1 << 8) | 5 + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Side Playback Volume", + .info = wm_dac_vol_info, + .get = wm_dac_vol_get, + .put = wm_dac_vol_put, + .private_value = (2 << 8) | 6 + } +}; + +static snd_kcontrol_new_t wm_controls[] __devinitdata = { + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Master Playback Switch", + .info = wm_dac_mute_info, + .get = wm_dac_mute_get, + .put = wm_dac_mute_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Master Playback Volume", + .info = wm_master_vol_info, + .get = wm_master_vol_get, + .put = wm_master_vol_put, + }, + { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "Capture Switch", .info = wm_adc_mute_info, .get = wm_adc_mute_get, .put = wm_adc_mute_put, @@ -564,15 +654,14 @@ static snd_kcontrol_new_t wm_controls[] __devinitdata = { }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "ADC Volume", - .count = 2, + .name = "Capture Volume", .info = wm_adc_vol_info, .get = wm_adc_vol_get, .put = wm_adc_vol_put, }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Capture Route", + .name = "Capture Source", .info = wm_adc_mux_info, .get = wm_adc_mux_get, .put = wm_adc_mux_put, @@ -580,14 +669,14 @@ static snd_kcontrol_new_t wm_controls[] __devinitdata = { { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "Headphone Amplifier Switch", - .info = aureon_bool_info, + .info = aureon_hpamp_info, .get = aureon_hpamp_get, .put = aureon_hpamp_put }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "DAC Deemphasis Switch", - .info = aureon_bool_info, + .info = aureon_deemp_info, .get = aureon_deemp_get, .put = aureon_deemp_put }, @@ -603,15 +692,17 @@ static snd_kcontrol_new_t wm_controls[] __devinitdata = { static int __devinit aureon_add_controls(ice1712_t *ice) { - unsigned int i; + unsigned int i, counts; int err; + counts = ARRAY_SIZE(aureon_dac_controls); if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) - err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon51_dac_control, ice)); - else - err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon71_dac_control, ice)); - if (err < 0) - return err; + counts--; /* no side */ + for (i = 0; i < counts; i++) { + err = snd_ctl_add(ice->card, snd_ctl_new1(&aureon_dac_controls[i], ice)); + if (err < 0) + return err; + } for (i = 0; i < ARRAY_SIZE(wm_controls); i++) { err = snd_ctl_add(ice->card, snd_ctl_new1(&wm_controls[i], ice)); @@ -718,15 +809,15 @@ static int __devinit aureon_init(ice1712_t *ice) if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) { ice->num_total_dacs = 6; - ice->num_total_adcs = 6; + ice->num_total_adcs = 2; } else { /* aureon 7.1 and prodigy 7.1 */ ice->num_total_dacs = 8; - ice->num_total_adcs = 8; + ice->num_total_adcs = 2; } /* to remeber the register values */ - ice->akm = snd_kcalloc(sizeof(akm4xxx_t), GFP_KERNEL); + ice->akm = kcalloc(1, sizeof(akm4xxx_t), GFP_KERNEL); if (! ice->akm) return -ENOMEM; ice->akm_codecs = 1; @@ -780,7 +871,7 @@ static int __devinit aureon_init(ice1712_t *ice) */ static unsigned char aureon51_eeprom[] __devinitdata = { - 0x2a, /* SYSCONF: clock 512, mpu401, spdif-in/ADC, 3DACs */ + 0x0a, /* SYSCONF: clock 512, spdif-in/ADC, 3DACs */ 0x80, /* ACLINK: I2S */ 0xf8, /* I2S: vol, 96k, 24bit, 192k */ 0xc3, /* SPDIF: out-en, out-int, spdif-in */ @@ -796,7 +887,7 @@ static unsigned char aureon51_eeprom[] __devinitdata = { }; static unsigned char aureon71_eeprom[] __devinitdata = { - 0x2b, /* SYSCONF: clock 512, mpu401, spdif-in/ADC, 4DACs */ + 0x0b, /* SYSCONF: clock 512, spdif-in/ADC, 4DACs */ 0x80, /* ACLINK: I2S */ 0xf8, /* I2S: vol, 96k, 24bit, 192k */ 0xc3, /* SPDIF: out-en, out-int, spdif-in */ @@ -812,7 +903,7 @@ static unsigned char aureon71_eeprom[] __devinitdata = { }; static unsigned char prodigy71_eeprom[] __devinitdata = { - 0x2b, /* SYSCONF: clock 512, mpu401, spdif-in/ADC, 4DACs */ + 0x0b, /* SYSCONF: clock 512, spdif-in/ADC, 4DACs */ 0x80, /* ACLINK: I2S */ 0xf8, /* I2S: vol, 96k, 24bit, 192k */ 0xc3, /* SPDIF: out-en, out-int, spdif-in */ @@ -837,6 +928,7 @@ struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = { .build_controls = aureon_add_controls, .eeprom_size = sizeof(aureon51_eeprom), .eeprom_data = aureon51_eeprom, + .driver = "Aureon51", }, { .subvendor = VT1724_SUBDEVICE_AUREON71_SPACE, @@ -846,6 +938,7 @@ struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = { .build_controls = aureon_add_controls, .eeprom_size = sizeof(aureon71_eeprom), .eeprom_data = aureon71_eeprom, + .driver = "Aureon71", }, { .subvendor = VT1724_SUBDEVICE_AUREON71_UNIVERSE, @@ -855,6 +948,7 @@ struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = { .build_controls = aureon_add_controls, .eeprom_size = sizeof(aureon71_eeprom), .eeprom_data = aureon71_eeprom, + .driver = "Aureon71", }, { .subvendor = VT1724_SUBDEVICE_PRODIGY71, @@ -864,6 +958,7 @@ struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = { .build_controls = aureon_add_controls, .eeprom_size = sizeof(prodigy71_eeprom), .eeprom_data = prodigy71_eeprom, + .driver = "Prodigy71", /* should be identical with Aureon71 */ }, { } /* terminator */ }; diff --git a/sound/pci/ice1712/delta.c b/sound/pci/ice1712/delta.c index 85fc5e4f6..9eb245bb3 100644 --- a/sound/pci/ice1712/delta.c +++ b/sound/pci/ice1712/delta.c @@ -126,7 +126,7 @@ static void ap_cs8427_codec_deassert(ice1712_t *ice, unsigned char tmp) /* sequential write */ static int ap_cs8427_sendbytes(snd_i2c_device_t *device, unsigned char *bytes, int count) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->bus->private_data, return -EIO); + ice1712_t *ice = device->bus->private_data; int res = count; unsigned char tmp; @@ -143,7 +143,7 @@ static int ap_cs8427_sendbytes(snd_i2c_device_t *device, unsigned char *bytes, i /* sequential read */ static int ap_cs8427_readbytes(snd_i2c_device_t *device, unsigned char *bytes, int count) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->bus->private_data, return -EIO); + ice1712_t *ice = device->bus->private_data; int res = count; unsigned char tmp; diff --git a/sound/pci/ice1712/ews.c b/sound/pci/ice1712/ews.c index 9509e4840..02593f98c 100644 --- a/sound/pci/ice1712/ews.c +++ b/sound/pci/ice1712/ews.c @@ -45,7 +45,7 @@ /* send SDA and SCL */ static void ewx_i2c_setlines(snd_i2c_bus_t *bus, int clk, int data) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; unsigned char tmp = 0; if (clk) tmp |= ICE1712_EWX2496_SERIAL_CLOCK; @@ -57,13 +57,13 @@ static void ewx_i2c_setlines(snd_i2c_bus_t *bus, int clk, int data) static int ewx_i2c_getclock(snd_i2c_bus_t *bus) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return -EIO); + ice1712_t *ice = bus->private_data; return snd_ice1712_read(ice, ICE1712_IREG_GPIO_DATA) & ICE1712_EWX2496_SERIAL_CLOCK ? 1 : 0; } static int ewx_i2c_getdata(snd_i2c_bus_t *bus, int ack) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return -EIO); + ice1712_t *ice = bus->private_data; int bit; /* set RW pin to low */ snd_ice1712_write(ice, ICE1712_IREG_GPIO_WRITE_MASK, ~ICE1712_EWX2496_RW); @@ -80,7 +80,7 @@ static int ewx_i2c_getdata(snd_i2c_bus_t *bus, int ack) static void ewx_i2c_start(snd_i2c_bus_t *bus) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; unsigned char mask; snd_ice1712_save_gpio_status(ice); @@ -99,13 +99,13 @@ static void ewx_i2c_start(snd_i2c_bus_t *bus) static void ewx_i2c_stop(snd_i2c_bus_t *bus) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; snd_ice1712_restore_gpio_status(ice); } static void ewx_i2c_direction(snd_i2c_bus_t *bus, int clock, int data) { - ice1712_t *ice = snd_magic_cast(ice1712_t, bus->private_data, return); + ice1712_t *ice = bus->private_data; unsigned char mask = 0; if (clock) @@ -223,6 +223,7 @@ static void snd_ice1712_ews_cs8404_spdif_write(ice1712_t *ice, unsigned char bit switch (ice->eeprom.subvendor) { case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: snd_runtime_check(snd_i2c_sendbytes(ice->cs8404, &bits, 1) == 1, goto _error); break; case ICE1712_SUBDEVICE_EWS88D: @@ -410,6 +411,7 @@ static int __devinit snd_ice1712_ews_init(ice1712_t *ice) break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: ice->num_total_dacs = 8; ice->num_total_adcs = 8; break; @@ -440,6 +442,7 @@ static int __devinit snd_ice1712_ews_init(ice1712_t *ice) break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: if ((err = snd_i2c_device_create(ice->i2c, "CS8404", ICE1712_EWS88MT_CS8404_ADDR, &ice->cs8404)) < 0) return err; if ((err = snd_i2c_device_create(ice->i2c, "PCF8574 (1st)", ICE1712_EWS88MT_INPUT_ADDR, &ice->i2cdevs[0])) < 0) @@ -470,6 +473,7 @@ static int __devinit snd_ice1712_ews_init(ice1712_t *ice) break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: case ICE1712_SUBDEVICE_EWS88D: /* set up CS8404 */ ice->spdif.ops.open = ews88_open_spdif; @@ -498,6 +502,7 @@ static int __devinit snd_ice1712_ews_init(ice1712_t *ice) switch (ice->eeprom.subvendor) { case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: err = snd_ice1712_akm4xxx_init(ak, &akm_ews88mt, &akm_ews88mt_priv, ice); break; case ICE1712_SUBDEVICE_EWX2496: @@ -924,6 +929,7 @@ static int __devinit snd_ice1712_ews_add_controls(ice1712_t *ice) case ICE1712_SUBDEVICE_EWX2496: case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: case ICE1712_SUBDEVICE_DMX6FIRE: err = snd_ice1712_akm4xxx_build_controls(ice); if (err < 0) @@ -942,6 +948,7 @@ static int __devinit snd_ice1712_ews_add_controls(ice1712_t *ice) break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: + case ICE1712_SUBDEVICE_PHASE88: err = snd_ctl_add(ice->card, snd_ctl_new1(&snd_ice1712_ews88mt_input_sense, ice)); if (err < 0) return err; @@ -991,6 +998,13 @@ struct snd_ice1712_card_info snd_ice1712_ews_cards[] __devinitdata = { .chip_init = snd_ice1712_ews_init, .build_controls = snd_ice1712_ews_add_controls, }, + { + .subvendor = ICE1712_SUBDEVICE_PHASE88, + .name = "TerraTec Phase88", + .model = "phase88", + .chip_init = snd_ice1712_ews_init, + .build_controls = snd_ice1712_ews_add_controls, + }, { .subvendor = ICE1712_SUBDEVICE_EWS88D, .name = "TerraTec EWS88D", diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index d1f1ec28a..194dc5431 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c @@ -73,8 +73,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("ICEnsemble ICE1712 (Envy24)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{" +MODULE_SUPPORTED_DEVICE("{" HOONTECH_DEVICE_DESC DELTA_DEVICE_DESC EWS_DEVICE_DESC @@ -91,19 +90,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ICE1712 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ICE1712 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ICE1712 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(omni, bool, boot_devs, 0444); MODULE_PARM_DESC(omni, "Enable Midiman M-Audio Delta Omni I/O support."); -MODULE_PARM_SYNTAX(omni, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param_array(cs8427_timeout, int, boot_devs, 0444); MODULE_PARM_DESC(cs8427_timeout, "Define reset timeout for cs8427 chip in msec resolution."); -MODULE_PARM_SYNTAX(cs8427_timeout, SNDRV_ENABLED ", allows:{{1,1000}},default=500,skill:advanced"); module_param_array(model, charp, boot_devs, 0444); MODULE_PARM_DESC(model, "Use the given board model."); @@ -416,7 +410,7 @@ int __devinit snd_ice1712_init_cs8427(ice1712_t *ice, int addr) static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ice1712_t *ice = snd_magic_cast(ice1712_t, dev_id, return IRQ_NONE); + ice1712_t *ice = dev_id; unsigned char status; int handled = 0; @@ -590,7 +584,7 @@ static int snd_ice1712_playback_prepare(snd_pcm_substream_t * substream) rate = (runtime->rate * 8192) / 375; if (rate > 0x000fffff) rate = 0x000fffff; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outb(0, ice->ddma_port + 15); outb(ICE1712_DMA_MODE_WRITE | ICE1712_DMA_AUTOINIT, ice->ddma_port + 0x0b); outl(runtime->dma_addr, ice->ddma_port + 0); @@ -603,7 +597,7 @@ static int snd_ice1712_playback_prepare(snd_pcm_substream_t * substream) snd_ice1712_write(ice, ICE1712_IREG_PBK_COUNT_HI, period_size >> 8); snd_ice1712_write(ice, ICE1712_IREG_PBK_LEFT, 0); snd_ice1712_write(ice, ICE1712_IREG_PBK_RIGHT, 0); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -626,7 +620,7 @@ static int snd_ice1712_playback_ds_prepare(snd_pcm_substream_t * substream) ice->playback_con_active_buf[substream->number] = 0; ice->playback_con_virt_addr[substream->number] = runtime->dma_addr; chn = substream->number * 2; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); snd_ice1712_ds_write(ice, chn, ICE1712_DSC_ADDR0, runtime->dma_addr); snd_ice1712_ds_write(ice, chn, ICE1712_DSC_COUNT0, period_size); snd_ice1712_ds_write(ice, chn, ICE1712_DSC_ADDR1, runtime->dma_addr + (runtime->periods > 1 ? period_size + 1 : 0)); @@ -638,7 +632,7 @@ static int snd_ice1712_playback_ds_prepare(snd_pcm_substream_t * substream) snd_ice1712_ds_write(ice, chn + 1, ICE1712_DSC_RATE, rate); snd_ice1712_ds_write(ice, chn + 1, ICE1712_DSC_VOLUME, 0); } - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -656,13 +650,13 @@ static int snd_ice1712_capture_prepare(snd_pcm_substream_t * substream) tmp &= ~0x04; if (runtime->channels == 2) tmp &= ~0x02; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(ice->capture_con_virt_addr = runtime->dma_addr, ICEREG(ice, CONCAP_ADDR)); outw(buf_size, ICEREG(ice, CONCAP_COUNT)); snd_ice1712_write(ice, ICE1712_IREG_CAP_COUNT_HI, period_size >> 8); snd_ice1712_write(ice, ICE1712_IREG_CAP_COUNT_LO, period_size & 0xff); snd_ice1712_write(ice, ICE1712_IREG_CAP_CTRL, tmp); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); snd_ac97_set_rate(ice->ac97, AC97_PCM_LR_ADC_RATE, runtime->rate); return 0; } @@ -874,7 +868,7 @@ static snd_pcm_ops_t snd_ice1712_capture_ops = { static void snd_ice1712_pcm_free(snd_pcm_t *pcm) { - ice1712_t *ice = snd_magic_cast(ice1712_t, pcm->private_data, return); + ice1712_t *ice = pcm->private_data; ice->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -912,7 +906,7 @@ static int __devinit snd_ice1712_pcm(ice1712_t * ice, int device, snd_pcm_t ** r static void snd_ice1712_pcm_free_ds(snd_pcm_t *pcm) { - ice1712_t *ice = snd_magic_cast(ice1712_t, pcm->private_data, return); + ice1712_t *ice = pcm->private_data; ice->pcm_ds = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -952,10 +946,8 @@ static int __devinit snd_ice1712_pcm_ds(ice1712_t * ice, int device, snd_pcm_t * static unsigned int rates[] = { 8000, 9600, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }; -#define RATES sizeof(rates) / sizeof(rates[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_rates = { - .count = RATES, + .count = ARRAY_SIZE(rates), .list = rates, .mask = 0, }; @@ -1077,11 +1069,11 @@ static int snd_ice1712_playback_pro_prepare(snd_pcm_substream_t * substream) ice1712_t *ice = snd_pcm_substream_chip(substream); ice->playback_pro_size = snd_pcm_lib_buffer_bytes(substream); - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(substream->runtime->dma_addr, ICEMT(ice, PLAYBACK_ADDR)); outw((ice->playback_pro_size >> 2) - 1, ICEMT(ice, PLAYBACK_SIZE)); outw((snd_pcm_lib_period_bytes(substream) >> 2) - 1, ICEMT(ice, PLAYBACK_COUNT)); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -1100,11 +1092,11 @@ static int snd_ice1712_capture_pro_prepare(snd_pcm_substream_t * substream) ice1712_t *ice = snd_pcm_substream_chip(substream); ice->capture_pro_size = snd_pcm_lib_buffer_bytes(substream); - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(substream->runtime->dma_addr, ICEMT(ice, CAPTURE_ADDR)); outw((ice->capture_pro_size >> 2) - 1, ICEMT(ice, CAPTURE_SIZE)); outw((snd_pcm_lib_period_bytes(substream) >> 2) - 1, ICEMT(ice, CAPTURE_COUNT)); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } @@ -1238,7 +1230,7 @@ static int snd_ice1712_capture_pro_close(snd_pcm_substream_t * substream) static void snd_ice1712_pcm_profi_free(snd_pcm_t *pcm) { - ice1712_t *ice = snd_magic_cast(ice1712_t, pcm->private_data, return); + ice1712_t *ice = pcm->private_data; ice->pcm_pro = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1511,21 +1503,26 @@ static int __devinit snd_ice1712_build_pro_mixer(ice1712_t *ice) static void snd_ice1712_mixer_free_ac97(ac97_t *ac97) { - ice1712_t *ice = snd_magic_cast(ice1712_t, ac97->private_data, return); + ice1712_t *ice = ac97->private_data; ice->ac97 = NULL; } static int __devinit snd_ice1712_ac97_mixer(ice1712_t * ice) { - int err; - ac97_t ac97; - ac97_bus_t bus, *pbus; + int err, bus_num = 0; + ac97_template_t ac97; + ac97_bus_t *pbus; + static ac97_bus_ops_t con_ops = { + .write = snd_ice1712_ac97_write, + .read = snd_ice1712_ac97_read, + }; + static ac97_bus_ops_t pro_ops = { + .write = snd_ice1712_pro_ac97_write, + .read = snd_ice1712_pro_ac97_read, + }; if (ice_has_con_ac97(ice)) { - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ice1712_ac97_write; - bus.read = snd_ice1712_ac97_read; - if ((err = snd_ac97_bus(ice->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(ice->card, bus_num++, &con_ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = ice; @@ -1540,10 +1537,7 @@ static int __devinit snd_ice1712_ac97_mixer(ice1712_t * ice) } if (! (ice->eeprom.data[ICE_EEP1_ACLINK] & ICE1712_CFG_PRO_I2S)) { - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ice1712_pro_ac97_write; - bus.read = snd_ice1712_pro_ac97_read; - if ((err = snd_ac97_bus(ice->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(ice->card, bus_num, &pro_ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = ice; @@ -1570,7 +1564,7 @@ static inline unsigned int eeprom_double(ice1712_t *ice, int idx) static void snd_ice1712_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ice1712_t *ice = snd_magic_cast(ice1712_t, entry->private_data, return); + ice1712_t *ice = entry->private_data; unsigned int idx; snd_iprintf(buffer, "%s\n\n", ice->card->longname); @@ -2468,7 +2462,7 @@ static int __devinit snd_ice1712_build_controls(ice1712_t *ice) static int snd_ice1712_free(ice1712_t *ice) { - if (ice->res_port == NULL) + if (! ice->port) goto __hw_end; /* mask all interrupts */ outb(0xc0, ICEMT(ice, IRQ)); @@ -2479,30 +2473,16 @@ static int snd_ice1712_free(ice1712_t *ice) synchronize_irq(ice->irq); free_irq(ice->irq, (void *) ice); } - if (ice->res_port) { - release_resource(ice->res_port); - kfree_nocheck(ice->res_port); - } - if (ice->res_ddma_port) { - release_resource(ice->res_ddma_port); - kfree_nocheck(ice->res_ddma_port); - } - if (ice->res_dmapath_port) { - release_resource(ice->res_dmapath_port); - kfree_nocheck(ice->res_dmapath_port); - } - if (ice->res_profi_port) { - release_resource(ice->res_profi_port); - kfree_nocheck(ice->res_profi_port); - } + if (ice->port) + pci_release_regions(ice->pci); snd_ice1712_akm4xxx_free(ice); - snd_magic_kfree(ice); + kfree(ice); return 0; } static int snd_ice1712_dev_free(snd_device_t *device) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->device_data, return -ENXIO); + ice1712_t *ice = device->device_data; return snd_ice1712_free(ice); } @@ -2531,7 +2511,7 @@ static int __devinit snd_ice1712_create(snd_card_t * card, return -ENXIO; } - ice = snd_magic_kcalloc(ice1712_t, 0, GFP_KERNEL); + ice = kcalloc(1, sizeof(*ice), GFP_KERNEL); if (ice == NULL) return -ENOMEM; ice->omni = omni ? 1 : 0; @@ -2555,36 +2535,21 @@ static int __devinit snd_ice1712_create(snd_card_t * card, ice->card = card; ice->pci = pci; ice->irq = -1; - ice->port = pci_resource_start(pci, 0); - ice->ddma_port = pci_resource_start(pci, 1); - ice->dmapath_port = pci_resource_start(pci, 2); - ice->profi_port = pci_resource_start(pci, 3); pci_set_master(pci); pci_write_config_word(ice->pci, 0x40, 0x807f); pci_write_config_word(ice->pci, 0x42, 0x0006); snd_ice1712_proc_init(ice); synchronize_irq(pci->irq); - if ((ice->res_port = request_region(ice->port, 32, "ICE1712 - Controller")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->port, ice->port + 32 - 1); - snd_ice1712_free(ice); - return -EIO; - } - if ((ice->res_ddma_port = request_region(ice->ddma_port, 16, "ICE1712 - DDMA")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->ddma_port, ice->ddma_port + 16 - 1); - snd_ice1712_free(ice); - return -EIO; - } - if ((ice->res_dmapath_port = request_region(ice->dmapath_port, 16, "ICE1712 - DMA path")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->dmapath_port, ice->dmapath_port + 16 - 1); - snd_ice1712_free(ice); - return -EIO; - } - if ((ice->res_profi_port = request_region(ice->profi_port, 64, "ICE1712 - Professional")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->profi_port, ice->profi_port + 16 - 1); - snd_ice1712_free(ice); - return -EIO; + if ((err = pci_request_regions(pci, "ICE1712")) < 0) { + kfree(ice); + return err; } + ice->port = pci_resource_start(pci, 0); + ice->ddma_port = pci_resource_start(pci, 1); + ice->dmapath_port = pci_resource_start(pci, 2); + ice->profi_port = pci_resource_start(pci, 3); + if (request_irq(pci->irq, snd_ice1712_interrupt, SA_INTERRUPT|SA_SHIRQ, "ICE1712", (void *) ice)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_ice1712_free(ice); diff --git a/sound/pci/ice1712/ice1712.h b/sound/pci/ice1712/ice1712.h index f8233bfdc..1d8998f7f 100644 --- a/sound/pci/ice1712/ice1712.h +++ b/sound/pci/ice1712/ice1712.h @@ -294,13 +294,9 @@ struct _snd_ice1712 { int irq; unsigned long port; - struct resource *res_port; unsigned long ddma_port; - struct resource *res_ddma_port; unsigned long dmapath_port; - struct resource *res_dmapath_port; unsigned long profi_port; - struct resource *res_profi_port; struct pci_dev *pci; snd_card_t *card; @@ -368,8 +364,6 @@ struct _snd_ice1712 { struct semaphore gpio_mutex; }; -#define chip_t ice1712_t - /* * gpio access functions diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c index 60fb18980..b3b632194 100644 --- a/sound/pci/ice1712/ice1724.c +++ b/sound/pci/ice1712/ice1724.c @@ -44,16 +44,19 @@ #include "amp.h" #include "revo.h" #include "aureon.h" +#include "vt1720_mobo.h" +#include "pontis.h" MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("VIA ICEnsemble ICE1724/1720 (Envy24HT/PT)"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{" +MODULE_SUPPORTED_DEVICE("{" REVO_DEVICE_DESC AMP_AUDIO2000_DEVICE_DESC AUREON_DEVICE_DESC + VT1720_MOBO_DEVICE_DESC + PONTIS_DEVICE_DESC "{VIA,VT1720}," "{VIA,VT1724}," "{ICEnsemble,Generic ICE1724}," @@ -68,13 +71,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for ICE1724 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for ICE1724 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable ICE1724 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(model, charp, boot_devs, 0444); MODULE_PARM_DESC(model, "Use the given board model."); @@ -190,21 +190,26 @@ static void snd_vt1724_set_gpio_dir(ice1712_t *ice, unsigned int data) static void snd_vt1724_set_gpio_mask(ice1712_t *ice, unsigned int data) { outw(data, ICEREG1724(ice, GPIO_WRITE_MASK)); - outb((data >> 16) & 0xff, ICEREG1724(ice, GPIO_WRITE_MASK_22)); + if (! ice->vt1720) /* VT1720 supports only 16 GPIO bits */ + outb((data >> 16) & 0xff, ICEREG1724(ice, GPIO_WRITE_MASK_22)); inw(ICEREG1724(ice, GPIO_WRITE_MASK)); /* dummy read for pci-posting */ } static void snd_vt1724_set_gpio_data(ice1712_t *ice, unsigned int data) { outw(data, ICEREG1724(ice, GPIO_DATA)); - outb(data >> 16, ICEREG1724(ice, GPIO_DATA_22)); + if (! ice->vt1720) + outb(data >> 16, ICEREG1724(ice, GPIO_DATA_22)); inw(ICEREG1724(ice, GPIO_DATA)); /* dummy read for pci-posting */ } static unsigned int snd_vt1724_get_gpio_data(ice1712_t *ice) { unsigned int data; - data = (unsigned int)inb(ICEREG1724(ice, GPIO_DATA_22)); + if (! ice->vt1720) + data = (unsigned int)inb(ICEREG1724(ice, GPIO_DATA_22)); + else + data = 0; data = (data << 16) | inw(ICEREG1724(ice, GPIO_DATA)); return data; } @@ -215,7 +220,7 @@ static unsigned int snd_vt1724_get_gpio_data(ice1712_t *ice) static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ice1712_t *ice = snd_magic_cast(ice1712_t, dev_id, return IRQ_NONE); + ice1712_t *ice = dev_id; unsigned char status; int handled = 0; @@ -230,7 +235,7 @@ static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id, struct pt_regs *r if ((status & VT1724_IRQ_MPU_RX)||(status & VT1724_IRQ_MPU_TX)) { if (ice->rmidi[0]) snd_mpu401_uart_interrupt(irq, ice->rmidi[0]->private_data, regs); - outb(VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX, ICEREG1724(ice, IRQSTAT)); + outb(status & (VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX), ICEREG1724(ice, IRQSTAT)); status &= ~(VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX); } if (status & VT1724_IRQ_MTPCM) { @@ -317,6 +322,13 @@ static snd_pcm_hw_constraint_list_t hw_constraints_rates_192 = { .mask = 0, }; +struct vt1724_pcm_reg { + unsigned int addr; /* ADDR register offset */ + unsigned int size; /* SIZE register offset */ + unsigned int count; /* COUNT register offset */ + unsigned int start; /* start & pause bit */ +}; + static int snd_vt1724_pcm_trigger(snd_pcm_substream_t *substream, int cmd) { ice1712_t *ice = snd_pcm_substream_chip(substream); @@ -327,8 +339,10 @@ static int snd_vt1724_pcm_trigger(snd_pcm_substream_t *substream, int cmd) what = 0; snd_pcm_group_for_each(pos, substream) { + struct vt1724_pcm_reg *reg; s = snd_pcm_group_substream_entry(pos); - what |= (unsigned long)(s->runtime->private_data); + reg = s->runtime->private_data; + what |= reg->start; snd_pcm_trigger_done(s, substream); } @@ -371,12 +385,26 @@ static int snd_vt1724_pcm_trigger(snd_pcm_substream_t *substream, int cmd) #define DMA_PAUSES (VT1724_RDMA0_PAUSE|VT1724_PDMA0_PAUSE|VT1724_RDMA1_PAUSE|\ VT1724_PDMA1_PAUSE|VT1724_PDMA2_PAUSE|VT1724_PDMA3_PAUSE|VT1724_PDMA4_PAUSE) +static int get_max_rate(ice1712_t *ice) +{ + if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) { + if ((ice->eeprom.data[ICE_EEP2_I2S] & 0x08) && !ice->vt1720) + return 192000; + else + return 96000; + } else + return 48000; +} + static void snd_vt1724_set_pro_rate(ice1712_t *ice, unsigned int rate, int force) { unsigned long flags; unsigned char val, old; unsigned int i; + if (rate > get_max_rate(ice)) + return; + spin_lock_irqsave(&ice->reg_lock, flags); if ((inb(ICEMT1724(ice, DMA_CONTROL)) & DMA_STARTS) || (inb(ICEMT1724(ice, DMA_PAUSE)) & DMA_PAUSES)) { @@ -410,8 +438,10 @@ static void snd_vt1724_set_pro_rate(ice1712_t *ice, unsigned int rate, int force val = 0; break; } - outb(val, ICEMT1724(ice, RATE)); - if (rate == ice->cur_rate) { + old = inb(ICEMT1724(ice, RATE)); + if (old != val) + outb(val, ICEMT1724(ice, RATE)); + else if (rate == ice->cur_rate) { spin_unlock_irqrestore(&ice->reg_lock, flags); return; } @@ -419,7 +449,7 @@ static void snd_vt1724_set_pro_rate(ice1712_t *ice, unsigned int rate, int force ice->cur_rate = rate; /* check MT02 */ - if (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) { + if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) { val = old = inb(ICEMT1724(ice, I2S_FORMAT)); if (rate > 96000) val |= VT1724_MT_I2S_MCLK_128X; /* 128x MCLK */ @@ -446,15 +476,6 @@ static void snd_vt1724_set_pro_rate(ice1712_t *ice, unsigned int rate, int force if (ice->akm[i].ops.set_rate_val) ice->akm[i].ops.set_rate_val(&ice->akm[i], rate); } - - /* set up AC97 registers if needed */ - if (! (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) && ice->ac97) { - snd_ac97_set_rate(ice->ac97, AC97_PCM_FRONT_DAC_RATE, rate); - snd_ac97_set_rate(ice->ac97, AC97_PCM_SURR_DAC_RATE, rate); - snd_ac97_set_rate(ice->ac97, AC97_PCM_LFE_DAC_RATE, rate); - snd_ac97_set_rate(ice->ac97, AC97_SPDIF, rate); - snd_ac97_set_rate(ice->ac97, AC97_PCM_LR_ADC_RATE, rate); - } } static int snd_vt1724_pcm_hw_params(snd_pcm_substream_t * substream, @@ -518,7 +539,7 @@ static int snd_vt1724_playback_pro_prepare(snd_pcm_substream_t * substream) unsigned char val; unsigned int size; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); val = (8 - substream->runtime->channels) >> 1; outb(val, ICEMT1724(ice, BURST)); @@ -533,7 +554,7 @@ static int snd_vt1724_playback_pro_prepare(snd_pcm_substream_t * substream) outw(size, ICEMT1724(ice, PLAYBACK_COUNT)); outb(size >> 16, ICEMT1724(ice, PLAYBACK_COUNT) + 2); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); // printk("pro prepare: ch = %d, addr = 0x%x, buffer = 0x%x, period = 0x%x\n", substream->runtime->channels, (unsigned int)substream->runtime->dma_addr, snd_pcm_lib_buffer_bytes(substream), snd_pcm_lib_period_bytes(substream)); return 0; @@ -562,7 +583,9 @@ static snd_pcm_uframes_t snd_vt1724_playback_pro_pointer(snd_pcm_substream_t * s ptr = inl(ICEMT1724(ice, PLAYBACK_SIZE)) & 0xffffff; ptr = (ptr + 1) << 2; ptr = bytes_to_frames(substream->runtime, ptr); - if (ptr <= substream->runtime->buffer_size) + if (! ptr) + ; + else if (ptr <= substream->runtime->buffer_size) ptr = substream->runtime->buffer_size - ptr; else { snd_printd("ice1724: invalid ptr %d (size=%d)\n", (int)ptr, (int)substream->runtime->buffer_size); @@ -572,29 +595,23 @@ static snd_pcm_uframes_t snd_vt1724_playback_pro_pointer(snd_pcm_substream_t * s return ptr; } -struct vt1724_pcm_reg { - unsigned int addr; /* ADDR register offset */ - unsigned int size; /* SIZE register offset */ - unsigned int count; /* COUNT register offset */ - unsigned int start; /* start bit */ - unsigned int pause; /* pause bit */ -}; - -static int snd_vt1724_pcm_prepare(snd_pcm_substream_t *substream, const struct vt1724_pcm_reg *reg) +static int snd_vt1724_pcm_prepare(snd_pcm_substream_t *substream) { ice1712_t *ice = snd_pcm_substream_chip(substream); + struct vt1724_pcm_reg *reg = substream->runtime->private_data; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); outl(substream->runtime->dma_addr, ice->profi_port + reg->addr); outw((snd_pcm_lib_buffer_bytes(substream) >> 2) - 1, ice->profi_port + reg->size); outw((snd_pcm_lib_period_bytes(substream) >> 2) - 1, ice->profi_port + reg->count); - spin_unlock(&ice->reg_lock); + spin_unlock_irq(&ice->reg_lock); return 0; } -static snd_pcm_uframes_t snd_vt1724_pcm_pointer(snd_pcm_substream_t *substream, const struct vt1724_pcm_reg *reg) +static snd_pcm_uframes_t snd_vt1724_pcm_pointer(snd_pcm_substream_t *substream) { ice1712_t *ice = snd_pcm_substream_chip(substream); + struct vt1724_pcm_reg *reg = substream->runtime->private_data; size_t ptr; if (!(inl(ICEMT1724(ice, DMA_CONTROL)) & reg->start)) @@ -607,7 +624,9 @@ static snd_pcm_uframes_t snd_vt1724_pcm_pointer(snd_pcm_substream_t *substream, ptr = inw(ice->profi_port + reg->size); ptr = (ptr + 1) << 2; ptr = bytes_to_frames(substream->runtime, ptr); - if (ptr <= substream->runtime->buffer_size) + if (! ptr) + ; + else if (ptr <= substream->runtime->buffer_size) ptr = substream->runtime->buffer_size - ptr; else { snd_printd("ice1724: invalid ptr %d (size=%d)\n", (int)ptr, (int)substream->runtime->buffer_size); @@ -617,24 +636,20 @@ static snd_pcm_uframes_t snd_vt1724_pcm_pointer(snd_pcm_substream_t *substream, #endif } -const static struct vt1724_pcm_reg vt1724_capture_pro_reg = { +static struct vt1724_pcm_reg vt1724_playback_pro_reg = { + .addr = VT1724_MT_PLAYBACK_ADDR, + .size = VT1724_MT_PLAYBACK_SIZE, + .count = VT1724_MT_PLAYBACK_COUNT, + .start = VT1724_PDMA0_START, +}; + +static struct vt1724_pcm_reg vt1724_capture_pro_reg = { .addr = VT1724_MT_CAPTURE_ADDR, .size = VT1724_MT_CAPTURE_SIZE, .count = VT1724_MT_CAPTURE_COUNT, .start = VT1724_RDMA0_START, - .pause = VT1724_RDMA0_PAUSE, }; -static int snd_vt1724_capture_pro_prepare(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_prepare(substream, &vt1724_capture_pro_reg); -} - -static snd_pcm_uframes_t snd_vt1724_capture_pro_pointer(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_pointer(substream, &vt1724_capture_pro_reg); -} - static snd_pcm_hardware_t snd_vt1724_playback_pro = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | @@ -698,9 +713,10 @@ static snd_pcm_hardware_t snd_vt1724_2ch_stereo = static int set_rate_constraints(ice1712_t *ice, snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - if (ice->eeprom.data[ICE_EEP2_ACLINK] & 0x80) { + if (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S) { /* I2S */ - if (ice->eeprom.data[ICE_EEP2_I2S] & 0x08) + /* VT1720 doesn't support more than 96kHz */ + if ((ice->eeprom.data[ICE_EEP2_I2S] & 0x08) && !ice->vt1720) return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_192); else { runtime->hw.rates = SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_96000; @@ -709,25 +725,14 @@ static int set_rate_constraints(ice1712_t *ice, snd_pcm_substream_t *substream) } } else if (ice->ac97) { /* ACLINK */ - int ratec; - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - ratec = AC97_RATES_FRONT_DAC; - else - ratec = AC97_RATES_ADC; - runtime->hw.rates = ice->ac97->rates[ratec]; runtime->hw.rate_max = 48000; - if (runtime->hw.rates == SNDRV_PCM_RATE_48000) { - runtime->hw.rate_min = 48000; - return 0; - } else { - runtime->hw.rates = SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000; - return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_48); - } + runtime->hw.rates = SNDRV_PCM_RATE_KNOT | SNDRV_PCM_RATE_8000_48000; + return snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, &hw_constraints_rates_48); } return 0; } -/* multi-channel playback needs alignment 8x32bit regarless of the channels +/* multi-channel playback needs alignment 8x32bit regardless of the channels * actually used */ #define VT1724_BUFFER_ALIGN 0x20 @@ -738,7 +743,7 @@ static int snd_vt1724_playback_pro_open(snd_pcm_substream_t * substream) ice1712_t *ice = snd_pcm_substream_chip(substream); int chs; - runtime->private_data = (void*)VT1724_PDMA0_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_playback_pro_reg; ice->playback_pro_substream = substream; runtime->hw = snd_vt1724_playback_pro; snd_pcm_set_sync(substream); @@ -767,12 +772,16 @@ static int snd_vt1724_capture_pro_open(snd_pcm_substream_t * substream) ice1712_t *ice = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->private_data = (void*)VT1724_RDMA0_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_capture_pro_reg; ice->capture_pro_substream = substream; runtime->hw = snd_vt1724_2ch_stereo; snd_pcm_set_sync(substream); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); set_rate_constraints(ice, substream); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + VT1724_BUFFER_ALIGN); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + VT1724_BUFFER_ALIGN); return 0; } @@ -814,9 +823,9 @@ static snd_pcm_ops_t snd_vt1724_capture_pro_ops = { .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_vt1724_pcm_hw_params, .hw_free = snd_vt1724_pcm_hw_free, - .prepare = snd_vt1724_capture_pro_prepare, + .prepare = snd_vt1724_pcm_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_capture_pro_pointer, + .pointer = snd_vt1724_pcm_pointer, }; static int __devinit snd_vt1724_pcm_profi(ice1712_t * ice, int device) @@ -848,40 +857,60 @@ static int __devinit snd_vt1724_pcm_profi(ice1712_t * ice, int device) * SPDIF PCM */ -const static struct vt1724_pcm_reg vt1724_playback_spdif_reg = { +static struct vt1724_pcm_reg vt1724_playback_spdif_reg = { .addr = VT1724_MT_PDMA4_ADDR, .size = VT1724_MT_PDMA4_SIZE, .count = VT1724_MT_PDMA4_COUNT, .start = VT1724_PDMA4_START, - .pause = VT1724_PDMA4_PAUSE, }; -const static struct vt1724_pcm_reg vt1724_capture_spdif_reg = { +static struct vt1724_pcm_reg vt1724_capture_spdif_reg = { .addr = VT1724_MT_RDMA1_ADDR, .size = VT1724_MT_RDMA1_SIZE, .count = VT1724_MT_RDMA1_COUNT, .start = VT1724_RDMA1_START, - .pause = VT1724_RDMA1_PAUSE, }; -static int snd_vt1724_playback_spdif_prepare(snd_pcm_substream_t * substream) +/* update spdif control bits; call with reg_lock */ +static void update_spdif_bits(ice1712_t *ice, unsigned int val) { - return snd_vt1724_pcm_prepare(substream, &vt1724_playback_spdif_reg); -} + unsigned char cbit, disabled; -static snd_pcm_uframes_t snd_vt1724_playback_spdif_pointer(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_pointer(substream, &vt1724_playback_spdif_reg); + cbit = inb(ICEREG1724(ice, SPDIF_CFG)); + disabled = cbit & ~VT1724_CFG_SPDIF_OUT_EN; + if (cbit != disabled) + outb(disabled, ICEREG1724(ice, SPDIF_CFG)); + outw(val, ICEMT1724(ice, SPDIF_CTRL)); + if (cbit != disabled) + outb(cbit, ICEREG1724(ice, SPDIF_CFG)); + outw(val, ICEMT1724(ice, SPDIF_CTRL)); } -static int snd_vt1724_capture_spdif_prepare(snd_pcm_substream_t * substream) +/* update SPDIF control bits according to the given rate */ +static void update_spdif_rate(ice1712_t *ice, unsigned int rate) { - return snd_vt1724_pcm_prepare(substream, &vt1724_capture_spdif_reg); + unsigned int val, nval; + unsigned long flags; + + spin_lock_irqsave(&ice->reg_lock, flags); + nval = val = inw(ICEMT1724(ice, SPDIF_CTRL)); + nval &= ~(7 << 12); + switch (rate) { + case 44100: break; + case 48000: nval |= 2 << 12; break; + case 32000: nval |= 3 << 12; break; + } + if (val != nval) + update_spdif_bits(ice, nval); + spin_unlock_irqrestore(&ice->reg_lock, flags); } -static snd_pcm_uframes_t snd_vt1724_capture_spdif_pointer(snd_pcm_substream_t * substream) +static int snd_vt1724_playback_spdif_prepare(snd_pcm_substream_t * substream) { - return snd_vt1724_pcm_pointer(substream, &vt1724_capture_spdif_reg); + ice1712_t *ice = snd_pcm_substream_chip(substream); + if (! ice->force_pdma4) + update_spdif_rate(ice, substream->runtime->rate); + return snd_vt1724_pcm_prepare(substream); } static int snd_vt1724_playback_spdif_open(snd_pcm_substream_t *substream) @@ -889,7 +918,7 @@ static int snd_vt1724_playback_spdif_open(snd_pcm_substream_t *substream) ice1712_t *ice = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->private_data = (void*)VT1724_PDMA4_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_playback_spdif_reg; ice->playback_con_substream = substream; if (ice->force_pdma4) { runtime->hw = snd_vt1724_2ch_stereo; @@ -898,6 +927,10 @@ static int snd_vt1724_playback_spdif_open(snd_pcm_substream_t *substream) runtime->hw = snd_vt1724_spdif; snd_pcm_set_sync(substream); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + VT1724_BUFFER_ALIGN); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + VT1724_BUFFER_ALIGN); return 0; } @@ -917,7 +950,7 @@ static int snd_vt1724_capture_spdif_open(snd_pcm_substream_t *substream) ice1712_t *ice = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->private_data = (void*)VT1724_RDMA1_START; /* irq/status/trigger bit */ + runtime->private_data = &vt1724_capture_spdif_reg; ice->capture_con_substream = substream; if (ice->force_rdma1) { runtime->hw = snd_vt1724_2ch_stereo; @@ -926,6 +959,10 @@ static int snd_vt1724_capture_spdif_open(snd_pcm_substream_t *substream) runtime->hw = snd_vt1724_spdif; snd_pcm_set_sync(substream); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + VT1724_BUFFER_ALIGN); + snd_pcm_hw_constraint_step(runtime, 0, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + VT1724_BUFFER_ALIGN); return 0; } @@ -948,7 +985,7 @@ static snd_pcm_ops_t snd_vt1724_playback_spdif_ops = { .hw_free = snd_vt1724_pcm_hw_free, .prepare = snd_vt1724_playback_spdif_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_playback_spdif_pointer, + .pointer = snd_vt1724_pcm_pointer, }; static snd_pcm_ops_t snd_vt1724_capture_spdif_ops = { @@ -957,9 +994,9 @@ static snd_pcm_ops_t snd_vt1724_capture_spdif_ops = { .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_vt1724_pcm_hw_params, .hw_free = snd_vt1724_pcm_hw_free, - .prepare = snd_vt1724_capture_spdif_prepare, + .prepare = snd_vt1724_pcm_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_capture_spdif_pointer, + .pointer = snd_vt1724_pcm_pointer, }; @@ -1017,27 +1054,24 @@ static int __devinit snd_vt1724_pcm_spdif(ice1712_t * ice, int device) * independent surround PCMs */ -const static struct vt1724_pcm_reg vt1724_playback_dma_regs[3] = { +static struct vt1724_pcm_reg vt1724_playback_dma_regs[3] = { { .addr = VT1724_MT_PDMA1_ADDR, .size = VT1724_MT_PDMA1_SIZE, .count = VT1724_MT_PDMA1_COUNT, .start = VT1724_PDMA1_START, - .pause = VT1724_PDMA1_PAUSE, }, { .addr = VT1724_MT_PDMA2_ADDR, .size = VT1724_MT_PDMA2_SIZE, .count = VT1724_MT_PDMA2_COUNT, .start = VT1724_PDMA2_START, - .pause = VT1724_PDMA2_PAUSE, }, { .addr = VT1724_MT_PDMA3_ADDR, .size = VT1724_MT_PDMA3_SIZE, .count = VT1724_MT_PDMA3_COUNT, .start = VT1724_PDMA3_START, - .pause = VT1724_PDMA3_PAUSE, }, }; @@ -1046,17 +1080,12 @@ static int snd_vt1724_playback_indep_prepare(snd_pcm_substream_t * substream) ice1712_t *ice = snd_pcm_substream_chip(substream); unsigned char val; - spin_lock(&ice->reg_lock); + spin_lock_irq(&ice->reg_lock); val = 3 - substream->number; if (inb(ICEMT1724(ice, BURST)) < val) outb(val, ICEMT1724(ice, BURST)); - spin_unlock(&ice->reg_lock); - return snd_vt1724_pcm_prepare(substream, &vt1724_playback_dma_regs[substream->number]); -} - -static snd_pcm_uframes_t snd_vt1724_playback_indep_pointer(snd_pcm_substream_t * substream) -{ - return snd_vt1724_pcm_pointer(substream, &vt1724_playback_dma_regs[substream->number]); + spin_unlock_irq(&ice->reg_lock); + return snd_vt1724_pcm_prepare(substream); } static int snd_vt1724_playback_indep_open(snd_pcm_substream_t *substream) @@ -1071,7 +1100,7 @@ static int snd_vt1724_playback_indep_open(snd_pcm_substream_t *substream) return -EBUSY; /* FIXME: should handle blocking mode properly */ } up(&ice->open_mutex); - runtime->private_data = (void*)(1UL << (substream->number + 4)); + runtime->private_data = &vt1724_playback_dma_regs[substream->number]; ice->playback_con_substream_ds[substream->number] = substream; runtime->hw = snd_vt1724_2ch_stereo; snd_pcm_set_sync(substream); @@ -1100,7 +1129,7 @@ static snd_pcm_ops_t snd_vt1724_playback_indep_ops = { .hw_free = snd_vt1724_pcm_hw_free, .prepare = snd_vt1724_playback_indep_prepare, .trigger = snd_vt1724_pcm_trigger, - .pointer = snd_vt1724_playback_indep_pointer, + .pointer = snd_vt1724_pcm_pointer, }; @@ -1143,17 +1172,19 @@ static int __devinit snd_vt1724_ac97_mixer(ice1712_t * ice) int err; if (! (ice->eeprom.data[ICE_EEP2_ACLINK] & VT1724_CFG_PRO_I2S)) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; + static ac97_bus_ops_t ops = { + .write = snd_vt1724_ac97_write, + .read = snd_vt1724_ac97_read, + }; + /* cold reset */ outb(inb(ICEMT1724(ice, AC97_CMD)) | 0x80, ICEMT1724(ice, AC97_CMD)); mdelay(5); /* FIXME */ outb(inb(ICEMT1724(ice, AC97_CMD)) & ~0x80, ICEMT1724(ice, AC97_CMD)); - memset(&bus, 0, sizeof(bus)); - bus.write = snd_vt1724_ac97_write; - bus.read = snd_vt1724_ac97_read; - if ((err = snd_ac97_bus(ice->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(ice->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = ice; @@ -1181,7 +1212,7 @@ static inline unsigned int eeprom_triple(ice1712_t *ice, int idx) static void snd_vt1724_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ice1712_t *ice = snd_magic_cast(ice1712_t, entry->private_data, return); + ice1712_t *ice = entry->private_data; unsigned int idx; snd_iprintf(buffer, "%s\n\n", ice->card->longname); @@ -1274,7 +1305,7 @@ static unsigned int encode_spdif_bits(snd_aes_iec958_t *diga) } } else { /* consumer */ - val |= diga->status[0] & 0x04; /* copyright */ + val |= diga->status[1] & 0x04; /* copyright */ if ((diga->status[0] & IEC958_AES0_CON_EMPHASIS)== IEC958_AES0_CON_EMPHASIS_5015) val |= 1U << 3; val |= (unsigned int)(diga->status[1] & 0x3f) << 4; /* category */ @@ -1326,22 +1357,13 @@ static int snd_vt1724_spdif_default_put(snd_kcontrol_t * kcontrol, { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned int val, old; - unsigned long flags; val = encode_spdif_bits(&ucontrol->value.iec958); - spin_lock_irqsave(&ice->reg_lock, flags); + spin_lock_irq(&ice->reg_lock); old = inw(ICEMT1724(ice, SPDIF_CTRL)); - if (val != old) { - unsigned char cbit, disabled; - cbit = inb(ICEREG1724(ice, SPDIF_CFG)); - disabled = cbit & ~VT1724_CFG_SPDIF_OUT_EN; - if (cbit != disabled) - outb(disabled, ICEREG1724(ice, SPDIF_CFG)); - outw(val, ICEMT1724(ice, SPDIF_CTRL)); - if (cbit != disabled) - outb(cbit, ICEREG1724(ice, SPDIF_CFG)); - } - spin_unlock_irqrestore(&ice->reg_lock, flags); + if (val != old) + update_spdif_bits(ice, val); + spin_unlock_irq(&ice->reg_lock); return (val != old); } @@ -1415,15 +1437,15 @@ static int snd_vt1724_spdif_sw_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned char old, val; - unsigned long flags; - spin_lock_irqsave(&ice->reg_lock, flags); + + spin_lock_irq(&ice->reg_lock); old = val = inb(ICEREG1724(ice, SPDIF_CFG)); val &= ~VT1724_CFG_SPDIF_OUT_EN; if (ucontrol->value.integer.value[0]) val |= VT1724_CFG_SPDIF_OUT_EN; if (old != val) outb(val, ICEREG1724(ice, SPDIF_CFG)); - spin_unlock_irqrestore(&ice->reg_lock, flags); + spin_unlock_irq(&ice->reg_lock); return old != val; } @@ -1490,7 +1512,7 @@ int snd_ice1712_gpio_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucont */ static int snd_vt1724_pro_internal_clock_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - static char *texts[] = { + static char *texts_1724[] = { "8000", /* 0: 6 */ "9600", /* 1: 3 */ "11025", /* 2: 10 */ @@ -1508,12 +1530,32 @@ static int snd_vt1724_pro_internal_clock_info(snd_kcontrol_t *kcontrol, snd_ctl_ "192000", /* 14: 14 */ "IEC958 Input", /* 15: -- */ }; + static char *texts_1720[] = { + "8000", /* 0: 6 */ + "9600", /* 1: 3 */ + "11025", /* 2: 10 */ + "12000", /* 3: 2 */ + "16000", /* 4: 5 */ + "22050", /* 5: 9 */ + "24000", /* 6: 1 */ + "32000", /* 7: 4 */ + "44100", /* 8: 8 */ + "48000", /* 9: 0 */ + "64000", /* 10: 15 */ + "88200", /* 11: 11 */ + "96000", /* 12: 7 */ + "IEC958 Input", /* 13: -- */ + }; + ice1712_t *ice = snd_kcontrol_chip(kcontrol); + uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; - uinfo->value.enumerated.items = 16; + uinfo->value.enumerated.items = ice->vt1720 ? 14 : 16; if (uinfo->value.enumerated.item >= uinfo->value.enumerated.items) uinfo->value.enumerated.item = uinfo->value.enumerated.items - 1; - strcpy(uinfo->value.enumerated.name, texts[uinfo->value.enumerated.item]); + strcpy(uinfo->value.enumerated.name, + ice->vt1720 ? texts_1720[uinfo->value.enumerated.item] : + texts_1724[uinfo->value.enumerated.item]); return 0; } @@ -1527,7 +1569,7 @@ static int snd_vt1724_pro_internal_clock_get(snd_kcontrol_t * kcontrol, snd_ctl_ spin_lock_irq(&ice->reg_lock); if (is_spdif_master(ice)) { - ucontrol->value.enumerated.item[0] = 15; + ucontrol->value.enumerated.item[0] = ice->vt1720 ? 13 : 15; } else { val = xlate[inb(ICEMT1724(ice, RATE)) & 15]; if (val == 255) { @@ -1544,17 +1586,22 @@ static int snd_vt1724_pro_internal_clock_put(snd_kcontrol_t * kcontrol, snd_ctl_ { ice1712_t *ice = snd_kcontrol_chip(kcontrol); unsigned char oval; + int rate; int change = 0; + int spdif = ice->vt1720 ? 13 : 15; spin_lock_irq(&ice->reg_lock); oval = inb(ICEMT1724(ice, RATE)); - if (ucontrol->value.enumerated.item[0] == 15) { + if (ucontrol->value.enumerated.item[0] == spdif) { outb(oval | VT1724_SPDIF_MASTER, ICEMT1724(ice, RATE)); } else { - PRO_RATE_DEFAULT = rates[ucontrol->value.integer.value[0] % 15]; - spin_unlock_irq(&ice->reg_lock); - snd_vt1724_set_pro_rate(ice, PRO_RATE_DEFAULT, 1); - spin_lock_irq(&ice->reg_lock); + rate = rates[ucontrol->value.integer.value[0] % 15]; + if (rate <= get_max_rate(ice)) { + PRO_RATE_DEFAULT = rate; + spin_unlock_irq(&ice->reg_lock); + snd_vt1724_set_pro_rate(ice, PRO_RATE_DEFAULT, 1); + spin_lock_irq(&ice->reg_lock); + } } change = inb(ICEMT1724(ice, RATE)) != oval; spin_unlock_irq(&ice->reg_lock); @@ -1815,6 +1862,8 @@ static struct snd_ice1712_card_info *card_tables[] __devinitdata = { snd_vt1724_revo_cards, snd_vt1724_amp_cards, snd_vt1724_aureon_cards, + snd_vt1720_mobo_cards, + snd_vt1720_pontis_cards, NULL, }; @@ -1822,24 +1871,28 @@ static struct snd_ice1712_card_info *card_tables[] __devinitdata = { /* */ -unsigned char snd_vt1724_read_i2c(ice1712_t *ice, unsigned char dev, unsigned char addr) +static void wait_i2c_busy(ice1712_t *ice) { - long t = 0x10000; + int t = 0x10000; + while ((inb(ICEREG1724(ice, I2C_CTRL)) & VT1724_I2C_BUSY) && t--) + ; +} +unsigned char snd_vt1724_read_i2c(ice1712_t *ice, unsigned char dev, unsigned char addr) +{ outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR)); outb(dev & ~VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR)); - while (t-- > 0 && (inb(ICEREG1724(ice, I2C_CTRL)) & VT1724_I2C_BUSY)) ; + wait_i2c_busy(ice); return inb(ICEREG1724(ice, I2C_DATA)); } void snd_vt1724_write_i2c(ice1712_t *ice, unsigned char dev, unsigned char addr, unsigned char data) { - long t = 0x10000; - + wait_i2c_busy(ice); outb(addr, ICEREG1724(ice, I2C_BYTE_ADDR)); outb(data, ICEREG1724(ice, I2C_DATA)); outb(dev | VT1724_I2C_WRITE, ICEREG1724(ice, I2C_DEV_ADDR)); - while (t-- > 0 && (inb(ICEREG1724(ice, I2C_CTRL)) & VT1724_I2C_BUSY)) ; + wait_i2c_busy(ice); } static int __devinit snd_vt1724_read_eeprom(ice1712_t *ice, const char *modelname) @@ -1930,9 +1983,6 @@ static int __devinit snd_vt1724_chip_init(ice1712_t *ice) outb(0, ICEREG1724(ice, POWERDOWN)); - /* read back to check the availability of SPDIF out */ - ice->eeprom.data[ICE_EEP2_SPDIF] = inb(ICEREG1724(ice, SPDIF_CFG)); - return 0; } @@ -1994,10 +2044,9 @@ static int __devinit snd_vt1724_build_controls(ice1712_t *ice) if (ice->num_total_dacs > 0) { snd_kcontrol_new_t tmp = snd_vt1724_mixer_pro_analog_route; - if (ice->vt1720) + tmp.count = ice->num_total_dacs; + if (ice->vt1720 && tmp.count > 2) tmp.count = 2; - else - tmp.count = ice->num_total_dacs; err = snd_ctl_add(ice->card, snd_ctl_new1(&tmp, ice)); if (err < 0) return err; @@ -2012,7 +2061,7 @@ static int __devinit snd_vt1724_build_controls(ice1712_t *ice) static int snd_vt1724_free(ice1712_t *ice) { - if (ice->res_port == NULL) + if (! ice->port) goto __hw_end; /* mask all interrupts */ outb(0xff, ICEMT1724(ice, DMA_INT_MASK)); @@ -2023,22 +2072,15 @@ static int snd_vt1724_free(ice1712_t *ice) synchronize_irq(ice->irq); free_irq(ice->irq, (void *) ice); } - if (ice->res_port) { - release_resource(ice->res_port); - kfree_nocheck(ice->res_port); - } - if (ice->res_profi_port) { - release_resource(ice->res_profi_port); - kfree_nocheck(ice->res_profi_port); - } + pci_release_regions(ice->pci); snd_ice1712_akm4xxx_free(ice); - snd_magic_kfree(ice); + kfree(ice); return 0; } static int snd_vt1724_dev_free(snd_device_t *device) { - ice1712_t *ice = snd_magic_cast(ice1712_t, device->device_data, return -ENXIO); + ice1712_t *ice = device->device_data; return snd_vt1724_free(ice); } @@ -2060,7 +2102,7 @@ static int __devinit snd_vt1724_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - ice = snd_magic_kcalloc(ice1712_t, 0, GFP_KERNEL); + ice = kcalloc(1, sizeof(*ice), GFP_KERNEL); if (ice == NULL) return -ENOMEM; ice->vt1724 = 1; @@ -2074,24 +2116,17 @@ static int __devinit snd_vt1724_create(snd_card_t * card, ice->card = card; ice->pci = pci; ice->irq = -1; - ice->port = pci_resource_start(pci, 0); - ice->profi_port = pci_resource_start(pci, 1); pci_set_master(pci); snd_vt1724_proc_init(ice); synchronize_irq(pci->irq); - if ((ice->res_port = request_region(ice->port, 32, "ICE1724 - Controller")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->port, ice->port + 32 - 1); - snd_vt1724_free(ice); - return -EIO; + if ((err = pci_request_regions(pci, "ICE1724")) < 0) { + kfree(ice); + return err; } + ice->port = pci_resource_start(pci, 0); + ice->profi_port = pci_resource_start(pci, 1); - if ((ice->res_profi_port = request_region(ice->profi_port, 128, "ICE1724 - Professional")) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", ice->profi_port, ice->profi_port + 16 - 1); - snd_vt1724_free(ice); - return -EIO; - } - if (request_irq(pci->irq, snd_vt1724_interrupt, SA_INTERRUPT|SA_SHIRQ, "ICE1724", (void *) ice)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_vt1724_free(ice); diff --git a/sound/pci/ice1712/revo.c b/sound/pci/ice1712/revo.c index 805631270..82db619b2 100644 --- a/sound/pci/ice1712/revo.c +++ b/sound/pci/ice1712/revo.c @@ -128,7 +128,7 @@ static int __devinit revo_init(ice1712_t *ice) switch (ice->eeprom.subvendor) { case VT1724_SUBDEVICE_REVOLUTION71: ice->num_total_dacs = 8; - ice->num_total_adcs = 4; + ice->num_total_adcs = 2; break; default: snd_BUG(); @@ -136,7 +136,7 @@ static int __devinit revo_init(ice1712_t *ice) } /* second stage of initialization, analog parts and others */ - ak = ice->akm = snd_kcalloc(sizeof(akm4xxx_t) * 2, GFP_KERNEL); + ak = ice->akm = kcalloc(2, sizeof(akm4xxx_t), GFP_KERNEL); if (! ak) return -ENOMEM; ice->akm_codecs = 2; diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 5493667dd..bea65d2f8 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c @@ -48,8 +48,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7012; Ali 5455"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Intel,82801AA-ICH}," +MODULE_SUPPORTED_DEVICE("{{Intel,82801AA-ICH}," "{Intel,82901AB-ICH0}," "{Intel,82801BA-ICH2}," "{Intel,82801CA-ICH3}," @@ -75,6 +74,7 @@ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ static int ac97_clock[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; static int ac97_quirk[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = AC97_TUNE_DEFAULT}; +static int buggy_irq[SNDRV_CARDS]; #ifdef SUPPORT_JOYSTICK static int joystick[SNDRV_CARDS]; #endif @@ -85,28 +85,23 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = auto-detect)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:0"); module_param_array(ac97_quirk, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); -MODULE_PARM_SYNTAX(ac97_quirk, SNDRV_ENABLED ",allows:{{-1,4}},dialog:list,default:-1"); +module_param_array(buggy_irq, bool, boot_devs, 0444); +MODULE_PARM_DESC(buggy_irq, "Enable workaround for buggy interrupts on some motherboards."); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick for Intel i8x0 soundcard."); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); #endif #ifdef SUPPORT_MIDI module_param_array(mpu_port, int, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU401 port # for Intel i8x0 driver."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0},{0x330},{0x300}},dialog:list"); #endif /* @@ -146,9 +141,15 @@ MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED ",allows:{{0},{0x330},{0x300}},dialog #ifndef PCI_DEVICE_ID_NVIDIA_MCP_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP_AUDIO 0x01b1 #endif +#ifndef PCI_DEVICE_ID_NVIDIA_CK804_AUDIO +#define PCI_DEVICE_ID_NVIDIA_CK804_AUDIO 0x0059 +#endif #ifndef PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a #endif +#ifndef PCI_DEVICE_ID_NVIDIA_CK8_AUDIO +#define PCI_DEVICE_ID_NVIDIA_CK8_AUDIO 0x008a +#endif #ifndef PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO #define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da #endif @@ -397,25 +398,18 @@ typedef struct { } ichdev_t; typedef struct _snd_intel8x0 intel8x0_t; -#define chip_t intel8x0_t struct _snd_intel8x0 { unsigned int device_type; - char ac97_name[32]; - char ctrl_name[32]; int irq; unsigned int mmio; unsigned long addr; - unsigned long remap_addr; - struct resource *res; + void __iomem * remap_addr; unsigned int bm_mmio; unsigned long bmaddr; - unsigned long remap_bmaddr; - struct resource *res_bm; - - struct snd_dma_device dma_dev; + void __iomem * remap_bmaddr; struct pci_dev *pci; snd_card_t *card; @@ -424,12 +418,13 @@ struct _snd_intel8x0 { snd_pcm_t *pcm[6]; ichdev_t ichd[6]; - int multi4: 1, - multi6: 1, - smp20bit: 1; - int in_ac97_init: 1, - in_sdin_init: 1; - int fix_nocache: 1; /* workaround for 440MX */ + unsigned multi4: 1, + multi6: 1, + smp20bit: 1; + unsigned in_ac97_init: 1, + in_sdin_init: 1; + unsigned fix_nocache: 1; /* workaround for 440MX */ + unsigned buggy_irq: 1; /* workaround for buggy mobos */ ac97_bus_t *ac97_bus; ac97_t *ac97[3]; @@ -444,10 +439,6 @@ struct _snd_intel8x0 { struct snd_dma_buffer bdbars; u32 int_sta_reg; /* interrupt status register */ u32 int_sta_mask; /* interrupt status mask */ - -#ifdef CONFIG_PM - u32 pci_state[64 / sizeof(u32)]; -#endif }; static struct pci_device_id snd_intel8x0_ids[] = { @@ -462,7 +453,10 @@ static struct pci_device_id snd_intel8x0_ids[] = { { 0x8086, 0x7195, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 440MX */ { 0x1039, 0x7012, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_SIS }, /* SI7012 */ { 0x10de, 0x01b1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE */ + { 0x10de, 0x003a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* MCP04 */ { 0x10de, 0x006a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2 */ + { 0x10de, 0x0059, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK804 */ + { 0x10de, 0x008a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK8 */ { 0x10de, 0x00da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ { 0x10de, 0x00ea, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* CK8S */ { 0x1022, 0x746d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD8111 */ @@ -605,7 +599,7 @@ static void snd_intel8x0_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); if (snd_intel8x0_codec_semaphore(chip, ac97->num) < 0) { @@ -619,7 +613,7 @@ static void snd_intel8x0_codec_write(ac97_t *ac97, static unsigned short snd_intel8x0_codec_read(ac97_t *ac97, unsigned short reg) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return ~0); + intel8x0_t *chip = ac97->private_data; unsigned short res; unsigned int tmp; @@ -642,6 +636,21 @@ static unsigned short snd_intel8x0_codec_read(ac97_t *ac97, return res; } +static void snd_intel8x0_codec_read_test(intel8x0_t *chip, unsigned int codec) +{ + unsigned int tmp; + + spin_lock(&chip->ac97_lock); + if (snd_intel8x0_codec_semaphore(chip, codec) >= 0) { + iagetword(chip, codec * 0x80); + if ((tmp = igetdword(chip, ICHREG(GLOB_STA))) & ICH_RCS) { + /* reset RCS and preserve other R/WC bits */ + iputdword(chip, ICHREG(GLOB_STA), tmp & ~(ICH_SRI|ICH_PRI|ICH_TRI|ICH_GSCI)); + } + } + spin_unlock(&chip->ac97_lock); +} + /* * access to AC97 for Ali5455 */ @@ -669,7 +678,7 @@ static int snd_intel8x0_ali_codec_semaphore(intel8x0_t *chip) static unsigned short snd_intel8x0_ali_codec_read(ac97_t *ac97, unsigned short reg) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return ~0); + intel8x0_t *chip = ac97->private_data; unsigned short data = 0xffff; spin_lock(&chip->ac97_lock); @@ -689,7 +698,7 @@ static unsigned short snd_intel8x0_ali_codec_read(ac97_t *ac97, unsigned short r static void snd_intel8x0_ali_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); if (snd_intel8x0_ali_codec_semaphore(chip)) { @@ -778,6 +787,7 @@ static inline void snd_intel8x0_update(intel8x0_t *chip, ichdev_t *ichdev) int status, civ, i, step; int ack = 0; + spin_lock(&chip->reg_lock); status = igetbyte(chip, port + ichdev->roff_sr); civ = igetbyte(chip, port + ICH_REG_OFF_CIV); if (!(status & ICH_BCIS)) { @@ -811,10 +821,9 @@ static inline void snd_intel8x0_update(intel8x0_t *chip, ichdev_t *ichdev) ack = 1; } } + spin_unlock(&chip->reg_lock); if (ack && ichdev->substream) { - spin_unlock(&chip->reg_lock); snd_pcm_period_elapsed(ichdev->substream); - spin_lock(&chip->reg_lock); } iputbyte(chip, port + ichdev->roff_sr, status & (ICH_FIFOE | ICH_BCIS | ICH_LVBCI)); @@ -822,24 +831,22 @@ static inline void snd_intel8x0_update(intel8x0_t *chip, ichdev_t *ichdev) static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, dev_id, return IRQ_NONE); + intel8x0_t *chip = dev_id; ichdev_t *ichdev; unsigned int status; unsigned int i; - spin_lock(&chip->reg_lock); status = igetdword(chip, chip->int_sta_reg); + if (status == 0xffffffff) /* we are not yet resumed */ + return IRQ_NONE; + if ((status & chip->int_sta_mask) == 0) { if (status) { /* ack */ iputdword(chip, chip->int_sta_reg, status); - /* some Nforce[2] boards have problems when - IRQ_NONE is returned here. - */ - if (chip->device_type != DEVICE_NFORCE) + if (! chip->buggy_irq) status = 0; } - spin_unlock(&chip->reg_lock); return IRQ_RETVAL(status); } @@ -851,7 +858,6 @@ static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs /* ack them */ iputdword(chip, chip->int_sta_reg, status & chip->int_sta_mask); - spin_unlock(&chip->reg_lock); return IRQ_HANDLED; } @@ -1021,8 +1027,12 @@ static void snd_intel8x0_setup_pcm_out(intel8x0_t *chip, /* reset to 2ch once to keep the 6 channel data in alignment, * to start from Front Left always */ - iputdword(chip, ICHREG(GLOB_CNT), (cnt & 0xcfffff)); - mdelay(50); /* grrr... */ + if (cnt & ICH_PCM_246_MASK) { + iputdword(chip, ICHREG(GLOB_CNT), cnt & ~ICH_PCM_246_MASK); + spin_unlock_irq(&chip->reg_lock); + msleep(50); /* grrr... */ + spin_lock_irq(&chip->reg_lock); + } } else if (chip->device_type == DEVICE_INTEL_ICH4) { if (sample_bits > 16) cnt |= ICH_PCM_20BIT; @@ -1041,16 +1051,16 @@ static int snd_intel8x0_pcm_prepare(snd_pcm_substream_t * substream) ichdev->physbuf = runtime->dma_addr; ichdev->size = snd_pcm_lib_buffer_bytes(substream); ichdev->fragsize = snd_pcm_lib_period_bytes(substream); + spin_lock_irq(&chip->reg_lock); if (ichdev->ichd == ICHD_PCMOUT) { - spin_lock(&chip->reg_lock); snd_intel8x0_setup_pcm_out(chip, runtime->channels, runtime->sample_bits); - spin_unlock(&chip->reg_lock); if (chip->device_type == DEVICE_INTEL_ICH4) { ichdev->pos_shift = (runtime->sample_bits > 16) ? 2 : 1; } } snd_intel8x0_setup_periods(chip, ichdev); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1058,17 +1068,25 @@ static snd_pcm_uframes_t snd_intel8x0_pcm_pointer(snd_pcm_substream_t * substrea { intel8x0_t *chip = snd_pcm_substream_chip(substream); ichdev_t *ichdev = get_ichdev(substream); - unsigned long flags; size_t ptr1, ptr; + int civ, timeout = 10; + unsigned int position; - ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << ichdev->pos_shift; - if (ptr1 != 0) - ptr = ichdev->fragsize1 - ptr1; - else - ptr = 0; - spin_lock_irqsave(&chip->reg_lock, flags); - ptr += ichdev->position; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); + do { + civ = igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV); + ptr1 = igetword(chip, ichdev->reg_offset + ichdev->roff_picb); + position = ichdev->position; + if (ptr1 == 0) + udelay(1); + if (civ == igetbyte(chip, ichdev->reg_offset + ICH_REG_OFF_CIV) && + ptr1 == igetword(chip, ichdev->reg_offset + ichdev->roff_picb)) + break; + } while (timeout--); + ptr1 <<= ichdev->pos_shift; + ptr = ichdev->fragsize1 - ptr1; + ptr += position; + spin_unlock(&chip->reg_lock); if (ptr >= ichdev->size) return 0; return bytes_to_frames(substream->runtime, ptr); @@ -1099,10 +1117,8 @@ static unsigned int channels4[] = { 2, 4, }; -#define CHANNELS4 sizeof(channels4) / sizeof(channels4[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_channels4 = { - .count = CHANNELS4, + .count = ARRAY_SIZE(channels4), .list = channels4, .mask = 0, }; @@ -1111,10 +1127,8 @@ static unsigned int channels6[] = { 2, 4, 6, }; -#define CHANNELS6 sizeof(channels6) / sizeof(channels6[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_channels6 = { - .count = CHANNELS6, + .count = ARRAY_SIZE(channels6), .list = channels6, .mask = 0, }; @@ -1156,8 +1170,10 @@ static int snd_intel8x0_playback_open(snd_pcm_substream_t * substream) runtime->hw.channels_max = 4; snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, &hw_constraints_channels4); } - if (chip->smp20bit) + if (chip->smp20bit) { runtime->hw.formats |= SNDRV_PCM_FMTBIT_S32_LE; + snd_pcm_hw_constraint_msbits(runtime, 0, 32, 20); + } return 0; } @@ -1249,14 +1265,14 @@ static int snd_intel8x0_spdif_close(snd_pcm_substream_t * substream) static int snd_intel8x0_ali_ac97spdifout_open(snd_pcm_substream_t * substream) { intel8x0_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; unsigned int val; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); val = igetdword(chip, ICHREG(ALI_INTERFACECR)); val |= ICH_ALI_IF_AC97SP; + iputdword(chip, ICHREG(ALI_INTERFACECR), val); /* also needs to set ALI_SC_CODEC_SPDF correctly */ - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return snd_intel8x0_pcm_open(substream, &chip->ichd[ALID_AC97SPDIFOUT]); } @@ -1264,14 +1280,14 @@ static int snd_intel8x0_ali_ac97spdifout_open(snd_pcm_substream_t * substream) static int snd_intel8x0_ali_ac97spdifout_close(snd_pcm_substream_t * substream) { intel8x0_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; unsigned int val; chip->ichd[ALID_AC97SPDIFOUT].substream = NULL; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); val = igetdword(chip, ICHREG(ALI_INTERFACECR)); val &= ~ICH_ALI_IF_AC97SP; - spin_unlock_irqrestore(&chip->reg_lock, flags); + iputdword(chip, ICHREG(ALI_INTERFACECR), val); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1627,13 +1643,13 @@ static int __devinit snd_intel8x0_pcm(intel8x0_t *chip) static void snd_intel8x0_mixer_free_ac97_bus(ac97_bus_t *bus) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, bus->private_data, return); + intel8x0_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_intel8x0_mixer_free_ac97(ac97_t *ac97) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; chip->ac97[ac97->num] = NULL; } @@ -1726,12 +1742,30 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { .name = "Dell Optiplex GX260", /* AD1981A */ .type = AC97_TUNE_HP_ONLY }, + { + .vendor = 0x1028, + .device = 0x012d, + .name = "Dell Precision 450", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, { /* FIXME: which codec? */ .vendor = 0x103c, .device = 0x00c3, .name = "Hewlett-Packard onboard", .type = AC97_TUNE_HP_ONLY }, + { + .vendor = 0x103c, + .device = 0x12f1, + .name = "HP xw8200", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x103c, + .device = 0x3008, + .name = "HP xw4200", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, { .vendor = 0x1043, .device = 0x80f3, @@ -1800,6 +1834,12 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { .name = "Intel D850EMV2", /* AD1885 */ .type = AC97_TUNE_HP_ONLY }, + { + .vendor = 0x8086, + .device = 0x4d56, + .name = "Intel ICH/AD1885", + .type = AC97_TUNE_HP_ONLY + }, { .vendor = 0x8086, .device = 0x6000, @@ -1823,17 +1863,44 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { .type = AC97_TUNE_HP_ONLY }, #endif + { + .vendor = 0x1028, + .device = 0x012d, + .name = "Dell Precision 450", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x103c, + .device = 0x3008, + .name = "HP xw4200", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x103c, + .device = 0x12f1, + .name = "HP xw8200", /* AD1981B*/ + .type = AC97_TUNE_HP_ONLY + }, { } /* terminator */ }; static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac97_quirk) { - ac97_bus_t bus, *pbus; - ac97_t ac97, *x97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err; unsigned int i, codecs; unsigned int glob_sta = 0; int spdif_idx = -1; /* disabled */ + ac97_bus_ops_t *ops; + static ac97_bus_ops_t standard_bus_ops = { + .write = snd_intel8x0_codec_write, + .read = snd_intel8x0_codec_read, + }; + static ac97_bus_ops_t ali_bus_ops = { + .write = snd_intel8x0_ali_codec_write, + .read = snd_intel8x0_ali_codec_read, + }; switch (chip->device_type) { case DEVICE_NFORCE: @@ -1849,13 +1916,6 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac }; chip->in_ac97_init = 1; - memset(&bus, 0, sizeof(bus)); - bus.private_data = chip; - bus.private_free = snd_intel8x0_mixer_free_ac97_bus; - if (ac97_clock >= 8000 && ac97_clock <= 48000) - bus.clock = ac97_clock; - else - bus.clock = 48000; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1863,8 +1923,7 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac ac97.scaps = AC97_SCAP_SKIP_MODEM; if (chip->device_type != DEVICE_ALI) { glob_sta = igetdword(chip, ICHREG(GLOB_STA)); - bus.write = snd_intel8x0_codec_write; - bus.read = snd_intel8x0_codec_read; + ops = &standard_bus_ops; if (chip->device_type == DEVICE_INTEL_ICH4) { codecs = 0; if (glob_sta & ICH_PCR) @@ -1875,19 +1934,15 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac codecs++; chip->in_sdin_init = 1; for (i = 0; i < codecs; i++) { - ac97.num = i; - snd_intel8x0_codec_read(&ac97, 0); + snd_intel8x0_codec_read_test(chip, i); chip->ac97_sdin[i] = igetbyte(chip, ICHREG(SDM)) & ICH_LDI_MASK; } - ac97.num = 0; chip->in_sdin_init = 0; } else { codecs = glob_sta & ICH_SCR ? 2 : 1; } - bus.vra = 1; } else { - bus.write = snd_intel8x0_ali_codec_write; - bus.read = snd_intel8x0_ali_codec_read; + ops = &ali_bus_ops; codecs = 1; /* detect the secondary codec */ for (i = 0; i < 100; i++) { @@ -1899,23 +1954,28 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock, int ac iputdword(chip, ICHREG(ALI_RTSR), reg | 0x40); udelay(1); } - /* FIXME: my test board doens't work well with VRA... */ - bus.vra = 0; } - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, ops, chip, &pbus)) < 0) goto __err; + pbus->private_free = snd_intel8x0_mixer_free_ac97_bus; + pbus->shared_type = AC97_SHARED_TYPE_ICH; /* shared with modem driver */ + if (ac97_clock >= 8000 && ac97_clock <= 48000) + pbus->clock = ac97_clock; + /* FIXME: my test board doesn't work well with VRA... */ + if (chip->device_type == DEVICE_ALI) + pbus->no_vra = 1; chip->ac97_bus = pbus; + ac97.pci = chip->pci; for (i = 0; i < codecs; i++) { ac97.num = i; - if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { + if ((err = snd_ac97_mixer(pbus, &ac97, &chip->ac97[i])) < 0) { if (err != -EACCES) snd_printk(KERN_ERR "Unable to initialize codec #%d\n", i); if (i == 0) goto __err; continue; } - chip->ac97[i] = x97; } /* tune up the primary codec */ snd_ac97_tune_hardware(chip->ac97[0], ac97_quirks, ac97_quirk); @@ -2179,26 +2239,19 @@ static int snd_intel8x0_free(intel8x0_t *chip) /* --- */ synchronize_irq(chip->irq); __hw_end: + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); if (chip->bdbars.area) { if (chip->fix_nocache) fill_nocache(chip->bdbars.area, chip->bdbars.bytes, 0); - snd_dma_free_pages(&chip->dma_dev, &chip->bdbars); + snd_dma_free_pages(&chip->bdbars); } if (chip->remap_addr) - iounmap((void *) chip->remap_addr); + iounmap(chip->remap_addr); if (chip->remap_bmaddr) - iounmap((void *) chip->remap_bmaddr); - if (chip->res) { - release_resource(chip->res); - kfree_nocheck(chip->res); - } - if (chip->res_bm) { - release_resource(chip->res_bm); - kfree_nocheck(chip->res_bm); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + iounmap(chip->remap_bmaddr); + pci_release_regions(chip->pci); + kfree(chip); return 0; } @@ -2208,7 +2261,7 @@ static int snd_intel8x0_free(intel8x0_t *chip) */ static int intel8x0_suspend(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; int i; for (i = 0; i < chip->pcm_devs; i++) @@ -2216,17 +2269,15 @@ static int intel8x0_suspend(snd_card_t *card, unsigned int state) for (i = 0; i < 3; i++) if (chip->ac97[i]) snd_ac97_suspend(chip->ac97[i]); - pci_save_state(chip->pci, chip->pci_state); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); return 0; } static int intel8x0_resume(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; int i; - pci_restore_state(chip->pci, chip->pci_state); pci_enable_device(chip->pci); pci_set_master(chip->pci); snd_intel8x0_chip_init(chip, 0); @@ -2264,7 +2315,6 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip) ichdev_t *ichdev; unsigned long port; unsigned long pos, t; - unsigned long flags; struct timeval start_time, stop_time; if (chip->ac97_bus->clock != 48000) @@ -2287,7 +2337,7 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip) } snd_intel8x0_setup_periods(chip, ichdev); port = ichdev->reg_offset; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); /* trigger */ if (chip->device_type != DEVICE_ALI) iputbyte(chip, port + ICH_REG_OFF_CR, ICH_IOCE | ICH_STARTBM); @@ -2296,7 +2346,7 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip) iputdword(chip, ICHREG(ALI_DMACR), 1 << ichdev->ali_slot); } do_gettimeofday(&start_time); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); #if 0 set_current_state(TASK_UNINTERRUPTIBLE); schedule_timeout(HZ / 20); @@ -2304,7 +2354,7 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip) /* FIXME: schedule() can take too long time and overlap the boundary.. */ mdelay(50); #endif - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); /* check the position */ pos = ichdev->fragsize1; pos -= igetword(chip, ichdev->reg_offset + ichdev->roff_picb) << ichdev->pos_shift; @@ -2322,7 +2372,7 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip) ; } iputbyte(chip, port + ICH_REG_OFF_CR, ICH_RESETREGS); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); t = stop_time.tv_sec - start_time.tv_sec; t *= 1000000; @@ -2346,7 +2396,7 @@ static void __devinit intel8x0_measure_ac97_clock(intel8x0_t *chip) static void snd_intel8x0_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, entry->private_data, return); + intel8x0_t *chip = entry->private_data; unsigned int tmp; snd_iprintf(buffer, "Intel8x0\n\n"); @@ -2379,7 +2429,7 @@ static void __devinit snd_intel8x0_proc_init(intel8x0_t * chip) static int snd_intel8x0_dev_free(snd_device_t *device) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, device->device_data, return -ENXIO); + intel8x0_t *chip = device->device_data; return snd_intel8x0_free(chip); } @@ -2438,7 +2488,7 @@ static int __devinit snd_intel8x0_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(intel8x0_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -2447,66 +2497,51 @@ static int __devinit snd_intel8x0_create(snd_card_t * card, chip->card = card; chip->pci = pci; chip->irq = -1; - snd_intel8x0_proc_init(chip); - sprintf(chip->ac97_name, "%s - AC'97", card->shortname); - sprintf(chip->ctrl_name, "%s - Controller", card->shortname); + if (pci->vendor == PCI_VENDOR_ID_INTEL && pci->device == PCI_DEVICE_ID_INTEL_440MX) chip->fix_nocache = 1; /* enable workaround */ + + /* some Nforce[2] and ICH boards have problems with IRQ handling. + * Needs to return IRQ_HANDLED for unknown irqs. + */ + if (device_type == DEVICE_NFORCE) + chip->buggy_irq = 1; + + if ((err = pci_request_regions(pci, card->shortname)) < 0) { + kfree(chip); + return err; + } + if (device_type == DEVICE_ALI) { /* ALI5455 has no ac97 region */ chip->bmaddr = pci_resource_start(pci, 0); - if ((chip->res_bm = request_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 64 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } goto port_inited; } if (pci_resource_flags(pci, 2) & IORESOURCE_MEM) { /* ICH4 and Nforce */ chip->mmio = 1; chip->addr = pci_resource_start(pci, 2); - if ((chip->res = request_mem_region(chip->addr, 512, chip->ac97_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->addr, chip->addr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, 512); - if (chip->remap_addr == 0) { + chip->remap_addr = ioremap_nocache(chip->addr, pci_resource_len(pci, 2)); + if (!chip->remap_addr) { snd_printk("AC'97 space ioremap problem\n"); snd_intel8x0_free(chip); return -EIO; } } else { chip->addr = pci_resource_start(pci, 0); - if ((chip->res = request_region(chip->addr, 256, chip->ac97_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->addr, chip->addr + 256 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } if (pci_resource_flags(pci, 3) & IORESOURCE_MEM) { /* ICH4 */ chip->bm_mmio = 1; chip->bmaddr = pci_resource_start(pci, 3); - if ((chip->res_bm = request_mem_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, 256); - if (chip->remap_bmaddr == 0) { + chip->remap_bmaddr = ioremap_nocache(chip->bmaddr, pci_resource_len(pci, 3)); + if (!chip->remap_bmaddr) { snd_printk("Controller space ioremap problem\n"); snd_intel8x0_free(chip); return -EIO; } } else { chip->bmaddr = pci_resource_start(pci, 1); - if ((chip->res_bm = request_region(chip->bmaddr, 64, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 64 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } port_inited: @@ -2552,13 +2587,11 @@ static int __devinit snd_intel8x0_create(snd_card_t * card, ichdev->pos_shift = (device_type == DEVICE_SIS) ? 0 : 1; } - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - /* allocate buffer descriptor lists */ /* the start of each lists must be aligned to 8 bytes */ - if (snd_dma_alloc_pages(&chip->dma_dev, chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, &chip->bdbars) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, + &chip->bdbars) < 0) { snd_intel8x0_free(chip); snd_printk(KERN_ERR "intel8x0: cannot allocate buffer descriptors\n"); return -ENOMEM; @@ -2614,6 +2647,9 @@ static struct shortname_table { { PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO, "NVidia nForce2" }, { PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO, "NVidia nForce3" }, { PCI_DEVICE_ID_NVIDIA_CK8S_AUDIO, "NVidia CK8S" }, + { PCI_DEVICE_ID_NVIDIA_CK804_AUDIO, "NVidia CK804" }, + { PCI_DEVICE_ID_NVIDIA_CK8_AUDIO, "NVidia CK8" }, + { 0x003a, "NVidia MCP04" }, { 0x746d, "AMD AMD8111" }, { 0x7445, "AMD AMD768" }, { 0x5455, "ALi M5455" }, @@ -2661,6 +2697,8 @@ static int __devinit snd_intel8x0_probe(struct pci_dev *pci, snd_card_free(card); return err; } + if (buggy_irq[dev]) + chip->buggy_irq = 1; if ((err = snd_intel8x0_mixer(chip, ac97_clock[dev], ac97_quirk[dev])) < 0) { snd_card_free(card); @@ -2681,6 +2719,8 @@ static int __devinit snd_intel8x0_probe(struct pci_dev *pci, } else mpu_port[dev] = 0; + snd_intel8x0_proc_init(chip); + sprintf(card->longname, "%s at 0x%lx, irq %i", card->shortname, chip->addr, chip->irq); diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index b09b6f7f8..a9b317547 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c @@ -40,10 +40,9 @@ #include MODULE_AUTHOR("Jaroslav Kysela "); -MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440 modem"); +MODULE_DESCRIPTION("Intel 82801AA,82901AB,i810,i820,i830,i840,i845,MX440; SiS 7013; NVidia MCP/2/2S/3 modems"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Intel,82801AA-ICH}," +MODULE_SUPPORTED_DEVICE("{{Intel,82801AA-ICH}," "{Intel,82901AB-ICH0}," "{Intel,82801BA-ICH2}," "{Intel,82801CA-ICH3}," @@ -60,16 +59,12 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Intel i8x0 modemcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Intel i8x0 modemcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Intel i8x0 modemcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (0 = auto-detect)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:0"); /* * Direct registers @@ -99,18 +94,20 @@ MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:0"); #ifndef PCI_DEVICE_ID_SI_7013 #define PCI_DEVICE_ID_SI_7013 0x7013 #endif -#if 0 -#ifndef PCI_DEVICE_ID_NVIDIA_MCP_AUDIO -#define PCI_DEVICE_ID_NVIDIA_MCP_AUDIO 0x01b1 +#ifndef PCI_DEVICE_ID_NVIDIA_MCP_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP_MODEM 0x01c1 #endif -#ifndef PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO -#define PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO 0x006a +#ifndef PCI_DEVICE_ID_NVIDIA_MCP2_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP2_MODEM 0x0069 #endif -#ifndef PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO -#define PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO 0x00da +#ifndef PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM 0x0089 #endif +#ifndef PCI_DEVICE_ID_NVIDIA_MCP3_MODEM +#define PCI_DEVICE_ID_NVIDIA_MCP3_MODEM 0x00d9 #endif + enum { DEVICE_INTEL, DEVICE_SIS, DEVICE_ALI, DEVICE_NFORCE }; #define ICHREG(x) ICH_REG_##x @@ -228,23 +225,18 @@ typedef struct { } ichdev_t; typedef struct _snd_intel8x0m intel8x0_t; -#define chip_t intel8x0_t struct _snd_intel8x0m { unsigned int device_type; - char ac97_name[64]; - char ctrl_name[64]; int irq; unsigned int mmio; unsigned long addr; unsigned long remap_addr; - struct resource *res; unsigned int bm_mmio; unsigned long bmaddr; unsigned long remap_bmaddr; - struct resource *res_bm; struct pci_dev *pci; snd_card_t *card; @@ -261,7 +253,6 @@ struct _snd_intel8x0m { spinlock_t reg_lock; spinlock_t ac97_lock; - struct snd_dma_device dma_dev; struct snd_dma_buffer bdbars; u32 bdbars_count; u32 int_sta_reg; /* interrupt status register */ @@ -278,12 +269,12 @@ static struct pci_device_id snd_intel8x0m_ids[] = { { 0x8086, 0x24d6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* ICH5 */ { 0x8086, 0x7196, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 440MX */ { 0x1022, 0x7446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD768 */ -#if 0 - /* TODO: support needed */ { 0x1039, 0x7013, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_SIS }, /* SI7013 */ - { 0x10de, 0x01b1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE */ - { 0x10de, 0x006a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2 */ - { 0x10de, 0x00da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ + { 0x10de, 0x01c1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE */ + { 0x10de, 0x0069, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2 */ + { 0x10de, 0x0089, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE2s */ + { 0x10de, 0x00d9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_NFORCE }, /* NFORCE3 */ +#if 0 { 0x1022, 0x746d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* AMD8111 */ { 0x10b9, 0x5455, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALI }, /* Ali5455 */ #endif @@ -328,6 +319,14 @@ static void iputbyte(intel8x0_t *chip, u32 offset, u8 val) outb(val, chip->bmaddr + offset); } +static void iputword(intel8x0_t *chip, u32 offset, u16 val) +{ + if (chip->bm_mmio) + writew(val, chip->remap_bmaddr + offset); + else + outw(val, chip->bmaddr + offset); +} + static void iputdword(intel8x0_t *chip, u32 offset, u32 val) { if (chip->bm_mmio) @@ -408,7 +407,7 @@ static void snd_intel8x0_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; spin_lock(&chip->ac97_lock); if (snd_intel8x0m_codec_semaphore(chip, ac97->num) < 0) { @@ -422,7 +421,7 @@ static void snd_intel8x0_codec_write(ac97_t *ac97, static unsigned short snd_intel8x0_codec_read(ac97_t *ac97, unsigned short reg) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return ~0); + intel8x0_t *chip = ac97->private_data; unsigned short res; unsigned int tmp; @@ -542,13 +541,17 @@ static inline void snd_intel8x0_update(intel8x0_t *chip, ichdev_t *ichdev) static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, dev_id, return IRQ_NONE); + intel8x0_t *chip = dev_id; ichdev_t *ichdev; unsigned int status; unsigned int i; spin_lock(&chip->reg_lock); status = igetdword(chip, chip->int_sta_reg); + if (status == 0xffffffff) { /* we are not yet resumed */ + spin_unlock(&chip->reg_lock); + return IRQ_NONE; + } if ((status & chip->int_sta_mask) == 0) { if (status) iputdword(chip, chip->int_sta_reg, status); @@ -684,9 +687,9 @@ static snd_pcm_hardware_t snd_intel8x0m_stream = .rate_max = 16000, .channels_min = 1, .channels_max = 1, - .buffer_bytes_max = 32 * 1024, + .buffer_bytes_max = 64 * 1024, .period_bytes_min = 32, - .period_bytes_max = 32 * 1024, + .period_bytes_max = 64 * 1024, .periods_min = 1, .periods_max = 1024, .fifo_size = 0, @@ -818,8 +821,8 @@ static struct ich_pcm_table intel_pcms[] __devinitdata = { .suffix = "Modem", .playback_ops = &snd_intel8x0m_playback_ops, .capture_ops = &snd_intel8x0m_capture_ops, - .prealloc_size = 4 * 1024, - .prealloc_max_size = 16 * 1024, + .prealloc_size = 32 * 1024, + .prealloc_max_size = 64 * 1024, }, }; @@ -872,32 +875,30 @@ static int __devinit snd_intel8x0_pcm(intel8x0_t *chip) static void snd_intel8x0_mixer_free_ac97_bus(ac97_bus_t *bus) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, bus->private_data, return); + intel8x0_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_intel8x0_mixer_free_ac97(ac97_t *ac97) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, ac97->private_data, return); + intel8x0_t *chip = ac97->private_data; chip->ac97 = NULL; } static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock) { - ac97_bus_t bus, *pbus; - ac97_t ac97, *x97; + ac97_bus_t *pbus; + ac97_template_t ac97; + ac97_t *x97; int err; unsigned int glob_sta = 0; + static ac97_bus_ops_t ops = { + .write = snd_intel8x0_codec_write, + .read = snd_intel8x0_codec_read, + }; chip->in_ac97_init = 1; - memset(&bus, 0, sizeof(bus)); - bus.private_data = chip; - bus.private_free = snd_intel8x0_mixer_free_ac97_bus; - if (ac97_clock >= 8000 && ac97_clock <= 48000) - bus.clock = ac97_clock; - else - bus.clock = 48000; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -905,13 +906,15 @@ static int __devinit snd_intel8x0_mixer(intel8x0_t *chip, int ac97_clock) ac97.scaps = AC97_SCAP_SKIP_AUDIO; glob_sta = igetdword(chip, ICHREG(GLOB_STA)); - bus.write = snd_intel8x0_codec_write; - bus.read = snd_intel8x0_codec_read; - bus.vra = 1; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &pbus)) < 0) goto __err; + pbus->private_free = snd_intel8x0_mixer_free_ac97_bus; + pbus->shared_type = AC97_SHARED_TYPE_ICH; /* shared with audio driver */ + if (ac97_clock >= 8000 && ac97_clock <= 48000) + pbus->clock = ac97_clock; chip->ac97_bus = pbus; + ac97.pci = chip->pci; ac97.num = glob_sta & ICH_SCR ? 1 : 0; if ((err = snd_ac97_mixer(pbus, &ac97, &x97)) < 0) { @@ -1016,6 +1019,11 @@ static int snd_intel8x0m_ich_chip_init(intel8x0_t *chip, int probing) } while (time_after_eq(end_time, jiffies)); } + if (chip->device_type == DEVICE_SIS) { + /* unmute the output on SIS7012 */ + iputword(chip, 0x4c, igetword(chip, 0x4c) | 1); + } + return 0; } @@ -1056,22 +1064,15 @@ static int snd_intel8x0_free(intel8x0_t *chip) synchronize_irq(chip->irq); __hw_end: if (chip->bdbars.area) - snd_dma_free_pages(&chip->dma_dev, &chip->bdbars); + snd_dma_free_pages(&chip->bdbars); if (chip->remap_addr) iounmap((void *) chip->remap_addr); if (chip->remap_bmaddr) iounmap((void *) chip->remap_bmaddr); - if (chip->res) { - release_resource(chip->res); - kfree_nocheck(chip->res); - } - if (chip->res_bm) { - release_resource(chip->res_bm); - kfree_nocheck(chip->res_bm); - } if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); - snd_magic_kfree(chip); + pci_release_regions(chip->pci); + kfree(chip); return 0; } @@ -1081,7 +1082,7 @@ static int snd_intel8x0_free(intel8x0_t *chip) */ static int intel8x0m_suspend(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; int i; for (i = 0; i < chip->pcm_devs; i++) @@ -1094,7 +1095,7 @@ static int intel8x0m_suspend(snd_card_t *card, unsigned int state) static int intel8x0m_resume(snd_card_t *card, unsigned int state) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, card->pm_private_data, return -EINVAL); + intel8x0_t *chip = card->pm_private_data; pci_enable_device(chip->pci); pci_set_master(chip->pci); snd_intel8x0_chip_init(chip, 0); @@ -1109,7 +1110,7 @@ static int intel8x0m_resume(snd_card_t *card, unsigned int state) static void snd_intel8x0m_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, entry->private_data, return); + intel8x0_t *chip = entry->private_data; unsigned int tmp; snd_iprintf(buffer, "Intel8x0m\n\n"); @@ -1135,7 +1136,7 @@ static void __devinit snd_intel8x0m_proc_init(intel8x0_t * chip) static int snd_intel8x0_dev_free(snd_device_t *device) { - intel8x0_t *chip = snd_magic_cast(intel8x0_t, device->device_data, return -ENXIO); + intel8x0_t *chip = device->device_data; return snd_intel8x0_free(chip); } @@ -1168,7 +1169,7 @@ static int __devinit snd_intel8x0m_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(intel8x0_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; spin_lock_init(&chip->reg_lock); @@ -1177,29 +1178,23 @@ static int __devinit snd_intel8x0m_create(snd_card_t * card, chip->card = card; chip->pci = pci; chip->irq = -1; - snd_intel8x0m_proc_init(chip); - sprintf(chip->ac97_name, "%s - AC'97", card->shortname); - sprintf(chip->ctrl_name, "%s - Controller", card->shortname); + + if ((err = pci_request_regions(pci, card->shortname)) < 0) { + kfree(chip); + return err; + } + if (device_type == DEVICE_ALI) { /* ALI5455 has no ac97 region */ chip->bmaddr = pci_resource_start(pci, 0); - if ((chip->res_bm = request_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 256 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } goto port_inited; } if (pci_resource_flags(pci, 2) & IORESOURCE_MEM) { /* ICH4 and Nforce */ chip->mmio = 1; chip->addr = pci_resource_start(pci, 2); - if ((chip->res = request_mem_region(chip->addr, 512, chip->ac97_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->addr, chip->addr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, 512); + chip->remap_addr = (unsigned long) ioremap_nocache(chip->addr, + pci_resource_len(pci, 2)); if (chip->remap_addr == 0) { snd_printk("AC'97 space ioremap problem\n"); snd_intel8x0_free(chip); @@ -1207,21 +1202,12 @@ static int __devinit snd_intel8x0m_create(snd_card_t * card, } } else { chip->addr = pci_resource_start(pci, 0); - if ((chip->res = request_region(chip->addr, 256, chip->ac97_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->addr, chip->addr + 256 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } if (pci_resource_flags(pci, 3) & IORESOURCE_MEM) { /* ICH4 */ chip->bm_mmio = 1; chip->bmaddr = pci_resource_start(pci, 3); - if ((chip->res_bm = request_mem_region(chip->bmaddr, 256, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab I/O memory 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 512 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } - chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, 256); + chip->remap_bmaddr = (unsigned long) ioremap_nocache(chip->bmaddr, + pci_resource_len(pci, 3)); if (chip->remap_bmaddr == 0) { snd_printk("Controller space ioremap problem\n"); snd_intel8x0_free(chip); @@ -1229,11 +1215,6 @@ static int __devinit snd_intel8x0m_create(snd_card_t * card, } } else { chip->bmaddr = pci_resource_start(pci, 1); - if ((chip->res_bm = request_region(chip->bmaddr, 128, chip->ctrl_name)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->bmaddr, chip->bmaddr + 128 - 1); - snd_intel8x0_free(chip); - return -EBUSY; - } } port_inited: @@ -1271,10 +1252,9 @@ static int __devinit snd_intel8x0m_create(snd_card_t * card, /* allocate buffer descriptor lists */ /* the start of each lists must be aligned to 8 bytes */ - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - if (snd_dma_alloc_pages(&chip->dma_dev, chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, &chip->bdbars) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + chip->bdbars_count * sizeof(u32) * ICH_MAX_FRAGS * 2, + &chip->bdbars) < 0) { snd_intel8x0_free(chip); return -ENOMEM; } @@ -1320,11 +1300,12 @@ static struct shortname_table { { PCI_DEVICE_ID_INTEL_ICH4_6, "Intel 82801DB-ICH4" }, { PCI_DEVICE_ID_INTEL_ICH5_6, "Intel ICH5" }, { 0x7446, "AMD AMD768" }, -#if 0 { PCI_DEVICE_ID_SI_7013, "SiS SI7013" }, - { PCI_DEVICE_ID_NVIDIA_MCP_AUDIO, "NVidia nForce" }, - { PCI_DEVICE_ID_NVIDIA_MCP2_AUDIO, "NVidia nForce2" }, - { PCI_DEVICE_ID_NVIDIA_MCP3_AUDIO, "NVidia nForce3" }, + { PCI_DEVICE_ID_NVIDIA_MCP_MODEM, "NVidia nForce" }, + { PCI_DEVICE_ID_NVIDIA_MCP2_MODEM, "NVidia nForce2" }, + { PCI_DEVICE_ID_NVIDIA_MCP2S_MODEM, "NVidia nForce2s" }, + { PCI_DEVICE_ID_NVIDIA_MCP3_MODEM, "NVidia nForce3" }, +#if 0 { 0x5455, "ALi M5455" }, { 0x746d, "AMD AMD8111" }, #endif @@ -1353,10 +1334,10 @@ static int __devinit snd_intel8x0m_probe(struct pci_dev *pci, switch (pci_id->driver_data) { case DEVICE_NFORCE: - strcpy(card->driver, "NFORCE"); + strcpy(card->driver, "NFORCE-MODEM"); break; default: - strcpy(card->driver, "ICH"); + strcpy(card->driver, "ICH-MODEM"); break; } @@ -1383,6 +1364,8 @@ static int __devinit snd_intel8x0m_probe(struct pci_dev *pci, return err; } + snd_intel8x0m_proc_init(chip); + sprintf(card->longname, "%s at 0x%lx, irq %i", card->shortname, chip->addr, chip->irq); diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index edd226021..c04462fd1 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c @@ -343,12 +343,6 @@ struct _snd_korg1212 { unsigned long inIRQ; unsigned long iobase; - struct resource *res_iomem; - struct resource *res_ioport; - struct resource *res_iomem2; - - struct snd_dma_device dma_dev; - struct snd_dma_buffer dma_dsp; struct snd_dma_buffer dma_play; struct snd_dma_buffer dma_rec; @@ -411,8 +405,7 @@ struct _snd_korg1212 { MODULE_DESCRIPTION("korg1212"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{KORG,korg1212}}"); +MODULE_SUPPORTED_DEVICE("{{KORG,korg1212}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -421,13 +414,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Korg 1212 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Korg 1212 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Korg 1212 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); MODULE_AUTHOR("Haroldo Gamal "); static struct pci_device_id snd_korg1212_ids[] = { @@ -637,7 +627,7 @@ static void snd_korg1212_SendStopAndWait(korg1212_t *korg1212) /* timer callback for checking the ack of stop request */ static void snd_korg1212_timer_func(unsigned long data) { - korg1212_t *korg1212 = snd_magic_cast(korg1212_t, (void*)data, return); + korg1212_t *korg1212 = (korg1212_t *) data; spin_lock(&korg1212->lock); if (readl(&korg1212->sharedBufferPtr->cardCommand) == 0) { @@ -1143,7 +1133,7 @@ static void snd_korg1212_OnDSPDownloadComplete(korg1212_t *korg1212) static irqreturn_t snd_korg1212_interrupt(int irq, void *dev_id, struct pt_regs *regs) { u32 doorbellValue; - korg1212_t *korg1212 = snd_magic_cast(korg1212_t, dev_id, return IRQ_NONE); + korg1212_t *korg1212 = dev_id; if(irq != korg1212->irq) return IRQ_NONE; @@ -1407,7 +1397,7 @@ static void snd_korg1212_free_pcm(snd_pcm_t *pcm) static int snd_korg1212_playback_open(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; #if K1212_DEBUG_LEVEL > 0 @@ -1419,8 +1409,7 @@ static int snd_korg1212_playback_open(snd_pcm_substream_t *substream) snd_korg1212_OpenCard(korg1212); runtime->hw = snd_korg1212_playback_info; - runtime->dma_area = (char *) korg1212->playDataBufsPtr; - runtime->dma_bytes = K1212_BUF_SIZE; + snd_pcm_set_runtime_buffer(substream, &korg1212->dma_play); spin_lock_irqsave(&korg1212->lock, flags); @@ -1438,7 +1427,7 @@ static int snd_korg1212_playback_open(snd_pcm_substream_t *substream) static int snd_korg1212_capture_open(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; #if K1212_DEBUG_LEVEL > 0 @@ -1450,8 +1439,7 @@ static int snd_korg1212_capture_open(snd_pcm_substream_t *substream) snd_korg1212_OpenCard(korg1212); runtime->hw = snd_korg1212_capture_info; - runtime->dma_area = (char *) korg1212->recordDataBufsPtr; - runtime->dma_bytes = K1212_BUF_SIZE; + snd_pcm_set_runtime_buffer(substream, &korg1212->dma_rec); spin_lock_irqsave(&korg1212->lock, flags); @@ -1468,7 +1456,7 @@ static int snd_korg1212_capture_open(snd_pcm_substream_t *substream) static int snd_korg1212_playback_close(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_playback_close [%s]\n", stateName[korg1212->cardState]); @@ -1490,7 +1478,7 @@ static int snd_korg1212_playback_close(snd_pcm_substream_t *substream) static int snd_korg1212_capture_close(snd_pcm_substream_t *substream) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_capture_close [%s]\n", stateName[korg1212->cardState]); @@ -1532,7 +1520,7 @@ static int snd_korg1212_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { unsigned long flags; - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); int err; #if K1212_DEBUG_LEVEL > 0 @@ -1560,21 +1548,21 @@ static int snd_korg1212_hw_params(snd_pcm_substream_t *substream, static int snd_korg1212_prepare(snd_pcm_substream_t *substream) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); int rc; #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_prepare [%s]\n", stateName[korg1212->cardState]); #endif - spin_lock(&korg1212->lock); + spin_lock_irq(&korg1212->lock); /* FIXME: we should wait for ack! */ if (korg1212->stop_pending_cnt > 0) { #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_prepare - Stop is pending... [%s]\n", stateName[korg1212->cardState]); #endif - spin_unlock(&korg1212->lock); + spin_unlock_irq(&korg1212->lock); return -EAGAIN; /* writel(0, &korg1212->sharedBufferPtr->cardCommand); @@ -1587,7 +1575,7 @@ static int snd_korg1212_prepare(snd_pcm_substream_t *substream) korg1212->currentBuffer = 0; - spin_unlock(&korg1212->lock); + spin_unlock_irq(&korg1212->lock); return rc ? -EINVAL : 0; } @@ -1595,7 +1583,7 @@ static int snd_korg1212_prepare(snd_pcm_substream_t *substream) static int snd_korg1212_trigger(snd_pcm_substream_t *substream, int cmd) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); int rc; #if K1212_DEBUG_LEVEL > 0 @@ -1640,7 +1628,7 @@ static int snd_korg1212_trigger(snd_pcm_substream_t *substream, static snd_pcm_uframes_t snd_korg1212_playback_pointer(snd_pcm_substream_t *substream) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_uframes_t pos; pos = korg1212->currentBuffer * kPlayBufferFrames; @@ -1655,7 +1643,7 @@ static snd_pcm_uframes_t snd_korg1212_playback_pointer(snd_pcm_substream_t *subs static snd_pcm_uframes_t snd_korg1212_capture_pointer(snd_pcm_substream_t *substream) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); snd_pcm_uframes_t pos; pos = korg1212->currentBuffer * kPlayBufferFrames; @@ -1674,7 +1662,7 @@ static int snd_korg1212_playback_copy(snd_pcm_substream_t *substream, void __user *src, snd_pcm_uframes_t count) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 2 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_playback_copy [%s] %ld %ld\n", stateName[korg1212->cardState], pos, count); @@ -1689,7 +1677,7 @@ static int snd_korg1212_playback_silence(snd_pcm_substream_t *substream, snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_playback_silence [%s]\n", stateName[korg1212->cardState]); @@ -1704,7 +1692,7 @@ static int snd_korg1212_capture_copy(snd_pcm_substream_t *substream, void __user *dst, snd_pcm_uframes_t count) { - korg1212_t *korg1212 = _snd_pcm_substream_chip(substream); + korg1212_t *korg1212 = snd_pcm_substream_chip(substream); #if K1212_DEBUG_LEVEL > 2 K1212_DEBUG_PRINTK("K1212_DEBUG: snd_korg1212_capture_copy [%s] %ld %ld\n", stateName[korg1212->cardState], pos, count); @@ -1749,30 +1737,28 @@ static int snd_korg1212_control_phase_info(snd_kcontrol_t *kcontrol, snd_ctl_ele static int snd_korg1212_control_phase_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int i = kcontrol->private_value; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); u->value.integer.value[0] = korg1212->volumePhase[i]; if (i >= 8) u->value.integer.value[1] = korg1212->volumePhase[i+1]; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_phase_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0; int i, val; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; @@ -1798,7 +1784,7 @@ static int snd_korg1212_control_phase_put(snd_kcontrol_t *kcontrol, snd_ctl_elem } } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -1814,11 +1800,10 @@ static int snd_korg1212_control_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_el static int snd_korg1212_control_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int i; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; u->value.integer.value[0] = abs(korg1212->sharedBufferPtr->volumeData[i]); @@ -1826,20 +1811,19 @@ static int snd_korg1212_control_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_ele if (i >= 8) u->value.integer.value[1] = abs(korg1212->sharedBufferPtr->volumeData[i+1]); - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0; int i; int val; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; @@ -1859,7 +1843,7 @@ static int snd_korg1212_control_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_ele } } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -1878,11 +1862,10 @@ static int snd_korg1212_control_route_info(snd_kcontrol_t *kcontrol, snd_ctl_ele static int snd_korg1212_control_route_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int i; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; u->value.enumerated.item[0] = korg1212->sharedBufferPtr->routeData[i]; @@ -1890,18 +1873,17 @@ static int snd_korg1212_control_route_get(snd_kcontrol_t *kcontrol, snd_ctl_elem if (i >= 8) u->value.enumerated.item[1] = korg1212->sharedBufferPtr->routeData[i+1]; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_route_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0, i; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); i = kcontrol->private_value; @@ -1917,7 +1899,7 @@ static int snd_korg1212_control_route_put(snd_kcontrol_t *kcontrol, snd_ctl_elem } } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -1933,26 +1915,24 @@ static int snd_korg1212_control_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info static int snd_korg1212_control_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); u->value.integer.value[0] = korg1212->leftADCInSens; u->value.integer.value[1] = korg1212->rightADCInSens; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); int change = 0; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); if (u->value.integer.value[0] != korg1212->leftADCInSens) { korg1212->leftADCInSens = u->value.integer.value[0]; @@ -1963,7 +1943,7 @@ static int snd_korg1212_control_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value change = 1; } - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); if (change) snd_korg1212_WriteADCSensitivity(korg1212); @@ -1985,29 +1965,27 @@ static int snd_korg1212_control_sync_info(snd_kcontrol_t *kcontrol, snd_ctl_elem static int snd_korg1212_control_sync_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); ucontrol->value.enumerated.item[0] = korg1212->clkSource; - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return 0; } static int snd_korg1212_control_sync_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - korg1212_t *korg1212 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + korg1212_t *korg1212 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&korg1212->lock, flags); + spin_lock_irq(&korg1212->lock); change = val != korg1212->clkSource; snd_korg1212_SetClockSource(korg1212, val); - spin_unlock_irqrestore(&korg1212->lock, flags); + spin_unlock_irq(&korg1212->lock); return change; } @@ -2063,8 +2041,6 @@ static snd_kcontrol_new_t snd_korg1212_controls[] = { } }; -#define K1212_CONTROL_ELEMENTS (sizeof(snd_korg1212_controls) / sizeof(snd_korg1212_controls[0])) - /* * proc interface */ @@ -2120,29 +2096,13 @@ snd_korg1212_free(korg1212_t *korg1212) korg1212->iobase = 0; } - if (korg1212->res_iomem != NULL) { - release_resource(korg1212->res_iomem); - kfree_nocheck(korg1212->res_iomem); - korg1212->res_iomem = NULL; - } - - if (korg1212->res_ioport != NULL) { - release_resource(korg1212->res_ioport); - kfree_nocheck(korg1212->res_ioport); - korg1212->res_ioport = NULL; - } - - if (korg1212->res_iomem2 != NULL) { - release_resource(korg1212->res_iomem2); - kfree_nocheck(korg1212->res_iomem2); - korg1212->res_iomem2 = NULL; - } + pci_release_regions(korg1212->pci); // ---------------------------------------------------- // free up memory resources used for the DSP download. // ---------------------------------------------------- if (korg1212->dma_dsp.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_dsp); + snd_dma_free_pages(&korg1212->dma_dsp); korg1212->dma_dsp.area = NULL; } @@ -2152,12 +2112,12 @@ snd_korg1212_free(korg1212_t *korg1212) // free up memory resources used for the Play/Rec Buffers // ------------------------------------------------------ if (korg1212->dma_play.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_play); + snd_dma_free_pages(&korg1212->dma_play); korg1212->dma_play.area = NULL; } if (korg1212->dma_rec.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_rec); + snd_dma_free_pages(&korg1212->dma_rec); korg1212->dma_rec.area = NULL; } @@ -2167,17 +2127,17 @@ snd_korg1212_free(korg1212_t *korg1212) // free up memory resources used for the Shared Buffers // ---------------------------------------------------- if (korg1212->dma_shared.area) { - snd_dma_free_pages(&korg1212->dma_dev, &korg1212->dma_shared); + snd_dma_free_pages(&korg1212->dma_shared); korg1212->dma_shared.area = NULL; } - snd_magic_kfree(korg1212); + kfree(korg1212); return 0; } static int snd_korg1212_dev_free(snd_device_t *device) { - korg1212_t *korg1212 = snd_magic_cast(korg1212_t, device->device_data, return -ENXIO); + korg1212_t *korg1212 = device->device_data; #if K1212_DEBUG_LEVEL > 0 K1212_DEBUG_PRINTK("K1212_DEBUG: Freeing device\n"); #endif @@ -2201,7 +2161,7 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, if ((err = pci_enable_device(pci)) < 0) return err; - korg1212 = snd_magic_kcalloc(korg1212_t, 0, GFP_KERNEL); + korg1212 = kcalloc(1, sizeof(*korg1212), GFP_KERNEL); if (korg1212 == NULL) return -ENOMEM; @@ -2232,6 +2192,11 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, for (i=0; ivolumePhase[i] = 0; + if ((err = pci_request_regions(pci, "korg1212")) < 0) { + kfree(korg1212); + return err; + } + korg1212->iomem = pci_resource_start(korg1212->pci, 0); korg1212->ioport = pci_resource_start(korg1212->pci, 1); korg1212->iomem2 = pci_resource_start(korg1212->pci, 2); @@ -2252,27 +2217,6 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, stateName[korg1212->cardState]); #endif - korg1212->res_iomem = request_mem_region(korg1212->iomem, iomem_size, "korg1212"); - if (korg1212->res_iomem == NULL) { - snd_printk(KERN_ERR "unable to grab region 0x%lx-0x%lx\n", - korg1212->iomem, korg1212->iomem + iomem_size - 1); - return -EBUSY; - } - - korg1212->res_ioport = request_region(korg1212->ioport, ioport_size, "korg1212"); - if (korg1212->res_ioport == NULL) { - snd_printk(KERN_ERR "unable to grab region 0x%lx-0x%lx\n", - korg1212->ioport, korg1212->ioport + ioport_size - 1); - return -EBUSY; - } - - korg1212->res_iomem2 = request_mem_region(korg1212->iomem2, iomem2_size, "korg1212"); - if (korg1212->res_iomem2 == NULL) { - snd_printk(KERN_ERR "unable to grab region 0x%lx-0x%lx\n", - korg1212->iomem2, korg1212->iomem2 + iomem2_size - 1); - return -EBUSY; - } - if ((korg1212->iobase = (unsigned long) ioremap(korg1212->iomem, iomem_size)) == 0) { snd_printk(KERN_ERR "unable to remap memory region 0x%lx-0x%lx\n", korg1212->iobase, korg1212->iobase + iomem_size - 1); @@ -2329,11 +2273,8 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, stateName[korg1212->cardState]); #endif - memset(&korg1212->dma_dev, 0, sizeof(korg1212->dma_dev)); - korg1212->dma_dev.type = SNDRV_DMA_TYPE_DEV; - korg1212->dma_dev.dev = snd_dma_pci_data(korg1212->pci); - - if (snd_dma_alloc_pages(&korg1212->dma_dev, sizeof(KorgSharedBuffer), &korg1212->dma_shared) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + sizeof(KorgSharedBuffer), &korg1212->dma_shared) < 0) { snd_printk(KERN_ERR "can not allocate shared buffer memory (%Zd bytes)\n", sizeof(KorgSharedBuffer)); return -ENOMEM; } @@ -2348,7 +2289,8 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, korg1212->DataBufsSize = sizeof(KorgAudioBuffer) * kNumBuffers; - if (snd_dma_alloc_pages(&korg1212->dma_dev, korg1212->DataBufsSize, &korg1212->dma_play) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + korg1212->DataBufsSize, &korg1212->dma_play) < 0) { snd_printk(KERN_ERR "can not allocate play data buffer memory (%d bytes)\n", korg1212->DataBufsSize); return -ENOMEM; } @@ -2360,7 +2302,8 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, korg1212->playDataBufsPtr, korg1212->PlayDataPhy, korg1212->DataBufsSize); #endif - if (snd_dma_alloc_pages(&korg1212->dma_dev, korg1212->DataBufsSize, &korg1212->dma_rec) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + korg1212->DataBufsSize, &korg1212->dma_rec) < 0) { snd_printk(KERN_ERR "can not allocate record data buffer memory (%d bytes)\n", korg1212->DataBufsSize); return -ENOMEM; } @@ -2390,7 +2333,8 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, korg1212->AdatTimeCodePhy = korg1212->sharedBufferPhy + offsetof(KorgSharedBuffer, AdatTimeCode); - if (snd_dma_alloc_pages(&korg1212->dma_dev, korg1212->dspCodeSize, &korg1212->dma_dsp) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + korg1212->dspCodeSize, &korg1212->dma_dsp) < 0) { snd_printk(KERN_ERR "can not allocate dsp code memory (%d bytes)\n", korg1212->dspCodeSize); return -ENOMEM; } @@ -2420,7 +2364,7 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, "VolumeTablePhy = %08x L[%08x]\n" "RoutingTablePhy = %08x L[%08x]\n" "AdatTimeCodePhy = %08x L[%08x]\n", - korg1212->dma_dsp.addr, UpperWordSwap(korg1212->dma_dsp.addr), + (int)korg1212->dma_dsp.addr, UpperWordSwap(korg1212->dma_dsp.addr), korg1212->PlayDataPhy, LowerWordSwap(korg1212->PlayDataPhy), korg1212->RecDataPhy, LowerWordSwap(korg1212->RecDataPhy), korg1212->VolumeTablePhy, LowerWordSwap(korg1212->VolumeTablePhy), @@ -2443,7 +2387,7 @@ static int __devinit snd_korg1212_create(snd_card_t * card, struct pci_dev *pci, //snd_pcm_lib_preallocate_pages_for_all(korg1212->pcm, // K1212_MAX_BUF_SIZE, K1212_MAX_BUF_SIZE, GFP_KERNEL); - for (i = 0; i < K1212_CONTROL_ELEMENTS; i++) { + for (i = 0; i < ARRAY_SIZE(snd_korg1212_controls); i++) { err = snd_ctl_add(korg1212->card, snd_ctl_new1(&snd_korg1212_controls[i], korg1212)); if (err < 0) return err; diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c index eabfcd30d..8cf0e185d 100644 --- a/sound/pci/maestro3.c +++ b/sound/pci/maestro3.c @@ -51,8 +51,7 @@ MODULE_AUTHOR("Zach Brown , Takashi Iwai "); MODULE_DESCRIPTION("ESS Maestro3 PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{ESS,Maestro3 PCI}," +MODULE_SUPPORTED_DEVICE("{{ESS,Maestro3 PCI}," "{ESS,ES1988}," "{ESS,Allegro PCI}," "{ESS,Allegro-1 PCI}," @@ -67,19 +66,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(external_amp, bool, boot_devs, 0444); MODULE_PARM_DESC(external_amp, "Enable external amp for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(external_amp, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); module_param_array(amp_gpio, int, boot_devs, 0444); MODULE_PARM_DESC(amp_gpio, "GPIO pin number for external amp. (default = -1)"); -MODULE_PARM_SYNTAX(amp_gpio, SNDRV_ENABLED); #define MAX_PLAYBACKS 2 #define MAX_CAPTURES 1 @@ -776,8 +770,6 @@ MODULE_PARM_SYNTAX(amp_gpio, SNDRV_ENABLED); typedef struct snd_m3_dma m3_dma_t; typedef struct snd_m3 m3_t; -#define chip_t m3_t - /* quirk lists */ struct m3_quirk { @@ -827,7 +819,6 @@ struct snd_m3 { snd_card_t *card; unsigned long iobase; - struct resource *iobase_res; int irq; int allegro_flag : 1; @@ -1165,12 +1156,11 @@ snd_m3_pcm_trigger(snd_pcm_substream_t *subs, int cmd) { m3_t *chip = snd_pcm_substream_chip(subs); m3_dma_t *s = (m3_dma_t*)subs->runtime->private_data; - unsigned long flags; int err = -EINVAL; snd_assert(s != NULL, return -ENXIO); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -1191,7 +1181,7 @@ snd_m3_pcm_trigger(snd_pcm_substream_t *subs, int cmd) } break; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return err; } @@ -1477,7 +1467,6 @@ snd_m3_pcm_prepare(snd_pcm_substream_t *subs) m3_t *chip = snd_pcm_substream_chip(subs); snd_pcm_runtime_t *runtime = subs->runtime; m3_dma_t *s = (m3_dma_t*)runtime->private_data; - unsigned long flags; snd_assert(s != NULL, return -ENXIO); @@ -1488,7 +1477,7 @@ snd_m3_pcm_prepare(snd_pcm_substream_t *subs) runtime->rate < 8000) return -EINVAL; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_m3_pcm_setup1(chip, s, subs); @@ -1499,7 +1488,7 @@ snd_m3_pcm_prepare(snd_pcm_substream_t *subs) snd_m3_pcm_setup2(chip, s, runtime); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1573,7 +1562,7 @@ static void snd_m3_update_ptr(m3_t *chip, m3_dma_t *s) static irqreturn_t snd_m3_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - m3_t *chip = snd_magic_cast(m3_t, dev_id, ); + m3_t *chip = dev_id; u8 status; int i; @@ -1670,20 +1659,19 @@ snd_m3_substream_open(m3_t *chip, snd_pcm_substream_t *subs) { int i; m3_dma_t *s; - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < chip->num_substreams; i++) { s = &chip->substreams[i]; if (! s->opened) goto __found; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return -ENOMEM; __found: s->opened = 1; s->running = 0; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); subs->runtime->private_data = s; s->substream = subs; @@ -1703,12 +1691,11 @@ static void snd_m3_substream_close(m3_t *chip, snd_pcm_substream_t *subs) { m3_dma_t *s = (m3_dma_t*) subs->runtime->private_data; - unsigned long flags; if (s == NULL) return; /* not opened properly */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (s->substream && s->running) snd_m3_pcm_stop(chip, s, s->substream); /* does this happen? */ if (s->in_lists) { @@ -1719,7 +1706,7 @@ snd_m3_substream_close(m3_t *chip, snd_pcm_substream_t *subs) } s->running = 0; s->opened = 0; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); } static int @@ -1848,7 +1835,7 @@ static int snd_m3_ac97_wait(m3_t *chip) static unsigned short snd_m3_ac97_read(ac97_t *ac97, unsigned short reg) { - m3_t *chip = snd_magic_cast(m3_t, ac97->private_data, return -ENXIO); + m3_t *chip = ac97->private_data; unsigned short ret = 0; unsigned long flags; @@ -1867,7 +1854,7 @@ __error: static void snd_m3_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - m3_t *chip = snd_magic_cast(m3_t, ac97->private_data, return); + m3_t *chip = ac97->private_data; unsigned long flags; spin_lock_irqsave(&chip->reg_lock, flags); @@ -1983,14 +1970,15 @@ static void snd_m3_ac97_reset(m3_t *chip) static int __devinit snd_m3_mixer(m3_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_m3_ac97_write, + .read = snd_m3_ac97_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_m3_ac97_write; - bus.read = snd_m3_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -2167,7 +2155,7 @@ static void __devinit snd_m3_assp_init(m3_t *chip) KDATA_DMA_XFER0); /* write kernel into code memory.. */ - for (i = 0 ; i < sizeof(assp_kernel_image) / 2; i++) { + for (i = 0 ; i < ARRAY_SIZE(assp_kernel_image); i++) { snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, REV_B_CODE_MEMORY_BEGIN + i, assp_kernel_image[i]); @@ -2179,7 +2167,7 @@ static void __devinit snd_m3_assp_init(m3_t *chip) * drop it there. It seems that the minisrc doesn't * need vectors, so we won't bother with them.. */ - for (i = 0; i < sizeof(assp_minisrc_image) / 2; i++) { + for (i = 0; i < ARRAY_SIZE(assp_minisrc_image); i++) { snd_m3_assp_write(chip, MEMTYPE_INTERNAL_CODE, 0x400 + i, assp_minisrc_image[i]); @@ -2368,22 +2356,21 @@ snd_m3_enable_ints(m3_t *chip) static int snd_m3_free(m3_t *chip) { - unsigned long flags; m3_dma_t *s; int i; if (chip->substreams) { - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); for (i = 0; i < chip->num_substreams; i++) { s = &chip->substreams[i]; /* check surviving pcms; this should not happen though.. */ if (s->substream && s->running) snd_m3_pcm_stop(chip, s, s->substream); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); kfree(chip->substreams); } - if (chip->iobase_res) { + if (chip->iobase) { snd_m3_outw(chip, HOST_INT_CTRL, 0); /* disable ints */ } @@ -2392,17 +2379,15 @@ static int snd_m3_free(m3_t *chip) vfree(chip->suspend_mem); #endif - if (chip->irq >= 0) + if (chip->irq >= 0) { synchronize_irq(chip->irq); - - if (chip->iobase_res) { - release_resource(chip->iobase_res); - kfree_nocheck(chip->iobase_res); - } - if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); + } + + if (chip->iobase) + pci_release_regions(chip->pci); - snd_magic_kfree(chip); + kfree(chip); return 0; } @@ -2413,7 +2398,7 @@ static int snd_m3_free(m3_t *chip) #ifdef CONFIG_PM static int m3_suspend(snd_card_t *card, unsigned int state) { - m3_t *chip = snd_magic_cast(m3_t, card->pm_private_data, return -EINVAL); + m3_t *chip = card->pm_private_data; int i, index; if (chip->suspend_mem == NULL) @@ -2444,12 +2429,14 @@ static int m3_suspend(snd_card_t *card, unsigned int state) static int m3_resume(snd_card_t *card, unsigned int state) { - m3_t *chip = snd_magic_cast(m3_t, card->pm_private_data, return -EINVAL); + m3_t *chip = card->pm_private_data; int i, index; if (chip->suspend_mem == NULL) return 0; + pci_set_master(chip->pci); + /* first lets just bring everything back. .*/ snd_m3_outw(chip, 0, 0x54); snd_m3_outw(chip, 0, 0x56); @@ -2489,7 +2476,7 @@ static int m3_resume(snd_card_t *card, unsigned int state) static int snd_m3_dev_free(snd_device_t *device) { - m3_t *chip = snd_magic_cast(m3_t, device->device_data, return -ENXIO); + m3_t *chip = device->device_data; return snd_m3_free(chip); } @@ -2519,7 +2506,7 @@ snd_m3_create(snd_card_t *card, struct pci_dev *pci, return -ENXIO; } - chip = snd_magic_kcalloc(m3_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -2562,18 +2549,16 @@ snd_m3_create(snd_card_t *card, struct pci_dev *pci, chip->num_substreams = NR_DSPS; chip->substreams = kmalloc(sizeof(m3_dma_t) * chip->num_substreams, GFP_KERNEL); if (chip->substreams == NULL) { - snd_magic_kfree(chip); + kfree(chip); return -ENOMEM; } memset(chip->substreams, 0, sizeof(m3_dma_t) * chip->num_substreams); - chip->iobase = pci_resource_start(pci, 0); - if ((chip->iobase_res = request_region(chip->iobase, 256, - card->driver)) == NULL) { - snd_printk("unable to grab i/o ports %ld\n", chip->iobase); + if ((err = pci_request_regions(pci, card->driver)) < 0) { snd_m3_free(chip); - return -EBUSY; + return err; } + chip->iobase = pci_resource_start(pci, 0); /* just to be sure */ pci_set_master(pci); diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c index 7e312df0c..9dff42a19 100644 --- a/sound/pci/mixart/mixart.c +++ b/sound/pci/mixart/mixart.c @@ -42,25 +42,19 @@ MODULE_AUTHOR("Digigram "); MODULE_DESCRIPTION("Digigram " CARD_NAME); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Digigram," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ static int boot_devs; -#define chip_t mixart_t - module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); /* */ @@ -247,21 +241,27 @@ mixart_pipe_t* snd_mixart_add_ref_pipe( mixart_t *chip, int pcm_number, int capt /* pipe is not yet defined */ if( pipe->status == PIPE_UNDEFINED ) { int err, i; - mixart_streaming_group_t streaming_group_resp; - mixart_streaming_group_req_t streaming_group_req; + struct { + mixart_streaming_group_req_t sgroup_req; + mixart_streaming_group_t sgroup_resp; + } *buf; snd_printdd("add_ref_pipe audio chip(%d) pcm(%d)\n", chip->chip_idx, pcm_number); + buf = kmalloc(sizeof(*buf), GFP_KERNEL); + if (!buf) + return NULL; + request.uid = (mixart_uid_t){0,0}; /* should be StreamManagerUID, but zero is OK if there is only one ! */ - request.data = &streaming_group_req; - request.size = sizeof(streaming_group_req); + request.data = &buf->sgroup_req; + request.size = sizeof(buf->sgroup_req); - memset(&streaming_group_req, 0, sizeof(streaming_group_req)); + memset(&buf->sgroup_req, 0, sizeof(buf->sgroup_req)); - streaming_group_req.stream_count = stream_count; - streaming_group_req.channel_count = 2; - streaming_group_req.latency = 256; - streaming_group_req.connector = pipe->uid_left_connector; /* the left connector */ + buf->sgroup_req.stream_count = stream_count; + buf->sgroup_req.channel_count = 2; + buf->sgroup_req.latency = 256; + buf->sgroup_req.connector = pipe->uid_left_connector; /* the left connector */ for (i=0; isgroup_req.stream_info[i].size_max_byte_frame = 1024; + buf->sgroup_req.stream_info[i].size_max_sample_frame = 256; + buf->sgroup_req.stream_info[i].nb_bytes_max_per_sample = MIXART_FLOAT_P__4_0_TO_HEX; /* is 4.0f */ /* find the right bufferinfo_array */ j = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (pcm_number * (MIXART_PLAYBACK_STREAMS + MIXART_CAPTURE_STREAMS)) + i; if(capture) j += MIXART_PLAYBACK_STREAMS; /* in the array capture is behind playback */ - streaming_group_req.flow_entry[i] = j; + buf->sgroup_req.flow_entry[i] = j; flowinfo = (struct mixart_flowinfo *)chip->mgr->flowinfo.area; flowinfo[j].bufferinfo_array_phy_address = (u32)chip->mgr->bufferinfo.addr + (j * sizeof(mixart_bufferinfo_t)); @@ -294,17 +294,19 @@ mixart_pipe_t* snd_mixart_add_ref_pipe( mixart_t *chip, int pcm_number, int capt } } - err = snd_mixart_send_msg(chip->mgr, &request, sizeof(streaming_group_resp), &streaming_group_resp); - if((err < 0) || (streaming_group_resp.status != 0)) { - snd_printk(KERN_ERR "error MSG_STREAM_ADD_**PUT_GROUP err=%x stat=%x !\n", err, streaming_group_resp.status); + err = snd_mixart_send_msg(chip->mgr, &request, sizeof(buf->sgroup_resp), &buf->sgroup_resp); + if((err < 0) || (buf->sgroup_resp.status != 0)) { + snd_printk(KERN_ERR "error MSG_STREAM_ADD_**PUT_GROUP err=%x stat=%x !\n", err, buf->sgroup_resp.status); + kfree(buf); return NULL; } - pipe->group_uid = streaming_group_resp.group; /* id of the pipe, as returned by embedded */ - pipe->stream_count = streaming_group_resp.stream_count; - /* pipe->stream_uid[i] = streaming_group_resp.stream[i].stream_uid; */ + pipe->group_uid = buf->sgroup_resp.group; /* id of the pipe, as returned by embedded */ + pipe->stream_count = buf->sgroup_resp.stream_count; + /* pipe->stream_uid[i] = buf->sgroup_resp.stream[i].stream_uid; */ pipe->status = PIPE_STOPPED; + kfree(buf); } if(monitoring) pipe->monitoring = 1; @@ -458,8 +460,6 @@ static int mixart_sync_nonblock_events(mixart_mgr_t *mgr) /* * prepare callback for all pcms - * - * NOTE: this callback is non-atomic (pcm->info_flags |= SNDRV_PCM_INFO_NONATOMIC_OPS) */ static int snd_mixart_prepare(snd_pcm_substream_t *subs) { @@ -620,7 +620,10 @@ static int snd_mixart_hw_params(snd_pcm_substream_t *subs, bufferinfo[i].available_length = subs->runtime->dma_bytes; /* bufferinfo[i].buffer_id is already defined */ - snd_printdd("snd_mixart_hw_params(pcm %d) : dma_addr(%x) dma_bytes(%x) subs-number(%d)\n", i, subs->runtime->dma_addr, subs->runtime->dma_bytes, subs->number); + snd_printdd("snd_mixart_hw_params(pcm %d) : dma_addr(%x) dma_bytes(%x) subs-number(%d)\n", i, + bufferinfo[i].buffer_address, + bufferinfo[i].available_length, + subs->number); } up(&mgr->setup_mutex); @@ -901,6 +904,7 @@ static snd_pcm_ops_t snd_mixart_capture_ops = { static void preallocate_buffers(mixart_t *chip, snd_pcm_t *pcm) { +#if 0 snd_pcm_substream_t *subs; int stream; @@ -912,6 +916,7 @@ static void preallocate_buffers(mixart_t *chip, snd_pcm_t *pcm) subs->stream << 8 | (subs->number + 1) | (chip->chip_idx + 1) << 24; } +#endif snd_pcm_lib_preallocate_pages_for_all(pcm, SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->mgr->pci), 32*1024, 32*1024); } @@ -937,7 +942,7 @@ static int snd_mixart_pcm_analog(mixart_t *chip) snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_mixart_playback_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_mixart_capture_ops); - pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; + pcm->info_flags = 0; strcpy(pcm->name, name); preallocate_buffers(chip, pcm); @@ -968,7 +973,7 @@ static int snd_mixart_pcm_digital(mixart_t *chip) snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_mixart_playback_ops); snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_mixart_capture_ops); - pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; + pcm->info_flags = 0; strcpy(pcm->name, name); preallocate_buffers(chip, pcm); @@ -979,13 +984,13 @@ static int snd_mixart_pcm_digital(mixart_t *chip) static int snd_mixart_chip_free(mixart_t *chip) { - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_mixart_chip_dev_free(snd_device_t *device) { - mixart_t *chip = snd_magic_cast(mixart_t, device->device_data, return -ENXIO); + mixart_t *chip = device->device_data; return snd_mixart_chip_free(chip); } @@ -1000,7 +1005,7 @@ static int __devinit snd_mixart_create(mixart_mgr_t *mgr, snd_card_t *card, int .dev_free = snd_mixart_chip_dev_free, }; - mgr->chip[idx] = chip = snd_magic_kcalloc(mixart_t, 0, GFP_KERNEL); + mgr->chip[idx] = chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (! chip) { snd_printk(KERN_ERR "cannot allocate chip\n"); return -ENOMEM; @@ -1074,24 +1079,21 @@ static int snd_mixart_free(mixart_mgr_t *mgr) for (i = 0; i < 2; i++) { if (mgr->mem[i].virt) iounmap((void *)mgr->mem[i].virt); - if (mgr->mem[i].res) { - release_resource(mgr->mem[i].res); - kfree_nocheck(mgr->mem[i].res); - } } + pci_release_regions(mgr->pci); /* free flowarray */ if(mgr->flowinfo.area) { - snd_dma_free_pages(&mgr->dma_dev, &mgr->flowinfo); + snd_dma_free_pages(&mgr->flowinfo); mgr->flowinfo.area = NULL; } /* free bufferarray */ if(mgr->bufferinfo.area) { - snd_dma_free_pages(&mgr->dma_dev, &mgr->bufferinfo); + snd_dma_free_pages(&mgr->bufferinfo); mgr->bufferinfo.area = NULL; } - snd_magic_kfree(mgr); + kfree(mgr); return 0; } @@ -1157,7 +1159,7 @@ static long snd_mixart_BA0_read(snd_info_entry_t *entry, void *file_private_data struct file *file, char __user *buf, unsigned long count, unsigned long pos) { - mixart_mgr_t *mgr = snd_magic_cast(mixart_mgr_t, entry->private_data, return -ENXIO); + mixart_mgr_t *mgr = entry->private_data; count = count & ~3; /* make sure the read size is a multiple of 4 bytes */ if(count <= 0) @@ -1176,7 +1178,7 @@ static long snd_mixart_BA1_read(snd_info_entry_t *entry, void *file_private_data struct file *file, char __user *buf, unsigned long count, unsigned long pos) { - mixart_mgr_t *mgr = snd_magic_cast(mixart_mgr_t, entry->private_data, return -ENXIO); + mixart_mgr_t *mgr = entry->private_data; count = count & ~3; /* make sure the read size is a multiple of 4 bytes */ if(count <= 0) @@ -1202,7 +1204,7 @@ static struct snd_info_entry_ops snd_mixart_proc_ops_BA1 = { static void snd_mixart_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - mixart_t *chip = snd_magic_cast(mixart_t, entry->private_data, return); + mixart_t *chip = entry->private_data; u32 ref; snd_iprintf(buffer, "Digigram miXart (alsa card %d)\n\n", chip->chip_idx); @@ -1289,15 +1291,14 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci, pci_set_master(pci); /* check if we can restrict PCI DMA transfers to 32 bits */ - if (!pci_dma_supported(pci, 0xffffffff)) { + if (pci_set_dma_mask(pci, 0xffffffff) < 0) { snd_printk(KERN_ERR "architecture does not support 32bit PCI busmaster DMA\n"); return -ENXIO; } - pci_set_dma_mask(pci, 0xffffffff); /* */ - mgr = snd_magic_kcalloc(mixart_mgr_t, 0, GFP_KERNEL); + mgr = kcalloc(1, sizeof(*mgr), GFP_KERNEL); if (! mgr) return -ENOMEM; @@ -1305,19 +1306,14 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci, mgr->irq = -1; /* resource assignment */ + if ((err = pci_request_regions(pci, CARD_NAME)) < 0) { + kfree(mgr); + return err; + } for (i = 0; i < 2; i++) { - static int memory_sizes[2] = { - MIXART_BA0_SIZE, /* 16M */ - MIXART_BA1_SIZE /* 4 k */ - }; mgr->mem[i].phys = pci_resource_start(pci, i); - mgr->mem[i].res = request_mem_region(mgr->mem[i].phys, memory_sizes[i], CARD_NAME); - if (! mgr->mem[i].res) { - snd_printk(KERN_ERR "unable to grab memory 0x%lx\n", mgr->mem[i].phys); - snd_mixart_free(mgr); - return -EBUSY; - } - mgr->mem[i].virt = (unsigned long)ioremap_nocache(mgr->mem[i].phys, memory_sizes[i]); + mgr->mem[i].virt = (unsigned long)ioremap_nocache(mgr->mem[i].phys, + pci_resource_len(pci, i)); } if (request_irq(pci->irq, snd_mixart_interrupt, SA_INTERRUPT|SA_SHIRQ, CARD_NAME, (void *)mgr)) { @@ -1331,13 +1327,13 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci, sprintf(mgr->longname, "%s at 0x%lx & 0x%lx, irq %i", mgr->shortname, mgr->mem[0].phys, mgr->mem[1].phys, mgr->irq); /* ISR spinlock */ - mgr->lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&mgr->lock); /* init mailbox */ mgr->msg_fifo_readptr = 0; mgr->msg_fifo_writeptr = 0; - mgr->msg_lock = SPIN_LOCK_UNLOCKED; + spin_lock_init(&mgr->msg_lock); init_MUTEX(&mgr->msg_mutex); init_waitqueue_head(&mgr->msg_sleep); atomic_set(&mgr->msg_processed, 0); @@ -1391,13 +1387,10 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci, /* init firmware status (mgr->hwdep->dsp_loaded reset in hwdep_new) */ mgr->board_type = MIXART_DAUGHTER_TYPE_NONE; - memset(&mgr->dma_dev, 0, sizeof(mgr->dma_dev)); - mgr->dma_dev.type = SNDRV_DMA_TYPE_DEV; - mgr->dma_dev.dev = snd_dma_pci_data(mgr->pci); - /* create array of streaminfo */ size = PAGE_ALIGN( (MIXART_MAX_STREAM_PER_CARD * MIXART_MAX_CARDS * sizeof(mixart_flowinfo_t)) ); - if (snd_dma_alloc_pages(&mgr->dma_dev, size, &mgr->flowinfo) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, &mgr->flowinfo) < 0) { snd_mixart_free(mgr); return -ENOMEM; } @@ -1406,7 +1399,8 @@ static int __devinit snd_mixart_probe(struct pci_dev *pci, /* create array of bufferinfo */ size = PAGE_ALIGN( (MIXART_MAX_STREAM_PER_CARD * MIXART_MAX_CARDS * sizeof(mixart_bufferinfo_t)) ); - if (snd_dma_alloc_pages(&mgr->dma_dev, size, &mgr->bufferinfo) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, &mgr->bufferinfo) < 0) { snd_mixart_free(mgr); return -ENOMEM; } diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c index 0e42f2fcc..b91eb3a60 100644 --- a/sound/pci/nm256/nm256.c +++ b/sound/pci/nm256/nm256.c @@ -45,8 +45,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("NeoMagic NM256AV/ZX"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{NeoMagic,NM256AV}," +MODULE_SUPPORTED_DEVICE("{{NeoMagic,NM256AV}," "{NeoMagic,NM256ZX}}"); /* @@ -66,31 +65,22 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable this soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(playback_bufsize, int, boot_devs, 0444); MODULE_PARM_DESC(playback_bufsize, "DAC frame size in kB for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(playback_bufsize, SNDRV_ENABLED); module_param_array(capture_bufsize, int, boot_devs, 0444); MODULE_PARM_DESC(capture_bufsize, "ADC frame size in kB for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(capture_bufsize, SNDRV_ENABLED); module_param_array(force_ac97, bool, boot_devs, 0444); MODULE_PARM_DESC(force_ac97, "Force to use AC97 codec for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(force_ac97, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(buffer_top, int, boot_devs, 0444); MODULE_PARM_DESC(buffer_top, "Set the top address of audio buffer for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(buffer_top, SNDRV_ENABLED); module_param_array(use_cache, bool, boot_devs, 0444); MODULE_PARM_DESC(use_cache, "Enable the cache for coefficient table access."); -MODULE_PARM_SYNTAX(use_cache, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(vaio_hack, bool, boot_devs, 0444); MODULE_PARM_DESC(vaio_hack, "Enable workaround for Sony VAIO notebooks."); -MODULE_PARM_SYNTAX(vaio_hack, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); /* * hw definitions @@ -191,7 +181,6 @@ MODULE_PARM_SYNTAX(vaio_hack, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); typedef struct snd_nm256 nm256_t; typedef struct snd_nm256_stream nm256_stream_t; -#define chip_t nm256_t struct snd_nm256_stream { @@ -414,9 +403,8 @@ snd_nm256_load_coefficient(nm256_t *chip, int stream, int number) static unsigned int samplerates[8] = { 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000, }; -#define NUM_SAMPLERATES (sizeof(samplerates) / sizeof(samplerates[0])) static snd_pcm_hw_constraint_list_t constraints_rates = { - .count = NUM_SAMPLERATES, + .count = ARRAY_SIZE(samplerates), .list = samplerates, .mask = 0, }; @@ -428,7 +416,7 @@ static int snd_nm256_fixed_rate(unsigned int rate) { unsigned int i; - for (i = 0; i < NUM_SAMPLERATES; i++) { + for (i = 0; i < ARRAY_SIZE(samplerates); i++) { if (rate == samplerates[i]) return i; } @@ -542,12 +530,11 @@ snd_nm256_playback_trigger(snd_pcm_substream_t *substream, int cmd) { nm256_t *chip = snd_pcm_substream_chip(substream); nm256_stream_t *s = (nm256_stream_t*)substream->runtime->private_data; - unsigned long flags; int err = 0; snd_assert(s != NULL, return -ENXIO); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -567,7 +554,7 @@ snd_nm256_playback_trigger(snd_pcm_substream_t *substream, int cmd) err = -EINVAL; break; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return err; } @@ -576,12 +563,11 @@ snd_nm256_capture_trigger(snd_pcm_substream_t *substream, int cmd) { nm256_t *chip = snd_pcm_substream_chip(substream); nm256_stream_t *s = (nm256_stream_t*)substream->runtime->private_data; - unsigned long flags; int err = 0; snd_assert(s != NULL, return -ENXIO); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: @@ -601,7 +587,7 @@ snd_nm256_capture_trigger(snd_pcm_substream_t *substream, int cmd) err = -EINVAL; break; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); return err; } @@ -614,7 +600,6 @@ static int snd_nm256_pcm_prepare(snd_pcm_substream_t *substream) nm256_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; nm256_stream_t *s = (nm256_stream_t*)runtime->private_data; - unsigned long flags; snd_assert(s, return -ENXIO); s->dma_size = frames_to_bytes(runtime, substream->runtime->buffer_size); @@ -622,10 +607,10 @@ static int snd_nm256_pcm_prepare(snd_pcm_substream_t *substream) s->periods = substream->runtime->periods; s->cur_period = 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); s->running = 0; snd_nm256_set_format(chip, s, substream); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -660,9 +645,9 @@ snd_nm256_capture_pointer(snd_pcm_substream_t * substream) return bytes_to_frames(substream->runtime, curp); } +/* Remapped I/O space can be accessible as pointer on i386 */ +/* This might be changed in the future */ #ifndef __i386__ -/* FIXME: I/O space is not accessible via pointers on all architectures */ - /* * silence / copy for playback */ @@ -757,10 +742,7 @@ snd_nm256_capture_update(nm256_t *chip) */ static snd_pcm_hardware_t snd_nm256_playback = { - .info = -#ifdef __i386__ - SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID| -#endif + .info = SNDRV_PCM_INFO_MMAP_IOMEM |SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | /*SNDRV_PCM_INFO_PAUSE |*/ SNDRV_PCM_INFO_RESUME, @@ -779,10 +761,7 @@ static snd_pcm_hardware_t snd_nm256_playback = static snd_pcm_hardware_t snd_nm256_capture = { - .info = -#ifdef __i386__ - SNDRV_PCM_INFO_MMAP|SNDRV_PCM_INFO_MMAP_VALID| -#endif + .info = SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | /*SNDRV_PCM_INFO_PAUSE |*/ SNDRV_PCM_INFO_RESUME, @@ -883,6 +862,7 @@ static snd_pcm_ops_t snd_nm256_playback_ops = { .copy = snd_nm256_playback_copy, .silence = snd_nm256_playback_silence, #endif + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_nm256_capture_ops = { @@ -896,6 +876,7 @@ static snd_pcm_ops_t snd_nm256_capture_ops = { #ifndef __i386__ .copy = snd_nm256_capture_copy, #endif + .mmap = snd_pcm_lib_mmap_iomem, }; static int __devinit @@ -932,16 +913,14 @@ snd_nm256_pcm(nm256_t *chip, int device) static void snd_nm256_init_chip(nm256_t *chip) { - unsigned long flags; - - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); /* Reset everything. */ snd_nm256_writeb(chip, 0x0, 0x11); snd_nm256_writew(chip, 0x214, 0); /* stop sounds.. */ //snd_nm256_playback_stop(chip); //snd_nm256_capture_stop(chip); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); } @@ -981,7 +960,7 @@ snd_nm256_intr_check(nm256_t *chip) static irqreturn_t snd_nm256_interrupt(int irq, void *dev_id, struct pt_regs *dummy) { - nm256_t *chip = snd_magic_cast(nm256_t, dev_id, return IRQ_NONE); + nm256_t *chip = dev_id; u16 status; u8 cbyte; @@ -1048,7 +1027,7 @@ snd_nm256_interrupt(int irq, void *dev_id, struct pt_regs *dummy) static irqreturn_t snd_nm256_interrupt_zx(int irq, void *dev_id, struct pt_regs *dummy) { - nm256_t *chip = snd_magic_cast(nm256_t, dev_id, return IRQ_NONE); + nm256_t *chip = dev_id; u32 status; u8 cbyte; @@ -1139,7 +1118,7 @@ snd_nm256_ac97_ready(nm256_t *chip) static unsigned short snd_nm256_ac97_read(ac97_t *ac97, unsigned short reg) { - nm256_t *chip = snd_magic_cast(nm256_t, ac97->private_data, return -ENXIO); + nm256_t *chip = ac97->private_data; int res; if (reg >= 128) @@ -1159,7 +1138,7 @@ static void snd_nm256_ac97_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - nm256_t *chip = snd_magic_cast(nm256_t, ac97->private_data, return); + nm256_t *chip = ac97->private_data; int tries = 2; u32 base; @@ -1181,10 +1160,9 @@ snd_nm256_ac97_write(ac97_t *ac97, static void snd_nm256_ac97_reset(ac97_t *ac97) { - nm256_t *chip = snd_magic_cast(nm256_t, ac97->private_data, return); - unsigned long flags; + nm256_t *chip = ac97->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); /* Reset the mixer. 'Tis magic! */ snd_nm256_writeb(chip, 0x6c0, 1); if (chip->latitude_workaround) { @@ -1193,20 +1171,25 @@ snd_nm256_ac97_reset(ac97_t *ac97) } snd_nm256_writeb(chip, 0x6cc, 0x80); snd_nm256_writeb(chip, 0x6cc, 0x0); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); } /* create an ac97 mixer interface */ static int __devinit snd_nm256_mixer(nm256_t *chip) { - ac97_bus_t bus, *pbus; - ac97_t ac97; + ac97_bus_t *pbus; + ac97_template_t ac97; int i, err; + static ac97_bus_ops_t ops = { + .reset = snd_nm256_ac97_reset, + .write = snd_nm256_ac97_write, + .read = snd_nm256_ac97_read, + }; /* looks like nm256 hangs up when unexpected registers are touched... */ static int mixer_regs[] = { AC97_MASTER, AC97_HEADPHONE, AC97_MASTER_MONO, - AC97_PC_BEEP, AC97_PHONE, AC97_MIC, AC97_LINE, + AC97_PC_BEEP, AC97_PHONE, AC97_MIC, AC97_LINE, AC97_CD, AC97_VIDEO, AC97_AUX, AC97_PCM, AC97_REC_SEL, AC97_REC_GAIN, AC97_GENERAL_PURPOSE, AC97_3D_CONTROL, AC97_EXTENDED_ID, @@ -1214,11 +1197,7 @@ snd_nm256_mixer(nm256_t *chip) -1 }; - memset(&bus, 0, sizeof(bus)); - bus.reset = snd_nm256_ac97_reset; - bus.write = snd_nm256_ac97_write; - bus.read = snd_nm256_ac97_read; - if ((err = snd_ac97_bus(chip->card, &bus, &pbus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, NULL, &pbus)) < 0) return err; memset(&ac97, 0, sizeof(ac97)); @@ -1290,7 +1269,7 @@ snd_nm256_peek_for_sig(nm256_t *chip) */ static int nm256_suspend(snd_card_t *card, unsigned int state) { - nm256_t *chip = snd_magic_cast(nm256_t, card->pm_private_data, return -EINVAL); + nm256_t *chip = card->pm_private_data; snd_pcm_suspend_all(chip->pcm); snd_ac97_suspend(chip->ac97); @@ -1301,7 +1280,7 @@ static int nm256_suspend(snd_card_t *card, unsigned int state) static int nm256_resume(snd_card_t *card, unsigned int state) { - nm256_t *chip = snd_magic_cast(nm256_t, card->pm_private_data, return -EINVAL); + nm256_t *chip = card->pm_private_data; /* Perform a full reset on the hardware */ pci_enable_device(chip->pci); @@ -1340,13 +1319,13 @@ static int snd_nm256_free(nm256_t *chip) if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_nm256_dev_free(snd_device_t *device) { - nm256_t *chip = snd_magic_cast(nm256_t, device->device_data, return -ENXIO); + nm256_t *chip = device->device_data; return snd_nm256_free(chip); } @@ -1368,7 +1347,7 @@ snd_nm256_create(snd_card_t *card, struct pci_dev *pci, *chip_ret = NULL; - chip = snd_magic_kcalloc(nm256_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c index 2f209664d..ddc8695cb 100644 --- a/sound/pci/rme32.c +++ b/sound/pci/rme32.c @@ -1,7 +1,8 @@ /* * ALSA driver for RME Digi32, Digi32/8 and Digi32 PRO audio interfaces * - * Copyright (c) 2002, 2003 Martin Langer + * Copyright (c) 2002-2004 Martin Langer , + * Pilo Chambert * * Thanks to : Anders Torger , * Henk Hesselink @@ -52,6 +53,19 @@ * patch would be welcome! * * **************************************************************************** + * + * "The story after the long seeking" -- tiwai + * + * Ok, the situation regarding the full duplex is now improved a bit. + * In the fullduplex mode (given by the module parameter), the hardware buffer + * is split to halves for read and write directions at the DMA pointer. + * That is, the half above the current DMA pointer is used for write, and + * the half below is used for read. To mangle this strange behavior, an + * software intermediate buffer is introduced. This is, of course, not good + * from the viewpoint of the data transfer efficiency. However, this allows + * you to use arbitrary buffer sizes, instead of the fixed I/O buffer size. + * + * **************************************************************************** */ @@ -68,6 +82,7 @@ #include #include #include +#include #include #include @@ -76,22 +91,21 @@ static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; /* Enable this card */ +static int fullduplex[SNDRV_CARDS]; // = {[0 ... (SNDRV_CARDS - 1)] = 1}; static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Digi32 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Digi32 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable RME Digi32 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); -MODULE_AUTHOR("Martin Langer "); +module_param_array(fullduplex, bool, boot_devs, 0444); +MODULE_PARM_DESC(fullduplex, "Support full-duplex mode."); +MODULE_AUTHOR("Martin Langer , Pilo Chambert "); MODULE_DESCRIPTION("RME Digi32, Digi32/8, Digi32 PRO"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME,Digi32}," "{RME,Digi32/8}," "{RME,Digi32 PRO}}"); +MODULE_SUPPORTED_DEVICE("{{RME,Digi32}," "{RME,Digi32/8}," "{RME,Digi32 PRO}}"); /* Defines for RME Digi32 series */ #define RME32_SPDIF_NCHANNELS 2 @@ -140,7 +154,7 @@ MODULE_DEVICES("{{RME,Digi32}," "{RME,Digi32/8}," "{RME,Digi32 PRO}}"); #define RME32_WCR_BITPOS_INP_1 7 /* Read control register bits */ -#define RME32_RCR_AUDIO_ADDR_MASK 0x10001 +#define RME32_RCR_AUDIO_ADDR_MASK 0x1ffff #define RME32_RCR_LOCK (1 << 23) /* 1=locked, 0=not locked */ #define RME32_RCR_ERF (1 << 26) /* 1=Error, 0=no Error */ #define RME32_RCR_FREQ_0 (1 << 27) /* CS841x frequency (record) */ @@ -168,6 +182,9 @@ MODULE_DEVICES("{{RME,Digi32}," "{RME,Digi32/8}," "{RME,Digi32 PRO}}"); /* Block sizes in bytes */ #define RME32_BLOCK_SIZE 8192 +/* Software intermediate buffer (max) size */ +#define RME32_MID_BUFFER_SIZE (1024*1024) + /* Hardware revisions */ #define RME32_32_REVISION 192 #define RME32_328_REVISION_OLD 100 @@ -194,7 +211,6 @@ typedef struct snd_rme32 { spinlock_t lock; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; u32 wcreg; /* cached write control register value */ @@ -213,9 +229,11 @@ typedef struct snd_rme32 { size_t playback_periodsize; /* in bytes, zero if not used */ size_t capture_periodsize; /* in bytes, zero if not used */ - snd_pcm_uframes_t playback_last_appl_ptr; - size_t playback_ptr; - size_t capture_ptr; + unsigned int fullduplex_mode; + int running; + + snd_pcm_indirect_t playback_pcm; + snd_pcm_indirect_t capture_pcm; snd_card_t *card; snd_pcm_t *spdif_pcm; @@ -243,33 +261,16 @@ static int snd_rme32_playback_prepare(snd_pcm_substream_t * substream); static int snd_rme32_capture_prepare(snd_pcm_substream_t * substream); -static int -snd_rme32_playback_trigger(snd_pcm_substream_t * substream, int cmd); - -static int -snd_rme32_capture_trigger(snd_pcm_substream_t * substream, int cmd); - -static snd_pcm_uframes_t -snd_rme32_playback_pointer(snd_pcm_substream_t * substream); - -static snd_pcm_uframes_t -snd_rme32_capture_pointer(snd_pcm_substream_t * substream); +static int snd_rme32_pcm_trigger(snd_pcm_substream_t * substream, int cmd); static void snd_rme32_proc_init(rme32_t * rme32); static int snd_rme32_create_switches(snd_card_t * card, rme32_t * rme32); -static inline unsigned int snd_rme32_playback_ptr(rme32_t * rme32) -{ - - return (readl(rme32->iobase + RME32_IO_GET_POS) - & RME32_RCR_AUDIO_ADDR_MASK) >> rme32->playback_frlog; -} - -static inline unsigned int snd_rme32_capture_ptr(rme32_t * rme32) +static inline unsigned int snd_rme32_pcm_byteptr(rme32_t * rme32) { return (readl(rme32->iobase + RME32_IO_GET_POS) - & RME32_RCR_AUDIO_ADDR_MASK) >> rme32->capture_frlog; + & RME32_RCR_AUDIO_ADDR_MASK); } static int snd_rme32_ratecode(int rate) @@ -285,22 +286,24 @@ static int snd_rme32_ratecode(int rate) return 0; } +/* silence callback for halfduplex mode */ static int snd_rme32_playback_silence(snd_pcm_substream_t * substream, int channel, /* not used (interleaved data) */ snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); count <<= rme32->playback_frlog; pos <<= rme32->playback_frlog; memset_io(rme32->iobase + RME32_IO_DATA_BUFFER + pos, 0, count); return 0; } +/* copy callback for halfduplex mode */ static int snd_rme32_playback_copy(snd_pcm_substream_t * substream, int channel, /* not used (interleaved data) */ snd_pcm_uframes_t pos, void __user *src, snd_pcm_uframes_t count) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); count <<= rme32->playback_frlog; pos <<= rme32->playback_frlog; if (copy_from_user_toio(rme32->iobase + RME32_IO_DATA_BUFFER + pos, @@ -309,11 +312,12 @@ static int snd_rme32_playback_copy(snd_pcm_substream_t * substream, int channel, return 0; } +/* copy callback for halfduplex mode */ static int snd_rme32_capture_copy(snd_pcm_substream_t * substream, int channel, /* not used (interleaved data) */ snd_pcm_uframes_t pos, void __user *dst, snd_pcm_uframes_t count) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); count <<= rme32->capture_frlog; pos <<= rme32->capture_frlog; if (copy_to_user_fromio(dst, @@ -324,13 +328,14 @@ static int snd_rme32_capture_copy(snd_pcm_substream_t * substream, int channel, } /* - * Digital output capabilites (S/PDIF) + * SPDIF I/O capabilites (half-duplex mode) */ -static snd_pcm_hardware_t snd_rme32_playback_spdif_info = { - .info = (SNDRV_PCM_INFO_MMAP | +static snd_pcm_hardware_t snd_rme32_spdif_info = { + .info = (SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE), .rates = (SNDRV_PCM_RATE_32000 | @@ -349,13 +354,39 @@ static snd_pcm_hardware_t snd_rme32_playback_spdif_info = { }; /* - * Digital input capabilites (S/PDIF) + * ADAT I/O capabilites (half-duplex mode) + */ +static snd_pcm_hardware_t snd_rme32_adat_info = +{ + .info = (SNDRV_PCM_INFO_MMAP_IOMEM | + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), + .formats= SNDRV_PCM_FMTBIT_S16_LE, + .rates = (SNDRV_PCM_RATE_44100 | + SNDRV_PCM_RATE_48000), + .rate_min = 44100, + .rate_max = 48000, + .channels_min = 8, + .channels_max = 8, + .buffer_bytes_max = RME32_BUFFER_SIZE, + .period_bytes_min = RME32_BLOCK_SIZE, + .period_bytes_max = RME32_BLOCK_SIZE, + .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .fifo_size = 0, +}; + +/* + * SPDIF I/O capabilites (full-duplex mode) */ -static snd_pcm_hardware_t snd_rme32_capture_spdif_info = { +static snd_pcm_hardware_t snd_rme32_spdif_fd_info = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE), .rates = (SNDRV_PCM_RATE_32000 | @@ -365,23 +396,24 @@ static snd_pcm_hardware_t snd_rme32_capture_spdif_info = { .rate_max = 48000, .channels_min = 2, .channels_max = 2, - .buffer_bytes_max = RME32_BUFFER_SIZE, + .buffer_bytes_max = RME32_MID_BUFFER_SIZE, .period_bytes_min = RME32_BLOCK_SIZE, .period_bytes_max = RME32_BLOCK_SIZE, - .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .periods_min = 2, + .periods_max = RME32_MID_BUFFER_SIZE / RME32_BLOCK_SIZE, .fifo_size = 0, }; /* - * Digital output capabilites (ADAT) + * ADAT I/O capabilites (full-duplex mode) */ -static snd_pcm_hardware_t snd_rme32_playback_adat_info = +static snd_pcm_hardware_t snd_rme32_adat_fd_info = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), + SNDRV_PCM_INFO_PAUSE | + SNDRV_PCM_INFO_SYNC_START), .formats= SNDRV_PCM_FMTBIT_S16_LE, .rates = (SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000), @@ -389,38 +421,14 @@ static snd_pcm_hardware_t snd_rme32_playback_adat_info = .rate_max = 48000, .channels_min = 8, .channels_max = 8, - .buffer_bytes_max = RME32_BUFFER_SIZE, + .buffer_bytes_max = RME32_MID_BUFFER_SIZE, .period_bytes_min = RME32_BLOCK_SIZE, .period_bytes_max = RME32_BLOCK_SIZE, - .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, + .periods_min = 2, + .periods_max = RME32_MID_BUFFER_SIZE / RME32_BLOCK_SIZE, .fifo_size = 0, }; -/* - * Digital input capabilites (ADAT) - */ -static snd_pcm_hardware_t snd_rme32_capture_adat_info = -{ - .info = (SNDRV_PCM_INFO_MMAP | - SNDRV_PCM_INFO_MMAP_VALID | - SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE), - .formats = SNDRV_PCM_FMTBIT_S16_LE, - .rates = (SNDRV_PCM_RATE_44100 | - SNDRV_PCM_RATE_48000), - .rate_min = 44100, - .rate_max = 48000, - .channels_min = 8, - .channels_max = 8, - .buffer_bytes_max = RME32_BUFFER_SIZE, - .period_bytes_min = RME32_BLOCK_SIZE, - .period_bytes_max = RME32_BLOCK_SIZE, - .periods_min = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .periods_max = RME32_BUFFER_SIZE / RME32_BLOCK_SIZE, - .fifo_size = 0, -}; - static void snd_rme32_reset_dac(rme32_t *rme32) { writel(rme32->wcreg | RME32_WCR_PD, @@ -677,11 +685,19 @@ snd_rme32_playback_hw_params(snd_pcm_substream_t * substream, snd_pcm_hw_params_t * params) { int err, rate, dummy; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; + + if (rme32->fullduplex_mode) { + err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); + if (err < 0) + return err; + } else { + runtime->dma_area = (void *)(rme32->iobase + RME32_IO_DATA_BUFFER); + runtime->dma_addr = rme32->port + RME32_IO_DATA_BUFFER; + runtime->dma_bytes = RME32_BUFFER_SIZE; + } - if ((err = snd_pcm_lib_malloc_pages(substream, - params_buffer_bytes(params))) < 0) - return err; spin_lock_irq(&rme32->lock); if ((rme32->rcreg & RME32_RCR_KMODE) && (rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) { @@ -719,45 +735,45 @@ snd_rme32_playback_hw_params(snd_pcm_substream_t * substream, return 0; } -static int snd_rme32_playback_hw_free(snd_pcm_substream_t * substream) -{ - snd_pcm_lib_free_pages(substream); - return 0; -} - static int snd_rme32_capture_hw_params(snd_pcm_substream_t * substream, snd_pcm_hw_params_t * params) { - unsigned long flags; int err, isadat, rate; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - if ((err = snd_pcm_lib_malloc_pages(substream, - params_buffer_bytes(params))) < 0) - return err; - spin_lock_irqsave(&rme32->lock, flags); + if (rme32->fullduplex_mode) { + err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params)); + if (err < 0) + return err; + } else { + runtime->dma_area = (void *)rme32->iobase + RME32_IO_DATA_BUFFER; + runtime->dma_addr = rme32->port + RME32_IO_DATA_BUFFER; + runtime->dma_bytes = RME32_BUFFER_SIZE; + } + + spin_lock_irq(&rme32->lock); /* enable AutoSync for record-preparing */ rme32->wcreg |= RME32_WCR_AUTOSYNC; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); if ((err = snd_rme32_setformat(rme32, params_format(params))) < 0) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return err; } if ((err = snd_rme32_playback_setrate(rme32, params_rate(params))) < 0) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return err; } if ((rate = snd_rme32_capture_getrate(rme32, &isadat)) > 0) { if ((int)params_rate(params) != rate) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EIO; } if ((isadat && runtime->hw.channels_min == 2) || (!isadat && runtime->hw.channels_min == 8)) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EIO; } } @@ -769,36 +785,26 @@ snd_rme32_capture_hw_params(snd_pcm_substream_t * substream, if (rme32->playback_periodsize != 0) { if (params_period_size(params) << rme32->capture_frlog != rme32->playback_periodsize) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } } rme32->capture_periodsize = params_period_size(params) << rme32->capture_frlog; - spin_unlock_irqrestore(&rme32->lock, flags); - - return 0; -} + spin_unlock_irq(&rme32->lock); -static int snd_rme32_capture_hw_free(snd_pcm_substream_t * substream) -{ - snd_pcm_lib_free_pages(substream); return 0; } -static void snd_rme32_playback_start(rme32_t * rme32, int from_pause) +static int snd_rme32_pcm_hw_free(snd_pcm_substream_t * substream) { - if (!from_pause) { - writel(0, rme32->iobase + RME32_IO_RESET_POS); - rme32->playback_last_appl_ptr = 0; - rme32->playback_ptr = 0; - } - - rme32->wcreg |= RME32_WCR_START; - writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); + rme32_t *rme32 = snd_pcm_substream_chip(substream); + if (! rme32->fullduplex_mode) + return 0; + return snd_pcm_lib_free_pages(substream); } -static void snd_rme32_capture_start(rme32_t * rme32, int from_pause) +static void snd_rme32_pcm_start(rme32_t * rme32, int from_pause) { if (!from_pause) { writel(0, rme32->iobase + RME32_IO_RESET_POS); @@ -808,7 +814,7 @@ static void snd_rme32_capture_start(rme32_t * rme32, int from_pause) writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); } -static void snd_rme32_playback_stop(rme32_t * rme32) +static void snd_rme32_pcm_stop(rme32_t * rme32, int to_pause) { /* * Check if there is an unconfirmed IRQ, if so confirm it, or else @@ -822,16 +828,8 @@ static void snd_rme32_playback_stop(rme32_t * rme32) if (rme32->wcreg & RME32_WCR_SEL) rme32->wcreg |= RME32_WCR_MUTE; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); -} - -static void snd_rme32_capture_stop(rme32_t * rme32) -{ - rme32->rcreg = readl(rme32->iobase + RME32_IO_CONTROL_REGISTER); - if (rme32->rcreg & RME32_RCR_IRQ) { - writel(0, rme32->iobase + RME32_IO_CONFIRM_ACTION_IRQ); - } - rme32->wcreg &= ~RME32_WCR_START; - writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); + if (! to_pause) + writel(0, rme32->iobase + RME32_IO_RESET_POS); } static irqreturn_t @@ -857,36 +855,46 @@ snd_rme32_interrupt(int irq, void *dev_id, struct pt_regs *regs) static unsigned int period_bytes[] = { RME32_BLOCK_SIZE }; -#define PERIOD_BYTES sizeof(period_bytes) / sizeof(period_bytes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes = { - .count = PERIOD_BYTES, + .count = ARRAY_SIZE(period_bytes), .list = period_bytes, .mask = 0 }; +static void snd_rme32_set_buffer_constraint(rme32_t *rme32, snd_pcm_runtime_t *runtime) +{ + if (! rme32->fullduplex_mode) { + snd_pcm_hw_constraint_minmax(runtime, + SNDRV_PCM_HW_PARAM_BUFFER_BYTES, + RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); + snd_pcm_hw_constraint_list(runtime, 0, + SNDRV_PCM_HW_PARAM_PERIOD_BYTES, + &hw_constraints_period_bytes); + } +} + static int snd_rme32_playback_spdif_open(snd_pcm_substream_t * substream) { - unsigned long flags; int rate, dummy; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->playback_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->wcreg &= ~RME32_WCR_ADAT; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); rme32->playback_substream = substream; - rme32->playback_last_appl_ptr = 0; - rme32->playback_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - runtime->hw = snd_rme32_playback_spdif_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_spdif_fd_info; + else + runtime->hw = snd_rme32_spdif_info; if (rme32->pci->device == PCI_DEVICE_ID_DIGI32_PRO) { runtime->hw.rates |= SNDRV_PCM_RATE_64000 | SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000; runtime->hw.rate_max = 96000; @@ -898,12 +906,8 @@ static int snd_rme32_playback_spdif_open(snd_pcm_substream_t * substream) runtime->hw.rate_min = rate; runtime->hw.rate_max = rate; } - snd_pcm_hw_constraint_minmax(runtime, - SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, - SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + + snd_rme32_set_buffer_constraint(rme32, runtime); rme32->wcreg_spdif_stream = rme32->wcreg_spdif; rme32->spdif_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; @@ -914,23 +918,24 @@ static int snd_rme32_playback_spdif_open(snd_pcm_substream_t * substream) static int snd_rme32_capture_spdif_open(snd_pcm_substream_t * substream) { - unsigned long flags; int isadat, rate; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->capture_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->capture_substream = substream; - rme32->capture_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - runtime->hw = snd_rme32_capture_spdif_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_spdif_fd_info; + else + runtime->hw = snd_rme32_spdif_info; if (RME32_PRO_WITH_8414(rme32)) { runtime->hw.rates |= SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000; runtime->hw.rate_max = 96000; @@ -944,12 +949,7 @@ static int snd_rme32_capture_spdif_open(snd_pcm_substream_t * substream) runtime->hw.rate_max = rate; } - snd_pcm_hw_constraint_minmax(runtime, - SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, - SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + snd_rme32_set_buffer_constraint(rme32, runtime); return 0; } @@ -957,26 +957,26 @@ static int snd_rme32_capture_spdif_open(snd_pcm_substream_t * substream) static int snd_rme32_playback_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int rate, dummy; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->playback_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->wcreg |= RME32_WCR_ADAT; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); rme32->playback_substream = substream; - rme32->playback_last_appl_ptr = 0; - rme32->playback_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - runtime->hw = snd_rme32_playback_adat_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_adat_fd_info; + else + runtime->hw = snd_rme32_adat_info; if ((rme32->rcreg & RME32_RCR_KMODE) && (rate = snd_rme32_capture_getrate(rme32, &dummy)) > 0) { /* AutoSync */ @@ -984,22 +984,22 @@ snd_rme32_playback_adat_open(snd_pcm_substream_t *substream) runtime->hw.rate_min = rate; runtime->hw.rate_max = rate; } - snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + + snd_rme32_set_buffer_constraint(rme32, runtime); return 0; } static int snd_rme32_capture_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int isadat, rate; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - runtime->hw = snd_rme32_capture_adat_info; + if (rme32->fullduplex_mode) + runtime->hw = snd_rme32_adat_fd_info; + else + runtime->hw = snd_rme32_adat_info; if ((rate = snd_rme32_capture_getrate(rme32, &isadat)) > 0) { if (!isadat) { return -EIO; @@ -1011,33 +1011,28 @@ snd_rme32_capture_adat_open(snd_pcm_substream_t *substream) snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); if (rme32->capture_substream != NULL) { - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return -EBUSY; } rme32->capture_substream = substream; - rme32->capture_ptr = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); - snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, - RME32_BUFFER_SIZE, RME32_BUFFER_SIZE); - snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, - &hw_constraints_period_bytes); + snd_rme32_set_buffer_constraint(rme32, runtime); return 0; } static int snd_rme32_playback_close(snd_pcm_substream_t * substream) { - unsigned long flags; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); int spdif = 0; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); rme32->playback_substream = NULL; rme32->playback_periodsize = 0; spdif = (rme32->wcreg & RME32_WCR_ADAT) == 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); if (spdif) { rme32->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(rme32->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -1049,210 +1044,207 @@ static int snd_rme32_playback_close(snd_pcm_substream_t * substream) static int snd_rme32_capture_close(snd_pcm_substream_t * substream) { - unsigned long flags; - rme32_t *rme32 = _snd_pcm_substream_chip(substream); + rme32_t *rme32 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); rme32->capture_substream = NULL; rme32->capture_periodsize = 0; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock(&rme32->lock); return 0; } static int snd_rme32_playback_prepare(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme32_t *rme32 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme32->lock, flags); - if (RME32_ISWORKING(rme32)) { - snd_rme32_playback_stop(rme32); + spin_lock_irq(&rme32->lock); + if (rme32->fullduplex_mode) { + memset(&rme32->playback_pcm, 0, sizeof(rme32->playback_pcm)); + rme32->playback_pcm.hw_buffer_size = RME32_BUFFER_SIZE; + rme32->playback_pcm.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + } else { + writel(0, rme32->iobase + RME32_IO_RESET_POS); } - writel(0, rme32->iobase + RME32_IO_RESET_POS); if (rme32->wcreg & RME32_WCR_SEL) rme32->wcreg &= ~RME32_WCR_MUTE; writel(rme32->wcreg, rme32->iobase + RME32_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_capture_prepare(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme32_t *rme32 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme32->lock, flags); - if (RME32_ISWORKING(rme32)) { - snd_rme32_capture_stop(rme32); + spin_lock_irq(&rme32->lock); + if (rme32->fullduplex_mode) { + memset(&rme32->capture_pcm, 0, sizeof(rme32->capture_pcm)); + rme32->capture_pcm.hw_buffer_size = RME32_BUFFER_SIZE; + rme32->capture_pcm.hw_queue_size = RME32_BUFFER_SIZE / 2; + rme32->capture_pcm.sw_buffer_size = snd_pcm_lib_buffer_bytes(substream); + } else { + writel(0, rme32->iobase + RME32_IO_RESET_POS); } - writel(0, rme32->iobase + RME32_IO_RESET_POS); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int -snd_rme32_playback_trigger(snd_pcm_substream_t * substream, int cmd) -{ - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - switch (cmd) { - case SNDRV_PCM_TRIGGER_START: - if (!RME32_ISWORKING(rme32)) { - if (substream != rme32->playback_substream) { - return -EBUSY; +snd_rme32_pcm_trigger(snd_pcm_substream_t * substream, int cmd) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + struct list_head *pos; + snd_pcm_substream_t *s; + + spin_lock(&rme32->lock); + snd_pcm_group_for_each(pos, substream) { + s = snd_pcm_group_substream_entry(pos); + if (s != rme32->playback_substream && + s != rme32->capture_substream) + continue; + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + rme32->running |= (1 << s->stream); + if (rme32->fullduplex_mode) { + /* remember the current DMA position */ + if (s == rme32->playback_substream) { + rme32->playback_pcm.hw_io = + rme32->playback_pcm.hw_data = snd_rme32_pcm_byteptr(rme32); + } else { + rme32->capture_pcm.hw_io = + rme32->capture_pcm.hw_data = snd_rme32_pcm_byteptr(rme32); + } } - snd_rme32_playback_start(rme32, 0); + break; + case SNDRV_PCM_TRIGGER_STOP: + rme32->running &= ~(1 << s->stream); + break; } - break; - - case SNDRV_PCM_TRIGGER_STOP: - if (RME32_ISWORKING(rme32)) { - if (substream != rme32->playback_substream) { - return -EBUSY; + snd_pcm_trigger_done(s, substream); + } + + /* prefill playback buffer */ + if (cmd == SNDRV_PCM_TRIGGER_START) { + snd_pcm_group_for_each(pos, substream) { + s = snd_pcm_group_substream_entry(pos); + if (s == rme32->playback_substream) { + s->ops->ack(s); + break; } - snd_rme32_playback_stop(rme32); } - break; + } + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + if (rme32->running && ! RME32_ISWORKING(rme32)) + snd_rme32_pcm_start(rme32, 0); + break; + case SNDRV_PCM_TRIGGER_STOP: + if (! rme32->running && RME32_ISWORKING(rme32)) + snd_rme32_pcm_stop(rme32, 0); + break; case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - if (RME32_ISWORKING(rme32)) { - snd_rme32_playback_stop(rme32); - } + if (rme32->running && RME32_ISWORKING(rme32)) + snd_rme32_pcm_stop(rme32, 1); break; - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - if (!RME32_ISWORKING(rme32)) { - snd_rme32_playback_start(rme32, 1); - } + if (rme32->running && ! RME32_ISWORKING(rme32)) + snd_rme32_pcm_start(rme32, 1); break; - - default: - return -EINVAL; } + spin_unlock(&rme32->lock); return 0; } -static int -snd_rme32_capture_trigger(snd_pcm_substream_t * substream, int cmd) +/* pointer callback for halfduplex mode */ +static snd_pcm_uframes_t +snd_rme32_playback_pointer(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - - switch (cmd) { - case SNDRV_PCM_TRIGGER_START: - if (!RME32_ISWORKING(rme32)) { - if (substream != rme32->capture_substream) { - return -EBUSY; - } - snd_rme32_capture_start(rme32, 0); - } - break; + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_rme32_pcm_byteptr(rme32) >> rme32->playback_frlog; +} - case SNDRV_PCM_TRIGGER_STOP: - if (RME32_ISWORKING(rme32)) { - if (substream != rme32->capture_substream) { - return -EBUSY; - } - snd_rme32_capture_stop(rme32); - } - break; +static snd_pcm_uframes_t +snd_rme32_capture_pointer(snd_pcm_substream_t * substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_rme32_pcm_byteptr(rme32) >> rme32->capture_frlog; +} - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - if (RME32_ISWORKING(rme32)) { - snd_rme32_capture_stop(rme32); - } - break; - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - if (!RME32_ISWORKING(rme32)) { - snd_rme32_capture_start(rme32, 1); - } - break; +/* ack and pointer callbacks for fullduplex mode */ +static void snd_rme32_pb_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + memcpy_toio(rme32->iobase + RME32_IO_DATA_BUFFER + rec->hw_data, + substream->runtime->dma_area + rec->sw_data, bytes); +} - default: - return -EINVAL; - } +static int snd_rme32_playback_fd_ack(snd_pcm_substream_t *substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + snd_pcm_indirect_t *rec, *cprec; + unsigned long flags; + rec = &rme32->playback_pcm; + cprec = &rme32->capture_pcm; + spin_lock_irqsave(&rme32->lock, flags); + rec->hw_queue_size = RME32_BUFFER_SIZE; + if (rme32->running & (1 << SNDRV_PCM_STREAM_CAPTURE)) + rec->hw_queue_size -= cprec->hw_ready; + spin_unlock_irqrestore(&rme32->lock, flags); + snd_pcm_indirect_playback_transfer(substream, rec, + snd_rme32_pb_trans_copy); return 0; } -static snd_pcm_uframes_t -snd_rme32_playback_pointer(snd_pcm_substream_t * substream) +static void snd_rme32_cp_trans_copy(snd_pcm_substream_t *substream, + snd_pcm_indirect_t *rec, size_t bytes) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_sframes_t diff; - size_t bytes; + rme32_t *rme32 = snd_pcm_substream_chip(substream); + memcpy_fromio(substream->runtime->dma_area + rec->sw_data, + rme32->iobase + RME32_IO_DATA_BUFFER + rec->hw_data, + bytes); +} +static int snd_rme32_capture_fd_ack(snd_pcm_substream_t *substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + snd_pcm_indirect_capture_transfer(substream, &rme32->capture_pcm, + snd_rme32_cp_trans_copy); + return 0; +} - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - diff = runtime->control->appl_ptr - - rme32->playback_last_appl_ptr; - rme32->playback_last_appl_ptr = runtime->control->appl_ptr; - if (diff != 0 && diff < -(snd_pcm_sframes_t) (runtime->boundary >> 1)) { - diff += runtime->boundary; - } - bytes = diff << rme32->playback_frlog; - if (bytes > RME32_BUFFER_SIZE - rme32->playback_ptr) { - memcpy_toio((void *)(rme32->iobase + RME32_IO_DATA_BUFFER + rme32->playback_ptr), - runtime->dma_area + rme32->playback_ptr, - RME32_BUFFER_SIZE - rme32->playback_ptr); - bytes -= RME32_BUFFER_SIZE - rme32->playback_ptr; - if (bytes > RME32_BUFFER_SIZE) { - bytes = RME32_BUFFER_SIZE; - } - memcpy_toio((void *)(rme32->iobase + RME32_IO_DATA_BUFFER), - runtime->dma_area, bytes); - rme32->playback_ptr = bytes; - } else if (bytes != 0) { - memcpy_toio((void *)(rme32->iobase + RME32_IO_DATA_BUFFER + rme32->playback_ptr), - runtime->dma_area + rme32->playback_ptr, bytes); - rme32->playback_ptr += bytes; - } - } - return snd_rme32_playback_ptr(rme32); +static snd_pcm_uframes_t +snd_rme32_playback_fd_pointer(snd_pcm_substream_t * substream) +{ + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_pcm_indirect_playback_pointer(substream, &rme32->playback_pcm, + snd_rme32_pcm_byteptr(rme32)); } static snd_pcm_uframes_t -snd_rme32_capture_pointer(snd_pcm_substream_t * substream) +snd_rme32_capture_fd_pointer(snd_pcm_substream_t * substream) { - rme32_t *rme32 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_uframes_t frameptr; - size_t ptr; - - frameptr = snd_rme32_capture_ptr(rme32); - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - ptr = frameptr << rme32->capture_frlog; - if (ptr > rme32->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme32->capture_ptr, - (void *)(rme32->iobase + RME32_IO_DATA_BUFFER + - rme32->capture_ptr), - ptr - rme32->capture_ptr); - rme32->capture_ptr += ptr - rme32->capture_ptr; - } else if (ptr < rme32->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme32->capture_ptr, - (void *)(rme32->iobase + RME32_IO_DATA_BUFFER + - rme32->capture_ptr), - RME32_BUFFER_SIZE - rme32->capture_ptr); - memcpy_fromio(runtime->dma_area, - (void *)(rme32->iobase + RME32_IO_DATA_BUFFER), - ptr); - rme32->capture_ptr = ptr; - } - } - return frameptr; + rme32_t *rme32 = snd_pcm_substream_chip(substream); + return snd_pcm_indirect_capture_pointer(substream, &rme32->capture_pcm, + snd_rme32_pcm_byteptr(rme32)); } +/* for halfduplex mode */ static snd_pcm_ops_t snd_rme32_playback_spdif_ops = { .open = snd_rme32_playback_spdif_open, .close = snd_rme32_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_playback_hw_params, - .hw_free = snd_rme32_playback_hw_free, + .hw_free = snd_rme32_pcm_hw_free, .prepare = snd_rme32_playback_prepare, - .trigger = snd_rme32_playback_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_playback_pointer, .copy = snd_rme32_playback_copy, .silence = snd_rme32_playback_silence, + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_rme32_capture_spdif_ops = { @@ -1260,11 +1252,12 @@ static snd_pcm_ops_t snd_rme32_capture_spdif_ops = { .close = snd_rme32_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_capture_hw_params, - .hw_free = snd_rme32_capture_hw_free, + .hw_free = snd_rme32_pcm_hw_free, .prepare = snd_rme32_capture_prepare, - .trigger = snd_rme32_capture_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_capture_pointer, .copy = snd_rme32_capture_copy, + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_rme32_playback_adat_ops = { @@ -1272,12 +1265,12 @@ static snd_pcm_ops_t snd_rme32_playback_adat_ops = { .close = snd_rme32_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_playback_hw_params, - .hw_free = snd_rme32_playback_hw_free, .prepare = snd_rme32_playback_prepare, - .trigger = snd_rme32_playback_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_playback_pointer, .copy = snd_rme32_playback_copy, .silence = snd_rme32_playback_silence, + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_rme32_capture_adat_ops = { @@ -1285,11 +1278,58 @@ static snd_pcm_ops_t snd_rme32_capture_adat_ops = { .close = snd_rme32_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme32_capture_hw_params, - .hw_free = snd_rme32_capture_hw_free, .prepare = snd_rme32_capture_prepare, - .trigger = snd_rme32_capture_trigger, + .trigger = snd_rme32_pcm_trigger, .pointer = snd_rme32_capture_pointer, .copy = snd_rme32_capture_copy, + .mmap = snd_pcm_lib_mmap_iomem, +}; + +/* for fullduplex mode */ +static snd_pcm_ops_t snd_rme32_playback_spdif_fd_ops = { + .open = snd_rme32_playback_spdif_open, + .close = snd_rme32_playback_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_playback_hw_params, + .hw_free = snd_rme32_pcm_hw_free, + .prepare = snd_rme32_playback_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_playback_fd_pointer, + .ack = snd_rme32_playback_fd_ack, +}; + +static snd_pcm_ops_t snd_rme32_capture_spdif_fd_ops = { + .open = snd_rme32_capture_spdif_open, + .close = snd_rme32_capture_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_capture_hw_params, + .hw_free = snd_rme32_pcm_hw_free, + .prepare = snd_rme32_capture_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_capture_fd_pointer, + .ack = snd_rme32_capture_fd_ack, +}; + +static snd_pcm_ops_t snd_rme32_playback_adat_fd_ops = { + .open = snd_rme32_playback_adat_open, + .close = snd_rme32_playback_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_playback_hw_params, + .prepare = snd_rme32_playback_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_playback_fd_pointer, + .ack = snd_rme32_playback_fd_ack, +}; + +static snd_pcm_ops_t snd_rme32_capture_adat_fd_ops = { + .open = snd_rme32_capture_adat_open, + .close = snd_rme32_capture_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = snd_rme32_capture_hw_params, + .prepare = snd_rme32_capture_prepare, + .trigger = snd_rme32_pcm_trigger, + .pointer = snd_rme32_capture_fd_pointer, + .ack = snd_rme32_capture_fd_ack, }; static void snd_rme32_free(void *private_data) @@ -1300,8 +1340,7 @@ static void snd_rme32_free(void *private_data) return; } if (rme32->irq >= 0) { - snd_rme32_playback_stop(rme32); - snd_rme32_capture_stop(rme32); + snd_rme32_pcm_stop(rme32, 0); free_irq(rme32->irq, (void *) rme32); rme32->irq = -1; } @@ -1309,9 +1348,9 @@ static void snd_rme32_free(void *private_data) iounmap((void *) rme32->iobase); rme32->iobase = 0; } - if (rme32->res_port != NULL) { - release_resource(rme32->res_port); - rme32->res_port = NULL; + if (rme32->port) { + pci_release_regions(rme32->pci); + rme32->port = 0; } } @@ -1319,7 +1358,6 @@ static void snd_rme32_free_spdif_pcm(snd_pcm_t * pcm) { rme32_t *rme32 = (rme32_t *) pcm->private_data; rme32->spdif_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static void @@ -1327,7 +1365,6 @@ snd_rme32_free_adat_pcm(snd_pcm_t *pcm) { rme32_t *rme32 = (rme32_t *) pcm->private_data; rme32->adat_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static int __devinit snd_rme32_create(rme32_t * rme32) @@ -1336,25 +1373,21 @@ static int __devinit snd_rme32_create(rme32_t * rme32) int err; rme32->irq = -1; + spin_lock_init(&rme32->lock); if ((err = pci_enable_device(pci)) < 0) return err; + if ((err = pci_request_regions(pci, "RME32")) < 0) + return err; rme32->port = pci_resource_start(rme32->pci, 0); - if ((rme32->res_port = request_mem_region(rme32->port, RME32_IO_SIZE, "RME32")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", - rme32->port, rme32->port + RME32_IO_SIZE - 1); - return -EBUSY; - } - if (request_irq(pci->irq, snd_rme32_interrupt, SA_INTERRUPT | SA_SHIRQ, "RME32", (void *) rme32)) { snd_printk("unable to grab IRQ %d\n", pci->irq); return -EBUSY; } rme32->irq = pci->irq; - spin_lock_init(&rme32->lock); if ((rme32->iobase = (unsigned long) ioremap_nocache(rme32->port, RME32_IO_SIZE)) == 0) { snd_printk("unable to remap memory region 0x%lx-0x%lx\n", rme32->port, rme32->port + RME32_IO_SIZE - 1); @@ -1371,18 +1404,22 @@ static int __devinit snd_rme32_create(rme32_t * rme32) rme32->spdif_pcm->private_data = rme32; rme32->spdif_pcm->private_free = snd_rme32_free_spdif_pcm; strcpy(rme32->spdif_pcm->name, "Digi32 IEC958"); - snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_PLAYBACK, - &snd_rme32_playback_spdif_ops); - snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_CAPTURE, - &snd_rme32_capture_spdif_ops); - - rme32->spdif_pcm->info_flags = 0; - - snd_pcm_lib_preallocate_pages_for_all(rme32->spdif_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME32_BUFFER_SIZE, - RME32_BUFFER_SIZE); + if (rme32->fullduplex_mode) { + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_spdif_fd_ops); + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_spdif_fd_ops); + snd_pcm_lib_preallocate_pages_for_all(rme32->spdif_pcm, SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 0, RME32_MID_BUFFER_SIZE); + rme32->spdif_pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; + } else { + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_spdif_ops); + snd_pcm_set_ops(rme32->spdif_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_spdif_ops); + rme32->spdif_pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; + } /* set up ALSA pcm device for ADAT */ if ((pci->device == PCI_DEVICE_ID_DIGI32) || @@ -1399,18 +1436,22 @@ static int __devinit snd_rme32_create(rme32_t * rme32) rme32->adat_pcm->private_data = rme32; rme32->adat_pcm->private_free = snd_rme32_free_adat_pcm; strcpy(rme32->adat_pcm->name, "Digi32 ADAT"); - snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_PLAYBACK, - &snd_rme32_playback_adat_ops); - snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, - &snd_rme32_capture_adat_ops); - - rme32->adat_pcm->info_flags = 0; - - snd_pcm_lib_preallocate_pages_for_all(rme32->adat_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME32_BUFFER_SIZE, - RME32_BUFFER_SIZE); + if (rme32->fullduplex_mode) { + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_adat_fd_ops); + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_adat_fd_ops); + snd_pcm_lib_preallocate_pages_for_all(rme32->adat_pcm, SNDRV_DMA_TYPE_CONTINUOUS, + snd_dma_continuous_data(GFP_KERNEL), + 0, RME32_MID_BUFFER_SIZE); + rme32->adat_pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; + } else { + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_PLAYBACK, + &snd_rme32_playback_adat_ops); + snd_pcm_set_ops(rme32->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, + &snd_rme32_capture_adat_ops); + rme32->adat_pcm->info_flags = SNDRV_PCM_INFO_HALF_DUPLEX; + } } @@ -1418,8 +1459,7 @@ static int __devinit snd_rme32_create(rme32_t * rme32) rme32->capture_periodsize = 0; /* make sure playback/capture is stopped, if by some reason active */ - snd_rme32_playback_stop(rme32); - snd_rme32_capture_stop(rme32); + snd_rme32_pcm_stop(rme32, 0); /* reset DAC */ snd_rme32_reset_dac(rme32); @@ -1464,6 +1504,10 @@ snd_rme32_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) snd_iprintf(buffer, " (index #%d)\n", rme32->card->number + 1); snd_iprintf(buffer, "\nGeneral settings\n"); + if (rme32->fullduplex_mode) + snd_iprintf(buffer, " Full-duplex mode\n"); + else + snd_iprintf(buffer, " Half-duplex mode\n"); if (RME32_PRO_WITH_8414(rme32)) { snd_iprintf(buffer, " receiver: CS8414\n"); } else { @@ -1569,26 +1613,24 @@ static int snd_rme32_get_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); ucontrol->value.integer.value[0] = rme32->wcreg & RME32_WCR_SEL ? 0 : 1; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_put_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.integer.value[0] ? 0 : RME32_WCR_SEL; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); val = (rme32->wcreg & ~RME32_WCR_SEL) | val; change = val != rme32->wcreg; if (ucontrol->value.integer.value[0]) @@ -1597,7 +1639,7 @@ snd_rme32_put_loopback_control(snd_kcontrol_t * kcontrol, val |= RME32_WCR_MUTE; writel(rme32->wcreg = val, rme32->iobase + RME32_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1605,7 +1647,7 @@ static int snd_rme32_info_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t * uinfo) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); static char *texts[4] = { "Optical", "Coaxial", "Internal", "XLR" }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; @@ -1635,11 +1677,10 @@ static int snd_rme32_get_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int items = 3; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); ucontrol->value.enumerated.item[0] = snd_rme32_getinputtype(rme32); switch (rme32->pci->device) { @@ -1658,15 +1699,14 @@ snd_rme32_get_inputtype_control(snd_kcontrol_t * kcontrol, ucontrol->value.enumerated.item[0] = items - 1; } - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_put_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int val; int change, items = 3; @@ -1684,10 +1724,10 @@ snd_rme32_put_inputtype_control(snd_kcontrol_t * kcontrol, } val = ucontrol->value.enumerated.item[0] % items; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != (unsigned int)snd_rme32_getinputtype(rme32); snd_rme32_setinputtype(rme32, val); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1714,28 +1754,26 @@ static int snd_rme32_get_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); ucontrol->value.enumerated.item[0] = snd_rme32_getclockmode(rme32); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return 0; } static int snd_rme32_put_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != (unsigned int)snd_rme32_getclockmode(rme32); snd_rme32_setclockmode(rme32, val); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1770,7 +1808,7 @@ static int snd_rme32_control_spdif_info(snd_kcontrol_t * kcontrol, static int snd_rme32_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); snd_rme32_convert_to_aes(&ucontrol->value.iec958, rme32->wcreg_spdif); @@ -1780,16 +1818,15 @@ static int snd_rme32_control_spdif_get(snd_kcontrol_t * kcontrol, static int snd_rme32_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme32_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != rme32->wcreg_spdif; rme32->wcreg_spdif = val; - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1805,7 +1842,7 @@ static int snd_rme32_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); snd_rme32_convert_to_aes(&ucontrol->value.iec958, rme32->wcreg_spdif_stream); @@ -1816,18 +1853,17 @@ static int snd_rme32_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme32_t *rme32 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme32_t *rme32 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme32_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme32->lock, flags); + spin_lock_irq(&rme32->lock); change = val != rme32->wcreg_spdif_stream; rme32->wcreg_spdif_stream = val; rme32->wcreg &= ~(RME32_WCR_PRO | RME32_WCR_EMP); writel(rme32->wcreg |= val, rme32->iobase + RME32_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme32->lock, flags); + spin_unlock_irq(&rme32->lock); return change; } @@ -1907,7 +1943,7 @@ static int snd_rme32_create_switches(snd_card_t * card, rme32_t * rme32) int idx, err; snd_kcontrol_t *kctl; - for (idx = 0; idx < 7; idx++) { + for (idx = 0; idx < (int)ARRAY_SIZE(snd_rme32_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme32_controls[idx], rme32))) < 0) return err; if (idx == 1) /* IEC958 (S/PDIF) Stream */ @@ -1952,6 +1988,8 @@ snd_rme32_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) rme32->card = card; rme32->pci = pci; snd_card_set_dev(card, &pci->dev); + if (fullduplex[dev]) + rme32->fullduplex_mode = 1; if ((err = snd_rme32_create(rme32)) < 0) { snd_card_free(card); return err; diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index 0e04ae457..a282795c3 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c @@ -47,8 +47,7 @@ MODULE_AUTHOR("Anders Torger "); MODULE_DESCRIPTION("RME Digi96, Digi96/8, Digi96/8 PRO, Digi96/8 PST, " "Digi96/8 PAD"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME,Digi96}," +MODULE_SUPPORTED_DEVICE("{{RME,Digi96}," "{RME,Digi96/8}," "{RME,Digi96/8 PRO}," "{RME,Digi96/8 PST}," @@ -61,13 +60,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Digi96 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Digi96 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable RME Digi96 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); /* * Defines for RME Digi96 series, from internal RME reference documents @@ -229,7 +225,6 @@ typedef struct snd_rme96 { spinlock_t lock; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; u32 wcreg; /* cached write control register value */ @@ -250,10 +245,6 @@ typedef struct snd_rme96 { size_t playback_periodsize; /* in bytes, zero if not used */ size_t capture_periodsize; /* in bytes, zero if not used */ - snd_pcm_uframes_t playback_last_appl_ptr; - size_t playback_ptr; - size_t capture_ptr; - snd_card_t *card; snd_pcm_t *spdif_pcm; snd_pcm_t *adat_pcm; @@ -349,7 +340,7 @@ snd_rme96_playback_silence(snd_pcm_substream_t *substream, snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); count <<= rme96->playback_frlog; pos <<= rme96->playback_frlog; memset_io(rme96->iobase + RME96_IO_PLAY_BUFFER + pos, @@ -364,7 +355,7 @@ snd_rme96_playback_copy(snd_pcm_substream_t *substream, void __user *src, snd_pcm_uframes_t count) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); count <<= rme96->playback_frlog; pos <<= rme96->playback_frlog; copy_from_user_toio(rme96->iobase + RME96_IO_PLAY_BUFFER + pos, src, @@ -379,7 +370,7 @@ snd_rme96_capture_copy(snd_pcm_substream_t *substream, void __user *dst, snd_pcm_uframes_t count) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); count <<= rme96->capture_frlog; pos <<= rme96->capture_frlog; copy_to_user_fromio(dst, rme96->iobase + RME96_IO_REC_BUFFER + pos, @@ -392,7 +383,7 @@ snd_rme96_capture_copy(snd_pcm_substream_t *substream, */ static snd_pcm_hardware_t snd_rme96_playback_spdif_info = { - .info = (SNDRV_PCM_INFO_MMAP | + .info = (SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), @@ -421,7 +412,7 @@ static snd_pcm_hardware_t snd_rme96_playback_spdif_info = */ static snd_pcm_hardware_t snd_rme96_capture_spdif_info = { - .info = (SNDRV_PCM_INFO_MMAP | + .info = (SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), @@ -450,7 +441,7 @@ static snd_pcm_hardware_t snd_rme96_capture_spdif_info = */ static snd_pcm_hardware_t snd_rme96_playback_adat_info = { - .info = (SNDRV_PCM_INFO_MMAP | + .info = (SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), @@ -475,7 +466,7 @@ static snd_pcm_hardware_t snd_rme96_playback_adat_info = */ static snd_pcm_hardware_t snd_rme96_capture_adat_info = { - .info = (SNDRV_PCM_INFO_MMAP | + .info = (SNDRV_PCM_INFO_MMAP_IOMEM | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_PAUSE), @@ -991,28 +982,30 @@ static int snd_rme96_playback_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); + snd_pcm_runtime_t *runtime = substream->runtime; int err, rate, dummy; - if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params))) < 0) - return err; - spin_lock_irqsave(&rme96->lock, flags); + runtime->dma_area = (void *)(rme96->iobase + RME96_IO_PLAY_BUFFER); + runtime->dma_addr = rme96->port + RME96_IO_PLAY_BUFFER; + runtime->dma_bytes = RME96_BUFFER_SIZE; + + spin_lock_irq(&rme96->lock); if (!(rme96->wcreg & RME96_WCR_MASTER) && snd_rme96_getinputtype(rme96) != RME96_INPUT_ANALOG && (rate = snd_rme96_capture_getrate(rme96, &dummy)) > 0) { /* slave clock */ if ((int)params_rate(params) != rate) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EIO; } } else if ((err = snd_rme96_playback_setrate(rme96, params_rate(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } if ((err = snd_rme96_playback_setformat(rme96, params_format(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } snd_rme96_setframelog(rme96, params_channels(params), 1); @@ -1020,7 +1013,7 @@ snd_rme96_playback_hw_params(snd_pcm_substream_t *substream, if (params_period_size(params) << rme96->playback_frlog != rme96->capture_periodsize) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } } @@ -1032,50 +1025,44 @@ snd_rme96_playback_hw_params(snd_pcm_substream_t *substream, rme96->wcreg &= ~(RME96_WCR_PRO | RME96_WCR_DOLBY | RME96_WCR_EMP); writel(rme96->wcreg |= rme96->wcreg_spdif_stream, rme96->iobase + RME96_IO_CONTROL_REGISTER); } - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } -static int -snd_rme96_playback_hw_free(snd_pcm_substream_t *substream) -{ - snd_pcm_lib_free_pages(substream); - return 0; -} - static int snd_rme96_capture_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; int err, isadat, rate; - if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params))) < 0) - return err; - spin_lock_irqsave(&rme96->lock, flags); + runtime->dma_area = (void *)(rme96->iobase + RME96_IO_REC_BUFFER); + runtime->dma_addr = rme96->port + RME96_IO_REC_BUFFER; + runtime->dma_bytes = RME96_BUFFER_SIZE; + + spin_lock_irq(&rme96->lock); if ((err = snd_rme96_capture_setformat(rme96, params_format(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } if (snd_rme96_getinputtype(rme96) == RME96_INPUT_ANALOG) { if ((err = snd_rme96_capture_analog_setrate(rme96, params_rate(params))) < 0) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return err; } } else if ((rate = snd_rme96_capture_getrate(rme96, &isadat)) > 0) { if ((int)params_rate(params) != rate) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EIO; } if ((isadat && runtime->hw.channels_min == 2) || (!isadat && runtime->hw.channels_min == 8)) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EIO; } } @@ -1084,33 +1071,24 @@ snd_rme96_capture_hw_params(snd_pcm_substream_t *substream, if (params_period_size(params) << rme96->capture_frlog != rme96->playback_periodsize) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } } rme96->capture_periodsize = params_period_size(params) << rme96->capture_frlog; snd_rme96_set_period_properties(rme96, rme96->capture_periodsize); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } -static int -snd_rme96_capture_hw_free(snd_pcm_substream_t *substream) -{ - snd_pcm_lib_free_pages(substream); - return 0; -} - static void snd_rme96_playback_start(rme96_t *rme96, int from_pause) { if (!from_pause) { writel(0, rme96->iobase + RME96_IO_RESET_PLAY_POS); - rme96->playback_last_appl_ptr = 0; - rme96->playback_ptr = 0; } rme96->wcreg |= RME96_WCR_START; @@ -1123,7 +1101,6 @@ snd_rme96_capture_start(rme96_t *rme96, { if (!from_pause) { writel(0, rme96->iobase + RME96_IO_RESET_REC_POS); - rme96->capture_ptr = 0; } rme96->wcreg |= RME96_WCR_START_2; @@ -1186,10 +1163,8 @@ snd_rme96_interrupt(int irq, static unsigned int period_bytes[] = { RME96_SMALL_BLOCK_SIZE, RME96_LARGE_BLOCK_SIZE }; -#define PERIOD_BYTES sizeof(period_bytes) / sizeof(period_bytes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes = { - .count = PERIOD_BYTES, + .count = ARRAY_SIZE(period_bytes), .list = period_bytes, .mask = 0 }; @@ -1197,24 +1172,21 @@ static snd_pcm_hw_constraint_list_t hw_constraints_period_bytes = { static int snd_rme96_playback_spdif_open(snd_pcm_substream_t *substream) { - unsigned long flags; int rate, dummy; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->playback_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->wcreg &= ~RME96_WCR_ADAT; writel(rme96->wcreg, rme96->iobase + RME96_IO_CONTROL_REGISTER); rme96->playback_substream = substream; - rme96->playback_last_appl_ptr = 0; - rme96->playback_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); runtime->hw = snd_rme96_playback_spdif_info; if (!(rme96->wcreg & RME96_WCR_MASTER) && @@ -1239,9 +1211,8 @@ snd_rme96_playback_spdif_open(snd_pcm_substream_t *substream) static int snd_rme96_capture_spdif_open(snd_pcm_substream_t *substream) { - unsigned long flags; int isadat, rate; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); @@ -1258,14 +1229,13 @@ snd_rme96_capture_spdif_open(snd_pcm_substream_t *substream) runtime->hw.rate_max = rate; } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->capture_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->capture_substream = substream; - rme96->capture_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, RME96_BUFFER_SIZE, RME96_BUFFER_SIZE); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_period_bytes); @@ -1276,24 +1246,21 @@ snd_rme96_capture_spdif_open(snd_pcm_substream_t *substream) static int snd_rme96_playback_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int rate, dummy; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->playback_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->wcreg |= RME96_WCR_ADAT; writel(rme96->wcreg, rme96->iobase + RME96_IO_CONTROL_REGISTER); rme96->playback_substream = substream; - rme96->playback_last_appl_ptr = 0; - rme96->playback_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); runtime->hw = snd_rme96_playback_adat_info; if (!(rme96->wcreg & RME96_WCR_MASTER) && @@ -1313,9 +1280,8 @@ snd_rme96_playback_adat_open(snd_pcm_substream_t *substream) static int snd_rme96_capture_adat_open(snd_pcm_substream_t *substream) { - unsigned long flags; int isadat, rate; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; snd_pcm_set_sync(substream); @@ -1335,14 +1301,13 @@ snd_rme96_capture_adat_open(snd_pcm_substream_t *substream) runtime->hw.rate_max = rate; } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (rme96->capture_substream != NULL) { - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return -EBUSY; } rme96->capture_substream = substream; - rme96->capture_ptr = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_BUFFER_BYTES, RME96_BUFFER_SIZE, RME96_BUFFER_SIZE); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, &hw_constraints_period_bytes); @@ -1352,18 +1317,17 @@ snd_rme96_capture_adat_open(snd_pcm_substream_t *substream) static int snd_rme96_playback_close(snd_pcm_substream_t *substream) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); int spdif = 0; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISPLAYING(rme96)) { snd_rme96_playback_stop(rme96); } rme96->playback_substream = NULL; rme96->playback_periodsize = 0; spdif = (rme96->wcreg & RME96_WCR_ADAT) == 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); if (spdif) { rme96->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(rme96->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -1375,46 +1339,43 @@ snd_rme96_playback_close(snd_pcm_substream_t *substream) static int snd_rme96_capture_close(snd_pcm_substream_t *substream) { - unsigned long flags; - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISRECORDING(rme96)) { snd_rme96_capture_stop(rme96); } rme96->capture_substream = NULL; rme96->capture_periodsize = 0; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_playback_prepare(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme96_t *rme96 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISPLAYING(rme96)) { snd_rme96_playback_stop(rme96); } writel(0, rme96->iobase + RME96_IO_RESET_PLAY_POS); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_capture_prepare(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme96_t *rme96 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (RME96_ISRECORDING(rme96)) { snd_rme96_capture_stop(rme96); } writel(0, rme96->iobase + RME96_IO_RESET_REC_POS); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } @@ -1422,7 +1383,7 @@ static int snd_rme96_playback_trigger(snd_pcm_substream_t *substream, int cmd) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -1465,7 +1426,7 @@ static int snd_rme96_capture_trigger(snd_pcm_substream_t *substream, int cmd) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); + rme96_t *rme96 = snd_pcm_substream_chip(substream); switch (cmd) { case SNDRV_PCM_TRIGGER_START: @@ -1508,75 +1469,15 @@ snd_rme96_capture_trigger(snd_pcm_substream_t *substream, static snd_pcm_uframes_t snd_rme96_playback_pointer(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_sframes_t diff; - size_t bytes; - - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - diff = runtime->control->appl_ptr - - rme96->playback_last_appl_ptr; - rme96->playback_last_appl_ptr = runtime->control->appl_ptr; - if (diff != 0 && - diff < -(snd_pcm_sframes_t)(runtime->boundary >> 1)) - { - diff += runtime->boundary; - } - bytes = diff << rme96->playback_frlog; - - if (bytes > RME96_BUFFER_SIZE - rme96->playback_ptr) { - memcpy_toio((void *)(rme96->iobase + RME96_IO_PLAY_BUFFER + - rme96->playback_ptr), - runtime->dma_area + rme96->playback_ptr, - RME96_BUFFER_SIZE - rme96->playback_ptr); - bytes -= RME96_BUFFER_SIZE - rme96->playback_ptr; - if (bytes > RME96_BUFFER_SIZE) { - bytes = RME96_BUFFER_SIZE; - } - memcpy_toio((void *)(rme96->iobase + RME96_IO_PLAY_BUFFER), - runtime->dma_area, - bytes); - rme96->playback_ptr = bytes; - } else if (bytes != 0) { - memcpy_toio((void *)(rme96->iobase + RME96_IO_PLAY_BUFFER + - rme96->playback_ptr), - runtime->dma_area + rme96->playback_ptr, - bytes); - rme96->playback_ptr += bytes; - } - } + rme96_t *rme96 = snd_pcm_substream_chip(substream); return snd_rme96_playback_ptr(rme96); } static snd_pcm_uframes_t snd_rme96_capture_pointer(snd_pcm_substream_t *substream) { - rme96_t *rme96 = _snd_pcm_substream_chip(substream); - snd_pcm_runtime_t *runtime = substream->runtime; - snd_pcm_uframes_t frameptr; - size_t ptr; - - frameptr = snd_rme96_capture_ptr(rme96); - if (runtime->access == SNDRV_PCM_ACCESS_MMAP_INTERLEAVED) { - ptr = frameptr << rme96->capture_frlog; - if (ptr > rme96->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme96->capture_ptr, - (void *)(rme96->iobase + RME96_IO_REC_BUFFER + - rme96->capture_ptr), - ptr - rme96->capture_ptr); - rme96->capture_ptr += ptr - rme96->capture_ptr; - } else if (ptr < rme96->capture_ptr) { - memcpy_fromio(runtime->dma_area + rme96->capture_ptr, - (void *)(rme96->iobase + RME96_IO_REC_BUFFER + - rme96->capture_ptr), - RME96_BUFFER_SIZE - rme96->capture_ptr); - memcpy_fromio(runtime->dma_area, - (void *)(rme96->iobase + RME96_IO_REC_BUFFER), - ptr); - rme96->capture_ptr = ptr; - } - } - return frameptr; + rme96_t *rme96 = snd_pcm_substream_chip(substream); + return snd_rme96_capture_ptr(rme96); } static snd_pcm_ops_t snd_rme96_playback_spdif_ops = { @@ -1584,12 +1485,12 @@ static snd_pcm_ops_t snd_rme96_playback_spdif_ops = { .close = snd_rme96_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_playback_hw_params, - .hw_free = snd_rme96_playback_hw_free, .prepare = snd_rme96_playback_prepare, .trigger = snd_rme96_playback_trigger, .pointer = snd_rme96_playback_pointer, .copy = snd_rme96_playback_copy, .silence = snd_rme96_playback_silence, + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_rme96_capture_spdif_ops = { @@ -1597,11 +1498,11 @@ static snd_pcm_ops_t snd_rme96_capture_spdif_ops = { .close = snd_rme96_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_capture_hw_params, - .hw_free = snd_rme96_capture_hw_free, .prepare = snd_rme96_capture_prepare, .trigger = snd_rme96_capture_trigger, .pointer = snd_rme96_capture_pointer, .copy = snd_rme96_capture_copy, + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_rme96_playback_adat_ops = { @@ -1609,12 +1510,12 @@ static snd_pcm_ops_t snd_rme96_playback_adat_ops = { .close = snd_rme96_playback_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_playback_hw_params, - .hw_free = snd_rme96_playback_hw_free, .prepare = snd_rme96_playback_prepare, .trigger = snd_rme96_playback_trigger, .pointer = snd_rme96_playback_pointer, .copy = snd_rme96_playback_copy, .silence = snd_rme96_playback_silence, + .mmap = snd_pcm_lib_mmap_iomem, }; static snd_pcm_ops_t snd_rme96_capture_adat_ops = { @@ -1622,11 +1523,11 @@ static snd_pcm_ops_t snd_rme96_capture_adat_ops = { .close = snd_rme96_capture_close, .ioctl = snd_pcm_lib_ioctl, .hw_params = snd_rme96_capture_hw_params, - .hw_free = snd_rme96_capture_hw_free, .prepare = snd_rme96_capture_prepare, .trigger = snd_rme96_capture_trigger, .pointer = snd_rme96_capture_pointer, .copy = snd_rme96_capture_copy, + .mmap = snd_pcm_lib_mmap_iomem, }; static void @@ -1649,10 +1550,9 @@ snd_rme96_free(void *private_data) iounmap((void *)rme96->iobase); rme96->iobase = 0; } - if (rme96->res_port != NULL) { - release_resource(rme96->res_port); - kfree_nocheck(rme96->res_port); - rme96->res_port = NULL; + if (rme96->port) { + pci_release_regions(rme96->pci); + rme96->port = 0; } } @@ -1661,7 +1561,6 @@ snd_rme96_free_spdif_pcm(snd_pcm_t *pcm) { rme96_t *rme96 = (rme96_t *) pcm->private_data; rme96->spdif_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static void @@ -1669,7 +1568,6 @@ snd_rme96_free_adat_pcm(snd_pcm_t *pcm) { rme96_t *rme96 = (rme96_t *) pcm->private_data; rme96->adat_pcm = NULL; - snd_pcm_lib_preallocate_free_for_all(pcm); } static int __devinit @@ -1679,24 +1577,21 @@ snd_rme96_create(rme96_t *rme96) int err; rme96->irq = -1; + spin_lock_init(&rme96->lock); if ((err = pci_enable_device(pci)) < 0) return err; + if ((err = pci_request_regions(pci, "RME96")) < 0) + return err; rme96->port = pci_resource_start(rme96->pci, 0); - if ((rme96->res_port = request_mem_region(rme96->port, RME96_IO_SIZE, "RME96")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", rme96->port, rme96->port + RME96_IO_SIZE - 1); - return -EBUSY; - } - if (request_irq(pci->irq, snd_rme96_interrupt, SA_INTERRUPT|SA_SHIRQ, "RME96", (void *)rme96)) { snd_printk("unable to grab IRQ %d\n", pci->irq); return -EBUSY; } rme96->irq = pci->irq; - spin_lock_init(&rme96->lock); if ((rme96->iobase = (unsigned long) ioremap_nocache(rme96->port, RME96_IO_SIZE)) == 0) { snd_printk("unable to remap memory region 0x%lx-0x%lx\n", rme96->port, rme96->port + RME96_IO_SIZE - 1); return -ENOMEM; @@ -1719,12 +1614,6 @@ snd_rme96_create(rme96_t *rme96) rme96->spdif_pcm->info_flags = 0; - snd_pcm_lib_preallocate_pages_for_all(rme96->spdif_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME96_BUFFER_SIZE, - RME96_BUFFER_SIZE); - /* set up ALSA pcm device for ADAT */ if (pci->device == PCI_DEVICE_ID_DIGI96) { /* ADAT is not available on the base model */ @@ -1742,12 +1631,6 @@ snd_rme96_create(rme96_t *rme96) snd_pcm_set_ops(rme96->adat_pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_rme96_capture_adat_ops); rme96->adat_pcm->info_flags = 0; - - snd_pcm_lib_preallocate_pages_for_all(rme96->adat_pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_KERNEL), - RME96_BUFFER_SIZE, - RME96_BUFFER_SIZE); } rme96->playback_periodsize = 0; @@ -1958,28 +1841,26 @@ snd_rme96_info_loopback_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_rme96_get_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.integer.value[0] = rme96->wcreg & RME96_WCR_SEL ? 0 : 1; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_loopback_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.integer.value[0] ? 0 : RME96_WCR_SEL; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); val = (rme96->wcreg & ~RME96_WCR_SEL) | val; change = val != rme96->wcreg; writel(rme96->wcreg = val, rme96->iobase + RME96_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -1987,7 +1868,7 @@ static int snd_rme96_info_inputtype_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *_texts[5] = { "Optical", "Coaxial", "Internal", "XLR", "Analog" }; - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); char *texts[5] = { _texts[0], _texts[1], _texts[2], _texts[3], _texts[4] }; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; @@ -2023,11 +1904,10 @@ snd_rme96_info_inputtype_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_rme96_get_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int items = 3; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getinputtype(rme96); switch (rme96->pci->device) { @@ -2057,14 +1937,13 @@ snd_rme96_get_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t ucontrol->value.enumerated.item[0] = items - 1; } - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change, items = 3; @@ -2096,10 +1975,10 @@ snd_rme96_put_inputtype_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t } } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getinputtype(rme96); snd_rme96_setinputtype(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2120,27 +1999,25 @@ snd_rme96_info_clockmode_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_rme96_get_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getclockmode(rme96); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_clockmode_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getclockmode(rme96); snd_rme96_setclockmode(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2161,28 +2038,26 @@ snd_rme96_info_attenuation_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int snd_rme96_get_attenuation_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getattenuation(rme96); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_attenuation_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 4; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getattenuation(rme96); snd_rme96_setattenuation(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2203,27 +2078,25 @@ snd_rme96_info_montracks_control(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_rme96_get_montracks_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); ucontrol->value.enumerated.item[0] = snd_rme96_getmontracks(rme96); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } static int snd_rme96_put_montracks_control(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); unsigned int val; int change; val = ucontrol->value.enumerated.item[0] % 4; - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = (int)val != snd_rme96_getmontracks(rme96); snd_rme96_setmontracks(rme96, val); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2258,7 +2131,7 @@ static int snd_rme96_control_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_i static int snd_rme96_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); snd_rme96_convert_to_aes(&ucontrol->value.iec958, rme96->wcreg_spdif); return 0; @@ -2266,16 +2139,15 @@ static int snd_rme96_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_v static int snd_rme96_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme96_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = val != rme96->wcreg_spdif; rme96->wcreg_spdif = val; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2288,7 +2160,7 @@ static int snd_rme96_control_spdif_stream_info(snd_kcontrol_t *kcontrol, snd_ctl static int snd_rme96_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); snd_rme96_convert_to_aes(&ucontrol->value.iec958, rme96->wcreg_spdif_stream); return 0; @@ -2296,18 +2168,17 @@ static int snd_rme96_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl static int snd_rme96_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme96_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); change = val != rme96->wcreg_spdif_stream; rme96->wcreg_spdif_stream = val; rme96->wcreg &= ~(RME96_WCR_PRO | RME96_WCR_DOLBY | RME96_WCR_EMP); writel(rme96->wcreg |= val, rme96->iobase + RME96_IO_CONTROL_REGISTER); - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } @@ -2327,7 +2198,7 @@ static int snd_rme96_control_spdif_mask_get(snd_kcontrol_t * kcontrol, snd_ctl_e static int snd_rme96_dac_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER; uinfo->count = 2; @@ -2339,13 +2210,12 @@ snd_rme96_dac_volume_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) static int snd_rme96_dac_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); u->value.integer.value[0] = rme96->vol[0]; u->value.integer.value[1] = rme96->vol[1]; - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return 0; } @@ -2353,14 +2223,13 @@ snd_rme96_dac_volume_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) static int snd_rme96_dac_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) { - rme96_t *rme96 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme96_t *rme96 = snd_kcontrol_chip(kcontrol); int change = 0; if (!RME96_HAS_ANALOG_OUT(rme96)) { return -EINVAL; } - spin_lock_irqsave(&rme96->lock, flags); + spin_lock_irq(&rme96->lock); if (u->value.integer.value[0] != rme96->vol[0]) { rme96->vol[0] = u->value.integer.value[0]; change = 1; @@ -2372,7 +2241,7 @@ snd_rme96_dac_volume_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *u) if (change) { snd_rme96_apply_dac_volume(rme96); } - spin_unlock_irqrestore(&rme96->lock, flags); + spin_unlock_irq(&rme96->lock); return change; } diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index 628516c8b..a2c59b948 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c @@ -52,24 +52,18 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Hammerfall DSP interface."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Hammerfall DSP interface."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable/disable specific Hammerfall DSP soundcards."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(precise_ptr, bool, boot_devs, 0444); MODULE_PARM_DESC(precise_ptr, "Enable precise pointer (doesn't work reliably)."); -MODULE_PARM_SYNTAX(precise_ptr, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(line_outs_monitor, bool, boot_devs, 0444); MODULE_PARM_DESC(line_outs_monitor, "Send all input and playback streams to line outs by default."); -MODULE_PARM_SYNTAX(line_outs_monitor, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); MODULE_AUTHOR("Paul Davis , Marcus Andersson, Thomas Charbonnel "); MODULE_DESCRIPTION("RME Hammerfall DSP"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME Hammerfall-DSP}," +MODULE_SUPPORTED_DEVICE("{{RME Hammerfall-DSP}," "{RME HDSP-9652}," "{RME HDSP-9632}}"); @@ -462,12 +456,12 @@ struct _hdsp { unsigned char qs_out_channels; unsigned char ds_out_channels; unsigned char ss_out_channels; - void *capture_buffer_unaligned; /* original buffer addresses */ - void *playback_buffer_unaligned; /* original buffer addresses */ + + struct snd_dma_buffer capture_dma_buf; + struct snd_dma_buffer playback_dma_buf; unsigned char *capture_buffer; /* suitably aligned address */ unsigned char *playback_buffer; /* suitably aligned address */ - dma_addr_t capture_buffer_addr; - dma_addr_t playback_buffer_addr; + pid_t capture_pid; pid_t playback_pid; int running; @@ -477,7 +471,6 @@ struct _hdsp { int dev; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; snd_card_t *card; snd_pcm_t *pcm; @@ -561,50 +554,24 @@ static char channel_map_H9632_qs[HDSP_MAX_CHANNELS] = { -1, -1 }; -#define HDSP_PREALLOCATE_MEMORY /* via module snd-hdsp_mem */ - -#ifdef HDSP_PREALLOCATE_MEMORY -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +static int snd_hammerfall_get_buffer(struct pci_dev *pci, struct snd_dma_buffer *dmab, size_t size) { - struct snd_dma_device pdev; - struct snd_dma_buffer dmbuf; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - dmbuf.bytes = 0; - if (! snd_dma_get_reserved(&pdev, &dmbuf)) { - if (snd_dma_alloc_pages(&pdev, size, &dmbuf) < 0) - return NULL; - snd_dma_set_reserved(&pdev, &dmbuf); + dmab->dev.type = SNDRV_DMA_TYPE_DEV; + dmab->dev.dev = snd_dma_pci_data(pci); + if (! snd_dma_get_reserved_buf(dmab, snd_dma_pci_buf_id(pci))) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, dmab) < 0) + return -ENOMEM; } - *addrp = dmbuf.addr; - return dmbuf.area; + return 0; } -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) +static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_dev *pci) { - struct snd_dma_device pdev; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - snd_dma_free_reserved(&pdev); + if (dmab->area) + snd_dma_reserve_buf(dmab, snd_dma_pci_buf_id(pci)); } -#else -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) -{ - return snd_malloc_pci_pages(pci, size, addrp); -} - -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) -{ - snd_free_pci_pages(pci, size, ptr, addr); -} -#endif static struct pci_device_id snd_hdsp_ids[] = { { @@ -621,15 +588,15 @@ MODULE_DEVICE_TABLE(pci, snd_hdsp_ids); /* prototypes */ static int __devinit snd_hdsp_create_alsa_devices(snd_card_t *card, hdsp_t *hdsp); static int __devinit snd_hdsp_create_pcm(snd_card_t *card, hdsp_t *hdsp); -static inline int snd_hdsp_enable_io (hdsp_t *hdsp); -static inline void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp); -static inline void snd_hdsp_initialize_channels (hdsp_t *hdsp); -static inline int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout); +static int snd_hdsp_enable_io (hdsp_t *hdsp); +static void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp); +static void snd_hdsp_initialize_channels (hdsp_t *hdsp); +static int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout); static int hdsp_autosync_ref(hdsp_t *hdsp); static int snd_hdsp_set_defaults(hdsp_t *hdsp); -static inline void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp); +static void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp); -static inline int hdsp_playback_to_output_key (hdsp_t *hdsp, int in, int out) +static int hdsp_playback_to_output_key (hdsp_t *hdsp, int in, int out) { switch (hdsp->firmware_rev) { case 0xa: @@ -642,7 +609,7 @@ static inline int hdsp_playback_to_output_key (hdsp_t *hdsp, int in, int out) } } -static inline int hdsp_input_to_output_key (hdsp_t *hdsp, int in, int out) +static int hdsp_input_to_output_key (hdsp_t *hdsp, int in, int out) { switch (hdsp->firmware_rev) { case 0xa: @@ -655,17 +622,17 @@ static inline int hdsp_input_to_output_key (hdsp_t *hdsp, int in, int out) } } -static inline void hdsp_write(hdsp_t *hdsp, int reg, int val) +static void hdsp_write(hdsp_t *hdsp, int reg, int val) { writel(val, hdsp->iobase + reg); } -static inline unsigned int hdsp_read(hdsp_t *hdsp, int reg) +static unsigned int hdsp_read(hdsp_t *hdsp, int reg) { return readl (hdsp->iobase + reg); } -static inline int hdsp_check_for_iobox (hdsp_t *hdsp) +static int hdsp_check_for_iobox (hdsp_t *hdsp) { if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return 0; @@ -738,7 +705,7 @@ static int snd_hdsp_load_firmware_from_cache(hdsp_t *hdsp) { return 0; } -static inline int hdsp_get_iobox_version (hdsp_t *hdsp) +static int hdsp_get_iobox_version (hdsp_t *hdsp) { int err; @@ -781,7 +748,7 @@ static inline int hdsp_get_iobox_version (hdsp_t *hdsp) } -static inline int hdsp_check_for_firmware (hdsp_t *hdsp) +static int hdsp_check_for_firmware (hdsp_t *hdsp) { if (hdsp->io_type == H9652 || hdsp->io_type == H9632) return 0; if ((hdsp_read (hdsp, HDSP_statusRegister) & HDSP_DllError) != 0) { @@ -793,7 +760,7 @@ static inline int hdsp_check_for_firmware (hdsp_t *hdsp) } -static inline int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout) +static int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout) { int i; @@ -818,7 +785,7 @@ static inline int hdsp_fifo_wait(hdsp_t *hdsp, int count, int timeout) return -1; } -static inline int hdsp_read_gain (hdsp_t *hdsp, unsigned int addr) +static int hdsp_read_gain (hdsp_t *hdsp, unsigned int addr) { if (addr >= HDSP_MATRIX_MIXER_SIZE) { return 0; @@ -826,7 +793,7 @@ static inline int hdsp_read_gain (hdsp_t *hdsp, unsigned int addr) return hdsp->mixer_matrix[addr]; } -static inline int hdsp_write_gain(hdsp_t *hdsp, unsigned int addr, unsigned short data) +static int hdsp_write_gain(hdsp_t *hdsp, unsigned int addr, unsigned short data) { unsigned int ad; @@ -835,7 +802,7 @@ static inline int hdsp_write_gain(hdsp_t *hdsp, unsigned int addr, unsigned shor if (hdsp->io_type == H9652 || hdsp->io_type == H9632) { - /* from martin björnsen: + /* from martin björnsen: "You can only write dwords to the mixer memory which contain two @@ -889,7 +856,7 @@ static inline int hdsp_write_gain(hdsp_t *hdsp, unsigned int addr, unsigned shor return 0; } -static inline int snd_hdsp_use_is_exclusive(hdsp_t *hdsp) +static int snd_hdsp_use_is_exclusive(hdsp_t *hdsp) { unsigned long flags; int ret = 1; @@ -903,7 +870,7 @@ static inline int snd_hdsp_use_is_exclusive(hdsp_t *hdsp) return ret; } -static inline int hdsp_external_sample_rate (hdsp_t *hdsp) +static int hdsp_external_sample_rate (hdsp_t *hdsp) { unsigned int status2 = hdsp_read(hdsp, HDSP_status2Register); unsigned int rate_bits = status2 & HDSP_systemFrequencyMask; @@ -920,7 +887,7 @@ static inline int hdsp_external_sample_rate (hdsp_t *hdsp) } } -static inline int hdsp_spdif_sample_rate(hdsp_t *hdsp) +static int hdsp_spdif_sample_rate(hdsp_t *hdsp) { unsigned int status = hdsp_read(hdsp, HDSP_statusRegister); unsigned int rate_bits = (status & HDSP_spdifFrequencyMask); @@ -952,7 +919,7 @@ static inline int hdsp_spdif_sample_rate(hdsp_t *hdsp) return 0; } -static inline void hdsp_compute_period_size(hdsp_t *hdsp) +static void hdsp_compute_period_size(hdsp_t *hdsp) { hdsp->period_bytes = 1 << ((hdsp_decode_latency(hdsp->control_register) + 8)); } @@ -974,24 +941,24 @@ static snd_pcm_uframes_t hdsp_hw_pointer(hdsp_t *hdsp) return position; } -static inline void hdsp_reset_hw_pointer(hdsp_t *hdsp) +static void hdsp_reset_hw_pointer(hdsp_t *hdsp) { hdsp_write (hdsp, HDSP_resetPointer, 0); } -static inline void hdsp_start_audio(hdsp_t *s) +static void hdsp_start_audio(hdsp_t *s) { s->control_register |= (HDSP_AudioInterruptEnable | HDSP_Start); hdsp_write(s, HDSP_controlRegister, s->control_register); } -static inline void hdsp_stop_audio(hdsp_t *s) +static void hdsp_stop_audio(hdsp_t *s) { s->control_register &= ~(HDSP_Start | HDSP_AudioInterruptEnable); hdsp_write(s, HDSP_controlRegister, s->control_register); } -static inline void hdsp_silence_playback(hdsp_t *hdsp) +static void hdsp_silence_playback(hdsp_t *hdsp) { memset(hdsp->playback_buffer, 0, HDSP_DMA_AREA_BYTES); } @@ -1236,7 +1203,7 @@ static int hdsp_set_passthru(hdsp_t *hdsp, int onoff) MIDI ----------------------------------------------------------------------------*/ -static inline unsigned char snd_hdsp_midi_read_byte (hdsp_t *hdsp, int id) +static unsigned char snd_hdsp_midi_read_byte (hdsp_t *hdsp, int id) { /* the hardware already does the relevant bit-mask with 0xff */ if (id) { @@ -1246,7 +1213,7 @@ static inline unsigned char snd_hdsp_midi_read_byte (hdsp_t *hdsp, int id) } } -static inline void snd_hdsp_midi_write_byte (hdsp_t *hdsp, int id, int val) +static void snd_hdsp_midi_write_byte (hdsp_t *hdsp, int id, int val) { /* the hardware already does the relevant bit-mask with 0xff */ if (id) { @@ -1256,7 +1223,7 @@ static inline void snd_hdsp_midi_write_byte (hdsp_t *hdsp, int id, int val) } } -static inline int snd_hdsp_midi_input_available (hdsp_t *hdsp, int id) +static int snd_hdsp_midi_input_available (hdsp_t *hdsp, int id) { if (id) { return (hdsp_read(hdsp, HDSP_midiStatusIn1) & 0xff); @@ -1265,7 +1232,7 @@ static inline int snd_hdsp_midi_input_available (hdsp_t *hdsp, int id) } } -static inline int snd_hdsp_midi_output_possible (hdsp_t *hdsp, int id) +static int snd_hdsp_midi_output_possible (hdsp_t *hdsp, int id) { int fifo_bytes_used; @@ -1282,7 +1249,7 @@ static inline int snd_hdsp_midi_output_possible (hdsp_t *hdsp, int id) } } -static inline void snd_hdsp_flush_midi_input (hdsp_t *hdsp, int id) +static void snd_hdsp_flush_midi_input (hdsp_t *hdsp, int id) { while (snd_hdsp_midi_input_available (hdsp, id)) { snd_hdsp_midi_read_byte (hdsp, id); @@ -1429,13 +1396,12 @@ static void snd_hdsp_midi_output_trigger(snd_rawmidi_substream_t * substream, in static int snd_hdsp_midi_input_open(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); snd_hdsp_flush_midi_input (hmidi->hdsp, hmidi->id); hmidi->input = substream; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1443,12 +1409,11 @@ static int snd_hdsp_midi_input_open(snd_rawmidi_substream_t * substream) static int snd_hdsp_midi_output_open(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); hmidi->output = substream; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1456,14 +1421,13 @@ static int snd_hdsp_midi_output_open(snd_rawmidi_substream_t * substream) static int snd_hdsp_midi_input_close(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; snd_hdsp_midi_input_trigger (substream, 0); hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); hmidi->input = NULL; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1471,14 +1435,13 @@ static int snd_hdsp_midi_input_close(snd_rawmidi_substream_t * substream) static int snd_hdsp_midi_output_close(snd_rawmidi_substream_t * substream) { hdsp_midi_t *hmidi; - unsigned long flags; snd_hdsp_midi_output_trigger (substream, 0); hmidi = (hdsp_midi_t *) substream->rmidi->private_data; - spin_lock_irqsave (&hmidi->lock, flags); + spin_lock_irq (&hmidi->lock); hmidi->output = NULL; - spin_unlock_irqrestore (&hmidi->lock, flags); + spin_unlock_irq (&hmidi->lock); return 0; } @@ -1563,7 +1526,7 @@ static int snd_hdsp_control_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_in static int snd_hdsp_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); snd_hdsp_convert_to_aes(&ucontrol->value.iec958, hdsp->creg_spdif); return 0; @@ -1571,16 +1534,15 @@ static int snd_hdsp_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_va static int snd_hdsp_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_hdsp_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = val != hdsp->creg_spdif; hdsp->creg_spdif = val; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1593,7 +1555,7 @@ static int snd_hdsp_control_spdif_stream_info(snd_kcontrol_t *kcontrol, snd_ctl_ static int snd_hdsp_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); snd_hdsp_convert_to_aes(&ucontrol->value.iec958, hdsp->creg_spdif_stream); return 0; @@ -1601,18 +1563,17 @@ static int snd_hdsp_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_ static int snd_hdsp_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_hdsp_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = val != hdsp->creg_spdif_stream; hdsp->creg_spdif_stream = val; hdsp->control_register &= ~(HDSP_SPDIFProfessional | HDSP_SPDIFNonAudio | HDSP_SPDIFEmphasis); hdsp_write(hdsp, HDSP_controlRegister, hdsp->control_register |= val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1653,7 +1614,7 @@ static int hdsp_set_spdif_input(hdsp_t *hdsp, int in) static int snd_hdsp_info_spdif_in(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[4] = {"Optical", "Coaxial", "Internal", "AES"}; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1666,7 +1627,7 @@ static int snd_hdsp_info_spdif_in(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int snd_hdsp_get_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_spdif_in(hdsp); return 0; @@ -1674,19 +1635,18 @@ static int snd_hdsp_get_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_hdsp_put_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.enumerated.item[0] % ((hdsp->io_type == H9632) ? 4 : 3); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = val != hdsp_spdif_in(hdsp); if (change) hdsp_set_spdif_input(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1722,7 +1682,7 @@ static int snd_hdsp_info_spdif_bits(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_ static int snd_hdsp_get_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_out(hdsp); return 0; @@ -1730,18 +1690,17 @@ static int snd_hdsp_get_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ static int snd_hdsp_put_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_out(hdsp); hdsp_set_spdif_output(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1768,7 +1727,7 @@ static int hdsp_set_spdif_professional(hdsp_t *hdsp, int val) static int snd_hdsp_get_spdif_professional(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_professional(hdsp); return 0; @@ -1776,18 +1735,17 @@ static int snd_hdsp_get_spdif_professional(snd_kcontrol_t * kcontrol, snd_ctl_el static int snd_hdsp_put_spdif_professional(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_professional(hdsp); hdsp_set_spdif_professional(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1814,7 +1772,7 @@ static int hdsp_set_spdif_emphasis(hdsp_t *hdsp, int val) static int snd_hdsp_get_spdif_emphasis(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_emphasis(hdsp); return 0; @@ -1822,18 +1780,17 @@ static int snd_hdsp_get_spdif_emphasis(snd_kcontrol_t * kcontrol, snd_ctl_elem_v static int snd_hdsp_put_spdif_emphasis(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_emphasis(hdsp); hdsp_set_spdif_emphasis(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1860,7 +1817,7 @@ static int hdsp_set_spdif_nonaudio(hdsp_t *hdsp, int val) static int snd_hdsp_get_spdif_nonaudio(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = hdsp_spdif_nonaudio(hdsp); return 0; @@ -1868,18 +1825,17 @@ static int snd_hdsp_get_spdif_nonaudio(snd_kcontrol_t * kcontrol, snd_ctl_elem_v static int snd_hdsp_put_spdif_nonaudio(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_spdif_nonaudio(hdsp); hdsp_set_spdif_nonaudio(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -1895,7 +1851,7 @@ static int snd_hdsp_put_spdif_nonaudio(snd_kcontrol_t * kcontrol, snd_ctl_elem_v static int snd_hdsp_info_spdif_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[] = {"32000", "44100", "48000", "64000", "88200", "96000", "None", "128000", "176400", "192000"}; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1908,7 +1864,7 @@ static int snd_hdsp_info_spdif_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_ele static int snd_hdsp_get_spdif_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); switch (hdsp_spdif_sample_rate(hdsp)) { case 32000: @@ -1962,7 +1918,7 @@ static int snd_hdsp_info_system_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_el static int snd_hdsp_get_system_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp->system_sample_rate; return 0; @@ -1979,7 +1935,7 @@ static int snd_hdsp_get_system_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_el static int snd_hdsp_info_autosync_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); static char *texts[] = {"32000", "44100", "48000", "64000", "88200", "96000", "None", "128000", "176400", "192000"}; uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1992,7 +1948,7 @@ static int snd_hdsp_info_autosync_sample_rate(snd_kcontrol_t *kcontrol, snd_ctl_ static int snd_hdsp_get_autosync_sample_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); switch (hdsp_external_sample_rate(hdsp)) { case 32000: @@ -2062,7 +2018,7 @@ static int snd_hdsp_info_system_clock_mode(snd_kcontrol_t *kcontrol, snd_ctl_ele static int snd_hdsp_get_system_clock_mode(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_system_clock_mode(hdsp); return 0; @@ -2159,7 +2115,7 @@ static int hdsp_set_clock_source(hdsp_t *hdsp, int mode) static int snd_hdsp_info_clock_source(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[] = {"AutoSync", "Internal 32.0 kHz", "Internal 44.1 kHz", "Internal 48.0 kHz", "Internal 64.0 kHz", "Internal 88.2 kHz", "Internal 96.0 kHz", "Internal 128 kHz", "Internal 176.4 kHz", "Internal 192.0 KHz" }; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -2175,7 +2131,7 @@ static int snd_hdsp_info_clock_source(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_hdsp_get_clock_source(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_clock_source(hdsp); return 0; @@ -2183,8 +2139,7 @@ static int snd_hdsp_get_clock_source(snd_kcontrol_t * kcontrol, snd_ctl_elem_val static int snd_hdsp_put_clock_source(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2197,13 +2152,13 @@ static int snd_hdsp_put_clock_source(snd_kcontrol_t * kcontrol, snd_ctl_elem_val } else { if (val > 6) val = 6; } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_clock_source(hdsp)) { change = (hdsp_set_clock_source(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2266,7 +2221,7 @@ static int snd_hdsp_info_da_gain(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_hdsp_get_da_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_da_gain(hdsp); return 0; @@ -2274,8 +2229,7 @@ static int snd_hdsp_get_da_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_hdsp_put_da_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2284,13 +2238,13 @@ static int snd_hdsp_put_da_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t val = ucontrol->value.enumerated.item[0]; if (val < 0) val = 0; if (val > 2) val = 2; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_da_gain(hdsp)) { change = (hdsp_set_da_gain(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2353,7 +2307,7 @@ static int snd_hdsp_info_ad_gain(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_hdsp_get_ad_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_ad_gain(hdsp); return 0; @@ -2361,8 +2315,7 @@ static int snd_hdsp_get_ad_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_hdsp_put_ad_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2371,13 +2324,13 @@ static int snd_hdsp_put_ad_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t val = ucontrol->value.enumerated.item[0]; if (val < 0) val = 0; if (val > 2) val = 2; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_ad_gain(hdsp)) { change = (hdsp_set_ad_gain(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2440,7 +2393,7 @@ static int snd_hdsp_info_phone_gain(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_ static int snd_hdsp_get_phone_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_phone_gain(hdsp); return 0; @@ -2448,8 +2401,7 @@ static int snd_hdsp_get_phone_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value static int snd_hdsp_put_phone_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; @@ -2458,13 +2410,13 @@ static int snd_hdsp_put_phone_gain(snd_kcontrol_t * kcontrol, snd_ctl_elem_value val = ucontrol->value.enumerated.item[0]; if (val < 0) val = 0; if (val > 2) val = 2; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); if (val != hdsp_phone_gain(hdsp)) { change = (hdsp_set_phone_gain(hdsp, val) == 0) ? 1 : 0; } else { change = 0; } - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2507,7 +2459,7 @@ static int snd_hdsp_info_xlr_breakout_cable(snd_kcontrol_t *kcontrol, snd_ctl_el static int snd_hdsp_get_xlr_breakout_cable(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_xlr_breakout_cable(hdsp); return 0; @@ -2515,18 +2467,17 @@ static int snd_hdsp_get_xlr_breakout_cable(snd_kcontrol_t * kcontrol, snd_ctl_el static int snd_hdsp_put_xlr_breakout_cable(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_xlr_breakout_cable(hdsp); hdsp_set_xlr_breakout_cable(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2573,7 +2524,7 @@ static int snd_hdsp_info_aeb(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uin static int snd_hdsp_get_aeb(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_aeb(hdsp); return 0; @@ -2581,18 +2532,17 @@ static int snd_hdsp_get_aeb(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * uc static int snd_hdsp_put_aeb(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_aeb(hdsp); hdsp_set_aeb(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2662,7 +2612,7 @@ static int hdsp_set_pref_sync_ref(hdsp_t *hdsp, int pref) static int snd_hdsp_info_pref_sync_ref(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[] = {"Word", "IEC958", "ADAT1", "ADAT Sync", "ADAT2", "ADAT3" }; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -2691,7 +2641,7 @@ static int snd_hdsp_info_pref_sync_ref(snd_kcontrol_t *kcontrol, snd_ctl_elem_in static int snd_hdsp_get_pref_sync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_pref_sync_ref(hdsp); return 0; @@ -2699,8 +2649,7 @@ static int snd_hdsp_get_pref_sync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_va static int snd_hdsp_put_pref_sync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change, max; unsigned int val; @@ -2723,10 +2672,10 @@ static int snd_hdsp_put_pref_sync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_va } val = ucontrol->value.enumerated.item[0] % max; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_pref_sync_ref(hdsp); hdsp_set_pref_sync_ref(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2780,7 +2729,7 @@ static int snd_hdsp_info_autosync_ref(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_hdsp_get_autosync_ref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_pref_sync_ref(hdsp); return 0; @@ -2806,19 +2755,17 @@ static int snd_hdsp_info_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_info_t static int snd_hdsp_get_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); ucontrol->value.integer.value[0] = hdsp->passthru; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } static int snd_hdsp_put_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; int err = 0; @@ -2827,11 +2774,11 @@ static int snd_hdsp_put_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (ucontrol->value.integer.value[0] != hdsp->passthru); if (change) err = hdsp_set_passthru(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return err ? err : change; } @@ -2871,29 +2818,27 @@ static int snd_hdsp_info_line_out(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int snd_hdsp_get_line_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); ucontrol->value.integer.value[0] = hdsp_line_out(hdsp); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } static int snd_hdsp_put_line_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_hdsp_use_is_exclusive(hdsp)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = (int)val != hdsp_line_out(hdsp); hdsp_set_line_output(hdsp, val); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -2920,8 +2865,7 @@ static int snd_hdsp_info_mixer(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * u static int snd_hdsp_get_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int source; int destination; int addr; @@ -2935,16 +2879,15 @@ static int snd_hdsp_get_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * addr = hdsp_input_to_output_key(hdsp,source, destination); } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); ucontrol->value.integer.value[2] = hdsp_read_gain (hdsp, addr); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } static int snd_hdsp_put_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); int change; int source; int destination; @@ -2965,11 +2908,11 @@ static int snd_hdsp_put_mixer(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * gain = ucontrol->value.integer.value[2]; - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); change = gain != hdsp_read_gain(hdsp, addr); if (change) hdsp_write_gain(hdsp, addr, gain); - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return change; } @@ -3011,7 +2954,7 @@ static int hdsp_wc_sync_check(hdsp_t *hdsp) static int snd_hdsp_get_wc_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_wc_sync_check(hdsp); return 0; @@ -3043,7 +2986,7 @@ static int hdsp_spdif_sync_check(hdsp_t *hdsp) static int snd_hdsp_get_spdif_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_spdif_sync_check(hdsp); return 0; @@ -3074,7 +3017,7 @@ static int hdsp_adatsync_sync_check(hdsp_t *hdsp) static int snd_hdsp_get_adatsync_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); ucontrol->value.enumerated.item[0] = hdsp_adatsync_sync_check(hdsp); return 0; @@ -3105,7 +3048,7 @@ static int hdsp_adat_sync_check(hdsp_t *hdsp, int idx) static int snd_hdsp_get_adat_sync_check(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { int offset; - hdsp_t *hdsp = _snd_kcontrol_chip(kcontrol); + hdsp_t *hdsp = snd_kcontrol_chip(kcontrol); offset = ucontrol->id.index - 1; snd_assert(offset >= 0); @@ -3194,10 +3137,6 @@ HDSP_PASSTHRU("Passthru", 0), HDSP_LINE_OUT("Line Out", 0), }; -#define HDSP_CONTROLS (sizeof(snd_hdsp_controls)/sizeof(snd_kcontrol_new_t)) - -#define HDSP_9632_CONTROLS (sizeof(snd_hdsp_9632_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_hdsp_96xx_aeb = HDSP_AEB("Analog Extension Board", 0); static snd_kcontrol_new_t snd_hdsp_adat_sync_check = HDSP_ADAT_SYNC_CHECK; @@ -3207,7 +3146,7 @@ int snd_hdsp_create_controls(snd_card_t *card, hdsp_t *hdsp) int err; snd_kcontrol_t *kctl; - for (idx = 0; idx < HDSP_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_hdsp_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_controls[idx], hdsp))) < 0) { return err; } @@ -3232,7 +3171,7 @@ int snd_hdsp_create_controls(snd_card_t *card, hdsp_t *hdsp) /* DA, AD and Phone gain and XLR breakout cable controls for H9632 cards */ if (hdsp->io_type == H9632) { - for (idx = 0; idx < HDSP_9632_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_hdsp_9632_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_hdsp_9632_controls[idx], hdsp))) < 0) { return err; } @@ -3583,59 +3522,34 @@ static void __devinit snd_hdsp_proc_init(hdsp_t *hdsp) static void snd_hdsp_free_buffers(hdsp_t *hdsp) { - if (hdsp->capture_buffer_unaligned) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, - hdsp->capture_buffer_unaligned, - hdsp->capture_buffer_addr, 1); - } - - if (hdsp->playback_buffer_unaligned) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, - hdsp->playback_buffer_unaligned, - hdsp->playback_buffer_addr, 0); - } + snd_hammerfall_free_buffer(&hdsp->capture_dma_buf, hdsp->pci); + snd_hammerfall_free_buffer(&hdsp->playback_dma_buf, hdsp->pci); } static int __devinit snd_hdsp_initialize_memory(hdsp_t *hdsp) { - void *pb, *cb; - dma_addr_t pb_addr, cb_addr; unsigned long pb_bus, cb_bus; - cb = snd_hammerfall_get_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, &cb_addr, 1); - pb = snd_hammerfall_get_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, &pb_addr, 0); - - if (cb == 0 || pb == 0) { - if (cb) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, cb, cb_addr, 1); - } - if (pb) { - snd_hammerfall_free_buffer(hdsp->pci, HDSP_DMA_AREA_BYTES, pb, pb_addr, 0); - } - + if (snd_hammerfall_get_buffer(hdsp->pci, &hdsp->capture_dma_buf, HDSP_DMA_AREA_BYTES) < 0 || + snd_hammerfall_get_buffer(hdsp->pci, &hdsp->playback_dma_buf, HDSP_DMA_AREA_BYTES) < 0) { + if (hdsp->capture_dma_buf.area) + snd_dma_free_pages(&hdsp->capture_dma_buf); printk(KERN_ERR "%s: no buffers available\n", hdsp->card_name); return -ENOMEM; } - /* save raw addresses for use when freeing memory later */ - - hdsp->capture_buffer_unaligned = cb; - hdsp->playback_buffer_unaligned = pb; - hdsp->capture_buffer_addr = cb_addr; - hdsp->playback_buffer_addr = pb_addr; - /* Align to bus-space 64K boundary */ - cb_bus = (cb_addr + 0xFFFF) & ~0xFFFFl; - pb_bus = (pb_addr + 0xFFFF) & ~0xFFFFl; + cb_bus = (hdsp->capture_dma_buf.addr + 0xFFFF) & ~0xFFFFl; + pb_bus = (hdsp->playback_dma_buf.addr + 0xFFFF) & ~0xFFFFl; /* Tell the card where it is */ hdsp_write(hdsp, HDSP_inputBufferAddress, cb_bus); hdsp_write(hdsp, HDSP_outputBufferAddress, pb_bus); - hdsp->capture_buffer = cb + (cb_bus - cb_addr); - hdsp->playback_buffer = pb + (pb_bus - pb_addr); + hdsp->capture_buffer = hdsp->capture_dma_buf.area + (cb_bus - hdsp->capture_dma_buf.addr); + hdsp->playback_buffer = hdsp->playback_dma_buf.area + (pb_bus - hdsp->playback_dma_buf.addr); return 0; } @@ -3809,7 +3723,7 @@ static irqreturn_t snd_hdsp_interrupt(int irq, void *dev_id, struct pt_regs *reg static snd_pcm_uframes_t snd_hdsp_hw_pointer(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); return hdsp_hw_pointer(hdsp); } @@ -3836,7 +3750,7 @@ static char *hdsp_channel_buffer_location(hdsp_t *hdsp, static int snd_hdsp_playback_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *src, snd_pcm_uframes_t count) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= HDSP_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -3851,7 +3765,7 @@ static int snd_hdsp_playback_copy(snd_pcm_substream_t *substream, int channel, static int snd_hdsp_capture_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *dst, snd_pcm_uframes_t count) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= HDSP_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -3866,7 +3780,7 @@ static int snd_hdsp_capture_copy(snd_pcm_substream_t *substream, int channel, static int snd_hdsp_hw_silence(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); char *channel_buf; channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel); @@ -3878,7 +3792,7 @@ static int snd_hdsp_hw_silence(snd_pcm_substream_t *substream, int channel, static int snd_hdsp_reset(snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) other = hdsp->capture_substream; @@ -3906,7 +3820,7 @@ static int snd_hdsp_reset(snd_pcm_substream_t *substream) static int snd_hdsp_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); int err; pid_t this_pid; pid_t other_pid; @@ -3989,7 +3903,7 @@ static int snd_hdsp_hw_params(snd_pcm_substream_t *substream, static int snd_hdsp_channel_info(snd_pcm_substream_t *substream, snd_pcm_channel_info_t *info) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); int mapped_channel; snd_assert(info->channel < hdsp->max_channels, return -EINVAL); @@ -4026,7 +3940,7 @@ static int snd_hdsp_ioctl(snd_pcm_substream_t *substream, static int snd_hdsp_trigger(snd_pcm_substream_t *substream, int cmd) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; int running; @@ -4105,7 +4019,7 @@ static int snd_hdsp_trigger(snd_pcm_substream_t *substream, int cmd) static int snd_hdsp_prepare(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); + hdsp_t *hdsp = snd_pcm_substream_chip(substream); int result = 0; if (hdsp_check_for_iobox (hdsp)) { @@ -4123,10 +4037,10 @@ static int snd_hdsp_prepare(snd_pcm_substream_t *substream) return -EIO; } - spin_lock(&hdsp->lock); + spin_lock_irq(&hdsp->lock); if (!hdsp->running) hdsp_reset_hw_pointer(hdsp); - spin_unlock(&hdsp->lock); + spin_unlock_irq(&hdsp->lock); return result; } @@ -4183,20 +4097,16 @@ static snd_pcm_hardware_t snd_hdsp_capture_subinfo = static unsigned int hdsp_period_sizes[] = { 64, 128, 256, 512, 1024, 2048, 4096, 8192 }; -#define HDSP_PERIOD_SIZES sizeof(hdsp_period_sizes) / sizeof(hdsp_period_sizes[0]) - static snd_pcm_hw_constraint_list_t hdsp_hw_constraints_period_sizes = { - .count = HDSP_PERIOD_SIZES, + .count = ARRAY_SIZE(hdsp_period_sizes), .list = hdsp_period_sizes, .mask = 0 }; static unsigned int hdsp_9632_sample_rates[] = { 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000 }; -#define HDSP_9632_SAMPLE_RATES sizeof(hdsp_9632_sample_rates) / sizeof(hdsp_9632_sample_rates[0]) - static snd_pcm_hw_constraint_list_t hdsp_hw_constraints_9632_sample_rates = { - .count = HDSP_9632_SAMPLE_RATES, + .count = ARRAY_SIZE(hdsp_9632_sample_rates), .list = hdsp_9632_sample_rates, .mask = 0 }; @@ -4364,8 +4274,7 @@ static int snd_hdsp_hw_rule_rate_in_channels(snd_pcm_hw_params_t *params, static int snd_hdsp_playback_open(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; if (hdsp_check_for_iobox (hdsp)) { @@ -4383,7 +4292,7 @@ static int snd_hdsp_playback_open(snd_pcm_substream_t *substream) return -EIO; } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); snd_pcm_set_sync(substream); @@ -4399,7 +4308,7 @@ static int snd_hdsp_playback_open(snd_pcm_substream_t *substream) hdsp->playback_pid = current->pid; hdsp->playback_substream = substream; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hdsp_hw_constraints_period_sizes); @@ -4430,15 +4339,14 @@ static int snd_hdsp_playback_open(snd_pcm_substream_t *substream) static int snd_hdsp_playback_release(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); hdsp->playback_pid = -1; hdsp->playback_substream = NULL; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); hdsp->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(hdsp->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -4449,8 +4357,7 @@ static int snd_hdsp_playback_release(snd_pcm_substream_t *substream) static int snd_hdsp_capture_open(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; if (hdsp_check_for_iobox (hdsp)) { @@ -4468,7 +4375,7 @@ static int snd_hdsp_capture_open(snd_pcm_substream_t *substream) return -EIO; } - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); snd_pcm_set_sync(substream); @@ -4484,7 +4391,7 @@ static int snd_hdsp_capture_open(snd_pcm_substream_t *substream) hdsp->capture_pid = current->pid; hdsp->capture_substream = substream; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hdsp_hw_constraints_period_sizes); @@ -4509,15 +4416,14 @@ static int snd_hdsp_capture_open(snd_pcm_substream_t *substream) static int snd_hdsp_capture_release(snd_pcm_substream_t *substream) { - hdsp_t *hdsp = _snd_pcm_substream_chip(substream); - unsigned long flags; + hdsp_t *hdsp = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&hdsp->lock, flags); + spin_lock_irq(&hdsp->lock); hdsp->capture_pid = -1; hdsp->capture_substream = NULL; - spin_unlock_irqrestore(&hdsp->lock, flags); + spin_unlock_irq(&hdsp->lock); return 0; } @@ -4830,19 +4736,13 @@ static int __devinit snd_hdsp_create_pcm(snd_card_t *card, return 0; } -static inline void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp) +static void snd_hdsp_9652_enable_mixer (hdsp_t *hdsp) { hdsp->control2_register |= HDSP_9652_ENABLE_MIXER; hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register); } -static inline void snd_hdsp_9652_disable_mixer (hdsp_t *hdsp) -{ - hdsp->control2_register &= ~HDSP_9652_ENABLE_MIXER; - hdsp_write (hdsp, HDSP_control2Reg, hdsp->control2_register); -} - -static inline int snd_hdsp_enable_io (hdsp_t *hdsp) +static int snd_hdsp_enable_io (hdsp_t *hdsp) { int i; @@ -4858,7 +4758,7 @@ static inline int snd_hdsp_enable_io (hdsp_t *hdsp) return 0; } -static inline void snd_hdsp_initialize_channels(hdsp_t *hdsp) +static void snd_hdsp_initialize_channels(hdsp_t *hdsp) { int status, aebi_channels, aebo_channels; @@ -4901,7 +4801,7 @@ static inline void snd_hdsp_initialize_channels(hdsp_t *hdsp) } } -static inline void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp) +static void snd_hdsp_initialize_midi_flush (hdsp_t *hdsp) { snd_hdsp_flush_midi_input (hdsp, 0); snd_hdsp_flush_midi_input (hdsp, 1); @@ -4980,7 +4880,6 @@ static int __devinit snd_hdsp_create(snd_card_t *card, spin_lock_init(&hdsp->midi[0].lock); spin_lock_init(&hdsp->midi[1].lock); hdsp->iobase = 0; - hdsp->res_port = NULL; hdsp->control_register = 0; hdsp->control2_register = 0; hdsp->io_type = Undefined; @@ -5035,13 +4934,9 @@ static int __devinit snd_hdsp_create(snd_card_t *card, pci_set_master(hdsp->pci); + if ((err = pci_request_regions(pci, "hdsp")) < 0) + return err; hdsp->port = pci_resource_start(pci, 0); - - if ((hdsp->res_port = request_mem_region(hdsp->port, HDSP_IO_EXTENT, "hdsp")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", hdsp->port, hdsp->port + HDSP_IO_EXTENT - 1); - return -EBUSY; - } - if ((hdsp->iobase = (unsigned long) ioremap_nocache(hdsp->port, HDSP_IO_EXTENT)) == 0) { snd_printk("unable to remap region 0x%lx-0x%lx\n", hdsp->port, hdsp->port + HDSP_IO_EXTENT - 1); return -EBUSY; @@ -5114,7 +5009,7 @@ static int __devinit snd_hdsp_create(snd_card_t *card, static int snd_hdsp_free(hdsp_t *hdsp) { - if (hdsp->res_port) { + if (hdsp->port) { /* stop the audio, and cancel all interrupts */ hdsp->control_register &= ~(HDSP_Start|HDSP_AudioInterruptEnable|HDSP_Midi0InterruptEnable|HDSP_Midi1InterruptEnable); hdsp_write (hdsp, HDSP_controlRegister, hdsp->control_register); @@ -5128,10 +5023,8 @@ static int snd_hdsp_free(hdsp_t *hdsp) if (hdsp->iobase) iounmap((void *) hdsp->iobase); - if (hdsp->res_port) { - release_resource(hdsp->res_port); - kfree_nocheck(hdsp->res_port); - } + if (hdsp->port) + pci_release_regions(hdsp->pci); return 0; } diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c index e1abd9813..c6cbccce4 100644 --- a/sound/pci/rme9652/rme9652.c +++ b/sound/pci/rme9652/rme9652.c @@ -46,21 +46,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for RME Digi9652 (Hammerfall) soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for RME Digi9652 (Hammerfall) soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable/disable specific RME96{52,36} soundcards."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(precise_ptr, bool, boot_devs, 0444); MODULE_PARM_DESC(precise_ptr, "Enable precise pointer (doesn't work reliably)."); -MODULE_PARM_SYNTAX(precise_ptr, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); MODULE_AUTHOR("Paul Davis , Winfried Ritsch"); MODULE_DESCRIPTION("RME Digi9652/Digi9636"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{RME,Hammerfall}," +MODULE_SUPPORTED_DEVICE("{{RME,Hammerfall}," "{RME,Hammerfall-Light}}"); /* The Hammerfall has two sets of 24 ADAT + 2 S/PDIF channels, one for @@ -217,7 +212,6 @@ typedef struct snd_rme9652 { spinlock_t lock; int irq; unsigned long port; - struct resource *res_port; unsigned long iobase; int precise_ptr; @@ -239,12 +233,11 @@ typedef struct snd_rme9652 { unsigned char ds_channels; unsigned char ss_channels; /* different for hammerfall/hammerfall-light */ - void *capture_buffer_unaligned; /* original buffer addresses */ - void *playback_buffer_unaligned; /* original buffer addresses */ + struct snd_dma_buffer playback_dma_buf; + struct snd_dma_buffer capture_dma_buf; + unsigned char *capture_buffer; /* suitably aligned address */ unsigned char *playback_buffer; /* suitably aligned address */ - dma_addr_t capture_buffer_addr; - dma_addr_t playback_buffer_addr; pid_t capture_pid; pid_t playback_pid; @@ -307,50 +300,24 @@ static char channel_map_9636_ds[26] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; -#define RME9652_PREALLOCATE_MEMORY /* via module snd-hammerfall-mem */ - -#ifdef RME9652_PREALLOCATE_MEMORY -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +static int snd_hammerfall_get_buffer(struct pci_dev *pci, struct snd_dma_buffer *dmab, size_t size) { - struct snd_dma_device pdev; - struct snd_dma_buffer dmbuf; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - dmbuf.bytes = 0; - if (! snd_dma_get_reserved(&pdev, &dmbuf)) { - if (snd_dma_alloc_pages(&pdev, size, &dmbuf) < 0) - return NULL; - snd_dma_set_reserved(&pdev, &dmbuf); + dmab->dev.type = SNDRV_DMA_TYPE_DEV; + dmab->dev.dev = snd_dma_pci_data(pci); + if (! snd_dma_get_reserved_buf(dmab, snd_dma_pci_buf_id(pci))) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(pci), + size, dmab) < 0) + return -ENOMEM; } - *addrp = dmbuf.addr; - return dmbuf.area; -} - -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) -{ - struct snd_dma_device pdev; - - memset(&pdev, 0, sizeof(pdev)); - pdev.type = SNDRV_DMA_TYPE_DEV; - pdev.dev = snd_dma_pci_data(pci); - pdev.id = capture; - snd_dma_free_reserved(&pdev); + return 0; } -#else -static void *snd_hammerfall_get_buffer(struct pci_dev *pci, size_t size, dma_addr_t *addrp, int capture) +static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_dev *pci) { - return snd_malloc_pci_pages(pci, size, addrp); + if (dmab->area) + snd_dma_reserve_buf(dmab, snd_dma_pci_buf_id(pci)); } -static void snd_hammerfall_free_buffer(struct pci_dev *pci, size_t size, void *ptr, dma_addr_t addr, int capture) -{ - snd_free_pci_pages(pci, size, ptr, addr); -} -#endif static struct pci_device_id snd_rme9652_ids[] = { { @@ -858,7 +825,7 @@ static int snd_rme9652_control_spdif_info(snd_kcontrol_t *kcontrol, snd_ctl_elem static int snd_rme9652_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); snd_rme9652_convert_to_aes(&ucontrol->value.iec958, rme9652->creg_spdif); return 0; @@ -866,16 +833,15 @@ static int snd_rme9652_control_spdif_get(snd_kcontrol_t * kcontrol, snd_ctl_elem static int snd_rme9652_control_spdif_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme9652_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652->creg_spdif; rme9652->creg_spdif = val; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -888,7 +854,7 @@ static int snd_rme9652_control_spdif_stream_info(snd_kcontrol_t *kcontrol, snd_c static int snd_rme9652_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); snd_rme9652_convert_to_aes(&ucontrol->value.iec958, rme9652->creg_spdif_stream); return 0; @@ -896,18 +862,17 @@ static int snd_rme9652_control_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_c static int snd_rme9652_control_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; u32 val; val = snd_rme9652_convert_from_aes(&ucontrol->value.iec958); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652->creg_spdif_stream; rme9652->creg_spdif_stream = val; rme9652->control_register &= ~(RME9652_PRO | RME9652_Dolby | RME9652_EMP); rme9652_write(rme9652, RME9652_control_register, rme9652->control_register |= val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -977,30 +942,28 @@ static int snd_rme9652_info_adat1_in(snd_kcontrol_t *kcontrol, snd_ctl_elem_info static int snd_rme9652_get_adat1_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_adat1_in(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_adat1_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_rme9652_use_is_exclusive(rme9652)) return -EBUSY; val = ucontrol->value.enumerated.item[0] % 2; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652_adat1_in(rme9652); if (change) rme9652_set_adat1_input(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1050,30 +1013,28 @@ static int snd_rme9652_info_spdif_in(snd_kcontrol_t *kcontrol, snd_ctl_elem_info static int snd_rme9652_get_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_spdif_in(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_spdif_in(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_rme9652_use_is_exclusive(rme9652)) return -EBUSY; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = val != rme9652_spdif_in(rme9652); if (change) rme9652_set_spdif_input(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1121,29 +1082,27 @@ static int snd_rme9652_info_spdif_out(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_rme9652_get_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.integer.value[0] = rme9652_spdif_out(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_spdif_out(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; if (!snd_rme9652_use_is_exclusive(rme9652)) return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (int)val != rme9652_spdif_out(rme9652); rme9652_set_spdif_output(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1210,27 +1169,25 @@ static int snd_rme9652_info_sync_mode(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_rme9652_get_sync_mode(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_sync_mode(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_sync_mode(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; val = ucontrol->value.enumerated.item[0] % 3; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (int)val != rme9652_sync_mode(rme9652); rme9652_set_sync_mode(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } @@ -1291,7 +1248,7 @@ static int rme9652_set_sync_pref(rme9652_t *rme9652, int pref) static int snd_rme9652_info_sync_pref(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { static char *texts[4] = {"IEC958 In", "ADAT1 In", "ADAT2 In", "ADAT3 In"}; - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED; uinfo->count = 1; @@ -1304,19 +1261,17 @@ static int snd_rme9652_info_sync_pref(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_rme9652_get_sync_pref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.enumerated.item[0] = rme9652_sync_pref(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_sync_pref(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change, max; unsigned int val; @@ -1324,16 +1279,16 @@ static int snd_rme9652_put_sync_pref(snd_kcontrol_t * kcontrol, snd_ctl_elem_val return -EBUSY; max = rme9652->ss_channels == RME9652_NCHANNELS ? 4 : 3; val = ucontrol->value.enumerated.item[0] % max; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (int)val != rme9652_sync_pref(rme9652); rme9652_set_sync_pref(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return change; } static int snd_rme9652_info_thru(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * uinfo) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN; uinfo->count = rme9652->ss_channels; uinfo->value.integer.min = 0; @@ -1343,7 +1298,7 @@ static int snd_rme9652_info_thru(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t * static int snd_rme9652_get_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); unsigned int k; u32 thru_bits = rme9652->thru_bits; @@ -1355,8 +1310,7 @@ static int snd_rme9652_get_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_rme9652_put_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int chn; u32 thru_bits = 0; @@ -1369,7 +1323,7 @@ static int snd_rme9652_put_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t thru_bits |= 1 << chn; } - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = thru_bits ^ rme9652->thru_bits; if (change) { for (chn = 0; chn < rme9652->ss_channels; ++chn) { @@ -1378,7 +1332,7 @@ static int snd_rme9652_put_thru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t rme9652_set_thru(rme9652,chn,thru_bits&(1<lock, flags); + spin_unlock_irq(&rme9652->lock); return !!change; } @@ -1399,19 +1353,17 @@ static int snd_rme9652_info_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_inf static int snd_rme9652_get_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.integer.value[0] = rme9652->passthru; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } static int snd_rme9652_put_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); int change; unsigned int val; int err = 0; @@ -1420,11 +1372,11 @@ static int snd_rme9652_put_passthru(snd_kcontrol_t * kcontrol, snd_ctl_elem_valu return -EBUSY; val = ucontrol->value.integer.value[0] & 1; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); change = (ucontrol->value.integer.value[0] != rme9652->passthru); if (change) err = rme9652_set_passthru(rme9652, val); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return err ? err : change; } @@ -1447,12 +1399,11 @@ static int snd_rme9652_info_spdif_rate(snd_kcontrol_t *kcontrol, snd_ctl_elem_in static int snd_rme9652_get_spdif_rate(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); - unsigned long flags; + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); ucontrol->value.integer.value[0] = rme9652_spdif_sample_rate(rme9652); - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } @@ -1477,7 +1428,7 @@ static int snd_rme9652_info_adat_sync(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_rme9652_get_adat_sync(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); unsigned int mask1, mask2, val; switch (kcontrol->private_value) { @@ -1509,7 +1460,7 @@ static int snd_rme9652_info_tc_valid(snd_kcontrol_t *kcontrol, snd_ctl_elem_info static int snd_rme9652_get_tc_valid(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - rme9652_t *rme9652 = _snd_kcontrol_chip(kcontrol); + rme9652_t *rme9652 = snd_kcontrol_chip(kcontrol); ucontrol->value.integer.value[0] = (rme9652_read(rme9652, RME9652_status_register) & RME9652_tc_valid) ? 1 : 0; @@ -1573,8 +1524,6 @@ static int snd_rme9652_get_tc_value(void *private_data, #endif /* ALSA_HAS_STANDARD_WAY_OF_RETURNING_TIMECODE */ -#define RME9652_CONTROLS (sizeof(snd_rme9652_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_rme9652_controls[] = { { .iface = SNDRV_CTL_ELEM_IFACE_PCM, @@ -1642,7 +1591,7 @@ int snd_rme9652_create_controls(snd_card_t *card, rme9652_t *rme9652) int err; snd_kcontrol_t *kctl; - for (idx = 0; idx < RME9652_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_rme9652_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_rme9652_controls[idx], rme9652))) < 0) return err; if (idx == 1) /* IEC958 (S/PDIF) Stream */ @@ -1847,17 +1796,8 @@ static void __devinit snd_rme9652_proc_init(rme9652_t *rme9652) static void snd_rme9652_free_buffers(rme9652_t *rme9652) { - if (rme9652->capture_buffer_unaligned) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, - rme9652->capture_buffer_unaligned, - rme9652->capture_buffer_addr, 1); - } - - if (rme9652->playback_buffer_unaligned) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, - rme9652->playback_buffer_unaligned, - rme9652->playback_buffer_addr, 0); - } + snd_hammerfall_free_buffer(&rme9652->capture_dma_buf, rme9652->pci); + snd_hammerfall_free_buffer(&rme9652->playback_dma_buf, rme9652->pci); } static int snd_rme9652_free(rme9652_t *rme9652) @@ -1866,57 +1806,40 @@ static int snd_rme9652_free(rme9652_t *rme9652) rme9652_stop(rme9652); snd_rme9652_free_buffers(rme9652); - if (rme9652->iobase) - iounmap((void *) rme9652->iobase); - if (rme9652->res_port) { - release_resource(rme9652->res_port); - kfree_nocheck(rme9652->res_port); - } if (rme9652->irq >= 0) free_irq(rme9652->irq, (void *)rme9652); + if (rme9652->iobase) + iounmap((void *) rme9652->iobase); + if (rme9652->port) + pci_release_regions(rme9652->pci); + return 0; } static int __devinit snd_rme9652_initialize_memory(rme9652_t *rme9652) { - void *pb, *cb; - dma_addr_t pb_addr, cb_addr; unsigned long pb_bus, cb_bus; - cb = snd_hammerfall_get_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, &cb_addr, 1); - pb = snd_hammerfall_get_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, &pb_addr, 0); - - if (cb == 0 || pb == 0) { - if (cb) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, cb, cb_addr, 1); - } - if (pb) { - snd_hammerfall_free_buffer(rme9652->pci, RME9652_DMA_AREA_BYTES, pb, pb_addr, 0); - } - + if (snd_hammerfall_get_buffer(rme9652->pci, &rme9652->capture_dma_buf, RME9652_DMA_AREA_BYTES) < 0 || + snd_hammerfall_get_buffer(rme9652->pci, &rme9652->playback_dma_buf, RME9652_DMA_AREA_BYTES) < 0) { + if (rme9652->capture_dma_buf.area) + snd_dma_free_pages(&rme9652->capture_dma_buf); printk(KERN_ERR "%s: no buffers available\n", rme9652->card_name); return -ENOMEM; } - /* save raw addresses for use when freeing memory later */ - - rme9652->capture_buffer_unaligned = cb; - rme9652->playback_buffer_unaligned = pb; - rme9652->capture_buffer_addr = cb_addr; - rme9652->playback_buffer_addr = pb_addr; - /* Align to bus-space 64K boundary */ - cb_bus = (cb_addr + 0xFFFF) & ~0xFFFFl; - pb_bus = (pb_addr + 0xFFFF) & ~0xFFFFl; + cb_bus = (rme9652->capture_dma_buf.addr + 0xFFFF) & ~0xFFFFl; + pb_bus = (rme9652->playback_dma_buf.addr + 0xFFFF) & ~0xFFFFl; /* Tell the card where it is */ rme9652_write(rme9652, RME9652_rec_buffer, cb_bus); rme9652_write(rme9652, RME9652_play_buffer, pb_bus); - rme9652->capture_buffer = cb + (cb_bus - cb_addr); - rme9652->playback_buffer = pb + (pb_bus - pb_addr); + rme9652->capture_buffer = rme9652->capture_dma_buf.area + (cb_bus - rme9652->capture_dma_buf.addr); + rme9652->playback_buffer = rme9652->playback_dma_buf.area + (pb_bus - rme9652->playback_dma_buf.addr); return 0; } @@ -1984,7 +1907,7 @@ static irqreturn_t snd_rme9652_interrupt(int irq, void *dev_id, struct pt_regs * static snd_pcm_uframes_t snd_rme9652_hw_pointer(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); return rme9652_hw_pointer(rme9652); } @@ -2013,7 +1936,7 @@ static char *rme9652_channel_buffer_location(rme9652_t *rme9652, static int snd_rme9652_playback_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *src, snd_pcm_uframes_t count) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= RME9652_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -2030,7 +1953,7 @@ static int snd_rme9652_playback_copy(snd_pcm_substream_t *substream, int channel static int snd_rme9652_capture_copy(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, void __user *dst, snd_pcm_uframes_t count) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); char *channel_buf; snd_assert(pos + count <= RME9652_CHANNEL_BUFFER_BYTES / 4, return -EINVAL); @@ -2047,7 +1970,7 @@ static int snd_rme9652_capture_copy(snd_pcm_substream_t *substream, int channel, static int snd_rme9652_hw_silence(snd_pcm_substream_t *substream, int channel, snd_pcm_uframes_t pos, snd_pcm_uframes_t count) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); char *channel_buf; channel_buf = rme9652_channel_buffer_location (rme9652, @@ -2061,7 +1984,7 @@ static int snd_rme9652_hw_silence(snd_pcm_substream_t *substream, int channel, static int snd_rme9652_reset(snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) other = rme9652->capture_substream; @@ -2089,7 +2012,7 @@ static int snd_rme9652_reset(snd_pcm_substream_t *substream) static int snd_rme9652_hw_params(snd_pcm_substream_t *substream, snd_pcm_hw_params_t *params) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); int err; pid_t this_pid; pid_t other_pid; @@ -2154,7 +2077,7 @@ static int snd_rme9652_hw_params(snd_pcm_substream_t *substream, static int snd_rme9652_channel_info(snd_pcm_substream_t *substream, snd_pcm_channel_info_t *info) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); int chn; snd_assert(info->channel < RME9652_NCHANNELS, return -EINVAL); @@ -2197,7 +2120,7 @@ static void rme9652_silence_playback(rme9652_t *rme9652) static int snd_rme9652_trigger(snd_pcm_substream_t *substream, int cmd) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_substream_t *other; int running; spin_lock(&rme9652->lock); @@ -2260,13 +2183,14 @@ static int snd_rme9652_trigger(snd_pcm_substream_t *substream, static int snd_rme9652_prepare(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); + unsigned long flags; int result = 0; - spin_lock(&rme9652->lock); + spin_lock_irqsave(&rme9652->lock, flags); if (!rme9652->running) rme9652_reset_hw_pointer(rme9652); - spin_unlock(&rme9652->lock); + spin_unlock_irqrestore(&rme9652->lock, flags); return result; } @@ -2319,10 +2243,8 @@ static snd_pcm_hardware_t snd_rme9652_capture_subinfo = static unsigned int period_sizes[] = { 64, 128, 256, 512, 1024, 2048, 4096, 8192 }; -#define PERIOD_SIZES sizeof(period_sizes) / sizeof(period_sizes[0]) - static snd_pcm_hw_constraint_list_t hw_constraints_period_sizes = { - .count = PERIOD_SIZES, + .count = ARRAY_SIZE(period_sizes), .list = period_sizes, .mask = 0 }; @@ -2386,11 +2308,10 @@ static int snd_rme9652_hw_rule_rate_channels(snd_pcm_hw_params_t *params, static int snd_rme9652_playback_open(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); snd_pcm_set_sync(substream); @@ -2406,7 +2327,7 @@ static int snd_rme9652_playback_open(snd_pcm_substream_t *substream) rme9652->playback_pid = current->pid; rme9652->playback_substream = substream; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes); @@ -2429,15 +2350,14 @@ static int snd_rme9652_playback_open(snd_pcm_substream_t *substream) static int snd_rme9652_playback_release(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); rme9652->playback_pid = -1; rme9652->playback_substream = NULL; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); rme9652->spdif_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(rme9652->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -2448,11 +2368,10 @@ static int snd_rme9652_playback_release(snd_pcm_substream_t *substream) static int snd_rme9652_capture_open(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); snd_pcm_set_sync(substream); @@ -2468,7 +2387,7 @@ static int snd_rme9652_capture_open(snd_pcm_substream_t *substream) rme9652->capture_pid = current->pid; rme9652->capture_substream = substream; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); snd_pcm_hw_constraint_msbits(runtime, 0, 32, 24); snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_PERIOD_SIZE, &hw_constraints_period_sizes); @@ -2486,15 +2405,14 @@ static int snd_rme9652_capture_open(snd_pcm_substream_t *substream) static int snd_rme9652_capture_release(snd_pcm_substream_t *substream) { - rme9652_t *rme9652 = _snd_pcm_substream_chip(substream); - unsigned long flags; + rme9652_t *rme9652 = snd_pcm_substream_chip(substream); - spin_lock_irqsave(&rme9652->lock, flags); + spin_lock_irq(&rme9652->lock); rme9652->capture_pid = -1; rme9652->capture_substream = NULL; - spin_unlock_irqrestore(&rme9652->lock, flags); + spin_unlock_irq(&rme9652->lock); return 0; } @@ -2576,12 +2494,9 @@ static int __devinit snd_rme9652_create(snd_card_t *card, spin_lock_init(&rme9652->lock); + if ((err = pci_request_regions(pci, "rme9652")) < 0) + return err; rme9652->port = pci_resource_start(pci, 0); - if ((rme9652->res_port = request_mem_region(rme9652->port, RME9652_IO_EXTENT, "rme9652")) == NULL) { - snd_printk("unable to grab memory region 0x%lx-0x%lx\n", rme9652->port, rme9652->port + RME9652_IO_EXTENT - 1); - return -EBUSY; - } - rme9652->iobase = (unsigned long) ioremap_nocache(rme9652->port, RME9652_IO_EXTENT); if (rme9652->iobase == 0) { snd_printk("unable to remap region 0x%lx-0x%lx\n", rme9652->port, rme9652->port + RME9652_IO_EXTENT - 1); diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c index af77bd803..bb6802714 100644 --- a/sound/pci/sonicvibes.c +++ b/sound/pci/sonicvibes.c @@ -44,8 +44,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("S3 SonicVibes PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{S3,SonicVibes PCI}}"); +MODULE_SUPPORTED_DEVICE("{{S3,SonicVibes PCI}}"); #ifndef PCI_VENDOR_ID_S3 #define PCI_VENDOR_ID_S3 0x5333 @@ -64,22 +63,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(reverb, bool, boot_devs, 0444); MODULE_PARM_DESC(reverb, "Enable reverb (SRAM is present) for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(reverb, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param_array(mge, bool, boot_devs, 0444); MODULE_PARM_DESC(mge, "MIC Gain Enable for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(mge, SNDRV_ENABLED "," SNDRV_ENABLE_DESC); module_param(dmaio, uint, 0444); MODULE_PARM_DESC(dmaio, "DDMA i/o base address for S3 SonicVibes soundcard."); -MODULE_PARM_SYNTAX(dmaio, "global," SNDRV_PORT_DESC); /* * Enhanced port direct registers @@ -207,7 +200,6 @@ MODULE_PARM_SYNTAX(dmaio, "global," SNDRV_PORT_DESC); */ typedef struct _snd_sonicvibes sonicvibes_t; -#define chip_t sonicvibes_t struct _snd_sonicvibes { unsigned long dma1size; @@ -215,13 +207,9 @@ struct _snd_sonicvibes { int irq; unsigned long sb_port; - struct resource *res_sb_port; unsigned long enh_port; - struct resource *res_enh_port; unsigned long synth_port; - struct resource *res_synth_port; unsigned long midi_port; - struct resource *res_midi_port; unsigned long game_port; unsigned int dmaa_port; struct resource *res_dmaa; @@ -599,7 +587,7 @@ static int snd_sonicvibes_trigger(sonicvibes_t * sonic, int what, int cmd) static irqreturn_t snd_sonicvibes_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, dev_id, return IRQ_NONE); + sonicvibes_t *sonic = dev_id; unsigned char status; status = inb(SV_REG(sonic, STATUS)); @@ -689,7 +677,6 @@ static int snd_sonicvibes_hw_free(snd_pcm_substream_t * substream) static int snd_sonicvibes_playback_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; sonicvibes_t *sonic = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned char fmt = 0; @@ -704,17 +691,16 @@ static int snd_sonicvibes_playback_prepare(snd_pcm_substream_t * substream) fmt |= 2; snd_sonicvibes_setfmt(sonic, ~3, fmt); snd_sonicvibes_set_dac_rate(sonic, runtime->rate); - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); snd_sonicvibes_setdmaa(sonic, runtime->dma_addr, size); snd_sonicvibes_out1(sonic, SV_IREG_DMA_A_UPPER, count >> 8); snd_sonicvibes_out1(sonic, SV_IREG_DMA_A_LOWER, count); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return 0; } static int snd_sonicvibes_capture_prepare(snd_pcm_substream_t * substream) { - unsigned long flags; sonicvibes_t *sonic = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; unsigned char fmt = 0; @@ -730,11 +716,11 @@ static int snd_sonicvibes_capture_prepare(snd_pcm_substream_t * substream) fmt |= 0x20; snd_sonicvibes_setfmt(sonic, ~0x30, fmt); snd_sonicvibes_set_adc_rate(sonic, runtime->rate); - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); snd_sonicvibes_setdmac(sonic, runtime->dma_addr, size); snd_sonicvibes_out1(sonic, SV_IREG_DMA_C_UPPER, count >> 8); snd_sonicvibes_out1(sonic, SV_IREG_DMA_C_LOWER, count); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return 0; } @@ -864,7 +850,7 @@ static snd_pcm_ops_t snd_sonicvibes_capture_ops = { static void snd_sonicvibes_pcm_free(snd_pcm_t *pcm) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, pcm->private_data, return); + sonicvibes_t *sonic = pcm->private_data; sonic->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -922,19 +908,17 @@ static int snd_sonicvibes_info_mux(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int snd_sonicvibes_get_mux(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); ucontrol->value.enumerated.item[0] = ((snd_sonicvibes_in1(sonic, SV_IREG_LEFT_ADC) & SV_RECSRC_OUT) >> 5) - 1; ucontrol->value.enumerated.item[1] = ((snd_sonicvibes_in1(sonic, SV_IREG_RIGHT_ADC) & SV_RECSRC_OUT) >> 5) - 1; - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return 0; } static int snd_sonicvibes_put_mux(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned short left, right, oval1, oval2; int change; @@ -943,7 +927,7 @@ static int snd_sonicvibes_put_mux(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ return -EINVAL; left = (ucontrol->value.enumerated.item[0] + 1) << 5; right = (ucontrol->value.enumerated.item[1] + 1) << 5; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); oval1 = snd_sonicvibes_in1(sonic, SV_IREG_LEFT_ADC); oval2 = snd_sonicvibes_in1(sonic, SV_IREG_RIGHT_ADC); left = (oval1 & ~SV_RECSRC_OUT) | left; @@ -951,7 +935,7 @@ static int snd_sonicvibes_put_mux(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_ change = left != oval1 || right != oval2; snd_sonicvibes_out1(sonic, SV_IREG_LEFT_ADC, left); snd_sonicvibes_out1(sonic, SV_IREG_RIGHT_ADC, right); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return change; } @@ -975,15 +959,14 @@ static int snd_sonicvibes_info_single(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_sonicvibes_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; int invert = (kcontrol->private_value >> 24) & 0xff; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); ucontrol->value.integer.value[0] = (snd_sonicvibes_in1(sonic, reg)>> shift) & mask; - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); if (invert) ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0]; return 0; @@ -992,7 +975,6 @@ static int snd_sonicvibes_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_val static int snd_sonicvibes_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int reg = kcontrol->private_value & 0xff; int shift = (kcontrol->private_value >> 8) & 0xff; int mask = (kcontrol->private_value >> 16) & 0xff; @@ -1004,12 +986,12 @@ static int snd_sonicvibes_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_val if (invert) val = mask - val; val <<= shift; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); oval = snd_sonicvibes_in1(sonic, reg); val = (oval & ~(mask << shift)) | val; change = val != oval; snd_sonicvibes_out1(sonic, reg, val); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return change; } @@ -1033,7 +1015,6 @@ static int snd_sonicvibes_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_inf static int snd_sonicvibes_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int left_reg = kcontrol->private_value & 0xff; int right_reg = (kcontrol->private_value >> 8) & 0xff; int shift_left = (kcontrol->private_value >> 16) & 0x07; @@ -1041,10 +1022,10 @@ static int snd_sonicvibes_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_val int mask = (kcontrol->private_value >> 24) & 0xff; int invert = (kcontrol->private_value >> 22) & 1; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); ucontrol->value.integer.value[0] = (snd_sonicvibes_in1(sonic, left_reg) >> shift_left) & mask; ucontrol->value.integer.value[1] = (snd_sonicvibes_in1(sonic, right_reg) >> shift_right) & mask; - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); if (invert) { ucontrol->value.integer.value[0] = mask - ucontrol->value.integer.value[0]; ucontrol->value.integer.value[1] = mask - ucontrol->value.integer.value[1]; @@ -1055,7 +1036,6 @@ static int snd_sonicvibes_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_val static int snd_sonicvibes_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); - unsigned long flags; int left_reg = kcontrol->private_value & 0xff; int right_reg = (kcontrol->private_value >> 8) & 0xff; int shift_left = (kcontrol->private_value >> 16) & 0x07; @@ -1073,7 +1053,7 @@ static int snd_sonicvibes_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_val } val1 <<= shift_left; val2 <<= shift_right; - spin_lock_irqsave(&sonic->reg_lock, flags); + spin_lock_irq(&sonic->reg_lock); oval1 = snd_sonicvibes_in1(sonic, left_reg); oval2 = snd_sonicvibes_in1(sonic, right_reg); val1 = (oval1 & ~(mask << shift_left)) | val1; @@ -1081,12 +1061,10 @@ static int snd_sonicvibes_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_val change = val1 != oval1 || val2 != oval2; snd_sonicvibes_out1(sonic, left_reg, val1); snd_sonicvibes_out1(sonic, right_reg, val2); - spin_unlock_irqrestore(&sonic->reg_lock, flags); + spin_unlock_irq(&sonic->reg_lock); return change; } -#define SONICVIBES_CONTROLS (sizeof(snd_sonicvibes_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_sonicvibes_controls[] __devinitdata = { SONICVIBES_DOUBLE("Capture Volume", 0, SV_IREG_LEFT_ADC, SV_IREG_RIGHT_ADC, 0, 0, 15, 0), SONICVIBES_DOUBLE("Aux Playback Switch", 0, SV_IREG_LEFT_AUX1, SV_IREG_RIGHT_AUX1, 7, 7, 1, 1), @@ -1113,7 +1091,7 @@ SONICVIBES_MUX("Capture Source", 0) static void snd_sonicvibes_master_free(snd_kcontrol_t *kcontrol) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, _snd_kcontrol_chip(kcontrol), return); + sonicvibes_t *sonic = snd_kcontrol_chip(kcontrol); sonic->master_mute = NULL; sonic->master_volume = NULL; } @@ -1129,7 +1107,7 @@ static int __devinit snd_sonicvibes_mixer(sonicvibes_t * sonic) card = sonic->card; strcpy(card->mixername, "S3 SonicVibes"); - for (idx = 0; idx < SONICVIBES_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_sonicvibes_controls); idx++) { if ((err = snd_ctl_add(card, kctl = snd_ctl_new1(&snd_sonicvibes_controls[idx], sonic))) < 0) return err; switch (idx) { @@ -1147,7 +1125,7 @@ static int __devinit snd_sonicvibes_mixer(sonicvibes_t * sonic) static void snd_sonicvibes_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, entry->private_data, return); + sonicvibes_t *sonic = entry->private_data; unsigned char tmp; tmp = sonic->srs_space & 0x0f; @@ -1197,22 +1175,8 @@ static int snd_sonicvibes_free(sonicvibes_t *sonic) #endif pci_write_config_dword(sonic->pci, 0x40, sonic->dmaa_port); pci_write_config_dword(sonic->pci, 0x48, sonic->dmac_port); - if (sonic->res_sb_port) { - release_resource(sonic->res_sb_port); - kfree_nocheck(sonic->res_sb_port); - } - if (sonic->res_enh_port) { - release_resource(sonic->res_enh_port); - kfree_nocheck(sonic->res_enh_port); - } - if (sonic->res_synth_port) { - release_resource(sonic->res_synth_port); - kfree_nocheck(sonic->res_synth_port); - } - if (sonic->res_midi_port) { - release_resource(sonic->res_midi_port); - kfree_nocheck(sonic->res_midi_port); - } + if (sonic->irq >= 0) + free_irq(sonic->irq, (void *)sonic); if (sonic->res_dmaa) { release_resource(sonic->res_dmaa); kfree_nocheck(sonic->res_dmaa); @@ -1221,15 +1185,14 @@ static int snd_sonicvibes_free(sonicvibes_t *sonic) release_resource(sonic->res_dmac); kfree_nocheck(sonic->res_dmac); } - if (sonic->irq >= 0) - free_irq(sonic->irq, (void *)sonic); - snd_magic_kfree(sonic); + pci_release_regions(sonic->pci); + kfree(sonic); return 0; } static int snd_sonicvibes_dev_free(snd_device_t *device) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, device->device_data, return -ENXIO); + sonicvibes_t *sonic = device->device_data; return snd_sonicvibes_free(sonic); } @@ -1257,38 +1220,25 @@ static int __devinit snd_sonicvibes_create(snd_card_t * card, return -ENXIO; } - sonic = snd_magic_kcalloc(sonicvibes_t, 0, GFP_KERNEL); + sonic = kcalloc(1, sizeof(*sonic), GFP_KERNEL); if (sonic == NULL) return -ENOMEM; spin_lock_init(&sonic->reg_lock); sonic->card = card; sonic->pci = pci; sonic->irq = -1; - sonic->sb_port = pci_resource_start(pci, 0); - if ((sonic->res_sb_port = request_region(sonic->sb_port, 0x10, "S3 SonicVibes SB")) == NULL) { - snd_printk("unable to grab SB port at 0x%lx-0x%lx\n", sonic->sb_port, sonic->sb_port + 0x10 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; + + if ((err = pci_request_regions(pci, "S3 SonicVibes")) < 0) { + kfree(sonic); + return err; } + + sonic->sb_port = pci_resource_start(pci, 0); sonic->enh_port = pci_resource_start(pci, 1); - if ((sonic->res_enh_port = request_region(sonic->enh_port, 0x10, "S3 SonicVibes Enhanced")) == NULL) { - snd_printk("unable to grab PCM port at 0x%lx-0x%lx\n", sonic->enh_port, sonic->enh_port + 0x10 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; - } sonic->synth_port = pci_resource_start(pci, 2); - if ((sonic->res_synth_port = request_region(sonic->synth_port, 4, "S3 SonicVibes Synth")) == NULL) { - snd_printk("unable to grab synth port at 0x%lx-0x%lx\n", sonic->synth_port, sonic->synth_port + 4 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; - } sonic->midi_port = pci_resource_start(pci, 3); - if ((sonic->res_midi_port = request_region(sonic->midi_port, 4, "S3 SonicVibes Midi")) == NULL) { - snd_printk("unable to grab MIDI port at 0x%lx-0x%lx\n", sonic->midi_port, sonic->midi_port + 4 - 1); - snd_sonicvibes_free(sonic); - return -EBUSY; - } sonic->game_port = pci_resource_start(pci, 4); + if (request_irq(pci->irq, snd_sonicvibes_interrupt, SA_INTERRUPT|SA_SHIRQ, "S3 SonicVibes", (void *)sonic)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_sonicvibes_free(sonic); @@ -1396,8 +1346,6 @@ static int __devinit snd_sonicvibes_create(snd_card_t * card, * MIDI section */ -#define SONICVIBES_MIDI_CONTROLS (sizeof(snd_sonicvibes_midi_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_sonicvibes_midi_controls[] __devinitdata = { SONICVIBES_SINGLE("SonicVibes Wave Source RAM", 0, SV_IREG_WAVE_SOURCE, 0, 1, 0), SONICVIBES_SINGLE("SonicVibes Wave Source RAM+ROM", 0, SV_IREG_WAVE_SOURCE, 1, 1, 0), @@ -1408,20 +1356,20 @@ SONICVIBES_SINGLE("SonicVibes External Tx", 0, SV_IREG_MPU401, 2, 1, 0) static int snd_sonicvibes_midi_input_open(mpu401_t * mpu) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, mpu->private_data, return -EIO); + sonicvibes_t *sonic = mpu->private_data; outb(sonic->irqmask &= ~SV_MIDI_MASK, SV_REG(sonic, IRQMASK)); return 0; } static void snd_sonicvibes_midi_input_close(mpu401_t * mpu) { - sonicvibes_t *sonic = snd_magic_cast(sonicvibes_t, mpu->private_data, return); + sonicvibes_t *sonic = mpu->private_data; outb(sonic->irqmask |= SV_MIDI_MASK, SV_REG(sonic, IRQMASK)); } static int __devinit snd_sonicvibes_midi(sonicvibes_t * sonic, snd_rawmidi_t * rmidi) { - mpu401_t * mpu = snd_magic_cast(mpu401_t, rmidi->private_data, return -ENXIO); + mpu401_t * mpu = rmidi->private_data; snd_card_t *card = sonic->card; snd_rawmidi_str_t *dir; unsigned int idx; @@ -1431,7 +1379,7 @@ static int __devinit snd_sonicvibes_midi(sonicvibes_t * sonic, snd_rawmidi_t * r mpu->open_input = snd_sonicvibes_midi_input_open; mpu->close_input = snd_sonicvibes_midi_input_close; dir = &rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT]; - for (idx = 0; idx < SONICVIBES_MIDI_CONTROLS; idx++) + for (idx = 0; idx < ARRAY_SIZE(snd_sonicvibes_midi_controls); idx++) if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_sonicvibes_midi_controls[idx], sonic))) < 0) return err; return 0; diff --git a/sound/pci/trident/trident.c b/sound/pci/trident/trident.c index eb3a882dd..f68d3a372 100644 --- a/sound/pci/trident/trident.c +++ b/sound/pci/trident/trident.c @@ -33,8 +33,7 @@ MODULE_AUTHOR("Jaroslav Kysela , "); MODULE_DESCRIPTION("Trident 4D-WaveDX/NX & SiS SI7018"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Trident,4DWave DX}," +MODULE_SUPPORTED_DEVICE("{{Trident,4DWave DX}," "{Trident,4DWave NX}," "{SiS,SI7018 PCI Audio}," "{Best Union,Miss Melody 4DWave PCI}," @@ -56,19 +55,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Trident 4DWave PCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Trident 4DWave PCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Trident 4DWave PCI soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(pcm_channels, int, boot_devs, 0444); MODULE_PARM_DESC(pcm_channels, "Number of hardware channels assigned for PCM."); -MODULE_PARM_SYNTAX(pcm_channels, SNDRV_ENABLED ",default:32,allows:{{1,32}}"); module_param_array(wavetable_size, int, boot_devs, 0444); MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth."); -MODULE_PARM_SYNTAX(wavetable_size, SNDRV_ENABLED ",default:8192,skill:advanced"); static struct pci_device_id snd_trident_ids[] = { { 0x1023, 0x2000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Trident 4DWave DX PCI Audio */ diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c index a72dee775..46d050d2b 100644 --- a/sound/pci/trident/trident_main.c +++ b/sound/pci/trident/trident_main.c @@ -44,8 +44,6 @@ #include -#define chip_t trident_t - static int snd_trident_pcm_mixer_build(trident_t *trident, snd_trident_voice_t * voice, snd_pcm_substream_t *substream); static int snd_trident_pcm_mixer_free(trident_t *trident, snd_trident_voice_t * voice, snd_pcm_substream_t *substream); static irqreturn_t snd_trident_interrupt(int irq, void *dev_id, struct pt_regs *regs); @@ -119,7 +117,7 @@ static unsigned short snd_trident_codec_read(ac97_t *ac97, unsigned short reg) unsigned int data = 0, treg; unsigned short count = 0xffff; unsigned long flags; - trident_t *trident = snd_magic_cast(trident_t, ac97->private_data, return -ENXIO); + trident_t *trident = ac97->private_data; spin_lock_irqsave(&trident->reg_lock, flags); if (trident->device == TRIDENT_DEVICE_ID_DX) { @@ -178,7 +176,7 @@ static void snd_trident_codec_write(ac97_t *ac97, unsigned short reg, unsigned s unsigned int address, data; unsigned short count = 0xffff; unsigned long flags; - trident_t *trident = snd_magic_cast(trident_t, ac97->private_data, return); + trident_t *trident = ac97->private_data; data = ((unsigned long) wdata) << 16; @@ -908,7 +906,7 @@ static int snd_trident_playback_prepare(snd_pcm_substream_t * substream) snd_trident_voice_t *evoice = voice->extra; snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[substream->number]; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); /* set delta (rate) value */ voice->Delta = snd_trident_convert_rate(runtime->rate); @@ -969,7 +967,7 @@ static int snd_trident_playback_prepare(snd_pcm_substream_t * substream) evoice->ESO = (runtime->period_size * 2) - 1; } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1010,7 +1008,7 @@ static int snd_trident_capture_prepare(snd_pcm_substream_t * substream) snd_trident_voice_t *voice = (snd_trident_voice_t *) runtime->private_data; unsigned int val, ESO_bytes; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); // Initilize the channel and set channel Mode outb(0, TRID_REG(trident, LEGACY_DMAR15)); @@ -1079,7 +1077,7 @@ static int snd_trident_capture_prepare(snd_pcm_substream_t * substream) snd_trident_write_voice_regs(trident, voice); - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1150,7 +1148,7 @@ static int snd_trident_si7018_capture_prepare(snd_pcm_substream_t * substream) snd_trident_voice_t *voice = (snd_trident_voice_t *) runtime->private_data; snd_trident_voice_t *evoice = voice->extra; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); voice->LBA = runtime->dma_addr; voice->Delta = snd_trident_convert_adc_rate(runtime->rate); @@ -1199,7 +1197,7 @@ static int snd_trident_si7018_capture_prepare(snd_pcm_substream_t * substream) evoice->ESO = (runtime->period_size * 2) - 1; } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1221,7 +1219,7 @@ static int snd_trident_foldback_prepare(snd_pcm_substream_t * substream) snd_trident_voice_t *voice = (snd_trident_voice_t *) runtime->private_data; snd_trident_voice_t *evoice = voice->extra; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); /* Set channel buffer Address */ if (voice->memblk) @@ -1276,7 +1274,7 @@ static int snd_trident_foldback_prepare(snd_pcm_substream_t * substream) evoice->ESO = (runtime->period_size * 2) - 1; } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1367,7 +1365,7 @@ static int snd_trident_spdif_prepare(snd_pcm_substream_t * substream) unsigned int RESO, LBAO; unsigned int temp; - spin_lock(&trident->reg_lock); + spin_lock_irq(&trident->reg_lock); if (trident->device != TRIDENT_DEVICE_ID_SI7018) { @@ -1479,7 +1477,7 @@ static int snd_trident_spdif_prepare(snd_pcm_substream_t * substream) outl(temp, TRID_REG(trident, SI_SERIAL_INTF_CTRL)); } - spin_unlock(&trident->reg_lock); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -1526,7 +1524,7 @@ static int snd_trident_trigger(snd_pcm_substream_t *substream, val = inl(TRID_REG(trident, T4D_STIMER)) & 0x00ffffff; snd_pcm_group_for_each(pos, substream) { s = snd_pcm_group_substream_entry(pos); - if ((trident_t *) _snd_pcm_chip(s->pcm) == trident) { + if ((trident_t *) snd_pcm_substream_chip(s) == trident) { voice = (snd_trident_voice_t *) s->runtime->private_data; evoice = voice->extra; what |= 1 << (voice->number & 0x1f); @@ -2127,21 +2125,21 @@ static snd_pcm_ops_t snd_trident_spdif_7018_ops = { ---------------------------------------------------------------------------*/ static void snd_trident_pcm_free(snd_pcm_t *pcm) { - trident_t *trident = snd_magic_cast(trident_t, pcm->private_data, return); + trident_t *trident = pcm->private_data; trident->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_trident_foldback_pcm_free(snd_pcm_t *pcm) { - trident_t *trident = snd_magic_cast(trident_t, pcm->private_data, return); + trident_t *trident = pcm->private_data; trident->foldback = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } static void snd_trident_spdif_pcm_free(snd_pcm_t *pcm) { - trident_t *trident = snd_magic_cast(trident_t, pcm->private_data, return); + trident_t *trident = pcm->private_data; trident->spdif = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -2324,13 +2322,12 @@ static int snd_trident_spdif_control_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->spdif_ctrl; ucontrol->value.integer.value[0] = val == kcontrol->private_value; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2338,12 +2335,11 @@ static int snd_trident_spdif_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; int change; val = ucontrol->value.integer.value[0] ? (unsigned char) kcontrol->private_value : 0x00; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); /* S/PDIF C Channel bits 0-31 : 48khz, SCMS disabled */ change = trident->spdif_ctrl != val; trident->spdif_ctrl = val; @@ -2362,7 +2358,7 @@ static int snd_trident_spdif_control_put(snd_kcontrol_t * kcontrol, outl(temp, TRID_REG(trident, SI_SERIAL_INTF_CTRL)); } } - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2393,14 +2389,13 @@ static int snd_trident_spdif_default_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); ucontrol->value.iec958.status[0] = (trident->spdif_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (trident->spdif_bits >> 8) & 0xff; ucontrol->value.iec958.status[2] = (trident->spdif_bits >> 16) & 0xff; ucontrol->value.iec958.status[3] = (trident->spdif_bits >> 24) & 0xff; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2408,7 +2403,6 @@ static int snd_trident_spdif_default_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; @@ -2416,7 +2410,7 @@ static int snd_trident_spdif_default_put(snd_kcontrol_t * kcontrol, (ucontrol->value.iec958.status[1] << 8) | (ucontrol->value.iec958.status[2] << 16) | (ucontrol->value.iec958.status[3] << 24); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = trident->spdif_bits != val; trident->spdif_bits = val; if (trident->device != TRIDENT_DEVICE_ID_SI7018) { @@ -2426,7 +2420,7 @@ static int snd_trident_spdif_default_put(snd_kcontrol_t * kcontrol, if (trident->spdif == NULL) outl(trident->spdif_bits, TRID_REG(trident, SI_SPDIF_CS)); } - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2488,14 +2482,13 @@ static int snd_trident_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); ucontrol->value.iec958.status[0] = (trident->spdif_pcm_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (trident->spdif_pcm_bits >> 8) & 0xff; ucontrol->value.iec958.status[2] = (trident->spdif_pcm_bits >> 16) & 0xff; ucontrol->value.iec958.status[3] = (trident->spdif_pcm_bits >> 24) & 0xff; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2503,7 +2496,6 @@ static int snd_trident_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; @@ -2511,7 +2503,7 @@ static int snd_trident_spdif_stream_put(snd_kcontrol_t * kcontrol, (ucontrol->value.iec958.status[1] << 8) | (ucontrol->value.iec958.status[2] << 16) | (ucontrol->value.iec958.status[3] << 24); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = trident->spdif_pcm_bits != val; trident->spdif_pcm_bits = val; if (trident->spdif != NULL) { @@ -2521,7 +2513,7 @@ static int snd_trident_spdif_stream_put(snd_kcontrol_t * kcontrol, outl(trident->spdif_bits, TRID_REG(trident, SI_SPDIF_CS)); } } - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2554,13 +2546,12 @@ static int snd_trident_ac97_control_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->ac97_ctrl = inl(TRID_REG(trident, NX_ACR0_AC97_COM_STAT)); ucontrol->value.integer.value[0] = (val & (1 << kcontrol->private_value)) ? 1 : 0; - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return 0; } @@ -2568,11 +2559,10 @@ static int snd_trident_ac97_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { trident_t *trident = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned char val; int change = 0; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->ac97_ctrl = inl(TRID_REG(trident, NX_ACR0_AC97_COM_STAT)); val &= ~(1 << kcontrol->private_value); if (ucontrol->value.integer.value[0]) @@ -2580,7 +2570,7 @@ static int snd_trident_ac97_control_put(snd_kcontrol_t * kcontrol, change = val != trident->ac97_ctrl; trident->ac97_ctrl = val; outl(trident->ac97_ctrl = val, TRID_REG(trident, NX_ACR0_AC97_COM_STAT)); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2624,19 +2614,18 @@ static int snd_trident_vol_control_get(snd_kcontrol_t * kcontrol, static int snd_trident_vol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); unsigned int val; int change = 0; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); val = trident->musicvol_wavevol; val &= ~(0xffff << kcontrol->private_value); val |= ((255 - (ucontrol->value.integer.value[0] & 0xff)) | ((255 - (ucontrol->value.integer.value[1] & 0xff)) << 8)) << kcontrol->private_value; change = val != trident->musicvol_wavevol; outl(trident->musicvol_wavevol = val, TRID_REG(trident, T4D_MUSICVOL_WAVEVOL)); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2696,7 +2685,6 @@ static int snd_trident_pcm_vol_control_get(snd_kcontrol_t * kcontrol, static int snd_trident_pcm_vol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned int val; @@ -2707,12 +2695,12 @@ static int snd_trident_pcm_vol_control_put(snd_kcontrol_t * kcontrol, } else { val = (255 - (ucontrol->value.integer.value[0] & 255)) << 2; } - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->vol; mix->vol = val; if (mix->voice != NULL) snd_trident_write_vol_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2760,7 +2748,6 @@ static int snd_trident_pcm_pan_control_get(snd_kcontrol_t * kcontrol, static int snd_trident_pcm_pan_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned char val; @@ -2770,12 +2757,12 @@ static int snd_trident_pcm_pan_control_put(snd_kcontrol_t * kcontrol, val = ucontrol->value.integer.value[0] & 0x3f; else val = (0x3f - (ucontrol->value.integer.value[0] & 0x3f)) | 0x40; - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->pan; mix->pan = val; if (mix->voice != NULL) snd_trident_write_pan_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2818,19 +2805,18 @@ static int snd_trident_pcm_rvol_control_get(snd_kcontrol_t * kcontrol, static int snd_trident_pcm_rvol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned short val; int change = 0; val = 0x7f - (ucontrol->value.integer.value[0] & 0x7f); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->rvol; mix->rvol = val; if (mix->voice != NULL) snd_trident_write_rvol_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2873,19 +2859,18 @@ static int snd_trident_pcm_cvol_control_get(snd_kcontrol_t * kcontrol, static int snd_trident_pcm_cvol_control_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { - unsigned long flags; trident_t *trident = snd_kcontrol_chip(kcontrol); snd_trident_pcm_mixer_t *mix = &trident->pcm_mixer[snd_ctl_get_ioffnum(kcontrol, &ucontrol->id)]; unsigned short val; int change = 0; val = 0x7f - (ucontrol->value.integer.value[0] & 0x7f); - spin_lock_irqsave(&trident->reg_lock, flags); + spin_lock_irq(&trident->reg_lock); change = val != mix->cvol; mix->cvol = val; if (mix->voice != NULL) snd_trident_write_cvol_reg(trident, mix->voice, val); - spin_unlock_irqrestore(&trident->reg_lock, flags); + spin_unlock_irq(&trident->reg_lock); return change; } @@ -2961,21 +2946,21 @@ static int snd_trident_pcm_mixer_free(trident_t *trident, snd_trident_voice_t *v static int __devinit snd_trident_mixer(trident_t * trident, int pcm_spdif_device) { - ac97_bus_t _bus; - ac97_t _ac97; + ac97_template_t _ac97; snd_card_t * card = trident->card; snd_kcontrol_t *kctl; snd_ctl_elem_value_t *uctl; int idx, err, retries = 2; + static ac97_bus_ops_t ops = { + .write = snd_trident_codec_write, + .read = snd_trident_codec_read, + }; - uctl = (snd_ctl_elem_value_t *)snd_kcalloc(sizeof(*uctl), GFP_KERNEL); + uctl = kcalloc(1, sizeof(*uctl), GFP_KERNEL); if (!uctl) return -ENOMEM; - memset(&_bus, 0, sizeof(_bus)); - _bus.write = snd_trident_codec_write; - _bus.read = snd_trident_codec_read; - if ((err = snd_ac97_bus(trident->card, &_bus, &trident->ac97_bus)) < 0) + if ((err = snd_ac97_bus(trident->card, 0, &ops, NULL, &trident->ac97_bus)) < 0) goto __out; memset(&_ac97, 0, sizeof(_ac97)); @@ -3132,7 +3117,7 @@ static unsigned char snd_trident_gameport_read(struct gameport *gameport) trident_gameport_t *gp = (trident_gameport_t *)gameport; trident_t *chip; snd_assert(gp, return 0); - chip = snd_magic_cast(trident_t, gp->chip, return 0); + chip = gp->chip; return inb(TRID_REG(chip, GAMEPORT_LEGACY)); } @@ -3141,7 +3126,7 @@ static void snd_trident_gameport_trigger(struct gameport *gameport) trident_gameport_t *gp = (trident_gameport_t *)gameport; trident_t *chip; snd_assert(gp, return); - chip = snd_magic_cast(trident_t, gp->chip, return); + chip = gp->chip; outb(0xff, TRID_REG(chip, GAMEPORT_LEGACY)); } @@ -3152,7 +3137,7 @@ static int snd_trident_gameport_cooked_read(struct gameport *gameport, int *axes int i; snd_assert(gp, return 0); - chip = snd_magic_cast(trident_t, gp->chip, return 0); + chip = gp->chip; *buttons = (~inb(TRID_REG(chip, GAMEPORT_LEGACY)) >> 4) & 0xf; @@ -3169,7 +3154,7 @@ static int snd_trident_gameport_open(struct gameport *gameport, int mode) trident_gameport_t *gp = (trident_gameport_t *)gameport; trident_t *chip; snd_assert(gp, return -1); - chip = snd_magic_cast(trident_t, gp->chip, return -1); + chip = gp->chip; switch (mode) { case GAMEPORT_MODE_COOKED: @@ -3280,7 +3265,7 @@ static int snd_trident_sis_reset(trident_t *trident) static void snd_trident_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - trident_t *trident = snd_magic_cast(trident_t, entry->private_data, return); + trident_t *trident = entry->private_data; char *s; switch (trident->device) { @@ -3331,7 +3316,7 @@ static void __devinit snd_trident_proc_init(trident_t * trident) static int snd_trident_dev_free(snd_device_t *device) { - trident_t *trident = snd_magic_cast(trident_t, device->device_data, return -ENXIO); + trident_t *trident = device->device_data; return snd_trident_free(trident); } @@ -3354,7 +3339,8 @@ static int __devinit snd_trident_tlb_alloc(trident_t *trident) /* TLB array must be aligned to 16kB !!! so we allocate 32kB region and correct offset when necessary */ - if (snd_dma_alloc_pages(&trident->dma_dev, 2 * SNDRV_TRIDENT_MAX_PAGES * 4, &trident->tlb.buffer) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(trident->pci), + 2 * SNDRV_TRIDENT_MAX_PAGES * 4, &trident->tlb.buffer) < 0) { snd_printk(KERN_ERR "trident: unable to allocate TLB buffer\n"); return -ENOMEM; } @@ -3367,7 +3353,8 @@ static int __devinit snd_trident_tlb_alloc(trident_t *trident) return -ENOMEM; } /* allocate and setup silent page and initialise TLB entries */ - if (snd_dma_alloc_pages(&trident->dma_dev, SNDRV_TRIDENT_PAGE_SIZE, &trident->tlb.silent_page) < 0) { + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(trident->pci), + SNDRV_TRIDENT_PAGE_SIZE, &trident->tlb.silent_page) < 0) { snd_printk(KERN_ERR "trident: unable to allocate silent page\n"); return -ENOMEM; } @@ -3553,7 +3540,7 @@ int __devinit snd_trident_create(snd_card_t * card, return -ENXIO; } - trident = snd_magic_kcalloc(trident_t, 0, GFP_KERNEL); + trident = kcalloc(1, sizeof(*trident), GFP_KERNEL); if (trident == NULL) return -ENOMEM; trident->device = (pci->vendor << 16) | pci->device; @@ -3570,18 +3557,17 @@ int __devinit snd_trident_create(snd_card_t * card, if (max_wavetable_size < 0 ) max_wavetable_size = 0; trident->synth.max_size = max_wavetable_size * 1024; - trident->port = pci_resource_start(pci, 0); trident->irq = -1; trident->midi_port = TRID_REG(trident, T4D_MPU401_BASE); pci_set_master(pci); - trident->port = pci_resource_start(pci, 0); - if ((trident->res_port = request_region(trident->port, 0x100, "Trident Audio")) == NULL) { - snd_printk("unable to grab I/O region 0x%lx-0x%lx\n", trident->port, trident->port + 0x100 - 1); - snd_trident_free(trident); - return -EBUSY; + if ((err = pci_request_regions(pci, "Trident Audio")) < 0) { + kfree(trident); + return err; } + trident->port = pci_resource_start(pci, 0); + if (request_irq(pci->irq, snd_trident_interrupt, SA_INTERRUPT|SA_SHIRQ, "Trident Audio", (void *) trident)) { snd_printk("unable to grab IRQ %d\n", pci->irq); snd_trident_free(trident); @@ -3589,10 +3575,6 @@ int __devinit snd_trident_create(snd_card_t * card, } trident->irq = pci->irq; - memset(&trident->dma_dev, 0, sizeof(trident->dma_dev)); - trident->dma_dev.type = SNDRV_DMA_TYPE_DEV; - trident->dma_dev.dev = snd_dma_pci_data(pci); - /* allocate 16k-aligned TLB for NX cards */ trident->tlb.entries = NULL; trident->tlb.buffer.area = NULL; @@ -3692,18 +3674,15 @@ int snd_trident_free(trident_t *trident) if (trident->tlb.memhdr) snd_util_memhdr_free(trident->tlb.memhdr); if (trident->tlb.silent_page.area) - snd_dma_free_pages(&trident->dma_dev, &trident->tlb.silent_page); + snd_dma_free_pages(&trident->tlb.silent_page); if (trident->tlb.shadow_entries) vfree(trident->tlb.shadow_entries); - snd_dma_free_pages(&trident->dma_dev, &trident->tlb.buffer); + snd_dma_free_pages(&trident->tlb.buffer); } if (trident->irq >= 0) free_irq(trident->irq, (void *)trident); - if (trident->res_port) { - release_resource(trident->res_port); - kfree_nocheck(trident->res_port); - } - snd_magic_kfree(trident); + pci_release_regions(trident->pci); + kfree(trident); return 0; } @@ -3727,7 +3706,7 @@ int snd_trident_free(trident_t *trident) static irqreturn_t snd_trident_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - trident_t *trident = snd_magic_cast(trident_t, dev_id, return IRQ_NONE); + trident_t *trident = dev_id; unsigned int audio_int, chn_int, stimer, channel, mask, tmp; int delta; snd_trident_voice_t *voice; @@ -3950,7 +3929,7 @@ void snd_trident_clear_voices(trident_t * trident, unsigned short v_min, unsigne #ifdef CONFIG_PM static int snd_trident_suspend(snd_card_t *card, unsigned int state) { - trident_t *trident = snd_magic_cast(trident_t, card->pm_private_data, return -EINVAL); + trident_t *trident = card->pm_private_data; trident->in_suspend = 1; snd_pcm_suspend_all(trident->pcm); @@ -3976,7 +3955,7 @@ static int snd_trident_suspend(snd_card_t *card, unsigned int state) static int snd_trident_resume(snd_card_t *card, unsigned int state) { - trident_t *trident = snd_magic_cast(trident_t, card->pm_private_data, return -EINVAL); + trident_t *trident = card->pm_private_data; pci_enable_device(trident->pci); if (pci_set_dma_mask(trident->pci, 0x3fffffff) < 0 || diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 67e5edd5b..fb549ea9e 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c @@ -67,8 +67,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("VIA VT82xx audio"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{VIA,VT82C686A/B/C,pci},{VIA,VT8233A/C,8235}}"); +MODULE_SUPPORTED_DEVICE("{{VIA,VT82C686A/B/C,pci},{VIA,VT8233A/C,8235}}"); #if defined(CONFIG_GAMEPORT) || (defined(MODULE) && defined(CONFIG_GAMEPORT_MODULE)) #define SUPPORT_JOYSTICK 1 @@ -88,30 +87,22 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for VIA 82xx bridge."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for VIA 82xx bridge."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable audio part of VIA 82xx bridge."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 port. (VT82C686x only)"); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_PORT_DESC); #ifdef SUPPORT_JOYSTICK module_param_array(joystick, bool, boot_devs, 0444); MODULE_PARM_DESC(joystick, "Enable joystick. (VT82C686x only)"); -MODULE_PARM_SYNTAX(joystick, SNDRV_ENABLE_DESC "," SNDRV_BOOLEAN_FALSE_DESC); #endif module_param_array(ac97_clock, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_clock, "AC'97 codec clock (default 48000Hz)."); -MODULE_PARM_SYNTAX(ac97_clock, SNDRV_ENABLED ",default:48000"); module_param_array(ac97_quirk, int, boot_devs, 0444); MODULE_PARM_DESC(ac97_quirk, "AC'97 workaround for strange hardware."); -MODULE_PARM_SYNTAX(ac97_quirk, SNDRV_ENABLED ",allows:{{-1,4}},dialog:list,default:-1"); module_param_array(dxs_support, int, boot_devs, 0444); MODULE_PARM_DESC(dxs_support, "Support for DXS channels (0 = auto, 1 = enable, 2 = disable, 3 = 48k only, 4 = no VRA)"); -MODULE_PARM_SYNTAX(dxs_support, SNDRV_ENABLED ",allows:{{0,4}},dialog:list"); /* pci ids */ @@ -318,7 +309,6 @@ DEFINE_VIA_REGSET(CAPTURE_8233, 0x60); typedef struct _snd_via82xx via82xx_t; typedef struct via_dev viadev_t; -#define chip_t via82xx_t /* * pcm stream @@ -362,7 +352,6 @@ struct _snd_via82xx { int irq; unsigned long port; - struct resource *res_port; struct resource *mpu_res; int chip_type; unsigned char revision; @@ -375,7 +364,6 @@ struct _snd_via82xx { unsigned char spdif_ctrl_saved; unsigned char capture_src_saved[2]; unsigned int mpu_port_saved; - u32 pci_state[16]; #endif unsigned char playback_volume[4][2]; /* for VIA8233/C/8235; default = 0 */ @@ -405,8 +393,6 @@ struct _snd_via82xx { spinlock_t ac97_lock; snd_info_entry_t *proc_entry; - struct snd_dma_device dma_dev; - #ifdef SUPPORT_JOYSTICK struct gameport gameport; struct resource *res_joystick; @@ -441,7 +427,9 @@ static int build_via_table(viadev_t *dev, snd_pcm_substream_t *substream, /* the start of each lists must be aligned to 8 bytes, * but the kernel pages are much bigger, so we don't care */ - if (snd_dma_alloc_pages(&chip->dma_dev, PAGE_ALIGN(VIA_TABLE_SIZE * 2 * 8), &dev->table) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + PAGE_ALIGN(VIA_TABLE_SIZE * 2 * 8), + &dev->table) < 0) return -ENOMEM; } if (! dev->idx_table) { @@ -497,9 +485,8 @@ static int build_via_table(viadev_t *dev, snd_pcm_substream_t *substream, static int clean_via_table(viadev_t *dev, snd_pcm_substream_t *substream, struct pci_dev *pci) { - via82xx_t *chip = snd_pcm_substream_chip(substream); if (dev->table.area) { - snd_dma_free_pages(&chip->dma_dev, &dev->table); + snd_dma_free_pages(&dev->table); dev->table.area = NULL; } if (dev->idx_table) { @@ -556,7 +543,7 @@ static int snd_via82xx_codec_valid(via82xx_t *chip, int secondary) static void snd_via82xx_codec_wait(ac97_t *ac97) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return); + via82xx_t *chip = ac97->private_data; int err; err = snd_via82xx_codec_ready(chip, ac97->num); /* here we need to wait fairly for long time.. */ @@ -568,7 +555,7 @@ static void snd_via82xx_codec_write(ac97_t *ac97, unsigned short reg, unsigned short val) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return); + via82xx_t *chip = ac97->private_data; unsigned int xval; xval = !ac97->num ? VIA_REG_AC97_CODEC_ID_PRIMARY : VIA_REG_AC97_CODEC_ID_SECONDARY; @@ -583,7 +570,7 @@ static void snd_via82xx_codec_write(ac97_t *ac97, static unsigned short snd_via82xx_codec_read(ac97_t *ac97, unsigned short reg) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return ~0); + via82xx_t *chip = ac97->private_data; unsigned int xval, val = 0xffff; int again = 0; @@ -632,11 +619,10 @@ static void snd_via82xx_channel_reset(via82xx_t *chip, viadev_t *viadev) static irqreturn_t snd_via82xx_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - via82xx_t *chip = snd_magic_cast(via82xx_t, dev_id, return IRQ_NONE); + via82xx_t *chip = dev_id; unsigned int status; unsigned int i; - spin_lock(&chip->reg_lock); #if 0 /* FIXME: does it work on via823x? */ if (chip->chip_type != TYPE_VIA686) @@ -644,7 +630,6 @@ static irqreturn_t snd_via82xx_interrupt(int irq, void *dev_id, struct pt_regs * #endif status = inl(VIAREG(chip, SGD_SHADOW)); if (! (status & chip->intr_mask)) { - spin_unlock(&chip->reg_lock); if (chip->rmidi) /* check mpu401 interrupt */ return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs); @@ -653,6 +638,7 @@ static irqreturn_t snd_via82xx_interrupt(int irq, void *dev_id, struct pt_regs * // _skip_sgd: /* check status for each stream */ + spin_lock(&chip->reg_lock); for (i = 0; i < chip->num_devs; i++) { viadev_t *viadev = &chip->devs[i]; unsigned char c_status = inb(VIADEV_REG(viadev, OFFSET_STATUS)); @@ -720,6 +706,10 @@ static int snd_via82xx_pcm_trigger(snd_pcm_substream_t * substream, int cmd) /* * calculate the linear position at the given sg-buffer index and the rest count */ + +#define check_invalid_pos(viadev,pos) \ + ((pos) < viadev->lastpos && ((pos) >= viadev->bufsize2 || viadev->lastpos < viadev->bufsize2)) + static inline unsigned int calc_linear_pos(viadev_t *viadev, unsigned int idx, unsigned int count) { unsigned int size, res; @@ -728,17 +718,24 @@ static inline unsigned int calc_linear_pos(viadev_t *viadev, unsigned int idx, u res = viadev->idx_table[idx].offset + size - count; /* check the validity of the calculated position */ - if (size < count || (res < viadev->lastpos && (res >= viadev->bufsize2 || viadev->lastpos < viadev->bufsize2))) { + if (size < count) { + snd_printd(KERN_ERR "invalid via82xx_cur_ptr (size = %d, count = %d)\n", (int)size, (int)count); + res = viadev->lastpos; + } else if (check_invalid_pos(viadev, res)) { #ifdef POINTER_DEBUG printk("fail: idx = %i/%i, lastpos = 0x%x, bufsize2 = 0x%x, offsize = 0x%x, size = 0x%x, count = 0x%x\n", idx, viadev->tbl_entries, viadev->lastpos, viadev->bufsize2, viadev->idx_table[idx].offset, viadev->idx_table[idx].size, count); #endif - /* count register returns full size when end of buffer is reached */ - if (size != count) { + if (count && size < count) { snd_printd(KERN_ERR "invalid via82xx_cur_ptr, using last valid pointer\n"); res = viadev->lastpos; } else { - res = viadev->idx_table[idx].offset + size; - if (res < viadev->lastpos && (res >= viadev->bufsize2 || viadev->lastpos < viadev->bufsize2)) { + if (! count) + /* bogus count 0 on the DMA boundary? */ + res = viadev->idx_table[idx].offset; + else + /* count register returns full size when end of buffer is reached */ + res = viadev->idx_table[idx].offset + size; + if (check_invalid_pos(viadev, res)) { snd_printd(KERN_ERR "invalid via82xx_cur_ptr (2), using last valid pointer\n"); res = viadev->lastpos; } @@ -904,7 +901,7 @@ static int via_lock_rate(struct via_rate_lock *rec, int rate) { int changed = 0; - spin_lock(&rec->lock); + spin_lock_irq(&rec->lock); if (rec->rate != rate) { if (rec->rate && rec->used > 1) /* already set */ changed = -EINVAL; @@ -913,7 +910,7 @@ static int via_lock_rate(struct via_rate_lock *rec, int rate) changed = 1; } } - spin_unlock(&rec->lock); + spin_unlock_irq(&rec->lock); return changed; } @@ -1035,6 +1032,7 @@ static snd_pcm_hardware_t snd_via82xx_hw = .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_RESUME | SNDRV_PCM_INFO_PAUSE), .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE, .rates = SNDRV_PCM_RATE_48000, @@ -1058,32 +1056,18 @@ static int snd_via82xx_pcm_open(via82xx_t *chip, viadev_t *viadev, snd_pcm_subst { snd_pcm_runtime_t *runtime = substream->runtime; int err; - unsigned long flags; struct via_rate_lock *ratep; - struct ratetbl { - int rate; - unsigned int bit; - } ratebits[] = { - {8000, SNDRV_PCM_RATE_8000}, - {11025, SNDRV_PCM_RATE_11025}, - {16000, SNDRV_PCM_RATE_16000}, - {22050, SNDRV_PCM_RATE_22050}, - {32000, SNDRV_PCM_RATE_32000}, - {44100, SNDRV_PCM_RATE_44100}, - {48000, SNDRV_PCM_RATE_48000}, - }; - int i; runtime->hw = snd_via82xx_hw; /* set the hw rate condition */ ratep = &chip->rates[viadev->direction]; - spin_lock_irqsave(&ratep->lock, flags); + spin_lock_irq(&ratep->lock); ratep->used++; - if (chip->spdif_on) { - runtime->hw.rates = SNDRV_PCM_RATE_32000|SNDRV_PCM_RATE_44100|SNDRV_PCM_RATE_48000; - runtime->hw.rate_min = 32000; - runtime->hw.rate_max = 48000; + if (chip->spdif_on && viadev->reg_offset == 0x30) { + /* DXS#3 and spdif is on */ + runtime->hw.rates = chip->ac97->rates[AC97_RATES_SPDIF]; + snd_pcm_limit_hw_rates(runtime); } else if (chip->dxs_fixed && viadev->reg_offset < 0x40) { /* fixed DXS playback rate */ runtime->hw.rates = SNDRV_PCM_RATE_48000; @@ -1091,30 +1075,13 @@ static int snd_via82xx_pcm_open(via82xx_t *chip, viadev_t *viadev, snd_pcm_subst } else if (! ratep->rate) { int idx = viadev->direction ? AC97_RATES_ADC : AC97_RATES_FRONT_DAC; runtime->hw.rates = chip->ac97->rates[idx]; - for (i = 0; i < (int)ARRAY_SIZE(ratebits); i++) { - if (runtime->hw.rates & ratebits[i].bit) { - runtime->hw.rate_min = ratebits[i].rate; - break; - } - } - for (i = ARRAY_SIZE(ratebits) - 1; i >= 0; i--) { - if (runtime->hw.rates & ratebits[i].bit) { - runtime->hw.rate_max = ratebits[i].rate; - break; - } - } + snd_pcm_limit_hw_rates(runtime); } else { /* a fixed rate */ runtime->hw.rates = SNDRV_PCM_RATE_KNOT; - for (i = 0; i < (int)ARRAY_SIZE(ratebits); i++) { - if (ratep->rate == ratebits[i].rate) { - runtime->hw.rates = ratebits[i].bit; - break; - } - } runtime->hw.rate_max = runtime->hw.rate_min = ratep->rate; } - spin_unlock_irqrestore(&ratep->lock, flags); + spin_unlock_irq(&ratep->lock); /* we may remove following constaint when we modify table entries in interrupt */ @@ -1188,16 +1155,15 @@ static int snd_via82xx_pcm_close(snd_pcm_substream_t * substream) { via82xx_t *chip = snd_pcm_substream_chip(substream); viadev_t *viadev = (viadev_t *)substream->runtime->private_data; - unsigned long flags; struct via_rate_lock *ratep; /* release the rate lock */ ratep = &chip->rates[viadev->direction]; - spin_lock_irqsave(&ratep->lock, flags); + spin_lock_irq(&ratep->lock); ratep->used--; if (! ratep->used) ratep->rate = 0; - spin_unlock_irqrestore(&ratep->lock, flags); + spin_unlock_irq(&ratep->lock); viadev->substream = NULL; return 0; @@ -1363,6 +1329,10 @@ static int __devinit snd_via8233a_pcm_new(via82xx_t *chip) snd_dma_pci_data(chip->pci), 64*1024, 128*1024)) < 0) return err; + /* SPDIF supported? */ + if (! ac97_can_spdif(chip->ac97)) + return 0; + /* PCM #1: DXS3 playback (for spdif) */ err = snd_pcm_new(chip->card, chip->card->shortname, 1, 1, 0, &pcm); if (err < 0) @@ -1446,17 +1416,16 @@ static int snd_via8233_capture_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem { via82xx_t *chip = snd_kcontrol_chip(kcontrol); unsigned long port = chip->port + (kcontrol->id.index ? (VIA_REG_CAPTURE_CHANNEL + 0x10) : VIA_REG_CAPTURE_CHANNEL); - unsigned long flags; u8 val, oval; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); oval = inb(port); val = oval & ~VIA_REG_CAPTURE_CHANNEL_MIC; if (ucontrol->value.enumerated.item[0]) val |= VIA_REG_CAPTURE_CHANNEL_MIC; if (val != oval) outb(val, port); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return val != oval; } @@ -1567,13 +1536,13 @@ static snd_kcontrol_new_t snd_via8233_dxs_volume_control __devinitdata = { static void snd_via82xx_mixer_free_ac97_bus(ac97_bus_t *bus) { - via82xx_t *chip = snd_magic_cast(via82xx_t, bus->private_data, return); + via82xx_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_via82xx_mixer_free_ac97(ac97_t *ac97) { - via82xx_t *chip = snd_magic_cast(via82xx_t, ac97->private_data, return); + via82xx_t *chip = ac97->private_data; chip->ac97 = NULL; } @@ -1584,6 +1553,18 @@ static struct ac97_quirk ac97_quirks[] = { .name = "ASRock K7VT2", .type = AC97_TUNE_HP_ONLY }, + { + .vendor = 0x1019, + .device = 0x0a81, + .name = "ECS K7VTA3", + .type = AC97_TUNE_HP_ONLY + }, + { + .vendor = 0x1019, + .device = 0x0a85, + .name = "ECS L7VMM2", + .type = AC97_TUNE_HP_ONLY + }, { .vendor = 0x1849, .device = 0x3059, @@ -1613,19 +1594,18 @@ static struct ac97_quirk ac97_quirks[] = { static int __devinit snd_via82xx_mixer_new(via82xx_t *chip, int ac97_quirk) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; int err; + static ac97_bus_ops_t ops = { + .write = snd_via82xx_codec_write, + .read = snd_via82xx_codec_read, + .wait = snd_via82xx_codec_wait, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_via82xx_codec_write; - bus.read = snd_via82xx_codec_read; - bus.wait = snd_via82xx_codec_wait; - bus.private_data = chip; - bus.private_free = snd_via82xx_mixer_free_ac97_bus; - bus.clock = chip->ac97_clock; - if ((err = snd_ac97_bus(chip->card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_via82xx_mixer_free_ac97_bus; + chip->ac97_bus->clock = chip->ac97_clock; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1653,6 +1633,8 @@ static int snd_via8233_init_misc(via82xx_t *chip, int dev) int i, err, caps; unsigned char val; + pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, + chip->old_legacy & ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM)); caps = chip->chip_type == TYPE_VIA8233A ? 1 : 2; for (i = 0; i < caps; i++) { snd_via8233_capture_source.index = i; @@ -1660,9 +1642,11 @@ static int snd_via8233_init_misc(via82xx_t *chip, int dev) if (err < 0) return err; } - err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs3_spdif_control, chip)); - if (err < 0) - return err; + if (ac97_can_spdif(chip->ac97)) { + err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs3_spdif_control, chip)); + if (err < 0) + return err; + } if (chip->chip_type != TYPE_VIA8233A) { err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_via8233_dxs_volume_control, chip)); if (err < 0) @@ -1672,6 +1656,7 @@ static int snd_via8233_init_misc(via82xx_t *chip, int dev) /* select spdif data slot 10/11 */ pci_read_config_byte(chip->pci, VIA8233_SPDIF_CTRL, &val); val = (val & ~VIA8233_SPDIF_SLOT_MASK) | VIA8233_SPDIF_SLOT_1011; + val &= ~VIA8233_SPDIF_DX3; /* SPDIF off as default */ pci_write_config_byte(chip->pci, VIA8233_SPDIF_CTRL, val); return 0; @@ -1686,6 +1671,7 @@ static int snd_via686_init_misc(via82xx_t *chip, int dev) legacy_cfg = chip->old_legacy_cfg; legacy |= VIA_FUNC_MIDI_IRQMASK; /* FIXME: correct? (disable MIDI) */ legacy &= ~VIA_FUNC_ENABLE_GAME; /* disable joystick */ + legacy &= ~(VIA_FUNC_ENABLE_SB|VIA_FUNC_ENABLE_FM); /* diable SB & FM */ if (chip->revision >= VIA_REV_686_H) { rev_h = 1; if (mpu_port[dev] >= 0x200) { /* force MIDI */ @@ -1766,7 +1752,7 @@ static int snd_via686_init_misc(via82xx_t *chip, int dev) */ static void snd_via82xx_proc_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - via82xx_t *chip = snd_magic_cast(via82xx_t, entry->private_data, return); + via82xx_t *chip = entry->private_data; int i; snd_iprintf(buffer, "%s\n\n", chip->card->longname); @@ -1903,7 +1889,7 @@ static int __devinit snd_via82xx_chip_init(via82xx_t *chip) */ static int snd_via82xx_suspend(snd_card_t *card, unsigned int state) { - via82xx_t *chip = snd_magic_cast(via82xx_t, card->pm_private_data, return -EINVAL); + via82xx_t *chip = card->pm_private_data; int i; for (i = 0; i < 2; i++) @@ -1921,7 +1907,6 @@ static int snd_via82xx_suspend(snd_card_t *card, unsigned int state) chip->capture_src_saved[1] = inb(chip->port + VIA_REG_CAPTURE_CHANNEL + 0x10); } - pci_save_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 3); pci_disable_device(chip->pci); snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); @@ -1930,11 +1915,10 @@ static int snd_via82xx_suspend(snd_card_t *card, unsigned int state) static int snd_via82xx_resume(snd_card_t *card, unsigned int state) { - via82xx_t *chip = snd_magic_cast(via82xx_t, card->pm_private_data, return -EINVAL); + via82xx_t *chip = card->pm_private_data; int idx, i; pci_enable_device(chip->pci); - pci_restore_state(chip->pci, chip->pci_state); pci_set_power_state(chip->pci, 0); snd_via82xx_chip_init(chip); @@ -1976,16 +1960,13 @@ static int snd_via82xx_free(via82xx_t *chip) snd_via82xx_channel_reset(chip, &chip->devs[i]); synchronize_irq(chip->irq); __end_hw: + if (chip->irq >= 0) + free_irq(chip->irq, (void *)chip); if (chip->mpu_res) { release_resource(chip->mpu_res); kfree_nocheck(chip->mpu_res); } - if (chip->res_port) { - release_resource(chip->res_port); - kfree_nocheck(chip->res_port); - } - if (chip->irq >= 0) - free_irq(chip->irq, (void *)chip); + pci_release_regions(chip->pci); if (chip->chip_type == TYPE_VIA686) { #ifdef SUPPORT_JOYSTICK if (chip->res_joystick) { @@ -1997,13 +1978,13 @@ static int snd_via82xx_free(via82xx_t *chip) pci_write_config_byte(chip->pci, VIA_FUNC_ENABLE, chip->old_legacy); pci_write_config_byte(chip->pci, VIA_PNP_CONTROL, chip->old_legacy_cfg); } - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_via82xx_dev_free(snd_device_t *device) { - via82xx_t *chip = snd_magic_cast(via82xx_t, device->device_data, return -ENXIO); + via82xx_t *chip = device->device_data; return snd_via82xx_free(chip); } @@ -2023,7 +2004,7 @@ static int __devinit snd_via82xx_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - if ((chip = snd_magic_kcalloc(via82xx_t, 0, GFP_KERNEL)) == NULL) + if ((chip = kcalloc(1, sizeof(*chip), GFP_KERNEL)) == NULL) return -ENOMEM; chip->chip_type = chip_type; @@ -2037,19 +2018,14 @@ static int __devinit snd_via82xx_create(snd_card_t * card, chip->pci = pci; chip->irq = -1; - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - pci_read_config_byte(pci, VIA_FUNC_ENABLE, &chip->old_legacy); pci_read_config_byte(pci, VIA_PNP_CONTROL, &chip->old_legacy_cfg); - chip->port = pci_resource_start(pci, 0); - if ((chip->res_port = request_region(chip->port, 256, card->driver)) == NULL) { - snd_printk("unable to grab ports 0x%lx-0x%lx\n", chip->port, chip->port + 256 - 1); - snd_via82xx_free(chip); - return -EBUSY; + if ((err = pci_request_regions(pci, card->driver)) < 0) { + kfree(chip); + return err; } + chip->port = pci_resource_start(pci, 0); if (request_irq(pci->irq, snd_via82xx_interrupt, SA_INTERRUPT|SA_SHIRQ, card->driver, (void *)chip)) { snd_printk("unable to grab IRQ %d\n", pci->irq); @@ -2111,9 +2087,12 @@ static int __devinit check_dxs_list(struct pci_dev *pci) { .vendor = 0x1005, .device = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ { .vendor = 0x1019, .device = 0x0996, .action = VIA_DXS_48K }, { .vendor = 0x1019, .device = 0x0a81, .action = VIA_DXS_NO_VRA }, /* ECS K7VTA3 v8.0 */ + { .vendor = 0x1019, .device = 0x0a85, .action = VIA_DXS_NO_VRA }, /* ECS L7VMM2 */ + { .vendor = 0x1025, .device = 0x0033, .action = VIA_DXS_NO_VRA }, /* Acer Inspire 1353LM */ { .vendor = 0x1043, .device = 0x8095, .action = VIA_DXS_NO_VRA }, /* ASUS A7V8X (FIXME: possibly VIA_DXS_ENABLE?)*/ { .vendor = 0x1043, .device = 0x80a1, .action = VIA_DXS_NO_VRA }, /* ASUS A7V8-X */ { .vendor = 0x1043, .device = 0x80b0, .action = VIA_DXS_NO_VRA }, /* ASUS A7V600 & K8V*/ + { .vendor = 0x1071, .device = 0x8375, .action = VIA_DXS_NO_VRA }, /* Vobis/Yakumo/Mitac notebook */ { .vendor = 0x10cf, .device = 0x118e, .action = VIA_DXS_ENABLE }, /* FSC laptop */ { .vendor = 0x1106, .device = 0x4161, .action = VIA_DXS_NO_VRA }, /* ASRock K7VT2 */ { .vendor = 0x1106, .device = 0xaa01, .action = VIA_DXS_NO_VRA }, /* EPIA MII */ @@ -2126,6 +2105,7 @@ static int __devinit check_dxs_list(struct pci_dev *pci) { .vendor = 0x1462, .device = 0x7120, .action = VIA_DXS_ENABLE }, /* MSI KT4V */ { .vendor = 0x1462, .device = 0x5901, .action = VIA_DXS_NO_VRA }, /* MSI KT6 Delta-SR */ { .vendor = 0x1584, .device = 0x8120, .action = VIA_DXS_ENABLE }, /* Gericom/Targa/Vobis/Uniwill laptop */ + { .vendor = 0x1584, .device = 0x8123, .action = VIA_DXS_NO_VRA }, /* Uniwill (Targa Visionary XP-210) */ { .vendor = 0x161f, .device = 0x202b, .action = VIA_DXS_NO_VRA }, /* Amira Note book */ { .vendor = 0x161f, .device = 0x2032, .action = VIA_DXS_48K }, /* m680x machines */ { .vendor = 0x1631, .device = 0xe004, .action = VIA_DXS_ENABLE }, /* Easy Note 3174, Packard Bell */ diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c index 9f4ef46f7..4dd658d42 100644 --- a/sound/pci/vx222/vx222.c +++ b/sound/pci/vx222/vx222.c @@ -28,15 +28,12 @@ #include #include "vx222.h" -#define chip_t vx_core_t - #define CARD_NAME "VX222" MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("Digigram VX222 V2/Mic"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Digigram," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -47,19 +44,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mic, bool, boot_devs, 0444); MODULE_PARM_DESC(mic, "Enable Microphone."); -MODULE_PARM_SYNTAX(mic, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); module_param_array(ibl, int, boot_devs, 0444); MODULE_PARM_DESC(ibl, "Capture IBL size."); -MODULE_PARM_SYNTAX(ibl, SNDRV_ENABLED); /* */ @@ -119,24 +111,19 @@ static struct snd_vx_hardware vx222_mic_hw = { */ static int snd_vx222_free(vx_core_t *chip) { - int i; struct snd_vx222 *vx = (struct snd_vx222 *)chip; if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); - for (i = 0; i < 2; i++) { - if (vx->port_res[i]) { - release_resource(vx->port_res[i]); - kfree_nocheck(vx->port_res[i]); - } - } - snd_magic_kfree(chip); + if (vx->port[0]) + pci_release_regions(vx->pci); + kfree(chip); return 0; } static int snd_vx222_dev_free(snd_device_t *device) { - vx_core_t *chip = snd_magic_cast(vx_core_t, device->device_data, return -ENXIO); + vx_core_t *chip = device->device_data; return snd_vx222_free(chip); } @@ -164,21 +151,14 @@ static int __devinit snd_vx222_create(snd_card_t *card, struct pci_dev *pci, if (! chip) return -ENOMEM; vx = (struct snd_vx222 *)chip; + vx->pci = pci; - for (i = 0; i < 2; i++) { - if (!(pci_resource_flags(pci, i + 1) & IORESOURCE_IO)) { - snd_printk(KERN_ERR "invalid i/o resource %d\n", i + 1); - snd_vx222_free(chip); - return -ENOMEM; - } - vx->port[i] = pci_resource_start(pci, i + 1); - if ((vx->port_res[i] = request_region(vx->port[i], 0x60, - CARD_NAME)) == NULL) { - snd_printk(KERN_ERR "unable to grab port 0x%lx\n", vx->port[i]); - snd_vx222_free(chip); - return -EBUSY; - } + if ((err = pci_request_regions(pci, CARD_NAME)) < 0) { + snd_vx222_free(chip); + return err; } + for (i = 0; i < 2; i++) + vx->port[i] = pci_resource_start(pci, i + 1); if (request_irq(pci->irq, snd_vx_irq_handler, SA_INTERRUPT|SA_SHIRQ, CARD_NAME, (void *) chip)) { diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c index 8fbfc24b4..4440e1df6 100644 --- a/sound/pci/ymfpci/ymfpci.c +++ b/sound/pci/ymfpci/ymfpci.c @@ -33,8 +33,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Yamaha DS-XG PCI"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Yamaha,YMF724}," +MODULE_SUPPORTED_DEVICE("{{Yamaha,YMF724}," "{Yamaha,YMF724F}," "{Yamaha,YMF740}," "{Yamaha,YMF740C}," @@ -54,27 +53,20 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the Yamaha DS-XG PCI soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the Yamaha DS-XG PCI soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Yamaha DS-XG soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(mpu_port, long, boot_devs, 0444); MODULE_PARM_DESC(mpu_port, "MPU-401 Port."); -MODULE_PARM_SYNTAX(mpu_port, SNDRV_ENABLED); module_param_array(fm_port, long, boot_devs, 0444); MODULE_PARM_DESC(fm_port, "FM OPL-3 Port."); -MODULE_PARM_SYNTAX(fm_port, SNDRV_ENABLED); #ifdef SUPPORT_JOYSTICK module_param_array(joystick_port, long, boot_devs, 0444); MODULE_PARM_DESC(joystick_port, "Joystick port address"); -MODULE_PARM_SYNTAX(joystick_port, SNDRV_ENABLED); #endif module_param_array(rear_switch, bool, boot_devs, 0444); MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); -MODULE_PARM_SYNTAX(rear_switch, SNDRV_ENABLED "," SNDRV_BOOLEAN_FALSE_DESC); static struct pci_device_id snd_ymfpci_ids[] = { { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c index 9d0aa2624..160316951 100644 --- a/sound/pci/ymfpci/ymfpci_main.c +++ b/sound/pci/ymfpci/ymfpci_main.c @@ -42,8 +42,6 @@ #include -#define chip_t ymfpci_t - /* * constants */ @@ -102,7 +100,7 @@ static int snd_ymfpci_codec_ready(ymfpci_t *chip, int secondary) static void snd_ymfpci_codec_write(ac97_t *ac97, u16 reg, u16 val) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, ac97->private_data, return); + ymfpci_t *chip = ac97->private_data; u32 cmd; snd_ymfpci_codec_ready(chip, 0); @@ -112,7 +110,7 @@ static void snd_ymfpci_codec_write(ac97_t *ac97, u16 reg, u16 val) static u16 snd_ymfpci_codec_read(ac97_t *ac97, u16 reg) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, ac97->private_data, return -ENXIO); + ymfpci_t *chip = ac97->private_data; if (snd_ymfpci_codec_ready(chip, 0)) return ~0; @@ -330,7 +328,7 @@ static void snd_ymfpci_pcm_interrupt(ymfpci_t *chip, ymfpci_voice_t *voice) static void snd_ymfpci_pcm_capture_interrupt(snd_pcm_substream_t *substream) { snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return); + ymfpci_pcm_t *ypcm = runtime->private_data; ymfpci_t *chip = ypcm->chip; u32 pos, delta; @@ -358,7 +356,7 @@ static int snd_ymfpci_playback_trigger(snd_pcm_substream_t * substream, int cmd) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, substream->runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = substream->runtime->private_data; int result = 0; spin_lock(&chip->reg_lock); @@ -395,7 +393,7 @@ static int snd_ymfpci_capture_trigger(snd_pcm_substream_t * substream, int cmd) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, substream->runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = substream->runtime->private_data; int result = 0; u32 tmp; @@ -541,7 +539,8 @@ static void snd_ymfpci_pcm_init_voice(ymfpci_voice_t *voice, int stereo, static int __devinit snd_ymfpci_ac3_init(ymfpci_t *chip) { - if (snd_dma_alloc_pages(&chip->dma_dev, 4096, &chip->ac3_tmp_base) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + 4096, &chip->ac3_tmp_base) < 0) return -ENOMEM; chip->bank_effect[3][0]->base = @@ -568,7 +567,7 @@ static int snd_ymfpci_ac3_done(ymfpci_t *chip) spin_unlock_irq(&chip->reg_lock); // snd_ymfpci_irq_wait(chip); if (chip->ac3_tmp_base.area) { - snd_dma_free_pages(&chip->dma_dev, &chip->ac3_tmp_base); + snd_dma_free_pages(&chip->ac3_tmp_base); chip->ac3_tmp_base.area = NULL; } return 0; @@ -578,7 +577,7 @@ static int snd_ymfpci_playback_hw_params(snd_pcm_substream_t * substream, snd_pcm_hw_params_t * hw_params) { snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; int err; if ((err = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params))) < 0) @@ -596,7 +595,7 @@ static int snd_ymfpci_playback_hw_free(snd_pcm_substream_t * substream) if (runtime->private_data == NULL) return 0; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ypcm = runtime->private_data; /* wait, until the PCI operations are not finished */ snd_ymfpci_irq_wait(chip); @@ -616,7 +615,7 @@ static int snd_ymfpci_playback_prepare(snd_pcm_substream_t * substream) { // ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; unsigned int nvoice; ypcm->period_size = runtime->period_size; @@ -654,7 +653,7 @@ static int snd_ymfpci_capture_prepare(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; snd_ymfpci_capture_bank_t * bank; int nbank; u32 rate, format; @@ -698,7 +697,7 @@ static snd_pcm_uframes_t snd_ymfpci_playback_pointer(snd_pcm_substream_t * subst { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; ymfpci_voice_t *voice = ypcm->voices[0]; if (!(ypcm->running && voice)) @@ -710,7 +709,7 @@ static snd_pcm_uframes_t snd_ymfpci_capture_pointer(snd_pcm_substream_t * substr { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; if (!ypcm->running) return 0; @@ -736,7 +735,7 @@ static void snd_ymfpci_irq_wait(ymfpci_t *chip) static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, dev_id, return IRQ_NONE); + ymfpci_t *chip = dev_id; u32 status, nvoice, mode; ymfpci_voice_t *voice; @@ -830,10 +829,10 @@ static snd_pcm_hardware_t snd_ymfpci_capture = static void snd_ymfpci_pcm_free_substream(snd_pcm_runtime_t *runtime) { - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return); + ymfpci_pcm_t *ypcm = runtime->private_data; if (ypcm) - snd_magic_kfree(ypcm); + kfree(ypcm); } static int snd_ymfpci_playback_open_1(snd_pcm_substream_t * substream) @@ -842,7 +841,7 @@ static int snd_ymfpci_playback_open_1(snd_pcm_substream_t * substream) snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - ypcm = snd_magic_kcalloc(ymfpci_pcm_t, 0, GFP_KERNEL); + ypcm = kcalloc(1, sizeof(*ypcm), GFP_KERNEL); if (ypcm == NULL) return -ENOMEM; ypcm->chip = chip; @@ -886,20 +885,19 @@ static int snd_ymfpci_playback_open(snd_pcm_substream_t * substream) ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - unsigned long flags; int err; if ((err = snd_ymfpci_playback_open_1(substream)) < 0) return err; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return 0); + ypcm = runtime->private_data; ypcm->output_front = 1; ypcm->output_rear = chip->mode_dup4ch ? 1 : 0; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (ypcm->output_rear) { ymfpci_open_extension(chip); chip->rear_opened++; } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -908,22 +906,21 @@ static int snd_ymfpci_playback_spdif_open(snd_pcm_substream_t * substream) ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - unsigned long flags; int err; if ((err = snd_ymfpci_playback_open_1(substream)) < 0) return err; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return 0); + ypcm = runtime->private_data; ypcm->output_front = 0; ypcm->output_rear = 1; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTCTRL, snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) | 2); ymfpci_open_extension(chip); chip->spdif_pcm_bits = chip->spdif_bits; snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits); chip->spdif_opened++; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->spdif_pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE | @@ -936,18 +933,17 @@ static int snd_ymfpci_playback_4ch_open(snd_pcm_substream_t * substream) ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - unsigned long flags; int err; if ((err = snd_ymfpci_playback_open_1(substream)) < 0) return err; - ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return 0); + ypcm = runtime->private_data; ypcm->output_front = 0; ypcm->output_rear = 1; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ymfpci_open_extension(chip); chip->rear_opened++; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -958,7 +954,7 @@ static int snd_ymfpci_capture_open(snd_pcm_substream_t * substream, snd_pcm_runtime_t *runtime = substream->runtime; ymfpci_pcm_t *ypcm; - ypcm = snd_magic_kcalloc(ymfpci_pcm_t, 0, GFP_KERNEL); + ypcm = kcalloc(1, sizeof(*ypcm), GFP_KERNEL); if (ypcm == NULL) return -ENOMEM; ypcm->chip = chip; @@ -993,30 +989,28 @@ static int snd_ymfpci_playback_close_1(snd_pcm_substream_t * substream) static int snd_ymfpci_playback_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, substream->runtime->private_data, return -ENXIO); - unsigned long flags; + ymfpci_pcm_t *ypcm = substream->runtime->private_data; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (ypcm->output_rear && chip->rear_opened > 0) { chip->rear_opened--; ymfpci_close_extension(chip); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return snd_ymfpci_playback_close_1(substream); } static int snd_ymfpci_playback_spdif_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); chip->spdif_opened = 0; ymfpci_close_extension(chip); snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTCTRL, snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & ~2); snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); chip->spdif_pcm_ctl->vd[0].access |= SNDRV_CTL_ELEM_ACCESS_INACTIVE; snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO, &chip->spdif_pcm_ctl->id); @@ -1026,14 +1020,13 @@ static int snd_ymfpci_playback_spdif_close(snd_pcm_substream_t * substream) static int snd_ymfpci_playback_4ch_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); if (chip->rear_opened > 0) { chip->rear_opened--; ymfpci_close_extension(chip); } - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return snd_ymfpci_playback_close_1(substream); } @@ -1041,7 +1034,7 @@ static int snd_ymfpci_capture_close(snd_pcm_substream_t * substream) { ymfpci_t *chip = snd_pcm_substream_chip(substream); snd_pcm_runtime_t *runtime = substream->runtime; - ymfpci_pcm_t *ypcm = snd_magic_cast(ymfpci_pcm_t, runtime->private_data, return -ENXIO); + ymfpci_pcm_t *ypcm = runtime->private_data; if (ypcm != NULL) { chip->capture_substream[ypcm->capture_bank_number] = NULL; @@ -1074,7 +1067,7 @@ static snd_pcm_ops_t snd_ymfpci_capture_rec_ops = { static void snd_ymfpci_pcm_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1120,7 +1113,7 @@ static snd_pcm_ops_t snd_ymfpci_capture_ac97_ops = { static void snd_ymfpci_pcm2_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm2 = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1166,7 +1159,7 @@ static snd_pcm_ops_t snd_ymfpci_playback_spdif_ops = { static void snd_ymfpci_pcm_spdif_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm_spdif = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1211,7 +1204,7 @@ static snd_pcm_ops_t snd_ymfpci_playback_4ch_ops = { static void snd_ymfpci_pcm_4ch_free(snd_pcm_t *pcm) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, pcm->private_data, return); + ymfpci_t *chip = pcm->private_data; chip->pcm_4ch = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1254,12 +1247,11 @@ static int snd_ymfpci_spdif_default_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ucontrol->value.iec958.status[0] = (chip->spdif_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (chip->spdif_bits >> 8) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1267,18 +1259,17 @@ static int snd_ymfpci_spdif_default_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; val = ((ucontrol->value.iec958.status[0] & 0x3e) << 0) | (ucontrol->value.iec958.status[1] << 8); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); change = chip->spdif_bits != val; chip->spdif_bits = val; if ((snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & 1) && chip->pcm_spdif == NULL) snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_bits); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1302,12 +1293,11 @@ static int snd_ymfpci_spdif_mask_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ucontrol->value.iec958.status[0] = 0x3e; ucontrol->value.iec958.status[1] = 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1331,12 +1321,11 @@ static int snd_ymfpci_spdif_stream_get(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); ucontrol->value.iec958.status[0] = (chip->spdif_pcm_bits >> 0) & 0xff; ucontrol->value.iec958.status[1] = (chip->spdif_pcm_bits >> 8) & 0xff; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -1344,18 +1333,17 @@ static int snd_ymfpci_spdif_stream_put(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int val; int change; val = ((ucontrol->value.iec958.status[0] & 0x3e) << 0) | (ucontrol->value.iec958.status[1] << 8); - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); change = chip->spdif_pcm_bits != val; chip->spdif_pcm_bits = val; if ((snd_ymfpci_readw(chip, YDSXGR_SPDIFOUTCTRL) & 2)) snd_ymfpci_writew(chip, YDSXGR_SPDIFOUTSTATUS, chip->spdif_pcm_bits); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1385,12 +1373,11 @@ static int snd_ymfpci_drec_source_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_in static int snd_ymfpci_drec_source_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u16 reg; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); reg = snd_ymfpci_readw(chip, YDSXGR_GLOBALCTRL); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); if (!(reg & 0x100)) value->value.enumerated.item[0] = 0; else @@ -1401,17 +1388,16 @@ static int snd_ymfpci_drec_source_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_val static int snd_ymfpci_drec_source_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *value) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; u16 reg, old_reg; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); old_reg = snd_ymfpci_readw(chip, YDSXGR_GLOBALCTRL); if (value->value.enumerated.item[0] == 0) reg = old_reg & ~0x100; else reg = (old_reg & ~0x300) | 0x100 | ((value->value.enumerated.item[0] == 2) << 9); snd_ymfpci_writew(chip, YDSXGR_GLOBALCTRL, reg); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return reg != old_reg; } @@ -1470,7 +1456,6 @@ static int snd_ymfpci_get_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_ymfpci_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; int reg = kcontrol->private_value; unsigned int shift = 0, mask = 1, invert = 0; int change; @@ -1485,12 +1470,12 @@ static int snd_ymfpci_put_single(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t if (invert) val = mask - val; val <<= shift; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); oval = snd_ymfpci_readl(chip, reg); val = (oval & ~(mask << shift)) | val; change = val != oval; snd_ymfpci_writel(chip, reg, val); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1517,16 +1502,15 @@ static int snd_ymfpci_info_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t static int snd_ymfpci_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int reg = kcontrol->private_value; unsigned int shift_left = 0, shift_right = 16, mask = 16383, invert = 0; unsigned int val; if (reg < 0x80 || reg >= 0xc0) return -EINVAL; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); val = snd_ymfpci_readl(chip, reg); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); ucontrol->value.integer.value[0] = (val >> shift_left) & mask; ucontrol->value.integer.value[1] = (val >> shift_right) & mask; if (invert) { @@ -1539,7 +1523,6 @@ static int snd_ymfpci_get_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t static int snd_ymfpci_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t * ucontrol) { ymfpci_t *chip = snd_kcontrol_chip(kcontrol); - unsigned long flags; unsigned int reg = kcontrol->private_value; unsigned int shift_left = 0, shift_right = 16, mask = 16383, invert = 0; int change; @@ -1555,12 +1538,12 @@ static int snd_ymfpci_put_double(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t } val1 <<= shift_left; val2 <<= shift_right; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); oval = snd_ymfpci_readl(chip, reg); val1 = (oval & ~((mask << shift_left) | (mask << shift_right))) | val1 | val2; change = val1 != oval; snd_ymfpci_writel(chip, reg, val1); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return change; } @@ -1594,8 +1577,6 @@ static int snd_ymfpci_put_dup4ch(snd_kcontrol_t * kcontrol, snd_ctl_elem_value_t } -#define YMFPCI_CONTROLS (sizeof(snd_ymfpci_controls)/sizeof(snd_kcontrol_new_t)) - static snd_kcontrol_new_t snd_ymfpci_controls[] __devinitdata = { YMFPCI_DOUBLE("Wave Playback Volume", 0, YDSXGR_NATIVEDACOUTVOL), YMFPCI_DOUBLE("Wave Capture Volume", 0, YDSXGR_NATIVEDACLOOPVOL), @@ -1709,31 +1690,30 @@ static snd_kcontrol_new_t snd_ymfpci_rear_shared __devinitdata = { static void snd_ymfpci_mixer_free_ac97_bus(ac97_bus_t *bus) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, bus->private_data, return); + ymfpci_t *chip = bus->private_data; chip->ac97_bus = NULL; } static void snd_ymfpci_mixer_free_ac97(ac97_t *ac97) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, ac97->private_data, return); + ymfpci_t *chip = ac97->private_data; chip->ac97 = NULL; } int __devinit snd_ymfpci_mixer(ymfpci_t *chip, int rear_switch) { - ac97_bus_t bus; - ac97_t ac97; + ac97_template_t ac97; snd_kcontrol_t *kctl; unsigned int idx; int err; + static ac97_bus_ops_t ops = { + .write = snd_ymfpci_codec_write, + .read = snd_ymfpci_codec_read, + }; - memset(&bus, 0, sizeof(bus)); - bus.write = snd_ymfpci_codec_write; - bus.read = snd_ymfpci_codec_read; - bus.private_data = chip; - bus.private_free = snd_ymfpci_mixer_free_ac97_bus; - if ((err = snd_ac97_bus(chip->card, &bus, &chip->ac97_bus)) < 0) + if ((err = snd_ac97_bus(chip->card, 0, &ops, chip, &chip->ac97_bus)) < 0) return err; + chip->ac97_bus->private_free = snd_ymfpci_mixer_free_ac97_bus; memset(&ac97, 0, sizeof(ac97)); ac97.private_data = chip; @@ -1741,7 +1721,7 @@ int __devinit snd_ymfpci_mixer(ymfpci_t *chip, int rear_switch) if ((err = snd_ac97_mixer(chip->ac97_bus, &ac97, &chip->ac97)) < 0) return err; - for (idx = 0; idx < YMFPCI_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_ymfpci_controls); idx++) { if ((err = snd_ctl_add(chip->card, snd_ctl_new1(&snd_ymfpci_controls[idx], chip))) < 0) return err; } @@ -1854,7 +1834,7 @@ int __devinit snd_ymfpci_timer(ymfpci_t *chip, int device) static void snd_ymfpci_proc_read(snd_info_entry_t *entry, snd_info_buffer_t * buffer) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, entry->private_data, return); + ymfpci_t *chip = entry->private_data; int i; snd_iprintf(buffer, "YMFPCI\n\n"); @@ -1975,7 +1955,8 @@ static int __devinit snd_ymfpci_memalloc(ymfpci_t *chip) chip->work_size; /* work_ptr must be aligned to 256 bytes, but it's already covered with the kernel page allocation mechanism */ - if (snd_dma_alloc_pages(&chip->dma_dev, size, &chip->work_ptr) < 0) + if (snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, snd_dma_pci_data(chip->pci), + size, &chip->work_ptr) < 0) return -ENOMEM; ptr = chip->work_ptr.area; ptr_addr = chip->work_ptr.addr; @@ -2106,7 +2087,7 @@ static int snd_ymfpci_free(ymfpci_t *chip) if (chip->reg_area_virt) iounmap((void *)chip->reg_area_virt); if (chip->work_ptr.area) - snd_dma_free_pages(&chip->dma_dev, &chip->work_ptr); + snd_dma_free_pages(&chip->work_ptr); if (chip->irq >= 0) free_irq(chip->irq, (void *)chip); @@ -2117,13 +2098,13 @@ static int snd_ymfpci_free(ymfpci_t *chip) pci_write_config_word(chip->pci, 0x40, chip->old_legacy_ctrl); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_ymfpci_dev_free(snd_device_t *device) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, device->device_data, return -ENXIO); + ymfpci_t *chip = device->device_data; return snd_ymfpci_free(chip); } @@ -2159,7 +2140,7 @@ static int saved_regs_index[] = { static int snd_ymfpci_suspend(snd_card_t *card, unsigned int state) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, card->pm_private_data, return -EINVAL); + ymfpci_t *chip = card->pm_private_data; unsigned int i; snd_pcm_suspend_all(chip->pcm); @@ -2178,7 +2159,7 @@ static int snd_ymfpci_suspend(snd_card_t *card, unsigned int state) static int snd_ymfpci_resume(snd_card_t *card, unsigned int state) { - ymfpci_t *chip = snd_magic_cast(ymfpci_t, card->pm_private_data, return -EINVAL); + ymfpci_t *chip = card->pm_private_data; unsigned int i; pci_enable_device(chip->pci); @@ -2195,11 +2176,10 @@ static int snd_ymfpci_resume(snd_card_t *card, unsigned int state) /* start hw again */ if (chip->start_count > 0) { - unsigned long flags; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_ymfpci_writel(chip, YDSXGR_MODE, chip->saved_ydsxgr_mode); chip->active_bank = snd_ymfpci_readl(chip, YDSXGR_CTRLSELECT); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); } snd_power_change_state(card, SNDRV_CTL_POWER_D0); return 0; @@ -2223,7 +2203,7 @@ int __devinit snd_ymfpci_create(snd_card_t * card, if ((err = pci_enable_device(pci)) < 0) return err; - chip = snd_magic_kcalloc(ymfpci_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->old_legacy_ctrl = old_legacy_ctrl; @@ -2252,10 +2232,6 @@ int __devinit snd_ymfpci_create(snd_card_t * card, } chip->irq = pci->irq; - memset(&chip->dma_dev, 0, sizeof(chip->dma_dev)); - chip->dma_dev.type = SNDRV_DMA_TYPE_DEV; - chip->dma_dev.dev = snd_dma_pci_data(pci); - snd_ymfpci_aclink_reset(pci); if (snd_ymfpci_codec_ready(chip, 0) < 0) { snd_ymfpci_free(chip); diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c index 7b3db54a2..1eb9e54fe 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c @@ -37,8 +37,7 @@ MODULE_AUTHOR("Jaroslav Kysela "); MODULE_DESCRIPTION("Sound Core " CARD_NAME); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Sound Core," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Sound Core," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -49,13 +48,10 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param(irq_mask, int, 0444); MODULE_PARM_DESC(irq_mask, "IRQ bitmask for " CARD_NAME " soundcard."); module_param_array(irq_list, int, boot_devs, 0444); @@ -103,13 +99,13 @@ static int snd_pdacf_free(pdacf_t *pdacf) card_list[pdacf->index] = NULL; pdacf->card = NULL; - snd_magic_kfree(pdacf); + kfree(pdacf); return 0; } static int snd_pdacf_dev_free(snd_device_t *device) { - pdacf_t *chip = snd_magic_cast(pdacf_t, device->device_data, return -ENXIO); + pdacf_t *chip = device->device_data; return snd_pdacf_free(chip); } @@ -152,7 +148,7 @@ static dev_link_t *snd_pdacf_attach(void) return NULL; if (snd_device_new(card, SNDRV_DEV_LOWLEVEL, pdacf, &ops) < 0) { - snd_magic_kfree(pdacf); + kfree(pdacf); snd_card_free(card); return NULL; } @@ -258,7 +254,7 @@ static int snd_pdacf_assign_resources(pdacf_t *pdacf, int port, int irq) */ static void snd_pdacf_detach(dev_link_t *link) { - pdacf_t *chip = snd_magic_cast(pdacf_t, link->priv, return); + pdacf_t *chip = link->priv; snd_printdd(KERN_DEBUG "pdacf_detach called\n"); /* Remove the interface data from the linked list */ @@ -297,7 +293,7 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) static void pdacf_config(dev_link_t *link) { client_handle_t handle = link->handle; - pdacf_t *pdacf = snd_magic_cast(pdacf_t, link->priv, return); + pdacf_t *pdacf = link->priv; tuple_t tuple; cisparse_t parse; config_info_t conf; diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_core.c b/sound/pcmcia/pdaudiocf/pdaudiocf_core.c index 7b615fd16..9e194fb07 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_core.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_core.c @@ -30,7 +30,7 @@ */ unsigned char pdacf_ak4117_read(void *private_data, unsigned char reg) { - pdacf_t *chip = snd_magic_cast(pdacf_t, private_data, return 0); + pdacf_t *chip = private_data; unsigned long timeout; unsigned long flags; unsigned char res; @@ -62,7 +62,7 @@ unsigned char pdacf_ak4117_read(void *private_data, unsigned char reg) void pdacf_ak4117_write(void *private_data, unsigned char reg, unsigned char val) { - pdacf_t *chip = snd_magic_cast(pdacf_t, private_data, return); + pdacf_t *chip = private_data; unsigned long timeout; unsigned long flags; @@ -130,7 +130,7 @@ void pdacf_reinit(pdacf_t *chip, int resume) static void pdacf_proc_read(snd_info_entry_t * entry, snd_info_buffer_t * buffer) { - pdacf_t *chip = snd_magic_cast(pdacf_t, entry->private_data, return); + pdacf_t *chip = entry->private_data; u16 tmp; snd_iprintf(buffer, "PDAudioCF\n\n"); @@ -151,7 +151,7 @@ pdacf_t *snd_pdacf_create(snd_card_t *card) { pdacf_t *chip; - chip = snd_magic_kcalloc(pdacf_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return NULL; chip->card = card; @@ -257,7 +257,7 @@ void snd_pdacf_powerdown(pdacf_t *chip) int snd_pdacf_suspend(snd_card_t *card, unsigned int state) { - pdacf_t *chip = snd_magic_cast(pdacf_t, card->pm_private_data, return -EINVAL); + pdacf_t *chip = card->pm_private_data; u16 val; snd_pcm_suspend_all(chip->pcm); @@ -278,7 +278,7 @@ static inline int check_signal(pdacf_t *chip) int snd_pdacf_resume(snd_card_t *card, unsigned int state) { - pdacf_t *chip = snd_magic_cast(pdacf_t, card->pm_private_data, return -EINVAL); + pdacf_t *chip = card->pm_private_data; int timeout = 40; pdacf_reinit(chip, 1); diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c index 14443f07d..255b63444 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c @@ -28,7 +28,7 @@ */ irqreturn_t pdacf_interrupt(int irq, void *dev, struct pt_regs *regs) { - pdacf_t *chip = snd_magic_cast(pdacf_t, dev, return IRQ_NONE); + pdacf_t *chip = dev; unsigned short stat; if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE| @@ -258,7 +258,7 @@ static void pdacf_transfer(pdacf_t *chip, unsigned int size, unsigned int off) void pdacf_tasklet(unsigned long private_data) { - pdacf_t *chip = snd_magic_cast(pdacf_t, (void *)private_data, return); + pdacf_t *chip = (pdacf_t *) private_data; int size, off, cont, rdp, wdp; if ((chip->chip_status & (PDAUDIOCF_STAT_IS_STALE|PDAUDIOCF_STAT_IS_CONFIGURED)) != PDAUDIOCF_STAT_IS_CONFIGURED) diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c index 0a9085840..27608e4c6 100644 --- a/sound/pcmcia/vx/vxpocket.c +++ b/sound/pcmcia/vx/vxpocket.c @@ -50,8 +50,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("Digigram " CARD_NAME); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Digigram," CARD_NAME "}}"); +MODULE_SUPPORTED_DEVICE("{{Digigram," CARD_NAME "}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */ @@ -63,20 +62,16 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param(irq_mask, int, 0444); MODULE_PARM_DESC(irq_mask, "IRQ bitmask for " CARD_NAME " soundcard."); module_param_array(irq_list, int, boot_devs, 0444); MODULE_PARM_DESC(irq_list, "List of Available interrupts for " CARD_NAME " soundcard."); module_param_array(ibl, int, boot_devs, 0444); MODULE_PARM_DESC(ibl, "Capture IBL size for " CARD_NAME " soundcard."); -MODULE_PARM_SYNTAX(ibl, SNDRV_ENABLED); /* diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c index 6b307b064..3e44a6a7d 100644 --- a/sound/ppc/pmac.c +++ b/sound/ppc/pmac.c @@ -36,8 +36,6 @@ #include #endif -#define chip_t pmac_t - #if defined(CONFIG_PM) && defined(CONFIG_PMAC_PBOOK) static int snd_pmac_register_sleep_notifier(pmac_t *chip); @@ -52,8 +50,8 @@ static int awacs_freqs[8] = { 44100, 29400, 22050, 17640, 14700, 11025, 8820, 7350 }; /* fixed frequency table for tumbler */ -static int tumbler_freqs[2] = { - 48000, 44100 +static int tumbler_freqs[1] = { + 44100 }; /* @@ -86,7 +84,7 @@ static void snd_pmac_dbdma_free(pmac_dbdma_t *rec) * look up frequency table */ -static unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate) +unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate) { int i, ok, found; @@ -203,7 +201,6 @@ static int snd_pmac_pcm_prepare(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substr { int i; volatile struct dbdma_cmd *cp; - unsigned long flags; snd_pcm_runtime_t *runtime = subs->runtime; int rate_index; long offset; @@ -226,15 +223,17 @@ static int snd_pmac_pcm_prepare(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substr /* We really want to execute a DMA stop command, after the AWACS * is initialized. * For reasons I don't understand, it stops the hissing noise - * common to many PowerBook G3 systems (like mine :-). + * common to many PowerBook G3 systems and random noise otherwise + * captured on iBook2's about every third time. -ReneR */ - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock_irq(&chip->reg_lock); snd_pmac_dma_stop(rec); - if (rec->stream == SNDRV_PCM_STREAM_PLAYBACK) { - st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP); - snd_pmac_dma_set_command(rec, &chip->extra_dma); - snd_pmac_dma_run(rec, RUN); - } + st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP); + snd_pmac_dma_set_command(rec, &chip->extra_dma); + snd_pmac_dma_run(rec, RUN); + spin_unlock_irq(&chip->reg_lock); + mdelay(5); + spin_lock_irq(&chip->reg_lock); /* continuous DMA memory type doesn't provide the physical address, * so we need to resolve the address here... */ @@ -252,7 +251,7 @@ static int snd_pmac_pcm_prepare(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substr snd_pmac_dma_stop(rec); snd_pmac_dma_set_command(rec, &rec->cmd); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock_irq(&chip->reg_lock); return 0; } @@ -264,7 +263,6 @@ static int snd_pmac_pcm_prepare(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substr static int snd_pmac_pcm_trigger(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substream_t *subs, int cmd) { - unsigned long flags; volatile struct dbdma_cmd *cp; int i, command; @@ -275,7 +273,7 @@ static int snd_pmac_pcm_trigger(pmac_t *chip, pmac_stream_t *rec, return -EBUSY; command = (subs->stream == SNDRV_PCM_STREAM_PLAYBACK ? OUTPUT_MORE : INPUT_MORE) + INTR_ALWAYS; - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); snd_pmac_beep_stop(chip); snd_pmac_pcm_set_format(chip); for (i = 0, cp = rec->cmd.cmds; i < rec->nperiods; i++, cp++) @@ -284,18 +282,18 @@ static int snd_pmac_pcm_trigger(pmac_t *chip, pmac_stream_t *rec, (void)in_le32(&rec->dma->status); snd_pmac_dma_run(rec, RUN|WAKE); rec->running = 1; - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); break; case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: - spin_lock_irqsave(&chip->reg_lock, flags); + spin_lock(&chip->reg_lock); rec->running = 0; /*printk("stopped!!\n");*/ snd_pmac_dma_stop(rec); for (i = 0, cp = rec->cmd.cmds; i < rec->nperiods; i++, cp++) out_le16(&cp->command, DBDMA_STOP); - spin_unlock_irqrestore(&chip->reg_lock, flags); + spin_unlock(&chip->reg_lock); break; default: @@ -490,14 +488,12 @@ static int snd_pmac_pcm_open(pmac_t *chip, pmac_stream_t *rec, snd_pcm_substream snd_pcm_runtime_t *runtime = subs->runtime; int i, j, fflags; static int typical_freqs[] = { - 48000, 44100, 22050, 11025, 0, }; static int typical_freq_flags[] = { - SNDRV_PCM_RATE_48000, SNDRV_PCM_RATE_44100, SNDRV_PCM_RATE_22050, SNDRV_PCM_RATE_11025, @@ -651,7 +647,7 @@ int __init snd_pmac_pcm_new(pmac_t *chip) pcm->private_data = chip; pcm->private_free = pmac_pcm_free; - pcm->info_flags = 0; + pcm->info_flags = SNDRV_PCM_INFO_JOINT_DUPLEX; strcpy(pcm->name, chip->card->shortname); chip->pcm = pcm; @@ -682,13 +678,42 @@ static void snd_pmac_dbdma_reset(pmac_t *chip) } +/* + * handling beep + */ +void snd_pmac_beep_dma_start(pmac_t *chip, int bytes, unsigned long addr, int speed) +{ + pmac_stream_t *rec = &chip->playback; + + snd_pmac_dma_stop(rec); + st_le16(&chip->extra_dma.cmds->req_count, bytes); + st_le16(&chip->extra_dma.cmds->xfer_status, 0); + st_le32(&chip->extra_dma.cmds->cmd_dep, chip->extra_dma.addr); + st_le32(&chip->extra_dma.cmds->phy_addr, addr); + st_le16(&chip->extra_dma.cmds->command, OUTPUT_MORE + BR_ALWAYS); + out_le32(&chip->awacs->control, + (in_le32(&chip->awacs->control) & ~0x1f00) + | (speed << 8)); + out_le32(&chip->awacs->byteswap, 0); + snd_pmac_dma_set_command(rec, &chip->extra_dma); + snd_pmac_dma_run(rec, RUN); +} + +void snd_pmac_beep_dma_stop(pmac_t *chip) +{ + snd_pmac_dma_stop(&chip->playback); + st_le16(&chip->extra_dma.cmds->command, DBDMA_STOP); + snd_pmac_pcm_set_format(chip); /* reset format */ +} + + /* * interrupt handlers */ static irqreturn_t snd_pmac_tx_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; snd_pmac_pcm_update(chip, &chip->playback); return IRQ_HANDLED; } @@ -697,7 +722,7 @@ snd_pmac_tx_intr(int irq, void *devid, struct pt_regs *regs) static irqreturn_t snd_pmac_rx_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; snd_pmac_pcm_update(chip, &chip->capture); return IRQ_HANDLED; } @@ -706,7 +731,7 @@ snd_pmac_rx_intr(int irq, void *devid, struct pt_regs *regs) static irqreturn_t snd_pmac_ctrl_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; int ctrl = in_le32(&chip->awacs->control); /*printk("pmac: control interrupt.. 0x%x\n", ctrl);*/ @@ -776,6 +801,8 @@ static int snd_pmac_free(pmac_t *chip) if (chip->mixer_free) chip->mixer_free(chip); + snd_pmac_detach_beep(chip); + /* release resources */ if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); @@ -802,7 +829,7 @@ static int snd_pmac_free(pmac_t *chip) release_OF_resource(chip->node, i); } } - snd_magic_kfree(chip); + kfree(chip); return 0; } @@ -812,7 +839,7 @@ static int snd_pmac_free(pmac_t *chip) */ static int snd_pmac_dev_free(snd_device_t *device) { - pmac_t *chip = snd_magic_cast(pmac_t, device->device_data, return -ENXIO); + pmac_t *chip = device->device_data; return snd_pmac_free(chip); } @@ -862,7 +889,7 @@ static int __init snd_pmac_detect(pmac_t *chip) chip->can_byte_swap = 1; chip->can_duplex = 1; chip->can_capture = 1; - chip->num_freqs = 8; + chip->num_freqs = ARRAY_SIZE(awacs_freqs); chip->freq_table = awacs_freqs; chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */ @@ -920,14 +947,14 @@ static int __init snd_pmac_detect(pmac_t *chip) chip->can_capture = 0; /* no capture */ chip->can_duplex = 0; // chip->can_byte_swap = 0; /* FIXME: check this */ - chip->num_freqs = 2; + chip->num_freqs = ARRAY_SIZE(tumbler_freqs); chip->freq_table = tumbler_freqs; chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */ } if (device_is_compatible(sound, "snapper")) { chip->model = PMAC_SNAPPER; // chip->can_byte_swap = 0; /* FIXME: check this */ - chip->num_freqs = 2; + chip->num_freqs = ARRAY_SIZE(tumbler_freqs); chip->freq_table = tumbler_freqs; chip->control_mask = MASK_IEPC | 0x11; /* disable IEE */ } @@ -1069,7 +1096,7 @@ int __init snd_pmac_new(snd_card_t *card, pmac_t **chip_return) snd_runtime_check(chip_return, return -EINVAL); *chip_return = NULL; - chip = snd_magic_kcalloc(pmac_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; chip->card = card; @@ -1206,7 +1233,7 @@ int __init snd_pmac_new(snd_card_t *card, pmac_t **chip_return) static int snd_pmac_suspend(snd_card_t *card, unsigned int state) { - pmac_t *chip = snd_magic_cast(pmac_t, card->pm_private_data, return -EINVAL); + pmac_t *chip = card->pm_private_data; unsigned long flags; if (chip->suspend) @@ -1228,7 +1255,7 @@ static int snd_pmac_suspend(snd_card_t *card, unsigned int state) static int snd_pmac_resume(snd_card_t *card, unsigned int state) { - pmac_t *chip = snd_magic_cast(pmac_t, card->pm_private_data, return -EINVAL); + pmac_t *chip = card->pm_private_data; snd_pmac_sound_feature(chip, 1); if (chip->resume) diff --git a/sound/ppc/pmac.h b/sound/ppc/pmac.h index 252ea0311..9521a4106 100644 --- a/sound/ppc/pmac.h +++ b/sound/ppc/pmac.h @@ -84,7 +84,7 @@ struct snd_pmac_stream { snd_pcm_substream_t *substream; - unsigned int cur_freqs; /* currently available frequences */ + unsigned int cur_freqs; /* currently available frequencies */ unsigned int cur_formats; /* currently available formats */ }; @@ -155,6 +155,7 @@ struct snd_pmac { void (*mixer_free)(pmac_t *); snd_kcontrol_t *master_sw_ctl; snd_kcontrol_t *speaker_sw_ctl; + snd_kcontrol_t *drc_sw_ctl; /* only used for tumbler -ReneR */ snd_kcontrol_t *hp_detect_ctl; /* lowlevel callbacks */ @@ -173,6 +174,12 @@ struct snd_pmac { int snd_pmac_new(snd_card_t *card, pmac_t **chip_return); int snd_pmac_pcm_new(pmac_t *chip); int snd_pmac_attach_beep(pmac_t *chip); +void snd_pmac_detach_beep(pmac_t *chip); +void snd_pmac_beep_stop(pmac_t *chip); +unsigned int snd_pmac_rate_index(pmac_t *chip, pmac_stream_t *rec, unsigned int rate); + +void snd_pmac_beep_dma_start(pmac_t *chip, int bytes, unsigned long addr, int speed); +void snd_pmac_beep_dma_stop(pmac_t *chip); /* initialize mixer */ int snd_pmac_awacs_init(pmac_t *chip); @@ -206,9 +213,4 @@ int snd_pmac_add_automute(pmac_t *chip); schedule_timeout(((msec) * HZ + 999) / 1000);\ } while (0) -#ifndef PMAC_SUPPORT_PCM_BEEP -#define snd_pmac_attach_beep(chip) 0 -#define snd_pmac_beep_stop(chip) /**/ -#endif - #endif /* __PMAC_H */ diff --git a/sound/ppc/powermac.c b/sound/ppc/powermac.c index 3c4550ae6..8f1953a8e 100644 --- a/sound/ppc/powermac.c +++ b/sound/ppc/powermac.c @@ -30,31 +30,19 @@ #define CHIP_NAME "PMac" MODULE_DESCRIPTION("PowerMac"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Apple,PowerMac}}"); +MODULE_SUPPORTED_DEVICE("{{Apple,PowerMac}}"); MODULE_LICENSE("GPL"); static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */ static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */ -/* static int enable = 1; */ -#ifdef PMAC_SUPPORT_PCM_BEEP static int enable_beep = 1; -#endif module_param(index, int, 0444); MODULE_PARM_DESC(index, "Index value for " CHIP_NAME " soundchip."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param(id, charp, 0444); MODULE_PARM_DESC(id, "ID string for " CHIP_NAME " soundchip."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); -/* module_param(enable, bool, 0444); - MODULE_PARM_DESC(enable, "Enable this soundchip."); - MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); */ -#ifdef PMAC_SUPPORT_PCM_BEEP module_param(enable_beep, bool, 0444); MODULE_PARM_DESC(enable_beep, "Enable beep using PCM."); -MODULE_PARM_SYNTAX(enable_beep, SNDRV_ENABLED "," SNDRV_BOOLEAN_TRUE_DESC); -#endif /* @@ -133,10 +121,8 @@ static int __init snd_pmac_probe(void) goto __error; chip->initialized = 1; -#ifdef PMAC_SUPPORT_PCM_BEEP if (enable_beep) snd_pmac_attach_beep(chip); -#endif if ((err = snd_card_register(card)) < 0) goto __error; @@ -151,18 +137,14 @@ __error: /* - * MODULE sutff + * MODULE stuff */ static int __init alsa_card_pmac_init(void) { int err; - if ((err = snd_pmac_probe()) < 0) { -#ifdef MODULE - printk(KERN_ERR "no PMac soundchip found\n"); -#endif + if ((err = snd_pmac_probe()) < 0) return err; - } return 0; } diff --git a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c index 42b55b600..3fa41ffe2 100644 --- a/sound/ppc/tumbler.c +++ b/sound/ppc/tumbler.c @@ -16,6 +16,11 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Rene Rebe : + * * update from shadow registers on wakeup and headphone plug + * * automatically toggle DRC on headphone plug + * */ @@ -36,8 +41,6 @@ #include "pmac.h" #include "tumbler_volume.h" -#define chip_t pmac_t - /* i2c address for tumbler */ #define TAS_I2C_ADDR 0x34 @@ -758,12 +761,6 @@ static snd_kcontrol_new_t tumbler_mixers[] __initdata = { DEFINE_MONO("Tone Control - Bass", bass), DEFINE_MONO("Tone Control - Treble", treble), DEFINE_MONO("PCM Playback Volume", pcm), - { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DRC Switch", - .info = snd_pmac_boolean_mono_info, - .get = tumbler_get_drc_switch, - .put = tumbler_put_drc_switch - }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "DRC Range", .info = tumbler_info_drc_value, @@ -790,12 +787,6 @@ static snd_kcontrol_new_t snapper_mixers[] __initdata = { DEFINE_SNAPPER_MIX("Monitor Mix Volume", 0, VOL_IDX_ADC), DEFINE_SNAPPER_MONO("Tone Control - Bass", bass), DEFINE_SNAPPER_MONO("Tone Control - Treble", treble), - { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "DRC Switch", - .info = snd_pmac_boolean_mono_info, - .get = tumbler_get_drc_switch, - .put = tumbler_put_drc_switch - }, { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "DRC Range", .info = tumbler_info_drc_value, @@ -826,6 +817,14 @@ static snd_kcontrol_new_t tumbler_speaker_sw __initdata = { .put = tumbler_put_mute_switch, .private_value = TUMBLER_MUTE_AMP, }; +static snd_kcontrol_new_t tumbler_drc_sw __initdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "DRC Switch", + .info = snd_pmac_boolean_mono_info, + .get = tumbler_get_drc_switch, + .put = tumbler_put_drc_switch +}; + #ifdef PMAC_SUPPORT_AUTOMUTE /* @@ -847,6 +846,29 @@ static void check_mute(pmac_t *chip, pmac_gpio_t *gp, int val, int do_notify, sn } } +static struct work_struct device_change; + +static void +device_change_handler(void *self) +{ + pmac_t *chip = (pmac_t*) self; + pmac_tumbler_t *mix; + + if (!chip) + return; + + mix = chip->mixer_data; + + /* first set the DRC so the speaker do not explode -ReneR */ + if (chip->model == PMAC_TUMBLER) + tumbler_set_drc(mix); + else + snapper_set_drc(mix); + + /* reset the master volume so the correct amplification is applied */ + tumbler_set_master_volume(mix); +} + static void tumbler_update_automute(pmac_t *chip, int do_notify) { if (chip->auto_mute) { @@ -856,14 +878,25 @@ static void tumbler_update_automute(pmac_t *chip, int do_notify) /* mute speaker */ check_mute(chip, &mix->amp_mute, 1, do_notify, chip->speaker_sw_ctl); check_mute(chip, &mix->hp_mute, 0, do_notify, chip->master_sw_ctl); + mix->drc_enable = 0; + } else { /* unmute speaker */ check_mute(chip, &mix->amp_mute, 0, do_notify, chip->speaker_sw_ctl); check_mute(chip, &mix->hp_mute, 1, do_notify, chip->master_sw_ctl); + mix->drc_enable = 1; } - if (do_notify) + if (do_notify) { snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, &chip->hp_detect_ctl->id); + snd_ctl_notify(chip->card, SNDRV_CTL_EVENT_MASK_VALUE, + &chip->drc_sw_ctl->id); + } + + /* finally we need to schedule an update of the mixer values + (master and DRC are enough for now) -ReneR */ + schedule_work(&device_change); + } } #endif /* PMAC_SUPPORT_AUTOMUTE */ @@ -872,7 +905,7 @@ static void tumbler_update_automute(pmac_t *chip, int do_notify) /* interrupt - headphone plug changed */ static irqreturn_t headphone_intr(int irq, void *devid, struct pt_regs *regs) { - pmac_t *chip = snd_magic_cast(pmac_t, devid, return IRQ_NONE); + pmac_t *chip = devid; if (chip->update_automute && chip->initialized) { chip->update_automute(chip, 1); return IRQ_HANDLED; @@ -1114,11 +1147,17 @@ int __init snd_pmac_tumbler_init(pmac_t *chip) chip->speaker_sw_ctl = snd_ctl_new1(&tumbler_speaker_sw, chip); if ((err = snd_ctl_add(chip->card, chip->speaker_sw_ctl)) < 0) return err; + chip->drc_sw_ctl = snd_ctl_new1(&tumbler_drc_sw, chip); + if ((err = snd_ctl_add(chip->card, chip->drc_sw_ctl)) < 0) + return err; + #ifdef CONFIG_PMAC_PBOOK chip->resume = tumbler_resume; #endif + INIT_WORK(&device_change, device_change_handler, (void *)chip); + #ifdef PMAC_SUPPORT_AUTOMUTE if (mix->headphone_irq >=0 && (err = snd_pmac_add_automute(chip)) < 0) return err; diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c index 993d0fb7a..aa14c340d 100644 --- a/sound/sparc/amd7930.c +++ b/sound/sparc/amd7930.c @@ -54,18 +54,14 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sun AMD7930 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sun AMD7930 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sun AMD7930 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); MODULE_AUTHOR("Thomas K. Dyas and David S. Miller"); MODULE_DESCRIPTION("Sun AMD7930"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Sun,AMD7930}}"); +MODULE_SUPPORTED_DEVICE("{{Sun,AMD7930}}"); /* Device register layout. */ @@ -318,7 +314,7 @@ struct amd7930_map { typedef struct snd_amd7930 { spinlock_t lock; - unsigned long regs; + void __iomem *regs; u32 flags; #define AMD7930_FLAG_PLAYBACK 0x00000001 #define AMD7930_FLAG_CAPTURE 0x00000002 @@ -345,7 +341,6 @@ typedef struct snd_amd7930 { unsigned int regs_size; struct snd_amd7930 *next; } amd7930_t; -#define chip_t amd7930_t static amd7930_t *amd7930_list; @@ -475,7 +470,6 @@ static __const__ __u16 ger_coeff[] = { 0x000b, /* 16.9 dB */ 0x000f /* 18. dB */ }; -#define NR_GER_COEFFS (sizeof(ger_coeff) / sizeof(ger_coeff[0])) /* Update amd7930_map settings and program them into the hardware. * The amd->lock is held and local interrupts are disabled. @@ -487,7 +481,7 @@ static void __amd7930_update_map(amd7930_t *amd) map->gx = gx_coeff[amd->rgain]; map->stgr = gx_coeff[amd->mgain]; - level = (amd->pgain * (256 + NR_GER_COEFFS)) >> 8; + level = (amd->pgain * (256 + ARRAY_SIZE(ger_coeff))) >> 8; if (level >= 256) { map->ger = ger_coeff[level - 256]; map->gr = gx_coeff[255]; @@ -764,7 +758,7 @@ static snd_pcm_ops_t snd_amd7930_capture_ops = { static void snd_amd7930_pcm_free(snd_pcm_t *pcm) { - amd7930_t *amd = snd_magic_cast(amd7930_t, pcm->private_data, return); + amd7930_t *amd = pcm->private_data; amd->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); @@ -916,8 +910,6 @@ static snd_kcontrol_new_t amd7930_controls[] __initdata = { }, }; -#define NUM_AMD7930_CONTROLS (sizeof(amd7930_controls)/sizeof(snd_kcontrol_new_t)) - static int __init snd_amd7930_mixer(amd7930_t *amd) { snd_card_t *card; @@ -928,7 +920,7 @@ static int __init snd_amd7930_mixer(amd7930_t *amd) card = amd->card; strcpy(card->mixername, card->shortname); - for (idx = 0; idx < NUM_AMD7930_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(amd7930_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&amd7930_controls[idx], amd))) < 0) return err; @@ -947,14 +939,14 @@ static int snd_amd7930_free(amd7930_t *amd) if (amd->regs) sbus_iounmap(amd->regs, amd->regs_size); - snd_magic_kfree(amd); + kfree(amd); return 0; } static int snd_amd7930_dev_free(snd_device_t *device) { - amd7930_t *amd = snd_magic_cast(amd7930_t, device->device_data, return -ENXIO); + amd7930_t *amd = device->device_data; return snd_amd7930_free(amd); } @@ -976,7 +968,7 @@ static int __init snd_amd7930_create(snd_card_t *card, int err; *ramd = NULL; - amd = snd_magic_kcalloc(amd7930_t, 0, GFP_KERNEL); + amd = kcalloc(1, sizeof(*amd), GFP_KERNEL); if (amd == NULL) return -ENOMEM; diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c index 00a845e28..f084dc121 100644 --- a/sound/sparc/cs4231.c +++ b/sound/sparc/cs4231.c @@ -53,22 +53,18 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable Sun CS4231 soundcard."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); MODULE_AUTHOR("Jaroslav Kysela, Derrick J. Brashear and David S. Miller"); MODULE_DESCRIPTION("Sun CS4231"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Sun,CS4231}}"); +MODULE_SUPPORTED_DEVICE("{{Sun,CS4231}}"); typedef struct snd_cs4231 { spinlock_t lock; - unsigned long port; + void __iomem *port; #ifdef EBUS_SUPPORT struct ebus_dma_info eb2c; struct ebus_dma_info eb2p; @@ -112,7 +108,6 @@ typedef struct snd_cs4231 { unsigned int regs_size; struct snd_cs4231 *next; } cs4231_t; -#define chip_t cs4231_t static cs4231_t *cs4231_list; @@ -362,7 +357,7 @@ static unsigned char snd_cs4231_original_image[32] = 0x00, /* 1f/31 - cbrl */ }; -static u8 __cs4231_readb(cs4231_t *cp, unsigned long reg_addr) +static u8 __cs4231_readb(cs4231_t *cp, void __iomem *reg_addr) { #ifdef EBUS_SUPPORT if (cp->flags & CS4231_FLAG_EBUS) { @@ -377,7 +372,7 @@ static u8 __cs4231_readb(cs4231_t *cp, unsigned long reg_addr) #endif } -static void __cs4231_writeb(cs4231_t *cp, u8 val, unsigned long reg_addr) +static void __cs4231_writeb(cs4231_t *cp, u8 val, void __iomem *reg_addr) { #ifdef EBUS_SUPPORT if (cp->flags & CS4231_FLAG_EBUS) { @@ -556,7 +551,7 @@ static void snd_cs4231_mce_up(cs4231_t *chip) chip->mce_bit |= CS4231_MCE; timeout = __cs4231_readb(chip, CS4231P(chip, REGSEL)); if (timeout == 0x80) - snd_printk("mce_up [0x%lx]: serious init problem - codec still busy\n", chip->port); + snd_printk("mce_up [%p]: serious init problem - codec still busy\n", chip->port); if (!(timeout & CS4231_MCE)) __cs4231_writeb(chip, chip->mce_bit | (timeout & 0x1f), CS4231P(chip, REGSEL)); spin_unlock_irqrestore(&chip->lock, flags); @@ -581,7 +576,7 @@ static void snd_cs4231_mce_down(cs4231_t *chip) timeout = __cs4231_readb(chip, CS4231P(chip, REGSEL)); __cs4231_writeb(chip, chip->mce_bit | (timeout & 0x1f), CS4231P(chip, REGSEL)); if (timeout == 0x80) - snd_printk("mce_down [0x%lx]: serious init problem - codec still busy\n", chip->port); + snd_printk("mce_down [%p]: serious init problem - codec still busy\n", chip->port); if ((timeout & CS4231_MCE) == 0) { spin_unlock_irqrestore(&chip->lock, flags); return; @@ -1232,7 +1227,7 @@ static void snd_cs4231_generic_interrupt(cs4231_t *chip) #ifdef SBUS_SUPPORT static irqreturn_t snd_cs4231_sbus_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - cs4231_t *chip = snd_magic_cast(cs4231_t, dev_id, return); + cs4231_t *chip = dev_id; u32 csr; csr = sbus_readl(chip->port + APCCSR); @@ -1256,7 +1251,7 @@ static irqreturn_t snd_cs4231_sbus_interrupt(int irq, void *dev_id, struct pt_re #ifdef EBUS_SUPPORT static void snd_cs4231_ebus_play_callback(struct ebus_dma_info *p, int event, void *cookie) { - cs4231_t *chip = snd_magic_cast(cs4231_t, cookie, return); + cs4231_t *chip = cookie; if (chip->image[CS4231_IFACE_CTRL] & CS4231_PLAYBACK_ENABLE) { snd_pcm_period_elapsed(chip->playback_substream); @@ -1267,7 +1262,7 @@ static void snd_cs4231_ebus_play_callback(struct ebus_dma_info *p, int event, vo static void snd_cs4231_ebus_capture_callback(struct ebus_dma_info *p, int event, void *cookie) { - cs4231_t *chip = snd_magic_cast(cs4231_t, cookie, return); + cs4231_t *chip = cookie; if (chip->image[CS4231_IFACE_CTRL] & CS4231_RECORD_ENABLE) { snd_pcm_period_elapsed(chip->capture_substream); @@ -1547,7 +1542,7 @@ static snd_pcm_ops_t snd_cs4231_capture_ops = { static void snd_cs4231_pcm_free(snd_pcm_t *pcm) { - cs4231_t *chip = snd_magic_cast(cs4231_t, pcm->private_data, return); + cs4231_t *chip = pcm->private_data; chip->pcm = NULL; snd_pcm_lib_preallocate_free_for_all(pcm); } @@ -1592,7 +1587,7 @@ int snd_cs4231_pcm(cs4231_t *chip) static void snd_cs4231_timer_free(snd_timer_t *timer) { - cs4231_t *chip = snd_magic_cast(cs4231_t, timer->private_data, return); + cs4231_t *chip = timer->private_data; chip->timer = NULL; } @@ -1821,8 +1816,6 @@ int snd_cs4231_put_double(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontr return change; } -#define CS4231_CONTROLS (sizeof(snd_cs4231_controls)/sizeof(snd_kcontrol_new_t)) - #define CS4231_SINGLE(xname, xindex, reg, shift, mask, invert) \ { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = xname, .index = xindex, \ .info = snd_cs4231_info_single, \ @@ -1875,7 +1868,7 @@ int snd_cs4231_mixer(cs4231_t *chip) strcpy(card->mixername, chip->pcm->name); - for (idx = 0; idx < CS4231_CONTROLS; idx++) { + for (idx = 0; idx < ARRAY_SIZE(snd_cs4231_controls); idx++) { if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_cs4231_controls[idx], chip))) < 0) @@ -1950,14 +1943,14 @@ static int snd_cs4231_sbus_free(cs4231_t *chip) if (chip->timer) snd_device_free(chip->card, chip->timer); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4231_sbus_dev_free(snd_device_t *device) { - cs4231_t *cp = snd_magic_cast(cs4231_t, device->device_data, return -ENXIO); + cs4231_t *cp = device->device_data; return snd_cs4231_sbus_free(cp); } @@ -1975,7 +1968,7 @@ static int __init snd_cs4231_sbus_create(snd_card_t *card, int err; *rchip = NULL; - chip = snd_magic_kcalloc(cs4231_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -2064,14 +2057,14 @@ static int snd_cs4231_ebus_free(cs4231_t *chip) if (chip->timer) snd_device_free(chip->card, chip->timer); - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_cs4231_ebus_dev_free(snd_device_t *device) { - cs4231_t *cp = snd_magic_cast(cs4231_t, device->device_data, return -ENXIO); + cs4231_t *cp = device->device_data; return snd_cs4231_ebus_free(cp); } @@ -2089,7 +2082,7 @@ static int __init snd_cs4231_ebus_create(snd_card_t *card, int err; *rchip = NULL; - chip = snd_magic_kcalloc(cs4231_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (chip == NULL) return -ENOMEM; @@ -2114,9 +2107,9 @@ static int __init snd_cs4231_ebus_create(snd_card_t *card, chip->eb2p.client_cookie = chip; chip->eb2p.irq = edev->irqs[1]; - chip->port = (unsigned long) ioremap(edev->resource[0].start, 0x10); - chip->eb2p.regs = (unsigned long) ioremap(edev->resource[1].start, 0x10); - chip->eb2c.regs = (unsigned long) ioremap(edev->resource[2].start, 0x10); + chip->port = ioremap(edev->resource[0].start, 0x10); + chip->eb2p.regs = ioremap(edev->resource[1].start, 0x10); + chip->eb2c.regs = ioremap(edev->resource[2].start, 0x10); if (!chip->port || !chip->eb2p.regs || !chip->eb2c.regs) { snd_cs4231_ebus_free(chip); snd_printk("cs4231-%d: Unable to map chip registers.\n", dev); diff --git a/sound/synth/emux/emux_oss.c b/sound/synth/emux/emux_oss.c index 979252146..5272f4ac8 100644 --- a/sound/synth/emux/emux_oss.c +++ b/sound/synth/emux/emux_oss.c @@ -108,7 +108,7 @@ snd_emux_open_seq_oss(snd_seq_oss_arg_t *arg, void *closure) snd_seq_port_callback_t callback; char tmpname[64]; - emu = snd_magic_cast(snd_emux_t, closure, return -EINVAL); + emu = closure; snd_assert(arg != NULL && emu != NULL, return -ENXIO); down(&emu->register_mutex); @@ -179,7 +179,7 @@ snd_emux_close_seq_oss(snd_seq_oss_arg_t *arg) snd_emux_port_t *p; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -208,7 +208,7 @@ snd_emux_load_patch_seq_oss(snd_seq_oss_arg_t *arg, int format, int rc; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -248,7 +248,7 @@ snd_emux_ioctl_seq_oss(snd_seq_oss_arg_t *arg, unsigned int cmd, unsigned long i snd_emux_t *emu; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); emu = p->emu; @@ -278,7 +278,7 @@ snd_emux_reset_seq_oss(snd_seq_oss_arg_t *arg) snd_emux_port_t *p; snd_assert(arg != NULL, return -ENXIO); - p = snd_magic_cast(snd_emux_port_t, arg->private_data, return -EINVAL); + p = arg->private_data; snd_assert(p != NULL, return -ENXIO); snd_emux_reset_port(p); return 0; @@ -296,7 +296,7 @@ snd_emux_event_oss_input(snd_seq_event_t *ev, int direct, void *private_data, snd_emux_port_t *p; unsigned char cmd, *data; - p = snd_magic_cast(snd_emux_port_t, private_data, return -EINVAL); + p = private_data; snd_assert(p != NULL, return -EINVAL); emu = p->emu; snd_assert(emu != NULL, return -EINVAL); @@ -339,9 +339,11 @@ emuspec_control(snd_emux_t *emu, snd_emux_port_t *port, int cmd, p2 = *(short *) &event[6]; switch (cmd) { +#if 0 /* don't do this atomically */ case _EMUX_OSS_REMOVE_LAST_SAMPLES: snd_soundfont_remove_unlocked(emu->sflist); break; +#endif case _EMUX_OSS_SEND_EFFECT: if (chan) snd_emux_send_effect_oss(port, chan, p1, p2); diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c index 6d5197c93..1f3548c5d 100644 --- a/sound/usb/usbaudio.c +++ b/sound/usb/usbaudio.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002 by Takashi Iwai * - * Many codes borrowed from audio.c by + * Many codes borrowed from audio.c by * Alan Cox (alan@lxorguk.ukuu.org.uk) * Thomas Sailer (sailer@ife.ee.ethz.ch) * @@ -58,8 +58,7 @@ MODULE_AUTHOR("Takashi Iwai "); MODULE_DESCRIPTION("USB Audio"); MODULE_LICENSE("GPL"); -MODULE_CLASSES("{sound}"); -MODULE_DEVICES("{{Generic,USB Audio}}"); +MODULE_SUPPORTED_DEVICE("{{Generic,USB Audio}}"); static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */ @@ -73,25 +72,18 @@ static int boot_devs; module_param_array(index, int, boot_devs, 0444); MODULE_PARM_DESC(index, "Index value for the USB audio adapter."); -MODULE_PARM_SYNTAX(index, SNDRV_INDEX_DESC); module_param_array(id, charp, boot_devs, 0444); MODULE_PARM_DESC(id, "ID string for the USB audio adapter."); -MODULE_PARM_SYNTAX(id, SNDRV_ID_DESC); module_param_array(enable, bool, boot_devs, 0444); MODULE_PARM_DESC(enable, "Enable USB audio adapter."); -MODULE_PARM_SYNTAX(enable, SNDRV_ENABLE_DESC); module_param_array(vid, int, boot_devs, 0444); MODULE_PARM_DESC(vid, "Vendor ID for the USB audio device."); -MODULE_PARM_SYNTAX(vid, SNDRV_ENABLED ",allows:{{-1,0xffff}},base:16"); module_param_array(pid, int, boot_devs, 0444); MODULE_PARM_DESC(pid, "Product ID for the USB audio device."); -MODULE_PARM_SYNTAX(pid, SNDRV_ENABLED ",allows:{{-1,0xffff}},base:16"); module_param(nrpacks, int, 0444); MODULE_PARM_DESC(nrpacks, "Max. number of packets per URB."); -MODULE_PARM_SYNTAX(nrpacks, SNDRV_ENABLED ",allows:{{1,10}}"); module_param(async_unlink, bool, 0444); MODULE_PARM_DESC(async_unlink, "Use async unlink mode."); -MODULE_PARM_SYNTAX(async_unlink, SNDRV_BOOLEAN_TRUE_DESC); /* @@ -104,7 +96,7 @@ MODULE_PARM_SYNTAX(async_unlink, SNDRV_BOOLEAN_TRUE_DESC); * */ -#define MAX_PACKS 10 +#define MAX_PACKS 10 #define MAX_PACKS_HS (MAX_PACKS * 8) /* in high speed mode */ #define MAX_URBS 5 /* max. 20ms long packets */ #define SYNC_URBS 2 /* always two urbs for sync */ @@ -207,8 +199,6 @@ struct snd_usb_stream { struct list_head list; }; -#define chip_t snd_usb_stream_t - /* * we keep the snd_usb_audio_t instances by ourselves for merging @@ -354,7 +344,7 @@ static int prepare_capture_urb(snd_usb_substream_t *subs, if (! urb->bandwidth) { int bustime; bustime = usb_check_bandwidth(urb->dev, urb); - if (bustime < 0) + if (bustime < 0) return bustime; printk("urb %d: bandwidth = %d (packets = %d)\n", ctx->index, bustime, urb->number_of_packets); usb_claim_bandwidth(urb->dev, urb, bustime, 1); @@ -826,7 +816,7 @@ static int start_urbs(snd_usb_substream_t *subs, snd_pcm_runtime_t *runtime) } -/* +/* * wait until all urbs are processed. */ static int wait_clear_urbs(snd_usb_substream_t *subs) @@ -1148,7 +1138,7 @@ static int init_usb_pitch(struct usb_device *dev, int iface, if (fmt->attributes & EP_CS_ATTR_PITCH_CONTROL) { data[0] = 1; if ((err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, - USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, PITCH_CONTROL << 8, ep, data, 1, HZ)) < 0) { snd_printk(KERN_ERR "%d:%d:%d: cannot set enable PITCH\n", dev->devnum, iface, ep); @@ -1174,7 +1164,7 @@ static int init_usb_sample_rate(struct usb_device *dev, int iface, data[1] = rate >> 8; data[2] = rate >> 16; if ((err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), SET_CUR, - USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, + USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_OUT, SAMPLING_FREQ_CONTROL << 8, ep, data, 3, HZ)) < 0) { snd_printk(KERN_ERR "%d:%d:%d: cannot set freq %d to ep 0x%x\n", dev->devnum, iface, fmt->altsetting, rate, ep); @@ -1183,9 +1173,9 @@ static int init_usb_sample_rate(struct usb_device *dev, int iface, if ((err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), GET_CUR, USB_TYPE_CLASS|USB_RECIP_ENDPOINT|USB_DIR_IN, SAMPLING_FREQ_CONTROL << 8, ep, data, 3, HZ)) < 0) { - snd_printk(KERN_ERR "%d:%d:%d: cannot get freq at ep 0x%x\n", + snd_printk(KERN_WARNING "%d:%d:%d: cannot get freq at ep 0x%x\n", dev->devnum, iface, fmt->altsetting, ep); - return err; + return 0; /* some devices don't support reading */ } crate = data[0] | (data[1] << 8) | (data[2] << 16); if (crate != rate) { @@ -1323,7 +1313,7 @@ static int snd_usb_hw_params(snd_pcm_substream_t *substream, ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(hw_params)); if (ret < 0) return ret; - + format = params_format(hw_params); rate = params_rate(hw_params); channels = params_channels(hw_params); @@ -1482,7 +1472,7 @@ static int hw_rule_rate(snd_pcm_hw_params_t *params, snd_interval_t *it = hw_param_interval(params, SNDRV_PCM_HW_PARAM_RATE); unsigned int rmin, rmax; int changed; - + hwc_debug("hw_rule_rate: (%d,%d)\n", it->min, it->max); changed = 0; rmin = rmax = 0; @@ -1536,7 +1526,7 @@ static int hw_rule_channels(snd_pcm_hw_params_t *params, snd_interval_t *it = hw_param_interval(params, SNDRV_PCM_HW_PARAM_CHANNELS); unsigned int rmin, rmax; int changed; - + hwc_debug("hw_rule_channels: (%d,%d)\n", it->min, it->max); changed = 0; rmin = rmax = 0; @@ -1590,7 +1580,7 @@ static int hw_rule_format(snd_pcm_hw_params_t *params, u64 fbits; u32 oldbits[2]; int changed; - + hwc_debug("hw_rule_format: %x:%x\n", fmt->bits[0], fmt->bits[1]); fbits = 0; list_for_each(p, &subs->fmt_list) { @@ -1734,13 +1724,13 @@ static int setup_hw_info(snd_pcm_runtime_t *runtime, snd_usb_substream_t *subs) if (check_hw_params_convention(subs)) { hwc_debug("setting extra hw constraints...\n"); - if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, + if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_RATE, hw_rule_rate, subs, SNDRV_PCM_HW_PARAM_FORMAT, SNDRV_PCM_HW_PARAM_CHANNELS, -1)) < 0) return err; - if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, + if ((err = snd_pcm_hw_rule_add(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, hw_rule_channels, subs, SNDRV_PCM_HW_PARAM_FORMAT, SNDRV_PCM_HW_PARAM_RATE, @@ -2001,8 +1991,8 @@ static void proc_dump_substream_status(snd_usb_substream_t *subs, snd_info_buffe static void proc_pcm_format_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - snd_usb_stream_t *stream = snd_magic_cast(snd_usb_stream_t, entry->private_data, return); - + snd_usb_stream_t *stream = entry->private_data; + snd_iprintf(buffer, "%s : %s\n", stream->chip->card->longname, stream->pcm->name); if (stream->substream[SNDRV_PCM_STREAM_PLAYBACK].num_formats) { @@ -2089,7 +2079,7 @@ static void snd_usb_audio_stream_free(snd_usb_stream_t *stream) free_substream(&stream->substream[0]); free_substream(&stream->substream[1]); list_del(&stream->list); - snd_magic_kfree(stream); + kfree(stream); } static void snd_usb_audio_pcm_free(snd_pcm_t *pcm) @@ -2146,7 +2136,7 @@ static int add_audio_endpoint(snd_usb_audio_t *chip, int stream, struct audiofor } /* create a new pcm */ - as = snd_magic_kmalloc(snd_usb_stream_t, 0, GFP_KERNEL); + as = kmalloc(sizeof(*as), GFP_KERNEL); if (! as) return -ENOMEM; memset(as, 0, sizeof(*as)); @@ -2158,13 +2148,13 @@ static int add_audio_endpoint(snd_usb_audio_t *chip, int stream, struct audiofor stream == SNDRV_PCM_STREAM_PLAYBACK ? 0 : 1, &pcm); if (err < 0) { - snd_magic_kfree(as); + kfree(as); return err; } as->pcm = pcm; pcm->private_data = as; pcm->private_free = snd_usb_audio_pcm_free; - pcm->info_flags = SNDRV_PCM_INFO_NONATOMIC_OPS; + pcm->info_flags = 0; if (chip->pcm_devs > 0) sprintf(pcm->name, "USB Audio #%d", chip->pcm_devs); else @@ -2181,6 +2171,24 @@ static int add_audio_endpoint(snd_usb_audio_t *chip, int stream, struct audiofor } +/* + * check if the device uses big-endian samples + */ +static int is_big_endian_format(struct usb_device *dev, struct audioformat *fp) +{ + /* M-Audio */ + if (dev->descriptor.idVendor == 0x0763) { + /* Quattro: captured data only */ + if (dev->descriptor.idProduct == 0x2001 && + fp->endpoint & USB_DIR_IN) + return 1; + /* Audiophile USB */ + if (dev->descriptor.idProduct == 0x2003) + return 1; + } + return 0; +} + /* * parse the audio format type I descriptor * and returns the corresponding pcm format @@ -2217,17 +2225,13 @@ static int parse_audio_format_i_type(struct usb_device *dev, struct audioformat pcm_format = SNDRV_PCM_FORMAT_S8; break; case 2: - /* M-Audio audiophile USB workaround */ - if (dev->descriptor.idVendor == 0x0763 && - dev->descriptor.idProduct == 0x2003) + if (is_big_endian_format(dev, fp)) pcm_format = SNDRV_PCM_FORMAT_S16_BE; /* grrr, big endian!! */ else pcm_format = SNDRV_PCM_FORMAT_S16_LE; break; case 3: - /* M-Audio audiophile USB workaround */ - if (dev->descriptor.idVendor == 0x0763 && - dev->descriptor.idProduct == 0x2003) + if (is_big_endian_format(dev, fp)) pcm_format = SNDRV_PCM_FORMAT_S24_3BE; /* grrr, big endian!! */ else pcm_format = SNDRV_PCM_FORMAT_S24_3LE; @@ -2281,7 +2285,7 @@ static int parse_audio_format_rates(struct usb_device *dev, struct audioformat * { int nr_rates = fmt[offset]; if (fmt[0] < offset + 1 + 3 * (nr_rates ? nr_rates : 2)) { - snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", + snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", dev->devnum, fp->iface, fp->altsetting); return -1; } @@ -2419,7 +2423,7 @@ static int parse_audio_format(struct usb_device *dev, struct audioformat *fp, } #endif return 0; -} +} static int parse_audio_endpoints(snd_usb_audio_t *chip, int iface_no) { @@ -2465,22 +2469,22 @@ static int parse_audio_endpoints(snd_usb_audio_t *chip, int iface_no) } if (fmt[0] < 7) { - snd_printk(KERN_ERR "%d:%u:%d : invalid AS_GENERAL desc\n", + snd_printk(KERN_ERR "%d:%u:%d : invalid AS_GENERAL desc\n", dev->devnum, iface_no, altno); continue; } format = (fmt[6] << 8) | fmt[5]; /* remember the format value */ - + /* get format type */ fmt = snd_usb_find_csint_desc(alts->extra, alts->extralen, NULL, FORMAT_TYPE); if (!fmt) { - snd_printk(KERN_ERR "%d:%u:%d : no FORMAT_TYPE desc\n", + snd_printk(KERN_ERR "%d:%u:%d : no FORMAT_TYPE desc\n", dev->devnum, iface_no, altno); continue; } if (fmt[0] < 8) { - snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", + snd_printk(KERN_ERR "%d:%u:%d : invalid FORMAT_TYPE desc\n", dev->devnum, iface_no, altno); continue; } @@ -2490,7 +2494,7 @@ static int parse_audio_endpoints(snd_usb_audio_t *chip, int iface_no) if (!csep && altsd->bNumEndpoints >= 2) csep = snd_usb_find_desc(alts->endpoint[1].extra, alts->endpoint[1].extralen, NULL, USB_DT_CS_ENDPOINT); if (!csep || csep[0] < 7 || csep[2] != EP_GENERAL) { - snd_printk(KERN_ERR "%d:%u:%d : no or invalid class specific endpoint descriptor\n", + snd_printk(KERN_ERR "%d:%u:%d : no or invalid class specific endpoint descriptor\n", dev->devnum, iface_no, altno); continue; } @@ -2920,14 +2924,14 @@ static int snd_usb_create_quirk(snd_usb_audio_t *chip, */ static void proc_audio_usbbus_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - snd_usb_audio_t *chip = snd_magic_cast(snd_usb_audio_t, entry->private_data, return); + snd_usb_audio_t *chip = entry->private_data; if (! chip->shutdown) snd_iprintf(buffer, "%03d/%03d\n", chip->dev->bus->busnum, chip->dev->devnum); } static void proc_audio_usbid_read(snd_info_entry_t *entry, snd_info_buffer_t *buffer) { - snd_usb_audio_t *chip = snd_magic_cast(snd_usb_audio_t, entry->private_data, return); + snd_usb_audio_t *chip = entry->private_data; if (! chip->shutdown) snd_iprintf(buffer, "%04x:%04x\n", chip->dev->descriptor.idVendor, chip->dev->descriptor.idProduct); } @@ -2950,13 +2954,13 @@ static void snd_usb_audio_create_proc(snd_usb_audio_t *chip) static int snd_usb_audio_free(snd_usb_audio_t *chip) { - snd_magic_kfree(chip); + kfree(chip); return 0; } static int snd_usb_audio_dev_free(snd_device_t *device) { - snd_usb_audio_t *chip = snd_magic_cast(snd_usb_audio_t, device->device_data, return -ENXIO); + snd_usb_audio_t *chip = device->device_data; return snd_usb_audio_free(chip); } @@ -2975,7 +2979,7 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx, static snd_device_ops_t ops = { .dev_free = snd_usb_audio_dev_free, }; - + *rchip = NULL; if (snd_usb_get_speed(dev) != USB_SPEED_FULL && @@ -2990,7 +2994,7 @@ static int snd_usb_audio_create(struct usb_device *dev, int idx, return -ENOMEM; } - chip = snd_magic_kcalloc(snd_usb_audio_t, 0, GFP_KERNEL); + chip = kcalloc(1, sizeof(*chip), GFP_KERNEL); if (! chip) { snd_card_free(card); return -ENOMEM; @@ -3171,7 +3175,7 @@ static void *snd_usb_audio_probe(struct usb_device *dev, /* * we need to take care of counter, since disconnection can be called also - * many times as well as usb_audio_probe(). + * many times as well as usb_audio_probe(). */ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr) { @@ -3182,7 +3186,7 @@ static void snd_usb_audio_disconnect(struct usb_device *dev, void *ptr) if (ptr == (void *)-1L) return; - chip = snd_magic_cast(snd_usb_audio_t, ptr, return); + chip = ptr; card = chip->card; down(®ister_mutex); chip->shutdown = 1; diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h index 2fe29989e..627a40235 100644 --- a/sound/usb/usbaudio.h +++ b/sound/usb/usbaudio.h @@ -124,7 +124,6 @@ typedef struct snd_usb_audio snd_usb_audio_t; struct snd_usb_audio { - int index; struct usb_device *dev; snd_card_t *card; @@ -138,15 +137,17 @@ struct snd_usb_audio { int next_midi_device; unsigned int ignore_ctl_error; /* for mixer */ -}; +}; /* * Information about devices with broken descriptors */ +/* special values for .ifnum */ #define QUIRK_NO_INTERFACE -2 #define QUIRK_ANY_INTERFACE -1 +/* quirk type */ #define QUIRK_MIDI_FIXED_ENDPOINT 0 #define QUIRK_MIDI_YAMAHA 1 #define QUIRK_MIDI_MIDIMAN 2 @@ -205,6 +206,8 @@ int snd_usb_ctl_msg(struct usb_device *dev, unsigned int pipe, __u8 request, __u int snd_usb_create_mixer(snd_usb_audio_t *chip, int ctrlif); int snd_usb_create_midi_interface(snd_usb_audio_t *chip, struct usb_interface *iface, const snd_usb_audio_quirk_t *quirk); +void snd_usbmidi_input_stop(struct list_head* p); +void snd_usbmidi_input_start(struct list_head* p); void snd_usbmidi_disconnect(struct list_head *p, struct usb_driver *driver); /* diff --git a/sound/usb/usbmixer.c b/sound/usb/usbmixer.c index 13921f1f1..1d0aa0332 100644 --- a/sound/usb/usbmixer.c +++ b/sound/usb/usbmixer.c @@ -5,7 +5,7 @@ * * Copyright (c) 2002 by Takashi Iwai * - * Many codes borrowed from audio.c by + * Many codes borrowed from audio.c by * Alan Cox (alan@lxorguk.ukuu.org.uk) * Thomas Sailer (sailer@ife.ee.ethz.ch) * @@ -77,7 +77,7 @@ struct usb_mixer_elem_info { unsigned int ctrlif; unsigned int id; unsigned int control; /* CS or ICN (high byte) */ - unsigned int cmask; /* channel mask bitmap: 0 = master */ + unsigned int cmask; /* channel mask bitmap: 0 = master */ int channels; int val_type; int min, max, res; @@ -299,7 +299,7 @@ static int get_ctl_value(usb_mixer_elem_info_t *cval, int request, int validx, i unsigned char buf[2]; int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1; int timeout = 10; - + while (timeout-- > 0) { if (snd_usb_ctl_msg(cval->chip->dev, usb_rcvctrlpipe(cval->chip->dev, 0), request, @@ -334,7 +334,7 @@ static int set_ctl_value(usb_mixer_elem_info_t *cval, int request, int validx, i unsigned char buf[2]; int val_len = cval->val_type >= USB_MIXER_S16 ? 2 : 1; int timeout = 10; - + value_set = convert_bytes_value(cval, value_set); buf[0] = value_set & 0xff; buf[1] = (value_set >> 8) & 0xff; @@ -361,7 +361,7 @@ inline static int set_cur_mix_value(usb_mixer_elem_info_t *cval, int channel, in /* - * parser routines begin here... + * parser routines begin here... */ static int parse_audio_unit(mixer_build_t *state, int unitid); @@ -443,7 +443,7 @@ static struct iterm_name_combo { { 0x0712, "Multi-Track Recorder" }, { 0x0713, "Synthesizer" }, { 0 }, -}; +}; static int get_term_name(mixer_build_t *state, usb_audio_term_t *iterm, unsigned char *name, int maxlen, int term_only) @@ -573,7 +573,7 @@ static struct usb_feature_control_info audio_feature_info[] = { static void usb_mixer_elem_free(snd_kcontrol_t *kctl) { if (kctl->private_data) { - snd_magic_kfree((void *)kctl->private_data); + kfree((void *)kctl->private_data); kctl->private_data = NULL; } } @@ -615,7 +615,7 @@ static int get_min_max(usb_mixer_elem_info_t *cval, int default_min) cval->res = 1; } else { int last_valid_res = cval->res; - + while (cval->res > 1) { if (set_ctl_value(cval, SET_RES, (cval->control << 8) | minchn, cval->res / 2) < 0) break; @@ -634,8 +634,8 @@ static int get_min_max(usb_mixer_elem_info_t *cval, int default_min) /* get a feature/mixer unit info */ static int mixer_ctl_feature_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) -{ - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); +{ + usb_mixer_elem_info_t *cval = kcontrol->private_data; if (cval->val_type == USB_MIXER_BOOLEAN || cval->val_type == USB_MIXER_INV_BOOLEAN) @@ -659,7 +659,7 @@ static int mixer_ctl_feature_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t /* get the current value from feature/mixer unit */ static int mixer_ctl_feature_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int c, cnt, val, err; if (cval->cmask) { @@ -700,7 +700,7 @@ static int mixer_ctl_feature_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t /* put the current value to feature/mixer unit */ static int mixer_ctl_feature_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int c, cnt, val, oval, err; int changed = 0; @@ -774,7 +774,7 @@ static void build_feature_ctl(mixer_build_t *state, unsigned char *desc, if (check_ignored_ctl(state, unitid, control)) return; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); return; @@ -801,7 +801,7 @@ static void build_feature_ctl(mixer_build_t *state, unsigned char *desc, kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return; } kctl->private_free = usb_mixer_elem_free; @@ -914,7 +914,7 @@ static int parse_audio_feature_unit(mixer_build_t *state, int unitid, unsigned c if (master_bits & (1 << i)) build_feature_ctl(state, ftr, 0, i, &iterm, unitid); } - + return 0; } @@ -943,7 +943,7 @@ static void build_mixer_unit_ctl(mixer_build_t *state, unsigned char *desc, if (check_ignored_ctl(state, unitid, 0)) return; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) return; @@ -968,7 +968,7 @@ static void build_mixer_unit_ctl(mixer_build_t *state, unsigned char *desc, kctl = snd_ctl_new1(&usb_feature_unit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return; } kctl->private_free = usb_mixer_elem_free; @@ -1014,7 +1014,7 @@ static int parse_audio_mixer_unit(mixer_build_t *state, int unitid, unsigned cha /* get callback for processing/extension unit */ static int mixer_ctl_procunit_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int err, val; err = get_cur_ctl_value(cval, cval->control << 8, &val); @@ -1032,7 +1032,7 @@ static int mixer_ctl_procunit_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t /* put callback for processing/extension unit */ static int mixer_ctl_procunit_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int val, oval, err; err = get_cur_ctl_value(cval, cval->control << 8, &oval); @@ -1170,7 +1170,7 @@ static int build_audio_procunit(mixer_build_t *state, int unitid, unsigned char continue; if (check_ignored_ctl(state, unitid, valinfo->control)) continue; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); return -ENOMEM; @@ -1195,7 +1195,7 @@ static int build_audio_procunit(mixer_build_t *state, int unitid, unsigned char kctl = snd_ctl_new1(&mixer_procunit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } kctl->private_free = usb_mixer_elem_free; @@ -1243,8 +1243,8 @@ static int parse_audio_extension_unit(mixer_build_t *state, int unitid, unsigned * use an enumerator type for routing */ static int mixer_ctl_selector_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t *uinfo) -{ - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); +{ + usb_mixer_elem_info_t *cval = kcontrol->private_data; char **itemlist = (char **)kcontrol->private_value; snd_assert(itemlist, return -EINVAL); @@ -1260,7 +1260,7 @@ static int mixer_ctl_selector_info(snd_kcontrol_t *kcontrol, snd_ctl_elem_info_t /* get callback for selector unit */ static int mixer_ctl_selector_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int val, err; err = get_cur_ctl_value(cval, 0, &val); @@ -1279,7 +1279,7 @@ static int mixer_ctl_selector_get(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t /* put callback for selector unit */ static int mixer_ctl_selector_put(snd_kcontrol_t *kcontrol, snd_ctl_elem_value_t *ucontrol) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kcontrol->private_data, return -EINVAL); + usb_mixer_elem_info_t *cval = kcontrol->private_data; int val, oval, err; err = get_cur_ctl_value(cval, 0, &oval); @@ -1315,9 +1315,9 @@ static void usb_mixer_selector_elem_free(snd_kcontrol_t *kctl) int i, num_ins = 0; if (kctl->private_data) { - usb_mixer_elem_info_t *cval = snd_magic_cast(usb_mixer_elem_info_t, kctl->private_data,); + usb_mixer_elem_info_t *cval = kctl->private_data; num_ins = cval->max; - snd_magic_kfree(cval); + kfree(cval); kctl->private_data = NULL; } if (kctl->private_value) { @@ -1357,7 +1357,7 @@ static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned if (check_ignored_ctl(state, unitid, 0)) return 0; - cval = snd_magic_kcalloc(usb_mixer_elem_info_t, 0, GFP_KERNEL); + cval = kcalloc(1, sizeof(*cval), GFP_KERNEL); if (! cval) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); return -ENOMEM; @@ -1375,7 +1375,7 @@ static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned namelist = kmalloc(sizeof(char *) * num_ins, GFP_KERNEL); if (! namelist) { snd_printk(KERN_ERR "cannot malloc\n"); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } #define MAX_ITEM_NAME_LEN 64 @@ -1388,7 +1388,7 @@ static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned while (--i > 0) kfree(namelist[i]); kfree(namelist); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } if (check_input_term(state, desc[5 + i], &iterm) >= 0) @@ -1400,7 +1400,7 @@ static int parse_audio_selector_unit(mixer_build_t *state, int unitid, unsigned kctl = snd_ctl_new1(&mixer_selectunit_ctl, cval); if (! kctl) { snd_printk(KERN_ERR "cannot malloc kcontrol\n"); - snd_magic_kfree(cval); + kfree(cval); return -ENOMEM; } kctl->private_value = (unsigned long)namelist; diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 889798b2b..9cb6824b0 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h @@ -91,6 +91,31 @@ YAMAHA_DEVICE(0x1020, "EZ-250i"), YAMAHA_DEVICE(0x1021, "MOTIF ES 6"), YAMAHA_DEVICE(0x1022, "MOTIF ES 7"), YAMAHA_DEVICE(0x1023, "MOTIF ES 8"), +YAMAHA_DEVICE(0x1024, "CVP-301"), +YAMAHA_DEVICE(0x1025, "CVP-303"), +YAMAHA_DEVICE(0x1026, "CVP-305"), +YAMAHA_DEVICE(0x1027, "CVP-307"), +YAMAHA_DEVICE(0x1028, "CVP-309"), +YAMAHA_DEVICE(0x1029, "CVP-309GP"), +YAMAHA_DEVICE(0x102a, "PSR-1500"), +YAMAHA_DEVICE(0x102b, "PSR-3000"), +YAMAHA_DEVICE(0x102e, "ELS-01/01C"), +YAMAHA_DEVICE(0x1030, "PSR-295/293"), +YAMAHA_DEVICE(0x1031, "DGX-205/203"), +YAMAHA_DEVICE(0x1032, "DGX-305"), +YAMAHA_DEVICE(0x1033, "DGX-505"), +YAMAHA_DEVICE(0x1034, NULL), +YAMAHA_DEVICE(0x1035, NULL), +YAMAHA_DEVICE(0x1036, NULL), +YAMAHA_DEVICE(0x1037, NULL), +YAMAHA_DEVICE(0x1038, NULL), +YAMAHA_DEVICE(0x1039, NULL), +YAMAHA_DEVICE(0x103a, NULL), +YAMAHA_DEVICE(0x103b, NULL), +YAMAHA_DEVICE(0x103c, NULL), +YAMAHA_DEVICE(0x2000, "DGP-7"), +YAMAHA_DEVICE(0x2001, "DGP-5"), +YAMAHA_DEVICE(0x2002, NULL), YAMAHA_DEVICE(0x5000, "CS1D"), YAMAHA_DEVICE(0x5001, "DSP1D"), YAMAHA_DEVICE(0x5002, "DME32"), @@ -100,6 +125,11 @@ YAMAHA_DEVICE(0x5005, "ACU16-C"), YAMAHA_DEVICE(0x5006, "NHB32-C"), YAMAHA_DEVICE(0x5007, "DM1000"), YAMAHA_DEVICE(0x5008, "01V96"), +YAMAHA_DEVICE(0x500a, "PM5D"), +YAMAHA_DEVICE(0x500b, "DME64N"), +YAMAHA_DEVICE(0x500c, "DME24N"), +YAMAHA_DEVICE(0x7000, "DTX"), +YAMAHA_DEVICE(0x7010, "UB99"), #undef YAMAHA_DEVICE #undef YAMAHA_INTERFACE @@ -267,7 +297,8 @@ YAMAHA_DEVICE(0x5008, "01V96"), } }, { - /* thanks to Emiliano Grilli for helping researching this data */ + /* thanks to Emiliano Grilli + * for helping researching this data */ USB_DEVICE(0x0582, 0x000c), .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { .vendor_name = "Roland", @@ -830,11 +861,42 @@ YAMAHA_DEVICE(0x5008, "01V96"), .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { .vendor_name = "M-Audio", .product_name = "Quattro", - .ifnum = 9, - .type = QUIRK_MIDI_MIDIMAN, - .data = & (const snd_usb_midi_endpoint_info_t) { - .out_cables = 0x0001, - .in_cables = 0x0001 + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = & (const snd_usb_audio_quirk_t[]) { + /* + * Interfaces 0-2 are "Windows-compatible", 16-bit only, + * and share endpoints with the other interfaces. + * Ignore them. The other interfaces can do 24 bits, + * but captured samples are big-endian (see usbaudio.c). + */ + { + .ifnum = 4, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 5, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 7, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 8, + .type = QUIRK_AUDIO_STANDARD_INTERFACE + }, + { + .ifnum = 9, + .type = QUIRK_MIDI_MIDIMAN, + .data = & (const snd_usb_midi_endpoint_info_t) { + .out_cables = 0x0001, + .in_cables = 0x0001 + } + }, + { + .ifnum = -1 + } } } }, @@ -915,4 +977,19 @@ YAMAHA_DEVICE(0x5008, "01V96"), } }, +{ + /* + * Some USB MIDI devices don't have an audio control interface, + * so we have to grab MIDI streaming interfaces here. + */ + .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS | + USB_DEVICE_ID_MATCH_INT_SUBCLASS, + .bInterfaceClass = USB_CLASS_AUDIO, + .bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING, + .driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) { + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_MIDI_STANDARD_INTERFACE + } +}, + #undef USB_DEVICE_VENDOR_SPEC -- 2.47.0